[cig-commits] r7620 - in cs: . trunk trunk/apps-local trunk/apps-local/ant trunk/apps-local/ant/bin trunk/apps-local/ant/lib trunk/apps-local/apache-tomcat trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23 trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/conf trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/conf/Catalina trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/images trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib trunk/apps-local/apache-tomcat/bin trunk/apps-local/apache-tomcat/bin/jsvc-src trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache trunk/apps-local/apache-tomcat/bin/jsvc-src/man trunk/apps-local/apache-tomcat/bin/jsvc-src/native trunk/apps-local/apache-tomcat/bin/jsvc-src/support trunk/apps-local/apache-tomcat/common trunk/apps-local/apache-tomcat/common/i18n trunk/apps-local/apache-tomcat/common/lib trunk/apps-local/apache-tomcat/conf trunk/apps-local/apache-tomcat/conf/Catalina trunk/apps-local/apache-tomcat/conf/Catalina/localhost trunk/apps-local/apache-tomcat/logs trunk/apps-local/apache-tomcat/server trunk/apps-local/apache-tomcat/server/lib trunk/apps-local/apache-tomcat/server/webapps trunk/apps-local/apache-tomcat/server/webapps/admin trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib trunk/apps-local/apache-tomcat/server/webapps/admin/images trunk/apps-local/apache-tomcat/server/webapps/host-manager trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/lib trunk/apps-local/apache-tomcat/server/webapps/host-manager/images trunk/apps-local/apache-tomcat/server/webapps/manager trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib trunk/apps-local/apache-tomcat/server/webapps/manager/images trunk/apps-local/apache-tomcat/shared trunk/apps-local/apache-tomcat/shared/lib trunk/apps-local/apache-tomcat/temp trunk/apps-local/apache-tomcat/webapps trunk/apps-local/apache-tomcat/webapps/META-INF trunk/apps-local/apache-tomcat/webapps/ROOT trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/lib trunk/apps-local/apache-tomcat/webapps/ROOT/admin trunk/apps-local/apache-tomcat/webapps/WEB-INF trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/mypackage trunk/apps-local/apache-tomcat/webapps/WEB-INF/src trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage trunk/apps-local/apache-tomcat/webapps/balancer trunk/apps-local/apache-tomcat/webapps/balancer/META-INF trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/lib trunk/apps-local/apache-tomcat/webapps/gridsphere trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence trunk/apps-local/apache-tomcat/webapps/gridsphere/css trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo trunk/apps-local/apache-tomcat/webapps/gridsphere/html trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor trunk/apps-local/apache-tomcat/webapps/gridsphere/images trunk/apps-local/apache-tomcat/webapps/gridsphere/images/calendar trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup trunk/apps-local/apache-tomcat/webapps/gridsphere/themes trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons trunk/apps-local/apache-tomcat/webapps/images trunk/apps-local/apache-tomcat/webapps/images/CVS trunk/apps-local/apache-tomcat/webapps/jsp-examples trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2 trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/checkbox trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/colors trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/dates trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2 trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/num trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/plugin trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_ trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/sessions trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/simpletag trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/snp trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/xml trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2 trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates trunk/apps-local/apache-tomcat/webapps/jsp-examples/error trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward trunk/apps-local/apache-tomcat/webapps/jsp-examples/images trunk/apps-local/apache-tomcat/webapps/jsp-examples/include trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2 trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv trunk/apps-local/apache-tomcat/webapps/jsp-examples/num trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet trunk/apps-local/apache-tomcat/webapps/jsp-examples/security trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml trunk/apps-local/apache-tomcat/webapps/sample trunk/apps-local/apache-tomcat/webapps/sample/META-INF trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/mypackage trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage trunk/apps-local/apache-tomcat/webapps/sample/images trunk/apps-local/apache-tomcat/webapps/sample/images/CVS trunk/apps-local/apache-tomcat/webapps/servlets-examples trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util trunk/apps-local/apache-tomcat/webapps/servlets-examples/images trunk/apps-local/apache-tomcat/webapps/simplegrid_cig trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/images trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17 trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/images trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates trunk/apps-local/apache-tomcat/webapps/tomcat-docs trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/images trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/resources trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/resources trunk/apps-local/apache-tomcat/webapps/webdav trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF trunk/apps-local/apache-tomcat/work trunk/apps-local/apache-tomcat/work/Catalina trunk/apps-local/apache-tomcat/work/Catalina/localhost trunk/apps-local/apache-tomcat/work/Catalina/localhost/_ trunk/apps-local/apache-tomcat/work/Catalina/localhost/admin trunk/apps-local/apache-tomcat/work/Catalina/localhost/balancer trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup trunk/apps-local/apache-tomcat/work/Catalina/localhost/host-manager trunk/apps-local/apache-tomcat/work/Catalina/localhost/images trunk/apps-local/apache-tomcat/work/Catalina/localhost/jsp-examples trunk/apps-local/apache-tomcat/work/Catalina/localhost/manager trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp trunk/apps-local/apache-tomcat/work/Catalina/localhost/servlets-examples trunk/apps-local/apache-tomcat/work/Catalina/localhost/simplegrid_cig trunk/apps-local/apache-tomcat/work/Catalina/localhost/tomcat-docs trunk/apps-local/apache-tomcat/work/Catalina/localhost/webdav trunk/apps-local/gridsphere trunk/apps-local/gridsphere/build trunk/apps-local/gridsphere/build/classes trunk/apps-local/gridsphere/build/classes/gridsphere trunk/apps-local/gridsphere/build/classes/gridsphere/resources trunk/apps-local/gridsphere/build/classes/javax trunk/apps-local/gridsphere/build/classes/javax/portlet trunk/apps-local/gridsphere/build/classes/org trunk/apps-local/gridsphere/build/classes/org/gridsphere trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/about trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/config trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/content trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/layout trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/roles trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/users trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/date trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/locale trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/login trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/news trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/registration trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/rss trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/user trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator trunk/apps-local/gridsphere/build/classes/org/gridsphere/services trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/utils trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools trunk/apps-local/gridsphere/build/jsp trunk/apps-local/gridsphere/build/jsp/classes trunk/apps-local/gridsphere/build/jsp/classes/org trunk/apps-local/gridsphere/build/jsp/classes/org/apache trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/about trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/date trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/locale trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/logout trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup trunk/apps-local/gridsphere/build/jsp/source trunk/apps-local/gridsphere/build/jsp/source/org trunk/apps-local/gridsphere/build/jsp/source/org/apache trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup trunk/apps-local/gridsphere/build/lib trunk/apps-local/gridsphere/build/webapps trunk/apps-local/gridsphere/build/webapps/gridsphere trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence trunk/apps-local/gridsphere/build/webapps/gridsphere/css trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo trunk/apps-local/gridsphere/build/webapps/gridsphere/html trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor trunk/apps-local/gridsphere/build/webapps/gridsphere/images trunk/apps-local/gridsphere/build/webapps/gridsphere/images/calendar trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup trunk/apps-local/gridsphere/build/webapps/gridsphere/themes trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons trunk/apps-local/gridsphere/config trunk/apps-local/gridsphere/config/build trunk/apps-local/gridsphere/config/mapping trunk/apps-local/gridsphere/config/resources trunk/apps-local/gridsphere/config/template trunk/apps-local/gridsphere/lib trunk/apps-local/gridsphere/lib/licenses trunk/apps-local/gridsphere/src trunk/apps-local/gridsphere/src/javax trunk/apps-local/gridsphere/src/javax/portlet trunk/apps-local/gridsphere/src/org trunk/apps-local/gridsphere/src/org/gridsphere trunk/apps-local/gridsphere/src/org/gridsphere/layout trunk/apps-local/gridsphere/src/org/gridsphere/layout/event trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl trunk/apps-local/gridsphere/src/org/gridsphere/layout/view trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush trunk/apps-local/gridsphere/src/org/gridsphere/portlet trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types trunk/apps-local/gridsphere/src/org/gridsphere/portlets trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user trunk/apps-local/gridsphere/src/org/gridsphere/provider trunk/apps-local/gridsphere/src/org/gridsphere/provider/event trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator trunk/apps-local/gridsphere/src/org/gridsphere/services trunk/apps-local/gridsphere/src/org/gridsphere/services/core trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils trunk/apps-local/gridsphere/src/org/gridsphere/servlets trunk/apps-local/gridsphere/src/org/gridsphere/tools trunk/apps-local/gridsphere/webapps trunk/apps-local/gridsphere/webapps/gridsphere trunk/apps-local/gridsphere/webapps/gridsphere/META-INF trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ContentManagement trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence trunk/apps-local/gridsphere/webapps/gridsphere/css trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo trunk/apps-local/gridsphere/webapps/gridsphere/html trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor trunk/apps-local/gridsphere/webapps/gridsphere/images trunk/apps-local/gridsphere/webapps/gridsphere/images/calendar trunk/apps-local/gridsphere/webapps/gridsphere/images/flags trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor trunk/apps-local/gridsphere/webapps/gridsphere/javascript trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo trunk/apps-local/gridsphere/webapps/gridsphere/jsp trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup trunk/apps-local/gridsphere/webapps/gridsphere/themes trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons trunk/cigtg-dev trunk/cigtg-dev/SimpleGrid trunk/cigtg-dev/SimpleGrid/applications trunk/cigtg-dev/SimpleGrid/bin trunk/cigtg-dev/SimpleGrid/simplegrid trunk/cigtg-dev/SimpleGrid/simplegrid/.settings trunk/cigtg-dev/SimpleGrid/simplegrid/build trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/security trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/portlets trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib trunk/cigtg-dev/SimpleGrid/simplegrid/lib trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity trunk/cigtg-dev/SimpleGrid/simplegrid/lib/viz trunk/cigtg-dev/SimpleGrid/simplegrid/src trunk/cigtg-dev/SimpleGrid/simplegrid/src/org trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets trunk/cigtg-dev/SimpleGrid/simplegrid/webapp trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/images trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17 trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/images trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates trunk/cigtg-dev/SimpleGrid/test2 trunk/cigtg-dev/test

cigtg at geodynamics.org cigtg at geodynamics.org
Mon Jul 9 13:47:59 PDT 2007


Author: cigtg
Date: 2007-07-09 13:45:47 -0700 (Mon, 09 Jul 2007)
New Revision: 7620

Added:
   cs/branches/
   cs/tags/
   cs/trunk/
   cs/trunk/apps-local/
   cs/trunk/apps-local/ant/
   cs/trunk/apps-local/ant/bin/
   cs/trunk/apps-local/ant/bin/ant
   cs/trunk/apps-local/ant/bin/antRun
   cs/trunk/apps-local/ant/bin/antRun.pl
   cs/trunk/apps-local/ant/bin/complete-ant-cmd.pl
   cs/trunk/apps-local/ant/bin/runant.pl
   cs/trunk/apps-local/ant/lib/
   cs/trunk/apps-local/ant/lib/ant-bootstrap.jar
   cs/trunk/apps-local/ant/lib/ant-launcher.jar
   cs/trunk/apps-local/ant/lib/ant.jar
   cs/trunk/apps-local/ant/lib/catalina5.5-ant-jmx.jar
   cs/trunk/apps-local/ant/lib/catalina5.5-ant.jar
   cs/trunk/apps-local/ant/lib/tomcat5.5-jkstatus-ant.jar
   cs/trunk/apps-local/apache-tomcat/
   cs/trunk/apps-local/apache-tomcat/LICENSE
   cs/trunk/apps-local/apache-tomcat/NOTICE
   cs/trunk/apps-local/apache-tomcat/RELEASE-NOTES
   cs/trunk/apps-local/apache-tomcat/RUNNING.txt
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/LICENSE
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/NOTICE
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/RELEASE-NOTES
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/build.xml
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs/manual.html
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/images/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-ant.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-deployer.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-el.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-logging.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-compiler.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-runtime.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jsp-api.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/servlet-api.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/LICENSE
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/NOTICE
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/RELEASE-NOTES
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/conf/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/conf/Catalina/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/conf/Catalina/localhost/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/controls.tld
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-collections.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/struts.jar
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/struts-config.xml
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.css
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.xml
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/connector/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/context/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/host/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/BlueTile.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Connector.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Context.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Datasource.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/DefaultContext.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/EnvironmentEntries.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Groups.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Host.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Logger.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Login.jpg
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/LoginBackgroundTile.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Mailsession.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/PaperTexture.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Realm.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/ResourceLink.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Roles.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Server.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Service.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Thumbs.db
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/TomcatBanner.jpg
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Users.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Valve.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/folder_16_pad.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownlast.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownmiddle.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightlast.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightmiddle.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linelastnode.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linemiddlenode.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linevertical.gif
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/realm/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/resources/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/server/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/service/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/tree-control-test.css
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/users/
   cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/valve/
   cs/trunk/apps-local/apache-tomcat/bin/
   cs/trunk/apps-local/apache-tomcat/bin/bootstrap.jar
   cs/trunk/apps-local/apache-tomcat/bin/catalina-tasks.xml
   cs/trunk/apps-local/apache-tomcat/bin/catalina.bat
   cs/trunk/apps-local/apache-tomcat/bin/catalina.sh
   cs/trunk/apps-local/apache-tomcat/bin/commons-daemon.jar
   cs/trunk/apps-local/apache-tomcat/bin/commons-logging-api.jar
   cs/trunk/apps-local/apache-tomcat/bin/cpappend.bat
   cs/trunk/apps-local/apache-tomcat/bin/digest.bat
   cs/trunk/apps-local/apache-tomcat/bin/digest.sh
   cs/trunk/apps-local/apache-tomcat/bin/gridsphere.log
   cs/trunk/apps-local/apache-tomcat/bin/jkstatus-tasks.xml
   cs/trunk/apps-local/apache-tomcat/bin/jmxaccessor-tasks.xml
   cs/trunk/apps-local/apache-tomcat/bin/jsvc
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/CHANGES.txt
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/INSTALL.txt
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs.in
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile.in
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/output.0
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/requests
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/traces.0
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.log
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.status
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure.in
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/jsvc
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/README
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/fetch.sh
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/jsvc.1.xml
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile.in
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat.sh
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat5.sh
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dlfcn.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dyld.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc-unix.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/libservice.a
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.h
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/signals.c
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apfunctions.m4
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apjava.m4
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apsupport.m4
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/buildconf.sh
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.guess
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.sub
   cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/install.sh
   cs/trunk/apps-local/apache-tomcat/bin/jsvc.tar.gz
   cs/trunk/apps-local/apache-tomcat/bin/service.bat
   cs/trunk/apps-local/apache-tomcat/bin/setclasspath.bat
   cs/trunk/apps-local/apache-tomcat/bin/setclasspath.sh
   cs/trunk/apps-local/apache-tomcat/bin/shutdown.bat
   cs/trunk/apps-local/apache-tomcat/bin/shutdown.sh
   cs/trunk/apps-local/apache-tomcat/bin/startup.bat
   cs/trunk/apps-local/apache-tomcat/bin/startup.sh
   cs/trunk/apps-local/apache-tomcat/bin/tomcat-juli.jar
   cs/trunk/apps-local/apache-tomcat/bin/tomcat-native.tar.gz
   cs/trunk/apps-local/apache-tomcat/bin/tomcat5.exe
   cs/trunk/apps-local/apache-tomcat/bin/tomcat5w.exe
   cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.bat
   cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.sh
   cs/trunk/apps-local/apache-tomcat/bin/version.bat
   cs/trunk/apps-local/apache-tomcat/bin/version.sh
   cs/trunk/apps-local/apache-tomcat/common/
   cs/trunk/apps-local/apache-tomcat/common/classes/
   cs/trunk/apps-local/apache-tomcat/common/endorsed/
   cs/trunk/apps-local/apache-tomcat/common/i18n/
   cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-en.jar
   cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-es.jar
   cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-fr.jar
   cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-ja.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/
   cs/trunk/apps-local/apache-tomcat/common/lib/commons-el.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler-jdt.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/jasper-runtime.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/jsp-api.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/mysql-connector-java-5.0.5-bin.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory-dbcp.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/naming-resources.jar
   cs/trunk/apps-local/apache-tomcat/common/lib/servlet-api.jar
   cs/trunk/apps-local/apache-tomcat/conf/
   cs/trunk/apps-local/apache-tomcat/conf/Catalina/
   cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/
   cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/admin.xml
   cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/host-manager.xml
   cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/manager.xml
   cs/trunk/apps-local/apache-tomcat/conf/catalina.policy
   cs/trunk/apps-local/apache-tomcat/conf/catalina.properties
   cs/trunk/apps-local/apache-tomcat/conf/context.xml
   cs/trunk/apps-local/apache-tomcat/conf/logging.properties
   cs/trunk/apps-local/apache-tomcat/conf/server-minimal.xml
   cs/trunk/apps-local/apache-tomcat/conf/server.xml
   cs/trunk/apps-local/apache-tomcat/conf/tomcat-users.xml
   cs/trunk/apps-local/apache-tomcat/conf/web.xml
   cs/trunk/apps-local/apache-tomcat/logs/
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-11.log
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-20.log
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-28.log
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-03.log
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-04.log
   cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-06.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-11.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-20.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-28.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-29.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-03.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-04.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-06.log
   cs/trunk/apps-local/apache-tomcat/logs/catalina.out
   cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-11.log
   cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-20.log
   cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-28.log
   cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-07-04.log
   cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-07-06.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-11.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-20.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-28.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-29.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-03.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-04.log
   cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-06.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-11.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-20.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-28.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-29.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-04.log
   cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-06.log
   cs/trunk/apps-local/apache-tomcat/server/
   cs/trunk/apps-local/apache-tomcat/server/classes/
   cs/trunk/apps-local/apache-tomcat/server/lib/
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant-jmx.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina-cluster.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina-optional.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina-storeconfig.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/catalina.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/commons-modeler-2.0.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/servlets-cgi.renametojar
   cs/trunk/apps-local/apache-tomcat/server/lib/servlets-default.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/servlets-invoker.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/servlets-ssi.renametojar
   cs/trunk/apps-local/apache-tomcat/server/lib/servlets-webdav.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-ajp.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-apr.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-coyote.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-http.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-jkstatus-ant.jar
   cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-util.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/controls.tld
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-collections.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/struts.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/struts-config.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.css
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/connector/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/context/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/host/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/BlueTile.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Connector.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Context.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Datasource.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/DefaultContext.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/EnvironmentEntries.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Groups.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Host.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Logger.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Login.jpg
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/LoginBackgroundTile.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Mailsession.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/PaperTexture.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Realm.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/ResourceLink.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Roles.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Server.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Service.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Thumbs.db
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/TomcatBanner.jpg
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Users.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Valve.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/folder_16_pad.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownlast.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownmiddle.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightlast.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightmiddle.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linelastnode.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linemiddlenode.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linevertical.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/realm/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/resources/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/server/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/service/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/tree-control-test.css
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/users/
   cs/trunk/apps-local/apache-tomcat/server/webapps/admin/valve/
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/lib/catalina-host-manager.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/host-manager.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/add.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/asf-logo.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/code.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/design.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/docs.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/fix.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/update.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/void.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/manager.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/catalina-manager.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/commons-fileupload-1.0.jar
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/html-manager-howto.html
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/add.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/asf-logo.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/code.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/design.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/docs.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/fix.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/update.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/void.gif
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager-howto.html
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager.xml
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/status.xsd
   cs/trunk/apps-local/apache-tomcat/server/webapps/manager/xform.xsl
   cs/trunk/apps-local/apache-tomcat/shared/
   cs/trunk/apps-local/apache-tomcat/shared/classes/
   cs/trunk/apps-local/apache-tomcat/shared/lib/
   cs/trunk/apps-local/apache-tomcat/shared/lib/activation.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/ant-contrib-0.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/antlr-2.7.6.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/asm-attrs.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/asm.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/aspectjrt.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/c3p0-0.9.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/castor-1.0.2.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/cglib-2.1.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-beanutils-1.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-collections-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-fileupload-1.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-httpclient-2.0.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-io-1.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/commons-logging-1.0.4.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/concurrent-1.3.4.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/dom4j-1.6.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/ehcache-1.2.2.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-ant-tools-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-coreportlets-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-jsp-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-locale-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-api-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portletservlet-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-provider-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/hibernate3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/hsqldb-1.7.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-core-1.1.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-jcr-commons-1.1.1.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-oro.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-regexp-1.2.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jcommon-0.9.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jcr-1.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jdom-1.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-0.9.18.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-xml-0.9.18.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/jta.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/log4j-1.2.11.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/lsimplecaptcha-20070214.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/lucene-1.4.3.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/mail.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/mysql-connector-java-5.0.5-bin.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/portals-bridges-common-1.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/radeox.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/rome-0.9.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/serializer.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/simplegrid_cig-services.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/slf4j-log4j12-1.0.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/xalan.jar
   cs/trunk/apps-local/apache-tomcat/shared/lib/xercesImpl.jar
   cs/trunk/apps-local/apache-tomcat/temp/
   cs/trunk/apps-local/apache-tomcat/temp/bugzilla37035-safeToDelete.tmp
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PersistencePreferenceAttribute.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PersistencePreferenceAttribute.values.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PortletPreferencesImpl.attributes.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PortletPreferencesImpl.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.request.impl.GenericRequest.attributes.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.request.impl.GenericRequest.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry.attributes.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.group.PortletGroup.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.group.impl.UserGroup.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.password.impl.PasswordImpl.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.role.PortletRole.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.role.impl.UserRole.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.user.impl.UserImpl.attributes.data
   cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.user.impl.UserImpl.data
   cs/trunk/apps-local/apache-tomcat/webapps/
   cs/trunk/apps-local/apache-tomcat/webapps/META-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/META-INF/MANIFEST.MF
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/RELEASE-NOTES.txt
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/lib/catalina-root.jar
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/admin/
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/admin/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/asf-logo-wide.gif
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/favicon.ico
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/index.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat-power.gif
   cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/mypackage/
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/mypackage/Hello.class
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage/
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage/Hello.java
   cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/META-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/META-INF/context.xml
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config/
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config/rules.xml
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/lib/catalina-balancer.jar
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/balancer/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/LICENSE.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/context.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portlet.tld
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portletui.tld
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/README.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/simplegrid_cig
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/SimpleTextEditor.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/ResizePanel.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/container.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/fonts.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/menu.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/reset.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/error.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/test.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor/help.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/PoweredByGridSphere.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/calendar/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/calendar/scw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/delete.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/edit.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/editor.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/favicon.ico
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ar.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/cs.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/de.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_UK.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_US.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/es.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/fr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hu.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/it.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ja.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/nl.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/pl.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/zh.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridlablogo.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/bold.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/center.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/help.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/image.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/indent.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/italic.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/left.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/link.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ol.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/outdent.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/right.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ul.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/underline.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/index.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jaas.config
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/SimpleTextEditor.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere_ajax.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/scw.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/blank.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/license.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/richtext.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/LICENSE.TXT
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-bottom.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-repeater.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/l.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/minus.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-file.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-foldericon.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-openfoldericon.png
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/plus.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/t.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/validation.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/README
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/ResizePanel.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/animation.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/connection.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/container.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dom.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dragdrop.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/event.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/menu.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/yahoo.js
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/authmodules.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/bar.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/content.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/frame.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/menu.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/subtab.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/tab.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/config.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date/date.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/custom_error.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/database_error.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/error.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/init_error.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/notfound.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/unauthorized.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/index.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale/viewlocale.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/createaccount.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/forgotpassword.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/login.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/loginnav.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/newpassword.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/welcome.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout/logoutnav.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/admin.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/editpassword.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/help.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/profilenav.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/viewuser.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/redirect.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnguestnav.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnnav.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/edit.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/viewRSS.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/createAdmin.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/selectDatabase.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/updateDatabase.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/view.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/approve.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/confirmsave.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/createaccount.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/deny.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/scwblank.html
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/README.txt
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/default.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/general.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/layout.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/menunav.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/navigation.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/portlet.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/tags.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/window.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/default.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/general.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/layout.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/menunav.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/navigation.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/portlet.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/tags.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/window.css
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_close.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_configure.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_edit.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_float.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_help.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_normal.gif
   cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_view.gif
   cs/trunk/apps-local/apache-tomcat/webapps/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/images/
   cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/
   cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Entries
   cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Repository
   cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Root
   cs/trunk/apps-local/apache-tomcat/webapps/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal1_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal2_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/checkbox/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/checkbox/checkresult_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/colors/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/colors/colrs_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/dates/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/dates/date_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/err_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/errorpge_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/forward_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/one_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/foo_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/include_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002darithmetic_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002dcomparisons_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/functions_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/implicit_002dobjects_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/jspattribute_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp$shuffle_jspHelper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx$basic_jspxHelper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/textRotate_jspx.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/config_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/dynamicattrs_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/book_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/hello_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp$repeat_jspHelper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/hello_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp$panel_jspHelper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp$products_jspHelper.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/hello_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/jsptoservlet_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/num/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/num/numguess_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/plugin/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/plugin/plugin_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/error_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/index_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/login_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/sessions/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/sessions/carts_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/simpletag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/simpletag/foo_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/snp/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/snp/snoop_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/source_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/displayProducts_tag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/helloWorld_tag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/panel_tag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/xhtmlbasic_tag.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/choose_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/foreach_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/if_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/xml/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/xml/xml_jsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet/Clock2.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/debug-taglib.tld
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/example-taglib.tld
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2/jsp2-example-taglib.tld
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/jstl.jar
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/standard.jar
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/displayProducts.tag
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/helloWorld.tag
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/panel.tag
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/xhtmlbasic.tag
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entries.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entry.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/JspCalendar.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/TableBean.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/calendar.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/login.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/CheckTest.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/check.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/cresult.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/ColorGameBean.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/clr.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colors.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/er.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/error.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/errorpge.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/fwd.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/one.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/two.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/code.gif
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/execute.gif
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/read.gif
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/return.gif
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/inc.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/Functions.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/FooBean.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/HelloWorldSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/ShuffleSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/TileSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/svgexample.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/EchoAttributesTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/BookBean.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/FindBookSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/Functions.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/HelloWorldSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/RepeatSimpleTag.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/displayProducts.tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/helloWorld.tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/xhtmlbasic.tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jts.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/servletToJsp.java.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.class
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.java
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/error.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/index.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/login.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/DummyCart.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/crt.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/source.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/notes.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.html
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp.html
   cs/trunk/apps-local/apache-tomcat/webapps/sample.war
   cs/trunk/apps-local/apache-tomcat/webapps/sample/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/META-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/META-INF/MANIFEST.MF
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/mypackage/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/mypackage/Hello.class
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage/Hello.java
   cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/sample/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Entries
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Repository
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Root
   cs/trunk/apps-local/apache-tomcat/webapps/sample/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/sample/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings.properties
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_en.properties
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_es.properties
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_fr.properties
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_pt.properties
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.class
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.java
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/cookies.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/helloworld.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/code.gif
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/execute.gif
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/return.gif
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqheaders.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqinfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqparams.html
   cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/sessions.html
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/PortletServices.xml
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes/log4j.properties
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/addressing-1.0.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis-url.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/bootstrap.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/castor-1.0.2.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-axis.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-jglobus.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-tomcat.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-url.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commonj.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-beanutils.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-cli-2.0.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.0.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-dbcp.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-digester.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-discovery.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-fileupload-1.1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-io-1.0.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-lang-2.1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-logging.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-pool.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/concurrent.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix-asn1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix32.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_client.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_common.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_service.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_unit_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_utils.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_client.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_service.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_core.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_packets_common.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_throughput.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_unit.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_usage.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_index_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_trigger_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_service.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_client.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_service_java_usage.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_tools_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-client.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-monitoring.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-service.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-utils.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-portal-3.1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-provider-3.1.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/idwviz.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jaxrpc.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jce-jdk13-125.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jcommon-0.9.3.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jfreechart-0.9.18.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jgss.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/junit.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.11.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.8.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-common.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-factory.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-java.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-resources.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/opensaml.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/oro-2.0.8.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/pg73jdbc2.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/puretls.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/resolver.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/saaj.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig-services-impl.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/velocity-1.5.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/webmds-0.1-dev.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsdl4j.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_common.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp_schema_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_provider_jce.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit_stubs.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_tools.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wss4j.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xalan.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xercesImpl.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xml-apis.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xmlsec.jar
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence/hibernate.properties
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/portlet.xml
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/html/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/images/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/images/vizlegend.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp/simplegrid_user.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/simplegrid.properties
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_poly.dat
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_uspolygon.dat
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid/dms_gt2.rsl
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid/dms_gt4.rsl
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets/sample
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/images/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/images/sample.jpg
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/results/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/uscities.dat
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-0.vm
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-1.vm
   cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/velocity.properties
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/RELEASE-NOTES.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/build.xml.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/deployment.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/installation.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/introduction.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/build.xml.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/deployment.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/installation.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/introduction.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/processes.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/source.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/web.xml.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/processes.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/build.xml
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs/README.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/sample.war
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage/Hello.java
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/hello.jsp
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/images/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/source.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/web.xml.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/apr.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/overview.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/overview.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/requestProcess.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/startup.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/requestProcess.pdf
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/roseModel.mdl
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.pdf
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.txt
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/balancer-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/build.xml
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/building.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-apps.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-objects.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-opers.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-default.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-invoker.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jdbc-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jndi-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-memory-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/mbean-names.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-apps.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-objects.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-opers.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-default.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-invoker.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jdbc-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jndi-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-memory-realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/mbean-names.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cgi-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/changelog.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/class-loader-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cluster-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/ajp.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/context.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/engine.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/globalresources.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/host.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/http.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/loader.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/manager.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/ajp.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/context.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/engine.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/globalresources.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/host.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/http.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/loader.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/manager.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/resources.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/server.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/service.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/valve.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/realm.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/resources.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/server.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/service.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/valve.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/connectors.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/default-servlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/deployer-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/developers.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/html-manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/add.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/asf-logo.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/code.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/design.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/docs.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/fix.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/printer.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/update.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/void.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/introduction.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-datasource-examples-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-resources-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-noframe.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/constant-values.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/deprecated-list.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/help-doc.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index-all.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/ErrorData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/HttpJspPage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspEngineInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspFactory.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspPage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspTagException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspWriter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/PageContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/SkipPageException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/ErrorData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/HttpJspPage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspEngineInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspFactory.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspPage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspTagException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspWriter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/PageContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/SkipPageException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELParseException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/Expression.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ExpressionEvaluator.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/FunctionMapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/VariableResolver.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELParseException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/Expression.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ExpressionEvaluator.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/FunctionMapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/VariableResolver.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-use.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-use.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyContent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/DynamicAttributes.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/FunctionInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/IterationTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspFragment.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/PageData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/Tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAdapter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAttributeInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagExtraInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagFileInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryValidator.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagVariableInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TryCatchFinally.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/ValidationMessage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/VariableInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyContent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/DynamicAttributes.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/FunctionInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/IterationTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspFragment.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/PageData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/Tag.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAdapter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAttributeInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagData.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagExtraInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagFileInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryValidator.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagSupport.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagVariableInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TryCatchFinally.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/ValidationMessage.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/VariableInfo.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/BodyTagProtocol.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/IterationTagProtocol.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/TagProtocol.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/VariableInfo-1.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-use.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/package-list
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/packages.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/resources/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/resources/inherit.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/serialized-form.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/stylesheet.css
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/logging.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/mbeans-descriptor-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/monitoring.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/apr.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/balancer-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/building.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cgi-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/changelog.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/class-loader-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cluster-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/connectors.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/default-servlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/deployer-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/developers.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/html-manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/introduction.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jasper-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-datasource-examples-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-resources-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/logging.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/mbeans-descriptor-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/monitoring.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/proxy-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/realm-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/security-manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/setup.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssi-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssl-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/status.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/virtual-hosting-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/windows-service-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/proxy-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/realm-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/security-manager-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-noframe.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/constant-values.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/deprecated-list.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/help-doc.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index-all.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Filter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterChain.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterConfig.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/GenericServlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/RequestDispatcher.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Servlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletConfig.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletInputStream.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletOutputStream.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequest.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponse.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponseWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/SingleThreadModel.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/UnavailableException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Filter.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterChain.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterConfig.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/GenericServlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/RequestDispatcher.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Servlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletConfig.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletInputStream.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletOutputStream.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequest.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponse.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponseWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/SingleThreadModel.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/UnavailableException.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/Cookie.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequest.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequestWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponse.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponseWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSession.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionActivationListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpUtils.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/Cookie.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServlet.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequest.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequestWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponse.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponseWrapper.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSession.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionActivationListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionAttributeListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionContext.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionEvent.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionListener.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpUtils.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-use.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-use.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-frame.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-summary.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-tree.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/package-list
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/packages.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/resources/
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/resources/inherit.gif
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/serialized-form.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/stylesheet.css
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/setup.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssi-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssl-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/status.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/virtual-hosting-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/windows-service-howto.html
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF/
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF/web.xml
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/index.html
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat-power.gif
   cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat.gif
   cs/trunk/apps-local/apache-tomcat/work/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/_/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/_/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/admin/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/admin/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/balancer/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/balancer/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/host-manager/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/host-manager/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/images/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/images/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/jsp-examples/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/jsp-examples/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/manager/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/manager/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.class
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.java
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/servlets-examples/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/servlets-examples/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/simplegrid_cig/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/simplegrid_cig/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/tomcat-docs/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/tomcat-docs/tldCache.ser
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/webdav/
   cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/webdav/tldCache.ser
   cs/trunk/apps-local/gridsphere/
   cs/trunk/apps-local/gridsphere/.cvsignore
   cs/trunk/apps-local/gridsphere/ChangeLog.txt
   cs/trunk/apps-local/gridsphere/INSTALL.txt
   cs/trunk/apps-local/gridsphere/LICENSE.txt
   cs/trunk/apps-local/gridsphere/README.txt
   cs/trunk/apps-local/gridsphere/build.properties
   cs/trunk/apps-local/gridsphere/build.xml
   cs/trunk/apps-local/gridsphere/build/
   cs/trunk/apps-local/gridsphere/build/classes/
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/build/classes/javax/
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionRequest.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionResponse.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/GenericPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortalContext.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/Portlet.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletConfig.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletContext.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletMode.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletModeException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletPreferences.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequest.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequestDispatcher.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletResponse.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSecurityException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSession.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSessionUtil.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletURL.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PreferencesValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ReadOnlyException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderRequest.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderResponse.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/UnavailableException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ValidatorException.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowState.class
   cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowStateException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters/portal-filters-mapping.xml
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BaseComponentLifecycle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BasePortletComponent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentIdentifier.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentLifecycle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletBar.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletColumnLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletComponent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContainer.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrame.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameRegistry.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutEngine.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletMenu.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletNavMenu.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPage.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPageFactory.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletRowLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletStaticContent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTab.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTabbedPane.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTableLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$Link.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletModeLink.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletStateLink.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/SelectionContainer.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/ComponentAction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletComponentEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent$FrameAction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameListener.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent$TabAction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabListener.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent$TitleBarAction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarListener.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletWindowEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletFrameEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTabEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletWindowEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/layout-mapping.xml
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/BaseRender.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/FrameView.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/Render.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TabbedPaneView.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TableLayoutView.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Bar.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/ColumnLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Container.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Frame.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Menu.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Page.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/RowLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TabbedPane.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TableLayout.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TitleBar.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionRequestImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionResponseImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/Enumerator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/GridSphereParameters.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortalContextImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$DefaultResourceBundle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$ResourceBundleImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletContextImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletPreferencesImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletResponseImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletSessionImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletURLImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PreferencesValidatorImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderRequestImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderResponseImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/SportletProperties.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl$StoredServletOutputStreamImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/portlet.properties
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceNotFoundException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceUnavailableException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceConfig.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceFactory.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceProvider.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/Description.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/ApplicationPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/Client.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletAction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletPhase.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletRender.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/GridSphereEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcher.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcherException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletPreferencesManager.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletSessionListener.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletStatus.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletWebApplication.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ClientImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletInvoker.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletSessionManager.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Description.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParam.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Keywords.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Name.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$5.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$6.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$7.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletName.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$10.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$11.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$5.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$6.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$7.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$8.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$9.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Preference.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleName.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$4.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Supports.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Title.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$2.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$3.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Value.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowState.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/about/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/about/AboutPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/config/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/config/ConfigPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/content/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/layout/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/roles/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/users/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/date/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/date/DatePortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/locale/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/locale/LocalePortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/login/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/login/LoginPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/news/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/news/NewsPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/registration/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/registration/SignupPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/rss/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/rss/RSSPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/user/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/user/ProfileManagerPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/ActionFormEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/FormEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/RenderFormEvent.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/ActionPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/PortletServlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag$TEI.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionComponentBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionLinkBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionSubmitBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseComponentBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BeanContainer.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CalendarBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CheckBoxBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/DialogBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FileInputBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FrameBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/GroupBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/HiddenFieldBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ImageBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/IncludeBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/InputBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxItemBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageBoxBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageStyle.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PanelBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ParamBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PasswordBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PortletBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RadioButtonBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderLinkBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderSubmitBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RichTextEditorBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/SelectElementBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TabBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableCellBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableRowBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TagBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextAreaBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextEditorBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextFieldBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TooltipBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeNodeBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ValidatorBean.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DataSource.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultDataSource.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultListModel.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultTableModel.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/SelectListModel.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionBodyTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionComponentTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionFormTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionLinkTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionPaneTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionSubmitTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag$TEI.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseBeanTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseComponentTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CalendarTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CheckboxTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ContainerTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogButtonTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogLinkTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileFormTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileInputTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FrameTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/GroupTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HasRoleTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HiddenFieldTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ImageTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/IncludeTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/InputTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxItemTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/MessageBoxTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PanelTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ParamTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PasswordTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletLinkTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RadioButtonTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderLinkTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderSubmitTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RichTextEditorTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabbedPaneTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableCellTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableRowTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextAreaTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextEditorTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextFieldTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TooltipTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TreeTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ValidatorTag.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/BaseValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/LengthValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/RequiredValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/StringRangeValidator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/Validator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/CacheService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheObject.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheSweeperTask.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/ChartService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/DatasetUtilities.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/impl/ChartServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentFile.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentFileImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/SettingsService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/BasePortalFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterConfig.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentDocument.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRNode.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/BackupTask.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/LocaleService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailMessage.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/impl/MailServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerXml.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/QueryFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Session.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Transaction.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/CreateDatabase.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/SessionImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/TransactionImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/PortalConfigService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletRegistryService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$WebappComparator.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/Request.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/RequestService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/GenericRequest.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$RequestSweeperTask.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/RssService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/impl/RssServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileInfo.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileLocationID.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/SecureDirectoryService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthModuleService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthenticationException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthorizationException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/GroupManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup$Type.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/UserGroup.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/InvalidPasswordException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/Password.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordEditor.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordNotFoundException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/PortletRole.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/RoleManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/UserRole.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/TimerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/impl/TimerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerException.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppResult.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/User.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserManagerService.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserPrincipal.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/utils/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/utils/DateUtil.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereServlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/SetupServlet.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DBTask.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$1.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$WARFilenameFilter.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK.class
   cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/log4j.properties
   cs/trunk/apps-local/gridsphere/build/jsp/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/index_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/about/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/about/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/bar_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/content_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/frame_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/menu_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/subtab_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/tab_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUser_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/config_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/date/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/date/date_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/custom_005ferror_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/database_005ferror_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/error_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/init_005ferror_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/notfound_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/unauthorized_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/index_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/locale/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/locale/viewlocale_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/createaccount_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/forgotpassword_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/login_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/loginnav_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/newpassword_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/welcome_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/logout/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/logout/logoutnav_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/admin_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/editpassword_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/help_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/profilenav_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/viewuser_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/redirect_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnguestnav_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnnav_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/edit_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/viewRSS_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/createAdmin_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/updateDatabase_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/view_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/approve_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/confirmsave_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/createaccount_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/deny_jsp.class
   cs/trunk/apps-local/gridsphere/build/jsp/source/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/index_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/authmodules_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/bar_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/content_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/frame_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/menu_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/subtab_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/tab_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUser_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/config_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date/date_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/custom_005ferror_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/database_005ferror_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/error_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/init_005ferror_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/notfound_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/unauthorized_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/index_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale/viewlocale_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/createaccount_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/forgotpassword_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/login_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/loginnav_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/newpassword_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/welcome_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout/logoutnav_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/admin_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/editpassword_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/help_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/profilenav_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/viewuser_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/redirect_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnguestnav_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnnav_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/edit_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/viewRSS_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/createAdmin_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/selectDatabase_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/updateDatabase_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/view_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/approve_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/confirmsave_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/createaccount_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/deny_jsp.java
   cs/trunk/apps-local/gridsphere/build/jsp/web.inc
   cs/trunk/apps-local/gridsphere/build/lib/
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-ant-tools-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-core-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-coreportlets-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-jsp-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-locale-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-api-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portletservlet-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-provider-3.1.jar
   cs/trunk/apps-local/gridsphere/build/lib/gridsphere-service-framework-3.1.jar
   cs/trunk/apps-local/gridsphere/build/webapps/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/LICENSE.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/context.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portlet.tld
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portletui.tld
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/README.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/GridSphereServices.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/authmodules.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/filters.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/portlet.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/web.xml
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/SimpleTextEditor.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/ResizePanel.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/container.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/fonts.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/menu.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/reset.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/error.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/test.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor/help.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/PoweredByGridSphere.jpg
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/calendar/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/calendar/scw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/delete.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/edit.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/editor.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/favicon.ico
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ar.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/cs.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/de.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_UK.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_US.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/es.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/fr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hu.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/it.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ja.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/nl.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/pl.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/zh.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridlablogo.jpg
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/bold.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/center.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/help.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/image.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/indent.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/italic.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/left.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/link.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ol.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/outdent.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/right.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ul.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/underline.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/index.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jaas.config
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/SimpleTextEditor.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere_ajax.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/scw.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/blank.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/license.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/richtext.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/LICENSE.TXT
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-bottom.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-repeater.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/index.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/l.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/minus.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-file.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-foldericon.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-openfoldericon.png
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/plus.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/t.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/validation.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/README
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/ResizePanel.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/animation.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/connection.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/container.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dom.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dragdrop.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/event.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/menu.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/yahoo.js
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/authmodules.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/bar.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/content.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/frame.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/menu.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/subtab.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/tab.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/config.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date/date.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/custom_error.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/database_error.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/error.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/init_error.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/notfound.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/unauthorized.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/index.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale/viewlocale.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/createaccount.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/forgotpassword.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/login.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/loginnav.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/newpassword.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/welcome.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout/logoutnav.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/admin.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/editpassword.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/help.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/profilenav.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/viewuser.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/redirect.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnguestnav.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnnav.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/edit.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/viewRSS.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/createAdmin.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/selectDatabase.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/updateDatabase.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/view.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/approve.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/confirmsave.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/createaccount.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/deny.jsp
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/scwblank.html
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/README.txt
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/default.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/general.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/layout.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/menunav.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/navigation.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/portlet.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/tags.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/window.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/default.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/general.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/layout.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/menunav.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/navigation.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/portlet.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/tags.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/window.css
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_close.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_configure.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_edit.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_float.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_help.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_normal.gif
   cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_view.gif
   cs/trunk/apps-local/gridsphere/config/
   cs/trunk/apps-local/gridsphere/config/build/
   cs/trunk/apps-local/gridsphere/config/build/build-compile.xml
   cs/trunk/apps-local/gridsphere/config/build/build-database.xml
   cs/trunk/apps-local/gridsphere/config/build/build-deploy.xml
   cs/trunk/apps-local/gridsphere/config/build/build-dist.xml
   cs/trunk/apps-local/gridsphere/config/build/build-docs.xml
   cs/trunk/apps-local/gridsphere/config/build/build-jsp-compile.xml
   cs/trunk/apps-local/gridsphere/config/build/build-newproject.xml
   cs/trunk/apps-local/gridsphere/config/build/build-server-tomcat.xml
   cs/trunk/apps-local/gridsphere/config/build/build-update.xml
   cs/trunk/apps-local/gridsphere/config/build/build.project.xml
   cs/trunk/apps-local/gridsphere/config/build/build.properties
   cs/trunk/apps-local/gridsphere/config/log4j.properties
   cs/trunk/apps-local/gridsphere/config/mapping/
   cs/trunk/apps-local/gridsphere/config/mapping/action-portlet-mapping.xml
   cs/trunk/apps-local/gridsphere/config/mapping/auth-modules-mapping.xml
   cs/trunk/apps-local/gridsphere/config/mapping/layout-mapping.xml
   cs/trunk/apps-local/gridsphere/config/mapping/portal-filters-mapping.xml
   cs/trunk/apps-local/gridsphere/config/mapping/portlet-mapping.xml
   cs/trunk/apps-local/gridsphere/config/mapping/portlet-services-mapping.xml
   cs/trunk/apps-local/gridsphere/config/portlet.properties
   cs/trunk/apps-local/gridsphere/config/resources/
   cs/trunk/apps-local/gridsphere/config/resources/Portlet.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/config/resources/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/config/template/
   cs/trunk/apps-local/gridsphere/config/template/PortletServices.xml.tpl
   cs/trunk/apps-local/gridsphere/config/template/hibernate.properties
   cs/trunk/apps-local/gridsphere/config/template/portlet.xml.tpl
   cs/trunk/apps-local/gridsphere/config/template/web.xml.tpl
   cs/trunk/apps-local/gridsphere/gridsphere.log
   cs/trunk/apps-local/gridsphere/lib/
   cs/trunk/apps-local/gridsphere/lib/README.txt
   cs/trunk/apps-local/gridsphere/lib/activation.jar
   cs/trunk/apps-local/gridsphere/lib/ant-contrib-0.3.jar
   cs/trunk/apps-local/gridsphere/lib/antlr-2.7.6.jar
   cs/trunk/apps-local/gridsphere/lib/asm-attrs.jar
   cs/trunk/apps-local/gridsphere/lib/asm.jar
   cs/trunk/apps-local/gridsphere/lib/aspectjrt.jar
   cs/trunk/apps-local/gridsphere/lib/c3p0-0.9.0.jar
   cs/trunk/apps-local/gridsphere/lib/castor-1.0.2.jar
   cs/trunk/apps-local/gridsphere/lib/cglib-2.1.3.jar
   cs/trunk/apps-local/gridsphere/lib/commons-beanutils-1.3.jar
   cs/trunk/apps-local/gridsphere/lib/commons-collections-3.1.jar
   cs/trunk/apps-local/gridsphere/lib/commons-fileupload-1.1.jar
   cs/trunk/apps-local/gridsphere/lib/commons-httpclient-2.0.1.jar
   cs/trunk/apps-local/gridsphere/lib/commons-io-1.0.jar
   cs/trunk/apps-local/gridsphere/lib/commons-logging-1.0.4.jar
   cs/trunk/apps-local/gridsphere/lib/concurrent-1.3.4.jar
   cs/trunk/apps-local/gridsphere/lib/dom4j-1.6.1.jar
   cs/trunk/apps-local/gridsphere/lib/ehcache-1.2.2.jar
   cs/trunk/apps-local/gridsphere/lib/hibernate3.jar
   cs/trunk/apps-local/gridsphere/lib/hsqldb-1.7.3.jar
   cs/trunk/apps-local/gridsphere/lib/jackrabbit-core-1.1.1.jar
   cs/trunk/apps-local/gridsphere/lib/jackrabbit-jcr-commons-1.1.1.jar
   cs/trunk/apps-local/gridsphere/lib/jakarta-oro.jar
   cs/trunk/apps-local/gridsphere/lib/jakarta-regexp-1.2.jar
   cs/trunk/apps-local/gridsphere/lib/jcommon-0.9.3.jar
   cs/trunk/apps-local/gridsphere/lib/jcr-1.0.jar
   cs/trunk/apps-local/gridsphere/lib/jdom-1.0.jar
   cs/trunk/apps-local/gridsphere/lib/jfreechart-0.9.18.jar
   cs/trunk/apps-local/gridsphere/lib/jfreechart-xml-0.9.18.jar
   cs/trunk/apps-local/gridsphere/lib/jta.jar
   cs/trunk/apps-local/gridsphere/lib/licenses/
   cs/trunk/apps-local/gridsphere/lib/licenses/antlr.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/apache.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/aspectj.html.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/c3p0.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/cactus.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/castor.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/commons.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/dom4j.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/hibernate.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/hsqldb.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jaimbot.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-oro.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-regexp.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jdom.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jfreechart.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/jta.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/junit.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/log4j.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/rome.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/spring.LICENSE
   cs/trunk/apps-local/gridsphere/lib/licenses/xalan.LICENSE
   cs/trunk/apps-local/gridsphere/lib/log4j-1.2.11.jar
   cs/trunk/apps-local/gridsphere/lib/lsimplecaptcha-20070214.jar
   cs/trunk/apps-local/gridsphere/lib/lucene-1.4.3.jar
   cs/trunk/apps-local/gridsphere/lib/mail.jar
   cs/trunk/apps-local/gridsphere/lib/portals-bridges-common-1.0.jar
   cs/trunk/apps-local/gridsphere/lib/radeox.jar
   cs/trunk/apps-local/gridsphere/lib/rome-0.9.jar
   cs/trunk/apps-local/gridsphere/lib/serializer.jar
   cs/trunk/apps-local/gridsphere/lib/slf4j-log4j12-1.0.jar
   cs/trunk/apps-local/gridsphere/lib/xalan.jar
   cs/trunk/apps-local/gridsphere/lib/xercesImpl.jar
   cs/trunk/apps-local/gridsphere/projects/
   cs/trunk/apps-local/gridsphere/src/
   cs/trunk/apps-local/gridsphere/src/javax/
   cs/trunk/apps-local/gridsphere/src/javax/portlet/
   cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionRequest.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionResponse.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/GenericPortlet.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortalContext.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/Portlet.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletConfig.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletContext.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletMode.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletModeException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletPreferences.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequest.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequestDispatcher.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletResponse.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSecurityException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSession.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSessionUtil.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletURL.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/PreferencesValidator.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/ReadOnlyException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderRequest.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderResponse.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/UnavailableException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/ValidatorException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowState.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowStateException.java
   cs/trunk/apps-local/gridsphere/src/javax/portlet/license.txt
   cs/trunk/apps-local/gridsphere/src/javax/portlet/package.html
   cs/trunk/apps-local/gridsphere/src/javax/portlet/portlet.xml.txt
   cs/trunk/apps-local/gridsphere/src/org/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BaseComponentLifecycle.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BasePortletComponent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentIdentifier.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentLifecycle.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletBar.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletColumnLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletComponent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContainer.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrame.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameRegistry.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutEngine.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletMenu.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletNavMenu.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPage.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPageFactory.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletRowLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletStaticContent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTab.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTabbedPane.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTableLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTitleBar.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/SelectionContainer.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/ComponentAction.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletComponentEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameListener.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabListener.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarListener.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletWindowEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletFrameEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTabEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletWindowEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/BaseRender.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/FrameView.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/Render.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TabbedPaneView.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TableLayoutView.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Bar.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/ColumnLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Container.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Frame.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Menu.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Page.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/RowLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TabbedPane.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TableLayout.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TitleBar.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionRequestImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionResponseImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/Enumerator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/GridSphereParameters.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortalContextImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletConfigImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletContextImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletPreferencesImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletResponseImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletSessionImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletURLImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PreferencesValidatorImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderRequestImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderResponseImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/SportletProperties.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/StoredPortletResponseImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceNotFoundException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceUnavailableException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceConfig.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceFactory.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceProvider.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/Description.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/ApplicationPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/Client.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletAction.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletPhase.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletRender.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/GridSphereEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcher.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcherException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletPreferencesManager.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletSessionListener.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletStatus.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletWebApplication.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ClientImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletInvoker.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletSessionManager.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Description.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParam.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Keywords.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Name.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletName.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Preference.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleName.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Supports.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Title.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Value.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowState.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about/AboutPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config/ConfigPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/DatePortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale/LocalePortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login/LoginPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news/NewsPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration/SignupPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss/RSSPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user/ProfileManagerPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/ActionFormEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/FormEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/RenderFormEvent.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/ActionPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/PortletServlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionComponentBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionLinkBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionSubmitBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseComponentBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BeanContainer.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CalendarBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CheckBoxBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/DialogBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FileInputBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FrameBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/GroupBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/HiddenFieldBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ImageBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/IncludeBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/InputBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxItemBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageBoxBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageStyle.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PanelBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ParamBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PasswordBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PortletBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RadioButtonBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderLinkBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderSubmitBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RichTextEditorBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/SelectElementBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TabBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableCellBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableRowBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TagBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextAreaBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextEditorBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextFieldBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TooltipBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeNodeBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ValidatorBean.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DataSource.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultDataSource.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultListModel.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultTableModel.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/SelectListModel.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionBodyTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionComponentTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionFormTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionLinkTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionPaneTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionSubmitTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseBeanTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseComponentTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CalendarTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CheckboxTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ContainerTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogButtonTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogLinkTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileFormTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileInputTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FrameTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/GroupTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HasRoleTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HiddenFieldTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ImageTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/IncludeTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/InputTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxItemTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/MessageBoxTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PanelTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ParamTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PasswordTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletLinkTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RadioButtonTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderLinkTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderSubmitTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RichTextEditorTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabbedPaneTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableCellTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableRowTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextAreaTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextEditorTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextFieldTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TooltipTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TreeTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ValidatorTag.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/BaseValidator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/LengthValidator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/RequiredValidator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/StringRangeValidator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/Validator.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/CacheService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl/CacheServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/ChartService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/DatasetUtilities.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/ChartServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentFile.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentFileImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/SettingsService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/BasePortalFilter.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilter.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterConfig.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentDocument.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRNode.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/BackupTask.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/LocaleService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailMessage.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl/MailServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/package.html
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerXml.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/QueryFilter.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Session.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Transaction.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/CreateDatabase.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/SessionImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/TransactionImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/PortalConfigService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletRegistryService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/Request.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/RequestService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/GenericRequest.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/RequestServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/RssService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl/RssServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileInfo.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileLocationID.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/SecureDirectoryService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthModuleService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthenticationException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthorizationException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/GroupManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/PortletGroup.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/UserGroup.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/InvalidPasswordException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/Password.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordEditor.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordNotFoundException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/PortletRole.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/RoleManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/UserRole.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/TimerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl/TimerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerException.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppResult.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/User.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserManagerService.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserPrincipal.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils/DateUtil.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereFilter.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereServlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/SetupServlet.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DBTask.java
   cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DeployGridSphereTCK.java
   cs/trunk/apps-local/gridsphere/webapps/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere-context.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/context.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portlet.tld
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portletui.tld
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/GridSphereServices.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/authmodules.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ContentManagement/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ContentManagement/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_nl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_ja.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_ar.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_cs.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_de.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_en.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_es.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_fr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hr.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hu.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_it.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_pl.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_zh.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/log4j.properties
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/filters.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/portlet.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/web.xml
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/SimpleTextEditor.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/ResizePanel.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/container.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/fonts.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/menu.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/reset.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/error.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/test.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor/help.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/PoweredByGridSphere.jpg
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/calendar/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/calendar/scw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/delete.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/edit.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/editor.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/favicon.ico
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ar.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/cs.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/de.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_UK.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_US.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/es.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/fr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hu.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/it.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ja.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/nl.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/pl.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/zh.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridlablogo.jpg
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/bold.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/center.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/help.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/image.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/indent.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/italic.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/left.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/link.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ol.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/outdent.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/right.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ul.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/underline.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/index.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jaas.config
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/SimpleTextEditor.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere_ajax.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/scw.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/blank.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/license.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/richtext.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/LICENSE.TXT
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-bottom.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-repeater.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/index.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/l.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/minus.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-file.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-foldericon.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-openfoldericon.png
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/plus.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/t.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/validation.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/README
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/ResizePanel.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/animation.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/connection.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/container.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dom.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dragdrop.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/event.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/menu.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/yahoo.js
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/authmodules.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/bar.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/content.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/frame.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/menu.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/subtab.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/tab.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/config.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/date.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/custom_error.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/database_error.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/error.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/init_error.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/notfound.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/unauthorized.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/index.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale/viewlocale.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/createaccount.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/forgotpassword.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/login.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/loginnav.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/newpassword.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/welcome.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout/logoutnav.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/admin.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/editpassword.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/help.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/profilenav.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/viewuser.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/redirect.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnguestnav.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnnav.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/edit.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/viewRSS.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/createAdmin.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/selectDatabase.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/updateDatabase.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/view.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/approve.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/confirmsave.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/createaccount.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/deny.jsp
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/scwblank.html
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/README.txt
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/default.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/general.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/layout.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/menunav.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/navigation.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/portlet.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/tags.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/window.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/default.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/general.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/layout.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/menunav.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/navigation.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/portlet.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/tags.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/window.css
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_close.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_configure.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_edit.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_float.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_help.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_normal.gif
   cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_view.gif
   cs/trunk/cigtg-dev/
   cs/trunk/cigtg-dev/SimpleGrid/
   cs/trunk/cigtg-dev/SimpleGrid/applications/
   cs/trunk/cigtg-dev/SimpleGrid/applications/dms.ncsa.tar.gz
   cs/trunk/cigtg-dev/SimpleGrid/applications/dms.sdsc.tar.gz
   cs/trunk/cigtg-dev/SimpleGrid/applications/dms.uc.tar.gz
   cs/trunk/cigtg-dev/SimpleGrid/bin/
   cs/trunk/cigtg-dev/SimpleGrid/bin/runTest2.sh
   cs/trunk/cigtg-dev/SimpleGrid/bin/runTest4.sh
   cs/trunk/cigtg-dev/SimpleGrid/doc/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.classpath
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.project
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.settings/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.settings/org.eclipse.jdt.ui.prefs
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.properties
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.xml
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07GT4.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/DmsjobBean.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/UserBean.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransfer.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransferThread.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRSL.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT2.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT4.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/security/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/security/SimpleCred.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/GISolveDMSPortlet.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/UserPortlet.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/Config.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/DMSPortletConfig.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/SimpleGridConstants.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/portlets/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/portlets/VelocityPortlet.class
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/docs/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services-impl.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/webapp/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/addressing-1.0.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis-url.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/bootstrap.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-axis.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-jglobus.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-tomcat.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-url.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commonj.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-beanutils.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-cli-2.0.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-collections-3.0.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-dbcp.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-digester.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-discovery.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-logging.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-pool.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/concurrent.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix-asn1.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix32.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_client.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_common.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_service.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_unit_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_utils.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_client.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_service.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_core.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_packets_common.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_throughput.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_unit.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_usage.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_index_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_trigger_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_service.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_client.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_service_java_usage.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_tools_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-client.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-monitoring.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-service.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-utils.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jaxrpc.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jce-jdk13-125.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jgss.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/junit.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/log4j-1.2.8.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-common.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-factory.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-java.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-resources.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/opensaml.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/pg73jdbc2.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/puretls.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/resolver.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/saaj.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/webmds-0.1-dev.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsdl4j.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_common.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp_schema_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_provider_jce.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit_stubs.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_tools.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wss4j.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xalan.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xercesImpl.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xml-apis.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xmlsec.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jcommon-0.9.3.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jfreechart-0.9.18.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-collections-3.1.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-lang-2.1.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/oro-2.0.8.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/velocity-1.5.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/viz/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/viz/idwviz.jar
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07GT4.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/DmsjobBean.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/UserBean.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransfer.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransferThread.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRSL.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT2.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT4.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security/SimpleCred.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/UserPortlet.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/Config.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/DMSPortletConfig.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/SimpleGridConstants.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/.VelocityPortlet.java.swp
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/VelocityPortlet.java
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/PortletServices.xml
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes/log4j.properties
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence/hibernate.properties
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/portlet.xml
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/web.xml
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/html/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/images/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/images/vizlegend.jpg
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp/simplegrid_user.jsp
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/simplegrid.properties
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid/dms_gt2.rsl
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid/dms_gt4.rsl
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample.jpg
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets/sample
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/images/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/images/sample.jpg
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/results/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/uscities.dat
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-0.vm
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-1.vm
   cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/velocity.properties
   cs/trunk/cigtg-dev/SimpleGrid/test2/
   cs/trunk/cigtg-dev/SimpleGrid/test2/result2
   cs/trunk/cigtg-dev/SimpleGrid/test2/result2.jpg
   cs/trunk/cigtg-dev/result1
   cs/trunk/cigtg-dev/test/
   cs/trunk/cigtg-dev/test/command
   cs/trunk/cigtg-dev/test/gt2.rsl
   cs/trunk/cigtg-dev/test/gt2.rsl,v
   cs/trunk/cigtg-dev/test/gt4.xml
   cs/trunk/cigtg-dev/test/gt4.xml,v
   cs/trunk/cigtg-dev/test/helloworld
   cs/trunk/cigtg-dev/test/helloworld-file.xml
   cs/trunk/cigtg-dev/test/helloworld.out
   cs/trunk/cigtg-dev/test/helloworld.xml
   cs/trunk/cigtg-dev/test/helloworld_1.xml
   cs/trunk/grid-env.sh
Log:
initial import of cigtg(cig teragrid project). 


Added: cs/trunk/apps-local/ant/bin/ant
===================================================================
--- cs/trunk/apps-local/ant/bin/ant	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/bin/ant	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,290 @@
+#! /bin/sh
+
+#   Copyright 2001-2005 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+
+# Extract launch and ant arguments, (see details below).
+ant_exec_args=
+no_config=false
+use_jikes_default=false
+ant_exec_debug=false
+show_help=false
+for arg in "$@" ; do
+  if [ "$arg" = "--noconfig" ] ; then
+    no_config=true
+  elif [ "$arg" = "--usejikes" ] ; then
+    use_jikes_default=true
+  elif [ "$arg" = "--execdebug" ] ; then
+    ant_exec_debug=true
+  elif [ my"$arg" = my"--h"  -o my"$arg" = my"--help"  ] ; then
+    show_help=true
+    ant_exec_args="$ant_exec_args -h"
+  else
+    if [  my"$arg" = my"-h"  -o  my"$arg" = my"-help" ] ; then
+      show_help=true
+    fi
+    ant_exec_args="$ant_exec_args \"$arg\""
+  fi
+done
+
+# Source/default ant configuration
+if $no_config ; then
+  rpm_mode=false
+  usejikes=$use_jikes_default
+else
+  # load system-wide ant configuration
+  if [ -f "/etc/ant.conf" ] ; then
+    . /etc/ant.conf
+  fi
+
+  # load user ant configuration
+  if [ -f "$HOME/.ant/ant.conf" ] ; then
+    . $HOME/.ant/ant.conf
+  fi
+  if [ -f "$HOME/.antrc" ] ; then
+    . "$HOME/.antrc"
+  fi
+
+  # provide default configuration values
+  if [ -z "$rpm_mode" ] ; then
+    rpm_mode=false
+  fi
+  if [ -z "$usejikes" ] ; then
+    usejikes=$use_jikes_default
+  fi
+fi
+
+# Setup Java environment in rpm mode
+if $rpm_mode ; then
+  if [ -f /usr/share/java-utils/java-functions ] ; then
+    . /usr/share/java-utils/java-functions
+    set_jvm
+    set_javacmd
+  fi
+fi
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+case "`uname`" in
+  CYGWIN*) cygwin=true ;;
+  Darwin*) darwin=true
+           if [ -z "$JAVA_HOME" ] ; then
+             JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+           fi
+           ;;
+esac
+
+if [ -z "$ANT_HOME" -o ! -d "$ANT_HOME" ] ; then
+  if [ -d /usr/share/ant ] ; then
+     ANT_HOME=/usr/share/ant
+  fi
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+  [ -n "$ANT_HOME" ] &&
+    ANT_HOME=`cygpath --unix "$ANT_HOME"`
+  [ -n "$JAVA_HOME" ] &&
+    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# set ANT_LIB location
+ANT_LIB="${ANT_HOME}/lib"
+
+if [ -z "$JAVACMD" ] ; then
+  if [ -n "$JAVA_HOME"  ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+      # IBM's JDK on AIX uses strange locations for the executables
+      JAVACMD="$JAVA_HOME/jre/sh/java"
+    else
+      JAVACMD="$JAVA_HOME/bin/java"
+    fi
+  else
+    JAVACMD=`which java 2> /dev/null `
+    if [ -z "$JAVACMD" ] ; then
+        JAVACMD=java
+    fi
+  fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+  echo "Error: JAVA_HOME is not defined correctly."
+  echo "  We cannot execute $JAVACMD"
+  exit 1
+fi
+
+# Add the Xerces 2 XML parser in the Debian version
+if [ -z "$LOCALCLASSPATH" ] ; then
+  LOCALCLASSPATH="/usr/share/java/xmlParserAPIs.jar:/usr/share/java/xercesImpl.jar"
+else
+  LOCALCLASSPATH="/usr/share/java/xmlParserAPIs.jar:/usr/share/java/xercesImpl.jar:$LOCALCLASSPATH"
+fi
+
+# Build local classpath using just the launcher in non-rpm mode or
+# use the Jpackage helper in rpm mode with basic and default jars
+# specified in the ant.conf configuration. Because the launcher is
+# used, libraries linked in ANT_HOME will also be include, but this
+# is discouraged as it is not java-version safe. A user should
+# request optional jars and their dependencies via the OPT_JAR_LIST
+# variable
+if $rpm_mode && [ -f /usr/bin/build-classpath ] ; then
+  LOCALCLASSPATH="$(/usr/bin/build-classpath ant ant-launcher jaxp_parser_impl xml-commons-apis)"
+  # If the user requested to try to add some other jars to the classpath
+  if [ -n "$OPT_JAR_LIST" ] ; then
+    _OPTCLASSPATH="$(/usr/bin/build-classpath $OPT_JAR_LIST 2> /dev/null)"
+    if [ -n "$_OPTCLASSPATH" ] ; then 
+      LOCALCLASSPATH="$LOCALCLASSPATH:$_OPTCLASSPATH"
+    fi
+  fi
+
+  # Explicitly add javac path to classpath, assume JAVA_HOME set
+  # properly in rpm mode
+  if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
+    LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar"
+  fi
+  if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
+    LOCALCLASSPATH="$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip"
+  fi
+
+  # if CLASSPATH_OVERRIDE env var is set, LOCALCLASSPATH will be
+  # user CLASSPATH first and ant-found jars after.
+  # In that case, the user CLASSPATH will override ant-found jars
+  #
+  # if CLASSPATH_OVERRIDE is not set, we'll have the normal behaviour
+  # with ant-found jars first and user CLASSPATH after
+  if [ -n "$CLASSPATH" ] ; then
+    # merge local and specified classpath 
+    if [ -z "$LOCALCLASSPATH" ] ; then 
+      LOCALCLASSPATH="$CLASSPATH"
+    elif [ -n "$CLASSPATH_OVERRIDE" ] ; then
+      LOCALCLASSPATH="$CLASSPATH:$LOCALCLASSPATH"
+    else
+      LOCALCLASSPATH="$LOCALCLASSPATH:$CLASSPATH"
+    fi
+
+    # remove class path from launcher -cp option
+    CLASSPATH=""
+  fi
+else
+  # not using rpm_mode; use launcher to determine classpaths
+  if [ -z "$LOCALCLASSPATH" ] ; then
+      LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar
+  else
+      LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH
+  fi
+fi
+
+if [ -n "$JAVA_HOME" ] ; then
+  # OSX hack to make Ant work with jikes
+  if $darwin ; then
+    OSXHACK="${JAVA_HOME}/../Classes"
+    if [ -d "${OSXHACK}" ] ; then
+      for i in "${OSXHACK}"/*.jar
+      do
+        JIKESPATH="$JIKESPATH:$i"
+      done
+    fi
+  fi
+fi
+
+# Allow Jikes support (off by default)
+if $usejikes; then
+  ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes"
+fi
+
+# For Cygwin, switch paths to appropriate format before running java
+# For PATHs convert to unix format first, then to windows format to ensure
+# both formats are supported. Probably this will fail on directories with ;
+# in the name in the path. Let's assume that paths containing ; are more
+# rare than windows style paths on cygwin.
+if $cygwin; then
+  if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
+    format=mixed
+  else
+    format=windows
+  fi
+  ANT_HOME=`cygpath --$format "$ANT_HOME"`
+  ANT_LIB=`cygpath --$format "$ANT_LIB"`
+  JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
+  LCP_TEMP=`cygpath --path --unix "$LOCALCLASSPATH"`
+  LOCALCLASSPATH=`cygpath --path --$format "$LCP_TEMP"`
+  if [ -n "$CLASSPATH" ] ; then
+    CP_TEMP=`cygpath --path --unix "$CLASSPATH"`
+    CLASSPATH=`cygpath --path --$format "$CP_TEMP"`
+  fi
+  CYGHOME=`cygpath --$format "$HOME"`
+fi
+
+# Show script help if requested
+if $show_help ; then
+  echo $0 '[script options] [options] [target [target2 [target3] ..]]'
+  echo 'Script Options:'
+  echo '  --help, --h            print this message and ant help'
+  echo '  --noconfig             suppress sourcing of /etc/ant.conf,'
+  echo '                         $HOME/.ant/ant.conf, and $HOME/.antrc'
+  echo '                         configuration files'
+  echo '  --usejikes             enable use of jikes by default, unless'
+  echo '                         set explicitly in configuration files'
+  echo '  --execdebug            print ant exec line generated by this'
+  echo '                         launch script'
+  echo '  '
+fi
+# add a second backslash to variables terminated by a backslash under cygwin
+if $cygwin; then
+  case "$ANT_HOME" in
+    *\\ )
+    ANT_HOME="$ANT_HOME\\"
+    ;;
+  esac
+  case "$CYGHOME" in
+    *\\ )
+    CYGHOME="$CYGHOME\\"
+    ;;
+  esac
+  case "$JIKESPATH" in
+    *\\ )
+    JIKESPATH="$JIKESPATH\\"
+    ;;
+  esac
+  case "$LOCALCLASSPATH" in
+    *\\ )
+    LOCALCLASSPATH="$LOCALCLASSPATH\\"
+    ;;
+  esac
+  case "$CLASSPATH" in
+    *\\ )
+    CLASSPATH="$CLASSPATH\\"
+    ;;
+  esac
+fi
+# Execute ant using eval/exec to preserve spaces in paths,
+# java options, and ant args
+ant_sys_opts=
+if [ -n "$CYGHOME" ]; then
+  if [ -n "$JIKESPATH" ]; then
+    ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\" -Dcygwin.user.home=\"$CYGHOME\""
+  else
+    ant_sys_opts="-Dcygwin.user.home=\"$CYGHOME\""
+  fi
+else
+  if [ -n "$JIKESPATH" ]; then
+    ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\""
+  fi
+fi
+ant_exec_command="exec \"$JAVACMD\" $ANT_OPTS -classpath \"$LOCALCLASSPATH\" -Dant.home=\"$ANT_HOME\" -Dant.library.dir=\"$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"$CLASSPATH\" $ant_exec_args"
+if $ant_exec_debug ; then
+    echo $ant_exec_command
+fi
+eval $ant_exec_command


Property changes on: cs/trunk/apps-local/ant/bin/ant
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/ant/bin/antRun
===================================================================
--- cs/trunk/apps-local/ant/bin/antRun	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/bin/antRun	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+#
+#  Copyright  2001-2002,2004 The Apache Software Foundation
+# 
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+# 
+#       http://www.apache.org/licenses/LICENSE-2.0
+# 
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+# 
+#
+
+# Args: DIR command
+cd "$1"
+CMD="$2"
+shift
+shift
+
+exec "$CMD" "$@"


Property changes on: cs/trunk/apps-local/ant/bin/antRun
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/ant/bin/antRun.pl
===================================================================
--- cs/trunk/apps-local/ant/bin/antRun.pl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/bin/antRun.pl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+#!/usr/bin/perl
+#
+# Copyright 2001,2003-2004 The Apache Software Foundation
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#######################################################################
+#
+# antRun.pl
+#
+# wrapper script for invoking commands on a platform with Perl installed
+# this is akin to antRun.bat, and antRun the SH script 
+#
+# created:         2001-10-18
+# author:          Jeff Tulley jtulley at novell.com 
+#######################################################################
+#be fussy about variables
+use strict;
+
+#turn warnings on during dev; generates a few spurious uninitialised var access warnings
+#use warnings;
+
+#and set $debug to 1 to turn on trace info (currently unused)
+my $debug=1;
+
+#######################################################################
+# change drive and directory to "%1"
+my $ANT_RUN_CMD = @ARGV[0];
+
+# assign current run command to "%2"
+chdir (@ARGV[0]) || die "Can't cd to $ARGV[0]: $!\n";
+if ($^O eq "NetWare") {
+    # There is a bug in Perl 5 on NetWare, where chdir does not
+    # do anything.  On NetWare, the following path-prefixed form should 
+    # always work. (afaict)
+    $ANT_RUN_CMD .= "/". at ARGV[1];
+}
+else {
+    $ANT_RUN_CMD = @ARGV[1];
+}
+
+# dispose of the first two arguments, leaving only the command's args.
+shift;
+shift;
+
+# run the command
+my $returnValue = system $ANT_RUN_CMD, @ARGV;
+if ($returnValue eq 0) {
+    exit 0;
+}
+else {
+    # only 0 and 1 are widely recognized as exit values
+    # so change the exit value to 1
+    exit 1;
+}


Property changes on: cs/trunk/apps-local/ant/bin/antRun.pl
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/ant/bin/complete-ant-cmd.pl
===================================================================
--- cs/trunk/apps-local/ant/bin/complete-ant-cmd.pl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/bin/complete-ant-cmd.pl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+#!/usr/bin/perl
+#
+# Copyright 2001,2004 The Apache Software Foundation
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+# A script to allow Bash or Z-Shell to complete an Ant command-line.  
+#
+# To install for Bash 2.0 or better, add the following to ~/.bashrc:
+# 
+#     $ complete -C complete-ant-cmd ant build.sh
+#
+# To install for Z-Shell 2.5 or better, add the following to ~/.zshrc:
+#
+#     function ant_complete () {
+#         local args_line args
+#         read -l args_line
+#         set -A args $args_line
+#         set -A reply $(COMP_LINE=$args_line complete-ant-cmd ${args[1]} $1)
+#     }
+#     compctl -K ant_complete ant build.sh
+#     
+# @author Mike Williams <mikew at cortexebusiness.com.au>
+
+my $cmdLine = $ENV{'COMP_LINE'};
+my $antCmd = $ARGV[0];
+my $word = $ARGV[1];
+
+my @completions;
+if ($word =~ /^-/) {
+    list( restrict( $word, getArguments() ));
+} elsif ($cmdLine =~ /-(f|buildfile)\s+\S*$/) {
+    list( getBuildFiles($word) );
+} else {
+    list( restrict( $word, getTargets() ));
+}
+
+exit(0);
+
+sub list {
+    for (@_) {
+        print "$_\n";
+    }
+}
+
+sub restrict {
+    my ($word, @completions) = @_;
+    grep( /^\Q$word\E/, @completions );
+}
+
+sub getArguments {
+    qw(-buildfile -debug -emacs -f -find -help -listener -logfile 
+       -logger -projecthelp -quiet -verbose -version); 
+}
+
+
+sub getBuildFiles {
+    my ($word) = @_;
+    grep( /\.xml$/, glob( "$word*" ));
+}
+
+sub getTargets {
+
+    # Look for build-file
+    my $buildFile = 'build.xml';
+    if ($cmdLine =~ /-(f|buildfile)\s+(\S+)/) {
+        $buildFile = $2;
+    }
+    return () unless (-f $buildFile);
+
+    # Run "ant -projecthelp" to list targets.  Keep a cache of results in a
+    # cache-file.
+    my $cacheFile = $buildFile;
+    $cacheFile =~ s|(.*/)?(.*)|${1}.ant-targets-${2}|;
+    if ((!-e $cacheFile) || (-M $buildFile) < (-M $cacheFile)) {
+        open( CACHE, '>'.$cacheFile ) || die "can\'t write $cacheFile: $!\n";
+        open( HELP, "$antCmd -projecthelp -f '$buildFile'|" ) || return(); 
+        my %targets;
+        while( <HELP> ) {
+            if (/^\s+(\S+)/) {
+                $targets{$1}++;
+            }
+        }
+        my @targets = sort keys %targets;
+        for (@targets) { print CACHE "$_\n"; }
+        return @targets;
+    }
+    
+    # Read the target-cache
+    open( CACHE, $cacheFile ) || die "can\'t read $cacheFile: $!\n";
+    my @targets;
+    while (<CACHE>) {
+        chop;
+        s/\r$//;  # for Cygwin
+        push( @targets, $_ );
+    }
+    close( CACHE );
+    @targets;
+
+}
+
+
+


Property changes on: cs/trunk/apps-local/ant/bin/complete-ant-cmd.pl
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/ant/bin/runant.pl
===================================================================
--- cs/trunk/apps-local/ant/bin/runant.pl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/bin/runant.pl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,152 @@
+#!/usr/bin/perl
+#
+# Copyright 2000-2004 The Apache Software Foundation
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+#######################################################################
+#
+# runant.pl
+#
+# wrapper script for invoking ant in a platform with Perl installed
+# this may include cgi-bin invocation, which is considered somewhat daft.
+# (slo: that should be a separate file which can be derived from this
+# and returns the XML formatted output)
+#
+# the code is not totally portable due to classpath and directory splitting
+# issues. oops. (NB, use File::Spec::Functions  will help and the code is
+# structured for the catfile() call, but because of perl version funnies
+# the code is not included. 
+#
+# created:         2000-8-24
+# author:          Steve Loughran steve_l at sourceforge.net
+#######################################################################
+#
+# Assumptions:
+#
+# - the "java" executable/script is on the command path
+# - ANT_HOME has been set
+# - target platform uses ":" as classpath separator or perl indicates it is dos/win32
+# - target platform uses "/" as directory separator.
+
+#be fussy about variables
+use strict;
+
+#platform specifics (disabled)
+#use File::Spec::Functions;
+
+#turn warnings on during dev; generates a few spurious uninitialised var access warnings
+#use warnings;
+
+#and set $debug to 1 to turn on trace info
+my $debug=1;
+
+#######################################################################
+#
+# check to make sure environment is setup
+#
+
+my $HOME = $ENV{ANT_HOME};
+if ($HOME eq "")
+        {
+    die "\n\nANT_HOME *MUST* be set!\n\n";
+        }
+
+my $JAVACMD = $ENV{JAVACMD};
+$JAVACMD = "java" if $JAVACMD eq "";
+
+my $onnetware = 0;
+if ($^O eq "NetWare")
+{
+  $onnetware = 1;
+}
+
+my $oncygwin = ($^O eq "cygwin");
+
+#ISSUE: what java wants to split up classpath varies from platform to platform 
+#and perl is not too hot at hinting which box it is on.
+#here I assume ":" 'cept on win32, dos, and netware. Add extra tests here as needed.
+my $s=":";
+if(($^O eq "MSWin32") || ($^O eq "dos") || ($^O eq "cygwin") ||
+   ($onnetware == 1))
+        {
+        $s=";";
+        }
+
+#build up standard classpath
+my $localpath = "$HOME/lib/ant-launcher.jar";
+#set JVM options and Ant arguments, if any
+my @ANT_OPTS=split(" ", $ENV{ANT_OPTS});
+my @ANT_ARGS=split(" ", $ENV{ANT_ARGS});
+
+#jikes
+if($ENV{JIKESPATH} ne "")
+        {
+        push @ANT_OPTS, "-Djikes.class.path=$ENV{JIKESPATH}";
+        }
+
+#construct arguments to java
+my @ARGS;
+push @ARGS, @ANT_OPTS;
+
+my $CYGHOME = "";
+
+my $classpath=$ENV{CLASSPATH};
+if ($oncygwin == 1) {
+  $localpath = `cygpath --path --windows $localpath`;
+  chomp ($localpath);
+  if (! $classpath eq "")
+  {
+    $classpath = `cygpath --path --windows "$classpath"`;
+    chomp ($classpath);
+  }
+  $HOME = `cygpath --path --windows $HOME`;
+  chomp ($HOME);
+  $CYGHOME = `cygpath --path --windows $ENV{HOME}`;
+  chomp ($CYGHOME);
+}
+push @ARGS, "-classpath", "$localpath";
+push @ARGS, "-Dant.home=$HOME";
+if ( ! $CYGHOME eq "" )
+{
+  push @ARGS, "-Dcygwin.user.home=\"$CYGHOME\""
+}
+push @ARGS, "org.apache.tools.ant.launch.Launcher", @ANT_ARGS;
+push @ARGS, @ARGV;
+if (! $classpath eq "")
+{
+  if ($onnetware == 1)
+  {
+    # make classpath literally $CLASSPATH
+    # this is to avoid pushing us over the 512 character limit
+    # even skip the ; - that is already in $localpath
+    push @ARGS, "-lib", "\$CLASSPATH";
+  }
+  else
+  {
+    push @ARGS, "-lib", "$classpath";
+  }
+}
+print "\n $JAVACMD @ARGS\n\n" if ($debug);
+
+my $returnValue = system $JAVACMD, @ARGS;
+if ($returnValue eq 0)
+        {
+        exit 0;
+        }
+else
+        {
+        # only 0 and 1 are widely recognized as exit values
+        # so change the exit value to 1
+        exit 1;
+        }


Property changes on: cs/trunk/apps-local/ant/bin/runant.pl
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/ant/lib/ant-bootstrap.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/ant/lib/ant-bootstrap.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/ant/lib/ant-launcher.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/ant/lib/ant-launcher.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/ant/lib/ant.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/ant/lib/ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/ant/lib/catalina5.5-ant-jmx.jar
===================================================================
--- cs/trunk/apps-local/ant/lib/catalina5.5-ant-jmx.jar	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/lib/catalina5.5-ant-jmx.jar	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+link ../../tomcat5.5/server/lib/catalina-ant-jmx.jar
\ No newline at end of file


Property changes on: cs/trunk/apps-local/ant/lib/catalina5.5-ant-jmx.jar
___________________________________________________________________
Name: svn:special
   + *

Added: cs/trunk/apps-local/ant/lib/catalina5.5-ant.jar
===================================================================
--- cs/trunk/apps-local/ant/lib/catalina5.5-ant.jar	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/lib/catalina5.5-ant.jar	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+link ../../tomcat5.5/server/lib/catalina-ant.jar
\ No newline at end of file


Property changes on: cs/trunk/apps-local/ant/lib/catalina5.5-ant.jar
___________________________________________________________________
Name: svn:special
   + *

Added: cs/trunk/apps-local/ant/lib/tomcat5.5-jkstatus-ant.jar
===================================================================
--- cs/trunk/apps-local/ant/lib/tomcat5.5-jkstatus-ant.jar	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/ant/lib/tomcat5.5-jkstatus-ant.jar	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+link ../../tomcat5.5/server/lib/tomcat-jkstatus-ant.jar
\ No newline at end of file


Property changes on: cs/trunk/apps-local/ant/lib/tomcat5.5-jkstatus-ant.jar
___________________________________________________________________
Name: svn:special
   + *

Added: cs/trunk/apps-local/apache-tomcat/LICENSE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: cs/trunk/apps-local/apache-tomcat/NOTICE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/NOTICE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/NOTICE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+Java Management Extensions (JMX) support is provided by
+the MX4J package, which is open source software.  The
+original software and related information is available
+at http://mx4j.sourceforge.net.
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.

Added: cs/trunk/apps-local/apache-tomcat/RELEASE-NOTES
===================================================================
--- cs/trunk/apps-local/apache-tomcat/RELEASE-NOTES	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/RELEASE-NOTES	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+
+
+                     Apache Tomcat Version 5.5.23
+                            Release Notes
+
+
+$Id: RELEASE-NOTES 439327 2006-09-01 14:06:34Z fhanik $
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
+configuration to run on J2SE 1.4.  Make sure to read the "RUNNING.txt" 
+file in the fulldocs downloadable file(s) if you are using J2SE 1.4.
+
+In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 5.5 makes all of the following APIs available
+for use by web applications (by placing them in "common/lib" or "shared/lib"):
+* commons-el.jar (Commons Expression Language 1.0)
+* commons-logging-api.jar (Commons Logging API 1.0.x)
+* jasper-compiler.jar (Jasper 2 Compiler)
+* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
+* jasper-runtime.jar (Jasper 2 Runtime)
+* jsp-api.jar (JSP 2.0 API)
+* naming-common.jar (JNDI Context implementation)
+* naming-factory.jar (JNDI object factories for J2EE ENC support)
+* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
+* naming-resources.jar (JNDI DirContext implementations)
+* servlet-api.jar (Servlet 2.4 API)
+
+Installing the compatibility package will add the following to the list, which are
+needed when running on J2SE 1.4:
+* jmx.jar (Java Management Extensions API 1.2 or later)
+* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"common/endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+Please note, that these are only recommendations and may not apply in some cases.
+Before you change this variable, make sure you understand its impact, and what it does.
+A brief explanation can be found in the mailing archives at 
+http://marc.theaimsgroup.com/?l=tomcat-dev&m=115689139313901&w=2
+For further assistance, please consult your JVM vendor.
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/

Added: cs/trunk/apps-local/apache-tomcat/RUNNING.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/RUNNING.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/RUNNING.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+$Id: RUNNING.txt 354430 2005-12-06 13:44:26Z yoavs $
+
+                 ============================================
+                 Running The Tomcat 5.5 Servlet/JSP Container
+                 ============================================
+
+Out of the box, Tomcat 5.5 requires the Java 2 Standard Edition Runtime
+Environment (JRE) version 5.0 or later.  However, you can also run Tomcat
+5.5 on earlier versions of the JRE, as detailed below.
+
+=============================
+Running With JRE 5.0 Or Later
+=============================
+
+(1) Download and Install the J2SE Runtime Environment (JRE)
+
+(1.1) Download the Java 2 Standard Edition Runtime Environment (JRE),
+      release version 5.0 or later, from http://java.sun.com/j2se.
+
+(1.2) Install the JRE according to the instructions included with the
+      release.
+
+(1.3) Set an environment variable named JAVA_HOME to the pathname of
+      the directory into which you installed the JRE, e.g. c:\j2sdk5.0
+      or /usr/local/java/j2sdk5.0.
+
+
+(2) Download and Install the Tomcat Binary Distribution
+
+NOTE:  As an alternative to downloading a binary distribution, you can create
+your own from the Tomcat source repository, as described in "BUILDING.txt".
+If you do this, the value to use for "${catalina.home}" will be the "dist"
+subdirectory of your source distribution.
+
+(2.1) Download a binary distribution of Tomcat from:
+
+      http://tomcat.apache.org
+
+(2.2) Unpack the binary distribution into a convenient location so that the
+      distribution resides in its own directory (conventionally named
+      "apache-tomcat-[version]").  For the purposes of the remainder of this document,
+      the symbolic name "$CATALINA_HOME" is used to refer to the full
+      pathname of the release directory.
+
+
+(3) Start Up Tomcat
+
+(3.1) Tomcat can be started by executing the following commands:
+
+      $CATALINA_HOME\bin\startup.bat          (Windows)
+
+      $CATALINA_HOME/bin/startup.sh           (Unix)
+
+(3.2) After startup, the default web applications included with Tomcat will be
+      available by visiting:
+
+      http://localhost:8080/
+
+(3.3) Further information about configuring and running Tomcat can be found in
+      the documentation included here, as well as on the Tomcat web site:
+
+      http://tomcat.apache.org
+
+
+(4) Shut Down Tomcat
+
+(4.1) Tomcat can be shut down by executing the following command:
+
+      $CATALINA_HOME\bin\shutdown            (Windows)
+
+      $CATALINA_HOME/bin/shutdown.sh         (Unix)
+
+
+
+====================================
+Running Tomcat With J2SE Version 1.4
+====================================
+
+(1) Obtain the compat package:
+
+(1.1) Download the compat package from the binary download site:
+      http://tomcat.apache.org
+
+      * Or build this package yourself from the source code: see 
+        "BUILDING.txt" in this directory.
+
+(2) Unzip the package in $CATALINA_HOME.  It will place the XML
+    parser APIs and Xerces implementation in the common/endorsed
+    directory, and the JMX API jar (jmx.jar from Sun) in the bin
+    directory.
+
+(3) Follow the same directions for starting and stopping the
+    server as if you were using J2SE 5.0.
+
+
+==================================================
+Advanced Configuration - Multiple Tomcat Instances
+==================================================
+
+In many circumstances, it is desirable to have a single copy of a Tomcat
+binary distribution shared among multiple users on the same server.  To make
+this possible, you can pass a "-Dcatalina.base=$CATALINA_BASE" argument when
+executing the startup command (see (2)). In this
+"-Dcatalina.base=$CATALINA_BASE" argument, replace $CATALINA_BASE with the
+directory that contains the files for your 'personal' Tomcat instance.
+
+When you use this "-Dcatalina.base=$CATALINA_BASE" argument, Tomcat will
+calculate all relative references for files in the following directories based
+on the value of $CATALINA_BASE instead of $CATALINA_HOME:
+
+* conf - Server configuration files (including server.xml)
+
+* logs - Log and output files
+
+* shared - For classes and resources that must be shared across all web
+           applications
+
+* webapps - Automatically loaded web applications
+
+* work - Temporary working directories for web applications
+
+* temp - Directory used by the JVM for temporary files (java.io.tmpdir)
+
+If you do not pass the "-Dcatalina.base=$CATALINA_BASE" argument to the
+startup command, $CATALINA_BASE will default to the same value as $CATALINA_HOME,
+ which means that the same directory is used for all relative path resolutions.
+
+The administration and manager web applications, which are defined in the
+$CATALINA_BASE/conf/Catalina/localhost/admin.xml
+and 
+$CATALINA_BASE/conf/Catalina/localhost/manager.xml files, will
+not run in that configuration, unless either:
+- The path specified in the docBase attribute of the Context element is made
+  absolute, and replaced respectively by $CATALINA_HOME/server/webapps/admin
+  and $CATALINA_HOME/server/webapps/manager
+- Both web applications are copied or moved to $CATALINA_BASE, 
+  and the path specified in the docBase attribute of the Context
+  element is modified appropriately.
+- Both web applications are disabled by removing
+  $CATALINA_BASE/conf/Catalina/localhost/admin.xml
+  and
+  $CATALINA_BASE/conf/Catalina/localhost/manager.xml.
+
+
+================
+Troubleshooting
+================
+
+There are only really 3 things likely to go wrong during the stand-alone
+Tomcat install:
+
+(1) The most common hiccup is when another web server (or any process for that
+    matter) has laid claim to port 8080.  This is the default HTTP port that
+    Tomcat attempts to bind to at startup.  To change this, open the file:
+
+       $CATALINA_HOME/conf/server.xml
+
+    and search for '8080'.  Change it to a port that isn't in use, and is
+    greater than 1024, as ports less than or equal to 1024 require superuser
+    access to bind under UNIX.
+
+   Restart Tomcat and you're in business.  Be sure that you replace the "8080"
+   in the URL you're using to access Tomcat.  For example, if you change the
+   port to 1977, you would request the URL http://localhost:1977/ in your browser.
+
+(2) An "out of environment space" error when running the batch files in
+    Windows 95, 98, or ME operating systems.
+
+    Right-click on the STARTUP.BAT and SHUTDOWN.BAT files.  Click on
+    "Properties", then on the "Memory" tab.  For the "Initial environment" field,
+    enter in something like 4096.
+
+    After you click apply, Windows will create shortcuts which you can use
+    to start and stop the container.
+
+(3) The 'localhost' machine isn't found.  This could happen if you're behind a
+    proxy.  If that's the case, make sure the proxy configuration for your
+    browser knows that you shouldn't be going through the proxy to access the
+    "localhost".
+
+    In Netscape, this is under Edit/Preferences -> Advanced/Proxies, and in
+    Internet Explorer, Tools -> Internet Options -> Connections -> LAN Settings.

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/LICENSE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/NOTICE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/NOTICE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/NOTICE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+Java Management Extensions (JMX) support is provided by
+the MX4J package, which is open source software.  The
+original software and related information is available
+at http://mx4j.sourceforge.net.
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/RELEASE-NOTES
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/RELEASE-NOTES	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/RELEASE-NOTES	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+
+
+                     Apache Tomcat Version 5.5.23
+                            Release Notes
+
+
+$Id: RELEASE-NOTES 439327 2006-09-01 14:06:34Z fhanik $
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
+configuration to run on J2SE 1.4.  Make sure to read the "RUNNING.txt" 
+file in the fulldocs downloadable file(s) if you are using J2SE 1.4.
+
+In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 5.5 makes all of the following APIs available
+for use by web applications (by placing them in "common/lib" or "shared/lib"):
+* commons-el.jar (Commons Expression Language 1.0)
+* commons-logging-api.jar (Commons Logging API 1.0.x)
+* jasper-compiler.jar (Jasper 2 Compiler)
+* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
+* jasper-runtime.jar (Jasper 2 Runtime)
+* jsp-api.jar (JSP 2.0 API)
+* naming-common.jar (JNDI Context implementation)
+* naming-factory.jar (JNDI object factories for J2EE ENC support)
+* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
+* naming-resources.jar (JNDI DirContext implementations)
+* servlet-api.jar (Servlet 2.4 API)
+
+Installing the compatibility package will add the following to the list, which are
+needed when running on J2SE 1.4:
+* jmx.jar (Java Management Extensions API 1.2 or later)
+* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"common/endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+Please note, that these are only recommendations and may not apply in some cases.
+Before you change this variable, make sure you understand its impact, and what it does.
+A brief explanation can be found in the mailing archives at 
+http://marc.theaimsgroup.com/?l=tomcat-dev&m=115689139313901&w=2
+For further assistance, please consult your JVM vendor.
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/controls.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/controls.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/controls.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE taglib
+  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+         "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>controls</short-name>
+  <description>
+    JSP tag library containing custom GUI controls used in the
+    Tomcat Administrative Application.
+  </description>
+
+  <!-- ========== Instant Table Tag ===================================== -->
+
+  <tag>
+
+    <name>table</name>
+    <tag-class>org.apache.webapp.admin.TableTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "table" object, which is rendered as an HTML
+      "table" element. 
+      
+      NOTE:  The only valid nested content for this tag is
+      "row" tags from this library.  Anything else will cause
+      the rendered HTML to be invalid.
+
+      NOTE:  To be usable, this tag must be nested inside an
+      HTML &lt;form&gt; element.
+    </description>
+
+    <attribute>
+      <name>columns</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Integer) number of columns that the table contains.  If
+        not specified, only two columns will be visible.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>tableStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the instant table.  If not specified, no overall
+        style class is applied.
+      </description>
+    </attribute>
+ 
+    <attribute>
+      <name>lineStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style for the lines between rows.
+      </description>
+    </attribute>
+
+  </tag>
+
+    <tag>
+
+    <name>row</name>
+    <tag-class>org.apache.webapp.admin.RowTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Define a single "instant table row" option for the surrounding "table"
+      tag.  It is not valid to use this tag *except* when nested inside an
+      "table" tag.
+
+      NOTE: This tag can nest only "label" and "data" tags.
+    </description>
+
+    <attribute>
+      <name>header</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if this row is
+        the header row.
+        </description>
+    </attribute>
+    
+     <attribute>
+      <name>labelStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The style for the label table data element.
+      </description>
+    </attribute>
+    
+     <attribute>
+      <name>dataStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The style for the value of the table data element.
+      </description>
+    </attribute>    
+    
+     <attribute>
+      <name>styleId</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The styleId for the label table data element.
+      </description>
+    </attribute>
+        
+  </tag>
+
+ <tag>
+
+    <name>label</name>
+    <tag-class>org.apache.webapp.admin.LabelTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "label" object, which is rendered as a label in the row of
+      an HTML "table" element. 
+
+      NOTE:  To be usable, this tag must be nested inside a "row" tag.
+    </description>
+  </tag>
+
+ <tag>
+
+    <name>data</name>
+    <tag-class>org.apache.webapp.admin.DataTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "data" object, which is rendered as a label in the row of
+      an HTML "table" element. 
+
+      NOTE:  To be usable, this tag must be nested inside a "row" tag.
+    </description>
+  </tag>
+
+  <!-- ========== Instant Actions Tag ===================================== -->
+
+   <tag>
+
+    <name>actions</name>
+    <tag-class>org.apache.webapp.admin.ActionsTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render an "instant actions" object, which is rendered as an HTML
+      "select" element, where the selection of a particular element from
+      the list immediately causes a JavaScript function to be executed
+      (with the available elements specified by "action" tag instances
+      nested within the body of the "actions" tag).
+
+      NOTE:  The only valid nested content for this tag is
+      "action" tags from this library.  Anything else will cause
+      the rendered HTML to be invalid.
+
+      NOTE:  To be usable, this tag must be nested inside an
+      HTML &lt;form&gt; element.
+    </description>
+
+    <attribute>
+      <name>size</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Integer) number of rows that will be visible to the user.  If
+        not specified, only one row will be visible.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the instant actions control.  If not specified, no overall
+        style class is applied.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>label</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        HTML Label tag generation.
+      </description>
+    </attribute>
+    
+  </tag>
+
+  <tag>
+
+    <name>action</name>
+    <tag-class>org.apache.webapp.admin.ActionTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Define a single "instant action" option for the surrounding "actions"
+      tag.  It is not valid to use this tag *except* when nested inside an
+      "actions" tag.
+
+      NOTE:  The body content of this tag (which should be suitably
+      localized, if required by your application) is used as the
+      user-visible label for this action.
+    </description>
+
+    <attribute>
+      <name>selected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if this action should
+        already be selected when the "instant actions" element is
+        initially displayed.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if the selection
+        for this action should be disabled.        
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>url</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The URL to which the current frame or window will be transferred
+        if the "onchange" event handler of this "instant actions" element
+        is triggered, and this is the currently selected action.  If no
+        URL is specified, no action will be taken (useful for "(None)"
+        options and dividers).
+
+        If this URL starts with a slash, it will be assumed to be
+        context-relative, and will be prefixed with the context path
+        of this request.  Otherwise, it will be used unmodified.
+
+        NOTE:  This URL will be passed through URL rewriting so that it
+        will maintain session identity even in environments were cookies
+        are not being used.
+      </description>
+    </attribute>
+
+  </tag>
+
+
+  <!-- ========== Tree Control Tag ======================================== -->
+
+  <tag>
+
+    <name>tree</name>
+    <tag-class>org.apache.webapp.admin.TreeControlTag</tag-class>
+    <body-content>empty</body-content>
+    <description>
+      Render a "tree" control, based on the current state of a data object
+      of type org.apache.webapp.admin.TreeControl, which is identified
+      by the name specified in the "tree" attribute, in the JSP scope
+      specified by the "scope" attribute.
+    </description>
+
+    <attribute>
+      <name>action</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Hyperlink to which expand/contract actions should be sent,
+        with a string "${node}" marking where the node name of the
+        affected node should be included (which will usually be as
+        the value of a request parameter).
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>images</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a directory containing the images for our icons,
+        relative to the page including this tag.  If not specified,
+        defaults to "images".
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The JSP scope within which the "tree" attribute is to be found
+        (page, request, session, or application).  If not specified, the
+        "tree" attribute will be searched for in any scope.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the tree control.  If not specified, no overall style class
+        is applied.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>styleSelected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the text of any node that
+        is currently selected.  If not specified, no style class will be
+        applied to the text of the selected node.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>styleUnselected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the text of any node that
+        is *not* currently selected.  If not specified, no style class will
+         be applied to the text of non-selected nodes.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>tree</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the attribute (in the scope specified by the "scope"
+        attribute, if any) under which an object of type
+        org.apache.webapp.admin.TreeControl is stored.  This object
+        represents the entire current state of the tree, including
+        a representation of the hierarchical representation of the
+        nodes, plus the current expanded/ or contracted state of
+        non-leaf nodes.
+      </description>
+    </attribute>
+
+  </tag>
+
+  <!-- ========== JMX Attribute Display Tag =============================== -->
+
+  <tag>
+
+    <name>attribute</name>
+    <tag-class>org.apache.webapp.admin.AttributeTag</tag-class>
+    <body-content>empty</body-content>
+    <description>
+      Look up an attribute on a JMX MBean, specified by an object name
+      specified by the "name" (and optional "property" and "scope")
+      attributes, and render it to the current JSP writer.  The object name
+      identified by these attributes can be either a java.lang.String version
+      of the name, or a javax.management.ObjectName instance.
+    </description>
+
+    <attribute>
+      <name>attribute</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the attribute of the JMX MBean whose value is to be
+        retrieved and written to the current JSP writer.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a bean, optionally in some scope identified by the "scope"
+        attribute.  If the "property" attribute is not specified, this bean
+        must by a String or an ObjectName.  Otherwise, this bean must have
+        a property getter for the property named by "property", which will
+        return the String or ObjectName.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a bean property, on the bean identified by the "name"
+        (and optional "scope") attributes, that is either a String or an
+        ObjectName of the JMX MBean whose attribute is to be retrieved.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the scope ("page", "request", "session", or "application")
+        in which the bean identified by the "name" attribute is to be found.
+        If not specified, all scopes will be searched in ascending order.
+      </description>
+    </attribute>
+
+  </tag>
+
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-collections.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/struts.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/lib/struts.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/struts-config.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/struts-config.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/struts-config.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,970 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE struts-config PUBLIC
+          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
+          "http://struts.apache.org/dtds/struts-config_1_2.dtd">
+
+
+<struts-config>
+
+
+  <!-- ========== Data Source Configuration =============================== -->
+
+
+  <!-- ========== Form Bean Definitions =================================== -->
+
+  <form-beans>
+
+    <!-- Set Locale form bean -->
+    <form-bean      name="setLocaleForm"
+                    type="org.apache.webapp.admin.SetLocaleForm"/>
+
+    <!-- ============= Server Module ============= -->
+
+    <form-bean      name="serverForm"
+                    type="org.apache.webapp.admin.server.ServerForm"/>
+                    
+    <!-- ============= Service Module ============= -->
+
+    <form-bean      name="serviceForm"
+                    type="org.apache.webapp.admin.service.ServiceForm"/>
+                    
+    <form-bean      name="servicesForm"
+                    type="org.apache.webapp.admin.service.ServicesForm"/>
+
+    <!-- ============= Host Module ============= -->
+
+    <form-bean      name="hostForm"
+                    type="org.apache.webapp.admin.host.HostForm"/>
+                    
+    <form-bean      name="hostsForm"
+                    type="org.apache.webapp.admin.host.HostsForm"/>
+
+    <form-bean      name="aliasForm"
+                    type="org.apache.webapp.admin.host.AliasForm"/>
+                    
+    <form-bean      name="aliasesForm"
+                    type="org.apache.webapp.admin.host.AliasesForm"/>
+
+    <!-- ============= Realm Module ============= -->
+
+    <form-bean      name="dataSourceRealmForm"
+                    type="org.apache.webapp.admin.realm.DataSourceRealmForm"/>
+
+    <form-bean      name="jdbcRealmForm"
+                    type="org.apache.webapp.admin.realm.JDBCRealmForm"/>
+
+    <form-bean      name="jndiRealmForm"
+                    type="org.apache.webapp.admin.realm.JNDIRealmForm"/>
+
+    <form-bean      name="memoryRealmForm"
+                    type="org.apache.webapp.admin.realm.MemoryRealmForm"/>
+
+    <form-bean      name="userDatabaseRealmForm"
+                    type="org.apache.webapp.admin.realm.UserDatabaseRealmForm"/>
+
+    <form-bean      name="realmsForm"
+                    type="org.apache.webapp.admin.realm.RealmsForm"/>
+
+    <!-- ============= Context Module ============= -->
+
+    <form-bean      name="contextForm"
+                    type="org.apache.webapp.admin.context.ContextForm"/>
+                    
+    <form-bean      name="contextsForm"
+                    type="org.apache.webapp.admin.context.ContextsForm"/>
+                    
+    <!-- ============= DefaultContext Module ============= -->
+                                        
+    <!-- ============= Connector Module ============= -->
+
+    <form-bean      name="connectorForm"
+                    type="org.apache.webapp.admin.connector.ConnectorForm"/>
+                    
+    <form-bean      name="connectorsForm"
+                    type="org.apache.webapp.admin.connector.ConnectorsForm"/>
+
+    <!-- ============= Valve Module ============= -->
+
+    <form-bean      name="accessLogValveForm"
+                    type="org.apache.webapp.admin.valve.AccessLogValveForm"/>
+
+    <form-bean      name="remoteAddrValveForm"
+                    type="org.apache.webapp.admin.valve.RemoteAddrValveForm"/>
+
+    <form-bean      name="remoteHostValveForm"
+                    type="org.apache.webapp.admin.valve.RemoteHostValveForm"/>
+
+    <form-bean      name="requestDumperValveForm"
+                    type="org.apache.webapp.admin.valve.RequestDumperValveForm"/>
+
+    <form-bean      name="singleSignOnValveForm"
+                    type="org.apache.webapp.admin.valve.SingleSignOnValveForm"/>
+
+    <form-bean      name="valvesForm"
+                    type="org.apache.webapp.admin.valve.ValvesForm"/>
+
+    <!-- ========== Resources Module ========== -->
+
+    <form-bean      name="envEntryForm"
+                    type="org.apache.webapp.admin.resources.EnvEntryForm"/>
+
+    <form-bean      name="envEntriesForm"
+                    type="org.apache.webapp.admin.resources.EnvEntriesForm"/>
+
+    <form-bean      name="userDatabaseForm"
+                    type="org.apache.webapp.admin.resources.UserDatabaseForm"/>
+
+    <form-bean      name="userDatabasesForm"
+                    type="org.apache.webapp.admin.resources.UserDatabasesForm"/>
+
+    <form-bean      name="dataSourceForm"
+                    type="org.apache.webapp.admin.resources.DataSourceForm"/>
+
+    <form-bean      name="dataSourcesForm"
+                    type="org.apache.webapp.admin.resources.DataSourcesForm"/>
+
+    <form-bean      name="mailSessionForm"
+                    type="org.apache.webapp.admin.resources.MailSessionForm"/>
+
+    <form-bean      name="mailSessionsForm"
+                    type="org.apache.webapp.admin.resources.MailSessionsForm"/>
+
+    <form-bean      name="resourceLinkForm"
+                    type="org.apache.webapp.admin.resources.ResourceLinkForm"/>
+
+    <form-bean      name="resourceLinksForm"
+                    type="org.apache.webapp.admin.resources.ResourceLinksForm"/>
+
+    <!-- ========== User Database Module ========== -->
+
+    <form-bean      name="databaseForm"
+                    type="org.apache.webapp.admin.users.BaseForm"/>
+
+    <form-bean      name="groupForm"
+                    type="org.apache.webapp.admin.users.GroupForm"/>
+
+    <form-bean      name="groupsForm"
+                    type="org.apache.webapp.admin.users.GroupsForm"/>
+
+    <form-bean      name="roleForm"
+                    type="org.apache.webapp.admin.users.RoleForm"/>
+
+    <form-bean      name="rolesForm"
+                    type="org.apache.webapp.admin.users.RolesForm"/>
+
+    <form-bean      name="userForm"
+                    type="org.apache.webapp.admin.users.UserForm"/>
+
+    <form-bean      name="usersForm"
+                    type="org.apache.webapp.admin.users.UsersForm"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </form-beans>
+
+
+  <!-- ========== Global Forward Definitions ============================== -->
+
+  <global-forwards>
+
+    <forward        name="Dump Registry Results"
+                    path="/dumpRegistry.jsp"
+                redirect="false"/>
+
+    <forward        name="Dump Server Results"
+                    path="/dumpServer.jsp"
+                redirect="false"/>
+
+    <forward        name="Main Menu"
+                    path="/index.jsp"
+                redirect="false"/>
+
+    <forward        name="Tree Control Test"
+                    path="/tree-control-test.jsp"
+                redirect="false"/>
+                  
+    <forward        name="Save Successful"
+                    path="/saved.jsp"
+                redirect="false"/>
+
+    <forward        name="Save Unsuccessful"
+                    path="/savefail.jsp"
+                redirect="false"/>
+                
+    <forward        name="Blank"
+                    path="/blank.jsp"
+                redirect="false"/>
+
+    <forward        name="User"
+                    path="/user.jsp"
+                redirect="false"/>
+
+    <!-- ============ Server Module ============== -->
+
+    <forward        name="Server"
+                    path="/server/server.jsp"
+                redirect="false"/>
+    
+    <!-- ============ Service Module ============== -->
+
+    <forward        name="Service"
+                    path="/service/service.jsp"
+                redirect="false"/>
+
+    <forward        name="Services"
+                    path="/service/services.jsp"
+                redirect="false"/>
+
+    <!-- ============ Host Module ============== -->
+
+    <forward        name="Host"
+                    path="/host/host.jsp"
+                redirect="false"/>
+
+    <forward        name="Hosts"
+                    path="/host/hosts.jsp"
+                redirect="false"/>
+
+    <forward        name="Alias"
+                    path="/host/alias.jsp"
+                redirect="false"/>
+
+    <forward        name="Aliases"
+                    path="/host/aliases.jsp"
+                redirect="false"/>
+
+
+    <!-- ============ Context Module ============== -->
+
+    <forward        name="Context"
+                    path="/context/context.jsp"
+                redirect="false"/>
+
+    <forward        name="Contexts"
+                    path="/context/contexts.jsp"
+                redirect="false"/>
+
+    <!-- ============ DefaultContext Module ============== -->
+
+    <!-- ============ Connector Module ============== -->
+
+    <forward        name="Connector"
+                    path="/connector/connector.jsp"
+                redirect="false"/>
+
+    <forward        name="Connectors"
+                    path="/connector/connectors.jsp"
+                redirect="false"/>
+
+    <!-- ============ Realm Module ============== -->
+
+    <forward        name="DataSourceRealm"
+                    path="/realm/dataSourceRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="JDBCRealm"
+                    path="/realm/jdbcRealm.jsp"
+                redirect="false"/>
+                
+    <forward        name="JNDIRealm"
+                    path="/realm/jndiRealm.jsp"
+                redirect="false"/>
+                
+    <forward        name="MemoryRealm"
+                    path="/realm/memoryRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabaseRealm"
+                    path="/realm/userDatabaseRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="Realms"
+                    path="/realm/realms.jsp"
+                redirect="false"/>
+
+    <!-- ============ Context Module ============== -->
+
+    <forward        name="Context"
+                    path="/context/context.jsp"
+                redirect="false"/>
+
+    <forward        name="Contexts"
+                    path="/context/contexts.jsp"
+                redirect="false"/>
+
+    <!-- ============ Valve Module ============== -->
+
+    <forward        name="AccessLogValve"
+                    path="/valve/accessLogValve.jsp"
+                redirect="false"/>
+                
+    <forward        name="RemoteAddrValve"
+                    path="/valve/remoteAddrValve.jsp"
+                redirect="false"/>
+                
+    <forward        name="RemoteHostValve"
+                    path="/valve/remoteHostValve.jsp"
+                redirect="false"/>
+
+    <forward        name="RequestDumperValve"
+                    path="/valve/requestDumperValve.jsp"
+                redirect="false"/>
+
+    <forward        name="SingleSignOn"
+                    path="/valve/singleSignOnValve.jsp"
+                redirect="false"/>
+
+    <forward        name="Valves"
+                    path="/valve/valves.jsp"
+                redirect="false"/>
+
+    <!-- ========== Resources Module ========== -->
+
+    <forward        name="EnvEntry"
+                    path="/resources/envEntry.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries Delete List"
+                    path="/resources/deleteEnvEntries.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries List"
+                    path="/resources/listEnvEntries.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries List Setup"
+                    path="/resources/listEnvEntries.do?forward=EnvEntries+List"
+                redirect="false"/>
+
+    <forward        name="UserDatabase"
+                    path="/resources/userDatabase.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases Delete List"
+                    path="/resources/deleteUserDatabases.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases List"
+                    path="/resources/listUserDatabases.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases List Setup"
+                    path="/resources/listUserDatabases.do?forward=UserDatabases+List"
+                redirect="false"/>
+                
+    <forward        name="DataSource"
+                    path="/resources/dataSource.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources Delete List"
+                    path="/resources/deleteDataSources.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources List"
+                    path="/resources/listDataSources.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources List Setup"
+                    path="/resources/listDataSources.do?forward=DataSources+List"
+                redirect="false"/>
+
+    <forward        name="MailSession"
+                    path="/resources/mailSession.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions Delete List"
+                    path="/resources/deleteMailSessions.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions List"
+                    path="/resources/listMailSessions.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions List Setup"
+                    path="/resources/listMailSessions.do?forward=MailSessions+List"
+                redirect="false"/>
+
+    <forward        name="ResourceLink"
+                    path="/resources/resourceLink.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks Delete List"
+                    path="/resources/deleteResourceLinks.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks List"
+                    path="/resources/listResourceLinks.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks List Setup"
+                    path="/resources/listResourceLinks.do?forward=ResourceLinks+List"
+                redirect="false"/>
+                        
+    <!-- ========== User Database Module ========== -->
+
+    <forward        name="Group"
+                    path="/users/group.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups Delete List"
+                    path="/users/deleteGroups.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups List"
+                    path="/users/listGroups.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups List Setup"
+                    path="/users/listGroups.do?forward=Groups+List"
+                redirect="false"/>
+
+    <forward        name="Role"
+                    path="/users/role.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles Delete List"
+                    path="/users/deleteRoles.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles List"
+                    path="/users/listRoles.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles List Setup"
+                    path="/users/listRoles.do?forward=Roles+List"
+                redirect="false"/>
+
+    <forward        name="User"
+                    path="/users/user.jsp"
+                redirect="false"/>
+
+    <forward        name="Users Delete List"
+                    path="/users/deleteUsers.jsp"
+                redirect="false"/>
+
+    <forward        name="Users List"
+                    path="/users/listUsers.jsp"
+                redirect="false"/>
+
+    <forward        name="Users List Setup"
+                    path="/users/listUsers.do?forward=Users+List"
+                redirect="false"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </global-forwards>
+
+
+  <!-- ========== Action Mapping Definitions ============================== -->
+
+  <action-mappings>
+
+    <!-- Dump registry information (debugging) -->
+    <action    path="/dumpRegistry"
+               type="org.apache.webapp.admin.DumpRegistryAction"/>
+
+    <!-- Dump MBean server information (debugging) -->
+    <action    path="/dumpServer"
+               type="org.apache.webapp.admin.DumpServerAction"/>
+
+    <!-- Set up Tree datastructure -->
+    <action    path="/setUpTree"
+               type="org.apache.webapp.admin.SetUpTreeAction">
+      <forward        name="SetUpTree"
+                      path="/tree-control-test.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Log out of the application -->
+    <action    path="/logOut"
+               type="org.apache.webapp.admin.LogOutAction">
+      <forward        name="Main Menu"
+                      path="/index.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Save current settings to server.xml -->
+    <action    path="/commitChanges"
+               type="org.apache.webapp.admin.CommitChangesAction">
+      <forward        name="Banner"
+                      path="/banner.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Process a set-locale action -->
+    <action    path="/setLocale"
+               type="org.apache.webapp.admin.SetLocaleAction"
+               name="setLocaleForm"
+              scope="session">
+    </action>
+
+    <!-- Tree control test action -->
+    <action    path="/treeControlTest"
+               type="org.apache.webapp.admin.TreeControlTestAction"/>
+
+   <!-- ============= Server Module ============== -->
+
+    <!-- Set up Edit Server transaction -->
+    <action    path="/EditServer"
+               type="org.apache.webapp.admin.server.EditServerAction">
+    </action>
+
+    <!-- Perform Save Server transaction -->
+    <action    path="/SaveServer"
+               type="org.apache.webapp.admin.server.SaveServerAction"
+               name="serverForm"
+              input="/server/server.jsp"
+               scope="session"/>
+
+    <!-- ============= Service Module ============== -->
+
+    <!-- Set up Add Service transaction -->
+    <action    path="/AddService"
+               type="org.apache.webapp.admin.service.AddServiceAction">
+    </action>
+
+    <!-- Set up Delete Services transaction -->
+    <action    path="/DeleteService"
+               type="org.apache.webapp.admin.service.DeleteServiceAction"
+               name="servicesForm"
+               scope="request"/>
+
+    <!-- Perform Delete Services transaction -->
+    <action    path="/DeleteServices"
+               type="org.apache.webapp.admin.service.DeleteServicesAction"
+               name="servicesForm"
+               scope="request"/>
+
+    <!-- Set up Edit Service transaction -->
+    <action    path="/EditService"
+               type="org.apache.webapp.admin.service.EditServiceAction">
+    </action>
+
+    <!-- Perform Save Service transaction -->
+    <action    path="/SaveService"
+               type="org.apache.webapp.admin.service.SaveServiceAction"
+               name="serviceForm"
+              input="/service/service.jsp"
+               scope="session"/>
+
+    <!-- ============= Host Module ============== -->
+
+    <!-- Set up Add Host transaction -->
+    <action    path="/AddHost"
+               type="org.apache.webapp.admin.host.AddHostAction">
+    </action>
+
+    <!-- Set up Delete Hosts transaction -->
+    <action    path="/DeleteHost"
+               type="org.apache.webapp.admin.host.DeleteHostAction"
+               name="hostsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Hosts transaction -->
+    <action    path="/DeleteHosts"
+               type="org.apache.webapp.admin.host.DeleteHostsAction"
+               name="hostsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Host transaction -->
+    <action    path="/EditHost"
+               type="org.apache.webapp.admin.host.EditHostAction">
+    </action>
+
+    <!-- Perform Save Host transaction -->
+    <action    path="/SaveHost"
+               type="org.apache.webapp.admin.host.SaveHostAction"
+               name="hostForm"
+              input="/host/host.jsp"
+               scope="session"/>
+               
+    <!-- Set up Add Alias transaction -->
+    <action    path="/AddAlias"
+               type="org.apache.webapp.admin.host.AddAliasAction">
+    </action>
+
+    <!-- Perform Delete Aliases transaction -->
+    <action    path="/DeleteAlias"
+               type="org.apache.webapp.admin.host.DeleteAliasAction"
+               name="aliasesForm"
+               scope="request"/>
+               
+    <!-- Perform Delete Aliases transaction -->
+    <action    path="/DeleteAliases"
+               type="org.apache.webapp.admin.host.DeleteAliasesAction"
+               name="aliasesForm"
+               scope="request"/>
+               
+    <!-- Perform Save Host transaction -->
+    <action    path="/SaveAlias"
+               type="org.apache.webapp.admin.host.SaveAliasAction"
+               name="aliasForm"
+              input="/host/alias.jsp"
+               scope="session"/>
+
+    <!-- ============= Realm Module ============== -->
+
+    <!-- Set up Add Realm transaction -->
+    <action    path="/AddRealm"
+               type="org.apache.webapp.admin.realm.AddRealmAction">
+    </action>
+
+    <!-- Set up Add Realm transaction -->
+    <action    path="/realm/AddRealm"
+               type="org.apache.webapp.admin.realm.AddRealmAction">
+    </action>
+
+    <!-- Set up Delete Realms transaction -->
+    <action    path="/DeleteRealm"
+               type="org.apache.webapp.admin.realm.DeleteRealmAction"
+               name="realmsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Realms transaction -->
+    <action    path="/DeleteRealms"
+               type="org.apache.webapp.admin.realm.DeleteRealmsAction"
+               name="realmsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Realm transaction (generic) -->
+    <action    path="/EditRealm"
+               type="org.apache.webapp.admin.realm.EditRealmAction">
+    </action>
+
+    <!-- Perform Save UserDatabase Realm transaction -->
+    <action    path="/SaveUserDatabaseRealm"
+               type="org.apache.webapp.admin.realm.SaveUserDatabaseRealmAction"
+               name="userDatabaseRealmForm"
+              input="/realm/userDatabaseRealm.jsp"
+               scope="session"/>
+
+   <!-- Perform Save DataSource Realm transaction -->
+    <action    path="/SaveDataSourceRealm"
+               type="org.apache.webapp.admin.realm.SaveDataSourceRealmAction"
+               name="dataSourceRealmForm"
+              input="/realm/dataSourceRealm.jsp"
+               scope="session"/>
+
+   <!-- Perform Save JDBC Realm transaction -->
+    <action    path="/SaveJDBCRealm"
+               type="org.apache.webapp.admin.realm.SaveJDBCRealmAction"
+               name="jdbcRealmForm"
+              input="/realm/jdbcRealm.jsp"
+               scope="session"/>
+
+    <!-- Perform Save JNDI Realm transaction -->
+    <action    path="/SaveJNDIRealm"
+               type="org.apache.webapp.admin.realm.SaveJNDIRealmAction"
+               name="jndiRealmForm"
+              input="/realm/jndiRealm.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Memory transaction -->
+    <action    path="/SaveMemoryRealm"
+               type="org.apache.webapp.admin.realm.SaveMemoryRealmAction"
+               name="memoryRealmForm"
+              input="/realm/memoryRealm.jsp"
+               scope="session"/>
+               
+   <!-- ============= Context Module ============== -->
+
+    <!-- Set up Add Context transaction -->
+    <action    path="/AddContext"
+               type="org.apache.webapp.admin.context.AddContextAction">
+    </action>
+
+    <!-- Set up Delete Contexts transaction -->
+    <action    path="/DeleteContext"
+               type="org.apache.webapp.admin.context.DeleteContextAction"
+               name="contextsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Contexts transaction -->
+    <action    path="/DeleteContexts"
+               type="org.apache.webapp.admin.context.DeleteContextsAction"
+               name="contextsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Context transaction -->
+    <action    path="/EditContext"
+               type="org.apache.webapp.admin.context.EditContextAction">
+    </action>
+
+    <!-- Perform Save Context transaction -->
+    <action    path="/SaveContext"
+               type="org.apache.webapp.admin.context.SaveContextAction"
+               name="contextForm"
+              input="/context/context.jsp"
+               scope="session"/>
+               
+   <!-- ============= DefaultContext Module ============== -->
+
+   <!-- ============= Connector Module ============== -->
+
+    <!-- Set up Add Connector transaction -->
+    <action    path="/AddConnector"
+               type="org.apache.webapp.admin.connector.AddConnectorAction">
+    </action>
+
+    <!-- Set up Add Connector transaction -->
+    <action    path="/connector/AddConnector"
+               type="org.apache.webapp.admin.connector.AddConnectorAction">
+    </action>
+
+    <!-- Set up Delete Connectors transaction -->
+    <action    path="/DeleteConnector"
+               type="org.apache.webapp.admin.connector.DeleteConnectorAction"
+               name="connectorsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Connectors transaction -->
+    <action    path="/DeleteConnectors"
+               type="org.apache.webapp.admin.connector.DeleteConnectorsAction"
+               name="connectorsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Connector transaction -->
+    <action    path="/EditConnector"
+               type="org.apache.webapp.admin.connector.EditConnectorAction">
+    </action>
+
+    <!-- Perform Save Connector transaction -->
+    <action    path="/SaveConnector"
+               type="org.apache.webapp.admin.connector.SaveConnectorAction"
+               name="connectorForm"
+              input="/connector/connector.jsp"
+               scope="session"/>
+               
+   <!-- ============= Valve Module ============== -->
+
+    <!-- Set up Add Valve transaction -->
+    <action    path="/AddValve"
+               type="org.apache.webapp.admin.valve.AddValveAction">
+    </action>
+
+    <!-- Set up Add Valve transaction -->
+    <action    path="/valve/AddValve"
+               type="org.apache.webapp.admin.valve.AddValveAction">
+    </action>
+
+    <!-- Set up Delete Valves transaction -->
+    <action    path="/DeleteValve"
+               type="org.apache.webapp.admin.valve.DeleteValveAction"
+               name="valvesForm"
+               scope="request"/>
+
+    <!-- Perform Delete Valves transaction -->
+    <action    path="/DeleteValves"
+               type="org.apache.webapp.admin.valve.DeleteValvesAction"
+               name="valvesForm"
+               scope="request"/>
+
+    <!-- Set up Edit Valve transaction (generic) -->
+    <action    path="/EditValve"
+               type="org.apache.webapp.admin.valve.EditValveAction">
+    </action>
+    
+    <!-- Perform Save AccessLog Valve transaction -->
+    <action    path="/SaveAccessLogValve"
+               type="org.apache.webapp.admin.valve.SaveAccessLogValveAction"
+               name="accessLogValveForm"
+              input="/valve/accessLogValve.jsp"
+               scope="session"/>
+
+   <!-- Perform Save Remote Addr Valve transaction -->
+    <action    path="/SaveRemoteAddrValve"
+               type="org.apache.webapp.admin.valve.SaveRemoteAddrValveAction"
+               name="remoteAddrValveForm"
+              input="/valve/remoteAddrValve.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Remote Host Valve transaction -->
+    <action    path="/SaveRemoteHostValve"
+               type="org.apache.webapp.admin.valve.SaveRemoteHostValveAction"
+               name="remoteHostValveForm"
+              input="/valve/remoteHostValve.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Request Dumper Valve transaction -->
+    <action    path="/SaveRequestDumperValve"
+               type="org.apache.webapp.admin.valve.SaveRequestDumperValveAction"
+               name="requestDumperValveForm"
+              input="/valve/requestDumperValve.jsp"
+               scope="session"/>
+
+   <!-- Perform Save Single Sign On Valve transaction -->
+    <action    path="/SaveSingleSignOn"
+               type="org.apache.webapp.admin.valve.SaveSingleSignOnValveAction"
+               name="singleSignOnValveForm"
+              input="/valve/singleSignOnValve.jsp"
+               scope="session"/>
+               
+   <!-- ========== Resources Module ========== -->
+
+   <action    path="/resources/deleteEnvEntries"
+               name="envEntriesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteEnvEntriesAction"/>
+
+   <action    path="/resources/deleteUserDatabases"
+               name="userDatabasesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteUserDatabasesAction"/>
+      
+    <action    path="/resources/deleteDataSources"
+               name="dataSourcesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteDataSourcesAction"/>
+
+    <action    path="/resources/deleteMailSessions"
+               name="mailSessionsForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteMailSessionsAction"/>
+
+    <action    path="/resources/deleteResourceLinks"
+               name="resourceLinksForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteResourceLinksAction"/>
+               
+    <action    path="/resources/listEnvEntries"
+               name="envEntriesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListEnvEntriesAction"/>
+               
+    <action    path="/resources/listUserDatabases"
+               name="userDatabasesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListUserDatabasesAction"/>
+
+    <action    path="/resources/listDataSources"
+               name="dataSourcesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListDataSourcesAction"/>
+
+    <action    path="/resources/listMailSessions"
+               name="mailSessionsForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListMailSessionsAction"/>
+
+    <action    path="/resources/listResourceLinks"
+               name="resourceLinksForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListResourceLinksAction"/>
+
+   <action    path="/resources/saveEnvEntry"
+              input="/resources/envEntry.jsp"
+               name="envEntryForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveEnvEntryAction"/>
+               
+   <action    path="/resources/saveUserDatabase"
+              input="/resources/userDatabase.jsp"
+               name="userDatabaseForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveUserDatabaseAction"/>
+
+    <action    path="/resources/saveDataSource"
+              input="/resources/dataSource.jsp"
+               name="dataSourceForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveDataSourceAction"/>
+
+    <action    path="/resources/saveMailSession"
+              input="/resources/mailSession.jsp"
+               name="mailSessionForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveMailSessionAction"/>
+
+    <action    path="/resources/saveResourceLink"
+              input="/resources/resourceLink.jsp"
+               name="resourceLinkForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveResourceLinkAction"/>
+
+   <action    path="/resources/setUpEnvEntry"
+               type="org.apache.webapp.admin.resources.SetUpEnvEntryAction"/>
+
+   <action    path="/resources/setUpUserDatabase"
+               type="org.apache.webapp.admin.resources.SetUpUserDatabaseAction"/>
+
+    <action    path="/resources/setUpDataSource"
+               type="org.apache.webapp.admin.resources.SetUpDataSourceAction"/>
+
+    <action    path="/resources/setUpMailSession"
+               type="org.apache.webapp.admin.resources.SetUpMailSessionAction"/>
+
+    <action    path="/resources/setUpResourceLink"
+               type="org.apache.webapp.admin.resources.SetUpResourceLinkAction"/>
+           
+    <!-- ========== User Database Module ========== -->
+
+    <action    path="/users/deleteGroups"
+               name="groupsForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.DeleteGroupsAction"/>
+
+    <action    path="/users/deleteRoles"
+               name="rolesForm"
+              scope="request"
+                type="org.apache.webapp.admin.users.DeleteRolesAction"/>
+
+    <action    path="/users/deleteUsers"
+               name="usersForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.DeleteUsersAction"/>
+
+    <action    path="/users/listGroups"
+               name="groupsForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListGroupsAction"/>
+
+    <action    path="/users/listRoles"
+               name="rolesForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListRolesAction"/>
+
+    <action    path="/users/listUsers"
+               name="usersForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListUsersAction"/>
+
+    <action    path="/users/saveGroup"
+              input="/users/group.jsp"
+               name="groupForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveGroupAction"/>
+
+    <action    path="/users/saveRole"
+              input="/users/role.jsp"
+               name="roleForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveRoleAction"/>
+
+    <action    path="/users/saveUser"
+              input="/users/user.jsp"
+               name="userForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveUserAction"/>
+
+    <action    path="/users/setUpGroup"
+               type="org.apache.webapp.admin.users.SetUpGroupAction"/>
+
+    <action    path="/users/setUpRole"
+               type="org.apache.webapp.admin.users.SetUpRoleAction"/>
+
+    <action    path="/users/setUpUser"
+               type="org.apache.webapp.admin.users.SetUpUserAction"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </action-mappings>  
+
+  <controller locale="true" nocache="true" />
+ 
+  <message-resources parameter="org.apache.webapp.admin.ApplicationResources" />
+
+</struts-config>

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,772 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Administration Application</display-name>
+  <description>
+    Tomcat HTML based administration web application.
+  </description>
+
+  <!-- Example filter to set character encoding on each request.
+       Uncomment this filter definition and the mapping to use
+       the filter to decode post and get parameters -->
+
+  <filter>
+    <filter-name>Set Character Encoding</filter-name>
+    <filter-class>org.apache.webapp.admin.filters.SetCharacterEncodingFilter</filter-class>
+    <init-param>
+      <param-name>encoding</param-name>
+      <param-value>UTF8</param-value>
+    </init-param>
+  </filter>
+
+  <!-- Example filter mapping to apply the "Set Character Encoding" filter
+       to *all* requests processed by this web application -->
+
+  <filter-mapping>
+    <filter-name>Set Character Encoding</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+
+  <!-- Action Servlet Configuration -->
+  <servlet>
+    <servlet-name>action</servlet-name>
+    <servlet-class>
+      org.apache.webapp.admin.ApplicationServlet
+    </servlet-class>
+<!-- Deprecated
+    <init-param>
+      <param-name>application</param-name>
+      <param-value>
+        org.apache.webapp.admin.ApplicationResources
+      </param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>config</param-name>
+      <param-value>/WEB-INF/struts-config.xml</param-value>
+    </init-param>
+<!-- Deprecated   
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>detail</param-name>
+      <param-value>0</param-value>
+    </init-param>
+<!-- Deprecated
+    <init-param>
+      <param-name>locale</param-name>
+      <param-value>true</param-value>
+    </init-param>
+-->
+<!-- Deprecated
+    <init-param>
+      <param-name>nocache</param-name>
+      <param-value>true</param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>validate</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <!-- Label to be displayed for rootnode. If absent, rootnode is not rendered -->
+    <!--
+    <init-param>
+      <param-name>rootnodename</param-name>
+      <param-value>Tomcat Root</param-value>
+    </init-param>
+    -->
+    <init-param>
+      <param-name>treebuilders</param-name>
+      <param-value>
+        org.apache.webapp.admin.TomcatTreeBuilder,
+        org.apache.webapp.admin.resources.ResourcesTreeBuilder,
+        org.apache.webapp.admin.users.UsersTreeBuilder
+    </param-value>
+    </init-param>
+    <init-param>
+      <param-name>domain</param-name>
+      <param-value>Catalina</param-value>
+    </init-param>
+  </servlet>
+
+  <!-- Action Servlet Mapping -->
+  <!-- JSPC servlet mappings start -->
+
+    <servlet>
+        <servlet-name>admin.banner_jsp</servlet-name>
+        <servlet-class>admin.banner_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.blank_jsp</servlet-name>
+        <servlet-class>admin.blank_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.buttons_jsp</servlet-name>
+        <servlet-class>admin.buttons_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.dumpRegistry_jsp</servlet-name>
+        <servlet-class>admin.dumpRegistry_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.dumpServer_jsp</servlet-name>
+        <servlet-class>admin.dumpServer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.error_jsp</servlet-name>
+        <servlet-class>admin.error_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.footer_jsp</servlet-name>
+        <servlet-class>admin.footer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.frameset_jsp</servlet-name>
+        <servlet-class>admin.frameset_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.header_jsp</servlet-name>
+        <servlet-class>admin.header_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.index_jsp</servlet-name>
+        <servlet-class>admin.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.login_jsp</servlet-name>
+        <servlet-class>admin.login_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.saved_jsp</servlet-name>
+        <servlet-class>admin.saved_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.savefail_jsp</servlet-name>
+        <servlet-class>admin.savefail_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.tree_002dcontrol_002dtest_jsp</servlet-name>
+        <servlet-class>admin.tree_002dcontrol_002dtest_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.accessLogValve_jsp</servlet-name>
+        <servlet-class>admin.valve.accessLogValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.remoteAddrValve_jsp</servlet-name>
+        <servlet-class>admin.valve.remoteAddrValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.remoteHostValve_jsp</servlet-name>
+        <servlet-class>admin.valve.remoteHostValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.requestDumperValve_jsp</servlet-name>
+        <servlet-class>admin.valve.requestDumperValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.singleSignOnValve_jsp</servlet-name>
+        <servlet-class>admin.valve.singleSignOnValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.valves_jsp</servlet-name>
+        <servlet-class>admin.valve.valves_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteGroups_jsp</servlet-name>
+        <servlet-class>admin.users.deleteGroups_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteRoles_jsp</servlet-name>
+        <servlet-class>admin.users.deleteRoles_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteUsers_jsp</servlet-name>
+        <servlet-class>admin.users.deleteUsers_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.footer_jsp</servlet-name>
+        <servlet-class>admin.users.footer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.group_jsp</servlet-name>
+        <servlet-class>admin.users.group_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.header_jsp</servlet-name>
+        <servlet-class>admin.users.header_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listGroups_jsp</servlet-name>
+        <servlet-class>admin.users.listGroups_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listRoles_jsp</servlet-name>
+        <servlet-class>admin.users.listRoles_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listUsers_jsp</servlet-name>
+        <servlet-class>admin.users.listUsers_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.role_jsp</servlet-name>
+        <servlet-class>admin.users.role_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.user_jsp</servlet-name>
+        <servlet-class>admin.users.user_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.service.service_jsp</servlet-name>
+        <servlet-class>admin.service.service_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.service.services_jsp</servlet-name>
+        <servlet-class>admin.service.services_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.server.server_jsp</servlet-name>
+        <servlet-class>admin.server.server_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.dataSource_jsp</servlet-name>
+        <servlet-class>admin.resources.dataSource_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteDataSources_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteDataSources_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteEnvEntries_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteEnvEntries_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteMailSessions_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteMailSessions_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteResourceLinks_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteResourceLinks_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteUserDatabases_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteUserDatabases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.envEntry_jsp</servlet-name>
+        <servlet-class>admin.resources.envEntry_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listDataSources_jsp</servlet-name>
+        <servlet-class>admin.resources.listDataSources_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listEnvEntries_jsp</servlet-name>
+        <servlet-class>admin.resources.listEnvEntries_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listMailSessions_jsp</servlet-name>
+        <servlet-class>admin.resources.listMailSessions_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listResourceLinks_jsp</servlet-name>
+        <servlet-class>admin.resources.listResourceLinks_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listUserDatabases_jsp</servlet-name>
+        <servlet-class>admin.resources.listUserDatabases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.mailSession_jsp</servlet-name>
+        <servlet-class>admin.resources.mailSession_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.resourceLink_jsp</servlet-name>
+        <servlet-class>admin.resources.resourceLink_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.userDatabase_jsp</servlet-name>
+        <servlet-class>admin.resources.userDatabase_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.dataSourceRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.dataSourceRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.jdbcRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.jdbcRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.jndiRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.jndiRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.memoryRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.memoryRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.realms_jsp</servlet-name>
+        <servlet-class>admin.realm.realms_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.userDatabaseRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.userDatabaseRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.alias_jsp</servlet-name>
+        <servlet-class>admin.host.alias_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.aliases_jsp</servlet-name>
+        <servlet-class>admin.host.aliases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.host_jsp</servlet-name>
+        <servlet-class>admin.host.host_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.hosts_jsp</servlet-name>
+        <servlet-class>admin.host.hosts_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.context.context_jsp</servlet-name>
+        <servlet-class>admin.context.context_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.context.contexts_jsp</servlet-name>
+        <servlet-class>admin.context.contexts_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.connector.connector_jsp</servlet-name>
+        <servlet-class>admin.connector.connector_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.connector.connectors_jsp</servlet-name>
+        <servlet-class>admin.connector.connectors_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>admin.banner_jsp</servlet-name>
+        <url-pattern>/banner.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.blank_jsp</servlet-name>
+        <url-pattern>/blank.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.buttons_jsp</servlet-name>
+        <url-pattern>/buttons.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.dumpRegistry_jsp</servlet-name>
+        <url-pattern>/dumpRegistry.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.dumpServer_jsp</servlet-name>
+        <url-pattern>/dumpServer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.error_jsp</servlet-name>
+        <url-pattern>/error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.footer_jsp</servlet-name>
+        <url-pattern>/footer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.frameset_jsp</servlet-name>
+        <url-pattern>/frameset.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.header_jsp</servlet-name>
+        <url-pattern>/header.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.index_jsp</servlet-name>
+        <url-pattern>/index.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.login_jsp</servlet-name>
+        <url-pattern>/login.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.saved_jsp</servlet-name>
+        <url-pattern>/saved.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.savefail_jsp</servlet-name>
+        <url-pattern>/savefail.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.tree_002dcontrol_002dtest_jsp</servlet-name>
+        <url-pattern>/tree-control-test.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.accessLogValve_jsp</servlet-name>
+        <url-pattern>/valve/accessLogValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.remoteAddrValve_jsp</servlet-name>
+        <url-pattern>/valve/remoteAddrValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.remoteHostValve_jsp</servlet-name>
+        <url-pattern>/valve/remoteHostValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.requestDumperValve_jsp</servlet-name>
+        <url-pattern>/valve/requestDumperValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.singleSignOnValve_jsp</servlet-name>
+        <url-pattern>/valve/singleSignOnValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.valves_jsp</servlet-name>
+        <url-pattern>/valve/valves.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteGroups_jsp</servlet-name>
+        <url-pattern>/users/deleteGroups.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteRoles_jsp</servlet-name>
+        <url-pattern>/users/deleteRoles.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteUsers_jsp</servlet-name>
+        <url-pattern>/users/deleteUsers.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.footer_jsp</servlet-name>
+        <url-pattern>/users/footer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.group_jsp</servlet-name>
+        <url-pattern>/users/group.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.header_jsp</servlet-name>
+        <url-pattern>/users/header.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listGroups_jsp</servlet-name>
+        <url-pattern>/users/listGroups.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listRoles_jsp</servlet-name>
+        <url-pattern>/users/listRoles.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listUsers_jsp</servlet-name>
+        <url-pattern>/users/listUsers.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.role_jsp</servlet-name>
+        <url-pattern>/users/role.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.user_jsp</servlet-name>
+        <url-pattern>/users/user.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.service.service_jsp</servlet-name>
+        <url-pattern>/service/service.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.service.services_jsp</servlet-name>
+        <url-pattern>/service/services.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.server.server_jsp</servlet-name>
+        <url-pattern>/server/server.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.dataSource_jsp</servlet-name>
+        <url-pattern>/resources/dataSource.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteDataSources_jsp</servlet-name>
+        <url-pattern>/resources/deleteDataSources.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteEnvEntries_jsp</servlet-name>
+        <url-pattern>/resources/deleteEnvEntries.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteMailSessions_jsp</servlet-name>
+        <url-pattern>/resources/deleteMailSessions.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteResourceLinks_jsp</servlet-name>
+        <url-pattern>/resources/deleteResourceLinks.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteUserDatabases_jsp</servlet-name>
+        <url-pattern>/resources/deleteUserDatabases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.envEntry_jsp</servlet-name>
+        <url-pattern>/resources/envEntry.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listDataSources_jsp</servlet-name>
+        <url-pattern>/resources/listDataSources.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listEnvEntries_jsp</servlet-name>
+        <url-pattern>/resources/listEnvEntries.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listMailSessions_jsp</servlet-name>
+        <url-pattern>/resources/listMailSessions.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listResourceLinks_jsp</servlet-name>
+        <url-pattern>/resources/listResourceLinks.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listUserDatabases_jsp</servlet-name>
+        <url-pattern>/resources/listUserDatabases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.mailSession_jsp</servlet-name>
+        <url-pattern>/resources/mailSession.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.resourceLink_jsp</servlet-name>
+        <url-pattern>/resources/resourceLink.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.userDatabase_jsp</servlet-name>
+        <url-pattern>/resources/userDatabase.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.dataSourceRealm_jsp</servlet-name>
+        <url-pattern>/realm/dataSourceRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.jdbcRealm_jsp</servlet-name>
+        <url-pattern>/realm/jdbcRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.jndiRealm_jsp</servlet-name>
+        <url-pattern>/realm/jndiRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.memoryRealm_jsp</servlet-name>
+        <url-pattern>/realm/memoryRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.realms_jsp</servlet-name>
+        <url-pattern>/realm/realms.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.userDatabaseRealm_jsp</servlet-name>
+        <url-pattern>/realm/userDatabaseRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.alias_jsp</servlet-name>
+        <url-pattern>/host/alias.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.aliases_jsp</servlet-name>
+        <url-pattern>/host/aliases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.host_jsp</servlet-name>
+        <url-pattern>/host/host.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.hosts_jsp</servlet-name>
+        <url-pattern>/host/hosts.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.context.context_jsp</servlet-name>
+        <url-pattern>/context/context.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.context.contexts_jsp</servlet-name>
+        <url-pattern>/context/contexts.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.connector.connector_jsp</servlet-name>
+        <url-pattern>/connector/connector.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.connector.connectors_jsp</servlet-name>
+        <url-pattern>/connector/connectors.jsp</url-pattern>
+    </servlet-mapping>
+
+<!-- JSPC servlet mappings end -->
+
+  <servlet-mapping>
+    <servlet-name>action</servlet-name>
+    <url-pattern>*.do</url-pattern>
+  </servlet-mapping>
+
+  <!-- Security is active on entire directory -->
+  <security-constraint>
+    <display-name>Tomcat Server Configuration Security Constraint</display-name>
+    <web-resource-collection>
+      <web-resource-name>Protected Area</web-resource-name>
+      <!-- Define the context-relative URL(s) to be protected -->
+      <url-pattern>*.jsp</url-pattern>
+      <url-pattern>*.do</url-pattern>
+      <url-pattern>*.html</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+      <!-- Anyone with one of the listed roles may access this area -->
+      <role-name>admin</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Login configuration uses form-based authentication -->
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
+    <form-login-config>
+      <form-login-page>/login.jsp</form-login-page>
+      <form-error-page>/error.jsp</form-error-page>
+    </form-login-config>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Administration Application
+    </description>
+    <role-name>admin</role-name>
+  </security-role>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+.masthead-title-text {
+  color: #FFFFFF;
+  margin: 3px 5px 5px 3px;
+  font-size: large;
+  font-family:  Arial, Verdana,Helvetica, Sans-Serif;
+}
+
+.page-title-text {
+  color: #FFFFFF;
+  font-weight: bold;
+  margin: 3px 5px 5px 3px;
+  font-size: normal;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-title-text {
+  color: #000000;
+  font-weight: bold;
+  margin: 3px 5px 5px 4px;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-header-text {
+  color: #FFFFFF;
+  font-weight: normal;
+  margin: 3px 5px 1px 15px;
+  font-family:  Arial, Verdana,Helvetica, Sans-Serif;
+}
+
+.table-label-text {
+  color: #000000;
+  margin: 3px 5px 3px 15px;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-normal-text {
+  color: #000000;
+  margin: 3px 5px 3px 15px;
+  font-family: "Times New Roman", Times, serif;
+}
+
+.back-table {
+  background-color: #9999CC;
+  margin: 0px 5px 3px 5px;
+  font-family: Verdana, Arial, Helvetica, Sans-Serif;
+}
+
+.front-table {
+  background-color: #FFFFFF;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.page-title-row {
+  background-color: #7171A5;
+  text-align: right;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.header-row {
+  background-color: #9999CC;
+  text-align: center;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.sort-row {
+  background-color: #CECEFF;
+  text-align: center;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.line-row {
+  background-color: #CCCCCC;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.button {
+  background-color: #CCCCFF;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+a.button-link-text:visited, a.button-link-text:link, a.button-link-text:active {
+  color: #000000;
+  background-color: #CCCCFF;
+  font-weight: bold;
+  font-family: Arial, Verdana, Geneva, Helvetica, Sans-Serif;
+  text-decoration: none;
+}
+
+a.button-link-text:hover {
+  color: #000000;
+  background-color: #CCCCFF;
+  font-weight: bold;
+  font-family: Arial, Verdana, Geneva, Helvetica, Sans-Serif;
+  text-decoration: underline;
+}

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<!--
+
+    Context configuration file for the Tomcat Administration Web App
+
+    $Id: admin.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/admin" privileged="true"
+         antiResourceLocking="false" antiJARLocking="false">
+
+  <!-- Uncomment this Valve to limit access to the Admin app to localhost
+   for obvious security reasons. Allow may be a comma-separated list of
+   hosts (or even regular expressions).
+  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
+    allow="127.0.0.1"/>
+  -->
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/BlueTile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/BlueTile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Connector.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Connector.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Context.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Context.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Datasource.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Datasource.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/DefaultContext.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/DefaultContext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/EnvironmentEntries.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/EnvironmentEntries.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Groups.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Groups.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Host.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Host.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Logger.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Logger.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Login.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Login.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/LoginBackgroundTile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/LoginBackgroundTile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Mailsession.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Mailsession.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/PaperTexture.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/PaperTexture.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Realm.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Realm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/ResourceLink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/ResourceLink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Roles.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Roles.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Server.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Server.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Service.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Service.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Thumbs.db
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Thumbs.db
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/TomcatBanner.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/TomcatBanner.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Users.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Users.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Valve.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/Valve.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/folder_16_pad.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/folder_16_pad.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownlast.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownlast.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownmiddle.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handledownmiddle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightlast.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightlast.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightmiddle.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/handlerightmiddle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linelastnode.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linelastnode.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linemiddlenode.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linemiddlenode.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linevertical.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/images/linevertical.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/tree-control-test.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/tree-control-test.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23/server/webapps/admin/tree-control-test.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+.tree-control {
+  font-family: arial, verdana, geneva, helvetica, sans-serif;
+  font-size: 80%;
+  line-height: 1.0;
+}
+
+.tree-control-selected {
+  color: black;
+  font-weight: bold;
+  text-decoration: none;
+}
+
+.tree-control-unselected {
+  color: black;
+  font-style: normal;
+  font-weight: normal;
+  text-decoration: none;
+}
+

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/LICENSE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/NOTICE
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/NOTICE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/NOTICE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+This product includes software developed by
+The Apache Software Foundation (http://www.apache.org/).
+
+Java Management Extensions (JMX) support is provided by
+the MX4J package, which is open source software.  The
+original software and related information is available
+at http://mx4j.sourceforge.net.
+
+The Windows Installer is built with the Nullsoft
+Scriptable Install Sysem (NSIS), which is
+open source software.  The original software and
+related information is available at
+http://nsis.sourceforge.net.
+
+Java compilation software for JSP pages is provided by Eclipse, 
+which is open source software.  The orginal software and 
+related infomation is available at
+http://www.eclipse.org.

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/RELEASE-NOTES
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/RELEASE-NOTES	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/RELEASE-NOTES	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+
+
+                     Apache Tomcat Version 5.5.23
+                            Release Notes
+
+
+$Id: RELEASE-NOTES 439327 2006-09-01 14:06:34Z fhanik $
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
+configuration to run on J2SE 1.4.  Make sure to read the "RUNNING.txt" 
+file in the fulldocs downloadable file(s) if you are using J2SE 1.4.
+
+In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 5.5 makes all of the following APIs available
+for use by web applications (by placing them in "common/lib" or "shared/lib"):
+* commons-el.jar (Commons Expression Language 1.0)
+* commons-logging-api.jar (Commons Logging API 1.0.x)
+* jasper-compiler.jar (Jasper 2 Compiler)
+* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
+* jasper-runtime.jar (Jasper 2 Runtime)
+* jsp-api.jar (JSP 2.0 API)
+* naming-common.jar (JNDI Context implementation)
+* naming-factory.jar (JNDI object factories for J2EE ENC support)
+* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
+* naming-resources.jar (JNDI DirContext implementations)
+* servlet-api.jar (Servlet 2.4 API)
+
+Installing the compatibility package will add the following to the list, which are
+needed when running on J2SE 1.4:
+* jmx.jar (Java Management Extensions API 1.2 or later)
+* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"common/endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+Please note, that these are only recommendations and may not apply in some cases.
+Before you change this variable, make sure you understand its impact, and what it does.
+A brief explanation can be found in the mailing archives at 
+http://marc.theaimsgroup.com/?l=tomcat-dev&m=115689139313901&w=2
+For further assistance, please consult your JVM vendor.
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/build.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/build.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/build.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+<project name="Deployer" default="compile" basedir=".">
+
+  <property file="deployer.properties"/>
+
+  <!-- Configure the directory into which the web application is built -->
+  <property name="build"    value="${basedir}/build"/>
+
+  <!-- Configure the folder and context path for this application -->
+  <property name="webapp"   value="myapp"/>
+  <property name="path"     value="/myapp"/>
+
+  <!-- Configure properties to access the Manager application -->
+  <property name="url"      value="http://localhost:8080/manager"/>
+  <property name="username" value="tomcat"/>
+  <property name="password" value="tomcat"/>
+
+  <property name="webapp.path"     value="${build}/webapp${path}"/>
+
+  <path id="deployer.classpath">
+    <fileset dir="${basedir}/lib">
+      <include name="*.jar"/>
+    </fileset>
+  </path>
+
+  <!-- Configure the custom Ant tasks for the Manager application -->
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks"
+           classpathref="deployer.classpath"/>
+
+  <!-- Executable Targets -->
+  <target name="clean" description="Removes build directory">
+    <delete dir="${build}" />
+  </target>
+
+  <target name="compile" description="Compile web application"
+          depends="clean">
+
+    <copy todir="${webapp.path}">
+      <fileset dir="${webapp}" />
+    </copy>
+
+    <jasper2 validateXml="false" 
+             uriroot="${webapp.path}" 
+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml"
+             addWebXmlMappings="true"
+             outputDir="${webapp.path}/WEB-INF/classes" /> 
+
+    <validator path="${webapp.path}" />
+
+    <mkdir dir="${webapp.path}/WEB-INF/classes"/>
+    <mkdir dir="${webapp.path}/WEB-INF/lib"/>
+
+    <javac destdir="${webapp.path}/WEB-INF/classes"
+           optimize="off"
+           debug="${compile.debug}"
+           deprecation="${compile.deprecation}"
+           failonerror="false"
+           srcdir="${webapp.path}/WEB-INF/classes"
+           encoding="UTF-8"
+	   excludes="**/*.smap">
+      <classpath>
+        <fileset dir="${webapp.path}/WEB-INF/lib">
+          <include name="*.jar"/>
+        </fileset>
+        <fileset dir="${basedir}/lib">
+          <include name="*.jar"/>
+        </fileset>
+      </classpath>
+      <include name="**" />
+      <exclude name="tags/**" />
+    </javac>
+
+    <jar destfile="${webapp.path}.war"
+         basedir="${webapp.path}" />
+
+  </target>
+
+  <target name="deploy" description="Deploy web application">
+    <deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="${webapp.path}.war" update="true" />
+  </target>
+
+  <target name="undeploy" description="Undeploy web application">
+    <undeploy url="${url}" username="${username}" password="${password}"
+              path="${path}"/>
+  </target>
+
+  <!-- Webapp lifecycle control -->
+  <target name="start" description="Start web application">
+    <start url="${url}" username="${username}" password="${password}"
+           path="${path}"/>
+  </target>
+  <target name="reload" description="Reload web application">
+    <reload url="${url}" username="${username}" password="${password}"
+            path="${path}"/>
+  </target>
+  <target name="stop" description="Stop web application">
+    <stop url="${url}" username="${username}" password="${password}"
+          path="${path}"/>
+  </target>
+
+</project>

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs/manual.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs/manual.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/docs/manual.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,301 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Deployment</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Deployment</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    <ul>
+        <li><a href="#Introduction">Introduction</a></li>
+        <li><a href="#Installation">Installation</a></li>
+        <li><a href="#A word on Contexts">A word on Contexts</a></li>
+        <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
+        <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
+        <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+        <li><a href="#Deploying using the Client Deployer Package">Deploying using
+            the Tomcat Client Deployer</a></li>
+    </ul>
+    
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Deployment is the term used for the process of installing a web
+            application (either a 3rd party WAR or your own custom web application) 
+            into the Tomcat server. 
+        </p>
+        <p>
+            Web application deployment may be accomplished in a number of ways
+            within the Tomcat server.
+            <ul>
+                <li>Statically; the web application is setup before Tomcat is started</li>
+                <li>
+                    Dynamically; in conjunction with the Tomcat Manager web application or 
+                    manipulating already deployed web applications
+                </li>
+            </ul>
+        </p>
+        <p>
+            The Tomcat Manager is a tool that allows URL-based web application
+            deployment features. There is also a tool called the Client Deployer,
+            which is a command shell based script that interacts with the Tomcat
+            Manager but provides additional functionality such as compiling and
+            validating web applications as well as packaging web application into
+            web application resource (WAR) files.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            There is no installation required for static deployment of web
+            applications as this is provided out of the box by Tomcat. Nor is any
+            installation required for deployment functions with the Tomcat Manager, 
+            although some configuration is required as detailed in the 
+            Tomcat Manager manual. An installation is however required if you wish
+            to use the Tomcat Client Deployer (TCD). 
+        </p>   
+        <p>
+            The TCD is not packaged with the Tomcat core 
+            distribution, and must therefore be downloaded separately from 
+            the Downloads area. The download is usually labelled 
+            <i>jakarta-tomcat-5.5.x-deployer</i>.
+        </p>
+        <p>
+            TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
+            Your environment should define an ANT_HOME environment value pointing to
+            the root of your Ant installation, and a JAVA_HOME value pointing to
+            your Java installation. Additionally, you should ensure Ant's ant
+            command, and the Java javac compiler command run from the command shell
+            that your operating system provides.
+        </p>
+        <ol>
+            <li>Download the TCD distribution</li>
+            <li>
+                The TCD package need not be extracted into any existing Tomcat
+                installation, it can be extracted to any location.
+            </li>
+            <li>Read Using the <a href="#Deploying using the Client Deployer Package">
+            Tomcat Client Deployer</a></li>
+        </ol>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="A word on Contexts"><strong>A word on Contexts</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            In talking about deployment of web applications, the concept of a
+            <i>Context</i> is required to be understood. A Context is what Tomcat 
+            calls a web application.
+        </p>
+        <p>
+            In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+            is required. A Context Descriptor is simply an XML file that contains
+            Tomcat related configuration for a Context, e.g naming resources or 
+            session manager configuration. In earlier versions of
+            Tomcat the content of a Context Descriptor configuration was often stored within
+            Tomcat's primary configuration file <i>server.xml</i> but this is now
+            discouraged (although it currently still works).
+        </p>
+        <p>        
+            Context Descriptors not only help Tomcat to know how to configure 
+            Contexts but other tools such as the Tomcat Manager and TDC often use 
+            these Context Descriptors to perform their roles properly.
+        </p>
+        <p>
+            The locations for Context Descriptors are;
+            <ol>
+                <li>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml</li>
+                <li>$CATALINA_HOME/webapps/[webappname]/META-INF/context.xml</li>
+            </ol>
+            If a Context Descriptor is not provided for a Context, Tomcat
+            automatically creates one and places it in (1) with a filename of
+            [webappname].xml although if manually created, the filename need not
+            match the web application name as Tomcat is concerned only with the
+            Context configuration contained within the Context Descriptor file(s).
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment on Tomcat startup"><strong>Deployment on Tomcat startup</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            If you are not interested in using the Tomcat Manager, or TCD, 
+            then you'll need to deploy your web applications 
+            statically to Tomcat, followed by a Tomcat startup. The location you
+            deploy web applications to for this type of deployment is called the 
+            <code>appBase</code> which is specified per Host. You either copy a
+            so-called <i>exploded web application</i>, i.e non-compressed, to this
+            location, or a compressed web application resource .WAR file.
+        </p>
+        <p>
+            The web applications present in the location specified by the Host's
+            (default Host is "localhost") <code>appBase</code> attribute (default
+            appBase is "$CATALINA_HOME/webapps") will be deployed on Tomcat startup 
+            only if the Host's <code>deployOnStartup</code> attribute is "true".
+        </p>
+        <p>
+            The following deployment sequence will occur on Tomcat startup in that
+            case:
+        </p>
+        <ol>
+            <li>Any Context Descriptors will be deployed first.</li>
+            <li>
+                Exploded web applications not referenced by any Context
+                Descriptor will then be deployed. If they have an associated 
+                .WAR file in the appBase and it is newer than the exploded web application, 
+                the exploded directory will be removed and the webapp will be 
+                redeployed from the .WAR
+            </li>
+            <li>.WAR files will be deployed</li>
+        </ol>
+        <p>
+            Note again that for each deployed web application, a 
+            Context Descriptor will be created <i>unless one exists already</i>.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying on a running Tomcat server"><strong>Deploying on a running Tomcat server</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            It is possible to deploy web applications to a running Tomcat server.
+        </p>
+        <p>
+            If the Host <code>autoDeploy</code> attribute is "true", the Host will 
+            attempt to deploy and update web applications dynamically, as needed,
+            for example if a new .WAR is dropped into the <code>appBase</code>. 
+            For this to work, the Host needs to have background processing 
+            enabled which is the default configuration.
+        </p>
+        
+        <p>
+            <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+        </p>
+        <ul>
+            <li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
+            <li>
+                Deployment of exploded web applications which are
+                copied into the Host <code>appBase</code>.
+            </li>
+            <li>
+                Re-deployment of a web application which has already been deployed from
+                a .WAR when the new .WAR is provided. In this case the exploded 
+                web application is removed, and the .WAR is expanded again. 
+                Note that the explosion will not occur if the Host is configured 
+                so that .WARs are not exploded with a <code>unpackWARs</code>
+                attribute set to "false", in which case the web application 
+                will be simply redeployed as a compressed archive.
+            </li>
+            <li>
+                Re-deployment of a web application if the /WEB-INF/web.xml file (or any
+                other resource defined as a WatchedResource) is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if the Context Descriptor file from which
+                the web application has been deployed is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if a Context Descriptor file (with a
+                filename corresponding to the Context path of the previously deployed
+                web application) is added to the 
+                <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code>
+                directory.
+            </li>
+            <li>
+                Undeployment of a web application if its document base (docBase)
+                is deleted. Note that on Windows, this assumes that anti-locking 
+                features (see Context configuration) are enabled, otherwise it is not 
+                possible to delete the resources of a running web application.
+            </li>
+        </ul>
+        <p>
+            Note that web application reloading can also be configured in the loader, in which
+            case loaded classes will be tracked for changes.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Tomcat Manager"><strong>Deploying using the Tomcat Manager</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Client Deployer Package"><strong>Deploying using the Client Deployer Package</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Finally, deployment of web application may be achieved using the 
+            Tomcat Client Deployer. This is a package which can be used to 
+            validate, compile, compress to .WAR, and deploy web applications to 
+            production or development Tomcat servers. It should be noted that this feature 
+            uses the Tomcat Manager and as such the target Tomcat server should be
+            running.
+        </p>
+    
+        <p>
+            It is assumed the user will be familar with Apache Ant for using the TCD.
+            Apache Ant is a scripted build tool. The TCD comes pre-packaged with a
+            build script to use. Only a modest understanding of Apache Ant is
+            required (installation as listed earlier in this page, and familiarity
+            with using the operating system command shell and configuring
+            environment variables).
+        </p>
+        
+        <p>
+            The TCD includes Ant tasks, the Jasper page compiler for JSP compilation 
+            before deployment, as well as a task which
+            validates the web application Context Descriptor. The validator task (class
+            <code>org.apache.catalina.ant.ValidatorTask</code>) allows only one parameter:
+            the base path of an exploded web application.
+        </p>
+    
+        <p>
+            The TCD uses an exploded web application as input (see the list of the
+            properties used below). A web application that is programatically 
+            deployed with the deployer may include a Context Desciptor in 
+            <code>/META-INF/context.xml</code>.
+        </p>
+    
+        <p>
+            The TCD includes a ready-to-use Ant script, with the following targets:
+        </p>
+        <ul>
+            <li>
+                <code>compile</code> (default): Compile and validate the web 
+                application. This can be used standalone, and does not need a running
+                Tomcat server. The compiled application will only run on the associated
+                Tomcat 5.5.x server release, and is not guaranteed to work on another
+                Tomcat release, as the code generated by Jasper depends on its runtime
+                component. It should also be noted that this target will also compile
+                automatically any Java source file located in the 
+                <code>/WEB-INF/classes</code> folder of the web application.</li>
+            <li>
+                <code>deploy</code>: Deploy a web application (compiled or not) to 
+                a Tomcat server.
+            </li>
+            <li><code>undeploy</code>: Undeploy a web application</li>
+            <li><code>start</code>: Start web application</li>
+            <li><code>reload</code>: Reload web application</li>
+            <li><code>stop</code>: Stop web application</li>
+        </ul>
+        
+        <p>
+            In order for the deployment to be configured, create a file
+            called <code>deployer.properties</code> in the TCD installation
+            directory root. In this file, add the following name=value pairs per
+            line:
+        </p>
+        
+        <p>
+            Additionally, you will need to ensure that a user has been 
+            setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
+            will not authenticate with the Tomcat Manager and the deployment will
+            fail. To do this, see the Tomcat Manager page.        
+        </p>
+        
+        <ul>
+            <li>
+                <code>build</code>: The build folder used will be, by default, 
+                <code>${build}/webapp/${path}</code>. After the end of the execution
+                of the <code>compile</code> target, the web application .WAR will be
+                located at <code>${build}/webapp/${path}.war</code>.
+            </li>
+            <li>
+                <code>webapp</code>: The directory containing the exploded web application 
+                which will be compiled and validated. By default, the folder is
+                <code>myapp</code>.
+            </li>
+            <li>
+                <code>path</code>: Deployed context path of the web application, 
+                by default <code>/myapp</code>.
+            </li>
+            <li>
+                <code>url</code>: Absolute URL to the Tomcat Manager web application of a 
+                running Tomcat server, which will be used to deploy and undeploy the
+                web application. By default, the deployer will attempt to access 
+                a Tomcat instance running on localhost, at 
+                <code>http://localhost:8080/manager</code>.
+            </li>
+            <li>
+                <code>username</code>: Tomcat Manager username (user should have a role of
+                manager)
+            </li>
+            <li><code>password</code>: Tomcat Manager password.</li>
+        </ul>
+    </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-ant.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-deployer.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/catalina-deployer.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-el.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-el.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-logging.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-compiler.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-compiler.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-runtime.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jasper-runtime.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jsp-api.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/jsp-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/servlet-api.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/apache-tomcat-5.5.23-deployer/lib/servlet-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/bootstrap.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/bootstrap.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/catalina-tasks.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/catalina-tasks.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/catalina-tasks.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<!--
+  XML file for importing Catalina ant tasks.
+  <import file="${catalina.home}/bin/catalina-tasks.xml"/>
+-->
+
+<project name="catalina-tasks">
+  <description>Catalina Ant Manager and JSPC Tasks</description>
+  <!-- set catalina.home if it's not already set -->
+  <dirname property="catalina.home.bin.dir" file="${ant.file.catalina-tasks}"/>
+  <property name="catalina.home" value="${catalina.home.bin.dir}/.."/>
+  <taskdef resource="org/apache/catalina/ant/catalina.tasks">
+    <classpath>
+      <fileset file="${catalina.home}/bin/commons-logging-api.jar"/>
+      <fileset file="${catalina.home}/common/lib/jasper-compiler.jar"/>
+      <fileset file="${catalina.home}/common/lib/jasper-runtime.jar"/>
+      <fileset file="${catalina.home}/common/lib/servlet-api.jar"/>
+      <fileset file="${catalina.home}/common/lib/jsp-api.jar"/>
+      <fileset file="${catalina.home}/server/lib/catalina-ant.jar"/>
+    </classpath>
+  </taskdef>
+</project>

Added: cs/trunk/apps-local/apache-tomcat/bin/catalina.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/catalina.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/catalina.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,225 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Start/Stop Script for the CATALINA Server
+rem
+rem Environment Variable Prequisites
+rem
+rem   CATALINA_HOME   May point at your Catalina "build" directory.
+rem
+rem   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
+rem                   of a Catalina installation.  If not present, resolves to
+rem                   the same directory that CATALINA_HOME points to.
+rem
+rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
+rem                   or "run" command is executed.
+rem
+rem   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
+rem                   the JVM should use (java.io.tmpdir).  Defaults to
+rem                   %CATALINA_BASE%\temp.
+rem
+rem   JAVA_HOME       Must point at your Java Development Kit installation.
+rem                   Required to run the with the "debug" argument.
+rem
+rem   JRE_HOME        Must point at your Java Development Kit installation.
+rem                   Defaults to JAVA_HOME if empty.
+rem
+rem   JAVA_OPTS       (Optional) Java runtime options used when the "start",
+rem                   "stop", or "run" command is executed.
+rem
+rem   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
+rem                   (JSSE) installation, whose JAR files will be added to the
+rem                   system class path used to start Tomcat.
+rem
+rem   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
+rem                   command is executed. The default is "dt_shmem".
+rem
+rem   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. The default is "jdbconn".
+rem
+rem   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. Specifies whether JVM should suspend
+rem                   execution immediately after startup. Default is "n".
+rem
+rem   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+rem                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+rem                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+rem                   options MUST be specified. The default is:
+rem
+rem                   -Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,
+rem                       address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+rem
+rem $Id: catalina.bat 498126 2007-01-20 15:38:39Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+rem Get standard environment variables
+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
+
+rem Get standard Java environment variables
+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
+echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo This file is needed to run this program
+goto end
+:okSetclasspath
+set BASEDIR=%CATALINA_HOME%
+call "%CATALINA_HOME%\bin\setclasspath.bat" %1
+if errorlevel 1 goto end
+
+rem Add on extra jar files to CLASSPATH
+if "%JSSE_HOME%" == "" goto noJsse
+set CLASSPATH=%CLASSPATH%;%JSSE_HOME%\lib\jcert.jar;%JSSE_HOME%\lib\jnet.jar;%JSSE_HOME%\lib\jsse.jar
+:noJsse
+set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar
+
+if not "%CATALINA_BASE%" == "" goto gotBase
+set CATALINA_BASE=%CATALINA_HOME%
+:gotBase
+
+if not "%CATALINA_TMPDIR%" == "" goto gotTmpdir
+set CATALINA_TMPDIR=%CATALINA_BASE%\temp
+:gotTmpdir
+
+if not exist "%CATALINA_HOME%\bin\tomcat-juli.jar" goto noJuli
+set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
+:noJuli
+
+rem ----- Execute The Requested Command ---------------------------------------
+
+echo Using CATALINA_BASE:   %CATALINA_BASE%
+echo Using CATALINA_HOME:   %CATALINA_HOME%
+echo Using CATALINA_TMPDIR: %CATALINA_TMPDIR%
+if ""%1"" == ""debug"" goto use_jdk
+echo Using JRE_HOME:        %JRE_HOME%
+goto java_dir_displayed
+:use_jdk
+echo Using JAVA_HOME:       %JAVA_HOME%
+:java_dir_displayed
+
+set _EXECJAVA=%_RUNJAVA%
+set MAINCLASS=org.apache.catalina.startup.Bootstrap
+set ACTION=start
+set SECURITY_POLICY_FILE=
+set DEBUG_OPTS=
+set JPDA=
+
+if not ""%1"" == ""jpda"" goto noJpda
+set JPDA=jpda
+if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
+set JPDA_TRANSPORT=dt_shmem
+:gotJpdaTransport
+if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
+set JPDA_ADDRESS=jdbconn
+:gotJpdaAddress
+if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
+set JPDA_SUSPEND=n
+:gotJpdaSuspend
+if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
+set JPDA_OPTS=-Xdebug -Xrunjdwp:transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
+:gotJpdaOpts
+shift
+:noJpda
+
+if ""%1"" == ""debug"" goto doDebug
+if ""%1"" == ""run"" goto doRun
+if ""%1"" == ""start"" goto doStart
+if ""%1"" == ""stop"" goto doStop
+if ""%1"" == ""version"" goto doVersion
+
+echo Usage:  catalina ( commands ... )
+echo commands:
+echo   debug             Start Catalina in a debugger
+echo   debug -security   Debug Catalina with a security manager
+echo   jpda start        Start Catalina under JPDA debugger
+echo   run               Start Catalina in the current window
+echo   run -security     Start in the current window with security manager
+echo   start             Start Catalina in a separate window
+echo   start -security   Start in a separate window with security manager
+echo   stop              Stop Catalina
+echo   version           What version of tomcat are you running?
+goto end
+
+:doDebug
+shift
+set _EXECJAVA=%_RUNJDB%
+set DEBUG_OPTS=-sourcepath "%CATALINA_HOME%\..\..\jakarta-tomcat-catalina\catalina\src\share"
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doRun
+shift
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doStart
+shift
+if not "%OS%" == "Windows_NT" goto noTitle
+set _EXECJAVA=start "Tomcat" %_RUNJAVA%
+goto gotTitle
+:noTitle
+set _EXECJAVA=start %_RUNJAVA%
+:gotTitle
+if not ""%1"" == ""-security"" goto execCmd
+shift
+echo Using Security Manager
+set SECURITY_POLICY_FILE=%CATALINA_BASE%\conf\catalina.policy
+goto execCmd
+
+:doStop
+shift
+set ACTION=stop
+set CATALINA_OPTS=
+goto execCmd
+
+:doVersion
+%_EXECJAVA% -classpath "%CATALINA_HOME%\server\lib\catalina.jar" org.apache.catalina.util.ServerInfo
+goto end
+
+
+:execCmd
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+rem Execute Java with the applicable properties
+if not "%JPDA%" == "" goto doJpda
+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurity
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doSecurity
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doJpda
+if not "%SECURITY_POLICY_FILE%" == "" goto doSecurityJpda
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+:doSecurityJpda
+%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %JPDA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Djava.security.manager -Djava.security.policy=="%SECURITY_POLICY_FILE%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
+goto end
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/catalina.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/catalina.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/catalina.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,338 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Start/Stop Script for the CATALINA Server
+#
+# Environment Variable Prequisites
+#
+#   CATALINA_HOME   May point at your Catalina "build" directory.
+#
+#   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
+#                   of a Catalina installation.  If not present, resolves to
+#                   the same directory that CATALINA_HOME points to.
+#
+#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
+#                   or "run" command is executed.
+#
+#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
+#                   the JVM should use (java.io.tmpdir).  Defaults to
+#                   $CATALINA_BASE/temp.
+#
+#   JAVA_HOME       Must point at your Java Development Kit installation.
+#                   Required to run the with the "debug" or "javac" argument.
+#
+#   JRE_HOME        Must point at your Java Development Kit installation.
+#                   Defaults to JAVA_HOME if empty.
+#
+#   JAVA_OPTS       (Optional) Java runtime options used when the "start",
+#                   "stop", or "run" command is executed.
+#
+#   JPDA_TRANSPORT  (Optional) JPDA transport used when the "jpda start"
+#                   command is executed. The default is "dt_socket".
+#
+#   JPDA_ADDRESS    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. The default is 8000.
+#
+#   JPDA_SUSPEND    (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. Specifies whether JVM should suspend
+#                   execution immediately after startup. Default is "n".
+#
+#   JPDA_OPTS       (Optional) Java runtime options used when the "jpda start"
+#                   command is executed. If used, JPDA_TRANSPORT, JPDA_ADDRESS,
+#                   and JPDA_SUSPEND are ignored. Thus, all required jpda
+#                   options MUST be specified. The default is:
+#
+#                   -Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,
+#                       address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
+#
+#   JSSE_HOME       (Optional) May point at your Java Secure Sockets Extension
+#                   (JSSE) installation, whose JAR files will be added to the
+#                   system class path used to start Tomcat.
+#
+#   CATALINA_PID    (Optional) Path of the file which should contains the pid
+#                   of catalina startup java process, when start (fork) is used
+#
+# $Id: catalina.sh 498126 2007-01-20 15:38:39Z markt $
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+
+# Only set CATALINA_HOME if not already set
+[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
+
+if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
+  . "$CATALINA_HOME"/bin/setenv.sh
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$JRE_HOME" ] && JRE_HOME=`cygpath --unix "$JRE_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CATALINA_BASE" ] && CATALINA_BASE=`cygpath --unix "$CATALINA_BASE"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+  [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --unix "$JSSE_HOME"`
+fi
+
+# For OS400
+if $os400; then
+  # Set job priority to standard for interactive (interactive - 6) by using
+  # the interactive priority - 6, the helper threads that respond to requests
+  # will be running at the same priority as interactive jobs.
+  COMMAND='chgjob job('$JOBNAME') runpty(6)'
+  system $COMMAND
+
+  # Enable multi threading
+  export QIBM_MULTI_THREADED=Y
+fi
+
+# Get standard Java environment variables
+if $os400; then
+  # -r will Only work on the os400 if the files are:
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh 
+else
+  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+    BASEDIR="$CATALINA_HOME"
+    . "$CATALINA_HOME"/bin/setclasspath.sh
+  else
+    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi
+
+# Add on extra jar files to CLASSPATH
+if [ -n "$JSSE_HOME" ]; then
+  CLASSPATH="$CLASSPATH":"$JSSE_HOME"/lib/jcert.jar:"$JSSE_HOME"/lib/jnet.jar:"$JSSE_HOME"/lib/jsse.jar
+fi
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$CATALINA_HOME"/bin/commons-logging-api.jar
+
+if [ -z "$CATALINA_BASE" ] ; then
+  CATALINA_BASE="$CATALINA_HOME"
+fi
+
+if [ -z "$CATALINA_TMPDIR" ] ; then
+  # Define the java.io.tmpdir to use for Catalina
+  CATALINA_TMPDIR="$CATALINA_BASE"/temp
+fi
+
+# Bugzilla 37848: When no TTY is available, don't output to console
+have_tty=0
+if [ "`tty`" != "not a tty" ]; then
+    have_tty=1
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
+  JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
+  CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
+  CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
+  CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+  [ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
+  JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
+fi
+
+# Set juli LogManager if it is present
+if [ -r "$CATALINA_HOME"/bin/tomcat-juli.jar ]; then
+  JAVA_OPTS="$JAVA_OPTS "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" "-Djava.util.logging.config.file="$CATALINA_BASE/conf/logging.properties"
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+# Bugzilla 37848: only output this if we have a TTY
+if [ $have_tty -eq 1 ]; then
+  echo "Using CATALINA_BASE:   $CATALINA_BASE"
+  echo "Using CATALINA_HOME:   $CATALINA_HOME"
+  echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR"
+  if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+    echo "Using JAVA_HOME:       $JAVA_HOME"
+  else
+    echo "Using JRE_HOME:       $JRE_HOME"
+  fi
+fi
+
+if [ "$1" = "jpda" ] ; then
+  if [ -z "$JPDA_TRANSPORT" ]; then
+    JPDA_TRANSPORT="dt_socket"
+  fi
+  if [ -z "$JPDA_ADDRESS" ]; then
+    JPDA_ADDRESS="8000"
+  fi
+  if [ -z "$JPDA_SUSPEND" ]; then
+    JPDA_SUSPEND="n"
+  fi
+  if [ -z "$JPDA_OPTS" ]; then
+    JPDA_OPTS="-Xdebug -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND"
+  fi
+  CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"
+  shift
+fi
+
+if [ "$1" = "debug" ] ; then
+  if $os400; then
+    echo "Debug command not available on OS400"
+    exit 1
+  else
+    shift
+    if [ "$1" = "-security" ] ; then
+      echo "Using Security Manager"
+      shift
+      exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
+        -Djava.security.manager \
+        -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    else
+      exec "$_RUNJDB" $JAVA_OPTS $CATALINA_OPTS \
+        -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+        -sourcepath "$CATALINA_HOME"/../../jakarta-tomcat-catalina/catalina/src/share \
+        -Dcatalina.base="$CATALINA_BASE" \
+        -Dcatalina.home="$CATALINA_HOME" \
+        -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+        org.apache.catalina.startup.Bootstrap "$@" start
+    fi
+  fi
+
+elif [ "$1" = "run" ]; then
+
+  shift
+  if [ "$1" = "-security" ] ; then
+    echo "Using Security Manager"
+    shift
+    exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  else
+    exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start
+  fi
+
+elif [ "$1" = "start" ] ; then
+
+  shift
+  touch "$CATALINA_BASE"/logs/catalina.out
+  if [ "$1" = "-security" ] ; then
+    echo "Using Security Manager"
+    shift
+    "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Djava.security.manager \
+      -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
+
+      if [ ! -z "$CATALINA_PID" ]; then
+        echo $! > $CATALINA_PID
+      fi
+  else
+    "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
+      -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+      -Dcatalina.base="$CATALINA_BASE" \
+      -Dcatalina.home="$CATALINA_HOME" \
+      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+      org.apache.catalina.startup.Bootstrap "$@" start \
+      >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
+
+      if [ ! -z "$CATALINA_PID" ]; then
+        echo $! > $CATALINA_PID
+      fi
+  fi
+
+elif [ "$1" = "stop" ] ; then
+
+  shift
+  FORCE=0
+  if [ "$1" = "-force" ]; then
+    shift
+    FORCE=1
+  fi
+
+  "$_RUNJAVA" $JAVA_OPTS \
+    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+    -Dcatalina.base="$CATALINA_BASE" \
+    -Dcatalina.home="$CATALINA_HOME" \
+    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+    org.apache.catalina.startup.Bootstrap "$@" stop
+
+  if [ $FORCE -eq 1 ]; then
+    if [ ! -z "$CATALINA_PID" ]; then
+       echo "Killing: `cat $CATALINA_PID`"
+       kill -9 `cat $CATALINA_PID`
+    else
+       echo "Kill failed: \$CATALINA_PID not set"
+    fi
+  fi
+
+elif [ "$1" = "version" ] ; then
+
+    "$_RUNJAVA"   \
+      -classpath "$CATALINA_HOME/server/lib/catalina.jar" \
+      org.apache.catalina.util.ServerInfo
+
+else
+
+  echo "Usage: catalina.sh ( commands ... )"
+  echo "commands:"
+  if $os400; then
+    echo "  debug             Start Catalina in a debugger (not available on OS400)"
+    echo "  debug -security   Debug Catalina with a security manager (not available on OS400)"
+  else
+    echo "  debug             Start Catalina in a debugger"
+    echo "  debug -security   Debug Catalina with a security manager"
+  fi
+  echo "  jpda start        Start Catalina under JPDA debugger"
+  echo "  run               Start Catalina in the current window"
+  echo "  run -security     Start in the current window with security manager"
+  echo "  start             Start Catalina in a separate window"
+  echo "  start -security   Start in a separate window with security manager"
+  echo "  stop              Stop Catalina"
+  echo "  stop -force       Stop Catalina (followed by kill -KILL)"
+  echo "  version           What version of tomcat are you running?"
+  exit 1
+
+fi


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/catalina.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/commons-daemon.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/commons-daemon.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/commons-logging-api.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/commons-logging-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/cpappend.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/cpappend.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/cpappend.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+rem ---------------------------------------------------------------------------
+rem Append to CLASSPATH
+rem
+rem $Id: cpappend.bat 301115 2002-08-04 18:19:43Z patrickl $
+rem ---------------------------------------------------------------------------
+
+rem Process the first argument
+if ""%1"" == """" goto end
+set CLASSPATH=%CLASSPATH%;%1
+shift
+
+rem Process the remaining arguments
+:setArgs
+if ""%1"" == """" goto doneSetArgs
+set CLASSPATH=%CLASSPATH% %1
+shift
+goto setArgs
+:doneSetArgs
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/digest.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/digest.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/digest.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Script to digest password using the algorithm specified
+rem
+rem $Id: digest.bat 301115 2002-08-04 18:19:43Z patrickl $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=.
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+set CATALINA_HOME=..
+:gotHome
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\tool-wrapper.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" -server org.apache.catalina.realm.RealmBase %CMD_LINE_ARGS%
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/digest.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/digest.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/digest.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Script to digest password using the algorithm specified
+#
+# $Id: digest.sh 385888 2006-03-14 21:04:40Z keith $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=tool-wrapper.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" -server org.apache.catalina.realm.RealmBase "$@"


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/digest.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/gridsphere.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/gridsphere.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/gridsphere.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13722 @@
+0:INFO:(GridSphereServlet.java:contextInitialized:484)
+< contextName: GridSphere Portlet Container >
+
+5:DEBUG:(GridSphereServlet.java:contextInitialized:485)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+12:INFO:(GridSphereServlet.java:init:88)
+< in init of GridSphereServlet >
+
+13:DEBUG:(GridSphereServlet.java:init:93)
+< loading from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+26:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+34:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar!/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml >
+
+420:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.persistence.PersistenceManagerService service def: 
+service name: Persistence Manager Service
+service description: Provides JDBC Persistence Capabilities using Hibernate
+service interface: org.gridsphere.services.core.persistence.PersistenceManagerService
+service implementation: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletManagerService service def: 
+service name: Portlet Manager Service
+service description: Provides Administration Capabilities for Portlet Web Applications
+service interface: org.gridsphere.services.core.registry.PortletManagerService
+service implementation: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+422:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.tomcat.TomcatManagerService service def: 
+service name: Tomcat Manager Service
+service description: Provides Portlet Reloading Capabilities uisng Tomcat manager webapp
+service interface: org.gridsphere.services.core.tomcat.TomcatManagerService
+service implementation: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+425:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.rss.RssService service def: 
+service name: RSS Service
+service description: Provides RSS Service
+service interface: org.gridsphere.services.core.rss.RssService
+service implementation: org.gridsphere.services.core.rss.impl.RssServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: cache_time	value: 10 >
+
+425:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletRegistryService service def: 
+service name: Portlet Registry Service
+service description: Provides Portlet Registry
+service interface: org.gridsphere.services.core.registry.PortletRegistryService
+service implementation: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+427:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.auth.AuthModuleService service def: 
+service name: Authentication Module Service
+service description: Provides Authentication Modules
+service interface: org.gridsphere.services.core.security.auth.AuthModuleService
+service implementation: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+428:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.portal.PortalConfigService service def: 
+service name: Portal Config Service
+service description: Provides GridSphere portal configuration settings
+service interface: org.gridsphere.services.core.portal.PortalConfigService
+service implementation: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+428:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.filter.PortalFilterService service def: 
+service name: Portal Filter Service
+service description: Provides portal filters
+service interface: org.gridsphere.services.core.filter.PortalFilterService
+service implementation: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+429:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.content.ContentManagerService service def: 
+service name: Content Manager Service
+service description: Provides Content Management Capabilities
+service interface: org.gridsphere.services.core.content.ContentManagerService
+service implementation: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+429:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.role.RoleManagerService service def: 
+service name: Role Manager Service
+service description: Provides Role Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.role.RoleManagerService
+service implementation: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+430:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.group.GroupManagerService service def: 
+service name: Group Manager Service
+service description: Provides Group Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.group.GroupManagerService
+service implementation: org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+433:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.user.UserManagerService service def: 
+service name: User Account Manager Service
+service description: Provides User Administration Capabilities
+service interface: org.gridsphere.services.core.user.UserManagerService
+service implementation: org.gridsphere.services.core.user.impl.UserManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+433:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.password.PasswordManagerService service def: 
+service name: Password Manager Service
+service description: Provides Password Management Capabilities
+service interface: org.gridsphere.services.core.security.password.PasswordManagerService
+service implementation: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+434:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.jcr.JCRService service def: 
+service name: JCR Service
+service description: Java Content Repository Service
+service interface: org.gridsphere.services.core.jcr.JCRService
+service implementation: org.gridsphere.services.core.jcr.impl.JCRServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+435:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.request.RequestService service def: 
+service name: Generic Request Service
+service description: Provides Generic Request Capabilities
+service interface: org.gridsphere.services.core.request.RequestService
+service implementation: org.gridsphere.services.core.request.impl.RequestServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+435:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.layout.LayoutManagerService service def: 
+service name: Layout Manager Service
+service description: Provides Layout Management Capabilities
+service interface: org.gridsphere.services.core.layout.LayoutManagerService
+service implementation: org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+436:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.mail.MailService service def: 
+service name: Mail Service
+service description: Simple e-mail service
+service interface: org.gridsphere.services.core.mail.MailService
+service implementation: org.gridsphere.services.core.mail.impl.MailServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+436:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.locale.LocaleService service def: 
+service name: Locale Service
+service description: Manages supported list of locales
+service interface: org.gridsphere.services.core.locale.LocaleService
+service implementation: org.gridsphere.services.core.locale.impl.LocaleServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: display-locale	value: en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja >
+
+437:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.timer.TimerService service def: 
+service name: Timer Service
+service description: Timer Service
+service interface: org.gridsphere.services.core.timer.TimerService
+service implementation: org.gridsphere.services.core.timer.impl.TimerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+438:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.cache.CacheService service def: 
+service name: Cache Service
+service description: Cache Service
+service interface: org.gridsphere.services.core.cache.CacheService
+service implementation: org.gridsphere.services.core.cache.impl.CacheServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: isCachingOn	value: true >
+
+439:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.secdir.SecureDirectoryService service def: 
+service name: Secure Directory Service
+service description: Provides Secure Directory Capabilities
+service interface: org.gridsphere.services.core.secdir.SecureDirectoryService
+service implementation: org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+439:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.charts.ChartService service def: 
+service name: Chart Service
+service description: Provides chart generation and management capabilities
+service interface: org.gridsphere.services.core.charts.ChartService
+service implementation: org.gridsphere.services.core.charts.impl.ChartServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+440:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.customization.SettingsService service def: 
+service name: Settings Service
+service description: GridSphere settings service
+service interface: org.gridsphere.services.core.customization.SettingsService
+service implementation: org.gridsphere.services.core.customization.impl.SettingsServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+447:DEBUG:(SettingsServiceImpl.java:init:33)
+< In Settings >
+
+448:INFO:(SettingsServiceImpl.java:init:46)
+< GridSphere Settings will be saved in: /root/.gridsphere >
+
+470:INFO:(SettingsServiceImpl.java:init:49)
+< GridSphere ConfigDir did not exist, created. >
+
+704:INFO:(SettingsServiceImpl.java:init:52)
+< Copy files to directory >
+
+707:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/content.xml >
+
+708:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+902:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/guest.xml >
+
+906:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+986:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/profile.xml >
+
+991:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1085:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/register.xml >
+
+1085:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1150:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/UpdateDatabase.xml >
+
+1152:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1213:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/login.xml >
+
+1213:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1364:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupAdmin.xml >
+
+1364:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1457:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupDatabase.xml >
+
+1457:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1507:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/error.xml >
+
+1507:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1583:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/loggedin.xml >
+
+1584:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1637:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/layout.xml >
+
+1639:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1689:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/admin.xml >
+
+1689:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+19015:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('05EEDA56114A737FC8BAD7FF7FCEFDCD') >
+
+19019:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+19021:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+19021:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+19043:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+19071:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+19073:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+19074:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+19117:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page SetupDatabase >
+
+19144:WARN:(JCRServiceImpl.java:init:48)
+< JCR Path /root/.gridsphere/portal/ >
+
+20557:INFO:(JCRServiceImpl.java:init:71)
+< Registering gs with Namespace http://www.gridsphere.org/jcr-content/1.0 >
+
+20616:INFO:(JCRServiceImpl.java:init:86)
+< Adding GS Root Node with Path /gridsphere >
+
+20618:INFO:(JCRServiceImpl.java:init:94)
+< Adding GS ContentDocument Root Node with Path /gridsphere/contentdocuments >
+
+20639:INFO:(JCRServiceImpl.java:init:127)
+< Adding main.html as document to ContentManagement. >
+
+20647:INFO:(JCRServiceImpl.java:init:127)
+< Adding pageheader.html as document to ContentManagement. >
+
+20660:INFO:(JCRServiceImpl.java:init:127)
+< Adding MessageOfTheDay.html as document to ContentManagement. >
+
+20669:INFO:(JCRServiceImpl.java:init:127)
+< Adding pagefooter.html as document to ContentManagement. >
+
+20676:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page SetupDatabase placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+20677:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+20678:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+20678:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+20679:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+20679:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+20947:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+104843:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+104846:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+104847:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+104848:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+104848:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+104854:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+162640:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+162640:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+162644:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+162645:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+162645:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+162646:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+162947:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'cigtg'@'localhost' (using password: YES) >
+
+162948:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+162965:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+162966:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+162971:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+162972:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+162973:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+162982:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+178213:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+178215:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+178215:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+178216:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+178218:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+178228:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+202608:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+202608:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+202610:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+202612:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+202613:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+202613:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+202617:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'gridsphere'@'localhost' (using password: YES) >
+
+202617:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+202635:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+202635:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+202636:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+202636:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+202637:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+202646:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+245176:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+245177:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+245178:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+245179:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+245179:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+245180:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+245183:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) >
+
+245183:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+245206:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+245207:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+245207:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+245208:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+245208:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+245215:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+273023:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+273023:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+273024:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+273024:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+273025:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+273025:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+273350:INFO:(CreateDatabase.java:execute:194)
+< Tested DB connection. >
+
+273448:DEBUG:(CreateDatabase.java:getDBConfiguration:152)
+< MappingPath is :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence >
+
+273449:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+273802:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+273820:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+273932:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+273951:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+273976:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+274000:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+274012:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+274031:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+274050:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+274065:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+274079:INFO:(CreateDatabase.java:execute:198)
+< Got DB configuration. >
+
+274747:INFO:(CreateDatabase.java:createDatabase:77)
+< Successfully created DB >
+
+274748:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+274765:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+274768:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+274771:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+274790:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+274798:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+274811:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+274823:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+274832:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+274839:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+274850:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+274862:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+274876:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+274887:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+275652:INFO:(PersistenceManagerRdbmsImpl.java:<init>:69)
+< Creating Hibernate RDBMS Impl using config in /root/.gridsphere/database/hibernate.properties >
+
+275652:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+276289:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+276293:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+276294:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+276305:INFO:(SetupServlet.java:doGet:103)
+< Starting a database transaction >
+
+276305:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+276307:INFO:(SetupServlet.java:doGet:111)
+< Committing the database transaction >
+
+276308:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+276309:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+276345:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page SetupAdmin >
+
+276346:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page SetupAdmin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+276347:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+276347:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+276347:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+276348:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+276348:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+276509:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+533896:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+533896:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+533897:DEBUG:(SetupServlet.java:createAdmin:356)
+< Starting a database transaction >
+
+533897:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+533935:DEBUG:(SetupServlet.java:createAdmin:369)
+< Saving the admin account in the DB >
+
+533975:DEBUG:(SetupServlet.java:createAdmin:378)
+< Committing the database transaction >
+
+533975:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+533980:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+534000:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+534003:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+534004:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+534008:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+534009:INFO:(GridSphereFilter.java:doFilter:131)
+< Initializing portlets >
+
+534016:DEBUG:(PortletManagerServiceImpl.java:initPortletWebApplication:224)
+< initing web app gridsphere >
+
+534021:DEBUG:(PortletWebApplicationLoader.java:<init>:61)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+534023:DEBUG:(PortletInvoker.java:initPortletWebApp:126)
+< initializing portlet web app gridsphere >
+
+534031:INFO:(PortletServlet.java:init:64)
+< in init of PortletServlet >
+
+534037:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml >
+
+534038:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar!/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml >
+
+534214:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ConfigPortlet class: gridsphere#ConfigPortlet in hash >
+
+534215:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking DatePortlet class: gridsphere#DatePortlet in hash >
+
+534215:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Login class: gridsphere#Login in hash >
+
+534216:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Signup class: gridsphere#Signup in hash >
+
+534216:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking LocalePortlet class: gridsphere#LocalePortlet in hash >
+
+534217:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RSSPortlet class: gridsphere#RSSPortlet in hash >
+
+534217:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Message of the Day class: gridsphere#Message of the Day in hash >
+
+534221:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking AboutGridSphere class: gridsphere#AboutGridSphere in hash >
+
+534221:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ContentManagement class: gridsphere#ContentManagement in hash >
+
+534222:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking UserAccountManager class: gridsphere#UserAccountManager in hash >
+
+534223:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RoleManager class: gridsphere#RoleManager in hash >
+
+534223:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ProfileManager class: gridsphere#ProfileManager in hash >
+
+534224:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Portlet Application Manager class: gridsphere#Portlet Application Manager in hash >
+
+534225:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Layout Manager class: gridsphere#Layout Manager in hash >
+
+534225:DEBUG:(PortletWebApplicationImpl.java:loadServices:183)
+< Did not find PortletServices.xml or portlet-services directory for: GridSphere Portlet Container >
+
+534238:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534239:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534252:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+534252:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534257:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+534258:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534266:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+534266:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534272:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+534272:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534275:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+534276:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534285:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.login.LoginPortlet >
+
+534285:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534287:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.about.AboutPortlet >
+
+534287:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534290:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+534291:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534292:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.date.DatePortlet >
+
+534293:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534296:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+534297:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534303:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.registration.SignupPortlet >
+
+534304:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534314:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+534316:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534318:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.news.NewsPortlet >
+
+534319:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534327:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+534328:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml >
+
+534343:INFO:(AuthModuleServiceImpl.java:loadAuthModules:81)
+< loading auth modules: >
+
+534344:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere Password
+auth module description: Hashed password based authentication using GridSphere database
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule
+auth module priority: 100
+config properties: 	name: aname	value: avalue >
+
+534357:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere JAAS
+auth module description: Use the Java Authentication and Authorization Framework
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule
+auth module priority: 40
+config properties: 	name: aname	value: avalue >
+
+534366:INFO:(PortletServlet.java:initJSRPortletWebapp:148)
+< loading authentication modules from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+534366:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet LocalePortlet >
+
+534371:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet UserAccountManager >
+
+534398:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RSSPortlet >
+
+534400:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Layout Manager >
+
+534404:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ProfileManager >
+
+534405:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ConfigPortlet >
+
+534405:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Login >
+
+534415:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml >
+
+534416:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/filters/portal-filters-mapping.xml >
+
+534447:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet AboutGridSphere >
+
+534450:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RoleManager >
+
+534451:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet DatePortlet >
+
+534451:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ContentManagement >
+
+534454:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Signup >
+
+534455:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Portlet Application Manager >
+
+534458:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Message of the Day >
+
+534459:ERROR:(NewsPortlet.java:init:50)
+< Could not load properties from /root/.gridsphere/portal//motd.properties >
+
+534459:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:165)
+< adding webapp: gridsphere >
+
+534460:ERROR:(PortletManagerServiceImpl.java:addPortletFile:190)
+< Unable to create portlet app file: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/root/.gridsphere/portlets/gridsphere >
+
+534460:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#LocalePortlet >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#UserAccountManager >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RSSPortlet >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Layout Manager >
+
+534462:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ProfileManager >
+
+534462:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ConfigPortlet >
+
+534463:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Login >
+
+534463:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#AboutGridSphere >
+
+534466:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RoleManager >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#DatePortlet >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ContentManagement >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Signup >
+
+534468:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Portlet Application Manager >
+
+534468:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Message of the Day >
+
+534469:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+534469:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+534470:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+534471:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+534471:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+534472:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+534477:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+534478:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+534478:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+534499:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+534506:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+534506:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+534507:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+534507:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+534508:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+534508:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+534513:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534514:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+534515:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534518:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+534519:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+534523:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+534524:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+534584:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+534585:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+534586:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+534586:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+535075:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+535287:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+535288:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+535288:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+535383:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+535386:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+535386:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+535389:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+597169:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+597169:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+597170:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+597170:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+597170:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+597171:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+597171:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+597172:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+597173:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+597174:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+597190:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+597195:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+597196:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+597196:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+597197:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+597197:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+597198:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+597201:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+597202:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+597202:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+597205:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+597206:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+597206:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+597207:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+597208:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+597213:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+597213:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+597214:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+597216:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+597394:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+597398:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+597398:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+597399:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+597404:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+597405:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+597406:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+597407:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+597408:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+597408:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+597409:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+597410:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+597412:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+597413:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+597416:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+597416:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+597962:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+597963:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+597964:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+597965:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+597970:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+597972:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+597973:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+597973:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+597973:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+597974:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+597979:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+616854:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+616855:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+616855:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+616860:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+616860:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+616860:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+616861:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+616862:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+616863:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+616864:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+616866:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+616866:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+616867:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+616867:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+616868:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+616869:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+616871:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+616883:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+616884:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+616888:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+616896:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616897:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+616898:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+616898:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+616899:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+616899:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+616900:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616902:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+616903:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616903:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+616904:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+616908:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+616925:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+616925:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+616926:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+616926:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+616926:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+616927:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+616927:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+616930:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+616931:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+616956:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+617007:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+617012:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+617012:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+617013:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+617013:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+617014:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+617014:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+617189:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617189:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+617193:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+617193:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617194:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617198:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+617199:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617199:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+617200:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+617201:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+617201:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+617209:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+621994:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+624468:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+624469:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+624469:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+624470:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+624694:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+624704:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+624704:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+624705:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+624708:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+624720:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+624720:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+624721:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+624721:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+624721:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+624724:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+659820:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+659821:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+659821:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+659821:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+659822:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+659822:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+659822:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+659824:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+659825:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+659829:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+659851:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+659857:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+659857:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+659858:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+659858:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+659859:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+659859:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+659867:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659868:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+659868:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+659869:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659870:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659870:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+659871:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659876:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+659877:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+659878:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+659878:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+659882:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+659883:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+659884:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+659885:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+660524:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+660525:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+660526:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+660527:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+660533:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+660535:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+660536:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+660536:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+660539:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+660540:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+660542:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+687309:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+687310:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portlets/r/ >
+
+687310:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+687310:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portlets/r/ requestURI= /gridsphere/gridsphere/admin/portlets/r/
+ >
+
+687311:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portlets&gs_render= >
+
+687311:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+687311:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+687313:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portlets >
+
+687314:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+687318:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+687320:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+687327:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687327:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+687328:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+687332:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687335:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687336:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+687337:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687337:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+687338:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+687339:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+687339:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+687368:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+687369:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+687370:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+687370:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+687371:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+687663:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+687665:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+687665:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+687666:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+687671:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+687672:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+687673:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+687673:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+687674:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+687674:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+687675:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+695861:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+695861:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/users/r/ >
+
+695861:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+695862:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/users/r/ requestURI= /gridsphere/gridsphere/admin/users/r/
+ >
+
+695862:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=users&gs_render= >
+
+695862:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+695866:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+695867:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= users >
+
+695868:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+695870:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+695873:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+695880:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695881:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.users.UserManagerPortlet component id= usermanagerTB >
+
+695882:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+695885:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695889:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695889:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.users.UserManagerPortlet component id= usermanager >
+
+695890:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695891:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+695891:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doListUsers >
+
+695892:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= UserAccountManager  next page is= doListUsers >
+
+695894:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session UserAccountManager.beans >
+
+695917:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/users/doViewUserList.jsp >
+
+695918:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.users.UserManagerPortlet#doListUsers user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+695921:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/users/doViewUserList.jsp >
+
+695921:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/users/doViewUserList.jsp >
+
+696258:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session UserAccountManager.beans >
+
+696259:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+696259:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+696260:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+696264:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+696269:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+696269:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+696270:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+696270:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+696270:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+696272:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+710923:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+710923:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/roles/r/ >
+
+710923:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+710924:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/roles/r/ requestURI= /gridsphere/gridsphere/admin/roles/r/
+ >
+
+710924:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=roles&gs_render= >
+
+710924:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+710925:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+710928:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= roles >
+
+710928:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+710931:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+710932:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+710941:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710942:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet component id= rolemanagerTB >
+
+710942:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+710946:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710951:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710952:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet component id= rolemanager >
+
+710954:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710954:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+710955:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doListRoles >
+
+710955:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RoleManager  next page is= doListRoles >
+
+710956:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RoleManager.beans >
+
+710973:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/roles/doViewRolesList.jsp >
+
+710975:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet#doListRoles user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+710976:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/roles/doViewRolesList.jsp >
+
+710977:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/roles/doViewRolesList.jsp >
+
+711201:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RoleManager.beans >
+
+711202:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+711202:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+711203:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+711207:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+711209:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+711209:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+711210:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+711210:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+711211:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+711212:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+760315:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+760316:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/configTab/r/ >
+
+760316:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+760316:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/configTab/r/ requestURI= /gridsphere/gridsphere/admin/configTab/r/
+ >
+
+760317:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=configTab&gs_render= >
+
+760317:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+760317:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+760322:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= configTab >
+
+760322:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+760327:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+760329:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+760342:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760342:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+760343:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+760344:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760345:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760345:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+760346:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760350:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+760350:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+760351:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+760352:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+760353:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+760354:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+760355:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+760356:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+760366:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+760367:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+760368:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+760369:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+760374:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+760376:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+760377:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+760377:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+760377:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+760378:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+760379:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+822481:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+822481:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+822481:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+822482:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+822482:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+822482:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+822483:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+822486:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+822487:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+822491:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+822492:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+822500:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822500:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+822501:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+822502:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822502:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822503:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+822504:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822504:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+822505:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+822505:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+822506:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+822507:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+824519:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+824521:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+824522:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+824522:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+824523:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+824534:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+824538:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+824539:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+824539:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+824542:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+824548:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+824548:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+824550:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+824550:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+824551:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+824552:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+844796:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+844796:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/a/gs_logout >
+
+844796:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+844797:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/a/gs_logout requestURI= /gridsphere/gridsphere/loggedin/6/a/gs_logout
+ >
+
+844797:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_action=gs_logout >
+
+844797:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+844798:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+844799:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+844799:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_logout >
+
+844802:DEBUG:(GridSphereServlet.java:logout:363)
+< in logout of GridSphere Servlet >
+
+844803:DEBUG:(PortletManagerServiceImpl.java:logoutPortletWebApplication:253)
+< logout web app gridsphere >
+
+844803:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('05EEDA56114A737FC8BAD7FF7FCEFDCD') >
+
+844804:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844805:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844809:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing SetupDatabase container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844809:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844810:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844811:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing SetupAdmin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844811:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844812:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844812:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844813:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844813:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844814:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844814:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844815:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844815:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844816:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844816:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844817:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844818:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844820:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844820:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+844821:DEBUG:(PortletServlet.java:service:225)
+< in PortletServlet: service(): No PortletID found in request! >
+
+844822:ERROR:(GridSphereServlet.java:logout:386)
+< Post logout redirect to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere?gs_render >
+
+844823:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+844824:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+844825:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+844842:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+844842:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+844842:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= gs_render >
+
+844843:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+844843:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+844843:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+844844:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+844844:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+844845:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+844847:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('792D8FCDFCCF581A3C30D48CBCEB05BC') >
+
+844847:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844848:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844848:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844849:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+844860:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+844862:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844863:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 792D8FCDFCCF581A3C30D48CBCEB05BC class org.gridsphere.layout.PortletPageFactory >
+
+844863:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844863:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844864:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844864:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+844868:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+844868:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+844869:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+844872:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+844872:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+844873:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+844873:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+844878:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+844881:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+844882:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+844882:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+844884:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+844887:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+844888:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+844888:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+844892:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844895:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+844895:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+844896:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+2703122:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('792D8FCDFCCF581A3C30D48CBCEB05BC') >
+
+2703122:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+2703123:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+2703123:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+2703123:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+2703123:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+2703124:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+7706680:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+7706682:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+7706682:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+7706683:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+7706683:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+7706683:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+7706684:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+7706685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+7706685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+7706686:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('A9FF5EAA687E61BEB92CA25289F3DAAE') >
+
+7706687:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706687:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706688:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706689:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+7706693:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+7706697:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706697:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : A9FF5EAA687E61BEB92CA25289F3DAAE class org.gridsphere.layout.PortletPageFactory >
+
+7706698:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706698:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706699:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706699:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+7706704:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+7706704:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+7706705:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+7706706:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+7706706:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+7706707:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+7706707:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+7706709:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+7706709:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+7706710:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+7706711:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+7706712:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+7706714:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706714:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+7706715:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+7706716:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706721:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706721:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+7706722:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706723:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+7706723:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+7706724:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+7706724:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+7706725:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+7706726:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+7706726:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+7706727:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+7706727:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+7706730:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+7706731:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+7706734:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+7706735:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+7706738:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+7706739:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706740:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706740:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706740:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+7706741:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+7706742:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+9546367:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('A9FF5EAA687E61BEB92CA25289F3DAAE') >
+
+9546368:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+9546368:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+9546368:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+9546369:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+9546369:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+9546369:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+224463136:DEBUG:(GridSphereServlet.java:destroy:413)
+< in destroy: Shutting down services >
+
+224463149:INFO:(PortletServiceFactory.java:shutdownServices:212)
+< Shutting down all portlet services: >
+
+224463150:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.timer.TimerService impl: org.gridsphere.services.core.timer.impl.TimerServiceImpl >
+
+224463150:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.registry.PortletRegistryService impl: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl >
+
+224463206:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.registry.PortletManagerService impl: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl >
+
+224463206:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.locale.LocaleService impl: org.gridsphere.services.core.locale.impl.LocaleServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.customization.SettingsService impl: org.gridsphere.services.core.customization.impl.SettingsServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.filter.PortalFilterService impl: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.auth.AuthModuleService impl: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.tomcat.TomcatManagerService impl: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.mail.MailService impl: org.gridsphere.services.core.mail.impl.MailServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.rss.RssService impl: org.gridsphere.services.core.rss.impl.RssServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.portal.PortalConfigService impl: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.cache.CacheService impl: org.gridsphere.services.core.cache.impl.CacheServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.request.RequestService impl: org.gridsphere.services.core.request.impl.RequestServiceImpl >
+
+224463210:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.jcr.JCRService impl: org.gridsphere.services.core.jcr.impl.JCRServiceImpl >
+
+224463210:INFO:(JCRServiceImpl.java:destroy:145)
+< Shutting down content repository... >
+
+224463323:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.password.PasswordManagerService impl: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl >
+
+224463323:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.role.RoleManagerService impl: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl >
+
+224463324:INFO:(RoleManagerServiceImpl.java:destroy:62)
+< Calling destroy() >
+
+224463324:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.persistence.PersistenceManagerService impl: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl >
+
+224463324:INFO:(PersistenceManagerServiceImpl.java:destroy:109)
+< Shutting down PersistenceManagers  >
+
+224463383:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.content.ContentManagerService impl: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl >
+
+224463383:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.user.UserManagerService impl: org.gridsphere.services.core.user.impl.UserManagerServiceImpl >
+
+224463608:DEBUG:(GridSphereServlet.java:contextDestroyed:470)
+< contextDestroyed() >
+
+224463609:DEBUG:(GridSphereServlet.java:contextDestroyed:471)
+< contextName: GridSphere Portlet Container >
+
+224463609:DEBUG:(GridSphereServlet.java:contextDestroyed:472)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+0:INFO:(GridSphereServlet.java:contextInitialized:484)
+< contextName: GridSphere Portlet Container >
+
+5:DEBUG:(GridSphereServlet.java:contextInitialized:485)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+10:INFO:(GridSphereServlet.java:init:88)
+< in init of GridSphereServlet >
+
+10:DEBUG:(GridSphereServlet.java:init:93)
+< loading from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+26:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+33:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar!/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml >
+
+403:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.persistence.PersistenceManagerService service def: 
+service name: Persistence Manager Service
+service description: Provides JDBC Persistence Capabilities using Hibernate
+service interface: org.gridsphere.services.core.persistence.PersistenceManagerService
+service implementation: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+404:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletManagerService service def: 
+service name: Portlet Manager Service
+service description: Provides Administration Capabilities for Portlet Web Applications
+service interface: org.gridsphere.services.core.registry.PortletManagerService
+service implementation: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+405:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.tomcat.TomcatManagerService service def: 
+service name: Tomcat Manager Service
+service description: Provides Portlet Reloading Capabilities uisng Tomcat manager webapp
+service interface: org.gridsphere.services.core.tomcat.TomcatManagerService
+service implementation: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+407:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.rss.RssService service def: 
+service name: RSS Service
+service description: Provides RSS Service
+service interface: org.gridsphere.services.core.rss.RssService
+service implementation: org.gridsphere.services.core.rss.impl.RssServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: cache_time	value: 10 >
+
+408:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletRegistryService service def: 
+service name: Portlet Registry Service
+service description: Provides Portlet Registry
+service interface: org.gridsphere.services.core.registry.PortletRegistryService
+service implementation: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+409:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.auth.AuthModuleService service def: 
+service name: Authentication Module Service
+service description: Provides Authentication Modules
+service interface: org.gridsphere.services.core.security.auth.AuthModuleService
+service implementation: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+410:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.portal.PortalConfigService service def: 
+service name: Portal Config Service
+service description: Provides GridSphere portal configuration settings
+service interface: org.gridsphere.services.core.portal.PortalConfigService
+service implementation: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+410:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.filter.PortalFilterService service def: 
+service name: Portal Filter Service
+service description: Provides portal filters
+service interface: org.gridsphere.services.core.filter.PortalFilterService
+service implementation: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+411:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.content.ContentManagerService service def: 
+service name: Content Manager Service
+service description: Provides Content Management Capabilities
+service interface: org.gridsphere.services.core.content.ContentManagerService
+service implementation: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+412:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.role.RoleManagerService service def: 
+service name: Role Manager Service
+service description: Provides Role Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.role.RoleManagerService
+service implementation: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+412:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.group.GroupManagerService service def: 
+service name: Group Manager Service
+service description: Provides Group Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.group.GroupManagerService
+service implementation: org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+414:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.user.UserManagerService service def: 
+service name: User Account Manager Service
+service description: Provides User Administration Capabilities
+service interface: org.gridsphere.services.core.user.UserManagerService
+service implementation: org.gridsphere.services.core.user.impl.UserManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+414:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.password.PasswordManagerService service def: 
+service name: Password Manager Service
+service description: Provides Password Management Capabilities
+service interface: org.gridsphere.services.core.security.password.PasswordManagerService
+service implementation: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+415:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.jcr.JCRService service def: 
+service name: JCR Service
+service description: Java Content Repository Service
+service interface: org.gridsphere.services.core.jcr.JCRService
+service implementation: org.gridsphere.services.core.jcr.impl.JCRServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+415:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.request.RequestService service def: 
+service name: Generic Request Service
+service description: Provides Generic Request Capabilities
+service interface: org.gridsphere.services.core.request.RequestService
+service implementation: org.gridsphere.services.core.request.impl.RequestServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+416:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.layout.LayoutManagerService service def: 
+service name: Layout Manager Service
+service description: Provides Layout Management Capabilities
+service interface: org.gridsphere.services.core.layout.LayoutManagerService
+service implementation: org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+417:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.mail.MailService service def: 
+service name: Mail Service
+service description: Simple e-mail service
+service interface: org.gridsphere.services.core.mail.MailService
+service implementation: org.gridsphere.services.core.mail.impl.MailServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+418:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.locale.LocaleService service def: 
+service name: Locale Service
+service description: Manages supported list of locales
+service interface: org.gridsphere.services.core.locale.LocaleService
+service implementation: org.gridsphere.services.core.locale.impl.LocaleServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: display-locale	value: en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja >
+
+418:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.timer.TimerService service def: 
+service name: Timer Service
+service description: Timer Service
+service interface: org.gridsphere.services.core.timer.TimerService
+service implementation: org.gridsphere.services.core.timer.impl.TimerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+419:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.cache.CacheService service def: 
+service name: Cache Service
+service description: Cache Service
+service interface: org.gridsphere.services.core.cache.CacheService
+service implementation: org.gridsphere.services.core.cache.impl.CacheServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: isCachingOn	value: true >
+
+420:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.secdir.SecureDirectoryService service def: 
+service name: Secure Directory Service
+service description: Provides Secure Directory Capabilities
+service interface: org.gridsphere.services.core.secdir.SecureDirectoryService
+service implementation: org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.charts.ChartService service def: 
+service name: Chart Service
+service description: Provides chart generation and management capabilities
+service interface: org.gridsphere.services.core.charts.ChartService
+service implementation: org.gridsphere.services.core.charts.impl.ChartServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.customization.SettingsService service def: 
+service name: Settings Service
+service description: GridSphere settings service
+service interface: org.gridsphere.services.core.customization.SettingsService
+service implementation: org.gridsphere.services.core.customization.impl.SettingsServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+426:DEBUG:(SettingsServiceImpl.java:init:33)
+< In Settings >
+
+428:INFO:(SettingsServiceImpl.java:init:46)
+< GridSphere Settings will be saved in: /root/.gridsphere >
+
+447:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/content.xml >
+
+448:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+708:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/guest.xml >
+
+710:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+791:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/profile.xml >
+
+793:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+878:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/register.xml >
+
+882:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+943:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/UpdateDatabase.xml >
+
+944:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+997:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/login.xml >
+
+997:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1063:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupAdmin.xml >
+
+1064:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1158:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupDatabase.xml >
+
+1159:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1201:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/error.xml >
+
+1202:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1277:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/loggedin.xml >
+
+1277:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1332:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/layout.xml >
+
+1333:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1386:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/admin.xml >
+
+1386:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+17384:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('C6CE167935F7CD4AA8D0D1C36FCBD9F8') >
+
+17384:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+17385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+17385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+17412:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+17435:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+17579:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+17837:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+17860:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+17971:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+17991:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+18012:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+18043:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+18056:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+18072:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+18087:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+18110:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+19735:INFO:(PersistenceManagerRdbmsImpl.java:<init>:69)
+< Creating Hibernate RDBMS Impl using config in /root/.gridsphere/database/hibernate.properties >
+
+19735:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+20293:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+20302:INFO:(GridSphereFilter.java:doFilter:131)
+< Initializing portlets >
+
+20340:DEBUG:(PortletManagerServiceImpl.java:initPortletWebApplication:224)
+< initing web app gridsphere >
+
+20342:DEBUG:(PortletWebApplicationLoader.java:<init>:61)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+20357:DEBUG:(PortletInvoker.java:initPortletWebApp:126)
+< initializing portlet web app gridsphere >
+
+20370:INFO:(PortletServlet.java:init:64)
+< in init of PortletServlet >
+
+20374:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml >
+
+20375:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar!/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml >
+
+20568:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ConfigPortlet class: gridsphere#ConfigPortlet in hash >
+
+20569:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking DatePortlet class: gridsphere#DatePortlet in hash >
+
+20569:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Login class: gridsphere#Login in hash >
+
+20570:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Signup class: gridsphere#Signup in hash >
+
+20571:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking LocalePortlet class: gridsphere#LocalePortlet in hash >
+
+20571:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RSSPortlet class: gridsphere#RSSPortlet in hash >
+
+20572:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Message of the Day class: gridsphere#Message of the Day in hash >
+
+20574:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking AboutGridSphere class: gridsphere#AboutGridSphere in hash >
+
+20575:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ContentManagement class: gridsphere#ContentManagement in hash >
+
+20575:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking UserAccountManager class: gridsphere#UserAccountManager in hash >
+
+20578:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RoleManager class: gridsphere#RoleManager in hash >
+
+20578:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ProfileManager class: gridsphere#ProfileManager in hash >
+
+20579:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Portlet Application Manager class: gridsphere#Portlet Application Manager in hash >
+
+20580:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Layout Manager class: gridsphere#Layout Manager in hash >
+
+20581:DEBUG:(PortletWebApplicationImpl.java:loadServices:183)
+< Did not find PortletServices.xml or portlet-services directory for: GridSphere Portlet Container >
+
+20598:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.locale.LocalePortlet >
+
+20598:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20612:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+20612:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20616:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+20617:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20625:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+20626:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20630:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+20630:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20637:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+20637:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20642:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.login.LoginPortlet >
+
+20643:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20644:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.about.AboutPortlet >
+
+20645:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20647:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+20648:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20651:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.date.DatePortlet >
+
+20652:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20657:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+20658:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20663:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.registration.SignupPortlet >
+
+20663:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20673:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+20674:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20676:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.news.NewsPortlet >
+
+20676:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20691:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+20692:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml >
+
+20709:INFO:(AuthModuleServiceImpl.java:loadAuthModules:81)
+< loading auth modules: >
+
+20710:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere Password
+auth module description: Hashed password based authentication using GridSphere database
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule
+auth module priority: 100
+config properties: 	name: aname	value: avalue >
+
+20762:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere JAAS
+auth module description: Use the Java Authentication and Authorization Framework
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule
+auth module priority: 40
+config properties: 	name: aname	value: avalue >
+
+20772:INFO:(PortletServlet.java:initJSRPortletWebapp:148)
+< loading authentication modules from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+20774:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet LocalePortlet >
+
+20779:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet UserAccountManager >
+
+20824:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RSSPortlet >
+
+20826:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Layout Manager >
+
+20866:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ProfileManager >
+
+20867:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ConfigPortlet >
+
+20867:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Login >
+
+20876:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml >
+
+20876:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/filters/portal-filters-mapping.xml >
+
+20927:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet AboutGridSphere >
+
+20928:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RoleManager >
+
+20932:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet DatePortlet >
+
+20933:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ContentManagement >
+
+20943:WARN:(JCRServiceImpl.java:init:48)
+< JCR Path /root/.gridsphere/portal/ >
+
+21985:INFO:(JCRServiceImpl.java:init:71)
+< Registering gs with Namespace http://www.gridsphere.org/jcr-content/1.0 >
+
+22140:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Signup >
+
+22141:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Portlet Application Manager >
+
+22144:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Message of the Day >
+
+22147:ERROR:(NewsPortlet.java:init:50)
+< Could not load properties from /root/.gridsphere/portal//motd.properties >
+
+22147:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:165)
+< adding webapp: gridsphere >
+
+22148:ERROR:(PortletManagerServiceImpl.java:addPortletFile:190)
+< Unable to create portlet app file: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/root/.gridsphere/portlets/gridsphere >
+
+22149:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#LocalePortlet >
+
+22149:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#UserAccountManager >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RSSPortlet >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Layout Manager >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ProfileManager >
+
+22151:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ConfigPortlet >
+
+22151:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Login >
+
+22152:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#AboutGridSphere >
+
+22152:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RoleManager >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#DatePortlet >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ContentManagement >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Signup >
+
+22154:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Portlet Application Manager >
+
+22154:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Message of the Day >
+
+22157:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+22157:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+22157:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+22159:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+22159:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+22160:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+22184:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+22187:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+22189:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+22237:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+22257:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+22257:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+22258:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+22258:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+22259:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+22259:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+22270:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+22271:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+22272:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+22276:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+22277:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+22278:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+22278:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+22332:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+22333:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+22333:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+22334:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+22441:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+22475:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+22475:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+22476:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+22546:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+22548:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+22549:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+22549:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+22550:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+22550:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+22552:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+48816:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+48816:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+48817:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+48817:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+48817:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+48818:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+48818:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+48819:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+48820:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+48820:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+48820:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+48824:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+48825:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+48826:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+48827:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+48829:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+48830:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+48831:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+48832:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+48833:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+48833:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+48834:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+48836:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+48841:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+48844:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+48844:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+48849:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+48850:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+48851:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+48851:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+48851:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+48852:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+48853:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+56703:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+56705:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+56706:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+56706:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+56709:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+56709:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+56710:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+56711:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+56711:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+56712:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+56726:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+56729:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+56729:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+56731:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+56734:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+56734:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+56735:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+56741:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+56741:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+56742:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+56743:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+56746:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+56746:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+56747:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+56749:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+56750:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+56751:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+56751:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+56755:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+56796:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+56797:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+56797:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+56798:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+56801:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+56802:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+56803:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+56805:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+56806:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+56807:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+56807:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+56808:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+56810:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+56811:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+56812:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+56812:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+56844:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+56846:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+56846:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+56847:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+56851:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+56854:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+56855:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+56855:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+56856:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+56857:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+56857:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+74307:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+74307:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+74307:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+74308:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+74308:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+74308:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+74309:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+74313:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+74314:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+74315:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+74319:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+74320:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+74320:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+74321:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+74321:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+74322:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+74324:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+74337:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+74341:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+74342:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+74402:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74403:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+74403:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+74404:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+74404:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+74409:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+74410:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74412:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+74413:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74413:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+74414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+74448:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+74467:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+74468:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+74468:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+74468:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+74468:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+74473:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+74474:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+74475:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+74475:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+74490:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+74511:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+74521:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+74522:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+74522:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+74523:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+74523:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+74524:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+74575:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74576:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+74579:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+74581:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74582:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74582:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+74583:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74584:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+74584:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+74585:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+74587:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+74602:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+77367:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+79571:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+79572:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+79572:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+79577:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+79626:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+79632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+79633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+79634:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+79641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+79645:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+79645:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+79646:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+79646:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+79647:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+79649:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+84999:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+84999:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+84999:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+85000:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+85000:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+85000:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+85001:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+85002:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+85006:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+85012:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+85041:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+85045:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+85045:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+85046:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+85046:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+85047:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+85047:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+85060:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85060:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+85061:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+85062:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85063:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85063:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+85064:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85065:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+85065:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+85066:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+85066:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+85071:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+85071:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+85072:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+85073:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+85146:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+85147:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+85148:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+85150:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+85157:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+85158:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+85159:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+85159:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+85160:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+85160:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+85161:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+88759:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+88759:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portlets/r/ >
+
+88759:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+88760:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portlets/r/ requestURI= /gridsphere/gridsphere/admin/portlets/r/
+ >
+
+88760:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portlets&gs_render= >
+
+88761:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+88761:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+88762:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portlets >
+
+88762:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+88768:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+88771:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+88779:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88780:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+88781:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+88782:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88785:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88786:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+88786:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88789:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+88790:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+88790:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+88791:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+88820:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+88820:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+88821:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+88822:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+88822:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+88890:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+88891:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+88892:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+88892:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+88898:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+88899:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+88900:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+88900:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+88901:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+88901:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+88904:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+97925:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+97925:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portletmanager/a/displayWebapp >
+
+97926:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= 5Ip_appname=gridsphere&up=5Ip >
+
+97926:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portletmanager/a/displayWebapp requestURI= /gridsphere/gridsphere/admin/portletmanager/a/displayWebapp
+ >
+
+97926:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portletmanager&gs_action=displayWebapp&5Ip_appname=gridsphere&up=5Ip >
+
+97927:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+97927:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+97928:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portletmanager >
+
+97929:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=displayWebapp >
+
+97934:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+97935:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97935:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+97936:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+97936:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97940:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97940:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+97941:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to displayWebApp >
+
+97942:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#displayWebapp user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+97943:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Portlet Application Manager.beans >
+
+97945:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager_portletmanager >
+
+97946:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+97947:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+97957:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97958:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+97961:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+97962:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97963:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97963:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+97964:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97964:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= displayWebApp >
+
+97965:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+97974:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/viewPortletApp.jsp >
+
+97977:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#displayWebApp user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+97977:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/viewPortletApp.jsp >
+
+97980:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/viewPortletApp.jsp >
+
+99518:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+99525:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+99525:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+99526:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+99538:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+99541:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+99541:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+99542:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+109784:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+109784:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+109784:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+109785:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+109786:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+109786:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+109786:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+109787:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+109788:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+109791:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+109832:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page layout >
+
+109835:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page layout placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+109836:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+109836:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+109837:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+109837:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+109837:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+109845:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109846:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+109849:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+109850:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109853:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109854:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+109855:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109855:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+109856:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+109856:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+109857:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+109858:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+109873:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+109877:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+109877:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+109885:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+109886:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+109887:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+109887:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+110351:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+110352:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+110353:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+110353:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+110360:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+110362:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+110362:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+110363:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+110363:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+110364:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+110365:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+118581:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+118581:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+118581:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+118582:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+118582:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+118582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+118583:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+118584:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+118584:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+118592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+118596:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page profile >
+
+118599:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page profile placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+118599:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+118600:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+118600:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+118601:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+118601:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+118610:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118611:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+118611:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+118612:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118618:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118618:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+118619:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118620:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+118621:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+118622:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+118622:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+118666:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+118671:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+118671:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+118672:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+119191:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+119377:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+119378:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+119378:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+119384:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+119390:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+119390:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+119393:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+119394:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+119394:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+119395:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+137931:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+137931:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+137931:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+137932:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+137932:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+137933:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+137933:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+137935:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+137935:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+137942:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+137943:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+137950:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137951:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+137952:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+137955:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137959:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137959:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+137960:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137961:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+137961:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+137962:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+137962:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+137967:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+137968:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+137969:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+137969:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+137970:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+137979:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+137980:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+137981:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+137982:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+137987:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+137988:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+137989:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+137989:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+137990:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+137990:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+137992:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+139643:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+139644:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+139644:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+139644:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+139644:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+139645:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+139645:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+139647:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+139647:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+139652:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+139658:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page content >
+
+139661:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page content placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+139661:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+139662:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+139662:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+139663:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+139663:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+139673:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139674:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+139675:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+139675:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139676:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139677:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+139677:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139678:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+139679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+139679:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+139680:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+139684:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+139685:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+139686:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+139687:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+139969:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+139971:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+139971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+139972:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+139975:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+139977:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+139978:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+139979:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+139982:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+139983:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+139984:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+200291:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+200292:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+200292:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+200292:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+200293:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+200293:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+200293:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+200294:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+200295:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+200298:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+200299:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+200305:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200309:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+200309:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+200310:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200311:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200312:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+200313:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200313:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+200314:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+200315:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+200315:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+200317:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+202346:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+202348:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+202349:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+202351:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+202352:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+202366:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+202369:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+202370:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+202371:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+202376:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+202380:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+202380:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+202381:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+202381:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+202381:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+202383:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+211679:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+211680:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+211680:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+211680:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+211681:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+211683:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+211684:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+211685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+211685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+211689:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+211690:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+211696:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211697:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+211697:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+211698:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211699:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211699:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+211703:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211704:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+211705:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+211705:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+211706:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+211712:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+211712:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+211713:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+211714:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+211714:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+211717:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+211718:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+211718:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+211719:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+211722:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+211727:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+211727:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+211728:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+215582:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+215582:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+215583:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+215583:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+215583:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+215584:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+215585:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+215586:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+215586:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+215592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+215592:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+215599:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215600:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+215601:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+215604:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215605:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215605:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+215606:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215606:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+215607:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+215608:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+215608:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+215614:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+215615:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+215615:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+215616:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+215623:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+215627:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+215627:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+215628:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+215631:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+215632:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+215633:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+215633:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+215634:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+215634:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+215636:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+217262:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+217262:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+217262:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+217263:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+217263:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+217263:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+217264:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+217265:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+217265:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+217269:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+217272:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+217280:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217281:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+217282:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+217283:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217287:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217288:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+217288:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217289:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+217290:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+217290:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+217291:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+217292:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+217292:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+217295:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+217296:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+217302:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+217303:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+217303:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+217304:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+217308:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+217309:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+217312:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+217313:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+217316:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+217318:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+217318:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+217319:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+217319:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+217319:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+217320:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+222997:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+222997:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+222999:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+222999:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+222999:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+223001:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+223002:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+223003:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+223003:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+223013:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+223014:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+223020:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223021:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+223024:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+223025:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223025:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223026:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+223027:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223027:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+223028:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+223028:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+223029:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+223031:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+225060:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+225063:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+225065:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+225066:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+225066:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+225073:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+225079:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+225080:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+225080:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+225083:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+225087:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+225087:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+225088:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+225088:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+225088:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+225093:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+232316:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+232316:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/a/gs_logout >
+
+232316:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+232317:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/a/gs_logout requestURI= /gridsphere/gridsphere/loggedin/6/a/gs_logout
+ >
+
+232317:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_action=gs_logout >
+
+232317:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+232318:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+232320:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+232320:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_logout >
+
+232325:DEBUG:(GridSphereServlet.java:logout:363)
+< in logout of GridSphere Servlet >
+
+232326:DEBUG:(PortletManagerServiceImpl.java:logoutPortletWebApplication:253)
+< logout web app gridsphere >
+
+232326:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('C6CE167935F7CD4AA8D0D1C36FCBD9F8') >
+
+232327:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232327:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232328:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing layout container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232329:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232329:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing content container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232330:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232330:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing profile container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232334:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232334:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232335:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232336:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232336:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232337:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232338:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232338:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232339:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232339:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232340:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232340:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232341:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232341:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232342:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232342:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232343:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+232346:DEBUG:(PortletServlet.java:service:225)
+< in PortletServlet: service(): No PortletID found in request! >
+
+232346:ERROR:(GridSphereServlet.java:logout:386)
+< Post logout redirect to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere?gs_render >
+
+232347:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+232347:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+232349:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+232366:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+232366:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+232366:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= gs_render >
+
+232367:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+232367:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+232368:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+232368:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+232369:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+232369:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+232371:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('1D7C867910A513CC65BCFE4CB1136D1F') >
+
+232372:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232372:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232373:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232373:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+232379:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+232381:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232382:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 1D7C867910A513CC65BCFE4CB1136D1F class org.gridsphere.layout.PortletPageFactory >
+
+232384:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232386:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+232389:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+232389:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+232390:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+232392:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+232393:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+232393:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+232394:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+232395:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+232396:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+232397:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+232397:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+232399:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+232405:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+232405:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+232406:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+232411:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+232413:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232413:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232414:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232414:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+232414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+232415:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+2042805:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('1D7C867910A513CC65BCFE4CB1136D1F') >
+
+2042806:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+2042806:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+2042806:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:1D7C867910A513CC65BCFE4CB1136D1F >
+
+2042807:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+2042807:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+2042807:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+211995321:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+211995518:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+211995518:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+211995519:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+211995519:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+211995582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+211995593:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+211995781:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+211995782:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+211995928:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('CA4BF5F09E598B43482D1FF4B1061A0C') >
+
+211995950:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211995950:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211995951:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211995994:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+211996134:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+211996642:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211996642:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211996644:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+211997013:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+211997014:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+211997015:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+211997255:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+211997283:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+211997283:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+211997284:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+211997402:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+211997403:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+211997403:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+211997404:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+211997501:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+211997522:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+211997523:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+211997524:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+211997577:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+211997600:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211997606:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211997606:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211997607:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+211997607:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+211997646:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212298371:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212298372:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+212298372:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212298373:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+212298373:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+212298373:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212298374:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212298380:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+212298381:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212298381:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212298387:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+212298389:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212298389:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+212298390:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212298436:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212298437:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212298437:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212298439:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+212298440:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+212298441:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+212298458:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212298459:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+212298459:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+212298460:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+212298461:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+212298462:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212298462:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+212298463:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+212298469:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+212298473:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298482:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+212298483:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212298484:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298499:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298500:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+212298501:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298501:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212298502:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212298502:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+212298503:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+212298508:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+212298509:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+212298509:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212298510:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+212298528:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+212298550:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+212298554:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212298554:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212298555:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212298558:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212298636:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212298636:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212298637:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212298637:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212298637:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212298656:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212334253:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212334253:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+212334267:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212334267:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212334273:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+212334273:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+212334274:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212334290:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334291:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+212334291:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212334292:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334292:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334293:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+212334294:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+212334660:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+212334661:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+212334661:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+212334703:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334772:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212334772:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212334773:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+212334774:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+212334774:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+212334775:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334775:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212334776:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334776:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212334776:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212334867:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212334891:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+212334893:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+212334893:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212334894:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212334894:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+212334895:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212334912:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212335191:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+212335194:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212335195:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+212335195:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212335196:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212335196:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212335196:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212335204:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335204:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+212335208:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212335208:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335209:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335210:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+212335211:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335233:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212335233:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+212335234:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+212335234:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+212335247:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212338072:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+212338607:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+212338608:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212338609:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+212338609:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+212338615:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+212338628:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212338628:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212338629:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212338632:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212338680:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212338680:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212338681:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212338681:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212338681:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212338683:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212350226:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212350226:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212350226:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212350227:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212350228:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212350228:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212350231:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212350241:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+212350268:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212350269:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+212350269:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212350270:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212350270:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212350271:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212350277:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350278:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212350278:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212350279:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350280:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350280:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212350281:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350281:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212350282:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212350282:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212350285:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212350286:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212350287:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212350288:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212350288:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212350309:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212350310:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212350310:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212350311:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212350315:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212350329:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212350329:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212350330:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212350330:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212350330:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212350332:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212527290:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=authmodules >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212527292:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=authmodules >
+
+212527292:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212527293:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212527294:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212527294:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212527297:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212527298:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212527358:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527359:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212527359:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212527360:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527361:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527364:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212527365:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527366:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212527366:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212527367:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212527367:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212527385:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212527387:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212527387:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212527388:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212527388:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212529014:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212529015:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212529016:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212529016:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212529019:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212529021:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212529021:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212529022:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212529022:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212529023:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212529029:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212532709:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=mailconfig >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212532711:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig >
+
+212532711:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212532712:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212532713:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212532713:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212532716:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212532717:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212532725:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532726:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212532726:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212532727:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532727:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532728:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212532729:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532730:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212532733:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212532733:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212532734:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212532735:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212532736:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212532736:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212532737:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212532737:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212533013:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212533014:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212533015:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212533015:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212533019:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212533025:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212533026:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212533026:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212533026:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212533027:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212533028:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212545059:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212545060:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212545060:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=msgconfig >
+
+212545062:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212545062:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=msgconfig >
+
+212545062:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212545063:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212545072:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212545073:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212545076:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212545076:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212545083:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545084:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212545084:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212545085:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545085:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545086:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212545087:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545088:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212545088:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212545089:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212545089:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212545096:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212545098:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212545099:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212545100:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212545100:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212547630:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212547632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212547633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212547633:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212547639:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212547641:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212547641:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212547651:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212547652:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212547652:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212547653:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212569673:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212569673:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=errconfig >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=errconfig >
+
+212569676:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212569677:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212569685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212569685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212569688:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212569689:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212569695:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569696:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212569697:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212569697:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569708:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569708:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212569710:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569711:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212569711:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212569712:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212569713:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212569715:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212569716:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212569717:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212569717:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212569718:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212569886:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212569887:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212569887:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212569888:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212569891:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212569893:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212569894:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212569894:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212569895:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212569895:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212569899:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212635597:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=mailconfig >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig >
+
+212635599:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212635599:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212635609:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212635609:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212635612:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212635613:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212635619:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635620:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212635621:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212635621:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635625:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635626:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212635627:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635628:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212635628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212635629:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212635630:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212635630:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212635631:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212635632:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212635633:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212635633:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212635637:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212635640:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212635641:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212635641:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212635644:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212635647:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212635648:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212635648:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212635648:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212635649:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212635650:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212641144:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212641144:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212641146:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212641146:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212641148:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212641149:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212641160:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212641161:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212641171:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641171:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212641172:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212641173:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641173:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641174:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212641175:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641175:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212641176:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212641176:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212641177:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212641178:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212641179:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212641179:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212641180:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212641181:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212641186:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212641187:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212641188:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212641189:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212641192:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212641193:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212641194:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212641194:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212641194:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212641195:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212641204:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212672909:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212672910:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212672910:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212672913:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212672913:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212672914:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212672914:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212672915:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212672915:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212672918:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212672919:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212672926:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672926:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212672927:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212672928:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672928:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672929:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212672930:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672930:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212672931:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212672931:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212672932:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212672935:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212672936:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212672936:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212672937:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212672937:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212672942:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212672943:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212672943:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212672944:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212672947:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212672949:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212672949:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212672951:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212672952:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212672952:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212672953:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212677379:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212677381:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212677381:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212677381:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212677382:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212677383:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212677386:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212677386:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212677395:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677396:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212677397:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212677397:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677398:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677399:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212677399:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677402:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212677403:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212677404:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212677404:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212677405:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212677406:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212677406:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212677407:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212677408:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212677411:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212677412:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212677413:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212677413:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212677419:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212677422:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212677422:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212677423:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212842277:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+212842279:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212842279:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212842280:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212842281:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212842284:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212842312:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page layout >
+
+212842315:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page layout placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212842315:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+212842316:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212842316:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212842317:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212842317:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212842323:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842324:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+212842325:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212842325:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842328:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842328:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+212842329:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842330:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212842330:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+212842331:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+212842334:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+212842335:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+212842342:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+212842343:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212842343:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+212842350:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+212842350:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212842351:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+212842352:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+212842359:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+212842360:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212842361:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212842362:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212842365:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212842367:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212842367:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212842368:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212842368:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212842368:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212842369:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212846023:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212846024:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+212846024:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212846025:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+212846025:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+212846025:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212846026:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212846027:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212846030:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212846033:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212846037:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page profile >
+
+212846039:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page profile placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212846040:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+212846040:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212846040:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212846041:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212846041:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212846047:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846048:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+212846049:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212846049:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846052:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846052:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+212846053:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846056:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212846057:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212846057:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+212846058:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+212846096:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+212846096:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212846097:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+212846097:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+212846107:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+212846109:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212846109:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212846110:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212846116:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+212846120:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212846121:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212846121:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212846121:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212846122:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212846123:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213077834:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/profilemanager/r/ >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager/r/ requestURI= /gridsphere/gridsphere/profile/profilemanager/r/
+ >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=profilemanager&gs_render= >
+
+213077836:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213077836:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213077838:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= profilemanager >
+
+213077838:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=doSaveAll >
+
+213077841:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213077844:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077845:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+213077845:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213077846:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077847:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077847:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213077849:DEBUG:(ProfileManagerPortlet.java:validateUser:268)
+< Entering validateUser() >
+
+213077850:DEBUG:(ProfileManagerPortlet.java:validateUser:325)
+< creating account request for user: ff8080811391c68e011391ca85260003 >
+
+213077850:DEBUG:(ProfileManagerPortlet.java:validateUser:341)
+< Exiting validateUser() >
+
+213077851:DEBUG:(ProfileManagerPortlet.java:doSaveUser:257)
+< approve account request for user: ff8080811391c68e011391ca85260003 >
+
+213077974:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doSaveAll user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213077974:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session ProfileManager.beans >
+
+213077975:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.user.ProfileManagerPortlet_profilemanager >
+
+213077975:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213077976:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213077977:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager >
+
+213077977:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213077977:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213077981:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213077983:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213077985:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/profilemanager >
+
+213077985:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213077986:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager requestURI= /gridsphere/gridsphere/profile/profilemanager
+ >
+
+213077986:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=profilemanager >
+
+213077986:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213077987:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213077991:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= profilemanager >
+
+213077992:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213077995:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213078071:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213078077:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078078:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+213078079:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213078079:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078080:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078081:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+213078081:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078082:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213078082:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+213078085:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+213078086:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+213078106:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+213078107:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213078108:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+213078108:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+213078114:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+213078130:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213078131:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213078132:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213078139:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213078160:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213078161:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213078161:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213078162:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213078162:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213078163:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213095445:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+213095447:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+213095447:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213095448:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213095449:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213095449:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213095452:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213095452:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213095462:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095463:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+213095464:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213095464:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095465:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095466:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213095466:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095467:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213095467:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+213095468:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+213095468:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+213095469:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+213095470:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+213095471:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213095471:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+213095480:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+213095480:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213095481:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+213095481:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+213095487:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+213095488:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213095488:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213095489:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213095493:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213095499:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213095499:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213095502:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213176580:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213176581:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/layoutmanager/r/ >
+
+213176581:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213176582:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager/r/ requestURI= /gridsphere/gridsphere/layout/layoutmanager/r/
+ >
+
+213176582:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=layoutmanager&gs_render= >
+
+213176582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213176583:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213176584:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= layoutmanager >
+
+213176584:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=selectLayout >
+
+213176587:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213176591:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176591:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213176592:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213176592:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176593:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176593:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213176594:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#selectLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213176595:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Layout Manager.beans >
+
+213176596:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet_layoutmanager >
+
+213176596:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213176597:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213176597:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager >
+
+213176597:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213176598:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213176599:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213176600:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/layoutmanager >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager requestURI= /gridsphere/gridsphere/layout/layoutmanager
+ >
+
+213176602:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=layoutmanager >
+
+213176604:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213176605:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213176607:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= layoutmanager >
+
+213176608:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213176613:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213176614:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213176623:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176623:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+213176624:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213176625:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176625:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176626:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213176626:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176627:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213176628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+213176628:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+213176629:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+213176629:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+213176646:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+213176647:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213176648:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+213176653:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+213176654:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213176654:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+213176655:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+213176659:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+213176665:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213176666:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213176667:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213176670:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213176672:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213176680:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213176680:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213176680:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213176681:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213176692:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213819061:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+213819061:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+213819061:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213819062:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213819063:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213819063:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213819066:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213819067:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213819075:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819076:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213819077:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213819077:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819078:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819078:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213819079:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819080:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213819080:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213819081:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213819081:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213819083:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213821541:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213822721:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213822722:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213822723:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213822723:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213822734:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213822736:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213822736:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213822737:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213822743:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213822746:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213822747:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213822747:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213822748:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213822748:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213822749:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213831168:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213831169:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213831169:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213831170:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213831170:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213831170:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213831171:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213831180:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213831181:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213831184:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213831186:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213831194:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831195:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213831196:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213831196:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831197:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831198:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213831198:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831199:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213831199:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213831200:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213831201:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213831201:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213831203:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213833232:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213833234:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213833238:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213833239:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213833239:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213833397:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213833398:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213833399:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213833400:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213833403:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213833412:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213833412:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213833413:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213833413:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213833414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213833430:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213878298:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213878298:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+213878303:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213878303:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213878304:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213878305:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213878309:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213878327:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878328:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213878329:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213878329:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213878336:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878337:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213878337:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213878338:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878340:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213878340:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213878341:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213878347:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213878348:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213878355:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213878355:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213878356:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213878356:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213878366:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213884889:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213884889:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/maximized/a/ >
+
+213884890:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213884891:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/
+ >
+
+213884891:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized >
+
+213884891:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213884892:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213884902:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213884902:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213884905:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213884906:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884907:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213884907:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213884908:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213884918:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884919:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213884920:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213884921:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884921:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884922:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213884923:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884924:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213884924:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213884925:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213884925:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213884926:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213884928:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213886961:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213886963:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213886964:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213886966:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213886967:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213886969:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213886970:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213886971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213886971:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213886974:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213886976:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213886976:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213886977:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213886977:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213886977:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213886979:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213892711:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+213892713:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+213892713:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213892716:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213892717:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213892718:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213892724:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213892724:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892725:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213892725:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213892726:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213892732:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892733:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213892733:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213892734:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892735:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213892736:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213892737:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213892740:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213892743:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213892744:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213892744:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213892745:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213892745:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213892746:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213894591:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213894593:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213894593:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213894593:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213894594:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213894595:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213894600:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213894601:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213894608:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213894609:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213894609:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213894610:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213894611:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213894614:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213894614:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213894617:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213894618:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213894619:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213894619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213894620:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213894620:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213894621:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213896599:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213896599:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213896601:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213896601:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213896602:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213896603:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213896606:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213896606:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213896615:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213896618:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213896619:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213896620:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213896621:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213896622:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213896623:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213896625:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213896628:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213896628:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213896629:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213898878:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213898880:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213898880:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213898880:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213898884:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213898885:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213898891:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213898892:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213898898:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213898898:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213898899:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213898900:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213898900:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213898901:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213898902:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213898905:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213898906:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213898907:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213898907:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213898908:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213898908:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213898909:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213903558:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/normal/a/ >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/normal/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/normal/a/
+ >
+
+213903562:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=normal >
+
+213903562:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213903564:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213903565:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213903565:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213903568:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213903569:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903569:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213903570:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213903570:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213903576:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903577:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213903577:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213903578:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903578:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903579:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213903580:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903580:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213903583:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213903583:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213903584:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213903585:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213905619:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213905621:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213905621:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213905622:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213905622:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213905628:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213905632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213905633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213905634:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213905641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213905646:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213905647:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213905648:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213905648:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213905648:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213905649:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213910365:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/maximized/a/ >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/
+ >
+
+213910367:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized >
+
+213910367:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213910367:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213910368:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213910369:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213910372:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213910372:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910373:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213910373:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213910374:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213910380:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910381:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213910384:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213910384:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910385:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910385:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213910386:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910387:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213910387:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213910388:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213910388:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213910390:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213912422:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213912424:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213912424:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213912425:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213912426:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213912433:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213912435:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213912435:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213912436:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213912439:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213912444:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213912445:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213912445:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213912446:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213912446:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213912451:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213914717:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213914719:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213914719:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213914719:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213914720:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213914721:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213914725:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213914726:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213914733:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914734:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213914734:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213914737:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914738:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914738:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213914739:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914740:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213914740:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213914741:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213914741:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213914742:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213914743:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213916778:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213916779:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213916780:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213916781:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213916781:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213916783:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213916786:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213916787:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213916787:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213916790:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213916793:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213916793:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213916794:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213927411:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213927411:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213927413:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213927413:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213927414:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213927414:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213927422:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213927423:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213927437:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927438:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213927438:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213927439:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927440:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927440:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213927441:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927441:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213927442:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213927443:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213927443:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213927444:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213927449:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213929480:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213929485:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213929486:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213929486:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213929487:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213929489:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213929490:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213929491:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213929491:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213929494:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213929497:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213929497:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213929499:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213932891:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213932891:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+213932892:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213932894:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+213932894:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+213932895:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213932895:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213932897:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213932897:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213932900:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213932901:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213932908:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932909:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213932910:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213932910:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932911:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932911:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213932912:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932913:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213932913:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213932914:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213932914:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213932917:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213932919:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213934952:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213934953:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213934954:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213934954:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213934955:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213934957:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213934958:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213934958:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213934959:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213934963:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213934965:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213934965:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213934968:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213934968:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213934969:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213934970:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213938698:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213938700:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213938700:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213938700:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213938701:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213938702:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213938704:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213938705:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213938712:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938713:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213938713:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213938714:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938715:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938715:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213938718:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938719:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213938719:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213938720:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213938721:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213938722:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213940757:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213940759:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213940760:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213940760:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213940761:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213940767:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213940770:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213940771:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213940772:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213940777:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213940781:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213940781:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213940784:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213940785:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213940785:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213940786:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213943907:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213943907:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213943907:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213943908:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213943909:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213943909:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213943916:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213943917:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213943924:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943925:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213943925:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213943926:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943926:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943927:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213943928:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943931:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213943931:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213943932:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213943932:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213943933:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213943934:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213945966:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213945968:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213945968:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213945969:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213945969:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213945971:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213945972:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213945973:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213945973:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213945979:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213945982:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213945982:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213945984:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213980971:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss/r/ >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss/r/ requestURI= /gridsphere/gridsphere/loggedin/rss/r/
+ >
+
+213980977:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss&gs_render= >
+
+213980977:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213980978:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213980979:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+213980979:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=saveFeed >
+
+213980983:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213980984:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980984:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213980987:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213980988:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980989:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980989:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213980990:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213980991:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#saveFeed user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213980992:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session RSSPortlet.beans >
+
+213980992:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.rss.RSSPortlet_rss >
+
+213980993:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213980993:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213980994:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss >
+
+213980994:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213980994:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213980996:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213981009:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213981009:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss >
+
+213981010:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213981011:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss requestURI= /gridsphere/gridsphere/loggedin/rss
+ >
+
+213981012:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss >
+
+213981013:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213981013:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213981014:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+213981014:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213981017:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+213981021:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213981028:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981029:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213981029:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213981030:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981031:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981031:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213981032:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981032:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213981033:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213981033:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213981035:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213983070:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213983071:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213983072:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213983075:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213983075:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213983077:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213983078:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213983079:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213983079:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213983082:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+213983083:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213983084:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213983084:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+213983085:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213983085:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213983090:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214020755:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214020756:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss/r/ >
+
+214020758:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214020759:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss/r/ requestURI= /gridsphere/gridsphere/loggedin/rss/r/
+ >
+
+214020759:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss&gs_render= >
+
+214020759:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214020760:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214020761:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+214020762:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=removeFeed >
+
+214020765:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214020766:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020767:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214020767:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214020768:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020768:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020769:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+214020771:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020820:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+214020820:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#removeFeed user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214020821:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session RSSPortlet.beans >
+
+214020821:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.rss.RSSPortlet_rss >
+
+214020824:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+214020825:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214020825:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss >
+
+214020826:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214020826:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214020944:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss requestURI= /gridsphere/gridsphere/loggedin/rss
+ >
+
+214020948:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss >
+
+214020948:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214020948:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214020949:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+214020950:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214020952:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214020953:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214020960:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020961:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214020961:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214020962:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020962:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020965:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214020966:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020966:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+214020967:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+214020968:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+214020978:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214023013:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+214023014:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+214023015:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214023016:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+214023016:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+214023018:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+214023019:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214023019:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214023023:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214023026:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214023029:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214023029:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214023037:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214037167:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214037167:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+214037169:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214037169:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214037170:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+214037170:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214037173:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214037174:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037174:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214037175:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214037175:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214037184:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037185:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214037186:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214037186:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037187:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214037188:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214037188:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214037191:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214037193:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214037193:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214037194:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214037194:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214037194:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214037195:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214042919:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+214042919:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+214042922:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214042922:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214042924:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214042924:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214042928:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214042929:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214042936:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042937:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+214042937:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214042938:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042939:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042939:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+214042940:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042940:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214042941:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214042941:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+214042942:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+214042955:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+214042956:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214042956:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+214042957:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+214042965:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+214042970:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214042971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214042971:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214042978:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214043399:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214043400:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214043400:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214043401:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214043401:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214043403:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214046999:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+214046999:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+214046999:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214047000:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214047001:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214047001:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214047004:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214047005:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214047011:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214047012:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214047012:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214047013:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214047014:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214047017:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214047018:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214047020:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214047022:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214047022:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214047023:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214047023:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214047023:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214047024:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214055605:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+214055607:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+214055607:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214055607:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214055610:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214055611:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214055620:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214055647:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page content >
+
+214055649:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page content placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214055654:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+214055654:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214055655:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214055655:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214055655:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214055664:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055664:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+214055665:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214055668:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055669:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055669:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+214055670:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055671:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214055671:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+214055672:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+214055672:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+214055676:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+214055677:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214055677:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+214055678:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+214055681:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+214055682:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214055685:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214055686:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214055689:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214055690:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214055691:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214055691:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214055692:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214055692:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214055693:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214070467:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214070467:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/contentmanager/m/edit/r/ >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/contentmanager/m/edit/r/ requestURI= /gridsphere/gridsphere/content/contentmanager/m/edit/r/
+ >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=contentmanager&gs_mode=edit >
+
+214070469:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214070469:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214070470:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= contentmanager >
+
+214070470:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214070473:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214070474:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214070493:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070493:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+214070494:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214070495:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070495:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070496:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+214070496:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070497:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+214070497:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+214070498:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+214070499:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doEdit >
+
+214070499:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+214070500:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/config.jsp >
+
+214070501:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214070501:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/config.jsp >
+
+214070502:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/config.jsp >
+
+214070649:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+214070650:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214070650:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214070651:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214070655:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214070656:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214070657:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214070657:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214070657:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214070658:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214070659:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214127897:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214127897:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+214127902:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214127902:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214127903:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+214127903:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214127906:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214127906:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214127912:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214127913:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214127913:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214127914:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214127915:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214127915:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214127916:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214127922:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214127924:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214127931:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214127931:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214127932:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214127932:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214127941:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214280657:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214280657:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+214280658:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214280660:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+214280660:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+214280661:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214280661:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214280662:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+214280662:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214280664:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('9E6D62F0D79599185D9ACFDF396AC48B') >
+
+214280665:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280665:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280666:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280666:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280667:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214280673:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+214280675:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280675:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+214280676:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280676:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280677:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280677:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280677:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214280680:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214280682:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214280683:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214280685:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214280686:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214280686:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214280687:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214280688:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214280689:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214280689:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214280690:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214280691:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214280695:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214280695:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214280696:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214280700:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214280702:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280702:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280703:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280703:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280704:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214280704:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214280705:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214300413:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+214300413:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+214300413:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214300414:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214300414:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+214300415:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214300415:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214300420:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+214300425:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214300425:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214300427:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214300427:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214300429:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214300430:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214300431:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214300431:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214300432:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214300432:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214300433:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214300434:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214300435:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214300435:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214300436:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214300437:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214300441:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300441:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+214300442:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214300442:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300445:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300445:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+214300446:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300446:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214300447:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214300447:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+214300448:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+214300449:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+214300449:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+214300450:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214300451:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+214300451:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+214300457:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+214300458:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214300459:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214300460:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214300462:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214300464:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214300464:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214300465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214300465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214300465:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214300466:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214300467:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214315096:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214315096:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+214315098:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214315098:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214315099:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+214315100:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+214315102:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214315103:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315103:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+214315104:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214315104:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315105:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315105:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+214315106:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+214315109:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+214315110:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+214315110:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+214315113:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315113:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214315114:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214315114:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+214315115:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+214315115:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+214315116:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315118:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214315119:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315119:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214315119:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214315125:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+214315128:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+214315128:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214315128:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214315129:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+214315130:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214315133:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214315142:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+214315145:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214315145:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+214315146:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214315146:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214315147:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214315149:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214315150:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214315156:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315157:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214315158:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214315158:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315159:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315159:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214315160:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315161:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214315161:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+214315162:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+214315162:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+214315165:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214317201:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+214317205:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+214317206:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=9E6D62F0D79599185D9ACFDF396AC48B remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214317207:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+214317207:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+214317210:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+214317212:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214317212:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214317213:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214317218:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214317220:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214317220:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214317221:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214317221:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214317222:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214317222:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214317224:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214334946:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214334946:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+214334948:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214334948:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214334949:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214334949:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214334952:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214334964:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+214334968:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214334968:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+214334969:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214334969:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214334970:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214334970:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214334970:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214334977:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334978:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+214334979:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214334979:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334980:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334980:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+214334981:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334981:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214334984:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+214334985:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+214334985:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+214334986:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+214334987:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=9E6D62F0D79599185D9ACFDF396AC48B remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214334987:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+214334988:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+214334992:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+214334993:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214334993:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214334994:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214334997:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214335000:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214335002:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214335002:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214335003:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214983585:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214983585:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+214983587:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214983587:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214983588:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214983588:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214983589:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('6464169D0F8A3A82944353499D539EB8') >
+
+214983589:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983590:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983590:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983591:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983591:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214983592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214983603:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+214983609:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:320)
+< User does not have proper permissions for layout=admin!! >
+
+214983615:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+214983617:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 6464169D0F8A3A82944353499D539EB8 >
+
+214983617:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6464169D0F8A3A82944353499D539EB8 class org.gridsphere.layout.PortletPageFactory >
+
+214983618:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983618:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214983620:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214983623:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214983623:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214983624:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214983624:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214983625:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214983626:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214983627:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214983628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214983630:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+214983631:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214983631:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214983633:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214983636:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214983637:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214983638:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214983641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+214983642:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983644:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214983644:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214983645:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214983645:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+215979554:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('CA4BF5F09E598B43482D1FF4B1061A0C') >
+
+215979555:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing layout container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing content container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing profile container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979557:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979557:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979558:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979558:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979558:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979558:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979559:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979559:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979559:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979559:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979560:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+215979563:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159652:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('9E6D62F0D79599185D9ACFDF396AC48B') >
+
+216159653:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159657:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159657:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159657:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159657:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159658:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159658:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159658:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216159658:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216159659:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+216819957:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('6464169D0F8A3A82944353499D539EB8') >
+
+216819957:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216819957:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216819958:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:6464169D0F8A3A82944353499D539EB8 >
+
+216819958:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 6464169D0F8A3A82944353499D539EB8 >
+
+216819958:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216819958:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+216942105:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216942105:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+216942107:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216942107:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216942110:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+216942110:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+216942111:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('6B6EBEB9762D83F78A9921D9199DC73D') >
+
+216942111:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942112:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942112:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942113:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216942122:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+216942124:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942125:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+216942125:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942126:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942126:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942126:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216942130:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+216942130:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+216942133:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+216942133:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216942134:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+216942137:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+216942137:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+216942139:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+216942139:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216942140:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+216942141:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+216942142:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+216942144:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942145:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+216942145:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216942146:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942148:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942149:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+216942149:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942150:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216942150:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+216942153:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+216942154:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+216942154:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+216942155:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+216942156:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216942156:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+216942157:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+216942159:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+216942160:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216942161:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216942161:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216942167:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+216942169:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942170:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942170:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942170:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216942173:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216942175:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216953660:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+216953662:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+216953662:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216953663:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216953664:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+216953664:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+216953665:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216953665:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953666:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+216953667:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216953667:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953668:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953668:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+216953669:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+216953672:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+216953673:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+216953673:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+216953678:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+216953680:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216953680:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+216953681:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+216953681:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+216953682:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953682:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216953683:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953683:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216953683:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216953685:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216953692:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+216953692:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+216953692:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216953693:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216953695:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+216953696:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+216953701:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216953707:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+216953710:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216953711:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+216953711:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216953712:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216953712:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216953712:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216953718:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953718:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+216953719:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216953720:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953720:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953721:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+216953721:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953722:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216953723:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+216953723:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+216953724:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+216953732:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216956023:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+216956679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+216956680:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=6B6EBEB9762D83F78A9921D9199DC73D remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216956681:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+216956681:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+216956684:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+216956689:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216956689:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216956690:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216956694:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+216956696:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216956697:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216956697:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216956697:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216956698:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216956700:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216960445:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+216960449:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216960450:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216960451:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+216960451:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+216960454:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216960460:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+216960463:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216960464:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+216960464:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216960465:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216960465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216960465:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216960472:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960473:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+216960474:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216960474:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960477:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960478:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+216960479:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960479:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216960480:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+216960480:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+216960481:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+216960482:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+216960483:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=6B6EBEB9762D83F78A9921D9199DC73D remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216960483:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+216960484:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+216960487:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+216960489:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216960489:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216960492:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216960494:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+216960496:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216960497:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216960497:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216960497:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216960498:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216960499:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+218800929:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('6B6EBEB9762D83F78A9921D9199DC73D') >
+
+218800930:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800931:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800931:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800931:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800931:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800932:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800932:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800933:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+218800933:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jkstatus-tasks.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jkstatus-tasks.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jkstatus-tasks.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<!--
+  XML file for importing apache jk status ant tasks.
+  <import file="${jkstatus.home}/lib/jkstatus-tasks.xml"/>
+-->
+
+<project name="jkstatus-tasks" >
+  <description>Apache mod_jk ant jkstatus Tasks</description>
+  <!-- set jkstatus.home if it's not already set -->
+  <dirname property="jkstatus.home.bin.dir" file="${ant.file.jkstatus-tasks}"/>
+  <property name="jkstatus.home" value="${jkstatus.home.bin.dir}/.."/>
+  <path id="jkstatus.path">
+      <pathelement location="${jkstatus.home}/bin/commons-logging-api.jar"/>
+      <pathelement location="${jkstatus.home}/lib/catalina-ant.jar"/>
+      <pathelement location="${jkstatus.home}/lib/tomcat-jkstatus-ant.jar"/>
+      <pathelement location="${jkstatus.home}/lib/tomcat-util.jar"/>
+  </path>
+
+  <taskdef resource="org/apache/jk/status/jkstatus.tasks">
+       <classpath refid="jkstatus.path"/>
+  </taskdef>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/bin/jmxaccessor-tasks.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jmxaccessor-tasks.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jmxaccessor-tasks.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<!--
+  XML file for importing Catalina jmx ant tasks.
+  <import file="${catalina.home}/bin/jmxaccessor-tasks.xml"/>
+-->
+
+<project name="jmxaccessor-tasks" >
+  <description>Catalina Ant JMX Accessor Tasks</description>
+  <!-- set catalina.home if it's not already set -->
+  <dirname property="catalina.home.bin.dir" file="${ant.file.jmxaccessor-tasks}"/>
+  <property name="catalina.home" value="${catalina.home.bin.dir}/.."/>
+  <taskdef resource="org/apache/catalina/ant/jmx/jmxaccessor.tasks">
+    <classpath>
+      <fileset file="${catalina.home}/server/lib/catalina-ant.jar"/>
+      <fileset file="${catalina.home}/server/lib/catalina-ant-jmx.jar"/>
+    </classpath>
+  </taskdef>
+  <typedef
+        name="jmxEquals"
+        classname="org.apache.catalina.ant.jmx.JMXAccessorEqualsCondition">
+    <classpath>
+      <fileset file="${catalina.home}/server/lib/catalina-ant.jar"/>
+      <fileset file="${catalina.home}/server/lib/catalina-ant-jmx.jar"/>
+    </classpath>
+  </typedef>
+  <typedef
+        name="jmxCondition"
+        classname="org.apache.catalina.ant.jmx.JMXAccessorCondition">
+    <classpath>
+      <fileset file="${catalina.home}/server/lib/catalina-ant.jar"/>
+      <fileset file="${catalina.home}/server/lib/catalina-ant-jmx.jar"/>
+    </classpath>
+  </typedef>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/CHANGES.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/CHANGES.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/CHANGES.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+JAKARTA COMMONS DAEMON (UNIX) CHANGELOG:
+Last modified at [$Date: 2005-05-17 10:03:57 +0200 (Tue, 17 May 2005) $]
+
+Changes with 1.0.1
+  * Allow enableassertions -ea (PR 304310).
+  * Add -lpthread to LDFLAGS on Linux (PR 30177).
+  * Add support for x86_64 (PR 27523).
+  * Add support for Tru64 (PR 29465).
+  * Remove the pid file when son exits correctly (PR 31614).
+  * Add support for JVM-4.1.x on MAC OS X (part of PR 31613).
+  * Prevent starting jsvc several times with the same pidfile (PR 33580).
+  * Finish fixing 31613, automatic detection of JAVA_HOME and headers locations.
+  * -wait and -stop parameters.
+  * fix 34851.
+  * Don't break when set_caps() failed and the user is unchanged (linux).

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/INSTALL.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/INSTALL.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/INSTALL.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+To build the service libraries and binary under an UNIX operating
+system you will need:
+
+  An ANSI-C compliant compiler (GCC is good)
+  GNU AutoConf
+  A Java Platform 2 compliant SDK
+
+When building from CVS sources you need to build the "configure" program with:
+
+   sh support/buildconf.sh
+(Note it is possible to replace sh by any compatible shell like bash, ksh).
+
+Once the configure script is generated, run it (remember to specify
+either the --with-java=<dir> parameter or set the JAVA_HOME environment
+to point to your JDK installation. For example:
+
+  ./configure --with-java=/usr/java
+
+or
+
+  JAVA_HOME=/usr/java
+  export JAVA_HOME
+  ./configure
+
+or (when using gcj (use fastjar for jar))
+  JAVAC=gcj; export JAVAC
+  JAVACFLAGS=-c; export JAVACFLAGS
+  ./configure
+
+Note: On Mac OS X <dir> is /System/Library/Frameworks/JavaVM.framework/Home.
+
+If your operating system is supported, configure will go thru cleanly,
+otherwise it will report an error (please send us the details of your
+OS/JDK, or a patch against the sources). To build the binaries and
+libraries simply do:
+
+  make
+
+This will generate the file:  ./jsvc.
+It should be straightforward from here on. To check the allowed parameters
+for the jsvc binary simply do
+
+  ./native/jsvc -help

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+#
+#   Copyright 1999-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makedefs.in 140756 2004-02-27 08:40:46Z jfclere $
+
+CC = gcc
+JAVAC = /usr/bin/javac
+JAR = /usr/bin/jar
+CFLAGS = -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -I/usr/lib/j2re1.5-sun/include -I/usr/lib/j2re1.5-sun/include/linux -Wall -Wstrict-prototypes
+LDFLAGS =  -ldl -lpthread
+JAVACFLAGS = 
+RANLIB = ranlib
+LDCMD = gcc
+
+.c.o:
+	$(CC) $(CFLAGS) -c $< -o $@

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs.in
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs.in	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makedefs.in	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+#
+#   Copyright 1999-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makedefs.in 140756 2004-02-27 08:40:46Z jfclere $
+
+CC = @CC@
+JAVAC = @JAVAC@
+JAR = @JAR@
+CFLAGS = @CFLAGS@
+LDFLAGS = @LDFLAGS@
+JAVACFLAGS = @JAVACFLAGS@
+RANLIB = @RANLIB@
+LDCMD = @LDCMD@
+
+.c.o:
+	$(CC) $(CFLAGS) -c $< -o $@

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+#
+#   Copyright 1999-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makefile.in 140756 2004-02-27 08:40:46Z jfclere $
+
+SUBDIRS = native
+
+all: native/all
+
+native/all:
+	$(MAKE) -C native all
+
+clean:
+	$(MAKE) -C native clean
+
+distclean: clean
+	rm -f config.cache
+	rm -f config.log
+	rm -f config.status
+	rm -f native/Makefile
+	rm -f Makefile
+	rm -f Makedefs
+
+realclean: distclean
+	rm -f configure

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile.in
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile.in	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/Makefile.in	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+#
+#   Copyright 1999-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makefile.in 140756 2004-02-27 08:40:46Z jfclere $
+
+SUBDIRS = native
+
+all: native/all
+
+native/all:
+	$(MAKE) -C native all
+
+clean:
+	$(MAKE) -C native clean
+
+distclean: clean
+	rm -f config.cache
+	rm -f config.log
+	rm -f config.status
+	rm -f native/Makefile
+	rm -f Makefile
+	rm -f Makedefs
+
+realclean: distclean
+	rm -f configure

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/output.0
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/output.0	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/output.0	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4224 @@
+@%:@! /bin/sh
+@%:@ Guess values for system-dependent variables and create Makefiles.
+@%:@ Generated by GNU Autoconf 2.61.
+@%:@ 
+@%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+@%:@ 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+@%:@ This configure script is free software; the Free Software Foundation
+@%:@ gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+    
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf at gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIB@&t at OBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="configure.in"
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+RANLIB
+JAVA_HOME
+JAVAC
+JAVAC_PATH
+JAVACFLAGS
+JAR
+JAR_PATH
+LDCMD
+LIB@&t at OBJS
+LTLIBOBJS'
+ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+   { (exit 1); exit 1; }; }
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root @<:@DATAROOTDIR/doc/PACKAGE@:>@
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-java=DIR         Specify the location of your JDK installation
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" || continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+@%:@@%:@ --------- @%:@@%:@
+@%:@@%:@ Platform. @%:@@%:@
+@%:@@%:@ --------- @%:@@%:@
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ Core tests. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args '$ac_arg'"
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+@%:@@%:@ ---------------- @%:@@%:@
+@%:@@%:@ Cache variables. @%:@@%:@
+@%:@@%:@ ---------------- @%:@@%:@
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+@%:@@%:@ ----------------- @%:@@%:@
+@%:@@%:@ Output variables. @%:@@%:@
+@%:@@%:@ ----------------- @%:@@%:@
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+@%:@@%:@ ------------------- @%:@@%:@
+@%:@@%:@ File substitutions. @%:@@%:@
+@%:@@%:@ ------------------- @%:@@%:@
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+@%:@@%:@ ----------- @%:@@%:@
+@%:@@%:@ confdefs.h. @%:@@%:@
+@%:@@%:@ ----------- @%:@@%:@
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_aux_dir=
+for ac_dir in ./support "$srcdir"/./support; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+
+
+  printf "*** %s ***\n" "Current host" 1>&2
+  
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+  { echo "$as_me:$LINENO: checking cached host system type" >&5
+echo $ECHO_N "checking cached host system type... $ECHO_C" >&6; }
+  if { test x"${ac_cv_host_system_type+set}" = x"set"  &&
+       test x"$ac_cv_host_system_type" != x"$host" ; }
+  then
+    { echo "$as_me:$LINENO: result: $ac_cv_host_system_type" >&5
+echo "${ECHO_T}$ac_cv_host_system_type" >&6; }
+    { { echo "$as_me:$LINENO: error: remove the \"$cache_file\" file and re-run configure" >&5
+echo "$as_me: error: remove the \"$cache_file\" file and re-run configure" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
+    ac_cv_host_system_type="$host"
+  fi
+  
+
+
+
+  printf "*** %s ***\n" "C-Language compilation tools" 1>&2
+  
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $@%:@ != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	
+fi
+
+rm -f core conftest.err conftest.$ac_objext 
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+
+
+  printf "*** %s ***\n" "Host support" 1>&2
+  
+
+
+  { echo "$as_me:$LINENO: checking C flags dependant on host system type" >&5
+echo $ECHO_N "checking C flags dependant on host system type... $ECHO_C" >&6; }
+
+  case $host_os in
+  darwin*)
+    CFLAGS="$CFLAGS -DOS_DARWIN -DDSO_DYLD"
+    supported_os="darwin"
+    ;;
+  solaris*)
+    CFLAGS="$CFLAGS -DOS_SOLARIS -DDSO_DLFCN"
+    supported_os="solaris"
+    LDFLAGS="$LDFLAGS -ldl -lthread"
+    ;;
+  linux*)
+    CFLAGS="$CFLAGS -DOS_LINUX -DDSO_DLFCN"
+    supported_os="linux"
+    LDFLAGS="$LDFLAGS -ldl -lpthread"
+    ;;
+  cygwin)
+    CFLAGS="$CFLAGS -DOS_CYGWIN -DDSO_DLFCN -DNO_SETSID"
+    supported_os="win32"
+    ;;
+  sysv)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN"
+    LDFLAGS="$LDFLAGS -ldl"
+    ;;
+  sysv4)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN -Kthread"
+    LDFLAGS="-Kthread $LDFLAGS -ldl"
+    ;;
+  freebsd4.?)
+    CFLAGS="$CFLAGS -DOS_FREEBSD -DDSO_DLFCN -D_THREAD_SAFE -pthread"
+    LDFLAGS="-pthread $LDFLAGS"
+    supported_os="freebsd"
+    ;;
+  osf5*)
+    CFLAGS="$CFLAGS -pthread -DOS_TRU64 -DDSO_DLFCN -D_XOPEN_SOURCE_EXTENDED"
+    LDFLAGS="$LDFLAGS -pthread"
+    ;;
+  *)
+    { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+    { { echo "$as_me:$LINENO: error: Unsupported operating system \"$host_os\"" >&5
+echo "$as_me: error: Unsupported operating system \"$host_os\"" >&2;}
+   { (exit 1); exit 1; }; }
+    ;;
+  esac
+  case $host_cpu in
+  powerpc)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  sparc*)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  i?86)
+    CFLAGS="$CFLAGS -DCPU=\\\"i386\\\"" ;;
+  x86_64)
+    CFLAGS="$CFLAGS -DCPU=\\\"amd64\\\"" ;;
+  bs2000)
+    CFLAGS="$CFLAGS -DCPU=\\\"osd\\\" -DCHARSET_EBCDIC -DOSD_POSIX"
+    supported_os="osd"
+    LDFLAGS="-Kno_link_stdlibs -B llm4 -l BLSLIB"
+    LDCMD="/opt/C/bin/cc"
+    ;;
+  mips)
+    CFLAGS="$CFLAGS -DCPU=\\\"mips\\\""
+    supported_os="mips"
+    ;;
+  alpha*)
+    CFLAGS="$CFLAGS -DCPU=\\\"alpha\\\""
+    supported_os="alpha"
+    ;;
+  *)
+    { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+    { { echo "$as_me:$LINENO: error: Unsupported CPU architecture \"$host_cpu\"" >&5
+echo "$as_me: error: Unsupported CPU architecture \"$host_cpu\"" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
+  
+  
+
+if test "$supported_os" = "darwin"
+then
+  if test -z "$JAVA_HOME" -a -d /System/Library/Frameworks/JavaVM.framework/Home; then
+  	JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+  fi
+
+  _prevdir=`/bin/pwd`
+  if test -n "$JAVA_HOME" -a -d "$JAVA_HOME/include"; then
+    cd "$JAVA_HOME/include"
+  elif test -n "$JAVA_HOME" -a -d "$JAVA_HOME/../Headers"; then
+    cd "$JAVA_HOME/../Headers"
+  else
+    cd /System/Library/Frameworks/JavaVM.framework/Headers
+  fi
+  CFLAGS="$CFLAGS -I`/bin/pwd -P`"
+  cd $_prevdir
+  unset _prevdir
+fi
+
+
+  printf "*** %s ***\n" "Java compilation tools" 1>&2
+  
+
+
+  
+# Check whether --with-java was given.
+if test "${with_java+set}" = set; then
+  withval=$with_java; 
+    { echo "$as_me:$LINENO: checking JAVA_HOME" >&5
+echo $ECHO_N "checking JAVA_HOME... $ECHO_C" >&6; }
+    if test -d "$withval"
+    then
+      JAVA_HOME="$withval"
+      { echo "$as_me:$LINENO: result: $JAVA_HOME" >&5
+echo "${ECHO_T}$JAVA_HOME" >&6; }
+    else
+      { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+      { { echo "$as_me:$LINENO: error: $withval is not a directory" >&5
+echo "$as_me: error: $withval is not a directory" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+    
+  
+fi
+
+  if test x"$JAVA_HOME" = x
+  then
+    { { echo "$as_me:$LINENO: error: Java Home not defined. Rerun with --with-java=... parameter" >&5
+echo "$as_me: error: Java Home not defined. Rerun with --with-java=... parameter" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+  # Extract the first word of "javac", so it can be a program name with args.
+set dummy javac; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVA_HOME/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVAC" && ac_cv_path_JAVAC="NONE"
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  if test "$JAVAC" = "NONE"
+  then
+    # Extract the first word of "javac", so it can be a program name with args.
+set dummy javac; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC_PATH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC_PATH="$JAVAC_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC_PATH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVAC_PATH" && ac_cv_path_JAVAC_PATH="NONE"
+  ;;
+esac
+fi
+JAVAC_PATH=$ac_cv_path_JAVAC_PATH
+if test -n "$JAVAC_PATH"; then
+  { echo "$as_me:$LINENO: result: $JAVAC_PATH" >&5
+echo "${ECHO_T}$JAVAC_PATH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    JAVAC=$JAVAC_PATH
+  fi
+  if test "$JAVAC" = "NONE"
+  then
+    { { echo "$as_me:$LINENO: error: javac not found" >&5
+echo "$as_me: error: javac not found" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  
+  { echo "$as_me:$LINENO: checking wether the Java compiler ($JAVAC) works" >&5
+echo $ECHO_N "checking wether the Java compiler ($JAVAC) works... $ECHO_C" >&6; }
+if test "${ap_cv_prog_javac_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  
+    echo "public class Test {}" > Test.java
+    $JAVAC $JAVACFLAGS Test.java > /dev/null 2>&1
+    if test $? -eq 0
+    then
+      rm -f Test.java Test.class
+      ap_cv_prog_javac_works=yes
+    else
+      rm -f Test.java Test.class
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+      { { echo "$as_me:$LINENO: error: installation or configuration problem: javac cannot compile" >&5
+echo "$as_me: error: installation or configuration problem: javac cannot compile" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  
+fi
+{ echo "$as_me:$LINENO: result: $ap_cv_prog_javac_works" >&5
+echo "${ECHO_T}$ap_cv_prog_javac_works" >&6; }
+
+  
+  
+  
+
+
+  # Extract the first word of "jar", so it can be a program name with args.
+set dummy jar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVA_HOME/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAR" && ac_cv_path_JAR="NONE"
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { echo "$as_me:$LINENO: result: $JAR" >&5
+echo "${ECHO_T}$JAR" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  if test "$JAR" = "NONE"
+  then
+    # Extract the first word of "jar", so it can be a program name with args.
+set dummy jar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR_PATH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR_PATH="$JAR_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR_PATH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAR_PATH" && ac_cv_path_JAR_PATH="NONE"
+  ;;
+esac
+fi
+JAR_PATH=$ac_cv_path_JAR_PATH
+if test -n "$JAR_PATH"; then
+  { echo "$as_me:$LINENO: result: $JAR_PATH" >&5
+echo "${ECHO_T}$JAR_PATH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    JAR=$JAR_PATH
+  fi
+  if test "$JAR" = "NONE"
+  then
+    { { echo "$as_me:$LINENO: error: jar not found" >&5
+echo "$as_me: error: jar not found" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  
+  
+
+if test "$supported_os" != "darwin"
+then
+  CFLAGS="$CFLAGS -I$JAVA_HOME/include -I$JAVA_HOME/include/$supported_os"
+fi
+
+if test "$GCC" = "yes"
+then
+   CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
+   { echo "$as_me:$LINENO: result: gcc flags added" >&5
+echo "${ECHO_T}gcc flags added" >&6; }
+fi
+if test -z "$LDCMD"
+then
+   LDCMD="$CC"
+fi
+
+
+
+  printf "*** %s ***\n" "Writing output files" 1>&2
+  
+
+ac_config_files="$ac_config_files Makefile Makedefs native/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIB@&t at OBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIB@&t at OBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf at gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX
+@%:@@%:@ Running $as_me. @%:@@%:@
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "Makedefs") CONFIG_FILES="$CONFIG_FILES Makedefs" ;;
+    "native/Makefile") CONFIG_FILES="$CONFIG_FILES native/Makefile" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+RANLIB!$RANLIB$ac_delim
+JAVA_HOME!$JAVA_HOME$ac_delim
+JAVAC!$JAVAC$ac_delim
+JAVAC_PATH!$JAVAC_PATH$ac_delim
+JAVACFLAGS!$JAVACFLAGS$ac_delim
+JAR!$JAR$ac_delim
+JAR_PATH!$JAR_PATH$ac_delim
+LDCMD!$LDCMD$ac_delim
+LIB@&t at OBJS!$LIB@&t at OBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 62; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES      
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+  
+  
+  
+  esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
+
+  printf "*** %s ***\n" "All done" 1>&2
+  
+
+{ echo "$as_me:$LINENO: result: Now you can issue \"make\"" >&5
+echo "${ECHO_T}Now you can issue \"make\"" >&6; }

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/requests
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/requests	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/requests	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+# This file was generated by Autom4te Wed Jan 17 19:57:31 PST 2007.
+# It contains the lists of macros which have been traced.
+# It can be safely removed.
+
+ at request = (
+             bless( [
+                      '0',
+                      1,
+                      [
+                        '/usr/share/autoconf'
+                      ],
+                      [
+                        '/usr/share/autoconf/autoconf/autoconf.m4f',
+                        'configure.in'
+                      ],
+                      {
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'AM_PROG_F77_C_O' => 1,
+                        'AC_INIT' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        'AC_SUBST' => 1,
+                        'AC_CONFIG_LIBOBJ_DIR' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
+                        'AC_CONFIG_LINKS' => 1,
+                        'm4_sinclude' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'AM_MAINTAINER_MODE' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
+                        '_m4_warn' => 1,
+                        'AM_PROG_CXX_C_O' => 1,
+                        'AM_ENABLE_MULTILIB' => 1,
+                        'AC_CONFIG_FILES' => 1,
+                        'include' => 1,
+                        'LT_INIT' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'AC_LIBSOURCE' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AC_FC_FREEFORM' => 1,
+                        'AH_OUTPUT' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_CONFIG_AUX_DIR' => 1,
+                        'sinclude' => 1,
+                        'm4_pattern_allow' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'm4_include' => 1,
+                        'AC_SUBST_TRACE' => 1
+                      }
+                    ], 'Autom4te::Request' )
+           );
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/traces.0
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/traces.0	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/autom4te.cache/traces.0	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,266 @@
+m4trace:configure.in:28: -1- sinclude([./support/apfunctions.m4])
+m4trace:configure.in:29: -1- sinclude([./support/apjava.m4])
+m4trace:configure.in:30: -1- sinclude([./support/apsupport.m4])
+m4trace:configure.in:31: -1- AC_INIT([configure.in])
+m4trace:configure.in:31: -1- m4_pattern_forbid([^_?A[CHUM]_])
+m4trace:configure.in:31: -1- m4_pattern_forbid([_AC_])
+m4trace:configure.in:31: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
+m4trace:configure.in:31: -1- m4_pattern_allow([^AS_FLAGS$])
+m4trace:configure.in:31: -1- m4_pattern_forbid([^_?m4_])
+m4trace:configure.in:31: -1- m4_pattern_forbid([^dnl$])
+m4trace:configure.in:31: -1- m4_pattern_forbid([^_?AS_])
+m4trace:configure.in:31: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([SHELL])
+m4trace:configure.in:31: -1- m4_pattern_allow([^SHELL$])
+m4trace:configure.in:31: -1- AC_SUBST([PATH_SEPARATOR])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PATH_SEPARATOR$])
+m4trace:configure.in:31: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE_NAME])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:31: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:31: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:31: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE_STRING])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:31: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:31: -1- AC_SUBST([exec_prefix], [NONE])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([exec_prefix])
+m4trace:configure.in:31: -1- m4_pattern_allow([^exec_prefix$])
+m4trace:configure.in:31: -1- AC_SUBST([prefix], [NONE])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([prefix])
+m4trace:configure.in:31: -1- m4_pattern_allow([^prefix$])
+m4trace:configure.in:31: -1- AC_SUBST([program_transform_name], [s,x,x,])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([program_transform_name])
+m4trace:configure.in:31: -1- m4_pattern_allow([^program_transform_name$])
+m4trace:configure.in:31: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([bindir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^bindir$])
+m4trace:configure.in:31: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([sbindir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^sbindir$])
+m4trace:configure.in:31: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([libexecdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^libexecdir$])
+m4trace:configure.in:31: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([datarootdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^datarootdir$])
+m4trace:configure.in:31: -1- AC_SUBST([datadir], ['${datarootdir}'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([datadir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^datadir$])
+m4trace:configure.in:31: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([sysconfdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^sysconfdir$])
+m4trace:configure.in:31: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([sharedstatedir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^sharedstatedir$])
+m4trace:configure.in:31: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([localstatedir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^localstatedir$])
+m4trace:configure.in:31: -1- AC_SUBST([includedir], ['${prefix}/include'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([includedir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^includedir$])
+m4trace:configure.in:31: -1- AC_SUBST([oldincludedir], ['/usr/include'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([oldincludedir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^oldincludedir$])
+m4trace:configure.in:31: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
+				     ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
+				     ['${datarootdir}/doc/${PACKAGE}'])])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([docdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^docdir$])
+m4trace:configure.in:31: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([infodir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^infodir$])
+m4trace:configure.in:31: -1- AC_SUBST([htmldir], ['${docdir}'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([htmldir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^htmldir$])
+m4trace:configure.in:31: -1- AC_SUBST([dvidir], ['${docdir}'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([dvidir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^dvidir$])
+m4trace:configure.in:31: -1- AC_SUBST([pdfdir], ['${docdir}'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([pdfdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^pdfdir$])
+m4trace:configure.in:31: -1- AC_SUBST([psdir], ['${docdir}'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([psdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^psdir$])
+m4trace:configure.in:31: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([libdir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^libdir$])
+m4trace:configure.in:31: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([localedir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^localedir$])
+m4trace:configure.in:31: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([mandir])
+m4trace:configure.in:31: -1- m4_pattern_allow([^mandir$])
+m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_NAME$])
+m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
+#undef PACKAGE_NAME])
+m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
+m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME])
+m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_VERSION$])
+m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
+#undef PACKAGE_VERSION])
+m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_STRING$])
+m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING])
+m4trace:configure.in:31: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
+m4trace:configure.in:31: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
+m4trace:configure.in:31: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT])
+m4trace:configure.in:31: -1- AC_SUBST([DEFS])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([DEFS])
+m4trace:configure.in:31: -1- m4_pattern_allow([^DEFS$])
+m4trace:configure.in:31: -1- AC_SUBST([ECHO_C])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([ECHO_C])
+m4trace:configure.in:31: -1- m4_pattern_allow([^ECHO_C$])
+m4trace:configure.in:31: -1- AC_SUBST([ECHO_N])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([ECHO_N])
+m4trace:configure.in:31: -1- m4_pattern_allow([^ECHO_N$])
+m4trace:configure.in:31: -1- AC_SUBST([ECHO_T])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([ECHO_T])
+m4trace:configure.in:31: -1- m4_pattern_allow([^ECHO_T$])
+m4trace:configure.in:31: -1- AC_SUBST([LIBS])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:31: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:31: -1- AC_SUBST([build_alias])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([build_alias])
+m4trace:configure.in:31: -1- m4_pattern_allow([^build_alias$])
+m4trace:configure.in:31: -1- AC_SUBST([host_alias])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([host_alias])
+m4trace:configure.in:31: -1- m4_pattern_allow([^host_alias$])
+m4trace:configure.in:31: -1- AC_SUBST([target_alias])
+m4trace:configure.in:31: -1- AC_SUBST_TRACE([target_alias])
+m4trace:configure.in:31: -1- m4_pattern_allow([^target_alias$])
+m4trace:configure.in:32: -1- AC_CONFIG_AUX_DIR([./support])
+m4trace:configure.in:39: -1- AC_CANONICAL_HOST([])
+m4trace:configure.in:39: -1- AC_CANONICAL_BUILD
+m4trace:configure.in:39: -1- AC_REQUIRE_AUX_FILE([config.sub])
+m4trace:configure.in:39: -1- AC_REQUIRE_AUX_FILE([config.guess])
+m4trace:configure.in:39: -1- AC_SUBST([build], [$ac_cv_build])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([build])
+m4trace:configure.in:39: -1- m4_pattern_allow([^build$])
+m4trace:configure.in:39: -1- AC_SUBST([build_cpu], [$[1]])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([build_cpu])
+m4trace:configure.in:39: -1- m4_pattern_allow([^build_cpu$])
+m4trace:configure.in:39: -1- AC_SUBST([build_vendor], [$[2]])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([build_vendor])
+m4trace:configure.in:39: -1- m4_pattern_allow([^build_vendor$])
+m4trace:configure.in:39: -1- AC_SUBST([build_os])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([build_os])
+m4trace:configure.in:39: -1- m4_pattern_allow([^build_os$])
+m4trace:configure.in:39: -1- AC_SUBST([host], [$ac_cv_host])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([host])
+m4trace:configure.in:39: -1- m4_pattern_allow([^host$])
+m4trace:configure.in:39: -1- AC_SUBST([host_cpu], [$[1]])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([host_cpu])
+m4trace:configure.in:39: -1- m4_pattern_allow([^host_cpu$])
+m4trace:configure.in:39: -1- AC_SUBST([host_vendor], [$[2]])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([host_vendor])
+m4trace:configure.in:39: -1- m4_pattern_allow([^host_vendor$])
+m4trace:configure.in:39: -1- AC_SUBST([host_os])
+m4trace:configure.in:39: -1- AC_SUBST_TRACE([host_os])
+m4trace:configure.in:39: -1- m4_pattern_allow([^host_os$])
+m4trace:configure.in:40: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: remove the \"$cache_file\" file and re-run configure], [./support/apfunctions.m4:27: AP_CANONICAL_HOST_CHECK is expanded from...
+configure.in:40: the top level])
+m4trace:configure.in:40: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: remove the \"$cache_file\" file and re-run configure], [./support/apfunctions.m4:27: AP_CANONICAL_HOST_CHECK is expanded from...
+configure.in:40: the top level])
+m4trace:configure.in:46: -1- AC_SUBST([CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:46: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:46: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:46: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:46: -1- AC_SUBST([LIBS])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([LIBS])
+m4trace:configure.in:46: -1- m4_pattern_allow([^LIBS$])
+m4trace:configure.in:46: -1- AC_SUBST([CPPFLAGS])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CPPFLAGS])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CPPFLAGS$])
+m4trace:configure.in:46: -1- AC_SUBST([CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:46: -1- AC_SUBST([CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:46: -1- AC_SUBST([CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:46: -1- AC_SUBST([CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^CC$])
+m4trace:configure.in:46: -1- AC_SUBST([ac_ct_CC])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([ac_ct_CC])
+m4trace:configure.in:46: -1- m4_pattern_allow([^ac_ct_CC$])
+m4trace:configure.in:46: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([EXEEXT])
+m4trace:configure.in:46: -1- m4_pattern_allow([^EXEEXT$])
+m4trace:configure.in:46: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
+m4trace:configure.in:46: -1- AC_SUBST_TRACE([OBJEXT])
+m4trace:configure.in:46: -1- m4_pattern_allow([^OBJEXT$])
+m4trace:configure.in:47: -1- AC_SUBST([RANLIB])
+m4trace:configure.in:47: -1- AC_SUBST_TRACE([RANLIB])
+m4trace:configure.in:47: -1- m4_pattern_allow([^RANLIB$])
+m4trace:configure.in:53: -1- AC_SUBST([CFLAGS])
+m4trace:configure.in:53: -1- AC_SUBST_TRACE([CFLAGS])
+m4trace:configure.in:53: -1- m4_pattern_allow([^CFLAGS$])
+m4trace:configure.in:53: -1- AC_SUBST([LDFLAGS])
+m4trace:configure.in:53: -1- AC_SUBST_TRACE([LDFLAGS])
+m4trace:configure.in:53: -1- m4_pattern_allow([^LDFLAGS$])
+m4trace:configure.in:77: -1- AC_SUBST([JAVA_HOME])
+m4trace:configure.in:77: -1- AC_SUBST_TRACE([JAVA_HOME])
+m4trace:configure.in:77: -1- m4_pattern_allow([^JAVA_HOME$])
+m4trace:configure.in:78: -1- AC_SUBST([JAVAC])
+m4trace:configure.in:78: -1- AC_SUBST_TRACE([JAVAC])
+m4trace:configure.in:78: -1- m4_pattern_allow([^JAVAC$])
+m4trace:configure.in:78: -1- AC_SUBST([JAVAC_PATH])
+m4trace:configure.in:78: -1- AC_SUBST_TRACE([JAVAC_PATH])
+m4trace:configure.in:78: -1- m4_pattern_allow([^JAVAC_PATH$])
+m4trace:configure.in:78: -1- AC_SUBST([JAVAC])
+m4trace:configure.in:78: -1- AC_SUBST_TRACE([JAVAC])
+m4trace:configure.in:78: -1- m4_pattern_allow([^JAVAC$])
+m4trace:configure.in:78: -1- AC_SUBST([JAVACFLAGS])
+m4trace:configure.in:78: -1- AC_SUBST_TRACE([JAVACFLAGS])
+m4trace:configure.in:78: -1- m4_pattern_allow([^JAVACFLAGS$])
+m4trace:configure.in:79: -1- AC_SUBST([JAR])
+m4trace:configure.in:79: -1- AC_SUBST_TRACE([JAR])
+m4trace:configure.in:79: -1- m4_pattern_allow([^JAR$])
+m4trace:configure.in:79: -1- AC_SUBST([JAR_PATH])
+m4trace:configure.in:79: -1- AC_SUBST_TRACE([JAR_PATH])
+m4trace:configure.in:79: -1- m4_pattern_allow([^JAR_PATH$])
+m4trace:configure.in:79: -1- AC_SUBST([JAR])
+m4trace:configure.in:79: -1- AC_SUBST_TRACE([JAR])
+m4trace:configure.in:79: -1- m4_pattern_allow([^JAR$])
+m4trace:configure.in:100: -1- AC_SUBST([LDCMD])
+m4trace:configure.in:100: -1- AC_SUBST_TRACE([LDCMD])
+m4trace:configure.in:100: -1- m4_pattern_allow([^LDCMD$])
+m4trace:configure.in:106: -1- AC_CONFIG_FILES([Makefile Makedefs native/Makefile])
+m4trace:configure.in:106: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments.
+You should run autoupdate.], [])
+m4trace:configure.in:106: -1- AC_SUBST([LIB@&t at OBJS], [$ac_libobjs])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([LIB@&t at OBJS])
+m4trace:configure.in:106: -1- m4_pattern_allow([^LIB@&t at OBJS$])
+m4trace:configure.in:106: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([LTLIBOBJS])
+m4trace:configure.in:106: -1- m4_pattern_allow([^LTLIBOBJS$])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([top_builddir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([srcdir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([abs_srcdir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([top_srcdir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([abs_top_srcdir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([builddir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([abs_builddir])
+m4trace:configure.in:106: -1- AC_SUBST_TRACE([abs_top_builddir])

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,250 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by configure, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ ./configure 
+
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = dynamo
+uname -m = i686
+uname -r = 2.6.18-4-686
+uname -s = Linux
+uname -v = #1 SMP Wed May 9 23:03:12 UTC 2007
+
+/usr/bin/uname -p = unknown
+/bin/uname -X     = unknown
+
+/bin/arch              = i686
+/usr/bin/arch -k       = unknown
+/usr/convex/getsysinfo = unknown
+/usr/bin/hostinfo      = unknown
+/bin/machine           = unknown
+/usr/bin/oslevel       = unknown
+/bin/universe          = unknown
+
+PATH: /usr/local/bin
+PATH: /usr/bin
+PATH: /bin
+PATH: /usr/bin/X11
+PATH: /usr/games
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+configure:1698: checking build system type
+configure:1716: result: i686-pc-linux-gnu
+configure:1738: checking host system type
+configure:1753: result: i686-pc-linux-gnu
+configure:1776: checking cached host system type
+configure:1787: result: ok
+configure:1846: checking for gcc
+configure:1862: found /usr/bin/gcc
+configure:1873: result: gcc
+configure:2111: checking for C compiler version
+configure:2118: gcc --version >&5
+gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
+Copyright (C) 2006 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:2121: $? = 0
+configure:2128: gcc -v >&5
+Using built-in specs.
+Target: i486-linux-gnu
+Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
+Thread model: posix
+gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
+configure:2131: $? = 0
+configure:2138: gcc -V >&5
+gcc: '-V' option must have argument
+configure:2141: $? = 1
+configure:2164: checking for C compiler default output file name
+configure:2191: gcc    conftest.c  >&5
+configure:2194: $? = 0
+configure:2232: result: a.out
+configure:2249: checking whether the C compiler works
+configure:2259: ./a.out
+configure:2262: $? = 0
+configure:2279: result: yes
+configure:2286: checking whether we are cross compiling
+configure:2288: result: no
+configure:2291: checking for suffix of executables
+configure:2298: gcc -o conftest    conftest.c  >&5
+configure:2301: $? = 0
+configure:2325: result: 
+configure:2331: checking for suffix of object files
+configure:2357: gcc -c   conftest.c >&5
+configure:2360: $? = 0
+configure:2383: result: o
+configure:2387: checking whether we are using the GNU C compiler
+configure:2416: gcc -c   conftest.c >&5
+configure:2422: $? = 0
+configure:2439: result: yes
+configure:2444: checking whether gcc accepts -g
+configure:2474: gcc -c -g  conftest.c >&5
+configure:2480: $? = 0
+configure:2579: result: yes
+configure:2596: checking for gcc option to accept ISO C89
+configure:2670: gcc  -c -g -O2  conftest.c >&5
+configure:2676: $? = 0
+configure:2699: result: none needed
+configure:2760: checking for ranlib
+configure:2776: found /usr/bin/ranlib
+configure:2787: result: ranlib
+configure:2819: checking C flags dependant on host system type
+configure:2897: result: ok
+configure:2958: checking for javac
+configure:2989: result: NONE
+configure:3001: checking for javac
+configure:3019: found /usr/bin/javac
+configure:3032: result: /usr/bin/javac
+configure:3049: checking wether the Java compiler (/usr/bin/javac) works
+configure:3071: result: yes
+configure:3081: checking for jar
+configure:3112: result: NONE
+configure:3124: checking for jar
+configure:3142: found /usr/bin/jar
+configure:3155: result: /usr/bin/jar
+configure:3182: result: gcc flags added
+configure:3327: creating ./config.status
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by config.status, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status 
+
+on dynamo
+
+config.status:589: creating Makefile
+config.status:589: creating Makedefs
+config.status:589: creating native/Makefile
+configure:4223: result: Now you can issue "make"
+
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+
+ac_cv_build=i686-pc-linux-gnu
+ac_cv_c_compiler_gnu=yes
+ac_cv_env_CC_set=
+ac_cv_env_CC_value=
+ac_cv_env_CFLAGS_set=
+ac_cv_env_CFLAGS_value=
+ac_cv_env_CPPFLAGS_set=
+ac_cv_env_CPPFLAGS_value=
+ac_cv_env_LDFLAGS_set=
+ac_cv_env_LDFLAGS_value=
+ac_cv_env_LIBS_set=
+ac_cv_env_LIBS_value=
+ac_cv_env_build_alias_set=
+ac_cv_env_build_alias_value=
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_host=i686-pc-linux-gnu
+ac_cv_host_system_type=i686-pc-linux-gnu
+ac_cv_objext=o
+ac_cv_path_JAR=NONE
+ac_cv_path_JAR_PATH=/usr/bin/jar
+ac_cv_path_JAVAC=NONE
+ac_cv_path_JAVAC_PATH=/usr/bin/javac
+ac_cv_prog_ac_ct_CC=gcc
+ac_cv_prog_ac_ct_RANLIB=ranlib
+ac_cv_prog_cc_c89=
+ac_cv_prog_cc_g=yes
+ap_cv_prog_javac_works=yes
+
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+
+CC='gcc'
+CFLAGS='-g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -I/usr/lib/j2re1.5-sun/include -I/usr/lib/j2re1.5-sun/include/linux -Wall -Wstrict-prototypes'
+CPPFLAGS=''
+DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"'
+ECHO_C=''
+ECHO_N='-n'
+ECHO_T=''
+EXEEXT=''
+JAR='/usr/bin/jar'
+JAR_PATH='/usr/bin/jar'
+JAVAC='/usr/bin/javac'
+JAVACFLAGS=''
+JAVAC_PATH='/usr/bin/javac'
+JAVA_HOME='/usr/lib/j2re1.5-sun'
+LDCMD='gcc'
+LDFLAGS=' -ldl -lpthread'
+LIBOBJS=''
+LIBS=''
+LTLIBOBJS=''
+OBJEXT='o'
+PACKAGE_BUGREPORT=''
+PACKAGE_NAME=''
+PACKAGE_STRING=''
+PACKAGE_TARNAME=''
+PACKAGE_VERSION=''
+PATH_SEPARATOR=':'
+RANLIB='ranlib'
+SHELL='/bin/sh'
+ac_ct_CC='gcc'
+bindir='${exec_prefix}/bin'
+build='i686-pc-linux-gnu'
+build_alias=''
+build_cpu='i686'
+build_os='linux-gnu'
+build_vendor='pc'
+datadir='${datarootdir}'
+datarootdir='${prefix}/share'
+docdir='${datarootdir}/doc/${PACKAGE}'
+dvidir='${docdir}'
+exec_prefix='${prefix}'
+host='i686-pc-linux-gnu'
+host_alias=''
+host_cpu='i686'
+host_os='linux-gnu'
+host_vendor='pc'
+htmldir='${docdir}'
+includedir='${prefix}/include'
+infodir='${datarootdir}/info'
+libdir='${exec_prefix}/lib'
+libexecdir='${exec_prefix}/libexec'
+localedir='${datarootdir}/locale'
+localstatedir='${prefix}/var'
+mandir='${datarootdir}/man'
+oldincludedir='/usr/include'
+pdfdir='${docdir}'
+prefix='/usr/local'
+program_transform_name='s,x,x,'
+psdir='${docdir}'
+sbindir='${exec_prefix}/sbin'
+sharedstatedir='${prefix}/com'
+sysconfdir='${prefix}/etc'
+target_alias=''
+
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+
+#define PACKAGE_NAME ""
+#define PACKAGE_TARNAME ""
+#define PACKAGE_VERSION ""
+#define PACKAGE_STRING ""
+#define PACKAGE_BUGREPORT ""
+
+configure: exit 0

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.status
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.status	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.status	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,775 @@
+#! /bin/sh
+# Generated by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=${CONFIG_SHELL-/bin/sh}
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+# Files that config.status was made for.
+config_files=" Makefile Makedefs native/Makefile"
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf at gnu.org>."
+
+ac_cs_version="\
+config.status
+configured by ./configure, generated by GNU Autoconf 2.61,
+  with options \"\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='/home/wei/Desktop/apache-tomcat-5.5.23/bin/jsvc-src'
+srcdir='.'
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+if $ac_cs_recheck; then
+  echo "running CONFIG_SHELL=/bin/sh /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=/bin/sh
+  export CONFIG_SHELL
+  exec /bin/sh "./configure" $ac_configure_extra_args --no-create --no-recursion
+fi
+
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "Makedefs") CONFIG_FILES="$CONFIG_FILES Makedefs" ;;
+    "native/Makefile") CONFIG_FILES="$CONFIG_FILES native/Makefile" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+cat >"$tmp/subs-1.sed" <<\CEOF
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+s, at SHELL@,|#_!!_#|/bin/sh,g
+s, at PATH_SEPARATOR@,|#_!!_#|:,g
+s, at PACKAGE_NAME@,|#_!!_#|,g
+s, at PACKAGE_TARNAME@,|#_!!_#|,g
+s, at PACKAGE_VERSION@,|#_!!_#|,g
+s, at PACKAGE_STRING@,|#_!!_#|,g
+s, at PACKAGE_BUGREPORT@,|#_!!_#|,g
+s, at exec_prefix@,|#_!!_#|${prefix},g
+s, at prefix@,|#_!!_#|/usr/local,g
+s, at program_transform_name@,|#_!!_#|s\,x\,x\,,g
+s, at bindir@,|#_!!_#|${exec_prefix}/bin,g
+s, at sbindir@,|#_!!_#|${exec_prefix}/sbin,g
+s, at libexecdir@,|#_!!_#|${exec_prefix}/libexec,g
+s, at datarootdir@,|#_!!_#|${prefix}/share,g
+s, at datadir@,|#_!!_#|${datarootdir},g
+s, at sysconfdir@,|#_!!_#|${prefix}/etc,g
+s, at sharedstatedir@,|#_!!_#|${prefix}/com,g
+s, at localstatedir@,|#_!!_#|${prefix}/var,g
+s, at includedir@,|#_!!_#|${prefix}/include,g
+s, at oldincludedir@,|#_!!_#|/usr/include,g
+s, at docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE},g
+s, at infodir@,|#_!!_#|${datarootdir}/info,g
+s, at htmldir@,|#_!!_#|${docdir},g
+s, at dvidir@,|#_!!_#|${docdir},g
+s, at pdfdir@,|#_!!_#|${docdir},g
+s, at psdir@,|#_!!_#|${docdir},g
+s, at libdir@,|#_!!_#|${exec_prefix}/lib,g
+s, at localedir@,|#_!!_#|${datarootdir}/locale,g
+s, at mandir@,|#_!!_#|${datarootdir}/man,g
+s, at DEFS@,|#_!!_#|-DPACKAGE_NAME=\\"\\" -DPACKAGE_TARNAME=\\"\\" -DPACKAGE_VERSION=\\"\\" -DPACKAGE_STRING=\\"\\" -DPACKAGE_BUGREPORT=\\"\\",g
+s, at ECHO_C@,|#_!!_#|,g
+s, at ECHO_N@,|#_!!_#|-n,g
+s, at ECHO_T@,|#_!!_#|,g
+s, at LIBS@,|#_!!_#|,g
+s, at build_alias@,|#_!!_#|,g
+s, at host_alias@,|#_!!_#|,g
+s, at target_alias@,|#_!!_#|,g
+s, at build@,|#_!!_#|i686-pc-linux-gnu,g
+s, at build_cpu@,|#_!!_#|i686,g
+s, at build_vendor@,|#_!!_#|pc,g
+s, at build_os@,|#_!!_#|linux-gnu,g
+s, at host@,|#_!!_#|i686-pc-linux-gnu,g
+s, at host_cpu@,|#_!!_#|i686,g
+s, at host_vendor@,|#_!!_#|pc,g
+s, at host_os@,|#_!!_#|linux-gnu,g
+s, at CC@,|#_!!_#|gcc,g
+s, at CFLAGS@,|#_!!_#|-g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\\"i386\\" -I/usr/lib/j2re1.5-sun/include -I/usr/lib/j2re1.5-sun/include/linux -Wall -Wstrict-prototypes,g
+s, at LDFLAGS@,|#_!!_#| -ldl -lpthread,g
+s, at CPPFLAGS@,|#_!!_#|,g
+s, at ac_ct_CC@,|#_!!_#|gcc,g
+s, at EXEEXT@,|#_!!_#|,g
+s, at OBJEXT@,|#_!!_#|o,g
+s, at RANLIB@,|#_!!_#|ranlib,g
+s, at JAVA_HOME@,|#_!!_#|/usr/lib/j2re1.5-sun,g
+s, at JAVAC@,|#_!!_#|/usr/bin/javac,g
+s, at JAVAC_PATH@,|#_!!_#|/usr/bin/javac,g
+s, at JAVACFLAGS@,|#_!!_#|,g
+s, at JAR@,|#_!!_#|/usr/bin/jar,g
+s, at JAR_PATH@,|#_!!_#|/usr/bin/jar,g
+s, at LDCMD@,|#_!!_#|gcc,g
+s, at LIBOBJS@,|#_!!_#|,g
+s, at LTLIBOBJS@,|#_!!_#|,g
+:end
+s/|#_!!_#|//g
+CEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  ac_datarootdir_hack='
+  s&@datadir@&${datarootdir}&g
+  s&@docdir@&${datarootdir}/doc/${PACKAGE}&g
+  s&@infodir@&${datarootdir}/info&g
+  s&@localedir@&${datarootdir}/locale&g
+  s&@mandir@&${datarootdir}/man&g
+    s&\${datarootdir}&${prefix}/share&g' ;;
+esac
+  sed "/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/config.status
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4224 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf at gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="configure.in"
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+RANLIB
+JAVA_HOME
+JAVAC
+JAVAC_PATH
+JAVACFLAGS
+JAR
+JAR_PATH
+LDCMD
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+   { (exit 1); exit 1; }; }
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-java=DIR         Specify the location of your JDK installation
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" || continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args '$ac_arg'"
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_aux_dir=
+for ac_dir in ./support "$srcdir"/./support; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in ./support \"$srcdir\"/./support" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+
+
+  printf "*** %s ***\n" "Current host" 1>&2
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+  { echo "$as_me:$LINENO: checking cached host system type" >&5
+echo $ECHO_N "checking cached host system type... $ECHO_C" >&6; }
+  if { test x"${ac_cv_host_system_type+set}" = x"set"  &&
+       test x"$ac_cv_host_system_type" != x"$host" ; }
+  then
+    { echo "$as_me:$LINENO: result: $ac_cv_host_system_type" >&5
+echo "${ECHO_T}$ac_cv_host_system_type" >&6; }
+    { { echo "$as_me:$LINENO: error: remove the \"$cache_file\" file and re-run configure" >&5
+echo "$as_me: error: remove the \"$cache_file\" file and re-run configure" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
+    ac_cv_host_system_type="$host"
+  fi
+
+
+
+
+  printf "*** %s ***\n" "C-Language compilation tools" 1>&2
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf at gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+
+
+  printf "*** %s ***\n" "Host support" 1>&2
+
+
+
+  { echo "$as_me:$LINENO: checking C flags dependant on host system type" >&5
+echo $ECHO_N "checking C flags dependant on host system type... $ECHO_C" >&6; }
+
+  case $host_os in
+  darwin*)
+    CFLAGS="$CFLAGS -DOS_DARWIN -DDSO_DYLD"
+    supported_os="darwin"
+    ;;
+  solaris*)
+    CFLAGS="$CFLAGS -DOS_SOLARIS -DDSO_DLFCN"
+    supported_os="solaris"
+    LDFLAGS="$LDFLAGS -ldl -lthread"
+    ;;
+  linux*)
+    CFLAGS="$CFLAGS -DOS_LINUX -DDSO_DLFCN"
+    supported_os="linux"
+    LDFLAGS="$LDFLAGS -ldl -lpthread"
+    ;;
+  cygwin)
+    CFLAGS="$CFLAGS -DOS_CYGWIN -DDSO_DLFCN -DNO_SETSID"
+    supported_os="win32"
+    ;;
+  sysv)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN"
+    LDFLAGS="$LDFLAGS -ldl"
+    ;;
+  sysv4)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN -Kthread"
+    LDFLAGS="-Kthread $LDFLAGS -ldl"
+    ;;
+  freebsd4.?)
+    CFLAGS="$CFLAGS -DOS_FREEBSD -DDSO_DLFCN -D_THREAD_SAFE -pthread"
+    LDFLAGS="-pthread $LDFLAGS"
+    supported_os="freebsd"
+    ;;
+  osf5*)
+    CFLAGS="$CFLAGS -pthread -DOS_TRU64 -DDSO_DLFCN -D_XOPEN_SOURCE_EXTENDED"
+    LDFLAGS="$LDFLAGS -pthread"
+    ;;
+  *)
+    { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+    { { echo "$as_me:$LINENO: error: Unsupported operating system \"$host_os\"" >&5
+echo "$as_me: error: Unsupported operating system \"$host_os\"" >&2;}
+   { (exit 1); exit 1; }; }
+    ;;
+  esac
+  case $host_cpu in
+  powerpc)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  sparc*)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  i?86)
+    CFLAGS="$CFLAGS -DCPU=\\\"i386\\\"" ;;
+  x86_64)
+    CFLAGS="$CFLAGS -DCPU=\\\"amd64\\\"" ;;
+  bs2000)
+    CFLAGS="$CFLAGS -DCPU=\\\"osd\\\" -DCHARSET_EBCDIC -DOSD_POSIX"
+    supported_os="osd"
+    LDFLAGS="-Kno_link_stdlibs -B llm4 -l BLSLIB"
+    LDCMD="/opt/C/bin/cc"
+    ;;
+  mips)
+    CFLAGS="$CFLAGS -DCPU=\\\"mips\\\""
+    supported_os="mips"
+    ;;
+  alpha*)
+    CFLAGS="$CFLAGS -DCPU=\\\"alpha\\\""
+    supported_os="alpha"
+    ;;
+  *)
+    { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+    { { echo "$as_me:$LINENO: error: Unsupported CPU architecture \"$host_cpu\"" >&5
+echo "$as_me: error: Unsupported CPU architecture \"$host_cpu\"" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+
+  { echo "$as_me:$LINENO: result: ok" >&5
+echo "${ECHO_T}ok" >&6; }
+
+
+
+if test "$supported_os" = "darwin"
+then
+  if test -z "$JAVA_HOME" -a -d /System/Library/Frameworks/JavaVM.framework/Home; then
+  	JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+  fi
+
+  _prevdir=`/bin/pwd`
+  if test -n "$JAVA_HOME" -a -d "$JAVA_HOME/include"; then
+    cd "$JAVA_HOME/include"
+  elif test -n "$JAVA_HOME" -a -d "$JAVA_HOME/../Headers"; then
+    cd "$JAVA_HOME/../Headers"
+  else
+    cd /System/Library/Frameworks/JavaVM.framework/Headers
+  fi
+  CFLAGS="$CFLAGS -I`/bin/pwd -P`"
+  cd $_prevdir
+  unset _prevdir
+fi
+
+
+  printf "*** %s ***\n" "Java compilation tools" 1>&2
+
+
+
+
+# Check whether --with-java was given.
+if test "${with_java+set}" = set; then
+  withval=$with_java;
+    { echo "$as_me:$LINENO: checking JAVA_HOME" >&5
+echo $ECHO_N "checking JAVA_HOME... $ECHO_C" >&6; }
+    if test -d "$withval"
+    then
+      JAVA_HOME="$withval"
+      { echo "$as_me:$LINENO: result: $JAVA_HOME" >&5
+echo "${ECHO_T}$JAVA_HOME" >&6; }
+    else
+      { echo "$as_me:$LINENO: result: failed" >&5
+echo "${ECHO_T}failed" >&6; }
+      { { echo "$as_me:$LINENO: error: $withval is not a directory" >&5
+echo "$as_me: error: $withval is not a directory" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+
+fi
+
+  if test x"$JAVA_HOME" = x
+  then
+    { { echo "$as_me:$LINENO: error: Java Home not defined. Rerun with --with-java=... parameter" >&5
+echo "$as_me: error: Java Home not defined. Rerun with --with-java=... parameter" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+  # Extract the first word of "javac", so it can be a program name with args.
+set dummy javac; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVA_HOME/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVAC" && ac_cv_path_JAVAC="NONE"
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  if test "$JAVAC" = "NONE"
+  then
+    # Extract the first word of "javac", so it can be a program name with args.
+set dummy javac; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC_PATH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC_PATH="$JAVAC_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC_PATH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAVAC_PATH" && ac_cv_path_JAVAC_PATH="NONE"
+  ;;
+esac
+fi
+JAVAC_PATH=$ac_cv_path_JAVAC_PATH
+if test -n "$JAVAC_PATH"; then
+  { echo "$as_me:$LINENO: result: $JAVAC_PATH" >&5
+echo "${ECHO_T}$JAVAC_PATH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    JAVAC=$JAVAC_PATH
+  fi
+  if test "$JAVAC" = "NONE"
+  then
+    { { echo "$as_me:$LINENO: error: javac not found" >&5
+echo "$as_me: error: javac not found" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+  { echo "$as_me:$LINENO: checking wether the Java compiler ($JAVAC) works" >&5
+echo $ECHO_N "checking wether the Java compiler ($JAVAC) works... $ECHO_C" >&6; }
+if test "${ap_cv_prog_javac_works+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+    echo "public class Test {}" > Test.java
+    $JAVAC $JAVACFLAGS Test.java > /dev/null 2>&1
+    if test $? -eq 0
+    then
+      rm -f Test.java Test.class
+      ap_cv_prog_javac_works=yes
+    else
+      rm -f Test.java Test.class
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+      { { echo "$as_me:$LINENO: error: installation or configuration problem: javac cannot compile" >&5
+echo "$as_me: error: installation or configuration problem: javac cannot compile" >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ap_cv_prog_javac_works" >&5
+echo "${ECHO_T}$ap_cv_prog_javac_works" >&6; }
+
+
+
+
+
+
+  # Extract the first word of "jar", so it can be a program name with args.
+set dummy jar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $JAVA_HOME/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAR" && ac_cv_path_JAR="NONE"
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { echo "$as_me:$LINENO: result: $JAR" >&5
+echo "${ECHO_T}$JAR" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  if test "$JAR" = "NONE"
+  then
+    # Extract the first word of "jar", so it can be a program name with args.
+set dummy jar; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR_PATH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR_PATH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR_PATH="$JAR_PATH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR_PATH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_JAR_PATH" && ac_cv_path_JAR_PATH="NONE"
+  ;;
+esac
+fi
+JAR_PATH=$ac_cv_path_JAR_PATH
+if test -n "$JAR_PATH"; then
+  { echo "$as_me:$LINENO: result: $JAR_PATH" >&5
+echo "${ECHO_T}$JAR_PATH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    JAR=$JAR_PATH
+  fi
+  if test "$JAR" = "NONE"
+  then
+    { { echo "$as_me:$LINENO: error: jar not found" >&5
+echo "$as_me: error: jar not found" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+if test "$supported_os" != "darwin"
+then
+  CFLAGS="$CFLAGS -I$JAVA_HOME/include -I$JAVA_HOME/include/$supported_os"
+fi
+
+if test "$GCC" = "yes"
+then
+   CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
+   { echo "$as_me:$LINENO: result: gcc flags added" >&5
+echo "${ECHO_T}gcc flags added" >&6; }
+fi
+if test -z "$LDCMD"
+then
+   LDCMD="$CC"
+fi
+
+
+
+  printf "*** %s ***\n" "Writing output files" 1>&2
+
+
+ac_config_files="$ac_config_files Makefile Makedefs native/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf at gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "Makedefs") CONFIG_FILES="$CONFIG_FILES Makedefs" ;;
+    "native/Makefile") CONFIG_FILES="$CONFIG_FILES native/Makefile" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+RANLIB!$RANLIB$ac_delim
+JAVA_HOME!$JAVA_HOME$ac_delim
+JAVAC!$JAVAC$ac_delim
+JAVAC_PATH!$JAVAC_PATH$ac_delim
+JAVACFLAGS!$JAVACFLAGS$ac_delim
+JAR!$JAR$ac_delim
+JAR_PATH!$JAR_PATH$ac_delim
+LDCMD!$LDCMD$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 62; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
+
+
+  printf "*** %s ***\n" "All done" 1>&2
+
+
+{ echo "$as_me:$LINENO: result: Now you can issue \"make\"" >&5
+echo "${ECHO_T}Now you can issue \"make\"" >&6; }


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure.in
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure.in	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/configure.in	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+dnl
+dnl Copyright 1999-2004 The Apache Software Foundation
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+dnl
+
+dnl -------------------------------------------------------------------------
+dnl Author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+dnl Version $Id: configure.in 164232 2005-04-22 13:01:30Z jfclere $
+dnl -------------------------------------------------------------------------
+
+dnl -------------------------------------------------------------------------
+dnl Initialize AutoConf
+dnl -------------------------------------------------------------------------
+
+AC_PREREQ(2.53)
+
+sinclude(./support/apfunctions.m4)dnl
+sinclude(./support/apjava.m4)dnl
+sinclude(./support/apsupport.m4)dnl
+AC_INIT(configure.in)
+AC_CONFIG_AUX_DIR(./support)
+
+dnl -------------------------------------------------------------------------
+dnl Check current host (forget about cross compilation) and validate it
+dnl against the cache (fail if the cache differs)
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([Current host])
+AC_CANONICAL_HOST()
+AP_CANONICAL_HOST_CHECK()
+
+dnl -------------------------------------------------------------------------
+dnl Check C environment
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([C-Language compilation tools])
+AC_PROG_CC()
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+dnl -------------------------------------------------------------------------
+dnl Check if this host is supported
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([Host support])
+AP_SUPPORTED_HOST()
+if test "$supported_os" = "darwin"
+then
+  if test -z "$JAVA_HOME" -a -d /System/Library/Frameworks/JavaVM.framework/Home; then
+  	JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
+  fi
+
+  _prevdir=`/bin/pwd`
+  if test -n "$JAVA_HOME" -a -d "$JAVA_HOME/include"; then
+    cd "$JAVA_HOME/include"
+  elif test -n "$JAVA_HOME" -a -d "$JAVA_HOME/../Headers"; then
+    cd "$JAVA_HOME/../Headers"
+  else
+    cd /System/Library/Frameworks/JavaVM.framework/Headers
+  fi
+  CFLAGS="$CFLAGS -I`/bin/pwd -P`"
+  cd $_prevdir
+  unset _prevdir
+fi
+
+dnl -------------------------------------------------------------------------
+dnl Check JAVA environment
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([Java compilation tools])
+AP_JAVA()
+AP_PROG_JAVAC()
+AP_PROG_JAR()
+if test "$supported_os" != "darwin"
+then
+  CFLAGS="$CFLAGS -I$JAVA_HOME/include -I$JAVA_HOME/include/$supported_os"
+fi
+
+dnl -------------------------------------------------------------------------
+dnl Add gcc specific CFLAGS.
+dnl -------------------------------------------------------------------------
+if test "$GCC" = "yes"
+then
+   CFLAGS="$CFLAGS -Wall -Wstrict-prototypes"
+   AC_MSG_RESULT([gcc flags added])
+fi
+dnl -------------------------------------------------------------------------
+dnl Add gcc specific CFLAGS.
+dnl -------------------------------------------------------------------------
+if test -z "$LDCMD"
+then
+   LDCMD="$CC"
+fi
+AC_SUBST(LDCMD)
+
+dnl -------------------------------------------------------------------------
+dnl Random programs we need to compile locally
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([Writing output files])
+AC_OUTPUT(Makefile Makedefs native/Makefile)
+
+dnl -------------------------------------------------------------------------
+dnl Done
+dnl -------------------------------------------------------------------------
+AP_MSG_HEADER([All done])
+AC_MSG_RESULT([Now you can issue "make"])

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/jsvc
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/jsvc
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/README
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/README	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/README	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+To build it use:
+docbook2man jsvc.1.xml
+
+If your docbook2man uses xalan and you are behind a firewall
+Modify jsvc.1.xml as below:
++++
+Index: jsvc.1.xml
+===================================================================
+--- jsvc.1.xml	(revision 170004)
++++ jsvc.1.xml	(working copy)
+@@ -1,6 +1,6 @@
+ <?xml version="1.0" encoding="utf-8"?>
+ <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+-                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
++                   "docbookx.dtd">
+ <refentry id='jsvc1'>
+   <refmeta>
+     <refentrytitle>JSVC</refentrytitle>
++++
+Use fetch.sh to get docbook files.

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/fetch.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/fetch.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/fetch.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+mkdir -p ent
+rm -f JSVC.1
+while true
+do
+  FILE=`docbook2man jsvc.1.xml 2>&1 | grep FileNotFoundException | awk -F FileNotFoundException: ' { print $2 } ' | awk ' { print $1 } '`
+  if [ -f JSVC.1 ]
+  then
+    break
+  fi
+  echo "FILE: $FILE"
+  file=`basename $FILE`
+  dir=`dirname $FILE`
+  man=`basename $dir`
+  echo "file: $file dir: $dir man: $man"
+  if [ "$man" = "ent" ]
+  then
+    (cd ent; wget http://www.oasis-open.org/docbook/xml/4.1.2/ent/$file)
+  else
+    wget http://www.oasis-open.org/docbook/xml/4.1.2/$file
+  fi
+done

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/jsvc.1.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/jsvc.1.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/man/jsvc.1.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+                   "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<refentry id='jsvc1'>
+  <refmeta>
+    <refentrytitle>JSVC</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class='date'>May 2005</refmiscinfo>
+    <refmiscinfo class='source'>Jsvc version 1.0.1</refmiscinfo>
+    <refmiscinfo class='manual'>Jakarta project</refmiscinfo>
+  </refmeta>
+  <refnamediv id='name'>
+    <refname>jsvc</refname>
+    <refpurpose>application to launch java daemon</refpurpose>
+  </refnamediv>
+  <!-- body begins here -->
+  <refsynopsisdiv id='synopsis'>
+    <cmdsynopsis>
+      <command>jsvc</command>
+      <arg choice='opt'>-jvm <replaceable>JVM name</replaceable></arg>
+      <arg choice='opt'>-classpath <replaceable>path</replaceable></arg>
+      <arg choice='opt'>-cp <replaceable>path</replaceable></arg>
+      <arg choice='opt'>-home <replaceable>directory</replaceable></arg>
+      <arg choice='opt'>-version</arg>
+      <arg choice='opt'>-help</arg>
+      <arg choice='opt'>-?</arg>
+      <arg choice='opt'>-nodetach</arg>
+      <arg choice='opt'>-debug</arg>
+      <arg choice='opt'>-check</arg>
+      <arg choice='opt'>-user <replaceable>user</replaceable></arg>
+      <arg choice='opt'>-wait <replaceable>waittime</replaceable></arg>
+      <arg choice='opt'>-stop</arg>
+      <arg choice='opt'>-verbose<replaceable>:class|gc|jni</replaceable></arg>
+      <arg choice='opt'>-outfile <replaceable>/full/path/to/file</replaceable></arg>
+      <arg choice='opt'>-errfile <replaceable>/full/path/to/file</replaceable></arg>
+      <arg choice='opt'>-pidfile <replaceable>/full/path/to/file</replaceable></arg>
+      <arg choice='opt'>-Dproperty=<replaceable>value</replaceable></arg>
+      <arg choice='opt'>-X<replaceable>option</replaceable></arg>
+      <!-- end of the new arguments -->
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+    <para><command>jsvc</command> executes <emphasis remap="I">classfile</emphasis>
+    that implements a Daemon interface.</para>
+  </refsect1>
+
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+
+    <variablelist remap="TP">
+      <varlistentry>
+        <term><option>-jvm</option> JVM name</term>
+        <listitem>
+          <para>use a specific Java Virtual Machine.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-cp/ -classpath</option> directory and zip/jar 
+          files</term>
+        <listitem>
+          <para>set search path for service classes and resouces</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-home</option> directory</term>
+        <listitem>
+          <para>set the path of your JDK or JRE installation (or set
+        				the JAVA_HOME environment variable)
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-version</option></term>
+        <listitem>
+          <para>show the current Java environment version (to check
+        				correctness of -home and -jvm. Implies -nodetach)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-help</option></term>
+        <listitem>
+          <para>show this help page (implies -nodetach)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-nodetach</option></term>
+        <listitem>
+          <para>don't detach from parent process and become a daemon</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-debug</option></term>
+        <listitem>
+          <para>verbosely print debugging information</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-check</option></term>
+        <listitem>
+          <para>only check service (implies -nodetach)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-stop</option></term>
+        <listitem>
+          <para>stop the service using the file given in the -pidfile option</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-wait</option> waittime</term>
+        <listitem>
+          <para>wait up to waittime seconds for the service to start
+                                       waittime should multiple of 10 (min=10)
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-user</option> user</term>
+        <listitem>
+          <para>user used to run the daemon (defaults to current user)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-verbose[:class|gc|jni]</option></term>
+        <listitem>
+          <para>enable verbose output</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-outfile</option> /full/path/to/file</term>
+        <listitem>
+          <para>Location for output from stdout (defaults to /dev/null). Use 
+            the value '&amp;2' to simulate '1&gt;&amp;2'</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-errfile</option> /full/path/to/file</term>
+        <listitem>
+          <para>Location for output from stderr (defaults to /dev/null). Use 
+            the value '&amp;1' to simulate '2&gt;&amp;1'</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-pidfile</option> /full/path/to/file</term>
+        <listitem>
+          <para>Location for output from the file containing the pid of jsvc 
+            (defaults to /var/run/jsvc.pid)</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-D</option>&lt;name&gt;=&lt;value&gt;</term>
+        <listitem>
+          <para>set a Java system property</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-X</option>&lt;option&gt;</term>
+        <listitem>
+          <para>set Virtual Machine specific option</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </refsect1>
+
+  <refsect1 id='author'><title>AUTHOR</title>
+    <para>JSVC is part of the Jakarta Commons Daemon project. Authors are 
+      Jean-Frederic Clere, Remy Maucherat, Yoav Shapira, Bill Barker. JSVC is 
+      under the Apache License Version 2.0.</para>
+  </refsect1>
+
+</refentry>

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+#
+#   Copyright 2001-2004 The Apache Software Foundation.
+# 
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+# 
+#       http://www.apache.org/licenses/LICENSE-2.0
+# 
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makefile.in 161711 2005-04-18 02:32:38Z billbarker $
+
+include ../Makedefs
+
+OBJS =  arguments.o \
+	debug.o \
+	dso-dlfcn.o \
+	dso-dyld.o \
+	help.o \
+	home.o \
+	java.o \
+	location.o \
+	replace.o \
+	signals.o
+
+all: jsvc libservice.a
+
+libservice.a: $(OBJS)
+	ar cr libservice.a $(OBJS)
+	$(RANLIB) libservice.a
+
+jsvc: jsvc-unix.o libservice.a
+	$(LDCMD) $(LDFLAGS) jsvc-unix.o libservice.a -o ../jsvc
+
+clean:
+	rm -f $(OBJS) ../jsvc jsvc-unix.o libservice.a
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile.in
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile.in	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Makefile.in	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+#
+#   Copyright 2001-2004 The Apache Software Foundation.
+# 
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+# 
+#       http://www.apache.org/licenses/LICENSE-2.0
+# 
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: Makefile.in 161711 2005-04-18 02:32:38Z billbarker $
+
+include ../Makedefs
+
+OBJS =  arguments.o \
+	debug.o \
+	dso-dlfcn.o \
+	dso-dyld.o \
+	help.o \
+	home.o \
+	java.o \
+	location.o \
+	replace.o \
+	signals.o
+
+all: jsvc libservice.a
+
+libservice.a: $(OBJS)
+	ar cr libservice.a $(OBJS)
+	$(RANLIB) libservice.a
+
+jsvc: jsvc-unix.o libservice.a
+	$(LDCMD) $(LDFLAGS) jsvc-unix.o libservice.a -o ../jsvc
+
+clean:
+	rm -f $(OBJS) ../jsvc jsvc-unix.o libservice.a
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+#!/bin/sh
+##############################################################################
+#
+#   Copyright 2001-2004 The Apache Software Foundation.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+##############################################################################
+#
+# Small shell script to show how to start/stop Tomcat using jsvc
+# If you want to have Tomcat running on port 80 please modify the server.xml
+# file:
+#
+#    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
+#    <Connector className="org.apache.catalina.connector.http.HttpConnector"
+#               port="80" minProcessors="5" maxProcessors="75"
+#               enableLookups="true" redirectPort="8443"
+#               acceptCount="10" debug="0" connectionTimeout="60000"/>
+#
+# This is for of Tomcat-4.1.x (Apache Tomcat/4.1)
+#
+# Adapt the following lines to your configuration
+JAVA_HOME=/usr/java/jdk1.3.1
+CATALINA_HOME=/home1/jakarta/jakarta-tomcat-4.1/build
+DAEMON_HOME=/home1/jakarta/jakarta-commons/daemon
+TOMCAT_USER=jakarta
+TMP_DIR=/var/tmp
+CATALINA_OPTS=
+CLASSPATH=\
+$JAVA_HOME/lib/tools.jar:\
+$DAEMON_HOME/dist/commons-daemon.jar:\
+$CATALINA_HOME/bin/bootstrap.jar
+
+case "$1" in
+  start)
+    #
+    # Start Tomcat
+    #
+    $DAEMON_HOME/src/native/unix/jsvc \
+    -user $TOMCAT_USER \
+    -home $JAVA_HOME \
+    -Dcatalina.home=$CATALINA_HOME \
+    -Djava.io.tmpdir=$TMP_DIR \
+    -outfile $CATALINA_HOME/logs/catalina.out \
+    -errfile '&1' \
+    $CATALINA_OPTS \
+    -cp $CLASSPATH \
+    org.apache.catalina.startup.BootstrapService
+    #
+    # To get a verbose JVM
+    #-verbose \
+    # To get a debug of jsvc.
+    #-debug \
+    ;;
+
+  stop)
+    #
+    # Stop Tomcat
+    #
+    PID=`cat /var/run/jsvc.pid`
+    kill $PID
+    ;;
+
+  *)
+    echo "Usage tomcat.sh start/stop"
+    exit 1;;
+esac

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat5.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat5.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/Tomcat5.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+#!/bin/sh
+##############################################################################
+#
+#   Copyright 2004 The Apache Software Foundation.
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+##############################################################################
+#
+# Small shell script to show how to start/stop Tomcat using jsvc
+# If you want to have Tomcat running on port 80 please modify the server.xml
+# file:
+#
+#    <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
+#    <Connector className="org.apache.catalina.connector.http.HttpConnector"
+#               port="80" minProcessors="5" maxProcessors="75"
+#               enableLookups="true" redirectPort="8443"
+#               acceptCount="10" debug="0" connectionTimeout="60000"/>
+#
+# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
+#
+# Adapt the following lines to your configuration
+JAVA_HOME=/home2/java/j2sdk1.4.2_03
+CATALINA_HOME=/home/tomcat5/tomcat5/jakarta-tomcat-5/build
+DAEMON_HOME=/home/jfclere/daemon
+TOMCAT_USER=tomcat5
+
+# for multi instances adapt those lines.
+TMP_DIR=/var/tmp
+PID_FILE=/var/run/jsvc.pid
+CATALINA_BASE=/home/tomcat5/tomcat5/jakarta-tomcat-5/build
+
+CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
+CLASSPATH=\
+$JAVA_HOME/lib/tools.jar:\
+$CATALINA_HOME/bin/commons-daemon.jar:\
+$CATALINA_HOME/bin/bootstrap.jar
+
+case "$1" in
+  start)
+    #
+    # Start Tomcat
+    #
+    $DAEMON_HOME/src/native/unix/jsvc \
+    -user $TOMCAT_USER \
+    -home $JAVA_HOME \
+    -Dcatalina.home=$CATALINA_HOME \
+    -Dcatalina.base=$CATALINA_BASE \
+    -Djava.io.tmpdir=$TMP_DIR \
+    -wait 10 \
+    -pidfile $PID_FILE \
+    -outfile $CATALINA_HOME/logs/catalina.out \
+    -errfile '&1' \
+    $CATALINA_OPTS \
+    -cp $CLASSPATH \
+    org.apache.catalina.startup.Bootstrap
+    #
+    # To get a verbose JVM
+    #-verbose \
+    # To get a debug of jsvc.
+    #-debug \
+    exit $?
+    ;;
+
+  stop)
+    #
+    # Stop Tomcat
+    #
+    $DAEMON_HOME/src/native/unix/jsvc \
+    -stop \
+    -pidfile $PID_FILE \
+    org.apache.catalina.startup.Bootstrap
+    exit $?
+    ;;
+
+  *)
+    echo "Usage tomcat.sh start/stop"
+    exit 1;;
+esac

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,289 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: arguments.c 165124 2005-04-28 09:36:02Z jfclere $ */
+#include "jsvc.h"
+
+/* Return the argument of a command line option */
+static char *optional(int argc, char *argv[], int argi) {
+
+    argi++;
+    if (argi>=argc) return(NULL);
+    if (argv[argi]==NULL) return(NULL);
+    if (argv[argi][0]=='-') return(NULL);
+    return(strdup(argv[argi]));
+}
+
+/* Parse command line arguments */
+static arg_data *parse(int argc, char *argv[]) {
+    arg_data *args=NULL;
+    char *temp=NULL;
+    char *cmnd=NULL;
+    int tlen=0;
+    int x=0;
+
+    /* Create the default command line arguments */
+    args=(arg_data *)malloc(sizeof(arg_data));
+    args->pidf="/var/run/jsvc.pid"; /* The default PID file */
+    args->user=NULL;            /* No user switching by default */
+    args->dtch=true;            /* Do detach from parent */
+    args->vers=false;           /* Don't display version */
+    args->help=false;           /* Don't display help */
+    args->chck=false;           /* Don't do a check-only startup */
+    args->stop=false;           /* Stop a running jsvc */
+    args->wait=0;               /* Wait until jsvc has started the JVM */
+    args->install=false;        /* Don't install as a service */
+    args->remove=false;         /* Don't remove the installed service */
+    args->service=false;        /* Don't run as a service */
+    args->name=NULL;            /* No VM version name */
+    args->home=NULL;            /* No default JAVA_HOME */
+    args->onum=0;               /* Zero arguments, but let's have some room */
+    args->opts=(char **)malloc(argc*sizeof(char *));
+    args->clas=NULL;            /* No class predefined */
+    args->anum=0;               /* Zero class specific arguments but make room*/
+    args->outfile="/dev/null";   /* Swallow by default */
+    args->errfile="/dev/null";   /* Swallow by default */
+    args->args=(char **)malloc(argc*sizeof(char *));
+    args->procname = "jsvc.exec";
+    /* Set up the command name */
+    cmnd=strrchr(argv[0],'/');
+    if (cmnd==NULL) cmnd=argv[0];
+    else cmnd++;
+    log_prog=strdup(cmnd);
+
+    /* Iterate thru command line arguments */
+    for (x=1; x<argc; x++) {
+
+        if ((strcmp(argv[x],"-cp")==0)||(strcmp(argv[x],"-classpath")==0)) {
+            temp=optional(argc,argv,x++);
+            if (temp==NULL) {
+                log_error("Invalid classpath specified");
+                return(NULL);
+            }
+            tlen=strlen(temp)+20;
+            args->opts[args->onum]=(char *)malloc(tlen*sizeof(char));
+            sprintf(args->opts[args->onum],"-Djava.class.path=%s",temp);
+            args->onum++;
+
+        } else if (strcmp(argv[x],"-jvm")==0) {
+            args->name=optional(argc,argv,x++);
+            if (args->name==NULL) {
+                log_error("Invalid Java VM name specified");
+                return(NULL);
+            }
+
+        } else if (strcmp(argv[x],"-home")==0) {
+            args->home=optional(argc,argv,x++);
+            if (args->home==NULL) {
+                log_error("Invalid Java Home specified");
+                return(NULL);
+            }
+
+        } else if (strcmp(argv[x],"-user")==0) {
+            args->user=optional(argc,argv,x++);
+            if (args->user==NULL) {
+                log_error("Invalid user name specified");
+                return(NULL);
+            }
+
+        } else if (strcmp(argv[x],"-version")==0) {
+            args->vers=true;
+            args->dtch=false;
+
+        } else if ((strcmp(argv[x],"-?")==0)||(strcmp(argv[x],"-help")==0)
+                   ||(strcmp(argv[x],"--help")==0)) {
+            args->help=true;
+            args->dtch=false;
+            return(args);
+
+        } else if (strcmp(argv[x],"-X")==0) {
+            log_error("Option -X currently unsupported");
+            log_error("Please use \"java -X\" to see your extra VM options");
+
+        } else if (strcmp(argv[x],"-debug")==0) {
+            log_debug_flag=true;
+
+        } else if (strcmp(argv[x],"-wait")==0) {
+            temp=optional(argc,argv,x++);
+            if (temp!=NULL)
+                args->wait=atoi(temp);
+            if (args->wait<10) {
+                log_error("Invalid wait time specified (min=10)");
+                return(NULL);
+            }
+
+        } else if (strcmp(argv[x],"-stop")==0) {
+            args->stop=true;
+
+        } else if (strcmp(argv[x],"-check")==0) {
+            args->chck=true;
+            args->dtch=false;
+
+        } else if (strcmp(argv[x],"-nodetach")==0) {
+            args->dtch=false;
+
+        } else if (strcmp(argv[x],"-service")==0) {
+            args->service=true;
+
+        } else if (strcmp(argv[x],"-install")==0) {
+            args->install=true;
+
+        } else if (strcmp(argv[x],"-remove")==0) {
+            args->remove=true;
+
+        } else if (strcmp(argv[x],"-pidfile")==0) {
+            args->pidf=optional(argc,argv,x++);
+            if (args->pidf==NULL) {
+                log_error("Invalid PID file specified");
+                return(NULL);
+            }
+
+        } else if(strcmp(argv[x],"-outfile") == 0) {
+            args->outfile=optional(argc, argv, x++);
+            if(args->outfile == NULL) {
+                log_error("Invalid Output File specified");
+                return(NULL);
+            }
+        } else if(strcmp(argv[x],"-errfile") == 0) {
+            args->errfile=optional(argc, argv, x++);
+            if(args->errfile == NULL) {
+                log_error("Invalid Error File specified");
+                return(NULL);
+            }
+        }else if (strstr(argv[x],"-verbose")==argv[x]) {
+            args->opts[args->onum++]=strdup(argv[x]);
+
+        } else if (strcmp(argv[x],"-D")==0) {
+            log_error("Parameter -D must be followed by <name>=<value>");
+            return(NULL);
+
+        } else if (strstr(argv[x],"-D")==argv[x]) {
+            temp=strchr(argv[x],'=');
+            if (temp==NULL) {
+                log_debug("Parameter -D must contain one '=' character");
+            }
+            if (temp==argv[x]+2) {
+                log_error("A property name must be specified before '='");
+                return(NULL);
+            }
+            args->opts[args->onum++]=strdup(argv[x]);
+
+        } else if (strstr(argv[x],"-X")==argv[x]) {
+            args->opts[args->onum++]=strdup(argv[x]);
+
+        } else if (strstr(argv[x],"-ea")==argv[x]) {
+            args->opts[args->onum++]=strdup(argv[x]);
+
+        } else if (strstr(argv[x],"-")==argv[x]) {
+            log_error("Invalid option %s",argv[x]);
+            return(NULL);
+
+        } else if (strcmp(argv[x],"-procname") == 0) {
+            args->procname = optional(argc, argv, x++);
+            if(args->procname == NULL) {
+              log_error("Invalid process name specified");
+              return (NULL);
+            }
+        } else {
+            args->clas=strdup(argv[x]);
+            break;
+        }
+    }
+
+    if (args->clas==NULL && args->remove==false) {
+        log_error("No class specified");
+        return(NULL);
+    }
+
+    x++;
+    while (x<argc) args->args[args->anum++]=strdup(argv[x++]);
+
+    return(args);
+}
+static char *IsYesNo(bool par)
+{
+    switch (par) {
+        case false: return("No");
+        case true:  return("Yes");
+    }
+    return ("[Error]");
+}
+static char *IsTrueFalse(bool par)
+{
+    switch (par) {
+        case false: return("False");
+        case true:  return("True");
+    }
+    return ("[Error]");
+}
+static char *IsEnabledDisabled(bool par)
+{
+    switch (par) {
+        case true:   return("Enabled");
+        case false:  return("Disabled");
+    }
+    return ("[Error]");
+}
+
+/* Main entry point: parse command line arguments and dump them */
+arg_data *arguments(int argc, char *argv[]) {
+    arg_data *args=parse(argc,argv);
+    int x=0;
+
+    if (args==NULL) {
+        log_error("Cannot parse command line arguments");
+        return(NULL);
+    }
+
+    if (log_debug_flag==true) {
+        char *temp;
+
+        log_debug("+-- DUMPING PARSED COMMAND LINE ARGUMENTS --------------");
+
+        log_debug("| Detach:          %s",IsTrueFalse(args->dtch));
+
+        log_debug("| Show Version:    %s",IsYesNo(args->vers));
+
+        log_debug("| Show Help:       %s",IsYesNo(args->help));
+
+        log_debug("| Check Only:      %s",IsEnabledDisabled(args->chck));
+
+        log_debug("| Stop:            %s",IsTrueFalse(args->stop));
+
+        log_debug("| Wait:            %d",args->wait);
+
+        log_debug("| Run as service:  %s",IsYesNo(args->service));
+
+        log_debug("| Install service: %s",IsYesNo(args->install));
+
+        log_debug("| Remove service:  %s",IsYesNo(args->remove));
+
+        log_debug("| JVM Name:        \"%s\"",PRINT_NULL(args->name));
+        log_debug("| Java Home:       \"%s\"",PRINT_NULL(args->home));
+        log_debug("| PID File:        \"%s\"",PRINT_NULL(args->pidf));
+        log_debug("| User Name:       \"%s\"",PRINT_NULL(args->user));
+
+        log_debug("| Extra Options:   %d",args->onum);
+        for (x=0; x<args->onum; x++) log_debug("|   \"%s\"",args->opts[x]);
+
+        log_debug("| Class Invoked:   \"%s\"",PRINT_NULL(args->clas));
+
+        log_debug("| Class Arguments: %d",args->anum);
+        for (x=0; x<args->anum; x++)log_debug("|   \"%s\"",args->args[x]);
+        log_debug("+-------------------------------------------------------");
+    }
+
+    return(args);
+}

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/arguments.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,85 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: arguments.h 165124 2005-04-28 09:36:02Z jfclere $ */
+#ifndef __JSVC_ARGUMENTS_H__
+#define __JSVC_ARGUMENTS_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * The structure holding all parsed command line options.
+ */
+typedef struct {
+    /** The name of the PID file. */
+    char *pidf;
+    /** The name of the user. */
+    char *user;
+    /** The name of the JVM to use. */
+    char *name;
+    /** The JDK or JRE installation path (JAVA_HOME). */
+    char *home;
+    /** Options used to invoke the JVM. */
+    char **opts;
+    /** Number of JVM options. */
+    int onum;
+    /** The name of the class to invoke. */
+    char *clas;
+    /** Command line arguments to the class. */
+    char **args;
+    /** Number of class command line arguments. */
+    int anum;
+    /** Wether to detach from parent process or not. */
+    bool dtch;
+    /** Wether to print the VM version number or not. */
+    bool vers;
+    /** Wether to display the help page or not. */
+    bool help;
+    /** Only check environment without running the service. */
+    bool chck;
+    /** Stop running jsvc */
+    bool stop;
+    /** number of seconds to until service started */
+    int wait;
+    /** Install as a service (win32) */
+    bool install;
+    /** Remove when installed as a service (win32) */
+    bool remove;
+    /** Run as a service (win32) */
+    bool service;
+    /** Destination for stdout */
+    char *outfile;
+    /** Destination for stderr */
+    char *errfile;
+    /** Program name for Linux **/
+    char *procname;
+} arg_data;
+
+/**
+ * Parse command line arguments.
+ *
+ * @param argc The number of command line arguments.
+ * @param argv Pointers to the different arguments.
+ * @return A pointer to a arg_data structure containing the parsed command
+ *         line arguments, or NULL if an error was detected.
+ */
+arg_data *arguments(int argc, char *argv[]);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* ifndef __JSVC_ARGUMENTS_H__ */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: debug.c 165119 2005-04-28 09:00:08Z jfclere $ */
+#include "jsvc.h"
+#include <sys/types.h>
+#include <unistd.h>
+#include <time.h> 
+
+/* Wether debug is enabled or not */
+bool log_debug_flag = false;
+
+/* The name of the jsvc binary. */
+char *log_prog = "jsvc";
+
+/* Dump a debug message to stderr */
+void log_debug(const char *fmt, ...) {
+    va_list ap;
+    time_t now;
+    struct tm *nowtm;
+    char buff[80];
+
+    if (log_debug_flag==false) return;
+    if (fmt==NULL) return;
+
+    now = time(NULL);
+    nowtm = localtime(&now);
+    strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
+
+    va_start(ap,fmt);
+    fprintf(stderr,"%s %d %s debug: ", buff,  getpid(), log_prog);
+    vfprintf(stderr,fmt,ap);
+    fprintf(stderr,"\n");
+    fflush(stderr);
+    va_end(ap);
+}
+
+/* Dump an error message to stderr */
+void log_error(const char *fmt, ...) {
+    va_list ap;
+    time_t now;
+    struct tm *nowtm;
+    char buff[80];
+
+    if (fmt==NULL) return;
+
+    now = time(NULL);
+    nowtm = localtime(&now);
+    strftime(buff, sizeof(buff), "%d/%m/%Y %T", nowtm);
+
+    va_start(ap,fmt);
+    fprintf(stderr,"%s %d %s error: ", buff, getpid(), log_prog);
+    vfprintf(stderr,fmt,ap);
+    fprintf(stderr,"\n");
+    fflush(stderr);
+    va_end(ap);
+}
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/debug.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: debug.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#ifndef __JSVC_DEBUG_H__
+#define __JSVC_DEBUG_H__
+
+/**
+ * Wether debugging is enabled or not.
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern bool log_debug_flag;
+
+/**
+ * The name of the jsvc binary.
+ */
+extern char *log_prog;
+
+/**
+ * Helper macro to avoid NPEs in printf.
+ */
+#define PRINT_NULL(x) ((x) == NULL ? "null" : (x))
+
+/**
+ * Dump a debug message.
+ *
+ * @param fmt The printf style message format.
+ * @param ... Any optional parameter for the message.
+ */
+void log_debug(const char *fmt, ...);
+
+/**
+ * Dump an error message.
+ *
+ * @param fmt The printf style message format.
+ * @param ... Any optional parameter for the message.
+ */
+void log_error(const char *fmt, ...);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ifndef __JSVC_DEBUG_H__ */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dlfcn.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dlfcn.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dlfcn.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: dso-dlfcn.c 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+#ifdef DSO_DLFCN
+
+#include <dlfcn.h>
+
+#ifdef OS_LINUX
+bool ld_library_path_set=false;
+#endif /* ifdef OS_LINUX */
+
+/* Initialize all DSO stuff */
+bool dso_init() {
+    return(true);
+}
+
+/* Attempt to link a library from a specified filename */
+dso_handle dso_link(const char *path) {
+    log_debug("Attemtping to load library %s",path);
+
+    return((void *)dlopen(path,RTLD_GLOBAL|RTLD_NOW));
+}
+
+/* Attempt to unload a library */
+bool dso_unlink(dso_handle libr) {
+    if (dlclose(libr)==0) return(true);
+    else return(false);
+}
+
+/* Get the address for a specifed symbol */
+void *dso_symbol(dso_handle hdl, const char *nam) {
+    return(dlsym(hdl,nam));
+}
+
+/* Return the error message from dlopen */
+char *dso_error() {
+    return(dlerror());
+}
+
+#endif /* ifdef DSO_DLFCN */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dyld.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dyld.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso-dyld.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,131 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: dso-dyld.c 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+#ifdef DSO_DYLD
+
+#include <mach-o/dyld.h>
+
+/* Print an error message and abort all if a specified symbol wasn't found */
+static void nosymbol(const char *s) {
+    log_error("Cannot find symbol '%s' in library",s);
+    abort();
+}
+
+/* We found two symbols for the same name in two different modules */
+static NSModule multiple(NSSymbol s, NSModule om, NSModule nm) {
+    NSModule ret=nm;
+
+    log_debug("Symbol \"%s\" found in modules \"%s\" and \"%s\" (using %s)",
+        NSNameOfSymbol(s), NSNameOfModule(om), NSNameOfModule(nm),
+        NSNameOfModule(ret));
+
+    return(ret);
+}
+
+/* We got an error while linking a module, and if it's not a warning we have
+   to abort the whole program */
+static void linkedit(NSLinkEditErrors category, int number, const char *file,
+                     const char *message) {
+    log_error("Errors during link edit of file \"%s\" (error=%d): %s", file,
+              number,message);
+    /* Check if this error was only a warning */
+    if (category!=NSLinkEditWarningError) {
+        log_error("Cannot continue");
+        abort();
+    }
+}
+
+/* Initialize all DSO stuff */
+bool dso_init() {
+    NSLinkEditErrorHandlers h;
+
+    h.undefined=nosymbol;
+    h.multiple=multiple;
+    h.linkEdit=linkedit;
+
+    NSInstallLinkEditErrorHandlers(&h);
+    return(true);
+}
+
+/* Attempt to link a library from a specified filename */
+dso_handle dso_link(const char *path) {
+    /* We need to load the library publically as NSModuleFileImage is not
+       yet implemented (at least for non MH_BUNDLE libraries */
+    if (NSAddLibrary(path)!=TRUE) return(NULL);
+    /* We need to return a non-null value, even if it has no meaning. One day
+       this whole crap will be fixed */
+    return((void *)!NULL);
+}
+
+/* Attempt to unload a library */
+bool dso_unlink(dso_handle libr) {
+    /* Check the handle */
+    if (libr==NULL) {
+        log_error("Attempting to unload a module without handle");
+        return(false);
+    }
+
+    /* We don't have a module, so, we don't really have to do anything */
+    return(true);
+}
+
+/* Get the address for a specifed symbol */
+void *dso_symbol(dso_handle hdl, const char *nam) {
+    NSSymbol sym=NULL;
+    NSModule mod=NULL;
+    char *und=NULL;
+    void *add=NULL;
+    int x=0;
+
+    /* Check parameters */
+    if (hdl==NULL) {
+        log_error("Invalid library handler specified");
+        return(NULL);
+    }
+
+    if (nam==NULL) {
+        log_error("Invalid symbol name specified");
+        return(NULL);
+    }
+
+    /* Process the correct name (add a _ before the name) */
+    while (nam[x]!='\0') x++;
+    und=(char*)malloc(sizeof(char)*(x+2));
+    while(x>=0) und[x+1]=nam[x--];
+    und[0]='_';
+
+    /* Find the symbol */
+    sym=NSLookupAndBindSymbol(und);
+    free(und);
+    if (sym==NULL) return(NULL);
+
+    /* Dump some debugging output since this part is shaky */
+    mod=NSModuleForSymbol(sym);
+    add=NSAddressOfSymbol(sym);
+    log_debug("Symbol \"%s\" found in module \"%s\" at address \"0x%08X\"",
+              NSNameOfSymbol(sym),NSNameOfModule(mod),add);
+
+    /* We want to return the address of the symbol */
+    return(add);
+}
+/* Return the error message from dlopen: Well we already print it */
+char *dso_error() {
+    return("no additional message");
+}
+
+#endif /* ifdef DSO_DYLD */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/dso.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: dso.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+/**
+ * A library handle represents a unique pointer to its location in memory.
+ */
+typedef void *dso_handle;
+
+bool dso_init(void);
+dso_handle dso_link(const char *pth);
+bool dso_unlink(dso_handle lib);
+void *dso_symbol(dso_handle lib, const char *nam);

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: help.c 169613 2005-05-11 09:52:00Z jfclere $ */
+#include "jsvc.h"
+
+void help(home_data *data) {
+    int x;
+
+    printf("Usage: %s [-options] class [args...]\n",log_prog);
+    printf("\n");
+    printf("Where options include:\n");
+    printf("\n");
+
+    printf("    -jvm <JVM name>\n");
+    printf("        use a specific Java Virtual Machine. Available JVMs:\n");
+    printf("           ");
+    for (x=0; x<data->jnum; x++) {
+      printf(" '%s'",PRINT_NULL(data->jvms[x]->name));
+    }
+    printf("\n");
+
+    printf("    -cp / -classpath <directories and zip/jar files>\n");
+    printf("        set search path for service classes and resouces\n");
+
+    printf("    -home <directory>\n");
+    printf("        set the path of your JDK or JRE installation (or set\n");
+    printf("        the JAVA_HOME environment variable)\n");
+
+    printf("    -version\n");
+    printf("        show the current Java environment version (to check\n");
+    printf("        correctness of -home and -jvm. Implies -nodetach)\n");
+
+    printf("    -help / -?\n");
+    printf("        show this help page (implies -nodetach)\n");
+
+    printf("    -nodetach\n");
+    printf("        don't detach from parent process and become a daemon\n");
+
+    printf("    -debug\n");
+    printf("        verbosely print debugging information\n");
+
+    printf("    -check\n");
+    printf("        only check service (implies -nodetach)\n");
+ 
+    printf("    -user <user>\n");
+    printf("        user used to run the daemon (defaults to current user)\n");
+ 
+    printf("    -verbose[:class|gc|jni]\n");
+    printf("        enable verbose output\n");
+ 
+    printf("    -outfile </full/path/to/file>\n");
+    printf("        Location for output from stdout (defaults to /dev/null)\n");
+    printf("        Use the value '&2' to simulate '1>&2'\n");
+
+    printf("    -errfile </full/path/to/file>\n");
+    printf("        Location for output from stderr (defaults to /dev/null)\n");
+    printf("        Use the value '&1' to simulate '2>&1'\n");
+
+    printf("    -pidfile </full/path/to/file>\n");
+    printf("        Location for output from the file containing the pid of jsvc\n");
+    printf("        (defaults to /var/run/jsvc.pid)\n");
+
+    printf("    -D<name>=<value>\n");
+    printf("        set a Java system property\n");
+
+    printf("    -X<option>\n");
+    printf("        set Virtual Machine specific option\n");
+
+    printf("    -wait <waittime>\n");
+    printf("        wait waittime seconds for the service to start\n");
+    printf("        waittime should multiple of 10 (min=10)\n");
+
+    printf("    -stop\n");
+    printf("        stop the service using the file given in the -pidfile option\n");
+
+    printf("\n");
+}

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/help.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: help.h 155409 2005-02-26 12:57:06Z dirkv $ */
+void help(home_data *data);

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,243 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: home.c 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+/* Check if a path is a directory */
+static bool checkdir(char *path) {
+    struct stat home;
+
+    if (path==NULL) return(false);
+    if (stat(path,&home)!=0) return(false);
+    if (S_ISDIR(home.st_mode)) return(true);
+    return(false);
+}
+
+/* Check if a path is a file */
+static bool checkfile(char *path) {
+    struct stat home;
+
+    if (path==NULL) return(false);
+    if (stat(path,&home)!=0) return(false);
+    if (S_ISREG(home.st_mode)) return(true);
+    return(false);
+}
+
+/* Parse a VM configuration file */
+static bool parse(home_data *data) {
+    FILE *cfgf=fopen(data->cfgf,"r");
+    char *ret=NULL, *sp;
+    char buf[1024];
+
+    if (cfgf==NULL) {
+      log_debug("Can't open %s\n",data->cfgf);
+      return(false);
+    }
+
+    data->jvms=(home_jvm **)malloc(256*sizeof(home_jvm *));
+
+    while((ret=fgets(buf,1024,cfgf))!=NULL) {
+        char *tmp=strchr(ret,'#');
+        int pos;
+
+        /* Clear the string at the first occurrence of '#' */
+        if (tmp!=NULL) tmp[0]='\0';
+
+        /* Trim the string (including leading '-' chars */
+        while((ret[0]==' ')||(ret[0]=='\t')||(ret[0]=='-')) ret++;
+        pos=strlen(ret);
+        while(pos>=0) {
+            if ((ret[pos]=='\r')||(ret[pos]=='\n')||(ret[pos]=='\t')||
+                (ret[pos]=='\0')||(ret[pos]==' ')) {
+                ret[pos--]='\0';
+            } else break;
+        }
+        /* Format changed for 1.4 JVMs */
+        sp = strchr(ret, ' ');
+        if(sp != NULL)
+            *sp = '\0';
+
+        /* Did we find something significant? */
+        if (strlen(ret)>0) {
+            char *libf=NULL;
+            int x=0;
+
+            log_debug("Found VM %s definition in configuration",ret);
+            while(location_jvm_configured[x]!=NULL) {
+                char *orig=location_jvm_configured[x];
+                char temp[1024];
+                char repl[1024];
+                int k;
+
+                k=replace(temp,1024,orig,"$JAVA_HOME",data->path);
+                if (k!=0) {
+                    log_error("Can't replace home in VM library (%d)",k);
+                    return(false);
+                }
+                k=replace(repl,1024,temp,"$VM_NAME",ret);
+                if (k!=0) {
+                    log_error("Can't replace name in VM library (%d)",k);
+                    return(false);
+                }
+
+                log_debug("Checking library %s",repl);
+                if (checkfile(repl)) {
+                    libf=strdup(repl);
+                    break;
+                }
+                x++;
+            }
+
+            if (libf==NULL) {
+                log_debug("Cannot locate library for VM %s (skipping)",ret);
+            } else {
+                data->jvms[data->jnum]=(home_jvm *)malloc(sizeof(home_jvm));
+                data->jvms[data->jnum]->name=strdup(ret);
+                data->jvms[data->jnum]->libr=libf;
+                data->jnum++;
+                data->jvms[data->jnum]=NULL;
+            }
+        }
+    }
+    return(true);
+}
+
+/* Build a Java Home structure for a path */
+static home_data *build(char *path) {
+    home_data *data=NULL;
+    char *cfgf=NULL;
+    char buf[1024];
+    int x=0;
+    int k=0;
+
+    if (path==NULL) return(NULL);
+
+    log_debug("Attempting to locate Java Home in %s",path);
+    if (checkdir(path)==false) {
+        log_debug("Path %s is not a directory",path);
+        return(NULL);
+    }
+
+    while(location_jvm_cfg[x]!=NULL) {
+        if ((k=replace(buf,1024,location_jvm_cfg[x],"$JAVA_HOME",path))!=0) {
+            log_error("Error replacing values for jvm.cfg (%d)",k);
+            return(NULL);
+        }
+        log_debug("Attempting to locate VM configuration file %s",buf);
+        if(checkfile(buf)==true) {
+            log_debug("Found VM configuration file at %s",buf);
+            cfgf=strdup(buf);
+            break;
+        }
+        x++;
+    }
+
+    data=(home_data *)malloc(sizeof(home_data));
+    data->path=strdup(path);
+    data->cfgf=cfgf;
+    data->jvms=NULL;
+    data->jnum=0;
+
+    /* We don't have a jvm.cfg configuration file, so all we have to do is
+       trying to locate the "default" Java Virtual Machine library */
+    if (cfgf==NULL) {
+        log_debug("VM configuration file not found");
+        x=0;
+        while(location_jvm_default[x]!=NULL) {
+            char *libr=location_jvm_default[x];
+
+            if ((k=replace(buf,1024,libr,"$JAVA_HOME",path))!=0) {
+                log_error("Error replacing values for JVM library (%d)",k);
+                return(NULL);
+            }
+            log_debug("Attempting to locate VM library %s",buf);
+            if (checkfile(buf)==true) {
+                data->jvms=(home_jvm **)malloc(2*sizeof(home_jvm *));
+                data->jvms[0]=(home_jvm *)malloc(sizeof(home_jvm));
+                data->jvms[0]->name=NULL;
+                data->jvms[0]->libr=strdup(buf);
+                data->jvms[1]=NULL;
+                data->jnum=1;
+                return(data);
+            }
+            x++;
+        }
+
+        return(data);
+    }
+
+    /* If we got here, we most definitely found a jvm.cfg file */
+    if (parse(data)==false) {
+        log_error("Cannot parse VM configuration file %s",data->cfgf);
+    }
+
+    return(data);
+}
+
+/* Find the Java Home */
+static home_data *find(char *path) {
+    home_data *data=NULL;
+    int x=0;
+
+    if (path==NULL) {
+        log_debug("Home not specified on command line, using environment");
+        path=getenv("JAVA_HOME");
+    }
+
+    if (path==NULL) {
+        log_debug("Home not on command line or in environment, searching");
+        while (location_home[x]!=NULL) {
+            if ((data=build(location_home[x]))!=NULL) {
+                log_debug("Java Home located in %s",data->path);
+                return(data);
+            }
+            x++;
+        }
+    } else {
+        if ((data=build(path))!=NULL) {
+            log_debug("Java Home located in %s",data->path);
+            return(data);
+        }
+    }
+
+    return(NULL);
+}
+
+/* Main entry point: locate home and dump structure */
+home_data *home(char *path) {
+    home_data *data=find(path);
+    int x=0;
+
+    if (data==NULL) {
+        log_error("Cannot locate Java Home");
+        return(NULL);
+    }
+
+    if (log_debug_flag==true) {
+        log_debug("+-- DUMPING JAVA HOME STRUCTURE ------------------------");
+        log_debug("| Java Home:       \"%s\"",PRINT_NULL(data->path));
+        log_debug("| Java VM Config.: \"%s\"",PRINT_NULL(data->cfgf));
+        log_debug("| Found JVMs:      %d",data->jnum);
+        for (x=0; x<data->jnum; x++) {
+            home_jvm *jvm=data->jvms[x];
+            log_debug("| JVM Name:        \"%s\"",PRINT_NULL(jvm->name));
+            log_debug("|                  \"%s\"",PRINT_NULL(jvm->libr));
+        }
+        log_debug("+-------------------------------------------------------");
+    }
+
+    return(data);
+}

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/home.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: home.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#ifndef __JSVC_HOME_H__
+#define __JSVC_HOME_H__
+
+typedef struct home_jvm home_jvm;
+typedef struct home_data home_data;
+
+struct home_jvm {
+    char *name;
+    char *libr;
+};
+
+struct home_data {
+    char *path;
+    char *cfgf;
+    home_jvm **jvms;
+    int jnum;
+};
+
+/**
+ * Attempt to locate a Java Home directory and build its structure.
+ *
+ * @param path The java home path specified on the command line.
+ * @return A home_data structure containing all informations related to
+ *         the Java environment, or NULL if no home was found.
+ */
+home_data *home(char *path);
+
+#endif /* ifndef __JSVC_HOME_H__ */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,507 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: java.c 169326 2005-05-09 15:14:56Z jfclere $ */
+#include "jsvc.h"
+
+#ifdef OS_CYGWIN
+typedef long long __int64;
+#endif
+#include <jni.h>
+
+#ifdef CHARSET_EBCDIC
+#ifdef OSD_POSIX
+#include <ascii_ebcdic.h>
+#define jsvc_xlate_to_ascii(b) _e2a(b)
+#define jsvc_xlate_from_ascii(b) _a2e(b)
+#endif
+#else
+#define jsvc_xlate_to_ascii(b) /* NOOP */
+#define jsvc_xlate_from_ascii(b) /* NOOP */
+#endif
+
+static JavaVM *jvm=NULL;
+static JNIEnv *env=NULL;
+static jclass cls=NULL;
+
+#define FALSE 0
+#define TRUE !FALSE
+
+static void shutdown(JNIEnv *env, jobject source, jboolean reload) {
+    log_debug("Shutdown requested (reload is %d)",reload);
+    if (reload==TRUE) main_reload();
+    else main_shutdown();
+}
+/* Automaticly restart when the JVM crashes */
+static void java_abort123()
+{
+    exit(123);
+}
+
+char *java_library(arg_data *args, home_data *data) {
+    char *libf=NULL;
+
+    /* Did we find ANY virtual machine? */
+    if (data->jnum==0) {
+        log_error("Cannot find any VM in Java Home %s",data->path);
+        return(false);
+    }
+
+    /* Select the VM */
+    if (args->name==NULL) {
+        libf=data->jvms[0]->libr;
+        log_debug("Using default JVM in %s",libf);
+    } else {
+        int x;
+        for (x=0; x<data->jnum; x++) {
+            if (data->jvms[x]->name==NULL) continue;
+            if (strcmp(args->name,data->jvms[x]->name)==0) {
+                libf=data->jvms[x]->libr;
+                log_debug("Using specific JVM in %s",libf);
+                break;
+            }
+        }
+        if (libf==NULL) {
+            log_error("Invalid JVM name specified %s",args->name);
+            return(NULL);
+        }
+    }
+    return(libf);
+}
+
+/* Initialize the JVM and its environment, loading libraries and all */
+bool java_init(arg_data *args, home_data *data) {
+#ifdef OS_DARWIN
+    dso_handle apph=NULL;
+    char appf[1024];
+    struct stat sb;
+#endif /* ifdef OS_DARWIN */
+    jint (*symb)(JavaVM **, JNIEnv **, JavaVMInitArgs *);
+    JNINativeMethod nativemethod;
+    JavaVMOption *opt=NULL;
+    dso_handle libh=NULL;
+    JavaVMInitArgs arg;
+    char *libf=NULL;
+    jint ret;
+    int x;
+    char loaderclass[]=LOADER;
+    char shutdownclass[]="shutdown";
+    char shutdownparams[]="(Z)V";
+
+    /* Decide WHAT virtual machine we need to use */
+    libf=java_library(args,data);
+    if (libf==NULL) {
+        log_error("Cannot locate JVM library file");
+        return(false);
+    }
+
+    /* Initialize the DSO library */
+    if (dso_init()!=true) {
+        log_error("Cannot initialize the dynamic library loader");
+        return(false);
+    }
+
+    /* Load the JVM library */
+#ifdef OSD_POSIX
+#else
+    libh=dso_link(libf);
+    if (libh==NULL) {
+        log_error("Cannot dynamically link to %s",libf);
+        log_error("%s",dso_error());
+        return(false);
+    }
+    log_debug("JVM library %s loaded",libf);
+#endif
+
+#ifdef OS_DARWIN
+    /*
+       MacOS/X actually has two libraries, one with the REAL vm, and one for
+       the VM startup.
+       before JVM 1.4.1 The first one (libappshell.dyld) contains CreateVM
+       after JVM 1.4.1 The library name is libjvm_compat.dylib.
+    */
+    if (replace(appf,1024,"$JAVA_HOME/../Libraries/libappshell.dylib",
+                 "$JAVA_HOME",data->path)!=0) {
+        log_error("Cannot replace values in loader library");
+        return(false);
+    }
+    if (stat(appf, &sb)) {
+        if (replace(appf,1024,"$JAVA_HOME/../Libraries/libjvm_compat.dylib",
+                    "$JAVA_HOME",data->path)!=0) {
+            log_error("Cannot replace values in loader library");
+            return(false);
+        }
+    }
+    apph=dso_link(appf);
+    if (apph==NULL) {
+        log_error("Cannot load required shell library %s",appf);
+        return(false);
+    }
+    log_debug("Shell library %s loaded",appf);
+#endif /* ifdef OS_DARWIN */
+#ifdef OSD_POSIX
+#else
+    symb=dso_symbol(libh,"JNI_CreateJavaVM");
+    if (symb==NULL) {
+#ifdef OS_DARWIN
+        symb=dso_symbol(apph,"JNI_CreateJavaVM");
+        if (symb==NULL) {
+#endif /* ifdef OS_DARWIN */
+            log_error("Cannot find JVM library entry point");
+            return(false);
+#ifdef OS_DARWIN
+        }
+#endif /* ifdef OS_DARWIN */
+    }
+    log_debug("JVM library entry point found (0x%08X)",symb);
+#endif
+
+    /* Prepare the VM initialization arguments */
+    
+    /*
+    	Mac OS X Java will load JVM 1.3.1 instead of 1.4.2 if JNI_VERSION_1_2
+    	is specified. So use JNI_VERSION_1_4 if we can.
+    */
+    #if defined(JNI_VERSION_1_4)
+        arg.version=JNI_VERSION_1_4;
+    #else
+        arg.version=JNI_VERSION_1_2;
+    #endif
+#ifdef OSD_POSIX_JFC
+    if (JNI_GetDefaultJavaVMInitArgs(&arg)<0) {
+        log_error("Cannot init default JVM default args");
+        return(false);
+    }
+#endif
+    arg.ignoreUnrecognized=FALSE;
+    arg.nOptions=args->onum;
+    arg.nOptions++; /* Add abort code */
+    opt=(JavaVMOption *)malloc(arg.nOptions*sizeof(JavaVMOption));
+    for (x=0; x<args->onum; x++) {
+        opt[x].optionString=strdup(args->opts[x]);
+        jsvc_xlate_to_ascii(opt[x].optionString);
+        opt[x].extraInfo=NULL;
+    }
+    opt[x].optionString=strdup("abort");
+    jsvc_xlate_to_ascii(opt[x].optionString);
+    opt[x].extraInfo=java_abort123;
+    arg.options=opt;
+
+    /* Do some debugging */
+    if (log_debug_flag==true) {
+        log_debug("+-- DUMPING JAVA VM CREATION ARGUMENTS -----------------");
+        log_debug("| Version:                       %x",arg.version);
+        log_debug("| Ignore Unrecognized Arguments: %s",
+                  arg.ignoreUnrecognized==TRUE?"True":"False");
+        log_debug("| Extra options:                 %d",arg.nOptions);
+
+        for (x=0; x<args->onum; x++) {
+            jsvc_xlate_from_ascii(opt[x].optionString);
+            log_debug("|   \"%s\" (0x%08x)",opt[x].optionString,
+                      opt[x].extraInfo);
+            jsvc_xlate_to_ascii(opt[x].optionString);
+        }
+        log_debug("+-------------------------------------------------------");
+    }
+
+    /* And finally create the Java VM */
+#ifdef OSD_POSIX
+    ret=JNI_CreateJavaVM(&jvm, &env, &arg);
+#else
+    ret=(*symb)(&jvm, &env, &arg);
+#endif
+    if (ret<0) {
+        log_error("Cannot create Java VM");
+        return(false);
+    }
+    log_debug("Java VM created successfully");
+
+    jsvc_xlate_to_ascii(loaderclass);
+    cls=(*env)->FindClass(env,loaderclass);
+    jsvc_xlate_from_ascii(loaderclass);
+    if (cls==NULL) {
+        log_error("Cannot find daemon loader %s",loaderclass);
+        return(false);
+    }
+    log_debug("Class %s found",loaderclass);
+
+    jsvc_xlate_to_ascii(shutdownclass);
+    nativemethod.name=shutdownclass;
+    jsvc_xlate_to_ascii(shutdownparams);
+    nativemethod.signature=shutdownparams;
+    nativemethod.fnPtr=shutdown;
+    if((*env)->RegisterNatives(env,cls,&nativemethod,1)!=0) {
+        log_error("Cannot register native methods");
+        return(false);
+    }
+    log_debug("Native methods registered");
+
+    return(true);
+}
+
+/* Destroy the Java VM */
+bool JVM_destroy(int exit) {
+    jclass system=NULL;
+    jmethodID method;
+    char System[]="java/lang/System";
+    char exitclass[]="exit";
+    char exitparams[]="(I)V"; 
+
+    jsvc_xlate_to_ascii(System); 
+    system=(*env)->FindClass(env,System);
+    jsvc_xlate_from_ascii(System);
+    if (system==NULL) {
+        log_error("Cannot find class %s",System);
+        return(false);
+    }
+
+    jsvc_xlate_to_ascii(exitclass);
+    jsvc_xlate_to_ascii(exitparams);
+    method=(*env)->GetStaticMethodID(env,system,exitclass,exitparams);
+    if (method==NULL) {
+        log_error("Cannot find \"System.exit(int)\" entry point");
+        return(false);
+    }
+
+    log_debug("Calling System.exit(%d)",exit);
+    (*env)->CallStaticVoidMethod(env,system,method,(jint)exit);
+
+    /* We shouldn't get here, but just in case... */
+    log_debug("Destroying the Java VM");
+    if ((*jvm)->DestroyJavaVM(jvm)!=0) return(false);
+    log_debug("Java VM destroyed");
+    return(true);
+}
+
+/* Call the load method in our DaemonLoader class */
+bool java_load(arg_data *args) {
+    jclass stringClass=NULL;
+    jstring className=NULL;
+    jstring currentArgument=NULL;
+    jobjectArray stringArray=NULL;
+    jmethodID method=NULL;
+    jboolean ret=FALSE;
+    int x;
+    char lang[]="java/lang/String";
+    char load[]="load";
+    char loadparams[]="(Ljava/lang/String;[Ljava/lang/String;)Z";
+
+    jsvc_xlate_to_ascii(args->clas);
+    className=(*env)->NewStringUTF(env,args->clas);
+    jsvc_xlate_from_ascii(args->clas);
+    if (className==NULL) {
+        log_error("Cannot create string for class name");
+        return(false);
+    }
+
+    jsvc_xlate_to_ascii(lang);
+    stringClass=(*env)->FindClass(env,lang);
+    jsvc_xlate_from_ascii(lang);
+    if (stringClass==NULL) {
+        log_error("Cannot find class java/lang/String");
+        return(false);
+    }
+
+    stringArray=(*env)->NewObjectArray(env,args->anum,stringClass,NULL);
+    if (stringArray==NULL) {
+        log_error("Cannot create arguments array");
+        return(false);
+    }
+
+    for (x=0; x<args->anum; x++) {
+        jsvc_xlate_to_ascii(args->args[x]);
+        currentArgument=(*env)->NewStringUTF(env,args->args[x]);
+        jsvc_xlate_from_ascii(args->args[x]);
+        if (currentArgument==NULL) {
+            log_error("Cannot create string for argument %s",args->args[x]);
+            return(false);
+        }
+        (*env)->SetObjectArrayElement(env,stringArray,x,currentArgument);
+    }
+
+    jsvc_xlate_to_ascii(load);
+    jsvc_xlate_to_ascii(loadparams);
+    method=(*env)->GetStaticMethodID(env,cls,load,loadparams);
+    if (method==NULL) {
+        log_error("Cannot find Daemon Loader \"load\" entry point");
+        return(false);
+    }
+
+    ret=(*env)->CallStaticBooleanMethod(env,cls,method,className,stringArray);
+    if (ret==FALSE) {
+        log_error("Cannot load daemon");
+        return(false);
+    }
+
+    log_debug("Daemon loaded successfully");
+    return(true);
+}
+
+/* Call the start method in our daemon loader */
+bool java_start(void) {
+    jmethodID method;
+    jboolean ret;
+    char start[]="start";
+    char startparams[]="()Z";
+
+    jsvc_xlate_to_ascii(start);
+    jsvc_xlate_to_ascii(startparams); 
+    method=(*env)->GetStaticMethodID(env,cls,start,startparams);
+    if (method==NULL) {
+        log_error("Cannot find Daemon Loader \"start\" entry point");
+        return(false);
+    }
+
+    ret=(*env)->CallStaticBooleanMethod(env,cls,method);
+    if (ret==FALSE) {
+        log_error("Cannot start daemon");
+        return(false);
+    }
+
+    log_debug("Daemon started successfully");
+    return(true);
+}
+
+/*
+ * call the java sleep to prevent problems with threads
+ */
+void java_sleep(int wait) {
+    jclass clsThread;
+    jmethodID method;
+    char jsleep[]="sleep";
+    char jsleepparams[]="(J)V";
+    char jthread[]="java/lang/Thread"; 
+ 
+    jsvc_xlate_to_ascii(jsleep);
+    jsvc_xlate_to_ascii(jsleepparams);
+    jsvc_xlate_to_ascii(jthread);
+
+    clsThread = (*env)->FindClass(env,jthread);
+    if (clsThread==NULL) {
+        log_error("Cannot find java/lang/Thread class");
+        return;
+    }
+    method=(*env)->GetStaticMethodID(env,clsThread,jsleep,jsleepparams);
+    if (method==NULL) {
+        log_error("Cannot found the sleep entry point");
+        return;
+    }
+ 
+    (*env)->CallStaticVoidMethod(env,clsThread,method,(jlong)wait*1000);
+}
+
+/* Call the stop method in our daemon loader */
+bool java_stop(void) {
+    jmethodID method;
+    jboolean ret;
+    char stop[]="stop";
+    char stopparams[]="()Z";
+
+    jsvc_xlate_to_ascii(stop);
+    jsvc_xlate_to_ascii(stopparams); 
+    method=(*env)->GetStaticMethodID(env,cls,stop,stopparams);
+    if (method==NULL) {
+        log_error("Cannot found Daemon Loader \"stop\" entry point");
+        return(false);
+    }
+
+    ret=(*env)->CallStaticBooleanMethod(env,cls,method);
+    if (ret==FALSE) {
+        log_error("Cannot stop daemon");
+        return(false);
+    }
+
+    log_debug("Daemon stopped successfully");
+    return(true);
+}
+
+/* Call the version method in our daemon loader */
+bool java_version(void) {
+    jmethodID method;
+    char version[]="version";
+    char versionparams[]="()Z";
+
+    jsvc_xlate_to_ascii(version);
+    jsvc_xlate_to_ascii(versionparams); 
+    method=(*env)->GetStaticMethodID(env,cls,version,versionparams);
+    if (method==NULL) {
+        log_error("Cannot found Daemon Loader \"version\" entry point");
+        return(false);
+    }
+
+    (*env)->CallStaticVoidMethod(env,cls,method);
+    return(true);
+}
+
+/* Call the check method in our DaemonLoader class */
+bool java_check(arg_data *args) {
+    jstring className=NULL;
+    jmethodID method=NULL;
+    jboolean ret=FALSE;
+    char check[]="check";
+    char checkparams[]="(Ljava/lang/String;)Z";
+
+    log_debug("Checking daemon");
+
+    jsvc_xlate_to_ascii(args->clas);
+    className=(*env)->NewStringUTF(env,args->clas);
+    jsvc_xlate_from_ascii(args->clas);
+    if (className==NULL) {
+        log_error("Cannot create string for class name");
+        return(false);
+    }
+
+    jsvc_xlate_to_ascii(check);
+    jsvc_xlate_to_ascii(checkparams);
+    method=(*env)->GetStaticMethodID(env,cls,check,checkparams);
+    if (method==NULL) {
+        log_error("Cannot found Daemon Loader \"check\" entry point");
+        return(false);
+    }
+
+    ret=(*env)->CallStaticBooleanMethod(env,cls,method,className);
+    if (ret==FALSE) {
+        log_error("An error was detected checking the %s daemon",args->clas);
+        return(false);
+    }
+
+    log_debug("Daemon checked successfully");
+    return(true);
+}
+
+/* Call the destroy method in our daemon loader */
+bool java_destroy(void) {
+    jmethodID method;
+    jboolean ret;
+    char destroy[]="destroy";
+    char destroyparams[]="()Z";
+
+    jsvc_xlate_to_ascii(destroy);
+    jsvc_xlate_to_ascii(destroyparams); 
+    method=(*env)->GetStaticMethodID(env,cls,destroy,destroyparams);
+    if (method==NULL) {
+        log_error("Cannot found Daemon Loader \"destroy\" entry point");
+        return(false);
+    }
+
+    ret=(*env)->CallStaticBooleanMethod(env,cls,method);
+    if (ret==FALSE) {
+        log_error("Cannot destroy daemon");
+        return(false);
+    }
+
+    log_debug("Daemon destroyed successfully");
+    return(true);
+}

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/java.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: java.h 155409 2005-02-26 12:57:06Z dirkv $ */
+
+#define LOADER "org/apache/commons/daemon/support/DaemonLoader"
+
+char *java_library(arg_data *args, home_data *data);
+bool java_init(arg_data *args, home_data *data);
+bool java_destroy(void);
+bool java_load(arg_data *args);
+bool java_start(void);
+bool java_stop(void);
+bool java_version(void);
+bool java_check(arg_data *args);
+bool JVM_destroy(int exit);

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc-unix.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc-unix.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc-unix.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,743 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: jsvc-unix.c 170536 2005-05-17 08:02:30Z jfclere $ */
+#include "jsvc.h"
+
+#include <signal.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <pwd.h>
+#include <grp.h>
+#ifdef OS_LINUX
+#include <sys/prctl.h>
+#include <sys/syscall.h>
+#define _LINUX_FS_H 
+#include <linux/capability.h>
+#endif
+
+extern char **environ;
+
+pid_t controlled=0; /* the son process pid */
+static bool stopping=false;
+static bool doreload=false;
+static void (*handler_int)(int)=NULL;
+static void (*handler_hup)(int)=NULL;
+static void (*handler_trm)(int)=NULL;
+
+static void handler(int sig) {
+    switch (sig) {
+        case SIGTERM: {
+            log_debug("Caught SIGTERM: Scheduling a shutdown");
+            if (stopping==true) {
+                log_error("Shutdown or reload already scheduled");
+            } else {
+                stopping=true;
+            }
+            break;
+        }
+
+        case SIGINT: {
+            log_debug("Caught SIGINT: Scheduling a shutdown");
+            if (stopping==true) {
+                log_error("Shutdown or reload already scheduled");
+            } else {
+                stopping=true;
+            }
+            break;
+        }
+
+        case SIGHUP: {
+            log_debug("Caught SIGHUP: Scheduling a reload");
+            if (stopping==true) {
+                log_error("Shutdown or reload already scheduled");
+            } else {
+                stopping=true;
+                doreload=true;
+            }
+            break;
+        }
+
+        default: {
+            log_debug("Caught unknown signal %d",sig);
+            break;
+        }
+    }
+}
+
+/* user and group */
+static int set_user_group(char *user, int uid, int gid)
+{
+    if (user!=NULL) {
+        if (setgid(gid)!=0) {
+            log_error("Cannot set group id for user '%s'",user);
+            return(-1);
+        }
+        if (initgroups(user, gid)!=0) {
+            if (getuid()!= uid) {
+                log_error("Cannot set supplement group list for user '%s'",user);
+                return(-1);
+            } else
+                log_debug("Cannot set supplement group list for user '%s'",user);
+        }
+        if (setuid(uid)!=0) {
+            log_error("Cannot set user id for user '%s'",user);
+            return(-1);
+        }
+        log_debug("user changed to '%s'",user);
+    }
+    return(0);
+}
+/* Set linux capability, user and group */
+#ifdef OS_LINUX
+/* CAPSALL is to allow to read/write at any location */
+#define CAPSALL (1 << CAP_NET_BIND_SERVICE)+ \
+                (1 << CAP_SETUID)+ \
+                (1 << CAP_SETGID)+ \
+                (1 << CAP_DAC_READ_SEARCH)+ \
+                (1 << CAP_DAC_OVERRIDE)
+#define CAPSMAX (1 << CAP_NET_BIND_SERVICE)+ \
+                (1 << CAP_DAC_READ_SEARCH)+ \
+                (1 << CAP_DAC_OVERRIDE)
+/* That a more reasonable configuration */
+#define CAPS    (1 << CAP_NET_BIND_SERVICE)+ \
+                (1 << CAP_SETUID)+ \
+                (1 << CAP_SETGID)
+/* probably the only one Java could use */
+#define CAPSMIN (1 << CAP_NET_BIND_SERVICE)
+static int set_caps(int caps)
+{
+    struct __user_cap_header_struct caphead;
+    struct __user_cap_data_struct cap;
+ 
+    memset(&caphead, 0, sizeof caphead);
+    caphead.version = _LINUX_CAPABILITY_VERSION;
+    caphead.pid = 0;
+    memset(&cap, 0, sizeof cap);
+    cap.effective = caps;
+    cap.permitted = caps;
+    cap.inheritable = caps;
+    if (syscall(__NR_capset, &caphead, &cap) < 0) {
+        log_error("syscall failed in set_caps");
+        return(-1);
+    }
+    return(0);
+}
+static int linuxset_user_group(char *user, int uid, int gid)
+{
+    /* set capabilities enough for binding port 80 setuid/getuid */
+    if (set_caps(CAPS)!=0) {
+        if (getuid()!= uid) {
+            log_error("set_caps(CAPS) failed");
+            return(-1);
+        }
+        log_debug("set_caps(CAPS) failed");
+    }
+
+    /* make sure they are kept after setuid */ 
+    if (prctl(PR_SET_KEEPCAPS,1,0,0,0) < 0) {
+        log_error("prctl failed in linuxset_user_group");
+        return(-1);
+    }
+
+    /* set setuid/getuid */
+    if (set_user_group(user,uid,gid)!=0) {
+        log_error("set_user_group failed in linuxset_user_group");
+        return(-1);
+    }
+
+    /* set capability to binding port 80 read conf */
+    if (set_caps(CAPSMIN)!=0) {
+        if (getuid()!= uid) {
+            log_error("set_caps(CAPSMIN) failed");
+            return(-1);
+        }
+        log_debug("set_caps(CAPSMIN) failed");
+    }
+
+    return(0);
+}
+#endif
+
+
+static bool checkuser(char *user, uid_t *uid, gid_t *gid) {
+    struct passwd *pwds=NULL;
+    int status=0;
+    pid_t pid=0;
+
+    /* Do we actually _have_ to switch user? */
+    if (user==NULL) return(true);
+
+    pwds=getpwnam(user);
+    if (pwds==NULL) {
+        log_error("Invalid user name '%s' specified",user);
+        return(false);
+    }
+
+    *uid=pwds->pw_uid;
+    *gid=pwds->pw_gid;
+
+    /* Validate the user name in another process */
+    pid=fork();
+    if (pid==-1) {
+        log_error("Cannot validate user name");
+        return(false);
+    }
+
+    /* If we're in the child process, let's validate */
+    if (pid==0) {
+        if (set_user_group(user,*uid,*gid)!=0)
+            exit(1);
+        /* If we got here we switched user/group */
+        exit(0);
+    }
+
+    while (waitpid(pid,&status,0)!=pid);
+
+    /* The child must have exited cleanly */
+    if (WIFEXITED(status)) {
+        status=WEXITSTATUS(status);
+
+        /* If the child got out with 0 the user is ok */
+        if (status==0) {
+            log_debug("User '%s' validated",user);
+            return(true);
+        }
+    }
+
+    log_error("Error validating user '%s'",user);
+    return(false);
+}
+
+#ifdef OS_CYGWIN
+static void cygwincontroller() {
+    raise(SIGTERM);
+}
+#endif
+static void controller(int sig) {
+    switch (sig) {
+        case SIGTERM:
+        case SIGINT:
+        case SIGHUP:
+            log_debug("Forwarding signal %d to process %d",sig,controlled);
+            kill(controlled,sig);
+            signal(sig,controller);
+            break;
+        default:
+            log_debug("Caught unknown signal %d",sig);
+            break;
+    }
+}
+/*
+ * Return the address of the current signal handler and set the new one.
+ */
+static void * signal_set(int sig, void * newHandler) {
+    void *hand;
+
+    hand=signal(sig,newHandler);
+#ifdef SIG_ERR
+    if (hand==SIG_ERR)
+        hand=NULL;
+#endif
+    if (hand==handler || hand==controller)
+        hand=NULL;
+    return(hand);
+}
+
+/*
+ * Check pid and if still running
+ */
+
+static int check_pid(arg_data *args) {
+    int fd;
+    FILE *pidf;
+    char buff[80];
+    pid_t pidn=getpid();
+    int i,pid;
+
+    fd = open(args->pidf,O_RDWR|O_CREAT,S_IRUSR|S_IWUSR);
+    if (fd<0) {
+        log_error("Cannot open PID file %s, PID is %d",args->pidf,pidn);
+        return(-1);
+    } else {
+        lockf(fd,F_LOCK,0);
+        i = read(fd,buff,sizeof(buff));
+        if (i>0) {
+            buff[i] = '\0';
+            pid = atoi(buff);
+            if (kill(pid, 0)==0) {
+                log_error("Still running according to PID file %s, PID is %d",args->pidf,pid);
+                lockf(fd,F_ULOCK,0);
+                close(fd);
+                return(122);
+            }
+        }
+
+        /* skip writing the pid file if version or check */
+        if (args->vers!=true && args->chck!=true) {
+            lseek(fd, SEEK_SET, 0);
+            pidf = fdopen(fd,"r+");
+            fprintf(pidf,"%d\n",(int)getpid());
+            fflush(pidf);
+            lockf(fd,F_ULOCK,0);
+            fclose(pidf);
+            close(fd);
+        } else {
+            lockf(fd,F_ULOCK,0);
+            close(fd);
+        }
+    }
+    return(0);
+}
+
+/*
+ * read the pid from the pidfile
+ */
+static int get_pidf(arg_data *args) {
+    int fd;
+    int i;
+    char buff[80];
+
+    fd = open(args->pidf, O_RDONLY, 0);
+    log_debug("get_pidf: %d in %s", fd, args->pidf);
+    if (fd<0)
+        return(-1); /* something has gone wrong the JVM has stopped */
+    lockf(fd,F_LOCK,0);
+    i = read(fd,buff,sizeof(buff));
+    lockf(fd,F_ULOCK,0);
+    close(fd);
+    if (i>0) {
+        buff[i] = '\0';
+        i = atoi(buff);
+        log_debug("get_pidf: pid %d", i);
+        if (kill(i, 0)==0)
+            return(i);
+    }
+    return(-1);
+}
+
+/*
+ * Check temporatory file created by controller
+ * /tmp/pid.jsvc_up
+ * Notes:
+ * we fork several times
+ * 1 - to be a daemon before the setsid(), the son is the controler process.
+ * 2 - to start the JVM in the son process. (whose pid is stored in pidfile).
+ */
+static int check_tmp_file(arg_data *args) {
+    int pid;
+    char buff[80];
+    int fd;
+    pid = get_pidf(args);
+    if (pid<0)
+        return(-1);
+    sprintf(buff,"/tmp/%d.jsvc_up", pid);
+    log_debug("check_tmp_file: %s", buff);
+    fd = open(buff, O_RDONLY);
+    if (fd<0)
+        return(-1);
+    close(fd);
+    return(0);
+}
+static void create_tmp_file(arg_data *args) {
+    char buff[80];
+    int fd;
+    sprintf(buff,"/tmp/%d.jsvc_up", (int) getpid());
+    log_debug("create_tmp_file: %s", buff);
+    fd = open(buff, O_RDWR|O_CREAT,S_IRUSR|S_IWUSR);
+    if (fd<0)
+        return;
+    close(fd);
+}
+static void remove_tmp_file(arg_data *args) {
+    char buff[80];
+    sprintf(buff,"/tmp/%d.jsvc_up", (int) getpid());
+    log_debug("remove_tmp_file: %s", buff);
+    unlink(buff);
+}
+
+/*
+ * wait until jsvc create the I am ready file
+ * pid is the controller and args->pidf the JVM itself.
+ */
+static int wait_child(arg_data *args, int pid) {
+    int count=10;
+    bool havejvm=false;
+    int fd;
+    char buff[80];
+    int i, status, waittime;
+    log_debug("wait_child %d", pid);
+    waittime = args->wait/10;
+    if (waittime>10) {
+        count = waittime;
+        waittime = 10;
+    }
+    while (count>0) {
+        sleep(1);
+        /* check if the controler is still running */
+        if (waitpid(pid,&status,WNOHANG)==pid) {
+            if (WIFEXITED(status))
+                return(WEXITSTATUS(status));
+            else
+                return(1);
+        }
+
+        /* check if the pid file process exists */
+        fd = open(args->pidf, O_RDONLY);
+        if (fd<0 && havejvm)
+            return(1); /* something has gone wrong the JVM has stopped */
+        lockf(fd,F_LOCK,0);
+        i = read(fd,buff,sizeof(buff));
+        lockf(fd,F_ULOCK,0);
+        close(fd);
+        if (i>0) {
+            buff[i] = '\0';
+            i = atoi(buff);
+            if (kill(i, 0)==0) {
+                /* the JVM process has started */
+                havejvm=true;
+                if (check_tmp_file(args)==0) {
+                    /* the JVM is started */
+                    if (waitpid(pid,&status,WNOHANG)==pid) {
+                        if (WIFEXITED(status))
+                            return(WEXITSTATUS(status));
+                        else
+                            return(1);
+                    }
+                    return(0); /* ready JVM started */
+                }
+            }
+        }
+        sleep(waittime);
+        count--;
+    }
+    return(1); /* It takes more than the wait time to start, something must be wrong */
+}
+
+/*
+ * stop the running jsvc
+ */
+static int stop_child(arg_data *args) {
+    int pid=get_pidf(args);
+    int count=10;
+    if (pid>0) {
+        /* kill the process and wait until the pidfile has been removed by the controler */
+        kill(pid,SIGTERM);
+        while (count>0) {
+            sleep(6);
+            pid=get_pidf(args);
+            if (pid<=0)
+                return(0); /* JVM has stopped */
+            count--;
+        }
+    }
+    return(-1);
+}
+
+/*
+ * son process logic.
+ */
+
+static int child(arg_data *args, home_data *data, uid_t uid, gid_t gid) {
+    int ret=0;
+
+    /* check the pid file */
+    ret = check_pid(args); 
+    if (args->vers!=true && args->chck!=true) {
+        if (ret==122)
+            return(ret);
+        if (ret<0)
+            return(ret);
+    }
+
+    /* create a new process group to prevent kill 0 killing the monitor process */
+#if defined(OS_FREEBSD) || defined(OS_DARWIN)
+    setpgid(0,0);
+#else
+    setpgrp();
+#endif
+
+#ifdef OS_LINUX
+    /* setuid()/setgid() only apply the current thread so we must do it now */
+    if (linuxset_user_group(args->user,uid,gid)!=0)
+            return(4);
+#endif
+    /* Initialize the Java VM */
+    if (java_init(args,data)!=true) return(1);
+
+    /* Check wether we need to dump the VM version */
+    if (args->vers==true) {
+        if (java_version()!=true) {
+            return(-1);
+        } else return(0);
+    }
+
+    /* Do we have to do a "check-only" initialization? */
+    if (args->chck==true) {
+        if (java_check(args)!=true) return(2);
+        printf("Service \"%s\" checked successfully\n",args->clas);
+        return(0);
+    }
+
+    /* Load the service */
+    if (java_load(args)!=true) return(3);
+
+    /* Downgrade user */
+#ifdef OS_LINUX
+    if (set_caps(0)!=0) {
+        log_debug("set_caps (0) failed");
+        return(4);
+    }
+#else
+    if (set_user_group(args->user,uid,gid)!=0)
+        return(4);
+#endif
+
+    /* Start the service */
+    if (java_start()!=true) return(5);
+
+    /* Install signal handlers */
+    handler_hup=signal_set(SIGHUP,handler);
+    handler_trm=signal_set(SIGTERM,handler);
+    handler_int=signal_set(SIGINT,handler);
+    controlled = getpid();
+    log_debug("Waiting for a signal to be delivered");
+    create_tmp_file(args);
+    while (!stopping) {
+#ifdef OSD_POSIX
+        java_sleep(60);
+        /* pause(); */
+#else
+        sleep(60); /* pause() not threadsafe */
+#endif
+    }
+    remove_tmp_file(args);
+    log_debug("Shutdown or reload requested: exiting");
+
+    /* Stop the service */
+    if (java_stop()!=true) return(6);
+
+    if (doreload==true) ret=123;
+    else ret=0;
+
+    /* Destroy the service */
+    java_destroy();
+
+    /* Destroy the Java VM */
+    if (JVM_destroy(ret)!=true) return(7);
+
+    return(ret);
+}
+
+/*
+ * freopen close the file first and then open the new file
+ * that is not very good if we are try to trace the output
+ * note the code assumes that the errors are configuration errors.
+ */
+static FILE *loc_freopen(char *outfile, char *mode, FILE *stream)
+{
+    FILE *ftest;
+    ftest = fopen(outfile,mode);
+    if (ftest == NULL) {
+      fprintf(stderr,"Unable to redirect to %s\n", outfile);
+      return(stream);
+    }
+    fclose(ftest);
+    return(freopen(outfile,mode,stream));
+}
+
+/**
+ *  Redirect stdin, stdout, stderr.
+ */
+static void set_output(char *outfile, char *errfile) {
+    freopen("/dev/null", "r", stdin); 
+    log_debug("redirecting stdout to %s and stderr to %s",outfile,errfile);
+
+    /* make sure the debug goes out */
+    if (log_debug_flag==true && strcmp(errfile,"/dev/null") == 0)
+      return;
+
+    /* Handle malicious case here */
+    if(strcmp(outfile, "&2") == 0 && strcmp(errfile,"&1") == 0) {
+      outfile="/dev/null";
+    }
+    if(strcmp(outfile, "&2") != 0) {
+      loc_freopen(outfile, "a", stdout);
+    }
+
+    if(strcmp(errfile,"&1") != 0) {
+      loc_freopen(errfile, "a", stderr);
+    } else {
+      close(2);
+      dup(1);
+    }
+    if(strcmp(outfile, "&2") == 0) {
+      close(1);
+      dup(2);
+    }
+}
+
+int main(int argc, char *argv[]) {
+    arg_data *args=NULL;
+    home_data *data=NULL;
+    int status=0;
+    pid_t pid=0;
+    uid_t uid=0;
+    gid_t gid=0;
+
+    /* Parse command line arguments */
+    args=arguments(argc,argv);
+    if (args==NULL) return(1);
+
+    /* Stop running jsvc if required */
+    if (args->stop==true)
+        return(stop_child(args));
+
+    /* Let's check if we can switch user/group IDs */
+    if (checkuser(args->user, &uid, &gid)==false) return(1);
+
+    /* Retrieve JAVA_HOME layout */
+    data=home(args->home);
+    if (data==NULL) return(1);
+
+    /* Check for help */
+    if (args->help==true) {
+        help(data);
+        return(0);
+    }
+
+#ifdef OS_LINUX
+    /* On some UNIX operating systems, we need to REPLACE this current
+       process image with another one (thru execve) to allow the correct
+       loading of VMs (notably this is for Linux). Set, replace, and go. */
+    if (strcmp(argv[0],args->procname)!=0) {
+        char *oldpath=getenv("LD_LIBRARY_PATH");
+        char *libf=java_library(args,data);
+        char *old=argv[0];
+        char buf[2048];
+        char *tmp=NULL;
+        char *p1=NULL;
+        char *p2=NULL;
+
+        p1=strdup(libf);
+        tmp=strrchr(p1,'/');
+        if (tmp!=NULL) tmp[0]='\0';
+
+        p2=strdup(p1);
+        tmp=strrchr(p2,'/');
+        if (tmp!=NULL) tmp[0]='\0';
+
+        if (oldpath==NULL) snprintf(buf,2048,"%s:%s",p1,p2);
+        else snprintf(buf,2048,"%s:%s:%s",oldpath,p1,p2);
+
+        tmp=strdup(buf);
+        setenv("LD_LIBRARY_PATH",tmp,1);
+
+        log_debug("Invoking w/ LD_LIBRARY_PATH=%s",getenv("LD_LIBRARY_PATH"));
+
+        argv[0]=args->procname;
+        execve(old,argv,environ);
+        log_error("Cannot execute JSVC executor process");
+        return(1);
+    }
+    log_debug("Running w/ LD_LIBRARY_PATH=%s",getenv("LD_LIBRARY_PATH"));
+#endif /* ifdef OS_LINUX */
+
+    /* If we have to detach, let's do it now */
+    if (args->dtch==true) {
+        pid=fork();
+        if (pid==-1) {
+            log_error("Cannot detach from parent process");
+            return(1);
+        }
+        /* If we're in the parent process */
+        if (pid!=0) {
+            if (args->wait>=10)
+                return(wait_child(args,pid));
+            else
+                return(0);
+        }
+#ifndef NO_SETSID
+        setsid();
+#endif
+    }
+
+    set_output(args->outfile, args->errfile);
+
+    /* We have to fork: this process will become the controller and the other
+       will be the child */
+    while ((pid=fork())!=-1) {
+        /* We forked (again), if this is the child, we go on normally */
+        if (pid==0) exit(child(args,data,uid,gid));
+
+        /* We are in the controller, we have to forward all interesting signals
+           to the child, and wait for it to die */
+        controlled=pid;
+#ifdef OS_CYGWIN
+       SetTerm(cygwincontroller);
+#endif
+        signal(SIGHUP,controller);
+        signal(SIGTERM,controller);
+        signal(SIGINT,controller);
+
+        while (waitpid(pid,&status,0)!=pid);
+
+        /* The child must have exited cleanly */
+        if (WIFEXITED(status)) {
+            status=WEXITSTATUS(status);
+
+            /* Delete the pid file */
+            if (args->vers!=true && args->chck!=true && status!=122)
+                unlink(args->pidf);
+
+            /* If the child got out with 123 he wants to be restarted */
+            if (status==123) {
+                log_debug("Reloading service");
+                continue;
+            }
+            /* If the child got out with 0 he is shutting down */
+            if (status==0) {
+                log_debug("Service shut down");
+                return(0);
+            }
+            /* Otherwise we don't rerun it */
+            log_error("Service exit with a return value of %d",status);
+            return(1);
+        } else {
+            log_error("Service did not exit cleanly",status);
+            return(1);
+        }
+    }
+
+    /* Got out of the loop? A fork() failed then. */
+    log_error("Cannot decouple controller/child processes");
+    return(1);
+
+}
+
+void main_reload(void) {
+    log_debug("Killing self with HUP signal");
+    kill(controlled,SIGHUP);
+}
+
+void main_shutdown(void) {
+    log_debug("Killing self with TERM signal");
+    kill(controlled,SIGTERM);
+}
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/jsvc.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: jsvc.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#ifndef __JSVC_H__
+#define __JSVC_H__
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+/* Definitions for booleans */
+typedef enum {
+    false,
+    true
+} bool;
+
+#include "debug.h"
+#include "arguments.h"
+#include "home.h"
+#include "location.h"
+#include "replace.h"
+#include "dso.h"
+#include "java.h"
+#include "help.h"
+
+int main(int argc, char *argv[]);
+void main_reload(void);
+void main_shutdown(void);
+
+#endif /* ifndef __JSVC_H__ */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/libservice.a
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/libservice.a
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: location.c 165006 2005-04-27 16:28:57Z jfclere $ */
+#include "jsvc.h"
+
+/* Locations of various JVM files. We have to deal with all this madness since
+   we're not distributed togheter (yet!) with an official VM distribution. All
+   this CRAP needs improvement, and based on the observation of default
+   distributions of VMs and OSes. If it doesn't work for you, please report
+   your VM layout (ls -laR) and system details (build/config.guess) so that we
+   can improve the search algorithms. */
+
+/* If JAVA_HOME is not defined we search this list of paths (OS-dependant)
+   to find the default location of the JVM. */
+char *location_home[] = {
+#if defined(OS_DARWIN)
+    "/System/Library/Frameworks/JavaVM.framework/Home",
+    "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/",
+#elif defined(OS_LINUX) || defined(OS_SOLARIS) || defined(OS_BSD)
+    "/usr/java",
+    "/usr/local/java",
+#elif defined(OS_CYGWIN)
+    "/cygdrive/c/WINNT/system32/java",
+#elif defined(OS_SYSV)
+    "/opt/java",
+    "/opt/java/jdk13",
+#elif defined(OS_TRU64)
+    "/usr/opt/java142",
+    "/usr/opt/java13",
+#endif
+    NULL,
+};
+
+/* The jvm.cfg file defines the VMs available for invocation. So far, on all
+   all systems I've seen it's in $JAVA_HOME/lib. If this file is not found,
+   then the "default" VMs (from location_jvm_default) is searched, otherwise,
+   we're going to look thru the "configured" VMs (from lod_cfgvm) lying
+   somewhere around JAVA_HOME. (Only two, I'm happy) */
+char *location_jvm_cfg[] = {
+    "$JAVA_HOME/jre/lib/jvm.cfg", /* JDK */
+    "$JAVA_HOME/lib/jvm.cfg",     /* JRE */
+    "$JAVA_HOME/jre/lib/" CPU "/jvm.cfg", /* JDK */
+    "$JAVA_HOME/lib/" CPU "/jvm.cfg",     /* JRE */
+    NULL,
+};
+
+/* This is the list of "defaults" VM (searched when jvm.cfg is not found, as
+   in the case of most JDKs 1.2.2 */
+char *location_jvm_default[] = {
+#if defined(OS_DARWIN)
+    "$JAVA_HOME/../Libraries/libjvm.dylib",
+#elif defined(OS_CYGWIN)
+    "$JAVA_HOME/jre/bin/classic/jvm.dll",           /* Sun JDK 1.3 */
+    "$JAVA_HOME/jre/bin/client/jvm.dll",            /* Sun JDK 1.4 */
+#elif defined(OS_LINUX) || defined(OS_SOLARIS) || defined(OS_BSD) || defined(OS_SYSV) || defined(OS_FREEBSD) || defined(OS_TRU64)
+    "$JAVA_HOME/jre/lib/" CPU "/classic/libjvm.so", /* Sun JDK 1.2 */
+    "$JAVA_HOME/jre/lib/" CPU "/client/libjvm.so",  /* Sun JDK 1.3 */
+    "$JAVA_HOME/jre/lib/" CPU "/libjvm.so",         /* Sun JDK */
+    "$JAVA_HOME/lib/" CPU "/classic/libjvm.so",     /* Sun JRE 1.2 */
+    "$JAVA_HOME/lib/" CPU "/client/libjvm.so",      /* Sun JRE 1.3 */
+    "$JAVA_HOME/lib/" CPU "/libjvm.so",             /* Sun JRE */
+    "$JAVA_HOME/jre/bin/" CPU "/classic/libjvm.so", /* IBM JDK 1.3 */
+    "$JAVA_HOME/jre/bin/" CPU "/libjvm.so",         /* IBM JDK */
+    "$JAVA_HOME/bin/" CPU "/classic/libjvm.so",     /* IBM JRE 1.3 */
+    "$JAVA_HOME/bin/" CPU "/libjvm.so",             /* IBM JRE */
+    /* Those are "weirdos: if we got here, we're probably in troubles and
+       we're not going to find anything, but hope never dies... */
+    "$JAVA_HOME/jre/lib/" CPU "/classic/green_threads/libjvm.so",
+#if defined(OSD_POSIX)
+    "$JAVA_HOME/lib/s390/client/green_threads/libjvm.so",
+    "$JAVA_HOME/lib/sparc/client/green_threads/libjvm.so",
+#endif
+    "$JAVA_HOME/jre/lib/classic/libjvm.so",
+    "$JAVA_HOME/jre/lib/client/libjvm.so",
+    "$JAVA_HOME/jre/lib/libjvm.so",
+    "$JAVA_HOME/lib/classic/libjvm.so",
+    "$JAVA_HOME/lib/client/libjvm.so",
+    "$JAVA_HOME/lib/libjvm.so",
+    "$JAVA_HOME/jre/bin/classic/libjvm.so",
+    "$JAVA_HOME/jre/bin/client/libjvm.so",
+    "$JAVA_HOME/jre/bin/libjvm.so",
+    "$JAVA_HOME/bin/classic/libjvm.so",
+    "$JAVA_HOME/bin/client/libjvm.so",
+    "$JAVA_HOME/bin/libjvm.so",
+    "$JAVA_HOME/jre/lib/" CPU "/fast64/libjvm.so",
+    "$JAVA_HOME/jre/lib/" CPU "/fast32/libjvm.so",
+    "$JAVA_HOME/lib/" CPU "/fast64/libjvm.so",
+    "$JAVA_HOME/lib/" CPU "/fast32/libjvm.so",
+#endif
+    NULL,
+};
+
+/* This is the list of "configured" VM (searched when jvm.cfg is found, as
+   in the case of most JDKs 1.3 (not IBM, for example), way easier than
+   before, and lovely, indeed... */
+char *location_jvm_configured[] = {
+#if defined(OS_DARWIN)
+    "$JAVA_HOME/../Libraries/lib$VM_NAME.dylib",
+#elif defined(OS_CYGWIN)
+    "$JAVA_HOME/jre/bin/$VM_NAME/jvm.dll",          /* Sun JDK 1.3 */
+#elif defined(OS_LINUX) || defined(OS_SOLARIS) || defined(OS_BSD) || defined(OS_FREEBSD) || defined(OS_TRU64)
+    "$JAVA_HOME/jre/lib/" CPU "/$VM_NAME/libjvm.so",/* Sun JDK 1.3 */
+    "$JAVA_HOME/lib/" CPU "/$VM_NAME/libjvm.so",    /* Sun JRE 1.3 */
+#elif defined(OS_SYSV)
+    "$JAVA_HOME/jre/lib/" CPU "/$VM_NAME/dce_threads/libjvm.so",
+    "$JAVA_HOME/jre/lib/" CPU "/$VM_NAME/green_threads/libjvm.so",
+    "$JAVA_HOME/lib/" CPU "/$VM_NAME/dce_threads/libjvm.so",
+    "$JAVA_HOME/lib/" CPU "/$VM_NAME/green_threads/libjvm.so",
+#endif
+    NULL,
+};

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/location.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: location.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+extern char *location_home[];
+extern char *location_jvm_cfg[];
+extern char *location_jvm_default[];
+extern char *location_jvm_configured[];

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: replace.c 155409 2005-02-26 12:57:06Z dirkv $ */
+#include "jsvc.h"
+
+/* Replace all occurrences of a string in another */
+int replace(char *new, int len, char *old, char *mch, char *rpl) {
+    char *tmp;
+    int count;
+    int shift;
+    int nlen;
+    int olen;
+    int mlen;
+    int rlen;
+    int x;
+
+    /* The new buffer is NULL, fail */
+    if (new==NULL) return(-1);
+    /* The length of the buffer is less than zero, fail */
+    if (len<0) return(-2);
+    /* The old buffer is NULL, fail */
+    if (old==NULL) return(-3);
+
+    /* The string to be matched is NULL or empty, simply copy */
+    if ((mch==NULL)||(strlen(mch)==0)) {
+        olen=strlen(old);
+        if (len<=olen) return(olen+1);
+        strcpy(new,old);
+        return(0);
+    }
+
+    /* The string to be replaced is NULL, assume it's an empty string */
+    if (rpl==NULL) rpl="";
+
+    /* Evaluate some lengths */
+    olen=strlen(old);
+    mlen=strlen(mch);
+    rlen=strlen(rpl);
+
+    /* Calculate how many times the mch string appears in old */
+    tmp=old;
+    count=0;
+    while((tmp=strstr(tmp,mch))!=NULL) {
+        count++;
+        tmp+=mlen;
+    }
+
+    /* We have no matches, simply copy */
+    if (count==0) {
+        olen=strlen(old);
+        if (len<=olen) return(olen+1);
+        strcpy(new,old);
+        return(0);
+    }
+
+    /* Calculate how big the buffer must be to hold the translation
+       and of how many bytes we need to shift the data */
+    shift=rlen-mlen;
+    nlen=olen+(shift*count);
+    /* printf("Count=%d Shift= %d OLen=%d NLen=%d\n",count,shift,olen,nlen); */
+
+    /* Check if we have enough size in the buffer */
+    if (nlen>=len) return(nlen+1);
+
+    /* Copy over the old buffer in the new one (save memory) */
+    strcpy(new,old);
+
+    /* Start replacing */
+    tmp=new;
+    while((tmp=strstr(tmp,mch))!=NULL) {
+        /* If shift is > 0 we need to move data from right to left */
+        if (shift>0) {
+            for (x=(strlen(tmp)+shift);x>shift;x--) {
+                /*
+                printf("src %c(%d) dst %c(%d)\n",
+                        tmp[x-shift],tmp[x-shift],tmp[x],tmp[x]);
+                 */
+                tmp[x]=tmp[x-shift];
+            }
+        /* If shift is < 0 we need to move data from left to right */
+        } else if (shift<0) {
+            for (x=mlen;x<strlen(tmp)-shift;x++) {
+                /*
+                   printf("src %c(%d) dst %c(%d)\n",
+                          tmp[x],tmp[x],tmp[x+shift],tmp[x+shift]);
+                 */
+                tmp[x+shift]=tmp[x];
+            }
+        }
+        /* If shift is = 0 we don't have to shift data */
+        strncpy(tmp,rpl,rlen);
+        tmp+=rlen;
+        /* printf("\"%s\"\n",tmp); */
+    }
+    return(0);
+}

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.h
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.h	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/replace.h	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: replace.h 155409 2005-02-26 12:57:06Z dirkv $ */
+#ifndef __JSVC_REPLACE_H__
+#define __JSVC_REPLACE_H__
+
+/**
+ * Replace all occurrences of mch in old with the new string rpl, and
+ * stores the result in new, provided that its length (specified in len)
+ * is enough.
+ *
+ * @param new The buffer where the result of the replace operation will be
+ *            stored into.
+ * @param len The length of the previous buffer.
+ * @param old The string where occurrences of mtch must be searched.
+ * @param mch The characters to match in old (and to be replaced)
+ * @param rpl The characters that will be replaced in place of mch.
+ * @return Zero on success, a value less than 0 if an error was encountered
+ *         or a value greater than zero (indicating the required storage size
+ *         for new) if the buffer was too short to hold the new string.
+ */
+int replace(char *new, int len, char *old, char *mch, char *rpl);
+
+#endif /* ifndef __JSVC_REPLACE_H__ */

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/signals.c
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/signals.c	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/native/signals.c	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+/*
+   Copyright 2001-2004 The Apache Software Foundation.
+ 
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+ 
+       http://www.apache.org/licenses/LICENSE-2.0
+ 
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+*/
+/* @version $Id: signals.c 155409 2005-02-26 12:57:06Z dirkv $ */
+
+/*
+ * as Windows does not support signal, jsvc use event to emulate them.
+ * The supported signal is SIGTERM.
+ * The kills.c contains the kill logic.
+ */
+#ifdef OS_CYGWIN
+#include <windows.h>
+#include <stdio.h>
+static void (*HandleTerm)()=NULL; /* address of the handler routine. */
+
+/*
+ * Event handling routine
+ */
+void v_difthf(LPVOID par)
+{
+HANDLE hevint; /* make a local copy because the parameter is shared! */
+
+  hevint = (HANDLE) par;
+
+  for (;;) {
+    if (WaitForSingleObject(hevint,INFINITE) == WAIT_FAILED) {
+      /* something have gone wrong. */
+      return; /* may be something more is needed. */
+      }
+
+    /* call the interrupt handler. */
+    if (HandleTerm==NULL) return;
+    HandleTerm();
+    }
+}
+
+/*
+ * set a routine handler for the signal
+ * note that it cannot be used to change the signal handler
+ */
+int SetTerm(void (*func)())
+{
+char Name[256];
+HANDLE hevint, hthread;
+DWORD ThreadId; 
+SECURITY_ATTRIBUTES sa;
+SECURITY_DESCRIPTOR sd;
+
+  sprintf(Name,"TERM%ld",GetCurrentProcessId());
+
+  /*
+   * event cannot be inherited.
+   * the event is reseted to nonsignaled after the waiting thread is released.
+   * the start state is resetted.
+   */
+
+  /* Initialize the new security descriptor. */
+  InitializeSecurityDescriptor (&sd, SECURITY_DESCRIPTOR_REVISION);
+
+  /* Add a NULL descriptor ACL to the security descriptor. */
+  SetSecurityDescriptorDacl (&sd, TRUE, (PACL)NULL, FALSE);
+
+  sa.nLength = sizeof(sa);
+  sa.lpSecurityDescriptor = &sd;
+  sa.bInheritHandle = TRUE;
+
+
+  /*  It works also with NULL instead &sa!! */
+  hevint = CreateEvent(&sa,FALSE, FALSE,Name);
+
+  HandleTerm = (int (*)()) func;
+
+  if (hevint == NULL) return(-1); /* failed */
+
+  /* create the thread to wait for event */
+  hthread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE) v_difthf,
+                         (LPVOID) hevint, 0, &ThreadId);
+  if (hthread == NULL) {
+    /* failed remove the event */
+    CloseHandle(hevint); /* windows will remove it. */
+    return(-1);
+    }
+
+  CloseHandle(hthread); /* not needed */
+  return(0);
+}
+#endif

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apfunctions.m4
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apfunctions.m4	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apfunctions.m4	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+dnl
+dnl Copyright 1999-2004 The Apache Software Foundation
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+dnl
+
+dnl -------------------------------------------------------------------------
+dnl Author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+dnl Version $Id: apfunctions.m4 140756 2004-02-27 08:40:46Z jfclere $
+dnl -------------------------------------------------------------------------
+
+AC_DEFUN(AP_MSG_HEADER,[
+  printf "*** %s ***\n" "$1" 1>&2
+  AC_PROVIDE([$0])
+])
+
+AC_DEFUN(AP_CANONICAL_HOST_CHECK,[
+  AC_MSG_CHECKING([cached host system type])
+  if { test x"${ac_cv_host_system_type+set}" = x"set"  &&
+       test x"$ac_cv_host_system_type" != x"$host" ; }
+  then
+    AC_MSG_RESULT([$ac_cv_host_system_type])
+    AC_MSG_ERROR([remove the \"$cache_file\" file and re-run configure])
+  else
+    AC_MSG_RESULT(ok)
+    ac_cv_host_system_type="$host"
+  fi
+  AC_PROVIDE([$0])
+])

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apjava.m4
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apjava.m4	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apjava.m4	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+dnl
+dnl Copyright 1999-2004 The Apache Software Foundation
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+dnl
+
+dnl -------------------------------------------------------------------------
+dnl Author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+dnl Version $Id: apjava.m4 140756 2004-02-27 08:40:46Z jfclere $
+dnl -------------------------------------------------------------------------
+
+AC_DEFUN([AP_PROG_JAVAC_WORKS],[
+  AC_CACHE_CHECK([wether the Java compiler ($JAVAC) works],ap_cv_prog_javac_works,[
+    echo "public class Test {}" > Test.java
+    $JAVAC $JAVACFLAGS Test.java > /dev/null 2>&1
+    if test $? -eq 0
+    then
+      rm -f Test.java Test.class
+      ap_cv_prog_javac_works=yes
+    else
+      rm -f Test.java Test.class
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([installation or configuration problem: javac cannot compile])
+    fi
+  ])
+])
+
+dnl AC_PATH_PROG does not work (it checks first PATH then our parameter).
+dnl so we do 2 checks.
+AC_DEFUN([AP_PROG_JAVAC],[
+  AC_PATH_PROG(JAVAC,javac,NONE,$JAVA_HOME/bin)
+  if test "$JAVAC" = "NONE"
+  then
+    AC_PATH_PROG(JAVAC_PATH,javac,NONE,$PATH)
+    JAVAC=$JAVAC_PATH
+  fi
+  if test "$JAVAC" = "NONE"
+  then
+    AC_MSG_ERROR([javac not found])
+  fi
+  AP_PROG_JAVAC_WORKS()
+  AC_PROVIDE([$0])
+  AC_SUBST(JAVAC)
+  AC_SUBST(JAVACFLAGS)
+])
+
+AC_DEFUN([AP_PROG_JAR],[
+  AC_PATH_PROG(JAR,jar,NONE,$JAVA_HOME/bin)
+  if test "$JAR" = "NONE"
+  then
+    AC_PATH_PROG(JAR_PATH,jar,NONE,$PATH)
+    JAR=$JAR_PATH
+  fi
+  if test "$JAR" = "NONE"
+  then
+    AC_MSG_ERROR([jar not found])
+  fi
+  AC_PROVIDE([$0])
+  AC_SUBST(JAR)
+])
+
+AC_DEFUN([AP_JAVA],[
+  AC_ARG_WITH(java,[  --with-java=DIR         Specify the location of your JDK installation],[
+    AC_MSG_CHECKING([JAVA_HOME])
+    if test -d "$withval"
+    then
+      JAVA_HOME="$withval"
+      AC_MSG_RESULT([$JAVA_HOME])
+    else
+      AC_MSG_RESULT([failed])
+      AC_MSG_ERROR([$withval is not a directory])
+    fi
+    AC_SUBST(JAVA_HOME)
+  ])
+  if test x"$JAVA_HOME" = x
+  then
+    AC_MSG_ERROR([Java Home not defined. Rerun with --with-java=[...] parameter])
+  fi
+])

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apsupport.m4
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apsupport.m4	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/apsupport.m4	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+dnl
+dnl Copyright 1999-2004 The Apache Software Foundation
+dnl
+dnl Licensed under the Apache License, Version 2.0 (the "License");
+dnl you may not use this file except in compliance with the License.
+dnl You may obtain a copy of the License at
+dnl
+dnl     http://www.apache.org/licenses/LICENSE-2.0
+dnl
+dnl Unless required by applicable law or agreed to in writing, software
+dnl distributed under the License is distributed on an "AS IS" BASIS,
+dnl WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+dnl See the License for the specific language governing permissions and
+dnl limitations under the License.
+dnl
+
+dnl -------------------------------------------------------------------------
+dnl Author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+dnl Version $Id: apsupport.m4 165114 2005-04-28 08:03:15Z jfclere $
+dnl -------------------------------------------------------------------------
+
+AC_DEFUN(AP_SUPPORTED_HOST,[
+  AC_MSG_CHECKING([C flags dependant on host system type])
+
+  case $host_os in
+  darwin*)
+    CFLAGS="$CFLAGS -DOS_DARWIN -DDSO_DYLD"
+    supported_os="darwin"
+    ;;
+  solaris*)
+    CFLAGS="$CFLAGS -DOS_SOLARIS -DDSO_DLFCN"
+    supported_os="solaris"
+    LDFLAGS="$LDFLAGS -ldl -lthread"
+    ;;
+  linux*)
+    CFLAGS="$CFLAGS -DOS_LINUX -DDSO_DLFCN"
+    supported_os="linux"
+    LDFLAGS="$LDFLAGS -ldl -lpthread"
+    ;;
+  cygwin)
+    CFLAGS="$CFLAGS -DOS_CYGWIN -DDSO_DLFCN -DNO_SETSID"
+    supported_os="win32"
+    ;;
+  sysv)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN"
+    LDFLAGS="$LDFLAGS -ldl"
+    ;;
+  sysv4)
+    CFLAGS="$CFLAGS -DOS_SYSV -DDSO_DLFCN -Kthread"
+    LDFLAGS="-Kthread $LDFLAGS -ldl"
+    ;;
+  freebsd4.?)
+    CFLAGS="$CFLAGS -DOS_FREEBSD -DDSO_DLFCN -D_THREAD_SAFE -pthread"
+    LDFLAGS="-pthread $LDFLAGS"
+    supported_os="freebsd"
+    ;;
+  osf5*)
+    CFLAGS="$CFLAGS -pthread -DOS_TRU64 -DDSO_DLFCN -D_XOPEN_SOURCE_EXTENDED"
+    LDFLAGS="$LDFLAGS -pthread"
+    ;;
+  *)
+    AC_MSG_RESULT([failed])
+    AC_MSG_ERROR([Unsupported operating system "$host_os"])
+    ;;
+  esac
+  case $host_cpu in
+  powerpc)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  sparc*)
+    CFLAGS="$CFLAGS -DCPU=\\\"$host_cpu\\\"" ;;
+  i?86)
+    CFLAGS="$CFLAGS -DCPU=\\\"i386\\\"" ;;
+  x86_64)
+    CFLAGS="$CFLAGS -DCPU=\\\"amd64\\\"" ;;
+  bs2000)
+    CFLAGS="$CFLAGS -DCPU=\\\"osd\\\" -DCHARSET_EBCDIC -DOSD_POSIX"
+    supported_os="osd"
+    LDFLAGS="-Kno_link_stdlibs -B llm4 -l BLSLIB"
+    LDCMD="/opt/C/bin/cc"
+    ;;
+  mips)
+    CFLAGS="$CFLAGS -DCPU=\\\"mips\\\""
+    supported_os="mips"
+    ;;
+  alpha*)
+    CFLAGS="$CFLAGS -DCPU=\\\"alpha\\\""
+    supported_os="alpha"
+    ;;
+  *)
+    AC_MSG_RESULT([failed])
+    AC_MSG_ERROR([Unsupported CPU architecture "$host_cpu"]);;
+  esac
+
+  AC_MSG_RESULT([ok])
+  AC_SUBST(CFLAGS)
+  AC_SUBST(LDFLAGS)
+])

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/buildconf.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/buildconf.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/buildconf.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+#!/bin/sh
+# 
+#   Copyright 1999-2004 The Apache Software Foundation
+# 
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+# 
+#       http://www.apache.org/licenses/LICENSE-2.0
+# 
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+
+# @author  Pier Fumagalli <mailto:pier.fumagalli at eng.sun.com>
+# @version $Id: buildconf.sh 155409 2005-02-26 12:57:06Z dirkv $
+
+# The cache of automake always brings problems when changing *.m4 files.
+rm -rf autom4te.cache
+
+if test -f configure.in ; then
+  autoconf
+  if test $? -ne 0 ; then
+    echo "$0: cannot generate configure script"
+  else
+    echo "$0: configure script generated successfully"
+  fi
+else
+  echo "$0: cannot find source file configure.in"
+fi

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.guess
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.guess	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.guess	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1371 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
+
+timestamp='2001-04-20'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner at cygnus.com>.
+# Please send patches to <config-patches at gnu.org>.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+
+dummy=dummy-$$
+trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script.
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int dummy(){}" > $dummy.c
+	for c in cc gcc c89 ; do
+	  ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1
+	  if test $? = 0 ; then
+	     CC_FOR_BUILD="$c"; break
+	  fi
+	done
+	rm -f $dummy.c $dummy.o $dummy.rel
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi at noc.rutgers.edu 8/24/94.)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# Netbsd (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	# Determine the machine/vendor (is the vendor relevant).
+	case "${UNAME_MACHINE}" in
+	    amiga) machine=m68k-unknown ;;
+	    arm32) machine=arm-unknown ;;
+	    atari*) machine=m68k-atari ;;
+	    sun3*) machine=m68k-sun ;;
+	    mac68k) machine=m68k-apple ;;
+	    macppc) machine=powerpc-apple ;;
+	    hp3[0-9][05]) machine=m68k-hp ;;
+	    ibmrt|romp-ibm) machine=romp-ibm ;;
+	    *) machine=${UNAME_MACHINE}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE}" in
+	    i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k)
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit 0 ;;
+    alpha:OSF1:*:*)
+	if test $UNAME_RELEASE = "V4.0"; then
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+	fi
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	cat <<EOF >$dummy.s
+	.data
+\$Lformat:
+	.byte 37,100,45,37,120,10,0	# "%d-%x\n"
+
+	.text
+	.globl main
+	.align 4
+	.ent main
+main:
+	.frame \$30,16,\$26,0
+	ldgp \$29,0(\$27)
+	.prologue 1
+	.long 0x47e03d80 # implver \$0
+	lda \$2,-1
+	.long 0x47e20c21 # amask \$2,\$1
+	lda \$16,\$Lformat
+	mov \$0,\$17
+	not \$1,\$18
+	jsr \$26,printf
+	ldgp \$29,0(\$26)
+	mov 0,\$16
+	jsr \$26,exit
+	.end main
+EOF
+	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+	if test "$?" = 0 ; then
+		case `./$dummy` in
+			0-0)
+				UNAME_MACHINE="alpha"
+				;;
+			1-0)
+				UNAME_MACHINE="alphaev5"
+				;;
+			1-1)
+				UNAME_MACHINE="alphaev56"
+				;;
+			1-101)
+				UNAME_MACHINE="alphapca56"
+				;;
+			2-303)
+				UNAME_MACHINE="alphaev6"
+				;;
+			2-307)
+				UNAME_MACHINE="alphaev67"
+				;;
+		esac
+	fi
+	rm -f $dummy.s $dummy
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit 0 ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit 0 ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit 0 ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit 0;;
+    amiga:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit 0 ;;
+    arc64:OpenBSD:*:*)
+	echo mips64el-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    arc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    hkmips:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    pmax:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    sgi:OpenBSD:*:*)
+	echo mips-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    wgrisc:OpenBSD:*:*)
+	echo mipsel-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit 0 ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit 0;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit 0;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit 0 ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit 0 ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit 0 ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit 0 ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit 0 ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit 0 ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit 0 ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit 0 ;;
+    sun3*:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mac68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme68k:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    mvme88k:OpenBSD:*:*)
+	echo m88k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit 0 ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit 0 ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit 0 ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit 0 ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy \
+	  && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+	  && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit 0 ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit 0 ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit 0 ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit 0 ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit 0 ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit 0 ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit 0 ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit 0 ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit 0 ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit 0 ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit 0 ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
+	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit 0 ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit 0 ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+		rm -f $dummy.c $dummy
+		echo rs6000-ibm-aix3.2.5
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit 0 ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit 0 ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit 0 ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit 0 ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit 0 ;;                           # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit 0 ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit 0 ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit 0 ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit 0 ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+              case "${HPUX_REV}" in
+                11.[0-9][0-9])
+                  if [ -x /usr/bin/getconf ]; then
+                    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                        esac ;;
+                    esac
+                  fi ;;
+              esac
+              if [ "${HP_ARCH}" = "" ]; then
+              sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+	(CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
+	if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
+	rm -f $dummy.c $dummy
+	fi ;;
+	esac
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit 0 ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit 0 ;;
+    3050*:HI-UX:*:*)
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	echo unknown-hitachi-hiuxwe2
+	exit 0 ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit 0 ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit 0 ;;
+    *9??*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit 0 ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit 0 ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit 0 ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit 0 ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit 0 ;;
+    hppa*:OpenBSD:*:*)
+	echo hppa-unknown-openbsd
+	exit 0 ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit 0 ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit 0 ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit 0 ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit 0 ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit 0 ;;
+    CRAY*X-MP:*:*:*)
+	echo xmp-cray-unicos
+        exit 0 ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE}
+	exit 0 ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
+	exit 0 ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3D:*:*:*)
+	echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit 0 ;;
+    CRAY-2:*:*:*)
+	echo cray2-cray-unicos
+        exit 0 ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit 0 ;;
+    hp300:OpenBSD:*:*)
+	echo m68k-unknown-openbsd${UNAME_RELEASE}
+	exit 0 ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit 0 ;;
+    *:FreeBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit 0 ;;
+    *:OpenBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+	exit 0 ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit 0 ;;
+    i*:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit 0 ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit 0 ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i386-pc-interix
+	exit 0 ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit 0 ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit 0 ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit 0 ;;
+    *:GNU:*:*)
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit 0 ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit 0 ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux
+	exit 0 ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    mips:Linux:*:*)
+	cat >$dummy.c <<EOF
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+int main (int argc, char *argv[]) {
+#else
+int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __MIPSEB__
+  printf ("%s-unknown-linux-gnu\n", argv[1]);
+#endif
+#ifdef __MIPSEL__
+  printf ("%sel-unknown-linux-gnu\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	;;
+    ppc:Linux:*:*)
+	# Determine Lib Version
+	cat >$dummy.c <<EOF
+#include <features.h>
+#if defined(__GLIBC__)
+extern char __libc_version[];
+extern char __libc_release[];
+#endif
+main(argc, argv)
+     int argc;
+     char *argv[];
+{
+#if defined(__GLIBC__)
+  printf("%s %s\n", __libc_version, __libc_release);
+#else
+  printf("unknown\n");
+#endif
+  return 0;
+}
+EOF
+	LIBC=""
+	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null
+	if test "$?" = 0 ; then
+		./$dummy | grep 1\.99 > /dev/null
+		if test "$?" = 0 ; then LIBC="libc1" ; fi
+	fi
+	rm -f $dummy.c $dummy
+	echo powerpc-unknown-linux-gnu${LIBC}
+	exit 0 ;;
+    alpha:Linux:*:*)
+	cat <<EOF >$dummy.s
+	  .data
+	  \$Lformat:
+		.byte 37,100,45,37,120,10,0	# "%d-%x\n"
+	   .text
+		.globl main
+		.align 4
+		.ent main
+	    main:
+		.frame \$30,16,\$26,0
+		ldgp \$29,0(\$27)
+		.prologue 1
+		.long 0x47e03d80 # implver \$0
+		lda \$2,-1
+		.long 0x47e20c21 # amask \$2,\$1
+		lda \$16,\$Lformat
+		mov \$0,\$17
+		not \$1,\$18
+		jsr \$26,printf
+		ldgp \$29,0(\$26)
+		mov 0,\$16
+		jsr \$26,exit
+		.end main
+EOF
+	LIBC=""
+	$CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
+	if test "$?" = 0 ; then
+		case `./$dummy` in
+		0-0)	UNAME_MACHINE="alpha" ;;
+		1-0)	UNAME_MACHINE="alphaev5" ;;
+		1-1)    UNAME_MACHINE="alphaev56" ;;
+		1-101)	UNAME_MACHINE="alphapca56" ;;
+		2-303)	UNAME_MACHINE="alphaev6" ;;
+		2-307)	UNAME_MACHINE="alphaev67" ;;
+		esac
+		objdump --private-headers $dummy | \
+		  grep ld.so.1 > /dev/null
+		if test "$?" = 0 ; then
+			LIBC="libc1"
+		fi
+	fi
+	rm -f $dummy.s $dummy
+	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	exit 0 ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
+	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
+	  *)    echo hppa-unknown-linux-gnu ;;
+	esac
+	exit 0 ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-gnu
+	exit 0 ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit 0 ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit 0 ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-gnu
+	exit 0 ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	ld_supported_emulations=`cd /; ld --help 2>&1 \
+			 | sed -ne '/supported emulations:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported emulations: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_emulations" in
+	  i*86linux)
+		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+		exit 0
+		;;
+	  elf_i*86)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+		;;
+	  i*86coff)
+		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+		exit 0
+		;;
+	esac
+	# Either a pre-BFD a.out linker (linux-gnuoldld)
+	# or one that does not give us useful --help.
+	# GCC wants to distinguish between linux-gnuoldld and linux-gnuaout.
+	# If ld does not provide *any* "supported emulations:"
+	# that means it is gnuoldld.
+	test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
+	case "${UNAME_MACHINE}" in
+	i*86)
+	  VENDOR=pc;
+	  ;;
+	*)
+	  VENDOR=unknown;
+	  ;;
+	esac
+	# Determine whether the default compiler is a.out or elf
+	cat >$dummy.c <<EOF
+#include <features.h>
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+#ifdef __ELF__
+# ifdef __GLIBC__
+#  if __GLIBC__ >= 2
+    printf ("%s-${VENDOR}-linux-gnu\n", argv[1]);
+#  else
+    printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+#  endif
+# else
+   printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]);
+# endif
+#else
+  printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]);
+#endif
+  return 0;
+}
+EOF
+	$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0
+	rm -f $dummy.c $dummy
+	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+	;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+    i*86:DYNIX/ptx:4*:*)
+	echo i386-sequent-sysv4
+	exit 0 ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit 0 ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit 0 ;;
+    i*86:*:5:7*)
+        # Fixed at (any) Pentium or better
+        UNAME_MACHINE=i586
+        if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then
+	    echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION}
+	else
+	    echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
+	fi
+	exit 0 ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit 0 ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit 0 ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit 0 ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit 0 ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit 0 ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit 0 ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit 0 ;;
+    M68*:*:R3V[567]*:*)
+	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+    3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && echo i486-ncr-sysv4 && exit 0 ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit 0 ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit 0 ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit 0 ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit 0 ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit 0 ;;
+    PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                           # says <Richard.M.Bartel at ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit 0 ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes at openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit 0 ;;
+    *:*:*:FTX*)
+	# From seanf at swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit 0 ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit 0 ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit 0 ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit 0 ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit 0 ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit 0 ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit 0 ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit 0 ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit 0 ;;
+    *:Darwin:*:*)
+	echo `uname -p`-apple-darwin${UNAME_RELEASE}
+	exit 0 ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	if test "${UNAME_MACHINE}" = "x86pc"; then
+		UNAME_MACHINE=pc
+	fi
+	echo `uname -p`-${UNAME_MACHINE}-nto-qnx
+	exit 0 ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit 0 ;;
+    NSR-[KW]:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit 0 ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit 0 ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit 0 ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit 0 ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit 0 ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit 0 ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit 0 ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit 0 ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit 0 ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit 0 ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit 0 ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
+rm -f $dummy.c $dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit 0 ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit 0 ;;
+    c34*)
+	echo c34-convex-bsd
+	exit 0 ;;
+    c38*)
+	echo c38-convex-bsd
+	exit 0 ;;
+    c4*)
+	echo c4-convex-bsd
+	exit 0 ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+    ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches at gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.sub
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.sub	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/config.sub	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1362 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+#   Free Software Foundation, Inc.
+
+timestamp='2001-05-11'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches at gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches at gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit 0 ;;
+    --version | -v )
+       echo "$version" ; exit 0 ;;
+    --help | --h* | -h )
+       echo "$usage"; exit 0 ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit 0;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
+	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
+		| pyramid | mn10200 | mn10300 | tron | a29k \
+		| 580 | i960 | h8300 \
+		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
+		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
+		| hppa64 \
+		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
+		| alphaev6[78] \
+		| we32k | ns16k | clipper | i370 | sh | sh[34] \
+		| powerpc | powerpcle \
+		| 1750a | dsp16xx | pdp10 | pdp11 \
+		| mips16 | mips64 | mipsel | mips64el \
+		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
+		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
+		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
+		| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
+		| v850 | c4x \
+		| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
+		| pj | pjl | h8500 | z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65 | z8k)
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	# FIXME: clean up the formatting here.
+	vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
+	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
+	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
+	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
+	      | xmp-* | ymp-* \
+	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
+	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
+	      | hppa2.0n-* | hppa64-* \
+	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
+	      | alphaev6[78]-* \
+	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
+	      | clipper-* | orion-* \
+	      | sparclite-* | pdp10-* | pdp11-* | sh-* | sh[34]-* | sh[34]eb-* \
+	      | powerpc-* | powerpcle-* | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
+	      | mips16-* | mips64-* | mipsel-* \
+	      | mips64el-* | mips64orion-* | mips64orionel-* \
+	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
+	      | mipstx39-* | mipstx39el-* | mcore-* \
+	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
+	      | [cjt]90-* \
+	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
+	      | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
+	      | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	cray2)
+		basic_machine=cray2-cray
+		os=-unicos
+		;;
+	[cjt]90)
+		basic_machine=${basic_machine}-cray
+		os=-unicos
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mipsel*-linux*)
+		basic_machine=mipsel-unknown
+		os=-linux-gnu
+		;;
+	mips*-linux*)
+		basic_machine=mips-unknown
+		os=-linux-gnu
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	mmix*)
+		basic_machine=mmix-knuth
+		os=-mmixware
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+        pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pentium | p5 | k5 | k6 | nexgen)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2)
+		basic_machine=i686-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+	        ;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+	        ;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sparclite-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=t3e-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xmp)
+		basic_machine=xmp-cray
+		os=-unicos
+		;;
+        xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	mips)
+		if [ x$os = x-linux-gnu ]; then
+			basic_machine=mips-unknown
+		else
+			basic_machine=mips-mips
+		fi
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh3 | sh4)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv9 | sparcv9b)
+		basic_machine=sparc-sun
+		;;
+        cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	c4x*)
+		basic_machine=c4x-none
+		os=-coff
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
+	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto*)
+		os=-nto-qnx
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-ns2 )
+	        os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+	        os=-mint
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+	pdp10-*)
+		os=-tops20
+		;;
+        pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-ibm)
+		os=-aix
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+        *-gould)
+		os=-sysv
+		;;
+        *-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+        *-sgi)
+		os=-irix
+		;;
+        *-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-vxsim* | -vxworks*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/install.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/install.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/jsvc-src/support/install.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,127 @@
+#!/bin/sh
+#
+#   Copyright 1999-2004 The Apache Software Foundation
+#
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+#
+##
+##  install.sh -- install a program, script or datafile
+##
+##  Based on `install-sh' from the X Consortium's X11R5 distribution
+##  as of 89/12/18 which is freely available.
+##  Cleaned up for Apache's Autoconf-style Interface (APACI)
+##  by Ralf S. Engelschall <rse at apache.org>
+##
+#
+# This script falls under the Apache License.
+# See http://www.apache.org/docs/LICENSE
+
+
+#
+#   put in absolute paths if you don't have them in your path; 
+#   or use env. vars.
+#
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+
+#
+#   parse argument line
+#
+instcmd="$mvprog"
+chmodcmd=""
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+ext=""
+src=""
+dst=""
+while [ "x$1" != "x" ]; do
+    case $1 in
+        -c) instcmd="$cpprog"
+            shift; continue
+            ;;
+        -m) chmodcmd="$chmodprog $2"
+            shift; shift; continue
+            ;;
+        -o) chowncmd="$chownprog $2"
+            shift; shift; continue
+            ;;
+        -g) chgrpcmd="$chgrpprog $2"
+            shift; shift; continue
+            ;;
+        -s) stripcmd="$stripprog"
+            shift; continue
+            ;;
+        -S) stripcmd="$stripprog $2"
+            shift; shift; continue
+            ;;
+        -e) ext="$2"
+            shift; shift; continue
+            ;;
+        *)  if [ "x$src" = "x" ]; then
+                src=$1
+            else
+                dst=$1
+            fi
+            shift; continue
+            ;;
+    esac
+done
+if [ "x$src" = "x" ]; then
+     echo "install.sh: no input file specified"
+     exit 1
+fi
+if [ "x$dst" = "x" ]; then
+     echo "install.sh: no destination specified"
+     exit 1
+fi
+
+#
+#  If destination is a directory, append the input filename; if
+#  your system does not like double slashes in filenames, you may
+#  need to add some logic
+#
+if [ -d $dst ]; then
+    dst="$dst/`basename $src`"
+fi
+
+#  Add a possible extension (such as ".exe") to src and dst
+src="$src$ext"
+dst="$dst$ext"
+
+#  Make a temp file name in the proper directory.
+dstdir=`dirname $dst`
+dsttmp=$dstdir/#inst.$$#
+
+#  Move or copy the file name to the temp name
+$instcmd $src $dsttmp
+
+#  And set any options; do chmod last to preserve setuid bits
+if [ "x$chowncmd" != "x" ]; then $chowncmd $dsttmp; fi
+if [ "x$chgrpcmd" != "x" ]; then $chgrpcmd $dsttmp; fi
+if [ "x$stripcmd" != "x" ]; then $stripcmd $dsttmp; fi
+if [ "x$chmodcmd" != "x" ]; then $chmodcmd $dsttmp; fi
+
+#  Now rename the file to the real destination.
+$rmcmd $dst
+$mvcmd $dsttmp $dst
+
+exit 0
+

Added: cs/trunk/apps-local/apache-tomcat/bin/jsvc.tar.gz
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/jsvc.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/service.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/service.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/service.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem NT Service Install/Uninstall script
+rem
+rem Options
+rem install                Install the service using Tomcat5 as service name.
+rem                        Service is installed using default settings.
+rem remove                 Remove the service from the System.
+rem
+rem name        (optional) If the second argument is present it is considered
+rem                        to be new service name                                           
+rem
+rem $Id: service.bat 414655 2006-06-15 18:56:42Z yoavs $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%cd%
+if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome
+rem CD to the upper dir
+cd ..
+set CATALINA_HOME=%cd%
+:gotHome
+if exist "%CATALINA_HOME%\bin\tomcat5.exe" goto okHome
+echo The tomcat.exe was not found...
+echo The CATALINA_HOME environment variable is not defined correctly.
+echo This environment variable is needed to run this program
+goto end
+rem Make sure prerequisite environment variables are set
+if not "%JAVA_HOME%" == "" goto okHome
+echo The JAVA_HOME environment variable is not defined
+echo This environment variable is needed to run this program
+goto end 
+:okHome
+if not "%CATALINA_BASE%" == "" goto gotBase
+set CATALINA_BASE=%CATALINA_HOME%
+:gotBase
+ 
+set EXECUTABLE=%CATALINA_HOME%\bin\tomcat5.exe
+
+rem Set default Service name
+set SERVICE_NAME=Tomcat5
+set PR_DISPLAYNAME=Apache Tomcat
+
+if "%1" == "" goto displayUsage
+if "%2" == "" goto setServiceName
+set SERVICE_NAME=%2
+set PR_DISPLAYNAME=Apache Tomcat %2
+:setServiceName
+if %1 == install goto doInstall
+if %1 == remove goto doRemove
+if %1 == uninstall goto doRemove
+echo Unknown parameter "%1"
+:displayUsage
+echo.
+echo Usage: service.bat install/remove [service_name]
+goto end
+
+:doRemove
+rem Remove the service
+"%EXECUTABLE%" //DS//%SERVICE_NAME%
+echo The service '%SERVICE_NAME%' has been removed
+goto end
+
+:doInstall
+rem Install the service
+echo Installing the service '%SERVICE_NAME%' ...
+echo Using CATALINA_HOME:    %CATALINA_HOME%
+echo Using CATALINA_BASE:    %CATALINA_BASE%
+echo Using JAVA_HOME:        %JAVA_HOME%
+
+rem Use the environment variables as an example
+rem Each command line option is prefixed with PR_
+
+set PR_DESCRIPTION=Apache Tomcat Server - http://tomcat.apache.org
+set PR_INSTALL=%EXECUTABLE%
+set PR_LOGPATH=%CATALINA_BASE%\logs
+set PR_CLASSPATH=%CATALINA_HOME%\bin\bootstrap.jar
+
+rem Set the server jvm from JAVA_HOME
+set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
+if exist "%PR_JVM%" goto foundJvm
+rem Set the client jvm from JAVA_HOME
+set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
+if exist "%PR_JVM%" goto foundJvm
+rem Check for JRockit JVM: Bugzilla 39674
+set PR_JVM=%JAVA_HOME%\jre\bin\jrockit\jvm.dll
+if exist "%PR_JVM%" goto foundJvm
+set PR_JVM=auto
+
+:foundJvm
+echo Using JVM:              %PR_JVM%
+"%EXECUTABLE%" //IS//%SERVICE_NAME% --StartClass org.apache.catalina.startup.Bootstrap --StopClass org.apache.catalina.startup.Bootstrap --StartParams start --StopParams stop
+if not errorlevel 1 goto installed
+echo Failed installing '%SERVICE_NAME%' service
+goto end
+:installed
+rem Clear the environment variables. They are not needed any more.
+set PR_DISPLAYNAME=
+set PR_DESCRIPTION=
+set PR_INSTALL=
+set PR_LOGPATH=
+set PR_CLASSPATH=
+set PR_JVM=
+rem Set extra parameters
+"%EXECUTABLE%" //US//%SERVICE_NAME% --JvmOptions "-Dcatalina.base=%CATALINA_BASE%;-Dcatalina.home=%CATALINA_HOME%;-Djava.endorsed.dirs=%CATALINA_HOME%\common\endorsed" --StartMode jvm --StopMode jvm
+rem More extra parameters
+set PR_LOGPATH=%CATALINA_BASE%\logs
+set PR_STDOUTPUT=auto
+set PR_STDERROR=auto
+"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 128 --JvmMx 256
+echo The service '%SERVICE_NAME%' has been installed.
+
+:end
+cd %CURRENT_DIR%

Added: cs/trunk/apps-local/apache-tomcat/bin/setclasspath.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/setclasspath.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/setclasspath.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+rem ---------------------------------------------------------------------------
+rem Set CLASSPATH and Java options
+rem
+rem $Id: setclasspath.bat 355227 2005-12-08 21:44:16Z keith $
+rem ---------------------------------------------------------------------------
+
+rem Make sure prerequisite environment variables are set
+if not "%JAVA_HOME%" == "" goto gotJdkHome
+if not "%JRE_HOME%" == "" goto gotJreHome
+echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
+echo At least one of these environment variable is needed to run this program
+goto exit
+
+:gotJreHome
+if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
+if not exist "%JRE_HOME%\bin\javaw.exe" goto noJavaHome
+if not ""%1"" == ""debug"" goto okJavaHome
+echo JAVA_HOME should point to a JDK in order to run in debug mode.
+goto exit
+
+:gotJdkHome
+if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\javaw.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\jdb.exe" goto noJavaHome
+if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
+if not "%JRE_HOME%" == "" goto okJavaHome
+set JRE_HOME=%JAVA_HOME%
+goto okJavaHome
+
+:noJavaHome
+echo The JAVA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+echo NB: JAVA_HOME should point to a JDK not a JRE
+goto exit
+:okJavaHome
+
+if not "%BASEDIR%" == "" goto gotBasedir
+echo The BASEDIR environment variable is not defined
+echo This environment variable is needed to run this program
+goto exit
+:gotBasedir
+if exist "%BASEDIR%\bin\setclasspath.bat" goto okBasedir
+echo The BASEDIR environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto exit
+:okBasedir
+
+rem Set the default -Djava.endorsed.dirs argument
+set JAVA_ENDORSED_DIRS=%BASEDIR%\common\endorsed
+
+rem Set standard CLASSPATH
+rem Note that there are no quotes as we do not want to introduce random
+rem quotes into the CLASSPATH
+set CLASSPATH=%JAVA_HOME%\lib\tools.jar
+
+rem Set standard command for invoking Java.
+rem Note that NT requires a window name argument when using start.
+rem Also note the quoting as JAVA_HOME may contain spaces.
+set _RUNJAVA="%JRE_HOME%\bin\java"
+set _RUNJAVAW="%JRE_HOME%\bin\javaw"
+set _RUNJDB="%JAVA_HOME%\bin\jdb"
+set _RUNJAVAC="%JAVA_HOME%\bin\javac"
+
+goto end
+
+:exit
+exit /b 1
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/setclasspath.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/setclasspath.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/setclasspath.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+#  Set CLASSPATH and Java options
+#
+#  $Id: setclasspath.sh 345508 2005-11-18 15:54:56Z yoavs $
+# -----------------------------------------------------------------------------
+
+# First clear out the user classpath
+CLASSPATH=
+
+# Make sure prerequisite environment variables are set
+if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
+  # Bugzilla 37284
+  if $darwin && [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home" ]; then
+    export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home"
+  else
+    echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
+    echo "At least one of these environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then
+  echo "JAVA_HOME should point to a JDK in order to run in debug mode."
+  exit 1
+fi
+if [ -z "$JRE_HOME" ]; then
+  JRE_HOME="$JAVA_HOME"
+fi
+
+# If we're running under jdb, we need a full jdk.
+if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+  if [ "$os400" = "true" ]; then
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  else
+    if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then
+      echo "The JAVA_HOME environment variable is not defined correctly"
+      echo "This environment variable is needed to run this program"
+      echo "NB: JAVA_HOME should point to a JDK not a JRE"
+      exit 1
+    fi
+  fi
+fi
+if [ -z "$BASEDIR" ]; then
+  echo "The BASEDIR environment variable is not defined"
+  echo "This environment variable is needed to run this program"
+  exit 1
+fi
+if [ ! -x "$BASEDIR"/bin/setclasspath.sh ]; then
+  if $os400; then
+    # -x will Only work on the os400 if the files are:
+    # 1. owned by the user
+    # 2. owned by the PRIMARY group of the user
+    # this will not work if the user belongs in secondary groups
+    eval
+  else
+    echo "The BASEDIR environment variable is not defined correctly"
+    echo "This environment variable is needed to run this program"
+    exit 1
+  fi
+fi
+
+# Set the default -Djava.endorsed.dirs argument
+JAVA_ENDORSED_DIRS="$BASEDIR"/common/endorsed
+
+# Set standard CLASSPATH
+if [ "$1" = "debug" -o "$1" = "javac" ] ; then
+  CLASSPATH="$JAVA_HOME"/lib/tools.jar
+fi
+
+# OSX hack to CLASSPATH
+JIKESPATH=
+if [ `uname -s` = "Darwin" ]; then
+  OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
+  if [ -d "$OSXHACK" ]; then
+    for i in "$OSXHACK"/*.jar; do
+      JIKESPATH="$JIKESPATH":"$i"
+    done
+  fi
+fi
+
+# Set standard commands for invoking Java.
+  _RUNJAVA="$JRE_HOME"/bin/java
+if [ "$os400" != "true" ]; then
+  _RUNJDB="$JAVA_HOME"/bin/jdb
+fi
+_RUNJAVAC="$JAVA_HOME"/bin/javac


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/setclasspath.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/shutdown.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/shutdown.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/shutdown.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Stop script for the CATALINA Server
+rem
+rem $Id: shutdown.bat 302913 2004-05-27 15:05:01Z yoavs $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" stop %CMD_LINE_ARGS%
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/shutdown.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/shutdown.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/shutdown.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Stop script for the CATALINA Server
+#
+# $Id: shutdown.sh 385888 2006-03-14 21:04:40Z keith $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" stop "$@"


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/shutdown.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/startup.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/startup.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/startup.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Start script for the CATALINA Server
+rem
+rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" start %CMD_LINE_ARGS%
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/startup.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/startup.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/startup.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Start Script for the CATALINA Server
+#
+# $Id: startup.sh 385888 2006-03-14 21:04:40Z keith $
+# -----------------------------------------------------------------------------
+
+# Better OS/400 detection: see Bugzilla 31132
+os400=false
+darwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+OS400*) os400=true;;
+Darwin*) darwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+ 
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if $os400; then
+  # -x will Only work on the os400 if the files are: 
+  # 1. owned by the user
+  # 2. owned by the PRIMARY group of the user
+  # this will not work if the user belongs in secondary groups
+  eval
+else
+  if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+    echo "Cannot find $PRGDIR/$EXECUTABLE"
+    echo "This file is needed to run this program"
+    exit 1
+  fi
+fi 
+
+exec "$PRGDIR"/"$EXECUTABLE" start "$@"


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/startup.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/tomcat-juli.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/tomcat-juli.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/tomcat-native.tar.gz
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/tomcat-native.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/tomcat5.exe
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/tomcat5.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/tomcat5w.exe
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/tomcat5w.exe
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Wrapper script for command line tools
+rem
+rem Environment Variable Prequisites
+rem
+rem   CATALINA_HOME May point at your Catalina "build" directory.
+rem
+rem   TOOL_OPTS     (Optional) Java runtime options used when the "start",
+rem                 "stop", or "run" command is executed.
+rem
+rem   JAVA_HOME     Must point at your Java Development Kit installation.
+rem
+rem   JAVA_OPTS     (Optional) Java runtime options used when the "start",
+rem                 "stop", or "run" command is executed.
+rem
+rem $Id: tool-wrapper.bat 303419 2004-10-25 18:08:08Z markt $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=.
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+set CATALINA_HOME=..
+:gotHome
+if exist "%CATALINA_HOME%\bin\tool-wrapper.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+rem Get standard environment variables
+if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"
+
+rem Get standard Java environment variables
+if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
+echo Cannot find %CATALINA_HOME%\bin\setclasspath.bat
+echo This file is needed to run this program
+goto end
+:okSetclasspath
+set BASEDIR=%CATALINA_HOME%
+call "%CATALINA_HOME%\bin\setclasspath.bat"
+
+rem Add on extra jar files to CLASSPATH
+set CLASSPATH=%CLASSPATH%;%CATALINA_HOME%\bin\bootstrap.jar;"%BASEDIR%"\common\lib\jmx.jar;"%BASEDIR%"\common\lib\servlet-api.jar
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+%_RUNJAVA% %JAVA_OPTS% %TOOL_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.home="%CATALINA_HOME%" org.apache.catalina.startup.Tool %CMD_LINE_ARGS%
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,78 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Wrapper script for command line tools
+#
+# Environment Variable Prequisites
+#
+#   CATALINA_HOME May point at your Catalina "build" directory.
+#
+#   TOOL_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+#
+#   JAVA_HOME     Must point at your Java Development Kit installation.
+#
+#   JAVA_OPTS     (Optional) Java runtime options used when the "start",
+#                 "stop", or "run" command is executed.
+#
+# $Id: tool-wrapper.sh 385888 2006-03-14 21:04:40Z keith $
+# -----------------------------------------------------------------------------
+
+# OS specific support.  $var _must_ be set to either true or false.
+cygwin=false
+case "`uname`" in
+CYGWIN*) cygwin=true;;
+esac
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ]; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+# Get standard environment variables
+PRGDIR=`dirname "$PRG"`
+CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`
+if [ -r "$CATALINA_HOME"/bin/setenv.sh ]; then
+  . "$CATALINA_HOME"/bin/setenv.sh
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin; then
+  [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+  [ -n "$CATALINA_HOME" ] && CATALINA_HOME=`cygpath --unix "$CATALINA_HOME"`
+  [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# Get standard Java environment variables
+if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
+  BASEDIR="$CATALINA_HOME"
+  . "$CATALINA_HOME"/bin/setclasspath.sh
+else
+  echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+# Add on extra jar files to CLASSPATH
+CLASSPATH="$CLASSPATH":"$CATALINA_HOME"/bin/bootstrap.jar:"$BASEDIR"/common/lib/jmx.jar:"$BASEDIR"/common/lib/servlet-api.jar
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+  JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+  CATALINA_HOME=`cygpath --path --windows "$CATALINA_HOME"`
+  CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+fi
+
+# ----- Execute The Requested Command -----------------------------------------
+
+exec "$_RUNJAVA" $JAVA_OPTS $TOOL_OPTS \
+  -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
+  -Dcatalina.home="$CATALINA_HOME" \
+  org.apache.catalina.startup.Tool "$@"


Property changes on: cs/trunk/apps-local/apache-tomcat/bin/tool-wrapper.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/apache-tomcat/bin/version.bat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/version.bat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/version.bat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+ at echo off
+if "%OS%" == "Windows_NT" setlocal
+rem ---------------------------------------------------------------------------
+rem Version script for the CATALINA Server
+rem
+rem $Id: version.bat 302987 2004-06-30 15:25:31Z funkman $
+rem ---------------------------------------------------------------------------
+
+rem Guess CATALINA_HOME if not defined
+set CURRENT_DIR=%cd%
+if not "%CATALINA_HOME%" == "" goto gotHome
+set CATALINA_HOME=%CURRENT_DIR%
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+cd ..
+set CATALINA_HOME=%cd%
+cd %CURRENT_DIR%
+:gotHome
+if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
+echo The CATALINA_HOME environment variable is not defined correctly
+echo This environment variable is needed to run this program
+goto end
+:okHome
+
+set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat
+
+rem Check that target executable exists
+if exist "%EXECUTABLE%" goto okExec
+echo Cannot find %EXECUTABLE%
+echo This file is needed to run this program
+goto end
+:okExec
+
+rem Get remaining unshifted command line arguments and save them in the
+set CMD_LINE_ARGS=
+:setArgs
+if ""%1""=="""" goto doneSetArgs
+set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
+shift
+goto setArgs
+:doneSetArgs
+
+call "%EXECUTABLE%" version %CMD_LINE_ARGS%
+
+:end

Added: cs/trunk/apps-local/apache-tomcat/bin/version.sh
===================================================================
--- cs/trunk/apps-local/apache-tomcat/bin/version.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/bin/version.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+#!/bin/sh
+# -----------------------------------------------------------------------------
+# Version Script for the CATALINA Server
+#
+# $Id: version.sh 385888 2006-03-14 21:04:40Z keith $
+# -----------------------------------------------------------------------------
+
+# resolve links - $0 may be a softlink
+PRG="$0"
+
+while [ -h "$PRG" ] ; do
+  ls=`ls -ld "$PRG"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '/.*' > /dev/null; then
+    PRG="$link"
+  else
+    PRG=`dirname "$PRG"`/"$link"
+  fi
+done
+
+PRGDIR=`dirname "$PRG"`
+EXECUTABLE=catalina.sh
+
+# Check that target executable exists
+if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
+  echo "Cannot find $PRGDIR/$EXECUTABLE"
+  echo "This file is needed to run this program"
+  exit 1
+fi
+
+exec "$PRGDIR"/"$EXECUTABLE" version "$@"

Added: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-en.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-en.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-es.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-es.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-fr.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-fr.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-ja.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/i18n/tomcat-i18n-ja.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/commons-el.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/commons-el.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler-jdt.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler-jdt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-compiler.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-runtime.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/jasper-runtime.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/jsp-api.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/jsp-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/mysql-connector-java-5.0.5-bin.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/mysql-connector-java-5.0.5-bin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory-dbcp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory-dbcp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/naming-factory.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/naming-resources.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/naming-resources.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/common/lib/servlet-api.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/common/lib/servlet-api.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/admin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<!--
+
+    Context configuration file for the Tomcat Administration Web App
+
+    $Id: admin.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/admin" privileged="true"
+         antiResourceLocking="false" antiJARLocking="false">
+
+  <!-- Uncomment this Valve to limit access to the Admin app to localhost
+   for obvious security reasons. Allow may be a comma-separated list of
+   hosts (or even regular expressions).
+  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
+    allow="127.0.0.1"/>
+  -->
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/host-manager.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/host-manager.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/host-manager.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<!--
+
+    Context configuration file for the Tomcat Host Manager Web App
+
+    $Id: host-manager.xml 303743 2005-03-11 22:39:26Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/host-manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/manager.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/manager.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/Catalina/localhost/manager.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!--
+
+    Context configuration file for the Tomcat Manager Web App
+
+    $Id: manager.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+  <!-- Link to the user database we will get roles from -->
+  <ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/>
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/conf/catalina.policy
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/catalina.policy	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/catalina.policy	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 5
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: catalina.policy 393732 2006-04-13 06:32:25Z pero $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the launcher code
+grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the daemon code
+grant codeBase "file:${catalina.home}/bin/commons-daemon.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the commons-logging API
+grant codeBase "file:${catalina.home}/bin/commons-logging-api.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the JMX server
+grant codeBase "file:${catalina.home}/bin/jmx.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to JULI
+grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "common" directory
+grant codeBase "file:${catalina.home}/common/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the container's core code, plus any additional
+// libraries installed in the "server" directory
+grant codeBase "file:${catalina.home}/server/-" {
+        permission java.security.AllPermission;
+};
+
+// The permissions granted to the balancer WEB-INF/classes and WEB-INF/lib directory
+grant codeBase "file:${catalina.home}/webapps/balancer/-" {
+        permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester";
+        permission java.lang.RuntimePermission "accessClassInPackage.org.apache.tomcat.util.digester.*";
+};
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+    // Required for JNDI lookup of named JDBC DataSource's and
+    // javamail named MimePart DataSource used to send mail
+    permission java.util.PropertyPermission "java.home", "read";
+    permission java.util.PropertyPermission "java.naming.*", "read";
+    permission java.util.PropertyPermission "javax.sql.*", "read";
+
+    // OS Specific properties to allow read access
+    permission java.util.PropertyPermission "os.name", "read";
+    permission java.util.PropertyPermission "os.version", "read";
+    permission java.util.PropertyPermission "os.arch", "read";
+    permission java.util.PropertyPermission "file.separator", "read";
+    permission java.util.PropertyPermission "path.separator", "read";
+    permission java.util.PropertyPermission "line.separator", "read";
+
+    // JVM properties to allow read access
+    permission java.util.PropertyPermission "java.version", "read";
+    permission java.util.PropertyPermission "java.vendor", "read";
+    permission java.util.PropertyPermission "java.vendor.url", "read";
+    permission java.util.PropertyPermission "java.class.version", "read";
+	permission java.util.PropertyPermission "java.specification.version", "read";
+	permission java.util.PropertyPermission "java.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.specification.name", "read";
+
+	permission java.util.PropertyPermission "java.vm.specification.version", "read";
+	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.specification.name", "read";
+	permission java.util.PropertyPermission "java.vm.version", "read";
+	permission java.util.PropertyPermission "java.vm.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.name", "read";
+
+    // Required for OpenJMX
+    permission java.lang.RuntimePermission "getAttribute";
+
+	// Allow read of JAXP compliant XML parser debug
+	permission java.util.PropertyPermission "jaxp.debug", "read";
+
+    // Precompiled JSPs need access to this package.
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime";
+    permission java.lang.RuntimePermission "accessClassInPackage.org.apache.jasper.runtime.*";
+    
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+

Added: cs/trunk/apps-local/apache-tomcat/conf/catalina.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/catalina.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/catalina.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.,sun.beans.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,org.apache.jasper.
+
+#
+#
+# List of comma-separated paths defining the contents of the "common" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank,the JVM system loader will be used as Catalina's "common" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+common.loader=${catalina.home}/common/classes,${catalina.home}/common/i18n/*.jar,${catalina.home}/common/endorsed/*.jar,${catalina.home}/common/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "server" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_HOME or CATALINA_BASE path or absolute.
+# If left as blank, the "common" loader will be used as Catalina's "server" 
+# loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository
+server.loader=${catalina.home}/server/classes,${catalina.home}/server/lib/*.jar
+
+#
+# List of comma-separated paths defining the contents of the "shared" 
+# classloader. Prefixes should be used to define what is the repository type.
+# Path may be relative to the CATALINA_BASE path or absolute. If left as blank,
+# the "common" loader will be used as Catalina's "shared" loader.
+# Examples:
+#     "foo": Add this folder as a class repository
+#     "foo/*.jar": Add all the JARs of the specified folder as class 
+#                  repositories
+#     "foo/bar.jar": Add bar.jar as a class repository 
+# Please note that for individual jar files, e.g. bar.jar, you need the URL form
+# starting with file:.
+shared.loader=${catalina.base}/shared/classes,${catalina.base}/shared/lib/*.jar
+
+#
+# String cache configuration.
+tomcat.util.buf.StringCache.byte.enabled=true
+#tomcat.util.buf.StringCache.char.enabled=true
+#tomcat.util.buf.StringCache.trainThreshold=500000
+#tomcat.util.buf.StringCache.cacheSize=5000

Added: cs/trunk/apps-local/apache-tomcat/conf/context.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<!-- The contents of this file will be loaded for each web application -->
+<Context>
+
+    <!-- Default set of monitored resources -->
+    <WatchedResource>WEB-INF/web.xml</WatchedResource>
+	
+    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
+    <!--
+    <Manager pathname="" />
+    -->
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/conf/logging.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/logging.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/logging.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+5host-manager.org.apache.juli.FileHandler.level = FINE
+5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+5host-manager.org.apache.juli.FileHandler.prefix = host-manager.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = 4admin.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE

Added: cs/trunk/apps-local/apache-tomcat/conf/server-minimal.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/server-minimal.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/server-minimal.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<Server port="8005" shutdown="SHUTDOWN">
+
+  <GlobalNamingResources>
+    <!-- Used by Manager webapp -->
+    <Resource name="UserDatabase" auth="Container"
+              type="org.apache.catalina.UserDatabase"
+       description="User database that can be updated and saved"
+           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+          pathname="conf/tomcat-users.xml" />
+  </GlobalNamingResources>
+
+  <Service name="Catalina">
+    <Connector port="8080" />
+
+    <!-- This is here for compatibility only, not required -->
+    <Connector port="8009" protocol="AJP/1.3" />
+
+    <Engine name="Catalina" defaultHost="localhost">
+      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+             resourceName="UserDatabase" />
+      <Host name="localhost" appBase="webapps" />
+    </Engine>
+    
+  </Service>
+</Server>

Added: cs/trunk/apps-local/apache-tomcat/conf/server.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/server.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/server.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,374 @@
+<!-- Example Server Configuration File -->
+<!-- Note that component elements are nested corresponding to their
+     parent-child relationships with each other -->
+
+<!-- A "Server" is a singleton element that represents the entire JVM,
+     which may contain one or more "Service" instances.  The Server
+     listens for a shutdown command on the indicated port.
+
+     Note:  A "Server" is not itself a "Container", so you may not
+     define subcomponents such as "Valves" or "Loggers" at this level.
+ -->
+
+<Server port="8005" shutdown="SHUTDOWN">
+
+  <!-- Comment these entries out to disable JMX MBeans support used for the 
+       administration web application -->
+  <Listener className="org.apache.catalina.core.AprLifecycleListener" />
+  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
+
+  <!-- Global JNDI resources -->
+  <GlobalNamingResources>
+
+    <!-- Test entry for demonstration purposes -->
+    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
+
+    <!-- Editable user database that can also be used by
+         UserDatabaseRealm to authenticate users -->
+    <Resource name="UserDatabase" auth="Container"
+              type="org.apache.catalina.UserDatabase"
+       description="User database that can be updated and saved"
+           factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+          pathname="conf/tomcat-users.xml" />
+
+  </GlobalNamingResources>
+
+  <!-- A "Service" is a collection of one or more "Connectors" that share
+       a single "Container" (and therefore the web applications visible
+       within that Container).  Normally, that Container is an "Engine",
+       but this is not required.
+
+       Note:  A "Service" is not itself a "Container", so you may not
+       define subcomponents such as "Valves" or "Loggers" at this level.
+   -->
+
+  <!-- Define the Tomcat Stand-Alone Service -->
+  <Service name="Catalina">
+
+    <!-- A "Connector" represents an endpoint by which requests are received
+         and responses are returned.  Each Connector passes requests on to the
+         associated "Container" (normally an Engine) for processing.
+
+         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
+         You can also enable an SSL HTTP/1.1 Connector on port 8443 by
+         following the instructions below and uncommenting the second Connector
+         entry.  SSL support requires the following steps (see the SSL Config
+         HOWTO in the Tomcat 5 documentation bundle for more detailed
+         instructions):
+         * If your JDK version 1.3 or prior, download and install JSSE 1.0.2 or
+           later, and put the JAR files into "$JAVA_HOME/jre/lib/ext".
+         * Execute:
+             %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
+             $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
+           with a password value of "changeit" for both the certificate and
+           the keystore itself.
+
+         By default, DNS lookups are enabled when a web application calls
+         request.getRemoteHost().  This can have an adverse impact on
+         performance, so you can disable it by setting the
+         "enableLookups" attribute to "false".  When DNS lookups are disabled,
+         request.getRemoteHost() will return the String version of the
+         IP address of the remote client.
+    -->
+
+    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
+    <Connector port="8080" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" redirectPort="8443" acceptCount="100"
+               connectionTimeout="20000" disableUploadTimeout="true" />
+    <!-- Note : To disable connection timeouts, set connectionTimeout value
+     to 0 -->
+	
+	<!-- Note : To use gzip compression you could set the following properties :
+	
+			   compression="on" 
+			   compressionMinSize="2048" 
+			   noCompressionUserAgents="gozilla, traviata" 
+			   compressableMimeType="text/html,text/xml"
+	-->
+
+    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
+    <!--
+    <Connector port="8443" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" disableUploadTimeout="true"
+               acceptCount="100" scheme="https" secure="true"
+               clientAuth="false" sslProtocol="TLS" />
+    -->
+
+    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <Connector port="8009" 
+               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
+
+    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
+    <!-- See proxy documentation for more information about using this. -->
+    <!--
+    <Connector port="8082" 
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" acceptCount="100" connectionTimeout="20000"
+               proxyPort="80" disableUploadTimeout="true" />
+    -->
+
+    <!-- An Engine represents the entry point (within Catalina) that processes
+         every request.  The Engine implementation for Tomcat stand alone
+         analyzes the HTTP headers included with the request, and passes them
+         on to the appropriate Host (virtual host). -->
+
+    <!-- You should set jvmRoute to support load-balancing via AJP ie :
+    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">         
+    --> 
+         
+    <!-- Define the top level container in our container hierarchy -->
+    <Engine name="Catalina" defaultHost="localhost">
+
+      <!-- The request dumper valve dumps useful debugging information about
+           the request headers and cookies that were received, and the response
+           headers and cookies that were sent, for all requests received by
+           this instance of Tomcat.  If you care only about requests to a
+           particular virtual host, or a particular application, nest this
+           element inside the corresponding <Host> or <Context> entry instead.
+
+           For a similar mechanism that is portable to all Servlet 2.4
+           containers, check out the "RequestDumperFilter" Filter in the
+           example application (the source for this filter may be found in
+           "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
+
+           Note that this Valve uses the platform's default character encoding.
+           This may cause problems for developers in another encoding, e.g.
+           UTF-8.  Use the RequestDumperFilter instead.
+
+           Also note that enabling this Valve will write a ton of stuff to your
+           logs.  They are likely to grow quite large.  This extensive log writing
+           will definitely slow down your server.
+
+           Request dumping is disabled by default.  Uncomment the following
+           element to enable it. -->
+      <!--
+      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+      -->
+
+      <!-- Because this Realm is here, an instance will be shared globally -->
+
+      <!-- This Realm uses the UserDatabase configured in the global JNDI
+           resources under the key "UserDatabase".  Any edits
+           that are performed against this UserDatabase are immediately
+           available for use by the Realm.  -->
+      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+             resourceName="UserDatabase"/>
+
+      <!-- Comment out the old realm but leave here for now in case we
+           need to go back quickly -->
+      <!--
+      <Realm className="org.apache.catalina.realm.MemoryRealm" />
+      -->
+
+      <!-- Replace the above Realm with one of the following to get a Realm
+           stored in a database and accessed via JDBC -->
+
+      <!--
+      <Realm  className="org.apache.catalina.realm.JDBCRealm"
+             driverName="org.gjt.mm.mysql.Driver"
+          connectionURL="jdbc:mysql://localhost/authority"
+         connectionName="test" connectionPassword="test"
+              userTable="users" userNameCol="user_name" userCredCol="user_pass"
+          userRoleTable="user_roles" roleNameCol="role_name" />
+      -->
+
+      <!--
+      <Realm  className="org.apache.catalina.realm.JDBCRealm"
+             driverName="oracle.jdbc.driver.OracleDriver"
+          connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
+         connectionName="scott" connectionPassword="tiger"
+              userTable="users" userNameCol="user_name" userCredCol="user_pass"
+          userRoleTable="user_roles" roleNameCol="role_name" />
+      -->
+
+      <!--
+      <Realm  className="org.apache.catalina.realm.JDBCRealm"
+             driverName="sun.jdbc.odbc.JdbcOdbcDriver"
+          connectionURL="jdbc:odbc:CATALINA"
+              userTable="users" userNameCol="user_name" userCredCol="user_pass"
+          userRoleTable="user_roles" roleNameCol="role_name" />
+      -->
+
+      <!-- Define the default virtual host
+           Note: XML Schema validation will not work with Xerces 2.2.
+       -->
+      <Host name="localhost" appBase="webapps"
+       unpackWARs="true" autoDeploy="true"
+       xmlValidation="false" xmlNamespaceAware="false">
+
+        <!-- Defines a cluster for this node,
+             By defining this element, means that every manager will be changed.
+             So when running a cluster, only make sure that you have webapps in there
+             that need to be clustered and remove the other ones.
+             A cluster has the following parameters:
+
+             className = the fully qualified name of the cluster class
+
+             clusterName = a descriptive name for your cluster, can be anything
+
+             mcastAddr = the multicast address, has to be the same for all the nodes
+
+             mcastPort = the multicast port, has to be the same for all the nodes
+             
+             mcastBindAddress = bind the multicast socket to a specific address
+             
+             mcastTTL = the multicast TTL if you want to limit your broadcast
+             
+             mcastSoTimeout = the multicast readtimeout 
+
+             mcastFrequency = the number of milliseconds in between sending a "I'm alive" heartbeat
+
+             mcastDropTime = the number a milliseconds before a node is considered "dead" if no heartbeat is received
+
+             tcpThreadCount = the number of threads to handle incoming replication requests, optimal would be the same amount of threads as nodes 
+
+             tcpListenAddress = the listen address (bind address) for TCP cluster request on this host, 
+                                in case of multiple ethernet cards.
+                                auto means that address becomes
+                                InetAddress.getLocalHost().getHostAddress()
+
+             tcpListenPort = the tcp listen port
+
+             tcpSelectorTimeout = the timeout (ms) for the Selector.select() method in case the OS
+                                  has a wakup bug in java.nio. Set to 0 for no timeout
+
+             printToScreen = true means that managers will also print to std.out
+
+             expireSessionsOnShutdown = true means that 
+
+             useDirtyFlag = true means that we only replicate a session after setAttribute,removeAttribute has been called.
+                            false means to replicate the session after each request.
+                            false means that replication would work for the following piece of code: (only for SimpleTcpReplicationManager)
+                            <%
+                            HashMap map = (HashMap)session.getAttribute("map");
+                            map.put("key","value");
+                            %>
+             replicationMode = can be either 'pooled', 'synchronous' or 'asynchronous'.
+                               * Pooled means that the replication happens using several sockets in a synchronous way. Ie, the data gets replicated, then the request return. This is the same as the 'synchronous' setting except it uses a pool of sockets, hence it is multithreaded. This is the fastest and safest configuration. To use this, also increase the nr of tcp threads that you have dealing with replication.
+                               * Synchronous means that the thread that executes the request, is also the
+                               thread the replicates the data to the other nodes, and will not return until all
+                               nodes have received the information.
+                               * Asynchronous means that there is a specific 'sender' thread for each cluster node,
+                               so the request thread will queue the replication request into a "smart" queue,
+                               and then return to the client.
+                               The "smart" queue is a queue where when a session is added to the queue, and the same session
+                               already exists in the queue from a previous request, that session will be replaced
+                               in the queue instead of replicating two requests. This almost never happens, unless there is a 
+                               large network delay.
+        -->             
+        <!--
+            When configuring for clustering, you also add in a valve to catch all the requests
+            coming in, at the end of the request, the session may or may not be replicated.
+            A session is replicated if and only if all the conditions are met:
+            1. useDirtyFlag is true or setAttribute or removeAttribute has been called AND
+            2. a session exists (has been created)
+            3. the request is not trapped by the "filter" attribute
+
+            The filter attribute is to filter out requests that could not modify the session,
+            hence we don't replicate the session after the end of this request.
+            The filter is negative, ie, anything you put in the filter, you mean to filter out,
+            ie, no replication will be done on requests that match one of the filters.
+            The filter attribute is delimited by ;, so you can't escape out ; even if you wanted to.
+
+            filter=".*\.gif;.*\.js;" means that we will not replicate the session after requests with the URI
+            ending with .gif and .js are intercepted.
+            
+            The deployer element can be used to deploy apps cluster wide.
+            Currently the deployment only deploys/undeploys to working members in the cluster
+            so no WARs are copied upons startup of a broken node.
+            The deployer watches a directory (watchDir) for WAR files when watchEnabled="true"
+            When a new war file is added the war gets deployed to the local instance,
+            and then deployed to the other instances in the cluster.
+            When a war file is deleted from the watchDir the war is undeployed locally 
+            and cluster wide
+        -->
+        
+        <!--
+        <Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+                 managerClassName="org.apache.catalina.cluster.session.DeltaManager"
+                 expireSessionsOnShutdown="false"
+                 useDirtyFlag="true"
+                 notifyListenersOnReplication="true">
+
+            <Membership 
+                className="org.apache.catalina.cluster.mcast.McastService"
+                mcastAddr="228.0.0.4"
+                mcastPort="45564"
+                mcastFrequency="500"
+                mcastDropTime="3000"/>
+
+            <Receiver 
+                className="org.apache.catalina.cluster.tcp.ReplicationListener"
+                tcpListenAddress="auto"
+                tcpListenPort="4001"
+                tcpSelectorTimeout="100"
+                tcpThreadCount="6"/>
+
+            <Sender
+                className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+                replicationMode="pooled"
+                ackTimeout="15000"
+                waitForAck="true"/>
+
+            <Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
+                   filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
+                   
+            <Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
+                      tempDir="/tmp/war-temp/"
+                      deployDir="/tmp/war-deploy/"
+                      watchDir="/tmp/war-listen/"
+                      watchEnabled="false"/>
+                      
+            <ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/>
+        </Cluster>
+        -->        
+
+
+
+        <!-- Normally, users must authenticate themselves to each web app
+             individually.  Uncomment the following entry if you would like
+             a user to be authenticated the first time they encounter a
+             resource protected by a security constraint, and then have that
+             user identity maintained across *all* web applications contained
+             in this virtual host. -->
+        <!--
+        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+        -->
+
+        <!-- Access log processes all requests for this virtual host.  By
+             default, log files are created in the "logs" directory relative to
+             $CATALINA_HOME.  If you wish, you can specify a different
+             directory with the "directory" attribute.  Specify either a relative
+             (to $CATALINA_HOME) or absolute path to the desired directory.
+        -->
+        <!--
+        <Valve className="org.apache.catalina.valves.AccessLogValve"
+                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
+                 pattern="common" resolveHosts="false"/>
+        -->
+
+        <!-- Access log processes all requests for this virtual host.  By
+             default, log files are created in the "logs" directory relative to
+             $CATALINA_HOME.  If you wish, you can specify a different
+             directory with the "directory" attribute.  Specify either a relative
+             (to $CATALINA_HOME) or absolute path to the desired directory.
+             This access log implementation is optimized for maximum performance,
+             but is hardcoded to support only the "common" and "combined" patterns.
+        -->
+        <!--
+        <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
+                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
+                 pattern="common" resolveHosts="false"/>
+        -->
+
+      </Host>
+
+    </Engine>
+
+  </Service>
+
+</Server>

Added: cs/trunk/apps-local/apache-tomcat/conf/tomcat-users.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/tomcat-users.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/tomcat-users.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='utf-8'?>
+<tomcat-users>
+  <role rolename="tomcat"/>
+  <role rolename="role1"/>
+  <role rolename="manager"/>
+  <role rolename="admin"/>
+  <user username="both" password="tomcat" roles="tomcat,role1"/>
+  <user username="role1" password="tomcat" roles="role1"/>
+  <user username="gridshpere" password="gridsphere" roles="admin,manager"/>
+  <user username="cigtg" password="tomcat" roles="tomcat"/>
+  <user username="admin" password="tomcat" roles="admin,manager"/>
+</tomcat-users>

Added: cs/trunk/apps-local/apache-tomcat/conf/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/conf/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/conf/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1164 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <!-- ======================== Introduction ============================== -->
+  <!-- This document defines default values for *all* web applications      -->
+  <!-- loaded into this instance of Tomcat.  As each application is         -->
+  <!-- deployed, this file is processed, followed by the                    -->
+  <!-- "/WEB-INF/web.xml" deployment descriptor from your own               -->
+  <!-- applications.                                                        -->
+  <!--                                                                      -->
+  <!-- WARNING:  Do not configure application-specific resources here!      -->
+  <!-- They should go in the "/WEB-INF/web.xml" file in your application.   -->
+
+
+  <!-- ================== Built In Servlet Definitions ==================== -->
+
+
+  <!-- The default servlet for all web applications, that serves static     -->
+  <!-- resources.  It processes all requests that are not mapped to other   -->
+  <!-- servlets with servlet mappings (defined either here or in your own   -->
+  <!-- web.xml file.  This servlet supports the following initialization    -->
+  <!-- parameters (default values are in square brackets):                  -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   fileEncoding        Encoding to be used to read static resources   -->
+  <!--                       [platform default]                             -->
+  <!--                                                                      -->
+  <!--   input               Input buffer size (in bytes) when reading      -->
+  <!--                       resources to be served.  [2048]                -->
+  <!--                                                                      -->
+  <!--   listings            Should directory listings be produced if there -->
+  <!--                       is no welcome file in this directory?  [false] -->
+  <!--                       WARNING: Listings for directories with many    -->
+  <!--                       entries can be slow and may consume            -->
+  <!--                       significant proportions of server resources.   -->
+  <!--                                                                      -->
+  <!--   output              Output buffer size (in bytes) when writing     -->
+  <!--                       resources to be served.  [2048]                -->
+  <!--                                                                      -->
+  <!--   readonly            Is this context "read only", so HTTP           -->
+  <!--                       commands like PUT and DELETE are               -->
+  <!--                       rejected?  [true]                              -->
+  <!--                                                                      -->
+  <!--   readmeFile          File name to display with the directory        -->
+  <!--                       contents. [null]                               -->
+  <!--                                                                      -->
+  <!--   sendfileSize        If the connector used supports sendfile, this  -->
+  <!--                       represents the minimal file size in KB for     -->
+  <!--                       which sendfile will be used. Use a negative    -->
+  <!--                       value to always disable sendfile.  [48]        -->
+  <!--                                                                      -->
+  <!--  For directory listing customization. Checks localXsltFile, then     -->
+  <!--  globalXsltFile, then defaults to original behavior.                 -->
+  <!--                                                                      -->
+  <!--   localXsltFile       Make directory listings an XML doc and         -->
+  <!--                       pass the result to this style sheet residing   -->
+  <!--                       in that directory. This overrides              -->
+  <!--                        globalXsltFile[null]                          -->
+  <!--                                                                      -->
+  <!--   globalXsltFile      Site wide configuration version of             -->
+  <!--                       localXsltFile This argument is expected        -->
+  <!--                       to be a physical file. [null]                  -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+
+    <servlet>
+        <servlet-name>default</servlet-name>
+        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>0</param-value>
+        </init-param>
+        <init-param>
+            <param-name>listings</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+
+  <!-- The "invoker" servlet, which executes anonymous servlet classes      -->
+  <!-- that have not been defined in a web.xml file.  Traditionally, this   -->
+  <!-- servlet is mapped to the URL pattern "/servlet/*", but you can map   -->
+  <!-- it to other patterns as well.  The extra path info portion of such a -->
+  <!-- request must be the fully qualified class name of a Java class that  -->
+  <!-- implements Servlet (or extends HttpServlet), or the servlet name     -->
+  <!-- of an existing servlet definition.     This servlet supports the     -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+
+<!--
+    <servlet>
+        <servlet-name>invoker</servlet-name>
+        <servlet-class>
+          org.apache.catalina.servlets.InvokerServlet
+        </servlet-class>
+        <init-param>
+            <param-name>debug</param-name>
+            <param-value>0</param-value>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
+  <!-- used by Tomcat to support JSP pages.  Traditionally, this servlet    -->
+  <!-- is mapped to the URL pattern "*.jsp".  This servlet supports the     -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   checkInterval       If development is false and checkInterval is   -->
+  <!--                       greater than zero, background compilations are -->
+  <!--                       enabled. checkInterval is the time in seconds  -->
+  <!--                       between checks to see if a JSP page needs to   -->
+  <!--                       be recompiled. [0]                             -->
+  <!--                                                                      -->
+  <!--   modificationTestInterval                                           -->
+  <!--                       Causes a JSP (and its dependent files) to not  -->
+  <!--                       be checked for modification during the         -->
+  <!--                       specified time interval (in seconds) from the  -->
+  <!--                       last time the JSP was checked for              -->
+  <!--                       modification. A value of 0 will cause the JSP  -->
+  <!--                       to be checked on every access.                 -->
+  <!--                       Used in development mode only. [4]             -->
+  <!--                                                                      -->
+  <!--   compiler            Which compiler Ant should use to compile JSP   -->
+  <!--                       pages.  See the Ant documentation for more     -->
+  <!--                       information. [javac]                           -->
+  <!--                                                                      -->
+  <!--   classdebuginfo      Should the class file be compiled with         -->
+  <!--                       debugging information?  [true]                 -->
+  <!--                                                                      -->
+  <!--   classpath           What class path should I use while compiling   -->
+  <!--                       generated servlets?  [Created dynamically      -->
+  <!--                       based on the current web application]          -->
+  <!--                                                                      -->
+  <!--   development         Is Jasper used in development mode? If true,   -->
+  <!--                       the frequency at which JSPs are checked for    -->
+  <!--                       modification may be specified via the          -->
+  <!--                       modificationTestInterval parameter. [true]     -->
+  <!--                                                                      -->
+  <!--   enablePooling       Determines whether tag handler pooling is      -->
+  <!--                       enabled  [true]                                -->
+  <!--                                                                      -->
+  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
+  <!--                       a separate JVM is used for JSP page compiles   -->
+  <!--                       from the one Tomcat is running in. [true]      -->
+  <!--                                                                      -->
+  <!--   ieClassId           The class-id value to be sent to Internet      -->
+  <!--                       Explorer when using <jsp:plugin> tags.         -->
+  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
+  <!--                                                                      -->
+  <!--   javaEncoding        Java file encoding to use for generating java  -->
+  <!--                       source files. [UTF8]                           -->
+  <!--                                                                      -->
+  <!--   keepgenerated       Should we keep the generated Java source code  -->
+  <!--                       for each page instead of deleting it? [true]   -->
+  <!--                                                                      -->
+  <!--   mappedfile          Should we generate static content with one     -->
+  <!--                       print statement per input line, to ease        -->
+  <!--                       debugging?  [true]                             -->
+  <!--                                                                      -->
+  <!--   trimSpaces          Should white spaces in template text between   -->
+  <!--                       actions or directives be trimmed?  [false]     -->
+  <!--                                                                      -->
+  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
+  <!--                       debugging be suppressed?  [false]              -->
+  <!--                                                                      -->
+  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
+  <!--                       dumped to a file? [false]                      -->
+  <!--                       False if suppressSmap is true                  -->
+  <!--                                                                      -->
+  <!--   genStrAsCharArray   Should text strings be generated as char       -->
+  <!--                       arrays, to improve performance in some cases?  -->
+  <!--                       [false]                                        -->
+  <!--                                                                      -->
+  <!--   errorOnUseBeanInvalidClassAttribute                                -->
+  <!--                       Should Jasper issue an error when the value of -->
+  <!--                       the class attribute in an useBean action is    -->
+  <!--                       not a valid bean class?  [true]                -->
+  <!--                                                                      -->
+  <!--   scratchdir          What scratch directory should we use when      -->
+  <!--                       compiling JSP pages?  [default work directory  -->
+  <!--                       for the current web application]               -->
+  <!--                                                                      -->
+  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
+  <!--                       header is added by generated servlet  [false]  -->
+  <!--                                                                      -->
+  <!--   compilerTargetVM    Compiler target VM                             -->  
+  <!--                       default is System.properties                   -->
+  <!--                        java.specification.version > 1.4              -->
+  <!--                        [1.5] else [1.4]                              -->
+  <!--                                                                      -->
+  <!--   compilerSourceVM    Compiler source VM                             -->
+  <!--                       default is System.properties                   -->
+  <!--                        java.specification.version > 1.4              -->
+  <!--                        [1.5] else [1.4]                              -->
+  <!--                                                                      -->
+  <!-- If you wish to use Jikes to compile JSP pages:                       -->
+  <!--   Please see the "Using Jikes" section of the Jasper-HowTo           -->
+  <!--   page in the Tomcat documentation.                                  -->
+
+    <servlet>
+        <servlet-name>jsp</servlet-name>
+        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+        <init-param>
+            <param-name>fork</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <init-param>
+            <param-name>xpoweredBy</param-name>
+            <param-value>false</param-value>
+        </init-param>
+        <load-on-startup>3</load-on-startup>
+    </servlet>
+
+
+  <!-- NOTE: An SSI Filter is also available as an alternative SSI          -->
+  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
+  <!--                                                                      -->
+  <!-- Server Side Includes processing servlet, which processes SSI         -->
+  <!-- directives in HTML pages consistent with similar support in web      -->
+  <!-- servers like Apache.  Traditionally, this servlet is mapped to the   -->
+  <!-- URL pattern "*.shtml".  This servlet supports the following          -->
+  <!-- initialization parameters (default values are in square brackets):   -->
+  <!--                                                                      -->
+  <!--   buffered            Should output from this servlet be buffered?   -->
+  <!--                       (0=false, 1=true)  [0]                         -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   expires             The number of seconds before a page with SSI   -->
+  <!--                       directives will expire.  [No default]          -->
+  <!--                                                                      -->
+  <!--   isVirtualWebappRelative                                            -->
+  <!--                       Should "virtual" paths be interpreted as       -->
+  <!--                       relative to the context root, instead of       -->
+  <!--                       the server root?  (0=false, 1=true) [0]        -->
+  <!--                                                                      -->
+  <!--   inputEncoding       The encoding to assume for SSI resources if    -->
+  <!--                       one is not available from the resource.        -->
+  <!--                       [Platform default]                             -->
+  <!--                                                                      -->
+  <!--   outputEncoding      The encoding to use for the page that results  -->
+  <!--                       from the SSI processing. [UTF-8]               -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+  <!-- IMPORTANT: To use the SSI servlet, you also need to rename the       -->
+  <!--            $CATALINA_HOME/server/lib/servlets-ssi.renametojar file   -->
+  <!--            to $CATALINA_HOME/server/lib/servlets-ssi.jar             -->
+
+<!--
+    <servlet>
+        <servlet-name>ssi</servlet-name>
+        <servlet-class>
+          org.apache.catalina.ssi.SSIServlet
+        </servlet-class>
+        <init-param>
+          <param-name>buffered</param-name>
+          <param-value>1</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>expires</param-name>
+          <param-value>666</param-value>
+        </init-param>
+        <init-param>
+          <param-name>isVirtualWebappRelative</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <load-on-startup>4</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- Common Gateway Includes (CGI) processing servlet, which supports     -->
+  <!-- execution of external applications that conform to the CGI spec      -->
+  <!-- requirements.  Typically, this servlet is mapped to the URL pattern  -->
+  <!-- "/cgi-bin/*", which means that any CGI applications that are         -->
+  <!-- executed must be present within the web application.  This servlet   -->
+  <!-- supports the following initialization parameters (default values     -->
+  <!-- are in square brackets):                                             -->
+  <!--                                                                      -->
+  <!--   cgiPathPrefix        The CGI search path will start at             -->
+  <!--                        webAppRootDir + File.separator + this prefix. -->
+  <!--                        [WEB-INF/cgi]                                 -->
+  <!--                                                                      -->
+  <!--   debug                Debugging detail level for messages logged    -->
+  <!--                        by this servlet.  [0]                         -->
+  <!--                                                                      -->
+  <!--   executable           Name of the exectuable used to run the        -->
+  <!--                        script. [perl]                                -->
+  <!--                                                                      -->
+  <!--   parameterEncoding    Name of parameter encoding to be used with    -->
+  <!--                        CGI servlet.                                  -->
+  <!--                        [System.getProperty("file.encoding","UTF-8")] -->
+  <!--                                                                      -->
+  <!--   passShellEnvironment Should the shell environment variables (if    -->
+  <!--                        any) be passed to the CGI script? [false]     -->
+  <!--                                                                      -->
+  <!-- IMPORTANT: To use the CGI servlet, you also need to rename the       -->
+  <!--            $CATALINA_HOME/server/lib/servlets-cgi.renametojar file   -->
+  <!--            to $CATALINA_HOME/server/lib/servlets-cgi.jar             -->
+
+<!--
+    <servlet>
+        <servlet-name>cgi</servlet-name>
+        <servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>cgiPathPrefix</param-name>
+          <param-value>WEB-INF/cgi</param-value>
+        </init-param>
+         <load-on-startup>5</load-on-startup>
+    </servlet>
+-->
+
+
+  <!-- ================ Built In Servlet Mappings ========================= -->
+
+
+  <!-- The servlet mappings for the built in servlets defined above.  Note  -->
+  <!-- that, by default, the CGI and SSI servlets are *not* mapped.  You    -->
+  <!-- must uncomment these mappings (or add them to your application's own -->
+  <!-- web.xml deployment descriptor) to enable these services              -->
+
+    <!-- The mapping for the default servlet -->
+    <servlet-mapping>
+        <servlet-name>default</servlet-name>
+        <url-pattern>/</url-pattern>
+    </servlet-mapping>
+
+    <!-- The mapping for the invoker servlet -->
+<!--
+    <servlet-mapping>
+        <servlet-name>invoker</servlet-name>
+        <url-pattern>/servlet/*</url-pattern>
+    </servlet-mapping>
+-->
+
+    <!-- The mapping for the JSP servlet -->
+    <servlet-mapping>
+        <servlet-name>jsp</servlet-name>
+        <url-pattern>*.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>jsp</servlet-name>
+        <url-pattern>*.jspx</url-pattern>
+    </servlet-mapping>
+
+    <!-- The mapping for the SSI servlet -->
+<!--
+    <servlet-mapping>
+        <servlet-name>ssi</servlet-name>
+        <url-pattern>*.shtml</url-pattern>
+    </servlet-mapping>
+-->
+
+    <!-- The mapping for the CGI Gateway servlet -->
+
+<!--
+    <servlet-mapping>
+        <servlet-name>cgi</servlet-name>
+        <url-pattern>/cgi-bin/*</url-pattern>
+    </servlet-mapping>
+-->
+
+
+  <!-- ================== Built In Filter Definitions ===================== -->
+
+  <!-- NOTE: An SSI Servlet is also available as an alternative SSI         -->
+  <!-- implementation. Use either the Servlet or the Filter but NOT both.   -->
+  <!--                                                                      -->
+  <!-- Server Side Includes processing filter, which processes SSI          -->
+  <!-- directives in HTML pages consistent with similar support in web      -->
+  <!-- servers like Apache.  Traditionally, this filter is mapped to the    -->
+  <!-- URL pattern "*.shtml", though it can be mapped to "*" as it will     -->
+  <!-- selectively enable/disable SSI processing based on mime types. For   -->
+  <!-- this to work you will need to uncomment the .shtml mime type         -->
+  <!-- definition towards the bottom of this file.                          -->
+  <!-- The contentType init param allows you to apply SSI processing to JSP -->
+  <!-- pages, javascript, or any other content you wish.  This filter       -->
+  <!-- supports the following initialization parameters (default values are -->
+  <!-- in square brackets):                                                 -->
+  <!--                                                                      -->
+  <!--   contentType         A regex pattern that must be matched before    -->
+  <!--                       SSI processing is applied.                     -->
+  <!--                       [text/x-server-parsed-html(;.*)?]              -->
+  <!--                                                                      -->
+  <!--   debug               Debugging detail level for messages logged     -->
+  <!--                       by this servlet.  [0]                          -->
+  <!--                                                                      -->
+  <!--   expires             The number of seconds before a page with SSI   -->
+  <!--                       directives will expire.  [No default]          -->
+  <!--                                                                      -->
+  <!--   isVirtualWebappRelative                                            -->
+  <!--                       Should "virtual" paths be interpreted as       -->
+  <!--                       relative to the context root, instead of       -->
+  <!--                       the server root?  (0=false, 1=true) [0]        -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+  <!-- IMPORTANT: To use the SSI filter, you also need to rename the        -->
+  <!--            $CATALINA_HOME/server/lib/servlets-ssi.renametojar file   -->
+  <!--            to $CATALINA_HOME/server/lib/servlets-ssi.jar             -->
+
+<!--
+    <filter>
+        <filter-name>ssi</filter-name>
+        <filter-class>
+          org.apache.catalina.ssi.SSIFilter
+        </filter-class>
+        <init-param>
+          <param-name>contentType</param-name>
+          <param-value>text/x-server-parsed-html(;.*)?</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+        <init-param>
+          <param-name>expires</param-name>
+          <param-value>666</param-value>
+        </init-param>
+        <init-param>
+          <param-name>isVirtualWebappRelative</param-name>
+          <param-value>0</param-value>
+        </init-param>
+    </filter>
+-->
+
+
+  <!-- ==================== Built In Filter Mappings ====================== -->
+
+  <!-- The mapping for the SSI Filter -->
+<!--
+    <filter-mapping>
+        <filter-name>ssi</filter-name>
+        <url-pattern>*.shtml</url-pattern>
+    </filter-mapping>
+-->
+
+
+  <!-- ==================== Default Session Configuration ================= -->
+  <!-- You can set the default session timeout (in minutes) for all newly   -->
+  <!-- created sessions by modifying the value below.                       -->
+
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+
+  <!-- ===================== Default MIME Type Mappings =================== -->
+  <!-- When serving static resources, Tomcat will automatically generate    -->
+  <!-- a "Content-Type" header based on the resource's filename extension,  -->
+  <!-- based on these mappings.  Additional mappings can be added here (to  -->
+  <!-- apply to all web applications), or in your own application's web.xml -->
+  <!-- deployment descriptor.                                               -->
+
+    <mime-mapping>
+        <extension>abs</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ai</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aif</extension>
+        <mime-type>audio/x-aiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aifc</extension>
+        <mime-type>audio/x-aiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aiff</extension>
+        <mime-type>audio/x-aiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>aim</extension>
+        <mime-type>application/x-aim</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>art</extension>
+        <mime-type>image/x-jg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>asf</extension>
+        <mime-type>video/x-ms-asf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>asx</extension>
+        <mime-type>video/x-ms-asf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>au</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>avi</extension>
+        <mime-type>video/x-msvideo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>avx</extension>
+        <mime-type>video/x-rad-screenplay</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bcpio</extension>
+        <mime-type>application/x-bcpio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bin</extension>
+        <mime-type>application/octet-stream</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>bmp</extension>
+        <mime-type>image/bmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>body</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cdf</extension>
+        <mime-type>application/x-netcdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cer</extension>
+        <mime-type>application/x-x509-ca-cert</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>class</extension>
+        <mime-type>application/java</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>cpio</extension>
+        <mime-type>application/x-cpio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>csh</extension>
+        <mime-type>application/x-csh</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>css</extension>
+        <mime-type>text/css</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dib</extension>
+        <mime-type>image/bmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>doc</extension>
+        <mime-type>application/msword</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dtd</extension>
+        <mime-type>application/xml-dtd</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dv</extension>
+        <mime-type>video/x-dv</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>dvi</extension>
+        <mime-type>application/x-dvi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>eps</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>etx</extension>
+        <mime-type>text/x-setext</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>exe</extension>
+        <mime-type>application/octet-stream</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gif</extension>
+        <mime-type>image/gif</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gtar</extension>
+        <mime-type>application/x-gtar</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>gz</extension>
+        <mime-type>application/x-gzip</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>hdf</extension>
+        <mime-type>application/x-hdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>htc</extension>
+        <mime-type>text/x-component</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>htm</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>html</extension>
+        <mime-type>text/html</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>hqx</extension>
+        <mime-type>application/mac-binhex40</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ico</extension>
+        <mime-type>image/x-icon</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ief</extension>
+        <mime-type>image/ief</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jad</extension>
+        <mime-type>text/vnd.sun.j2me.app-descriptor</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jar</extension>
+        <mime-type>application/java-archive</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>java</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jnlp</extension>
+        <mime-type>application/x-java-jnlp-file</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jpe</extension>
+        <mime-type>image/jpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jpeg</extension>
+        <mime-type>image/jpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jpg</extension>
+        <mime-type>image/jpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>js</extension>
+        <mime-type>text/javascript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jsf</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>jspf</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>kar</extension>
+        <mime-type>audio/midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>latex</extension>
+        <mime-type>application/x-latex</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>m3u</extension>
+        <mime-type>audio/x-mpegurl</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mac</extension>
+        <mime-type>image/x-macpaint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>man</extension>
+        <mime-type>application/x-troff-man</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mathml</extension>
+        <mime-type>application/mathml+xml</mime-type> 
+    </mime-mapping>
+    <mime-mapping>
+        <extension>me</extension>
+        <mime-type>application/x-troff-me</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mid</extension>
+        <mime-type>audio/midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>midi</extension>
+        <mime-type>audio/midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mif</extension>
+        <mime-type>application/vnd.mif</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mov</extension>
+        <mime-type>video/quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>movie</extension>
+        <mime-type>video/x-sgi-movie</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp1</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp2</extension>
+        <mime-type>audio/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mp3</extension>
+        <mime-type>audio/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpa</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpe</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpeg</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpega</extension>
+        <mime-type>audio/x-mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpg</extension>
+        <mime-type>video/mpeg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>mpv2</extension>
+        <mime-type>video/mpeg2</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ms</extension>
+        <mime-type>application/x-troff-ms</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>nc</extension>
+        <mime-type>application/x-netcdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>oda</extension>
+        <mime-type>application/oda</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Database -->
+        <extension>odb</extension>
+        <mime-type>application/vnd.oasis.opendocument.database</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Chart -->
+        <extension>odc</extension>
+        <mime-type>application/vnd.oasis.opendocument.chart</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Formula -->
+        <extension>odf</extension>
+        <mime-type>application/vnd.oasis.opendocument.formula</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Drawing -->
+        <extension>odg</extension>
+        <mime-type>application/vnd.oasis.opendocument.graphics</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Image -->
+        <extension>odi</extension>
+        <mime-type>application/vnd.oasis.opendocument.image</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Master Document -->
+        <extension>odm</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-master</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Presentation -->
+        <extension>odp</extension>
+        <mime-type>application/vnd.oasis.opendocument.presentation</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Spreadsheet -->
+        <extension>ods</extension>
+        <mime-type>application/vnd.oasis.opendocument.spreadsheet</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Text -->
+        <extension>odt</extension>
+        <mime-type>application/vnd.oasis.opendocument.text</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ogg</extension>
+        <mime-type>application/ogg</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Drawing Template -->
+        <extension>otg </extension>
+        <mime-type>application/vnd.oasis.opendocument.graphics-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- HTML Document Template -->
+        <extension>oth</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-web</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Presentation Template -->
+        <extension>otp</extension>
+        <mime-type>application/vnd.oasis.opendocument.presentation-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Spreadsheet Template -->
+        <extension>ots</extension>
+        <mime-type>application/vnd.oasis.opendocument.spreadsheet-template </mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- OpenDocument Text Template -->
+        <extension>ott</extension>
+        <mime-type>application/vnd.oasis.opendocument.text-template</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pbm</extension>
+        <mime-type>image/x-portable-bitmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pct</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pdf</extension>
+        <mime-type>application/pdf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pgm</extension>
+        <mime-type>image/x-portable-graymap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pic</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pict</extension>
+        <mime-type>image/pict</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pls</extension>
+        <mime-type>audio/x-scpls</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>png</extension>
+        <mime-type>image/png</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pnm</extension>
+        <mime-type>image/x-portable-anymap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pnt</extension>
+        <mime-type>image/x-macpaint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ppm</extension>
+        <mime-type>image/x-portable-pixmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>pps</extension>
+        <mime-type>application/vnd.ms-powerpoint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ppt</extension>
+        <mime-type>application/vnd.ms-powerpoint</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ps</extension>
+        <mime-type>application/postscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>psd</extension>
+        <mime-type>image/x-photoshop</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qt</extension>
+        <mime-type>video/quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qti</extension>
+        <mime-type>image/x-quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>qtif</extension>
+        <mime-type>image/x-quicktime</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ras</extension>
+        <mime-type>image/x-cmu-raster</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rdf</extension>
+        <mime-type>application/rdf+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rgb</extension>
+        <mime-type>image/x-rgb</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rm</extension>
+        <mime-type>application/vnd.rn-realmedia</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>roff</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rtf</extension>
+        <mime-type>text/rtf</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>rtx</extension>
+        <mime-type>text/richtext</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sh</extension>
+        <mime-type>application/x-sh</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>shar</extension>
+        <mime-type>application/x-shar</mime-type>
+    </mime-mapping>
+<!--
+    <mime-mapping>
+        <extension>shtml</extension>
+        <mime-type>text/x-server-parsed-html</mime-type>
+    </mime-mapping>
+-->
+    <mime-mapping>
+        <extension>smf</extension>
+        <mime-type>audio/x-midi</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sit</extension>
+        <mime-type>application/x-stuffit</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>snd</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>src</extension>
+        <mime-type>application/x-wais-source</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sv4cpio</extension>
+        <mime-type>application/x-sv4cpio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>sv4crc</extension>
+        <mime-type>application/x-sv4crc</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>svg</extension>
+        <mime-type>image/svg+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>svgz</extension>
+        <mime-type>image/svg+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>swf</extension>
+        <mime-type>application/x-shockwave-flash</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>t</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tar</extension>
+        <mime-type>application/x-tar</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tcl</extension>
+        <mime-type>application/x-tcl</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tex</extension>
+        <mime-type>application/x-tex</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>texi</extension>
+        <mime-type>application/x-texinfo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>texinfo</extension>
+        <mime-type>application/x-texinfo</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tif</extension>
+        <mime-type>image/tiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tiff</extension>
+        <mime-type>image/tiff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tr</extension>
+        <mime-type>application/x-troff</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>tsv</extension>
+        <mime-type>text/tab-separated-values</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>txt</extension>
+        <mime-type>text/plain</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ulw</extension>
+        <mime-type>audio/basic</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>ustar</extension>
+        <mime-type>application/x-ustar</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>vrml</extension>
+        <mime-type>model/vrml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>vsd</extension>
+        <mime-type>application/x-visio</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>vxml</extension>
+        <mime-type>application/voicexml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wav</extension>
+        <mime-type>audio/x-wav</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Wireless Bitmap -->
+        <extension>wbmp</extension>
+        <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- WML Source -->
+        <extension>wml</extension>
+        <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Compiled WML -->
+        <extension>wmlc</extension>
+        <mime-type>application/vnd.wap.wmlc</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- WML Script Source -->
+        <extension>wmls</extension>
+        <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <!-- Compiled WML Script -->
+        <extension>wmlscriptc</extension>
+        <mime-type>application/vnd.wap.wmlscriptc</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>wrl</extension>
+        <mime-type>model/vrml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xbm</extension>
+        <mime-type>image/x-xbitmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xht</extension>
+        <mime-type>application/xhtml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xhtml</extension>
+        <mime-type>application/xhtml+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xls</extension>
+        <mime-type>application/vnd.ms-excel</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xml</extension>
+        <mime-type>application/xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xpm</extension>
+        <mime-type>image/x-xpixmap</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xsl</extension>
+        <mime-type>application/xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xslt</extension>
+        <mime-type>application/xslt+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xul</extension>
+        <mime-type>application/vnd.mozilla.xul+xml</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>xwd</extension>
+        <mime-type>image/x-xwindowdump</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>Z</extension>
+        <mime-type>application/x-compress</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>z</extension>
+        <mime-type>application/x-compress</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>zip</extension>
+        <mime-type>application/zip</mime-type>
+    </mime-mapping>
+
+  <!-- ==================== Default Welcome File List ===================== -->
+  <!-- When a request URI refers to a directory, the default servlet looks  -->
+  <!-- for a "welcome file" within that directory and, if present,          -->
+  <!-- to the corresponding resource URI for display.  If no welcome file   -->
+  <!-- is present, the default servlet either serves a directory listing,   -->
+  <!-- or returns a 404 status, depending on how it is configured.          -->
+  <!--                                                                      -->
+  <!-- If you define welcome files in your own application's web.xml        -->
+  <!-- deployment descriptor, that list *replaces* the list configured      -->
+  <!-- here, so be sure that you include any of the default values that     -->
+  <!-- you wish to include.                                                 -->
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+        <welcome-file>index.htm</welcome-file>
+        <welcome-file>index.jsp</welcome-file>
+    </welcome-file-list>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-11.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-11.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-11.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+Jun 11, 2007 2:35:49 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:35:49 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:35:49 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jun 11, 2007 2:36:06 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:36:06 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:36:06 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jun 11, 2007 2:36:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:36:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:36:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Groups
+Jun 11, 2007 2:36:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:36:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:36:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Roles
+Jun 11, 2007 2:36:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:36:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:36:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Globally Administer UserDatabase Entries
+Jun 11, 2007 2:37:00 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jun 11, 2007 2:37:00 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jun 11, 2007 2:37:00 PM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Roles

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-20.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-06-28.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-03.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-03.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-03.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+Jul 3, 2007 11:40:55 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:40:55 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:40:55 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Globally Administer UserDatabase Entries
+Jul 3, 2007 11:41:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Globally Administer Data Sources
+Jul 3, 2007 11:41:10 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:10 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:10 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Globally Administer Mail Sessions 
+Jul 3, 2007 11:41:12 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:12 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:12 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Globally Administer Environment Entries
+Jul 3, 2007 11:41:15 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:15 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:15 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jul 3, 2007 11:41:18 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:18 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:18 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Groups
+Jul 3, 2007 11:41:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Roles
+Jul 3, 2007 11:41:22 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:22 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:22 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jul 3, 2007 11:41:37 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:37 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:37 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jul 3, 2007 11:41:42 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:42 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:42 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Global Administer Users
+Jul 3, 2007 11:41:51 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Entered TreeControlTestAction:perform()
+Jul 3, 2007 11:41:51 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: tree param is null
+Jul 3, 2007 11:41:51 AM org.apache.catalina.core.ApplicationContext log
+INFO: action: Select event on Catalina:type=Service,serviceName=Catalina

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-04.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/admin.2007-07-06.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-11.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-11.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-11.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+Jun 11, 2007 11:17:07 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 11:17:07 AM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 11:17:07 AM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 895 ms
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 11:17:09 AM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 11:17:09 AM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 11:17:09 AM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/22  config=null
+Jun 11, 2007 11:17:09 AM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 11:17:09 AM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1494 ms
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 1:42:36 PM org.apache.coyote.http11.Http11BaseProtocol init
+SEVERE: Error initializing endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 11, 2007 1:42:36 PM org.apache.catalina.startup.Catalina load
+SEVERE: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1019)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 11, 2007 1:42:36 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 785 ms
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 1:42:38 PM org.apache.coyote.http11.Http11BaseProtocol start
+SEVERE: Error starting endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
+	at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1090)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.catalina.startup.Catalina start
+SEVERE: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1097)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1379 ms
+Jun 11, 2007 1:42:38 PM org.apache.catalina.core.StandardServer await
+SEVERE: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(Unknown Source)
+	at java.net.ServerSocket.bind(Unknown Source)
+	at java.net.ServerSocket.<init>(Unknown Source)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:42:38 PM org.apache.catalina.connector.Connector pause
+SEVERE: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:163)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1032)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:489)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 1:42:39 PM org.apache.catalina.connector.MapperListener destroy
+WARNING: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:162)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:519)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 11, 2007 1:42:39 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:42:39 PM org.apache.catalina.connector.Connector stop
+SEVERE: Coyote connector has not been started
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 1:45:56 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 1:45:57 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 1:46:12 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:46:12 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 720 ms
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 1:46:13 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:46:14 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 1:46:14 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 11, 2007 1:46:14 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 1:46:14 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1368 ms
+Jun 11, 2007 2:14:54 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:23:49 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 2:23:51 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:23:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 2:24:04 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:24:04 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 719 ms
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 2:24:05 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:24:06 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:24:06 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 2:24:06 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/21  config=null
+Jun 11, 2007 2:24:06 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 2:24:06 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1484 ms
+Jun 11, 2007 2:35:08 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 2:35:09 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 2:35:15 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:15 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 718 ms
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 2:35:16 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:35:16 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:17 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 2:35:17 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/22  config=null
+Jun 11, 2007 2:35:17 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 2:35:17 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1513 ms
+Jun 11, 2007 2:35:22 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 11, 2007 2:35:39 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jun 11, 2007 2:37:05 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-20.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-20.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-20.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+Jun 20, 2007 9:40:17 AM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:29 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 20, 2007 3:56:30 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:30 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 776 ms
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 20, 2007 3:56:31 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 20, 2007 3:56:31 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:31 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 20, 2007 3:56:31 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 20, 2007 3:56:31 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 20, 2007 3:56:31 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1700 ms
+Jun 20, 2007 4:18:50 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 20, 2007 4:18:52 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:18:52 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 20, 2007 4:19:04 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:19:04 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 684 ms
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 20, 2007 4:19:05 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 20, 2007 4:19:05 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:19:05 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 20, 2007 4:19:05 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 20, 2007 4:19:05 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 20, 2007 4:19:06 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1728 ms

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-28.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-28.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-28.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 28, 2007 5:00:12 PM org.apache.coyote.http11.Http11BaseProtocol init
+SEVERE: Error initializing endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 28, 2007 5:00:12 PM org.apache.catalina.startup.Catalina load
+SEVERE: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1019)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 28, 2007 5:00:12 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 1071 ms
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 28, 2007 5:00:13 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 28, 2007 5:00:14 PM org.apache.coyote.http11.Http11BaseProtocol start
+SEVERE: Error starting endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
+	at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1090)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.catalina.startup.Catalina start
+SEVERE: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1097)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1584 ms
+Jun 28, 2007 5:00:14 PM org.apache.catalina.core.StandardServer await
+SEVERE: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
+	at java.net.ServerSocket.bind(ServerSocket.java:319)
+	at java.net.ServerSocket.<init>(ServerSocket.java:185)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 5:00:14 PM org.apache.catalina.connector.Connector pause
+SEVERE: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:163)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1032)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:489)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 28, 2007 5:00:15 PM org.apache.catalina.connector.MapperListener destroy
+WARNING: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:162)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:519)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 28, 2007 5:00:15 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 5:00:15 PM org.apache.catalina.connector.Connector stop
+SEVERE: Coyote connector has not been started
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386
+Jun 28, 2007 10:31:51 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 10:31:51 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 686 ms
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 28, 2007 10:31:52 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 28, 2007 10:31:52 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 10:31:52 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 28, 2007 10:31:52 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/19  config=null
+Jun 28, 2007 10:31:52 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 28, 2007 10:31:52 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1475 ms

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-29.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-29.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-06-29.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+Jun 29, 2007 9:01:53 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:06:27 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:06:38 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jun 29, 2007 9:12:44 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:13:05 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-03.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-03.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-03.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext start
+SEVERE: Error listenerStart
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext start
+SEVERE: Context [/gridsphere] startup failed due to previous errors
+Jul 3, 2007 11:40:30 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:40:47 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jul 3, 2007 11:42:00 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-04.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-04.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-04.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+Jul 4, 2007 8:03:46 AM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:47 AM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jul 4, 2007 8:03:48 AM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:49 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jul 4, 2007 8:03:56 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jul 4, 2007 8:03:57 AM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:57 AM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 945 ms
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jul 4, 2007 8:03:58 AM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jul 4, 2007 8:04:02 AM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:04:03 AM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jul 4, 2007 8:04:03 AM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/19  config=null
+Jul 4, 2007 8:04:03 AM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jul 4, 2007 8:04:03 AM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 6100 ms
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-06.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-06.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.2007-07-06.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+Jul 6, 2007 9:39:51 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 9:50:22 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:00:53 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:18:04 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Undeploying context [/simplegrid_cig]
+Jul 6, 2007 10:19:24 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:20:54 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:25:03 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:04 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jul 6, 2007 10:25:05 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:05 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jul 6, 2007 10:25:13 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:13 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 773 ms
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jul 6, 2007 10:25:14 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jul 6, 2007 10:25:18 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:18 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jul 6, 2007 10:25:18 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/23  config=null
+Jul 6, 2007 10:25:18 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jul 6, 2007 10:25:18 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 5168 ms

Added: cs/trunk/apps-local/apache-tomcat/logs/catalina.out
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/catalina.out	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/catalina.out	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15019 @@
+Jun 11, 2007 11:17:07 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 11:17:07 AM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 11:17:07 AM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 895 ms
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 11:17:09 AM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 11:17:09 AM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 11:17:09 AM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/22  config=null
+Jun 11, 2007 11:17:09 AM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 11:17:09 AM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1494 ms
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 1:42:36 PM org.apache.coyote.http11.Http11BaseProtocol init
+SEVERE: Error initializing endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 11, 2007 1:42:36 PM org.apache.catalina.startup.Catalina load
+SEVERE: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1019)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 11, 2007 1:42:36 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 785 ms
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 1:42:36 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 1:42:38 PM org.apache.coyote.http11.Http11BaseProtocol start
+SEVERE: Error starting endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
+	at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1090)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.catalina.startup.Catalina start
+SEVERE: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1097)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1379 ms
+Jun 11, 2007 1:42:38 PM org.apache.catalina.core.StandardServer await
+SEVERE: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(Unknown Source)
+	at java.net.ServerSocket.bind(Unknown Source)
+	at java.net.ServerSocket.<init>(Unknown Source)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
+	at java.lang.reflect.Method.invoke(Unknown Source)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 11, 2007 1:42:38 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:42:38 PM org.apache.catalina.connector.Connector pause
+SEVERE: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:163)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1032)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:489)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 1:42:39 PM org.apache.catalina.connector.MapperListener destroy
+WARNING: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:162)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:519)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 11, 2007 1:42:39 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:42:39 PM org.apache.catalina.connector.Connector stop
+SEVERE: Coyote connector has not been started
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 1:45:56 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 1:45:57 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 1:46:12 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:46:12 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 720 ms
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 1:46:12 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 1:46:13 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 1:46:14 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 1:46:14 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 11, 2007 1:46:14 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 1:46:14 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1368 ms
+Jun 11, 2007 2:14:54 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:23:49 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 2:23:51 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:23:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 2:24:04 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:24:04 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 719 ms
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 2:24:04 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 2:24:05 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:24:06 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:24:06 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 2:24:06 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/21  config=null
+Jun 11, 2007 2:24:06 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 2:24:06 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1484 ms
+Jun 11, 2007 2:35:08 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 11, 2007 2:35:09 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/j2re1.5-sun/lib/i386/client:/usr/lib/j2re1.5-sun/lib/i386:/usr/lib/j2re1.5-sun/../lib/i386
+Jun 11, 2007 2:35:15 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:15 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 718 ms
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 11, 2007 2:35:15 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 11, 2007 2:35:16 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 11, 2007 2:35:16 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 11, 2007 2:35:17 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 11, 2007 2:35:17 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/22  config=null
+Jun 11, 2007 2:35:17 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 11, 2007 2:35:17 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1513 ms
+Jun 11, 2007 2:35:22 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 11, 2007 2:35:39 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jun 11, 2007 2:37:05 PM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 20, 2007 9:40:17 AM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:29 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 20, 2007 3:56:30 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:30 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 776 ms
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 20, 2007 3:56:30 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 20, 2007 3:56:31 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 20, 2007 3:56:31 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 3:56:31 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 20, 2007 3:56:31 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 20, 2007 3:56:31 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 20, 2007 3:56:31 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1700 ms
+Jun 20, 2007 4:18:50 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 20, 2007 4:18:52 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:18:52 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 20, 2007 4:19:04 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:19:04 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 684 ms
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 20, 2007 4:19:04 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 20, 2007 4:19:05 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 20, 2007 4:19:05 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 20, 2007 4:19:05 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 20, 2007 4:19:05 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/18  config=null
+Jun 20, 2007 4:19:05 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 20, 2007 4:19:06 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1728 ms
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jun 28, 2007 5:00:12 PM org.apache.coyote.http11.Http11BaseProtocol init
+SEVERE: Error initializing endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 28, 2007 5:00:12 PM org.apache.catalina.startup.Catalina load
+SEVERE: Catalina.start
+LifecycleException:  Protocol handler initialization failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.initialize(Connector.java:1019)
+	at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
+	at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
+	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)
+Jun 28, 2007 5:00:12 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 1071 ms
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 28, 2007 5:00:12 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 28, 2007 5:00:13 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 28, 2007 5:00:14 PM org.apache.coyote.http11.Http11BaseProtocol start
+SEVERE: Error starting endpoint
+java.net.BindException: Address already in use:8080
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)
+	at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)
+	at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)
+	at org.apache.catalina.connector.Connector.start(Connector.java:1090)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.catalina.startup.Catalina start
+SEVERE: Catalina.start: 
+LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use:8080
+	at org.apache.catalina.connector.Connector.start(Connector.java:1097)
+	at org.apache.catalina.core.StandardService.start(StandardService.java:457)
+	at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1584 ms
+Jun 28, 2007 5:00:14 PM org.apache.catalina.core.StandardServer await
+SEVERE: StandardServer.await: create[8005]: 
+java.net.BindException: Address already in use
+	at java.net.PlainSocketImpl.socketBind(Native Method)
+	at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
+	at java.net.ServerSocket.bind(ServerSocket.java:319)
+	at java.net.ServerSocket.<init>(ServerSocket.java:185)
+	at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
+	at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
+	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
+	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
+Jun 28, 2007 5:00:14 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 5:00:14 PM org.apache.catalina.connector.Connector pause
+SEVERE: Protocol handler pause failed
+java.lang.NullPointerException
+	at org.apache.jk.server.JkMain.pause(JkMain.java:679)
+	at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:163)
+	at org.apache.catalina.connector.Connector.pause(Connector.java:1032)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:489)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jun 28, 2007 5:00:15 PM org.apache.catalina.connector.MapperListener destroy
+WARNING: Error unregistering MBeanServerDelegate
+java.lang.NullPointerException
+	at org.apache.catalina.connector.MapperListener.destroy(MapperListener.java:162)
+	at org.apache.catalina.connector.Connector.stop(Connector.java:1138)
+	at org.apache.catalina.core.StandardService.stop(StandardService.java:519)
+	at org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
+	at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
+	at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:645)
+Jun 28, 2007 5:00:15 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 5:00:15 PM org.apache.catalina.connector.Connector stop
+SEVERE: Coyote connector has not been started
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386
+Jun 28, 2007 10:31:51 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 10:31:51 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 686 ms
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jun 28, 2007 10:31:51 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jun 28, 2007 10:31:52 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+Jun 28, 2007 10:31:52 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jun 28, 2007 10:31:52 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jun 28, 2007 10:31:52 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/19  config=null
+Jun 28, 2007 10:31:52 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jun 28, 2007 10:31:52 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 1475 ms
+Jun 29, 2007 9:01:53 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:06:27 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:06:38 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jun 29, 2007 9:12:44 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jun 29, 2007 9:13:05 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext start
+SEVERE: Error listenerStart
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext start
+SEVERE: Context [/gridsphere] startup failed due to previous errors
+Jul 3, 2007 11:40:30 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:40:47 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /frameset was requested
+Jul 3, 2007 11:42:00 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:02 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 3, 2007 11:42:03 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 4, 2007 8:03:46 AM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:47 AM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+Jul 4, 2007 8:03:48 AM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:49 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jul 4, 2007 8:03:56 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jul 4, 2007 8:03:57 AM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:03:57 AM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 945 ms
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jul 4, 2007 8:03:57 AM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jul 4, 2007 8:03:58 AM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+in contextInitialized of GridSphereServlet
+0:INFO:(GridSphereServlet.java:contextInitialized:484)
+< contextName: GridSphere Portlet Container >
+
+5:DEBUG:(GridSphereServlet.java:contextInitialized:485)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+12:INFO:(GridSphereServlet.java:init:88)
+< in init of GridSphereServlet >
+
+13:DEBUG:(GridSphereServlet.java:init:93)
+< loading from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+26:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+34:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar!/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml >
+
+420:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.persistence.PersistenceManagerService service def: 
+service name: Persistence Manager Service
+service description: Provides JDBC Persistence Capabilities using Hibernate
+service interface: org.gridsphere.services.core.persistence.PersistenceManagerService
+service implementation: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletManagerService service def: 
+service name: Portlet Manager Service
+service description: Provides Administration Capabilities for Portlet Web Applications
+service interface: org.gridsphere.services.core.registry.PortletManagerService
+service implementation: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+422:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.tomcat.TomcatManagerService service def: 
+service name: Tomcat Manager Service
+service description: Provides Portlet Reloading Capabilities uisng Tomcat manager webapp
+service interface: org.gridsphere.services.core.tomcat.TomcatManagerService
+service implementation: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+425:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.rss.RssService service def: 
+service name: RSS Service
+service description: Provides RSS Service
+service interface: org.gridsphere.services.core.rss.RssService
+service implementation: org.gridsphere.services.core.rss.impl.RssServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: cache_time	value: 10 >
+
+425:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletRegistryService service def: 
+service name: Portlet Registry Service
+service description: Provides Portlet Registry
+service interface: org.gridsphere.services.core.registry.PortletRegistryService
+service implementation: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+427:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.auth.AuthModuleService service def: 
+service name: Authentication Module Service
+service description: Provides Authentication Modules
+service interface: org.gridsphere.services.core.security.auth.AuthModuleService
+service implementation: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+428:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.portal.PortalConfigService service def: 
+service name: Portal Config Service
+service description: Provides GridSphere portal configuration settings
+service interface: org.gridsphere.services.core.portal.PortalConfigService
+service implementation: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+428:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.filter.PortalFilterService service def: 
+service name: Portal Filter Service
+service description: Provides portal filters
+service interface: org.gridsphere.services.core.filter.PortalFilterService
+service implementation: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+429:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.content.ContentManagerService service def: 
+service name: Content Manager Service
+service description: Provides Content Management Capabilities
+service interface: org.gridsphere.services.core.content.ContentManagerService
+service implementation: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+429:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.role.RoleManagerService service def: 
+service name: Role Manager Service
+service description: Provides Role Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.role.RoleManagerService
+service implementation: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+430:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.group.GroupManagerService service def: 
+service name: Group Manager Service
+service description: Provides Group Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.group.GroupManagerService
+service implementation: org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+433:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.user.UserManagerService service def: 
+service name: User Account Manager Service
+service description: Provides User Administration Capabilities
+service interface: org.gridsphere.services.core.user.UserManagerService
+service implementation: org.gridsphere.services.core.user.impl.UserManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+433:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.password.PasswordManagerService service def: 
+service name: Password Manager Service
+service description: Provides Password Management Capabilities
+service interface: org.gridsphere.services.core.security.password.PasswordManagerService
+service implementation: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+434:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.jcr.JCRService service def: 
+service name: JCR Service
+service description: Java Content Repository Service
+service interface: org.gridsphere.services.core.jcr.JCRService
+service implementation: org.gridsphere.services.core.jcr.impl.JCRServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+435:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.request.RequestService service def: 
+service name: Generic Request Service
+service description: Provides Generic Request Capabilities
+service interface: org.gridsphere.services.core.request.RequestService
+service implementation: org.gridsphere.services.core.request.impl.RequestServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+435:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.layout.LayoutManagerService service def: 
+service name: Layout Manager Service
+service description: Provides Layout Management Capabilities
+service interface: org.gridsphere.services.core.layout.LayoutManagerService
+service implementation: org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+436:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.mail.MailService service def: 
+service name: Mail Service
+service description: Simple e-mail service
+service interface: org.gridsphere.services.core.mail.MailService
+service implementation: org.gridsphere.services.core.mail.impl.MailServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+436:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.locale.LocaleService service def: 
+service name: Locale Service
+service description: Manages supported list of locales
+service interface: org.gridsphere.services.core.locale.LocaleService
+service implementation: org.gridsphere.services.core.locale.impl.LocaleServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: display-locale	value: en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja >
+
+437:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.timer.TimerService service def: 
+service name: Timer Service
+service description: Timer Service
+service interface: org.gridsphere.services.core.timer.TimerService
+service implementation: org.gridsphere.services.core.timer.impl.TimerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+438:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.cache.CacheService service def: 
+service name: Cache Service
+service description: Cache Service
+service interface: org.gridsphere.services.core.cache.CacheService
+service implementation: org.gridsphere.services.core.cache.impl.CacheServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: isCachingOn	value: true >
+
+439:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.secdir.SecureDirectoryService service def: 
+service name: Secure Directory Service
+service description: Provides Secure Directory Capabilities
+service interface: org.gridsphere.services.core.secdir.SecureDirectoryService
+service implementation: org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+439:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.charts.ChartService service def: 
+service name: Chart Service
+service description: Provides chart generation and management capabilities
+service interface: org.gridsphere.services.core.charts.ChartService
+service implementation: org.gridsphere.services.core.charts.impl.ChartServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+440:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.customization.SettingsService service def: 
+service name: Settings Service
+service description: GridSphere settings service
+service interface: org.gridsphere.services.core.customization.SettingsService
+service implementation: org.gridsphere.services.core.customization.impl.SettingsServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+447:DEBUG:(SettingsServiceImpl.java:init:33)
+< In Settings >
+
+448:INFO:(SettingsServiceImpl.java:init:46)
+< GridSphere Settings will be saved in: /root/.gridsphere >
+
+470:INFO:(SettingsServiceImpl.java:init:49)
+< GridSphere ConfigDir did not exist, created. >
+
+704:INFO:(SettingsServiceImpl.java:init:52)
+< Copy files to directory >
+
+707:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/content.xml >
+
+708:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+902:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/guest.xml >
+
+906:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+986:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/profile.xml >
+
+991:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1085:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/register.xml >
+
+1085:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1150:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/UpdateDatabase.xml >
+
+1152:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1213:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/login.xml >
+
+1213:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1364:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupAdmin.xml >
+
+1364:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1457:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupDatabase.xml >
+
+1457:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1507:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/error.xml >
+
+1507:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1583:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/loggedin.xml >
+
+1584:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1637:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/layout.xml >
+
+1639:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1689:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/admin.xml >
+
+1689:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+Jul 4, 2007 8:04:02 AM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jul 4, 2007 8:04:03 AM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jul 4, 2007 8:04:03 AM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/19  config=null
+Jul 4, 2007 8:04:03 AM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jul 4, 2007 8:04:03 AM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 6100 ms
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+Jul 4, 2007 8:04:08 AM org.apache.struts.action.RequestProcessor processMapping
+SEVERE: Invalid path /login was requested
+sessionCreated('05EEDA56114A737FC8BAD7FF7FCEFDCD')
+19015:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('05EEDA56114A737FC8BAD7FF7FCEFDCD') >
+
+19019:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+19021:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+19021:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+url = http://dynamo.geodynamics.org:8080/gridsphere/gridsphere
+19043:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+19071:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+19073:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+19074:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+19117:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page SetupDatabase >
+
+19144:WARN:(JCRServiceImpl.java:init:48)
+< JCR Path /root/.gridsphere/portal/ >
+
+20557:INFO:(JCRServiceImpl.java:init:71)
+< Registering gs with Namespace http://www.gridsphere.org/jcr-content/1.0 >
+
+20616:INFO:(JCRServiceImpl.java:init:86)
+< Adding GS Root Node with Path /gridsphere >
+
+20618:INFO:(JCRServiceImpl.java:init:94)
+< Adding GS ContentDocument Root Node with Path /gridsphere/contentdocuments >
+
+20639:INFO:(JCRServiceImpl.java:init:127)
+< Adding main.html as document to ContentManagement. >
+
+20647:INFO:(JCRServiceImpl.java:init:127)
+< Adding pageheader.html as document to ContentManagement. >
+
+20660:INFO:(JCRServiceImpl.java:init:127)
+< Adding MessageOfTheDay.html as document to ContentManagement. >
+
+20669:INFO:(JCRServiceImpl.java:init:127)
+< Adding pagefooter.html as document to ContentManagement. >
+
+20676:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page SetupDatabase placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+20677:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+20678:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+20678:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+20679:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+20679:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+20947:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+url = http://dynamo.geodynamics.org:8080/gridsphere/gridsphere
+104843:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+104846:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+104847:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+104848:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+104848:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+104854:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+162640:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+162640:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+dbtype=mysql
+driver class=com.mysql.jdbc.Driver
+conn url=jdbc:mysql://localhost:3306/gridsphere
+162644:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+162645:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+162645:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+162646:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+162947:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'cigtg'@'localhost' (using password: YES) >
+
+162948:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+162965:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+162966:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+162971:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+162972:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+162973:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+162982:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+url = http://dynamo.geodynamics.org:8080/gridsphere/gridsphere
+178213:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+178215:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+178215:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+178216:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+178218:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+178228:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+202608:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+202608:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+dbtype=mysql
+driver class=com.mysql.jdbc.Driver
+conn url=jdbc:mysql://localhost:3306/gridsphere
+202610:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+202612:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+202613:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+202613:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+202617:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'gridsphere'@'localhost' (using password: YES) >
+
+202617:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+202635:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+202635:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+202636:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+202636:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+202637:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+202646:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+245176:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+245177:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+dbtype=mysql
+driver class=com.mysql.jdbc.Driver
+conn url=jdbc:mysql://localhost:3306/gridsphere
+245178:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+245179:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+245179:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+245180:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+245183:ERROR:(CreateDatabase.java:testDBConnection:133)
+< java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) >
+
+245183:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+245206:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+245207:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+245207:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+245208:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+245208:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+245215:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+273023:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+273023:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+dbtype=mysql
+driver class=com.mysql.jdbc.Driver
+conn url=jdbc:mysql://localhost:3306/gridsphere
+273024:INFO:(CreateDatabase.java:execute:185)
+< Database: >
+
+273024:INFO:(CreateDatabase.java:execute:186)
+< Action: CREATE >
+
+273025:INFO:(CreateDatabase.java:execute:189)
+< Using project database >
+
+273025:INFO:(CreateDatabase.java:loadProperties:111)
+< Using database configuration information from: /root/.gridsphere/database/hibernate.properties >
+
+273350:INFO:(CreateDatabase.java:execute:194)
+< Tested DB connection. >
+
+273448:DEBUG:(CreateDatabase.java:getDBConfiguration:152)
+< MappingPath is :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence >
+
+273449:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+273802:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+273820:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+273932:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+273951:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+273976:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+274000:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+274012:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+274031:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+274050:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+274065:DEBUG:(CreateDatabase.java:getDBConfiguration:167)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+274079:INFO:(CreateDatabase.java:execute:198)
+< Got DB configuration. >
+
+274747:INFO:(CreateDatabase.java:createDatabase:77)
+< Successfully created DB >
+
+274748:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+274765:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+274768:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+274771:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+274790:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+274798:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+274811:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+274823:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+274832:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+274839:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+274850:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+274862:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+274876:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+274887:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+275652:INFO:(PersistenceManagerRdbmsImpl.java:<init>:69)
+< Creating Hibernate RDBMS Impl using config in /root/.gridsphere/database/hibernate.properties >
+
+275652:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+select userRole.user from org.gridsphere.services.core.security.role.impl.UserRole userRole where userRole.role.Name='ADMIN'
+276289:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+276293:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+276294:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+276305:INFO:(SetupServlet.java:doGet:103)
+< Starting a database transaction >
+
+276305:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+select userRole.user from org.gridsphere.services.core.security.role.impl.UserRole userRole where userRole.role.Name='ADMIN'
+276307:INFO:(SetupServlet.java:doGet:111)
+< Committing the database transaction >
+
+276308:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+276309:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+276345:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page SetupAdmin >
+
+276346:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page SetupAdmin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+276347:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+276347:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+276347:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+276348:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+276348:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+276509:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+533896:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+533896:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+533897:DEBUG:(SetupServlet.java:createAdmin:356)
+< Starting a database transaction >
+
+533897:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+533935:DEBUG:(SetupServlet.java:createAdmin:369)
+< Saving the admin account in the DB >
+
+533975:DEBUG:(SetupServlet.java:createAdmin:378)
+< Committing the database transaction >
+
+533975:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+533980:DEBUG:(SetupServlet.java:redirect:427)
+< redirecting to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere >
+
+534000:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+534003:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+534004:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+select userRole.user from org.gridsphere.services.core.security.role.impl.UserRole userRole where userRole.role.Name='ADMIN'
+534008:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+Initializing portlets!!!
+534009:INFO:(GridSphereFilter.java:doFilter:131)
+< Initializing portlets >
+
+534016:DEBUG:(PortletManagerServiceImpl.java:initPortletWebApplication:224)
+< initing web app gridsphere >
+
+534021:DEBUG:(PortletWebApplicationLoader.java:<init>:61)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+534023:DEBUG:(PortletInvoker.java:initPortletWebApp:126)
+< initializing portlet web app gridsphere >
+
+534031:INFO:(PortletServlet.java:init:64)
+< in init of PortletServlet >
+
+534037:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml >
+
+534038:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar!/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml >
+
+534214:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ConfigPortlet class: gridsphere#ConfigPortlet in hash >
+
+534215:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking DatePortlet class: gridsphere#DatePortlet in hash >
+
+534215:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Login class: gridsphere#Login in hash >
+
+534216:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Signup class: gridsphere#Signup in hash >
+
+534216:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking LocalePortlet class: gridsphere#LocalePortlet in hash >
+
+534217:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RSSPortlet class: gridsphere#RSSPortlet in hash >
+
+534217:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Message of the Day class: gridsphere#Message of the Day in hash >
+
+534221:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking AboutGridSphere class: gridsphere#AboutGridSphere in hash >
+
+534221:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ContentManagement class: gridsphere#ContentManagement in hash >
+
+534222:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking UserAccountManager class: gridsphere#UserAccountManager in hash >
+
+534223:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RoleManager class: gridsphere#RoleManager in hash >
+
+534223:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ProfileManager class: gridsphere#ProfileManager in hash >
+
+534224:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Portlet Application Manager class: gridsphere#Portlet Application Manager in hash >
+
+534225:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Layout Manager class: gridsphere#Layout Manager in hash >
+
+534225:DEBUG:(PortletWebApplicationImpl.java:loadServices:183)
+< Did not find PortletServices.xml or portlet-services directory for: GridSphere Portlet Container >
+
+534238:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534239:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534252:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+534252:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534257:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+534258:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534266:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+534266:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534272:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+534272:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534275:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+534276:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534285:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.login.LoginPortlet >
+
+534285:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534287:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.about.AboutPortlet >
+
+534287:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534290:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+534291:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534292:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.date.DatePortlet >
+
+534293:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534296:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+534297:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534303:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.registration.SignupPortlet >
+
+534304:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534314:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+534316:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534318:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.news.NewsPortlet >
+
+534319:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+534327:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+534328:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml >
+
+534343:INFO:(AuthModuleServiceImpl.java:loadAuthModules:81)
+< loading auth modules: >
+
+534344:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere Password
+auth module description: Hashed password based authentication using GridSphere database
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule
+auth module priority: 100
+config properties: 	name: aname	value: avalue >
+
+534357:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere JAAS
+auth module description: Use the Java Authentication and Authorization Framework
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule
+auth module priority: 40
+config properties: 	name: aname	value: avalue >
+
+534366:INFO:(PortletServlet.java:initJSRPortletWebapp:148)
+< loading authentication modules from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+534366:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet LocalePortlet >
+
+534371:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet UserAccountManager >
+
+534398:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RSSPortlet >
+
+534400:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Layout Manager >
+
+534404:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ProfileManager >
+
+534405:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ConfigPortlet >
+
+534405:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Login >
+
+534415:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml >
+
+534416:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/filters/portal-filters-mapping.xml >
+
+534447:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet AboutGridSphere >
+
+534450:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RoleManager >
+
+534451:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet DatePortlet >
+
+534451:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ContentManagement >
+
+534454:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Signup >
+
+534455:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Portlet Application Manager >
+
+534458:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Message of the Day >
+
+534459:ERROR:(NewsPortlet.java:init:50)
+< Could not load properties from /root/.gridsphere/portal//motd.properties >
+
+534459:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:165)
+< adding webapp: gridsphere >
+
+534460:ERROR:(PortletManagerServiceImpl.java:addPortletFile:190)
+< Unable to create portlet app file: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/root/.gridsphere/portlets/gridsphere >
+
+534460:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#LocalePortlet >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#UserAccountManager >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RSSPortlet >
+
+534461:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Layout Manager >
+
+534462:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ProfileManager >
+
+534462:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ConfigPortlet >
+
+534463:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Login >
+
+534463:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#AboutGridSphere >
+
+534466:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RoleManager >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#DatePortlet >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ContentManagement >
+
+534467:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Signup >
+
+534468:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Portlet Application Manager >
+
+534468:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Message of the Day >
+
+534469:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+534469:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+534470:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+534471:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+534471:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+534472:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+534477:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+534478:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+534478:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+534499:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+534506:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+534506:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+534507:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+534507:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+534508:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+534508:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+534513:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534514:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+534515:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+534518:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+534519:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+534523:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+534524:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+534584:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+534585:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+534586:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+534586:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+535075:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+535287:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+535288:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+535288:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+535383:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 908 (ms) request= null
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+535385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+535386:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+535386:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+535389:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+597169:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+597169:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+597170:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+597170:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+597170:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+597171:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+597171:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+597172:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+597173:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+597174:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+597190:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+597195:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+597196:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+597196:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+597197:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+597197:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+597198:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+597201:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+597202:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+597202:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+597205:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+597206:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+597206:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+597207:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+597208:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+597213:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+597213:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+597214:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+597216:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+597394:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+597398:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+597398:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+597399:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+597404:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+597405:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+597406:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+597407:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+597408:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+597408:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+597409:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+597410:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+597412:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+597413:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+597416:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+597416:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+597962:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+597963:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+597964:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+597965:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+597970:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 800 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+597972:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+597973:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+597973:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+597973:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+597974:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+597979:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+616854:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+616855:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+616855:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+616860:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+616860:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+616860:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+616861:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+616862:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+616863:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+616864:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=login
+616866:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+616866:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+616867:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+616867:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+616868:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+616869:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+616871:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+num tries = 1
+616883:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+616884:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+616888:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+616896:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616897:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+616898:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+616898:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+616899:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+616899:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+616900:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616902:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+616903:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+616903:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+616904:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+616908:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+616925:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+616925:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+616926:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+616926:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+616926:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+616927:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+616927:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+616930:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+616931:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+616956:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+617007:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+617012:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+617012:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+617013:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+617013:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+617014:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+unable to convert cid=login
+617014:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+617189:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617189:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+617193:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+617193:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617194:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617198:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+617199:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+617199:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+617200:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+617201:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+617201:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+617209:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+621994:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+624468:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+624469:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+624469:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+624470:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+624694:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+624704:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+624704:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+624705:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+624708:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 7790 (ms) request= gs_PageLayout=loggedin&cid=login&gs_render=
+624720:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+624720:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+624721:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+624721:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+624721:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+624724:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+659820:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+659821:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+659821:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+659821:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+659822:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+659822:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+659822:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+659824:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+659825:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+659829:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+659851:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+659857:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+659857:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 05EEDA56114A737FC8BAD7FF7FCEFDCD class org.gridsphere.layout.PortletPageFactory
+659858:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+659858:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+659859:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+659859:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+659867:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659868:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+659868:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+659869:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659870:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659870:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+659871:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+659876:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+659877:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+659878:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+659878:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+659882:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+659883:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+659884:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+659885:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+660524:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+660525:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+660526:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+660527:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+660533:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 711 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+660535:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+660536:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+660536:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+660539:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+660540:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+660542:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+687309:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+687310:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portlets/r/ >
+
+687310:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+687310:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portlets/r/ requestURI= /gridsphere/gridsphere/admin/portlets/r/
+ >
+
+687311:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portlets&gs_render= >
+
+687311:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+687311:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+687313:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portlets >
+
+687314:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+687318:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTab: label=portlets
+687320:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+687327:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687327:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+687328:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+687332:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687335:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687336:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+687337:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+687337:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+687338:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+687339:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+687339:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/admin:running:2:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/webdav:running:0:webdav
+/servlets-examples:running:0:servlets-examples
+/jsp-examples:running:0:jsp-examples
+/balancer:running:0:balancer
+/gridsphere:running:1:gridsphere
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/sample:running:0:sample
+/:running:0:ROOT
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+
+line= OK - Listed applications for virtual host localhost
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/admin:running:2:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/webdav:running:0:webdav
+/servlets-examples:running:0:servlets-examples
+/jsp-examples:running:0:jsp-examples
+/balancer:running:0:balancer
+/gridsphere:running:1:gridsphere
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/sample:running:0:sample
+/:running:0:ROOT
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+
+line= OK - Listed applications for virtual host localhost
+687368:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+687369:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+687370:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+687370:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+687371:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+687663:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+687665:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+687665:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+687666:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+687671:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 359 (ms) request= gs_PageLayout=admin&cid=portlets&gs_render=
+687672:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+687673:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+687673:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+687674:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+687674:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+687675:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+695861:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+695861:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/users/r/ >
+
+695861:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+695862:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/users/r/ requestURI= /gridsphere/gridsphere/admin/users/r/
+ >
+
+695862:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=users&gs_render= >
+
+695862:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+695866:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+695867:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= users >
+
+695868:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+695870:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTab: label=users
+695873:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+695880:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695881:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.users.UserManagerPortlet component id= usermanagerTB >
+
+695882:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+695885:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695889:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695889:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.users.UserManagerPortlet component id= usermanager >
+
+695890:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+695891:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+695891:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doListUsers >
+
+695892:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= UserAccountManager  next page is= doListUsers >
+
+695894:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session UserAccountManager.beans >
+
+695917:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/users/doViewUserList.jsp >
+
+695918:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.users.UserManagerPortlet#doListUsers user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+695921:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/users/doViewUserList.jsp >
+
+695921:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/users/doViewUserList.jsp >
+
+696258:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session UserAccountManager.beans >
+
+696259:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+696259:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+696260:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+696264:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 402 (ms) request= gs_PageLayout=admin&cid=users&gs_render=
+696269:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+696269:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+696270:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+696270:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+696270:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+696272:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+710923:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+710923:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/roles/r/ >
+
+710923:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+710924:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/roles/r/ requestURI= /gridsphere/gridsphere/admin/roles/r/
+ >
+
+710924:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=roles&gs_render= >
+
+710924:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+710925:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+710928:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= roles >
+
+710928:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+710931:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTab: label=roles
+710932:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+710941:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710942:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet component id= rolemanagerTB >
+
+710942:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+710946:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710951:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710952:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet component id= rolemanager >
+
+710954:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+710954:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+710955:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doListRoles >
+
+710955:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RoleManager  next page is= doListRoles >
+
+710956:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RoleManager.beans >
+
+710973:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/roles/doViewRolesList.jsp >
+
+710975:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet#doListRoles user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+710976:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/roles/doViewRolesList.jsp >
+
+710977:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/roles/doViewRolesList.jsp >
+
+711201:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RoleManager.beans >
+
+711202:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+711202:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+711203:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+711207:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 282 (ms) request= gs_PageLayout=admin&cid=roles&gs_render=
+711209:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+711209:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+711210:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+711210:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+711211:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+711212:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+760315:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+760316:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/configTab/r/ >
+
+760316:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+760316:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/configTab/r/ requestURI= /gridsphere/gridsphere/admin/configTab/r/
+ >
+
+760317:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=configTab&gs_render= >
+
+760317:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+760317:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+760322:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= configTab >
+
+760322:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+760327:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTab: label=configTab
+760329:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+760342:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760342:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+760343:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+760344:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760345:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760345:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+760346:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+760350:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+760350:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+760351:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+760352:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+760353:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+760354:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+760355:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+760356:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+760366:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+760367:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+760368:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+760369:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+760374:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 58 (ms) request= gs_PageLayout=admin&cid=configTab&gs_render=
+760376:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+760377:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+760377:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+760377:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+760378:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+760379:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+822481:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+822481:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+822481:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+822482:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+822482:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+822482:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+822483:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+822486:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+822487:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+822491:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+822492:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+822500:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822500:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+822501:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+822502:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822502:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822503:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+822504:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+822504:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+822505:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+822505:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+822506:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+822507:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+824519:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+824521:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+824522:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=05EEDA56114A737FC8BAD7FF7FCEFDCD remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+824522:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+824523:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+824534:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+824538:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+824539:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+824539:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+824542:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2065 (ms) request= gs_PageLayout=loggedin&cid=6&gs_render=
+824548:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+824548:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+824550:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+after dump
+824550:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+824551:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+824552:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+844796:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+844796:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/a/gs_logout >
+
+844796:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+844797:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/a/gs_logout requestURI= /gridsphere/gridsphere/loggedin/6/a/gs_logout
+ >
+
+844797:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_action=gs_logout >
+
+844797:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+844798:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+844799:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+844799:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_logout >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+844802:DEBUG:(GridSphereServlet.java:logout:363)
+< in logout of GridSphere Servlet >
+
+844803:DEBUG:(PortletManagerServiceImpl.java:logoutPortletWebApplication:253)
+< logout web app gridsphere >
+
+844803:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('05EEDA56114A737FC8BAD7FF7FCEFDCD') >
+
+844804:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844805:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844809:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing SetupDatabase container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844809:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844810:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844811:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing SetupAdmin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844811:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844812:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844812:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844813:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844813:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844814:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844814:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844815:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844815:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844816:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844816:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+844817:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+844818:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 05EEDA56114A737FC8BAD7FF7FCEFDCD >
+
+844820:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844820:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('05EEDA56114A737FC8BAD7FF7FCEFDCD')
+844821:DEBUG:(PortletServlet.java:service:225)
+< in PortletServlet: service(): No PortletID found in request! >
+
+844822:ERROR:(GridSphereServlet.java:logout:386)
+< Post logout redirect to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere?gs_render >
+
+Page render time = 24 (ms) request= gs_PageLayout=loggedin&cid=6&gs_action=gs_logout
+844823:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+844824:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+844825:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+844842:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+844842:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+844842:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= gs_render >
+
+844843:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+844843:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+844843:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+844844:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+844844:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+844845:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('792D8FCDFCCF581A3C30D48CBCEB05BC')
+844847:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('792D8FCDFCCF581A3C30D48CBCEB05BC') >
+
+844847:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844848:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844848:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844849:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+844860:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+844862:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844863:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 792D8FCDFCCF581A3C30D48CBCEB05BC class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 792D8FCDFCCF581A3C30D48CBCEB05BC class org.gridsphere.layout.PortletPageFactory
+844863:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844863:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844864:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+844864:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+844868:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+844868:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+844869:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+844872:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+844872:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+844873:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+844873:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+844878:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+844881:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+844882:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+844882:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+844884:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+844887:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+844888:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+844888:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+844892:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 50 (ms) request= gs_render
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+844894:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+after dump
+844895:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+844895:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+844896:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+2703122:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('792D8FCDFCCF581A3C30D48CBCEB05BC') >
+
+2703122:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+2703123:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+2703123:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+2703123:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 792D8FCDFCCF581A3C30D48CBCEB05BC >
+
+2703123:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+2703124:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('792D8FCDFCCF581A3C30D48CBCEB05BC')
+7706680:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+7706682:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+7706682:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+7706683:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+7706683:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+7706683:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+7706684:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+7706685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+7706685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('A9FF5EAA687E61BEB92CA25289F3DAAE')
+7706686:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('A9FF5EAA687E61BEB92CA25289F3DAAE') >
+
+7706687:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706687:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706688:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706689:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+7706693:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+7706697:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+7706697:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : A9FF5EAA687E61BEB92CA25289F3DAAE class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : A9FF5EAA687E61BEB92CA25289F3DAAE class org.gridsphere.layout.PortletPageFactory
+7706698:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706698:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706699:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+7706699:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+7706704:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+7706704:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+7706705:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+7706706:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+7706706:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+7706707:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+7706707:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+7706709:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+7706709:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+7706710:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+7706711:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+7706712:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+7706714:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706714:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+7706715:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+7706716:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706721:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706721:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+7706722:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+7706723:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+7706723:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+7706724:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+7706724:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+7706725:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+7706726:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+7706726:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+7706727:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+7706727:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+7706730:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+7706731:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+7706734:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+7706735:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+7706738:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 54 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+7706739:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+7706740:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+7706740:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+after dump
+7706740:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+7706741:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+7706742:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+9546367:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('A9FF5EAA687E61BEB92CA25289F3DAAE') >
+
+9546368:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+9546368:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+9546368:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+9546369:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: A9FF5EAA687E61BEB92CA25289F3DAAE >
+
+9546369:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+9546369:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('A9FF5EAA687E61BEB92CA25289F3DAAE')
+Jul 6, 2007 9:39:51 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 9:50:22 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:00:53 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:18:04 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Undeploying context [/simplegrid_cig]
+Jul 6, 2007 10:19:24 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:20:54 PM org.apache.catalina.startup.HostConfig checkResources
+INFO: Reloading context [/simplegrid_cig]
+Jul 6, 2007 10:25:03 PM org.apache.coyote.http11.Http11BaseProtocol pause
+INFO: Pausing Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:04 PM org.apache.catalina.core.StandardService stop
+INFO: Stopping service Catalina
+224463136:DEBUG:(GridSphereServlet.java:destroy:413)
+< in destroy: Shutting down services >
+
+224463149:INFO:(PortletServiceFactory.java:shutdownServices:212)
+< Shutting down all portlet services: >
+
+224463150:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.timer.TimerService impl: org.gridsphere.services.core.timer.impl.TimerServiceImpl >
+
+224463150:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.registry.PortletRegistryService impl: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl >
+
+224463206:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.registry.PortletManagerService impl: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl >
+
+224463206:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.locale.LocaleService impl: org.gridsphere.services.core.locale.impl.LocaleServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.customization.SettingsService impl: org.gridsphere.services.core.customization.impl.SettingsServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.filter.PortalFilterService impl: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl >
+
+224463207:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.auth.AuthModuleService impl: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.tomcat.TomcatManagerService impl: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.mail.MailService impl: org.gridsphere.services.core.mail.impl.MailServiceImpl >
+
+224463208:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.rss.RssService impl: org.gridsphere.services.core.rss.impl.RssServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.portal.PortalConfigService impl: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.cache.CacheService impl: org.gridsphere.services.core.cache.impl.CacheServiceImpl >
+
+224463209:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.request.RequestService impl: org.gridsphere.services.core.request.impl.RequestServiceImpl >
+
+224463210:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.jcr.JCRService impl: org.gridsphere.services.core.jcr.impl.JCRServiceImpl >
+
+224463210:INFO:(JCRServiceImpl.java:destroy:145)
+< Shutting down content repository... >
+
+224463323:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.password.PasswordManagerService impl: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl >
+
+224463323:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.security.role.RoleManagerService impl: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl >
+
+224463324:INFO:(RoleManagerServiceImpl.java:destroy:62)
+< Calling destroy() >
+
+224463324:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.persistence.PersistenceManagerService impl: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl >
+
+224463324:INFO:(PersistenceManagerServiceImpl.java:destroy:109)
+< Shutting down PersistenceManagers  >
+
+destroying pm! gridsphere
+224463383:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.content.ContentManagerService impl: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl >
+
+224463383:INFO:(PortletServiceFactory.java:shutdownServices:217)
+< Shutting down service: org.gridsphere.services.core.user.UserManagerService impl: org.gridsphere.services.core.user.impl.UserManagerServiceImpl >
+
+224463608:DEBUG:(GridSphereServlet.java:contextDestroyed:470)
+< contextDestroyed() >
+
+224463609:DEBUG:(GridSphereServlet.java:contextDestroyed:471)
+< contextName: GridSphere Portlet Container >
+
+224463609:DEBUG:(GridSphereServlet.java:contextDestroyed:472)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+Jul 6, 2007 10:25:05 PM org.apache.coyote.http11.Http11BaseProtocol destroy
+INFO: Stopping Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:05 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: Failed shutdown of Apache Portable Runtime
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
+INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386/client:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/lib/i386:/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/jre/../lib/i386:/home/globus/globus-4.0.4/lib
+Jul 6, 2007 10:25:13 PM org.apache.coyote.http11.Http11BaseProtocol init
+INFO: Initializing Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:13 PM org.apache.catalina.startup.Catalina load
+INFO: Initialization processed in 773 ms
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardService start
+INFO: Starting service Catalina
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardEngine start
+INFO: Starting Servlet Engine: Apache Tomcat/5.5.23
+Jul 6, 2007 10:25:13 PM org.apache.catalina.core.StandardHost start
+INFO: XML validation disabled
+Jul 6, 2007 10:25:14 PM org.apache.catalina.startup.HostConfig deployWAR
+INFO: Deploying web application archive sample.war
+in contextInitialized of GridSphereServlet
+0:INFO:(GridSphereServlet.java:contextInitialized:484)
+< contextName: GridSphere Portlet Container >
+
+5:DEBUG:(GridSphereServlet.java:contextInitialized:485)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+10:INFO:(GridSphereServlet.java:init:88)
+< in init of GridSphereServlet >
+
+10:DEBUG:(GridSphereServlet.java:init:93)
+< loading from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+26:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml >
+
+33:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar!/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml >
+
+403:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.persistence.PersistenceManagerService service def: 
+service name: Persistence Manager Service
+service description: Provides JDBC Persistence Capabilities using Hibernate
+service interface: org.gridsphere.services.core.persistence.PersistenceManagerService
+service implementation: org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+404:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletManagerService service def: 
+service name: Portlet Manager Service
+service description: Provides Administration Capabilities for Portlet Web Applications
+service interface: org.gridsphere.services.core.registry.PortletManagerService
+service implementation: org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+405:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.tomcat.TomcatManagerService service def: 
+service name: Tomcat Manager Service
+service description: Provides Portlet Reloading Capabilities uisng Tomcat manager webapp
+service interface: org.gridsphere.services.core.tomcat.TomcatManagerService
+service implementation: org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+407:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.rss.RssService service def: 
+service name: RSS Service
+service description: Provides RSS Service
+service interface: org.gridsphere.services.core.rss.RssService
+service implementation: org.gridsphere.services.core.rss.impl.RssServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: cache_time	value: 10 >
+
+408:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.registry.PortletRegistryService service def: 
+service name: Portlet Registry Service
+service description: Provides Portlet Registry
+service interface: org.gridsphere.services.core.registry.PortletRegistryService
+service implementation: org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+409:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.auth.AuthModuleService service def: 
+service name: Authentication Module Service
+service description: Provides Authentication Modules
+service interface: org.gridsphere.services.core.security.auth.AuthModuleService
+service implementation: org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+410:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.portal.PortalConfigService service def: 
+service name: Portal Config Service
+service description: Provides GridSphere portal configuration settings
+service interface: org.gridsphere.services.core.portal.PortalConfigService
+service implementation: org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+410:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.filter.PortalFilterService service def: 
+service name: Portal Filter Service
+service description: Provides portal filters
+service interface: org.gridsphere.services.core.filter.PortalFilterService
+service implementation: org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+411:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.content.ContentManagerService service def: 
+service name: Content Manager Service
+service description: Provides Content Management Capabilities
+service interface: org.gridsphere.services.core.content.ContentManagerService
+service implementation: org.gridsphere.services.core.content.impl.ContentManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+412:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.role.RoleManagerService service def: 
+service name: Role Manager Service
+service description: Provides Role Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.role.RoleManagerService
+service implementation: org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+412:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.group.GroupManagerService service def: 
+service name: Group Manager Service
+service description: Provides Group Capabilities to Portal Users
+service interface: org.gridsphere.services.core.security.group.GroupManagerService
+service implementation: org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+414:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.user.UserManagerService service def: 
+service name: User Account Manager Service
+service description: Provides User Administration Capabilities
+service interface: org.gridsphere.services.core.user.UserManagerService
+service implementation: org.gridsphere.services.core.user.impl.UserManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+414:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.security.password.PasswordManagerService service def: 
+service name: Password Manager Service
+service description: Provides Password Management Capabilities
+service interface: org.gridsphere.services.core.security.password.PasswordManagerService
+service implementation: org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+415:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.jcr.JCRService service def: 
+service name: JCR Service
+service description: Java Content Repository Service
+service interface: org.gridsphere.services.core.jcr.JCRService
+service implementation: org.gridsphere.services.core.jcr.impl.JCRServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+415:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.request.RequestService service def: 
+service name: Generic Request Service
+service description: Provides Generic Request Capabilities
+service interface: org.gridsphere.services.core.request.RequestService
+service implementation: org.gridsphere.services.core.request.impl.RequestServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+416:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.layout.LayoutManagerService service def: 
+service name: Layout Manager Service
+service description: Provides Layout Management Capabilities
+service interface: org.gridsphere.services.core.layout.LayoutManagerService
+service implementation: org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+417:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.mail.MailService service def: 
+service name: Mail Service
+service description: Simple e-mail service
+service interface: org.gridsphere.services.core.mail.MailService
+service implementation: org.gridsphere.services.core.mail.impl.MailServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+418:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.locale.LocaleService service def: 
+service name: Locale Service
+service description: Manages supported list of locales
+service interface: org.gridsphere.services.core.locale.LocaleService
+service implementation: org.gridsphere.services.core.locale.impl.LocaleServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: display-locale	value: en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja >
+
+418:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.timer.TimerService service def: 
+service name: Timer Service
+service description: Timer Service
+service interface: org.gridsphere.services.core.timer.TimerService
+service implementation: org.gridsphere.services.core.timer.impl.TimerServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+419:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.cache.CacheService service def: 
+service name: Cache Service
+service description: Cache Service
+service interface: org.gridsphere.services.core.cache.CacheService
+service implementation: org.gridsphere.services.core.cache.impl.CacheServiceImpl
+user required: false
+load on startup: false
+config properties: 	name: isCachingOn	value: true >
+
+420:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.secdir.SecureDirectoryService service def: 
+service name: Secure Directory Service
+service description: Provides Secure Directory Capabilities
+service interface: org.gridsphere.services.core.secdir.SecureDirectoryService
+service implementation: org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.charts.ChartService service def: 
+service name: Chart Service
+service description: Provides chart generation and management capabilities
+service interface: org.gridsphere.services.core.charts.ChartService
+service implementation: org.gridsphere.services.core.charts.impl.ChartServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+421:DEBUG:(PortletServiceFactory.java:addServices:85)
+< adding service: org.gridsphere.services.core.customization.SettingsService service def: 
+service name: Settings Service
+service description: GridSphere settings service
+service interface: org.gridsphere.services.core.customization.SettingsService
+service implementation: org.gridsphere.services.core.customization.impl.SettingsServiceImpl
+user required: false
+load on startup: false
+config properties:  >
+
+426:DEBUG:(SettingsServiceImpl.java:init:33)
+< In Settings >
+
+428:INFO:(SettingsServiceImpl.java:init:46)
+< GridSphere Settings will be saved in: /root/.gridsphere >
+
+447:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/content.xml >
+
+448:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+708:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/guest.xml >
+
+710:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+791:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/profile.xml >
+
+793:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+878:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/register.xml >
+
+882:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+943:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/UpdateDatabase.xml >
+
+944:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+997:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/login.xml >
+
+997:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1063:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupAdmin.xml >
+
+1064:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1158:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/SetupDatabase.xml >
+
+1159:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1201:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/error.xml >
+
+1202:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1277:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/loggedin.xml >
+
+1277:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1332:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/layout.xml >
+
+1333:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+1386:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /root/.gridsphere/layouts/admin.xml >
+
+1386:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/layout/layout-mapping.xml >
+
+Jul 6, 2007 10:25:18 PM org.apache.coyote.http11.Http11BaseProtocol start
+INFO: Starting Coyote HTTP/1.1 on http-8080
+Jul 6, 2007 10:25:18 PM org.apache.jk.common.ChannelSocket init
+INFO: JK: ajp13 listening on /0.0.0.0:8009
+Jul 6, 2007 10:25:18 PM org.apache.jk.server.JkMain start
+INFO: Jk running ID=0 time=0/23  config=null
+Jul 6, 2007 10:25:18 PM org.apache.catalina.storeconfig.StoreLoader load
+INFO: Find registry server-registry.xml at classpath resource
+Jul 6, 2007 10:25:18 PM org.apache.catalina.startup.Catalina start
+INFO: Server startup in 5168 ms
+sessionCreated('C6CE167935F7CD4AA8D0D1C36FCBD9F8')
+17384:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('C6CE167935F7CD4AA8D0D1C36FCBD9F8') >
+
+17384:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+17385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+17385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+url = http://dynamo.geodynamics.org:8080/gridsphere/gridsphere
+17412:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+17435:INFO:(GridSphereFilter.java:doFilter:101)
+< Starting a database transaction >
+
+17579:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml >
+
+17837:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml >
+
+17860:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml >
+
+17971:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml >
+
+17991:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml >
+
+18012:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml >
+
+18043:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml >
+
+18056:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml >
+
+18072:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml >
+
+18087:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml >
+
+18110:DEBUG:(PersistenceManagerRdbmsImpl.java:loadConfiguration:120)
+< add hbm file :/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml >
+
+19735:INFO:(PersistenceManagerRdbmsImpl.java:<init>:69)
+< Creating Hibernate RDBMS Impl using config in /root/.gridsphere/database/hibernate.properties >
+
+19735:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+select userRole.user from org.gridsphere.services.core.security.role.impl.UserRole userRole where userRole.role.Name='ADMIN'
+20293:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+Initializing portlets!!!
+20302:INFO:(GridSphereFilter.java:doFilter:131)
+< Initializing portlets >
+
+20340:DEBUG:(PortletManagerServiceImpl.java:initPortletWebApplication:224)
+< initing web app gridsphere >
+
+20342:DEBUG:(PortletWebApplicationLoader.java:<init>:61)
+< context path: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere >
+
+20357:DEBUG:(PortletInvoker.java:initPortletWebApp:126)
+< initializing portlet web app gridsphere >
+
+20370:INFO:(PortletServlet.java:init:64)
+< in init of PortletServlet >
+
+20374:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml >
+
+20375:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar!/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml >
+
+20568:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ConfigPortlet class: gridsphere#ConfigPortlet in hash >
+
+20569:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking DatePortlet class: gridsphere#DatePortlet in hash >
+
+20569:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Login class: gridsphere#Login in hash >
+
+20570:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Signup class: gridsphere#Signup in hash >
+
+20571:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking LocalePortlet class: gridsphere#LocalePortlet in hash >
+
+20571:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RSSPortlet class: gridsphere#RSSPortlet in hash >
+
+20572:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Message of the Day class: gridsphere#Message of the Day in hash >
+
+20574:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking AboutGridSphere class: gridsphere#AboutGridSphere in hash >
+
+20575:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ContentManagement class: gridsphere#ContentManagement in hash >
+
+20575:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking UserAccountManager class: gridsphere#UserAccountManager in hash >
+
+20578:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking RoleManager class: gridsphere#RoleManager in hash >
+
+20578:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking ProfileManager class: gridsphere#ProfileManager in hash >
+
+20579:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Portlet Application Manager class: gridsphere#Portlet Application Manager in hash >
+
+20580:DEBUG:(PortletWebApplicationImpl.java:loadPortlets:102)
+< sticking Layout Manager class: gridsphere#Layout Manager in hash >
+
+20581:DEBUG:(PortletWebApplicationImpl.java:loadServices:183)
+< Did not find PortletServices.xml or portlet-services directory for: GridSphere Portlet Container >
+
+20598:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.locale.LocalePortlet >
+
+20598:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20612:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.users.UserManagerPortlet >
+
+20612:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20616:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+20617:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20625:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+20626:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20630:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+20630:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20637:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+20637:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20642:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.login.LoginPortlet >
+
+20643:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20644:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.about.AboutPortlet >
+
+20645:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20647:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet >
+
+20648:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20651:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.date.DatePortlet >
+
+20652:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20657:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+20658:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20663:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.registration.SignupPortlet >
+
+20663:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20673:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+20674:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20676:DEBUG:(PortletServlet.java:initJSRPortletWebapp:95)
+< Creating new portlet instance: org.gridsphere.portlets.core.news.NewsPortlet >
+
+20676:DEBUG:(PortletRegistryServiceImpl.java:addWebApplication:40)
+< Adding PortleWebapp to registry: gridsphere >
+
+20691:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+20692:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml >
+
+20709:INFO:(AuthModuleServiceImpl.java:loadAuthModules:81)
+< loading auth modules: >
+
+20710:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere Password
+auth module description: Hashed password based authentication using GridSphere database
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule
+auth module priority: 100
+config properties: 	name: aname	value: avalue >
+
+20762:INFO:(AuthModuleServiceImpl.java:loadAuthModules:84)
+< 
+auth module name: GridSphere JAAS
+auth module description: Use the Java Authentication and Authorization Framework
+auth module implementation: org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule
+auth module priority: 40
+config properties: 	name: aname	value: avalue >
+
+20772:INFO:(PortletServlet.java:initJSRPortletWebapp:148)
+< loading authentication modules from: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml >
+
+20774:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet LocalePortlet >
+
+20779:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet UserAccountManager >
+
+20824:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RSSPortlet >
+
+20826:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Layout Manager >
+
+20866:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ProfileManager >
+
+20867:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ConfigPortlet >
+
+20867:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Login >
+
+20876:DEBUG:(PersistenceManagerXmlImpl.java:load:155)
+< Using getConnectionURL() /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml >
+
+20876:DEBUG:(PersistenceManagerXmlImpl.java:load:159)
+< Loading mapping path jar:file:/home/cigtg/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar!/org/gridsphere/filters/portal-filters-mapping.xml >
+
+20927:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet AboutGridSphere >
+
+20928:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet RoleManager >
+
+20932:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet DatePortlet >
+
+20933:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet ContentManagement >
+
+20943:WARN:(JCRServiceImpl.java:init:48)
+< JCR Path /root/.gridsphere/portal/ >
+
+21985:INFO:(JCRServiceImpl.java:init:71)
+< Registering gs with Namespace http://www.gridsphere.org/jcr-content/1.0 >
+
+22140:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Signup >
+
+22141:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Portlet Application Manager >
+
+22144:DEBUG:(PortletServlet.java:service:174)
+< in PortletServlet: service(): Initializing portlet Message of the Day >
+
+22147:ERROR:(NewsPortlet.java:init:50)
+< Could not load properties from /root/.gridsphere/portal//motd.properties >
+
+22147:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:165)
+< adding webapp: gridsphere >
+
+22148:ERROR:(PortletManagerServiceImpl.java:addPortletFile:190)
+< Unable to create portlet app file: /home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/root/.gridsphere/portlets/gridsphere >
+
+22149:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#LocalePortlet >
+
+22149:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#UserAccountManager >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RSSPortlet >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Layout Manager >
+
+22150:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ProfileManager >
+
+22151:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ConfigPortlet >
+
+22151:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Login >
+
+22152:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#AboutGridSphere >
+
+22152:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#RoleManager >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#DatePortlet >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#ContentManagement >
+
+22153:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Signup >
+
+22154:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Portlet Application Manager >
+
+22154:DEBUG:(PortletManagerServiceImpl.java:addPortletWebApplication:170)
+< Adding application portlet: gridsphere#Message of the Day >
+
+22157:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+22157:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+22157:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+22159:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+22159:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+22160:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+22184:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+22187:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+22189:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+22237:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+22257:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+22257:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+22258:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+22258:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+22259:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+22259:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+22270:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+22271:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+22272:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+22276:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+22277:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+22278:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+22278:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+22332:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+22333:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+22333:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+22334:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+22441:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+22475:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+22475:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+22476:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+22546:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 380 (ms) request= null
+22548:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+22549:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+22549:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+22550:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+22550:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+22552:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+url = http://dynamo.geodynamics.org:8080/gridsphere/gridsphere
+48816:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+48816:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+48817:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+48817:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+48817:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+48818:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+48818:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+48819:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+48820:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+48820:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+48820:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+48824:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+48825:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+48826:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+48827:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+48829:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+48830:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+48831:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+48832:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+48833:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+48833:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+48834:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+48836:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+48841:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+48844:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+48844:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+48849:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 31 (ms) request= null
+48850:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+48851:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+48851:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+48851:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+48852:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+48853:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+56703:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+56705:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+56706:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+56706:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+56709:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+56709:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+56710:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+56711:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+56711:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+56712:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+56726:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+56729:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+56729:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+56731:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+56734:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+56734:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+56735:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+56741:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+56741:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+56742:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+56743:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+56746:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+56746:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+56747:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+56749:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+56750:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+56751:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+56751:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+56755:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+56796:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+56797:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+56797:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+56798:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+56801:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+56802:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+56803:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+56805:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+56806:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+56807:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+56807:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+56808:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+56810:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+56811:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+56812:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+56812:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+56844:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+56846:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+56846:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+56847:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+56851:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 144 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+56854:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+56855:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+56855:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+56856:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+56857:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+56857:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+74307:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+74307:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+74307:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+74308:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+74308:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+74308:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+74309:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+74313:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+74314:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+74315:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=login
+74319:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+74320:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+74320:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+74321:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+74321:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+74322:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+74324:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+num tries = 0
+74337:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+74341:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+74342:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+74402:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74403:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+74403:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+74404:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+74404:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+74409:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+74410:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74412:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+74413:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+74413:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+74414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+74448:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+74467:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+74468:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+74468:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+74468:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+74468:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+74473:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+74474:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+74475:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+74475:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+74490:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+74511:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+74521:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+74522:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+74522:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+74523:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+74523:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+unable to convert cid=login
+74524:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+74575:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74576:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+74579:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+74581:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74582:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74582:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+74583:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+74584:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+74584:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+74585:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+74587:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+74602:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+77367:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+79571:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+79572:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+79572:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+79577:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+79626:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+79632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+79633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+79634:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+79641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 5171 (ms) request= gs_PageLayout=loggedin&cid=login&gs_render=
+79645:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+79645:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+79646:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+79646:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+79647:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+79649:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+84999:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+84999:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+84999:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+85000:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+85000:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+85000:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+85001:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+85002:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+85006:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+85012:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+85041:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+85045:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+85045:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+85046:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+85046:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+85047:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+85047:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+85060:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85060:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+85061:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+85062:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85063:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85063:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+85064:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+85065:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+85065:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+85066:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+85066:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+85071:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+85071:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+85072:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+85073:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+85146:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+85147:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+85148:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+85150:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+85157:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 156 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+85158:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+85159:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+85159:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+85160:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+85160:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+85161:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+88759:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+88759:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portlets/r/ >
+
+88759:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+88760:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portlets/r/ requestURI= /gridsphere/gridsphere/admin/portlets/r/
+ >
+
+88760:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portlets&gs_render= >
+
+88761:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+88761:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+88762:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portlets >
+
+88762:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+88768:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTab: label=portlets
+88771:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+88779:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88780:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+88781:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+88782:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88785:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88786:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+88786:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+88789:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+88790:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+88790:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+88791:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+88820:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+88820:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+88821:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+88822:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+88822:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+88890:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+88891:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+88892:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+88892:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+88898:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 137 (ms) request= gs_PageLayout=admin&cid=portlets&gs_render=
+88899:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+88900:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+88900:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+88901:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+88901:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+88904:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+97925:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+97925:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/portletmanager/a/displayWebapp >
+
+97926:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= 5Ip_appname=gridsphere&up=5Ip >
+
+97926:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/portletmanager/a/displayWebapp requestURI= /gridsphere/gridsphere/admin/portletmanager/a/displayWebapp
+ >
+
+97926:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=portletmanager&gs_action=displayWebapp&5Ip_appname=gridsphere&up=5Ip >
+
+97927:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+97927:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+97928:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= portletmanager >
+
+97929:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=displayWebapp >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+97934:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=portletmanager
+97935:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97935:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+97936:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+97936:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97940:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97940:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+97941:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to displayWebApp >
+
+97942:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#displayWebapp user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+97943:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Portlet Application Manager.beans >
+
+97945:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager_portletmanager >
+
+97946:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+97947:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+97957:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97958:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+97961:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+97962:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97963:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97963:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+97964:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+97964:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= displayWebApp >
+
+97965:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: AboutGridSphere
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#AboutGridSphere
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: Portlet Application Manager
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#Portlet Application Manager
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: Login
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#Login
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: Signup
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#Signup
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: ConfigPortlet
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#ConfigPortlet
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: Layout Manager
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#Layout Manager
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: ProfileManager
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#ProfileManager
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: Message of the Day
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#Message of the Day
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: ContentManagement
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#ContentManagement
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: RSSPortlet
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#RSSPortlet
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: LocalePortlet
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#LocalePortlet
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: RoleManager
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#RoleManager
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: DatePortlet
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#DatePortlet
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+app portlet= 
+	 JSR Application Portlet:
+	 JSR Portlet Name: UserAccountManager
+	 Web app name: gridsphere
+	 concrete ID: gridsphere#UserAccountManager
+	 Status: success
+	 Status message: JSR Portlet loaded successfully
+
+app statusmsg = JSR Portlet loaded successfully
+app status = success
+97974:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/viewPortletApp.jsp >
+
+97977:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#displayWebApp user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+97977:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/viewPortletApp.jsp >
+
+97980:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/viewPortletApp.jsp >
+
+99518:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+99525:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+99525:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+99526:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+99538:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 1612 (ms) request= gs_PageLayout=admin&cid=portletmanager&gs_action=displayWebapp&5Ip_appname=gridsphere&up=5Ip
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+99540:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+99541:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+99541:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+99542:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+109784:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+109784:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+109784:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+109785:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+109786:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+109786:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+109786:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+109787:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+109788:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+109791:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+109832:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page layout >
+
+109835:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page layout placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+109836:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+109836:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+109837:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+109837:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+109837:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+109845:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109846:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+109849:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+109850:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109853:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109854:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+109855:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+109855:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+109856:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+109856:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+109857:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+109858:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+109873:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+109877:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+109877:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+in doRenderSelPortlets cid=11
+in doRenderSel cid=11
+in doRenderSelContent cid=11
+in doRenderSel cid=11
+109885:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+109886:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+109887:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+109887:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+110351:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+110352:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+110353:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+110353:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+110360:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 575 (ms) request= gs_PageLayout=layout&cid=6&gs_render=
+110362:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+110362:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+110363:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+110363:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+110364:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+110365:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+118581:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+118581:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+118581:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+118582:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+118582:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+118582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+118583:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+118584:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+118584:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+118592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+118596:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page profile >
+
+118599:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page profile placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+118599:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+118600:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+118600:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+118601:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+118601:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+118610:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118611:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+118611:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+118612:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118618:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118618:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+118619:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+118620:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+118621:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+118622:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+118622:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+118666:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+118671:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+118671:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+118672:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+119191:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+119377:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+119378:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+119378:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+119384:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 807 (ms) request= gs_PageLayout=profile&cid=6&gs_render=
+119390:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+119390:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+119393:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+119394:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+119394:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+119395:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+137931:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+137931:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+137931:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+137932:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+137932:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+137933:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+137933:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+137935:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+137935:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+137942:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+137943:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+137950:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137951:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+137952:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+137955:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137959:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137959:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+137960:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+137961:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+137961:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+137962:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+137962:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+137967:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+137968:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+137969:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+137969:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+137970:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+137979:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+137980:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+137981:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+137982:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+137987:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 53 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+137988:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+137989:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+137989:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+137990:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+137990:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+137992:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+139643:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+139644:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+139644:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+139644:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+139644:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+139645:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+139645:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+139647:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+139647:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+139652:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+139658:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page content >
+
+139661:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page content placing in session C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+139661:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : C6CE167935F7CD4AA8D0D1C36FCBD9F8 class org.gridsphere.layout.PortletPageFactory
+139662:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+139662:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+139663:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+139663:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+139673:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139674:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+139675:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+139675:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139676:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139677:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+139677:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+139678:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+139679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+139679:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+139680:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+139684:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+139685:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+139686:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+139687:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+139969:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+139971:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+139971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+139972:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+139975:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 329 (ms) request= gs_PageLayout=content&cid=6&gs_render=
+139977:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+139978:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+139979:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+139982:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+139983:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+139984:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+200291:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+200292:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+200292:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+200292:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+200293:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+200293:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+200293:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+200294:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+200295:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+200298:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+200299:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+200305:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200309:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+200309:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+200310:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200311:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200312:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+200313:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+200313:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+200314:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+200315:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+200315:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+200317:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+202346:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+202348:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+202349:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+202351:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+202352:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+202366:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+202369:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+202370:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+202371:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+202376:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2086 (ms) request= null
+202380:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+202380:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+202381:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+202381:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+202381:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+202383:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+211679:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+211680:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+211680:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+211680:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+211681:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+211683:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+211684:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+211685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+211685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+211689:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+211690:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+211696:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211697:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanagerTB >
+
+211697:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+211698:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211699:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211699:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager component id= portletmanager >
+
+211703:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager >
+
+211704:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+211705:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to listPortlets >
+
+211705:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Portlet Application Manager  next page is= listPortlets >
+
+211706:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Portlet Application Manager.beans >
+
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+Tomcat Manager Application
+OK - Listed applications for virtual host localhost
+/webdav:running:0:webdav
+/jsp-examples:running:0:jsp-examples
+/gridsphere:running:1:gridsphere
+/sample:running:0:sample
+/manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/manager
+/admin:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/admin
+/servlets-examples:running:0:servlets-examples
+/balancer:running:0:balancer
+/images:running:0:images
+/host-manager:running:0:/home/cigtg/apps-local/apache-tomcat/server/webapps/host-manager
+/tomcat-docs:running:0:tomcat-docs
+/simplegrid_cig:running:0:simplegrid_cig
+/:running:0:ROOT
+
+line= OK - Listed applications for virtual host localhost
+211712:INFO:(PortletApplicationManager.java:listPortlets:65)
+< result is OK >
+
+211712:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/portlets/listPortletApps.jsp >
+
+211713:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager#listPortlets user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+211714:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/portlets/listPortletApps.jsp >
+
+211714:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/portlets/listPortletApps.jsp >
+
+211717:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Portlet Application Manager.beans >
+
+211718:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+211718:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+211719:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+211722:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 41 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211726:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+211727:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+211727:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+211728:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+215582:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+215582:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+215583:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+215583:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+215583:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+215584:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+215585:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+215586:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+215586:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+215592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+215592:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+215599:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215600:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+215601:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+215604:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215605:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215605:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+215606:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+215606:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+215607:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+215608:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+215608:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+215614:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+215615:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+215615:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+215616:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+215623:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+215627:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+215627:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+215628:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+215631:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 47 (ms) request= gs_PageLayout=content&cid=6&gs_render=
+215632:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+215633:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+215633:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+215634:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+215634:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+215636:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+217262:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+217262:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+217262:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+217263:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+217263:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+217263:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+217264:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+217265:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+217265:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+217269:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+217272:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+217280:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217281:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+217282:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+217283:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217287:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217288:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+217288:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+217289:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+217290:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+217290:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+217291:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+217292:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+217292:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+217295:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+217296:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+in doRenderSelPortlets cid=11
+in doRenderSel cid=11
+in doRenderSelContent cid=11
+in doRenderSel cid=11
+217302:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+217303:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+217303:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+217304:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+217308:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+217309:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+217312:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+217313:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+217316:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 54 (ms) request= gs_PageLayout=layout&cid=6&gs_render=
+217318:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+217318:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+217319:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+217319:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+217319:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+217320:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+222997:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+222997:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+222999:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+222999:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+222999:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+223001:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+223002:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+223003:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+223003:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+223013:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+223014:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+223020:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223021:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+223024:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+223025:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223025:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223026:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+223027:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+223027:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+223028:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+223028:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+223029:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+223031:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+225060:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+225063:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+225065:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=C6CE167935F7CD4AA8D0D1C36FCBD9F8 remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+225066:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+225066:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+225073:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+225079:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+225080:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+225080:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+225083:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2084 (ms) request= gs_PageLayout=loggedin&cid=6&gs_render=
+225087:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+225087:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+225088:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+after dump
+225088:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+225088:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+225093:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+232316:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+232316:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/a/gs_logout >
+
+232316:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+232317:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/a/gs_logout requestURI= /gridsphere/gridsphere/loggedin/6/a/gs_logout
+ >
+
+232317:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_action=gs_logout >
+
+232317:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+232318:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+232320:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+232320:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_logout >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+232325:DEBUG:(GridSphereServlet.java:logout:363)
+< in logout of GridSphere Servlet >
+
+232326:DEBUG:(PortletManagerServiceImpl.java:logoutPortletWebApplication:253)
+< logout web app gridsphere >
+
+232326:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('C6CE167935F7CD4AA8D0D1C36FCBD9F8') >
+
+232327:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232327:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232328:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing layout container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232329:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232329:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing content container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232330:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232330:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing profile container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232334:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232334:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232335:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232336:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232336:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232337:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232338:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232338:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232339:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232339:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232340:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232340:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232341:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+232341:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+232342:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: C6CE167935F7CD4AA8D0D1C36FCBD9F8 >
+
+232342:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232343:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('C6CE167935F7CD4AA8D0D1C36FCBD9F8')
+232346:DEBUG:(PortletServlet.java:service:225)
+< in PortletServlet: service(): No PortletID found in request! >
+
+232346:ERROR:(GridSphereServlet.java:logout:386)
+< Post logout redirect to http://dynamo.geodynamics.org:8080/gridsphere/gridsphere?gs_render >
+
+Page render time = 28 (ms) request= gs_PageLayout=loggedin&cid=6&gs_action=gs_logout
+232347:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+232347:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+232349:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+232366:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+232366:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+232366:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= gs_render >
+
+232367:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+232367:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+232368:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+232368:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+232369:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+232369:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('1D7C867910A513CC65BCFE4CB1136D1F')
+232371:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('1D7C867910A513CC65BCFE4CB1136D1F') >
+
+232372:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232372:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232373:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232373:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+232379:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+232381:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232382:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 1D7C867910A513CC65BCFE4CB1136D1F class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 1D7C867910A513CC65BCFE4CB1136D1F class org.gridsphere.layout.PortletPageFactory
+232384:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232385:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232385:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+232386:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+232389:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+232389:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+232390:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+232392:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+232393:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+232393:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+232394:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+232395:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+232396:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+232397:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+232397:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+232399:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+232405:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+232405:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+232406:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+232411:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 44 (ms) request= gs_render
+232413:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+232413:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+232414:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+after dump
+232414:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+232414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+232415:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+2042805:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('1D7C867910A513CC65BCFE4CB1136D1F') >
+
+2042806:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+2042806:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+2042806:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:1D7C867910A513CC65BCFE4CB1136D1F >
+
+2042807:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 1D7C867910A513CC65BCFE4CB1136D1F >
+
+2042807:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+2042807:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('1D7C867910A513CC65BCFE4CB1136D1F')
+211995321:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+211995518:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+211995518:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+211995519:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+211995519:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+211995582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+211995593:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+211995781:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+211995782:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('CA4BF5F09E598B43482D1FF4B1061A0C')
+211995928:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('CA4BF5F09E598B43482D1FF4B1061A0C') >
+
+211995950:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211995950:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211995951:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211995994:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+211996134:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+211996642:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211996642:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211996643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+211996644:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+211997013:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+211997014:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+211997015:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+211997255:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+211997283:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+211997283:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+211997284:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+211997402:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+211997403:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+211997403:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+211997404:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+211997501:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+211997522:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+211997523:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+211997524:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+211997577:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 1819 (ms) request= null
+211997600:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+211997606:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+211997606:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+211997607:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+211997607:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+211997646:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212298371:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212298372:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+212298372:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212298373:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+212298373:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+212298373:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212298374:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212298380:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+212298381:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212298381:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212298387:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+212298389:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212298389:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+212298390:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212298436:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212298437:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212298437:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212298439:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+212298440:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+212298441:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+212298458:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212298459:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+212298459:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+212298460:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+212298461:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+212298462:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212298462:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+212298463:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+212298469:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+212298473:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298482:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+212298483:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212298484:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298499:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298500:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+212298501:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+212298501:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212298502:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212298502:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+212298503:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+212298508:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+212298509:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+212298509:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212298510:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+212298528:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+212298550:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+212298554:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212298554:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212298555:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212298558:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 256 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+212298636:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212298636:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212298637:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212298637:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212298637:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212298656:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212334253:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212334253:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+212334266:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+212334267:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212334267:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212334273:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+212334273:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+212334274:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=login
+212334290:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334291:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+212334291:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212334292:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334292:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+212334293:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+212334294:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+num tries = 0
+212334660:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+212334661:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+212334661:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+212334703:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334772:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212334772:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212334773:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+212334774:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+212334774:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+212334775:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334775:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+212334776:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+212334776:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212334776:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212334867:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212334891:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212334892:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+212334893:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+212334893:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212334894:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212334894:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+212334895:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212334912:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212335191:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+212335194:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212335195:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+212335195:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212335196:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212335196:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+unable to convert cid=login
+212335196:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212335204:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335204:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+212335208:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212335208:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335209:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335210:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+212335211:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212335233:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212335233:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+212335234:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+212335234:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+212335247:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+212338072:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+212338607:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+212338608:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212338609:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+212338609:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+212338615:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+212338628:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212338628:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212338629:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212338632:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 3786 (ms) request= gs_PageLayout=loggedin&cid=login&gs_render=
+212338680:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212338680:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212338681:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212338681:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212338681:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212338683:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212350225:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212350226:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212350226:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212350226:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212350227:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212350228:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212350228:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212350231:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212350241:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+212350268:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212350269:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+212350269:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212350270:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212350270:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212350271:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212350277:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350278:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212350278:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212350279:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350280:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350280:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212350281:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212350281:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212350282:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212350282:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212350285:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212350286:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212350287:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212350288:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212350288:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212350309:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212350310:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212350310:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212350311:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212350315:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 101 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+212350329:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212350329:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212350330:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212350330:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212350330:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212350332:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212527290:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=authmodules >
+
+212527291:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212527292:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=authmodules >
+
+212527292:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212527293:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212527294:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212527294:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212527297:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=config
+212527298:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212527358:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527359:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212527359:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212527360:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527361:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527364:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212527365:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212527366:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212527366:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212527367:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212527367:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212527385:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212527387:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212527387:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212527388:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212527388:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212529014:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212529015:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212529016:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212529016:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212529019:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 1728 (ms) request= gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=authmodules
+212529021:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212529021:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212529022:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212529022:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212529023:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212529029:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212532709:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=mailconfig >
+
+212532710:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212532711:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig >
+
+212532711:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212532712:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212532713:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212532713:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212532716:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=config
+212532717:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212532725:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532726:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212532726:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212532727:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532727:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532728:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212532729:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212532730:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212532733:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212532733:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212532734:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212532735:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212532736:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212532736:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212532737:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212532737:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212533013:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212533014:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212533015:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212533015:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212533019:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 313 (ms) request= gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig
+212533025:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212533026:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212533026:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212533026:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212533027:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212533028:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212545059:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212545060:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212545060:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=msgconfig >
+
+212545062:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212545062:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=msgconfig >
+
+212545062:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212545063:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212545072:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212545073:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212545076:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=config
+212545076:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212545083:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545084:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212545084:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212545085:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545085:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545086:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212545087:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212545088:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212545088:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212545089:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212545089:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212545096:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212545098:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212545099:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212545100:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212545100:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212547630:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212547632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212547633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212547633:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212547639:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2569 (ms) request= gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=msgconfig
+212547641:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212547641:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212547651:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212547652:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212547652:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212547653:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212569673:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212569673:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=errconfig >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212569675:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=errconfig >
+
+212569676:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212569677:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212569685:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212569685:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212569688:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=config
+212569689:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212569695:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569696:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212569697:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212569697:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569708:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569708:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212569710:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212569711:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212569711:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212569712:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212569713:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212569715:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212569716:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212569717:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212569717:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212569718:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212569886:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212569887:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212569887:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212569888:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212569891:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 209 (ms) request= gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=errconfig
+212569893:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212569894:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212569894:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212569895:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212569895:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212569899:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212635597:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/config/r/ >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= rp_ui.tab.label=mailconfig >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/config/r/ requestURI= /gridsphere/gridsphere/admin/config/r/
+ >
+
+212635598:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig >
+
+212635599:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212635599:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212635609:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= config >
+
+212635609:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212635612:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=config
+212635613:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212635619:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635620:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212635621:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212635621:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635625:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635626:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212635627:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212635628:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212635628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212635629:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212635630:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212635630:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212635631:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212635632:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212635633:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212635633:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212635637:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212635640:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212635641:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212635641:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212635644:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 39 (ms) request= gs_PageLayout=admin&cid=config&gs_render=&rp_ui.tab.label=mailconfig
+212635647:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212635648:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212635648:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212635648:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212635649:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212635650:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212641144:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212641144:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212641145:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212641146:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212641146:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212641148:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212641149:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212641160:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212641161:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212641171:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641171:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212641172:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212641173:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641173:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641174:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212641175:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212641175:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212641176:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212641176:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212641177:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212641178:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212641179:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212641179:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212641180:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212641181:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212641186:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212641187:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212641188:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212641189:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212641192:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 46 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+212641193:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212641194:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212641194:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212641194:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212641195:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212641204:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212672909:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212672910:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212672910:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212672913:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212672913:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212672914:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212672914:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212672915:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212672915:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212672918:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212672919:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212672926:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672926:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212672927:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212672928:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672928:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672929:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212672930:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212672930:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212672931:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212672931:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212672932:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212672935:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212672936:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212672936:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212672937:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212672937:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212672942:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212672943:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212672943:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212672944:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212672947:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 33 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+212672949:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212672949:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212672951:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212672952:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212672952:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212672953:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212677379:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212677380:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+212677381:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+212677381:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212677381:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212677382:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212677383:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212677386:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212677386:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212677395:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677396:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+212677397:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212677397:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677398:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677399:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+212677399:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+212677402:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212677403:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+212677404:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+212677404:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+212677405:ERROR:(BaseFormEventImpl.java:createTagBeans:779)
+< unable to find suitable bean type for : ui.tab.label >
+
+212677406:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+212677406:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212677407:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+212677408:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+212677411:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+212677412:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212677413:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212677413:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212677419:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 38 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212677421:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212677422:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212677422:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212677423:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212842277:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+212842278:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+212842279:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212842279:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212842280:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212842281:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212842284:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212842312:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page layout >
+
+212842315:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page layout placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212842315:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+212842316:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212842316:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212842317:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212842317:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212842323:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842324:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+212842325:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212842325:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842328:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842328:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+212842329:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+212842330:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212842330:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+212842331:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+212842334:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+212842335:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+212842342:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+212842343:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+212842343:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+in doRenderSelPortlets cid=11
+in doRenderSel cid=11
+in doRenderSelContent cid=11
+in doRenderSel cid=11
+212842350:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+212842350:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212842351:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+212842352:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+212842359:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+212842360:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212842361:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212842362:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212842365:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 87 (ms) request= gs_PageLayout=layout&cid=6&gs_render=
+212842367:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212842367:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212842368:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212842368:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212842368:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212842369:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+212846023:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+212846024:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+212846024:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+212846025:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+212846025:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+212846025:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+212846026:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+212846027:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+212846030:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212846033:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+212846037:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page profile >
+
+212846039:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page profile placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+212846040:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+212846040:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212846040:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212846041:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+212846041:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+212846047:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846048:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+212846049:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+212846049:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846052:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846052:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+212846053:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+212846056:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+212846057:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+212846057:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+212846058:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+212846096:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+212846096:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+212846097:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+212846097:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+212846107:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+212846109:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+212846109:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+212846110:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+212846116:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 94 (ms) request= gs_PageLayout=profile&cid=6&gs_render=
+212846120:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+212846121:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+212846121:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+212846121:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+212846122:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+212846123:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213077834:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/profilemanager/r/ >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager/r/ requestURI= /gridsphere/gridsphere/profile/profilemanager/r/
+ >
+
+213077835:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=profilemanager&gs_render= >
+
+213077836:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213077836:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213077838:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= profilemanager >
+
+213077838:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=doSaveAll >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213077841:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=profilemanager
+213077844:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077845:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+213077845:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213077846:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077847:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213077847:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213077849:DEBUG:(ProfileManagerPortlet.java:validateUser:268)
+< Entering validateUser() >
+
+213077850:DEBUG:(ProfileManagerPortlet.java:validateUser:325)
+< creating account request for user: ff8080811391c68e011391ca85260003 >
+
+213077850:DEBUG:(ProfileManagerPortlet.java:validateUser:341)
+< Exiting validateUser() >
+
+213077851:DEBUG:(ProfileManagerPortlet.java:doSaveUser:257)
+< approve account request for user: ff8080811391c68e011391ca85260003 >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+213077974:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doSaveAll user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213077974:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session ProfileManager.beans >
+
+213077975:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.user.ProfileManagerPortlet_profilemanager >
+
+213077975:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213077976:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213077977:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager >
+
+213077977:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213077977:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213077981:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213077983:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213077985:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/profilemanager >
+
+213077985:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213077986:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/profilemanager requestURI= /gridsphere/gridsphere/profile/profilemanager
+ >
+
+213077986:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=profilemanager >
+
+213077986:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213077987:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213077991:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= profilemanager >
+
+213077992:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213077995:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=profilemanager
+213078071:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213078077:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078078:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+213078079:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213078079:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078080:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078081:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+213078081:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+213078082:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213078082:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+213078085:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+213078086:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+213078106:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+213078107:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213078108:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+213078108:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+213078114:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+213078130:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213078131:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213078132:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213078139:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 169 (ms) request= gs_PageLayout=profile&cid=profilemanager
+213078160:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213078161:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213078161:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213078162:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213078162:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213078163:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213095445:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/6/r/ >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213095446:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/6/r/ requestURI= /gridsphere/gridsphere/layout/6/r/
+ >
+
+213095447:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=6&gs_render= >
+
+213095447:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213095448:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213095449:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213095449:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213095452:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+213095452:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213095462:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095463:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+213095464:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213095464:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095465:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095466:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213095466:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213095467:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213095467:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+213095468:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+213095468:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+213095469:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+213095470:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+213095471:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213095471:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+in doRenderSelPortlets cid=11
+in doRenderSel cid=11
+in doRenderSelContent cid=11
+in doRenderSel cid=11
+213095480:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+213095480:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213095481:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+213095481:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+213095487:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+213095488:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213095488:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213095489:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213095493:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 49 (ms) request= gs_PageLayout=layout&cid=6&gs_render=
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213095498:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213095499:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213095499:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213095502:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213176580:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213176581:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/layoutmanager/r/ >
+
+213176581:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213176582:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager/r/ requestURI= /gridsphere/gridsphere/layout/layoutmanager/r/
+ >
+
+213176582:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=layoutmanager&gs_render= >
+
+213176582:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213176583:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213176584:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= layoutmanager >
+
+213176584:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=selectLayout >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213176587:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=layoutmanager
+213176591:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176591:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213176592:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213176592:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176593:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176593:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213176594:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#selectLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213176595:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Layout Manager.beans >
+
+213176596:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet_layoutmanager >
+
+213176596:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213176597:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213176597:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager >
+
+213176597:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213176598:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213176599:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213176600:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/layout/layoutmanager >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213176601:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/layout/layoutmanager requestURI= /gridsphere/gridsphere/layout/layoutmanager
+ >
+
+213176602:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=layout&cid=layoutmanager >
+
+213176604:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213176605:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213176607:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= layoutmanager >
+
+213176608:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213176613:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=layoutmanager
+213176614:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213176623:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176623:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanagerTB >
+
+213176624:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213176625:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176625:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176626:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet component id= layoutmanager >
+
+213176626:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet >
+
+213176627:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213176628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doShowLayout >
+
+213176628:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Layout Manager  next page is= doShowLayout >
+
+213176629:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Layout Manager.beans >
+
+213176629:DEBUG:(LayoutManagerPortlet.java:doShowLayout:423)
+< extraURI= &cid=layoutmanager&gs_action=doShowLayout >
+
+213176646:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+213176647:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+213176648:DEBUG:(LayoutManagerPortlet.java:doShowLayout:615)
+< rendering the component >
+
+in doRenderSelPortlets cid=9
+in doRenderSel cid=9
+in doRenderSelContent cid=9
+in doRenderSel cid=9
+213176653:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/layout/view.jsp >
+
+213176654:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet#doShowLayout user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213176654:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/layout/view.jsp >
+
+213176655:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/layout/view.jsp >
+
+213176659:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Layout Manager.beans >
+
+213176665:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213176666:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213176667:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213176670:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 67 (ms) request= gs_PageLayout=layout&cid=layoutmanager
+213176672:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213176680:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213176680:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213176680:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213176681:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213176692:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+213819060:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213819061:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+213819061:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+213819061:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213819062:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213819063:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213819063:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213819066:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+213819067:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213819075:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819076:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213819077:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213819077:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819078:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819078:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213819079:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213819080:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213819080:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213819081:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213819081:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213819083:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213821541:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213822721:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213822722:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213822723:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213822723:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213822734:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213822736:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213822736:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213822737:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213822743:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 3684 (ms) request= gs_PageLayout=loggedin&cid=6&gs_render=
+213822746:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213822747:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213822747:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213822748:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213822748:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213822749:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213831168:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213831169:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213831169:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213831170:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213831170:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213831170:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213831171:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213831180:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213831181:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213831184:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213831186:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213831194:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831195:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213831196:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213831196:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831197:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831198:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213831198:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213831199:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213831199:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213831200:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213831201:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213831201:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213831203:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213833232:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213833234:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213833238:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213833239:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213833239:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213833397:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213833398:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213833399:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213833400:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213833403:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2232 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit
+213833412:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213833412:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213833413:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213833413:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213833414:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213833430:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213878298:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213878298:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+213878302:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+213878303:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213878303:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213878304:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213878305:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213878309:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213878327:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878328:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213878329:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213878329:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213878336:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878337:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213878337:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213878338:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213878340:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213878340:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213878341:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213878347:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 44 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized
+213878348:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213878355:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213878355:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213878356:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213878356:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213878366:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213884889:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213884889:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/maximized/a/ >
+
+213884890:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213884891:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/
+ >
+
+213884891:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized >
+
+213884891:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213884892:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213884902:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213884902:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213884905:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213884906:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884907:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213884907:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213884908:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213884918:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884919:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213884920:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213884921:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884921:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884922:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213884923:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213884924:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213884924:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213884925:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213884925:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213884926:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213884928:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213886961:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213886963:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213886964:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213886966:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213886967:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213886969:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213886970:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213886971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213886971:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213886974:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2074 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized
+213886976:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213886976:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213886977:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213886977:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213886977:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213886979:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213892711:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213892712:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+213892713:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+213892713:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213892716:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213892717:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213892718:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213892724:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213892724:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892725:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213892725:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213892726:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213892732:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892733:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213892733:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213892734:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213892735:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213892736:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213892737:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213892740:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 26 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized
+213892743:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213892744:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213892744:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213892745:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213892745:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213892746:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213894591:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213894592:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213894593:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213894593:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213894593:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213894594:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213894595:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213894600:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213894601:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213894608:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213894609:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213894609:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213894610:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213894611:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213894614:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213894614:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213894617:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 24 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=view
+213894618:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213894619:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213894619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213894620:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213894620:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213894621:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213896599:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213896599:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213896600:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213896601:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213896601:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213896602:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213896603:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213896606:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213896606:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213896615:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213896618:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213896619:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213896620:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213896621:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213896622:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213896623:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213896625:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 24 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213896627:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213896628:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213896628:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213896629:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213898878:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213898879:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213898880:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213898880:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213898880:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213898884:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213898885:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213898891:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213898892:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213898898:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213898898:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213898899:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213898900:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213898900:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213898901:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213898902:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213898905:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 22 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=view
+213898906:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213898907:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213898907:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213898908:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213898908:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213898909:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213903558:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/normal/a/ >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213903561:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/normal/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/normal/a/
+ >
+
+213903562:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=normal >
+
+213903562:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213903564:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213903565:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213903565:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213903568:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213903569:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903569:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213903570:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213903570:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213903576:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903577:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213903577:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213903578:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903578:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903579:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213903580:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213903580:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213903583:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213903583:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213903584:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213903585:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213905619:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213905621:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213905621:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213905622:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213905622:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213905628:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213905632:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213905633:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213905634:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213905641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2082 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=normal
+213905646:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213905647:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213905648:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213905648:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213905648:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213905649:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213910365:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/maximized/a/ >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213910366:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/maximized/a/
+ >
+
+213910367:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized >
+
+213910367:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213910367:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213910368:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213910369:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213910372:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213910372:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910373:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213910373:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213910374:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213910380:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910381:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213910384:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213910384:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910385:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910385:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213910386:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213910387:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213910387:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213910388:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213910388:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213910390:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213912422:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213912424:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213912424:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213912425:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213912426:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213912433:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213912435:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213912435:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213912436:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213912439:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2076 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=maximized
+213912444:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213912445:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213912445:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213912446:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213912446:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213912451:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213914717:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213914718:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213914719:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213914719:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213914719:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213914720:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213914721:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213914725:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213914726:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213914733:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914734:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213914734:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213914737:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914738:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914738:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213914739:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213914740:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213914740:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213914741:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213914741:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213914742:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213914743:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213916778:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213916779:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213916780:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213916781:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213916781:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213916783:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213916786:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213916787:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213916787:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213916790:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2072 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213916792:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213916793:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213916793:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213916794:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213927411:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213927411:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213927412:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213927413:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213927413:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213927414:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213927414:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213927422:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213927423:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213927437:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927438:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213927438:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213927439:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927440:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927440:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213927441:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213927441:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213927442:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213927443:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213927443:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213927444:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213927449:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213929480:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213929485:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213929486:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213929486:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213929487:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213929489:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213929490:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213929491:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213929491:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213929494:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2082 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213929496:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213929497:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213929497:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213929499:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213932891:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213932891:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+213932892:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213932894:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+213932894:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+213932895:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213932895:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213932897:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+213932897:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213932900:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+213932901:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213932908:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932909:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213932910:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213932910:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932911:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932911:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213932912:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213932913:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213932913:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213932914:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213932914:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213932917:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213932919:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213934952:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213934953:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213934954:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213934954:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213934955:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213934957:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213934958:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213934958:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213934959:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213934963:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2069 (ms) request= gs_PageLayout=loggedin&cid=6&gs_render=
+213934965:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213934965:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213934968:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213934968:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213934969:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213934970:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213938698:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/view/a/ >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213938699:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/view/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/view/a/
+ >
+
+213938700:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=view >
+
+213938700:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213938700:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213938701:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213938702:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213938704:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213938705:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213938712:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938713:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213938713:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213938714:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938715:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938715:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213938718:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213938719:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+213938719:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+213938720:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+213938721:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213938722:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213940757:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213940759:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+213940760:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213940760:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+213940761:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+213940767:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213940770:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213940771:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213940772:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213940777:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2080 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=view
+213940781:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213940781:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213940784:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213940785:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213940785:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213940786:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/m/edit/a/ >
+
+213943906:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213943907:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/m/edit/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/m/edit/a/
+ >
+
+213943907:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit >
+
+213943907:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213943908:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213943909:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+213943909:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213943916:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+213943917:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213943924:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943925:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213943925:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213943926:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943926:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943927:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213943928:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213943931:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213943931:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+213943932:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213943932:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213943933:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213943934:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213945966:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213945968:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213945968:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213945969:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213945969:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213945971:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213945972:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213945973:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213945973:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213945979:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2072 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_mode=edit
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213945981:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213945982:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213945982:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213945984:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213980971:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss/r/ >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213980976:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss/r/ requestURI= /gridsphere/gridsphere/loggedin/rss/r/
+ >
+
+213980977:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss&gs_render= >
+
+213980977:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213980978:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213980979:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+213980979:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=saveFeed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213980983:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=rss
+213980984:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980984:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213980987:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213980988:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980989:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213980989:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+213980990:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+213980991:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#saveFeed user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213980992:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session RSSPortlet.beans >
+
+213980992:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.rss.RSSPortlet_rss >
+
+213980993:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+213980993:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+213980994:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss >
+
+213980994:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213980994:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213980996:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+213981009:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+213981009:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss >
+
+213981010:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+213981011:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss requestURI= /gridsphere/gridsphere/loggedin/rss
+ >
+
+213981012:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss >
+
+213981013:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+213981013:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+213981014:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+213981014:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213981017:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=rss
+213981021:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+213981028:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981029:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+213981029:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+213981030:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981031:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981031:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+213981032:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213981032:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+213981033:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+213981033:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+213981035:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+213983070:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+213983071:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+213983072:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+213983075:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+213983075:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+213983077:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+213983078:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+213983079:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+213983079:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+213983082:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2069 (ms) request= gs_PageLayout=loggedin&cid=rss
+213983083:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+213983084:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+213983084:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+213983085:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+213983085:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+213983090:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214020755:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214020756:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss/r/ >
+
+214020758:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214020759:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss/r/ requestURI= /gridsphere/gridsphere/loggedin/rss/r/
+ >
+
+214020759:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss&gs_render= >
+
+214020759:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214020760:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214020761:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+214020762:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=removeFeed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214020765:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=rss
+214020766:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020767:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214020767:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214020768:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020768:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020769:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+214020771:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:72)
+< No prefs exist-- storing prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020820:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+214020820:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#removeFeed user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214020821:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session RSSPortlet.beans >
+
+214020821:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.rss.RSSPortlet_rss >
+
+214020824:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+214020825:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214020825:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss >
+
+214020826:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214020826:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214020944:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rss >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214020947:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rss requestURI= /gridsphere/gridsphere/loggedin/rss
+ >
+
+214020948:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rss >
+
+214020948:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214020948:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214020949:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rss >
+
+214020950:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214020952:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=rss
+214020953:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214020960:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020961:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214020961:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214020962:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020962:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020965:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214020966:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214020966:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+214020967:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doEdit >
+
+214020968:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+214020978:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214023013:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doEdit(RSSPortlet.java:75)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doEdit(ActionPortlet.java:354)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:203)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+214023014:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/edit.jsp >
+
+214023015:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214023016:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/edit.jsp >
+
+214023016:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/edit.jsp >
+
+214023018:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+214023019:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214023019:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214023023:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214023026:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2079 (ms) request= gs_PageLayout=loggedin&cid=rss
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214023028:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214023029:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214023029:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214023037:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214037167:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214037167:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/rssTB/s/minimized/a/ >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/ requestURI= /gridsphere/gridsphere/loggedin/rssTB/s/minimized/a/
+ >
+
+214037168:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized >
+
+214037169:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214037169:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214037170:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= rssTB >
+
+214037170:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214037173:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletTitleBar: label=rssTB
+214037174:DEBUG:(PortletInvoker.java:windowEvent:111)
+< in windowEvent org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037174:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214037175:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214037175:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214037184:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037185:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214037186:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214037186:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214037187:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214037188:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214037188:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214037191:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 23 (ms) request= gs_PageLayout=loggedin&cid=rssTB&gs_state=minimized
+214037193:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214037193:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214037194:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214037194:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214037194:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214037195:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/profile/6/r/ >
+
+214042918:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214042919:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/profile/6/r/ requestURI= /gridsphere/gridsphere/profile/6/r/
+ >
+
+214042919:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=profile&cid=6&gs_render= >
+
+214042922:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214042922:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214042924:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214042924:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214042928:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+214042929:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214042936:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042937:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanagerTB >
+
+214042937:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214042938:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042939:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042939:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.user.ProfileManagerPortlet component id= profilemanager >
+
+214042940:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.user.ProfileManagerPortlet >
+
+214042940:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214042941:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214042941:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ProfileManager  next page is= doViewUser >
+
+214042942:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ProfileManager.beans >
+
+214042955:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to profile/viewuser.jsp >
+
+214042956:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.user.ProfileManagerPortlet#doViewUser user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214042956:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= profile/viewuser.jsp >
+
+214042957:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:profile/viewuser.jsp >
+
+214042965:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ProfileManager.beans >
+
+214042970:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214042971:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214042971:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214042978:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 475 (ms) request= gs_PageLayout=profile&cid=6&gs_render=
+214043399:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214043400:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214043400:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214043401:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214043401:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214043403:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/6/r/ >
+
+214046998:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214046999:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/6/r/ requestURI= /gridsphere/gridsphere/loggedin/6/r/
+ >
+
+214046999:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=6&gs_render= >
+
+214046999:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214047000:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214047001:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214047001:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214047004:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+214047005:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214047011:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214047012:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214047012:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214047013:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214047014:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214047017:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214047018:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214047020:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 22 (ms) request= gs_PageLayout=loggedin&cid=6&gs_render=
+214047022:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214047022:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214047023:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214047023:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214047023:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214047024:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214055605:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/6/r/ >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214055606:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/6/r/ requestURI= /gridsphere/gridsphere/content/6/r/
+ >
+
+214055607:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=6&gs_render= >
+
+214055607:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214055607:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214055610:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214055611:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214055620:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214055647:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page content >
+
+214055649:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page content placing in session CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214055654:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : CA4BF5F09E598B43482D1FF4B1061A0C class org.gridsphere.layout.PortletPageFactory
+214055654:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214055655:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214055655:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+214055655:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214055664:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055664:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+214055665:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214055668:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055669:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055669:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+214055670:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214055671:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214055671:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+214055672:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doView >
+
+214055672:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+214055676:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/view.jsp >
+
+214055677:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doView user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214055677:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/view.jsp >
+
+214055678:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/view.jsp >
+
+214055681:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+214055682:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214055685:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214055686:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214055689:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 82 (ms) request= gs_PageLayout=content&cid=6&gs_render=
+214055690:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214055691:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214055691:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214055692:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214055692:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214055693:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214070467:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214070467:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/content/contentmanager/m/edit/r/ >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/content/contentmanager/m/edit/r/ requestURI= /gridsphere/gridsphere/content/contentmanager/m/edit/r/
+ >
+
+214070468:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=content&cid=contentmanager&gs_mode=edit >
+
+214070469:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214070469:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214070470:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= contentmanager >
+
+214070470:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214070473:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=contentmanager
+214070474:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214070493:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070493:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanagerTB >
+
+214070494:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214070495:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070495:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070496:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.content.ContentManagementPortlet component id= contentmanager >
+
+214070496:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.content.ContentManagementPortlet >
+
+214070497:DEBUG:(ActionPortlet.java:doEdit:348)
+< ActionPortlet: in doEdit >
+
+214070497:DEBUG:(ActionPortlet.java:doEdit:351)
+< in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE >
+
+214070498:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doEdit >
+
+214070499:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ContentManagement  next page is= doEdit >
+
+214070499:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ContentManagement.beans >
+
+214070500:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to content/config.jsp >
+
+214070501:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.content.ContentManagementPortlet#doEdit user=cigtg session id=CA4BF5F09E598B43482D1FF4B1061A0C remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12 >
+
+214070501:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= content/config.jsp >
+
+214070502:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:content/config.jsp >
+
+214070649:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ContentManagement.beans >
+
+214070650:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214070650:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214070651:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214070655:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 186 (ms) request= gs_PageLayout=content&cid=contentmanager&gs_mode=edit
+214070656:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214070657:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214070657:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214070657:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214070658:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214070659:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214127897:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214127897:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+214127901:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+214127902:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214127902:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214127903:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+214127903:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214127906:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214127906:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214127912:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214127913:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214127913:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214127914:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214127915:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214127915:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214127916:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214127922:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 21 (ms) request= null
+214127924:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214127931:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+214127931:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+after dump
+214127932:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214127932:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214127941:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214280657:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214280657:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere >
+
+214280658:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214280660:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere requestURI= /gridsphere/gridsphere
+ >
+
+214280660:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs >
+
+214280661:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214280661:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214280662:DEBUG:(GridSphereEventImpl.java:<init>:71)
+< Received a null component ID >
+
+214280662:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('9E6D62F0D79599185D9ACFDF396AC48B')
+214280664:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('9E6D62F0D79599185D9ACFDF396AC48B') >
+
+214280665:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280665:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280666:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280666:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280667:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214280673:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+214280675:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280675:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory
+214280676:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280676:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280677:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280677:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214280677:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214280680:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214280682:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214280683:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214280685:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214280686:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214280686:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214280687:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214280688:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214280689:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214280689:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214280690:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214280691:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214280695:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214280695:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214280696:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214280700:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 40 (ms) request= null
+214280702:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214280702:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214280703:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214280703:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+after dump
+214280704:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214280704:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214280705:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+214300412:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214300413:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+214300413:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+214300413:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214300414:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214300414:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+214300415:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+214300415:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214300420:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+214300425:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214300425:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214300426:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214300427:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+214300427:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214300429:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214300430:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214300431:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214300431:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214300432:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214300432:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214300433:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214300434:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214300435:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214300435:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214300436:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214300437:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214300441:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300441:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+214300442:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214300442:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300445:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300445:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+214300446:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+214300446:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214300447:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214300447:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+214300448:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+214300449:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+214300449:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+214300450:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214300451:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+214300451:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+214300457:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+214300458:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214300459:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214300460:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214300462:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 50 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+214300464:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214300464:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214300465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214300465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+after dump
+214300465:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214300466:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214300467:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214315096:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214315096:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+214315097:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+214315098:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214315098:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214315099:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+214315100:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+214315102:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=login
+214315103:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315103:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+214315104:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214315104:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315105:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+214315105:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+214315106:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+num tries = 0
+214315109:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+214315110:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+214315110:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+214315113:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315113:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+214315114:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214315114:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+214315115:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+214315115:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+214315116:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315118:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214315119:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+214315119:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214315119:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214315125:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214315127:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+214315128:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+214315128:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214315128:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214315129:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+214315130:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214315133:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214315142:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+214315145:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214315145:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory
+214315146:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214315146:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214315147:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214315149:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+unable to convert cid=login
+214315150:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214315156:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315157:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+214315158:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214315158:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315159:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315159:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+214315160:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214315161:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214315161:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+214315162:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+214315162:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+214315165:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+214317201:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+214317205:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+214317206:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=9E6D62F0D79599185D9ACFDF396AC48B remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214317207:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+214317207:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+214317210:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+214317212:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214317212:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214317213:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214317218:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 2091 (ms) request= gs_PageLayout=loggedin&cid=login&gs_render=
+214317220:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214317220:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214317221:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214317221:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+after dump
+214317222:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214317222:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214317224:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214334946:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214334946:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+214334947:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+214334948:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214334948:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214334949:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214334949:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214334952:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214334964:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+214334968:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214334968:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 9E6D62F0D79599185D9ACFDF396AC48B class org.gridsphere.layout.PortletPageFactory
+214334969:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214334969:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214334970:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214334970:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+214334970:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+214334977:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334978:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+214334979:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+214334979:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334980:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334980:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+214334981:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+214334981:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214334984:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+214334985:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+214334985:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+214334986:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+214334987:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=9E6D62F0D79599185D9ACFDF396AC48B remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4) Gecko/20070508 Iceweasel/2.0.0.4 (Debian-2.0.0.4-0etch1) >
+
+214334987:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+214334988:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+214334992:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+214334993:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214334993:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214334994:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214334997:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 51 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+214335000:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214335001:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+after dump
+214335002:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214335002:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214335003:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+214983585:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+214983585:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+214983586:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+214983587:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+214983587:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+214983588:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+214983588:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('6464169D0F8A3A82944353499D539EB8')
+214983589:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('6464169D0F8A3A82944353499D539EB8') >
+
+214983589:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983590:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983590:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983591:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983591:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+214983592:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+214983603:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+214983609:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:320)
+< User does not have proper permissions for layout=admin!! >
+
+214983615:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page guest >
+
+214983617:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page guest placing in session 6464169D0F8A3A82944353499D539EB8 >
+
+214983617:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6464169D0F8A3A82944353499D539EB8 class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 6464169D0F8A3A82944353499D539EB8 class org.gridsphere.layout.PortletPageFactory
+214983618:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983618:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983619:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=locale
+214983620:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+214983623:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214983623:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+214983624:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+214983624:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+214983625:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+214983626:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+214983627:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+214983628:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+214983630:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+214983631:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+214983631:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+214983633:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+214983636:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+214983637:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+214983638:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+214983641:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 54 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+214983642:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 3 >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+214983643:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+214983644:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+after dump
+214983644:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+214983645:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+214983645:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+215979554:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('CA4BF5F09E598B43482D1FF4B1061A0C') >
+
+215979555:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing layout container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979555:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing content container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing profile container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979556:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979557:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979557:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979557:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979558:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979558:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979558:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979558:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979559:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979559:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979559:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+215979559:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+215979560:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: CA4BF5F09E598B43482D1FF4B1061A0C >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 2 >
+
+215979560:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+215979563:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+sessionDestroyed('CA4BF5F09E598B43482D1FF4B1061A0C')
+216159652:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('9E6D62F0D79599185D9ACFDF396AC48B') >
+
+216159653:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159653:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159654:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159657:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159657:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159657:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159657:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216159658:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216159658:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 9E6D62F0D79599185D9ACFDF396AC48B >
+
+216159658:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216159658:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216159659:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6464169D0F8A3A82944353499D539EB8 >
+
+sessionDestroyed('9E6D62F0D79599185D9ACFDF396AC48B')
+216819957:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('6464169D0F8A3A82944353499D539EB8') >
+
+216819957:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+216819957:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+216819958:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing guest container for:6464169D0F8A3A82944353499D539EB8 >
+
+216819958:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 6464169D0F8A3A82944353499D539EB8 >
+
+216819958:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216819958:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('6464169D0F8A3A82944353499D539EB8')
+216942105:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216942105:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/9/r/ >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/9/r/ requestURI= /gridsphere/gridsphere/login/9/r/
+ >
+
+216942106:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=9&gs_render= >
+
+216942107:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216942107:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216942110:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 9 >
+
+216942110:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+sessionCreated('6B6EBEB9762D83F78A9921D9199DC73D')
+216942111:DEBUG:(PortletSessionManager.java:sessionCreated:46)
+< sessionCreated('6B6EBEB9762D83F78A9921D9199DC73D') >
+
+216942111:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942112:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942112:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942113:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216942122:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page login >
+
+216942124:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page login placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216942125:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory
+216942125:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942126:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942126:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+216942126:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216942130:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.locale.LocalePortlet >
+
+216942130:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.locale.LocalePortlet component id= locale >
+
+216942133:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.locale.LocalePortlet >
+
+216942133:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216942134:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showLocale >
+
+216942137:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= LocalePortlet  next page is= showLocale >
+
+216942137:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session LocalePortlet.beans >
+
+216942139:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to locale/viewlocale.jsp >
+
+216942139:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.locale.LocalePortlet#showLocale remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216942140:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= locale/viewlocale.jsp >
+
+216942141:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:locale/viewlocale.jsp >
+
+216942142:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session LocalePortlet.beans >
+
+216942144:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942145:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= loginTB >
+
+216942145:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216942146:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942148:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942149:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+216942149:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+216942150:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216942150:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+216942153:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= Login  next page is= doViewUser >
+
+216942154:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session Login.beans >
+
+216942154:DEBUG:(LoginPortlet.java:doViewUser:80)
+< in LoginPortlet: doViewUser >
+
+216942155:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to login/login.jsp >
+
+216942156:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#doViewUser remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216942156:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= login/login.jsp >
+
+216942157:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:login/login.jsp >
+
+216942159:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session Login.beans >
+
+216942160:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216942161:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216942161:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216942167:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 59 (ms) request= gs_PageLayout=login&cid=9&gs_render=
+216942169:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216942170:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216942170:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+after dump
+216942170:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216942173:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216942175:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216953660:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/login/login/r/ >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216953661:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/login/login/r/ requestURI= /gridsphere/gridsphere/login/login/r/
+ >
+
+216953662:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=login&cid=login&gs_render= >
+
+216953662:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216953663:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216953664:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+216953664:DEBUG:(GridSphereEventImpl.java:<init>:83)
+< Received action event=gs_login >
+
+216953665:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+Calling action performed on org.gridsphere.layout.PortletFrame: label=login
+216953665:DEBUG:(PortletInvoker.java:actionPerformed:70)
+< in actionPerformed org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953666:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.login.LoginPortlet component id= login >
+
+216953667:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216953667:DEBUG:(PortletServlet.java:service:325)
+< in PortletServlet: do processAction org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953668:DEBUG:(PortletServlet.java:processAction:359)
+< in PortletServlet: action handling portlet org.gridsphere.portlets.core.login.LoginPortlet >
+
+216953668:DEBUG:(ActionPortlet.java:processAction:146)
+< in ActionPortlet: processAction			 >
+
+216953669:DEBUG:(LoginPortlet.java:gs_login:138)
+< in LoginPortlet: gs_login >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.UserID='cigtg'
+num tries = 0
+216953672:DEBUG:(LoginPortlet.java:login:338)
+< in login: Active modules are:  >
+
+216953673:DEBUG:(LoginPortlet.java:login:343)
+< GridSphere Password >
+
+216953673:DEBUG:(PasswordAuthModule.java:checkAuthentication:36)
+< Entering authenticate >
+
+216953678:DEBUG:(LoginPortlet.java:login:256)
+< in login redirecting to portal: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doViewUser >
+
+216953680:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.login.LoginPortlet#gs_login remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216953680:DEBUG:(ActionPortlet.java:setTagBeans:114)
+< saving tag beans in session Login.beans >
+
+216953681:DEBUG:(PortletServlet.java:processAction:365)
+< placing render params in session : key= rp_org.gridsphere.portlets.core.login.LoginPortlet_login >
+
+216953681:INFO:(PortletServlet.java:processAction:368)
+< Committing the database transaction >
+
+216953682:DEBUG:(PortletServlet.java:redirect:492)
+< redirecting to location= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953682:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+216953683:DEBUG:(GridSphereServlet.java:processRequest:207)
+< redirect after POST to: http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ >
+
+216953683:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216953683:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216953685:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/loggedin/login/r/ >
+
+216953691:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216953692:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/loggedin/login/r/ requestURI= /gridsphere/gridsphere/loggedin/login/r/
+ >
+
+216953692:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=loggedin&cid=login&gs_render= >
+
+216953692:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216953693:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216953695:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= login >
+
+216953696:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+216953701:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216953707:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page loggedin >
+
+216953710:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page loggedin placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216953711:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory
+216953711:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216953712:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216953712:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+unable to convert cid=login
+216953712:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+216953718:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953718:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rssTB >
+
+216953719:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216953720:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953720:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953721:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.rss.RSSPortlet component id= rss >
+
+216953721:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216953722:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216953723:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to doView >
+
+216953723:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= RSSPortlet  next page is= doView >
+
+216953724:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session RSSPortlet.beans >
+
+216953732:DEBUG:(PortletPreferencesManagerImpl.java:getPortletPreferences:77)
+< Retrieved prefs for user: ff8080811391c68e011391ca85260003 portlet: org.gridsphere.portlets.core.rss.RSSPortlet >
+
+216956023:ERROR:(RSSPortlet.java:createFeedListBox:46)
+< Could not create Feed. >
+
+com.sun.syndication.io.FeedException: Invalid URL.
+	at org.gridsphere.services.core.rss.impl.RssServiceImpl.getFeed(RssServiceImpl.java:49)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.createFeedListBox(RSSPortlet.java:43)
+	at org.gridsphere.portlets.core.rss.RSSPortlet.doView(RSSPortlet.java:63)
+	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+	at java.lang.reflect.Method.invoke(Method.java:585)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doAction(ActionPortlet.java:204)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doMode(ActionPortlet.java:301)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doView(ActionPortlet.java:270)
+	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201)
+	at org.gridsphere.provider.portlet.jsr.ActionPortlet.doDispatch(ActionPortlet.java:325)
+	at javax.portlet.GenericPortlet.render(GenericPortlet.java:140)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.render(PortletServlet.java:410)
+	at org.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:336)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:594)
+	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.include(PortletDispatcherImpl.java:174)
+	at org.gridsphere.portletcontainer.impl.PortletDispatcherImpl.service(PortletDispatcherImpl.java:79)
+	at org.gridsphere.portletcontainer.impl.PortletInvoker.service(PortletInvoker.java:54)
+	at org.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:571)
+	at org.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:43)
+	at org.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:227)
+	at org.gridsphere.layout.PortletTab.doRender(PortletTab.java:273)
+	at org.gridsphere.layout.PortletMenu.doRender(PortletMenu.java:88)
+	at org.gridsphere.layout.PortletPage.doRender(PortletPage.java:466)
+	at org.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:167)
+	at org.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:231)
+	at org.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:126)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
+	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
+	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
+	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
+	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
+	at org.gridsphere.servlets.GridSphereFilter.doFilter(GridSphereFilter.java:217)
+	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
+	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
+	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
+	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
+	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
+	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
+	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
+	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
+	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
+	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
+	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
+	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
+	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
+	at java.lang.Thread.run(Thread.java:595)
+216956679:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to rss/viewRSS.jsp >
+
+216956680:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.rss.RSSPortlet#doView user=cigtg session id=6B6EBEB9762D83F78A9921D9199DC73D remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216956681:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= rss/viewRSS.jsp >
+
+216956681:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:rss/viewRSS.jsp >
+
+216956684:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session RSSPortlet.beans >
+
+216956689:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216956689:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216956690:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216956694:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 3001 (ms) request= gs_PageLayout=loggedin&cid=login&gs_render=
+216956696:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216956697:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216956697:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+after dump
+216956697:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216956698:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216956700:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+216960445:INFO:(GridSphereFilter.java:doFilter:67)
+< START >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:151)
+< 
+context path = /gridsphere servlet path=/gridsphere/admin/6/r/ >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:152)
+< 
+ pathInfo= null query= null >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:153)
+<  requestURL= http://dynamo.geodynamics.org:8080/gridsphere/gridsphere/admin/6/r/ requestURI= /gridsphere/gridsphere/admin/6/r/
+ >
+
+216960446:INFO:(GridSphereFilter.java:doFilter:215)
+< forwarded URL: /gs?gs_PageLayout=admin&cid=6&gs_render= >
+
+216960449:INFO:(GridSphereServlet.java:doGet:121)
+< Starting a database transaction >
+
+216960450:DEBUG:(PersistenceManagerRdbmsImpl.java:beginTransaction:260)
+< begin transaction >
+
+216960451:DEBUG:(GridSphereEventImpl.java:<init>:74)
+< Received cid= 6 >
+
+216960451:DEBUG:(GridSphereEventImpl.java:<init>:85)
+< Received render event= >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+216960454:INFO:(PortletLayoutEngine.java:actionPerformed:209)
+< 	start actionPerformed >
+
+216960460:INFO:(PortletPageFactory.java:createPortletPage:360)
+< Creating deep copy of page admin >
+
+216960463:DEBUG:(PortletPageFactory.java:getPortletPageFromHash:332)
+< Creating new page admin placing in session 6B6EBEB9762D83F78A9921D9199DC73D >
+
+216960464:DEBUG:(PortletSessionManager.java:addSessionListener:85)
+< adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory >
+
+adding session listener for : 6B6EBEB9762D83F78A9921D9199DC73D class org.gridsphere.layout.PortletPageFactory
+216960464:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216960465:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216960465:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+Calling action performed on org.gridsphere.layout.PortletContent: label=
+216960465:INFO:(PortletLayoutEngine.java:actionPerformed:230)
+< 	end actionPerformed >
+
+select uzer from org.gridsphere.services.core.user.impl.UserImpl uzer where uzer.oid='ff8080811391c68e011391ca85260003'
+216960472:DEBUG:(PortletInvoker.java:doTitle:90)
+< in doTitle org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960473:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= configTB >
+
+216960474:DEBUG:(PortletServlet.java:service:308)
+< in PortletServlet: action is not NULL >
+
+216960474:DEBUG:(PortletServlet.java:service:314)
+< in PortletServlet: do title org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960477:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960478:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.admin.config.ConfigPortlet component id= config >
+
+216960479:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.admin.config.ConfigPortlet >
+
+216960479:DEBUG:(ActionPortlet.java:doView:267)
+< in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE >
+
+216960480:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to showConfigure >
+
+216960480:DEBUG:(ActionPortlet.java:doMode:275)
+< in ActionPortlet: portlet id= ConfigPortlet  next page is= showConfigure >
+
+216960481:DEBUG:(ActionPortlet.java:getTagBeans:133)
+< getting tag beans from session ConfigPortlet.beans >
+
+216960482:DEBUG:(ActionPortlet.java:setNextState:85)
+< in ActionPortlet in setNextState: setting state to admin/config/view.jsp >
+
+216960483:INFO:(ActionPortlet.java:doAction:216)
+< Invoking portlet action org.gridsphere.portlets.core.admin.config.ConfigPortlet#showConfigure user=cigtg session id=6B6EBEB9762D83F78A9921D9199DC73D remote ip=null user agent=Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070508 (Debian-1.8.0.12-0etch1) Epiphany/2.14 >
+
+216960483:DEBUG:(ActionPortlet.java:doMode:307)
+< in doMode: next page is= admin/config/view.jsp >
+
+216960484:DEBUG:(ActionPortlet.java:doViewJSP:243)
+< Including JSP page:admin/config/view.jsp >
+
+216960487:DEBUG:(ActionPortlet.java:removeTagBeans:120)
+< removing tag beans from session ConfigPortlet.beans >
+
+216960489:DEBUG:(PortletInvoker.java:service:49)
+< in service org.gridsphere.portlets.core.date.DatePortlet >
+
+216960489:DEBUG:(PortletServlet.java:service:231)
+< have a portlet id org.gridsphere.portlets.core.date.DatePortlet component id= date >
+
+216960492:DEBUG:(PortletServlet.java:render:404)
+< in PortletServlet: rendering  portlet org.gridsphere.portlets.core.date.DatePortlet >
+
+216960494:INFO:(PortletLayoutEngine.java:service:171)
+< 	writing page to output >
+
+Page render time = 45 (ms) request= gs_PageLayout=admin&cid=6&gs_render=
+216960496:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+216960497:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 1 >
+
+216960497:DEBUG:(PortletSessionManager.java:dumpSessions:103)
+< session #id: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+after dump
+216960497:INFO:(GridSphereServlet.java:doGet:128)
+< Committing the database transaction >
+
+216960498:DEBUG:(PersistenceManagerRdbmsImpl.java:endTransaction:265)
+< end transaction >
+
+216960499:INFO:(GridSphereFilter.java:doFilter:219)
+< END >
+
+218800929:DEBUG:(PortletSessionManager.java:sessionDestroyed:59)
+< sessionDestroyed('6B6EBEB9762D83F78A9921D9199DC73D') >
+
+218800930:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing login container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800930:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing loggedin container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800931:DEBUG:(PortletPageFactory.java:logout:144)
+< Removing admin container for:6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800931:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800931:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800931:INFO:(PortletSessionManager.java:sessionDestroyed:70)
+< logging a session listener out: class org.gridsphere.layout.PortletPageFactory >
+
+218800932:DEBUG:(PortletPageFactory.java:logout:136)
+< in logout PortletPageFactory >
+
+218800932:INFO:(PortletSessionManager.java:sessionDestroyed:74)
+< Removing session: 6B6EBEB9762D83F78A9921D9199DC73D >
+
+218800933:DEBUG:(PortletSessionManager.java:dumpSessions:98)
+< PortletSessionManager Session information: >
+
+218800933:DEBUG:(PortletSessionManager.java:dumpSessions:99)
+< # current sessions: 0 >
+
+sessionDestroyed('6B6EBEB9762D83F78A9921D9199DC73D')

Added: cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-11.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-20.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-06-28.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-07-04.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/host-manager.2007-07-06.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-11.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-11.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-11.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 11:17:08 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 11:17:09 AM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 11:17:09 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 11:24:54 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: sessionCreated('953F00CD6767A616AB72E0BCC3F457EF')
+Jun 11, 2007 11:57:10 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: sessionDestroyed('953F00CD6767A616AB72E0BCC3F457EF')
+Jun 11, 2007 1:42:37 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 11, 2007 1:42:37 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 1:42:37 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 1:42:37 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 1:42:37 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 1:42:39 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 1:45:57 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 1:46:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 11, 2007 1:46:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 1:46:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 1:46:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 1:46:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 2:18:59 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: sessionCreated('81AEA89775C52C70E752CDEBB9E5A290')
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 2:23:50 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 2:24:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 11, 2007 2:24:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 2:24:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 2:24:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 2:24:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 11, 2007 2:35:09 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 11, 2007 2:35:16 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 11, 2007 2:35:16 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 2:35:16 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 2:35:16 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 11, 2007 2:35:16 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 11, 2007 2:49:17 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: sessionDestroyed('81AEA89775C52C70E752CDEBB9E5A290')

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-20.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-20.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-20.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+Jun 20, 2007 3:56:31 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 20, 2007 3:56:31 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 20, 2007 3:56:31 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 20, 2007 3:56:31 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 20, 2007 3:56:31 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 20, 2007 4:18:51 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 20, 2007 4:19:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 20, 2007 4:19:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 20, 2007 4:19:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 20, 2007 4:19:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 20, 2007 4:19:05 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-28.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-28.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-28.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+Jun 28, 2007 5:00:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 28, 2007 5:00:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 28, 2007 5:00:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 28, 2007 5:00:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 28, 2007 5:00:13 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jun 28, 2007 5:00:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jun 28, 2007 10:31:52 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
+Jun 28, 2007 10:31:52 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 28, 2007 10:31:52 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()
+Jun 28, 2007 10:31:52 PM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextInitialized()
+Jun 28, 2007 10:31:52 PM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextInitialized()

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-29.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-29.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-06-29.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+Jun 29, 2007 9:20:52 AM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: doFilter(): redirecting request for http://dynamo.geodynamics.org:8080/balancer/ to http://jakarta.apache.org

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-03.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-03.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-03.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext listenerStart
+SEVERE: Error configuring application listener of class org.gridsphere.servlets.GridSphereServlet
+java.lang.ClassNotFoundException: org.gridsphere.servlets.GridSphereServlet
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1359)
+	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1205)
+	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3712)
+	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4216)
+	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
+	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
+	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
+	at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
+	at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
+	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
+	at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1206)
+	at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
+	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
+	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
+	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
+	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
+	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
+	at java.lang.Thread.run(Thread.java:595)
+Jul 3, 2007 11:37:23 AM org.apache.catalina.core.StandardContext listenerStart
+SEVERE: Skipped installing application listeners due to previous error(s)

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-04.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-04.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-04.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+Jul 4, 2007 8:03:48 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jul 4, 2007 8:03:48 AM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jul 4, 2007 8:03:48 AM org.apache.catalina.core.ApplicationContext log
+INFO: SessionListener: contextDestroyed()
+Jul 4, 2007 8:03:48 AM org.apache.catalina.core.ApplicationContext log
+INFO: ContextListener: contextDestroyed()
+Jul 4, 2007 8:03:59 AM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]

Added: cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-06.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-06.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/localhost.2007-07-06.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+Jul 6, 2007 10:25:15 PM org.apache.catalina.core.ApplicationContext log
+INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-11.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-20.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-28.log
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-29.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-29.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/manager.2007-06-29.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+Jun 29, 2007 9:13:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: HTMLManager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
+Jun 29, 2007 9:13:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: HTMLManager: init: Global resources are available
+Jun 29, 2007 9:13:20 AM org.apache.catalina.core.ApplicationContext log
+INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'
+Jun 29, 2007 9:48:48 AM org.apache.catalina.core.ApplicationContext log
+INFO: HTMLManager: list: Listing contexts for virtual host 'localhost'

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-04.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-04.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-04.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+Jul 4, 2007 8:15:28 AM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
+Jul 4, 2007 8:15:28 AM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: init: Global resources are available
+Jul 4, 2007 8:15:28 AM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 4, 2007 8:15:28 AM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'

Added: cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-06.log
===================================================================
--- cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-06.log	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/logs/manager.2007-07-06.log	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+Jul 6, 2007 10:26:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: init: Associated with Deployer 'Catalina:type=Deployer,host=localhost'
+Jul 6, 2007 10:26:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: init: Global resources are available
+Jul 6, 2007 10:26:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 6, 2007 10:26:45 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 6, 2007 10:27:34 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 6, 2007 10:27:34 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 6, 2007 10:28:48 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'
+Jul 6, 2007 10:28:48 PM org.apache.catalina.core.ApplicationContext log
+INFO: Manager: list: Listing contexts for virtual host 'localhost'

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant-jmx.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant-jmx.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-cluster.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-cluster.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-optional.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-optional.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-storeconfig.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina-storeconfig.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/catalina.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/catalina.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/commons-modeler-2.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/commons-modeler-2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-cgi.renametojar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-cgi.renametojar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-default.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-default.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-invoker.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-invoker.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-ssi.renametojar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-ssi.renametojar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-webdav.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/servlets-webdav.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-ajp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-ajp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-apr.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-apr.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-coyote.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-coyote.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-http.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-http.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-jkstatus-ant.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-jkstatus-ant.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-util.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/lib/tomcat-util.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/controls.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/controls.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/controls.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,419 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE taglib
+  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+         "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>controls</short-name>
+  <description>
+    JSP tag library containing custom GUI controls used in the
+    Tomcat Administrative Application.
+  </description>
+
+  <!-- ========== Instant Table Tag ===================================== -->
+
+  <tag>
+
+    <name>table</name>
+    <tag-class>org.apache.webapp.admin.TableTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "table" object, which is rendered as an HTML
+      "table" element. 
+      
+      NOTE:  The only valid nested content for this tag is
+      "row" tags from this library.  Anything else will cause
+      the rendered HTML to be invalid.
+
+      NOTE:  To be usable, this tag must be nested inside an
+      HTML &lt;form&gt; element.
+    </description>
+
+    <attribute>
+      <name>columns</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Integer) number of columns that the table contains.  If
+        not specified, only two columns will be visible.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>tableStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the instant table.  If not specified, no overall
+        style class is applied.
+      </description>
+    </attribute>
+ 
+    <attribute>
+      <name>lineStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style for the lines between rows.
+      </description>
+    </attribute>
+
+  </tag>
+
+    <tag>
+
+    <name>row</name>
+    <tag-class>org.apache.webapp.admin.RowTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Define a single "instant table row" option for the surrounding "table"
+      tag.  It is not valid to use this tag *except* when nested inside an
+      "table" tag.
+
+      NOTE: This tag can nest only "label" and "data" tags.
+    </description>
+
+    <attribute>
+      <name>header</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if this row is
+        the header row.
+        </description>
+    </attribute>
+    
+     <attribute>
+      <name>labelStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The style for the label table data element.
+      </description>
+    </attribute>
+    
+     <attribute>
+      <name>dataStyle</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The style for the value of the table data element.
+      </description>
+    </attribute>    
+    
+     <attribute>
+      <name>styleId</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The styleId for the label table data element.
+      </description>
+    </attribute>
+        
+  </tag>
+
+ <tag>
+
+    <name>label</name>
+    <tag-class>org.apache.webapp.admin.LabelTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "label" object, which is rendered as a label in the row of
+      an HTML "table" element. 
+
+      NOTE:  To be usable, this tag must be nested inside a "row" tag.
+    </description>
+  </tag>
+
+ <tag>
+
+    <name>data</name>
+    <tag-class>org.apache.webapp.admin.DataTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render a "data" object, which is rendered as a label in the row of
+      an HTML "table" element. 
+
+      NOTE:  To be usable, this tag must be nested inside a "row" tag.
+    </description>
+  </tag>
+
+  <!-- ========== Instant Actions Tag ===================================== -->
+
+   <tag>
+
+    <name>actions</name>
+    <tag-class>org.apache.webapp.admin.ActionsTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Render an "instant actions" object, which is rendered as an HTML
+      "select" element, where the selection of a particular element from
+      the list immediately causes a JavaScript function to be executed
+      (with the available elements specified by "action" tag instances
+      nested within the body of the "actions" tag).
+
+      NOTE:  The only valid nested content for this tag is
+      "action" tags from this library.  Anything else will cause
+      the rendered HTML to be invalid.
+
+      NOTE:  To be usable, this tag must be nested inside an
+      HTML &lt;form&gt; element.
+    </description>
+
+    <attribute>
+      <name>size</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Integer) number of rows that will be visible to the user.  If
+        not specified, only one row will be visible.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the instant actions control.  If not specified, no overall
+        style class is applied.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>label</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        HTML Label tag generation.
+      </description>
+    </attribute>
+    
+  </tag>
+
+  <tag>
+
+    <name>action</name>
+    <tag-class>org.apache.webapp.admin.ActionTag</tag-class>
+    <body-content>JSP</body-content>
+    <description>
+      Define a single "instant action" option for the surrounding "actions"
+      tag.  It is not valid to use this tag *except* when nested inside an
+      "actions" tag.
+
+      NOTE:  The body content of this tag (which should be suitably
+      localized, if required by your application) is used as the
+      user-visible label for this action.
+    </description>
+
+    <attribute>
+      <name>selected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if this action should
+        already be selected when the "instant actions" element is
+        initially displayed.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>disabled</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        (Boolean) variable set to "true" or "yes" if the selection
+        for this action should be disabled.        
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>url</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The URL to which the current frame or window will be transferred
+        if the "onchange" event handler of this "instant actions" element
+        is triggered, and this is the currently selected action.  If no
+        URL is specified, no action will be taken (useful for "(None)"
+        options and dividers).
+
+        If this URL starts with a slash, it will be assumed to be
+        context-relative, and will be prefixed with the context path
+        of this request.  Otherwise, it will be used unmodified.
+
+        NOTE:  This URL will be passed through URL rewriting so that it
+        will maintain session identity even in environments were cookies
+        are not being used.
+      </description>
+    </attribute>
+
+  </tag>
+
+
+  <!-- ========== Tree Control Tag ======================================== -->
+
+  <tag>
+
+    <name>tree</name>
+    <tag-class>org.apache.webapp.admin.TreeControlTag</tag-class>
+    <body-content>empty</body-content>
+    <description>
+      Render a "tree" control, based on the current state of a data object
+      of type org.apache.webapp.admin.TreeControl, which is identified
+      by the name specified in the "tree" attribute, in the JSP scope
+      specified by the "scope" attribute.
+    </description>
+
+    <attribute>
+      <name>action</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Hyperlink to which expand/contract actions should be sent,
+        with a string "${node}" marking where the node name of the
+        affected node should be included (which will usually be as
+        the value of a request parameter).
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>images</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a directory containing the images for our icons,
+        relative to the page including this tag.  If not specified,
+        defaults to "images".
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The JSP scope within which the "tree" attribute is to be found
+        (page, request, session, or application).  If not specified, the
+        "tree" attribute will be searched for in any scope.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>style</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the entire rendered output
+        of the tree control.  If not specified, no overall style class
+        is applied.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>styleSelected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the text of any node that
+        is currently selected.  If not specified, no style class will be
+        applied to the text of the selected node.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>styleUnselected</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        The CSS style class to be applied to the text of any node that
+        is *not* currently selected.  If not specified, no style class will
+         be applied to the text of non-selected nodes.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>tree</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the attribute (in the scope specified by the "scope"
+        attribute, if any) under which an object of type
+        org.apache.webapp.admin.TreeControl is stored.  This object
+        represents the entire current state of the tree, including
+        a representation of the hierarchical representation of the
+        nodes, plus the current expanded/ or contracted state of
+        non-leaf nodes.
+      </description>
+    </attribute>
+
+  </tag>
+
+  <!-- ========== JMX Attribute Display Tag =============================== -->
+
+  <tag>
+
+    <name>attribute</name>
+    <tag-class>org.apache.webapp.admin.AttributeTag</tag-class>
+    <body-content>empty</body-content>
+    <description>
+      Look up an attribute on a JMX MBean, specified by an object name
+      specified by the "name" (and optional "property" and "scope")
+      attributes, and render it to the current JSP writer.  The object name
+      identified by these attributes can be either a java.lang.String version
+      of the name, or a javax.management.ObjectName instance.
+    </description>
+
+    <attribute>
+      <name>attribute</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the attribute of the JMX MBean whose value is to be
+        retrieved and written to the current JSP writer.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>name</name>
+      <required>true</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a bean, optionally in some scope identified by the "scope"
+        attribute.  If the "property" attribute is not specified, this bean
+        must by a String or an ObjectName.  Otherwise, this bean must have
+        a property getter for the property named by "property", which will
+        return the String or ObjectName.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>property</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of a bean property, on the bean identified by the "name"
+        (and optional "scope") attributes, that is either a String or an
+        ObjectName of the JMX MBean whose attribute is to be retrieved.
+      </description>
+    </attribute>
+
+    <attribute>
+      <name>scope</name>
+      <required>false</required>
+      <rtexprvalue>true</rtexprvalue>
+      <description>
+        Name of the scope ("page", "request", "session", or "application")
+        in which the bean identified by the "name" attribute is to be found.
+        If not specified, all scopes will be searched in ascending order.
+      </description>
+    </attribute>
+
+  </tag>
+
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/catalina-admin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-collections.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-collections.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/commons-digester-1.7.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/struts.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/lib/struts.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/struts-config.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/struts-config.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/struts-config.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,970 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!DOCTYPE struts-config PUBLIC
+          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
+          "http://struts.apache.org/dtds/struts-config_1_2.dtd">
+
+
+<struts-config>
+
+
+  <!-- ========== Data Source Configuration =============================== -->
+
+
+  <!-- ========== Form Bean Definitions =================================== -->
+
+  <form-beans>
+
+    <!-- Set Locale form bean -->
+    <form-bean      name="setLocaleForm"
+                    type="org.apache.webapp.admin.SetLocaleForm"/>
+
+    <!-- ============= Server Module ============= -->
+
+    <form-bean      name="serverForm"
+                    type="org.apache.webapp.admin.server.ServerForm"/>
+                    
+    <!-- ============= Service Module ============= -->
+
+    <form-bean      name="serviceForm"
+                    type="org.apache.webapp.admin.service.ServiceForm"/>
+                    
+    <form-bean      name="servicesForm"
+                    type="org.apache.webapp.admin.service.ServicesForm"/>
+
+    <!-- ============= Host Module ============= -->
+
+    <form-bean      name="hostForm"
+                    type="org.apache.webapp.admin.host.HostForm"/>
+                    
+    <form-bean      name="hostsForm"
+                    type="org.apache.webapp.admin.host.HostsForm"/>
+
+    <form-bean      name="aliasForm"
+                    type="org.apache.webapp.admin.host.AliasForm"/>
+                    
+    <form-bean      name="aliasesForm"
+                    type="org.apache.webapp.admin.host.AliasesForm"/>
+
+    <!-- ============= Realm Module ============= -->
+
+    <form-bean      name="dataSourceRealmForm"
+                    type="org.apache.webapp.admin.realm.DataSourceRealmForm"/>
+
+    <form-bean      name="jdbcRealmForm"
+                    type="org.apache.webapp.admin.realm.JDBCRealmForm"/>
+
+    <form-bean      name="jndiRealmForm"
+                    type="org.apache.webapp.admin.realm.JNDIRealmForm"/>
+
+    <form-bean      name="memoryRealmForm"
+                    type="org.apache.webapp.admin.realm.MemoryRealmForm"/>
+
+    <form-bean      name="userDatabaseRealmForm"
+                    type="org.apache.webapp.admin.realm.UserDatabaseRealmForm"/>
+
+    <form-bean      name="realmsForm"
+                    type="org.apache.webapp.admin.realm.RealmsForm"/>
+
+    <!-- ============= Context Module ============= -->
+
+    <form-bean      name="contextForm"
+                    type="org.apache.webapp.admin.context.ContextForm"/>
+                    
+    <form-bean      name="contextsForm"
+                    type="org.apache.webapp.admin.context.ContextsForm"/>
+                    
+    <!-- ============= DefaultContext Module ============= -->
+                                        
+    <!-- ============= Connector Module ============= -->
+
+    <form-bean      name="connectorForm"
+                    type="org.apache.webapp.admin.connector.ConnectorForm"/>
+                    
+    <form-bean      name="connectorsForm"
+                    type="org.apache.webapp.admin.connector.ConnectorsForm"/>
+
+    <!-- ============= Valve Module ============= -->
+
+    <form-bean      name="accessLogValveForm"
+                    type="org.apache.webapp.admin.valve.AccessLogValveForm"/>
+
+    <form-bean      name="remoteAddrValveForm"
+                    type="org.apache.webapp.admin.valve.RemoteAddrValveForm"/>
+
+    <form-bean      name="remoteHostValveForm"
+                    type="org.apache.webapp.admin.valve.RemoteHostValveForm"/>
+
+    <form-bean      name="requestDumperValveForm"
+                    type="org.apache.webapp.admin.valve.RequestDumperValveForm"/>
+
+    <form-bean      name="singleSignOnValveForm"
+                    type="org.apache.webapp.admin.valve.SingleSignOnValveForm"/>
+
+    <form-bean      name="valvesForm"
+                    type="org.apache.webapp.admin.valve.ValvesForm"/>
+
+    <!-- ========== Resources Module ========== -->
+
+    <form-bean      name="envEntryForm"
+                    type="org.apache.webapp.admin.resources.EnvEntryForm"/>
+
+    <form-bean      name="envEntriesForm"
+                    type="org.apache.webapp.admin.resources.EnvEntriesForm"/>
+
+    <form-bean      name="userDatabaseForm"
+                    type="org.apache.webapp.admin.resources.UserDatabaseForm"/>
+
+    <form-bean      name="userDatabasesForm"
+                    type="org.apache.webapp.admin.resources.UserDatabasesForm"/>
+
+    <form-bean      name="dataSourceForm"
+                    type="org.apache.webapp.admin.resources.DataSourceForm"/>
+
+    <form-bean      name="dataSourcesForm"
+                    type="org.apache.webapp.admin.resources.DataSourcesForm"/>
+
+    <form-bean      name="mailSessionForm"
+                    type="org.apache.webapp.admin.resources.MailSessionForm"/>
+
+    <form-bean      name="mailSessionsForm"
+                    type="org.apache.webapp.admin.resources.MailSessionsForm"/>
+
+    <form-bean      name="resourceLinkForm"
+                    type="org.apache.webapp.admin.resources.ResourceLinkForm"/>
+
+    <form-bean      name="resourceLinksForm"
+                    type="org.apache.webapp.admin.resources.ResourceLinksForm"/>
+
+    <!-- ========== User Database Module ========== -->
+
+    <form-bean      name="databaseForm"
+                    type="org.apache.webapp.admin.users.BaseForm"/>
+
+    <form-bean      name="groupForm"
+                    type="org.apache.webapp.admin.users.GroupForm"/>
+
+    <form-bean      name="groupsForm"
+                    type="org.apache.webapp.admin.users.GroupsForm"/>
+
+    <form-bean      name="roleForm"
+                    type="org.apache.webapp.admin.users.RoleForm"/>
+
+    <form-bean      name="rolesForm"
+                    type="org.apache.webapp.admin.users.RolesForm"/>
+
+    <form-bean      name="userForm"
+                    type="org.apache.webapp.admin.users.UserForm"/>
+
+    <form-bean      name="usersForm"
+                    type="org.apache.webapp.admin.users.UsersForm"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </form-beans>
+
+
+  <!-- ========== Global Forward Definitions ============================== -->
+
+  <global-forwards>
+
+    <forward        name="Dump Registry Results"
+                    path="/dumpRegistry.jsp"
+                redirect="false"/>
+
+    <forward        name="Dump Server Results"
+                    path="/dumpServer.jsp"
+                redirect="false"/>
+
+    <forward        name="Main Menu"
+                    path="/index.jsp"
+                redirect="false"/>
+
+    <forward        name="Tree Control Test"
+                    path="/tree-control-test.jsp"
+                redirect="false"/>
+                  
+    <forward        name="Save Successful"
+                    path="/saved.jsp"
+                redirect="false"/>
+
+    <forward        name="Save Unsuccessful"
+                    path="/savefail.jsp"
+                redirect="false"/>
+                
+    <forward        name="Blank"
+                    path="/blank.jsp"
+                redirect="false"/>
+
+    <forward        name="User"
+                    path="/user.jsp"
+                redirect="false"/>
+
+    <!-- ============ Server Module ============== -->
+
+    <forward        name="Server"
+                    path="/server/server.jsp"
+                redirect="false"/>
+    
+    <!-- ============ Service Module ============== -->
+
+    <forward        name="Service"
+                    path="/service/service.jsp"
+                redirect="false"/>
+
+    <forward        name="Services"
+                    path="/service/services.jsp"
+                redirect="false"/>
+
+    <!-- ============ Host Module ============== -->
+
+    <forward        name="Host"
+                    path="/host/host.jsp"
+                redirect="false"/>
+
+    <forward        name="Hosts"
+                    path="/host/hosts.jsp"
+                redirect="false"/>
+
+    <forward        name="Alias"
+                    path="/host/alias.jsp"
+                redirect="false"/>
+
+    <forward        name="Aliases"
+                    path="/host/aliases.jsp"
+                redirect="false"/>
+
+
+    <!-- ============ Context Module ============== -->
+
+    <forward        name="Context"
+                    path="/context/context.jsp"
+                redirect="false"/>
+
+    <forward        name="Contexts"
+                    path="/context/contexts.jsp"
+                redirect="false"/>
+
+    <!-- ============ DefaultContext Module ============== -->
+
+    <!-- ============ Connector Module ============== -->
+
+    <forward        name="Connector"
+                    path="/connector/connector.jsp"
+                redirect="false"/>
+
+    <forward        name="Connectors"
+                    path="/connector/connectors.jsp"
+                redirect="false"/>
+
+    <!-- ============ Realm Module ============== -->
+
+    <forward        name="DataSourceRealm"
+                    path="/realm/dataSourceRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="JDBCRealm"
+                    path="/realm/jdbcRealm.jsp"
+                redirect="false"/>
+                
+    <forward        name="JNDIRealm"
+                    path="/realm/jndiRealm.jsp"
+                redirect="false"/>
+                
+    <forward        name="MemoryRealm"
+                    path="/realm/memoryRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabaseRealm"
+                    path="/realm/userDatabaseRealm.jsp"
+                redirect="false"/>
+
+    <forward        name="Realms"
+                    path="/realm/realms.jsp"
+                redirect="false"/>
+
+    <!-- ============ Context Module ============== -->
+
+    <forward        name="Context"
+                    path="/context/context.jsp"
+                redirect="false"/>
+
+    <forward        name="Contexts"
+                    path="/context/contexts.jsp"
+                redirect="false"/>
+
+    <!-- ============ Valve Module ============== -->
+
+    <forward        name="AccessLogValve"
+                    path="/valve/accessLogValve.jsp"
+                redirect="false"/>
+                
+    <forward        name="RemoteAddrValve"
+                    path="/valve/remoteAddrValve.jsp"
+                redirect="false"/>
+                
+    <forward        name="RemoteHostValve"
+                    path="/valve/remoteHostValve.jsp"
+                redirect="false"/>
+
+    <forward        name="RequestDumperValve"
+                    path="/valve/requestDumperValve.jsp"
+                redirect="false"/>
+
+    <forward        name="SingleSignOn"
+                    path="/valve/singleSignOnValve.jsp"
+                redirect="false"/>
+
+    <forward        name="Valves"
+                    path="/valve/valves.jsp"
+                redirect="false"/>
+
+    <!-- ========== Resources Module ========== -->
+
+    <forward        name="EnvEntry"
+                    path="/resources/envEntry.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries Delete List"
+                    path="/resources/deleteEnvEntries.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries List"
+                    path="/resources/listEnvEntries.jsp"
+                redirect="false"/>
+
+    <forward        name="EnvEntries List Setup"
+                    path="/resources/listEnvEntries.do?forward=EnvEntries+List"
+                redirect="false"/>
+
+    <forward        name="UserDatabase"
+                    path="/resources/userDatabase.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases Delete List"
+                    path="/resources/deleteUserDatabases.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases List"
+                    path="/resources/listUserDatabases.jsp"
+                redirect="false"/>
+
+    <forward        name="UserDatabases List Setup"
+                    path="/resources/listUserDatabases.do?forward=UserDatabases+List"
+                redirect="false"/>
+                
+    <forward        name="DataSource"
+                    path="/resources/dataSource.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources Delete List"
+                    path="/resources/deleteDataSources.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources List"
+                    path="/resources/listDataSources.jsp"
+                redirect="false"/>
+
+    <forward        name="DataSources List Setup"
+                    path="/resources/listDataSources.do?forward=DataSources+List"
+                redirect="false"/>
+
+    <forward        name="MailSession"
+                    path="/resources/mailSession.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions Delete List"
+                    path="/resources/deleteMailSessions.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions List"
+                    path="/resources/listMailSessions.jsp"
+                redirect="false"/>
+
+    <forward        name="MailSessions List Setup"
+                    path="/resources/listMailSessions.do?forward=MailSessions+List"
+                redirect="false"/>
+
+    <forward        name="ResourceLink"
+                    path="/resources/resourceLink.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks Delete List"
+                    path="/resources/deleteResourceLinks.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks List"
+                    path="/resources/listResourceLinks.jsp"
+                redirect="false"/>
+
+    <forward        name="ResourceLinks List Setup"
+                    path="/resources/listResourceLinks.do?forward=ResourceLinks+List"
+                redirect="false"/>
+                        
+    <!-- ========== User Database Module ========== -->
+
+    <forward        name="Group"
+                    path="/users/group.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups Delete List"
+                    path="/users/deleteGroups.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups List"
+                    path="/users/listGroups.jsp"
+                redirect="false"/>
+
+    <forward        name="Groups List Setup"
+                    path="/users/listGroups.do?forward=Groups+List"
+                redirect="false"/>
+
+    <forward        name="Role"
+                    path="/users/role.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles Delete List"
+                    path="/users/deleteRoles.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles List"
+                    path="/users/listRoles.jsp"
+                redirect="false"/>
+
+    <forward        name="Roles List Setup"
+                    path="/users/listRoles.do?forward=Roles+List"
+                redirect="false"/>
+
+    <forward        name="User"
+                    path="/users/user.jsp"
+                redirect="false"/>
+
+    <forward        name="Users Delete List"
+                    path="/users/deleteUsers.jsp"
+                redirect="false"/>
+
+    <forward        name="Users List"
+                    path="/users/listUsers.jsp"
+                redirect="false"/>
+
+    <forward        name="Users List Setup"
+                    path="/users/listUsers.do?forward=Users+List"
+                redirect="false"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </global-forwards>
+
+
+  <!-- ========== Action Mapping Definitions ============================== -->
+
+  <action-mappings>
+
+    <!-- Dump registry information (debugging) -->
+    <action    path="/dumpRegistry"
+               type="org.apache.webapp.admin.DumpRegistryAction"/>
+
+    <!-- Dump MBean server information (debugging) -->
+    <action    path="/dumpServer"
+               type="org.apache.webapp.admin.DumpServerAction"/>
+
+    <!-- Set up Tree datastructure -->
+    <action    path="/setUpTree"
+               type="org.apache.webapp.admin.SetUpTreeAction">
+      <forward        name="SetUpTree"
+                      path="/tree-control-test.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Log out of the application -->
+    <action    path="/logOut"
+               type="org.apache.webapp.admin.LogOutAction">
+      <forward        name="Main Menu"
+                      path="/index.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Save current settings to server.xml -->
+    <action    path="/commitChanges"
+               type="org.apache.webapp.admin.CommitChangesAction">
+      <forward        name="Banner"
+                      path="/banner.jsp"
+                  redirect="true"/>
+    </action>
+
+    <!-- Process a set-locale action -->
+    <action    path="/setLocale"
+               type="org.apache.webapp.admin.SetLocaleAction"
+               name="setLocaleForm"
+              scope="session">
+    </action>
+
+    <!-- Tree control test action -->
+    <action    path="/treeControlTest"
+               type="org.apache.webapp.admin.TreeControlTestAction"/>
+
+   <!-- ============= Server Module ============== -->
+
+    <!-- Set up Edit Server transaction -->
+    <action    path="/EditServer"
+               type="org.apache.webapp.admin.server.EditServerAction">
+    </action>
+
+    <!-- Perform Save Server transaction -->
+    <action    path="/SaveServer"
+               type="org.apache.webapp.admin.server.SaveServerAction"
+               name="serverForm"
+              input="/server/server.jsp"
+               scope="session"/>
+
+    <!-- ============= Service Module ============== -->
+
+    <!-- Set up Add Service transaction -->
+    <action    path="/AddService"
+               type="org.apache.webapp.admin.service.AddServiceAction">
+    </action>
+
+    <!-- Set up Delete Services transaction -->
+    <action    path="/DeleteService"
+               type="org.apache.webapp.admin.service.DeleteServiceAction"
+               name="servicesForm"
+               scope="request"/>
+
+    <!-- Perform Delete Services transaction -->
+    <action    path="/DeleteServices"
+               type="org.apache.webapp.admin.service.DeleteServicesAction"
+               name="servicesForm"
+               scope="request"/>
+
+    <!-- Set up Edit Service transaction -->
+    <action    path="/EditService"
+               type="org.apache.webapp.admin.service.EditServiceAction">
+    </action>
+
+    <!-- Perform Save Service transaction -->
+    <action    path="/SaveService"
+               type="org.apache.webapp.admin.service.SaveServiceAction"
+               name="serviceForm"
+              input="/service/service.jsp"
+               scope="session"/>
+
+    <!-- ============= Host Module ============== -->
+
+    <!-- Set up Add Host transaction -->
+    <action    path="/AddHost"
+               type="org.apache.webapp.admin.host.AddHostAction">
+    </action>
+
+    <!-- Set up Delete Hosts transaction -->
+    <action    path="/DeleteHost"
+               type="org.apache.webapp.admin.host.DeleteHostAction"
+               name="hostsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Hosts transaction -->
+    <action    path="/DeleteHosts"
+               type="org.apache.webapp.admin.host.DeleteHostsAction"
+               name="hostsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Host transaction -->
+    <action    path="/EditHost"
+               type="org.apache.webapp.admin.host.EditHostAction">
+    </action>
+
+    <!-- Perform Save Host transaction -->
+    <action    path="/SaveHost"
+               type="org.apache.webapp.admin.host.SaveHostAction"
+               name="hostForm"
+              input="/host/host.jsp"
+               scope="session"/>
+               
+    <!-- Set up Add Alias transaction -->
+    <action    path="/AddAlias"
+               type="org.apache.webapp.admin.host.AddAliasAction">
+    </action>
+
+    <!-- Perform Delete Aliases transaction -->
+    <action    path="/DeleteAlias"
+               type="org.apache.webapp.admin.host.DeleteAliasAction"
+               name="aliasesForm"
+               scope="request"/>
+               
+    <!-- Perform Delete Aliases transaction -->
+    <action    path="/DeleteAliases"
+               type="org.apache.webapp.admin.host.DeleteAliasesAction"
+               name="aliasesForm"
+               scope="request"/>
+               
+    <!-- Perform Save Host transaction -->
+    <action    path="/SaveAlias"
+               type="org.apache.webapp.admin.host.SaveAliasAction"
+               name="aliasForm"
+              input="/host/alias.jsp"
+               scope="session"/>
+
+    <!-- ============= Realm Module ============== -->
+
+    <!-- Set up Add Realm transaction -->
+    <action    path="/AddRealm"
+               type="org.apache.webapp.admin.realm.AddRealmAction">
+    </action>
+
+    <!-- Set up Add Realm transaction -->
+    <action    path="/realm/AddRealm"
+               type="org.apache.webapp.admin.realm.AddRealmAction">
+    </action>
+
+    <!-- Set up Delete Realms transaction -->
+    <action    path="/DeleteRealm"
+               type="org.apache.webapp.admin.realm.DeleteRealmAction"
+               name="realmsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Realms transaction -->
+    <action    path="/DeleteRealms"
+               type="org.apache.webapp.admin.realm.DeleteRealmsAction"
+               name="realmsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Realm transaction (generic) -->
+    <action    path="/EditRealm"
+               type="org.apache.webapp.admin.realm.EditRealmAction">
+    </action>
+
+    <!-- Perform Save UserDatabase Realm transaction -->
+    <action    path="/SaveUserDatabaseRealm"
+               type="org.apache.webapp.admin.realm.SaveUserDatabaseRealmAction"
+               name="userDatabaseRealmForm"
+              input="/realm/userDatabaseRealm.jsp"
+               scope="session"/>
+
+   <!-- Perform Save DataSource Realm transaction -->
+    <action    path="/SaveDataSourceRealm"
+               type="org.apache.webapp.admin.realm.SaveDataSourceRealmAction"
+               name="dataSourceRealmForm"
+              input="/realm/dataSourceRealm.jsp"
+               scope="session"/>
+
+   <!-- Perform Save JDBC Realm transaction -->
+    <action    path="/SaveJDBCRealm"
+               type="org.apache.webapp.admin.realm.SaveJDBCRealmAction"
+               name="jdbcRealmForm"
+              input="/realm/jdbcRealm.jsp"
+               scope="session"/>
+
+    <!-- Perform Save JNDI Realm transaction -->
+    <action    path="/SaveJNDIRealm"
+               type="org.apache.webapp.admin.realm.SaveJNDIRealmAction"
+               name="jndiRealmForm"
+              input="/realm/jndiRealm.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Memory transaction -->
+    <action    path="/SaveMemoryRealm"
+               type="org.apache.webapp.admin.realm.SaveMemoryRealmAction"
+               name="memoryRealmForm"
+              input="/realm/memoryRealm.jsp"
+               scope="session"/>
+               
+   <!-- ============= Context Module ============== -->
+
+    <!-- Set up Add Context transaction -->
+    <action    path="/AddContext"
+               type="org.apache.webapp.admin.context.AddContextAction">
+    </action>
+
+    <!-- Set up Delete Contexts transaction -->
+    <action    path="/DeleteContext"
+               type="org.apache.webapp.admin.context.DeleteContextAction"
+               name="contextsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Contexts transaction -->
+    <action    path="/DeleteContexts"
+               type="org.apache.webapp.admin.context.DeleteContextsAction"
+               name="contextsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Context transaction -->
+    <action    path="/EditContext"
+               type="org.apache.webapp.admin.context.EditContextAction">
+    </action>
+
+    <!-- Perform Save Context transaction -->
+    <action    path="/SaveContext"
+               type="org.apache.webapp.admin.context.SaveContextAction"
+               name="contextForm"
+              input="/context/context.jsp"
+               scope="session"/>
+               
+   <!-- ============= DefaultContext Module ============== -->
+
+   <!-- ============= Connector Module ============== -->
+
+    <!-- Set up Add Connector transaction -->
+    <action    path="/AddConnector"
+               type="org.apache.webapp.admin.connector.AddConnectorAction">
+    </action>
+
+    <!-- Set up Add Connector transaction -->
+    <action    path="/connector/AddConnector"
+               type="org.apache.webapp.admin.connector.AddConnectorAction">
+    </action>
+
+    <!-- Set up Delete Connectors transaction -->
+    <action    path="/DeleteConnector"
+               type="org.apache.webapp.admin.connector.DeleteConnectorAction"
+               name="connectorsForm"
+               scope="request"/>
+
+    <!-- Perform Delete Connectors transaction -->
+    <action    path="/DeleteConnectors"
+               type="org.apache.webapp.admin.connector.DeleteConnectorsAction"
+               name="connectorsForm"
+               scope="request"/>
+
+    <!-- Set up Edit Connector transaction -->
+    <action    path="/EditConnector"
+               type="org.apache.webapp.admin.connector.EditConnectorAction">
+    </action>
+
+    <!-- Perform Save Connector transaction -->
+    <action    path="/SaveConnector"
+               type="org.apache.webapp.admin.connector.SaveConnectorAction"
+               name="connectorForm"
+              input="/connector/connector.jsp"
+               scope="session"/>
+               
+   <!-- ============= Valve Module ============== -->
+
+    <!-- Set up Add Valve transaction -->
+    <action    path="/AddValve"
+               type="org.apache.webapp.admin.valve.AddValveAction">
+    </action>
+
+    <!-- Set up Add Valve transaction -->
+    <action    path="/valve/AddValve"
+               type="org.apache.webapp.admin.valve.AddValveAction">
+    </action>
+
+    <!-- Set up Delete Valves transaction -->
+    <action    path="/DeleteValve"
+               type="org.apache.webapp.admin.valve.DeleteValveAction"
+               name="valvesForm"
+               scope="request"/>
+
+    <!-- Perform Delete Valves transaction -->
+    <action    path="/DeleteValves"
+               type="org.apache.webapp.admin.valve.DeleteValvesAction"
+               name="valvesForm"
+               scope="request"/>
+
+    <!-- Set up Edit Valve transaction (generic) -->
+    <action    path="/EditValve"
+               type="org.apache.webapp.admin.valve.EditValveAction">
+    </action>
+    
+    <!-- Perform Save AccessLog Valve transaction -->
+    <action    path="/SaveAccessLogValve"
+               type="org.apache.webapp.admin.valve.SaveAccessLogValveAction"
+               name="accessLogValveForm"
+              input="/valve/accessLogValve.jsp"
+               scope="session"/>
+
+   <!-- Perform Save Remote Addr Valve transaction -->
+    <action    path="/SaveRemoteAddrValve"
+               type="org.apache.webapp.admin.valve.SaveRemoteAddrValveAction"
+               name="remoteAddrValveForm"
+              input="/valve/remoteAddrValve.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Remote Host Valve transaction -->
+    <action    path="/SaveRemoteHostValve"
+               type="org.apache.webapp.admin.valve.SaveRemoteHostValveAction"
+               name="remoteHostValveForm"
+              input="/valve/remoteHostValve.jsp"
+               scope="session"/>
+
+    <!-- Perform Save Request Dumper Valve transaction -->
+    <action    path="/SaveRequestDumperValve"
+               type="org.apache.webapp.admin.valve.SaveRequestDumperValveAction"
+               name="requestDumperValveForm"
+              input="/valve/requestDumperValve.jsp"
+               scope="session"/>
+
+   <!-- Perform Save Single Sign On Valve transaction -->
+    <action    path="/SaveSingleSignOn"
+               type="org.apache.webapp.admin.valve.SaveSingleSignOnValveAction"
+               name="singleSignOnValveForm"
+              input="/valve/singleSignOnValve.jsp"
+               scope="session"/>
+               
+   <!-- ========== Resources Module ========== -->
+
+   <action    path="/resources/deleteEnvEntries"
+               name="envEntriesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteEnvEntriesAction"/>
+
+   <action    path="/resources/deleteUserDatabases"
+               name="userDatabasesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteUserDatabasesAction"/>
+      
+    <action    path="/resources/deleteDataSources"
+               name="dataSourcesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteDataSourcesAction"/>
+
+    <action    path="/resources/deleteMailSessions"
+               name="mailSessionsForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteMailSessionsAction"/>
+
+    <action    path="/resources/deleteResourceLinks"
+               name="resourceLinksForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.DeleteResourceLinksAction"/>
+               
+    <action    path="/resources/listEnvEntries"
+               name="envEntriesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListEnvEntriesAction"/>
+               
+    <action    path="/resources/listUserDatabases"
+               name="userDatabasesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListUserDatabasesAction"/>
+
+    <action    path="/resources/listDataSources"
+               name="dataSourcesForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListDataSourcesAction"/>
+
+    <action    path="/resources/listMailSessions"
+               name="mailSessionsForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListMailSessionsAction"/>
+
+    <action    path="/resources/listResourceLinks"
+               name="resourceLinksForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.ListResourceLinksAction"/>
+
+   <action    path="/resources/saveEnvEntry"
+              input="/resources/envEntry.jsp"
+               name="envEntryForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveEnvEntryAction"/>
+               
+   <action    path="/resources/saveUserDatabase"
+              input="/resources/userDatabase.jsp"
+               name="userDatabaseForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveUserDatabaseAction"/>
+
+    <action    path="/resources/saveDataSource"
+              input="/resources/dataSource.jsp"
+               name="dataSourceForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveDataSourceAction"/>
+
+    <action    path="/resources/saveMailSession"
+              input="/resources/mailSession.jsp"
+               name="mailSessionForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveMailSessionAction"/>
+
+    <action    path="/resources/saveResourceLink"
+              input="/resources/resourceLink.jsp"
+               name="resourceLinkForm"
+              scope="request"
+               type="org.apache.webapp.admin.resources.SaveResourceLinkAction"/>
+
+   <action    path="/resources/setUpEnvEntry"
+               type="org.apache.webapp.admin.resources.SetUpEnvEntryAction"/>
+
+   <action    path="/resources/setUpUserDatabase"
+               type="org.apache.webapp.admin.resources.SetUpUserDatabaseAction"/>
+
+    <action    path="/resources/setUpDataSource"
+               type="org.apache.webapp.admin.resources.SetUpDataSourceAction"/>
+
+    <action    path="/resources/setUpMailSession"
+               type="org.apache.webapp.admin.resources.SetUpMailSessionAction"/>
+
+    <action    path="/resources/setUpResourceLink"
+               type="org.apache.webapp.admin.resources.SetUpResourceLinkAction"/>
+           
+    <!-- ========== User Database Module ========== -->
+
+    <action    path="/users/deleteGroups"
+               name="groupsForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.DeleteGroupsAction"/>
+
+    <action    path="/users/deleteRoles"
+               name="rolesForm"
+              scope="request"
+                type="org.apache.webapp.admin.users.DeleteRolesAction"/>
+
+    <action    path="/users/deleteUsers"
+               name="usersForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.DeleteUsersAction"/>
+
+    <action    path="/users/listGroups"
+               name="groupsForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListGroupsAction"/>
+
+    <action    path="/users/listRoles"
+               name="rolesForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListRolesAction"/>
+
+    <action    path="/users/listUsers"
+               name="usersForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.ListUsersAction"/>
+
+    <action    path="/users/saveGroup"
+              input="/users/group.jsp"
+               name="groupForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveGroupAction"/>
+
+    <action    path="/users/saveRole"
+              input="/users/role.jsp"
+               name="roleForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveRoleAction"/>
+
+    <action    path="/users/saveUser"
+              input="/users/user.jsp"
+               name="userForm"
+              scope="request"
+               type="org.apache.webapp.admin.users.SaveUserAction"/>
+
+    <action    path="/users/setUpGroup"
+               type="org.apache.webapp.admin.users.SetUpGroupAction"/>
+
+    <action    path="/users/setUpRole"
+               type="org.apache.webapp.admin.users.SetUpRoleAction"/>
+
+    <action    path="/users/setUpUser"
+               type="org.apache.webapp.admin.users.SetUpUserAction"/>
+
+    <!-- ========== ==================== ========== -->
+
+
+  </action-mappings>  
+
+  <controller locale="true" nocache="true" />
+ 
+  <message-resources parameter="org.apache.webapp.admin.ApplicationResources" />
+
+</struts-config>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,772 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Administration Application</display-name>
+  <description>
+    Tomcat HTML based administration web application.
+  </description>
+
+  <!-- Example filter to set character encoding on each request.
+       Uncomment this filter definition and the mapping to use
+       the filter to decode post and get parameters -->
+
+  <filter>
+    <filter-name>Set Character Encoding</filter-name>
+    <filter-class>org.apache.webapp.admin.filters.SetCharacterEncodingFilter</filter-class>
+    <init-param>
+      <param-name>encoding</param-name>
+      <param-value>UTF8</param-value>
+    </init-param>
+  </filter>
+
+  <!-- Example filter mapping to apply the "Set Character Encoding" filter
+       to *all* requests processed by this web application -->
+
+  <filter-mapping>
+    <filter-name>Set Character Encoding</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+
+  <!-- Action Servlet Configuration -->
+  <servlet>
+    <servlet-name>action</servlet-name>
+    <servlet-class>
+      org.apache.webapp.admin.ApplicationServlet
+    </servlet-class>
+<!-- Deprecated
+    <init-param>
+      <param-name>application</param-name>
+      <param-value>
+        org.apache.webapp.admin.ApplicationResources
+      </param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>config</param-name>
+      <param-value>/WEB-INF/struts-config.xml</param-value>
+    </init-param>
+<!-- Deprecated   
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>detail</param-name>
+      <param-value>0</param-value>
+    </init-param>
+<!-- Deprecated
+    <init-param>
+      <param-name>locale</param-name>
+      <param-value>true</param-value>
+    </init-param>
+-->
+<!-- Deprecated
+    <init-param>
+      <param-name>nocache</param-name>
+      <param-value>true</param-value>
+    </init-param>
+-->
+    <init-param>
+      <param-name>validate</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <!-- Label to be displayed for rootnode. If absent, rootnode is not rendered -->
+    <!--
+    <init-param>
+      <param-name>rootnodename</param-name>
+      <param-value>Tomcat Root</param-value>
+    </init-param>
+    -->
+    <init-param>
+      <param-name>treebuilders</param-name>
+      <param-value>
+        org.apache.webapp.admin.TomcatTreeBuilder,
+        org.apache.webapp.admin.resources.ResourcesTreeBuilder,
+        org.apache.webapp.admin.users.UsersTreeBuilder
+    </param-value>
+    </init-param>
+    <init-param>
+      <param-name>domain</param-name>
+      <param-value>Catalina</param-value>
+    </init-param>
+  </servlet>
+
+  <!-- Action Servlet Mapping -->
+  <!-- JSPC servlet mappings start -->
+
+    <servlet>
+        <servlet-name>admin.banner_jsp</servlet-name>
+        <servlet-class>admin.banner_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.blank_jsp</servlet-name>
+        <servlet-class>admin.blank_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.buttons_jsp</servlet-name>
+        <servlet-class>admin.buttons_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.dumpRegistry_jsp</servlet-name>
+        <servlet-class>admin.dumpRegistry_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.dumpServer_jsp</servlet-name>
+        <servlet-class>admin.dumpServer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.error_jsp</servlet-name>
+        <servlet-class>admin.error_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.footer_jsp</servlet-name>
+        <servlet-class>admin.footer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.frameset_jsp</servlet-name>
+        <servlet-class>admin.frameset_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.header_jsp</servlet-name>
+        <servlet-class>admin.header_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.index_jsp</servlet-name>
+        <servlet-class>admin.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.login_jsp</servlet-name>
+        <servlet-class>admin.login_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.saved_jsp</servlet-name>
+        <servlet-class>admin.saved_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.savefail_jsp</servlet-name>
+        <servlet-class>admin.savefail_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.tree_002dcontrol_002dtest_jsp</servlet-name>
+        <servlet-class>admin.tree_002dcontrol_002dtest_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.accessLogValve_jsp</servlet-name>
+        <servlet-class>admin.valve.accessLogValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.remoteAddrValve_jsp</servlet-name>
+        <servlet-class>admin.valve.remoteAddrValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.remoteHostValve_jsp</servlet-name>
+        <servlet-class>admin.valve.remoteHostValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.requestDumperValve_jsp</servlet-name>
+        <servlet-class>admin.valve.requestDumperValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.singleSignOnValve_jsp</servlet-name>
+        <servlet-class>admin.valve.singleSignOnValve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.valve.valves_jsp</servlet-name>
+        <servlet-class>admin.valve.valves_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteGroups_jsp</servlet-name>
+        <servlet-class>admin.users.deleteGroups_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteRoles_jsp</servlet-name>
+        <servlet-class>admin.users.deleteRoles_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.deleteUsers_jsp</servlet-name>
+        <servlet-class>admin.users.deleteUsers_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.footer_jsp</servlet-name>
+        <servlet-class>admin.users.footer_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.group_jsp</servlet-name>
+        <servlet-class>admin.users.group_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.header_jsp</servlet-name>
+        <servlet-class>admin.users.header_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listGroups_jsp</servlet-name>
+        <servlet-class>admin.users.listGroups_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listRoles_jsp</servlet-name>
+        <servlet-class>admin.users.listRoles_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.listUsers_jsp</servlet-name>
+        <servlet-class>admin.users.listUsers_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.role_jsp</servlet-name>
+        <servlet-class>admin.users.role_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.users.user_jsp</servlet-name>
+        <servlet-class>admin.users.user_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.service.service_jsp</servlet-name>
+        <servlet-class>admin.service.service_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.service.services_jsp</servlet-name>
+        <servlet-class>admin.service.services_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.server.server_jsp</servlet-name>
+        <servlet-class>admin.server.server_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.dataSource_jsp</servlet-name>
+        <servlet-class>admin.resources.dataSource_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteDataSources_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteDataSources_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteEnvEntries_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteEnvEntries_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteMailSessions_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteMailSessions_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteResourceLinks_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteResourceLinks_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.deleteUserDatabases_jsp</servlet-name>
+        <servlet-class>admin.resources.deleteUserDatabases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.envEntry_jsp</servlet-name>
+        <servlet-class>admin.resources.envEntry_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listDataSources_jsp</servlet-name>
+        <servlet-class>admin.resources.listDataSources_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listEnvEntries_jsp</servlet-name>
+        <servlet-class>admin.resources.listEnvEntries_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listMailSessions_jsp</servlet-name>
+        <servlet-class>admin.resources.listMailSessions_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listResourceLinks_jsp</servlet-name>
+        <servlet-class>admin.resources.listResourceLinks_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.listUserDatabases_jsp</servlet-name>
+        <servlet-class>admin.resources.listUserDatabases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.mailSession_jsp</servlet-name>
+        <servlet-class>admin.resources.mailSession_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.resourceLink_jsp</servlet-name>
+        <servlet-class>admin.resources.resourceLink_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.resources.userDatabase_jsp</servlet-name>
+        <servlet-class>admin.resources.userDatabase_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.dataSourceRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.dataSourceRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.jdbcRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.jdbcRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.jndiRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.jndiRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.memoryRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.memoryRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.realms_jsp</servlet-name>
+        <servlet-class>admin.realm.realms_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.realm.userDatabaseRealm_jsp</servlet-name>
+        <servlet-class>admin.realm.userDatabaseRealm_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.alias_jsp</servlet-name>
+        <servlet-class>admin.host.alias_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.aliases_jsp</servlet-name>
+        <servlet-class>admin.host.aliases_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.host_jsp</servlet-name>
+        <servlet-class>admin.host.host_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.host.hosts_jsp</servlet-name>
+        <servlet-class>admin.host.hosts_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.context.context_jsp</servlet-name>
+        <servlet-class>admin.context.context_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.context.contexts_jsp</servlet-name>
+        <servlet-class>admin.context.contexts_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.connector.connector_jsp</servlet-name>
+        <servlet-class>admin.connector.connector_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>admin.connector.connectors_jsp</servlet-name>
+        <servlet-class>admin.connector.connectors_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>admin.banner_jsp</servlet-name>
+        <url-pattern>/banner.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.blank_jsp</servlet-name>
+        <url-pattern>/blank.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.buttons_jsp</servlet-name>
+        <url-pattern>/buttons.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.dumpRegistry_jsp</servlet-name>
+        <url-pattern>/dumpRegistry.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.dumpServer_jsp</servlet-name>
+        <url-pattern>/dumpServer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.error_jsp</servlet-name>
+        <url-pattern>/error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.footer_jsp</servlet-name>
+        <url-pattern>/footer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.frameset_jsp</servlet-name>
+        <url-pattern>/frameset.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.header_jsp</servlet-name>
+        <url-pattern>/header.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.index_jsp</servlet-name>
+        <url-pattern>/index.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.login_jsp</servlet-name>
+        <url-pattern>/login.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.saved_jsp</servlet-name>
+        <url-pattern>/saved.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.savefail_jsp</servlet-name>
+        <url-pattern>/savefail.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.tree_002dcontrol_002dtest_jsp</servlet-name>
+        <url-pattern>/tree-control-test.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.accessLogValve_jsp</servlet-name>
+        <url-pattern>/valve/accessLogValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.remoteAddrValve_jsp</servlet-name>
+        <url-pattern>/valve/remoteAddrValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.remoteHostValve_jsp</servlet-name>
+        <url-pattern>/valve/remoteHostValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.requestDumperValve_jsp</servlet-name>
+        <url-pattern>/valve/requestDumperValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.singleSignOnValve_jsp</servlet-name>
+        <url-pattern>/valve/singleSignOnValve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.valve.valves_jsp</servlet-name>
+        <url-pattern>/valve/valves.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteGroups_jsp</servlet-name>
+        <url-pattern>/users/deleteGroups.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteRoles_jsp</servlet-name>
+        <url-pattern>/users/deleteRoles.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.deleteUsers_jsp</servlet-name>
+        <url-pattern>/users/deleteUsers.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.footer_jsp</servlet-name>
+        <url-pattern>/users/footer.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.group_jsp</servlet-name>
+        <url-pattern>/users/group.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.header_jsp</servlet-name>
+        <url-pattern>/users/header.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listGroups_jsp</servlet-name>
+        <url-pattern>/users/listGroups.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listRoles_jsp</servlet-name>
+        <url-pattern>/users/listRoles.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.listUsers_jsp</servlet-name>
+        <url-pattern>/users/listUsers.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.role_jsp</servlet-name>
+        <url-pattern>/users/role.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.users.user_jsp</servlet-name>
+        <url-pattern>/users/user.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.service.service_jsp</servlet-name>
+        <url-pattern>/service/service.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.service.services_jsp</servlet-name>
+        <url-pattern>/service/services.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.server.server_jsp</servlet-name>
+        <url-pattern>/server/server.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.dataSource_jsp</servlet-name>
+        <url-pattern>/resources/dataSource.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteDataSources_jsp</servlet-name>
+        <url-pattern>/resources/deleteDataSources.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteEnvEntries_jsp</servlet-name>
+        <url-pattern>/resources/deleteEnvEntries.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteMailSessions_jsp</servlet-name>
+        <url-pattern>/resources/deleteMailSessions.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteResourceLinks_jsp</servlet-name>
+        <url-pattern>/resources/deleteResourceLinks.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.deleteUserDatabases_jsp</servlet-name>
+        <url-pattern>/resources/deleteUserDatabases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.envEntry_jsp</servlet-name>
+        <url-pattern>/resources/envEntry.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listDataSources_jsp</servlet-name>
+        <url-pattern>/resources/listDataSources.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listEnvEntries_jsp</servlet-name>
+        <url-pattern>/resources/listEnvEntries.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listMailSessions_jsp</servlet-name>
+        <url-pattern>/resources/listMailSessions.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listResourceLinks_jsp</servlet-name>
+        <url-pattern>/resources/listResourceLinks.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.listUserDatabases_jsp</servlet-name>
+        <url-pattern>/resources/listUserDatabases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.mailSession_jsp</servlet-name>
+        <url-pattern>/resources/mailSession.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.resourceLink_jsp</servlet-name>
+        <url-pattern>/resources/resourceLink.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.resources.userDatabase_jsp</servlet-name>
+        <url-pattern>/resources/userDatabase.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.dataSourceRealm_jsp</servlet-name>
+        <url-pattern>/realm/dataSourceRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.jdbcRealm_jsp</servlet-name>
+        <url-pattern>/realm/jdbcRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.jndiRealm_jsp</servlet-name>
+        <url-pattern>/realm/jndiRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.memoryRealm_jsp</servlet-name>
+        <url-pattern>/realm/memoryRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.realms_jsp</servlet-name>
+        <url-pattern>/realm/realms.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.realm.userDatabaseRealm_jsp</servlet-name>
+        <url-pattern>/realm/userDatabaseRealm.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.alias_jsp</servlet-name>
+        <url-pattern>/host/alias.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.aliases_jsp</servlet-name>
+        <url-pattern>/host/aliases.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.host_jsp</servlet-name>
+        <url-pattern>/host/host.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.host.hosts_jsp</servlet-name>
+        <url-pattern>/host/hosts.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.context.context_jsp</servlet-name>
+        <url-pattern>/context/context.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.context.contexts_jsp</servlet-name>
+        <url-pattern>/context/contexts.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.connector.connector_jsp</servlet-name>
+        <url-pattern>/connector/connector.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>admin.connector.connectors_jsp</servlet-name>
+        <url-pattern>/connector/connectors.jsp</url-pattern>
+    </servlet-mapping>
+
+<!-- JSPC servlet mappings end -->
+
+  <servlet-mapping>
+    <servlet-name>action</servlet-name>
+    <url-pattern>*.do</url-pattern>
+  </servlet-mapping>
+
+  <!-- Security is active on entire directory -->
+  <security-constraint>
+    <display-name>Tomcat Server Configuration Security Constraint</display-name>
+    <web-resource-collection>
+      <web-resource-name>Protected Area</web-resource-name>
+      <!-- Define the context-relative URL(s) to be protected -->
+      <url-pattern>*.jsp</url-pattern>
+      <url-pattern>*.do</url-pattern>
+      <url-pattern>*.html</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+      <!-- Anyone with one of the listed roles may access this area -->
+      <role-name>admin</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Login configuration uses form-based authentication -->
+  <login-config>
+    <auth-method>FORM</auth-method>
+    <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
+    <form-login-config>
+      <form-login-page>/login.jsp</form-login-page>
+      <form-error-page>/error.jsp</form-error-page>
+    </form-login-config>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Administration Application
+    </description>
+    <role-name>admin</role-name>
+  </security-role>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+.masthead-title-text {
+  color: #FFFFFF;
+  margin: 3px 5px 5px 3px;
+  font-size: large;
+  font-family:  Arial, Verdana,Helvetica, Sans-Serif;
+}
+
+.page-title-text {
+  color: #FFFFFF;
+  font-weight: bold;
+  margin: 3px 5px 5px 3px;
+  font-size: normal;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-title-text {
+  color: #000000;
+  font-weight: bold;
+  margin: 3px 5px 5px 4px;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-header-text {
+  color: #FFFFFF;
+  font-weight: normal;
+  margin: 3px 5px 1px 15px;
+  font-family:  Arial, Verdana,Helvetica, Sans-Serif;
+}
+
+.table-label-text {
+  color: #000000;
+  margin: 3px 5px 3px 15px;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.table-normal-text {
+  color: #000000;
+  margin: 3px 5px 3px 15px;
+  font-family: "Times New Roman", Times, serif;
+}
+
+.back-table {
+  background-color: #9999CC;
+  margin: 0px 5px 3px 5px;
+  font-family: Verdana, Arial, Helvetica, Sans-Serif;
+}
+
+.front-table {
+  background-color: #FFFFFF;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.page-title-row {
+  background-color: #7171A5;
+  text-align: right;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.header-row {
+  background-color: #9999CC;
+  text-align: center;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.sort-row {
+  background-color: #CECEFF;
+  text-align: center;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.line-row {
+  background-color: #CCCCCC;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+.button {
+  background-color: #CCCCFF;
+  font-family: Arial, Verdana, Helvetica, Sans-Serif;
+}
+
+a.button-link-text:visited, a.button-link-text:link, a.button-link-text:active {
+  color: #000000;
+  background-color: #CCCCFF;
+  font-weight: bold;
+  font-family: Arial, Verdana, Geneva, Helvetica, Sans-Serif;
+  text-decoration: none;
+}
+
+a.button-link-text:hover {
+  color: #000000;
+  background-color: #CCCCFF;
+  font-weight: bold;
+  font-family: Arial, Verdana, Geneva, Helvetica, Sans-Serif;
+  text-decoration: underline;
+}

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<!--
+
+    Context configuration file for the Tomcat Administration Web App
+
+    $Id: admin.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/admin" privileged="true"
+         antiResourceLocking="false" antiJARLocking="false">
+
+  <!-- Uncomment this Valve to limit access to the Admin app to localhost
+   for obvious security reasons. Allow may be a comma-separated list of
+   hosts (or even regular expressions).
+  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
+    allow="127.0.0.1"/>
+  -->
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/BlueTile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/BlueTile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Connector.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Connector.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Context.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Context.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Datasource.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Datasource.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/DefaultContext.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/DefaultContext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/EnvironmentEntries.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/EnvironmentEntries.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Groups.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Groups.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Host.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Host.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Logger.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Logger.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Login.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Login.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/LoginBackgroundTile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/LoginBackgroundTile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Mailsession.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Mailsession.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/PaperTexture.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/PaperTexture.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Realm.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Realm.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/ResourceLink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/ResourceLink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Roles.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Roles.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Server.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Server.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Service.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Service.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Thumbs.db
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Thumbs.db
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/TomcatBanner.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/TomcatBanner.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Users.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Users.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Valve.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/Valve.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/folder_16_pad.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/folder_16_pad.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownlast.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownlast.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownmiddle.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handledownmiddle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightlast.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightlast.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightmiddle.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/handlerightmiddle.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linelastnode.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linelastnode.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linemiddlenode.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linemiddlenode.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linevertical.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/images/linevertical.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/admin/tree-control-test.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/admin/tree-control-test.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/admin/tree-control-test.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+.tree-control {
+  font-family: arial, verdana, geneva, helvetica, sans-serif;
+  font-size: 80%;
+  line-height: 1.0;
+}
+
+.tree-control-selected {
+  color: black;
+  font-weight: bold;
+  text-decoration: none;
+}
+
+.tree-control-unselected {
+  color: black;
+  font-style: normal;
+  font-weight: normal;
+  text-decoration: none;
+}
+

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/lib/catalina-host-manager.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/lib/catalina-host-manager.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Manager Application</display-name>
+  <description>
+    A scriptable management web application for the Tomcat Web Server;
+	Manager lets you view, load/unload/etc particular web applications.
+  </description>
+
+  <!-- Define the Manager Servlet
+       Change servlet-class to: org.apache.catalina.servlets.HTMLManagerServlet
+       to get a Servlet with a more intuitive HTML interface, don't change if you
+       have software that is expected to parse the output from ManagerServlet
+       since they're not compatible.
+   -->
+  <servlet>
+    <servlet-name>HostManager</servlet-name>
+    <servlet-class>org.apache.catalina.hostmanager.HostManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>HTMLHostManager</servlet-name>
+    <servlet-class>org.apache.catalina.hostmanager.HTMLHostManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+
+  <!-- Define the Manager Servlet Mapping -->
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/list</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/add</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/remove</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/start</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HostManager</servlet-name>
+    <url-pattern>/stop</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HTMLHostManager</servlet-name>
+    <url-pattern>/html/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- Define a Security Constraint on this Application -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>HTMLHostManager and HostManager commands</web-resource-name>
+      <url-pattern>/html/*</url-pattern>
+      <url-pattern>/list</url-pattern>
+      <url-pattern>/add</url-pattern>
+      <url-pattern>/remove</url-pattern>
+      <url-pattern>/start</url-pattern>
+      <url-pattern>/stop</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+       <!-- NOTE:  This role is not present in the default users file -->
+       <role-name>admin</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Define the Login Configuration for this Application -->
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>Tomcat Host Manager Application</realm-name>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Manager Application
+    </description>
+    <role-name>admin</role-name>
+  </security-role>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/host-manager.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/host-manager.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/host-manager.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<!--
+
+    Context configuration file for the Tomcat Host Manager Web App
+
+    $Id: host-manager.xml 303743 2005-03-11 22:39:26Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/host-manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/asf-logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/asf-logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/design.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/design.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/docs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/docs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/fix.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/fix.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/update.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/update.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/void.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/images/void.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/manager.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/manager.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/host-manager/manager.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<!--
+
+    Context configuration file for the Tomcat Manager Web App
+
+    $Id: manager.xml 303743 2005-03-11 22:39:26Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/catalina-manager.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/catalina-manager.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/commons-fileupload-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/lib/commons-fileupload-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Manager Application</display-name>
+  <description>
+    A scriptable management web application for the Tomcat Web Server;
+	Manager lets you view, load/unload/etc particular web applications.
+  </description>
+
+  <!-- Define the Manager Servlet
+       Change servlet-class to: org.apache.catalina.servlets.HTMLManagerServlet
+       to get a Servlet with a more intuitive HTML interface, don't change if you
+       have software that is expected to parse the output from ManagerServlet
+       since they're not compatible.
+   -->
+  <servlet>
+    <servlet-name>Manager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.ManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>HTMLManager</servlet-name>
+    <servlet-class>org.apache.catalina.manager.HTMLManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>2</param-value>
+    </init-param>
+  </servlet>
+  <servlet>
+    <servlet-name>Status</servlet-name>
+    <servlet-class>org.apache.catalina.manager.StatusManagerServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+    </init-param>
+  </servlet>
+
+  <servlet>
+    <servlet-name>JMXProxy</servlet-name>
+    <servlet-class>org.apache.catalina.manager.JMXProxyServlet</servlet-class>
+  </servlet>
+
+  <!-- Define the Manager Servlet Mapping -->
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/list</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/sessions</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/start</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/stop</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/install</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/remove</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/deploy</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/undeploy</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/reload</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/save</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/serverinfo</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/roles</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Manager</servlet-name>
+      <url-pattern>/resources</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>Status</servlet-name>
+    <url-pattern>/status/*</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>JMXProxy</servlet-name>
+      <url-pattern>/jmxproxy/*</url-pattern>
+  </servlet-mapping>
+  <servlet-mapping>
+    <servlet-name>HTMLManager</servlet-name>
+    <url-pattern>/html/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- Define reference to the user database for looking up roles -->
+  <resource-env-ref>
+    <description>
+      Link to the UserDatabase instance from which we request lists of
+      defined role names.  Typically, this will be connected to the global
+      user database with a ResourceLink element in server.xml or the context
+      configuration file for the Manager web application.
+    </description>
+    <resource-env-ref-name>users</resource-env-ref-name>
+    <resource-env-ref-type>
+      org.apache.catalina.UserDatabase
+    </resource-env-ref-type>
+  </resource-env-ref>
+
+  <!-- Define a Security Constraint on this Application -->
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>HTMLManger and Manager command</web-resource-name>
+      <url-pattern>/jmxproxy/*</url-pattern>
+      <url-pattern>/html/*</url-pattern>
+      <url-pattern>/list</url-pattern>
+      <url-pattern>/sessions</url-pattern>
+      <url-pattern>/start</url-pattern>
+      <url-pattern>/stop</url-pattern>
+      <url-pattern>/install</url-pattern>
+      <url-pattern>/remove</url-pattern>
+      <url-pattern>/deploy</url-pattern>
+      <url-pattern>/undeploy</url-pattern>
+      <url-pattern>/reload</url-pattern>
+      <url-pattern>/save</url-pattern>
+      <url-pattern>/serverinfo</url-pattern>
+      <url-pattern>/status/*</url-pattern>
+      <url-pattern>/roles</url-pattern>
+      <url-pattern>/resources</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+       <!-- NOTE:  This role is not present in the default users file -->
+       <role-name>manager</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <!-- Define the Login Configuration for this Application -->
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>Tomcat Manager Application</realm-name>
+  </login-config>
+
+  <!-- Security roles referenced by this web application -->
+  <security-role>
+    <description>
+      The role that is required to log in to the Manager Application
+    </description>
+    <role-name>manager</role-name>
+  </security-role>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/html-manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/html-manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/html-manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,518 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Manager How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Manager How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments it is very useful to have the capability
+to manage your web applications without having to shut down and restart
+Tomcat.  This document is for the HTML web interface to the web application
+manager.</p>
+
+<p>The interface is divided into five sections:
+<ul>
+  <li><strong>Message</strong> - Displays success and failure messages.</li>
+  <li><strong>Manager</strong> - General manager operations like list and
+      help.</li>
+  <li><strong>Applications</strong> - List of web applications and
+      commands.</li>
+  <li><strong>Deploy</strong> - Deploying web applications.</li>
+  <li><strong>Server Information</strong> - Information about the Tomcat
+      server.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Message"><strong>Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Displays information about the success or failure of the last web application
+manager command you performed. If it succeeded <strong>OK</strong> is displayed
+and may be followed by a success message. If it failed <strong>FAIL</strong>
+is displayed followed by an error message. Common failure messages are
+documented below for each command.  The complete list of failure messages for
+each command can be found in the manager web
+application documentation.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Manager section has three links:
+<ul>
+  <li><strong>List Applications</strong> - Redisplay a list of web
+      applications.</li>
+  <li><strong>HTML Manager Help</strong> - A link to this document.</li>
+  <li><strong>Manager Help</strong> - A link to the comprehensive Manager
+      App HOW TO.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Applications"><strong>Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Applications section lists information about all the installed web
+applications and provides links for managing them. For each web application
+the following is displayed:
+<ul>
+  <li><strong>Path</strong> - The web applicaton context path.</li>
+  <li><strong>Display Name</strong> - The display name for the web application
+      if it has one configured in its "web.xml" file.</li>
+  <li><strong>Running</strong> - Whether the web application is running and
+      available (true), or not running and unavailable (false).</li>
+  <li><strong>Sessions</strong> - The number of active sessions for remote
+      users of this web application.  The number of sessions is a link which
+      when submitted displays more details about session usage by the web
+      application in the Message box.</li>
+  <li><strong>Commands</strong> - Lists all commands which can be performed on
+      the web application. Only those commands which can be performed will be
+      listed as a link which can be submitted. No commands can be performed on
+      the manager web application itself. The following commands can be
+      performed:
+      <ul>
+        <li><strong>Start</strong> - Start a web application which had been
+            stopped.</li>
+        <li><strong>Stop</strong> - Stop a web application which is currently
+            running and make it unavailable.</li>
+        <li><strong>Reload</strong> - Reload the web application so that new
+            ".jar" files in <code>/WEB-INF/lib/</code> or new classes in
+            <code>/WEB-INF/classes/</code> can be used.</li>
+        <li><strong>Undeploy</strong> - Stop and then remove this web
+             application from the server.</li>
+      </ul>
+  </li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start"><strong>Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop"><strong>Stop</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload"><strong>Reload</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not checked on a reload;
+the previous web.xml configuration is used.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>             
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    installed directly from a WAR file, which happens when the host is 
+    configured to not unpack WAR files. As it only works when the web 
+    application is installed from an unpacked directory, if you are using 
+    a WAR file, you should <code>undeploy</code> and then <code>deploy</code> 
+    the application again to pick up your changes.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy"><strong>Undeploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong><font color="red">WARNING</font> - This command will delete the
+contents of the web application directory and/or ".war" file if it exists within
+the <code>appBase</code> directory (typically "webapps") for this virtual host
+</strong>.  The web application temporary work directory is also deleted.  If
+you simply want to take an application out of service, you should use the
+<code>/stop</code> command instead.</p>
+                             
+<p>Signal an existing application to gracefully shut itself down, and then
+remove it from Tomcat (which also makes this context path available for
+reuse later).  This command is the logical opposite of the
+<code>/deploy</code> Ant command, and the related deploy features available 
+in the HTML manager.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy"><strong>Deploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Web applications can be deployed using files or directories located
+on the Tomcat server or you can upload a web application archive (WAR)
+file to the server.</p>
+
+<p>To install an application, fill in the appropriate fields for the type
+of install you want to do and then submit it using the <i>Install</i>
+button.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy directory or WAR file located on server"><strong>Deploy directory or WAR file located on server</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified <i>Context
+Path:</i> (which must not be in use by any other web application).
+This command is the logical opposite of the <em>Undeploy</em> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Install a web application directory or ".war" file located on the Tomcat
+server. If no <i>Context Path</i> is specified, the directory name or the
+war file name without the ".war" extension is used as the path. The
+<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
+scheme) for either a directory or a web application archive (WAR) file. The
+supported syntax for a URL referring to a WAR file is described on the Javadocs
+page for the <code>java.net.JarURLConnection</code> class.  Use only URLs that
+refer to the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+is deployed as the web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /footoo
+WAR or Directory URL: file:C:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server (running on Unix) is deployed as the web application
+context named <code>/bar</code>. Notice that there is no <code>path</code>
+parameter so the context path defaults to the name of the web application
+archive file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Install a web application directory or ".war" file located in your Host
+appBase directory. If no <i>Context Path</i> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a subdirectory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /bartoo
+WAR or Directory URL: bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true, you can install a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The <i>Context Path</i>
+is not used when installing a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example for Tomcat running on Windows:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Use of the <i>WAR or Directory URL</i> is optional. When used
+to select a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file for Tomcat running on Windows.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:C:/path/to/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server (Tomcat running on Unix).
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Upload a WAR file to install"><strong>Upload a WAR file to install</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Upload a WAR file from your local system and install it into the
+appBase for your Host. The name of the WAR file without the ".war"
+extension is used as the context path name.</p>
+
+<p>Use the <i>Browse</i> button to select a WAR file to upload to the
+server from your local desktop system.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>Upload of a WAR file could fail for the following reasons:</p>
+<ul>
+<li><em>File uploaded must be a .war</em>
+    <blockquote>
+    <p>The upload install will only accept files which have the filename
+    extension of ".war".</p>
+    </blockquote></li>
+<li><em>War file already exists on server</em>
+    <blockquote>
+    <p>If a war file of the same name already exists in your Host's
+    appBase the upload will fail. Either undeploy the existing war file
+    from your Host's appBase or upload the new war file using a different
+    name.</p>
+    </blockquote></li>
+<li><em>File upload failed, no file</em>
+    <blockquote>
+    <p>The file upload failed, no file was received by the server.</p>
+    </blockquote></li>
+<li><em>Install Upload Failed, Exception:</em>
+    <blockquote>
+    <p>The war file upload or install failed with a Java Exception.
+    The exception message will be listed.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment Notes"><strong>Deployment Notes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If the Host is configured with unpackWARs=true and you install a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is deployed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from installing web applications using a configuration XML file and
+also prevents them from installing application directories or ".war"
+files located outside of their Host appBase.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy Message"><strong>Deploy Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If deployment and startup is successful, you will receive a Message
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must either undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <i>WAR or Directory URL:</i> field must
+    identify a directory on this server that contains the "unpacked" version
+    of a web application, or the absolute URL of a web application archive
+    (WAR) file that contains this application.  Correct the value entered for
+    the <i>WAR or Directory URL:</i> field.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a "/" string.</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is deployed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be deployed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to install a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Information"><strong>Server Information</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section displays information about Tomcat, the operating system of
+the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+running in.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/asf-logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/asf-logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/design.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/design.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/docs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/docs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/fix.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/fix.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/update.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/update.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/void.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/images/void.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1267 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Manager App HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Manager App HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Introduction<br>
+
+Configuring Manager Application Access<br>
+Supported Manager Commands<br>
+<blockquote>
+Deploy A New Application Remotely<br>
+Deploy A New Application from a Local Path<br>
+
+List Currently Deployed Applications<br>
+Reload An Existing Application<br>
+List OS and JVM Properties<br>
+
+List Available Global JNDI Resources<br>
+List Available Security Roles<br>
+Session Statistics<br>
+Start an Existing Application<br>
+Stop an Existing Application<br>
+
+Undeploy an Existing Application<br>
+</blockquote>
+
+Executing Manager Commands With Ant<br>
+
+Using the JMX Proxy Servlet<br>
+<blockquote>
+What is JMX Proxy Servlet?<br>
+Query command<br>
+Set command<br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments, it is very useful to have the capability
+to deploy a new web application, or undeploy an existing one, without having
+to shut down and restart the entire container.  In addition, you can request
+an existing application to reload itself, even if you have not declared it
+to be <code>reloadable</code> in the Tomcat 5 server
+configuration file.</p>
+
+<p>To support these capabilities, Tomcat 5 includes a web application
+(installed by default on context path <code>/manager</code>) that supports
+the following functions:</p>
+<ul>
+<li>Deploy a new web application, on a specified context path, from
+    the uploaded contents of a WAR file.</li>
+<li>Deploy a new web application, on a specified context path, from the
+    server file system.</li>
+<li>List the currently deployed web applications, as well as the
+    sessions that are currently active for those web apps.</li>
+<li>Reload an existing web application, to reflect changes in the
+    contents of <code>/WEB-INF/classes</code> or <code>/WEB-INF/lib</code>.
+    </li>
+<li>List the OS and JVM property values.</li>
+<li>List the available global JNDI resources, for use in deployment
+    tools that are preparing <code>&lt;ResourceLink&gt;</code> elements
+    nested in a <code>&lt;Context&gt;</code> deployment description.</li>
+<li>List the available security roles defined in the user database.</li>
+<li>Start a stopped application (thus making it available again).</li>
+<li>Stop an existing application (so that it becomes unavailable), but
+    do not undeploy it.</li>
+<li>Undeploy a deployed web application and delete its document base
+    directory (unless it was deployed from file system).</li>
+</ul>
+
+<p>There are two ways to configure the Manager web application
+<code>Context</code>:
+<ul>
+<li>Install the <code>manager.xml</code> context configuration file
+    in the <code>$CATALINA_HOME/conf/[enginename]/[hostname]</code> folder.
+</li>
+<li>Configure the Manager <code>Context</code> within the
+    <code>Host</code> configuration in your Tomcat <code>server.xml</code>
+    configuration. Here is an example:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+&lt;/Context&gt;
+</pre>
+</li>
+</ul>
+</p>
+
+<p>If you have Tomcat configured to support multiple virtual hosts
+(websites) you would need to configure a Manager for each.</p>
+
+<p>There are three ways to use the <code>Manager</code> web application.
+<ul>
+<li>As an application with a user interface you use in your browser.
+Here is an example URL where you can replace <code>localhost</code> with
+your website host name:  <code>http://localhost/manager/html/</code> .</li>
+<li>A minimal version using HTTP requests only which is suitable for use
+by scripts setup by system administrators.  Commands are given as part of the
+request URI, and responses are in the form of simple text that can be easily
+parsed and processed.  See 
+Supported Manager Commands for more information.</li>
+<li>A convenient set of task definitions for the <em>Ant</em>
+(version 1.4 or later) build tool.  See
+Executing Manager Commands
+With Ant for more information.</li>
+</ul>
+</p>
+
+<p>Future versions of Tomcat 5 will include administrative functionality that
+is presented in (at least) the following forms:
+<ul>
+<li>As web services, so that Tomcat administration can be easily integrated
+    into remote and/or non-Java mnagement environments.</li>
+<li>As a web application with a nice user interface (built on top of the
+    web services processing layer) for easy Tomcat administration via a
+    web browser.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Manager Application Access"><strong>Configuring Manager Application Access</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+anyone on the Internet to execute the Manager application on your server.
+Therefore, the Manager application is shipped with the requirement that anyone
+who attempts to use it must authenticate themselves, using a username and
+password that have the role <strong>manager</strong> associated with them.
+Further, there is no username in the default users file
+(<conf>$CATALINA_HOME/conf/tomcat-users.xml</conf>) that is assigned this
+role.  Therefore, access to the Manager application is completely disabled
+by default.</p>
+
+<p>To enable access to the Manager web application, you must either create
+a new username/password combination and associate the role name
+<strong>manager</strong> with it, or add the <strong>manager</strong> role
+to some existing username/password combination.  Exactly where this is done
+depends on which <code>Realm</code> implementation you are using:</p>
+<ul>
+<li><em>MemoryRealm</em> - If you have not customized your
+    <code>$CATALINA_HOME/conf/server.xml</code> to select a different one,
+    Tomcat 5 defaults to an XML-format file stored at
+    <code>$CATALINA_HOME/conf/tomcat-users.xml</code>, which can be
+    edited with any text editor.  This file contains an XML
+    <code>&lt;user&gt;</code> for each individual user, which might
+    look something like this:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;user name="craigmcc" password="secret" roles="standard,manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which defines the username and password used by this individual to
+    log on, and the role names he or she is associated with.  You can
+    add the <strong>manager</strong> role to the comma-delimited
+    <code>roles</code> attribute for one or more existing users, and/or
+    create new users with that assigned role.</li>
+<li><em>JDBCRealm</em> - Your user and role information is stored in
+    a database accessed via JDBC.  Add the <strong>manager</strong> role
+    to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+<li><em>JNDIRealm</em> - Your user and role information is stored in
+    a directory server accessed via LDAP.  Add the <strong>manager</strong>
+    role to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+</ul>
+
+<p>The first time you attempt to issue one of the Manager commands
+described in the next section, you will be challenged to log on using
+BASIC authentication.  The username and password you enter do not matter,
+as long as they identify a valid user in the users database who possesses
+the role <strong>manager</strong>.</p>
+
+<p>In addition to the password restrictions the manager web application
+could be restricted by the remote IP address or host by adding a
+<code>RemoteAddrValve</code> or <code>RemoteHostValve</code>.  Here is
+an example of restricting access to the localhost by IP address:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+         &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+                allow="127.0.0.1"/&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Manager Commands"><strong>Supported Manager Commands</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>All commands that the Manager application knows how to process are
+specified in a single request URI like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://{host}:{port}/manager/{command}?{parameters}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
+and port number on which Tomcat is running, <code>{command}</code>
+represents the Manager command you wish to execute, and
+<code>{parameters}</code> represents the query parameters
+that are specific to that command.  In the illustrations below, customize
+the host and port appropriately for your installation.</p>
+
+<p>Most commands accept one or more of the following query parameters:</p>
+<ul>
+<li><strong>path</strong> - The context path (including the leading slash)
+    of the web application you are dealing with.  To select the ROOT web
+    application, specify "/".  <strong>NOTE</strong> -
+    It is not possible to perform administrative commands on the
+    Manager application itself.</li>
+<li><strong>war</strong> - URL of a web application archive (WAR) file,
+    pathname of a directory which contains the web application, or a
+    Context configuration ".xml" file.  You can use URLs in any of the
+    following formats:
+    <ul>
+    <li><strong>file:/absolute/path/to/a/directory</strong> - The absolute
+        path of a directory that contains the unpacked version of a web
+        application.  This directory will be attached to the context path
+        you specify without any changes.</li>
+    <li><strong>file:/absolute/path/to/a/webapp.war</strong> - The absolute
+        path of a web application archive (WAR) file.  This is valid
+        <strong>only</strong> for the <code>/deploy</code> command, and is
+        the only acceptable format to that command.</li>
+    <li><strong>jar:file:/absolute/path/to/a/warfile.war!/</strong> - The
+        URL to a local web application archive (WAR) file.  You can use any
+        syntax that is valid for the <code>JarURLConnection</code> class
+        for reference to an entire JAR file.</li>
+    <li><strong>file:/absolute/path/to/a/context.xml</strong> - The
+        absolute path of a web application Context configuration ".xml"
+        file which contains the Context configuration element.</li>
+    <li><strong>directory</strong> - The directory name for the web
+        applciation context in the Host's application base directory.</li>
+    <li><strong>webapp.war</strong> - The name of a web application war file
+        located in the Host's application base directory.</li>
+    </ul></li>
+</ul>
+
+<p>Each command will return a response in <code>text/plain</code> format
+(i.e. plain ASCII with no HTML markup), making it easy for both humans and
+programs to read).  The first line of the response wil begin with either
+<code>OK</code> or <code>FAIL</code>, indicating whether the requested
+command was successful or not.  In the case of failure, the rest of the first
+line will contain a description of the problem that was encountered.  Some
+commands include additional lines of information as described below.</p>
+
+<p><em>Internationalization Note</em> - The Manager application looks up
+its message strings in resource bundles, so it is possible that the strings
+have been translated for your platform.  The examples below show the English
+version of the messages.</p>
+
+<blockquote><em>
+<p><strong>WARNING:</strong>  the legacy commands <code>/install</code> and 
+<code>/remove</code> are deprecated.
+They are presently equivalent to <code>/deploy</code> and <code>/undeploy</code>,
+but could be removed in a future release.</p>
+</em></blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application Remotely"><strong>Deploy A New Application Remotely</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Upload the web application archive (WAR) file that is specified as the
+request data in this HTTP PUT request, install it into the <code>appBase</code>
+directory of our corresponding virtual host, and start it on the context path
+specified by the <code>path</code> request parameter.  If no <code>path</code>
+is specified the directory name or the war file name without the .war extension
+is used as the path.  The application can
+later be undeployed (and the corresponding application directory removed)
+by use of the <code>/undeploy</code>.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>URL parameters include:
+<ul>
+<li><code>update</code>: When set to true, any existing update will be
+    undeployed first. The default value is set to false.</li>
+<li><code>tag</code>: Specifying a tag name, this allows associating the
+    deployed webapp with a version number. The application version can
+    be later redeployed when needed using only the tag.</li>
+</ul>
+</p>
+
+<p><strong>NOTE</strong> - This command is the logical
+opposite of the <code>/undeploy</code> command.</p>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application from a Local Path"><strong>Deploy A New Application from a Local Path</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified context
+<code>path</code> (which must not be in use by any other web application).
+This command is the logical opposite of the <code>/undeploy</code> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a version of a previously deployed webapp</h3>
+
+<p>This can be used to deploy a previous version of a web application, which
+has been deployed using the <code>tag</code> attribute. Note that the work
+directory for the manager webapp will contain the previously deployed WARs;
+removing it would make the deployment fail.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;tag=footag
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Deploy a web application directory or ".war" file located on the Tomcat
+server. If no <code>path</code> is specified, the directory name or the war file
+name without the ".war" extension is used as the path. The <code>war</code>
+parameter specifies a URL (including the <code>file:</code> scheme) for either
+a directory or a web application archive (WAR) file. The supported syntax for
+a URL referring to a WAR file is described on the Javadocs page for the
+<code>java.net.JarURLConnection</code> class.  Use only URLs that refer to
+the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>/path/to/foo</code> on the Tomcat server is deployed as the
+web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;war=file:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server is deployed as the web application context named
+<code>/bar</code>. Notice that there is no <code>path</code> parameter
+so the context path defaults to the name of the web application archive
+file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Deploy a web application directory or ".war" file located in your Host
+appBase directory. If no <code>path</code> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a sub directory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/bartoo&amp;war=bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true you can deploy a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The context <code>path</code>
+is not used when deploying a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="/path/to/application/foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>When the optional <code>war</code> parameter is set to the URL
+for a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=file:/path/bar.war&amp;path=/bar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deployment Notes</h3>
+
+<p>If the Host is configured with unpackWARs=true and you deploy a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is installed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from deploying web applications using a configuration XML file and
+also prevents them from deploying application directories or ".war"
+files located outside of their Host appBase.</p>
+
+
+<h3>Deploy Response</h3>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <code>war</code> parameter must identify a
+    directory on this server that contains the "unpacked" version of a
+    web application, or the absolute URL of a web application archive (WAR)
+    file that contains this application.  Correct the value specified by
+    the <code>war</code> parameter.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the directory or web application that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is installed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be installed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to deploy a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Currently Deployed Applications"><strong>List Currently Deployed Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/list
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the context paths, current status (<code>running</code> or
+<code>stopped</code>), and number of active sessions for all currently
+deployed web applications.  A typical response immediately
+after starting Tomcat might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Listed applications for virtual host localhost
+/webdav:running:0
+/examples:running:0
+/manager:running:0
+/:running:0
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload An Existing Application"><strong>Reload An Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/reload?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not reread on a reload.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    deployed directly from a WAR file.  It only works when the web application
+    is deployed from an unpacked directory.  If you are using a WAR file,
+    you should <code>undeploy</code> and then <code>deploy</code> or
+    <code>deploy</code> with the <code>update</code> parameter the
+    application again to pick up your changes.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List OS and JVM Properties"><strong>List OS and JVM Properties</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/serverinfo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the system properties.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Global JNDI Resources"><strong>List Available Global JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/resources[?type=xxxxx]
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the global JNDI resources that are available for use in resource
+links for context configuration files.  If you specify the <code>type</code>
+request parameter, the value must be the fully qualified Java class name of
+the resource type you are interested in (for example, you would specify
+<code>javax.sql.DataSource</code> to acquire the names of all available
+JDBC data sources).  If you do not specify the <code>type</code> request
+parameter, resources of all types will be returned.</p>
+
+<p>Depending on whether the <code>type</code> request parameter is specfied
+or not, the first line of a normal response will be:</p>
+<pre>
+  OK - Listed global resources of all types
+</pre>
+<p>or</p>
+<pre>
+  OK - Listed global resources of type xxxxx
+</pre>
+<p>followed by one line for each resource.  Each line is composed of fields
+delimited by colon characters (":"), as follows:</p>
+<ul>
+<li><em>Global Resource Name</em> - The name of this global JNDI resource,
+    which would be used in the <code>global</code> attribute of a
+    <code>&lt;ResourceLink&gt;</code> element.</li>
+<li><em>Global Resource Type</em> - The fully qualified Java class name of
+    this global JNDI resource.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the global JNDI
+    resources.  Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>No global JNDI resources are available</em>
+    <blockquote>
+    <p>The Tomcat server you are running has been configured without
+    global JNDI resources.</p>
+    </blockquote></li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Security Roles"><strong>List Available Security Roles</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/roles
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the security role names (and corresponding descriptions) that are
+available in the <code>org.apache.catalina.UserDatabase</code> resource that
+is linked to the <code>users</code> resource reference in the web.xml file
+for the Manager web application.  This would typically be used, for example,
+by a deployment tool that wanted to create
+<code>&lt;security-role-ref&gt;</code> elements to map security role names
+used in a web application to the role names actually defined within the
+container.</p>
+
+<p>By default, the <code>users</code> resource reference is pointed at the
+global <code>UserDatabase</code> resource.  If you choose to utilize a
+different user database per virtual host, you should modify the
+<code>&lt;ResourceLink&gt;</code> element in the default
+<code>manager.xml</code> context configuration file to point at the global
+user database resource for this virtual host.</p>
+
+<p>When this command is executed, the first line of the response will be:</p>
+<pre>
+  OK - Listed security roles
+</pre>
+<p>followed by one line for each security role.  Each line is composed of
+fields delimited by colon characters (":") as follows:</p>
+<ul>
+<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+    in the user database.</li>
+<li><em>Description</em> - Description of this security role (useful in
+    creating user interfaces for selecting roles.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
+    the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
+    resource.  Check the Tomcat log files for a stack trace associated with
+    this error.</li>
+<li><em>No user database is available</em> - You have not configured a resource
+    reference for the <code>users</code> resource that points at an
+    appropriate user database instance.  Check your <code>manager.xml</code>
+    file and ensure that you have created an appropriate
+    <code>&lt;ResourceLink&gt;</code> or
+    <code>&lt;ResourceParams&gt;</code> element for this resource.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Session Statistics"><strong>Session Statistics</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/sessions?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Display the default session timeout for a web application, and the
+number of currently active sessions that fall within ten-minute ranges of
+their actual timeout times.  For example, after restarting Tomcat and then
+executing one of the JSP samples in the <code>/examples</code> web app,
+you might get something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Session information for application at context path /examples
+Default maximum session inactive interval 30 minutes
+30 - &lt;40 minutes:1 sessions
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start an Existing Application"><strong>Start an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/start?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop an Existing Application"><strong>Stop an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/stop?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy an Existing Application"><strong>Undeploy an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/undeploy?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p><strong><font color="red">WARNING</font> - This command will delete any web 
+application artifacts that exist within <code>appBase</code> directory 
+(typically "webapps") for this virtual host</strong>.
+This will delete the the application .WAR, if present, 
+the application directory resulting either from a deploy in unpacked form 
+or from .WAR expansion as well as the XML Context definition from
+<code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory. 
+If you simply want to take an application
+out of service, you should use the <code>/stop</code> command instead.</p>
+
+<p>Signal an existing application to gracefully shut itself down, and
+remove it from Tomcat (which also makes this context path available for
+reuse later).  In addition, the document root directory is removed, if it
+exists in the <code>appBase</code> directory (typically "webapps") for
+this virtual host.  This command is the logical opposite of the
+<code>/deploy</code> command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Executing Manager Commands With Ant"><strong>Executing Manager Commands With Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In addition to the ability to execute Manager commands via HTTP requests,
+as documented above, Tomcat 5 includes a convenient set of Task definitions
+for the <em>Ant</em> (version 1.4 or later) build tool.  In order to use these
+commands, you must perform the following setup operations:</p>
+<ul>
+<li>Download the binary distribution of Ant from
+    http://ant.apache.org.
+    You must use version <strong>1.4</strong> or later.</li>
+<li>Install the Ant distribution in a convenient directory (called
+    ANT_HOME in the remainder of these instructions).</li>
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 5
+    installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
+    </li>
+<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
+    environment variable.</li>
+<li>Configure at least one username/password combination in your Tomcat
+    user database that includes the <code>manager</code> role.</li>
+</ul>
+
+<p>To use custom tasks within Ant, you must declare them first with a
+<code>&lt;taskdef&gt;</code> element.  Therefore, your <code>build.xml</code>
+file might look something like this:</p>
+
+<table border="1">
+<tr><td><pre>
+&lt;project name="My Application" default="compile" basedir="."&gt;
+
+  &lt;!-- Configure the directory into which the web application is built --&gt;
+  &lt;property name="build"    value="${basedir}/build"/&gt;
+
+  &lt;!-- Configure the context path for this application --&gt;
+  &lt;property name="path"     value="/myapp"/&gt;
+
+  &lt;!-- Configure properties to access the Manager application --&gt;
+  &lt;property name="url"      value="http://localhost:8080/manager"/&gt;
+  &lt;property name="username" value="myusername"/&gt;
+  &lt;property name="password" value="mypassword"/&gt;
+
+  &lt;!-- Configure the custom Ant tasks for the Manager application --&gt;
+  &lt;taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/&gt;
+  &lt;taskdef name="list"      classname="org.apache.catalina.ant.ListTask"/&gt;
+  &lt;taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/&gt;
+  &lt;taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/&gt;
+  &lt;taskdef name="roles"     classname="org.apache.catalina.ant.RolesTask"/&gt;
+  &lt;taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/&gt;
+  &lt;taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/&gt;
+  &lt;taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/&gt;
+
+  &lt;!-- Executable Targets --&gt;
+  &lt;target name="compile" description="Compile web application"&gt;
+    &lt;!-- ... construct web application in ${build} subdirectory, and
+            generated a ${path}.war ... --&gt;
+  &lt;/target&gt;
+
+  &lt;target name="deploy" description="Install web application"
+          depends="compile"&gt;
+    &lt;deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="${build}${path}.war"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="reload" description="Reload web application"
+          depends="compile"&gt;
+    &lt;reload  url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="undeploy" description="Remove web application"&gt;
+    &lt;undeploy url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td></tr>
+</table>
+
+<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
+application to a running instance of Tomcat, or <code>ant reload</code> to
+tell Tomcat to reload it.  Note also that most of the interesting values in
+this <code>build.xml</code> file are defined as replaceable properties, so
+you can override their values from the command line.  For example, you might
+consider it a security risk to include the real manager password in your
+<code>build.xml</code> file's source code.  To avoid this, omit the password
+property, and specify it from the command line:</p>
+<pre>
+  ant -Dpassword=secret deploy
+</pre>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tasks output capture"><strong>Tasks output capture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using <em>Ant</em> version <strong>1.6.2</strong> or later,
+the Catalina tasks offer the option to capture their output in 
+properties or external files. They support directly the following subset of the 
+<code>&lt;redirector&gt;</code> type attributes:
+</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">output</td>
+<td valign="top">Name of a file to which to write the output. If
+the error stream is not also redirected to a file or property, it will
+appear in this output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">error</td>
+<td valign="top">The file to which the standard error of the
+command should be redirected.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">logError</td>
+<td valign="top">This attribute is used when you wish to see
+error output in Ant's log and you are redirecting output to a
+file/property. The error output will not be included in the output
+file/property. If you redirect error with the <i>error</i> or <i>errorProperty</i>
+attributes, this will have no effect.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">append</td>
+<td valign="top">Whether output and error files should be
+appended to or overwritten. Defaults to <code>false</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">createemptyfiles</td>
+<td valign="top">Whether output and error files should be created
+even when empty. Defaults to <code>true</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">outputproperty</td>
+<td valign="top">The name of a property in which the output of
+the command should be stored. Unless the error stream is redirected to
+a separate file or stream, this property will include the error output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">errorproperty</td>
+<td valign="top">The name of a property in which the standard
+error of the command should be stored.</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>A couple of additional attributes can also be specified:
+</p>
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">alwaysLog</td>
+<td valign="top">This attribute is used when you wish to see the
+output you are capturing, appearing also in the Ant's log. It must not be
+used unless you are capturing task output.
+Defaults to <code>false</code>.
+<em>This attribute will be supported directly by <code>&lt;redirector&gt;</code>
+in Ant 1.6.3</em></td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">failonerror</td>
+<td valign="top">This attribute is used when you wish to avoid that
+any manager command processing error terminates the ant execution. Defaults to <code>true</code>.
+It must be set to <code>false</code>, if you want to capture error output,
+otherwise execution will terminate before anything can be captured.
+<br>
+This attribute acts only on manager command execution,
+any wrong or missing command attribute will still cause Ant execution termination.
+</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>They also support the embedded <code>&lt;redirector&gt;</code> element
+in which you can specify
+its full set of attributes, but <code>input</code>, <code>inputstring</code> and 
+<code>inputencoding</code> that, even if accepted, are not used because they have
+no meaning in this context.
+Refer to ant manual for details on 
+<code>&lt;redirector&gt;</code> element attributes.
+</p>
+
+<p>
+Here is a sample build file extract that shows how this output redirection support
+can be used:
+</p>
+
+<table border="1">
+<tr><td><pre>
+	&lt;target name="manager.deploy"
+		depends="context.status"
+		if="context.notInstalled"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			path="${mgr.context.path}"
+			config="${mgr.context.descriptor}"/&gt;
+	&lt;/target&gt;
+
+	&lt;target name="manager.deploy.war"
+		depends="context.status"
+		if="context.deployable"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			update="${mgr.update}"
+			path="${mgr.context.path}"
+			war="${mgr.war.file}"/&gt;
+	&lt;/target&gt;
+	
+	&lt;target name="context.status"&gt;
+		&lt;property name="running" value="${mgr.context.path}:running"/&gt;
+		&lt;property name="stopped" value="${mgr.context.path}:stopped"/&gt;
+	
+		&lt;list url="${mgr.url}"
+			outputproperty="ctx.status"
+			username="${mgr.username}"
+			password="${mgr.password}"&gt;
+		&lt;/list&gt;
+		
+		&lt;condition property="context.running"&gt;
+			&lt;contains string="${ctx.status}" substring="${running}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.stopped"&gt;
+			&lt;contains string="${ctx.status}" substring="${stopped}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.notInstalled"&gt;
+			&lt;and&gt;
+				&lt;isfalse value="${context.running}"/&gt;
+				&lt;isfalse value="${context.stopped}"/&gt;
+			&lt;/and&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.deployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.notInstalled}"/&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.running}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.stopped}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.undeployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.running}"/&gt;
+				&lt;istrue value="${context.stopped}"/&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+	&lt;/target&gt;
+</pre></td></tr>
+</table>
+
+<p><strong>WARNING:</strong> even if it doesn't make many sense, and is always a bad idea,
+calling a Catalina task more than once,
+badly set Ant tasks depends chains may cause that a task be called
+more than once in the same Ant run, even if not intended to. A bit of caution should be exercised when you are
+capturing output from that task, because this could lead to something unexpected:
+<ul>
+<li>when capturing in a property you will find in it only the output from the <em>first</em> call, because
+Ant properties are immutable and once set they cannot be changed,
+</li>
+<li>when capturing in a file, each run will overwrite it and you will find in it only the <em>last</em> call
+output, unless you are using the <code>append="true"</code> attribute, in which case you will
+see the output of each task call appended to the file.
+</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JMX Proxy Servlet"><strong>Using the JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is JMX Proxy Servlet"><strong>What is JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+    The JMX Proxy Servlet is a lightweight proxy to get and set the
+    tomcat internals. (Or any class that has been exposed via an MBean)
+    Its usage is not very user friendly but the UI is
+    extremely help for integrating command line scripts for monitoring
+    and changing the internals of tomcat. You can do two things with the proxy:
+    get information and set information. For you to really understand the
+    JMX Proxy Servlet, you should have a general understanding of JMX.
+    If you don't know what JMX is, then prepare to be confused.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Query command"><strong>JMX Query command</strong></a></font></td></tr><tr><td><blockquote>
+    This takes the form:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?qry=STUFF
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    Where <code>STUFF</code> is the JMX query you wish to perform. For example,
+    here are some queries you might wish to run:
+    <ul>
+      <li>
+        <code>qry=*%3Atype%3DRequestProcessor%2C* --&gt;
+         type=RequestProcessor</code> which will locate all
+         workers which can process requests and report
+         their state.
+      </li>
+      <li>
+        <code>qry=*%3Aj2eeType=Servlet%2c* --&gt;
+            j2eeType=Servlet</code> which return all loaded servlets.
+      </li>
+      <li>
+        <code>qry=Catalina%3Atype%3DEnvironment%2Cresourcetype%3DGlobal%2Cname%3DsimpleValue --&gt;
+            Catalina:type=Environment,resourcetype=Global,name=simpleValue</code>
+            which look for a specific MBean by the given name.
+      </li>
+    </ul>
+    You'll need to experiment with this to really understand its capabilites.
+    If you provide no <code>qry</code> parameter, then all of the MBeans will
+    be displayed. We really recommend looking at the tomcat source code and
+    understand the JMX spec to get a better understanding of all the queries
+    you may run.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Set command"><strong>JMX Set command</strong></a></font></td></tr><tr><td><blockquote>
+    Now that you can query an MBean, its time to muck with Tomcat's internals!
+    The general form of the set command is :
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?set=BEANNAME&amp;att=MYATTRIBUTE&amp;val=NEWVALUE
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    So you need to provide 3 request parameters:
+    <ol>
+      <li><code>set</code>: The full bean name</li>
+      <li><code>att</code>: The attribute you wish to alter</li>
+      <li><code>val</code>: The new value </li>
+    </ol>
+    If all goes ok, then it will say OK, otherwise an error message will be
+    shown. For example, lets say we wish to turn up debugging on the fly for the
+    <code>ErrorReportValve</code>. The following will set debugging to 10.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=10
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    and my result is (YMMV):
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Result: ok
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    Here is what I see if I pass in a bad value. Here is the URL I used,
+    I try set debugging equal to 'cowbell':
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=cowbell
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    When I try that, my result is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Error: java.lang.NumberFormatException: For input string: "cowbell"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/manager.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!--
+
+    Context configuration file for the Tomcat Manager Web App
+
+    $Id: manager.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context docBase="${catalina.home}/server/webapps/manager"
+         privileged="true" antiResourceLocking="false" antiJARLocking="false">
+
+  <!-- Link to the user database we will get roles from -->
+  <ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/>
+
+</Context>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/status.xsd
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/status.xsd	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/status.xsd	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by peter lin (consultant) -->
+<!--W3C Schema generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
+	<xs:complexType name="connector">
+		<xs:sequence>
+			<xs:element name="threadInfo" type="threadInfo"/>
+			<xs:element name="requestInfo" type="requestInfo"/>
+			<xs:element name="workers" type="workers"/>
+		</xs:sequence>
+		<xs:attribute name="name" type="xs:string" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="jvm">
+		<xs:sequence>
+			<xs:element name="memory" type="memory"/>
+		</xs:sequence>
+	</xs:complexType>
+	<xs:complexType name="memory">
+		<xs:attribute name="free" type="xs:long" use="required"/>
+		<xs:attribute name="total" type="xs:long" use="required"/>
+		<xs:attribute name="max" type="xs:long" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="requestInfo">
+		<xs:attribute name="maxTime" type="xs:long" use="required"/>
+		<xs:attribute name="processingTime" type="xs:int" use="required"/>
+		<xs:attribute name="requestCount" type="xs:long" use="required"/>
+		<xs:attribute name="errorCount" type="xs:long" use="required"/>
+		<xs:attribute name="bytesReceived" type="xs:long" use="required"/>
+		<xs:attribute name="bytesSent" type="xs:long" use="required"/>
+	</xs:complexType>
+	<xs:element name="status">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="jvm" type="jvm"/>
+				<xs:element name="connector" type="connector"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+	<xs:complexType name="threadInfo">
+		<xs:attribute name="maxThreads" type="xs:int" use="required"/>
+		<xs:attribute name="minSpareThreads" type="xs:int" use="required"/>
+		<xs:attribute name="maxSpareThreads" type="xs:int" use="required"/>
+		<xs:attribute name="currentThreadCount" type="xs:int" use="required"/>
+		<xs:attribute name="currentThreadsBusy" type="xs:int" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="worker">
+		<xs:attribute name="stage" type="xs:string" use="required"/>
+		<xs:attribute name="requestProcessingTime" type="xs:int" use="required"/>
+		<xs:attribute name="requestBytesSent" type="xs:long" use="required"/>
+		<xs:attribute name="requestBytesRecieved" type="xs:long" use="required"/>
+		<xs:attribute name="remoteAddr" type="xs:string" use="required"/>
+		<xs:attribute name="virtualHost" type="xs:string" use="required"/>
+		<xs:attribute name="method" type="xs:string" use="required"/>
+		<xs:attribute name="currentUri" type="xs:string" use="required"/>
+		<xs:attribute name="currentQueryString" type="xs:string" use="required"/>
+		<xs:attribute name="protocol" type="xs:string" use="required"/>
+	</xs:complexType>
+	<xs:complexType name="workers">
+		<xs:sequence>
+			<xs:element name="worker" type="worker"/>
+		</xs:sequence>
+	</xs:complexType>
+</xs:schema>

Added: cs/trunk/apps-local/apache-tomcat/server/webapps/manager/xform.xsl
===================================================================
--- cs/trunk/apps-local/apache-tomcat/server/webapps/manager/xform.xsl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/server/webapps/manager/xform.xsl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,96 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0">
+
+  <!-- Output method -->
+  <xsl:output encoding="iso-8859-1"
+              indent="no"/>
+
+  <xsl:template match="status">
+    <html>
+    <head>
+    	<TITLE>Tomcat Status</TITLE>
+		<STYLE type="text/css">
+			body, table, tr, td, a, div, span {
+				vertical-align : top;
+			}
+		</STYLE>
+    </head>
+    <body>
+      <div style='font-size:20px;'>Tomcat Status</div>
+
+      <xsl:apply-templates select="jvm"/>
+      <xsl:apply-templates select="connector"/>
+     </body>
+    </html>
+  </xsl:template>
+
+  <xsl:template match="jvm">
+   <xsl:apply-templates select="memory"/>
+  </xsl:template>
+
+  <xsl:template match="memory">
+    <table><tr>
+    		 <td><b>JVM:</b></td>
+    		 <td><b>free:</b> <xsl:value-of select="@free"/></td>
+    		 <td><b>total:</b> <xsl:value-of select="@total"/></td>
+    		 <td><b>max:</b> <xsl:value-of select="@max"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="connector">
+	 <b>Connector -- </b> <xsl:value-of select="@name"/><br />
+
+  	<xsl:apply-templates select="threadInfo"/>
+  	<xsl:apply-templates select="requestInfo"/>
+  	<xsl:apply-templates select="workers"/>
+  </xsl:template>
+
+  <xsl:template match="threadInfo">
+    <table><tr>
+    		 <td><b>threadInfo </b></td>
+    		 <td><b>maxThreads:</b> <xsl:value-of select="@maxThreads"/></td>
+    		 <td><b>minSpareThreads:</b> <xsl:value-of select="@minSpareThreads"/></td>
+    		 <td><b>maxSpareThreads:</b> <xsl:value-of select="@maxSpareThreads"/></td>
+    		 <td><b>currentThreadCount:</b> <xsl:value-of select="@currentThreadCount"/></td>
+    		 <td><b>currentThreadsBusy:</b> <xsl:value-of select="@currentThreadsBusy"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="requestInfo">
+    <table><tr>
+    		 <td><b>requestInfo </b></td>
+    		 <td><b>maxTime:</b> <xsl:value-of select="@maxTime"/></td>
+    		 <td><b>processingTime:</b> <xsl:value-of select="@processingTime"/></td>
+    		 <td><b>requestCount:</b> <xsl:value-of select="@requestCount"/></td>
+    		 <td><b>errorCount:</b> <xsl:value-of select="@errorCount"/></td>
+    		 <td><b>bytesReceived:</b> <xsl:value-of select="@bytesReceived"/></td>
+    		 <td><b>bytesSent:</b> <xsl:value-of select="@bytesSent"/></td>
+    	   </tr>
+    </table><hr />
+  </xsl:template>
+
+  <xsl:template match="workers">
+   <table>
+    <tr><th>Stage</th><th>Time</th><th>B Sent</th><th>B Recv</th><th>Client</th><th>VHost</th><th>Request</th></tr>
+  	<xsl:apply-templates select="worker"/>
+
+   </table><hr />
+  </xsl:template>
+
+  <xsl:template match="worker">
+   <tr>
+    <td><xsl:value-of select="@stage"/></td>
+    <td><xsl:value-of select="@requestProcessingTime"/></td>
+    <td><xsl:value-of select="@requestBytesSent"/></td>
+    <td><xsl:value-of select="@requestBytesReceived"/></td>
+    <td><xsl:value-of select="@remoteAddr"/></td>
+    <td><xsl:value-of select="@virtualHost"/></td>
+    <td><xsl:value-of select="@method"/> <xsl:value-of select="@currentUri"/>?<xsl:value-of select="@currentQueryString"/> <xsl:value-of select="@protocol"/></td>
+   </tr>
+  </xsl:template>
+
+</xsl:stylesheet>

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/activation.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/activation.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/ant-contrib-0.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/ant-contrib-0.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/antlr-2.7.6.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/antlr-2.7.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/asm-attrs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/asm-attrs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/asm.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/asm.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/aspectjrt.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/aspectjrt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/c3p0-0.9.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/c3p0-0.9.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/castor-1.0.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/castor-1.0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/cglib-2.1.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/cglib-2.1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-beanutils-1.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-beanutils-1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-fileupload-1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-fileupload-1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-httpclient-2.0.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-httpclient-2.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-io-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-io-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-logging-1.0.4.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/commons-logging-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/concurrent-1.3.4.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/concurrent-1.3.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/dom4j-1.6.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/dom4j-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/ehcache-1.2.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/ehcache-1.2.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-ant-tools-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-ant-tools-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-core-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-coreportlets-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-coreportlets-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-jsp-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-jsp-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-locale-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-locale-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-api-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portal-api-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portletservlet-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-portletservlet-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-provider-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-provider-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/gridsphere-service-framework-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/hibernate3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/hibernate3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/hsqldb-1.7.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/hsqldb-1.7.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-core-1.1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-core-1.1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-jcr-commons-1.1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jackrabbit-jcr-commons-1.1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-oro.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-oro.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-regexp-1.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jakarta-regexp-1.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jcommon-0.9.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jcommon-0.9.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jcr-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jcr-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jdom-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jdom-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-0.9.18.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-xml-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jfreechart-xml-0.9.18.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/jta.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/jta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/log4j-1.2.11.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/log4j-1.2.11.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/lsimplecaptcha-20070214.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/lsimplecaptcha-20070214.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/lucene-1.4.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/lucene-1.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/mail.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/mail.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/mysql-connector-java-5.0.5-bin.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/mysql-connector-java-5.0.5-bin.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/portals-bridges-common-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/portals-bridges-common-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/radeox.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/radeox.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/rome-0.9.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/rome-0.9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/serializer.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/serializer.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/simplegrid_cig-services.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/simplegrid_cig-services.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/slf4j-log4j12-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/slf4j-log4j12-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/xalan.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/xalan.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/shared/lib/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/shared/lib/xercesImpl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/temp/bugzilla37035-safeToDelete.tmp
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PersistencePreferenceAttribute.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PersistencePreferenceAttribute.values.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PortletPreferencesImpl.attributes.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.portlet.impl.PortletPreferencesImpl.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.request.impl.GenericRequest.attributes.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.request.impl.GenericRequest.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry.attributes.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.group.PortletGroup.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.group.impl.UserGroup.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.password.impl.PasswordImpl.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.role.PortletRole.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.security.role.impl.UserRole.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.user.impl.UserImpl.attributes.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/temp/org.gridsphere.services.core.user.impl.UserImpl.data
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/META-INF/MANIFEST.MF
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/RELEASE-NOTES.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/ROOT/RELEASE-NOTES.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/ROOT/RELEASE-NOTES.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+
+
+                     Apache Tomcat Version 5.5.23
+                            Release Notes
+
+
+$Id: RELEASE-NOTES 439327 2006-09-01 14:06:34Z fhanik $
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
+configuration to run on J2SE 1.4.  Make sure to read the "RUNNING.txt" 
+file in the fulldocs downloadable file(s) if you are using J2SE 1.4.
+
+In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 5.5 makes all of the following APIs available
+for use by web applications (by placing them in "common/lib" or "shared/lib"):
+* commons-el.jar (Commons Expression Language 1.0)
+* commons-logging-api.jar (Commons Logging API 1.0.x)
+* jasper-compiler.jar (Jasper 2 Compiler)
+* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
+* jasper-runtime.jar (Jasper 2 Runtime)
+* jsp-api.jar (JSP 2.0 API)
+* naming-common.jar (JNDI Context implementation)
+* naming-factory.jar (JNDI object factories for J2EE ENC support)
+* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
+* naming-resources.jar (JNDI DirContext implementations)
+* servlet-api.jar (Servlet 2.4 API)
+
+Installing the compatibility package will add the following to the list, which are
+needed when running on J2SE 1.4:
+* jmx.jar (Java Management Extensions API 1.2 or later)
+* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"common/endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+Please note, that these are only recommendations and may not apply in some cases.
+Before you change this variable, make sure you understand its impact, and what it does.
+A brief explanation can be found in the mailing archives at 
+http://marc.theaimsgroup.com/?l=tomcat-dev&m=115689139313901&w=2
+For further assistance, please consult your JVM vendor.
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/lib/catalina-root.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/lib/catalina-root.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/ROOT/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Welcome to Tomcat</display-name>
+  <description>
+     Welcome to Tomcat
+  </description>
+
+<!-- JSPC servlet mappings start -->
+
+    <servlet>
+        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
+        <url-pattern>/index.jsp</url-pattern>
+    </servlet-mapping>
+
+<!-- JSPC servlet mappings end -->
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/admin/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/ROOT/admin/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/ROOT/admin/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+    <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Administration</title>
+</head>
+
+<body>
+
+Tomcat's administration web application is no longer installed by default. Download and install 
+the "admin" package to use it.
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/asf-logo-wide.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/asf-logo-wide.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/favicon.ico
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/favicon.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/index.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/ROOT/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/ROOT/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<%@ page session="false" %>
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+    <head>
+    <title><%= application.getServerInfo() %></title>
+    <style type="text/css">
+    /*<![CDATA[*/
+      body {
+          color: #000000;
+          background-color: #FFFFFF;
+	  font-family: Arial, "Times New Roman", Times, serif;
+          margin: 10px 0px;
+      }
+
+    img {
+       border: none;
+    }
+    
+    a:link, a:visited {
+        color: blue
+    }
+
+    th {
+        font-family: Verdana, "Times New Roman", Times, serif;
+        font-size: 110%;
+        font-weight: normal;
+        font-style: italic;
+        background: #D2A41C;
+        text-align: left;
+    }
+
+    td {
+        color: #000000;
+	font-family: Arial, Helvetica, sans-serif;
+    }
+    
+    td.menu {
+        background: #FFDC75;
+    }
+
+    .center {
+        text-align: center;
+    }
+
+    .code {
+        color: #000000;
+        font-family: "Courier New", Courier, monospace;
+        font-size: 110%;
+        margin-left: 2.5em;
+    }
+    
+     #banner {
+        margin-bottom: 12px;
+     }
+
+     p#congrats {
+         margin-top: 0;
+         font-weight: bold;
+         text-align: center;
+     }
+
+     p#footer {
+         text-align: right;
+         font-size: 80%;
+     }
+     /*]]>*/
+   </style>
+</head>
+
+<body>
+
+<!-- Header -->
+<table id="banner" width="100%">
+    <tr>
+      <td align="left" style="width:130px">
+        <a href="http://tomcat.apache.org/">
+	  <img src="tomcat.gif" height="92" width="130" alt="The Mighty Tomcat - MEOW!"/>
+	</a>
+      </td>
+      <td align="left" valign="top"><b><%= application.getServerInfo() %></b></td>
+      <td align="right">
+        <a href="http://jakarta.apache.org/">
+	  <img src="asf-logo-wide.gif" height="51" width="537" alt="The Apache Software Foundation"/>
+	</a>
+       </td>
+     </tr>
+</table>
+
+<table>
+    <tr>
+
+        <!-- Table of Contents -->
+        <td valign="top">
+            <table width="100%" border="1" cellspacing="0" cellpadding="3">
+                <tr>
+		  <th>Administration</th>
+                </tr>
+                <tr>
+		  <td class="menu">
+		    <a href="manager/status">Status</a><br/>
+                    <a href="admin">Tomcat&nbsp;Administration</a><br/>
+                    <a href="manager/html">Tomcat&nbsp;Manager</a><br/>
+                    &nbsp;
+                  </td>
+                </tr>
+            </table>
+
+	    <br />
+            <table width="100%" border="1" cellspacing="0" cellpadding="3">
+                <tr>
+		  <th>Documentation</th>
+                </tr>
+                <tr>
+                  <td class="menu">
+                    <a href="RELEASE-NOTES.txt">Release&nbsp;Notes</a><br/>
+                    <a href="tomcat-docs/changelog.html">Change&nbsp;Log</a><br/>
+                    <a href="tomcat-docs">Tomcat&nbsp;Documentation</a><br/>                        &nbsp;
+                    &nbsp;
+		    </td>
+                </tr>
+            </table>
+	    
+            <br/>
+            <table width="100%" border="1" cellspacing="0" cellpadding="3">
+                <tr>
+                  <th>Tomcat Online</th>
+                </tr>
+                <tr>
+                  <td class="menu">
+                    <a href="http://tomcat.apache.org/">Home&nbsp;Page</a><br/>
+		    <a href="http://tomcat.apache.org/faq/">FAQ</a><br/>
+                    <a href="http://tomcat.apache.org/bugreport.html">Bug&nbsp;Database</a><br/>
+                    <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=RESOLVED&amp;resolution=LATER&amp;resolution=REMIND&amp;resolution=---&amp;bugidtype=include&amp;product=Tomcat+5&amp;cmdtype=doit&amp;order=Importance">Open Bugs</a><br/>
+                    <a href="http://mail-archives.apache.org/mod_mbox/tomcat-users/">Users&nbsp;Mailing&nbsp;List</a><br/>
+                    <a href="http://mail-archives.apache.org/mod_mbox/tomcat-dev/">Developers&nbsp;Mailing&nbsp;List</a><br/>
+                    <a href="irc://irc.freenode.net/#tomcat">IRC</a><br/>
+		    &nbsp;
+                  </td>
+                </tr>
+            </table>
+	    
+            <br/>
+            <table width="100%" border="1" cellspacing="0" cellpadding="3">
+                <tr>
+                  <th>Examples</th>
+                </tr>
+                <tr>
+                  <td class="menu">
+                    <a href="jsp-examples/">JSP&nbsp;Examples</a><br/>
+                    <a href="servlets-examples/">Servlet&nbsp;Examples</a><br/>
+                    <a href="webdav/">WebDAV&nbsp;capabilities</a><br/>
+     		    &nbsp;
+                  </td>
+                </tr>
+            </table>
+	    
+            <br/>
+            <table width="100%" border="1" cellspacing="0" cellpadding="3">
+                <tr>
+		  <th>Miscellaneous</th>
+                </tr>
+                <tr>
+                  <td class="menu">
+                    <a href="http://java.sun.com/products/jsp">Sun's&nbsp;Java&nbsp;Server&nbsp;Pages&nbsp;Site</a><br/>
+                    <a href="http://java.sun.com/products/servlet">Sun's&nbsp;Servlet&nbsp;Site</a><br/>
+    		    &nbsp;
+                  </td>
+                </tr>
+            </table>
+        </td>
+
+        <td style="width:20px">&nbsp;</td>
+	
+        <!-- Body -->
+        <td align="left" valign="top">
+          <p id="congrats">If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!</p>
+ 
+          <p>As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at:</p>
+          <p class="code">$CATALINA_HOME/webapps/ROOT/index.jsp</p>
+	  
+          <p>where "$CATALINA_HOME" is the root of the Tomcat installation directory. If you're seeing this page, and you don't think you should be, then either you're either a user who has arrived at new installation of Tomcat, or you're an administrator who hasn't got his/her setup quite right. Providing the latter is the case, please refer to the <a href="tomcat-docs">Tomcat Documentation</a> for more detailed setup and administration information than is found in the INSTALL file.</p>
+
+            <p><b>NOTE:</b> This page is precompiled. If you change it, this page will not change since
+                  it was compiled into a servlet at build time.
+                  (See <tt>$CATALINA_HOME/webapps/ROOT/WEB-INF/web.xml</tt> as to how it was mapped.)
+            </p>
+
+            <p><b>NOTE: For security reasons, using the administration webapp
+            is restricted to users with role "admin". The manager webapp
+            is restricted to users with role "manager".</b>
+            Users are defined in <code>$CATALINA_HOME/conf/tomcat-users.xml</code>.</p>
+
+            <p>Included with this release are a host of sample Servlets and JSPs (with associated source code), extensive documentation (including the Servlet 2.4 and JSP 2.0 API JavaDoc), and an introductory guide to developing web applications.</p>
+
+            <p>Tomcat mailing lists are available at the Tomcat project web site:</p>
+
+           <ul>
+               <li><b><a href="mailto:users at tomcat.apache.org">users at tomcat.apache.org</a></b> for general questions related to configuring and using Tomcat</li>
+               <li><b><a href="mailto:dev at tomcat.apache.org">dev at tomcat.apache.org</a></b> for developers working on Tomcat</li>
+           </ul>
+
+            <p>Thanks for using Tomcat!</p>
+
+            <p id="footer"><img src="tomcat-power.gif" width="77" height="80" alt="Powered by Tomcat"/><br/>
+	    &nbsp;
+
+	    Copyright &copy; 1999-2005 Apache Software Foundation<br/>
+            All Rights Reserved
+            </p>
+        </td>
+
+    </tr>
+</table>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat-power.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat-power.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/ROOT/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/mypackage/Hello.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/classes/mypackage/Hello.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage/Hello.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage/Hello.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/src/mypackage/Hello.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package mypackage;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Enumeration;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Simple servlet to validate that the Hello, World example can
+ * execute servlets.  In the web application deployment descriptor,
+ * this servlet must be mapped to correspond to the link in the
+ * "index.html" file.
+ *
+ * @author Craig R. McClanahan <Craig.McClanahan at eng.sun.com>
+ */
+
+public final class Hello extends HttpServlet {
+
+
+    /**
+     * Respond to a GET request for the content produced by
+     * this servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param response The servlet response we are producing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+      throws IOException, ServletException {
+
+	response.setContentType("text/html");
+	PrintWriter writer = response.getWriter();
+
+	writer.println("<html>");
+	writer.println("<head>");
+	writer.println("<title>Sample Application Servlet Page</title>");
+	writer.println("</head>");
+	writer.println("<body bgcolor=white>");
+
+	writer.println("<table border=\"0\">");
+	writer.println("<tr>");
+	writer.println("<td>");
+	writer.println("<img src=\"images/tomcat.gif\">");
+	writer.println("</td>");
+	writer.println("<td>");
+	writer.println("<h1>Sample Application Servlet</h1>");
+	writer.println("This is the output of a servlet that is part of");
+	writer.println("the Hello, World application.  It displays the");
+	writer.println("request headers from the request we are currently");
+	writer.println("processing.");
+	writer.println("</td>");
+	writer.println("</tr>");
+	writer.println("</table>");
+
+	writer.println("<table border=\"0\" width=\"100%\">");
+	Enumeration names = request.getHeaderNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.println("<tr>");
+	    writer.println("  <th align=\"right\">" + name + ":</th>");
+	    writer.println("  <td>" + request.getHeader(name) + "</td>");
+	    writer.println("</tr>");
+	}
+	writer.println("</table>");
+
+	writer.println("</body>");
+	writer.println("</html>");
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>Hello, World Application</display-name>
+    <description>
+	This is a simple web application with a source code organization
+	based on the recommendations of the Application Developer's Guide.
+    </description>
+
+    <servlet>
+        <servlet-name>HelloServlet</servlet-name>
+        <servlet-class>mypackage.Hello</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>HelloServlet</servlet-name>
+        <url-pattern>/hello</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/balancer/META-INF/context.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/balancer/META-INF/context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/balancer/META-INF/context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<!--
+
+    Context configuration file for the Tomcat Balancer Web App
+    This is only needed to keep the distribution small and avoid duplicating
+    commons libraries
+
+    $Id: context.xml 303123 2004-08-26 17:03:35Z remm $
+
+-->
+
+
+<Context privileged="true" antiResourceLocking="false" antiJARLocking="false" />

Added: cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config/rules.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config/rules.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/config/rules.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<rules>
+  <!-- If the URL contains News (case-sensitive), go to CNN.com -->
+  <rule className="org.apache.webapp.balancer.rules.URLStringMatchRule"
+    targetString="News"
+    redirectUrl="http://www.cnn.com" />
+
+  <!-- If the request contains a parameter named paramName whose value
+       is paramValue, go to Yahoo.com. -->
+  <rule className="org.apache.webapp.balancer.rules.RequestParameterRule"
+    paramName="paramName"
+    paramValue="paramValue"
+    redirectUrl="http://www.yahoo.com" />
+
+  <!-- Redirect all requests to jakarta.apache.org. -->
+  <rule className="org.apache.webapp.balancer.rules.AcceptEverythingRule"
+    redirectUrl="http://jakarta.apache.org" />
+</rules>

Added: cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/lib/catalina-balancer.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/lib/catalina-balancer.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/balancer/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Simple Load Balancer Example App</display-name>
+  <description>
+    Tomcat Simple Load Balancer Example App
+  </description>
+
+  <!-- BalancerFilter definition -->
+  <filter>
+    <filter-name>BalancerFilter</filter-name>
+    <filter-class>org.apache.webapp.balancer.BalancerFilter</filter-class>
+    <init-param>
+      <param-name>configUrl</param-name>
+      <param-value>/WEB-INF/config/rules.xml</param-value>
+    </init-param>
+  </filter>
+
+  <!-- BalancerFilter mapping -->
+  <filter-mapping>
+    <filter-name>BalancerFilter</filter-name>
+    <url-pattern>/*</url-pattern>
+  </filter-mapping>
+</web-app>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/LICENSE.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/LICENSE.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/LICENSE.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,202 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2002-2006 Team GridSphere
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/context.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<Context path="/gridsphere" debug="0" reloadable="false" crossContext="true"/>
+
+<!-- 
+
+<Context path="/gridsphere" debug="0" reloadable="false" crossContext="true">
+        <Manager className="org.apache.catalina.session.StandardManager" pathname=""/>
+</Context>
+
+-->

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portlet.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portlet</short-name>
+    <uri>http://java.sun.com/portlet</uri>
+    <display-name>Portlet API</display-name>
+    <description>GridSphere JSR-168 Portlet API Tag library</description>
+
+    <tag>
+        <name>defineObjects</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag</tag-class>
+        <tei-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag$TEI</tei-class>
+        <body-content>empty</body-content>
+        <description>
+            Initializes Core Portlet Objects: RenderRequest, RenderResponse, PortletConfig
+        </description>
+    </tag>
+
+    <tag>
+        <name>renderURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.RenderURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides a render hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>actionURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.ActionURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides action hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>namespace</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.NamespaceTag</tag-class>
+        <body-content>empty</body-content>
+    </tag>
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portletui.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2453 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portletui</short-name>
+    <uri>/portletUI</uri>
+    <display-name>Portlet UI Tags</display-name>
+    <description>GridSphere Visual Portlet UI Tag Library</description>
+
+    <tag>
+        <name>hasrole</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HasRoleTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            requires the user have the minimum role specified to display content
+        </description>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- @DEPRECATED@ -->
+    <tag>
+        <name>actionparam</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet action link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionsubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imageSrc</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>calendar</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CalendarTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a calendar input widget
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>checkbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CheckboxTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input checkbox tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialogbutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogButtonTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialoglink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileform</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileinput</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileInputTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input file upload tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>form</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>trackme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>exturl</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSubmit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onReset</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>frame</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FrameTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table frame
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>type</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>hiddenfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HiddenFieldTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a hidden text field
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>image</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ImageTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Displays an image
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>src</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>alt</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>include</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.IncludeTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes pages from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actioncomponent</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionComponentTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes action components from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>list</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a list
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            makes a listbox
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>submitOnChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>multiple</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listboxitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxItemTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a listbox item
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>messagebox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.MessageBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an message box
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imagesource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>panel</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PanelTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table pane which contains tableframes
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>password</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PasswordTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>radiobutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RadioButtonTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input radio button tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>renderlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet render link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>rendersubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tabbedpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabbedPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tabbed pane
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tab</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tab
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>table</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>background</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>filter</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>numentries</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tablerow</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableRowTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table row
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>tablecell</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableCellTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table cell
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>colspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>text</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextTag</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textarea</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextAreaTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>texteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays simple text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>viewsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>richtexteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RichTextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a rich text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tree</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TreeTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a tree
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextFieldTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanidsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tooltip</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TooltipTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript tooltip courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action pane
+        </description>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionbody</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionBodyTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action body
+        </description>
+    </tag>
+
+
+    <tag>
+        <name>actionmenu</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu
+        </description>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsible</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsed</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionmenuitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuItemTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu item
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>info</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>group</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.GroupTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a grouping around other items
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>validator</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ValidatorTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Provides a validator tag that can be used inside of a TextFieldTag
+        </description>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portlet</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a portlet
+        </description>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>innerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>outerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>transparent</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portletlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/README.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+$Id: README.txt 5232 2006-09-01 08:58:44Z novotny $
+
+	Welcome to GridSphere! 
+========================================
+
+Please follow the instructions in the INSTALL file to build GridSphere.
+
+You can also check the online web site 
+(http://www.gridsphere.org) which contains the most up to date 
+information including slides, white papers, and other documentation on 
+using GridSphere and developing portlets. Please check out the slides
+available at http://www.gridsphere.org/gridsphere/gridsphere?cid=docs which
+describe how to set and install GridSphere as well as portlet development 
+and deployment
+
+In addition, please subscribe to the following mail lists from the mailman
+interface at http://lists.gridsphere.org/mailman/listinfo:
+
+gridsphere-users -- Mail list used for the discussion of developing portals using the GridSphere framework
+
+gridsphere-dev -- Mail list used for the discussion of GridSphere framework development
+
+gridsphere-cvs -- Mail list used to receive CVS notifications
+
+To report bugs, please use the bugtracker at http://bugs.gridsphere.org
+
+ Thank you.
+
+The GridSphere Team	http://www.gridsphere.org
+
+
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+<h1>Message of the Day</h1>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<div style="padding: 0px 40px;">
+    <h3>Welcome to GridSphere!</h3>
+
+    <p>
+        Thank you for downloading and installing the
+        GridSphere portal.
+    </p>
+
+    <p>
+        Below you will find links to documents relating to GridSphere installation, administration and portlet
+        development.
+    </p>
+    <ul>
+        <li>
+            GridSphere User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/UsersGuide/UsersGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portal Administrator's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/AdminGuide/AdminGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portlet Reference Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/ReferenceGuide/ReferenceGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Tag Library User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/TagGuide/TagGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Frequently Asked Questions
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/FAQ/FAQ.html"
+               target="_blank">(HTML)</a>
+        <li>
+            GridSphere JavaDoc API
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/javadocs/index.html"
+               target="_blank">(HTML)</a>
+        </li>
+    </ul>
+    <p>
+        Please join the forums and/or mailing lists for more involvement:
+    </p>
+    <ul>
+        <li><a target="_blank" href="http://forums.gridsphere.org">GridSphere Forums</a> Online forums for discussions
+            related to GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-dev">Developers List</a>
+            Discussions relating to overall GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-users">Users List</a>
+            Discussions on installing and configuring GridSphere.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-svn">SVN List</a> SVN
+            commit information. Very useful if you're a developer.
+        </li>
+    </ul>
+    <p>
+        and please submit bug reports to <a href="http://bugs.gridsphere.org">GridSphere (Jira) bugtracker</a>
+    </p>
+</div>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+<div style="float: right;
+            padding-left: 5px; padding-top: 5px; padding-bottom: 5px">
+
+    <a href="http://www.gridsphere.org">
+        <img height="25" src="/gridsphere/images/PoweredByGridSphere.jpg" alt="PoweredByGridSphere Logo"/>
+    </a>
+
+</div>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+<div class="gridsphere-layout-logo">
+    <img src="/gridsphere/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+
+Configuring the Database
+------------------------
+
+This file contains the hibernate.properties file which configures the 
+database settings used by GridSphere. The default is to use the HsqlDB
+database, a pure java SQL database. 
+
+The default HsqlDB is contained in the file "gridsphere" by default 
+
+To use another database, configure the hibernate.properties file and place 
+the required JDBC driver jar file in the $CATALINA_HOME/common/lib directory
+of Tomcat. Next, invoke the "ant deploy" followed by "ant create-database" 
+commands in the gridsphere directory.
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+hibernate.show_sql=false
+hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
+hibernate.connection.pool_size=40
+hibernate.connection.autocommit=true
+hibernate.connection.shutdown=true
+hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
+
+###########################
+### C3P0 Connection Pool###
+###########################
+hibernate.c3p0.max_size=10
+hibernate.c3p0.min_size=2
+hibernate.c3p0.timeout=5000
+hibernate.c3p0.max_statements=0
+hibernate.c3p0.idle_test_period=3000
+hibernate.c3p0.acquire_increment=2
+#hibernate.c3p0.validate=false
+
+## HSQL
+
+# driver and database provided by gridsphere
+
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+#hibernate.connection.username=sa
+#hibernate.connection.password=
+#hibernate.connection.url=jdbc:hsqldb:/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/gridsphere
+##hibernate.connection.url=jdbc:hsqldb:hsql://localhost
+#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+## This will replace the keywords true and false with the literals 1 and 0 in the translated SQL
+#hibernate.query.substitutions=true 1, false 0, yes 'Y', no 'N'
+
+#
+# Below are some templates for other databaseconfigurations.
+#
+# Please make sure you downloaded the correct jdbc driver for
+# your database. Those are NOT provided with gridsphere!
+# Also make sure you have the correct database url and username/password
+#
+
+
+## MySQL
+
+# download jdbc driver from http://www.mysql.com/downloads/api-jdbc.html
+
+hibernate.dialect org.hibernate.dialect.MySQLDialect
+hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+hibernate.connection.driver_class com.mysql.jdbc.Driver
+hibernate.connection.url jdbc:mysql:///gridsphere
+hibernate.connection.username root
+hibernate.connection.password cigmysql
+
+## Mckoi SQL
+
+# download driver and database from http://mckoi.com/database/index.html#Download
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi://localhost/
+#hibernate.connection.username admin_user
+#hibernate.connection.password aupass00
+
+## PostgreSQL
+
+# download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="admindb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/createAdmin.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="setupdb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/selectDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="updatedb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/updateDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5092 2006-08-19 04:17:21Z novotny $
+-->
+
+<page label="admin"
+      title="GridSphere Administration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="configTab" required-role="ADMIN">
+            <title lang="en">Configuration</title>
+            <table label="configTL">
+                <row>
+                    <column width="100%">
+                        <frame label="config">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.config.ConfigPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="portlets" required-role="ADMIN">
+            <title lang="en">Portlets</title>
+            <table label="portletTL">
+                <row>
+                    <column width="100%">
+                        <frame label="portletmanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="users" required-role="ADMIN">
+            <title lang="en">Users</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="usermanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.users.UserManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="roles" required-role="ADMIN">
+            <title lang="en">Roles</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rolemanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                    <column width="20%"/>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>
+                            org.gridsphere.portlets.core.date.DatePortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Content Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="contentmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Error Layout Descriptor
+
+    This descriptor defines the error layout configuration
+
+    $Id: error.xml 5922 2006-12-27 19:03:58Z novotny $
+-->
+
+<page label="error"
+      title="GridSphere Error"
+      editable="false">
+
+    <header>
+        <table>
+            <row>
+                <column width="80%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <content include="/jsp/errors/error.jsp"/>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: guest.xml 6067 2007-02-15 16:40:29Z novotny $
+-->
+
+<page label="guest"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/login/loginnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <content include="jcr://main"/>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Layout Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="layoutmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Logged In User Layout Descriptor
+
+This descriptor defines the user's portal layout upon logging into the portal
+
+$Id$
+-->
+
+<page label="user"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.icon"
+      editable="true"
+      required-role="USER">
+
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="home">
+            <title lang="en">Home</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rss">
+                            <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="login"
+      title="Login"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="login" outer-padding="5% 35%">
+                        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="profile"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="USER">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <title lang="en">Profile</title>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="profilemanager">
+                        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="register"
+      title="Registration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="signup" outer-padding="5% 30%">
+                        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<Repository>
+    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+        <param name="path" value="${rep.home}/repository"/>
+    </FileSystem>
+    <Security appName="Jackrabbit">
+        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
+        </AccessManager>
+
+        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
+            <param name="anonymousId" value="anonymous"/>
+        </LoginModule>
+    </Security>
+
+    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
+    <Workspace name="${wsp.name}">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+            <param name="useCompoundFile" value="true"/>
+            <param name="minMergeDocs" value="100"/>
+            <param name="volatileIdleTime" value="3"/>
+            <param name="maxMergeDocs" value="100000"/>
+            <param name="mergeFactor" value="10"/>
+            <param name="bufferSize" value="10"/>
+            <param name="cacheSize" value="1000"/>
+            <param name="forceConsistencyCheck" value="false"/>
+            <param name="autoRepair" value="true"/>
+            <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
+            <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
+            <param name="idleTime" value="-1"/>
+            <param name="respectDocumentOrder" value="true"/>
+        </SearchIndex>
+    </Workspace>
+    <Versioning rootPath="${rep.home}/version">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${rep.home}/version"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+    </Versioning>
+    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+        <param name="path" value="${rep.home}/repository/index"/>
+    </SearchIndex>
+
+</Repository>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+# can be used to define the port number used for HTTP connections
+gridsphere.port.http=
+
+# can be used to define the port number used for HTTPS connections
+gridsphere.port.https=
+
+# optional can be used to hardcode a host name
+gridsphere.host=
+
+# The following 2 params determine the URL of the gridsphere portal, default is gridsphere/gridsphere
+# This is the name of the gridsphere webapp that is deployed, default is gridsphere
+# Some examples:
+#   http://<host name>/myorg/portal
+#               gridsphere.deploy=myorg, gridsphere.context=portal
+#
+#   http://<host name>/portal
+#               gridsphere.deploy=ROOT, gridsphere.context=portal
+
+gridsphere.deploy=gridsphere
+
+gridsphere.context=gridsphere
+
+# should the login page use https?
+USE_HTTPS_LOGIN=false
+
+# after logging in should a user be redirected to use HTTPS?
+USE_HTTPS_REDIRECT=false
+
+MAIL_SERVER=localhost
+
+MAIL_PORT=25
+
+MAIL_ADDRESS=no-reply at gridsphere.org
+
+PORTAL_ADMIN_EMAIL=no-reply at gridsphere.org
+
+ENABLE_ERROR_HANDLING=false
+
+DEFAULT_THEME=default
+
+SAVE_PASSWORDS=true
+
+SUPPORT_X509_AUTH=false
+
+SEND_USER_FORGET_PASSWD=true
+
+REMEMBER_USER=true
+
+ACCOUNT_NUMTRIES=-1
+
+CAN_USER_CREATE_ACCOUNT=false
+
+ADMIN_ACCOUNT_APPROVAL=false
+
+# use username (true) or email address (false) in login portlet?
+USE_USERNAME_FOR_LOGIN=true
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+
+Initialized Portlet Web Applications
+------------------------------------
+
+When deployed, GridSphere requires access to deployed portlet web applications. Since portlets are
+packaged according to the web application repository (WAR) format defined in the Java 2.3
+Servlet Specification, the names of the WAR files or web applications needs to be added as an empty file
+whose filename is defined by the name of portlet web application to this directory. The filename may
+contain an additional integer suffix ".#" to ensure a priority when the container will load the portlet
+application. By default, you will see *gridsphere.1* which instructs the container to load the set of
+core gridsphere portlets first. Add other portlet applications to load in this directory.
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/portlets/simplegrid_cig
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,186 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify GridSphere Portlet Services
+
+
+    $Id: GridSphereServices.xml 6274 2007-05-30 13:57:24Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Persistence Manager Service</name>
+        <description lang="en">Provides JDBC Persistence Capabilities using Hibernate</description>
+        <interface>org.gridsphere.services.core.persistence.PersistenceManagerService</interface>
+        <implementation>org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portlet Manager Service</name>
+        <description lang="en">Provides Administration Capabilities for Portlet Web Applications</description>
+        <interface>org.gridsphere.services.core.registry.PortletManagerService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Tomcat Manager Service</name>
+        <description lang="en">Provides Portlet Reloading Capabilities uisng Tomcat manager webapp</description>
+        <interface>org.gridsphere.services.core.tomcat.TomcatManagerService</interface>
+        <implementation>org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>RSS Service</name>
+        <description lang="en">Provides RSS Service</description>
+        <interface>org.gridsphere.services.core.rss.RssService</interface>
+        <implementation>org.gridsphere.services.core.rss.impl.RssServiceImpl</implementation>
+        <service-config>
+            <param-name>cache_time</param-name>
+            <param-value>10</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Portlet Registry Service</name>
+        <description lang="en">Provides Portlet Registry</description>
+        <interface>org.gridsphere.services.core.registry.PortletRegistryService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Authentication Module Service</name>
+        <description lang="en">Provides Authentication Modules</description>
+        <interface>org.gridsphere.services.core.security.auth.AuthModuleService</interface>
+        <implementation>org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Config Service</name>
+        <description lang="en">Provides GridSphere portal configuration settings</description>
+        <interface>org.gridsphere.services.core.portal.PortalConfigService</interface>
+        <implementation>org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Filter Service</name>
+        <description lang="en">Provides portal filters</description>
+        <interface>org.gridsphere.services.core.filter.PortalFilterService</interface>
+        <implementation>org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Content Manager Service</name>
+        <description lang="en">Provides Content Management Capabilities</description>
+        <interface>org.gridsphere.services.core.content.ContentManagerService</interface>
+        <implementation>org.gridsphere.services.core.content.impl.ContentManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Role Manager Service</name>
+        <description lang="en">Provides Role Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.role.RoleManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Group Manager Service</name>
+        <description lang="en">Provides Group Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.group.GroupManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>User Account Manager Service</name>
+        <description lang="en">Provides User Administration Capabilities</description>
+        <interface>org.gridsphere.services.core.user.UserManagerService</interface>
+        <implementation>org.gridsphere.services.core.user.impl.UserManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Password Manager Service</name>
+        <description lang="en">Provides Password Management Capabilities</description>
+        <interface>org.gridsphere.services.core.security.password.PasswordManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>JCR Service</name>
+        <description lang="en">Java Content Repository Service</description>
+        <interface>org.gridsphere.services.core.jcr.JCRService</interface>
+        <implementation>org.gridsphere.services.core.jcr.impl.JCRServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Generic Request Service</name>
+        <description lang="en">Provides Generic Request Capabilities</description>
+        <interface>org.gridsphere.services.core.request.RequestService</interface>
+        <implementation>org.gridsphere.services.core.request.impl.RequestServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Layout Manager Service</name>
+        <description lang="en">Provides Layout Management Capabilities</description>
+        <interface>org.gridsphere.services.core.layout.LayoutManagerService</interface>
+        <implementation>org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Mail Service</name>
+        <description lang="en">Simple e-mail service</description>
+        <interface>org.gridsphere.services.core.mail.MailService</interface>
+        <implementation>org.gridsphere.services.core.mail.impl.MailServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Locale Service</name>
+        <description lang="en">Manages supported list of locales</description>
+        <interface>org.gridsphere.services.core.locale.LocaleService</interface>
+        <implementation>org.gridsphere.services.core.locale.impl.LocaleServiceImpl</implementation>
+        <service-config>
+            <param-name>display-locale</param-name>
+            <param-value>en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Timer Service</name>
+        <description lang="en">Timer Service</description>
+        <interface>org.gridsphere.services.core.timer.TimerService</interface>
+        <implementation>org.gridsphere.services.core.timer.impl.TimerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Cache Service</name>
+        <description lang="en">Cache Service</description>
+        <interface>org.gridsphere.services.core.cache.CacheService</interface>
+        <implementation>org.gridsphere.services.core.cache.impl.CacheServiceImpl</implementation>
+        <service-config>
+            <param-name>isCachingOn</param-name>
+            <param-value>true</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Secure Directory Service</name>
+        <description lang="en">Provides Secure Directory Capabilities</description>
+        <interface>org.gridsphere.services.core.secdir.SecureDirectoryService</interface>
+        <implementation>org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Chart Service</name>
+        <description lang="en">Provides chart generation and management capabilities</description>
+        <interface>org.gridsphere.services.core.charts.ChartService</interface>
+        <implementation>org.gridsphere.services.core.charts.impl.ChartServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Settings Service</name>
+        <description lang="en">GridSphere settings service</description>
+        <interface>org.gridsphere.services.core.customization.SettingsService</interface>
+        <implementation>org.gridsphere.services.core.customization.impl.SettingsServiceImpl</implementation>
+    </service>
+
+</portlet-services>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Authentication Modules
+
+    This descriptor defines the authentication modules supported
+
+    $Id: authmodules.xml 6192 2007-03-08 14:47:55Z wehrens $
+-->
+
+<auth-modules>
+
+    <auth-module>
+        <name>GridSphere Password</name>
+        <description lang="en">Hashed password based authentication using GridSphere database</description>
+        <description lang="ja">GridSphereデータベースを用いたハッシュベースのパスワード認証</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule</implementation>
+        <active>true</active>
+        <priority>100</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Password is not provided</error>
+        <error key="key2" lang="en">Incorrect password provided</error>
+        <error key="key1" lang="ja">パスワードが入力されていません</error>
+        <error key="key2" lang="ja">間違ったパスワードが入力されました</error>
+        <error key="key1" lang="es">No fué proporcionada la Contraseña</error>
+        <error key="key2" lang="es">La contraseña proporcionada, es incorrecta</error>
+    </auth-module>
+
+    <auth-module>
+        <name>GridSphere JAAS</name>
+        <description lang="en">Use the Java Authentication and Authorization Framework</description>
+        <description lang="ja">Java認証&授権フレームワーク(Java Authentication and Authorization Framework)を使用</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule</implementation>
+        <active>false</active>
+        <priority>40</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Account Expired</error>
+        <error key="key2" lang="en">Credentials Expired</error>
+        <error key="key3" lang="en">Unexpected Error</error>
+        <error key="key1" lang="ja">アカウント失効</error>
+        <error key="key2" lang="ja">信用証明書失効</error>
+        <error key="key3" lang="ja">予期せぬエラー</error>
+        <error key="key1" lang="es">La cuenta ha expiradi</error>
+        <error key="key2" lang="es">Credenciales expiradas</error>
+        <error key="key3" lang="es">Error Inesperado</error>
+    </auth-module>
+
+</auth-modules>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Portal Filters
+
+    This descriptor defines the portal filters supported
+
+    $Id$
+-->
+
+<portal-filters>
+
+    <filter>
+        <name>GridSphere Cookie Filter</name>
+        <description lang="en">GridSphere "Remember Me" functionality used in Login Portlet</description>
+        <implementation>org.gridsphere.services.core.filter.impl.RememberMeCookieFilter</implementation>
+        <active>true</active>
+        <!-- configure cookie expiration time in seconds -->
+        <filter-param>
+            <param-name>COOKIE_EXPIRATION_TIME</param-name>
+            <param-value>604800</param-value>
+        </filter-param>
+    </filter>
+
+</portal-filters>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry" table="authentry">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleClassName" column="moduleclassname"  type="string"/>
+        <property name="UserId"          column="userid"           type="string"/>
+
+        <map name="attributes"       table="authmoduleattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition" table="authmoddef">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleName" column="authmodulename"  type="string"/>
+        <property name="ModuleImplementation" column="authmoduleclassname"  type="string"/>
+        <property name="ModulePriority" column="authmodulepriority"  type="integer"/>
+        <property name="ModuleActive" column="authmoduleactive"  type="boolean"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.password.impl.PasswordImpl"
+        table="gspassword"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="value" type="string" column="value"/>
+        <property name="hint" type="string" column="hint"/>
+        <property name="lifetime" column="lifetime"/>
+        <property name="dateExpires" column="dateexpires"/>
+        <property name="dateCreated" column="datecreated"/>
+        <property name="dateLastModified" column="datelastmodified"/>
+    <!--    <property name="userName" column="username"/>  -->
+        <many-to-one
+            name="sportletUser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+    </class>
+
+            
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"
+        table="persistencepreferenceattribute"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="name" type="string" column="name"/>
+
+        <property name="readOnly" type="boolean" column="readonly"/>
+
+        <list name="values" table="portletprefattrvalues" lazy="false">
+            <cache usage="read-write"/>
+            <key column="value_oid"/>
+            <index/>
+            <element column="value" type="string"/>
+        </list>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+        name="org.gridsphere.services.core.security.group.PortletGroup"
+        table="sportletgroup"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="Name" type="string" column="name"/>
+        <property name="Description" type="string" column="description"/>
+        <property name="Public" type="boolean" column="ispublic"/>
+        <property name="Core" type="boolean" column="iscore"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PortletPreferencesImpl"
+        table="portletpreferencesimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="userId" type="string" column="userid"/>
+        <property name="portletId" type="string" column="portletid"/>
+
+        <map name="attributes" table="portletprefattr" cascade="all">
+            <cache usage="read-write"/>
+            <key column="attribute_oid"/>
+            <index column="attribute_ndx" type="string"/>
+            <many-to-many column="attr_oid" class="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+            name="org.gridsphere.services.core.security.role.PortletRole"
+            table="portletrole"
+            >
+        <cache usage="read-write"/>
+        <id
+                name="oid"
+                column="gsoid"
+                type="java.lang.String"
+                length="32"
+                >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="Name" type="string" column="rolename" not-null="true"/>
+        <property name="Description" type="string" column="description" not-null="true"/>
+        <property name="IsDefault" type="java.lang.Integer" column="isdefault"/>
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.user.impl.UserImpl"
+        table="sportletuserimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="UserID" type="string" column="userid"/>
+        <property name="LastName" type="string" column="familyname"/>
+        <property name="FullName" type="string" column="fullname"/>
+        <property name="FirstName" type="string" column="givenname"/>
+        <property name="EmailAddress" type="string" column="emailaddress"/>
+        <property name="Organization" type="string" column="organization"/>
+        <property name="NumLogins" type="integer" column="numlogins"/>
+        <property name="LastLoginTime" column="lastlogintime"/>
+        <map name="attributes" table="sportletuserattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.request.impl.GenericRequest"
+        table="gsrequest"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="userID" type="string" column="userid"/>
+        <property name="label" type="string" column="label"/>
+        <property name="lifetime" type="timestamp" column="lifetime"/>
+        <map name="attributes" table="requestattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.group.impl.UserGroup"
+        table="grouprequestimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="group"
+            column="sportletgroup"
+            class="org.gridsphere.services.core.security.group.PortletGroup">
+        </many-to-one>
+        <!-- deprecated -->
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+        <!-- deprecated -->
+        <property name="roleName" type="string" column="roleName"/>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.role.impl.UserRole"
+        table="userroles"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <description xml:lang="en">GridSphere Configuration</description>
+        <portlet-name>ConfigPortlet</portlet-name>
+        <display-name xml:lang="en">GridSphere Configuration</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.config.ConfigPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>GridSphere Configuration</title>
+            <short-title>Configuration</short-title>
+            <keywords>gridsphere configuration</keywords>
+        </portlet-info>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">برنامج يزود خدمة التاريخ</description>
+        <description xml:lang="en">Portlet provides date capabilities</description>
+        <description xml:lang="es">Portlet proporciona las capacidades de la fecha</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnost dohvata datuma</description>
+        <description xml:lang="ja">Portletは日時機能を提供します</description>
+        <description xml:lang="nl">Portlet biedt datum functionaliteiten</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>DatePortlet</portlet-name>
+        <display-name xml:lang="en">DatePortlet</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <resource-bundle>Date.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">البرنامج الذي يمكن من الدخول للنظام</description>
+        <description xml:lang="cs">Portlet pro přihlášení uživatele do systému</description>
+        <description xml:lang="de">Anmelden Portlet ermöglicht das Anmelden</description>
+        <description xml:lang="en">Portlet provides login capabilities</description>
+        <description xml:lang="es">Portlet proporciona capacidades de conexión</description>
+        <description xml:lang="fr">Ce Portlet permet de faire un login</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnosti ulaza korisnika u portal</description>
+        <description xml:lang="hu">A portlet a portálba való bejelentkezésre szolgál</description>
+        <description xml:lang="it">La Portlet fornisce funzionalità di login</description>
+        <description xml:lang="ja"></description>
+        <description xml:lang="nl">Portlet biedt login mogelijkheden</description>
+        <description xml:lang="pl">Portlet umożliwia zalogowanie się</description>
+        <description xml:lang="zh">门件提供了登录功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Login</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Login.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Portlet provides registration capabilities</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>Signup</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <resource-bundle>Signup.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">إختيار اللغة</description>
+        <description xml:lang="cs">Vybírá místní nastavení</description>
+        <description xml:lang="de">Wählt eine Spracheinstellungen</description>
+        <description xml:lang="en">Selects a locale</description>
+        <description xml:lang="es">Seleccione un lugar</description>
+        <description xml:lang="fr">Sélectionne un locale</description>
+        <description xml:lang="hr">Portlet omogućava administriranje jezika</description>
+        <description xml:lang="hu">Nyelv választása</description>
+        <description xml:lang="it">Seleziona una localizzazione</description>
+        <description xml:lang="ja">言語を選択して下さい</description>
+        <description xml:lang="nl">Selecteer een landinstelling</description>
+        <description xml:lang="pl">Wybór lokalizacji</description>
+        <description xml:lang="zh">选择一门语言</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>LocalePortlet</portlet-name>
+        <display-name xml:lang="en">Locale Portlet</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Locale.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <description xml:lang="en">Displays RSS feeds</description>
+        <portlet-name>RSSPortlet</portlet-name>
+        <display-name xml:lang="en">News Portlet</display-name>
+        <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>News</title>
+            <short-title>News</short-title>
+            <keywords>RSS, news</keywords>
+        </portlet-info>
+        <portlet-preferences>
+            <preference>
+                <name>feedurl</name>
+                <value>http://rss.news.yahoo.com/rss/topstories</value>
+                <value>http://rss.cnn.com/rss/cnn_topstories.rss</value>
+                <value>http://digg.com/rss/index.xml</value>
+                <value>http://www.theserverside.com/rss/theserverside-rss2.xml</value>
+                <read-only>false</read-only>
+            </preference>
+        </portlet-preferences>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Displays Message of the Day</description>
+        <portlet-name>Message of the Day</portlet-name>
+        <display-name xml:lang="en">Message of the Day</display-name>
+        <portlet-class>org.gridsphere.portlets.core.news.NewsPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Message of the Day</title>
+            <short-title>Message</short-title>
+            <keywords>Message of the day, news</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">About GridSphere</description>
+        <portlet-name>AboutGridSphere</portlet-name>
+        <display-name xml:lang="en">About GridSphere</display-name>
+        <portlet-class>org.gridsphere.portlets.core.about.AboutPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>About</title>
+            <short-title>About GridSphere</short-title>
+            <keywords>about, gridsphere</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Content Repository Management</description>
+        <portlet-name>ContentManagement</portlet-name>
+        <display-name xml:lang="en">Content Repository Management</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Content Management</title>
+            <short-title>Content Mgmnt</short-title>
+            <keywords>jcr, content, jsr170</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="ar">يمكن مدير النظام من إدارة حسابات المستخدمين</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat uživatelské účty</description>
+        <description xml:lang="de">Ermöglicht das Administrieren von Nutzerkonten</description>
+        <description xml:lang="en">Enables portal administrators to administer user accounts</description>
+        <description xml:lang="es">Permite a administradores del portal, administrar cuentas de usuario</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les comptes usagers</description>
+        <description xml:lang="hr">Portlet omogućava administriranje korisnika</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, a felhasználók adminisztrációját
+        </description>
+        <description xml:lang="it">Permette agli gestire del portale di amministrare gli account utente</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie kontami użytkowników</description>
+        <description xml:lang="zh">使门户网站管理者能够管理用户帐号</description>
+        <portlet-name>UserAccountManager</portlet-name>
+        <display-name xml:lang="en">User Account Manager</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.users.UserManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>UserManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Enables portal administrators to manage security roles</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren los Roles de seguridad
+        </description>
+        <description xml:lang="hr">Portlet omogućava administriranje uloga</description>
+        <description xml:lang="ja">ポータル管理者にセキュリティ権限管理機能を提供します</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>RoleManager</portlet-name>
+        <display-name xml:lang="en">Role Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <resource-bundle>RoleManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">تعديل ملف المستخدمين</description>
+        <description xml:lang="cs">Nastavuje profily uživatelů</description>
+        <description xml:lang="de">Anpassung der Benutzerprofile</description>
+        <description xml:lang="en">Customizes users profile</description>
+        <description xml:lang="es">Personalizacion de Perfiles de Usuarios</description>
+        <description xml:lang="fr">Permet de gérer les profiles</description>
+        <description xml:lang="hr">Portlet omogućava administriranje profila</description>
+        <description xml:lang="hu">Lehetővé teszi a felhasználók számára, saját beállításaik szerkesztését</description>
+        <description xml:lang="it">Personalizza il profilo utente</description>
+        <description xml:lang="ja">ユーザープロファイルをカスタマイズ</description>
+        <description xml:lang="nl">Beheer gebruikersprofielen</description>
+        <description xml:lang="pl">Dostosowywanie profili użytkownika</description>
+        <description xml:lang="zh">定制用户成形</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>ProfileManager</portlet-name>
+        <display-name xml:lang="en">Profile Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>ProfileManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن مدير النظام لإدارة البرامج</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat portlety</description>
+        <description xml:lang="de">Ermöglicht Portal-Administratoren Portlets zu verwalten</description>
+        <description xml:lang="en">Enables portal administrators to manage portlets</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren el portlets</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les applications</description>
+        <description xml:lang="hr">Portlet omogućava administriranje portleta</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, portletek kezelését</description>
+        <description xml:lang="it">Consente agli amministratori del portale di gestire le portlet</description>
+        <description xml:lang="ja">ポータル管理者にportletの管理機能を提供する</description>
+        <description xml:lang="nl">Portal administratoren kunnen portlets beheren</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie portletami</description>
+        <description xml:lang="zh">使门户网站管理者管理门件</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Portlet Application Manager</portlet-name>
+        <display-name xml:lang="en">Portlet Application Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supports>
+            <mime-type>text/plain</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>PortletApplicationManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن المستخدم لتعديل التنسيق</description>
+        <description xml:lang="cs">Poskytuje uživatelem nastavitelné umístění portletů</description>
+        <description xml:lang="de">Ermöglicht die benutzerspezifische Anpassung der Darstellung</description>
+        <description xml:lang="en">Provides administrative layout customization</description>
+        <description xml:lang="es">Proporciona la personalizacion del esquema administrativo</description>
+        <description xml:lang="fr">Permet a l'usager de modifier le layout</description>
+        <description xml:lang="hr">Portlet omogućava administriranje izgleda</description>
+        <description xml:lang="hu">Lehetővé teszi a portletekből egyéni weblapok felépítését</description>
+        <description xml:lang="it">Consente la personalizzazione del layout utente</description>
+        <description xml:lang="ja">管理上のレイアウトカスタマイズ</description>
+        <description xml:lang="nl">Gebruikers kunnen hun eigen layout bepalen</description>
+        <description xml:lang="pl">Udostępnia użytkownikowi dostosowywanie układów graficznych</description>
+        <description xml:lang="zh">提供了用户版面定制化功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Layout Manager</portlet-name>
+        <display-name xml:lang="en">Layout Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>LayoutManager.Portlet</resource-bundle>
+    </portlet>
+
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>config</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Last Name</description>
+        <name>user.name.last</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User First Name</description>
+        <name>user.name.first</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+</portlet-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ $Id: web.xml 6104 2007-02-21 08:30:48Z wehrens $
+-->
+<!DOCTYPE web-app
+        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+        "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+
+<web-app>
+
+    <display-name>GridSphere Portlet Container</display-name>
+
+    <description>
+        GridSphere Portlet Container
+    </description>
+
+    <!-- this is needed for clustering of multiple Tomcats -->
+    <distributable/>
+
+    <filter>
+        <filter-name>GridSphere Filter</filter-name>
+        <filter-class>org.gridsphere.servlets.GridSphereFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>GridSphere Filter</filter-name>
+        <url-pattern>/gridsphere/*</url-pattern>
+    </filter-mapping>
+
+    <listener>
+        <listener-class>org.gridsphere.servlets.GridSphereServlet</listener-class>
+    </listener>
+
+
+    <servlet>
+        <servlet-name>gridsphere</servlet-name>
+        <servlet-class>org.gridsphere.servlets.GridSphereServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>setup</servlet-name>
+        <servlet-class>org.gridsphere.servlets.SetupServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Captcha</servlet-name>
+        <display-name>Captcha</display-name>
+        <servlet-class>nl.captcha.servlet.CaptchaServlet</servlet-class>
+    </servlet>
+
+    <!-- PRECOMPILED JSP (if any)-->
+
+    
+
+    <servlet-mapping>
+        <servlet-name>gridsphere</servlet-name>
+        <url-pattern>/gs/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>setup</servlet-name>
+        <url-pattern>/setup/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>PortletServlet</servlet-name>
+        <url-pattern>/jsr/gridsphere</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>Captcha</servlet-name>
+        <url-pattern>/Captcha.jpg</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+    <mime-mapping>
+        <extension>wbmp</extension>
+        <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wml</extension>
+        <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wmls</extension>
+        <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+    <!-- the 401 page -->
+    <error-page>
+        <error-code>401</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 403 page -->
+    <error-page>
+        <error-code>403</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 404 page -->
+    <error-page>
+        <error-code>404</error-code>
+        <location>/ErrorLayout&amp;errorPage=notfound.jsp</location>
+    </error-page>
+
+
+    <!-- for internal errors -->
+    <!--
+    <error-page>
+        <exception-type>java.lang.Throwable</exception-type>
+        <location>/gridsphere?gs_PageLayout=ErrorLayout&amp;errorPage=error.jsp</location>
+    </error-page>
+    -->
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/SimpleTextEditor.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+.ste .bar { background: #ECE9D8; padding: 3px; border: #ACA899 1px; border-style: solid solid none solid; }
+.ste .frame { border: 1px solid; border-color: #716F64 #ECE9D8 #ECE9D8 #716F64; }
+.ste .frame iframe { width: 500px; height: 300px; }
+.ste img { border: 0; }
+.ste .button { padding: 1px; border: #ECE9D8 1px solid; }
+.ste .button-hover { padding: 1px; border: 1px solid; border-color: #ffffff #ACA899 #ACA899 #ffffff; }
+.ste .button-click { padding: 1px; border: 1px solid; border-color: #ACA899 #ffffff #ffffff #ACA899; }
+.ste .separator { width: 0px; height: 18px; border-left: #aca899 1px solid; border-right: #ffffff 1px solid; margin: 0 5px; }
+.ste .source { padding-top: 5px; }
+
+.cal {
+  width: 20px;
+  height: 20px;
+  margin: 0;
+  padding: 0;
+  border: 0;
+  background: transparent url(../images/calendar/scw.gif) no-repeat center top;
+  text-indent: -1000em;
+  cursor: pointer; /* hand-shaped cursor */
+  cursor: hand; /* for IE 5.x */
+}
+
+
+.scw       {padding:1px;vertical-align:middle;}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/ResizePanel.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+.panel {
+	overflow:visible;
+}
+
+.panel .bd {
+	overflow:auto;
+}
+
+.panel .ft {
+	padding:0px;
+	height:4px;
+	font-size:4px;
+	background-color:#CCC;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/container.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/container.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/container.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,211 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+.overlay {
+	position:absolute;
+	display:block;
+}
+
+.tt {
+	visibility:hidden;
+	position:absolute;
+	color:#333;
+	background-color:#FDFFB4;
+	font-family:arial,helvetica,verdana,sans-serif;
+	padding:2px;
+	border:1px solid #FCC90D;
+	font:100% sans-serif;
+	width:auto;
+}
+
+* html body.masked select {
+	visibility:hidden;
+}
+
+* html div.panel-container select {
+	visibility:inherit;
+}
+
+* html div.drag select {
+	visibility:hidden;
+}
+
+* html div.hide-select select {
+	visibility:hidden;
+}
+
+.mask {
+	z-index:0;   
+	display:none;
+	position:absolute;
+	top:0;
+	left:0;
+	-moz-opacity: 0.5;
+	opacity:.50;
+	filter: alpha(opacity=50);
+	background-color:#CCC;
+}
+
+.hide-scrollbars * {
+	overflow:hidden;
+}
+
+.hide-scrollbars textarea, .hide-scrollbars select {
+	overflow:hidden;
+	display:none;
+}
+
+.show-scrollbars textarea, .show-scrollbars select {
+	overflow:visible;
+}
+
+.panel-container {
+	position:absolute;
+	background-color:transparent;
+	z-index:6;
+	visibility:hidden;
+	overflow:visible;
+	width:auto;
+}
+
+.panel-container.matte {
+	padding:3px;
+	background-color:#FFF;
+}
+
+.panel-container.matte .underlay {
+	display:none;
+}
+
+.panel-container.shadow {
+	padding:0px;
+	background-color:transparent;
+}
+
+.panel-container.shadow .underlay {
+	visibility:inherit;
+	position:absolute;
+	background-color:#CCC;
+	top:3px;left:3px;
+	z-index:0;
+	width:100%;
+	height:100%;
+	-moz-opacity: 0.7;
+	opacity:.70;
+	filter:alpha(opacity=70);
+	zoom:1;
+}
+
+.panel {
+	visibility:hidden;
+	border-collapse:separate;
+	position:relative;
+	left:0px;top:0px;
+	font:1em Arial;
+	background-color:#FFF;
+	border:1px solid #000;
+	z-index:1;
+	overflow:hidden;
+}
+
+.panel .hd {
+	background-color:#3d77cb;
+	color:#FFF;
+	font-size:100%;
+	line-height:100%;
+	border:1px solid #FFF;
+	border-bottom:1px solid #000;
+	font-weight:bold;
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd {
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd p {
+	margin:0 0 1em;
+}
+
+.panel .close {
+	position:absolute;
+	top:5px;
+	right:4px;
+	z-index:6;
+	height:12px;
+	width:12px;
+	margin:0px;
+	padding:0px;
+	background-repeat:no-repeat;
+	cursor:pointer;
+	visibility:inherit;
+}
+
+.panel .close.nonsecure {
+	background-image:url(http://us.i1.yimg.com/us.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .close.secure {
+	background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .ft {
+	padding:4px;
+	overflow:hidden;
+}
+
+.simple-dialog .bd .icon {
+	background-repeat:no-repeat;
+	width:16px;
+	height:16px;
+	margin-right:10px;
+	float:left;
+}
+
+.dialog .ft, .simple-dialog .ft {
+	padding-bottom:5px;
+	padding-right:5px;
+	text-align:right;
+}
+
+.dialog form, .simple-dialog form {
+	margin:0;
+}
+
+.button-group button {
+	font:100 76% verdana;
+	text-decoration:none;
+	background-color: #E4E4E4;
+	color: #333;
+	cursor: hand;
+	vertical-align: middle;
+	border: 2px solid #797979;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+	margin:2px;
+	padding:2px;
+}
+
+.button-group button.default {
+	font-weight:bold;
+}
+
+.button-group button:hover, .button-group button.hover { 
+	border:2px solid #90A029;
+	background-color:#EBF09E;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+}
+
+.button-group button:active { 
+	border:2px solid #E4E4E4;
+	background-color:#BBB;
+	border-top-color:#333;
+	border-left-color:#333;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/fonts.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+
+/**
+ * 84.5% for !IE, keywords for IE
+ * Percents could work for IE, but for backCompat purposes, we are using
+ keywords.
+ * x-small is for IE < 6 and IE6 quirks mode.
+ *
+ */
+body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-
+small;}
+table {font-size:inherit;font:100%;}
+
+/**
+ * 99% for safari; 100% is too large
+ */
+select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
+
+/**
+ * Bump up !IE to get to 13px equivalent
+ */
+pre, code {font:115% monospace;*font-size:100%;}
+
+/**
+ * Default line-height based on font-size rather than "computed-value"
+ * see: http://www.w3.org/TR/CSS21/visudet.html#line-height
+ */
+body * {line-height:1.22em;}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/menu.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,299 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/* Menu styles */
+
+div.yuimenu {
+
+    z-index:1;
+    visibility:hidden;
+    background-color:#f6f7ee;
+    border:solid 1px #c4c4be;
+    padding:1px;
+    
+}
+
+
+/* MenuBar Styles */
+
+div.yuimenubar {
+
+    background-color:#f6f7ee;
+    
+}
+
+/*
+    Application of "zoom:1" triggers "haslayout" in IE so that the module's
+    body clears its floated elements
+*/
+div.yuimenubar div.bd {
+
+    zoom:1;
+
+}
+
+/*
+    Clear the module body for other browsers
+*/
+div.yuimenubar div.bd:after {
+
+    content:'.';
+    display:block;
+    clear:both;
+    visibility:hidden;
+    height:0;
+
+}
+
+
+/* Matches the group title (H6) inside a Menu or MenuBar instance */
+
+div.yuimenu h6,
+div.yuimenubar h6 { 
+
+    font-size:100%;
+    font-weight:normal;    
+    margin:0;
+    border:solid 1px #c4c4be;
+    color:#b9b9b9;    
+
+}
+
+div.yuimenubar h6 {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    padding:4px 12px;
+    border-width:0 1px 0 0;
+    
+}
+
+div.yuimenu h6 {
+
+    float:none;
+    display:block;
+    border-width:1px 0 0 0;
+    padding:5px 10px 0 10px;
+
+}
+
+
+/* Matches the UL inside a Menu or MenuBar instance */
+
+div.yuimenubar ul {
+
+    list-style-type:none;
+    margin:0;
+    padding:0;
+
+}
+
+div.yuimenu ul {
+
+    list-style-type:none;
+    border:solid 1px #c4c4be;
+    border-width:1px 0 0 0;
+    margin:0;
+    padding:10px 0;
+
+}
+
+
+div.yuimenu ul.first-of-type, 
+div.yuimenu ul.hastitle,
+div.yuimenu h6.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* MenuItem and MenuBarItem styles */
+
+div.yuimenu li,
+div.yuimenubar li {
+
+    font-size:85%;
+    cursor:pointer;
+    cursor:hand;
+    white-space:nowrap;
+    text-align:left;
+
+}
+
+div.yuimenu li.yuimenuitem {
+
+    padding:2px 24px;
+    
+}
+
+div.yuimenu li li,
+div.yuimenubar li li {
+
+    font-size:100%;
+
+}
+
+
+/* Matches the help text for a menu item */
+
+div.yuimenu li em {
+
+    font-style:normal;
+    margin:0 0 0 40px;
+
+}
+
+div.yuimenu li a em {
+
+    margin:0;
+
+}
+
+div.yuimenu li a,
+div.yuimenubar li a {
+    
+    /*
+        "zoom:1" triggers "haslayout" in IE to ensure that the mouseover and 
+        mouseout events bubble to the parent LI in IE.
+    */
+    zoom:1;
+    color:#000;
+    text-decoration:none;
+    
+}
+
+div.yuimenu li.hassubmenu,
+div.yuimenu li.hashelptext {
+
+    text-align:right;
+
+}
+
+div.yuimenu li.hassubmenu a.hassubmenu,
+div.yuimenu li.hashelptext a.hashelptext {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    text-align:left;
+
+}
+
+
+/* Matches focused and selected menu items */
+
+div.yuimenu li.selected,
+div.yuimenubar li.selected {
+
+    background-color:#8c8ad0;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenubar li.selected a.selected {
+
+    text-decoration:underline;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenu li.selected em.selected, 
+div.yuimenubar li.selected a.selected {
+
+    color:#fff;
+
+}
+
+
+/* Matches disabled menu items */
+
+div.yuimenu li.disabled, 
+div.yuimenubar li.disabled {
+
+    cursor:default;
+
+}
+
+div.yuimenu li.disabled a.disabled,
+div.yuimenu li.disabled em.disabled,
+div.yuimenubar li.disabled a.disabled {
+
+    color:#b9b9b9;
+    cursor:default;
+    
+}
+
+div.yuimenubar li.yuimenubaritem {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    border-width:0 0 0 1px;
+    border-style:solid;
+    border-color:#c4c4be;
+    padding:4px 24px;
+    margin:0;
+
+}
+
+div.yuimenubar li.yuimenubaritem.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* Matches the submenu indicator for menu items */
+
+div.yuimenubar li.yuimenubaritem img {
+
+    height:8px;
+    width:8px;
+    margin:0 0 0 10px;
+    vertical-align:middle;
+
+}
+
+div.yuimenu li.yuimenuitem img {
+
+    height:8px;
+    width:8px;
+    margin:0 -16px 0 10px;
+    border:0;
+
+    *margin-left:0;
+    *border-left-width:10px;
+    *border-style:solid;
+    *border-color:#f6f7ee;
+
+}
+
+div.yuimenu li.yuimenuitem.selected img.selected {
+
+    *border-color:#8c8ad0;
+
+}
+
+div.yuimenu li.checked {
+
+    position:relative;
+
+}
+
+div.yuimenu li.checked img.checked {
+
+    height:8px;
+    width:8px;
+    margin:0;
+    border:0;
+    position:absolute;
+    left:6px;
+    _left:-16px; /* Underscore hack b/c this is for IE 5.5 and IE 6 only */
+    top:.5em;
+    
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/reset.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
+table{border-collapse:collapse;border-spacing:0;}
+fieldset,img{border:0;}
+address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
+ol,ul {list-style:none;}
+caption,th {text-align:left;}
+h1,h2,h3,h4,h5,h6{font-size:100%;}
+q:before,q:after{content:'';}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/error.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/error.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/error.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+
+<p>An error ccoured!</p>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/test.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/test.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/test.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	<title>GridSphere AJAX Test Portal</title>
+	<meta name='keywords' content='gridsphere' />
+	<meta http-equiv="Pragma" content="no-cache" />
+	<link type="text/css" href="/gridsphere/themes/standard/default/css/default.css" rel="stylesheet"/>
+	<link rel="stylesheet" type="text/css" href="/gridsphere/css/SimpleTextEditor.css"/>
+	<link rel="icon" href="images/favicon.ico" type="imge/x-icon"/>
+	<link rel="shortcut icon" href="/gridsphere/images/favicon.ico" type="image/x-icon"/>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/SimpleTextEditor.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/scw.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/validation.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/yahoo.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/connection.js"></script>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere_ajax.js"></script>
+	</head>
+	<body onload="GridSphereAjaxHandler.loadPortlets();">
+<div id="page">
+<!-- START MODERN TABLE --><div class="header" ><!-- START MODERN ROW --><div class="row" >
+<div class="column" style="width: 85%"><div id="page-logo" style="padding-top: 3px; padding-left: 8px; padding-right: 5px; padding-bottom: 1px;">
+<img src="/gridsphere/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
+</div>
+<div class="column" style="width: 15%">
+
+</div></div><!-- END MODERN ROW -->
+</div><!-- END MODERN TABLE -->
+
+
+
+Welcome to the site!
+
+<!-- add a portlet!!! -->
+<div id="portlet#demo#AJAXHelloPortlet"></div>
+
+
+
+
+
+
+
+
+
+</div>
+</body></html>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor/help.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor/help.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/html/texteditor/help.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Help</title>
+    <style type="text/css">
+    body { background: #ECE9D8; margin: 1em; padding: 0; }
+    h1 { font-size: 125%; }
+    h2 { font-size: 100%; }
+    p, ul { margin: 0.5em 0; padding: 0; }
+    ul { list-style-type: none; }
+    </style>
+</head>
+<body>
+
+    <h1>Help</h1>
+
+    <h2>Buttons:</h2>
+
+    <ul>
+        <li>Insert Link - works only on selected text</li>
+    </ul>
+
+    <h2>Keyboard shortcuts:</h2>
+
+    <ul>
+        <li>ctrl+c - copy</li>
+        <li>ctrl+v - paste</li>
+        <li>ctrl+x - cut</li>
+        <li>ctrl+z - undo</li>
+        <li>ctrl+shift+z - redo</li>
+        <li>shift+enter - break</li>
+    </ul>
+
+    <hr>
+    
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/PoweredByGridSphere.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/PoweredByGridSphere.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/calendar/scw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/calendar/scw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/editor.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/editor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/favicon.ico
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/favicon.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ar.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/cs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/de.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/de.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_UK.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_UK.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_US.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/en_US.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/hu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/it.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/it.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ja.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/ja.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/nl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/nl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/pl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/pl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/zh.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/flags/zh.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridlablogo.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridlablogo.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/gridsphere_logo.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/center.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/center.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ul.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/ul.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/images/texteditor/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/index.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="javax.portlet.PortletURL" %>
+<%@ page import="org.gridsphere.portlet.impl.PortletURLImpl" %>
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+
+<% PortletURL purl = new PortletURLImpl(request, response, true); %>
+<% System.err.println("url = " + purl); %>
+<% response.sendRedirect(purl.toString()); %>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jaas.config
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jaas.config	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jaas.config	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+Jackrabbit {
+org.apache.jackrabbit.core.security.SimpleLoginModule required
+	anonymousId="anonymous";
+};
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/SimpleTextEditor.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// +----------------------------------------------------------------+
+// | SimpleTextEditor 1.0
+// | Author: Cezary Tomczak [www.gosu.pl]
+// |
+// | Free for any use as long as all copyright messages are intact.
+// | Copyright (c) 2003,2004 Cezary Tomczak All rights reserved.
+// | Redistribution and use in source and binary forms, with or without modification,
+// | are permitted provided that the following conditions are met:
+// |
+// |  - Redistributions of source code must retain the above copyright notice,
+// |    this list of conditions and the following disclaimer.
+// |  - Redistributions in binary form must reproduce the above copyright notice,
+// |    this list of conditions and the following disclaimer in the documentation
+// |    and/or other materials provided with the distribution.
+// |  - Neither the name of the Cezary Tomczak nor the names of its contributors
+// |    may be used to endorse or promote products derived from this software
+// |    without specific prior written permission.
+// |
+// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+// | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+// | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// +----------------------------------------------------------------+
+
+function SimpleTextEditor(id, name, showViewSource, objectId) {
+    if (!id || !objectId || !name) { alert("SimpleTextEditor.constructor(id, name, showViewSource, objectId) failed, four arguments are required"); }
+    var self = this;
+    this.id = id;
+    this.objectId = objectId;
+    this.frame;
+    this.showViewSource = showViewSource;
+    this.viewSource = false;
+    this.name = name;
+    this.path = ""; // with slash at the end
+    this.cssFile = "";
+    this.charset = "iso-8859-1";
+
+    this.editorHtml = "";
+    this.frameHtml = "";
+
+    this.textareaValue = "";
+
+    this.browser = {
+        "ie": Boolean(document.body.currentStyle),
+        "gecko" : (navigator.userAgent.toLowerCase().indexOf("gecko") != -1)
+    };
+
+    this.init = function() {
+        if (document.getElementById && document.createElement && document.designMode && (this.browser.ie || this.browser.gecko)) {
+            // EDITOR
+            if (!document.getElementById(this.id)) { alert("SimpleTextEditor "+this.objectId+".init() failed, element '"+this.id+"' does not exist"); return; }
+            this.textareaValue = document.getElementById(this.id).value;
+            var ste = document.createElement("div");
+            document.getElementById(this.id).parentNode.replaceChild(ste, document.getElementById(this.id));
+            ste.id = this.id+"-ste";
+            ste.innerHTML = this.editorHtml ? this.editorHtml : this.getEditorHtml();
+            // BUTTONS
+            var buttons = ste.getElementsByTagName("td");
+            for (var i = 0; i < buttons.length; ++i) {
+                if (buttons[i].className == "button") {
+                    buttons[i].id = this.id+'-button-'+i;
+                    buttons[i].onmouseover = function() { this.className = "button-hover"; }
+                    buttons[i].onmouseout = function() { this.className = this.className.replace(/button-hover(\s)?/, "button"); }
+                    buttons[i].onclick = function(id) { return function() { this.className = "button-hover button-click"; setTimeout(function(){ document.getElementById(id).className = document.getElementById(id).className.replace(/(\s)?button-click/, ""); }, 100); } }(buttons[i].id);
+                }
+            }
+            // FRAME
+            if (this.browser.ie) {
+                this.frame = frames[this.id+"-frame"];
+            } else if (this.browser.gecko) {
+                this.frame = document.getElementById(this.id+"-frame").contentWindow;
+            }
+            this.frame.document.designMode = "on";
+            this.frame.document.open();
+            this.frame.document.write(this.frameHtml ? this.frameHtml : this.getFrameHtml());
+            this.frame.document.close();
+            insertHtmlFromTextarea();
+        }
+    };
+
+    function lockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']([^"']*)["']/g, 'href="simpletexteditor://simpletexteditor/$1"');
+    }
+
+    function unlockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']simpletexteditor:\/\/simpletexteditor\/([^"']*)["']/g, 'href="$1"');
+    }
+
+    function insertHtmlFromTextarea() {
+        try { self.frame.document.body.innerHTML = lockUrls(self.textareaValue); } catch (e) { setTimeout(insertHtmlFromTextarea, 10); }
+    }
+
+    this.getEditorHtml = function() {
+        var html = "";
+        html += '<input type="hidden" id="'+this.id+'" name="'+this.name+'" value="">';
+        html += '<table class="ste" cellspacing="0" cellpadding="0">';
+        html += '<tr><td class="bar"><table id="'+this.id+'-buttons" cellspacing="0" cellpadding="0"><tr>';
+        html += '<td><select onchange="'+this.objectId+'.execCommand(\'formatblock\', this.value);"><option value="">Normal</option><option value="<h1>">Heading 1</option><option value="<h2>">Heading 2</option><option value="<h3>">Heading 3</option><option value="<p>">Paragraph</option><option value="<pre>">Preformatted</option></select></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/bold.gif" width="20" height="20" alt="Bold" title="Bold" onclick="'+this.objectId+'.execCommand(\'bold\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/italic.gif" width="20" height="20" alt="Italic" title="Italic" onclick="'+this.objectId+'.execCommand(\'italic\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/underline.gif" width="20" height="20" alt="Underline" title="Underline" onclick="'+this.objectId+'.execCommand(\'underline\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/left.gif" width="20" height="20" alt="Align Left" title="Align Left" onclick="'+this.objectId+'.execCommand(\'justifyleft\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/center.gif" width="20" height="20" alt="Center" title="Center" onclick="'+this.objectId+'.execCommand(\'justifycenter\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/right.gif" width="20" height="20" alt="Align Right" title="Align Right" onclick="'+this.objectId+'.execCommand(\'justifyright\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ol.gif" width="20" height="20" alt="Ordered List" title="Ordered List" onclick="'+this.objectId+'.execCommand(\'insertorderedlist\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ul.gif" width="20" height="20" alt="Unordered List" title="Unordered List" onclick="'+this.objectId+'.execCommand(\'insertunorderedlist\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/outdent.gif" width="20" height="20" alt="Outdent" title="Outdent" onclick="'+this.objectId+'.execCommand(\'outdent\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/indent.gif" width="20" height="20" alt="Indent" title="Indent" onclick="'+this.objectId+'.execCommand(\'indent\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/link.gif" width="20" height="20" alt="Insert Link" title="Insert Link" onclick="'+this.objectId+'.execCommand(\'createlink\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/image.gif" width="20" height="20" alt="Insert Image" title="Insert Image" onclick="'+this.objectId+'.execCommand(\'insertimage\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/help.gif" width="20" height="20" alt="Help" title="Help" onclick="'+this.objectId+'.openWindow(\''+this.path+'html/texteditor/help.html\', \'300\', \'300\')"></td>';
+        html += '</tr></table></td></tr>';
+        html += '<tr><td class="frame"><iframe id="'+this.id+'-frame" frameborder="0"></iframe></td></tr>';
+        if (this.showViewSource) { html += '<tr><td class="source"><input id="'+this.id+'-viewSource" type="checkbox" onclick="'+this.objectId+'.toggleSource()"> View Source</td></tr>'; }
+        html += '</table>';
+        return html;
+    };
+
+    this.getFrameHtml = function() {
+        var html = "";
+        html += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
+        html += '<html><head>';
+        html += '<meta http-equiv="Content-Type" content="text/html; charset='+this.charset+'">';
+        html += '<title>SimpleTextEditor frame</title>';
+        html += '<style type="text/css">pre { background-color: #eeeeee; padding: 0.75em 1.5em; border: 1px solid #dddddd; }</style>';
+        if (this.cssFile) { html += '<link rel="stylesheet" type="text/css" href="'+this.cssFile+'">'; }
+        html += '<style type="text/css">html,body { cursor: text; } body { margin: 0.5em; padding: 0; }</style>';
+        html += '</head><body></body></html>';
+        return html;
+    };
+
+    this.openWindow = function(url, width, height) {
+        var x = (screen.width/2-width/2);
+        var y = (screen.height/2-height/2);
+        window.open(url, "", "scrollbars=yes,width="+width+",height="+height+",screenX="+(x)+",screenY="+y+",left="+x+",top="+y);
+    };
+
+    this.toggleSource = function() {
+        var html, text;
+        if (this.browser.ie) {
+            if (!this.viewSource) {
+                html = this.frame.document.body.innerHTML;
+                this.frame.document.body.innerText = unlockUrls(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                text = this.frame.document.body.innerText;
+                this.frame.document.body.innerHTML = lockUrls(text);
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        } else if (this.browser.gecko) {
+            if (!this.viewSource) {
+                html = document.createTextNode(this.frame.document.body.innerHTML);
+                this.frame.document.body.innerHTML = "";
+                this.frame.document.body.appendChild(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                html = this.frame.document.body.ownerDocument.createRange();
+                html.selectNodeContents(this.frame.document.body);
+                this.frame.document.body.innerHTML = html.toString();
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        }
+        document.getElementById(this.id+"-viewSource").checked = this.viewSource ? "checked" : "";
+        document.getElementById(this.id+"-viewSource").blur();
+    };
+
+    this.execCommand = function(cmd, value) {
+        if (cmd == "createlink" && !value) {
+            var url = prompt("Enter URL:", "");
+            if (url) {
+                this.frame.focus();
+                this.frame.document.execCommand("unlink", false, null);
+                if (this.browser.ie) this.frame.document.execCommand(cmd, false, "simpletexteditor://simpletexteditor/"+url);
+                else if (this.browser.gecko) this.frame.document.execCommand(cmd, false, url);
+                this.frame.focus();
+            }
+        } else if (cmd == "insertimage" && !value) {
+            var imageUrl = prompt("Enter Image URL:", "");
+            if (imageUrl) {
+                this.frame.focus();
+                this.frame.document.execCommand(cmd, false, imageUrl);
+                this.frame.focus();
+            }
+        } else {
+            this.frame.focus();
+            this.frame.document.execCommand(cmd, false, value);
+            this.frame.focus();
+        }
+    };
+
+    this.isOn = function() {
+        return Boolean(this.frame);
+    };
+
+    this.getContent = function() {
+        try { return unlockUrls(this.frame.document.body.innerHTML); } catch(e) { alert("SimpleTextEditor "+this.objectId+".getContent() failed"); }
+    };
+
+    this.submit = function() {
+        if (this.isOn()) {
+            if (this.viewSource) { this.toggleSource(); }
+            document.getElementById(this.id).value = this.getContent();
+        }
+    };
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,438 @@
+  /**************************************************************************
+   * GridSphere Object Functions
+   **************************************************************************/
+
+  /**
+   * Checks if an object with given name exists in form
+   */
+  function GridSphere_Object_existsInForm(form, name) {
+
+    // alert("Testing whether object [" + name + "] exists in form [" + form.name + "]");
+
+    for (var i = 0; i < form.elements.length; ++i) {
+
+      if (form.elements[i].name == name) {
+
+        // alert("Object " + name + " exists");
+
+        return true;
+      }
+    }
+
+    // alert("Object does not exist");
+
+    return false;
+  }
+
+  /**************************************************************************
+   * GridSphere Form Functions
+   **************************************************************************/
+
+  /**
+   * Submits the given action for the given form
+   */
+  function GridSphere_Form_submitAction(form, action) {
+    form.action=action;
+    form.submit();
+  }
+
+  /**************************************************************************
+   * GridSphere Check Box List Functions
+   **************************************************************************/
+  function GridSphere_CheckAll(checkname, exby) {
+    for (i = 0; i < checkname.length; i++) checkname[i].checked = exby.checked;
+  }
+
+  function GridSphere_CheckBoxList_checkAll(list) {
+
+      if (list[0].checked) {
+
+        // alert("GridSphere CheckBoxList Check All True");
+
+        for (i = 1; i < list.length; i++) {
+
+          list[i].checked = true;
+        }
+
+        // Select first list value if none selected yet
+        if (list[0].value == "") {
+
+          if (list.length > 1) {
+
+            list[0].value = list[1].value;
+          }
+        }
+
+      } else {
+
+        // alert("GridSphere CheckBoxList Check All False");
+
+        GridSphere_CheckBoxList_clear(list);
+      }
+  }
+
+  function GridSphere_CheckBoxList_clear(list) {
+
+    // alert("GridSphere CheckBoxList Clear");
+
+      for (i = 0; i < list.length; i++) {
+
+        list[i].checked = false;
+      }
+
+      // Clear selected value
+      list[0].value = "";
+  }
+
+  function GridSphere_CheckBoxList_checkOne(list)
+  {
+    // alert("GridSphere CheckBoxList Check One");
+
+      // Uncheck "all" option
+      list[0].checked = false;
+
+      // Uncheck those that don't match selection
+      for (i = 1; i < list.length; i++) {
+
+        if (list[i].value != list[0].value) {
+
+          list[i].checked = false;
+        }
+      }
+  }
+
+  function GridSphere_CheckBoxList_onClick(list, newSelection)
+  {
+    // alert("GridSphere CheckBoxList On Click");
+
+      if (newSelection.checked) {
+
+        // Save selection only if none made yet
+        if (list[0].value == "") {
+
+          list[0].value = newSelection.value;
+        }
+
+      } else {
+
+        // If saved selection was this one
+        if (list[0].value == newSelection.value) {
+
+          var found = false;
+
+          // Set selection to first checked item other than this
+          for (i = 1; i < list.length && !found; i++) {
+
+            if (list[i].checked) {
+
+              if (list[i].value != item.value) {
+
+                list[0].value = list[i].value;
+
+                found = true;
+              }
+            }
+          }
+
+          // If we didn't find a checked value
+          if (!found) {
+
+            // Set selection to none
+            list[0].value = "";
+          }
+        }
+      }
+
+      // alert("GridSphere CheckBoxList new selection: " + selection.value);
+  }
+
+  function GridSphere_CheckBoxList_validateCheckOneOrMore(list)
+  {
+    // alert("GridSphere CheckBoxList Validate Check One Or More");
+
+      // alert("Performing validate check one or more on " + list.name);
+
+      return (list[0].value != "");
+  }
+
+ function GridSphere_SelectSubmit( aform ) {
+    aform.submit();
+ }
+
+
+ function GridSphere_popup(mylink, windowname) {
+    if (! window.focus)return true;
+    var href;
+    if (typeof(mylink) == 'string')
+        href=mylink;
+    else
+        href=mylink.href;
+        window.open(href, windowname, 'width=800,height=600,scrollbars=yes,resizable=yes');
+    return false;
+ }
+
+
+// This code made publicly available from 
+// http://www.kryogenix.org/code/browser/sorttable/sorttable.js 
+// under MIT license - JN Mar 14 2004
+/* Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/* Modification of sorttable.js
+ * http://www.kryogenix.org/code/browser/sorttable/
+ * Original code by Stuart Langridge, November 2003
+ * Modified by Andy Edmonds, December 2003
+ *  Added alternateRowColors to color alternating rows
+ */
+
+addEvent(window, "load", sortables_init);
+
+var SORT_COLUMN_INDEX;
+
+function sortables_init() {
+    // Find all tables with class sortable and make them sortable
+    if (!document.getElementsByTagName) return;
+    tbls = document.getElementsByTagName("table");
+    for (ti=0;ti<tbls.length;ti++) {
+        thisTbl = tbls[ti];
+        if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) && (thisTbl.id)) {
+            //initTable(thisTbl.id);
+            ts_makeSortable(thisTbl);
+        }
+    }
+    alternateRowColors();
+}
+
+function ts_makeSortable(table) {
+    if (table.rows && table.rows.length > 0) {
+        var firstRow = table.rows[0];
+    }
+    if (!firstRow) return;
+
+    // We have a first row: assume it's the header, and make its contents clickable links
+    for (var i=0;i<firstRow.cells.length;i++) {
+        var cell = firstRow.cells[i];
+        var txt = ts_getInnerText(cell);
+        cell.innerHTML = '<a href="#" style="color: black; " class="sortheader" onclick="ts_resortTable(this);return false;">'+txt+'<span class="sortarrow">&nbsp;&nbsp;&nbsp;</span></a>';
+    }
+}
+
+function ts_getInnerText(el) {
+	if (typeof el == "string") return el;
+	if (typeof el == "undefined") { return el };
+	if (el.innerText) return el.innerText;	//Not needed but it is faster
+	var str = "";
+
+	var cs = el.childNodes;
+	var l = cs.length;
+	for (var i = 0; i < l; i++) {
+		switch (cs[i].nodeType) {
+			case 1: //ELEMENT_NODE
+				str += ts_getInnerText(cs[i]);
+				break;
+			case 3:	//TEXT_NODE
+				str += cs[i].nodeValue;
+				break;
+		}
+	}
+	return str;
+}
+
+function ts_resortTable(lnk) {
+    // get the span
+    var span;
+    for (var ci=0;ci<lnk.childNodes.length;ci++) {
+        if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span') span = lnk.childNodes[ci];
+    }
+    var spantext = ts_getInnerText(span);
+    var td = lnk.parentNode;
+    var column = td.cellIndex;
+    var table = getParent(td,'TABLE');
+
+    // Work out a type for the column
+    if (table.rows.length <= 1) return;
+    var itm = ts_getInnerText(table.rows[1].cells[column]);
+    sortfn = ts_sort_caseinsensitive;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^[�$]/)) sortfn = ts_sort_currency;
+    if (itm.match(/^[\d\.]+$/)) sortfn = ts_sort_numeric;
+    SORT_COLUMN_INDEX = column;
+    var firstRow = new Array();
+    var newRows = new Array();
+    for (i=0;i<table.rows[0].length;i++) { firstRow[i] = table.rows[0][i]; }
+    for (j=1;j<table.rows.length;j++) { newRows[j-1] = table.rows[j]; }
+
+    newRows.sort(sortfn);
+
+    if (span.getAttribute("sortdir") == 'down') {
+        ARROW = '&nbsp;&nbsp;&uarr;';
+        newRows.reverse();
+        span.setAttribute('sortdir','up');
+    } else {
+        ARROW = '&nbsp;&nbsp;&darr;';
+        span.setAttribute('sortdir','down');
+    }
+
+    // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
+    // don't do sortbottom rows
+    for (i=0;i<newRows.length;i++) { if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1))) table.tBodies[0].appendChild(newRows[i]);}
+    // do sortbottom rows only
+    for (i=0;i<newRows.length;i++) { if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1)) table.tBodies[0].appendChild(newRows[i]);}
+
+    // Delete any other arrows there may be showing
+    var allspans = document.getElementsByTagName("span");
+    for (var ci=0;ci<allspans.length;ci++) {
+        if (allspans[ci].className == 'sortarrow') {
+            if (getParent(allspans[ci],"table") == getParent(lnk,"table")) { // in the same table as us?
+                allspans[ci].innerHTML = '&nbsp;&nbsp;&nbsp;';
+            }
+        }
+    }
+
+    span.innerHTML = ARROW;
+		alternateRowColors();
+}
+
+function getParent(el, pTagName) {
+	if (el == null) return null;
+	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())	// Gecko bug, supposed to be uppercase
+		return el;
+	else
+		return getParent(el.parentNode, pTagName);
+}
+function ts_sort_date(a,b) {
+    // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa.length == 10) {
+        dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2);
+    } else {
+        yr = aa.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt1 = yr+aa.substr(3,2)+aa.substr(0,2);
+    }
+    if (bb.length == 10) {
+        dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2);
+    } else {
+        yr = bb.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt2 = yr+bb.substr(3,2)+bb.substr(0,2);
+    }
+    if (dt1==dt2) return 0;
+    if (dt1<dt2) return -1;
+    return 1;
+}
+
+function ts_sort_currency(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    return parseFloat(aa) - parseFloat(bb);
+}
+
+function ts_sort_numeric(a,b) {
+    aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(aa)) aa = 0;
+    bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(bb)) bb = 0;
+    return aa-bb;
+}
+
+function ts_sort_caseinsensitive(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+function ts_sort_default(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+
+function addEvent(elm, evType, fn, useCapture)
+// addEvent and removeEvent
+// cross-browser event handling for IE5+,  NS6 and Mozilla
+// By Scott Andrew
+{
+  if (elm.addEventListener){
+    elm.addEventListener(evType, fn, useCapture);
+    return true;
+  } else if (elm.attachEvent){
+    var r = elm.attachEvent("on"+evType, fn);
+    return r;
+  } else {
+    //alert("Handler could not be removed");
+  }
+}
+
+function origalternateRowColors() {
+	var className = 'sortable';
+	var rowcolor = '#dddddd';
+	var defaultrowcolor = '#ffffff';
+	var rows, arow;
+	var tables = document.getElementsByTagName("table");
+	var rowCount = 0;
+	for(var i=0;i<tables.length;i++) {
+		//dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+		if(tables.item(i).className == className) {
+			atable = tables.item(i);
+			rows = atable.getElementsByTagName("tr");
+			for(var j=0;j<rows.length;j++) {
+				arow = rows.item(j);
+				if(arow.nodeName == "TR") {
+					if(rowCount % 2) {
+						arow.style.backgroundColor = rowcolor;
+					} else {
+						// default case
+						arow.style.backgroundColor = defaultrowcolor;
+					}
+					rowCount++;
+				}
+			}
+			rowCount = 0;
+		}
+	}
+}
+
+
+  function alternateRowColors() {
+      var className = 'sortable';
+      var rows, arow;
+      var tables = document.getElementsByTagName("table");
+      var rowCount = 0;
+      for(var i=0;i<tables.length;i++) {
+          //dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+          if(tables.item(i).className == className) {
+              atable = tables.item(i);
+              rows = atable.getElementsByTagName("tr");
+              for(var j=1;j<rows.length;j++) {
+                  arow = rows.item(j);
+                  if(arow.nodeName == "TR") {
+                      if(rowCount % 2) {
+                          arow.setAttribute('class', 'portlet-section-alternate');
+
+                      } else {
+                          // default case
+                          arow.setAttribute('class', 'portlet-section-body');
+                      }
+                      rowCount++;
+                  }
+              }
+              rowCount = 0;
+          }
+      }
+  }
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere_ajax.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,167 @@
+
+var GridSphereAjaxHandler = {
+
+    handleSuccess:function(o) {
+        var cid = o.argument[0];
+        //alert(cid);
+        if(o.responseText != undefined){
+            //alert(o.responseText);
+            // create a temporary div element to store the responseText...
+            var serverResponse = document.createElement("div");
+            // ... and store the responseText inside it
+            serverResponse.innerHTML = o.responseText;
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            document.getElementById(cid).innerHTML = tempPageElements[0].innerHTML;
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one
+            alert(o.responseText);
+            document.getElementById(cid).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(mycid, action) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById(mycid);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&cid=" + encodeURIComponent(mycid) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ mycid ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    returnPortlet:function(portlet) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById("portlet#" + portlet);
+        var formElements = pageElements.getElementsByTagName("form");
+        if (formElements) YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&portlet=" + encodeURIComponent(portlet) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ "portlet#" + portlet ], scope:this},
+                postData);
+
+         //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    loadPortlets:function() {
+        var portlets = [];
+        var j = 0;
+        var divElements = document.getElementsByTagName("div");
+        for (var i = 0; i < divElements.length; i++) {
+            var anid = divElements[i].id;
+            var startIdx = anid.indexOf("portlet");
+            var lastIdx = anid.indexOf('#', startIdx);
+            if (startIdx >= 0) {
+                var portlet = anid.substring(lastIdx+1);
+                var webIdx = anid.indexOf('#', lastIdx);
+                this.returnPortlet(portlet);
+            }
+        }
+    }
+
+};
+
+var GridSphereAjaxHandler2 = {
+
+    handleSuccess:function(o) {
+        var name = o.argument[0];
+        //alert(name);
+        if(o.responseText != undefined) {
+            //alert(o.responseText);
+
+            // check to see if entire HTML has been transferred back
+
+            var fragment = o.responseText;
+
+            // check for a redirect!
+            if (fragment.substring(0,4) == "http") {
+                window.location = fragment;
+                return;
+            }
+
+            // create a temporary div element to store the responseText..
+            var tmpDiv = document.createElement("div");
+            // ... and store the responseText inside it
+
+            tmpDiv.innerHTML = fragment;
+
+            var frame = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-content', 'div', tmpDiv);
+            var titlebar = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-title', 'div', tmpDiv);
+            var panel = document.getElementById(name);
+            var title = YAHOO.util.Dom.getElementsByClassName('hd', 'div', panel);
+            var body = YAHOO.util.Dom.getElementsByClassName('bd', 'div', panel);
+            body[0].innerHTML = frame[0].innerHTML;
+            title[0].innerHTML = titlebar[0].innerHTML; // + "<a style=\"position:absolute; top:5px; right:4px; z-index:6; height:12px; width:12px; margin:0px; padding:0px; background-repeat:no-repeat; cursor:pointer; visibility:inherit;\" href=\"#\" onclick=\"YAHOO." + name + ".panel.hide();\">close</a>";
+
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            //var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            //document.getElementById(name).innerHTML = tempPageElements[0].innerHTML;
+            //window.eval("YAHOO." + name + ".panel.show()");
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one           
+            //alert("failure! " + o.statusText);
+            //alert(o.getResponseHeader());
+
+            document.getElementById(name).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(portlet, name, action) {
+
+        var pageElements = document.getElementById(name);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var extra =  YAHOO.util.Connect._sFormData;
+       
+        if (action != null) {
+            extra += action;
+        }
+        if (extra == null) {
+            extra = "";
+        } else {
+            extra = "&" + extra;
+        }
+
+        var sUrl = "/gridsphere/gs" + "?ajax=true&compname=" + name + "&portlet=" + encodeURIComponent(portlet) + extra;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ name ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    }
+
+};

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/scw.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/scw.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/scw.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1937 @@
+// *****************************************************************************
+//      Simple Calendar Widget - Cross-Browser Javascript pop-up calendar.
+//
+//   Copyright (C) 2005-2006  Anthony Garrett
+//
+//   This library is free software; you can redistribute it and/or
+//   modify it under the terms of the GNU Lesser General Public
+//   License as published by the Free Software Foundation; either
+//   version 2.1 of the License, or (at your option) any later version.
+//
+//   This library is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//   Lesser General Public License for more details.
+//
+//   You should have received a copy of the GNU Lesser General Public
+//   License along with this library; if not, it is available at
+//   the GNU web site (http://www.gnu.org/) or by writing to the
+//   Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+//   Boston, MA  02110-1301  USA
+//
+// *****************************************************************************
+//
+// Contact:   Sorry, I can't offer support for this but if you find a problem
+//            (or just want to tell me how useful you find it), please send
+//            me an email at scwfeedback at tarrget.info (Note the two Rs in
+//            tarrget).  I will try to fix problems quickly but this is a
+//            spare time thing for me.
+//
+// Credits:   I wrote this from scratch myself but I couldn't have done it
+//            without the superb "JavaScript The Definitive Guide" by David
+//            Flanagan (Pub. O'Reilly ISBN 0-596-00048-0).  I also recognise
+//            a contribution from my experience with PopCalendar 4.1 by
+//            Liming(Victor) Weng.
+//
+// Link back: Please give me credit and link back to my page.  To ensure that
+//            search engines give my page a higher ranking you can add the
+//            following HTML to any indexed page on your web site:
+//
+//            <A HREF="http://www.tarrget.info/calendar/scw.htm">
+//              Simple Calendar Widget by Anthony Garrett
+//            </A>
+//
+// Features:  Easily customised
+//                  (output date format, colours, language, year range and
+//                   week start day)
+//            Accepts a date as input
+//                  (see comments below for formats).
+//            Cross-browser code tested against;
+//                  Internet Explorer 6.0.28     Mozilla  1.7.1
+//                  Opera             7.52+      Firefox  0.9.1+
+//                  Konqueror         3.4.0      Flock    0.4.9
+//
+// How to add the Calendar to your page:
+//            This script needs to be defined for your page so, immediately
+//            after the BODY tag add the following line;
+//
+//                  <script type='Text/JavaScript' src='scw.js'></script>
+//
+//            Your root directory of the web site should also contain an empty
+//            file called "scwblank.html". See
+//                  http://www.tarrget.info/calendar/IEnightmare.html
+//            for a full explanation.
+//
+// How to use the Calendar once it is defined for your page:
+//
+//            Simply choose an event to trigger the calendar (like an onClick
+//            or an onMouseOver) and an element to work on (for the calendar
+//            to take its initial date from and write its output date to) then
+//            write it like this;
+//
+//                  <<event>>="scwShow(<<element>>,this);"
+//
+//            e.g. onClick="scwShow(scwID('myElement'),this);"
+//            or   onMouseOver="scwShow(this,this);"
+//
+//            NOTE: The "this" keyword causes the script to fail when the
+//                  triggered calendar is using an anchor tag. The following
+//                  syntax works;
+//
+//                  <a id="<<ID>>"
+//                     href="javascript:
+//                              scwShow(<<element>>,scwID('<<ID>>'));">
+//                      <<your text>>
+//                  </a>
+//
+//            If you are using a text node then specify the text's parent node
+//            in the function call. The date should be the only text under that
+//            node;
+//
+//            e.g.  <p onclick="scwShow(this,this);"><<date>></p>
+//
+//            You can also disable days of the week by adding arguments to the
+//            call to scwShow.  The values should be Sunday = 0 through to
+//            Saturday = 6.  A call to scwShow with Friday and Monday disabled
+//            would look something like this;
+//
+//                  scwShow(<<element>>,this,5,1);
+//
+//            Finally you can use the following technique to run a function
+//            when the calendar closes:
+//
+//                  scwNextAction=<<function>>.runsAfterSCW(this,<<arguments>>);
+//                  scwShow(<<element>>,this <<,optional arguments above>>);
+//
+//            Where <<function>> is a function defined on the calling page
+//            and <<arguments>> is the list of arguments being passed to that
+//            function.
+//
+//            ------------------------------------------------------------------
+//            Here's an extremely trivial but fully functioning example page
+//            showing two of the ways to trigger the calendar;
+//
+//            <html>
+//                <head><title>Basic Example</title></head>
+//                <body>
+//                    <script type='text/JavaScript' src='scw.js'></script>
+//                    <p onclick='scwShow(this,this);'>06-Dec-2006</p>
+//                    <input onclick='scwShow(this,this);' value='07-Dec-2006' />
+//                    <br/><br/>
+//                    <a id='aTest'
+//                       href='javascript:scwShow(scwID("aTest"),this);'>
+//                        08-Dec-2006
+//                    </a>
+//                </body>
+//            </html>
+//
+// *****************************************************************************
+//
+// See http://www.tarrget.info/calendar/scw.htm for a complete version history
+//
+// Version   Date        By               Description
+// =======   ====        ===============  ===========
+//   3.56    2006-12-13  Anthony Garrett  Fixed accidental disabling of the last
+//                                         day of the last month in the calendar.
+//                                        Added options to disable and hide days
+//                                         that are out of the currently displayed
+//                                         month. Thanks to Ruslan Androsyuk for
+//                                         this feature request.
+//                                        Applied the IFRAME backing to IE 7
+//                                         in order to improve rendering when
+//                                         the calendar overlays graphically
+//                                         dynamic objects.  Thanks to Shaun
+//                                         Plumb for reporting this issue.
+//                                        Allowed date input/output to be a
+//                                         text node.  Thanks to John Navratil
+//                                         for this suggestion (and others).
+//                                        Applied a work-around for Opera's
+//                                         buggy selectIndex setting.
+// *****************************************************************************
+
+// ************************************
+// Start of Simple Calendar Widget Code
+// ************************************
+
+// This date is used throughout to determine today's date.
+
+var scwDateNow = new Date(Date.parse(new Date().toDateString()));
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// Customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+// Set the bounds for the calendar here...
+// If you want the year to roll forward you can use something like this...
+//      var scwBaseYear = scwDateNow.getFullYear()-5;
+// alternatively, hard code a date like this...
+//      var scwBaseYear = 1990;
+
+var scwBaseYear = scwDateNow.getFullYear() - 10;
+
+// How many years do want to be valid and to show in the drop-down list?
+
+var scwDropDownYears = 20;
+
+// All language-dependent changes can be made here...
+
+// If you wish to work in a single language (other than English) then
+// just replace the English (in the function scwSetLanguage below) with
+// your own text.
+
+// Using multiple languages:
+// In order to keep this script to a resonable size I have not included
+// languages here.  You can set language fields in a function that you
+// should call  scwSetLanguage  the script will use your languages.
+// I have included all the translations that have been sent to me in
+// such a function on the demonstration page.
+
+var scwLanguage;
+
+function scwSetDefaultLanguage()
+{
+    try
+    {
+        scwSetLanguage();
+    }
+    catch (exception)
+    {// English
+        scwToday = 'Today:';
+        scwDrag = 'click here to drag';
+        scwArrMonthNames = ['Jan','Feb','Mar','Apr','May','Jun',
+                'Jul','Aug','Sep','Oct','Nov','Dec'];
+        scwArrWeekInits = ['S','M','T','W','T','F','S'];
+        scwInvalidDateMsg = 'The entered date is invalid.\n';
+        scwOutOfRangeMsg = 'The entered date is out of range.';
+        scwDoesNotExistMsg = 'The entered date does not exist.';
+        scwInvalidAlert = ['Invalid date (',') ignored.'];
+        scwDateDisablingError = ['Error ',' is not a Date object.'];
+        scwRangeDisablingError = ['Error ',
+                ' should consist of two elements.'];
+    }
+}
+
+// Note:  Always start the scwArrWeekInits array with your string for
+//        Sunday whatever scwWeekStart (below) is set to.
+
+// scwWeekStart determines the start of the week in the display
+// Set it to: 0 (Zero) for Sunday, 1 (One) for Monday etc..
+
+var scwWeekStart = 1;
+
+// The week start day for the display is taken as the week start
+// for week numbering.  This ensures that only one week number
+// applies to one line of the calendar table.
+// [ISO 8601 begins the week with Day 1 = Monday.]
+
+// If you want to see week numbering on the calendar, set
+// this to true.  If not, false.
+
+var scwWeekNumberDisplay = false;
+
+// Week numbering rules are generally based on a day in the week
+// that determines the first week of the year.  ISO 8601 uses
+// Thursday (day four when Sunday is day zero).  You can alter
+// the base day here.
+
+// See http://www.cl.cam.ac.uk/~mgk25/iso-time.html for more information
+
+var scwWeekNumberBaseDay = 4;
+
+// Each of the calendar's alert message types can be disabled
+// independently here.
+
+var scwShowInvalidDateMsg = true,
+        scwShowOutOfRangeMsg = true,
+        scwShowDoesNotExistMsg = true,
+        scwShowInvalidAlert = true,
+        scwShowDateDisablingError = true,
+        scwShowRangeDisablingError = true;
+
+// Set the allowed input date delimiters here...
+// E.g. To set the rising slash, hyphen, full-stop (aka stop or point),
+//      comma and space as delimiters use
+//              var scwArrDelimiters   = ['/','-','.',',',' '];
+
+var scwArrDelimiters = ['/','-','.',',',' '];
+
+// Set the format for the displayed 'Today' date and for the output
+// date here.
+//
+// The format is described using delimiters of your choice (as set
+// in scwArrDelimiters above) and case insensitive letters D, M and Y.
+//
+// Definition               Returns
+// ----------               -------
+// D            date in the month without zero filling
+// DD           date in the month left zero filled
+// M            month number without zero filling
+// MM           month number left zero filled
+// MMM          month string from scwArrMonthNames
+// YY           year number in two digits
+// YYYY         year number in four digits
+
+// Displayed "Today" date format
+
+var scwDateDisplayFormat = 'dd-mm-yy';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// Output date format
+
+var scwDateOutputFormat = 'DD MMM, YYYY';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// The input date is fully parsed so a format is not required,
+// but there is no way to differentiate the sequence reliably.
+//
+// e.g. Is 05/08/03     5th August 2003,
+//                      8th May    2003 or even
+//                      3rd August 2005?
+//
+// So, you have to state how the code should interpret input dates.
+//
+// The sequence should always contain one D, one M and one Y only,
+// in any order.
+
+var scwDateInputSequence = 'DMY';
+// e.g. 'MDY' for the US
+
+// Note: Because the user may select a date then trigger the
+//       calendar again to select another, it is necessary to
+//       have the input date sequence in the same order as the
+//       output display format.  To allow the flexibility of having
+//       a full input date and a partial (e.g. only Month and Year)
+//       output, the input sequence is set separately.
+//
+//       The same reason determines that the delimiters used should
+//       be in scwArrDelimiters.
+
+// scwZindex controls how the pop-up calendar interacts with the rest
+// of the page.  It is usually adequate to leave it as 1 (One) but I
+// have made it available here to help anyone who needs to alter the
+// level in order to ensure that the calendar displays correctly in
+// relation to all other elements on the page.
+
+var scwZindex = 1;
+
+// Personally I like the fact that entering 31-Sep-2005 displays
+// 1-Oct-2005, however you may want that to be an error.  If so,
+// set scwBlnStrict = true.  That will cause an error message to
+// display and the selected month is displayed without a selected
+// day. Thanks to Brad Allan for his feedback prompting this feature.
+
+var scwBlnStrict = false;
+
+// If you wish to disable any displayed day, e.g. Every Monday,
+// you can do it by setting the following array.  The array elements
+// match the displayed cells.
+//
+// You could put something like the following in your calling page
+// to disable all weekend days;
+//
+//  for (var i=0;i<scwEnabledDay.length;i++)
+//      {if (i%7%6==0) scwEnabledDay[i] = false;}
+//
+// The above approach will allow you to disable days of the week
+// for the whole of your page easily.  If you need to set different
+// disabled days for a number of date input fields on your page
+// there is an easier way: You can pass additional arguments to
+// scwShow. The syntax is described at the top of this script in
+// the section:
+//    "How to use the Calendar once it is defined for your page:"
+//
+// It is possible to use these two approaches in combination.
+
+var scwEnabledDay = [true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true];
+
+// You can disable any specific date (e.g. 24-Jan-2006 or Today) by
+// creating an element of the array scwDisabledDates as a date object
+// with the value you want to disable.  Date ranges can be disabled
+// by placing an array of two values (Start and End) into an element
+// of this array.
+
+var scwDisabledDates = new Array();
+
+// e.g. To disable 10-Dec-2005:
+//          scwDisabledDates[0] = new Date(2005,11,10);
+//
+//      or a range from 2004-Dec-25 to 2005-Jan-01:
+//          scwDisabledDates[1] = [new Date(2004,11,25),new Date(2005,0,1)];
+//
+// Remember that Javascript months are Zero-based.
+
+// The disabling by date and date range does prevent the current day
+// from being selected.  Disabling days of the week does not so you can set
+// the scwActiveToday value to false to prevent selection.
+
+var scwActiveToday = true;
+
+// Dates that are out of the displayed month are shown at the start
+// (unless the month starts on the first day of the week) and end of each
+// month.
+//
+// Set scwOutOfMonthDisable to  true  to disable these dates (or  false
+// to allow their selection).
+//
+// Set scwOutOfMonthHide    to  true  to hide    these dates (or  false
+// to make them visible).
+
+var scwOutOfMonthDisable = false;
+var scwOutOfMonthHide = false;
+
+// Dates that are out of the specified range can be displayed at the start
+// of the very first month and end of the very last.  Set
+// scwOutOfRangeDisable to  true  to disable these dates (or  false  to
+// allow their selection).
+
+var scwOutOfRangeDisable = true;
+
+// You can allow the calendar to be dragged around the screen by
+// using the setting scwAllowDrag to true.
+// I can't say I recommend it because of the danger of the user
+// forgetting which date field the calendar will update when there
+// are multiple date fields on a page.
+
+var scwAllowDrag = false;
+
+// Closing the calendar by clicking on it (rather than elsewhere on the
+// main page) can be inconvenient.  The scwClickToHide boolean value
+// controls this feature.
+
+var scwClickToHide = false;
+
+// I have made every effort to isolate the pop-up script from any
+// CSS defined on the main page but if you have anything set that
+// affects the pop-up (or you may want to change the way it looks)
+// then you can address it in the following style sheets.
+
+document.writeln(
+        '<style type="text/css">' +
+        '.scw           {padding:1px;vertical-align:middle;}' +
+        'iframe.scw     {position:absolute;z-index:' + scwZindex +
+        ';top:0px;left:0px;visibility:hidden;' +
+        'width:1px;height:1px;}' +
+        'table.scw      {padding:0px;visibility:hidden;' +
+        'position:absolute;cursor:default;' +
+        'width:200px;top:0px;left:0px;' +
+        'z-index:' + (scwZindex + 1) +
+        ';text-align:center;}' +
+        '</style>');
+
+// This style sheet can be extracted from the script and edited into regular
+// CSS (by removing all occurrences of + and '). That can be used as the
+// basis for themes. Classes are described in comments within the style
+// sheet.
+
+document.writeln(
+        '<style type="text/css">' +
+        '/* IMPORTANT:  The SCW calendar script requires all ' +
+        '               the classes defined here.' +
+        '*/' +
+        'table.scw      {padding:       1px;' +
+        'vertical-align:middle;' +
+        'border:        ridge 2px;' +
+        'font-size:     10pt;' +
+        'font-family:   Arial,Helvetica,Sans-Serif;' +
+        'font-weight:   bold;}' +
+        'td.scwDrag,' +
+        'td.scwHead                 {padding:       0px 0px;' +
+        'text-align:    center;}' +
+        'td.scwDrag                 {font-size:     8pt;}' +
+        'select.scwHead             {margin:        3px 1px;' +
+        'text-align:    center;}' +
+        'input.scwHead              {height:        22px;' +
+        'width:         22px;' +
+        'vertical-align:middle;' +
+        'text-align:    center;' +
+        'margin:        2px 1px;' +
+        'font-weight:   bold;' +
+        'font-size:     10pt;' +
+        'font-family:   fixedSys;}' +
+        'td.scwWeekNumberHead,' +
+        'td.scwWeek                 {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   bold;}' +
+        'td.scwFoot,' +
+        'td.scwFootHover,' +
+        'td.scwFoot:hover,' +
+        'td.scwFootDisabled         {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   normal;}' +
+        'table.scwCells             {text-align:    right;' +
+        'font-size:     8pt;' +
+        'width:         96%;}' +
+        'td.scwCells,' +
+        'td.scwCellsHover,' +
+        'td.scwCells:hover,' +
+        'td.scwCellsDisabled,' +
+        'td.scwCellsExMonth,' +
+        'td.scwCellsExMonthHover,' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthDisabled,' +
+        'td.scwCellsWeekend,' +
+        'td.scwCellsWeekendHover,' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendDisabled,' +
+        'td.scwInputDate,' +
+        'td.scwInputDateHover,' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateDisabled,' +
+        'td.scwWeekNo,' +
+        'td.scwWeeks                {padding:           3px;' +
+        'width:             16px;' +
+        'height:            16px;' +
+        'font-weight:       bold;' +
+        'vertical-align:    middle;}' +
+        '/* Blend the colours into your page here...    */' +
+        '/* Calendar background */' +
+        'table.scw                  {background-color:  #6666CC;}' +
+        '/* Drag Handle */' +
+        'td.scwDrag                 {background-color:  #9999CC;' +
+        'color:             #CCCCFF;}' +
+        '/* Week number heading */' +
+        'td.scwWeekNumberHead       {color:             #6666CC;}' +
+        '/* Week day headings */' +
+        'td.scwWeek                 {color:             #CCCCCC;}' +
+        '/* Week numbers */' +
+        'td.scwWeekNo               {background-color:  #776677;' +
+        'color:             #CCCCCC;}' +
+        '/* Enabled Days */' +
+        '/* Week Day */' +
+        'td.scwCells                {background-color:  #CCCCCC;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate            {background-color:  #CC9999;' +
+        'color:             #FF0000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekend         {background-color:  #CCCCCC;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth         {background-color:  #CCCCCC;' +
+        'color:             #666666;}' +
+        '/* Today selector */' +
+        'td.scwFoot                 {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '/* MouseOver/Hover formatting ' +
+        '       If you want to "turn off" any of the formatting ' +
+        '       then just set to the same as the standard format' +
+        '       above.' +
+        ' ' +
+        '       Note: The reason that the following are' +
+        '       implemented using both a class and a :hover' +
+        '       pseudoclass is because Opera handles the rendering' +
+        '       involved in the class swap very poorly and IE6 ' +
+        '       (and below) only implements pseudoclasses on the' +
+        '       anchor tag.' +
+        '*/' +
+        '/* Active cells */' +
+        'td.scwCells:hover,' +
+        'td.scwCellsHover           {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateHover       {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Weekend cells */' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Today selector */' +
+        'td.scwFoot:hover,' +
+        'td.scwFootHover            {color:             #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'font-weight:       bold;}' +
+        '/* Disabled cells */' +
+        '/* Week Day */' +
+        '/* Day matching the input date */' +
+        'td.scwInputDateDisabled    {background-color:  #999999;' +
+        'color:             #000000;}' +
+        'td.scwCellsDisabled        {background-color:  #999999;' +
+        'color:             #000000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekendDisabled {background-color:  #999999;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonthDisabled {background-color:  #999999;' +
+        'color:             #666666;}' +
+        'td.scwFootDisabled         {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '</style>'
+        );
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// End of customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+//  Variables required by both scwShow and scwShowMonth
+
+var scwTargetEle,
+        scwTriggerEle,
+        scwMonthSum = 0,
+        scwBlnFullInputDate = false,
+        scwPassEnabledDay = new Array(),
+        scwSeedDate = new Date(),
+        scwParmActiveToday = true,
+        scwWeekStart = scwWeekStart % 7,
+        scwToday,
+        scwDrag,
+        scwArrMonthNames,
+        scwArrWeekInits,
+        scwInvalidDateMsg,
+        scwOutOfRangeMsg,
+        scwDoesNotExistMsg,
+        scwInvalidAlert,
+        scwDateDisablingError,
+        scwRangeDisablingError;
+
+// Add a method to format a date into the required pattern
+
+Date.prototype.scwFormat =
+function(scwFormat)
+{
+    var charCount = 0,
+            codeChar = '',
+            result = '';
+
+    for (var i = 0; i <= scwFormat.length; i++)
+    {
+        if (i < scwFormat.length && scwFormat.charAt(i) == codeChar)
+        {// If we haven't hit the end of the string and
+            // the format string character is the same as
+            // the previous one, just clock up one to the
+            // length of the current element definition
+            charCount++;
+        }
+        else {
+            switch (codeChar)
+                    {case 'y': case 'Y':
+                result += (this.getFullYear() % Math.
+                        pow(10, charCount)).toString().
+                        scwPadLeft(charCount);
+                break;
+                case 'm': case 'M':
+            // If we find an M, check the number of them to
+            // determine whether to get the month number or
+            // the month name.
+                result += (charCount < 3)
+                        ? (this.getMonth() + 1).
+                        toString().scwPadLeft(charCount)
+                        : scwArrMonthNames[this.getMonth()];
+                break;
+                case 'd': case 'D':
+            // If we find a D, get the date and format it
+                result += this.getDate().toString().
+                        scwPadLeft(charCount);
+                break;
+                default:
+                // Copy any unrecognised characters across
+                    while (charCount-- > 0) {
+                        result += codeChar;
+                    }
+            }
+
+            if (i < scwFormat.length)
+            {// Store the character we have just worked on
+                codeChar = scwFormat.charAt(i);
+                charCount = 1;
+            }
+        }
+    }
+    return result;
+}
+
+// Add a method to left pad zeroes
+
+String.prototype.scwPadLeft =
+function(padToLength)
+{
+    var result = '';
+    for (var i = 0; i < (padToLength - this.length); i++) {
+        result += '0';
+    }
+    return (result + this);
+}
+
+// Set up a closure so that any next function can be triggered
+// after the calendar has been closed AND that function can take
+// arguments.
+
+Function.prototype.runsAfterSCW =
+function() {
+    var func = this,
+            args = new Array(arguments.length);
+
+    for (var i = 0; i < args.length; ++i)
+    {
+        args[i] = arguments[i];
+    }
+
+    return function()
+    {// concat/join the two argument arrays
+        for (var i = 0; i < arguments.length; ++i)
+        {
+            args[args.length] = arguments[i];
+        }
+
+        return (args.shift() == scwTriggerEle)
+                ? func.apply(this, args) : null;
+    }
+};
+
+// Set up some shortcuts
+
+function scwID(id) {
+    return document.getElementById(id);
+}
+
+// Use a global variable for the return value from the next action
+// IE fails to pass the function through if the target element is in
+// a form and scwNextAction is not defined.
+
+var scwNextActionReturn, scwNextAction;
+
+// ****************************************************************************
+// Start of Function Library
+//
+//  Exposed functions:
+//
+//      scwShow             Entry point for display of calendar,
+//                              called in main page.
+//      showCal             Legacy name of scwShow:
+//                              Passes only legacy arguments,
+//                              not the optional day disabling arguments.
+//
+//      scwShowMonth        Displays a month on the calendar,
+//                              Called when a month is set or changed.
+//
+//      scwBeginDrag        Controls calendar dragging.
+//
+//      scwCancel           Called when the calendar background is clicked:
+//                              Calls scwStopPropagation and may call scwHide.
+//      scwHide             Hides the calendar, called on various events.
+//      scwStopPropagation  Stops the propagation of an event.
+//
+// ****************************************************************************
+
+function showCal(scwEle, scwSourceEle) {
+    scwShow(scwEle, scwSourceEle);
+}
+function scwShow(scwEle, scwSourceEle)
+{
+    scwTriggerEle = scwSourceEle;
+
+    // Take any parameters that there might be from the third onwards as
+    // day numbers to be disabled 0 = Sunday through to 6 = Saturday.
+
+    scwParmActiveToday = true;
+
+    for (var i = 0; i < 7; i++)
+    {
+        scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = true;
+        for (var j = 2; j < arguments.length; j++)
+        {
+            if (arguments[j] == i)
+            {
+                scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = false;
+                if (scwDateNow.getDay() == i) scwParmActiveToday = false;
+            }
+        }
+    }
+
+    //   If no value is preset then the seed date is
+    //      Today (when today is in range) OR
+    //      The middle of the date range.
+
+    scwSeedDate = scwDateNow;
+
+    // Find the date and Strip space characters from start and
+    // end of date input.
+
+    if (typeof scwEle.value == 'undefined')
+    {
+        var scwChildNodes = scwEle.childNodes;
+        for (var i = 0; i < scwChildNodes.length; i++)
+            if (scwChildNodes[i].nodeType == 3)
+            {
+                var scwDateValue = scwChildNodes[i].nodeValue.replace(/^\s+/, '').replace(/\s+$/, '');
+                if (scwDateValue.length > 0)
+                {
+                    scwTriggerEle.scwTextNode = scwChildNodes[i];
+                    scwTriggerEle.scwLength = scwChildNodes[i].nodeValue.length;
+                    break;
+                }
+            }
+    }
+    else
+    {
+        var scwDateValue = scwEle.value.replace(/^\s+/, '').replace(/\s+$/, '');
+    }
+
+    // Set the language-dependent elements
+
+    scwSetDefaultLanguage();
+
+    scwID('scwDragText').innerHTML = scwDrag;
+
+    scwID('scwMonths').options.length = 0;
+    for (var i = 0; i < scwArrMonthNames.length; i++)
+        scwID('scwMonths').options[i] =
+        new Option(scwArrMonthNames[i], scwArrMonthNames[i]);
+
+    scwID('scwYears').options.length = 0;
+    for (var i = 0; i < scwDropDownYears; i++)
+        scwID('scwYears').options[i] =
+        new Option((scwBaseYear + i), (scwBaseYear + i));
+
+    for (var i = 0; i < scwArrWeekInits.length; i++)
+        scwID('scwWeekInit' + i).innerHTML =
+        scwArrWeekInits[(i + scwWeekStart) %
+                        scwArrWeekInits.length];
+
+    if (scwID('scwFoot'))
+        scwID('scwFoot').innerHTML =
+        scwToday + ' ' +
+        scwDateNow.scwFormat(scwDateDisplayFormat);
+
+    if (scwDateValue.length == 0)
+    {// If no value is entered and today is within the range,
+        // use today's date, otherwise use the middle of the valid range.
+
+        scwBlnFullInputDate = false;
+
+        if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) < scwSeedDate ||
+            (new Date(scwBaseYear, 0, 1)) > scwSeedDate
+                )
+        {
+            scwSeedDate = new Date(scwBaseYear +
+                                   Math.floor(scwDropDownYears / 2), 5, 1);
+        }
+    }
+    else
+    {
+        function scwInputFormat()
+        {
+            var scwArrSeed = new Array(),
+                    scwArrInput = scwDateValue.
+                            split(new RegExp('[\\' + scwArrDelimiters.
+                            join('\\') + ']+', 'g'));
+
+            // "Escape" all the user defined date delimiters above -
+            // several delimiters will need it and it does no harm for
+            // the others.
+
+            // Strip any empty array elements (caused by delimiters)
+            // from the beginning or end of the array. They will
+            // still appear in the output string if in the output
+            // format.
+
+            if (scwArrInput[0] != null)
+            {
+                if (scwArrInput[0].length == 0) scwArrInput.splice(0, 1);
+
+                if (scwArrInput[scwArrInput.length - 1].length == 0)
+                    scwArrInput.splice(scwArrInput.length - 1, 1);
+            }
+
+            scwBlnFullInputDate = false;
+
+            switch (scwArrInput.length)
+                    {case 1:
+            {// Year only entry
+                scwArrSeed[0] = parseInt(scwArrInput[0], 10);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+                break;
+            }
+                case 2:
+                {// Year and Month entry
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] = 1;
+                    // Day
+                    break;
+                }
+                case 3:
+                {// Day Month and Year entry
+
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/D/i)], 10);
+                    // Day
+
+                    scwBlnFullInputDate = true;
+                    break;
+                }
+                default:
+                {// A stuff-up has led to more than three elements in
+                    // the date.
+                    scwArrSeed[0] = 0;
+                    // Year
+                    scwArrSeed[1] = 0;
+                    // Month
+                    scwArrSeed[2] = 0;
+                    // Day
+                }
+            }
+
+            // These regular expressions validate the input date format
+            // to the following rules;
+            //         Day   1-31 (optional zero on single digits)
+            //         Month 1-12 (optional zero on single digits)
+            //                     or case insensitive name
+            //         Year  One, Two or four digits
+
+            // Months names are as set in the language-dependent
+            // definitions and delimiters are set just below there
+
+            var scwExpValDay = /^(0?[1-9]|[1-2]\d|3[0-1])$/,
+                    scwExpValMonth = new RegExp('^(0?[1-9]|1[0-2]|' +
+                                                scwArrMonthNames.join('|') +
+                                                ')$', 'i'),
+                    scwExpValYear = /^(\d{1,2}|\d{4})$/;
+
+            // Apply validation and report failures
+
+            if (scwExpValYear.exec(scwArrSeed[0]) == null ||
+                scwExpValMonth.exec(scwArrSeed[1]) == null ||
+                scwExpValDay.exec(scwArrSeed[2]) == null
+                    )
+            {
+                if (scwShowInvalidDateMsg)
+                    alert(scwInvalidDateMsg +
+                          scwInvalidAlert[0] + scwDateValue +
+                          scwInvalidAlert[1]);
+                scwBlnFullInputDate = false;
+                scwArrSeed[0] = scwBaseYear +
+                                Math.floor(scwDropDownYears / 2);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+            }
+
+            // Return the  Year    in scwArrSeed[0]
+            //             Month   in scwArrSeed[1]
+            //             Day     in scwArrSeed[2]
+
+            return scwArrSeed;
+        }
+
+        // Parse the string into an array using the allowed delimiters
+
+        scwArrSeedDate = scwInputFormat();
+
+        // So now we have the Year, Month and Day in an array.
+
+        //   If the year is one or two digits then the routine assumes a
+        //   year belongs in the 21st Century unless it is less than 50
+        //   in which case it assumes the 20th Century is intended.
+
+        if (scwArrSeedDate[0] < 100)
+            scwArrSeedDate[0] += (scwArrSeedDate[0] > 50) ? 1900 : 2000;
+
+        // Check whether the month is in digits or an abbreviation
+
+        if (scwArrSeedDate[1].search(/\d+/) != 0)
+        {
+            month = scwArrMonthNames.join('|').toUpperCase().
+                    search(scwArrSeedDate[1].substr(0, 3).
+                    toUpperCase());
+            scwArrSeedDate[1] = Math.floor(month / 4) + 1;
+        }
+
+        scwSeedDate = new Date(scwArrSeedDate[0],
+                scwArrSeedDate[1] - 1,
+                scwArrSeedDate[2]);
+    }
+
+    // Test that we have arrived at a valid date
+
+    if (isNaN(scwSeedDate))
+    {
+        if (scwShowInvalidDateMsg)
+            alert(scwInvalidDateMsg +
+                  scwInvalidAlert[0] + scwDateValue +
+                  scwInvalidAlert[1]);
+        scwSeedDate = new Date(scwBaseYear +
+                               Math.floor(scwDropDownYears / 2), 5, 1);
+        scwBlnFullInputDate = false;
+    }
+    else
+    {// Test that the date is within range,
+        // if not then set date to a sensible date in range.
+
+        if ((new Date(scwBaseYear, 0, 1)) > scwSeedDate)
+        {
+            if (scwBlnStrict && scwShowOutOfRangeMsg)
+                alert(scwOutOfRangeMsg);
+            scwSeedDate = new Date(scwBaseYear, 0, 1);
+            scwBlnFullInputDate = false;
+        }
+        else
+        {
+            if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) <
+                scwSeedDate)
+            {
+                if (scwBlnStrict && scwShowOutOfRangeMsg)
+                    alert(scwOutOfRangeMsg);
+                scwSeedDate = new Date(scwBaseYear +
+                                       Math.floor(scwDropDownYears) - 1,
+                        11, 1);
+                scwBlnFullInputDate = false;
+            }
+            else
+            {
+                if (scwBlnStrict && scwBlnFullInputDate &&
+                    (scwSeedDate.getDate() != scwArrSeedDate[2] ||
+                     (scwSeedDate.getMonth() + 1) != scwArrSeedDate[1] ||
+                     scwSeedDate.getFullYear() != scwArrSeedDate[0]
+                            )
+                        )
+                {
+                    if (scwShowDoesNotExistMsg) alert(scwDoesNotExistMsg);
+                    scwSeedDate = new Date(scwSeedDate.getFullYear(),
+                            scwSeedDate.getMonth() - 1, 1);
+                    scwBlnFullInputDate = false;
+                }
+            }
+        }
+    }
+
+    // Test the disabled dates for validity
+    // Give error message if not valid.
+
+    for (var i = 0; i < scwDisabledDates.length; i++)
+    {
+        if (!((typeof scwDisabledDates[i] == 'object') &&
+              (scwDisabledDates[i].constructor == Date)))
+        {
+            if ((typeof scwDisabledDates[i] == 'object') &&
+                (scwDisabledDates[i].constructor == Array))
+            {
+                var scwPass = true;
+
+                if (scwDisabledDates[i].length != 2)
+                {
+                    if (scwShowRangeDisablingError)
+                        alert(scwRangeDisablingError[0] +
+                              scwDisabledDates[i] +
+                              scwRangeDisablingError[1]);
+                    scwPass = false;
+                }
+                else
+                {
+                    for (var j = 0; j < scwDisabledDates[i].length; j++)
+                    {
+                        if (!((typeof scwDisabledDates[i][j]
+                                == 'object') &&
+                              (scwDisabledDates[i][j].constructor
+                                      == Date)))
+                        {
+                            if (scwShowRangeDisablingError)
+                                alert(scwDateDisablingError[0] +
+                                      scwDisabledDates[i][j] +
+                                      scwDateDisablingError[1]);
+                            scwPass = false;
+                        }
+                    }
+                }
+
+                if (scwPass &&
+                    (scwDisabledDates[i][0] > scwDisabledDates[i][1])
+                        )
+                {
+                    scwDisabledDates[i].reverse();
+                }
+            }
+            else
+            {
+                if (scwShowRangeDisablingError)
+                    alert(scwDateDisablingError[0] +
+                          scwDisabledDates[i] +
+                          scwDateDisablingError[1]);
+            }
+        }
+    }
+
+    // Calculate the number of months that the entered (or
+    // defaulted) month is after the start of the allowed
+    // date range.
+
+    scwMonthSum = 12 * (scwSeedDate.getFullYear() - scwBaseYear) +
+                  scwSeedDate.getMonth();
+
+    // Set the drop down boxes.
+
+    scwID('scwYears').options.selectedIndex = Math.floor(scwMonthSum / 12);
+    scwID('scwMonths').options.selectedIndex = (scwMonthSum % 12);
+
+    // Opera has a bug with this method of setting the selected index.
+    // It requires the following work-around to force SELECTs to display
+    // correctly.
+
+    if (window.opera)
+    {
+        scwID('scwMonths').style.display = 'none';
+        scwID('scwMonths').style.display = 'block';
+        scwID('scwYears').style.display = 'none';
+        scwID('scwYears').style.display = 'block';
+    }
+
+    // The bug is apparently known and "fixed for future versions"
+    // but they say they aren't going to put the fix into the 9.x
+    // series.
+
+    // Check whether or not dragging is allowed and display drag handle
+    // if necessary
+
+    scwID('scwDrag').style.display =
+    (scwAllowDrag)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-row')
+            : 'none';
+
+    // Display the month
+
+    scwShowMonth(0);
+
+    // Position the calendar box
+
+    // The object sniffing for Opera allows for the fact that Opera
+    // is the only major browser that correctly reports the position
+    // of an element in a scrollable DIV.  This is because IE and
+    // Firefox omit the DIV from the offsetParent tree.
+
+    scwTargetEle = scwEle;
+
+    var offsetTop = parseInt(scwEle.offsetTop, 10) +
+                    parseInt(scwEle.offsetHeight, 10),
+            offsetLeft = parseInt(scwEle.offsetLeft, 10);
+
+    if (!window.opera)
+    {
+        while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML')
+        {
+            offsetTop -= parseInt(scwEle.scrollTop, 10);
+            offsetLeft -= parseInt(scwEle.scrollLeft, 10);
+            scwEle = scwEle.parentNode;
+        }
+        scwEle = scwTargetEle;
+    }
+
+    do {
+        scwEle = scwEle.offsetParent;
+        offsetTop += parseInt(scwEle.offsetTop, 10);
+        offsetLeft += parseInt(scwEle.offsetLeft, 10);
+    }
+    while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML');
+
+    scwID('scw').style.top = offsetTop + 'px';
+    scwID('scw').style.left = offsetLeft + 'px';
+
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.top = offsetTop + 'px';
+        scwID('scwIframe').style.left = offsetLeft + 'px';
+        scwID('scwIframe').style.width = (scwID('scw').offsetWidth - 2) + 'px';
+        scwID('scwIframe').style.height = (scwID('scw').offsetHeight - 2) + 'px';
+        scwID('scwIframe').style.visibility = 'visible';
+    }
+
+    // Show it on the page
+
+    scwID('scw').style.visibility = 'visible';
+
+    // Ensure that Opera actually displays the value that is selected!
+
+    scwID('scwYears').options.selectedIndex = scwID('scwYears').options.selectedIndex;
+    scwID('scwMonths').options.selectedIndex = scwID('scwMonths').options.selectedIndex;
+
+    var el = (scwSourceEle.parentNode)
+            ? scwSourceEle.parentNode
+            : scwSourceEle;
+
+    if (typeof event == 'undefined')
+    {
+        el.addEventListener('click',
+                scwStopPropagation,
+                false);
+    }
+    else {
+        if (el.attachEvent)
+        {
+            el.attachEvent('onclick', scwStopPropagation);
+        }
+        else {
+            event.cancelBubble = true;
+        }
+    }
+}
+
+function scwHide()
+{
+    scwID('scw').style.visibility = 'hidden';
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.visibility = 'hidden';
+    }
+
+    if (typeof scwNextAction != 'undefined' && scwNextAction != null)
+    {
+        scwNextActionReturn = scwNextAction();
+        // Explicit null set to prevent closure causing memory leak
+        scwNextAction = null;
+    }
+}
+
+function scwCancel(scwEvt)
+{
+    if (scwClickToHide) scwHide();
+    scwStopPropagation(scwEvt);
+}
+
+function scwStopPropagation(scwEvt)
+{
+    if (scwEvt.stopPropagation)
+        scwEvt.stopPropagation();     // Capture phase
+    else   scwEvt.cancelBubble = true;
+    // Bubbling phase
+}
+
+function scwBeginDrag(event)
+{
+    var elementToDrag = scwID('scw');
+
+    var deltaX = event.clientX,
+            deltaY = event.clientY,
+            offsetEle = elementToDrag;
+
+    do {
+        deltaX -= parseInt(offsetEle.offsetLeft, 10);
+        deltaY -= parseInt(offsetEle.offsetTop, 10);
+        offsetEle = offsetEle.offsetParent;
+    }
+    while (offsetEle.tagName != 'BODY' &&
+           offsetEle.tagName != 'HTML');
+
+    if (document.addEventListener)
+    {
+        document.addEventListener('mousemove',
+                moveHandler,
+                true);
+        // Capture phase
+        document.addEventListener('mouseup',
+                upHandler,
+                true);
+        // Capture phase
+    }
+    else {
+        elementToDrag.attachEvent('onmousemove',
+                moveHandler);
+        // Bubbling phase
+        elementToDrag.attachEvent('onmouseup',
+                upHandler);
+        // Bubbling phase
+        elementToDrag.setCapture();
+    }
+
+    scwStopPropagation(event);
+
+    function moveHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        elementToDrag.style.left = (scwEvt.clientX - deltaX) + 'px';
+        elementToDrag.style.top = (scwEvt.clientY - deltaY) + 'px';
+
+        if (scwID('scwIframe'))
+        {
+            scwID('scwIframe').style.left =
+            (scwEvt.clientX - deltaX) + 'px';
+            scwID('scwIframe').style.top =
+            (scwEvt.clientY - deltaY) + 'px';
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+
+    function upHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        if (document.removeEventListener)
+        {
+            document.removeEventListener('mousemove',
+                    moveHandler,
+                    true);
+            // Capture phase
+            document.removeEventListener('mouseup',
+                    upHandler,
+                    true);
+            // Capture phase
+        }
+        else {
+            elementToDrag.detachEvent('onmouseup',
+                    upHandler);
+            // Bubbling phase
+            elementToDrag.detachEvent('onmousemove',
+                    moveHandler);
+            // Bubbling phase
+            elementToDrag.releaseCapture();
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+}
+
+function scwShowMonth(scwBias)
+{// Set the selectable Month and Year
+    // May be called: from the left and right arrows
+    //                  (shift month -1 and +1 respectively)
+    //                from the month selection list
+    //                from the year selection list
+    //                from the showCal routine
+    //                  (which initiates the display).
+
+    var scwShowDate = new Date(Date.parse(new Date().toDateString())),
+            scwStartDate = new Date();
+
+    // Set the time to the middle of the day so that the handful of
+    // regions that have daylight saving shifts that change the day
+    // of the month (i.e. turn the clock back at midnight or forward
+    // at 23:00) do not mess up the date display in the calendar.
+
+    scwShowDate.setHours(12);
+
+    scwSelYears = scwID('scwYears');
+    scwSelMonths = scwID('scwMonths');
+
+    if (scwSelYears.options.selectedIndex > -1)
+    {
+        scwMonthSum = 12 * (scwSelYears.options.selectedIndex) + scwBias;
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+    else
+    {
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+
+    scwShowDate.setFullYear(scwBaseYear + Math.floor(scwMonthSum / 12),
+            (scwMonthSum % 12),
+            1);
+
+    // If the Week numbers are displayed, shift the week day names
+    // to the right.
+    scwID('scwWeek_').style.display =
+    (scwWeekNumberDisplay)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-cell')
+            : 'none';
+
+    if ((12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) < (12 * scwDropDownYears) &&
+        (12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) > -1)
+    {
+        scwSelYears.options.selectedIndex = Math.floor(scwMonthSum / 12);
+        scwSelMonths.options.selectedIndex = (scwMonthSum % 12);
+
+        scwCurMonth = scwShowDate.getMonth();
+
+        scwShowDate.setDate((((scwShowDate.
+                getDay() - scwWeekStart) < 0) ? -6 : 1) +
+                            scwWeekStart - scwShowDate.getDay());
+
+        // This statement moved by Michael Cerveny to make version 3.55
+        var scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                scwShowDate.getMonth(),
+                scwShowDate.getDate()).valueOf();
+
+        scwStartDate = new Date(scwShowDate);
+
+        var scwFoot = scwID('scwFoot');
+
+        function scwFootOutput() {
+            scwSetOutput(scwDateNow);
+        }
+
+        if (scwDisabledDates.length == 0)
+        {
+            if (scwActiveToday && scwParmActiveToday)
+            {
+                scwFoot.onclick = scwFootOutput;
+                scwFoot.className = 'scwFoot';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = scwChangeClass;
+                    scwFoot.onmouseout = scwChangeClass;
+                }
+
+            }
+            else
+            {
+                scwFoot.onclick = null;
+                scwFoot.className = 'scwFootDisabled';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = null;
+                    scwFoot.onmouseout = null;
+                }
+
+                if (document.addEventListener)
+                {
+                    scwFoot.addEventListener('click',
+                            scwStopPropagation,
+                            false);
+                }
+                else {
+                    scwFoot.attachEvent('onclick',
+                            scwStopPropagation);
+                }
+            }
+        }
+        else
+        {
+            for (var k = 0; k < scwDisabledDates.length; k++)
+            {
+                if (!scwActiveToday || !scwParmActiveToday ||
+                    ((typeof scwDisabledDates[k] == 'object') &&
+                     (((scwDisabledDates[k].constructor == Date) &&
+                       scwDateNow.valueOf() == scwDisabledDates[k].
+                               valueOf()
+                             ) ||
+                      ((scwDisabledDates[k].constructor == Array) &&
+                       scwDateNow.valueOf() >= scwDisabledDates[k][0].
+                               valueOf() &&
+                       scwDateNow.valueOf() <= scwDisabledDates[k][1].
+                               valueOf()
+                              )
+                             )
+                            )
+                        )
+                {
+                    scwFoot.onclick = null;
+                    scwFoot.className = 'scwFootDisabled';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = null;
+                        scwFoot.onmouseout = null;
+                    }
+
+                    if (document.addEventListener)
+                    {
+                        scwFoot.addEventListener('click',
+                                scwStopPropagation,
+                                false);
+                    }
+                    else {
+                        scwFoot.attachEvent('onclick',
+                                scwStopPropagation);
+                    }
+                    break;
+                }
+                else
+                {
+                    scwFoot.onclick = scwFootOutput;
+                    scwFoot.className = 'scwFoot';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = scwChangeClass;
+                        scwFoot.onmouseout = scwChangeClass;
+                    }
+                }
+            }
+        }
+
+        function scwSetOutput(scwOutputDate)
+        {
+            if (typeof scwTargetEle.value == 'undefined')
+            {
+                scwTriggerEle.scwTextNode.
+                        replaceData(0, scwTriggerEle.scwLength,
+                        scwOutputDate.scwFormat(scwDateOutputFormat));
+            }
+            else
+            {
+                scwTargetEle.value =
+                scwOutputDate.scwFormat(scwDateOutputFormat);
+            }
+            scwHide();
+        }
+
+        function scwCellOutput(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt),
+                    scwOutputDate = new Date(scwStartDate);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            scwOutputDate.setDate(scwStartDate.getDate() +
+                                  parseInt(scwEle.id.substr(8), 10));
+
+            scwSetOutput(scwOutputDate);
+        }
+
+        function scwChangeClass(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            switch (scwEle.className)
+                    {case 'scwCells':
+                scwEle.className = 'scwCellsHover';
+                break;
+                case 'scwCellsHover':
+                    scwEle.className = 'scwCells';
+                    break;
+                case 'scwCellsExMonth':
+                    scwEle.className = 'scwCellsExMonthHover';
+                    break;
+                case 'scwCellsExMonthHover':
+                    scwEle.className = 'scwCellsExMonth';
+                    break;
+                case 'scwCellsWeekend':
+                    scwEle.className = 'scwCellsWeekendHover';
+                    break;
+                case 'scwCellsWeekendHover':
+                    scwEle.className = 'scwCellsWeekend';
+                    break;
+                case 'scwFoot':
+                    scwEle.className = 'scwFootHover';
+                    break;
+                case 'scwFootHover':
+                    scwEle.className = 'scwFoot';
+                    break;
+                case 'scwInputDate':
+                    scwEle.className = 'scwInputDateHover';
+                    break;
+                case 'scwInputDateHover':
+                    scwEle.className = 'scwInputDate';
+            }
+
+            return true;
+        }
+
+        function scwEventTrigger(scwEvt)
+        {
+            if (!scwEvt) scwEvt = event;
+            return scwEvt.target || scwEvt.srcElement;
+        }
+
+        function scwWeekNumber(scwInDate)
+        {// The base day in the week of the input date
+            var scwInDateWeekBase = new Date(scwInDate);
+
+            scwInDateWeekBase.setDate(scwInDateWeekBase.getDate()
+                    - scwInDateWeekBase.getDay()
+                    + scwWeekNumberBaseDay
+                    + ((scwInDate.getDay() >
+                        scwWeekNumberBaseDay) ? 7 : 0));
+
+            // The first Base Day in the year
+            var scwFirstBaseDay =
+                    new Date(scwInDateWeekBase.getFullYear(), 0, 1)
+
+            scwFirstBaseDay.setDate(scwFirstBaseDay.getDate()
+                    - scwFirstBaseDay.getDay()
+                    + scwWeekNumberBaseDay
+                    );
+
+            if (scwFirstBaseDay <
+                new Date(scwInDateWeekBase.getFullYear(), 0, 1))
+            {
+                scwFirstBaseDay.setDate(scwFirstBaseDay.getDate() + 7);
+            }
+
+            // Start of Week 01
+            var scwStartWeekOne = new Date(scwFirstBaseDay
+                    - scwWeekNumberBaseDay
+                    + scwInDate.getDay());
+
+            if (scwStartWeekOne > scwFirstBaseDay)
+            {
+                scwStartWeekOne.setDate(scwStartWeekOne.getDate() - 7);
+            }
+
+            // Subtract the date of the current week from the date of the
+            // first week of the year to get the number of weeks in
+            // milliseconds.  Divide by the number of milliseconds
+            // in a week then round to no decimals in order to remove
+            // the effect of daylight saving.  Add one to make the first
+            // week, week 1.  Place a string zero on the front so that
+            // week numbers are zero filled.
+
+            var scwWeekNo =
+                    '0' + (Math.round((scwInDateWeekBase -
+                                       scwFirstBaseDay) / 604800000, 0) + 1);
+
+            // Return the last two characters in the week number string
+
+            return scwWeekNo.substring(scwWeekNo.length - 2,
+                    scwWeekNo.length);
+        }
+
+        // Treewalk to display the dates.
+        // I tried to use getElementsByName but IE refused to cooperate
+        // so I resorted to this method which works for all tested
+        // browsers.
+
+        var scwCells = scwID('scwCells');
+
+        for (i = 0; i < scwCells.childNodes.length; i++)
+        {
+            var scwRows = scwCells.childNodes[i];
+            if (scwRows.nodeType == 1 && scwRows.tagName == 'TR')
+            {
+                if (scwWeekNumberDisplay)
+                {//Calculate the week number using scwShowDate
+                    scwRows.childNodes[0].innerHTML =
+                    scwWeekNumber(scwShowDate);
+                    scwRows.childNodes[0].style.display =
+                    (scwID('scwIFrame'))
+                            ? 'block'
+                            : 'table-cell';
+                }
+                else
+                {
+                    scwRows.childNodes[0].style.display = 'none';
+                }
+
+                for (j = 1; j < scwRows.childNodes.length; j++)
+                {
+                    var scwCols = scwRows.childNodes[j];
+                    if (scwCols.nodeType == 1 && scwCols.tagName == 'TD')
+                    {
+                        scwRows.childNodes[j].innerHTML =
+                        scwShowDate.getDate();
+                        var scwCell = scwRows.childNodes[j],
+                                scwDisabled =
+                                        ((scwOutOfRangeDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwBaseYear, 0, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwBaseYear +
+                                                     scwDropDownYears, 0, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                ) ||
+                                         (scwOutOfMonthDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth + 1, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                 )
+                                                ) ? true : false;
+
+                        scwCell.style.visibility =
+                        (scwOutOfMonthHide &&
+                         (scwShowDate <
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth, 1,
+                                  scwShowDate.getHours()))
+                                 ||
+                          scwShowDate >
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth + 1, 0,
+                                  scwShowDate.getHours()))
+                                 )
+                                ) ? 'hidden' : '';
+
+                        for (var k = 0; k < scwDisabledDates.length; k++)
+                        {
+                            if ((typeof scwDisabledDates[k] == 'object')
+                                    &&
+                                (scwDisabledDates[k].constructor ==
+                                 Date
+                                        )
+                                    &&
+                                scwCompareDateValue ==
+                                scwDisabledDates[k].valueOf()
+                                    )
+                            {
+                                scwDisabled = true;
+                            }
+                            else
+                            {
+                                if ((typeof scwDisabledDates[k] == 'object')
+                                        &&
+                                    (scwDisabledDates[k].constructor ==
+                                     Array
+                                            )
+                                        &&
+                                    scwCompareDateValue >=
+                                    scwDisabledDates[k][0].valueOf()
+                                        &&
+                                    scwCompareDateValue <=
+                                    scwDisabledDates[k][1].valueOf()
+                                        )
+                                {
+                                    scwDisabled = true;
+                                }
+                            }
+                        }
+
+                        if (scwDisabled ||
+                            !scwEnabledDay[j - 1 + (7 * ((i * scwCells.
+                                    childNodes.
+                                    length) / 6))] ||
+                            !scwPassEnabledDay[(j - 1 + (7 * (i * scwCells.
+                                    childNodes.
+                                    length / 6))) % 7]
+                                )
+                        {
+                            scwRows.childNodes[j].onclick = null;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover = null;
+                                scwRows.childNodes[j].onmouseout = null;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonthDisabled'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDateDisabled'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekendDisabled'
+                                    : 'scwCellsDisabled';
+                        }
+                        else
+                        {
+                            scwRows.childNodes[j].onclick = scwCellOutput;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover =
+                                scwChangeClass;
+                                scwRows.childNodes[j].onmouseout =
+                                scwChangeClass;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonth'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDate'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekend'
+                                    : 'scwCells';
+
+                        }
+
+                        scwShowDate.setDate(scwShowDate.getDate() + 1);
+                        scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                                scwShowDate.getMonth(),
+                                scwShowDate.getDate()).valueOf();
+                    }
+                }
+            }
+        }
+    }
+    // Force a re-draw to prevent Opera's poor dynamic rendering
+    // from leaving garbage in the calendar when the displayed
+    // month is changed.
+    scwID('scw').style.visibility = 'hidden';
+    scwID('scw').style.visibility = 'visible';
+}
+
+// *************************
+//  End of Function Library
+// *************************
+// ***************************
+// Start of Calendar structure
+// ***************************
+
+document.write(
+        "<!--[if IE]>" +
+        "<iframe class='scw' src='/scwblank.html' " +
+        "id='scwIframe' name='scwIframe' " +
+        "frameborder='0'>" +
+        "</iframe>" +
+        "<![endif]-->" +
+        "<table id='scw' class='scw'>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwHead' id='scwHead' width='100%' " +
+        "cellspacing='0' cellpadding='0'>" +
+        "<tr id='scwDrag' style='display:none;'>" +
+        "<td colspan='4' class='scwDrag' " +
+        "onmousedown='scwBeginDrag(event);'>" +
+        "<div id='scwDragText'></div>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scwHead' >" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadLeft' type='button' value='<' " +
+        "onclick='scwShowMonth(-1);'  /></td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwMonths' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwYears' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadRight' type='button' value='>' " +
+        "onclick='scwShowMonth(1);' /></td>" +
+        "</tr>" +
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwCells' align='center'>" +
+        "<thead>" +
+        "<tr><td class='scwWeekNumberHead' id='scwWeek_' ></td>");
+
+for (i = 0; i < 7; i++)
+    document.write("<td class='scwWeek' id='scwWeekInit" + i + "'></td>");
+
+document.write("</tr>" +
+               "</thead>" +
+               "<tbody id='scwCells' " +
+               "onClick='scwStopPropagation(event);'>");
+
+for (i = 0; i < 6; i++)
+{
+    document.write(
+            "<tr>" +
+            "<td class='scwWeekNo' id='scwWeek_" + i + "'></td>");
+    for (j = 0; j < 7; j++)
+    {
+        document.write(
+                "<td class='scwCells' id='scwCell_" + (j + (i * 7)) +
+                "'></td>");
+    }
+
+    document.write(
+            "</tr>");
+}
+
+document.write(
+        "</tbody>");
+
+if ((new Date(scwBaseYear + scwDropDownYears, 11, 32)) > scwDateNow &&
+    (new Date(scwBaseYear, 0, 0)) < scwDateNow)
+{
+    document.write(
+            "<tfoot class='scwFoot'>" +
+            "<tr class='scwFoot'>" +
+            "<td class='scwFoot' id='scwFoot' colspan='8'>" +
+            "</td>" +
+            "</tr>" +
+            "</tfoot>");
+}
+
+document.write(
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "</table>");
+
+if (document.addEventListener)
+{
+    scwID('scw').addEventListener('click', scwCancel, false);
+    scwID('scwHeadLeft').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('change', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('click', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('change', scwStopPropagation, false);
+    scwID('scwHeadRight').addEventListener('click', scwStopPropagation, false);
+}
+else {
+    scwID('scw').attachEvent('onclick', scwCancel);
+    scwID('scwHeadLeft').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onchange', scwStopPropagation);
+    scwID('scwYears').attachEvent('onclick', scwStopPropagation);
+    scwID('scwYears').attachEvent('onchange', scwStopPropagation);
+    scwID('scwHeadRight').attachEvent('onclick', scwStopPropagation);
+}
+
+// ***************************
+//  End of Calendar structure
+// ***************************
+// ****************************************
+// Start of document level event definition
+// ****************************************
+
+if (document.addEventListener)
+{
+    document.addEventListener('click', scwHide, false);
+}
+else {
+    document.attachEvent('onclick', scwHide);
+}
+
+// ****************************************
+//  End of document level event definition
+// ****************************************
+// ************************************
+//  End of Simple Calendar Widget Code
+// ************************************
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/blank.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body class="mceContentBody">
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Bold (Ctrl+B)',
+italic_desc : 'Italic (Ctrl+I)',
+underline_desc : 'Underline (Ctrl+U)',
+striketrough_desc : 'Strikethrough',
+justifyleft_desc : 'Align left',
+justifycenter_desc : 'Align center',
+justifyright_desc : 'Align right',
+justifyfull_desc : 'Align full',
+bullist_desc : 'Unordered list',
+numlist_desc : 'Ordered list',
+outdent_desc : 'Outdent',
+indent_desc : 'Indent',
+undo_desc : 'Undo (Ctrl+Z)',
+redo_desc : 'Redo (Ctrl+Y)',
+link_desc : 'Insert/edit link',
+unlink_desc : 'Unlink',
+image_desc : 'Insert/edit image',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : 'Insert/edit link',
+insert : 'Insert',
+update : 'Update',
+cancel : 'Cancel',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Open link in the same window',
+insert_link_target_blank : 'Open link in a new window',
+insert_image_title : 'Insert/edit image',
+insert_image_src : 'Image URL',
+insert_image_alt : 'Image description',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+Beginning with version 2.0.5 the language packs are no
+longer included with the core distribution.
+Language packs can be downloaded from the TinyMCE website:
+http://tinymce.moxiecode.com/download.php
+
+The language pack codes are based on ISO-639-1:
+http://www.loc.gov/standards/iso639-2/englangn.html
+
+Plrease try using entities if possible. Like &aring; etc for non a-z characters.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/license.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.panel_wrapper div.current {
+	height: 80px;
+}
+
+#width {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#width2 {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#size {
+	width: 100px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advhr');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):""}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'})}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />')}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'})}}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advhr');
+
+var TinyMCE_AdvancedHRPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced HR',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "advhr":
+				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceAdvanceHr command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceAdvancedHr":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme
+				template['width']  = 250;
+				template['height'] = 160;
+
+				template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
+
+				var size = "", width = "", noshade = "";
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
+					tinyMCE.hrElement = tinyMCE.selectedElement;
+
+					if (tinyMCE.hrElement) {
+						size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
+						width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
+						noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
+					}
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
+				} else {
+					if (tinyMCE.isMSIE) {
+						tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
+					} else {
+						tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
+					}
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "HR") {
+				tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	formObj.width.value  = tinyMCE.getWindowArg('width');
+	formObj.size.value   = tinyMCE.getWindowArg('size');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
+	if (tinyMCE.getWindowArg('noshade')) {
+		formObj.noshade.checked = true;
+	}
+	if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = formObj.width.value.substring(0,formObj.width.value.length-1);
+	}
+}
+
+function insertHR() {
+	var formObj = document.forms[0];
+	var width   = formObj.width.value;
+	var size    = formObj.size.value;
+	var html = '<hr';
+	if (size!='' && size!=0) {
+		html += ' size="' + size + '"';
+	}
+	if (width!='' && width!=0) {
+		html += ' width="' + width;
+		if (formObj.width2.value=='%') {
+			html += '%';
+		}
+		html += '"';
+	}
+	if (formObj.noshade.checked==true) {
+		html += ' noshade="noshade"';
+	}
+	html += ' />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Horizontale rule',
+insert_advhr_width : 'Width',
+insert_advhr_size : 'Height',
+insert_advhr_noshade : 'No shadow'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_advhr_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<link href="css/advhr.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');">
+<form onsubmit="insertHR();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<table border="0" cellpadding="4" cellspacing="0">
+                    <tr>
+                        <td><label for="width">{$lang_insert_advhr_width}</label></td>
+                        <td nowrap="nowrap">
+                            <input id="width" name="width" type="text" value="" />
+                            <select name="width2" id="width2">
+                                <option value="">px</option>
+                                <option value="%">%</option>
+                            </select>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td><label for="size">{$lang_insert_advhr_size}</label></td>
+                        <td><select id="size" name="size">
+                            <option value="">Normal</option>
+                            <option value="1">1</option>
+                            <option value="2">2</option>
+                            <option value="3">3</option>
+                            <option value="4">4</option>
+                            <option value="5">5</option>
+                        </select></td>
+                    </tr>
+                    <tr>
+                        <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
+                        <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
+                    </tr>
+            </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+/* CSS file for advimage plugin popup */
+
+.mceImageList {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.alignPreview {
+	border: 1px solid black;
+	width: 140px;
+	height: 140px;
+	overflow: hidden;
+	padding: 5px;
+}
+
+.checkbox {
+	border: 0;
+}
+
+.panel_wrapper div.current {
+	height: 305px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px
+	solid black;
+	width: 99%;
+	height: 150px;
+	overflow: auto;
+}
+
+#align, #classlist {
+	width: 150px;
+}
+
+#width, #height {
+	vertical-align: middle;
+	width: 50px;
+	text-align: center;
+}
+
+#vspace, #hspace, #border {
+	vertical-align: middle;
+	width: 30px;
+	text-align: center;
+}
+
+#classlist {
+	width: 180px;
+}
+
+input {
+	width: 280px;
+}
+
+#constrain, #onmousemovecheck {
+	width: auto;
+}
+
+#id, #dir, #lang, #usemap, #longdesc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advimage');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img"),src,i;for(i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_advimage','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advimage','mceButtonNormal');return true},_getImageSrc:function(s){var sr,p=-1;if(!s)return"";if((p=s.indexOf('this.src='))!=-1){sr=s.substring(p+10);sr=sr.substring(0,sr.indexOf('\''));return sr}return""}};tinyMCE.addPlugin("advimage",TinyMCE_AdvancedImagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advimage');
+
+var TinyMCE_AdvancedImagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced image',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "image":
+				return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvImage":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advimage/image.htm';
+				template['width']  = 480;
+				template['height'] = 380;
+
+				// Language specific width and height addons
+				template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
+
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = inst.getFocusElement();
+
+				if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
+					return true;
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var imgs = content.getElementsByTagName("img"), src, i;
+				for (i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+				tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
+
+		return true;
+	},
+
+	/**
+	 * Returns the image src from a scripted mouse over image str.
+	 *
+	 * @param {string} s String to get real src from.
+	 * @return Image src from a scripted mouse over image str.
+	 * @type string
+	 */
+	_getImageSrc : function(s) {
+		var sr, p = -1;
+
+		if (!s)
+			return "";
+
+		if ((p = s.indexOf('this.src=')) != -1) {
+			sr = s.substring(p + 10);
+			sr = sr.substring(0, sr.indexOf('\''));
+
+			return sr;
+		}
+
+		return "";
+	}
+};
+
+tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advimage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#"> 
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+						<legend>{$lang_advimage_general}</legend>
+
+						<table class="properties">
+							<tr>
+								<td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
+								<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+									<tr> 
+									  <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td> 
+									  <td id="srcbrowsercontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistsrcrow">
+								<td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
+								<td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td> 
+								<td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> 
+							</tr> 
+							<tr> 
+								<td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td> 
+								<td colspan="2"><input id="title" name="title" type="text" value="" /></td> 
+							</tr>
+						</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_tab_appearance}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr> 
+							<td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td> 
+							<td><select id="align" name="align" onchange="changeAppearance();"> 
+									<option value="">{$lang_insert_image_align_default}</option> 
+									<option value="baseline">{$lang_insert_image_align_baseline}</option> 
+									<option value="top">{$lang_insert_image_align_top}</option> 
+									<option value="middle">{$lang_insert_image_align_middle}</option> 
+									<option value="bottom">{$lang_insert_image_align_bottom}</option> 
+									<option value="texttop">{$lang_insert_image_align_texttop}</option> 
+									<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option> 
+									<option value="absbottom">{$lang_insert_image_align_absbottom}</option> 
+									<option value="left">{$lang_insert_image_align_left}</option> 
+									<option value="right">{$lang_insert_image_align_right}</option> 
+								</select> 
+							</td>
+							<td rowspan="6" valign="top">
+								<div class="alignPreview">
+									<img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
+									Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
+									nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
+									edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
+									erat volutpat.
+								</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
+							<td nowrap="nowrap">
+								<input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="changeHeight();" /> x 
+								<input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="changeWidth();" /> px
+							</td>
+						</tr>
+
+						<tr>
+							<td>&nbsp;</td>
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
+									</tr>
+								</table></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td> 
+							<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" />
+							</td>
+						</tr>
+
+						<tr> 
+							<td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td> 
+							<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td> 
+							<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td colspan="2">
+								 <select id="classlist" name="classlist">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td> 
+							<td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td> 
+						</tr>
+
+						<!-- <tr>
+							<td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td> 
+							<td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> 
+						</tr> -->
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_swap_image}</legend>
+
+					<input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
+					<label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+							<tr>
+								<td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td> 
+								<td><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> 
+									  <td id="onmouseoversrccontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistoverrow">
+								<td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
+								<td id="imagelistovercontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td> 
+								<td class="column2"><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> 
+									  <td id="onmouseoutsrccontainer">&nbsp;</td>
+									</tr> 
+								  </table></td> 
+							</tr>
+							<tr id="imagelistoutrow">
+								<td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
+								<td id="imagelistoutcontainer">&nbsp;</td>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_misc}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" onchange="changeAppearance();"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advimage_ltr}</option> 
+										<option value="rtl">{$lang_advimage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td> 
+							<td>
+								<input id="usemap" name="usemap" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
+							<td><table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+									  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
+									  <td id="longdesccontainer">&nbsp;</td>
+									</tr>
+								</table></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
+			</div>
+		</div>
+    </form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,534 @@
+/* Functions for the advimage plugin popup */
+
+var preloadImg = null;
+var orgImageWidth, orgImageHeight;
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_image_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function getImageSrc(str) {
+	var pos = -1;
+
+	if (!str)
+		return "";
+
+	if ((pos = str.indexOf('this.src=')) != -1) {
+		var src = str.substring(pos + 10);
+
+		src = src.substring(0, src.indexOf('\''));
+
+		if (tinyMCE.getParam('convert_urls'))
+			src = convertURL(src, null, true);
+
+		return src;
+	}
+
+	return "";
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html = "";
+
+	// Image list src
+	html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
+	if (html == "")
+		document.getElementById("imagelistsrcrow").style.display = 'none';
+	else
+		document.getElementById("imagelistsrccontainer").innerHTML = html;
+
+	// Image list oversrc
+	html = getImageListHTML('imagelistover','onmouseoversrc');
+	if (html == "")
+		document.getElementById("imagelistoverrow").style.display = 'none';
+	else
+		document.getElementById("imagelistovercontainer").innerHTML = html;
+
+	// Image list outsrc
+	html = getImageListHTML('imagelistout','onmouseoutsrc');
+	if (html == "")
+		document.getElementById("imagelistoutrow").style.display = 'none';
+	else
+		document.getElementById("imagelistoutcontainer").innerHTML = html;
+
+	// Src browser
+	html = getBrowserHTML('srcbrowser','src','image','advimage');
+	document.getElementById("srcbrowsercontainer").innerHTML = html;
+
+	// Over browser
+	html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
+	document.getElementById("onmouseoversrccontainer").innerHTML = html;
+
+	// Out browser
+	html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
+	document.getElementById("onmouseoutsrccontainer").innerHTML = html;
+
+	// Longdesc browser
+	html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
+	document.getElementById("longdesccontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '260px';
+
+	if (isVisible('oversrcbrowser'))
+		document.getElementById('onmouseoversrc').style.width = '260px';
+
+	if (isVisible('outsrcbrowser'))
+		document.getElementById('onmouseoutsrc').style.width = '260px';
+
+	if (isVisible('longdescbrowser'))
+		document.getElementById('longdesc').style.width = '180px';
+
+	// Check action
+	if (elm != null && elm.nodeName == "IMG")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	if (action == "update") {
+		var src = tinyMCE.getAttrib(elm, 'src');
+		var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+
+		src = convertURL(src, elm, true);
+
+		// Use mce_src if found
+		var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
+		if (mceRealSrc != "") {
+			src = mceRealSrc;
+
+			if (tinyMCE.getParam('convert_urls'))
+				src = convertURL(src, elm, true);
+		}
+
+		if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoversrc = convertURL(onmouseoversrc, elm, true);
+
+		if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
+
+		// Setup form data
+		var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
+
+		// Store away old size
+		orgImageWidth = trimSize(getStyle(elm, 'width'))
+		orgImageHeight = trimSize(getStyle(elm, 'height'));
+
+		formObj.src.value    = src;
+		formObj.alt.value    = tinyMCE.getAttrib(elm, 'alt');
+		formObj.title.value  = tinyMCE.getAttrib(elm, 'title');
+		formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
+		formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
+		formObj.width.value  = orgImageWidth;
+		formObj.height.value = orgImageHeight;
+		formObj.onmouseoversrc.value = onmouseoversrc;
+		formObj.onmouseoutsrc.value  = onmouseoutsrc;
+		formObj.id.value  = tinyMCE.getAttrib(elm, 'id');
+		formObj.dir.value  = tinyMCE.getAttrib(elm, 'dir');
+		formObj.lang.value  = tinyMCE.getAttrib(elm, 'lang');
+		formObj.longdesc.value  = tinyMCE.getAttrib(elm, 'longdesc');
+		formObj.usemap.value  = tinyMCE.getAttrib(elm, 'usemap');
+		formObj.style.value  = tinyMCE.serializeStyle(style);
+
+		// Select by the values
+		if (tinyMCE.isMSIE)
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
+		else
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
+
+		addClassesToList('classlist', 'advimage_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
+		selectByValue(formObj, 'imagelistsrc', src);
+		selectByValue(formObj, 'imagelistover', onmouseoversrc);
+		selectByValue(formObj, 'imagelistout', onmouseoutsrc);
+
+		updateStyle();
+		showPreviewImage(src, true);
+		changeAppearance();
+
+		window.focus();
+	} else
+		addClassesToList('classlist', 'advimage_styles');
+
+	// If option enabled default contrain proportions to checked
+	if (tinyMCE.getParam("advimage_constrain_proportions", true))
+		formObj.constrain.checked = true;
+
+	// Check swap image if valid data
+	if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
+		setSwapImageDisabled(false);
+	else
+		setSwapImageDisabled(true);
+}
+
+function setSwapImageDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.onmousemovecheck.checked = !state;
+
+	setBrowserDisabled('overbrowser', state);
+	setBrowserDisabled('outbrowser', state);
+
+	if (formObj.imagelistover)
+		formObj.imagelistover.disabled = state;
+
+	if (formObj.imagelistout)
+		formObj.imagelistout.disabled = state;
+
+	formObj.onmouseoversrc.disabled = state;
+	formObj.onmouseoutsrc.disabled  = state;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib, value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib == "longdesc")
+			attrib = "longDesc";
+
+		if (attrib == "width") {
+			attrib = "style.width";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "height") {
+			attrib = "style.height";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var formObj = document.forms[0];
+	var src = formObj.src.value;
+	var onmouseoversrc = formObj.onmouseoversrc.value;
+	var onmouseoutsrc = formObj.onmouseoutsrc.value;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	if (tinyMCE.getParam("accessibility_warnings")) {
+		if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
+			return;
+	}
+
+	if (onmouseoversrc && onmouseoversrc != "")
+		onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
+
+	if (onmouseoutsrc && onmouseoutsrc != "")
+		onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
+
+	if (elm != null && elm.nodeName == "IMG") {
+		setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
+		setAttrib(elm, 'mce_src', src);
+		setAttrib(elm, 'alt');
+		setAttrib(elm, 'title');
+		setAttrib(elm, 'border');
+		setAttrib(elm, 'vspace');
+		setAttrib(elm, 'hspace');
+		setAttrib(elm, 'width');
+		setAttrib(elm, 'height');
+		setAttrib(elm, 'onmouseover', onmouseoversrc);
+		setAttrib(elm, 'onmouseout', onmouseoutsrc);
+		setAttrib(elm, 'id');
+		setAttrib(elm, 'dir');
+		setAttrib(elm, 'lang');
+		setAttrib(elm, 'longdesc');
+		setAttrib(elm, 'usemap');
+		setAttrib(elm, 'style');
+		setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+		setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
+
+		//tinyMCEPopup.execCommand("mceRepaint");
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
+			inst.repaint();
+
+		// Refresh in old MSIE
+		if (tinyMCE.isMSIE5)
+			elm.outerHTML = elm.outerHTML;
+	} else {
+		var html = "<img";
+
+		html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
+		html += makeAttrib('mce_src', src);
+		html += makeAttrib('alt');
+		html += makeAttrib('title');
+		html += makeAttrib('border');
+		html += makeAttrib('vspace');
+		html += makeAttrib('hspace');
+		html += makeAttrib('width');
+		html += makeAttrib('height');
+		html += makeAttrib('onmouseover', onmouseoversrc);
+		html += makeAttrib('onmouseout', onmouseoutsrc);
+		html += makeAttrib('id');
+		html += makeAttrib('dir');
+		html += makeAttrib('lang');
+		html += makeAttrib('longdesc');
+		html += makeAttrib('usemap');
+		html += makeAttrib('style');
+		html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
+		html += makeAttrib('align', getSelectValue(formObj, 'align'));
+		html += " />";
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+	}
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function changeAppearance() {
+	var formObj = document.forms[0];
+	var img = document.getElementById('alignSampleImg');
+
+	if (img) {
+		img.align = formObj.align.value;
+		img.border = formObj.border.value;
+		img.hspace = formObj.hspace.value;
+		img.vspace = formObj.vspace.value;
+	}
+}
+
+function changeMouseMove() {
+	var formObj = document.forms[0];
+
+	setSwapImageDisabled(!formObj.onmousemovecheck.checked);
+}
+
+function updateStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (tinyMCE.getParam('inline_styles', false)) {
+		st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
+		st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
+		st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
+		st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+		st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+	} else {
+		st['width'] = st['height'] = st['border-width'] = null;
+
+		if (st['margin-top'] == st['margin-bottom'])
+			st['margin-top'] = st['margin-bottom'] = null;
+
+		if (st['margin-left'] == st['margin-right'])
+			st['margin-left'] = st['margin-right'] = null;
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function styleUpdated() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['width'])
+		formObj.width.value = st['width'].replace('px', '');
+
+	if (st['height'])
+		formObj.height.value = st['height'].replace('px', '');
+
+	if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
+		formObj.vspace.value = st['margin-top'].replace('px', '');
+
+	if (st['margin-left'] && st['margin-left'] == st['margin-right'])
+		formObj.hspace.value = st['margin-left'].replace('px', '');
+
+	if (st['border-width'])
+		formObj.border.value = st['border-width'].replace('px', '');
+}
+
+function changeHeight() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
+	formObj.height.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function changeWidth() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
+	formObj.width.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function onSelectMainImage(target_form_element, name, value) {
+	var formObj = document.forms[0];
+
+	formObj.alt.value = name;
+	formObj.title.value = name;
+
+	resetImageData();
+	showPreviewImage(formObj.elements[target_form_element].value, false);
+}
+
+function showPreviewImage(src, start) {
+	var formObj = document.forms[0];
+
+	selectByValue(document.forms[0], 'imagelistsrc', src);
+
+	var elm = document.getElementById('prev');
+	var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+	if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
+		resetImageData();
+
+	if (src == "")
+		elm.innerHTML = "";
+	else
+		elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData();" onerror="resetImageData();" />'
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	preloadImg = document.getElementById('previewImg');
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+
+	updateStyle();
+}
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getImageListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCEImageList.length; i++)
+		html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+// UK lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'General',
+tab_appearance : 'Appearance',
+tab_advanced : 'Advanced',
+general : 'General',
+title : 'Title',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+langdir : 'Language direction',
+langcode : 'Language code',
+long_desc : 'Long description link',
+style : 'Style',
+classes : 'Classes',
+ltr : 'Left to right',
+rtl : 'Right to left',
+id : 'Id',
+image_map : 'Image map',
+swap_image : 'Swap image',
+alt_image : 'Alternative image',
+mouseover : 'for mouse over',
+mouseout : 'for mouse out',
+misc : 'Miscellaneous',
+example_img : 'Appearance&nbsp;preview&nbsp;image',
+missing_alt : 'Are you sure you want to continue without including an Image Description? Without  it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+/* CSS file for advimage plugin popup */
+
+.mceLinkList, .mceAnchorList, #targetlist {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.panel_wrapper div.current {
+	height: 320px;
+}
+
+#classlist, #title, #href {
+	width: 280px;
+}
+
+#popupurl, #popupname {
+	width: 200px;
+}
+
+#popupwidth, #popupheight, #popupleft, #popuptop {
+	width: 30px;
+	vertical-align: middle;
+	text-align: center;
+}
+
+#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advlink');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink')},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"})}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advlink');
+
+var TinyMCE_AdvancedLinkPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced link',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "link":
+				return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvLink":
+				var anySelection = false;
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+				var selectedText = inst.selection.getSelectedText();
+
+				if (tinyMCE.selectedElement)
+					anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+				if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
+					var template = new Array();
+
+					template['file']   = '../../plugins/advlink/link.htm';
+					template['width']  = 480;
+					template['height'] = 400;
+
+					// Language specific width and height addons
+					template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
+				tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		if (any_selection) {
+			tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,568 @@
+/* Functions for the advlink plugin popup */
+
+var templates = {
+	"window.open" : "window.open('${url}','${target}','${options}')"
+};
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_link_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function changeClass() {
+	var formObj = document.forms[0];
+	formObj.classes.value = getSelectValue(formObj, 'classlist');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html;
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink');
+	document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink');
+	document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href');
+	document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href');
+	document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target');
+
+	// Link list
+	html = getLinkListHTML('linklisthref','href');
+	if (html == "")
+		document.getElementById("linklisthrefrow").style.display = 'none';
+	else
+		document.getElementById("linklisthrefcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '260px';
+
+	if (isVisible('popupurlbrowser'))
+		document.getElementById('popupurl').style.width = '180px';
+
+	elm = tinyMCE.getParentElement(elm, "a");
+	if (elm != null && elm.nodeName == "A")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	setPopupControlsDisabled(true);
+
+	if (action == "update") {
+		var href = tinyMCE.getAttrib(elm, 'href');
+
+		href = convertURL(href, elm, true);
+
+		// Use mce_href if found
+		var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
+		if (mceRealHref != "") {
+			href = mceRealHref;
+
+			if (tinyMCE.getParam('convert_urls'))
+				href = convertURL(href, elm, true);
+		}
+
+		var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+		// Setup form data
+		setFormValue('href', href);
+		setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+		setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+		setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+		setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
+		setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
+		setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
+		setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
+		setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+		setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+		setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+		setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+		setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
+		setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+		setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+		setFormValue('onclick', onclick);
+		setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+		setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+		setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+		setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+		setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+		setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+		setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+		setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+		setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
+		setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
+
+		// Parse onclick data
+		if (onclick != null && onclick.indexOf('window.open') != -1)
+			parseWindowOpen(onclick);
+		else
+			parseFunction(onclick);
+
+		// Select by the values
+		selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+		selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
+		selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
+		selectByValue(formObj, 'linklisthref', href);
+
+		if (href.charAt(0) == '#')
+			selectByValue(formObj, 'anchorlist', href);
+
+		addClassesToList('classlist', 'advlink_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
+		selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
+	} else
+		addClassesToList('classlist', 'advlink_styles');
+
+	window.focus();
+}
+
+function setFormValue(name, value) {
+	document.forms[0].elements[name].value = value;
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function parseWindowOpen(onclick) {
+	var formObj = document.forms[0];
+
+	// Preprocess center code
+	if (onclick.indexOf('return false;') != -1) {
+		formObj.popupreturn.checked = true;
+		onclick = onclick.replace('return false;', '');
+	} else
+		formObj.popupreturn.checked = false;
+
+	var onClickData = parseLink(onclick);
+
+	if (onClickData != null) {
+		formObj.ispopup.checked = true;
+		setPopupControlsDisabled(false);
+
+		var onClickWindowOptions = parseOptions(onClickData['options']);
+		var url = onClickData['url'];
+
+		if (tinyMCE.getParam('convert_urls'))
+			url = convertURL(url, null, true);
+
+		formObj.popupname.value = onClickData['target'];
+		formObj.popupurl.value = url;
+		formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
+		formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
+
+		formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
+		formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
+
+		if (formObj.popupleft.value.indexOf('screen') != -1)
+			formObj.popupleft.value = "c";
+
+		if (formObj.popuptop.value.indexOf('screen') != -1)
+			formObj.popuptop.value = "c";
+
+		formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
+		formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
+		formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
+		formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
+		formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
+		formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
+		formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
+
+		buildOnClick();
+	}
+}
+
+function parseFunction(onclick) {
+	var formObj = document.forms[0];
+	var onClickData = parseLink(onclick);
+
+	// TODO: Add stuff here
+}
+
+function getOption(opts, name) {
+	return typeof(opts[name]) == "undefined" ? "" : opts[name];
+}
+
+function setPopupControlsDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.popupname.disabled = state;
+	formObj.popupurl.disabled = state;
+	formObj.popupwidth.disabled = state;
+	formObj.popupheight.disabled = state;
+	formObj.popupleft.disabled = state;
+	formObj.popuptop.disabled = state;
+	formObj.popuplocation.disabled = state;
+	formObj.popupscrollbars.disabled = state;
+	formObj.popupmenubar.disabled = state;
+	formObj.popupresizable.disabled = state;
+	formObj.popuptoolbar.disabled = state;
+	formObj.popupstatus.disabled = state;
+	formObj.popupreturn.disabled = state;
+	formObj.popupdependent.disabled = state;
+
+	setBrowserDisabled('popupurlbrowser', state);
+}
+
+function parseLink(link) {
+	link = link.replace(new RegExp('&#39;', 'g'), "'");
+
+	var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
+
+	// Is function name a template function
+	var template = templates[fnName];
+	if (template) {
+		// Build regexp
+		var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
+		var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
+		var replaceStr = "";
+		for (var i=0; i<variableNames.length; i++) {
+			// Is string value
+			if (variableNames[i].indexOf("'${") != -1)
+				regExp += "'(.*)'";
+			else // Number value
+				regExp += "([0-9]*)";
+
+			replaceStr += "$" + (i+1);
+
+			// Cleanup variable name
+			variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
+
+			if (i != variableNames.length-1) {
+				regExp += "\\s*,\\s*";
+				replaceStr += "<delim>";
+			} else
+				regExp += ".*";
+		}
+
+		regExp += "\\);?";
+
+		// Build variable array
+		var variables = new Array();
+		variables["_function"] = fnName;
+		var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
+		for (var i=0; i<variableNames.length; i++)
+			variables[variableNames[i]] = variableValues[i];
+
+		return variables;
+	}
+
+	return null;
+}
+
+function parseOptions(opts) {
+	if (opts == null || opts == "")
+		return new Array();
+
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+}
+
+function buildOnClick() {
+	var formObj = document.forms[0];
+
+	if (!formObj.ispopup.checked) {
+		formObj.onclick.value = "";
+		return;
+	}
+
+	var onclick = "window.open('";
+	var url = formObj.popupurl.value;
+
+	if (tinyMCE.getParam('convert_urls'))
+		url = convertURL(url, null, true);
+
+	onclick += url + "','";
+	onclick += formObj.popupname.value + "','";
+
+	if (formObj.popuplocation.checked)
+		onclick += "location=yes,";
+
+	if (formObj.popupscrollbars.checked)
+		onclick += "scrollbars=yes,";
+
+	if (formObj.popupmenubar.checked)
+		onclick += "menubar=yes,";
+
+	if (formObj.popupresizable.checked)
+		onclick += "resizable=yes,";
+
+	if (formObj.popuptoolbar.checked)
+		onclick += "toolbar=yes,";
+
+	if (formObj.popupstatus.checked)
+		onclick += "status=yes,";
+
+	if (formObj.popupdependent.checked)
+		onclick += "dependent=yes,";
+
+	if (formObj.popupwidth.value != "")
+		onclick += "width=" + formObj.popupwidth.value + ",";
+
+	if (formObj.popupheight.value != "")
+		onclick += "height=" + formObj.popupheight.value + ",";
+
+	if (formObj.popupleft.value != "") {
+		if (formObj.popupleft.value != "c")
+			onclick += "left=" + formObj.popupleft.value + ",";
+		else
+			onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
+	}
+
+	if (formObj.popuptop.value != "") {
+		if (formObj.popuptop.value != "c")
+			onclick += "top=" + formObj.popuptop.value + ",";
+		else
+			onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
+	}
+
+	if (onclick.charAt(onclick.length-1) == ',')
+		onclick = onclick.substring(0, onclick.length-1);
+
+	onclick += "');";
+
+	if (formObj.popupreturn.checked)
+		onclick += "return false;";
+
+	// tinyMCE.debug(onclick);
+
+	formObj.onclick.value = onclick;
+
+	if (formObj.href.value == "")
+		formObj.href.value = url;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function getAnchorListHTML(id, target) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var nodes = inst.getBody().getElementsByTagName("a");
+
+	var html = "";
+
+	html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+	html += '<option value="">---</option>';
+
+	for (var i=0; i<nodes.length; i++) {
+		if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
+			html += '<option value="#' + name + '">' + name + '</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	elm = tinyMCE.getParentElement(elm, "a");
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	// Create new anchor elements
+	if (elm == null) {
+		if (tinyMCE.isSafari)
+			tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
+		else
+			tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
+
+		var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
+		for (var i=0; i<elementArray.length; i++) {
+			var elm = elementArray[i];
+
+			// Move cursor behind the new anchor
+			if (tinyMCE.isGecko) {
+				var sp = inst.getDoc().createTextNode(" ");
+
+				if (elm.nextSibling)
+					elm.parentNode.insertBefore(sp, elm.nextSibling);
+				else
+					elm.parentNode.appendChild(sp);
+
+				// Set range after link
+				var rng = inst.getDoc().createRange();
+				rng.setStartAfter(elm);
+				rng.setEndAfter(elm);
+
+				// Update selection
+				var sel = inst.getSel();
+				sel.removeAllRanges();
+				sel.addRange(rng);
+			}
+
+			setAllAttribs(elm);
+		}
+	} else
+		setAllAttribs(elm);
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAllAttribs(elm) {
+	var formObj = document.forms[0];
+	var href = formObj.href.value;
+	var target = getSelectValue(formObj, 'targetlist');
+
+	// Make anchors absolute
+	if (href.charAt(0) != '#')
+		href = convertURL(href, elm);
+
+	setAttrib(elm, 'href', href);
+	setAttrib(elm, 'mce_href', href);
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'target', target == '_self' ? '' : target);
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+	setAttrib(elm, 'rel');
+	setAttrib(elm, 'rev');
+	setAttrib(elm, 'charset');
+	setAttrib(elm, 'hreflang');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'type');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getLinkListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCELinkList.length; i++)
+		html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+function getTargetListHTML(elm_id, target_form_element) {
+	var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+	var html = '';
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+
+	html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
+	html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
+	html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
+	html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
+
+	for (var i=0; i<targets.length; i++) {
+		var key, value;
+
+		if (targets[i] == "")
+			continue;
+
+		key = targets[i].split('=')[0];
+		value = targets[i].split('=')[1];
+
+		html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,337 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advlink.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
+				<li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
+				<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_advlink_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+						  <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
+						  <td><table border="0" cellspacing="0" cellpadding="0">
+								<tr>
+								  <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
+								  <td id="hrefbrowsercontainer">&nbsp;</td>
+								</tr>
+							  </table></td>
+						</tr>
+						<tr id="linklisthrefrow">
+							<td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
+							<td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
+							<td colspan="2" id="anchorlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
+							<td id="targetlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
+							<td><input id="title" name="title" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td>
+								 <select id="classlist" name="classlist" onchange="changeClass();">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="popup_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advlink_popup_props}</legend>
+
+					<input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
+					<label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
+							<td>
+								<table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+										<td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
+										<td id="popupurlbrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
+							<td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
+								<input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /                                
+								<input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
+							</td>
+						</tr>
+					</table>
+
+					<fieldset>
+						<legend>{$lang_advlink_popup_opts}</legend>
+
+						<table border="0" cellpadding="0" cellspacing="4">
+							<tr>
+								<td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
+								<td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
+								<td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
+								<td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
+								<td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
+								<td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
+							</tr>
+						</table>
+					</fieldset>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
+							<td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
+							<td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advlink_ltr}</option> 
+										<option value="rtl">{$lang_advlink_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
+							<td><input type="text" id="hreflang" name="hreflang" value="" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
+							<td><input type="text" id="charset" name="charset" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
+							<td><input type="text" id="type" name="type" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
+							<td><select id="rel" name="rel"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="lightbox">Lightbox</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option>
+									<option value="nofollow">No Follow</option>
+									<option value="tag">Tag</option>
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
+							<td><select id="rev" name="rev"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option> 
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="events_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_event_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="onfocus">onfocus</label></td> 
+							<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onblur">onblur</label></td> 
+							<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onclick">onclick</label></td> 
+							<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="ondblclick">ondblclick</label></td> 
+							<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousedown">onmousedown</label></td> 
+							<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseup">onmouseup</label></td> 
+							<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseover">onmouseover</label></td> 
+							<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousemove">onmousemove</label></td> 
+							<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseout">onmouseout</label></td> 
+							<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeypress">onkeypress</label></td> 
+							<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeydown">onkeydown</label></td> 
+							<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeyup">onkeyup</label></td> 
+							<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('autosave');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg}return}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('autosave');
+
+var TinyMCE_AutoSavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Auto save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	// Private plugin internal methods
+
+	_beforeUnloadHandler : function() {
+		var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
+
+		if (tinyMCE.getParam("fullscreen_is_enabled"))
+			return;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			if (inst.isDirty())
+				return msg;
+		}
+
+		return;
+	}
+};
+
+window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
+
+tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_BBCodePlugin={getInfo:function(){return{longname:'BBCode Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},cleanup:function(type,content){var dialect=tinyMCE.getParam('bbcode_dialect','punbb').toLowerCase();switch(type){case"insert_to_editor":content=this['_'+dialect+'_bbcode2html'](content);break;case"get_from_editor":content=this['_'+dialect+'_html2bbcode'](content);break}return content},_punbb_html2bbcode:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/<font>(.*?)<\/font>/gi,"$1");rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/<u>/gi,"[u]");rep(/<br \/>/gi,"\n");rep(/<br\/>/gi,"\n");rep(/<br>/gi,"\n");rep(/<p>/gi,"");rep(/<\/p>/gi,"\n");rep(/&nbsp;/gi," ");rep(/&quot;/gi,"\"");rep(/&lt;/gi,"<");rep(/&gt;/gi,">");rep(/&amp;/gi,"&");rep(/&undefined;/gi,"'");return s},_punbb_bbcode2html:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/\n/gi,"<br />");rep(/\[b\]/gi,"<strong>");rep(/\[\/b\]/gi,"</strong>");rep(/\[i\]/gi,"<em>");rep(/\[\/i\]/gi,"</em>");rep(/\[u\]/gi,"<u>");rep(/\[\/u\]/gi,"</u>");rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");return s}};tinyMCE.addPlugin("bbcode",TinyMCE_BBCodePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+var TinyMCE_BBCodePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'BBCode Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	cleanup : function(type, content) {
+		var dialect = tinyMCE.getParam('bbcode_dialect', 'punbb').toLowerCase();
+
+		switch (type) {
+			case "insert_to_editor":
+				content = this['_' + dialect + '_bbcode2html'](content);
+				break;
+
+			case "get_from_editor":
+				content = this['_' + dialect + '_html2bbcode'](content);
+				break;
+		}
+
+		return content;
+	},
+
+	// Private methods
+
+	// HTML -> BBCode in PunBB dialect
+	_punbb_html2bbcode : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: <strong> to [b]
+		rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");
+		rep(/<font>(.*?)<\/font>/gi,"$1");
+		rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
+		rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");
+		rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");
+		rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");
+		rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");
+		rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");
+		rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");
+		rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");
+		rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");
+		rep(/<\/(strong|b)>/gi,"[/b]");
+		rep(/<(strong|b)>/gi,"[b]");
+		rep(/<\/(em|i)>/gi,"[/i]");
+		rep(/<(em|i)>/gi,"[i]");
+		rep(/<\/u>/gi,"[/u]");
+		rep(/<u>/gi,"[u]");
+		rep(/<br \/>/gi,"\n");
+		rep(/<br\/>/gi,"\n");
+		rep(/<br>/gi,"\n");
+		rep(/<p>/gi,"");
+		rep(/<\/p>/gi,"\n");
+		rep(/&nbsp;/gi," ");
+		rep(/&quot;/gi,"\"");
+		rep(/&lt;/gi,"<");
+		rep(/&gt;/gi,">");
+		rep(/&amp;/gi,"&");
+		rep(/&undefined;/gi,"'"); // quickfix
+
+		return s; 
+	},
+
+	// BBCode -> HTML from PunBB dialect
+	_punbb_bbcode2html : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: [b] to <strong>
+		rep(/\n/gi,"<br />");
+		rep(/\[b\]/gi,"<strong>");
+		rep(/\[\/b\]/gi,"</strong>");
+		rep(/\[i\]/gi,"<em>");
+		rep(/\[\/i\]/gi,"</em>");
+		rep(/\[u\]/gi,"<u>");
+		rep(/\[\/u\]/gi,"</u>");
+		rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
+		rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
+		rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");
+		rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");
+		rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");
+
+		return s; 
+	}
+};
+
+tinyMCE.addPlugin("bbcode", TinyMCE_BBCodePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Dummy file since cleanup is now moved to core */

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Dummy plugin since cleanup is now moved into core.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+.contextMenuIEPopup {
+	padding: 0;
+	margin: 0;
+	border: 0;
+	overflow: hidden;
+}
+
+.contextMenu {
+	position: absolute;
+	cursor: default;
+	z-index: 1000;
+	border: 1px solid #D4D0C8;
+	background-color: #FFFFFF;
+}
+
+.contextMenuItem, .contextMenuItemOver {
+}
+
+.contextMenuSeparator {
+	width: 100%;
+	background-color: #D4D0C8;
+	border: 0;
+}
+
+.contextMenuImage, .contextMenuItemDisabled {
+	border: 0;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemOver .contextMenuIcon {
+	background-color: #B6BDD2;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+}
+
+.contextMenuText {
+	font-family: Tahoma, Verdana, Arial, Helvetica;
+	font-size: 11px;
+	line-height: 20px;
+}
+
+.contextMenuItemDisabled {
+	color: #AAAAAA;
+}
+
+.contextMenuText a {
+	display: block;
+	line-height: 20px;
+	width: 100%;
+	text-decoration: none;
+	color: black;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}
+
+.contextMenuText a:hover {
+	background-color: #B6BDD2;
+	text-decoration: none !important;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css")}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst)})}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu)},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst)}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A'&&tinyMCE.getAttrib(elm,'name')=='')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true))}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.hasPlugin('flash')&&tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else if(tinyMCE.hasPlugin('media')&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm,'class')))contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_media_title","mceMedia");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false)}break}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert")}}contextMenu.show(x,y)},10);tinyMCE.cancelEvent(e);return false},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide()},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value)},100)}else cm.inst.execCommand(command,ui,value)}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){var doc,self=this;function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val}this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close()}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML=""},addSeparator:function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>'},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+='<a href="javascript:void(0);" onclick="'+onMouseDown+'" onmousedown="return false;">&#160;';html+=title;html+='&#160;</a>';html+='</div></td>';html+='</tr>';this.html+=html},show:function(x,y){var vp,width,height,yo;if(this.html=="")return;var html='';html+='<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height)}else{vp=this.getViewPort();yo=tinyMCE.isMSIE5_0?document.body.scrollTop:self.pageYOffset;this.contextMenuDiv.style.left=(x>vp.left+vp.width-width?vp.left+vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.top+vp.height-height?vp.top+vp.height-height:y)+'px';this.contextMenuDiv.style.display="block"}},getViewPort:function(){return{left:self.pageXOffset||self.document.documentElement.scrollLeft||self.document.body.scrollLeft,top:self.pageYOffset||self.document.documentElement.scrollTop||self.document.body.scrollTop,width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none"},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);")}};
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,357 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
+	tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
+}
+
+var TinyMCE_ContextMenuPlugin = {
+	// Private fields
+	_contextMenu : null,
+
+	getInfo : function() {
+		return {
+			longname : 'Context menus',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Is not working on MSIE 5.0 or Opera no contextmenu event
+		if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
+			return;
+
+		TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
+			commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
+			spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
+		});
+
+		// Add hide event handles
+		tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+
+		// Attach contextmenu event
+		if (tinyMCE.isGecko) {
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
+		} else
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
+	},
+
+	// Private plugin internal methods
+
+	_onContextMenu : function(e) {
+		var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+		var targetInst, body;
+
+		// Find instance
+		if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
+			for (var n in tinyMCE.instances) {
+				var inst = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(inst))
+					continue;
+
+				if (body == inst.getBody()) {
+					targetInst = inst;
+					break;
+				}
+			}
+
+			return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
+		}
+	},
+
+	_showContextMenu : function(e, inst) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		var x, y, elm, contextMenu;
+		var pos = tinyMCE.getAbsPosition(inst.iframeElement);
+
+		x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
+		y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
+		elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+		contextMenu = this._contextMenu;
+		contextMenu.inst = inst;
+
+		// Mozilla needs some time
+		window.setTimeout(function () {
+			var theme = tinyMCE.getParam("theme");
+
+			contextMenu.clearAll();
+			var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
+
+			// Default items
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
+
+			if (sel || (elm ? (elm.nodeName == 'A' && tinyMCE.getAttrib(elm, 'name') == '') || (elm.nodeName == 'IMG') : false)) {
+				contextMenu.addSeparator();
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
+			}
+
+			// Get element
+			elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
+			if (elm) {
+				switch (elm.nodeName) {
+					case "IMG":
+						contextMenu.addSeparator();
+
+						// If flash
+						if (tinyMCE.hasPlugin('flash') && tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
+						else if (tinyMCE.hasPlugin('media') && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm, 'class')))
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_media_title", "mceMedia");
+						else
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
+						break;
+
+					case "HR":
+						contextMenu.addSeparator();
+						contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
+						break;
+
+					case "TABLE":
+					case "TD":
+						// Is table plugin loaded
+						if (inst.hasPlugin("table")) {
+							var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
+							var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
+
+							colspan = colspan == "" ? "1" : colspan;
+							rowspan = rowspan == "" ? "1" : rowspan;
+
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
+
+	/*						contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
+						}
+						break;
+				}
+			}  else {
+				// Add table specific
+				if (inst.hasPlugin("table")) {
+					contextMenu.addSeparator();
+					contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+				}
+			}
+
+			contextMenu.show(x, y);
+		}, 10);
+
+		// Cancel default handeling
+		tinyMCE.cancelEvent(e);
+		return false;
+	},
+
+	_hideContextMenu : function() {
+		if (TinyMCE_ContextMenuPlugin._contextMenu)
+			TinyMCE_ContextMenuPlugin._contextMenu.hide();
+	},
+
+	_commandHandler : function(command, value) {
+		var cm = TinyMCE_ContextMenuPlugin._contextMenu;
+
+		cm.hide();
+
+		// UI must be true on these
+		var ui = false;
+		if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
+			ui = true;
+
+		if (command == "Paste")
+			value = null;
+
+		if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
+			// Cell properties will generate access denied error is this isn't done?!
+			window.setTimeout(function() {
+				cm.inst.execCommand(command, ui, value);
+			}, 100);
+		} else
+			cm.inst.execCommand(command, ui, value);
+	}
+};
+
+tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
+
+// Context menu class
+
+function TinyMCE_ContextMenu(settings) {
+	var doc, self = this;
+
+	// Default value function
+	function defParam(key, def_val) {
+		settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
+	}
+
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+
+	// Setup contextmenu div
+	this.contextMenuDiv = document.createElement("div");
+	this.contextMenuDiv.className = "contextMenu";
+	this.contextMenuDiv.setAttribute("class", "contextMenu");
+	this.contextMenuDiv.style.display = "none";
+	this.contextMenuDiv.style.position = 'absolute';
+	this.contextMenuDiv.style.zindex = 1000;
+	this.contextMenuDiv.style.left = '0';
+	this.contextMenuDiv.style.top = '0';
+	this.contextMenuDiv.unselectable = "on";
+
+	document.body.appendChild(this.contextMenuDiv);
+
+	// Setup default values
+	defParam("commandhandler", "");
+	defParam("spacer_image", "images/spacer.gif");
+
+	this.items = new Array();
+	this.settings = settings;
+	this.html = "";
+
+	// IE Popup
+	if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+		this.pop = window.createPopup();
+		doc = this.pop.document;
+		doc.open();
+		doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
+		doc.close();
+	}
+};
+
+TinyMCE_ContextMenu.prototype = {
+	clearAll : function() {
+		this.html = "";
+		this.contextMenuDiv.innerHTML = "";
+	},
+
+	addSeparator : function() {
+		this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
+	},
+
+	addItem : function(icon, title, command, value, disabled) {
+		if (title.charAt(0) == '$')
+			title = tinyMCE.getLang(title.substring(1));
+
+		var onMouseDown = '';
+		var html = '';
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+			onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
+		else
+			onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
+
+		if (icon == "")
+			icon = this.settings['spacer_image'];
+
+		if (!disabled)
+			html += '<tr class="contextMenuItem">';
+		else
+			html += '<tr class="contextMenuItemDisabled">';
+
+		html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
+		html += '<td><div class="contextMenuText">';
+		html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
+
+		// Add text
+		html += title;
+
+		html += '&#160;</a>';
+		html += '</div></td>';
+		html += '</tr>';
+
+		// Add to main
+		this.html += html;
+	},
+
+	show : function(x, y) {
+		var vp, width, height, yo;
+
+		if (this.html == "")
+			return;
+
+		var html = '';
+
+		html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
+		html += this.html;
+		html += '</table>';
+
+		this.contextMenuDiv.innerHTML = html;
+
+		// Get dimensions
+		this.contextMenuDiv.style.display = "block";
+		width = this.contextMenuDiv.offsetWidth;
+		height = this.contextMenuDiv.offsetHeight;
+		this.contextMenuDiv.style.display = "none";
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+			// Setup popup and show
+			this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
+			this.pop.document.tinyMCE = tinyMCE;
+			this.pop.document.contextMenu = this;
+			this.pop.show(x, y, width, height);
+		} else {
+			vp = this.getViewPort();
+			yo = tinyMCE.isMSIE5_0 ? document.body.scrollTop : self.pageYOffset;
+			this.contextMenuDiv.style.left = (x > vp.left + vp.width - width ? vp.left + vp.width - width : x) + 'px';
+			this.contextMenuDiv.style.top = (y > vp.top + vp.height - height ? vp.top + vp.height - height : y) + 'px';
+			this.contextMenuDiv.style.display = "block";
+		}
+	},
+
+	getViewPort : function() {
+		return {
+			left : self.pageXOffset || self.document.documentElement.scrollLeft || self.document.body.scrollLeft,
+			top: self.pageYOffset || self.document.documentElement.scrollTop || self.document.body.scrollTop,
+			width : document.documentElement.offsetWidth || document.body.offsetWidth,
+			height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
+		};
+	},
+
+	hide : function() {
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
+			this.pop.hide();
+		else
+			this.contextMenuDiv.style.display = "none";
+	},
+
+	execCommand : function(command, value) {
+		eval(this.settings['commandhandler'] + "(command, value);");
+	}
+};

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+body {
+	overflow: hidden;
+}
+
+h1 {
+	font-size: 14px;
+	margin: 0 0 10px 0;
+}
+
+h2 {
+	font-size: 12px;
+	margin: 3px 0 3px 0;
+}
+
+h3 {
+	font-size: 11px;
+	margin: 3px 0 3px 0;
+}
+
+#log {
+	font-family: Verdana;
+	border: 1px solid gray;
+	width: 100%; height: 240px;
+	overflow: scroll;
+	white-space: nowrap;
+}
+
+#log span {
+	display: block;
+}
+
+#log span.msg {
+	float: left;
+}
+
+#log span.time {
+	float: left;
+}
+
+#log br {
+	clear: both;
+}
+
+#logfilter {
+	width: 350px;
+}
+
+#logenabled {
+	border: 0;
+}
+
+#settings_panel span, #info_panel span, #content_panel span, #command_states_panel span, #undo_redo_panel span {
+	display: block;
+	margin: 5px 0 5px 0;
+}
+
+div.data {
+	width: 100%; height: 240px;
+	overflow: scroll;
+	border: 1px solid gray;
+}
+
+#misc_panel div.data {
+	height: 270px;
+}
+
+.data input {
+	width: 265px;
+	border: 0;
+}
+
+.data h2 {
+	margin-left: 5px;
+}
+
+.data h3 {
+	margin-left: 7px;
+}
+
+.data div {
+	margin-left: 7px;
+}
+
+.data table {
+	margin: 0 0 15px 15px;
+}
+
+.data p {
+	margin: 0; padding: 0;
+	margin-top: 5px;
+	margin-left: 5px;
+}
+
+table, td {
+	border: 1px solid gray;
+	border-collapse: collapse;
+}
+
+#flip {
+	position: absolute;
+	left: 295; top: 384px;
+}
+
+.bspec {
+	color: gray;
+}
+
+.dep {
+	color: #880000;
+}
+
+.col1 {
+	width: 265px;
+}
+
+div.undodata {
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+#devkit {
+	position: absolute;
+	top: -385px; right: 0;
+	width: 640px; height: 390px;
+	border: 1px solid black;
+	z-index: 10000;
+}
+
+.devkitup {
+	top: -385px !important;
+}
+
+.devkitdown {
+	top: 0 !important;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_devkit_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/devkit.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/diff.js"></script>
+	<link href="css/devkit.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="devkit" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form action="#">
+		<h1>{$lang_devkit_title}</h1>
+
+		<div class="tabs">
+			<ul>
+				<li id="log_tab" class="current"><span><a href="javascript:mcTabs.displayTab('log_tab','log_panel');" onmousedown="return false;">{$lang_devkit_log_tab}</a></span></li>
+				<li id="info_tab"><span><a href="javascript:mcTabs.displayTab('info_tab','info_panel');" onmousedown="return false;">{$lang_devkit_info_tab}</a></span></li>
+				<li id="settings_tab"><span><a href="javascript:mcTabs.displayTab('settings_tab','settings_panel');" onmousedown="return false;">{$lang_devkit_settings_tab}</a></span></li>
+				<li id="content_tab"><span><a href="javascript:mcTabs.displayTab('content_tab','content_panel');" onmousedown="return false;">{$lang_devkit_content_tab}</a></span></li>
+				<!-- <li id="command_states_tab"><span><a href="javascript:mcTabs.displayTab('command_states_tab','command_states_panel');" onmousedown="return false;">{$lang_devkit_command_states_tab}</a></span></li> -->
+				<li id="undo_redo_tab"><span><a href="javascript:mcTabs.displayTab('undo_redo_tab','undo_redo_panel');" onmousedown="return false;">{$lang_devkit_undo_redo_tab}</a></span></li>
+				<li id="misc_tab"><span><a href="javascript:mcTabs.displayTab('misc_tab','misc_panel');" onmousedown="return false;">{$lang_devkit_misc_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="log_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_devkit_log_tab}</legend>
+
+					<div style="float: left">
+						<label>{$lang_devkit_filter} </label><input type="text" id="logfilter" name="logfilter" value="" onchange="changeFilter(this.value);" />
+					</div>
+
+					<div style="float: left">
+						<input type="checkbox" id="logenabled" name="logenabled" value="true" checked="checked" onclick="toggleLog(this.checked);" />
+					</div>
+
+					<div style="float: right">
+						<a href="javascript:clearLog();">[{$lang_devkit_clear_log}]</a>
+					</div>
+
+					<br style="clear: both" />
+
+					<div id="log">
+					</div>
+
+					<input type="checkbox" id="debug_events" name="debug_events" class="checkbox" onclick="toggleDebugEvents(this.checked);" /><label for="debug_events" onclick="toggleDebugEvents(this.form.debug_events.checked);">{$lang_devkit_debug_events}</label>
+				</fieldset>
+			</div>
+
+			<div id="info_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_info_tab}</legend>
+
+					<span><a href="javascript:renderInfo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="info" class="data">
+						<p>{$lang_devkit_info_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="settings_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_settings_tab}</legend>
+
+					<span><a href="javascript:renderSettings();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="settings" class="data">
+						<p>{$lang_devkit_settings_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="content_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_content_tab}</legend>
+
+					<span><a href="javascript:renderContent();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="content" class="data">
+						<p>{$lang_devkit_content_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="command_states_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_command_states_tab}</legend>
+
+					<span><a href="javascript:renderCommandStates();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="command_states" class="data">
+						<p>{$lang_devkit_command_states_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="undo_redo_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_undo_redo_tab}</legend>
+
+					<span><a href="javascript:renderUndoRedo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="undo_redo" class="data">
+						<p>{$lang_devkit_undo_redo_help}</p>
+					</div>
+
+					<input type="checkbox" id="undo_diff" name="undo_diff" class="checkbox" /><label for="undo_diff">{$lang_devkit_undo_diff}</label>
+				</fieldset>
+			</div>
+
+			<div id="misc_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_misc_tab}</legend>
+
+					<div class="data">
+						<p>{$lang_devkit_misc_help}</p>
+						<hr />
+						<p>Selection: <a href="#" onmousedown="return storeSelection();">[Store selection]</a> <a href="#" onmousedown="return restoreSelection();">[Restore selection]</a></p>
+						<hr />
+						<div><strong>Insert custom HTML content</strong></div>
+						<div><textarea id="htmlcont" name="htmlcont" style="width: 90%" rows="5"></textarea></div>
+						<div><a href="#" onclick="return tinyMCE.execCommand('mceInsertContent',false,document.getElementById('htmlcont').value);">[Insert content]</a></div>
+						<hr />
+						<div><strong>Eval JS:</strong></div>
+						<div><textarea id="jscont" name="jscont" style="width: 90%" rows="5">tinyMCE.execCommand('Bold',false,null);</textarea></div>
+						<div><a href="#" onclick="return parent.window.eval(document.getElementById('jscont').value);">[Evaluate]</a></div>
+					</div>
+				</fieldset>
+			</div>
+		</div>
+    </form>
+
+	<div id="flip"><a href="javascript:toggleFlip();" onmousedown="return false;"><img id="flipbtn" src="images/flip_down.gif" border="0" /></a></div>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('devkit');var TinyMCE_DevKitPlugin={_logFilter:'\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',_logPadding:'',_startTime:null,_benchMark:false,_winLoaded:false,_isDebugEvents:false,getInfo:function(){return{longname:'Development Kit',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){this._setup()},_setup:function(){if(this._loaded)return;this._loaded=true;document.___TinyMCE=tinyMCE;this._logFilter=tinyMCE.getParam('devkit_log_filter',this._logFilter);this._benchMark=tinyMCE.getParam('devkit_bench_mark',false);var ifr=document.createElement('iframe');ifr.setAttribute("id","devkit");ifr.setAttribute("frameBorder","0");ifr.setAttribute("src",tinyMCE.baseURL+'/plugins/devkit/devkit.htm');document.body.appendChild(ifr);tinyMCE.importCSS(document,tinyMCE.baseURL+'/plugins/devkit/css/devkit_ui.css')},_start:function(){this._logPadding+='\u00a0';return new Date().getTime()},_end:function(st){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);if(this._benchMark)this._log("benchmark","Execution time: "+(new Date().getTime()-st))},_log:function(t){var m,a,i,e=document.getElementById('devkit'),now=new Date().getTime();if(!this._startTime)this._startTime=now;m=(this._logPadding.length>1?this._logPadding:'')+'['+(now-this._startTime)+'] ['+t+'] ';a=this._log.arguments;for(i=1;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>1)m+=', ';m+=a[i]}if(!new RegExp(this._logFilter,'gi').test(m)){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);return}if(!this._winLoaded)tinyMCE.log[tinyMCE.log.length]=m;else e.contentWindow.debug(m)},_debugEvents:function(s){var i,ld,inst,n,ev=['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive','DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved','RadioStateChange','blur','broadcast','change','click','close','command','commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit','draggesture','dragover','focus','input','keydown','keypress','keyup','load','mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden','popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference','underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate','beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint','beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut','dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave','dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout','help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel','move','moveend','movestart','paste','propertychange','readystatechange','reset','resize','resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll','selectionchange','selectstart','start','stop','submit'];if(TinyMCE_DevKitPlugin._isDebugEvents==s)return;TinyMCE_DevKitPlugin._isDebugEvents=s;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst)||inst.getDoc()==ld)continue;ld=inst.getDoc();for(i=0;i<ev.length;i++){if(s)tinyMCE.addEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent);else tinyMCE.removeEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent)}}},_debugEvent:function(e){var t;e=e?e:tinyMCE.selectedInstance.getWin().event;t=e.srcElement?e.srcElement:e.target;tinyMCE.debug(e.type,t?t.nodeName:'')},_serialize:function(o){var i,v,s=TinyMCE_DevKitPlugin._serialize;if(o==null)return'null';switch(typeof o){case'string':v='\bb\tt\nn\ff\rr\""\'\'\\\\';return'"'+o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])','g'),function(a,b){i=v.indexOf(b);if(i+1)return'\\'+v.charAt(i+1);a=b.charCodeAt().toString(16);return'\\u'+'0000'.substring(a.length)+a})+'"';case'object':if(o instanceof Array){for(i=0,v='[';i<o.length;i++)v+=(i>0?',':'')+s(o[i]);return v+']'}v='{';for(i in o)v+=typeof o[i]!='function'?(v.length>1?',"':'"')+i+'":'+s(o[i]):'';return v+'}'}return''+o}};tinyMCE.__debug=tinyMCE.debug;tinyMCE.debug=function(){var a,i,m='',now=new Date().getTime(),start=TinyMCE_DevKitPlugin._startTime;if(!start)TinyMCE_DevKitPlugin._startTime=start=now;a=this.debug.arguments;for(i=0;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>0)m+=', ';m+=a[i]}TinyMCE_DevKitPlugin._log('debug',m)};tinyMCE.dump=function(o){tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o))};tinyMCE.sleep=function(t){var s=new Date().getTime(),b;while(new Date().getTime()-s<t)b=1};tinyMCE.__execCommand=tinyMCE.execCommand;tinyMCE.execCommand=function(command,user_interface,value){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommand',command,user_interface,value);r=tinyMCE.__execCommand(command,user_interface,value);dk._end(st);return r};tinyMCE.__execInstanceCommand=tinyMCE.execInstanceCommand;tinyMCE.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execInstanceCommand',editor_id,command,user_interface,value);r=tinyMCE.__execInstanceCommand(editor_id,command,user_interface,value);dk._end(st);return r};TinyMCE_Engine.prototype.__handleEvent=TinyMCE_Engine.prototype.handleEvent;TinyMCE_Engine.prototype.handleEvent=function(e){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('handleEvent',e.type);r=tinyMCE.__handleEvent(e);dk._end(st);return r};tinyMCE.__importCSS=tinyMCE.importCSS;tinyMCE.importCSS=function(doc,css){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('importCSS',doc,css);r=tinyMCE.__importCSS(doc,css);dk._end(st);return r};tinyMCE.__triggerNodeChange=tinyMCE.triggerNodeChange;tinyMCE.triggerNodeChange=function(focus,setup_content){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('triggerNodeChange',focus,setup_content);r=tinyMCE.__triggerNodeChange(focus,setup_content);dk._end(st);return r};tinyMCE.__dispatchCallback=tinyMCE.dispatchCallback;tinyMCE.dispatchCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('dispatchCallback',i,p,n);r=tinyMCE.__dispatchCallback(i,p,n);dk._end(st);return r};tinyMCE.__executeCallback=tinyMCE.executeCallback;tinyMCE.executeCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('executeCallback',i,p,n);r=tinyMCE.__executeCallback(i,p,n);dk._end(st);return r};tinyMCE.__execCommandCallback=tinyMCE.execCommandCallback;tinyMCE.execCommandCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommandCallback',i,p,n);r=tinyMCE.__execCommandCallback(i,p,n);dk._end(st);return r};tinyMCE.addPlugin("devkit",TinyMCE_DevKitPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,325 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('devkit');
+
+var TinyMCE_DevKitPlugin = {
+	_logFilter : '\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',
+	_logPadding : '',
+	_startTime : null,
+	_benchMark : false,
+	_winLoaded : false,
+	_isDebugEvents : false,
+
+	getInfo : function() {
+		return {
+			longname : 'Development Kit',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		this._setup();
+	},
+
+	_setup : function() {
+		if (this._loaded)
+			return;
+
+		this._loaded = true;
+
+		// Register a document reference for more easy access in the FF DOM inspector
+		document.___TinyMCE = tinyMCE;
+
+		// Setup devkit by settings
+		this._logFilter = tinyMCE.getParam('devkit_log_filter', this._logFilter);
+		this._benchMark = tinyMCE.getParam('devkit_bench_mark', false);
+
+		var ifr = document.createElement('iframe');
+
+		ifr.setAttribute("id", "devkit");
+		ifr.setAttribute("frameBorder", "0");
+		ifr.setAttribute("src", tinyMCE.baseURL + '/plugins/devkit/devkit.htm');
+
+		document.body.appendChild(ifr);
+
+		// Workaround for strange IE reload bug
+		//if (tinyMCE.isRealIE)
+		//	document.getElementById('devkit').outerHTML = document.getElementById('devkit').outerHTML;
+
+		tinyMCE.importCSS(document, tinyMCE.baseURL + '/plugins/devkit/css/devkit_ui.css');
+	},
+
+	_start : function() {
+		this._logPadding += '\u00a0';
+
+		return new Date().getTime();
+	},
+
+	_end : function(st) {
+		if (this._logPadding.length > 0)
+			this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+		if (this._benchMark)
+			this._log("benchmark", "Execution time: " + (new Date().getTime() - st));
+	},
+
+	_log : function(t) {
+		var m, a, i, e = document.getElementById('devkit'), now = new Date().getTime();
+
+		if (!this._startTime)
+			this._startTime = now;
+
+		m = (this._logPadding.length > 1 ? this._logPadding : '') + '[' + (now - this._startTime) + '] [' + t + '] ';
+
+		a = this._log.arguments;
+		for (i=1; i<a.length; i++) {
+			if (typeof(a[i]) == 'undefined')
+				continue;
+
+			if (i > 1)
+				m += ', ';
+
+			m += a[i];
+		}
+
+		if (!new RegExp(this._logFilter, 'gi').test(m)) {
+			if (this._logPadding.length > 0)
+				this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+			return;
+		}
+
+		if (!this._winLoaded)
+			tinyMCE.log[tinyMCE.log.length] = m;
+		else
+			e.contentWindow.debug(m);
+	},
+
+	_debugEvents : function(s) {
+		var i, ld, inst, n, ev = ['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive',
+				'DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved',
+				'RadioStateChange','blur','broadcast','change','click','close','command',
+				'commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit',
+				'draggesture','dragover','focus','input','keydown','keypress','keyup','load',
+				'mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden',
+				'popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference',
+				'underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate',
+				'beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint',
+				'beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut',
+				'dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave',
+				'dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout',
+				'help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel',
+				'move','moveend','movestart','paste','propertychange','readystatechange','reset','resize',
+				'resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll',
+				'selectionchange','selectstart','start','stop','submit'];
+		// mousemove
+
+		if (TinyMCE_DevKitPlugin._isDebugEvents == s)
+			return;
+
+		TinyMCE_DevKitPlugin._isDebugEvents = s;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst) || inst.getDoc() == ld)
+				continue;
+
+			ld = inst.getDoc();
+
+			for (i=0; i<ev.length; i++) {
+				if (s)
+					tinyMCE.addEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+				else
+					tinyMCE.removeEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+			}
+		}
+	},
+
+	_debugEvent : function(e) {
+		var t;
+
+		e = e ? e : tinyMCE.selectedInstance.getWin().event;
+		t = e.srcElement ? e.srcElement : e.target;
+
+		tinyMCE.debug(e.type, t ? t.nodeName : '');
+	},
+
+	_serialize : function(o) {
+		var i, v, s = TinyMCE_DevKitPlugin._serialize;
+
+		if (o == null)
+			return 'null';
+
+		switch (typeof o) {
+			case 'string':
+				v = '\bb\tt\nn\ff\rr\""\'\'\\\\';
+
+				return '"' + o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])', 'g'), function(a, b) {
+					i = v.indexOf(b);
+
+					if (i+1)
+						return '\\' + v.charAt(i + 1);
+
+					a = b.charCodeAt().toString(16);
+
+					return '\\u' + '0000'.substring(a.length) + a;
+				}) + '"';
+
+			case 'object':
+				if (o instanceof Array) {
+					for (i=0, v = '['; i<o.length; i++)
+						v += (i > 0 ? ',' : '') + s(o[i]);
+
+					return v + ']';
+				}
+
+				v = '{';
+
+				for (i in o)
+					v += typeof o[i] != 'function' ? (v.length > 1 ? ',"' : '"') + i + '":' + s(o[i]) : '';
+
+				return v + '}';
+		}
+
+		return '' + o;
+	}
+};
+
+// Patch and piggy back functions
+tinyMCE.__debug = tinyMCE.debug;
+tinyMCE.debug = function() {
+	var a, i, m = '', now = new Date().getTime(), start = TinyMCE_DevKitPlugin._startTime;
+
+	if (!start)
+		TinyMCE_DevKitPlugin._startTime = start = now;
+
+	a = this.debug.arguments;
+	for (i=0; i<a.length; i++) {
+		if (typeof(a[i]) == 'undefined')
+			continue;
+
+		if (i > 0)
+			m += ', ';
+
+		m += a[i];
+	}
+
+	TinyMCE_DevKitPlugin._log('debug', m);
+};
+
+tinyMCE.dump = function(o) {
+	tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o));
+};
+
+tinyMCE.sleep = function(t) {
+	var s = new Date().getTime(), b;
+
+	while (new Date().getTime() - s < t) b=1;
+};
+
+tinyMCE.__execCommand = tinyMCE.execCommand;
+tinyMCE.execCommand = function(command, user_interface, value) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommand', command, user_interface, value);
+	r = tinyMCE.__execCommand(command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execInstanceCommand = tinyMCE.execInstanceCommand;
+tinyMCE.execInstanceCommand = function(editor_id, command, user_interface, value, focus) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execInstanceCommand', editor_id, command, user_interface, value);
+	r = tinyMCE.__execInstanceCommand(editor_id, command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+TinyMCE_Engine.prototype.__handleEvent = TinyMCE_Engine.prototype.handleEvent;
+TinyMCE_Engine.prototype.handleEvent = function(e) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('handleEvent', e.type);
+	r = tinyMCE.__handleEvent(e);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__importCSS = tinyMCE.importCSS;
+tinyMCE.importCSS = function(doc, css) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('importCSS', doc, css);
+	r = tinyMCE.__importCSS(doc, css);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__triggerNodeChange = tinyMCE.triggerNodeChange;
+tinyMCE.triggerNodeChange = function(focus, setup_content) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('triggerNodeChange', focus, setup_content);
+	r = tinyMCE.__triggerNodeChange(focus, setup_content);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__dispatchCallback = tinyMCE.dispatchCallback;
+tinyMCE.dispatchCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('dispatchCallback', i, p, n);
+	r = tinyMCE.__dispatchCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__executeCallback = tinyMCE.executeCallback;
+tinyMCE.executeCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('executeCallback', i, p, n);
+	r = tinyMCE.__executeCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execCommandCallback = tinyMCE.execCommandCallback;
+tinyMCE.execCommandCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommandCallback', i, p, n);
+	r = tinyMCE.__execCommandCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.addPlugin("devkit", TinyMCE_DevKitPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+var devkit = parent.tinyMCE.plugins['devkit'], logEnabled = true, flip = false, book = null;
+
+function init() {
+	var log, i, f = document.forms[0];
+
+	devkit._winLoaded = true;
+
+	log = tinyMCE.log;
+
+	for (i=0; i<log.length; i++)
+		debug(log[i]);
+
+	f.logfilter.value = devkit._logFilter;
+}
+
+function changeFilter(f) {
+	devkit._logFilter = f;
+}
+
+function toggleLog(s) {
+	logEnabled = s;
+}
+
+function toggleFlip() {
+	document.getElementById('flipbtn').src = flip ? 'images/flip_down.gif' : 'images/flip_up.gif';
+
+	if (flip)
+		parent.document.getElementById('devkit').className = 'devkitup';
+	else
+		parent.document.getElementById('devkit').className = 'devkitdown';
+
+	flip = !flip;
+}
+
+function debug(s) {
+	var d, l, n;
+
+	if (!logEnabled || !new RegExp(devkit._logFilter, 'gi').test(s))
+		return;
+
+	d = document;
+	l = d.getElementById('log');
+	n = d.createElement('span');
+
+	n.innerHTML = tinyMCE.xmlEncode(s);
+
+	l.appendChild(n);
+	l.scrollTop = l.scrollHeight;
+}
+
+function renderInfo() {
+	var se = document.getElementById('info'), n, sn, inst, h = '', sel, rng, instCount = 0, rc;
+
+	h += '<h2>Browser info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('navigator.userAgent', navigator.userAgent);
+	h += addRenderInfo('navigator.appName', navigator.appName);
+	h += addRenderInfo('navigator.platform', navigator.platform);
+	h += addRenderInfo('navigator.language', navigator.language, 'bspec');
+	h += addRenderInfo('navigator.browserLanguage', navigator.browserLanguage, 'bspec');
+	h += addRenderInfo('navigator.systemLanguage', navigator.systemLanguage, 'bspec');
+	h += addRenderInfo('navigator.userLanguage', navigator.userLanguage, 'bspec');
+	h += addRenderInfo('opera.buildNumber("inconspicuous")', typeof(opera) != 'undefined' && opera.buildNumber ? opera.buildNumber('inconspicuous') : null, 'bspec');
+	h += addRenderInfo('window.innerWidth', parent.window.innerWidth, 'bspec');
+	h += addRenderInfo('window.innerHeight', parent.window.innerHeight, 'bspec');
+	h += addRenderInfo('document.body.offsetWidth', parent.document.body.offsetWidth);
+	h += addRenderInfo('document.body.offsetHeight', parent.document.body.offsetHeight);
+	h += addRenderInfo('screen.width', screen.width);
+	h += addRenderInfo('screen.height', screen.height);
+	h += addRenderInfo('screen.availWidth', screen.availWidth);
+	h += addRenderInfo('screen.availHeight', screen.availHeight);
+	h += addRenderInfo('screen.colorDepth', screen.colorDepth);
+	h += addRenderInfo('screen.pixelDepth', screen.pixelDepth, 'bspec');
+	h += addRenderInfo('document.contentType', document.contentType, 'bspec');
+	h += '</table>';
+
+	h += '<h2>TinyMCE_Engine info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('baseURL', tinyMCE.baseURL);
+	h += addRenderInfo('selectedInstance.editorId', tinyMCE.selectedInstance ? tinyMCE.selectedInstance.editorId : null);
+	h += addRenderInfo('selectedElement.nodeName', tinyMCE.selectedElement ? tinyMCE.selectedElement.nodeName : null, 'dep');
+	h += addRenderInfo('loadedFiles',tinyMCE.loadedFiles.join(','));
+	h += addRenderInfo('isMSIE', tinyMCE.isMSIE);
+	h += addRenderInfo('isMSIE5', tinyMCE.isMSIE5);
+	h += addRenderInfo('isMSIE5_0', tinyMCE.isMSIE5_0);
+	h += addRenderInfo('isMSIE7', tinyMCE.isMSIE7);
+	h += addRenderInfo('isGecko', tinyMCE.isGecko);
+	h += addRenderInfo('isSafari', tinyMCE.isSafari);
+	h += addRenderInfo('isOpera', tinyMCE.isOpera);
+	h += addRenderInfo('isMac', tinyMCE.isMac);
+	h += addRenderInfo('isNS7', tinyMCE.isNS7);
+	h += addRenderInfo('isNS71', tinyMCE.isNS71);
+	h += addRenderInfo('idCounter', tinyMCE.idCounter);
+	h += addRenderInfo('currentConfig', tinyMCE.currentConfig);
+	h += addRenderInfo('majorVersion', tinyMCE.majorVersion);
+	h += addRenderInfo('minorVersion', tinyMCE.minorVersion);
+	h += addRenderInfo('releaseDate', tinyMCE.releaseDate);
+	h += addRenderInfo('documentBasePath', tinyMCE.documentBasePath);
+	h += addRenderInfo('documentURL', tinyMCE.documentURL);
+	h += '</table>';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		sel = inst.selection.getSel();
+		rng = inst.selection.getRng();
+
+		h += '<h2>TinyMCE_Control(' + (instCount++) + ') id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		h += addRenderInfo('editorId', inst.editorId);
+		h += addRenderInfo('visualAid', inst.visualAid);
+		h += addRenderInfo('foreColor', inst.foreColor);
+		h += addRenderInfo('backColor', inst.backColor);
+		h += addRenderInfo('formTargetElementId', inst.formTargetElementId);
+		h += addRenderInfo('formElement', inst.formElement ? inst.formElement.nodeName : null);
+		h += addRenderInfo('oldTargetElement', inst.oldTargetElement ? inst.oldTargetElement.nodeName : null);
+		h += addRenderInfo('linkElement', inst.linkElement ? inst.linkElement.nodeName : null, 'dep');
+		h += addRenderInfo('imgElement', inst.imgElement ? inst.imgElement.nodeName : null, 'dep');
+		h += addRenderInfo('selectedNode', inst.selectedNode ? inst.selectedNode.nodeName : null, 'dep');
+		h += addRenderInfo('targetElement', inst.targetElement ? inst.targetElement.nodeName : null);
+		h += addRenderInfo('getBody().nodeName', inst.getBody() ? inst.getBody().nodeName : null);
+		h += addRenderInfo('getBody().getAttribute("id")', inst.getBody() ? inst.getBody().getAttribute("id") : null);
+		h += addRenderInfo('getDoc().location', inst.getDoc() ? inst.getDoc().location : null);
+		h += addRenderInfo('startContent', inst.startContent);
+		h += addRenderInfo('isHidden()', inst.isHidden());
+		h += addRenderInfo('isDirty()', inst.isDirty());
+		h += addRenderInfo('undoRedo.undoLevels.length', inst.undoRedo.undoLevels.length);
+		h += addRenderInfo('undoRedo.undoIndex', inst.undoRedo.undoIndex);
+		h += addRenderInfo('selection.getSelectedHTML()', inst.selection.getSelectedHTML());
+		h += addRenderInfo('selection.isCollapsed()', inst.selection.isCollapsed() || 'false');
+		h += addRenderInfo('selection.getSelectedText()', inst.selection.getSelectedText());
+		h += addRenderInfo('selection.getFocusElement().nodeName', inst.selection.getFocusElement().nodeName);
+		h += addRenderInfo('selection.getFocusElement().outerHTML', tinyMCE.getOuterHTML(inst.selection.getFocusElement()));
+
+		if ((tinyMCE.isGecko || tinyMCE.isOpera) && sel && rng) {
+			h += addRenderInfo('selection.getSel().anchorNode.nodeName', sel.anchorNode ? sel.anchorNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().anchorOffset', sel.anchorOffset, 'bspec');
+			h += addRenderInfo('selection.getSel().focusNode.nodeName', sel.focusNode ? sel.focusNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().focusOffset', sel.focusOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().startContainer.nodeName', rng.startContainer ? rng.startContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().startOffset', rng.startOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().endContainer.nodeName', rng.endContainer ? rng.endContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().endOffset', rng.endOffset, 'bspec');
+		}
+
+		if (typeof(rng.item) != 'undefined' || typeof(rng.htmlText) != 'undefined') {
+			if (!rng.item) {
+				h += addRenderInfo('selection.getSel().type', sel.type, 'bspec');
+				h += addRenderInfo('selection.getRng().htmlText', rng.htmlText, 'bspec');
+				h += addRenderInfo('selection.getRng().text', rng.text, 'bspec');
+			} else
+				h += addRenderInfo('selection.getRng().item(0).nodeName', rng.item(0).nodeName, 'bspec');
+		}
+
+		h += '</table>';
+	}
+
+	h += '<p>Fields marked in <strong class="bspec">gray</strong> is not cross browser and should be used with care.</p>';
+	h += '<p>Fields marked <strong class="dep">red</strong> are marked deprecated and will be removed in the future.</p><br />';
+
+	se.innerHTML = h;
+}
+
+function addRenderInfo(n, v, c) {
+	return '<tr><td' + (c ? ' class="' + c + '"' : '')+ '>' + n + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v != null ? ('' + v).replace(/[\r\n]/g, '') : 'null') + '" /></td></tr>';
+}
+
+function renderSettings() {
+	var se = document.getElementById('settings'), n, sn, inst, h = '', v;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (sn in inst.settings) {
+			v = inst.settings[sn];
+
+			h += '<tr><td class="col1">' + tinyMCE.xmlEncode(sn) + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderContent() {
+	var se = document.getElementById('content'), n, inst, h = '';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+
+		h += '<h3>Start content - inst.startContent:</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.startContent) + '</div>';
+
+		h += '<h3>Raw content - inst.getBody().innerHTML or inst.getHTML(true):</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML(true)) + '</div>';
+
+		h += '<h3>Cleaned content - inst.getHTML():</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML()) + '</div>';
+
+		if (inst.serializedHTML) {
+			h += '<h3>Serialized HTML content - inst.serializedHTML:</h3>';
+			h += '<div>' + tinyMCE.xmlEncode(inst.serializedHTML) + '</div>';
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function renderCommandStates() {
+	var se = document.getElementById('command_states'), n, inst, h = '', v, ex;
+	var cmds = new Array('2D-Position','AbsolutePosition','BackColor','BlockDirLTR','BlockDirRTL','Bold','BrowseMode','Copy','CreateBookmark','CreateLink','Cut','Delete','DirLTR','DirRTL','EditMode','enableInlineTableEditing','enableObjectResizing','FontName','FontSize','ForeColor','FormatBlock','Indent','InsertButton','InsertFieldset','InsertHorizontalRule','InsertIFrame','InsertImage','InsertInputButton','InsertInputCheckbox','InsertInputFileUpload','InsertInputHidden','InsertInputImage','InsertInputPassword','InsertInputRadio','InsertInputReset','InsertInputSubmit','InsertInputText','InsertMarquee','InsertOrderedList','InsertParagraph','InsertSelectDropdown','InsertSelectListbox','InsertTextArea','InsertUnorderedList','Italic','JustifyCenter','JustifyFull','JustifyLeft','JustifyNone','JustifyRight','LiveResize','MultipleSelection','Open','Outdent','OverWrite','Paste','PlayImage','Redo','Refresh','RemoveFormat','SaveAs','SelectAll','SizeToControl','SizeToControlHeight','SizeToControlWidth','Stop','StopImage','StrikeThrough','styleWithCSS','Subscript','Superscript','UnBookmark','Underline','Undo','Unlink','Unselect'), i;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (i=0; i<cmds.length; i++) {
+			v = null;
+
+			try {
+				v = tinyMCE.isGecko || inst.getDoc().queryCommandSupported(cmds[i]);
+				v = v ? inst.queryCommandState(cmds[i]) : 'Not supported';
+			} catch (ex) {
+				v = 'Not supported';
+			}
+
+			h += '<tr><td><input type="text" value="' + tinyMCE.xmlEncode(cmds[i]) + '" /></td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderUndoRedo() {
+	var se = document.getElementById('undo_redo'), inst, n, h = '', i, le, id, d, ur;
+	var f = document.forms[0];	
+
+	if (tinyMCE.undoLevels) {
+		le = tinyMCE.undoLevels;
+
+		h += '<h2>Global undo/redo</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + tinyMCE.undoIndex + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++)
+			h += '<h3>Level: ' + i + ', Instance: ' + (le[i] ? le[i].editorId : 'null') + '</h3>';
+	}
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		ur = inst.undoRedo;
+		le = ur.undoLevels;
+
+		h += '<hr /><h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + ur.undoIndex + '</td></tr>';
+		h += '<tr><td>typingUndoIndex</td><td>' + ur.typingUndoIndex + '</td></tr>';
+		h += '<tr><td>undoRedo</td><td>' + ur.undoRedo + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++) {
+			h += '<h3>Level: ' + i + (!le[i].bookmark ? "" : " [bookmark]") + '</h3>';
+			h += '<div class="undodata">' + tinyMCE.xmlEncode(le[i].content) + '</div>';
+
+			if (i > 0 && f.undo_diff.checked) {
+				d = diff_main(i > 0 ? le[i-1].content.replace(/[\r\n]+/g, '') : null, le[i].content.replace(/[\r\n]+/g, ''), false);
+				diff_cleanup_semantic(d);
+				h += '<h3>Diff ' + (i-1) + ',' + i + '</h3><div class="undodata">' + diff_prettyhtml(d) + '</div>';
+			}
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function clearLog() {
+	document.getElementById('log').innerHTML = '';
+	devkit._startTime = null;
+}
+
+function cancelAction() {
+	parent.document.getElementById('devkit').style.display = 'none';
+}
+
+function toggleDebugEvents(s) {
+	devkit._debugEvents(s);
+}
+
+function storeSelection() {
+	book = tinyMCE.selectedInstance.selection.getBookmark();
+
+	return false;
+}
+
+function restoreSelection() {
+	tinyMCE.selectedInstance.selection.moveToBookmark(book);
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1192 @@
+// Diff_Match_Patch v1.3
+// Computes the difference between two texts to create a patch.
+// Applies the patch onto another text, allowing for errors.
+// Copyright (C) 2006 Neil Fraser
+// http://neil.fraser.name/software/diff_match_patch/
+
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License (www.gnu.org) for more details.
+
+
+// Constants.
+// Redefine these in your program to override the defaults.
+
+// Number of seconds to map a diff before giving up.  (0 for infinity)
+var DIFF_TIMEOUT = 1.0;
+// Cost of an empty edit operation in terms of edit characters.
+var DIFF_EDIT_COST = 4;
+// Tweak the relative importance (0.0 = accuracy, 1.0 = proximity)
+var MATCH_BALANCE = 0.5;
+// At what point is no match declared (0.0 = perfection, 1.0 = very loose)
+var MATCH_THRESHOLD = 0.5;
+// The min and max cutoffs used when computing text lengths.
+var MATCH_MINLENGTH = 100;
+var MATCH_MAXLENGTH = 1000;
+// Chunk size for context length.
+var PATCH_MARGIN = 4;
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Diff                                                            //
+//////////////////////////////////////////////////////////////////////
+
+// The data structure representing a diff is an array of tuples:
+// [[-1, "Hello"], [1, "Goodbye"], [0, " world."]]
+// which means: delete "Hello", add "Goodbye" and keep " world."
+
+
+function diff_main(text1, text2, checklines) {
+  // Find the differences between two texts.  Return an array of changes.
+  // If checklines is present and false, then don't run a line-level diff first to identify the changed areas.
+  // Check for equality (speedup)
+  if (text1 == text2)
+    return [[0, text1]];
+
+  if (typeof checklines == 'undefined')
+    checklines = true;
+
+  var a;
+  // Trim off common prefix (speedup)
+  a = diff_prefix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonprefix = a[2];
+
+  // Trim off common suffix (speedup)
+  a = diff_suffix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonsuffix = a[2];
+
+  var diff, i;
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+
+  if (!text1) {  // Just add some text (speedup)
+    diff = [[1, text2]];
+  } else if (!text2) { // Just delete some text (speedup)
+    diff = [[-1, text1]];
+  } else if ((i = longtext.indexOf(shorttext)) != -1) {
+    // Shorter text is inside the longer text (speedup)
+    diff = [[1, longtext.substring(0, i)], [0, shorttext], [1, longtext.substring(i+shorttext.length)]];
+    // Swap insertions for deletions if diff is reversed.
+    if (text1.length > text2.length)
+      diff[0][0] = diff[2][0] = -1;
+  } else {
+    longtext = shorttext = null; // Garbage collect
+    // Check to see if the problem can be split in two.
+    var hm = diff_halfmatch(text1, text2);
+    if (hm) {
+      // A half-match was found, sort out the return data.
+      var text1_a = hm[0];
+      var text1_b = hm[1];
+      var text2_a = hm[2];
+      var text2_b = hm[3];
+      var mid_common = hm[4];
+      // Send both pairs off for separate processing.
+      var diff_a = diff_main(text1_a, text2_a, checklines);
+      var diff_b = diff_main(text1_b, text2_b, checklines);
+      // Merge the results.
+      diff = diff_a.concat([[0, mid_common]], diff_b);
+    } else {
+      // Perform a real diff.
+      if (checklines && text1.length + text2.length < 250)
+        checklines = false; // Too trivial for the overhead.
+      if (checklines) {
+        // Scan the text on a line-by-line basis first.
+        a = diff_lines2chars(text1, text2);
+        text1 = a[0];
+        text2 = a[1];
+        var linearray = a[2];
+      }
+      diff = diff_map(text1, text2);
+      if (!diff) // No acceptable result.
+        diff = [[-1, text1], [1, text2]];
+      if (checklines) {
+        diff_chars2lines(diff, linearray); // Convert the diff back to original text.
+        diff_cleanup_semantic(diff); // Eliminate freak matches (e.g. blank lines)
+
+        // Rediff any replacement blocks, this time on character-by-character basis.
+        diff.push([0, '']);  // Add a dummy entry at the end.
+        var pointer = 0;
+        var count_delete = 0;
+        var count_insert = 0;
+        var text_delete = '';
+        var text_insert = '';
+        while(pointer < diff.length) {
+          if (diff[pointer][0] == 1) {
+            count_insert++;
+            text_insert += diff[pointer][1];
+          } else if (diff[pointer][0] == -1) {
+            count_delete++;
+            text_delete += diff[pointer][1];
+          } else {  // Upon reaching an equality, check for prior redundancies.
+            if (count_delete >= 1 && count_insert >= 1) {
+              // Delete the offending records and add the merged ones.
+              a = diff_main(text_delete, text_insert, false);
+              diff.splice(pointer - count_delete - count_insert, count_delete + count_insert);
+              pointer = pointer - count_delete - count_insert;
+              for (i=a.length-1; i>=0; i--)
+                diff.splice(pointer, 0, a[i]);
+              pointer = pointer + a.length;
+            }
+            count_insert = 0;
+            count_delete = 0;
+            text_delete = '';
+            text_insert = '';
+          }
+          pointer++;
+        }
+        diff.pop();  // Remove the dummy entry at the end.
+
+      }
+    }
+  }
+
+  if (commonprefix)
+    diff.unshift([0, commonprefix]);
+  if (commonsuffix)
+    diff.push([0, commonsuffix]);
+  diff_cleanup_merge(diff);
+  return diff;
+}
+
+
+function diff_lines2chars(text1, text2) {
+  // Split text into an array of strings.
+  // Reduce the texts to a string of hashes where each character represents one line.
+  var linearray = new Array();  // linearray[4] == "Hello\n"
+  var linehash = new Object();  // linehash["Hello\n"] == 4
+
+  // "\x00" is a valid JavaScript character, but the Venkman debugger doesn't like it (bug 335098)
+  // So we'll insert a junk entry to avoid generating a null character.
+  linearray.push('');
+
+  function diff_lines2chars_munge(text) {
+    // My first ever closure!
+    var i, line;
+    var chars = '';
+    while (text) {
+      i = text.indexOf('\n');
+      if (i == -1)
+        i = text.length;
+      line = text.substring(0, i+1);
+      text = text.substring(i+1);
+      if (linehash.hasOwnProperty ? linehash.hasOwnProperty(line) : (linehash[line] !== undefined)) {
+        chars += String.fromCharCode(linehash[line]);
+      } else {
+        linearray.push(line);
+        linehash[line] = linearray.length - 1;
+        chars += String.fromCharCode(linearray.length - 1);
+      }
+    }
+    return chars;
+  }
+
+  var chars1 = diff_lines2chars_munge(text1);
+  var chars2 = diff_lines2chars_munge(text2);
+  return [chars1, chars2, linearray];
+}
+
+
+function diff_chars2lines(diff, linearray) {
+  // Rehydrate the text in a diff from a string of line hashes to real lines of text.
+  var chars, text;
+  for (var x=0; x<diff.length; x++) {
+    chars = diff[x][1];
+    text = '';
+    for (var y=0; y<chars.length; y++)
+      text += linearray[chars.charCodeAt(y)];
+    diff[x][1] = text;
+  }
+}
+
+
+function diff_map(text1, text2) {
+  // Explore the intersection points between the two texts.
+  var now = new Date();
+  var ms_end = now.getTime() + DIFF_TIMEOUT * 1000; // Don't run for too long.
+  var max = (text1.length + text2.length) / 2;
+  var v_map1 = new Array();
+  var v_map2 = new Array();
+  var v1 = new Object();
+  var v2 = new Object();
+  v1[1] = 0;
+  v2[1] = 0;
+  var x, y;
+  var footstep; // Used to track overlapping paths.
+  var footsteps = new Object();
+  var done = false;
+  var hasOwnProperty = !!(footsteps.hasOwnProperty);
+  // If the total number of characters is odd, then the front path will collide with the reverse path.
+  var front = (text1.length + text2.length) % 2;
+  for (var d=0; d<max; d++) {
+    now = new Date();
+    if (DIFF_TIMEOUT > 0 && now.getTime() > ms_end) // Timeout reached
+      return null;
+
+    // Walk the front path one step.
+    v_map1[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v1[k-1] < v1[k+1])
+        x = v1[k+1];
+      else
+        x = v1[k-1]+1;
+      y = x - k;
+      footstep = x+","+y;
+      if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (!front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(x) == text2.charAt(y)) {
+        x++; y++;
+        footstep = x+","+y;
+        if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (!front)
+          footsteps[footstep] = d;
+      }
+      v1[k] = x;
+      v_map1[d][x+","+y] = true;
+      if (done) {
+        // Front path ran over reverse path.
+        v_map2 = v_map2.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, x), text2.substring(0, y));
+        return a.concat(diff_path2(v_map2, text1.substring(x), text2.substring(y)));
+      }
+    }
+
+    // Walk the reverse path one step.
+    v_map2[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v2[k-1] < v2[k+1])
+        x = v2[k+1];
+      else
+        x = v2[k-1]+1;
+      y = x - k;
+      footstep = (text1.length-x)+","+(text2.length-y);
+      if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(text1.length-x-1) == text2.charAt(text2.length-y-1)) {
+        x++; y++;
+        footstep = (text1.length-x)+","+(text2.length-y);
+        if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (front)
+          footsteps[footstep] = d;
+      }
+      v2[k] = x;
+      v_map2[d][x+","+y] = true;
+      if (done) {
+        // Reverse path ran over front path.
+        v_map1 = v_map1.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, text1.length-x), text2.substring(0, text2.length-y));
+        return a.concat(diff_path2(v_map2, text1.substring(text1.length-x), text2.substring(text2.length-y)));
+      }
+    }
+  }
+  // Number of diffs equals number of characters, no commonality at all.
+  return null;
+}
+
+
+function diff_path1(v_map, text1, text2) {
+  // Work from the middle back to the start to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([-1, text1.charAt(x)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[0][1] = text2.charAt(y) + path[0][1];
+        else
+          path.unshift([1, text2.charAt(y)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(x) != text2.charAt(y))
+        //  return alert("No diagonal.  Can't happen. (diff_path1)");
+        if (last_op === 0)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([0, text1.charAt(x)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_path2(v_map, text1, text2) {
+  // Work from the middle back to the end to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([-1, text1.charAt(text1.length-x-1)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[path.length-1][1] += text2.charAt(text2.length-y-1);
+        else
+          path.push([1, text2.charAt(text2.length-y-1)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(text1.length-x-1) != text2.charAt(text2.length-y-1))
+        //  return alert("No diagonal.  Can't happen. (diff_path2)");
+        if (last_op === 0)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([0, text1.charAt(text1.length-x-1)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_prefix(text1, text2) {
+  // Trim off common prefix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(0, pointermid) == text2.substring(0, pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonprefix = text1.substring(0, pointermid);
+  text1 = text1.substring(pointermid);
+  text2 = text2.substring(pointermid);
+  return [text1, text2, commonprefix];
+}
+
+
+function diff_suffix(text1, text2) {
+  // Trim off common suffix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(text1.length-pointermid) == text2.substring(text2.length-pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonsuffix = text1.substring(text1.length-pointermid);
+  text1 = text1.substring(0, text1.length-pointermid);
+  text2 = text2.substring(0, text2.length-pointermid);
+  return [text1, text2, commonsuffix];
+}
+
+
+function diff_halfmatch(text1, text2) {
+  // Do the two texts share a substring which is at least half the length of the longer text?
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+  if (longtext.length < 10 || shorttext.length < 1)
+    return null; // Pointless.
+
+  function diff_halfmatch_i(longtext, shorttext, i) {
+    // Start with a 1/4 length substring at position i as a seed.
+    var seed = longtext.substring(i, i+Math.floor(longtext.length/4));
+    var j = -1;
+    var best_common = '';
+    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;
+    while ((j = shorttext.indexOf(seed, j+1)) != -1) {
+      var my_prefix = diff_prefix(longtext.substring(i), shorttext.substring(j));
+      var my_suffix = diff_suffix(longtext.substring(0, i), shorttext.substring(0, j));
+      if (best_common.length < (my_suffix[2] + my_prefix[2]).length) {
+        best_common = my_suffix[2] + my_prefix[2];
+        best_longtext_a = my_suffix[0];
+        best_longtext_b = my_prefix[0];
+        best_shorttext_a = my_suffix[1];
+        best_shorttext_b = my_prefix[1];
+      }
+    }
+    if (best_common.length >= longtext.length/2)
+      return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];
+    else
+      return null;
+  }
+
+  // First check if the second quarter is the seed for a half-match.
+  var hm1 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/4));
+  // Check again based on the third quarter.
+  var hm2 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/2));
+  var hm;
+  if (!hm1 && !hm2)
+    return null;
+  else if (!hm2)
+    hm = hm1;
+  else if (!hm1)
+    hm = hm2;
+  else // Both matched.  Select the longest.
+    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
+
+  // A half-match was found, sort out the return data.
+  if (text1.length > text2.length) {
+    var text1_a = hm[0];
+    var text1_b = hm[1];
+    var text2_a = hm[2];
+    var text2_b = hm[3];
+  } else {
+    var text2_a = hm[0];
+    var text2_b = hm[1];
+    var text1_a = hm[2];
+    var text1_b = hm[3];
+  }
+  var mid_common = hm[4];
+  return [text1_a, text1_b, text2_a, text2_b, mid_common];
+}
+
+
+function diff_cleanup_semantic(diff) {
+  // Reduce the number of edits by eliminating semantically trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = null; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var length_changes1 = 0; // Number of characters that changed prior to the equality.
+  var length_changes2 = 0; // Number of characters that changed after the equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      equalities.push(pointer);
+      length_changes1 = length_changes2;
+      length_changes2 = 0;
+      lastequality = diff[pointer][1];
+    } else { // an insertion or deletion
+      length_changes2 += diff[pointer][1].length;
+      if (lastequality != null && (lastequality.length <= length_changes1) && (lastequality.length <= length_changes2)) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        equalities.pop();  // Throw away the previous equality;
+        pointer = equalities.length ? equalities[equalities.length-1] : -1;
+        length_changes1 = 0; // Reset the counters.
+        length_changes2 = 0;
+        lastequality = null;
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_efficiency(diff) {
+  // Reduce the number of edits by eliminating operationally trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = ''; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var pre_ins = false; // Is there an insertion operation before the last equality.
+  var pre_del = false; // Is there an deletion operation before the last equality.
+  var post_ins = false; // Is there an insertion operation after the last equality.
+  var post_del = false; // Is there an deletion operation after the last equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      if (diff[pointer][1].length < DIFF_EDIT_COST && (post_ins || post_del)) {
+        // Candidate found.
+        equalities.push(pointer);
+        pre_ins = post_ins;
+        pre_del = post_del;
+        lastequality = diff[pointer][1];
+      } else {
+        // Not a candidate, and can never become one.
+        equalities = [];
+        lastequality = '';
+      }
+      post_ins = post_del = false;
+    } else { // an insertion or deletion
+      if (diff[pointer][0] == -1)
+        post_del = true;
+      else
+        post_ins = true;
+      // Five types to be split:
+      // <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
+      // <ins>A</ins>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<ins>C</ins>
+      // <ins>A</del>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<del>C</del>
+      if (lastequality && ((pre_ins && pre_del && post_ins && post_del) || ((lastequality.length < DIFF_EDIT_COST/2) && (pre_ins + pre_del + post_ins + post_del) == 3))) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        lastequality = '';
+        if (pre_ins && pre_del) {
+          // No changes made which could affect previous entry, keep going.
+          post_ins = post_del = true;
+          equalities = [];
+        } else {
+          equalities.pop();  // Throw away the previous equality;
+          pointer = equalities.length ? equalities[equalities.length-1] : -1;
+          post_ins = post_del = false;
+        }
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_merge(diff) {
+  // Reorder and merge like edit sections.  Merge equalities.
+  // Any edit section can move as long as it doesn't cross an equality.
+  diff.push([0, '']);  // Add a dummy entry at the end.
+  var pointer = 0;
+  var count_delete = 0;
+  var count_insert = 0;
+  var text_delete = '';
+  var text_insert = '';
+  var record_insert, record_delete;
+  var my_xfix;
+  while(pointer < diff.length) {
+    if (diff[pointer][0] == 1) {
+      count_insert++;
+      text_insert += diff[pointer][1];
+      pointer++;
+    } else if (diff[pointer][0] == -1) {
+      count_delete++;
+      text_delete += diff[pointer][1];
+      pointer++;
+    } else {  // Upon reaching an equality, check for prior redundancies.
+      if (count_delete > 1 || count_insert > 1) {
+        if (count_delete > 1 && count_insert > 1) {
+          // Factor out any common prefixies.
+          my_xfix = diff_prefix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            if ((pointer - count_delete - count_insert) > 0 && diff[pointer - count_delete - count_insert - 1][0] == 0) {
+              text_insert = my_xfix[0];
+              text_delete = my_xfix[1];
+              diff[pointer - count_delete - count_insert - 1][1] += my_xfix[2];
+            }
+          }
+          // Factor out any common suffixies.
+          my_xfix = diff_suffix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            text_insert = my_xfix[0];
+            text_delete = my_xfix[1];
+            diff[pointer][1] = my_xfix[2] + diff[pointer][1];
+          }
+        }
+        // Delete the offending records and add the merged ones.
+        if (count_delete == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [1, text_insert]);
+        else if (count_insert == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete]);
+        else
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete], [1, text_insert]);
+        pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;
+      } else if (pointer != 0 && diff[pointer-1][0] == 0) {
+        // Merge this equality with the previous one.
+        diff[pointer-1][1] += diff[pointer][1];
+        diff.splice(pointer, 1);
+      } else {
+        pointer++;
+      }
+      count_insert = 0;
+      count_delete = 0;
+      text_delete = '';
+      text_insert = '';
+    }
+  }
+  if (diff[diff.length-1][1] == '')
+    diff.pop();  // Remove the dummy entry at the end.
+}
+
+
+function diff_addindex(diff) {
+  // Add an index to each tuple, represents where the tuple is located in text2.
+  // e.g. [[-1, 'h', 0], [1, 'c', 0], [0, 'at', 1]]
+  var i = 0;
+  for (var x=0; x<diff.length; x++) {
+    diff[x].push(i);
+    if (diff[x][0] != -1)
+      i += diff[x][1].length;
+  }
+}
+
+
+function diff_xindex(diff, loc) {
+  // loc is a location in text1, compute and return the equivalent location in text2.
+  // e.g. "The cat" vs "The big cat", 1->1, 5->8
+  var chars1 = 0;
+  var chars2 = 0;
+  var last_chars1 = 0;
+  var last_chars2 = 0;
+  for (var x=0; x<diff.length; x++) {
+    if (diff[x][0] != 1) // Equality or deletion.
+      chars1 += diff[x][1].length;
+    if (diff[x][0] != -1) // Equality or insertion.
+      chars2 += diff[x][1].length;
+    if (chars1 > loc) // Overshot the location.
+      break;
+    last_chars1 = chars1;
+    last_chars2 = chars2;
+  }
+  if (diff.length != x && diff[x][0] == -1) // The location was deleted.
+    return last_chars2;
+  // Add the remaining character length.
+  return last_chars2 + (loc - last_chars1);
+}
+
+
+function diff_prettyhtml(diff) {
+  // Convert a diff array into a pretty HTML report.
+  diff_addindex(diff);
+  var html = '';
+  for (var x=0; x<diff.length; x++) {
+    var m = diff[x][0]; // Mode (-1=delete, 0=copy, 1=add)
+    var t = diff[x][1]; // Text of change.
+    var i = diff[x][2]; // Index of change.
+    t = t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
+    t = t.replace(/\n/g, "&para;<BR>");
+    if (m == -1)
+      html += "<DEL STYLE='background:#FFE6E6;' TITLE='i="+i+"'>"+t+"</DEL>";
+    else if (m == 1)
+      html += "<INS STYLE='background:#E6FFE6;' TITLE='i="+i+"'>"+t+"</INS>";
+    else
+      html += "<SPAN TITLE='i="+i+"'>"+t+"</SPAN>";
+  }
+  return html;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Match                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function match_getmaxbits() {
+  // Compute the number of bits in an int.
+  // The normal answer for JavaScript is 32.
+  var maxbits = 0;
+  var oldi = 1;
+  var newi = 2;
+  while (oldi != newi) {
+    maxbits++;
+    oldi = newi;
+    newi = newi << 1;
+  }
+  return maxbits;
+}
+var MATCH_MAXBITS = match_getmaxbits();
+
+
+function match_main(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc'.
+  loc = Math.max(0, Math.min(loc, text.length-pattern.length));
+  if (text == pattern) {
+    // Shortcut (potentially not guaranteed by the algorithm)
+    return 0;
+  } else if (text.length == 0) {
+    // Nothing to match.
+    return null;
+  } else if (text.substring(loc, loc + pattern.length) == pattern) {
+    // Perfect match at the perfect spot!  (Includes case of null pattern)
+    return loc;
+  } else {
+    // Do a fuzzy compare.
+    var match = match_bitap(text, pattern, loc);
+    return match;
+  }
+}
+
+
+function match_bitap(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc' using the Bitap algorithm.
+  if (pattern.length > MATCH_MAXBITS)
+    return alert("Pattern too long for this browser.");
+
+  // Initialise the alphabet.
+  var s = match_alphabet(pattern);
+
+  var score_text_length = text.length;
+  // Coerce the text length between reasonable maximums and minimums.
+  score_text_length = Math.max(score_text_length, MATCH_MINLENGTH);
+  score_text_length = Math.min(score_text_length, MATCH_MAXLENGTH);
+
+  function match_bitap_score (e, x) {
+    // Compute and return the score for a match with e errors and x location.
+    var d = Math.abs(loc-x);
+    return (e / pattern.length / MATCH_BALANCE) + (d / score_text_length / (1.0 - MATCH_BALANCE));
+  }
+
+  // Highest score beyond which we give up.
+  var score_threshold = MATCH_THRESHOLD;
+  // Is there a nearby exact match? (speedup)
+  var best_loc = text.indexOf(pattern, loc);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+  // What about in the other direction? (speedup)
+  best_loc = text.lastIndexOf(pattern, loc+pattern.length);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+
+  // Initialise the bit arrays.
+  var r = Array();
+  var d = -1;
+  var matchmask = Math.pow(2, pattern.length-1);
+  best_loc = null;
+
+  var bin_min, bin_mid;
+  var bin_max = Math.max(loc+loc, text.length);
+  var last_rd;
+  for (var d=0; d<pattern.length; d++) {
+    // Scan for the best match; each iteration allows for one more error.
+    var rd = Array(text.length);
+
+    // Run a binary search to determine how far from 'loc' we can stray at this error level.
+    bin_min = loc;
+    bin_mid = bin_max;
+    while(bin_min < bin_mid) {
+      if (match_bitap_score(d, bin_mid) < score_threshold)
+        bin_min = bin_mid;
+      else
+        bin_max = bin_mid;
+      bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);
+    }
+    bin_max = bin_mid; // Use the result from this iteration as the maximum for the next.
+    var start = Math.max(0, loc - (bin_mid - loc) - 1);
+    var finish = Math.min(text.length-1, pattern.length + bin_mid);
+
+    if (text.charAt(finish) == pattern.charAt(pattern.length-1))
+      rd[finish] = Math.pow(2, d+1)-1;
+    else
+      rd[finish] = Math.pow(2, d)-1;
+    for (var j=finish-1; j>=start; j--) {
+      // The alphabet (s) is a sparse hash, so the following lines generate warnings.
+      if (d == 0) // First pass: exact match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)];
+      else // Subsequent passes: fuzzy match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)] | ((last_rd[j+1] << 1) | 1) | ((last_rd[j] << 1) | 1) | last_rd[j+1];
+      if (rd[j] & matchmask) {
+        var score = match_bitap_score(d, j);
+        // This match will almost certainly be better than any existing match.  But check anyway.
+        if (score <= score_threshold) {
+          // Told you so.
+          score_threshold = score;
+          best_loc = j;
+          if (j > loc) {
+            // When passing loc, don't exceed our current distance from loc.
+            start = Math.max(0, loc - (j - loc));
+          } else {
+            // Already passed loc, downhill from here on in.
+            break;
+          }
+        }
+      }
+    }
+    if (match_bitap_score(d+1, loc) > score_threshold) // No hope for a (better) match at greater error levels.
+      break;
+    last_rd = rd;
+  }
+  return best_loc;
+}
+
+
+function match_alphabet(pattern) {
+  // Initialise the alphabet for the Bitap algorithm.
+  var s = Object();
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] = 0;
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] |= Math.pow(2, pattern.length-i-1);
+  return s;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Patch                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function patch_obj() {
+  // Constructor for a patch object.
+  this.diffs = [];
+  this.start1 = null;
+  this.start2 = null;
+  this.length1 = 0;
+  this.length2 = 0;
+
+  this.toString = function() {
+    // Emmulate GNU diff's format.
+    // Header: @@ -382,8 +481,9 @@
+    // Indicies are printed as 1-based, not 0-based.
+    var coords1, coords2;
+    if (this.length1 == 0)
+      coords1 = this.start1+",0";
+    else if (this.length1 == 1)
+      coords1 = this.start1+1;
+    else
+      coords1 = (this.start1+1)+","+this.length1;
+    if (this.length2 == 0)
+      coords2 = this.start2+",0";
+    else if (this.length2 == 1)
+      coords2 = this.start2+1;
+    else
+      coords2 = (this.start2+1)+","+this.length2;
+    var txt = "@@ -"+coords1+" +"+coords2+" @@\n";
+    // Escape the body of the patch with %xx notation.
+    for (var x=0; x<this.diffs.length; x++)
+      txt += ("- +".charAt(this.diffs[x][0]+1)) + encodeURI(this.diffs[x][1]) + "\n";
+    return txt.replace(/%20/g, ' ');
+  }
+
+  this.text1 = function() {
+    // Compute and return the source text (all equalities and deletions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == -1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+
+  this.text2 = function() {
+    // Compute and return the destination text (all equalities and insertions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == 1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+}
+
+
+function patch_addcontext(patch, text) {
+  var pattern = text.substring(patch.start2, patch.start2+patch.length1);
+  var padding = 0;
+  // Increase the context until we're unique (but don't let the pattern expand beyond MATCH_MAXBITS).
+  while (text.indexOf(pattern) != text.lastIndexOf(pattern) && pattern.length < MATCH_MAXBITS-PATCH_MARGIN-PATCH_MARGIN) {
+    padding += PATCH_MARGIN;
+    pattern = text.substring(patch.start2 - padding, patch.start2+patch.length1 + padding);
+  }
+  // Add one chunk for good luck.
+  padding += PATCH_MARGIN;
+  // Add the prefix.
+  var prefix = text.substring(patch.start2 - padding, patch.start2);
+  if (prefix != '')
+    patch.diffs.unshift([0, prefix]);
+  // Add the suffix
+  var suffix = text.substring(patch.start2+patch.length1, patch.start2+patch.length1 + padding);
+  if (suffix != '')
+    patch.diffs.push([0, suffix]);
+
+  // Roll back the start points.
+  patch.start1 -= prefix.length;
+  patch.start2 -= prefix.length;
+  // Extend the lengths.
+  patch.length1 += prefix.length + suffix.length;
+  patch.length2 += prefix.length + suffix.length;
+}
+
+
+function patch_make(text1, text2, diff) {
+  // Compute a list of patches to turn text1 into text2.
+  // Use diff if provided, otherwise compute it ourselves.
+  if (typeof diff == 'undefined') {
+    diff = diff_main(text1, text2, true);
+    if (diff.length > 2) {
+      diff_cleanup_semantic(diff);
+      diff_cleanup_efficiency(diff);
+    }
+  }
+  if (diff.length == 0)
+    return []; // Get rid of the null case.
+  var patches = [];
+  var patch = new patch_obj();
+  var char_count1 = 0; // Number of characters into the text1 string.
+  var char_count2 = 0; // Number of characters into the text2 string.
+  var last_type = null;
+  var prepatch_text = text1; // Recreate the patches to determine context info.
+  var postpatch_text = text1;
+  for (var x=0; x<diff.length; x++) {
+    var diff_type = diff[x][0];
+    var diff_text = diff[x][1];
+
+    if (patch.diffs.length == 0 && diff_type != 0) {
+      // A new patch starts here.
+      patch.start1 = char_count1;
+      patch.start2 = char_count2;
+    }
+
+    if (diff_type == 1) {
+      // Insertion
+      patch.diffs.push(diff[x]);
+      patch.length2 += diff_text.length;
+      postpatch_text = postpatch_text.substring(0, char_count2) + diff_text + postpatch_text.substring(char_count2);
+    } else if (diff_type == -1) {
+      // Deletion.
+      patch.length1 += diff_text.length;
+      patch.diffs.push(diff[x]);
+      postpatch_text = postpatch_text.substring(0, char_count2) + postpatch_text.substring(char_count2 + diff_text.length);
+    } else if (diff_type == 0 && diff_text.length <= 2*PATCH_MARGIN && patch.diffs.length != 0 && diff.length != x+1) {
+      // Small equality inside a patch.
+      patch.diffs.push(diff[x]);
+      patch.length1 += diff_text.length;
+      patch.length2 += diff_text.length;
+    }
+
+    last_type = diff_type;
+    if (diff_type == 0 && diff_text.length >= 2*PATCH_MARGIN) {
+      // Time for a new patch.
+      if (patch.diffs.length != 0) {
+        patch_addcontext(patch, prepatch_text);
+        patches.push(patch);
+        var patch = new patch_obj();
+        last_type = null;
+        prepatch_text = postpatch_text;
+      }
+    }
+
+    // Update the current character count.
+    if (diff_type != 1)
+      char_count1 += diff_text.length;
+    if (diff_type != -1)
+      char_count2 += diff_text.length;
+  }
+  // Pick up the leftover patch if not empty.
+  if (patch.diffs.length != 0) {
+    patch_addcontext(patch, prepatch_text);
+    patches.push(patch);
+  }
+
+  return patches;
+}
+
+
+function patch_apply(patches, text) {
+  // Merge a set of patches onto the text.
+  // Return a patched text, as well as a list of true/false values indicating which patches were applied.
+  patch_splitmax(patches);
+  var results = [];
+  var delta = 0;
+  var expected_loc, start_loc;
+  var text1, text2;
+  var diff, mod, index1, index2;
+  for (var x=0; x<patches.length; x++) {
+    expected_loc = patches[x].start2 + delta;
+    text1 = patches[x].text1();
+    start_loc = match_main(text, text1, expected_loc);
+    if (start_loc == null) {
+      // No match found.  :(
+      results.push(false);
+    } else {
+      // Found a match.  :)
+      results.push(true);
+      delta = start_loc - expected_loc;
+      text2 = text.substring(start_loc, start_loc + text1.length);
+      if (text1 == text2) {
+        // Perfect match, just shove the replacement text in.
+        text = text.substring(0, start_loc) + patches[x].text2() + text.substring(start_loc + text1.length);
+      } else {
+        // Imperfect match.  Run a diff to get a framework of equivalent indicies.
+        diff = diff_main(text1, text2, false);
+        index1 = 0;
+        for (var y=0; y<patches[x].diffs.length; y++) {
+          mod = patches[x].diffs[y];
+          if (mod[0] != 0)
+            index2 = diff_xindex(diff, index1);
+          if (mod[0] == 1) // Insertion
+            text = text.substring(0, start_loc + index2) + mod[1] + text.substring(start_loc + index2);
+          else if (mod[0] == -1) // Deletion
+            text = text.substring(0, start_loc + index2) + text.substring(start_loc + diff_xindex(diff, index1 + mod[1].length));
+          if (mod[0] != -1)
+            index1 += mod[1].length;
+        }
+      }
+    }
+  }
+  return [text, results];
+}
+
+
+function patch_splitmax(patches) {
+  // Look through the patches and break up any which are longer than the maximum limit of the match algorithm.
+  var bigpatch, patch, patch_size, start1, start2, diff_type, diff_text, precontext, postcontext, empty;
+  for (var x=0; x<patches.length; x++) {
+    if (patches[x].length1 > MATCH_MAXBITS) {
+      bigpatch = patches[x];
+      // Remove the big old patch.
+      patches.splice(x, 1);
+      patch_size = MATCH_MAXBITS;
+      start1 = bigpatch.start1;
+      start2 = bigpatch.start2;
+      precontext = '';
+      while (bigpatch.diffs.length != 0) {
+        // Create one of several smaller patches.
+        patch = new patch_obj();
+        empty = true;
+        patch.start1 = start1 - precontext.length;
+        patch.start2 = start2 - precontext.length;
+        if (precontext  != '') {
+          patch.length1 = patch.length2 = precontext.length;
+          patch.diffs.push([0, precontext]);
+        }
+        while (bigpatch.diffs.length != 0 && patch.length1 < patch_size - PATCH_MARGIN) {
+          diff_type = bigpatch.diffs[0][0];
+          diff_text = bigpatch.diffs[0][1];
+          if (diff_type == 1) {
+            // Insertions are harmless.
+            patch.length2 += diff_text.length;
+            start2 += diff_text.length;
+            patch.diffs.push(bigpatch.diffs.shift());
+            empty = false;
+          } else {
+            // Deletion or equality.  Only take as much as we can stomach.
+            diff_text = diff_text.substring(0, patch_size - patch.length1 - PATCH_MARGIN);
+            patch.length1 += diff_text.length;
+            start1 += diff_text.length;
+            if (diff_type == 0) {
+              patch.length2 += diff_text.length;
+              start2 += diff_text.length;
+            } else {
+              empty = false;
+            }
+            patch.diffs.push([diff_type, diff_text]);
+            if (diff_text == bigpatch.diffs[0][1])
+              bigpatch.diffs.shift();
+            else
+              bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diff_text.length);
+          }
+        }
+        // Compute the head context for the next patch.
+        precontext = patch.text2();
+        precontext = precontext.substring(precontext.length - PATCH_MARGIN);
+        // Append the end context for this patch.
+        postcontext = bigpatch.text1().substring(0, PATCH_MARGIN);
+        if (postcontext  != '') {
+          patch.length1 += postcontext.length;
+          patch.length2 += postcontext.length;
+          if (patch.diffs.length > 0 && patch.diffs[patch.diffs.length-1][0] == 0)
+            patch.diffs[patch.diffs.length-1][1] += postcontext;
+          else
+            patch.diffs.push([0, postcontext]);
+        }
+        if (!empty)
+          patches.splice(x++, 0, patch);
+      }
+    }
+  }
+}
+
+
+function patch_totext(patches) {
+  // Take a list of patches and return a textual representation.
+  var text = '';
+  for (var x=0; x<patches.length; x++)
+    text += patches[x];
+  return text;
+}
+
+
+function patch_fromtext(text) {
+  // Take a textual representation of patches and return a list of patch objects.
+  var patches = [];
+  text = text.split('\n');
+  var patch, m, chars1, chars2, sign, line;
+  while (text.length != 0) {
+    m = text[0].match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/);
+    if (!m)
+      return alert("Invalid patch string:\n"+text[0]);
+    patch = new patch_obj();
+    patches.push(patch);
+    patch.start1 = parseInt(m[1]);
+    if (m[2] == '') {
+      patch.start1--;
+      patch.length1 = 1;
+    } else if (m[2] == '0') {
+      patch.length1 = 0;
+    } else {
+      patch.start1--;
+      patch.length1 = parseInt(m[2]);
+    }
+
+    patch.start2 = parseInt(m[3]);
+    if (m[4] == '') {
+      patch.start2--;
+      patch.length2 = 1;
+    } else if (m[4] == '0') {
+      patch.length2 = 0;
+    } else {
+      patch.start2--;
+      patch.length2 = parseInt(m[4]);
+    }
+    text.shift();
+
+    while (text.length != 0) {
+      sign = text[0].charAt(0);
+      line = decodeURIComponent(text[0].substring(1));
+      if (sign == '-') {
+        // Deletion.
+        patch.diffs.push([-1, line]);
+      } else if (sign == '+') {
+        // Insertion.
+        patch.diffs.push([1, line]);
+      } else if (sign == ' ') {
+        // Minor equality.
+        patch.diffs.push([0, line]);
+      } else if (sign == '@') {
+        // Start of next patch.
+        break;
+      } else if (sign == '') {
+        // Blank line?  Whatever.
+      } else {
+        // WTF?
+        return alert("Invalid patch mode: '"+sign+"'\n"+line);
+      }
+      text.shift();
+    }
+  }
+  return patches;
+}
+
+// EOF

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+// UK lang variables
+
+tinyMCE.addToLang('devkit',{
+title : 'TinyMCE Development Kit',
+info_tab : 'Info',
+settings_tab : 'Settings',
+log_tab : 'Log',
+content_tab : 'Content',
+command_states_tab : 'Commands',
+undo_redo_tab : 'Undo/Redo',
+misc_tab : 'Misc',
+filter : 'Filter:',
+clear_log : 'Clear log',
+refresh : 'Refresh',
+info_help : 'Press Refresh to view info.',
+settings_help : 'Press Refresh to display the settings array for each TinyMCE_Control instance.',
+content_help : 'Press Refresh to display the raw and cleaned HTML content for each TinyMCE_Control instance.',
+command_states_help : 'Press Refresh to display the current command states from inst.queryCommandState. This list will also mark unsupported commands.',
+undo_redo_help : 'Press Refresh to display the global and instance undo/redo levels.',
+misc_help : 'Here are various tools for debugging and development purposes.',
+debug_events : 'Debug events',
+undo_diff : 'Diff undo levels'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('directionality');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('directionality');
+
+var TinyMCE_DirectionalityPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Directionality',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "ltr":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR');
+
+			case "rtl":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceDirectionLTR":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "ltr");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+
+			case "mceDirectionRTL":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "rtl");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		if (node == null)
+			return;
+
+		var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+		if (!elm) {
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal');
+
+		var dir = getAttrib(elm, "dir");
+		if (dir == "ltr" || dir == "")
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected');
+		else
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction left to right',
+directionality_rtl_desc : 'Direction right to left'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('emotions');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('emotions');
+
+// Plucin static class
+var TinyMCE_EmotionsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Emotions',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the emotions control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "emotions":
+				return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceEmotion command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceEmotion":
+				var template = new Array();
+
+				template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
+				template['width'] = 250;
+				template['height'] = 160;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+// Register plugin
+tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_emotions_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div align="center">
+		<div class="title">{$lang_emotions_title}:<br /><br /></div>
+
+		<table border="0" cellspacing="0" cellpadding="4">
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money_mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money_mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
+		  </tr>
+		</table>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+These emotions where taken from Mozilla Thunderbird.
+I hope they don't get angry if I use them here after all this is a open source project aswell.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function insertEmotion(file_name, title) {
+	title = tinyMCE.getLang(title);
+
+	if (title == null)
+		title = "";
+
+	// XML encode
+	title = title.replace(/&/g, '&amp;');
+	title = title.replace(/\"/g, '&quot;');
+	title = title.replace(/</g, '&lt;');
+	title = title.replace(/>/g, '&gt;');
+
+	var html = '<img src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" mce_src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';
+
+	tinyMCE.execCommand('mceInsertContent', false, html);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+// UK lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Insert emotion',
+desc : 'Emotions',
+cool : 'Cool',
+cry : 'Cry',
+embarassed : 'Embarassed',
+foot_in_mouth : 'Foot in mouth',
+frown : 'Frown',
+innocent : 'Innocent',
+kiss : 'Kiss',
+laughing : 'Laughing',
+money_mouth : 'Money mouth',
+sealed : 'Sealed',
+smile : 'Smile',
+surprised : 'Surprised',
+tongue_out : 'Tongue out',
+undecided : 'Undecided',
+wink : 'Wink',
+yell : 'Yell'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+.mceItemFlash {
+	border: 1px dotted #cc0000;
+	background-image: url('../images/flash.gif');
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 100px;
+}
+
+#width, #height {
+	width: 50px;
+}
+
+#file {
+	width: 250px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('flash');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css")},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update"}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}break;case"insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}var index=0;while((startPos=content.indexOf('<embed',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("flash",TinyMCE_FlashPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('flash');
+
+var TinyMCE_FlashPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Flash',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['flash_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "flash":
+				return tinyMCE.getButtonHTML(cn, 'lang_flash_desc', '{$pluginurl}/images/flash.gif', 'mceFlash');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFlash":
+				var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
+				var template = new Array();
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+
+				template['file']   = '../../plugins/flash/flash.htm'; // Relative to theme
+				template['width']  = 430;
+				template['height'] = 175;
+
+				template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
+
+				// Is selection a image
+				if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
+					name = tinyMCE.getAttrib(focusElm, 'class');
+
+					if (name.indexOf('mceItemFlash') == -1) // Not a Flash
+						return true;
+
+					// Get rest of Flash items
+					swffile = tinyMCE.getAttrib(focusElm, 'alt');
+
+					if (tinyMCE.getParam('convert_urls'))
+						swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
+
+					swfwidth = tinyMCE.getAttrib(focusElm, 'width');
+					swfheight = tinyMCE.getAttrib(focusElm, 'height');
+					action = "update";
+				}
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
+			return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				// Force relative/absolute
+				if (tinyMCE.getParam('convert_urls')) {
+					var imgs = content.getElementsByTagName("img");
+					for (var i=0; i<imgs.length; i++) {
+						if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+							var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+							if (tinyMCE.getParam('convert_urls'))
+								src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+							imgs[i].setAttribute('alt', src);
+							imgs[i].setAttribute('title', src);
+						}
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+						var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('alt', src);
+						imgs[i].setAttribute('title', src);
+					}
+				}
+				break;
+
+			case "insert_to_editor":
+				var startPos = 0;
+				var embedList = new Array();
+
+				// Fix the embed and object elements
+				content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
+				content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
+				content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
+				content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
+
+				// Parse all embed tags
+				while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
+					var endPos = content.indexOf('>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos));
+					embedList[embedList.length] = attribs;
+				}
+
+				// Parse all object tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<object', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of object
+					endPos = content.indexOf('</object>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				// Parse all embed tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<embed', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of embed
+					endPos = content.indexOf('>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				break;
+
+			case "get_from_editor":
+				// Parse all img tags and replace them with object+embed
+				var startPos = -1;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					var endPos = content.indexOf('/>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (attribs['class'] != "mceItemFlash")
+						continue;
+
+					endPos += 2;
+
+					var embedHTML = '';
+					var wmode = tinyMCE.getParam("flash_wmode", "");
+					var quality = tinyMCE.getParam("flash_quality", "high");
+					var menu = tinyMCE.getParam("flash_menu", "false");
+
+					// Insert object + embed
+					embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
+					embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
+					embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
+					embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
+					embedHTML += '<param name="quality" value="' + quality + '" />';
+					embedHTML += '<param name="menu" value="' + menu + '" />';
+					embedHTML += '<param name="wmode" value="' + wmode + '" />';
+					embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) {
+				tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal');
+
+		return true;
+	},
+
+	// Private plugin internal functions
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "";
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue)
+				withInValue = true;
+			else if ((chr == '"' || chr == "'") && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("flash", TinyMCE_FlashPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_flash_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<link href="css/flash.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertFlash();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_flash_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+							<td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
+							  <td nowrap="nowrap">
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_flash_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
+								<td nowrap="nowrap">
+									<input type="text" id="width" name="width" value="" onfocus="this.select();" />
+									<select name="width2" id="width2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>&nbsp;x&nbsp;<input id="height" name="height" type="text"  value="" onfocus="this.select();" />
+									<select name="height2" id="height2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>
+								</td>
+							</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+var url = tinyMCE.getParam("flash_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash');
+
+	// Image list outsrc
+	var html = getFlashListHTML('filebrowser','file','flash','flash');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	var formObj = document.forms[0];
+	var swffile   = tinyMCE.getWindowArg('swffile');
+	var swfwidth  = '' + tinyMCE.getWindowArg('swfwidth');
+	var swfheight = '' + tinyMCE.getWindowArg('swfheight');
+
+	if (swfwidth.indexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = swfwidth.substring(0,swfwidth.length-1);
+	} else {
+		formObj.width2.value = "px";
+		formObj.width.value  = swfwidth;
+	}
+
+	if (swfheight.indexOf('%')!=-1) {
+		formObj.height2.value = "%";
+		formObj.height.value  = swfheight.substring(0,swfheight.length-1);
+	} else {
+		formObj.height2.value = "px";
+		formObj.height.value  = swfheight;
+	}
+
+	formObj.file.value = swffile;
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
+
+	selectByValue(formObj, 'linklist', swffile);
+
+	// Handle file browser
+	if (isVisible('filebrowser'))
+		document.getElementById('file').style.width = '230px';
+
+	// Auto select flash in list
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		for (var i=0; i<formObj.linklist.length; i++) {
+			if (formObj.linklist.options[i].value == tinyMCE.getWindowArg('swffile'))
+				formObj.linklist.options[i].selected = true;
+		}
+	}
+}
+
+function getFlashListHTML() {
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEFlashList.length; i++)
+			html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function insertFlash() {
+	var formObj = document.forms[0];
+	var html      = '';
+	var file      = formObj.file.value;
+	var width     = formObj.width.value;
+	var height    = formObj.height.value;
+	if (formObj.width2.value=='%') {
+		width = width + '%';
+	}
+	if (formObj.height2.value=='%') {
+		height = height + '%';
+	}
+
+	if (width == "")
+		width = 100;
+
+	if (height == "")
+		height = 100;
+
+	html += ''
+		+ '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" mce_src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+		+ 'width="' + width + '" height="' + height + '" '
+		+ 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCE.selectedInstance.repaint();
+
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+// UK lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Insert / edit Flash Movie',
+desc : 'Insert / edit Flash Movie',
+file : 'Flash-File (.swf)',
+size : 'Size',
+list : 'Flash files',
+props : 'Flash properties',
+general : 'General'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body onload="parent.setupIframe(document);">
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/* Hide the advanced tab */
+#advanced_tab {
+	display: none;
+}
+
+#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
+	width: 280px;
+}
+
+#doctype, #docencoding {
+	width: 200px;
+}
+
+#langcode {
+	width: 30px;
+}
+
+#bgimage {
+	width: 220px;	
+}
+
+#fontface {
+	width: 240px;
+}
+
+#leftmargin, #rightmargin, #topmargin, #bottommargin {
+	width: 50px;
+}
+
+.panel_wrapper div.current {
+	height: 400px;
+}
+
+#stylesheet, #style {
+	width: 240px;
+}
+
+/* Head list classes */
+
+.headlistwrapper {
+	width: 100%;
+}
+
+.addbutton, .removebutton, .moveupbutton, .movedownbutton {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+	display: block;
+	width: 20px;
+	height: 20px;
+}
+
+.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.addbutton {
+	background-image: url('../images/add.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.removebutton {
+	background-image: url('../images/remove.gif');
+	float: left;
+}
+
+.moveupbutton {
+	background-image: url('../images/move_up.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.movedownbutton {
+	background-image: url('../images/move_down.gif');
+	float: left;
+}
+
+.selected {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.toolbar {
+	width: 100%;
+}
+
+#headlist {
+	width: 100%;
+	margin-top: 3px;
+	font-size: 11px;
+}
+
+#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
+	display: none;
+}
+
+#addmenu {
+	position: absolute;
+	border: 1px solid gray;
+	display: none;
+	z-index: 100;
+	background-color: white;
+}
+
+#addmenu a {
+	display: block;
+	width: 100%;
+	line-height: 20px;
+	text-decoration: none;
+	background-color: white;
+}
+
+#addmenu a:hover {
+	background-color: #B6BDD2;
+	color: black;
+}
+
+#addmenu span {
+	padding-left: 10px;
+	padding-right: 10px;
+}
+
+#updateElementPanel {
+	display: none;
+}
+
+#script_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#style_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#link_element  .panel_wrapper div.current {
+	height: 140px;
+}
+
+#element_script_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_comment_value {
+	width: 100%;
+	height: 120px;
+}
+
+#element_style_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
+	width: 250px;
+}
+
+.updateElementButton {
+	margin-top: 3px;
+}
+
+/* MSIE specific styles */
+
+* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
+	width: 22px;
+	height: 22px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullpage');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true}return false},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('<body'),pos2;if(pos!=-1){pos=tmp.indexOf('>',pos);pos2=tmp.lastIndexOf('</body>');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&amp;');title=title.replace(/\"/g,'&quot;');title=title.replace(/</g,'&lt;');title=title.replace(/>/g,'&gt;');tmp='';if(pi)tmp+='<?xml version="1.0" encoding="'+enc+'"?>\n';tmp+=docType+'\n';tmp+='<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="'+lang+'" xml:lang="'+lang+'">\n';tmp+='<head>\n';tmp+='\t<title>'+title+'</title>\n';tmp+='\t<meta http-equiv="Content-Type" content="text/html; charset='+enc+'" />\n';tmp+='</head>\n';tmp+='<body';if(ff!=''||fz!=''){tmp+=' style="';if(ds!='')tmp+=ds+";";if(ff!='')tmp+='font-family: '+ff+";";if(fz!='')tmp+='font-size: '+fz+";";tmp+='"'}if(dtc!='')tmp+=' text="'+dtc+'"';tmp+='>\n';inst.fullpageTopContent=tmp}}this._addToHead(inst);break;case"get_from_editor":if(inst.fullpageTopContent)content=inst.fullpageTopContent+content+"\n</body>\n</html>";break}return content},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(/<script(.*?)<\/script>/gi,'');h=h.replace(/<title(.*?)<\/title>/gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/<link([^>]*)\/>/gi,'<pre mce_type="link" $1></pre>');h=h.replace(/<body/gi,'<div mce_type="body"');h+='</div>';e.innerHTML=h;body.vLink=body.aLink=body.link=body.text='';body.style.cssText='';nl=head.getElementsByTagName('link');for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],'mce_head')=="true")nl[i].parentNode.removeChild(nl[i])}nl=e.getElementsByTagName('pre');for(i=0;i<nl.length;i++){tmp=tinyMCE.getAttrib(nl[i],'media');if(tinyMCE.getAttrib(nl[i],'mce_type')=="link"&&(tmp==""||tmp=="screen"||tmp=="all")&&tinyMCE.getAttrib(nl[i],'rel')=="stylesheet"){le=doc.createElement("link");le.rel="stylesheet";le.href=tinyMCE.getAttrib(nl[i],'href');le.setAttribute("mce_head","true");head.appendChild(le)}}nl=e.getElementsByTagName('div');if(nl.length>0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage="url('"+tmp+"')";if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,227 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullpage');
+
+var TinyMCE_FullPagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullpage',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullpage":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFullPageProperties":
+				var template = new Array();
+
+				template['file']   = '../../plugins/fullpage/fullpage.htm';
+				template['width']  = 430;
+				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+			return true;
+
+			case "mceFullPageUpdate":
+				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor":
+				var tmp = content.toLowerCase();
+				var pos = tmp.indexOf('<body'), pos2;
+
+				// Split page in header and body chunks
+				if (pos != -1) {
+					pos = tmp.indexOf('>', pos);
+					pos2 = tmp.lastIndexOf('</body>');
+					inst.fullpageTopContent = content.substring(0, pos + 1);
+					content = content.substring(pos + 1, pos2);
+					// tinyMCE.debug(inst.fullpageTopContent, content);
+				} else {
+					if (!inst.fullpageTopContent) {
+						var docType = tinyMCE.getParam("fullpage_default_doctype", '<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
+						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
+						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
+						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
+						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
+						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
+						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
+						var ds = tinyMCE.getParam("fullpage_default_style", "");
+						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
+
+						// Xml encode it
+						title = title.replace(/&/g, '&amp;');
+						title = title.replace(/\"/g, '&quot;');
+						title = title.replace(/</g, '&lt;');
+						title = title.replace(/>/g, '&gt;');
+
+						tmp = '';
+
+						// Make default chunk
+						if (pi)
+							tmp += '<?xml version="1.0" encoding="' + enc + '"?>\n';
+
+						tmp += docType + '\n';
+						tmp += '<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="' + lang + '" xml:lang="' + lang + '">\n';
+						tmp += '<head>\n';
+						tmp += '\t<title>' + title + '</title>\n';
+						tmp += '\t<meta http-equiv="Content-Type" content="text/html; charset=' + enc + '" />\n';
+						tmp += '</head>\n';
+						tmp += '<body';
+
+						if (ff != '' || fz != '') {
+							tmp += ' style="';
+
+							if (ds != '')
+								tmp += ds + ";";
+
+							if (ff != '')
+								tmp += 'font-family: ' + ff + ";";
+
+							if (fz != '')
+								tmp += 'font-size: ' + fz + ";";
+
+							tmp += '"';
+						}
+
+						if (dtc != '')
+							tmp += ' text="' + dtc + '"';
+
+						tmp += '>\n';
+
+						inst.fullpageTopContent = tmp;
+					}
+				}
+
+				this._addToHead(inst);
+
+				break;
+
+			case "get_from_editor":
+				if (inst.fullpageTopContent)
+					content = inst.fullpageTopContent + content + "\n</body>\n</html>";
+
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_addToHead : function(inst) {
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName("head")[0];
+		var body = doc.body;
+		var h = inst.fullpageTopContent;
+		var e = doc.createElement("body");
+		var nl, i, le, tmp;
+
+		// Remove stuff we don't want
+		h = h.replace(/(\r|\n)/gi, '');
+		h = h.replace(/<\?[^\>]*\>/gi, '');
+		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
+		h = h.replace(/<script(.*?)<\/script>/gi, '');
+		h = h.replace(/<title(.*?)<\/title>/gi, '');
+		h = h.replace(/<(meta|base)[^>]*>/gi, '');
+
+		// Make link and style elements into pre
+		h = h.replace(/<link([^>]*)\/>/gi, '<pre mce_type="link" $1></pre>');
+		//h = h.replace(/<style([^>]*)>(.*?)<\/style>/gi, '<pre mce_type="style" $1>$2</pre>');
+
+		// Make body a div
+		h = h.replace(/<body/gi, '<div mce_type="body"');
+		h += '</div>';
+
+		// Now crapy MSIE can parse it
+		e.innerHTML = h;
+
+		// Reset all body attributes
+		body.vLink = body.aLink = body.link = body.text = '';
+		body.style.cssText = '';
+
+		// Delete all old links
+		nl = head.getElementsByTagName('link');
+		for (i=0; i<nl.length; i++) {
+			if (tinyMCE.getAttrib(nl[i], 'mce_head') == "true")
+				nl[i].parentNode.removeChild(nl[i]);
+		}
+
+		// Add link elements
+		nl = e.getElementsByTagName('pre');
+		for (i=0; i<nl.length; i++) {
+			tmp = tinyMCE.getAttrib(nl[i], 'media');
+			if (tinyMCE.getAttrib(nl[i], 'mce_type') == "link" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(nl[i], 'rel') == "stylesheet") {
+				le = doc.createElement("link");
+
+				le.rel = "stylesheet";
+				le.href = tinyMCE.getAttrib(nl[i], 'href');
+				le.setAttribute("mce_head", "true");
+
+				head.appendChild(le);
+			}
+		}
+
+		// Add body attributes
+		nl = e.getElementsByTagName('div');
+		if (nl.length > 0) {
+			body.style.cssText = tinyMCE.getAttrib(nl[0], 'style');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '')
+				body.style.marginLeft = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '')
+				body.style.marginRight = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '')
+				body.style.marginTop = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '')
+				body.style.marginBottom = tmp + "px";
+
+			body.dir = tinyMCE.getAttrib(nl[0], 'dir');
+			body.vLink = tinyMCE.getAttrib(nl[0], 'vlink');
+			body.aLink = tinyMCE.getAttrib(nl[0], 'alink');
+			body.link = tinyMCE.getAttrib(nl[0], 'link');
+			body.text = tinyMCE.getAttrib(nl[0], 'text');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '')
+				body.style.backgroundImage = "url('" + tmp + "')";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '')
+				body.style.backgroundColor = tmp;
+		}
+	}
+};
+
+tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,577 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullpage_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mclayer.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/fullpage.js"></script>
+	<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="updateAction();return false;" name="fullpage" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{$lang_fullpage_meta_tab}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_fullpage_appearance_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="meta_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_fullpage_meta_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td nowrap="nowrap"><label for="metatitle">{$lang_fullpage_meta_title}</label>&nbsp;</td>
+							<td><input type="text" id="metatitle" name="metatitle" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metakeywords">{$lang_fullpage_meta_keywords}</label>&nbsp;</td>
+							<td><textarea id="metakeywords" name="metakeywords" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metadescription">{$lang_fullpage_meta_description}</label>&nbsp;</td>
+							<td><textarea id="metadescription" name="metadescription" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metaauthor">{$lang_fullpage_author}</label>&nbsp;</td>
+							<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metacopyright">{$lang_fullpage_copyright}</label>&nbsp;</td>
+							<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metarobots">{$lang_fullpage_meta_robots}</label>&nbsp;</td>
+							<td>
+<select id="metarobots" name="metarobots">
+			<option value="">{$lang_not_set}</option> 
+			<option value="index,follow">{$lang_fullpage_meta_index_follow}</option>
+			<option value="index,nofollow">{$lang_fullpage_meta_index_nofollow}</option>
+			<option value="noindex,follow">{$lang_fullpage_meta_noindex_follow}</option>
+			<option value="noindex,nofollow">{$lang_fullpage_meta_noindex_nofollow}</option>
+</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_langprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="docencoding">{$lang_fullpage_encoding}</label></td> 
+							<td>
+								<select id="docencoding" name="docencoding"> 
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="doctypes">{$lang_fullpage_doctypes}</label>&nbsp;</td>
+							<td>
+								<select id="doctypes" name="doctypes">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="langcode">{$lang_fullpage_langcode}</label>&nbsp;</td>
+							<td><input type="text" id="langcode" name="langcode" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="langdir">{$lang_fullpage_langdir}</label></td> 
+							<td>
+								<select id="langdir" name="langdir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_fullpage_ltr}</option> 
+										<option value="rtl">{$lang_fullpage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="xml_pi">{$lang_fullpage_xml_pi}</label>&nbsp;</td>
+							<td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_textprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="fontface">{$lang_fullpage_fontface}</label></td> 
+							<td>
+								<select id="fontface" name="fontface" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="fontsize">{$lang_fullpage_fontsize}</label></td> 
+							<td>
+								<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="textcolor">{$lang_fullpage_textcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
+										<td id="textcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_bgprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="bgimage">{$lang_fullpage_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
+										<td id="bgimage_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_fullpage_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_marginprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="leftmargin">{$lang_fullpage_left_margin}</label></td> 
+							<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="rightmargin">{$lang_fullpage_right_margin}</label></td> 
+							<td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="topmargin">{$lang_fullpage_top_margin}</label></td> 
+							<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="bottommargin">{$lang_fullpage_bottom_margin}</label></td> 
+							<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_linkprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="link_color">{$lang_fullpage_link_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
+										<td id="link_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td class="column1"><label for="visited_color">{$lang_fullpage_visited_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
+										<td id="visited_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="active_color">{$lang_fullpage_active_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
+										<td id="active_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td>&nbsp;</td>
+							<td>&nbsp;</td>
+
+<!--							<td class="column1"><label for="hover_color">{$lang_fullpage_hover_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
+										<td id="hover_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> -->
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_style}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="stylesheet">{$lang_fullpage_stylesheet}</label></td> 
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
+										<td id="stylesheet_browsercontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="style">{$lang_fullpage_style}</label></td> 
+							<td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<div id="addmenu">
+					<table border="0" cellpadding="0" cellspacing="0">
+						<tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{$lang_fullpage_add_title}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{$lang_fullpage_add_meta}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{$lang_fullpage_add_script}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{$lang_fullpage_add_style}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{$lang_fullpage_add_link}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{$lang_fullpage_add_base}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{$lang_fullpage_add_comment}</span></a></td></tr>
+					</table>
+				</div>
+
+				<fieldset>
+					<legend>{$lang_fullpage_head_elements}</legend>
+
+					<div class="headlistwrapper">
+						<div class="toolbar">
+							<div style="float: left">
+								<a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{$lang_fullpage_add}"></a>
+								<a href="#" onmousedown="return false;" class="removebutton" title="{$lang_fullpage_remove}"></a>
+							</div>
+							<div style="float: right">
+								<a href="#" onmousedown="return false;" class="moveupbutton" title="{$lang_fullpage_moveup}"></a>
+								<a href="#" onmousedown="return false;" class="movedownbutton" title="{$lang_fullpage_movedown}"></a>
+							</div>
+							<br style="clear: both" />
+						</div>
+						<select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
+							<option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
+							<option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
+							<option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
+							<option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
+							<option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
+							<option value="base_5">&lt;base href="." /&gt;</option>
+							<option value="comment_6">&lt;!-- ... --&gt;</option>
+							<option value="link_7">&lt;link href="." /&gt;</option>
+						</select>
+					</div>
+				</fieldset>
+
+				<fieldset id="meta_element">
+					<legend>{$lang_fullpage_meta_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_meta_type">{$lang_fullpage_type}</label></td> 
+							<td><select id="element_meta_type">
+										<option value="name">name</option>
+										<option value="http-equiv">http-equiv</option>
+								</select></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_name">{$lang_fullpage_name}</label></td> 
+							<td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_content">{$lang_fullpage_content}</label></td> 
+							<td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="title_element">
+					<legend>{$lang_fullpage_title_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_title">{$lang_fullpage_meta_title}</label></td> 
+							<td><input id="element_title" name="element_title" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="script_element">
+					<legend>{$lang_fullpage_script_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="script_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_script_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_script_type">
+										<option value="text/javascript">text/javascript</option>
+										<option value="text/jscript">text/jscript</option>
+										<option value="text/vbscript">text/vbscript</option>
+										<option value="text/vbs">text/vbs</option>
+										<option value="text/ecmascript">text/ecmascript</option>
+										<option value="text/xml">text/xml</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_src">{$lang_fullpage_src}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
+										<td id="script_src_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_script_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_defer">{$lang_fullpage_defer}</label></td> 
+									<td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="script_value_panel" class="panel">
+							<textarea id="element_script_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="style_element">
+					<legend>{$lang_fullpage_style_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="style_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_style_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_style_type">
+										<option value="text/css">text/css</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_style_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_style_media"></select></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="style_value_panel" class="panel">
+							<textarea id="element_style_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="base_element">
+					<legend>{$lang_fullpage_base_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_base_href">{$lang_fullpage_href}</label></td> 
+							<td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_base_target">{$lang_fullpage_target}</label></td> 
+							<td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="link_element">
+					<legend>{$lang_fullpage_link_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{$lang_fullpage_general_props}</a></span></li>
+							<li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_props}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="link_general_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_href">{$lang_fullpage_href}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
+										<td id="link_href_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_title">{$lang_fullpage_meta_title}</label></td> 
+									<td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_link_type" name="element_link_type">
+										<option value="text/css">text/css</option>
+										<option value="text/javascript">text/javascript</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_link_media" name="element_link_media"></select></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rel">{$lang_fullpage_rel}</label></td>
+									<td><select id="element_style_rel" name="element_style_rel"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="stylesheet">Stylesheet</option>
+											<option value="alternate">Alternate</option>
+											<option value="designates">Designates</option>
+											<option value="start">Start</option>
+											<option value="next">Next</option>
+											<option value="prev">Prev</option>
+											<option value="contents">Contents</option>
+											<option value="index">Index</option>
+											<option value="glossary">Glossary</option>
+											<option value="copyright">Copyright</option>
+											<option value="chapter">Chapter</option>
+											<option value="subsection">Subsection</option>
+											<option value="appendix">Appendix</option>
+											<option value="help">Help</option>
+											<option value="bookmark">Bookmark</option>
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="link_advanced_panel" class="panel">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_link_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_hreflang">{$lang_fullpage_hreflang}</label></td> 
+									<td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_target">{$lang_fullpage_target}</label></td> 
+									<td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rev">{$lang_fullpage_rev}</label></td>
+									<td><select id="element_style_rev" name="element_style_rev"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="alternate">Alternate</option> 
+											<option value="designates">Designates</option> 
+											<option value="stylesheet">Stylesheet</option> 
+											<option value="start">Start</option> 
+											<option value="next">Next</option> 
+											<option value="prev">Prev</option> 
+											<option value="contents">Contents</option> 
+											<option value="index">Index</option> 
+											<option value="glossary">Glossary</option> 
+											<option value="copyright">Copyright</option> 
+											<option value="chapter">Chapter</option> 
+											<option value="subsection">Subsection</option> 
+											<option value="appendix">Appendix</option> 
+											<option value="help">Help</option> 
+											<option value="bookmark">Bookmark</option> 
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+					</div>
+
+					<input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="comment_element">
+					<legend>{$lang_fullpage_comment_element}</legend>
+
+					<textarea id="element_comment_value"></textarea>
+
+					<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="update" value="{$lang_update}" onclick="updateAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,580 @@
+//
+
+var defaultDocTypes = 
+	'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
+	'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
+	'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
+	'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,' +
+	'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
+	'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
+	'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
+
+var defaultEncodings = 
+	'Western european (iso-8859-1)=iso-8859-1,' +
+	'Central European (iso-8859-2)=iso-8859-2,' +
+	'Unicode (UTF-8)=utf-8,' +
+	'Chinese traditional (Big5)=big5,' +
+	'Cyrillic (iso-8859-5)=iso-8859-5,' +
+	'Japanese (iso-2022-jp)=iso-2022-jp,' +
+	'Greek (iso-8859-7)=iso-8859-7,' +
+	'Korean (iso-2022-kr)=iso-2022-kr,' +
+	'ASCII (us-ascii)=us-ascii';
+
+var defaultMediaTypes = 
+	'all=all,' +
+	'screen=screen,' +
+	'print=print,' +
+	'tty=tty,' +
+	'tv=tv,' +
+	'projection=projection,' +
+	'handheld=handheld,' +
+	'braille=braille,' +
+	'aural=aural';
+
+var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
+
+var addMenuLayer = new MCLayer("addmenu");
+var lastElementType = null;
+var topDoc;
+
+function init() {
+	var f = document.forms['fullpage'];
+	var i, p, doctypes, encodings, mediaTypes, fonts;
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+
+	// Setup doctype select box
+	doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(',');
+	for (i=0; i<doctypes.length; i++) {
+		p = doctypes[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'doctypes', p[0], p[1]);
+	}
+
+	// Setup fonts select box
+	fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';');
+	for (i=0; i<fonts.length; i++) {
+		p = fonts[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'fontface', p[0], p[1]);
+	}
+
+	// Setup fontsize select box
+	fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
+	for (i=0; i<fonts.length; i++)
+		addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
+
+	// Setup mediatype select boxs
+	mediaTypes = tinyMCE.getParam("fullpage_media_types", defaultMediaTypes).split(',');
+	for (i=0; i<mediaTypes.length; i++) {
+		p = mediaTypes[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'element_style_media', p[0], p[1]);
+			addSelectValue(f, 'element_link_media', p[0], p[1]);
+		}
+	}
+
+	// Setup encodings select box
+	encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(',');
+	for (i=0; i<encodings.length; i++) {
+		p = encodings[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'docencoding', p[0], p[1]);
+			addSelectValue(f, 'element_script_charset', p[0], p[1]);
+			addSelectValue(f, 'element_link_charset', p[0], p[1]);
+		}
+	}
+
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+	document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
+	//document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
+	document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
+	document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
+	document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
+	document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
+	document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
+	document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
+	document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
+
+	// Resize some elements
+	if (isVisible('stylesheetbrowser'))
+		document.getElementById('stylesheet').style.width = '220px';
+
+	if (isVisible('link_href_browser'))
+		document.getElementById('element_link_href').style.width = '230px';
+
+	if (isVisible('bgimage_browser'))
+		document.getElementById('bgimage').style.width = '210px';
+
+	// Create iframe
+	var iframe = document.createElement('iframe');
+
+	iframe.id = 'tempFrame';
+	iframe.style.display = 'none';
+	iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm";
+
+	document.body.appendChild(iframe);
+
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function setupIframe(doc) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var hc = inst.fullpageTopContent;
+	var f = document.forms[0];
+	var xmlVer, xmlEnc, docType;
+	var nodes, i, x, name, value, tmp, l;
+
+	// Keep it from not loading/executing stuff
+	hc = hc.replace(/<script>/gi, '<script type="text/javascript">');
+	hc = hc.replace(/\ssrc=/gi, " mce_src=");
+	hc = hc.replace(/\shref=/gi, " mce_href=");
+	hc = hc.replace(/\stype=/gi, " mce_type=");
+	hc = hc.replace(/<script/gi, '<script type="text/unknown" ');
+
+	// Add end to make it DOM parseable
+	hc += '</body></html>';
+
+	topDoc = doc;
+	doc.open();
+	doc.write(hc);
+	doc.close();
+
+	// ------- Setup options for genral tab
+
+	// Parse xml and doctype
+	xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	docType = getReItem(/<\!DOCTYPE.*?>/gi, hc, 0);
+	f.langcode.value = getReItem(/lang="(.*?)"/gi, hc, 1);
+
+	// Get title
+	f.metatitle.value = tinyMCE.entityDecode(getReItem(/<title>(.*?)<\/title>/gi, hc, 1));
+
+	// Check for meta encoding
+	nodes = doc.getElementsByTagName("meta");
+	for (i=0; i<nodes.length; i++) {
+		name = tinyMCE.getAttrib(nodes[i], 'name');
+		value = tinyMCE.getAttrib(nodes[i], 'content');
+		httpEquiv = tinyMCE.getAttrib(nodes[i], 'httpEquiv');
+
+		switch (name.toLowerCase()) {
+			case "keywords":
+				f.metakeywords.value = value;
+				break;
+
+			case "description":
+				f.metadescription.value = value;
+				break;
+
+			case "author":
+				f.metaauthor.value = value;
+				break;
+
+			case "copyright":
+				f.metacopyright.value = value;
+				break;
+
+			case "robots":
+				selectByValue(f, 'metarobots', value, true, true);
+				break;
+		}
+
+		switch (httpEquiv.toLowerCase()) {
+			case "content-type":
+				tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, value, 1);
+
+				// Override XML encoding
+				if (tmp != "")
+					xmlEnc = tmp;
+
+				break;
+		}
+	}
+
+	selectByValue(f, 'doctypes', docType, true, true);
+	selectByValue(f, 'docencoding', xmlEnc, true, true);
+	selectByValue(f, 'langdir', tinyMCE.getAttrib(doc.body, 'dir'), true, true);
+
+	if (xmlVer != '')
+		f.xml_pi.checked = true;
+
+	// ------- Setup options for appearance tab
+
+	// Get primary stylesheet
+	nodes = doc.getElementsByTagName("link");
+	for (i=0; i<nodes.length; i++) {
+		l = nodes[i];
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			f.stylesheet.value = tinyMCE.getAttrib(l, 'mce_href');
+			break;
+		}
+	}
+
+	// Get from style elements
+	nodes = doc.getElementsByTagName("style");
+	for (i=0; i<nodes.length; i++) {
+		tmp = parseStyleElement(nodes[i]);
+
+		for (x=0; x<tmp.length; x++) {
+		//	if (tmp[x].rule.indexOf('a:hover') != -1 && tmp[x].data['color'])
+		//		f.hover_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:visited') != -1 && tmp[x].data['color'])
+				f.visited_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:link') != -1 && tmp[x].data['color'])
+				f.link_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:active') != -1 && tmp[x].data['color'])
+				f.active_color.value = tmp[x].data['color'];
+		}
+	}
+
+	// Get from body attribs
+
+/*	f.leftmargin.value = tinyMCE.getAttrib(doc.body, "leftmargin");
+	f.rightmargin.value = tinyMCE.getAttrib(doc.body, "rightmargin");
+	f.topmargin.value = tinyMCE.getAttrib(doc.body, "topmargin");
+	f.bottommargin.value = tinyMCE.getAttrib(doc.body, "bottommargin");*/
+	f.textcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "text"));
+	f.active_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "alink"));
+	f.link_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "link"));
+	f.visited_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "vlink"));
+	f.bgcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "bgcolor"));
+	f.bgimage.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "background"));
+
+	// Get from style info
+	var style = tinyMCE.parseStyle(tinyMCE.getAttrib(doc.body, 'style'));
+
+	if (style['font-family'])
+		selectByValue(f, 'fontface', style['font-family'], true, true);
+	else
+		selectByValue(f, 'fontface', tinyMCE.getParam("fullpage_default_fontface", ""), true, true);
+
+	if (style['font-size'])
+		selectByValue(f, 'fontsize', style['font-size'], true, true);
+	else
+		selectByValue(f, 'fontsize', tinyMCE.getParam("fullpage_default_fontsize", ""), true, true);
+
+	if (style['color'])
+		f.textcolor.value = convertRGBToHex(style['color']);
+
+	if (style['background-image'])
+		f.bgimage.value = style['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	if (style['background-color'])
+		f.bgcolor.value = convertRGBToHex(style['background-color']);
+
+	if (style['margin']) {
+		tmp = style['margin'].replace(/[^0-9 ]/g, '');
+		tmp = tmp.split(/ +/);
+		f.topmargin.value = tmp.length > 0 ? tmp[0] : '';
+		f.rightmargin.value = tmp.length > 1 ? tmp[1] : tmp[0];
+		f.bottommargin.value = tmp.length > 2 ? tmp[2] : tmp[0];
+		f.leftmargin.value = tmp.length > 3 ? tmp[3] : tmp[0];
+	}
+
+	if (style['margin-left'])
+		f.leftmargin.value = style['margin-left'].replace(/[^0-9]/g, '');
+
+	if (style['margin-right'])
+		f.rightmargin.value = style['margin-right'].replace(/[^0-9]/g, '');
+
+	if (style['margin-top'])
+		f.topmargin.value = style['margin-top'].replace(/[^0-9]/g, '');
+
+	if (style['margin-bottom'])
+		f.bottommargin.value = style['margin-bottom'].replace(/[^0-9]/g, '');
+
+	f.style.value = tinyMCE.serializeStyle(style);
+
+	updateColor('textcolor_pick', 'textcolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+	updateColor('visited_color_pick', 'visited_color');
+	updateColor('active_color_pick', 'active_color');
+	updateColor('link_color_pick', 'link_color');
+	//updateColor('hover_color_pick', 'hover_color');
+}
+
+function updateAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var f = document.forms[0];
+	var nl, i, h, v, s, head, html, l, tmp, addlink = true;
+
+	head = topDoc.getElementsByTagName('head')[0];
+
+	// Fix scripts without a type
+	nl = topDoc.getElementsByTagName('script');
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], 'mce_type') == '')
+			nl[i].setAttribute('mce_type', 'text/javascript');
+	}
+
+	// Get primary stylesheet
+	nl = topDoc.getElementsByTagName("link");
+	for (i=0; i<nl.length; i++) {
+		l = nl[i];
+
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			addlink = false;
+
+			if (f.stylesheet.value == '')
+				l.parentNode.removeChild(l);
+			else
+				l.setAttribute('mce_href', f.stylesheet.value);
+
+			break;
+		}
+	}
+
+	// Add new link
+	if (f.stylesheet.value != '') {
+		l = topDoc.createElement('link');
+
+		l.setAttribute('mce_type', 'text/css');
+		l.setAttribute('mce_href', f.stylesheet.value);
+		l.setAttribute('rel', 'stylesheet');
+
+		head.appendChild(l);
+	}
+
+	setMeta(head, 'keywords', f.metakeywords.value);
+	setMeta(head, 'description', f.metadescription.value);
+	setMeta(head, 'author', f.metaauthor.value);
+	setMeta(head, 'copyright', f.metacopyright.value);
+	setMeta(head, 'robots', getSelectValue(f, 'metarobots'));
+	setMeta(head, 'Content-Type', getSelectValue(f, 'docencoding'));
+
+	topDoc.body.dir = getSelectValue(f, 'langdir');
+	topDoc.body.style.cssText = f.style.value;
+
+	topDoc.body.setAttribute('vLink', f.visited_color.value);
+	topDoc.body.setAttribute('link', f.link_color.value);
+	topDoc.body.setAttribute('text', f.textcolor.value);
+	topDoc.body.setAttribute('aLink', f.active_color.value);
+
+	topDoc.body.style.fontFamily = getSelectValue(f, 'fontface');
+	topDoc.body.style.fontSize = getSelectValue(f, 'fontsize');
+	topDoc.body.style.backgroundColor = f.bgcolor.value;
+
+	if (f.leftmargin.value != '')
+		topDoc.body.style.marginLeft = f.leftmargin.value + 'px';
+
+	if (f.rightmargin.value != '')
+		topDoc.body.style.marginRight = f.rightmargin.value + 'px';
+
+	if (f.bottommargin.value != '')
+		topDoc.body.style.marginBottom = f.bottommargin.value + 'px';
+
+	if (f.topmargin.value != '')
+		topDoc.body.style.marginTop = f.topmargin.value + 'px';
+
+	html = topDoc.getElementsByTagName('html')[0];
+	html.setAttribute('lang', f.langcode.value);
+	html.setAttribute('xml:lang', f.langcode.value);
+
+	if (f.bgimage.value != '')
+		topDoc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
+	else
+		topDoc.body.style.backgroundImage = '';
+
+	inst.cleanup.addRuleStr('-title,meta[http-equiv|name|content],base[href|target],link[href|rel|type|title|media],style[type],script[type|language|src],html[lang|xml:lang|xmlns],body[style|dir|vlink|link|text|alink],head');
+
+	h = inst.cleanup.serializeNodeAsHTML(topDoc.documentElement);
+
+	h = h.substring(0, h.lastIndexOf('</body>'));
+
+	if (h.indexOf('<title>') == -1)
+		h = h.replace(/<head.*?>/, '$&\n' + '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+	else
+		h = h.replace(/<title>(.*?)<\/title>/, '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+
+	if ((v = getSelectValue(f, 'doctypes')) != '')
+		h = v + '\n' + h;
+
+	if (f.xml_pi.checked) {
+		s = '<?xml version="1.0"';
+
+		if ((v = getSelectValue(f, 'docencoding')) != '')
+			s += ' encoding="' + v + '"';
+
+		s += '?>\n';
+		h = s + h;
+	}
+
+	inst.fullpageTopContent = h;
+
+	tinyMCEPopup.execCommand('mceFullPageUpdate', false, '');
+	tinyMCEPopup.close();
+}
+
+function setMeta(he, k, v) {
+	var nl, i, m;
+
+	nl = he.getElementsByTagName('meta');
+	for (i=0; i<nl.length; i++) {
+		if (k == 'Content-Type' && tinyMCE.getAttrib(nl[i], 'http-equiv') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', "text/html; charset=" + v);
+
+			return;
+		}
+
+		if (tinyMCE.getAttrib(nl[i], 'name') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', v);
+			return;
+		}
+	}
+
+	if (v == '')
+		return;
+
+	m = topDoc.createElement('meta');
+
+	if (k == 'Content-Type')
+		m.httpEquiv = k;
+	else
+		m.setAttribute('name', k);
+
+	m.setAttribute('content', v);
+	he.appendChild(m);
+}
+
+function parseStyleElement(e) {
+	var v = e.innerHTML;
+	var p, i, r;
+
+	v = v.replace(/<!--/gi, '');
+	v = v.replace(/-->/gi, '');
+	v = v.replace(/[\n\r]/gi, '');
+	v = v.replace(/\s+/gi, ' ');
+
+	r = new Array();
+	p = v.split(/{|}/);
+
+	for (i=0; i<p.length; i+=2) {
+		if (p[i] != "")
+			r[r.length] = {rule : tinyMCE.trim(p[i]), data : tinyMCE.parseStyle(p[i+1])};
+	}
+
+	return r;
+}
+
+function serializeStyleElement(d) {
+	var i, s, st;
+
+	s = '<!--\n';
+
+	for (i=0; i<d.length; i++) {
+		s += d[i].rule + ' {\n';
+
+		st = tinyMCE.serializeStyle(d[i].data);
+
+		if (st != '')
+			st += ';';
+
+		s += st.replace(/;/g, ';\n');
+		s += '}\n';
+
+		if (i != d.length - 1)
+			s += '\n';
+	}
+
+	s += '\n-->';
+
+	return s;
+}
+
+function getReItem(r, s, i) {
+	var c = r.exec(s);
+
+	if (c && c.length > i)
+		return c[i];
+
+	return '';
+}
+
+function changedStyleField(field) {
+	//alert(field.id);
+}
+
+function showAddMenu() {
+	var re = document.getElementById('addbutton');
+
+	addMenuLayer.moveRelativeTo(re, 'tr');
+	if (addMenuLayer.isMSIE)
+		addMenuLayer.moveBy(2, 0);
+
+	addMenuLayer.show();
+	addMenuLayer.setAutoHide(true, hideAddMenu);
+	addMenuLayer.addCSSClass(re, 'selected');
+}
+
+function hideAddMenu(l, e, mx, my) {
+	var re = document.getElementById('addbutton');
+	addMenuLayer.removeCSSClass(re, 'selected');
+}
+
+function addHeadElm(type) {
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_insert', 'Insert', true);
+
+	le.size = 10;
+}
+
+function updateHeadElm(item) {
+	var type = item.substring(0, item.indexOf('_'));
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_update', 'Update', true);
+
+	le.size = 10;
+}
+
+function cancelElementUpdate() {
+	var le = document.getElementById('headlist');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	le.size = 26;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+// UK lang variables
+
+tinyMCE.addToLang('fullpage',{
+	title : 'Document properties',
+	desc : 'Document properties',
+	meta_tab : 'General',
+	appearance_tab : 'Appearance',
+	advanced_tab : 'Advanced',
+	meta_props : 'Meta information',
+	langprops : 'Language and encoding',
+	meta_title : 'Title',
+	meta_keywords : 'Keywords',
+	meta_description : 'Description',
+	meta_robots : 'Robots',
+	doctypes : 'Doctype',
+	langcode : 'Language code',
+	langdir : 'Language direction',
+	ltr : 'Left to right',
+	rtl : 'Right to left',
+	xml_pi : 'XML declaration',
+	encoding : 'Character encoding',
+	appearance_bgprops : 'Background properties',
+	appearance_marginprops : 'Body margins',
+	appearance_linkprops : 'Link colors',
+	appearance_textprops : 'Text properties',
+	bgcolor : 'Background color',
+	bgimage : 'Background image',
+	left_margin : 'Left margin',
+	right_margin : 'Right margin',
+	top_margin : 'Top margin',
+	bottom_margin : 'Bottom margin',
+	text_color : 'Text color',
+	font_size : 'Font size',
+	font_face : 'Font face',
+	link_color : 'Link color',
+	hover_color : 'Hover color',
+	visited_color : 'Visited color',
+	active_color : 'Active color',
+	textcolor : 'Color',
+	fontsize : 'Font size',
+	fontface : 'Font family',
+	meta_index_follow : 'Index and follow the links',
+	meta_index_nofollow : 'Index and don\'t follow the links',
+	meta_noindex_follow : 'Do not index but follow the links',
+	meta_noindex_nofollow : 'Do not index and don\'t follow the links',
+	appearance_style : 'Stylesheet and style properties',
+	stylesheet : 'Stylesheet',
+	style : 'Style',
+	author : 'Author',
+	copyright : 'Copyright',
+	add : 'Add new element',
+	remove : 'Remove selected element',
+	moveup : 'Move selected element up',
+	movedown : 'Move selected element down',
+	head_elements : 'Head elements',
+	info : 'Information',
+	info_text : '',
+	add_title : 'Title element',
+	add_meta : 'Meta element',
+	add_script : 'Script element',
+	add_style : 'Style element',
+	add_link : 'Link element',
+	add_base : 'Base element',
+	add_comment : 'Comment node',
+	title_element : 'Title element',
+	script_element : 'Script element',
+	style_element : 'Style element',
+	base_element : 'Base element',
+	link_element : 'Link element',
+	meta_element : 'Meta element',
+	comment_element : 'Comment',
+	src : 'Src',
+	language : 'Language',
+	href : 'Href',
+	target : 'Target',
+	rel : 'Rel',
+	type : 'Type',
+	charset : 'Charset',
+	defer : 'Defer',
+	media : 'Media',
+	properties : 'Properties',
+	name : 'Name',
+	value : 'Value',
+	content : 'Content',
+	rel : 'Rel',
+	rev : 'Rev',
+	hreflang : 'Href lang',
+	general_props : 'General',
+	advanced_props : 'Advanced',
+	delta_width : 0,
+	delta_height : 0
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+/* This class restores all CSS properties to that absolute positioning of fullscreen mode is correct */
+.mceFullscreenPos {
+	display: block !important;
+	position: static !important;
+	left: 0 !important;
+	top: 0 !important;
+	bottom: auto !important;
+	right: auto !important;
+	width: auto !important;
+	height: auto !important;
+	margin: 0 !important;
+	padding: 0 !important;
+	border: 0 !important;
+	overflow: visible;
+	z-index: 1 !important;
+	clear: both;
+}
+
+body.mceFullscreen {
+	overflow: hidden !important;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullscreen');var TinyMCE_FullScreenPlugin={getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['fullscreen_skip_plugin_css'])tinyMCE.importCSS(inst.getContainerWin().document,tinyMCE.baseURL+"/plugins/fullscreen/css/page.css")},getControlHTML:function(cn){switch(cn){case"fullscreen":return tinyMCE.getButtonHTML(cn,'lang_fullscreen_desc','{$pluginurl}/images/fullscreen.gif','mceFullScreen')}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst;switch(command){case"mceFullScreen":inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.getParam('fullscreen_new_window'))this._toggleFullscreenWin(inst);else this._toggleFullscreen(inst);return true}return false},_toggleFullscreenWin:function(inst){if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(inst.editorId));top.close()}else{tinyMCE.setWindowArg('editor_id',inst.editorId);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight)}catch(e){}}},_toggleFullscreen:function(inst){var ds=inst.getData('fullscreen'),editorContainer,tableElm,iframe,vp,cw,cd,re,w,h,si,blo,delta=0,cell,row,fcml,bcml;cw=inst.getContainerWin();cd=cw.document;editorContainer=cd.getElementById(inst.editorId+'_parent');tableElm=editorContainer.firstChild;iframe=inst.iframeElement;re=cd.getElementById(inst.editorId+'_resize');blo=document.getElementById('mce_fullscreen_blocker');fcm=new TinyMCE_Layer(inst.editorId+'_fcMenu');fcml=new TinyMCE_Layer(inst.editorId+'_fcMenu');bcml=new TinyMCE_Layer(inst.editorId+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_backcolor','mceMenuButton');bcml.hide()}if(!ds.enabled){if(inst.toolbarElement){delta+=inst.toolbarElement.offsetHeight;cell=tableElm.tBodies[0].insertRow(0).insertCell(-1);cell.className='mceToolbarTop';cell.nowrap=true;ds.oldToolbarParent=inst.toolbarElement.parentNode;ds.toolbarHolder=document.createTextNode('...');cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder,inst.toolbarElement))}ds.parents=[];vp=tinyMCE.getViewPort(cw);ds.scrollX=vp.left;ds.scrollY=vp.top;if(!tinyMCE.isOpera)tinyMCE.addCSSClass(cd.body,'mceFullscreen');tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.addCSSClass(n,'mceFullscreenPos');return false});if(re)re.style.display='none';vp=tinyMCE.getViewPort(cw);ds.oldWidth=iframe.style.width?iframe.style.width:iframe.offsetWidth;ds.oldHeight=iframe.style.height?iframe.style.height:iframe.offsetHeight;ds.oldTWidth=tableElm.style.width?tableElm.style.width:tableElm.offsetWidth;ds.oldTHeight=tableElm.style.height?tableElm.style.height:tableElm.offsetHeight;if(ds.oldWidth&&ds.oldWidth.indexOf)ds.oldTWidth=ds.oldWidth.indexOf('%')!=-1?ds.oldWidth:ds.oldTWidth;if(!blo&&tinyMCE.isRealIE){blo=tinyMCE.createTag(document,'iframe',{id:'mce_fullscreen_blocker',src:'about:blank',frameBorder:0,width:vp.width,height:vp.height,style:'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});document.body.appendChild(blo)}tableElm.style.position='absolute';tableElm.style.zIndex=1000;tableElm.style.left=tableElm.style.top='0';tableElm.style.width=vp.width+'px';tableElm.style.height=vp.height+'px';if(tinyMCE.isRealIE){iframe.style.width=vp.width+'px';iframe.style.height=vp.height+'px';w=iframe.parentNode.clientWidth-(tableElm.offsetWidth-vp.width);h=iframe.parentNode.clientHeight-(tableElm.offsetHeight-vp.height)}else{w=iframe.parentNode.clientWidth;h=iframe.parentNode.clientHeight}iframe.style.width=w+"px";iframe.style.height=(h+delta)+"px";tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonSelected');ds.enabled=true;inst.useCSS=false}else{if(inst.toolbarElement){row=inst.toolbarElement.parentNode.parentNode;row.parentNode.removeChild(row);ds.oldToolbarParent.replaceChild(inst.toolbarElement,ds.toolbarHolder);ds.oldToolbarParent=null;ds.toolbarHolder=null}if(blo)blo.parentNode.removeChild(blo);si=0;tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.removeCSSClass(n,'mceFullscreenPos')});if(re&&tinyMCE.getParam("theme_advanced_resizing",false))re.style.display='block';tableElm.style.position='static';tableElm.style.zIndex='';tableElm.style.width='';tableElm.style.height='';tableElm.style.width=ds.oldTWidth?ds.oldTWidth:'';tableElm.style.height=ds.oldTHeight?ds.oldTHeight:'';iframe.style.width=ds.oldWidth?ds.oldWidth:'';iframe.style.height=ds.oldHeight?ds.oldHeight:'';tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonNormal');ds.enabled=false;tinyMCE.removeCSSClass(cd.body,'mceFullscreen');cw.scrollTo(ds.scrollX,ds.scrollY);inst.useCSS=false}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam('fullscreen_is_enabled'))tinyMCE.switchClass(editor_id+'_fullscreen','mceButtonSelected');return true}};tinyMCE.addPlugin("fullscreen",TinyMCE_FullScreenPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,230 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullscreen');
+
+var TinyMCE_FullScreenPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullscreen',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['fullscreen_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getContainerWin().document, tinyMCE.baseURL + "/plugins/fullscreen/css/page.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullscreen":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceFullScreen":
+				inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.getParam('fullscreen_new_window'))
+					this._toggleFullscreenWin(inst);
+				else
+					this._toggleFullscreen(inst);
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	_toggleFullscreenWin : function(inst) {
+		if (tinyMCE.getParam('fullscreen_is_enabled')) {
+			// In fullscreen mode
+			window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(inst.editorId));
+			top.close();
+		} else {
+			tinyMCE.setWindowArg('editor_id', inst.editorId);
+
+			var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
+			try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
+		}
+	},
+
+	_toggleFullscreen : function(inst) {
+		var ds = inst.getData('fullscreen'), editorContainer, tableElm, iframe, vp, cw, cd, re, w, h, si, blo, delta = 0, cell, row, fcml, bcml;
+
+		cw = inst.getContainerWin();
+		cd = cw.document;
+		editorContainer = cd.getElementById(inst.editorId + '_parent');
+		tableElm = editorContainer.firstChild;
+		iframe = inst.iframeElement;
+		re = cd.getElementById(inst.editorId + '_resize');
+		blo = document.getElementById('mce_fullscreen_blocker');
+		fcm = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		fcml = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		bcml = new TinyMCE_Layer(inst.editorId + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+
+		if (!ds.enabled) {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				delta += inst.toolbarElement.offsetHeight;
+
+				cell = tableElm.tBodies[0].insertRow(0).insertCell(-1);
+				cell.className = 'mceToolbarTop';
+				cell.nowrap = true;
+
+				ds.oldToolbarParent = inst.toolbarElement.parentNode;
+				ds.toolbarHolder = document.createTextNode('...');
+
+				cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder, inst.toolbarElement));
+			}
+
+			ds.parents = [];
+
+			vp = tinyMCE.getViewPort(cw);
+			ds.scrollX = vp.left;
+			ds.scrollY = vp.top;
+
+			// Opera has a bug restoring scrollbars
+			if (!tinyMCE.isOpera)
+				tinyMCE.addCSSClass(cd.body, 'mceFullscreen');
+
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.addCSSClass(n, 'mceFullscreenPos');
+
+				return false;
+			});
+
+			if (re)
+				re.style.display = 'none';
+
+			vp = tinyMCE.getViewPort(cw);
+
+			ds.oldWidth = iframe.style.width ? iframe.style.width : iframe.offsetWidth;
+			ds.oldHeight = iframe.style.height ? iframe.style.height : iframe.offsetHeight;
+			ds.oldTWidth = tableElm.style.width ? tableElm.style.width : tableElm.offsetWidth;
+			ds.oldTHeight = tableElm.style.height ? tableElm.style.height : tableElm.offsetHeight;
+
+			// Handle % width
+			if (ds.oldWidth && ds.oldWidth.indexOf)
+				ds.oldTWidth = ds.oldWidth.indexOf('%') != -1 ? ds.oldWidth : ds.oldTWidth;
+
+			if (!blo && tinyMCE.isRealIE) {
+				blo = tinyMCE.createTag(document, 'iframe', {id : 'mce_fullscreen_blocker', src : 'about:blank', frameBorder : 0, width : vp.width, height : vp.height, style : 'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});
+				document.body.appendChild(blo);
+			}
+
+			tableElm.style.position = 'absolute';
+			tableElm.style.zIndex = 1000;
+			tableElm.style.left = tableElm.style.top = '0';
+
+			tableElm.style.width = vp.width + 'px';
+			tableElm.style.height = vp.height + 'px';
+
+			if (tinyMCE.isRealIE) {
+				iframe.style.width = vp.width + 'px';
+				iframe.style.height = vp.height + 'px';
+
+				// Calc new width/height based on overflow
+				w = iframe.parentNode.clientWidth - (tableElm.offsetWidth - vp.width);
+				h = iframe.parentNode.clientHeight - (tableElm.offsetHeight - vp.height);
+			} else {
+				w = iframe.parentNode.clientWidth;
+				h = iframe.parentNode.clientHeight;
+			}
+
+			iframe.style.width = w + "px";
+			iframe.style.height = (h+delta) + "px";
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonSelected');
+			ds.enabled = true;
+
+			inst.useCSS = false;
+		} else {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				row = inst.toolbarElement.parentNode.parentNode;
+
+				row.parentNode.removeChild(row);
+
+				ds.oldToolbarParent.replaceChild(inst.toolbarElement, ds.toolbarHolder);
+
+				ds.oldToolbarParent = null;
+				ds.toolbarHolder = null;
+			}
+
+			if (blo)
+				blo.parentNode.removeChild(blo);
+
+			si = 0;
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.removeCSSClass(n, 'mceFullscreenPos');
+			});
+
+			if (re && tinyMCE.getParam("theme_advanced_resizing", false))
+				re.style.display = 'block';
+
+			tableElm.style.position = 'static';
+			tableElm.style.zIndex = '';
+			tableElm.style.width = '';
+			tableElm.style.height = '';
+
+			tableElm.style.width = ds.oldTWidth ? ds.oldTWidth : '';
+			tableElm.style.height = ds.oldTHeight ? ds.oldTHeight : '';
+
+			iframe.style.width = ds.oldWidth ? ds.oldWidth : '';
+			iframe.style.height = ds.oldHeight ? ds.oldHeight : '';
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonNormal');
+			ds.enabled = false;
+
+			tinyMCE.removeCSSClass(cd.body, 'mceFullscreen');
+			cw.scrollTo(ds.scrollX, ds.scrollY);
+
+			inst.useCSS = false;
+		}
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam('fullscreen_is_enabled'))
+			tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullscreen_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
+	<script language="javascript" type="text/javascript">
+		function patchCallback(settings, key) {
+			if (settings[key])
+				settings[key] = "window.opener." + settings[key];
+		}
+
+		var settings = new Array();
+
+		// Clone array
+		for (var name in window.opener.tinyMCE.settings)
+			settings[name] = window.opener.tinyMCE.settings[name];
+
+		// Override options for fullscreen
+		for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
+			settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
+
+		// Patch callbacks, make them point to window.opener
+		patchCallback(settings, 'urlconverter_callback');
+		patchCallback(settings, 'insertlink_callback');
+		patchCallback(settings, 'insertimage_callback');
+		patchCallback(settings, 'setupcontent_callback');
+		patchCallback(settings, 'save_callback');
+		patchCallback(settings, 'onchange_callback');
+		patchCallback(settings, 'init_instance_callback');
+		patchCallback(settings, 'file_browser_callback');
+		patchCallback(settings, 'cleanup_callback');
+		patchCallback(settings, 'execcommand_callback');
+		patchCallback(settings, 'oninit');
+
+		// Set options
+		settings['mode'] = 'exact';
+		settings['elements'] = 'fullscreenarea';
+		settings['ask'] = false;
+		settings['setupcontent_callback'] = 'setupContent';
+		settings['fullscreen_is_enabled'] = true;
+		settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
+		settings['theme_advanced_resizing'] = false;
+
+		// Init
+		tinyMCE.init(settings);
+		tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
+
+		function setupContent(editor_id, body, doc) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+			var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
+
+			// Setup title
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
+			document.title = divElm.innerHTML;
+
+			// Get content
+			inst.execCommand('mceSetContent', false, content);
+		}
+
+		function unloadHandler(e) {
+			moveContent();
+		}
+
+		function moveContent() {
+			var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
+			window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
+		}
+
+		// Add onunload
+		tinyMCE.addEvent(window, "beforeunload", unloadHandler);
+
+		function doParentSubmit() {
+			moveContent();
+
+			if (window.opener.tinyMCE.selectedInstance.formElement.form)
+				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
+
+			window.close();
+
+			return false;
+		}
+	</script>
+	<base target="_self" />
+</head>
+<body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
+<form onsubmit="doParentSubmit();" style="height: 100%">
+<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_desc : 'Toggle fullscreen mode'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('iespell');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return""},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement)}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','')}else alert("Error Loading ieSpell: Exception "+e.number)}return true}return false}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('iespell');
+
+var TinyMCE_IESpellPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'IESpell (MSIE Only)',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the iespell control.
+	 */
+	getControlHTML : function(cn) {
+		// Is it the iespell control and is the brower MSIE.
+		if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
+			return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceIESpell command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle ieSpellCommand
+		if (command == "mceIESpell") {
+			try {
+				var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
+				ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
+			} catch (e) {
+				if (e.number == -2146827859) {
+					if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
+						window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
+				} else
+					alert("Error Loading ieSpell: Exception " + e.number);
+			}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Run spell checking',
+iespell_download : "ieSpell not detected. Click OK to go to download page."
+});
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/* Window classes */
+
+.mceWindow {
+	position: absolute;
+	left: 0;
+	top: 0;
+	border: 1px solid black;
+	background-color: #D4D0C8;
+}
+
+.mceWindowHead {
+	background-color: #334F8D;
+	width: 100%;
+	height: 18px;
+	cursor: move;
+	overflow: hidden;
+}
+
+.mceWindowBody {
+	clear: both;
+	background-color: white;
+}
+
+.mceWindowStatusbar {
+	background-color: #D4D0C8;
+	height: 12px;
+	border-top: 1px solid black;
+}
+
+.mceWindowTitle {
+	float: left;
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+	font-weight: bold;
+	line-height: 18px;
+	color: white;
+	margin-left: 2px;
+	overflow: hidden;
+}
+
+.mceWindowHeadTools {
+	margin-right: 2px;
+}
+
+.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	margin-top: 2px;
+}
+
+.mceWindowClose {
+	margin-left: 2px;
+}
+
+.mceWindowMinimize {
+}
+
+.mceWindowMaximize {
+}
+
+.mceWindowResize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	cursor: se-resize;
+	width: 12px;
+	height: 12px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(!(minWidth=parseInt(template['minWidth'])))minWidth=100;if(!(minHeight=parseInt(template['minHeight'])))minHeight=100;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');if(tinyMCE.hasPlugin('fullscreen')&&this.selectedInstance.getData('fullscreen').enabled)pos={absLeft:0,absTop:0};else pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/ 2) - (width /2));pos.absTop+=Math.round((elm.firstChild.clientHeight/ 2) - (height /2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop+",minWidth="+minWidth+",minHeight="+minHeight)};TinyMCE_Engine.prototype.closeWindow=function(win){var gotit=false,n,w;for(n in mcWindows.windows){w=mcWindows.windows[n];if(typeof(w)=='function')continue;if(win.name==w.id+'_iframe'){w.close();gotit=true}}if(!gotit)this.orgCloseWindow(win);tinyMCE.selectedInstance.getWin().focus()};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=1001;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.addEvent(window,"resize",mcWindows.eventDispatcher);this.addEvent(document,"scroll",mcWindows.eventDispatcher);this.doc=document};TinyMCE_Windows.prototype.getBounds=function(){if(!this.bounds){var vp=tinyMCE.getViewPort(window);var top,left,bottom,right,docEl=this.doc.documentElement;top=vp.top;left=vp.left;bottom=vp.height+top-2;right=vp.width+left-22;this.bounds=[left,top,right,bottom]}return this.bounds};TinyMCE_Windows.prototype.clampBoxPosition=function(x,y,w,h,minW,minH){var bounds=this.getBounds();x=Math.max(bounds[0],Math.min(bounds[2],x+w)-w);y=Math.max(bounds[1],Math.min(bounds[3],y+h)-h);return this.clampBoxSize(x,y,w,h,minW,minH)};TinyMCE_Windows.prototype.clampBoxSize=function(x,y,w,h,minW,minH){var bounds=this.getBounds();return[x,y,Math.max(minW,Math.min(bounds[2],x+w)-x),Math.max(minH,Math.min(bounds[3],y+h)-y)]};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;case"scroll":case"resize":if(mcWindows.clampUpdateTimeout)clearTimeout(mcWindows.clampUpdateTimeout);mcWindows.clampEventType=e.type;mcWindows.clampUpdateTimeout=setTimeout(function(){mcWindows.updateClamping()},100);break}};TinyMCE_Windows.prototype.updateClamping=function(){var clamp,oversize,etype=mcWindows.clampEventType;this.bounds=null;this.clampUpdateTimeout=null;for(var n in this.windows){win=this.windows[n];if(typeof(win)=='function'||!win.winElement)continue;clamp=mcWindows.clampBoxPosition(win.left,win.top,win.winElement.scrollWidth,win.winElement.scrollHeight,win.features.minWidth,win.features.minHeight);oversize=(clamp[2]!=win.winElement.scrollWidth||clamp[3]!=win.winElement.scrollHeight)?true:false;if(!oversize||win.features.resizable=="yes"||etype!="scroll")win.moveTo(clamp[0],clamp[1]);if(oversize&&win.features.resizable=="yes")win.resizeTo(clamp[2],clamp[3])}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,false)};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true}else e.preventDefault()};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['minwidth']="100";options['minheight']="100";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1]}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);options['minWidth']=parseInt(options['minwidth']);options['minHeight']=parseInt(options['minheight']);return options};TinyMCE_Windows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new TinyMCE_Window();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);var clamp=mcWindows.clampBoxPosition(features['left'],features['top'],features['width'],features['height'],features['minWidth'],features['minHeight']);features['left']=clamp[0];features['top']=clamp[1];if(features['resizable']=="yes"){features['width']=clamp[2];features['height']=clamp[3]}id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+='  <div id="'+id+'_title" class="mceWindowTitle"';html+='  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+='    <div class="mceWindowHeadTools">';html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';if(features['resizable']=="yes"&&features['maximizable']=="yes")html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="'+imgPath+'/window_maximize.gif" /></a>';html+='    </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>'}html+='</div>'}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html)};TinyMCE_Windows.prototype.setDocumentLock=function(state){var elm=document.getElementById('mcWindowEventBlocker');if(state){if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm)}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block"}else if(elm!=null){if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher)}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher)}window.frames[i]._hasMouseHandlers=true}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher)}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true)};TinyMCE_Windows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div"),doc;width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2}else{iframeWidth=width;iframeHeight=height+1}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){var doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close()},10)}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close()}div.style.display="block";return div};function TinyMCE_Window(){};TinyMCE_Window.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this}};TinyMCE_Window.prototype.minimize=function(){};TinyMCE_Window.prototype.maximize=function(){if(this.restoreSize){this.moveTo(this.restoreSize[0],this.restoreSize[1]);this.resizeTo(this.restoreSize[2],this.restoreSize[3]);this.updateClamping();this.restoreSize=null}else{var bounds=mcWindows.getBounds();this.restoreSize=[this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight];this.moveTo(bounds[0],bounds[1]);this.resizeTo(bounds[2]-bounds[0],bounds[3]-bounds[1])}};TinyMCE_Window.prototype.startResize=function(){mcWindows.action="resize"};TinyMCE_Window.prototype.startMove=function(e){mcWindows.action="move"};TinyMCE_Window.prototype.close=function(){if(this.frame&&this.frame['tinyMCEPopup'])this.frame['tinyMCEPopup'].restoreSelection();if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win.name!=this.name)mcWindowsNew[n]=win}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false)};TinyMCE_Window.prototype.onMouseMove=function(e){var clamp;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case"resize":clamp=mcWindows.clampBoxSize(this.left,this.top,mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX),mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY),this.features.minWidth,this.features.minHeight);this.resizeTo(clamp[2],clamp[3]);mcWindows.cancelEvent(e);break;case"move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.updateClamping();mcWindows.cancelEvent(e);break}};TinyMCE_Window.prototype.moveTo=function(x,y){this.left=x;this.top=y;this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px"};TinyMCE_Window.prototype.resizeTo=function(width,height){this.wrapperIFrameElement.style.width=(width+2)+'px';this.wrapperIFrameElement.style.height=(height+2)+'px';this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width+'px';this.winElement.style.height=height+'px';height=height-this.deltaHeight;this.containerElement.style.width=width+'px';this.iframeElement.style.width=width+'px';this.iframeElement.style.height=height+'px';this.bodyElement.style.width=width+'px';this.bodyElement.style.height=height+'px';this.headElement.style.width=width+'px';};TinyMCE_Window.prototype.updateClamping=function(){var clamp,oversize;clamp=mcWindows.clampBoxPosition(this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight,this.features.minWidth,this.features.minHeight);oversize=(clamp[2]!=this.winElement.scrollWidth||clamp[3]!=this.winElement.scrollHeight)?true:false;this.moveTo(clamp[0],clamp[1]);if(this.features.resizable=="yes"&&oversize)this.resizeTo(clamp[2],clamp[3])};function debug(msg){document.getElementById('debug').value+=msg+"\n"}TinyMCE_Window.prototype.onMouseUp=function(e){mcWindows.action="none"};TinyMCE_Window.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(winRef.name==win.id+"_iframe"){win.focus();return}}};TinyMCE_Window.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e)};var mcWindows=new TinyMCE_Windows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+var TinyMCE_InlinePopupsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Inline Popups',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	}
+};
+
+tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
+TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
+
+TinyMCE_Engine.prototype.openWindow = function(template, args) {
+	// Does the caller support inline
+	if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
+		mcWindows.selectedWindow = null;
+		args['mce_inside_iframe'] = false;
+		this.orgOpenWindow(template, args);
+		return;
+	}
+
+	var url, resizable, scrollbars;
+
+	args['mce_inside_iframe'] = true;
+	tinyMCE.windowArgs = args;
+
+	if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+		url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+	else
+		url = template['file'];
+
+	if (!(width = parseInt(template['width'])))
+		width = 320;
+
+	if (!(height = parseInt(template['height'])))
+		height = 200;
+
+	if (!(minWidth = parseInt(template['minWidth'])))
+		minWidth = 100;
+
+	if (!(minHeight = parseInt(template['minHeight'])))
+		minHeight = 100;
+
+	resizable = (args && args['resizable']) ? args['resizable'] : "no";
+	scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+	height += 18;
+
+	// Replace all args as variables in URL
+	for (var name in args) {
+		if (typeof(args[name]) == 'function')
+			continue;
+
+		url = tinyMCE.replaceVar(url, name, escape(args[name]));
+	}
+
+	var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
+
+	if (tinyMCE.hasPlugin('fullscreen') && this.selectedInstance.getData('fullscreen').enabled)
+		pos = { absLeft: 0, absTop: 0 };
+	else
+		pos = tinyMCE.getAbsPosition(elm);
+
+	// Center div in editor area
+	pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
+	pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
+
+	mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop + ",minWidth=" + minWidth + ",minHeight=" + minHeight );
+};
+
+TinyMCE_Engine.prototype.closeWindow = function(win) {
+	var gotit = false, n, w;
+	for (n in mcWindows.windows) {
+		w = mcWindows.windows[n];
+		if (typeof(w) == 'function') continue;
+		if (win.name == w.id + '_iframe') {
+			w.close();
+			gotit = true;
+		}
+	}
+	if (!gotit)
+		this.orgCloseWindow(win);
+
+	tinyMCE.selectedInstance.getWin().focus(); 
+};
+
+TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win_ref.name == win.id + "_iframe")
+			window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
+	}
+};
+
+// * * * * * TinyMCE_Windows classes below
+
+// Windows handler
+function TinyMCE_Windows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.lastSelectedWindow = null;
+	this.zindex = 1001;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+	this.idCounter = 0;
+};
+
+TinyMCE_Windows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+
+	this.addEvent(window, "resize", mcWindows.eventDispatcher);
+	this.addEvent(document, "scroll", mcWindows.eventDispatcher);
+
+	this.doc = document;
+};
+
+TinyMCE_Windows.prototype.getBounds = function() {
+	if (!this.bounds) {
+		var vp = tinyMCE.getViewPort(window);
+		var top, left, bottom, right, docEl = this.doc.documentElement;
+
+		top    = vp.top;
+		left   = vp.left;
+		bottom = vp.height + top - 2;
+		right  = vp.width  + left - 22; // TODO this number is platform dependant
+		// x1, y1, x2, y2
+		this.bounds = [left, top, right, bottom];
+	}
+	return this.bounds;
+};
+
+TinyMCE_Windows.prototype.clampBoxPosition = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	x = Math.max(bounds[0], Math.min(bounds[2], x + w) - w);
+	y = Math.max(bounds[1], Math.min(bounds[3], y + h) - h);
+
+	return this.clampBoxSize(x, y, w, h, minW, minH);
+};
+
+TinyMCE_Windows.prototype.clampBoxSize = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	return [
+		x, y,
+		Math.max(minW, Math.min(bounds[2], x + w) - x),
+		Math.max(minH, Math.min(bounds[3], y + h) - y)
+	];
+};
+
+TinyMCE_Windows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+TinyMCE_Windows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+		case "scroll":
+		case "resize":
+			if (mcWindows.clampUpdateTimeout)
+				clearTimeout(mcWindows.clampUpdateTimeout);
+			mcWindows.clampEventType = e.type;
+			mcWindows.clampUpdateTimeout =
+				setTimeout(function () {mcWindows.updateClamping()}, 100);
+			break;
+	}
+};
+
+TinyMCE_Windows.prototype.updateClamping = function () {
+	var clamp, oversize, etype = mcWindows.clampEventType;
+
+	this.bounds = null; // Recalc window bounds on resize/scroll
+	this.clampUpdateTimeout = null;
+
+	for (var n in this.windows) {
+		win = this.windows[n];
+		if (typeof(win) == 'function' || ! win.winElement) continue;
+
+		clamp = mcWindows.clampBoxPosition(
+			win.left, win.top,
+			win.winElement.scrollWidth,
+			win.winElement.scrollHeight,
+			win.features.minWidth,
+			win.features.minHeight
+		);
+		oversize = (
+			clamp[2] != win.winElement.scrollWidth ||
+			clamp[3] != win.winElement.scrollHeight
+		) ? true : false;
+
+		if (!oversize || win.features.resizable == "yes" || etype != "scroll")
+			win.moveTo(clamp[0], clamp[1]);
+		if (oversize && win.features.resizable == "yes")
+			win.resizeTo(clamp[2], clamp[3]);
+	}
+};
+
+TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, false);
+};
+
+TinyMCE_Windows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+TinyMCE_Windows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = "10";
+	options['top'] = "10";
+	options['width'] = "300";
+	options['height'] = "300";
+	options['minwidth'] = "100";
+	options['minheight'] = "100";
+	options['resizable'] = "yes";
+	options['minimizable'] = "yes";
+	options['maximizable'] = "yes";
+	options['close'] = "yes";
+	options['movable'] = "yes";
+	options['statusbar'] = "yes";
+	options['scrollbars'] = "auto";
+	options['modal'] = "no";
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	options['left'] = parseInt(options['left']);
+	options['top'] = parseInt(options['top']);
+	options['width'] = parseInt(options['width']);
+	options['height'] = parseInt(options['height']);
+	options['minWidth'] = parseInt(options['minwidth']);
+	options['minHeight'] = parseInt(options['minheight']);
+
+	return options;
+};
+
+TinyMCE_Windows.prototype.open = function(url, name, features) {
+	this.lastSelectedWindow = this.selectedWindow;
+
+	var win = new TinyMCE_Window();
+	var winDiv, html = "", id;
+	var imgPath = this.getParam("images_path");
+
+	features = this.parseFeatures(features);
+
+	// Clamp specified dimensions
+	var clamp = mcWindows.clampBoxPosition(
+		features['left'], features['top'],
+		features['width'], features['height'],
+		features['minWidth'], features['minHeight']
+	);
+
+	features['left'] = clamp[0];
+	features['top'] = clamp[1];
+
+	if (features['resizable'] == "yes") {
+		features['width'] = clamp[2];
+		features['height'] = clamp[3];
+	}
+
+	// Create div
+	id = "mcWindow_" + name;
+	win.deltaHeight = 18;
+
+	if (features['statusbar'] == "yes") {
+		win.deltaHeight += 13;
+
+		if (this.isMSIE)
+			win.deltaHeight += 1;
+	}
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-win.deltaHeight;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
+	if (features['resizable'] == "yes" && features['maximizable'] == "yes")
+		html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="' + imgPath + '/window_maximize.gif" /></a>';
+	// html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
+
+	if (features['statusbar'] == "yes") {
+		html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+
+		if (features['resizable'] == "yes") {
+			if (this.isGecko)
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
+			else
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
+		}
+
+		html += '</div>';
+	}
+
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Blocks the document events by placing a image over the whole document
+TinyMCE_Windows.prototype.setDocumentLock = function(state) {
+	var elm = document.getElementById('mcWindowEventBlocker');
+
+	if (state) {
+		if (elm == null) {
+			elm = document.createElement("div");
+
+			elm.id = "mcWindowEventBlocker";
+			elm.style.position = "absolute";
+			elm.style.left = "0";
+			elm.style.top = "0";
+
+			document.body.appendChild(elm);
+		}
+
+		elm.style.display = "none";
+
+		var imgPath = this.getParam("images_path");
+		var width = document.body.clientWidth;
+		var height = document.body.clientHeight;
+
+		elm.style.width = width;
+		elm.style.height = height;
+		elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
+
+		elm.style.zIndex = mcWindows.zindex-1;
+		elm.style.display = "block";
+	} else if (elm != null) {
+		if (mcWindows.windows.length == 0)
+			elm.parentNode.removeChild(elm);
+		else
+			elm.style.zIndex = mcWindows.zindex-1;
+	}
+};
+
+// Gets called when wrapper iframe is initialized
+TinyMCE_Windows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name;
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (win.resizeElement != null)
+		mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	// Dispatch open window event
+	var func = this.getParam("on_open_window", "");
+	if (func != "")
+		eval(func + "(win);");
+
+	win.focus();
+
+	if (win.features['modal'] == "yes")
+		mcWindows.setDocumentLock(true);
+};
+
+TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div"), doc;
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+	// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			var doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document;
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function TinyMCE_Window() {
+};
+
+TinyMCE_Window.prototype.focus = function() {
+	if (this != mcWindows.selectedWindow) {
+		this.winElement.style.zIndex = ++mcWindows.zindex;
+		mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
+		mcWindows.selectedWindow = this;
+	}
+};
+
+TinyMCE_Window.prototype.minimize = function() {
+};
+
+TinyMCE_Window.prototype.maximize = function() {
+	if (this.restoreSize) {
+		this.moveTo(this.restoreSize[0], this.restoreSize[1]);
+		this.resizeTo(this.restoreSize[2], this.restoreSize[3]);
+		this.updateClamping();
+		this.restoreSize = null;
+	} else {
+		var bounds = mcWindows.getBounds();
+		this.restoreSize = [
+			this.left, this.top,
+			this.winElement.scrollWidth,
+			this.winElement.scrollHeight
+		];
+		this.moveTo(bounds[0], bounds[1]);
+		this.resizeTo(
+			bounds[2] - bounds[0],
+			bounds[3] - bounds[1]
+		);
+	}
+};
+
+TinyMCE_Window.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+TinyMCE_Window.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+TinyMCE_Window.prototype.close = function() {
+	if (this.frame && this.frame['tinyMCEPopup'])
+		this.frame['tinyMCEPopup'].restoreSelection();
+
+	if (mcWindows.lastSelectedWindow != null)
+		mcWindows.lastSelectedWindow.focus();
+
+	var mcWindowsNew = new Array();
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win.name != this.name)
+			mcWindowsNew[n] = win;
+	}
+
+	mcWindows.windows = mcWindowsNew;
+
+	// alert(mcWindows.doc.getElementById(this.id + "_iframe"));
+
+	var e = mcWindows.doc.getElementById(this.id + "_iframe");
+	e.parentNode.removeChild(e);
+
+	var e = mcWindows.doc.getElementById(this.id + "_div");
+	e.parentNode.removeChild(e);
+
+	mcWindows.setDocumentLock(false);
+};
+
+TinyMCE_Window.prototype.onMouseMove = function(e) {
+	var clamp;
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			clamp = mcWindows.clampBoxSize(
+				this.left, this.top,
+				mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX),
+				mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY),
+				this.features.minWidth, this.features.minHeight
+			);
+
+			this.resizeTo(clamp[2], clamp[3]);
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.updateClamping();
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+TinyMCE_Window.prototype.moveTo = function (x, y) {
+	this.left = x;
+	this.top = y;
+
+	this.winElement.style.left = this.left + "px";
+	this.winElement.style.top = this.top + "px";
+};
+
+TinyMCE_Window.prototype.resizeTo = function (width, height) {
+	this.wrapperIFrameElement.style.width = (width+2) + 'px';
+	this.wrapperIFrameElement.style.height = (height+2) + 'px';
+	this.wrapperIFrameElement.width = width+2;
+	this.wrapperIFrameElement.height = height+2;
+	this.winElement.style.width = width + 'px';
+	this.winElement.style.height = height + 'px';
+
+	height = height - this.deltaHeight;
+
+	this.containerElement.style.width = width + 'px';
+	this.iframeElement.style.width = width + 'px';
+	this.iframeElement.style.height = height + 'px';
+	this.bodyElement.style.width = width + 'px';
+	this.bodyElement.style.height = height + 'px';
+	this.headElement.style.width = width + 'px';
+	//this.statusElement.style.width = width + 'px';
+};
+
+TinyMCE_Window.prototype.updateClamping = function () {
+	var clamp, oversize;
+
+	clamp = mcWindows.clampBoxPosition(
+		this.left, this.top,
+		this.winElement.scrollWidth,
+		this.winElement.scrollHeight,
+		this.features.minWidth, this.features.minHeight
+	);
+	oversize = (
+		clamp[2] != this.winElement.scrollWidth ||
+		clamp[3] != this.winElement.scrollHeight
+	) ? true : false;
+
+	this.moveTo(clamp[0], clamp[1]);
+	if (this.features.resizable == "yes" && oversize)
+		this.resizeTo(clamp[2], clamp[3]);
+};
+
+function debug(msg) {
+	document.getElementById('debug').value += msg + "\n";
+}
+
+TinyMCE_Window.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+TinyMCE_Window.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id + "_iframe") {
+			win.focus();
+			return;
+		}
+	}
+};
+
+TinyMCE_Window.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (this.resizeElement != null && elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new TinyMCE_Windows();
+
+// Initialize windows
+mcWindows.init({
+	images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
+	css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,453 @@
+/**
+ * $Id: mcwindows.js 18 2006-06-29 14:11:23Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Windows handler
+function MCWindows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.zindex = 100;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+			if (typeof(win) == 'function')
+				continue;
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+	}
+}
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = 10;
+	options['top'] = 10;
+	options['width'] = 300;
+	options['height'] = 300;
+	options['resizable'] = true;
+	options['minimizable'] = true;
+	options['maximizable'] = true;
+	options['close'] = true;
+	options['movable'] = true;
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+	var win = new MCWindow();
+	var winDiv, html = "", id;
+
+	features = this.parseFeatures(features);
+
+	// Create div
+	id = "mcWindow_" + name;
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-12-19;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
+	html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
+	html += '</div>';
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name + "_iframe";
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+	mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	this.selectedWindow = win;
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div");
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+//	iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+	this.winElement.style.zIndex = mcWindows.zindex++;
+	mcWindows.selectedWindow = this;
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+	
+};
+
+MCWindow.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+	document.body.removeChild(this.winElement);
+	mcWindows.windows[this.name] = null;
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+			height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+			width = width < 100 ? 100 : width;
+			height = height < 100 ? 100 : height;
+
+			this.wrapperIFrameElement.style.width = width+2;
+			this.wrapperIFrameElement.style.height = height+2;
+			this.wrapperIFrameElement.width = width+2;
+			this.wrapperIFrameElement.height = height+2;
+			this.winElement.style.width = width;
+			this.winElement.style.height = height;
+
+			height = height-12-19;
+
+			this.containerElement.style.width = width;
+
+			this.iframeElement.style.width = width;
+			this.iframeElement.style.height = height;
+			this.bodyElement.style.width = width;
+			this.bodyElement.style.height = height;
+			this.headElement.style.width = width;
+			//this.statusElement.style.width = width;
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.winElement.style.left = this.left + "px";
+			this.winElement.style.top = this.top + "px";
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+MCWindow.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id) {
+			win.focus();
+			return;
+		}
+	}
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('insertdatetime');var TinyMCE_InsertDateTimePlugin={getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"insertdate":return tinyMCE.getButtonHTML(cn,'lang_insertdate_desc','{$pluginurl}/images/insertdate.gif','mceInsertDate');case"inserttime":return tinyMCE.getButtonHTML(cn,'lang_inserttime_desc','{$pluginurl}/images/inserttime.gif','mceInsertTime')}return""},execCommand:function(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value}return value}function getDateTime(d,fmt){fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt}switch(command){case"mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case"mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true}return false}};tinyMCE.addPlugin("insertdatetime",TinyMCE_InsertDateTimePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('insertdatetime');
+
+var TinyMCE_InsertDateTimePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Insert date/time',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the insertdate, inserttime controls.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "insertdate":
+				return tinyMCE.getButtonHTML(cn, 'lang_insertdate_desc', '{$pluginurl}/images/insertdate.gif', 'mceInsertDate');
+
+			case "inserttime":
+				return tinyMCE.getButtonHTML(cn, 'lang_inserttime_desc', '{$pluginurl}/images/inserttime.gif', 'mceInsertTime');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceInsertDate command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		/* Adds zeros infront of value */
+		function addZeros(value, len) {
+			value = "" + value;
+
+			if (value.length < len) {
+				for (var i=0; i<(len-value.length); i++)
+					value = "0" + value;
+			}
+
+			return value;
+		}
+
+		function getDateTime(d, fmt) {
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+		}
+
+		// Handle commands
+		switch (command) {
+			case "mceInsertDate":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
+				return true;
+
+			case "mceInsertTime":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("insertdatetime", TinyMCE_InsertDateTimePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Insert date',
+inserttime_desc : 'Insert time',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('layer');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position')},handleEvent:function(e){var inst=tinyMCE.selectedInstance;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=this._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null}}return true},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i<nl.length;i++){if(new RegExp('absolute|relative|static','gi').test(nl[i].style.position)){if(state)tinyMCE.addCSSClass(nl[i],'mceVisualAid');else tinyMCE.removeCSSClass(nl[i],'mceVisualAid')}}},getControlHTML:function(cn){switch(cn){case"moveforward":return tinyMCE.getButtonHTML(cn,'lang_layer_forward_desc','{$pluginurl}/images/moveforward.gif','mceMoveForward',true);case"movebackward":return tinyMCE.getButtonHTML(cn,'lang_layer_backward_desc','{$pluginurl}/images/movebackward.gif','mceMoveBackward',true);case"absolute":return tinyMCE.getButtonHTML(cn,'lang_layer_absolute_desc','{$pluginurl}/images/absolute.gif','mceMakeAbsolute',true);case"insertlayer":return tinyMCE.getButtonHTML(cn,'lang_layer_insertlayer_desc','{$pluginurl}/images/insertlayer.gif','mceInsertLayer',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertLayer":this._insertLayer();return true;case"mceMoveForward":this._move(1);return true;case"mceMoveBackward":this._move(-1);return true;case"mceMakeAbsolute":this._toggleAbsolute();return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id);var le=this._getParentLayer(inst.getFocusElement());var p=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');tinyMCE.switchClass(editor_id+'_absolute','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonDisabled');if(p)tinyMCE.switchClass(editor_id+'_absolute','mceButtonNormal');if(le&&le.style.position.toLowerCase()=="absolute"){tinyMCE.switchClass(editor_id+'_absolute','mceButtonSelected');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonNormal');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonNormal')}},_move:function(d){var inst=tinyMCE.selectedInstance,i,z=new Array();var le=this._getParentLayer(inst.getFocusElement()),ci=-1,fi=-1;var nl=tinyMCE.selectNodes(inst.getBody(),function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)});for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else nl[ci].style.zIndex=z[ci]+1}inst.repaint()},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)})},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne)},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance;var le=this._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top=""}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst)}inst.repaint();tinyMCE.triggerNodeChange()}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,248 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('layer');
+
+var TinyMCE_LayerPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Layer',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			inst.getDoc().execCommand('2D-Position');
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+		var w = inst.getWin(), le = inst._lastStyleElm, e;
+
+		if (tinyMCE.isGecko) {
+			e = this._getParentLayer(inst.getFocusElement());
+
+			if (e) {
+				if (!inst._lastStyleElm) {
+					e.style.overflow = 'auto';
+					inst._lastStyleElm = e;
+				}
+			} else if (le) {
+				le = inst._lastStyleElm;
+				le.style.width = le.scrollWidth + 'px';
+				le.style.height = le.scrollHeight + 'px';
+				le.style.overflow = '';
+				inst._lastStyleElm = null;
+			}
+		}
+
+		return true;
+	},
+
+	handleVisualAid : function(el, deep, state, inst) {
+		var nl = inst.getDoc().getElementsByTagName("div"), i;
+
+		for (i=0; i<nl.length; i++) {
+			if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
+				if (state)
+					tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
+				else
+					tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');					
+			}
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "moveforward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/moveforward.gif', 'mceMoveForward', true);
+
+			case "movebackward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/movebackward.gif', 'mceMoveBackward', true);
+
+			case "absolute":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
+
+			case "insertlayer":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insertlayer.gif', 'mceInsertLayer', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceInsertLayer":
+				this._insertLayer();
+				return true;
+
+			case "mceMoveForward":
+				this._move(1);
+				return true;
+
+			case "mceMoveBackward":
+				this._move(-1);
+				return true;
+
+			case "mceMakeAbsolute":
+				this._toggleAbsolute();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var le = this._getParentLayer(inst.getFocusElement());
+		var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
+
+		if (p)
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
+
+		if (le && le.style.position.toLowerCase() == "absolute") {
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin specific methods
+
+	_move : function(d) {
+		var inst = tinyMCE.selectedInstance, i, z = new Array();
+		var le = this._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
+		var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+
+		// Find z-indexes
+		for (i=0; i<nl.length; i++) {
+			z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
+
+			if (ci < 0 && nl[i] == le)
+				ci = i;
+		}
+
+		if (d < 0) {
+			// Move back
+
+			// Try find a lower one
+			for (i=0; i<z.length; i++) {
+				if (z[i] < z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else {
+				if (z[ci] > 0)
+					nl[ci].style.zIndex = z[ci] - 1;
+			}
+		} else {
+			// Move forward
+
+			// Try find a higher one
+			for (i=0; i<z.length; i++) {
+				if (z[i] > z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else
+				nl[ci].style.zIndex = z[ci] + 1;
+		}
+
+		inst.repaint();
+	},
+
+	_getParentLayer : function(n) {
+		return tinyMCE.getParentNode(n, function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+	},
+
+	_insertLayer : function() {
+		var inst = tinyMCE.selectedInstance;
+		var e = tinyMCE.getParentElement(inst.getFocusElement());
+		var p = tinyMCE.getAbsPosition(e);
+		var d = inst.getDoc();
+		var ne = d.createElement('div');
+		var h = inst.selection.getSelectedHTML();
+
+		// Move div
+		ne.style.position = 'absolute';
+		ne.style.left = p.absLeft + 'px';
+		ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
+		ne.style.width = '100px';
+		ne.style.height = '100px';
+		ne.className = 'mceVisualAid';
+
+		if (!h)
+			h = tinyMCE.getLang('lang_layer_content');
+
+		ne.innerHTML = h;
+
+		// Add it
+		d.body.appendChild(ne);
+	},
+
+	_toggleAbsolute : function() {
+		var inst = tinyMCE.selectedInstance;
+		var le = this._getParentLayer(inst.getFocusElement());
+
+		if (le == null)
+			le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		if (le) {
+			if (le.style.position.toLowerCase() == "absolute") {
+				le.style.position = "";
+				le.style.left = "";
+				le.style.top = "";
+			} else {
+				le.style.position = "absolute";
+
+				if (le.style.left == "")
+					le.style.left = 20 + 'px';
+
+				if (le.style.top == "")
+					le.style.top = 20 + 'px';
+
+				if (le.style.width == "")
+					le.style.width = le.width ? (le.width + 'px') : '100px';
+
+				if (le.style.height == "")
+					le.style.height = le.height ? (le.height + 'px') : '100px';
+
+				tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+			}
+
+			inst.repaint();
+			tinyMCE.triggerNodeChange();
+		}
+	}
+};
+
+tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+// UK lang variables
+
+tinyMCE.addToLang('layer',{
+insertlayer_desc : 'Insert new layer',
+forward_desc : 'Move forward',
+backward_desc : 'Move backward',
+absolute_desc : 'Toggle absolute positioning',
+content : 'New layer...'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {
+	border: 1px dotted #cc0000;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}
+
+.mceItemShockWave {
+	background-image: url('../images/shockwave.gif');
+}
+
+.mceItemFlash {
+	background-image: url('../images/flash.gif');
+}
+
+.mceItemQuickTime {
+	background-image: url('../images/quicktime.gif');
+}
+
+.mceItemWindowsMedia {
+	background-image: url('../images/windowsmedia.gif');
+}
+
+.mceItemRealMedia {
+	background-image: url('../images/realmedia.gif');
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+#id, #name, #hspace, #vspace, #class_name, #align {
+	width: 100px;
+}
+
+#hspace, #vspace {
+	width: 50px;
+}
+
+#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode {
+	width: 100px;
+}
+
+#flash_base, #flash_flashvars {
+	width: 240px;
+}
+
+#width, #height {
+	width: 40px;
+}
+
+#src, #media_type {
+	width: 250px;
+}
+
+#class {
+	width: 120px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px solid black;
+	width: 99%;
+	height: 230px;
+	overflow: auto;
+}
+
+.panel_wrapper div.current {
+	height: 390px;
+	overflow: auto;
+}
+
+#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options {
+	display: none;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume {
+	width: 70px;
+}
+
+#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume {
+	width: 70px;
+}
+
+#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks {
+	width: 70px;
+}
+
+#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle {
+	width: 90px;
+}
+
+#qt_qtsrc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('media');var TinyMCE_MediaPlugin={getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(inst.hasPlugin('flash')&&!tinyMCE.flashWarn){alert('Flash plugin is deprecated and should not be used together with the media plugin.');tinyMCE.flashWarn=true}if(!tinyMCE.settings['media_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/media/css/content.css")},getControlHTML:function(cn){switch(cn){case"media":return tinyMCE.getButtonHTML(cn,'lang_media_desc','{$pluginurl}/images/media.gif','mceMedia')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceMedia":tinyMCE.openWindow({file:'../../plugins/media/media.htm',width:430+tinyMCE.getLang('lang_media_delta_width',0),height:470+tinyMCE.getLang('lang_media_delta_height',0)},{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content,inst){var nl,img,i,ne,d,s,ci;switch(type){case"insert_to_editor":img=tinyMCE.getParam("theme_href")+'/images/spacer.gif';content=content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,'<img class="mceItem$1" title="$2" src="'+img+'" />');content=content.replace(/<object([^>]*)>/gi,'<div class="mceItemObject" $1>');content=content.replace(/<embed([^>]*)>/gi,'<div class="mceItemObjectEmbed" $1>');content=content.replace(/<\/(object|embed)([^>]*)>/gi,'</div>');content=content.replace(/<param([^>]*)>/gi,'<div $1 class="mceItemParam"></div>');content=content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>','gi'),'class="mceItemParam"></div>');break;case"insert_to_editor_dom":d=inst.getDoc();nl=content.getElementsByTagName("img");for(i=0;i<nl.length;i++){if(/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)){nl[i].width=nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g,'$1');nl[i].height=nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g,'$1');}}nl=tinyMCE.selectElements(content,'DIV',function(n){return tinyMCE.hasCSSClass(n,'mceItemObject')});for(i=0;i<nl.length;i++){ci=tinyMCE.getAttrib(nl[i],"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash',d,nl[i]),nl[i]);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave',d,nl[i]),nl[i]);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia',d,nl[i]),nl[i]);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime',d,nl[i]),nl[i]);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia',d,nl[i]),nl[i]);break}}nl=tinyMCE.selectNodes(content,function(n){return n.className=='mceItemObjectEmbed'});for(i=0;i<nl.length;i++){switch(tinyMCE.getAttrib(nl[i],'type')){case'application/x-shockwave-flash':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemFlash');break;case'application/x-director':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemShockWave');break;case'application/x-mplayer2':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemWindowsMedia');break;case'video/quicktime':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemQuickTime');break;case'audio/x-pn-realaudio-plugin':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemRealMedia');break}}break;case"get_from_editor":var startPos=-1,endPos,attribs,chunkBefore,chunkAfter,embedHTML,at,pl,cb,mt,ex;while((startPos=content.indexOf('<img',startPos+1))!=-1){endPos=content.indexOf('/>',startPos);attribs=TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos+4,endPos));if(!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))continue;endPos+=2;at=attribs['title'];if(at){at=at.replace(/&(#39|apos);/g,"'");at=at.replace(/&#quot;/g,'"');try{pl=eval('x={'+at+'};')}catch(ex){pl={}}}if(!tinyMCE.getParam('media_use_script',false)){switch(attribs['class']){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166B1BCA-3F9C-11CF-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=tinyMCE.getParam('media_wmp6_compatible')?'05589FA1-C356-11CE-BF01-00AA0055595A':'6BF52A52-394A-11D3-B153-00C04F79FAA6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break}if(!tinyMCE.getParam("relative_urls"))pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);embedHTML=TinyMCE_MediaPlugin._getEmbed(ci,cb,mt,pl,attribs)}else{switch(attribs['class']){case'mceItemFlash':s='writeFlash';break;case'mceItemShockWave':s='writeShockWave';break;case'mceItemWindowsMedia':s='writeWindowsMedia';break;case'mceItemQuickTime':s='writeQuickTime';break;case'mceItemRealMedia':s='writeRealMedia';break}if(attribs.width)at=at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g,"width:'"+attribs.width+"'");if(attribs.height)at=at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g,"height:'"+attribs.height+"'");if(!tinyMCE.getParam("relative_urls")){pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);at=at.replace(new RegExp("src:'[^']*'","g"),"src:'"+pl.src+"'")}embedHTML='<script type="text/javascript">'+s+'({'+at+'});</script>'}chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node,'class'))){tinyMCE.switchClass(editor_id+'_media','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_media','mceButtonNormal');return true},_createImgFromEmbed:function(n,d,cl){var ne,at,i,ti='',an;ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;at=n.attributes;for(i=0;i<at.length;i++){if(at[i].specified&&at[i].nodeValue){an=at[i].nodeName.toLowerCase();if(an=='src')continue;if(an=='mce_src')an='src';if(an.indexOf('mce_')==-1&&!new RegExp('^(class|type)$').test(an))ti+=an.toLowerCase()+':\''+at[i].nodeValue+"',"}}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;n.parentNode.replaceChild(ne,n)},_createImg:function(cl,d,n){var i,nl,ti="",an,av,al=new Array();ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;al.id=tinyMCE.getAttrib(n,'id');al.name=tinyMCE.getAttrib(n,'name');al.width=tinyMCE.getAttrib(n,'width');al.height=tinyMCE.getAttrib(n,'height');al.bgcolor=tinyMCE.getAttrib(n,'bgcolor');al.align=tinyMCE.getAttrib(n,'align');al.class_name=tinyMCE.getAttrib(n,'mce_class');nl=n.getElementsByTagName('div');for(i=0;i<nl.length;i++){av=tinyMCE.getAttrib(nl[i],'value');av=av.replace(new RegExp('\\\\','g'),'\\\\');av=av.replace(new RegExp('"','g'),'\\"');av=av.replace(new RegExp("'",'g'),"\\'");an=tinyMCE.getAttrib(nl[i],'name');al[an]=av}if(al.movie){al.src=al.movie;al.movie=null}for(an in al){if(al[an]!=null&&typeof(al[an])!="function"&&al[an]!='')ti+=an.toLowerCase()+':\''+al[an]+"',"}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;return ne},_getEmbed:function(cls,cb,mt,p,at){var h='',n;p.width=at.width?at.width:p.width;p.height=at.height?at.height:p.height;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?' id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?' name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?' width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?' height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?' align="'+p.align+'"':'';h+='>';for(n in p){if(p[n]&&typeof(p[n])!="function"){h+='<param name="'+n+'" value="'+p[n]+'" />';if(n=='src'&&p[n].indexOf('://')!=-1&&mt=='application/x-mplayer2')h+='<param name="url" value="'+p[n]+'" />'}}h+='<embed type="'+mt+'"';for(n in p){if(typeof(p[n])=="function")continue;if(!(n=='url'&&mt=='application/x-mplayer2'))h+=' '+n+'="'+p[n]+'"'}h+='></embed></object>';return h},_parseAttributes:function(attribute_string){var attributeName="",endChr='"';var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue){withInValue=true;endChr=chr}else if(chr==endChr&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("media",TinyMCE_MediaPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,435 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('media');
+
+var TinyMCE_MediaPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Media',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Warn if user has flash plugin and media plugin at the same time
+		if (inst.hasPlugin('flash') && !tinyMCE.flashWarn) {
+			alert('Flash plugin is deprecated and should not be used together with the media plugin.');
+			tinyMCE.flashWarn = true;
+		}
+
+		if (!tinyMCE.settings['media_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/media/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "media":
+				return tinyMCE.getButtonHTML(cn, 'lang_media_desc', '{$pluginurl}/images/media.gif', 'mceMedia');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceMedia":
+				tinyMCE.openWindow({
+						file : '../../plugins/media/media.htm',
+						width : 430 + tinyMCE.getLang('lang_media_delta_width', 0),
+						height : 470 + tinyMCE.getLang('lang_media_delta_height', 0)
+					}, {
+						editor_id : editor_id,
+						inline : "yes"
+				});
+
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nl, img, i, ne, d, s, ci;
+
+		switch (type) {
+			case "insert_to_editor":
+				img = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+				content = content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, '<img class="mceItem$1" title="$2" src="' + img + '" />');
+				content = content.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>');
+				content = content.replace(/<embed([^>]*)>/gi, '<div class="mceItemObjectEmbed" $1>');
+				content = content.replace(/<\/(object|embed)([^>]*)>/gi, '</div>');
+				content = content.replace(/<param([^>]*)>/gi, '<div $1 class="mceItemParam"></div>');
+				content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam"></div>');
+				break;
+
+			case "insert_to_editor_dom":
+				d = inst.getDoc();
+				nl = content.getElementsByTagName("img");
+				for (i=0; i<nl.length; i++) {
+					if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)) {
+						nl[i].width = nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g, '$1');
+						nl[i].height = nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g, '$1');
+						//nl[i].align = nl[i].title.replace(/.*align:([a-z]+).*/gi, '$1');
+					}
+				}
+
+				nl = tinyMCE.selectElements(content, 'DIV', function (n) {return tinyMCE.hasCSSClass(n, 'mceItemObject');});
+				for (i=0; i<nl.length; i++) {
+					ci = tinyMCE.getAttrib(nl[i], "classid").toLowerCase().replace(/\s+/g, '');
+
+					switch (ci) {
+						case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:166b1bca-3f9c-11cf-8075-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':
+						case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':
+						case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia', d, nl[i]), nl[i]);
+							break;
+					}
+				}
+
+				// Handle embed (if any)
+				nl = tinyMCE.selectNodes(content, function (n) {return n.className == 'mceItemObjectEmbed';});
+				for (i=0; i<nl.length; i++) {
+					switch (tinyMCE.getAttrib(nl[i], 'type')) {
+						case 'application/x-shockwave-flash':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemFlash');
+							break;
+
+						case 'application/x-director':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemShockWave');
+							break;
+
+						case 'application/x-mplayer2':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemWindowsMedia');
+							break;
+
+						case 'video/quicktime':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemQuickTime');
+							break;
+
+						case 'audio/x-pn-realaudio-plugin':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemRealMedia');
+							break;
+					}
+				}
+				break;
+
+			case "get_from_editor":
+				var startPos = -1, endPos, attribs, chunkBefore, chunkAfter, embedHTML, at, pl, cb, mt, ex;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					endPos = content.indexOf('/>', startPos);
+					attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))
+						continue;
+
+					endPos += 2;
+
+					// Parse attributes
+					at = attribs['title'];
+					if (at) {
+						at = at.replace(/&(#39|apos);/g, "'");
+						at = at.replace(/&#quot;/g, '"');
+
+						try {
+							pl = eval('x={' + at + '};');
+						} catch (ex) {
+							pl = {};
+						}
+					}
+
+					// Use object/embed
+					if (!tinyMCE.getParam('media_use_script', false)) {
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'application/x-shockwave-flash';
+								break;
+
+							case 'mceItemShockWave':
+								ci = '166B1BCA-3F9C-11CF-8075-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+								mt = 'application/x-director';
+								break;
+
+							case 'mceItemWindowsMedia':
+								ci = tinyMCE.getParam('media_wmp6_compatible') ? '05589FA1-C356-11CE-BF01-00AA0055595A' : '6BF52A52-394A-11D3-B153-00C04F79FAA6';
+								cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+								mt = 'application/x-mplayer2';
+								break;
+
+							case 'mceItemQuickTime':
+								ci = '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+								cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+								mt = 'video/quicktime';
+								break;
+
+							case 'mceItemRealMedia':
+								ci = 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'audio/x-pn-realaudio-plugin';
+								break;
+						}
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls"))
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+
+						embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs);
+					} else {
+						// Use script version
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								s = 'writeFlash';
+								break;
+
+							case 'mceItemShockWave':
+								s = 'writeShockWave';
+								break;
+
+							case 'mceItemWindowsMedia':
+								s = 'writeWindowsMedia';
+								break;
+
+							case 'mceItemQuickTime':
+								s = 'writeQuickTime';
+								break;
+
+							case 'mceItemRealMedia':
+								s = 'writeRealMedia';
+								break;
+						}
+
+						if (attribs.width)
+							at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'");
+
+						if (attribs.height)
+							at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'");
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls")) {
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+							at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'");
+						}
+
+						embedHTML = '<script type="text/javascript">' + s + '({' + at + '});</script>';
+					}
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) {
+				tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal');
+
+		return true;
+	},
+
+	_createImgFromEmbed : function(n, d, cl) {
+		var ne, at, i, ti = '', an;
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		at = n.attributes;
+		for (i=0; i<at.length; i++) {
+			if (at[i].specified && at[i].nodeValue) {
+				an = at[i].nodeName.toLowerCase();
+
+				if (an == 'src')
+					continue;
+
+				if (an == 'mce_src')
+					an = 'src';
+
+				if (an.indexOf('mce_') == -1 && !new RegExp('^(class|type)$').test(an))
+					ti += an.toLowerCase() + ':\'' + at[i].nodeValue + "',";
+			}
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		n.parentNode.replaceChild(ne, n);
+	},
+
+	_createImg : function(cl, d, n) {
+		var i, nl, ti = "", an, av, al = new Array();
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		al.id = tinyMCE.getAttrib(n, 'id');
+		al.name = tinyMCE.getAttrib(n, 'name');
+		al.width = tinyMCE.getAttrib(n, 'width');
+		al.height = tinyMCE.getAttrib(n, 'height');
+		al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor');
+		al.align = tinyMCE.getAttrib(n, 'align');
+		al.class_name = tinyMCE.getAttrib(n, 'mce_class');
+
+		nl = n.getElementsByTagName('div');
+		for (i=0; i<nl.length; i++) {
+			av = tinyMCE.getAttrib(nl[i], 'value');
+			av = av.replace(new RegExp('\\\\', 'g'), '\\\\');
+			av = av.replace(new RegExp('"', 'g'), '\\"');
+			av = av.replace(new RegExp("'", 'g'), "\\'");
+			an = tinyMCE.getAttrib(nl[i], 'name');
+			al[an] = av;
+		}
+
+		if (al.movie) {
+			al.src = al.movie;
+			al.movie = null;
+		}
+
+		for (an in al) {
+			if (al[an] != null && typeof(al[an]) != "function" && al[an] != '')
+				ti += an.toLowerCase() + ':\'' + al[an] + "',";
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		return ne;
+	},
+
+	_getEmbed : function(cls, cb, mt, p, at) {
+		var h = '', n;
+
+		p.width = at.width ? at.width : p.width;
+		p.height = at.height ? at.height : p.height;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? ' id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? ' name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? ' width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? ' height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? ' align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p) {
+			if (p[n] && typeof(p[n]) != "function") {
+				h += '<param name="' + n + '" value="' + p[n] + '" />';
+
+				// Add extra url parameter if it's an absolute URL on WMP
+				if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2')
+					h += '<param name="url" value="' + p[n] + '" />';
+			}
+		}
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p) {
+			if (typeof(p[n]) == "function")
+				continue;
+
+			// Skip url parameter for embed tag on WMP
+			if (!(n == 'url' && mt == 'application/x-mplayer2'))
+				h += ' ' + n + '="' + p[n] + '"';
+		}
+
+		h += '></embed></object>';
+
+		return h;
+	},
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "", endChr = '"';
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue) {
+				withInValue = true;
+				endChr = chr;
+			} else if (chr == endChr && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("media", TinyMCE_MediaPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,572 @@
+var oldWidth, oldHeight;
+var url = tinyMCE.getParam("media_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	var pl = "", f, val;
+	var type = "flash", fe, i;
+
+	tinyMCEPopup.resizeToInnerSize();
+	f = document.forms[0]
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		pl = "x={" + fe.title + "};";
+
+		switch (tinyMCE.getAttrib(fe, 'class')) {
+			case 'mceItemFlash':
+				type = 'flash';
+				break;
+
+			case 'mceItemShockWave':
+				type = 'shockwave';
+				break;
+
+			case 'mceItemWindowsMedia':
+				type = 'wmp';
+				break;
+
+			case 'mceItemQuickTime':
+				type = 'qt';
+				break;
+
+			case 'mceItemRealMedia':
+				type = 'rmp';
+				break;
+		}
+
+		document.forms[0].insert.value = tinyMCE.getLang('lang_update', 'Insert', true); 
+	}
+
+	document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
+	document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var html = getMediaListHTML('filebrowser','src','media','media');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('filebrowsercontainer'))
+		document.getElementById('src').style.width = '230px';
+
+	// Setup form
+	if (pl != "") {
+		pl = eval(pl);
+
+		switch (type) {
+			case "flash":
+				setBool(pl, 'flash', 'play');
+				setBool(pl, 'flash', 'loop');
+				setBool(pl, 'flash', 'menu');
+				setBool(pl, 'flash', 'swliveconnect');
+				setStr(pl, 'flash', 'quality');
+				setStr(pl, 'flash', 'scale');
+				setStr(pl, 'flash', 'salign');
+				setStr(pl, 'flash', 'wmode');
+				setStr(pl, 'flash', 'base');
+				setStr(pl, 'flash', 'flashvars');
+			break;
+
+			case "qt":
+				setBool(pl, 'qt', 'loop');
+				setBool(pl, 'qt', 'autoplay');
+				setBool(pl, 'qt', 'cache');
+				setBool(pl, 'qt', 'controller');
+				setBool(pl, 'qt', 'correction');
+				setBool(pl, 'qt', 'enablejavascript');
+				setBool(pl, 'qt', 'kioskmode');
+				setBool(pl, 'qt', 'autohref');
+				setBool(pl, 'qt', 'playeveryframe');
+				setBool(pl, 'qt', 'tarsetcache');
+				setStr(pl, 'qt', 'scale');
+				setStr(pl, 'qt', 'starttime');
+				setStr(pl, 'qt', 'endtime');
+				setStr(pl, 'qt', 'tarset');
+				setStr(pl, 'qt', 'qtsrcchokespeed');
+				setStr(pl, 'qt', 'volume');
+				setStr(pl, 'qt', 'qtsrc');
+			break;
+
+			case "shockwave":
+				setBool(pl, 'shockwave', 'sound');
+				setBool(pl, 'shockwave', 'progress');
+				setBool(pl, 'shockwave', 'autostart');
+				setBool(pl, 'shockwave', 'swliveconnect');
+				setStr(pl, 'shockwave', 'swvolume');
+				setStr(pl, 'shockwave', 'swstretchstyle');
+				setStr(pl, 'shockwave', 'swstretchhalign');
+				setStr(pl, 'shockwave', 'swstretchvalign');
+			break;
+
+			case "wmp":
+				setBool(pl, 'wmp', 'autostart');
+				setBool(pl, 'wmp', 'enabled');
+				setBool(pl, 'wmp', 'enablecontextmenu');
+				setBool(pl, 'wmp', 'fullscreen');
+				setBool(pl, 'wmp', 'invokeurls');
+				setBool(pl, 'wmp', 'mute');
+				setBool(pl, 'wmp', 'stretchtofit');
+				setBool(pl, 'wmp', 'windowlessvideo');
+				setStr(pl, 'wmp', 'balance');
+				setStr(pl, 'wmp', 'baseurl');
+				setStr(pl, 'wmp', 'captioningid');
+				setStr(pl, 'wmp', 'currentmarker');
+				setStr(pl, 'wmp', 'currentposition');
+				setStr(pl, 'wmp', 'defaultframe');
+				setStr(pl, 'wmp', 'playcount');
+				setStr(pl, 'wmp', 'rate');
+				setStr(pl, 'wmp', 'uimode');
+				setStr(pl, 'wmp', 'volume');
+			break;
+
+			case "rmp":
+				setBool(pl, 'rmp', 'autostart');
+				setBool(pl, 'rmp', 'loop');
+				setBool(pl, 'rmp', 'autogotourl');
+				setBool(pl, 'rmp', 'center');
+				setBool(pl, 'rmp', 'imagestatus');
+				setBool(pl, 'rmp', 'maintainaspect');
+				setBool(pl, 'rmp', 'nojava');
+				setBool(pl, 'rmp', 'prefetch');
+				setBool(pl, 'rmp', 'shuffle');
+				setStr(pl, 'rmp', 'console');
+				setStr(pl, 'rmp', 'controls');
+				setStr(pl, 'rmp', 'numloop');
+				setStr(pl, 'rmp', 'scriptcallbacks');
+			break;
+		}
+
+		setStr(pl, null, 'src');
+		setStr(pl, null, 'id');
+		setStr(pl, null, 'name');
+		setStr(pl, null, 'vspace');
+		setStr(pl, null, 'hspace');
+		setStr(pl, null, 'bgcolor');
+		setStr(pl, null, 'align');
+		setStr(pl, null, 'width');
+		setStr(pl, null, 'height');
+
+		if ((val = tinyMCE.getAttrib(fe, "width")) != "")
+			pl.width = f.width.value = val;
+
+		if ((val = tinyMCE.getAttrib(fe, "height")) != "")
+			pl.height = f.height.value = val;
+
+		oldWidth = pl.width ? parseInt(pl.width) : 0;
+		oldHeight = pl.height ? parseInt(pl.height) : 0;
+	} else
+		oldWidth = oldHeight = 0;
+
+	selectByValue(f, 'media_type', type);
+	changedType(type);
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	TinyMCE_EditableSelects.init();
+	generatePreview();
+}
+
+function insertMedia() {
+	var fe, f = document.forms[0], h;
+
+	if (!AutoValidator.validate(f)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	f.width.value = f.width.value == "" ? 100 : f.width.value;
+	f.height.value = f.height.value == "" ? 100 : f.height.value;
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				fe.className = "mceItemFlash";
+				break;
+
+			case "shockwave":
+				fe.className = "mceItemShockWave";
+				break;
+
+			case "qt":
+				fe.className = "mceItemQuickTime";
+				break;
+
+			case "wmp":
+				fe.className = "mceItemWindowsMedia";
+				break;
+
+			case "rmp":
+				fe.className = "mceItemRealMedia";
+				break;
+		}
+
+		if (fe.width != f.width.value || fe.height != f.width.height)
+			tinyMCE.selectedInstance.repaint();
+
+		fe.title = serializeParameters();
+		fe.width = f.width.value;
+		fe.height = f.height.value;
+		fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : '');
+		fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : '');
+		fe.align = f.align.options[f.align.selectedIndex].value;
+	} else {
+		h = '<img src="' + tinyMCE.getParam("theme_href") + '/images/spacer.gif"' ;
+
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				h += ' class="mceItemFlash"';
+				break;
+
+			case "shockwave":
+				h += ' class="mceItemShockWave"';
+				break;
+
+			case "qt":
+				h += ' class="mceItemQuickTime"';
+				break;
+
+			case "wmp":
+				h += ' class="mceItemWindowsMedia"';
+				break;
+
+			case "rmp":
+				h += ' class="mceItemRealMedia"';
+				break;
+		}
+
+		h += ' title="' + serializeParameters() + '"';
+		h += ' width="' + f.width.value + '"';
+		h += ' height="' + f.height.value + '"';
+		h += ' align="' + f.align.options[f.align.selectedIndex].value + '"';
+
+		h += ' />';
+
+		tinyMCE.selectedInstance.execCommand('mceInsertContent', false, h);
+	}
+
+	tinyMCEPopup.close();
+}
+
+function getMediaListHTML() {
+	if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.src.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEMediaList.length; i++)
+			html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function getType(v) {
+	var fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'), i, c, el, x;
+
+	for (i=0; i<fo.length; i++) {
+		c = fo[i].split('=');
+
+		el = c[1].split(',');
+		for (x=0; x<el.length; x++)
+		if (v.indexOf('.' + el[x]) != -1)
+			return c[0];
+	}
+
+	return null;
+}
+
+function switchType(v) {
+	var t = getType(v), d = document, f = d.forms[0];
+
+	if (!t)
+		return;
+
+	selectByValue(d.forms[0], 'media_type', t);
+	changedType(t);
+
+	// Update qtsrc also
+	if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
+		alert(tinyMCE.getLang("lang_media_qt_stream_warn"));
+
+		if (f.qt_qtsrc.value == '')
+			f.qt_qtsrc.value = f.src.value;
+	}
+}
+
+function changedType(t) {
+	var d = document;
+
+	d.getElementById('flash_options').style.display = 'none';
+	d.getElementById('qt_options').style.display = 'none';
+	d.getElementById('shockwave_options').style.display = 'none';
+	d.getElementById('wmp_options').style.display = 'none';
+	d.getElementById('rmp_options').style.display = 'none';
+	d.getElementById(t + '_options').style.display = 'block';
+}
+
+function serializeParameters() {
+	var d = document, f = d.forms[0], s = '';
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			s += getBool('flash', 'play', true);
+			s += getBool('flash', 'loop', true);
+			s += getBool('flash', 'menu', true);
+			s += getBool('flash', 'swliveconnect', false);
+			s += getStr('flash', 'quality');
+			s += getStr('flash', 'scale');
+			s += getStr('flash', 'salign');
+			s += getStr('flash', 'wmode');
+			s += getStr('flash', 'base');
+			s += getStr('flash', 'flashvars');
+		break;
+
+		case "qt":
+			s += getBool('qt', 'loop', false);
+			s += getBool('qt', 'autoplay', false);
+			s += getBool('qt', 'cache', false);
+			s += getBool('qt', 'controller', true);
+			s += getBool('qt', 'correction', false, 'none', 'full');
+			s += getBool('qt', 'enablejavascript', false);
+			s += getBool('qt', 'kioskmode', false);
+			s += getBool('qt', 'autohref', false);
+			s += getBool('qt', 'playeveryframe', false);
+			s += getBool('qt', 'targetcache', false);
+			s += getStr('qt', 'scale');
+			s += getStr('qt', 'starttime');
+			s += getStr('qt', 'endtime');
+			s += getStr('qt', 'target');
+			s += getStr('qt', 'qtsrcchokespeed');
+			s += getStr('qt', 'volume');
+			s += getStr('qt', 'qtsrc');
+		break;
+
+		case "shockwave":
+			s += getBool('shockwave', 'sound');
+			s += getBool('shockwave', 'progress');
+			s += getBool('shockwave', 'autostart');
+			s += getBool('shockwave', 'swliveconnect');
+			s += getStr('shockwave', 'swvolume');
+			s += getStr('shockwave', 'swstretchstyle');
+			s += getStr('shockwave', 'swstretchhalign');
+			s += getStr('shockwave', 'swstretchvalign');
+		break;
+
+		case "wmp":
+			s += getBool('wmp', 'autostart', true);
+			s += getBool('wmp', 'enabled', false);
+			s += getBool('wmp', 'enablecontextmenu', true);
+			s += getBool('wmp', 'fullscreen', false);
+			s += getBool('wmp', 'invokeurls', true);
+			s += getBool('wmp', 'mute', false);
+			s += getBool('wmp', 'stretchtofit', false);
+			s += getBool('wmp', 'windowlessvideo', false);
+			s += getStr('wmp', 'balance');
+			s += getStr('wmp', 'baseurl');
+			s += getStr('wmp', 'captioningid');
+			s += getStr('wmp', 'currentmarker');
+			s += getStr('wmp', 'currentposition');
+			s += getStr('wmp', 'defaultframe');
+			s += getStr('wmp', 'playcount');
+			s += getStr('wmp', 'rate');
+			s += getStr('wmp', 'uimode');
+			s += getStr('wmp', 'volume');
+		break;
+
+		case "rmp":
+			s += getBool('rmp', 'autostart', false);
+			s += getBool('rmp', 'loop', false);
+			s += getBool('rmp', 'autogotourl', true);
+			s += getBool('rmp', 'center', false);
+			s += getBool('rmp', 'imagestatus', true);
+			s += getBool('rmp', 'maintainaspect', false);
+			s += getBool('rmp', 'nojava', false);
+			s += getBool('rmp', 'prefetch', false);
+			s += getBool('rmp', 'shuffle', false);
+			s += getStr('rmp', 'console');
+			s += getStr('rmp', 'controls');
+			s += getStr('rmp', 'numloop');
+			s += getStr('rmp', 'scriptcallbacks');
+		break;
+	}
+
+	s += getStr(null, 'id');
+	s += getStr(null, 'name');
+	s += getStr(null, 'src');
+	s += getStr(null, 'align');
+	s += getStr(null, 'bgcolor');
+	s += getInt(null, 'vspace');
+	s += getInt(null, 'hspace');
+	s += getStr(null, 'width');
+	s += getStr(null, 'height');
+
+	s = s.length > 0 ? s.substring(0, s.length - 1) : s;
+
+	return s;
+}
+
+function setBool(pl, p, n) {
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	document.forms[0].elements[p + "_" + n].checked = pl[n];
+}
+
+function setStr(pl, p, n) {
+	var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n];
+
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	if (e.type == "text")
+		e.value = pl[n];
+	else
+		selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]);
+}
+
+function getBool(p, n, d, tv, fv) {
+	var v = document.forms[0].elements[p + "_" + n].checked;
+
+	tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'";
+	fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'";
+
+	return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ',');
+}
+
+function getStr(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',");
+}
+
+function getInt(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ",");
+}
+
+function jsEncode(s) {
+	s = s.replace(new RegExp('\\\\', 'g'), '\\\\');
+	s = s.replace(new RegExp('"', 'g'), '\\"');
+	s = s.replace(new RegExp("'", 'g'), "\\'");
+
+	return s;
+}
+
+function generatePreview(c) {
+	var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh;
+
+	p.innerHTML = '<!-- x --->';
+
+	nw = parseInt(f.width.value);
+	nh = parseInt(f.height.value);
+
+	if (f.width.value != "" && f.height.value != "") {
+		if (f.constrain.checked) {
+			if (c == 'width' && oldWidth != 0) {
+				wp = nw / oldWidth;
+				nh = Math.round(wp * nh);
+				f.height.value = nh;
+			} else if (c == 'height' && oldHeight != 0) {
+				hp = nh / oldHeight;
+				nw = Math.round(hp * nw);
+				f.width.value = nw;
+			}
+		}
+	}
+
+	if (f.width.value != "")
+		oldWidth = nw;
+
+	if (f.height.value != "")
+		oldHeight = nh;
+
+	// After constrain
+	pl = serializeParameters();
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+			type = 'application/x-shockwave-flash';
+			break;
+
+		case "shockwave":
+			cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+			type = 'application/x-director';
+			break;
+
+		case "qt":
+			cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+			codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+			type = 'video/quicktime';
+			break;
+
+		case "wmp":
+			cls = tinyMCE.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'application/x-mplayer2';
+			break;
+
+		case "rmp":
+			cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'audio/x-pn-realaudio-plugin';
+			break;
+	}
+
+	if (pl == '') {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl = eval('x={' + pl + '};');
+
+	if (!pl.src) {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+	pl.width = !pl.width ? 100 : pl.width;
+	pl.height = !pl.height ? 100 : pl.height;
+	pl.id = !pl.id ? 'obj' : pl.id;
+	pl.name = !pl.name ? 'eobj' : pl.name;
+	pl.align = !pl.align ? '' : pl.align;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
+
+	for (n in pl) {
+		h += '<param name="' + n + '" value="' + pl[n] + '">';
+
+		// Add extra url parameter if it's an absolute URL
+		if (n == 'src' && pl[n].indexOf('://') != -1)
+			h += '<param name="url" value="' + pl[n] + '" />';
+	}
+
+	h += '<embed type="' + type + '" ';
+
+	for (n in pl)
+		h += n + '="' + pl[n] + '" ';
+
+	h += '></embed></object>';
+
+	p.innerHTML = "<!-- x --->" + h;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+// UK lang variables
+
+tinyMCE.addToLang('media',{
+title : 'Insert / edit embedded media',
+desc : 'Insert / edit embedded media',
+general : 'General',
+advanced : 'Advanced',
+file : 'File',
+list : 'List',
+size : 'Dimensions',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+type : 'Type',
+id : 'Id',
+name : 'Name',
+class_name : 'Class',
+vspace : 'V-Space',
+hspace : 'H-Space',
+play : 'Auto play',
+loop : 'Loop',
+menu : 'Show menu',
+quality : 'Quality',
+scale : 'Scale',
+align : 'Align',
+salign : 'SAlign',
+wmode : 'WMode',
+bgcolor : 'Background',
+base : 'Base',
+flashvars : 'Flashvars',
+liveconnect : 'SWLiveConnect',
+autohref : 'AutoHREF',
+cache : 'Cache',
+hidden : 'Hidden',
+controller : 'Controller',
+kioskmode : 'Kiosk mode',
+playeveryframe : 'Play every frame',
+targetcache : 'Target cache',
+correction : 'No correction',
+enablejavascript : 'Enable JavaScript',
+starttime : 'Start time',
+endtime : 'End time',
+href : 'Href',
+qtsrcchokespeed : 'Choke speed',
+target : 'Target',
+volume : 'Volume',
+autostart : 'Auto start',
+enabled : 'Enabled',
+fullscreen : 'Fullscreen',
+invokeurls : 'Invoke URLs',
+mute : 'Mute',
+stretchtofit : 'Stretch to fit',
+windowlessvideo : 'Windowless video',
+balance : 'Balance',
+baseurl : 'Base URL',
+captioningid : 'Captioning id',
+currentmarker : 'Current marker',
+currentposition : 'Current position',
+defaultframe : 'Default frame',
+playcount : 'Play count',
+rate : 'Rate',
+uimode : 'UI Mode',
+flash_options : 'Flash options',
+qt_options : 'Quicktime options',
+wmp_options : 'Windows media player options',
+rmp_options : 'Real media player options',
+shockwave_options : 'Shockwave options',
+autogotourl : 'Auto goto URL',
+center : 'Center',
+imagestatus : 'Image status',
+maintainaspect : 'Maintain aspect',
+nojava : 'No java',
+prefetch : 'Prefetch',
+shuffle : 'Shuffle',
+console : 'Console',
+numloop : 'Num loops',
+controls : 'Controls',
+scriptcallbacks : 'Script callbacks',
+swstretchstyle : 'Stretch style',
+swstretchhalign : 'Stretch H-Align',
+swstretchvalign : 'Stretch V-Align',
+sound : 'Sound',
+progress : 'Progress',
+qtsrc : 'QT Src',
+qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
+align_top : 'Top',
+align_right : 'Right',
+align_bottom : 'Bottom',
+align_left : 'Left',
+align_center : 'Center',
+align_top_left : 'Top left',
+align_top_right : 'Top right',
+align_bottom_left : 'Bottom left',
+align_bottom_right : 'Bottom right'
+});
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,723 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_media_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/media.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<link href="css/media.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertMedia();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{$lang_media_general}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_media_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_media_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+								<td><label for="media_type">{$lang_media_type}</label></td>
+								<td>
+									<select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();">
+										<option value="flash">Flash</option>
+										<option value="qt">Quicktime</option>
+										<option value="shockwave">Shockware</option>
+										<option value="wmp">Windows Media</option>
+										<option value="rmp">Real Media</option>
+									</select>
+								</td>
+							</tr>
+							<tr>
+							<td><label for="src">{$lang_media_file}</label></td>
+							  <td>
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="src" name="src" type="text" value="" onchange="switchType(this.value);generatePreview();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_media_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td><label for="width">{$lang_media_size}</label></td>
+								<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size"  onchange="generatePreview('height');" /></td>
+										<td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_media_constrain_proportions}</label></td>
+									</tr>
+								</table>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_media_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_media_advanced}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+						<tr>
+							<td><label for="id">{$lang_media_id}</label></td>
+							<td><input type="text" id="id" name="id" onchange="generatePreview();" /></td>
+							<td><label for="name">{$lang_media_name}</label></td>
+							<td><input type="text" id="name" name="name" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_media_align}</label></td>
+							<td>
+								<select id="align" name="align" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="top">{$lang_media_align_top}</option>
+									<option value="right">{$lang_media_align_right}</option>
+									<option value="bottom">{$lang_media_align_bottom}</option>
+									<option value="left">{$lang_media_align_left}</option>
+								</select>
+							</td>
+
+							<td><label for="bgcolor">{$lang_media_bgcolor}</label></td>
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="vspace">{$lang_media_vspace}</label></td>
+							<td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td>
+							<td><label for="hspace">{$lang_media_hspace}</label></td>
+							<td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="flash_options">
+					<legend>{$lang_media_flash_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="flash_quality">{$lang_media_quality}</label></td>
+							<td>
+								<select id="flash_quality" name="flash_quality" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="high">high</option>
+									<option value="low">low</option>
+									<option value="autolow">autolow</option>
+									<option value="autohigh">autohigh</option>
+									<option value="best">best</option>
+								</select>
+							</td>
+
+							<td><label for="flash_scale">{$lang_media_scale}</label></td>
+							<td>
+								<select id="flash_scale" name="flash_scale" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="showall">showall</option>
+									<option value="noborder">noborder</option>
+									<option value="exactfit">exactfit</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_wmode">{$lang_media_wmode}</label></td>
+							<td>
+								<select id="flash_wmode" name="flash_wmode" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="window">window</option>
+									<option value="opaque">opaque</option>
+									<option value="transparent">transparent</option>
+								</select>
+							</td>
+
+							<td><label for="flash_salign">{$lang_media_salign}</label></td>
+							<td>
+								<select id="flash_salign" name="flash_salign" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="l">{$lang_media_align_left}</option>
+									<option value="t">{$lang_media_align_top}</option>
+									<option value="r">{$lang_media_align_right}</option>
+									<option value="b">{$lang_media_align_bottom}</option>
+									<option value="tl">{$lang_media_align_top_left}</option>
+									<option value="tr">{$lang_media_align_top_right}</option>
+									<option value="bl">{$lang_media_align_bottom_left}</option>
+									<option value="br">{$lang_media_align_bottom_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_play">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_menu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="flash_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+
+					<table>
+						<tr>
+							<td><label for="flash_base">{$lang_media_base}</label></td>
+							<td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_flashvars">{$lang_media_flashvars}</label></td>
+							<td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="qt_options">
+					<legend>{$lang_media_qt_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td>
+										<td><label for="qt_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" onchange="generatePreview();" /></td>
+										<td><label for="qt_autoplay">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td>
+										<td><label for="qt_cache">{$lang_media_cache}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="qt_controller">{$lang_media_controller}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td>
+										<td><label for="qt_correction">{$lang_media_correction}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td>
+										<td><label for="qt_enablejavascript">{$lang_media_enablejavascript}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td>
+										<td><label for="qt_kioskmode">{$lang_media_kioskmode}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td>
+										<td><label for="qt_autohref">{$lang_media_autohref}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td>
+										<td><label for="qt_playeveryframe">{$lang_media_playeveryframe}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td>
+										<td><label for="qt_targetcache">{$lang_media_targetcache}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_scale">{$lang_media_scale}</label></td>
+							<td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="tofit">tofit</option>
+									<option value="aspect">aspect</option>
+								</select>
+							</td>
+
+							<td colspan="2">&nbsp;</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_starttime">{$lang_media_starttime}</label></td>
+							<td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_endtime">{$lang_media_endtime}</label></td>
+							<td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_target">{$lang_media_target}</label></td>
+							<td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_href">{$lang_media_href}</label></td>
+							<td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrcchokespeed">{$lang_media_qtsrcchokespeed}</label></td>
+							<td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrc">{$lang_media_qtsrc}</label></td>
+							<td colspan="4">
+							<table border="0" cellspacing="0" cellpadding="0">
+								  <tr>
+									<td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td>
+									<td id="qtsrcfilebrowsercontainer">&nbsp;</td>
+								  </tr>
+							</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="wmp_options">
+					<legend>{$lang_media_wmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enabled">{$lang_media_enabled}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enablecontextmenu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td>
+										<td><label for="wmp_fullscreen">{$lang_media_fullscreen}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_invokeurls">{$lang_media_invokeurls}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td>
+										<td><label for="wmp_mute">{$lang_media_mute}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td>
+										<td><label for="wmp_stretchtofit">{$lang_media_stretchtofit}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td>
+										<td><label for="wmp_windowlessvideo">{$lang_media_windowlessvideo}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_balance">{$lang_media_balance}</label></td>
+							<td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_baseurl">{$lang_media_baseurl}</label></td>
+							<td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_captioningid">{$lang_media_captioningid}</label></td>
+							<td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_currentmarker">{$lang_media_currentmarker}</label></td>
+							<td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_currentposition">{$lang_media_currentposition}</label></td>
+							<td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_defaultframe">{$lang_media_defaultframe}</label></td>
+							<td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_playcount">{$lang_media_playcount}</label></td>
+							<td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_rate">{$lang_media_rate}</label></td>
+							<td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_uimode">{$lang_media_uimode}</label></td>
+							<td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+					</table>
+				</fieldset>
+
+				<fieldset id="rmp_options">
+					<legend>{$lang_media_rmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td>
+										<td><label for="rmp_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autogotourl">{$lang_media_autogotourl}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td>
+										<td><label for="rmp_center">{$lang_media_center}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_imagestatus">{$lang_media_imagestatus}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td>
+										<td><label for="rmp_maintainaspect">{$lang_media_maintainaspect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td>
+										<td><label for="rmp_nojava">{$lang_media_nojava}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td>
+										<td><label for="rmp_prefetch">{$lang_media_prefetch}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td>
+										<td><label for="rmp_shuffle">{$lang_media_shuffle}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								&nbsp;
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_console">{$lang_media_console}</label></td>
+							<td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_controls">{$lang_media_controls}</label></td>
+							<td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_numloop">{$lang_media_numloop}</label></td>
+							<td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_scriptcallbacks">{$lang_media_scriptcallbacks}</label></td>
+							<td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="shockwave_options">
+					<legend>{$lang_media_shockwave_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="shockwave_swstretchstyle">{$lang_media_swstretchstyle}</label></td>
+							<td>
+								<select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swvolume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="shockwave_swstretchhalign">{$lang_media_swstretchhalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="left">{$lang_media_align_left}</option>
+									<option value="center">{$lang_media_align_center}</option>
+									<option value="right">{$lang_media_align_right}</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swstretchvalign">{$lang_media_swstretchvalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_sound">{$lang_media_sound}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="shockwave_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_progress">{$lang_media_progress}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertMedia();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('nonbreaking');var TinyMCE_NonBreakingPlugin={getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"nonbreaking":return tinyMCE.getButtonHTML(cn,'lang_nonbreaking_desc','{$pluginurl}/images/nonbreaking.gif','mceNonBreaking',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),h;switch(command){case"mceNonBreaking":h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;</span>':'&nbsp;';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,h);return true}return false},handleEvent:function(e){var inst,h;if(!tinyMCE.isOpera&&e.type=='keydown'&&e.keyCode==9&&tinyMCE.getParam('nonbreaking_force_tab',false)){inst=tinyMCE.selectedInstance;h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>':'&nbsp;&nbsp;&nbsp;';tinyMCE.execInstanceCommand(inst.editorId,'mceInsertContent',false,h);tinyMCE.cancelEvent(e);return false}return true}};tinyMCE.addPlugin("nonbreaking",TinyMCE_NonBreakingPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('nonbreaking');
+
+var TinyMCE_NonBreakingPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Nonbreaking space',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "nonbreaking":
+				return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);
+		}
+
+		return "";
+	},
+
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), h;
+
+		switch (command) {
+			case "mceNonBreaking":
+				h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);
+				return true;
+		}
+
+		return false;
+	},
+
+	handleEvent : function(e) {
+		var inst, h;
+
+		if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {
+			inst = tinyMCE.selectedInstance;
+
+			h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';
+			tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);
+
+			tinyMCE.cancelEvent(e);
+			return false;
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('nonbreaking',{
+desc : 'Insert non-breaking space character'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+/* This is the CSS file for the noneditable elements plugin */
+
+.mceEditable {
+	/*border: 1px dotted #0000cc;*/
+}
+
+.mceNonEditable {
+	/*border: 1px dotted #cc0000;*/
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable')},handleEvent:function(e){return this._moveSelection(e,tinyMCE.selectedInstance)},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes,i,editClass,nonEditClass,editable,elm;if(tinyMCE.isGecko)return content;nodes=tinyMCE.getNodeTree(content,[],1);editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(i=0;i<nodes.length;i++){elm=nodes[i];editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isIE){if(tinyMCE.hasCSSClass(elm,editClass))elm.contentEditable=true;if(tinyMCE.hasCSSClass(elm,nonEditClass))elm.contentEditable=false}}break;case"insert_to_editor":var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(/mceItemEditable/g,editClass);content=content.replace(/mceItemNonEditable/g,nonEditClass);if(tinyMCE.isIE&&(content.indexOf(editClass)!=-1||content.indexOf(nonEditClass)!=-1)){content=content.replace(new RegExp("class=\"(.+)("+editClass+")\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"("+editClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"(.+)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"')}break;case"get_from_editor_dom":if(tinyMCE.isGecko)return content;if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable")}break}return content},_moveSelection:function(e,inst){var s,r,sc,ec,el,c=tinyMCE.getParam('noneditable_editable_class','mceNonEditable');if(!inst)return true;if(tinyMCE.isGecko){s=inst.selection.getSel();r=s.getRangeAt(0);sc=tinyMCE.getParentNode(r.startContainer,function(n){return tinyMCE.hasCSSClass(n,c)});ec=tinyMCE.getParentNode(r.endContainer,function(n){return tinyMCE.hasCSSClass(n,c)});sc&&r.setStartBefore(sc);ec&&r.setEndAfter(ec);if(sc||ec){if(e.type=='keypress'&&e.keyCode==39){el=sc||ec;}s.removeAllRanges();s.addRange(r);return tinyMCE.cancelEvent(e)}}return true},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+/**
+ * $Id: editor_plugin_src.js 205 2007-02-12 18:58:29Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_NonEditablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Non editable elements',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
+
+		// Ugly hack
+		if (tinyMCE.isMSIE5_0)
+			tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
+	},
+
+	handleEvent : function(e) {
+		return this._moveSelection(e, tinyMCE.selectedInstance);
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var nodes, i, editClass, nonEditClass, editable, elm;
+
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				nodes = tinyMCE.getNodeTree(content, [], 1);
+
+				editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				for (i=0; i<nodes.length; i++) {
+					elm = nodes[i];
+
+					// Convert contenteditable to classes
+					editable = tinyMCE.getAttrib(elm, "contenteditable");
+					if (new RegExp("true|false","gi").test(editable))
+						TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
+
+					if (tinyMCE.isIE) {
+						if (tinyMCE.hasCSSClass(elm, editClass))
+							elm.contentEditable = true;
+
+						if (tinyMCE.hasCSSClass(elm, nonEditClass))
+							elm.contentEditable = false;
+					}
+				}
+
+				break;
+
+			case "insert_to_editor":
+				var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				// Replace mceItem to new school
+				content = content.replace(/mceItemEditable/g, editClass);
+				content = content.replace(/mceItemNonEditable/g, nonEditClass);
+
+				if (tinyMCE.isIE && (content.indexOf(editClass) != -1 || content.indexOf(nonEditClass) != -1)) {
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
+				}
+
+				break;
+
+			case "get_from_editor_dom":
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
+					var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+
+					for (var i=0; i<nodes.length; i++)
+						nodes[i].removeAttribute("contenteditable");
+				}
+
+				break;
+		}
+
+		return content;
+	},
+
+	_moveSelection : function(e, inst) {
+		var s, r, sc, ec, el, c = tinyMCE.getParam('noneditable_editable_class', 'mceNonEditable');
+
+		if (!inst)
+			return true;
+
+		// Always select whole element
+		if (tinyMCE.isGecko) {
+			s = inst.selection.getSel();
+			r = s.getRangeAt(0);
+			sc = tinyMCE.getParentNode(r.startContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+			ec = tinyMCE.getParentNode(r.endContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+
+			sc && r.setStartBefore(sc);
+			ec && r.setEndAfter(ec);
+
+			if (sc || ec) {
+				if (e.type == 'keypress' && e.keyCode == 39) {
+					el = sc || ec;
+
+					// Try!!
+				}
+
+				s.removeAllRanges();
+				s.addRange(r);
+
+				return tinyMCE.cancelEvent(e);
+			}
+		}
+
+		return true;
+	},
+
+	_setEditable : function(elm, state) {
+		var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+		var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+		var className = elm.className ? elm.className : "";
+
+		if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
+			return;
+
+		if ((className = tinyMCE.getAttrib(elm, "class")) != "")
+			className += " ";
+
+		className += state ? editClass : nonEditClass;
+
+		elm.setAttribute("class", className);
+		elm.className = className;
+	}
+};
+
+tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script language="javascript">
+		function init() {
+			document.body.contentEditable = true;
+			document.designMode = 'on';
+			parent.initIframe(document);
+			window.focus();
+		}
+	</script>
+	<link href="css/blank.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="init();">
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+body {
+	background-color: #FFFFFF;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+.sourceIframe {
+	border: 1px solid #808080;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('paste');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent)},handleEvent:function(e){if(!tinyMCE.isRealIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false)&&e.ctrlKey&&e.keyCode==86&&e.type=="keydown"){window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)',1);return tinyMCE.cancelEvent(e)}return true},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true)}return''},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML())}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true}return false},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false}return true},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">"}before+="<p>";content=before+content.substring(pos+7)+after}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}}tinyMCE.execCommand("mceInsertRawHTML",false,content)}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>')}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");if(tinyMCE.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi')}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"")}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'')}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);if(tinyMCE.getParam('paste_force_cleanup_wordpaste',true))window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i<s.length;i++){var c=s.charAt(i);if(l.indexOf(c)!=-1)o+='\\'+c;else o+=c}return o},_convertMiddots:function(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");var prevul;for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)==0){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType==3&&new RegExp('^\\s$','m').test(np.nodeValue)){np=np.nextSibling;continue}if(search==mdot){if(np.nodeType==1&&new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)){if(!prevul){prevul=ul;ul=document.createElement("ul");prevul.appendChild(ul)}np.innerHTML=np.innerHTML.replace(/^o/,'')}else{if(prevul){ul=prevul;prevul=null}if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}}else{if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp}p.parentNode.replaceChild(ul,p);return true}}return false},_clipboardHTML:function(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1}document.body.appendChild(div)}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html}};tinyMCE.addPlugin("paste",TinyMCE_PastePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,395 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */ 
+tinyMCE.importPluginLanguagePack('paste');
+
+var TinyMCE_PastePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Paste text/word',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
+			tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
+	},
+
+	handleEvent : function(e) {
+		// Force paste dialog if non IE browser
+		if (!tinyMCE.isRealIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false) && e.ctrlKey && e.keyCode == 86 && e.type == "keydown") {
+			window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)', 1);
+			return tinyMCE.cancelEvent(e);
+		}
+
+		return true;
+	},
+
+	getControlHTML : function(cn) { 
+		switch (cn) { 
+			case "pastetext":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
+
+			case "pasteword":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
+
+			case "selectall":
+				return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
+		} 
+
+		return ''; 
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) { 
+		switch (command) { 
+			case "mcePasteText": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
+						TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true); 
+					else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pastetext.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); 
+					}
+				} else
+					TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
+
+				return true;
+
+			case "mcePasteWord": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
+						TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML());
+					} else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pasteword.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
+					}
+				} else
+					TinyMCE_PastePlugin._insertWordContent(value);
+
+				return true;
+
+			case "mceSelectAll":
+				tinyMCE.execInstanceCommand(editor_id, 'selectall'); 
+				return true; 
+
+		} 
+
+		// Pass to next handler in chain 
+		return false; 
+	},
+
+	// Private plugin internal methods
+
+	_handlePasteEvent : function(e) {
+		switch (e.type) {
+			case "paste":
+				var html = TinyMCE_PastePlugin._clipboardHTML();
+				var r, inst = tinyMCE.selectedInstance;
+
+				// Removes italic, strong etc, the if was needed due to bug #1437114
+				if (inst && (r = inst.getRng()) && r.text.length > 0)
+					tinyMCE.execCommand('delete');
+
+				if (html && html.length > 0)
+					tinyMCE.execCommand('mcePasteWord', false, html);
+
+				tinyMCE.cancelEvent(e);
+				return false;
+		}
+
+		return true;
+	},
+
+	_insertText : function(content, bLinebreaks) { 
+		if (content && content.length > 0) {
+			if (bLinebreaks) { 
+				// Special paragraph treatment 
+				if (tinyMCE.getParam("paste_create_paragraphs", true)) {
+					var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+					for (var i=0; i<rl.length; i+=2)
+						content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+					content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi"); 
+
+					// Has paragraphs 
+					if ((pos = content.indexOf('</p><p>')) != -1) { 
+						tinyMCE.execCommand("Delete"); 
+
+						var node = tinyMCE.selectedInstance.getFocusElement(); 
+
+						// Get list of elements to break 
+						var breakElms = new Array(); 
+
+						do { 
+							if (node.nodeType == 1) { 
+								// Don't break tables and break at body 
+								if (node.nodeName == "TD" || node.nodeName == "BODY") 
+									break; 
+		
+								breakElms[breakElms.length] = node; 
+							} 
+						} while(node = node.parentNode); 
+
+						var before = "", after = "</p>"; 
+						before += content.substring(0, pos); 
+
+						for (var i=0; i<breakElms.length; i++) { 
+							before += "</" + breakElms[i].nodeName + ">"; 
+							after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; 
+						} 
+
+						before += "<p>"; 
+						content = before + content.substring(pos+7) + after; 
+					} 
+				} 
+
+				if (tinyMCE.getParam("paste_create_linebreaks", true)) {
+					content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi"); 
+				}
+			} 
+		
+			tinyMCE.execCommand("mceInsertRawHTML", false, content); 
+		}
+	},
+
+	_insertWordContent : function(content) { 
+		if (content && content.length > 0) {
+			// Cleanup Word content
+			var bull = String.fromCharCode(8226);
+			var middot = String.fromCharCode(183);
+			var cb;
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('before', content)");
+
+			var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+			for (var i=0; i<rl.length; i+=2)
+				content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
+			}
+
+			content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+			content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
+			content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
+			content = content.replace(/<o:p><\/o:p>/gi, "");
+			content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
+			content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
+
+			if (tinyMCE.getParam("paste_remove_spans", true))
+				content = content.replace(/<\/?span[^>]*>/gi, "");
+
+			if (tinyMCE.getParam("paste_remove_styles", true))
+				content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+
+			content = content.replace(/<\/?font[^>]*>/gi, "");
+
+			// Strips class attributes.
+			switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
+				case "all":
+					content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+					break;
+
+				case "mso":
+					content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
+					break;
+			}
+
+			content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
+			content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+			content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+			content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+			content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
+			content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+	//		content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
+	//		content = content.replace(/<p>&nbsp;<\/p>/gi, '');
+
+			if (!tinyMCE.settings['force_p_newlines']) {
+				content = content.replace('', '' ,'gi');
+				content = content.replace('</p>', '<br /><br />' ,'gi');
+			}
+
+			if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+				content = content.replace(/<\/?p[^>]*>/gi, "");
+			}
+
+			content = content.replace(/<\/?div[^>]*>/gi, "");
+
+			// Convert all middlot lists to UL lists
+			if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+				var div = document.createElement("div");
+				div.innerHTML = content;
+
+				// Convert all middot paragraphs to li elements
+				var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+				while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
+				while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
+				while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
+
+				content = div.innerHTML;
+			}
+
+			// Replace all headers with strong and fix some other issues
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
+				content = content.replace(/<h[1-6]>/gi, '<p><b>');
+				content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
+				content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
+				content = content.replace(/^(&nbsp;)*/gi, '');
+			}
+
+			content = content.replace(/--list--/gi, ""); // Remove --list--
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('after', content)");
+
+			// Insert cleaned content
+			tinyMCE.execCommand("mceInsertContent", false, content);
+
+			if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
+				window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
+		}
+	},
+
+	_reEscape : function(s) {
+		var l = "?.\\*[](){}+^$:";
+		var o = "";
+
+		for (var i=0; i<s.length; i++) {
+			var c = s.charAt(i);
+
+			if (l.indexOf(c) != -1)
+				o += '\\' + c;
+			else
+				o += c;
+		}
+
+		return o;
+	},
+
+	_convertMiddots : function(div, search, class_name) {
+		var mdot = String.fromCharCode(183);
+		var bull = String.fromCharCode(8226);
+
+		var nodes = div.getElementsByTagName("p");
+		var prevul;
+		for (var i=0; i<nodes.length; i++) {
+			var p = nodes[i];
+
+			// Is middot
+			if (p.innerHTML.indexOf(search) == 0) {
+				var ul = document.createElement("ul");
+
+				if (class_name)
+					ul.className = class_name;
+
+				// Add the first one
+				var li = document.createElement("li");
+				li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+				ul.appendChild(li);
+
+				// Add the rest
+				var np = p.nextSibling;
+				while (np) {
+			        // If the node is whitespace, then
+			        // ignore it and continue on.
+			        if (np.nodeType == 3 && new RegExp('^\\s$', 'm').test(np.nodeValue)) {
+			                np = np.nextSibling;
+			                continue;
+			        }
+
+					if (search == mdot) {
+					        if (np.nodeType == 1 && new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)) {
+					                // Second level of nesting
+					                if (!prevul) {
+					                        prevul = ul;
+					                        ul = document.createElement("ul");
+					                        prevul.appendChild(ul);
+					                }
+					                np.innerHTML = np.innerHTML.replace(/^o/, '');
+					        } else {
+					                // Pop the stack if we're going back up to the first level
+					                if (prevul) {
+					                        ul = prevul;
+					                        prevul = null;
+					                }
+					                // Not element or middot paragraph
+					                if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                        break;
+					        }
+					} else {
+					        // Not element or middot paragraph
+					        if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                break;
+				        }
+
+					var cp = np.nextSibling;
+					var li = document.createElement("li");
+					li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+					np.parentNode.removeChild(np);
+					ul.appendChild(li);
+					np = cp;
+				}
+
+				p.parentNode.replaceChild(ul, p);
+
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	_clipboardHTML : function() {
+		var div = document.getElementById('_TinyMCE_clipboardHTML');
+
+		if (!div) {
+			var div = document.createElement('DIV');
+			div.id = '_TinyMCE_clipboardHTML';
+
+			with (div.style) {
+				visibility = 'hidden';
+				overflow = 'hidden';
+				position = 'absolute';
+				width = 1;
+				height = 1;
+			}
+
+			document.body.appendChild(div);
+		}
+
+		div.innerHTML = '';
+		var rng = document.body.createTextRange();
+		rng.moveToElementText(div);
+		rng.execCommand('Paste');
+		var html = div.innerHTML;
+		div.innerHTML = '';
+		return html;
+	}
+};
+
+tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+function saveContent() {
+	if (document.forms[0].htmlSource.value == '') {
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteText', false, {
+		html : document.forms[0].htmlSource.value,
+		linebreaks : document.forms[0].linebreaks.checked
+	});
+
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight-80;
+		wWidth = self.innerWidth-17;
+	} else {
+		wHeight = document.body.clientHeight-80;
+		wWidth = document.body.clientWidth-17;
+	}
+
+	document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+	document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+function saveContent() {
+	var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+	if (html == ''){
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteWord', false, html);
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Fix for endless reloading in FF
+	window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+	document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+	var dir = tinyMCE.selectedInstance.settings['directionality'];
+
+	doc.body.dir = dir;
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight - 80;
+		wWidth = self.innerWidth - 18;
+	} else {
+		wHeight = document.body.clientHeight - 80;
+		wWidth = document.body.clientWidth - 18;
+	}
+
+	var elm = document.getElementById('frmData');
+	if (elm) {
+		elm.style.height = Math.abs(wHeight) + 'px';
+		elm.style.width  = Math.abs(wWidth) + 'px';
+	}
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_paste_text_desc}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+<form name="source" onsubmit="saveContent();">
+	<div style="float: left" class="title">{$lang_paste_text_desc}</div>
+
+	<div style="float: right">
+		<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
+	</div>
+
+	<br style="clear: both" />
+
+	<div>{$lang_paste_text_title}</div>
+
+	<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+		</div>
+	</div>
+</form>
+</body> 
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_paste_word_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
+	<link href="css/pasteword.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div class="title">{$lang_paste_word_desc}</div>
+
+		<div>{$lang_paste_word_title}</div>
+
+		<div id="iframecontainer"></div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('preview');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")})}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="",i;var c=tinyMCE.getContent();var pos=c.indexOf('<body'),pos2,css=tinyMCE.getParam("content_css").split(',');if(pos!=-1){pos=c.indexOf('>',pos);pos2=c.lastIndexOf('</body>');c=c.substring(pos+1,pos2)}html+=tinyMCE.getParam('doctype');html+='<html xmlns="http://www.w3.org/1999/xhtml">';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.settings['base_href']+'" />';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(i=0;i<css.length;i++)html+='<link href="'+css[i]+'" rel="stylesheet" type="text/css" />';html+='<script type="text/javascript">';html+='window.opener.TinyMCE_PreviewPlugin._setDoc(document);';html+='window.opener.TinyMCE_PreviewPlugin._setWin(window);';html+='writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';html+='writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';html+='writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';html+='writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';html+='writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';html+='writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';html+='</script>';html+='</head>';html+='<body dir="'+tinyMCE.getParam("directionality")+'" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';html+=c;html+='</body>';html+='</html>';win.document.write(html);win.document.close()}return true}return false},_setDoc:function(d){TinyMCE_PreviewPlugin._doc=d;d._embeds=new Array()},_setWin:function(d){TinyMCE_PreviewPlugin._win=d},_onLoad:function(){var nl,i,el=new Array(),d=TinyMCE_PreviewPlugin._doc,sv,ne;nl=d.getElementsByTagName("script");for(i=0;i<nl.length;i++){sv=tinyMCE.isMSIE?nl[i].innerHTML:nl[i].firstChild.nodeValue;if(new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*','g').test(sv))el[el.length]=nl[i]}for(i=0;i<el.length;i++){ne=d.createElement("div");ne.innerHTML=d._embeds[i];el[i].parentNode.insertBefore(ne.firstChild,el[i])}},_writeFlash:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('D27CDB6E-AE6D-11cf-96B8-444553540000','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','application/x-shockwave-flash',p)},_writeShockWave:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('166B1BCA-3F9C-11CF-8075-444553540000','http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0','application/x-director',p)},_writeQuickTime:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('02BF25D5-8C17-4B23-BC80-D3488ABDDC6B','http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0','video/quicktime',p)},_writeRealMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','audio/x-pn-realaudio-plugin',p)},_writeWindowsMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);p.url=p.src;TinyMCE_PreviewPlugin._writeEmbed('6BF52A52-394A-11D3-B153-00C04F79FAA6','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701','application/x-mplayer2',p)},_writeEmbed:function(cls,cb,mt,p){var h='',n,d=TinyMCE_PreviewPlugin._doc,ne,c;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?'id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?'name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?'width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?'height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?'align="'+p.align+'"':'';h+='>';for(n in p)h+='<param name="'+n+'" value="'+p[n]+'">';h+='<embed type="'+mt+'"';for(n in p)h+=n+'="'+p[n]+'" ';h+='></embed></object>';d._embeds[d._embeds.length]=h}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,205 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('preview');
+
+var TinyMCE_PreviewPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Preview',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the preview control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "preview":
+				return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mcePreview command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mcePreview":
+				var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
+				var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
+				var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
+
+				// Use a custom preview page
+				if (previewPage) {
+					var template = new Array();
+
+					template['file'] = previewPage;
+					template['width'] = previewWidth;
+					template['height'] = previewHeight;
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
+				} else {
+					var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height="  + previewHeight);
+					var html = "", i;
+					var c = tinyMCE.getContent();
+					var pos = c.indexOf('<body'), pos2, css = tinyMCE.getParam("content_css").split(',');
+
+					if (pos != -1) {
+						pos = c.indexOf('>', pos);
+						pos2 = c.lastIndexOf('</body>');
+						c = c.substring(pos + 1, pos2);
+					}
+
+					html += tinyMCE.getParam('doctype');
+					html += '<html xmlns="http://www.w3.org/1999/xhtml">';
+					html += '<head>';
+					html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
+					html += '<base href="' + tinyMCE.settings['base_href'] + '" />';
+					html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+
+					for (i=0; i<css.length; i++)
+						html += '<link href="' + css[i] + '" rel="stylesheet" type="text/css" />';
+
+					html += '<script type="text/javascript">';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setDoc(document);';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setWin(window);';
+					html += 'writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';
+					html += 'writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';
+					html += 'writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';
+					html += 'writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';
+					html += 'writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';
+					html += 'writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';
+					html += '</script>';
+					html += '</head>';
+					html += '<body dir="' + tinyMCE.getParam("directionality") + '" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';
+					html += c;
+					html += '</body>';
+					html += '</html>';
+
+					win.document.write(html);
+					win.document.close();
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	_setDoc : function(d) {
+		TinyMCE_PreviewPlugin._doc = d;
+		d._embeds = new Array();
+	},
+
+	_setWin : function(d) {
+		TinyMCE_PreviewPlugin._win = d;
+	},
+
+	_onLoad : function() {
+		var nl, i, el = new Array(), d = TinyMCE_PreviewPlugin._doc, sv, ne;
+
+		nl = d.getElementsByTagName("script");
+		for (i=0; i<nl.length; i++) {
+			sv = tinyMCE.isMSIE ? nl[i].innerHTML : nl[i].firstChild.nodeValue;
+
+			if (new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*', 'g').test(sv))
+				el[el.length] = nl[i];
+		}
+
+		for (i=0; i<el.length; i++) {
+			ne = d.createElement("div");
+			ne.innerHTML = d._embeds[i];
+			el[i].parentNode.insertBefore(ne.firstChild, el[i]);
+		}
+	},
+
+	_writeFlash : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'D27CDB6E-AE6D-11cf-96B8-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'application/x-shockwave-flash',
+			p
+		);
+	},
+
+	_writeShockWave : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'166B1BCA-3F9C-11CF-8075-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+			'application/x-director',
+			p
+		);
+	},
+
+	_writeQuickTime : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+			'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+			'video/quicktime',
+			p
+		);
+	},
+
+	_writeRealMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'audio/x-pn-realaudio-plugin',
+			p
+		);
+	},
+
+	_writeWindowsMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		p.url = p.src;
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+			'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+			'application/x-mplayer2',
+			p
+		);
+	},
+
+	_writeEmbed : function(cls, cb, mt, p) {
+		var h = '', n, d = TinyMCE_PreviewPlugin._doc, ne, c;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p)
+			h += '<param name="' + n + '" value="' + p[n] + '">';
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p)
+			h += n + '="' + p[n] + '" ';
+
+		h += '></embed></object>';
+
+		d._embeds[d._embeds.length] = h;
+	}
+};
+
+tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script language="javascript" src="../../tiny_mce_popup.js"></script>
+<script type="text/javascript" src="jscripts/embed.js"></script>
+<title>Example of a custom preview page</title>
+<link href="{$content_css}" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+Editor contents: <br />
+{$content}
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Preview'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('print');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true}return false}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme	specific language pack */
+tinyMCE.importPluginLanguagePack('print');
+
+var TinyMCE_PrintPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Print',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn)	{
+		switch (cn) {
+			case "print":
+				return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes	the	search/replace commands.
+	 */
+	execCommand : function(editor_id, element, command,	user_interface,	value) {
+		// Handle commands
+		switch (command) {
+			case "mcePrint":
+				tinyMCE.getInstanceById(editor_id).contentWindow.print();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Print'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+This is the location you place TinyMCE plugins.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('save');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave')},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true)}return true}for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true}tinyMCE.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)inst.formElement.form.submit()}else alert("Error: No form element found.");return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam("fullscreen_is_enabled")){tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');return true}if(tinyMCE.getParam("save_enablewhendirty")){var inst=tinyMCE.getInstanceById(editor_id);if(inst.isDirty()){tinyMCE.switchClass(editor_id+'_save','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled')}return true}};tinyMCE.addPlugin("save",TinyMCE_SavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('save');
+
+var TinyMCE_SavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');
+	},
+
+	/**
+	 * Returns the HTML contents of the save control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "save":
+				return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the save command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceSave":
+				if (tinyMCE.getParam("fullscreen_is_enabled"))
+					return true;
+
+				var inst = tinyMCE.selectedInstance;
+				var formObj = inst.formElement.form;
+
+				if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
+					return true;
+
+				if (formObj) {
+					tinyMCE.triggerSave();
+
+					// Use callback instead
+					var os;
+					if ((os = tinyMCE.getParam("save_onsavecallback"))) {
+						if (eval(os + '(inst);')) {
+							inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+							/*inst.undoLevels = new Array();
+							inst.undoIndex = 0;
+							inst.typingUndoIndex = -1;
+							inst.undoRedo = true;
+							inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
+							tinyMCE.triggerNodeChange(false, true);
+						}
+
+						return true;
+					}
+
+					// Disable all UI form elements that TinyMCE created
+					for (var i=0; i<formObj.elements.length; i++) {
+						var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
+
+						if (elementId.indexOf('mce_editor_') == 0)
+							formObj.elements[i].disabled = true;
+					}
+
+					tinyMCE.isNotDirty = true;
+
+					if (formObj.onsubmit == null || formObj.onsubmit() != false)
+						inst.formElement.form.submit();
+				} else
+					alert("Error: No form element found.");
+
+				return true;
+		}
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam("fullscreen_is_enabled")) {
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+			return true;
+		}
+
+		if (tinyMCE.getParam("save_enablewhendirty")) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+
+			if (inst.isDirty()) {
+				tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');
+				return true;
+			}
+
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("save", TinyMCE_SavePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Save'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/* stylesheet for advsearchreplace plugin*/
+
+.panel_wrapper { height: 85px; }
+.panel_wrapper div.current { height: 85px; }
+
+/* MS IE only styles */
+* html .panel_wrapper { height: 100px; }
+* html .panel_wrapper div.current { height: 100px; }
+
+#replaceBtn, #replaceAllBtn {
+	padding-bottom: 2px;
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0;
+	cursor: pointer;
+}
+
+#replaceBtn { background: url(../images/replace_button_bg.gif); }
+#replaceAllBtn { background: url(../images/replace_all_button_bg.gif); }

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('searchreplace');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),selectedText=inst.selection.getSelectedText(),rng;function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key]}function replaceSel(search_str,str,back){if(!inst.selection.isCollapsed()){if(tinyMCE.isRealIE)inst.selection.getRng().duplicate().pasteHTML(str);else inst.execCommand('mceInsertContent',false,str)}}if(!value)value=[];defValue("editor_id",editor_id);defValue("searchstring",selectedText);defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");defValue("resizable","no");switch(command){case"mceSearch":if(user_interface){var template=new Array();template['file']='../../plugins/searchreplace/searchreplace.htm';template['width']=380;template['height']=155+(tinyMCE.isNS7?20:0)+(tinyMCE.isMSIE?15:0);template['width']+=tinyMCE.getLang('lang_searchreplace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_delta_height',0);inst.selection.collapse(true);tinyMCE.openWindow(template,value)}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;var awin=value.win,found;if(body.innerHTML==""){awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";}inst.selection.collapse(value['backwards']);if(tinyMCE.isMSIE){var rng=inst.selection.getRng();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){awin.alert('This operation is currently not supported by this browser.');return true}if(value['replacemode']=="all"){found=false;while(rng.findText(value['string'],value['backwards']?-1:1,flags)){found=true;rng.scrollIntoView();rng.select();replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select()}else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}else{if(value['replacemode']=="all"){found=false;while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false)){found=true;replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true}return false}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('searchreplace');
+
+var TinyMCE_SearchReplacePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Search/Replace',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function (inst) {
+		inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
+		// No CTRL+R for "replace" because browsers will reload page instead of executing plugin
+	},
+
+	getControlHTML : function (cn) {
+		switch (cn) {
+			case "search" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true);
+
+			case "replace" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function (editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng;
+
+		function defValue(key, default_value) {
+			value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
+		}
+
+		function replaceSel(search_str, str, back) {
+			if (!inst.selection.isCollapsed()) {
+				if (tinyMCE.isRealIE)
+					inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE
+				else
+					inst.execCommand('mceInsertContent', false, str);
+			}
+		}
+
+		if (!value)
+			value = [];
+
+		defValue("editor_id", editor_id);
+		defValue("searchstring", selectedText);
+		defValue("replacestring", null);
+		defValue("replacemode", "none");
+		defValue("casesensitive", false);
+		defValue("backwards", false);
+		defValue("wrap", false);
+		defValue("wholeword", false);
+		defValue("inline", "yes");
+		defValue("resizable", "no");
+
+		switch (command) {
+			case "mceSearch" :
+				if (user_interface) {
+					var template = new Array();
+
+					template['file'] = '../../plugins/searchreplace/searchreplace.htm';
+					template['width'] = 380;
+					template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0);
+					template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0);
+
+					inst.selection.collapse(true);
+
+					tinyMCE.openWindow(template, value);
+				} else {
+					var win = tinyMCE.getInstanceById(editor_id).contentWindow;
+					var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
+					var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
+					var awin = value.win, found;
+
+					if (body.innerHTML == "") {
+						awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+						return true;
+					}
+
+					if (value['replacemode'] == "current") {
+						replaceSel(value['string'], value['replacestring'], value['backwards']);
+						value['replacemode'] = "none";
+						//tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value);
+						//return true;
+					}
+
+					inst.selection.collapse(value['backwards']);
+
+					if (tinyMCE.isMSIE) {
+						var rng = inst.selection.getRng();
+						var flags = 0;
+						if (value['wholeword'])
+							flags = flags | 2;
+
+						if (value['casesensitive'])
+							flags = flags | 4;
+
+						if (!rng.findText) {
+							awin.alert('This operation is currently not supported by this browser.');
+							return true;
+						}
+
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+								found = true;
+								rng.scrollIntoView();
+								rng.select();
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+							rng.scrollIntoView();
+							rng.select();
+						} else
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					} else {
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) {
+								found = true;
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					}
+				}
+
+				return true;
+
+			case "mceSearchReplace" :
+				value['replacestring'] = "";
+				tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+				return true;
+		}
+
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// start with appropiate tab
+	var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
+	mcTabs.displayTab(task + '_tab', task +'_panel');
+	manageReplaceButtons();
+	
+	var formObj = document.forms[0];
+
+	formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
+	formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
+	formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
+	formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
+	formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
+}
+
+function searchNext(replacemode) {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+
+	var formObj = document.forms[0];
+
+	if (task == "replace") {
+		// Whats the point?
+		if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
+			return false;
+	}
+
+	// Do search
+	tinyMCEPopup.execCommand('mceSearch', false, { 
+		string : formObj[task + "_panel_searchstring"].value,
+		replacestring : formObj["replace_panel_replacestring"].value,
+		replacemode : replacemode,
+		casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
+		backwards : formObj[task + "_panel_backwardsu"].checked,
+		win : window
+		}, false);
+
+	window.focus();
+
+	return false;
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function manageReplaceButtons() {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+	document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
+}
+
+function copyValues(link) {
+	// check if tab is already active
+	var tab = link;
+	while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
+	if (tab.className) return false; // tab is already active -> no need to copy any values!
+
+	// copy values from one panel to the other (if they exist there)
+	var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
+	var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
+
+	// find all elements with IDs to copy their values
+	var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
+	for (var i = 0; i < elms.length; i++) {
+		if (elms[i].id && elms[i].id != "") {
+			var checked = "undefined";
+			if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
+				checked = elms[i].checked;
+
+			// copy values if element exists in other panel
+			var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
+			var to_elm = document.getElementById(to_elm_name);
+			if (to_elm) {
+				if (checked != "undefined")
+					to_elm.checked = checked;
+				else
+					to_elm.value = elms[i].value;
+			}
+		}
+	}
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Find',
+searchreplace_searchnext_desc : 'Find again',
+searchreplace_replace_desc : 'Find/Replace',
+searchreplace_notfound : 'The search has been completed. The search string could not be found.',
+searchreplace_search_title : 'Find',
+searchreplace_replace_title : 'Find/Replace',
+searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
+searchreplace_findwhat : 'Find what',
+searchreplace_replacewith : 'Replace with',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Up',
+searchreplace_down : 'Down',
+searchreplace_case : 'Match case',
+searchreplace_findnext : 'Find&nbsp;next',
+searchreplace_replace : 'Replace',
+searchreplace_replaceall : 'Replace&nbsp;all',
+searchreplace_cancel : 'Cancel'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_searchreplace_replace_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/searchreplace.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
+<form onsubmit="return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="search_tab"><span><a href="javascript:mcTabs.displayTab('search_tab','search_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_search_desc}</a></span></li>
+			<li id="replace_tab"><span><a href="javascript:mcTabs.displayTab('replace_tab','replace_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_replace}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+
+		<div id="search_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="search_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="search_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+		<div id="replace_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="replace_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td><label for="replace_panel_replacestring">{$lang_searchreplace_replacewith}</label></td>
+					<td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="replace_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" />
+			<span id="replace_buttons">
+				<input type="button" id="replaceBtn" name="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" />
+				<input type="button" id="replaceAllBtn" name="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');;" />
+			</span>
+		</div>
+
+		<div style="float: right">	
+			<input type="button" id="cancel" name="cancel" value="{$lang_searchreplace_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+#text_font {
+	width: 250px;
+}
+
+#text_size {
+	width: 70px;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
+	width: 70px;
+}
+
+#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
+	width: 70px;
+}
+
+#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
+	width: 70px;
+}
+
+#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
+	width: 70px;
+}
+
+.panel_wrapper div.current {
+	padding-top: 10px;
+	height: 230px;
+}
+
+.delim {
+	border-left: 1px solid gray;
+}
+
+.tdelim {
+	border-bottom: 1px solid gray;	
+}
+
+#block_display {
+	width: 145px;
+}
+
+#list_type {
+	width: 115px;
+}
+
+.disabled {
+	background-color: #EEEEEE;
+}
+
+#apply {
+	font-weight: bold;
+	width: 78px;
+	height: 21px;
+	border: 0;
+	background-image: url('../images/apply_button_bg.gif');
+	cursor: pointer;
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('style');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/styleprops.gif','mceStyleProps',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint()}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.nodeName=='BODY')tinyMCE.switchClass(editor_id+'_styleprops','mceButtonDisabled');else tinyMCE.switchClass(editor_id+'_styleprops','mceButtonNormal')},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e||e.nodeName=='BODY')return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText})}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,83 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('style');
+
+var TinyMCE_StylePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Style',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "styleprops":
+				return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/styleprops.gif', 'mceStyleProps', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var e, inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceStyleProps":
+				TinyMCE_StylePlugin._styleProps();
+				return true;
+
+			case "mceSetElementStyle":
+				inst = tinyMCE.getInstanceById(editor_id);
+				e = inst.selection.getFocusElement();
+
+				if (e) {
+					e.style.cssText = value;
+					inst.repaint();
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node.nodeName == 'BODY')
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonDisabled');
+		else
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonNormal');
+	},
+
+	// Private plugin specific methods
+
+	_styleProps : function() {
+		var e = tinyMCE.selectedInstance.selection.getFocusElement();
+
+		if (!e || e.nodeName == 'BODY')
+			return;
+
+		tinyMCE.openWindow({
+			file : '../../plugins/style/props.htm',
+			width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
+			height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
+		}, {
+			editor_id : tinyMCE.selectedInstance.editorId,
+			inline : "yes",
+			style_text : e.style.cssText
+		});
+	}
+};
+
+tinyMCE.addPlugin("style", TinyMCE_StylePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,633 @@
+var defaultFonts = "" + 
+	"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Courier New, Courier, mono=Courier New, Courier, mono;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + 
+	"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + 
+	"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
+
+var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
+var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
+var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
+var defaultTextStyle = "normal;italic;oblique";
+var defaultVariant = "normal;small-caps";
+var defaultLineHeight = "normal";
+var defaultAttachment = "fixed;scroll";
+var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
+var defaultPosH = "left;center;right";
+var defaultPosV = "top;center;bottom";
+var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
+var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
+var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
+var defaultBorderWidth = "thin;medium;thick";
+var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
+
+function init() {
+	var ce = document.getElementById('container'), h;
+
+	ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
+
+	h = getBrowserHTML('background_image_browser','background_image','image','advimage');
+	document.getElementById("background_image_browser").innerHTML = h;
+
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
+	document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
+	document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
+	document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
+	document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
+	document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
+
+	fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
+	fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
+	fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
+	fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
+	fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
+	fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
+	fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
+	fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
+	fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
+
+	fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
+	fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
+
+	fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
+	fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
+	fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
+	fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
+	fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
+	fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
+	fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
+
+	fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
+	fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
+	fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
+
+	fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
+
+	fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
+	fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
+
+	fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
+	fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
+
+	fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
+
+	fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
+
+	TinyMCE_EditableSelects.init();
+	setupFormData();
+	showDisabledControls();
+}
+
+function setupFormData() {
+	var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
+
+	// Setup text fields
+
+	selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
+	selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
+	selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
+	selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
+	selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
+	selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
+	selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
+	selectByValue(f, 'text_case', ce.style.textTransform, true, true);
+	selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
+	f.text_color.value = ce.style.color;
+	updateColor('text_color_pick', 'text_color');
+	f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
+	f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
+	f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
+	f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
+
+	// Setup background fields
+
+	f.background_color.value = ce.style.backgroundColor;
+	updateColor('background_color_pick', 'background_color');
+	f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
+	selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
+	selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
+	selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
+	selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
+	selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
+
+	// Setup block fields
+
+	selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
+	selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
+	selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
+	selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
+	selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
+	selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
+	f.block_text_indent.value = getNum(ce.style.textIndent);
+	selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
+	selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
+	selectByValue(f, 'block_display', ce.style.display, true, true);
+
+	// Setup box fields
+
+	f.box_width.value = getNum(ce.style.width);
+	selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
+
+	f.box_height.value = getNum(ce.style.height);
+	selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
+
+	if (tinyMCE.isGecko)
+		selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
+	else
+		selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
+
+	selectByValue(f, 'box_clear', ce.style.clear, true, true);
+
+	setupBox(f, ce, 'box_padding', 'padding', '');
+	setupBox(f, ce, 'box_margin', 'margin', '');
+
+	// Setup border fields
+
+	setupBox(f, ce, 'border_style', 'border', 'Style');
+	setupBox(f, ce, 'border_width', 'border', 'Width');
+	setupBox(f, ce, 'border_color', 'border', 'Color');
+
+	updateColor('border_color_top_pick', 'border_color_top');
+	updateColor('border_color_right_pick', 'border_color_right');
+	updateColor('border_color_bottom_pick', 'border_color_bottom');
+	updateColor('border_color_left_pick', 'border_color_left');
+
+	// Setup list fields
+
+	selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
+	selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
+	f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	// Setup box fields
+
+	selectByValue(f, 'positioning_type', ce.style.position, true, true);
+	selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
+	selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
+	f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
+
+	f.positioning_width.value = getNum(ce.style.width);
+	selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
+
+	f.positioning_height.value = getNum(ce.style.height);
+	selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
+
+	setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
+
+	s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
+	s = s.replace(/,/g, ' ');
+
+	if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = getNum(getVal(s, 1));
+		selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
+		f.positioning_clip_bottom.value = getNum(getVal(s, 2));
+		selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
+		f.positioning_clip_left.value = getNum(getVal(s, 3));
+		selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
+	} else {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
+	}
+
+//	setupBox(f, ce, '', 'border', 'Color');
+}
+
+function getMeasurement(s) {
+	return s.replace(/^([0-9]+)(.*)$/, "$2");
+}
+
+function getNum(s) {
+	if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
+		return s.replace(/[^0-9]/g, '');
+
+	return s;
+}
+
+function inStr(s, n) {
+	return new RegExp(n, 'gi').test(s);
+}
+
+function getVal(s, i) {
+	var a = tinyMCE.explode(' ', s);
+
+	if (a.length > 1)
+		return a[i];
+
+	return "";
+}
+
+function setValue(f, n, v) {
+	if (f.elements[n].type == "text")
+		f.elements[n].value = v;
+	else
+		selectByValue(f, n, v, true, true);
+}
+
+function setupBox(f, ce, fp, pr, sf, b) {
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (isSame(ce, pr, sf, b)) {
+		f.elements[fp + "_same"].checked = true;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		f.elements[fp + "_right"].value = "";
+		f.elements[fp + "_right"].disabled = true;
+		f.elements[fp + "_bottom"].value = "";
+		f.elements[fp + "_bottom"].disabled = true;
+		f.elements[fp + "_left"].value = "";
+		f.elements[fp + "_left"].disabled = true;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = true;
+			f.elements[fp + "_bottom_measurement"].disabled = true;
+			f.elements[fp + "_right_measurement"].disabled = true;
+		}
+	} else {
+		f.elements[fp + "_same"].checked = false;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
+		f.elements[fp + "_right"].disabled = false;
+
+		setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
+		f.elements[fp + "_bottom"].disabled = false;
+
+		setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
+		f.elements[fp + "_left"].disabled = false;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
+			selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
+			selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = false;
+			f.elements[fp + "_bottom_measurement"].disabled = false;
+			f.elements[fp + "_right_measurement"].disabled = false;
+		}
+	}
+}
+
+function isSame(e, pr, sf, b) {
+	var a = new Array(), i, x;
+
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (typeof(sf) == "undefined" || sf == null)
+		sf = "";
+
+	a[0] = e.style[pr + b[0] + sf];
+	a[1] = e.style[pr + b[1] + sf];
+	a[2] = e.style[pr + b[2] + sf];
+	a[3] = e.style[pr + b[3] + sf];
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+};
+
+function hasEqualValues(a) {
+	var i, x;
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+}
+
+function applyAction() {
+	var ce = document.getElementById('container');
+
+	generateCSS();
+
+	tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
+}
+
+function updateAction() {
+	applyAction();
+	tinyMCEPopup.close();
+}
+
+function generateCSS() {
+	var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
+
+	ce.style.cssText = "";
+
+	// Build text styles
+	ce.style.fontFamily = f.text_font.value;
+	ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
+	ce.style.fontStyle = f.text_style.value;
+	ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
+	ce.style.textTransform = f.text_case.value;
+	ce.style.fontWeight = f.text_weight.value;
+	ce.style.fontVariant = f.text_variant.value;
+	ce.style.color = f.text_color.value;
+
+	s = "";
+	s += f.text_underline.checked ? " underline" : "";
+	s += f.text_overline.checked ? " overline" : "";
+	s += f.text_linethrough.checked ? " line-through" : "";
+	s += f.text_blink.checked ? " blink" : "";
+	s = s.length > 0 ? s.substring(1) : s;
+
+	if (f.text_none.checked)
+		s = "none";
+
+	ce.style.textDecoration = s;
+
+	// Build background styles
+
+	ce.style.backgroundColor = f.background_color.value;
+	ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
+	ce.style.backgroundRepeat = f.background_repeat.value;
+	ce.style.backgroundAttachment = f.background_attachment.value;
+
+	if (f.background_hpos.value != "") {
+		s = "";
+		s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
+		s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
+		ce.style.backgroundPosition = s;
+	}
+
+	// Build block styles
+
+	ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
+	ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
+	ce.style.verticalAlign = f.block_vertical_alignment.value;
+	ce.style.textAlign = f.block_text_align.value;
+	ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
+	ce.style.whiteSpace = f.block_whitespace.value;
+	ce.style.display = f.block_display.value;
+
+	// Build box styles
+
+	ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
+	ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
+	ce.style.styleFloat = f.box_float.value;
+
+	if (tinyMCE.isGecko)
+		ce.style.cssFloat = f.box_float.value;
+
+	ce.style.clear = f.box_clear.value;
+
+	if (!f.box_padding_same.checked) {
+		ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
+		ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
+		ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
+		ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
+	} else
+		ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");		
+
+	if (!f.box_margin_same.checked) {
+		ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
+		ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
+		ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
+		ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
+	} else
+		ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");		
+
+	// Build border styles
+
+	if (!f.border_style_same.checked) {
+		ce.style.borderTopStyle = f.border_style_top.value;
+		ce.style.borderRightStyle = f.border_style_right.value;
+		ce.style.borderBottomStyle = f.border_style_bottom.value;
+		ce.style.borderLeftStyle = f.border_style_left.value;
+	} else
+		ce.style.borderStyle = f.border_style_top.value;
+
+	if (!f.border_width_same.checked) {
+		ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
+		ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
+		ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
+		ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
+	} else
+		ce.style.borderWidth = f.border_width_top.value;
+
+	if (!f.border_color_same.checked) {
+		ce.style.borderTopColor = f.border_color_top.value;
+		ce.style.borderRightColor = f.border_color_right.value;
+		ce.style.borderBottomColor = f.border_color_bottom.value;
+		ce.style.borderLeftColor = f.border_color_left.value;
+	} else
+		ce.style.borderColor = f.border_color_top.value;
+
+	// Build list styles
+
+	ce.style.listStyleType = f.list_type.value;
+	ce.style.listStylePosition = f.list_position.value;
+	ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
+
+	// Build positioning styles
+
+	ce.style.position = f.positioning_type.value;
+	ce.style.visibility = f.positioning_visibility.value;
+
+	if (ce.style.width == "")
+		ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
+
+	if (ce.style.height == "")
+		ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
+
+	ce.style.zIndex = f.positioning_zindex.value;
+	ce.style.overflow = f.positioning_overflow.value;
+
+	if (!f.positioning_placement_same.checked) {
+		ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
+		ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
+		ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
+	} else {
+		s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.top = s;
+		ce.style.right = s;
+		ce.style.bottom = s;
+		ce.style.left = s;
+	}
+
+	if (!f.positioning_clip_same.checked) {
+		s = "rect(";
+		s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
+		s += ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	} else {
+		s = "rect(";
+		t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
+		s += t + " ";
+		s += t + " ";
+		s += t + " ";
+		s += t + ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	}
+
+	ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
+}
+
+function isNum(s) {
+	return new RegExp('[0-9]+', 'g').test(s);
+}
+
+function showDisabledControls() {
+	var f = document.forms, i, a;
+
+	for (i=0; i<f.length; i++) {
+		for (a=0; a<f[i].elements.length; a++) {
+			if (f[i].elements[a].disabled)
+				tinyMCE.addCSSClass(f[i].elements[a], "disabled");
+			else
+				tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
+		}
+	}
+}
+
+function fillSelect(f, s, param, dval, sep, em) {
+	var i, ar, p, se;
+
+	f = document.forms[f];
+	sep = typeof(sep) == "undefined" ? ";" : sep;
+
+	if (em)
+		addSelectValue(f, s, "", "");
+
+	ar = tinyMCE.getParam(param, dval).split(sep);
+	for (i=0; i<ar.length; i++) {
+		se = false;
+
+		if (ar[i].charAt(0) == '+') {
+			ar[i] = ar[i].substring(1);
+			se = true;
+		}
+
+		p = ar[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, s, p[0], p[1]);
+
+			if (se)
+				selectByValue(f, s, p[1]);
+		} else {
+			addSelectValue(f, s, p[0], p[0]);
+
+			if (se)
+				selectByValue(f, s, p[0]);
+		}
+	}
+}
+
+function toggleSame(ce, pre) {
+	var el = document.forms[0].elements, i;
+
+	if (ce.checked) {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = true;
+		el[pre + "_bottom"].disabled = true;
+		el[pre + "_left"].disabled = true;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = true;
+			el[pre + "_bottom_measurement"].disabled = true;
+			el[pre + "_left_measurement"].disabled = true;
+		}
+	} else {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = false;
+		el[pre + "_bottom"].disabled = false;
+		el[pre + "_left"].disabled = false;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = false;
+			el[pre + "_bottom_measurement"].disabled = false;
+			el[pre + "_left_measurement"].disabled = false;
+		}
+	}
+
+	showDisabledControls();
+}
+
+function synch(fr, to) {
+	var f = document.forms[0];
+
+	f.elements[to].value = f.elements[fr].value;
+
+	if (f.elements[fr + "_measurement"])
+		selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+// UK lang variables
+
+tinyMCE.addToLang('style',{
+title : 'Edit CSS Style',
+styleinfo_desc : 'Edit CSS Style',
+apply : 'Apply',
+text_tab : 'Text',
+background_tab : 'Background',
+block_tab : 'Block',
+box_tab : 'Box',
+border_tab : 'Border',
+list_tab : 'List',
+positioning_tab : 'Positioning',
+text_props : 'Text',
+text_font : 'Font',
+text_size : 'Size',
+text_weight : 'Weight',
+text_style : 'Style',
+text_variant : 'Variant',
+text_lineheight : 'Line height',
+text_case : 'Case',
+text_color : 'Color',
+text_decoration : 'Decoration',
+text_overline : 'overline',
+text_underline : 'underline',
+text_striketrough : 'strikethrough',
+text_blink : 'blink',
+text_none : 'none',
+background_color : 'Background color',
+background_image : 'Background image',
+background_repeat : 'Repeat',
+background_attachment : 'Attachment',
+background_hpos : 'Horizontal position',
+background_vpos : 'Vertical position',
+block_wordspacing : 'Word spacing',
+block_letterspacing : 'Letter spacing',
+block_vertical_alignment : 'Vertical alignment',
+block_text_align : 'Text align',
+block_text_indent : 'Text indent',
+block_whitespace : 'Whitespace',
+block_display : 'Display',
+box_width : 'Width',
+box_height : 'Height',
+box_float : 'Float',
+box_clear : 'Clear',
+padding : 'Padding',
+same : 'Same for all',
+top : 'Top',
+right : 'Right',
+bottom : 'Bottom',
+left : 'Left',
+margin : 'Margin',
+style : 'Style',
+width : 'Width',
+height : 'Height',
+color : 'Color',
+list_type : 'Type',
+bullet_image : 'Bullet image',
+position : 'Position',
+positioning_type : 'Type',
+visibility : 'Visibility',
+zindex : 'Z-index',
+overflow : 'Overflow',
+placement : 'Placement',
+clip : 'Clip'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,729 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_style_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
+	<link href="css/props.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+
+<body id="styleprops" onLoad="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onSubmit="updateAction();return false;" action="#">
+<div class="tabs">
+	<ul>
+		<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{$lang_style_text_tab}</a></span></li>
+		<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{$lang_style_background_tab}</a></span></li>
+		<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{$lang_style_block_tab}</a></span></li>
+		<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{$lang_style_box_tab}</a></span></li>
+		<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{$lang_style_border_tab}</a></span></li>
+		<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{$lang_style_list_tab}</a></span></li>
+		<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{$lang_style_positioning_tab}</a></span></li>
+	</ul>
+</div>
+
+<div class="panel_wrapper">
+<div id="text_panel" class="panel current">
+	<table border="0" width="100%">
+		<tr>
+			<td><label for="text_font">{$lang_style_text_font}</label></td>
+			<td colspan="3">
+				<select id="text_font" name="text_font" class="mceEditableSelect" onChange="alert(this.options[this.selectedIndex].value);"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_size">{$lang_style_text_size}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="text_size_measurement" name="text_size_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_weight">{$lang_style_text_weight}</label></td>
+			<td>
+				<select id="text_weight" name="text_weight"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_style">{$lang_style_text_style}</label></td>
+			<td>
+				<select id="text_style" name="text_style" class="mceEditableSelect"></select>
+			</td>
+			<td><label for="text_variant">{$lang_style_text_variant}</label></td>
+			<td>
+				<select id="text_variant" name="text_variant"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td>
+							<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
+						</td>
+						<td>&nbsp;</td>
+      <td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_case">{$lang_style_text_case}</label></td>
+			<td>
+				<select id="text_case" name="text_case"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_color">{$lang_style_text_color}</label></td>
+			<td colspan="2">
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="text_color" name="text_color" type="text" value="" size="9" onChange="updateColor('text_color_pick','text_color');" /></td>
+						<td id="text_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td valign="top" style="vertical-align: top; padding-top: 3px;">{$lang_style_text_decoration}</td>
+			<td colspan="2">
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_underline">{$lang_style_text_underline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_overline">{$lang_style_text_overline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_linethrough">{$lang_style_text_striketrough}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_blink">{$lang_style_text_blink}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_none">{$lang_style_text_none}</label></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="background_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="background_color">{$lang_style_background_color}</label></td>
+			<td>
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="background_color" name="background_color" type="text" value="" size="9" onChange="updateColor('background_color_pick','background_color');" /></td>
+						<td id="background_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_image">{$lang_style_background_image}</label></td>
+			<td><table border="0" cellspacing="0" cellpadding="0">
+				<tr> 
+				  <td><input id="background_image" name="background_image" type="text" /></td> 
+				  <td id="background_image_browser">&nbsp;</td>
+				</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
+			<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
+			<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="block_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
+			<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
+			<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
+						<td>&nbsp;</td>
+      <td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
+			<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_display">{$lang_style_block_display}</label></td>
+			<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="box_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="box_width">{$lang_style_box_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_width_measurement" name="box_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
+		<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="box_height">{$lang_style_box_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_height_measurement" name="box_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
+		<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_padding}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_margin}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+
+<div id="border_panel" class="panel">
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr>
+	<td class="tdelim">&nbsp;</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_style}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_width}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_color}</td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
+</tr>
+
+<tr>
+	<td>{$lang_style_top}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onChange="updateColor('border_color_top_pick','border_color_top');" /></td>
+				<td id="border_color_top_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_right}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onChange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
+				<td id="border_color_right_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_bottom}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onChange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
+				<td id="border_color_bottom_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_left}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onChange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
+				<td id="border_color_left_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+</table>
+</div>
+
+<div id="list_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="list_type">{$lang_style_list_type}</label></td>
+			<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
+			<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_position">{$lang_style_position}</label></td>
+			<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="positioning_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
+		<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
+		<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_width">{$lang_style_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
+		<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_height">{$lang_style_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
+		<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_placement}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_clip}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+</div>
+
+<div class="mceActionPanel">
+	<div style="float: left">
+		<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onClick="updateAction();" /></div>
+
+		<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="{$lang_style_apply}" onClick="applyAction();" class="updateButton" /></div>
+		<br style="clear: both" />
+	</div>
+
+	<div style="float: right">
+		<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onClick="tinyMCEPopup.close();" />
+	</div>
+</div>
+</form>
+
+<div style="display: none">
+	<div id="container"></div>
+</div>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_cell_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
+	<link href="css/cell.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td>
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+		
+							<td><label for="celltype">{$lang_table_cell_type}</label></td>
+							<td>
+								<select id="celltype" name="celltype">
+									<option value="td">{$lang_table_td}</option>
+									<option value="th">{$lang_table_th}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td>
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+
+							<td><label for="scope">{$lang_table_scope}</label></td>
+							<td>
+								<select id="scope" name="scope">
+									<option value="">{$lang_not_set}</option>
+									<option value="col">{$lang_table_col}</option>
+									<option value="row">{$lang_table_row}</option>
+									<option value="rowgroup">{$lang_table_rowgroup}</option>
+									<option value="colgroup">{$lang_table_colgroup}</option>
+								</select>
+							</td>
+
+						</tr>
+
+						<tr>
+							<td><label for="width">{$lang_table_width}</label></td>
+							<td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td colspan="3">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="cell">{$lang_table_cell_cell}</option>
+					<option value="row">{$lang_table_cell_row}</option>
+					<option value="all">{$lang_table_cell_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+/* CSS file for cell dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#class {
+	width: 150px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+/* CSS file for row dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#rowtype,#align,#valign,#class,#height {
+	width: 150px;
+}
+
+#height {
+	width: 50px;	
+}
+
+.col2 {
+	padding-left: 20px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/* CSS file for table dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 220px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#class {
+	width: 150px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('table');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler)}inst.tableRowClipboard=null},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_table','table_delete.gif','lang_table_del','mceTableDelete'],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];var cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false))}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1",tdElm;var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal')}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal')}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance)},10)}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true}return false}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan}}function getCellPos(grid,td){var x,y;for(y=0;y<grid.length;y++){for(x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y}}}return null}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null}function getTableGrid(table){var grid=new Array(),rows=table.rows,x,y,td,sd,xstart,x2,y2;for(y=0;y<rows.length;y++){for(x=0;x<rows[y].cells.length;x++){td=rows[y].cells[x];sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(x2=xstart;x2<xstart+sd['colspan'];x2++)grid[y2][x2]=td}}}return grid}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table),cpos=getCellPos(grid,td);var cells,lastElm;if(new_tr.cells.length!=tr.childNodes.length){cells=tr.childNodes;lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td}deleteMarked(tableElm)}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node}return null}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node}}return null}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td)}while((td=nexttd)!=null)}}while((tr=next)!=null)}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR")}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm}return newTR}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value})}return true;case"mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint()}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}trElm.parentNode.insertBefore(newTR,trElm);grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex+1,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR)}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD)}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true}lastTDElm=tdElm}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex+1),tinyMCE.isGecko,true);break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm)}lastTDElm=tdElm}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan)}addRows(tdElm,trElm,rowspan)}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td}}if(rowCells.length>0)rows[rows.length]=rowCells}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td}}}if(rowCells.length>0)rows[rows.length]=rowCells}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y}x2=x;y2=y;grid[y][x]._selected=true}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true}lastRowSpan=sd['rowspan']}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true}lastColSpan=sd['colspan']}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm}if(tdElm.rowSpan>1)tdElm.rowSpan--}}}}break}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint()}return true}return false}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1073 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('table');
+
+var TinyMCE_TablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Tables',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isGecko) {
+			var doc = inst.getDoc();
+			tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
+		}
+
+		inst.tableRowClipboard = null;
+	},
+
+	/**
+	 * Returns the HTML contents of the table control.
+	 */
+	getControlHTML : function(control_name) {
+		var controls = new Array(
+			['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
+			['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
+			['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
+			['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
+			['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
+			['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
+			['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
+			['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
+			['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
+			['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
+			['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
+			['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
+
+		// Render table control
+		for (var i=0; i<controls.length; i++) {
+			var but = controls[i];
+			var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
+
+			if (but[0] == control_name)
+				return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
+		}
+
+		// Special tablecontrols
+		if (control_name == "tablecontrols") {
+			var html = "";
+
+			html += tinyMCE.getControlHTML("table");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_props");
+			html += tinyMCE.getControlHTML("cell_props");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_before");
+			html += tinyMCE.getControlHTML("row_after");
+			html += tinyMCE.getControlHTML("delete_row");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("col_before");
+			html += tinyMCE.getControlHTML("col_after");
+			html += tinyMCE.getControlHTML("delete_col");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("split_cells");
+			html += tinyMCE.getControlHTML("merge_cells");
+
+			return html;
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Is table command
+		switch (command) {
+			case "mceInsertTable":
+			case "mceTableRowProps":
+			case "mceTableCellProps":
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+			case "mceTableDelete":
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				inst.execCommand('mceBeginUndoLevel');
+				TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
+				inst.execCommand('mceEndUndoLevel');
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var colspan = "1", rowspan = "1", tdElm;
+
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Reset table controls
+		tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
+
+		// Within a td element
+		if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
+			tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
+
+			colspan = tinyMCE.getAttrib(tdElm, "colspan");
+			rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
+
+			colspan = colspan == "" ? "1" : colspan;
+			rowspan = rowspan == "" ? "1" : rowspan;
+
+			if (colspan != "1" || rowspan != "1")
+				tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
+		}
+
+		// Within a tr element
+		if (tinyMCE.getParentElement(node, "tr"))
+			tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
+
+		// Within table
+		if (tinyMCE.getParentElement(node, "table")) {
+			tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin internal methods
+
+	_mouseDownHandler : function(e) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var focusElm = tinyMCE.selectedInstance.getFocusElement();
+
+		// If press on special Mozilla create TD/TR thingie
+		if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
+			window.setTimeout(function() {
+				var tableElm = tinyMCE.getParentElement(focusElm, "table");
+				tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+			}, 10);
+		}
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	_doExecCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var focusElm = inst.getFocusElement();
+		var trElm = tinyMCE.getParentElement(focusElm, "tr");
+		var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
+		var tableElm = tinyMCE.getParentElement(focusElm, "table");
+		var doc = inst.contentWindow.document;
+		var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
+
+		// Get first TD if no TD found
+		if (trElm && tdElm == null)
+			tdElm = trElm.cells[0];
+
+		// ------- Inner functions ---------
+		function inArray(ar, v) {
+			for (var i=0; i<ar.length; i++) {
+				// Is array
+				if (ar[i].length > 0 && inArray(ar[i], v))
+					return true;
+
+				// Found value
+				if (ar[i] == v)
+					return true;
+			}
+
+			return false;
+		}
+
+		function makeTD() {
+			var newTD = doc.createElement("td");
+			newTD.innerHTML = "&nbsp;";
+		}
+
+		function getColRowSpan(td) {
+			var colspan = tinyMCE.getAttrib(td, "colspan");
+			var rowspan = tinyMCE.getAttrib(td, "rowspan");
+
+			colspan = colspan == "" ? 1 : parseInt(colspan);
+			rowspan = rowspan == "" ? 1 : parseInt(rowspan);
+
+			return {colspan : colspan, rowspan : rowspan};
+		}
+
+		function getCellPos(grid, td) {
+			var x, y;
+
+			for (y=0; y<grid.length; y++) {
+				for (x=0; x<grid[y].length; x++) {
+					if (grid[y][x] == td)
+						return {cellindex : x, rowindex : y};
+				}
+			}
+
+			return null;
+		}
+
+		function getCell(grid, row, col) {
+			if (grid[row] && grid[row][col])
+				return grid[row][col];
+
+			return null;
+		}
+
+		function getTableGrid(table) {
+			var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
+
+			for (y=0; y<rows.length; y++) {
+				for (x=0; x<rows[y].cells.length; x++) {
+					td = rows[y].cells[x];
+					sd = getColRowSpan(td);
+
+					// All ready filled
+					for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
+
+					// Fill box
+					for (y2=y; y2<y+sd['rowspan']; y2++) {
+						if (!grid[y2])
+							grid[y2] = new Array();
+
+						for (x2=xstart; x2<xstart+sd['colspan']; x2++)
+							grid[y2][x2] = td;
+					}
+				}
+			}
+
+			return grid;
+		}
+
+		function trimRow(table, tr, td, new_tr) {
+			var grid = getTableGrid(table), cpos = getCellPos(grid, td);
+			var cells, lastElm;
+
+			// Time to crop away some
+			if (new_tr.cells.length != tr.childNodes.length) {
+				cells = tr.childNodes;
+				lastElm = null;
+
+				for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
+					var remove = true;
+					var sd = getColRowSpan(td);
+
+					// Remove due to rowspan
+					if (inArray(cells, td)) {
+						new_tr.childNodes[x]._delete = true;
+					} else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
+						for (var i=x; i<x+td.colSpan; i++)
+							new_tr.childNodes[i]._delete = true;
+					}
+
+					if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
+						td.rowSpan = sd.rowspan + 1;
+
+					lastElm = td;
+				}
+
+				deleteMarked(tableElm);
+			}
+		}
+
+		function prevElm(node, name) {
+			while ((node = node.previousSibling) != null) {
+				if (node.nodeName == name)
+					return node;
+			}
+
+			return null;
+		}
+
+		function nextElm(node, names) {
+			var namesAr = names.split(',');
+
+			while ((node = node.nextSibling) != null) {
+				for (var i=0; i<namesAr.length; i++) {
+					if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
+						return node;
+				}
+			}
+
+			return null;
+		}
+
+		function deleteMarked(tbl) {
+			if (tbl.rows == 0)
+				return;
+
+			var tr = tbl.rows[0];
+			do {
+				var next = nextElm(tr, "TR");
+
+				// Delete row
+				if (tr._delete) {
+					tr.parentNode.removeChild(tr);
+					continue;
+				}
+
+				// Delete cells
+				var td = tr.cells[0];
+				if (td.cells > 1) {
+					do {
+						var nexttd = nextElm(td, "TD,TH");
+
+						if (td._delete)
+							td.parentNode.removeChild(td);
+					} while ((td = nexttd) != null);
+				}
+			} while ((tr = next) != null);
+		}
+
+		function addRows(td_elm, tr_elm, rowspan) {
+			// Add rows
+			td_elm.rowSpan = 1;
+			var trNext = nextElm(tr_elm, "TR");
+			for (var i=1; i<rowspan && trNext; i++) {
+				var newTD = doc.createElement("td");
+				newTD.innerHTML = "&nbsp;";
+
+				if (tinyMCE.isMSIE)
+					trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
+				else
+					trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
+
+				trNext = nextElm(trNext, "TR");
+			}
+		}
+
+		function copyRow(doc, table, tr) {
+			var grid = getTableGrid(table);
+			var newTR = tr.cloneNode(false);
+			var cpos = getCellPos(grid, tr.cells[0]);
+			var lastCell = null;
+			var tableBorder = tinyMCE.getAttrib(table, "border");
+			var tdElm = null;
+
+			for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+				var newTD = null;
+
+				if (lastCell != tdElm) {
+					for (var i=0; i<tr.cells.length; i++) {
+						if (tdElm == tr.cells[i]) {
+							newTD = tdElm.cloneNode(true);
+							break;
+						}
+					}
+				}
+
+				if (newTD == null) {
+					newTD = doc.createElement("td");
+					newTD.innerHTML = "&nbsp;";
+				}
+
+				// Reset col/row span
+				newTD.colSpan = 1;
+				newTD.rowSpan = 1;
+
+				newTR.appendChild(newTD);
+
+				lastCell = tdElm;
+			}
+
+			return newTR;
+		}
+
+		// ---- Commands -----
+
+		// Handle commands
+		switch (command) {
+			case "mceTableRowProps":
+				if (trElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/row.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceTableCellProps":
+				if (tdElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/cell.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceInsertTable":
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/table.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
+				}
+
+				return true;
+
+			case "mceTableDelete":
+				var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+				if (table) {
+					table.parentNode.removeChild(table);
+					inst.repaint();
+				}
+				return true;
+
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+				// No table just return (invalid command)
+				if (!tableElm)
+					return true;
+
+				// Table has a tbody use that reference
+				// Changed logic by ApTest 2005.07.12 (www.aptest.com)
+				// Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
+				if (trElm && tableElm != trElm.parentNode)
+					tableElm = trElm.parentNode;
+
+				if (tableElm && trElm) {
+					switch (command) {
+						case "mceTableCutRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							inst.execCommand("mceTableDeleteRow");
+							break;
+
+						case "mceTableCopyRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							break;
+
+						case "mceTablePasteRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							var prevTR = prevElm(trElm, "TR");
+							if (prevTR != null)
+								trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+							break;
+
+						case "mceTablePasteRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+							
+							var nextTR = nextElm(trElm, "TR");
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							trimRow(tableElm, trElm, tdElm, newTR);
+
+							if (nextTR == null)
+								trElm.parentNode.appendChild(newTR);
+							else
+								nextTR.parentNode.insertBefore(newTR, nextTR);
+
+							break;
+
+						case "mceTableInsertRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							if (newTR.hasChildNodes()) {
+								var nextTR = nextElm(trElm, "TR");
+								if (nextTR)
+									nextTR.parentNode.insertBefore(newTR, nextTR);
+								else
+									tableElm.appendChild(newTR);
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+
+							// Only one row, remove whole table
+							if (grid.length == 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Move down row spanned cells
+							var cells = trElm.cells;
+							var nextTR = nextElm(trElm, "TR");
+							for (var x=0; x<cells.length; x++) {
+								if (cells[x].rowSpan > 1) {
+									var newTD = cells[x].cloneNode(true);
+									var sd = getColRowSpan(cells[x]);
+
+									newTD.rowSpan = sd.rowspan - 1;
+
+									var nextTD = nextTR.cells[x];
+
+									if (nextTD == null)
+										nextTR.appendChild(newTD);
+									else
+										nextTR.insertBefore(newTD, nextTD);
+								}
+							}
+
+							// Delete cells
+							var lastTDElm = null;
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd.rowspan > 1) {
+										tdElm.rowSpan = sd.rowspan - 1;
+									} else {
+										trElm = tdElm.parentNode;
+
+										if (trElm.parentNode)
+											trElm._delete = true;
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							deleteMarked(tableElm);
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										tdElm.parentNode.insertBefore(newTD, tdElm);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										var nextTD = nextElm(tdElm, "TD,TH");
+										if (nextTD == null)
+											tdElm.parentNode.appendChild(newTD);
+										else
+											nextTD.parentNode.insertBefore(newTD, nextTD);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteCol":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							// Only one col, remove whole table
+							if (grid.length > 1 && grid[0].length <= 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Delete cells
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] > 1)
+										tdElm.colSpan = sd['colspan'] - 1;
+									else {
+										if (tdElm.parentNode)
+											tdElm.parentNode.removeChild(tdElm);
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							cpos.cellindex--;
+							if (cpos.cellindex < 0)
+								cpos.cellindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+					case "mceTableSplitCells":
+						if (!trElm || !tdElm)
+							return true;
+
+						var spandata = getColRowSpan(tdElm);
+
+						var colspan = spandata["colspan"];
+						var rowspan = spandata["rowspan"];
+
+						// Needs splitting
+						if (colspan > 1 || rowspan > 1) {
+							// Generate cols
+							tdElm.colSpan = 1;
+							for (var i=1; i<colspan; i++) {
+								var newTD = doc.createElement("td");
+
+								newTD.innerHTML = "&nbsp;";
+
+								trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
+
+								if (rowspan > 1)
+									addRows(newTD, trElm, rowspan);
+							}
+
+							addRows(tdElm, trElm, rowspan);
+						}
+
+						// Apply visual aids
+						tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+						break;
+
+					case "mceTableMergeCells":
+						var rows = new Array();
+						var sel = inst.getSel();
+						var grid = getTableGrid(tableElm);
+
+						if (tinyMCE.isMSIE || sel.rangeCount == 1) {
+							if (user_interface) {
+								// Setup template
+								var template = new Array();
+								var sp = getColRowSpan(tdElm);
+
+								template['file'] = '../../plugins/table/merge_cells.htm';
+								template['width'] = 250;
+								template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
+
+								// Language specific width and height addons
+								template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
+								template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
+
+								// Open window
+								tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
+
+								return true;
+							} else {
+								var numRows = parseInt(value['numrows']);
+								var numCols = parseInt(value['numcols']);
+								var cpos = getCellPos(grid, tdElm);
+
+								if (("" + numRows) == "NaN")
+									numRows = 1;
+
+								if (("" + numCols) == "NaN")
+									numCols = 1;
+
+								// Get rows and cells
+								var tRows = tableElm.rows;
+								for (var y=cpos.rowindex; y<grid.length; y++) {
+									var rowCells = new Array();
+
+									for (var x=cpos.cellindex; x<grid[y].length; x++) {
+										var td = getCell(grid, y, x);
+
+										if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
+											var cp = getCellPos(grid, td);
+
+											// Within range
+											if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
+												rowCells[rowCells.length] = td;
+										}
+									}
+
+									if (rowCells.length > 0)
+										rows[rows.length] = rowCells;
+								}
+
+								//return true;
+							}
+						} else {
+							var cells = new Array();
+							var sel = inst.getSel();
+							var lastTR = null;
+							var curRow = null;
+							var x1 = -1, y1 = -1, x2, y2;
+
+							// Only one cell selected, whats the point?
+							if (sel.rangeCount < 2)
+								return true;
+
+							// Get all selected cells
+							for (var i=0; i<sel.rangeCount; i++) {
+								var rng = sel.getRangeAt(i);
+								var tdElm = rng.startContainer.childNodes[rng.startOffset];
+
+								if (!tdElm)
+									break;
+
+								if (tdElm.nodeName == "TD")
+									cells[cells.length] = tdElm;
+							}
+
+							// Get rows and cells
+							var tRows = tableElm.rows;
+							for (var y=0; y<tRows.length; y++) {
+								var rowCells = new Array();
+
+								for (var x=0; x<tRows[y].cells.length; x++) {
+									var td = tRows[y].cells[x];
+
+									for (var i=0; i<cells.length; i++) {
+										if (td == cells[i]) {
+											rowCells[rowCells.length] = td;
+										}
+									}
+								}
+
+								if (rowCells.length > 0)
+									rows[rows.length] = rowCells;
+							}
+
+							// Find selected cells in grid and box
+							var curRow = new Array();
+							var lastTR = null;
+							for (var y=0; y<grid.length; y++) {
+								for (var x=0; x<grid[y].length; x++) {
+									grid[y][x]._selected = false;
+
+									for (var i=0; i<cells.length; i++) {
+										if (grid[y][x] == cells[i]) {
+											// Get start pos
+											if (x1 == -1) {
+												x1 = x;
+												y1 = y;
+											}
+
+											// Get end pos
+											x2 = x;
+											y2 = y;
+
+											grid[y][x]._selected = true;
+										}
+									}
+								}
+							}
+
+							// Is there gaps, if so deny
+							for (var y=y1; y<=y2; y++) {
+								for (var x=x1; x<=x2; x++) {
+									if (!grid[y][x]._selected) {
+										alert("Invalid selection for merge.");
+										return true;
+									}
+								}
+							}
+						}
+
+						// Validate selection and get total rowspan and colspan
+						var rowSpan = 1, colSpan = 1;
+
+						// Validate horizontal and get total colspan
+						var lastRowSpan = -1;
+						for (var y=0; y<rows.length; y++) {
+							var rowColSpan = 0;
+
+							for (var x=0; x<rows[y].length; x++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								rowColSpan += sd['colspan'];
+
+								if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastRowSpan = sd['rowspan'];
+							}
+
+							if (rowColSpan > colSpan)
+								colSpan = rowColSpan;
+
+							lastRowSpan = -1;
+						}
+
+						// Validate vertical and get total rowspan
+						var lastColSpan = -1;
+						for (var x=0; x<rows[0].length; x++) {
+							var colRowSpan = 0;
+
+							for (var y=0; y<rows.length; y++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								colRowSpan += sd['rowspan'];
+
+								if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastColSpan = sd['colspan'];
+							}
+
+							if (colRowSpan > rowSpan)
+								rowSpan = colRowSpan;
+
+							lastColSpan = -1;
+						}
+
+						// Setup td
+						tdElm = rows[0][0];
+						tdElm.rowSpan = rowSpan;
+						tdElm.colSpan = colSpan;
+
+						// Merge cells
+						for (var y=0; y<rows.length; y++) {
+							for (var x=0; x<rows[y].length; x++) {
+								var html = rows[y][x].innerHTML;
+								var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
+
+								if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
+									tdElm.innerHTML += html;
+
+								// Not current cell
+								if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
+									var cpos = getCellPos(grid, rows[y][x]);
+									var tr = rows[y][x].parentNode;
+
+									tr.removeChild(rows[y][x]);
+									rows[y][x]._deleted = true;
+
+									// Empty TR, remove it
+									if (!tr.hasChildNodes()) {
+										tr.parentNode.removeChild(tr);
+
+										var lastCell = null;
+										for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
+											if (cellElm != lastCell && cellElm.rowSpan > 1)
+												cellElm.rowSpan--;
+
+											lastCell = cellElm;
+										}
+
+										if (tdElm.rowSpan > 1)
+											tdElm.rowSpan--;
+									}
+								}
+							}
+						}
+
+						break;
+					}
+
+					tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+					tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+					tinyMCE.triggerNodeChange();
+					inst.repaint();
+				}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("table", TinyMCE_TablePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
+
+	// Get table cell data
+	var celltype = tdElm.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(tdElm, 'align');
+	var valign = tinyMCE.getAttrib(tdElm, 'valign');
+	var width = trimSize(getStyle(tdElm, 'width', 'width'));
+	var height = trimSize(getStyle(tdElm, 'height', 'height'));
+	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
+	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(tdElm, 'id');
+	var lang = tinyMCE.getAttrib(tdElm, 'lang');
+	var dir = tinyMCE.getAttrib(tdElm, 'dir');
+	var scope = tinyMCE.getAttrib(tdElm, 'scope');
+
+	// Setup form
+	addClassesToList('class', 'table_cell_styles');
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'celltype', celltype);
+	selectByValue(formObj, 'dir', dir);
+	selectByValue(formObj, 'scope', scope);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (getSelectValue(formObj, 'action')) {
+		case "cell":
+			var celltype = getSelectValue(formObj, 'celltype');
+			var scope = getSelectValue(formObj, 'scope');
+
+			if (tinyMCE.getParam("accessibility_warnings")) {
+				if (celltype == "th" && scope == "")
+					var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
+				else
+					var answer = true;
+
+				if (!answer)
+					return;
+			}
+
+			updateCell(tdElm);
+			break;
+
+		case "row":
+			var cell = trElm.firstChild;
+
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
+				cell = nextCell(cell);
+
+			do {
+				cell = updateCell(cell, true);
+			} while ((cell = nextCell(cell)) != null);
+
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				var cell = rows[i].firstChild;
+
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
+					cell = nextCell(cell);
+
+				do {
+					cell = updateCell(cell, true);
+				} while ((cell = nextCell(cell)) != null);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function nextCell(elm) {
+	while ((elm = elm.nextSibling) != null) {
+		if (elm.nodeName == "TD" || elm.nodeName == "TH")
+			return elm;
+	}
+
+	return null;
+}
+
+function updateCell(td, skip_id) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curCellType = td.nodeName.toLowerCase();
+	var celltype = getSelectValue(formObj, 'celltype');
+	var doc = inst.getDoc();
+
+	if (!skip_id)
+		td.setAttribute('id', formObj.id.value);
+
+	td.setAttribute('align', formObj.align.value);
+	td.setAttribute('vAlign', formObj.valign.value);
+	td.setAttribute('lang', formObj.lang.value);
+	td.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	td.setAttribute('scope', formObj.scope.value);
+	tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tinyMCE.setAttrib(td, 'width', '');
+	tinyMCE.setAttrib(td, 'height', '');
+	tinyMCE.setAttrib(td, 'bgColor', '');
+	tinyMCE.setAttrib(td, 'borderColor', '');
+	tinyMCE.setAttrib(td, 'background', '');
+
+	// Set styles
+	td.style.width = getCSSSize(formObj.width.value);
+	td.style.height = getCSSSize(formObj.height.value);
+	if (formObj.bordercolor.value != "") {
+		td.style.borderColor = formObj.bordercolor.value;
+		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
+		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
+	} else
+		td.style.borderColor = '';
+
+	td.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		td.style.backgroundImage = '';
+
+	if (curCellType != celltype) {
+		// changing to a different node type
+		var newCell = doc.createElement(celltype);
+
+		for (var c=0; c<td.childNodes.length; c++)
+			newCell.appendChild(td.childNodes[c].cloneNode(1));
+
+		for (var a=0; a<td.attributes.length; a++) {
+			var attr = td.attributes[a];
+			newCell.setAttribute(attr.name, attr.value);
+		}
+
+		td.parentNode.replaceChild(newCell, td);
+		td = newCell;
+	}
+
+	return td;
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = getCSSSize(width);
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+	st['border-color'] = formObj.bordercolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
+	formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
+}
+
+function mergeCells() {
+	var args = new Array();
+	var formObj = document.forms[0];
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	args["numcols"] = formObj.numcols.value;
+	args["numrows"] = formObj.numrows.value;
+
+	tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,200 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
+
+	// Get table row data
+	var rowtype = trElm.parentNode.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(trElm, 'align');
+	var valign = tinyMCE.getAttrib(trElm, 'valign');
+	var height = trimSize(getStyle(trElm, 'height', 'height'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
+	var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
+	var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(trElm, 'id');
+	var lang = tinyMCE.getAttrib(trElm, 'lang');
+	var dir = tinyMCE.getAttrib(trElm, 'dir');
+
+	// Setup form
+	addClassesToList('class', 'table_row_styles');
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'rowtype', rowtype);
+	selectByValue(formObj, 'dir', dir);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+	var action = getSelectValue(formObj, 'action');
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (action) {
+		case "row":
+			updateRow(trElm);
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++)
+				updateRow(rows[i], true);
+
+			break;
+
+		case "odd":
+		case "even":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
+					updateRow(rows[i], true, true);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function updateRow(tr_elm, skip_id, skip_parent) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
+	var rowtype = getSelectValue(formObj, 'rowtype');
+	var doc = inst.getDoc();
+
+	// Update row element
+	if (!skip_id)
+		tr_elm.setAttribute('id', formObj.id.value);
+
+	tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
+	tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
+	tr_elm.setAttribute('lang', formObj.lang.value);
+	tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tr_elm.setAttribute('background', '');
+	tr_elm.setAttribute('bgColor', '');
+	tr_elm.setAttribute('height', '');
+
+	// Set styles
+	tr_elm.style.height = getCSSSize(formObj.height.value);
+	tr_elm.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		tr_elm.style.backgroundImage = '';
+
+	// Setup new rowtype
+	if (curRowType != rowtype && !skip_parent) {
+		// first, clone the node we are working on
+		var newRow = tr_elm.cloneNode(1);
+
+		// next, find the parent of its new destination (creating it if necessary)
+		var theTable = tinyMCE.getParentElement(tr_elm, "table");
+		var dest = rowtype;
+		var newParent = null;
+		for (var i = 0; i < theTable.childNodes.length; i++) {
+			if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
+				newParent = theTable.childNodes[i];
+		}
+
+		if (newParent == null) {
+			newParent = doc.createElement(dest);
+
+			if (dest == "thead")
+				theTable.insertBefore(newParent, theTable.firstChild);
+			else
+				theTable.appendChild(newParent);
+		}
+
+		// append the row to the new parent
+		newParent.appendChild(newRow);
+
+		// remove the original
+		tr_elm.parentNode.removeChild(tr_elm);
+
+		// set tr_elm to the new node
+		tr_elm = newRow;
+	}
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,364 @@
+var action, orgTableWidth, orgTableHeight;
+
+function insertTable() {
+	var formObj = document.forms[0];
+	var inst = tinyMCE.selectedInstance;
+	var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption;
+	var html = '', capEl;
+	var elm = tinyMCE.tableElm;
+	var cellLimit, rowLimit, colLimit;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	tinyMCEPopup.restoreSelection();
+
+	// Get form data
+	cols = formObj.elements['cols'].value;
+	rows = formObj.elements['rows'].value;
+	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+	cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
+	cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
+	align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
+	width = formObj.elements['width'].value;
+	height = formObj.elements['height'].value;
+	bordercolor = formObj.elements['bordercolor'].value;
+	bgcolor = formObj.elements['bgcolor'].value;
+	className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
+	id = formObj.elements['id'].value;
+	summary = formObj.elements['summary'].value;
+	style = formObj.elements['style'].value;
+	dir = formObj.elements['dir'].value;
+	lang = formObj.elements['lang'].value;
+	background = formObj.elements['backgroundimage'].value;
+	caption = formObj.elements['caption'].checked;
+
+	cellLimit = tinyMCE.getParam('table_cell_limit', false);
+	rowLimit = tinyMCE.getParam('table_row_limit', false);
+	colLimit = tinyMCE.getParam('table_col_limit', false);
+
+	// Validate table size
+	if (colLimit && cols > colLimit) {
+		alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
+		return false;
+	} else if (rowLimit && rows > rowLimit) {
+		alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
+		return false;
+	} else if (cellLimit && cols * rows > cellLimit) {
+		alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
+		return false;
+	}
+
+	// Update table
+	if (action == "update") {
+		inst.execCommand('mceBeginUndoLevel');
+
+		tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
+		tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
+		tinyMCE.setAttrib(elm, 'border', border, true);
+		tinyMCE.setAttrib(elm, 'align', align);
+		tinyMCE.setAttrib(elm, 'class', className);
+		tinyMCE.setAttrib(elm, 'style', style);
+		tinyMCE.setAttrib(elm, 'id', id);
+		tinyMCE.setAttrib(elm, 'summary', summary);
+		tinyMCE.setAttrib(elm, 'dir', dir);
+		tinyMCE.setAttrib(elm, 'lang', lang);
+
+		capEl = elm.getElementsByTagName('caption')[0];
+
+		if (capEl && !caption)
+			capEl.parentNode.removeChild(capEl);
+
+		if (!capEl && caption) {
+			capEl = elm.ownerDocument.createElement('caption');
+			capEl.innerHTML = '&nbsp;';
+			elm.insertBefore(capEl, elm.firstChild);
+		}
+
+		// Not inline styles
+		if (!tinyMCE.getParam("inline_styles"))
+			tinyMCE.setAttrib(elm, 'width', width, true);
+
+		// Remove these since they are not valid XHTML
+		tinyMCE.setAttrib(elm, 'borderColor', '');
+		tinyMCE.setAttrib(elm, 'bgColor', '');
+		tinyMCE.setAttrib(elm, 'background', '');
+		tinyMCE.setAttrib(elm, 'height', '');
+
+		if (background != '')
+			elm.style.backgroundImage = "url('" + background + "')";
+		else
+			elm.style.backgroundImage = '';
+
+		if (tinyMCE.getParam("inline_styles"))
+			elm.style.borderWidth = border + "px";
+
+		if (tinyMCE.getParam("inline_styles")) {
+			if (width != '')
+				elm.style.width = getCSSSize(width);
+		}
+
+		if (bordercolor != "") {
+			elm.style.borderColor = bordercolor;
+			elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle;
+			elm.style.borderWidth = border == "" ? "1px" : border;
+		} else
+			elm.style.borderColor = '';
+
+		elm.style.backgroundColor = bgcolor;
+		elm.style.height = getCSSSize(height);
+
+		tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
+
+		// Fix for stange MSIE align bug
+		tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+		tinyMCE.triggerNodeChange();
+		inst.execCommand('mceEndUndoLevel');
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
+			inst.repaint();
+
+		tinyMCEPopup.close();
+		return true;
+	}
+
+	// Create new table
+	html += '<table';
+
+	html += makeAttrib('id', id);
+	html += makeAttrib('border', border);
+	html += makeAttrib('cellpadding', cellpadding);
+	html += makeAttrib('cellspacing', cellspacing);
+	html += makeAttrib('width', width);
+	//html += makeAttrib('height', height);
+	//html += makeAttrib('bordercolor', bordercolor);
+	//html += makeAttrib('bgcolor', bgcolor);
+	html += makeAttrib('align', align);
+	html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
+	html += makeAttrib('style', style);
+	html += makeAttrib('summary', summary);
+	html += makeAttrib('dir', dir);
+	html += makeAttrib('lang', lang);
+	html += '>';
+
+	if (caption)
+		html += '<caption>&nbsp;</caption>';
+
+	for (var y=0; y<rows; y++) {
+		html += "<tr>";
+
+		for (var x=0; x<cols; x++)
+			html += '<td>&nbsp;</td>';
+
+		html += "</tr>";
+	}
+
+	html += "</table>";
+
+	inst.execCommand('mceBeginUndoLevel');
+	inst.execCommand('mceInsertContent', false, html);
+	tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
+	inst.execCommand('mceEndUndoLevel');
+
+	tinyMCEPopup.close();
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', '');
+	var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
+	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+
+	tinyMCE.tableElm = elm;
+	action = tinyMCE.getWindowArg('action');
+	if (action == null)
+		action = tinyMCE.tableElm ? "update" : "insert";
+
+	if (tinyMCE.tableElm && action != "insert") {
+		var rowsAr = tinyMCE.tableElm.rows;
+		var cols = 0;
+		for (var i=0; i<rowsAr.length; i++)
+			if (rowsAr[i].cells.length > cols)
+				cols = rowsAr[i].cells.length;
+
+		cols = cols;
+		rows = rowsAr.length;
+
+		st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
+		border = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
+		cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
+		width = trimSize(getStyle(elm, 'width', 'width'));
+		height = trimSize(getStyle(elm, 'height', 'height'));
+		bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
+		bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
+		align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
+		className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
+		id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
+		summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
+		style = tinyMCE.serializeStyle(st);
+		dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
+		lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
+		background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+		formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0;
+
+		orgTableWidth = width;
+		orgTableHeight = height;
+
+		action = "update";
+	}
+
+	addClassesToList('class', "table_styles");
+
+	// Update form
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'class', className);
+	formObj.cols.value = cols;
+	formObj.rows.value = rows;
+	formObj.border.value = border;
+	formObj.cellpadding.value = cellpadding;
+	formObj.cellspacing.value = cellspacing;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.id.value = id;
+	formObj.summary.value = summary;
+	formObj.style.value = style;
+	formObj.dir.value = dir;
+	formObj.lang.value = lang;
+	formObj.backgroundimage.value = background;
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	// Disable some fields in update mode
+	if (action == "update") {
+		formObj.cols.disabled = true;
+		formObj.rows.disabled = true;
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBorder() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	// Update border width if the element has a color
+	if (formObj.border.value != "" && formObj.bordercolor.value != "")
+		st['border-width'] = formObj.border.value + "px";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	if (formObj.bordercolor.value != "") {
+		st['border-color'] = formObj.bordercolor.value;
+
+		// Add border-width if it's missing
+		if (!st['border-width'])
+			st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'General',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+advanced_props : 'Advanced properties',
+desc : 'Inserts a new table',
+row_before_desc : 'Insert row before',
+row_after_desc : 'Insert row after',
+delete_row_desc : 'Delete row',
+col_before_desc : 'Insert column before',
+col_after_desc : 'Insert column after',
+delete_col_desc : 'Remove column',
+rowtype : 'Row in table part',
+title : 'Insert/Modify table',
+width : 'Width',
+height : 'Height',
+cols : 'Columns',
+rows : 'Rows',
+cellspacing : 'Cellspacing',
+cellpadding : 'Cellpadding',
+border : 'Border',
+align : 'Alignment',
+align_default : 'Default',
+align_left : 'Left',
+align_right : 'Right',
+align_middle : 'Center',
+row_title : 'Table row properties',
+cell_title : 'Table cell properties',
+cell_type : 'Cell type',
+row_desc : 'Table row properties',
+cell_desc : 'Table cell properties',
+valign : 'Vertical alignment',
+align_top : 'Top',
+align_bottom : 'Bottom',
+props_desc : 'Table properties',
+bordercolor : 'Border color',
+bgcolor : 'Background color',
+merge_cells_title : 'Merge table cells',
+split_cells_desc : 'Split table cells',
+merge_cells_desc : 'Merge table cells',
+cut_row_desc : 'Cut table row',
+copy_row_desc : 'Copy table row',
+paste_row_before_desc : 'Paste table row before',
+paste_row_after_desc : 'Paste table row after',
+id : 'Id',
+style: 'Style',
+langdir : 'Language direction',
+langcode : 'Language code',
+mime : 'Target MIME type',
+ltr : 'Left to right',
+rtl : 'Right to left',
+bgimage : 'Background image',
+summary : 'Summary',
+td : "Data",
+th : "Header",
+cell_cell : 'Update current cell',
+cell_row : 'Update all cells in row',
+cell_all : 'Update all cells in table',
+row_row : 'Update current row',
+row_odd : 'Update odd rows in table',
+row_even : 'Update even rows in table',
+row_all : 'Update all rows in table',
+thead : 'Table Head',
+tbody : 'Table Body',
+tfoot : 'Table Foot',
+del : 'Delete table',
+scope : 'Scope',
+row : 'Row',
+col : 'Col',
+rowgroup : 'Row Group',
+colgroup : 'Col Group',
+col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
+row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
+cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
+missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
+caption : 'Table caption'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_merge_cells_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
+<form onsubmit="insertTable();return false;" action="#">
+	<fieldset>
+		<legend>{$lang_table_merge_cells_title}</legend>
+		  <table border="0" cellpadding="0" cellspacing="3" width="100%">
+			  <tr>
+				<td>{$lang_table_cols}:</td>
+				<td align="right"><input type="text" name="numcols" value="" class="number min1" style="width: 30px" /></td>
+				<td>
+			  </tr>
+			  <tr>
+				<td>{$lang_table_rows}:</td>
+				<td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
+			  </tr>
+		  </table>
+	</fieldset>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_row_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
+	<link href="css/row.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="rowtype">{$lang_table_rowtype}</label></td>
+							<td class="col2">
+								<select id="rowtype" name="rowtype">
+									<option value="thead">{$lang_table_thead}</option>
+									<option value="tbody">{$lang_table_tbody}</option>
+									<option value="tfoot">{$lang_table_tfoot}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td class="col2">
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td class="col2">
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td class="col2">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="row">{$lang_table_row_row}</option>
+					<option value="odd">{$lang_table_row_odd}</option>
+					<option value="even">{$lang_table_row_even}</option>
+					<option value="all">{$lang_table_row_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
+	<link href="css/table.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="insertTable();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					  <table border="0" cellpadding="4" cellspacing="0" width="100%">
+							  <tr>
+								<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
+								<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+								<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
+								<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
+								<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
+								<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
+								<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
+								<td><select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								  </select></td>
+								<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
+								<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
+							  </tr>
+							  <tr id="width_row">
+								<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
+								<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+								<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
+								<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+							  </tr>
+							  <tr id="styleSelectRow">
+								<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
+								<td colspan="3">
+								 <select id="class" name="class">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select></td>
+							  </tr>
+							  <tr>
+								<td class="column1"><label for="caption">{$lang_table_caption}</label></td> 
+								<td><input id="caption" name="caption" type="checkbox" value="true" /></td> 
+							  </tr>
+							</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="summary">{$lang_table_summary}</label></td> 
+							<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" class="advfield"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" class="advfield" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script type="text/javascript">
+		var tinyMCE = parent.tinyMCE, css = tinyMCE.getParam("content_css").split(','), i, u;
+
+		// Load content CSS files
+		for (i=0; i<css.length; i++) {
+			u = css[i];
+
+			// Fix relative
+			if (u.charAt(0) != '/' && u.indexOf('://') == -1)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			document.write('<link href="' + u + '" rel="stylesheet" type="text/css" />');
+		}
+	</script>
+</head>
+<body id="mceTemplatePreview">
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+#frmbody {
+	padding: 10px;
+	background-color: #FFF;
+	border: 1px solid #CCC;
+}
+
+.frmRow {
+	margin-bottom: 10px;
+}
+
+#templatesrc {
+	border: none;
+	width: 320px;
+	height: 240px;
+}
+
+.title {
+	padding-bottom: 5px;
+}
+
+.mceActionPanel {
+	padding-top: 5px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('template');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){var cdate,mdate,content,x=0,key,value,rvals,ds=inst.getData('template');cdate=tinyMCE.getParam("template_cdate_classes",'').split(/\s+/);mdate=tinyMCE.getParam("template_mdate_classes",'').split(/\s+/);content=tinyMCE.getParam("template_selected_content_classes",'').split(/\s+/);for(x=0;x<cdate.length;x++)TinyMCE_TemplatePlugin.functions[cdate[x]]=TinyMCE_TemplatePlugin.functions['cdate'];for(x=0;x<mdate.length;x++)TinyMCE_TemplatePlugin.functions[mdate[x]]=TinyMCE_TemplatePlugin.functions['mdate'];for(x=0;x<content.length;x++)TinyMCE_TemplatePlugin.functions[content[x]]=TinyMCE_TemplatePlugin.functions['selectedContent'];rvals=tinyMCE.getParam("template_replace_values",false);for(key in rvals){value=rvals[key];if(typeof value=="function")TinyMCE_TemplatePlugin.functions[key]=value;else TinyMCE_TemplatePlugin.functions[key]=TinyMCE_TemplatePlugin.functions['generateReplacer'](value)}rvals=tinyMCE.getParam("template_replace_values",false);ds.replace_items={};for(key in rvals)ds.replace_items[key]=rvals[key];inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');ds.currentAction="insert";ds.currentTmplNode=null},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var nodeArray,current,newTmpl,x,inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template'),telm;switch(command){case"mceTemplate":if(user_interface){tinyMCE.openWindow({file:'../../plugins/template/template.htm',width:tinyMCE.getParam('template_popup_width',750),height:tinyMCE.getParam('template_popup_height',600)},{editor_id:editor_id,resizable:"yes",scrollbars:"no",pluginObj:TinyMCE_TemplatePlugin})}else{telm=TinyMCE_TemplatePlugin._convertToNode(value.body);nodeArray=tinyMCE.selectElements(telm,'div',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});telm=nodeArray.length>0?nodeArray[0]:null;nodeArray=[];if(ds.currentAction=="insert"){if(telm){tinyMCE.execCommand('mceBeginUndoLevel');ds.currentAction="insert-new";TinyMCE_TemplatePlugin._insertTemplate(editor_id,telm,value.title,value.tsrc,true);ds.currentAction=="insert";tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}else tinyMCE.execCommand('mceInsertContent',false,this._replaceValues(value.body))}else{nodeArray=TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);current=[];newTmpl=[];tinyMCE.getNodeTree(telm,newTmpl);for(x=0;x<nodeArray.length;x++)tinyMCE.getNodeTree(nodeArray[x],current);var _test=function(elm){var replaced=true;if(elm.className){var names=elm.className.split(/\s+/),c,n;for(c=0;c<names.length;c++){if(names[c].match(/^mce/i))continue;for(n=0;n<newTmpl.length;n++){replaced=false;if(newTmpl[n].className&&newTmpl[n].className.match(new RegExp(names[c],"gi"))){newTmpl[n].innerHTML=elm.innerHTML;replaced=true;break}}}}return replaced};var cont=true;var asked=false;for(x=0;x<current.length;x++){if(!_test(current[x])){cont=(asked||confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?","Proceed?"));asked=true;if(!cont)break}};if(cont){tinyMCE.execCommand('mceBeginUndoLevel');TinyMCE_TemplatePlugin._replaceTemplateContent(current[0],editor_id,telm,value.title,value.tsrc);tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}}tinyMCE.triggerNodeChange(true)}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template');if(tinyMCE.hasCSSClass(node,TinyMCE_TemplatePlugin.TMPL_ELEMENT)||tinyMCE.hasCSSClass(node.parentNode,TinyMCE_TemplatePlugin.TMPL_ELEMENT)){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');ds.currentAction="update";ds.currentTmplNode=node;return true}ds.currentAction="insert";ds.currentTmplNode=null;tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');return false},cleanup:function(type,content,inst){var nodes=[];switch(type){case"get_from_editor":content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->');content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">(\s|&nbsp;|&#160;)?(<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->|\s)?</div>','gi'),'');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->');break;case"insert_to_editor":content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->','gi'),'<div class="'+TinyMCE_TemplatePlugin.TMPL+'">');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>');break;case"get_from_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break;case"insert_to_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break}return content},_convertToNode:function(html){var elm=document.createElement('div');elm.innerHTML=html;return elm},_prepareTemplateContent:function(elms){var x,n,nodes=[];if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++)tinyMCE.getNodeTree(elms[x],nodes,1);for(n=0;n<nodes.length;n++){tinyMCE.addCSSClass(nodes[n],TinyMCE_TemplatePlugin.TMPL_ELEMENT);TinyMCE_TemplatePlugin._applyFunctions(nodes[n],TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)}return elms},_replaceValues:function(s){var t=this,ds=tinyMCE.selectedInstance.getData('template');return s.replace(/\{\$([^\}]+)\}/g,function(a,b){var it=ds.replace_items[b];if(it){if(typeof(it)!='function')return it}return b})},_applyFunctions:function(elms,editor_event){var x,elm,names,c,f;if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++){elm=elms[x];if(elm.className){names=elm.className.split(/\s+/);for(c=0;c<names.length;c++){if(names[c]==TinyMCE_TemplatePlugin.TMPL_ELEMENT)continue;f=(TinyMCE_TemplatePlugin.functions[names[c]]?TinyMCE_TemplatePlugin.functions[names[c]]:TinyMCE_TemplatePlugin.functions['blank']);f(elm,editor_event)}}}return elms},_collectTemplateElements:function(node){var nodeArray=[],p;p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)tinyMCE.getNodeTree(p,nodeArray);return nodeArray},_replaceTemplateContent:function(currentNode,editor_id,newTemplate,title,tsrc){TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);TinyMCE_TemplatePlugin._insertTemplate(editor_id,newTemplate,title,tsrc,false)},_deleteTemplateContent:function(node){var p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)p.parentNode.removeChild(p,true)},_insertTemplate:function(editor_id,elm,title,tsrc,incComments){var html;TinyMCE_TemplatePlugin._prepareTemplateContent(elm);html='<div class="'+TinyMCE_TemplatePlugin.TMPL+'">';html+=elm.innerHTML;html+='<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,html)},functions:{blank:function(elm,editor_event){},cdate:function(elm,editor_event){var d,dsrc;if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;d=new Date();dsrc=elm.innerHTML.match(new RegExp("<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":(.*)  -->","gi"));if(dsrc)d=new Date(RegExp.$1);elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_cdate_format",tinyMCE.getLang("lang_template_def_date_format")));elm.innerHTML+="<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":"+d.toUTCString()+"  -->"},mdate:function(elm,editor_event){var d=new Date();elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_mdate_format",tinyMCE.getLang("lang_template_def_date_format")))},selectedContent:function(elm,editor_event){var ds=tinyMCE.selectedInstance.getData('template');if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;if(ds.currentAction=="insert-new"&&!tinyMCE.hasCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)){elm.innerHTML=tinyMCE.selectedInstance.selection.getSelectedHTML();tinyMCE.addCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)}},generateReplacer:function(s){return function(elm,editor_event){elm.innerHTML=""+s}}},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length<len){for(i=0;i<(len-value.length);i++)value="0"+value}return value}fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_template_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_template_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt},TMPL_ELEMENT:'mceTmplElm',TMPL:'mceTmpl',TMPL_BEGINS:'mceTmplBegins',TMPL_SEL_HTML_DONE:'mceSelHTMLDone',TMPL_ENDS:'mceTmplEnds',TMPL_DATE_SRC_ATTR:'mcetmpldtesrc',TMPL_TEMPLATE_EVENT:'prepare_template'};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,551 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('template');
+
+var TinyMCE_TemplatePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Template plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://www.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		var cdate, mdate, content, x = 0, key, value, rvals, ds = inst.getData('template');
+
+		// ensure the required elements and sttributes are added
+		//inst.cleanup.addRuleStr('*[' + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + '],div[title,tsrc]');
+
+		//setup template content functions
+		// creation date and modified date classes
+		cdate = tinyMCE.getParam("template_cdate_classes", '').split(/\s+/);
+		mdate = tinyMCE.getParam("template_mdate_classes", '').split(/\s+/);
+
+		// classes that specify where selected content should go
+		content = tinyMCE.getParam("template_selected_content_classes", '').split(/\s+/);
+
+		for (x = 0; x < cdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[cdate[x]] = TinyMCE_TemplatePlugin.functions['cdate'];	
+
+		for (x = 0; x < mdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[mdate[x]] = TinyMCE_TemplatePlugin.functions['mdate'];
+
+		for (x = 0; x < content.length; x++)
+			TinyMCE_TemplatePlugin.functions[content[x]] = TinyMCE_TemplatePlugin.functions['selectedContent'];
+
+		// special template functions for replacing template content
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		for (key in rvals) {
+			value = rvals[key];
+
+			if (typeof value == "function")
+				TinyMCE_TemplatePlugin.functions[key] = value;
+			else
+				TinyMCE_TemplatePlugin.functions[key] = TinyMCE_TemplatePlugin.functions['generateReplacer'](value);
+		}
+
+		// Setup replace_items
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		ds.replace_items = {};
+
+		for (key in rvals)
+			ds.replace_items[key] = rvals[key];
+
+		inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate');
+
+		// Setup data storage
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "template":
+				return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var nodeArray, current, newTmpl, x, inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template'), telm;
+
+		switch (command) {
+			case "mceTemplate":
+				if (user_interface) {
+					// called from toolbar button - show the popup
+					tinyMCE.openWindow({
+						file : '../../plugins/template/template.htm', // Relative to theme
+						width : tinyMCE.getParam('template_popup_width', 750),
+						height : tinyMCE.getParam('template_popup_height', 600)
+					}, {editor_id : editor_id, resizable : "yes", scrollbars : "no", pluginObj : TinyMCE_TemplatePlugin});
+				} else {
+					// internal command do the template stuff
+
+					// get the returned HTML string from the pop-up and appened it to a DIV element
+					telm = TinyMCE_TemplatePlugin._convertToNode(value.body);
+
+					// Find template body
+					nodeArray = tinyMCE.selectElements(telm, 'div', function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+					});
+
+					telm = nodeArray.length > 0 ? nodeArray[0] : null;
+					nodeArray = [];
+
+					if (ds.currentAction == "insert") {
+						//insert new template after applying all the template content functions
+
+						// Is it a template or snippet
+						if (telm) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							ds.currentAction = "insert-new";
+							TinyMCE_TemplatePlugin._insertTemplate(editor_id, telm, value.title, value.tsrc, true);
+							ds.currentAction == "insert";
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						} else
+							tinyMCE.execCommand('mceInsertContent', false, this._replaceValues(value.body));
+					} else {
+						// First collect the selected template in the editor
+						nodeArray = TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);
+						current = [];
+						newTmpl = [];
+						tinyMCE.getNodeTree(telm, newTmpl);
+
+						for (x=0; x<nodeArray.length; x++)
+							tinyMCE.getNodeTree(nodeArray[x], current);
+
+						/** 
+						 * inner function used in the loop below.
+						 * compares the supplied HTML element to the new template to:
+						 * - find a match with the new template and copy the element's content over
+						 * - find no match and indicate content will be lost
+						 */
+						var _test = function(elm) {
+							var replaced = true;
+
+							if (elm.className) {
+								var names = elm.className.split(/\s+/), c, n;
+
+								for (c = 0; c<names.length; c++) {
+									if (names[c].match(/^mce/i))
+										continue; // ignore all internal class names
+
+									for (n=0; n<newTmpl.length; n++){
+										replaced = false;
+
+										if (newTmpl[n].className && newTmpl[n].className.match(new RegExp(names[c], "gi"))) {
+											newTmpl[n].innerHTML = elm.innerHTML;
+											//if(tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR,"") != "") {
+											//	tinyMCE.setAttrib(newTmpl[n], TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR, tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR)); 
+											//}
+											replaced = true;
+											break;
+										}
+
+									}
+								}
+							}
+	
+							return replaced;
+						};
+
+						// comparison loop - first mis-match alerts user for confirmation.
+						var cont = true;
+						var asked = false;
+
+						for (x = 0; x < current.length; x++) {
+							if(!_test(current[x])) {
+								cont = (asked || confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?", "Proceed?"));
+								asked = true;
+
+								if (!cont)
+									break;
+							}
+						};
+
+						// apply replacement if allowed to
+						if (cont) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							TinyMCE_TemplatePlugin._replaceTemplateContent(current[0], editor_id, telm, value.title, value.tsrc);
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						}
+					}
+
+					tinyMCE.triggerNodeChange(true);
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template');
+
+		if (tinyMCE.hasCSSClass(node, TinyMCE_TemplatePlugin.TMPL_ELEMENT) || tinyMCE.hasCSSClass(node.parentNode, TinyMCE_TemplatePlugin.TMPL_ELEMENT)) {
+			tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected');
+			ds.currentAction = "update";
+			ds.currentTmplNode = node;
+
+			return true;
+		}
+
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+		tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal');
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nodes = [];
+
+		switch (type) {
+			case "get_from_editor":
+				// replace the opening wrapper div tag with a HTML comment
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->'
+				);
+
+				// delete any empty template wrappers
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">(\s|&nbsp;|&#160;)?(<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->|\s)?</div>', 'gi'),
+					''
+				);
+
+				// replace the closing wrapper tag
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->'
+				);
+
+				break;
+
+			case "insert_to_editor":
+				// replace HTML comment with DIV wrapper
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->', 'gi'),
+					'<div class="' + TinyMCE_TemplatePlugin.TMPL + '">'
+				);
+
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>'
+				);
+
+				break;
+
+			case "get_from_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+
+			case "insert_to_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	/**
+	 * Creates a HTML DIV element and sets the innerHTML to equal the temlate innerHTML so that the template can be manipulated as DOM nodes.
+	 *
+	 * @param {string} Template innerHTML
+	 * @return a HTML Element
+	 * @type HTMLElement
+	 */
+	_convertToNode : function(html) {
+		var elm = document.createElement('div');
+
+		elm.innerHTML = html;
+
+		return elm;
+	},
+
+	/**
+	 * pass an array of template html elements and they will have the template class name added and any template functions applied
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_prepareTemplateContent : function(elms) {
+		var x, n, nodes = [];
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for (x = 0; x<elms.length; x++)
+			tinyMCE.getNodeTree(elms[x], nodes, 1);
+
+		for (n = 0; n<nodes.length; n++) {
+			tinyMCE.addCSSClass(nodes[n], TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+			TinyMCE_TemplatePlugin._applyFunctions(nodes[n], TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT);
+		}
+
+		return elms;
+	},
+
+	_replaceValues : function(s) {
+		var t = this, ds = tinyMCE.selectedInstance.getData('template');
+
+		return s.replace(/\{\$([^\}]+)\}/g, function(a, b) {
+			var it = ds.replace_items[b];
+
+			if (it) {
+				// Only supports text for now
+				if (typeof(it) != 'function')
+					return it;
+			}
+
+			return b;
+		});
+	},
+
+	/**
+	 * Applies any special functions to the template elements
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_applyFunctions : function(elms, editor_event) {
+		var x, elm, names, c, f;
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for(x = 0; x < elms.length; x++) {
+			elm = elms[x];
+
+			if (elm.className){
+				names = elm.className.split(/\s+/);
+
+				for (c = 0; c < names.length; c++){
+					if (names[c] == TinyMCE_TemplatePlugin.TMPL_ELEMENT)
+						continue;
+
+					f = (TinyMCE_TemplatePlugin.functions[names[c]] ? TinyMCE_TemplatePlugin.functions[names[c]] : TinyMCE_TemplatePlugin.functions['blank']);
+					f(elm, editor_event);
+				}
+			}
+		}
+
+		return elms;
+	},
+
+	/**
+	 * Given one node reference this function will collect all the nodes of the template to which it belongs.
+	 * It does this by finding the parent template wrapper DIV and returning all child nodes.
+	 *
+	 * @param {HTMLElement} a HTMLElement which is part of a template
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_collectTemplateElements : function(node) {
+		var nodeArray = [], p;
+
+		p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			tinyMCE.getNodeTree(p, nodeArray);
+
+		return nodeArray;
+	},
+
+	/**
+	 * Simply calls TinyMCE_TemplatePlugin._deleteTemplateContent and then TinyMCE_TemplatePlugin._insertTemplate
+	 *
+	 * @param {HTMLElement} currently selected template node in editor
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_replaceTemplateContent : function(currentNode, editor_id, newTemplate, title, tsrc) {
+		TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);
+		TinyMCE_TemplatePlugin._insertTemplate(editor_id, newTemplate, title, tsrc, false);
+	},
+
+	/**
+	 * Deletes a template from the editor content
+	 * Finds the parent DIV wrapper and deletes it and all children
+	 * @param {HTMLElement} currently selected template node in editor
+	 */
+	_deleteTemplateContent : function(node) {
+		var p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			p.parentNode.removeChild(p, true);
+	},
+
+	/**
+	 *  Inserts a template into the specified editor
+	 *
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 */
+	_insertTemplate : function(editor_id, elm, title, tsrc, incComments) {
+		var html;
+
+		TinyMCE_TemplatePlugin._prepareTemplateContent(elm);
+
+		html = '<div class="' + TinyMCE_TemplatePlugin.TMPL + '">';
+		html += elm.innerHTML;
+		html += '<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>';
+
+		tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, html);
+	},
+
+	/**
+	 * template functions - functions for modifying template content
+	 */
+	functions : { 
+		blank : function(elm, editor_event) {},
+
+		cdate : function(elm, editor_event) {
+			var d, dsrc;
+
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			d = new Date();
+			// find out if the creation date was previously stored
+			dsrc = elm.innerHTML.match(new RegExp("<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":(.*)  -->", "gi"));
+
+			if (dsrc)
+				d = new Date(RegExp.$1);
+
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_cdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+			//now we have to store the date value in a format easily read again, in case a future template change changes the date format...
+			elm.innerHTML += "<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":" + d.toUTCString() + "  -->";
+		},
+
+		mdate : function(elm, editor_event) {
+			var d = new Date();
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_mdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+		},
+
+		/**
+		 * This will insert the currently selected editor content into the template element.
+		 * It only does this if the template inserted is a new one and if the element does not have the special class.
+		 * The special class name prevents this from happening more than once.
+		 */
+		selectedContent : function(elm, editor_event) {
+			var ds = tinyMCE.selectedInstance.getData('template');
+	
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			if (ds.currentAction == "insert-new" && !tinyMCE.hasCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)) {
+				elm.innerHTML = tinyMCE.selectedInstance.selection.getSelectedHTML();
+				tinyMCE.addCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE);
+			}
+		},
+
+		/**
+		 * When the plugin is initialised this generates the functions that insert configured strings into template elements.
+		 */
+		generateReplacer : function(s) {
+			return function(elm, editor_event) {elm.innerHTML = "" + s;};
+		}
+	},
+
+	/**
+	 * formats a date according to the format string - straight from the 'insert date/time' plugin
+	 *
+	 * @param {Date} date object
+	 * @param {string} format string
+	 * @return formatted date
+	 * @type string
+	 */
+	_getDateTime : function(d,fmt) {
+			if (!fmt)
+				return "";
+
+			function addZeros(value, len) {
+				var i;
+
+				value = "" + value;
+
+				if (value.length < len) {
+					for (i=0; i<(len-value.length); i++)
+						value = "0" + value;
+				}
+
+				return value;
+			}
+
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_template_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_template_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+	},
+
+	TMPL_ELEMENT : 'mceTmplElm',
+	TMPL : 'mceTmpl',
+	TMPL_BEGINS : 'mceTmplBegins',
+	TMPL_SEL_HTML_DONE : 'mceSelHTMLDone',
+	TMPL_ENDS : 'mceTmplEnds',
+	TMPL_DATE_SRC_ATTR : 'mcetmpldtesrc',
+	TMPL_TEMPLATE_EVENT : 'prepare_template'
+};
+
+tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+// Import external list url javascript
+var url = tinyMCE.getParam("template_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+var TPU = { //Template Popup Utils
+	currentTemplateHTML : null,
+	templates : [],
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	plugin : tinyMCE.getWindowArg('pluginObj'),
+	data : tinyMCE.selectedInstance.getData('template'),
+
+ 	init : function() {
+ 		document.forms[0].insert.value = tinyMCE.getLang('lang_' + this.data.currentAction, 'Insert', true); 
+		TPU.loadTemplatePaths();
+
+		if (this.data.currentAction == "update")
+			document.getElementById('warning').innerHTML = tinyMCE.getLang('lang_template_warning');
+
+		this.resizeInputs();
+	},
+
+ 	loadTemplatePaths : function() {
+		var tsrc, sel, x, u;
+
+ 		tsrc = tinyMCE.getParam("template_templates", false);
+ 		sel = document.getElementById('tpath');
+
+		// Setup external template list
+		if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') {
+			for (x=0, tsrc = []; x<tinyMCETemplateList.length; x++)
+				tsrc.push({title : tinyMCETemplateList[x][0], src : tinyMCETemplateList[x][1], description : tinyMCETemplateList[x][2]});
+		}
+
+		for (x=0; x<tsrc.length; x++) {
+			u = tsrc[x].src;
+
+			// Force absolute
+			if (u.indexOf('://') == -1 && u.indexOf('/') != 0)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			tsrc[x].src = u;
+		}
+
+		TPU.templates = tsrc;
+
+		for (x = 0; x < tsrc.length; x++)
+			sel.options[sel.options.length] = new Option(tsrc[x].title, tsrc[x].src);
+	},
+
+ 	selectTemplate : function(o) {
+		var x, d = window.frames['templatesrc'].document;
+
+		this.currentTemplateHTML = this.plugin._replaceValues(this.getFileContents(o.value));
+
+		// Force complete document
+		if (!/<body/gi.test(this.currentTemplateHTML)) {
+			this.currentTemplateHTML = '<html xmlns="http://www.w3.org/1999/xhtml">' + 
+				'<head>' + 
+					'<title>blank_page</title>' + 
+					'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' + 
+				'</head>' + 
+				'<body>' + 
+				this.currentTemplateHTML + 
+				'</body>' + 
+				'</html>';
+		}
+
+		// Write HTML to preview iframe
+		d.body.innerHTML = this.currentTemplateHTML;
+
+		// Display description
+ 		for (x = 0; x < TPU.templates.length; x++) {
+			if (TPU.templates[x].src == o.value) {
+				document.getElementById('tmpldesc').innerHTML = TPU.templates[x].description;
+				break;
+			}
+		}
+ 	},
+
+ 	insertTemplate : function() {
+		var sel, opt;
+
+		sel = document.getElementById('tpath');
+		opt = sel.options[sel.selectedIndex];
+
+		// Is it a template or snippet
+		if (TPU.currentTemplateHTML.indexOf('mceTmpl'))
+			tinyMCEPopup.execCommand('mceTemplate', false, {title : opt.text, tsrc : opt.value, body : TPU.currentTemplateHTML});
+		else
+			tinyMCEPopup.execCommand('mceInsertContent', false, TPU.currentTemplateHTML);
+
+		tinyMCEPopup.close();
+	},
+
+	getFileContents : function(u) {
+		var x, d, t = 'text/plain';
+
+		function g(s) {
+			x = 0;
+
+			try {
+				x = new ActiveXObject(s);
+			} catch (s) {
+			}
+
+			return x;
+		};
+
+		x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest();
+
+		// Synchronous AJAX load file
+		x.overrideMimeType && x.overrideMimeType(t);
+		x.open("GET", u, false);
+		x.send(null);
+
+		return x.responseText;
+	},
+
+	resizeInputs : function() {
+		var wHeight, wWidth, elm;
+
+		if (!self.innerWidth) {
+			wHeight = document.body.clientHeight - 160;
+			wWidth = document.body.clientWidth - 40;
+		} else {
+			wHeight = self.innerHeight - 160;
+			wWidth = self.innerWidth - 40;
+		}
+
+		elm = document.getElementById('templatesrc');
+
+		if (elm) {
+			elm.style.height = Math.abs(wHeight) + 'px';
+			elm.style.width  = Math.abs(wWidth - 5) + 'px';
+		}
+	}
+};

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+// UK lang variables
+
+tinyMCE.addToLang('template',{
+title : 'Templates',
+label : 'Template',
+desc_label : 'Description',
+desc : 'Insert predefined template content',
+select : 'Select a template',
+preview : 'Preview',
+warning : 'Warning: Updating a template with a different one may cause data loss.',
+def_date_format : '%Y-%m-%d %H:%M:%S',
+months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_template_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/template.js"></script>
+	<link href="css/template.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('TPU.init();');" onresize="TPU.resizeInputs();"> 
+	<form onsubmit="insert();return false;">
+		<div id="frmbody">
+			<div class="title">{$lang_template_desc}</div>
+			<div class="frmRow"><label for="tpath" title="{$lang_template_select}">{$lang_template_label}:</label>
+			<select id="tpath" name="tpath" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="TPU.selectTemplate(this.options[this.selectedIndex]);">
+				<option value="">{$lang_template_select}...</option>
+			</select>
+			<span id="warning"></span></div>
+			<div class="frmRow"><label for="tdesc">{$lang_template_desc_label}:</label>
+			<span id="tmpldesc"></span></div>
+			<fieldset>
+				<legend>{$lang_template_preview}</legend>
+				<iframe id="templatesrc" name="templatesrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe>
+			</fieldset>
+		</div>
+		
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="TPU.insertTemplate();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('visualchars');var TinyMCE_VisualCharsPlugin={getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.visualChars={state:false}},getControlHTML:function(cn){switch(cn){case"visualchars":return tinyMCE.getButtonHTML(cn,'lang_visualchars_desc','{$pluginurl}/images/visualchars.gif','mceVisualChars',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"mceVisualChars":this._toggleVisualChars(editor_id,inst);return true}return false},cleanup:function(type,content,inst){if(type=="insert_to_editor_dom"||type=="get_from_editor_dom"){inst.visualChars.state=true;this._toggleVisualChars(inst.editorId,inst)}return content},_toggleVisualChars:function(editor_id,inst){var nl,i,h,d=inst.getDoc(),b=inst.getBody(),nv,s=inst.selection,bo;inst.visualChars.state=!inst.visualChars.state;bo=s.getBookmark(true);tinyMCE.switchClass(editor_id+'_visualchars',inst.visualChars.state?'mceButtonSelected':'mceButtonNormal');if(inst.visualChars.state){nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1});for(i=0;i<nl.length;i++){nv=nl[i].nodeValue;nv=nv.replace(/(\u00a0+)/g,'<span class="mceItemHiddenVisualChar">$1</span>');nv=nv.replace(/\u00a0/g,'\u00b7');tinyMCE.setOuterHTML(nl[i],nv,d)}}else{nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==1&&n.nodeName=='SPAN'&&n.className=='mceItemHiddenVisualChar'});for(i=0;i<nl.length;i++)tinyMCE.setOuterHTML(nl[i],nl[i].innerHTML.replace(/(&middot;|\u00b7)/g,'&nbsp;'),d)}}};tinyMCE.addPlugin("visualchars",TinyMCE_VisualCharsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('visualchars');
+
+var TinyMCE_VisualCharsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Visual characters',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.visualChars = {
+			state : false
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "visualchars":
+				return tinyMCE.getButtonHTML(cn, 'lang_visualchars_desc', '{$pluginurl}/images/visualchars.gif', 'mceVisualChars', false);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		switch (command) {
+			case "mceVisualChars":
+				this._toggleVisualChars(editor_id, inst);
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == "insert_to_editor_dom" || type == "get_from_editor_dom") {
+			inst.visualChars.state = true;
+			this._toggleVisualChars(inst.editorId, inst);
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_toggleVisualChars : function(editor_id, inst) {
+		var nl, i, h, d = inst.getDoc(), b = inst.getBody(), nv, s = inst.selection, bo;
+
+		inst.visualChars.state = !inst.visualChars.state;
+
+		bo = s.getBookmark(true);
+
+		tinyMCE.switchClass(editor_id + '_visualchars', inst.visualChars.state ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (inst.visualChars.state) {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1;});
+
+			for (i=0; i<nl.length; i++) {
+				nv = nl[i].nodeValue;
+				nv = nv.replace(/(\u00a0+)/g, '<span class="mceItemHiddenVisualChar">$1</span>');
+				nv = nv.replace(/\u00a0/g, '\u00b7');
+				tinyMCE.setOuterHTML(nl[i], nv, d);
+			}
+		} else {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';});
+
+			for (i=0; i<nl.length; i++)
+				tinyMCE.setOuterHTML(nl[i], nl[i].innerHTML.replace(/(&middot;|\u00b7)/g, '&nbsp;'), d);
+		}
+
+		//s.moveToBookmark(bo);
+	}
+};
+
+tinyMCE.addPlugin("visualchars", TinyMCE_VisualCharsPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('visualchars',{
+desc : 'Visual control characters on/off.'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_abbr_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/abbr.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAbbr();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAbbr();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAbbr();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_acronym_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/acronym.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAcronym();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAcronym();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAcronym();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_attribs_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/attributes.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/attributes.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAction();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_attrib_tab}</a></span></li>
+			<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_events_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+						<td>
+							<select id="classlist" name="classlist" class="mceEditableSelect">
+								<option value="" selected>{$lang_not_set}</option>
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" />
+						</td> 
+					</tr>
+					<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_xhtmlxtras_attribute_label_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_xhtmlxtras_attribute_label_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_cite_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cite.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertCite();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertCite();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeCite();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 290px;
+}
+
+#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important;  cursor: default;  background-color: #B6BDD2;}
+
+img {
+	border: 0;
+}
+
+input.field, select.field {
+	width: 200px;
+}
+
+input.picker {
+	width: 179px;
+	margin-left: 5px;
+}
+
+input.disabled {
+	border-color: #F2F2F2;
+}
+
+img.picker {
+	vertical-align: text-bottom;
+	cursor: pointer;
+}
+
+h1 {
+	padding: 0 0 5px 0;
+}
+
+#remove {
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0px;
+	background-image: url('../images/remove_button_bg.gif');
+	cursor: pointer;
+	margin-left: 3px;
+}
+
+.panel_wrapper div.current {
+	height: 160px;
+}
+
+#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {
+	height: 220px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+ins {
+	border-bottom: 1px solid green;
+	text-decoration: none;
+	color: green;
+}
+
+del {
+	color: Red;
+	text-decoration: line-through;
+}
+
+cite {
+	border-bottom: 1px dashed blue;
+}
+
+acronym {
+	border-bottom: 1px dotted #CCC;
+	cursor: help;
+}
+
+abbr, html\:abbr {
+	border-bottom: 1px dashed #CCC;
+	cursor: help;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_del_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/del.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertDel();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertDel();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeDel();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('xhtmlxtras');var TinyMCE_XHTMLXtrasPlugin={getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/xhtmlxtras/css/xhtmlxtras.css")},getControlHTML:function(cn){switch(cn){case"cite":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_cite_desc','{$pluginurl}/images/cite.gif','mceCite',true);case"acronym":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_acronym_desc','{$pluginurl}/images/acronym.gif','mceAcronym',true);case"abbr":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_abbr_desc','{$pluginurl}/images/abbr.gif','mceAbbr',true);case"del":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_del_desc','{$pluginurl}/images/del.gif','mceDel',true);case"ins":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_ins_desc','{$pluginurl}/images/ins.gif','mceIns',true);case"attribs":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_attribs_desc','{$pluginurl}/images/attribs.gif','mceAttributes',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var template,inst,elm;switch(command){case"mceCite":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/cite.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAcronym":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/acronym.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAbbr":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/abbr.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceIns":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/ins.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceDel":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/del.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAttributes":inst=tinyMCE.getInstanceById(editor_id);elm=inst.getFocusElement();if(elm&&elm.nodeName!=='BODY'&&elm.className.indexOf('mceItem')==-1){tinyMCE.openWindow({file:'../../plugins/xhtmlxtras/attributes.htm',width:380,height:370},{editor_id:editor_id})}return true}return false},cleanup:function(type,content,inst){if(type=='insert_to_editor'&&tinyMCE.isIE&&!tinyMCE.isOpera){content=content.replace(/<abbr([^>]+)>/gi,'<html:ABBR $1>');content=content.replace(/<\/abbr>/gi,'</html:ABBR>')}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null)return;tinyMCE.switchClass(editor_id+'_attribs','mceButtonDisabled');if(!any_selection){tinyMCE.switchClass(editor_id+'_cite','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_acronym','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_abbr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_del','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_ins','mceButtonDisabled')}else{tinyMCE.switchClass(editor_id+'_cite','mceButtonNormal');tinyMCE.switchClass(editor_id+'_acronym','mceButtonNormal');tinyMCE.switchClass(editor_id+'_abbr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_del','mceButtonNormal');tinyMCE.switchClass(editor_id+'_ins','mceButtonNormal')}if(elm&&elm.nodeName!='BODY'&&elm.className.indexOf('mceItem')==-1)tinyMCE.switchClass(editor_id+'_attribs','mceButtonNormal');switch(node.nodeName){case"CITE":tinyMCE.switchClass(editor_id+'_cite','mceButtonSelected');return true;case"ACRONYM":tinyMCE.switchClass(editor_id+'_acronym','mceButtonSelected');return true;case"abbr":case"HTML:ABBR":case"ABBR":tinyMCE.switchClass(editor_id+'_abbr','mceButtonSelected');return true;case"DEL":tinyMCE.switchClass(editor_id+'_del','mceButtonSelected');return true;case"INS":tinyMCE.switchClass(editor_id+'_ins','mceButtonSelected');return true}return true},_anySel:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),t=inst.selection.getSelectedText(),pe;pe=tinyMCE.getParentElement(inst.getFocusElement(),'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');return pe||inst.getFocusElement().nodeName=="IMG"||(t&&t.length>0)}};tinyMCE.addPlugin("xhtmlxtras",TinyMCE_XHTMLXtrasPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('xhtmlxtras');
+
+var TinyMCE_XHTMLXtrasPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'XHTML Xtras Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/xhtmlxtras/css/xhtmlxtras.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "cite":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_cite_desc', '{$pluginurl}/images/cite.gif', 'mceCite', true);
+
+			case "acronym":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_acronym_desc', '{$pluginurl}/images/acronym.gif', 'mceAcronym', true);
+
+			case "abbr":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_abbr_desc', '{$pluginurl}/images/abbr.gif', 'mceAbbr', true);
+
+			case "del":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_del_desc', '{$pluginurl}/images/del.gif', 'mceDel', true);
+
+			case "ins":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_ins_desc', '{$pluginurl}/images/ins.gif', 'mceIns', true);
+
+			case "attribs":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_attribs_desc', '{$pluginurl}/images/attribs.gif', 'mceAttributes', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var template, inst, elm;
+
+		switch (command) {
+			case "mceCite":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/cite.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAcronym":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/acronym.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAbbr":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/abbr.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceIns":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/ins.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceDel":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/del.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAttributes":
+				inst = tinyMCE.getInstanceById(editor_id);
+				elm = inst.getFocusElement();
+
+				if (elm && elm.nodeName !== 'BODY' && elm.className.indexOf('mceItem') == -1) {
+					tinyMCE.openWindow({
+						file : '../../plugins/xhtmlxtras/attributes.htm',
+						width : 380,
+						height : 370
+					}, {editor_id : editor_id});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == 'insert_to_editor' && tinyMCE.isIE && !tinyMCE.isOpera) {
+			content = content.replace(/<abbr([^>]+)>/gi, '<html:ABBR $1>');
+			content = content.replace(/<\/abbr>/gi, '</html:ABBR>');
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index,undo_levels, visual_aid, any_selection) {
+		var elm = tinyMCE.getParentElement(node);
+
+		if (node == null)
+			return;
+
+		tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonDisabled');
+
+		if (!any_selection) {
+			// Disable the buttons
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonDisabled');
+		} else {
+			// A selection means the buttons should be active.
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonNormal');
+		}
+
+		if (elm && elm.nodeName != 'BODY' && elm.className.indexOf('mceItem') == -1)
+			tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonNormal');
+
+		switch (node.nodeName) {
+			case "CITE":
+				tinyMCE.switchClass(editor_id + '_cite', 'mceButtonSelected');
+				return true;
+
+			case "ACRONYM":
+				tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonSelected');
+				return true;
+
+			case "abbr": // IE
+			case "HTML:ABBR": // FF
+			case "ABBR":
+				tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonSelected');
+				return true;
+
+			case "DEL":
+				tinyMCE.switchClass(editor_id + '_del', 'mceButtonSelected');
+				return true;
+
+			case "INS":
+				tinyMCE.switchClass(editor_id + '_ins', 'mceButtonSelected');
+				return true;
+		}
+
+		return true;
+	},
+
+	_anySel : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), t = inst.selection.getSelectedText(), pe;
+
+		pe = tinyMCE.getParentElement(inst.getFocusElement(), 'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');
+
+		return pe || inst.getFocusElement().nodeName == "IMG" || (t && t.length > 0);
+	}
+};
+
+tinyMCE.addPlugin("xhtmlxtras", TinyMCE_XHTMLXtrasPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_ins_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/ins.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertIns();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td> 
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td> 
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertIns();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeIns();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('abbr');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAbbr() {
+	SXE.insertElement(tinyMCE.isIE && !tinyMCE.isOpera ? 'html:ABBR' : 'abbr');
+	tinyMCEPopup.close();
+}
+
+function removeAbbr() {
+	SXE.removeElement('abbr');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('acronym');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAcronym() {
+	SXE.insertElement('acronym');
+	tinyMCEPopup.close();
+}
+
+function removeAcronym() {
+	SXE.removeElement('acronym');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	var f = document.forms[0];
+	
+	var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+	setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+	setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+	setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+	setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+	setFormValue('onclick', onclick);
+	setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+	setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+	setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+	setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+	setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+	setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+	setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+	setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+	setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+	
+	className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
+		
+	addClassesToList('classlist', 'advlink_styles');
+	selectByValue(f, 'classlist', className, true);
+	
+	TinyMCE_EditableSelects.init();
+}
+
+function setFormValue(name, value) {
+	if(value && document.forms[0].elements[name]){
+		document.forms[0].elements[name].value = value;
+	}
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");	
+	tinyMCEPopup.restoreSelection();
+	
+	setAllAttribs(elm);
+	
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllAttribs(elm) {
+	var f = document.forms[0];
+
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function insertAttribute() {
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('cite');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertCite() {
+	SXE.insertElement('cite');
+	tinyMCEPopup.close();
+}
+
+function removeCite() {
+	SXE.removeElement('cite');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('del');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertDel() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'del');
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'del', 'id', '#sxe_temp_del#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeDel() {
+	SXE.removeElement('del');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function initCommonAttributes(elm) {
+	var formObj = document.forms[0];
+
+	// Setup form data for common element attributes
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	selectByValue(formObj, 'class', tinyMCE.getAttrib(elm, 'class'), true);
+	setFormValue('style', tinyMCE.getAttrib(elm, 'style'));
+	selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('onfocus', tinyMCE.getAttrib(elm, 'onfocus'));
+	setFormValue('onblur', tinyMCE.getAttrib(elm, 'onblur'));
+	setFormValue('onclick', tinyMCE.getAttrib(elm, 'onclick'));
+	setFormValue('ondblclick', tinyMCE.getAttrib(elm, 'ondblclick'));
+	setFormValue('onmousedown', tinyMCE.getAttrib(elm, 'onmousedown'));
+	setFormValue('onmouseup', tinyMCE.getAttrib(elm, 'onmouseup'));
+	setFormValue('onmouseover', tinyMCE.getAttrib(elm, 'onmouseover'));
+	setFormValue('onmousemove', tinyMCE.getAttrib(elm, 'onmousemove'));
+	setFormValue('onmouseout', tinyMCE.getAttrib(elm, 'onmouseout'));
+	setFormValue('onkeypress', tinyMCE.getAttrib(elm, 'onkeypress'));
+	setFormValue('onkeydown', tinyMCE.getAttrib(elm, 'onkeydown'));
+	setFormValue('onkeyup', tinyMCE.getAttrib(elm, 'onkeyup'));
+}
+
+function setFormValue(name, value) {
+	if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value;
+}
+
+function insertDateTime(id) {
+	document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S");
+}
+
+function getDateTime(d, fmt) {
+	fmt = fmt.replace("%D", "%m/%d/%y");
+	fmt = fmt.replace("%r", "%I:%M:%S %p");
+	fmt = fmt.replace("%Y", "" + d.getFullYear());
+	fmt = fmt.replace("%y", "" + d.getYear());
+	fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+	fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+	fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+	fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+	fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+	fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+	fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+	fmt = fmt.replace("%%", "%");
+
+	return fmt;
+}
+
+function addZeros(value, len) {
+	var i;
+
+	value = "" + value;
+
+	if (value.length < len) {
+		for (i=0; i<(len-value.length); i++)
+			value = "0" + value;
+	}
+
+	return value;
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option('Value: ' + value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+	}
+
+	return found;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class") {
+			tinyMCE.addCSSClass(elm, value);
+			return;
+		}
+
+		elm.setAttribute(attrib.toLowerCase(), value);
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllCommonAttribs(elm) {
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'class');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	/*setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');*/
+}
+
+SXE = {
+	currentAction : "insert",
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	updateElement : null
+}
+
+SXE.focusElement = SXE.inst.getFocusElement();
+
+SXE.initElementDialog = function(element_name) {
+	addClassesToList('class', 'xhtmlxtras_styles');
+	TinyMCE_EditableSelects.init();
+
+	element_name = element_name.toLowerCase();
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if (elm != null && elm.nodeName == element_name.toUpperCase()) {
+		SXE.currentAction = "update";
+	}
+
+	if (SXE.currentAction == "update") {
+		initCommonAttributes(elm);
+		SXE.updateElement = elm;
+	}
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + SXE.currentAction, 'Insert', true); 
+}
+
+SXE.insertElement = function(element_name) {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name), h, tagName;
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tagName = element_name;
+
+			if (tinyMCE.isIE && !tinyMCE.isOpera && element_name.indexOf('html:') == 0)
+				element_name = element_name.substring(5).toLowerCase();
+
+			h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
+
+			tinyMCEPopup.execCommand('mceInsertContent', false, h);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), element_name, 'id', '#sxe_temp_' + element_name + '#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+
+				elm.id = '';
+				elm.setAttribute('id', '');
+				elm.removeAttribute('id');
+
+				setAllCommonAttribs(elm);
+			}
+		}
+	} else {
+		setAllCommonAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+}
+
+SXE.removeElement = function(element_name){
+	element_name = element_name.toLowerCase();
+	elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if(elm && elm.nodeName == element_name.toUpperCase()){
+		tinyMCEPopup.execCommand('mceBeginUndoLevel');
+		tinyMCE.execCommand('mceRemoveNode', false, elm);
+		tinyMCE.triggerNodeChange();
+		tinyMCEPopup.execCommand('mceEndUndoLevel');
+	}
+}
+
+SXE.showRemoveButton = function() {
+		document.getElementById("remove").style.display = 'block';
+}
+
+SXE.containsClass = function(elm,cl) {
+	return (elm.className.indexOf(cl) > -1) ? true : false;
+}
+
+SXE.removeClass = function(elm,cl) {
+	if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) {
+		return true;
+	}
+	var classNames = elm.className.split(" ");
+	var newClassNames = "";
+	for (var x = 0, cnl = classNames.length; x < cnl; x++) {
+		if (classNames[x] != cl) {
+			newClassNames += (classNames[x] + " ");
+		}
+	}
+	elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end
+}
+
+SXE.addClass = function(elm,cl) {
+	if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
+	return true;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('ins');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertIns() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'ins');
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'ins', 'id', '#sxe_temp_ins#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeIns() {
+	SXE.removeElement('ins');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+// UK lang variables
+
+tinyMCE.addToLang('xhtmlxtras',{
+cite_desc : 'Citation',
+abbr_desc : 'Abbreviation',
+acronym_desc : 'Acronym',
+del_desc : 'Deletion',
+ins_desc : 'Insertion',
+attribute_label_title : 'Title',
+attribute_label_id : 'ID',
+attribute_label_class : 'Class',
+attribute_label_style : 'Style',
+attribute_label_cite : 'Cite',
+attribute_label_datetime : 'Date/Time',
+attribute_label_langdir : 'Text Direction',
+attribute_option_ltr : 'Left to right',
+attribute_option_rtl : 'Right to left',
+attribute_label_langcode : 'Language',
+attribute_label_tabindex : 'TabIndex',
+attribute_label_accesskey : 'AccessKey',
+attribute_label_cite : 'Cite',
+attribute_events_tab : 'Events',
+attribute_attrib_tab : 'Attributes',
+general_tab : 'General',
+attrib_tab : 'Attributes',
+events_tab : 'Events',
+fieldset_general_tab : 'General Settings',
+fieldset_attrib_tab : 'Element Attributes',
+fieldset_events_tab : 'Element Events',
+title_ins_element : 'Insertion Element',
+title_del_element : 'Deletion Element',
+title_acronym_element : 'Acronym Element',
+title_abbr_element : 'Abbreviation Element',
+title_cite_element : 'Citation Element',
+remove : 'Remove',
+not_set : '--not set--',
+insert_date : 'Insert current date/time',
+option_ltr : 'Left to right',
+option_rtl : 'Right to left',
+attribs_desc : 'Insert/Edit Attributes',
+attribs_title : 'Insert/Edit Attributes'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="100%">+ 100%</option>'+'<option value="150%">+ 150%</option>'+'<option value="200%">+ 200%</option>'+'<option value="250%">+ 250%</option>'+'</select>'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true}return false}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_ZoomPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Zoom',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the zoom control.
+	 */
+	getControlHTML : function(control_name) {
+		if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera)
+			return "";
+
+		switch (control_name) {
+			case "zoom":
+				return '<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">' + 
+						'<option value="100%">+ 100%</option>' + 
+						'<option value="150%">+ 150%</option>' + 
+						'<option value="200%">+ 200%</option>' + 
+						'<option value="250%">+ 250%</option>' + 
+						'</select>';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceZoom command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceZoom":
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/richtext.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+tinyMCE.init({
+    mode : "exact",
+    elements : "gridsphere-richtext",
+    theme : "advanced",
+    convert_urls : false
+});
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_about_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
+	<base target="_self" />
+</head>
+<body id="about" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_about}</a></span></li>
+				<li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
+				<li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<h3>{$lang_about_title}</h3>
+				<p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
+				<p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
+				by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
+				<p>Copyright &copy; 2003-2007, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
+				<p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
+
+				<div id="buttoncontainer"></div>
+			</div>
+
+			<div id="plugins_panel" class="panel">
+				<div id="pluginscontainer">
+					<h3>{$lang_loaded_plugins}</h3>
+
+					<div id="plugintablecontainer">
+					</div>
+
+					<p>&nbsp;</p>
+				</div>
+			</div>
+
+			<div id="help_panel" class="panel noscroll" style="overflow: visible;">
+				<div id="iframecontainer"></div>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_anchor_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAnchor();return false;" action="#">
+
+	<table border="0" cellpadding="4" cellspacing="0">
+		<tr>
+			<td colspan="2" class="title">{$lang_insert_anchor_title}</td>
+		</tr>
+		<tr>
+			<td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
+			<td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
+		</tr>
+	</table>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_charmap_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<table align="center" border="0" cellspacing="0" cellpadding="2">
+    <tr>
+        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
+    </tr>
+    <tr>
+        <td rowspan="2" align="left" valign="top">
+            <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
+        </td>
+        <td width="100" align="center" valign="top">
+            <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
+                <tr>
+                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="bottom" style="padding-bottom: 3px;">
+            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 1px;">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_colorpicker_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
+	<link href="css/colorpicker.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div class="tabs">
+		<ul>
+			<li id="picker_tab" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{$lang_color_picker_tab}</a></span></li>
+			<li id="rgb_tab"><span><a href="#" onclick="generateWebColors();mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{$lang_web_colors_tab}</a></span></li>
+			<li id="named_tab"><span><a  href="#" onclick="generateNamedColors();javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{$lang_named_colors_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="picker_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_color_picker}</legend>
+				<div id="picker">
+					<img id="colorpicker" src="images/colors.jpg" onclick="computeColor(event)" onmousedown="isMouseDown = true;return false;" onmouseup="isMouseDown = false;" onmousemove="if (isMouseDown && isMouseOver) computeColor(event); return false;" onmouseover="isMouseOver=true;" onmouseout="isMouseOver=false;" />
+
+					<div id="light">
+						<!-- Will be filled with divs -->
+					</div>
+
+					<br style="clear: both" />
+				</div>
+			</fieldset>
+		</div>
+
+		<div id="rgb_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_web_colors}</legend>
+				<div id="webcolors">
+					<!-- Gets filled with web safe colors-->
+				</div>
+
+				<br style="clear: both" />
+			</fieldset>
+		</div>
+
+		<div id="named_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_named_colors}</legend>
+				<div id="namedcolors">
+					<!-- Gets filled with named colors-->
+				</div>
+
+				<br style="clear: both" />
+
+				<div id="colornamecontainer">
+					{$lang_color_name} <span id="colorname"></span>
+				</div>
+			</fieldset>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" onclick="insertAction();" />
+		</div>
+
+		<div id="preview"></div>
+
+		<div id="previewblock">
+			<label for="color">{$lang_color}</label> <input id="color" type="text" size="8" maxlength="8" class="text" />
+		</div>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+/* Colorpicker dialog specific CSS */
+
+#preview {
+	float: right;
+	width: 50px;
+	height: 14px;
+	line-height: 1px;
+	border: 1px solid black;
+	margin-left: 5px;
+}
+
+#colorpicker {
+	float: left;
+	cursor: crosshair;
+}
+
+#light {
+	border: 1px solid gray;
+	margin-left: 5px;
+	float: left;
+	width: 15px;
+	cursor: crosshair;
+}
+
+#light div {
+	overflow: hidden;
+}
+
+#previewblock {
+	float: right;
+	padding-left: 10px;
+	height: 20px;
+}
+
+.panel_wrapper div.current {
+	height: 175px;
+}
+
+#namedcolors {
+	width: 150px;
+}
+
+#namedcolors a {
+	display: block;
+	float: left;
+	width: 10px; height: 10px;
+	margin: 1px 1px 0 0;
+	overflow: hidden;
+}
+
+#colornamecontainer {
+	margin-top: 5px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
+/* You can extend this CSS by adding your own CSS file with the the content_css option */
+
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB !important;
+}
+
+div.mceVisualAid {
+	background-image:url('../images/spacer.gif');
+	visibility: visible !important;
+}
+
+.mceItemAnchor {
+	width: 12px;
+	line-height: 6px;
+	overflow: hidden;
+	padding-left: 12px;
+	background-image: url('../images/anchor_symbol.gif');
+	background-position: bottom;
+	background-repeat: no-repeat;
+}
+
+/* Important is needed in Gecko browsers inorder to style links */
+/*
+a {
+	color: green !important;
+}
+*/
+
+/* Style selection range colors in Gecko browsers */
+/*
+::-moz-selection {
+	background-color: red;
+	color: green;
+}
+*/
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+/* This file contains the CSS data for all popups in TinyMCE */
+
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+	margin: 8px;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+#insert, .updateButton {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/insert_button_bg.gif');
+   cursor: pointer;
+}
+
+#cancel {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/cancel_button_bg.gif');
+   cursor: pointer;
+}
+
+/* Mozilla only style */
+html>body #insert, html>body #cancel {
+	padding-bottom: 2px;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+	color: #2B6FB6;
+}
+
+table.charmap {
+	border-style: solid;
+	border-width: 1px;
+	border-color: #AAAAAA;
+}
+
+td.charmap, td.charmapOver {
+	color: #000000;
+	border-color: #AAAAAA;
+	border-style: solid;
+	border-width: 1px;
+	text-align: center;
+	font-size: 12px;
+}
+
+td.charmapOver {
+	background-color: #CCCCCC;
+	cursor: default;
+}
+
+a.charmap {
+	color: #000000;
+	text-decoration: none
+}
+
+.wordWrapCode {
+	vertical-align: middle;
+	border: 1px none #000000;
+	background-color: transparent;
+}
+
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+input.checkbox {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+	margin-left: 1px;
+}
+
+.mceButtonNormal {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceButtonOver {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+	cursor: default;
+	border: 1px solid #0A246A;
+	background-color: #8592B5;
+}
+
+.mceButtonDisabled {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceActionPanel {
+	margin-top: 5px;
+}
+
+/* Tabs classes */
+
+.tabs {
+	float: left;
+	width: 100%;
+	line-height: normal;
+	background-image: url("../images/xp/tabs_bg.gif");
+}
+
+.tabs ul {
+	margin: 0;
+	padding: 0 0 0;
+	list-style: none;
+}
+
+.tabs li {
+	float: left;
+	background: url("../images/xp/tab_bg.gif") no-repeat left top;
+	margin: 0;
+	margin-left: 0;
+	margin-right: 2px;
+	padding: 0 0 0 10px;
+	line-height: 18px;
+}
+
+.tabs li.current {
+	background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
+	margin-right: 2px;
+}
+
+.tabs span {
+	float: left;
+	display: block;
+	background: url("../images/xp/tab_end.gif") no-repeat right top;
+	padding: 0px 10px 0 0;
+}
+
+.tabs .current span {
+	background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
+}
+
+.tabs a {
+	text-decoration: none;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+}
+
+.tabs a:link, .tabs a:visited, .tabs a:hover {
+	color: black;
+}
+
+.tabs a:hover {
+}
+
+.tabs .current {
+}
+
+.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
+}
+
+.panel_wrapper div.panel {
+	display: none;
+}
+
+.panel_wrapper div.current {
+	display: block;
+	width: 100%;
+	height: 300px;
+	overflow: visible; /* Should be auto but that breaks Safari */
+}
+
+.panel_wrapper {
+	border: 1px solid #919B9C;
+	border-top: 0px;
+	padding: 10px;
+	padding-top: 5px;
+	clear: both;
+	background-color: white;
+}
+
+fieldset {
+	border: 1px solid #919B9C;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+	padding: 0;
+	margin: 0;
+	padding: 4px;
+}
+
+legend {
+	color: #2B6FB6;
+	font-weight: bold;
+}
+
+.properties {
+	width: 100%;
+}
+
+.properties .column1 {
+}
+
+.properties .column2 {
+	text-align: left;
+}
+
+a:link, a:visited {
+	color: black;
+}
+
+a:hover {
+	color: #2B6FB6;
+}
+
+#plugintable thead {
+	font-weight: bold;
+	background-color: #DDDDDD;
+}
+
+#plugintable, #about #plugintable td {
+	border: 1px solid #919B9C;
+}
+
+#plugintable {
+	width: 99%;
+	margin-top: 10px;
+}
+
+#pluginscontainer {
+	height: 290px;
+	overflow: auto;
+}
+
+/* MSIE Specific styles */
+
+* html .panel_wrapper {
+	width: 100%;
+}
+
+.column {
+	float: left;
+}
+
+h1, h2, h3, h4 {
+	color: #2B6FB6;
+	margin: 0;
+	padding: 0;
+	padding-top: 5px;
+}
+
+h3 {
+	font-size: 14px;
+}
+
+#link .panel_wrapper, #link div.current {
+	height: 125px;
+}
+
+#image .panel_wrapper, #image div.current {
+	height: 190px;
+}
+
+label.msg { display: none; }
+label.invalid { color: #EE0000; display: inline; }
+input.invalid { border: 1px solid #EE0000; }
+
+/* Disables the advanced tab in the table plugin. */
+/*
+#table #advanced_tab {
+	display: none;
+}
+*/
+
+/* Disables the border input field and label in the table plugin. */
+/*
+#table #border, #table #borderlabel {
+	display: none;
+}
+*/

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+/* This file contains the CSS data for the editor UI of TinyMCE instances */
+
+.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {border: 0; margin: 0; padding: 0; background: transparent;}
+.mceSeparatorLine {border: 0; padding: 0; margin-left: 4px; margin-right: 2px;}
+.mceSelectList {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 7pt !important; font-weight: normal; margin-top: 3px; padding: 0; display: inline; vertical-align: top; background-color: #F0F0EE;}
+.mceLabel, .mceLabelDisabled {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt;}
+.mceLabel {color: #000000;}
+.mceLabelDisabled {cursor: text; color: #999999;}
+.mceEditor {background: #F0F0EE; border: 1px solid #cccccc; padding: 0; margin: 0;}
+.mceEditorArea { font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; background: #FFFFFF; padding: 0; margin: 0; }
+.mceToolbarTop, .mceToolbarBottom {background: #F0F0EE; line-height: 1px; font-size: 1px;}
+.mceToolbarTop {border-bottom: 1px solid #cccccc; padding-bottom: 1px;}
+.mceToolbarBottom {border-top: 1px solid #cccccc;}
+.mceToolbarContainer {display: block; position: relative; left: 0; top: 0; width: 100%;}
+.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {height: 20px;}
+.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; padding: 2px; line-height: 16px; overflow: visible;}
+.mceStatusbarTop {border-bottom: 1px solid #cccccc;}
+.mceStatusbarBottom {border-top: 1px solid #cccccc;}
+.mceStatusbar {border-bottom: 1px solid #cccccc;}
+.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {text-decoration: none; font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; color: #000000;}
+.mcePathItem:hover {text-decoration: underline;}
+.mceStatusbarPathText {float: left;}
+.mceStatusbarResize {float: right; background-image: url('../images/statusbar_resize.gif'); background-repeat: no-repeat; width: 11px; height: 20px; cursor: se-resize;}
+.mceResizeBox {width: 10px; height: 10px; display: none; border: 1px dotted gray; margin: 0; padding: 0;}
+.mceEditorIframe {border: 0;}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {width: 20px; height: 20px; cursor: default; margin-top: 1px; margin-left: 1px;}
+a.mceButtonDisabled img {border: 0 !important;}
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonSelected img {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;}
+a.mceButtonDisabled img {-moz-opacity:0.3; opacity: 0.3; border: 1px solid #F0F0EE !important; cursor: default;}
+a.mceTiledButton img {background-image: url('../images/buttons.gif'); background-repeat: no-repeat;}
+
+/* Menu button CSS rules */
+
+span.mceMenuButton img, span.mceMenuButtonSelected img {border: 1px solid #F0F0EE; margin-left: 1px;}
+span.mceMenuButtonSelected img {border: 1px solid #6779AA; background-color: #B6BDD2;}
+span.mceMenuButtonSelected img.mceMenuButton {border: 1px solid #F0F0EE; background-color: transparent;}
+span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {border-left: 0; margin-left: 0;}
+span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {border-left: 0;}
+span.mceMenuButtonFocus img {border: 1px solid gray; border-right: 0; margin-left: 1px; background-color: #F5F4F2;}
+span.mceMenuButtonFocus img.mceMenuButton {border: 1px solid gray; border-left: 1px solid #F5F4F2; margin-left: 0;}
+span.mceMenuHover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {border: 1px solid #0A246A; background-color: #B6BDD2; border-left: 0;}
+
+/* Menu */
+
+.mceMenu {position: absolute; left: 0; top: 0; display: none; z-index: 1000; background-color: white; border: 1px solid gray; font-weight: normal;}
+.mceMenu a, .mceMenuTitle, .mceMenuDisabled {display: block; width: 100%; text-decoration: none; background-color: white; font-family: Tahoma, Verdana, Arial, Helvetica; font-size: 11px; line-height: 20px; color: black;}
+.mceMenu a:hover {background-color: #B6BDD2; color: black; text-decoration: none !important;}
+.mceMenu span {padding-left: 10px; padding-right: 10px; display: block; line-height: 20px;}
+.mceMenuSeparator {border-bottom: 1px solid gray; background-color: gray; height: 1px;}
+.mceMenuTitle span {padding-left: 5px;}
+.mceMenuTitle {background-color: #DDDDDD; font-weight: bold;}
+.mceMenuDisabled {color: gray;}
+span.mceMenuSelectedItem {background-image: url('../images/menu_check.gif'); background-repeat: no-repeat; background-position: 5px 8px; padding-left: 20px;}
+span.mceMenuCheckItem {padding-left: 20px;}
+span.mceMenuLine {display: block; position: absolute; left: 0; top: -1px; background-color: #F5F4F2; width: 30px; height: 1px; overflow: hidden; padding-left: 0; padding-right: 0;}
+.mceColors table, .mceColors td {margin: 0; padding: 2px;}
+a.mceMoreColors {width: auto; padding: 0; margin: 0 3px 3px 3px; text-align: center; border: 1px solid white; text-decoration: none !important;}
+.mceColorPreview {position: absolute; overflow:hidden; left: 0; top: 0; margin-left: 3px; margin-top: 15px; width: 16px; height: 4px; background-color: red;}
+a.mceMoreColors:hover {border: 1px solid #0A246A;}
+.mceColors td a {width: 9px; height: 9px; overflow: hidden; border: 1px solid #808080;}
+
+/* MSIE 6 specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+* html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+* html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+* html a.mceButtonNormal, * html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+* html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+* html .mceSelectList {margin-top: 2px;}
+* html span.mceMenuButton, * html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+* html a.mceMoreColors {width: auto;}
+* html .mceColors td a {width: 10px; height: 10px;}
+* html .mceColorPreview {margin-left: 2px; margin-top: 14px;}
+
+/* MSIE 7 specific rules */
+
+*:first-child+html a.mceButtonNormal img, *:first-child+html a.mceButtonSelected img, *:first-child+html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+*:first-child+html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+*:first-child+html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+*:first-child+html a.mceButtonNormal, *:first-child+html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+*:first-child+html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+*:first-child+html a.mceButtonNormal:hover, *:first-child+html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+*:first-child+html .mceSelectList {margin-top: 2px;}
+*:first-child+html span.mceMenuButton, *:first-child+html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+*:first-child+html span.mceMenuButton img, *:first-child+html span.mceMenuButtonSelected img, *:first-child+html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+*:first-child+html a.mceMoreColors {width: 137px;}
+*:first-child+html .mceColors td a {width: 10px; height: 10px;}
+*:first-child+html .mceColorPreview {margin: 0; padding-left: 4px; margin-top: 14px; width: 14px;}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">About TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
+that enables you to edit HTML contents in a more user friendly way. It has common 
+features that are found in most word processors and should not be difficult to 
+use.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Common buttons</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Below is a short description about each button.
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20" alt="Bold text icon" /></td>
+    <td>Bold text style (Ctrl+B).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20" alt="Italic text icon" /></td>
+    <td>Italic text style (Ctrl+I).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20" alt="Underline text icon." /></td>
+    <td>Underline text style (Ctrl+U).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20" alt="Strikethrough text icon." /></td>
+    <td>Strikethrough text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyleft.gif" width="20" height="20" alt="Align left icon." /></td>
+    <td>Align left.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifycenter.gif" width="20" height="20" alt="Align center icon." /></td>
+    <td>Align center.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyright.gif" width="20" height="20" alt="Align right icon." /></td>
+    <td>Align right.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyfull.gif" width="20" height="20" alt="Align full icon." /></td>
+    <td>Align full.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20" alt="Unordered list/bullet list icon." /></td>
+    <td>Unordered list/bullet list.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20" alt="Ordered list/numbered list icon." /></td>
+    <td>Ordered list/numbered list</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20" alt="Outdent/decrease indentation icon." /></td>
+    <td>Outdent/decrease indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20" alt="Indent/increase indentation icon." /></td>
+    <td>Indent/increase indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20" alt="Undo the last operation." /></td>
+    <td>Undo the last operation (Ctrl+Z).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20" alt="Redo the last operation icon." /></td>
+    <td>Redo the last operation (Ctrl+Y).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20" alt="Insert a new link icon." /></td>
+    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
+      link section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20" alt="Unlinks the current selection icon." /></td>
+    <td>Unlinks the current selection/removes all selected links.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20" alt="Insert a new anchor icon." /></td>
+    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20" alt="Insert a new image icon." /></td>
+    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
+      image section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20" alt="Cleanup code icon." /></td>
+    <td>Cleanup code/Removes unwanted formating. This function is useful when 
+      you copy contents from for example a office product.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20" alt="Show help icon." /></td>
+    <td>Shows this help window.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20" alt="Source code editor icon." /></td>
+    <td>Opens HTML source code editor. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table.gif" width="20" height="20" alt="Insert table icon." /></td>
+    <td>Inserts a new table at the current location. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_before.gif" width="20" height="20" alt="Adds a row above icon." /></td>
+    <td>Adds a row above the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_after.gif" width="20" height="20" alt="Adds a row under icon." /></td>
+    <td>Adds a row under the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_row.gif" width="20" height="20" alt="Remove row icon." /></td>
+    <td>Removes the row. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_before.gif" width="20" height="20" alt="Add column before icon." /></td>
+    <td>Adds a column before the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_after.gif" width="20" height="20" alt="Add column after icon." /></td>
+    <td>Adds a column after the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_col.gif" width="20" height="20" alt="Remove column icon." /></td>
+    <td>Removes the current column.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20" alt="Insert horizontal ruler icon." /></td>
+    <td>Inserts a new horizontal ruler </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20" alt="Remove formatting icon." /></td>
+    <td>Removes formatting from the selection. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20" alt="Subscript icon." /></td>
+    <td>Makes the selection to be subscript. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20" alt="Superscript icon." /></td>
+    <td>Makes the selection to be superscripted. </td>
+  </tr>
+</table>
+<br>
+<hr noshade="noshade" />
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Create accessible content</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<p>TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off. </p>
+
+<p><strong>Things you can do to make your content accessible:</strong></p>
+<ol>
+<li><strong>Include an Image Description:</strong> Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image. <br /><br /></li>
+
+<li> <strong>Add Scope to data table header cells:</strong> In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents. <br /><br /></li>
+
+<li><strong> Structure content with properly nested headings:</strong> In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content,  rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.<br /><br /></li>
+
+<li><strong> Include alternate content:</strong> Create an alternate page for non-HTML content such as Flash, Java applets, or  embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.<br /><br /></li>
+
+<li><strong> Check accessbility: </strong> When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.<br /><br /></li>
+
+</ol>
+
+<p>See the <a href="http://checker.atrc.utoronto.ca" target="_new">AChecker Web Site</a> for further details about creating content that will be accessible to all users.<br />
+</p>
+
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table of contents</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Click the links below to go to the different help sections. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
+ <li class="toc_li"><a href="create_accessible_content.htm">Create accessible content</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert anchor button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert anchor button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit anchor function.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139" alt="Anchor dialog/window" /><br>
+<br>
+There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert image button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert image button opens the window shown below.<br>
+<br>
+<img src="images/insert_image_window.gif" alt="Insert image dialog/window" /><br>
+<br>
+You simply enter a URL to the image you want to link to and enter a image description, 
+this is then displayed as an alternative text descripton of the image on the page.<br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL/path to the image.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Alternative description of image contents.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Image width/height. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Image alignment, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thickness. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Vertical space, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Horizontal space, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert link button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit link function.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159" alt="Insert link dialog/window" /><br>
+<br>
+There are two fields in this window the first one &quot;Link URL&quot; is the 
+URL of the link. The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert table button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert table button opens the window shown below. This action enables you to create tables. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229" alt="Image of table window" /><br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>Number of columns in the  table. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>Number of rows in the new table.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Cellpadding of the table . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Cellspacing of the table .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Table alignment . </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thinkness of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Width in pixels of table .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Height in pixels of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Class</strong></td>
+    <td>Style or CSS class of table.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_defColors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','forecolor',true],['forecolorpicker','forecolor.gif','lang_theme_forecolor_desc','forecolorpicker',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','HiliteColor',true],['backcolorpicker','backcolor.gif','lang_theme_backcolor_desc','backcolorpicker',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',getControlHTML:function(button_name){var i,x,but;for(i=0;i<TinyMCE_AdvancedTheme._buttons.length;i++){but=TinyMCE_AdvancedTheme._buttons[i];if(but[0]==button_name&&(button_name=="forecolor"||button_name=="backcolor"))return tinyMCE.getMenuButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3]+"Menu",but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null));if(but[0]==button_name)return tinyMCE.getButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null))}switch(button_name){case"formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}'],['div','{$lang_theme_div}'],['blockquote','{$lang_theme_blockquote}'],['code','{$lang_theme_code}'],['dt','{$lang_theme_dt}'],['dd','{$lang_theme_dd}'],['samp','{$lang_theme_samp}']];html+='<option value="">{$lang_theme_block}</option>';for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0])html+='<option value="&lt;'+lookup[x][0]+'&gt;">'+lookup[x][1]+'</option>'}}html+='</select>';return html;case"styleselect":return'<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case"fontselect":var fontHTML='<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';var iFonts='Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';var nFonts='Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';var fonts=tinyMCE.getParam("theme_advanced_fonts",nFonts).split(';');for(i=0;i<fonts.length;i++){if(fonts[i]!=''){var parts=fonts[i].split('=');fontHTML+='<option value="'+parts[1]+'">'+parts[0]+'</option>'}}fontHTML+='</select>';return fontHTML;case"fontsizeselect":return'<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="0">{$lang_theme_font_size}</option>'+'<option value="1">1 (8 pt)</option>'+'<option value="2">2 (10 pt)</option>'+'<option value="3">3 (12 pt)</option>'+'<option value="4">4 (14 pt)</option>'+'<option value="5">5 (18 pt)</option>'+'<option value="6">6 (24 pt)</option>'+'<option value="7">7 (36 pt)</option>'+'</select>';case"|":case"separator":return'<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';case"spacer":return'<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case"rowseparator":return'<br />'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case'mceHelp':tinyMCE.openWindow({file:'about.htm',width:480,height:380},{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return true;case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);")}action="update"}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class'])}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"})}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h)}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:""}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);")}action="update"}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout'])}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"forecolor":var fcp=new TinyMCE_Layer(editor_id+'_fcPreview',false),p,img,elm;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!fcp.exists()){fcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=fcp.getElement();elm._editor_id=editor_id;elm._command="forecolor";elm._switchId=editor_id+"_forecolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_forecolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));fcp.moveTo(p.absLeft,p.absTop);fcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).foreColor;fcp.show();return false;case"forecolorpicker":this._pickColor(editor_id,'forecolor');return true;case"forecolorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_fcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_text_colors','forecolor'));tinyMCE.switchClass(editor_id+'_forecolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_forecolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"HiliteColor":var bcp=new TinyMCE_Layer(editor_id+'_bcPreview',false),p,img;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!bcp.exists()){bcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=bcp.getElement();elm._editor_id=editor_id;elm._command="HiliteColor";elm._switchId=editor_id+"_backcolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_backcolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));bcp.moveTo(p.absLeft,p.absTop);bcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).backColor;bcp.show();return false;case"HiliteColorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_bcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_background_colors','HiliteColor'));tinyMCE.switchClass(editor_id+'_backcolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_backcolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"backcolorpicker":this._pickColor(editor_id,'HiliteColor');return true;case"mceColorPicker":if(user_interface){var template=[];if(!value['callback']&&!value['color'])value['color']=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=380;template['height']=250;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:value['color']})}else{var savedVal=tinyMCE.lastColorPickerValue,elm;if(savedVal['callback']){savedVal['callback'](value);return true}elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();')}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true}return false},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array(),skip;for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j]){skip=true}}if(!skip){outArray[outArray.length]=in_array[i]}}return outArray}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++){in_array[in_array.length]=add_array[i]}return in_array}var template=new Array();var deltaHeight=0;var resizing=tinyMCE.getParam("theme_advanced_resizing",false);var path=tinyMCE.getParam("theme_advanced_path",true);var statusbarHTML='<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: '+(path?"block":"none")+'">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: '+(resizing?"block":"none")+'" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='<option value="">{$lang_theme_style_select}</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>'}TinyMCE_AdvancedTheme._autoImportCSSClasses=false}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='<a href="#" accesskey="q" title="'+tinyMCE.getLang("lang_toolbar_focus")+'"';if(!tinyMCE.getParam("accessibility_focus"))toolbarHTML+=' onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"';toolbarHTML+='></a>';for(var i=1;i<100;i++){var def=defVals["theme_advanced_buttons"+i];var buttons=tinyMCE.getParam("theme_advanced_buttons"+i,def==null?'':def,true,',');if(buttons.length==0)break;buttons=removeFromArray(buttons,tinyMCE.getParam("theme_advanced_disable","",true,','));buttons=addToArray(buttons,tinyMCE.getParam("theme_advanced_buttons"+i+"_add","",true,','));buttons=addToArray(tinyMCE.getParam("theme_advanced_buttons"+i+"_add_before","",true,','),buttons);for(var b=0;b<buttons.length;b++)toolbarHTML+=tinyMCE.getControlHTML(buttons[b]);if(buttons.length>0){toolbarHTML+="<br />";deltaHeight-=23}}toolbarHTML+='<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"></a>';template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';if(toolbarLocation=="top")template['html']+='<tr><td dir="ltr" class="mceToolbarTop" align="'+toolbarAlign+'" height="1" nowrap="nowrap"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(statusbarLocation=="top"){template['html']+='<tr><td class="mceStatusbarTop" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom")template['html']+='<tr><td dir="ltr" class="mceToolbarBottom" align="'+toolbarAlign+'" height="1"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null}if(statusbarLocation=="bottom"){template['html']+='<tr><td class="mceStatusbarBottom" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='</tbody></table>';break;case"RowLayout":template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i<containers.length;i++){if(containers[i]=="mceEditor")template['html']+='<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom"}else if(i==0){pathClass="mceStatusbar"}else{deltaHeight-=2}template['html']+='<tr><td class="'+pathClass+'" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=22}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);curContainer=removeFromArray(curContainer,tinyMCE.getParam("theme_advanced_disable","",true,','));for(var j=0;j<curContainer.length;j++)curContainerHTML+=tinyMCE.getControlHTML(curContainer[j]);if(curContainer.length>0){curContainerHTML+="<br />";deltaHeight-=23}template['html']+='<tr><td class="'+curCSS+'" align="'+curAlign+'" height="1">'+curContainerHTML+'</td></tr>'}}template['html']+='</tbody></table>';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);")}break}if(resizing)template['html']+='<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);if(!template['delta_width'])template['delta_width']=0;if(!template['delta_height'])template['delta_height']=deltaHeight;return template},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true))}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink')},removeInstance:function(inst){new TinyMCE_Layer(inst.editorId+'_fcMenu').remove();new TinyMCE_Layer(inst.editorId+'_bcMenu').remove()},hideInstance:function(inst){TinyMCE_AdvancedTheme._hideMenus(inst.editorId)},_handleMenuEvent:function(e){var te=tinyMCE.isMSIE?window.event.srcElement:e.target;tinyMCE._menuButtonEvent(e.type=="mouseover"?"over":"out",document.getElementById(te._switchId));if(e.type=="click")tinyMCE.execInstanceCommand(te._editor_id,te._command)},_hideMenus:function(id){var fcml=new TinyMCE_Layer(id+'_fcMenu'),bcml=new TinyMCE_Layer(id+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(id+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(id+'_backcolor','mceMenuButton');bcml.hide()}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){var alignNode,breakOut,classNode;function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i<select_elm.options.length;i++){var ov=""+select_elm.options[i].value;if(first_index&&ov.toLowerCase().indexOf(value.toLowerCase())==0){select_elm.selectedIndex=i;return true}if(ov==value){select_elm.selectedIndex=i;return true}}}return false};if(node==null)return;var pathElm=document.getElementById(editor_id+"_path");var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();TinyMCE_AdvancedTheme._hideMenus(editor_id);if(pathElm){var parentNode=node;var path=new Array();while(parentNode!=null){if(parentNode.nodeName.toUpperCase()=="BODY"){break}if(parentNode.nodeType==1&&tinyMCE.getAttrib(parentNode,"class").indexOf('mceItemHidden')==-1){path[path.length]=parentNode}parentNode=parentNode.parentNode}var html="";for(var i=path.length-1;i>=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName.indexOf("html:")==0)nodeName=nodeName.substring(5);if(nodeName=="b"){nodeName="strong"}if(nodeName=="i"){nodeName="em"}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+tinyMCE.xmlEncode(st)+" "}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+tinyMCE.xmlEncode(face)+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+tinyMCE.xmlEncode(size)+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+tinyMCE.xmlEncode(color)+" "}if(tinyMCE.getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" "}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(tinyMCE.getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+tinyMCE.xmlEncode(src)+" "}if(path[i].nodeName=='A'&&tinyMCE.getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+tinyMCE.xmlEncode(href)+" "}className=tinyMCE.getAttrib(path[i],"class");if((nodeName=="img"||nodeName=="span")&&className.indexOf('mceItem')!=-1){nodeName=className.replace(/mceItem([a-z]+)/gi,'$1').toLowerCase();nodeData=path[i].getAttribute('title')}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+tinyMCE.xmlEncode(anchor);nodeData=""}if(tinyMCE.getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+='<a title="'+nodeData+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" target="_self" class="mcePathItem">'+nodeName+'</a>';if(i>0){html+=" &raquo; "}}pathElm.innerHTML='<a href="#" accesskey="x"></a>'+tinyMCE.getLang('lang_theme_path')+": "+html+'&#160;'}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal')}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled')}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break}}}}while(!breakOut&&classNode!=null&&(classNode=classNode.parentNode)!=null);selectElm.selectedIndex=index}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");else selectByValue(selectElm,"")}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="")}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"")}else selectByValue(selectElm,"")}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size)}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i<sizes.length;i++){if((''+sizes[i])==size){size=i;break}}}if(!selectByValue(selectElm,size))selectByValue(selectElm,"")}else selectByValue(selectElm,"0")}}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case"left":tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case"right":tinyMCE.switchClass(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case"middle":case"center":tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case"justify":tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break}}while(!breakOut&&(alignNode=alignNode.parentNode)!=null);var div=tinyMCE.getParentElement(node,"div");if(div&&div.style.textAlign=="center")tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');if(!setup_content){var ar=new Array("Bold","_bold","Italic","_italic","Strikethrough","_strikethrough","superscript","_sup","subscript","_sub");for(var i=0;i<ar.length;i+=2){if(inst.queryCommandState(ar[i]))tinyMCE.switchClass(editor_id+ar[i+1],'mceButtonSelected')}if(inst.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A"))tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected')}do{switch(node.nodeName){case"UL":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"OL":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;case"HR":tinyMCE.switchClass(editor_id+'_hr','mceButtonSelected');break;case"IMG":if(tinyMCE.getAttrib(node,'name').indexOf('mce_')!=0&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_image','mceButtonSelected')}break}}while((node=node.parentNode)!=null)},_setupCSSClasses:function(editor_id){var i,selectElm;if(!TinyMCE_AdvancedTheme._autoImportCSSClasses)return;selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(i=0;i<csses.length;i++)selectElm.options[selectElm.options.length]=new Option(csses[i],csses[i])}if(csses!=null&&csses.length>0)selectElm.setAttribute('cssImported','true')}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end))},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth<minIframeWidth){dx=minIframeWidth-inst.iframeElement.clientWidth;inst.iframeElement.style.width=(iw+dx)+"px"}}inst.useCSS=false},_resizeEventHandler:function(e){var resizer=TinyMCE_AdvancedTheme._resizer;if(!resizer.resizing)return;e=typeof(e)=="undefined"?window.event:e;var dx=e.screenX-resizer.downX;var dy=e.screenY-resizer.downY;var resizeBox=resizer.resizeBox;var editorId=resizer.editorId;switch(e.type){case"mousemove":var w,h;w=resizer.width+dx;h=resizer.height+dy;w=w<1?1:w;h=h<1?1:h;if(resizer.horizontal)resizeBox.style.width=w+"px";resizeBox.style.height=h+"px";break;case"mouseup":TinyMCE_AdvancedTheme._setResizing(e,editorId,false);TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId),resizer.width+dx,resizer.height+dy,resizer.horizontal);if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var expires=new Date();expires.setTime(expires.getTime()+3600000*24*30);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_width",""+(resizer.horizontal?resizer.width+dx:""),expires);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_height",""+(resizer.height+dy),expires)}break}},_setResizing:function(e,editor_id,state){e=typeof(e)=="undefined"?window.event:e;var resizer=TinyMCE_AdvancedTheme._resizer;var editorContainer=document.getElementById(editor_id+'_parent');var editorArea=document.getElementById(editor_id+'_parent').firstChild;var resizeBox=document.getElementById(editor_id+'_resize_box');var inst=tinyMCE.getInstanceById(editor_id);if(state){var width=editorArea.clientWidth;var height=editorArea.clientHeight;resizeBox.style.width=width+"px";resizeBox.style.height=height+"px";resizer.iframeWidth=inst.iframeElement.clientWidth;resizer.iframeHeight=inst.iframeElement.clientHeight;editorArea.style.display="none";resizeBox.style.display="block";if(!resizer.eventHandlers){if(tinyMCE.isMSIE)tinyMCE.addEvent(document,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);else tinyMCE.addEvent(window,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);tinyMCE.addEvent(document,"mouseup",TinyMCE_AdvancedTheme._resizeEventHandler);resizer.eventHandlers=true}resizer.resizing=true;resizer.downX=e.screenX;resizer.downY=e.screenY;resizer.width=parseInt(resizeBox.style.width);resizer.height=parseInt(resizeBox.style.height);resizer.editorId=editor_id;resizer.resizeBox=resizeBox;resizer.horizontal=tinyMCE.getParam("theme_advanced_resize_horizontal",true)}else{resizer.resizing=false;resizeBox.style.display="none";editorArea.style.display=tinyMCE.isMSIE&&!tinyMCE.isOpera?"block":"table";tinyMCE.execCommand('mceResetDesignMode')}},_getColorHTML:function(id,n,cm){var i,h,cl;h='<span class="mceMenuLine"></span>';cl=tinyMCE.getParam(n,TinyMCE_AdvancedTheme._defColors).split(',');h+='<table class="mceColors"><tr>';for(i=0;i<cl.length;i++){c='tinyMCE.execInstanceCommand(\''+id+'\', \''+cm+'\', false, \'#'+cl[i]+'\');';h+='<td><a href="javascript:'+c+'" style="background-color: #'+cl[i]+'" onclick="'+c+';return false;"></a></td>';if((i+1)%8==0)h+='</tr><tr>'}h+='</tr></table>';if(tinyMCE.getParam("theme_advanced_more_colors",true))h+='<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\''+id+'\',\''+cm+'\');" class="mceMoreColors">'+tinyMCE.getLang('lang_more_colors')+'</a>';return h},_pickColor:function(id,cm){var inputColor,inst=tinyMCE.selectedInstance;if(cm=='forecolor'&&inst)inputColor=inst.foreColor;if((cm=='backcolor'||cm=='HiliteColor')&&inst)inputColor=inst.backColor;tinyMCE.execCommand('mceColorPicker',true,{color:inputColor,callback:function(c){tinyMCE.execInstanceCommand(id,cm,false,c)}})},_insertImage:function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!tinyMCE.imgElement&&tinyMCE.isSafari){var html="";html+='<img src="'+src+'" alt="'+alt+'"';html+=' border="'+border+'" hspace="'+hspace+'"';html+=' vspace="'+vspace+'" width="'+width+'"';html+=' height="'+height+'" align="'+align+'" title="'+title+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" />';tinyMCE.execCommand("mceInsertContent",false,html)}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'<img src="'+tinyMCE.uniqueURL+'" />');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL)}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint()}tinyMCE.execCommand('mceEndUndoLevel')},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement)}return}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,'<a href="'+tinyMCE.uniqueURL+'">'+tinyMCE.selectedInstance.selection.getSelectedHTML()+'</a>')}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i<elementArray.length;i++){var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, elementArray[i]);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(elementArray[i],'href',thref);tinyMCE.setAttrib(elementArray[i],'mce_href',mhref);tinyMCE.setAttrib(elementArray[i],'target',target);tinyMCE.setAttrib(elementArray[i],'title',title);tinyMCE.setAttrib(elementArray[i],'onclick',onclick);tinyMCE.setAttrib(elementArray[i],'class',style_class)}tinyMCE.linkElement=elementArray[0]}if(tinyMCE.linkElement){var mhref=href;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(tinyMCE.linkElement,'href',href);tinyMCE.setAttrib(tinyMCE.linkElement,'mce_href',mhref);tinyMCE.setAttrib(tinyMCE.linkElement,'target',target);tinyMCE.setAttrib(tinyMCE.linkElement,'title',title);tinyMCE.setAttrib(tinyMCE.linkElement,'onclick',onclick);tinyMCE.setAttrib(tinyMCE.linkElement,'class',style_class)}tinyMCE.execCommand('mceEndUndoLevel')}};tinyMCE.addTheme("advanced",TinyMCE_AdvancedTheme);tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1574 @@
+/**
+ * $Id: editor_template_src.js 218 2007-02-13 11:08:01Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme specific language pack */
+tinyMCE.importThemeLanguagePack('advanced');
+
+var TinyMCE_AdvancedTheme = {
+	// Private theme fields
+	_defColors : "000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",
+	_autoImportCSSClasses : true,
+	_resizer : {},
+	_buttons : [
+		// Control id, button img, button title, command, user_interface, value
+		['bold', '{$lang_bold_img}', 'lang_bold_desc', 'Bold'],
+		['italic', '{$lang_italic_img}', 'lang_italic_desc', 'Italic'],
+		['underline', '{$lang_underline_img}', 'lang_underline_desc', 'Underline'],
+		['strikethrough', 'strikethrough.gif', 'lang_striketrough_desc', 'Strikethrough'],
+		['justifyleft', 'justifyleft.gif', 'lang_justifyleft_desc', 'JustifyLeft'],
+		['justifycenter', 'justifycenter.gif', 'lang_justifycenter_desc', 'JustifyCenter'],
+		['justifyright', 'justifyright.gif', 'lang_justifyright_desc', 'JustifyRight'],
+		['justifyfull', 'justifyfull.gif', 'lang_justifyfull_desc', 'JustifyFull'],
+		['bullist', 'bullist.gif', 'lang_bullist_desc', 'InsertUnorderedList'],
+		['numlist', 'numlist.gif', 'lang_numlist_desc', 'InsertOrderedList'],
+		['outdent', 'outdent.gif', 'lang_outdent_desc', 'Outdent'],
+		['indent', 'indent.gif', 'lang_indent_desc', 'Indent'],
+		['cut', 'cut.gif', 'lang_cut_desc', 'Cut'],
+		['copy', 'copy.gif', 'lang_copy_desc', 'Copy'],
+		['paste', 'paste.gif', 'lang_paste_desc', 'Paste'],
+		['undo', 'undo.gif', 'lang_undo_desc', 'Undo'],
+		['redo', 'redo.gif', 'lang_redo_desc', 'Redo'],
+		['link', 'link.gif', 'lang_link_desc', 'mceLink', true],
+		['unlink', 'unlink.gif', 'lang_unlink_desc', 'unlink'],
+		['image', 'image.gif', 'lang_image_desc', 'mceImage', true],
+		['cleanup', 'cleanup.gif', 'lang_cleanup_desc', 'mceCleanup'],
+		['help', 'help.gif', 'lang_help_desc', 'mceHelp'],
+		['code', 'code.gif', 'lang_theme_code_desc', 'mceCodeEditor'],
+		['hr', 'hr.gif', 'lang_theme_hr_desc', 'inserthorizontalrule'],
+		['removeformat', 'removeformat.gif', 'lang_theme_removeformat_desc', 'removeformat'],
+		['sub', 'sub.gif', 'lang_theme_sub_desc', 'subscript'],
+		['sup', 'sup.gif', 'lang_theme_sup_desc', 'superscript'],
+		['forecolor', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolor', true],
+		['forecolorpicker', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolorpicker', true],
+		['backcolor', 'backcolor.gif', 'lang_theme_backcolor_desc', 'HiliteColor', true],
+		['backcolorpicker', 'backcolor.gif', 'lang_theme_backcolor_desc', 'backcolorpicker', true],
+		['charmap', 'charmap.gif', 'lang_theme_charmap_desc', 'mceCharMap'],
+		['visualaid', 'visualaid.gif', 'lang_theme_visualaid_desc', 'mceToggleVisualAid'],
+		['anchor', 'anchor.gif', 'lang_theme_anchor_desc', 'mceInsertAnchor'],
+		['newdocument', 'newdocument.gif', 'lang_newdocument_desc', 'mceNewDocument']
+	],
+
+	_buttonMap : 'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',
+
+	/**
+	 * Returns HTML code for the specificed control.
+	 */
+	getControlHTML : function(button_name) {
+		var i, x, but;
+
+		// Lookup button in button list
+		for (i=0; i<TinyMCE_AdvancedTheme._buttons.length; i++) {
+			but = TinyMCE_AdvancedTheme._buttons[i];
+
+			if (but[0] == button_name && (button_name == "forecolor" || button_name == "backcolor"))
+				return tinyMCE.getMenuButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3] + "Menu", but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+
+			if (but[0] == button_name)
+				return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+		}
+
+		// Custom controlls other than buttons
+		switch (button_name) {
+			case "formatselect":
+				var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
+				var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
+				var lookup = [
+					['p', '{$lang_theme_paragraph}'],
+					['address', '{$lang_theme_address}'],
+					['pre', '{$lang_theme_pre}'],
+					['h1', '{$lang_theme_h1}'],
+					['h2', '{$lang_theme_h2}'],
+					['h3', '{$lang_theme_h3}'],
+					['h4', '{$lang_theme_h4}'],
+					['h5', '{$lang_theme_h5}'],
+					['h6', '{$lang_theme_h6}'],
+					['div', '{$lang_theme_div}'],
+					['blockquote', '{$lang_theme_blockquote}'],
+					['code', '{$lang_theme_code}'],
+					['dt', '{$lang_theme_dt}'],
+					['dd', '{$lang_theme_dd}'],
+					['samp', '{$lang_theme_samp}']
+				];
+
+				html += '<option value="">{$lang_theme_block}</option>';
+
+				// Build format select
+				for (var i=0; i<formats.length; i++) {
+					for (var x=0; x<lookup.length; x++) {
+						if (formats[i] == lookup[x][0])
+							html += '<option value="&lt;' + lookup[x][0] + '&gt;">' + lookup[x][1] + '</option>';
+					}
+				}
+
+				html += '</select>';
+
+				return html;
+
+			case "styleselect":
+				return '<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
+
+			case "fontselect":
+				var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
+				var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+				var nFonts = 'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';
+				var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
+				for (i=0; i<fonts.length; i++) {
+					if (fonts[i] != '') {
+						var parts = fonts[i].split('=');
+						fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
+					}
+				}
+
+				fontHTML += '</select>';
+				return fontHTML;
+
+			case "fontsizeselect":
+				return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+
+						'<option value="0">{$lang_theme_font_size}</option>'+
+						'<option value="1">1 (8 pt)</option>'+
+						'<option value="2">2 (10 pt)</option>'+
+						'<option value="3">3 (12 pt)</option>'+
+						'<option value="4">4 (14 pt)</option>'+
+						'<option value="5">5 (18 pt)</option>'+
+						'<option value="6">6 (24 pt)</option>'+
+						'<option value="7">7 (36 pt)</option>'+
+						'</select>';
+
+			case "|":
+			case "separator":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+
+			case "spacer":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
+
+			case "rowseparator":
+				return '<br />';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Theme specific execcommand handling.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case 'mceHelp':
+				tinyMCE.openWindow({
+					file : 'about.htm',
+					width : 480,
+					height : 380
+				}, {
+					tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
+					tinymce_releasedate : tinyMCE.releaseDate,
+					inline : "yes"
+				});
+			return true;
+
+			case "mceLink":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var doc = inst.getDoc();
+				var selectedText = "";
+
+				if (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = inst.getSel().toString();
+
+				if (!tinyMCE.linkElement) {
+					if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
+						return true;
+				}
+
+				var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
+
+				if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
+					tinyMCE.linkElement = tinyMCE.selectedElement;
+
+				// Is anchor not a link
+				if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
+					tinyMCE.linkElement = null;
+
+				if (tinyMCE.linkElement) {
+					href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
+					target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
+					title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
+					onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+					style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
+
+					// Try old onclick to if copy/pasted content
+					if (onclick == "")
+						onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+
+					onclick = tinyMCE.cleanupEventStr(onclick);
+
+					href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+
+					// Use mce_href if defined
+					mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href');
+					if (mceRealHref != "") {
+						href = mceRealHref;
+
+						if (tinyMCE.getParam('convert_urls'))
+							href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+					}
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'link.htm';
+				template['width'] = 310;
+				template['height'] = 200;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+
+				if (inst.settings['insertlink_callback']) {
+					var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
+					if (returnVal && returnVal['href'])
+						TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
+				} else {
+					tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceImage":
+				var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
+				var title = "", onmouseover = "", onmouseout = "", action = "insert";
+				var img = tinyMCE.imgElement;
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+					img = tinyMCE.selectedElement;
+					tinyMCE.imgElement = img;
+				}
+
+				if (img) {
+					// Is it a internal MCE visual aid image, then skip this one.
+					if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
+						return true;
+
+					src = tinyMCE.getAttrib(img, 'src');
+					alt = tinyMCE.getAttrib(img, 'alt');
+
+					// Try polling out the title
+					if (alt == "")
+						alt = tinyMCE.getAttrib(img, 'title');
+
+					// Fix width/height attributes if the styles is specified
+					if (tinyMCE.isGecko) {
+						var w = img.style.width;
+						if (w != null && w != "")
+							img.setAttribute("width", w);
+
+						var h = img.style.height;
+						if (h != null && h != "")
+							img.setAttribute("height", h);
+					}
+
+					border = tinyMCE.getAttrib(img, 'border');
+					hspace = tinyMCE.getAttrib(img, 'hspace');
+					vspace = tinyMCE.getAttrib(img, 'vspace');
+					width = tinyMCE.getAttrib(img, 'width');
+					height = tinyMCE.getAttrib(img, 'height');
+					align = tinyMCE.getAttrib(img, 'align');
+					onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
+					onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
+					title = tinyMCE.getAttrib(img, 'title');
+
+					// Is realy specified?
+					if (tinyMCE.isMSIE) {
+						width = img.attributes['width'].specified ? width : "";
+						height = img.attributes['height'].specified ? height : "";
+					}
+
+					//onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
+					//onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
+
+					src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+
+					// Use mce_src if defined
+					mceRealSrc = tinyMCE.getAttrib(img, 'mce_src');
+					if (mceRealSrc != "") {
+						src = mceRealSrc;
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+					}
+
+					//if (onmouseover != "")
+					//	onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
+
+					//if (onmouseout != "")
+					//	onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'image.htm?src={$src}';
+				template['width'] = 355;
+				template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0);
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+
+				if (inst.settings['insertimage_callback']) {
+					var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
+					if (returnVal && returnVal['src'])
+						TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
+				} else
+					tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"});
+
+				return true;
+
+			case "forecolor":
+				var fcp = new TinyMCE_Layer(editor_id + '_fcPreview', false), p, img, elm;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!fcp.exists()) {
+					fcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = fcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "forecolor";
+					elm._switchId = editor_id + "_forecolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_forecolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				fcp.moveTo(p.absLeft, p.absTop);
+				fcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).foreColor;
+				fcp.show();
+
+				return false;
+
+			case "forecolorpicker":
+				this._pickColor(editor_id, 'forecolor');
+				return true;
+
+			case "forecolorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_fcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_text_colors', 'forecolor'));
+
+				tinyMCE.switchClass(editor_id + '_forecolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_forecolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+
+			case "HiliteColor":
+				var bcp = new TinyMCE_Layer(editor_id + '_bcPreview', false), p, img;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!bcp.exists()) {
+					bcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = bcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "HiliteColor";
+					elm._switchId = editor_id + "_backcolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_backcolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				bcp.moveTo(p.absLeft, p.absTop);
+				bcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).backColor;
+				bcp.show();
+
+				return false;
+
+			case "HiliteColorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_bcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_background_colors', 'HiliteColor'));
+
+				tinyMCE.switchClass(editor_id + '_backcolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_backcolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+	
+			case "backcolorpicker":
+				this._pickColor(editor_id, 'HiliteColor');
+				return true;
+
+			case "mceColorPicker":
+				if (user_interface) {
+					var template = [];
+	
+					if (!value['callback'] && !value['color'])
+						value['color'] = value['document'].getElementById(value['element_id']).value;
+
+					template['file'] = 'color_picker.htm';
+					template['width'] = 380;
+					template['height'] = 250;
+					template['close_previous'] = "no";
+
+					template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
+
+					if (typeof(value['store_selection']) == "undefined")
+						value['store_selection'] = true;
+
+					tinyMCE.lastColorPickerValue = value;
+					tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : value['color']});
+				} else {
+					var savedVal = tinyMCE.lastColorPickerValue, elm;
+
+					if (savedVal['callback']) {
+						savedVal['callback'](value);
+						return true;
+					}
+
+					elm = savedVal['document'].getElementById(savedVal['element_id']);
+					elm.value = value;
+
+					if (elm.onchange != null && elm.onchange != '')
+						eval('elm.onchange();');
+				}
+			return true;
+
+			case "mceCodeEditor":
+				var template = new Array();
+
+				template['file'] = 'source_editor.htm';
+				template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720));
+				template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580));
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
+				return true;
+
+			case "mceCharMap":
+				var template = new Array();
+
+				template['file'] = 'charmap.htm';
+				template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0);
+				template['height'] = 250;
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceInsertAnchor":
+				var template = new Array();
+
+				template['file'] = 'anchor.htm';
+				template['width'] = 320;
+				template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceNewDocument":
+				if (confirm(tinyMCE.getLang('lang_newdocument')))
+					tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' ');
+
+				return true;
+		}
+
+		return false;
+	},
+
+	/**
+	 * Editor instance template function.
+	 */
+	getEditorTemplate : function(settings, editorId) {
+		function removeFromArray(in_array, remove_array) {
+			var outArray = new Array(), skip;
+			
+			for (var i=0; i<in_array.length; i++) {
+				skip = false;
+
+				for (var j=0; j<remove_array.length; j++) {
+					if (in_array[i] == remove_array[j]) {
+						skip = true;
+					}
+				}
+
+				if (!skip) {
+					outArray[outArray.length] = in_array[i];
+				}
+			}
+
+			return outArray;
+		}
+
+		function addToArray(in_array, add_array) {
+			for (var i=0; i<add_array.length; i++) {
+				in_array[in_array.length] = add_array[i];
+			}
+
+			return in_array;
+		}
+
+		var template = new Array();
+		var deltaHeight = 0;
+		var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
+		var path = tinyMCE.getParam("theme_advanced_path", true);
+		var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
+		var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
+
+		// Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
+		var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
+		if (settings['theme_advanced_styles']) {
+			var stylesAr = settings['theme_advanced_styles'].split(';');
+			
+			for (var i=0; i<stylesAr.length; i++) {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+			}
+
+			TinyMCE_AdvancedTheme._autoImportCSSClasses = false;
+		}
+
+		switch(layoutManager) {
+			case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
+				var toolbarHTML = "";
+				var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
+				var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
+				var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
+				var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
+				var defVals = {
+					theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
+					theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
+					theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
+				};
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="q" title="' + tinyMCE.getLang("lang_toolbar_focus") + '"';
+
+				if (!tinyMCE.getParam("accessibility_focus"))
+					toolbarHTML += ' onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"';
+
+				toolbarHTML += '></a>';
+
+				// Render rows
+				for (var i=1; i<100; i++) {
+					var def = defVals["theme_advanced_buttons" + i];
+
+					var buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
+					if (buttons.length == 0)
+						break;
+
+					buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+					buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
+					buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
+
+					for (var b=0; b<buttons.length; b++)
+						toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
+
+					if (buttons.length > 0) {
+						toolbarHTML += "<br />";
+						deltaHeight -= 23;
+					}
+				}
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"></a>';
+
+				// Setup template html
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';
+
+				if (toolbarLocation == "top")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				if (statusbarLocation == "top") {
+					template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
+
+				if (toolbarLocation == "bottom")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarBottom" align="' + toolbarAlign + '" height="1"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				// External toolbar changes
+				if (toolbarLocation == "external") {
+					var bod = document.body;
+					var elm = document.createElement ("div");
+
+					toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
+					toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId});
+
+					elm.className = "mceToolbarExternal";
+					elm.id = editorId+"_toolbar";
+					elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
+					bod.appendChild (elm);
+					// bod.style.marginTop = elm.offsetHeight + "px";
+
+					deltaHeight = 0;
+					tinyMCE.getInstanceById(editorId).toolbarElement = elm;
+
+					//template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
+				} else {
+					tinyMCE.getInstanceById(editorId).toolbarElement = null;
+				}
+
+				if (statusbarLocation == "bottom") {
+					template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '</tbody></table>';
+				//"SimpleLayout"
+			break;
+
+			case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
+
+				var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
+				var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
+				var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
+
+				//Render Containers:
+				for (var i = 0; i < containers.length; i++)
+				{
+					if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
+						template['html'] += '<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';
+					else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
+					{
+						var pathClass = "mceStatusbar";
+
+						if (i == containers.length-1)
+						{
+							pathClass = "mceStatusbarBottom";
+						}
+						else if (i == 0)
+						{
+							pathClass = "mceStatusbar";
+						}
+						else
+						{
+							deltaHeight-=2;
+						}
+
+						template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
+						deltaHeight -= 22;
+					} else { // Render normal Container
+						var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
+						var curContainerHTML = "";
+						var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
+						var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
+
+						curContainer = removeFromArray(curContainer, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+
+						for (var j=0; j<curContainer.length; j++)
+							curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
+
+						if (curContainer.length > 0) {
+							curContainerHTML += "<br />";
+							deltaHeight -= 23;
+						}
+
+						template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
+					}
+				}
+
+				template['html'] += '</tbody></table>';
+				//RowLayout
+			break;
+
+			case "CustomLayout" : //User defined layout callback...
+				var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
+
+				if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") {
+					template = eval(customLayout + "(template);");
+				}
+			break;
+		}
+
+		if (resizing)
+			template['html'] += '<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';
+
+		template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
+
+		// Set to default values
+		if (!template['delta_width'])
+			template['delta_width'] = 0;
+
+		if (!template['delta_height'])
+			template['delta_height'] = deltaHeight;
+
+		return template;
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.getParam("theme_advanced_resizing", false)) {
+			if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+				var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width");
+				var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height");
+
+				TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
+			}
+		}
+
+		inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink');
+	},
+
+	removeInstance : function(inst) {
+		new TinyMCE_Layer(inst.editorId + '_fcMenu').remove();
+		new TinyMCE_Layer(inst.editorId + '_bcMenu').remove();
+	},
+
+	hideInstance : function(inst) {
+		TinyMCE_AdvancedTheme._hideMenus(inst.editorId);
+	},
+
+	_handleMenuEvent : function(e) {
+		var te = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+		tinyMCE._menuButtonEvent(e.type == "mouseover" ? "over" : "out", document.getElementById(te._switchId));
+
+		if (e.type == "click")
+			tinyMCE.execInstanceCommand(te._editor_id, te._command);
+	},
+
+	_hideMenus : function(id) {
+		var fcml = new TinyMCE_Layer(id + '_fcMenu'), bcml = new TinyMCE_Layer(id + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(id + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(id + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+	},
+
+	/**
+	 * Node change handler.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) {
+		var alignNode, breakOut, classNode;
+
+		function selectByValue(select_elm, value, first_index) {
+			first_index = typeof(first_index) == "undefined" ? false : true;
+
+			if (select_elm) {
+				for (var i=0; i<select_elm.options.length; i++) {
+					var ov = "" + select_elm.options[i].value;
+
+					if (first_index && ov.toLowerCase().indexOf(value.toLowerCase()) == 0) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+
+					if (ov == value) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+				}
+			}
+
+			return false;
+		};
+
+		// No node provided
+		if (node == null)
+			return;
+
+		// Update path
+		var pathElm = document.getElementById(editor_id + "_path");
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var doc = inst.getDoc();
+		TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+		if (pathElm) {
+			// Get node path
+			var parentNode = node;
+			var path = new Array();
+			
+			while (parentNode != null) {
+				if (parentNode.nodeName.toUpperCase() == "BODY") {
+					break;
+				}
+
+				// Only append element nodes to path
+				if (parentNode.nodeType == 1 && tinyMCE.getAttrib(parentNode, "class").indexOf('mceItemHidden') == -1) {
+					path[path.length] = parentNode;
+				}
+
+				parentNode = parentNode.parentNode;
+			}
+
+			// Setup HTML
+			var html = "";
+			for (var i=path.length-1; i>=0; i--) {
+				var nodeName = path[i].nodeName.toLowerCase();
+				var nodeData = "";
+
+				if (nodeName.indexOf("html:") == 0)
+					nodeName = nodeName.substring(5);
+
+				if (nodeName == "b") {
+					nodeName = "strong";
+				}
+
+				if (nodeName == "i") {
+					nodeName = "em";
+				}
+
+				if (nodeName == "span") {
+					var cn = tinyMCE.getAttrib(path[i], "class");
+					if (cn != "" && cn.indexOf('mceItem') == -1)
+						nodeData += "class: " + cn + " ";
+
+					var st = tinyMCE.getAttrib(path[i], "style");
+					if (st != "") {
+						st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st));
+						nodeData += "style: " + tinyMCE.xmlEncode(st) + " ";
+					}
+				}
+
+				if (nodeName == "font") {
+					if (tinyMCE.getParam("convert_fonts_to_spans"))
+						nodeName = "span";
+
+					var face = tinyMCE.getAttrib(path[i], "face");
+					if (face != "")
+						nodeData += "font: " + tinyMCE.xmlEncode(face) + " ";
+
+					var size = tinyMCE.getAttrib(path[i], "size");
+					if (size != "")
+						nodeData += "size: " + tinyMCE.xmlEncode(size) + " ";
+
+					var color = tinyMCE.getAttrib(path[i], "color");
+					if (color != "")
+						nodeData += "color: " + tinyMCE.xmlEncode(color) + " ";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'id') != "") {
+					nodeData += "id: " + path[i].getAttribute('id') + " ";
+				}
+
+				var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+				if (className != "" && className.indexOf('mceItem') == -1)
+					nodeData += "class: " + className + " ";
+
+				if (tinyMCE.getAttrib(path[i], 'src') != "") {
+					var src = tinyMCE.getAttrib(path[i], "mce_src");
+
+					if (src == "")
+						 src = tinyMCE.getAttrib(path[i], "src");
+
+					nodeData += "src: " + tinyMCE.xmlEncode(src) + " ";
+				}
+
+				if (path[i].nodeName == 'A' && tinyMCE.getAttrib(path[i], 'href') != "") {
+					var href = tinyMCE.getAttrib(path[i], "mce_href");
+
+					if (href == "")
+						 href = tinyMCE.getAttrib(path[i], "href");
+
+					nodeData += "href: " + tinyMCE.xmlEncode(href) + " ";
+				}
+
+				className = tinyMCE.getAttrib(path[i], "class");
+				if ((nodeName == "img" || nodeName == "span") && className.indexOf('mceItem') != -1) {
+					nodeName = className.replace(/mceItem([a-z]+)/gi, '$1').toLowerCase();
+					nodeData = path[i].getAttribute('title');
+				}
+
+				if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") {
+					nodeName = "a";
+					nodeName += "#" + tinyMCE.xmlEncode(anchor);
+					nodeData = "";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'name').indexOf("mce_") != 0) {
+					var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+					if (className != "" && className.indexOf('mceItem') == -1) {
+						nodeName += "." + className;
+					}
+				}
+
+				var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');';
+				html += '<a title="' + nodeData + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" target="_self" class="mcePathItem">' + nodeName + '</a>';
+
+				if (i > 0) {
+					html += " &raquo; ";
+				}
+			}
+
+			pathElm.innerHTML = '<a href="#" accesskey="x"></a>' + tinyMCE.getLang('lang_theme_path') + ": " + html + '&#160;';
+		}
+
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal');
+
+		if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
+			tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected');
+
+		// Get link
+		var anchorLink = tinyMCE.getParentElement(node, "a", "href");
+
+		if (anchorLink || any_selection) {
+			tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+		}
+
+		// Handle visual aid
+		tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (undo_levels != -1) {
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled');
+		}
+
+		// Within li, blockquote
+		if (tinyMCE.getParentElement(node, "li,blockquote"))
+			tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal');
+
+		// Has redo levels
+		if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal');
+
+		// Has undo levels
+		if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal');
+
+		// Select class in select box
+		var selectElm = document.getElementById(editor_id + "_styleSelect");
+		
+		if (selectElm) {
+			TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);
+
+			classNode = node;
+			breakOut = false;
+			var index = 0;
+
+			do {
+				if (classNode && classNode.className) {
+					for (var i=0; i<selectElm.options.length; i++) {
+						if (selectElm.options[i].value == classNode.className) {
+							index = i;
+							breakOut = true;
+							break;
+						}
+					}
+				}
+			} while (!breakOut && classNode != null && (classNode = classNode.parentNode) != null);
+
+			selectElm.selectedIndex = index;
+		}
+
+		// Select formatblock
+		var selectElm = document.getElementById(editor_id + "_formatSelect");
+		if (selectElm) {
+			var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+
+			if (elm)
+				selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+			else
+				selectByValue(selectElm, "");
+		}
+
+		// Select fontselect
+		var selectElm = document.getElementById(editor_id + "_fontNameSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) {
+				var face = inst.queryCommandValue('FontName');
+
+				face = face == null || face == "" ? "" : face;
+
+				selectByValue(selectElm, face, face != "");
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "face");
+
+				if (elm) {
+					var family = tinyMCE.getAttrib(elm, "face");
+
+					if (family == '')
+						family = '' + elm.style.fontFamily;
+
+					if (!selectByValue(selectElm, family, family != ""))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "");
+			}
+		}
+
+		// Select fontsize
+		var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !tinyMCE.isOpera) {
+				var size = inst.queryCommandValue('FontSize');
+				selectByValue(selectElm, size == null || size == "" ? "0" : size);
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "size");
+				if (elm) {
+					var size = tinyMCE.getAttrib(elm, "size");
+
+					if (size == '') {
+						var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
+
+						size = '' + elm.style.fontSize;
+
+						for (var i=0; i<sizes.length; i++) {
+							if (('' + sizes[i]) == size) {
+								size = i;
+								break;
+							}
+						}
+					}
+
+					if (!selectByValue(selectElm, size))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "0");
+			}
+		}
+
+		// Handle align attributes
+		alignNode = node;
+		breakOut = false;
+		do {
+			if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
+				continue;
+
+			switch (alignNode.getAttribute('align').toLowerCase()) {
+				case "left":
+					tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "right":
+					tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "middle":
+				case "center":
+					tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "justify":
+					tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonSelected');
+					breakOut = true;
+				break;
+			}
+		} while (!breakOut && (alignNode = alignNode.parentNode) != null);
+
+		// Div justification
+		var div = tinyMCE.getParentElement(node, "div");
+		if (div && div.style.textAlign == "center")
+			tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+
+		// Do special text
+		if (!setup_content) {
+			// , "JustifyLeft", "_justifyleft", "JustifyCenter", "justifycenter", "JustifyRight", "justifyright", "JustifyFull", "justifyfull", "InsertUnorderedList", "bullist", "InsertOrderedList", "numlist", "InsertUnorderedList", "bullist", "Outdent", "outdent", "Indent", "indent", "subscript", "sub"
+			var ar = new Array("Bold", "_bold", "Italic", "_italic", "Strikethrough", "_strikethrough", "superscript", "_sup", "subscript", "_sub");
+			for (var i=0; i<ar.length; i+=2) {
+				if (inst.queryCommandState(ar[i]))
+					tinyMCE.switchClass(editor_id + ar[i+1], 'mceButtonSelected');
+			}
+
+			if (inst.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A"))
+				tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+		}
+
+		// Handle elements
+		do {
+			switch (node.nodeName) {
+				case "UL":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "OL":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+
+				case "HR":
+					 tinyMCE.switchClass(editor_id + '_hr', 'mceButtonSelected');
+				break;
+
+				case "IMG":
+				if (tinyMCE.getAttrib(node, 'name').indexOf('mce_') != 0 && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+					tinyMCE.switchClass(editor_id + '_image', 'mceButtonSelected');
+				}
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	},
+
+	// Private theme internal functions
+
+	// This function auto imports CSS classes into the class selection droplist
+	_setupCSSClasses : function(editor_id) {
+		var i, selectElm;
+
+		if (!TinyMCE_AdvancedTheme._autoImportCSSClasses)
+			return;
+
+		selectElm = document.getElementById(editor_id + '_styleSelect');
+
+		if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
+			var csses = tinyMCE.getCSSClasses(editor_id);
+			if (csses && selectElm)	{
+				for (i=0; i<csses.length; i++)
+					selectElm.options[selectElm.options.length] = new Option(csses[i], csses[i]);
+			}
+
+			// Only do this once
+			if (csses != null && csses.length > 0)
+				selectElm.setAttribute('cssImported', 'true');
+		}
+	},
+
+	_setCookie : function(name, value, expires, path, domain, secure) {
+		var curCookie = name + "=" + escape(value) +
+			((expires) ? "; expires=" + expires.toGMTString() : "") +
+			((path) ? "; path=" + escape(path) : "") +
+			((domain) ? "; domain=" + domain : "") +
+			((secure) ? "; secure" : "");
+
+		document.cookie = curCookie;
+	},
+
+	_getCookie : function(name) {
+		var dc = document.cookie;
+		var prefix = name + "=";
+		var begin = dc.indexOf("; " + prefix);
+
+		if (begin == -1) {
+			begin = dc.indexOf(prefix);
+
+			if (begin != 0)
+				return null;
+		} else
+			begin += 2;
+
+		var end = document.cookie.indexOf(";", begin);
+
+		if (end == -1)
+			end = dc.length;
+
+		return unescape(dc.substring(begin + prefix.length, end));
+	},
+
+	_resizeTo : function(inst, w, h, set_w) {
+		var editorContainer = document.getElementById(inst.editorId + '_parent');
+		var tableElm = editorContainer.firstChild;
+		var iframe = inst.iframeElement;
+
+		if (w == null || w == "null") {
+			set_w = false;
+			w = 0;
+		}
+
+		if (h == null || h == "null")
+			return;
+
+		w = parseInt(w);
+		h = parseInt(h);
+
+		if (tinyMCE.isGecko) {
+			w += 2;
+			h += 2;
+		}
+
+		var dx = w - tableElm.clientWidth;
+		var dy = h - tableElm.clientHeight;
+
+		w = w < 1 ? 30 : w;
+		h = h < 1 ? 30 : h;
+
+		if (set_w)
+			tableElm.style.width = w + "px";
+
+		tableElm.style.height = h + "px";
+
+		iw = iframe.clientWidth + dx;
+		ih = iframe.clientHeight + dy;
+
+		iw = iw < 1 ? 30 : iw;
+		ih = ih < 1 ? 30 : ih;
+
+		if (tinyMCE.isGecko) {
+			iw -= 2;
+			ih -= 2;
+		}
+
+		if (set_w)
+			iframe.style.width = iw + "px";
+
+		iframe.style.height = ih + "px";
+
+		// Is it to small, make it bigger again
+		if (set_w) {
+			var tableBodyElm = tableElm.firstChild;
+			var minIframeWidth = tableBodyElm.scrollWidth;
+			if (inst.iframeElement.clientWidth < minIframeWidth) {
+				dx = minIframeWidth - inst.iframeElement.clientWidth;
+
+				inst.iframeElement.style.width = (iw + dx) + "px";
+			}
+		}
+
+		// Remove pesky table controls
+		inst.useCSS = false;
+	},
+
+	/**
+	 * Handles resizing events.
+	 */
+	_resizeEventHandler : function(e) {
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+
+		// Do nothing
+		if (!resizer.resizing)
+			return;
+
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var dx = e.screenX - resizer.downX;
+		var dy = e.screenY - resizer.downY;
+		var resizeBox = resizer.resizeBox;
+		var editorId = resizer.editorId;
+
+		switch (e.type) {
+			case "mousemove":
+				var w, h;
+
+				w = resizer.width + dx;
+				h = resizer.height + dy;
+
+				w = w < 1 ? 1 : w;
+				h = h < 1 ? 1 : h;
+
+				if (resizer.horizontal)
+					resizeBox.style.width = w + "px";
+
+				resizeBox.style.height = h + "px";
+				break;
+
+			case "mouseup":
+				TinyMCE_AdvancedTheme._setResizing(e, editorId, false);
+				TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
+
+				// Expire in a month
+				if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+					var expires = new Date();
+					expires.setTime(expires.getTime() + 3600000 * 24 * 30);
+
+					// Set the cookies
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
+				}
+				break;
+		}
+	},
+
+	/**
+	 * Starts/stops the editor resizing.
+	 */
+	_setResizing : function(e, editor_id, state) {
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+		var editorContainer = document.getElementById(editor_id + '_parent');
+		var editorArea = document.getElementById(editor_id + '_parent').firstChild;
+		var resizeBox = document.getElementById(editor_id + '_resize_box');
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		if (state) {
+			// Place box over editor area
+			var width = editorArea.clientWidth;
+			var height = editorArea.clientHeight;
+
+			resizeBox.style.width = width + "px";
+			resizeBox.style.height = height + "px";
+
+			resizer.iframeWidth = inst.iframeElement.clientWidth;
+			resizer.iframeHeight = inst.iframeElement.clientHeight;
+
+			// Hide editor and show resize box
+			editorArea.style.display = "none";
+			resizeBox.style.display = "block";
+
+			// Add event handlers, only once
+			if (!resizer.eventHandlers) {
+				if (tinyMCE.isMSIE)
+					tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+				else
+					tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				resizer.eventHandlers = true;
+			}
+
+			resizer.resizing = true;
+			resizer.downX = e.screenX;
+			resizer.downY = e.screenY;
+			resizer.width = parseInt(resizeBox.style.width);
+			resizer.height = parseInt(resizeBox.style.height);
+			resizer.editorId = editor_id;
+			resizer.resizeBox = resizeBox;
+			resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
+		} else {
+			resizer.resizing = false;
+			resizeBox.style.display = "none";
+			editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table";
+			tinyMCE.execCommand('mceResetDesignMode');
+		}
+	},
+
+	_getColorHTML : function(id, n, cm) {
+		var i, h, cl;
+
+		h = '<span class="mceMenuLine"></span>';
+		cl = tinyMCE.getParam(n, TinyMCE_AdvancedTheme._defColors).split(',');
+
+		h += '<table class="mceColors"><tr>';
+		for (i=0; i<cl.length; i++) {
+			c = 'tinyMCE.execInstanceCommand(\'' + id + '\', \'' + cm + '\', false, \'#' + cl[i] + '\');';
+			h += '<td><a href="javascript:' + c + '" style="background-color: #' + cl[i] + '" onclick="' + c + ';return false;"></a></td>';
+
+			if ((i+1) % 8 == 0)
+				h += '</tr><tr>';
+		}
+
+		h += '</tr></table>';
+
+		if (tinyMCE.getParam("theme_advanced_more_colors", true))
+			h += '<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\'' + id + '\',\'' + cm + '\');" class="mceMoreColors">' + tinyMCE.getLang('lang_more_colors') + '</a>';
+
+		return h;
+	},
+
+	_pickColor : function(id, cm) {
+		var inputColor, inst = tinyMCE.selectedInstance;
+
+		if (cm == 'forecolor' && inst)
+			inputColor = inst.foreColor;
+
+		if ((cm == 'backcolor' || cm == 'HiliteColor') && inst)
+			inputColor = inst.backColor;
+
+		tinyMCE.execCommand('mceColorPicker', true, {color : inputColor, callback : function(c) {
+			tinyMCE.execInstanceCommand(id, cm, false, c);
+		}});
+	},
+
+	_insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (src == "")
+			return;
+
+		if (!tinyMCE.imgElement && tinyMCE.isSafari) {
+			var html = "";
+
+			html += '<img src="' + src + '" alt="' + alt + '"';
+			html += ' border="' + border + '" hspace="' + hspace + '"';
+			html += ' vspace="' + vspace + '" width="' + width + '"';
+			html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
+
+			tinyMCE.execCommand("mceInsertContent", false, html);
+		} else {
+			if (!tinyMCE.imgElement && tinyMCE.selectedInstance) {
+				if (tinyMCE.isSafari)
+					tinyMCE.execCommand("mceInsertContent", false, '<img src="' + tinyMCE.uniqueURL + '" />');
+				else
+					tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL);
+
+				tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL);
+			}
+		}
+
+		if (tinyMCE.imgElement) {
+			var needsRepaint = false;
+			var msrc = src;
+
+			src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
+
+			if (tinyMCE.getParam('convert_urls'))
+				msrc = src;
+
+			if (onmouseover && onmouseover != "")
+				onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
+
+			if (onmouseout && onmouseout != "")
+				onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
+
+			// Use alt as title if it's undefined
+			if (typeof(title) == "undefined")
+				title = alt;
+
+			if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align"))
+				needsRepaint = true;
+
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout);
+
+			// Fix for bug #989846 - Image resize bug
+			if (width && width != "")
+				tinyMCE.imgElement.style.pixelWidth = width;
+
+			if (height && height != "")
+				tinyMCE.imgElement.style.pixelHeight = height;
+
+			if (needsRepaint)
+				tinyMCE.selectedInstance.repaint();
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	},
+
+	_insertLink : function(href, target, title, onclick, style_class) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+			var doc = tinyMCE.selectedInstance.getDoc();
+			var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+			var newLink = false;
+
+			if (!linkElement) {
+				linkElement = doc.createElement("a");
+				newLink = true;
+			}
+
+			var mhref = href;
+			var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(linkElement, 'href', thref);
+			tinyMCE.setAttrib(linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(linkElement, 'target', target);
+			tinyMCE.setAttrib(linkElement, 'title', title);
+			tinyMCE.setAttrib(linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(linkElement, 'class', style_class);
+
+			if (newLink) {
+				linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));
+				tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement);
+			}
+
+			return;
+		}
+
+		if (!tinyMCE.linkElement && tinyMCE.selectedInstance) {
+			if (tinyMCE.isSafari) {
+				tinyMCE.execCommand("mceInsertContent", false, '<a href="' + tinyMCE.uniqueURL + '">' + tinyMCE.selectedInstance.selection.getSelectedHTML() + '</a>');
+			} else
+				tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL);
+
+			tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			for (var i=0; i<elementArray.length; i++) {
+				var mhref = href;
+				var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
+				mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+				tinyMCE.setAttrib(elementArray[i], 'href', thref);
+				tinyMCE.setAttrib(elementArray[i], 'mce_href', mhref);
+				tinyMCE.setAttrib(elementArray[i], 'target', target);
+				tinyMCE.setAttrib(elementArray[i], 'title', title);
+				tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
+				tinyMCE.setAttrib(elementArray[i], 'class', style_class);
+			}
+
+			tinyMCE.linkElement = elementArray[0];
+		}
+
+		if (tinyMCE.linkElement) {
+			var mhref = href;
+			href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'href', href);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'target', target);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'class', style_class);
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	}
+};
+
+tinyMCE.addTheme("advanced", TinyMCE_AdvancedTheme);
+
+// Add default buttons maps for advanced theme and all internal plugins
+tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
+	<base target="_self" />
+</head>
+<body id="image" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertImage();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_image_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+     <table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="src">{$lang_insert_image_src}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input id="src" name="src" type="text" value="" style="width: 200px" onchange="getImageData();"></td>
+                  <td id="srcbrowsercontainer">&nbsp;</td>
+                </tr>
+              </table></td>
+          </tr>
+		  <!-- Image list -->
+		  <script language="javascript">
+			if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="image_list">{$lang_image_list}</label></td>';
+				html += '<td><select id="image_list" name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCEImageList.length; i++)
+					html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Image list -->
+          <tr>
+            <td nowrap="nowrap"><label for="alt">{$lang_insert_image_alt}</label></td>
+            <td><input id="alt" name="alt" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="align">{$lang_insert_image_align}</label></td>
+            <td><select id="align" name="align">
+                <option value="">{$lang_insert_image_align_default}</option>
+                <option value="baseline">{$lang_insert_image_align_baseline}</option>
+                <option value="top">{$lang_insert_image_align_top}</option>
+                <option value="middle">{$lang_insert_image_align_middle}</option>
+                <option value="bottom">{$lang_insert_image_align_bottom}</option>
+                <option value="texttop">{$lang_insert_image_align_texttop}</option>
+                <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
+                <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
+                <option value="left">{$lang_insert_image_align_left}</option>
+                <option value="right">{$lang_insert_image_align_right}</option>
+              </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="width">{$lang_insert_image_dimensions}</label></td>
+            <td><input id="width" name="width" type="text" value="" size="3" maxlength="3">
+              x
+              <input id="height" name="height" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="border">{$lang_insert_image_border}</label></td>
+            <td><input id="border" name="border" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="vspace">{$lang_insert_image_vspace}</label></td>
+            <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="hspace">{$lang_insert_image_hspace}</label></td>
+            <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+function init() {
+	var inst;
+
+	tinyMCEPopup.resizeToInnerSize();
+	inst = tinyMCE.selectedInstance;
+
+	// Give FF some time
+	window.setTimeout('insertHelpIFrame();', 10);
+
+	var tcont = document.getElementById('plugintablecontainer');
+	var plugins = tinyMCE.getParam('plugins', '', true, ',');
+	if (plugins.length == 0)
+		document.getElementById('plugins_tab').style.display = 'none';
+
+	var html = "";
+	html += '<table id="plugintable">';
+	html += '<thead>';
+	html += '<tr>';
+	html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
+	html += '</tr>';
+	html += '</thead>';
+	html += '<tbody>';
+
+	for (var i=0; i<inst.plugins.length; i++) {
+		var info = getPluginInfo(inst.plugins[i]);
+
+		html += '<tr>';
+
+		if (info.infourl != null && info.infourl != '')
+			html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="mceplugin">' + info.longname + '</a></td>';
+		else
+			html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
+
+		if (info.authorurl != null && info.authorurl != '')
+			html += '<td width="35%"><a href="' + info.authorurl + '" target="mceplugin">' + info.author + '</a></td>';
+		else
+			html += '<td width="35%">' + info.author + '</td>';
+
+		html += '<td width="15%">' + info.version + '</td>';
+		html += '</tr>';
+	}
+
+	html += '</tbody>';
+	html += '</table>';
+
+	tcont.innerHTML = html;
+}
+
+function getPluginInfo(name) {
+	if (tinyMCE.plugins[name].getInfo)
+		return tinyMCE.plugins[name].getInfo();
+
+	return {
+		longname : name,
+		authorurl : '',
+		infourl : '',
+		author : '--',
+		version : '--'
+	};
+}
+
+function insertHelpIFrame() {
+	var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
+
+	document.getElementById('iframecontainer').innerHTML = html;
+
+	html = '';
+	html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
+	html += '<a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> ';
+	html += '<a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> ';
+
+	document.getElementById('buttoncontainer').innerHTML = html;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+var action, element;
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
+	var img = inst.getFocusElement();
+	action = 'insert';
+
+	if (anchor != null) {
+		element = anchor;
+		action = "update";
+	}
+
+	if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
+		element = img;
+		action = "update";
+	}
+
+	if (action == "update")
+		document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
+}
+
+function insertAnchor() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var name = document.forms[0].anchorName.value, e;
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	if (action == "update") {
+		if (element.nodeName == "IMG")
+			element.setAttribute("title", name);
+		else
+			element.setAttribute("name", name);
+	} else {
+		var rng = inst.getRng();
+
+		if (rng.collapse)
+			rng.collapse(false);
+
+		name = name.replace(/&/g, '&amp;');
+		name = name.replace(/\"/g, '&quot;');
+		name = name.replace(/</g, '&lt;');
+		name = name.replace(/>/g, '&gt;');
+
+		// Fix for bug #1447335
+		if (tinyMCE.isGecko)
+			html = '<a id="mceNewAnchor" name="' + name + '"></a>';
+		else
+			html = '<a name="' + name + '"></a>';
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+
+		// Fix for bug #1447335 force cursor after the anchor element
+		if (tinyMCE.isGecko) {
+			e = inst.getDoc().getElementById('mceNewAnchor');
+
+			if (e) {
+				inst.selection.selectNode(e, true, false, false);
+				e.removeAttribute('id');
+			}
+		}
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	}
+
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,326 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+var charmap = new Array();
+
+// for mor details please see w3c.org
+// now here is the complete list ;)
+
+charmap = [
+	['&nbsp;',    '&#160;',  true, 'no-break space'],
+	['&amp;',     '&#38;',   true, 'ampersand'],
+	['&quot;',    '&#34;',   true, 'quotation mark'],
+// finance
+	['&cent;',    '&#162;',  true, 'cent sign'],
+	['&euro;',    '&#8364;', true, 'euro sign'],
+	['&pound;',   '&#163;',  true, 'pound sign'],
+	['&yen;',     '&#165;',  true, 'yen sign'],
+// signs
+	['&copy;',    '&#169;',  true, 'copyright sign'],
+	['&reg;',     '&#174;',  true, 'registered sign'],
+	['&trade;',   '&#8482;', true, 'trade mark sign'],
+	['&permil;',  '&#8240;', true, 'per mille sign'],
+	['&micro;',   '&#181;',  true, 'micro sign'],
+	['&middot;',  '&#183;',  true, 'middle dot'],
+	['&bull;',    '&#8226;', true, 'bullet'],
+	['&hellip;',  '&#8230;', true, 'three dot leader'],
+	['&prime;',   '&#8242;', true, 'minutes / feet'],
+	['&Prime;',   '&#8243;', true, 'seconds / inches'],
+	['&sect;',    '&#167;',  true, 'section sign'],
+	['&para;',    '&#182;',  true, 'paragraph sign'],
+	['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
+// quotations
+	['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
+	['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
+	['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
+	['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
+	['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
+	['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
+	['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
+	['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
+	['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
+	['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
+	['&lt;',      '&#60;',   true, 'less-than sign'],
+	['&gt;',      '&#62;',   true, 'greater-than sign'],
+	['&le;',      '&#8804;', true, 'less-than or equal to'],
+	['&ge;',      '&#8805;', true, 'greater-than or equal to'],
+	['&ndash;',   '&#8211;', true, 'en dash'],
+	['&mdash;',   '&#8212;', true, 'em dash'],
+	['&macr;',    '&#175;',  true, 'macron'],
+	['&oline;',   '&#8254;', true, 'overline'],
+	['&curren;',  '&#164;',  true, 'currency sign'],
+	['&brvbar;',  '&#166;',  true, 'broken bar'],
+	['&uml;',     '&#168;',  true, 'diaeresis'],
+	['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
+	['&iquest;',  '&#191;',  true, 'turned question mark'],
+	['&circ;',    '&#710;',  true, 'circumflex accent'],
+	['&tilde;',   '&#732;',  true, 'small tilde'],
+	['&deg;',     '&#176;',  true, 'degree sign'],
+	['&minus;',   '&#8722;', true, 'minus sign'],
+	['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
+	['&divide;',  '&#247;',  true, 'division sign'],
+	['&frasl;',   '&#8260;', true, 'fraction slash'],
+	['&times;',   '&#215;',  true, 'multiplication sign'],
+	['&sup1;',    '&#185;',  true, 'superscript one'],
+	['&sup2;',    '&#178;',  true, 'superscript two'],
+	['&sup3;',    '&#179;',  true, 'superscript three'],
+	['&frac14;',  '&#188;',  true, 'fraction one quarter'],
+	['&frac12;',  '&#189;',  true, 'fraction one half'],
+	['&frac34;',  '&#190;',  true, 'fraction three quarters'],
+// math / logical
+	['&fnof;',    '&#402;',  true, 'function / florin'],
+	['&int;',     '&#8747;', true, 'integral'],
+	['&sum;',     '&#8721;', true, 'n-ary sumation'],
+	['&infin;',   '&#8734;', true, 'infinity'],
+	['&radic;',   '&#8730;', true, 'square root'],
+	['&sim;',     '&#8764;', false,'similar to'],
+	['&cong;',    '&#8773;', false,'approximately equal to'],
+	['&asymp;',   '&#8776;', true, 'almost equal to'],
+	['&ne;',      '&#8800;', true, 'not equal to'],
+	['&equiv;',   '&#8801;', true, 'identical to'],
+	['&isin;',    '&#8712;', false,'element of'],
+	['&notin;',   '&#8713;', false,'not an element of'],
+	['&ni;',      '&#8715;', false,'contains as member'],
+	['&prod;',    '&#8719;', true, 'n-ary product'],
+	['&and;',     '&#8743;', false,'logical and'],
+	['&or;',      '&#8744;', false,'logical or'],
+	['&not;',     '&#172;',  true, 'not sign'],
+	['&cap;',     '&#8745;', true, 'intersection'],
+	['&cup;',     '&#8746;', false,'union'],
+	['&part;',    '&#8706;', true, 'partial differential'],
+	['&forall;',  '&#8704;', false,'for all'],
+	['&exist;',   '&#8707;', false,'there exists'],
+	['&empty;',   '&#8709;', false,'diameter'],
+	['&nabla;',   '&#8711;', false,'backward difference'],
+	['&lowast;',  '&#8727;', false,'asterisk operator'],
+	['&prop;',    '&#8733;', false,'proportional to'],
+	['&ang;',     '&#8736;', false,'angle'],
+// undefined
+	['&acute;',   '&#180;',  true, 'acute accent'],
+	['&cedil;',   '&#184;',  true, 'cedilla'],
+	['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
+	['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
+	['&dagger;',  '&#8224;', true, 'dagger'],
+	['&Dagger;',  '&#8225;', true, 'double dagger'],
+// alphabetical special chars
+	['&Agrave;',  '&#192;',  true, 'A - grave'],
+	['&Aacute;',  '&#193;',  true, 'A - acute'],
+	['&Acirc;',   '&#194;',  true, 'A - circumflex'],
+	['&Atilde;',  '&#195;',  true, 'A - tilde'],
+	['&Auml;',    '&#196;',  true, 'A - diaeresis'],
+	['&Aring;',   '&#197;',  true, 'A - ring above'],
+	['&AElig;',   '&#198;',  true, 'ligature AE'],
+	['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
+	['&Egrave;',  '&#200;',  true, 'E - grave'],
+	['&Eacute;',  '&#201;',  true, 'E - acute'],
+	['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
+	['&Euml;',    '&#203;',  true, 'E - diaeresis'],
+	['&Igrave;',  '&#204;',  true, 'I - grave'],
+	['&Iacute;',  '&#205;',  true, 'I - acute'],
+	['&Icirc;',   '&#206;',  true, 'I - circumflex'],
+	['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
+	['&ETH;',     '&#208;',  true, 'ETH'],
+	['&Ntilde;',  '&#209;',  true, 'N - tilde'],
+	['&Ograve;',  '&#210;',  true, 'O - grave'],
+	['&Oacute;',  '&#211;',  true, 'O - acute'],
+	['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
+	['&Otilde;',  '&#213;',  true, 'O - tilde'],
+	['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
+	['&Oslash;',  '&#216;',  true, 'O - slash'],
+	['&OElig;',   '&#338;',  true, 'ligature OE'],
+	['&Scaron;',  '&#352;',  true, 'S - caron'],
+	['&Ugrave;',  '&#217;',  true, 'U - grave'],
+	['&Uacute;',  '&#218;',  true, 'U - acute'],
+	['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
+	['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
+	['&Yacute;',  '&#221;',  true, 'Y - acute'],
+	['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
+	['&THORN;',   '&#222;',  true, 'THORN'],
+	['&agrave;',  '&#224;',  true, 'a - grave'],
+	['&aacute;',  '&#225;',  true, 'a - acute'],
+	['&acirc;',   '&#226;',  true, 'a - circumflex'],
+	['&atilde;',  '&#227;',  true, 'a - tilde'],
+	['&auml;',    '&#228;',  true, 'a - diaeresis'],
+	['&aring;',   '&#229;',  true, 'a - ring above'],
+	['&aelig;',   '&#230;',  true, 'ligature ae'],
+	['&ccedil;',  '&#231;',  true, 'c - cedilla'],
+	['&egrave;',  '&#232;',  true, 'e - grave'],
+	['&eacute;',  '&#233;',  true, 'e - acute'],
+	['&ecirc;',   '&#234;',  true, 'e - circumflex'],
+	['&euml;',    '&#235;',  true, 'e - diaeresis'],
+	['&igrave;',  '&#236;',  true, 'i - grave'],
+	['&iacute;',  '&#237;',  true, 'i - acute'],
+	['&icirc;',   '&#238;',  true, 'i - circumflex'],
+	['&iuml;',    '&#239;',  true, 'i - diaeresis'],
+	['&eth;',     '&#240;',  true, 'eth'],
+	['&ntilde;',  '&#241;',  true, 'n - tilde'],
+	['&ograve;',  '&#242;',  true, 'o - grave'],
+	['&oacute;',  '&#243;',  true, 'o - acute'],
+	['&ocirc;',   '&#244;',  true, 'o - circumflex'],
+	['&otilde;',  '&#245;',  true, 'o - tilde'],
+	['&ouml;',    '&#246;',  true, 'o - diaeresis'],
+	['&oslash;',  '&#248;',  true, 'o slash'],
+	['&oelig;',   '&#339;',  true, 'ligature oe'],
+	['&scaron;',  '&#353;',  true, 's - caron'],
+	['&ugrave;',  '&#249;',  true, 'u - grave'],
+	['&uacute;',  '&#250;',  true, 'u - acute'],
+	['&ucirc;',   '&#251;',  true, 'u - circumflex'],
+	['&uuml;',    '&#252;',  true, 'u - diaeresis'],
+	['&yacute;',  '&#253;',  true, 'y - acute'],
+	['&thorn;',   '&#254;',  true, 'thorn'],
+	['&yuml;',    '&#255;',  true, 'y - diaeresis'],
+    ['&Alpha;',   '&#913;',  true, 'Alpha'],
+	['&Beta;',    '&#914;',  true, 'Beta'],
+	['&Gamma;',   '&#915;',  true, 'Gamma'],
+	['&Delta;',   '&#916;',  true, 'Delta'],
+	['&Epsilon;', '&#917;',  true, 'Epsilon'],
+	['&Zeta;',    '&#918;',  true, 'Zeta'],
+	['&Eta;',     '&#919;',  true, 'Eta'],
+	['&Theta;',   '&#920;',  true, 'Theta'],
+	['&Iota;',    '&#921;',  true, 'Iota'],
+	['&Kappa;',   '&#922;',  true, 'Kappa'],
+	['&Lambda;',  '&#923;',  true, 'Lambda'],
+	['&Mu;',      '&#924;',  true, 'Mu'],
+	['&Nu;',      '&#925;',  true, 'Nu'],
+	['&Xi;',      '&#926;',  true, 'Xi'],
+	['&Omicron;', '&#927;',  true, 'Omicron'],
+	['&Pi;',      '&#928;',  true, 'Pi'],
+	['&Rho;',     '&#929;',  true, 'Rho'],
+	['&Sigma;',   '&#931;',  true, 'Sigma'],
+	['&Tau;',     '&#932;',  true, 'Tau'],
+	['&Upsilon;', '&#933;',  true, 'Upsilon'],
+	['&Phi;',     '&#934;',  true, 'Phi'],
+	['&Chi;',     '&#935;',  true, 'Chi'],
+	['&Psi;',     '&#936;',  true, 'Psi'],
+	['&Omega;',   '&#937;',  true, 'Omega'],
+	['&alpha;',   '&#945;',  true, 'alpha'],
+	['&beta;',    '&#946;',  true, 'beta'],
+	['&gamma;',   '&#947;',  true, 'gamma'],
+	['&delta;',   '&#948;',  true, 'delta'],
+	['&epsilon;', '&#949;',  true, 'epsilon'],
+	['&zeta;',    '&#950;',  true, 'zeta'],
+	['&eta;',     '&#951;',  true, 'eta'],
+	['&theta;',   '&#952;',  true, 'theta'],
+	['&iota;',    '&#953;',  true, 'iota'],
+	['&kappa;',   '&#954;',  true, 'kappa'],
+	['&lambda;',  '&#955;',  true, 'lambda'],
+	['&mu;',      '&#956;',  true, 'mu'],
+	['&nu;',      '&#957;',  true, 'nu'],
+	['&xi;',      '&#958;',  true, 'xi'],
+	['&omicron;', '&#959;',  true, 'omicron'],
+	['&pi;',      '&#960;',  true, 'pi'],
+	['&rho;',     '&#961;',  true, 'rho'],
+	['&sigmaf;',  '&#962;',  true, 'final sigma'],
+	['&sigma;',   '&#963;',  true, 'sigma'],
+	['&tau;',     '&#964;',  true, 'tau'],
+	['&upsilon;', '&#965;',  true, 'upsilon'],
+	['&phi;',     '&#966;',  true, 'phi'],
+	['&chi;',     '&#967;',  true, 'chi'],
+	['&psi;',     '&#968;',  true, 'psi'],
+	['&omega;',   '&#969;',  true, 'omega'],
+// symbols
+	['&alefsym;', '&#8501;', false,'alef symbol'],
+	['&piv;',     '&#982;',  false,'pi symbol'],
+	['&real;',    '&#8476;', false,'real part symbol'],
+	['&thetasym;','&#977;',  false,'theta symbol'],
+	['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
+	['&weierp;',  '&#8472;', false,'Weierstrass p'],
+	['&image;',   '&#8465;', false,'imaginary part'],
+// arrows
+	['&larr;',    '&#8592;', true, 'leftwards arrow'],
+	['&uarr;',    '&#8593;', true, 'upwards arrow'],
+	['&rarr;',    '&#8594;', true, 'rightwards arrow'],
+	['&darr;',    '&#8595;', true, 'downwards arrow'],
+	['&harr;',    '&#8596;', true, 'left right arrow'],
+	['&crarr;',   '&#8629;', false,'carriage return'],
+	['&lArr;',    '&#8656;', false,'leftwards double arrow'],
+	['&uArr;',    '&#8657;', false,'upwards double arrow'],
+	['&rArr;',    '&#8658;', false,'rightwards double arrow'],
+	['&dArr;',    '&#8659;', false,'downwards double arrow'],
+	['&hArr;',    '&#8660;', false,'left right double arrow'],
+	['&there4;',  '&#8756;', false,'therefore'],
+	['&sub;',     '&#8834;', false,'subset of'],
+	['&sup;',     '&#8835;', false,'superset of'],
+	['&nsub;',    '&#8836;', false,'not a subset of'],
+	['&sube;',    '&#8838;', false,'subset of or equal to'],
+	['&supe;',    '&#8839;', false,'superset of or equal to'],
+	['&oplus;',   '&#8853;', false,'circled plus'],
+	['&otimes;',  '&#8855;', false,'circled times'],
+	['&perp;',    '&#8869;', false,'perpendicular'],
+	['&sdot;',    '&#8901;', false,'dot operator'],
+	['&lceil;',   '&#8968;', false,'left ceiling'],
+	['&rceil;',   '&#8969;', false,'right ceiling'],
+	['&lfloor;',  '&#8970;', false,'left floor'],
+	['&rfloor;',  '&#8971;', false,'right floor'],
+	['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
+	['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
+	['&loz;',     '&#9674;', true,'lozenge'],
+	['&spades;',  '&#9824;', false,'black spade suit'],
+	['&clubs;',   '&#9827;', true, 'black club suit'],
+	['&hearts;',  '&#9829;', true, 'black heart suit'],
+	['&diams;',   '&#9830;', true, 'black diamond suit'],
+	['&ensp;',    '&#8194;', false,'en space'],
+	['&emsp;',    '&#8195;', false,'em space'],
+	['&thinsp;',  '&#8201;', false,'thin space'],
+	['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
+	['&zwj;',     '&#8205;', false,'zero width joiner'],
+	['&lrm;',     '&#8206;', false,'left-to-right mark'],
+	['&rlm;',     '&#8207;', false,'right-to-left mark'],
+	['&shy;',     '&#173;',  false,'soft hyphen']
+];
+
+function renderCharMapHTML() {
+	var charsPerRow = 20, tdWidth=20, tdHeight=20;
+	var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+	var cols=-1;
+	for (var i=0; i<charmap.length; i++) {
+		if (charmap[i][2]==true) {
+			cols++;
+			html += ''
+				+ '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
+				+ ' onmouseover="this.className=\'charmapOver\';'
+				+ 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
+				+ ' onmouseout="this.className=\'charmap\';"'
+				+ ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+				+ charmap[i][1]
+				+ '</a></td>';
+			if ((cols+1) % charsPerRow == 0)
+				html += '</tr><tr height="' + tdHeight + '">';
+		}
+	 }
+	if (cols % charsPerRow > 0) {
+		var padd = charsPerRow - (cols % charsPerRow);
+		for (var i=0; i<padd-1; i++)
+			html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
+	}
+	html += '</tr></table>';
+	document.write(html);
+}
+
+function insertChar(chr) {
+	tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
+
+	// Refocus in window
+	if (tinyMCEPopup.isWindow)
+		window.focus();
+
+	tinyMCEPopup.close();
+}
+
+function previewChar(codeA, codeB, codeN) {
+	var elmA = document.getElementById('codeA');
+	var elmB = document.getElementById('codeB');
+	var elmV = document.getElementById('codeV');
+	var elmN = document.getElementById('codeN');
+
+	if (codeA=='#160;') {
+		elmV.innerHTML = '__';
+	} else {
+		elmV.innerHTML = '&' + codeA;
+	}
+
+	elmB.innerHTML = '&amp;' + codeA;
+	elmA.innerHTML = '&amp;' + codeB;
+	elmN.innerHTML = codeN;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
+
+var colors = new Array(
+	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+	"#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+	"#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+	"#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+	"#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+	"#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+	"#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+	"#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+	"#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+	"#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+	"#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+	"#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+	"#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+	"#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+	"#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+	"#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+	"#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+	"#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+	"#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+	"#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+	"#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+	"#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+	"#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+	"#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+	"#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+	"#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+	"#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+);
+
+var named = {
+	'#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
+	'#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown',
+	'#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue',
+	'#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod',
+	'#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen',
+	'#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue',
+	'#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue',
+	'#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen',
+	'#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey',
+	'#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory',
+	'#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue',
+	'#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen',
+	'#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey',
+	'#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
+	'#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue',
+	'#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin',
+	'#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid',
+	'#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff',
+	'#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue',
+	'#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver',
+	'#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen',
+	'#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
+	'#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen'
+};
+
+function init() {
+	var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
+
+	if (tinyMCE.isMSIE)
+		tinyMCEPopup.resizeToInnerSize();
+
+	generatePicker();
+
+	if (inputColor) {
+		changeFinalColor(inputColor);
+
+		col = convertHexToRGB(inputColor);
+
+		if (col)
+			updateLight(col.r, col.g, col.b);
+	}
+}
+
+function insertAction() {
+	var color = document.getElementById("color").value;
+
+	tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
+	tinyMCEPopup.close();
+}
+
+function showColor(color, name) {
+	if (name)
+		document.getElementById("colorname").innerHTML = name;
+
+	document.getElementById("preview").style.backgroundColor = color;
+	document.getElementById("color").value = color;
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	if (!col)
+		return col;
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return {r : r, g : g, b : b};
+	}
+
+	return null;
+}
+
+function generatePicker() {
+	var el = document.getElementById('light'), h = '', i;
+
+	for (i = 0; i < detail; i++){
+		h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
+		+ ' onclick="changeFinalColor(this.style.backgroundColor)"'
+		+ ' onmousedown="isMouseDown = true; return false;"'
+		+ ' onmouseup="isMouseDown = false;"'
+		+ ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
+		+ ' onmouseover="isMouseOver = true;"'
+		+ ' onmouseout="isMouseOver = false;"'
+		+ '></div>';
+	}
+
+	el.innerHTML = h;
+}
+
+function generateWebColors() {
+	var el = document.getElementById('webcolors'), h = '', i;
+
+	if (el.className == 'generated')
+		return;
+
+	h += '<table border="0" cellspacing="1" cellpadding="0">'
+		+ '<tr>';
+
+	for (i=0; i<colors.length; i++) {
+		h += '<td bgcolor="' + colors[i] + '">'
+			+ '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] +  '\');" onmouseover="showColor(\'' + colors[i] +  '\');">'
+			+ '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] +  '" alt="' + colors[i] +  '" /></a></td>';
+		if ((i+1) % 18 == 0)
+			h += '</tr><tr>';
+	}
+
+	h += '</table>';
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function generateNamedColors() {
+	var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
+
+	if (el.className == 'generated')
+		return;
+
+	for (n in named) {
+		v = named[n];
+		h += '<a href="javascript:selectColor();" onmouseover="showColor(\'' + n +  '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>'
+	}
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function selectColor() {
+	var color = document.getElementById("color").value;
+
+	if(window.opener)
+		window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color);
+
+	window.close();
+}
+
+function dechex(n) {
+	return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
+}
+
+function computeColor(e) {
+	var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
+
+	x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
+	y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
+
+	partWidth = document.getElementById('colorpicker').width / 6;
+	partDetail = detail / 2;
+	imHeight = document.getElementById('colorpicker').height;
+
+	r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
+	g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255	+ (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
+	b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
+
+	coef = (imHeight - y) / imHeight;
+	r = 128 + (r - 128) * coef;
+	g = 128 + (g - 128) * coef;
+	b = 128 + (b - 128) * coef;
+
+	changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
+	updateLight(r, g, b);
+}
+
+function updateLight(r, g, b) {
+	var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
+
+	for (i=0; i<detail; i++) {
+		if ((i>=0) && (i<partDetail)) {
+			finalCoef = i / partDetail;
+			finalR = dechex(255 - (255 - r) * finalCoef);
+			finalG = dechex(255 - (255 - g) * finalCoef);
+			finalB = dechex(255 - (255 - b) * finalCoef);
+		} else {
+			finalCoef = 2 - i / partDetail;
+			finalR = dechex(r * finalCoef);
+			finalG = dechex(g * finalCoef);
+			finalB = dechex(b * finalCoef);
+		}
+
+		color = finalR + finalG + finalB;
+
+		document.getElementById('gs' + i).style.backgroundColor = '#'+color;
+	}
+}
+
+function changeFinalColor(color) {
+	if (color.indexOf('#') == -1)
+		color = convertRGBToHex(color);
+
+	document.getElementById('preview').style.backgroundColor = color;
+	document.getElementById('color').value = color;
+}
+
+window.focus();
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+var url = tinyMCE.getParam("external_image_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function insertImage() {
+	var src = document.forms[0].src.value;
+	var alt = document.forms[0].alt.value;
+	var border = document.forms[0].border.value;
+	var vspace = document.forms[0].vspace.value;
+	var hspace = document.forms[0].hspace.value;
+	var width = document.forms[0].width.value;
+	var height = document.forms[0].height.value;
+	var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align);
+	tinyMCEPopup.close();
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].align.options.length; i++) {
+		if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
+			document.forms[0].align.options.selectedIndex = i;
+	}
+
+	formObj.src.value = tinyMCE.getWindowArg('src');
+	formObj.alt.value = tinyMCE.getWindowArg('alt');
+	formObj.border.value = tinyMCE.getWindowArg('border');
+	formObj.vspace.value = tinyMCE.getWindowArg('vspace');
+	formObj.hspace.value = tinyMCE.getWindowArg('hspace');
+	formObj.width.value = tinyMCE.getWindowArg('width');
+	formObj.height.value = tinyMCE.getWindowArg('height');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	// Handle file browser
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '180px';
+
+	// Auto select image in list
+	if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+		for (var i=0; i<formObj.image_list.length; i++) {
+			if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
+				formObj.image_list.options[i].selected = true;
+		}
+	}
+}
+
+var preloadImg = new Image();
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+}
+
+function getImageData() {
+	preloadImg = new Image();
+	tinyMCE.addEvent(preloadImg, "load", updateImageData);
+	tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
+	preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+var url = tinyMCE.getParam("external_link_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link');
+
+	// Handle file browser
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '180px';
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].target.options.length; i++) {
+		var option = document.forms[0].target.options[i];
+
+		if (option.value == tinyMCE.getWindowArg('target'))
+			option.selected = true;
+	}
+
+	document.forms[0].href.value = tinyMCE.getWindowArg('href');
+	document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	addClassesToList('styleSelect', 'theme_advanced_link_styles');
+	selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
+
+	// Hide css select row if no CSS classes
+	if (formObj.styleSelect && formObj.styleSelect.options.length <= 1) {
+		var sr = document.getElementById('styleSelectRow');
+		sr.style.display = 'none';
+		sr.parentNode.removeChild(sr);
+	}
+
+	// Auto select link in list
+	if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+		var formObj = document.forms[0];
+
+		for (var i=0; i<formObj.link_list.length; i++) {
+			if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
+				formObj.link_list.options[i].selected = true;
+		}
+	}
+}
+
+function insertLink() {
+	var href = document.forms[0].href.value;
+	var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
+	var title = document.forms[0].linktitle.value;
+	var style_class = document.forms[0].styleSelect ? document.forms[0].styleSelect.value : "";
+	var dummy;
+
+	if (target == '_self')
+		target = '';
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertLink(href, target, title, dummy, style_class);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+function saveContent() {
+	tinyMCE.setContent(document.getElementById('htmlSource').value);
+	tinyMCE.closeWindow(window);
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	document.getElementById('htmlSource').value = tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'));
+
+	resizeInputs();
+
+	if (tinyMCE.getParam("theme_advanced_source_editor_wrap", true)) {
+		setWrap('soft');
+		document.getElementById('wraped').checked = true;
+	}
+}
+
+function setWrap(val) {
+	var s = document.getElementById('htmlSource');
+
+	s.wrap = val;
+
+	if (tinyMCE.isGecko || tinyMCE.isOpera) {
+		var v = s.value;
+		var n = s.cloneNode(false);
+		n.setAttribute("wrap", val);
+		s.parentNode.replaceChild(n, s);
+		n.value = v;
+	}
+}
+
+function toggleWordWrap(elm) {
+	if (elm.checked)
+		setWrap('soft');
+	else
+		setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	var el = document.getElementById('htmlSource');
+
+	if (!tinyMCE.isMSIE) {
+		 wHeight = self.innerHeight - 60;
+		 wWidth = self.innerWidth - 16;
+	} else {
+		 wHeight = document.body.clientHeight - 60;
+		 wWidth = document.body.clientWidth - 16;
+	}
+
+	el.style.height = Math.abs(wHeight) + 'px';
+	el.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_blockquote : 'Blockquote',
+theme_code : 'Code',
+theme_samp : 'Code sample',
+theme_dt : 'Definition term ',
+theme_dd : 'Definition description',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close',
+toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X',
+invalid_data : 'Error: Invalid values entered, these are marked in red.',
+more_colors : 'More colors',
+color_picker_tab : 'Picker',
+color_picker : 'Color picker',
+web_colors_tab : 'Web safe',
+web_colors : 'Web safe colors',
+named_colors_tab : 'Named',
+named_colors : 'Named colors',
+color : 'Color:',
+color_name : 'Name:'
+});

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
+	<base target="_self" />
+</head>
+<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertLink();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_link_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+
+		<table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="href">{$lang_insert_link_url}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0"> 
+				  <tr> 
+					<td><input id="href" name="href" type="text" value="" style="width: 200px" /></td> 
+					<td id="hrefbrowsercontainer">&nbsp;</td>
+				  </tr> 
+				</table></td>
+          </tr>
+		  <!-- Link list -->
+		  <script language="javascript">
+			if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="link_list">{$lang_link_list}</label></td>';
+				html += '<td><select id="link_list" name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCELinkList.length; i++)
+					html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Link list -->
+          <tr>
+            <td nowrap="nowrap"><label for="target">{$lang_insert_link_target}</label></td>
+            <td><select id="target" name="target" style="width: 200px">
+                <option value="_self">{$lang_insert_link_target_same}</option>
+                <option value="_blank">{$lang_insert_link_target_blank}</option>
+				<script language="javascript">
+					var html = "";
+					var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+
+					for (var i=0; i<targets.length; i++) {
+						var key, value;
+
+						if (targets[i] == "")
+							continue;
+
+						key = targets[i].split('=')[0];
+						value = targets[i].split('=')[1];
+
+						html += '<option value="' + value + '">' + key + '</option>';
+					}
+
+					document.write(html);
+				</script>
+            </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="linktitle">{$lang_theme_insert_link_titlefield}</label></td>
+            <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr id="styleSelectRow">
+            <td><label for="styleSelect">{$lang_class_name}</label></td>
+            <td>
+			 <select id="styleSelect" name="styleSelect">
+                <option value="" selected>{$lang_theme_style_select}</option>
+             </select></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_theme_code_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div style="float: left" class="title">{$lang_theme_code_title}</div>
+
+		<div id="wrapline" style="float: right">
+			<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>
+		</div>
+
+		<br style="clear: both" />
+
+		<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px" dir="ltr" wrap="off"></textarea>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB;
+}
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;	
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+.mceSeparatorLine {
+	border: 0;
+	padding: 0;
+	margin-left: 4px;
+	margin-right: 2px;
+}
+
+.mceSelectList {
+	font-family: "MS Sans Serif";
+	font-size: 7pt;
+	font-weight: normal;
+	margin-top: 2px;
+}
+
+.mceLabel, .mceLabelDisabled {
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+}
+
+.mceLabel {
+	color: #000000;
+}
+
+.mceLabelDisabled {
+	cursor: text;
+	color: #999999;
+}
+
+.mceEditor {
+	background: #F0F0EE;
+	border: 1px solid #cccccc;
+}
+
+.mceEditorArea {
+	font-family: "MS Sans Serif";
+	background: #FFFFFF;
+}
+
+.mceToolbar {
+	background: #F0F0EE;
+	border-top: 1px solid #cccccc;
+	line-height: 1px;
+	font-size: 1px;
+	padding-bottom: 1px;
+}
+
+.mceEditorIframe {
+	border: 0;
+}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	margin-top: 1px;
+	margin-left: 1px;
+}
+
+a.mceButtonDisabled img {
+	border: 0 !important;
+}
+
+a.mceButtonNormal img, a.mceButtonSelected img {
+	border: 1px solid #F0F0EE !important;
+}
+
+a.mceButtonSelected img {
+	border: 1px solid #C0C0BB !important;
+}
+
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+a.mceButtonDisabled img {
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+a.mceTiledButton img {
+	background-image: url('../images/buttons.gif');
+	background-repeat: no-repeat;
+}
+
+/* MSIE specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
+	border: 0px !important;
+	margin-top: 2px;
+	margin-bottom: 1px;
+}
+
+* html a.mceButtonDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	border: 0px !important;
+}
+
+* html a.mceButtonDisabled {
+	border: 1px solid #F0F0EE !important;
+}
+
+* html a.mceButtonNormal, * html a.mceButtonSelected {
+	border: 1px solid #F0F0EE;
+	cursor: default;
+}
+
+* html a.mceButtonSelected {
+	border: 1px solid #C0C0BB;
+}
+
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+* html .mceSelectList {
+	margin-top: 2px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';html+='<tr><td align="center">';html+='<span id="{$editor_id}">IFRAME</span>';html+='</td></tr>';html+='<tr><td class="mceToolbar" align="center" height="1">';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList');html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList');html+='</td></tr></table>';return{delta_width:0,delta_height:20,html:html}},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break}}while((node=node.parentNode)!=null)}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+/**
+ * $Id: editor_template_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_SimpleTheme = {
+	// List of button ids in tile map
+	_buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',
+
+	getEditorTemplate : function() {
+		var html = '';
+
+		html += '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';
+		html += '<tr><td align="center">';
+		html += '<span id="{$editor_id}">IFRAME</span>';
+		html += '</td></tr>';
+		html += '<tr><td class="mceToolbar" align="center" height="1">';
+		html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold');
+		html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic');
+		html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline');
+		html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo');
+		html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList');
+		html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList');
+		html += '</td></tr></table>';
+
+		return {
+			delta_width : 0,
+			delta_height : 20,
+			html : html
+		};
+	},
+
+	handleNodeChange : function(editor_id, node) {
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+
+		// Handle elements
+		do {
+			switch (node.nodeName.toLowerCase()) {
+				case "b":
+				case "strong":
+					tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected');
+				break;
+
+				case "i":
+				case "em":
+					tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected');
+				break;
+
+				case "u":
+					tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+				break;
+
+				case "strike":
+					tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected');
+				break;
+				
+				case "ul":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "ol":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	}
+};
+
+tinyMCE.addTheme("simple", TinyMCE_SimpleTheme);
+tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+function TinyMCE_Engine(){var ua;this.majorVersion="2";this.minorVersion="1.0";this.releaseDate="2007-02-13";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.log=new Array();this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isMSIE7=this.isMSIE&&(ua.indexOf('MSIE 7')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false}this.isIE=this.isMSIE;this.isRealIE=this.isMSIE&&!this.isOpera;this.idCounter=0};TinyMCE_Engine.prototype={init:function(settings){var theme,nl,baseHREF="",i;if(this.isMSIE5_0)return;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');nl=document.getElementsByTagName('base');for(i=0;i<nl.length;i++){if(nl[i].href)baseHREF=nl[i].href}for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_dev.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1||src.indexOf('_dev')!=-1)?'_src':'';tinyMCE.gzipMode=src.indexOf('_gzip')!=-1;src=src.substring(0,src.lastIndexOf('/'));if(settings.exec_mode=="src"||settings.exec_mode=="normal")tinyMCE.srcMode=settings.exec_mode=="src"?'_src':'';if(baseHREF!=""&&src.indexOf('://')==-1)tinyMCE.baseURL=baseHREF+src;else tinyMCE.baseURL=src;break}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL}this._def("mode","none");this._def("theme","advanced");this._def("plugins","",true);this._def("language","en");this._def("docs_language",this.settings['language']);this._def("elements","");this._def("textarea_trigger","mce_editable");this._def("editor_selector","");this._def("editor_deselector","mceNoEditor");this._def("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");this._def("extended_valid_elements","");this._def("invalid_elements","");this._def("encoding","");this._def("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE_Engine.prototype.convertURL"));this._def("save_callback","");this._def("debug",false);this._def("force_br_newlines",false);this._def("force_p_newlines",true);this._def("add_form_submit_trigger",true);this._def("relative_urls",true);this._def("remove_script_host",true);this._def("focus_alert",true);this._def("document_base_url",this.documentURL);this._def("visual",true);this._def("visual_table_class","mceVisualAid");this._def("setupcontent_callback","");this._def("fix_content_duplication",true);this._def("custom_undo_redo",true);this._def("custom_undo_redo_levels",-1);this._def("custom_undo_redo_keyboard_shortcuts",true);this._def("custom_undo_redo_restore_selection",true);this._def("custom_undo_redo_global",false);this._def("verify_html",true);this._def("apply_source_formatting",false);this._def("directionality","ltr");this._def("cleanup_on_startup",false);this._def("inline_styles",false);this._def("convert_newlines_to_brs",false);this._def("auto_reset_designmode",true);this._def("entities","39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",true);this._def("entity_encoding","named");this._def("cleanup_callback","");this._def("add_unload_trigger",true);this._def("ask",false);this._def("nowrap",false);this._def("auto_resize",false);this._def("auto_focus",false);this._def("cleanup",true);this._def("remove_linebreaks",true);this._def("button_tile_map",false);this._def("submit_patch",true);this._def("browsers","msie,safari,gecko,opera",true);this._def("dialog_type","window");this._def("accessibility_warnings",true);this._def("accessibility_focus",true);this._def("merge_styles_invalid_parents","");this._def("force_hex_style_colors",true);this._def("trim_span_elements",true);this._def("convert_fonts_to_spans",false);this._def("doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",true);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');this._def("gecko_spellcheck",false);this._def("hide_selects_on_submit",true);if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.inlineStrict='A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';this.inlineTransitional='A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';this.blockElms='H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:void(091039730);';this.uniqueTag='<div id="mceTMPElement" style="display: none">TMP</div>';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup','removeInstance');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isIE||tinyMCE.isOpera)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath}else{if(this.settings.editor_css!='')this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css"}if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg)}if(this.configs.length==0){if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isRealIE){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad)}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents()}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i<p.length;i++){if(p[i].charAt(0)!='-')this.loadScript(tinyMCE.baseURL+'/plugins/'+p[i]+'/editor_plugin'+tinyMCE.srcMode+'.js')}}if(tinyMCE.getParam('entity_encoding')=='named'){settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)settings['cleanup_entities']['c'+entities[i]]=entities[i+1]}settings['index']=this.configs.length;this.configs[this.configs.length]=settings;this.loadNextScript();if(this.isIE&&!this.isOpera){try{document.execCommand('BackgroundImageCache',false,true)}catch(e){}}this.xmlEncodeAposRe=new RegExp('[<>&"\']','g');this.xmlEncodeRe=new RegExp('[<>&"]','g');},_addUnloadEvents:function(){if(tinyMCE.isIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler)}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true)})}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript()},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u}},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js")},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript()},addMenu:function(n,m){this.menus[n]=m},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},loadScript:function(url){var i;for(i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return}if(tinyMCE.settings.strict_loading_mode)this.pendingFiles[this.pendingFiles.length]=url;else document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex<this.pendingFiles.length){se=d.createElementNS('http://www.w3.org/1999/xhtml','script');se.setAttribute('language','javascript');se.setAttribute('type','text/javascript');se.setAttribute('src',this.pendingFiles[this.loadingIndex++]);d.getElementsByTagName("head")[0].appendChild(se)}else this.loadingIndex=-1;},loadCSS:function(url){var ar=url.replace(/\s+/,'').split(',');var lflen=0,csslen=0;var skip=false;var x=0,i=0,nl,le;for(x=0,csslen=ar.length;x<csslen;x++){if(ar[x]!=null&&ar[x]!='null'&&ar[x].length>0){for(i=0,lflen=this.loadedFiles.length;i<lflen;i++){if(this.loadedFiles[i]==ar[x]){skip=true;break}}if(!skip){if(tinyMCE.settings.strict_loading_mode){nl=document.getElementsByTagName("head");le=document.createElement('link');le.setAttribute('href',ar[x]);le.setAttribute('rel','stylesheet');le.setAttribute('type','text/css');nl[0].appendChild(le)}else document.write('<link href="'+ar[x]+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=ar[x]}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x<csslen;x++){css_file=css_ary[x];if(css_file!=null&&css_file!='null'&&css_file.length>0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm)}else doc.createStyleSheet(css_file)}}},confirmAdd:function(e,settings){var elm=tinyMCE.isIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true')},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid)}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document)},removeInstance:function(ti){var t=[],n,i;for(n in tinyMCE.instances){i=tinyMCE.instances[n];if(tinyMCE.isInstance(i)&&ti!=i)t[n]=i}tinyMCE.instances=t;n=[];t=tinyMCE.undoLevels;for(i=0;i<t.length;i++){if(t[i]!=ti)n.push(t[i])}tinyMCE.undoLevels=n;tinyMCE.undoIndex=n.length;tinyMCE.dispatchCallback(ti,'remove_instance_callback','removeInstance',ti);return ti},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),h,re,ot,tn;if(inst){inst.switchSettings();editor_id=inst.editorId;h=tinyMCE.getContent(editor_id);this.removeInstance(inst);tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;re=document.getElementById(editor_id+"_parent");ot=inst.oldTargetElement;tn=ot.nodeName.toLowerCase();if(tn=="textarea"||tn=="input"){re.parentNode.removeChild(re);ot.style.display="inline";ot.value=h}else{ot.innerHTML=h;ot.style.display='block';re.parentNode.insertBefore(ot,re);re.parentNode.removeChild(re)}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback)}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name)inst.getBody().innerHTML=inst.startContent}}},execInstanceCommand:function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id),r;if(inst){r=inst.selection.getRng();if(typeof(focus)=="undefined")focus=true;if(focus&&(!r||!r.item))inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();inst.select();tinyMCE.execCommand(command,user_interface,value);if(tinyMCE.isIE&&window.event!=null)tinyMCE.cancelEvent(window.event)}},execCommand:function(command,user_interface,value){var inst=tinyMCE.selectedInstance;user_interface=user_interface?user_interface:false;value=value?value:null;if(inst)inst.switchSettings();switch(command){case"Undo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex>0){tinyMCE.nextUndoRedoAction='Undo';inst=this.undoLevels[--this.undoIndex];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Undo')}}else inst.execCommand('Undo');return true;case"Redo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex<=this.undoLevels.length-1){tinyMCE.nextUndoRedoAction='Redo';inst=this.undoLevels[this.undoIndex++];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Redo')}}else inst.execCommand('Redo');return true;case'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.getWin().focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'],value['document']),value['element'],value['document']);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceToggleEditor":var inst=tinyMCE.getInstanceById(value),pe,te;if(inst){pe=document.getElementById(inst.editorId+'_parent');te=inst.oldTargetElement;if(typeof(inst.enabled)=='undefined')inst.enabled=true;inst.enabled=!inst.enabled;if(!inst.enabled){pe.style.display='none';te.value=inst.getHTML();te.style.display=inst.oldTargetDisplay;tinyMCE.dispatchCallback(inst,'hide_instance_callback','hideInstance',inst)}else{pe.style.display='block';te.style.display='none';inst.setHTML(te.value);inst.useCSS=false;tinyMCE.dispatchCallback(inst,'show_instance_callback','showInstance',inst)}}else tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceResetDesignMode":if(!tinyMCE.isIE){for(var n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="on"}catch(e){}}}return}if(inst){inst.execCommand(command,user_interface,value)}else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert'])},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings['area_width'];ah=""+tinyMCE.settings['area_height'];if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=(isNaN(aw)||aw<0)?300:aw;aw=aw+"px"}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=(isNaN(ah)||ah<0)?240:ah;ah=ah+"px"}iframe.setAttribute("id",id);iframe.setAttribute("name",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isRealIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isRealIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isRealIE)return win.frames[id];else return iframe},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id],i;var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/&lt;/g,'<');content=content.replace(/&gt;/g,'>');content=content.replace(/&quot;/g,'"');content=content.replace(/&amp;/g,'&')}tinyMCE.selectedInstance=inst;inst.switchSettings();if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm"}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo')}for(i=1;i<=6;i++)inst.addShortcut('ctrl',''+i,'','FormatBlock',false,'<h'+i+'>');inst.addShortcut('ctrl','7','','FormatBlock',false,'<p>');inst.addShortcut('ctrl','8','','FormatBlock',false,'<div>');inst.addShortcut('ctrl','9','','FormatBlock',false,'<address>');if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline')}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getBody().setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('&lt;&gt;','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else tinyMCE.setInnerHTML(inst.getBody(),content);tinyMCE.convertAllRelativeURLs(inst.getBody())}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}')}else tinyMCE._setHTML(inst.getDoc(),content)}tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch)}}inst.select();tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}if(tinyMCE.isGecko)inst.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");tinyMCE._removeInternal(inst.getBody());inst.select();tinyMCE.triggerNodeChange(false,true)},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"')}return s},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}},removeTinyMCEFormElements:function(form_obj){var i,elementId;if(!tinyMCE.getParam('hide_selects_on_submit'))return;if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form")}if(form_obj==null)return;for(i=0;i<form_obj.elements.length;i++){elementId=form_obj.elements[i].name?form_obj.elements[i].name:form_obj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)form_obj.elements[i].disabled=true}},handleEvent:function(e){var inst=tinyMCE.selectedInstance;if(typeof(tinyMCE)=="undefined")return true;if(tinyMCE.executeCallback(tinyMCE.selectedInstance,'handle_event_callback','handleEvent',e))return false;switch(e.type){case"beforedeactivate":case"blur":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand('mceEndTyping');tinyMCE.hideMenus();return;case"drop":case"beforepaste":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.setBaseHREF(null);if(tinyMCE.isRealIE){var ife=tinyMCE.selectedInstance.iframeElement;if(ife.style.height.indexOf('%')!=-1){ife._oldHeight=ife.style.height;ife.style.height=ife.clientHeight}}window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();",1);return;case"submit":tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE?window.event.srcElement:e.target);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;return;case"reset":var formObj=tinyMCE.isIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10)}return;case"keypress":if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId){tinyMCE.instances[e.target.editorId].select()}else{if(e.target.ownerDocument.editorId)tinyMCE.instances[e.target.ownerDocument.editorId].select()}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if((tinyMCE.isGecko||tinyMCE.isOpera||tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance,e)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if((tinyMCE.isGecko&&!tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if(tinyMCE.isIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false)}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="&nbsp;&nbsp;";else elm.innerHTML="&nbsp;"}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break}}if(tinyMCE.isIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(e.type=="keyup")tinyMCE.triggerNodeChange(false)}}}if(e.keyCode==17)return true;if(tinyMCE.isGecko){if(!posKey&&e.type=="keyup"&&!e.ctrlKey||(e.ctrlKey&&(e.keyCode==86||e.keyCode==88)))tinyMCE.execCommand("mceStartTyping")}else{if(!posKey&&e.type=="keyup")tinyMCE.execCommand("mceStartTyping")}if(e.type=="keydown"&&(posKey||e.ctrlKey)&&inst)inst.undoBookmark=inst.selection.getBookmark();if(e.type=="keyup"&&(posKey||e.ctrlKey))tinyMCE.execCommand("mceEndTyping");if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);if(tinyMCE.isIE&&e.ctrlKey)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);break;case"mousedown":case"mouseup":case"click":case"dblclick":case"focus":tinyMCE.hideMenus();if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.switchSettings();tinyMCE.selectedInstance.isFocused=true}var targetBody=tinyMCE.getParentElement(e.target,"html");for(var instanceName in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[instanceName]))continue;var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody().parentNode==targetBody){inst.select();tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");break}}if(!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark&&(e.type=="mouseup"||e.type=="dblclick"))tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark=tinyMCE.selectedInstance.selection.getBookmark();if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);tinyMCE.execCommand("mceEndTyping");if(e.type=="mouseup")tinyMCE.execCommand("mceAddUndoLevel");if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.instances[e.target.editorId].select();return false;break}},getButtonHTML:function(id,lang,img,cmd,ui,val){var h='',m,x,io='';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.isRealIE)io='onmouseover="tinyMCE.lastHover = this;"';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=this.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceTiledButton mceButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="background-position: '+x+'px 0" title="{$'+lang+'}" />';h+='</a>'}else{h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" />';h+='</a>'}return h},getMenuButtonHTML:function(id,lang,img,mcmd,cmd,ui,val){var h='',m,x;mcmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+mcmd+'\');';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: '+x+'px 0" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}else{if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}return h},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'')},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i<a.length;i++)this.buttonMap[a[i]]=i},submitPatch:function(){tinyMCE.removeTinyMCEFormElements(this);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;this.mceOldSubmit()},onLoad:function(){var r;if(tinyMCE.settings.strict_loading_mode&&this.loadingIndex!=-1){window.setTimeout('tinyMCE.onLoad();',1);return}if(tinyMCE.isRealIE&&window.event.type=="readystatechange"&&document.readyState!="complete")return true;if(tinyMCE.isLoaded)return true;tinyMCE.isLoaded=true;if(tinyMCE.isRealIE&&document.body){r=document.body.createTextRange();r.collapse(true);r.select()}tinyMCE.dispatchCallback(null,'onpageload','onPageLoad');for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var selector=tinyMCE.getParam("editor_selector");var deselector=tinyMCE.getParam("editor_deselector");var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE_Engine.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE_Engine.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.mceOldSubmit=form.submit;form.submit=TinyMCE_Engine.prototype.submitPatch}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case"exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(element,"class")))continue;if(trigger=="false")continue;if((tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click'])&&element){elementRefAr[elementRefAr.length]=element;continue}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i])}break;case"specific_textareas":case"textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var elm=nodeList.item(i);var trigger=elm.getAttribute(tinyMCE.settings['textarea_trigger']);if(selector!=''&&!new RegExp('\\b'+selector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if(selector!='')trigger=selector!=""?"true":"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=elm}break}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});if(element.nodeName!="TEXTAREA"&&element.nodeName!="INPUT")tinyMCE.addEvent(element,"click",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});tinyMCE.addEvent(element,"click",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});}}else tinyMCE.addMCEControl(element,elementId)}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selection.selectNode(inst.getBody(),true,true);inst.contentWindow.focus()},100)}tinyMCE.dispatchCallback(null,'oninit','onInit')}},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.isTinyMCE_Control},getParam:function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i<value.length;i++){if(value[i]&&value[i]!="")outArray[outArray.length]=value[i]}value=outArray}return value},getLang:function(name,default_value,parse_entities,va){var v=(typeof(tinyMCELang[name])=="undefined")?default_value:tinyMCELang[name],n;if(parse_entities)v=tinyMCE.entityDecode(v);if(va){for(n in va)v=this.replaceVar(v,n,va[n])}return v},entityDecode:function(s){var e=document.createElement("div");e.innerHTML=s;return e.firstChild.nodeValue},addToLang:function(prefix,ar){for(var key in ar){if(typeof(ar[key])=='function')continue;tinyMCELang[(key.indexOf('lang_')==-1?'lang_':'')+(prefix!=''?(prefix+"_"):'')+key]=ar[key]}this.loadNextScript();},triggerNodeChange:function(focus,setup_content){var elm,inst,editorId,undoIndex=-1,undoLevels=-1,doc,anySelection=false,st;if(tinyMCE.selectedInstance){inst=tinyMCE.selectedInstance;elm=(typeof(setup_content)!="undefined"&&setup_content)?tinyMCE.selectedElement:inst.getFocusElement();editorId=inst.editorId;st=inst.selection.getSelectedText();if(tinyMCE.settings.auto_resize)inst.resizeToContent();if(setup_content&&tinyMCE.isGecko&&inst.isHidden())elm=inst.getBody();inst.switchSettings();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(st&&st.length>0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content)}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus()},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");po=tinyMCE.themes[tinyMCE.settings['theme']];if(po&&po.cleanup)content=po.cleanup(type,content,inst);pl=inst.plugins;for(i=0;i<pl.length;i++){po=tinyMCE.plugins[pl[i]];if(po&&po.cleanup)content=po.cleanup(type,content,inst)}return content},setContent:function(h){if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.execCommand('mceSetContent',false,h);tinyMCE.selectedInstance.repaint()}},importThemeLanguagePack:function(name){if(typeof(name)=="undefined")name=tinyMCE.settings['theme'];tinyMCE.loadScript(tinyMCE.baseURL+'/themes/'+name+'/langs/'+tinyMCE.settings['language']+'.js')},importPluginLanguagePack:function(name){var b=tinyMCE.baseURL+'/plugins/'+name;if(this.plugins[name])b=this.plugins[name].baseURL;tinyMCE.loadScript(b+'/langs/'+tinyMCE.settings['language']+'.js')},applyTemplate:function(h,as){return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}','gi'),function(m,s){if(s.indexOf('lang_')==0&&tinyMCELang[s])return tinyMCELang[s];if(as&&as[s])return as[s];if(tinyMCE.settings[s])return tinyMCE.settings[s];if(m=='themeurl')return tinyMCE.themeURL;return m})},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v)},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args=!args?{}:args;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isIE)height+=40;else height+=20;x=parseInt(screen.width/ 2.0) - (width /2.0);y=parseInt(screen.height/ 2.0) - (height /2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus()}else{if((tinyMCE.isRealIE)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features)}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close()}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24)}win.focus()}}},closeWindow:function(win){win.close()},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i<ar.length;i++){if(ar[i]==aidClass)ar[i]="";if(ar[i]!="")classNames[classNames.length]=ar[i]}if(state)classNames[classNames.length]=aidClass;var className="";for(var i=0;i<classNames.length;i++){if(i>0)className+=" ";className+=classNames[i]}return className},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y<el.rows.length;y++){for(var x=0;x<el.rows[y].cells.length;x++){var cn=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x],"class"),state&&bo);tinyMCE.setAttrib(el.rows[y].cells[x],"class",cn)}}break;case"A":var anchorName=tinyMCE.getAttrib(el,"name");if(anchorName!=''&&state){el.title=anchorName;tinyMCE.addCSSClass(el,'mceItemAnchor')}else if(anchorName!=''&&!state)el.className='';break}if(deep&&el.hasChildNodes()){for(var i=0;i<el.childNodes.length;i++)tinyMCE.handleVisualAid(el.childNodes[i],deep,state,inst,true)}},fixGeckoBaseHREFBug:function(m,e,h){var xsrc,xhref;if(tinyMCE.isGecko){if(m==1){h=h.replace(/\ssrc=/gi," mce_tsrc=");h=h.replace(/\shref=/gi," mce_thref=");return h}else{if(!new RegExp('(src|href)=','g').test(h))return h;tinyMCE.selectElements(e,'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK',function(n){xsrc=tinyMCE.getAttrib(n,"mce_tsrc");xhref=tinyMCE.getAttrib(n,"mce_thref");if(xsrc!=""){try{n.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xsrc)}catch(e){}n.removeAttribute("mce_tsrc")}if(xhref!=""){try{n.href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xhref)}catch(e){}n.removeAttribute("mce_thref")}return false});tinyMCE.selectNodes(e,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(/\smce_tsrc=/gi," src=");n.nodeValue=n.nodeValue.replace(/\smce_thref=/gi," href=")}return false})}}return h},_setHTML:function(doc,html_content){html_content=tinyMCE.cleanupHTMLCode(html_content);try{tinyMCE.setInnerHTML(doc.body,html_content)}catch(e){if(this.isMSIE)doc.body.createTextRange().pasteHTML(html_content)}if(tinyMCE.isIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<paras.length;i++){var node=paras[i];while((node=node.parentNode)!=null){if(node.nodeName=="P")node.outerHTML=node.innerHTML}}var html=doc.body.innerHTML;tinyMCE.setInnerHTML(doc.body,html)}tinyMCE.cleanupAnchors(doc);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc)},getEditorId:function(form_element){var inst=this.getInstanceById(form_element);if(!inst)return null;return inst.editorId},getInstanceById:function(editor_id){var inst=this.instances[editor_id];if(!inst){for(var n in tinyMCE.instances){var instance=tinyMCE.instances[n];if(!tinyMCE.isInstance(instance))continue;if(instance.formTargetElementId==editor_id){inst=instance;break}}}return inst},queryInstanceCommandValue:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandValue(command);return false},queryInstanceCommandState:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandState(command);return null},setWindowArg:function(n,v){this.windowArgs[n]=v},getWindowArg:function(n,d){return(typeof(this.windowArgs[n])=="undefined")?d:this.windowArgs[n]},getCSSClasses:function(editor_id,doc){var inst=tinyMCE.getInstanceById(editor_id);if(inst&&inst.cssClasses.length>0)return inst.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;break}doc=instance.getDoc()}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc()}if(doc){var styles=doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x<styles.length;x++){var csses=null;eval("try {var csses = tinyMCE.isIE ? doc.styleSheets("+x+").rules : styles["+x+"].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i<csses.length;i++){var selectorText=csses[i].selectorText;if(selectorText){var rules=selectorText.split(',');for(var c=0;c<rules.length;c++){var rule=rules[c];while(rule.indexOf(' ')==0)rule=rule.substring(1);if(rule.indexOf(' ')!=-1||rule.indexOf(':')!=-1||rule.indexOf('mceItem')!=-1)continue;if(rule.indexOf(tinyMCE.settings['visual_table_class'])!=-1||rule.indexOf('mceEditable')!=-1||rule.indexOf('mceNonEditable')!=-1)continue;if(rule.indexOf('.')!=-1){var cssClass=rule.substring(rule.indexOf('.')+1);var addClass=true;for(var p=0;p<inst.cssClasses.length&&addClass;p++){if(inst.cssClasses[p]==cssClass)addClass=false}if(addClass)inst.cssClasses[inst.cssClasses.length]=cssClass}}}}}}}return inst.cssClasses},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str)},trim:function(s){return s.replace(/^\s*|\s*$/g,"")},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s},getControlHTML:function(c){var i,l,n,o,v,rtl=tinyMCE.getLang('lang_dir')=='rtl';l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+'</span>';return tinyMCE.replaceVar(v,"pluginurl",o.baseURL)}}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+v+'</span>';return v}return''},evalFunc:function(f,idx,a,o){o=!o?window:o;f=typeof(f)=='function'?f:o[f];return f.apply(o,Array.prototype.slice.call(a,idx))},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments)},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments)},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments)},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!=''&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i<l.length;i++){o=tinyMCE.plugins[l[i]];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}return false},xmlEncode:function(s,skip_apos){return s?(''+s).replace(!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe,function(c,b){switch(c){case'&':return'&amp;';case'"':return'&quot;';case'\'':return'&#39;';case'<':return'&lt;';case'>':return'&gt;'}return c}):s},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.foreColor=this.backColor="#999999";this.data={};this.cssClasses=[];this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i<fn.length;i++){if((fu=window['TinyMCE_'+t+"_"+fn[i]]))to[fn[i]]=fu}tinyMCE.addTheme(t,to)}this.plugins=new Array();p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(i=0;i<p.length;i++){pn=p[i];if(pn.charAt(0)=='-')pn=pn.substring(1);if(!tinyMCE.hasPlugin(pn)){fn=tinyMCE.callbacks;to={};for(x=0;x<fn.length;x++){if((fu=window['TinyMCE_'+pn+"_"+fn[x]]))to[fn[x]]=fu}tinyMCE.addPlugin(pn,to)}this.plugins[this.plugins.length]=pn}}};TinyMCE_Control.prototype={selection:null,settings:null,cleanup:null,getData:function(na){var o=this.data[na];if(!o)o=this.data[na]={};return o},hasPlugin:function(n){var i;for(i=0;i<this.plugins.length;i++){if(this.plugins[i]==n)return true}return false},addPlugin:function(n,p){if(!this.hasPlugin(n)){tinyMCE.addPlugin(n,p);this.plugins[this.plugins.length]=n}},repaint:function(){var s,b,ex;if(tinyMCE.isRealIE)return;try{s=this.selection;b=s.getBookmark(true);this.getBody().style.display='none';this.getDoc().execCommand('selectall',false,null);this.getSel().collapseToStart();this.getBody().style.display='block';s.moveToBookmark(b)}catch(ex){}},switchSettings:function(){if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index']}},select:function(){var oldInst=tinyMCE.selectedInstance;if(oldInst!=this){if(oldInst)oldInst.execCommand('mceEndTyping');tinyMCE.dispatchCallback(this,'select_instance_callback','selectInstance',this,oldInst);tinyMCE.selectedInstance=this}},getBody:function(){return this.contentBody?this.contentBody:this.getDoc().body},getDoc:function(){return this.contentWindow.document},getWin:function(){return this.contentWindow},getContainerWin:function(){return this.containerWindow?this.containerWindow:window},getViewPort:function(){return tinyMCE.getViewPort(this.getWin())},getParentNode:function(n,f){return tinyMCE.getParentNode(n,f,this.getBody())},getParentElement:function(n,na,f){return tinyMCE.getParentElement(n,na,f,this.getBody())},getParentBlockElement:function(n){return tinyMCE.getParentBlockElement(n,this.getBody())},resizeToContent:function(){var d=this.getDoc(),b=d.body,de=d.documentElement;this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+'px'},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i<scl.length;i++){if(sc.alt==scl[i].alt&&sc.ctrl==scl[i].ctrl&&sc.shift==scl[i].shift&&sc.charCode==scl[i].charCode&&sc.keyCode==scl[i].keyCode){return false}}scl[scl.length]=sc;return true},handleShortcut:function(e){var i,s,o;if(!e.altKey&&!e.ctrlKey)return false;s=this.shortcuts;for(i=0;i<s.length;i++){o=s[i];if(o.alt==e.altKey&&o.ctrl==e.ctrlKey&&(o.keyCode==e.keyCode||o.charCode==e.charCode)){if(o.cmd&&(e.type=="keydown"||(e.type=="keypress"&&!tinyMCE.isOpera)))tinyMCE.execCommand(o.cmd,o.ui,o.val);tinyMCE.cancelEvent(e);return true}}return false},autoResetDesignMode:function(){if(!tinyMCE.isIE&&this.isHidden()&&tinyMCE.getParam('auto_reset_designmode'))eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}')},isHidden:function(){var s;if(tinyMCE.isIE)return false;s=this.getSel();return(!s||!s.rangeCount||s.rangeCount==0)},isDirty:function(){return tinyMCE.trim(this.startContent)!=tinyMCE.trim(this.getBody().innerHTML)&&!tinyMCE.isNotDirty},_mergeElements:function(scmd,pa,ch,override){if(scmd=="removeformat"){pa.className="";pa.style.cssText="";ch.className="";ch.style.cssText="";return}var st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));var stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));var className=tinyMCE.getAttrib(pa,"class");className=tinyMCE.getAttrib(ch,"class");if(override){for(var n in st){if(typeof(st[n])=='function')continue;stc[n]=st[n]}}else{for(var n in stc){if(typeof(stc[n])=='function')continue;st[n]=stc[n]}}tinyMCE.setAttrib(pa,"style",tinyMCE.serializeStyle(st));tinyMCE.setAttrib(pa,"class",tinyMCE.trim(className));ch.className="";ch.style.cssText="";ch.removeAttribute("class");ch.removeAttribute("style")},_setUseCSS:function(b){var d=this.getDoc();try{d.execCommand("useCSS",false,!b)}catch(ex){}try{d.execCommand("styleWithCSS",false,b)}catch(ex){}if(!tinyMCE.getParam("table_inline_editing"))try{d.execCommand('enableInlineTableEditing',false,"false")}catch(ex){}if(!tinyMCE.getParam("object_resizing"))try{d.execCommand('enableObjectResizing',false,"false")}catch(ex){}},execCommand:function(command,user_interface,value){var doc=this.getDoc(),win=this.getWin(),focusElm=this.getFocusElement();if(!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command))this.undoBookmark=null;if(!tinyMCE.isIE&&!this.useCSS){this._setUseCSS(false);this.useCSS=true}this.contentDocument=doc;if(!/mceStartTyping|mceEndTyping/.test(command)){if(tinyMCE.execCommandCallback(this,'execcommand_callback','execCommand',this.editorId,this.getBody(),command,user_interface,value))return}if(focusElm&&focusElm.nodeName=="IMG"){var align=focusElm.getAttribute('align');var img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case"JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyCenter":img.removeAttribute('align');var div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div)}else{var div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm)}this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return}}if(tinyMCE.settings['force_br_newlines']){var alignValue="";if(doc.selection.type!="Control"){switch(command){case"JustifyLeft":alignValue="left";break;case"JustifyCenter":alignValue="center";break;case"JustifyFull":alignValue="justify";break;case"JustifyRight":alignValue="right";break}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('<div align="'+alignValue+'">'+rng.htmlText+"</div>");tinyMCE.triggerNodeChange();return}}}switch(command){case"mceRepaint":this.repaint();return true;case"unlink":if(tinyMCE.isGecko&&this.getSel().isCollapsed){focusElm=tinyMCE.getParentElement(focusElm,'A');if(focusElm)this.selection.selectNode(focusElm,false)}this.getDoc().execCommand(command,user_interface,value);tinyMCE.isGecko&&this.getSel().collapseToEnd();tinyMCE.triggerNodeChange();return true;case"InsertUnorderedList":case"InsertOrderedList":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm)}else{if(!this.cleanup.isValid(value))return true;if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'<p>');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b)}else this.getDoc().execCommand("FormatBlock",false,value)}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isIE){value.outerHTML=value.innerHTML}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML))}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return}parentNode=parentNode.parentNode}break;case"mceSetStyleInfo":case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','')}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==parentElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}else{this._setUseCSS(false);doc.execCommand("FontName",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x<elementArray.length;x++){elm=elementArray[x];if(elm){var spanElm=doc.createElement(wrapper);if(scmd=="setstyle")tinyMCE.setStyleAttrib(spanElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(spanElm,sname,svalue);if(scmd=="removeformat"){spanElm.style.cssText='';tinyMCE.setAttrib(spanElm,'class','')}if(elm.hasChildNodes()){for(var i=0;i<elm.childNodes.length;i++)spanElm.appendChild(elm.childNodes[i].cloneNode(true))}spanElm.setAttribute("mce_new","true");elm.parentNode.replaceChild(spanElm,elm);var ch=tinyMCE.getNodeTree(spanElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==spanElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false)}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('<span>','gi').test(tmp.innerHTML)){for(var x=0;x<elm.childNodes.length;x++){if(elm.parentNode!=null)elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true),elm)}elm.parentNode.removeChild(elm)}}if(scmd=="removeformat")tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"FontName":if(value==null){var s=this.getSel();if(tinyMCE.isGecko&&s.isCollapsed){var f=tinyMCE.getParentElement(this.getFocusElement(),"font");if(f!=null)this.selection.selectNode(f,false)}this.getDoc().execCommand("RemoveFormat",false,null);if(f!=null&&tinyMCE.isGecko){var r=this.getRng().cloneRange();r.collapse(true);s.removeAllRanges();s.addRange(r)}}else this.getDoc().execCommand('FontName',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"FontSize":this.getDoc().execCommand('FontSize',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"forecolor":value=value==null?this.foreColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.foreColor=value;this.getDoc().execCommand('forecolor',false,value);break;case"HiliteColor":value=value==null?this.backColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.backColor=value;if(tinyMCE.isGecko){this._setUseCSS(true);this.getDoc().execCommand('hilitecolor',false,value);this._setUseCSS(false)}else this.getDoc().execCommand('BackColor',false,value);break;case"Cut":case"Copy":case"Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isOpera&&cmdFailed)alert('Currently not supported by your browser, use keyboard shortcuts instead.');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return}else tinyMCE.triggerNodeChange();break;case"mceSetContent":if(!value)value="";value=tinyMCE.storeAwayURLs(value);value=tinyMCE._customCleanup(this,"insert_to_editor",value);if(this.getBody().nodeName=='BODY')tinyMCE._setHTML(doc,value);else this.getBody().innerHTML=value;tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,doc,this.settings,this.getBody(),false,false,false,true));tinyMCE.convertAllRelativeURLs(this.getBody());tinyMCE._removeInternal(this.getBody());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);return true;case"mceCleanup":var b=this.selection.getBookmark();tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid));tinyMCE.convertAllRelativeURLs(doc.body);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);this.repaint();this.selection.moveToBookmark(b);tinyMCE.triggerNodeChange();break;case"mceReplaceContent":if(!value)value='';this.getWin().focus();var selectedText="";if(tinyMCE.isIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=this.getSel().toString();if(selectedText.length>0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value)}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange()}}break;case"mceSetCSSClass":this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&#38;|&#160;|&#60;|&#62;)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2)}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}}catch(ex){insertHTMLFailed=true}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return}}if(!tinyMCE.isIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value)}else value=rng.createContextualFragment(value)}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value)}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node)}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng)}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}else{var rng=doc.selection.createRange(),tmpRng=null;var c=value.indexOf('<!--')!=-1;if(c)value=tinyMCE.uniqueTag+value;if(rng.item)rng.item(0).outerHTML=value;else rng.pasteHTML(value);if(c){var e=this.getDoc().getElementById('mceTMPElement');e.parentNode.removeChild(e)}}tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange();break;case"mceStartTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex==-1){this.undoRedo.typingUndoIndex=this.undoRedo.undoIndex;tinyMCE.typingUndoIndex=tinyMCE.undoIndex;this.execCommand('mceAddUndoLevel')}break;case"mceEndTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex!=-1){this.execCommand('mceAddUndoLevel');this.undoRedo.typingUndoIndex=-1}tinyMCE.typingUndoIndex=-1;break;case"mceBeginUndoLevel":this.undoRedoLevel=false;break;case"mceEndUndoLevel":this.undoRedoLevel=true;this.execCommand('mceAddUndoLevel');break;case"mceAddUndoLevel":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedoLevel){if(this.undoRedo.add())tinyMCE.triggerNodeChange(false)}break;case"Undo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.undo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"Redo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.redo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"Indent":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();if(tinyMCE.isIE){var n=tinyMCE.getParentElement(this.getFocusElement(),"blockquote");do{if(n&&n.nodeName=="BLOCKQUOTE"){n.removeAttribute("dir");n.removeAttribute("style")}}while(n!=null&&(n=n.parentNode)!=null)}break;case"RemoveFormat":case"removeformat":var text=this.selection.getSelectedText();if(tinyMCE.isOpera){this.getDoc().execCommand("RemoveFormat",false,null);return}if(tinyMCE.isIE){try{var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null)}catch(e){}this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}else{this.getDoc().execCommand(command,user_interface,value);this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);else tinyMCE.triggerNodeChange()}if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceStartTyping"&&command!="mceEndTyping")tinyMCE.execCommand("mceAddUndoLevel")},queryCommandValue:function(c){try{return this.getDoc().queryCommandValue(c)}catch(e){return null}},queryCommandState:function(c){return this.getDoc().queryCommandState(c)},_onAdd:function(replace_element,form_element_name,target_document){var hc,th,to,editorTemplate;th=this.settings['theme'];to=tinyMCE.themes[th];var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false}if(to.getEditorTemplate)editorTemplate=to.getEditorTemplate(this.settings,this.editorId);var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html='<span id="'+this.editorId+'_parent" class="mceEditorContainer">'+editorTemplate['html'];html=tinyMCE.replaceVar(html,"editor_id",this.editorId);this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;this.settings['width_style']=""+this.settings['width'];this.settings['height_style']=""+this.settings['height'];if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";else this.settings['width_style']+='px';if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";else this.settings['height_style']+='px';if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";this.settings['width_style']="100%"}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";this.settings['height_style']="100%"}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName=="TEXTAREA"||replace_element.nodeName=="INPUT")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName!="TEXTAREA"&&replace_element.nodeName!="INPUT"){this.oldTargetElement=replace_element;if(tinyMCE.settings['debug']){hc='<textarea wrap="off" id="'+form_element_name+'" name="'+form_element_name+'" cols="100" rows="15"></textarea>'}else{hc='<input type="hidden" id="'+form_element_name+'" name="'+form_element_name+'" />';this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}html+='</span>';if(tinyMCE.isGecko)html=hc+html;else html+=hc;if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}else{html+='</span>';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug']){this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isIE){if(tElm&&(tElm.nodeName=="SPAN"||tElm.nodeName=="span")){tElm=tinyMCE._createIFrame(tElm,targetDoc);dynamicIFrame=true}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName=="SPAN")tElm=tinyMCE._createIFrame(tElm,targetDoc,targetDoc.parentWindow);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);if(tinyMCE.isOpera){this.contentDocument=this.iframeElement.contentDocument;this.contentWindow=this.iframeElement.contentWindow;dynamicIFrame=true}else{this.contentDocument=tElm.window.document;this.contentWindow=tElm.window}this.getDoc().designMode="on"}var doc=this.contentDocument;if(dynamicIFrame){var html=tinyMCE.getParam('doctype')+'<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="'+tinyMCE.settings['base_href']+'" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';try{if(!this.isHidden())this.getDoc().designMode="on";doc.open();doc.write(html);doc.close()}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm"}}if(tinyMCE.isIE)window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\""+this.editorId+"\"]);",1);var parentElm=this.targetDoc.getElementById(this.editorId+'_parent');this.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.setupContent(this.editorId,true);return true},setBaseHREF:function(u){var h,b,d,nl;d=this.getDoc();nl=d.getElementsByTagName("base");b=nl.length>0?nl[0]:null;if(!b){nl=d.getElementsByTagName("head");h=nl.length>0?nl[0]:null;b=d.createElement("base");b.setAttribute('href',u);h.appendChild(b)}else{if(u==""||u==null)b.parentNode.removeChild(b);else b.setAttribute('href',u)}},getHTML:function(r){var h,d=this.getDoc(),b=this.getBody();if(r)return b.innerHTML;h=tinyMCE._cleanupHTML(this,d,this.settings,b,false,true,false,true);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(d);return h},setHTML:function(h){this.execCommand('mceSetContent',false,h);this.repaint()},getFocusElement:function(){return this.selection.getFocusElement()},getSel:function(){return this.selection.getSel()},getRng:function(){return this.selection.getRng()},triggerSave:function(skip_cleanup,skip_callback){var e,nl=[],i,s;this.switchSettings();s=tinyMCE.settings;if(tinyMCE.isRealIE){e=this.iframeElement;do{if(e.style&&e.style.display=='none'){e.style.display='block';nl[nl.length]={elm:e,type:'style'}}if(e.style&&s.hidden_tab_class.length>0&&e.className.indexOf(s.hidden_tab_class)!=-1){e.className=s.display_tab_class;nl[nl.length]={elm:e,type:'class'}}}while((e=e.parentNode)!=null)}tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(this.getDoc(),this.getBody().innerHTML);if(this.settings['cleanup']==false){tinyMCE.handleVisualAid(this.getBody(),true,false,this);tinyMCE._setEventsEnabled(this.getBody(),true)}tinyMCE._customCleanup(this,"submit_content_dom",this.contentWindow.document.body);var htm=skip_cleanup?this.getBody().innerHTML:tinyMCE._cleanupHTML(this,this.getDoc(),this.settings,this.getBody(),tinyMCE.visualAid,true,true);htm=tinyMCE._customCleanup(this,"submit_content",htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(this.formTargetElementId,htm,this.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");if(this.formElement)this.formElement.value=htm;if(tinyMCE.isSafari&&this.formElement)this.formElement.innerText=htm;for(i=0;i<nl.length;i++){if(nl[i].type=='style')nl[i].elm.style.display='none';else nl[i].elm.className=s.hidden_tab_class}}};TinyMCE_Engine.prototype.cleanupHTMLCode=function(s){s=s.replace(new RegExp('<p \\/>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<p>\\s*<\\/p>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<br>\\s*<\\/br>','gi'),'<br />');s=s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>','gi'),'<$1$2$3></$1$2>');s=s.replace(new RegExp('\\s+></','gi'),'></');s=s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>','gi'),'<$1$2 />');if(tinyMCE.isIE)s=s.replace(new RegExp('<p><hr \\/><\\/p>','gi'),"<hr>");if(tinyMCE.isIE)s=s.replace(/<!(\s*)\/>/g,'');return s};TinyMCE_Engine.prototype.parseStyle=function(str){var ar=new Array();if(str==null)return ar;var st=str.split(';');tinyMCE.clearArray(ar);for(var i=0;i<st.length;i++){if(st[i]=='')continue;var re=new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');var pa=st[i].replace(re,'$1||$2').split('||');if(pa.length==2)ar[pa[0].toLowerCase()]=pa[1]}return ar};TinyMCE_Engine.prototype.compressStyle=function(ar,pr,sf,res){var box=new Array();box[0]=ar[pr+'-top'+sf];box[1]=ar[pr+'-left'+sf];box[2]=ar[pr+'-right'+sf];box[3]=ar[pr+'-bottom'+sf];for(var i=0;i<box.length;i++){if(box[i]==null)return;for(var a=0;a<box.length;a++){if(box[a]!=box[i])return}}ar[res]=box[0];ar[pr+'-top'+sf]=null;ar[pr+'-left'+sf]=null;ar[pr+'-right'+sf]=null;ar[pr+'-bottom'+sf]=null};TinyMCE_Engine.prototype.serializeStyle=function(ar){var str="";tinyMCE.compressStyle(ar,"border","","border");tinyMCE.compressStyle(ar,"border","-width","border-width");tinyMCE.compressStyle(ar,"border","-color","border-color");tinyMCE.compressStyle(ar,"border","-style","border-style");tinyMCE.compressStyle(ar,"padding","","padding");tinyMCE.compressStyle(ar,"margin","","margin");for(var key in ar){var val=ar[key];if(typeof(val)=='function')continue;if(key.indexOf('mso-')==0)continue;if(val!=null&&val!=''){val=''+val;val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)",'gi'),"url('$1')");if(val.indexOf('url(')!=-1&&tinyMCE.getParam('convert_urls')){var m=new RegExp("url\\('(.*?)'\\)").exec(val);if(m.length>1)val="url('"+eval(tinyMCE.getParam('urlconverter_callback')+"(m[1], null, true);")+"')"}if(tinyMCE.getParam("force_hex_style_colors"))val=tinyMCE.convertRGBToHex(val,true);val=val.replace(/\"/g,'\'');if(val!="url('')")str+=key.toLowerCase()+": "+val+"; "}}if(new RegExp('; $').test(str))str=str.substring(0,str.length-2);return str};TinyMCE_Engine.prototype.convertRGBToHex=function(s,k){if(s.toLowerCase().indexOf('rgb')!=-1){var re=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");var rgb=s.replace(re,"$1,$2,$3,$4,$5").split(',');if(rgb.length==5){r=parseInt(rgb[1]).toString(16);g=parseInt(rgb[2]).toString(16);b=parseInt(rgb[3]).toString(16);r=r.length==1?'0'+r:r;g=g.length==1?'0'+g:g;b=b.length==1?'0'+b:b;s="#"+r+g+b;if(k)s=rgb[0]+s+rgb[4]}}return s};TinyMCE_Engine.prototype.convertHexToRGB=function(s){if(s.indexOf('#')!=-1){s=s.replace(new RegExp('[^0-9A-F]','gi'),'');return"rgb("+parseInt(s.substring(0,2),16)+","+parseInt(s.substring(2,4),16)+","+parseInt(s.substring(4,6),16)+")"}return s};TinyMCE_Engine.prototype.convertSpansToFonts=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var size=tinyMCE.trim(s[i].style.fontSize).toLowerCase();var fSize=0;for(var x=0;x<sizes.length;x++){if(sizes[x]==size){fSize=x+1;break}}if(fSize>0){tinyMCE.setAttrib(s[i],'size',fSize);s[i].style.fontSize=''}var fFace=s[i].style.fontFamily;if(fFace!=null&&fFace!=""){tinyMCE.setAttrib(s[i],'face',fFace);s[i].style.fontFamily=''}var fColor=s[i].style.color;if(fColor!=null&&fColor!=""){tinyMCE.setAttrib(s[i],'color',tinyMCE.convertRGBToHex(fColor));s[i].style.color=''}}};TinyMCE_Engine.prototype.convertFontsToSpans=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var fsClasses=tinyMCE.getParam('font_size_classes');if(fsClasses!='')fsClasses=fsClasses.replace(/\s+/,'').split(',');else fsClasses=null;var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var fSize,fFace,fColor;fSize=tinyMCE.getAttrib(s[i],'size');fFace=tinyMCE.getAttrib(s[i],'face');fColor=tinyMCE.getAttrib(s[i],'color');if(fSize!=""){fSize=parseInt(fSize);if(fSize>0&&fSize<8){if(fsClasses!=null)tinyMCE.setAttrib(s[i],'class',fsClasses[fSize-1]);else s[i].style.fontSize=sizes[fSize-1]}s[i].removeAttribute('size')}if(fFace!=""){s[i].style.fontFamily=fFace;s[i].removeAttribute('face')}if(fColor!=""){s[i].style.color=fColor;s[i].removeAttribute('color')}}};TinyMCE_Engine.prototype.cleanupAnchors=function(doc){var i,cn,x,an=doc.getElementsByTagName("a");for(i=an.length-1;i>=0;i--){if(tinyMCE.getAttrib(an[i],"name")!=""&&tinyMCE.getAttrib(an[i],"href")==""){cn=an[i].childNodes;for(x=cn.length-1;x>=0;x--)tinyMCE.insertAfter(cn[x],an[i])}}};TinyMCE_Engine.prototype.getContent=function(editor_id){if(typeof(editor_id)!="undefined")tinyMCE.getInstanceById(editor_id).select();if(tinyMCE.selectedInstance)return tinyMCE.selectedInstance.getHTML();return null};TinyMCE_Engine.prototype._fixListElements=function(d){var nl,x,a=['ol','ul'],i,n,p,r=new RegExp('^(OL|UL)$'),np;for(x=0;x<a.length;x++){nl=d.getElementsByTagName(a[x]);for(i=0;i<nl.length;i++){n=nl[i];p=n.parentNode;if(r.test(p.nodeName)){np=tinyMCE.prevNode(n,'LI');if(!np){np=d.createElement('li');np.innerHTML='&nbsp;';np.appendChild(n);p.insertBefore(np,p.firstChild)}else np.appendChild(n)}}}};TinyMCE_Engine.prototype._fixTables=function(d){var nl,i,n,p,np,x,t;nl=d.getElementsByTagName('table');for(i=0;i<nl.length;i++){n=nl[i];if((p=tinyMCE.getParentElement(n,'p,h1,h2,h3,h4,h5,h6'))!=null){np=p.cloneNode(false);np.removeAttribute('id');t=n;while((n=n.nextSibling))np.appendChild(n);tinyMCE.insertAfter(np,p);tinyMCE.insertAfter(t,p)}}};TinyMCE_Engine.prototype._cleanupHTML=function(inst,doc,config,elm,visual,on_save,on_submit,inn){var h,d,t1,t2,t3,t4,t5,c,s,nb;if(!tinyMCE.getParam('cleanup'))return elm.innerHTML;on_save=typeof(on_save)=='undefined'?false:on_save;c=inst.cleanup;s=inst.settings;d=c.settings.debug;if(d)t1=new Date().getTime();if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertFontsToSpans(doc);if(tinyMCE.getParam("fix_list_elements"))tinyMCE._fixListElements(doc);if(tinyMCE.getParam("fix_table_elements"))tinyMCE._fixTables(doc);tinyMCE._customCleanup(inst,on_save?"get_from_editor_dom":"insert_to_editor_dom",doc.body);if(d)t2=new Date().getTime();c.settings.on_save=on_save;c.idCount=0;c.serializationId++;c.serializedNodes=new Array();c.sourceIndex=-1;if(s.cleanup_serializer=="xml")h=c.serializeNodeAsXML(elm,inn);else h=c.serializeNodeAsHTML(elm,inn);if(d)t3=new Date().getTime();nb=tinyMCE.getParam('entity_encoding')=='numeric'?'&#160;':'&nbsp;';h=h.replace(/<\/?(body|head|html)[^>]*>/gi,'');h=h.replace(new RegExp(' (rowspan="1"|colspan="1")','g'),'');h=h.replace(/<p><hr \/><\/p>/g,'<hr />');h=h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g,'<hr />');h=h.replace(/<td>\s*<br \/>\s*<\/td>/g,'<td>'+nb+'</td>');h=h.replace(/<p>\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<br \/>$/,'');h=h.replace(/<br \/><\/p>/g,'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(new RegExp('<a>(.*?)<\\/a>','g'),'$1');h=h.replace(/<p([^>]*)>\s*<\/p>/g,'<p$1>'+nb+'</p>');if(/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))h='';if(s.preformatted){h=h.replace(/^<pre>/,'');h=h.replace(/<\/pre>$/,'');h='<pre>'+h+'</pre>'}if(tinyMCE.isGecko){h=h.replace(/<o:p _moz-userdefined="" \/>/g,'');h=h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g,'<td$1>'+nb+'</td>')}if(s.force_br_newlines)h=h.replace(/<p>(&nbsp;|&#160;)<\/p>/g,'<br />');h=tinyMCE._customCleanup(inst,on_save?"get_from_editor":"insert_to_editor",h);if(on_save){h=h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|'+s.visual_table_class+')','g'),'');h=h.replace(new RegExp(' ?class=""','g'),'')}if(s.remove_linebreaks&&!c.settings.indent)h=h.replace(/\n|\r/g,' ');if(d)t4=new Date().getTime();if(on_save&&c.settings.indent)h=c.formatHTML(h);if(on_submit&&(s.encoding=="xml"||s.encoding=="html"))h=c.xmlEncode(h);if(d)t5=new Date().getTime();if(c.settings.debug)tinyMCE.debug("Cleanup in ms: Pre="+(t2-t1)+", Serialize: "+(t3-t2)+", Post: "+(t4-t3)+", Format: "+(t5-t4)+", Sum: "+(t5-t1)+".");return h};function TinyMCE_Cleanup(){this.isIE=(navigator.appName=="Microsoft Internet Explorer");this.rules=tinyMCE.clearArray(new Array());this.settings={indent_elements:'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',newline_before_elements:'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',newline_after_elements:'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',newline_before_after_elements:'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',indent_char:'\t',indent_levels:1,entity_encoding:'raw',valid_elements:'*[*]',entities:'',url_converter:'',invalid_elements:'',verify_html:false};this.vElements=tinyMCE.clearArray(new Array());this.vElementsRe='';this.closeElementsRe=/^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;this.codeElementsRe=/^(SCRIPT|STYLE)$/;this.serializationId=0;this.mceAttribs={href:'mce_href',src:'mce_src',type:'mce_type'}}TinyMCE_Cleanup.prototype={init:function(s){var n,a,i,ir,or,st;for(n in s)this.settings[n]=s[n];s=this.settings;this.inRe=this._arrayToRe(s.indent_elements.split(','),'','^<(',')[^>]*');this.ouRe=this._arrayToRe(s.indent_elements.split(','),'','^<\\/(',')[^>]*');this.nlBeforeRe=this._arrayToRe(s.newline_before_elements.split(','),'gi','<(',')([^>]*)>');this.nlAfterRe=this._arrayToRe(s.newline_after_elements.split(','),'gi','<(',')([^>]*)>');this.nlBeforeAfterRe=this._arrayToRe(s.newline_before_after_elements.split(','),'gi','<(\\/?)(',')([^>]*)>');this.serializedNodes=[];if(s.invalid_elements!='')this.iveRe=this._arrayToRe(s.invalid_elements.toUpperCase().split(','),'g','^(',')$');else this.iveRe=null;st='';for(i=0;i<s.indent_levels;i++)st+=s.indent_char;this.inStr=st;if(!s.verify_html){s.valid_elements='*[*]';s.extended_valid_elements=''}this.fillStr=s.entity_encoding=="named"?"&nbsp;":"&#160;";this.idCount=0;this.xmlEncodeRe=new RegExp('[\u007F-\uFFFF<>&"]','g');this.xmlEncodeAposRe=new RegExp('[\u007F-\uFFFF<>&"\']','g')},addRuleStr:function(s){var r=this.parseRuleStr(s);var n;for(n in r){if(r[n])this.rules[n]=r[n]}this.vElements=tinyMCE.clearArray(new Array());for(n in this.rules){if(this.rules[n])this.vElements[this.vElements.length]=this.rules[n].tag}this.vElementsRe=this._arrayToRe(this.vElements,'')},isValid:function(n){this._setupRules();if(!n)return true;n=n.replace(/[^a-z0-9]+/gi,'').toUpperCase();return!tinyMCE.getParam('cleanup')||this.vElementsRe.test(n)},addChildRemoveRuleStr:function(s){var x,y,p,i,t,tn,ta,cl,r;if(!s)return;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r="^(";cl=this.split(/\|/,p[1]);for(i=0;i<cl.length;i++){if(cl[i]=='%istrict')r+=tinyMCE.inlineStrict;else if(cl[i]=='%itrans')r+=tinyMCE.inlineTransitional;else if(cl[i]=='%istrict_na')r+=tinyMCE.inlineStrict.substring(2);else if(cl[i]=='%itrans_na')r+=tinyMCE.inlineTransitional.substring(2);else if(cl[i]=='%btrans')r+=tinyMCE.blockElms;else if(cl[i]=='%strict')r+=tinyMCE.blockStrict;else r+=(cl[i].charAt(0)!='#'?cl[i].toUpperCase():cl[i]);r+=(i!=cl.length-1?'|':'')}r+=')$';if(this.childRules==null)this.childRules=tinyMCE.clearArray(new Array());this.childRules[tn[y]]=new RegExp(r);if(p.length>1)this.childRules[tn[y]].wrapTag=p[2]}}},parseRuleStr:function(s){var ta,p,r,a,i,x,px,t,tn,y,av,or=tinyMCE.clearArray(new Array()),dv;if(s==null||s.length==0)return or;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];if(s.length==0)continue;p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r={};r.tag=tn[y];r.forceAttribs=null;r.defaultAttribs=null;r.validAttribValues=null;px=r.tag.charAt(0);r.forceOpen=px=='+';r.removeEmpty=px=='-';r.fill=px=='#';r.tag=r.tag.replace(/\+|-|#/g,'');r.oTagName=tn[0].replace(/\+|-|#/g,'').toLowerCase();r.isWild=new RegExp('\\*|\\?|\\+','g').test(r.tag);r.validRe=new RegExp(this._wildcardToRe('^'+r.tag+'$'));if(p.length>1){r.vAttribsRe='^(';a=this.split(/\|/,p[1]);for(i=0;i<a.length;i++){t=a[i];if(t.charAt(0)=='!'){a[i]=t=t.substring(1);if(!r.reqAttribsRe)r.reqAttribsRe='\\s+('+t;else r.reqAttribsRe+='|'+t}av=new RegExp('(=|:|<)(.*?)$').exec(t);t=t.replace(new RegExp('(=|:|<).*?$'),'');if(av&&av.length>0){if(av[0].charAt(0)==':'){if(!r.forceAttribs)r.forceAttribs=tinyMCE.clearArray(new Array());r.forceAttribs[t.toLowerCase()]=av[0].substring(1)}else if(av[0].charAt(0)=='='){if(!r.defaultAttribs)r.defaultAttribs=tinyMCE.clearArray(new Array());dv=av[0].substring(1);r.defaultAttribs[t.toLowerCase()]=dv==""?"mce_empty":dv}else if(av[0].charAt(0)=='<'){if(!r.validAttribValues)r.validAttribValues=tinyMCE.clearArray(new Array());r.validAttribValues[t.toLowerCase()]=this._arrayToRe(this.split('?',av[0].substring(1)),'i')}}r.vAttribsRe+=''+t.toLowerCase()+(i!=a.length-1?'|':'');a[i]=t.toLowerCase()}if(r.reqAttribsRe)r.reqAttribsRe=new RegExp(r.reqAttribsRe+')=\"','g');r.vAttribsRe+=')$';r.vAttribsRe=this._wildcardToRe(r.vAttribsRe);r.vAttribsReIsWild=new RegExp('\\*|\\?|\\+','g').test(r.vAttribsRe);r.vAttribsRe=new RegExp(r.vAttribsRe);r.vAttribs=a.reverse();}else{r.vAttribsRe='';r.vAttribs=tinyMCE.clearArray(new Array());r.vAttribsReIsWild=false}or[r.tag]=r}}return or},serializeNodeAsXML:function(n){var s,b;if(!this.xmlDoc){if(this.isIE){try{this.xmlDoc=new ActiveXObject('MSXML2.DOMDocument')}catch(e){}if(!this.xmlDoc)try{this.xmlDoc=new ActiveXObject('Microsoft.XmlDom')}catch(e){}}else this.xmlDoc=document.implementation.createDocument('','',null);if(!this.xmlDoc)alert("Error XML Parser could not be found.")}if(this.xmlDoc.firstChild)this.xmlDoc.removeChild(this.xmlDoc.firstChild);b=this.xmlDoc.createElement("html");b=this.xmlDoc.appendChild(b);this._convertToXML(n,b);if(this.isIE)return this.xmlDoc.xml;else return new XMLSerializer().serializeToString(this.xmlDoc)},_convertToXML:function(n,xn){var xd,el,i,l,cn,at,no,hc=false;if(tinyMCE.isRealIE&&this._isDuplicate(n))return;xd=this.xmlDoc;switch(n.nodeType){case 1:hc=n.hasChildNodes();el=xd.createElement(n.nodeName.toLowerCase());at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&no.nodeValue)el.setAttribute(no.nodeName.toLowerCase(),no.nodeValue)}if(!hc&&!this.closeElementsRe.test(n.nodeName))el.appendChild(xd.createTextNode(""));xn=xn.appendChild(el);break;case 3:xn.appendChild(xd.createTextNode(n.nodeValue));return;case 8:xn.appendChild(xd.createComment(n.nodeValue));return}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)this._convertToXML(cn[i],xn)}},serializeNodeAsHTML:function(n,inn){var en,no,h='',i,l,t,st,r,cn,va=false,f=false,at,hc,cr,nn;this._setupRules();if(tinyMCE.isRealIE&&this._isDuplicate(n))return'';if(n.parentNode&&this.childRules!=null){cr=this.childRules[n.parentNode.nodeName];if(typeof(cr)!="undefined"&&!cr.test(n.nodeName)){st=true;t=null}}switch(n.nodeType){case 1:hc=n.hasChildNodes();if(st)break;if((tinyMCE.isRealIE)&&n.nodeName.indexOf('/')!=-1)break;nn=n.nodeName;if(this.settings.convert_fonts_to_spans){if(this.settings.on_save&&nn=='FONT')nn='SPAN';if(!this.settings.on_save&&nn=='SPAN')nn='FONT'}if(this.vElementsRe.test(nn)&&(!this.iveRe||!this.iveRe.test(nn))&&!inn){va=true;r=this.rules[nn];if(!r){at=this.rules;for(no in at){if(at[no]&&at[no].validRe.test(nn)){r=at[no];break}}}en=r.isWild?nn.toLowerCase():r.oTagName;f=r.fill;if(r.removeEmpty&&!hc)return"";t='<'+en;if(r.vAttribsReIsWild){at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&r.vAttribsRe.test(no.nodeName))t+=this._serializeAttribute(n,r,no.nodeName)}}else{for(i=r.vAttribs.length-1;i>-1;i--)t+=this._serializeAttribute(n,r,r.vAttribs[i])}if(!this.settings.on_save){at=this.mceAttribs;for(no in at){if(at[no])t+=this._serializeAttribute(n,r,at[no])}}if(r.reqAttribsRe&&!t.match(r.reqAttribsRe))t=null;if(t!=null&&this.closeElementsRe.test(nn))return t+' />';if(t!=null)h+=t+'>';if(this.isIE&&this.codeElementsRe.test(nn))h+=n.innerHTML}break;case 3:if(st)break;if(n.parentNode&&this.codeElementsRe.test(n.parentNode.nodeName))return this.isIE?'':n.nodeValue;return this.xmlEncode(n.nodeValue);case 8:if(st)break;return"<!--"+this._trimComment(n.nodeValue)+"-->"}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)h+=this.serializeNodeAsHTML(cn[i])}if(f&&!hc)h+=this.fillStr;if(t!=null&&va)h+='</'+en+'>';return h},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""'}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an))av=this._urlConverter(this,n,av);if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0){if(an.indexOf('on')!=0)av=this.xmlEncode(av,1);return" "+an+"="+'"'+av+'"'}return""},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi,function(a,b,c){c=c.replace(/<br\s*\/>/gi,'\n');return'<pre'+b+'>'+c+'</pre>'});h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr}li=i}return o},xmlEncode:function(s,skip_apos){var cl=this,re=!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s,skip_apos);case"named":return s.replace(re,function(c,b){b=cl.entities[c.charCodeAt(0)];return b?'&'+b+';':c});case"numeric":return s.replace(re,function(c,b){return b?'&#'+c.charCodeAt(0)+';':c})}return s},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i<l;i++){if(c[i]!='')o[i]=c[i]}return o},_trimComment:function(s){s=s.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");s=s.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");return s},_getAttrib:function(e,n,d){var v,ex,nn;if(typeof(d)=="undefined")d="";if(!e||e.nodeType!=1)return d;try{v=e.getAttribute(n,0)}catch(ex){v=e.getAttribute(n,2)}if(n=="class"&&!v)v=e.className;if(this.isIE){if(n=="http-equiv")v=e.httpEquiv;nn=e.nodeName;if(nn=="FORM"&&n=="enctype"&&v=="application/x-www-form-urlencoded")v="";if(nn=="INPUT"&&n=="size"&&v=="20")v="";if(nn=="INPUT"&&n=="maxlength"&&v=="2147483647")v=""}if(n=='style'&&v){if(!tinyMCE.isOpera)v=e.style.cssText;v=tinyMCE.serializeStyle(tinyMCE.parseStyle(v))}if(this.settings.on_save&&n.indexOf('on')!=-1&&this.settings.on_save&&v&&v!="")v=tinyMCE.cleanupEventStr(v);return(v&&v!="")?''+v:d},_urlConverter:function(c,n,v){if(!c.settings.on_save)return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,v);else if(tinyMCE.getParam('convert_urls')){if(!this.urlConverter)this.urlConverter=eval(tinyMCE.settings.urlconverter_callback);return this.urlConverter(v,n,true)}return v},_arrayToRe:function(a,op,be,af){var i,r;op=typeof(op)=="undefined"?"gi":op;be=typeof(be)=="undefined"?"^(":be;af=typeof(af)=="undefined"?")$":af;r=be;for(i=0;i<a.length;i++)r+=this._wildcardToRe(a[i])+(i!=a.length-1?"|":"");r+=af;return new RegExp(r,op)},_wildcardToRe:function(s){s=s.replace(/\?/g,'(\\S?)');s=s.replace(/\+/g,'(\\S+)');s=s.replace(/\*/g,'(\\S*)');return s},_setupEntities:function(){var n,a,i,s=this.settings;if(!this.entitiesDone){if(s.entity_encoding=="named"){n=tinyMCE.clearArray(new Array());a=this.split(',',s.entities);for(i=0;i<a.length;i+=2)n[a[i]]=a[i+1];this.entities=n}this.entitiesDone=true}},_setupRules:function(){var s=this.settings;if(!this.rulesDone){this.addRuleStr(s.valid_elements);this.addRuleStr(s.extended_valid_elements);this.addChildRemoveRuleStr(s.valid_child_elements);this.rulesDone=true}},_isDuplicate:function(n){var i;if(!this.settings.fix_content_duplication)return false;if(tinyMCE.isRealIE&&n.nodeType==1){if(n.mce_serialized==this.serializationId)return true;n.setAttribute('mce_serialized',this.serializationId)}else{for(i=0;i<this.serializedNodes.length;i++){if(this.serializedNodes[i]==n)return true}this.serializedNodes[this.serializedNodes.length]=n}return false}};TinyMCE_Engine.prototype.createTagHTML=function(tn,a,h){var o='',f=tinyMCE.xmlEncode;o='<'+tn;if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)o+=' '+f(n)+'="'+f(''+a[n])+'"'}}o+=!h?' />':'>'+h+'</'+tn+'>';return o};TinyMCE_Engine.prototype.createTag=function(d,tn,a,h){var o=d.createElement(tn);if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)tinyMCE.setAttrib(o,n,a[n])}}if(h)o.innerHTML=h;return o};TinyMCE_Engine.prototype.getElementByAttributeValue=function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0]};TinyMCE_Engine.prototype.getElementsByAttributeValue=function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=new Array();for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],a).indexOf(v)!=-1)o[o.length]=nl[i]}return o};TinyMCE_Engine.prototype.isBlockElement=function(n){return n!=null&&n.nodeType==1&&this.blockRegExp.test(n.nodeName)};TinyMCE_Engine.prototype.getParentBlockElement=function(n,r){return this.getParentNode(n,function(n){return tinyMCE.isBlockElement(n)},r);return null};TinyMCE_Engine.prototype.insertAfter=function(n,r){if(r.nextSibling)r.parentNode.insertBefore(n,r.nextSibling);else r.parentNode.appendChild(n)};TinyMCE_Engine.prototype.setInnerHTML=function(e,h){var i,nl,n;if(tinyMCE.isGecko){h=h.replace(/<embed([^>]*)>/gi,'<tmpembed$1>');h=h.replace(/<em([^>]*)>/gi,'<i$1>');h=h.replace(/<tmpembed([^>]*)>/gi,'<embed$1>');h=h.replace(/<strong([^>]*)>/gi,'<b$1>');h=h.replace(/<\/strong>/gi,'</b>');h=h.replace(/<\/em>/gi,'</i>')}if(tinyMCE.isRealIE){h=h.replace(/\s\/>/g,'>');h=h.replace(/<p([^>]*)>\u00A0?<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s+<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n)}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h)}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML};TinyMCE_Engine.prototype.setOuterHTML=function(e,h,d){var d=typeof(d)=="undefined"?e.ownerDocument:d,i,nl,t;if(tinyMCE.isIE&&e.nodeType==1)e.outerHTML=h;else{t=d.createElement("body");t.innerHTML=h;for(i=0,nl=t.childNodes;i<nl.length;i++)e.parentNode.insertBefore(nl[i].cloneNode(true),e);e.parentNode.removeChild(e)}};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i<f.length;i++){for(j=0;j<f[i].elements.length;j++){if(f[i].elements[j].name==id){e=f[i].elements[j];break}}}}return e};TinyMCE_Engine.prototype.getNodeTree=function(n,na,t,nn){return this.selectNodes(n,function(n){return(!t||n.nodeType==t)&&(!nn||n.nodeName==nn)},na?na:new Array())};TinyMCE_Engine.prototype.getParentElement=function(n,na,f,r){var re=na?new RegExp('^('+na.toUpperCase().replace(/,/g,'|')+')$'):0,v;if(f&&typeof(f)=='string')return this.getParentElement(n,na,function(no){return tinyMCE.getAttrib(no,f)!=''});return this.getParentNode(n,function(n){return((n.nodeType==1&&!re)||(re&&re.test(n.nodeName)))&&(!f||f(n))},r)};TinyMCE_Engine.prototype.getParentNode=function(n,f,r){while(n){if(n==r)return null;if(f(n))return n;n=n.parentNode}return null};TinyMCE_Engine.prototype.getAttrib=function(elm,name,dv){var v;if(typeof(dv)=="undefined")dv="";if(!elm||elm.nodeType!=1)return dv;try{v=elm.getAttribute(name,0)}catch(ex){v=elm.getAttribute(name,2)}if(name=="class"&&!v)v=elm.className;if(tinyMCE.isGecko&&name=="src"&&elm.src!=null&&elm.src!="")v=elm.src;if(tinyMCE.isGecko&&name=="href"&&elm.href!=null&&elm.href!="")v=elm.href;if(name=="http-equiv"&&tinyMCE.isIE)v=elm.httpEquiv;if(name=="style"&&!tinyMCE.isOpera)v=elm.style.cssText;return(v&&v!="")?v:dv};TinyMCE_Engine.prototype.setAttrib=function(el,name,va,fix){if(typeof(va)=="number"&&va!=null)va=""+va;if(fix){if(va==null)va="";va=va.replace(/[^0-9%]/g,'')}if(name=="style")el.style.cssText=va;if(name=="class")el.className=va;if(va!=null&&va!=""&&va!=-1)el.setAttribute(name,va);else el.removeAttribute(name)};TinyMCE_Engine.prototype.setStyleAttrib=function(e,n,v){e.style[n]=v;if(tinyMCE.isIE&&v==null||v==''){v=tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));e.style.cssText=v;e.setAttribute("style",v)}};TinyMCE_Engine.prototype.switchClass=function(ei,c){var e;if(tinyMCE.switchClassCache[ei])e=tinyMCE.switchClassCache[ei];else e=tinyMCE.switchClassCache[ei]=document.getElementById(ei);if(e){if(tinyMCE.settings.button_tile_map&&e.className&&e.className.indexOf('mceTiledButton')==0)c='mceTiledButton '+c;e.className=c}};TinyMCE_Engine.prototype.getAbsPosition=function(n,cn){var l=0,t=0;while(n&&n!=cn){l+=n.offsetLeft;t+=n.offsetTop;n=n.offsetParent}return{absLeft:l,absTop:t}};TinyMCE_Engine.prototype.prevNode=function(e,n){var a=n.split(','),i;while((e=e.previousSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.nextNode=function(e,n){var a=n.split(','),i;while((e=e.nextSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.selectElements=function(n,na,f){var i,a=[],nl,x;for(x=0,na=na.split(',');x<na.length;x++)for(i=0,nl=n.getElementsByTagName(na[x]);i<nl.length;i++)(!f||f(nl[i]))&&a.push(nl[i]);return a};TinyMCE_Engine.prototype.selectNodes=function(n,f,a){var i;if(!a)a=new Array();if(f(n))a[a.length]=n;if(n.hasChildNodes()){for(i=0;i<n.childNodes.length;i++)tinyMCE.selectNodes(n.childNodes[i],f,a)}return a};TinyMCE_Engine.prototype.addCSSClass=function(e,c,b){var o=this.removeCSSClass(e,c);return e.className=b?c+(o!=''?(' '+o):''):(o!=''?(o+' '):'')+c};TinyMCE_Engine.prototype.removeCSSClass=function(e,c){c=e.className.replace(new RegExp("(^|\\s+)"+c+"(\\s+|$)"),' ');return e.className=c!=' '?c:''};TinyMCE_Engine.prototype.hasCSSClass=function(n,c){return new RegExp('\\b'+c+'\\b','g').test(n.className)};TinyMCE_Engine.prototype.renameElement=function(e,n,d){var ne,i,ar;d=typeof(d)=="undefined"?tinyMCE.selectedInstance.getDoc():d;if(e){ne=d.createElement(n);ar=e.attributes;for(i=ar.length-1;i>-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue)}ar=e.childNodes;for(i=0;i<ar.length;i++)ne.appendChild(ar[i].cloneNode(true));e.parentNode.replaceChild(ne,e)}};TinyMCE_Engine.prototype.getViewPort=function(w){var d=w.document,m=d.compatMode=='CSS1Compat',b=d.body,de=d.documentElement;return{left:w.pageXOffset||(m?de.scrollLeft:b.scrollLeft),top:w.pageYOffset||(m?de.scrollTop:b.scrollTop),width:w.innerWidth||(m?de.clientWidth:b.clientWidth),height:w.innerHeight||(m?de.clientHeight:b.clientHeight)}};TinyMCE_Engine.prototype.getStyle=function(n,na,d){if(!n)return false;if(tinyMCE.isGecko&&n.ownerDocument.defaultView){try{return n.ownerDocument.defaultView.getComputedStyle(n,null).getPropertyValue(na)}catch(n){return null}}na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase()});if(n.currentStyle)return n.currentStyle[na];return false};TinyMCE_Engine.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break}pos=i;urlParts['host']=url_str.substring(lastPos,pos);urlParts['port']="";lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos)}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos)}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos)}}return urlParts};TinyMCE_Engine.prototype.serializeURL=function(up){var o="";if(up['protocol'])o+=up['protocol']+"://";if(up['host'])o+=up['host'];if(up['port'])o+=":"+up['port'];if(up['path'])o+=up['path'];if(up['query'])o+="?"+up['query'];if(up['anchor'])o+="#"+up['anchor'];return o};TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL=function(base_url,url_to_relative){var baseURL=this.parseURL(base_url);var targetURL=this.parseURL(url_to_relative);var strTok1;var strTok2;var breakPoint=0;var outPath="";var forceSlash=false;if(targetURL.path=="")targetURL.path="/";else forceSlash=true;base_url=baseURL.path.substring(0,baseURL.path.lastIndexOf('/'));strTok1=base_url.split('/');strTok2=targetURL.path.split('/');if(strTok1.length>=strTok2.length){for(var i=0;i<strTok1.length;i++){if(i>=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(strTok1.length<strTok2.length){for(var i=0;i<strTok2.length;i++){if(i>=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i<strTok2.length;i++){if(i!=(breakPoint-1))outPath+="/"+strTok2[i];else outPath+=strTok2[i]}targetURL.protocol=null;targetURL.host=null;targetURL.port=null;targetURL.path=outPath==""&&forceSlash?"/":outPath;var fileName=baseURL.path;var pos;if((pos=fileName.lastIndexOf('/'))!=-1)fileName=fileName.substring(pos+1);if(fileName==targetURL.path&&targetURL.anchor!="")targetURL.path="";if(targetURL.path==""&&!targetURL.anchor)targetURL.path=fileName!=""?fileName:"/";return this.serializeURL(targetURL)};TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL=function(base_url,relative_url){var baseURL=this.parseURL(base_url),baseURLParts,relURLParts;var relURL=this.parseURL(relative_url);if(relative_url==""||relative_url.indexOf('://')!=-1||/^(mailto:|javascript:|#|\/)/.test(relative_url))return relative_url;baseURLParts=baseURL['path'].split('/');relURLParts=relURL['path'].split('/');var newBaseURLParts=new Array();for(var i=baseURLParts.length-1;i>=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i]}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue}if(numBack>0){numBack--;continue}newRelURLParts[newRelURLParts.length]=relURLParts[i]}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL)};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl)}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor']}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1)}return url};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var i,elms,src,href,mhref,msrc;elms=body.getElementsByTagName("img");for(i=0;i<elms.length;i++){src=tinyMCE.getAttrib(elms[i],'src');msrc=tinyMCE.getAttrib(elms[i],'mce_src');if(msrc!="")src=msrc;if(src!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);elms[i].setAttribute("src",src)}}elms=body.getElementsByTagName("a");for(i=0;i<elms.length;i++){href=tinyMCE.getAttrib(elms[i],'href');mhref=tinyMCE.getAttrib(elms[i],'mce_href');if(mhref!="")href=mhref;if(href&&href!=""){href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],href);elms[i].setAttribute("href",href)}}};TinyMCE_Engine.prototype.clearArray=function(a){var n;for(n in a)a[n]=null;return a};TinyMCE_Engine.prototype.explode=function(d,s){var ar=s.split(d),oar=new Array(),i;for(i=0;i<ar.length;i++){if(ar[i]!="")oar[oar.length]=ar[i]}return oar};TinyMCE_Engine.prototype._setEventsEnabled=function(node,state){var evs,x,y,elms,i,event;var events=['onfocus','onblur','onclick','ondblclick','onmousedown','onmouseup','onmouseover','onmousemove','onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];evs=tinyMCE.settings['event_elements'].split(',');for(y=0;y<evs.length;y++){elms=node.getElementsByTagName(evs[y]);for(i=0;i<elms.length;i++){event="";for(x=0;x<events.length;x++){if((event=tinyMCE.getAttrib(elms[i],events[x]))!=''){event=tinyMCE.cleanupEventStr(""+event);if(!state)event="return true;"+event;else event=event.replace(/^return true;/gi,'');elms[i].removeAttribute(events[x]);elms[i].setAttribute(events[x],event)}}}}};TinyMCE_Engine.prototype._eventPatch=function(editor_id){var n,inst,win,e;if(typeof(tinyMCE)=="undefined")return true;try{if(tinyMCE.selectedInstance){win=tinyMCE.selectedInstance.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.select();win=inst.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}}catch(ex){}};TinyMCE_Engine.prototype.findEvent=function(e){var n,inst;if(e)return e;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(tinyMCE.isInstance(inst)&&inst.getWin().event)return inst.getWin().event}return null};TinyMCE_Engine.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true)};TinyMCE_Engine.prototype.addEventHandlers=function(inst){this.setEventHandlers(inst,1)};TinyMCE_Engine.prototype.setEventHandlers=function(inst,s){var doc=inst.getDoc(),ie,ot,i,f=s?tinyMCE.addEvent:tinyMCE.removeEvent;ie=['keypress','keyup','keydown','click','mouseup','mousedown','controlselect','dblclick'];ot=['keypress','keyup','keydown','click','mouseup','mousedown','focus','blur','dragdrop'];inst.switchSettings();if(tinyMCE.isIE){for(i=0;i<ie.length;i++)f(doc,ie[i],TinyMCE_Engine.prototype._eventPatch)}else{for(i=0;i<ot.length;i++)f(doc,ot[i],tinyMCE.handleEvent);try{doc.designMode="On"}catch(e){}}};TinyMCE_Engine.prototype.onMouseMove=function(){var inst,lh;if(tinyMCE.lastHover){lh=tinyMCE.lastHover;if(lh.className.indexOf('mceMenu')!=-1)tinyMCE._menuButtonEvent('out',lh);else lh.className=lh.className;tinyMCE.lastHover=null}if(!tinyMCE.hasMouseMoved){inst=tinyMCE.selectedInstance;if(inst.isFocused){inst.undoBookmark=inst.selection.getBookmark();tinyMCE.hasMouseMoved=true}}};TinyMCE_Engine.prototype.cancelEvent=function(e){if(!e)return false;if(tinyMCE.isIE){e.returnValue=false;e.cancelBubble=true}else{e.preventDefault();e.stopPropagation&&e.stopPropagation()}return false};TinyMCE_Engine.prototype.addEvent=function(o,n,h){if(n!='unload'){function clean(){var ex;try{tinyMCE.removeEvent(o,n,h);tinyMCE.removeEvent(window,'unload',clean);o=n=h=null}catch(ex){}}tinyMCE.addEvent(window,'unload',clean)}if(o.attachEvent)o.attachEvent("on"+n,h);else o.addEventListener(n,h,false)};TinyMCE_Engine.prototype.removeEvent=function(o,n,h){if(o.detachEvent)o.detachEvent("on"+n,h);else o.removeEventListener(n,h,false)};TinyMCE_Engine.prototype.addSelectAccessibility=function(e,s,w){if(!s._isAccessible){s.onkeydown=tinyMCE.accessibleEventHandler;s.onblur=tinyMCE.accessibleEventHandler;s._isAccessible=true;s._win=w}return false};TinyMCE_Engine.prototype.accessibleEventHandler=function(e){var win=this._win;e=tinyMCE.isIE?win.event:e;var elm=tinyMCE.isIE?e.srcElement:e.target;if(e.type=="blur"){if(elm.oldonchange){elm.onchange=elm.oldonchange;elm.oldonchange=null}return true}if(elm.nodeName=="SELECT"&&!elm.oldonchange){elm.oldonchange=elm.onchange;elm.onchange=null}if(e.keyCode==13||e.keyCode==32){elm.onchange=elm.oldonchange;elm.onchange();elm.oldonchange=null;tinyMCE.cancelEvent(e);return false}return true};TinyMCE_Engine.prototype._resetIframeHeight=function(){var ife;if(tinyMCE.isRealIE){ife=tinyMCE.selectedInstance.iframeElement;if(ife._oldHeight){ife.style.height=ife._oldHeight;ife.height=ife._oldHeight}}};function TinyMCE_Selection(inst){this.instance=inst};TinyMCE_Selection.prototype={getSelectedHTML:function(){var inst=this.instance;var e,r=this.getRng(),h;if(!r)return null;e=document.createElement("body");if(r.cloneContents)e.appendChild(r.cloneContents());else if(typeof(r.item)!='undefined'||typeof(r.htmlText)!='undefined')e.innerHTML=r.item?r.item(0).outerHTML:r.htmlText;else e.innerHTML=r.toString();h=tinyMCE._cleanupHTML(inst,inst.contentDocument,inst.settings,e,e,false,true,false);return h},getSelectedText:function(){var inst=this.instance;var d,r,s,t;if(tinyMCE.isIE){d=inst.getDoc();if(d.selection.type=="Text"){r=d.selection.createRange();t=r.text}else t=''}else{s=this.getSel();if(s&&s.toString)t=s.toString();else t=''}return t},getBookmark:function(simple){var inst=this.instance;var rng=this.getRng();var doc=inst.getDoc(),b=inst.getBody();var sp,le,s,e,nl,i,si,ei,w;var trng,sx,sy,xx=-999999999,vp=inst.getViewPort();sx=vp.left;sy=vp.top;if(tinyMCE.isSafari||tinyMCE.isOpera||simple)return{rng:rng,scrollX:sx,scrollY:sy};if(tinyMCE.isIE){if(rng.item){e=rng.item(0);nl=b.getElementsByTagName(e.nodeName);for(i=0;i<nl.length;i++){if(e==nl[i]){sp=i;break}}return{tag:e.nodeName,index:sp,scrollX:sx,scrollY:sy}}else{trng=doc.body.createTextRange();trng.moveToElementText(inst.getBody());trng.collapse(true);bp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(true);sp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(false);le=Math.abs(trng.move('character',xx))-sp;return{start:sp-bp,length:le,scrollX:sx,scrollY:sy}}}if(tinyMCE.isGecko){s=this.getSel();e=this.getFocusElement();if(!s)return null;if(e&&e.nodeName=='IMG'){return{start:-1,end:-1,index:sp,scrollX:sx,scrollY:sy}}if(s.anchorNode==s.focusNode&&s.anchorOffset==s.focusOffset){e=this._getPosText(b,s.anchorNode,s.focusNode);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+s.anchorOffset,end:e.end+s.focusOffset,scrollX:sx,scrollY:sy}}else{e=this._getPosText(b,rng.startContainer,rng.endContainer);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+rng.startOffset,end:e.end+rng.endOffset,scrollX:sx,scrollY:sy}}}return null},moveToBookmark:function(bookmark){var inst=this.instance;var rng,nl,i,ex,b=inst.getBody(),sd;var doc=inst.getDoc();var win=inst.getWin();var sel=this.getSel();if(!bookmark)return false;if(tinyMCE.isSafari){sel.setBaseAndExtent(bookmark.rng.startContainer,bookmark.rng.startOffset,bookmark.rng.endContainer,bookmark.rng.endOffset);return true}if(tinyMCE.isRealIE){if(bookmark.rng){try{bookmark.rng.select()}catch(ex){}return true}win.focus();if(bookmark.tag){rng=b.createControlRange();nl=b.getElementsByTagName(bookmark.tag);if(nl.length>bookmark.index){try{rng.addElement(nl[bookmark.index])}catch(ex){}}}else{try{if(bookmark.start<0)return true;rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length)}catch(ex){return true}}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}if(tinyMCE.isGecko||tinyMCE.isOpera){if(!sel)return false;if(bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng)}if(bookmark.start!=-1&&bookmark.end!=-1){try{sd=this._getTextPos(b,bookmark.start,bookmark.end);rng=doc.createRange();rng.setStart(sd.startNode,sd.startOffset);rng.setEnd(sd.endNode,sd.endOffset);sel.removeAllRanges();sel.addRange(rng);win.focus()}catch(ex){}}win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}return false},_getPosText:function(r,sn,en){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){if(n==sn)d.start=p;if(n==en){d.end=p;return d}p+=n.nodeValue?n.nodeValue.length:0}return null},_getTextPos:function(r,sp,ep){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){p+=n.nodeValue?n.nodeValue.length:0;if(p>=sp&&!d.startNode){d.startNode=n;d.startOffset=sp-(p-n.nodeValue.length)}if(p>=ep){d.endNode=n;d.endOffset=ep-(p-n.nodeValue.length);return d}}return null},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(inst.settings.auto_resize)inst.resizeToContent();if(tinyMCE.isRealIE){rng=inst.getDoc().body.createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select()}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd()}this.scrollToNode(node);return}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node)}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length)}else rng.collapse(to_start)}sel.removeAllRanges();sel.addRange(rng)}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node},scrollToNode:function(node){var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;if(pos.absLeft<vp.left||pos.absLeft>vp.left+vp.width||pos.absTop<vp.top||pos.absTop>vp.top+(vp.height-25))w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);if(inst.settings.auto_resize){cwin=inst.getContainerWin();cvp=tinyMCE.getViewPort(cwin);p=this.getAbsPosition(node);if(p.absLeft<cvp.left||p.absLeft>cvp.left+cvp.width||p.absTop<cvp.top||p.absTop>cvp.top+cvp.height)cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25)}},getAbsPosition:function(n){var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);return{absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop}},getSel:function(){var inst=this.instance;if(tinyMCE.isRealIE)return inst.getDoc().selection;return inst.contentWindow.getSelection()},getRng:function(){var s=this.getSel();if(s==null)return null;if(tinyMCE.isRealIE)return s.createRange();if(tinyMCE.isSafari&&!s.getRangeAt)return''+window.getSelection();if(s.rangeCount>0)return s.getRangeAt(0);return null},isCollapsed:function(){var r=this.getRng();if(r.item)return false;return r.boundingWidth==0||this.getSel().isCollapsed},collapse:function(b){var r=this.getRng(),s=this.getSel();if(r.select){r.collapse(b);r.select()}else{if(b)s.collapseToStart();else s.collapseToEnd()}},getFocusElement:function(){var inst=this.instance,doc,rng,sel,elm;if(tinyMCE.isRealIE){doc=inst.getDoc();rng=doc.selection.createRange();elm=rng.item?rng.item(0):rng.parentElement()}else{if(!tinyMCE.isSafari&&inst.isHidden())return inst.getBody();sel=this.getSel();rng=this.getRng();if(!sel||!rng)return null;elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset]}}}elm=tinyMCE.getParentElement(elm);}return elm}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true};TinyMCE_UndoRedo.prototype={add:function(l){var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;if(l){this.undoLevels[this.undoLevels.length]=l;return true}if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;if(tinyMCE.typingUndoIndex!=-1)tinyMCE.undoIndex=tinyMCE.typingUndoIndex}newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(i=0;i<this.undoLevels.length-1;i++)this.undoLevels[i]=this.undoLevels[i+1];this.undoLevels.length--;this.undoIndex--;}b=inst.undoBookmark;if(!b)b=inst.selection.getBookmark();this.undoIndex++;this.undoLevels[this.undoIndex]={content:newHTML,bookmark:b};ul=tinyMCE.undoLevels;for(i=tinyMCE.undoIndex+1;i<ul.length;i++){ur=ul[i].undoRedo;if(ur.undoIndex==ur.undoLevels.length-1)ur.undoIndex--;ur.undoLevels.length--}tinyMCE.undoLevels[tinyMCE.undoIndex++]=inst;tinyMCE.undoLevels.length=tinyMCE.undoIndex;this.undoLevels.length=this.undoIndex+1;return true}return false},undo:function(){var inst=this.instance;if(this.undoIndex>0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}tinyMCE.triggerNodeChange()}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);var rootElm=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;var rngBefore,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;var paraBefore,paraAfter,startChop,endChop,contents;function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()==""}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i<nodes.length;i++){if(!isEmptyHTML(nodes[i].nodeValue))return false}return true}rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;startNode=direct?sel.anchorNode:sel.focusNode;startOffset=direct?sel.anchorOffset:sel.focusOffset;endNode=direct?sel.focusNode:sel.anchorNode;endOffset=direct?sel.focusOffset:sel.anchorOffset;startNode=startNode.nodeName=="BODY"?startNode.firstChild:startNode;endNode=endNode.nodeName=="BODY"?endNode.firstChild:endNode;startBlock=inst.getParentBlockElement(startNode);endBlock=inst.getParentBlockElement(endNode);if(startBlock&&new RegExp('absolute|relative|static','gi').test(startBlock.style.position))startBlock=null;if(endBlock&&new RegExp('absolute|relative|static','gi').test(endBlock.style.position))endBlock=null;if(startBlock!=null){blockName=startBlock.nodeName;if(blockName=="TD"||blockName=="TABLE"||(blockName=="DIV"&&new RegExp('left|right','gi').test(startBlock.style.cssFloat)))blockName="P"}if(tinyMCE.getParentElement(startBlock,"OL,UL",null,body)!=null)return false;if((startBlock!=null&&startBlock.nodeName=="TABLE")||(endBlock!=null&&endBlock.nodeName=="TABLE"))startBlock=endBlock=null;paraBefore=(startBlock!=null&&startBlock.nodeName==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);paraAfter=(endBlock!=null&&endBlock.nodeName==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);if(/^(H[1-6])$/.test(blockName))paraAfter=doc.createElement("p");startChop=startNode;endChop=endNode;node=startChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;startChop=node}while((node=node.previousSibling?node.previousSibling:node.parentNode));node=endChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;endChop=node}while((node=node.nextSibling?node.nextSibling:node.parentNode));if(startChop.nodeName=="TD")startChop=startChop.firstChild;if(endChop.nodeName=="TD")endChop=endChop.lastChild;if(startBlock==null){rng.deleteContents();if(!tinyMCE.isSafari)sel.removeAllRanges();if(startChop!=rootElm&&endChop!=rootElm){rngBefore=rng.cloneRange();if(startChop==body)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);paraBefore.appendChild(rngBefore.cloneContents());if(endChop.parentNode.nodeName==blockName)endChop=endChop.parentNode;rng.setEndAfter(endChop);if(endChop.nodeName!="#text"&&endChop.nodeName!="BODY")rngBefore.setEndAfter(endChop);contents=rng.cloneContents();if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName=="BODY"))paraAfter.innerHTML=contents.firstChild.innerHTML;else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng.deleteContents();rngAfter.deleteContents();rngBefore.deleteContents();if(tinyMCE.isOpera){paraBefore.normalize();rngBefore.insertNode(paraBefore);paraAfter.normalize();rngBefore.insertNode(paraAfter)}else{paraAfter.normalize();rngBefore.insertNode(paraAfter);paraBefore.normalize();rngBefore.insertNode(paraBefore)}}else{body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";paraAfter=body.childNodes[1]}inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode)}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset)}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();if(tinyMCE.isOpera){rng.insertNode(paraBefore);rng.insertNode(paraAfter)}else{rng.insertNode(paraAfter);rng.insertNode(paraBefore)}paraAfter.normalize();paraBefore.normalize();inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){nv=sn.nodeValue;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling)}if(inst.settings.auto_resize)inst.resizeToContent();return s}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/ 2) - (ew /2);y=rep.absTop+(h/ 2) - (eh /2);break}this.moveTo(x,y)},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y)},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker()},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h)},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker()},show:function(){var el=this.getElement();if(el){el.style.display='block';this.updateBlocker()}},hide:function(){var el=this.getElement();if(el){el.style.display='none';this.updateBlocker()}},isVisible:function(){return this.getElement().style.display=='block'},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element},setBlockMode:function(s){this.blockMode=s},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display}else b.style.display='none'}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.getElementById(this.id+"_blocker");if(!b){b=d.createElement("iframe");b.setAttribute('id',this.id+"_blocker");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b)}this.blockerElement=b}return this.blockerElement},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent}return p},create:function(n,c,p,h){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;if(h)e.innerHTML=h;p.appendChild(e);return this.element=e},exists:function(){return this.doc.getElementById(this.id)!=null},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s)},remove:function(){var e=this.getElement(),b=this.getBlocker();if(e)e.parentNode.removeChild(e);if(b)b.parentNode.removeChild(b)}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class)},clear:function(){this.items=new Array()},addTitle:function(t){this.add({type:'title',text:t})},addDisabled:function(t){this.add({type:'disabled',text:t})},addSeparator:function(){this.add({type:'separator'})},addItem:function(t,js){this.add({text:t,js:js})},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='<span class="mceMenuLine"></span>';h+='<table border="0" cellpadding="0" cellspacing="0">';for(i=0;i<m.length;i++){t=tinyMCE.xmlEncode(m[i].text);c=m[i].class_name?' class="'+m[i].class_name+'"':'';switch(m[i].type){case'separator':h+='<tr class="'+s.separator_class+'"><td>';break;case'title':h+='<tr class="'+s.title_class+'"><td><span'+c+'>'+t+'</span>';break;case'disabled':h+='<tr class="'+s.disabled_class+'"><td><span'+c+'>'+t+'</span>';break;default:h+='<tr><td><a href="'+tinyMCE.xmlEncode(m[i].js)+'" onmousedown="'+tinyMCE.xmlEncode(m[i].js)+';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span'+c+'>'+t+'</span></a>'}h+='</td></tr>'}h+='</table>';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker()},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this}});if(!Function.prototype.call){Function.prototype.call=function(){var a=arguments,s=a[0],i,as='',r,o;for(i=1;i<a.length;i++)as+=(i>1?',':'')+'a['+i+']';o=s._fu;s._fu=this;r=eval('s._fu('+as+')');s._fu=o;return r}};TinyMCE_Engine.prototype.debug=function(){var m="",a,i,l=tinyMCE.log.length;for(i=0,a=this.debug.arguments;i<a.length;i++){m+=a[i];if(i<a.length-1)m+=', '}if(l<1000)tinyMCE.log[l]="[debug] "+m};
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,288 @@
+// Some global instances, this will be filled later
+var tinyMCE = null, tinyMCELang = null;
+
+function TinyMCE_Popup() {
+};
+
+TinyMCE_Popup.prototype = {
+	findWin : function(w) {
+		var c;
+
+		// Check parents
+		c = w;
+		while (c && (c = c.parent) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Check openers
+		c = w;
+		while (c && (c = c.opener) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Try top
+		if (typeof(top.tinyMCE) != "undefined")
+			return top;
+
+		return null;
+	},
+
+	init : function() {
+		var win = window.opener ? window.opener : window.dialogArguments, c;
+		var inst;
+
+		if (!win)
+			win = this.findWin(window);
+
+		if (!win) {
+			alert("tinyMCE object reference not found from popup.");
+			return;
+		}
+
+		window.opener = win;
+		this.windowOpener = win;
+		this.onLoadEval = "";
+
+		// Setup parent references
+		tinyMCE = win.tinyMCE;
+		tinyMCELang = win.tinyMCELang;
+
+		inst = tinyMCE.selectedInstance;
+		this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+		this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
+
+		if (this.isWindow)
+			window.focus();
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+
+		// Setup dir
+		if (tinyMCELang['lang_dir'])
+			document.dir = tinyMCELang['lang_dir'];
+
+		// Setup title
+		var re = new RegExp('{|\\\$|}', 'g');
+		var title = document.title.replace(re, "");
+		if (typeof tinyMCELang[title] != "undefined") {
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang[title];
+			document.title = divElm.innerHTML;
+
+			if (tinyMCE.setWindowTitle != null)
+				tinyMCE.setWindowTitle(window, divElm.innerHTML);
+		}
+
+		// Output Popup CSS class
+		document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+		if (tinyMCE.getParam("popups_css_add")) {
+			c = tinyMCE.getParam("popups_css_add");
+
+			// Is relative
+			if (c.indexOf('://') == -1 && c.charAt(0) != '/')
+				c = tinyMCE.documentBasePath + "/" + c;
+
+			document.write('<link href="' + c + '" rel="stylesheet" type="text/css">');
+		}
+
+		tinyMCE.addEvent(window, "load", this.onLoad);
+	},
+
+	onLoad : function() {
+		var dir, i, elms, body = document.body;
+
+		if (tinyMCE.getWindowArg('mce_replacevariables', true))
+			body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+		dir = tinyMCE.selectedInstance.settings['directionality'];
+		if (dir == "rtl" && document.forms && document.forms.length > 0) {
+			elms = document.forms[0].elements;
+			for (i=0; i<elms.length; i++) {
+				if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+					elms[i].dir = dir;
+			}
+		}
+
+		if (body.style.display == 'none')
+			body.style.display = 'block';
+
+		// Execute real onload (Opera fix)
+		if (tinyMCEPopup.onLoadEval != "")
+			eval(tinyMCEPopup.onLoadEval);
+	},
+
+	executeOnLoad : function(str) {
+		if (tinyMCE.isOpera)
+			this.onLoadEval = str;
+		else
+			eval(str);
+	},
+
+	resizeToInnerSize : function() {
+		// Netscape 7.1 workaround
+		if (this.isWindow && tinyMCE.isNS71) {
+			window.resizeBy(0, 10);
+			return;
+		}
+
+		if (this.isWindow) {
+			var doc = document;
+			var body = doc.body;
+			var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+			if (body.style.display == 'none')
+				body.style.display = 'block';
+
+			// Remove margin
+			oldMargin = body.style.margin;
+			body.style.margin = '0';
+
+			// Create wrapper
+			wrapper = doc.createElement("div");
+			wrapper.id = 'mcBodyWrapper';
+			wrapper.style.display = 'none';
+			wrapper.style.margin = '0';
+
+			// Wrap body elements
+			nodes = doc.body.childNodes;
+			for (var i=nodes.length-1; i>=0; i--) {
+				if (wrapper.hasChildNodes())
+					wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+				else
+					wrapper.appendChild(nodes[i].cloneNode(true));
+
+				nodes[i].parentNode.removeChild(nodes[i]);
+			}
+
+			// Add wrapper
+			doc.body.appendChild(wrapper);
+
+			// Create iframe
+			iframe = document.createElement("iframe");
+			iframe.id = "mcWinIframe";
+			iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
+			iframe.width = "100%";
+			iframe.height = "100%";
+			iframe.style.margin = '0';
+
+			// Add iframe
+			doc.body.appendChild(iframe);
+
+			// Measure iframe
+			iframe = document.getElementById('mcWinIframe');
+			dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+			dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+
+			// Resize window
+			// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+			window.resizeBy(dx, dy);
+
+			// Hide iframe and show wrapper
+			body.style.margin = oldMargin;
+			iframe.style.display = 'none';
+			wrapper.style.display = 'block';
+		}
+	},
+
+	resizeToContent : function() {
+		var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+		var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+
+		if (isOpera)
+			return;
+
+		if (isMSIE) {
+			try { window.resizeTo(10, 10); } catch (e) {}
+
+			var elm = document.body;
+			var width = elm.offsetWidth;
+			var height = elm.offsetHeight;
+			var dx = (elm.scrollWidth - width) + 4;
+			var dy = elm.scrollHeight - height;
+
+			try { window.resizeBy(dx, dy); } catch (e) {}
+		} else {
+			window.scrollBy(1000, 1000);
+			if (window.scrollX > 0 || window.scrollY > 0) {
+				window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+				window.sizeToContent();
+				window.scrollTo(0, 0);
+				var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+				var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+				window.moveTo(x, y);
+			}
+		}
+	},
+
+	getWindowArg : function(name, default_value) {
+		return tinyMCE.getWindowArg(name, default_value);
+	},
+
+	restoreSelection : function() {
+		if (this.storeSelection) {
+			var inst = tinyMCE.selectedInstance;
+
+			inst.getWin().focus();
+
+			if (inst.selectionBookmark)
+				inst.selection.moveToBookmark(inst.selectionBookmark);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		this.restoreSelection();
+		inst.execCommand(command, user_interface, value);
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+	},
+
+	close : function() {
+		tinyMCE.closeWindow(window);
+	},
+
+	pickColor : function(e, element_id) {
+		tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+			element_id : element_id,
+			document : document,
+			window : window,
+			store_selection : false
+		});
+	},
+
+	openBrowser : function(element_id, type, option) {
+		var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+		var url = document.getElementById(element_id).value;
+
+		tinyMCE.setWindowArg("window", window);
+		tinyMCE.setWindowArg("document", document);
+
+		// Call to external callback
+		if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+			alert("Callback function: " + cb + " could not be found.");
+		else
+			eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+	},
+
+	importClass : function(c) {
+		window[c] = function() {};
+
+		for (var n in window.opener[c].prototype)
+			window[c].prototype[n] = window.opener[c].prototype[n];
+
+		window[c].constructor = window.opener[c].constructor;
+	}
+
+	};
+
+// Setup global instance
+var tinyMCEPopup = new TinyMCE_Popup();
+
+tinyMCEPopup.init();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7492 @@
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */
+
+function TinyMCE_Engine() {
+	var ua;
+
+	this.majorVersion = "2";
+	this.minorVersion = "1.0";
+	this.releaseDate = "2007-02-13";
+
+	this.instances = new Array();
+	this.switchClassCache = new Array();
+	this.windowArgs = new Array();
+	this.loadedFiles = new Array();
+	this.pendingFiles = new Array();
+	this.loadingIndex = 0;
+	this.configs = new Array();
+	this.currentConfig = 0;
+	this.eventHandlers = new Array();
+	this.log = new Array();
+	this.undoLevels = [];
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+
+	// Browser check
+	ua = navigator.userAgent;
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
+	this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
+	this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1);
+	this.isGecko = ua.indexOf('Gecko') != -1;
+	this.isSafari = ua.indexOf('Safari') != -1;
+	this.isOpera = ua.indexOf('Opera') != -1;
+	this.isMac = ua.indexOf('Mac') != -1;
+	this.isNS7 = ua.indexOf('Netscape/7') != -1;
+	this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
+	this.dialogCounter = 0;
+	this.plugins = new Array();
+	this.themes = new Array();
+	this.menus = new Array();
+	this.loadedPlugins = new Array();
+	this.buttonMap = new Array();
+	this.isLoaded = false;
+
+	// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those
+	if (this.isOpera) {
+		this.isMSIE = true;
+		this.isGecko = false;
+		this.isSafari =  false;
+	}
+
+	this.isIE = this.isMSIE;
+	this.isRealIE = this.isMSIE && !this.isOpera;
+
+	// TinyMCE editor id instance counter
+	this.idCounter = 0;
+};
+
+TinyMCE_Engine.prototype = {
+	init : function(settings) {
+		var theme, nl, baseHREF = "", i;
+
+		// IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. We can't support old browsers forever, sorry.
+		if (this.isMSIE5_0)
+			return;
+
+		this.settings = settings;
+
+		// Check if valid browser has execcommand support
+		if (typeof(document.execCommand) == 'undefined')
+			return;
+
+		// Get script base path
+		if (!tinyMCE.baseURL) {
+			var elements = document.getElementsByTagName('script');
+
+			// If base element found, add that infront of baseURL
+			nl = document.getElementsByTagName('base');
+			for (i=0; i<nl.length; i++) {
+				if (nl[i].href)
+					baseHREF = nl[i].href;
+			}
+
+			for (var i=0; i<elements.length; i++) {
+				if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_dev.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip") != -1)) {
+					var src = elements[i].src;
+
+					tinyMCE.srcMode = (src.indexOf('_src') != -1 || src.indexOf('_dev') != -1) ? '_src' : '';
+					tinyMCE.gzipMode = src.indexOf('_gzip') != -1;
+					src = src.substring(0, src.lastIndexOf('/'));
+
+					if (settings.exec_mode == "src" || settings.exec_mode == "normal")
+						tinyMCE.srcMode = settings.exec_mode == "src" ? '_src' : '';
+
+					// Force it absolute if page has a base href
+					if (baseHREF != "" && src.indexOf('://') == -1)
+						tinyMCE.baseURL = baseHREF + src;
+					else
+						tinyMCE.baseURL = src;
+
+					break;
+				}
+			}
+		}
+
+		// Get document base path
+		this.documentBasePath = document.location.href;
+		if (this.documentBasePath.indexOf('?') != -1)
+			this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
+		this.documentURL = this.documentBasePath;
+		this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
+
+		// If not HTTP absolute
+		if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
+			// If site absolute
+			tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
+		}
+
+		// Set default values on settings
+		this._def("mode", "none");
+		this._def("theme", "advanced");
+		this._def("plugins", "", true);
+		this._def("language", "en");
+		this._def("docs_language", this.settings['language']);
+		this._def("elements", "");
+		this._def("textarea_trigger", "mce_editable");
+		this._def("editor_selector", "");
+		this._def("editor_deselector", "mceNoEditor");
+		this._def("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");
+		this._def("extended_valid_elements", "");
+		this._def("invalid_elements", "");
+		this._def("encoding", "");
+		this._def("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE_Engine.prototype.convertURL"));
+		this._def("save_callback", "");
+		this._def("debug", false);
+		this._def("force_br_newlines", false);
+		this._def("force_p_newlines", true);
+		this._def("add_form_submit_trigger", true);
+		this._def("relative_urls", true);
+		this._def("remove_script_host", true);
+		this._def("focus_alert", true);
+		this._def("document_base_url", this.documentURL);
+		this._def("visual", true);
+		this._def("visual_table_class", "mceVisualAid");
+		this._def("setupcontent_callback", "");
+		this._def("fix_content_duplication", true);
+		this._def("custom_undo_redo", true);
+		this._def("custom_undo_redo_levels", -1);
+		this._def("custom_undo_redo_keyboard_shortcuts", true);
+		this._def("custom_undo_redo_restore_selection", true);
+		this._def("custom_undo_redo_global", false);
+		this._def("verify_html", true);
+		this._def("apply_source_formatting", false);
+		this._def("directionality", "ltr");
+		this._def("cleanup_on_startup", false);
+		this._def("inline_styles", false);
+		this._def("convert_newlines_to_brs", false);
+		this._def("auto_reset_designmode", true);
+		this._def("entities", "39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", true);
+		this._def("entity_encoding", "named");
+		this._def("cleanup_callback", "");
+		this._def("add_unload_trigger", true);
+		this._def("ask", false);
+		this._def("nowrap", false);
+		this._def("auto_resize", false);
+		this._def("auto_focus", false);
+		this._def("cleanup", true);
+		this._def("remove_linebreaks", true);
+		this._def("button_tile_map", false);
+		this._def("submit_patch", true);
+		this._def("browsers", "msie,safari,gecko,opera", true);
+		this._def("dialog_type", "window");
+		this._def("accessibility_warnings", true);
+		this._def("accessibility_focus", true);
+		this._def("merge_styles_invalid_parents", "");
+		this._def("force_hex_style_colors", true);
+		this._def("trim_span_elements", true);
+		this._def("convert_fonts_to_spans", false);
+		this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
+		this._def("font_size_classes", '');
+		this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true);
+		this._def("event_elements", 'a,img', true);
+		this._def("convert_urls", true);
+		this._def("table_inline_editing", false);
+		this._def("object_resizing", true);
+		this._def("custom_shortcuts", true);
+		this._def("convert_on_click", false);
+		this._def("content_css", '');
+		this._def("fix_list_elements", true);
+		this._def("fix_table_elements", false);
+		this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml');
+		this._def("hidden_tab_class", '');
+		this._def("display_tab_class", '');
+		this._def("gecko_spellcheck", false);
+		this._def("hide_selects_on_submit", true);
+
+		// Force strict loading mode to false on non Gecko browsers
+		if (this.isMSIE && !this.isOpera)
+			this.settings.strict_loading_mode = false;
+
+		// Browser check IE
+		if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
+			return;
+
+		// Browser check Gecko
+		if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
+			return;
+
+		// Browser check Safari
+		if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
+			return;
+
+		// Browser check Opera
+		if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1)
+			return;
+
+		// If not super absolute make it so
+		baseHREF = tinyMCE.settings['document_base_url'];
+		var h = document.location.href;
+		var p = h.indexOf('://');
+		if (p > 0 && document.location.protocol != "file:") {
+			p = h.indexOf('/', p + 3);
+			h = h.substring(0, p);
+
+			if (baseHREF.indexOf('://') == -1)
+				baseHREF = h + baseHREF;
+
+			tinyMCE.settings['document_base_url'] = baseHREF;
+			tinyMCE.settings['document_base_prefix'] = h;
+		}
+
+		// Trim away query part
+		if (baseHREF.indexOf('?') != -1)
+			baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
+
+		this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
+
+		theme = this.settings['theme'];
+		this.inlineStrict = 'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';
+		this.inlineTransitional = 'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';
+		this.blockElms = 'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';
+		this.blockRegExp = new RegExp("^(" + this.blockElms + ")$", "i");
+		this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+		this.uniqueURL = 'javascript:void(091039730);'; // Make unique URL non real URL
+		this.uniqueTag = '<div id="mceTMPElement" style="display: none">TMP</div>';
+		this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup', 'removeInstance');
+
+		// Theme url
+		this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
+
+		if (!tinyMCE.isIE || tinyMCE.isOpera)
+			this.settings['force_br_newlines'] = false;
+
+		if (tinyMCE.getParam("popups_css", false)) {
+			var cssPath = tinyMCE.getParam("popups_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['popups_css'] = cssPath;
+		} else
+			this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
+
+		if (tinyMCE.getParam("editor_css", false)) {
+			var cssPath = tinyMCE.getParam("editor_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['editor_css'] = cssPath;
+		} else {
+			if (this.settings.editor_css != '')
+				this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
+		}
+
+		if (tinyMCE.settings['debug']) {
+			var msg = "Debug: \n";
+
+			msg += "baseURL: " + this.baseURL + "\n";
+			msg += "documentBasePath: " + this.documentBasePath + "\n";
+			msg += "content_css: " + this.settings['content_css'] + "\n";
+			msg += "popups_css: " + this.settings['popups_css'] + "\n";
+			msg += "editor_css: " + this.settings['editor_css'] + "\n";
+
+			alert(msg);
+		}
+
+		// Only do this once
+		if (this.configs.length == 0) {
+			if (typeof(TinyMCECompressed) == "undefined") {
+				tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad);
+
+				if (tinyMCE.isRealIE) {
+					if (document.body)
+						tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+					else
+						tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+				}
+
+				tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
+				tinyMCE._addUnloadEvents();
+			}
+		}
+
+		this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
+		this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js');
+		this.loadCSS(this.settings['editor_css']);
+
+		// Add plugins
+		var p = tinyMCE.getParam('plugins', '', true, ',');
+		if (p.length > 0) {
+			for (var i=0; i<p.length; i++) {
+				if (p[i].charAt(0) != '-')
+					this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
+			}
+		}
+
+		// Setup entities
+		if (tinyMCE.getParam('entity_encoding') == 'named') {
+			settings['cleanup_entities'] = new Array();
+			var entities = tinyMCE.getParam('entities', '', true, ',');
+			for (var i=0; i<entities.length; i+=2)
+				settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
+		}
+
+		// Save away this config
+		settings['index'] = this.configs.length;
+		this.configs[this.configs.length] = settings;
+
+		// Start loading first one in chain
+		this.loadNextScript();
+
+		// Force flicker free CSS backgrounds in IE
+		if (this.isIE && !this.isOpera) {
+			try {
+				document.execCommand('BackgroundImageCache', false, true);
+			} catch (e) {
+			}
+		}
+
+		// Setup XML encoding regexps
+		this.xmlEncodeAposRe = new RegExp('[<>&"\']', 'g');
+		this.xmlEncodeRe = new RegExp('[<>&"]', 'g');
+//		this.xmlEncodeEnts = {'&':'&amp;','"':'&quot;',"'":'&#39;','<':'&lt;','>':'&gt;'};
+	},
+
+	_addUnloadEvents : function() {
+		if (tinyMCE.isIE) {
+			if (tinyMCE.settings['add_unload_trigger']) {
+				tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler);
+				tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler);
+			}
+		} else {
+			if (tinyMCE.settings['add_unload_trigger'])
+				tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
+		}
+	},
+
+	_def : function(key, def_val, t) {
+		var v = tinyMCE.getParam(key, def_val);
+
+		v = t ? v.replace(/\s+/g, "") : v;
+
+		this.settings[key] = v;
+	},
+
+	hasPlugin : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	addPlugin : function(n, p) {
+		var op = this.plugins[n];
+
+		// Use the previous plugin object base URL used when loading external plugins
+		p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
+		this.plugins[n] = p;
+
+		this.loadNextScript();
+	},
+
+	setPluginBaseURL : function(n, u) {
+		var op = this.plugins[n];
+
+		if (op)
+			op.baseURL = u;
+		else
+			this.plugins[n] = {baseURL : u};
+	},
+
+	loadPlugin : function(n, u) {
+		u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u;
+		u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u;
+		this.plugins[n] = {baseURL : u};
+		this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js");
+	},
+
+	hasTheme : function(n) {
+		return typeof(this.themes[n]) != "undefined" && this.themes[n] != null;
+	},
+
+	addTheme : function(n, t) {
+		this.themes[n] = t;
+
+		this.loadNextScript();
+	},
+
+	addMenu : function(n, m) {
+		this.menus[n] = m;
+	},
+
+	hasMenu : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	loadScript : function(url) {
+		var i;
+
+		for (i=0; i<this.loadedFiles.length; i++) {
+			if (this.loadedFiles[i] == url)
+				return;
+		}
+
+		if (tinyMCE.settings.strict_loading_mode)
+			this.pendingFiles[this.pendingFiles.length] = url;
+		else
+			document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
+
+		this.loadedFiles[this.loadedFiles.length] = url;
+	},
+
+	loadNextScript : function() {
+		var d = document, se;
+
+		if (!tinyMCE.settings.strict_loading_mode)
+			return;
+
+		if (this.loadingIndex < this.pendingFiles.length) {
+			se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script');
+			se.setAttribute('language', 'javascript');
+			se.setAttribute('type', 'text/javascript');
+			se.setAttribute('src', this.pendingFiles[this.loadingIndex++]);
+
+			d.getElementsByTagName("head")[0].appendChild(se);
+		} else
+			this.loadingIndex = -1; // Done with loading
+	},
+
+	loadCSS : function(url) {
+		var ar = url.replace(/\s+/, '').split(',');
+		var lflen = 0, csslen = 0;
+		var skip = false;
+		var x = 0, i = 0, nl, le;
+
+		for (x = 0,csslen = ar.length; x<csslen; x++) {
+			if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {
+				/* Make sure it doesn't exist. */
+				for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {
+					if (this.loadedFiles[i] == ar[x]) {
+						skip = true;
+						break;
+					}
+				}
+
+				if (!skip) {
+					if (tinyMCE.settings.strict_loading_mode) {
+						nl = document.getElementsByTagName("head");
+
+						le = document.createElement('link');
+						le.setAttribute('href', ar[x]);
+						le.setAttribute('rel', 'stylesheet');
+						le.setAttribute('type', 'text/css');
+
+						nl[0].appendChild(le);			
+					} else
+						document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');
+
+					this.loadedFiles[this.loadedFiles.length] = ar[x];
+				}
+			}
+		}
+	},
+
+	importCSS : function(doc, css) {
+		var css_ary = css.replace(/\s+/, '').split(',');
+		var csslen, elm, headArr, x, css_file;
+
+		for (x = 0, csslen = css_ary.length; x<csslen; x++) {
+			css_file = css_ary[x];
+
+			if (css_file != null && css_file != 'null' && css_file.length > 0) {
+				// Is relative, make absolute
+				if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/')
+					css_file = this.documentBasePath + "/" + css_file;
+
+				if (typeof(doc.createStyleSheet) == "undefined") {
+					elm = doc.createElement("link");
+
+					elm.rel = "stylesheet";
+					elm.href = css_file;
+
+					if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0)
+						headArr[0].appendChild(elm);
+				} else
+					doc.createStyleSheet(css_file);
+			}
+		}
+	},
+
+	confirmAdd : function(e, settings) {
+		var elm = tinyMCE.isIE ? event.srcElement : e.target;
+		var elementId = elm.name ? elm.name : elm.id;
+
+		tinyMCE.settings = settings;
+
+		if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])))
+			tinyMCE.addMCEControl(elm, elementId);
+
+		elm.setAttribute('mce_noask', 'true');
+	},
+
+	updateContent : function(form_element_name) {
+		// Find MCE instance linked to given form element and copy it's value
+		var formElement = document.getElementById(form_element_name);
+		for (var n in tinyMCE.instances) {
+			var inst = tinyMCE.instances[n];
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			if (inst.formElement == formElement) {
+				var doc = inst.getDoc();
+		
+				tinyMCE._setHTML(doc, inst.formElement.value);
+
+				if (!tinyMCE.isIE)
+					doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
+			}
+		}
+	},
+
+	addMCEControl : function(replace_element, form_element_name, target_document) {
+		var id = "mce_editor_" + tinyMCE.idCounter++;
+		var inst = new TinyMCE_Control(tinyMCE.settings);
+
+		inst.editorId = id;
+		this.instances[id] = inst;
+
+		inst._onAdd(replace_element, form_element_name, target_document);
+	},
+
+	removeInstance : function(ti) {
+		var t = [], n, i;
+
+		// Remove from instances
+		for (n in tinyMCE.instances) {
+			i = tinyMCE.instances[n];
+
+			if (tinyMCE.isInstance(i) && ti != i)
+					t[n] = i;
+		}
+
+		tinyMCE.instances = t;
+
+		// Remove from global undo/redo
+		n = [];
+		t = tinyMCE.undoLevels;
+
+		for (i=0; i<t.length; i++) {
+			if (t[i] != ti)
+				n.push(t[i]);
+		}
+
+		tinyMCE.undoLevels = n;
+		tinyMCE.undoIndex = n.length;
+
+		// Dispatch remove instance call
+		tinyMCE.dispatchCallback(ti, 'remove_instance_callback', 'removeInstance', ti);
+
+		return ti;
+	},
+
+	removeMCEControl : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), h, re, ot, tn;
+
+		if (inst) {
+			inst.switchSettings();
+
+			editor_id = inst.editorId;
+			h = tinyMCE.getContent(editor_id);
+
+			this.removeInstance(inst);
+
+			tinyMCE.selectedElement = null;
+			tinyMCE.selectedInstance = null;
+
+			// Remove element
+			re = document.getElementById(editor_id + "_parent");
+			ot = inst.oldTargetElement;
+			tn = ot.nodeName.toLowerCase();
+
+			if (tn == "textarea" || tn == "input") {
+				re.parentNode.removeChild(re);
+				ot.style.display = "inline";
+				ot.value = h;
+			} else {
+				ot.innerHTML = h;
+				ot.style.display = 'block';
+				re.parentNode.insertBefore(ot, re);
+				re.parentNode.removeChild(re);
+			}
+		}
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var inst, n;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		// Cleanup and set all form fields
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.triggerSave(skip_cleanup, skip_callback);
+		}
+	},
+
+	resetForm : function(form_index) {
+		var i, inst, n, formObj = document.forms[form_index];
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			for (i=0; i<formObj.elements.length; i++) {
+				if (inst.formTargetElementId == formObj.elements[i].name)
+					inst.getBody().innerHTML = inst.startContent;
+			}
+		}
+	},
+
+	execInstanceCommand : function(editor_id, command, user_interface, value, focus) {
+		var inst = tinyMCE.getInstanceById(editor_id), r;
+
+		if (inst) {
+			r = inst.selection.getRng();
+
+			if (typeof(focus) == "undefined")
+				focus = true;
+
+			// IE bug lost focus on images in absolute divs Bug #1534575
+			if (focus && (!r || !r.item))
+				inst.contentWindow.focus();
+
+			// Reset design mode if lost
+			inst.autoResetDesignMode();
+
+			this.selectedElement = inst.getFocusElement();
+			inst.select();
+			tinyMCE.execCommand(command, user_interface, value);
+
+			// Cancel event so it doesn't call onbeforeonunlaod
+			if (tinyMCE.isIE && window.event != null)
+				tinyMCE.cancelEvent(window.event);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Default input
+		user_interface = user_interface ? user_interface : false;
+		value = value ? value : null;
+
+		if (inst)
+			inst.switchSettings();
+
+		switch (command) {
+			case "Undo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex > 0) {
+						tinyMCE.nextUndoRedoAction = 'Undo';
+						inst = this.undoLevels[--this.undoIndex];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Undo');
+					}
+				} else
+					inst.execCommand('Undo');
+				return true;
+
+			case "Redo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex <= this.undoLevels.length - 1) {
+						tinyMCE.nextUndoRedoAction = 'Redo';
+						inst = this.undoLevels[this.undoIndex++];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Redo');
+					}
+				} else
+					inst.execCommand('Redo');
+
+				return true;
+
+			case 'mceFocus':
+				var inst = tinyMCE.getInstanceById(value);
+				if (inst)
+					inst.getWin().focus();
+			return;
+
+			case "mceAddControl":
+			case "mceAddEditor":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+				return;
+
+			case "mceAddFrameControl":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']);
+				return;
+
+			case "mceRemoveControl":
+			case "mceRemoveEditor":
+				tinyMCE.removeMCEControl(value);
+				return;
+
+			case "mceToggleEditor":
+				var inst = tinyMCE.getInstanceById(value), pe, te;
+
+				if (inst) {
+					pe = document.getElementById(inst.editorId + '_parent');
+					te = inst.oldTargetElement;
+
+					if (typeof(inst.enabled) == 'undefined')
+						inst.enabled = true;
+
+					inst.enabled = !inst.enabled;
+
+					if (!inst.enabled) {
+						pe.style.display = 'none';
+						te.value = inst.getHTML();
+						te.style.display = inst.oldTargetDisplay;
+						tinyMCE.dispatchCallback(inst, 'hide_instance_callback', 'hideInstance', inst);
+					} else {
+						pe.style.display = 'block';
+						te.style.display = 'none';
+						inst.setHTML(te.value);
+						inst.useCSS = false;
+						tinyMCE.dispatchCallback(inst, 'show_instance_callback', 'showInstance', inst);
+					}
+				} else
+					tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+
+				return;
+
+			case "mceResetDesignMode":
+				// Resets the designmode state of the editors in Gecko
+				if (!tinyMCE.isIE) {
+					for (var n in tinyMCE.instances) {
+						if (!tinyMCE.isInstance(tinyMCE.instances[n]))
+							continue;
+
+						try {
+							tinyMCE.instances[n].getDoc().designMode = "on";
+						} catch (e) {
+							// Ignore any errors
+						}
+					}
+				}
+
+				return;
+		}
+
+		if (inst) {
+			inst.execCommand(command, user_interface, value);
+		} else if (tinyMCE.settings['focus_alert'])
+			alert(tinyMCELang['lang_focus_alert']);
+	},
+
+	_createIFrame : function(replace_element, doc, win) {
+		var iframe, id = replace_element.getAttribute("id");
+		var aw, ah;
+
+		if (typeof(doc) == "undefined")
+			doc = document;
+
+		if (typeof(win) == "undefined")
+			win = window;
+
+		iframe = doc.createElement("iframe");
+
+		aw = "" + tinyMCE.settings['area_width'];
+		ah = "" + tinyMCE.settings['area_height'];
+
+		if (aw.indexOf('%') == -1) {
+			aw = parseInt(aw);
+			aw = (isNaN(aw) || aw < 0) ? 300 : aw;
+			aw = aw + "px";
+		}
+
+		if (ah.indexOf('%') == -1) {
+			ah = parseInt(ah);
+			ah = (isNaN(ah) || ah < 0) ? 240 : ah;
+			ah = ah + "px";
+		}
+
+		iframe.setAttribute("id", id);
+		iframe.setAttribute("name", id);
+		iframe.setAttribute("class", "mceEditorIframe");
+		iframe.setAttribute("border", "0");
+		iframe.setAttribute("frameBorder", "0");
+		iframe.setAttribute("marginWidth", "0");
+		iframe.setAttribute("marginHeight", "0");
+		iframe.setAttribute("leftMargin", "0");
+		iframe.setAttribute("topMargin", "0");
+		iframe.setAttribute("width", aw);
+		iframe.setAttribute("height", ah);
+		iframe.setAttribute("allowtransparency", "true");
+		iframe.className = 'mceEditorIframe';
+
+		if (tinyMCE.settings["auto_resize"])
+			iframe.setAttribute("scrolling", "no");
+
+		// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
+		if (tinyMCE.isRealIE)
+			iframe.setAttribute("src", this.settings['default_document']);
+
+		iframe.style.width = aw;
+		iframe.style.height = ah;
+
+		// Ugly hack for Gecko problem in strict mode
+		if (tinyMCE.settings.strict_loading_mode)
+			iframe.style.marginBottom = '-5px';
+
+		// MSIE 5.0 issue
+		if (tinyMCE.isRealIE)
+			replace_element.outerHTML = iframe.outerHTML;
+		else
+			replace_element.parentNode.replaceChild(iframe, replace_element);
+
+		if (tinyMCE.isRealIE)
+			return win.frames[id];
+		else
+			return iframe;
+	},
+
+	setupContent : function(editor_id) {
+		var inst = tinyMCE.instances[editor_id], i;
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName('head').item(0);
+		var content = inst.startContent;
+
+		// HTML values get XML encoded in strict mode
+		if (tinyMCE.settings.strict_loading_mode) {
+			content = content.replace(/&lt;/g, '<');
+			content = content.replace(/&gt;/g, '>');
+			content = content.replace(/&quot;/g, '"');
+			content = content.replace(/&amp;/g, '&');
+		}
+
+		tinyMCE.selectedInstance = inst;
+		inst.switchSettings();
+
+		// Not loaded correctly hit it again, Mozilla bug #997860
+		if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") {
+			// This part will remove the designMode status
+			// Failes first time in Firefox 1.5b2 on Mac
+			try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {}
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
+			return;
+		}
+
+		if (!head) {
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
+			return;
+		}
+
+		// Import theme specific content CSS the user specific
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
+		tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
+		tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst);
+
+		// Setup keyboard shortcuts
+		if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
+			inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
+			inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
+		}
+
+		// BlockFormat shortcuts keys
+		for (i=1; i<=6; i++)
+			inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, '<h' + i + '>');
+
+		inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '<p>');
+		inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '<div>');
+		inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '<address>');
+
+		// Add default shortcuts for gecko
+		if (tinyMCE.isGecko) {
+			inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
+			inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
+			inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
+		}
+
+		// Setup span styles
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			inst.getBody().setAttribute('id', 'mceSpanFonts');
+
+		if (tinyMCE.settings['nowrap'])
+			doc.body.style.whiteSpace = "nowrap";
+
+		doc.body.dir = this.settings['directionality'];
+		doc.editorId = editor_id;
+
+		// Add on document element in Mozilla
+		if (!tinyMCE.isIE)
+			doc.documentElement.editorId = editor_id;
+
+		inst.setBaseHREF(tinyMCE.settings['base_href']);
+
+		// Replace new line characters to BRs
+		if (tinyMCE.settings['convert_newlines_to_brs']) {
+			content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
+		}
+
+		// Open closed anchors
+	//	content = content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		// Call custom cleanup code
+		content = tinyMCE.storeAwayURLs(content);
+		content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
+
+		if (tinyMCE.isIE) {
+			// Ugly!!!
+			window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);
+
+			if (tinyMCE.settings["force_br_newlines"])
+				doc.styleSheets[0].addRule("p", "margin: 0;");
+
+			var body = inst.getBody();
+			body.editorId = editor_id;
+		}
+
+		content = tinyMCE.cleanupHTMLCode(content);
+
+		// Fix for bug #958637
+		if (!tinyMCE.isIE) {
+			var contentElement = inst.getDoc().createElement("body");
+			var doc = inst.getDoc();
+
+			contentElement.innerHTML = content;
+
+			// Remove weridness!
+			if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt'])
+				content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
+
+			if (tinyMCE.settings['cleanup_on_startup'])
+				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement));
+			else
+				tinyMCE.setInnerHTML(inst.getBody(), content);
+
+			tinyMCE.convertAllRelativeURLs(inst.getBody());
+		} else {
+			if (tinyMCE.settings['cleanup_on_startup']) {
+				tinyMCE._setHTML(inst.getDoc(), content);
+
+				// Produces permission denied error in MSIE 5.5
+				eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');
+			} else
+				tinyMCE._setHTML(inst.getDoc(), content);
+		}
+
+		// Fix for bug #957681
+		//inst.getDoc().designMode = inst.getDoc().designMode;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
+		tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc());
+
+		// Re-add design mode on mozilla
+		if (!tinyMCE.isIE)
+			tinyMCE.addEventHandlers(inst);
+
+		// Add blur handler
+		if (tinyMCE.isIE) {
+			tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch);
+			tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953
+
+			// Workaround for drag drop/copy paste base href bug
+			if (!tinyMCE.isOpera) {
+				tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove);
+				tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch);
+				tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch);
+			}
+		}
+
+		// Trigger node change, this call locks buttons for tables and so forth
+		inst.select();
+		tinyMCE.selectedElement = inst.contentWindow.document.body;
+
+		// Call custom DOM cleanup
+		tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
+		tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
+		tinyMCE._setEventsEnabled(inst.getBody(), false);
+		tinyMCE.cleanupAnchors(inst.getDoc());
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+		inst.undoRedo.add({ content : inst.startContent });
+
+		// Cleanup any mess left from storyAwayURLs
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(inst.getBody(), function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+
+		// Remove Gecko spellchecking
+		if (tinyMCE.isGecko)
+			inst.getBody().spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+		// Cleanup any mess left from storyAwayURLs
+		tinyMCE._removeInternal(inst.getBody());
+
+		inst.select();
+		tinyMCE.triggerNodeChange(false, true);
+	},
+
+	storeAwayURLs : function(s) {
+		// Remove all mce_src, mce_href and replace them with new ones
+		// s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+		// s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+
+		if (!s.match(/(mce_src|mce_href)/gi, s)) {
+			s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"');
+			s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"');
+		}
+
+		return s;
+	},
+
+	_removeInternal : function(n) {
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(n, function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+	},
+
+	removeTinyMCEFormElements : function(form_obj) {
+		var i, elementId;
+
+		// Skip form element removal
+		if (!tinyMCE.getParam('hide_selects_on_submit'))
+			return;
+
+		// Check if form is valid
+		if (typeof(form_obj) == "undefined" || form_obj == null)
+			return;
+
+		// If not a form, find the form
+		if (form_obj.nodeName != "FORM") {
+			if (form_obj.form)
+				form_obj = form_obj.form;
+			else
+				form_obj = tinyMCE.getParentElement(form_obj, "form");
+		}
+
+		// Still nothing
+		if (form_obj == null)
+			return;
+
+		// Disable all UI form elements that TinyMCE created
+		for (i=0; i<form_obj.elements.length; i++) {
+			elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+			if (elementId.indexOf('mce_editor_') == 0)
+				form_obj.elements[i].disabled = true;
+		}
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Remove odd, error
+		if (typeof(tinyMCE) == "undefined")
+			return true;
+
+		//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
+
+		if (tinyMCE.executeCallback(tinyMCE.selectedInstance, 'handle_event_callback', 'handleEvent', e))
+			return false;
+
+		switch (e.type) {
+			case "beforedeactivate": // Was added due to bug #1439953
+			case "blur":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.execCommand('mceEndTyping');
+
+				tinyMCE.hideMenus();
+
+				return;
+
+			// Workaround for drag drop/copy paste base href bug
+			case "drop":
+			case "beforepaste":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.setBaseHREF(null);
+
+				// Fixes odd MSIE bug where drag/droping elements in a iframe with height 100% breaks
+				// This logic forces the width/height to be in pixels while the user is drag/dropping
+				if (tinyMCE.isRealIE) {
+					var ife = tinyMCE.selectedInstance.iframeElement;
+
+					/*if (ife.style.width.indexOf('%') != -1) {
+						ife._oldWidth = ife.width.height;
+						ife.style.width = ife.clientWidth;
+					}*/
+
+					if (ife.style.height.indexOf('%') != -1) {
+						ife._oldHeight = ife.style.height;
+						ife.style.height = ife.clientHeight;
+					}
+				}
+
+				window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();", 1);
+				return;
+
+			case "submit":
+				tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+				tinyMCE.triggerSave();
+				tinyMCE.isNotDirty = true;
+				return;
+
+			case "reset":
+				var formObj = tinyMCE.isIE ? window.event.srcElement : e.target;
+
+				for (var i=0; i<document.forms.length; i++) {
+					if (document.forms[i] == formObj)
+						window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
+				}
+
+				return;
+
+			case "keypress":
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId) {
+					tinyMCE.instances[e.target.editorId].select();
+				} else {
+					if (e.target.ownerDocument.editorId)
+						tinyMCE.instances[e.target.ownerDocument.editorId].select();
+				}
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				// Insert P element
+				if ((tinyMCE.isGecko || tinyMCE.isOpera || tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Handle backspace
+				if ((tinyMCE.isGecko && !tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Return key pressed
+				if (tinyMCE.isIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
+					if (e.target.editorId)
+						tinyMCE.instances[e.target.editorId].select();
+
+					if (tinyMCE.selectedInstance) {
+						var sel = tinyMCE.selectedInstance.getDoc().selection;
+						var rng = sel.createRange();
+
+						if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
+							return false;
+
+						// Cancel event
+						e.returnValue = false;
+						e.cancelBubble = true;
+
+						// Insert BR element
+						rng.pasteHTML("<br />");
+						rng.collapse(false);
+						rng.select();
+
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.triggerNodeChange(false);
+						return false;
+					}
+				}
+
+				// Backspace or delete
+				if (e.keyCode == 8 || e.keyCode == 46) {
+					tinyMCE.selectedElement = e.target;
+					tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
+					tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
+					tinyMCE.triggerNodeChange(false);
+				}
+
+				return false;
+			break;
+
+			case "keyup":
+			case "keydown":
+				tinyMCE.hideMenus();
+				tinyMCE.hasMouseMoved = false;
+
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				var inst = tinyMCE.selectedInstance;
+
+				// Handle backspace
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						e.preventDefault();
+						return false;
+					}
+				}
+
+				tinyMCE.selectedElement = null;
+				tinyMCE.selectedNode = null;
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
+				tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
+				tinyMCE.selectedElement = elm;
+
+				// Update visualaids on tabs
+				if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
+					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+
+				// Fix empty elements on return/enter, check where enter occured
+				if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13)
+					tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+				// Fix empty elements on return/enter
+				if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13) {
+					var elm = tinyMCE.enterKeyElement;
+					if (elm) {
+						var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
+						var dre = new RegExp('^H[1-6]$','g'); // Add double on these
+
+						if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
+							if (dre.test(elm.nodeName))
+								elm.innerHTML = "&nbsp;&nbsp;";
+							else
+								elm.innerHTML = "&nbsp;";
+						}
+					}
+				}
+
+				// Check if it's a position key
+				var keys = tinyMCE.posKeyCodes;
+				var posKey = false;
+				for (var i=0; i<keys.length; i++) {
+					if (keys[i] == e.keyCode) {
+						posKey = true;
+						break;
+					}
+				}
+
+				// MSIE custom key handling
+				if (tinyMCE.isIE && tinyMCE.settings['custom_undo_redo']) {
+					var keys = new Array(8,46); // Backspace,Delete
+
+					for (var i=0; i<keys.length; i++) {
+						if (keys[i] == e.keyCode) {
+							if (e.type == "keyup")
+								tinyMCE.triggerNodeChange(false);
+						}
+					}
+				}
+
+				// If Ctrl key
+				if (e.keyCode == 17)
+					return true;
+
+				// Handle Undo/Redo when typing content
+
+				if (tinyMCE.isGecko) {
+					// Start typing (not a position key or ctrl key, but ctrl+x and ctrl+p is ok)
+					if (!posKey && e.type == "keyup" && !e.ctrlKey || (e.ctrlKey && (e.keyCode == 86 || e.keyCode == 88)))
+						tinyMCE.execCommand("mceStartTyping");
+				} else {
+					// IE seems to be working better with this setting
+					if (!posKey && e.type == "keyup")
+						tinyMCE.execCommand("mceStartTyping");
+				}
+
+				// Store undo bookmark
+				if (e.type == "keydown" && (posKey || e.ctrlKey) && inst)
+					inst.undoBookmark = inst.selection.getBookmark();
+
+				// End typing (position key) or some Ctrl event
+				if (e.type == "keyup" && (posKey || e.ctrlKey))
+					tinyMCE.execCommand("mceEndTyping");
+
+				if (posKey && e.type == "keyup")
+					tinyMCE.triggerNodeChange(false);
+
+				if (tinyMCE.isIE && e.ctrlKey)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+			break;
+
+			case "mousedown":
+			case "mouseup":
+			case "click":
+			case "dblclick":
+			case "focus":
+				tinyMCE.hideMenus();
+
+				if (tinyMCE.selectedInstance) {
+					tinyMCE.selectedInstance.switchSettings();
+					tinyMCE.selectedInstance.isFocused = true;
+				}
+
+				// Check instance event trigged on
+				var targetBody = tinyMCE.getParentElement(e.target, "html");
+				for (var instanceName in tinyMCE.instances) {
+					if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
+						continue;
+
+					var inst = tinyMCE.instances[instanceName];
+
+					// Reset design mode if lost (on everything just in case)
+					inst.autoResetDesignMode();
+
+					// Use HTML element since users might click outside of body element
+					if (inst.getBody().parentNode == targetBody) {
+						inst.select();
+						tinyMCE.selectedElement = e.target;
+						tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+						tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
+						break;
+					}
+				}
+
+				// Add first bookmark location
+				if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark && (e.type == "mouseup" || e.type == "dblclick"))
+					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
+
+				// Reset selected node
+				if (e.type != "focus")
+					tinyMCE.selectedNode = null;
+
+				tinyMCE.triggerNodeChange(false);
+				tinyMCE.execCommand("mceEndTyping");
+
+				if (e.type == "mouseup")
+					tinyMCE.execCommand("mceAddUndoLevel");
+
+				// Just in case
+				if (!tinyMCE.selectedInstance && e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				return false;
+			break;
+		}
+	},
+
+	getButtonHTML : function(id, lang, img, cmd, ui, val) {
+		var h = '', m, x, io = '';
+
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Patch for IE7 bug with hover out not restoring correctly
+		if (tinyMCE.isRealIE)
+			io = 'onmouseover="tinyMCE.lastHover = this;"';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = this.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			// Tiled button
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceTiledButton mceButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
+			h += '</a>';
+		} else {
+			// Normal button
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" />';
+			h += '</a>';
+		}
+
+		return h;
+	},
+
+	getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) {
+		var h = '', m, x;
+
+		mcmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + '\');';
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: ' + x + 'px 0" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		} else {
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		}
+
+		return h;
+	},
+
+	_menuButtonEvent : function(e, o) {
+		if (o.className == 'mceMenuButtonFocus')
+			return;
+
+		if (e == 'over')
+			o.className = o.className + ' mceMenuHover';
+		else
+			o.className = o.className.replace(/\s.*$/, '');
+	},
+
+	addButtonMap : function(m) {
+		var i, a = m.replace(/\s+/, '').split(',');
+
+		for (i=0; i<a.length; i++)
+			this.buttonMap[a[i]] = i;
+	},
+
+	submitPatch : function() {
+		tinyMCE.removeTinyMCEFormElements(this);
+		tinyMCE.triggerSave();
+		tinyMCE.isNotDirty = true;
+		this.mceOldSubmit();
+	},
+
+	onLoad : function() {
+		var r;
+
+		// Wait for everything to be loaded first
+		if (tinyMCE.settings.strict_loading_mode && this.loadingIndex != -1) {
+			window.setTimeout('tinyMCE.onLoad();', 1);
+			return;
+		}
+
+		if (tinyMCE.isRealIE && window.event.type == "readystatechange" && document.readyState != "complete")
+			return true;
+
+		if (tinyMCE.isLoaded)
+			return true;
+
+		tinyMCE.isLoaded = true;
+
+		// IE produces JS error if TinyMCE is placed in a frame
+		// It seems to have something to do with the selection not beeing
+		// correctly initialized in IE so this hack solves the problem
+		if (tinyMCE.isRealIE && document.body) {
+			r = document.body.createTextRange();
+			r.collapse(true);
+			r.select();
+		}
+
+		tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');
+
+		for (var c=0; c<tinyMCE.configs.length; c++) {
+			tinyMCE.settings = tinyMCE.configs[c];
+
+			var selector = tinyMCE.getParam("editor_selector");
+			var deselector = tinyMCE.getParam("editor_deselector");
+			var elementRefAr = new Array();
+
+			// Add submit triggers
+			if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
+				for (var i=0; i<document.forms.length; i++) {
+					var form = document.forms[i];
+
+					tinyMCE.addEvent(form, "submit", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.addEvent(form, "reset", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.submitTriggers = true; // Do it only once
+
+					// Patch the form.submit function
+					if (tinyMCE.settings['submit_patch']) {
+						try {
+							form.mceOldSubmit = form.submit;
+							form.submit = TinyMCE_Engine.prototype.submitPatch;
+						} catch (e) {
+							// Do nothing
+						}
+					}
+				}
+			}
+
+			// Add editor instances based on mode
+			var mode = tinyMCE.settings['mode'];
+			switch (mode) {
+				case "exact":
+					var elements = tinyMCE.getParam('elements', '', true, ',');
+
+					for (var i=0; i<elements.length; i++) {
+						var element = tinyMCE._getElementById(elements[i]);
+						var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(element, "class")))
+							continue;
+
+						if (trigger == "false")
+							continue;
+
+						if ((tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) && element) {
+							elementRefAr[elementRefAr.length] = element;
+							continue;
+						}
+
+						if (element)
+							tinyMCE.addMCEControl(element, elements[i]);
+						else if (tinyMCE.settings['debug'])
+							alert("Error: Could not find element by id or name: " + elements[i]);
+					}
+				break;
+
+				case "specific_textareas":
+				case "textareas":
+					var nodeList = document.getElementsByTagName("textarea");
+
+					for (var i=0; i<nodeList.length; i++) {
+						var elm = nodeList.item(i);
+						var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
+
+						if (selector != '' && !new RegExp('\\b' + selector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if (selector != '')
+							trigger = selector != "" ? "true" : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
+							elementRefAr[elementRefAr.length] = elm;
+					}
+				break;
+			}
+
+			for (var i=0; i<elementRefAr.length; i++) {
+				var element = elementRefAr[i];
+				var elementId = element.name ? element.name : element.id;
+
+				if (tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) {
+					// Focus breaks in Mozilla
+					if (tinyMCE.isGecko) {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+
+						if (element.nodeName != "TEXTAREA" && element.nodeName != "INPUT")
+							tinyMCE.addEvent(element, "click", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+						// tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+					} else {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						tinyMCE.addEvent(element, "click", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						// tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+					}
+				} else
+					tinyMCE.addMCEControl(element, elementId);
+			}
+
+			// Handle auto focus
+			if (tinyMCE.settings['auto_focus']) {
+				window.setTimeout(function () {
+					var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
+					inst.selection.selectNode(inst.getBody(), true, true);
+					inst.contentWindow.focus();
+				}, 100);
+			}
+
+			tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
+		}
+	},
+
+	isInstance : function(o) {
+		return o != null && typeof(o) == "object" && o.isTinyMCE_Control;
+	},
+
+	getParam : function(name, default_value, strip_whitespace, split_chr) {
+		var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+		// Fix bool values
+		if (value == "true" || value == "false")
+			return (value == "true");
+
+		if (strip_whitespace)
+			value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
+
+		if (typeof(split_chr) != "undefined" && split_chr != null) {
+			value = value.split(split_chr);
+			var outArray = new Array();
+
+			for (var i=0; i<value.length; i++) {
+				if (value[i] && value[i] != "")
+					outArray[outArray.length] = value[i];
+			}
+
+			value = outArray;
+		}
+
+		return value;
+	},
+
+	getLang : function(name, default_value, parse_entities, va) {
+		var v = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name], n;
+
+		if (parse_entities)
+			v = tinyMCE.entityDecode(v);
+
+		if (va) {
+			for (n in va)
+				v = this.replaceVar(v, n, va[n]);
+		}
+
+		return v;
+	},
+
+	entityDecode : function(s) {
+		var e = document.createElement("div");
+
+		e.innerHTML = s;
+
+		return e.firstChild.nodeValue;
+	},
+
+	addToLang : function(prefix, ar) {
+		for (var key in ar) {
+			if (typeof(ar[key]) == 'function')
+				continue;
+
+			tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
+		}
+
+		this.loadNextScript();
+
+	//	for (var key in ar)
+	//		tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
+	},
+
+	triggerNodeChange : function(focus, setup_content) {
+		var elm, inst, editorId, undoIndex = -1, undoLevels = -1, doc, anySelection = false, st;
+
+		if (tinyMCE.selectedInstance) {
+			inst = tinyMCE.selectedInstance;
+			elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+
+/*			if (elm == inst.lastTriggerEl)
+				return;
+
+			inst.lastTriggerEl = elm;*/
+
+			editorId = inst.editorId;
+			st = inst.selection.getSelectedText();
+
+			if (tinyMCE.settings.auto_resize)
+				inst.resizeToContent();
+
+			if (setup_content && tinyMCE.isGecko && inst.isHidden())
+				elm = inst.getBody();
+
+			inst.switchSettings();
+
+			if (tinyMCE.selectedElement)
+				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (st && st.length > 0);
+
+			if (tinyMCE.settings['custom_undo_redo']) {
+				undoIndex = inst.undoRedo.undoIndex;
+				undoLevels = inst.undoRedo.undoLevels.length;
+			}
+
+			tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
+		}
+
+		if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
+			this.selectedInstance.contentWindow.focus();
+	},
+
+	_customCleanup : function(inst, type, content) {
+		var pl, po, i;
+
+		// Call custom cleanup
+		var customCleanup = tinyMCE.settings['cleanup_callback'];
+		if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
+			content = eval(customCleanup + "(type, content, inst);");
+
+		// Trigger theme cleanup
+		po = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (po && po.cleanup)
+			content = po.cleanup(type, content, inst);
+
+		// Trigger plugin cleanups
+		pl = inst.plugins;
+		for (i=0; i<pl.length; i++) {
+			po = tinyMCE.plugins[pl[i]];
+
+			if (po && po.cleanup)
+				content = po.cleanup(type, content, inst);
+		}
+
+		return content;
+	},
+
+	setContent : function(h) {
+		if (tinyMCE.selectedInstance) {
+			tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
+			tinyMCE.selectedInstance.repaint();
+		}
+	},
+
+	importThemeLanguagePack : function(name) {
+		if (typeof(name) == "undefined")
+			name = tinyMCE.settings['theme'];
+
+		tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
+	},
+
+	importPluginLanguagePack : function(name) {
+		var b = tinyMCE.baseURL + '/plugins/' + name;
+
+		if (this.plugins[name])
+			b = this.plugins[name].baseURL;
+
+		tinyMCE.loadScript(b + '/langs/' + tinyMCE.settings['language'] +  '.js');
+	},
+
+	applyTemplate : function(h, as) {
+		return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}', 'gi'), function(m, s) {
+			if (s.indexOf('lang_') == 0 && tinyMCELang[s])
+				return tinyMCELang[s];
+
+			if (as && as[s])
+				return as[s];
+
+			if (tinyMCE.settings[s])
+				return tinyMCE.settings[s];
+
+			if (m == 'themeurl')
+				return tinyMCE.themeURL;
+
+			return m;
+		});
+	},
+
+	replaceVar : function(h, r, v) {
+		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
+	},
+
+	openWindow : function(template, args) {
+		var html, width, height, x, y, resizable, scrollbars, url;
+
+		args = !args ? {} : args;
+
+		args['mce_template_file'] = template['file'];
+		args['mce_width'] = template['width'];
+		args['mce_height'] = template['height'];
+		tinyMCE.windowArgs = args;
+
+		html = template['html'];
+		if (!(width = parseInt(template['width'])))
+			width = 320;
+
+		if (!(height = parseInt(template['height'])))
+			height = 200;
+
+		// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
+		if (tinyMCE.isIE)
+			height += 40;
+		else
+			height += 20;
+
+		x = parseInt(screen.width / 2.0) - (width / 2.0);
+		y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+		resizable = (args && args['resizable']) ? args['resizable'] : "no";
+		scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+		if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+			url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+		else
+			url = template['file'];
+
+		// Replace all args as variables in URL
+		for (var name in args) {
+			if (typeof(args[name]) == 'function')
+				continue;
+
+			url = tinyMCE.replaceVar(url, name, escape(args[name]));
+		}
+
+		if (html) {
+			html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
+			html = tinyMCE.applyTemplate(html, args);
+
+			var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
+			if (win == null) {
+				alert(tinyMCELang['lang_popup_blocked']);
+				return;
+			}
+
+			win.document.write(html);
+			win.document.close();
+			win.resizeTo(width, height);
+			win.focus();
+		} else {
+			if ((tinyMCE.isRealIE) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
+				height += 10;
+
+				var features = "resizable:" + resizable 
+					+ ";scroll:"
+					+ scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
+					+ width + "px;dialogHeight:" + height + "px;";
+
+				window.showModalDialog(url, window, features);
+			} else {
+				var modal = (resizable == "yes") ? "no" : "yes";
+
+				if (tinyMCE.isGecko && tinyMCE.isMac)
+					modal = "no";
+
+				if (template['close_previous'] != "no")
+					try {tinyMCE.lastWindow.close();} catch (ex) {}
+
+				var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
+				if (win == null) {
+					alert(tinyMCELang['lang_popup_blocked']);
+					return;
+				}
+
+				if (template['close_previous'] != "no")
+					tinyMCE.lastWindow = win;
+
+				eval('try { win.resizeTo(width, height); } catch(e) { }');
+
+				// Make it bigger if statusbar is forced
+				if (tinyMCE.isGecko) {
+					if (win.document.defaultView.statusbar.visible)
+						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+				}
+
+				win.focus();
+			}
+		}
+	},
+
+	closeWindow : function(win) {
+		win.close();
+	},
+
+	getVisualAidClass : function(class_name, state) {
+		var aidClass = tinyMCE.settings['visual_table_class'];
+
+		if (typeof(state) == "undefined")
+			state = tinyMCE.settings['visual'];
+
+		// Split
+		var classNames = new Array();
+		var ar = class_name.split(' ');
+		for (var i=0; i<ar.length; i++) {
+			if (ar[i] == aidClass)
+				ar[i] = "";
+
+			if (ar[i] != "")
+				classNames[classNames.length] = ar[i];
+		}
+
+		if (state)
+			classNames[classNames.length] = aidClass;
+
+		// Glue
+		var className = "";
+		for (var i=0; i<classNames.length; i++) {
+			if (i > 0)
+				className += " ";
+
+			className += classNames[i];
+		}
+
+		return className;
+	},
+
+	handleVisualAid : function(el, deep, state, inst, skip_dispatch) {
+		if (!el)
+			return;
+
+		if (!skip_dispatch)
+			tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst);
+
+		var tableElement = null;
+
+		switch (el.nodeName) {
+			case "TABLE":
+				var oldW = el.style.width;
+				var oldH = el.style.height;
+				var bo = tinyMCE.getAttrib(el, "border");
+
+				bo = bo == "" || bo == "0" ? true : false;
+
+				tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));
+
+				el.style.width = oldW;
+				el.style.height = oldH;
+
+				for (var y=0; y<el.rows.length; y++) {
+					for (var x=0; x<el.rows[y].cells.length; x++) {
+						var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], "class"), state && bo);
+						tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
+					}
+				}
+
+				break;
+
+			case "A":
+				var anchorName = tinyMCE.getAttrib(el, "name");
+
+				if (anchorName != '' && state) {
+					el.title = anchorName;
+					tinyMCE.addCSSClass(el, 'mceItemAnchor');
+				} else if (anchorName != '' && !state)
+					el.className = '';
+
+				break;
+		}
+
+		if (deep && el.hasChildNodes()) {
+			for (var i=0; i<el.childNodes.length; i++)
+				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
+		}
+	},
+
+	/*
+	applyClassesToFonts : function(doc, size) {
+		var f = doc.getElementsByTagName("font");
+		for (var i=0; i<f.length; i++) {
+			var s = tinyMCE.getAttrib(f[i], "size");
+
+			if (s != "")
+				tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
+		}
+
+		if (typeof(size) != "undefined") {
+			var css = "";
+
+			for (var x=0; x<doc.styleSheets.length; x++) {
+				for (var i=0; i<doc.styleSheets[x].rules.length; i++) {
+					if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
+						css = doc.styleSheets[x].rules[i].style.cssText;
+						break;
+					}
+				}
+
+				if (css != "")
+					break;
+			}
+
+			if (doc.styleSheets[0].rules[0].selectorText == "FONT")
+				doc.styleSheets[0].removeRule(0);
+
+			doc.styleSheets[0].addRule("FONT", css, 0);
+		}
+	},
+	*/
+
+	fixGeckoBaseHREFBug : function(m, e, h) {
+		var xsrc, xhref;
+
+		if (tinyMCE.isGecko) {
+			if (m == 1) {
+				h = h.replace(/\ssrc=/gi, " mce_tsrc=");
+				h = h.replace(/\shref=/gi, " mce_thref=");
+
+				return h;
+			} else {
+				// Why bother if there is no src or href broken
+				if (!new RegExp('(src|href)=', 'g').test(h))
+					return h;
+
+				// Restore src and href that gets messed up by Gecko
+				tinyMCE.selectElements(e, 'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK', function (n) {
+					xsrc = tinyMCE.getAttrib(n, "mce_tsrc");
+					xhref = tinyMCE.getAttrib(n, "mce_thref");
+
+					if (xsrc != "") {
+						try {
+							n.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xsrc);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_tsrc");
+					}
+
+					if (xhref != "") {
+						try {
+							n.href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xhref);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_thref");
+					}
+
+					return false;
+				});
+
+				// Restore text/comment nodes
+				tinyMCE.selectNodes(e, function(n) {
+					if (n.nodeType == 3 || n.nodeType == 8) {
+						n.nodeValue = n.nodeValue.replace(/\smce_tsrc=/gi, " src=");
+						n.nodeValue = n.nodeValue.replace(/\smce_thref=/gi, " href=");
+					}
+
+					return false;
+				});
+			}
+		}
+
+		return h;
+	},
+
+	_setHTML : function(doc, html_content) {
+		// Force closed anchors open
+		//html_content = html_content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		html_content = tinyMCE.cleanupHTMLCode(html_content);
+
+		// Try innerHTML if it fails use pasteHTML in MSIE
+		try {
+			tinyMCE.setInnerHTML(doc.body, html_content);
+		} catch (e) {
+			if (this.isMSIE)
+				doc.body.createTextRange().pasteHTML(html_content);
+		}
+
+		// Content duplication bug fix
+		if (tinyMCE.isIE && tinyMCE.settings['fix_content_duplication']) {
+			// Remove P elements in P elements
+			var paras = doc.getElementsByTagName("P");
+			for (var i=0; i<paras.length; i++) {
+				var node = paras[i];
+				while ((node = node.parentNode) != null) {
+					if (node.nodeName == "P")
+						node.outerHTML = node.innerHTML;
+				}
+			}
+
+			// Content duplication bug fix (Seems to be word crap)
+			var html = doc.body.innerHTML;
+/*
+			if (html.indexOf('="mso') != -1) {
+				for (var i=0; i<doc.body.all.length; i++) {
+					var el = doc.body.all[i];
+					el.removeAttribute("className","",0);
+					el.removeAttribute("style","",0);
+				}
+
+				html = doc.body.innerHTML;
+				html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
+				html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
+				html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
+			}*/
+
+			// Always set the htmlText output
+			tinyMCE.setInnerHTML(doc.body, html);
+		}
+
+		tinyMCE.cleanupAnchors(doc);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(doc);
+	},
+
+	getEditorId : function(form_element) {
+		var inst = this.getInstanceById(form_element);
+		if (!inst)
+			return null;
+
+		return inst.editorId;
+	},
+
+	getInstanceById : function(editor_id) {
+		var inst = this.instances[editor_id];
+		if (!inst) {
+			for (var n in tinyMCE.instances) {
+				var instance = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				if (instance.formTargetElementId == editor_id) {
+					inst = instance;
+					break;
+				}
+			}
+		}
+
+		return inst;
+	},
+
+	queryInstanceCommandValue : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandValue(command);
+
+		return false;
+	},
+
+	queryInstanceCommandState : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandState(command);
+
+		return null;
+	},
+
+	setWindowArg : function(n, v) {
+		this.windowArgs[n] = v;
+	},
+
+	getWindowArg : function(n, d) {
+		return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n];
+	},
+
+	getCSSClasses : function(editor_id, doc) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Is cached, use that
+		if (inst && inst.cssClasses.length > 0)
+			return inst.cssClasses;
+
+		if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
+			var instance;
+
+			for (var instanceName in tinyMCE.instances) {
+				instance = tinyMCE.instances[instanceName];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				break;
+			}
+
+			doc = instance.getDoc();
+		}
+
+		if (typeof(doc) == "undefined") {
+			var instance = tinyMCE.getInstanceById(editor_id);
+			doc = instance.getDoc();
+		}
+
+		if (doc) {
+			var styles = doc.styleSheets;
+
+			if (styles && styles.length > 0) {
+				for (var x=0; x<styles.length; x++) {
+					var csses = null;
+
+					// Just ignore any errors
+					eval("try {var csses = tinyMCE.isIE ? doc.styleSheets(" + x + ").rules : styles[" + x + "].cssRules;} catch(e) {}");
+					if (!csses)
+						return new Array();
+
+					for (var i=0; i<csses.length; i++) {
+						var selectorText = csses[i].selectorText;
+
+						// Can be multiple rules per selector
+						if (selectorText) {
+							var rules = selectorText.split(',');
+							for (var c=0; c<rules.length; c++) {
+								var rule = rules[c];
+
+								// Strip spaces between selectors
+								while (rule.indexOf(' ') == 0)
+									rule = rule.substring(1);
+
+								// Invalid rule
+								if (rule.indexOf(' ') != -1 || rule.indexOf(':') != -1 || rule.indexOf('mceItem') != -1)
+									continue;
+
+								if (rule.indexOf(tinyMCE.settings['visual_table_class']) != -1 || rule.indexOf('mceEditable') != -1 || rule.indexOf('mceNonEditable') != -1)
+									continue;
+
+								// Is class rule
+								if (rule.indexOf('.') != -1) {
+									var cssClass = rule.substring(rule.indexOf('.') + 1);
+									var addClass = true;
+
+									for (var p=0; p<inst.cssClasses.length && addClass; p++) {
+										if (inst.cssClasses[p] == cssClass)
+											addClass = false;
+									}
+
+									if (addClass)
+										inst.cssClasses[inst.cssClasses.length] = cssClass;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		return inst.cssClasses;
+	},
+
+	regexpReplace : function(in_str, reg_exp, replace_str, opts) {
+		if (in_str == null)
+			return in_str;
+
+		if (typeof(opts) == "undefined")
+			opts = 'g';
+
+		var re = new RegExp(reg_exp, opts);
+		return in_str.replace(re, replace_str);
+	},
+
+	trim : function(s) {
+		return s.replace(/^\s*|\s*$/g, "");
+	},
+
+	cleanupEventStr : function(s) {
+		s = "" + s;
+		s = s.replace('function anonymous()\n{\n', '');
+		s = s.replace('\n}', '');
+		s = s.replace(/^return true;/gi, ''); // Remove event blocker
+
+		return s;
+	},
+
+	getControlHTML : function(c) {
+		var i, l, n, o, v, rtl = tinyMCE.getLang('lang_dir') == 'rtl';
+
+		l = tinyMCE.plugins;
+		for (n in l) {
+			o = l[n];
+
+			if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+				if (rtl)
+					return '<span dir="rtl">' + tinyMCE.replaceVar(v, "pluginurl", o.baseURL) + '</span>';
+
+				return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
+			}
+		}
+
+		o = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+			if (rtl)
+				return '<span dir="rtl">' + v + '</span>';
+
+			return v;
+		}
+
+		return '';
+	},
+
+	evalFunc : function(f, idx, a, o) {
+		o = !o ? window : o;
+		f = typeof(f) == 'function' ? f : o[f];
+
+		return f.apply(o, Array.prototype.slice.call(a, idx));
+	},
+
+	dispatchCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
+	},
+
+	executeCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
+	},
+
+	execCommandCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
+	},
+
+	callFunc : function(ins, p, n, m, a) {
+		var l, i, on, o, s, v;
+
+		s = m == 2;
+
+		l = tinyMCE.getParam(p, '');
+
+		if (l != '' && (v = tinyMCE.evalFunc(l, 3, a)) == s && m > 0)
+			return true;
+
+		if (ins != null) {
+			for (i=0, l = ins.plugins; i<l.length; i++) {
+				o = tinyMCE.plugins[l[i]];
+
+				if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+					return true;
+			}
+		}
+
+		l = tinyMCE.themes;
+		for (on in l) {
+			o = l[on];
+
+			if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+				return true;
+		}
+
+		return false;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		return s ? ('' + s).replace(!skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe, function (c, b) {
+			switch (c) {
+				case '&':
+					return '&amp;';
+
+				case '"':
+					return '&quot;';
+
+				case '\'':
+					return '&#39;'; // &apos; is not working in MSIE
+
+				case '<':
+					return '&lt;';
+
+				case '>':
+					return '&gt;';
+			}
+
+			return c;
+		}) : s;
+	},
+
+	extend : function(p, np) {
+		var o = {};
+
+		o.parent = p;
+
+		for (n in p)
+			o[n] = p[n];
+
+		for (n in np)
+			o[n] = np[n];
+
+		return o;
+	},
+
+	hideMenus : function() {
+		var e = tinyMCE.lastSelectedMenuBtn;
+
+		if (tinyMCE.lastMenu) {
+			tinyMCE.lastMenu.hide();
+			tinyMCE.lastMenu = null;
+		}
+
+		if (e) {
+			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
+			tinyMCE.lastSelectedMenuBtn = null;
+		}
+	}
+
+	};
+
+// Global instances
+var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors
+var tinyMCE = new TinyMCE_Engine();
+var tinyMCELang = {};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */
+
+function TinyMCE_Control(settings) {
+	var t, i, to, fu, p, x, fn, fu, pn, s = settings;
+
+	this.undoRedoLevel = true;
+	this.isTinyMCE_Control = true;
+
+	// Default settings
+	this.settings = s;
+	this.settings['theme'] = tinyMCE.getParam("theme", "default");
+	this.settings['width'] = tinyMCE.getParam("width", -1);
+	this.settings['height'] = tinyMCE.getParam("height", -1);
+	this.selection = new TinyMCE_Selection(this);
+	this.undoRedo = new TinyMCE_UndoRedo(this);
+	this.cleanup = new TinyMCE_Cleanup();
+	this.shortcuts = new Array();
+	this.hasMouseMoved = false;
+	this.foreColor = this.backColor = "#999999";
+	this.data = {};
+	this.cssClasses = [];
+
+	this.cleanup.init({
+		valid_elements : s.valid_elements,
+		extended_valid_elements : s.extended_valid_elements,
+		valid_child_elements : s.valid_child_elements,
+		entities : s.entities,
+		entity_encoding : s.entity_encoding,
+		debug : s.cleanup_debug,
+		indent : s.apply_source_formatting,
+		invalid_elements : s.invalid_elements,
+		verify_html : s.verify_html,
+		fix_content_duplication : s.fix_content_duplication,
+		convert_fonts_to_spans : s.convert_fonts_to_spans
+	});
+
+	// Wrap old theme
+	t = this.settings['theme'];
+	if (!tinyMCE.hasTheme(t)) {
+		fn = tinyMCE.callbacks;
+		to = {};
+
+		for (i=0; i<fn.length; i++) {
+			if ((fu = window['TinyMCE_' + t + "_" + fn[i]]))
+				to[fn[i]] = fu;
+		}
+
+		tinyMCE.addTheme(t, to);
+	}
+
+	// Wrap old plugins
+	this.plugins = new Array();
+	p = tinyMCE.getParam('plugins', '', true, ',');
+	if (p.length > 0) {
+		for (i=0; i<p.length; i++) {
+			pn = p[i];
+
+			if (pn.charAt(0) == '-')
+				pn = pn.substring(1);
+
+			if (!tinyMCE.hasPlugin(pn)) {
+				fn = tinyMCE.callbacks;
+				to = {};
+
+				for (x=0; x<fn.length; x++) {
+					if ((fu = window['TinyMCE_' + pn + "_" + fn[x]]))
+						to[fn[x]] = fu;
+				}
+
+				tinyMCE.addPlugin(pn, to);
+			}
+
+			this.plugins[this.plugins.length] = pn; 
+		}
+	}
+};
+
+TinyMCE_Control.prototype = {
+	selection : null,
+
+	settings : null,
+
+	cleanup : null,
+
+	getData : function(na) {
+		var o = this.data[na];
+
+		if (!o)
+			o = this.data[na] = {};
+
+		return o;
+	},
+
+	hasPlugin : function(n) {
+		var i;
+
+		for (i=0; i<this.plugins.length; i++) {
+			if (this.plugins[i] == n)
+				return true;
+		}
+
+		return false;
+	},
+
+	addPlugin : function(n, p) {
+		if (!this.hasPlugin(n)) {
+			tinyMCE.addPlugin(n, p);
+			this.plugins[this.plugins.length] = n;
+		}
+	},
+
+	repaint : function() {
+		var s, b, ex;
+
+		if (tinyMCE.isRealIE)
+			return;
+
+		try {
+			s = this.selection;
+			b = s.getBookmark(true);
+			this.getBody().style.display = 'none';
+			this.getDoc().execCommand('selectall', false, null);
+			this.getSel().collapseToStart();
+			this.getBody().style.display = 'block';
+			s.moveToBookmark(b);
+		} catch (ex) {
+			// Ignore
+		}
+	},
+
+	switchSettings : function() {
+		if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
+			tinyMCE.settings = this.settings;
+			tinyMCE.currentConfig = this.settings['index'];
+		}
+	},
+
+	select : function() {
+		var oldInst = tinyMCE.selectedInstance;
+
+		if (oldInst != this) {
+			if (oldInst)
+				oldInst.execCommand('mceEndTyping');
+
+			tinyMCE.dispatchCallback(this, 'select_instance_callback', 'selectInstance', this, oldInst);
+			tinyMCE.selectedInstance = this;
+		}
+	},
+
+	getBody : function() {
+		return this.contentBody ? this.contentBody : this.getDoc().body;
+	},
+
+	getDoc : function() {
+//		return this.contentDocument ? this.contentDocument : this.contentWindow.document; // Removed due to IE 5.5 ?
+		return this.contentWindow.document;
+	},
+
+	getWin : function() {
+		return this.contentWindow;
+	},
+
+	getContainerWin : function() {
+		return this.containerWindow ? this.containerWindow : window;
+	},
+
+	getViewPort : function() {
+		return tinyMCE.getViewPort(this.getWin());
+	},
+
+	getParentNode : function(n, f) {
+		return tinyMCE.getParentNode(n, f, this.getBody());
+	},
+
+	getParentElement : function(n, na, f) {
+		return tinyMCE.getParentElement(n, na, f, this.getBody());
+	},
+
+	getParentBlockElement : function(n) {
+		return tinyMCE.getParentBlockElement(n, this.getBody());
+	},
+
+	resizeToContent : function() {
+		var d = this.getDoc(), b = d.body, de = d.documentElement;
+
+		this.iframeElement.style.height = (tinyMCE.isRealIE) ? b.scrollHeight : de.offsetHeight + 'px';
+	},
+
+	addShortcut : function(m, k, d, cmd, ui, va) {
+		var n = typeof(k) == "number", ie = tinyMCE.isIE, c, sc, i, scl = this.shortcuts;
+
+		if (!tinyMCE.getParam('custom_shortcuts'))
+			return false;
+
+		m = m.toLowerCase();
+		k = ie && !n ? k.toUpperCase() : k;
+		c = n ? null : k.charCodeAt(0);
+		d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d;
+
+		sc = {
+			alt : m.indexOf('alt') != -1,
+			ctrl : m.indexOf('ctrl') != -1,
+			shift : m.indexOf('shift') != -1,
+			charCode : c,
+			keyCode : n ? k : (ie ? c : null),
+			desc : d,
+			cmd : cmd,
+			ui : ui,
+			val : va
+		};
+
+		for (i=0; i<scl.length; i++) {
+			if (sc.alt == scl[i].alt && sc.ctrl == scl[i].ctrl && sc.shift == scl[i].shift
+				&& sc.charCode == scl[i].charCode && sc.keyCode == scl[i].keyCode) {
+				return false;
+			}
+		}
+
+		scl[scl.length] = sc;
+
+		return true;
+	},
+
+	handleShortcut : function(e) {
+		var i, s, o;
+
+		// Normal key press, then ignore it
+		if (!e.altKey && !e.ctrlKey)
+			return false;
+
+		s = this.shortcuts;
+
+		for (i=0; i<s.length; i++) {
+			o = s[i];
+
+			if (o.alt == e.altKey && o.ctrl == e.ctrlKey && (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
+				if (o.cmd && (e.type == "keydown" || (e.type == "keypress" && !tinyMCE.isOpera)))
+					tinyMCE.execCommand(o.cmd, o.ui, o.val);
+
+				tinyMCE.cancelEvent(e);
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	autoResetDesignMode : function() {
+		// Add fix for tab/style.display none/block problems in Gecko
+		if (!tinyMCE.isIE && this.isHidden() && tinyMCE.getParam('auto_reset_designmode'))
+			eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}');
+	},
+
+	isHidden : function() {
+		var s;
+
+		if (tinyMCE.isIE)
+			return false;
+
+		s = this.getSel();
+
+		// Weird, wheres that cursor selection?
+		return (!s || !s.rangeCount || s.rangeCount == 0);
+	},
+
+	isDirty : function() {
+		// Is content modified and not in a submit procedure
+		return tinyMCE.trim(this.startContent) != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
+	},
+
+	_mergeElements : function(scmd, pa, ch, override) {
+		if (scmd == "removeformat") {
+			pa.className = "";
+			pa.style.cssText = "";
+			ch.className = "";
+			ch.style.cssText = "";
+			return;
+		}
+
+		var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
+		var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
+		var className = tinyMCE.getAttrib(pa, "class");
+
+		// Removed class adding due to bug #1478272
+		className = tinyMCE.getAttrib(ch, "class");
+
+		if (override) {
+			for (var n in st) {
+				if (typeof(st[n]) == 'function')
+					continue;
+
+				stc[n] = st[n];
+			}
+		} else {
+			for (var n in stc) {
+				if (typeof(stc[n]) == 'function')
+					continue;
+
+				st[n] = stc[n];
+			}
+		}
+
+		tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
+		tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
+		ch.className = "";
+		ch.style.cssText = "";
+		ch.removeAttribute("class");
+		ch.removeAttribute("style");
+	},
+
+	_setUseCSS : function(b) {
+		var d = this.getDoc();
+
+		try {d.execCommand("useCSS", false, !b);} catch (ex) {}
+		try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}
+
+		if (!tinyMCE.getParam("table_inline_editing"))
+			try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {}
+
+		if (!tinyMCE.getParam("object_resizing"))
+			try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var doc = this.getDoc(), win = this.getWin(), focusElm = this.getFocusElement();
+
+		// Is not a undo specific command
+		if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command))
+			this.undoBookmark = null;
+
+		// Mozilla issue
+		if (!tinyMCE.isIE && !this.useCSS) {
+			this._setUseCSS(false);
+			this.useCSS = true;
+		}
+
+		//debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
+		this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
+
+		// Don't dispatch key commands
+		if (!/mceStartTyping|mceEndTyping/.test(command)) {
+			if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value))
+				return;
+		}
+
+		// Fix align on images
+		if (focusElm && focusElm.nodeName == "IMG") {
+			var align = focusElm.getAttribute('align');
+			var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
+
+			switch (command) {
+				case "JustifyLeft":
+					if (align == 'left')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'left');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyCenter":
+					img.removeAttribute('align');
+
+					// Is centered
+					var div = tinyMCE.getParentElement(focusElm, "div");
+					if (div && div.style.textAlign == "center") {
+						// Remove div
+						if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+							div.parentNode.replaceChild(img, div);
+					} else {
+						// Add div
+						var div = this.getDoc().createElement("div");
+						div.style.textAlign = 'center';
+						div.appendChild(img);
+						focusElm.parentNode.replaceChild(div, focusElm);
+					}
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyRight":
+					if (align == 'right')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'right');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+			}
+		}
+
+		if (tinyMCE.settings['force_br_newlines']) {
+			var alignValue = "";
+
+			if (doc.selection.type != "Control") {
+				switch (command) {
+						case "JustifyLeft":
+							alignValue = "left";
+							break;
+
+						case "JustifyCenter":
+							alignValue = "center";
+							break;
+
+						case "JustifyFull":
+							alignValue = "justify";
+							break;
+
+						case "JustifyRight":
+							alignValue = "right";
+							break;
+				}
+
+				if (alignValue != "") {
+					var rng = doc.selection.createRange();
+
+					if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
+						divElm.setAttribute("align", alignValue);
+					else if (rng.pasteHTML && rng.htmlText.length > 0)
+						rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
+
+					tinyMCE.triggerNodeChange();
+					return;
+				}
+			}
+		}
+
+		switch (command) {
+			case "mceRepaint":
+				this.repaint();
+				return true;
+
+			case "unlink":
+				// Unlink if caret is inside link
+				if (tinyMCE.isGecko && this.getSel().isCollapsed) {
+					focusElm = tinyMCE.getParentElement(focusElm, 'A');
+
+					if (focusElm)
+						this.selection.selectNode(focusElm, false);
+				}
+
+				this.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.isGecko && this.getSel().collapseToEnd();
+
+				tinyMCE.triggerNodeChange();
+
+				return true;
+
+			case "InsertUnorderedList":
+			case "InsertOrderedList":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Strikethrough":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "mceSelectNode":
+				this.selection.selectNode(value);
+				tinyMCE.triggerNodeChange();
+				tinyMCE.selectedNode = value;
+				break;
+
+			case "FormatBlock":
+				if (value == null || value == "") {
+					var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");
+
+					if (elm)
+						this.execCommand("mceRemoveNode", false, elm);
+				} else {
+					if (!this.cleanup.isValid(value))
+						return true;
+
+					if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value))
+						value = value.replace(/[^a-z]/gi, '');
+
+					if (tinyMCE.isIE && new RegExp('blockquote|code|samp', 'gi').test(value)) {
+						var b = this.selection.getBookmark();
+						this.getDoc().execCommand("FormatBlock", false, '<p>');
+						tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value);
+						this.selection.moveToBookmark(b);
+					} else
+						this.getDoc().execCommand("FormatBlock", false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceRemoveNode":
+				if (!value)
+					value = tinyMCE.getParentElement(this.getFocusElement());
+
+				if (tinyMCE.isIE) {
+					value.outerHTML = value.innerHTML;
+				} else {
+					var rng = value.ownerDocument.createRange();
+					rng.setStartBefore(value);
+					rng.setEndAfter(value);
+					rng.deleteContents();
+					rng.insertNode(rng.createContextualFragment(value.innerHTML));
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceSelectNodeDepth":
+				var parentNode = this.getFocusElement();
+				for (var i=0; parentNode; i++) {
+					if (parentNode.nodeName.toLowerCase() == "body")
+						break;
+
+					if (parentNode.nodeName.toLowerCase() == "#text") {
+						i--;
+						parentNode = parentNode.parentNode;
+						continue;
+					}
+
+					if (i == value) {
+						this.selection.selectNode(parentNode, false);
+						tinyMCE.triggerNodeChange();
+						tinyMCE.selectedNode = parentNode;
+						return;
+					}
+
+					parentNode = parentNode.parentNode;
+				}
+
+				break;
+
+			case "mceSetStyleInfo":
+			case "SetStyleInfo":
+				var rng = this.getRng();
+				var sel = this.getSel();
+				var scmd = value['command'];
+				var sname = value['name'];
+				var svalue = value['value'] == null ? '' : value['value'];
+				//var svalue = value['value'] == null ? '' : value['value'];
+				var wrapper = value['wrapper'] ? value['wrapper'] : "span";
+				var parentElm = null;
+				var invalidRe = new RegExp("^BODY|HTML$", "g");
+				var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null;
+
+				// Whole element selected check
+				if (tinyMCE.isIE) {
+					// Control range
+					if (rng.item)
+						parentElm = rng.item(0);
+					else {
+						var pelm = rng.parentElement();
+						var prng = doc.selection.createRange();
+						prng.moveToElementText(pelm);
+
+						if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
+							if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
+								parentElm = pelm;
+						}
+					}
+				} else {
+					var felm = this.getFocusElement();
+					if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode))
+						parentElm = felm;
+				}
+
+				// Whole element selected
+				if (parentElm && !invalidRe.test(parentElm.nodeName)) {
+					if (scmd == "setstyle")
+						tinyMCE.setStyleAttrib(parentElm, sname, svalue);
+
+					if (scmd == "setattrib")
+						tinyMCE.setAttrib(parentElm, sname, svalue);
+
+					if (scmd == "removeformat") {
+						parentElm.style.cssText = '';
+						tinyMCE.setAttrib(parentElm, 'class', '');
+					}
+
+					// Remove style/attribs from all children
+					var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
+					for (var z=0; z<ch.length; z++) {
+						if (ch[z] == parentElm)
+							continue;
+
+						if (scmd == "setstyle")
+							tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+						if (scmd == "setattrib")
+							tinyMCE.setAttrib(ch[z], sname, '');
+
+						if (scmd == "removeformat") {
+							ch[z].style.cssText = '';
+							tinyMCE.setAttrib(ch[z], 'class', '');
+						}
+					}
+				} else {
+					this._setUseCSS(false); // Bug in FF when running in fullscreen
+					doc.execCommand("FontName", false, "#mce_temp_font#");
+					var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
+
+					// Change them all
+					for (var x=0; x<elementArray.length; x++) {
+						elm = elementArray[x];
+						if (elm) {
+							var spanElm = doc.createElement(wrapper);
+
+							if (scmd == "setstyle")
+								tinyMCE.setStyleAttrib(spanElm, sname, svalue);
+
+							if (scmd == "setattrib")
+								tinyMCE.setAttrib(spanElm, sname, svalue);
+
+							if (scmd == "removeformat") {
+								spanElm.style.cssText = '';
+								tinyMCE.setAttrib(spanElm, 'class', '');
+							}
+
+							if (elm.hasChildNodes()) {
+								for (var i=0; i<elm.childNodes.length; i++)
+									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+							}
+
+							spanElm.setAttribute("mce_new", "true");
+							elm.parentNode.replaceChild(spanElm, elm);
+
+							// Remove style/attribs from all children
+							var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
+							for (var z=0; z<ch.length; z++) {
+								if (ch[z] == spanElm)
+									continue;
+
+								if (scmd == "setstyle")
+									tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+								if (scmd == "setattrib")
+									tinyMCE.setAttrib(ch[z], sname, '');
+
+								if (scmd == "removeformat") {
+									ch[z].style.cssText = '';
+									tinyMCE.setAttrib(ch[z], 'class', '');
+								}
+							}
+						}
+					}
+				}
+
+				// Cleaup wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
+
+					elm.removeAttribute("mce_new");
+
+					// Is only child a element
+					if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
+						//tinyMCE.debug("merge1" + isNew);
+						this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
+						continue;
+					}
+
+					// Is I the only child
+					if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) {
+						//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);
+						if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
+							this._mergeElements(scmd, elm.parentNode, elm, false);
+					}
+				}
+
+				// Remove empty wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isEmpty = true;
+
+					// Check if it has any attribs
+					var tmp = doc.createElement("body");
+					tmp.appendChild(elm.cloneNode(false));
+
+					// Is empty span, remove it
+					tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), '');
+					//tinyMCE.debug(tmp.innerHTML);
+					if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
+						for (var x=0; x<elm.childNodes.length; x++) {
+							if (elm.parentNode != null)
+								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
+						}
+
+						elm.parentNode.removeChild(elm);
+					}
+				}
+
+				// Re add the visual aids
+				if (scmd == "removeformat")
+					tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "FontName":
+				if (value == null) {
+					var s = this.getSel();
+
+					// Find font and select it
+					if (tinyMCE.isGecko && s.isCollapsed) {
+						var f = tinyMCE.getParentElement(this.getFocusElement(), "font");
+
+						if (f != null)
+							this.selection.selectNode(f, false);
+					}
+
+					// Remove format
+					this.getDoc().execCommand("RemoveFormat", false, null);
+
+					// Collapse range if font was found
+					if (f != null && tinyMCE.isGecko) {
+						var r = this.getRng().cloneRange();
+						r.collapse(true);
+						s.removeAllRanges();
+						s.addRange(r);
+					}
+				} else
+					this.getDoc().execCommand('FontName', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "FontSize":
+				this.getDoc().execCommand('FontSize', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "forecolor":
+				value = value == null ? this.foreColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+
+				this.foreColor = value;
+				this.getDoc().execCommand('forecolor', false, value);
+				break;
+
+			case "HiliteColor":
+				value = value == null ? this.backColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+				this.backColor = value;
+
+				if (tinyMCE.isGecko) {
+					this._setUseCSS(true);
+					this.getDoc().execCommand('hilitecolor', false, value);
+					this._setUseCSS(false);
+				} else
+					this.getDoc().execCommand('BackColor', false, value);
+				break;
+
+			case "Cut":
+			case "Copy":
+			case "Paste":
+				var cmdFailed = false;
+
+				// Try executing command
+				eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
+
+				if (tinyMCE.isOpera && cmdFailed)
+					alert('Currently not supported by your browser, use keyboard shortcuts instead.');
+
+				// Alert error in gecko if command failed
+				if (tinyMCE.isGecko && cmdFailed) {
+					// Confirm more info
+					if (confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
+						window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
+
+					return;
+				} else
+					tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetContent":
+				if (!value)
+					value = "";
+
+				// Call custom cleanup code
+				value = tinyMCE.storeAwayURLs(value);
+				value = tinyMCE._customCleanup(this, "insert_to_editor", value);
+
+				if (this.getBody().nodeName == 'BODY')
+					tinyMCE._setHTML(doc, value);
+				else
+					this.getBody().innerHTML = value;
+
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, doc, this.settings, this.getBody(), false, false, false, true));
+				tinyMCE.convertAllRelativeURLs(this.getBody());
+
+				// Cleanup any mess left from storyAwayURLs
+				tinyMCE._removeInternal(this.getBody());
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				return true;
+
+			case "mceCleanup":
+				var b = this.selection.getBookmark();
+				tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				this.repaint();
+				this.selection.moveToBookmark(b);
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceReplaceContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				this.getWin().focus();
+
+				var selectedText = "";
+
+				if (tinyMCE.isIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = this.getSel().toString();
+
+				if (selectedText.length > 0) {
+					value = tinyMCE.replaceVar(value, "selection", selectedText);
+					tinyMCE.execCommand('mceInsertContent', false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetAttribute":
+				if (typeof(value) == 'object') {
+					var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
+					var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
+
+					if (targetNode) {
+						targetNode.setAttribute(value['name'], value['value']);
+						tinyMCE.triggerNodeChange();
+					}
+				}
+			break;
+
+			case "mceSetCSSClass":
+				this.execCommand("mceSetStyleInfo", false, {command : "setattrib", name : "class", value : value});
+			break;
+
+			case "mceInsertRawHTML":
+				var key = 'tiny_mce_marker';
+
+				this.execCommand('mceBeginUndoLevel');
+
+				// Insert marker key
+				this.execCommand('mceInsertContent', false, key);
+
+				// Store away scroll pos
+				var scrollX = this.getBody().scrollLeft + this.getDoc().documentElement.scrollLeft;
+				var scrollY = this.getBody().scrollTop + this.getDoc().documentElement.scrollTop;
+
+				// Find marker and replace with RAW HTML
+				var html = this.getBody().innerHTML;
+				if ((pos = html.indexOf(key)) != -1)
+					tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
+
+				// Restore scoll pos
+				this.contentWindow.scrollTo(scrollX, scrollY);
+
+				this.execCommand('mceEndUndoLevel');
+
+				break;
+
+			case "mceInsertContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				var insertHTMLFailed = false;
+
+				// Removed since it produced problems in IE
+				// this.getWin().focus();
+
+				if (tinyMCE.isGecko || tinyMCE.isOpera) {
+					try {
+						// Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong in FF
+						if (value.indexOf('<') == -1 && !value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
+							var r = this.getRng();
+							var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value));
+							var s = this.getSel();
+							var r2 = r.cloneRange();
+
+							// Insert text at cursor position
+							s.removeAllRanges();
+							r.deleteContents();
+							r.insertNode(n);
+
+							// Move the cursor to the end of text
+							r2.selectNode(n);
+							r2.collapse(false);
+							s.removeAllRanges();
+							s.addRange(r2);
+						} else {
+							value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
+							this.getDoc().execCommand('inserthtml', false, value);
+							tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+						}
+					} catch (ex) {
+						insertHTMLFailed = true;
+					}
+
+					if (!insertHTMLFailed) {
+						tinyMCE.triggerNodeChange();
+						return;
+					}
+				}
+
+				if (!tinyMCE.isIE) {
+					var isHTML = value.indexOf('<') != -1;
+					var sel = this.getSel();
+					var rng = this.getRng();
+
+					if (isHTML) {
+						if (tinyMCE.isSafari) {
+							var tmpRng = this.getDoc().createRange();
+
+							tmpRng.setStart(this.getBody(), 0);
+							tmpRng.setEnd(this.getBody(), 0);
+
+							value = tmpRng.createContextualFragment(value);
+						} else
+							value = rng.createContextualFragment(value);
+					} else {
+						// Setup text node
+						var el = document.createElement("div");
+						el.innerHTML = value;
+						value = el.firstChild.nodeValue;
+						value = doc.createTextNode(value);
+					}
+
+					// Insert plain text in Safari
+					if (tinyMCE.isSafari && !isHTML) {
+						this.execCommand('InsertText', false, value.nodeValue);
+						tinyMCE.triggerNodeChange();
+						return true;
+					} else if (tinyMCE.isSafari && isHTML) {
+						rng.deleteContents();
+						rng.insertNode(value);
+						tinyMCE.triggerNodeChange();
+						return true;
+					}
+
+					rng.deleteContents();
+
+					// If target node is text do special treatment, (Mozilla 1.3 fix)
+					if (rng.startContainer.nodeType == 3) {
+						var node = rng.startContainer.splitText(rng.startOffset);
+						node.parentNode.insertBefore(value, node); 
+					} else
+						rng.insertNode(value);
+
+					if (!isHTML) {
+						// Removes weird selection trails
+						sel.selectAllChildren(doc.body);
+						sel.removeAllRanges();
+
+						// Move cursor to end of content
+						var rng = doc.createRange();
+
+						rng.selectNode(value);
+						rng.collapse(false);
+
+						sel.addRange(rng);
+					} else
+						rng.collapse(false);
+
+					tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+				} else {
+					var rng = doc.selection.createRange(), tmpRng = null;
+					var c = value.indexOf('<!--') != -1;
+
+					// Fix comment bug, add tag before comments
+					if (c)
+						value = tinyMCE.uniqueTag + value;
+
+					//	tmpRng = rng.duplicate(); // Store away range (Fixes Undo bookmark bug in IE)
+
+					if (rng.item)
+						rng.item(0).outerHTML = value;
+					else
+						rng.pasteHTML(value);
+
+					//if (tmpRng)
+					//	tmpRng.select(); // Restore range  (Fixes Undo bookmark bug in IE)
+
+					// Remove unique tag
+					if (c) {
+						var e = this.getDoc().getElementById('mceTMPElement');
+						e.parentNode.removeChild(e);
+					}
+				}
+
+				tinyMCE.execCommand("mceAddUndoLevel");
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceStartTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex == -1) {
+					this.undoRedo.typingUndoIndex = this.undoRedo.undoIndex;
+					tinyMCE.typingUndoIndex = tinyMCE.undoIndex;
+					this.execCommand('mceAddUndoLevel');
+				}
+				break;
+
+			case "mceEndTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex != -1) {
+					this.execCommand('mceAddUndoLevel');
+					this.undoRedo.typingUndoIndex = -1;
+				}
+
+				tinyMCE.typingUndoIndex = -1;
+				break;
+
+			case "mceBeginUndoLevel":
+				this.undoRedoLevel = false;
+				break;
+
+			case "mceEndUndoLevel":
+				this.undoRedoLevel = true;
+				this.execCommand('mceAddUndoLevel');
+				break;
+
+			case "mceAddUndoLevel":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedoLevel) {
+					if (this.undoRedo.add())
+						tinyMCE.triggerNodeChange(false);
+				}
+				break;
+
+			case "Undo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.undo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "Redo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.redo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "mceToggleVisualAid":
+				this.visualAid = !this.visualAid;
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Indent":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+
+				if (tinyMCE.isIE) {
+					var n = tinyMCE.getParentElement(this.getFocusElement(), "blockquote");
+					do {
+						if (n && n.nodeName == "BLOCKQUOTE") {
+							n.removeAttribute("dir");
+							n.removeAttribute("style");
+						}
+					} while (n != null && (n = n.parentNode) != null);
+				}
+				break;
+
+			case "RemoveFormat":
+			case "removeformat":
+				var text = this.selection.getSelectedText();
+
+				if (tinyMCE.isOpera) {
+					this.getDoc().execCommand("RemoveFormat", false, null);
+					return;
+				}
+
+				if (tinyMCE.isIE) {
+					try {
+						var rng = doc.selection.createRange();
+						rng.execCommand("RemoveFormat", false, null);
+					} catch (e) {
+						// Do nothing
+					}
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				} else {
+					this.getDoc().execCommand(command, user_interface, value);
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				}
+
+				// Remove class
+				if (text.length == 0)
+					this.execCommand("mceSetCSSClass", false, "");
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			default:
+				this.getDoc().execCommand(command, user_interface, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+				else
+					tinyMCE.triggerNodeChange();
+		}
+
+		// Add undo level after modification
+		if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
+			tinyMCE.execCommand("mceAddUndoLevel");
+	},
+
+	queryCommandValue : function(c) {
+		try {
+			return this.getDoc().queryCommandValue(c);
+		} catch (e) {
+			return null;
+		}
+	},
+
+	queryCommandState : function(c) {
+		return this.getDoc().queryCommandState(c);
+	},
+
+	_onAdd : function(replace_element, form_element_name, target_document) {
+		var hc, th, to, editorTemplate;
+
+		th = this.settings['theme'];
+		to = tinyMCE.themes[th];
+
+		var targetDoc = target_document ? target_document : document;
+
+		this.targetDoc = targetDoc;
+
+		tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
+		this.settings['themeurl'] = tinyMCE.themeURL;
+
+		if (!replace_element) {
+			alert("Error: Could not find the target element.");
+			return false;
+		}
+
+		if (to.getEditorTemplate)
+			editorTemplate = to.getEditorTemplate(this.settings, this.editorId);
+
+		var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
+		var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
+		var html = '<span id="' + this.editorId + '_parent" class="mceEditorContainer">' + editorTemplate['html'];
+
+		html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
+		this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
+
+		this.settings['old_width'] = this.settings['width'];
+		this.settings['old_height'] = this.settings['height'];
+
+		// Set default width, height
+		if (this.settings['width'] == -1)
+			this.settings['width'] = replace_element.offsetWidth;
+
+		if (this.settings['height'] == -1)
+			this.settings['height'] = replace_element.offsetHeight;
+
+		// Try the style width
+		if (this.settings['width'] == 0)
+			this.settings['width'] = replace_element.style.width;
+
+		// Try the style height
+		if (this.settings['height'] == 0)
+			this.settings['height'] = replace_element.style.height; 
+
+		// If no width/height then default to 320x240, better than nothing
+		if (this.settings['width'] == 0)
+			this.settings['width'] = 320;
+
+		if (this.settings['height'] == 0)
+			this.settings['height'] = 240;
+
+		this.settings['area_width'] = parseInt(this.settings['width']);
+		this.settings['area_height'] = parseInt(this.settings['height']);
+		this.settings['area_width'] += deltaWidth;
+		this.settings['area_height'] += deltaHeight;
+
+		this.settings['width_style'] = "" + this.settings['width'];
+		this.settings['height_style'] = "" + this.settings['height'];
+
+		// Special % handling
+		if (("" + this.settings['width']).indexOf('%') != -1)
+			this.settings['area_width'] = "100%";
+		else
+			this.settings['width_style'] += 'px';
+
+		if (("" + this.settings['height']).indexOf('%') != -1)
+			this.settings['area_height'] = "100%";
+		else
+			this.settings['height_style'] += 'px';
+
+		if (("" + replace_element.style.width).indexOf('%') != -1) {
+			this.settings['width'] = replace_element.style.width;
+			this.settings['area_width'] = "100%";
+			this.settings['width_style'] = "100%";
+		}
+
+		if (("" + replace_element.style.height).indexOf('%') != -1) {
+			this.settings['height'] = replace_element.style.height;
+			this.settings['area_height'] = "100%";
+			this.settings['height_style'] = "100%";
+		}
+
+		html = tinyMCE.applyTemplate(html);
+
+		this.settings['width'] = this.settings['old_width'];
+		this.settings['height'] = this.settings['old_height'];
+
+		this.visualAid = this.settings['visual'];
+		this.formTargetElementId = form_element_name;
+
+		// Get replace_element contents
+		if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
+			this.startContent = replace_element.value;
+		else
+			this.startContent = replace_element.innerHTML;
+
+		// If not text area or input
+		if (replace_element.nodeName != "TEXTAREA" && replace_element.nodeName != "INPUT") {
+			this.oldTargetElement = replace_element;
+
+			// Debug mode
+			if (tinyMCE.settings['debug']) {
+				hc = '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
+			} else {
+				hc = '<input type="hidden" id="' + form_element_name + '" name="' + form_element_name + '" />';
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			html += '</span>';
+
+			if (tinyMCE.isGecko)
+				html = hc + html;
+			else
+				html += hc;
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		} else {
+			html += '</span>';
+
+			// Just hide the textarea element
+			this.oldTargetElement = replace_element;
+
+			if (!tinyMCE.settings['debug']) {
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		}
+
+		// Setup iframe
+		var dynamicIFrame = false;
+		var tElm = targetDoc.getElementById(this.editorId);
+
+		if (!tinyMCE.isIE) {
+			// Node case is preserved in XML strict mode
+			if (tElm && (tElm.nodeName == "SPAN" || tElm.nodeName == "span")) {
+				tElm = tinyMCE._createIFrame(tElm, targetDoc);
+				dynamicIFrame = true;
+			}
+
+			this.targetElement = tElm;
+			this.iframeElement = tElm;
+			this.contentDocument = tElm.contentDocument;
+			this.contentWindow = tElm.contentWindow;
+
+			//this.getDoc().designMode = "on";
+		} else {
+			if (tElm && tElm.nodeName == "SPAN")
+				tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
+			else
+				tElm = targetDoc.frames[this.editorId];
+
+			this.targetElement = tElm;
+			this.iframeElement = targetDoc.getElementById(this.editorId);
+
+			if (tinyMCE.isOpera) {
+				this.contentDocument = this.iframeElement.contentDocument;
+				this.contentWindow = this.iframeElement.contentWindow;
+				dynamicIFrame = true;
+			} else {
+				this.contentDocument = tElm.window.document;
+				this.contentWindow = tElm.window;
+			}
+
+			this.getDoc().designMode = "on";
+		}
+
+		// Setup base HTML
+		var doc = this.contentDocument;
+		if (dynamicIFrame) {
+			var html = tinyMCE.getParam('doctype') + '<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
+
+			try {
+				if (!this.isHidden())
+					this.getDoc().designMode = "on";
+
+				doc.open();
+				doc.write(html);
+				doc.close();
+			} catch (e) {
+				// Failed Mozilla 1.3
+				this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
+			}
+		}
+
+		// This timeout is needed in MSIE 5.5 for some odd reason
+		// it seems that the document.frames isn't initialized yet?
+		if (tinyMCE.isIE)
+			window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + this.editorId + "\"]);", 1);
+
+		// Setup element references
+		var parentElm = this.targetDoc.getElementById(this.editorId + '_parent');
+		this.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
+
+		tinyMCE.setupContent(this.editorId, true);
+
+		return true;
+	},
+
+	setBaseHREF : function(u) {
+		var h, b, d, nl;
+
+		d = this.getDoc();
+		nl = d.getElementsByTagName("base");
+		b = nl.length > 0 ? nl[0] : null;
+
+		if (!b) {
+			nl = d.getElementsByTagName("head");
+			h = nl.length > 0 ? nl[0] : null;
+
+			b = d.createElement("base");
+			b.setAttribute('href', u);
+			h.appendChild(b);
+		} else {
+			if (u == "" || u == null)
+				b.parentNode.removeChild(b);
+			else
+				b.setAttribute('href', u);
+		}
+	},
+
+	getHTML : function(r) {
+		var h, d = this.getDoc(), b = this.getBody();
+
+		if (r)
+			return b.innerHTML;
+
+		h = tinyMCE._cleanupHTML(this, d, this.settings, b, false, true, false, true);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(d);
+
+		return h;
+	},
+
+	setHTML : function(h) {
+		this.execCommand('mceSetContent', false, h);
+		this.repaint();
+	},
+
+	getFocusElement : function() {
+		return this.selection.getFocusElement();
+	},
+
+	getSel : function() {
+		return this.selection.getSel();
+	},
+
+	getRng : function() {
+		return this.selection.getRng();
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var e, nl = [], i, s;
+
+		this.switchSettings();
+		s = tinyMCE.settings;
+
+		// Force hidden tabs visible while serializing
+		if (tinyMCE.isRealIE) {
+			e = this.iframeElement;
+
+			do {
+				if (e.style && e.style.display == 'none') {
+					e.style.display = 'block';
+					nl[nl.length] = {elm : e, type : 'style'};
+				}
+
+				if (e.style && s.hidden_tab_class.length > 0 && e.className.indexOf(s.hidden_tab_class) != -1) {
+					e.className = s.display_tab_class;
+					nl[nl.length] = {elm : e, type : 'class'};
+				}
+			} while ((e = e.parentNode) != null)
+		}
+
+		tinyMCE.settings['preformatted'] = false;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);
+
+		// Remove visual aids when cleanup is disabled
+		if (this.settings['cleanup'] == false) {
+			tinyMCE.handleVisualAid(this.getBody(), true, false, this);
+			tinyMCE._setEventsEnabled(this.getBody(), true);
+		}
+
+		tinyMCE._customCleanup(this, "submit_content_dom", this.contentWindow.document.body);
+		var htm = skip_cleanup ? this.getBody().innerHTML : tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), tinyMCE.visualAid, true, true);
+		htm = tinyMCE._customCleanup(this, "submit_content", htm);
+
+		if (!skip_callback && tinyMCE.settings['save_callback'] != "")
+			var content = eval(tinyMCE.settings['save_callback'] + "(this.formTargetElementId,htm,this.getBody());");
+
+		// Use callback content if available
+		if ((typeof(content) != "undefined") && content != null)
+			htm = content;
+
+		// Replace some weird entities (Bug: #1056343)
+		htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
+
+		if (this.formElement)
+			this.formElement.value = htm;
+
+		if (tinyMCE.isSafari && this.formElement)
+			this.formElement.innerText = htm;
+
+		// Hide them again (tabs in MSIE)
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].type == 'style')
+				nl[i].elm.style.display = 'none';
+			else
+				nl[i].elm.className = s.hidden_tab_class;
+		}
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */
+
+TinyMCE_Engine.prototype.cleanupHTMLCode = function(s) {
+	s = s.replace(new RegExp('<p \\/>', 'gi'), '<p>&nbsp;</p>');
+	s = s.replace(new RegExp('<p>\\s*<\\/p>', 'gi'), '<p>&nbsp;</p>');
+
+	// Fix close BR elements
+	s = s.replace(new RegExp('<br>\\s*<\\/br>', 'gi'), '<br />');
+
+	// Open closed tags like <b/> to <b></b>
+	s = s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>', 'gi'), '<$1$2$3></$1$2>');
+
+	// Remove trailing space <b > to <b>
+	s = s.replace(new RegExp('\\s+></', 'gi'), '></');
+
+	// Close tags <img></img> to <img/>
+	s = s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>', 'gi'), '<$1$2 />');
+
+	// Weird MSIE bug, <p><hr /></p> breaks runtime?
+	if (tinyMCE.isIE)
+		s = s.replace(new RegExp('<p><hr \\/><\\/p>', 'gi'), "<hr>");
+
+	// Weird tags will make IE error #bug: 1538495
+	if (tinyMCE.isIE)
+		s = s.replace(/<!(\s*)\/>/g, '');
+
+	// Convert relative anchors to absolute URLs ex: #something to file.htm#something
+	// Removed: Since local document anchors should never be forced absolute example edit.php?id=something
+	//if (tinyMCE.getParam('convert_urls'))
+	//	s = s.replace(new RegExp('(href=\"{0,1})(\\s*#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.parseStyle = function(str) {
+	var ar = new Array();
+
+	if (str == null)
+		return ar;
+
+	var st = str.split(';');
+
+	tinyMCE.clearArray(ar);
+
+	for (var i=0; i<st.length; i++) {
+		if (st[i] == '')
+			continue;
+
+		var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
+		var pa = st[i].replace(re, '$1||$2').split('||');
+//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
+		if (pa.length == 2)
+			ar[pa[0].toLowerCase()] = pa[1];
+	}
+
+	return ar;
+};
+
+TinyMCE_Engine.prototype.compressStyle = function(ar, pr, sf, res) {
+	var box = new Array();
+
+	box[0] = ar[pr + '-top' + sf];
+	box[1] = ar[pr + '-left' + sf];
+	box[2] = ar[pr + '-right' + sf];
+	box[3] = ar[pr + '-bottom' + sf];
+
+	for (var i=0; i<box.length; i++) {
+		if (box[i] == null)
+			return;
+
+		for (var a=0; a<box.length; a++) {
+			if (box[a] != box[i])
+				return;
+		}
+	}
+
+	// They are all the same
+	ar[res] = box[0];
+	ar[pr + '-top' + sf] = null;
+	ar[pr + '-left' + sf] = null;
+	ar[pr + '-right' + sf] = null;
+	ar[pr + '-bottom' + sf] = null;
+};
+
+TinyMCE_Engine.prototype.serializeStyle = function(ar) {
+	var str = "";
+
+	// Compress box
+	tinyMCE.compressStyle(ar, "border", "", "border");
+	tinyMCE.compressStyle(ar, "border", "-width", "border-width");
+	tinyMCE.compressStyle(ar, "border", "-color", "border-color");
+	tinyMCE.compressStyle(ar, "border", "-style", "border-style");
+	tinyMCE.compressStyle(ar, "padding", "", "padding");
+	tinyMCE.compressStyle(ar, "margin", "", "margin");
+
+	for (var key in ar) {
+		var val = ar[key];
+
+		if (typeof(val) == 'function')
+			continue;
+
+		if (key.indexOf('mso-') == 0)
+			continue;
+
+		if (val != null && val != '') {
+			val = '' + val; // Force string
+
+			// Fix style URL
+			val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
+
+			// Convert URL
+			if (val.indexOf('url(') != -1 && tinyMCE.getParam('convert_urls')) {
+				var m = new RegExp("url\\('(.*?)'\\)").exec(val);
+
+				if (m.length > 1)
+					val = "url('" + eval(tinyMCE.getParam('urlconverter_callback') + "(m[1], null, true);") + "')";
+			}
+
+			// Force HEX colors
+			if (tinyMCE.getParam("force_hex_style_colors"))
+				val = tinyMCE.convertRGBToHex(val, true);
+
+			val = val.replace(/\"/g, '\'');
+
+			if (val != "url('')")
+				str += key.toLowerCase() + ": " + val + "; ";
+		}
+	}
+
+	if (new RegExp('; $').test(str))
+		str = str.substring(0, str.length - 2);
+
+	return str;
+};
+
+TinyMCE_Engine.prototype.convertRGBToHex = function(s, k) {
+	if (s.toLowerCase().indexOf('rgb') != -1) {
+		var re = new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)", "gi");
+		var rgb = s.replace(re, "$1,$2,$3,$4,$5").split(',');
+		if (rgb.length == 5) {
+			r = parseInt(rgb[1]).toString(16);
+			g = parseInt(rgb[2]).toString(16);
+			b = parseInt(rgb[3]).toString(16);
+
+			r = r.length == 1 ? '0' + r : r;
+			g = g.length == 1 ? '0' + g : g;
+			b = b.length == 1 ? '0' + b : b;
+
+			s = "#" + r + g + b;
+
+			if (k)
+				s = rgb[0] + s + rgb[4];
+		}
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertHexToRGB = function(s) {
+	if (s.indexOf('#') != -1) {
+		s = s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+		return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) + ")";
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertSpansToFonts = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+	/*var h = doc.body.innerHTML;
+	h = h.replace(/<span/gi, '<font');
+	h = h.replace(/<\/span/gi, '</font');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
+		var fSize = 0;
+
+		for (var x=0; x<sizes.length; x++) {
+			if (sizes[x] == size) {
+				fSize = x + 1;
+				break;
+			}
+		}
+
+		if (fSize > 0) {
+			tinyMCE.setAttrib(s[i], 'size', fSize);
+			s[i].style.fontSize = '';
+		}
+
+		var fFace = s[i].style.fontFamily;
+		if (fFace != null && fFace != "") {
+			tinyMCE.setAttrib(s[i], 'face', fFace);
+			s[i].style.fontFamily = '';
+		}
+
+		var fColor = s[i].style.color;
+		if (fColor != null && fColor != "") {
+			tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
+			s[i].style.color = '';
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.convertFontsToSpans = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+/*	var h = doc.body.innerHTML;
+	h = h.replace(/<font/gi, '<span');
+	h = h.replace(/<\/font/gi, '</span');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var fsClasses = tinyMCE.getParam('font_size_classes');
+	if (fsClasses != '')
+		fsClasses = fsClasses.replace(/\s+/, '').split(',');
+	else
+		fsClasses = null;
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var fSize, fFace, fColor;
+
+		fSize = tinyMCE.getAttrib(s[i], 'size');
+		fFace = tinyMCE.getAttrib(s[i], 'face');
+		fColor = tinyMCE.getAttrib(s[i], 'color');
+
+		if (fSize != "") {
+			fSize = parseInt(fSize);
+
+			if (fSize > 0 && fSize < 8) {
+				if (fsClasses != null)
+					tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
+				else
+					s[i].style.fontSize = sizes[fSize-1];
+			}
+
+			s[i].removeAttribute('size');
+		}
+
+		if (fFace != "") {
+			s[i].style.fontFamily = fFace;
+			s[i].removeAttribute('face');
+		}
+
+		if (fColor != "") {
+			s[i].style.color = fColor;
+			s[i].removeAttribute('color');
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.cleanupAnchors = function(doc) {
+	var i, cn, x, an = doc.getElementsByTagName("a");
+
+	// Loops backwards due to bug #1467987
+	for (i=an.length-1; i>=0; i--) {
+		if (tinyMCE.getAttrib(an[i], "name") != "" && tinyMCE.getAttrib(an[i], "href") == "") {
+			cn = an[i].childNodes;
+
+			for (x=cn.length-1; x>=0; x--)
+				tinyMCE.insertAfter(cn[x], an[i]);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.getContent = function(editor_id) {
+	if (typeof(editor_id) != "undefined")
+		 tinyMCE.getInstanceById(editor_id).select();
+
+	if (tinyMCE.selectedInstance)
+		return tinyMCE.selectedInstance.getHTML();
+
+	return null;
+};
+
+TinyMCE_Engine.prototype._fixListElements = function(d) {
+	var nl, x, a = ['ol', 'ul'], i, n, p, r = new RegExp('^(OL|UL)$'), np;
+
+	for (x=0; x<a.length; x++) {
+		nl = d.getElementsByTagName(a[x]);
+
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+			p = n.parentNode;
+
+			if (r.test(p.nodeName)) {
+				np = tinyMCE.prevNode(n, 'LI');
+
+				if (!np) {
+					np = d.createElement('li');
+					np.innerHTML = '&nbsp;';
+					np.appendChild(n);
+					p.insertBefore(np, p.firstChild);
+				} else
+					np.appendChild(n);
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._fixTables = function(d) {
+	var nl, i, n, p, np, x, t;
+
+	nl = d.getElementsByTagName('table');
+	for (i=0; i<nl.length; i++) {
+		n = nl[i];
+
+		if ((p = tinyMCE.getParentElement(n, 'p,h1,h2,h3,h4,h5,h6')) != null) {
+			np = p.cloneNode(false);
+			np.removeAttribute('id');
+
+			t = n;
+
+			while ((n = n.nextSibling))
+				np.appendChild(n);
+
+			tinyMCE.insertAfter(np, p);
+			tinyMCE.insertAfter(t, p);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._cleanupHTML = function(inst, doc, config, elm, visual, on_save, on_submit, inn) {
+	var h, d, t1, t2, t3, t4, t5, c, s, nb;
+
+	if (!tinyMCE.getParam('cleanup'))
+		return elm.innerHTML;
+
+	on_save = typeof(on_save) == 'undefined' ? false : on_save;
+
+	c = inst.cleanup;
+	s = inst.settings;
+	d = c.settings.debug;
+
+	if (d)
+		t1 = new Date().getTime();
+
+	if (tinyMCE.getParam("convert_fonts_to_spans"))
+		tinyMCE.convertFontsToSpans(doc);
+
+	if (tinyMCE.getParam("fix_list_elements"))
+		tinyMCE._fixListElements(doc);
+
+	if (tinyMCE.getParam("fix_table_elements"))
+		tinyMCE._fixTables(doc);
+
+	// Call custom cleanup code
+	tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
+
+	if (d)
+		t2 = new Date().getTime();
+
+	c.settings.on_save = on_save;
+	//for (var i=0; i<100; i++)
+
+	c.idCount = 0;
+	c.serializationId++;
+	c.serializedNodes = new Array();
+	c.sourceIndex = -1;
+
+	if (s.cleanup_serializer == "xml")
+		h = c.serializeNodeAsXML(elm, inn);
+	else
+		h = c.serializeNodeAsHTML(elm, inn);
+
+	if (d)
+		t3 = new Date().getTime();
+
+	// Post processing
+	nb = tinyMCE.getParam('entity_encoding') == 'numeric' ? '&#160;' : '&nbsp;';
+	h = h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
+	h = h.replace(new RegExp(' (rowspan="1"|colspan="1")', 'g'), '');
+	h = h.replace(/<p><hr \/><\/p>/g, '<hr />');
+	h = h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
+	h = h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>' + nb + '</td>');
+	h = h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<br \/>$/, ''); // Remove last BR for Gecko
+	h = h.replace(/<br \/><\/p>/g, '</p>'); // Remove last BR in P tags for Gecko
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(new RegExp('<a>(.*?)<\\/a>', 'g'), '$1');
+	h = h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>' + nb + '</p>');
+
+	// Clean body
+	if (/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
+		h = '';
+
+	// If preformatted
+	if (s.preformatted) {
+		h = h.replace(/^<pre>/, '');
+		h = h.replace(/<\/pre>$/, '');
+		h = '<pre>' + h + '</pre>';
+	}
+
+	// Gecko specific processing
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<o:p _moz-userdefined="" \/>/g, '');
+		h = h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>' + nb + '</td>');
+	}
+
+	if (s.force_br_newlines)
+		h = h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');
+
+	// Call custom cleanup code
+	h = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", h);
+
+	// Remove internal classes
+	if (on_save) {
+		h = h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + s.visual_table_class + ')', 'g'), '');
+		h = h.replace(new RegExp(' ?class=""', 'g'), '');
+	}
+
+	if (s.remove_linebreaks && !c.settings.indent)
+		h = h.replace(/\n|\r/g, ' ');
+
+	if (d)
+		t4 = new Date().getTime();
+
+	if (on_save && c.settings.indent)
+		h = c.formatHTML(h);
+
+	// If encoding (not recommended option)
+	if (on_submit && (s.encoding == "xml" || s.encoding == "html"))
+		h = c.xmlEncode(h);
+
+	if (d)
+		t5 = new Date().getTime();
+
+	if (c.settings.debug)
+		tinyMCE.debug("Cleanup in ms: Pre=" + (t2-t1) + ", Serialize: " + (t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + (t5-t1) + ".");
+
+	return h;
+};
+
+function TinyMCE_Cleanup() {
+	this.isIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.rules = tinyMCE.clearArray(new Array());
+
+	// Default config
+	this.settings = {
+		indent_elements : 'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
+		newline_before_elements : 'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',
+		newline_after_elements : 'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
+		newline_before_after_elements : 'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',
+		indent_char : '\t',
+		indent_levels : 1,
+		entity_encoding : 'raw',
+		valid_elements : '*[*]',
+		entities : '',
+		url_converter : '',
+		invalid_elements : '',
+		verify_html : false
+	};
+
+	this.vElements = tinyMCE.clearArray(new Array());
+	this.vElementsRe = '';
+	this.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;
+	this.codeElementsRe = /^(SCRIPT|STYLE)$/;
+	this.serializationId = 0;
+	this.mceAttribs = {
+		href : 'mce_href',
+		src : 'mce_src',
+		type : 'mce_type'
+	};
+}
+
+TinyMCE_Cleanup.prototype = {
+	init : function(s) {
+		var n, a, i, ir, or, st;
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		// Setup code formating
+		s = this.settings;
+
+		// Setup regexps
+		this.inRe = this._arrayToRe(s.indent_elements.split(','), '', '^<(', ')[^>]*');
+		this.ouRe = this._arrayToRe(s.indent_elements.split(','), '', '^<\\/(', ')[^>]*');
+		this.nlBeforeRe = this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlAfterRe = this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlBeforeAfterRe = this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', '<(\\/?)(', ')([^>]*)>');
+		this.serializedNodes = [];
+
+		if (s.invalid_elements != '')
+			this.iveRe = this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', ')$');
+		else
+			this.iveRe = null;
+
+		// Setup separator
+		st = '';
+		for (i=0; i<s.indent_levels; i++)
+			st += s.indent_char;
+
+		this.inStr = st;
+
+		// If verify_html if false force *[*]
+		if (!s.verify_html) {
+			s.valid_elements = '*[*]';
+			s.extended_valid_elements = '';
+		}
+
+		this.fillStr = s.entity_encoding == "named" ? "&nbsp;" : "&#160;";
+		this.idCount = 0;
+		this.xmlEncodeRe = new RegExp('[\u007F-\uFFFF<>&"]', 'g');
+		this.xmlEncodeAposRe = new RegExp('[\u007F-\uFFFF<>&"\']', 'g');
+	},
+
+	addRuleStr : function(s) {
+		var r = this.parseRuleStr(s);
+		var n;
+
+		for (n in r) {
+			if (r[n])
+				this.rules[n] = r[n];
+		}
+
+		this.vElements = tinyMCE.clearArray(new Array());
+
+		for (n in this.rules) {
+			if (this.rules[n])
+				this.vElements[this.vElements.length] = this.rules[n].tag;
+		}
+
+		this.vElementsRe = this._arrayToRe(this.vElements, '');
+	},
+
+	isValid : function(n) {
+		this._setupRules(); // Will initialize cleanup rules
+
+		// Empty is true since it removes formatting
+		if (!n)
+			return true;
+
+		// Clean the name up a bit
+		n = n.replace(/[^a-z0-9]+/gi, '').toUpperCase();
+
+		return !tinyMCE.getParam('cleanup') || this.vElementsRe.test(n);
+	},
+
+	addChildRemoveRuleStr : function(s) {
+		var x, y, p, i, t, tn, ta, cl, r;
+
+		if (!s)
+			return;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+
+			// Split tag/children
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = "^(";
+
+				// Build regex
+				cl = this.split(/\|/, p[1]);
+				for (i=0; i<cl.length; i++) {
+					if (cl[i] == '%istrict')
+						r += tinyMCE.inlineStrict;
+					else if (cl[i] == '%itrans')
+						r += tinyMCE.inlineTransitional;
+					else if (cl[i] == '%istrict_na')
+						r += tinyMCE.inlineStrict.substring(2);
+					else if (cl[i] == '%itrans_na')
+						r += tinyMCE.inlineTransitional.substring(2);
+					else if (cl[i] == '%btrans')
+						r += tinyMCE.blockElms;
+					else if (cl[i] == '%strict')
+						r += tinyMCE.blockStrict;
+					else
+						r += (cl[i].charAt(0) != '#' ? cl[i].toUpperCase() : cl[i]);
+
+					r += (i != cl.length - 1 ? '|' : '');
+				}
+
+				r += ')$';
+//tinyMCE.debug(t + "=" + r);
+				if (this.childRules == null)
+					this.childRules = tinyMCE.clearArray(new Array());
+
+				this.childRules[tn[y]] = new RegExp(r);
+
+				if (p.length > 1)
+					this.childRules[tn[y]].wrapTag = p[2];
+			}
+		}
+	},
+
+	parseRuleStr : function(s) {
+		var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
+
+		if (s == null || s.length == 0)
+			return or;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+			if (s.length == 0)
+				continue;
+
+			// Split tag/attrs
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = {};
+
+				r.tag = tn[y];
+				r.forceAttribs = null;
+				r.defaultAttribs = null;
+				r.validAttribValues = null;
+
+				// Handle prefixes
+				px = r.tag.charAt(0);
+				r.forceOpen = px == '+';
+				r.removeEmpty = px == '-';
+				r.fill = px == '#';
+				r.tag = r.tag.replace(/\+|-|#/g, '');
+				r.oTagName = tn[0].replace(/\+|-|#/g, '').toLowerCase();
+				r.isWild = new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
+				r.validRe = new RegExp(this._wildcardToRe('^' + r.tag + '$'));
+
+				// Setup valid attributes
+				if (p.length > 1) {
+					r.vAttribsRe = '^(';
+					a = this.split(/\|/, p[1]);
+
+					for (i=0; i<a.length; i++) {
+						t = a[i];
+
+						if (t.charAt(0) == '!') {
+							a[i] = t = t.substring(1);
+
+							if (!r.reqAttribsRe)
+								r.reqAttribsRe = '\\s+(' + t;
+							else
+								r.reqAttribsRe += '|' + t;
+						}
+
+						av = new RegExp('(=|:|<)(.*?)$').exec(t);
+						t = t.replace(new RegExp('(=|:|<).*?$'), '');
+						if (av && av.length > 0) {
+							if (av[0].charAt(0) == ':') {
+								if (!r.forceAttribs)
+									r.forceAttribs = tinyMCE.clearArray(new Array());
+
+								r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
+							} else if (av[0].charAt(0) == '=') {
+								if (!r.defaultAttribs)
+									r.defaultAttribs = tinyMCE.clearArray(new Array());
+
+								dv = av[0].substring(1);
+
+								r.defaultAttribs[t.toLowerCase()] = dv == "" ? "mce_empty" : dv;
+							} else if (av[0].charAt(0) == '<') {
+								if (!r.validAttribValues)
+									r.validAttribValues = tinyMCE.clearArray(new Array());
+
+								r.validAttribValues[t.toLowerCase()] = this._arrayToRe(this.split('?', av[0].substring(1)), 'i');
+							}
+						}
+
+						r.vAttribsRe += '' + t.toLowerCase() + (i != a.length - 1 ? '|' : '');
+
+						a[i] = t.toLowerCase();
+					}
+
+					if (r.reqAttribsRe)
+						r.reqAttribsRe = new RegExp(r.reqAttribsRe + ')=\"', 'g');
+
+					r.vAttribsRe += ')$';
+					r.vAttribsRe = this._wildcardToRe(r.vAttribsRe);
+					r.vAttribsReIsWild = new RegExp('\\*|\\?|\\+', 'g').test(r.vAttribsRe);
+					r.vAttribsRe = new RegExp(r.vAttribsRe);
+					r.vAttribs = a.reverse();
+
+					//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
+				} else {
+					r.vAttribsRe = '';
+					r.vAttribs = tinyMCE.clearArray(new Array());
+					r.vAttribsReIsWild = false;
+				}
+
+				or[r.tag] = r;
+			}
+		}
+
+		return or;
+	},
+
+	serializeNodeAsXML : function(n) {
+		var s, b;
+
+		if (!this.xmlDoc) {
+			if (this.isIE) {
+				try {this.xmlDoc = new ActiveXObject('MSXML2.DOMDocument');} catch (e) {}
+
+				if (!this.xmlDoc)
+					try {this.xmlDoc = new ActiveXObject('Microsoft.XmlDom');} catch (e) {}
+			} else
+				this.xmlDoc = document.implementation.createDocument('', '', null);
+
+			if (!this.xmlDoc)
+				alert("Error XML Parser could not be found.");
+		}
+
+		if (this.xmlDoc.firstChild)
+			this.xmlDoc.removeChild(this.xmlDoc.firstChild);
+
+		b = this.xmlDoc.createElement("html");
+		b = this.xmlDoc.appendChild(b);
+
+		this._convertToXML(n, b);
+
+		if (this.isIE)
+			return this.xmlDoc.xml;
+		else
+			return new XMLSerializer().serializeToString(this.xmlDoc);
+	},
+
+	_convertToXML : function(n, xn) {
+		var xd, el, i, l, cn, at, no, hc = false;
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return;
+
+		xd = this.xmlDoc;
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				el = xd.createElement(n.nodeName.toLowerCase());
+
+				at = n.attributes;
+				for (i=at.length-1; i>-1; i--) {
+					no = at[i];
+
+					if (no.specified && no.nodeValue)
+						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
+				}
+
+				if (!hc && !this.closeElementsRe.test(n.nodeName))
+					el.appendChild(xd.createTextNode(""));
+
+				xn = xn.appendChild(el);
+				break;
+
+			case 3: // Text
+				xn.appendChild(xd.createTextNode(n.nodeValue));
+				return;
+
+			case 8: // Comment
+				xn.appendChild(xd.createComment(n.nodeValue));
+				return;
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				this._convertToXML(cn[i], xn);
+		}
+	},
+
+	serializeNodeAsHTML : function(n, inn) {
+		var en, no, h = '', i, l, t, st, r, cn, va = false, f = false, at, hc, cr, nn;
+
+		this._setupRules(); // Will initialize cleanup rules
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return '';
+
+		// Skip non valid child elements
+		if (n.parentNode && this.childRules != null) {
+			cr = this.childRules[n.parentNode.nodeName];
+
+			if (typeof(cr) != "undefined" && !cr.test(n.nodeName)) {
+				st = true;
+				t = null;
+			}
+		}
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				if (st)
+					break;
+
+				// MSIE sometimes produces <//tag>
+				if ((tinyMCE.isRealIE) && n.nodeName.indexOf('/') != -1)
+					break;
+
+				nn = n.nodeName;
+
+				// Convert fonts to spans
+				if (this.settings.convert_fonts_to_spans) {
+					// On get content FONT -> SPAN
+					if (this.settings.on_save && nn == 'FONT')
+						nn = 'SPAN';
+
+					// On insert content SPAN -> FONT
+					if (!this.settings.on_save && nn == 'SPAN')
+						nn = 'FONT';
+				}
+
+				if (this.vElementsRe.test(nn) && (!this.iveRe || !this.iveRe.test(nn)) && !inn) {
+					va = true;
+
+					r = this.rules[nn];
+					if (!r) {
+						at = this.rules;
+						for (no in at) {
+							if (at[no] && at[no].validRe.test(nn)) {
+								r = at[no];
+								break;
+							}
+						}
+					}
+
+					en = r.isWild ? nn.toLowerCase() : r.oTagName;
+					f = r.fill;
+
+					if (r.removeEmpty && !hc)
+						return "";
+
+					t = '<' + en;
+
+					if (r.vAttribsReIsWild) {
+						// Serialize wildcard attributes
+						at = n.attributes;
+						for (i=at.length-1; i>-1; i--) {
+							no = at[i];
+							if (no.specified && r.vAttribsRe.test(no.nodeName))
+								t += this._serializeAttribute(n, r, no.nodeName);
+						}
+					} else {
+						// Serialize specific attributes
+						for (i=r.vAttribs.length-1; i>-1; i--)
+							t += this._serializeAttribute(n, r, r.vAttribs[i]);
+					}
+
+					// Serialize mce_ atts
+					if (!this.settings.on_save) {
+						at = this.mceAttribs;
+
+						for (no in at) {
+							if (at[no])
+								t += this._serializeAttribute(n, r, at[no]);
+						}
+					}
+
+					// Check for required attribs
+					if (r.reqAttribsRe && !t.match(r.reqAttribsRe))
+						t = null;
+
+					// Close these
+					if (t != null && this.closeElementsRe.test(nn))
+						return t + ' />';
+
+					if (t != null)
+						h += t + '>';
+
+					if (this.isIE && this.codeElementsRe.test(nn))
+						h += n.innerHTML;
+				}
+			break;
+
+			case 3: // Text
+				if (st)
+					break;
+
+				if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
+					return this.isIE ? '' : n.nodeValue;
+
+				return this.xmlEncode(n.nodeValue);
+
+			case 8: // Comment
+				if (st)
+					break;
+
+				return "<!--" + this._trimComment(n.nodeValue) + "-->";
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				h += this.serializeNodeAsHTML(cn[i]);
+		}
+
+		// Fill empty nodes
+		if (f && !hc)
+			h += this.fillStr;
+
+		// End element
+		if (t != null && va)
+			h += '</' + en + '>';
+
+		return h;
+	},
+
+	_serializeAttribute : function(n, r, an) {
+		var av = '', t, os = this.settings.on_save;
+
+		if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0))
+			return '';
+
+		if (os && this.mceAttribs[an])
+			av = this._getAttrib(n, this.mceAttribs[an]);
+
+		if (av.length == 0)
+			av = this._getAttrib(n, an);
+
+		if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) {
+			av = t;
+
+			if (av == "mce_empty")
+				return " " + an + '=""';
+		}
+
+		if (r.forceAttribs && (t = r.forceAttribs[an]))
+			av = t;
+
+		if (os && av.length != 0 && /^(src|href|longdesc)$/.test(an))
+			av = this._urlConverter(this, n, av);
+
+		if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av))
+			return "";
+
+		if (av.length != 0 && av == "{$uid}")
+			av = "uid_" + (this.idCount++);
+
+		if (av.length != 0) {
+			if (an.indexOf('on') != 0)
+				av = this.xmlEncode(av, 1);
+
+			return " " + an + "=" + '"' + av + '"';
+		}
+
+		return "";
+	},
+
+	formatHTML : function(h) {
+		var s = this.settings, p = '', i = 0, li = 0, o = '', l;
+
+		// Replace BR in pre elements to \n
+		h = h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi, function (a, b, c) {
+			c = c.replace(/<br\s*\/>/gi, '\n');
+			return '<pre' + b + '>' + c + '</pre>';
+		});
+
+		h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :)
+		h = '\n' + h;
+		h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting
+		h = h.replace(this.nlBeforeRe, '\n<$1$2>');
+		h = h.replace(this.nlAfterRe, '<$1$2>\n');
+		h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
+		h += '\n';
+
+		//tinyMCE.debug(h);
+
+		while ((i = h.indexOf('\n', i + 1)) != -1) {
+			if ((l = h.substring(li + 1, i)).length != 0) {
+				if (this.ouRe.test(l) && p.length >= s.indent_levels)
+					p = p.substring(s.indent_levels);
+
+				o += p + l + '\n';
+	
+				if (this.inRe.test(l))
+					p += this.inStr;
+			}
+
+			li = i;
+		}
+
+		//tinyMCE.debug(h);
+
+		return o;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		var cl = this, re = !skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe;
+
+		this._setupEntities(); // Will intialize lookup table
+
+		switch (this.settings.entity_encoding) {
+			case "raw":
+				return tinyMCE.xmlEncode(s, skip_apos);
+
+			case "named":
+				return s.replace(re, function (c, b) {
+					b = cl.entities[c.charCodeAt(0)];
+
+					return b ? '&' + b + ';' : c;
+				});
+
+			case "numeric":
+				return s.replace(re, function (c, b) {
+					return b ? '&#' + c.charCodeAt(0) + ';' : c;
+				});
+		}
+
+		return s;
+	},
+
+	split : function(re, s) {
+		var c = s.split(re);
+		var i, l, o = new Array();
+
+		for (i=0, l=c.length; i<l; i++) {
+			if (c[i] != '')
+				o[i] = c[i];
+		}
+
+		return o;
+	},
+
+	_trimComment : function(s) {
+		// Remove mce_src, mce_href
+		s = s.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+		s = s.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+
+		return s;
+	},
+
+	_getAttrib : function(e, n, d) {
+		var v, ex, nn;
+
+		if (typeof(d) == "undefined")
+			d = "";
+
+		if (!e || e.nodeType != 1)
+			return d;
+
+		try {
+			v = e.getAttribute(n, 0);
+		} catch (ex) {
+			// IE 7 may cast exception on invalid attributes
+			v = e.getAttribute(n, 2);
+		}
+
+		if (n == "class" && !v)
+			v = e.className;
+
+		if (this.isIE) {
+			if (n == "http-equiv")
+				v = e.httpEquiv;
+
+			nn = e.nodeName;
+
+			// Skip the default values that IE returns
+			if (nn == "FORM" && n == "enctype" && v == "application/x-www-form-urlencoded")
+				v = "";
+
+			if (nn == "INPUT" && n == "size" && v == "20")
+				v = "";
+
+			if (nn == "INPUT" && n == "maxlength" && v == "2147483647")
+				v = "";
+		}
+
+		if (n == 'style' && v) {
+			if (!tinyMCE.isOpera)
+				v = e.style.cssText;
+
+			v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
+		}
+
+		if (this.settings.on_save && n.indexOf('on') != -1 && this.settings.on_save && v && v != "")
+			v = tinyMCE.cleanupEventStr(v);
+
+		return (v && v != "") ? '' + v : d;
+	},
+
+	_urlConverter : function(c, n, v) {
+		if (!c.settings.on_save)
+			return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
+		else if (tinyMCE.getParam('convert_urls')) {
+			if (!this.urlConverter)
+				this.urlConverter = eval(tinyMCE.settings.urlconverter_callback);
+
+			return this.urlConverter(v, n, true);
+		}
+
+		return v;
+	},
+
+	_arrayToRe : function(a, op, be, af) {
+		var i, r;
+
+		op = typeof(op) == "undefined" ? "gi" : op;
+		be = typeof(be) == "undefined" ? "^(" : be;
+		af = typeof(af) == "undefined" ? ")$" : af;
+
+		r = be;
+
+		for (i=0; i<a.length; i++)
+			r += this._wildcardToRe(a[i]) + (i != a.length-1 ? "|" : "");
+
+		r += af;
+
+		return new RegExp(r, op);
+	},
+
+	_wildcardToRe : function(s) {
+		s = s.replace(/\?/g, '(\\S?)');
+		s = s.replace(/\+/g, '(\\S+)');
+		s = s.replace(/\*/g, '(\\S*)');
+
+		return s;
+	},
+
+	_setupEntities : function() {
+		var n, a, i, s = this.settings;
+
+		// Setup entities
+		if (!this.entitiesDone) {
+			if (s.entity_encoding == "named") {
+				n = tinyMCE.clearArray(new Array());
+				a = this.split(',', s.entities);
+				for (i=0; i<a.length; i+=2)
+					n[a[i]] = a[i+1];
+
+				this.entities = n;
+			}
+
+			this.entitiesDone = true;
+		}
+	},
+
+	_setupRules : function() {
+		var s = this.settings;
+
+		// Setup default rule
+		if (!this.rulesDone) {
+			this.addRuleStr(s.valid_elements);
+			this.addRuleStr(s.extended_valid_elements);
+			this.addChildRemoveRuleStr(s.valid_child_elements);
+
+			this.rulesDone = true;
+		}
+	},
+
+	_isDuplicate : function(n) {
+		var i;
+
+		if (!this.settings.fix_content_duplication)
+			return false;
+
+		if (tinyMCE.isRealIE && n.nodeType == 1) {
+			// Mark elements
+			if (n.mce_serialized == this.serializationId)
+				return true;
+
+			n.setAttribute('mce_serialized', this.serializationId);
+		} else {
+			// Search lookup table for text nodes  and comments
+			for (i=0; i<this.serializedNodes.length; i++) {
+				if (this.serializedNodes[i] == n)
+					return true;
+			}
+
+			this.serializedNodes[this.serializedNodes.length] = n;
+		}
+
+		return false;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */
+
+TinyMCE_Engine.prototype.createTagHTML = function(tn, a, h) {
+	var o = '', f = tinyMCE.xmlEncode;
+
+	o = '<' + tn;
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				o += ' ' + f(n) + '="' + f('' + a[n]) + '"';
+		}
+	}
+
+	o += !h ? ' />' : '>' + h + '</' + tn + '>';
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.createTag = function(d, tn, a, h) {
+	var o = d.createElement(tn);
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				tinyMCE.setAttrib(o, n, a[n]);
+		}
+	}
+
+	if (h)
+		o.innerHTML = h;
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) {
+	return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
+};
+
+TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) {
+	var i, nl = n.getElementsByTagName(e), o = new Array();
+
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
+			o[o.length] = nl[i];
+	}
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.isBlockElement = function(n) {
+	return n != null && n.nodeType == 1 && this.blockRegExp.test(n.nodeName);
+};
+
+TinyMCE_Engine.prototype.getParentBlockElement = function(n, r) {
+	return this.getParentNode(n, function(n) {
+		return tinyMCE.isBlockElement(n);
+	}, r);
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.insertAfter = function(n, r){
+	if (r.nextSibling)
+		r.parentNode.insertBefore(n, r.nextSibling);
+	else
+		r.parentNode.appendChild(n);
+};
+
+TinyMCE_Engine.prototype.setInnerHTML = function(e, h) {
+	var i, nl, n;
+
+	// Convert all strong/em to b/i in Gecko
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<embed([^>]*)>/gi, '<tmpembed$1>');
+		h = h.replace(/<em([^>]*)>/gi, '<i$1>');
+		h = h.replace(/<tmpembed([^>]*)>/gi, '<embed$1>');
+		h = h.replace(/<strong([^>]*)>/gi, '<b$1>');
+		h = h.replace(/<\/strong>/gi, '</b>');
+		h = h.replace(/<\/em>/gi, '</i>');
+	}
+
+	if (tinyMCE.isRealIE) {
+		// Since MSIE handles invalid HTML better that valid XHTML we
+		// need to make some things invalid. <hr /> gets converted to <hr>.
+		h = h.replace(/\s\/>/g, '>');
+
+		// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones
+		h = h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s+<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+
+		// Remove first comment
+		e.innerHTML = tinyMCE.uniqueTag + h;
+		e.firstChild.removeNode(true);
+
+		// Remove weird auto generated empty paragraphs unless it's supposed to be there
+		nl = e.getElementsByTagName("p");
+		for (i=nl.length-1; i>=0; i--) {
+			n = nl[i];
+
+			if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep)
+				n.parentNode.removeChild(n);
+		}
+	} else {
+		h = this.fixGeckoBaseHREFBug(1, e, h);
+		e.innerHTML = h;
+		this.fixGeckoBaseHREFBug(2, e, h);
+	}
+};
+
+TinyMCE_Engine.prototype.getOuterHTML = function(e) {
+	if (tinyMCE.isIE)
+		return e.outerHTML;
+
+	var d = e.ownerDocument.createElement("body");
+	d.appendChild(e.cloneNode(true));
+	return d.innerHTML;
+};
+
+TinyMCE_Engine.prototype.setOuterHTML = function(e, h, d) {
+	var d = typeof(d) == "undefined" ? e.ownerDocument : d, i, nl, t;
+
+	if (tinyMCE.isIE && e.nodeType == 1)
+		e.outerHTML = h;
+	else {
+		t = d.createElement("body");
+		t.innerHTML = h;
+
+		for (i=0, nl=t.childNodes; i<nl.length; i++)
+			e.parentNode.insertBefore(nl[i].cloneNode(true), e);
+
+		e.parentNode.removeChild(e);
+	}
+};
+
+TinyMCE_Engine.prototype._getElementById = function(id, d) {
+	var e, i, j, f;
+
+	if (typeof(d) == "undefined")
+		d = document;
+
+	e = d.getElementById(id);
+	if (!e) {
+		f = d.forms;
+
+		for (i=0; i<f.length; i++) {
+			for (j=0; j<f[i].elements.length; j++) {
+				if (f[i].elements[j].name == id) {
+					e = f[i].elements[j];
+					break;
+				}
+			}
+		}
+	}
+
+	return e;
+};
+
+TinyMCE_Engine.prototype.getNodeTree = function(n, na, t, nn) {
+	return this.selectNodes(n, function(n) {
+		return (!t || n.nodeType == t) && (!nn || n.nodeName == nn);
+	}, na ? na : new Array());
+};
+
+TinyMCE_Engine.prototype.getParentElement = function(n, na, f, r) {
+	var re = na ? new RegExp('^(' + na.toUpperCase().replace(/,/g, '|') + ')$') : 0, v;
+
+	// Compatiblity with old scripts where f param was a attribute string
+	if (f && typeof(f) == 'string')
+		return this.getParentElement(n, na, function(no) {return tinyMCE.getAttrib(no, f) != '';});
+
+	return this.getParentNode(n, function(n) {
+		return ((n.nodeType == 1 && !re) || (re && re.test(n.nodeName))) && (!f || f(n));
+	}, r);
+};
+
+TinyMCE_Engine.prototype.getParentNode = function(n, f, r) {
+	while (n) {
+		if (n == r)
+			return null;
+
+		if (f(n))
+			return n;
+
+		n = n.parentNode;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.getAttrib = function(elm, name, dv) {
+	var v;
+
+	if (typeof(dv) == "undefined")
+		dv = "";
+
+	// Not a element
+	if (!elm || elm.nodeType != 1)
+		return dv;
+
+	try {
+		v = elm.getAttribute(name, 0);
+	} catch (ex) {
+		// IE 7 may cast exception on invalid attributes
+		v = elm.getAttribute(name, 2);
+	}
+
+	// Try className for class attrib
+	if (name == "class" && !v)
+		v = elm.className;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "src" && elm.src != null && elm.src != "")
+		v = elm.src;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "href" && elm.href != null && elm.href != "")
+		v = elm.href;
+
+	if (name == "http-equiv" && tinyMCE.isIE)
+		v = elm.httpEquiv;
+
+	if (name == "style" && !tinyMCE.isOpera)
+		v = elm.style.cssText;
+
+	return (v && v != "") ? v : dv;
+};
+
+TinyMCE_Engine.prototype.setAttrib = function(el, name, va, fix) {
+	if (typeof(va) == "number" && va != null)
+		va = "" + va;
+
+	if (fix) {
+		if (va == null)
+			va = "";
+
+		va = va.replace(/[^0-9%]/g, '');
+	}
+
+	if (name == "style")
+		el.style.cssText = va;
+
+	if (name == "class")
+		el.className = va;
+
+	if (va != null && va != "" && va != -1)
+		el.setAttribute(name, va);
+	else
+		el.removeAttribute(name);
+};
+
+TinyMCE_Engine.prototype.setStyleAttrib = function(e, n, v) {
+	e.style[n] = v;
+
+	// Style attrib deleted in IE
+	if (tinyMCE.isIE && v == null || v == '') {
+		v = tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));
+		e.style.cssText = v;
+		e.setAttribute("style", v);
+	}
+};
+
+TinyMCE_Engine.prototype.switchClass = function(ei, c) {
+	var e;
+
+	if (tinyMCE.switchClassCache[ei])
+		e = tinyMCE.switchClassCache[ei];
+	else
+		e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
+
+	if (e) {
+		// Keep tile mode
+		if (tinyMCE.settings.button_tile_map && e.className && e.className.indexOf('mceTiledButton') == 0)
+			c = 'mceTiledButton ' + c;
+
+		e.className = c;
+	}
+};
+
+TinyMCE_Engine.prototype.getAbsPosition = function(n, cn) {
+	var l = 0, t = 0;
+
+	while (n && n != cn) {
+		l += n.offsetLeft;
+		t += n.offsetTop;
+		n = n.offsetParent;
+	}
+
+	return {absLeft : l, absTop : t};
+};
+
+TinyMCE_Engine.prototype.prevNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.previousSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.nextNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.nextSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.selectElements = function(n, na, f) {
+	var i, a = [], nl, x;
+
+	for (x=0, na = na.split(','); x<na.length; x++)
+		for (i=0, nl = n.getElementsByTagName(na[x]); i<nl.length; i++)
+			(!f || f(nl[i])) && a.push(nl[i]);
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.selectNodes = function(n, f, a) {
+	var i;
+
+	if (!a)
+		a = new Array();
+
+	if (f(n))
+		a[a.length] = n;
+
+	if (n.hasChildNodes()) {
+		for (i=0; i<n.childNodes.length; i++)
+			tinyMCE.selectNodes(n.childNodes[i], f, a);
+	}
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.addCSSClass = function(e, c, b) {
+	var o = this.removeCSSClass(e, c);
+	return e.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+};
+
+TinyMCE_Engine.prototype.removeCSSClass = function(e, c) {
+	c = e.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+	return e.className = c != ' ' ? c : '';
+};
+
+TinyMCE_Engine.prototype.hasCSSClass = function(n, c) {
+	return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
+};
+
+TinyMCE_Engine.prototype.renameElement = function(e, n, d) {
+	var ne, i, ar;
+
+	d = typeof(d) == "undefined" ? tinyMCE.selectedInstance.getDoc() : d;
+
+	if (e) {
+		ne = d.createElement(n);
+
+		ar = e.attributes;
+		for (i=ar.length-1; i>-1; i--) {
+			if (ar[i].specified && ar[i].nodeValue)
+				ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
+		}
+
+		ar = e.childNodes;
+		for (i=0; i<ar.length; i++)
+			ne.appendChild(ar[i].cloneNode(true));
+
+		e.parentNode.replaceChild(ne, e);
+	}
+};
+
+TinyMCE_Engine.prototype.getViewPort = function(w) {
+	var d = w.document, m = d.compatMode == 'CSS1Compat', b = d.body, de = d.documentElement;
+
+	return {
+		left : w.pageXOffset || (m ? de.scrollLeft : b.scrollLeft),
+		top : w.pageYOffset || (m ? de.scrollTop : b.scrollTop),
+		width : w.innerWidth || (m ? de.clientWidth : b.clientWidth),
+		height : w.innerHeight || (m ? de.clientHeight : b.clientHeight)
+	};
+};
+
+TinyMCE_Engine.prototype.getStyle = function(n, na, d) {
+	if (!n)
+		return false;
+
+	// Gecko
+	if (tinyMCE.isGecko && n.ownerDocument.defaultView) {
+		try {
+			return n.ownerDocument.defaultView.getComputedStyle(n, null).getPropertyValue(na);
+		} catch (n) {
+			// Old safari might fail
+			return null;
+		}
+	}
+
+	// Camelcase it, if needed
+	na = na.replace(/-(\D)/g, function(a, b){
+		return b.toUpperCase();
+	});
+
+	// IE & Opera
+	if (n.currentStyle)
+		return n.currentStyle[na];
+
+	return false;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */
+
+TinyMCE_Engine.prototype.parseURL = function(url_str) {
+	var urlParts = new Array();
+
+	if (url_str) {
+		var pos, lastPos;
+
+		// Parse protocol part
+		pos = url_str.indexOf('://');
+		if (pos != -1) {
+			urlParts['protocol'] = url_str.substring(0, pos);
+			lastPos = pos + 3;
+		}
+
+		// Find port or path start
+		for (var i=lastPos; i<url_str.length; i++) {
+			var chr = url_str.charAt(i);
+
+			if (chr == ':')
+				break;
+
+			if (chr == '/')
+				break;
+		}
+		pos = i;
+
+		// Get host
+		urlParts['host'] = url_str.substring(lastPos, pos);
+
+		// Get port
+		urlParts['port'] = "";
+		lastPos = pos;
+		if (url_str.charAt(pos) == ':') {
+			pos = url_str.indexOf('/', lastPos);
+			urlParts['port'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get path
+		lastPos = pos;
+		pos = url_str.indexOf('?', lastPos);
+
+		if (pos == -1)
+			pos = url_str.indexOf('#', lastPos);
+
+		if (pos == -1)
+			pos = url_str.length;
+
+		urlParts['path'] = url_str.substring(lastPos, pos);
+
+		// Get query
+		lastPos = pos;
+		if (url_str.charAt(pos) == '?') {
+			pos = url_str.indexOf('#');
+			pos = (pos == -1) ? url_str.length : pos;
+			urlParts['query'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get anchor
+		lastPos = pos;
+		if (url_str.charAt(pos) == '#') {
+			pos = url_str.length;
+			urlParts['anchor'] = url_str.substring(lastPos+1, pos);
+		}
+	}
+
+	return urlParts;
+};
+
+TinyMCE_Engine.prototype.serializeURL = function(up) {
+	var o = "";
+
+	if (up['protocol'])
+		o += up['protocol'] + "://";
+
+	if (up['host'])
+		o += up['host'];
+
+	if (up['port'])
+		o += ":" + up['port'];
+
+	if (up['path'])
+		o += up['path'];
+
+	if (up['query'])
+		o += "?" + up['query'];
+
+	if (up['anchor'])
+		o += "#" + up['anchor'];
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
+	var baseURL = this.parseURL(base_url);
+	var targetURL = this.parseURL(url_to_relative);
+	var strTok1;
+	var strTok2;
+	var breakPoint = 0;
+	var outPath = "";
+	var forceSlash = false;
+
+	if (targetURL.path == "")
+		targetURL.path = "/";
+	else
+		forceSlash = true;
+
+	// Crop away last path part
+	base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
+	strTok1 = base_url.split('/');
+	strTok2 = targetURL.path.split('/');
+
+	if (strTok1.length >= strTok2.length) {
+		for (var i=0; i<strTok1.length; i++) {
+			if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (strTok1.length < strTok2.length) {
+		for (var i=0; i<strTok2.length; i++) {
+			if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (breakPoint == 1)
+		return targetURL.path;
+
+	for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
+		outPath += "../";
+
+	for (var i=breakPoint-1; i<strTok2.length; i++) {
+		if (i != (breakPoint-1))
+			outPath += "/" + strTok2[i];
+		else
+			outPath += strTok2[i];
+	}
+
+	targetURL.protocol = null;
+	targetURL.host = null;
+	targetURL.port = null;
+	targetURL.path = outPath == "" && forceSlash ? "/" : outPath;
+
+	// Remove document prefix from local anchors
+	var fileName = baseURL.path;
+	var pos;
+
+	if ((pos = fileName.lastIndexOf('/')) != -1)
+		fileName = fileName.substring(pos + 1);
+
+	// Is local anchor
+	if (fileName == targetURL.path && targetURL.anchor != "")
+		targetURL.path = "";
+
+	// If empty and not local anchor force filename or slash
+	if (targetURL.path == "" && !targetURL.anchor)
+		targetURL.path = fileName != "" ? fileName : "/";
+
+	return this.serializeURL(targetURL);
+};
+
+TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
+	var baseURL = this.parseURL(base_url), baseURLParts, relURLParts;
+	var relURL = this.parseURL(relative_url);
+
+	if (relative_url == "" || relative_url.indexOf('://') != -1 || /^(mailto:|javascript:|#|\/)/.test(relative_url))
+		return relative_url;
+
+	// Split parts
+	baseURLParts = baseURL['path'].split('/');
+	relURLParts = relURL['path'].split('/');
+
+	// Remove empty chunks
+	var newBaseURLParts = new Array();
+	for (var i=baseURLParts.length-1; i>=0; i--) {
+		if (baseURLParts[i].length == 0)
+			continue;
+
+		newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+	}
+	baseURLParts = newBaseURLParts.reverse();
+
+	// Merge relURLParts chunks
+	var newRelURLParts = new Array();
+	var numBack = 0;
+	for (var i=relURLParts.length-1; i>=0; i--) {
+		if (relURLParts[i].length == 0 || relURLParts[i] == ".")
+			continue;
+
+		if (relURLParts[i] == '..') {
+			numBack++;
+			continue;
+		}
+
+		if (numBack > 0) {
+			numBack--;
+			continue;
+		}
+
+		newRelURLParts[newRelURLParts.length] = relURLParts[i];
+	}
+
+	relURLParts = newRelURLParts.reverse();
+
+	// Remove end from absolute path
+	var len = baseURLParts.length-numBack;
+	var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
+	var start = "", end = "";
+
+	// Build output URL
+	relURL.protocol = baseURL.protocol;
+	relURL.host = baseURL.host;
+	relURL.port = baseURL.port;
+
+	// Re-add trailing slash if it's removed
+	if (relURL.path.charAt(relURL.path.length-1) == "/")
+		absPath += "/";
+
+	relURL.path = absPath;
+
+	return this.serializeURL(relURL);
+};
+
+TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) {
+	var prot = document.location.protocol;
+	var host = document.location.hostname;
+	var port = document.location.port;
+
+	// Pass through file protocol
+	if (prot == "file:")
+		return url;
+
+	// Something is wrong, remove weirdness
+	url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
+
+	// Mailto link or anchor (Pass through)
+	if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+		return url;
+
+	// Fix relative/Mozilla
+	if (!tinyMCE.isIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
+		return tinyMCE.settings['base_href'] + url;
+
+	// Handle relative URLs
+	if (on_save && tinyMCE.getParam('relative_urls')) {
+		var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+		if (curl.charAt(0) == '/')
+			curl = tinyMCE.settings['document_base_prefix'] + curl;
+
+		var urlParts = tinyMCE.parseURL(curl);
+		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
+
+		// Force relative
+		if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port']))
+			return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl);
+	}
+
+	// Handle absolute URLs
+	if (!tinyMCE.getParam('relative_urls')) {
+		var urlParts = tinyMCE.parseURL(url);
+		var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
+
+		// Force absolute URLs from relative URLs
+		url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+
+		// If anchor and path is the same page
+		if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
+			return "#" + urlParts['anchor'];
+	}
+
+	// Remove current domain
+	if (tinyMCE.getParam('remove_script_host')) {
+		var start = "", portPart = "";
+
+		if (port != "")
+			portPart = ":" + port;
+
+		start = prot + "//" + host + portPart + "/";
+
+		if (url.indexOf(start) == 0)
+			url = url.substring(start.length-1);
+	}
+
+	return url;
+};
+
+TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) {
+	var i, elms, src, href, mhref, msrc;
+
+	// Convert all image URL:s to absolute URL
+	elms = body.getElementsByTagName("img");
+	for (i=0; i<elms.length; i++) {
+		src = tinyMCE.getAttrib(elms[i], 'src');
+
+		msrc = tinyMCE.getAttrib(elms[i], 'mce_src');
+		if (msrc != "")
+			src = msrc;
+
+		if (src != "") {
+			src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+			elms[i].setAttribute("src", src);
+		}
+	}
+
+	// Convert all link URL:s to absolute URL
+	elms = body.getElementsByTagName("a");
+	for (i=0; i<elms.length; i++) {
+		href = tinyMCE.getAttrib(elms[i], 'href');
+
+		mhref = tinyMCE.getAttrib(elms[i], 'mce_href');
+		if (mhref != "")
+			href = mhref;
+
+		if (href && href != "") {
+			href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
+			elms[i].setAttribute("href", href);
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */
+
+TinyMCE_Engine.prototype.clearArray = function(a) {
+	var n;
+
+	for (n in a)
+		a[n] = null;
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.explode = function(d, s) {
+	var ar = s.split(d), oar = new Array(), i;
+
+	for (i = 0; i<ar.length; i++) {
+		if (ar[i] != "")
+			oar[oar.length] = ar[i];
+	}
+
+	return oar;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */
+
+TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
+	var evs, x, y, elms, i, event;
+	var events = ['onfocus','onblur','onclick','ondblclick',
+				'onmousedown','onmouseup','onmouseover','onmousemove',
+				'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];
+
+	evs = tinyMCE.settings['event_elements'].split(',');
+	for (y=0; y<evs.length; y++){
+		elms = node.getElementsByTagName(evs[y]);
+		for (i=0; i<elms.length; i++) {
+			event = "";
+
+			for (x=0; x<events.length; x++) {
+				if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
+					event = tinyMCE.cleanupEventStr("" + event);
+
+					if (!state)
+						event = "return true;" + event;
+					else
+						event = event.replace(/^return true;/gi, '');
+
+					elms[i].removeAttribute(events[x]);
+					elms[i].setAttribute(events[x], event);
+				}
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
+	var n, inst, win, e;
+
+	// Remove odd, error
+	if (typeof(tinyMCE) == "undefined")
+		return true;
+
+	try {
+		// Try selected instance first
+		if (tinyMCE.selectedInstance) {
+			win = tinyMCE.selectedInstance.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+
+		// Search for it
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.select();
+			win = inst.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+	} catch (ex) {
+		// Ignore error if iframe is pointing to external URL
+	}
+};
+
+TinyMCE_Engine.prototype.findEvent = function(e) {
+	var n, inst;
+
+	if (e)
+		return e;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (tinyMCE.isInstance(inst) && inst.getWin().event)
+			return inst.getWin().event;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.unloadHandler = function() {
+	tinyMCE.triggerSave(true, true);
+};
+
+TinyMCE_Engine.prototype.addEventHandlers = function(inst) {
+	this.setEventHandlers(inst, 1);
+};
+
+TinyMCE_Engine.prototype.setEventHandlers = function(inst, s) {
+	var doc = inst.getDoc(), ie, ot, i, f = s ? tinyMCE.addEvent : tinyMCE.removeEvent;
+
+	ie = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'controlselect', 'dblclick'];
+	ot = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'focus', 'blur', 'dragdrop'];
+
+	inst.switchSettings();
+
+	if (tinyMCE.isIE) {
+		for (i=0; i<ie.length; i++)
+			f(doc, ie[i], TinyMCE_Engine.prototype._eventPatch);
+	} else {
+		for (i=0; i<ot.length; i++)
+			f(doc, ot[i], tinyMCE.handleEvent);
+
+		// Force designmode
+		try {
+			doc.designMode = "On";
+		} catch (e) {
+			// Ignore
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.onMouseMove = function() {
+	var inst, lh;
+
+	// Fix for IE7 bug where it's not restoring hover on anchors correctly
+	if (tinyMCE.lastHover) {
+		lh = tinyMCE.lastHover;
+
+		// Call out on menus and refresh class on normal buttons
+		if (lh.className.indexOf('mceMenu') != -1)
+			tinyMCE._menuButtonEvent('out', lh);
+		else
+			lh.className = lh.className;
+
+		tinyMCE.lastHover = null;
+	}
+
+	if (!tinyMCE.hasMouseMoved) {
+		inst = tinyMCE.selectedInstance;
+
+		// Workaround for bug #1437457 (Odd MSIE bug)
+		if (inst.isFocused) {
+			inst.undoBookmark = inst.selection.getBookmark();
+			tinyMCE.hasMouseMoved = true;
+		}
+	}
+
+//	tinyMCE.cancelEvent(inst.getWin().event);
+//	return false;
+};
+
+TinyMCE_Engine.prototype.cancelEvent = function(e) {
+	if (!e)
+		return false;
+
+	if (tinyMCE.isIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else {
+		e.preventDefault();
+		e.stopPropagation && e.stopPropagation();
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
+	// Add cleanup for all non unload events
+	if (n != 'unload') {
+		function clean() {
+			var ex;
+
+			try {
+				tinyMCE.removeEvent(o, n, h);
+				tinyMCE.removeEvent(window, 'unload', clean);
+				o = n = h = null;
+			} catch (ex) {
+				// IE may produce access denied exception on unload
+			}
+		}
+
+		// Add memory cleaner
+		tinyMCE.addEvent(window, 'unload', clean);
+	}
+
+	if (o.attachEvent)
+		o.attachEvent("on" + n, h);
+	else
+		o.addEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.removeEvent = function(o, n, h) {
+	if (o.detachEvent)
+		o.detachEvent("on" + n, h);
+	else
+		o.removeEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
+	// Add event handlers 
+	if (!s._isAccessible) {
+		s.onkeydown = tinyMCE.accessibleEventHandler;
+		s.onblur = tinyMCE.accessibleEventHandler;
+		s._isAccessible = true;
+		s._win = w;
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
+	var win = this._win;
+	e = tinyMCE.isIE ? win.event : e;
+	var elm = tinyMCE.isIE ? e.srcElement : e.target;
+
+	// Unpiggyback onchange on blur
+	if (e.type == "blur") {
+		if (elm.oldonchange) {
+			elm.onchange = elm.oldonchange;
+			elm.oldonchange = null;
+		}
+
+		return true;
+	}
+
+	// Piggyback onchange
+	if (elm.nodeName == "SELECT" && !elm.oldonchange) {
+		elm.oldonchange = elm.onchange;
+		elm.onchange = null;
+	}
+
+	// Execute onchange and remove piggyback
+	if (e.keyCode == 13 || e.keyCode == 32) {
+		elm.onchange = elm.oldonchange;
+		elm.onchange();
+		elm.oldonchange = null;
+
+		tinyMCE.cancelEvent(e);
+		return false;
+	}
+
+	return true;
+};
+
+TinyMCE_Engine.prototype._resetIframeHeight = function() {
+	var ife;
+
+	if (tinyMCE.isRealIE) {
+		ife = tinyMCE.selectedInstance.iframeElement;
+
+/*		if (ife._oldWidth) {
+			ife.style.width = ife._oldWidth;
+			ife.width = ife._oldWidth;
+		}*/
+
+		if (ife._oldHeight) {
+			ife.style.height = ife._oldHeight;
+			ife.height = ife._oldHeight;
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */
+
+function TinyMCE_Selection(inst) {
+	this.instance = inst;
+};
+
+TinyMCE_Selection.prototype = {
+	getSelectedHTML : function() {
+		var inst = this.instance;
+		var e, r = this.getRng(), h;
+
+		if (!r)
+			return null;
+
+		e = document.createElement("body");
+
+		if (r.cloneContents)
+			e.appendChild(r.cloneContents());
+		else if (typeof(r.item) != 'undefined' || typeof(r.htmlText) != 'undefined')
+			e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
+		else
+			e.innerHTML = r.toString(); // Failed, use text for now
+
+		h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
+
+		// When editing always use fonts internaly
+		//if (tinyMCE.getParam("convert_fonts_to_spans"))
+		//	tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		return h;
+	},
+
+	getSelectedText : function() {
+		var inst = this.instance;
+		var d, r, s, t;
+
+		if (tinyMCE.isIE) {
+			d = inst.getDoc();
+
+			if (d.selection.type == "Text") {
+				r = d.selection.createRange();
+				t = r.text;
+			} else
+				t = '';
+		} else {
+			s = this.getSel();
+
+			if (s && s.toString)
+				t = s.toString();
+			else
+				t = '';
+		}
+
+		return t;
+	},
+
+	getBookmark : function(simple) {
+		var inst = this.instance;
+		var rng = this.getRng();
+		var doc = inst.getDoc(), b = inst.getBody();
+		var sp, le, s, e, nl, i, si, ei, w;
+		var trng, sx, sy, xx = -999999999, vp = inst.getViewPort();
+
+		sx = vp.left;
+		sy = vp.top;
+
+		if (tinyMCE.isSafari || tinyMCE.isOpera || simple)
+			return {rng : rng, scrollX : sx, scrollY : sy};
+
+		if (tinyMCE.isIE) {
+			if (rng.item) {
+				e = rng.item(0);
+
+				nl = b.getElementsByTagName(e.nodeName);
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}
+
+				return {
+					tag : e.nodeName,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				trng = doc.body.createTextRange();
+				trng.moveToElementText(inst.getBody());
+				trng.collapse(true);
+				bp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(true);
+				sp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(false);
+				le = Math.abs(trng.move('character', xx)) - sp;
+
+				return {
+					start : sp - bp,
+					length : le,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		if (tinyMCE.isGecko) {
+			s = this.getSel();
+			e = this.getFocusElement();
+
+			if (!s)
+				return null;
+
+			if (e && e.nodeName == 'IMG') {
+				/*nl = b.getElementsByTagName('IMG');
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}*/
+
+				return {
+					start : -1,
+					end : -1,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+
+			// Caret or selection
+			if (s.anchorNode == s.focusNode && s.anchorOffset == s.focusOffset) {
+				e = this._getPosText(b, s.anchorNode, s.focusNode);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + s.anchorOffset,
+					end : e.end + s.focusOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				e = this._getPosText(b, rng.startContainer, rng.endContainer);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + rng.startOffset,
+					end : e.end + rng.endOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		return null;
+	},
+
+	moveToBookmark : function(bookmark) {
+		var inst = this.instance;
+		var rng, nl, i, ex, b = inst.getBody(), sd;
+		var doc = inst.getDoc();
+		var win = inst.getWin();
+		var sel = this.getSel();
+
+		if (!bookmark)
+			return false;
+
+		if (tinyMCE.isSafari) {
+			sel.setBaseAndExtent(bookmark.rng.startContainer, bookmark.rng.startOffset, bookmark.rng.endContainer, bookmark.rng.endOffset);
+			return true;
+		}
+
+		if (tinyMCE.isRealIE) {
+			if (bookmark.rng) {
+				try {
+					bookmark.rng.select();
+				} catch (ex) {
+					// Ignore
+				}
+
+				return true;
+			}
+
+			win.focus();
+
+			if (bookmark.tag) {
+				rng = b.createControlRange();
+
+				nl = b.getElementsByTagName(bookmark.tag);
+
+				if (nl.length > bookmark.index) {
+					try {
+						rng.addElement(nl[bookmark.index]);
+					} catch (ex) {
+						// Might be thrown if the node no longer exists
+					}
+				}
+			} else {
+				// Try/catch needed since this operation breaks when TinyMCE is placed in hidden divs/tabs
+				try {
+					// Incorrect bookmark
+					if (bookmark.start < 0)
+						return true;
+
+					rng = inst.getSel().createRange();
+					rng.moveToElementText(inst.getBody());
+					rng.collapse(true);
+					rng.moveStart('character', bookmark.start);
+					rng.moveEnd('character', bookmark.length);
+				} catch (ex) {
+					return true;
+				}
+			}
+
+			rng.select();
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		if (tinyMCE.isGecko || tinyMCE.isOpera) {
+			if (!sel)
+				return false;
+
+			if (bookmark.rng) {
+				sel.removeAllRanges();
+				sel.addRange(bookmark.rng);
+			}
+
+			if (bookmark.start != -1 && bookmark.end != -1) {
+				try {
+					sd = this._getTextPos(b, bookmark.start, bookmark.end);
+					rng = doc.createRange();
+					rng.setStart(sd.startNode, sd.startOffset);
+					rng.setEnd(sd.endNode, sd.endOffset);
+					sel.removeAllRanges();
+					sel.addRange(rng);
+					win.focus();
+				} catch (ex) {
+					// Ignore
+				}
+			}
+
+			/*
+			if (typeof(bookmark.index) != 'undefined') {
+				tinyMCE.selectElements(b, 'IMG', function (n) {
+					if (bookmark.index-- == 0) {
+						// Select image in Gecko here
+					}
+
+					return false;
+				});
+			}
+			*/
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		return false;
+	},
+
+	_getPosText : function(r, sn, en) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			if (n == sn)
+				d.start = p;
+
+			if (n == en) {
+				d.end = p;
+				return d;
+			}
+
+			p += n.nodeValue ? n.nodeValue.length : 0;
+		}
+
+		return null;
+	},
+
+	_getTextPos : function(r, sp, ep) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			p += n.nodeValue ? n.nodeValue.length : 0;
+
+			if (p >= sp && !d.startNode) {
+				d.startNode = n;
+				d.startOffset = sp - (p - n.nodeValue.length);
+			}
+
+			if (p >= ep) {
+				d.endNode = n;
+				d.endOffset = ep - (p - n.nodeValue.length);
+
+				return d;
+			}
+		}
+
+		return null;
+	},
+
+	selectNode : function(node, collapse, select_text_node, to_start) {
+		var inst = this.instance, sel, rng, nodes;
+
+		if (!node)
+			return;
+
+		if (typeof(collapse) == "undefined")
+			collapse = true;
+
+		if (typeof(select_text_node) == "undefined")
+			select_text_node = false;
+
+		if (typeof(to_start) == "undefined")
+			to_start = true;
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		if (tinyMCE.isRealIE) {
+			rng = inst.getDoc().body.createTextRange();
+
+			try {
+				rng.moveToElementText(node);
+
+				if (collapse)
+					rng.collapse(to_start);
+
+				rng.select();
+			} catch (e) {
+				// Throws illigal agrument in MSIE some times
+			}
+		} else {
+			sel = this.getSel();
+
+			if (!sel)
+				return;
+
+			if (tinyMCE.isSafari) {
+				sel.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+				if (collapse) {
+					if (to_start)
+						sel.collapseToStart();
+					else
+						sel.collapseToEnd();
+				}
+
+				this.scrollToNode(node);
+
+				return;
+			}
+
+			rng = inst.getDoc().createRange();
+
+			if (select_text_node) {
+				// Find first textnode in tree
+				nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+				if (nodes.length > 0)
+					rng.selectNodeContents(nodes[0]);
+				else
+					rng.selectNodeContents(node);
+			} else
+				rng.selectNode(node);
+
+			if (collapse) {
+				// Special treatment of textnode collapse
+				if (!to_start && node.nodeType == 3) {
+					rng.setStart(node, node.nodeValue.length);
+					rng.setEnd(node, node.nodeValue.length);
+				} else
+					rng.collapse(to_start);
+			}
+
+			sel.removeAllRanges();
+			sel.addRange(rng);
+		}
+
+		this.scrollToNode(node);
+
+		// Set selected element
+		tinyMCE.selectedElement = null;
+		if (node.nodeType == 1)
+			tinyMCE.selectedElement = node;
+	},
+
+	scrollToNode : function(node) {
+		var inst = this.instance, w = inst.getWin(), vp = inst.getViewPort(), pos = tinyMCE.getAbsPosition(node), cvp, p, cwin;
+
+		// Only scroll if out of visible area
+		if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25))
+			w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25);
+
+		// Scroll container window
+		if (inst.settings.auto_resize) {
+			cwin = inst.getContainerWin();
+			cvp = tinyMCE.getViewPort(cwin);
+			p = this.getAbsPosition(node);
+
+			if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || p.absTop < cvp.top || p.absTop > cvp.top + cvp.height)
+				cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25);
+		}
+	},
+
+	getAbsPosition : function(n) {
+		var pos = tinyMCE.getAbsPosition(n), ipos = tinyMCE.getAbsPosition(this.instance.iframeElement);
+
+		return {
+			absLeft : ipos.absLeft + pos.absLeft,
+			absTop : ipos.absTop + pos.absTop
+		};
+	},
+
+	getSel : function() {
+		var inst = this.instance;
+
+		if (tinyMCE.isRealIE)
+			return inst.getDoc().selection;
+
+		return inst.contentWindow.getSelection();
+	},
+
+	getRng : function() {
+		var s = this.getSel();
+
+		if (s == null)
+			return null;
+
+		if (tinyMCE.isRealIE)
+			return s.createRange();
+
+		if (tinyMCE.isSafari && !s.getRangeAt)
+			return '' + window.getSelection();
+
+		if (s.rangeCount > 0)
+			return s.getRangeAt(0);
+
+		return null;
+	},
+
+	isCollapsed : function() {
+		var r = this.getRng();
+
+		if (r.item)
+			return false;
+
+		return r.boundingWidth == 0 || this.getSel().isCollapsed;
+	},
+
+	collapse : function(b) {
+		var r = this.getRng(), s = this.getSel();
+
+		if (r.select) {
+			r.collapse(b);
+			r.select();
+		} else {
+			if (b)
+				s.collapseToStart();
+			else
+				s.collapseToEnd();
+		}
+	},
+
+	getFocusElement : function() {
+		var inst = this.instance, doc, rng, sel, elm;
+
+		if (tinyMCE.isRealIE) {
+			doc = inst.getDoc();
+			rng = doc.selection.createRange();
+
+	//		if (rng.collapse)
+	//			rng.collapse(true);
+
+			elm = rng.item ? rng.item(0) : rng.parentElement();
+		} else {
+			if (!tinyMCE.isSafari && inst.isHidden())
+				return inst.getBody();
+
+			sel = this.getSel();
+			rng = this.getRng();
+
+			if (!sel || !rng)
+				return null;
+
+			elm = rng.commonAncestorContainer;
+			//elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
+
+			// Handle selection a image or other control like element such as anchors
+			if (!rng.collapsed) {
+				// Is selection small
+				if (rng.startContainer == rng.endContainer) {
+					if (rng.startOffset - rng.endOffset < 2) {
+						if (rng.startContainer.hasChildNodes())
+							elm = rng.startContainer.childNodes[rng.startOffset];
+					}
+				}
+			}
+
+			// Get the element parent of the node
+			elm = tinyMCE.getParentElement(elm);
+
+			//if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
+			//	elm = tinyMCE.selectedElement;
+		}
+
+		return elm;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */
+
+function TinyMCE_UndoRedo(inst) {
+	this.instance = inst;
+	this.undoLevels = new Array();
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+	this.undoRedo = true;
+};
+
+TinyMCE_UndoRedo.prototype = {
+	add : function(l) {
+		var b, customUndoLevels, newHTML, inst = this.instance, i, ul, ur;
+
+		if (l) {
+			this.undoLevels[this.undoLevels.length] = l;
+			return true;
+		}
+
+		if (this.typingUndoIndex != -1) {
+			this.undoIndex = this.typingUndoIndex;
+
+			if (tinyMCE.typingUndoIndex != -1)
+				tinyMCE.undoIndex = tinyMCE.typingUndoIndex;
+		}
+
+		newHTML = tinyMCE.trim(inst.getBody().innerHTML);
+		if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) {
+			//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content);
+
+			tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst);
+
+			// Time to compress
+			customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
+			if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
+				for (i=0; i<this.undoLevels.length-1; i++)
+					this.undoLevels[i] = this.undoLevels[i+1];
+
+				this.undoLevels.length--;
+				this.undoIndex--;
+
+				// Todo: Implement global undo/redo logic here
+			}
+
+			b = inst.undoBookmark;
+
+			if (!b)
+				b = inst.selection.getBookmark();
+
+			this.undoIndex++;
+			this.undoLevels[this.undoIndex] = {
+				content : newHTML,
+				bookmark : b
+			};
+
+			// Remove all above from global undo/redo
+			ul = tinyMCE.undoLevels;
+			for (i=tinyMCE.undoIndex + 1; i<ul.length; i++) {
+				ur = ul[i].undoRedo;
+
+				if (ur.undoIndex == ur.undoLevels.length -1)
+					ur.undoIndex--;
+
+				ur.undoLevels.length--;
+			}
+
+			// Add global undo level
+			tinyMCE.undoLevels[tinyMCE.undoIndex++] = inst;
+			tinyMCE.undoLevels.length = tinyMCE.undoIndex;
+
+			this.undoLevels.length = this.undoIndex + 1;
+
+			return true;
+		}
+
+		return false;
+	},
+
+	undo : function() {
+		var inst = this.instance;
+
+		// Do undo
+		if (this.undoIndex > 0) {
+			this.undoIndex--;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+	},
+
+	redo : function() {
+		var inst = this.instance;
+
+		tinyMCE.execCommand("mceEndTyping");
+
+		if (this.undoIndex < (this.undoLevels.length-1)) {
+			this.undoIndex++;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+
+		tinyMCE.triggerNodeChange();
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */
+
+var TinyMCE_ForceParagraphs = {
+	_insertPara : function(inst, e) {
+		var doc = inst.getDoc(), sel = inst.getSel(), body = inst.getBody(), win = inst.contentWindow, rng = sel.getRangeAt(0);
+		var rootElm = doc.documentElement, blockName = "P", startNode, endNode, startBlock, endBlock;
+		var rngBefore, rngAfter, direct, startNode, startOffset, endNode, endOffset, b = tinyMCE.isOpera ? inst.selection.getBookmark() : null;
+		var paraBefore, paraAfter, startChop, endChop, contents;
+
+		function isEmpty(para) {
+			function isEmptyHTML(html) {
+				return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
+			}
+
+			// Check for images
+			if (para.getElementsByTagName("img").length > 0)
+				return false;
+
+			// Check for tables
+			if (para.getElementsByTagName("table").length > 0)
+				return false;
+
+			// Check for HRs
+			if (para.getElementsByTagName("hr").length > 0)
+				return false;
+
+			// Check all textnodes
+			var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+			for (var i=0; i<nodes.length; i++) {
+				if (!isEmptyHTML(nodes[i].nodeValue))
+					return false;
+			}
+
+			// No images, no tables, no hrs, no text content then it's empty
+			return true;
+		}
+
+	//	tinyMCE.debug(body.innerHTML);
+
+	//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
+
+		// Setup before range
+		rngBefore = doc.createRange();
+		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+		rngBefore.collapse(true);
+
+		// Setup after range
+		rngAfter = doc.createRange();
+		rngAfter.setStart(sel.focusNode, sel.focusOffset);
+		rngAfter.collapse(true);
+
+		// Setup start/end points
+		direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
+		startNode = direct ? sel.anchorNode : sel.focusNode;
+		startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+		endNode = direct ? sel.focusNode : sel.anchorNode;
+		endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+		startNode = startNode.nodeName == "BODY" ? startNode.firstChild : startNode;
+		endNode = endNode.nodeName == "BODY" ? endNode.firstChild : endNode;
+
+		// Get block elements
+		startBlock = inst.getParentBlockElement(startNode);
+		endBlock = inst.getParentBlockElement(endNode);
+
+		// If absolute force paragraph generation within
+		if (startBlock && new RegExp('absolute|relative|static', 'gi').test(startBlock.style.position))
+			startBlock = null;
+
+		if (endBlock && new RegExp('absolute|relative|static', 'gi').test(endBlock.style.position))
+			endBlock = null;
+
+		// Use current block name
+		if (startBlock != null) {
+			blockName = startBlock.nodeName;
+
+			// Use P instead
+			if (blockName == "TD" || blockName == "TABLE" || (blockName == "DIV" && new RegExp('left|right', 'gi').test(startBlock.style.cssFloat)))
+				blockName = "P";
+		}
+
+		// Within a list use normal behaviour
+		if (tinyMCE.getParentElement(startBlock, "OL,UL", null, body) != null)
+			return false;
+
+		// Within a table create new paragraphs
+		if ((startBlock != null && startBlock.nodeName == "TABLE") || (endBlock != null && endBlock.nodeName == "TABLE"))
+			startBlock = endBlock = null;
+
+		// Setup new paragraphs
+		paraBefore = (startBlock != null && startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+		paraAfter = (endBlock != null && endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+		// Is header, then force paragraph under
+		if (/^(H[1-6])$/.test(blockName))
+			paraAfter = doc.createElement("p");
+
+		// Setup chop nodes
+		startChop = startNode;
+		endChop = endNode;
+
+		// Get startChop node
+		node = startChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			startChop = node;
+		} while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+		// Get endChop node
+		node = endChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			endChop = node;
+		} while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+		// Fix when only a image is within the TD
+		if (startChop.nodeName == "TD")
+			startChop = startChop.firstChild;
+
+		if (endChop.nodeName == "TD")
+			endChop = endChop.lastChild;
+
+		// If not in a block element
+		if (startBlock == null) {
+			// Delete selection
+			rng.deleteContents();
+
+			if (!tinyMCE.isSafari)
+				sel.removeAllRanges();
+
+			if (startChop != rootElm && endChop != rootElm) {
+				// Insert paragraph before
+				rngBefore = rng.cloneRange();
+
+				if (startChop == body)
+					rngBefore.setStart(startChop, 0);
+				else
+					rngBefore.setStartBefore(startChop);
+
+				paraBefore.appendChild(rngBefore.cloneContents());
+
+				// Insert paragraph after
+				if (endChop.parentNode.nodeName == blockName)
+					endChop = endChop.parentNode;
+
+				// If not after image
+				//if (rng.startContainer.nodeName != "BODY" && rng.endContainer.nodeName != "BODY")
+					rng.setEndAfter(endChop);
+
+				if (endChop.nodeName != "#text" && endChop.nodeName != "BODY")
+					rngBefore.setEndAfter(endChop);
+
+				contents = rng.cloneContents();
+				if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == "BODY"))
+					paraAfter.innerHTML = contents.firstChild.innerHTML;
+				else
+					paraAfter.appendChild(contents);
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraBefore))
+					paraBefore.innerHTML = "&nbsp;";
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraAfter))
+					paraAfter.innerHTML = "&nbsp;";
+
+				// Delete old contents
+				rng.deleteContents();
+				rngAfter.deleteContents();
+				rngBefore.deleteContents();
+
+				// Insert new paragraphs
+				if (tinyMCE.isOpera) {
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+				} else {
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+				}
+
+				//tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
+			} else {
+				body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
+				paraAfter = body.childNodes[1];
+			}
+
+			inst.selection.moveToBookmark(b);
+			inst.selection.selectNode(paraAfter, true, true);
+
+			return true;
+		}
+
+		// Place first part within new paragraph
+		if (startChop.nodeName == blockName)
+			rngBefore.setStart(startChop, 0);
+		else
+			rngBefore.setStartBefore(startChop);
+
+		rngBefore.setEnd(startNode, startOffset);
+		paraBefore.appendChild(rngBefore.cloneContents());
+
+		// Place secound part within new paragraph
+		rngAfter.setEndAfter(endChop);
+		rngAfter.setStart(endNode, endOffset);
+		contents = rngAfter.cloneContents();
+
+		if (contents.firstChild && contents.firstChild.nodeName == blockName) {
+	/*		var nodes = contents.firstChild.childNodes;
+			for (var i=0; i<nodes.length; i++) {
+				//tinyMCE.debug(nodes[i].nodeName);
+				if (nodes[i].nodeName != "BODY")
+					paraAfter.appendChild(nodes[i]);
+			}
+	*/
+			paraAfter.innerHTML = contents.firstChild.innerHTML;
+		} else
+			paraAfter.appendChild(contents);
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraBefore))
+			paraBefore.innerHTML = "&nbsp;";
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraAfter))
+			paraAfter.innerHTML = "&nbsp;";
+
+		// Create a range around everything
+		rng = doc.createRange();
+
+		if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
+			rng.setStartBefore(startChop.parentNode);
+		} else {
+			if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
+				rng.setStartBefore(rngBefore.startContainer);
+			else
+				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+		}
+
+		if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
+			rng.setEndAfter(endChop.parentNode);
+		else
+			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+		// Delete all contents and insert new paragraphs
+		rng.deleteContents();
+
+		if (tinyMCE.isOpera) {
+			rng.insertNode(paraBefore);
+			rng.insertNode(paraAfter);
+		} else {
+			rng.insertNode(paraAfter);
+			rng.insertNode(paraBefore);
+		}
+
+		//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
+
+		// Normalize
+		paraAfter.normalize();
+		paraBefore.normalize();
+
+		inst.selection.moveToBookmark(b);
+		inst.selection.selectNode(paraAfter, true, true);
+
+		return true;
+	},
+
+	_handleBackSpace : function(inst) {
+		var r = inst.getRng(), sn = r.startContainer, nv, s = false;
+
+		// Added body check for bug #1527787
+		if (sn && sn.nextSibling && sn.nextSibling.nodeName == "BR" && sn.parentNode.nodeName != "BODY") {
+			nv = sn.nodeValue;
+
+			// Handle if a backspace is pressed after a space character #bug 1466054 removed since fix for #1527787
+			/*if (nv != null && nv.length >= r.startOffset && nv.charAt(r.startOffset - 1) == ' ')
+				s = true;*/
+
+			// Only remove BRs if we are at the end of line #bug 1464152
+			if (nv != null && r.startOffset == nv.length)
+				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
+		}
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		return s;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */
+
+function TinyMCE_Layer(id, bm) {
+	this.id = id;
+	this.blockerElement = null;
+	this.events = false;
+	this.element = null;
+	this.blockMode = typeof(bm) != 'undefined' ? bm : true;
+	this.doc = document;
+};
+
+TinyMCE_Layer.prototype = {
+	moveRelativeTo : function(re, p) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var e = this.getElement();
+		var ew = parseInt(e.offsetWidth);
+		var eh = parseInt(e.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				x = rep.absLeft;
+				y = rep.absTop;
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				x = rep.absLeft;
+				y = rep.absTop + h;
+				break;
+
+			case "br":
+				x = rep.absLeft + w;
+				y = rep.absTop + h;
+				break;
+
+			case "cc":
+				x = rep.absLeft + (w / 2) - (ew / 2);
+				y = rep.absTop + (h / 2) - (eh / 2);
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(x, y) {
+		var e = this.getElement();
+		this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	resizeBy : function(w, h) {
+		var e = this.getElement();
+		this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
+	},
+
+	resizeTo : function(w, h) {
+		var e = this.getElement();
+
+		if (w != null)
+			e.style.width = w + "px";
+
+		if (h != null)
+			e.style.height = h + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'block';
+			this.updateBlocker();
+		}
+	},
+
+	hide : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'none';
+			this.updateBlocker();
+		}
+	},
+
+	isVisible : function() {
+		return this.getElement().style.display == 'block';
+	},
+
+	getElement : function() {
+		if (!this.element)
+			this.element = this.doc.getElementById(this.id);
+
+		return this.element;
+	},
+
+	setBlockMode : function(s) {
+		this.blockMode = s;
+	},
+
+	updateBlocker : function() {
+		var e, b, x, y, w, h;
+
+		b = this.getBlocker();
+		if (b) {
+			if (this.blockMode) {
+				e = this.getElement();
+				x = this.parseInt(e.style.left);
+				y = this.parseInt(e.style.top);
+				w = this.parseInt(e.offsetWidth);
+				h = this.parseInt(e.offsetHeight);
+
+				b.style.left = x + 'px';
+				b.style.top = y + 'px';
+				b.style.width = w + 'px';
+				b.style.height = h + 'px';
+				b.style.display = e.style.display;
+			} else
+				b.style.display = 'none';
+		}
+	},
+
+	getBlocker : function() {
+		var d, b;
+
+		if (!this.blockerElement && this.blockMode) {
+			d = this.doc;
+			b = d.getElementById(this.id + "_blocker");
+
+			if (!b) {
+				b = d.createElement("iframe");
+
+				b.setAttribute('id', this.id + "_blocker");
+				b.style.cssText = 'display: none; position: absolute; left: 0; top: 0';
+				b.src = 'javascript:false;';
+				b.frameBorder = '0';
+				b.scrolling = 'no';
+	
+				d.body.appendChild(b);
+			}
+
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	create : function(n, c, p, h) {
+		var d = this.doc, e = d.createElement(n);
+
+		e.setAttribute('id', this.id);
+
+		if (c)
+			e.className = c;
+
+		if (!p)
+			p = d.body;
+
+		if (h)
+			e.innerHTML = h;
+
+		p.appendChild(e);
+
+		return this.element = e;
+	},
+
+	exists : function() {
+		return this.doc.getElementById(this.id) != null;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	},
+
+	remove : function() {
+		var e = this.getElement(), b = this.getBlocker();
+
+		if (e)
+			e.parentNode.removeChild(e);
+
+		if (b)
+			b.parentNode.removeChild(b);
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */
+
+function TinyMCE_Menu() {
+	var id;
+
+	if (typeof(tinyMCE.menuCounter) == "undefined")
+		tinyMCE.menuCounter = 0;
+
+	id = "mc_menu_" + tinyMCE.menuCounter++;
+
+	TinyMCE_Layer.call(this, id, true);
+
+	this.id = id;
+	this.items = new Array();
+	this.needsUpdate = true;
+};
+
+TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, {
+	init : function(s) {
+		var n;
+
+		// Default params
+		this.settings = {
+			separator_class : 'mceMenuSeparator',
+			title_class : 'mceMenuTitle',
+			disabled_class : 'mceMenuDisabled',
+			menu_class : 'mceMenu',
+			drop_menu : true
+		};
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		this.create('div', this.settings.menu_class);
+	},
+
+	clear : function() {
+		this.items = new Array();
+	},
+
+	addTitle : function(t) {
+		this.add({type : 'title', text : t});
+	},
+
+	addDisabled : function(t) {
+		this.add({type : 'disabled', text : t});
+	},
+
+	addSeparator : function() {
+		this.add({type : 'separator'});
+	},
+
+	addItem : function(t, js) {
+		this.add({text : t, js : js});
+	},
+
+	add : function(mi) {
+		this.items[this.items.length] = mi;
+		this.needsUpdate = true;
+	},
+
+	update : function() {
+		var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings;
+
+		if (this.settings.drop_menu)
+			h += '<span class="mceMenuLine"></span>';
+
+		h += '<table border="0" cellpadding="0" cellspacing="0">';
+
+		for (i=0; i<m.length; i++) {
+			t = tinyMCE.xmlEncode(m[i].text);
+			c = m[i].class_name ? ' class="' + m[i].class_name + '"' : '';
+
+			switch (m[i].type) {
+				case 'separator':
+					h += '<tr class="' + s.separator_class + '"><td>';
+					break;
+
+				case 'title':
+					h += '<tr class="' + s.title_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				case 'disabled':
+					h += '<tr class="' + s.disabled_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				default:
+					h += '<tr><td><a href="' + tinyMCE.xmlEncode(m[i].js) + '" onmousedown="' + tinyMCE.xmlEncode(m[i].js) + ';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span' + c +'>' + t + '</span></a>';
+			}
+
+			h += '</td></tr>';
+		}
+
+		h += '</table>';
+
+		e.innerHTML = h;
+
+		this.needsUpdate = false;
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var nl, i;
+
+		if (tinyMCE.lastMenu == this)
+			return;
+
+		if (this.needsUpdate)
+			this.update();
+
+		if (tinyMCE.lastMenu && tinyMCE.lastMenu != this)
+			tinyMCE.lastMenu.hide();
+
+		TinyMCE_Layer.prototype.show.call(this);
+
+		if (!tinyMCE.isOpera) {
+			// Accessibility stuff
+/*			nl = this.getElement().getElementsByTagName("a");
+			if (nl.length > 0)
+				nl[0].focus();*/
+		}
+
+		tinyMCE.lastMenu = this;
+	}
+
+	});
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Compatibility.class.js */
+
+if (!Function.prototype.call) {
+	Function.prototype.call = function() {
+		var a = arguments, s = a[0], i, as = '', r, o;
+
+		for (i=1; i<a.length; i++)
+			as += (i > 1 ? ',' : '') + 'a[' + i + ']';
+
+		o = s._fu;
+		s._fu = this;
+		r = eval('s._fu(' + as + ')');
+		s._fu = o;
+
+		return r;
+	};
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */
+
+TinyMCE_Engine.prototype.debug = function() {
+	var m = "", a, i, l = tinyMCE.log.length;
+
+	for (i=0, a = this.debug.arguments; i<a.length; i++) {
+		m += a[i];
+
+		if (i<a.length-1)
+			m += ', ';
+	}
+
+	if (l < 1000)
+		tinyMCE.log[l] = "[debug] " + m;
+};
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+/**
+ * $Id: editable_selects.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Makes select boxes editable.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_EditableSelects = {
+	editSelectElm : null,
+
+	init : function() {
+		var nl = document.getElementsByTagName("select"), i, d = document, o;
+
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].className.indexOf('mceEditableSelect') != -1) {
+				o = new Option('(value)', '__mce_add_custom__');
+
+				o.className = 'mceAddSelectValue';
+
+				nl[i].options[nl[i].options.length] = o;
+				nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);');
+			}
+		}
+	},
+
+	onChangeEditableSelect : function(se) {
+		var d = document, ne;
+
+		if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
+			ne = d.createElement("input");
+			ne.id = se.id + "_custom";
+			ne.name = se.name + "_custom";
+			ne.type = "text";
+
+			ne.style.width = se.clientWidth;
+			se.parentNode.insertBefore(ne, se);
+			se.style.display = 'none';
+			ne.focus();
+			ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
+			TinyMCE_EditableSelects.editSelectElm = se;
+		}
+	},
+
+	onBlurEditableSelectInput : function() {
+		var se = TinyMCE_EditableSelects.editSelectElm;
+
+		if (se) {
+			if (se.previousSibling.value != '') {
+				addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
+				selectByValue(document.forms[0], se.id, se.previousSibling.value);
+			} else
+				selectByValue(document.forms[0], se.id, '');
+
+			se.style.display = 'inline';
+			se.parentNode.removeChild(se.previousSibling);
+			TinyMCE_EditableSelects.editSelectElm = null;
+		}
+	}
+};

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: form_utils.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form utilitiy functions.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var themeBaseURL = tinyMCE.baseURL + '/themes/' + tinyMCE.getParam("theme");
+
+function getColorPickerHTML(id, target_form_element) {
+	var h = "";
+
+	h += '<a id="' + id + '_link" href="javascript:void(0);" onkeydown="pickColor(event,\'' + target_form_element +'\');" onmousedown="pickColor(event,\'' + target_form_element +'\');return false;">';
+	h += '<img id="' + id + '" src="' + themeBaseURL + '/images/color.gif"';
+	h += ' onmouseover="this.className=\'mceButtonOver\'"';
+	h += ' onmouseout="this.className=\'mceButtonNormal\'"';
+	h += ' onmousedown="this.className=\'mceButtonDown\'"';
+	h += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	h += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return h;
+}
+
+function pickColor(e, target_form_element) {
+	if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
+		tinyMCEPopup.pickColor(e, target_form_element);
+}
+
+function updateColor(img_id, form_element_id) {
+	document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+	var img = document.getElementById(id);
+	var lnk = document.getElementById(id + "_link");
+
+	if (lnk) {
+		if (state) {
+			lnk.setAttribute("realhref", lnk.getAttribute("href"));
+			lnk.removeAttribute("href");
+			tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+		} else {
+			lnk.setAttribute("href", lnk.getAttribute("realhref"));
+			tinyMCE.switchClass(img, 'mceButtonNormal', false);
+		}
+	}
+}
+
+function getBrowserHTML(id, target_form_element, type, prefix) {
+	var option = prefix + "_" + type + "_browser_callback";
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+	if (cb == null)
+		return "";
+
+	var html = "";
+
+	html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
+	html += '<img id="' + id + '" src="' + themeBaseURL + '/images/browse.gif"';
+	html += ' onmouseover="this.className=\'mceButtonOver\';"';
+	html += ' onmouseout="this.className=\'mceButtonNormal\';"';
+	html += ' onmousedown="this.className=\'mceButtonDown\';"';
+	html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return html;
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+	var img = document.getElementById(img_id);
+
+	if (img.className != "mceButtonDisabled")
+		tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option(value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+		sel.selectedIndex = sel.options.length - 1;
+	}
+
+	return found;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function addSelectValue(form_obj, field_name, name, value) {
+	var s = form_obj.elements[field_name];
+	var o = new Option(name, value);
+	s.options[s.options.length] = o;
+}
+
+function addClassesToList(list_id, specific_option) {
+	// Setup class droplist
+	var styleSelectElm = document.getElementById(list_id);
+	var styles = tinyMCE.getParam('theme_advanced_styles', false);
+	styles = tinyMCE.getParam(specific_option, styles);
+
+	if (styles) {
+		var stylesAr = styles.split(';');
+
+		for (var i=0; i<stylesAr.length; i++) {
+			if (stylesAr != "") {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
+			}
+		}
+	} else {
+		// Use auto impored classes
+		var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
+		for (var i=0; i<csses.length; i++)
+			styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
+	}
+}
+
+function isVisible(element_id) {
+	var elm = document.getElementById(element_id);
+
+	return elm && elm.style.display != "none";
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return "rgb(" + r + "," + g + "," + b + ")";
+	}
+
+	return col;
+}
+
+function trimSize(size) {
+	return size.replace(new RegExp('[^0-9%]', 'gi'), '');
+}
+
+function getCSSSize(size) {
+	size = trimSize(size);
+
+	if (size == "")
+		return "";
+
+	return size.indexOf('%') != -1 ? size : size + "px";
+}
+
+function getStyle(elm, attrib, style) {
+	var val = tinyMCE.getAttrib(elm, attrib);
+
+	if (val != '')
+		return '' + val;
+
+	if (typeof(style) == 'undefined')
+		style = attrib;
+
+	val = eval('elm.style.' + style);
+
+	return val == null ? '' : '' + val;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: mclayer.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode floating layer script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCLayer(id) {
+	this.id = id;
+	this.settings = new Array();
+	this.blockerElement = null;
+	this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
+	this.events = false;
+	this.autoHideCallback = null;
+}
+
+MCLayer.prototype = {
+	moveRelativeTo : function(re, p, a) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				break;
+
+			case "br":
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(dx, dy) {
+		var e = this.getElement();
+		var x = parseInt(e.style.left);
+		var y = parseInt(e.style.top);
+
+		e.style.left = (x + dx) + "px";
+		e.style.top = (y + dy) + "px";
+
+		this.updateBlocker();
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		MCLayer.visibleLayer = this;
+
+		this.getElement().style.display = 'block';
+		this.updateBlocker();
+	},
+
+	hide : function() {
+		this.getElement().style.display = 'none';
+		this.updateBlocker();
+	},
+
+	setAutoHide : function(s, cb) {
+		this.autoHideCallback = cb;
+		this.registerEventHandlers();
+	},
+
+	getElement : function() {
+		return document.getElementById(this.id);
+	},
+
+	updateBlocker : function() {
+		if (!this.isMSIE)
+			return;
+
+		var e = this.getElement();
+		var b = this.getBlocker();
+		var x = this.parseInt(e.style.left);
+		var y = this.parseInt(e.style.top);
+		var w = this.parseInt(e.offsetWidth);
+		var h = this.parseInt(e.offsetHeight);
+
+		b.style.left = x + 'px';
+		b.style.top = y + 'px';
+		b.style.width = w + 'px';
+		b.style.height = h + 'px';
+		b.style.display = e.style.display;
+	},
+
+	getBlocker : function() {
+		if (!this.blockerElement) {
+			var d = document, b = d.createElement("iframe");
+
+			b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
+			b.src = 'javascript:false;';
+			b.frameBorder = '0';
+			b.scrolling = 'no';
+
+			d.body.appendChild(b);
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	registerEventHandlers : function() {
+		if (!this.events) {
+			var d = document;
+
+			this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
+
+			this.events = true;
+		}
+	},
+
+	addEvent : function(o, n, h) {
+		if (o.attachEvent)
+			o.attachEvent("on" + n, h);
+		else
+			o.addEventListener(n, h, false);
+	},
+
+	onMouseDown : function(e) {
+		e = typeof(e) == "undefined" ? window.event : e;
+		var b = document.body;
+		var l = MCLayer.visibleLayer;
+
+		if (l) {
+			var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
+			var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
+			var el = l.getElement();
+			var x = parseInt(el.style.left);
+			var y = parseInt(el.style.top);
+			var w = parseInt(el.offsetWidth);
+			var h = parseInt(el.offsetHeight);
+
+			if (!(mx > x && mx < x + w && my > y && my < y + h)) {
+				MCLayer.visibleLayer = null;
+
+				if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
+					return true;
+
+				l.hide();
+			}
+		}
+	},
+
+	addCSSClass : function(e, c) {
+		this.removeCSSClass(e, c);
+		var a = this.explode(' ', e.className);
+		a[a.length] = c;
+		e.className = a.join(' ');
+	},
+
+	removeCSSClass : function(e, c) {
+		var a = this.explode(' ', e.className), i;
+
+		for (i=0; i<a.length; i++) {
+			if (a[i] == c)
+				a[i] = '';
+		}
+
+		e.className = a.join(' ');
+	},
+
+	explode : function(d, s) {
+		var ar = s.split(d);
+		var oar = new Array();
+
+		for (var i = 0; i<ar.length; i++) {
+			if (ar[i] != "")
+				oar[oar.length] = ar[i];
+		}
+
+		return oar;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	}
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+/**
+ * $Id: mctabs.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+	this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+	this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+	var panelElm = document.getElementById(panel_id);
+	var panelContainerElm = panelElm ? panelElm.parentNode : null;
+	var tabElm = document.getElementById(tab_id);
+	var tabContainerElm = tabElm ? tabElm.parentNode : null;
+	var selectionClass = this.getParam('selection_class', 'current');
+
+	if (tabElm && tabContainerElm) {
+		var nodes = tabContainerElm.childNodes;
+
+		// Hide all other tabs
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "LI")
+				nodes[i].className = '';
+		}
+
+		// Show selected tab
+		tabElm.className = 'current';
+	}
+
+	if (panelElm && panelContainerElm) {
+		var nodes = panelContainerElm.childNodes;
+
+		// Hide all other panels
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "DIV")
+				nodes[i].className = 'panel';
+		}
+
+		// Show selected panel
+		panelElm.className = 'current';
+	}
+};
+
+MCTabs.prototype.getAnchor = function() {
+	var pos, url = document.location.href;
+
+	if ((pos = url.lastIndexOf('#')) != -1)
+		return url.substring(pos + 1);
+
+	return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+/**
+ * $Id: validate.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form validation methods.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/**
+	// String validation:
+
+	if (!Validator.isEmail('myemail'))
+		alert('Invalid email.');
+
+	// Form validation:
+
+	var f = document.forms['myform'];
+
+	if (!Validator.isEmail(f.myemail))
+		alert('Invalid email.');
+*/
+
+var Validator = {
+	isEmail : function(s) {
+		return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
+	},
+
+	isAbsUrl : function(s) {
+		return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$');
+	},
+
+	isSize : function(s) {
+		return this.test(s, '^[0-9]+(px|%)?$');
+	},
+
+	isId : function(s) {
+		return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$');
+	},
+
+	isEmpty : function(s) {
+		var nl, i;
+
+		if (s.nodeName == 'SELECT' && s.selectedIndex < 1)
+			return true;
+
+		if (s.type == 'checkbox' && !s.checked)
+			return true;
+
+		if (s.type == 'radio') {
+			for (i=0, nl = s.form.elements; i<nl.length; i++) {
+				if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
+					return false;
+			}
+
+			return true;
+		}
+
+		return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
+	},
+
+	isNumber : function(s, d) {
+		return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
+	},
+
+	test : function(s, p) {
+		s = s.nodeType == 1 ? s.value : s;
+
+		return s == '' || new RegExp(p).test(s);
+	}
+};
+
+var AutoValidator = {
+	settings : {
+		id_cls : 'id',
+		int_cls : 'int',
+		url_cls : 'url',
+		number_cls : 'number',
+		email_cls : 'email',
+		size_cls : 'size',
+		required_cls : 'required',
+		invalid_cls : 'invalid',
+		min_cls : 'min',
+		max_cls : 'max'
+	},
+
+	init : function(s) {
+		var n;
+
+		for (n in s)
+			this.settings[n] = s[n];
+	},
+
+	validate : function(f) {
+		var i, nl, s = this.settings, c = 0;
+
+		nl = this.tags(f, 'label');
+		for (i=0; i<nl.length; i++)
+			this.removeClass(nl[i], s.invalid_cls);
+
+		c += this.validateElms(f, 'input');
+		c += this.validateElms(f, 'select');
+		c += this.validateElms(f, 'textarea');
+
+		return c == 3;
+	},
+
+	invalidate : function(n) {
+		this.mark(n.form, n);
+	},
+
+	reset : function(e) {
+		var t = new Array('label', 'input', 'select', 'textarea');
+		var i, j, nl, s = this.settings;
+
+		if (e == null)
+			return;
+
+		for (i=0; i<t.length; i++) {
+			nl = this.tags(e.form ? e.form : e, t[i]);
+			for (j=0; j<nl.length; j++)
+				this.removeClass(nl[j], s.invalid_cls);
+		}
+	},
+
+	validateElms : function(f, e) {
+		var nl, i, n, s = this.settings, st = true, va = Validator, v;
+
+		nl = this.tags(f, e);
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+
+			this.removeClass(n, s.invalid_cls);
+
+			if (this.hasClass(n, s.required_cls) && va.isEmpty(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.number_cls) && !va.isNumber(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.email_cls) && !va.isEmail(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.size_cls) && !va.isSize(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.id_cls) && !va.isId(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.min_cls, true)) {
+				v = this.getNum(n, s.min_cls);
+
+				if (isNaN(v) || parseInt(n.value) < parseInt(v))
+					st = this.mark(f, n);
+			}
+
+			if (this.hasClass(n, s.max_cls, true)) {
+				v = this.getNum(n, s.max_cls);
+
+				if (isNaN(v) || parseInt(n.value) > parseInt(v))
+					st = this.mark(f, n);
+			}
+		}
+
+		return st;
+	},
+
+	hasClass : function(n, c, d) {
+		return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
+	},
+
+	getNum : function(n, c) {
+		c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
+		c = c.replace(/[^0-9]/g, '');
+
+		return c;
+	},
+
+	addClass : function(n, c, b) {
+		var o = this.removeClass(n, c);
+		n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+	},
+
+	removeClass : function(n, c) {
+		c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+		return n.className = c != ' ' ? c : '';
+	},
+
+	tags : function(f, s) {
+		return f.getElementsByTagName(s);
+	},
+
+	mark : function(f, n) {
+		var s = this.settings;
+
+		this.addClass(n, s.invalid_cls);
+		this.markLabels(f, n, s.invalid_cls);
+
+		return false;
+	},
+
+	markLabels : function(f, n, ic) {
+		var nl, i;
+
+		nl = this.tags(f, "label");
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id)
+				this.addClass(nl[i], ic);
+		}
+
+		return null;
+	}
+};

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/LICENSE.TXT
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+The License
+
+Copyright (c) 2006, SilverStripe Limited - www.silverstripe.com
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of SilverStripe nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-bottom.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-bottom.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-repeater.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/i-repeater.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+
+<head>
+    <title>SilverStripe Tree Control</title>
+    <link rel="stylesheet" type="text/css" media="all" href="tree.css"/>
+    <script type="text/javascript" src="tree.js"></script>
+</head>
+
+<style>
+    html {
+        background-color: #DDD;
+    }
+
+    body {
+        font-size: 80%;
+        font-family: Arial, Helvetica, sans-serif;
+        width: 50em;
+        margin: 0 auto 3.5em auto;
+        padding: 1em;
+        background-color: white;
+        border-left: 1px #CCC solid;
+        border-right: 1px #CCC solid;
+    }
+
+    ul.tree a {
+        font-size: 0.8em;
+
+    }
+
+    code {
+        display: block;
+        font-size: 1.2em;
+        margin: 2em 5em;
+        padding: 0.5em;
+        border: 1px #CCC solid;
+        background-color: #EEE;
+    }
+
+    #version {
+        float: right;
+        font-style: italic;
+        margin-top: -4em;
+    }
+
+    dt {
+        margin: 1.2em 0 0.2em 0;
+        font-weight: bold;
+        font-size: 1.1em
+    }
+
+    dd {
+        margin: 0;
+    }
+
+    h2 {
+        margin-top: 4em;
+        border-bottom: 1px #CCC dotted;
+    }
+
+    #footer {
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 3em;
+    }
+
+    #footer div {
+        margin: auto;
+        width: 52em;
+        height: 3em;
+        background-color: #777;
+        color: white;
+    }
+
+    #footer a {
+        color: white;
+    }
+
+    #footer p.left {
+        float: left;
+        margin: 0.75em 1em;
+    }
+
+    #footer p.right {
+        float: right;
+        margin: 0.75em 1em;
+    }
+
+</style>
+
+<body>
+
+<h1>SilverStripe Tree Control</h1>
+
+<p>This tree control was put together by <a href="sam at silverstripe.com">Sam Minn&eacute;e</a> at
+    <a href="http://www.silverstripe.com/blog">SilverStripe</a> in New Zealand. We've put it out there
+    for everyone to enjoy. Check out <a href="http://www.silverstripe.com/blog">our blog</a> if you're
+    wondering what we're up to.</p>
+
+<p>This file came from <a
+        href="http://www.silverstripe.com/downloads/tree/">http://www.silverstripe.com/downloads/tree/</a>.
+    If you found this file elsewhere, check out that page: we might have posted an updated version.</p>
+
+<p>
+    <b>Quick-links:</b>
+    <a href="#Demo">Demo</a> | <a href="#Usage">Usage</a> | <a href="#Download">Download</a> | <a href="#HowItWorks">How
+    it Works</a>
+</p>
+
+<h2 id="Demo">Demo</h2>
+
+<p>Here's a basic demo of the tree control. Our styling is fairly basic, but with updated CSS and
+    images you can do whatever you like. Just for fun, try changing the text size.</p>
+
+<ul class="tree">
+    <li><a href="#">item 1</a>
+        <ul>
+            <li><a href="#">item 1.1</a></li>
+            <li class="closed"><a href="#">item 1.2</a>
+                <ul>
+                    <li><a href="#">item 1.2.1</a></li>
+                    <li><a href="#">item 1.2.2</a></li>
+                    <li><a href="#">item 1.2.3</a></li>
+                </ul>
+            </li>
+            <li><a href="#">item 1.3</a></li>
+        </ul>
+    </li>
+    <li><a href="#">item 2</a>
+        <ul>
+            <li><a href="#">item 2.1</a></li>
+            <li><a href="#">item 2.2</a></li>
+            <li><a href="#">item 2.3</a></li>
+        </ul>
+    </li>
+</ul>
+
+<h2 id="Download">Download</h2>
+
+<p><a href="../tree.zip">Download everything you need here</a> - tree.zip, 11kb</p>
+
+<h2 id="Usage">Usage</h2>
+
+<p>The first thing to do is include the appropriate JavaScript and CSS files:</p>
+
+<code>
+    &lt;link rel="stylesheet" type="text/css" media="all" href="tree.css" /&gt;<br/>
+    &lt;script type="text/javascript" src="tree.js"&gt;&lt;/script&gt;
+</code>
+
+<p>Then, create the HTML for you tree. This is basically a nested set of bullet pointed links. The
+    "tree" class at the top is what the script will look for. Note that you can make a tree ndoe closed
+    to begin with by adding class="closed".</p>
+
+<p>Here's the HTML code that I inserted to create the demo tree above.</p>
+
+<code>
+    &lt;ul class="tree"&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li class="closed"&gt;&lt;a href="#"&gt;item 1.2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;/ul&gt;
+</code>
+
+<p>Your tree is now complete!</p>
+
+<h2 id="HowItWorks">How it works</h2>
+
+Obviously, this isn't a complete detail of everything that's going on, but it gives you an insight into
+the overall process.
+
+<dl>
+    <dt>Starting the script</dt>
+    <dd>In simple situations, creating an auto-loading script is a simple matter of setting window.onload
+        to a function. But what if there's more than one script? To this end, we created an appendLoader()
+        function that will execute multiple loader functions, including a previously defined loader function
+    </dd>
+
+    <dt>Finding the tree content</dt>
+    <dd>Rather than write a piece of script to define we're your tree is, we've tried to make the script
+        as automatic as possible - it finds all ULs with a class name containing "tree".
+    </dd>
+
+    <dt>Augmenting the HTML</dt>
+    <dd>Unfortunately, an LI containing an A isn't sufficient for doing all of the necessary tree styling.
+        Rather than force people to put non-semantic HTML into their file, the script generates extra &lt;span&gt; tags.
+        So, the following HTML:
+
+        <code>
+            &lt;li&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/li&gt;
+        </code>
+
+        Is turned into the more ungainly, and yet more easily styled:
+
+        <code>
+            &lt;li&gt;&lt;span class="a"&gt;&lt;span class="b"&gt;&lt;span class="c"&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
+        </code>
+
+        Additionally, some helper classes are applied to the &lt;li&gt; and &lt;span class="a"&gt; elements:
+        <ul>
+            <li>"last" is applied to the last node of any subtree.
+            <li>"children" is applied to any node that has children.
+        </ul>
+    </dd>
+
+    <dt>Styling it up</dt>
+    <dd>Why the heck do we need 5 styling elements? Basically, because there are 5 background-images to apply:
+        <ul>
+            <li><b>li:</b> A repeating vertical line is shown. Nested &lt;li&gt; tags
+                give us the multiple vertical lines that we need.
+            </li>
+            <li><b>span.a:</b> We overlay the vertical line with 'L' and 'T' elements as needed.</li>
+            <li><b>span.b:</b> We overlay '+' or '-' signs on nodes with children.</li>
+            <li><b>span.c:</b> This is needed to fix up the vertical line.</li>
+            <li><b>a:</b> Finally, we apply the page icon.</li>
+        </ul>
+    </dd>
+
+    <dt>Opening / closing nodes</dt>
+    <dd>Having come this far, the "dynamic" aspect of the tree control is very trivial. We set a "closed"
+        class on the &lt;li&gt; and &lt;span class="a"&gt; elements, and our CSS takes care of hiding the
+        children, changing the - to a + and changing the folder icon.
+    </dd>
+</dl>
+
+<div id="footer">
+    <div>
+        <p class="left"><a href="http://www.silverstripe.com/downloads/tree">SilverStripe Tree Control</a>: v0.1, 30 Oct
+            2005</p>
+
+        <p class="right">Copyright &copy; 2005 <a href="http://www.silverstripe.com/blog">SilverStripe Limited</a></p>
+    </div>
+</div>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/l.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/l.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/minus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/minus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-file.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-file.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-foldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-foldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-openfoldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/page-openfoldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/plus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/plus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/t.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/t.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,135 @@
+/*
+ * CSS for Standard tree layout
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+ */
+
+ul.tree {
+    width: auto;
+    padding-left: 0px;
+    margin-left: 0px;
+}
+
+ul.tree img {
+    border: none;
+}
+
+ul.tree, ul.tree ul {
+    padding-left: 0;
+}
+
+ul.tree ul {
+    margin-left: 16px;
+
+}
+
+ul.tree li.closed ul {
+    display: none;
+}
+
+ul.tree li {
+    list-style: none;
+    background: url( i-repeater.gif ) 0 0 repeat-y;
+    display: block;
+    width: auto; /* background-color:#FFFFFF; */
+}
+
+ul.tree li.last {
+    list-style: none;
+    background-image: none;
+}
+
+/* Span-A: I/L/I glpyhs */
+ul.tree span.a {
+    background: url( t.gif ) 0 50% no-repeat;
+    display: block;
+}
+
+ul.tree span.a.last {
+    background: url( l.gif ) 0 50% no-repeat;
+}
+
+/* Span-B: Plus/Minus icon */
+ul.tree span.b {
+}
+
+ul.tree span.a.children span.b {
+    background: url( minus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+ul.tree li.closed span.a.children span.b {
+    background: url( plus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+/* Span-C: Spacing and extending tree line below the icon */
+ul.tree span.c {
+    margin-left: 16px;
+}
+
+ul.tree span.a.children span.c {
+    background: url( i-bottom.gif ) 0 50% no-repeat;
+}
+
+ul.tree span.a.spanClosed span.c {
+    background-image: none;
+}
+
+/* Anchor tag: Page icon */
+ul.tree a {
+    white-space: nowrap;
+    overflow: hidden;
+
+    padding: 10px 0px 10px 18px;
+    line-height: 16px;
+
+    background: url( page-file.png ) 0 50% no-repeat;
+}
+
+ul.tree span.a.children a {
+    background-image: url( page-openfoldericon.png );
+}
+
+ul.tree span.a.children.spanClosed a {
+    background-image: url( page-foldericon.png );
+}
+
+/* Unformatted tree */
+ul.tree.unformatted li {
+    background-image: none;
+    padding-left: 16px;
+}
+
+ul.tree.unformatted li li {
+    background-image: none;
+    padding-left: 0px;
+}
+
+/*
+ * Divs, by default store vertically aligned data
+ */
+
+ul.tree li div {
+    float: right;
+    clear: right;
+    height: 1em;
+    margin-top: -26px;
+}
+
+/* As inside DIVs should be treated normally */
+ul.tree div a {
+    padding: 0;
+    background-image: none;
+    min-height: auto;
+    height: auto;
+}
+
+ul.tree li A:link, ul.tree li A:hover, ul.tree li A:visited {
+    color: #111111;
+}
+
+ul.tree li .over {
+    background-color: pink;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,196 @@
+/*
+ * Content-seperated javascript tree widget
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+*/
+
+/*
+ * Initialise all trees identified by <ul class="tree">
+ */
+function autoInit_trees() {
+    var candidates = document.getElementsByTagName('ul');
+    for (var i = 0; i < candidates.length; i++) {
+        if (candidates[i].className && candidates[i].className.indexOf('tree') != -1) {
+            initTree(candidates[i]);
+            candidates[i].className = candidates[i].className.replace(/ ?unformatted ?/, ' ');
+        }
+    }
+}
+
+/*
+* Initialise a tree node, converting all its LIs appropriately
+*/
+function initTree(el) {
+    var i,j;
+    var spanA, spanB, spanC;
+    var startingPoint, stoppingPoint, childUL;
+
+    // Find all LIs to process
+    for (i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName && el.childNodes[i].tagName.toLowerCase() == 'li') {
+            var li = el.childNodes[i];
+
+            // Create our extra spans
+            spanA = document.createElement('span');
+            spanB = document.createElement('span');
+            spanC = document.createElement('span');
+            spanA.appendChild(spanB);
+            spanB.appendChild(spanC);
+            spanA.className = 'a ' + li.className.replace('closed', 'spanClosed');
+            spanA.onMouseOver = function() {
+            }
+            spanB.className = 'b';
+            spanB.onclick = treeToggle;
+            spanC.className = 'c';
+
+
+            // Find the UL within the LI, if it exists
+            stoppingPoint = li.childNodes.length;
+            startingPoint = 0;
+            childUL = null;
+            for (j = 0; j < li.childNodes.length; j++) {
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'div') {
+                    startingPoint = j + 1;
+                    continue;
+                }
+
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'ul') {
+                    childUL = li.childNodes[j];
+                    stoppingPoint = j;
+                    break;
+                }
+            }
+
+            // Move all the nodes up until that point into spanC
+            for (j = startingPoint; j < stoppingPoint; j++) {
+                spanC.appendChild(li.childNodes[startingPoint]);
+            }
+
+            // Insert the outermost extra span into the tree
+            if (li.childNodes.length > startingPoint) li.insertBefore(spanA, li.childNodes[startingPoint]);
+            else li.appendChild(spanA);
+
+            // Process the children
+            if (childUL != null) {
+                if (initTree(childUL)) {
+                    addClass(li, 'children', 'closed');
+                    addClass(spanA, 'children', 'spanClosed');
+                }
+            }
+        }
+    }
+
+    if (li) {
+        // li and spanA will still be set to the last item
+
+        addClass(li, 'last', 'closed');
+        addClass(spanA, 'last', 'spanClosed');
+        return true;
+    } else {
+        return false;
+    }
+
+}
+
+
+/*
+* +/- toggle the tree, where el is the <span class="b"> node
+* force, will force it to "open" or "close"
+*/
+function treeToggle(el, force) {
+    el = this;
+
+    while (el != null && (!el.tagName || el.tagName.toLowerCase() != "li")) el = el.parentNode;
+
+    // Get UL within the LI
+    var childSet = findChildWithTag(el, 'ul');
+    var topSpan = findChildWithTag(el, 'span');
+
+    if (force != null) {
+
+        if (force == "open") {
+            treeOpen(topSpan, el)
+        }
+        else if (force == "close") {
+            treeClose(topSpan, el)
+        }
+
+    }
+
+    else if (childSet != null) {
+        // Is open, close it
+        if (!el.className.match(/(^| )closed($| )/)) {
+            treeClose(topSpan, el)
+            // Is closed, open it
+        } else {
+            treeOpen(topSpan, el)
+        }
+    }
+}
+
+
+function treeOpen(a, b) {
+    removeClass(a, 'spanClosed');
+    removeClass(b, 'closed');
+}
+
+
+function treeClose(a, b) {
+    addClass(a, 'spanClosed');
+    addClass(b, 'closed');
+}
+
+/*
+ * Find the a child of el of type tag
+ */
+function findChildWithTag(el, tag) {
+    for (var i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName != null && el.childNodes[i].tagName.toLowerCase() == tag) return el.childNodes[i];
+    }
+    return null;
+}
+
+/*
+ * Functions to add and remove class names
+ * Mac IE hates unnecessary spaces
+ */
+function addClass(el, cls, forceBefore) {
+    if (forceBefore != null && el.className.match(new RegExp('(^| )' + forceBefore))) {
+        el.className = el.className.replace(new RegExp("( |^)" + forceBefore), '$1' + cls + ' ' + forceBefore);
+
+    } else if (!el.className.match(new RegExp('(^| )' + cls + '($| )'))) {
+        el.className += ' ' + cls;
+        el.className = el.className.replace(/(^ +)|( +$)/g, '');
+    }
+}
+function removeClass(el, cls) {
+    var old = el.className;
+    var newCls = ' ' + el.className + ' ';
+    newCls = newCls.replace(new RegExp(' (' + cls + ' +)+', 'g'), ' ');
+    el.className = newCls.replace(/(^ +)|( +$)/g, '');
+}
+
+/*
+* Handlers for automated loading
+*/
+_LOADERS = Array();
+
+function callAllLoaders() {
+    var i, loaderFunc;
+    for (i = 0; i < _LOADERS.length; i++) {
+        loaderFunc = _LOADERS[i];
+        if (loaderFunc != callAllLoaders) loaderFunc();
+    }
+}
+
+function appendLoader(loaderFunc) {
+    if (window.onload && window.onload != callAllLoaders)
+        _LOADERS[_LOADERS.length] = window.onload;
+
+    window.onload = callAllLoaders;
+
+    _LOADERS[_LOADERS.length] = loaderFunc;
+}
+
+appendLoader(autoInit_trees);

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/validation.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/validation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/validation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// ************************************
+// A variety of validation routines
+//
+//  All routines return true or false
+//
+// checkDate -- checks if valid date
+// checkDigit -- checks if character provided is a single digit
+// checkNotEmpty  -- checks if empty
+// checkEmail -- check if valid email
+// checkNumber -- check if number
+// checkNumberLessThan -- check if number is less than a provided number
+// checkNumberGreaterThan -- check if number is greater than a provided number
+// checkPhone -- checks if a 10 digit phone number
+// checkCreditCardNumber -- checks if valid card number using Luhn's formula
+// checkCreditCardType -- checks if the credit card type is valid based on the credit card number
+//                         Master Card, Visa, American Express
+// ************************************
+
+
+
+/*
+    Checks if the string is a valid date formatted as...
+    mm dd yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy
+
+    http://codylindley.com/blogstuff/js/validation/
+*/
+function checkDate(str){
+	var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/
+	if (!re.test(str)) return false;
+	var result = str.match(re);
+	var m = parseInt(result[1]);
+	var d = parseInt(result[2]);
+	var y = parseInt(result[3]);
+	if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
+	if(m == 2){
+		var days = ((y % 4) == 0) ? 29 : 28;
+	}else if(m == 4 || m == 6 || m == 9 || m == 11){
+		var days = 30;
+	}else{
+		var days = 31;
+	}
+	return (d >= 1 && d <= days);
+}
+
+/*
+ Check if character supplied is a digit
+*/
+function checkDigit(c) {
+    if (c.length != 1) return false;
+    var strAllowed = "1234567890";
+    return (strAllowed.indexOf (c) != -1);
+}
+
+/*
+ Check for empty string, return true if empty, false otherwise
+*/
+function checkNotEmpty(strng) {
+    return (strng != "");
+}
+
+/*
+ Email checking-- comes from Apple's example validation code
+ http://developer.apple.com/internet/webcontent/examples/validate_source.html
+*/
+function checkEmail(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // test email for an @ followed by characters and a .
+    var emailFilter=/^.+ at .+\..{2,3}$/;
+    if (!(emailFilter.test(strng))) {
+        return false;
+    }
+    else {
+        //test email for illegal characters
+        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
+        if (strng.match(illegalChars)) {
+            return false;
+        }
+    }
+    return true;
+}
+
+/*
+ Check if this is a number
+ */
+function checkNumber(num) {
+    return (!(isNaN(parseInt(num))));
+}
+
+function checkNumberGreaterThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num > compareNum);
+}
+
+function checkNumberLessThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num < compareNum);
+}
+
+/*
+ phone number - strip out delimiters and check for 10 digits -- also from Apple
+*/
+function checkPhone(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // check that phone number doesn't contain illegal chars
+    var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
+    if (isNaN(parseInt(stripped))) {
+        return false;
+    }
+    // check length of phone number
+    if (!(stripped.length == 10)) {
+        return false;
+    }
+    return true;
+}
+
+/*
+ Check if this credit card number is valid
+*/
+function checkCreditCardNumber (strNum) {
+    var nCheck = 0;
+    var bEven = false;
+
+    for (n = strNum.length - 1; n >= 0; n--) {
+        var cDigit = strNum.charAt (n);
+        if (isDigit (cDigit)) {
+            var nDigit = parseInt(cDigit, 10);
+            if (bEven) {
+                if ((nDigit *= 2) > 9)
+                    nDigit -= 9;
+            }
+            nCheck += nDigit;
+            bEven = ! bEven;
+        } else if (cDigit != ' ' && cDigit != '.' && cDigit != '-') {
+            return false;
+        }
+    }
+    return (nCheck % 10) == 0;
+}
+
+/*
+ Check if this credit card type is valid
+*/
+function checkCreditCardType(strNum, type) {
+    var nLen = 0;
+    for (n = 0; n < strNum.length; n++) {
+        if (isDigit (strNum.substring (n,n+1)))
+            ++nLen;
+    }
+    if (type == 'Visa')
+        return ((strNum.substring(0,1) == '4') && (nLen == 13 || nLen == 16));
+    else if (type == 'Amex')
+        return ((strNum.substring(0,2) == '34' || strNum.substring(0,2) == '37') && (nLen == 15));
+    else if (type == 'Master Card')
+        return ((strNum.substring(0,2) == '51' || strNum.substring(0,2) == '52'
+                || strNum.substring(0,2) == '53' || strNum.substring(0,2) == '54'
+                || strNum.substring(0,2) == '55') && (nLen == 16));
+    else
+        return false;
+
+}
+
+function validate( myform ) {
+    var inputFields = document.getElementById(myform.id).getElementsByTagName("input");
+    var valid = true;
+    var checkFunc = "";
+    var message = "";
+    for (i = 0; i < inputFields.length; i++) {
+        var checkFuncStr = inputFields[i].className;
+        var startIdx = 0;
+        var endIdx = checkFuncStr.length;
+        var done = false;
+        do {
+            startIdx = checkFuncStr.indexOf('check', startIdx);
+            if (startIdx >= 0) {
+                var lastIdx = checkFuncStr.indexOf('#', startIdx);
+                if (lastIdx > 0) {
+                    checkFunc = checkFuncStr.substring(startIdx, lastIdx);
+                    startIdx = lastIdx;
+                    var myfunc = checkFunc + "('" + inputFields[i].value + "')";
+                    valid = eval(myfunc);
+                    if (!valid) {
+                        var validateName = "val#" + inputFields[i].name + "#" + checkFunc;
+                        var hiddenField = document.getElementById(myform.id).elements[validateName];
+                        message = hiddenField.value;
+                        displayError( myform, message);
+                        return false;
+                    }
+                }
+            } else {
+                done = true;
+            }
+            if (startIdx >= endIdx - 5) done = true;
+        } while (!done)
+    }
+    return true;
+}
+
+function displayError( myform, message) {
+    var msgDiv = null;
+    var form = document.getElementById(myform.id);
+    var divs = form.getElementsByTagName("div");
+    for (i = 0; i < divs.length; i++) {
+        var errorDiv = divs[i].className;
+        if (errorDiv == "ui-messagebox-portlet-msg-error") {
+            msgDiv = divs[i];
+            msgDiv.childNodes[0].textContent = message;
+        }
+    }
+    if (!msgDiv) {
+        msgDiv = document.createElement("div");
+        msgDiv.className = "ui-messagebox-portlet-msg-error";
+        var msgSpan = document.createElement("span");
+        msgSpan.className = "portlet-msg-error";
+        var txt = document.createTextNode(message);
+        msgSpan.appendChild(txt);
+        msgDiv.appendChild(msgSpan);
+        form.insertBefore(msgDiv, form.childNodes[0]);
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/README
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/README	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/README	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+YUI Library Release Notes
+
+*** version 0.11.4 ***
+
+This update contains some priority bug fixes to the following components:
+
+* Yahoo
+* Container
+* Drag and Drop
+* Event
+
+Additional details can be found in the README files for each updated component.
+
+*** version 0.11.3 ***
+
+This update contains general fixes to the YUI library and additions to the YUI
+cheatsheets under docs/assets.  Please see the README file for each component in
+the build directory for updates and fixes since version 0.11.2.
+
+*** version 0.11.2 ***
+
+This update contains a high-priority fix to Drag and Drop that prevents text
+selection.  Additional details can be found in the README file for:
+
+* Drag and Drop
+
+*** version 0.11.1 ***
+
+Release 0.11.1 addresses some high-priority bugs reported in the recently
+released version 0.11.0. Additional details can be found in the README files for
+each updated component:
+
+* Animation
+* Dom
+* Drag and Drop
+* Connection Manager
+* Container
+
+*** version 0.11.0 ***
+
+This version introduces the Logger widget.  The YUI cheatsheets for version
+0.11.0 and 0.10.0 are also included in this distribution under docs/assets.
+
+Please see the README file for each component in the build directory for
+updates and fixes since version 0.10.0.
+
+*** version 0.10.0 ***
+
+In this release, the directory structure has been modified to provide more
+component organization.  This is the new format:
+
+yui/
+  |
+  -- build/
+  | |
+  | -- dom/
+  | |
+  | | -- assets/
+  | |
+  | | -- dom.js
+  | |
+  -- docs/
+  | |
+  | -- dom/
+  | |
+  -- examples/
+  | |
+  | -- dom/
+  | |
+  | | -- img/
+
+Notice there are three immediate directories under the
+root YUI.  They are:
+
+*build/*
+This directory contains the source files for each YUI component, and each
+component is presented as a sub-directory under build/.  Notice that there are
+generally two source files: component.js and component-min.js.  The "component"
+source is the raw, commented build and "component-min" is the minified version
+of the same file with comments and whitespace removed.  With some components,
+there is an assets sub-directory.  CSS and image dependencies for each
+component are stored in its assets sub-directory.
+
+Note: If a component makes use of images, the image source path in the
+component's CSS file will point to Akamai.  The physical images are also
+available in the assets/ directory for local availability.  Please modify the
+CSS image references if you wish to use your own image assets.
+
+*docs/*
+This directory contains the jsdoc-generated API reference for every YUI
+component.  Each component is presented as a sub-directory under docs/.
+
+*examples/*
+This directory contains functional examples for each component in the YUI
+Library.  The examples are not part of the formal distribution; rather,
+they provide demonstrations of each component in use.  Each example uses YUI
+Library source files from the build/ directory, while all example-specific
+dependencies are stored in sub-directories (e.g. examples/dom/img).
+Some components, including the AutoComplete Control and Connection Manager,
+make use of PHP to implement certain examples.
+
+For example:
+In yui/examples/dom, the dom.js source file and all YUI .js dependencies
+are drawn from yui/build/ directories.  All other example-specific sources are
+stored as sub-directories: yui/examples/dom/css and yui/examples/dom/img.
+
+Each functional example is also available and functional on
+developer.yahoo.com/yui/.  They reproduced here as part of the distribution
+for your convenience.
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/ResizePanel.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+YAHOO.widget.ResizePanel = function(el, userConfig) {
+    if (arguments.length > 0) {
+        YAHOO.widget.ResizePanel.superclass.constructor.call(this, el, userConfig);
+    }
+}
+
+YAHOO.extend(YAHOO.widget.ResizePanel, YAHOO.widget.Panel);
+
+YAHOO.widget.ResizePanel.prototype.init = function(el, userConfig) {
+    YAHOO.widget.ResizePanel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+    this.beforeInitEvent.fire(YAHOO.widget.ResizePanel);
+
+    this.resizeHandle = document.createElement("DIV");
+    this.resizeHandle.id = this.id + "_r";
+
+    this.resizeHandle.style.position = "absolute";
+    this.resizeHandle.style.width = "25px";
+    this.resizeHandle.style.height = "4px";
+    this.resizeHandle.style.right = "0";
+    this.resizeHandle.style.bottom = "0";
+    this.resizeHandle.style.padding = "0";
+    this.resizeHandle.style.margin = "0";
+    this.resizeHandle.style.zIndex = "1";
+
+    this.resizeHandle.style.backgroundColor = "#666";
+    this.resizeHandle.style.cursor = "se-resize";
+    this.resizeHandle.style.fontSize = "2px";
+
+    this.beforeRenderEvent.subscribe(function() {
+        if (! this.footer) {
+            this.setFooter("");
+        }
+    },
+            this, true
+            );
+    this.renderEvent.subscribe(function() {
+        var me = this;
+
+        me.innerElement.appendChild(me.resizeHandle);
+
+        this.ddResize = new YAHOO.util.DragDrop(this.resizeHandle.id, this.id);
+        this.ddResize.setHandleElId(this.resizeHandle.id);
+
+        var headerHeight = me.header.offsetHeight;
+
+        this.ddResize.onMouseDown = function(e) {
+
+            this.startWidth = me.innerElement.offsetWidth;
+            this.startHeight = me.innerElement.offsetHeight;
+
+            me.cfg.setProperty("width", this.startWidth + "px");
+            me.cfg.setProperty("height", this.startHeight + "px");
+
+            this.startPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            me.innerElement.style.overflow = "hidden";
+            me.body.style.overflow = "auto";
+        }
+
+        this.ddResize.onDrag = function(e) {
+            var newPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            var offsetX = newPos[0] - this.startPos[0];
+            var offsetY = newPos[1] - this.startPos[1];
+
+            var newWidth = Math.max(this.startWidth + offsetX, 10);
+            var newHeight = Math.max(this.startHeight + offsetY, 10);
+
+            me.cfg.setProperty("width", newWidth + "px");
+            me.cfg.setProperty("height", newHeight + "px");
+
+            var bodyHeight = (newHeight - 5 - me.footer.offsetHeight - me.header.offsetHeight - 3);
+            if (bodyHeight < 0) {
+                bodyHeight = 0;
+            }
+
+            me.body.style.height =  bodyHeight + "px";
+
+            var innerHeight = me.innerElement.offsetHeight;
+            var innerWidth = me.innerElement.offsetWidth;
+
+            if (innerHeight < headerHeight) {
+                me.innerElement.style.height = headerHeight + "px";
+            }
+
+            if (innerWidth < 20) {
+                me.innerElement.style.width = "20px";
+            }
+        }
+
+    }, this, true);
+
+    if (userConfig) {
+        this.cfg.applyConfig(userConfig, true);
+    }
+
+    this.initEvent.fire(YAHOO.widget.ResizePanel);
+}
+
+YAHOO.widget.ResizePanel.prototype.toString = function() {
+    return "ResizePanel " + this.id;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/animation.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1255 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+/**
+ *
+ * Base class for animated DOM objects.
+ * @class Base animation class that provides the interface for building animated effects.
+ * <p>Usage: var myAnim = new YAHOO.util.Anim(el, { width: { from: 10, to: 100 } }, 1, YAHOO.util.Easing.easeOut);</p>
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+
+YAHOO.util.Anim = function(el, attributes, duration, method) {
+   if (el) {
+      this.init(el, attributes, duration, method);
+   }
+};
+
+YAHOO.util.Anim.prototype = {
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   toString: function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Anim " + id);
+   },
+
+   patterns: { // cached for performance
+      noNegatives:      /width|height|opacity|padding/i, // keep at zero or above
+      offsetAttribute:  /^((width|height)|(top|left))$/, // use offsetValue as default
+      defaultUnit:      /width|height|top$|bottom$|left$|right$/i, // use 'px' by default
+      offsetUnit:       /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i // IE may return these, so convert these to offset
+   },
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   doMethod: function(attr, start, end) {
+      return this.method(this.currentFrame, start, end - start, this.totalFrames);
+   },
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   setAttribute: function(attr, val, unit) {
+      if ( this.patterns.noNegatives.test(attr) ) {
+         val = (val > 0) ? val : 0;
+      }
+
+      YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit);
+   },
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   getAttribute: function(attr) {
+      var el = this.getEl();
+      var val = YAHOO.util.Dom.getStyle(el, attr);
+
+      if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) {
+         return parseFloat(val);
+      }
+
+      var a = this.patterns.offsetAttribute.exec(attr) || [];
+      var pos = !!( a[3] ); // top or left
+      var box = !!( a[2] ); // width or height
+
+      // use offsets for width/height and abs pos top/left
+      if ( box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
+         val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)];
+      } else { // default to zero for other 'auto'
+         val = 0;
+      }
+
+      return val;
+   },
+
+   /**
+    * Returns the unit to use when none is supplied.
+    * Applies the "defaultUnit" test to decide whether to use pixels or not
+    * @param {attr} attr The name of the attribute.
+    * @return {String} The default unit to be used.
+    */
+   getDefaultUnit: function(attr) {
+       if ( this.patterns.defaultUnit.test(attr) ) {
+         return 'px';
+       }
+
+       return '';
+   },
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   setRuntimeAttribute: function(attr) {
+      var start;
+      var end;
+      var attributes = this.attributes;
+
+      this.runtimeAttributes[attr] = {};
+
+      var isset = function(prop) {
+         return (typeof prop !== 'undefined');
+      };
+
+      if ( !isset(attributes[attr]['to']) && !isset(attributes[attr]['by']) ) {
+         return false; // note return; nothing to animate to
+      }
+
+      start = ( isset(attributes[attr]['from']) ) ? attributes[attr]['from'] : this.getAttribute(attr);
+
+      // To beats by, per SMIL 2.1 spec
+      if ( isset(attributes[attr]['to']) ) {
+         end = attributes[attr]['to'];
+      } else if ( isset(attributes[attr]['by']) ) {
+         if (start.constructor == Array) {
+            end = [];
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + attributes[attr]['by'][i];
+            }
+         } else {
+            end = start + attributes[attr]['by'];
+         }
+      }
+
+      this.runtimeAttributes[attr].start = start;
+      this.runtimeAttributes[attr].end = end;
+
+      // set units if needed
+      this.runtimeAttributes[attr].unit = ( isset(attributes[attr].unit) ) ? attributes[attr]['unit'] : this.getDefaultUnit(attr);
+   },
+
+   /**
+    * @param {String or HTMLElement} el Reference to the element that will be animated
+    * @param {Object} attributes The attribute(s) to be animated.
+    * Each attribute is an object with at minimum a "to" or "by" member defined.
+    * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+    * All attribute names use camelCase.
+    * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+    * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+    */
+   init: function(el, attributes, duration, method) {
+      /**
+       * Whether or not the animation is running.
+       * @private
+       * @type Boolean
+       */
+      var isAnimated = false;
+
+      /**
+       * A Date object that is created when the animation begins.
+       * @private
+       * @type Date
+       */
+      var startTime = null;
+
+      /**
+       * The number of frames this animation was able to execute.
+       * @private
+       * @type Int
+       */
+      var actualFrames = 0;
+
+      /**
+       * The element to be animated.
+       * @private
+       * @type HTMLElement
+       */
+      el = YAHOO.util.Dom.get(el);
+
+      /**
+       * The collection of attributes to be animated.
+       * Each attribute must have at least a "to" or "by" defined in order to animate.
+       * If "to" is supplied, the animation will end with the attribute at that value.
+       * If "by" is supplied, the animation will end at that value plus its starting value.
+       * If both are supplied, "to" is used, and "by" is ignored.
+       * @member YAHOO#util#Anim
+       * Optional additional member include "from" (the value the attribute should start animating from, defaults to current value), and "unit" (the units to apply to the values).
+       * @type Object
+       */
+      this.attributes = attributes || {};
+
+      /**
+       * The length of the animation.  Defaults to "1" (second).
+       * @type Number
+       */
+      this.duration = duration || 1;
+
+      /**
+       * The method that will provide values to the attribute(s) during the animation.
+       * Defaults to "YAHOO.util.Easing.easeNone".
+       * @type Function
+       */
+      this.method = method || YAHOO.util.Easing.easeNone;
+
+      /**
+       * Whether or not the duration should be treated as seconds.
+       * Defaults to true.
+       * @type Boolean
+       */
+      this.useSeconds = true; // default to seconds
+
+      /**
+       * The location of the current animation on the timeline.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.currentFrame = 0;
+
+      /**
+       * The total number of frames to be executed.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.totalFrames = YAHOO.util.AnimMgr.fps;
+
+
+      /**
+       * Returns a reference to the animated element.
+       * @return {HTMLElement}
+       */
+      this.getEl = function() { return el; };
+
+      /**
+       * Checks whether the element is currently animated.
+       * @return {Boolean} current value of isAnimated.
+       */
+      this.isAnimated = function() {
+         return isAnimated;
+      };
+
+      /**
+       * Returns the animation start time.
+       * @return {Date} current value of startTime.
+       */
+      this.getStartTime = function() {
+         return startTime;
+      };
+
+      this.runtimeAttributes = {};
+
+
+
+      /**
+       * Starts the animation by registering it with the animation manager.
+       */
+      this.animate = function() {
+         if ( this.isAnimated() ) { return false; }
+
+         this.currentFrame = 0;
+
+         this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration;
+
+         YAHOO.util.AnimMgr.registerElement(this);
+      };
+
+      /**
+       * Stops the animation.  Normally called by AnimMgr when animation completes.
+       */
+      this.stop = function() {
+         YAHOO.util.AnimMgr.stop(this);
+      };
+
+      var onStart = function() {
+         this.onStart.fire();
+         for (var attr in this.attributes) {
+            this.setRuntimeAttribute(attr);
+         }
+
+         isAnimated = true;
+         actualFrames = 0;
+         startTime = new Date();
+      };
+
+      /**
+       * Feeds the starting and ending values for each animated attribute to doMethod once per frame, then applies the resulting value to the attribute(s).
+       * @private
+       */
+
+      var onTween = function() {
+         var data = {
+            duration: new Date() - this.getStartTime(),
+            currentFrame: this.currentFrame
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', currentFrame: ' + data.currentFrame
+            );
+         };
+
+         this.onTween.fire(data);
+
+         var runtimeAttributes = this.runtimeAttributes;
+
+         for (var attr in runtimeAttributes) {
+            this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit);
+         }
+
+         actualFrames += 1;
+      };
+
+      var onComplete = function() {
+         var actual_duration = (new Date() - startTime) / 1000 ;
+
+         var data = {
+            duration: actual_duration,
+            frames: actualFrames,
+            fps: actualFrames / actual_duration
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', frames: ' + data.frames +
+               ', fps: ' + data.fps
+            );
+         };
+
+         isAnimated = false;
+         actualFrames = 0;
+         this.onComplete.fire(data);
+      };
+
+      /**
+       * Custom event that fires after onStart, useful in subclassing
+       * @private
+       */
+      this._onStart = new YAHOO.util.CustomEvent('_start', this, true);
+
+      /**
+       * Custom event that fires when animation begins
+       * Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction)
+       */
+      this.onStart = new YAHOO.util.CustomEvent('start', this);
+
+      /**
+       * Custom event that fires between each frame
+       * Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction)
+       */
+      this.onTween = new YAHOO.util.CustomEvent('tween', this);
+
+      /**
+       * Custom event that fires after onTween
+       * @private
+       */
+      this._onTween = new YAHOO.util.CustomEvent('_tween', this, true);
+
+      /**
+       * Custom event that fires when animation ends
+       * Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction)
+       */
+      this.onComplete = new YAHOO.util.CustomEvent('complete', this);
+      /**
+       * Custom event that fires after onComplete
+       * @private
+       */
+      this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true);
+
+      this._onStart.subscribe(onStart);
+      this._onTween.subscribe(onTween);
+      this._onComplete.subscribe(onComplete);
+   }
+};
+
+/**
+ * @class Handles animation queueing and threading.
+ * Used by Anim and subclasses.
+ */
+YAHOO.util.AnimMgr = new function() {
+   /**
+    * Reference to the animation Interval
+    * @private
+    * @type Int
+    */
+   var thread = null;
+
+   /**
+    * The current queue of registered animation objects.
+    * @private
+    * @type Array
+    */
+   var queue = [];
+
+   /**
+    * The number of active animations.
+    * @private
+    * @type Int
+    */
+   var tweenCount = 0;
+
+   /**
+    * Base frame rate (frames per second).
+    * Arbitrarily high for better x-browser calibration (slower browsers drop more frames).
+    * @type Int
+    *
+    */
+   this.fps = 200;
+
+   /**
+    * Interval delay in milliseconds, defaults to fastest possible.
+    * @type Int
+    *
+    */
+   this.delay = 1;
+
+   /**
+    * Adds an animation instance to the animation queue.
+    * All animation instances must be registered in order to animate.
+    * @param {object} tween The Anim instance to be be registered
+    */
+   this.registerElement = function(tween) {
+      queue[queue.length] = tween;
+      tweenCount += 1;
+      tween._onStart.fire();
+      this.start();
+   };
+
+   this.unRegister = function(tween, index) {
+      tween._onComplete.fire();
+      index = index || getIndex(tween);
+      if (index != -1) { queue.splice(index, 1); }
+
+      tweenCount -= 1;
+      if (tweenCount <= 0) { this.stop(); }
+   };
+
+   /**
+    * Starts the animation thread.
+	 * Only one thread can run at a time.
+    */
+   this.start = function() {
+      if (thread === null) { thread = setInterval(this.run, this.delay); }
+   };
+
+   /**
+    * Stops the animation thread or a specific animation instance.
+    * @param {object} tween A specific Anim instance to stop (optional)
+    * If no instance given, Manager stops thread and all animations.
+    */
+   this.stop = function(tween) {
+      if (!tween) {
+         clearInterval(thread);
+         for (var i = 0, len = queue.length; i < len; ++i) {
+            if (queue[i].isAnimated()) {
+               this.unRegister(tween, i);
+            }
+         }
+         queue = [];
+         thread = null;
+         tweenCount = 0;
+      }
+      else {
+         this.unRegister(tween);
+      }
+   };
+
+   /**
+    * Called per Interval to handle each animation frame.
+    */
+   this.run = function() {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         var tween = queue[i];
+         if ( !tween || !tween.isAnimated() ) { continue; }
+
+         if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null)
+         {
+            tween.currentFrame += 1;
+
+            if (tween.useSeconds) {
+               correctFrame(tween);
+            }
+            tween._onTween.fire();
+         }
+         else { YAHOO.util.AnimMgr.stop(tween, i); }
+      }
+   };
+
+   var getIndex = function(anim) {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         if (queue[i] == anim) {
+            return i; // note return;
+         }
+      }
+      return -1;
+   };
+
+   /**
+    * On the fly frame correction to keep animation on time.
+    * @private
+    * @param {Object} tween The Anim instance being corrected.
+    */
+   var correctFrame = function(tween) {
+      var frames = tween.totalFrames;
+      var frame = tween.currentFrame;
+      var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames);
+      var elapsed = (new Date() - tween.getStartTime());
+      var tweak = 0;
+
+      if (elapsed < tween.duration * 1000) { // check if falling behind
+         tweak = Math.round((elapsed / expected - 1) * tween.currentFrame);
+      } else { // went over duration, so jump to end
+         tweak = frames - (frame + 1);
+      }
+      if (tweak > 0 && isFinite(tweak)) { // adjust if needed
+         if (tween.currentFrame + tweak >= frames) {// dont go past last frame
+            tweak = frames - (frame + 1);
+         }
+
+         tween.currentFrame += tweak;
+      }
+   };
+};
+/**
+ *
+ * @class Used to calculate Bezier splines for any number of control points.
+ *
+ */
+YAHOO.util.Bezier = new function()
+{
+   /**
+    * Get the current position of the animated element based on t.
+    * Each point is an array of "x" and "y" values (0 = x, 1 = y)
+    * At least 2 points are required (start and end).
+    * First point is start. Last point is end.
+    * Additional control points are optional.
+    * @param {Array} points An array containing Bezier points
+    * @param {Number} t A number between 0 and 1 which is the basis for determining current position
+    * @return {Array} An array containing int x and y member data
+    */
+   this.getPosition = function(points, t)
+   {
+      var n = points.length;
+      var tmp = [];
+
+      for (var i = 0; i < n; ++i){
+         tmp[i] = [points[i][0], points[i][1]]; // save input
+      }
+
+      for (var j = 1; j < n; ++j) {
+         for (i = 0; i < n - j; ++i) {
+            tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];
+            tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];
+         }
+      }
+
+      return [ tmp[0][0], tmp[0][1] ];
+
+   };
+};
+/**
+ * @class ColorAnim subclass for color fading
+ * <p>Usage: <code>var myAnim = new Y.ColorAnim(el, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 1, Y.Easing.easeOut);</code></p>
+ * <p>Color values can be specified with either 112233, #112233, [255,255,255], or rgb(255,255,255)
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @constructor
+ * @param {HTMLElement | String} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.ColorAnim = function(el, attributes, duration,  method) {
+      YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
+   };
+
+   YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.ColorAnim.superclass;
+   var proto = Y.ColorAnim.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("ColorAnim " + id);
+   };
+
+   /**
+    * Only certain attributes should be treated as colors.
+    * @type Object
+    */
+   proto.patterns.color = /color$/i;
+   proto.patterns.rgb    = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
+   proto.patterns.hex    = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
+   proto.patterns.hex3   = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;
+
+   /**
+    * Attempts to parse the given string and return a 3-tuple.
+    * @param {String} s The string to parse.
+    * @return {Array} The 3-tuple of rgb values.
+    */
+   proto.parseColor = function(s) {
+      if (s.length == 3) { return s; }
+
+      var c = this.patterns.hex.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16) ];
+      }
+
+      c = this.patterns.rgb.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10) ];
+      }
+
+      c = this.patterns.hex3.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16) ];
+      }
+
+      return null;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var el = this.getEl();
+      if (  this.patterns.color.test(attr) ) {
+         var val = YAHOO.util.Dom.getStyle(el, attr);
+
+         if (val == 'transparent') { // bgcolor default
+            var parent = el.parentNode; // try and get from an ancestor
+            val = Y.Dom.getStyle(parent, attr);
+
+            while (parent && val == 'transparent') {
+               parent = parent.parentNode;
+               val = Y.Dom.getStyle(parent, attr);
+               if (parent.tagName.toUpperCase() == 'HTML') {
+                  val = 'ffffff';
+               }
+            }
+         }
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val;
+
+      if ( this.patterns.color.test(attr) ) {
+         val = [];
+         for (var i = 0, len = start.length; i < len; ++i) {
+            val[i] = superclass.doMethod.call(this, attr, start[i], end[i]);
+         }
+
+         val = 'rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')';
+      }
+      else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      superclass.setRuntimeAttribute.call(this, attr);
+
+      if ( this.patterns.color.test(attr) ) {
+         var attributes = this.attributes;
+         var start = this.parseColor(this.runtimeAttributes[attr].start);
+         var end = this.parseColor(this.runtimeAttributes[attr].end);
+         // fix colors if going "by"
+         if ( typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined' ) {
+            end = this.parseColor(attributes[attr].by);
+
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + end[i];
+            }
+         }
+
+         this.runtimeAttributes[attr].start = start;
+         this.runtimeAttributes[attr].end = end;
+      }
+   };
+})();/*
+TERMS OF USE - EASING EQUATIONS
+Open source under the BSD License.
+Copyright © 2001 Robert Penner All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+    * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+*/
+
+YAHOO.util.Easing = {
+
+   /**
+    * Uniform speed between points.
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeNone: function (t, b, c, d) {
+   	return c*t/d + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeIn: function (t, b, c, d) {
+   	return c*(t/=d)*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOut: function (t, b, c, d) {
+   	return -c *(t/=d)*(t-2) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBoth: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t + b;
+   	return -c/2 * ((--t)*(t-2) - 1) + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeInStrong: function (t, b, c, d) {
+   	return c*(t/=d)*t*t*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOutStrong: function (t, b, c, d) {
+   	return -c * ((t=t/d-1)*t*t*t - 1) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBothStrong: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
+   	return -c/2 * ((t-=2)*t*t*t - 2) + b;
+   },
+
+   /**
+    * snap in elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+
+   elasticIn: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   },
+
+   /**
+    * snap out elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticOut: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+   },
+
+   /**
+    * snap both elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticBoth: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   	return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
+   },
+
+   /**
+    * back easing in - backtracking slightly, then reversing direction and moving to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backIn: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*(t/=d)*t*((s+1)*t - s) + b;
+   },
+
+   /**
+    * back easing out - moving towards target, overshooting it slightly,
+    * then reversing and coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backOut: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+   },
+
+   /**
+    * back easing in/out - backtracking slightly, then reversing direction and moving to target,
+    * then overshooting target, reversing, and finally coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backBoth: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
+   	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+   },
+
+   /**
+    * bounce in
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceIn: function (t, b, c, d) {
+   	return c - YAHOO.util.Easing.bounceOut(d-t, 0, c, d) + b;
+   },
+
+   /**
+    * bounce out
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceOut: function (t, b, c, d) {
+   	if ((t/=d) < (1/2.75)) {
+   		return c*(7.5625*t*t) + b;
+   	} else if (t < (2/2.75)) {
+   		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
+   	} else if (t < (2.5/2.75)) {
+   		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
+   	} else {
+   		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
+   	}
+   },
+
+   /**
+    * bounce both
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceBoth: function (t, b, c, d) {
+   	if (t < d/2) return YAHOO.util.Easing.bounceIn(t*2, 0, c, d) * .5 + b;
+   	return YAHOO.util.Easing.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
+   }
+};
+
+/**
+ * @class Anim subclass for moving elements along a path defined by the "points" member of "attributes".  All "points" are arrays with x, y coordinates.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Motion(el, { points: { to: [800, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Motion = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Motion.superclass;
+   var proto = Y.Motion.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Motion " + id);
+   };
+
+   proto.patterns.points = /^points$/i;
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      if (  this.patterns.points.test(attr) ) {
+         unit = unit || 'px';
+         superclass.setAttribute.call(this, 'left', val[0], unit);
+         superclass.setAttribute.call(this, 'top', val[1], unit);
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+
+   /**
+    * Sets the default value to be used when "from" is not supplied.
+    * @param {String} attr The attribute being set.
+    * @param {Number} val The default value to be applied to the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      if (  this.patterns.points.test(attr) ) {
+         var val = [
+            superclass.getAttribute.call(this, 'left'),
+            superclass.getAttribute.call(this, 'top')
+         ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if ( this.patterns.points.test(attr) ) {
+         var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100;
+         val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t);
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      if ( this.patterns.points.test(attr) ) {
+         var el = this.getEl();
+         var attributes = this.attributes;
+         var start;
+         var control = attributes['points']['control'] || [];
+         var end;
+         var i, len;
+
+         if (control.length > 0 && !(control[0] instanceof Array) ) { // could be single point or array of points
+            control = [control];
+         } else { // break reference to attributes.points.control
+            var tmp = [];
+            for (i = 0, len = control.length; i< len; ++i) {
+               tmp[i] = control[i];
+            }
+            control = tmp;
+         }
+
+         if (Y.Dom.getStyle(el, 'position') == 'static') { // default to relative
+            Y.Dom.setStyle(el, 'position', 'relative');
+         }
+
+         if ( isset(attributes['points']['from']) ) {
+            Y.Dom.setXY(el, attributes['points']['from']); // set position to from point
+         }
+         else { Y.Dom.setXY( el, Y.Dom.getXY(el) ); } // set it to current position
+
+         start = this.getAttribute('points'); // get actual top & left
+
+         // TO beats BY, per SMIL 2.1 spec
+         if ( isset(attributes['points']['to']) ) {
+            end = translateValues.call(this, attributes['points']['to'], start);
+
+            var pageXY = Y.Dom.getXY(this.getEl());
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = translateValues.call(this, control[i], start);
+            }
+
+
+         } else if ( isset(attributes['points']['by']) ) {
+            end = [ start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1] ];
+
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = [ start[0] + control[i][0], start[1] + control[i][1] ];
+            }
+         }
+
+         this.runtimeAttributes[attr] = [start];
+
+         if (control.length > 0) {
+            this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control);
+         }
+
+         this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end;
+      }
+      else {
+         superclass.setRuntimeAttribute.call(this, attr);
+      }
+   };
+
+   var translateValues = function(val, start) {
+      var pageXY = Y.Dom.getXY(this.getEl());
+      val = [ val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1] ];
+
+      return val;
+   };
+
+   var isset = function(prop) {
+      return (typeof prop !== 'undefined');
+   };
+})();
+/**
+ * @class Anim subclass for scrolling elements to a position defined by the "scroll" member of "attributes".  All "scroll" members are arrays with x, y scroll positions.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Scroll(el, { scroll: { to: [0, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Scroll = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Scroll.superclass;
+   var proto = Y.Scroll.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Scroll " + id);
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if (attr == 'scroll') {
+         val = [
+            this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames),
+            this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames)
+         ];
+
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var val = null;
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         val = [ el.scrollLeft, el.scrollTop ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         el.scrollLeft = val[0];
+         el.scrollTop = val[1];
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+})();

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/connection.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ * @ class
+ */
+YAHOO.util.Connect =
+{
+/**
+   * Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @private
+   * @type array
+   */
+	_msxml_progid:[
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP',
+		'Microsoft.XMLHTTP'
+		],
+
+  /**
+   * Object literal of HTTP header(s)
+   * @private
+   * @type object
+   */
+	_http_header:{},
+
+  /**
+   * Determines if HTTP headers are set.
+   * @private
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded',
+
+ /**
+  * Property modified by setForm() to determine if the data
+  * should be submitted as an HTML form.
+  * @private
+  * @type boolean
+  */
+    _isFormSubmit:false,
+
+ /**
+  * Property modified by setForm() to determine if a file(s)
+  * upload is expected.
+  * @private
+  * @type boolean
+  */
+    _isFileUpload:false,
+
+ /**
+  * Property modified by setForm() to set a reference to the HTML
+  * form node if the desired action is file upload.
+  * @private
+  * @type object
+  */
+    _formNode:null,
+
+ /**
+  * Property modified by setForm() to set the HTML form data
+  * for each transaction.
+  * @private
+  * @type string
+  */
+    _sFormData:null,
+
+ /**
+  * Collection of polling references to the polling mechanism in handleReadyState.
+  * @private
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * Queue of timeout values for each transaction callback with a defined timeout value.
+  * @private
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @private
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * A transaction counter that increments the transaction id for each transaction.
+   * @private
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @public
+   * @param string id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+	},
+
+  /**
+   * Member to enable or disable the default POST header.
+   * @public
+   * @param boolean b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		this._use_default_post_header = b;
+	},
+
+  /**
+   * Member to modify the default polling interval.
+   * @public
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+		}
+	},
+
+  /**
+   * Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @private
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return connection object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId };
+		}
+		catch(e)
+		{
+			for(var i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http.
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with http and tId properties
+					obj = { conn:http, tId:transactionId };
+					break;
+				}
+				catch(e){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @private
+   * @return object
+   */
+	getConnectionObject:function()
+	{
+		var o;
+		var tId = this._transaction_id;
+
+		try
+		{
+			o = this.createXhrObject(tId);
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		finally
+		{
+			return o;
+		}
+	},
+
+  /**
+   * Method for initiating an asynchronous request via the XHR object.
+   * @public
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o = this.getConnectionObject();
+
+		if(!o){
+			return null;
+		}
+		else{
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o.tId, callback, uri);
+					this.releaseObject(o);
+					return;
+				}
+
+				//If the specified HTTP method is GET, setForm() will return an
+				//encoded string that is concatenated to the uri to
+				//create a querystring.
+				if(method == 'GET'){
+					uri += "?" +  this._sFormData;
+				}
+				else if(method == 'POST'){
+					//If POST data exists in addition to the HTML form data,
+					//it will be concatenated to the form data.
+					postData = (postData?this._sFormData + "&" + postData:this._sFormData);
+				}
+				this._sFormData = '';
+			}
+
+			o.conn.open(method, uri, true);
+
+			if(this._isFormSubmit || (postData && this._use_default_post_header)){
+				this.initHeader('Content-Type', this._default_post_header);
+				if(this._isFormSubmit){
+					this._isFormSubmit = false;
+				}
+			}
+
+			if(this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData?postData:null);
+
+			return o;
+		}
+	},
+
+  /**
+   * This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param callback User-defined callback object
+   * @return void
+   */
+    handleReadyState:function(o, callback)
+    {
+
+		var oConn = this;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState == 4){
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						delete oConn._timeOut[o.tId];
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param {object} callback - User-defined callback object
+   * @param {boolean} determines if the transaction was aborted.
+   * @return void
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		// If no valid callback is provided, then do not process any callback handling.
+		if(!callback){
+			this.releaseObject(o);
+			return;
+		}
+
+		var httpStatus, responseObject;
+
+		try
+		{
+			if(o.conn.status !== undefined && o.conn.status != 0){
+				httpStatus = o.conn.status;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+			// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
+			// when the o object's status and statusText properties are
+			// unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if(httpStatus >= 200 && httpStatus < 300){
+			try
+			{
+				responseObject = this.createResponseObject(o, callback.argument);
+				if(callback.success){
+					if(!callback.scope){
+						callback.success(responseObject);
+					}
+					else{
+						// If a scope property is defined, the callback will be fired from
+						// the context of the object.
+						callback.success.apply(callback.scope, [responseObject]);
+					}
+				}
+			}
+			catch(e){}
+		}
+		else{
+			try
+			{
+				switch(httpStatus){
+					// The following case labels are wininet.dll error codes that may be encountered.
+					case 12002: // Server timeout
+					case 12029: // 12029 to 12031 correspond to dropped connections.
+					case 12030:
+					case 12031:
+					case 12152: // Connection closed by server.
+					case 13030: // See above comments for variable status.
+						responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort?isAbort:false));
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+						break;
+					default:
+						responseObject = this.createResponseObject(o, callback.argument);
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+				}
+			}
+			catch(e){}
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @private
+   * @param {object} o The connection object
+   * @param {} callbackArg User-defined argument or arguments to be passed to the callback
+   * @return object
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {};
+		var headerObj = {};
+
+		try
+		{
+			var headerStr = o.conn.getAllResponseHeaders();
+			var header = headerStr.split('\n');
+			for(var i=0; i < header.length; i++){
+				var delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = header[i].substring(delimitPos + 2);
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		obj.status = o.conn.status;
+		obj.statusText = o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(typeof callbackArg !== undefined){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @private
+   * @param {int} tId Transaction Id
+   * @param callbackArg The user-defined arguments
+   * @param isAbort Determines if the exception is an abort.
+   * @return object
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0;
+		var COMM_ERROR = 'communication failure';
+		var ABORT_CODE = -1;
+		var ABORT_ERROR = 'transaction aborted';
+
+		var obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * Public method that stores the custom HTTP headers for each transaction.
+   * @public
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @return void
+   */
+	initHeader:function(label,value)
+	{
+		if(this._http_header[label] === undefined){
+			this._http_header[label] = value;
+		}
+		else{
+			// Concatenate multiple values, comma-delimited,
+			// for the same header label,
+			this._http_header[label] =  value + "," + this._http_header[label];
+		}
+
+		this._has_http_headers = true;
+	},
+
+  /**
+   * Accessor that sets the HTTP headers for each transaction.
+   * @private
+   * @param {object} o The connection object for the transaction.
+   * @return void
+   */
+	setHeader:function(o)
+	{
+		for(var prop in this._http_header){
+			if(this._http_header.hasOwnProperty(prop)){
+				o.conn.setRequestHeader(prop, this._http_header[prop]);
+			}
+		}
+		delete this._http_header;
+
+		this._http_header = {};
+		this._has_http_headers = false;
+	},
+
+  /**
+   * This method assembles the form label and value pairs and
+   * constructs an encoded string.
+   * asyncRequest() will automatically initialize the
+   * transaction with a HTTP header Content-Type of
+   * application/x-www-form-urlencoded.
+   * @public
+   * @param {string || object} form id or name attribute, or form object.
+   * @param {string} optional boolean to indicate SSL environment.
+   * @param {string || boolean} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	setForm:function(formId, isUpload, secureUri)
+	{
+		this._sFormData = '';
+		if(typeof formId == 'string'){
+			// Determine if the argument is a form id or a form name.
+			// Note form name usage is deprecated by supported
+			// here for legacy reasons.
+			var oForm = (document.getElementById(formId) || document.forms[formId]);
+		}
+		else if(typeof formId == 'object'){
+			// Treat argument as an HTML form object.
+			var oForm = formId;
+		}
+		else{
+			return;
+		}
+
+		// If the isUpload argument is true, setForm will call createFrame to initialize
+		// an iframe as the form target.
+		//
+		// The argument secureURI is also required by IE in SSL environments
+		// where the secureURI string is a fully qualified HTTP path, used to set the source
+		// of the iframe, to a stub resource in the same domain.
+		if(isUpload){
+			this.createFrame(secureUri?secureUri:null);
+			this._isFormSubmit = true;
+			this._isFileUpload = true;
+			this._formNode = oForm;
+
+			return;
+		}
+
+		var oElement, oName, oValue, oDisabled;
+		var hasSubmit = false;
+
+		// Iterate over the form elements collection to construct the
+		// label-value pairs.
+		for (var i=0; i<oForm.elements.length; i++){
+			oElement = oForm.elements[i];
+			oDisabled = oForm.elements[i].disabled;
+			oName = oForm.elements[i].name;
+			oValue = oForm.elements[i].value;
+
+			// Do not submit fields that are disabled or
+			// do not have a name attribute value.
+			if(!oDisabled && oName)
+			{
+				switch (oElement.type)
+				{
+					case 'select-one':
+					case 'select-multiple':
+						for(var j=0; j<oElement.options.length; j++){
+							if(oElement.options[j].selected){
+								if(window.ActiveXObject){
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+								else{
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+
+							}
+						}
+						break;
+					case 'radio':
+					case 'checkbox':
+						if(oElement.checked){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						}
+						break;
+					case 'file':
+						// stub case as XMLHttpRequest will only send the file path as a string.
+					case undefined:
+						// stub case for fieldset element which returns undefined.
+					case 'reset':
+						// stub case for input type reset button.
+					case 'button':
+						// stub case for input type button elements.
+						break;
+					case 'submit':
+						if(hasSubmit == false){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+							hasSubmit = true;
+						}
+						break;
+					default:
+						this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						break;
+				}
+			}
+		}
+
+		this._isFormSubmit = true;
+		this._sFormData = this._sFormData.substr(0, this._sFormData.length - 1);
+	},
+
+  /**
+   * Creates an iframe to be used for form file uploads.  It is remove from the
+   * document upon completion of the upload transaction.
+   *
+   * @private
+   * @param {string} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	createFrame:function(secureUri){
+
+		// IE does not allow the setting of id and name attributes as object
+		// properties via createElement().  A different iframe creation
+		// pattern is required for IE.
+		var frameId = 'yuiIO' + this._transaction_id;
+		if(window.ActiveXObject){
+			var io = document.createElement('<IFRAME id="' + frameId + '" name="' + frameId + '">');
+
+			// IE will throw a security exception in an SSL environment if the
+			// iframe source isn't set.
+			if(typeof secureUri == 'boolean'){
+				io.src = 'javascript:false';
+			}
+			else{
+				io.src = secureUri;
+			}
+		}
+		else{
+			var io = document.createElement('IFRAME');
+			io.id = frameId;
+			io.name = frameId;
+		}
+
+		io.style.position = 'absolute';
+		io.style.top = '-1000px';
+		io.style.left = '-1000px';
+
+		document.body.appendChild(io);
+	},
+
+  /**
+   * Uploads HTML form, including files/attachments,  targeting the
+   * iframe created in createFrame.
+   *
+   * @private
+   * @param {int} id The transaction id.
+   * @param {object} callback - User-defined callback object.
+   * @param {string} uri Fully qualified path of resource.
+   * @return void
+   */
+	uploadFile:function(id, callback, uri){
+
+		var frameId = 'yuiIO' + id;
+		var io = document.getElementById(frameId);
+
+		// Initialize the HTML form properties in case they are
+		// not defined in the HTML form.
+		this._formNode.action = uri;
+		this._formNode.enctype = 'multipart/form-data';
+		this._formNode.method = 'POST';
+		this._formNode.target = frameId;
+		this._formNode.submit();
+
+		// Reset form status properties.
+		this._formNode = null;
+		this._isFileUpload = false;
+		this._isFormSubmit = false;
+
+		// Create the upload callback handler that fires when the iframe
+		// receives the load event.  Subsequently, the event handler is detached
+		// and the iframe removed from the document.
+
+		var uploadCallback = function()
+		{
+			var obj = {};
+
+			obj.tId = id;
+			obj.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
+			obj.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
+			obj.argument = callback.argument;
+
+			if(callback.upload){
+				if(!callback.scope){
+					callback.upload(obj);
+				}
+				else{
+					callback.upload.apply(callback.scope, [obj]);
+				}
+			}
+
+			if(YAHOO.util.Event){
+				YAHOO.util.Event.removeListener(io, "load", uploadCallback);
+			}
+			else if(window.ActiveXObject){
+				io.detachEvent('onload', uploadCallback);
+			}
+			else{
+				io.removeEventListener('load', uploadCallback, false);
+			}
+			setTimeout(function(){ document.body.removeChild(io); }, 100);
+		};
+
+
+		// Bind the onload handler to the iframe to detect the file upload response.
+		if(YAHOO.util.Event){
+			YAHOO.util.Event.addListener(io, "load", uploadCallback);
+		}
+		else if(window.ActiveXObject){
+			io.attachEvent('onload', uploadCallback);
+		}
+		else{
+			io.addEventListener('load', uploadCallback, false);
+		}
+	},
+
+  /**
+   * Public method to terminate a transaction, if it has not reached readyState 4.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort was a timeout.
+   * @return void
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		if(this.isCallInProgress(o)){
+			o.conn.abort();
+			window.clearInterval(this._poll[o.tId]);
+			delete this._poll[o.tId];
+			if(isTimeout){
+				delete this._timeOut[o.tId];
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+
+			return true;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * Public method to check if the transaction is still being processed.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest
+   * @return boolean
+   */
+	isCallInProgress:function(o)
+	{
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.conn){
+			return o.conn.readyState != 4 && o.conn.readyState != 0;
+		}
+		else{
+			//The XHR object has been destroyed.
+			return false;
+		}
+	},
+
+  /**
+   * Dereference the XHR instance and the connection object after the transaction is completed.
+   * @private
+   * @param {object} o The connection object
+   * @return void
+   */
+	releaseObject:function(o)
+	{
+		//dereference the XHR instance.
+		o.conn = null;
+		//dereference the connection object.
+		o = null;
+	}
+};
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/container.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3963 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* Config is a utility used within an object to allow the implementer to maintain a list of local configuration properties and listen for changes to those properties dynamically using CustomEvent. The initial values are also maintained so that the configuration can be reset at any given point to its initial state.
+* @param {object}	owner	The owner object to which this Config object belongs
+* @constructor
+*/
+YAHOO.util.Config = function(owner) {
+	if (owner) {
+		this.init(owner);
+	}
+};
+
+YAHOO.util.Config.prototype = {
+	
+	/**
+	* Object reference to the owner of this Config object
+	* @type object
+	*/
+	owner : null,
+
+	/**
+	* Object reference to the owner of this Config object
+	* args: key, value
+	* @type YAHOO.util.CustomEvent
+	*/
+	configChangedEvent : null,
+
+	/**
+	* Boolean flag that specifies whether a queue is currently being executed
+	* @type boolean
+	*/
+	queueInProgress : false,
+
+	/**
+	* Adds a property to the Config object's private config hash. 
+	* @param {string}	key	The configuration property's name
+	* @param {object}	propertyObject	The object containing all of this property's arguments
+	*/
+	addProperty : function(key, propertyObject){},
+
+	/**
+	* Returns a key-value configuration map of the values currently set in the Config object.
+	* @return {object} The current config, represented in a key-value map
+	*/
+	getConfig : function(){},
+
+	/**
+	* Returns the value of specified property.
+	* @param {key}		The name of the property
+	* @return {object}	The value of the specified property
+	*/
+	getProperty : function(key){},
+
+	/**
+	* Resets the specified property's value to its initial value.
+	* @param {key}		The name of the property
+	*/
+	resetProperty : function(key){},
+
+	/**
+	* Sets the value of a property. If the silent property is passed as true, the property's event will not be fired.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @param {boolean}	Whether the value should be set silently, without firing the property event.
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/
+	setProperty : function(key,value,silent){},
+
+	/**
+	* Sets the value of a property and queues its event to execute. If the event is already scheduled to execute, it is
+	* moved from its current position to the end of the queue.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/	
+	queueProperty : function(key,value){},
+
+	/**
+	* Fires the event for a property using the property's current value.
+	* @param {key}		The name of the property
+	*/
+	refireEvent : function(key){},
+
+	/**
+	* Applies a key-value object literal to the configuration, replacing any existing values, and queueing the property events.
+	* Although the values will be set, fireQueue() must be called for their associated events to execute.
+	* @param {object}	userConfig	The configuration object literal
+	* @param {boolean}	init		When set to true, the initialConfig will be set to the userConfig passed in, so that calling a reset will reset the properties to the passed values.
+	*/
+	applyConfig : function(userConfig,init){},
+
+	/**
+	* Refires the events for all configuration properties using their current values.
+	*/
+	refresh : function(){},
+
+	/**
+	* Fires the normalized list of queued property change events
+	*/
+	fireQueue : function(){},
+
+	/**
+	* Subscribes an external handler to the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	* @param {boolean}	override	Optional. If true, will override "this" within the handler to map to the scope object passed into the method.
+	*/	
+	subscribeToConfigEvent : function(key,handler,obj,override){},
+
+	/**
+	* Unsubscribes an external handler from the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	*/
+	unsubscribeFromConfigEvent: function(key,handler,obj){},
+
+	/**
+	* Validates that the value passed in is a boolean.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/	
+	checkBoolean: function(val) {
+		if (typeof val == 'boolean') {
+			return true;
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Validates that the value passed in is a number.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/
+	checkNumber: function(val) {
+		if (isNaN(val)) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+};
+
+
+/**
+* Initializes the configuration object and all of its local members.
+* @param {object}	owner	The owner object to which this Config object belongs
+*/
+YAHOO.util.Config.prototype.init = function(owner) {
+
+	this.owner = owner;
+	this.configChangedEvent = new YAHOO.util.CustomEvent("configChanged");
+	this.queueInProgress = false;
+
+	/* Private Members */
+
+	var config = {};
+	var initialConfig = {};
+	var eventQueue = [];
+
+	/**
+	* @private
+	* Fires a configuration property event using the specified value. 
+	* @param {string}	key			The configuration property's name
+	* @param {value}	object		The value of the correct type for the property
+	*/ 
+	var fireEvent = function( key, value ) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+
+		if (typeof property != 'undefined' && property.event) {
+			property.event.fire(value);
+		}	
+	};
+	/* End Private Members */
+
+	this.addProperty = function( key, propertyObject ) {
+		key = key.toLowerCase();
+
+		config[key] = propertyObject;
+
+		propertyObject.event = new YAHOO.util.CustomEvent(key);
+		propertyObject.key = key;
+
+		if (propertyObject.handler) {
+			propertyObject.event.subscribe(propertyObject.handler, this.owner, true);
+		}
+
+		this.setProperty(key, propertyObject.value, true);
+		
+		if (! propertyObject.suppressEvent) {
+			this.queueProperty(key, propertyObject.value);
+		}
+	};
+
+	this.getConfig = function() {
+		var cfg = {};
+			
+		for (var prop in config) {
+			var property = config[prop];
+			if (typeof property != 'undefined' && property.event) {
+				cfg[prop] = property.value;
+			}
+		}
+		
+		return cfg;
+	};
+
+	this.getProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.value;
+		} else {
+			return undefined;
+		}
+	};
+
+	this.resetProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			this.setProperty(key, initialConfig[key].value);
+		} else {
+			return undefined;
+		}
+	};
+
+	this.setProperty = function(key, value, silent) {
+		key = key.toLowerCase();
+
+		if (this.queueInProgress && ! silent) {
+			this.queueProperty(key,value); // Currently running through a queue... 
+			return true;
+		} else {
+			var property = config[key];
+			if (typeof property != 'undefined' && property.event) {
+				if (property.validator && ! property.validator(value)) { // validator
+					return false;
+				} else {
+					property.value = value;
+					if (! silent) {
+						fireEvent(key, value);
+						this.configChangedEvent.fire([key, value]);
+					}
+					return true;
+				}
+			} else {
+				return false;
+			}
+		}
+	};
+
+	this.queueProperty = function(key, value) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+							
+		if (typeof property != 'undefined' && property.event) {
+			if (typeof value != 'undefined' && property.validator && ! property.validator(value)) { // validator
+				return false;
+			} else {
+
+				if (typeof value != 'undefined') {
+					property.value = value;
+				} else {
+					value = property.value;
+				}
+
+				var foundDuplicate = false;
+
+				for (var i=0;i<eventQueue.length;i++) {
+					var queueItem = eventQueue[i];
+
+					if (queueItem) {
+						var queueItemKey = queueItem[0];
+						var queueItemValue = queueItem[1];
+						
+						if (queueItemKey.toLowerCase() == key) {
+							// found a dupe... push to end of queue, null current item, and break
+							eventQueue[i] = null;
+							eventQueue.push([key, (typeof value != 'undefined' ? value : queueItemValue)]);
+							foundDuplicate = true;
+							break;
+						}
+					}
+				}
+				
+				if (! foundDuplicate && typeof value != 'undefined') { // this is a refire, or a new property in the queue
+					eventQueue.push([key, value]);
+				}
+			}
+
+			if (property.supercedes) {
+				for (var s=0;s<property.supercedes.length;s++) {
+					var supercedesCheck = property.supercedes[s];
+
+					for (var q=0;q<eventQueue.length;q++) {
+						var queueItemCheck = eventQueue[q];
+
+						if (queueItemCheck) {
+							var queueItemCheckKey = queueItemCheck[0];
+							var queueItemCheckValue = queueItemCheck[1];
+							
+							if ( queueItemCheckKey.toLowerCase() == supercedesCheck.toLowerCase() ) {
+								eventQueue.push([queueItemCheckKey, queueItemCheckValue]);
+								eventQueue[q] = null;
+								break;
+							}
+						}
+					}
+				}
+			}
+
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+	this.refireEvent = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event && typeof property.value != 'undefined') {
+			if (this.queueInProgress) {
+				this.queueProperty(key);
+			} else {
+				fireEvent(key, property.value);
+			}
+		}
+	};
+
+	this.applyConfig = function(userConfig, init) {
+		if (init) {
+			initialConfig = userConfig;
+		}
+		for (var prop in userConfig) {
+			this.queueProperty(prop, userConfig[prop]);
+		}
+	};
+
+	this.refresh = function() {
+		for (var prop in config) {
+			this.refireEvent(prop);
+		}
+	};
+
+	this.fireQueue = function() {
+		this.queueInProgress = true;
+		for (var i=0;i<eventQueue.length;i++) {
+			var queueItem = eventQueue[i];
+			if (queueItem) {
+				var key = queueItem[0];
+				var value = queueItem[1];
+				
+				var property = config[key];
+				property.value = value;
+
+				fireEvent(key,value);
+			}
+		}
+		
+		this.queueInProgress = false;
+		eventQueue = [];
+	};
+
+	this.subscribeToConfigEvent = function(key, handler, obj, override) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			if (! YAHOO.util.Config.alreadySubscribed(property.event, handler, obj)) {
+				property.event.subscribe(handler, obj, override);
+			}
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+
+	this.unsubscribeFromConfigEvent = function(key, handler, obj) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.event.unsubscribe(handler, obj);
+		} else {
+			return false;
+		}
+	};
+
+	this.toString = function() {
+		var output = "Config";
+		if (this.owner) {
+			output += " [" + this.owner.toString() + "]";
+		}
+		return output;
+	};
+
+	this.outputEventQueue = function() {
+		var output = "";
+		for (var q=0;q<eventQueue.length;q++) {
+			var queueItem = eventQueue[q];
+			if (queueItem) {
+				output += queueItem[0] + "=" + queueItem[1] + ", ";
+			}
+		}
+		return output;
+	};
+};
+
+/**
+* Checks to determine if a particular function/object pair are already subscribed to the specified CustomEvent
+* @param {YAHOO.util.CustomEvent} evt	The CustomEvent for which to check the subscriptions
+* @param {Function}	fn	The function to look for in the subscribers list
+* @param {object}	obj	The execution scope object for the subscription
+* @return {boolean}	true, if the function/object pair is already subscribed to the CustomEvent passed in
+*/
+YAHOO.util.Config.alreadySubscribed = function(evt, fn, obj) {
+	for (var e=0;e<evt.subscribers.length;e++) {
+		var subsc = evt.subscribers[e];
+		if (subsc && subsc.obj == obj && subsc.fn == fn) {
+			return true;
+		}
+	}
+	return false;
+};
+
+/**
+* Module is a JavaScript representation of the Standard Module Format. Standard Module Format is a simple standard for markup containers where child nodes representing the header, body, and footer of the content are denoted using the CSS classes "hd", "bd", and "ft" respectively. Module is the base class for all other classes in the YUI Container package.
+* @param {string}	el	The element ID representing the Module <em>OR</em>
+* @param {Element}	el	The element representing the Module
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Module = function(el, userConfig) {
+	if (el) { 
+		this.init(el, userConfig); 
+	}
+};
+
+/**
+* Constant representing the prefix path to use for non-secure images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT = "http://us.i1.yimg.com/us.yimg.com/i/";
+
+/**
+* Constant representing the prefix path to use for securely served images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT_SSL = "https://a248.e.akamai.net/sec.yimg.com/i/";
+
+/**
+* Constant for the default CSS class name that represents a Module
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_MODULE = "module";
+
+/**
+* Constant representing the module header
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_HEADER = "hd";
+
+/**
+* Constant representing the module body
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_BODY = "bd";
+
+/**
+* Constant representing the module footer
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_FOOTER = "ft";
+
+/**
+* Constant representing the url for the "src" attribute of the iframe used to monitor changes to the browser's base font size
+* @type string
+* @final
+*/
+YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL = "javascript:false";
+
+YAHOO.widget.Module.prototype = {
+
+	/**
+	* The class's constructor function
+	* @type function
+	*/
+	constructor : YAHOO.widget.Module,
+
+	/**
+	* The main module element that contains the header, body, and footer
+	* @type Element
+	*/
+	element : null, 
+
+	/**
+	* The header element, denoted with CSS class "hd"
+	* @type Element
+	*/
+	header : null,
+
+	/**
+	* The body element, denoted with CSS class "bd"
+	* @type Element
+	*/
+	body : null,
+
+	/**
+	* The footer element, denoted with CSS class "ft"
+	* @type Element
+	*/
+	footer : null,
+
+	/**
+	* The id of the element
+	* @type string
+	*/
+	id : null,
+
+	/**
+	* Array of elements
+	* @type Element[]
+	*/
+	childNodesInDOM : null,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot : YAHOO.widget.Module.IMG_ROOT,
+
+	/**
+	* CustomEvent fired prior to class initalization.
+	* args: class reference of the initializing class, such as this.beforeInitEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeInitEvent : null,
+
+	/**
+	* CustomEvent fired after class initalization.
+	* args: class reference of the initializing class, such as this.initEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	initEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is appended to the DOM
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	appendEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeRenderEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	renderEvent : null,
+
+	/**
+	* CustomEvent fired when the header content of the Module is modified
+	* args: string/element representing the new header content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeHeaderEvent : null,
+
+	/**
+	* CustomEvent fired when the body content of the Module is modified
+	* args: string/element representing the new body content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeBodyEvent : null,
+
+	/**
+	* CustomEvent fired when the footer content of the Module is modified
+	* args: string/element representing the new footer content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeFooterEvent : null,
+
+	/**
+	* CustomEvent fired when the content of the Module is modified
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeContentEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is destroyed
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	destroyEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeShowEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	showEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeHideEvent : null,
+	
+	/**
+	* CustomEvent fired after the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	hideEvent : null,
+		
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initEvents : function() {
+
+		this.beforeInitEvent		= new YAHOO.util.CustomEvent("beforeInit");
+		this.initEvent				= new YAHOO.util.CustomEvent("init");
+
+		this.appendEvent			= new YAHOO.util.CustomEvent("append");
+
+		this.beforeRenderEvent		= new YAHOO.util.CustomEvent("beforeRender");
+		this.renderEvent			= new YAHOO.util.CustomEvent("render");
+
+		this.changeHeaderEvent		= new YAHOO.util.CustomEvent("changeHeader");
+		this.changeBodyEvent		= new YAHOO.util.CustomEvent("changeBody");
+		this.changeFooterEvent		= new YAHOO.util.CustomEvent("changeFooter");
+
+		this.changeContentEvent		= new YAHOO.util.CustomEvent("changeContent");
+
+		this.destroyEvent			= new YAHOO.util.CustomEvent("destroy");
+		this.beforeShowEvent		= new YAHOO.util.CustomEvent("beforeShow");
+		this.showEvent				= new YAHOO.util.CustomEvent("show");
+		this.beforeHideEvent		= new YAHOO.util.CustomEvent("beforeHide");
+		this.hideEvent				= new YAHOO.util.CustomEvent("hide");
+	}, 
+
+	/**
+	* String representing the current user-agent platform
+	* @type string
+	*/
+	platform : function() {
+					var ua = navigator.userAgent.toLowerCase();
+					if (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1) {
+						return "windows";
+					} else if (ua.indexOf("macintosh") != -1) {
+						return "mac";
+					} else {
+						return false;
+					}
+				}(),
+
+	/**
+	* String representing the current user-agent browser
+	* @type string
+	*/
+	browser : function() {
+			var ua = navigator.userAgent.toLowerCase();
+				  if (ua.indexOf('opera')!=-1) { // Opera (check first in case of spoof)
+					 return 'opera';
+				  } else if (ua.indexOf('msie 7')!=-1) { // IE7
+					 return 'ie7';
+				  } else if (ua.indexOf('msie') !=-1) { // IE
+					 return 'ie';
+				  } else if (ua.indexOf('safari')!=-1) { // Safari (check before Gecko because it includes "like Gecko")
+					 return 'safari';
+				  } else if (ua.indexOf('gecko') != -1) { // Gecko
+					 return 'gecko';
+				  } else {
+					 return false;
+				  }
+			}(),
+
+	/**
+	* Boolean representing whether or not the current browsing context is secure (https)
+	* @type boolean
+	*/
+	isSecure : function() {
+		if (window.location.href.toLowerCase().indexOf("https") === 0) {
+			return true;
+		} else {
+			return false;
+		}
+	}(),
+
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initDefaultConfig : function() {
+		// Add properties //
+
+		this.cfg.addProperty("visible", { value:true, handler:this.configVisible, validator:this.cfg.checkBoolean } );
+		this.cfg.addProperty("effect", { suppressEvent:true, supercedes:["visible"] } );
+		this.cfg.addProperty("monitorresize", { value:true, handler:this.configMonitorResize } );
+	},
+
+	/**
+	* The Module class's initialization method, which is executed for Module and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+	* @param {string}	el	The element ID representing the Module <em>OR</em>
+	* @param {Element}	el	The element representing the Module
+	* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+	*/
+	init : function(el, userConfig) {
+
+		this.initEvents();
+
+		this.beforeInitEvent.fire(YAHOO.widget.Module);
+
+		this.cfg = new YAHOO.util.Config(this);
+		
+		if (this.isSecure) {
+			this.imageRoot = YAHOO.widget.Module.IMG_ROOT_SSL;
+		}
+
+		if (typeof el == "string") {
+			var elId = el;
+
+			el = document.getElementById(el);
+			if (! el) {
+				el = document.createElement("DIV");
+				el.id = elId;
+			}
+		}
+
+		this.element = el;
+		
+		if (el.id) {
+			this.id = el.id;
+		} 
+
+		var childNodes = this.element.childNodes;
+
+		if (childNodes) {
+			for (var i=0;i<childNodes.length;i++) {
+				var child = childNodes[i];
+				switch (child.className) {
+					case YAHOO.widget.Module.CSS_HEADER:
+						this.header = child;
+						break;
+					case YAHOO.widget.Module.CSS_BODY:
+						this.body = child;
+						break;
+					case YAHOO.widget.Module.CSS_FOOTER:
+						this.footer = child;
+						break;
+				}
+			}
+		}
+
+		this.initDefaultConfig();
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Module.CSS_MODULE);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+
+		// Subscribe to the fireQueue() method of Config so that any queued configuration changes are
+		// excecuted upon render of the Module
+		if (! YAHOO.util.Config.alreadySubscribed(this.renderEvent, this.cfg.fireQueue, this.cfg)) {
+			this.renderEvent.subscribe(this.cfg.fireQueue, this.cfg, true);
+		}
+
+		this.initEvent.fire(YAHOO.widget.Module);
+	},
+
+	/**
+	* Initialized an empty DOM element that is placed out of the visible area that can be used to detect text resize.
+	*/
+	initResizeMonitor : function() {
+
+        if(this.browser != "opera") {
+
+            var resizeMonitor = document.getElementById("_yuiResizeMonitor");
+    
+            if (! resizeMonitor) {
+    
+                resizeMonitor = document.createElement("iframe");
+    
+                var bIE = (this.browser.indexOf("ie") === 0);
+    
+                if(this.isSecure && 
+                   YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL && 
+                   bIE) {
+    
+                  resizeMonitor.src = 
+                       YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;
+    
+                }                
+
+                resizeMonitor.id = "_yuiResizeMonitor";
+                resizeMonitor.style.visibility = "hidden";
+                
+                document.body.appendChild(resizeMonitor);
+    
+                resizeMonitor.style.width = "10em";
+                resizeMonitor.style.height = "10em";
+                resizeMonitor.style.position = "absolute";
+                
+                var nLeft = -1 * resizeMonitor.offsetWidth,
+                    nTop = -1 * resizeMonitor.offsetHeight;
+    
+                resizeMonitor.style.top = nTop + "px";
+                resizeMonitor.style.left =  nLeft + "px";
+                resizeMonitor.style.borderStyle = "none";
+                resizeMonitor.style.borderWidth = "0";
+                YAHOO.util.Dom.setStyle(resizeMonitor, "opacity", "0");
+                
+                resizeMonitor.style.visibility = "visible";
+    
+                if(!bIE) {
+    
+                    var doc = resizeMonitor.contentWindow.document;
+    
+                    doc.open();
+                    doc.close();
+                
+                }
+    
+            }
+    
+            if(resizeMonitor && resizeMonitor.contentWindow) {
+    
+                this.resizeMonitor = resizeMonitor;
+    
+                YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow, "resize", this.onDomResize, this, true);
+    
+            }
+        
+        }
+
+	},
+
+	/**
+	* Event handler fired when the resize monitor element is resized.
+	*/
+	onDomResize : function(e, obj) { 
+
+        var nLeft = -1 * this.resizeMonitor.offsetWidth,
+            nTop = -1 * this.resizeMonitor.offsetHeight;
+        
+        this.resizeMonitor.style.top = nTop + "px";
+        this.resizeMonitor.style.left =  nLeft + "px";
+	
+	},
+
+	/**
+	* Sets the Module's header content to the HTML specified, or appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {string}	headerContent	The HTML used to set the header <em>OR</em>
+	* @param {Element}	headerContent	The Element to append to the header
+	*/	
+	setHeader : function(headerContent) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		if (typeof headerContent == "string") {
+			this.header.innerHTML = headerContent;
+		} else {
+			this.header.innerHTML = "";
+			this.header.appendChild(headerContent);
+		}
+
+		this.changeHeaderEvent.fire(headerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the header
+	*/	
+	appendToHeader : function(element) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		this.header.appendChild(element);
+		this.changeHeaderEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's body content to the HTML specified, or appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {string}	bodyContent	The HTML used to set the body <em>OR</em>
+	* @param {Element}	bodyContent	The Element to append to the body
+	*/		
+	setBody : function(bodyContent) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		if (typeof bodyContent == "string")
+		{
+			this.body.innerHTML = bodyContent;
+		} else {
+			this.body.innerHTML = "";
+			this.body.appendChild(bodyContent);
+		}
+
+		this.changeBodyEvent.fire(bodyContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the body
+	*/
+	appendToBody : function(element) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		this.body.appendChild(element);
+		this.changeBodyEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's footer content to the HTML specified, or appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {string}	footerContent	The HTML used to set the footer <em>OR</em>
+	* @param {Element}	footerContent	The Element to append to the footer
+	*/	
+	setFooter : function(footerContent) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		if (typeof footerContent == "string") {
+			this.footer.innerHTML = footerContent;
+		} else {
+			this.footer.innerHTML = "";
+			this.footer.appendChild(footerContent);
+		}
+
+		this.changeFooterEvent.fire(footerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the footer
+	*/
+	appendToFooter : function(element) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		this.footer.appendChild(element);
+		this.changeFooterEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Renders the Module by inserting the elements that are not already in the main Module into their correct places. Optionally appends the Module to the specified node prior to the render's execution. NOTE: For Modules without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+	* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+	* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+	* @param {Element}	moduleElement	OPTIONAL. The element that represents the actual Standard Module container. 
+	* @return {boolean} Success or failure of the render
+	*/
+	render : function(appendToNode, moduleElement) {
+		this.beforeRenderEvent.fire();
+
+		if (! moduleElement) {
+			moduleElement = this.element;
+		}
+
+		var me = this;
+		var appendTo = function(element) {
+			if (typeof element == "string") {
+				element = document.getElementById(element);
+			}
+			
+			if (element) {
+				element.appendChild(me.element);
+				me.appendEvent.fire();
+			}
+		};
+
+		if (appendToNode) {
+			appendTo(appendToNode);
+		} else { // No node was passed in. If the element is not pre-marked up, this fails
+			if (! YAHOO.util.Dom.inDocument(this.element)) {
+				return false;
+			}
+		}
+
+		// Need to get everything into the DOM if it isn't already
+		
+		if (this.header && ! YAHOO.util.Dom.inDocument(this.header)) {
+			// There is a header, but it's not in the DOM yet... need to add it
+			var firstChild = moduleElement.firstChild;
+			if (firstChild) { // Insert before first child if exists
+				moduleElement.insertBefore(this.header, firstChild);
+			} else { // Append to empty body because there are no children
+				moduleElement.appendChild(this.header);
+			}
+		}
+
+		if (this.body && ! YAHOO.util.Dom.inDocument(this.body)) {
+			// There is a body, but it's not in the DOM yet... need to add it
+			if (this.footer && YAHOO.util.Dom.isAncestor(this.moduleElement, this.footer)) { // Insert before footer if exists in DOM
+				moduleElement.insertBefore(this.body, this.footer);
+			} else { // Append to element because there is no footer
+				moduleElement.appendChild(this.body);
+			}
+		}
+
+		if (this.footer && ! YAHOO.util.Dom.inDocument(this.footer)) {
+			// There is a footer, but it's not in the DOM yet... need to add it
+			moduleElement.appendChild(this.footer);
+		}
+
+		this.renderEvent.fire();
+		return true;
+	},
+
+	/**
+	* Removes the Module element from the DOM and sets all child elements to null.
+	*/
+	destroy : function() {
+		if (this.element) {
+			var parent = this.element.parentNode;
+		}
+		if (parent) {
+			parent.removeChild(this.element);
+		}
+
+		this.element = null;
+		this.header = null;
+		this.body = null;
+		this.footer = null;
+
+		this.destroyEvent.fire();
+	},
+
+	/**
+	* Shows the Module element by setting the visible configuration property to true. Also fires two events: beforeShowEvent prior to the visibility change, and showEvent after.
+	*/
+	show : function() {
+		this.cfg.setProperty("visible", true);
+	},
+
+	/**
+	* Hides the Module element by setting the visible configuration property to false. Also fires two events: beforeHideEvent prior to the visibility change, and hideEvent after.
+	*/
+	hide : function() {
+		this.cfg.setProperty("visible", false);
+	},
+
+	// BUILT-IN EVENT HANDLERS FOR MODULE //
+
+	/**
+	* Default event handler for changing the visibility property of a Module. By default, this is achieved by switching the "display" style between "block" and "none".
+	* This method is responsible for firing showEvent and hideEvent.
+	*/
+	configVisible : function(type, args, obj) {
+		var visible = args[0];
+		if (visible) {
+			this.beforeShowEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "block");
+			this.showEvent.fire();
+		} else {
+			this.beforeHideEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "none");
+			this.hideEvent.fire();
+		}
+	},
+
+	/**
+	* Default event handler for the "monitorresize" configuration property
+	*/
+	configMonitorResize : function(type, args, obj) {
+		var monitor = args[0];
+		if (monitor) {
+			this.initResizeMonitor();
+		} else {
+			YAHOO.util.Event.removeListener(this.resizeMonitor, "resize", this.onDomResize);
+			this.resizeMonitor = null;
+		}
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Module.prototype.toString = function() {
+	return "Module " + this.id;
+};
+
+/**
+* Overlay is a Module that is absolutely positioned above the page flow. It has convenience methods for positioning and sizing, as well as options for controlling zIndex and constraining the Overlay's position to the current visible viewport. Overlay also contains a dynamicly generated IFRAME which is placed beneath it for Internet Explorer 6 and 5.x so that it will be properly rendered above SELECT elements.
+* @extends YAHOO.widget.Module
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Overlay = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Overlay, YAHOO.widget.Module);
+
+/**
+* The URL of the blank image that will be placed in the iframe
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.IFRAME_SRC = "promo/m/irs/blank.gif";
+
+/**
+* Constant representing the top left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_LEFT = "tl";
+
+/**
+* Constant representing the top right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_RIGHT = "tr";
+
+/**
+* Constant representing the top bottom left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_LEFT = "bl";
+
+/**
+* Constant representing the bottom right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_RIGHT = "br";
+
+/**
+* Constant representing the default CSS class used for an Overlay
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.CSS_OVERLAY = "overlay";
+
+/**
+* CustomEvent fired before the Overlay is moved.
+* args: x,y that the Overlay will be moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.beforeMoveEvent = null;
+
+/**
+* CustomEvent fired after the Overlay is moved.
+* args: x,y that the Overlay was moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.moveEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Overlay.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Overlay);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Overlay.CSS_OVERLAY);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	if (this.platform == "mac" && this.browser == "gecko") {
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)) {
+			this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)) {
+			this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);
+		}
+	}
+
+	this.initEvent.fire(YAHOO.widget.Overlay);
+
+};
+
+/**
+* Initializes the custom events for Overlay which are fired automatically at appropriate times by the Overlay class.
+*/
+YAHOO.widget.Overlay.prototype.initEvents = function() {
+	YAHOO.widget.Overlay.superclass.initEvents.call(this);
+
+	this.beforeMoveEvent = new YAHOO.util.CustomEvent("beforeMove", this);
+	this.moveEvent = new YAHOO.util.CustomEvent("move", this);
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Overlay.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);
+
+	// Add overlay config properties //
+	this.cfg.addProperty("x", { handler:this.configX, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("y", { handler:this.configY, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("xy",{ handler:this.configXY, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("context",	{ handler:this.configContext, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("fixedcenter", { value:false, handler:this.configFixedCenter, validator:this.cfg.checkBoolean, supercedes:["iframe","visible"] } );
+
+	this.cfg.addProperty("width", { handler:this.configWidth, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("height", { handler:this.configHeight, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("zIndex", { value:null, handler:this.configzIndex } );
+
+	this.cfg.addProperty("constraintoviewport", { value:false, handler:this.configConstrainToViewport, validator:this.cfg.checkBoolean, supercedes:["iframe","x","y","xy"] } );
+	this.cfg.addProperty("iframe", { value:(this.browser == "ie" ? true : false), handler:this.configIframe, validator:this.cfg.checkBoolean, supercedes:["zIndex"] } );
+};
+
+/**
+* Moves the Overlay to the specified position. This function is identical to calling this.cfg.setProperty("xy", [x,y]);
+* @param {int}	x	The Overlay's new x position
+* @param {int}	y	The Overlay's new y position
+*/
+YAHOO.widget.Overlay.prototype.moveTo = function(x, y) {
+	this.cfg.setProperty("xy",[x,y]);
+};
+
+/**
+* Adds a special CSS class to the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "show-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "hide-scrollbars");
+};
+
+/**
+* Removes a special CSS class from the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "hide-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "show-scrollbars");
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "visible" property is changed. This method is responsible for firing showEvent and hideEvent.
+*/
+YAHOO.widget.Overlay.prototype.configVisible = function(type, args, obj) {
+	var visible = args[0];
+	var currentVis = YAHOO.util.Dom.getStyle(this.element, "visibility");
+
+	var effect = this.cfg.getProperty("effect");
+
+	var effectInstances = [];
+	if (effect) {
+		if (effect instanceof Array) {
+			for (var i=0;i<effect.length;i++) {
+				var eff = effect[i];
+				effectInstances[effectInstances.length] = eff.effect(this, eff.duration);
+			}
+		} else {
+			effectInstances[effectInstances.length] = effect.effect(this, effect.duration);
+		}
+	}
+
+	var isMacGecko = (this.platform == "mac" && this.browser == "gecko");
+
+	if (visible) { // Show
+		if (isMacGecko) {
+			this.showMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate in
+			if (visible) { // Animate in if not showing
+				if (currentVis != "visible") {
+					this.beforeShowEvent.fire();
+					for (var j=0;j<effectInstances.length;j++) {
+						var e = effectInstances[j];
+						if (j === 0 && ! YAHOO.util.Config.alreadySubscribed(e.animateInCompleteEvent,this.showEvent.fire,this.showEvent)) {
+							e.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true); // Delegate showEvent until end of animateInComplete
+						}
+						e.animateIn();
+					}
+				}
+			}
+		} else { // Show
+			if (currentVis != "visible") {
+				this.beforeShowEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "visible");
+				this.cfg.refireEvent("iframe");
+				this.showEvent.fire();
+			}
+		}
+
+	} else { // Hide
+		if (isMacGecko) {
+			this.hideMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate out if showing
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				for (var k=0;k<effectInstances.length;k++) {
+					var h = effectInstances[k];
+					if (k === 0 && ! YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)) {				
+						h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true); // Delegate hideEvent until end of animateOutComplete
+					}
+					h.animateOut();
+				}
+			}
+		} else { // Simple hide
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "hidden");
+				this.cfg.refireEvent("iframe");
+				this.hideEvent.fire();
+			}
+		}	
+	}
+};
+
+/**
+* Center event handler used for centering on scroll/resize, but only if the Overlay is visible
+*/
+YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent = function() {
+	if (this.cfg.getProperty("visible")) {
+		this.center();
+	}
+};
+
+/**
+* The default event handler fired when the "fixedcenter" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configFixedCenter = function(type, args, obj) {
+	var val = args[0];
+
+	if (val) {
+		this.center();
+			
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent, this.center, this)) {
+			this.beforeShowEvent.subscribe(this.center, this, true);
+		}
+		
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent, this, true);
+		}
+
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowScrollEvent.subscribe( this.doCenterOnDOMEvent, this, true);
+		}
+	} else {
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+		YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "zIndex" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configzIndex = function(type, args, obj) {
+	var zIndex = args[0];
+
+	var el = this.element;
+
+	if (! zIndex) {
+		zIndex = YAHOO.util.Dom.getStyle(el, "zIndex");
+		if (! zIndex || isNaN(zIndex)) {
+			zIndex = 0;
+		}
+	}
+
+	if (this.iframe) {
+		if (zIndex <= 0) {
+			zIndex = 1;
+		}
+		YAHOO.util.Dom.setStyle(this.iframe, "zIndex", (zIndex-1));
+	}
+
+	YAHOO.util.Dom.setStyle(el, "zIndex", zIndex);
+	this.cfg.setProperty("zIndex", zIndex, true);
+};
+
+/**
+* The default event handler fired when the "xy" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configXY = function(type, args, obj) {
+	var pos = args[0];
+	var x = pos[0];
+	var y = pos[1];
+
+	this.cfg.setProperty("x", x);
+	this.cfg.setProperty("y", y);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x,y]);
+};
+
+/**
+* The default event handler fired when the "x" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configX = function(type, args, obj) {
+	var x = args[0];
+	var y = this.cfg.getProperty("y");
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setX(this.element, x, true);
+	
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* The default event handler fired when the "y" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configY = function(type, args, obj) {
+	var x = this.cfg.getProperty("x");
+	var y = args[0];
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setY(this.element, y, true);
+
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* Shows the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.showIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "block";
+	}
+}
+
+/**
+* Hides the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.hideIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "none";
+	}
+}
+
+/**
+* The default event handler fired when the "iframe" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configIframe = function(type, args, obj) {
+
+	var val = args[0];
+
+	if (val) { // IFRAME shim is enabled
+
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, this.showIframe, this)) {
+			this.showEvent.subscribe(this.showIframe, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, this.hideIframe, this)) {
+			this.hideEvent.subscribe(this.hideIframe, this, true);
+		}
+
+		var x = this.cfg.getProperty("x");
+		var y = this.cfg.getProperty("y");
+
+		if (! x || ! y) {
+			this.syncPosition();
+			x = this.cfg.getProperty("x");
+			y = this.cfg.getProperty("y");
+		}
+
+		if (! isNaN(x) && ! isNaN(y)) {
+			if (! this.iframe) {
+				this.iframe = document.createElement("iframe");
+				if (this.isSecure) {
+					this.iframe.src= this.imageRoot + YAHOO.widget.Overlay.IFRAME_SRC;
+				}
+				
+				var parent = this.element.parentNode;
+				if (parent) {
+					parent.appendChild(this.iframe);
+				} else {
+					document.body.appendChild(this.iframe);
+				}
+
+				YAHOO.util.Dom.setStyle(this.iframe, "position", "absolute");
+				YAHOO.util.Dom.setStyle(this.iframe, "border", "none");
+				YAHOO.util.Dom.setStyle(this.iframe, "margin", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "padding", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "opacity", "0");
+				if (this.cfg.getProperty("visible")) {
+					this.showIframe();
+				} else {
+					this.hideIframe();
+				}
+			}
+			
+			var iframeDisplay = YAHOO.util.Dom.getStyle(this.iframe, "display");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "block";
+			}
+
+			YAHOO.util.Dom.setXY(this.iframe, [x,y]);
+
+			var width = this.element.clientWidth;
+			var height = this.element.clientHeight;
+
+			YAHOO.util.Dom.setStyle(this.iframe, "width", (width+2) + "px");
+			YAHOO.util.Dom.setStyle(this.iframe, "height", (height+2) + "px");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "none";
+			}
+		}
+	} else {
+		if (this.iframe) {
+			this.iframe.style.display = "none";
+		}
+		this.showEvent.unsubscribe(this.showIframe, this);
+		this.hideEvent.unsubscribe(this.hideIframe, this);
+	}
+};
+
+
+/**
+* The default event handler fired when the "constraintoviewport" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configConstrainToViewport = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent, this.enforceConstraints, this)) {
+			this.beforeMoveEvent.subscribe(this.enforceConstraints, this, true);
+		}
+	} else {
+		this.beforeMoveEvent.unsubscribe(this.enforceConstraints, this);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configContext = function(type, args, obj) {
+	var contextArgs = args[0];
+
+	if (contextArgs) {
+		var contextEl = contextArgs[0];
+		var elementMagnetCorner = contextArgs[1];
+		var contextMagnetCorner = contextArgs[2];
+
+		if (contextEl) {
+			if (typeof contextEl == "string") {
+				this.cfg.setProperty("context", [document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner], true);
+			}
+			
+			if (elementMagnetCorner && contextMagnetCorner) {
+				this.align(elementMagnetCorner, contextMagnetCorner);
+			}
+		}	
+	}
+};
+
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Aligns the Overlay to its context element using the specified corner points (represented by the constants TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, and BOTTOM_RIGHT.
+* @param {string} elementAlign		The string representing the corner of the Overlay that should be aligned to the context element
+* @param {string} contextAlign		The corner of the context element that the elementAlign corner should stick to.
+*/
+YAHOO.widget.Overlay.prototype.align = function(elementAlign, contextAlign) {
+	var contextArgs = this.cfg.getProperty("context");
+	if (contextArgs) {
+		var context = contextArgs[0];
+		
+		var element = this.element;
+		var me = this;
+
+		if (! elementAlign) {
+			elementAlign = contextArgs[1];
+		}
+
+		if (! contextAlign) {
+			contextAlign = contextArgs[2];
+		}
+
+		if (element && context) {
+			var elementRegion = YAHOO.util.Dom.getRegion(element);
+			var contextRegion = YAHOO.util.Dom.getRegion(context);
+
+			var doAlign = function(v,h) {
+				switch (elementAlign) {
+					case YAHOO.widget.Overlay.TOP_LEFT:
+						me.moveTo(h,v);
+						break;
+					case YAHOO.widget.Overlay.TOP_RIGHT:
+						me.moveTo(h-element.offsetWidth,v);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_LEFT:
+						me.moveTo(h,v-element.offsetHeight);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+						me.moveTo(h-element.offsetWidth,v-element.offsetHeight);
+						break;
+				}
+			};
+
+			switch (contextAlign) {
+				case YAHOO.widget.Overlay.TOP_LEFT:
+					doAlign(contextRegion.top, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.TOP_RIGHT:
+					doAlign(contextRegion.top, contextRegion.right);
+					break;		
+				case YAHOO.widget.Overlay.BOTTOM_LEFT:
+					doAlign(contextRegion.bottom, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+					doAlign(contextRegion.bottom, contextRegion.right);
+					break;
+			}
+		}
+	}
+};
+
+/**
+* The default event handler executed when the moveEvent is fired, if the "constraintoviewport" is set to true.
+*/
+YAHOO.widget.Overlay.prototype.enforceConstraints = function(type, args, obj) {
+	var pos = args[0];
+
+	var x = pos[0];
+	var y = pos[1];
+
+	var offsetHeight = this.element.offsetHeight;
+	var offsetWidth = this.element.offsetWidth;
+
+	var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+	var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var topConstraint = scrollY + 10;
+	var leftConstraint = scrollX + 10;
+	var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+	var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+	
+	if (x < leftConstraint) {
+		x = leftConstraint;
+	} else if (x > rightConstraint) {
+		x = rightConstraint;
+	}
+
+	if (y < topConstraint) {
+		y = topConstraint;
+	} else if (y > bottomConstraint) {
+		y = bottomConstraint;
+	}
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+	this.cfg.setProperty("xy", [x,y], true);
+};
+
+/**
+* Centers the container in the viewport.
+*/
+YAHOO.widget.Overlay.prototype.center = function() {
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var viewPortWidth = YAHOO.util.Dom.getClientWidth();
+	var viewPortHeight = YAHOO.util.Dom.getClientHeight();
+
+	var elementWidth = this.element.offsetWidth;
+	var elementHeight = this.element.offsetHeight;
+
+	var x = (viewPortWidth / 2) - (elementWidth / 2) + scrollX;
+	var y = (viewPortHeight / 2) - (elementHeight / 2) + scrollY;
+	
+	this.element.style.left = parseInt(x, 10) + "px";
+	this.element.style.top = parseInt(y, 10) + "px";
+	this.syncPosition();
+
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Synchronizes the Panel's "xy", "x", and "y" properties with the Panel's position in the DOM. This is primarily used to update position information during drag & drop.
+*/
+YAHOO.widget.Overlay.prototype.syncPosition = function() {
+	var pos = YAHOO.util.Dom.getXY(this.element);
+	this.cfg.setProperty("x", pos[0], true);
+	this.cfg.setProperty("y", pos[1], true);
+	this.cfg.setProperty("xy", pos, true);
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Overlay.prototype.onDomResize = function(e, obj) {
+	YAHOO.widget.Overlay.superclass.onDomResize.call(this, e, obj);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Removes the Overlay element from the DOM and sets all child elements to null.
+*/
+YAHOO.widget.Overlay.prototype.destroy = function() {
+	if (this.iframe) {
+		this.iframe.parentNode.removeChild(this.iframe);
+	}
+	
+	this.iframe = null;
+
+	YAHOO.widget.Overlay.superclass.destroy.call(this);  
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Overlay.prototype.toString = function() {
+	return "Overlay " + this.id;
+};
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window scroll
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowScrollEvent = new YAHOO.util.CustomEvent("windowScroll");
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window resize
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowResizeEvent = new YAHOO.util.CustomEvent("windowResize");
+
+/**
+* The DOM event handler used to fire the CustomEvent for window scroll
+* @type Function
+*/
+YAHOO.widget.Overlay.windowScrollHandler = function(e) {
+		YAHOO.widget.Overlay.windowScrollEvent.fire();
+};
+
+/**
+* The DOM event handler used to fire the CustomEvent for window resize
+* @type Function
+*/
+YAHOO.widget.Overlay.windowResizeHandler = function(e) {
+		YAHOO.widget.Overlay.windowResizeEvent.fire();
+};
+
+/**
+* @private
+*/
+YAHOO.widget.Overlay._initialized = null;
+
+if (YAHOO.widget.Overlay._initialized === null) {
+	YAHOO.util.Event.addListener(window, "scroll", YAHOO.widget.Overlay.windowScrollHandler);
+	YAHOO.util.Event.addListener(window, "resize", YAHOO.widget.Overlay.windowResizeHandler);
+
+	YAHOO.widget.Overlay._initialized = true;
+}
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* OverlayManager is used for maintaining the focus status of multiple Overlays.
+* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+* @constructor
+*/
+YAHOO.widget.OverlayManager = function(userConfig) {
+	this.init(userConfig);
+};
+
+/**
+* The CSS class representing a focused Overlay
+* @type string
+*/
+YAHOO.widget.OverlayManager.CSS_FOCUSED = "focused";
+
+YAHOO.widget.OverlayManager.prototype = {
+
+	constructor : YAHOO.widget.OverlayManager,
+
+	/**
+	* The array of Overlays that are currently registered
+	* @type Array
+	*/
+	overlays : null,
+
+	/**
+	* Initializes the default configuration of the OverlayManager
+	*/	
+	initDefaultConfig : function() {
+		this.cfg.addProperty("overlays", { suppressEvent:true } );
+		this.cfg.addProperty("focusevent", { value:"mousedown" } );
+	}, 
+
+	/**
+	* Returns the currently focused Overlay
+	* @return {Overlay}	The currently focused Overlay
+	*/
+	getActive : function() {},
+
+	/**
+	* Focuses the specified Overlay
+	* @param {Overlay}	The Overlay to focus
+	* @param {string}	The id of the Overlay to focus
+	*/
+	focus : function(overlay) {},
+
+	/**
+	* Removes the specified Overlay from the manager
+	* @param {Overlay}	The Overlay to remove
+	* @param {string}	The id of the Overlay to remove
+	*/
+	remove: function(overlay) {},
+
+	/**
+	* Removes focus from all registered Overlays in the manager
+	*/
+	blurAll : function() {},
+
+	/**
+	* Initializes the OverlayManager
+	* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+	* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+	*/
+	init : function(userConfig) {
+		this.cfg = new YAHOO.util.Config(this);
+
+		this.initDefaultConfig();
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		this.cfg.fireQueue();
+
+		var activeOverlay = null;
+
+		this.getActive = function() {
+			return activeOverlay;
+		};
+
+		this.focus = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				this.blurAll();
+				activeOverlay = o;
+				YAHOO.util.Dom.addClass(activeOverlay.element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+				this.overlays.sort(this.compareZIndexDesc);
+				var topZIndex = YAHOO.util.Dom.getStyle(this.overlays[0].element, "zIndex");
+				if (! isNaN(topZIndex) && this.overlays[0] != overlay) {
+					activeOverlay.cfg.setProperty("zIndex", (parseInt(topZIndex, 10) + 2));
+				}
+				this.overlays.sort(this.compareZIndexDesc);
+			}
+		};
+
+		this.remove = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				var originalZ = YAHOO.util.Dom.getStyle(o.element, "zIndex");
+				o.cfg.setProperty("zIndex", -1000, true);
+				this.overlays.sort(this.compareZIndexDesc);
+				this.overlays = this.overlays.slice(0, this.overlays.length-1);
+				o.cfg.setProperty("zIndex", originalZ, true);
+
+				o.cfg.setProperty("manager", null);
+				o.focusEvent = null;
+				o.blurEvent = null;
+				o.focus = null;
+				o.blur = null;
+			}
+		};
+
+		this.blurAll = function() {
+			activeOverlay = null;
+			for (var o=0;o<this.overlays.length;o++) {
+				YAHOO.util.Dom.removeClass(this.overlays[o].element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+			}		
+		};
+
+		var overlays = this.cfg.getProperty("overlays");
+		
+		if (! this.overlays) {
+			this.overlays = [];
+		}
+
+		if (overlays) {
+			this.register(overlays);
+			this.overlays.sort(this.compareZIndexDesc);
+		}
+	},
+
+	/**
+	* Registers an Overlay or an array of Overlays with the manager. Upon registration, the Overlay receives functions for focus and blur, along with CustomEvents for each.
+	* @param {Overlay}	overlay		An Overlay to register with the manager.
+	* @param {Overlay[]}	overlay		An array of Overlays to register with the manager.
+	* @return	{boolean}	True if any Overlays are registered.
+	*/
+	register : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			overlay.cfg.addProperty("manager", { value:this } );
+
+			overlay.focusEvent = new YAHOO.util.CustomEvent("focus");
+			overlay.blurEvent = new YAHOO.util.CustomEvent("blur");
+			
+			var mgr=this;
+
+			overlay.focus = function() {
+				mgr.focus(this);
+				this.focusEvent.fire();
+			};
+
+			overlay.blur = function() {
+				mgr.blurAll();
+				this.blurEvent.fire();
+			};
+
+			var focusOnDomEvent = function(e,obj) {
+				overlay.focus();
+			};
+			
+			var focusevent = this.cfg.getProperty("focusevent");
+			YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);
+
+			var zIndex = YAHOO.util.Dom.getStyle(overlay.element, "zIndex");
+			if (! isNaN(zIndex)) {
+				overlay.cfg.setProperty("zIndex", parseInt(zIndex, 10));
+			} else {
+				overlay.cfg.setProperty("zIndex", 0);
+			}
+			
+			this.overlays.push(overlay);
+			return true;
+		} else if (overlay instanceof Array) {
+			var regcount = 0;
+			for (var i=0;i<overlay.length;i++) {
+				if (this.register(overlay[i])) {
+					regcount++;
+				}
+			}
+			if (regcount > 0) {
+				return true;
+			}
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Attempts to locate an Overlay by instance or ID.
+	* @param {Overlay}	overlay		An Overlay to locate within the manager
+	* @param {string}	overlay		An Overlay id to locate within the manager
+	* @return	{Overlay}	The requested Overlay, if found, or null if it cannot be located.
+	*/
+	find : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			for (var o=0;o<this.overlays.length;o++) {
+				if (this.overlays[o] == overlay) {
+					return this.overlays[o];
+				}
+			}
+		} else if (typeof overlay == "string") {
+			for (var p=0;p<this.overlays.length;p++) {
+				if (this.overlays[p].id == overlay) {
+					return this.overlays[p];
+				}
+			}			
+		}
+		return null;
+	},
+
+	/**
+	* Used for sorting the manager's Overlays by z-index.
+	* @private
+	*/
+	compareZIndexDesc : function(o1, o2) {
+		var zIndex1 = o1.cfg.getProperty("zIndex");
+		var zIndex2 = o2.cfg.getProperty("zIndex");
+
+		if (zIndex1 > zIndex2) {
+			return -1;
+		} else if (zIndex1 < zIndex2) {
+			return 1;
+		} else {
+			return 0;
+		}
+	},
+
+	/**
+	* Shows all Overlays in the manager.
+	*/
+	showAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].show();
+		}
+	},
+
+	/**
+	* Hides all Overlays in the manager.
+	*/
+	hideAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].hide();
+		}
+	},
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	toString : function() {
+		return "OverlayManager";
+	}
+
+};
+
+/**
+* KeyListener is a utility that provides an easy interface for listening for keydown/keyup events fired against DOM elements.
+* @param {Element}	attachTo	The element or element ID to which the key event should be attached
+* @param {string}	attachTo	The element or element ID to which the key event should be attached
+* @param {object}	keyData		The object literal representing the key(s) to detect. Possible attributes are shift(boolean), alt(boolean), ctrl(boolean) and keys(either an int or an array of ints representing keycodes).
+* @param {function}	handler		The CustomEvent handler to fire when the key event is detected
+* @param {object}	handler		An object literal representing the handler. 
+* @param {string}	event		Optional. The event (keydown or keyup) to listen for. Defaults automatically to keydown.
+* @constructor
+*/
+YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {
+	if (! event) {
+		event = YAHOO.util.KeyListener.KEYDOWN;
+	}
+
+	var keyEvent = new YAHOO.util.CustomEvent("keyPressed");
+	
+	this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
+	this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
+
+	if (typeof attachTo == 'string') {
+		attachTo = document.getElementById(attachTo);
+	}
+
+	if (typeof handler == 'function') {
+		keyEvent.subscribe(handler);
+	} else {
+		keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);
+	}
+
+	/**
+	* Handles the key event when a key is pressed.
+	* @private
+	*/
+	function handleKeyPress(e, obj) {
+		var keyPressed = e.charCode || e.keyCode;
+		
+		if (! keyData.shift) {	
+			keyData.shift = false; 
+		}
+		if (! keyData.alt) {	
+			keyData.alt = false;
+		}
+		if (! keyData.ctrl) {
+			keyData.ctrl = false;
+		}
+
+		// check held down modifying keys first
+		if (e.shiftKey == keyData.shift && 
+			e.altKey   == keyData.alt &&
+			e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match
+
+			if (keyData.keys instanceof Array) {
+				for (var i=0;i<keyData.keys.length;i++) {
+					if (keyPressed == keyData.keys[i]) {
+						keyEvent.fire(keyPressed, e);
+						break;
+					}
+				}
+			} else {
+				if (keyPressed == keyData.keys) {
+					keyEvent.fire(keyPressed, e);
+				}
+			}
+		}
+	}
+
+	this.enable = function() {
+		if (! this.enabled) {
+			YAHOO.util.Event.addListener(attachTo, event, handleKeyPress);
+			this.enabledEvent.fire(keyData);
+		}
+		this.enabled = true;
+	};
+
+	this.disable = function() {
+		if (this.enabled) {
+			YAHOO.util.Event.removeListener(attachTo, event, handleKeyPress);
+			this.disabledEvent.fire(keyData);
+		}
+		this.enabled = false;
+	};
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	this.toString = function() {
+		return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + (attachTo.id ? "[" + attachTo.id + "]" : "");
+	};
+
+};
+
+/**
+* Constant representing the DOM "keydown" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYDOWN = "keydown";
+
+/**
+* Constant representing the DOM "keyup" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYUP = "keyup";
+
+/**
+* Boolean indicating the enabled/disabled state of the Tooltip
+* @type Booleam
+*/
+YAHOO.util.KeyListener.prototype.enabled = null;
+
+/**
+* Enables the KeyListener, by dynamically attaching the key event to the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.enable = function() {};
+
+/**
+* Disables the KeyListener, by dynamically removing the key event from the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.disable = function() {};
+
+/**
+* CustomEvent fired when the KeyListener is enabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.enabledEvent = null;
+
+/**
+* CustomEvent fired when the KeyListener is disabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.disabledEvent = null;
+
+
+/**
+* Tooltip is an implementation of Overlay that behaves like an OS tooltip, displaying when the user mouses over a particular element, and disappearing on mouse out.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Tooltip = function(el, userConfig) {
+	YAHOO.widget.Tooltip.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Tooltip, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the Tooltip CSS class
+* @type string
+* @final
+*/
+YAHOO.widget.Tooltip.CSS_TOOLTIP = "tt";
+
+/**
+* The Tooltip initialization method. This method is automatically called by the constructor. A Tooltip is automatically rendered by the init method, and it also is set to be invisible by default, and constrained to viewport by default as well.
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Tooltip. See configuration documentation for more details.
+*/
+YAHOO.widget.Tooltip.prototype.init = function(el, userConfig) {
+	if (document.readyState && document.readyState != "complete") {
+		var deferredInit = function() {
+			this.init(el, userConfig);
+		};
+		YAHOO.util.Event.addListener(window, "load", deferredInit, this, true);
+	} else {
+		YAHOO.widget.Tooltip.superclass.init.call(this, el);
+
+		this.beforeInitEvent.fire(YAHOO.widget.Tooltip);
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Tooltip.CSS_TOOLTIP);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		
+		this.cfg.queueProperty("visible",false);
+		this.cfg.queueProperty("constraintoviewport",true);
+
+		this.setBody("");
+		this.render(this.cfg.getProperty("container"));
+
+		this.initEvent.fire(YAHOO.widget.Tooltip);
+	}
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Tooltip.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);
+
+	this.cfg.addProperty("preventoverlap",		{ value:true, validator:this.cfg.checkBoolean, supercedes:["x","y","xy"] } );
+
+	this.cfg.addProperty("showdelay",			{ value:200, handler:this.configShowDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("autodismissdelay",	{ value:5000, handler:this.configAutoDismissDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("hidedelay",			{ value:250, handler:this.configHideDelay, validator:this.cfg.checkNumber } );
+
+	this.cfg.addProperty("text",				{ handler:this.configText, suppressEvent:true } );
+	this.cfg.addProperty("container",			{ value:document.body, handler:this.configContainer } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "text" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configText = function(type, args, obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+	}
+};
+
+/**
+* The default event handler fired when the "container" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContainer = function(type, args, obj) {
+	var container = args[0];
+	if (typeof container == 'string') {
+		this.cfg.setProperty("container", document.getElementById(container), true);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContext = function(type, args, obj) {
+	var context = args[0];
+	if (context) {
+		
+		// Normalize parameter into an array
+		if (! (context instanceof Array)) {
+			if (typeof context == "string") {
+				this.cfg.setProperty("context", [document.getElementById(context)], true);
+			} else { // Assuming this is an element
+				this.cfg.setProperty("context", [context], true);
+			}
+			context = this.cfg.getProperty("context");
+		}
+
+
+		// Remove any existing mouseover/mouseout listeners
+		if (this._context) {
+			for (var c=0;c<this._context.length;++c) {
+				var el = this._context[c];
+				YAHOO.util.Event.removeListener(el, "mouseover", this.onContextMouseOver);
+				YAHOO.util.Event.removeListener(el, "mousemove", this.onContextMouseMove);
+				YAHOO.util.Event.removeListener(el, "mouseout", this.onContextMouseOut);
+			}
+		}
+
+		// Add mouseover/mouseout listeners to context elements
+		this._context = context;
+		for (var d=0;d<this._context.length;++d) {
+			var el2 = this._context[d];
+			YAHOO.util.Event.addListener(el2, "mouseover", this.onContextMouseOver, this);
+			YAHOO.util.Event.addListener(el2, "mousemove", this.onContextMouseMove, this);
+			YAHOO.util.Event.addListener(el2, "mouseout", this.onContextMouseOut, this);
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+// BEGIN BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* The default event handler fired when the user moves the mouse while over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseMove = function(e, obj) {
+	obj.pageX = YAHOO.util.Event.getPageX(e);
+	obj.pageY = YAHOO.util.Event.getPageY(e);
+
+};
+
+/**
+* The default event handler fired when the user mouses over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOver = function(e, obj) {
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+	
+	var context = this;
+	YAHOO.util.Event.addListener(context, "mousemove", obj.onContextMouseMove, obj);
+
+	if (context.title) {
+		obj._tempTitle = context.title;
+		context.title = "";
+	}
+
+	/**
+	* The unique process ID associated with the thread responsible for showing the Tooltip.
+	* @type int
+	*/
+	obj.showProcId = obj.doShow(e, context);
+};
+
+/**
+* The default event handler fired when the user mouses out of the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOut = function(e, obj) {
+	var el = this;
+
+	if (obj._tempTitle) {
+		el.title = obj._tempTitle;
+		obj._tempTitle = null;
+	}
+	
+	if (obj.showProcId) {
+		clearTimeout(obj.showProcId);
+		obj.showProcId = null;
+	}
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+
+
+	obj.hideProcId = setTimeout(function() {
+				obj.hide();
+				}, obj.cfg.getProperty("hidedelay"));
+};
+
+// END BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* Processes the showing of the Tooltip by setting the timeout delay and offset of the Tooltip.
+* @param {DOMEvent} e	The current DOM event
+* @return {int}	The process ID of the timeout function associated with doShow
+*/
+YAHOO.widget.Tooltip.prototype.doShow = function(e, context) {
+	
+	var yOffset = 25;
+	if (this.browser == "opera" && context.tagName == "A") {
+		yOffset += 12;
+	}
+
+	var me = this;
+	return setTimeout(
+		function() {
+			if (me._tempTitle) {
+				me.setBody(me._tempTitle);
+			} else {
+				me.cfg.refireEvent("text");
+			}
+
+			me.moveTo(me.pageX, me.pageY + yOffset);
+			if (me.cfg.getProperty("preventoverlap")) {
+				me.preventOverlap(me.pageX, me.pageY);
+			}
+			
+			YAHOO.util.Event.removeListener(context, "mousemove", me.onContextMouseMove);
+
+			me.show();
+			me.hideProcId = me.doHide();
+		},
+	this.cfg.getProperty("showdelay"));
+};
+
+/**
+* Sets the timeout for the auto-dismiss delay, which by default is 5 seconds, meaning that a tooltip will automatically dismiss itself after 5 seconds of being displayed.
+*/
+YAHOO.widget.Tooltip.prototype.doHide = function() {
+	var me = this;
+	return setTimeout(
+		function() {
+			me.hide();
+		},
+		this.cfg.getProperty("autodismissdelay"));
+};
+
+/**
+* Fired when the Tooltip is moved, this event handler is used to prevent the Tooltip from overlapping with its context element.
+*/
+YAHOO.widget.Tooltip.prototype.preventOverlap = function(pageX, pageY) {
+	
+	var height = this.element.offsetHeight;
+	
+	var elementRegion = YAHOO.util.Dom.getRegion(this.element);
+
+	elementRegion.top -= 5;
+	elementRegion.left -= 5;
+	elementRegion.right += 5;
+	elementRegion.bottom += 5;
+
+	var mousePoint = new YAHOO.util.Point(pageX, pageY);
+	
+	if (elementRegion.contains(mousePoint)) {
+		this.cfg.setProperty("y", (pageY-height-5));
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Tooltip.prototype.toString = function() {
+	return "Tooltip " + this.id;
+};
+
+/**
+* Panel is an implementation of Overlay that behaves like an OS window, with a draggable header and an optional close icon at the top right.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Panel <em>OR</em>
+* @param {Element}	el	The element representing the Panel
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Panel. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Panel = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Panel, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the default CSS class used for a Panel
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL = "panel";
+
+/**
+* Constant representing the default CSS class used for a Panel's wrapping container
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL_CONTAINER = "panel-container";
+
+/**
+* CustomEvent fired after the modality mask is shown
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.showMaskEvent = null;
+
+/**
+* CustomEvent fired after the modality mask is hidden
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.hideMaskEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Panel.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Panel);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Panel.CSS_PANEL);
+
+	this.buildWrapper();			
+	
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		var draggable = this.cfg.getProperty("draggable");
+		if (draggable) {
+			if (! this.header) {
+				this.setHeader("&nbsp;");
+			}
+		}
+	}, this, true);
+
+	var me = this;
+
+	this.showMaskEvent.subscribe(function() {
+		var checkFocusable = function(el) {
+			if (el.tagName == "A" || el.tagName == "BUTTON" || el.tagName == "SELECT" || el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "FORM") {
+				if (! YAHOO.util.Dom.isAncestor(me.element, el)) {
+					YAHOO.util.Event.addListener(el, "focus", el.blur);
+					return true;
+				}
+			} else {
+				return false;
+			}
+		};
+		
+		this.focusableElements = YAHOO.util.Dom.getElementsBy(checkFocusable);
+	}, this, true);
+
+	this.hideMaskEvent.subscribe(function() {
+		for (var i=0;i<this.focusableElements.length;i++) {
+			var el2 = this.focusableElements[i];
+			YAHOO.util.Event.removeListener(el2, "focus", el2.blur);
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Panel);
+};
+
+/**
+* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+*/
+YAHOO.widget.Panel.prototype.initEvents = function() {
+	YAHOO.widget.Panel.superclass.initEvents.call(this);
+
+	this.showMaskEvent = new YAHOO.util.CustomEvent("showMask");
+	this.hideMaskEvent = new YAHOO.util.CustomEvent("hideMask");
+
+	this.dragEvent = new YAHOO.util.CustomEvent("drag");
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Panel's Config object (cfg).
+*/
+YAHOO.widget.Panel.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);
+
+	// Add panel config properties //
+
+	this.cfg.addProperty("close", { value:true, handler:this.configClose, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+	this.cfg.addProperty("draggable", { value:true,	handler:this.configDraggable, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("underlay", { value:"shadow", handler:this.configUnderlay, supercedes:["visible"] } );
+	this.cfg.addProperty("modal",	{ value:false, handler:this.configModal, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("keylisteners", { handler:this.configKeyListeners, suppressEvent:true, supercedes:["visible"] } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "close" property is changed. The method controls the appending or hiding of the close icon at the top right of the Panel.
+*/
+YAHOO.widget.Panel.prototype.configClose = function(type, args, obj) {
+	var val = args[0];
+
+	var doHide = function(e, obj) {
+		obj.hide();
+	};
+
+	if (val) {
+		if (! this.close) {
+			this.close = document.createElement("DIV");
+			YAHOO.util.Dom.addClass(this.close, "close");
+
+			if (this.isSecure) {
+				YAHOO.util.Dom.addClass(this.close, "secure");
+			} else {
+				YAHOO.util.Dom.addClass(this.close, "nonsecure");
+			}
+
+			this.close.innerHTML = "&nbsp;";
+			this.innerElement.appendChild(this.close);
+			YAHOO.util.Event.addListener(this.close, "click", doHide, this);	
+		} else {
+			this.close.style.display = "block";
+		}
+	} else {
+		if (this.close) {
+			this.close.style.display = "none";
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "draggable" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configDraggable = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","move");
+			this.registerDragDrop();
+		}
+	} else {
+		if (this.dd) {
+			this.dd.unreg();
+		}
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","auto");
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "underlay" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configUnderlay = function(type, args, obj) {
+	var val = args[0];
+
+	switch (val.toLowerCase()) {
+		case "shadow":
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			YAHOO.util.Dom.addClass(this.element, "shadow");
+
+			if (! this.underlay) { // create if not already in DOM
+				this.underlay = document.createElement("DIV");
+				this.underlay.className = "underlay";
+				this.underlay.innerHTML = "&nbsp;";
+				this.element.appendChild(this.underlay);
+			} 
+
+			this.sizeUnderlay();
+			break;
+		case "matte":
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.addClass(this.element, "matte");
+			break;
+		default:
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			break;
+	}
+};
+
+/**
+* The default event handler fired when the "modal" property is changed. This handler subscribes or unsubscribes to the show and hide events to handle the display or hide of the modality mask.
+*/
+YAHOO.widget.Panel.prototype.configModal = function(type, args, obj) {
+	var modal = args[0];
+
+	if (modal) {
+		this.buildMask();
+
+		if (! YAHOO.util.Config.alreadySubscribed( this.showEvent, this.showMask, this ) ) {
+			this.showEvent.subscribe(this.showMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.hideEvent, this.hideMask, this) ) {
+			this.hideEvent.subscribe(this.hideMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( YAHOO.widget.Overlay.windowResizeEvent, this.sizeMask, this ) ) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.destroyEvent, this.removeMask, this) ) {
+			this.destroyEvent.subscribe(this.removeMask, this, true);
+		}
+	} else {
+		this.beforeShowEvent.unsubscribe(this.showMask, this);
+		this.hideEvent.unsubscribe(this.hideMask, this);
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask, this);
+		this.destroyEvent.unsubscribe(this.removeMask, this);
+	}
+};
+
+/**
+* Removes the modality mask.
+*/
+YAHOO.widget.Panel.prototype.removeMask = function() {
+	if (this.mask) {
+		if (this.mask.parentNode) {
+			this.mask.parentNode.removeChild(this.mask);
+		}
+		this.mask = null;
+	}
+}
+
+/**
+* The default event handler fired when the "keylisteners" property is changed. 
+*/
+YAHOO.widget.Panel.prototype.configKeyListeners = function(type, args, obj) {
+	var listeners = args[0];
+
+	if (listeners) {
+		if (listeners instanceof Array) {
+			for (var i=0;i<listeners.length;i++) {
+				var listener = listeners[i];
+
+				if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listener.enable, listener)) {
+					this.showEvent.subscribe(listener.enable, listener, true);
+				}
+				if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listener.disable, listener)) {
+					this.hideEvent.subscribe(listener.disable, listener, true);
+					this.destroyEvent.subscribe(listener.disable, listener, true);
+				}
+			}
+		} else {
+			if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listeners.enable, listeners)) {
+				this.showEvent.subscribe(listeners.enable, listeners, true);
+			}
+			if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listeners.disable, listeners)) {
+				this.hideEvent.subscribe(listeners.disable, listeners, true);
+				this.destroyEvent.subscribe(listeners.disable, listeners, true); 
+			}
+		}
+	} 
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+
+/**
+* Builds the wrapping container around the Panel that is used for positioning the shadow and matte underlays. The container element is assigned to a  local instance variable called container, and the element is reinserted inside of it.
+*/
+YAHOO.widget.Panel.prototype.buildWrapper = function() {
+	var elementParent = this.element.parentNode;
+
+	var elementClone = this.element.cloneNode(true);
+	this.innerElement = elementClone;
+	this.innerElement.style.visibility = "inherit";
+
+	YAHOO.util.Dom.addClass(this.innerElement, YAHOO.widget.Panel.CSS_PANEL);
+
+	var wrapper = document.createElement("DIV");
+	wrapper.className = YAHOO.widget.Panel.CSS_PANEL_CONTAINER;
+	wrapper.id = elementClone.id + "_c";
+	
+	wrapper.appendChild(elementClone);
+	
+	if (elementParent) {
+		elementParent.replaceChild(wrapper, this.element);
+	}
+
+	this.element = wrapper;
+
+	// Resynchronize the local field references
+
+	var childNodes = this.innerElement.childNodes;
+	if (childNodes) {
+		for (var i=0;i<childNodes.length;i++) {
+			var child = childNodes[i];
+			switch (child.className) {
+				case YAHOO.widget.Module.CSS_HEADER:
+					this.header = child;
+					break;
+				case YAHOO.widget.Module.CSS_BODY:
+					this.body = child;
+					break;
+				case YAHOO.widget.Module.CSS_FOOTER:
+					this.footer = child;
+					break;
+			}
+		}
+	}
+
+	this.initDefaultConfig(); // We've changed the DOM, so the configuration must be re-tooled to get the DOM references right
+};
+
+/**
+* Adjusts the size of the shadow based on the size of the element.
+*/
+YAHOO.widget.Panel.prototype.sizeUnderlay = function() {
+	if (this.underlay && this.browser != "gecko" && this.browser != "safari") {
+		this.underlay.style.width = this.innerElement.offsetWidth + "px";
+		this.underlay.style.height = this.innerElement.offsetHeight + "px";
+	}
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Panel.prototype.onDomResize = function(e, obj) { 
+	YAHOO.widget.Panel.superclass.onDomResize.call(this, e, obj);
+	var me = this;
+	setTimeout(function() {
+		me.sizeUnderlay();
+	}, 0);
+};
+
+/**
+* Registers the Panel's header for drag & drop capability.
+*/
+YAHOO.widget.Panel.prototype.registerDragDrop = function() {
+	if (this.header) {
+		this.dd = new YAHOO.util.DD(this.element.id, this.id);
+
+		if (! this.header.id) {
+			this.header.id = this.id + "_h";
+		}
+		
+		var me = this;
+
+		this.dd.startDrag = function() {
+
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.addClass(me.element,"drag");
+			}
+
+			if (me.cfg.getProperty("constraintoviewport")) {
+				var offsetHeight = me.element.offsetHeight;
+				var offsetWidth = me.element.offsetWidth;
+
+				var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+				var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+				var scrollX = window.scrollX || document.documentElement.scrollLeft;
+				var scrollY = window.scrollY || document.documentElement.scrollTop;
+
+				var topConstraint = scrollY + 10;
+				var leftConstraint = scrollX + 10;
+				var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+				var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+				this.minX = leftConstraint;
+				this.maxX = rightConstraint;
+				this.constrainX = true;
+
+				this.minY = topConstraint;
+				this.maxY = bottomConstraint;
+				this.constrainY = true;
+			} else {
+				this.constrainX = false;
+				this.constrainY = false;
+			}
+
+			me.dragEvent.fire("startDrag", arguments);
+		};
+		
+		this.dd.onDrag = function() {
+			me.syncPosition();
+			me.cfg.refireEvent("iframe");
+			if (this.platform == "mac" && this.browser == "gecko") {
+				this.showMacGeckoScrollbars();
+			}
+
+			me.dragEvent.fire("onDrag", arguments);
+		};
+
+		this.dd.endDrag = function() {
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.removeClass(me.element,"drag");
+			}
+
+			me.dragEvent.fire("endDrag", arguments);
+		};
+
+		this.dd.setHandleElId(this.header.id);
+		this.dd.addInvalidHandleType("INPUT");
+		this.dd.addInvalidHandleType("SELECT");
+		this.dd.addInvalidHandleType("TEXTAREA");
+	}
+};
+
+/**
+* Builds the mask that is laid over the document when the Panel is configured to be modal.
+*/
+YAHOO.widget.Panel.prototype.buildMask = function() {
+	if (! this.mask) {
+		this.mask = document.createElement("DIV");
+		this.mask.id = this.id + "_mask";
+		this.mask.className = "mask";
+		this.mask.innerHTML = "&nbsp;";
+
+		var maskClick = function(e, obj) {
+			YAHOO.util.Event.stopEvent(e);
+		};
+
+		var firstChild = document.body.firstChild;
+		if (firstChild)	{
+			document.body.insertBefore(this.mask, document.body.firstChild);
+		} else {
+			document.body.appendChild(this.mask);
+		}
+	}
+};
+
+/**
+* Hides the modality mask.
+*/
+YAHOO.widget.Panel.prototype.hideMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		this.mask.style.display = "none";
+		this.hideMaskEvent.fire();
+		YAHOO.util.Dom.removeClass(document.body, "masked");
+	}
+};
+
+/**
+* Shows the modality mask.
+*/
+YAHOO.widget.Panel.prototype.showMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		YAHOO.util.Dom.addClass(document.body, "masked");
+		this.sizeMask();
+		this.mask.style.display = "block";
+		this.showMaskEvent.fire();
+	}
+};
+
+/**
+* Sets the size of the modality mask to cover the entire scrollable area of the document
+*/
+YAHOO.widget.Panel.prototype.sizeMask = function() {
+	if (this.mask) {
+		this.mask.style.height = YAHOO.util.Dom.getDocumentHeight()+"px";
+		this.mask.style.width = YAHOO.util.Dom.getDocumentWidth()+"px";
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Renders the Panel by inserting the elements that are not already in the main Panel into their correct places. Optionally appends the Panel to the specified node prior to the render's execution. NOTE: For Panels without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+* @return {boolean} Success or failure of the render
+*/
+YAHOO.widget.Panel.prototype.render = function(appendToNode) {
+	return YAHOO.widget.Panel.superclass.render.call(this, appendToNode, this.innerElement);
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Panel.prototype.toString = function() {
+	return "Panel " + this.id;
+};
+
+/**
+* Dialog is an implementation of Panel that can be used to submit form data. Built-in functionality for buttons with event handlers is included, and button sets can be build dynamically, or the preincluded ones for Submit/Cancel and OK/Cancel can be utilized. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Panel
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Dialog = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Dialog, YAHOO.widget.Panel);
+
+/**
+* Constant representing the default CSS class used for a Dialog
+* @type string
+* @final
+*/
+YAHOO.widget.Dialog.CSS_DIALOG = "dialog";
+
+
+/**
+* CustomEvent fired prior to submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.beforeSubmitEvent = null;
+
+/**
+* CustomEvent fired after submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.submitEvent = null;
+
+/**
+* CustomEvent fired prior to manual submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.manualSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to asynchronous submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.asyncSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to form-based submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.formSubmitEvent = null;
+
+/**
+* CustomEvent fired after cancel
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.cancelEvent = null;
+
+
+/**
+* Initializes the class's configurable properties which can be changed using the Dialog's Config object (cfg).
+*/
+YAHOO.widget.Dialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);
+
+	/**
+	* The internally maintained callback object for use with the Connection utility
+	* @type object
+	* @private
+	*/
+	this.callback = {
+		success : null,
+		failure : null,
+		argument: null
+	};
+
+	this.doSubmit = function() {
+		var method = this.cfg.getProperty("postmethod");
+		switch (method) {
+			case "async":
+				YAHOO.util.Connect.setForm(this.form);
+				var cObj = YAHOO.util.Connect.asyncRequest('POST', this.form.action, this.callback);
+				this.asyncSubmitEvent.fire();
+				break;
+			case "form":
+				this.form.submit();
+				this.formSubmitEvent.fire();
+				break;
+			case "none":
+			case "manual":
+				this.manualSubmitEvent.fire();
+				break;
+		}
+	};
+
+	// Add form dialog config properties //
+	this.cfg.addProperty("postmethod", { value:"async", validator:function(val) { 
+													if (val != "form" && val != "async" && val != "none" && val != "manual") {
+														return false;
+													} else {
+														return true;
+													}
+												} });
+
+	this.cfg.addProperty("buttons",		{ value:"none",	handler:this.configButtons } );
+};
+
+/**
+* Initializes the custom events for Dialog which are fired automatically at appropriate times by the Dialog class.
+*/
+YAHOO.widget.Dialog.prototype.initEvents = function() {
+	YAHOO.widget.Dialog.superclass.initEvents.call(this);
+	
+	this.beforeSubmitEvent	= new YAHOO.util.CustomEvent("beforeSubmit");
+	this.submitEvent		= new YAHOO.util.CustomEvent("submit");
+
+	this.manualSubmitEvent	= new YAHOO.util.CustomEvent("manualSubmit");
+	this.asyncSubmitEvent	= new YAHOO.util.CustomEvent("asyncSubmit");
+	this.formSubmitEvent	= new YAHOO.util.CustomEvent("formSubmit");
+
+	this.cancelEvent		= new YAHOO.util.CustomEvent("cancel");
+};
+
+/**
+* The Dialog initialization method, which is executed for Dialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+*/
+YAHOO.widget.Dialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Dialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Dialog.CSS_DIALOG);
+
+	this.cfg.setProperty("visible", false);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.renderEvent.subscribe(this.registerForm, this, true);
+
+	this.showEvent.subscribe(this.focusFirst, this, true);
+	this.beforeHideEvent.subscribe(this.blurButtons, this, true);
+
+	this.beforeRenderEvent.subscribe(function() {
+		var buttonCfg = this.cfg.getProperty("buttons");
+		if (buttonCfg && buttonCfg != "none") {
+			if (! this.footer) {
+				this.setFooter("");
+			}
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Dialog);
+};
+
+/**
+* Prepares the Dialog's internal FORM object, creating one if one is not currently present.
+*/
+YAHOO.widget.Dialog.prototype.registerForm = function() {
+	var form = this.element.getElementsByTagName("FORM")[0];
+
+	if (! form) {
+		var formHTML = "<form name=\"frm_" + this.id + "\" action=\"\"></form>";
+		this.body.innerHTML += formHTML;
+		form = this.element.getElementsByTagName("FORM")[0];
+	}
+
+	this.firstFormElement = function() {
+		for (var f=0;f<form.elements.length;f++ ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.lastFormElement = function() {
+		for (var f=form.elements.length-1;f>=0;f-- ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.form = form;
+
+	if (this.cfg.getProperty("modal") && this.form) {
+
+		var me = this;
+		
+		var firstElement = this.firstFormElement || this.firstButton;
+		if (firstElement) {
+			this.preventBackTab = new YAHOO.util.KeyListener(firstElement, { shift:true, keys:9 }, {fn:me.focusLast, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventBackTab.enable, this.preventBackTab, true);
+			this.hideEvent.subscribe(this.preventBackTab.disable, this.preventBackTab, true);
+		}
+
+		var lastElement = this.lastButton || this.lastFormElement;
+		if (lastElement) {
+			this.preventTabOut = new YAHOO.util.KeyListener(lastElement, { shift:false, keys:9 }, {fn:me.focusFirst, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventTabOut.enable, this.preventTabOut, true);
+			this.hideEvent.subscribe(this.preventTabOut.disable, this.preventTabOut, true);
+		}
+	}
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler for the "buttons" configuration property
+*/
+YAHOO.widget.Dialog.prototype.configButtons = function(type, args, obj) {
+	var buttons = args[0];
+	if (buttons != "none") {
+		this.buttonSpan = null;
+		this.buttonSpan = document.createElement("SPAN");
+		this.buttonSpan.className = "button-group";
+
+		for (var b=0;b<buttons.length;b++) {
+			var button = buttons[b];
+
+			var htmlButton = document.createElement("BUTTON");
+			htmlButton.setAttribute("type", "button");
+
+			if (button.isDefault) {
+				htmlButton.className = "default";
+				this.defaultHtmlButton = htmlButton;
+			}
+
+			htmlButton.appendChild(document.createTextNode(button.text));
+			YAHOO.util.Event.addListener(htmlButton, "click", button.handler, this, true);
+
+			this.buttonSpan.appendChild(htmlButton);		
+			button.htmlButton = htmlButton;
+
+			if (b === 0) {
+				this.firstButton = button.htmlButton;
+			}
+
+			if (b == (buttons.length-1)) {
+				this.lastButton = button.htmlButton;
+			}
+
+		}
+
+		this.setFooter(this.buttonSpan);
+
+		this.cfg.refireEvent("iframe");
+		this.cfg.refireEvent("underlay");
+	} else { // Do cleanup
+		if (this.buttonSpan) {
+			if (this.buttonSpan.parentNode) {
+				this.buttonSpan.parentNode.removeChild(this.buttonSpan);
+			}
+
+			this.buttonSpan = null;
+			this.firstButton = null;
+			this.lastButton = null;
+			this.defaultHtmlButton = null;
+		}
+	}
+};
+
+/**
+* The default handler fired when the "success" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnSuccess = function(type,args,obj){};
+
+/**
+* The default handler fired when the "failure" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnFailure = function(type,args,obj){};
+
+/**
+* Executes a submission of the form based on the value of the postmethod property.
+*/
+YAHOO.widget.Dialog.prototype.doSubmit = function() {};
+
+/**
+* The default event handler used to focus the first field of the form when the Dialog is shown.
+*/
+YAHOO.widget.Dialog.prototype.focusFirst = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	if (this.firstFormElement) {
+		this.firstFormElement.focus();
+	} else {
+		this.focusDefaultButton();
+	}
+};
+
+/**
+* Sets the focus to the last button in the button or form element in the Dialog
+*/
+YAHOO.widget.Dialog.prototype.focusLast = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		this.focusLastButton();
+	} else {
+		if (this.lastFormElement) {
+			this.lastFormElement.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the button that is designated as the default. By default, his handler is executed when the show event is fired.
+*/
+YAHOO.widget.Dialog.prototype.focusDefaultButton = function() {
+	if (this.defaultHtmlButton) {
+		this.defaultHtmlButton.focus();
+	}
+};
+
+/**
+* Blurs all the html buttons
+*/
+YAHOO.widget.Dialog.prototype.blurButtons = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.blur();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusFirstButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusLastButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[buttons.length-1].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Built-in function hook for writing a validation function that will be checked for a "true" value prior to a submit. This function, as implemented by default, always returns true, so it should be overridden if validation is necessary.
+*/
+YAHOO.widget.Dialog.prototype.validate = function() {
+	return true;
+};
+
+/**
+* Executes a submit of the Dialog followed by a hide, if validation is successful.
+*/
+YAHOO.widget.Dialog.prototype.submit = function() {
+	if (this.validate()) {
+		this.beforeSubmitEvent.fire();
+		this.doSubmit();
+		this.submitEvent.fire();
+		this.hide();
+		return true;
+	} else {
+		return false;
+	}
+};
+
+/**
+* Executes the cancel of the Dialog followed by a hide.
+*/
+YAHOO.widget.Dialog.prototype.cancel = function() {
+	this.cancelEvent.fire();
+	this.hide();	
+};
+
+/**
+* Returns a JSON-compatible data structure representing the data currently contained in the form.
+* @return {object} A JSON object reprsenting the data of the current form.
+*/
+YAHOO.widget.Dialog.prototype.getData = function() {
+	var form = this.form;
+	var data = {};
+
+	if (form) {
+		for (var i in this.form) {
+			var formItem = form[i];
+			if (formItem) {
+				if (formItem.tagName) { // Got a single form item
+					switch (formItem.tagName) {
+						case "INPUT":
+							switch (formItem.type) {
+								case "checkbox": 
+									data[i] = formItem.checked;
+									break;
+								case "textbox":
+								case "text":
+								case "hidden":
+									data[i] = formItem.value;
+									break;
+							}
+							break;
+						case "TEXTAREA":
+							data[i] = formItem.value;
+							break;
+						case "SELECT":
+							var val = [];
+							for (var x=0;x<formItem.options.length;x++)	{
+								var option = formItem.options[x];
+								if (option.selected) {
+									var selval = option.value;
+									if (! selval || selval === "") {
+										selval = option.text;
+									}
+									val[val.length] = selval;
+								}
+							}
+							data[i] = val;
+							break;
+					}
+				} else if (formItem[0] && formItem[0].tagName) { // this is an array of form items
+					switch (formItem[0].tagName) {
+						case "INPUT" :
+							switch (formItem[0].type) {
+								case "radio":
+									for (var r=0; r<formItem.length; r++) {
+										var radio = formItem[r];
+										if (radio.checked) {
+											data[radio.name] = radio.value;
+											break;
+										}
+									}
+									break;
+								case "checkbox":
+									var cbArray = [];
+									for (var c=0; c<formItem.length; c++) {
+										var check = formItem[c];
+										if (check.checked) {
+											cbArray[cbArray.length] = check.value;
+										}
+									}
+									data[formItem[0].name] = cbArray;
+									break;
+							}
+					}
+				}
+			}
+		}	
+	}
+	return data;
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Dialog.prototype.toString = function() {
+	return "Dialog " + this.id;
+};
+
+/**
+* SimpleDialog is a simple implementation of Dialog that can be used to submit a single value. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Dialog
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.SimpleDialog = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.SimpleDialog, YAHOO.widget.Dialog);
+
+/**
+* Constant for the standard network icon for a blocking action
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_BLOCK = "nt/ic/ut/bsc/blck16_1.gif";
+
+/**
+* Constant for the standard network icon for alarm
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_ALARM = "nt/ic/ut/bsc/alrt16_1.gif";
+
+/**
+* Constant for the standard network icon for help
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_HELP  = "nt/ic/ut/bsc/hlp16_1.gif";
+
+/**
+* Constant for the standard network icon for info
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_INFO  = "nt/ic/ut/bsc/info16_1.gif";
+
+/**
+* Constant for the standard network icon for warn
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_WARN  = "nt/ic/ut/bsc/warn16_1.gif";
+
+/**
+* Constant for the standard network icon for a tip
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_TIP   = "nt/ic/ut/bsc/tip16_1.gif";
+
+/**
+* Constant representing the default CSS class used for a SimpleDialog
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG = "simple-dialog";
+
+/**
+* Initializes the class's configurable properties which can be changed using the SimpleDialog's Config object (cfg).
+*/
+YAHOO.widget.SimpleDialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);
+
+	// Add dialog config properties //
+	this.cfg.addProperty("icon",	{ value:"none",	handler:this.configIcon, suppressEvent:true } );
+	this.cfg.addProperty("text",	{ value:"", handler:this.configText, suppressEvent:true, supercedes:["icon"] } );
+};
+
+
+/**
+* The SimpleDialog initialization method, which is executed for SimpleDialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+*/
+YAHOO.widget.SimpleDialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+	this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);
+
+	this.cfg.queueProperty("postmethod", "manual");
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		if (! this.body) {
+			this.setBody("");
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.SimpleDialog);
+
+};
+/**
+* Prepares the SimpleDialog's internal FORM object, creating one if one is not currently present, and adding the value hidden field.
+*/
+YAHOO.widget.SimpleDialog.prototype.registerForm = function() {
+	YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);
+	this.form.innerHTML += "<input type=\"hidden\" name=\"" + this.id + "\" value=\"\"/>";
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Fired when the "icon" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configIcon = function(type,args,obj) {
+	var icon = args[0];
+	if (icon && icon != "none") {
+		var iconHTML = "<img src=\"" + this.imageRoot + icon + "\" class=\"icon\" />";
+		this.body.innerHTML = iconHTML + this.body.innerHTML;
+	}
+};
+
+/**
+* Fired when the "text" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configText = function(type,args,obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+		this.cfg.refireEvent("icon");
+	}
+};
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.SimpleDialog.prototype.toString = function() {
+	return "SimpleDialog " + this.id;
+};
+
+/**
+* ContainerEffect encapsulates animation transitions that are executed when an Overlay is shown or hidden.
+* @param {Overlay}	overlay		The Overlay that the animation should be associated with
+* @param {object}	attrIn		The object literal representing the animation arguments to be used for the animate-in transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {object}	attrOut		The object literal representing the animation arguments to be used for the animate-out transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {Element}	targetElement	Optional. The target element that should be animated during the transition. Defaults to overlay.element.
+* @param {class}	Optional. The animation class to instantiate. Defaults to YAHOO.util.Anim. Other options include YAHOO.util.Motion.
+* @constructor
+*/
+YAHOO.widget.ContainerEffect = function(overlay, attrIn, attrOut, targetElement, animClass) {
+	if (! animClass) {
+		animClass = YAHOO.util.Anim;
+	}
+
+	/**
+	* The overlay to animate
+	*/
+	this.overlay = overlay;
+	/**
+	* The animation attributes to use when transitioning into view
+	*/
+	this.attrIn = attrIn;
+	/**
+	* The animation attributes to use when transitioning out of view
+	*/
+	this.attrOut = attrOut;
+	/**
+	* The target element to be animated
+	*/
+	this.targetElement = targetElement || overlay.element;
+	/**
+	* The animation class to use for animating the overlay
+	*/
+	this.animClass = animClass;
+};
+
+/**
+* Initializes the animation classes and events.
+*/
+YAHOO.widget.ContainerEffect.prototype.init = function() {
+	this.beforeAnimateInEvent = new YAHOO.util.CustomEvent("beforeAnimateIn");
+	this.beforeAnimateOutEvent = new YAHOO.util.CustomEvent("beforeAnimateOut");
+
+	this.animateInCompleteEvent = new YAHOO.util.CustomEvent("animateInComplete");
+	this.animateOutCompleteEvent = new YAHOO.util.CustomEvent("animateOutComplete");
+
+	this.animIn = new this.animClass(this.targetElement, this.attrIn.attributes, this.attrIn.duration, this.attrIn.method);
+	this.animIn.onStart.subscribe(this.handleStartAnimateIn, this);
+	this.animIn.onTween.subscribe(this.handleTweenAnimateIn, this);
+	this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn, this);
+
+	this.animOut = new this.animClass(this.targetElement, this.attrOut.attributes, this.attrOut.duration, this.attrOut.method);
+	this.animOut.onStart.subscribe(this.handleStartAnimateOut, this);
+	this.animOut.onTween.subscribe(this.handleTweenAnimateOut, this);
+	this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut, this);
+};
+
+/**
+* Triggers the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateIn = function() {
+	this.beforeAnimateInEvent.fire();
+	this.animIn.animate();
+};
+
+/**
+* Triggers the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateOut = function() {
+	this.beforeAnimateOutEvent.fire();
+	this.animOut.animate();
+};
+
+/**
+* The default onStart handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn = function(type, args, obj) { };
+/**
+* The default onTween handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn = function(type, args, obj) { };
+/**
+* The default onComplete handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn = function(type, args, obj) { };
+
+/**
+* The default onStart handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut = function(type, args, obj) { };
+/**
+* The default onTween handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut = function(type, args, obj) { };
+/**
+* The default onComplete handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut = function(type, args, obj) { };
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.ContainerEffect.prototype.toString = function() {
+	var output = "ContainerEffect";
+	if (this.overlay) {
+		output += " [" + this.overlay.toString() + "]";
+	}
+	return output;
+};
+
+/**
+* A pre-configured ContainerEffect instance that can be used for fading an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.FADE = function(overlay, dur) {
+	var fade = new YAHOO.widget.ContainerEffect(overlay, { attributes:{opacity: {from:0, to:1}}, duration:dur, method:YAHOO.util.Easing.easeIn }, { attributes:{opacity: {to:0}}, duration:dur, method:YAHOO.util.Easing.easeOut}, overlay.element );
+
+	fade.handleStartAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+		
+		if (! obj.overlay.underlay) {
+			obj.overlay.cfg.refireEvent("underlay");
+		}
+
+		if (obj.overlay.underlay) {
+			obj.initialUnderlayOpacity = YAHOO.util.Dom.getStyle(obj.overlay.underlay, "opacity");
+			obj.overlay.underlay.style.filter = null;
+		}
+
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible"); 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 0);
+	};
+
+	fade.handleCompleteAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}			
+		
+		if (obj.overlay.underlay) {
+			YAHOO.util.Dom.setStyle(obj.overlay.underlay, "opacity", obj.initialUnderlayOpacity);
+		}
+
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	fade.handleStartAnimateOut = function(type, args, obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.underlay) {
+			obj.overlay.underlay.style.filter = null;
+		}
+	};
+
+	fade.handleCompleteAnimateOut =  function(type, args, obj) { 
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}				
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 1); 
+
+		obj.overlay.cfg.refireEvent("iframe");
+
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	fade.init();
+	return fade;
+};
+
+
+/**
+* A pre-configured ContainerEffect instance that can be used for sliding an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.SLIDE = function(overlay, dur) {
+	var x = overlay.cfg.getProperty("x") || YAHOO.util.Dom.getX(overlay.element);
+	var y = overlay.cfg.getProperty("y") || YAHOO.util.Dom.getY(overlay.element);
+
+	var clientWidth = YAHOO.util.Dom.getClientWidth();
+	var offsetWidth = overlay.element.offsetWidth;
+
+	var slide = new YAHOO.widget.ContainerEffect(overlay, { 
+															attributes:{ points: { to:[x, y] } }, 
+															duration:dur, 
+															method:YAHOO.util.Easing.easeIn 
+														}, 
+														{ 
+															attributes:{ points: { to:[(clientWidth+25), y] } },
+															duration:dur, 
+															method:YAHOO.util.Easing.easeOut
+														},
+														overlay.element,
+														YAHOO.util.Motion);
+												
+
+	slide.handleStartAnimateIn = function(type,args,obj) {
+		obj.overlay.element.style.left = (-25-offsetWidth) + "px";
+		obj.overlay.element.style.top  = y + "px";
+	};
+	
+	slide.handleTweenAnimateIn = function(type, args, obj) {
+
+
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var currentX = pos[0];
+		var currentY = pos[1];
+
+		if (YAHOO.util.Dom.getStyle(obj.overlay.element, "visibility") == "hidden" && currentX < x) {
+			YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible");
+		}
+
+		obj.overlay.cfg.setProperty("xy", [currentX,currentY], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+	
+	slide.handleCompleteAnimateIn = function(type, args, obj) {
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.startX = x;
+		obj.startY = y;
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	slide.handleStartAnimateOut = function(type, args, obj) {
+		var clientWidth = YAHOO.util.Dom.getViewportWidth();
+		
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		var currentTo = obj.animOut.attributes.points.to;
+		obj.animOut.attributes.points.to = [(clientWidth+25), y];
+	};
+
+	slide.handleTweenAnimateOut = function(type, args, obj) {
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+
+	slide.handleCompleteAnimateOut = function(type, args, obj) { 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");		
+		var offsetWidth = obj.overlay.element.offsetWidth;
+
+		obj.overlay.cfg.setProperty("xy", [x,y]);
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	slide.init();
+	return slide;
+};
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dom.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,899 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * @class Provides helper methods for DOM elements.
+ */
+YAHOO.util.Dom = function() {
+   var ua = navigator.userAgent.toLowerCase();
+   var isOpera = (ua.indexOf('opera') > -1);
+   var isSafari = (ua.indexOf('safari') > -1);
+   var isIE = (window.ActiveXObject);
+
+   var id_counter = 0;
+   var util = YAHOO.util; // internal shorthand
+   var property_cache = {}; // to cache case conversion for set/getStyle
+
+   var toCamel = function(property) {
+      var convert = function(prop) {
+         var test = /(-[a-z])/i.exec(prop);
+         return prop.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase());
+      };
+
+      while(property.indexOf('-') > -1) {
+         property = convert(property);
+      }
+
+      return property;
+      //return property.replace(/-([a-z])/gi, function(m0, m1) {return m1.toUpperCase()}) // cant use function as 2nd arg yet due to safari bug
+   };
+
+   var toHyphen = function(property) {
+      if (property.indexOf('-') > -1) { // assume hyphen
+         return property;
+      }
+
+      var converted = '';
+      for (var i = 0, len = property.length;i < len; ++i) {
+         if (property.charAt(i) == property.charAt(i).toUpperCase()) {
+            converted = converted + '-' + property.charAt(i).toLowerCase();
+         } else {
+            converted = converted + property.charAt(i);
+         }
+      }
+
+      return converted;
+      //return property.replace(/([a-z])([A-Z]+)/g, function(m0, m1, m2) {return (m1 + '-' + m2.toLowerCase())});
+   };
+
+   // improve performance by only looking up once
+   var cacheConvertedProperties = function(property) {
+      property_cache[property] = {
+         camel: toCamel(property),
+         hyphen: toHyphen(property)
+      };
+   };
+
+   return {
+      /**
+       * Returns an HTMLElement reference
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID for getting a DOM reference, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {HTMLElement/Array} A DOM reference to an HTML element or an array of HTMLElements.
+       */
+      get: function(el) {
+         if (!el) { return null; } // nothing to work with
+
+         if (typeof el != 'string' && !(el instanceof Array) ) { // assuming HTMLElement or HTMLCollection, so pass back as is
+            return el;
+         }
+
+         if (typeof el == 'string') { // ID
+            return document.getElementById(el);
+         }
+         else { // array of ID's and/or elements
+            var collection = [];
+            for (var i = 0, len = el.length; i < len; ++i) {
+               collection[collection.length] = util.Dom.get(el[i]);
+            }
+
+            return collection;
+         }
+
+         return null; // safety, should never happen
+      },
+
+      /**
+       * Normalizes currentStyle and ComputedStyle.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property whose value is returned.
+       * @return {String/Array} The current value of the style property for the element(s).
+       */
+      getStyle: function(el, property) {
+         var f = function(el) {
+            var value = null;
+            var dv = document.defaultView;
+
+            if (!property_cache[property]) {
+               cacheConvertedProperties(property);
+            }
+
+            var camel = property_cache[property]['camel'];
+            var hyphen = property_cache[property]['hyphen'];
+
+            if (property == 'opacity' && el.filters) {// IE opacity
+               value = 1;
+               try {
+                  value = el.filters.item('DXImageTransform.Microsoft.Alpha').opacity / 100;
+               } catch(e) {
+                  try {
+                     value = el.filters.item('alpha').opacity / 100;
+                  } catch(e) {}
+               }
+            } else if (el.style[camel]) { // camelCase for valid styles
+               value = el.style[camel];
+            }
+            else if (isIE && el.currentStyle && el.currentStyle[camel]) { // camelCase for currentStyle; isIE to workaround broken Opera 9 currentStyle
+               value = el.currentStyle[camel];
+            }
+            else if ( dv && dv.getComputedStyle ) { // hyphen-case for computedStyle
+               var computed = dv.getComputedStyle(el, '');
+
+               if (computed && computed.getPropertyValue(hyphen)) {
+                  value = computed.getPropertyValue(hyphen);
+               }
+            }
+
+            return value;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Wrapper for setting style properties of HTMLElements.  Normalizes "opacity" across modern browsers.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property to be set.
+       * @param {String} val The value to apply to the given property.
+       */
+      setStyle: function(el, property, val) {
+         if (!property_cache[property]) {
+            cacheConvertedProperties(property);
+         }
+
+         var camel = property_cache[property]['camel'];
+
+         var f = function(el) {
+            switch(property) {
+               case 'opacity' :
+                  if (isIE && typeof el.style.filter == 'string') { // in case not appended
+                     el.style.filter = 'alpha(opacity=' + val * 100 + ')';
+
+                     if (!el.currentStyle || !el.currentStyle.hasLayout) {
+                        el.style.zoom = 1; // when no layout or cant tell
+                     }
+                  } else {
+                     el.style.opacity = val;
+                     el.style['-moz-opacity'] = val;
+                     el.style['-khtml-opacity'] = val;
+                  }
+
+                  break;
+               default :
+                  el.style[camel] = val;
+            }
+
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       @ return {Array} The XY position of the element(s)
+       */
+      getXY: function(el) {
+         var f = function(el) {
+
+         // has to be part of document to have pageXY
+            if (el.offsetParent === null || this.getStyle(el, 'display') == 'none') {
+               return false;
+            }
+
+            var parentNode = null;
+            var pos = [];
+            var box;
+
+            if (el.getBoundingClientRect) { // IE
+               box = el.getBoundingClientRect();
+               var doc = document;
+               if ( !this.inDocument(el) && parent.document != document) {// might be in a frame, need to get its scroll
+                  doc = parent.document;
+
+                  if ( !this.isAncestor(doc.documentElement, el) ) {
+                     return false;
+                  }
+
+               }
+
+               var scrollTop = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);
+               var scrollLeft = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);
+
+               return [box.left + scrollLeft, box.top + scrollTop];
+            }
+            else { // safari, opera, & gecko
+               pos = [el.offsetLeft, el.offsetTop];
+               parentNode = el.offsetParent;
+               if (parentNode != el) {
+                  while (parentNode) {
+                     pos[0] += parentNode.offsetLeft;
+                     pos[1] += parentNode.offsetTop;
+                     parentNode = parentNode.offsetParent;
+                  }
+               }
+               if (isSafari && this.getStyle(el, 'position') == 'absolute' ) { // safari doubles in some cases
+                  pos[0] -= document.body.offsetLeft;
+                  pos[1] -= document.body.offsetTop;
+               }
+            }
+
+            if (el.parentNode) { parentNode = el.parentNode; }
+            else { parentNode = null; }
+
+            while (parentNode && parentNode.tagName.toUpperCase() != 'BODY' && parentNode.tagName.toUpperCase() != 'HTML')
+            { // account for any scrolled ancestors
+               if (util.Dom.getStyle(parentNode, 'display') != 'inline') { // work around opera inline scrollLeft/Top bug
+                  pos[0] -= parentNode.scrollLeft;
+                  pos[1] -= parentNode.scrollTop;
+               }
+
+               if (parentNode.parentNode) { parentNode = parentNode.parentNode; }
+               else { parentNode = null; }
+            }
+
+
+            return pos;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current X position of an element based on page coordinates.  The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The X position of the element(s)
+       */
+      getX: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[0];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current Y position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The Y position of the element(s)
+       */
+      getY: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[1];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @param {Array} pos Contains X & Y values for new position (coordinates are page-based)
+       * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
+       */
+      setXY: function(el, pos, noRetry) {
+         var f = function(el) {
+            var style_pos = this.getStyle(el, 'position');
+            if (style_pos == 'static') { // default to relative
+               this.setStyle(el, 'position', 'relative');
+               style_pos = 'relative';
+            }
+
+            var pageXY = this.getXY(el);
+            if (pageXY === false) { // has to be part of doc to have pageXY
+               return false;
+            }
+
+            var delta = [ // assuming pixels; if not we will have to retry
+               parseInt( this.getStyle(el, 'left'), 10 ),
+               parseInt( this.getStyle(el, 'top'), 10 )
+            ];
+
+            if ( isNaN(delta[0]) ) {// in case of 'auto'
+               delta[0] = (style_pos == 'relative') ? 0 : el.offsetLeft;
+            }
+            if ( isNaN(delta[1]) ) { // in case of 'auto'
+               delta[1] = (style_pos == 'relative') ? 0 : el.offsetTop;
+            }
+
+            if (pos[0] !== null) { el.style.left = pos[0] - pageXY[0] + delta[0] + 'px'; }
+            if (pos[1] !== null) { el.style.top = pos[1] - pageXY[1] + delta[1] + 'px'; }
+
+            var newXY = this.getXY(el);
+
+            // if retry is true, try one more time if we miss
+            if (!noRetry && (newXY[0] != pos[0] || newXY[1] != pos[1]) ) {
+               this.setXY(el, pos, true);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the X coordinate for the element(s).
+       */
+      setX: function(el, x) {
+         util.Dom.setXY(el, [x, null]);
+      },
+
+      /**
+       * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the Y coordinate for the element(s).
+       */
+      setY: function(el, y) {
+         util.Dom.setXY(el, [null, y]);
+      },
+
+      /**
+       * Returns the region position of the given element.
+       * The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {Region/Array} A Region or array of Region instances containing "top, left, bottom, right" member data.
+       */
+      getRegion: function(el) {
+         var f = function(el) {
+            var region = new YAHOO.util.Region.getRegion(el);
+            return region;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns the width of the client (viewport).
+       * Now using getViewportWidth.  This interface left intact for back compat.
+       * @return {Int} The width of the viewable area of the page.
+       */
+      getClientWidth: function() {
+         return util.Dom.getViewportWidth();
+      },
+
+      /**
+       * Returns the height of the client (viewport).
+       * Now using getViewportHeight.  This interface left intact for back compat.
+       * @return {Int} The height of the viewable area of the page.
+       */
+      getClientHeight: function() {
+         return util.Dom.getViewportHeight();
+      },
+
+      /**
+       * Returns a array of HTMLElements with the given class
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {String} className The class name to match against
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       * @return {Array} An array of elements that have the given class name
+       */
+      getElementsByClassName: function(className, tag, root) {
+         var method = function(el) { return util.Dom.hasClass(el, className) };
+         return util.Dom.getElementsBy(method, tag, root);
+      },
+
+      /**
+       * Determines whether an HTMLElement has the given className
+       * @param {String/HTMLElement/Array} el The element or collection to test
+       * @param {String} className the class name to search for
+       * @return {Boolean/Array} A boolean value or array of boolean values
+       */
+      hasClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)');
+
+         var f = function(el) {
+            return re.test(el['className']);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Adds a class name to a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to add the class to
+       * @param {String} className the class name to add to the class attribute
+       */
+      addClass: function(el, className) {
+         var f = function(el) {
+            if (this.hasClass(el, className)) { return; } // already present
+
+
+            el['className'] = [el['className'], className].join(' ');
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Removes a class name from a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} className the class name to remove from the class attribute
+       */
+      removeClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+            if (!this.hasClass(el, className)) { return; } // not present
+
+
+            var c = el['className'];
+            el['className'] = c.replace(re, ' ');
+            if ( this.hasClass(el, className) ) { // in case of multiple adjacent
+               this.removeClass(el, className);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Replace a class with another class for a given element or collection of elements.
+       * If no oldClassName is present, the newClassName is simply added.
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} oldClassName the class name to be replaced
+       * @param {String} newClassName the class name that will be replacing the old class name
+       */
+      replaceClass: function(el, oldClassName, newClassName) {
+         if (oldClassName === newClassName) { // avoid infinite loop
+            return false;
+         };
+
+         var re = new RegExp('(?:^|\\s+)' + oldClassName + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+
+            if ( !this.hasClass(el, oldClassName) ) {
+               this.addClass(el, newClassName); // just add it if nothing to replace
+               return; // note return
+            }
+
+            el['className'] = el['className'].replace(re, ' ' + newClassName + ' ');
+
+            if ( this.hasClass(el, oldClassName) ) { // in case of multiple adjacent
+               this.replaceClass(el, oldClassName, newClassName);
+            }
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Generates a unique ID
+       * @param {String/HTMLElement/Array} el (optional) An optional element array of elements to add an ID to (no ID is added if one is already present)
+       * @param {String} prefix (optional) an optional prefix to use (defaults to "yui-gen")
+       * @return {String/Array} The generated ID, or array of generated IDs (or original ID if already present on an element)
+       */
+      generateId: function(el, prefix) {
+         prefix = prefix || 'yui-gen';
+         el = el || {};
+
+         var f = function(el) {
+            if (el) {
+               el = util.Dom.get(el);
+            } else {
+               el = {}; // just generating ID in this case
+            }
+
+            if (!el.id) {
+               el.id = prefix + id_counter++;
+            } // dont override existing
+
+
+            return el.id;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is an ancestor of another HTML element in the DOM hierarchy
+       * @param {String/HTMLElement} haystack The possible ancestor
+       * @param {String/HTMLElement} needle The possible descendent
+       * @return {Boolean} Whether or not the haystack is an ancestor of needle
+       */
+      isAncestor: function(haystack, needle) {
+         haystack = util.Dom.get(haystack);
+         if (!haystack || !needle) { return false; }
+
+         var f = function(needle) {
+            if (haystack.contains && !isSafari) { // safari "contains" is broken
+               return haystack.contains(needle);
+            }
+            else if ( haystack.compareDocumentPosition ) {
+               return !!(haystack.compareDocumentPosition(needle) & 16);
+            }
+            else { // loop up and test each parent
+               var parent = needle.parentNode;
+
+               while (parent) {
+                  if (parent == haystack) {
+                     return true;
+                  }
+                  else if (!parent.tagName || parent.tagName.toUpperCase() == 'HTML') {
+                     return false;
+                  }
+
+                  parent = parent.parentNode;
+               }
+               return false;
+            }
+         };
+
+         return util.Dom.batch(needle, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is present in the current document
+       * @param {String/HTMLElement} el The element to search for
+       * @return {Boolean} Whether or not the element is present in the current document
+       */
+      inDocument: function(el) {
+         var f = function(el) {
+            return this.isAncestor(document.documentElement, el);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns a array of HTMLElements that pass the test applied by supplied boolean method
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {Function} method A boolean method to test elements with
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       */
+      getElementsBy: function(method, tag, root) {
+         tag = tag || '*';
+         root = util.Dom.get(root) || document;
+
+         var nodes = [];
+         var elements = root.getElementsByTagName(tag);
+
+         if ( !elements.length && (tag == '*' && root.all) ) {
+            elements = root.all; // IE < 6
+         }
+
+         for (var i = 0, len = elements.length; i < len; ++i)
+         {
+            if ( method(elements[i]) ) { nodes[nodes.length] = elements[i]; }
+         }
+
+
+         return nodes;
+      },
+
+      /**
+       * Returns an array of elements that have had the supplied method applied.
+       * The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) )
+       * @param {String/HTMLElement/Array} el (optional) An element or array of elements to apply the method to
+       * @param {Function} method The method to apply to the element(s)
+       * @param {Generic} (optional) o An optional arg that is passed to the supplied method
+       * @param {Boolean} (optional) override Whether or not to override the scope of "method" with "o"
+       * @return {HTMLElement/Array} The element(s) with the method applied
+       */
+      batch: function(el, method, o, override) {
+         var id = el;
+         el = util.Dom.get(el);
+
+         var scope = (override) ? o : window;
+
+         if (!el || el.tagName || !el.length) { // is null or not a collection (tagName for SELECT and others that can be both an element and a collection)
+            if (!el) {
+               return false;
+            }
+            return method.call(scope, el, o);
+         }
+
+         var collection = [];
+
+         for (var i = 0, len = el.length; i < len; ++i) {
+            if (!el[i]) {
+               id = id[i];
+            }
+            collection[collection.length] = method.call(scope, el[i], o);
+         }
+
+         return collection;
+      },
+
+      /**
+       * Returns the height of the document.
+       * @return {Int} The height of the actual document (which includes the body and its margin).
+       */
+      getDocumentHeight: function() {
+         var scrollHeight=-1,windowHeight=-1,bodyHeight=-1;
+         var marginTop = parseInt(util.Dom.getStyle(document.body, 'marginTop'), 10);
+         var marginBottom = parseInt(util.Dom.getStyle(document.body, 'marginBottom'), 10);
+
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) { // (IE, Gecko)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  scrollHeight = ((window.innerHeight && window.scrollMaxY) ?  window.innerHeight+window.scrollMaxY : -1);
+                  windowHeight = [document.documentElement.clientHeight,self.innerHeight||-1].sort(function(a, b){return(a-b);})[1];
+                  bodyHeight = document.body.offsetHeight + marginTop + marginBottom;
+                  break;
+
+               default: // Quirks
+                  scrollHeight = document.body.scrollHeight;
+                  bodyHeight = document.body.clientHeight;
+            }
+         } else { // Safari & Opera
+            scrollHeight = document.documentElement.scrollHeight;
+            windowHeight = self.innerHeight;
+            bodyHeight = document.documentElement.clientHeight;
+         }
+
+         var h = [scrollHeight,windowHeight,bodyHeight].sort(function(a, b){return(a-b);});
+         return h[2];
+      },
+
+      /**
+       * Returns the width of the document.
+       * @return {Int} The width of the actual document (which includes the body and its margin).
+       */
+      getDocumentWidth: function() {
+         var docWidth=-1,bodyWidth=-1,winWidth=-1;
+         var marginRight = parseInt(util.Dom.getStyle(document.body, 'marginRight'), 10);
+         var marginLeft = parseInt(util.Dom.getStyle(document.body, 'marginLeft'), 10);
+
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  docWidth = document.documentElement.clientWidth;
+                  bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+                  break;
+
+               default: // Quirks
+                  bodyWidth = document.body.clientWidth;
+                  docWidth = document.body.scrollWidth;
+                  break;
+            }
+         } else { // Safari
+            docWidth = document.documentElement.clientWidth;
+            bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+         }
+
+         var w = Math.max(docWidth, bodyWidth);
+         return w;
+      },
+
+      /**
+       * Returns the current height of the viewport.
+       * @return {Int} The height of the viewable area of the page (excludes scrollbars).
+       */
+      getViewportHeight: function() {
+         var height = -1;
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) {
+            switch (mode) { // (IE, Gecko)
+               case 'CSS1Compat': // Standards mode
+                  height = document.documentElement.clientHeight;
+                  break;
+
+               default: // Quirks
+                  height = document.body.clientHeight;
+            }
+         } else { // Safari, Opera
+            height = self.innerHeight;
+         }
+
+         return height;
+      },
+
+      /**
+       * Returns the current width of the viewport.
+       * @return {Int} The width of the viewable area of the page (excludes scrollbars).
+       */
+
+      getViewportWidth: function() {
+         var width = -1;
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+            case 'CSS1Compat': // Standards mode
+               width = document.documentElement.clientWidth;
+               break;
+
+            default: // Quirks
+               width = document.body.clientWidth;
+            }
+         } else { // Safari
+            width = self.innerWidth;
+         }
+         return width;
+      }
+   };
+}();
+
+/**
+ * @class A region is a representation of an object on a grid.  It is defined
+ * by the top, right, bottom, left extents, so is rectangular by default.  If
+ * other shapes are required, this class could be extended to support it.
+ *
+ * @param {int} t the top extent
+ * @param {int} r the right extent
+ * @param {int} b the bottom extent
+ * @param {int} l the left extent
+ * @constructor
+ */
+YAHOO.util.Region = function(t, r, b, l) {
+
+    /**
+     * The region's top extent
+     * @type int
+     */
+    this.top = t;
+
+    /**
+     * The region's top extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[1] = t;
+
+    /**
+     * The region's right extent
+     * @type int
+     */
+    this.right = r;
+
+    /**
+     * The region's bottom extent
+     * @type int
+     */
+    this.bottom = b;
+
+    /**
+     * The region's left extent
+     * @type int
+     */
+    this.left = l;
+
+    /**
+     * The region's left extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[0] = l;
+};
+
+/**
+ * Returns true if this region contains the region passed in
+ *
+ * @param  {Region}  region The region to evaluate
+ * @return {boolean}        True if the region is contained with this region,
+ *                          else false
+ */
+YAHOO.util.Region.prototype.contains = function(region) {
+    return ( region.left   >= this.left   &&
+             region.right  <= this.right  &&
+             region.top    >= this.top    &&
+             region.bottom <= this.bottom    );
+
+};
+
+/**
+ * Returns the area of the region
+ *
+ * @return {int} the region's area
+ */
+YAHOO.util.Region.prototype.getArea = function() {
+    return ( (this.bottom - this.top) * (this.right - this.left) );
+};
+
+/**
+ * Returns the region where the passed in region overlaps with this one
+ *
+ * @param  {Region} region The region that intersects
+ * @return {Region}        The overlap region, or null if there is no overlap
+ */
+YAHOO.util.Region.prototype.intersect = function(region) {
+    var t = Math.max( this.top,    region.top    );
+    var r = Math.min( this.right,  region.right  );
+    var b = Math.min( this.bottom, region.bottom );
+    var l = Math.max( this.left,   region.left   );
+
+    if (b >= t && r >= l) {
+        return new YAHOO.util.Region(t, r, b, l);
+    } else {
+        return null;
+    }
+};
+
+/**
+ * Returns the region representing the smallest region that can contain both
+ * the passed in region and this region.
+ *
+ * @param  {Region} region The region that to create the union with
+ * @return {Region}        The union region
+ */
+YAHOO.util.Region.prototype.union = function(region) {
+    var t = Math.min( this.top,    region.top    );
+    var r = Math.max( this.right,  region.right  );
+    var b = Math.max( this.bottom, region.bottom );
+    var l = Math.min( this.left,   region.left   );
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/**
+ * toString
+ * @return string the region properties
+ */
+YAHOO.util.Region.prototype.toString = function() {
+    return ( "Region {"    +
+             "top: "       + this.top    +
+             ", right: "   + this.right  +
+             ", bottom: "  + this.bottom +
+             ", left: "    + this.left   +
+             "}" );
+};
+
+/**
+ * Returns a region that is occupied by the DOM element
+ *
+ * @param  {HTMLElement} el The element
+ * @return {Region}         The region that the element occupies
+ * @static
+ */
+YAHOO.util.Region.getRegion = function(el) {
+    var p = YAHOO.util.Dom.getXY(el);
+
+    var t = p[1];
+    var r = p[0] + el.offsetWidth;
+    var b = p[1] + el.offsetHeight;
+    var l = p[0];
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @class
+ *
+ * A point is a region that is special in that it represents a single point on
+ * the grid.
+ *
+ * @param {int} x The X position of the point
+ * @param {int} y The Y position of the point
+ * @constructor
+ * @extends Region
+ */
+YAHOO.util.Point = function(x, y) {
+   if (x instanceof Array) { // accept output from Dom.getXY
+      y = x[1];
+      x = x[0];
+   }
+
+    /**
+     * The X position of the point, which is also the right, left and index zero (for Dom.getXY symmetry)
+     * @type int
+     */
+
+    this.x = this.right = this.left = this[0] = x;
+
+    /**
+     * The Y position of the point, which is also the top, bottom and index one (for Dom.getXY symmetry)
+     * @type int
+     */
+    this.y = this.top = this.bottom = this[1] = y;
+};
+
+YAHOO.util.Point.prototype = new YAHOO.util.Region();
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dragdrop.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2712 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * Defines the interface and base operation of items that that can be
+ * dragged or can be drop targets.  It was designed to be extended, overriding
+ * the event handlers for startDrag, onDrag, onDragOver, onDragOut.
+ * Up to three html elements can be associated with a DragDrop instance:
+ * <ul>
+ * <li>linked element: the element that is passed into the constructor.
+ * This is the element which defines the boundaries for interaction with
+ * other DragDrop objects.</li>
+ * <li>handle element(s): The drag operation only occurs if the element that
+ * was clicked matches a handle element.  By default this is the linked
+ * element, but there are times that you will want only a portion of the
+ * linked element to initiate the drag operation, and the setHandleElId()
+ * method provides a way to define this.</li>
+ * <li>drag element: this represents an the element that would be moved along
+ * with the cursor during a drag operation.  By default, this is the linked
+ * element itself as in {@link YAHOO.util.DD}.  setDragElId() lets you define
+ * a separate element that would be moved, as in {@link YAHOO.util.DDProxy}
+ * </li>
+ * </ul>
+ * This class should not be instantiated until the onload event to ensure that
+ * the associated elements are available.
+ * The following would define a DragDrop obj that would interact with any
+ * other * DragDrop obj in the "group1" group:
+ * <pre>
+ *  dd = new YAHOO.util.DragDrop("div1", "group1");
+ * </pre>
+ * Since none of the event handlers have been implemented, nothing would
+ * actually happen if you were to run the code above.  Normally you would
+ * override this class or one of the default implementations, but you can
+ * also override the methods you want on an instance of the class...
+ * <pre>
+ *  dd.onDragDrop = function(e, id) {
+ *   alert("dd was dropped on " + id);
+ *  }
+ * </pre>
+ * @constructor
+ * @param {String} id of the element that is linked to this instance
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DragDrop:
+ *                    padding, isTarget, maintainOffset, primaryButtonOnly
+ */
+YAHOO.util.DragDrop = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+YAHOO.util.DragDrop.prototype = {
+
+    /**
+     * The id of the element associated with this object.  This is what we
+     * refer to as the "linked element" because the size and position of
+     * this element is used to determine when the drag and drop objects have
+     * interacted.
+     *
+     * @type String
+     */
+    id: null,
+
+    /**
+     * Configuration attributes passed into the constructor
+     * @type object
+     */
+    config: null,
+
+    /**
+     * The id of the element that will be dragged.  By default this is same
+     * as the linked element , but could be changed to another element. Ex:
+     * YAHOO.util.DDProxy
+     *
+     * @type String
+     * @private
+     */
+    dragElId: null,
+
+    /**
+     * the id of the element that initiates the drag operation.  By default
+     * this is the linked element, but could be changed to be a child of this
+     * element.  This lets us do things like only starting the drag when the
+     * header element within the linked html element is clicked.
+     *
+     * @type String
+     * @private
+     */
+    handleElId: null,
+
+    /**
+     * An associative array of HTML tags that will be ignored if clicked.
+     * @type {string: string}
+     */
+    invalidHandleTypes: null,
+
+    /**
+     * An associative array of ids for elements that will be ignored if clicked
+     * @type {string: string}
+     */
+    invalidHandleIds: null,
+
+    /**
+     * An indexted array of css class names for elements that will be ignored
+     * if clicked.
+     * @type string[]
+     */
+    invalidHandleClasses: null,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageX: 0,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageY: 0,
+
+    /**
+     * The group defines a logical collection of DragDrop objects that are
+     * related.  Instances only get events when interacting with other
+     * DragDrop object in the same group.  This lets us define multiple
+     * groups using a single DragDrop subclass if we want.
+     * @type {string: string}
+     */
+    groups: null,
+
+    /**
+     * Individual drag/drop instances can be locked.  This will prevent
+     * onmousedown start drag.
+     *
+     * @type boolean
+     * @private
+     */
+    locked: false,
+
+    /**
+     * Lock this instance
+     */
+    lock: function() { this.locked = true; },
+
+    /**
+     * Unlock this instace
+     */
+    unlock: function() { this.locked = false; },
+
+    /**
+     * By default, all insances can be a drop target.  This can be disabled by
+     * setting isTarget to false.
+     *
+     * @type boolean
+     */
+    isTarget: true,
+
+    /**
+     * The padding configured for this drag and drop object for calculating
+     * the drop zone intersection with this object.
+     * @type int[]
+     */
+    padding: null,
+
+    /**
+     * @private
+     */
+    _domRef: null,
+
+    /**
+     * Internal typeof flag
+     * @private
+     */
+    __ygDragDrop: true,
+
+    /**
+     * Set to true when horizontal contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainX: false,
+
+    /**
+     * Set to true when vertical contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainY: false,
+
+    /**
+     * The left constraint
+     *
+     * @type int
+     * @private
+     */
+    minX: 0,
+
+    /**
+     * The right constraint
+     *
+     * @type int
+     * @private
+     */
+    maxX: 0,
+
+    /**
+     * The up constraint
+     *
+     * @type int
+     * @private
+     */
+    minY: 0,
+
+    /**
+     * The down constraint
+     *
+     * @type int
+     * @private
+     */
+    maxY: 0,
+
+    /**
+     * Maintain offsets when we resetconstraints.  Used to maintain the
+     * slider thumb value, and this needs to be fixed.
+     * @type boolean
+     */
+    maintainOffset: false,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * horizontal graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    xTicks: null,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * vertical graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    yTicks: null,
+
+    /**
+     * By default the drag and drop instance will only respond to the primary
+     * button click (left button for a right-handed mouse).  Set to true to
+     * allow drag and drop to start with any mouse click that is propogated
+     * by the browser
+     * @type boolean
+     */
+    primaryButtonOnly: true,
+
+    /**
+     * The availabe property is false until the linked dom element is accessible.
+     * @type boolean
+     */
+    available: false,
+
+    /**
+     * Code that executes immediately before the startDrag event
+     * @private
+     */
+    b4StartDrag: function(x, y) { },
+
+    /**
+     * Abstract method called after a drag/drop object is clicked
+     * and the drag or mousedown time thresholds have beeen met.
+     *
+     * @param {int} X click location
+     * @param {int} Y click location
+     */
+    startDrag: function(x, y) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDrag event
+     * @private
+     */
+    b4Drag: function(e) { },
+
+    /**
+     * Abstract method called during the onMouseMove event while dragging an
+     * object.
+     *
+     * @param {Event} e
+     */
+    onDrag: function(e) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragEnter event
+     * @private
+     */
+    // b4DragEnter: function(e) { },
+
+    /**
+     * Abstract method called when this element fist begins hovering over
+     * another DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of one or more
+     * dragdrop items being hovered over.
+     */
+    onDragEnter: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOver event
+     * @private
+     */
+    b4DragOver: function(e) { },
+
+    /**
+     * Abstract method called when this element is hovering over another
+     * DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of dd items
+     * being hovered over.
+     */
+    onDragOver: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOut event
+     * @private
+     */
+    b4DragOut: function(e) { },
+
+    /**
+     * Abstract method called when we are no longer hovering over an element
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was hovering over.  In INTERSECT mode, an array of dd items
+     * that the mouse is no longer over.
+     */
+    onDragOut: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragDrop event
+     * @private
+     */
+    b4DragDrop: function(e) { },
+
+    /**
+     * Abstract method called when this item is dropped on another DragDrop
+     * obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was dropped on.  In INTERSECT mode, an array of dd items this
+     * was dropped on.
+     */
+    onDragDrop: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the endDrag event
+     * @private
+     */
+    b4EndDrag: function(e) { },
+
+    /**
+     * Fired when we are done dragging the object
+     *
+     * @param {Event} e
+     */
+    endDrag: function(e) { /* override this */ },
+
+    /**
+     * Code executed immediately before the onMouseDown event
+
+     * @param {Event} e
+     * @private
+     */
+    b4MouseDown: function(e) {  },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mousedown
+     * @param {Event} e
+     */
+    onMouseDown: function(e) { /* override this */ },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mouseup
+     * @param {Event} e
+     */
+    onMouseUp: function(e) { /* override this */ },
+
+    /**
+     * Override the onAvailable method to do what is needed after the initial
+     * position was determined.
+     */
+    onAvailable: function () {
+    },
+
+    /**
+     * Returns a reference to the linked element
+     *
+     * @return {HTMLElement} the html element
+     */
+    getEl: function() {
+        if (!this._domRef) {
+            this._domRef = YAHOO.util.Dom.get(this.id);
+        }
+
+        return this._domRef;
+    },
+
+    /**
+     * Returns a reference to the actual element to drag.  By default this is
+     * the same as the html element, but it can be assigned to another
+     * element. An example of this can be found in YAHOO.util.DDProxy
+     *
+     * @return {HTMLElement} the html element
+     */
+    getDragEl: function() {
+        return YAHOO.util.Dom.get(this.dragElId);
+    },
+
+    /**
+     * Sets up the DragDrop object.  Must be called in the constructor of any
+     * YAHOO.util.DragDrop subclass
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    init: function(id, sGroup, config) {
+        this.initTarget(id, sGroup, config);
+        YAHOO.util.Event.addListener(this.id, "mousedown",
+                                          this.handleMouseDown, this, true);
+    },
+
+    /**
+     * Initializes Targeting functionality only... the object does not
+     * get a mousedown handler.
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    initTarget: function(id, sGroup, config) {
+
+        // configuration attributes
+        this.config = config || {};
+
+        // create a local reference to the drag and drop manager
+        this.DDM = YAHOO.util.DDM;
+        // initialize the groups array
+        this.groups = {};
+
+        // set the id
+        this.id = id;
+
+        // add to an interaction group
+        this.addToGroup((sGroup) ? sGroup : "default");
+
+        // We don't want to register this as the handle with the manager
+        // so we just set the id rather than calling the setter.
+        this.handleElId = id;
+
+        YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this, true);
+
+
+        // the linked element is the element that gets dragged by default
+        this.setDragElId(id);
+
+        // by default, clicked anchors will not start drag operations.
+        // @TODO what else should be here?  Probably form fields.
+        this.invalidHandleTypes = { A: "A" };
+        this.invalidHandleIds = {};
+        this.invalidHandleClasses = [];
+
+        this.applyConfig();
+    },
+
+    /**
+     * Applies the configuration parameters that were passed into the constructor.
+     * This is supposed to happen at each level through the inheritance chain.  So
+     * a DDProxy implentation will execute apply config on DDProxy, DD, and
+     * DragDrop in order to get all of the parameters that are available in
+     * each object.
+     */
+    applyConfig: function() {
+
+        // configurable properties:
+        //    padding, isTarget, maintainOffset, primaryButtonOnly
+        this.padding           = this.config.padding || [0, 0, 0, 0];
+        this.isTarget          = (this.config.isTarget !== false);
+        this.maintainOffset    = (this.config.maintainOffset);
+        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
+
+    },
+
+    /**
+     * Executed when the linked element is available
+     * @private
+     */
+    handleOnAvailable: function() {
+        this.available = true;
+        this.resetConstraints();
+        this.onAvailable();
+    },
+
+     /**
+     * Configures the padding for the target zone in px.  Effectively expands
+     * (or reduces) the virtual object size for targeting calculations.
+     * Supports css-style shorthand; if only one parameter is passed, all sides
+     * will have that padding, and if only two are passed, the top and bottom
+     * will have the first param, the left and right the second.
+     * @param {int} iTop    Top pad
+     * @param {int} iRight  Right pad
+     * @param {int} iBot    Bot pad
+     * @param {int} iLeft   Left pad
+     */
+    setPadding: function(iTop, iRight, iBot, iLeft) {
+        // this.padding = [iLeft, iRight, iTop, iBot];
+        if (!iRight && 0 !== iRight) {
+            this.padding = [iTop, iTop, iTop, iTop];
+        } else if (!iBot && 0 !== iBot) {
+            this.padding = [iTop, iRight, iTop, iRight];
+        } else {
+            this.padding = [iTop, iRight, iBot, iLeft];
+        }
+    },
+
+    /**
+     * Stores the initial placement of the dd element
+     */
+    setInitPosition: function(diffX, diffY) {
+        var el = this.getEl();
+
+        if (!this.DDM.verifyEl(el)) {
+            return;
+        }
+
+        var dx = diffX || 0;
+        var dy = diffY || 0;
+
+        var p = YAHOO.util.Dom.getXY( el );
+
+        this.initPageX = p[0] - dx;
+        this.initPageY = p[1] - dy;
+
+        this.lastPageX = p[0];
+        this.lastPageY = p[1];
+
+
+        this.setStartPosition(p);
+    },
+
+    /**
+     * Sets the start position of the element.  This is set when the obj
+     * is initialized, the reset when a drag is started.
+     * @param pos current position (from previous lookup)
+     * @private
+     */
+    setStartPosition: function(pos) {
+        var p = pos || YAHOO.util.Dom.getXY( this.getEl() );
+        this.deltaSetXY = null;
+
+        this.startPageX = p[0];
+        this.startPageY = p[1];
+    },
+
+    /**
+     * Add this instance to a group of related drag/drop objects.  All
+     * instances belong to at least one group, and can belong to as many
+     * groups as needed.
+     *
+     * @param sGroup {string} the name of the group
+     */
+    addToGroup: function(sGroup) {
+        this.groups[sGroup] = true;
+        this.DDM.regDragDrop(this, sGroup);
+    },
+
+    /**
+     * Remove's this instance from the supplied interaction group
+     * @param {string}  sGroup  The group to drop
+     */
+    removeFromGroup: function(sGroup) {
+        if (this.groups[sGroup]) {
+            delete this.groups[sGroup];
+        }
+
+        this.DDM.removeDDFromGroup(this, sGroup);
+    },
+
+    /**
+     * Allows you to specify that an element other than the linked element
+     * will be moved with the cursor during a drag
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setDragElId: function(id) {
+        this.dragElId = id;
+    },
+
+    /**
+     * Allows you to specify a child of the linked element that should be
+     * used to initiate the drag operation.  An example of this would be if
+     * you have a content div with text and links.  Clicking anywhere in the
+     * content area would normally start the drag operation.  Use this method
+     * to specify that an element inside of the content div is the element
+     * that starts the drag operation.
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setHandleElId: function(id) {
+        this.handleElId = id;
+        this.DDM.regHandle(this.id, id);
+    },
+
+    /**
+     * Allows you to set an element outside of the linked element as a drag
+     * handle
+     */
+    setOuterHandleElId: function(id) {
+        YAHOO.util.Event.addListener(id, "mousedown",
+                this.handleMouseDown, this, true);
+        this.setHandleElId(id);
+    },
+
+    /**
+     * Remove all drag and drop hooks for this element
+     */
+    unreg: function() {
+        YAHOO.util.Event.removeListener(this.id, "mousedown",
+                this.handleMouseDown);
+        this._domRef = null;
+        this.DDM._remove(this);
+    },
+
+    /**
+     * Returns true if this instance is locked, or the drag drop mgr is locked
+     * (meaning that all drag/drop is disabled on the page.)
+     *
+     * @return {boolean} true if this obj or all drag/drop is locked, else
+     * false
+     */
+    isLocked: function() {
+        return (this.DDM.isLocked() || this.locked);
+    },
+
+    /**
+     * Fired when this object is clicked
+     *
+     * @param {Event} e
+     * @param {YAHOO.util.DragDrop} oDD the clicked dd object (this dd obj)
+     * @private
+     */
+    handleMouseDown: function(e, oDD) {
+
+
+        var EU = YAHOO.util.Event;
+
+        var button = e.which || e.button;
+
+        if (this.primaryButtonOnly && button > 1) {
+            return;
+        }
+
+        if (this.isLocked()) {
+            return;
+        }
+
+        this.DDM.refreshCache(this.groups);
+        // var self = this;
+        // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0);
+
+        // Only process the event if we really clicked within the linked
+        // element.  The reason we make this check is that in the case that
+        // another element was moved between the clicked element and the
+        // cursor in the time between the mousedown and mouseup events. When
+        // this happens, the element gets the next mousedown event
+        // regardless of where on the screen it happened.
+        var pt = new YAHOO.util.Point(EU.getPageX(e), EU.getPageY(e));
+        if ( !this.DDM.isOverTarget(pt, this) )  {
+        } else {
+
+
+            //  check to see if the handle was clicked
+            var srcEl = EU.getTarget(e);
+
+            if (this.isValidHandleChild(srcEl) &&
+                    (this.id == this.handleElId ||
+                     this.DDM.handleWasClicked(srcEl, this.id)) ) {
+
+
+                // set the initial element position
+                this.setStartPosition();
+
+
+                this.b4MouseDown(e);
+                this.onMouseDown(e);
+                this.DDM.handleMouseDown(e, this);
+
+                this.DDM.stopEvent(e);
+            }
+        }
+    },
+
+    /**
+     * Allows you to specify a tag name that should not start a drag operation
+     * when clicked.  This is designed to facilitate embedding links within a
+     * drag handle that do something other than start the drag.
+     *
+     * @param {string} tagName the type of element to exclude
+     */
+    addInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        this.invalidHandleTypes[type] = type;
+    },
+
+    /**
+     * Lets you to specify an element id for a child of a drag handle
+     * that should not initiate a drag
+     * @param {string} id the element id of the element you wish to ignore
+     */
+    addInvalidHandleId: function(id) {
+        this.invalidHandleIds[id] = id;
+    },
+
+    /**
+     * Lets you specify a css class of elements that will not initiate a drag
+     * @param {string} cssClass the class of the elements you wish to ignore
+     */
+    addInvalidHandleClass: function(cssClass) {
+        this.invalidHandleClasses.push(cssClass);
+    },
+
+    /**
+     * Unsets an excluded tag name set by addInvalidHandleType
+     *
+     * @param {string} tagName the type of element to unexclude
+     */
+    removeInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        // this.invalidHandleTypes[type] = null;
+        delete this.invalidHandleTypes[type];
+    },
+
+    /**
+     * Unsets an invalid handle id
+     * @param {string} the id of the element to re-enable
+     */
+    removeInvalidHandleId: function(id) {
+        delete this.invalidHandleIds[id];
+    },
+
+    /**
+     * Unsets an invalid css class
+     * @param {string} the class of the element(s) you wish to re-enable
+     */
+    removeInvalidHandleClass: function(cssClass) {
+        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
+            if (this.invalidHandleClasses[i] == cssClass) {
+                delete this.invalidHandleClasses[i];
+            }
+        }
+    },
+
+    /**
+     * Checks the tag exclusion list to see if this click should be ignored
+     *
+     * @param {ygNode} node
+     * @return {boolean} true if this is a valid tag type, false if not
+     */
+    isValidHandleChild: function(node) {
+
+        var valid = true;
+        // var n = (node.nodeName == "#text") ? node.parentNode : node;
+        var nodeName;
+        try {
+            nodeName = node.nodeName.toUpperCase();
+        } catch(e) {
+            nodeName = node.nodeName;
+        }
+        valid = valid && !this.invalidHandleTypes[nodeName];
+        valid = valid && !this.invalidHandleIds[node.id];
+
+        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
+            valid = !YAHOO.util.Dom.hasClass(node, this.invalidHandleClasses[i]);
+        }
+
+
+        return valid;
+
+    },
+
+    /**
+     * Create the array of horizontal tick marks if an interval was specified
+     * in setXConstraint().
+     *
+     * @private
+     */
+    setXTicks: function(iStartX, iTickSize) {
+        this.xTicks = [];
+        this.xTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.xTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * Create the array of vertical tick marks if an interval was specified in
+     * setYConstraint().
+     *
+     * @private
+     */
+    setYTicks: function(iStartY, iTickSize) {
+        this.yTicks = [];
+        this.yTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.yTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Use
+     * this method to limit the horizontal travel of the element.  Pass in
+     * 0,0 for the parameters if you want to lock the drag to the y axis.
+     *
+     * @param {int} iLeft the number of pixels the element can move to the left
+     * @param {int} iRight the number of pixels the element can move to the
+     * right
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element
+     * should move iTickSize pixels at a time.
+     */
+    setXConstraint: function(iLeft, iRight, iTickSize) {
+        this.leftConstraint = iLeft;
+        this.rightConstraint = iRight;
+
+        this.minX = this.initPageX - iLeft;
+        this.maxX = this.initPageX + iRight;
+        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
+
+        this.constrainX = true;
+    },
+
+    /**
+     * Clears any constraints applied to this instance.  Also clears ticks
+     * since they can't exist independent of a constraint at this time.
+     */
+    clearConstraints: function() {
+        this.constrainX = false;
+        this.constrainY = false;
+        this.clearTicks();
+    },
+
+    /**
+     * Clears any tick interval defined for this instance
+     */
+    clearTicks: function() {
+        this.xTicks = null;
+        this.yTicks = null;
+        this.xTickSize = 0;
+        this.yTickSize = 0;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Set
+     * this to limit the vertical travel of the element.  Pass in 0,0 for the
+     * parameters if you want to lock the drag to the x axis.
+     *
+     * @param {int} iUp the number of pixels the element can move up
+     * @param {int} iDown the number of pixels the element can move down
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element should move iTickSize pixels at a time.
+     */
+    setYConstraint: function(iUp, iDown, iTickSize) {
+        this.topConstraint = iUp;
+        this.bottomConstraint = iDown;
+
+        this.minY = this.initPageY - iUp;
+        this.maxY = this.initPageY + iDown;
+        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
+
+        this.constrainY = true;
+
+    },
+
+    /**
+     * resetConstraints must be called if you manually reposition a dd element.
+     * @param {boolean} maintainOffset
+     */
+    resetConstraints: function() {
+
+
+        // Maintain offsets if necessary
+        if (this.initPageX || this.initPageX === 0) {
+            // figure out how much this thing has moved
+            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
+            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
+
+            this.setInitPosition(dx, dy);
+
+        // This is the first time we have detected the element's position
+        } else {
+            this.setInitPosition();
+        }
+
+        if (this.constrainX) {
+            this.setXConstraint( this.leftConstraint,
+                                 this.rightConstraint,
+                                 this.xTickSize        );
+        }
+
+        if (this.constrainY) {
+            this.setYConstraint( this.topConstraint,
+                                 this.bottomConstraint,
+                                 this.yTickSize         );
+        }
+    },
+
+    /**
+     * Normally the drag element is moved pixel by pixel, but we can specify
+     * that it move a number of pixels at a time.  This method resolves the
+     * location when we have it set up like this.
+     *
+     * @param {int} val where we want to place the object
+     * @param {int[]} tickArray sorted array of valid points
+     * @return {int} the closest tick
+     * @private
+     */
+    getTick: function(val, tickArray) {
+
+        if (!tickArray) {
+            // If tick interval is not defined, it is effectively 1 pixel,
+            // so we return the value passed to us.
+            return val;
+        } else if (tickArray[0] >= val) {
+            // The value is lower than the first tick, so we return the first
+            // tick.
+            return tickArray[0];
+        } else {
+            for (var i=0, len=tickArray.length; i<len; ++i) {
+                var next = i + 1;
+                if (tickArray[next] && tickArray[next] >= val) {
+                    var diff1 = val - tickArray[i];
+                    var diff2 = tickArray[next] - val;
+                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
+                }
+            }
+
+            // The value is larger than the last tick, so we return the last
+            // tick.
+            return tickArray[tickArray.length - 1];
+        }
+    },
+
+    /**
+     * toString method
+     * @return {string} string representation of the dd obj
+     */
+    toString: function() {
+        return ("DragDrop " + this.id);
+    }
+
+};
+
+// Only load the library once.  Rewriting the manager class would orphan
+// existing drag and drop instances.
+if (!YAHOO.util.DragDropMgr) {
+
+    /**
+     * Handles the element interaction for all DragDrop items in the
+     * window.  Generally, you will not call this class directly, but it does
+     * have helper methods that could be useful in your DragDrop
+     * implementations.  This class should not be instantiated; all methods
+     * are are static.
+     *
+     * @constructor
+     */
+    YAHOO.util.DragDropMgr = new function() {
+
+        /**
+         * Two dimensional Array of registered DragDrop objects.  The first
+         * dimension is the DragDrop item group, the second the DragDrop
+         * object.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.ids = {};
+
+        /**
+         * Array of element ids defined as drag handles.  Used to determine
+         * if the element that generated the mousedown event is actually the
+         * handle and not the html element itself.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.handleIds = {};
+
+        /**
+         * the DragDrop object that is currently being dragged
+         *
+         * @type DragDrop
+         * @private
+         **/
+        this.dragCurrent = null;
+
+        /**
+         * the DragDrop object(s) that are being hovered over
+         *
+         * @type Array
+         * @private
+         */
+        this.dragOvers = {};
+
+        /**
+         * @private
+         */
+
+        /**
+         * the X distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaX = 0;
+
+        /**
+         * the Y distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaY = 0;
+
+        /**
+         * Flag to determine if we should prevent the default behavior of the
+         * events we define. By default this is true, but this can be set to
+         * false if you need the default behavior (not recommended)
+         *
+         * @type boolean
+         */
+        this.preventDefault = true;
+
+        /**
+         * Flag to determine if we should stop the propagation of the events
+         * we generate. This is true by default but you may want to set it to
+         * false if the html element contains other features that require the
+         * mouse click.
+         *
+         * @type boolean
+         */
+        this.stopPropagation = true;
+
+        /**
+         * @private
+         */
+        this.initalized = false;
+
+        /**
+         * All drag and drop can be disabled.
+         *
+         * @private
+         */
+        this.locked = false;
+
+        /**
+         * Called the first time an element is registered.
+         *
+         * @private
+         */
+        this.init = function() {
+            this.initialized = true;
+        };
+
+        /**
+         * In point mode, drag and drop interaction is defined by the
+         * location of the cursor during the drag/drop
+         * @type int
+         */
+        this.POINT     = 0;
+
+        /**
+         * In intersect mode, drag and drop interactio nis defined by the
+         * overlap of two or more drag and drop objects.
+         * @type int
+         */
+        this.INTERSECT = 1;
+
+        /**
+         * The current drag and drop mode.  Default it point mode
+         * @type int
+         */
+        this.mode = this.POINT;
+
+        /**
+         * Runs method on all drag and drop objects
+         * @private
+         */
+        this._execOnAll = function(sMethod, args) {
+            for (var i in this.ids) {
+                for (var j in this.ids[i]) {
+                    var oDD = this.ids[i][j];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+                    oDD[sMethod].apply(oDD, args);
+                }
+            }
+        };
+
+        /**
+         * Drag and drop initialization.  Sets up the global event handlers
+         * @private
+         */
+        this._onLoad = function() {
+
+            this.init();
+
+
+            var EU = YAHOO.util.Event;
+
+            EU.on(document, "mouseup",   this.handleMouseUp, this, true);
+            EU.on(document, "mousemove", this.handleMouseMove, this, true);
+            EU.on(window,   "unload",    this._onUnload, this, true);
+            EU.on(window,   "resize",    this._onResize, this, true);
+            // EU.on(window,   "mouseout",    this._test);
+
+        };
+
+        /**
+         * Reset constraints on all drag and drop objs
+         * @private
+         */
+        this._onResize = function(e) {
+            this._execOnAll("resetConstraints", []);
+        };
+
+        /**
+         * Lock all drag and drop functionality
+         */
+        this.lock = function() { this.locked = true; };
+
+        /**
+         * Unlock all drag and drop functionality
+         */
+        this.unlock = function() { this.locked = false; };
+
+        /**
+         * Is drag and drop locked?
+         *
+         * @return {boolean} True if drag and drop is locked, false otherwise.
+         */
+        this.isLocked = function() { return this.locked; };
+
+        /**
+         * Location cache that is set for all drag drop objects when a drag is
+         * initiated, cleared when the drag is finished.
+         *
+         * @private
+         */
+        this.locationCache = {};
+
+        /**
+         * Set useCache to false if you want to force object the lookup of each
+         * drag and drop linked element constantly during a drag.
+         * @type boolean
+         */
+        this.useCache = true;
+
+        /**
+         * The number of pixels that the mouse needs to move after the
+         * mousedown before the drag is initiated.  Default=3;
+         * @type int
+         */
+        this.clickPixelThresh = 3;
+
+        /**
+         * The number of milliseconds after the mousedown event to initiate the
+         * drag if we don't get a mouseup event. Default=1000
+         * @type int
+         */
+        this.clickTimeThresh = 1000;
+
+        /**
+         * Flag that indicates that either the drag pixel threshold or the
+         * mousdown time threshold has been met
+         * @type boolean
+         * @private
+         */
+        this.dragThreshMet = false;
+
+        /**
+         * Timeout used for the click time threshold
+         * @type Object
+         * @private
+         */
+        this.clickTimeout = null;
+
+        /**
+         * The X position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startX = 0;
+
+        /**
+         * The Y position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startY = 0;
+
+        /**
+         * Each DragDrop instance must be registered with the DragDropMgr.
+         * This is executed in DragDrop.init()
+         *
+         * @param {DragDrop} oDD the DragDrop object to register
+         * @param {String} sGroup the name of the group this element belongs to
+         */
+        this.regDragDrop = function(oDD, sGroup) {
+            if (!this.initialized) { this.init(); }
+
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+            this.ids[sGroup][oDD.id] = oDD;
+        };
+
+        /**
+         * Removes the supplied dd instance from the supplied group. Executed
+         * by DragDrop.removeFromGroup.
+         * @private
+         */
+        this.removeDDFromGroup = function(oDD, sGroup) {
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+
+            var obj = this.ids[sGroup];
+            if (obj && obj[oDD.id]) {
+                delete obj[oDD.id];
+            }
+        };
+
+        /**
+         * Unregisters a drag and drop item.  This is executed in
+         * DragDrop.unreg, use that method instead of calling this directly.
+         * @private
+         */
+        this._remove = function(oDD) {
+            for (var g in oDD.groups) {
+                if (g && this.ids[g][oDD.id]) {
+                    delete this.ids[g][oDD.id];
+                }
+            }
+            delete this.handleIds[oDD.id];
+        };
+
+        /**
+         * Each DragDrop handle element must be registered.  This is done
+         * automatically when executing DragDrop.setHandleElId()
+         *
+         * @param {String} sDDId the DragDrop id this element is a handle for
+         * @param {String} sHandleId the id of the element that is the drag
+         * handle
+         */
+        this.regHandle = function(sDDId, sHandleId) {
+            if (!this.handleIds[sDDId]) {
+                this.handleIds[sDDId] = {};
+            }
+            this.handleIds[sDDId][sHandleId] = sHandleId;
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop item.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop item,
+         * false otherwise
+         */
+        this.isDragDrop = function(id) {
+            return ( this.getDDById(id) ) ? true : false;
+        };
+
+        /**
+         * Returns the drag and drop instances that are in all groups the
+         * passed in instance belongs to.
+         *
+         * @param {DragDrop} p_oDD the obj to get related data for
+         * @param {boolean} bTargetsOnly if true, only return targetable objs
+         * @return {DragDrop[]} the related instances
+         */
+        this.getRelated = function(p_oDD, bTargetsOnly) {
+            var oDDs = [];
+            for (var i in p_oDD.groups) {
+                for (j in this.ids[i]) {
+                    var dd = this.ids[i][j];
+                    if (! this.isTypeOfDD(dd)) {
+                        continue;
+                    }
+                    if (!bTargetsOnly || dd.isTarget) {
+                        oDDs[oDDs.length] = dd;
+                    }
+                }
+            }
+
+            return oDDs;
+        };
+
+        /**
+         * Returns true if the specified dd target is a legal target for
+         * the specifice drag obj
+         *
+         * @param {DragDrop} the drag obj
+         * @param {DragDrop) the target
+         * @return {boolean} true if the target is a legal target for the
+         * dd obj
+         */
+        this.isLegalTarget = function (oDD, oTargetDD) {
+            var targets = this.getRelated(oDD, true);
+            for (var i=0, len=targets.length;i<len;++i) {
+                if (targets[i].id == oTargetDD.id) {
+                    return true;
+                }
+            }
+
+            return false;
+        };
+
+        /**
+         * My goal is to be able to transparently determine if an object is
+         * typeof DragDrop, and the exact subclass of DragDrop.  typeof
+         * returns "object", oDD.constructor.toString() always returns
+         * "DragDrop" and not the name of the subclass.  So for now it just
+         * evaluates a well-known variable in DragDrop.
+         *
+         * @param {Object} the object to evaluate
+         * @return {boolean} true if typeof oDD = DragDrop
+         */
+        this.isTypeOfDD = function (oDD) {
+            return (oDD && oDD.__ygDragDrop);
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop handle for the given Drag Drop object.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop handle, false
+         * otherwise
+         */
+        this.isHandle = function(sDDId, sHandleId) {
+            return ( this.handleIds[sDDId] &&
+                            this.handleIds[sDDId][sHandleId] );
+        };
+
+        /**
+         * Returns the DragDrop instance for a given id
+         *
+         * @param {String} id the id of the DragDrop object
+         * @return {DragDrop} the drag drop object, null if it is not found
+         */
+        this.getDDById = function(id) {
+            for (var i in this.ids) {
+                if (this.ids[i][id]) {
+                    return this.ids[i][id];
+                }
+            }
+            return null;
+        };
+
+        /**
+         * Fired after a registered DragDrop object gets the mousedown event.
+         * Sets up the events required to track the object being dragged
+         *
+         * @param {Event} e the event
+         * @param oDD the DragDrop object being dragged
+         * @private
+         */
+        this.handleMouseDown = function(e, oDD) {
+
+            this.currentTarget = YAHOO.util.Event.getTarget(e);
+
+            this.dragCurrent = oDD;
+
+            var el = oDD.getEl();
+
+            // track start position
+            this.startX = YAHOO.util.Event.getPageX(e);
+            this.startY = YAHOO.util.Event.getPageY(e);
+
+            this.deltaX = this.startX - el.offsetLeft;
+            this.deltaY = this.startY - el.offsetTop;
+
+            this.dragThreshMet = false;
+
+            this.clickTimeout = setTimeout(
+                    function() {
+                        var DDM = YAHOO.util.DDM;
+                        DDM.startDrag(DDM.startX, DDM.startY);
+                    },
+                    this.clickTimeThresh );
+        };
+
+        /**
+         * Fired when either the drag pixel threshol or the mousedown hold
+         * time threshold has been met.
+         *
+         * @param x {int} the X position of the original mousedown
+         * @param y {int} the Y position of the original mousedown
+         */
+        this.startDrag = function(x, y) {
+            clearTimeout(this.clickTimeout);
+            if (this.dragCurrent) {
+                this.dragCurrent.b4StartDrag(x, y);
+                this.dragCurrent.startDrag(x, y);
+            }
+            this.dragThreshMet = true;
+        };
+
+        /**
+         * Internal function to handle the mouseup event.  Will be invoked
+         * from the context of the document.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseUp = function(e) {
+
+            if (! this.dragCurrent) {
+                return;
+            }
+
+            clearTimeout(this.clickTimeout);
+
+            if (this.dragThreshMet) {
+                this.fireEvents(e, true);
+            } else {
+            }
+
+            this.stopDrag(e);
+
+            this.stopEvent(e);
+        };
+
+        /**
+         * Utility to stop event propagation and event default, if these
+         * features are turned on.
+         *
+         * @param {Event} e the event as returned by this.getEvent()
+         */
+        this.stopEvent = function(e) {
+            if (this.stopPropagation) {
+                YAHOO.util.Event.stopPropagation(e);
+            }
+
+            if (this.preventDefault) {
+                YAHOO.util.Event.preventDefault(e);
+            }
+        };
+
+        /**
+         * Internal function to clean up event handlers after the drag
+         * operation is complete
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.stopDrag = function(e) {
+
+            // Fire the drag end event for the item that was dragged
+            if (this.dragCurrent) {
+                if (this.dragThreshMet) {
+                    this.dragCurrent.b4EndDrag(e);
+                    this.dragCurrent.endDrag(e);
+                }
+
+                this.dragCurrent.onMouseUp(e);
+            }
+
+            this.dragCurrent = null;
+            this.dragOvers = {};
+        };
+
+        /**
+         * Internal function to handle the mousemove event.  Will be invoked
+         * from the context of the html element.
+         *
+         * @TODO figure out what we can do about mouse events lost when the
+         * user drags objects beyond the window boundary.  Currently we can
+         * detect this in internet explorer by verifying that the mouse is
+         * down during the mousemove event.  Firefox doesn't give us the
+         * button state on the mousemove event.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseMove = function(e) {
+            if (! this.dragCurrent) {
+                return true;
+            }
+
+            // var button = e.which || e.button;
+
+            // check for IE mouseup outside of page boundary
+            if (YAHOO.util.Event.isIE && !e.button) {
+                this.stopEvent(e);
+                return this.handleMouseUp(e);
+            }
+
+            if (!this.dragThreshMet) {
+                var diffX = Math.abs(this.startX - YAHOO.util.Event.getPageX(e));
+                var diffY = Math.abs(this.startY - YAHOO.util.Event.getPageY(e));
+                if (diffX > this.clickPixelThresh ||
+                            diffY > this.clickPixelThresh) {
+                    this.startDrag(this.startX, this.startY);
+                }
+            }
+
+            if (this.dragThreshMet) {
+                this.dragCurrent.b4Drag(e);
+                this.dragCurrent.onDrag(e);
+                this.fireEvents(e, false);
+            }
+
+            this.stopEvent(e);
+
+            return true;
+        };
+
+        /**
+         * Iterates over all of the DragDrop elements to find ones we are
+         * hovering over or dropping on
+         *
+         * @param {Event} e the event
+         * @param {boolean} isDrop is this a drop op or a mouseover op?
+         * @private
+         */
+        this.fireEvents = function(e, isDrop) {
+            var dc = this.dragCurrent;
+
+            // If the user did the mouse up outside of the window, we could
+            // get here even though we have ended the drag.
+            if (!dc || dc.isLocked()) {
+                return;
+            }
+
+            var x = YAHOO.util.Event.getPageX(e);
+            var y = YAHOO.util.Event.getPageY(e);
+            var pt = new YAHOO.util.Point(x,y);
+
+            // cache the previous dragOver array
+            var oldOvers = [];
+
+            var outEvts   = [];
+            var overEvts  = [];
+            var dropEvts  = [];
+            var enterEvts = [];
+
+            // Check to see if the object(s) we were hovering over is no longer
+            // being hovered over so we can fire the onDragOut event
+            for (var i in this.dragOvers) {
+
+                var ddo = this.dragOvers[i];
+
+                if (! this.isTypeOfDD(ddo)) {
+                    continue;
+                }
+
+                if (! this.isOverTarget(pt, ddo, this.mode)) {
+                    outEvts.push( ddo );
+                }
+
+                oldOvers[i] = true;
+                delete this.dragOvers[i];
+            }
+
+            for (var sGroup in dc.groups) {
+
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+
+                for (i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+
+                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
+                        if (this.isOverTarget(pt, oDD, this.mode)) {
+                            // look for drop interactions
+                            if (isDrop) {
+                                dropEvts.push( oDD );
+                            // look for drag enter and drag over interactions
+                            } else {
+
+                                // initial drag over: dragEnter fires
+                                if (!oldOvers[oDD.id]) {
+                                    enterEvts.push( oDD );
+                                // subsequent drag overs: dragOver fires
+                                } else {
+                                    overEvts.push( oDD );
+                                }
+
+                                this.dragOvers[oDD.id] = oDD;
+                            }
+                        }
+                    }
+                }
+            }
+
+            if (this.mode) {
+                if (outEvts.length) {
+                    dc.b4DragOut(e, outEvts);
+                    dc.onDragOut(e, outEvts);
+                }
+
+                if (enterEvts.length) {
+                    dc.onDragEnter(e, enterEvts);
+                }
+
+                if (overEvts.length) {
+                    dc.b4DragOver(e, overEvts);
+                    dc.onDragOver(e, overEvts);
+                }
+
+                if (dropEvts.length) {
+                    dc.b4DragDrop(e, dropEvts);
+                    dc.onDragDrop(e, dropEvts);
+                }
+
+            } else {
+                // fire dragout events
+                var len = 0;
+                for (i=0, len=outEvts.length; i<len; ++i) {
+                    dc.b4DragOut(e, outEvts[i].id);
+                    dc.onDragOut(e, outEvts[i].id);
+                }
+
+                // fire enter events
+                for (i=0,len=enterEvts.length; i<len; ++i) {
+                    // dc.b4DragEnter(e, oDD.id);
+                    dc.onDragEnter(e, enterEvts[i].id);
+                }
+
+                // fire over events
+                for (i=0,len=overEvts.length; i<len; ++i) {
+                    dc.b4DragOver(e, overEvts[i].id);
+                    dc.onDragOver(e, overEvts[i].id);
+                }
+
+                // fire drop events
+                for (i=0, len=dropEvts.length; i<len; ++i) {
+                    dc.b4DragDrop(e, dropEvts[i].id);
+                    dc.onDragDrop(e, dropEvts[i].id);
+                }
+
+            }
+
+        };
+
+        /**
+         * Helper function for getting the best match from the list of drag
+         * and drop objects returned by the drag and drop events when we are
+         * in INTERSECT mode.  It returns either the first object that the
+         * cursor is over, or the object that has the greatest overlap with
+         * the dragged element.
+         *
+         * @param  {DragDrop[]} dds The array of drag and drop objects
+         * targeted
+         * @return {DragDrop}       The best single match
+         */
+        this.getBestMatch = function(dds) {
+            var winner = null;
+            // Return null if the input is not what we expect
+            //if (!dds || !dds.length || dds.length == 0) {
+               // winner = null;
+            // If there is only one item, it wins
+            //} else if (dds.length == 1) {
+
+            var len = dds.length;
+
+            if (len == 1) {
+                winner = dds[0];
+            } else {
+                // Loop through the targeted items
+                for (var i=0; i<len; ++i) {
+                    var dd = dds[i];
+                    // If the cursor is over the object, it wins.  If the
+                    // cursor is over multiple matches, the first one we come
+                    // to wins.
+                    if (dd.cursorIsOver) {
+                        winner = dd;
+                        break;
+                    // Otherwise the object with the most overlap wins
+                    } else {
+                        if (!winner ||
+                            winner.overlap.getArea() < dd.overlap.getArea()) {
+                            winner = dd;
+                        }
+                    }
+                }
+            }
+
+            return winner;
+        };
+
+        /**
+         * Refreshes the cache of the top-left and bottom-right points of the
+         * drag and drop objects in the specified group(s).  This is in the
+         * format that is stored in the drag and drop instance, so typical
+         * usage is:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache(ddinstance.groups);
+         *
+         * Alternatively:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache({group1:true, group2:true});
+         *
+         * @TODO this really should be an indexed array.  Alternatively this
+         * method could accept both.
+         *
+         * @param {Object} groups an associative array of groups to refresh
+         */
+        this.refreshCache = function(groups) {
+            for (var sGroup in groups) {
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+                for (var i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+
+                    if (this.isTypeOfDD(oDD)) {
+                    // if (this.isTypeOfDD(oDD) && oDD.isTarget) {
+                        var loc = this.getLocation(oDD);
+                        if (loc) {
+                            this.locationCache[oDD.id] = loc;
+                        } else {
+                            delete this.locationCache[oDD.id];
+                            // this will unregister the drag and drop object if
+                            // the element is not in a usable state
+                            // oDD.unreg();
+                        }
+                    }
+                }
+            }
+        };
+
+        /**
+         * This checks to make sure an element exists and is in the DOM.  The
+         * main purpose is to handle cases where innerHTML is used to remove
+         * drag and drop objects from the DOM.  IE provides an 'unspecified
+         * error' when trying to access the offsetParent of such an element
+         * @param {HTMLElement} el the element to check
+         * @return {boolean} true if the element looks usable
+         */
+        this.verifyEl = function(el) {
+            try {
+                if (el) {
+                    var parent = el.offsetParent;
+                    if (parent) {
+                        return true;
+                    }
+                }
+            } catch(e) {
+            }
+
+            return false;
+        };
+
+        /**
+         * Returns a Region object containing the drag and drop element's position
+         * and size, including the padding configured for it
+         *
+         * @param {DragDrop} oDD the drag and drop object to get the
+         *                       location for
+         * @return {YAHOO.util.Region} a Region object representing the total area
+         *                             the element occupies, including any padding
+         *                             the instance is configured for.
+         */
+        this.getLocation = function(oDD) {
+            if (! this.isTypeOfDD(oDD)) {
+                return null;
+            }
+
+            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
+
+            try {
+                pos= YAHOO.util.Dom.getXY(el);
+            } catch (e) { }
+
+            if (!pos) {
+                return null;
+            }
+
+            x1 = pos[0];
+            x2 = x1 + el.offsetWidth;
+            y1 = pos[1];
+            y2 = y1 + el.offsetHeight;
+
+            t = y1 - oDD.padding[0];
+            r = x2 + oDD.padding[1];
+            b = y2 + oDD.padding[2];
+            l = x1 - oDD.padding[3];
+
+            return new YAHOO.util.Region( t, r, b, l );
+        };
+
+        /**
+         * Checks the cursor location to see if it over the target
+         *
+         * @param {YAHOO.util.Point} pt The point to evaluate
+         * @param {DragDrop} oTarget the DragDrop object we are inspecting
+         * @return {boolean} true if the mouse is over the target
+         * @private
+         */
+        this.isOverTarget = function(pt, oTarget, intersect) {
+            // use cache if available
+            var loc = this.locationCache[oTarget.id];
+            if (!loc || !this.useCache) {
+                loc = this.getLocation(oTarget);
+                this.locationCache[oTarget.id] = loc;
+
+            }
+
+            if (!loc) {
+                return false;
+            }
+
+            oTarget.cursorIsOver = loc.contains( pt );
+
+            // DragDrop is using this as a sanity check for the initial mousedown
+            // in this case we are done.  In POINT mode, if the drag obj has no
+            // contraints, we are also done. Otherwise we need to evaluate the
+            // location of the target as related to the actual location of the
+            // dragged element.
+            var dc = this.dragCurrent;
+            if (!dc || !dc.getTargetCoord ||
+                    (!intersect && !dc.constrainX && !dc.constrainY)) {
+                return oTarget.cursorIsOver;
+            }
+
+            oTarget.overlap = null;
+
+            // Get the current location of the drag element, this is the
+            // location of the mouse event less the delta that represents
+            // where the original mousedown happened on the element.  We
+            // need to consider constraints and ticks as well.
+            var pos = dc.getTargetCoord(pt.x, pt.y);
+
+            var el = dc.getDragEl();
+            var curRegion = new YAHOO.util.Region( pos.y,
+                                                   pos.x + el.offsetWidth,
+                                                   pos.y + el.offsetHeight,
+                                                   pos.x );
+
+            var overlap = curRegion.intersect(loc);
+
+            if (overlap) {
+                oTarget.overlap = overlap;
+                return (intersect) ? true : oTarget.cursorIsOver;
+            } else {
+                return false;
+            }
+        };
+
+        /**
+         * @private
+         */
+        this._onUnload = function(e, me) {
+            this.unregAll();
+        };
+
+        /**
+         * Cleans up the drag and drop events and objects.
+         * @private
+         */
+        this.unregAll = function() {
+
+            if (this.dragCurrent) {
+                this.stopDrag();
+                this.dragCurrent = null;
+            }
+
+            this._execOnAll("unreg", []);
+
+            for (i in this.elementCache) {
+                delete this.elementCache[i];
+            }
+
+            this.elementCache = {};
+            this.ids = {};
+        };
+
+        /**
+         * A cache of DOM elements
+         * @private
+         */
+        this.elementCache = {};
+
+        /**
+         * Get the wrapper for the DOM element specified
+         *
+         * @param {String} id the id of the elment to get
+         * @return {YAHOO.util.DDM.ElementWrapper} the wrapped element
+         * @private
+         * @deprecated
+         */
+        this.getElWrapper = function(id) {
+            var oWrapper = this.elementCache[id];
+            if (!oWrapper || !oWrapper.el) {
+                oWrapper = this.elementCache[id] =
+                    new this.ElementWrapper(YAHOO.util.Dom.get(id));
+            }
+            return oWrapper;
+        };
+
+        /**
+         * Returns the actual DOM element
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The element
+         * @deprecated
+         */
+        this.getElement = function(id) {
+            return YAHOO.util.Dom.get(id);
+        };
+
+        /**
+         * Returns the style property for the DOM element (i.e.,
+         * document.getElById(id).style)
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The style property of the element
+         * @deprecated
+         */
+        this.getCss = function(id) {
+            var el = YAHOO.util.Dom.get(id);
+            return (el) ? el.style : null;
+        };
+
+        /**
+         * Inner class for cached elements
+         * @private
+         * @deprecated
+         */
+        this.ElementWrapper = function(el) {
+                /**
+                 * @private
+                 */
+                this.el = el || null;
+                /**
+                 * @private
+                 */
+                this.id = this.el && el.id;
+                /**
+                 * @private
+                 */
+                this.css = this.el && el.style;
+            };
+
+        /**
+         * Returns the X position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the X coordinate
+         * @deprecated
+         */
+        this.getPosX = function(el) {
+            return YAHOO.util.Dom.getX(el);
+        };
+
+        /**
+         * Returns the Y position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the Y coordinate
+         * @deprecated
+         */
+        this.getPosY = function(el) {
+            return YAHOO.util.Dom.getY(el);
+        };
+
+        /**
+         * Swap two nodes.  In IE, we use the native method, for others we
+         * emulate the IE behavior
+         *
+         * @param n1 the first node to swap
+         * @param n2 the other node to swap
+         */
+        this.swapNode = function(n1, n2) {
+            if (n1.swapNode) {
+                n1.swapNode(n2);
+            } else {
+                var p = n2.parentNode;
+                var s = n2.nextSibling;
+
+                if (s == n1) {
+                    p.insertBefore(n1, n2);
+                } else if (n2 == n1.nextSibling) {
+                    p.insertBefore(n2, n1);
+                } else {
+                    n1.parentNode.replaceChild(n2, n1);
+                    p.insertBefore(n1, s);
+                }
+            }
+        };
+
+        /**
+         * @private
+         */
+        this.getScroll = function () {
+            var t, l;
+            if (document.documentElement && document.documentElement.scrollTop) {
+                t = document.documentElement.scrollTop;
+                l = document.documentElement.scrollLeft;
+            } else if (document.body) {
+                t = document.body.scrollTop;
+                l = document.body.scrollLeft;
+            }
+            return { top: t, left: l };
+        };
+
+        /**
+         * Returns the specified element style property
+         * @param {HTMLElement} el          the element
+         * @param {string}      styleProp   the style property
+         * @return {string} The value of the style property
+         * @deprecated, use YAHOO.util.Dom.getStyle
+         */
+        this.getStyle = function(el, styleProp) {
+            return YAHOO.util.Dom.getStyle(el, styleProp);
+        };
+
+        /**
+         * Gets the scrollTop
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollTop = function () { return this.getScroll().top; };
+
+        /**
+         * Gets the scrollLeft
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollLeft = function () { return this.getScroll().left; };
+
+        /**
+         * Sets the x/y position of an element to the location of the
+         * target element.
+         * @param {HTMLElement} moveEl      The element to move
+         * @param {HTMLElement} targetEl    The position reference element
+         */
+        this.moveToEl = function (moveEl, targetEl) {
+            var aCoord = YAHOO.util.Dom.getXY(targetEl);
+            YAHOO.util.Dom.setXY(moveEl, aCoord);
+        };
+
+        /**
+         * Gets the client height
+         * @return {int} client height in px
+         * @deprecated
+         */
+        this.getClientHeight = function() {
+            return YAHOO.util.Dom.getClientHeight();
+        };
+
+        /**
+         * Gets the client width
+         * @return {int} client width in px
+         * @deprecated
+         */
+        this.getClientWidth = function() {
+            return YAHOO.util.Dom.getClientWidth();
+        };
+
+        /**
+         * numeric array sort function
+         */
+        this.numericSort = function(a, b) { return (a - b); };
+
+        /**
+         * @private
+         */
+        this._timeoutCount = 0;
+
+        /**
+         * Trying to make the load order less important.  Without this we get
+         * an error if this file is loaded before the Event Utility.
+         * @private
+         */
+        this._addListeners = function() {
+            var DDM = YAHOO.util.DDM;
+            if ( YAHOO.util.Event && document ) {
+                DDM._onLoad();
+            } else {
+                if (DDM._timeoutCount > 2000) {
+                } else {
+                    setTimeout(DDM._addListeners, 10);
+                    if (document && document.body) {
+                        DDM._timeoutCount += 1;
+                    }
+                }
+            }
+        };
+
+        /**
+         * Recursively searches the immediate parent and all child nodes for
+         * the handle element in order to determine wheter or not it was
+         * clicked.
+         * @param node the html element to inspect
+         */
+        this.handleWasClicked = function(node, id) {
+            if (this.isHandle(id, node.id)) {
+                return true;
+            } else {
+                // check to see if this is a text node child of the one we want
+                var p = node.parentNode;
+
+                while (p) {
+                    if (this.isHandle(id, p.id)) {
+                        return true;
+                    } else {
+                        p = p.parentNode;
+                    }
+                }
+            }
+
+            return false;
+        };
+
+    } ();
+
+    // shorter alias, save a few bytes
+    YAHOO.util.DDM = YAHOO.util.DragDropMgr;
+    YAHOO.util.DDM._addListeners();
+
+}
+
+//YAHOO.util.DragDropMgr.enableWindow = function(win) {
+    //var EU = YAHOO.util.Event;
+    //EU.on(win.document, "mouseup",   this.handleMouseUp,   this, true);
+    //EU.on(win.document, "mousemove", this.handleMouseMove, this, true);
+//};
+
+/**
+ * A DragDrop implementation where the linked element follows the
+ * mouse cursor during a drag.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the linked element
+ * @param {String} sGroup the group of related DragDrop items
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DD:
+ *                    scroll
+ */
+YAHOO.util.DD = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DD.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop);
+
+/**
+ * When set to true, the utility automatically tries to scroll the browser
+ * window wehn a drag and drop element is dragged near the viewport boundary.
+ * Defaults to true.
+ *
+ * @type boolean
+ */
+YAHOO.util.DD.prototype.scroll = true;
+
+/**
+ * Sets the pointer offset to the distance between the linked element's top
+ * left corner and the location the element was clicked
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ */
+YAHOO.util.DD.prototype.autoOffset = function(iPageX, iPageY) {
+    // var el = this.getEl();
+    // var aCoord = YAHOO.util.Dom.getXY(el);
+    // var x = iPageX - aCoord[0];
+    // var y = iPageY - aCoord[1];
+    var x = iPageX - this.startPageX;
+    var y = iPageY - this.startPageY;
+    this.setDelta(x, y);
+};
+
+/**
+ * Sets the pointer offset.  You can call this directly to force the offset to
+ * be in a particular location (e.g., pass in 0,0 to set it to the center of the
+ * object, as done in YAHOO.widget.Slider)
+ *
+ * @param {int} iDeltaX the distance from the left
+ * @param {int} iDeltaY the distance from the top
+ */
+YAHOO.util.DD.prototype.setDelta = function(iDeltaX, iDeltaY) {
+    this.deltaX = iDeltaX;
+    this.deltaY = iDeltaY;
+};
+
+/**
+ * Sets the drag element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+
+YAHOO.util.DD.prototype.setDragElPos = function(iPageX, iPageY) {
+    // the first time we do this, we are going to check to make sure
+    // the element has css positioning
+
+    var el = this.getDragEl();
+
+    // if (!this.cssVerified) {
+        // var pos = el.style.position;
+    // }
+
+    this.alignElWithMouse(el, iPageX, iPageY);
+};
+
+/**
+ * Sets the element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {HTMLElement} el the element to move
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+YAHOO.util.DD.prototype.alignElWithMouse = function(el, iPageX, iPageY) {
+    var oCoord = this.getTargetCoord(iPageX, iPageY);
+
+    // this.deltaSetXY = null;
+    if (!this.deltaSetXY) {
+        var aCoord = [oCoord.x, oCoord.y];
+        YAHOO.util.Dom.setXY(el, aCoord);
+        var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
+        var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );
+
+        this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
+
+    } else {
+        YAHOO.util.Dom.setStyle(el, "left", (oCoord.x + this.deltaSetXY[0]) + "px");
+        YAHOO.util.Dom.setStyle(el, "top",  (oCoord.y + this.deltaSetXY[1]) + "px");
+    }
+
+
+    this.cachePosition(oCoord.x, oCoord.y);
+
+    this.autoScroll(oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
+};
+
+/**
+ * Saves the most recent position so that we can reset the constraints and
+ * tick marks on-demand.  We need to know this so that we can calculate the
+ * number of pixels the element is offset from its original position.
+ */
+YAHOO.util.DD.prototype.cachePosition = function(iPageX, iPageY) {
+    if (iPageX) {
+        this.lastPageX = iPageX;
+        this.lastPageY = iPageY;
+    } else {
+        var aCoord = YAHOO.util.Dom.getXY(this.getEl());
+        this.lastPageX = aCoord[0];
+        this.lastPageY = aCoord[1];
+    }
+};
+
+/**
+ * Auto-scroll the window if the dragged object has been moved beyond the
+ * visible window boundary.
+ *
+ * @param {int} x the drag element's x position
+ * @param {int} y the drag element's y position
+ * @param {int} h the height of the drag element
+ * @param {int} w the width of the drag element
+ * @private
+ */
+YAHOO.util.DD.prototype.autoScroll = function(x, y, h, w) {
+
+    if (this.scroll) {
+        // The client height
+        var clientH = this.DDM.getClientHeight();
+
+        // The client width
+        var clientW = this.DDM.getClientWidth();
+
+        // The amt scrolled down
+        var st = this.DDM.getScrollTop();
+
+        // The amt scrolled right
+        var sl = this.DDM.getScrollLeft();
+
+        // Location of the bottom of the element
+        var bot = h + y;
+
+        // Location of the right of the element
+        var right = w + x;
+
+        // The distance from the cursor to the bottom of the visible area,
+        // adjusted so that we don't scroll if the cursor is beyond the
+        // element drag constraints
+        var toBot = (clientH + st - y - this.deltaY);
+
+        // The distance from the cursor to the right of the visible area
+        var toRight = (clientW + sl - x - this.deltaX);
+
+
+        // How close to the edge the cursor must be before we scroll
+        // var thresh = (document.all) ? 100 : 40;
+        var thresh = 40;
+
+        // How many pixels to scroll per autoscroll op.  This helps to reduce
+        // clunky scrolling. IE is more sensitive about this ... it needs this
+        // value to be higher.
+        var scrAmt = (document.all) ? 80 : 30;
+
+        // Scroll down if we are near the bottom of the visible page and the
+        // obj extends below the crease
+        if ( bot > clientH && toBot < thresh ) {
+            window.scrollTo(sl, st + scrAmt);
+        }
+
+        // Scroll up if the window is scrolled down and the top of the object
+        // goes above the top border
+        if ( y < st && st > 0 && y - st < thresh ) {
+            window.scrollTo(sl, st - scrAmt);
+        }
+
+        // Scroll right if the obj is beyond the right border and the cursor is
+        // near the border.
+        if ( right > clientW && toRight < thresh ) {
+            window.scrollTo(sl + scrAmt, st);
+        }
+
+        // Scroll left if the window has been scrolled to the right and the obj
+        // extends past the left border
+        if ( x < sl && sl > 0 && x - sl < thresh ) {
+            window.scrollTo(sl - scrAmt, st);
+        }
+    }
+};
+
+/**
+ * Finds the location the element should be placed if we want to move
+ * it to where the mouse location less the click offset would place us.
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ * @return an object that contains the coordinates (Object.x and Object.y)
+ * @private
+ */
+YAHOO.util.DD.prototype.getTargetCoord = function(iPageX, iPageY) {
+
+
+    var x = iPageX - this.deltaX;
+    var y = iPageY - this.deltaY;
+
+    if (this.constrainX) {
+        if (x < this.minX) { x = this.minX; }
+        if (x > this.maxX) { x = this.maxX; }
+    }
+
+    if (this.constrainY) {
+        if (y < this.minY) { y = this.minY; }
+        if (y > this.maxY) { y = this.maxY; }
+    }
+
+    x = this.getTick(x, this.xTicks);
+    y = this.getTick(y, this.yTicks);
+
+
+    return {x:x, y:y};
+};
+
+YAHOO.util.DD.prototype.applyConfig = function() {
+    YAHOO.util.DD.superclass.applyConfig.call(this);
+    this.scroll = (this.config.scroll !== false);
+};
+
+/**
+ * Event that fires prior to the onMouseDown event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4MouseDown = function(e) {
+    // this.resetConstraints();
+    this.autoOffset(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+/**
+ * Event that fires prior to the onDrag event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4Drag = function(e) {
+    this.setDragElPos(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+YAHOO.util.DD.prototype.toString = function() {
+    return ("DD " + this.id);
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Debugging ygDragDrop events that can be overridden
+///////////////////////////////////////////////////////////////////////////////
+/*
+YAHOO.util.DD.prototype.startDrag = function(x, y) {
+};
+
+YAHOO.util.DD.prototype.onDrag = function(e) {
+};
+
+YAHOO.util.DD.prototype.onDragEnter = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOver = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOut = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragDrop = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.endDrag = function(e) {
+};
+*/
+
+/**
+ * A DragDrop implementation that inserts an empty, bordered div into
+ * the document that follows the cursor during drag operations.  At the time of
+ * the click, the frame div is resized to the dimensions of the linked html
+ * element, and moved to the exact location of the linked element.
+ *
+ * References to the "frame" element refer to the single proxy element that
+ * was created to be dragged in place of all DDProxy elements on the
+ * page.
+ *
+ * @extends YAHOO.util.DD
+ * @constructor
+ * @param {String} id the id of the linked html element
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDProxy in addition to those in DragDrop:
+ *                   resizeFrame, centerFrame, dragElId
+ */
+YAHOO.util.DDProxy = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+        this.initFrame();
+    }
+};
+
+YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD);
+
+/**
+ * The default drag frame div id
+ * @type String
+ */
+YAHOO.util.DDProxy.dragElId = "ygddfdiv";
+
+/**
+ * By default we resize the drag frame to be the same size as the element
+ * we want to drag (this is to get the frame effect).  We can turn it off
+ * if we want a different behavior.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.resizeFrame = true;
+
+/**
+ * By default the frame is positioned exactly where the drag element is, so
+ * we use the cursor offset provided by YAHOO.util.DD.  Another option that works only if
+ * you do not have constraints on the obj is to have the drag frame centered
+ * around the cursor.  Set centerFrame to true for this effect.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.centerFrame = false;
+
+/**
+ * Create the drag frame if needed
+ */
+YAHOO.util.DDProxy.prototype.createFrame = function() {
+    var self = this;
+    var body = document.body;
+
+    if (!body || !body.firstChild) {
+        setTimeout( function() { self.createFrame(); }, 50 );
+        return;
+    }
+
+    var div = this.getDragEl();
+
+    if (!div) {
+        div    = document.createElement("div");
+        div.id = this.dragElId;
+        var s  = div.style;
+
+        s.position   = "absolute";
+        s.visibility = "hidden";
+        s.cursor     = "move";
+        s.border     = "2px solid #aaa";
+        s.zIndex     = 999;
+
+        // appendChild can blow up IE if invoked prior to the window load event
+        // while rendering a table.  It is possible there are other scenarios
+        // that would cause this to happen as well.
+        body.insertBefore(div, body.firstChild);
+    }
+};
+
+/**
+ * Initialization for the drag frame element.  Must be called in the
+ * constructor of all subclasses
+ */
+YAHOO.util.DDProxy.prototype.initFrame = function() {
+    // YAHOO.util.DDProxy.createFrame();
+    // this.setDragElId(YAHOO.util.DDProxy.dragElId);
+
+    this.createFrame();
+
+};
+
+YAHOO.util.DDProxy.prototype.applyConfig = function() {
+    YAHOO.util.DDProxy.superclass.applyConfig.call(this);
+
+    this.resizeFrame = (this.config.resizeFrame !== false);
+    this.centerFrame = (this.config.centerFrame);
+    this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId);
+
+};
+
+/**
+ * Resizes the drag frame to the dimensions of the clicked object, positions
+ * it over the object, and finally displays it
+ *
+ * @param {int} iPageX X click position
+ * @param {int} iPageY Y click position
+ * @private
+ */
+YAHOO.util.DDProxy.prototype.showFrame = function(iPageX, iPageY) {
+    var el = this.getEl();
+    var dragEl = this.getDragEl();
+    var s = dragEl.style;
+
+    this._resizeProxy();
+
+    if (this.centerFrame) {
+        this.setDelta( Math.round(parseInt(s.width,  10)/2),
+                       Math.round(parseInt(s.height, 10)/2) );
+    }
+
+    this.setDragElPos(iPageX, iPageY);
+
+    YAHOO.util.Dom.setStyle(dragEl, "visibility", "visible");
+};
+
+YAHOO.util.DDProxy.prototype._resizeProxy = function() {
+    if (this.resizeFrame) {
+        var DOM    = YAHOO.util.Dom;
+        var el     = this.getEl();
+        var dragEl = this.getDragEl();
+
+        var bt = parseInt( DOM.getStyle(dragEl, "borderTopWidth"    ), 10);
+        var br = parseInt( DOM.getStyle(dragEl, "borderRightWidth"  ), 10);
+        var bb = parseInt( DOM.getStyle(dragEl, "borderBottomWidth" ), 10);
+        var bl = parseInt( DOM.getStyle(dragEl, "borderLeftWidth"   ), 10);
+
+        if (isNaN(bt)) { bt = 0; }
+        if (isNaN(br)) { br = 0; }
+        if (isNaN(bb)) { bb = 0; }
+        if (isNaN(bl)) { bl = 0; }
+
+
+        var newWidth  = Math.max(0, el.offsetWidth  - br - bl);
+        var newHeight = Math.max(0, el.offsetHeight - bt - bb);
+
+
+        DOM.setStyle( dragEl, "width",  newWidth  + "px" );
+        DOM.setStyle( dragEl, "height", newHeight + "px" );
+    }
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4MouseDown = function(e) {
+    var x = YAHOO.util.Event.getPageX(e);
+    var y = YAHOO.util.Event.getPageY(e);
+    this.autoOffset(x, y);
+    this.setDragElPos(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4StartDrag = function(x, y) {
+    // show the drag frame
+    this.showFrame(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4EndDrag = function(e) {
+    YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden");
+};
+
+// overrides YAHOO.util.DragDrop
+// By default we try to move the element to the last location of the frame.
+// This is so that the default behavior mirrors that of YAHOO.util.DD.
+YAHOO.util.DDProxy.prototype.endDrag = function(e) {
+    var DOM = YAHOO.util.Dom;
+    var lel = this.getEl();
+    var del = this.getDragEl();
+
+    // Show the drag frame briefly so we can get its position
+    // del.style.visibility = "";
+    DOM.setStyle(del, "visibility", "");
+
+    // Hide the linked element before the move to get around a Safari
+    // rendering bug.
+    //lel.style.visibility = "hidden";
+    DOM.setStyle(lel, "visibility", "hidden");
+    YAHOO.util.DDM.moveToEl(lel, del);
+    //del.style.visibility = "hidden";
+    DOM.setStyle(del, "visibility", "hidden");
+    //lel.style.visibility = "";
+    DOM.setStyle(lel, "visibility", "");
+};
+
+YAHOO.util.DDProxy.prototype.toString = function() {
+    return ("DDProxy " + this.id);
+};
+
+/**
+ * A DragDrop implementation that does not move, but can be a drop
+ * target.  You would get the same result by simply omitting implementation
+ * for the event callbacks, but this way we reduce the processing cost of the
+ * event listener and the callbacks.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the element that is a drop target
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDTarget in addition to those in DragDrop:
+ *                  none
+ */
+
+YAHOO.util.DDTarget = function(id, sGroup, config) {
+    if (id) {
+        this.initTarget(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DDTarget.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop);
+
+YAHOO.util.DDTarget.prototype.toString = function() {
+    return ("DDTarget " + this.id);
+};
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/event.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1326 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The CustomEvent class lets you define events for your application
+ * that can be subscribed to by one or more independent component.
+ *
+ * @param {String}  type The type of event, which is passed to the callback
+ *                  when the event fires
+ * @param {Object}  oScope The context the event will fire from.  "this" will
+ *                  refer to this object in the callback.  Default value:
+ *                  the window object.  The listener can override this.
+ * @param {boolean} silent pass true to prevent the event from writing to
+ *                  the log system
+ * @namespace YAHOO.util
+ * @class CustomEvent
+ * @constructor
+ */
+YAHOO.util.CustomEvent = function(type, oScope, silent) {
+
+    /**
+     * The type of event, returned to subscribers when the event fires
+     * @property type
+     * @type string
+     */
+    this.type = type;
+
+    /**
+     * The scope the the event will fire from by default.  Defaults to the window
+     * obj
+     * @property scope
+     * @type object
+     */
+    this.scope = oScope || window;
+
+    /**
+     * By default all custom events are logged in the debug build, set silent
+     * to true to disable logging for this event.
+     * @property silent
+     * @type boolean
+     */
+    this.silent = silent;
+
+    /**
+     * The subscribers to this event
+     * @property subscribers
+     * @type Subscriber[]
+     */
+    this.subscribers = [];
+
+    if (!this.silent) {
+    }
+
+    // Only add subscribe events for events that are not generated by CustomEvent
+    //if (oScope && (oScope.constructor != this.constructor)) {
+
+        /*
+         * Custom events provide a custom event that fires whenever there is
+         * a new subscriber to the event.  This provides an opportunity to
+         * handle the case where there is a non-repeating event that has
+         * already fired has a new subscriber.
+         *
+         * type CustomEvent
+         */
+        //this.subscribeEvent =
+                //new YAHOO.util.CustomEvent("subscribe", this, true);
+
+    //}
+};
+
+YAHOO.util.CustomEvent.prototype = {
+    /**
+     * Subscribes the caller to this event
+     * @method subscribe
+     * @param {Function} fn       The function to execute
+     * @param {Object}   obj      An object to be passed along when the event fires
+     * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+     *                            scope of the listener
+     */
+    subscribe: function(fn, obj, bOverride) {
+        //if (this.subscribeEvent) {
+            //this.subscribeEvent.fire(fn, obj, bOverride);
+        //}
+
+        this.subscribers.push( new YAHOO.util.Subscriber(fn, obj, bOverride) );
+    },
+
+    /**
+     * Unsubscribes the caller from this event
+     * @method unsubscribe
+     * @param {Function} fn  The function to execute
+     * @param {Object}   obj An object to be passed along when the event fires
+     * @return {boolean} True if the subscriber was found and detached.
+     */
+    unsubscribe: function(fn, obj) {
+        var found = false;
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s && s.contains(fn, obj)) {
+                this._delete(i);
+                found = true;
+            }
+        }
+
+        return found;
+    },
+
+    /**
+     * Notifies the subscribers.  The callback functions will be executed
+     * from the scope specified when the event was created, and with the following
+     * parameters:
+     *   <pre>
+     *   - The type of event
+     *   - All of the arguments fire() was executed with as an array
+     *   - The custom object (if any) that was passed into the subscribe() method
+     *   </pre>
+     * @method fire
+     * @param {Array} an arbitrary set of parameters to pass to the handler
+     */
+    fire: function() {
+        var len=this.subscribers.length;
+        if (!len && this.silent) {
+            return;
+        }
+
+        var args = [];
+
+        for (var i=0; i<arguments.length; ++i) {
+            args.push(arguments[i]);
+        }
+
+        if (!this.silent) {
+        }
+
+        for (i=0; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s) {
+                if (!this.silent) {
+                }
+                var scope = (s.override) ? s.obj : this.scope;
+                s.fn.call(scope, this.type, args, s.obj);
+            }
+        }
+    },
+
+    /**
+     * Removes all listeners
+     * @method unsubscribeAll
+     */
+    unsubscribeAll: function() {
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            this._delete(len - 1 - i);
+        }
+    },
+
+    /**
+     * @method _delete
+     * @private
+     */
+    _delete: function(index) {
+        var s = this.subscribers[index];
+        if (s) {
+            delete s.fn;
+            delete s.obj;
+        }
+
+        // delete this.subscribers[index];
+        this.subscribers.splice(index, 1);
+    },
+
+    /**
+     * @method toString
+     */
+    toString: function() {
+         return "CustomEvent: " + "'" + this.type  + "', " +
+             "scope: " + this.scope;
+
+    }
+};
+
+/////////////////////////////////////////////////////////////////////
+
+/**
+ * Stores the subscriber information to be used when the event fires.
+ * @param {Function} fn       The function to execute
+ * @param {Object}   obj      An object to be passed along when the event fires
+ * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+ *                            scope of the listener
+ * @class Subscriber
+ * @constructor
+ */
+YAHOO.util.Subscriber = function(fn, obj, bOverride) {
+
+    /**
+     * The callback that will be execute when the event fires
+     * @property fn
+     * @type function
+     */
+    this.fn = fn;
+
+    /**
+     * An optional custom object that will passed to the callback when
+     * the event fires
+     * @property obj
+     * @type object
+     */
+    this.obj = obj || null;
+
+    /**
+     * The default execution scope for the event listener is defined when the
+     * event is created (usually the object which contains the event).
+     * By setting override to true, the execution scope becomes the custom
+     * object passed in by the subscriber
+     * @property override
+     * @type boolean
+     */
+    this.override = (bOverride);
+};
+
+/**
+ * Returns true if the fn and obj match this objects properties.
+ * Used by the unsubscribe method to match the right subscriber.
+ *
+ * @method contains
+ * @param {Function} fn the function to execute
+ * @param {Object} obj an object to be passed along when the event fires
+ * @return {boolean} true if the supplied arguments match this
+ *                   subscriber's signature.
+ */
+YAHOO.util.Subscriber.prototype.contains = function(fn, obj) {
+    return (this.fn == fn && this.obj == obj);
+};
+
+/**
+ * @method toString
+ */
+YAHOO.util.Subscriber.prototype.toString = function() {
+    return "Subscriber { obj: " + (this.obj || "")  +
+           ", override: " +  (this.override || "no") + " }";
+};
+
+// The first instance of Event will win if it is loaded more than once.
+if (!YAHOO.util.Event) {
+
+/**
+ * The event utility provides functions to add and remove event listeners,
+ * event cleansing.  It also tries to automatically remove listeners it
+ * registers during the unload event.
+ * @namespace YAHOO.util
+ * @class Event
+ */
+    YAHOO.util.Event = function() {
+
+        /**
+         * True after the onload event has fired
+         * @property loadComplete
+         * @type boolean
+         * @private
+         */
+        var loadComplete =  false;
+
+        /**
+         * Cache of wrapped listeners
+         * @property listeners
+         * @type array
+         * @private
+         */
+        var listeners = [];
+
+        /**
+         * Listeners that will be attached during the onload event
+         * @property delayedListeners
+         * @type array
+         * @private
+         */
+        var delayedListeners = [];
+
+        /**
+         * User-defined unload function that will be fired before all events
+         * are detached
+         * @property unloadListeners
+         * @type array
+         * @private
+         */
+        var unloadListeners = [];
+
+        /**
+         * Cache of DOM0 event handlers to work around issues with DOM2 events
+         * in Safari
+         * @property legacyEvents
+         * @private
+         */
+        var legacyEvents = [];
+
+        /**
+         * Listener stack for DOM0 events
+         * @property legacyHandlers
+         * @private
+         */
+        var legacyHandlers = [];
+
+        /**
+         * The number of times to poll after window.onload.  This number is
+         * increased if additional late-bound handlers are requested after
+         * the page load.
+         * @property retryCount
+         * @private
+         */
+        var retryCount = 0;
+
+        /**
+         * onAvailable listeners
+         * @property onAvailStack
+         * @private
+         */
+        var onAvailStack = [];
+
+        /**
+         * Lookup table for legacy events
+         * @property legacyMap
+         * @private
+         */
+        var legacyMap = [];
+
+        /**
+         * Counter for auto id generation
+         * @property counter
+         * @private
+         */
+        var counter = 0;
+
+        return { // PREPROCESS
+
+            /**
+             * The number of times we should look for elements that are not
+             * in the DOM at the time the event is requested after the document
+             * has been loaded.  The default is 200 at amp;50 ms, so it will poll
+             * for 10 seconds or until all outstanding handlers are bound
+             * (whichever comes first).
+             * @property POLL_RETRYS
+             * @type int
+             */
+            POLL_RETRYS: 200,
+
+            /**
+             * The poll interval in milliseconds
+             * @property POLL_INTERVAL
+             * @type int
+             */
+            POLL_INTERVAL: 50,
+
+            /**
+             * Element to bind, int constant
+             * @property EL
+             * @type int
+             */
+            EL: 0,
+
+            /**
+             * Type of event, int constant
+             * @property TYPE
+             * @type int
+             */
+            TYPE: 1,
+
+            /**
+             * Function to execute, int constant
+             * @property FN
+             * @type int
+             */
+            FN: 2,
+
+            /**
+             * Function wrapped for scope correction and cleanup, int constant
+             * @property WFN
+             * @type int
+             */
+            WFN: 3,
+
+            /**
+             * Object passed in by the user that will be returned as a
+             * parameter to the callback, int constant
+             * @property SCOPE
+             * @type int
+             */
+            SCOPE: 3,
+
+            /**
+             * Adjusted scope, either the element we are registering the event
+             * on or the custom object passed in by the listener, int constant
+             * @property ADJ_SCOPE
+             * @type int
+             */
+            ADJ_SCOPE: 4,
+
+            /**
+             * Safari detection is necessary to work around the preventDefault
+             * bug that makes it so you can't cancel a href click from the
+             * handler.  There is not a capabilities check we can use here.
+             * @property isSafari
+             * @private
+             */
+            isSafari: (/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),
+
+            /**
+             * IE detection needed to properly calculate pageX and pageY.
+             * capabilities checking didn't seem to work because another
+             * browser that does not provide the properties have the values
+             * calculated in a different manner than IE.
+             * @property isIE
+             * @private
+             */
+            isIE: (!this.isSafari && !navigator.userAgent.match(/opera/gi) &&
+                    navigator.userAgent.match(/msie/gi)),
+
+            /**
+             * @method addDelayedListener
+             * @private
+             */
+            addDelayedListener: function(el, sType, fn, oScope, bOverride) {
+                delayedListeners[delayedListeners.length] =
+                    [el, sType, fn, oScope, bOverride];
+
+                // If this happens after the inital page load, we need to
+                // reset the poll counter so that we continue to search for
+                // the element for a fixed period of time.
+                if (loadComplete) {
+                    retryCount = this.POLL_RETRYS;
+                    this.startTimeout(0);
+                    // this._tryPreloadAttach();
+                }
+            },
+
+            /**
+             * @method startTimeout
+             * @private
+             */
+            startTimeout: function(interval) {
+                var i = (interval || interval === 0) ? interval : this.POLL_INTERVAL;
+                var self = this;
+                var callback = function() { self._tryPreloadAttach(); };
+                this.timeout = setTimeout(callback, i);
+            },
+
+            /**
+             * Executes the supplied callback when the item with the supplied
+             * id is found.  This is meant to be used to execute behavior as
+             * soon as possible as the page loads.  If you use this after the
+             * initial page load it will poll for a fixed time for the element.
+             * The number of times it will poll and the frequency are
+             * configurable.  By default it will poll for 10 seconds.
+             *
+             * @method onAvailable
+             *
+             * @param {string}   p_id the id of the element to look for.
+             * @param {function} p_fn what to execute when the element is found.
+             * @param {object}   p_obj an optional object to be passed back as
+             *                   a parameter to p_fn.
+             * @param {boolean}  p_override If set to true, p_fn will execute
+             *                   in the scope of p_obj
+             *
+             */
+            onAvailable: function(p_id, p_fn, p_obj, p_override) {
+                onAvailStack.push( { id:       p_id,
+                                     fn:       p_fn,
+                                     obj:      p_obj,
+                                     override: p_override } );
+
+                retryCount = this.POLL_RETRYS;
+                this.startTimeout(0);
+                // this._tryPreloadAttach();
+            },
+
+            /**
+             * Appends an event handler
+             *
+             * @method addListener
+             *
+             * @param {Object}   el        The html element to assign the
+             *                             event to
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   oScope    An arbitrary object that will be
+             *                             passed as a parameter to the handler
+             * @param {boolean}  bOverride If true, the obj passed in becomes
+             *                             the execution scope of the listener
+             * @return {boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements
+             *                        could not have the event bound to it.
+             */
+            addListener: function(el, sType, fn, oScope, bOverride) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                // The el argument can be an array of elements or element ids.
+                if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (var i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.on(el[i],
+                                       sType,
+                                       fn,
+                                       oScope,
+                                       bOverride) && ok );
+                    }
+                    return ok;
+
+                } else if (typeof el == "string") {
+                    var oEl = this.getEl(el);
+                    // If the el argument is a string, we assume it is
+                    // actually the id of the element.  If the page is loaded
+                    // we convert el to the actual element, otherwise we
+                    // defer attaching the event until onload event fires
+
+                    // check to see if we need to delay hooking up the event
+                    // until after the page loads.
+                    if (loadComplete && oEl) {
+                        el = oEl;
+                    } else {
+                        // defer adding the event until onload fires
+                        this.addDelayedListener(el,
+                                                sType,
+                                                fn,
+                                                oScope,
+                                                bOverride);
+
+                        return true;
+                    }
+                }
+
+                // Element should be an html element or an array if we get
+                // here.
+                if (!el) {
+                    return false;
+                }
+
+                // we need to make sure we fire registered unload events
+                // prior to automatically unhooking them.  So we hang on to
+                // these instead of attaching them to the window and fire the
+                // handles explicitly during our one unload event.
+                if ("unload" == sType && oScope !== this) {
+                    unloadListeners[unloadListeners.length] =
+                            [el, sType, fn, oScope, bOverride];
+                    return true;
+                }
+
+                // if the user chooses to override the scope, we use the custom
+                // object passed in, otherwise the executing scope will be the
+                // HTML element that the event is registered on
+                var scope = (bOverride) ? oScope : el;
+
+                // wrap the function so we can return the oScope object when
+                // the event fires;
+                var wrappedFn = function(e) {
+                        return fn.call(scope, YAHOO.util.Event.getEvent(e),
+                                oScope);
+                    };
+
+                var li = [el, sType, fn, wrappedFn, scope];
+                var index = listeners.length;
+                // cache the listener so we can try to automatically unload
+                listeners[index] = li;
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+
+                    // Add a new dom0 wrapper if one is not detected for this
+                    // element
+                    if ( legacyIndex == -1 ||
+                                el != legacyEvents[legacyIndex][0] ) {
+
+                        legacyIndex = legacyEvents.length;
+                        legacyMap[el.id + sType] = legacyIndex;
+
+                        // cache the signature for the DOM0 event, and
+                        // include the existing handler for the event, if any
+                        legacyEvents[legacyIndex] =
+                            [el, sType, el["on" + sType]];
+                        legacyHandlers[legacyIndex] = [];
+
+                        el["on" + sType] =
+                            function(e) {
+                                YAHOO.util.Event.fireLegacyEvent(
+                                    YAHOO.util.Event.getEvent(e), legacyIndex);
+                            };
+                    }
+
+                    // add a reference to the wrapped listener to our custom
+                    // stack of events
+                    //legacyHandlers[legacyIndex].push(index);
+                    legacyHandlers[legacyIndex].push(li);
+
+                // DOM2 Event model
+                } else if (el.addEventListener) {
+                    el.addEventListener(sType, wrappedFn, false);
+                // IE
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, wrappedFn);
+                }
+
+                return true;
+
+            },
+
+            /**
+             * When using legacy events, the handler is routed to this object
+             * so we can fire our custom listener stack.
+             * @method fireLegacyEvent
+             * @private
+             */
+            fireLegacyEvent: function(e, legacyIndex) {
+                var ok = true;
+
+                var le = legacyHandlers[legacyIndex];
+                for (var i=0,len=le.length; i<len; ++i) {
+                    var li = le[i];
+                    if ( li && li[this.WFN] ) {
+                        var scope = li[this.ADJ_SCOPE];
+                        var ret = li[this.WFN].call(scope, e);
+                        ok = (ok && ret);
+                    }
+                }
+
+                return ok;
+            },
+
+            /**
+             * Returns the legacy event index that matches the supplied
+             * signature
+             * @method getLegacyIndex
+             * @private
+             */
+            getLegacyIndex: function(el, sType) {
+                var key = this.generateId(el) + sType;
+                if (typeof legacyMap[key] == "undefined") {
+                    return -1;
+                } else {
+                    return legacyMap[key];
+                }
+            },
+
+            /**
+             * Logic that determines when we should automatically use legacy
+             * events instead of DOM2 events.
+             * @method useLegacyEvent
+             * @private
+             */
+            useLegacyEvent: function(el, sType) {
+                if (!el.addEventListener && !el.attachEvent) {
+                    return true;
+                } else if (this.isSafari) {
+                    if ("click" == sType || "dblclick" == sType) {
+                        return true;
+                    }
+                }
+                return false;
+            },
+
+            /**
+             * Removes an event handler
+             *
+             * @method removeListener
+             *
+             * @param {Object} el the html element or the id of the element to
+             * assign the event to.
+             * @param {String} sType the type of event to remove
+             * @param {Function} fn the method the event invokes
+             * @return {boolean} true if the unbind was successful, false
+             * otherwise
+             */
+            removeListener: function(el, sType, fn, index) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                var i, len;
+
+                // The el argument can be a string
+                if (typeof el == "string") {
+                    el = this.getEl(el);
+                // The el argument can be an array of elements or element ids.
+                } else if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.removeListener(el[i], sType, fn) && ok );
+                    }
+                    return ok;
+                }
+
+                if ("unload" == sType) {
+
+                    for (i=0, len=unloadListeners.length; i<len; i++) {
+                        var li = unloadListeners[i];
+                        if (li &&
+                            li[0] == el &&
+                            li[1] == sType &&
+                            li[2] == fn) {
+                                unloadListeners.splice(i, 1);
+                                return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                var cacheItem = null;
+
+                //var index = arguments[3];
+
+                if ("undefined" == typeof index) {
+                    index = this._getCacheIndex(el, sType, fn);
+                }
+
+                if (index >= 0) {
+                    cacheItem = listeners[index];
+                }
+
+                if (!el || !cacheItem) {
+                    return false;
+                }
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+                    var llist = legacyHandlers[legacyIndex];
+                    if (llist) {
+                        for (i=0, len=llist.length; i<len; ++i) {
+                            li = llist[i];
+                            if (li &&
+                                li[this.EL] == el &&
+                                li[this.TYPE] == sType &&
+                                li[this.FN] == fn) {
+                                    llist.splice(i, 1);
+                            }
+                        }
+                    }
+
+                } else if (el.removeEventListener) {
+                    el.removeEventListener(sType, cacheItem[this.WFN], false);
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, cacheItem[this.WFN]);
+                }
+
+                // removed the wrapped handler
+                delete listeners[index][this.WFN];
+                delete listeners[index][this.FN];
+                listeners.splice(index, 1);
+
+                return true;
+
+            },
+
+            /**
+             * Returns the event's target element
+             * @method getTarget
+             * @param {Event} ev the event
+             * @param {boolean} resolveTextNode when set to true the target's
+             *                  parent will be returned if the target is a
+             *                  text node.  @deprecated, the text node is
+             *                  now resolved automatically
+             * @return {HTMLElement} the event's target
+             */
+            getTarget: function(ev, resolveTextNode) {
+                var t = ev.target || ev.srcElement;
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * In some cases, some browsers will return a text node inside
+             * the actual element that was targeted.  This normalizes the
+             * return value for getTarget and getRelatedTarget.
+             * @method resolveTextNode
+             * @param {HTMLElement} node to resolve
+             * @return  the normized node
+             */
+            resolveTextNode: function(node) {
+                if (node && node.nodeName &&
+                        "#TEXT" == node.nodeName.toUpperCase()) {
+                    return node.parentNode;
+                } else {
+                    return node;
+                }
+            },
+
+            /**
+             * Returns the event's pageX
+             * @method getPageX
+             * @param {Event} ev the event
+             * @return {int} the event's pageX
+             */
+            getPageX: function(ev) {
+                var x = ev.pageX;
+                if (!x && 0 !== x) {
+                    x = ev.clientX || 0;
+
+                    if ( this.isIE ) {
+                        x += this._getScrollLeft();
+                    }
+                }
+
+                return x;
+            },
+
+            /**
+             * Returns the event's pageY
+             * @method getPageY
+             * @param {Event} ev the event
+             * @return {int} the event's pageY
+             */
+            getPageY: function(ev) {
+                var y = ev.pageY;
+                if (!y && 0 !== y) {
+                    y = ev.clientY || 0;
+
+                    if ( this.isIE ) {
+                        y += this._getScrollTop();
+                    }
+                }
+
+                return y;
+            },
+
+            /**
+             * Returns the pageX and pageY properties as an indexed array.
+             * @method getXY
+             * @type int[]
+             */
+            getXY: function(ev) {
+                return [this.getPageX(ev), this.getPageY(ev)];
+            },
+
+            /**
+             * Returns the event's related target
+             * @method getRelatedTarget
+             * @param {Event} ev the event
+             * @return {HTMLElement} the event's relatedTarget
+             */
+            getRelatedTarget: function(ev) {
+                var t = ev.relatedTarget;
+                if (!t) {
+                    if (ev.type == "mouseout") {
+                        t = ev.toElement;
+                    } else if (ev.type == "mouseover") {
+                        t = ev.fromElement;
+                    }
+                }
+
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * Returns the time of the event.  If the time is not included, the
+             * event is modified using the current time.
+             * @method getTime
+             * @param {Event} ev the event
+             * @return {Date} the time of the event
+             */
+            getTime: function(ev) {
+                if (!ev.time) {
+                    var t = new Date().getTime();
+                    try {
+                        ev.time = t;
+                    } catch(e) {
+                        // can't set the time property
+                        return t;
+                    }
+                }
+
+                return ev.time;
+            },
+
+            /**
+             * Convenience method for stopPropagation + preventDefault
+             * @method stopEvent
+             * @param {Event} ev the event
+             */
+            stopEvent: function(ev) {
+                this.stopPropagation(ev);
+                this.preventDefault(ev);
+            },
+
+            /**
+             * Stops event propagation
+             * @method stopPropagation
+             * @param {Event} ev the event
+             */
+            stopPropagation: function(ev) {
+                if (ev.stopPropagation) {
+                    ev.stopPropagation();
+                } else {
+                    ev.cancelBubble = true;
+                }
+            },
+
+            /**
+             * Prevents the default behavior of the event
+             * @method preventDefault
+             * @param {Event} ev the event
+             */
+            preventDefault: function(ev) {
+                if (ev.preventDefault) {
+                    ev.preventDefault();
+                } else {
+                    ev.returnValue = false;
+                }
+            },
+
+            /**
+             * Finds the event in the window object, the caller's arguments, or
+             * in the arguments of another method in the callstack.  This is
+             * executed automatically for events registered through the event
+             * manager, so the implementer should not normally need to execute
+             * this function at all.
+             * @method getEvent
+             * @param {Event} the event parameter from the handler
+             * @return {Event} the event
+             */
+            getEvent: function(e) {
+                var ev = e || window.event;
+
+                if (!ev) {
+                    var c = this.getEvent.caller;
+                    while (c) {
+                        ev = c.arguments[0];
+                        if (ev && Event == ev.constructor) {
+                            break;
+                        }
+                        c = c.caller;
+                    }
+                }
+
+                return ev;
+            },
+
+            /**
+             * Returns the charcode for an event
+             * @method getCharCode
+             * @param {Event} ev the event
+             * @return {int} the event's charCode
+             */
+            getCharCode: function(ev) {
+                return ev.charCode || ((ev.type == "keypress") ? ev.keyCode : 0);
+            },
+
+            /**
+             * Locating the saved event handler data by function ref
+             *
+             * @method _getCacheIndex
+             * @private
+             */
+            _getCacheIndex: function(el, sType, fn) {
+                for (var i=0,len=listeners.length; i<len; ++i) {
+                    var li = listeners[i];
+                    if ( li                 &&
+                         li[this.FN] == fn  &&
+                         li[this.EL] == el  &&
+                         li[this.TYPE] == sType ) {
+                        return i;
+                    }
+                }
+
+                return -1;
+            },
+
+            /**
+             * Generates an unique ID for the element if it does not already
+             * have one.
+             * @method generateId
+             * @param el the element
+             * @return {string} the id of the element
+             */
+            generateId: function(el) {
+                var id = el.id;
+
+                if (!id) {
+                    id = "yuievtautoid-" + counter;
+                    ++counter;
+                    el.id = id;
+                }
+
+                return id;
+            },
+
+            /**
+             * We want to be able to use getElementsByTagName as a collection
+             * to attach a group of events to.  Unfortunately, different
+             * browsers return different types of collections.  This function
+             * tests to determine if the object is array-like.  It will also
+             * fail if the object is an array, but is empty.
+             * @method _isValidCollection
+             * @param o the object to test
+             * @return {boolean} true if the object is array-like and populated
+             * @private
+             */
+            _isValidCollection: function(o) {
+
+                return ( o                    && // o is something
+                         o.length             && // o is indexed
+                         typeof o != "string" && // o is not a string
+                         !o.tagName           && // o is not an HTML element
+                         !o.alert             && // o is not a window
+                         typeof o[0] != "undefined" );
+
+            },
+
+            /**
+             * @private
+             * @property elCache
+             * DOM element cache
+             */
+            elCache: {},
+
+            /**
+             * We cache elements bound by id because when the unload event
+             * fires, we can no longer use document.getElementById
+             * @method getEl
+             * @private
+             */
+            getEl: function(id) {
+                return document.getElementById(id);
+            },
+
+            /**
+             * Clears the element cache
+             * @deprecated
+             * @private
+             */
+            clearCache: function() { },
+
+            /**
+             * hook up any deferred listeners
+             * @method _load
+             * @private
+             */
+            _load: function(e) {
+                loadComplete = true;
+                var EU = YAHOO.util.Event;
+                EU._simpleRemove(window, "load", EU._load);
+            },
+
+            /**
+             * Polling function that runs before the onload event fires,
+             * attempting to attach to DOM Nodes as soon as they are
+             * available
+             * @method _tryPreloadAttach
+             * @private
+             */
+            _tryPreloadAttach: function() {
+
+                if (this.locked) {
+                    return false;
+                }
+
+                this.locked = true;
+
+                // keep trying until after the page is loaded.  We need to
+                // check the page load state prior to trying to bind the
+                // elements so that we can be certain all elements have been
+                // tested appropriately
+                var tryAgain = !loadComplete;
+                if (!tryAgain) {
+                    tryAgain = (retryCount > 0);
+                }
+
+                // Delayed listeners
+                var stillDelayed = [];
+
+                for (var i=0,len=delayedListeners.length; i<len; ++i) {
+                    var d = delayedListeners[i];
+                    // There may be a race condition here, so we need to
+                    // verify the array element is usable.
+                    if (d) {
+
+                        // el will be null if document.getElementById did not
+                        // work
+                        var el = this.getEl(d[this.EL]);
+
+                        if (el) {
+                            this.on(el, d[this.TYPE], d[this.FN],
+                                    d[this.SCOPE], d[this.ADJ_SCOPE]);
+                            delete delayedListeners[i];
+                        } else {
+                            stillDelayed.push(d);
+                        }
+                    }
+                }
+
+                delayedListeners = stillDelayed;
+
+                // onAvailable
+                var notAvail = [];
+                for (i=0,len=onAvailStack.length; i<len ; ++i) {
+                    var item = onAvailStack[i];
+                    if (item) {
+                        el = this.getEl(item.id);
+
+                        if (el) {
+                            var scope = (item.override) ? item.obj : el;
+                            item.fn.call(scope, item.obj);
+                            delete onAvailStack[i];
+                        } else {
+                            notAvail.push(item);
+                        }
+                    }
+                }
+
+                retryCount = (stillDelayed.length === 0 &&
+                                    notAvail.length === 0) ? 0 : retryCount - 1;
+
+                if (tryAgain) {
+                    this.startTimeout();
+                }
+
+                this.locked = false;
+
+                return true;
+
+            },
+
+            /**
+             * Removes all listeners attached to the given element via addListener.
+             * Optionally, the node's children can also be purged.
+             * Optionally, you can specify a specific type of event to remove.
+             * @method purgeElement
+             * @param {HTMLElement} el the element to purge
+             * @param {boolean} recurse recursively purge this element's children
+             * as well.  Use with caution.
+             * @param {string} sType optional type of listener to purge. If
+             * left out, all listeners will be removed
+             */
+            purgeElement: function(el, recurse, sType) {
+                var elListeners = this.getListeners(el, sType);
+                if (elListeners) {
+                    for (var i=0,len=elListeners.length; i<len ; ++i) {
+                        var l = elListeners[i];
+                        // can't use the index on the changing collection
+                        //this.removeListener(el, l.type, l.fn, l.index);
+                        this.removeListener(el, l.type, l.fn);
+                    }
+                }
+
+                if (recurse && el && el.childNodes) {
+                    for (i=0,len=el.childNodes.length; i<len ; ++i) {
+                        this.purgeElement(el.childNodes[i], recurse, sType);
+                    }
+                }
+            },
+
+            /**
+             * Returns all listeners attached to the given element via addListener.
+             * Optionally, you can specify a specific type of event to return.
+             * @method getListeners
+             * @param el {HTMLElement} the element to inspect
+             * @param sType {string} optional type of listener to return. If
+             * left out, all listeners will be returned
+             * @return {Object} the listener. Contains the following fields:
+             *    type:   (string)   the type of event
+             *    fn:     (function) the callback supplied to addListener
+             *    obj:    (object)   the custom object supplied to addListener
+             *    adjust: (boolean)  whether or not to adjust the default scope
+             *    index:  (int)      its position in the Event util listener cache
+             */
+            getListeners: function(el, sType) {
+                var elListeners = [];
+                if (listeners && listeners.length > 0) {
+                    for (var i=0,len=listeners.length; i<len ; ++i) {
+                        var l = listeners[i];
+                        if ( l  && l[this.EL] === el &&
+                                (!sType || sType === l[this.TYPE]) ) {
+                            elListeners.push({
+                                type:   l[this.TYPE],
+                                fn:     l[this.FN],
+                                obj:    l[this.SCOPE],
+                                adjust: l[this.ADJ_SCOPE],
+                                index:  i
+                            });
+                        }
+                    }
+                }
+
+                return (elListeners.length) ? elListeners : null;
+            },
+
+            /**
+             * Removes all listeners registered by pe.event.  Called
+             * automatically during the unload event.
+             * @method _unload
+             * @private
+             */
+            _unload: function(e) {
+
+                var EU = YAHOO.util.Event;
+
+                for (var i=0,len=unloadListeners.length; i<len; ++i) {
+                    var l = unloadListeners[i];
+                    if (l) {
+                        var scope = (l[EU.ADJ_SCOPE]) ? l[EU.SCOPE]: window;
+                        l[EU.FN].call(scope, EU.getEvent(e), l[EU.SCOPE] );
+                        delete unloadListeners[i];
+                        l=null;
+                    }
+                }
+
+                if (listeners && listeners.length > 0) {
+                    //for (i=0,len=listeners.length; i<len ; ++i) {
+                    var j = listeners.length;
+                    while (j) {
+                        var index = j-1;
+                        l = listeners[index];
+                        if (l) {
+                            EU.removeListener(l[EU.EL], l[EU.TYPE],
+                                    l[EU.FN], index);
+                        }
+
+                        l=null;
+
+                        j = j - 1;
+                    }
+
+                    EU.clearCache();
+                }
+
+                for (i=0,len=legacyEvents.length; i<len; ++i) {
+                    // dereference the element
+                    delete legacyEvents[i][0];
+                    // delete the array item
+                    delete legacyEvents[i];
+                }
+
+                EU._simpleRemove(window, "unload", EU._unload);
+
+            },
+
+            /**
+             * Returns scrollLeft
+             * @method _getScrollLeft
+             * @private
+             */
+            _getScrollLeft: function() {
+                return this._getScroll()[1];
+            },
+
+            /**
+             * Returns scrollTop
+             * @method _getScrollTop
+             * @private
+             */
+            _getScrollTop: function() {
+                return this._getScroll()[0];
+            },
+
+            /**
+             * Returns the scrollTop and scrollLeft.  Used to calculate the
+             * pageX and pageY in Internet Explorer
+             * @method _getScroll
+             * @private
+             */
+            _getScroll: function() {
+                var dd = document.documentElement, db = document.body;
+                if (dd && (dd.scrollTop || dd.scrollLeft)) {
+                    return [dd.scrollTop, dd.scrollLeft];
+                } else if (db) {
+                    return [db.scrollTop, db.scrollLeft];
+                } else {
+                    return [0, 0];
+                }
+            },
+
+            /**
+             * Adds a DOM event directly without the caching, cleanup, scope adj, etc
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleAdd: function (el, sType, fn, capture) {
+                if (el.addEventListener) {
+                    el.addEventListener(sType, fn, (capture));
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, fn);
+                }
+            },
+
+            /**
+             * Basic remove listener
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleRemove: function (el, sType, fn, capture) {
+                if (el.removeEventListener) {
+                    el.removeEventListener(sType, fn, (capture));
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, fn);
+                }
+            }
+        };
+
+    } ();
+
+    /**
+     * YAHOO.util.Event.on is an alias for addListener
+     * @method on
+     * @see addListener
+     */
+    YAHOO.util.Event.on = YAHOO.util.Event.addListener;
+
+    if (document && document.body) {
+        YAHOO.util.Event._load();
+    } else {
+        YAHOO.util.Event._simpleAdd(window, "load", YAHOO.util.Event._load);
+    }
+    YAHOO.util.Event._simpleAdd(window, "unload", YAHOO.util.Event._unload);
+    YAHOO.util.Event._tryPreloadAttach();
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/menu.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5313 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/**
+* @class The superclass of all menu containers.
+* @constructor
+* @extends YAHOO.widget.Overlay
+* @base YAHOO.widget.Overlay
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuModule.superclass.constructor.call(
+        this,
+        p_oElement,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuModule, YAHOO.widget.Overlay);
+
+// Private globals
+
+/**
+* Private global flag indicating if the DOM event handlers have been attached
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule._initEventHandlers = true;
+
+/**
+* Private global collection of menus
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menus = {};
+
+/**
+* Private global collection of menu items
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menuItems = {};
+
+/**
+* Generic, global event handler for all of a menu's DOM-based events.  This
+* listens for events against the document object.  If the target of a given
+* event is a member of a menu or menu item's DOM, the instance's corresponding
+* Custom Event is fired.
+* @private
+* @param {Event} p_oEvent Event object passed back by the event
+* utility (YAHOO.util.Event).
+*/
+YAHOO.widget.MenuModule._onDOMEvent = function(p_oEvent) {
+
+    // Create references to the DOM and Event utilities
+
+    var Dom = YAHOO.util.Dom;
+    var Event = YAHOO.util.Event;
+
+    // The target node of the DOM event
+
+    var oTarget = Event.getTarget(p_oEvent);
+
+    // A reference to the root LI node of a menu item
+
+    var oMenuItemRootElement;
+
+    /**
+    * Finds the root DIV node of a menu and the root LI node of a menu item
+    * @private
+    * @param {HTMLElement} p_oElement An HTML element
+    */
+    function getMenuRootElement(p_oElement) {
+
+        var oParentNode;
+
+        switch(p_oElement.tagName) {
+
+            case "DIV":
+
+                oParentNode = p_oElement.parentNode;
+
+                // Check if the DIV is the inner "body" node of a menu
+                if(
+                    Dom.hasClass(p_oElement, "bd") &&
+                    oParentNode &&
+                    oParentNode.tagName == "DIV"
+                ) {
+
+                    return oParentNode;
+
+                }
+                else {
+
+                    return p_oElement;
+
+                }
+
+            break;
+
+            case "LI":
+
+                /*
+                    Capture the root LI node of the menu item and allow
+                    fall through to keep climbing up to find the item's parent
+                    root DIV
+                */
+
+                oMenuItemRootElement = p_oElement;
+
+            default:
+
+                oParentNode = p_oElement.parentNode;
+
+                if(oParentNode) {
+
+                    return getMenuRootElement(oParentNode);
+
+                }
+
+            break;
+
+        }
+
+    }
+
+    // The root DIV node of a menu
+
+    var oMenuRootElement = getMenuRootElement(oTarget);
+
+    if(oMenuRootElement && oMenuRootElement.id) {
+
+        var oMenuItem;
+        var oMenu = YAHOO.widget.MenuModule._menus[oMenuRootElement.id];
+
+        if(oMenuItemRootElement) {
+
+            var sYUIId = oMenuItemRootElement.getAttribute("yuiid");
+
+            if(sYUIId) {
+
+                oMenuItem = YAHOO.widget.MenuModule._menuItems[sYUIId];
+
+            }
+
+        }
+
+        if(oMenu) {
+
+            // Map of DOM event names to CustomEvent names
+
+            var oEventTypes =  {
+                    "click": "clickEvent",
+                    "mousedown": "mouseDownEvent",
+                    "mouseup": "mouseUpEvent",
+                    "mouseover": "mouseOverEvent",
+                    "mouseout": "mouseOutEvent",
+                    "keydown": "keyDownEvent",
+                    "keyup": "keyUpEvent",
+                    "keypress": "keyPressEvent"
+                };
+
+            var sCustomEventType = oEventTypes[p_oEvent.type];
+
+            switch(p_oEvent.type) {
+
+                case "mouseover":
+
+                    if(
+                        !oMenu._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenu.element ||
+                            Dom.isAncestor(oMenu.element, oTarget)
+                        )
+                    ) {
+
+                        oMenu.mouseOverEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOverEvent = true;
+                        oMenu._bFiredMouseOutEvent = false;
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenuItem.element ||
+                            Dom.isAncestor(oMenuItem.element, oTarget)
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        oMenuItem.mouseOverEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOverEvent = true;
+                        oMenuItem._bFiredMouseOutEvent = false;
+
+                    }
+
+                break;
+
+                case "mouseout":
+
+                    var oRelatedTarget = Event.getRelatedTarget(p_oEvent);
+                    var bMovingToSubmenu = false;
+
+                    if(oMenuItem) {
+
+                        var oSubmenu = oMenuItem.cfg.getProperty("submenu");
+
+                        if(
+                            oSubmenu &&
+                            (
+                                oRelatedTarget == oSubmenu.element ||
+                                Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                            )
+                        ) {
+
+                            bMovingToSubmenu = true;
+
+                        }
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenuItem.element &&
+                                !Dom.isAncestor(
+                                    oMenuItem.element,
+                                    oRelatedTarget
+                                )
+                            ) || bMovingToSubmenu
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        // Fire the "mouseout" Custom Event for the item
+
+                        oMenuItem.mouseOutEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOutEvent = true;
+                        oMenuItem._bFiredMouseOverEvent = false;
+
+                    }
+
+                    if(
+                        !oMenu._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenu.element &&
+                                !Dom.isAncestor(oMenu.element, oRelatedTarget)
+                            )
+                            || bMovingToSubmenu
+                        )
+                    ) {
+
+                        oMenu.mouseOutEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOutEvent = true;
+                        oMenu._bFiredMouseOverEvent = false;
+
+                    }
+
+                break;
+
+                default:
+
+                    if(oMenuItem && !oMenuItem.cfg.getProperty("disabled")) {
+
+                        oMenuItem[sCustomEventType].fire(p_oEvent);
+
+                    }
+
+                    oMenu[sCustomEventType].fire(p_oEvent);
+
+                break;
+
+            }
+
+        }
+
+    }
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuModule instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.CSS_CLASS_NAME = "yuimenu";
+
+/**
+* Constant representing the type of item to instantiate and add when parsing
+* the child nodes (either HTMLLIElement, HTMLOptGroupElement or
+* HTMLOptionElement) of a menu's DOM.  The default
+* is YAHOO.widget.MenuModuleItem.
+* @final
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.ITEM_TYPE = null;
+
+/**
+* Constant representing the tagname of the HTMLElement used to title
+* a group of items.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.GROUP_TITLE_TAG_NAME = "H6";
+
+// Private properties
+
+/**
+* The current state of a MenuModule instance's "mouseover" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOverEvent = false;
+
+/**
+* The current state of a MenuModule instance's "mouseout" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOutEvent = false;
+
+/**
+* Array of HTMLElements used to title groups of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aGroupTitleElements = null;
+
+/**
+* Multi-dimensional array of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aItemGroups = null;
+
+/**
+* An array of HTMLUListElements, each of which is the parent node of each
+* items's HTMLLIElement node.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aListElements = null;
+
+/**
+* Reference to the Event utility singleton.
+* @private
+* @type {YAHOO.util.Event}
+*/
+YAHOO.widget.MenuModule.prototype._oEventUtil = YAHOO.util.Event;
+
+/**
+* Reference to the Dom utility singleton.
+* @private
+* @type {YAHOO.util.Dom}
+*/
+YAHOO.widget.MenuModule.prototype._oDom = YAHOO.util.Dom;
+
+// Public properties
+
+/**
+* Reference to the item that has focus.
+* @private
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.activeItem = null;
+
+/**
+* Returns a MenuModule instance's parent object.
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.parent = null;
+
+/**
+* Returns the HTMLElement (either HTMLSelectElement or HTMLDivElement)
+* used create the MenuModule instance.
+* @type {HTMLSelectElement/HTMLDivElement}
+*/
+YAHOO.widget.MenuModule.prototype.srcElement = null;
+
+// Events
+
+/**
+* Fires when the mouse has entered a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOverEvent = null;
+
+/**
+* Fires when the mouse has left a MenuModule instance.  Passes back the DOM
+* Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOutEvent = null;
+
+/**
+* Fires when the user mouses down on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseDownEvent = null;
+
+/**
+* Fires when the user releases a mouse button while the mouse is over
+* a MenuModule instance.  Passes back the DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseUpEvent = null;
+
+/**
+* Fires when the user clicks the on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.clickEvent = null;
+
+/**
+* Fires when the user presses an alphanumeric key.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyPressEvent = null;
+
+/**
+* Fires when the user presses a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyDownEvent = null;
+
+/**
+* Fires when the user releases a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyUpEvent = null;
+
+/**
+* The MenuModule class's initialization method. This method is automatically
+* called  by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule.prototype.init = function(p_oElement, p_oConfig) {
+
+    var Dom = this._oDom;
+    var Event = this._oEventUtil;
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+    }
+
+    this._aItemGroups = [];
+    this._aListElements = [];
+    this._aGroupTitleElements = [];
+
+    var oElement;
+
+    if(typeof p_oElement == "string") {
+
+        oElement = document.getElementById(p_oElement);
+
+    }
+    else if(p_oElement.tagName) {
+
+        oElement = p_oElement;
+
+    }
+
+    if(oElement) {
+
+        switch(oElement.tagName) {
+
+            case "DIV":
+
+                this.srcElement = oElement;
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, oElement);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+                /*
+                    Populate the collection of item groups and item
+                    group titles
+                */
+
+                var oNode = this.body.firstChild;
+                var i = 0;
+
+                do {
+
+                    switch(oNode.tagName) {
+
+                        case this.GROUP_TITLE_TAG_NAME:
+
+                            this._aGroupTitleElements[i] = oNode;
+
+                        break;
+
+                        case "UL":
+
+                            this._aListElements[i] = oNode;
+                            this._aItemGroups[i] = [];
+                            i++;
+
+                        break;
+
+                    }
+
+                }
+                while((oNode = oNode.nextSibling));
+
+                /*
+                    Apply the "first-of-type" class to the first UL to mimic
+                    the "first-of-type" CSS3 psuedo class.
+                */
+
+                if(this._aListElements[0]) {
+
+                    Dom.addClass(this._aListElements[0], "first-of-type");
+
+                }
+
+
+
+            break;
+
+            case "SELECT":
+
+                this.srcElement = oElement;
+
+
+                /*
+                    The source element is not something that we can use
+                    outright, so we need to create a new Overlay
+                */
+
+                var sId = Dom.generateId();
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, sId);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+            break;
+
+        }
+
+    }
+    else {
+
+        /*
+            Note: we don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.MenuModule.superclass.init.call(this, p_oElement);
+
+        this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+    }
+
+    if(this.element) {
+
+        var oEl = this.element;
+        var CustomEvent = YAHOO.util.CustomEvent;
+
+        Dom.addClass(oEl, this.CSS_CLASS_NAME);
+
+        // Assign DOM event handlers
+
+        if(YAHOO.widget.MenuModule._initEventHandlers) {
+
+            var oDoc = document;
+            var onDOMEvent = YAHOO.widget.MenuModule._onDOMEvent;
+
+            Event.addListener(oDoc, "mouseover", onDOMEvent);
+            Event.addListener(oDoc, "mouseout", onDOMEvent);
+            Event.addListener(oDoc, "mousedown", onDOMEvent);
+            Event.addListener(oDoc, "mouseup", onDOMEvent);
+            Event.addListener(oDoc, "click", onDOMEvent);
+            Event.addListener(oDoc, "keydown", onDOMEvent);
+            Event.addListener(oDoc, "keyup", onDOMEvent);
+            Event.addListener(oDoc, "keypress", onDOMEvent);
+
+            YAHOO.widget.MenuModule._initEventHandlers = false;
+
+        }
+
+        // Create custom events
+
+        this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+        this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+        this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+        this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+        this.clickEvent = new CustomEvent("clickEvent", this);
+        this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+        this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+        this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+
+        // Subscribe to Custom Events
+
+        this.initEvent.subscribe(this._onInit, this, true);
+        this.beforeRenderEvent.subscribe(this._onBeforeRender, this, true);
+        this.renderEvent.subscribe(this._onRender, this, true);
+        this.showEvent.subscribe(this._onShow, this, true);
+        this.beforeHideEvent.subscribe(this._onBeforeHide, this, true);
+
+        if(p_oConfig) {
+
+            this.cfg.applyConfig(p_oConfig, true);
+
+        }
+
+        this.cfg.queueProperty("visible", false);
+
+        if(this.srcElement) {
+
+            this._initSubTree();
+
+        }
+
+        YAHOO.widget.MenuModule._menus[oEl.id] = this;
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuModule);
+
+};
+
+// Private methods
+
+/**
+* Iterates the source element's childNodes collection and uses the child
+* nodes to instantiate MenuModule and MenuModuleItem instances.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._initSubTree = function() {
+
+    var oNode;
+
+
+    switch(this.srcElement.tagName) {
+
+        case "DIV":
+
+            if(this._aListElements.length > 0) {
+
+
+                var i = this._aListElements.length - 1;
+
+                do {
+
+                    oNode = this._aListElements[i].firstChild;
+
+
+                    do {
+
+                        switch(oNode.tagName) {
+
+                            case "LI":
+
+
+                                this.addItem(new this.ITEM_TYPE(oNode), i);
+
+                            break;
+
+                        }
+
+                    }
+                    while((oNode = oNode.nextSibling));
+
+                }
+                while(i--);
+
+            }
+
+        break;
+
+        case "SELECT":
+
+
+            oNode = this.srcElement.firstChild;
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "OPTGROUP":
+                    case "OPTION":
+
+
+                        this.addItem(new this.ITEM_TYPE(oNode));
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+        break;
+
+    }
+
+};
+
+/**
+* Returns the first enabled item in a menu instance.
+* @return Returns a MenuModuleItem instance.
+* @type YAHOO.widget.MenuModuleItem
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getFirstEnabledItem = function() {
+
+    var nGroups = this._aItemGroups.length;
+    var oItem;
+    var aItemGroup;
+
+    for(var i=0; i<nGroups; i++) {
+
+        aItemGroup = this._aItemGroups[i];
+
+        if(aItemGroup) {
+
+            var nItems = aItemGroup.length;
+
+            for(var n=0; n<nItems; n++) {
+
+                oItem = aItemGroup[n];
+
+                if(
+                    !oItem.cfg.getProperty("disabled") &&
+                    oItem.element.style.display != "none"
+                ) {
+
+                    return oItem;
+
+                }
+
+                oItem = null;
+
+            }
+
+        }
+
+    }
+
+};
+
+/**
+* Determines if the value is one of the supported positions.
+* @private
+* @param {Object} p_sPosition The object to be evaluated.
+* @return Returns true if the position is supported.
+* @type Boolean
+*/
+YAHOO.widget.MenuModule.prototype._checkPosition = function(p_sPosition) {
+
+    if(typeof p_sPosition == "string") {
+
+        var sPosition = p_sPosition.toLowerCase();
+
+        return ("dynamic,static".indexOf(sPosition) != -1);
+
+    }
+
+};
+
+/**
+* Adds an item to a group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nItemIndex Optional. Index at which the item
+* should be added.
+* @return The item that was added.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._addItemToGroup =
+
+    function(p_nGroupIndex, p_oItem, p_nItemIndex) {
+
+        var Dom = this._oDom;
+        var oItem;
+
+        if(p_oItem instanceof this.ITEM_TYPE) {
+
+            oItem = p_oItem;
+
+        }
+        else if(typeof p_oItem == "string") {
+
+            oItem = new this.ITEM_TYPE(p_oItem);
+
+        }
+
+        if(oItem) {
+
+            var sYUIId = Dom.generateId();
+
+            oItem.element.setAttribute("yuiid", sYUIId);
+
+            YAHOO.widget.MenuModule._menuItems[sYUIId] = oItem;
+
+            var nGroupIndex = typeof p_nGroupIndex == "number" ?
+                    p_nGroupIndex : 0;
+
+            var aGroup = this._getItemGroup(nGroupIndex);
+
+            var oGroupItem;
+
+
+            if(!aGroup) {
+
+                aGroup = this._createItemGroup(nGroupIndex);
+
+            }
+
+            if(typeof p_nItemIndex == "number") {
+
+                var bAppend = (p_nItemIndex >= aGroup.length);
+
+
+                if(aGroup[p_nItemIndex]) {
+
+                    aGroup.splice(p_nItemIndex, 0, oItem);
+
+                }
+                else {
+
+                    aGroup[p_nItemIndex] = oItem;
+
+                }
+
+
+                oGroupItem = aGroup[p_nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        bAppend &&
+                        (
+                            !oGroupItem.element.parentNode ||
+                            oGroupItem.element.parentNode.nodeType == 11
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+                    else {
+
+
+                        /**
+                        * Returns the next sibling of an item in an array
+                        * @param {p_aArray} An array
+                        * @param {p_nStartIndex} The index to start searching
+                        * the array
+                        * @ignore
+                        * @return Returns an item in an array
+                        * @type Object
+                        */
+                        function getNextItemSibling(p_aArray, p_nStartIndex) {
+
+                            return (
+                                    p_aArray[p_nStartIndex] ||
+                                    getNextItemSibling(
+                                        p_aArray,
+                                        (p_nStartIndex+1)
+                                    )
+                                );
+
+                        }
+
+
+                        var oNextItemSibling =
+                                getNextItemSibling(aGroup, (p_nItemIndex+1));
+
+                        if(
+                            oNextItemSibling &&
+                            (
+                                !oGroupItem.element.parentNode ||
+                                oGroupItem.element.parentNode.nodeType == 11
+                            )
+                        ) {
+
+                            this._aListElements[nGroupIndex].insertBefore(
+                                    oGroupItem.element,
+                                    oNextItemSibling.element
+                                );
+
+                        }
+
+                    }
+
+
+                    oGroupItem.parent = this;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    this._updateItemProperties(nGroupIndex);
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+            else {
+
+                var nItemIndex = aGroup.length;
+
+                aGroup[nItemIndex] = oItem;
+
+
+                oGroupItem = aGroup[nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        !Dom.isAncestor(
+                            this._aListElements[nGroupIndex],
+                            oGroupItem.element
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+
+                    oGroupItem.element.setAttribute("groupindex", nGroupIndex);
+                    oGroupItem.element.setAttribute("index", nItemIndex);
+
+                    oGroupItem.parent = this;
+
+                    oGroupItem.index = nItemIndex;
+                    oGroupItem.groupIndex = nGroupIndex;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    if(nItemIndex === 0) {
+
+                        Dom.addClass(oGroupItem.element, "first-of-type");
+
+                    }
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes an item from a group by index.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {Number} p_nItemIndex Number indicating the index of the item to
+* be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByIndex =
+
+    function(p_nGroupIndex, p_nItemIndex) {
+
+        var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+        var aGroup = this._getItemGroup(nGroupIndex);
+
+        if(aGroup) {
+
+            var aArray = aGroup.splice(p_nItemIndex, 1);
+            var oItem = aArray[0];
+
+            if(oItem) {
+
+                // Update the index and className properties of each member
+
+                this._updateItemProperties(nGroupIndex);
+
+                if(aGroup.length === 0) {
+
+                    // Remove the UL
+
+                    var oUL = this._aListElements[nGroupIndex];
+
+                    if(this.body && oUL) {
+
+                        this.body.removeChild(oUL);
+
+                    }
+
+                    // Remove the group from the array of items
+
+                    this._aItemGroups.splice(nGroupIndex, 1);
+
+
+                    // Remove the UL from the array of ULs
+
+                    this._aListElements.splice(nGroupIndex, 1);
+
+
+                    /*
+                         Assign the "first-of-type" class to the new first UL
+                         in the collection
+                    */
+
+                    oUL = this._aListElements[0];
+
+                    if(oUL) {
+
+                        this._oDom.addClass(oUL, "first-of-type");
+
+                    }
+
+                }
+
+
+                // Return a reference to the item that was removed
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes a item from a group by reference.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByValue =
+
+    function(p_nGroupIndex, p_oItem) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+
+        if(aGroup) {
+
+            var nItems = aGroup.length;
+            var nItemIndex = -1;
+
+            if(nItems > 0) {
+
+                var i = nItems-1;
+
+                do {
+
+                    if(aGroup[i] == p_oItem) {
+
+                        nItemIndex = i;
+                        break;
+
+                    }
+
+                }
+                while(i--);
+
+                if(nItemIndex > -1) {
+
+                    return this._removeItemFromGroupByIndex(
+                                p_nGroupIndex,
+                                nItemIndex
+                            );
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Updates the index, groupindex, and className properties of the items
+* in the specified group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group of items to update.
+*/
+YAHOO.widget.MenuModule.prototype._updateItemProperties =
+
+    function(p_nGroupIndex) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+        var nItems = aGroup.length;
+
+        if(nItems > 0) {
+
+            var Dom = this._oDom;
+            var i = nItems - 1;
+            var oItem;
+            var oLI;
+
+            // Update the index and className properties of each member
+
+            do {
+
+                oItem = aGroup[i];
+
+                if(oItem) {
+
+                    oLI = oItem.element;
+
+                    oItem.index = i;
+                    oItem.groupIndex = p_nGroupIndex;
+
+                    oLI.setAttribute("groupindex", p_nGroupIndex);
+                    oLI.setAttribute("index", i);
+
+                    Dom.removeClass(oLI, "first-of-type");
+
+                }
+
+            }
+            while(i--);
+
+
+            if(oLI) {
+
+                Dom.addClass(oLI, "first-of-type");
+
+            }
+
+        }
+
+    };
+
+/**
+* Creates a new item group (array) and it's associated HTMLUlElement node
+* @private
+* @param {Number} p_nIndex Number indicating the group to create.
+* @return An item group.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._createItemGroup = function(p_nIndex) {
+
+    if(!this._aItemGroups[p_nIndex]) {
+
+        this._aItemGroups[p_nIndex] = [];
+
+        var oUL = document.createElement("ul");
+
+        this._aListElements[p_nIndex] = oUL;
+
+        return this._aItemGroups[p_nIndex];
+
+    }
+
+};
+
+/**
+* Returns the item group at the specified index.
+* @private
+* @param {Number} p_nIndex Number indicating the index of the item group to
+* be retrieved.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._getItemGroup = function(p_nIndex) {
+
+    var nIndex = ((typeof p_nIndex == "number") ? p_nIndex : 0);
+
+    return this._aItemGroups[nIndex];
+
+};
+
+/**
+* Subscribe's a MenuModule instance to it's parent MenuModule instance's events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen
+* for events on.
+*/
+YAHOO.widget.MenuModule.prototype._configureItemSubmenuModule =
+
+    function(p_oItem) {
+
+        var oSubmenu = p_oItem.cfg.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            /*
+                Listen for configuration changes to the parent MenuModule
+                instance so they they can be applied to the submenu.
+            */
+
+            this.cfg.configChangedEvent.subscribe(
+                this._onParentMenuModuleConfigChange,
+                oSubmenu,
+                true
+            );
+
+            this.renderEvent.subscribe(
+                this._onParentMenuModuleRender,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.beforeShowEvent.subscribe(
+                this._onSubmenuBeforeShow,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.showEvent.subscribe(this._onSubmenuShow, oSubmenu, true);
+
+            oSubmenu.hideEvent.subscribe(this._onSubmenuHide, oSubmenu, true);
+
+        }
+
+};
+
+/**
+* Subscribes a MenuModule instance to the specified item's Custom Events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen for events on.
+*/
+YAHOO.widget.MenuModule.prototype._subscribeToItemEvents = function(p_oItem) {
+
+    var aArguments = [this, p_oItem];
+
+    p_oItem.focusEvent.subscribe(this._onItemFocus, aArguments);
+
+    p_oItem.blurEvent.subscribe(this._onItemBlur, aArguments);
+
+    p_oItem.cfg.configChangedEvent.subscribe(
+        this._onItemConfigChange,
+        aArguments
+    );
+
+};
+
+/**
+* Returns the offset width of a MenuModule instance.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getOffsetWidth = function() {
+
+    var oClone = this.element.cloneNode(true);
+
+    this._oDom.setStyle(oClone, "width", "");
+
+    document.body.appendChild(oClone);
+
+    var sWidth = oClone.offsetWidth;
+
+    document.body.removeChild(oClone);
+
+    return sWidth;
+
+};
+
+// Private Custom Event handlers
+
+/**
+* "init" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onInit =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = (this.cfg.getProperty("position") == "static") ?
+                "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* "beforerender" Custom Event handler for a MenuModule instance.  Appends all
+* of the HTMLUListElement (&#60;UL&#60;s) nodes (and their child
+* HTMLLIElement (&#60;LI&#60;)) nodes and their accompanying title nodes to
+* the body of the MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+        var oEl = this.element;
+        var nListElements = this._aListElements.length;
+
+
+        if(oConfig.getProperty("position") == "static") {
+
+            oConfig.queueProperty("iframe", false);
+            oConfig.queueProperty("visible", true);
+
+        }
+
+
+        if(nListElements > 0) {
+
+            var i = 0;
+            var bFirstList = true;
+            var oUL;
+            var oGroupTitle;
+
+
+            do {
+
+                oUL = this._aListElements[i];
+
+                if(oUL) {
+
+                    if(bFirstList) {
+
+                        Dom.addClass(oUL, "first-of-type");
+                        bFirstList = false;
+
+                    }
+
+
+                    if(!Dom.isAncestor(oEl, oUL)) {
+
+                        this.appendToBody(oUL);
+
+                    }
+
+
+                    oGroupTitle = this._aGroupTitleElements[i];
+
+                    if(oGroupTitle) {
+
+                        if(!Dom.isAncestor(oEl, oGroupTitle)) {
+
+                            oUL.parentNode.insertBefore(oGroupTitle, oUL);
+
+                        }
+
+
+                        Dom.addClass(oUL, "hastitle");
+
+                    }
+
+                }
+
+                i++;
+
+            }
+            while(i < nListElements);
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var sWidth = this.element.parentNode.tagName == "BODY" ?
+                    this.element.offsetWidth : this._getOffsetWidth();
+
+            this.cfg.setProperty("width", (sWidth + "px"));
+
+        }
+
+    };
+
+/**
+* "show" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onShow =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        /*
+            Setting focus to an item in the newly visible submenu alerts the
+            contents of the submenu to the screen reader.
+        */
+
+        this.setInitialFocus();
+
+    };
+
+/**
+* "hide" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeHide =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var oActiveItem = this.activeItem;
+
+        if(oActiveItem) {
+
+            oActiveItem.blur();
+
+            if(oActiveItem.cfg.getProperty("selected")) {
+
+                oActiveItem.cfg.setProperty("selected", false);
+
+            }
+
+            var oSubmenu = oActiveItem.cfg.getProperty("submenu");
+
+            if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "configchange" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleConfigChange =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var sPropertyName = p_aArgs[0][0];
+        var oPropertyValue = p_aArgs[0][1];
+
+        switch(sPropertyName) {
+
+            case "iframe":
+            case "constraintoviewport":
+
+                p_oSubmenu.cfg.setProperty(sPropertyName, oPropertyValue);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.  Renders a
+* submenu in response to the firing of it's parent's "render" event.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleRender =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        /*
+            Set the "constraintoviewport" configuration
+            property to match the parent MenuModule
+        */
+
+        var oParentMenu = p_oSubmenu.parent.parent;
+
+        var oConfig = {
+
+                constraintoviewport:
+                    oParentMenu.cfg.getProperty("constraintoviewport"),
+
+                xy: [0,0]
+
+            };
+
+        /*
+            Only sync the "iframe" configuration property if the parent
+            MenuModule instance's position is of the same value
+        */
+
+        if(
+            this.cfg.getProperty("position") ==
+            oParentMenu.cfg.getProperty("position")
+        ) {
+
+            oConfig.iframe = oParentMenu.cfg.getProperty("iframe");
+
+        }
+
+
+        p_oSubmenu.cfg.applyConfig(oConfig);
+
+
+        if(this._oDom.inDocument(this.element)) {
+
+            this.render();
+
+        }
+        else {
+
+            this.render(this.parent.element);
+
+        }
+
+    };
+
+/**
+* "beforeshow" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuBeforeShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+        var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+        this.cfg.setProperty(
+            "context",
+            [
+                oParent.element,
+                aAlignment[0],
+                aAlignment[1]
+            ]
+        );
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "show" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "hide" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuHide =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        if(oParent.parent.cfg.getProperty("visible")) {
+
+            oParent.cfg.setProperty("selected", false);
+
+            oParent.focus();
+
+        }
+
+        oParent.submenuIndicator.alt =
+            oParent.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "focus" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemFocus =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+
+        me.activeItem = oItem;
+
+    };
+
+/**
+* "blur" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemBlur =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+        var oSubmenu = oItem.cfg.getProperty("submenu");
+
+        if(!oSubmenu || (oSubmenu && !oSubmenu.cfg.getProperty("visible"))) {
+
+            me.activeItem = null;
+
+        }
+
+    };
+
+/**
+* "configchange" YAHOO.util.CustomEvent handler for the MenuModule
+* instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemConfigChange =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var sProperty = p_aArgs[0][0];
+        var oItem = p_aObjects[1];
+
+        switch(sProperty) {
+
+            case "submenu":
+
+                var oSubmenu = p_aArgs[0][1];
+
+                if(oSubmenu) {
+
+                    me._configureItemSubmenuModule(oItem);
+
+                }
+
+            break;
+
+            case "text":
+            case "helptext":
+
+                /*
+                    A change to an item's "text" or "helptext"
+                    configuration properties requires the width of the parent
+                    MenuModule instance to be recalculated.
+                */
+
+                if(me.element.style.width) {
+
+                    var sWidth = me._getOffsetWidth() + "px";
+
+                    me._oDom.setStyle(me.element, "width", sWidth);
+
+                }
+
+            break;
+
+        }
+
+    };
+
+/**
+* The default event handler executed when the moveEvent is fired, if the
+* "constraintoviewport" configuration property is set to true.
+*/
+YAHOO.widget.MenuModule.prototype.enforceConstraints =
+
+    function(type, args, obj) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+
+        var pos = args[0];
+
+        var x = pos[0];
+        var y = pos[1];
+
+        var bod = document.getElementsByTagName('body')[0];
+        var htm = document.getElementsByTagName('html')[0];
+
+        var bodyOverflow = Dom.getStyle(bod, "overflow");
+        var htmOverflow = Dom.getStyle(htm, "overflow");
+
+        var offsetHeight = this.element.offsetHeight;
+        var offsetWidth = this.element.offsetWidth;
+
+        var viewPortWidth = Dom.getClientWidth();
+        var viewPortHeight = Dom.getClientHeight();
+
+        var scrollX = window.scrollX || document.body.scrollLeft;
+        var scrollY = window.scrollY || document.body.scrollTop;
+
+        var topConstraint = scrollY + 10;
+        var leftConstraint = scrollX + 10;
+        var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+        var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+        var aContext = oConfig.getProperty("context");
+        var oContextElement = aContext ? aContext[0] : null;
+
+
+        if (x < 10) {
+
+            x = leftConstraint;
+
+        } else if ((x + offsetWidth) > viewPortWidth) {
+
+            if(
+                oContextElement &&
+                ((x - oContextElement.offsetWidth) > offsetWidth)
+            ) {
+
+                x = (x - (oContextElement.offsetWidth + offsetWidth));
+
+            }
+            else {
+
+                x = rightConstraint;
+
+            }
+
+        }
+
+        if (y < 10) {
+
+            y = topConstraint;
+
+        } else if (y > bottomConstraint) {
+
+            if(oContextElement && (y > offsetHeight)) {
+
+                y = ((y + oContextElement.offsetHeight) - offsetHeight);
+
+            }
+            else {
+
+                y = bottomConstraint;
+
+            }
+
+        }
+
+        oConfig.setProperty("x", x, true);
+        oConfig.setProperty("y", y, true);
+
+    };
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "position" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype.configPosition =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = p_aArgs[0] == "static" ? "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* Event handler for when the "iframe" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+* @see YAHOO.widget.Overlay#configIframe
+*/
+YAHOO.widget.MenuModule.prototype.configIframe =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            YAHOO.widget.MenuModule.superclass.configIframe.call(
+                this,
+                p_sType,
+                p_aArgs,
+                p_oMenuModule
+            );
+
+        }
+
+    };
+
+// Public methods
+
+YAHOO.widget.MenuModule.prototype.toString = function() {
+
+    return ("Menu " + this.id);
+
+};
+
+/**
+* Sets the title of a group of items.
+* @param {String} p_sGroupTitle The title of the group.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the title belongs.
+*/
+YAHOO.widget.MenuModule.prototype.setItemGroupTitle =
+
+    function(p_sGroupTitle, p_nGroupIndex) {
+
+        if(typeof p_sGroupTitle == "string" && p_sGroupTitle.length > 0) {
+
+            var Dom = this._oDom;
+
+            var nGroupIndex =
+                    typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+
+            var oTitle = this._aGroupTitleElements[nGroupIndex];
+
+
+            if(oTitle) {
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+            }
+            else {
+
+                oTitle = document.createElement(this.GROUP_TITLE_TAG_NAME);
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+                this._aGroupTitleElements[nGroupIndex] = oTitle;
+
+            }
+
+
+            var i = this._aGroupTitleElements.length - 1;
+            var nFirstIndex;
+
+            do {
+
+                if(this._aGroupTitleElements[i]) {
+
+                    Dom.removeClass(
+                        this._aGroupTitleElements[i],
+                        "first-of-type"
+                    );
+
+                    nFirstIndex = i;
+
+                }
+
+            }
+            while(i--);
+
+
+            if(nFirstIndex !== null) {
+
+                Dom.addClass(
+                    this._aGroupTitleElements[nFirstIndex],
+                    "first-of-type"
+                );
+
+            }
+
+        }
+
+    };
+
+/**
+* Appends the specified item to a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was added to the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.addItem = function(p_oItem, p_nGroupIndex) {
+
+    if(p_oItem) {
+
+        return this._addItemToGroup(p_nGroupIndex, p_oItem);
+
+    }
+
+};
+
+/**
+* Inserts an item into a MenuModule instance at the specified index.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be inserted.
+* @param {Number} p_nItemIndex Number indicating the ordinal position
+* at which the item should be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was inserted into the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.insertItem =
+
+    function(p_oItem, p_nItemIndex, p_nGroupIndex) {
+
+        if(p_oItem) {
+
+            return this._addItemToGroup(p_nGroupIndex, p_oItem, p_nItemIndex);
+
+        }
+
+    };
+
+/**
+* Removes the specified item from a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem/Number} p_oObject The item or index of
+* the item to be removed.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was removed from the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.removeItem =
+
+    function(p_oObject, p_nGroupIndex) {
+
+        if(typeof p_oObject != "undefined") {
+
+            var oItem;
+
+            if(p_oObject instanceof YAHOO.widget.MenuModuleItem) {
+
+                oItem =
+                    this._removeItemFromGroupByValue(p_nGroupIndex, p_oObject);
+
+            }
+            else if(typeof p_oObject == "number") {
+
+                oItem =
+                    this._removeItemFromGroupByIndex(p_nGroupIndex, p_oObject);
+
+            }
+
+            if(oItem) {
+
+                oItem.destroy();
+
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Returns a multi-dimensional array of all of a MenuModule's items.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype.getItemGroups = function() {
+
+    return this._aItemGroups;
+
+};
+
+/**
+* Returns the item at the specified index.
+* @param {Number} p_nItemIndex Number indicating the ordinal position of the
+* item to be retrieved.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return An item.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.getItem =
+
+    function(p_nItemIndex, p_nGroupIndex) {
+
+        if(typeof p_nItemIndex == "number") {
+
+            var aGroup = this._getItemGroup(p_nGroupIndex);
+
+            if(aGroup) {
+
+                return aGroup[p_nItemIndex];
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes the MenuModule instance's element from the DOM and sets all child
+* elements to null.
+*/
+YAHOO.widget.MenuModule.prototype.destroy = function() {
+
+    // Remove Custom Event listeners
+
+    this.mouseOverEvent.unsubscribeAll();
+    this.mouseOutEvent.unsubscribeAll();
+    this.mouseDownEvent.unsubscribeAll();
+    this.mouseUpEvent.unsubscribeAll();
+    this.clickEvent.unsubscribeAll();
+    this.keyPressEvent.unsubscribeAll();
+    this.keyDownEvent.unsubscribeAll();
+    this.keyUpEvent.unsubscribeAll();
+
+    var nItemGroups = this._aItemGroups.length;
+    var nItems;
+    var oItemGroup;
+    var oItem;
+    var i;
+    var n;
+
+    // Remove all items
+
+    if(nItemGroups > 0) {
+
+        i = nItemGroups - 1;
+
+        do {
+
+            oItemGroup = this._aItemGroups[i];
+
+            if(oItemGroup) {
+
+                nItems = oItemGroup.length;
+
+                if(nItems > 0) {
+
+                    n = nItems - 1;
+
+                    do {
+
+                        oItem = this._aItemGroups[i][n];
+
+                        if(oItem) {
+
+                            oItem.destroy();
+                        }
+
+                    }
+                    while(n--);
+
+                }
+
+            }
+
+        }
+        while(i--);
+
+    }
+
+    // Continue with the superclass implementation of this method
+
+    YAHOO.widget.MenuModule.superclass.destroy.call(this);
+
+
+};
+
+/**
+* Sets focus to a MenuModule instance's first enabled item.
+*/
+YAHOO.widget.MenuModule.prototype.setInitialFocus = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.focus();
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's first
+* enabled item to "true."
+*/
+YAHOO.widget.MenuModule.prototype.setInitialSelection = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.cfg.setProperty("selected", true);
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's active
+* item to "false," blurs the item and hide's the item's submenu.
+*/
+YAHOO.widget.MenuModule.prototype.clearActiveItem = function () {
+
+    if(this.activeItem) {
+
+        var oConfig = this.activeItem.cfg;
+
+        oConfig.setProperty("selected", false);
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.hide();
+
+        }
+
+    }
+
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuModule.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuModule.superclass.initDefaultConfig.call(this);
+
+    var oConfig = this.cfg;
+
+	// Add configuration properties
+
+    oConfig.addProperty(
+        "position",
+        {
+            value: "dynamic",
+            handler: this.configPosition,
+            validator: this._checkPosition
+        }
+    );
+
+//    this.cfg.refireEvent("position");
+
+    oConfig.addProperty("submenualignment", { value: ["tl","tr"] } );
+
+};
+
+/**
+* @class The MenuModuleItem class allows you to create and modify an item for a
+* MenuModule instance.
+* @constructor
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuModuleItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuModuleItem = function(p_oObject, p_oConfig) {
+
+    if(p_oObject) {
+
+        this.init(p_oObject, p_oConfig);
+
+    }
+
+};
+
+YAHOO.widget.MenuModuleItem.prototype = {
+
+    // Constants
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator.
+    * @final
+    * @type String
+    */
+    SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_nrm_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is selected.
+    * @final
+    * @type String
+    */
+    SELECTED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_hov_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_dim_1.gif",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator.
+    * @final
+    * @type String
+    */
+    COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT: "Collapsed.  Click to expand.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when the submenu is visible.
+    * @final
+    * @type String
+    */
+    EXPANDED_SUBMENU_INDICATOR_ALT_TEXT: "Expanded.  Click to collapse.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_ALT_TEXT: "Disabled.",
+
+    /**
+    * Constant representing the CSS class(es) to be applied to the root
+    * HTMLLIElement of the MenuModuleItem.
+    * @final
+    * @type String
+    */
+    CSS_CLASS_NAME: "yuimenuitem",
+
+    /**
+    * Constant representing the type of menu to instantiate when creating
+    * submenu instances from parsing the child nodes (either HTMLSelectElement
+    * or HTMLDivElement) of the item's DOM.  The default
+    * is YAHOO.widget.MenuModule.
+    * @final
+    * @type YAHOO.widget.MenuModule
+    */
+    SUBMENU_TYPE: null,
+
+    /**
+    * Constant representing the type of item to instantiate when
+    * creating item instances from parsing the child nodes (either
+    * HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * submenu's DOM.
+    * The default is YAHOO.widget.MenuModuleItem.
+    * @final
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    SUBMENU_ITEM_TYPE: null,
+
+    /**
+    * Constant representing the prefix path to use for non-secure images
+    * @type string
+    */
+    IMG_ROOT: "http://us.i1.yimg.com/us.yimg.com/i/",
+
+
+    /**
+    * Constant representing the prefix path to use for securely served images
+    * @type string
+    */
+    IMG_ROOT_SSL: "https://a248.e.akamai.net/sec.yimg.com/i/",
+
+    // Private member variables
+
+    /**
+    * Reference to the HTMLAnchorElement of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {HTMLAnchorElement}
+    */
+    _oAnchor: null,
+
+
+    /**
+    * Reference to the text node of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {Text}
+    */
+    _oText: null,
+
+
+    /**
+    * Reference to the HTMLElement (&#60;EM&#60;) used to create the optional
+    * help text for a MenuModuleItem instance.
+    * @private
+    * @type {HTMLElement}
+    */
+    _oHelpTextEM: null,
+
+
+    /**
+    * Reference to the submenu for a MenuModuleItem instance.
+    * @private
+    * @type {YAHOO.widget.MenuModule}
+    */
+    _oSubmenu: null,
+
+
+    /**
+    * Reference to the Dom utility singleton.
+    * @private
+    * @type {YAHOO.util.Dom}
+    */
+    _oDom: YAHOO.util.Dom,
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseover" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOverEvent: false,
+
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseout" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOutEvent: false,
+
+    // Public properties
+
+	/**
+	* The class's constructor function
+	* @type YAHOO.widget.MenuModuleItem
+	*/
+	constructor: YAHOO.widget.MenuModuleItem,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot: null,
+
+	/**
+	* Boolean representing whether or not the current browsing context
+	* is secure (https)
+	* @type boolean
+	*/
+	isSecure: YAHOO.widget.Module.prototype.isSecure,
+
+    /**
+    * Returns the ordinal position of a MenuModuleItem instance in a group.
+    * @type Number
+    */
+    index: null,
+
+    /**
+    * Returns the index of the group to which a MenuModuleItem instance belongs.
+    * @type Number
+    */
+    groupIndex: null,
+
+    /**
+    * Returns the parent object for a MenuModuleItem instance.
+    * @type {YAHOO.widget.MenuModule}
+    */
+    parent: null,
+
+    /**
+    * Returns the HTMLLIElement for a MenuModuleItem instance.
+    * @type {HTMLLIElement}
+    */
+    element: null,
+
+    /**
+    * Returns the HTMLElement (either HTMLLIElement, HTMLOptGroupElement or
+    * HTMLOptionElement) used create the MenuModuleItem instance.
+    * @type {HTMLLIElement/HTMLOptGroupElement/HTMLOptionElement}
+    */
+    srcElement: null,
+
+    /**
+    * Specifies an arbitrary value for a MenuModuleItem instance.
+    * @type {Object}
+    */
+    value: null,
+
+    /**
+    * Reference to the HTMLImageElement used to create the submenu
+    * indicator for a MenuModuleItem instance.
+    * @type {HTMLImageElement}
+    */
+    submenuIndicator: null,
+
+	/**
+	* String representing the browser
+	* @type string
+	*/
+	browser: YAHOO.widget.Module.prototype.browser,
+
+    // Events
+
+    /**
+    * Fires when a MenuModuleItem instances's HTMLLIElement is removed from
+    * it's parent HTMLUListElement node.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    destroyEvent: null,
+
+    /**
+    * Fires when the mouse has entered a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOverEvent: null,
+
+    /**
+    * Fires when the mouse has left a MenuModuleItem instance.  Passes back
+    * the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOutEvent: null,
+
+    /**
+    * Fires when the user mouses down on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseDownEvent: null,
+
+    /**
+    * Fires when the user releases a mouse button while the mouse is
+    * over a MenuModuleItem instance.  Passes back the DOM Event object as
+    * an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseUpEvent: null,
+
+    /**
+    * Fires when the user clicks the on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    clickEvent: null,
+
+    /**
+    * Fires when the user presses an alphanumeric key.  Passes back the
+    * DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyPressEvent: null,
+
+    /**
+    * Fires when the user presses a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyDownEvent: null,
+
+    /**
+    * Fires when the user releases a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyUpEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance receives focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    focusEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance loses the input focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    blurEvent: null,
+
+    /**
+    * The MenuModuleItem class's initialization method. This method is
+    * automatically called by the constructor, and sets up all DOM references
+    * for pre-existing markup, and creates required markup if it is not
+    * already present.
+    * @param {String or HTMLElement} p_oObject String or HTMLElement
+    * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * source HTMLElement node.
+    * @param {Object} p_oConfig The configuration object literal containing
+    * the configuration for a MenuModuleItem instance. See the configuration
+    * class documentation for more details.
+    */
+    init: function(p_oObject, p_oConfig) {
+
+        this.imageRoot = (this.isSecure) ? this.IMG_ROOT_SSL : this.IMG_ROOT;
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.MenuModule;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+        }
+
+        // Create the config object
+
+        this.cfg = new YAHOO.util.Config(this);
+
+        this.initDefaultConfig();
+
+        var oConfig = this.cfg;
+
+        if(this._checkString(p_oObject)) {
+
+            this._createRootNodeStructure();
+
+            oConfig.setProperty("text", p_oObject);
+
+        }
+        else if(this._checkDOMNode(p_oObject)) {
+
+            switch(p_oObject.tagName) {
+
+                case "OPTION":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.text);
+
+                    this.srcElement = p_oObject;
+
+                break;
+
+                case "OPTGROUP":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.label);
+
+                    this.srcElement = p_oObject;
+
+                    this._initSubTree();
+
+                break;
+
+                case "LI":
+
+                    // Get the anchor node (if it exists)
+
+                    var oAnchor = this._getFirstElement(p_oObject, "A");
+                    var sURL = "#";
+                    var sTarget = null;
+                    var sText = null;
+
+                    // Capture the "text" and/or the "URL"
+
+                    if(oAnchor) {
+
+                        sURL = oAnchor.getAttribute("href");
+                        sTarget = oAnchor.getAttribute("target");
+
+                        if(oAnchor.innerText) {
+
+                            sText = oAnchor.innerText;
+
+                        }
+                        else {
+
+                            var oRange = oAnchor.ownerDocument.createRange();
+
+                            oRange.selectNodeContents(oAnchor);
+
+                            sText = oRange.toString();
+
+                        }
+
+                    }
+                    else {
+
+                        var oText = p_oObject.firstChild;
+
+                        sText = oText.nodeValue;
+
+                        oAnchor = document.createElement("a");
+
+                        oAnchor.setAttribute("href", sURL);
+
+                        p_oObject.replaceChild(oAnchor, oText);
+
+                        oAnchor.appendChild(oText);
+
+                    }
+
+                    this.srcElement = p_oObject;
+                    this.element = p_oObject;
+                    this._oAnchor = oAnchor;
+
+
+                    // Check if emphasis has been applied to the MenuModuleItem
+
+                    var oEmphasisNode = this._getFirstElement(oAnchor);
+                    var bEmphasis = false;
+                    var bStrongEmphasis = false;
+
+                    if(oEmphasisNode) {
+
+                        // Set a reference to the text node
+
+                        this._oText = oEmphasisNode.firstChild;
+
+                        switch(oEmphasisNode.tagName) {
+
+                            case "EM":
+
+                                bEmphasis = true;
+
+                            break;
+
+                            case "STRONG":
+
+                                bStrongEmphasis = true;
+
+                            break;
+
+                        }
+
+                    }
+                    else {
+
+                        // Set a reference to the text node
+
+                        this._oText = oAnchor.firstChild;
+
+                    }
+
+                    /*
+                        Set these properties silently to sync up the
+                        configuration object without making changes to the
+                        element's DOM
+                    */
+
+                    oConfig.setProperty("text", sText, true);
+                    oConfig.setProperty("url", sURL, true);
+                    oConfig.setProperty("target", sTarget, true);
+                    oConfig.setProperty("emphasis", bEmphasis, true);
+                    oConfig.setProperty(
+                        "strongemphasis",
+                        bStrongEmphasis,
+                        true
+                    );
+
+                    this._initSubTree();
+
+                break;
+
+            }
+
+        }
+
+        if(this.element) {
+
+            this._oDom.addClass(this.element, this.CSS_CLASS_NAME);
+
+            // Create custom events
+
+            var CustomEvent = YAHOO.util.CustomEvent;
+
+            this.destroyEvent = new CustomEvent("destroyEvent", this);
+            this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+            this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+            this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+            this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+            this.clickEvent = new CustomEvent("clickEvent", this);
+            this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+            this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+            this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+            this.focusEvent = new CustomEvent("focusEvent", this);
+            this.blurEvent = new CustomEvent("blurEvent", this);
+
+            // Subscribe to custom event
+
+            this.clickEvent.subscribe(this._onMenuModuleItemClick, this, true);
+
+            if(p_oConfig) {
+
+                oConfig.applyConfig(p_oConfig);
+
+            }
+
+            oConfig.fireQueue();
+
+        }
+
+    },
+
+    // Private methods
+
+    /**
+    * Returns an HTMLElement's first HTMLElement node
+    * @private
+    * @param {HTMLElement} p_oElement The element to be evaluated.
+    * @param {String} p_sTagName Optional. The tagname of the element.
+    * @return Returns an HTMLElement node.
+    * @type Boolean
+    */
+    _getFirstElement: function(p_oElement, p_sTagName) {
+
+        var oElement;
+
+        if(p_oElement.firstChild && p_oElement.firstChild.nodeType == 1) {
+
+            oElement = p_oElement.firstChild;
+
+        }
+        else if(
+            p_oElement.firstChild &&
+            p_oElement.firstChild.nextSibling &&
+            p_oElement.firstChild.nextSibling.nodeType == 1
+        ) {
+
+            oElement = p_oElement.firstChild.nextSibling;
+
+        }
+
+        if(p_sTagName) {
+
+            return (oElement && oElement.tagName == p_sTagName) ?
+                oElement : false;
+
+        }
+
+        return oElement;
+
+    },
+
+    /**
+    * Determines if an object is a string
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is a string.
+    * @type Boolean
+    */
+    _checkString: function(p_oObject) {
+
+        return (typeof p_oObject == "string");
+
+    },
+
+    /**
+    * Determines if an object is an HTMLElement.
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is an HTMLElement.
+    * @type Boolean
+    */
+    _checkDOMNode: function(p_oObject) {
+
+        return (p_oObject && p_oObject.tagName);
+
+    },
+
+    /**
+    * Creates the core DOM structure for a MenuModuleItem instance.
+    * @private
+    */
+    _createRootNodeStructure: function () {
+
+        this.element = document.createElement("li");
+
+        this._oText = document.createTextNode("");
+
+        this._oAnchor = document.createElement("a");
+        this._oAnchor.appendChild(this._oText);
+
+        this.cfg.refireEvent("url");
+
+        this.element.appendChild(this._oAnchor);
+
+    },
+
+    /**
+    * Iterates the source element's childNodes collection and uses the
+    * child nodes to instantiate other menus.
+    * @private
+    */
+    _initSubTree: function() {
+
+        var Menu = this.SUBMENU_TYPE;
+        var MenuModuleItem = this.SUBMENU_ITEM_TYPE;
+        var oSrcEl = this.srcElement;
+        var oConfig = this.cfg;
+
+        if(oSrcEl.childNodes.length > 0) {
+
+            var oNode = oSrcEl.firstChild;
+            var aOptions = [];
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "DIV":
+
+                        oConfig.setProperty("submenu", (new Menu(oNode)));
+
+                    break;
+
+                    case "OPTION":
+
+                        aOptions[aOptions.length] = oNode;
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+            var nOptions = aOptions.length;
+
+            if(nOptions > 0) {
+
+                oConfig.setProperty(
+                    "submenu",
+                    (new Menu(this._oDom.generateId()))
+                );
+
+                for(var n=0; n<nOptions; n++) {
+
+                    this._oSubmenu.addItem((new MenuModuleItem(aOptions[n])));
+
+                }
+
+            }
+
+        }
+
+    },
+
+    /**
+    * "click" event handler for a MenuModuleItem
+    * @private
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the event
+    * was fired.
+    * @param {YAHOO.widget.MenuItem} p_oMenuModuleItem The MenuModule instance
+    * that fired the event.
+    */
+    _onMenuModuleItemClick: function(p_sType, p_aArgs, p_oMenuModuleItem) {
+
+        var Event = YAHOO.util.Event;
+        var oEvent = p_aArgs[0];
+        var oTarget = Event.getTarget(oEvent);
+        var oSubmenu = this.cfg.getProperty("submenu");
+
+        /*
+            ACCESSIBILITY FEATURE FOR SCREEN READERS: Expand/collapse the
+            submenu when the user clicks on the submenu indicator image.
+        */
+
+        if(oTarget == this.submenuIndicator && oSubmenu) {
+
+            if(oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+            else {
+
+                var oActiveItem = this.parent.activeItem;
+
+
+                // Hide any other submenus that might be visible
+
+                if(oActiveItem && oActiveItem != this) {
+
+                    this.parent.clearActiveItem();
+
+                }
+
+                this.parent.activeItem = this;
+
+                this.cfg.setProperty("selected", true);
+
+                oSubmenu.show();
+
+            }
+
+        }
+        else {
+
+            var sURL = this.cfg.getProperty("url");
+            var bCurrentPageURL = (sURL.substr((sURL.length-1),1) == "#");
+
+            var sTarget = this.cfg.getProperty("target");
+            var bHasTarget = (sTarget && sTarget.length > 0);
+
+            // Prevent the browser from following links equal to "#"
+
+            if(oTarget.tagName == "A" && bCurrentPageURL && !bHasTarget) {
+
+                Event.preventDefault(oEvent);
+
+            }
+
+            if(oTarget.tagName != "A" && !bCurrentPageURL && !bHasTarget) {
+
+                /*
+                    Follow the URL of the item regardless of whether or
+                    not the user clicked specifically on the
+                    HTMLAnchorElement (&#60;A&#60;) node.
+                */
+
+                document.location = sURL;
+
+            }
+
+        }
+
+    },
+
+    // Event handlers for configuration properties
+
+    /**
+    * Event handler for when the "text" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configText: function(p_sType, p_aArgs, p_oItem) {
+
+        var sText = p_aArgs[0];
+
+        if(this._oText) {
+
+            this._oText.nodeValue = sText;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "helptext" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configHelpText: function(p_sType, p_aArgs, p_oItem) {
+
+        var me = this;
+        var Dom = this._oDom;
+        var oHelpText = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var aNodes = [oEl, this._oAnchor];
+        var oImg = this.submenuIndicator;
+
+        /**
+        * Adds the "hashelptext" class to the necessary nodes and refires the
+        * "selected" and "disabled" configuration events
+        * @ignore
+        */
+        function initHelpText() {
+
+            Dom.addClass(aNodes, "hashelptext");
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+
+        /**
+        * Removes the "hashelptext" class and corresponding DOM element (EM)
+        * @ignore
+        */
+        function removeHelpText() {
+
+            Dom.removeClass(aNodes, "hashelptext");
+
+            oEl.removeChild(me._oHelpTextEM);
+            me._oHelpTextEM = null;
+
+        }
+
+        if(this._checkDOMNode(oHelpText)) {
+
+            if(this._oHelpTextEM) {
+
+                this._oHelpTextEM.parentNode.replaceChild(
+                    oHelpText,
+                    this._oHelpTextEM
+                );
+
+            }
+            else {
+
+                this._oHelpTextEM = oHelpText;
+
+                oEl.insertBefore(this._oHelpTextEM, oImg);
+
+            }
+
+            initHelpText();
+
+        }
+        else if(this._checkString(oHelpText)) {
+
+            if(oHelpText.length === 0) {
+
+                removeHelpText();
+
+            }
+            else {
+
+                if(!this._oHelpTextEM) {
+
+                    this._oHelpTextEM = document.createElement("em");
+
+                    oEl.insertBefore(this._oHelpTextEM, oImg);
+
+                }
+
+                this._oHelpTextEM.innerHTML = oHelpText;
+
+                initHelpText();
+
+            }
+
+        }
+        else if(!oHelpText && this._oHelpTextEM) {
+
+            removeHelpText();
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "url" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configURL: function(p_sType, p_aArgs, p_oItem) {
+
+        var sURL = p_aArgs[0];
+
+        if(!sURL) {
+
+            sURL = "#";
+
+        }
+
+        this._oAnchor.setAttribute("href", sURL);
+
+    },
+
+    /**
+    * Event handler for when the "target" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configTarget: function(p_sType, p_aArgs, p_oItem) {
+
+        var sTarget = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+
+        if(sTarget && sTarget.length > 0) {
+
+            oAnchor.setAttribute("target", sTarget);
+
+        }
+        else {
+
+            oAnchor.removeAttribute("target");
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "emphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oEM;
+
+        if(bEmphasis && oConfig.getProperty("strongemphasis")) {
+
+            oConfig.setProperty("strongemphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bEmphasis) {
+
+                oEM = document.createElement("em");
+                oEM.appendChild(oText);
+
+                oAnchor.appendChild(oEM);
+
+            }
+            else {
+
+                oEM = this._getFirstElement(oAnchor, "EM");
+
+                oAnchor.removeChild(oEM);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "strongemphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bStrongEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oStrong;
+
+        if(bStrongEmphasis && oConfig.getProperty("emphasis")) {
+
+            oConfig.setProperty("emphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bStrongEmphasis) {
+
+                oStrong = document.createElement("strong");
+                oStrong.appendChild(oText);
+
+                oAnchor.appendChild(oStrong);
+
+            }
+            else {
+
+                oStrong = this._getFirstElement(oAnchor, "STRONG");
+
+                oAnchor.removeChild(oStrong);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "disabled" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configDisabled: function(p_sType, p_aArgs, p_oItem) {
+
+        var bDisabled = p_aArgs[0];
+        var Dom = this._oDom;
+        var oAnchor = this._oAnchor;
+        var aNodes = [this.element, oAnchor];
+        var oEM = this._oHelpTextEM;
+        var oConfig = this.cfg;
+        var oImg = this.submenuIndicator;
+        var sImageSrc;
+        var sImageAlt;
+
+        if(oEM) {
+
+            aNodes[2] = oEM;
+
+        }
+
+        if(bDisabled) {
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.setProperty("selected", false);
+
+            }
+
+            oAnchor.removeAttribute("href");
+
+            Dom.addClass(aNodes, "disabled");
+
+            sImageSrc = this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.DISABLED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+        else {
+
+            oAnchor.setAttribute("href", oConfig.getProperty("url"));
+
+            Dom.removeClass(aNodes, "disabled");
+
+            sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+
+        if(oImg) {
+
+            oImg.src = this.imageRoot + sImageSrc;
+            oImg.alt = sImageAlt;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "selected" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSelected: function(p_sType, p_aArgs, p_oItem) {
+
+        if(!this.cfg.getProperty("disabled")) {
+
+            var Dom = this._oDom;
+            var bSelected = p_aArgs[0];
+            var oEM = this._oHelpTextEM;
+            var aNodes = [this.element, this._oAnchor];
+            var oImg = this.submenuIndicator;
+            var sImageSrc;
+
+            if(oEM) {
+
+                aNodes[aNodes.length] = oEM;
+
+            }
+
+            if(oImg) {
+
+                aNodes[aNodes.length] = oImg;
+
+            }
+
+            if(bSelected) {
+
+                Dom.addClass(aNodes, "selected");
+                sImageSrc = this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+            else {
+
+                Dom.removeClass(aNodes, "selected");
+                sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+
+            if(oImg) {
+
+                oImg.src = document.images[(this.imageRoot + sImageSrc)].src;
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "submenu" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSubmenu: function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = this._oDom;
+        var oEl = this.element;
+        var oSubmenu = p_aArgs[0];
+        var oImg = this.submenuIndicator;
+        var oConfig = this.cfg;
+        var aNodes = [this.element, this._oAnchor];
+
+        if(oSubmenu) {
+
+            // Set the submenu's parent to this MenuModuleItem instance
+
+            oSubmenu.parent = this;
+
+            this._oSubmenu = oSubmenu;
+
+            if(!oImg) {
+
+                var me = this;
+
+                function preloadImage(p_sPath) {
+
+                    var sPath = me.imageRoot + p_sPath;
+
+                    if(!document.images[sPath]) {
+
+                        var oImage = document.createElement("img");
+                        oImage.src = sPath;
+                        oImage.name = sPath;
+                        oImage.id = sPath;
+                        oImage.style.display = "none";
+
+                        document.body.appendChild(oImage);
+
+                    }
+
+                }
+
+                preloadImage(this.SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH);
+
+                oImg = document.createElement("img");
+                oImg.src = (this.imageRoot + this.SUBMENU_INDICATOR_IMAGE_PATH);
+                oImg.alt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+                oEl.appendChild(oImg);
+
+                this.submenuIndicator = oImg;
+
+                Dom.addClass(aNodes, "hassubmenu");
+
+                if(oConfig.getProperty("disabled")) {
+
+                    oConfig.refireEvent("disabled");
+
+                }
+
+                if(oConfig.getProperty("selected")) {
+
+                    oConfig.refireEvent("selected");
+
+                }
+
+            }
+
+        }
+        else {
+
+            Dom.removeClass(aNodes, "hassubmenu");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            if(this._oSubmenu) {
+
+                this._oSubmenu.destroy();
+
+            }
+
+        }
+
+    },
+
+    // Public methods
+
+	/**
+	* Initializes an item's configurable properties.
+	*/
+	initDefaultConfig : function() {
+
+        var oConfig = this.cfg;
+        var CheckBoolean = oConfig.checkBoolean;
+
+        // Define the config properties
+
+        oConfig.addProperty(
+            "text",
+            {
+                value: "",
+                handler: this.configText,
+                validator: this._checkString,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("helptext", { handler: this.configHelpText });
+
+        oConfig.addProperty(
+            "url",
+            { value: "#", handler: this.configURL, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "target",
+            { handler: this.configTarget, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "emphasis",
+            {
+                value: false,
+                handler: this.configEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "strongemphasis",
+            {
+                value: false,
+                handler: this.configStrongEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "disabled",
+            {
+                value: false,
+                handler: this.configDisabled,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "selected",
+            {
+                value: false,
+                handler: this.configSelected,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("submenu", { handler: this.configSubmenu });
+
+	},
+
+    /**
+    * Finds the next enabled MenuModuleItem instance in a MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getNextEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the next item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getNextArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getNextArrayItem(p_aArray, (p_nStartIndex+1));
+
+            }
+
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oNextItem;
+
+
+            if(this.index < (aItemGroups[nGroupIndex].length - 1)) {
+
+                oNextItem = getNextArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index+1)
+                    );
+
+            }
+            else {
+
+                var nNextGroupIndex;
+
+                if(nGroupIndex < (aItemGroups.length - 1)) {
+
+                    nNextGroupIndex = nGroupIndex + 1;
+
+                }
+                else {
+
+                    nNextGroupIndex = 0;
+
+                }
+
+                var aNextGroup = getNextArrayItem(aItemGroups, nNextGroupIndex);
+
+                // Retrieve the first MenuModuleItem instance in the next group
+
+                oNextItem = getNextArrayItem(aNextGroup, 0);
+
+            }
+
+            return (
+                oNextItem.cfg.getProperty("disabled") ||
+                oNextItem.element.style.display == "none"
+            ) ?
+            oNextItem.getNextEnabledSibling() : oNextItem;
+
+        }
+
+    },
+
+    /**
+    * Finds the previous enabled MenuModuleItem instance in a
+    * MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getPreviousEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the previous item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getPreviousArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getPreviousArrayItem(p_aArray, (p_nStartIndex-1));
+
+            }
+
+            /**
+            * Get the index of the first item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getFirstItemIndex(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ?
+                    p_nStartIndex :
+                    getFirstItemIndex(p_aArray, (p_nStartIndex+1));
+
+            }
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oPreviousItem;
+
+            if(
+                this.index > getFirstItemIndex(aItemGroups[nGroupIndex], 0)
+            ) {
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index-1)
+                    );
+
+            }
+            else {
+
+                var nPreviousGroupIndex;
+
+                if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) {
+
+                    nPreviousGroupIndex = nGroupIndex - 1;
+
+                }
+                else {
+
+                    nPreviousGroupIndex = aItemGroups.length - 1;
+
+                }
+
+                var aPreviousGroup =
+                        getPreviousArrayItem(aItemGroups, nPreviousGroupIndex);
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aPreviousGroup,
+                        (aPreviousGroup.length - 1)
+                    );
+
+            }
+
+            return (
+                oPreviousItem.cfg.getProperty("disabled") ||
+                oPreviousItem.element.style.display == "none"
+            ) ?
+            oPreviousItem.getPreviousEnabledSibling() : oPreviousItem;
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to receive the focus and fires the
+    * focus event.
+    */
+    focus: function() {
+
+        var oParent = this.parent;
+        var oAnchor = this._oAnchor;
+        var oActiveItem = oParent.activeItem;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            oParent.cfg.getProperty("visible") &&
+            this.element.style.display != "none"
+        ) {
+
+            if(oActiveItem) {
+
+                oActiveItem.blur();
+
+            }
+
+            oAnchor.focus();
+
+            this.focusEvent.fire();
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to lose focus and fires the onblur event.
+    */
+    blur: function() {
+
+        var oParent = this.parent;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            this._oDom.getStyle(oParent.element, "visibility") == "visible"
+        ) {
+
+            this._oAnchor.blur();
+
+            this.blurEvent.fire();
+
+        }
+
+    },
+
+	/**
+	* Removes a MenuModuleItem instance's HTMLLIElement from it's parent
+    * HTMLUListElement node.
+	*/
+    destroy: function() {
+
+        var oEl = this.element;
+
+        if(oEl) {
+
+            // Remove CustomEvent listeners
+
+            this.mouseOverEvent.unsubscribeAll();
+            this.mouseOutEvent.unsubscribeAll();
+            this.mouseDownEvent.unsubscribeAll();
+            this.mouseUpEvent.unsubscribeAll();
+            this.clickEvent.unsubscribeAll();
+            this.keyPressEvent.unsubscribeAll();
+            this.keyDownEvent.unsubscribeAll();
+            this.keyUpEvent.unsubscribeAll();
+            this.focusEvent.unsubscribeAll();
+            this.blurEvent.unsubscribeAll();
+            this.cfg.configChangedEvent.unsubscribeAll();
+
+            // Remove the element from the parent node
+
+            var oParentNode = oEl.parentNode;
+
+            if(oParentNode) {
+
+                oParentNode.removeChild(oEl);
+
+                this.destroyEvent.fire();
+
+            }
+
+            this.destroyEvent.unsubscribeAll();
+
+        }
+
+    }
+
+};
+
+/**
+* @class Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.Menu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.Menu, YAHOO.widget.MenuModule);
+
+/**
+* The Menu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.Menu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.Menu);
+
+    // Add event handlers
+
+    this.showEvent.subscribe(this._onMenuShow, this, true);
+    this.mouseOverEvent.subscribe(this._onMenuMouseOver, this, true);
+    this.keyDownEvent.subscribe(this._onMenuKeyDown, this, true);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.Menu);
+
+};
+
+// Private event handlers
+
+/**
+* "show" Custom Event handler for a menu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The menu that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuShow =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var oParent = this.parent;
+
+        if(oParent && oParent.parent instanceof YAHOO.widget.Menu) {
+
+            var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+            this.cfg.setProperty(
+                "submenualignment",
+                [ aAlignment[0], aAlignment[1] ]
+            );
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        /*
+            If the menu is a submenu, then select the menu's parent
+            MenuItem instance
+        */
+
+        if(this.parent) {
+
+            this.parent.cfg.setProperty("selected", true);
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var oDOMEvent = p_aArgs[0];
+            var oParent = this.parent;
+
+            if(oDOMEvent.keyCode == 27) { // Esc key
+
+                this.hide();
+
+                // Set focus to the parent MenuItem if one exists
+
+                if(oParent) {
+
+                    oParent.focus();
+
+                    if(oParent.parent instanceof YAHOO.widget.Menu) {
+
+                        oParent.cfg.setProperty("selected", true);
+
+                    }
+
+                    YAHOO.util.Event.preventDefault(oDOMEvent);
+
+                }
+
+            }
+
+        }
+
+    };
+
+
+// Public event handlers
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Menu.prototype.onDomResize = function(e, obj) {
+
+    if(!this._handleResize) {
+
+        this._handleResize = true;
+        return;
+
+    }
+
+
+    var me = this;
+    var oConfig = this.cfg;
+
+    if(oConfig.getProperty("position") == "dynamic") {
+
+        oConfig.setProperty("width", (this._getOffsetWidth() + "px"));
+
+        if(this.parent && oConfig.getProperty("visible")) {
+
+            function align() {
+
+                me.align();
+
+            }
+
+            window.setTimeout(align, 0);
+
+        }
+
+    }
+
+    YAHOO.widget.Menu.superclass.onDomResize.call(this, e, obj);
+
+};
+
+/**
+* @class The MenuItem class allows you to create and modify an item for a
+* Menu instance.  MenuItem extends YAHOO.widget.MenuModuleItem to provide a
+* set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+    this.mouseOverEvent.subscribe(this._onMouseOver, this, true);
+    this.mouseOutEvent.subscribe(this._onMouseOut, this, true);
+    this.clickEvent.subscribe(this._onClick, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the path to the image to be used for the checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the selected
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the disabled
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_dim_1.gif";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_ALT_TEXT = "Checked.";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image when the item is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_ALT_TEXT =
+    "Checked. (Item disabled.)";
+
+// Private properties
+
+/**
+* Reference to the HTMLImageElement used to create the checked
+* indicator for a MenuItem instance.
+* @private
+* @type {HTMLImageElement}
+*/
+YAHOO.widget.MenuItem.prototype._checkImage = null;
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oMenuItem;
+
+
+        switch(oDOMEvent.keyCode) {
+
+            case 38:    // Up arrow
+            case 40:    // Down arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 38) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 39:    // Right arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+                else if(
+                    YAHOO.widget.MenuBarItem &&
+                    oParent.parent &&
+                    oParent.parent instanceof YAHOO.widget.MenuBarItem
+                ) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 37:    // Left arrow
+
+                // Only hide if this this is a MenuItem of a submenu
+
+                if(oParent.parent) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oActiveItem = oParent.activeItem;
+
+
+        // Hide any other submenus that might be visible
+
+        if(oActiveItem && oActiveItem != this) {
+
+            oParent.clearActiveItem();
+
+        }
+
+
+        // Select and focus the current MenuItem instance
+
+        oConfig.setProperty("selected", true);
+        this.focus();
+
+
+        // Show the submenu for this instance
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.show();
+
+        }
+
+    };
+
+/**
+* "mouseout" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOut =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oConfig = this.cfg;
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        oConfig.setProperty("selected", false);
+
+        if(oSubmenu) {
+
+            var oDOMEvent = p_aArgs[0];
+            var oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oDOMEvent);
+
+            if(
+                !(
+                    oRelatedTarget == oSubmenu.element ||
+                    YAHOO.util.Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                )
+            ) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "click" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onClick =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        function findRoot(p_oMenu) {
+
+            var oItem = p_oMenu.parent; // The parent MenuItem instance
+
+            if(oItem) {
+
+                var oParentMenu = oItem.parent;
+
+                if(
+                    oParentMenu &&
+                    (oParentMenu instanceof YAHOO.widget.Menu) &&
+                    oParentMenu.cfg.getProperty("position") == "dynamic"
+                ) {
+
+                    return findRoot(oParentMenu);
+
+                }
+
+            }
+
+            return p_oMenu;
+
+        }
+
+
+        var oRoot = findRoot(this.parent);
+        var sURL = this.cfg.getProperty("url");
+
+        if(
+            (sURL.substr((sURL.length-1),1) == "#") &&
+            oRoot &&
+            oRoot.cfg.getProperty("position") == "dynamic"
+        ) {
+
+            oRoot.hide();
+
+        }
+
+    };
+
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "checked" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configChecked =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = YAHOO.util.Dom;
+        var bChecked = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var oImg;
+
+
+        if(bChecked) {
+
+            var me = this;
+
+            function preloadImage(p_sPath) {
+
+                var sPath = me.imageRoot + p_sPath;
+
+                if(!document.images[sPath]) {
+
+                    var oImage = document.createElement("img");
+                    oImage.src = sPath;
+                    oImage.name = sPath;
+                    oImage.id = sPath;
+                    oImage.style.display = "none";
+
+                    document.body.appendChild(oImage);
+
+                }
+
+            }
+
+            preloadImage(this.CHECKED_IMAGE_PATH);
+            preloadImage(this.SELECTED_CHECKED_IMAGE_PATH);
+            preloadImage(this.DISABLED_CHECKED_IMAGE_PATH);
+
+            oImg = document.createElement("img");
+            oImg.src = (this.imageRoot + this.CHECKED_IMAGE_PATH);
+            oImg.alt = this.CHECKED_IMAGE_ALT_TEXT;
+
+            var oSubmenu = this.cfg.getProperty("submenu");
+
+            if(oSubmenu) {
+
+                oEl.insertBefore(oImg, oSubmenu.element);
+
+            }
+            else {
+
+                oEl.appendChild(oImg);
+
+            }
+
+            Dom.addClass([oEl, oImg], "checked");
+
+            this._checkImage = oImg;
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+        else {
+
+            oImg = this._checkImage;
+
+            Dom.removeClass([oEl, oImg], "checked");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            this._checkImage = null;
+
+        }
+
+    };
+
+
+/**
+* Event handler for when the "selected" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configSelected =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configSelected.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        var oConfig = this.cfg;
+
+        if(!oConfig.getProperty("disabled") && oConfig.getProperty("checked")) {
+
+            var bSelected = p_aArgs[0];
+
+            var sSrc = this.imageRoot + (bSelected ?
+                this.SELECTED_CHECKED_IMAGE_PATH : this.CHECKED_IMAGE_PATH);
+
+            this._checkImage.src = document.images[sSrc].src;
+
+        }
+
+    };
+
+/**
+* Event handler for when the "disabled" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configDisabled =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configDisabled.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        if(this.cfg.getProperty("checked")) {
+
+            var bDisabled = p_aArgs[0];
+            var sAlt = this.CHECKED_IMAGE_ALT_TEXT;
+            var sSrc = this.CHECKED_IMAGE_PATH;
+            var oImg = this._checkImage;
+
+            if(bDisabled) {
+
+                sAlt = this.DISABLED_CHECKED_IMAGE_ALT_TEXT;
+                sSrc = this.DISABLED_CHECKED_IMAGE_PATH;
+
+            }
+
+            oImg.src = document.images[(this.imageRoot + sSrc)].src;
+            oImg.alt = sAlt;
+
+        }
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuItem.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuItem.superclass.initDefaultConfig.call(this);
+
+	// Add configuration properties
+
+    this.cfg.addProperty(
+        "checked",
+        {
+            value: false,
+            handler: this.configChecked,
+            validator: this.cfg.checkBoolean,
+            suppressEvent: true,
+            supercedes:["disabled"]
+        }
+    );
+
+};
+
+/**
+* @class Creates a list of options which vary depending on the context in
+* which the menu is invoked.
+* @constructor
+* @extends YAHOO.widget.Menu
+* @base YAHOO.widget.Menu
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.ContextMenu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu);
+
+// Private properties
+
+/**
+* Array of ContextMenu instances
+* @private
+* @type {Array}
+*/
+YAHOO.widget.ContextMenu._aMenus = [];
+
+/**
+* The id(s) or element(s) that trigger the display of the ContextMenu instance
+* @private
+* @type {String/Array/HTMLElement}
+*/
+YAHOO.widget.ContextMenu.prototype._oTrigger = null;
+
+// Public properties
+
+/**
+* Returns the HTMLElement node that was the target of the "contextmenu"
+* DOM event.
+* @type HTMLElement
+*/
+YAHOO.widget.ContextMenu.prototype.contextEventTarget = null;
+
+/**
+* The ContextMenu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.ContextMenu);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+
+    this.initEvent.fire(YAHOO.widget.ContextMenu);
+
+    var aMenus = YAHOO.widget.ContextMenu._aMenus;
+
+    aMenus[aMenus.length] = this;
+
+};
+
+// Private event handlers
+
+/**
+* "click" event handler for the document object.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onDocumentClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        this.hide();
+
+    };
+
+/**
+* "click" event handler for the HTMLElement node that triggered the event.
+* Used to cancel default behaviors in Opera.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        if(p_oEvent.ctrlKey) {
+
+            YAHOO.util.Event.stopEvent(p_oEvent);
+
+        }
+
+    };
+
+/**
+* "contextmenu" event handler ("mousedown" for Opera) for the HTMLElement
+* node that triggered the event.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerContextMenu =
+
+    function(p_oEvent, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oConfig = this.cfg;
+
+        // Hide any other ContextMenu instances that might be visible
+
+        var aMenus = YAHOO.widget.ContextMenu._aMenus;
+        var i = aMenus.length - 1;
+
+        do {
+
+             aMenus[i].hide();
+
+        }
+        while(i--);
+
+
+        if(p_oEvent.type == "mousedown" && !p_oEvent.ctrlKey) {
+
+            return;
+
+        }
+
+        this.contextEventTarget = Event.getTarget(p_oEvent);
+
+
+        // Position and display the context menu
+
+        var nX = Event.getPageX(p_oEvent);
+        var nY = Event.getPageY(p_oEvent);
+
+
+        oConfig.applyConfig( { xy:[nX, nY], visible:true } );
+        oConfig.fireQueue();
+
+
+        /*
+             Prevent the browser's default context menu from appearing and
+             stop the propagation of the "contextmenu" event so that
+             other ContextMenu instances are no displayed.
+        */
+
+        Event.stopEvent(p_oEvent);
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* a ContextMenu instance's Config object (cfg).
+*/
+YAHOO.widget.ContextMenu.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this);
+
+	// Add a configuration property
+
+    this.cfg.addProperty("trigger", { handler: this.configTrigger });
+
+};
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "trigger" configuration property of
+* a MenuItem instance.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu that instance fired
+* the event.
+*/
+YAHOO.widget.ContextMenu.prototype.configTrigger =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oTrigger = p_aArgs[0];
+
+        if(oTrigger) {
+
+
+            /*
+                If there is a current "trigger" - remove the event handlers
+                from that element(s) before assigning new ones
+            */
+            if(this._oTrigger) {
+
+                Event.purgeElement(this._oTrigger);
+
+            }
+
+            this._oTrigger = oTrigger;
+
+            /*
+                Listen for the "mousedown" event in Opera b/c it does not
+                support the "contextmenu" event
+            */
+
+            var bOpera = (this.browser == "opera");
+
+            Event.addListener(
+                oTrigger,
+                (bOpera ? "mousedown" : "contextmenu"),
+                this._onTriggerContextMenu,
+                this,
+                true
+            );
+
+
+            /*
+                Assign a "click" event handler to the trigger element(s) for
+                Opera to prevent default browser behaviors.
+            */
+
+            if(bOpera) {
+
+                Event.addListener(
+                    oTrigger,
+                    "click",
+                    this._onTriggerClick,
+                    this,
+                    true
+                );
+
+            }
+
+
+            // Assign a "mousedown" event handler to the document
+
+            Event.addListener(
+                document,
+                "click",
+                this._onDocumentClick,
+                this,
+                true
+            );
+
+        }
+
+    };
+
+/**
+* @class Creates an item for a context menu instance.
+* @constructor
+* @extends YAHOO.widget.MenuItem
+* @base YAHOO.widget.MenuItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.ContextMenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem);
+
+/**
+* The ContextMenuItem class's initialization method. This method is
+* automatically called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem.prototype.init =
+
+    function(p_oObject, p_oConfig) {
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.ContextMenu;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+        }
+
+
+        /*
+            Call the init of the superclass (YAHOO.widget.MenuItem)
+            Note: We don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.ContextMenuItem.superclass.init.call(this, p_oObject);
+
+        var oConfig = this.cfg;
+
+        if(p_oConfig) {
+
+            oConfig.applyConfig(p_oConfig, true);
+
+        }
+
+        oConfig.fireQueue();
+
+    };
+
+/**
+* @class Horizontal collection of items, each of which can contain a submenu.
+* Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuBar.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBar, YAHOO.widget.MenuModule);
+
+/**
+* The MenuBar class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuBarItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.MenuModule)
+
+    YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.MenuBar);
+
+    var oConfig = this.cfg;
+
+    /*
+        Set the default value for the "position" configuration property
+        to "static"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.position)) {
+
+        oConfig.queueProperty("position", "static");
+
+    }
+
+    /*
+        Set the default value for the "submenualignment" configuration property
+        to "tl" and "bl"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.submenualignment)) {
+
+        oConfig.queueProperty("submenualignment", ["tl","bl"]);
+
+    }
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuBar);
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuBar instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBar.prototype.CSS_CLASS_NAME = "yuimenubar";
+
+/**
+* @class The MenuBarItem class allows you to create and modify an item for a
+* MenuBar instance.  MenuBarItem extends YAHOO.widget.MenuModuleItem to provide
+* a set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuBarItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuBarItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuBarItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLLIElement of the MenuBarItem.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.CSS_CLASS_NAME = "yuimenubaritem";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is selected.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_dim_1.gif";
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuBarItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuBarItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuBarItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oConfig = this.cfg;
+        var oParent = this.parent;
+
+        switch(oDOMEvent.keyCode) {
+
+            case 37:    // Left arrow
+            case 39:    // Right arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 37) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+            case 40:    // Down arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/yahoo.js
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The YAHOO object is the single global object used by YUI Library.  It
+ * contains utility function for setting up namespaces, inheritance, and
+ * logging.  YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
+ * created automatically for and used by the library.
+ * @module YAHOO
+ */
+
+/**
+ * The YAHOO global namespace object
+ * @class YAHOO
+ * @static
+ */
+if (typeof YAHOO == "undefined") {
+    YAHOO = {};
+}
+
+/**
+ * Returns the namespace specified and creates it if it doesn't exist
+ *
+ * YAHOO.namespace("property.package");
+ * YAHOO.namespace("YAHOO.property.package");
+ *
+ * Either of the above would create YAHOO.property, then
+ * YAHOO.property.package
+ *
+ * Be careful when naming packages. Reserved words may work in some browsers
+ * and not others. For instance, the following will fail in Safari:
+ *
+ * YAHOO.namespace("really.long.nested.namespace");
+ *
+ * This fails because "long" is a future reserved word in ECMAScript
+ * @method namespace
+ * @static
+ * @param  {String} ns The name of the namespace
+ * @return {Object}    A reference to the namespace object
+ */
+YAHOO.namespace = function(ns) {
+
+    if (!ns || !ns.length) {
+        return null;
+    }
+
+    var levels = ns.split(".");
+    var nsobj = YAHOO;
+
+    // YAHOO is implied, so it is ignored if it is included
+    for (var i=(levels[0] == "YAHOO") ? 1 : 0; i<levels.length; ++i) {
+        nsobj[levels[i]] = nsobj[levels[i]] || {};
+        nsobj = nsobj[levels[i]];
+    }
+
+    return nsobj;
+};
+
+/**
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is available.
+ *
+ * @method log
+ * @static
+ * @param  {string}  sMsg       The message to log.
+ * @param  {string}  sCategory  The log category for the message.  Default
+ *                              categories are "info", "warn", "error", time".
+ *                              Custom categories can be used as well. (opt)
+ * @param  {string}  sSource    The source of the the message (opt)
+ * @return {boolean}            True if the log operation was successful.
+ */
+YAHOO.log = function(sMsg, sCategory, sSource) {
+    var l = YAHOO.widget.Logger;
+    if(l && l.log) {
+        return l.log(sMsg, sCategory, sSource);
+    } else {
+        return false;
+    }
+};
+
+/**
+ * Utility to set up the prototype, constructor and superclass properties to
+ * support an inheritance strategy that can chain constructors and methods.
+ *
+ * @method extend
+ * @static
+ * @param {function} subclass   the object to modify
+ * @param {function} superclass the object to inherit
+ */
+YAHOO.extend = function(subclass, superclass) {
+    var f = function() {};
+    f.prototype = superclass.prototype;
+    subclass.prototype = new f();
+    subclass.prototype.constructor = subclass;
+    subclass.superclass = superclass.prototype;
+    if (superclass.prototype.constructor == Object.prototype.constructor) {
+        superclass.prototype.constructor = superclass;
+    }
+};
+
+YAHOO.namespace("util");
+YAHOO.namespace("widget");
+YAHOO.namespace("example");
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<%
+    String version = (String) request.getAttribute("version");
+    String deployedPath = (String) request.getAttribute("path");
+%>
+
+<div id="gsinfo" style="text-align: center">
+    <h1>
+        <ui:text key="ABOUT_GRIDSPHERE_VERSION"/>
+        :
+        <%= version %>
+    </h1>
+</div>
+<ui:group label="System Information">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>Java Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.vendor")%> <%= System.getProperty("java.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>GridSphere</ui:tablecell>
+            <ui:tablecell><%= deployedPath%>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>Java Home</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.home")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Classpath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.class.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Librarypath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.library.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Name</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.name")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Arch</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.arch")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+
+</ui:group>
+
+<div id="gsinfo" style="text-align: center">
+    <ui:text key="ABOUT_GRIDSPHERE_WRITTEN_BY"/>
+    Jason Novotny, Michael Russell &amp; Oliver Wehrens
+</div>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/authmodules.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+<%@ page import="org.gridsphere.services.core.security.auth.modules.LoginAuthModule,
+                 javax.portlet.RenderRequest,
+                 java.util.Iterator" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<% RenderRequest pReq = (RenderRequest) pageContext.getAttribute("renderRequest"); %>
+<% List authModules = (List) request.getAttribute("authModules"); %>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_AUTHMODULES_MSG">
+        <% if (authModules.size() == 1) { %>
+        <ui:messagebox key="LOGIN_AUTHMODULES_ONEREQ"/>
+        <% } %>
+
+        <ui:frame>
+            <ui:tablerow header="true" zebra="true">
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_NAME"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_ISACTIVE"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_PRIORITY"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_DESC"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% Iterator it = authModules.iterator(); %>
+            <% while (it.hasNext()) {
+                LoginAuthModule authModule = (LoginAuthModule) it.next(); %>
+
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% if (authModules.size() == 1) { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" disabled="true" selected="true"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } else { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" selected="<%= authModule.isModuleActive() %>"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } %>
+                <ui:tablecell>
+                    <ui:textfield name="<%= authModule.getModuleName() %>"
+                                  value="<%= String.valueOf(authModule.getModulePriority()) %>" size="3"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleDescription(pReq.getLocale()) %>"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% } %>
+
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveAuthModules" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% Boolean sendMail = (Boolean) request.getAttribute("sendMail"); %>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ERROR_MSG">
+        <p>
+            <ui:radiobutton beanId="errorRB" value="NOMAIL" selected="<%= !sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_STACKTRACE_MSG"/>
+        </p>
+
+        <p>
+            <ui:radiobutton beanId="errorRB" value="MAIL" selected="<%= sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_MAIL_MSG"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configErrorSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,106 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<script type="text/javascript">
+    function checkUserCreate(elem, id) {
+        if (elem) {
+            document.getElementById(id).checked = true;
+        }
+    }
+
+    function checkAllowUsers(elem, id) {
+        if (!elem) {
+            document.getElementById(id).checked = false;
+        }
+    }
+
+    function checkSavePass(elem, id) {
+        document.getElementById(id).checked = elem;
+    }
+    //  End -->
+</script>
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_MSG">
+        <ul style="list-style-type: none;">
+            <li>
+                <ui:checkbox id="allowCreateCB" beanId="acctCB" value="TRUE"
+                             onClick="checkAllowUsers( this.checked, 'userApprovalCB' )"/>
+                <ui:text key="LOGIN_CONFIG_ALLOW"/>
+            </li>
+            <li>
+                <ul style="list-style-type: none;">
+                    <li>
+                        <ui:checkbox id="userApprovalCB" onClick="checkUserCreate( this.checked, 'allowCreateCB' )"
+                                     beanId="acctApproval" value="FALSE"/>
+                        <ui:text key="LOGIN_ACCOUNT_APPROVAL"/>
+                    </li>
+                </ul>
+            </li>
+            <li>
+                <ui:checkbox id="notifyCB" onClick="checkUserCreate( this.checked, 'savePassCB' )" beanId="notifyCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_NOTIFY"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="supportx509CB" value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_X509"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="remUserCB" value="TRUE"/>
+                <ui:text key="LOGIN_REMUSER"/>
+            </li>
+            <li>
+                <ui:checkbox id="savePassCB" onClick="checkSavePass( this.checked, 'notifyCB' )" beanId="savepassCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_PASSWD"/>
+                <br/>
+                <ui:text style="alert" key="LOGIN_CONFIG_PASSWD1"/>
+            </li>
+            <li>
+                <ui:text key="LOGIN_TRIES_MSG"/>
+                <ui:textfield beanId="numTriesTF"/>
+            </li>
+            <li>
+                <% Boolean isUsernameLogin = (Boolean) request.getAttribute("isUsernameLogin"); %>
+                <ui:radiobutton beanId="loginRB" value="TRUE" selected="<%= (isUsernameLogin == Boolean.TRUE) %>"/>
+                <ui:text key="LOGIN_USERNAME"/>
+                <ui:radiobutton beanId="loginRB" value="FALSE" selected="<%= (isUsernameLogin == Boolean.FALSE) %>"/>
+                <ui:text key="LOGIN_EMAIL"/>
+            </li>
+        </ul>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="setLoginSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+
+<%--
+<ui:form>
+    <ui:group key="LOGIN_TRIES_CONFIG_MSG">
+
+        <p>
+            <ui:text key="LOGIN_TRIES_MSG"/>
+        </p>
+
+        <p>
+            <ui:textfield beanId="numTriesTF"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configAccountSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+--%>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_SMTP">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILHOST"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailServerTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILPORT"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailPortTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILFROM"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailFromTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILADMIN"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="adminTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailConfig" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_FORGET">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="forgotHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:<br> <span style="font-size: smaller; color: red">(links will be placed in the body automatically)</span></ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="forgotBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="forgot"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ACTIVATE">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="activateHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="activateBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="activate"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_APPROVED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="approvedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="approvedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="approved"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_DENIED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="deniedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="deniedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="denied"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:tabbedpane>
+    <ui:tab label="loginconfig" key="CONFIG_LOGIN_TAB" page="/jsp/admin/config/loginconfig.jsp"/>
+    <ui:tab label="authmodules" key="CONFIG_AUTH_TAB" page="/jsp/admin/config/authmodules.jsp"/>
+    <ui:tab label="mailconfig" key="CONFIG_MAIL_TAB" page="/jsp/admin/config/mailconfig.jsp"/>
+    <ui:tab label="msgconfig" key="CONFIG_MSG_TAB" page="/jsp/admin/config/msgconfig.jsp"/>
+    <ui:tab label="errconfig" key="CONFIG_ERR_TAB" page="/jsp/admin/config/errorconfig.jsp"/>
+</ui:tabbedpane>
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/bar.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+
+<ui:group key="LAYOUT_EDIT_BAR">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                Select column layout:
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveBar" value="Save"/>
+                <ui:actionsubmit action="doCancel" value="Cancel"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/content.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+<%@ page import="org.gridsphere.layout.PortletContent" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletContent content = (PortletContent) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_CONTENT"/>
+<% String label = msg + " <b>" + content.getFileName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_CONTENT"/>
+                <ui:listbox beanId="contentLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= content.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveContent" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/frame.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<%@ page import="org.gridsphere.layout.PortletFrame" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletFrame frame = (PortletFrame) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_FRAME"/>
+<% String label = msg + " <b>" + frame.getPortletName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_PORTLETS"/>
+                <ui:listbox beanId="portletsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= frame.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_DISP_TB"/>
+                :
+                <ui:text key="YES"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") != null) %>"
+                                value="yes"/>
+                <ui:text key="NO"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") == null) %>"
+                                value="no"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveFrame" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Layout Manager portlet</b>
+</p>
+
+<p>
+    The Layout Manager portlet lets you customize your theme and entire portal layout.
+    Various options are provided to allow you to rename, create and delete portlet tab titles
+    and sub tab titles. Portlets within a subtab can be arranged into table layouts with
+    the desired columns and rows. Only those portlets to which you are subscribed may be added.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/menu.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_MENU"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_MENU"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/subtab.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_SUBTAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_SUBTAB"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_SUBTABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/tab.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ page import="org.gridsphere.layout.PortletComponent" %>
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ page import="org.gridsphere.layout.PortletTableLayout" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_TAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_TAB2"/>
+
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% // in case this is a single level tab
+            PortletComponent c = tab.getPortletComponent();
+            if (c instanceof PortletTableLayout) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        <%--
+        <% if (request.getAttribute("isnewtab") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                Double tabbed pane
+                <ui:radiobutton beanId="subcompRB" selected="true" value="double"/>
+                Single tabbed pane
+                <ui:radiobutton beanId="subcompRB" value="single"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        --%>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="actionURI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="layoutlabel" class="java.lang.String" scope="request"/>
+<jsp:useBean id="pageName" class="java.lang.String" scope="request"/>
+
+
+<% String pane = (String) request.getAttribute("pane"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_CUSTOMIZE"/>
+                <ui:listbox beanId="layoutsLB"/>
+                <ui:actionsubmit action="selectLayout" key="LAYOUT_DISPLAY"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_THEME"/>
+                <ui:listbox beanId="themesLB"/>
+                <ui:actionsubmit action="selectTheme" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+</ui:form>
+
+<ui:group key="LAYOUT_PAGE_DETAILS">
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_TITLE"/>
+                    <ui:textfield beanId="titleTF"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_KEYWORDS"/>
+                    <ui:textfield beanId="keywordsTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <ui:actionsubmit action="savePageDetails" key="SAVE"/>
+    </ui:form>
+</ui:group>
+
+<h3>
+    <ui:text key="LAYOUT_EDIT_COMPS"/>
+    &nbsp;<b><%= pageName %>
+</b></h3>
+
+<ui:group>
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_SEL_TOPS"/>
+                    <ui:listbox beanId="navigationLB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_MODES"/> <ui:checkbox beanId="showModesCB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_STATES"/><ui:checkbox beanId="showStatesCB"/>
+                    <ui:actionsubmit action="doSaveNav" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:form>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell width="60%">
+                <%--     <ui:group label="<%= layoutlabel %>">  --%>
+                <%= pane %>
+                <%--     </ui:group>  --%>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+    <ui:form>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+
+                    <ui:hiddenfield beanId="compHF"/>
+                    <% if (!controlUI.equals("")) { %>
+                    <jsp:include page="<%= controlUI + ".jsp" %>"/>
+                    <% } %>
+                    <%--
+                <% if (controlUI.equals("frame")) { %>
+                <jsp:include page="frame.jsp"/>
+                <% } else if (controlUI.equals("content")) { %>
+                <jsp:include page="content.jsp"/>
+                <% } else if (controlUI.equals("tab")) { %>
+                <jsp:include page="tab.jsp"/>
+                <% } else if (controlUI.equals("subtab")) { %>
+                <jsp:include page="subtab.jsp"/>
+                <% } else if (controlUI.equals("menu")) { %>
+                <jsp:include page="menu.jsp"/>
+                <% } else if (controlUI.equals("bar")) { %>
+                <jsp:include page="bar.jsp"/>
+                <% } %>  --%>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:form>
+</ui:group>
+
+<hr/>
+
+*
+<ui:text key="LAYOUT_EDIT_MSG"/>
+&nbsp; <b>$CATALINA_HOME/webapps<%= request.getContextPath() %>/WEB-INF/CustomPortal/layouts/{guest.xml,
+    loggedin.xml}</b>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Portlet Manager portlet</b>
+</p>
+
+<p>
+    The Portlet Manager portlet allows a portal administrator to stop and start and deploy portlet web
+    applications to GridSphere. Once a portlet has been stopped it is no longer accessible. A new portlet
+    web application may be deployed but it assumes that the WAR has already been placed into the Tomcat
+    webapps directory. File uploading of portlet applications doesn't work currently due to a Tomcat
+    cross context loading problem. In addition, only those portlets that contain no "portlet services" that
+    are placed in the shared library directory of Tomcat will work, since shared libraries cannot be
+    properly reloaded.
+</p>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,229 @@
+<%@ page import="org.gridsphere.portletcontainer.PortletStatus,
+                 org.gridsphere.services.core.tomcat.TomcatWebAppDescription" %>
+<%@ page import="java.util.List" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:group key="PORTLET_CURRENT">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_VIEW_DETAILS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell width="80" align="center">
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_STATUS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List result = (List) request.getAttribute("result"); %>
+        <% for (int i = 0; i < result.size(); i++) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) result.get(i); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionlink action="displayWebapp" value="<%= description.getContextPath() %>">
+                    <ui:actionparam name="appname" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getContextPath().equalsIgnoreCase("/" + description.getContextPath())) { %>
+                <ui:text key="PORTLET_GS_MSG"/>
+                <% } else { %>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_START">
+                    <ui:actionparam name="operation" value="start"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_STOP"/>
+                &nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_START"/>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                    <ui:actionparam name="operation" value="stop"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                    <ui:actionparam name="operation" value="reload"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                    <ui:actionparam name="operation" value="remove"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <% if (description.getStatus().equals(PortletStatus.SUCCESS)) { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif" %>"/>
+                <ui:text key="SUCCESS"/>
+                <% } else { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif" %>"/>
+                <ui:text style="underline" id="<%= description.getContextPath() %>" key="FAILURE"/>
+                <ui:tooltip name="<%= description.getContextPath() %>"
+                            id="<%= description.getContextPath() + "tooltip" %>"
+                            value="<%= description.getStatusMessage() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+<%-- @TODO do we really need to show non-portlet webapps here?
+
+<ui:group key="PORTLET_NON">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_NONWEBAPP"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List results = (List) request.getAttribute("others"); %>
+        <% Iterator its = results.iterator(); %>
+        <% while (its.hasNext()) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) its.next(); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="<%= description.getContextPath() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_START">
+                <ui:actionparam name="operation" value="start"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:text key="PORTLET_STOP"/>&nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;<ui:text key="PORTLET_START"/>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                <ui:actionparam name="operation" value="stop"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                <ui:actionparam name="operation" value="reload"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                <ui:actionparam name="operation" value="remove"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+--%>
+
+<%-- @TODO@ This doesn't quite work either
+<ui:group key="PORTLET_DEPLOY_MSG">
+
+    <ui:form>
+
+                    <h3></h3><ui:text key="PORTLET_WEBAPP_MSG"/>&nbsp; </h3>
+                    <ui:textfield beanId="webappNameTF" size="20" maxlength="20"/>
+        <br>
+                    <ui:actionsubmit action="deployWebapp" key="PORTLET_DEPLOY"/>
+
+    </ui:form>
+</ui:group>
+--%>
+
+<%-- uploading portlet WAR files TBD
+
+
+<ui:group key="PORTLET_UPLOAD">
+    <ui:fileform action="uploadPortletWAR">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="50">
+                    <ui:text key="PORTLET_FILE"/>&nbsp;
+                </ui:tablecell>
+                <ui:tablecell width="60">
+                    <ui:fileinput beanId="userfile" size="20" maxlength="20"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="100">
+                    <ui:actionsubmit action="uploadPortletWAR" key="PORTLET_UPLOAD"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:fileform>
+</ui:group>
+
+ --%>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="webappname" class="java.lang.String"/>
+
+<h2>
+    <ui:text key="PORTLET_DISPLAY_PORTLETS"/>
+    <%= request.getAttribute("webappname") %>
+</h2>
+<ui:form>
+    <ui:group>
+        <ui:panel beanId="panel"/>
+    </ui:group>
+</ui:form>
+
+<h3>
+    <ui:renderlink render="listPortlets" key="PORTLET_LIST_APPS"/>
+</h3>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+<%@ page import="org.gridsphere.services.core.user.User"%>
+<%@ page import="java.util.List"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<% List<User> userList = (List<User>)request.getAttribute("userList"); %>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% if (request.getAttribute("canEdit") == null) { %>
+<ui:group key="ROLE_EDIT_MSG">
+<ui:form>
+    <ui:hiddenfield beanId="roleHF"/>
+    <ui:hiddenfield beanId="isNewRoleHF"/>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="ROLENAME"/>
+                <ui:textfield size="10" beanId="roleNameTF"/>
+            </ui:tablecell>
+
+            <ui:tablecell>
+                <ui:text key="ROLEDESC"/>
+                <ui:textfield beanId="roleDescTF"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveRole" key="ROLE_SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+</ui:group>
+
+<% } %>
+<% if (request.getAttribute("newrole") == null) { %>
+
+<ui:group key="ROLE_EDITUSER_MSG">
+<ui:form name="roleform">
+   <ui:hiddenfield beanId="roleHF"/>
+    <% if (request.getAttribute("nousers") == null) { %>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+    <ui:text key="ROLE_ADD_USER"/><ui:listbox beanId="addusersLB"/><ui:actionsubmit action="doAddUser" key="ROLE_ADD_USER_ACTION"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+    <% } %>
+    <p/>
+    <% if (!userList.isEmpty()) { %>
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.userCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell><ui:text key="FULLNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="USERNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="EMAILADDRESS"/></ui:tablecell>
+            <ui:tablecell><ui:text key="ORGANIZATION"/></ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="userCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getFullName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+
+    <ui:actionsubmit action="doRemoveUser" key="ROLE_REMOVE_USER"/>
+    <% } %>
+
+</ui:form>
+
+</ui:group>
+
+<% } %>
+
+<h3><ui:actionlink action="doReturn" key="ROLE_SHOW_ROLES"/></h3>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole, java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% List coreRoles = (List) request.getAttribute("coreRoleList"); %>
+<% List<PortletRole> roleList = (List<PortletRole>) request.getAttribute("roleList"); %>
+<% List<PortletRole> defRoles = (List<PortletRole>) request.getAttribute("defRoles"); %>
+<h3>
+    <ui:text key="ROLE_SHOW_ROLES" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doEditRole" key="ROLE_CREATE_ROLE"/>
+
+<p/>
+
+<ui:form name="roleform">
+    <ui:table zebra="true">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_DEFAULT"/>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (roleList.size() > 3) { %>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.rolesCB, this)"/>
+                <% } %>
+                <ui:text style="bold" key="DELETE"/>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_USERS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLEDESC"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% for (PortletRole role : roleList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (defRoles.contains(role)) { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>" selected="true"/>
+                <% } else { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (!coreRoles.contains(role.getName().toUpperCase())) { %>
+                <ui:checkbox name="rolesCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:actionlink action="doEditRole" value="<%= role.getName() %>">
+                    <ui:actionparam name="roleName" value="<%= role.getName() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= role.getDescription() %>"/>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doSaveDefaultRoles" key="ROLE_SAVE_DEFAULT"/>
+    <% if (roleList.size() > 2) { %>
+    <ui:actionsubmit action="doDeleteRole" key="DELETE"/>
+    <% } %>
+
+</ui:form>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Role Manager portlet</b>
+</p>
+
+<p>
+    The Role Manager portlet is used for managing roles in the portal. Roles can be added, modified and deleted except
+    for
+    the core GridSphere roles, <i>USER</i> and <i>ADMIN</i>  that also match the core
+    role priority levels supported by the portal. A Guest role priority is reserved for non-logged in users, User role
+    priority is used for any logged in user, Admin is generally used for some kind of administrator functionality and
+    super would have essentially have no access restrictions. Roles can also be defined by an individual webapp by
+    specifying a <i>roles.xml<</i> role descriptor. See the GridSphere reference Guide for more information.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<h3>
+    <ui:text key="USER_COMPOSE_EMAIL" style="nostyle"/>
+</h3>
+
+<ui:form>
+
+    <table id="form-table">
+        <tbody>
+            <tr>
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                 <ui:radiobutton beanId="toRB" value="TO" selected="true"/>
+                    To:
+                 <ui:radiobutton beanId="toRB" value="BCC"/>
+                    Bcc:
+                </td>
+                <td>
+                    <ui:textfield beanId="emailAddressTF" size="90" id="emailAddress"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    From:
+                </td>
+                <td>
+                    <ui:textfield beanId="senderTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Subject:
+                </td>
+                <td>
+                    <ui:textfield beanId="subjectTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Message:
+                </td>
+                <td>
+                    <ui:textarea beanId="bodyTA" cols="74" rows="10"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td>
+                </td>
+                <td>
+                    <ui:actionsubmit action="doSendEmail" key="USER_SEND"/>
+                    <ui:actionsubmit action="doListUsers" key="CANCEL"/>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+
+</ui:form>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="role" class="java.lang.String" scope="request"/>
+<jsp:useBean id="createdate" class="java.lang.String" scope="request"/>
+
+<% User user = (User) request.getAttribute("user"); %>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getUserName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getFirstName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getLastName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getEmailAddress() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getOrganization() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= role %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_CREATEDATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= createdate %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+<% String certattr = (String) user.getAttribute("user.certificate");
+    if (certattr != null) { %>
+    <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="USER_CERTIFICATE"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= certattr %>" style="plain"/>
+            </ui:tablecell>
+    </ui:tablerow>
+<% } %>
+
+</ui:frame>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,137 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:messagebox beanId="msg"/>
+
+
+<h3>
+    <% if (request.getAttribute("newuser") != null) { %>
+    <ui:text key="USER_EDIT_USER_MSG" style="nostyle"/>
+    <% } else { %>
+    <ui:text key="USER_NEW_USER_MSG" style="nostyle"/>
+    <% } %>
+
+</h3>
+
+<p>
+    <% if ((request.getAttribute("savePass") != null) && (request.getAttribute("newuser") == null)) { %>
+    <ui:text style="alert" key="USER_PASS_BLANK_MSG"/>
+    <% } %>
+</p>
+<ui:form>
+<p>
+    <ui:hiddenfield beanId="userID"/>
+    <ui:hiddenfield beanId="newuser"/>
+</p>
+<ui:frame>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="userName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="emailAddress"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+</ui:frame>
+
+<ui:frame beanId="roleFrame"/>
+
+<% if (request.getAttribute("certSupport") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CERTIFICATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="certificate"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("savePass") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="PASSWORD"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="password"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CONFIRM_PASS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="confirmPassword"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("newuser") != null) { %>
+<ui:checkbox beanId="emailUserCB"/>
+<ui:text key="USER_EMAIL_USER"/>
+<% } %>
+<p/>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:actionsubmit action="doConfirmEditUser" key="USER_SAVE"/>
+            <ui:actionsubmit action="doReturn" key="CANCEL"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<%@ page import="org.gridsphere.services.core.user.User,
+                 java.text.SimpleDateFormat" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<% List<User> userList = (List<User>) request.getAttribute("userList"); %>
+
+<h3>
+    <ui:text key="USER_SHOW_USERS" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doNewUser" key="USER_CREATE_USER"/>
+<p/>
+<ui:group>
+    <ui:form>
+        <ui:table>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="USER_PER_PAGE"/>
+                    <ui:listbox beanId="usersPageLB"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_EMAIL"/>
+                    <ui:textfield size="15" beanId="userEmailTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_ORGANIZATION"/>
+                    <ui:textfield size="10" beanId="userOrgTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:actionsubmit action="filterUserList" key="USER_VIEW"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:table>
+    </ui:form>
+</ui:group>
+
+<%if (!userList.isEmpty()) { %>
+
+<ui:form name="myform">
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.myform.usersCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:image src="<%= request.getContextPath() + "/images/editor.png" %>" alt="Edit"/>
+                <ui:text key="USER_EDIT_USER"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="NUMLOGINS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LASTLOGINDATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="usersCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionlink cssStyle="text-decoration: underline;" action="doEditUser"
+                               value="<%= user.getFullName() %>">
+                    <ui:actionparam name="userID" value="<%= user.getID() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= (user.getNumLogins()).toString() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (user.getLastLoginTime() == null) { %>
+                <ui:text value="--"/>
+                <% } else { %>
+                <ui:text
+                        value="<%= new SimpleDateFormat("MMM d yyyy hh:mm a").format(user.getLastLoginTime()).toString() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+    <ui:actionsubmit action="doComposeEmail" key="USER_SEND_EMAIL"/>
+</ui:form>
+
+<% } else { %>
+<ui:text style="alert" key="USER_NO_RESULTS"/>
+<% } %>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:form>
+    <ui:hiddenfield beanId="userID"/>
+
+    <h3><ui:text key="USER_VIEW_USER" style="nostyle"/></h3>
+
+    <%@ include file="doViewUser.jsp" %>
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doReturn" key="USER_LIST_USERS"/>
+                <ui:actionsubmit action="doEditUser" key="USER_EDIT_USER"/>
+                <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<p>
+    <b>Using the User Administration portlet</b>
+</p>
+
+<p>
+    The User Administration portlet is used for managing portal users. Portal users can be created and deleted
+    by filling out the provided form registration. Once an account is created the new portal user may login
+    with the provided password.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/config.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+
+<ui:form>
+
+
+    <ui:group key="CM_BACKUP">
+        <ui:text key="CM_BACKUP_HELP"/>
+        <br/>
+        <ui:actionsubmit action="backupContent" key="CM_BACKUPCONTENT"/>
+    </ui:group>
+
+    <ui:group key="CM_IMPORT">
+        <ui:text key="CM_IMPORT_HELP"/>
+        <br/>
+        <ui:listbox beanId="filelist" size="20"/>
+        <br/>
+        <ui:actionsubmit action="importContent" key="CM_IMPORTCONTENT"/>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<h2>Help for Content Management</h2>
+
+Use the editor to create new/edit/delete documents. If you want to link to another page within your GridSphere
+installation
+you can use the following syntax:
+
+<pre>
+    [[This is my link|layoutname|id]
+</pre>
+
+This will render a link named 'This is my link' to the fragment with the id 'id' in the layout 'layoutname'. This can be
+a tab or a portlet. The id
+is defined in the Layout administration.
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.services.core.jcr.ContentDocument" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% List<ContentDocument> contentDocs = (List<ContentDocument>) request.getAttribute("contentDocs"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <ui:hiddenfield beanId="uuid"/>
+
+    <p/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell valign="top">
+                <%--  <ui:group key="CM_DOCUMENT">
+                  <ui:text key="CM_DOCUMENT_TITLE"/>
+                  <ui:textfield beanId="title"/>
+              </ui:group>  --%>
+                <ui:group key="CM_AVAILDOCUMENTS">
+
+                    <ui:table>
+                        <ui:tablerow header="true">
+                            <ui:tablecell>
+                                <ui:text key="DELETE"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:text key="EDIT"/>
+                            </ui:tablecell>
+                        </ui:tablerow>
+
+                        <% for (ContentDocument content : contentDocs) { %>
+                        <ui:tablerow>
+                            <ui:tablecell>
+                                <ui:checkbox name="nodeCB" value="<%= content.getUuid() %>"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:renderlink render="showNode" value="<%= content.getTitle() %>">
+                                    <ui:param name="nodeId" value="<%= content.getUuid() %>"/>
+                                </ui:renderlink>
+                            </ui:tablecell>
+                        </ui:tablerow>
+                        <% } %>
+
+                    </ui:table>
+
+                    <%-- <ui:listbox beanId="nodelist" size="20"/>
+                    <br/>
+                    <ui:actionsubmit action="showNode" key="CM_SHOWDOCUMENT"/>   --%>
+                    <br/>
+                    <ui:actionsubmit action="removeNode" key="DELETE"/>
+                    <ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" render="showNode"
+                                   value="New Document"/>
+                    <%--   <br/>
+                   <ui:actionsubmit action="clearEditor" key="CM_CLEAREDITOR"/>
+                   <br/> --%>
+                </ui:group>
+            </ui:tablecell>
+            <% if (request.getAttribute("showContent") != null) { %>
+            <ui:tablecell valign="top">
+                <ui:group key="CM_DOCUMENT">
+                    <ui:text key="CM_DOCUMENT_TITLE"/>
+                    <ui:textfield beanId="title"/>
+                    <ui:actionsubmit action="saveDocument" key="CM_CREATEUPDATEDOCUMENT"/>
+                    <ui:richtexteditor beanId="content" cols="80" rows="30"/>
+                </ui:group>
+            </ui:tablecell>
+            <% } %>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+
+<ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" portletMode="EDIT" value="Content Settings"/>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date/date.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+
+<jsp:useBean id="date" class="java.lang.String" scope="request"/>
+
+
+<table>
+    <tr><td align="center">
+        <%= date %>
+    </td></tr>
+</table>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/custom_error.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ page import="org.gridsphere.provider.portletui.beans.MessageStyle"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+
+
+<% Throwable error = (Throwable)request.getAttribute("error"); %>
+<% String lastFrame = (String)request.getAttribute("lastFrame"); %>
+
+<% if (error != null) { %>
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" value="An error occurred!"/>
+
+<% if (error.getMessage() != null) { %>
+Error message:    <%= error.getMessage() %>
+<% } %>
+
+<p>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>
+
+<% } else { %>
+
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" key="PORTAL_ERROR_MSG"/>
+
+<%= lastFrame %>
+<% } %>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/database_error.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+<jsp:useBean id="error" class="java.lang.String" scope="request"/>
+
+<%@ include file="../../WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<%= error %>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/error.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+
+<%@ page isErrorPage="true" %>
+
+<div style="padding: 0px 0px 5px 0px; margin: 10px">
+<h2>Unexpected server error!</h2>
+
+<b>HTTP Status Code:</b>  <b style="color: red;"><%= request.getAttribute("javax.servlet.error.status_code") %></b>
+<p/>
+<b>Originating URI:</b> <b style="color: red;"><%= request.getAttribute("javax.servlet.error.request_uri") %></b>
+
+
+<p/>
+
+
+    <table style="border-collapse: collapse; width: 50em; border: 1px solid black;"><caption>Stack Trace</caption>
+        <thead><tr><th scope="col">Class</th><th scope="col">Method</th><th scope="col">Line #</th></tr></thead>
+  <% Throwable t = (Throwable)request.getAttribute("javax.servlet.error.exception");
+     StackTraceElement[] elem = t.getStackTrace();
+     for (int i = 0; i < 10; i++) {
+      %>
+<tr>
+  <td><%= elem[i].getClassName() %> </td> <td> <%= elem[i].getMethodName() %> </td> <td> <%= elem[i].getLineNumber() %>  </td>
+ </tr>
+    <%
+     }
+     %>
+   </table>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/init_error.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<jsp:useBean id="error" class="java.lang.Throwable" scope="request"/>
+
+
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>GridSphere portal failed to initialize!</h2>
+
+<p>
+    <br/>
+    <%= error.getMessage() %>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/notfound.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>Page not found!</h2>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/unauthorized.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+
+<h2>Unauthorized Access!</h2>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/index.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+<jsp:forward page="<%= request.getServletPath() %>"/>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale/viewlocale.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+
+<ui:form action="selectLang">
+
+    <% String flag =  request.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+    <table>
+        <tr>
+            <td>
+                <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                          title="<%= locale.getDisplayLanguage() %>"/>
+            </td>
+            <td>
+                <ui:listbox beanId="localeLB"/>
+            </td>
+            <td>
+                <noscript>
+                    <p>
+                        <ui:actionsubmit action="selectLang" value="ok"/>
+                    </p>
+                </noscript>
+            </td>
+        </tr>
+    </table>
+</ui:form>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="password"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:renderlink key="LOGIN_CANT_READ" render="doNewUser"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doConfirmEditUser" key="SAVE"/>
+                <ui:actionsubmit action="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/forgotpassword.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:messagebox key="LOGIN_FORGOT_TEXT"/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LOGIN_REQUEST_EMAIL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:textfield beanId="emailTF" size="25" maxlength="40"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:actionsubmit action="notifyUser" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:rendersubmit render="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/login.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="certificate" class="java.lang.String" scope="request"/>
+<jsp:useBean id="useSecureLogin" class="java.lang.String" scope="request"/>
+
+<ui:form secure="<%= Boolean.valueOf(useSecureLogin).booleanValue() %>">
+    <ui:messagebox beanId="msg"/>
+
+    <%-- <ui:dialoglink titleColor="green" id="foo" name="bar" value="Click Me" header="This is a header" body="This is a body" footer="This is a footer" width="200"/> --%>
+
+
+    <% if (request.getAttribute("certificate") != null && ((String) request.getAttribute("certificate")).length() > 0) { %>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <ui:text key="LOGIN_CERTIFICATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <%= certificate %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <% } else { %>
+
+    <ui:table>
+        <% if (request.getAttribute("useUserName") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="userkey" key="USER_NAME_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="15" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= userkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+
+        <% } else { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_EMAIL_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="emailkey" key="USER_EMAIL_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="25" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= emailkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+        <% } %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="passkey" key="USER_PASSWORD_BLANK"/>
+                <% if (request.getAttribute("useUserName") != null) { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="15" maxlength="50"/>
+                <% } else { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="25" maxlength="50"/>
+                <% } %>
+                <input type="hidden" name="val#password#checkNotEmpty" value="<%= passkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+    </ui:table>
+
+    <% if (request.getAttribute("remUser") != null) { %>
+    <p>
+        <input type="checkbox" name="remlogin" value="yes"/>
+        <ui:text key="LOGIN_REMEMBER_ME"/>
+    </p>
+    <% } %>
+
+    <% } %>
+
+
+    <ui:actionsubmit cssStyle="margin-right: 30px;" action="<%= SportletProperties.LOGIN %>" key="LOGIN_ACTION">
+        <% if (request.getParameter("cid") != null) { %>
+        <ui:actionparam name="queryString" value="<%= request.getParameter("cid") %>"/>
+        <% } %>
+    </ui:actionsubmit>
+
+    <% if ((request.getAttribute("dispPass") != null) && ((request.getAttribute("certificate") == null) || ((String) request.getAttribute("certificate")).length() == 0)) { %>
+    <ui:renderlink render="displayForgotPassword" key="LOGIN_FORGOT_PASSWORD"/>
+    <% } %>
+
+</ui:form>
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/loginnav.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ page import="org.gridsphere.portlet.service.spi.PortletServiceFactory" %>
+<%@ page import="org.gridsphere.services.core.portal.PortalConfigService" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </li>
+        <% PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            if (Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue()) {
+        %>
+        <li>
+            <ui:renderlink layout="register" key="SIGNUP_REGISTER" label="signup" render="doNewUser"/>
+        </li>
+        <% } %>
+    </ul>
+</div>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/newpassword.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <h3>
+        <ui:text key="PROFILE_UPDATE_PASS" style="nostyle"/>
+    </h3>
+
+    <p>
+        <ui:hiddenfield beanId="reqid"/>
+    </p>
+    <ui:group>
+        <ui:frame width="50%">
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="password"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="confirmPassword"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <p>
+            <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        </p>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/welcome.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ page import="javax.portlet.RenderRequest"%>
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<span style="text-align: right; margin: 10px 10px 0px 0px; float:right; ">
+<ui:text style="nostyle" key="LOGIN_SUCCESS"/>, <%= username %></span>
+
+<div style="clear: both;"/>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout/logoutnav.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:actionlink cssStyle="font-size: 10px; text-decoration: underline;" action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/admin.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:text key="NEWS_DOCUMENT"/>
+    <ui:listbox beanId="document"/>
+    <ui:actionsubmit key="NEWS_SAVE" action="doSave"/>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<jsp:useBean id="document" class="java.lang.String" scope="request"/>
+
+<%=document%>
+
+ 
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/editpassword.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+
+
+<div style="width: 400px; margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text value="Change Password" style="bold"/></h3>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="ORIG_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="origPassword" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="NEW_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="password" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+    <ui:tablecell width="150">
+        <ui:password beanId="confirmPassword" size="20"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+    <ui:frame>
+    <ui:tablerow>
+    <ui:tablecell >
+        <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        <ui:actionsubmit action="doCancel" key="CANCEL"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+
+    </ui:form>
+
+</div>
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/help.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Profile Manager portlet</b>
+</p>
+
+<p>
+    The Profile Manager portlet allows users the ability to customize their personal settings
+    including profile information, preferred locale, and group membership. The view mode displays
+    the existing user profile information and can be edited by selecting the portlets edit mode.
+    Administrators can configure the possible locale selections in configure mode.
+</p>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/profilenav.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+
+<a style="font-size: 10px; text-decoration: underline;" href="<%= request.getContextPath() %><%= request.getServletPath()%>/ProfileManager">Profile</a>
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/viewuser.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,132 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+<% String flag = req.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+
+
+<div style="margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text key="PROFILE_SETTINGS" style="bold"/>&nbsp;&nbsp;&nbsp;<ui:actionlink action="doEditPassword" value="Change password"/></h3>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="PROFILE_LASTLOGIN"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <b><%= logintime %></b>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <% if (req.isUserInRole(PortletRole.ADMIN.getName())) { %>
+            <ui:textfield beanId="userNameTF">
+                <ui:validator type="checkNotEmpty" key="USER_NAME_BLANK"/>
+            </ui:textfield>
+            <% } else { %>
+            <ui:text beanId="userName"/>
+            <% } %>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName">
+                <ui:validator type="checkNotEmpty" key="USER_GIVENNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName">
+                <ui:validator type="checkNotEmpty" key="USER_FAMILYNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text beanId="userRoles"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield size="30" beanId="emailTF"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LOCALE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                      title="<%= locale.getDisplayLanguage() %>"/>
+            <ui:listbox beanId="userlocale"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell valign="top">
+            <ui:text key="TIMEZONE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="timezones"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LAYOUT_SELECT_THEME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="themeLB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+</ui:frame>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell align="center"><ui:actionsubmit action="doSaveAll" key="SAVE"/>
+</ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/redirect.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+
+    <!-- use this when you want to just hardcode server name and do a redirect -->
+    <!-- <meta http-equiv="refresh" content="1;url=http://127.0.0.1:8080/gridsphere/gridsphere">  -->
+</head>
+
+<body>
+<h1>Unauthorized Access</h1>
+Access to servlets that are accessed via http://host/webAppPrefix/servlet/ has been disabled!
+</body>
+</html>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnguestnav.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:actionlink layout="guest" value="Home"/>
+        </li>
+    </ul>
+</div>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnnav.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:text style="nostyle" key="LOGIN_SUCCESS"/>
+            , <%= username %>
+        </li>
+        <ui:hasrole role="ADMIN">
+            <li>
+                <ui:actionlink layout="admin" value="Administration"/>
+            </li>
+            <li>
+                <ui:actionlink layout="content" value="Content"/>
+            </li>
+            <li>
+                <ui:actionlink layout="layout" value="Layout"/>
+            </li>
+        </ui:hasrole>
+        <li>
+            <ui:actionlink layout="profile" value="Profile"/>
+        </li>
+        <li>
+            <ui:actionlink layout="loggedin" value="Home"/>
+        </li>
+        <li>
+            <ui:actionlink action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+        </li>
+    </ul>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/edit.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:listbox beanId="feedsLB"/>
+    <ui:actionsubmit action="removeFeed" key="RSS_DELETE_FEED"/>
+    <br/>
+
+    <ui:text key="RSS_ENTERFEEDURL"/>
+    <ui:textfield beanId="newfeedurl"/>
+    <ui:actionsubmit action="saveFeed" key="RSS_ADD_FEED"/>
+
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/viewRSS.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<%@ page import="com.sun.syndication.feed.synd.SyndContent" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndEntry" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndFeed" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="java.util.Iterator" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<% SyndFeed feed = (SyndFeed) request.getAttribute("rssfeed");
+
+    if (feed != null) {
+%>
+
+<ui:form action="selectFeed">
+    <ui:listbox submitOnChange="true" beanId="feedsLB"/>
+</ui:form>
+
+<br>
+
+<%
+
+    Iterator entryIter = feed.getEntries().iterator();
+    while (entryIter.hasNext()) {
+        SyndEntry entry = (SyndEntry) entryIter.next();
+        String entryLink = entry.getLink();
+        String entryTitle = entry.getTitle();
+        Date entryDate = entry.getPublishedDate();
+        SyndContent content = entry.getDescription();
+        String value = content.getValue();
+
+
+%>
+<ui:group label="<%=entryTitle%>">
+    <ui:text cssStyle="font-size: x-small;  font-weight: italic"><%=entryDate%><br/></ui:text>
+    <p/>
+    <%=value%>
+    <p/>
+    <ui:text cssStyle="font-size: x-small;"><a href="<%=entryLink%>">
+        <ui:text key="RSS_READ_FULL_STORY"/>
+    </a></ui:text>
+</ui:group>
+
+<%
+
+
+    }
+%>
+
+<%
+
+    }
+
+%>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/createAdmin.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+    <h2>Create a Portal Administrator</h2>
+
+The portal administrator has access to all administrative capabilities of the portal including adding/editing users, roles
+and layouts. After creating an account, you will be able to login using the provided user name and password.
+
+    <p/>
+
+    <% String errMsg = (String)request.getAttribute("error");
+           if (errMsg != null) { %>
+
+        <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+
+        <%   } %>
+
+    <p/>
+
+<form action="<%= request.getContextPath() %>/setup?install=admin" method="POST">
+
+   <table>
+       <tr>
+           <td align="right">
+               <label for="username">User Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="username" id="username">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="firstname">First Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="firstname" id="firstname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="lastname">Last Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="lastname" id="lastname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="email">Email Address:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="email" id="email">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="organization">Organization:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="organization" id="organization">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password">Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password" id="password">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password2">Confirm Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password2" id="password2">
+           </td>
+       </tr>
+
+   </table>
+
+  <p/>
+
+    <input type="submit" value="Create Account"/>
+
+</form>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/selectDatabase.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+
+
+<script type="text/javascript">
+<!--
+function SelectDriver() {
+    var dbtype = document.dbform.dbtype.value;
+    var connURL ="";
+    var driver = "";
+    var dialect = "";
+    if (dbtype == "postgresql") {
+        connURL = "jdbc:postgresql://localhost:5432/gridsphere";
+        dialect = "org.hibernate.dialect.PostgreSQLDialect";
+        driver = "org.postgresql.Driver";
+    } else if (dbtype == "mysql") {
+        connURL = "jdbc:mysql://localhost:3306/gridsphere";
+        dialect = "org.hibernate.dialect.MySQLDialect";
+        driver = "com.mysql.jdbc.Driver";
+    } else if (dbtype == "oracle") {
+        connURL = "jdbc:oracle:thin:@localhost:1521:gridsphere";
+        dialect = "org.hibernate.dialect.Oracle9Dialect";
+        driver = "oracle.jdbc.driver.OracleDriver";
+    } else if (dbtype == "ms") {
+        connURL = "jdbc:sqlserver://localhost:1681/gridsphere";
+        dialect = "org.hibernate.dialect.SQLServerDialect";
+        driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+    }
+    document.dbform.databaseURL.value = connURL;
+    document.dbform.driverClass.value = driver;
+    document.dbform.dialect.value = dialect;
+
+    //alert(dbtype);
+}
+
+function DisplayWait( formName ) {
+
+    var waitDiv = document.getElementById("content");
+
+    waitDiv.innerHTML = '<div style="position: absolute; padding: 20px; border: solid 5px; background-color: white; left: 300px; width: 300px; z-index: 5;">  Please wait... database is being created!</div>';
+
+    document.dbform.custom.disabled = true;
+    document.simple.standard.disabled = true;
+    document[formName].submit();
+}
+
+// -->
+</script>
+
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+
+
+
+    <h2>Choose a Database Configuration</h2>
+
+    Select where GridSphere should store its data
+
+    <p/>
+
+
+    <fieldset>
+        <legend>Embedded Database</legend>
+
+        The embedded database is provided by GridSphere and is <b>recommended for evaluation and
+        demonstration purposes</b>. Production systems should consider using an external database for improved scalability and reliability.
+        (This option will create a HSQL database in the gridsphere web application).
+        <p/>
+        <form method="POST" name="simple" action="<%= request.getContextPath() %>/setup?install=default">
+
+
+            <input type="submit" name="standard" value="Embedded Database >>" onclick="DisplayWait( this.form.name )"/>
+
+        </form>
+
+    </fieldset>
+
+    <p/>
+
+
+    <div id="content"></div>
+
+    <fieldset>
+        <legend>External Database</legend>
+
+        If you wish the portal to store its data in an external database, please provide the necessary connection values.
+        This is <b>recommended for production systems</b>. You must also make sure the JDBC driver (JAR) is placed in the
+        application classloader of the servlet container. (In the case of Tomcat, place JAR file in <b>$TOMCAT/common/lib</b>
+        directory.
+        <p/>
+        <form name="dbform" method="POST" action="<%= request.getContextPath() %>/setup?install=custom">
+
+            <table>
+                <tr>
+                    <td align="right">
+                        <label for="dbtype">Choose your database:</label>
+                    </td>
+                    <td align="left">
+                        <select name="dbtype" id="dbtype" onchange="SelectDriver()">
+                            <option value="postgresql">PostgreSQL</option>
+                            <option value="mysql">MySQL</option>
+                            <option value="oracle">Oracle 9/10g</option>
+                            <option value="ms">MS SQL Server</option>
+                            <option value="other">Other</option>
+                        </select>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter a Database URL:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="databaseURL" id="connection" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the driver class name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="driverClass" id="driverclass" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the Hibernate dialect:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="dialect" id="dialect" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="username">Enter the User Name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="username" id="username"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="password">Enter the Password:</label>
+                    </td>
+                    <td align="left">
+                        <input type="password" name="password" id="password"/>
+                    </td>
+                </tr>
+            </table>
+            <p/>
+            <input type="submit" name="custom" value="External Database >>" onsubmit="DisplayWait( this.form.name )"/>
+        </form>
+
+    </fieldset>
+
+</div>
+
+<script type="text/javascript">
+<!--
+    SelectDriver();
+// -->
+</script>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/updateDatabase.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+
+
+<div style="padding-top: 3px; margin: 0px 0px 0px 10px; padding-left: 8px; padding-right:
+ 5px; padding-bottom: 1px;">
+
+    <h1>GridSphere Update</h1>
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+    GridSphere has detected that a new version of the portal has been installed! To continue, the existing database schemas
+    must be updated. You should first make a back-up of your existing database before completing this step.
+    <p/>
+    Do you wish to proceed?
+    <p/>
+
+        <form method="POST" action="<%= request.getContextPath() %>/setup?install=update">
+
+
+            <input type="submit" value="Update Database >>"/>
+
+        </form>
+
+</div>

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/view.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+
+
+<h1>GridSphere Setup</h1>
+
+
+<form method="POST" action="<%= request.getContextPath() %>/setup">
+
+
+Select a database type:
+
+<select name="dbtype" id="dbtype">
+    <option selected="selected" value="org.hibernate.dialect.HSQLDialect">HsqlDB (default)</option>
+    <option value="org.hibernate.dialect.PostgreSQLDialect">Postgres</option>
+    <option value="org.hibernate.dialect.MySQLDialect">MySQL</option>
+    <option value="org.hibernate.dialect.Oracle9Dialect">Oracle 9/10g</option>
+</select>
+
+Please provide the connection URL:
+
+<input type="text" name="connectionURL" id="connection"/>
+
+Please provide the user name
+
+<input type="text" name="username" id="username"/>
+
+Please provide the password
+
+<input type="password" name="password" id="password"/>
+
+
+    <input type="submit" value="Enter"/>
+
+</form>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/approve.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED"/>
+
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/confirmsave.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:actionsubmit key="LOGIN_CANT_READ" action="cantRead"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveAccount" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/deny.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/scwblank.html
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/README.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+GridSphere Theme Support
+------------------------
+
+GS supports two pluggable look and feels (PLAF)s: classic and standard. The classic PLAF remains the old (GS 2.1.2 and earlier) look and feel using a combination of nested tables and some CSS. The current default PLAF is standard which is evolving towards a much more configurable pure CSS layout. Each PLAF supports multiple themes inside each of the PLAF subdirectories. If you are interested in developing a new theme, please use the standard PLAF and have a look at the CSS files.
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/default.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/general.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px;
+    font-size: small;
+
+}
+
+* html body {
+    font-size: small; /* for IE5/Win */
+
+}
+
+html {
+    background-color: #FFFFFF;
+
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/layout.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Lucida Grande", sans-serif;
+    padding: 0px;
+    border: 0px;
+}
+
+
+#gridsphere-layout-logo {
+    float: left;
+    width: 100%;
+    padding-top: 10px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+/*    background-color: #E5ECF9;*/
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ffffff;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ffffff;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+/*
+b.rtop, b.rbottom {
+    display: block;
+    background: #E5ECF9
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #E5ECF9
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+*/
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/menunav.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,149 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+/*
+.gridsphere-menu {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    margin:0;
+    background-color: #2D5B89;
+}
+
+.gridsphere-menu ul li a, .menu ul li a:visited {
+    display:block;
+    text-decoration:none;
+    width:109px;
+    height:20px;
+    text-align:center;
+    color:#FFFFFF;
+    border-bottom:1px solid #b4bfcc;
+    line-height:20px;
+    font-size:12px;
+    overflow:hidden;
+    background-color: #2D5B89;
+    font-weight: bold;
+}
+.gridsphere-menu ul {
+    padding:0;
+    margin:0;
+    list-style-type: none;
+}
+.gridsphere-menu ul li {
+    float:left;
+    margin-right:1px;
+    position:relative;
+
+}
+
+.gridsphere-menu ul li.selected a {
+    float:left;
+    margin-right:1px;
+    position:relative;
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li ul {
+    display: none;
+}
+
+.gridsphere-menu ul li:hover a {
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li:hover ul {
+    display:block;
+    position:absolute;
+    top:20px; left:0;
+    width:109px;
+}
+*/
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/navigation.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none; /*    border-bottom: 1px solid #BBBBBB;*/
+    background: #FFFFFF;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/portlet.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/tags.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/window.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #F1B900;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #FFFFFF;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #F1B900;
+    border-bottom: 1px solid #F1B900;
+    border-left: 1px solid #F1B900;
+    clear: both;
+    padding: 5px;
+    background-color: #FFFFFF;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/default.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/general.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px; /*    font-size: small;  */
+}
+
+* html body {
+/*    font-size: small; */
+/* for IE5/Win */
+}
+
+html {
+    background-color: #52A5F2;
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/layout.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+xx/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Arial, Helvetica, Lucida Grande", sans-serif;
+    font-size: small;
+    padding: 0px;
+    border: 0px;
+}
+
+#gridsphere-layout-logo {
+    float: left;
+    padding-top: 3px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+    background-color: #FFFFFF;
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ebebeb;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ebebeb;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+
+b.rtop, b.rbottom {
+    display: block;
+    background: #52A5F2;
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #ffffff;
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/menunav.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small;
+
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-menu-bottom-line {
+    width: 100%;
+    background: #EBEBEB url( ../images/navr_bg_menu.gif ) repeat-x top left;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/navigation.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,121 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none;
+    border-bottom: 1px solid #727377;
+    background: url( ../images/sub-tab.gif ) repeat-x;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/portlet.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/tags.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/window.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #52A5F2;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #fff;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #52A5F2;
+    border-bottom: 1px solid #52A5F2;
+    border-left: 1px solid #52A5F2;
+    clear: both;
+    padding: 5px;
+    background-color: #fff;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/gridsphere/themes/brush/default/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<title>Sample Application JSP Page</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td align=center>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample Application JSP Page</h1>
+This is the output of a JSP page that is part of the Hello, World
+application.  It displays several useful values from the request
+we are currently processing.
+</td>
+</tr>
+</table>
+
+<table border="0" border="100%">
+<tr>
+  <th align="right">Context Path:</th>
+  <td align="left"><%= request.getContextPath() %></td>
+</tr>
+<tr>
+  <th align="right">Path Information:</th>
+  <td align="left"><%= request.getPathInfo() %></td>
+</tr>
+<tr>
+  <th align="right">Query String:</th>
+  <td align="left"><%= request.getQueryString() %></td>
+</tr>
+<tr>
+  <th align="right">Request Method:</th>
+  <td align="left"><%= request.getMethod() %></td>
+</tr>
+<tr>
+  <th align="right">Servlet Path:</th>
+  <td align="left"><%= request.getServletPath() %></td>
+</tr>
+</table>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Entries
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Entries	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Entries	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+/tomcat.gif/1.1.1.1/Thu Jul 18 16:48:39 2002/-kb/
+D

Added: cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Repository
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Repository	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Repository	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+jakarta-tomcat-catalina/webapps/docs/appdev/sample/web/images

Added: cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Root
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Root	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/images/CVS/Root	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+:pserver:anoncvs at cvs.apache.org:/home/cvspublic

Added: cs/trunk/apps-local/apache-tomcat/webapps/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<title>Sample "Hello, World" Application</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample "Hello, World" Application</h1>
+<p>This is the home page for a sample application used to illustrate the
+source directory organization of a web application utilizing the principles
+outlined in the Application Developer's Guide.
+</td>
+</tr>
+</table>
+
+<p>To prove that they work, you can execute either of the following links:
+<ul>
+<li>To a <a href="hello.jsp">JSP page</a>.
+<li>To a <a href="hello">servlet</a>.
+</ul>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entries.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.servlet.http.*;
+
+public class Entries {
+
+  private Hashtable entries;
+  private static final String[] time = {"8am", "9am", "10am", "11am", "12pm", 
+					"1pm", "2pm", "3pm", "4pm", "5pm", "6pm",
+					"7pm", "8pm" };
+  public static final int rows = 12;
+
+  public Entries () {   
+   entries = new Hashtable (rows);
+   for (int i=0; i < rows; i++) {
+     entries.put (time[i], new Entry(time[i]));
+   }
+  }
+
+  public int getRows () {
+    return rows;
+  }
+
+  public Entry getEntry (int index) {
+    return (Entry)this.entries.get(time[index]);
+  }
+
+  public int getIndex (String tm) {
+    for (int i=0; i<rows; i++)
+      if(tm.equals(time[i])) return i;
+    return -1;
+  }
+
+  public void processRequest (HttpServletRequest request, String tm) {
+    int index = getIndex (tm);
+    if (index >= 0) {
+      String descr = request.getParameter ("description");
+      ((Entry)entries.get(time[index])).setDescription (descr);
+    }
+  }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/Entry.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+public class Entry {
+
+  String hour;
+  String description;
+  String color;
+
+  public Entry (String hour) {
+    this.hour = hour;
+    this.description = "";
+
+  }
+
+  public String getHour () {
+    return this.hour;
+  }
+
+  public String getColor () {
+    if (description.equals("")) return "lightblue";
+    else return "red";
+  }
+
+  public String getDescription () {
+    if (description.equals("")) return "None";
+    else return this.description;
+  }
+
+  public void setDescription (String descr) {
+    description = descr;
+  }
+ 
+}
+
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/JspCalendar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,155 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+import java.text.DateFormat;
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+    Date currentDate;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();	
+    }
+
+    public String getCurrentDate() {
+        Date dt = new Date ();
+	calendar.setTime (dt);
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getNextDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);
+	return getDate ();
+    }
+
+    public String getPrevDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);
+	return getDate ();
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+  
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/cal/TableBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.beans.*;
+import javax.servlet.http.*;
+import javax.servlet.*;
+import java.util.Hashtable;
+
+public class TableBean {
+
+  Hashtable table;
+  JspCalendar JspCal;
+  Entries entries;
+  String date;
+  String name = null;
+  String email = null;
+  boolean processError = false;
+
+  public TableBean () {
+    this.table = new Hashtable (10);
+    this.JspCal = new JspCalendar ();
+    this.date = JspCal.getCurrentDate ();
+  }
+
+  public void setName (String nm) {
+    this.name = nm;
+  }
+
+  public String getName () {
+    return this.name;
+  }
+  
+  public void setEmail (String mail) {
+    this.email = mail;
+  }
+
+  public String getEmail () {
+    return this.email;
+  }
+
+  public String getDate () {
+    return this.date;
+  }
+
+  public Entries getEntries () {
+    return this.entries;
+  }
+
+  public void processRequest (HttpServletRequest request) {
+
+    // Get the name and e-mail.
+    this.processError = false;
+    if (name == null || name.equals("")) setName(request.getParameter ("name"));  
+    if (email == null || email.equals("")) setEmail(request.getParameter ("email"));
+    if (name == null || email == null ||
+		name.equals("") || email.equals("")) {
+      this.processError = true;
+      return;
+    }
+
+    // Get the date.
+    String dateR = request.getParameter ("date");
+    if (dateR == null) date = JspCal.getCurrentDate ();
+    else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();
+    else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();
+
+    entries = (Entries) table.get (date);
+    if (entries == null) {
+      entries = new Entries ();
+      table.put (date, entries);
+    }
+
+    // If time is provided add the event.
+	String time = request.getParameter("time");
+    if (time != null) entries.processRequest (request, time);
+  }
+
+  public boolean getProcessError () {
+    return this.processError;
+  }
+}
+
+
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/checkbox/CheckTest.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package checkbox;
+
+public class CheckTest {
+
+    String b[] = new String[] { "1", "2", "3", "4" };
+
+    public String[] getFruit() {
+	return b;
+    }
+
+    public void setFruit(String [] b) {
+	this.b = b;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/colors/ColorGameBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package colors;
+
+import javax.servlet.http.*;
+
+public class ColorGameBean {
+
+    private String background = "yellow";
+    private String foreground = "red";
+    private String color1 = foreground;
+    private String color2 = background;
+    private String hint = "no";
+    private int attempts = 0;
+	private int intval = 0;
+    private boolean tookHints = false;
+
+    public void processRequest(HttpServletRequest request) {
+
+	// background = "yellow";
+	// foreground = "red";
+
+	if (! color1.equals(foreground)) {
+	    if (color1.equalsIgnoreCase("black") ||
+			color1.equalsIgnoreCase("cyan")) {
+			background = color1;
+		}
+	}
+
+	if (! color2.equals(background)) {
+	    if (color2.equalsIgnoreCase("black") ||
+			color2.equalsIgnoreCase("cyan")) {
+			foreground = color2;
+	    }
+	}
+
+	attempts++;
+    }
+
+    public void setColor2(String x) {
+	color2 = x;
+    }
+
+    public void setColor1(String x) {
+	color1 = x;
+    }
+
+    public void setAction(String x) {
+	if (!tookHints)
+	    tookHints = x.equalsIgnoreCase("Hint");
+	hint = x;
+    }
+
+    public String getColor2() {
+	 return background;
+    }
+
+    public String getColor1() {
+	 return foreground;
+    }
+
+    public int getAttempts() {
+	return attempts;
+    }
+
+    public boolean getHint() {
+	return hint.equalsIgnoreCase("Hint");
+    }
+
+    public boolean getSuccess() {
+	if (background.equalsIgnoreCase("black") ||
+	    background.equalsIgnoreCase("cyan")) {
+	
+	    if (foreground.equalsIgnoreCase("black") ||
+		foreground.equalsIgnoreCase("cyan"))
+		return true;
+	    else
+		return false;
+	}
+
+	return false;
+    }
+
+    public boolean getHintTaken() {
+	return tookHints;
+    }
+
+    public void reset() {
+	foreground = "red";
+	background = "yellow";
+    }
+
+    public void setIntval(int value) {
+	intval = value;
+	}
+
+    public int getIntval() {
+	return intval;
+	}
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,220 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <code>javax.servlet.Filter</code> used to compress
+ * the ServletResponse if it is bigger than a threshold.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 466607 $, $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public class CompressionFilter implements Filter{
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig config = null;
+
+    /**
+     * Minimal reasonable threshold
+     */
+    private int minThreshold = 128;
+
+
+    /**
+     * The threshold number to compress
+     */
+    protected int compressionThreshold;
+
+    /**
+     * Debug level for this filter
+     */
+    private int debug = 0;
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+
+    public void init(FilterConfig filterConfig) {
+
+        config = filterConfig;
+        if (filterConfig != null) {
+            String value = filterConfig.getInitParameter("debug");
+            if (value!=null) {
+                debug = Integer.parseInt(value);
+            } else {
+                debug = 0;
+            }
+            String str = filterConfig.getInitParameter("compressionThreshold");
+            if (str!=null) {
+                compressionThreshold = Integer.parseInt(str);
+                if (compressionThreshold != 0 && compressionThreshold < minThreshold) {
+                    if (debug > 0) {
+                        System.out.println("compressionThreshold should be either 0 - no compression or >= " + minThreshold);
+                        System.out.println("compressionThreshold set to " + minThreshold);
+                    }
+                    compressionThreshold = minThreshold;
+                }
+            } else {
+                compressionThreshold = 0;
+            }
+
+        } else {
+            compressionThreshold = 0;
+        }
+
+    }
+
+    /**
+    * Take this filter out of service.
+    */
+    public void destroy() {
+
+        this.config = null;
+
+    }
+
+    /**
+     * The <code>doFilter</code> method of the Filter is called by the container
+     * each time a request/response pair is passed through the chain due
+     * to a client request for a resource at the end of the chain.
+     * The FilterChain passed into this method allows the Filter to pass on the
+     * request and response to the next entity in the chain.<p>
+     * This method first examines the request to check whether the client support
+     * compression. <br>
+     * It simply just pass the request and response if there is no support for
+     * compression.<br>
+     * If the compression support is available, it creates a
+     * CompressionServletResponseWrapper object which compresses the content and
+     * modifies the header if the content length is big enough.
+     * It then invokes the next entity in the chain using the FilterChain object
+     * (<code>chain.doFilter()</code>), <br>
+     **/
+
+    public void doFilter ( ServletRequest request, ServletResponse response,
+                        FilterChain chain ) throws IOException, ServletException {
+
+        if (debug > 0) {
+            System.out.println("@doFilter");
+        }
+
+        if (compressionThreshold == 0) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called, but compressionTreshold is set to 0 - no compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        }
+
+        boolean supportCompression = false;
+        if (request instanceof HttpServletRequest) {
+            if (debug > 1) {
+                System.out.println("requestURI = " + ((HttpServletRequest)request).getRequestURI());
+            }
+
+            // Are we allowed to compress ?
+            String s = (String) ((HttpServletRequest)request).getParameter("gzip");
+            if ("false".equals(s)) {
+                if (debug > 0) {
+                    System.out.println("got parameter gzip=false --> don't compress, just chain filter");
+                }
+                chain.doFilter(request, response);
+                return;
+            }
+
+            Enumeration e =
+                ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+            while (e.hasMoreElements()) {
+                String name = (String)e.nextElement();
+                if (name.indexOf("gzip") != -1) {
+                    if (debug > 0) {
+                        System.out.println("supports compression");
+                    }
+                    supportCompression = true;
+                } else {
+                    if (debug > 0) {
+                        System.out.println("no support for compresion");
+                    }
+                }
+            }
+        }
+
+        if (!supportCompression) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called wo compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        } else {
+            if (response instanceof HttpServletResponse) {
+                CompressionServletResponseWrapper wrappedResponse =
+                    new CompressionServletResponseWrapper((HttpServletResponse)response);
+                wrappedResponse.setDebugLevel(debug);
+                wrappedResponse.setCompressionThreshold(compressionThreshold);
+                if (debug > 0) {
+                    System.out.println("doFilter gets called with compression");
+                }
+                try {
+                    chain.doFilter(request, wrappedResponse);
+                } finally {
+                    wrappedResponse.finishResponse();
+                }
+                return;
+            }
+        }
+    }
+
+    /**
+     * Set filter config
+     * This function is equivalent to init. Required by Weblogic 6.1
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void setFilterConfig(FilterConfig filterConfig) {
+        init(filterConfig);
+    }
+
+    /**
+     * Return filter config
+     * Required by Weblogic 6.1
+     */
+    public FilterConfig getFilterConfig() {
+        return config;
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+/**
+ * Very Simple test servlet to test compression filter
+ * @author Amy Roh
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionFilterTestServlet extends HttpServlet {
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+
+        ServletOutputStream out = response.getOutputStream();
+        response.setContentType("text/plain");
+
+        Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            out.println(name);
+            if (name.indexOf("gzip") != -1) {
+                out.println("gzip supported -- able to compress");
+            }
+            else {
+                out.println("gzip not supported");
+            }
+        }
+
+
+        out.println("Compression Filter Test Servlet");
+        out.close();
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,325 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.zip.GZIPOutputStream;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <b>ServletOutputStream</b> that works with
+ * the CompressionServletResponseWrapper implementation.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionResponseStream
+    extends ServletOutputStream {
+
+
+    // ----------------------------------------------------------- Constructors
+
+
+    /**
+     * Construct a servlet output stream associated with the specified Response.
+     *
+     * @param response The associated response
+     */
+    public CompressionResponseStream(HttpServletResponse response) throws IOException{
+
+        super();
+        closed = false;
+        this.response = response;
+        this.output = response.getOutputStream();
+
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The threshold number which decides to compress or not.
+     * Users can configure in web.xml to set it to fit their needs.
+     */
+    protected int compressionThreshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * The buffer through which all of our output bytes are passed.
+     */
+    protected byte[] buffer = null;
+
+    /**
+     * The number of data bytes currently in the buffer.
+     */
+    protected int bufferCount = 0;
+
+    /**
+     * The underlying gzip output stream to which we should write data.
+     */
+    protected OutputStream gzipstream = null;
+
+    /**
+     * Has this stream been closed?
+     */
+    protected boolean closed = false;
+
+    /**
+     * The content length past which we will not write, or -1 if there is
+     * no defined content length.
+     */
+    protected int length = -1;
+
+    /**
+     * The response with which this servlet output stream is associated.
+     */
+    protected HttpServletResponse response = null;
+
+    /**
+     * The underlying servket output stream to which we should write data.
+     */
+    protected ServletOutputStream output = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Set the compressionThreshold number and create buffer for this size
+     */
+    protected void setBuffer(int threshold) {
+        compressionThreshold = threshold;
+        buffer = new byte[compressionThreshold];
+        if (debug > 1) {
+            System.out.println("buffer is set to "+compressionThreshold);
+        }
+    }
+
+    /**
+     * Close this output stream, causing any buffered data to be flushed and
+     * any further output data to throw an IOException.
+     */
+    public void close() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("close() @ CompressionResponseStream");
+        }
+        if (closed)
+            throw new IOException("This output stream has already been closed");
+
+        if (gzipstream != null) {
+            flushToGZip();
+            gzipstream.close();
+            gzipstream = null;
+        } else {
+            if (bufferCount > 0) {
+                if (debug > 2) {
+                    System.out.print("output.write(");
+                    System.out.write(buffer, 0, bufferCount);
+                    System.out.println(")");
+                }
+                output.write(buffer, 0, bufferCount);
+                bufferCount = 0;
+            }
+        }
+
+        output.close();
+        closed = true;
+
+    }
+
+
+    /**
+     * Flush any buffered data for this output stream, which also causes the
+     * response to be committed.
+     */
+    public void flush() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flush() @ CompressionResponseStream");
+        }
+        if (closed) {
+            throw new IOException("Cannot flush a closed output stream");
+        }
+
+        if (gzipstream != null) {
+            gzipstream.flush();
+        }
+
+    }
+
+    public void flushToGZip() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flushToGZip() @ CompressionResponseStream");
+        }
+        if (bufferCount > 0) {
+            if (debug > 1) {
+                System.out.println("flushing out to GZipStream, bufferCount = " + bufferCount);
+            }
+            writeToGZip(buffer, 0, bufferCount);
+            bufferCount = 0;
+        }
+
+    }
+
+    /**
+     * Write the specified byte to our output stream.
+     *
+     * @param b The byte to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(int b) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write "+b+" in CompressionResponseStream ");
+        }
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (bufferCount >= buffer.length) {
+            flushToGZip();
+        }
+
+        buffer[bufferCount++] = (byte) b;
+
+    }
+
+
+    /**
+     * Write <code>b.length</code> bytes from the specified byte array
+     * to our output stream.
+     *
+     * @param b The byte array to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[]) throws IOException {
+
+        write(b, 0, b.length);
+
+    }
+
+
+    /**
+     * Write <code>len</code> bytes from the specified byte array, starting
+     * at the specified offset, to our output stream.
+     *
+     * @param b The byte array containing the bytes to be written
+     * @param off Zero-relative starting offset of the bytes to be written
+     * @param len The number of bytes to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write, bufferCount = " + bufferCount + " len = " + len + " off = " + off);
+        }
+        if (debug > 2) {
+            System.out.print("write(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (len == 0)
+            return;
+
+        // Can we write into buffer ?
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // There is not enough space in buffer. Flush it ...
+        flushToGZip();
+
+        // ... and try again. Note, that bufferCount = 0 here !
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // write direct to gzip
+        writeToGZip(b, off, len);
+    }
+
+    public void writeToGZip(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("writeToGZip, len = " + len);
+        }
+        if (debug > 2) {
+            System.out.print("writeToGZip(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+        if (gzipstream == null) {
+            if (debug > 1) {
+                System.out.println("new GZIPOutputStream");
+            }
+            if (response.isCommitted()) {
+                if (debug > 1)
+                    System.out.print("Response already committed. Using original output stream");
+                gzipstream = output;
+            } else {
+                response.addHeader("Content-Encoding", "gzip");
+                gzipstream = new GZIPOutputStream(output);
+            }
+        }
+        gzipstream.write(b, off, len);
+
+    }
+
+
+    // -------------------------------------------------------- Package Methods
+
+
+    /**
+     * Has this response stream been closed?
+     */
+    public boolean closed() {
+
+        return (this.closed);
+
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,246 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+/**
+ * Implementation of <b>HttpServletResponseWrapper</b> that works with
+ * the CompressionServletResponseStream implementation..
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
+
+    // ----------------------------------------------------- Constructor
+
+    /**
+     * Calls the parent constructor which creates a ServletResponse adaptor
+     * wrapping the given response object.
+     */
+
+    public CompressionServletResponseWrapper(HttpServletResponse response) {
+        super(response);
+        origResponse = response;
+        if (debug > 1) {
+            System.out.println("CompressionServletResponseWrapper constructor gets called");
+        }
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+    /**
+     * Original response
+     */
+
+    protected HttpServletResponse origResponse = null;
+
+    /**
+     * Descriptive information about this Response implementation.
+     */
+
+    protected static final String info = "CompressionServletResponseWrapper";
+
+    /**
+     * The ServletOutputStream that has been returned by
+     * <code>getOutputStream()</code>, if any.
+     */
+
+    protected ServletOutputStream stream = null;
+
+
+    /**
+     * The PrintWriter that has been returned by
+     * <code>getWriter()</code>, if any.
+     */
+
+    protected PrintWriter writer = null;
+
+    /**
+     * The threshold number to compress
+     */
+    protected int threshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * Content type
+     */
+    protected String contentType = null;
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Set content type
+     */
+    public void setContentType(String contentType) {
+        if (debug > 1) {
+            System.out.println("setContentType to "+contentType);
+        }
+        this.contentType = contentType;
+        origResponse.setContentType(contentType);
+    }
+
+
+    /**
+     * Set threshold number
+     */
+    public void setCompressionThreshold(int threshold) {
+        if (debug > 1) {
+            System.out.println("setCompressionThreshold to " + threshold);
+        }
+        this.threshold = threshold;
+    }
+
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Create and return a ServletOutputStream to write the content
+     * associated with this Response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream createOutputStream() throws IOException {
+        if (debug > 1) {
+            System.out.println("createOutputStream gets called");
+        }
+
+        CompressionResponseStream stream = new CompressionResponseStream(origResponse);
+        stream.setDebugLevel(debug);
+        stream.setBuffer(threshold);
+
+        return stream;
+
+    }
+
+
+    /**
+     * Finish a response.
+     */
+    public void finishResponse() {
+        try {
+            if (writer != null) {
+                writer.close();
+            } else {
+                if (stream != null)
+                    stream.close();
+            }
+        } catch (IOException e) {
+        }
+    }
+
+
+    // ------------------------------------------------ ServletResponse Methods
+
+
+    /**
+     * Flush the buffer and commit this response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void flushBuffer() throws IOException {
+        if (debug > 1) {
+            System.out.println("flush buffer @ CompressionServletResponseWrapper");
+        }
+        ((CompressionResponseStream)stream).flush();
+
+    }
+
+    /**
+     * Return the servlet output stream associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getWriter</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream getOutputStream() throws IOException {
+
+        if (writer != null)
+            throw new IllegalStateException("getWriter() has already been called for this response");
+
+        if (stream == null)
+            stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getOutputStream");
+        }
+
+        return (stream);
+
+    }
+
+    /**
+     * Return the writer associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getOutputStream</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public PrintWriter getWriter() throws IOException {
+
+        if (writer != null)
+            return (writer);
+
+        if (stream != null)
+            throw new IllegalStateException("getOutputStream() has already been called for this response");
+
+        stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getWriter");
+        }
+        //String charset = getCharsetFromContentType(contentType);
+        String charEnc = origResponse.getCharacterEncoding();
+        if (debug > 1) {
+            System.out.println("character encoding is " + charEnc);
+        }
+        // HttpServletResponse.getCharacterEncoding() shouldn't return null
+        // according the spec, so feel free to remove that "if"
+        if (charEnc != null) {
+            writer = new PrintWriter(new OutputStreamWriter(stream, charEnc));
+        } else {
+            writer = new PrintWriter(stream);
+        }
+        
+        return (writer);
+
+    }
+
+
+    public void setContentLength(int length) {
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/dates/JspCalendar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package dates;
+
+import java.text.DateFormat;
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+    public static void main(String args[]) {
+	JspCalendar db = new JspCalendar();
+	p("date: " + db.getDayOfMonth());
+	p("year: " + db.getYear());
+	p("month: " + db.getMonth());
+	p("time: " + db.getTime());
+	p("date: " + db.getDate());
+	p("Day: " + db.getDay());
+	p("DayOfYear: " + db.getDayOfYear());
+	p("WeekOfYear: " + db.getWeekOfYear());
+	p("era: " + db.getEra());
+	p("ampm: " + db.getAMPM());
+	p("DST: " + db.getDSTOffset());
+	p("ZONE Offset: " + db.getZoneOffset());
+	p("TIMEZONE: " + db.getUSTimeZone());
+    }
+
+    private static void p(String x) {
+	System.out.println(x);
+    }
+
+
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/error/Smart.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package error;
+
+import java.io.*;
+import java.lang.*;
+
+public class Smart {
+
+  String name = "JSP";
+
+  public String getName () {
+	return name;
+  }	
+
+  public void setName (String name) {
+	this.name = name;
+  }	
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ExampleTagBase.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+
+public abstract class ExampleTagBase extends BodyTagSupport {
+
+    public void setParent(Tag parent) {
+        this.parent = parent;
+    }
+
+    public void setBodyContent(BodyContent bodyOut) {
+        this.bodyOut = bodyOut;
+    }
+
+    public void setPageContext(PageContext pageContext) {
+        this.pageContext = pageContext;
+    }
+
+    public Tag getParent() {
+        return this.parent;
+    }
+    
+    public int doStartTag() throws JspException {
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+    
+
+    // Default implementations for BodyTag methods as well
+    // just in case a tag decides to implement BodyTag.
+    public void doInitBody() throws JspException {
+    }
+
+    public int doAfterBody() throws JspException {
+        return SKIP_BODY;
+    }
+
+    public void release() {
+        bodyOut = null;
+        pageContext = null;
+        parent = null;
+    }
+    
+    protected BodyContent bodyOut;
+    protected PageContext pageContext;
+    protected Tag parent;
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,83 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+import java.util.Hashtable;
+import java.io.Writer;
+import java.io.IOException;
+
+/**
+ * Example1: the simplest tag
+ * Collect attributes and call into some actions
+ *
+ * <foo att1="..." att2="...." att3="...." />
+ */
+
+public class FooTag 
+    extends ExampleTagBase 
+{
+    private String atts[] = new String[3];
+    int i = 0;
+    
+    private final void setAtt(int index, String value) {
+        atts[index] = value;
+    }
+    
+    public void setAtt1(String value) {
+        setAtt(0, value);
+    }
+    
+    public void setAtt2(String value) {
+        setAtt(1, value);
+    }
+
+    public void setAtt3(String value) {
+        setAtt(2, value);
+    }
+    
+    /**
+     * Process start tag
+     *
+     * @return EVAL_BODY_INCLUDE
+     */
+    public int doStartTag() throws JspException {
+        i = 0;
+	return EVAL_BODY_TAG;
+    }
+
+    public void doInitBody() throws JspException {
+        pageContext.setAttribute("member", atts[i]);
+        i++;
+    }
+    
+    public int doAfterBody() throws JspException {
+        try {
+            if (i == 3) {
+                bodyOut.writeOut(bodyOut.getEnclosingWriter());
+                return SKIP_BODY;
+            } else
+                pageContext.setAttribute("member", atts[i]);
+            i++;
+            return EVAL_BODY_TAG;
+        } catch (IOException ex) {
+            throw new JspTagException(ex.toString());
+        }
+    }
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/FooTagExtraInfo.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+import javax.servlet.jsp.tagext.*;
+
+public class FooTagExtraInfo extends TagExtraInfo {
+    public VariableInfo[] getVariableInfo(TagData data) {
+        return new VariableInfo[] 
+            {
+                new VariableInfo("member",
+                                 "String",
+                                 true,
+                                 VariableInfo.NESTED)
+            };
+    }
+}
+
+        

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/LogTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+
+import java.io.IOException;
+
+/**
+ * Log the contents of the body. Could be used to handle errors etc. 
+ */
+public class LogTag 
+    extends ExampleTagBase
+{
+    boolean toBrowser = false;
+    
+    public void setToBrowser(String value) {
+        if (value == null)
+            toBrowser = false;
+        else if (value.equalsIgnoreCase("true"))
+            toBrowser = true;
+        else
+            toBrowser = false;
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_TAG;
+    }
+    
+    public int doAfterBody() throws JspException {
+        try {
+            String s = bodyOut.getString();
+            System.err.println(s);
+            if (toBrowser)
+                bodyOut.writeOut(bodyOut.getEnclosingWriter());
+            return SKIP_BODY;
+        } catch (IOException ex) {
+            throw new JspTagException(ex.toString());
+        }
+    }
+}
+
+    
+        
+    

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/examples/ShowSource.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package examples;
+
+
+import javax.servlet.*;
+import javax.servlet.jsp.*;
+import javax.servlet.jsp.tagext.*;
+
+import java.io.*;
+
+/**
+ * Display the sources of the JSP file.
+ */
+public class ShowSource
+    extends TagSupport
+{
+    String jspFile;
+    
+    public void setJspFile(String jspFile) {
+        this.jspFile = jspFile;
+    }
+
+    public int doEndTag() throws JspException {
+	if ((jspFile.indexOf( ".." ) >= 0) ||
+            (jspFile.toUpperCase().indexOf("/WEB-INF/") != 0) ||
+            (jspFile.toUpperCase().indexOf("/META-INF/") != 0))
+	    throw new JspTagException("Invalid JSP file " + jspFile);
+
+        InputStream in
+            = pageContext.getServletContext().getResourceAsStream(jspFile);
+
+        if (in == null)
+            throw new JspTagException("Unable to find JSP file: "+jspFile);
+
+        InputStreamReader reader = new InputStreamReader(in);
+	JspWriter out = pageContext.getOut();
+
+
+        try {
+            out.println("<body>");
+            out.println("<pre>");
+            for(int ch = in.read(); ch != -1; ch = in.read())
+                if (ch == '<')
+                    out.print("&lt;");
+                else
+                    out.print((char) ch);
+            out.println("</pre>");
+            out.println("</body>");
+        } catch (IOException ex) {
+            throw new JspTagException("IOException: "+ex.toString());
+        }
+        return super.doEndTag();
+    }
+}
+
+    
+        
+    

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/ExampleFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,141 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+
+
+/**
+ * Example filter that can be attached to either an individual servlet
+ * or to a URL pattern.  This filter performs the following functions:
+ * <ul>
+ * <li>Attaches itself as a request attribute, under the attribute name
+ *     defined by the value of the <code>attribute</code> initialization
+ *     parameter.</li>
+ * <li>Calculates the number of milliseconds required to perform the
+ *     servlet processing required by this request, including any
+ *     subsequently defined filters, and logs the result to the servlet
+ *     context log for this application.
+ * </ul>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class ExampleFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The request attribute name under which we store a reference to ourself.
+     */
+    private String attribute = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.attribute = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+	// Store ourselves as a request attribute (if requested)
+	if (attribute != null)
+	    request.setAttribute(attribute, this);
+
+	// Time and log the subsequent processing
+	long startTime = System.currentTimeMillis();
+        chain.doFilter(request, response);
+	long stopTime = System.currentTimeMillis();
+	filterConfig.getServletContext().log
+	    (this.toString() + ": " + (stopTime - startTime) +
+	     " milliseconds");
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.attribute = filterConfig.getInitParameter("attribute");
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("InvokerFilter()");
+	StringBuffer sb = new StringBuffer("InvokerFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,202 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+
+package filters;
+
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.sql.Timestamp;
+import java.util.Enumeration;
+import java.util.Locale;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * Example filter that dumps interesting state information about a request
+ * to the associated servlet context log file, before allowing the servlet
+ * to process the request in the usual way.  This can be installed as needed
+ * to assist in debugging problems.
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class RequestDumperFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        if (filterConfig == null)
+	    return;
+
+	// Render the generic servlet request properties
+	StringWriter sw = new StringWriter();
+	PrintWriter writer = new PrintWriter(sw);
+	writer.println("Request Received at " +
+		       (new Timestamp(System.currentTimeMillis())));
+	writer.println(" characterEncoding=" + request.getCharacterEncoding());
+	writer.println("     contentLength=" + request.getContentLength());
+	writer.println("       contentType=" + request.getContentType());
+	writer.println("            locale=" + request.getLocale());
+	writer.print("           locales=");
+	Enumeration locales = request.getLocales();
+	boolean first = true;
+	while (locales.hasMoreElements()) {
+	    Locale locale = (Locale) locales.nextElement();
+	    if (first)
+	        first = false;
+	    else
+	        writer.print(", ");
+	    writer.print(locale.toString());
+	}
+	writer.println();
+	Enumeration names = request.getParameterNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.print("         parameter=" + name + "=");
+	    String values[] = request.getParameterValues(name);
+	    for (int i = 0; i < values.length; i++) {
+	        if (i > 0)
+		    writer.print(", ");
+		writer.print(values[i]);
+	    }
+	    writer.println();
+	}
+	writer.println("          protocol=" + request.getProtocol());
+	writer.println("        remoteAddr=" + request.getRemoteAddr());
+	writer.println("        remoteHost=" + request.getRemoteHost());
+	writer.println("            scheme=" + request.getScheme());
+	writer.println("        serverName=" + request.getServerName());
+	writer.println("        serverPort=" + request.getServerPort());
+	writer.println("          isSecure=" + request.isSecure());
+
+	// Render the HTTP servlet request properties
+	if (request instanceof HttpServletRequest) {
+	    writer.println("---------------------------------------------");
+	    HttpServletRequest hrequest = (HttpServletRequest) request;
+	    writer.println("       contextPath=" + hrequest.getContextPath());
+	    Cookie cookies[] = hrequest.getCookies();
+            if (cookies == null)
+                cookies = new Cookie[0];
+	    for (int i = 0; i < cookies.length; i++) {
+	        writer.println("            cookie=" + cookies[i].getName() +
+			       "=" + cookies[i].getValue());
+	    }
+	    names = hrequest.getHeaderNames();
+	    while (names.hasMoreElements()) {
+	        String name = (String) names.nextElement();
+		String value = hrequest.getHeader(name);
+	        writer.println("            header=" + name + "=" + value);
+	    }
+	    writer.println("            method=" + hrequest.getMethod());
+	    writer.println("          pathInfo=" + hrequest.getPathInfo());
+	    writer.println("       queryString=" + hrequest.getQueryString());
+	    writer.println("        remoteUser=" + hrequest.getRemoteUser());
+	    writer.println("requestedSessionId=" +
+			   hrequest.getRequestedSessionId());
+	    writer.println("        requestURI=" + hrequest.getRequestURI());
+	    writer.println("       servletPath=" + hrequest.getServletPath());
+	}
+	writer.println("=============================================");
+
+	// Log the resulting string
+	writer.flush();
+	filterConfig.getServletContext().log(sw.getBuffer().toString());
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("RequestDumperFilter()");
+	StringBuffer sb = new StringBuffer("RequestDumperFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.UnavailableException;
+
+
+/**
+ * <p>Example filter that sets the character encoding to be used in parsing the
+ * incoming request, either unconditionally or only if the client did not
+ * specify a character encoding.  Configuration of this filter is based on
+ * the following initialization parameters:</p>
+ * <ul>
+ * <li><strong>encoding</strong> - The character encoding to be configured
+ *     for this request, either conditionally or unconditionally based on
+ *     the <code>ignore</code> initialization parameter.  This parameter
+ *     is required, so there is no default.</li>
+ * <li><strong>ignore</strong> - If set to "true", any character encoding
+ *     specified by the client is ignored, and the value returned by the
+ *     <code>selectEncoding()</code> method is set.  If set to "false,
+ *     <code>selectEncoding()</code> is called <strong>only</strong> if the
+ *     client has not already specified an encoding.  By default, this
+ *     parameter is set to "true".</li>
+ * </ul>
+ *
+ * <p>Although this filter can be used unchanged, it is also easy to
+ * subclass it and make the <code>selectEncoding()</code> method more
+ * intelligent about what encoding to choose, based on characteristics of
+ * the incoming request (such as the values of the <code>Accept-Language</code>
+ * and <code>User-Agent</code> headers, or a value stashed in the current
+ * user's session.</p>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public class SetCharacterEncodingFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The default character encoding to set for requests that pass through
+     * this filter.
+     */
+    protected String encoding = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    protected FilterConfig filterConfig = null;
+
+
+    /**
+     * Should a character encoding specified by the client be ignored?
+     */
+    protected boolean ignore = true;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.encoding = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Select and set (if specified) the character encoding to be used to
+     * interpret request parameters for this request.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        // Conditionally select and set the character encoding to be used
+        if (ignore || (request.getCharacterEncoding() == null)) {
+            String encoding = selectEncoding(request);
+            if (encoding != null)
+                request.setCharacterEncoding(encoding);
+        }
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.encoding = filterConfig.getInitParameter("encoding");
+        String value = filterConfig.getInitParameter("ignore");
+        if (value == null)
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("true"))
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("yes"))
+            this.ignore = true;
+        else
+            this.ignore = false;
+
+    }
+
+
+    // ------------------------------------------------------ Protected Methods
+
+
+    /**
+     * Select an appropriate character encoding to be used, based on the
+     * characteristics of the current request and/or filter initialization
+     * parameters.  If no character encoding should be set, return
+     * <code>null</code>.
+     * <p>
+     * The default implementation unconditionally returns the value configured
+     * by the <strong>encoding</strong> initialization parameter for this
+     * filter.
+     *
+     * @param request The servlet request we are processing
+     */
+    protected String selectEncoding(ServletRequest request) {
+
+        return (this.encoding);
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/BookBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class BookBean {
+    private String title;
+    private String author;
+    private String isbn;
+    
+    public BookBean( String title, String author, String isbn ) {
+        this.title = title;
+        this.author = author;
+        this.isbn = isbn;
+    }
+
+    public String getTitle() {
+        return this.title;
+    }
+    
+    public String getAuthor() {
+        return this.author;
+    }
+    
+    public String getIsbn() {
+        return this.isbn;
+    }
+    
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/FooBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class FooBean {
+    private String bar;
+    
+    public FooBean() {
+        bar = "Initial value";
+    }
+    
+    public String getBar() {
+        return this.bar;
+    }
+    
+    public void setBar(String bar) {
+        this.bar = bar;
+    }
+    
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/el/Functions.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+import java.util.*;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * <p>Each function is defined as a static method.</p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i < text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/EchoAttributesTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import javax.servlet.jsp.tagext.DynamicAttributes;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that echoes all its attributes 
+ */
+public class EchoAttributesTag 
+    extends SimpleTagSupport
+    implements DynamicAttributes
+{
+    private ArrayList keys = new ArrayList();
+    private ArrayList values = new ArrayList();
+
+    public void doTag() throws JspException, IOException {
+	JspWriter out = getJspContext().getOut();
+	for( int i = 0; i < keys.size(); i++ ) {
+	    String key = (String)keys.get( i );
+	    Object value = values.get( i );
+	    out.println( "<li>" + key + " = " + value + "</li>" );
+        }
+    }
+
+    public void setDynamicAttribute( String uri, String localName, 
+	Object value ) 
+	throws JspException
+    {
+	keys.add( localName );
+	values.add( value );
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/FindBookSimpleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import jsp2.examples.BookBean;
+
+/**
+ * SimpleTag handler that pretends to search for a book, and stores
+ * the result in a scoped variable.
+ */
+public class FindBookSimpleTag extends SimpleTagSupport {
+    private String var;
+    
+    private static final String BOOK_TITLE = "The Lord of the Rings";
+    private static final String BOOK_AUTHOR = "J. R. R. Tolkein";
+    private static final String BOOK_ISBN = "0618002251";
+
+    public void doTag() throws JspException {
+        BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN );
+        getJspContext().setAttribute( this.var, book );
+    }
+
+    public void setVar( String var ) {
+	this.var = var;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/HelloWorldSimpleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/RepeatSimpleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts a num attribute and 
+ * invokes its body 'num' times.
+ */
+public class RepeatSimpleTag extends SimpleTagSupport {
+    private int num;
+
+    public void doTag() throws JspException, IOException {
+        for (int i=0; i<num; i++) {
+            getJspContext().setAttribute("count", String.valueOf( i + 1 ) );
+	    getJspBody().invoke(null);
+        }
+    }
+
+    public void setNum(int num) {
+	this.num = num;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/ShuffleSimpleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,82 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.JspFragment;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts takes three attributes of type
+ * JspFragment and invokes then in a random order.
+ */
+public class ShuffleSimpleTag extends SimpleTagSupport {
+    private JspFragment fragment1;
+    private JspFragment fragment2;
+    private JspFragment fragment3;
+
+    public void doTag() throws JspException, IOException {
+        switch( (int)(Math.random() * 6) ) {
+            case 0:
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 1:
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 2:
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 3:
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                break;
+            case 4:
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 5:
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                break;
+        }
+    }
+
+    public void setFragment1( JspFragment fragment1 ) {
+        this.fragment1 = fragment1;
+    }
+    
+    public void setFragment2( JspFragment fragment2 ) {
+        this.fragment2 = fragment2;
+    }
+    
+    public void setFragment3( JspFragment fragment3 ) {
+        this.fragment3 = fragment3;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/jsp2/examples/simpletag/TileSimpleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+import java.util.HashMap;
+
+/**
+ * Displays a tile as a single cell in a table.
+ */
+public class TileSimpleTag extends SimpleTagSupport {
+    private String color;
+    private String label;
+
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( 
+	    "<td width=\"32\" height=\"32\" bgcolor=\"" + this.color + 
+	    "\"><font color=\"#ffffff\"><center>" + this.label + 
+                "</center></font></td>" );
+    }
+
+    public void setColor( String color ) {
+        this.color = color;
+    }
+    
+    public void setLabel( String label ) {
+        this.label = label;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/ContextListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,157 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextAttributeEvent;
+import javax.servlet.ServletContextAttributeListener;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class ContextListener
+    implements ServletContextAttributeListener, ServletContextListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeAdded(ServletContextAttributeEvent event) {
+
+	log("attributeAdded('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeRemoved(ServletContextAttributeEvent event) {
+
+	log("attributeRemoved('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeReplaced(ServletContextAttributeEvent event) {
+
+	log("attributeReplaced('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("ContextListener: " + message);
+	else
+	    System.out.println("ContextListener: " + message);
+
+    }
+
+
+    /**
+     * Log a message and associated exception to the servlet context
+     * application log.
+     *
+     * @param message Message to be logged
+     * @param throwable Exception to be logged
+     */
+    private void log(String message, Throwable throwable) {
+
+	if (context != null)
+	    context.log("ContextListener: " + message, throwable);
+	else {
+	    System.out.println("ContextListener: " + message);
+	    throwable.printStackTrace(System.out);
+	}
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/listeners/SessionListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,184 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpSessionAttributeListener;
+import javax.servlet.http.HttpSessionBindingEvent;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class SessionListener
+    implements ServletContextListener,
+	       HttpSessionAttributeListener, HttpSessionListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeAdded(HttpSessionBindingEvent event) {
+
+	log("attributeAdded('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeRemoved(HttpSessionBindingEvent event) {
+
+	log("attributeRemoved('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeReplaced(HttpSessionBindingEvent event) {
+
+	log("attributeReplaced('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+
+	log("sessionCreated('" + event.getSession().getId() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+
+	log("sessionDestroyed('" + event.getSession().getId() + "')");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("SessionListener: " + message);
+	else
+	    System.out.println("SessionListener: " + message);
+
+    }
+
+
+    /**
+     * Log a message and associated exception to the servlet context
+     * application log.
+     *
+     * @param message Message to be logged
+     * @param throwable Exception to be logged
+     */
+    private void log(String message, Throwable throwable) {
+
+	if (context != null)
+	    context.log("SessionListener: " + message, throwable);
+	else {
+	    System.out.println("SessionListener: " + message);
+	    throwable.printStackTrace(System.out);
+	}
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/num/NumberGuessBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+/*
+ * Originally written by Jason Hunter, http://www.servlets.com.
+ */
+
+package num;
+
+import java.util.*;
+
+public class NumberGuessBean {
+
+  int answer;
+  boolean success;
+  String hint;
+  int numGuesses;
+
+  public NumberGuessBean() {
+    reset();
+  }
+
+  public void setGuess(String guess) {
+    numGuesses++;
+
+    int g;
+    try {
+      g = Integer.parseInt(guess);
+    }
+    catch (NumberFormatException e) {
+      g = -1;
+    }
+
+    if (g == answer) {
+      success = true;
+    }
+    else if (g == -1) {
+      hint = "a number next time";
+    }
+    else if (g < answer) {
+      hint = "higher";
+    }
+    else if (g > answer) {
+      hint = "lower";
+    }
+  }
+
+  public boolean getSuccess() {
+    return success;
+  }
+
+  public String getHint() {
+    return "" + hint;
+  }
+
+  public int getNumGuesses() {
+    return numGuesses;
+  }
+
+  public void reset() {
+    answer = Math.abs(new Random().nextInt() % 100) + 1;
+    success = false;
+    numGuesses = 0;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal1_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal1_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal2_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/cal/cal2_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/checkbox/checkresult_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/checkbox/checkresult_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/colors/colrs_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/colors/colrs_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/dates/date_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/dates/date_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/err_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/err_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/errorpge_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/error/errorpge_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/forward_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/forward_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/one_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/forward/one_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/foo_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/foo_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/include_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/include/include_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002darithmetic_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002darithmetic_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002dcomparisons_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/basic_002dcomparisons_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/functions_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/functions_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/implicit_002dobjects_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/el/implicit_002dobjects_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/jspattribute_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/jspattribute_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp$shuffle_jspHelper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp$shuffle_jspHelper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspattribute/shuffle_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx$basic_jspxHelper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx$basic_jspxHelper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/basic_jspx.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/textRotate_jspx.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/jspx/textRotate_jspx.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/config_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/config_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/dynamicattrs_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/misc/dynamicattrs_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/book_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/book_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/hello_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/hello_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp$repeat_jspHelper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp$repeat_jspHelper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/simpletag/repeat_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/hello_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/hello_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp$panel_jspHelper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp$panel_jspHelper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/panel_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp$products_jspHelper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp$products_jspHelper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsp2/tagfiles/products_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/hello_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/hello_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/jsptoservlet_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/jsptoserv/jsptoservlet_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/num/numguess_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/num/numguess_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/plugin/plugin_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/plugin/plugin_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/error_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/error_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/index_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/index_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/login_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/security/protected_/login_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/sessions/carts_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/sessions/carts_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/simpletag/foo_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/simpletag/foo_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/snp/snoop_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/snp/snoop_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/source_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/source_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/displayProducts_tag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/displayProducts_tag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/helloWorld_tag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/helloWorld_tag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/panel_tag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/panel_tag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/xhtmlbasic_tag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tag/web/xhtmlbasic_tag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/choose_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/choose_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/foreach_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/foreach_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/if_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/tagplugin/if_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/xml/xml_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/org/apache/jsp/xml/xml_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/servletToJsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+public class servletToJsp extends HttpServlet {
+
+    public void doGet (HttpServletRequest request,
+		       HttpServletResponse response) {
+
+	try {
+	    // Set the attribute and Forward to hello.jsp
+	    request.setAttribute ("servletName", "servletToJsp");
+	    getServletConfig().getServletContext().getRequestDispatcher("/jsptoserv/hello.jsp").forward(request, response);
+	} catch (Exception ex) {
+	    ex.printStackTrace ();
+	}
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/sessions/DummyCart.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package sessions;
+
+import javax.servlet.http.*;
+import java.util.Vector;
+import java.util.Enumeration;
+
+public class DummyCart {
+    Vector v = new Vector();
+    String submit = null;
+    String item = null;
+    
+    private void addItem(String name) {
+	v.addElement(name);
+    }
+
+    private void removeItem(String name) {
+	v.removeElement(name);
+    }
+
+    public void setItem(String name) {
+	item = name;
+    }
+    
+    public void setSubmit(String s) {
+	submit = s;
+    }
+
+    public String[] getItems() {
+	String[] s = new String[v.size()];
+	v.copyInto(s);
+	return s;
+    }
+    
+    public void processRequest(HttpServletRequest request) {
+	// null value for submit - user hit enter instead of clicking on 
+	// "add" or "remove"
+	if (submit == null) 
+	    addItem(item);
+
+	if (submit.equals("add"))
+	    addItem(item);
+	else if (submit.equals("remove")) 
+	    removeItem(item);
+	
+	// reset at the end of the request
+	reset();
+    }
+
+    // reset
+    private void reset() {
+	submit = null;
+	item = null;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/util/HTMLFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package util;
+
+/**
+ * HTML filter utility.
+ *
+ * @author Craig R. McClanahan
+ * @author Tim Tye
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class HTMLFilter {
+
+
+    /**
+     * Filter the specified message string for characters that are sensitive
+     * in HTML.  This avoids potential attacks caused by including JavaScript
+     * codes in the request URL that is often reported in error messages.
+     *
+     * @param message The message string to be filtered
+     */
+    public static String filter(String message) {
+
+        if (message == null)
+            return (null);
+
+        char content[] = new char[message.length()];
+        message.getChars(0, message.length(), content, 0);
+        StringBuffer result = new StringBuffer(content.length + 50);
+        for (int i = 0; i < content.length; i++) {
+            switch (content[i]) {
+            case '<':
+                result.append("&lt;");
+                break;
+            case '>':
+                result.append("&gt;");
+                break;
+            case '&':
+                result.append("&amp;");
+                break;
+            case '"':
+                result.append("&quot;");
+                break;
+            default:
+                result.append(content[i]);
+            }
+        }
+        return (result.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/classes/validators/DebugValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package validators;
+
+
+import java.io.InputStream;
+import java.io.IOException;
+import javax.servlet.jsp.tagext.PageData;
+import javax.servlet.jsp.tagext.TagLibraryValidator;
+import javax.servlet.jsp.tagext.ValidationMessage;
+
+
+/**
+ * Example tag library validator that simply dumps the XML version of each
+ * page to standard output (which will typically be sent to the file
+ * <code>$CATALINA_HOME/logs/catalina.out</code>).  To utilize it, simply
+ * include a <code>taglib</code> directive for this tag library at the top
+ * of your JSP page.
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public class DebugValidator extends TagLibraryValidator {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Validate a JSP page.  This will get invoked once per directive in the
+     * JSP page.  This method will return <code>null</code> if the page is
+     * valid; otherwise the method should return an array of
+     * <code>ValidationMessage</code> objects.  An array of length zero is
+     * also interpreted as no errors.
+     *
+     * @param prefix The value of the prefix argument in this directive
+     * @param uri The value of the URI argument in this directive
+     * @param page The page data for this page
+     */
+    public ValidationMessage[] validate(String prefix, String uri,
+                                        PageData page) {
+
+        System.out.println("---------- Prefix=" + prefix + " URI=" + uri +
+                           "----------");
+
+        InputStream is = page.getInputStream();
+        while (true) {
+            try {
+                int ch = is.read();
+                if (ch < 0)
+                    break;
+                System.out.print((char) ch);
+            } catch (IOException e) {
+                break;
+            }
+        }
+        System.out.println();
+        System.out.println("-----------------------------------------------");
+        return (null);
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet/Clock2.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet/Clock2.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/applet/Clock2.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,212 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import java.util.*;
+import java.awt.*;
+import java.applet.*;
+import java.text.*;
+
+/**
+ * Time!
+ *
+ * @author Rachel Gollub
+ */
+
+public class Clock2 extends Applet implements Runnable {
+    Thread timer;                // The thread that displays clock
+    int lastxs, lastys, lastxm,
+        lastym, lastxh, lastyh;  // Dimensions used to draw hands 
+    SimpleDateFormat formatter;  // Formats the date displayed
+    String lastdate;             // String to hold date displayed
+    Font clockFaceFont;          // Font for number display on clock
+    Date currentDate;            // Used to get date to display
+    Color handColor;             // Color of main hands and dial
+    Color numberColor;           // Color of second hand and numbers
+
+    public void init() {
+        int x,y;
+        lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
+        formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault());
+        currentDate = new Date();
+        lastdate = formatter.format(currentDate);
+        clockFaceFont = new Font("Serif", Font.PLAIN, 14);
+        handColor = Color.blue;
+        numberColor = Color.darkGray;
+
+        try {
+            setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));
+        } catch (Exception E) { }
+        try {
+            handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));
+        } catch (Exception E) { }
+        try {
+            numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));
+        } catch (Exception E) { }
+        resize(300,300);              // Set clock window size
+    }
+
+    // Plotpoints allows calculation to only cover 45 degrees of the circle,
+    // and then mirror
+    public void plotpoints(int x0, int y0, int x, int y, Graphics g) {
+        g.drawLine(x0+x,y0+y,x0+x,y0+y);
+        g.drawLine(x0+y,y0+x,x0+y,y0+x);
+        g.drawLine(x0+y,y0-x,x0+y,y0-x);
+        g.drawLine(x0+x,y0-y,x0+x,y0-y);
+        g.drawLine(x0-x,y0-y,x0-x,y0-y);
+        g.drawLine(x0-y,y0-x,x0-y,y0-x);
+        g.drawLine(x0-y,y0+x,x0-y,y0+x);
+        g.drawLine(x0-x,y0+y,x0-x,y0+y);
+    }
+
+    // Circle is just Bresenham's algorithm for a scan converted circle
+    public void circle(int x0, int y0, int r, Graphics g) {
+        int x,y;
+        float d;
+        x=0;
+        y=r;
+        d=5/4-r;
+        plotpoints(x0,y0,x,y,g);
+
+        while (y>x){
+            if (d<0) {
+                d=d+2*x+3;
+                x++;
+            }
+            else {
+                d=d+2*(x-y)+5;
+                x++;
+                y--;
+            }
+            plotpoints(x0,y0,x,y,g);
+        }
+    }
+
+    // Paint is the main part of the program
+    public void paint(Graphics g) {
+        int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter;
+        String today;
+
+        currentDate = new Date();
+        SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault());
+        try {
+            s = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            s = 0;
+        }
+        formatter.applyPattern("m");
+        try {
+            m = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            m = 10;
+        }    
+        formatter.applyPattern("h");
+        try {
+            h = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            h = 10;
+        }
+        formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
+        today = formatter.format(currentDate);
+        xcenter=80;
+        ycenter=55;
+    
+    // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
+    // x = r(cos a) + xcenter, y = r(sin a) + ycenter
+    
+        xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);
+        ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);
+        xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
+        ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);
+        xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter);
+        yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter);
+    
+    // Draw the circle and numbers
+    
+        g.setFont(clockFaceFont);
+        g.setColor(handColor);
+        circle(xcenter,ycenter,50,g);
+        g.setColor(numberColor);
+        g.drawString("9",xcenter-45,ycenter+3); 
+        g.drawString("3",xcenter+40,ycenter+3);
+        g.drawString("12",xcenter-5,ycenter-37);
+        g.drawString("6",xcenter-3,ycenter+45);
+
+    // Erase if necessary, and redraw
+    
+        g.setColor(getBackground());
+        if (xs != lastxs || ys != lastys) {
+            g.drawLine(xcenter, ycenter, lastxs, lastys);
+            g.drawString(lastdate, 5, 125);
+        }
+        if (xm != lastxm || ym != lastym) {
+            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
+            g.drawLine(xcenter-1, ycenter, lastxm, lastym); }
+        if (xh != lastxh || yh != lastyh) {
+            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
+            g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }
+        g.setColor(numberColor);
+        g.drawString("", 5, 125);
+        g.drawString(today, 5, 125);    
+        g.drawLine(xcenter, ycenter, xs, ys);
+        g.setColor(handColor);
+        g.drawLine(xcenter, ycenter-1, xm, ym);
+        g.drawLine(xcenter-1, ycenter, xm, ym);
+        g.drawLine(xcenter, ycenter-1, xh, yh);
+        g.drawLine(xcenter-1, ycenter, xh, yh);
+        lastxs=xs; lastys=ys;
+        lastxm=xm; lastym=ym;
+        lastxh=xh; lastyh=yh;
+        lastdate = today;
+        currentDate=null;
+    }
+
+    public void start() {
+        timer = new Thread(this);
+        timer.start();
+    }
+
+    public void stop() {
+        timer = null;
+    }
+
+    public void run() {
+        Thread me = Thread.currentThread();
+        while (timer == me) {
+            try {
+                Thread.currentThread().sleep(100);
+            } catch (InterruptedException e) {
+            }
+            repaint();
+        }
+    }
+
+    public void update(Graphics g) {
+        paint(g);
+    }
+
+    public String getAppletInfo() {
+        return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock.";
+    }
+  
+    public String[][] getParameterInfo() {
+        String[][] info = {
+            {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."},
+            {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."},
+            {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."}
+        };
+        return info;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/debug-taglib.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/debug-taglib.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/debug-taglib.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+	"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
+
+<!-- a tag library descriptor -->
+
+<taglib>
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>debug</short-name>
+  <uri>http://jakarta.apache.org/tomcat/debug-taglib</uri>
+  <description>
+    This tag library defines no tags.  Instead, its purpose is encapsulated
+    in the TagLibraryValidator implementation that simply outputs the XML
+    version of a JSP page to standard output, whenever this tag library is
+    referenced in a "taglib" directive in a JSP page.
+  </description>
+  <validator>
+    <validator-class>validators.DebugValidator</validator-class>
+  </validator>
+
+  <!-- This is a dummy tag solely to satisfy DTD requirements -->  
+  <tag>
+    <name>log</name>
+    <tag-class>examples.LogTag</tag-class>
+    <body-content>TAGDEPENDENT</body-content>
+    <description>
+	Perform a server side action; Log the message.
+    </description>
+    <attribute>
+	<name>toBrowser</name>
+	<required>false</required>
+    </attribute>
+  </tag>
+  
+
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/example-taglib.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/example-taglib.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp/example-taglib.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+	"http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
+
+<taglib>
+
+  <tlib-version>1.0</tlib-version>
+  <jsp-version>1.2</jsp-version>
+  <short-name>simple</short-name>
+  <uri>http://jakarta.apache.org/tomcat/example-taglib</uri>
+  <description>
+	A simple tab library for the examples
+  </description>
+
+  <tag>
+    <name>ShowSource</name>
+    <tag-class>examples.ShowSource</tag-class>
+    <description> Display JSP sources </description>
+    <attribute>
+       <name>jspFile</name>
+       <required>true</required>
+       <rtexprvalue>true</rtexprvalue>
+    </attribute>
+  </tag>       
+
+  <!-- A simple Tag -->
+  <!-- foo tag -->
+  <tag>
+    <name>foo</name>
+    <tag-class>examples.FooTag</tag-class>
+    <tei-class>examples.FooTagExtraInfo</tei-class>
+    <body-content>JSP</body-content>
+    <description>
+	Perform a server side action; uses 3 mandatory attributes
+    </description>
+
+    <attribute>
+      <name>att1</name>
+      <required>true</required>
+    </attribute>
+    <attribute>
+      <name>att2</name>
+      <required>true</required>
+    </attribute>
+    <attribute>
+      <name>att3</name>
+      <required>true</required>
+    </attribute>
+  </tag>
+
+  <!-- Another simple tag -->
+  <!-- log tag -->
+  <tag>
+    <name>log</name>
+    <tag-class>examples.LogTag</tag-class>
+    <body-content>TAGDEPENDENT</body-content>
+    <description>
+	Perform a server side action; Log the message.
+    </description>
+    <attribute>
+	<name>toBrowser</name>
+	<required>false</required>
+    </attribute>
+  </tag>
+  
+</taglib>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2/jsp2-example-taglib.tld
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/jsp2/jsp2-example-taglib.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+    version="2.0">
+    <description>A tag library exercising SimpleTag handlers.</description>
+    <tlib-version>1.0</tlib-version>
+    <short-name>SimpleTagLibrary</short-name>
+    <uri>/SimpleTagLibrary</uri>
+    <tag>
+	<description>Outputs Hello, World</description>
+        <name>helloWorld</name>
+	<tag-class>jsp2.examples.simpletag.HelloWorldSimpleTag</tag-class>
+	<body-content>empty</body-content>
+    </tag>
+    <tag>
+        <description>Repeats the body of the tag 'num' times</description>
+        <name>repeat</name>
+        <tag-class>jsp2.examples.simpletag.RepeatSimpleTag</tag-class>
+        <body-content>scriptless</body-content>
+        <variable>
+            <description>Current invocation count (1 to num)</description>
+            <name-given>count</name-given>
+        </variable>
+        <attribute>
+            <name>num</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+	<description>Populates the page context with a BookBean</description>
+        <name>findBook</name>
+	<tag-class>jsp2.examples.simpletag.FindBookSimpleTag</tag-class>
+	<body-content>empty</body-content>
+	<attribute>
+	    <name>var</name>
+	    <required>true</required>
+	    <rtexprvalue>true</rtexprvalue>
+	</attribute>
+    </tag>
+    <tag>
+        <description>
+            Takes 3 fragments and invokes them in a random order
+        </description>
+        <name>shuffle</name>
+        <tag-class>jsp2.examples.simpletag.ShuffleSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>fragment1</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment2</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+        <attribute>
+            <name>fragment3</name>
+            <required>true</required>
+	    <fragment>true</fragment>
+        </attribute>
+    </tag>
+    <tag>
+        <description>Outputs a colored tile</description>
+        <name>tile</name>
+        <tag-class>jsp2.examples.simpletag.TileSimpleTag</tag-class>
+        <body-content>empty</body-content>
+        <attribute>
+            <name>color</name>
+            <required>true</required>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+        </attribute>
+    </tag>
+    <tag>
+	<description>
+	  Tag that echoes all its attributes and body content
+	</description>
+	<name>echoAttributes</name>
+	<tag-class>jsp2.examples.simpletag.EchoAttributesTag</tag-class>
+	<body-content>empty</body-content>
+	<dynamic-attributes>true</dynamic-attributes>
+    </tag>
+    <function>
+        <description>Reverses the characters in the given String</description>
+        <name>reverse</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String reverse( java.lang.String )</function-signature>
+    </function>
+    <function>
+        <description>Counts the number of vowels (a,e,i,o,u) in the given String</description>
+        <name>countVowels</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String numVowels( java.lang.String )</function-signature>
+    </function>
+    <function>
+	<description>Converts the string to all caps</description>
+        <name>caps</name>
+	<function-class>jsp2.examples.el.Functions</function-class>
+	<function-signature>java.lang.String caps( java.lang.String )</function-signature>
+    </function>
+</taglib>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/jstl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/jstl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/standard.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/lib/standard.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/displayProducts.tag
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/displayProducts.tag	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/displayProducts.tag	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ attribute name="normalPrice" fragment="true" %>
+<%@ attribute name="onSale" fragment="true" %>
+<%@ variable name-given="name" %>
+<%@ variable name-given="price" %>
+<%@ variable name-given="origPrice" %>
+<%@ variable name-given="salePrice" %>
+
+<table border="1">
+  <tr>
+    <td> 
+      <c:set var="name" value="Hand-held Color PDA"/>
+      <c:set var="price" value="$298.86"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>
+      <c:set var="origPrice" value="$2.98"/>
+      <c:set var="salePrice" value="$2.32"/>
+      <jsp:invoke fragment="onSale"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Digital Cellular Phone"/>
+      <c:set var="price" value="$68.74"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Baby Grand Piano"/>
+      <c:set var="price" value="$10,800.00"/>
+      <jsp:invoke fragment="normalPrice"/>
+    </td>
+    <td> 
+      <c:set var="name" value="Luxury Car w/ Leather Seats"/>
+      <c:set var="origPrice" value="$23,980.00"/>
+      <c:set var="salePrice" value="$21,070.00"/>
+      <jsp:invoke fragment="onSale"/>
+    </td>
+  </tr>
+</table>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/helloWorld.tag
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/helloWorld.tag	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/helloWorld.tag	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+Hello, world!

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/panel.tag
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/panel.tag	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/panel.tag	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ attribute name="color" %>
+<%@ attribute name="bgcolor" %>
+<%@ attribute name="title" %>
+<table border="1" bgcolor="${color}">
+  <tr>
+    <td><b>${title}</b></td>
+  </tr>
+  <tr>
+    <td bgcolor="${bgcolor}">
+      <jsp:doBody/>
+    </td>
+  </tr>
+</table>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/xhtmlbasic.tag
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/xhtmlbasic.tag	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/tags/xhtmlbasic.tag	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<jsp:doBody/>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,683 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <description>
+      JSP 2.0 Examples.
+    </description>
+    <display-name>JSP 2.0 Examples</display-name>
+
+
+    <!-- Define servlet-mapped and path-mapped example filters -->
+    <filter>
+        <filter-name>Servlet Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.SERVLET_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Path Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.PATH_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Request Dumper Filter</filter-name>
+        <filter-class>filters.RequestDumperFilter</filter-class>
+    </filter>
+
+    <!-- Example filter to set character encoding on each request -->
+    <filter>
+        <filter-name>Set Character Encoding</filter-name>
+        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
+        <init-param>
+            <param-name>encoding</param-name>
+            <param-value>EUC_JP</param-value>
+        </init-param>
+    </filter>
+
+    <filter>
+        <filter-name>Compression Filter</filter-name>
+        <filter-class>compressionFilters.CompressionFilter</filter-class>
+
+        <init-param>
+          <param-name>compressionThreshold</param-name>
+          <param-value>10</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+    </filter>
+
+<!-- Example filter mapping to apply the "Set Character Encoding" filter
+     to *all* requests processed by this web application -->
+<!--
+    <filter-mapping>
+        <filter-name>Set Character Encoding</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+      <filter-name>Compression Filter</filter-name>
+      <url-pattern>/CompressionTest</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+        <filter-name>Request Dumper Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+    <!-- Define example application events listeners -->
+    <listener>
+        <listener-class>listeners.ContextListener</listener-class>
+    </listener>
+    <listener>
+        <listener-class>listeners.SessionListener</listener-class>
+    </listener>
+
+    <!-- Define servlets that are included in the example application -->
+
+    <servlet>
+      <servlet-name>
+          servletToJsp
+      </servlet-name>
+      <servlet-class>
+          servletToJsp
+      </servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>
+            CompressionFilterTestServlet
+        </servlet-name>
+        <servlet-class>
+            compressionFilters.CompressionFilterTestServlet
+        </servlet-class>
+    </servlet>
+
+    <!-- JSPC servlet mappings start -->
+
+    <servlet>
+        <servlet-name>org.apache.jsp.source_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.source_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.xml.xml_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.xml.xml_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.tagplugin.choose_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.tagplugin.choose_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.tagplugin.foreach_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.tagplugin.foreach_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.tagplugin.if_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.tagplugin.if_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.snp.snoop_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.snp.snoop_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.simpletag.foo_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.simpletag.foo_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.sessions.carts_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.sessions.carts_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.security.protected_.error_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.security.protected_.error_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.security.protected_.index_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.security.protected_.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.security.protected_.login_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.security.protected_.login_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.plugin.plugin_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.plugin.plugin_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.num.numguess_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.num.numguess_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsptoserv.hello_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsptoserv.hello_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsptoserv.jsptoservlet_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsptoserv.jsptoservlet_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.hello_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.tagfiles.hello_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.panel_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.tagfiles.panel_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.products_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.tagfiles.products_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.book_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.simpletag.book_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.hello_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.simpletag.hello_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.repeat_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.simpletag.repeat_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.misc.config_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.misc.config_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.misc.dynamicattrs_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.misc.dynamicattrs_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.jspx.basic_jspx</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.jspx.basic_jspx</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.jspx.textRotate_jspx</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.jspx.textRotate_jspx</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.jspattribute.jspattribute_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.jspattribute.jspattribute_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.jspattribute.shuffle_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.jspattribute.shuffle_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.el.basic_002darithmetic_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.el.basic_002darithmetic_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.el.basic_002dcomparisons_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.el.basic_002dcomparisons_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.el.functions_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.el.functions_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp2.el.implicit_002dobjects_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp2.el.implicit_002dobjects_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.include.foo_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.include.foo_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.include.include_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.include.include_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.forward.forward_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.forward.forward_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.forward.one_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.forward.one_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.error.err_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.error.err_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.error.errorpge_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.error.errorpge_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.dates.date_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.dates.date_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.colors.colrs_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.colors.colrs_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.checkbox.checkresult_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.checkbox.checkresult_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.cal.cal1_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.cal.cal1_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.cal.cal2_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.cal.cal2_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.source_jsp</servlet-name>
+        <url-pattern>/source.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.xml.xml_jsp</servlet-name>
+        <url-pattern>/xml/xml.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.tagplugin.choose_jsp</servlet-name>
+        <url-pattern>/tagplugin/choose.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.tagplugin.foreach_jsp</servlet-name>
+        <url-pattern>/tagplugin/foreach.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.tagplugin.if_jsp</servlet-name>
+        <url-pattern>/tagplugin/if.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.snp.snoop_jsp</servlet-name>
+        <url-pattern>/snp/snoop.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.simpletag.foo_jsp</servlet-name>
+        <url-pattern>/simpletag/foo.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.sessions.carts_jsp</servlet-name>
+        <url-pattern>/sessions/carts.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.security.protected_.error_jsp</servlet-name>
+        <url-pattern>/security/protected/error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.security.protected_.index_jsp</servlet-name>
+        <url-pattern>/security/protected/index.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.security.protected_.login_jsp</servlet-name>
+        <url-pattern>/security/protected/login.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.plugin.plugin_jsp</servlet-name>
+        <url-pattern>/plugin/plugin.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.num.numguess_jsp</servlet-name>
+        <url-pattern>/num/numguess.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsptoserv.hello_jsp</servlet-name>
+        <url-pattern>/jsptoserv/hello.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsptoserv.jsptoservlet_jsp</servlet-name>
+        <url-pattern>/jsptoserv/jsptoservlet.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.hello_jsp</servlet-name>
+        <url-pattern>/jsp2/tagfiles/hello.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.panel_jsp</servlet-name>
+        <url-pattern>/jsp2/tagfiles/panel.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.tagfiles.products_jsp</servlet-name>
+        <url-pattern>/jsp2/tagfiles/products.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.book_jsp</servlet-name>
+        <url-pattern>/jsp2/simpletag/book.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.hello_jsp</servlet-name>
+        <url-pattern>/jsp2/simpletag/hello.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.simpletag.repeat_jsp</servlet-name>
+        <url-pattern>/jsp2/simpletag/repeat.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.misc.config_jsp</servlet-name>
+        <url-pattern>/jsp2/misc/config.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.misc.dynamicattrs_jsp</servlet-name>
+        <url-pattern>/jsp2/misc/dynamicattrs.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.jspx.basic_jspx</servlet-name>
+        <url-pattern>/jsp2/jspx/basic.jspx</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.jspx.textRotate_jspx</servlet-name>
+        <url-pattern>/jsp2/jspx/textRotate.jspx</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.jspattribute.jspattribute_jsp</servlet-name>
+        <url-pattern>/jsp2/jspattribute/jspattribute.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.jspattribute.shuffle_jsp</servlet-name>
+        <url-pattern>/jsp2/jspattribute/shuffle.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.el.basic_002darithmetic_jsp</servlet-name>
+        <url-pattern>/jsp2/el/basic-arithmetic.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.el.basic_002dcomparisons_jsp</servlet-name>
+        <url-pattern>/jsp2/el/basic-comparisons.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.el.functions_jsp</servlet-name>
+        <url-pattern>/jsp2/el/functions.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp2.el.implicit_002dobjects_jsp</servlet-name>
+        <url-pattern>/jsp2/el/implicit-objects.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.include.foo_jsp</servlet-name>
+        <url-pattern>/include/foo.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.include.include_jsp</servlet-name>
+        <url-pattern>/include/include.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.forward.forward_jsp</servlet-name>
+        <url-pattern>/forward/forward.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.forward.one_jsp</servlet-name>
+        <url-pattern>/forward/one.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.error.err_jsp</servlet-name>
+        <url-pattern>/error/err.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.error.errorpge_jsp</servlet-name>
+        <url-pattern>/error/errorpge.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.dates.date_jsp</servlet-name>
+        <url-pattern>/dates/date.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.colors.colrs_jsp</servlet-name>
+        <url-pattern>/colors/colrs.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.checkbox.checkresult_jsp</servlet-name>
+        <url-pattern>/checkbox/checkresult.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.cal.cal1_jsp</servlet-name>
+        <url-pattern>/cal/cal1.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.cal.cal2_jsp</servlet-name>
+        <url-pattern>/cal/cal2.jsp</url-pattern>
+    </servlet-mapping>
+
+<!-- JSPC servlet mappings end -->
+
+    <servlet-mapping>
+        <servlet-name>
+            CompressionFilterTestServlet
+        </servlet-name>
+        <url-pattern>
+            /CompressionTest
+        </url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>
+            servletToJsp
+        </servlet-name>
+        <url-pattern>
+            /servletToJsp
+        </url-pattern>
+    </servlet-mapping>
+
+    <jsp-config>
+        <taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/debug-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp/debug-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/examples-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp/example-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<taglib>
+	    <taglib-uri>
+	       http://jakarta.apache.org/tomcat/jsp2-example-taglib
+	    </taglib-uri>
+	    <taglib-location>
+	       /WEB-INF/jsp2/jsp2-example-taglib.tld
+	    </taglib-location>
+	</taglib>
+
+	<jsp-property-group>
+	    <description>
+		Special property group for JSP Configuration JSP example.
+	    </description>
+	    <display-name>JSPConfiguration</display-name>
+	    <url-pattern>/jsp2/misc/config.jsp</url-pattern>
+	    <el-ignored>true</el-ignored>
+	    <page-encoding>ISO-8859-1</page-encoding>
+	    <scripting-invalid>true</scripting-invalid>
+	    <include-prelude>/jsp2/misc/prelude.jspf</include-prelude>
+	    <include-coda>/jsp2/misc/coda.jspf</include-coda>
+	</jsp-property-group>
+    </jsp-config>
+    
+   <security-constraint>
+      <display-name>Example Security Constraint</display-name>
+      <web-resource-collection>
+         <web-resource-name>Protected Area</web-resource-name>
+	 <!-- Define the context-relative URL(s) to be protected -->
+         <url-pattern>/security/protected/*</url-pattern>
+	 <!-- If you list http methods, only those methods are protected -->
+	 <http-method>DELETE</http-method>
+         <http-method>GET</http-method>
+         <http-method>POST</http-method>
+	 <http-method>PUT</http-method>
+      </web-resource-collection>
+      <auth-constraint>
+         <!-- Anyone with one of the listed roles may access this area -->
+         <role-name>tomcat</role-name>
+	 <role-name>role1</role-name>
+      </auth-constraint>
+    </security-constraint>
+
+    <!-- Default login configuration uses form-based authentication -->
+    <login-config>
+      <auth-method>FORM</auth-method>
+      <realm-name>Example Form-Based Authentication Area</realm-name>
+      <form-login-config>
+        <form-login-page>/security/protected/login.jsp</form-login-page>
+        <form-error-page>/security/protected/error.jsp</form-error-page>
+      </form-login-config>
+    </login-config>
+        
+    <!-- Security roles referenced by this web application -->
+    <security-role>
+      <role-name>role1</role-name>
+    </security-role>
+    <security-role>
+      <role-name>tomcat</role-name>
+    </security-role>    
+
+    <!-- Environment entry examples -->
+    <!--env-entry>
+      <env-entry-description>
+         The maximum number of tax exemptions allowed to be set.
+      </env-entry-description>
+      <env-entry-name>maxExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>15</env-entry-value>
+    </env-entry-->
+    <env-entry>
+      <env-entry-name>minExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name1</env-entry-name>
+      <env-entry-type>java.lang.String</env-entry-type>
+      <env-entry-value>value1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/bar/name2</env-entry-name>
+      <env-entry-type>java.lang.Boolean</env-entry-type>
+      <env-entry-value>true</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>name3</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name4</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>10</env-entry-value>
+    </env-entry>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entries.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entries.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entries.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.servlet.http.*;
+
+public class Entries {
+
+  private Hashtable entries;
+  private static final String[] time = {"8am", "9am", "10am", "11am", "12pm", 
+					"1pm", "2pm", "3pm", "4pm", "5pm", "6pm",
+					"7pm", "8pm" };
+  public static final int rows = 12;
+
+  public Entries () {   
+   entries = new Hashtable (rows);
+   for (int i=0; i &lt; rows; i++) {
+     entries.put (time[i], new Entry(time[i]));
+   }
+  }
+
+  public int getRows () {
+    return rows;
+  }
+
+  public Entry getEntry (int index) {
+    return (Entry)this.entries.get(time[index]);
+  }
+
+  public int getIndex (String tm) {
+    for (int i=0; i&lt;rows; i++)
+      if(tm.equals(time[i])) return i;
+    return -1;
+  }
+
+  public void processRequest (HttpServletRequest request, String tm) {
+    int index = getIndex (tm);
+    if (index >= 0) {
+      String descr = request.getParameter ("description");
+      ((Entry)entries.get(time[index])).setDescription (descr);
+    }
+  }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entry.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entry.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/Entry.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+public class Entry {
+
+  String hour;
+  String description;
+  String color;
+
+  public Entry (String hour) {
+    this.hour = hour;
+    this.description = "";
+
+  }
+
+  public String getHour () {
+    return this.hour;
+  }
+
+  public String getColor () {
+    if (description.equals("")) return "lightblue";
+    else return "red";
+  }
+
+  public String getDescription () {
+    if (description.equals("")) return "None";
+    else return this.description;
+  }
+
+  public void setDescription (String descr) {
+    description = descr;
+  }
+ 
+}
+
+
+
+
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/JspCalendar.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/JspCalendar.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/JspCalendar.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,157 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package cal;
+
+import java.text.DateFormat;
+import java.util.*;
+
+public class JspCalendar {
+    Calendar  calendar = null;
+    Date currentDate;
+
+    public JspCalendar() {
+	calendar = Calendar.getInstance();
+	Date trialTime = new Date();
+	calendar.setTime(trialTime);
+    }
+
+
+    public int getYear() {
+	return calendar.get(Calendar.YEAR);
+    }
+    
+    public String getMonth() {
+	int m = getMonthInt();
+	String[] months = new String [] { "January", "February", "March",
+					"April", "May", "June",
+					"July", "August", "September",
+					"October", "November", "December" };
+	if (m > 12)
+	    return "Unknown to Man";
+	
+	return months[m - 1];
+
+    }
+
+    public String getDay() {
+	int x = getDayOfWeek();
+	String[] days = new String[] {"Sunday", "Monday", "Tuesday", "Wednesday", 
+				      "Thursday", "Friday", "Saturday"};
+
+	if (x > 7)
+	    return "Unknown to Man";
+
+	return days[x - 1];
+
+    }
+    
+    public int getMonthInt() {
+	return 1 + calendar.get(Calendar.MONTH);
+    }
+
+    public String getDate() {
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();	
+    }
+
+    public String getCurrentDate() {
+        Date dt = new Date ();
+	calendar.setTime (dt);
+	return getMonthInt() + "/" + getDayOfMonth() + "/" +  getYear();
+
+    }
+
+    public String getNextDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() + 1);
+	return getDate ();
+    }
+
+    public String getPrevDate() {
+        calendar.set (Calendar.DAY_OF_MONTH, getDayOfMonth() - 1);
+	return getDate ();
+    }
+
+    public String getTime() {
+	return getHour() + ":" + getMinute() + ":" + getSecond();
+    }
+
+    public int getDayOfMonth() {
+	return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+
+    public int getDayOfYear() {
+	return calendar.get(Calendar.DAY_OF_YEAR);
+    }
+
+    public int getWeekOfYear() {
+	return calendar.get(Calendar.WEEK_OF_YEAR);
+    }
+
+    public int getWeekOfMonth() {
+	return calendar.get(Calendar.WEEK_OF_MONTH);
+    }
+
+    public int getDayOfWeek() {
+	return calendar.get(Calendar.DAY_OF_WEEK);
+    }
+     
+    public int getHour() {
+	return calendar.get(Calendar.HOUR_OF_DAY);
+    }
+    
+    public int getMinute() {
+	return calendar.get(Calendar.MINUTE);
+    }
+
+
+    public int getSecond() {
+	return calendar.get(Calendar.SECOND);
+    }
+
+  
+    public int getEra() {
+	return calendar.get(Calendar.ERA);
+    }
+
+    public String getUSTimeZone() {
+	String[] zones = new String[] {"Hawaii", "Alaskan", "Pacific",
+				       "Mountain", "Central", "Eastern"};
+	
+	return zones[10 + getZoneOffset()];
+    }
+
+    public int getZoneOffset() {
+	return calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000);
+    }
+
+
+    public int getDSTOffset() {
+	return calendar.get(Calendar.DST_OFFSET)/(60*60*1000);
+    }
+
+    
+    public int getAMPM() {
+	return calendar.get(Calendar.AM_PM);
+    }
+}
+
+
+
+
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/TableBean.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/TableBean.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/TableBean.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package cal;
+
+import java.beans.*;
+import javax.servlet.http.*;
+import javax.servlet.*;
+import java.util.Hashtable;
+
+public class TableBean {
+
+  Hashtable table;
+  JspCalendar JspCal;
+  Entries entries;
+  String date;
+  String name = null;
+  String email = null;
+  boolean processError = false;
+
+  public TableBean () {
+    this.table = new Hashtable (10);
+    this.JspCal = new JspCalendar ();
+    this.date = JspCal.getCurrentDate ();
+  }
+
+  public void setName (String nm) {
+    this.name = nm;
+  }
+
+  public String getName () {
+    return this.name;
+  }
+  
+  public void setEmail (String mail) {
+    this.email = mail;
+  }
+
+  public String getEmail () {
+    return this.email;
+  }
+
+  public String getDate () {
+    return this.date;
+  }
+
+  public Entries getEntries () {
+    return this.entries;
+  }
+
+  public void processRequest (HttpServletRequest request) {
+
+    // Get the name and e-mail.
+    this.processError = false;
+    if (name == null || name.equals("")) setName(request.getParameter ("name"));  
+    if (email == null || email.equals("")) setEmail(request.getParameter ("email"));
+    if (name == null || email == null ||
+		name.equals("") || email.equals("")) {
+      this.processError = true;
+      return;
+    }
+
+    // Get the date.
+    String dateR = request.getParameter ("date");
+    if (dateR == null) date = JspCal.getCurrentDate ();
+    else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();
+    else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();
+
+    entries = (Entries) table.get (date);
+    if (entries == null) {
+      entries = new Entries ();
+      table.put (date, entries);
+    }
+
+    // If time is provided add the event.
+	String time = request.getParameter("time");
+    if (time != null) entries.processRequest (request, time);
+  }
+
+  public boolean getProcessError () {
+    return this.processError;
+  }
+}
+
+
+
+
+
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<HEAD><TITLE> 
+	Calendar: A JSP APPLICATION
+</TITLE></HEAD>
+
+
+<BODY BGCOLOR="white">
+
+<%@ page language="java" import="cal.*" %>
+<jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+<%
+	table.processRequest(request);
+	if (table.getProcessError() == false) {
+%>
+
+<!-- html table goes here -->
+<CENTER>
+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+<TR>
+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=prev> prev </A>
+<TD ALIGN=CENTER> Calendar:<%= table.getDate() %></TD>
+<TD ALIGN=CENTER> <A HREF=cal1.jsp?date=next> next </A>
+</TR>
+</TABLE>
+
+<!-- the main table -->
+<TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>
+<TR>
+<TH> Time </TH>
+<TH> Appointment </TH>
+</TR>
+<FORM METHOD=POST ACTION=cal1.jsp>
+<%
+	for(int i=0; i<table.getEntries().getRows(); i++) {
+	   cal.Entry entr = table.getEntries().getEntry(i);	
+%>
+	<TR>
+	<TD> 
+	<A HREF=cal2.jsp?time=<%= entr.getHour() %>>
+		<%= entr.getHour() %> </A>
+	</TD>
+	<TD BGCOLOR=<%= entr.getColor() %>>
+	<% out.print(util.HTMLFilter.filter(entr.getDescription())); %>
+	</TD> 
+	</TR>
+<%
+	}
+%>
+</FORM>
+</TABLE>
+<BR>
+
+<!-- footer -->
+<TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+<TR>
+<TD ALIGN=CENTER>  <% out.print(util.HTMLFilter.filter(table.getName())); %> : 
+		     <% out.print(util.HTMLFilter.filter(table.getEmail())); %> </TD>
+</TR>
+</TABLE>
+</CENTER>
+
+<%
+	} else {
+%>
+<font size=5>
+	You must enter your name and email address correctly.
+</font>
+<%
+	}
+%>
+
+
+</BODY>
+</HTML>
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal1.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<html><body><pre>
+&lt;HTML>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;HEAD>&lt;TITLE> 
+	Calendar: A JSP APPLICATION
+&lt;/TITLE>&lt;/HEAD>
+
+
+&lt;BODY BGCOLOR="white">
+
+&lt;%@ page language="java" import="cal.*" %>
+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+&lt;%
+	table.processRequest(request);
+	if (table.getProcessError() == false) {
+%>
+
+&lt;!-- html table goes here -->
+&lt;CENTER>
+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+&lt;TR>
+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=prev> prev &lt;/A>
+&lt;TD ALIGN=CENTER> Calendar:&lt;%= table.getDate() %>&lt;/TD>
+&lt;TD ALIGN=CENTER> &lt;A HREF=cal1.jsp?date=next> next &lt;/A>
+&lt;/TR>
+&lt;/TABLE>
+
+&lt;!-- the main table -->
+&lt;TABLE WIDTH=60% BGCOLOR=lightblue BORDER=1 CELLPADDING=10>
+&lt;TR>
+&lt;TH> Time &lt;/TH>
+&lt;TH> Appointment &lt;/TH>
+&lt;/TR>
+&lt;FORM METHOD=POST ACTION=cal1.jsp>
+&lt;%
+	for(int i=0; i&lt;table.getEntries().getRows(); i++) {
+	   cal.Entry entr = table.getEntries().getEntry(i);	
+%>
+	&lt;TR>
+	&lt;TD> 
+	&lt;A HREF=cal2.jsp?time=&lt;%= entr.getHour() %>>
+		&lt;%= entr.getHour() %> &lt;/A>
+	&lt;/TD>
+	&lt;TD BGCOLOR=&lt;%= entr.getColor() %>>
+	&lt;% out.print(util.HTMLFilter.filter(entr.getDescription())); %>
+	&lt;/TD> 
+	&lt;/TR>
+&lt;%
+	}
+%>
+&lt;/FORM>
+&lt;/TABLE>
+&lt;BR>
+
+&lt;!-- footer -->
+&lt;TABLE WIDTH=60% BGCOLOR=yellow CELLPADDING=15>
+&lt;TR>
+&lt;TD ALIGN=CENTER>  &lt;% out.print(util.HTMLFilter.filter(table.getName())); %> : 
+		     &lt;% out.print(util.HTMLFilter.filter(table.getEmail())); %> &lt;/TD>
+&lt;/TR>
+&lt;/TABLE>
+&lt;/CENTER>
+
+&lt;%
+	} else {
+%>
+&lt;font size=5>
+	You must enter your name and email address correctly.
+&lt;/font>
+&lt;%
+	}
+%>
+
+
+&lt;/BODY>
+&lt;/HTML>
+
+
+
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD><TITLE> 
+	Calendar: A JSP APPLICATION
+</TITLE></HEAD>
+
+
+<BODY BGCOLOR="white">
+<jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+<% 
+	String time = request.getParameter ("time");
+%>
+
+<FONT SIZE=5> Please add the following event:
+<BR> <h3> Date <%= table.getDate() %>
+<BR> Time <%= util.HTMLFilter.filter(time) %> </h3>
+</FONT>
+<FORM METHOD=POST ACTION=cal1.jsp>
+<BR> 
+<BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE=<%= util.HTMLFilter.filter(time) %>
+<BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2>
+<BR> <INPUT TYPE=SUBMIT VALUE="submit">
+</FORM>
+
+</BODY>
+</HTML>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/cal2.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><body><pre>
+&lt;HTML>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;HEAD>&lt;TITLE> 
+	Calendar: A JSP APPLICATION
+&lt;/TITLE>&lt;/HEAD>
+
+
+&lt;BODY BGCOLOR="white">
+&lt;jsp:useBean id="table" scope="session" class="cal.TableBean" />
+
+&lt;% 
+	String time = request.getParameter ("time");
+%>
+
+&lt;FONT SIZE=5> Please add the following event:
+&lt;BR> &lt;h3> Date &lt;%= table.getDate() %>
+&lt;BR> Time &lt;%= util.HTMLFilter.filter(time) %> &lt;/h3>
+&lt;/FONT>
+&lt;FORM METHOD=POST ACTION=cal1.jsp>
+&lt;BR> 
+&lt;BR> &lt;INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+&lt;BR> &lt;INPUT NAME="time" TYPE=HIDDEN VALUE=&lt;%= util.HTMLFilter.filter(time) %>
+&lt;BR> &lt;h2> Description of the event &lt;INPUT NAME="description" TYPE=TEXT SIZE=20> &lt;/h2>
+&lt;BR> &lt;INPUT TYPE=SUBMIT VALUE="submit">
+&lt;/FORM>
+
+&lt;/BODY>
+&lt;/HTML>
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/calendar.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/calendar.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/calendar.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="login.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h2> Source Code for Calendar Example. <br>
+<h3><a href="cal1.jsp.html">cal1.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="cal2.jsp.html">cal2.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<br>
+<h2> Beans.
+<h3><a href="TableBean.java.html">TableBean<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Entries.java.html">Entries<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Entry.java.html">Entry<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/login.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/login.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/cal/login.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+	<title> Login page for the calendar. </title>
+</head>
+
+<body bgcolor="white">
+<center>
+
+	<font size=7 color="red"> Please Enter the following information: </font>
+
+<br>
+	<form method=GET action=cal1.jsp>
+
+		<font size=5> Name <input type=text name="name" size=20>
+		</font>
+		<br>
+		<font size=5> Email <input type=text name="email" size=20>
+		</font>
+		<br>
+		<input type=submit name=action value="Submit">
+
+	</form>
+<hr>
+<font size=3 color="red"> Note: This application does not implement the complete 
+functionality of a typical calendar application. It demostartes a way JSP can be 
+used with html tables and forms.</font>
+
+</center>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/CheckTest.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/CheckTest.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/CheckTest.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+checkbox.CheckTest Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+checkbox.CheckTest Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>CheckTest</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>CheckTest:fruit</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Multi
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/check.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/check.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/check.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<BODY bgcolor="white">
+
+
+<FORM TYPE=POST ACTION=checkresult.jsp>
+<BR>
+<font size=5 color="red">
+Check all Favorite fruits: <br>
+
+<input TYPE=checkbox name=fruit VALUE=apples> Apples <BR>
+<input TYPE=checkbox name=fruit VALUE=grapes> Grapes <BR>
+<input TYPE=checkbox name=fruit VALUE=oranges> Oranges <BR>
+<input TYPE=checkbox name=fruit VALUE=melons> Melons <BR>
+
+
+<br> <INPUT TYPE=submit name=submit Value="Submit">
+
+</font>
+</FORM>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font size=5 color="red">
+<%! String[] fruits; %>
+<jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" />
+
+<jsp:setProperty name="foo" property="fruit" param="fruit" />
+<hr>
+The checked fruits (got using request) are: <br>
+<% 
+	fruits = request.getParameterValues("fruit");
+%>
+<ul>
+<%
+    if (fruits != null) {
+	  for (int i = 0; i < fruits.length; i++) {
+%>
+<li>
+<%
+	      out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+</ul>
+<br>
+<hr>
+
+The checked fruits (got using beans) are <br>
+
+<% 
+		fruits = foo.getFruit();
+%>
+<ul>
+<%
+    if (!fruits[0].equals("1")) {
+	  for (int i = 0; i < fruits.length; i++) {
+%>
+<li>
+<%
+		  out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+</ul>
+</font>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/checkresult.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;font size=5 color="red">
+&lt;%! String[] fruits; %>
+&lt;jsp:useBean id="foo" scope="page" class="checkbox.CheckTest" />
+
+&lt;jsp:setProperty name="foo" property="fruit" param="fruit" />
+&lt;hr>
+The checked fruits (got using request) are: &lt;br>
+&lt;% 
+	fruits = request.getParameterValues("fruit");
+%>
+&lt;ul>
+&lt;%
+    if (fruits != null) {
+	  for (int i = 0; i &lt; fruits.length; i++) {
+%>
+&lt;li>
+&lt;%
+	      out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+&lt;/ul>
+&lt;br>
+&lt;hr>
+
+The checked fruits (got using beans) are &lt;br>
+
+&lt;% 
+		fruits = foo.getFruit();
+%>
+&lt;ul>
+&lt;%
+    if (!fruits[0].equals("1")) {
+	  for (int i = 0; i &lt; fruits.length; i++) {
+%>
+&lt;li>
+&lt;%
+		  out.println (util.HTMLFilter.filter(fruits[i]));
+	  }
+	} else out.println ("none selected");
+%>
+&lt;/ul>
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/cresult.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/cresult.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/checkbox/cresult.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="check.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="checkresult.jsp.html">Source Code for Checkbox Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="CheckTest.html">Property Sheet for CheckTest
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/ColorGameBean.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/ColorGameBean.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/ColorGameBean.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+colors.ColorGameBean Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+colors.ColorGameBean Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>ColorGameBean</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>ColorGameBean:color2</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>ColorGameBean:color1</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+int
+</FONT></TD>
+<TD><B>ColorGameBean:attempts</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:hint</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:success</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+boolean
+</FONT></TD>
+<TD><B>ColorGameBean:hintTaken</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Single
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/clr.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/clr.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/clr.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="colors.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="colrs.jsp.html">Source Code for Color Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="ColorGameBean.html">Property Sheet for ColorGameBean
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colors.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colors.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colors.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor= white>
+<font size=6 color=red>
+
+<hr>
+This web page is an example using JSP and BEANs. 
+<p>
+Guess my favorite two colors 
+
+<p> If you fail to guess both of them - you get yellow on red.
+
+<p> If you guess one of them right, either your foreground or 
+    your background will change to the color that was guessed right.
+
+<p> Guess them both right and your browser foreground/background 
+    will change to my two favorite colors to display this page.
+
+<hr>
+<form method=GET action=colrs.jsp>
+Color #1: <input type=text name= color1 size=16>
+<br>
+Color #2: <input type=text name= color2 size=16>
+<p>
+<input type=submit name=action value="Submit">
+<input type=submit name=action value="Hint">
+</form>
+
+</font>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" />
+<jsp:setProperty name="cb" property="*" />
+
+<%
+	cb.processRequest(request);
+%>
+
+<body bgcolor=<%= cb.getColor1() %>>
+<font size=6 color=<%= cb.getColor2() %>>
+<p>
+
+<% if (cb.getHint()==true) { %>
+	
+	<p> Hint #1: Vampires prey at night!
+	<p>  <p> Hint #2: Nancy without the n.
+
+<% } %>
+
+<% if  (cb.getSuccess()==true) { %>
+
+    <p> CONGRATULATIONS!!
+	<% if  (cb.getHintTaken()==true) { %>
+    
+        <p> ( although I know you cheated and peeked into the hints)
+
+	<% } %>
+
+<% } %>
+
+<p> Total attempts so far: <%= cb.getAttempts() %>
+<p>
+
+<p>
+
+<form method=POST action=colrs.jsp>
+
+Color #1: <input type=text name= color1 size=16>
+
+<br>
+
+Color #2: <input type=text name= color2 size=16>
+
+<p>
+
+<input type=submit name=action value="Submit">
+<input type=submit name=action value="Hint">
+
+</form>
+
+</font>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/colors/colrs.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;jsp:useBean id="cb" scope="session" class="colors.ColorGameBean" />
+&lt;jsp:setProperty name="cb" property="*" />
+
+&lt;%
+	cb.processRequest(request);
+%>
+
+&lt;body bgcolor=&lt;%= cb.getColor1() %>>
+&lt;font size=6 color=&lt;%= cb.getColor2() %>>
+&lt;p>
+
+&lt;% if (cb.getHint()==true) { %>
+	
+	&lt;p> Hint #1: Vampires prey at night!
+	&lt;p>  &lt;p> Hint #2: Nancy without the n.
+
+&lt;% } %>
+
+&lt;% if  (cb.getSuccess()==true) { %>
+
+    &lt;p> CONGRATULATIONS!!
+	&lt;% if  (cb.getHintTaken()==true) { %>
+    
+        &lt;p> ( although I know you cheated and peeked into the hints)
+
+	&lt;% } %>
+
+&lt;% } %>
+
+&lt;p> Total attempts so far: &lt;%= cb.getAttempts() %>
+&lt;p>
+
+&lt;p>
+
+&lt;form method=POST action=colrs.jsp>
+
+Color #1: &lt;input type=text name= color1 size=16>
+
+&lt;br>
+
+Color #2: &lt;input type=text name= color2 size=16>
+
+&lt;p>
+
+&lt;input type=submit name=action value="Submit">
+&lt;input type=submit name=action value="Hint">
+
+&lt;/form>
+
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="date.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="date.jsp.html">Source Code for Date Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<%@ page session="false"%>
+
+<body bgcolor="white">
+<jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
+
+<font size=4>
+<ul>
+<li>	Day of month: is  <jsp:getProperty name="clock" property="dayOfMonth"/>
+<li>	Year: is  <jsp:getProperty name="clock" property="year"/>
+<li>	Month: is  <jsp:getProperty name="clock" property="month"/>
+<li>	Time: is  <jsp:getProperty name="clock" property="time"/>
+<li>	Date: is  <jsp:getProperty name="clock" property="date"/>
+<li>	Day: is  <jsp:getProperty name="clock" property="day"/>
+<li>	Day Of Year: is  <jsp:getProperty name="clock" property="dayOfYear"/>
+<li>	Week Of Year: is  <jsp:getProperty name="clock" property="weekOfYear"/>
+<li>	era: is  <jsp:getProperty name="clock" property="era"/>
+<li>	DST Offset: is  <jsp:getProperty name="clock" property="DSTOffset"/>
+<li>	Zone Offset: is  <jsp:getProperty name="clock" property="zoneOffset"/>
+</ul>
+</font>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/dates/date.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;%@ page session="false"%>
+
+&lt;body bgcolor="white">
+&lt;jsp:useBean id='clock' scope='page' class='dates.JspCalendar' type="dates.JspCalendar" />
+
+&lt;font size=4>
+&lt;ul>
+&lt;li>	Day of month: is  &lt;jsp:getProperty name="clock" property="dayOfMonth"/>
+&lt;li>	Year: is  &lt;jsp:getProperty name="clock" property="year"/>
+&lt;li>	Month: is  &lt;jsp:getProperty name="clock" property="month"/>
+&lt;li>	Time: is  &lt;jsp:getProperty name="clock" property="time"/>
+&lt;li>	Date: is  &lt;jsp:getProperty name="clock" property="date"/>
+&lt;li>	Day: is  &lt;jsp:getProperty name="clock" property="day"/>
+&lt;li>	Day Of Year: is  &lt;jsp:getProperty name="clock" property="dayOfYear"/>
+&lt;li>	Week Of Year: is  &lt;jsp:getProperty name="clock" property="weekOfYear"/>
+&lt;li>	era: is  &lt;jsp:getProperty name="clock" property="era"/>
+&lt;li>	DST Offset: is  &lt;jsp:getProperty name="clock" property="DSTOffset"/>
+&lt;li>	Zone Offset: is  &lt;jsp:getProperty name="clock" property="zoneOffset"/>
+&lt;/ul>
+&lt;/font>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/er.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/er.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/er.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="error.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="err.jsp.html">Source Code for Error Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="lightblue">
+
+	<%@ page errorPage="errorpge.jsp" %>
+	<jsp:useBean id="foo" scope="request" class="error.Smart" />
+	<% 
+		String name = null;
+
+		if (request.getParameter("name") == null) {
+	%>
+	<%@ include file="/error/error.html" %>
+	<%
+		} else {
+		  foo.setName(request.getParameter("name"));
+		  if (foo.getName().equalsIgnoreCase("integra"))
+		  	name = "acura";
+		  if (name.equalsIgnoreCase("acura")) {
+	%>
+
+	<H1> Yes!!! <a href="http://www.acura.com">Acura</a> is my favorite car.
+
+	<% 
+		  }
+		}	
+	%>	
+</body>
+</html>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/err.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body bgcolor="lightblue">
+
+	&lt;%@ page errorPage="errorpge.jsp" %>
+	&lt;jsp:useBean id="foo" scope="request" class="error.Smart" />
+	&lt;% 
+		String name = null;
+
+		if (request.getParameter("name") == null) {
+	%>
+	&lt;%@ include file="/error/error.html" %>
+	&lt;%
+		} else {
+		  foo.setName(request.getParameter("name"));
+		  if (foo.getName().equalsIgnoreCase("integra"))
+		  	name = "acura";
+		  if (name.equalsIgnoreCase("acura")) {
+	%>
+
+	&lt;H1> Yes!!! &lt;a href="http://www.acura.com">Acura&lt;/a> is my favorite car.
+
+	&lt;% 
+		  }
+		}	
+	%>	
+&lt;/body>
+&lt;/html>
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/error.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/error.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/error.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+
+<h1> This example uses <b>errorpage</b> directive </h1>
+<br>
+<h3> Select my favourite car.</h3>
+<form method=get action=err.jsp>
+<!-- <br> Make a guess: -->
+<SELECT NAME="name" SIZE=5>
+<OPTION VALUE="integra"> Acura Integra <BR>
+<OPTION VALUE="bmw328i"> BMW 328I <BR>
+<OPTION VALUE="z3"> BMW Z3 <BR>
+<OPTION VALUE="infiniti"> InfinitiQ3 <BR>
+<OPTION VALUE="audi"> Audi A8 <BR>
+</SELECT>
+<br> <INPUT TYPE=submit name=submit Value="Submit">
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/errorpge.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/errorpge.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/error/errorpge.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="red">
+
+	<%@ page isErrorPage="true" %>
+	<h1> The exception <%= exception.getMessage() %> tells me you
+	     made a wrong choice. 
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+
+<% 
+   double freeMem = Runtime.getRuntime().freeMemory();
+   double totlMem = Runtime.getRuntime().totalMemory();
+   double percent = freeMem/totlMem;
+   if (percent < 0.5) { 
+%>
+
+<jsp:forward page="/forward/one.jsp"/>
+
+<% } else { %>
+
+<jsp:forward page="two.html"/>
+
+<% } %>
+
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/forward.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+
+&lt;% 
+   double freeMem = Runtime.getRuntime().freeMemory();
+   double totlMem = Runtime.getRuntime().totalMemory();
+   double percent = freeMem/totlMem;
+   if (percent &lt; 0.5) { 
+%>
+
+&lt;jsp:forward page="/forward/one.jsp"/>
+
+&lt;% } else { %>
+
+&lt;jsp:forward page="two.html"/>
+
+&lt;% } %>
+
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/fwd.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/fwd.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/fwd.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="forward.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="forward.jsp.html">Source Code for Forward Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/one.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/one.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/one.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+VM Memory usage < 50%.
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/two.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/two.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/forward/two.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+VM Memory usage > 50%.
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/execute.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/execute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/read.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/read.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/return.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/images/return.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+To get the current time in ms

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/foo.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<font color="red">
+
+<%= System.currentTimeMillis() %>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/inc.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/inc.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/inc.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="include.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="include.jsp.html">Source Code for Include Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+
+<font color="red">
+
+<%@ page buffer="5kb" autoFlush="false" %>
+
+<p>In place evaluation of another JSP which gives you the current time:
+
+<%@ include file="foo.jsp" %>
+
+<p> <jsp:include page="/include/foo.html" flush="true"/> by including the output of another JSP:
+
+<jsp:include page="foo.jsp" flush="true"/>
+
+:-) 
+
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/include/include.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+
+&lt;font color="red">
+
+&lt;%@ page buffer="5kb" autoFlush="false" %>
+
+&lt;p>In place evaluation of another JSP which gives you the current time:
+
+&lt;%@ include file="foo.jsp" %>
+
+&lt;p> &lt;jsp:include page="/include/foo.html" flush="true"/> by including the output of another JSP:
+
+&lt;jsp:include page="foo.jsp" flush="true"/>
+
+:-) 
+
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,374 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+\<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.61 [en] (WinNT; I) [Netscape]">
+   <meta name="Author" content="Anil K. Vijendran">
+   <title>JSP Examples</title>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+</head>
+<body bgcolor="#FFFFFF">
+<b><font face="Arial, Helvetica, sans-serif"><font size=+2>JSP
+Samples</font></font></b>
+<p>This is a collection of samples demonstrating the usage of different
+parts of the Java Server Pages (JSP) specification.  Both JSP 2.0 and
+JSP 1.2 examples are presented below.
+<p>These examples will only work when these pages are being served by a
+servlet engine; of course, we recommend
+<a href="http://jakarta.apache.org/tomcat/">Tomcat</a>.
+They will not work if you are viewing these pages via a
+"file://..." URL.
+<p>To navigate your way through the examples, the following icons will
+help:
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/execute.gif" ></td>
+
+<td>Execute the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/code.gif" height=24 width=24></td>
+
+<td>Look at the source code for the example</td>
+</tr>
+
+<!--<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/read.gif" height=24 width=24></td>
+
+<td>Read more about this feature</td>
+-->
+
+</tr>
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/return.gif" height=24 width=24></td>
+
+<td>Return to this screen</td>
+</tr>
+</table>
+
+<p>Tip: For session scoped beans to work, the cookies must be enabled.
+This can be done using browser options.
+<br>&nbsp;
+<br>
+<b><u><font size="+1">JSP 2.0 Examples</font></u></b><br>
+
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr valign=TOP>
+<td><b>Expression Language</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Basic Arithmetic</td>
+<td valign=TOP width="30%"><a href="jsp2/el/basic-arithmetic.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/basic-arithmetic.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/basic-arithmetic.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/basic-arithmetic.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Basic Comparisons</td>
+<td valign=TOP width="30%"><a href="jsp2/el/basic-comparisons.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/basic-comparisons.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/basic-comparisons.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/basic-comparisons.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Implicit Objects</td>
+<td valign=TOP width="30%"><a href="jsp2/el/implicit-objects.jsp?foo=bar"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/implicit-objects.jsp?foo=bar">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/implicit-objects.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/implicit-objects.html">Source</a></td>
+</tr>
+<tr valign=TOP>
+
+<td>Functions</td>
+<td valign=TOP width="30%"><a href="jsp2/el/functions.jsp?foo=JSP+2.0"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/el/functions.jsp?foo=JSP+2.0">Execute</a></td>
+
+<td width="30%"><a href="jsp2/el/functions.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/el/functions.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>SimpleTag Handlers and JSP Fragments</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Hello World Tag</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/hello.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/hello.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/hello.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/hello.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Repeat Tag</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/repeat.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/repeat.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/repeat.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/repeat.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Book Example</td>
+<td valign=TOP width="30%"><a href="jsp2/simpletag/book.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/simpletag/book.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/simpletag/book.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/simpletag/book.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>Tag Files</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>Hello World Tag File</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/hello.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/hello.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/hello.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/hello.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Panel Tag File</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/panel.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/panel.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/panel.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/panel.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Display Products Example</td>
+<td valign=TOP width="30%"><a href="jsp2/tagfiles/products.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/tagfiles/products.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/tagfiles/products.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/tagfiles/products.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>New JSP XML Syntax (.jspx)</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>XHTML Basic Example</td>
+<td valign=TOP width="30%"><a href="jsp2/jspx/basic.jspx"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspx/basic.jspx">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspx/basic.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspx/basic.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>SVG (Scalable Vector Graphics)</td>
+<td valign=TOP width="30%"><a href="jsp2/jspx/svgexample.html"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspx/svgexample.html">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspx/textRotate.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspx/textRotate.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td><br><b>Other JSP 2.0 Features</b></td>
+</tr>
+
+<tr valign=TOP>
+<td>&lt;jsp:attribute&gt; and &lt;jsp:body&gt;</td>
+<td valign=TOP width="30%"><a href="jsp2/jspattribute/jspattribute.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspattribute/jspattribute.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspattribute/jspattribute.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspattribute/jspattribute.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Shuffle Example</td>
+<td valign=TOP width="30%"><a href="jsp2/jspattribute/shuffle.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/jspattribute/shuffle.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/jspattribute/shuffle.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/jspattribute/shuffle.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>Attributes With Dynamic Names</td>
+<td valign=TOP width="30%"><a href="jsp2/misc/dynamicattrs.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/misc/dynamicattrs.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/misc/dynamicattrs.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/misc/dynamicattrs.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>JSP Configuration</td>
+<td valign=TOP width="30%"><a href="jsp2/misc/config.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="jsp2/misc/config.jsp">Execute</a></td>
+
+<td width="30%"><a href="jsp2/misc/config.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsp2/misc/config.html">Source</a></td>
+</tr>
+
+</table>
+
+<br>
+<b><u><font size="+1">JSP 1.2 Examples</font></u></b><br>
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td>Numberguess&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="num/numguess.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="num/numguess.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="num/numguess.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="num/numguess.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Date&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="dates/date.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="dates/date.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="dates/date.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="dates/date.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Snoop</td>
+
+<td WIDTH="30%"><a href="snp/snoop.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="snp/snoop.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="snp/snoop.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="snp/snoop.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>ErrorPage&nbsp;</td>
+
+<td WIDTH="30%"><a href="error/error.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="error/error.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="error/er.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="error/er.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Carts&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="sessions/carts.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="sessions/carts.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="sessions/crt.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="sessions/crt.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Checkbox&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="checkbox/check.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="checkbox/check.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="checkbox/cresult.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="checkbox/cresult.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Color&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="colors/colors.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="colors/colors.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="colors/clr.html.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="colors/clr.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Calendar&nbsp;</td>
+
+<td WIDTH="30%"><a href="cal/login.html"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="cal/login.html">Execute</a></td>
+
+<td WIDTH="30%"><a href="cal/calendar.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="cal/calendar.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Include&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="/include/include.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="include/include.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="include/inc.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="include/inc.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Forward&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="forward/forward.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="forward/forward.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="forward/fwd.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="forward/fwd.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Plugin&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="plugin/plugin.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="plugin/plugin.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="plugin/plugin.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="plugin/plugin.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>JSP-Servlet-JSP&nbsp;</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="jsptoserv/jsptoservlet.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="jsptoserv/jsptoservlet.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="jsptoserv/jts.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="jsptoserv/jts.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Custom tag example</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="simpletag/foo.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="simpletag/foo.jsp">Execute</a></td>
+
+<td WIDTH="30%"><a href="simpletag/foo.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="simpletag/foo.html">Source</a></td>
+</tr>
+
+<tr valign=TOP>
+<td>XML syntax example</td>
+<td valign=TOP width="30%"><a href="xml/xml.jsp"><img src="images/execute.gif" hspace=4 border=0  align=top></a><a href="xml/xml.jsp">Execute</a></td>
+
+<td width="30%"><a href="xml/xml.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="xml/xml.html">Source</a></td>
+</tr>
+
+</table>
+
+<br/>
+<b><u><font size="+1">Tag Plugins</font></u></b><br>
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+
+<tr VALIGN=TOP>
+  <td>If&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/if.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  
+align=TOP></a>
+    <a href="tagplugin/if.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/if.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 hei
+ght=24 width=24 align=TOP></a>
+    <a href="tagplugin/if.html">Source</a>
+  </td>
+</tr>
+
+<tr VALIGN=TOP>
+  <td>ForEach&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/foreach.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  
+align=TOP></a>
+    <a href="tagplugin/foreach.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/foreach.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 hei
+ght=24 width=24 align=TOP></a>
+    <a href="tagplugin/foreach.html">Source</a>
+  </td>
+</tr>
+
+<tr VALIGN=TOP>
+  <td>Choose&nbsp;</td>
+  <td VALIGN=TOP WIDTH="30%">
+    <a href="tagplugin/choose.jsp"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a>
+    <a href="tagplugin/choose.jsp">Execute</a>
+  </td>
+  <td WIDTH="30%">
+    <a href="tagplugin/choose.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a>
+    <a href="tagplugin/choose.html">Source</a>
+  </td>
+</tr>
+
+</table>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/Functions.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/Functions.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/Functions.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+import java.util.*;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * &lt;p>Each function is defined as a static method.&lt;/p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i &lt; text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic-arithmetic.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic-arithmetic.jsp.html">Source Code for Basic Arithmetic Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Basic Arithmetic</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Basic Arithmetic</h1>
+    <hr>
+    This example illustrates basic Expression Language arithmetic.
+    Addition (+), subtraction (-), multiplication (*), division (/ or div), 
+    and modulus (% or mod) are all supported.  Error conditions, like
+    division by zero, are handled gracefully.
+    <br>
+    <blockquote>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${1}</td>
+	    <td>${1}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 + 2}</td>
+	    <td>${1 + 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1.2 + 2.3}</td>
+	    <td>${1.2 + 2.3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1.2E4 + 1.4}</td>
+	    <td>${1.2E4 + 1.4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${-4 - 2}</td>
+	    <td>${-4 - 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${21 * 2}</td>
+	    <td>${21 * 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3/4}</td>
+	    <td>${3/4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3 div 4}</td>
+	    <td>${3 div 4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${3/0}</td>
+	    <td>${3/0}</td>
+	  </tr>
+	  <tr>
+	    <td>\${10%4}</td>
+	    <td>${10%4}</td>
+	  </tr>
+	  <tr>
+	    <td>\${10 mod 4}</td>
+	    <td>${10 mod 4}</td>
+	  </tr>
+    <tr>
+      <td>\${(1==2) ? 3 : 4}</td>
+      <td>${(1==2) ? 3 : 4}</td>
+    </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-arithmetic.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Basic Arithmetic&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Basic Arithmetic&lt;/h1>
+    &lt;hr>
+    This example illustrates basic Expression Language arithmetic.
+    Addition (+), subtraction (-), multiplication (*), division (/ or div), 
+    and modulus (% or mod) are all supported.  Error conditions, like
+    division by zero, are handled gracefully.
+    &lt;br>
+    &lt;blockquote>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${1}&lt;/td>
+	    &lt;td>${1}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 + 2}&lt;/td>
+	    &lt;td>${1 + 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1.2 + 2.3}&lt;/td>
+	    &lt;td>${1.2 + 2.3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1.2E4 + 1.4}&lt;/td>
+	    &lt;td>${1.2E4 + 1.4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${-4 - 2}&lt;/td>
+	    &lt;td>${-4 - 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${21 * 2}&lt;/td>
+	    &lt;td>${21 * 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3/4}&lt;/td>
+	    &lt;td>${3/4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3 div 4}&lt;/td>
+	    &lt;td>${3 div 4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${3/0}&lt;/td>
+	    &lt;td>${3/0}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${10%4}&lt;/td>
+	    &lt;td>${10%4}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${10 mod 4}&lt;/td>
+	    &lt;td>${10 mod 4}&lt;/td>
+	  &lt;/tr>
+    &lt;tr>
+      &lt;td>\${(1==2) ? 3 : 4}&lt;/td>
+      &lt;td>${(1==2) ? 3 : 4}&lt;/td>
+    &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic-comparisons.jsp"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic-comparisons.jsp.html">Source Code for Basic Comparisons Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Basic Comparisons</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Basic Comparisons</h1>
+    <hr>
+    This example illustrates basic Expression Language comparisons.
+    The following comparison operators are supported:
+    <ul>
+      <li>Less-than (&lt; or lt)</li>
+      <li>Greater-than (&gt; or gt)</li>
+      <li>Less-than-or-equal (&lt;= or le)</li>
+      <li>Greater-than-or-equal (&gt;= or ge)</li>
+      <li>Equal (== or eq)</li>
+      <li>Not Equal (!= or ne)</li>
+    </ul>
+    <blockquote>
+      <u><b>Numeric</b></u>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${1 &lt; 2}</td>
+	    <td>${1 < 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 lt 2}</td>
+	    <td>${1 lt 2}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 &gt; (4/2)}</td>
+	    <td>${1 > (4/2)}</td>
+	  </tr>
+	  <tr>
+	    <td>\${1 &gt; (4/2)}</td>
+	    <td>${1 > (4/2)}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4.0 &gt;= 3}</td>
+	    <td>${4.0 >= 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4.0 ge 3}</td>
+	    <td>${4.0 ge 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4 &lt;= 3}</td>
+	    <td>${4 <= 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${4 le 3}</td>
+	    <td>${4 le 3}</td>
+	  </tr>
+	  <tr>
+	    <td>\${100.0 == 100}</td>
+	    <td>${100.0 == 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${100.0 eq 100}</td>
+	    <td>${100.0 eq 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${(10*10) != 100}</td>
+	    <td>${(10*10) != 100}</td>
+	  </tr>
+	  <tr>
+	    <td>\${(10*10) ne 100}</td>
+	    <td>${(10*10) ne 100}</td>
+	  </tr>
+	</table>
+      </code>
+      <br>
+      <u><b>Alphabetic</b></u>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${'a' &lt; 'b'}</td>
+	    <td>${'a' < 'b'}</td>
+	  </tr>
+	  <tr>
+	    <td>\${'hip' &gt; 'hit'}</td>
+	    <td>${'hip' > 'hit'}</td>
+	  </tr>
+	  <tr>
+	    <td>\${'4' &gt; 3}</td>
+	    <td>${'4' > 3}</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/basic-comparisons.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Basic Comparisons&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Basic Comparisons&lt;/h1>
+    &lt;hr>
+    This example illustrates basic Expression Language comparisons.
+    The following comparison operators are supported:
+    &lt;ul>
+      &lt;li>Less-than (&amp;lt; or lt)&lt;/li>
+      &lt;li>Greater-than (&amp;gt; or gt)&lt;/li>
+      &lt;li>Less-than-or-equal (&amp;lt;= or le)&lt;/li>
+      &lt;li>Greater-than-or-equal (&amp;gt;= or ge)&lt;/li>
+      &lt;li>Equal (== or eq)&lt;/li>
+      &lt;li>Not Equal (!= or ne)&lt;/li>
+    &lt;/ul>
+    &lt;blockquote>
+      &lt;u>&lt;b>Numeric&lt;/b>&lt;/u>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;lt; 2}&lt;/td>
+	    &lt;td>${1 &lt; 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 lt 2}&lt;/td>
+	    &lt;td>${1 lt 2}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>
+	    &lt;td>${1 > (4/2)}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${1 &amp;gt; (4/2)}&lt;/td>
+	    &lt;td>${1 > (4/2)}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4.0 &amp;gt;= 3}&lt;/td>
+	    &lt;td>${4.0 >= 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4.0 ge 3}&lt;/td>
+	    &lt;td>${4.0 ge 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4 &amp;lt;= 3}&lt;/td>
+	    &lt;td>${4 &lt;= 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${4 le 3}&lt;/td>
+	    &lt;td>${4 le 3}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${100.0 == 100}&lt;/td>
+	    &lt;td>${100.0 == 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${100.0 eq 100}&lt;/td>
+	    &lt;td>${100.0 eq 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${(10*10) != 100}&lt;/td>
+	    &lt;td>${(10*10) != 100}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${(10*10) ne 100}&lt;/td>
+	    &lt;td>${(10*10) ne 100}&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+      &lt;br>
+      &lt;u>&lt;b>Alphabetic&lt;/b>&lt;/u>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${'a' &amp;lt; 'b'}&lt;/td>
+	    &lt;td>${'a' &lt; 'b'}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${'hip' &amp;gt; 'hit'}&lt;/td>
+	    &lt;td>${'hip' > 'hit'}&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${'4' &amp;gt; 3}&lt;/td>
+	    &lt;td>${'4' > 3}&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="functions.jsp?foo=JSP+2.0"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="functions.jsp.html">Source Code for functions.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Functions.java.html">Source Code for Functions.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Functions</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Functions</h1>
+    <hr>
+    An upgrade from the JSTL expression language, the JSP 2.0 EL also
+    allows for simple function invocation.  Functions are defined
+    by tag libraries and are implemented by a Java programmer as 
+    static methods.
+
+    <blockquote>
+      <u><b>Change Parameter</b></u>
+      <form action="functions.jsp" method="GET">
+	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          <input type="submit">
+      </form>
+      <br>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${param["foo"]}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:reverse(param["foo"])}</td>
+	    <td>${my:reverse(fn:escapeXml(param["foo"]))}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:reverse(my:reverse(param["foo"]))}</td>
+	    <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${my:countVowels(param["foo"])}</td>
+	    <td>${my:countVowels(fn:escapeXml(param["foo"]))}&nbsp;</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/functions.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Functions&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Functions&lt;/h1>
+    &lt;hr>
+    An upgrade from the JSTL expression language, the JSP 2.0 EL also
+    allows for simple function invocation.  Functions are defined
+    by tag libraries and are implemented by a Java programmer as 
+    static methods.
+
+    &lt;blockquote>
+      &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>
+      &lt;form action="functions.jsp" method="GET">
+	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          &lt;input type="submit">
+      &lt;/form>
+      &lt;br>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${param["foo"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:reverse(param["foo"])}&lt;/td>
+	    &lt;td>${my:reverse(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:reverse(my:reverse(param["foo"]))}&lt;/td>
+	    &lt;td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${my:countVowels(param["foo"])}&lt;/td>
+	    &lt;td>${my:countVowels(fn:escapeXml(param["foo"]))}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="implicit-objects.jsp?foo=bar"><img src="../../images/execute.gif" align="right" border="0"></a><a href="../../index.html">
+<img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="implicit-objects.jsp.html">Source Code for Implicit Objects Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+
+<html>
+  <head>
+    <title>JSP 2.0 Expression Language - Implicit Objects</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Expression Language - Implicit Objects</h1>
+    <hr>
+    This example illustrates some of the implicit objects available 
+    in the Expression Lanaguage.  The following implicit objects are 
+    available (not all illustrated here):
+    <ul>
+      <li>pageContext - the PageContext object</li>
+      <li>pageScope - a Map that maps page-scoped attribute names to 
+          their values</li>
+      <li>requestScope - a Map that maps request-scoped attribute names 
+          to their values</li>
+      <li>sessionScope - a Map that maps session-scoped attribute names 
+          to their values</li>
+      <li>applicationScope - a Map that maps application-scoped attribute 
+          names to their values</li>
+      <li>param - a Map that maps parameter names to a single String 
+          parameter value</li>
+      <li>paramValues - a Map that maps parameter names to a String[] of 
+          all values for that parameter</li>
+      <li>header - a Map that maps header names to a single String 
+          header value</li>
+      <li>headerValues - a Map that maps header names to a String[] of 
+          all values for that header</li>
+      <li>initParam - a Map that maps context initialization parameter 
+          names to their String parameter value</li>
+      <li>cookie - a Map that maps cookie names to a single Cookie object.</li>
+    </ul>
+
+    <blockquote>
+      <u><b>Change Parameter</b></u>
+      <form action="implicit-objects.jsp" method="GET">
+	  foo = <input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          <input type="submit">
+      </form>
+      <br>
+      <code>
+        <table border="1">
+          <thead>
+	    <td><b>EL Expression</b></td>
+	    <td><b>Result</b></td>
+	  </thead>
+	  <tr>
+	    <td>\${param.foo}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${param["foo"]}</td>
+	    <td>${fn:escapeXml(param["foo"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["host"]}</td>
+	    <td>${fn:escapeXml(header["host"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["accept"]}</td>
+	    <td>${fn:escapeXml(header["accept"])}&nbsp;</td>
+	  </tr>
+	  <tr>
+	    <td>\${header["user-agent"]}</td>
+	    <td>${fn:escapeXml(header["user-agent"])}&nbsp;</td>
+	  </tr>
+	</table>
+      </code>
+    </blockquote>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/el/implicit-objects.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Expression Language - Implicit Objects&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Expression Language - Implicit Objects&lt;/h1>
+    &lt;hr>
+    This example illustrates some of the implicit objects available 
+    in the Expression Lanaguage.  The following implicit objects are 
+    available (not all illustrated here):
+    &lt;ul>
+      &lt;li>pageContext - the PageContext object&lt;/li>
+      &lt;li>pageScope - a Map that maps page-scoped attribute names to 
+          their values&lt;/li>
+      &lt;li>requestScope - a Map that maps request-scoped attribute names 
+          to their values&lt;/li>
+      &lt;li>sessionScope - a Map that maps session-scoped attribute names 
+          to their values&lt;/li>
+      &lt;li>applicationScope - a Map that maps application-scoped attribute 
+          names to their values&lt;/li>
+      &lt;li>param - a Map that maps parameter names to a single String 
+          parameter value&lt;/li>
+      &lt;li>paramValues - a Map that maps parameter names to a String[] of 
+          all values for that parameter&lt;/li>
+      &lt;li>header - a Map that maps header names to a single String 
+          header value&lt;/li>
+      &lt;li>headerValues - a Map that maps header names to a String[] of 
+          all values for that header&lt;/li>
+      &lt;li>initParam - a Map that maps context initialization parameter 
+          names to their String parameter value&lt;/li>
+      &lt;li>cookie - a Map that maps cookie names to a single Cookie object.&lt;/li>
+    &lt;/ul>
+
+    &lt;blockquote>
+      &lt;u>&lt;b>Change Parameter&lt;/b>&lt;/u>
+      &lt;form action="implicit-objects.jsp" method="GET">
+	  foo = &lt;input type="text" name="foo" value="${fn:escapeXml(param["foo"])}">
+          &lt;input type="submit">
+      &lt;/form>
+      &lt;br>
+      &lt;code>
+        &lt;table border="1">
+          &lt;thead>
+	    &lt;td>&lt;b>EL Expression&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Result&lt;/b>&lt;/td>
+	  &lt;/thead>
+	  &lt;tr>
+	    &lt;td>\${param.foo}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${param["foo"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(param["foo"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["host"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["host"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["accept"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["accept"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	  &lt;tr>
+	    &lt;td>\${header["user-agent"]}&lt;/td>
+	    &lt;td>${fn:escapeXml(header["user-agent"])}&amp;nbsp;&lt;/td>
+	  &lt;/tr>
+	&lt;/table>
+      &lt;/code>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/FooBean.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/FooBean.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/FooBean.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class FooBean {
+    private String bar;
+    
+    public FooBean() {
+        bar = "Initial value";
+    }
+    
+    public String getBar() {
+        return this.bar;
+    }
+    
+    public void setBar(String bar) {
+        this.bar = bar;
+    }
+    
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/HelloWorldSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/HelloWorldSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/HelloWorldSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/ShuffleSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/ShuffleSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/ShuffleSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.JspFragment;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts takes three attributes of type
+ * JspFragment and invokes then in a random order.
+ */
+public class ShuffleSimpleTag extends SimpleTagSupport {
+    private JspFragment fragment1;
+    private JspFragment fragment2;
+    private JspFragment fragment3;
+
+    public void doTag() throws JspException, IOException {
+        switch( (int)(Math.random() * 6) ) {
+            case 0:
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 1:
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 2:
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                fragment3.invoke( null );
+                break;
+            case 3:
+                fragment2.invoke( null );
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                break;
+            case 4:
+                fragment3.invoke( null );
+                fragment1.invoke( null );
+                fragment2.invoke( null );
+                break;
+            case 5:
+                fragment3.invoke( null );
+                fragment2.invoke( null );
+                fragment1.invoke( null );
+                break;
+        }
+    }
+
+    public void setFragment1( JspFragment fragment1 ) {
+        this.fragment1 = fragment1;
+    }
+    
+    public void setFragment2( JspFragment fragment2 ) {
+        this.fragment2 = fragment2;
+    }
+    
+    public void setFragment3( JspFragment fragment3 ) {
+        this.fragment3 = fragment3;
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/TileSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/TileSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/TileSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+import java.util.HashMap;
+
+/**
+ * Displays a tile as a single cell in a table.
+ */
+public class TileSimpleTag extends SimpleTagSupport {
+    private String color;
+    private String label;
+
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( 
+	    "&lt;td width=\"32\" height=\"32\" bgcolor=\"" + this.color + 
+	    "\">&lt;font color=\"#ffffff\">&lt;center>" + this.label + 
+                "&lt;/center>&lt;/font>&lt;/td>" );
+    }
+
+    public void setColor( String color ) {
+        this.color = color;
+    }
+    
+    public void setLabel( String label ) {
+        this.label = label;
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="jspattribute.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="jspattribute.jsp.html">Source Code for jspattribute.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="HelloWorldSimpleTag.java.html">Source Code for HelloWorldSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="FooBean.java.html">Source Code for FooBean.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Examples - jsp:attribute and jsp:body</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - jsp:attribute and jsp:body</h1>
+    <hr>
+    <p>The new &lt;jsp:attribute&gt; and &lt;jsp:body&gt; 
+    standard actions can be used to specify the value of any standard
+    action or custom action attribute.</p>
+    <p>This example uses the &lt;jsp:attribute&gt;
+    standard action to use the output of a custom action invocation
+    (one that simply outputs "Hello, World!") to set the value of a
+    bean property.  This would normally require an intermediary
+    step, such as using JSTL's &lt;c:set&gt; action.</p>
+    <br>
+    <jsp:useBean id="foo" class="jsp2.examples.FooBean">
+      Bean created!  Setting foo.bar...<br>
+      <jsp:setProperty name="foo" property="bar">
+        <jsp:attribute name="value">
+	  <my:helloWorld/>
+        </jsp:attribute>
+      </jsp:setProperty>
+    </jsp:useBean>
+    <br>
+    Result: ${foo.bar}
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/jspattribute.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - jsp:attribute and jsp:body&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - jsp:attribute and jsp:body&lt;/h1>
+    &lt;hr>
+    &lt;p>The new &amp;lt;jsp:attribute&amp;gt; and &amp;lt;jsp:body&amp;gt; 
+    standard actions can be used to specify the value of any standard
+    action or custom action attribute.&lt;/p>
+    &lt;p>This example uses the &amp;lt;jsp:attribute&amp;gt;
+    standard action to use the output of a custom action invocation
+    (one that simply outputs "Hello, World!") to set the value of a
+    bean property.  This would normally require an intermediary
+    step, such as using JSTL's &amp;lt;c:set&amp;gt; action.&lt;/p>
+    &lt;br>
+    &lt;jsp:useBean id="foo" class="jsp2.examples.FooBean">
+      Bean created!  Setting foo.bar...&lt;br>
+      &lt;jsp:setProperty name="foo" property="bar">
+        &lt;jsp:attribute name="value">
+	  &lt;my:helloWorld/>
+        &lt;/jsp:attribute>
+      &lt;/jsp:setProperty>
+    &lt;/jsp:useBean>
+    &lt;br>
+    Result: ${foo.bar}
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="shuffle.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="shuffle.jsp.html">Source Code for shuffle.jsp<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="ShuffleSimpleTag.java.html">Source Code for ShuffleSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="TileSimpleTag.java.html">Source Code for TileSimpleTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Shuffle Example</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Shuffle Example</h1>
+    <hr>
+    <p>Try reloading the page a few times.  Both the rows and the columns
+    are shuffled and appear different each time.</p>
+    <p>Here's how the code works.  The SimpleTag handler called 
+    &lt;my:shuffle&gt; accepts three attributes.  Each attribute is a 
+    JSP Fragment, meaning it is a fragment of JSP code that can be
+    dynamically executed by the shuffle tag handler on demand.  The 
+    shuffle tag handler executes the three fragments in a random order.
+    To shuffle both the rows and the columns, the shuffle tag is used
+    with itself as a parameter.</p>
+    <hr>
+    <blockquote>
+     <font color="#ffffff">
+      <table>
+        <my:shuffle>
+          <jsp:attribute name="fragment1">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="A"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="B"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="C"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+          <jsp:attribute name="fragment2">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="1"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="2"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="3"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+          <jsp:attribute name="fragment3">
+            <tr>
+              <my:shuffle>
+                <jsp:attribute name="fragment1">
+                  <my:tile color="#ff0000" label="!"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment2">
+                  <my:tile color="#00ff00" label="@"/>
+                </jsp:attribute>
+                <jsp:attribute name="fragment3">
+                  <my:tile color="#0000ff" label="#"/>
+                </jsp:attribute>
+              </my:shuffle>
+            </tr>
+          </jsp:attribute>
+        </my:shuffle>
+      </table>
+     </font>
+    </blockquote>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspattribute/shuffle.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Shuffle Example&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Shuffle Example&lt;/h1>
+    &lt;hr>
+    &lt;p>Try reloading the page a few times.  Both the rows and the columns
+    are shuffled and appear different each time.&lt;/p>
+    &lt;p>Here's how the code works.  The SimpleTag handler called 
+    &amp;lt;my:shuffle&amp;gt; accepts three attributes.  Each attribute is a 
+    JSP Fragment, meaning it is a fragment of JSP code that can be
+    dynamically executed by the shuffle tag handler on demand.  The 
+    shuffle tag handler executes the three fragments in a random order.
+    To shuffle both the rows and the columns, the shuffle tag is used
+    with itself as a parameter.&lt;/p>
+    &lt;hr>
+    &lt;blockquote>
+     &lt;font color="#ffffff">
+      &lt;table>
+        &lt;my:shuffle>
+          &lt;jsp:attribute name="fragment1">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="A"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="B"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="C"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+          &lt;jsp:attribute name="fragment2">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="1"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="2"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="3"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+          &lt;jsp:attribute name="fragment3">
+            &lt;tr>
+              &lt;my:shuffle>
+                &lt;jsp:attribute name="fragment1">
+                  &lt;my:tile color="#ff0000" label="!"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment2">
+                  &lt;my:tile color="#00ff00" label="@"/>
+                &lt;/jsp:attribute>
+                &lt;jsp:attribute name="fragment3">
+                  &lt;my:tile color="#0000ff" label="#"/>
+                &lt;/jsp:attribute>
+              &lt;/my:shuffle>
+            &lt;/tr>
+          &lt;/jsp:attribute>
+        &lt;/my:shuffle>
+      &lt;/table>
+     &lt;/font>
+    &lt;/blockquote>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="basic.jspx"><img src="../../images/execute.gif" align="right" border="0"></a><a
+href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="basic.jspx.html">Source Code for XHTML Basic Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"
+                 xmlns:jsp="http://java.sun.com/JSP/Page"
+                 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+		 xmlns="http://www.w3.org/1999/xhtml">
+  <jsp:directive.page contentType="text/html" />
+  <head>
+    <title>JSPX - XHTML Basic Example</title>
+  </head>
+  <body>
+    <h1>JSPX - XHTML Basic Example</h1>
+    <hr/>
+    This example illustrates how to use JSPX to produce an XHTML basic
+    document suitable for use with mobile phones, televisions, 
+    PDAs, vending machines, pagers, car navigation systems,
+    mobile game machines, digital book readers, smart watches, etc.
+    <p/>
+    JSPX lets you create dynamic documents in a pure XML syntax compatible
+    with existing XML tools.  The XML syntax in JSP 1.2 was awkward and
+    required &amp;lt;jsp:root&amp;gt; to be the root element of the document.
+    This is no longer the case in JSP 2.0.
+    <p/>
+    This particular example uses a tag file to produce the DOCTYPE and
+    namespace declarations to make the output of this page a valid XHTML
+    Basic document.
+    <p/>
+    Just to prove this is live, here's some dynamic content:
+    <jsp:useBean id="now" class="java.util.Date" />
+    <fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/>
+  </body>
+</tags:xhtmlbasic>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/basic.jspx.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html><body><pre>
+&lt;tags:xhtmlbasic xmlns:tags="urn:jsptagdir:/WEB-INF/tags"
+                 xmlns:jsp="http://java.sun.com/JSP/Page"
+                 xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
+		 xmlns="http://www.w3.org/1999/xhtml">
+  &lt;jsp:directive.page contentType="text/html" />
+  &lt;head>
+    &lt;title>JSPX - XHTML Basic Example&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSPX - XHTML Basic Example&lt;/h1>
+    &lt;hr/>
+    This example illustrates how to use JSPX to produce an XHTML basic
+    document suitable for use with mobile phones, televisions, 
+    PDAs, vending machines, pagers, car navigation systems,
+    mobile game machines, digital book readers, smart watches, etc.
+    &lt;p/>
+    JSPX lets you create dynamic documents in a pure XML syntax compatible
+    with existing XML tools.  The XML syntax in JSP 1.2 was awkward and
+    required &amp;amp;lt;jsp:root&amp;amp;gt; to be the root element of the document.
+    This is no longer the case in JSP 2.0.
+    &lt;p/>
+    This particular example uses a tag file to produce the DOCTYPE and
+    namespace declarations to make the output of this page a valid XHTML
+    Basic document.
+    &lt;p/>
+    Just to prove this is live, here's some dynamic content:
+    &lt;jsp:useBean id="now" class="java.util.Date" />
+    &lt;fmt:formatDate value="${now}" pattern="MMMM d, yyyy, H:mm:ss"/>
+  &lt;/body>
+&lt;/tags:xhtmlbasic>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/svgexample.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/svgexample.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/svgexample.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>JSP 2.0 SVG Example</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 SVG Example</h1>
+    <hr>
+    This example uses JSP 2.0's new, simplified JSPX syntax to render a
+    Scalable Vector Graphics (SVG) document.  When you view the source,
+    notice the lack of a &lt;jsp:root&gt; element!  The text to be rendered 
+    can be modified by changing the value of the name parameter.
+    <p>
+    SVG has many potential uses, such as searchable images, or images
+    customized with the name of your site's visitor (e.g. a "Susan's Store"
+    tab image).  JSPX is a natural fit for generating dynamic XML content
+    such as SVG.
+    <p>
+    To execute this example, follow these steps:
+    <ol>
+      <li>Download <a href="http://xml.apache.org/batik/index.html">Batik</a>,
+          or any other SVG viewer.</li>
+      <li>Copy the following URL:
+      <a href="http://localhost:8080/jsp-examples/jsp2/jspx/textRotate.jspx?name=JSPX">
+      http://localhost:8080/jsp-examples/jsp2/jspx/textRotate.jspx?name=JSPX</a>
+      </li>
+      <li>Paste the URL into Batik's Location field and press Enter</li>
+      <li>Customize by changing the name=JSPX parameter</li>
+    </ol>
+    <br>
+    The following is a screenshot of the resulting image, for those that
+    don't have an SVG viewer:
+    <blockquote>
+      <img src="textRotate.jpg" border="1">
+    </blockquote>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="textRotate.jspx"><img src="../../images/execute.gif" align="right" border="0"></a><a
+href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="textRotate.jspx.html">Source Code for SVG (Scalable Vector Graphics)
+Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<!-- 
+  - This example is based off the textRotate.svg example that comes
+  - with Batik.  The original example was written by Bill Haneman.
+  - This version by Mark Roth.
+  -->
+<svg xmlns="http://www.w3.org/2000/svg"
+     width="450" height="500" viewBox="0 0 450 500"
+     xmlns:c="http://java.sun.com/jsp/jstl/core"
+     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+     xmlns:jsp="http://java.sun.com/JSP/Page">
+  <jsp:directive.page contentType="image/svg+xml" />
+  <title>JSP 2.0 JSPX</title>
+  <!-- select name parameter, or default to JSPX -->
+  <c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/>
+  <g id="testContent">
+    <text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" >
+            JSP 2.0 XML Syntax (.jspx) Demo</text>
+    <text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" >
+            Try changing the name parameter!</text>
+    <g opacity="1.0" transform="translate(225, 250)" id="rotatedText">
+      <c:forEach var="i" begin="1" end="24">
+        <jsp:text>
+          <![CDATA[<g opacity="0.95" transform="scale(1.05) rotate(15)">]]>
+        </jsp:text>
+        <text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 
+              text-anchor="middle" font-size="40" font-family="Serif" 
+              id="words">${name}</text>
+      </c:forEach>
+      <c:forEach var="i" begin="1" end="24">
+        <jsp:text><![CDATA[</g>]]></jsp:text>
+      </c:forEach>
+      <text style="font-size:75;font-family:Serif;fill:white" 
+            text-anchor="middle">${name}</text>
+    </g>
+  </g>
+</svg>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/jspx/textRotate.jspx.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html><body><pre>
+&lt;!-- 
+  - This example is based off the textRotate.svg example that comes
+  - with Batik.  The original example was written by Bill Haneman.
+  - This version by Mark Roth.
+  -->
+&lt;svg xmlns="http://www.w3.org/2000/svg"
+     width="450" height="500" viewBox="0 0 450 500"
+     xmlns:c="http://java.sun.com/jsp/jstl/core"
+     xmlns:fn="http://java.sun.com/jsp/jstl/functions"
+     xmlns:jsp="http://java.sun.com/JSP/Page">
+  &lt;jsp:directive.page contentType="image/svg+xml" />
+  &lt;title>JSP 2.0 JSPX&lt;/title>
+  &lt;!-- select name parameter, or default to JSPX -->
+  &lt;c:set var="name" value='${empty fn:escapeXml(param["name"]) ? "JSPX" : fn:escapeXml(param["name"])}'/>
+  &lt;g id="testContent">
+    &lt;text class="title" x="50%" y="10%" font-size="15" text-anchor="middle" >
+            JSP 2.0 XML Syntax (.jspx) Demo&lt;/text>
+    &lt;text class="title" x="50%" y="15%" font-size="15" text-anchor="middle" >
+            Try changing the name parameter!&lt;/text>
+    &lt;g opacity="1.0" transform="translate(225, 250)" id="rotatedText">
+      &lt;c:forEach var="i" begin="1" end="24">
+        &lt;jsp:text>
+          &lt;![CDATA[&lt;g opacity="0.95" transform="scale(1.05) rotate(15)">]]>
+        &lt;/jsp:text>
+        &lt;text x="0" y="0" transform="scale(1.6, 1.6)" fill="DarkSlateBlue" 
+              text-anchor="middle" font-size="40" font-family="Serif" 
+              id="words">${name}&lt;/text>
+      &lt;/c:forEach>
+      &lt;c:forEach var="i" begin="1" end="24">
+        &lt;jsp:text>&lt;![CDATA[&lt;/g>]]>&lt;/jsp:text>
+      &lt;/c:forEach>
+      &lt;text style="font-size:75;font-family:Serif;fill:white" 
+            text-anchor="middle">${name}&lt;/text>
+    &lt;/g>
+  &lt;/g>
+&lt;/svg>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/EchoAttributesTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/EchoAttributesTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/EchoAttributesTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import javax.servlet.jsp.tagext.DynamicAttributes;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that echoes all its attributes 
+ */
+public class EchoAttributesTag 
+    extends SimpleTagSupport
+    implements DynamicAttributes
+{
+    private ArrayList keys = new ArrayList();
+    private ArrayList values = new ArrayList();
+
+    public void doTag() throws JspException, IOException {
+	JspWriter out = getJspContext().getOut();
+	for( int i = 0; i &lt; keys.size(); i++ ) {
+	    String key = (String)keys.get( i );
+	    Object value = values.get( i );
+	    out.println( "&lt;li>" + key + " = " + value + "&lt;/li>" );
+        }
+    }
+
+    public void setDynamicAttribute( String uri, String localName, 
+	Object value ) 
+	throws JspException
+    {
+	keys.add( localName );
+	values.add( value );
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+<hr>
+<center>
+This banner included with &lt;include-coda&gt;
+</center>
+<hr>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/coda.jspf.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+<html><body><pre>
+&lt;hr>
+&lt;center>
+This banner included with &amp;lt;include-coda&amp;gt;
+&lt;/center>
+&lt;hr>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="config.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="config.jsp.html">Source Code for config.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="prelude.jspf.html">Source Code for prelude.jspf<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="coda.jspf.html">Source Code for coda.jspf<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+    <h1>JSP 2.0 Examples - JSP Configuration</h1>
+    <hr>
+    <p>Using a &lt;jsp-property-group&gt; element in the web.xml 
+    deployment descriptor, this JSP page has been configured in the
+    following ways:</p>
+    <ul>
+      <li>Uses &lt;include-prelude&gt; to include the top banner.</li>
+      <li>Uses &lt;include-coda&gt; to include the bottom banner.</li>
+      <li>Uses &lt;scripting-invalid&gt; true to disable 
+	  &lt;% scripting %&gt; elements</li>
+      <li>Uses &lt;el-ignored&gt; true to disable ${EL} elements</li>
+      <li>Uses &lt;page-encoding&gt; ISO-8859-1 to set the page encoding (though this is the default anyway)</li>
+    </ul>
+    There are various other configuration options that can be used.
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/config.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+    &lt;h1>JSP 2.0 Examples - JSP Configuration&lt;/h1>
+    &lt;hr>
+    &lt;p>Using a &amp;lt;jsp-property-group&amp;gt; element in the web.xml 
+    deployment descriptor, this JSP page has been configured in the
+    following ways:&lt;/p>
+    &lt;ul>
+      &lt;li>Uses &amp;lt;include-prelude&amp;gt; to include the top banner.&lt;/li>
+      &lt;li>Uses &amp;lt;include-coda&amp;gt; to include the bottom banner.&lt;/li>
+      &lt;li>Uses &amp;lt;scripting-invalid&amp;gt; true to disable 
+	  &amp;lt;% scripting %&amp;gt; elements&lt;/li>
+      &lt;li>Uses &amp;lt;el-ignored&amp;gt; true to disable ${EL} elements&lt;/li>
+      &lt;li>Uses &amp;lt;page-encoding&amp;gt; ISO-8859-1 to set the page encoding (though this is the default anyway)&lt;/li>
+    &lt;/ul>
+    There are various other configuration options that can be used.
+
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="dynamicattrs.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="dynamicattrs.jsp.html">Source Code for dynamicattrs.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="EchoAttributesTag.java.html">Source Code for EchoAttributesTag.java<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Dynamic Attributes</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Dynamic Attributes</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that accepts a dynamic set 
+    of attributes.  The tag echoes the name and value of all attributes
+    passed to it.</p>
+    <hr>
+    <h2>Invocation 1 (six attributes)</h2>
+    <ul>
+      <my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/>
+    </ul>
+    <h2>Invocation 2 (zero attributes)</h2>
+    <ul>
+      <my:echoAttributes/>
+    </ul>
+    <h2>Invocation 3 (three attributes)</h2>
+    <ul>
+      <my:echoAttributes dogName="Scruffy" 
+	   		 catName="Fluffy" 
+			 blowfishName="Puffy"/>
+    </ul>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/dynamicattrs.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Dynamic Attributes&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Dynamic Attributes&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that accepts a dynamic set 
+    of attributes.  The tag echoes the name and value of all attributes
+    passed to it.&lt;/p>
+    &lt;hr>
+    &lt;h2>Invocation 1 (six attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes x="1" y="2" z="3" r="red" g="green" b="blue"/>
+    &lt;/ul>
+    &lt;h2>Invocation 2 (zero attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes/>
+    &lt;/ul>
+    &lt;h2>Invocation 3 (three attributes)&lt;/h2>
+    &lt;ul>
+      &lt;my:echoAttributes dogName="Scruffy" 
+	   		 catName="Fluffy" 
+			 blowfishName="Puffy"/>
+    &lt;/ul>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+<hr>
+<center>
+This banner included with &lt;include-prelude&gt;
+</center>
+<hr>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/misc/prelude.jspf.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+<html><body><pre>
+&lt;hr>
+&lt;center>
+This banner included with &amp;lt;include-prelude&amp;gt;
+&lt;/center>
+&lt;hr>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/BookBean.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/BookBean.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/BookBean.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples;
+
+public class BookBean {
+    private String title;
+    private String author;
+    private String isbn;
+    
+    public BookBean( String title, String author, String isbn ) {
+        this.title = title;
+        this.author = author;
+        this.isbn = isbn;
+    }
+
+    public String getTitle() {
+        return this.title;
+    }
+    
+    public String getAuthor() {
+        return this.author;
+    }
+    
+    public String getIsbn() {
+        return this.isbn;
+    }
+    
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/FindBookSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/FindBookSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/FindBookSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import jsp2.examples.BookBean;
+
+/**
+ * SimpleTag handler that pretends to search for a book, and stores
+ * the result in a scoped variable.
+ */
+public class FindBookSimpleTag extends SimpleTagSupport {
+    private String var;
+    
+    private static final String BOOK_TITLE = "The Lord of the Rings";
+    private static final String BOOK_AUTHOR = "J. R. R. Tolkein";
+    private static final String BOOK_ISBN = "0618002251";
+
+    public void doTag() throws JspException {
+        BookBean book = new BookBean( BOOK_TITLE, BOOK_AUTHOR, BOOK_ISBN );
+        getJspContext().setAttribute( this.var, book );
+    }
+
+    public void setVar( String var ) {
+	this.var = var;
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/Functions.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/Functions.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/Functions.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package jsp2.examples.el;
+
+import java.util.*;
+
+/**
+ * Defines the functions for the jsp2 example tag library.
+ * 
+ * &lt;p>Each function is defined as a static method.&lt;/p>
+ */
+public class Functions {
+    public static String reverse( String text ) {
+        return new StringBuffer( text ).reverse().toString();
+    }
+
+    public static int numVowels( String text ) {
+        String vowels = "aeiouAEIOU";
+	int result = 0;
+        for( int i = 0; i &lt; text.length(); i++ ) {
+	    if( vowels.indexOf( text.charAt( i ) ) != -1 ) {
+	        result++;
+	    }
+	}
+	return result;
+    }
+
+    public static String caps( String text ) {
+        return text.toUpperCase();
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/HelloWorldSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/HelloWorldSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/HelloWorldSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that prints "Hello, world!"
+ */
+public class HelloWorldSimpleTag extends SimpleTagSupport {
+    public void doTag() throws JspException, IOException {
+	getJspContext().getOut().write( "Hello, world!" );
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/RepeatSimpleTag.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/RepeatSimpleTag.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/RepeatSimpleTag.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package jsp2.examples.simpletag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.SimpleTagSupport;
+import java.util.HashMap;
+import java.io.IOException;
+
+/**
+ * SimpleTag handler that accepts a num attribute and 
+ * invokes its body 'num' times.
+ */
+public class RepeatSimpleTag extends SimpleTagSupport {
+    private int num;
+
+    public void doTag() throws JspException, IOException {
+        for (int i=0; i&lt;num; i++) {
+            getJspContext().setAttribute("count", String.valueOf( i + 1 ) );
+	    getJspBody().invoke(null);
+        }
+    }
+
+    public void setNum(int num) {
+	this.num = num;
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="book.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="book.jsp.html">Source Code for the Book Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="FindBookSimpleTag.java.html">Source Code for the FindBook SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="BookBean.java.html">Source Code for BookBean<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="Functions.java.html">Source Code for the EL Functions<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Book SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Book SimpleTag Handler</h1>
+    <hr>
+    <p>Illustrates a semi-realistic use of SimpleTag and the Expression 
+    Language.  First, a &lt;my:findBook&gt; tag is invoked to populate 
+    the page context with a BookBean.  Then, the books fields are printed 
+    in all caps.</p>
+    <br>
+    <b><u>Result:</u></b><br>
+    <my:findBook var="book"/>
+    <table border="1">
+        <thead>
+	    <td><b>Field</b></td>
+	    <td><b>Value</b></td>
+	    <td><b>Capitalized</b></td>
+	</thead>
+	<tr>
+	    <td>Title</td>
+	    <td>${book.title}</td>
+	    <td>${my:caps(book.title)}</td>
+	</tr>
+	<tr>
+	    <td>Author</td>
+	    <td>${book.author}</td>
+	    <td>${my:caps(book.author)}</td>
+	</tr>
+	<tr>
+	    <td>ISBN</td>
+	    <td>${book.isbn}</td>
+	    <td>${my:caps(book.isbn)}</td>
+	</tr>
+    </table>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/book.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="my" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Book SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Book SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>Illustrates a semi-realistic use of SimpleTag and the Expression 
+    Language.  First, a &amp;lt;my:findBook&amp;gt; tag is invoked to populate 
+    the page context with a BookBean.  Then, the books fields are printed 
+    in all caps.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>&lt;br>
+    &lt;my:findBook var="book"/>
+    &lt;table border="1">
+        &lt;thead>
+	    &lt;td>&lt;b>Field&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Value&lt;/b>&lt;/td>
+	    &lt;td>&lt;b>Capitalized&lt;/b>&lt;/td>
+	&lt;/thead>
+	&lt;tr>
+	    &lt;td>Title&lt;/td>
+	    &lt;td>${book.title}&lt;/td>
+	    &lt;td>${my:caps(book.title)}&lt;/td>
+	&lt;/tr>
+	&lt;tr>
+	    &lt;td>Author&lt;/td>
+	    &lt;td>${book.author}&lt;/td>
+	    &lt;td>${my:caps(book.author)}&lt;/td>
+	&lt;/tr>
+	&lt;tr>
+	    &lt;td>ISBN&lt;/td>
+	    &lt;td>${book.isbn}&lt;/td>
+	    &lt;td>${my:caps(book.isbn)}&lt;/td>
+	&lt;/tr>
+    &lt;/table>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="hello.jsp.html">Source Code for the Hello World Tag Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="HelloWorldSimpleTag.java.html">Source Code for the Hello World SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Hello World SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Hello World SimpleTag Handler</h1>
+    <hr>
+    <p>This tag handler simply echos "Hello, World!"  It's an example of
+    a very basic SimpleTag handler with no body.</p>
+    <br>
+    <b><u>Result:</u></b>
+    <mytag:helloWorld/>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/hello.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Hello World SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Hello World SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>This tag handler simply echos "Hello, World!"  It's an example of
+    a very basic SimpleTag handler with no body.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>
+    &lt;mytag:helloWorld/>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="repeat.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="repeat.jsp.html">Source Code for the Repeat Tag Example JSP<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="RepeatSimpleTag.java.html">Source Code for the Repeat SimpleTag Handler<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Repeat SimpleTag Handler</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Repeat SimpleTag Handler</h1>
+    <hr>
+    <p>This tag handler accepts a "num" parameter and repeats the body of the
+    tag "num" times.  It's a simple example, but the implementation of 
+    such a tag in JSP 2.0 is substantially simpler than the equivalent 
+    JSP 1.2-style classic tag handler.</p>
+    <p>The body of the tag is encapsulated in a "JSP Fragment" and passed
+    to the tag handler, which then executes it five times, inside a 
+    for loop.  The tag handler passes in the current invocation in a
+    scoped variable called count, which can be accessed using the EL.</p>
+    <br>
+    <b><u>Result:</u></b><br>
+    <mytag:repeat num="5">
+      Invocation ${count} of 5<br>
+    </mytag:repeat>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/simpletag/repeat.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="mytag" uri="/WEB-INF/jsp2/jsp2-example-taglib.tld" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Repeat SimpleTag Handler&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Repeat SimpleTag Handler&lt;/h1>
+    &lt;hr>
+    &lt;p>This tag handler accepts a "num" parameter and repeats the body of the
+    tag "num" times.  It's a simple example, but the implementation of 
+    such a tag in JSP 2.0 is substantially simpler than the equivalent 
+    JSP 1.2-style classic tag handler.&lt;/p>
+    &lt;p>The body of the tag is encapsulated in a "JSP Fragment" and passed
+    to the tag handler, which then executes it five times, inside a 
+    for loop.  The tag handler passes in the current invocation in a
+    scoped variable called count, which can be accessed using the EL.&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>&lt;br>
+    &lt;mytag:repeat num="5">
+      Invocation ${count} of 5&lt;br>
+    &lt;/mytag:repeat>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/displayProducts.tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/displayProducts.tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/displayProducts.tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+&lt;%@ attribute name="normalPrice" fragment="true" %>
+&lt;%@ attribute name="onSale" fragment="true" %>
+&lt;%@ variable name-given="name" %>
+&lt;%@ variable name-given="price" %>
+&lt;%@ variable name-given="origPrice" %>
+&lt;%@ variable name-given="salePrice" %>
+
+&lt;table border="1">
+  &lt;tr>
+    &lt;td> 
+      &lt;c:set var="name" value="Hand-held Color PDA"/>
+      &lt;c:set var="price" value="$298.86"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="4-Pack 150 Watt Light Bulbs"/>
+      &lt;c:set var="origPrice" value="$2.98"/>
+      &lt;c:set var="salePrice" value="$2.32"/>
+      &lt;jsp:invoke fragment="onSale"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Digital Cellular Phone"/>
+      &lt;c:set var="price" value="$68.74"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Baby Grand Piano"/>
+      &lt;c:set var="price" value="$10,800.00"/>
+      &lt;jsp:invoke fragment="normalPrice"/>
+    &lt;/td>
+    &lt;td> 
+      &lt;c:set var="name" value="Luxury Car w/ Leather Seats"/>
+      &lt;c:set var="origPrice" value="$23,980.00"/>
+      &lt;c:set var="salePrice" value="$21,070.00"/>
+      &lt;jsp:invoke fragment="onSale"/>
+    &lt;/td>
+  &lt;/tr>
+&lt;/table>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="hello.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="hello.jsp.html">Source Code for hello.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="helloWorld.tag.html">Source Code for helloWorld.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Hello World Using a Tag File</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Hello World Using a Tag File</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that simply echos "Hello, World!"  
+    The custom tag is generated from a tag file in the /WEB-INF/tags
+    directory.</p>
+    <p>Notice that we did not need to write a TLD for this tag.  We just
+    created /WEB-INF/tags/helloWorld.tag, imported it using the taglib
+    directive, and used it!</p>
+    <br>
+    <b><u>Result:</u></b>
+    <tags:helloWorld/>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/hello.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Hello World Using a Tag File&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Hello World Using a Tag File&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that simply echos "Hello, World!"  
+    The custom tag is generated from a tag file in the /WEB-INF/tags
+    directory.&lt;/p>
+    &lt;p>Notice that we did not need to write a TLD for this tag.  We just
+    created /WEB-INF/tags/helloWorld.tag, imported it using the taglib
+    directive, and used it!&lt;/p>
+    &lt;br>
+    &lt;b>&lt;u>Result:&lt;/u>&lt;/b>
+    &lt;tags:helloWorld/>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/helloWorld.tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/helloWorld.tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/helloWorld.tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+Hello, world!
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="panel.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="panel.jsp.html">Source Code for panel.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="panel.tag.html">Source Code for panel.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Panels using Tag Files</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Panels using Tag Files</h1>
+    <hr>
+    <p>This JSP page invokes a custom tag that draws a 
+    panel around the contents of the tag body.  Normally, such a tag 
+    implementation would require a Java class with many println() statements,
+    outputting HTML.  Instead, we can use a .tag file as a template,
+    and we don't need to write a single line of Java or even a TLD!</p>
+    <hr>
+    <table border="0">
+      <tr valign="top">
+        <td>
+          <tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">
+	    First panel.<br/>
+	  </tags:panel>
+        </td>
+        <td>
+          <tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">
+	    Second panel.<br/>
+	    Second panel.<br/>
+	    Second panel.<br/>
+	    Second panel.<br/>
+	  </tags:panel>
+        </td>
+        <td>
+          <tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">
+	    Third panel.<br/>
+            <tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">
+	      A panel in a panel.
+	    </tags:panel>
+	    Third panel.<br/>
+	  </tags:panel>
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Panels using Tag Files&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Panels using Tag Files&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a custom tag that draws a 
+    panel around the contents of the tag body.  Normally, such a tag 
+    implementation would require a Java class with many println() statements,
+    outputting HTML.  Instead, we can use a .tag file as a template,
+    and we don't need to write a single line of Java or even a TLD!&lt;/p>
+    &lt;hr>
+    &lt;table border="0">
+      &lt;tr valign="top">
+        &lt;td>
+          &lt;tags:panel color="#ff8080" bgcolor="#ffc0c0" title="Panel 1">
+	    First panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+        &lt;td>
+          &lt;tags:panel color="#80ff80" bgcolor="#c0ffc0" title="Panel 2">
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	    Second panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+        &lt;td>
+          &lt;tags:panel color="#8080ff" bgcolor="#c0c0ff" title="Panel 3">
+	    Third panel.&lt;br/>
+            &lt;tags:panel color="#ff80ff" bgcolor="#ffc0ff" title="Inner">
+	      A panel in a panel.
+	    &lt;/tags:panel>
+	    Third panel.&lt;br/>
+	  &lt;/tags:panel>
+        &lt;/td>
+      &lt;/tr>
+    &lt;/table>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/panel.tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ attribute name="color" %>
+&lt;%@ attribute name="bgcolor" %>
+&lt;%@ attribute name="title" %>
+&lt;table border="1" bgcolor="${color}">
+  &lt;tr>
+    &lt;td>&lt;b>${title}&lt;/b>&lt;/td>
+  &lt;/tr>
+  &lt;tr>
+    &lt;td bgcolor="${bgcolor}">
+      &lt;jsp:doBody/>
+    &lt;/td>
+  &lt;/tr>
+&lt;/table>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<html>
+<!--
+  Copyright (c) 1999 The Apache Software Foundation.  All rights 
+  reserved.
+-->
+<head>
+<title>View Source Code</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="products.jsp"><img src="../../images/execute.gif" align="right" border="0"></a>
+<a href="../../index.html"><img src="../../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="products.jsp.html">Source Code for products.jsp<font color="#0000FF"></a>
+  </font> </h3>
+<h3><a href="displayProducts.tag.html">Source Code for displayProducts.tag<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+<html>
+  <head>
+    <title>JSP 2.0 Examples - Display Products Tag File</title>
+  </head>
+  <body>
+    <h1>JSP 2.0 Examples - Display Products Tag File</h1>
+    <hr>
+    <p>This JSP page invokes a tag file that displays a listing of 
+    products.  The custom tag accepts two fragments that enable
+    customization of appearance.  One for when the product is on sale
+    and one for normal price.</p>
+    <p>The tag is invoked twice, using different styles</p>
+    <hr>
+    <h2>Products</h2>
+    <tags:displayProducts>
+      <jsp:attribute name="normalPrice">
+	Item: ${name}<br/>
+	Price: ${price}
+      </jsp:attribute>
+      <jsp:attribute name="onSale">
+	Item: ${name}<br/>
+	<font color="red"><strike>Was: ${origPrice}</strike></font><br/>
+	<b>Now: ${salePrice}</b>
+      </jsp:attribute>
+    </tags:displayProducts>
+    <hr>
+    <h2>Products (Same tag, alternate style)</h2>
+    <tags:displayProducts>
+      <jsp:attribute name="normalPrice">
+	<b>${name}</b> @ ${price} ea.
+      </jsp:attribute>
+      <jsp:attribute name="onSale">
+	<b>${name}</b> @ ${salePrice} ea. (was: ${origPrice})
+      </jsp:attribute>
+    </tags:displayProducts>
+  </body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/products.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
+&lt;html>
+  &lt;head>
+    &lt;title>JSP 2.0 Examples - Display Products Tag File&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>JSP 2.0 Examples - Display Products Tag File&lt;/h1>
+    &lt;hr>
+    &lt;p>This JSP page invokes a tag file that displays a listing of 
+    products.  The custom tag accepts two fragments that enable
+    customization of appearance.  One for when the product is on sale
+    and one for normal price.&lt;/p>
+    &lt;p>The tag is invoked twice, using different styles&lt;/p>
+    &lt;hr>
+    &lt;h2>Products&lt;/h2>
+    &lt;tags:displayProducts>
+      &lt;jsp:attribute name="normalPrice">
+	Item: ${name}&lt;br/>
+	Price: ${price}
+      &lt;/jsp:attribute>
+      &lt;jsp:attribute name="onSale">
+	Item: ${name}&lt;br/>
+	&lt;font color="red">&lt;strike>Was: ${origPrice}&lt;/strike>&lt;/font>&lt;br/>
+	&lt;b>Now: ${salePrice}&lt;/b>
+      &lt;/jsp:attribute>
+    &lt;/tags:displayProducts>
+    &lt;hr>
+    &lt;h2>Products (Same tag, alternate style)&lt;/h2>
+    &lt;tags:displayProducts>
+      &lt;jsp:attribute name="normalPrice">
+	&lt;b>${name}&lt;/b> @ ${price} ea.
+      &lt;/jsp:attribute>
+      &lt;jsp:attribute name="onSale">
+	&lt;b>${name}&lt;/b> @ ${salePrice} ea. (was: ${origPrice})
+      &lt;/jsp:attribute>
+    &lt;/tags:displayProducts>
+  &lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/xhtmlbasic.tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/xhtmlbasic.tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsp2/tagfiles/xhtmlbasic.tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
+"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
+&lt;html xmlns="http://www.w3.org/1999/xhtml">
+&lt;jsp:doBody/>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="white">
+
+<h1>
+I have been invoked by
+<% out.print (request.getAttribute("servletName").toString()); %>
+Servlet.
+</h1>
+
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body bgcolor="white">
+
+<!-- Forward to a servlet -->
+<jsp:forward page="/servletToJsp" />
+
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jsptoservlet.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body bgcolor="white">
+
+&lt;!-- Forward to a servlet -->
+&lt;jsp:forward page="/servletToJsp" />
+
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jts.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jts.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/jts.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="jsptoservlet.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="jsptoservlet.jsp.html">Source Code for JSP calling servlet <font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="servletToJsp.java.html">Source Code for Servlet calling JSP 
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/servletToJsp.java.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/servletToJsp.java.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/jsptoserv/servletToJsp.java.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<html><body><pre>
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+public class servletToJsp extends HttpServlet {
+
+    public void doGet (HttpServletRequest request,
+		       HttpServletResponse response) {
+
+	try {
+	    // Set the attribute and Forward to hello.jsp
+	    request.setAttribute ("servletName", "servletToJsp");
+	    getServletConfig().getServletContext().getRequestDispatcher("/jsptoserv/hello.jsp").forward(request, response);
+	} catch (Exception ex) {
+	    ex.printStackTrace ();
+	}
+    }
+}
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&A Software
+  http://www.servlets.com
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="numguess.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="numguess.jsp.html">Source Code for Numguess Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&A Software
+  http://www.servlets.com
+-->
+
+<%@ page import = "num.NumberGuessBean" %>
+
+<jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
+<jsp:setProperty name="numguess" property="*"/>
+
+<html>
+<head><title>Number Guess</title></head>
+<body bgcolor="white">
+<font size=4>
+
+<% if (numguess.getSuccess()) { %>
+
+  Congratulations!  You got it.
+  And after just <%= numguess.getNumGuesses() %> tries.<p>
+
+  <% numguess.reset(); %>
+
+  Care to <a href="numguess.jsp">try again</a>?
+
+<% } else if (numguess.getNumGuesses() == 0) { %>
+
+  Welcome to the Number Guess game.<p>
+
+  I'm thinking of a number between 1 and 100.<p>
+
+  <form method=get>
+  What's your guess? <input type=text name=guess>
+  <input type=submit value="Submit">
+  </form>
+
+<% } else { %>
+
+  Good guess, but nope.  Try <b><%= numguess.getHint() %></b>.
+
+  You have made <%= numguess.getNumGuesses() %> guesses.<p>
+
+  I'm thinking of a number between 1 and 100.<p>
+
+  <form method=get>
+  What's your guess? <input type=text name=guess>
+  <input type=submit value="Submit">
+  </form>
+
+<% } %>
+
+</font>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/num/numguess.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+  Number Guess Game
+  Written by Jason Hunter, CTO, K&amp;A Software
+  http://www.servlets.com
+-->
+
+&lt;%@ page import = "num.NumberGuessBean" %>
+
+&lt;jsp:useBean id="numguess" class="num.NumberGuessBean" scope="session"/>
+&lt;jsp:setProperty name="numguess" property="*"/>
+
+&lt;html>
+&lt;head>&lt;title>Number Guess&lt;/title>&lt;/head>
+&lt;body bgcolor="white">
+&lt;font size=4>
+
+&lt;% if (numguess.getSuccess()) { %>
+
+  Congratulations!  You got it.
+  And after just &lt;%= numguess.getNumGuesses() %> tries.&lt;p>
+
+  &lt;% numguess.reset(); %>
+
+  Care to &lt;a href="numguess.jsp">try again&lt;/a>?
+
+&lt;% } else if (numguess.getNumGuesses() == 0) { %>
+
+  Welcome to the Number Guess game.&lt;p>
+
+  I'm thinking of a number between 1 and 100.&lt;p>
+
+  &lt;form method=get>
+  What's your guess? &lt;input type=text name=guess>
+  &lt;input type=submit value="Submit">
+  &lt;/form>
+
+&lt;% } else { %>
+
+  Good guess, but nope.  Try &lt;b>&lt;%= numguess.getHint() %>&lt;/b>.
+
+  You have made &lt;%= numguess.getNumGuesses() %> guesses.&lt;p>
+
+  I'm thinking of a number between 1 and 100.&lt;p>
+
+  &lt;form method=get>
+  What's your guess? &lt;input type=text name=guess>
+  &lt;input type=submit value="Submit">
+  &lt;/form>
+
+&lt;% } %>
+
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/applet/Clock2.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import java.util.*;
+import java.awt.*;
+import java.applet.*;
+import java.text.*;
+
+/**
+ * Time!
+ *
+ * @author Rachel Gollub
+ */
+
+public class Clock2 extends Applet implements Runnable {
+    Thread timer;                // The thread that displays clock
+    int lastxs, lastys, lastxm,
+        lastym, lastxh, lastyh;  // Dimensions used to draw hands 
+    SimpleDateFormat formatter;  // Formats the date displayed
+    String lastdate;             // String to hold date displayed
+    Font clockFaceFont;          // Font for number display on clock
+    Date currentDate;            // Used to get date to display
+    Color handColor;             // Color of main hands and dial
+    Color numberColor;           // Color of second hand and numbers
+
+    public void init() {
+        int x,y;
+        lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;
+        formatter = new SimpleDateFormat ("EEE MMM dd hh:mm:ss yyyy", Locale.getDefault());
+        currentDate = new Date();
+        lastdate = formatter.format(currentDate);
+        clockFaceFont = new Font("Serif", Font.PLAIN, 14);
+        handColor = Color.blue;
+        numberColor = Color.darkGray;
+
+        try {
+            setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));
+        } catch (Exception E) { }
+        try {
+            handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));
+        } catch (Exception E) { }
+        try {
+            numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));
+        } catch (Exception E) { }
+        resize(300,300);              // Set clock window size
+    }
+
+    // Plotpoints allows calculation to only cover 45 degrees of the circle,
+    // and then mirror
+    public void plotpoints(int x0, int y0, int x, int y, Graphics g) {
+        g.drawLine(x0+x,y0+y,x0+x,y0+y);
+        g.drawLine(x0+y,y0+x,x0+y,y0+x);
+        g.drawLine(x0+y,y0-x,x0+y,y0-x);
+        g.drawLine(x0+x,y0-y,x0+x,y0-y);
+        g.drawLine(x0-x,y0-y,x0-x,y0-y);
+        g.drawLine(x0-y,y0-x,x0-y,y0-x);
+        g.drawLine(x0-y,y0+x,x0-y,y0+x);
+        g.drawLine(x0-x,y0+y,x0-x,y0+y);
+    }
+
+    // Circle is just Bresenham's algorithm for a scan converted circle
+    public void circle(int x0, int y0, int r, Graphics g) {
+        int x,y;
+        float d;
+        x=0;
+        y=r;
+        d=5/4-r;
+        plotpoints(x0,y0,x,y,g);
+
+        while (y>x){
+            if (d<0) {
+                d=d+2*x+3;
+                x++;
+            }
+            else {
+                d=d+2*(x-y)+5;
+                x++;
+                y--;
+            }
+            plotpoints(x0,y0,x,y,g);
+        }
+    }
+
+    // Paint is the main part of the program
+    public void paint(Graphics g) {
+        int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter;
+        String today;
+
+        currentDate = new Date();
+        SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault());
+        try {
+            s = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            s = 0;
+        }
+        formatter.applyPattern("m");
+        try {
+            m = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            m = 10;
+        }    
+        formatter.applyPattern("h");
+        try {
+            h = Integer.parseInt(formatter.format(currentDate));
+        } catch (NumberFormatException n) {
+            h = 10;
+        }
+        formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");
+        today = formatter.format(currentDate);
+        xcenter=80;
+        ycenter=55;
+    
+    // a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)
+    // x = r(cos a) + xcenter, y = r(sin a) + ycenter
+    
+        xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);
+        ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);
+        xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);
+        ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);
+        xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter);
+        yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter);
+    
+    // Draw the circle and numbers
+    
+        g.setFont(clockFaceFont);
+        g.setColor(handColor);
+        circle(xcenter,ycenter,50,g);
+        g.setColor(numberColor);
+        g.drawString("9",xcenter-45,ycenter+3); 
+        g.drawString("3",xcenter+40,ycenter+3);
+        g.drawString("12",xcenter-5,ycenter-37);
+        g.drawString("6",xcenter-3,ycenter+45);
+
+    // Erase if necessary, and redraw
+    
+        g.setColor(getBackground());
+        if (xs != lastxs || ys != lastys) {
+            g.drawLine(xcenter, ycenter, lastxs, lastys);
+            g.drawString(lastdate, 5, 125);
+        }
+        if (xm != lastxm || ym != lastym) {
+            g.drawLine(xcenter, ycenter-1, lastxm, lastym);
+            g.drawLine(xcenter-1, ycenter, lastxm, lastym); }
+        if (xh != lastxh || yh != lastyh) {
+            g.drawLine(xcenter, ycenter-1, lastxh, lastyh);
+            g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }
+        g.setColor(numberColor);
+        g.drawString("", 5, 125);
+        g.drawString(today, 5, 125);    
+        g.drawLine(xcenter, ycenter, xs, ys);
+        g.setColor(handColor);
+        g.drawLine(xcenter, ycenter-1, xm, ym);
+        g.drawLine(xcenter-1, ycenter, xm, ym);
+        g.drawLine(xcenter, ycenter-1, xh, yh);
+        g.drawLine(xcenter-1, ycenter, xh, yh);
+        lastxs=xs; lastys=ys;
+        lastxm=xm; lastym=ym;
+        lastxh=xh; lastyh=yh;
+        lastdate = today;
+        currentDate=null;
+    }
+
+    public void start() {
+        timer = new Thread(this);
+        timer.start();
+    }
+
+    public void stop() {
+        timer = null;
+    }
+
+    public void run() {
+        Thread me = Thread.currentThread();
+        while (timer == me) {
+            try {
+                Thread.currentThread().sleep(100);
+            } catch (InterruptedException e) {
+            }
+            repaint();
+        }
+    }
+
+    public void update(Graphics g) {
+        paint(g);
+    }
+
+    public String getAppletInfo() {
+        return "Title: A Clock \nAuthor: Rachel Gollub, 1995 \nAn analog clock.";
+    }
+  
+    public String[][] getParameterInfo() {
+        String[][] info = {
+            {"bgcolor", "hexadecimal RGB number", "The background color. Default is the color of your browser."},
+            {"fgcolor1", "hexadecimal RGB number", "The color of the hands and dial. Default is blue."},
+            {"fgcolor2", "hexadecimal RGB number", "The color of the seconds hand and numbers. Default is dark gray."}
+        };
+        return info;
+    }
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="plugin.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="plugin.jsp.html">Source Code for Plugin Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<title> Plugin example </title>
+<body bgcolor="white">
+<h3> Current time is : </h3>
+<jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" >
+    <jsp:fallback>
+        Plugin tag OBJECT or EMBED not supported by browser.
+    </jsp:fallback>
+</jsp:plugin>
+<p>
+<h4>
+<font color=red> 
+The above applet is loaded using the Java Plugin from a jsp page using the
+plugin tag.
+</font>
+</h4>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/plugin/plugin.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;title> Plugin example &lt;/title>
+&lt;body bgcolor="white">
+&lt;h3> Current time is : &lt;/h3>
+&lt;jsp:plugin type="applet" code="Clock2.class" codebase="applet" jreversion="1.2" width="160" height="150" >
+    &lt;jsp:fallback>
+        Plugin tag OBJECT or EMBED not supported by browser.
+    &lt;/jsp:fallback>
+&lt;/jsp:plugin>
+&lt;p>
+&lt;h4>
+&lt;font color=red> 
+The above applet is loaded using the Java Plugin from a jsp page using the
+plugin tag.
+&lt;/font>
+&lt;/h4>
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/error.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Error Page For Examples</title>
+</head>
+<body bgcolor="white">
+Invalid username and/or password, please try
+<a href='<%= response.encodeURL("login.jsp") %>'>again</a>.
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/index.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%
+  if (request.getParameter("logoff") != null) {
+    session.invalidate();
+    response.sendRedirect("index.jsp");
+    return;
+  }
+%>
+<html>
+<head>
+<title>Protected Page for Examples</title>
+</head>
+<body bgcolor="white">
+
+You are logged in as remote user <b><%= request.getRemoteUser() %></b>
+in session <b><%= session.getId() %></b><br><br>
+
+<%
+  if (request.getUserPrincipal() != null) {
+%>
+    Your user principal name is
+    <b><%= request.getUserPrincipal().getName() %></b><br><br>
+<%
+  } else {
+%>
+    No user principal could be identified.<br><br>
+<%
+  }
+%>
+
+<%
+  String role = request.getParameter("role");
+  if (role == null)
+    role = "";
+  if (role.length() > 0) {
+    if (request.isUserInRole(role)) {
+%>
+      You have been granted role
+      <b><%= util.HTMLFilter.filter(role) %></b><br><br>
+<%
+    } else {
+%>
+      You have <i>not</i> been granted role
+      <b><%= util.HTMLFilter.filter(role) %></b><br><br>
+<%
+    }
+  }
+%>
+
+To check whether your username has been granted a particular role,
+enter it here:
+<form method="GET" action='<%= response.encodeURL("index.jsp") %>'>
+<input type="text" name="role" value="<%= util.HTMLFilter.filter(role) %>">
+</form>
+<br><br>
+
+If you have configured this app for form-based authentication, you can log
+off by clicking
+<a href='<%= response.encodeURL("index.jsp?logoff=true") %>'>here</a>.
+This should cause you to be returned to the logon page after the redirect
+that is performed.
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/login.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/login.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/security/protected/login.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Login Page for Examples</title>
+<body bgcolor="white">
+<form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
+  <table border="0" cellspacing="5">
+    <tr>
+      <th align="right">Username:</th>
+      <td align="left"><input type="text" name="j_username"></td>
+    </tr>
+    <tr>
+      <th align="right">Password:</th>
+      <td align="left"><input type="password" name="j_password"></td>
+    </tr>
+    <tr>
+      <td align="right"><input type="submit" value="Log In"></td>
+      <td align="left"><input type="reset"></td>
+    </tr>
+  </table>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/DummyCart.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/DummyCart.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/DummyCart.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<HTML>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<HEAD>
+<title>
+sessions.DummyCart Bean Properties
+</title>
+<BODY BGCOLOR="white">
+<H2>
+sessions.DummyCart Bean Properties
+</H2>
+<HR>
+<DL>
+<DT>public class <B>DummyCart</B><DT>extends Object</DL>
+
+<P>
+<HR>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
+<TR BGCOLOR="#EEEEFF">
+<TD COLSPAN=3><FONT SIZE="+2">
+<B>Properties Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white">
+<td align="right" valign="top" width="1%">
+<FONT SIZE="-1">
+String
+</FONT></TD>
+<TD><B>DummyCart:items</B>
+<BR>
+       </TD>
+<td width="1%">
+<FONT SIZE="-1">
+Multi
+</FONT></TD>
+</TABLE>
+<HR>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+    <title>carts</title>
+</head>
+
+ <body bgcolor="white">
+<font size = 5 color="#CC0000">
+
+<form type=POST action=carts.jsp>
+<BR>
+Please enter item to add or remove:
+<br>
+Add Item:
+
+<SELECT NAME="item">
+<OPTION>Beavis & Butt-head Video collection
+<OPTION>X-files movie
+<OPTION>Twin peaks tapes
+<OPTION>NIN CD
+<OPTION>JSP Book
+<OPTION>Concert tickets
+<OPTION>Love life
+<OPTION>Switch blade
+<OPTION>Rex, Rugs & Rock n' Roll
+</SELECT>
+
+
+<br> <br>
+<INPUT TYPE=submit name="submit" value="add">
+<INPUT TYPE=submit name="submit" value="remove">
+
+</form>
+       
+</FONT>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<jsp:useBean id="cart" scope="session" class="sessions.DummyCart" />
+
+<jsp:setProperty name="cart" property="*" />
+<%
+	cart.processRequest(request);
+%>
+
+
+<FONT size = 5 COLOR="#CC0000">
+<br> You have the following items in your cart:
+<ol>
+<% 
+	String[] items = cart.getItems();
+	for (int i=0; i<items.length; i++) {
+%>
+<li> <% out.print(util.HTMLFilter.filter(items[i])); %> 
+<%
+	}
+%>
+</ol>
+
+</FONT>
+
+<hr>
+<%@ include file ="/sessions/carts.html" %>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/carts.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;jsp:useBean id="cart" scope="session" class="sessions.DummyCart" />
+
+&lt;jsp:setProperty name="cart" property="*" />
+&lt;%
+	cart.processRequest(request);
+%>
+
+
+&lt;FONT size = 5 COLOR="#CC0000">
+&lt;br> You have the following items in your cart:
+&lt;ol>
+&lt;% 
+	String[] items = cart.getItems();
+	for (int i=0; i&lt;items.length; i++) {
+%>
+&lt;li> &lt;% out.print(util.HTMLFilter.filter(items[i])); %> 
+&lt;%
+	}
+%>
+&lt;/ol>
+
+&lt;/FONT>
+
+&lt;hr>
+&lt;%@ include file ="/sessions/carts.html" %>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/crt.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/crt.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/sessions/crt.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="carts.html"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="carts.jsp.html">Source Code for Cart Example<font color="#0000FF"></a>
+  </font> </h3>
+
+<h3><a href="DummyCart.html">Property Sheet for DummyCart
+<font color="#0000FF"></a> </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="foo.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="foo.jsp.html">Source Code for the Simple Tag Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<body>
+<%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib" prefix="eg"%>
+
+Radio stations that rock:
+
+<ul>
+<eg:foo att1="98.5" att2="92.3" att3="107.7">
+<li><%= member %></li>
+</eg:foo>
+</ul>
+
+<eg:log>
+Did you see me on the stderr window?
+</eg:log>
+
+<eg:log toBrowser="true">
+Did you see me on the browser window as well?
+</eg:log>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/simpletag/foo.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;body>
+&lt;%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib" prefix="eg"%>
+
+Radio stations that rock:
+
+&lt;ul>
+&lt;eg:foo att1="98.5" att2="92.3" att3="107.7">
+&lt;li>&lt;%= member %>&lt;/li>
+&lt;/eg:foo>
+&lt;/ul>
+
+&lt;eg:log>
+Did you see me on the stderr window?
+&lt;/eg:log>
+
+&lt;eg:log toBrowser="true">
+Did you see me on the browser window as well?
+&lt;/eg:log>
+
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="snoop.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="snoop.jsp.html">Source Code for Request Parameters Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<body bgcolor="white">
+<h1> Request Information </h1>
+<font size="4">
+JSP Request Method: <% out.print(util.HTMLFilter.filter(request.getMethod())); %>
+<br>
+Request URI: <%= request.getRequestURI() %>
+<br>
+Request Protocol: <%= request.getProtocol() %>
+<br>
+Servlet path: <%= request.getServletPath() %>
+<br>
+Path info: <% out.print(util.HTMLFilter.filter(request.getPathInfo())); %>
+<br>
+Query string: <% out.print(util.HTMLFilter.filter(request.getQueryString())); %>
+<br>
+Content length: <%= request.getContentLength() %>
+<br>
+Content type: <% out.print(util.HTMLFilter.filter(request.getContentType())); %>
+<br>
+Server name: <%= request.getServerName() %>
+<br>
+Server port: <%= request.getServerPort() %>
+<br>
+Remote user: <%= request.getRemoteUser() %>
+<br>
+Remote address: <%= request.getRemoteAddr() %>
+<br>
+Remote host: <%= request.getRemoteHost() %>
+<br>
+Authorization scheme: <%= request.getAuthType() %> 
+<br>
+Locale: <%= request.getLocale() %>
+<hr>
+The browser you are using is <% out.print(util.HTMLFilter.filter(request.getHeader("User-Agent"))); %>
+<hr>
+</font>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/snp/snoop.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<html><body><pre>
+&lt;html>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+&lt;body bgcolor="white">
+&lt;h1> Request Information &lt;/h1>
+&lt;font size="4">
+JSP Request Method: &lt;% out.print(util.HTMLFilter.filter(request.getMethod())); %>
+&lt;br>
+Request URI: &lt;%= request.getRequestURI() %>
+&lt;br>
+Request Protocol: &lt;%= request.getProtocol() %>
+&lt;br>
+Servlet path: &lt;%= request.getServletPath() %>
+&lt;br>
+Path info: &lt;% out.print(util.HTMLFilter.filter(request.getPathInfo())); %>
+&lt;br>
+Query string: &lt;% out.print(util.HTMLFilter.filter(request.getQueryString())); %>
+&lt;br>
+Content length: &lt;%= request.getContentLength() %>
+&lt;br>
+Content type: &lt;% out.print(util.HTMLFilter.filter(request.getContentType())); %>
+&lt;br>
+Server name: &lt;%= request.getServerName() %>
+&lt;br>
+Server port: &lt;%= request.getServerPort() %>
+&lt;br>
+Remote user: &lt;%= request.getRemoteUser() %>
+&lt;br>
+Remote address: &lt;%= request.getRemoteAddr() %>
+&lt;br>
+Remote host: &lt;%= request.getRemoteHost() %>
+&lt;br>
+Authorization scheme: &lt;%= request.getAuthType() %> 
+&lt;br>
+Locale: &lt;%= request.getLocale() %>
+&lt;hr>
+The browser you are using is &lt;% out.print(util.HTMLFilter.filter(request.getHeader("User-Agent"))); %>
+&lt;hr>
+&lt;/font>
+&lt;/body>
+&lt;/html>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/source.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/source.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/source.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<%@ taglib uri="http://jakarta.apache.org/tomcat/examples-taglib"
+        prefix="eg" %>
+
+<eg:ShowSource jspFile="<%= request.getQueryString() %>"/>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="choose.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="choose.jsp.html">Source Code for choose.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Examples - choose</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:choose></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></
+a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Writing Plugins<font color="#000
+0
+FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    <c:forEach var="index" begin="0" end="4">
+      # ${index}: 
+      <c:choose>
+	<c:when test="${index == 1}">
+          One!</br>
+	</c:when>
+	<c:when test="${index == 4}">
+          Four!</br>
+	</c:when>
+	<c:when test="${index == 3}">
+          Three!</br>
+	</c:when>
+	<c:otherwise>
+          Huh?</br>
+	</c:otherwise>
+      </c:choose>
+    </c:forEach>
+  </body>
+</html> 

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/choose.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Examples - choose&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:choose>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/
+a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Writing Plugins&lt;font color="#000
+0
+FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    &lt;c:forEach var="index" begin="0" end="4">
+      # ${index}: 
+      &lt;c:choose>
+	&lt;c:when test="${index == 1}">
+          One!&lt;/br>
+	&lt;/c:when>
+	&lt;c:when test="${index == 4}">
+          Four!&lt;/br>
+	&lt;/c:when>
+	&lt;c:when test="${index == 3}">
+          Three!&lt;/br>
+	&lt;/c:when>
+	&lt;c:otherwise>
+          Huh?&lt;/br>
+	&lt;/c:otherwise>
+      &lt;/c:choose>
+    &lt;/c:forEach>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="foreach.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="foreach.jsp.html">Source Code for foreach.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Examples: forEach</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:forEach></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></
+a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Writing Plugins<font color="#0000
+FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+    <%@ page import="java.util.Vector" %>
+
+    <h3>Iterating over a range</h3>
+    <c:forEach var="item" begin="1" end="10">
+        ${item}
+    </c:forEach>
+
+    <% Vector v = new Vector();
+	v.add("One"); v.add("Two"); v.add("Three"); v.add("Four");
+
+	pageContext.setAttribute("vector", v);
+    %>
+
+    <h3>Iterating over a Vector</h3>
+
+    <c:forEach items="${vector}" var="item" >
+	${item}
+    </c:forEach>
+  </body>
+</html> 

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/foreach.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Plugin Examples: forEach&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:forEach>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/
+a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Writing Plugins&lt;font color="#0000
+FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+    &lt;%@ page import="java.util.Vector" %>
+
+    &lt;h3>Iterating over a range&lt;/h3>
+    &lt;c:forEach var="item" begin="1" end="10">
+        ${item}
+    &lt;/c:forEach>
+
+    &lt;% Vector v = new Vector();
+	v.add("One"); v.add("Two"); v.add("Three"); v.add("Four");
+
+	pageContext.setAttribute("vector", v);
+    %>
+
+    &lt;h3>Iterating over a Vector&lt;/h3>
+
+    &lt;c:forEach items="${vector}" var="item" >
+	${item}
+    &lt;/c:forEach>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Implementation</title>
+    <h2>How to write tag plugins</h2>
+    <p>
+      To write a plugin, you'll need to download the source for Tomcat 5.
+      There are two steps:
+    <ol>
+      <li>
+        Implement the plugin class.<p/>
+        This class, which implements 
+        <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt>
+        instructs Jasper what Java codes to generate in place of the tag
+        handler calls.
+        See Javadoc for <tt>org.apache.jasper.compiler.tagplugin.TagPlugin</tt>
+        for details.
+      </li>
+
+      <li>
+        Create the plugin descriptor file <tt> WEB-INF/tagPlugins.xml</tt><p/>
+        This file
+        specifies the plugin classes and their corresponding tag handler
+        classes.
+      </li>
+    </ol>
+  </head>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>View Source Code</title>
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF">
+  <a href="if.jsp">
+    <img src="../images/execute.gif" align="right" border="0"></a>
+  <a href="../index.html">
+    <img src="../images/return.gif" width="24" height="24" align="right" border="0">
+  </a></font>
+</p>
+
+<h3>
+  <a href="if.jsp.html">Source Code for if.jsp<font color="#0000FF"/></a>
+</h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Examples: if</title>
+  </head>
+  <body>
+    <h1>Tag Plugin Examples - &lt;c:if></h1>
+
+    <hr>
+    </br>
+    <a href="notes.html">Plugin Introductory Notes<font <font color="#0000FF"></a>
+    <br/>
+    <a href="howto.html">Brief Instructions for Wrieting Plugins<font color="#0000FF"></a>
+    <br/> <br/>
+    <hr>
+
+    <font color="#000000"/>
+    </br>
+    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    <h3>Set the test result to a variable</h3>
+    <c:if test="${1==1}" var="theTruth" scope="session"/>
+    The result of testing for (1==1) is: ${theTruth}
+
+    <h3>Conditionally execute the body</h3>
+    <c:if test="${2>0}">
+	It's true that (2>0)!
+    </c:if>
+  </body>
+</html> 

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/if.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><body><pre>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;html>
+  &lt;head>
+    &lt;title>Tag Plugin Examples: if&lt;/title>
+  &lt;/head>
+  &lt;body>
+    &lt;h1>Tag Plugin Examples - &amp;lt;c:if>&lt;/h1>
+
+    &lt;hr>
+    &lt;/br>
+    &lt;a href="notes.html">Plugin Introductory Notes&lt;font &lt;font color="#0000FF">&lt;/a>
+    &lt;br/>
+    &lt;a href="howto.html">Brief Instructions for Wrieting Plugins&lt;font color="#0000FF">&lt;/a>
+    &lt;br/> &lt;br/>
+    &lt;hr>
+
+    &lt;font color="#000000"/>
+    &lt;/br>
+    &lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
+
+    &lt;h3>Set the test result to a variable&lt;/h3>
+    &lt;c:if test="${1==1}" var="theTruth" scope="session"/>
+    The result of testing for (1==1) is: ${theTruth}
+
+    &lt;h3>Conditionally execute the body&lt;/h3>
+    &lt;c:if test="${2>0}">
+	It's true that (2>0)!
+    &lt;/c:if>
+  &lt;/body>
+&lt;/html> 
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/notes.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/notes.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/tagplugin/notes.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+  <head>
+    <title>Tag Plugin Introduction</title>
+    <h2>Tag Plugins: Introductory Notes</h2>
+    <p>
+      Tomcat 5 provides a framework for implementing tag plugins.  The
+      plugins instruct Jasper, at translation time, to replace tag handler
+      calls with Java scriptlets.
+      The framework allows tag library authors to implement plugins for
+      their tags.
+    </p>
+    <p>
+      Tomcat 5 is released with plugins for several JSTL tags.  Note
+      that these plugins work with JSTL 1.1 as well as JSTL 1.0, though
+      the examples uses JSTL 1.1 and JSP 2.0.  
+      These plugins are not complete (for instance, some item types not
+      handled in &lt;c:if>).
+      They do serve as examples to show plugins in action (just
+      examine the generated Java files), and how they can be implemented.
+    </p>
+  </head>
+</html>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="xml.jsp"><img src="../images/execute.gif" align="right" border="0"></a><a href="../index.html"><img src="../images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+
+<h3><a href="xml.jsp.html">Source Code for XML syntax Example<font color="#0000FF"></a>
+  </font> </h3>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
+  version="1.2">
+<jsp:directive.page contentType="text/html"/>
+<jsp:directive.page import="java.util.Date, java.util.Locale"/>
+<jsp:directive.page import="java.text.*"/>
+
+<jsp:declaration>
+  String getDateTimeStr(Locale l) {
+    DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l);
+    return df.format(new Date());
+  }
+</jsp:declaration>
+
+<html>
+<head>
+  <title>Example JSP in XML format</title>
+</head>
+
+<body>
+This is the output of a simple JSP using XML format. 
+<br />
+
+<div>Use a jsp:scriptlet to loop from 1 to 10: </div>
+<jsp:scriptlet>
+// Note we need to declare CDATA because we don't escape the less than symbol
+<![CDATA[
+  for (int i = 1; i<=10; i++) {
+    out.println(i);
+    if (i < 10) {
+      out.println(", ");
+    }
+  }
+]]>
+</jsp:scriptlet>
+
+<!-- Because I omit br's end tag, declare it as CDATA -->
+<![CDATA[
+  <br><br>
+]]>
+
+<div align="left">
+  Use a jsp:expression to write the date and time in the browser's locale: 
+  <jsp:expression>getDateTimeStr(request.getLocale())</jsp:expression>
+</div>
+
+
+<jsp:text>
+  &lt;p&gt;This sentence is enclosed in a jsp:text element.&lt;/p&gt;
+</jsp:text>
+
+</body>
+</html>
+</jsp:root>

Added: cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/jsp-examples/xml/xml.jsp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+<html><body><pre>
+&lt;?xml version="1.0"?>
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+&lt;jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
+  version="1.2">
+&lt;jsp:directive.page contentType="text/html"/>
+&lt;jsp:directive.page import="java.util.Date, java.util.Locale"/>
+&lt;jsp:directive.page import="java.text.*"/>
+
+&lt;jsp:declaration>
+  String getDateTimeStr(Locale l) {
+    DateFormat df = SimpleDateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, l);
+    return df.format(new Date());
+  }
+&lt;/jsp:declaration>
+
+&lt;html>
+&lt;head>
+  &lt;title>Example JSP in XML format&lt;/title>
+&lt;/head>
+
+&lt;body>
+This is the output of a simple JSP using XML format. 
+&lt;br />
+
+&lt;div>Use a jsp:scriptlet to loop from 1 to 10: &lt;/div>
+&lt;jsp:scriptlet>
+// Note we need to declare CDATA because we don't escape the less than symbol
+&lt;![CDATA[
+  for (int i = 1; i&lt;=10; i++) {
+    out.println(i);
+    if (i &lt; 10) {
+      out.println(", ");
+    }
+  }
+]]>
+&lt;/jsp:scriptlet>
+
+&lt;!-- Because I omit br's end tag, declare it as CDATA -->
+&lt;![CDATA[
+  &lt;br>&lt;br>
+]]>
+
+&lt;div align="left">
+  Use a jsp:expression to write the date and time in the browser's locale: 
+  &lt;jsp:expression>getDateTimeStr(request.getLocale())&lt;/jsp:expression>
+&lt;/div>
+
+
+&lt;jsp:text>
+  &amp;lt;p&amp;gt;This sentence is enclosed in a jsp:text element.&amp;lt;/p&amp;gt;
+&lt;/jsp:text>
+
+&lt;/body>
+&lt;/html>
+&lt;/jsp:root>
+</pre></body></html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/META-INF/MANIFEST.MF
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/sample/META-INF/MANIFEST.MF
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/mypackage/Hello.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/classes/mypackage/Hello.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage/Hello.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage/Hello.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/src/mypackage/Hello.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 1999,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package mypackage;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Enumeration;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Simple servlet to validate that the Hello, World example can
+ * execute servlets.  In the web application deployment descriptor,
+ * this servlet must be mapped to correspond to the link in the
+ * "index.html" file.
+ *
+ * @author Craig R. McClanahan <Craig.McClanahan at eng.sun.com>
+ */
+
+public final class Hello extends HttpServlet {
+
+
+    /**
+     * Respond to a GET request for the content produced by
+     * this servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param response The servlet response we are producing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+      throws IOException, ServletException {
+
+	response.setContentType("text/html");
+	PrintWriter writer = response.getWriter();
+
+	writer.println("<html>");
+	writer.println("<head>");
+	writer.println("<title>Sample Application Servlet Page</title>");
+	writer.println("</head>");
+	writer.println("<body bgcolor=white>");
+
+	writer.println("<table border=\"0\">");
+	writer.println("<tr>");
+	writer.println("<td>");
+	writer.println("<img src=\"images/tomcat.gif\">");
+	writer.println("</td>");
+	writer.println("<td>");
+	writer.println("<h1>Sample Application Servlet</h1>");
+	writer.println("This is the output of a servlet that is part of");
+	writer.println("the Hello, World application.  It displays the");
+	writer.println("request headers from the request we are currently");
+	writer.println("processing.");
+	writer.println("</td>");
+	writer.println("</tr>");
+	writer.println("</table>");
+
+	writer.println("<table border=\"0\" width=\"100%\">");
+	Enumeration names = request.getHeaderNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.println("<tr>");
+	    writer.println("  <th align=\"right\">" + name + ":</th>");
+	    writer.println("  <td>" + request.getHeader(name) + "</td>");
+	    writer.println("</tr>");
+	}
+	writer.println("</table>");
+
+	writer.println("</body>");
+	writer.println("</html>");
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>Hello, World Application</display-name>
+    <description>
+	This is a simple web application with a source code organization
+	based on the recommendations of the Application Developer's Guide.
+    </description>
+
+    <servlet>
+        <servlet-name>HelloServlet</servlet-name>
+        <servlet-class>mypackage.Hello</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>HelloServlet</servlet-name>
+        <url-pattern>/hello</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<title>Sample Application JSP Page</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td align=center>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample Application JSP Page</h1>
+This is the output of a JSP page that is part of the Hello, World
+application.  It displays several useful values from the request
+we are currently processing.
+</td>
+</tr>
+</table>
+
+<table border="0" border="100%">
+<tr>
+  <th align="right">Context Path:</th>
+  <td align="left"><%= request.getContextPath() %></td>
+</tr>
+<tr>
+  <th align="right">Path Information:</th>
+  <td align="left"><%= request.getPathInfo() %></td>
+</tr>
+<tr>
+  <th align="right">Query String:</th>
+  <td align="left"><%= request.getQueryString() %></td>
+</tr>
+<tr>
+  <th align="right">Request Method:</th>
+  <td align="left"><%= request.getMethod() %></td>
+</tr>
+<tr>
+  <th align="right">Servlet Path:</th>
+  <td align="left"><%= request.getServletPath() %></td>
+</tr>
+</table>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Entries
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Entries	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Entries	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+/tomcat.gif/1.1.1.1/Thu Jul 18 16:48:39 2002/-kb/
+D

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Repository
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Repository	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Repository	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+jakarta-tomcat-catalina/webapps/docs/appdev/sample/web/images

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Root
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Root	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/images/CVS/Root	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+:pserver:anoncvs at cvs.apache.org:/home/cvspublic

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/sample/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/sample/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/sample/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<title>Sample "Hello, World" Application</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample "Hello, World" Application</h1>
+<p>This is the home page for a sample application used to illustrate the
+source directory organization of a web application utilizing the principles
+outlined in the Application Developer's Guide.
+</td>
+</tr>
+</table>
+
+<p>To prove that they work, you can execute either of the following links:
+<ul>
+<li>To a <a href="hello.jsp">JSP page</a>.
+<li>To a <a href="hello">servlet</a>.
+</ul>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/sample.war
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/sample.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/CookieExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: CookieExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan at eng.sun.com>
+ */
+
+public class CookieExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("cookies.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+	// relative links
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../cookies.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+
+        Cookie[] cookies = request.getCookies();
+        if ((cookies != null) && (cookies.length > 0)) {
+            out.println(rb.getString("cookies.cookies") + "<br>");
+            for (int i = 0; i < cookies.length; i++) {
+                Cookie cookie = cookies[i];
+                out.print("Cookie Name: " + HTMLFilter.filter(cookie.getName())
+                          + "<br>");
+                out.println("  Cookie Value: " 
+                            + HTMLFilter.filter(cookie.getValue())
+                            + "<br><br>");
+            }
+        } else {
+            out.println(rb.getString("cookies.no-cookies"));
+        }
+
+        String cookieName = request.getParameter("cookiename");
+        String cookieValue = request.getParameter("cookievalue");
+        if (cookieName != null && cookieValue != null) {
+            Cookie cookie = new Cookie(cookieName, cookieValue);
+            response.addCookie(cookie);
+            out.println("<P>");
+            out.println(rb.getString("cookies.set") + "<br>");
+            out.print(rb.getString("cookies.name") + "  " 
+                      + HTMLFilter.filter(cookieName) + "<br>");
+            out.print(rb.getString("cookies.value") + "  " 
+                      + HTMLFilter.filter(cookieValue));
+        }
+        
+        out.println("<P>");
+        out.println(rb.getString("cookies.make-cookie") + "<br>");
+        out.print("<form action=\"");
+        out.println("CookieExample\" method=POST>");
+        out.print(rb.getString("cookies.name") + "  ");
+        out.println("<input type=text length=20 name=cookiename><br>");
+        out.print(rb.getString("cookies.value") + "  ");
+        out.println("<input type=text length=20 name=cookievalue><br>");
+        out.println("<input type=submit></form>");
+            
+            
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: HelloWorldExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+/**
+ * The simplest possible servlet.
+ *
+ * @author James Duncan Davidson
+ */
+
+public class HelloWorldExample extends HttpServlet {
+
+
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        ResourceBundle rb =
+            ResourceBundle.getBundle("LocalStrings",request.getLocale());
+        response.setContentType("text/html");
+        PrintWriter out = response.getWriter();
+
+        out.println("<html>");
+        out.println("<head>");
+
+	    String title = rb.getString("helloworld.title");
+
+	    out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+	// note that all links are created to be relative. this
+	// ensures that we can move the web application that this
+	// servlet belongs to to a different place in the url
+	// tree and not have any harmful side effects.
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue
+
+	    out.println("<a href=\"../helloworld.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+        out.println("<h1>" + title + "</h1>");
+        out.println("</body>");
+        out.println("</html>");
+    }
+}
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings.properties 466607 2006-10-21 23:09:50Z markt $
+
+# Default localized resources for example servlets
+# This locale is en_US
+
+helloworld.title=Hello World!
+
+requestinfo.title=Request Information Example
+requestinfo.label.method=Method:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocol:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Remote Address:
+
+requestheader.title=Request Header Example
+
+requestparams.title=Request Parameters Example
+requestparams.params-in-req=Parameters in this request:
+requestparams.no-params=No Parameters, Please enter some
+requestparams.firstname=First Name:
+requestparams.lastname=Last Name:
+
+cookies.title=Cookies Example
+cookies.cookies=Your browser is sending the following cookies:
+cookies.no-cookies=Your browser isn't sending any cookies
+cookies.make-cookie=Create a cookie to send to your browser
+cookies.name=Name:
+cookies.value=Value:
+cookies.set=You just sent the following cookie to your browser:
+
+sessions.title=Sessions Example
+sessions.id=Session ID:
+sessions.created=Created:
+sessions.lastaccessed=Last Accessed:
+sessions.data=The following data is in your session:
+sessions.adddata=Add data to your session
+sessions.dataname=Name of Session Attribute:
+sessions.datavalue=Value of Session Attribute:

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_en.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_en.properties 466607 2006-10-21 23:09:50Z markt $
+
+# Default localized resources for example servlets
+# This locale is en_US
+
+helloworld.title=Hello World!
+
+requestinfo.title=Request Information Example
+requestinfo.label.method=Method:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocol:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Remote Address:
+
+requestheader.title=Request Header Example
+
+requestparams.title=Request Parameters Example
+requestparams.params-in-req=Parameters in this request:
+requestparams.no-params=No Parameters, Please enter some
+requestparams.firstname=First Name:
+requestparams.lastname=Last Name:
+
+cookies.title=Cookies Example
+cookies.cookies=Your browser is sending the following cookies:
+cookies.no-cookies=Your browser isn't sending any cookies
+cookies.make-cookie=Create a cookie to send to your browser
+cookies.name=Name:
+cookies.value=Value:
+cookies.set=You just sent the following cookie to your browser:
+
+sessions.title=Sessions Example
+sessions.id=Session ID:
+sessions.created=Created:
+sessions.lastaccessed=Last Accessed:
+sessions.data=The following data is in your session:
+sessions.adddata=Add data to your session
+sessions.dataname=Name of Session Attribute:
+sessions.datavalue=Value of Session Attribute:

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_es.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_es.properties 466607 2006-10-21 23:09:50Z markt $
+#
+# Default localized string information
+# Localized para Locale es_ES
+
+helloworld.title=Hola Mundo!
+
+requestinfo.title=Ejemplo de Informacion de Request
+requestinfo.label.method=Metodo:
+requestinfo.label.requesturi=Request URI:
+requestinfo.label.protocol=Protocolo:
+requestinfo.label.pathinfo=Path Info:
+requestinfo.label.remoteaddr=Direccion Remota:
+
+requestheader.title=Ejemplo de Cabecera de Request
+
+requestparams.title=Ejemplo de parametros de Request
+requestparams.params-in-req=Parametros en este Request:
+requestparams.no-params=No hay parametro. por favor usa alguno
+requestparams.firstname=Nombre:
+requestparams.lastname=Apellidos:
+
+cookies.title=Ejemplo de Cookies
+cookies.cookies=Tu navegador esta enviando los siguientes cookies:
+cookies.no-cookies=Tu navegador no esta enviando cookies
+cookies.make-cookie=Crea un cookie para enviarlo a tu navegador
+cookies.name=Nombre:
+cookies.value=Valor:
+cookies.set=Acabas de enviar a tu navegador estos cookies:
+
+sessions.title=ejemplo de Sesiones
+sessions.id=ID de Sesion:
+sessions.created=Creado:
+sessions.lastaccessed=Ultimo Acceso:
+sessions.data=Lo siguientes datos estan en tu sesion:
+sessions.adddata=Añade datos a tu sesion:
+sessions.dataname=Nombre del atributo de sesion:
+sessions.datavalue=Valor del atributo de sesion:

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_fr.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_fr.properties 466607 2006-10-21 23:09:50Z markt $
+
+# Default localized resources for example servlets
+# This locale is fr_FR
+
+helloworld.title=Salut le Monde!
+
+requestinfo.title=Exemple d''information sur la requête
+requestinfo.label.method=Méthode:
+requestinfo.label.requesturi=URI de requête:
+requestinfo.label.protocol=Protocole:
+requestinfo.label.pathinfo=Info de chemin:
+requestinfo.label.remoteaddr=Adresse distante:
+
+requestheader.title=Exemple d''information sur les entête de requête
+
+requestparams.title=Exemple de requête avec paramêtres
+requestparams.params-in-req=Paramêtres dans la requête:
+requestparams.no-params=Pas de paramêtre, merci dans saisir quelqu'uns
+requestparams.firstname=Prénom:
+requestparams.lastname=Nom:
+
+cookies.title=Exemple d''utilisation de Cookies
+cookies.cookies=Votre navigateur retourne les cookies suivant:
+cookies.no-cookies=Votre navigateur ne retourne aucun cookie
+cookies.make-cookie=Création d''un cookie à retourner à votre navigateur
+cookies.name=Nom:
+cookies.value=Valeur:
+cookies.set=Vous venez d''envoyer le cookie suivant à votre navigateur:
+
+sessions.title=Exemple de Sessions
+sessions.id=ID de Session:
+sessions.created=Crée le:
+sessions.lastaccessed=Dernier accès:
+sessions.data=Les données existantes dans votre session:
+sessions.adddata=Ajouter des données à votre session
+sessions.dataname=Nom de l''Attribut de Session:
+sessions.datavalue=Valeur de l''Attribut de Session:

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_pt.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_pt.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/LocalStrings_pt.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# $Id: LocalStrings_pt.properties 466607 2006-10-21 23:09:50Z markt $
+
+# Default localized resources for example servlets
+# This locale is pt_PT
+
+helloworld.title=Ola Mundo!
+
+requestinfo.title=Exemplo da Informacao do Pedido
+requestinfo.label.method=Metodo:
+requestinfo.label.requesturi=URI do Pedido:
+requestinfo.label.protocol=Protocolo:
+requestinfo.label.pathinfo=Informacao do Caminho:
+requestinfo.label.remoteaddr=Endereco Remoto:
+
+requestheader.title=Exemplo da Cebeceira do Pedido
+
+requestparams.title=Examplo de Parametros do Pedido
+requestparams.params-in-req=Parametros neste pedido:
+requestparams.no-params=Sem Parametros, Por favor entre alguns
+requestparams.firstname=Primeiro Nome:
+requestparams.lastname=Apelido:
+
+cookies.title=CExamplo de Cookies
+cookies.cookies=O se browser esta a enviar os seguintes cookies:
+cookies.no-cookies=O seu browser nao esta a enviar nenhuns cookies
+cookies.make-cookie=Crie um cookie para enviar para o seu browser
+cookies.name=Nome:
+cookies.value=Valor:
+cookies.set=Acabou de enviar o seguinte cookie para o seu browser:
+
+sessions.title=Examplo de sessoes
+sessions.id=Identificador da Sessao:
+sessions.created=Criada:
+sessions.lastaccessed=Ultima vez acedida:
+sessions.data=Os seguintes dados fazem parte da sua sessao:
+sessions.adddata=Adicione data a sua sessao
+sessions.dataname=Nome do atributo da sessao:
+sessions.datavalue=Valor do atributo da Sessao:

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestHeaderExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestHeaderExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan at eng.sun.com>
+ */
+
+public class RequestHeaderExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("requestheader.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+	// all links relative
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../reqheaders.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        out.println("<table border=0>");
+        Enumeration e = request.getHeaderNames();
+        while (e.hasMoreElements()) {
+            String headerName = (String)e.nextElement();
+            String headerValue = request.getHeader(headerName);
+            out.println("<tr><td bgcolor=\"#CCCCCC\">");
+            out.println(HTMLFilter.filter(headerName));
+            out.println("</td><td>");
+            out.println(HTMLFilter.filter(headerValue));
+            out.println("</td></tr>");
+        }
+        out.println("</table>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestInfoExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestInfoExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request information.
+ *
+ * @author James Duncan Davidson <duncan at eng.sun.com>
+ */
+
+public class RequestInfoExample extends HttpServlet {
+
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body>");
+        out.println("<head>");
+
+        String title = rb.getString("requestinfo.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+        // img stuff not req'd for source code html showing
+	// all links relative!
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue
+	
+        out.println("<a href=\"../reqinfo.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        out.println("<table border=0><tr><td>");
+        out.println(rb.getString("requestinfo.label.method"));
+        out.println("</td><td>");
+        out.println(request.getMethod());
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.requesturi"));
+        out.println("</td><td>");        
+        out.println(HTMLFilter.filter(request.getRequestURI()));
+        out.println("</td></tr><tr><td>");        
+        out.println(rb.getString("requestinfo.label.protocol"));
+        out.println("</td><td>");        
+        out.println(request.getProtocol());
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.pathinfo"));
+        out.println("</td><td>");        
+        out.println(HTMLFilter.filter(request.getPathInfo()));
+        out.println("</td></tr><tr><td>");
+        out.println(rb.getString("requestinfo.label.remoteaddr"));
+
+ 	String cipherSuite=
+ 	    (String)request.getAttribute("javax.servlet.request.cipher_suite");
+        out.println("</td><td>");                
+        out.println(request.getRemoteAddr());
+        out.println("</table>");
+
+ 	if(cipherSuite!=null){
+ 	    out.println("</td></tr><tr><td>");	
+ 	    out.println("SSLCipherSuite:");
+ 	    out.println("</td>");
+ 	    out.println("<td>");	    
+ 	    out.println(request.getAttribute("javax.servlet.request.cipher_suite"));
+	    out.println("</td>");	    
+ 	}
+	
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/RequestParamExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: RequestParamExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan at eng.sun.com>
+ */
+
+public class RequestParamExample extends HttpServlet {
+
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body>");
+        out.println("<head>");
+
+        String title = rb.getString("requestparams.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body bgcolor=\"white\">");
+
+        // img stuff not req'd for source code html showing
+
+	// all links relative
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../reqparams.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+        String firstName = request.getParameter("firstname");
+        String lastName = request.getParameter("lastname");
+        out.println(rb.getString("requestparams.params-in-req") + "<br>");
+        if (firstName != null || lastName != null) {
+            out.println(rb.getString("requestparams.firstname"));
+            out.println(" = " + HTMLFilter.filter(firstName) + "<br>");
+            out.println(rb.getString("requestparams.lastname"));
+            out.println(" = " + HTMLFilter.filter(lastName));
+        } else {
+            out.println(rb.getString("requestparams.no-params"));
+        }
+        out.println("<P>");
+        out.print("<form action=\"");
+        out.print("RequestParamExample\" ");
+        out.println("method=POST>");
+        out.println(rb.getString("requestparams.firstname"));
+        out.println("<input type=text size=20 name=firstname>");
+        out.println("<br>");
+        out.println(rb.getString("requestparams.lastname"));
+        out.println("<input type=text size=20 name=lastname>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/SessionExample.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,141 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+/* $Id: SessionExample.java 466607 2006-10-21 23:09:50Z markt $
+ *
+ */
+
+import java.io.*;
+import java.text.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import util.HTMLFilter;
+
+/**
+ * Example servlet showing request headers
+ *
+ * @author James Duncan Davidson <duncan at eng.sun.com>
+ */
+
+public class SessionExample extends HttpServlet {
+
+    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
+    
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        response.setContentType("text/html");
+
+        PrintWriter out = response.getWriter();
+        out.println("<html>");
+        out.println("<body bgcolor=\"white\">");
+        out.println("<head>");
+
+        String title = rb.getString("sessions.title");
+        out.println("<title>" + title + "</title>");
+        out.println("</head>");
+        out.println("<body>");
+
+        // img stuff not req'd for source code html showing
+	// relative links everywhere!
+
+        // XXX
+        // making these absolute till we work out the
+        // addition of a PathInfo issue 
+	
+        out.println("<a href=\"../sessions.html\">");
+        out.println("<img src=\"../images/code.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"view code\"></a>");
+        out.println("<a href=\"../index.html\">");
+        out.println("<img src=\"../images/return.gif\" height=24 " +
+                    "width=24 align=right border=0 alt=\"return\"></a>");
+
+        out.println("<h3>" + title + "</h3>");
+
+        HttpSession session = request.getSession(true);
+        out.println(rb.getString("sessions.id") + " " + session.getId());
+        out.println("<br>");
+        out.println(rb.getString("sessions.created") + " ");
+        out.println(new Date(session.getCreationTime()) + "<br>");
+        out.println(rb.getString("sessions.lastaccessed") + " ");
+        out.println(new Date(session.getLastAccessedTime()));
+
+        String dataName = request.getParameter("dataname");
+        String dataValue = request.getParameter("datavalue");
+        if (dataName != null && dataValue != null) {
+            session.setAttribute(dataName, dataValue);
+        }
+
+        out.println("<P>");
+        out.println(rb.getString("sessions.data") + "<br>");
+        Enumeration names = session.getAttributeNames();
+        while (names.hasMoreElements()) {
+            String name = (String) names.nextElement(); 
+            String value = session.getAttribute(name).toString();
+            out.println(HTMLFilter.filter(name) + " = " 
+                        + HTMLFilter.filter(value) + "<br>");
+        }
+
+        out.println("<P>");
+        out.print("<form action=\"");
+	out.print(response.encodeURL("SessionExample"));
+        out.print("\" ");
+        out.println("method=POST>");
+        out.println(rb.getString("sessions.dataname"));
+        out.println("<input type=text size=20 name=dataname>");
+        out.println("<br>");
+        out.println(rb.getString("sessions.datavalue"));
+        out.println("<input type=text size=20 name=datavalue>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.println("<P>GET based form:<br>");
+        out.print("<form action=\"");
+	out.print(response.encodeURL("SessionExample"));
+        out.print("\" ");
+        out.println("method=GET>");
+        out.println(rb.getString("sessions.dataname"));
+        out.println("<input type=text size=20 name=dataname>");
+        out.println("<br>");
+        out.println(rb.getString("sessions.datavalue"));
+        out.println("<input type=text size=20 name=datavalue>");
+        out.println("<br>");
+        out.println("<input type=submit>");
+        out.println("</form>");
+
+        out.print("<p><a href=\"");
+	out.print(response.encodeURL("SessionExample?dataname=foo&datavalue=bar"));
+	out.println("\" >URL encoded </a>");
+	
+        out.println("</body>");
+        out.println("</html>");
+        
+        out.println("</body>");
+        out.println("</html>");
+    }
+
+    public void doPost(HttpServletRequest request,
+                      HttpServletResponse response)
+        throws IOException, ServletException
+    {
+        doGet(request, response);
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <code>javax.servlet.Filter</code> used to compress
+ * the ServletResponse if it is bigger than a threshold.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 466607 $, $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public class CompressionFilter implements Filter{
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig config = null;
+
+    /**
+     * Minimal reasonable threshold
+     */
+    private int minThreshold = 128;
+
+
+    /**
+     * The threshold number to compress
+     */
+    protected int compressionThreshold;
+
+    /**
+     * Debug level for this filter
+     */
+    private int debug = 0;
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+
+    public void init(FilterConfig filterConfig) {
+
+        config = filterConfig;
+        if (filterConfig != null) {
+            String value = filterConfig.getInitParameter("debug");
+            if (value!=null) {
+                debug = Integer.parseInt(value);
+            } else {
+                debug = 0;
+            }
+            String str = filterConfig.getInitParameter("compressionThreshold");
+            if (str!=null) {
+                compressionThreshold = Integer.parseInt(str);
+                if (compressionThreshold != 0 && compressionThreshold < minThreshold) {
+                    if (debug > 0) {
+                        System.out.println("compressionThreshold should be either 0 - no compression or >= " + minThreshold);
+                        System.out.println("compressionThreshold set to " + minThreshold);
+                    }
+                    compressionThreshold = minThreshold;
+                }
+            } else {
+                compressionThreshold = 0;
+            }
+
+        } else {
+            compressionThreshold = 0;
+        }
+
+    }
+
+    /**
+    * Take this filter out of service.
+    */
+    public void destroy() {
+
+        this.config = null;
+
+    }
+
+    /**
+     * The <code>doFilter</code> method of the Filter is called by the container
+     * each time a request/response pair is passed through the chain due
+     * to a client request for a resource at the end of the chain.
+     * The FilterChain passed into this method allows the Filter to pass on the
+     * request and response to the next entity in the chain.<p>
+     * This method first examines the request to check whether the client support
+     * compression. <br>
+     * It simply just pass the request and response if there is no support for
+     * compression.<br>
+     * If the compression support is available, it creates a
+     * CompressionServletResponseWrapper object which compresses the content and
+     * modifies the header if the content length is big enough.
+     * It then invokes the next entity in the chain using the FilterChain object
+     * (<code>chain.doFilter()</code>), <br>
+     **/
+
+    public void doFilter ( ServletRequest request, ServletResponse response,
+                        FilterChain chain ) throws IOException, ServletException {
+
+        if (debug > 0) {
+            System.out.println("@doFilter");
+        }
+
+        if (compressionThreshold == 0) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called, but compressionTreshold is set to 0 - no compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        }
+
+        boolean supportCompression = false;
+        if (request instanceof HttpServletRequest) {
+            if (debug > 1) {
+                System.out.println("requestURI = " + ((HttpServletRequest)request).getRequestURI());
+            }
+
+            // Are we allowed to compress ?
+            String s = (String) ((HttpServletRequest)request).getParameter("gzip");
+            if ("false".equals(s)) {
+                if (debug > 0) {
+                    System.out.println("got parameter gzip=false --> don't compress, just chain filter");
+                }
+                chain.doFilter(request, response);
+                return;
+            }
+
+            Enumeration e =
+                ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+            while (e.hasMoreElements()) {
+                String name = (String)e.nextElement();
+                if (name.indexOf("gzip") != -1) {
+                    if (debug > 0) {
+                        System.out.println("supports compression");
+                    }
+                    supportCompression = true;
+                } else {
+                    if (debug > 0) {
+                        System.out.println("no support for compresion");
+                    }
+                }
+            }
+        }
+
+        if (!supportCompression) {
+            if (debug > 0) {
+                System.out.println("doFilter gets called wo compression");
+            }
+            chain.doFilter(request, response);
+            return;
+        } else {
+            if (response instanceof HttpServletResponse) {
+                CompressionServletResponseWrapper wrappedResponse =
+                    new CompressionServletResponseWrapper((HttpServletResponse)response);
+                wrappedResponse.setDebugLevel(debug);
+                wrappedResponse.setCompressionThreshold(compressionThreshold);
+                if (debug > 0) {
+                    System.out.println("doFilter gets called with compression");
+                }
+                try {
+                    chain.doFilter(request, wrappedResponse);
+                } finally {
+                    wrappedResponse.finishResponse();
+                }
+                return;
+            }
+        }
+    }
+
+    /**
+     * Set filter config
+     * This function is equivalent to init. Required by Weblogic 6.1
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void setFilterConfig(FilterConfig filterConfig) {
+        init(filterConfig);
+    }
+
+    /**
+     * Return filter config
+     * Required by Weblogic 6.1
+     */
+    public FilterConfig getFilterConfig() {
+        return config;
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionFilterTestServlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package compressionFilters;
+
+import java.io.IOException;
+import java.util.Enumeration;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+/**
+ * Very Simple test servlet to test compression filter
+ * @author Amy Roh
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionFilterTestServlet extends HttpServlet {
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException {
+
+        ServletOutputStream out = response.getOutputStream();
+        response.setContentType("text/plain");
+
+        Enumeration e = ((HttpServletRequest)request).getHeaders("Accept-Encoding");
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            out.println(name);
+            if (name.indexOf("gzip") != -1) {
+                out.println("gzip supported -- able to compress");
+            }
+            else {
+                out.println("gzip not supported");
+            }
+        }
+
+
+        out.println("Compression Filter Test Servlet");
+        out.close();
+    }
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionResponseStream.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,324 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.zip.GZIPOutputStream;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Implementation of <b>ServletOutputStream</b> that works with
+ * the CompressionServletResponseWrapper implementation.
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionResponseStream
+    extends ServletOutputStream {
+
+
+    // ----------------------------------------------------------- Constructors
+
+
+    /**
+     * Construct a servlet output stream associated with the specified Response.
+     *
+     * @param response The associated response
+     */
+    public CompressionResponseStream(HttpServletResponse response) throws IOException{
+
+        super();
+        closed = false;
+        this.response = response;
+        this.output = response.getOutputStream();
+
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The threshold number which decides to compress or not.
+     * Users can configure in web.xml to set it to fit their needs.
+     */
+    protected int compressionThreshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * The buffer through which all of our output bytes are passed.
+     */
+    protected byte[] buffer = null;
+
+    /**
+     * The number of data bytes currently in the buffer.
+     */
+    protected int bufferCount = 0;
+
+    /**
+     * The underlying gzip output stream to which we should write data.
+     */
+    protected OutputStream gzipstream = null;
+
+    /**
+     * Has this stream been closed?
+     */
+    protected boolean closed = false;
+
+    /**
+     * The content length past which we will not write, or -1 if there is
+     * no defined content length.
+     */
+    protected int length = -1;
+
+    /**
+     * The response with which this servlet output stream is associated.
+     */
+    protected HttpServletResponse response = null;
+
+    /**
+     * The underlying servket output stream to which we should write data.
+     */
+    protected ServletOutputStream output = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Set the compressionThreshold number and create buffer for this size
+     */
+    protected void setBuffer(int threshold) {
+        compressionThreshold = threshold;
+        buffer = new byte[compressionThreshold];
+        if (debug > 1) {
+            System.out.println("buffer is set to "+compressionThreshold);
+        }
+    }
+
+    /**
+     * Close this output stream, causing any buffered data to be flushed and
+     * any further output data to throw an IOException.
+     */
+    public void close() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("close() @ CompressionResponseStream");
+        }
+        if (closed)
+            throw new IOException("This output stream has already been closed");
+
+        if (gzipstream != null) {
+            flushToGZip();
+            gzipstream.close();
+            gzipstream = null;
+        } else {
+            if (bufferCount > 0) {
+                if (debug > 2) {
+                    System.out.print("output.write(");
+                    System.out.write(buffer, 0, bufferCount);
+                    System.out.println(")");
+                }
+                output.write(buffer, 0, bufferCount);
+                bufferCount = 0;
+            }
+        }
+
+        output.close();
+        closed = true;
+
+    }
+
+
+    /**
+     * Flush any buffered data for this output stream, which also causes the
+     * response to be committed.
+     */
+    public void flush() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flush() @ CompressionResponseStream");
+        }
+        if (closed) {
+            throw new IOException("Cannot flush a closed output stream");
+        }
+
+        if (gzipstream != null) {
+            gzipstream.flush();
+        }
+
+    }
+
+    public void flushToGZip() throws IOException {
+
+        if (debug > 1) {
+            System.out.println("flushToGZip() @ CompressionResponseStream");
+        }
+        if (bufferCount > 0) {
+            if (debug > 1) {
+                System.out.println("flushing out to GZipStream, bufferCount = " + bufferCount);
+            }
+            writeToGZip(buffer, 0, bufferCount);
+            bufferCount = 0;
+        }
+
+    }
+
+    /**
+     * Write the specified byte to our output stream.
+     *
+     * @param b The byte to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(int b) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write "+b+" in CompressionResponseStream ");
+        }
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (bufferCount >= buffer.length) {
+            flushToGZip();
+        }
+
+        buffer[bufferCount++] = (byte) b;
+
+    }
+
+
+    /**
+     * Write <code>b.length</code> bytes from the specified byte array
+     * to our output stream.
+     *
+     * @param b The byte array to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[]) throws IOException {
+
+        write(b, 0, b.length);
+
+    }
+
+
+    /**
+     * Write <code>len</code> bytes from the specified byte array, starting
+     * at the specified offset, to our output stream.
+     *
+     * @param b The byte array containing the bytes to be written
+     * @param off Zero-relative starting offset of the bytes to be written
+     * @param len The number of bytes to be written
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void write(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("write, bufferCount = " + bufferCount + " len = " + len + " off = " + off);
+        }
+        if (debug > 2) {
+            System.out.print("write(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+
+        if (closed)
+            throw new IOException("Cannot write to a closed output stream");
+
+        if (len == 0)
+            return;
+
+        // Can we write into buffer ?
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // There is not enough space in buffer. Flush it ...
+        flushToGZip();
+
+        // ... and try again. Note, that bufferCount = 0 here !
+        if (len <= (buffer.length - bufferCount)) {
+            System.arraycopy(b, off, buffer, bufferCount, len);
+            bufferCount += len;
+            return;
+        }
+
+        // write direct to gzip
+        writeToGZip(b, off, len);
+    }
+
+    public void writeToGZip(byte b[], int off, int len) throws IOException {
+
+        if (debug > 1) {
+            System.out.println("writeToGZip, len = " + len);
+        }
+        if (debug > 2) {
+            System.out.print("writeToGZip(");
+            System.out.write(b, off, len);
+            System.out.println(")");
+        }
+        if (gzipstream == null) {
+            if (debug > 1) {
+                System.out.println("new GZIPOutputStream");
+            }
+            if (response.isCommitted()) {
+                if (debug > 1)
+                    System.out.print("Response already committed. Using original output stream");
+                gzipstream = output;
+            } else {
+                response.addHeader("Content-Encoding", "gzip");
+                gzipstream = new GZIPOutputStream(output);
+            }
+        }
+        gzipstream.write(b, off, len);
+
+    }
+
+
+    // -------------------------------------------------------- Package Methods
+
+
+    /**
+     * Has this response stream been closed?
+     */
+    public boolean closed() {
+
+        return (this.closed);
+
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/compressionFilters/CompressionServletResponseWrapper.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,245 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package compressionFilters;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+/**
+ * Implementation of <b>HttpServletResponseWrapper</b> that works with
+ * the CompressionServletResponseStream implementation..
+ *
+ * @author Amy Roh
+ * @author Dmitri Valdin
+ * @version $Revision: 496190 $, $Date: 2007-01-14 16:21:45 -0700 (Sun, 14 Jan 2007) $
+ */
+
+public class CompressionServletResponseWrapper extends HttpServletResponseWrapper {
+
+    // ----------------------------------------------------- Constructor
+
+    /**
+     * Calls the parent constructor which creates a ServletResponse adaptor
+     * wrapping the given response object.
+     */
+
+    public CompressionServletResponseWrapper(HttpServletResponse response) {
+        super(response);
+        origResponse = response;
+        if (debug > 1) {
+            System.out.println("CompressionServletResponseWrapper constructor gets called");
+        }
+    }
+
+
+    // ----------------------------------------------------- Instance Variables
+
+    /**
+     * Original response
+     */
+
+    protected HttpServletResponse origResponse = null;
+
+    /**
+     * Descriptive information about this Response implementation.
+     */
+
+    protected static final String info = "CompressionServletResponseWrapper";
+
+    /**
+     * The ServletOutputStream that has been returned by
+     * <code>getOutputStream()</code>, if any.
+     */
+
+    protected ServletOutputStream stream = null;
+
+
+    /**
+     * The PrintWriter that has been returned by
+     * <code>getWriter()</code>, if any.
+     */
+
+    protected PrintWriter writer = null;
+
+    /**
+     * The threshold number to compress
+     */
+    protected int threshold = 0;
+
+    /**
+     * Debug level
+     */
+    private int debug = 0;
+
+    /**
+     * Content type
+     */
+    protected String contentType = null;
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Set content type
+     */
+    public void setContentType(String contentType) {
+        if (debug > 1) {
+            System.out.println("setContentType to "+contentType);
+        }
+        this.contentType = contentType;
+        origResponse.setContentType(contentType);
+    }
+
+
+    /**
+     * Set threshold number
+     */
+    public void setCompressionThreshold(int threshold) {
+        if (debug > 1) {
+            System.out.println("setCompressionThreshold to " + threshold);
+        }
+        this.threshold = threshold;
+    }
+
+
+    /**
+     * Set debug level
+     */
+    public void setDebugLevel(int debug) {
+        this.debug = debug;
+    }
+
+
+    /**
+     * Create and return a ServletOutputStream to write the content
+     * associated with this Response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream createOutputStream() throws IOException {
+        if (debug > 1) {
+            System.out.println("createOutputStream gets called");
+        }
+
+        CompressionResponseStream stream = new CompressionResponseStream(origResponse);
+        stream.setDebugLevel(debug);
+        stream.setBuffer(threshold);
+
+        return stream;
+
+    }
+
+
+    /**
+     * Finish a response.
+     */
+    public void finishResponse() {
+        try {
+            if (writer != null) {
+                writer.close();
+            } else {
+                if (stream != null)
+                    stream.close();
+            }
+        } catch (IOException e) {
+        }
+    }
+
+
+    // ------------------------------------------------ ServletResponse Methods
+
+
+    /**
+     * Flush the buffer and commit this response.
+     *
+     * @exception IOException if an input/output error occurs
+     */
+    public void flushBuffer() throws IOException {
+        if (debug > 1) {
+            System.out.println("flush buffer @ CompressionServletResponseWrapper");
+        }
+        ((CompressionResponseStream)stream).flush();
+
+    }
+
+    /**
+     * Return the servlet output stream associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getWriter</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public ServletOutputStream getOutputStream() throws IOException {
+
+        if (writer != null)
+            throw new IllegalStateException("getWriter() has already been called for this response");
+
+        if (stream == null)
+            stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getOutputStream");
+        }
+
+        return (stream);
+
+    }
+
+    /**
+     * Return the writer associated with this Response.
+     *
+     * @exception IllegalStateException if <code>getOutputStream</code> has
+     *  already been called for this response
+     * @exception IOException if an input/output error occurs
+     */
+    public PrintWriter getWriter() throws IOException {
+
+        if (writer != null)
+            return (writer);
+
+        if (stream != null)
+            throw new IllegalStateException("getOutputStream() has already been called for this response");
+
+        stream = createOutputStream();
+        if (debug > 1) {
+            System.out.println("stream is set to "+stream+" in getWriter");
+        }
+        //String charset = getCharsetFromContentType(contentType);
+        String charEnc = origResponse.getCharacterEncoding();
+        if (debug > 1) {
+            System.out.println("character encoding is " + charEnc);
+        }
+        // HttpServletResponse.getCharacterEncoding() shouldn't return null
+        // according the spec, so feel free to remove that "if"
+        if (charEnc != null) {
+            writer = new PrintWriter(new OutputStreamWriter(stream, charEnc));
+        } else {
+            writer = new PrintWriter(stream);
+        }
+        
+        return (writer);
+
+    }
+
+
+    public void setContentLength(int length) {
+    }
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/ExampleFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+
+
+/**
+ * Example filter that can be attached to either an individual servlet
+ * or to a URL pattern.  This filter performs the following functions:
+ * <ul>
+ * <li>Attaches itself as a request attribute, under the attribute name
+ *     defined by the value of the <code>attribute</code> initialization
+ *     parameter.</li>
+ * <li>Calculates the number of milliseconds required to perform the
+ *     servlet processing required by this request, including any
+ *     subsequently defined filters, and logs the result to the servlet
+ *     context log for this application.
+ * </ul>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class ExampleFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The request attribute name under which we store a reference to ourself.
+     */
+    private String attribute = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.attribute = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+	// Store ourselves as a request attribute (if requested)
+	if (attribute != null)
+	    request.setAttribute(attribute, this);
+
+	// Time and log the subsequent processing
+	long startTime = System.currentTimeMillis();
+        chain.doFilter(request, response);
+	long stopTime = System.currentTimeMillis();
+	filterConfig.getServletContext().log
+	    (this.toString() + ": " + (stopTime - startTime) +
+	     " milliseconds");
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.attribute = filterConfig.getInitParameter("attribute");
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("InvokerFilter()");
+	StringBuffer sb = new StringBuffer("InvokerFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/RequestDumperFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package filters;
+
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.sql.Timestamp;
+import java.util.Enumeration;
+import java.util.Locale;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * Example filter that dumps interesting state information about a request
+ * to the associated servlet context log file, before allowing the servlet
+ * to process the request in the usual way.  This can be installed as needed
+ * to assist in debugging problems.
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class RequestDumperFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    private FilterConfig filterConfig = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Time the processing that is performed by all subsequent filters in the
+     * current filter stack, including the ultimately invoked servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        if (filterConfig == null)
+	    return;
+
+	// Render the generic servlet request properties
+	StringWriter sw = new StringWriter();
+	PrintWriter writer = new PrintWriter(sw);
+	writer.println("Request Received at " +
+		       (new Timestamp(System.currentTimeMillis())));
+	writer.println(" characterEncoding=" + request.getCharacterEncoding());
+	writer.println("     contentLength=" + request.getContentLength());
+	writer.println("       contentType=" + request.getContentType());
+	writer.println("            locale=" + request.getLocale());
+	writer.print("           locales=");
+	Enumeration locales = request.getLocales();
+	boolean first = true;
+	while (locales.hasMoreElements()) {
+	    Locale locale = (Locale) locales.nextElement();
+	    if (first)
+	        first = false;
+	    else
+	        writer.print(", ");
+	    writer.print(locale.toString());
+	}
+	writer.println();
+	Enumeration names = request.getParameterNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.print("         parameter=" + name + "=");
+	    String values[] = request.getParameterValues(name);
+	    for (int i = 0; i < values.length; i++) {
+	        if (i > 0)
+		    writer.print(", ");
+		writer.print(values[i]);
+	    }
+	    writer.println();
+	}
+	writer.println("          protocol=" + request.getProtocol());
+	writer.println("        remoteAddr=" + request.getRemoteAddr());
+	writer.println("        remoteHost=" + request.getRemoteHost());
+	writer.println("            scheme=" + request.getScheme());
+	writer.println("        serverName=" + request.getServerName());
+	writer.println("        serverPort=" + request.getServerPort());
+	writer.println("          isSecure=" + request.isSecure());
+
+	// Render the HTTP servlet request properties
+	if (request instanceof HttpServletRequest) {
+	    writer.println("---------------------------------------------");
+	    HttpServletRequest hrequest = (HttpServletRequest) request;
+	    writer.println("       contextPath=" + hrequest.getContextPath());
+	    Cookie cookies[] = hrequest.getCookies();
+            if (cookies == null)
+                cookies = new Cookie[0];
+	    for (int i = 0; i < cookies.length; i++) {
+	        writer.println("            cookie=" + cookies[i].getName() +
+			       "=" + cookies[i].getValue());
+	    }
+	    names = hrequest.getHeaderNames();
+	    while (names.hasMoreElements()) {
+	        String name = (String) names.nextElement();
+		String value = hrequest.getHeader(name);
+	        writer.println("            header=" + name + "=" + value);
+	    }
+	    writer.println("            method=" + hrequest.getMethod());
+	    writer.println("          pathInfo=" + hrequest.getPathInfo());
+	    writer.println("       queryString=" + hrequest.getQueryString());
+	    writer.println("        remoteUser=" + hrequest.getRemoteUser());
+	    writer.println("requestedSessionId=" +
+			   hrequest.getRequestedSessionId());
+	    writer.println("        requestURI=" + hrequest.getRequestURI());
+	    writer.println("       servletPath=" + hrequest.getServletPath());
+	}
+	writer.println("=============================================");
+
+	// Log the resulting string
+	writer.flush();
+	filterConfig.getServletContext().log(sw.getBuffer().toString());
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+
+    }
+
+
+    /**
+     * Return a String representation of this object.
+     */
+    public String toString() {
+
+	if (filterConfig == null)
+	    return ("RequestDumperFilter()");
+	StringBuffer sb = new StringBuffer("RequestDumperFilter(");
+	sb.append(filterConfig);
+	sb.append(")");
+	return (sb.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package filters;
+
+
+import java.io.IOException;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.UnavailableException;
+
+
+/**
+ * <p>Example filter that sets the character encoding to be used in parsing the
+ * incoming request, either unconditionally or only if the client did not
+ * specify a character encoding.  Configuration of this filter is based on
+ * the following initialization parameters:</p>
+ * <ul>
+ * <li><strong>encoding</strong> - The character encoding to be configured
+ *     for this request, either conditionally or unconditionally based on
+ *     the <code>ignore</code> initialization parameter.  This parameter
+ *     is required, so there is no default.</li>
+ * <li><strong>ignore</strong> - If set to "true", any character encoding
+ *     specified by the client is ignored, and the value returned by the
+ *     <code>selectEncoding()</code> method is set.  If set to "false,
+ *     <code>selectEncoding()</code> is called <strong>only</strong> if the
+ *     client has not already specified an encoding.  By default, this
+ *     parameter is set to "true".</li>
+ * </ul>
+ *
+ * <p>Although this filter can be used unchanged, it is also easy to
+ * subclass it and make the <code>selectEncoding()</code> method more
+ * intelligent about what encoding to choose, based on characteristics of
+ * the incoming request (such as the values of the <code>Accept-Language</code>
+ * and <code>User-Agent</code> headers, or a value stashed in the current
+ * user's session.</p>
+ *
+ * @author Craig McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public class SetCharacterEncodingFilter implements Filter {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The default character encoding to set for requests that pass through
+     * this filter.
+     */
+    protected String encoding = null;
+
+
+    /**
+     * The filter configuration object we are associated with.  If this value
+     * is null, this filter instance is not currently configured.
+     */
+    protected FilterConfig filterConfig = null;
+
+
+    /**
+     * Should a character encoding specified by the client be ignored?
+     */
+    protected boolean ignore = true;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Take this filter out of service.
+     */
+    public void destroy() {
+
+        this.encoding = null;
+        this.filterConfig = null;
+
+    }
+
+
+    /**
+     * Select and set (if specified) the character encoding to be used to
+     * interpret request parameters for this request.
+     *
+     * @param request The servlet request we are processing
+     * @param result The servlet response we are creating
+     * @param chain The filter chain we are processing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+	throws IOException, ServletException {
+
+        // Conditionally select and set the character encoding to be used
+        if (ignore || (request.getCharacterEncoding() == null)) {
+            String encoding = selectEncoding(request);
+            if (encoding != null)
+                request.setCharacterEncoding(encoding);
+        }
+
+	// Pass control on to the next filter
+        chain.doFilter(request, response);
+
+    }
+
+
+    /**
+     * Place this filter into service.
+     *
+     * @param filterConfig The filter configuration object
+     */
+    public void init(FilterConfig filterConfig) throws ServletException {
+
+	this.filterConfig = filterConfig;
+        this.encoding = filterConfig.getInitParameter("encoding");
+        String value = filterConfig.getInitParameter("ignore");
+        if (value == null)
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("true"))
+            this.ignore = true;
+        else if (value.equalsIgnoreCase("yes"))
+            this.ignore = true;
+        else
+            this.ignore = false;
+
+    }
+
+
+    // ------------------------------------------------------ Protected Methods
+
+
+    /**
+     * Select an appropriate character encoding to be used, based on the
+     * characteristics of the current request and/or filter initialization
+     * parameters.  If no character encoding should be set, return
+     * <code>null</code>.
+     * <p>
+     * The default implementation unconditionally returns the value configured
+     * by the <strong>encoding</strong> initialization parameter for this
+     * filter.
+     *
+     * @param request The servlet request we are processing
+     */
+    protected String selectEncoding(ServletRequest request) {
+
+        return (this.encoding);
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/ContextListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,156 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextAttributeEvent;
+import javax.servlet.ServletContextAttributeListener;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class ContextListener
+    implements ServletContextAttributeListener, ServletContextListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeAdded(ServletContextAttributeEvent event) {
+
+	log("attributeAdded('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeRemoved(ServletContextAttributeEvent event) {
+
+	log("attributeRemoved('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The servlet context attribute event
+     */
+    public void attributeReplaced(ServletContextAttributeEvent event) {
+
+	log("attributeReplaced('" + event.getName() + "', '" +
+	    event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("ContextListener: " + message);
+	else
+	    System.out.println("ContextListener: " + message);
+
+    }
+
+
+    /**
+     * Log a message and associated exception to the servlet context
+     * application log.
+     *
+     * @param message Message to be logged
+     * @param throwable Exception to be logged
+     */
+    private void log(String message, Throwable throwable) {
+
+	if (context != null)
+	    context.log("ContextListener: " + message, throwable);
+	else {
+	    System.out.println("ContextListener: " + message);
+	    throwable.printStackTrace(System.out);
+	}
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/listeners/SessionListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,183 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package listeners;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.http.HttpSessionAttributeListener;
+import javax.servlet.http.HttpSessionBindingEvent;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+
+
+/**
+ * Example listener for context-related application events, which were
+ * introduced in the 2.3 version of the Servlet API.  This listener
+ * merely documents the occurrence of such events in the application log
+ * associated with our servlet context.
+ *
+ * @author Craig R. McClanahan
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class SessionListener
+    implements ServletContextListener,
+	       HttpSessionAttributeListener, HttpSessionListener {
+
+
+    // ----------------------------------------------------- Instance Variables
+
+
+    /**
+     * The servlet context with which we are associated.
+     */
+    private ServletContext context = null;
+
+
+    // --------------------------------------------------------- Public Methods
+
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeAdded(HttpSessionBindingEvent event) {
+
+	log("attributeAdded('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeRemoved(HttpSessionBindingEvent event) {
+
+	log("attributeRemoved('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeReplaced(HttpSessionBindingEvent event) {
+
+	log("attributeReplaced('" + event.getSession().getId() + "', '" +
+	    event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+
+	log("contextDestroyed()");
+	this.context = null;
+
+    }
+
+
+    /**
+     * Record the fact that this web application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+
+	this.context = event.getServletContext();
+	log("contextInitialized()");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+
+	log("sessionCreated('" + event.getSession().getId() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+
+	log("sessionDestroyed('" + event.getSession().getId() + "')");
+
+    }
+
+
+    // -------------------------------------------------------- Private Methods
+
+
+    /**
+     * Log a message to the servlet context application log.
+     *
+     * @param message Message to be logged
+     */
+    private void log(String message) {
+
+	if (context != null)
+	    context.log("SessionListener: " + message);
+	else
+	    System.out.println("SessionListener: " + message);
+
+    }
+
+
+    /**
+     * Log a message and associated exception to the servlet context
+     * application log.
+     *
+     * @param message Message to be logged
+     * @param throwable Exception to be logged
+     */
+    private void log(String message, Throwable throwable) {
+
+	if (context != null)
+	    context.log("SessionListener: " + message, throwable);
+	else {
+	    System.out.println("SessionListener: " + message);
+	    throwable.printStackTrace(System.out);
+	}
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/classes/util/HTMLFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements.  See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License.  You may obtain a copy of the License at
+*
+*     http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package util;
+
+/**
+ * HTML filter utility.
+ *
+ * @author Craig R. McClanahan
+ * @author Tim Tye
+ * @version $Revision: 466607 $ $Date: 2006-10-21 17:09:50 -0600 (Sat, 21 Oct 2006) $
+ */
+
+public final class HTMLFilter {
+
+
+    /**
+     * Filter the specified message string for characters that are sensitive
+     * in HTML.  This avoids potential attacks caused by including JavaScript
+     * codes in the request URL that is often reported in error messages.
+     *
+     * @param message The message string to be filtered
+     */
+    public static String filter(String message) {
+
+        if (message == null)
+            return (null);
+
+        char content[] = new char[message.length()];
+        message.getChars(0, message.length(), content, 0);
+        StringBuffer result = new StringBuffer(content.length + 50);
+        for (int i = 0; i < content.length; i++) {
+            switch (content[i]) {
+            case '<':
+                result.append("&lt;");
+                break;
+            case '>':
+                result.append("&gt;");
+                break;
+            case '&':
+                result.append("&amp;");
+                break;
+            case '"':
+                result.append("&quot;");
+                break;
+            default:
+                result.append(content[i]);
+            }
+        }
+        return (result.toString());
+
+    }
+
+
+}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>Servlet 2.4 Examples</display-name>
+    <description>
+      Servlet 2.4 Examples.
+    </description>
+
+    <!-- Define servlet-mapped and path-mapped example filters -->
+    <filter>
+        <filter-name>Servlet Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.SERVLET_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Path Mapped Filter</filter-name>
+        <filter-class>filters.ExampleFilter</filter-class>
+	<init-param>
+	    <param-name>attribute</param-name>
+	    <param-value>filters.ExampleFilter.PATH_MAPPED</param-value>
+	</init-param>
+    </filter>
+    <filter>
+        <filter-name>Request Dumper Filter</filter-name>
+        <filter-class>filters.RequestDumperFilter</filter-class>
+    </filter>
+
+    <!-- Example filter to set character encoding on each request -->
+    <filter>
+        <filter-name>Set Character Encoding</filter-name>
+        <filter-class>filters.SetCharacterEncodingFilter</filter-class>
+        <init-param>
+            <param-name>encoding</param-name>
+            <param-value>EUC_JP</param-value>
+        </init-param>
+    </filter>
+
+    <filter>
+        <filter-name>Compression Filter</filter-name>
+        <filter-class>compressionFilters.CompressionFilter</filter-class>
+
+        <init-param>
+          <param-name>compressionThreshold</param-name>
+          <param-value>10</param-value>
+        </init-param>
+        <init-param>
+          <param-name>debug</param-name>
+          <param-value>0</param-value>
+        </init-param>
+    </filter>
+
+    <!-- Define filter mappings for the defined filters -->
+    <filter-mapping>
+        <filter-name>Servlet Mapped Filter</filter-name>
+	<servlet-name>invoker</servlet-name>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>Path Mapped Filter</filter-name>
+	<url-pattern>/servlet/*</url-pattern>
+    </filter-mapping>
+
+
+<!-- Example filter mapping to apply the "Set Character Encoding" filter
+     to *all* requests processed by this web application -->
+<!--
+    <filter-mapping>
+        <filter-name>Set Character Encoding</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+      <filter-name>Compression Filter</filter-name>
+      <url-pattern>/CompressionTest</url-pattern>
+    </filter-mapping>
+-->
+
+<!--
+    <filter-mapping>
+        <filter-name>Request Dumper Filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+-->
+
+    <!-- Define example application events listeners -->
+    <listener>
+        <listener-class>listeners.ContextListener</listener-class>
+    </listener>
+    <listener>
+        <listener-class>listeners.SessionListener</listener-class>
+    </listener>
+
+    <!-- Define servlets that are included in the example application -->
+
+    <servlet>
+        <servlet-name>CompressionFilterTestServlet</servlet-name>
+        <servlet-class>compressionFilters.CompressionFilterTestServlet</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>HelloWorldExample</servlet-name>
+        <servlet-class>HelloWorldExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestInfoExample</servlet-name>
+        <servlet-class>RequestInfoExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestHeaderExample</servlet-name>
+        <servlet-class>RequestHeaderExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>RequestParamExample</servlet-name>
+        <servlet-class>RequestParamExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>CookieExample</servlet-name>
+        <servlet-class>CookieExample</servlet-class>
+    </servlet>
+    <servlet>
+        <servlet-name>SessionExample</servlet-name>
+        <servlet-class>SessionExample</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>CompressionFilterTestServlet</servlet-name>
+        <url-pattern>/CompressionTest</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>HelloWorldExample</servlet-name>
+        <url-pattern>/servlet/HelloWorldExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestInfoExample</servlet-name>
+        <url-pattern>/servlet/RequestInfoExample/*</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestHeaderExample</servlet-name>
+        <url-pattern>/servlet/RequestHeaderExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>RequestParamExample</servlet-name>
+        <url-pattern>/servlet/RequestParamExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>CookieExample</servlet-name>
+        <url-pattern>/servlet/CookieExample</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>SessionExample</servlet-name>
+        <url-pattern>/servlet/SessionExample</url-pattern>
+    </servlet-mapping>
+
+    <security-constraint>
+      <display-name>Example Security Constraint</display-name>
+      <web-resource-collection>
+         <web-resource-name>Protected Area</web-resource-name>
+	 <!-- Define the context-relative URL(s) to be protected -->
+         <url-pattern>/jsp/security/protected/*</url-pattern>
+	 <!-- If you list http methods, only those methods are protected -->
+	 <http-method>DELETE</http-method>
+         <http-method>GET</http-method>
+         <http-method>POST</http-method>
+	 <http-method>PUT</http-method>
+      </web-resource-collection>
+      <auth-constraint>
+         <!-- Anyone with one of the listed roles may access this area -->
+         <role-name>tomcat</role-name>
+	 <role-name>role1</role-name>
+      </auth-constraint>
+    </security-constraint>
+
+    <!-- Default login configuration uses form-based authentication -->
+    <login-config>
+      <auth-method>FORM</auth-method>
+      <realm-name>Example Form-Based Authentication Area</realm-name>
+      <form-login-config>
+        <form-login-page>/jsp/security/protected/login.jsp</form-login-page>
+        <form-error-page>/jsp/security/protected/error.jsp</form-error-page>
+      </form-login-config>
+    </login-config>
+
+    <!-- Security roles referenced by this web application -->
+    <security-role>
+      <role-name>role1</role-name>
+    </security-role>
+    <security-role>
+      <role-name>tomcat</role-name>
+    </security-role>
+
+    <!-- Environment entry examples -->
+    <!--env-entry>
+      <env-entry-description>
+         The maximum number of tax exemptions allowed to be set.
+      </env-entry-description>
+      <env-entry-name>maxExemptions</env-entry-name>
+      <env-entry-value>15</env-entry-value>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+    </env-entry-->
+    <env-entry>
+      <env-entry-name>minExemptions</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name1</env-entry-name>
+      <env-entry-type>java.lang.String</env-entry-type>
+      <env-entry-value>value1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/bar/name2</env-entry-name>
+      <env-entry-type>java.lang.Boolean</env-entry-type>
+      <env-entry-value>true</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>name3</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>1</env-entry-value>
+    </env-entry>
+    <env-entry>
+      <env-entry-name>foo/name4</env-entry-name>
+      <env-entry-type>java.lang.Integer</env-entry-type>
+      <env-entry-value>10</env-entry-value>
+    </env-entry>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/cookies.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/cookies.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/cookies.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/CookieExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Cookie Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> CookieExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        
+        <font color="#CC0000">// print out cookies</font>
+
+        Cookie[] cookies = request.getCookies();
+        for (int i = 0; i &lt; cookies.length; i++) {
+            Cookie c = cookies[i];
+            String name = c.getName();
+            String value = c.getValue();
+            out.println(name + &quot;<font color="#009900"> = </font>&quot; + value);
+        }
+
+        <font color="#CC0000">// set a cookie</font>
+
+        String name = request.getParameter(&quot;<font color="#009900">cookieName</font>&quot;);
+        if (name != null &amp;&amp; name.length() &gt; 0) {
+            String value = request.getParameter(&quot;<font color="#009900">cookieValue</font>&quot;);
+            Cookie c = new Cookie(name, value);
+            response.addCookie(c);
+        }
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/helloworld.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/helloworld.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/helloworld.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/HelloWorldExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for HelloWorld Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font>
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> HelloWorld <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Hello World!&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h1&gt;Hello World!&lt;/h1&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/execute.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/execute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/return.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/images/return.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,121 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+   <meta name="GENERATOR" content="Mozilla/4.61 [en] (WinNT; I) [Netscape]">
+   <meta name="Author" content="Anil K. Vijendran">
+   <title>Servlet Examples</title>
+</head>
+<body bgcolor="#FFFFFF">
+<b><font face="Arial, Helvetica, sans-serif"><font size=+2>Servlet
+Examples with Code</font></font></b>
+<p>This is a collection of examples which demonstrate some of the more
+frequently used parts of the Servlet API. Familiarity with the Java(tm)
+Programming Language is assumed.
+<p>These examples will only work when viewed via an http URL. They will
+not work if you are viewing these pages via a "file://..." URL. Please
+refer to the <i>README</i> file provide with this Tomcat release regarding
+how to configure and start the provided web server.
+<p>Wherever you see a form, enter some data and see how the servlet reacts.
+When playing with the Cookie and Session Examples, jump back to the Headers
+Example to see exactly what your browser is sending the server.
+<p>To navigate your way through the examples, the following icons will
+help:
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/execute.gif" ></td>
+
+<td>Execute the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/code.gif" height=24 width=24></td>
+
+<td>Look at the source code for the example</td>
+</tr>
+
+<tr VALIGN=TOP>
+<td WIDTH="30"><img SRC="images/return.gif" height=24 width=24></td>
+
+<td>Return to this screen</td>
+</tr>
+</table>
+
+<p>Tip: To see the cookie interactions with your browser, try turning on
+the "notify when setting a cookie" option in your browser preferences.
+This will let you see when a session is created and give some feedback
+when looking at the cookie demo.
+<br>&nbsp;
+<table BORDER=0 CELLSPACING=5 WIDTH="85%" >
+<tr VALIGN=TOP>
+<td>Hello World</td>
+
+<td VALIGN=TOP WIDTH="30%"><a href="servlet/HelloWorldExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/HelloWorldExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="helloworld.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="helloworld.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Info</td>
+
+<td WIDTH="30%"><a href="servlet/RequestInfoExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestInfoExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqinfo.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqinfo.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Headers</td>
+
+<td WIDTH="30%"><a href="servlet/RequestHeaderExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestHeaderExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqheaders.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqheaders.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Request Parameters</td>
+
+<td WIDTH="30%"><a href="servlet/RequestParamExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/RequestParamExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="reqparams.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="reqparams.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Cookies</td>
+
+<td WIDTH="30%"><a href="servlet/CookieExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/CookieExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="cookies.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="cookies.html">Source</a></td>
+</tr>
+
+<tr VALIGN=TOP>
+<td>Sessions</td>
+
+<td WIDTH="30%"><a href="servlet/SessionExample"><img SRC="images/execute.gif" HSPACE=4 BORDER=0  align=TOP></a><a href="servlet/SessionExample">Execute</a></td>
+
+<td WIDTH="30%"><a href="sessions.html"><img SRC="images/code.gif" HSPACE=4 BORDER=0 height=24 width=24 align=TOP></a><a href="sessions.html">Source</a></td>
+</tr>
+</table>
+
+<p>Note: The source code for these examples does not contain all of the
+source code that is actually in the example, only the important sections
+of code. Code not important to understand the example has been removed
+for clarity.
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqheaders.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqheaders.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqheaders.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestHeaderExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for RequestHeader Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font>
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestHeaderExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        Enumeration e = request.getHeaderNames();
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            String value = request.getHeader(name);
+            out.println(name + &quot;<font color="#009900"> = </font>&quot; + value);
+        }
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqinfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqinfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqinfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestInfoExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Request Info Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestInfo <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Request Information Example&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h3&gt;Request Information Example&lt;/h3&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Method: </font>&quot; + request.getMethod());
+        out.println(&quot;<font color="#009900">Request URI: </font>&quot; + request.getRequestURI());
+        out.println(&quot;<font color="#009900">Protocol: </font>&quot; + request.getProtocol());
+        out.println(&quot;<font color="#009900">PathInfo: </font>&quot; + request.getPathInfo());
+        out.println(&quot;<font color="#009900">Remote Address: </font>&quot; + request.getRemoteAddr());
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+
+<font color="#FF0000">    /**
+     * We are going to perform the same operations for POST requests
+     * as for GET methods, so this method just sends the request to
+     * the doGet method.
+     */</font>
+
+    <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        doGet(request, response);
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqparams.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqparams.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/reqparams.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,78 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/RequestParamExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Request Parameter Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> RequestParamExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        out.println(&quot;<font color="#009900">&lt;html&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;title&gt;Request Parameters Example&lt;/title&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/head&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;h3&gt;Request Parameters Example&lt;/h3&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Parameters in this request:&lt;br&gt;</font>&quot;);
+        if (firstName != null || lastName != null) {
+            out.println(&quot;<font color="#009900">First Name:</font>&quot;);
+            out.println(&quot;<font color="#009900"> = </font>&quot; + HTMLFilter.filter(firstName) + &quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+            out.println(&quot;<font color="#009900">Last Name:</font>&quot;);
+            out.println(&quot;<font color="#009900"> = </font>&quot; + HTMLFilter.filter(lastName));
+        } else {
+            out.println(&quot;<font color="#009900">No Parameters, Please enter some</font>&quot;);
+        }
+        out.println(&quot;<font color="#009900">&lt;P&gt;</font>&quot;);
+        out.print(&quot;<font color="#009900">&lt;form action=\"</font>&quot;);
+        out.print(&quot;<font color="#009900">RequestParamExample\" </font>&quot;);
+        out.println(&quot;<font color="#009900">method=POST&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">First Name:</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=text size=20 name=firstname&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">Last Name:</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=text size=20 name=lastname&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;br&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;input type=submit&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/form&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/body&gt;</font>&quot;);
+        out.println(&quot;<font color="#009900">&lt;/html&gt;</font>&quot;);
+    }
+
+    <font color="#0000FF">public void</font> doPost(HttpServletRequest request, HttpServletResponse res)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        doGet(request, response);
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/sessions.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/sessions.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/servlets-examples/sessions.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<html>
+<head>
+<title>Untitled Document</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</head>
+
+<body bgcolor="#FFFFFF">
+<p><font color="#0000FF"><a href="servlet/SessionExample"><img src="images/execute.gif" align="right" border="0"></a><a href="index.html"><img src="images/return.gif" width="24" height="24" align="right" border="0"></a></font></p>
+<h3>Source Code for Session Example<font color="#0000FF"><br>
+  </font> </h3>
+<font color="#0000FF"></font> 
+<pre><font color="#0000FF">import</font> java.io.*;
+<font color="#0000FF">import</font> java.util.*;
+<font color="#0000FF">import</font> javax.servlet.*;
+<font color="#0000FF">import</font> javax.servlet.http.*;
+
+<font color="#0000FF">public class</font> SessionExample <font color="#0000FF">extends</font> HttpServlet {
+
+    <font color="#0000FF">public void</font> doGet(HttpServletRequest request, HttpServletResponse response)
+    <font color="#0000FF">throws</font> IOException, ServletException
+    {
+        response.setContentType(&quot;<font color="#009900">text/html</font>&quot;);
+        PrintWriter out = response.getWriter();
+        
+        HttpSession session = request.getSession(true);
+
+        <font color="#CC0000">// print session info</font>
+
+        Date created = new Date(session.getCreationTime());
+        Date accessed = new Date(session.getLastAccessedTime());
+        out.println(&quot;<font color="#009900">ID </font>&quot; + session.getId());
+        out.println(&quot;<font color="#009900">Created: </font>&quot; + created);
+        out.println(&quot;<font color="#009900">Last Accessed: </font>&quot; + accessed);
+
+        <font color="#CC0000">// set session info if needed</font>
+
+        String dataName = request.getParameter(&quot;<font color="#009900">dataName</font>&quot;);
+        if (dataName != null &amp;&amp; dataName.length() &gt; 0) {
+            String dataValue = request.getParameter(&quot;<font color="#009900">dataValue</font>&quot;);
+            session.setAttribute(dataName, dataValue);
+        }
+
+        // print session contents
+
+        Enumeration e = session.getAttributeNames();
+        while (e.hasMoreElements()) {
+            String name = (String)e.nextElement();
+            String value = session.getAttribute(name).toString();
+            out.println(name + &quot; <font color="#009900">= </font>&quot; + value);
+        }
+    }
+}</pre>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/PortletServices.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/PortletServices.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/PortletServices.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify Portlet Services
+
+    $Id: PortletServices.xml.tpl 4496 2006-02-08 20:27:04Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Example Service</name>
+        <description>Provides Capabilities</description>
+        <interface>com.mycom.ExampleService</interface>
+        <implementation>com.mycom.impl.ExampleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Secure Example Service</name>
+        <user-required>true</user-required>
+        <description>Provides Secure Capabilities</description>
+        <interface>com.mycom.SecureService</interface>
+        <implementation>com.mycom.SecureServiceImpl</implementation>
+    </service>
+
+</portlet-services>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes/log4j.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes/log4j.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/classes/log4j.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+# Set root category priority to ERROR and its only appender to A1.
+log4j.rootCategory=ERROR, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] (%F:%L) %-5p %c %x - %m%n
+
+# Add packages to log
+log4j.logger.org.gridsphere=DEBUG

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/addressing-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/addressing-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis-url.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis-url.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/bootstrap.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/bootstrap.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/castor-1.0.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/castor-1.0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-axis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-jglobus.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-jglobus.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-tomcat.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-tomcat.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-url.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cog-url.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commonj.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commonj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-beanutils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-cli-2.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-cli-2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-dbcp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-dbcp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-digester.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-discovery.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-discovery.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-fileupload-1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-fileupload-1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-io-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-io-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-lang-2.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-lang-2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-logging.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-pool.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/commons-pool.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/concurrent.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/concurrent.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix-asn1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix-asn1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix32.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/cryptix32.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_unit_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_unit_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_utils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_cas_utils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_delegation_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_core.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_core.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_packets_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_usage_packets_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_throughput.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_throughput.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_unit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_test_unit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_usage.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_gram_service_java_usage.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_aggregator_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_index_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_index_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_trigger_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_mds_trigger_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rendezvous_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_service_java_usage.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_service_java_usage.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_rft_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_servicegroup_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_tools_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/globus_wsrf_tools_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-monitoring.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-monitoring.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-utils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gram-utils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-portal-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-portal-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-provider-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/gridsphere-provider-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/idwviz.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/idwviz.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jaxrpc.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jce-jdk13-125.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jce-jdk13-125.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jcommon-0.9.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jcommon-0.9.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jfreechart-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jfreechart-0.9.18.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jgss.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/jgss.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/junit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/junit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.11.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.11.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.8.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/log4j-1.2.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-factory.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-factory.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-java.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-java.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-resources.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/naming-resources.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/opensaml.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/opensaml.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/oro-2.0.8.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/oro-2.0.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/pg73jdbc2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/pg73jdbc2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/puretls.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/puretls.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/resolver.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/resolver.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/saaj.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/saaj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig-services-impl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig-services-impl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/simplegrid_cig.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/velocity-1.5.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/velocity-1.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/webmds-0.1-dev.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/webmds-0.1-dev.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsdl4j.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsdl4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_registry_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_authzService_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_counter_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_samples_mgmt_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_core_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_index_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_trigger_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp_schema_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_mds_usefulrp_schema_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_provider_jce.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_provider_jce.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_interop_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_test_unit_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_tools.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wsrf_tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wss4j.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/wss4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xalan.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xalan.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xercesImpl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xml-apis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xml-apis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xmlsec.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/lib/xmlsec.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence/hibernate.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/persistence/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+#
+# template file for 3rd party webapp persistence
+#
+
+hibernate.show_sql=false
+hibernate.connection.poolsize=40
+
+## HSQL
+
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+#hibernate.connection.username=sa
+#hibernate.connection.password=
+#hibernate.connection.url=jdbc:hsqldb:/home/cigtg/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/database/gridsphere
+#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+
+## MySQL
+
+hibernate.dialect org.hibernate.dialect.MySQLDialect
+#hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+hibernate.connection.driver_class com.mysql.jdbc.Driver
+hibernate.connection.url jdbc:mysql://localhost/simplegrid_cig
+hibernate.connection.username cigtg 
+hibernate.connection.password tomcat 
+
+## Mckoi SQL
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi:/home/cigtg/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/database/gridsphere
+#hibernate.connection.username=admin_user
+#hibernate.connection.password=aupass00
+
+## PostgreSQL
+#download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/portlet.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/portlet.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/portlet.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">train17 user portlet</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>train17UserGisolve</portlet-name>
+        <display-name xml:lang="en">train17 user gisolve</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gisolve.demo.portlets.UserPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>train17 User home for gisolve</title>
+            <short-title>train17-gisolve</short-title>
+            <keywords>train17, gisolve, user</keywords>
+        </portlet-info>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">train17 DMS Analysis portlet</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>train17DMSGisolve</portlet-name>
+        <display-name xml:lang="en">train17 DMS Analysis</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gisolve.demo.portlets.GISolveDMSPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>train17 DMS Analysis for gisolve</title>
+            <short-title>train17-dms</short-title>
+            <keywords>train17, dms</keywords>
+        </portlet-info>
+        <init-param>
+            <name>org.apache.velocity.properties</name>
+            <value>/velocity.properties</value>
+        </init-param>
+        <init-param>
+            <name>default-view</name>
+            <value>dms-0.vm</value>
+        </init-param>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+    </portlet>    
+    
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>CONFIGURE</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+    <!--
+        <security-constraint>
+            <portlet-collection>
+                <portlet-name>TimeZoneClock</portlet-name>
+            </portlet-collection>
+            <user-data-constraint>
+                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+            </user-data-constraint>
+        </security-constraint>
+    -->
+</portlet-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+    <display-name>Science Gateway Tutorial train17</display-name>
+
+    <description>
+        Provides Science Gateway Tutorial train17
+    </description>
+
+    <!-- uncomment only if using in non-GridSphere container
+    <listener>
+        <listener-class>org.gridsphere.provider.portlet.jsr.PortletServlet</listener-class>
+    </listener>
+     -->
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+       <servlet-name>PortletServlet</servlet-name>
+       <url-pattern>/jsr/simplegrid_train17</url-pattern>
+    </servlet-mapping>
+
+    <mime-mapping>
+      <extension>wbmp</extension>
+      <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wml</extension>
+      <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wmls</extension>
+      <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/images/vizlegend.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/images/vizlegend.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp/simplegrid_user.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp/simplegrid_user.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/jsp/simplegrid_user.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+<%@ page import="org.gisolve.demo.beans.UserBean" %>
+<%@ page import="org.gisolve.demo.grid.security.SimpleCred" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<jsp:useBean id="user" class="org.gisolve.demo.beans.UserBean" scope="request"/>
+
+<portlet:defineObjects/>
+
+<%
+	String fullname = user.getFirstName()+" "+ user.getLastName();
+	String numlogins = java.lang.Integer.toString(user.getNumLogins());
+%>
+<ui:text style="info" value="User: "/><ui:text style="alert" value="<%=fullname%>"/>
+<p>
+<ui:text style="info" value="E-mail: "/><ui:text style="alert" value="<%=user.getEmailAddress()%>"/>
+<p>
+<ui:text style="info" value="Organization: "/><ui:text style="alert" value="<%=user.getOrganization()%>"/>
+<p>
+<ui:text style="info" value="Number of logins: "/><ui:text style="alert" value="<%=numlogins%>"/>
+<p>
+<ui:text style="info" value="Last login time: "/><ui:text style="alert" value="<%=user.getLastLoginTime()%>"/>
+<hr>
+<p>
+<%
+	SimpleCred simplecred = (SimpleCred)renderRequest.getAttribute("simplecred");
+	String myproxy_lthours = "";
+	String myproxy_port = "7512";
+	String myproxy_host = "myproxy.teragrid.org";
+	String myproxy_username = "";
+	String myproxy_password = "";
+	String myproxy_file = "";
+	String proxyinfo = "";
+	if (simplecred != null) {
+		myproxy_host = simplecred.getHost();
+		myproxy_lthours = java.lang.Integer.toString(simplecred.getRemainingTime() / 3600);
+		myproxy_port = java.lang.Integer.toString(simplecred.getPort());
+		myproxy_username = simplecred.getUsername();
+		myproxy_password = simplecred.getPassword();
+		myproxy_file = simplecred.getProxyFile();
+		proxyinfo = simplecred.info();
+	}
+%>
+<ui:form>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Server"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_host" value="<%=myproxy_host%>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Server Port"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_port" value="<%=myproxy_port%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy User Name"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_username" value="<%=myproxy_username%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Password"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password beanId="simplecred_password" value="<%=myproxy_password%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="Lifetime to request (in hours)"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_lifetime" value="<%=myproxy_lthours%>"/>
+            </ui:tablecell>
+        </ui:tablerow>  
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="Valid Proxy File (if available)"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_proxy_file" value="<%=myproxy_file%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+    </ui:frame>
+    <p>
+    <ui:checkbox beanId="simplecred_getnow" value="Check to get grid proxy now" />
+    <ui:text value="Check to get/reload grid proxy now"/>
+    <p>
+    <%
+    if (!proxyinfo.equals("")) {
+    %>
+    <font size="3" color="darkgreen"><b>
+    <pre><%=proxyinfo%></pre>
+    </b></font>
+    <%
+    }
+    %>
+    <p>
+    <ui:actionsubmit action="configSimpleCred" value="Update"/>
+</ui:form>
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/simplegrid.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/simplegrid.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/simplegrid.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+## Application configuration
+app.dms.datadir = storage 
+app.dms.remoteexe = release/process.pl
+
+## Grid configuration
+# Security
+grid.myproxy.server    = myproxy.teragrid.org
+grid.myproxy.port      = 7512
+grid.myproxy.username  = weimi 
+grid.myproxy.proxyfile = storage/grid/x509up_tg07tutorial
+
+# Grid resources
+grid.sites = UC, NCSA, SDSC
+grid.sites.dmsdir.UC = /home/weimi/gisolve/DMS
+grid.sites.dmsdir.NCSA = /home/ac/weimi/gisolve/DMS
+grid.sites.dmsdir.SDSC = /users/weimi/gisolve/DMS
+
+# Data transfer
+grid.gridftp.UC   = tg-gridftp.uc.teragrid.org
+grid.gridftp.NCSA = tg-login1.ncsa.teragrid.org
+grid.gridftp.SDSC = tg-login1.sdsc.teragrid.org
+
+# Job submission
+grid.gram.UC   = tg-grid1.uc.teragrid.org:2120/jobmanager-pbs
+grid.gram.NCSA   = grid-hg.ncsa.teragrid.org:2120/jobmanager-pbs
+grid.gram.SDSC   = tg-login1.sdsc.teragrid.org/jobmanager-pbs
+grid.wsgram.UC = https://tg-grid.uc.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.UC = PBS
+grid.wsgram.NCSA = https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.NCSA = PBS
+grid.wsgram.SDSC = https://tg-login1.sdsc.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.SDSC = PBS
+
+## Portal configuration
+portal.webappname = simplegrid_cig
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_poly.dat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_poly.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_poly.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3303 @@
+----
+-88.1955 35.0041
+-85.6068 34.9918
+-85.1756 32.8404
+-84.8927 32.2593
+-85.0342 32.1535
+-85.1358 31.7947
+-85.0438 31.5200
+-85.0836 31.3384
+-85.1070 31.2093
+-84.9944 31.0023
+-87.6009 30.9953
+-87.5926 30.9423
+-87.6256 30.8539
+-87.4072 30.6745
+-87.3688 30.4404
+-87.5240 30.1463
+-88.3864 30.1546
+-88.4743 31.8939
+-88.1021 34.8938
+-88.1721 34.9479
+-88.1461 34.9107
+----
+-94.0416 33.0225
+-91.2057 33.0075
+-91.1989 33.1180
+-91.1041 33.1824
+-91.1343 33.3053
+-91.1646 33.4211
+-91.2263 33.4337
+-91.2524 33.5403
+-91.1797 33.6112
+-91.2524 33.6855
+-91.1261 33.6946
+-91.1412 33.7883
+-91.0451 33.7700
+-91.0341 33.8328
+-91.0863 33.9399
+-90.9256 34.0208
+-90.9036 34.0856
+-90.9586 34.1345
+-90.9132 34.1675
+-90.8501 34.1380
+-90.9325 34.2311
+-90.6935 34.3446
+-90.5603 34.4409
+-90.5548 34.5348
+-90.5768 34.5959
+-90.5301 34.7213
+-90.5328 34.7574
+-90.4546 34.8780
+-90.3529 34.8454
+-90.2911 34.8690
+-90.3104 35.0255
+-90.2843 35.1154
+-90.1772 35.1323
+-90.1112 35.1985
+-90.1524 35.2826
+-90.1332 35.4383
+-90.0206 35.5579
+-89.9780 35.6740
+-89.9547 35.7287
+-89.6594 35.9169
+-89.6883 35.9658
+-89.7130 36.0013
+-90.3735 35.9958
+-90.2664 36.1268
+-90.0934 36.2875
+-90.0742 36.3892
+-90.1511 36.4180
+-90.1566 36.4997
+-94.6198 36.4986
+-94.4412 35.3801
+-94.4893 33.6318
+-94.4522 33.6421
+-94.4000 33.5597
+-94.2462 33.5883
+-94.1885 33.5872
+-94.0375 33.5345
+-94.0430 33.4314
+-94.0430 33.0213
+----
+-112.5989 36.9993
+-110.8630 37.0004
+-109.0475 37.0004
+-109.0503 31.3325
+-111.0718 31.3325
+-114.8126 32.4935
+-114.8099 32.5184
+-114.8044 32.5827
+-114.7992 32.6246
+-114.7474 32.6700
+-114.7014 32.7457
+-114.6176 32.7342
+-114.5819 32.7422
+-114.5393 32.7584
+-114.5095 32.8167
+-114.4696 32.8450
+-114.4817 32.9107
+-114.4803 32.9741
+-114.5256 33.0317
+-114.6094 33.0259
+-114.6588 33.0317
+-114.7096 33.0904
+-114.6849 33.2065
+-114.7220 33.2846
+-114.6973 33.3546
+-114.7258 33.4051
+-114.6533 33.4120
+-114.5888 33.5016
+-114.5599 33.5317
+-114.5187 33.6306
+-114.5297 33.6786
+-114.4940 33.7083
+-114.5036 33.7609
+-114.5284 33.8157
+-114.5325 33.8545
+-114.5380 33.9285
+-114.5235 33.9530
+-114.4748 34.0049
+-114.4308 34.0299
+-114.4363 34.0891
+-114.3526 34.1357
+-114.2908 34.1720
+-114.2255 34.2044
+-114.1685 34.2595
+-114.1301 34.2572
+-114.1397 34.3037
+-114.2276 34.3664
+-114.2633 34.4012
+-114.3388 34.4534
+-114.3608 34.4930
+-114.3811 34.5292
+-114.4377 34.5959
+-114.4569 34.6547
+-114.5297 34.7506
+-114.5847 34.8172
+-114.6341 34.8724
+-114.6313 34.9490
+-114.6351 35.0342
+-114.6451 35.1019
+-114.6190 35.1233
+-114.5682 35.1716
+-114.5984 35.3364
+-114.6643 35.4506
+-114.6753 35.5780
+-114.6547 35.6171
+-114.6918 35.6528
+-114.7028 35.7053
+-114.7093 35.8050
+-114.6602 35.8679
+-114.7426 35.9836
+-114.7536 36.0891
+-114.6794 36.1124
+-114.6327 36.1423
+-114.4872 36.1301
+-114.3690 36.1445
+-114.3038 36.0746
+-114.3172 36.0602
+-114.2451 36.0163
+-114.1438 36.0402
+-114.1150 36.0979
+-114.1274 36.1101
+-114.1054 36.1190
+-114.0463 36.1989
+-114.0450 36.3638
+-114.0508 37.0001
+----
+-124.4009 41.9983
+-123.6237 42.0024
+-123.1526 42.0126
+-122.0073 42.0075
+-121.2369 41.9962
+-119.9982 41.9983
+-120.0037 39.0021
+-117.9575 37.5555
+-116.3699 36.3594
+-114.6368 35.0075
+-114.6382 34.9659
+-114.6286 34.9107
+-114.6382 34.8758
+-114.5970 34.8454
+-114.5682 34.7890
+-114.4968 34.7269
+-114.4501 34.6648
+-114.4597 34.6581
+-114.4322 34.5869
+-114.3787 34.5235
+-114.3869 34.4601
+-114.3361 34.4500
+-114.3031 34.4375
+-114.2674 34.4024
+-114.1864 34.3559
+-114.1383 34.3049
+-114.1315 34.2561
+-114.1651 34.2595
+-114.2249 34.2044
+-114.2221 34.1914
+-114.2908 34.1720
+-114.3237 34.1368
+-114.3622 34.1186
+-114.4089 34.1118
+-114.4363 34.0856
+-114.4336 34.0276
+-114.4652 34.0117
+-114.5119 33.9582
+-114.5366 33.9308
+-114.5091 33.9058
+-114.5256 33.8613
+-114.5215 33.8248
+-114.5050 33.7597
+-114.4940 33.7083
+-114.5284 33.6832
+-114.5242 33.6363
+-114.5393 33.5895
+-114.5242 33.5528
+-114.5586 33.5311
+-114.5778 33.5070
+-114.6245 33.4418
+-114.6506 33.4142
+-114.7055 33.4039
+-114.6973 33.3546
+-114.7302 33.3041
+-114.7206 33.2858
+-114.6808 33.2754
+-114.6698 33.2582
+-114.6904 33.2467
+-114.6794 33.1720
+-114.7083 33.0904
+-114.6918 33.0858
+-114.6629 33.0328
+-114.6451 33.0501
+-114.6286 33.0305
+-114.5888 33.0282
+-114.5750 33.0351
+-114.5174 33.0328
+-114.4913 32.9718
+-114.4775 32.9764
+-114.4844 32.9372
+-114.4679 32.8427
+-114.5091 32.8161
+-114.5311 32.7850
+-114.5284 32.7573
+-114.5641 32.7503
+-114.6162 32.7353
+-114.6986 32.7480
+-114.7220 32.7191
+-115.1944 32.6868
+-117.3395 32.5121
+-117.4823 32.7838
+-117.5977 33.0501
+-117.6814 33.2341
+-118.0591 33.4578
+-118.6290 33.5403
+-118.7073 33.7928
+-119.3706 33.9582
+-120.0050 34.1925
+-120.7164 34.2561
+-120.9128 34.5360
+-120.8427 34.9749
+-121.1325 35.2131
+-121.3220 35.5255
+-121.8013 35.9691
+-122.1446 36.2808
+-122.1721 36.7268
+-122.6871 37.2227
+-122.8903 37.7783
+-123.2378 37.8965
+-123.3202 38.3449
+-123.8338 38.7423
+-123.9793 38.9946
+-124.0329 39.3088
+-124.0823 39.7642
+-124.5314 40.1663
+-124.6509 40.4658
+-124.3144 41.0110
+-124.3419 41.2386
+-124.4545 41.7170
+-124.4009 41.9983
+----
+-109.0448 37.0004
+-102.0424 36.9949
+-102.0534 41.0006
+-109.0489 40.9996
+-109.0448 37.0004
+----
+-73.4875 42.0498
+-73.4247 42.0511
+-72.8146 42.0371
+-72.8174 41.9983
+-72.7638 42.0044
+-72.7563 42.0360
+-72.6945 42.0368
+-72.6086 42.0309
+-72.6059 42.0269
+-72.5784 42.0269
+-72.5729 42.0350
+-72.4026 42.0350
+-71.7984 42.0248
+-71.7874 41.6832
+-71.7984 41.4165
+-71.8341 41.3892
+-71.8526 41.3273
+-71.8938 41.3309
+-71.9302 41.3103
+-72.0195 41.2907
+-72.0827 41.2618
+-72.4322 41.1962
+-73.0007 41.0866
+-73.2493 41.0255
+-73.6132 40.9509
+-73.6606 40.9830
+-73.6723 41.0338
+-73.7272 41.1011
+-73.4834 41.2153
+-73.5507 41.2953
+-73.5329 41.4906
+-73.4875 42.0493
+----
+-75.7919 39.7188
+-75.7837 39.5210
+-75.7288 38.9081
+-75.7068 38.5911
+-75.6944 38.4600
+-74.8608 38.4482
+-74.8526 38.8654
+-75.0504 38.8451
+-75.1678 39.0565
+-75.3236 39.2525
+-75.4610 39.3662
+-75.5592 39.4542
+-75.5578 39.4908
+-75.5118 39.5713
+-75.5557 39.6284
+-75.3937 39.8106
+-75.4692 39.8249
+-75.6477 39.8296
+-75.7906 39.7199
+----
+-87.6050 30.9988
+-86.5613 30.9964
+-85.5313 31.0035
+-85.1193 31.0012
+-85.0012 31.0023
+-84.9847 30.9364
+-84.9367 30.8845
+-84.9271 30.8409
+-84.9257 30.7902
+-84.9147 30.7489
+-84.8611 30.6993
+-84.4272 30.6911
+-83.5991 30.6509
+-82.5595 30.5895
+-82.2134 30.5682
+-82.2134 30.5315
+-82.1997 30.3883
+-82.1544 30.3598
+-82.0638 30.3598
+-82.0226 30.4877
+-82.0473 30.6308
+-82.0514 30.6757
+-82.0377 30.7111
+-82.0514 30.7371
+-82.0102 30.7678
+-82.0322 30.7914
+-81.9717 30.7997
+-81.9608 30.8244
+-81.8893 30.8056
+-81.8372 30.7914
+-81.7960 30.7796
+-81.6696 30.7536
+-81.6051 30.7289
+-81.5666 30.7324
+-81.5295 30.7229
+-81.4856 30.7253
+-81.4609 30.7111
+-81.4169 30.7088
+-81.2274 30.7064
+-81.2357 30.4345
+-81.1725 30.3160
+-81.0379 29.7763
+-80.5861 28.8603
+-80.3650 28.4771
+-80.3815 28.1882
+-79.9255 27.1789
+-79.8198 26.8425
+-79.9118 26.1394
+-79.9997 25.5115
+-80.3815 24.8802
+-80.8704 24.5384
+-81.9250 24.3959
+-82.2066 24.4496
+-82.3137 24.5484
+-82.1997 24.6982
+-81.3977 25.2112
+-81.4622 25.6019
+-81.9456 25.9235
+-82.2876 26.3439
+-82.5307 26.9098
+-82.8342 27.3315
+-83.0182 27.7565
+-83.0017 28.0574
+-82.8548 28.6098
+-83.0264 28.9697
+-83.2050 29.0478
+-83.5318 29.4157
+-83.9767 29.9133
+-84.1072 29.8930
+-84.4409 29.6940
+-85.0465 29.4551
+-85.3610 29.4946
+-85.5807 29.7262
+-86.1946 30.1594
+-86.8510 30.2175
+-87.5171 30.1499
+-87.4429 30.3006
+-87.3750 30.4256
+-87.3743 30.4830
+-87.3907 30.5658
+-87.4004 30.6344
+-87.4141 30.6763
+-87.5253 30.7702
+-87.6256 30.8527
+-87.5912 30.9470
+-87.5912 30.9682
+-87.6050 30.9964
+----
+-85.6082 34.9974
+-84.7266 34.9906
+-84.1580 34.9895
+-83.1088 34.9996
+-83.1418 34.9287
+-83.3025 34.8318
+-83.3560 34.7281
+-83.3080 34.6569
+-83.1528 34.5744
+-83.0072 34.4839
+-82.8918 34.4681
+-82.8589 34.4443
+-82.7490 34.2674
+-82.6831 34.1254
+-82.5952 34.0140
+-82.3988 33.8647
+-82.2505 33.7563
+-82.2217 33.6695
+-82.1558 33.5963
+-82.0432 33.5036
+-81.9484 33.3707
+-81.8303 33.2077
+-81.7795 33.1674
+-81.7424 33.1456
+-81.6078 33.0881
+-81.5034 33.0075
+-81.5089 32.9418
+-81.4142 32.6914
+-81.4087 32.5815
+-81.2769 32.5283
+-81.1945 32.4576
+-81.1642 32.3185
+-81.1436 32.2151
+-81.1134 32.1128
+-80.9225 32.0477
+-80.6960 32.0500
+-80.7289 31.8881
+-80.9665 31.4697
+-81.1011 30.9988
+-81.2288 30.7041
+-81.6023 30.7241
+-81.7657 30.7713
+-81.9498 30.8221
+-82.0239 30.7560
+-82.0459 30.6379
+-82.0239 30.4866
+-82.0363 30.4309
+-82.0610 30.3575
+-82.1585 30.3598
+-82.2025 30.3859
+-82.2148 30.4842
+-82.2162 30.5682
+-82.9688 30.6131
+-84.8639 30.7041
+-84.9257 30.7831
+-84.9586 30.9117
+-84.9985 30.9741
+-85.0630 31.1282
+-85.1070 31.2116
+-85.0493 31.5247
+-85.1358 31.8006
+-85.0919 31.9592
+-85.0342 32.1570
+-84.9023 32.2500
+-84.9628 32.3974
+-85.0342 32.5468
+-85.1001 32.6949
+-85.1660 32.8138
+-85.2072 32.9833
+-85.3418 33.6512
+-85.5231 34.5620
+-85.6068 34.9929
+----
+-95.7623 40.5848
+-93.5445 40.5785
+-91.7372 40.6129
+-91.6768 40.5545
+-91.6246 40.5451
+-91.4365 40.3622
+-91.3623 40.4637
+-91.4021 40.5482
+-91.1124 40.6931
+-91.1028 40.8107
+-90.9668 40.9218
+-91.0121 41.1642
+-91.1082 41.2406
+-91.0451 41.4067
+-90.7086 41.4510
+-90.4793 41.5178
+-90.3419 41.5908
+-90.2788 41.7457
+-90.2074 41.8164
+-90.1538 41.9023
+-90.1744 42.0962
+-90.2692 42.1441
+-90.4298 42.2905
+-90.5370 42.4093
+-90.6400 42.5217
+-90.7127 42.6360
+-90.7883 42.6956
+-91.0533 42.7712
+-91.0904 42.8448
+-91.1398 42.9082
+-91.1549 43.0609
+-91.1522 43.1391
+-91.0547 43.2882
+-91.2057 43.3322
+-91.2236 43.4140
+-91.2305 43.5008
+-96.5973 43.4998
+-96.6110 43.4818
+-96.5245 43.3871
+-96.5533 43.2232
+-96.4421 43.1301
+-96.5479 42.9243
+-96.6357 42.7188
+-96.5561 42.6158
+-96.4847 42.5055
+-96.3995 42.4599
+-96.4050 42.3667
+-96.3446 42.2722
+-96.3625 42.2051
+-96.2416 41.9983
+-96.1372 41.9513
+-96.0741 41.7662
+-96.0988 41.6267
+-95.9477 41.4561
+-95.8804 41.2819
+-95.8653 41.0338
+-95.8365 40.8346
+-95.8461 40.6775
+-95.7610 40.5837
+----
+-117.0319 49.0000
+-116.0486 49.0018
+-116.0445 47.9752
+-115.6915 47.5765
+-115.7574 47.5487
+-115.7595 47.4239
+-115.5350 47.3109
+-115.3235 47.2606
+-115.2878 47.1888
+-115.2493 47.1542
+-115.0433 46.9728
+-114.9472 46.8677
+-114.7865 46.7201
+-114.7549 46.6984
+-114.5874 46.6325
+-114.4638 46.6325
+-114.3279 46.6466
+-114.3430 46.5135
+-114.3896 46.4530
+-114.4144 46.3488
+-114.4611 46.2682
+-114.5105 46.1227
+-114.4418 45.8585
+-114.5654 45.7742
+-114.5229 45.6745
+-114.5654 45.5621
+-114.4666 45.5439
+-114.3375 45.4601
+-114.2441 45.5468
+-114.1342 45.5631
+-113.9708 45.6889
+-113.8403 45.6102
+-113.7978 45.4409
+-113.7085 45.2720
+-113.4256 45.0260
+-113.4998 44.9405
+-113.3459 44.7887
+-113.2471 44.8062
+-113.1180 44.7350
+-113.0246 44.4887
+-112.8502 44.3592
+-112.8310 44.4151
+-112.7266 44.4887
+-112.3901 44.4504
+-112.3270 44.5347
+-112.1127 44.5220
+-111.8848 44.5582
+-111.8271 44.5132
+-111.4645 44.5396
+-111.5057 44.6198
+-111.3684 44.7292
+-111.0539 44.4759
+-111.0471 43.8623
+-111.0471 42.0013
+-112.1663 41.9962
+-113.8458 41.9871
+-114.0422 41.9942
+-114.8222 42.0013
+-115.9126 41.9973
+-117.0140 41.9962
+-117.0264 42.0013
+-117.0277 43.7820
+-117.0325 43.8330
+-117.0030 43.8632
+-116.9776 43.9073
+-116.9302 44.0244
+-116.9735 44.0491
+-116.9330 44.1014
+-116.8945 44.1561
+-116.9714 44.1965
+-116.9810 44.2442
+-117.0339 44.2486
+-117.0525 44.2304
+-117.0895 44.2585
+-117.1122 44.2806
+-117.1541 44.2590
+-117.2255 44.2973
+-117.1994 44.3445
+-117.2372 44.3813
+-117.2269 44.4769
+-117.1836 44.5234
+-117.1458 44.5376
+-117.0442 44.7423
+-116.9316 44.7921
+-116.8980 44.8568
+-116.8327 44.9356
+-116.8513 44.9624
+-116.8554 44.9896
+-116.8417 45.0313
+-116.7819 45.0968
+-116.7229 45.1627
+-116.7105 45.2178
+-116.6741 45.3213
+-116.6185 45.3984
+-116.5883 45.4433
+-116.5553 45.4630
+-116.5334 45.5371
+-116.4640 45.6140
+-116.5354 45.6904
+-116.5354 45.7340
+-116.5594 45.7541
+-116.6357 45.7843
+-116.5965 45.7781
+-116.6597 45.7805
+-116.7105 45.8259
+-116.7586 45.8159
+-116.7908 45.8341
+-116.8046 45.8642
+-116.8595 45.9053
+-116.8739 45.9545
+-116.8925 45.9769
+-116.9302 46.0218
+-116.9838 46.0932
+-116.9344 46.1385
+-116.9268 46.1727
+-116.9646 46.2007
+-116.9591 46.2435
+-116.9920 46.2782
+-117.0209 46.3152
+-117.0511 46.3446
+-117.0408 46.4270
+-117.0394 46.9451
+-117.0319 48.9996
+----
+-90.6290 42.5116
+-87.0213 42.4924
+-87.2067 41.7641
+-87.5226 41.7611
+-87.5336 39.6417
+-87.5308 39.3566
+-87.6517 39.1386
+-87.5157 38.9445
+-87.5047 38.7294
+-87.6146 38.6115
+-87.6544 38.4944
+-87.7780 38.3740
+-87.8371 38.2856
+-87.9758 38.2414
+-87.9291 38.1454
+-88.0225 37.9788
+-88.0458 37.8900
+-88.0321 37.7881
+-88.1529 37.6349
+-88.0609 37.5097
+-88.4152 37.4149
+-88.5086 37.2828
+-88.4221 37.1428
+-88.4990 37.0585
+-88.7256 37.1428
+-88.9453 37.2128
+-89.0689 37.1559
+-89.1650 37.0376
+-89.2873 36.9894
+-89.4356 37.1505
+-89.5345 37.2762
+-89.4315 37.3996
+-89.5358 37.6936
+-89.9670 37.9767
+-90.3790 38.2587
+-90.2376 38.6169
+-90.1744 38.7573
+-90.1167 38.8247
+-90.1799 38.8846
+-90.4504 38.9680
+-90.5905 38.8654
+-90.7086 39.0405
+-90.7306 39.2301
+-90.8350 39.3173
+-90.9338 39.3853
+-91.1398 39.5559
+-91.3554 39.7262
+-91.4406 39.8570
+-91.4941 39.9940
+-91.5120 40.1694
+-91.4667 40.3497
+-91.3939 40.4166
+-91.4021 40.5566
+-91.2524 40.6265
+-91.1151 40.6963
+-91.0890 40.8232
+-90.9792 40.9312
+-91.0162 41.1642
+-91.1055 41.2355
+-91.0368 41.4170
+-90.8487 41.4458
+-90.7251 41.4417
+-90.3516 41.5816
+-90.2637 41.7713
+-90.1538 41.9023
+-90.1758 42.0819
+-90.3598 42.2021
+-90.4395 42.2936
+-90.5356 42.4032
+-90.6564 42.4843
+----
+-87.5253 41.7611
+-84.8090 41.7611
+-84.8199 39.0981
+-84.8927 39.0533
+-84.8625 38.8996
+-84.8268 38.8312
+-84.8145 38.7841
+-84.8941 38.7905
+-84.9861 38.7809
+-85.1797 38.6877
+-85.4420 38.7198
+-85.4091 38.5653
+-85.5986 38.4461
+-85.7510 38.2695
+-85.8266 38.2824
+-85.8376 38.2414
+-85.9035 38.0967
+-85.9200 38.0232
+-86.0477 37.9594
+-86.0944 38.0102
+-86.2729 38.0578
+-86.2811 38.0935
+-86.2729 38.1346
+-86.3704 38.1842
+-86.5187 38.0416
+-86.5874 37.9193
+-86.6409 37.8402
+-86.6478 37.9085
+-86.6876 37.9085
+-86.8236 37.9821
+-86.9019 37.9464
+-87.0392 37.9009
+-87.1394 37.7924
+-87.4429 37.9464
+-87.5885 37.9756
+-87.6283 37.9225
+-87.6915 37.8694
+-87.8879 37.9236
+-87.9620 37.7718
+-88.0321 37.7870
+-88.0376 37.8092
+-88.0643 37.8011
+-88.0925 37.8206
+-88.0451 37.8223
+-88.0575 37.8483
+-88.0980 37.9041
+-88.0705 37.9307
+-88.0369 37.9561
+-88.0122 37.9669
+-88.0259 38.0102
+-88.0417 38.0384
+-88.0005 38.0530
+-87.9607 38.0762
+-88.0163 38.1000
+-87.9710 38.1313
+-87.9284 38.1497
+-87.9387 38.1734
+-87.9730 38.1939
+-87.9813 38.2349
+-87.9421 38.2608
+-87.8604 38.2759
+-87.8302 38.3029
+-87.8350 38.3233
+-87.8137 38.3567
+-87.7739 38.3767
+-87.7444 38.4116
+-87.6448 38.5149
+-87.6723 38.5460
+-87.6105 38.5949
+-87.6242 38.5986
+-87.5343 38.6828
+-87.5075 38.7284
+-87.4972 38.7696
+-87.5322 38.8247
+-87.5171 38.9039
+-87.5253 38.9413
+-87.5281 38.9712
+-87.5761 38.9872
+-87.6228 39.0906
+-87.6517 39.1066
+-87.6599 39.1365
+-87.6366 39.1695
+-87.5899 39.2493
+-87.5336 39.3492
+-87.5253 41.7600
+----
+-102.0506 40.0034
+-102.0506 40.0034
+-102.0438 36.9927
+-94.6211 36.9982
+-94.6046 38.8803
+-94.6143 39.0789
+-94.6184 39.1971
+-94.7255 39.1673
+-94.8793 39.2759
+-95.0990 39.5612
+-94.8807 39.7283
+-94.8930 39.8286
+-94.9342 39.8823
+-95.0098 39.8971
+-95.0922 39.8760
+-95.2213 39.9445
+-95.3036 40.0087
+-102.0506 40.0024
+----
+-89.5372 36.4986
+-89.3010 36.5074
+-88.6871 36.5008
+-88.0568 36.4931
+-88.0692 36.6695
+-87.8535 36.6343
+-86.5654 36.6265
+-83.6375 36.5979
+-83.3423 36.6860
+-83.1377 36.7466
+-82.8589 36.9762
+-82.3192 37.2894
+-82.0308 37.4934
+-82.2121 37.6653
+-82.4016 37.8618
+-82.5073 37.9908
+-82.6392 38.1778
+-82.5952 38.3761
+-82.7477 38.5030
+-82.8369 38.5825
+-82.9015 38.7316
+-83.0196 38.7027
+-83.1418 38.6190
+-83.2819 38.5986
+-83.5291 38.6941
+-83.6595 38.6351
+-83.8930 38.7487
+-84.0440 38.7701
+-84.2184 38.8119
+-84.3228 38.9872
+-84.4917 39.1013
+-84.6277 39.1183
+-84.7554 39.1439
+-84.8914 39.0523
+-84.8735 38.9263
+-84.8131 38.7894
+-84.9957 38.7691
+-85.1921 38.6866
+-85.4407 38.7209
+-85.4077 38.5653
+-85.5972 38.4461
+-85.7455 38.2748
+-85.8087 38.2716
+-85.8650 38.2069
+-85.9323 38.0286
+-86.0422 37.9550
+-86.1108 38.0135
+-86.2756 38.0643
+-86.2770 38.1389
+-86.3690 38.1864
+-86.5283 38.0308
+-86.5874 37.9204
+-86.6423 37.8423
+-86.6547 37.9041
+-86.8250 37.9864
+-87.0406 37.9095
+-87.1381 37.7935
+-87.4168 37.9420
+-87.5858 37.9745
+-87.6929 37.8749
+-87.8906 37.9215
+-87.9552 37.7761
+-88.0307 37.7903
+-88.1584 37.6479
+-88.0664 37.5097
+-88.4180 37.4193
+-88.5086 37.2784
+-88.4248 37.1428
+-88.5059 37.0738
+-88.7421 37.1461
+-88.9522 37.2249
+-89.0964 37.1406
+-89.1815 37.0278
+-89.1032 36.9488
+-89.1733 36.8214
+-89.1925 36.7411
+-89.2007 36.6265
+-89.2529 36.5449
+-89.3518 36.6232
+-89.5345 36.4986
+----
+-94.0430 33.0225
+-93.0048 33.0179
+-91.1646 33.0087
+-91.2209 32.9269
+-91.1220 32.8773
+-91.1481 32.8358
+-91.1412 32.7642
+-91.1536 32.6382
+-91.1069 32.5804
+-91.0080 32.6093
+-91.0904 32.4588
+-91.0355 32.4379
+-91.0286 32.3742
+-90.9064 32.3150
+-90.9723 32.2616
+-91.0464 32.1942
+-91.0739 32.1198
+-91.0464 32.0593
+-91.1014 31.9918
+-91.1865 31.9498
+-91.3101 31.8262
+-91.3527 31.7947
+-91.3925 31.6230
+-91.5134 31.6218
+-91.4310 31.5668
+-91.5161 31.5130
+-91.5244 31.3701
+-91.5477 31.2598
+-91.6425 31.2692
+-91.6603 31.2328
+-91.5848 31.1917
+-91.6287 31.1047
+-91.5614 31.0318
+-91.6397 30.9988
+-89.7336 31.0012
+-89.8517 30.6686
+-89.7858 30.5386
+-89.6347 30.3148
+-89.5688 30.1807
+-89.4960 30.1582
+-89.1843 30.2140
+-89.0373 30.1463
+-88.8354 30.0905
+-88.7421 29.8383
+-88.8712 29.5758
+-88.9371 29.1833
+-89.0359 28.9649
+-89.2282 28.8832
+-89.4754 28.9048
+-89.7418 29.1210
+-90.1126 28.9529
+-90.6619 28.9120
+-91.0355 28.9553
+-91.3211 29.1210
+-91.9061 29.2864
+-92.7452 29.4360
+-93.8177 29.6009
+-93.8631 29.6749
+-93.8933 29.7370
+-93.9304 29.7930
+-93.9276 29.8216
+-93.8370 29.8883
+-93.7985 29.9811
+-93.7601 30.0144
+-93.7106 30.0691
+-93.7354 30.0929
+-93.6996 30.1166
+-93.7271 30.1997
+-93.7106 30.2899
+-93.7656 30.3350
+-93.7601 30.3871
+-93.6914 30.4416
+-93.7106 30.5102
+-93.7463 30.5433
+-93.7106 30.5954
+-93.6914 30.5906
+-93.6859 30.6545
+-93.6365 30.6781
+-93.6200 30.7513
+-93.5925 30.7890
+-93.5513 30.8150
+-93.5623 30.8645
+-93.5788 30.8881
+-93.5541 30.9187
+-93.5294 30.9423
+-93.5760 31.0082
+-93.5101 31.0318
+-93.5596 31.0906
+-93.5321 31.1211
+-93.5349 31.1799
+-93.5953 31.1658
+-93.6282 31.2292
+-93.6118 31.2668
+-93.6859 31.3044
+-93.6694 31.3888
+-93.7051 31.4240
+-93.6859 31.4427
+-93.7573 31.4755
+-93.7189 31.5083
+-93.8040 31.5411
+-93.8425 31.6113
+-93.8205 31.6581
+-93.7985 31.7071
+-93.8480 31.8029
+-93.9029 31.8892
+-93.9606 31.9149
+-94.0430 32.0081
+-94.0430 32.7041
+-94.0430 33.0225
+----
+-72.7789 42.0003
+-72.7405 42.0330
+-72.3779 42.0330
+-71.7984 42.0228
+-71.8011 42.0085
+-71.3850 42.0197
+-71.3837 41.8961
+-71.3411 41.8982
+-71.3370 41.8358
+-71.3493 41.8245
+-71.3342 41.7816
+-71.2628 41.7529
+-71.1914 41.6719
+-71.1351 41.6616
+-71.1433 41.6124
+-71.1310 41.5939
+-71.1214 41.4973
+-71.0266 41.3149
+-70.8316 41.1590
+-69.9225 41.1662
+-69.7948 41.3201
+-69.7398 41.8133
+-70.0337 42.1939
+-70.5144 42.2173
+-70.6984 42.4133
+-70.3647 42.6420
+-70.4759 42.8286
+-70.6133 42.8760
+-70.8440 42.8619
+-70.9154 42.8890
+-71.0651 42.8075
+-71.1337 42.8226
+-71.1859 42.7873
+-71.1832 42.7369
+-71.2189 42.7470
+-71.2560 42.7400
+-71.2985 42.6986
+-71.9151 42.7127
+-72.5441 42.7309
+-73.2541 42.7450
+-73.2664 42.7460
+-73.3406 42.5460
+-73.4436 42.2671
+-73.4917 42.1349
+-73.5081 42.0880
+-73.4985 42.0483
+-73.1841 42.0452
+-72.8146 42.0371
+-72.8160 41.9962
+-72.7803 42.0024
+----
+-79.4778 39.7220
+-78.3600 39.7220
+-75.7878 39.7220
+-75.7809 39.5655
+-75.7617 39.3152
+-75.7329 38.9498
+-75.6944 38.4611
+-74.8581 38.4482
+-74.9721 38.0200
+-75.2316 38.0275
+-75.6079 37.9962
+-75.6230 37.9951
+-75.6436 37.9464
+-75.7288 37.9529
+-75.8084 37.9117
+-75.9512 37.9095
+-75.9430 37.9464
+-76.0584 37.9529
+-76.2396 37.8889
+-76.3454 37.9474
+-76.4154 37.9669
+-76.4703 38.0146
+-76.5170 38.0275
+-76.5363 38.0751
+-76.6063 38.1464
+-76.6928 38.1616
+-76.7601 38.1670
+-76.8494 38.1637
+-76.9482 38.2080
+-76.9908 38.2748
+-77.0306 38.3093
+-77.0114 38.3761
+-77.0430 38.4009
+-77.0897 38.3697
+-77.1432 38.3697
+-77.2627 38.3320
+-77.3135 38.4525
+-77.2737 38.5514
+-77.2490 38.5954
+-77.1281 38.6373
+-77.1378 38.6737
+-77.0760 38.7112
+-77.0361 38.7187
+-77.0416 38.7766
+-77.0320 38.8451
+-77.0708 38.9025
+-77.1395 38.9570
+-77.2335 38.9773
+-77.2462 39.0240
+-77.3431 39.0634
+-77.4351 39.0717
+-77.4636 39.0792
+-77.5202 39.1218
+-77.5092 39.1804
+-77.4577 39.2269
+-77.5666 39.3051
+-77.6321 39.3067
+-77.7159 39.3202
+-77.7626 39.3383
+-77.7544 39.3810
+-77.7602 39.4288
+-77.8038 39.4367
+-77.7997 39.4606
+-77.7859 39.5019
+-77.8436 39.5062
+-77.8217 39.5210
+-77.8354 39.5337
+-77.8656 39.5231
+-77.8848 39.5591
+-77.8821 39.6015
+-77.9974 39.6078
+-78.0222 39.6247
+-78.1430 39.6924
+-78.1924 39.6945
+-78.2062 39.6839
+-78.2419 39.6839
+-78.2281 39.6586
+-78.2776 39.6226
+-78.3517 39.6438
+-78.3765 39.6120
+-78.4067 39.6036
+-78.4177 39.5824
+-78.4245 39.5750
+-78.4232 39.5464
+-78.4698 39.5146
+-78.5687 39.5189
+-78.6676 39.5337
+-78.7390 39.5888
+-78.7720 39.6015
+-78.7363 39.6184
+-78.7775 39.6438
+-78.7912 39.6036
+-78.8187 39.6036
+-78.8571 39.5549
+-78.9203 39.4913
+-78.9725 39.4426
+-79.0542 39.4834
+-79.0604 39.4738
+-79.1043 39.4553
+-79.1936 39.3853
+-79.2705 39.3449
+-79.3282 39.3014
+-79.4044 39.2535
+-79.4696 39.2073
+-79.4861 39.2051
+-79.4861 39.2546
+-79.4854 39.3444
+-79.4840 39.3454
+-79.4833 39.5316
+-79.4772 39.7214
+----
+-71.0129 45.3425
+-70.9525 45.3328
+-70.8618 45.2294
+-70.8247 45.3917
+-70.7808 45.4274
+-70.6380 45.3830
+-70.7190 45.5092
+-70.5721 45.6544
+-70.3894 45.7292
+-70.4169 45.7924
+-70.2493 45.9368
+-70.3098 45.9597
+-70.2946 46.0923
+-70.2589 46.0989
+-70.2466 46.1342
+-70.2905 46.1903
+-70.2466 46.2710
+-70.2040 46.3270
+-70.0571 46.4151
+-69.9994 46.6956
+-69.2303 47.4550
+-69.0381 47.4132
+-69.0504 47.2578
+-68.8843 47.1748
+-68.6206 47.2643
+-68.3350 47.3546
+-68.1564 47.3165
+-67.8804 47.1038
+-67.7898 47.0664
+-67.7802 45.9359
+-67.7527 45.9177
+-67.8090 45.7599
+-67.6524 45.6208
+-67.4533 45.5987
+-67.4176 45.5044
+-67.5014 45.4823
+-67.4231 45.3714
+-67.4863 45.2768
+-67.3434 45.1297
+-67.2487 45.1830
+-67.1223 45.1230
+-66.9672 44.8315
+-66.8628 44.7409
+-67.3105 44.4945
+-67.9051 44.3268
+-68.6673 43.8702
+-68.8431 43.7274
+-69.7137 43.6639
+-70.0818 43.5625
+-70.5569 42.9182
+-70.7108 43.0649
+-70.8302 43.1391
+-70.8179 43.2292
+-70.9799 43.3631
+-70.9717 43.5675
+-71.0829 45.3029
+----
+-88.3713 48.3033
+-87.6050 48.0101
+-84.8584 46.8902
+-84.7650 46.6362
+-84.5563 46.4606
+-84.4780 46.4525
+-84.4450 46.4894
+-84.4203 46.5008
+-84.3956 46.4989
+-84.3750 46.5093
+-84.3386 46.5069
+-84.2905 46.4927
+-84.2651 46.4951
+-84.2253 46.5343
+-84.1951 46.5404
+-84.1779 46.5272
+-84.1347 46.5348
+-84.1113 46.5041
+-84.1457 46.4189
+-84.1395 46.3720
+-84.1058 46.3218
+-84.1203 46.3147
+-84.1148 46.2672
+-84.0969 46.2563
+-84.1093 46.2411
+-84.0859 46.2098
+-84.0777 46.1879
+-84.0097 46.1508
+-84.0070 46.1180
+-83.9761 46.1018
+-83.9555 46.0570
+-83.9040 46.0604
+-83.8264 46.1185
+-83.7598 46.1028
+-83.6547 46.1218
+-83.5723 46.1056
+-83.4343 45.9993
+-83.5977 45.8211
+-82.5197 45.3396
+-82.1221 43.5918
+-82.4119 43.0112
+-82.4249 42.9956
+-82.4236 42.9579
+-82.4648 42.9021
+-82.4689 42.8543
+-82.4826 42.8100
+-82.4723 42.7863
+-82.4847 42.7339
+-82.5032 42.6855
+-82.5108 42.6380
+-82.5307 42.6036
+-82.5774 42.5672
+-82.5993 42.5490
+-82.6501 42.5521
+-82.6680 42.5354
+-82.7257 42.4746
+-82.7250 42.4726
+-82.8280 42.3738
+-82.9440 42.3469
+-82.9550 42.3382
+-83.0779 42.3098
+-83.1294 42.2392
+-83.1342 42.1741
+-83.1212 42.1267
+-83.1493 42.0411
+-83.1116 41.9600
+-83.4164 41.7344
+-83.8724 41.7211
+-84.3736 41.7057
+-84.8062 41.6965
+-84.8076 41.7611
+-87.2067 41.7621
+-87.0241 42.4934
+-87.1477 43.3771
+-87.1216 43.7056
+-87.0474 43.9958
+-86.9939 44.1674
+-86.8662 44.4720
+-86.6849 44.8841
+-86.5009 45.0813
+-86.2495 45.2353
+-86.7563 45.4438
+-87.0996 45.4438
+-87.1518 45.3772
+-87.1710 45.3502
+-87.3166 45.2401
+-87.4059 45.2024
+-87.4416 45.0774
+-87.5912 45.0910
+-87.6407 45.1036
+-87.6970 45.2207
+-87.6476 45.3367
+-87.6984 45.3878
+-87.8494 45.3425
+-87.7959 45.5025
+-87.7890 45.6726
+-87.9318 45.7570
+-87.9922 45.7953
+-88.1186 45.8058
+-88.0870 45.8585
+-88.1955 45.9531
+-88.3438 45.9722
+-88.3891 45.9836
+-88.5457 46.0113
+-88.7022 45.9970
+-88.8135 46.0227
+-88.8547 46.0418
+-89.0936 46.1408
+-90.1222 46.3384
+-90.4175 46.5692
+-90.2019 46.9034
+-89.9547 47.2913
+-89.4946 48.0129
+-89.3381 47.9743
+-88.6761 48.2448
+-88.3726 48.3042
+----
+-96.4517 43.5008
+-91.2195 43.5017
+-91.3101 43.8226
+-91.4914 43.9651
+-91.7084 44.1113
+-91.8951 44.2806
+-91.9556 44.3710
+-92.2083 44.4357
+-92.3360 44.5513
+-92.6367 44.6501
+-92.7658 44.7877
+-92.7081 45.3135
+-92.6532 45.4505
+-92.8482 45.6083
+-92.7356 45.8307
+-92.5159 45.9760
+-92.3566 46.0151
+-92.2934 46.0789
+-92.2879 46.5957
+-90.6564 47.3072
+-89.9615 47.2885
+-89.4919 48.0120
+-89.7583 48.0193
+-89.9931 48.0285
+-90.0261 48.0827
+-90.1758 48.1074
+-90.3502 48.0955
+-90.4834 48.1074
+-90.5644 48.1175
+-90.7471 48.0928
+-90.7759 48.1588
+-90.8405 48.2402
+-90.9792 48.2174
+-91.3252 48.0726
+-91.5738 48.0505
+-91.7070 48.1166
+-91.7166 48.1963
+-91.9844 48.2494
+-92.0078 48.3188
+-92.0531 48.3544
+-92.1561 48.3599
+-92.2975 48.3307
+-92.2742 48.2475
+-92.3717 48.2228
+-92.4609 48.3854
+-92.5104 48.4474
+-92.7122 48.4611
+-92.6340 48.4984
+-92.6395 48.5403
+-93.2066 48.6393
+-93.4648 48.5884
+-93.4621 48.5439
+-93.8013 48.5166
+-93.8356 48.6284
+-94.2531 48.6547
+-94.2792 48.7046
+-94.4467 48.6982
+-94.6925 48.7861
+-94.6788 48.8756
+-94.7488 49.0955
+-94.7955 49.1889
+-94.8175 49.3189
+-94.9631 49.3815
+-95.0400 49.3538
+-95.1196 49.3681
+-95.1553 49.3877
+-95.1553 48.9991
+-97.2304 49.0000
+-97.1851 48.8647
+-97.1576 48.7806
+-97.1040 48.6683
+-97.1645 48.5539
+-97.1411 48.2832
+-97.1397 48.1578
+-97.0587 47.9633
+-96.9434 47.7098
+-96.8582 47.5821
+-96.8335 47.2345
+-96.8005 46.6702
+-96.7126 46.5135
+-96.6028 46.2786
+-96.5767 46.0189
+-96.5891 45.8173
+-96.8486 45.6169
+-96.7456 45.4601
+-96.5918 45.3676
+-96.4558 45.2961
+-96.4531 43.5008
+----
+-91.7468 40.6181
+-91.6809 40.5597
+-91.6260 40.5472
+-91.5463 40.4658
+-91.4337 40.3675
+-91.5161 40.1663
+-91.4900 39.9866
+-91.4447 39.8634
+-91.3623 39.7283
+-91.3074 39.6861
+-91.1096 39.5464
+-90.9558 39.4022
+-90.7306 39.2450
+-90.6812 38.9893
+-90.5878 38.8697
+-90.4504 38.9722
+-90.1813 38.8868
+-90.1154 38.8269
+-90.1978 38.7155
+-90.3186 38.4149
+-90.3790 38.2597
+-89.9341 37.9572
+-89.5331 37.6925
+-89.4287 37.4007
+-89.5386 37.2784
+-89.4452 37.1734
+-89.3793 37.0859
+-89.2859 36.9938
+-89.1829 37.0311
+-89.1403 36.9839
+-89.1005 36.9466
+-89.1788 36.7884
+-89.2035 36.6288
+-89.2516 36.5449
+-89.3532 36.6188
+-89.4397 36.5538
+-89.5358 36.4942
+-89.5331 36.3594
+-89.5345 36.2509
+-89.6100 36.0891
+-89.7116 36.0002
+-90.3735 35.9958
+-90.2747 36.1223
+-90.0934 36.2886
+-90.0769 36.3903
+-90.1538 36.4213
+-90.1538 36.5008
+-94.6184 36.4975
+-94.6143 38.9722
+-94.6143 39.1982
+-94.7241 39.1684
+-94.8834 39.2790
+-95.1086 39.5612
+-94.8834 39.7283
+-94.8944 39.8296
+-94.9384 39.8845
+-95.0153 39.8971
+-95.0922 39.8718
+-95.3119 40.0066
+-95.4794 40.2460
+-95.6635 40.3256
+-95.7527 40.5879
+-94.3135 40.5795
+-92.5818 40.5962
+-91.7358 40.6140
+----
+-90.3049 35.0041
+-88.1955 35.0075
+-88.0994 34.8882
+-88.1241 34.7044
+-88.2573 33.6661
+-88.4756 31.8939
+-88.4180 30.8657
+-88.3850 30.1594
+-88.8327 30.0905
+-89.1870 30.2104
+-89.4919 30.1570
+-89.5757 30.1796
+-89.6457 30.3326
+-89.7748 30.5232
+-89.8531 30.6663
+-89.7377 30.9988
+-91.6287 30.9988
+-91.5601 31.0341
+-91.6273 31.1106
+-91.5916 31.1658
+-91.6589 31.2304
+-91.6452 31.2656
+-91.5436 31.2609
+-91.5271 31.3724
+-91.5161 31.4099
+-91.5120 31.5071
+-91.4502 31.5692
+-91.5147 31.6230
+-91.3966 31.6253
+-91.3513 31.7936
+-91.2744 31.8589
+-91.1673 31.9755
+-91.0767 32.0267
+-91.0767 32.1198
+-91.0437 32.1942
+-91.0107 32.2221
+-90.9132 32.3150
+-91.0313 32.3742
+-91.0217 32.4263
+-91.0986 32.4634
+-91.0080 32.6070
+-91.1096 32.5746
+-91.1536 32.6394
+-91.1426 32.7226
+-91.1426 32.7873
+-91.1536 32.8519
+-91.1206 32.8796
+-91.2195 32.9257
+-91.2085 32.9995
+-91.2016 33.0444
+-91.2016 33.1192
+-91.1041 33.1835
+-91.1536 33.3397
+-91.1646 33.4223
+-91.2291 33.4337
+-91.2524 33.5414
+-91.1838 33.6135
+-91.2524 33.6878
+-91.1261 33.6969
+-91.1426 33.7883
+-91.0437 33.7700
+-91.0327 33.8339
+-91.0657 33.8795
+-91.0876 33.9434
+-90.9998 33.9889
+-90.9229 34.0253
+-90.9009 34.0891
+-90.9668 34.1345
+-90.9119 34.1709
+-90.8501 34.1345
+-90.9338 34.2277
+-90.8267 34.2833
+-90.6921 34.3434
+-90.6509 34.3774
+-90.6152 34.3978
+-90.5589 34.4432
+-90.5740 34.5179
+-90.5823 34.5880
+-90.5356 34.7506
+-90.5136 34.7913
+-90.4532 34.8780
+-90.3543 34.8476
+-90.2911 34.8702
+-90.3062 35.0041
+----
+-111.0512 44.4750
+-111.3684 44.7311
+-111.5071 44.6198
+-111.4673 44.5386
+-111.8285 44.5151
+-111.8848 44.5592
+-112.1127 44.5229
+-112.3270 44.5367
+-112.3901 44.4475
+-112.7293 44.4896
+-112.8296 44.4181
+-112.8529 44.3563
+-113.0205 44.4857
+-113.0713 44.5905
+-113.1152 44.7389
+-113.2471 44.8091
+-113.3459 44.7887
+-113.4970 44.9386
+-113.4229 45.0269
+-113.7085 45.2749
+-113.7964 45.4447
+-113.8403 45.6140
+-113.9722 45.6908
+-114.1315 45.5631
+-114.2358 45.5525
+-114.3347 45.4592
+-114.4652 45.5439
+-114.5668 45.5583
+-114.5215 45.6755
+-114.5641 45.7733
+-114.4391 45.8613
+-114.4817 45.9989
+-114.5132 46.1237
+-114.4652 46.2577
+-114.4171 46.3441
+-114.3896 46.4530
+-114.3484 46.5069
+-114.3279 46.6504
+-114.4652 46.6334
+-114.5929 46.6362
+-114.7659 46.7003
+-114.9307 46.8423
+-115.1147 47.0402
+-115.2933 47.1888
+-115.3290 47.2569
+-115.5267 47.3025
+-115.7547 47.4253
+-115.7533 47.5487
+-115.6956 47.5793
+-116.0458 47.9771
+-116.0458 48.9991
+-104.0501 48.9991
+-104.0186 45.0269
+-104.0186 45.0153
+-104.0199 44.9978
+-111.0498 44.9959
+-111.0512 44.4750
+----
+-78.4850 33.7963
+-79.6742 34.8037
+-80.8003 34.8206
+-80.7880 34.9377
+-80.9377 35.1019
+-81.0379 35.0356
+-81.0324 35.1457
+-81.3867 35.1660
+-82.2739 35.1985
+-82.3933 35.2041
+-82.7765 35.0637
+-82.7861 35.0817
+-83.1075 34.9996
+-83.6183 34.9918
+-84.3201 34.9918
+-84.2885 35.2131
+-84.2226 35.2680
+-84.1113 35.2310
+-84.0454 35.2815
+-84.0248 35.4058
+-83.9424 35.4719
+-83.8559 35.5166
+-83.6938 35.5512
+-83.5181 35.5680
+-83.3849 35.6327
+-83.2475 35.7142
+-82.9962 35.7799
+-82.9276 35.8445
+-82.8191 35.9224
+-82.7710 35.9958
+-82.6419 36.0613
+-82.6103 35.9702
+-82.5677 35.9547
+-82.4730 36.0236
+-82.4194 36.0669
+-82.3535 36.1168
+-82.2862 36.1345
+-82.1461 36.1467
+-82.1228 36.1035
+-82.0267 36.1268
+-81.9360 36.2797
+-81.7987 36.3527
+-81.7081 36.3361
+-81.6724 36.5880
+-80.7234 36.5659
+-80.2977 36.5438
+-79.6729 36.5449
+-77.2559 36.5449
+-75.7562 36.5505
+-75.7068 36.3129
+-75.4129 35.7131
+-75.4720 35.2041
+-76.0748 34.9794
+-76.4951 34.5258
+-76.8109 34.5880
+-77.1378 34.5314
+-77.4481 34.3910
+-77.7983 34.0481
+-77.9260 33.7666
+-78.4863 33.7963
+----
+-104.0501 48.9955
+-104.0446 45.9445
+-96.5671 45.9340
+-96.6028 46.3242
+-96.7978 46.6636
+-96.7896 46.8602
+-96.7896 46.9503
+-96.8335 47.1300
+-96.8335 47.2345
+-96.8555 47.4132
+-96.8555 47.5469
+-96.8774 47.6506
+-97.0601 47.9918
+-97.1260 48.1267
+-97.1109 48.2859
+-97.1233 48.4301
+-97.1425 48.5530
+-97.0999 48.6765
+-97.1356 48.7326
+-97.1727 48.7951
+-97.2290 48.9081
+-97.2331 48.9982
+-104.0501 48.9946
+----
+-104.0543 42.9986
+-104.0543 41.0027
+-102.0506 41.0006
+-102.0493 40.0034
+-95.3091 39.9992
+-95.4808 40.2397
+-95.6470 40.3130
+-95.6689 40.4302
+-95.7500 40.5900
+-95.8543 40.6827
+-95.8447 40.8138
+-95.8324 40.9654
+-95.8667 41.0794
+-95.8722 41.2923
+-95.9354 41.4458
+-95.9999 41.5261
+-96.0988 41.6380
+-96.0686 41.7703
+-96.1084 41.8368
+-96.1372 41.9677
+-96.2402 42.0330
+-96.2746 42.1155
+-96.3583 42.2021
+-96.3281 42.2448
+-96.4188 42.3890
+-96.4037 42.4731
+-96.6357 42.5369
+-96.7099 42.6057
+-96.6893 42.6532
+-96.7621 42.6602
+-96.8390 42.7147
+-96.9763 42.7571
+-97.2029 42.8085
+-97.2290 42.8458
+-97.3979 42.8629
+-97.5133 42.8427
+-97.6149 42.8488
+-97.8456 42.8659
+-97.9980 42.7470
+-98.1450 42.8337
+-98.4485 42.9293
+-98.5020 42.9966
+-104.0543 43.0006
+----
+-71.5045 45.0153
+-71.4977 45.0532
+-71.4619 45.0910
+-71.4276 45.1520
+-71.3960 45.2043
+-71.4455 45.2362
+-71.3878 45.2372
+-71.3617 45.2710
+-71.2834 45.3029
+-71.2299 45.2507
+-71.1818 45.2391
+-71.1584 45.2478
+-71.1337 45.2469
+-71.1145 45.2846
+-71.0843 45.3058
+-71.0527 44.9230
+-71.0143 44.3592
+-70.9840 43.7364
+-70.9731 43.5704
+-70.9813 43.3621
+-70.9030 43.2942
+-70.8083 43.2272
+-70.8261 43.1411
+-70.7671 43.1000
+-70.6970 43.0498
+-70.5583 42.9222
+-70.6146 42.8760
+-70.8467 42.8599
+-70.9195 42.8860
+-71.0609 42.8105
+-71.1420 42.8125
+-71.1873 42.7904
+-71.1832 42.7349
+-71.2463 42.7450
+-71.2972 42.6986
+-71.7421 42.7077
+-72.4590 42.7268
+-72.5098 42.7621
+-72.5414 42.8105
+-72.5592 42.8609
+-72.5317 42.8981
+-72.5400 42.9524
+-72.4919 42.9745
+-72.4658 42.9906
+-72.4480 43.0127
+-72.4713 43.0287
+-72.4713 43.0508
+-72.4356 43.0819
+-72.4452 43.1040
+-72.4342 43.1180
+-72.4590 43.1501
+-72.4329 43.2052
+-72.4384 43.2562
+-72.4095 43.2812
+-72.4150 43.3741
+-72.3807 43.4988
+-72.4013 43.5127
+-72.3779 43.5834
+-72.3134 43.6420
+-72.3024 43.6758
+-72.3079 43.7036
+-72.2694 43.7344
+-72.2035 43.7741
+-72.1870 43.8187
+-72.1843 43.8672
+-72.1568 43.8890
+-72.1321 43.9117
+-72.1198 43.9454
+-72.1170 44.0017
+-72.0470 44.0856
+-72.0552 44.1093
+-72.0387 44.1428
+-72.0580 44.1763
+-72.0703 44.1999
+-72.0525 44.2511
+-72.0607 44.2796
+-72.0291 44.3199
+-71.9783 44.3376
+-71.9289 44.3592
+-71.8712 44.3366
+-71.8135 44.3572
+-71.8108 44.3877
+-71.7778 44.4014
+-71.7380 44.4122
+-71.6597 44.4416
+-71.6542 44.4642
+-71.5855 44.5073
+-71.5746 44.5357
+-71.6048 44.5601
+-71.5897 44.5680
+-71.5649 44.5680
+-71.5485 44.5914
+-71.5649 44.5993
+-71.5540 44.6315
+-71.5924 44.6608
+-71.6130 44.7243
+-71.6364 44.7526
+-71.5746 44.8198
+-71.5526 44.8325
+-71.5553 44.8539
+-71.5279 44.8744
+-71.5018 44.9123
+-71.5182 44.9366
+-71.5237 44.9697
+-71.5443 44.9862
+-71.5237 45.0017
+-71.5045 45.0163
+----
+-74.6950 41.3572
+-74.6559 41.3394
+-73.8940 40.9934
+-73.9586 40.8398
+-74.0094 40.7691
+-74.0231 40.6994
+-74.0437 40.6786
+-74.0808 40.6515
+-74.1357 40.6421
+-74.1962 40.6452
+-74.2003 40.5952
+-74.2195 40.5566
+-74.2552 40.4877
+-74.2264 40.4762
+-73.9503 40.5253
+-73.8885 40.4846
+-73.9352 40.0045
+-74.0410 39.6131
+-74.2209 39.4744
+-74.6713 38.9882
+-74.8553 38.8664
+-75.0476 38.8472
+-75.1685 39.0565
+-75.3250 39.2525
+-75.5544 39.4500
+-75.5612 39.4966
+-75.5283 39.4998
+-75.5338 39.5411
+-75.5090 39.5761
+-75.5708 39.6237
+-75.5104 39.6713
+-75.4843 39.7167
+-75.4156 39.8033
+-75.2632 39.8360
+-75.1918 39.8823
+-74.7922 40.1180
+-74.7331 40.1390
+-74.8485 40.2565
+-74.9419 40.3361
+-74.9721 40.4020
+-75.0627 40.4240
+-75.0613 40.4898
+-75.1067 40.5733
+-75.2138 40.5639
+-75.2028 40.6192
+-75.2069 40.6494
+-75.0806 40.8284
+-75.0998 40.8429
+-75.0504 40.8689
+-75.1369 40.9913
+-74.8677 41.2293
+-74.7537 41.3479
+-74.7249 41.3469
+-74.6960 41.3593
+----
+-109.0448 36.9971
+-109.0489 31.3337
+-108.2140 31.3349
+-108.2071 31.7795
+-106.5317 31.7830
+-106.6223 32.0034
+-103.0696 31.9999
+-103.0023 36.9982
+-109.0475 36.9982
+----
+-120.0037 41.9922
+-117.9602 42.0003
+-117.0264 42.0003
+-115.7300 42.0003
+-114.0436 41.9952
+-114.0546 38.2856
+-114.0491 36.1955
+-114.0985 36.1334
+-114.1260 36.1068
+-114.1150 36.0891
+-114.1534 36.0313
+-114.2468 36.0136
+-114.3292 36.0624
+-114.3237 36.1024
+-114.3896 36.1434
+-114.5105 36.1290
+-114.5215 36.1467
+-114.5654 36.1556
+-114.6204 36.1334
+-114.6863 36.1157
+-114.7742 36.0979
+-114.7357 36.0580
+-114.7522 36.0447
+-114.7412 35.9691
+-114.7028 35.8980
+-114.6588 35.8757
+-114.7083 35.8579
+-114.6973 35.8267
+-114.7192 35.8089
+-114.6973 35.6618
+-114.6478 35.6037
+-114.6863 35.5814
+-114.6533 35.5233
+-114.6863 35.5054
+-114.6149 35.4070
+-114.5929 35.3218
+-114.5737 35.1783
+-114.6094 35.1199
+-114.6368 35.1109
+-114.6368 35.0929
+-114.6039 35.0750
+-114.6259 35.0480
+-114.6478 35.0345
+-114.6423 35.0030
+-114.8016 35.1334
+-117.5153 37.2303
+-120.0009 39.0000
+-119.9982 41.9942
+----
+-79.7624 42.5142
+-79.0672 42.7783
+-78.9313 42.8508
+-78.9024 42.9061
+-78.9313 42.9554
+-78.9656 42.9584
+-79.0219 42.9886
+-79.0027 43.0568
+-79.0727 43.0769
+-79.0713 43.1220
+-79.0302 43.1441
+-79.0576 43.1801
+-79.0604 43.2482
+-79.0837 43.2812
+-79.2004 43.4509
+-78.6909 43.6311
+-76.7958 43.6321
+-76.4978 43.9987
+-76.4388 44.0965
+-76.3536 44.1349
+-76.3124 44.1989
+-76.2437 44.2049
+-76.1655 44.2413
+-76.1353 44.2973
+-76.0474 44.3327
+-75.9856 44.3553
+-75.9196 44.3749
+-75.8730 44.3994
+-75.8221 44.4308
+-75.8098 44.4740
+-75.7288 44.5425
+-75.5585 44.6647
+-75.4088 44.7672
+-75.3442 44.8101
+-75.3058 44.8383
+-75.2399 44.8676
+-75.1204 44.9211
+-74.9995 44.9609
+-74.9899 44.9803
+-74.9103 44.9852
+-74.8856 45.0017
+-74.8306 45.0153
+-74.7633 45.0046
+-74.7070 45.0027
+-74.5642 45.0007
+-74.1467 44.9920
+-73.7306 45.0037
+-73.4203 45.0085
+-73.3430 45.0109
+-73.3547 44.9874
+-73.3379 44.9648
+-73.3396 44.9160
+-73.3739 44.8354
+-73.3324 44.8013
+-73.3667 44.7419
+-73.3873 44.6139
+-73.3736 44.5787
+-73.3049 44.4916
+-73.2953 44.4289
+-73.3365 44.3513
+-73.3118 44.2757
+-73.3818 44.1980
+-73.4079 44.1142
+-73.4367 44.0511
+-73.4065 44.0165
+-73.4079 43.9375
+-73.3749 43.8771
+-73.3914 43.8167
+-73.3557 43.7790
+-73.4244 43.6460
+-73.4340 43.5893
+-73.3969 43.5655
+-73.3818 43.6112
+-73.3049 43.6271
+-73.3063 43.5764
+-73.2582 43.5675
+-73.2445 43.5227
+-73.2582 43.2582
+-73.2733 42.9715
+-73.2898 42.8004
+-73.2664 42.7460
+-73.3708 42.4630
+-73.5095 42.0840
+-73.4903 42.0218
+-73.4999 41.8808
+-73.5535 41.2953
+-73.4834 41.2128
+-73.7275 41.1011
+-73.6644 41.0237
+-73.6578 40.9851
+-73.6132 40.9509
+-72.4823 41.1869
+-72.0950 41.2551
+-71.9714 41.3005
+-71.9193 41.3108
+-71.7915 41.1838
+-71.7929 41.1249
+-71.7517 41.0462
+-72.9465 40.6306
+-73.4628 40.5368
+-73.8885 40.4887
+-73.9490 40.5232
+-74.2271 40.4772
+-74.2532 40.4861
+-74.1866 40.6468
+-74.0547 40.6556
+-74.0156 40.7618
+-73.9421 40.8699
+-73.8934 40.9980
+-73.9854 41.0343
+-74.6274 41.3268
+-74.7084 41.3583
+-74.7101 41.3811
+-74.8265 41.4386
+-74.9913 41.5075
+-75.0668 41.6000
+-75.0366 41.6719
+-75.0545 41.7672
+-75.1945 41.8808
+-75.3552 42.0013
+-75.4266 42.0003
+-77.0306 42.0013
+-79.7250 41.9993
+-79.7621 42.0003
+-79.7621 42.1827
+-79.7621 42.5146
+----
+-82.3425 38.4385
+-82.2917 38.5707
+-82.1722 38.5965
+-82.1997 38.7712
+-82.0294 39.0181
+-81.8729 38.8750
+-81.7644 38.9359
+-81.7397 39.1865
+-81.5680 39.2812
+-81.4444 39.4022
+-81.3661 39.3460
+-81.1244 39.4479
+-81.0352 39.5549
+-80.8374 39.6565
+-80.7948 39.8676
+-80.6520 40.5941
+-80.5188 40.6223
+-80.5229 42.3210
+-81.2521 42.2153
+-81.6806 41.9962
+-81.7094 41.9962
+-82.3961 41.6770
+-82.6845 41.6709
+-83.1157 41.9585
+-83.4219 41.7314
+-84.8021 41.6944
+-84.8172 39.1056
+-84.7444 39.1407
+-84.5068 39.0960
+-84.4052 39.0459
+-84.2857 38.9434
+-84.2432 38.8055
+-84.0866 38.7712
+-83.8916 38.7519
+-83.6636 38.6330
+-83.5263 38.6962
+-83.2736 38.5976
+-83.1445 38.6169
+-83.0127 38.7027
+-82.8973 38.7327
+-82.8355 38.5782
+-82.5952 38.3761
+----
+-103.0051 37.0015
+-103.0037 36.5030
+-100.0003 36.4986
+-99.9934 34.5620
+-99.6172 34.3763
+-99.5787 34.4137
+-99.4290 34.3763
+-99.3823 34.4534
+-99.2505 34.3616
+-99.1818 34.2129
+-98.9648 34.1982
+-98.7424 34.1232
+-98.5570 34.1254
+-98.4746 34.0618
+-98.3743 34.1414
+-98.1793 34.1118
+-98.0818 34.0060
+-97.9843 33.8966
+-97.8662 33.8487
+-97.6932 33.9798
+-97.4529 33.8841
+-97.4611 33.8282
+-97.3622 33.8237
+-97.2166 33.9001
+-97.1645 33.7426
+-97.0930 33.7392
+-96.9173 33.9354
+-96.8527 33.8704
+-96.7484 33.8271
+-96.5602 33.8202
+-96.5053 33.7769
+-96.3474 33.6912
+-96.0205 33.8522
+-95.8379 33.8396
+-95.7349 33.8887
+-95.5426 33.8841
+-95.2831 33.8738
+-95.2171 33.9570
+-95.0496 33.8670
+-94.8862 33.7677
+-94.6692 33.6695
+-94.4852 33.6386
+-94.4357 35.3499
+-94.5978 36.3715
+-94.6198 36.4942
+-94.6211 36.9982
+-103.0064 37.0004
+----
+-124.2444 46.2587
+-124.0384 46.2634
+-124.0205 46.2891
+-123.9368 46.2407
+-123.8681 46.2388
+-123.7390 46.2691
+-123.6868 46.2520
+-123.6456 46.2596
+-123.5468 46.2577
+-123.4863 46.2672
+-123.4287 46.2369
+-123.4287 46.1817
+-123.3765 46.1513
+-123.3051 46.1494
+-123.1512 46.1874
+-123.0222 46.1380
+-122.9398 46.0980
+-122.8848 46.0551
+-122.8189 45.9588
+-122.8162 45.9053
+-122.7887 45.8824
+-122.7969 45.8173
+-122.7585 45.7637
+-122.7750 45.6851
+-122.7530 45.6505
+-122.5937 45.6064
+-122.4426 45.5679
+-122.3712 45.5756
+-122.3245 45.5506
+-122.2064 45.5641
+-122.0856 45.5987
+-121.8933 45.6659
+-121.8906 45.6812
+-121.8164 45.7081
+-121.7560 45.6966
+-121.5335 45.7254
+-121.3907 45.6928
+-121.3646 45.7081
+-121.2039 45.6582
+-121.1957 45.6083
+-121.1462 45.6102
+-121.0803 45.6524
+-121.0144 45.6582
+-120.9814 45.6467
+-120.9430 45.6563
+-120.9100 45.6371
+-120.8524 45.6755
+-120.6052 45.7445
+-120.5310 45.7158
+-120.4733 45.6966
+-120.2893 45.7234
+-120.2124 45.7234
+-120.1575 45.7714
+-119.9680 45.8211
+-119.7839 45.8498
+-119.6658 45.8575
+-119.6136 45.9149
+-119.5724 45.9244
+-119.5258 45.9110
+-119.2676 45.9378
+-119.1687 45.9168
+-119.0149 45.9779
+-118.9847 46.0027
+-116.9165 45.9970
+-116.8781 45.9569
+-116.8588 45.8957
+-116.8066 45.8747
+-116.7902 45.8307
+-116.7654 45.8192
+-116.7105 45.8231
+-116.6748 45.7828
+-116.6144 45.7828
+-116.5430 45.7522
+-116.5402 45.6889
+-116.4606 45.6121
+-116.5567 45.5006
+-116.5567 45.4640
+-116.5869 45.4447
+-116.6721 45.3213
+-116.6940 45.2633
+-116.7325 45.1414
+-116.7764 45.1065
+-116.7847 45.0696
+-116.8451 45.0231
+-116.8616 44.9765
+-116.8286 44.9298
+-116.9302 44.7955
+-117.0346 44.7487
+-117.1225 44.5787
+-117.1445 44.5455
+-117.2076 44.4847
+-117.2269 44.4789
+-117.2269 44.4063
+-117.2488 44.3926
+-117.1939 44.3455
+-117.2269 44.2983
+-117.1774 44.2570
+-117.1445 44.2609
+-117.1005 44.2806
+-117.0511 44.2314
+-117.0428 44.2491
+-116.9797 44.2432
+-116.9742 44.1940
+-116.8945 44.1664
+-116.9330 44.0935
+-116.9714 44.0836
+-116.9879 44.0521
+-116.9302 44.0244
+-116.9659 43.9533
+-117.0209 43.8207
+-117.0264 43.6639
+-117.0264 42.0024
+-121.2836 41.9983
+-122.5003 42.0085
+-123.0798 42.0064
+-123.1540 42.0105
+-123.2419 42.0044
+-123.6209 42.0024
+-124.3982 41.9952
+-124.5493 42.1593
+-124.5877 42.6521
+-124.7305 42.8115
+-124.4119 43.7552
+-124.2554 46.0065
+-124.2444 46.2587
+----
+-80.5174 42.3261
+-80.0821 42.3961
+-79.7621 42.5167
+-79.7607 42.0003
+-75.3580 41.9983
+-75.2673 41.9431
+-75.1794 41.8696
+-75.0586 41.7713
+-75.0366 41.6729
+-75.0641 41.6021
+-74.9927 41.5086
+-74.7935 41.4283
+-74.7070 41.3933
+-74.8608 41.2282
+-75.1355 40.9830
+-75.0490 40.8554
+-75.1904 40.6806
+-75.2124 40.5639
+-75.1025 40.5743
+-75.0600 40.5013
+-75.0655 40.4208
+-74.9776 40.4072
+-74.9432 40.3392
+-74.8389 40.2628
+-74.7221 40.1495
+-75.0929 39.9592
+-75.2577 39.8370
+-75.4321 39.8128
+-75.6477 39.8317
+-75.7892 39.7199
+-80.5243 39.7220
+-80.5202 42.3240
+----
+-71.0568 41.3706
+-71.0541 41.3706
+-71.1447 41.6339
+-71.1942 41.6791
+-71.2793 41.7611
+-71.3315 41.7775
+-71.3425 41.7918
+-71.3507 41.8225
+-71.3370 41.8512
+-71.3397 41.8880
+-71.3837 41.9288
+-71.3795 42.0156
+-71.7984 42.0064
+-71.7874 41.6750
+-71.7984 41.4530
+-71.8492 41.3943
+-71.8520 41.3315
+-71.9041 41.3057
+-71.7915 41.1849
+-71.4084 41.2665
+----
+-80.7001 32.0488
+-80.8978 32.0453
+-81.1134 32.1105
+-81.1423 32.2058
+-81.1821 32.3846
+-81.1986 32.4576
+-81.2769 32.5283
+-81.4087 32.5838
+-81.4183 32.6926
+-81.4746 32.8242
+-81.5117 32.9465
+-81.5034 33.0098
+-81.6010 33.0777
+-81.7122 33.1238
+-81.8289 33.2065
+-81.9319 33.3443
+-82.0280 33.4830
+-82.1475 33.5860
+-82.2437 33.6878
+-82.2437 33.7609
+-82.3576 33.8305
+-82.5018 33.9308
+-82.5471 33.9650
+-82.6625 34.0947
+-82.7216 34.1664
+-82.7930 34.3434
+-82.8905 34.4647
+-82.9893 34.4760
+-83.0855 34.5281
+-83.3121 34.6581
+-83.3588 34.7326
+-83.2983 34.8318
+-83.1459 34.9276
+-83.1047 34.9996
+-82.7779 35.0817
+-82.3920 35.2075
+-82.2203 35.1974
+-81.0379 35.1480
+-81.0324 35.0446
+-80.9322 35.1019
+-80.7811 34.9344
+-80.7948 34.8194
+-79.6756 34.8048
+-78.9560 34.2016
+-78.4836 33.7951
+-78.7871 33.6489
+-79.0837 33.2019
+-79.4476 32.7607
+-79.8116 32.5225
+-80.1508 32.3556
+-80.4240 32.2012
+-80.7001 32.0500
+----
+-104.0501 45.9435
+-104.0529 43.0026
+-98.4993 42.9946
+-98.4444 42.9283
+-98.1958 42.8438
+-98.0571 42.7773
+-97.9761 42.7631
+-97.8566 42.8599
+-97.2290 42.8518
+-97.2057 42.8075
+-96.8486 42.7157
+-96.6220 42.5237
+-96.4806 42.4772
+-96.6289 42.7299
+-96.5039 43.0046
+-96.4380 43.1331
+-96.5561 43.2262
+-96.5259 43.3841
+-96.6138 43.4848
+-96.4558 43.4998
+-96.4545 45.2981
+-96.7429 45.4601
+-96.8472 45.6160
+-96.5849 45.8202
+-96.5643 45.9311
+-104.0501 45.9416
+----
+-88.0678 36.6739
+-87.8522 36.6354
+-83.6787 36.6023
+-81.9402 36.5946
+-81.9209 36.6144
+-81.6518 36.6111
+-81.7163 36.3295
+-81.7973 36.3516
+-81.9072 36.2974
+-82.0308 36.1212
+-82.1255 36.1024
+-82.1475 36.1434
+-82.2450 36.1323
+-82.3521 36.1168
+-82.4167 36.0702
+-82.5389 35.9669
+-82.6076 35.9702
+-82.6378 36.0602
+-82.7751 35.9925
+-82.8177 35.9169
+-82.9042 35.8623
+-83.0017 35.7755
+-83.2393 35.7131
+-83.4961 35.5635
+-83.6938 35.5501
+-83.8284 35.5233
+-83.8847 35.5065
+-84.0248 35.4014
+-84.0276 35.2905
+-84.1113 35.2322
+-84.2294 35.2624
+-84.2926 35.2198
+-84.3201 34.9884
+-90.3131 34.9996
+-90.2843 35.1233
+-90.1758 35.1379
+-90.1112 35.1985
+-90.1524 35.2849
+-90.1346 35.4372
+-90.0192 35.5568
+-89.9547 35.7343
+-89.7638 35.8579
+-89.6635 35.9180
+-89.7130 35.9947
+-89.6759 36.0902
+-89.5894 36.1279
+-89.6484 36.1856
+-89.7006 36.2343
+-89.5331 36.2531
+-89.6210 36.2996
+-89.5784 36.3494
+-89.5180 36.3406
+-89.5345 36.4964
+-89.3051 36.5107
+-88.1667 36.4986
+-88.0692 36.4997
+-88.0637 36.6871
+----
+-106.5715 31.8659
+-106.5042 31.7504
+-106.3092 31.6242
+-106.2103 31.4638
+-106.0181 31.3912
+-105.7874 31.1846
+-105.5663 31.0012
+-105.4015 30.8456
+-105.0032 30.6462
+-104.8521 30.3847
+-104.7437 30.2591
+-104.6915 30.0738
+-104.6777 29.9169
+-104.5679 29.7644
+-104.5280 29.6475
+-104.4044 29.5603
+-104.2067 29.4719
+-104.1559 29.3834
+-103.9774 29.2948
+-103.9128 29.2804
+-103.8208 29.2481
+-103.5640 29.1378
+-103.4692 29.0682
+-103.3154 29.0105
+-103.1616 28.9601
+-103.0957 29.0177
+-103.0298 29.1330
+-102.8677 29.2157
+-102.8979 29.2565
+-102.8375 29.3570
+-102.8004 29.4898
+-102.7002 29.6881
+-102.5134 29.7691
+-102.3843 29.7596
+-102.3047 29.8788
+-102.1509 29.7834
+-101.7004 29.7572
+-101.4917 29.7644
+-101.2939 29.6308
+-101.2582 29.5269
+-101.0056 29.3642
+-100.9204 29.3056
+-100.7707 29.1642
+-100.7007 29.0946
+-100.6306 28.9012
+-100.4974 28.6593
+-100.3601 28.4675
+-100.2969 28.2778
+-100.1733 28.1882
+-100.0195 28.0526
+-99.9344 27.9435
+-99.8438 27.7638
+-99.7119 27.6641
+-99.4812 27.4839
+-99.5375 27.3059
+-99.4290 27.1948
+-99.4455 27.0175
+-99.3164 26.8829
+-99.2065 26.6867
+-99.0967 26.4116
+-98.8138 26.3574
+-98.6668 26.2257
+-98.5474 26.2343
+-98.3276 26.1357
+-98.1697 26.0457
+-97.9143 26.0518
+-97.6643 26.0050
+-97.4020 25.8419
+-97.3526 25.9074
+-97.0148 25.9679
+-97.0697 26.1789
+-97.2249 26.8253
+-97.0752 27.4230
+-96.6096 28.0599
+-95.9285 28.4228
+-95.3036 28.7568
+-94.7296 29.0742
+-94.3355 29.3810
+-93.8205 29.6021
+-93.9317 29.8013
+-93.8136 29.9157
+-93.7230 30.0489
+-93.6996 30.1214
+-93.7216 30.2021
+-93.7038 30.2792
+-93.7628 30.3278
+-93.7587 30.3835
+-93.7010 30.4380
+-93.7024 30.5079
+-93.7299 30.5362
+-93.6694 30.6296
+-93.6090 30.7466
+-93.5527 30.8114
+-93.5747 30.8834
+-93.5307 30.9376
+-93.5074 31.0318
+-93.5266 31.0812
+-93.5335 31.1787
+-93.5980 31.1670
+-93.6832 31.3055
+-93.6708 31.3830
+-93.6887 31.4369
+-93.7202 31.5107
+-93.8315 31.5820
+-93.8123 31.6440
+-93.8232 31.7188
+-93.8342 31.7936
+-93.8782 31.8309
+-93.9221 31.8869
+-93.9661 31.9335
+-94.0430 32.0081
+-94.0430 33.4681
+-94.0430 33.5414
+-94.1528 33.5689
+-94.1968 33.5872
+-94.2627 33.5872
+-94.3176 33.5689
+-94.3945 33.5597
+-94.4275 33.5780
+-94.4275 33.6055
+-94.4495 33.6421
+-94.4879 33.6329
+-94.5236 33.6421
+-94.6637 33.6695
+-94.7461 33.7061
+-94.8999 33.7791
+-95.0757 33.8818
+-95.1526 33.9251
+-95.2254 33.9604
+-95.2858 33.8750
+-95.5399 33.8841
+-95.7568 33.8887
+-95.8420 33.8408
+-96.0274 33.8556
+-96.3528 33.6901
+-96.6179 33.8442
+-96.5836 33.8898
+-96.6673 33.8955
+-96.7538 33.8179
+-96.8335 33.8613
+-96.8774 33.8613
+-96.9159 33.9388
+-97.0917 33.7392
+-97.1645 33.7449
+-97.2180 33.8978
+-97.3746 33.8225
+-97.4611 33.8305
+-97.4460 33.8761
+-97.6945 33.9798
+-97.8648 33.8476
+-97.9651 33.8978
+-98.0983 34.0299
+-98.1752 34.1141
+-98.3743 34.1425
+-98.4773 34.0640
+-98.5529 34.1209
+-98.7520 34.1232
+-98.9539 34.2095
+-99.0637 34.2073
+-99.1832 34.2141
+-99.2505 34.3593
+-99.3823 34.4613
+-99.4318 34.3774
+-99.5718 34.4160
+-99.6158 34.3706
+-99.8094 34.4726
+-99.9934 34.5631
+-100.0017 36.4975
+-103.0408 36.5008
+-103.0655 32.0011
+-106.6168 32.0023
+----
+-114.0491 36.9982
+-109.0462 37.0026
+-109.0503 40.9986
+-111.0471 41.0006
+-111.0498 41.9993
+-114.0395 41.9901
+-114.0504 37.0015
+----
+-83.6753 36.6017
+-83.5613 36.6519
+-83.4432 36.6673
+-83.3080 36.7108
+-83.1974 36.7389
+-83.1363 36.7433
+-83.1047 36.8032
+-83.1033 36.8302
+-83.0704 36.8544
+-83.0127 36.8478
+-82.8534 36.9839
+-82.7971 37.0086
+-82.7360 37.0442
+-82.3494 37.2664
+-82.3027 37.3046
+-82.0136 37.5054
+-81.9681 37.5380
+-81.9259 37.5139
+-81.9707 37.4889
+-81.9800 37.4563
+-81.9374 37.4389
+-81.9319 37.3592
+-81.8619 37.3134
+-81.7987 37.2872
+-81.7259 37.2424
+-81.6792 37.2008
+-81.5549 37.2083
+-81.4988 37.2588
+-81.4856 37.2456
+-81.4367 37.2742
+-81.3675 37.3243
+-81.2741 37.2653
+-81.1560 37.2719
+-80.9802 37.3025
+-80.8566 37.3396
+-80.8786 37.3876
+-80.8511 37.4247
+-80.7715 37.3702
+-80.5518 37.4749
+-80.5133 37.4792
+-80.4803 37.4247
+-80.3018 37.5097
+-80.2798 37.5359
+-80.3293 37.5380
+-80.2249 37.6316
+-80.3018 37.6903
+-80.2551 37.7251
+-80.2551 37.7707
+-80.1961 37.8347
+-80.1508 37.8749
+-79.9722 38.0394
+-79.9448 38.1302
+-79.9063 38.1972
+-79.7882 38.2684
+-79.8129 38.3093
+-79.7662 38.3589
+-79.7401 38.3513
+-79.7333 38.3869
+-79.6893 38.4321
+-79.6948 38.4987
+-79.6495 38.5857
+-79.5328 38.5492
+-79.4724 38.4557
+-79.3103 38.4149
+-79.2087 38.5138
+-79.1016 38.6576
+-79.0851 38.6941
+-79.1016 38.7112
+-79.0576 38.7712
+-79.0604 38.7926
+-79.0247 38.7926
+-78.9944 38.8504
+-78.8736 38.7637
+-78.7830 38.8857
+-78.7198 38.9327
+-78.7129 38.9071
+-78.6291 38.9850
+-78.6044 38.9658
+-78.5522 39.0170
+-78.5770 39.0384
+-78.5083 39.0938
+-78.4314 39.1492
+-78.4039 39.1684
+-78.4314 39.1939
+-78.3380 39.3470
+-78.3380 39.3853
+-78.3469 39.4659
+-77.9744 39.2283
+-77.8302 39.1338
+-77.7355 39.3130
+-77.7090 39.3213
+-77.6218 39.3043
+-77.5686 39.3067
+-77.4567 39.2248
+-77.5226 39.1543
+-77.5243 39.1277
+-77.4687 39.0914
+-77.4485 39.0720
+-77.3427 39.0634
+-77.2936 39.0456
+-77.2459 39.0168
+-77.2445 38.9829
+-77.1834 38.9680
+-77.1120 38.9250
+-77.0464 38.8798
+-77.0444 38.7538
+-77.0409 38.7142
+-77.1312 38.6635
+-77.1285 38.6319
+-77.2456 38.5935
+-77.3094 38.4547
+-77.3046 38.3904
+-77.2188 38.3500
+-77.0622 38.4041
+-77.0265 38.4256
+-76.9826 38.3039
+-76.8851 38.2155
+-76.5926 38.1745
+-76.2424 37.9496
+-76.0501 37.9561
+-75.9416 37.9474
+-75.9512 37.9085
+-75.8002 37.9139
+-75.6931 37.9539
+-75.6477 37.9474
+-75.6258 37.9962
+-75.4596 38.0091
+-74.9707 38.0373
+-75.5777 37.3625
+-75.8180 36.8994
+-75.8043 36.5516
+-76.1476 36.5516
+-76.8617 36.5516
+-76.9180 36.5516
+-76.9180 36.5438
+-77.1803 36.5505
+-77.5278 36.5449
+-80.2730 36.5427
+-80.5971 36.5571
+-80.7248 36.5626
+-80.8511 36.5593
+-81.1066 36.5681
+-81.4746 36.5813
+-81.5007 36.5802
+-81.6792 36.5902
+-81.6476 36.6122
+-81.9237 36.6177
+-81.9360 36.5935
+-82.3961 36.5957
+-82.9344 36.5935
+-83.2654 36.5957
+-83.6746 36.6023
+----
+-73.3427 45.0104
+-73.1827 45.0134
+-72.7432 45.0153
+-72.6100 45.0134
+-72.5551 45.0075
+-72.4562 45.0090
+-72.3113 45.0037
+-72.0964 45.0066
+-71.9131 45.0070
+-71.5636 45.0138
+-71.5059 45.0138
+-71.5294 44.9748
+-71.4949 44.9123
+-71.5567 44.8296
+-71.6281 44.7506
+-71.6061 44.7077
+-71.5677 44.6481
+-71.5388 44.5817
+-71.6006 44.5533
+-71.5746 44.5308
+-71.5883 44.4955
+-71.6556 44.4504
+-71.7146 44.4093
+-71.7957 44.3975
+-71.8163 44.3563
+-71.8698 44.3327
+-71.9138 44.3484
+-71.9865 44.3386
+-72.0346 44.3052
+-72.0428 44.2432
+-72.0662 44.1930
+-72.0360 44.1349
+-72.0580 44.0698
+-72.1101 44.0017
+-72.0937 43.9671
+-72.1252 43.9088
+-72.1733 43.8682
+-72.1994 43.7899
+-72.1994 43.7899
+-72.2392 43.7384
+-72.3010 43.7056
+-72.3271 43.6391
+-72.3436 43.5893
+-72.3793 43.5814
+-72.3972 43.5027
+-72.3807 43.4988
+-72.3999 43.4150
+-72.4123 43.3601
+-72.3903 43.3591
+-72.4081 43.3282
+-72.3999 43.2762
+-72.4370 43.2342
+-72.4493 43.1852
+-72.4480 43.1311
+-72.4507 43.0679
+-72.4438 43.0067
+-72.4699 42.9846
+-72.5276 42.9645
+-72.5331 42.8951
+-72.5633 42.8639
+-72.5098 42.7863
+-72.5166 42.7652
+-72.4741 42.7541
+-72.4590 42.7289
+-73.2761 42.7465
+-73.2912 42.8025
+-73.2850 42.8357
+-73.2678 43.0679
+-73.2472 43.5022
+-73.2561 43.5615
+-73.2939 43.5774
+-73.3049 43.6271
+-73.3557 43.6271
+-73.3976 43.5675
+-73.4326 43.5883
+-73.4285 43.6351
+-73.4079 43.6684
+-73.3907 43.7031
+-73.3516 43.7701
+-73.3928 43.8207
+-73.3832 43.8533
+-73.3969 43.9033
+-73.4086 43.9365
+-73.4134 43.9795
+-73.4381 44.0427
+-73.4141 44.1058
+-73.3928 44.1921
+-73.3427 44.2393
+-73.3186 44.2467
+-73.3406 44.3484
+-73.3385 44.3690
+-73.2946 44.4328
+-73.3296 44.5367
+-73.3832 44.5919
+-73.3770 44.6569
+-73.3681 44.7477
+-73.3317 44.7857
+-73.3324 44.8043
+-73.3818 44.8398
+-73.3564 44.9040
+-73.3392 44.9181
+-73.3372 44.9643
+-73.3537 44.9799
+-73.3447 45.0046
+-73.3447 45.0109
+-73.3426 45.0104
+----
+-123.3208 49.0023
+-123.0338 49.0027
+-122.0650 49.0018
+-121.7491 48.9973
+-121.5912 48.9991
+-119.6082 49.0009
+-118.0378 49.0005
+-117.0319 48.9996
+-117.0415 47.9614
+-117.0394 46.5060
+-117.0394 46.4274
+-117.0621 46.3498
+-117.0277 46.3384
+-116.9879 46.2848
+-116.9577 46.2388
+-116.9659 46.2022
+-116.9254 46.1722
+-116.9357 46.1432
+-116.9584 46.1009
+-116.9762 46.0785
+-116.9433 46.0537
+-116.9165 45.9960
+-118.0330 46.0008
+-118.9867 45.9998
+-119.1302 45.9320
+-119.1708 45.9278
+-119.2559 45.9402
+-119.3047 45.9354
+-119.3644 45.9220
+-119.4386 45.9172
+-119.4894 45.9067
+-119.5724 45.9249
+-119.6013 45.9196
+-119.6700 45.8565
+-119.8052 45.8479
+-119.9096 45.8278
+-119.9652 45.8245
+-120.0710 45.7852
+-120.1705 45.7623
+-120.2110 45.7258
+-120.3628 45.7057
+-120.4829 45.6951
+-120.5942 45.7469
+-120.6340 45.7460
+-120.6924 45.7143
+-120.8558 45.6721
+-120.9142 45.6409
+-120.9471 45.6572
+-120.9787 45.6419
+-121.0645 45.6529
+-121.1469 45.6078
+-121.1847 45.6083
+-121.2177 45.6721
+-121.3392 45.7057
+-121.4010 45.6932
+-121.5328 45.7263
+-121.6145 45.7091
+-121.7361 45.6947
+-121.8095 45.7067
+-121.9338 45.6452
+-122.0451 45.6088
+-122.1089 45.5833
+-122.1426 45.5838
+-122.2009 45.5660
+-122.2641 45.5439
+-122.3321 45.5482
+-122.3795 45.5756
+-122.4392 45.5636
+-122.5676 45.6006
+-122.6891 45.6236
+-122.7647 45.6582
+-122.7750 45.6817
+-122.7619 45.7613
+-122.7962 45.8106
+-122.7839 45.8642
+-122.8114 45.9120
+-122.8148 45.9612
+-122.8587 46.0160
+-122.8848 46.0604
+-122.9034 46.0832
+-122.9597 46.1028
+-123.0579 46.1556
+-123.1210 46.1865
+-123.1664 46.1893
+-123.2810 46.1446
+-123.3703 46.1470
+-123.4314 46.1822
+-123.4287 46.2293
+-123.4946 46.2691
+-123.5557 46.2582
+-123.6209 46.2573
+-123.6875 46.2497
+-123.7404 46.2691
+-123.8729 46.2350
+-123.9292 46.2383
+-123.9711 46.2677
+-124.0212 46.2924
+-124.0329 46.2653
+-124.2444 46.2596
+-124.2691 46.4312
+-124.3529 46.8386
+-124.4380 47.1832
+-124.5616 47.4689
+-124.7566 47.8012
+-124.8679 48.0423
+-124.8679 48.2457
+-124.8486 48.3727
+-124.7539 48.4984
+-124.4174 48.4096
+-124.2389 48.3599
+-124.0116 48.2964
+-123.9141 48.2795
+-123.5413 48.2247
+-123.3998 48.2539
+-123.2501 48.2841
+-123.1169 48.4233
+-123.1609 48.4533
+-123.2220 48.5548
+-123.2336 48.5902
+-123.2721 48.6901
+-123.0084 48.7675
+-123.0084 48.8313
+-123.3215 49.0023
+----
+-90.6303 42.5116
+-87.0241 42.4954
+-87.1477 43.3721
+-87.1230 43.6838
+-86.9911 44.1694
+-86.8579 44.4828
+-86.6876 44.8792
+-86.2523 45.2343
+-86.7535 45.4418
+-87.1024 45.4438
+-87.1724 45.3531
+-87.3193 45.2401
+-87.4100 45.1995
+-87.4443 45.0784
+-87.6379 45.0987
+-87.6956 45.2217
+-87.6462 45.3367
+-87.6956 45.3869
+-87.8549 45.3425
+-87.7945 45.4813
+-87.7945 45.5679
+-87.7876 45.6764
+-87.9936 45.7934
+-88.1145 45.8077
+-88.0733 45.8728
+-88.1982 45.9521
+-88.5498 46.0122
+-88.7036 45.9970
+-88.8451 46.0380
+-89.0909 46.1389
+-90.1195 46.3412
+-90.4147 46.5664
+-89.9615 47.2876
+-90.6578 47.3100
+-92.0352 46.7079
+-92.2948 46.5928
+-92.2975 46.0761
+-92.3579 46.0132
+-92.5227 45.9769
+-92.7466 45.8135
+-92.8564 45.6140
+-92.7754 45.5477
+-92.6587 45.4293
+-92.7136 45.3029
+-92.7466 44.9648
+-92.7686 44.7877
+-92.6422 44.6530
+-92.3552 44.5504
+-92.2632 44.4652
+-92.0654 44.4024
+-91.8745 44.2580
+-91.6383 44.0600
+-91.4941 43.9612
+-91.3184 43.8296
+-91.2524 43.6440
+-91.2305 43.5167
+-91.2085 43.3342
+-91.0547 43.2932
+-91.1865 43.1651
+-91.1536 43.0257
+-91.1426 42.9082
+-91.0547 42.7692
+-90.7910 42.6915
+-90.7031 42.6340
+-90.6303 42.5096
+----
+-79.4765 39.7188
+-79.4806 39.2057
+-79.0576 39.4871
+-78.9725 39.4394
+-78.7747 39.6438
+-78.6703 39.5369
+-78.5742 39.5210
+-78.4644 39.5210
+-78.4094 39.6015
+-78.3517 39.6395
+-78.2817 39.6205
+-78.2405 39.6839
+-78.1732 39.6935
+-77.8835 39.5972
+-77.7859 39.4987
+-77.7310 39.3279
+-77.8271 39.1279
+-78.3421 39.4563
+-78.3408 39.3407
+-78.4341 39.1918
+-78.4053 39.1652
+-78.5715 39.0299
+-78.5522 39.0160
+-78.7843 38.8846
+-78.8722 38.7669
+-78.9917 38.8451
+-79.0974 38.7102
+-79.1029 38.6555
+-79.3007 38.4106
+-79.4792 38.4600
+-79.5314 38.5342
+-79.6481 38.5868
+-79.6962 38.4869
+-79.6989 38.4213
+-79.7690 38.3557
+-79.7937 38.2813
+-79.9365 38.1518
+-79.9818 38.0232
+-80.1370 37.8835
+-80.2592 37.7295
+-80.2881 37.6795
+-80.2194 37.6295
+-80.3224 37.5391
+-80.2881 37.5315
+-80.3032 37.4988
+-80.4776 37.4182
+-80.5119 37.4814
+-80.7715 37.3691
+-80.8635 37.4214
+-80.8525 37.3429
+-81.0516 37.2872
+-81.2741 37.2598
+-81.3675 37.3254
+-81.5543 37.2019
+-81.6724 37.1953
+-81.7685 37.2697
+-81.8701 37.3003
+-81.9333 37.3636
+-81.9772 37.4574
+-82.0308 37.4912
+-82.1558 37.6142
+-82.3535 37.8054
+-82.5513 38.0481
+-82.6392 38.1864
+-82.5966 38.3761
+-82.4854 38.4106
+-82.3412 38.4407
+-82.2876 38.5890
+-82.1764 38.5976
+-82.2148 38.7980
+-82.0280 39.0160
+-81.9649 38.9615
+-81.8756 38.8750
+-81.7671 38.9370
+-81.7657 39.0117
+-81.7520 39.0800
+-81.7465 39.1790
+-81.5872 39.2642
+-81.4499 39.3969
+-81.3675 39.3481
+-81.2370 39.4012
+-81.1093 39.4691
+-81.0104 39.5644
+-80.9198 39.6120
+-80.8319 39.6522
+-80.8072 39.8054
+-80.7893 39.8802
+-80.7990 39.8518
+-80.7495 40.0980
+-80.7262 40.2282
+-80.6918 40.3926
+-80.6451 40.5910
+-80.5188 40.6338
+-80.5174 39.7241
+-79.4778 39.7209
+----
+-104.0556 41.0037
+-104.0584 44.9949
+-111.0539 44.9998
+-111.0457 40.9986
+-104.0556 41.0006

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_uspolygon.dat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_uspolygon.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/bnd_uspolygon.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+NUM=93
+-123.3590 49.0211
+-95.1422 48.9879
+-95.1422 49.4193
+-94.8578 49.4193
+-94.5733 48.8800
+-89.2214 48.1168
+-88.3680 48.3325
+-84.7231 46.8807
+-82.3405 45.2795
+-81.9316 43.4710
+-82.4472 42.5584
+-83.0695 42.1934
+-82.5717 41.6873
+-81.3093 42.2348
+-79.0867 42.8156
+-79.3179 43.5041
+-78.8023 43.6452
+-76.9353 43.6452
+-75.0506 45.0638
+-71.0679 45.2795
+-69.4543 47.4614
+-67.7786 47.3121
+-66.6940 44.6656
+-68.7387 43.6452
+-69.8766 43.5373
+-70.1611 42.8488
+-69.5921 41.7620
+-69.7699 41.1066
+-71.4057 41.0734
+-73.4682 40.4180
+-75.6196 36.7843
+-75.1751 35.3740
+-76.4197 34.5361
+-77.2732 34.3950
+-77.8421 33.6981
+-78.6220 33.5903
+-79.3179 32.6860
+-80.5803 31.9974
+-81.0781 30.5041
+-79.6557 26.8041
+-79.8869 25.3854
+-80.5803 24.5890
+-82.1094 24.3733
+-82.3939 24.5890
+-81.4337 25.1698
+-82.2161 26.0740
+-83.1406 27.8577
+-83.0695 28.7288
+-84.0474 29.7824
+-85.1853 29.4174
+-86.4300 30.0313
+-88.5991 29.9981
+-88.8303 29.0191
+-89.2748 28.8034
+-90.9817 28.8698
+-93.8798 29.4920
+-96.5113 28.0402
+-97.0803 26.8787
+-96.9025 25.9662
+-97.3648 25.7505
+-99.3651 26.5137
+-99.7473 27.5673
+-101.4540 29.5999
+-102.5920 29.5745
+-103.0540 28.8698
+-104.6900 29.6745
+-105.0990 30.5056
+-106.5750 31.6656
+-108.1750 31.7403
+-108.1750 31.3089
+-111.1270 31.2342
+-115.3410 32.5782
+-117.3700 32.4597
+-117.8480 33.2336
+-118.7010 33.4825
+-118.7540 33.6981
+-119.9990 34.1378
+-120.9060 34.3204
+-121.0300 34.9757
+-122.2210 36.1704
+-122.2750 36.7843
+-123.3590 37.8379
+-123.4130 38.3523
+-124.1060 38.8915
+-124.2660 39.7626
+-124.7820 40.4512
+-124.3910 41.4716
+-124.7820 42.8156
+-124.4440 45.3210
+-124.5510 47.1710
+-125.1300 48.2246
+-124.7820 48.5897
+-123.4660 48.3657

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid/dms_gt2.rsl
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/grid/dms_gt4.rsl
===================================================================

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40009 @@
+Strip 1
+40000 Points, 2 Coordinates
+Shape: Rectangle; Site Corners: -128.00 24.00, -65.00 50.00; Area: 1,638.00
+Density: 24.42; Model: N;  Random Seed: 1180323549187
+Radius or S.D.: 02.00; Cluster Seeds: 8
+
+#points	xmin	ymin	xmax	ymax	zmin	zmax
+HEADER	40000	-128.0	24.0	-65.0	50.0	0	10000
+
+-110.3333	31.5833	9431
+-116.9666	32.8166	9709
+-90.3833	38.75	9382
+-122.90	46.9666	9563
+-82.1333	27.7666	9848
+-117.2666	34.1333	9495
+-118.2833	46.10	9219
+-88.7666	37.666	9771
+-89.3557	34.7829	6512
+-88.5979	42.9841	4472
+-82.0288	27.868	9728
+-123.567	47.3496	8761
+-119.1749	35.0171	7244
+-118.1544	34.9381	8231
+-116.7855	32.3592	9204
+-116.3594	30.7479	7348
+-118.6212	31.6211	7476
+-113.6002	35.2367	5361
+-107.5087	35.6454	4113
+-116.6336	32.8838	9374
+-118.7797	32.8172	7731
+-118.2759	30.5771	6859
+-88.2496	36.7456	8630
+-88.7946	42.822	4713
+-80.9524	27.7843	8556
+-116.418	32.0142	8669
+-112.753	32.2603	6751
+-87.194	38.5712	7778
+-92.6133	36.4364	5961
+-89.5809	39.0275	8509
+-110.7463	31.2791	8918
+-115.807	30.9427	7295
+-116.8921	45.2245	7520
+-109.9553	28.1755	5759
+-91.6339	36.5598	6706
+-87.5258	34.4033	5897
+-116.7498	47.8923	6762
+-81.3195	33.0576	3836
+-117.3878	32.5997	9224
+-120.883	47.3806	7344
+-120.003	47.2084	7094
+-117.0953	44.8634	7444
+-113.5884	34.9756	5422
+-118.9166	32.5082	7551
+-123.1644	45.5103	7980
+-84.4203	30.0589	6229
+-117.4797	33.943	9226
+-92.8435	37.6158	6504
+-115.5792	43.0335	4931
+-120.2459	34.1497	6288
+-115.0895	34.0318	7161
+-118.2839	30.5298	6809
+-91.2595	40.6533	7166
+-110.1527	30.9979	8810
+-116.0284	46.0751	6872
+-120.7972	29.5635	4147
+-89.9113	37.8333	8313
+-120.9705	45.7719	7113
+-118.1054	33.3092	8255
+-111.3804	32.9796	7583
+-108.2671	35.9965	4194
+-89.0548	39.1317	7935
+-116.4697	49.4927	5186
+-119.5072	45.3216	7724
+-113.7307	33.2561	6110
+-80.6478	29.3752	7415
+-114.2177	43.7549	4290
+-113.6874	33.6991	5965
+-90.6073	38.7414	9183
+-120.2285	45.6822	7153
+-118.4842	33.8924	8184
+-89.86	36.9426	8343
+-89.3007	40.3307	7359
+-114.8234	36.2659	6000
+-119.4385	45.2034	7712
+-83.8993	27.8434	7893
+-91.1657	37.4558	7794
+-116.4819	33.8129	8613
+-85.9819	27.6875	5537
+-91.3021	38.5431	8409
+-119.4052	47.1776	7613
+-87.643	36.333	7858
+-89.2755	39.0197	8195
+-113.9761	29.8253	5091
+-111.4685	31.8372	8213
+-83.8103	29.7611	6944
+-117.4267	33.6827	9016
+-116.5871	32.7327	9319
+-120.9984	30.7031	4675
+-91.6891	39.7889	7626
+-79.1026	30.4734	5295
+-81.8049	27.298	9245
+-81.6362	26.3505	8195
+-116.6064	32.8472	9350
+-111.4449	31.9741	8197
+-81.3962	27.7626	9058
+-87.5866	36.8573	8209
+-108.5852	34.7298	5574
+-120.11	35.6514	6022
+-109.3382	37.3007	3186
+-121.6347	45.421	7412
+-91.3036	39.71	7991
+-113.6826	32.0586	5994
+-118.2066	44.8134	7896
+-117.0997	30.0702	6686
+-82.5931	30.222	7066
+-109.516	31.5532	8587
+-119.0068	33.5485	7535
+-111.983	30.0917	7064
+-120.5771	49.3511	5949
+-84.5139	27.6974	7198
+-92.8592	36.606	5894
+-124.6289	33.0755	1424
+-123.7584	46.519	8543
+-82.315	27.7783	9687
+-125.3887	43.7689	5154
+-125.6887	45.2621	6015
+-89.0205	39.3412	7823
+-86.0333	37.3234	6723
+-118.3321	45.0273	8123
+-117.4264	32.3086	8989
+-87.7746	36.9023	8410
+-114.1714	28.8965	4397
+-112.8648	33.0267	6316
+-116.0529	44.1166	6099
+-91.0285	40.9362	6968
+-107.6269	30.6773	6381
+-116.4443	32.0603	8728
+-117.9691	44.124	7142
+-118.9048	35.0135	7509
+-78.9635	26.568	6058
+-90.2118	40.0424	8019
+-84.0169	25.0366	6140
+-115.3943	35.1164	7231
+-114.4219	45.0253	5015
+-118.1183	45.2622	8356
+-87.4207	38.6928	7915
+-119.907	47.5518	6954
+-116.1349	45.9993	6983
+-109.7721	33.0461	7776
+-117.9842	47.1396	8115
+-87.3361	38.4171	8001
+-122.8395	49.5948	6718
+-115.1597	40.8181	2762
+-92.5747	38.8926	7057
+-88.5908	37.5641	9587
+-83.979	26.8459	7559
+-124.2306	49.1863	6763
+-114.3661	34.4838	6351
+-110.2181	30.7723	8586
+-123.0632	43.3077	5582
+-120.661	33.5744	5785
+-82.0086	26.078	7977
+-125.3196	45.7968	6654
+-79.6548	25.9379	6408
+-118.8463	31.9496	7444
+-120.2059	45.697	7180
+-107.7171	32.8797	6310
+-114.555	39.1241	3342
+-121.6887	44.5581	6644
+-113.8076	31.4123	5897
+-89.0428	38.3525	8984
+-91.7195	38.2656	7892
+-109.8071	34.3764	6394
+-117.8248	32.8156	8796
+-80.3195	28.8464	7504
+-111.9624	33.4048	6826
+-119.6087	48.6869	6182
+-90.7196	38.8092	9056
+-121.6864	44.9288	7000
+-120.1081	34.7303	6371
+-117.6946	46.8018	8290
+-125.3924	46.0563	6691
+-122.7508	49.4536	6869
+-111.9389	31.8481	7711
+-83.7362	29.6975	7053
+-120.746	46.98	7240
+-93.2543	37.5353	6064
+-80.6536	28.2764	8122
+-83.532	27.5005	8282
+-91.4715	37.552	7680
+-111.1058	31.3495	8599
+-109.8691	29.9593	7644
+-119.7462	29.7023	5097
+-93.226	40.5654	5789
+-80.1619	28.3732	7559
+-111.144	31.1548	8480
+-116.5371	31.936	8660
+-109.6023	32.5059	8198
+-119.9459	36.0023	5974
+-113.9039	33.3429	6287
+-119.0109	45.0038	7867
+-118.0857	46.0497	9045
+-83.2929	26.9278	8273
+-123.3467	47.0014	9114
+-116.5869	32.113	8861
+-121.8255	45.8756	7924
+-118.603	34.6603	7971
+-89.2416	39.2252	8091
+-115.335	31.5727	7464
+-87.4646	34.041	5491
+-123.7681	43.5203	5702
+-90.8971	37.6536	8119
+-125.081	43.6253	5223
+-118.8458	29.7281	5720
+-119.9046	33.5169	6583
+-77.3909	30.178	3873
+-116.2379	34.3586	8389
+-107.7687	30.1542	6293
+-92.7802	38.9928	6828
+-122.8307	47.9489	8524
+-81.2708	27.9882	8885
+-121.9159	45.4495	7619
+-89.2013	38.2755	8975
+-116.1309	46.7543	6878
+-90.2474	36.3646	7602
+-115.9168	32.7518	8580
+-119.7187	47.689	6993
+-111.2255	29.5871	7105
+-114.0569	33.3713	6449
+-117.6734	48.0976	7049
+-120.3631	46.0187	7056
+-117.0568	46.601	7857
+-86.3996	39.532	6432
+-79.6427	29.8148	6244
+-89.8874	37.5509	8550
+-84.3052	30.3337	6088
+-121.2351	44.6687	6489
+-110.0147	31.4306	9091
+-91.7781	38.1859	7803
+-91.3019	38.1786	8258
+-116.8008	33.5728	8743
+-115.2275	31.3876	7242
+-83.7737	26.2407	7358
+-88.5042	34.5629	6319
+-117.2686	31.8811	8656
+-86.1308	35.4008	5914
+-118.9242	33.3025	7515
+-120.0818	46.0211	7354
+-110.1385	36.3725	4280
+-120.0628	47.8881	6589
+-119.5725	46.6304	7784
+-111.8997	30.0691	7113
+-90.0986	37.2183	8238
+-112.2864	34.9025	5301
+-124.8084	48.0427	7199
+-116.9971	30.9795	7704
+-82.4463	29.7676	7601
+-121.721	45.9593	7902
+-120.1031	34.0501	6442
+-109.5989	35.1964	5479
+-114.2559	33.5912	6608
+-82.0302	28.6936	8837
+-122.2254	46.4813	8693
+-91.1729	37.8972	8172
+-119.19	45.6862	8205
+-90.7886	41.3725	6564
+-81.0037	30.6482	6391
+-109.4765	30.9324	8308
+-86.4778	38.7735	6961
+-89.1663	34.6451	6395
+-119.7685	47.7153	6937
+-82.0424	27.6679	9741
+-118.8608	34.7622	7668
+-121.5627	49.7597	6204
+-126.1202	43.434	4355
+-83.7495	29.267	7398
+-90.6642	37.763	8318
+-114.5219	30.3194	5855
+-85.6758	29.5017	5430
+-115.5747	36.3014	6538
+-112.8416	34.1946	5551
+-117.3941	32.7825	9275
+-91.5526	33.7272	4400
+-83.849	26.2633	7312
+-84.2362	29.3802	6894
+-125.6772	45.368	6086
+-83.389	30.1104	6884
+-110.0042	30.3457	8086
+-92.3896	41.651	5623
+-81.7568	29.1828	8235
+-116.592	31.5928	8325
+-121.2579	46.0239	7526
+-83.6448	26.4354	7614
+-92.7903	41.2484	5685
+-80.5169	30.2938	6498
+-110.9575	31.0677	8596
+-119.0295	31.4065	6966
+-90.9876	37.2655	7697
+-83.511	26.483	7762
+-121.9896	45.2501	7472
+-86.1617	35.8417	6245
+-118.1635	48.6668	6539
+-122.7933	46.1495	8701
+-116.769	32.6953	9494
+-84.818	29.3733	6353
+-91.0626	36.6162	7011
+-82.4473	30.3665	6930
+-119.0267	45.2093	8032
+-116.7986	35.7075	7746
+-90.0423	37.1092	8253
+-118.4714	29.2252	5410
+-81.4961	27.724	9170
+-117.2358	37.7231	5622
+-88.1875	36.1108	7952
+-123.3028	48.4161	7953
+-116.9238	46.5067	7758
+-87.1453	39.0155	7447
+-116.6404	30.8308	7508
+-116.1161	34.7719	8103
+-90.2212	35.4629	6852
+-114.3587	31.9658	6693
+-106.8418	29.766	5209
+-119.1455	36.8821	5906
+-120.3298	35.1943	6002
+-115.1801	32.435	7715
+-110.2228	32.5885	8378
+-123.7734	49.4309	6734
+-121.1704	46.7924	7696
+-124.8531	46.994	7460
+-90.2615	37.0761	8011
+-117.6975	43.6259	6568
+-110.9305	32.555	8238
+-87.3706	34.6413	6076
+-114.246	33.1745	6692
+-107.0813	33.4262	5424
+-89.0454	40.6521	6918
+-110.8675	30.4711	8137
+-110.9565	30.5157	8134
+-117.2926	34.9843	8609
+-114.7681	32.4253	7262
+-90.7083	38.4725	8964
+-118.442	44.3411	7390
+-111.1869	33.5285	7172
+-106.1862	33.4831	4531
+-119.1194	48.7024	6366
+-88.9094	36.5195	8518
+-109.59	33.1792	7566
+-120.3599	44.839	6688
+-120.8937	47.0966	7397
+-84.752	26.8327	6747
+-118.8155	49.0507	6085
+-117.0582	43.768	6471
+-117.0257	44.7807	7330
+-119.6639	49.835	5043
+-82.8808	26.0815	7807
+-109.8783	31.4019	8943
+-111.1567	29.3692	6914
+-117.2579	34.6029	9026
+-117.8936	36.0356	7353
+-119.8149	34.5089	6728
+-117.0018	33.7515	9031
+-119.0776	46.9782	8006
+-92.1226	39.3202	7452
+-117.7873	32.218	8620
+-118.261	44.6821	7759
+-116.5161	46.8783	7215
+-120.956	34.9167	5424
+-115.5257	36.6327	6215
+-88.3181	34.1043	5785
+-113.2697	49.5908	2790
+-118.6977	43.887	6876
+-119.9554	34.2406	6603
+-86.6196	38.5332	7216
+-90.6981	41.6226	6310
+-121.5076	32.8918	4718
+-116.3956	32.6267	9082
+-122.9043	45.6973	8212
+-120.6318	43.3539	5434
+-80.3777	27.6986	7905
+-116.8997	45.9707	7789
+-111.6948	31.8217	7976
+-109.4892	32.0651	8420
+-119.0913	34.6201	7478
+-84.7427	38.1418	5267
+-89.0325	38.2137	9132
+-107.0363	32.2414	5831
+-110.1428	35.2146	5534
+-110.5068	31.7597	9205
+-121.904	45.4178	7583
+-113.1305	33.3284	5901
+-89.5467	38.6444	8515
+-111.8812	30.7717	7580
+-83.707	28.8561	7727
+-90.4165	36.3517	7447
+-91.9921	36.7266	6638
+-111.6437	32.7146	7598
+-95.3621	36.1748	3383
+-122.5454	43.3409	5604
+-116.6073	36.7525	6592
+-114.2097	31.5465	6367
+-88.5454	36.794	8805
+-81.8909	27.4982	9483
+-119.9456	47.6077	6884
+-91.7149	43.1847	4434
+-90.2266	38.6038	9193
+-116.191	32.9139	8881
+-109.2218	29.3378	6759
+-113.8523	32.4057	6249
+-116.8477	32.308	9170
+-90.0511	39.3753	8661
+-82.3021	27.187	9209
+-117.7051	33.9832	9032
+-116.8171	45.7696	7669
+-109.7005	31.2717	8709
+-118.0138	33.2012	8508
+-118.8979	42.7589	5663
+-89.1542	35.887	7771
+-91.2011	39.1067	8463
+-117.7288	33.4863	8671
+-89.809	43.0474	4751
+-83.832	25.8575	7001
+-116.7012	32.2274	9032
+-123.9443	48.5855	7490
+-118.1387	35.3486	7906
+-83.0545	27.4696	8797
+-90.3892	38.999	9156
+-80.7789	33.344	3399
+-89.2414	36.5314	8434
+-124.7139	48.4025	7065
+-118.2698	33.3794	8169
+-118.3568	34.9004	8084
+-89.5283	35.4934	7231
+-85.9337	36.3714	6319
+-81.8386	30.8579	6379
+-87.8373	35.5593	7230
+-82.6459	38.0136	2933
+-119.1719	46.3294	8289
+-114.7819	29.0979	4942
+-92.2086	37.862	7237
+-88.3994	38.3393	8954
+-110.2506	32.3586	8629
+-127.3649	46.3817	4659
+-117.0746	31.5096	8290
+-110.7029	31.5232	9068
+-85.9394	36.4909	6378
+-80.5387	31.6145	5180
+-92.856	36.5212	5836
+-106.3111	32.5764	4985
+-115.5454	36.2769	6539
+-93.109	43.594	3434
+-88.2302	39.2084	7982
+-84.9851	28.2891	6612
+-123.791	46.8402	8618
+-90.2919	38.1194	8738
+-80.9711	30.5412	6489
+-116.1514	33.7207	8241
+-109.4433	31.0668	8359
+-118.6293	32.7908	7898
+-119.0203	44.4642	7360
+-88.5946	34.7126	6494
+-116.3196	30.9048	7502
+-93.7182	40.8295	5188
+-87.6982	39.6109	7324
+-110.658	30.5942	8346
+-91.2521	39.0661	8428
+-120.7528	47.4491	7188
+-88.4981	38.5899	8735
+-117.7526	32.185	8628
+-91.7169	36.6657	6757
+-116.7898	34.0594	9012
+-110.0866	31.7247	9165
+-89.7344	38.6505	8717
+-113.0089	33.7918	5715
+-116.4058	32.9377	9113
+-124.9114	43.8699	5549
+-95.0276	40.188	4184
+-116.7496	34.0718	8970
+-115.0791	30.9647	6803
+-119.8844	46.5752	7492
+-111.5565	31.6566	8146
+-117.2372	33.2293	9202
+-88.0487	38.506	8575
+-123.0467	45.8758	8397
+-115.9338	34.2066	8082
+-116.9275	35.7081	7781
+-83.2591	27.2531	8493
+-106.7482	31.0183	5541
+-120.5813	47.0068	7058
+-90.7428	37.6616	8189
+-115.2964	31.9637	7661
+-89.0283	38.871	8431
+-91.5404	37.2313	7366
+-117.9197	36.8337	6507
+-87.5024	40.8525	5967
+-111.4296	33.8543	6741
+-117.7309	44.2809	7247
+-87.6009	37.945	8470
+-83.7335	27.6658	8078
+-116.1632	31.1681	7707
+-89.1613	35.7365	7604
+-92.9477	37.3489	6275
+-116.7193	34.4992	8820
+-117.7083	32.9457	8913
+-115.9143	37.8124	5262
+-113.0241	29.9449	6060
+-81.2777	29.6778	7523
+-90.5302	39.2688	8843
+-115.4241	34.5743	7471
+-89.6181	40.3144	7547
+-108.8967	31.0035	7795
+-85.1132	26.1608	6063
+-117.6458	40.7739	3579
+-88.424	37.4491	9360
+-87.1799	41.1037	5565
+-90.6522	39.6207	8442
+-118.1973	31.9517	8075
+-93.9911	36.0255	4551
+-116.2311	34.5252	8330
+-81.4709	29.8654	7402
+-117.1834	33.0586	9390
+-90.0665	35.1744	6660
+-116.7798	35.0754	8381
+-112.2121	31.1221	7378
+-90.5352	37.973	8571
+-117.1784	33.9421	9308
+-118.0337	36.1012	7234
+-115.626	33.4791	8085
+-86.7103	35.8791	6757
+-109.8545	33.2924	7551
+-91.936	41.0336	6448
+-91.2929	39.891	7852
+-122.4106	48.2428	8105
+-121.2396	49.6096	6177
+-89.4617	42.1093	5670
+-120.7584	47.1981	7240
+-109.7755	29.7375	7384
+-123.3432	45.5074	7931
+-119.4876	36.8358	5722
+-114.0849	33.2237	6507
+-112.7364	29.2891	5874
+-116.2573	36.1842	7044
+-91.1359	37.7121	8042
+-118.1416	35.6583	7620
+-94.4381	40.444	4688
+-91.5215	35.0945	5585
+-121.7293	32.702	4426
+-113.7102	26.9309	3245
+-112.2419	30.8562	7261
+-91.6921	39.9207	7532
+-124.2532	46.2707	7934
+-116.6673	34.0826	8882
+-88.0894	38.1062	8908
+-90.6818	38.9442	9041
+-109.6462	30.4979	8082
+-83.3475	27.0496	8297
+-112.8558	34.6592	5164
+-116.3523	32.914	9059
+-120.7318	32.7936	5485
+-123.0343	46.656	9234
+-117.7573	32.8698	8869
+-113.9214	32.3034	6308
+-120.456	47.0948	6730
+-91.4451	37.7072	7820
+-86.3871	37.0304	7050
+-111.0605	35.0948	5588
+-89.4329	39.3077	8237
+-126.3492	44.6626	5049
+-116.7491	48.4216	6313
+-127.0815	49.353	4317
+-83.6134	28.2901	8116
+-122.2721	46.9684	8916
+-85.272	26.9535	6224
+-111.2088	31.0712	8375
+-119.1318	30.936	6554
+-88.5362	34.8601	6655
+-120.0043	45.2127	7210
+-91.3926	36.0239	6291
+-123.8689	47.2513	8497
+-114.658	29.7867	5504
+-92.0364	37.1904	6975
+-117.0422	33.7362	9040
+-90.2636	36.6931	7811
+-111.7882	33.6621	6724
+-89.5691	36.4303	8161
+-116.6616	47.1253	7229
+-83.0526	26.4906	8113
+-117.3566	28.2723	4666
+-86.8705	37.214	7627
+-90.1351	36.7599	7973
+-90.2795	34.7186	6096
+-116.3963	35.0139	8187
+-114.2602	32.4389	6705
+-79.5561	26.7272	6749
+-91.9776	37.2857	7091
+-86.4854	35.8879	6568
+-79.1785	29.1266	6212
+-117.1776	46.6153	7969
+-122.2265	49.1452	7101
+-78.4246	27.8317	5696
+-107.9564	33.6766	6042
+-116.9991	44.7064	7254
+-116.5036	35.1845	8121
+-120.5493	44.376	6245
+-115.5145	33.2037	8077
+-87.145	38.5035	7766
+-118.9181	48.1001	7038
+-119.3222	44.7948	7494
+-115.7447	35.4861	7317
+-119.7711	35.0884	6614
+-111.2662	34.4249	6233
+-116.186	31.5365	8080
+-116.8843	34.1628	9120
+-118.9326	34.2802	7713
+-123.4113	48.9969	7306
+-120.8225	35.5197	5375
+-110.4698	32.7213	8232
+-88.7269	38.9979	8319
+-117.788	34.4498	8872
+-84.3713	27.6252	7355
+-115.9416	38.6811	4371
+-78.7759	27.4527	6077
+-116.9752	32.5199	9422
+-120.7776	47.9195	7050
+-89.9842	38.7447	8994
+-118.8312	29.2913	5305
+-116.446	34.2128	8639
+-110.3277	29.6805	7412
+-86.06	34.0974	4787
+-119.7762	46.3594	7656
+-86.3103	39.2367	6542
+-116.5549	48.7628	5898
+-109.5916	31.4757	8662
+-109.5036	33.174	7530
+-81.3601	24.5572	6158
+-116.7204	46.717	7481
+-116.0986	32.8471	8784
+-88.2447	39.1049	8097
+-118.1537	31.7191	7950
+-108.6052	29.1115	6206
+-118.6078	41.2332	4095
+-108.5459	29.4955	6496
+-119.8542	43.7518	6268
+-118.9551	31.1795	6880
+-114.477	36.5573	5507
+-90.712	39.9417	8092
+-125.6783	45.1796	5977
+-113.5046	34.2538	5572
+-117.4697	46.8128	8115
+-85.1414	38.7924	5554
+-123.0391	46.3846	8949
+-114.8164	33.1403	7327
+-87.8614	37.1517	8646
+-91.1455	41.2428	6615
+-91.4258	40.0338	7642
+-119.4879	32.9639	6800
+-107.6317	31.6582	6545
+-89.5084	41.634	6176
+-89.5544	37.6078	8928
+-93.8287	40.7395	5136
+-125.3458	47.2748	6898
+-121.9541	46.6769	8519
+-87.2676	38.0621	8075
+-91.1925	36.1839	6524
+-121.645	49.1967	6795
+-89.2478	39.5342	7937
+-112.4226	33.2196	6598
+-117.3103	36.2551	7223
+-91.6906	37.0626	7124
+-118.4968	36.0736	7032
+-87.8072	34.8932	6521
+-84.1284	39.3436	4279
+-116.8163	27.566	3894
+-81.7822	28.4378	9035
+-108.8182	34.9095	5514
+-117.6553	30.5478	7108
+-112.6656	31.4979	6945
+-79.7168	30.9625	5359
+-85.7325	35.4435	5593
+-84.2407	26.6112	7173
+-119.3898	47.1011	7680
+-84.7705	26.9489	6769
+-90.7612	41.6579	6264
+-115.5039	46.3365	6306
+-120.1152	49.5441	5437
+-90.5387	35.1496	6360
+-117.4477	45.9113	8353
+-88.9428	32.5395	4057
+-93.2928	40.1691	5935
+-86.7622	37.1243	7484
+-80.807	26.6432	7926
+-112.1057	33.3469	6765
+-114.5345	48.734	4408
+-118.1497	33.7434	8485
+-117.6097	46.2715	8524
+-110.1258	31.8175	9135
+-117.7218	43.7322	6683
+-118.7513	32.5017	7731
+-81.5959	27.6433	9269
+-120.3828	48.6036	6307
+-122.7707	45.5226	8013
+-111.6459	28.6958	6037
+-85.5891	37.436	6239
+-89.6466	38.2674	8475
+-120.3223	47.472	6658
+-116.7591	32.7444	9508
+-116.0977	32.6858	8773
+-123.7488	43.6487	5844
+-109.7654	29.008	6616
+-117.0605	36.4662	6983
+-118.7544	33.633	7826
+-115.1727	28.2868	4319
+-88.3464	38.5289	8738
+-121.2965	43.5888	5498
+-112.2163	33.8457	6284
+-89.4026	38.1485	8919
+-80.5787	26.098	7312
+-92.713	33.7265	3456
+-120.3162	47.9378	6358
+-115.9241	32.0933	8338
+-111.8975	31.3959	7767
+-86.9318	25.8687	4054
+-91.6896	39.7968	7620
+-120.4295	34.0634	6087
+-90.1396	36.1466	7516
+-83.3874	27.4034	8415
+-113.8005	29.9884	5339
+-117.2758	34.8676	8737
+-121.2927	33.9099	5139
+-118.8682	45.5992	8445
+-89.4817	38.5832	8436
+-83.9561	25.0976	6236
+-92.2007	34.4116	4355
+-118.7617	30.5776	6552
+-111.4775	30.8905	8024
+-90.6461	35.4488	6552
+-120.853	42.8425	4866
+-85.0405	27.6147	6599
+-106.8449	31.6972	5692
+-77.9837	28.2112	5171
+-87.0669	28.6473	4223
+-107.0712	33.419	5418
+-88.1839	35.1098	6872
+-114.5802	32.8154	7091
+-120.5283	42.6442	4896
+-116.5866	45.3907	7313
+-119.7147	43.5758	6187
+-88.7944	34.1973	5921
+-116.2065	49.8629	4709
+-119.0243	36.0312	6716
+-121.0267	47.8628	7325
+-82.8694	24.7782	6410
+-88.5876	35.8896	7811
+-111.1686	31.6557	8565
+-123.747	46.7187	8637
+-125.7432	48.0343	6270
+-88.829	36.5741	8587
+-115.3453	34.0826	7441
+-87.1485	39.1277	7367
+-83.1785	28.5938	8384
+-117.4008	44.1031	6948
+-116.0277	32.1989	8499
+-119.0235	48.4514	6650
+-84.8621	27.2295	6746
+-117.4348	31.871	8576
+-123.6741	44.0485	6289
+-89.9166	37.6915	8524
+-121.1029	49.3921	6290
+-84.7654	27.5281	6902
+-117.9457	26.4074	2521
+-116.7286	35.0964	8334
+-113.9254	33.3873	6301
+-125.0448	47.9209	7027
+-119.068	31.4741	6971
+-89.6226	39.1709	8487
+-123.9448	47.1221	8446
+-110.0642	31.1941	8961
+-88.9246	39.0197	8285
+-120.3362	48.6712	6224
+-92.2049	39.8578	7126
+-110.6994	33.7713	7070
+-110.2698	28.6075	6249
+-85.752	38.5718	6282
+-109.5203	30.6234	8111
+-89.6633	41.5316	6327
+-114.0162	47.1266	4612
+-119.9327	49.3879	5365
+-80.0778	27.0974	7447
+-92.1507	39.3026	7428
+-115.6004	33.4107	8091
+-80.3331	24.9478	6109
+-117.1847	37.7346	5608
+-116.8535	33.8087	8965
+-82.0108	30.7657	6497
+-121.0404	47.8259	7356
+-116.6279	48.231	6403
+-120.0847	32.5181	6259
+-120.6664	35.5072	5538
+-118.0965	47.2358	8042
+-90.8464	43.6249	4146
+-122.8867	48.0024	8468
+-94.5964	39.5924	4793
+-118.2486	47.1009	8200
+-87.6273	43.3214	3671
+-124.7852	47.4904	7457
+-80.5244	25.7938	7012
+-118.2595	36.0903	7144
+-119.5715	46.1955	7893
+-90.6977	41.6237	6309
+-120.3743	35.618	5781
+-110.6457	34.7718	6002
+-79.1189	25.1741	5394
+-110.8735	31.945	8769
+-119.2388	48.8048	6222
+-92.1725	38.2946	7434
+-108.7503	29.4642	6608
+-84.634	40.3663	4274
+-120.3398	33.2404	6047
+-89.0997	36.8526	8828
+-117.7956	35.2519	8188
+-117.1431	34.1563	9401
+-116.9341	30.4078	7066
+-122.3851	47.7029	8619
+-115.5215	32.3886	8072
+-90.5969	41.233	6738
+-118.3127	33.7925	8338
+-113.4435	36.1332	4831
+-87.2343	39.8541	6817
+-120.8168	32.0192	5367
+-118.5165	34.7581	8014
+-122.4436	45.0624	7455
+-113.5552	33.7981	5793
+-109.8441	34.1866	6604
+-109.5072	32.5648	8084
+-81.7976	28.2699	9208
+-115.1495	32.1018	7575
+-90.8682	36.4958	6939
+-110.6535	35.3482	5380
+-120.389	47.2023	6743
+-89.9907	40.1744	7832
+-107.8678	33.718	5940
+-85.7785	33.9972	4504
+-115.1964	43.9468	5274
+-88.5007	35.5117	7379
+-92.2299	38.2142	7352
+-121.7478	43.1456	5222
+-89.139	34.6001	6348
+-110.4253	27.1799	4702
+-116.8064	33.292	9193
+-90.8886	39.835	8134
+-121.8672	47.3678	8389
+-109.3527	32.957	7645
+-87.9791	38.9559	8119
+-88.3047	38.8741	8363
+-88.9305	36.298	8269
+-90.5724	39.1454	8952
+-87.182	38.5955	7753
+-114.643	34.5737	6636
+-90.9864	36.5739	6990
+-118.3616	47.1094	8188
+-118.7829	34.0842	7883
+-121.702	45.0943	7164
+-88.1764	34.0823	5738
+-117.309	31.7918	8548
+-121.4744	45.1306	7052
+-118.1413	31.5482	7825
+-95.1411	36.6928	3837
+-118.9631	39.88	3002
+-82.3114	25.8404	7704
+-118.7318	32.3494	7716
+-116.7394	45.5733	7533
+-91.541	38.9483	8158
+-80.9051	26.6174	7990
+-92.6293	39.7239	6786
+-117.5106	32.3926	8984
+-115.3191	31.3927	7324
+-125.9955	46.4191	6153
+-112.7632	34.7445	5154
+-117.8089	43.9557	6935
+-117.9411	44.5657	7596
+-81.8629	27.4999	9463
+-93.4448	39.5959	6001
+-90.1843	37.862	8443
+-89.9427	41.2508	6687
+-117.9085	47.0221	8206
+-79.2979	28.6711	6525
+-113.4217	33.9817	5591
+-84.3334	36.5443	4682
+-124.4575	46.7272	7875
+-115.5158	44.3257	5779
+-86.8832	36.9885	7568
+-91.9242	36.7936	6740
+-118.8364	36.7349	6223
+-113.5869	33.0576	5974
+-89.5574	37.3008	8837
+-120.1242	46.5773	7246
+-121.016	49.1711	6420
+-89.6529	37.0505	8604
+-80.7227	27.7875	8296
+-80.2634	27.6064	7769
+-86.4213	41.6772	4599
+-89.1195	41.6468	6018
+-119.7456	36.8108	5558
+-90.6435	37.7186	8278
+-88.1118	37.5262	9064
+-94.9939	31.4211	92
+-90.6266	36.9919	7511
+-113.9034	29.2154	4832
+-120.3349	44.2074	6304
+-88.2185	34.2292	5908
+-119.9919	45.7949	7422
+-115.8733	33.1026	8492
+-91.6025	41.1644	6509
+-117.6076	35.4453	8059
+-115.327	31.7395	7565
+-89.0655	39.3595	7859
+-116.8613	35.1358	8358
+-92.7482	43.6089	3600
+-89.7775	36.3346	7939
+-116.7975	35.3911	8074
+-119.4917	37.3877	5237
+-89.8658	35.8437	7426
+-118.4906	47.3341	7935
+-83.6841	29.9116	6898
+-122.0466	43.9884	6203
+-82.2863	25.7758	7633
+-117.1442	47.037	7698
+-116.9389	35.3549	8158
+-120.7405	32.3951	5517
+-87.6103	35.34	6899
+-117.1147	29.8656	6457
+-91.3942	39.7127	7920
+-89.2299	37.4862	9257
+-108.0861	31.2776	7016
+-120.7625	48.23	6878
+-109.977	33.8738	6962
+-109.5138	28.1295	5628
+-116.1974	45.2035	6856
+-121.3142	45.9951	7563
+-119.9124	44.6473	6949
+-120.7269	34.8405	5685
+-122.9973	49.589	6723
+-109.9833	31.1526	8872
+-84.3211	36.4971	4655
+-81.9351	27.7594	9668
+-115.0842	33.1923	7612
+-119.6281	33.6972	6918
+-87.2415	38.5479	7838
+-120.6704	43.9488	5857
+-115.9443	34.4913	8044
+-120.072	45.3808	7219
+-111.8589	31.6926	7816
+-119.8681	34.6545	6644
+-121.8697	44.9058	7075
+-118.6985	34.1125	7976
+-119.6813	47.5907	7096
+-81.521	24.112	5700
+-90.838	41.3814	6546
+-119.8779	47.7357	6841
+-83.51	29.0914	7731
+-112.5309	34.0529	5892
+-119.5655	37.5318	5062
+-115.4753	34.3191	7573
+-117.5551	35.2469	8283
+-127.1028	48.9319	4509
+-88.337	37.4648	9283
+-118.3429	33.459	8152
+-117.4456	34.07	9331
+-125.9385	47.1042	6265
+-117.9429	46.5617	8653
+-111.9691	31.3865	7688
+-115.8368	31.3377	7677
+-87.7219	36.9776	8411
+-93.5469	40.2953	5629
+-116.7953	36.1239	7306
+-109.1138	31.2915	8115
+-88.7011	41.127	6286
+-115.7613	45.0049	6349
+-86.925	37.453	7734
+-121.4445	33.0914	4841
+-116.1839	31.8079	8329
+-81.0682	26.9542	8377
+-82.9751	31.3013	5782
+-119.8974	45.288	7347
+-121.6521	34.3448	4748
+-114.8818	35.8977	6302
+-81.252	26.5329	8177
+-118.3136	39.2656	3824
+-118.146	38.3237	4867
+-120.7601	46.933	7255
+-122.6961	46.835	9340
+-116.7749	33.2082	9266
+-110.6392	33.8111	7037
+-85.0265	37.1344	5575
+-88.0386	36.8005	8546
+-116.9862	36.7465	6671
+-114.5493	31.6466	6757
+-115.3593	32.9071	7957
+-111.3742	33.235	7358
+-119.5034	33.5667	7021
+-109.7143	31.333	8750
+-122.012	46.4544	8480
+-90.8793	37.0087	7473
+-117.6492	34.4404	9003
+-116.3135	35.9181	7331
+-78.2703	28.5778	5427
+-110.741	29.9967	7699
+-115.8233	46.0599	6655
+-119.5651	32.9392	6712
+-80.5219	24.8906	6163
+-119.3111	37.1836	5532
+-124.8289	43.5175	5265
+-82.0255	28.1235	9471
+-121.1367	45.9329	7361
+-82.4716	28.6523	8820
+-119.5161	48.8294	6089
+-118.5798	36.1415	6921
+-82.8206	28.4756	8775
+-87.998	39.1318	7957
+-115.7784	36.4309	6552
+-90.7738	36.1177	6970
+-118.0325	45.9494	8951
+-83.2749	29.6936	7358
+-82.4587	25.563	7372
+-115.7301	33.6074	8116
+-88.4703	39.2545	8001
+-81.2089	27.8331	8844
+-122.1671	44.8992	7196
+-84.5566	28.0064	7138
+-115.9957	45.7412	6808
+-125.4052	48.5246	6365
+-113.8532	35.2929	5606
+-115.5845	34.7405	7587
+-115.9585	32.153	8407
+-80.5659	28.02	8096
+-91.9576	41.0468	6423
+-85.0605	26.9941	6467
+-116.5012	32.2198	8909
+-113.0167	34.619	5084
+-116.5084	35.1873	8122
+-115.7648	45.3536	6479
+-90.302	37.9937	8605
+-116.7057	46.0448	7589
+-80.402	30.2841	6436
+-88.5599	39.4926	7752
+-117.8877	33.4444	8526
+-116.8944	45.3278	7578
+-109.7649	29.9366	7586
+-90.076	35.4365	6913
+-86.1085	35.5433	5997
+-88.0727	39.6359	7471
+-120.7744	44.7588	6264
+-122.9513	44.6707	7083
+-88.7955	38.1507	9270
+-109.7629	30.2923	7944
+-107.3731	31.4159	6261
+-107.5766	33.8848	5583
+-119.105	34.5853	7473
+-94.1947	42.5189	3647
+-121.5553	46.4254	8014
+-116.7382	28.9488	5431
+-119.7929	33.2324	6612
+-87.4947	37.2229	8303
+-90.0922	35.7977	7244
+-88.7734	40.8162	6601
+-90.8308	40.4288	7552
+-87.0524	36.6419	7574
+-112.0386	33.1729	6948
+-93.1871	37.6837	6191
+-81.1256	27.3206	8646
+-118.8139	35.4927	7291
+-117.5504	36.3461	7104
+-120.3921	29.6848	4576
+-124.4798	48.4727	7208
+-110.426	27.8177	5392
+-90.0168	40.0046	8016
+-117.0011	33.7938	9068
+-80.737	25.6636	7036
+-88.9914	40.494	7019
+-88.4271	41.065	6158
+-119.2954	32.178	7059
+-84.983	26.9566	6541
+-84.2364	30.3278	6143
+-89.9707	34.255	5755
+-118.3157	36.1946	7015
+-116.2573	31.3219	7907
+-83.4342	25.9072	7325
+-90.4139	38.2741	8910
+-126.0091	49.1799	5413
+-120.0201	33.0174	6297
+-114.9617	44.9518	5538
+-124.8017	46.6262	7484
+-112.3652	27.3819	4417
+-88.2798	38.4821	8748
+-112.1034	33.032	6995
+-79.3633	26.5538	6471
+-88.64	42.2959	5166
+-94.15	38.1819	5319
+-84.9479	34.3713	4154
+-127.0783	43.6433	3741
+-88.7624	40.1642	7106
+-111.4622	30.1592	7505
+-85.5598	26.3411	5694
+-123.9558	34.9724	2184
+-83.2546	26.5204	7996
+-79.7971	25.8718	6489
+-93.9026	39.2378	5595
+-115.8662	35.167	7639
+-95.2246	39.2109	4183
+-122.4743	48.8385	7497
+-120.342	48.809	6143
+-89.8606	39.1779	8696
+-87.637	41.4667	5261
+-87.2632	38.3782	7948
+-80.1168	27.138	7503
+-117.7821	35.7428	7694
+-89.5288	37.5781	8954
+-107.8052	29.2058	5714
+-117.1874	33.3703	9088
+-82.8588	27.9186	9054
+-117.0007	32.6174	9527
+-121.0499	46.9924	7573
+-116.8741	33.1188	9400
+-120.0095	49.3369	5375
+-88.8158	39.0733	8234
+-92.4559	40.189	6705
+-127.5322	49.4232	3846
+-113.2595	33.725	5545
+-118.7727	47.6353	7554
+-84.9395	37.5297	5516
+-91.6103	39.2693	7988
+-111.7841	31.8267	7880
+-90.1123	32.865	4218
+-120.1927	32.7605	6154
+-88.6411	39.3924	7872
+-116.0292	31.7629	8180
+-119.7116	48.7026	6116
+-86.5625	40.5935	5702
+-116.377	45.6884	7195
+-83.5528	29.0994	7690
+-116.1047	36.6176	6546
+-89.7929	40.6041	7327
+-117.8775	33.5253	8598
+-117.9955	42.2211	5141
+-110.5412	29.872	7606
+-113.849	45.1449	4456
+-87.5836	38.2406	8339
+-118.18	47.1855	8106
+-119.7371	29.5926	5011
+-116.0896	33.4937	8517
+-81.4249	26.1991	7946
+-120.3612	45.9653	7055
+-118.6816	32.6655	7833
+-89.4295	38.5296	8369
+-90.2306	36.4846	7703
+-94.2411	37.7373	5125
+-83.9272	29.0561	7393
+-119.3204	30.7256	6241
+-89.2144	40.7815	6898
+-112.2551	34.4237	5758
+-118.8566	45.0448	7989
+-118.1961	31.8675	8020
+-94.7488	40.0202	4524
+-90.4156	37.2193	7774
+-119.0931	33.0451	7219
+-113.1662	32.2701	6315
+-115.9926	35.1385	7768
+-82.2532	28.6226	8915
+-123.4095	44.3036	6628
+-125.3172	48.2132	6618
+-93.7025	37.4946	5600
+-90.9587	37.2046	7647
+-119.553	33.3522	6902
+-116.564	45.3295	7265
+-106.3242	30.498	4974
+-106.9997	31.2182	5840
+-84.3298	26.5235	7037
+-108.6449	32.757	7246
+-78.2012	28.2775	5406
+-118.3125	44.8875	7976
+-89.5093	36.7407	8483
+-89.8724	42.1797	5687
+-90.7722	39.3842	8623
+-89.2436	40.1471	7481
+-114.4188	32.8313	6911
+-92.766	38.6939	6855
+-84.3206	39.2397	4521
+-106.71	32.7404	5353
+-81.2836	26.9471	8557
+-119.495	33.995	7102
+-114.5218	36.7397	5409
+-92.8413	39.6497	6603
+-108.4067	31.9001	7358
+-80.6099	27.0611	7993
+-109.1276	34.3532	6201
+-89.1813	40.4302	7198
+-117.3068	33.0419	9298
+-120.2167	44.5586	6642
+-118.0162	33.8598	8667
+-82.2143	29.5098	7918
+-121.5876	49.6947	6280
+-110.1781	30.2616	8032
+-77.7335	24.8437	3916
+-117.355	43.6369	6473
+-120.5918	46.4512	6787
+-89.474	39.0916	8377
+-117.2595	34.0722	9471
+-117.4349	33.8172	9147
+-90.1294	37.1207	8167
+-117.9068	33.9757	8819
+-87.8162	38.013	8679
+-116.7886	31.9769	8795
+-121.5368	45.6034	7488
+-110.8689	38.2436	2234
+-110.2209	31.4572	9291
+-115.5151	34.8659	7467
+-118.9736	31.5433	7102
+-112.2052	33.7249	6392
+-118.4695	37.1127	6033
+-123.3686	48.744	7587
+-119.9051	46.6119	7459
+-80.7108	26.367	7635
+-117.4177	44.9436	7731
+-115.0394	33.2105	7559
+-90.6298	36.9287	7443
+-114.4932	37.2895	4955
+-119.1345	35.4226	7062
+-120.3035	31.6961	5827
+-115.501	34.4085	7589
+-90.8376	35.0164	6040
+-87.5826	41.029	5813
+-90.4195	37.9167	8525
+-115.3296	30.5141	6602
+-113.3452	31.4328	6206
+-126.6902	47.2965	5426
+-90.52	39.3199	8793
+-114.4573	35.2346	6246
+-116.9224	47.3982	7269
+-120.2918	48.0114	6324
+-121.6622	46.4998	8153
+-115.4867	35.5564	7052
+-114.7621	38.0866	4433
+-116.9924	31.2398	7994
+-115.9772	33.5267	8394
+-121.2045	49.6664	6104
+-88.6552	39.5403	7707
+-114.8472	35.5469	6481
+-108.1228	31.3462	7065
+-115.4382	31.8856	7757
+-120.1348	33.2706	6271
+-81.8268	29.0586	8390
+-107.5663	31.6169	6475
+-118.5589	48.0899	7133
+-117.5098	30.0638	6623
+-86.9112	38.309	7611
+-90.6136	38.9086	9123
+-109.8169	31.2625	8815
+-112.2138	30.6202	7184
+-93.2766	38.766	6306
+-115.0129	33.6388	7389
+-110.7931	29.2799	6929
+-119.5582	43.7584	6437
+-81.7688	28.4013	9064
+-90.9749	36.1797	6582
+-116.65	31.2498	7970
+-125.583	44.998	5950
+-111.851	32.6772	7447
+-90.5406	37.7736	8358
+-122.7763	47.0822	9420
+-123.0366	45.4588	7943
+-85.5336	27.6445	6043
+-112.2424	30.2812	6970
+-110.5415	30.5898	8374
+-118.5807	45.20	8257
+-113.3623	32.9062	5892
+-92.4837	37.8099	6944
+-91.1543	39.4155	8327
+-90.3221	40.9034	7102
+-122.1167	48.6326	7584
+-122.9434	49.7969	6496
+-80.7371	29.6614	7230
+-117.3862	31.7166	8440
+-115.9165	46.6669	6683
+-80.9203	27.8336	8518
+-90.8641	36.674	7128
+-116.3983	35.8559	7434
+-90.7249	41.9158	5992
+-120.7568	46.977	7252
+-90.6173	39.4649	8614
+-116.7863	32.4396	9287
+-90.1991	37.3827	7937
+-84.288	26.4122	7013
+-86.5932	27.2216	4809
+-93.0128	40.1107	6233
+-122.8677	46.2402	8807
+-116.1985	35.3192	7797
+-88.2903	40.6206	6399
+-115.5436	33.0285	8148
+-118.9401	33.6288	7631
+-95.1365	40.2531	4051
+-115.8218	36.0936	6882
+-89.0327	39.0911	7923
+-120.295	35.0921	6073
+-117.8275	44.5694	7569
+-119.4628	36.6743	5874
+-92.115	40.9463	6410
+-85.915	29.5998	5138
+-113.399	27.2337	3708
+-108.6314	31.2187	7588
+-112.6535	33.8486	5960
+-115.9548	33.9665	8095
+-94.631	40.8417	4321
+-115.9727	28.7268	5058
+-119.97	31.7234	6188
+-118.5922	46.7791	8470
+-87.1431	40.9406	5712
+-82.0746	25.2904	7090
+-110.4544	29.8645	7607
+-88.3827	40.3639	6654
+-115.8982	32.7724	8560
+-88.6038	43.0314	4427
+-118.9157	34.0387	7736
+-123.3741	48.4309	7915
+-87.4557	37.0661	8197
+-88.8311	37.3271	9428
+-122.0563	47.0747	8672
+-120.8378	47.145	7332
+-87.2843	37.0316	8005
+-116.9329	27.2744	3571
+-123.391	44.1628	6479
+-111.3795	35.2002	5394
+-83.6983	25.7315	6988
+-116.4332	31.8878	8558
+-81.5571	24.8994	6584
+-91.8562	38.4783	7810
+-116.1805	32.2647	8681
+-116.8527	32.2511	9109
+-125.5994	47.5807	6565
+-115.2762	34.7291	7271
+-111.95	29.3813	6514
+-108.3074	29.2558	6130
+-117.6249	32.3337	8842
+-115.633	36.5827	6326
+-82.3729	30.3209	6990
+-114.3743	34.5139	6356
+-109.8057	31.9554	8774
+-88.3218	41.1239	6036
+-89.136	39.2242	7986
+-118.2836	33.6659	8317
+-82.9023	27.657	9014
+-115.1382	36.3363	6196
+-82.1058	31.5776	5581
+-111.5669	30.7801	7879
+-120.9838	45.6423	7047
+-127.1264	46.7274	4956
+-115.7121	46.8758	6416
+-84.4747	36.6511	4864
+-119.1997	48.0669	6962
+-92.235	36.8029	6528
+-113.5933	28.1373	4334
+-90.0318	34.845	6345
+-92.842	33.6635	3335
+-122.8531	47.7136	8784
+-124.4955	43.4641	5378
+-114.5903	31.9773	6942
+-119.4247	48.5413	6406
+-116.3974	28.9118	5351
+-118.767	29.2197	5266
+-115.5234	32.3105	8047
+-119.0196	33.1926	7368
+-89.6912	36.1743	7845
+-114.0335	33.7698	6313
+-87.5354	38.5112	8139
+-120.7793	45.2146	6456
+-120.4395	47.853	6733
+-118.6248	30.5832	6650
+-117.2475	35.9623	7543
+-80.4099	27.9734	7929
+-123.5461	48.4452	7833
+-79.1654	25.1839	5441
+-86.712	37.4467	7496
+-89.1581	34.2167	5918
+-119.2011	35.2642	7094
+-118.0602	37.9264	5311
+-120.8052	42.8698	4920
+-119.5882	29.878	5360
+-88.6698	39.0511	8256
+-118.599	35.64	7344
+-123.4865	45.8136	8185
+-116.9964	33.3316	9177
+-79.1687	25.3079	5535
+-112.6085	33.8664	5981
+-121.897	46.0189	8090
+-115.9765	33.9213	8112
+-118.9598	34.007	7686
+-83.0209	28.886	8276
+-90.5815	40.2135	7833
+-88.768	38.1187	9307
+-124.2763	46.0248	7774
+-82.9955	29.5877	7613
+-118.084	29.698	6058
+-121.3177	32.8043	4887
+-90.2365	37.4294	7992
+-120.1034	33.4145	6346
+-115.9974	35.1178	7786
+-121.394	44.3138	6255
+-117.7816	30.889	7418
+-122.9819	43.2398	5511
+-117.3718	33.0725	9218
+-90.6905	38.4157	8935
+-117.498	31.1864	7840
+-115.1385	46.222	5927
+-93.0527	41.8062	5051
+-115.9624	33.5083	8393
+-118.4007	34.6172	8193
+-120.0612	30.3507	5339
+-107.2787	35.5785	4025
+-87.3426	38.348	8043
+-114.4504	32.4067	6909
+-88.8618	36.7893	8825
+-119.2502	33.0209	7057
+-90.7731	40.774	7203
+-111.2341	29.8434	7351
+-91.669	39.0074	8011
+-122.4855	46.0778	8529
+-118.8364	45.7955	8592
+-116.0471	36.9654	6174
+-119.9418	43.6705	6145
+-87.9884	37.5203	8926
+-81.6836	24.5216	6186
+-92.4172	39.0923	7201
+-112.7049	33.1809	6375
+-108.0311	30.617	6768
+-79.9015	24.4825	5400
+-117.1294	31.8905	8704
+-118.5444	35.321	7635
+-118.0821	32.4637	8448
+-112.025	32.1157	7552
+-115.328	33.1249	7893
+-120.4839	47.0173	6736
+-81.4311	28.7519	8524
+-90.491	40.7682	7246
+-82.2178	30.5989	6687
+-116.7745	32.9239	9507
+-119.5704	31.0485	6242
+-82.7975	30.8354	6340
+-109.2337	31.9567	8215
+-92.7266	41.4387	5580
+-118.1536	45.0995	8192
+-110.0204	24.9408	2269
+-118.1844	47.3944	7886
+-109.9021	31.8589	8919
+-88.43	37.5852	9427
+-90.8228	39.4847	8502
+-123.0699	48.1163	8329
+-115.1311	34.2538	7205
+-115.1017	47.9708	5352
+-113.6193	28.0273	4228
+-90.6246	42.7047	5154
+-90.9191	41.2768	6640
+-116.8593	44.8846	7278
+-119.9388	32.8427	6301
+-121.2952	44.5825	6449
+-91.3419	35.6073	5883
+-118.1303	34.2869	8581
+-114.6462	47.3463	5189
+-88.6389	39.6864	7290
+-81.6461	28.0997	9225
+-116.9575	35.5079	8001
+-92.5948	40.2659	6534
+-85.9384	39.2053	6201
+-108.9854	30.4139	7540
+-119.3374	47.4302	7463
+-79.7272	27.1738	7089
+-117.0947	45.5607	7878
+-83.673	27.4457	8113
+-88.7173	35.7207	7631
+-105.9587	33.1646	4434
+-117.6521	47.2366	7884
+-109.5365	32.0376	8480
+-116.6973	45.1939	7326
+-92.4988	40.4788	6480
+-124.587	45.1163	6855
+-116.6428	32.0663	8841
+-108.733	28.4448	5657
+-116.9537	30.5204	7192
+-85.1379	28.2746	6445
+-86.1884	37.6638	6921
+-122.7373	47.0814	9387
+-92.6011	38.3643	6998
+-122.0068	47.2132	8588
+-118.0135	29.1017	5448
+-93.0413	37.7541	6365
+-87.5082	40.003	6836
+-122.901	47.6127	8896
+-109.5582	30.8614	8326
+-87.0603	37.7845	7895
+-111.1436	31.2972	8543
+-121.8596	32.7965	4320
+-117.9471	31.5897	8001
+-121.0657	48.5862	6918
+-127.9054	47.0904	4105
+-89.5998	37.2396	8764
+-118.0794	34.8865	8329
+-124.9829	47.3437	7281
+-121.9885	47.3262	8530
+-110.0087	30.7803	8535
+-120.1877	47.2443	6908
+-123.9666	46.3857	8272
+-124.5684	46.9464	7773
+-116.9097	36.4073	7027
+-81.3985	28.4206	8780
+-117.3958	32.9028	9265
+-82.8546	25.7861	7508
+-117.3187	33.9969	9379
+-116.2411	32.4669	8854
+-88.0392	39.0744	8036
+-114.3108	29.4257	4949
+-91.1002	43.0774	4697
+-118.2672	45.1817	8288
+-114.7845	48.1484	4967
+-85.4506	27.7071	6139
+-108.8077	33.607	6728
+-117.9848	44.6379	7680
+-112.8432	29.5592	5980
+-119.4799	33.9505	7115
+-110.2117	30.5661	8364
+-114.9231	35.8068	6397
+-88.8283	37.7196	9723
+-114.7327	32.6776	7256
+-91.1465	39.7527	8066
+-109.5445	33.7972	6927
+-81.3958	32.5407	4427
+-94.7215	36.407	4110
+-117.9075	31.9137	8298
+-113.6752	29.7513	5344
+-117.8386	43.9935	6980
+-90.7608	38.4802	8924
+-79.75	25.5891	6240
+-92.6544	36.586	6043
+-89.5098	40.4933	7323
+-113.1812	32.015	6353
+-90.6213	37.5288	8083
+-119.2659	46.4198	8166
+-109.3521	30.7907	8107
+-107.5703	29.3886	5650
+-117.739	31.0302	7582
+-115.7178	33.6585	8073
+-121.3814	49.5532	6311
+-123.6728	45.6486	7928
+-88.2913	36.688	8595
+-117.2743	32.1617	8946
+-120.5903	48.4052	6617
+-116.8865	35.7157	7763
+-120.5878	35.0809	5770
+-115.3592	37.8577	4973
+-110.2424	33.1361	7788
+-119.6889	46.3411	7750
+-88.2443	41.7829	5424
+-86.3688	31.281	3666
+-116.1403	47.6936	6432
+-83.3653	29.783	7219
+-110.2048	31.752	9244
+-81.8914	29.0304	8437
+-124.3913	47.6108	7821
+-111.5688	32.5264	7789
+-91.2948	36.7661	7071
+-86.8206	36.286	7137
+-117.7875	33.9599	8939
+-118.2321	45.2551	8364
+-119.4552	33.2691	6971
+-84.3363	28.6087	7224
+-114.7622	33.3619	7220
+-117.122	33.3907	9089
+-84.2375	25.9623	6757
+-89.9591	38.9509	8918
+-116.4579	32.0541	8730
+-118.288	44.028	7066
+-119.8863	33.4086	6573
+-84.1091	28.2871	7581
+-125.2347	48.9736	6224
+-122.0969	46.3254	8477
+-89.4097	33.6498	5249
+-78.5782	28.273	5830
+-122.6287	45.5258	7995
+-89.9253	38.468	8845
+-81.188	25.4967	7111
+-107.7462	30.3387	6363
+-119.4471	33.1622	6934
+-118.508	35.2127	7743
+-110.075	30.3758	8136
+-90.7427	37.3983	7917
+-110.458	27.159	4678
+-112.5784	31.1198	6990
+-114.8773	29.952	5798
+-87.9522	38.2356	8700
+-80.938	27.5493	8518
+-109.6737	33.584	7191
+-85.2636	28.2193	6314
+-89.7217	35.8033	7465
+-116.3505	32.3226	8872
+-117.7706	33.3378	8511
+-108.4288	34.233	5938
+-88.766	38.8304	8508
+-122.8359	44.1776	6541
+-118.688	45.8314	8746
+-121.9896	46.3143	8376
+-124.4661	48.36	7303
+-91.2757	37.8712	8074
+-106.5448	34.0473	4577
+-88.6815	36.7171	8746
+-91.4998	42.8101	4886
+-117.4578	46.6966	8182
+-84.1147	27.0753	7518
+-91.369	35.8941	6168
+-105.9877	31.5914	4765
+-86.7628	27.7401	4655
+-116.4738	34.8418	8378
+-110.2558	30.3919	8180
+-90.3159	39.6872	8412
+-94.0621	40.4392	5061
+-78.9213	29.7278	5635
+-113.1969	49.746	2633
+-120.702	45.1896	6524
+-82.0938	28.4781	9086
+-114.8927	34.3211	6940
+-119.2522	48.7368	6285
+-85.3756	36.3305	5724
+-81.0523	26.64	8126
+-88.8029	38.576	8793
+-113.6878	31.3096	5827
+-117.4616	31.8965	8587
+-83.7517	26.6651	7678
+-91.0121	35.9509	6643
+-118.6172	30.2006	6303
+-83.6833	30.1142	6710
+-108.2099	32.4266	6998
+-118.8574	31.9262	7422
+-115.2535	33.1741	7801
+-112.6794	33.5189	6178
+-118.0987	44.4452	7497
+-116.8135	46.9541	7460
+-117.7908	36.4804	6914
+-118.1443	38.3575	4832
+-114.5744	34.3934	6588
+-117.7797	35.2665	8181
+-87.9574	35.6846	7413
+-122.1111	49.8185	6355
+-90.7145	41.7324	6190
+-88.2293	29.437	2741
+-122.3774	48.5296	7796
+-81.4273	30.3899	6819
+-119.3439	32.6383	7094
+-78.8182	27.6467	6139
+-118.6283	33.1717	7719
+-112.1798	34.0806	6109
+-93.7887	39.6812	5619
+-117.8839	33.786	8765
+-115.4083	32.4956	7978
+-83.071	30.3515	6782
+-81.3489	24.7374	6352
+-89.7216	41.1053	6787
+-111.4229	29.2512	6685
+-78.92	25.8709	5672
+-125.8305	45.3934	5952
+-80.79	24.5795	5979
+-90.1338	40.3393	7690
+-113.2035	30.7168	6225
+-86.7673	37.3279	7539
+-117.2056	33.9399	9317
+-125.2517	48.8712	6281
+-83.7297	28.7584	7766
+-116.3318	33.1825	8936
+-89.6452	35.7866	7486
+-116.7538	33.0594	9393
+-86.6564	35.9759	6780
+-119.6693	47.41	7241
+-116.2361	32.7236	8931
+-88.0965	38.9968	8143
+-118.6181	42.4402	5368
+-114.8342	45.1535	5473
+-119.7758	30.5797	5747
+-93.5242	37.2797	5686
+-116.5525	35.8362	7524
+-109.8106	29.8328	7494
+-123.0045	48.1186	8335
+-112.6632	31.281	6928
+-83.7029	25.7008	6957
+-83.2715	30.2252	6827
+-116.4753	35.9501	7376
+-82.5294	26.0436	7892
+-115.8635	29.6732	6037
+-106.8322	32.2175	5619
+-88.1748	36.2914	8135
+-92.2525	39.7412	7144
+-111.4245	29.7959	7205
+-119.5412	47.402	7343
+-110.9967	32.5979	8160
+-124.1821	47.1815	8178
+-116.2274	30.5324	7075
+-84.2606	27.4129	7453
+-83.033	27.3112	8752
+-116.5141	32.2365	8932
+-89.7432	36.1302	7772
+-110.2661	30.4059	8196
+-115.9632	48.2871	5884
+-119.4701	34.7765	7034
+-120.3195	46.3878	7083
+-112.5508	32.4916	6877
+-84.5309	27.0133	7049
+-114.8026	32.0716	7200
+-90.5559	37.7247	8304
+-123.8216	47.8281	8220
+-92.6322	36.6507	6108
+-88.5467	40.9332	6349
+-118.1718	44.5917	7659
+-117.1854	32.3566	9185
+-93.2913	35.0858	4382
+-119.3038	47.2105	7663
+-92.5739	39.4423	6948
+-91.856	38.9466	7823
+-106.7798	30.8048	5532
+-121.0819	48.1484	7224
+-118.0109	44.4009	7438
+-122.5374	48.4981	7877
+-88.4695	38.147	9180
+-116.1979	29.9639	6457
+-90.778	40.4721	7520
+-86.9953	41.1786	5399
+-90.0414	37.482	8369
+-122.6499	38.8939	1699
+-88.4237	40.1315	6840
+-110.8067	31.1491	8778
+-89.6693	34.2706	5871
+-83.385	28.3267	8341
+-109.9046	30.4992	8210
+-82.6829	27.2835	9065
+-89.9019	39.6099	8362
+-86.9163	37.8504	7728
+-113.8216	33.1337	6227
+-116.941	33.8642	9077
+-117.9265	43.3446	6318
+-83.4113	25.3546	6804
+-86.8746	36.3392	7221
+-116.7309	36.4228	6973
+-107.8656	28.2764	5003
+-89.9321	41.5693	6347
+-111.3772	33.2175	7373
+-90.0317	36.7981	8093
+-118.8003	30.3445	6320
+-110.5248	32.7423	8201
+-111.1305	30.0623	7613
+-109.1753	31.6621	8216
+-110.9517	31.4614	8791
+-120.8693	46.642	7347
+-119.3879	33.4691	7113
+-92.4312	41.2793	5917
+-91.3987	39.3387	8159
+-118.2419	47.3086	7980
+-118.0407	32.2607	8404
+-86.8067	34.4554	5593
+-119.385	44.1347	6874
+-109.8838	31.6375	8983
+-115.1722	32.8115	7751
+-115.2373	34.3084	7316
+-119.381	34.1827	7231
+-108.9582	32.5188	7672
+-86.8808	37.5445	7694
+-89.0404	39.5161	7758
+-90.6266	38.8605	9136
+-81.7467	26.0716	7926
+-87.3682	36.4321	7722
+-121.6172	32.2843	4532
+-121.1911	34.1832	5257
+-119.8105	49.5089	5304
+-107.6084	33.0314	6130
+-121.6837	31.1256	4164
+-84.6872	28.1707	6967
+-109.4124	33.2616	7399
+-87.5057	41.4196	5194
+-114.8964	31.7665	7164
+-110.4459	31.6133	9347
+-117.5691	38.8277	4406
+-91.6938	38.98	7990
+-80.8749	26.1659	7589
+-82.2697	29.1439	8327
+-78.6985	27.6283	6003
+-112.2321	33.5683	6497
+-80.0229	27.9616	7495
+-89.0753	34.773	6549
+-112.5333	32.3722	6941
+-112.1933	29.8363	6709
+-89.0276	35.9875	7908
+-116.3568	46.831	7078
+-116.5491	48.4162	6196
+-122.0744	46.1946	8364
+-90.6306	35.761	6823
+-116.6329	37.3953	5913
+-118.141	30.3921	6748
+-122.401	47.1562	9020
+-120.8876	46.022	7164
+-89.1784	34.5625	6301
+-81.005	27.7884	8616
+-113.7308	31.6532	5792
+-82.374	26.1908	8089
+-90.84	38.7375	8932
+-81.8143	28.6952	8782
+-118.5318	40.6244	3455
+-116.5894	33.6032	8600
+-121.0275	46.2932	7420
+-127.2378	40.9851	1489
+-90.9161	38.8203	8845
+-116.1419	29.7258	6185
+-87.6868	33.875	5390
+-115.3108	32.9262	7902
+-124.4336	49.4767	6375
+-110.1063	30.8837	8677
+-93.7259	36.4439	5047
+-89.165	39.8204	7676
+-122.686	48.0692	8372
+-87.9614	36.8735	8547
+-121.4473	49.1675	6709
+-116.8938	30.8551	7563
+-122.9184	45.1615	7623
+-92.0083	36.5893	6510
+-115.5086	34.3466	7606
+-119.9785	43.8563	6282
+-89.0422	40.432	7106
+-87.089	36.8628	7727
+-80.8568	28.3873	8287
+-91.467	40.446	7255
+-110.5485	33.9678	6880
+-114.5606	48.5848	4520
+-91.6772	35.8373	5989
+-112.6311	33.6436	6130
+-88.363	37.3984	9271
+-92.7859	36.284	5714
+-111.8602	34.2189	6173
+-121.7825	45.3838	7477
+-81.208	29.8096	7355
+-91.8504	39.9087	7409
+-87.5937	38.3623	8284
+-114.7577	37.8245	4669
+-119.7373	32.8858	6519
+-81.6608	27.5644	9311
+-117.0074	45.6377	7823
+-120.3866	41.8543	4242
+-83.5684	25.9688	7290
+-120.5943	47.056	7071
+-125.1056	45.0706	6411
+-89.4168	32.0292	3446
+-122.6139	48.5527	7836
+-121.7492	49.2594	6788
+-120.4466	46.4201	6944
+-119.159	33.2576	7263
+-121.2222	46.3933	7658
+-79.5973	26.8931	6858
+-119.1717	41.5072	4306
+-90.2085	38.8684	9197
+-82.8908	28.9161	8335
+-116.7603	34.8628	8569
+-124.09	46.4798	8194
+-82.291	26.2446	8161
+-120.8982	27.936	2762
+-87.3035	42.9612	3801
+-114.5546	35.4027	6272
+-117.8223	33.4634	8588
+-115.5231	35.6611	7009
+-111.3306	32.4786	8021
+-82.3127	27.5527	9577
+-117.6706	33.9614	9059
+-82.6542	27.8563	9294
+-114.8841	42.2246	3801
+-117.0423	45.9218	7933
+-87.7654	39.7368	7233
+-81.3844	26.5819	8307
+-116.8024	44.0745	6603
+-111.7364	31.9366	7906
+-119.8243	47.8956	6755
+-81.657	28.5308	8874
+-112.0372	30.9255	7495
+-109.6648	28.1235	5656
+-89.3709	36.2783	8116
+-121.0919	43.4957	5204
+-118.0449	32.1168	8319
+-118.0103	35.3765	7958
+-91.9585	40.5863	6817
+-89.9376	35.0261	6573
+-115.3434	31.3414	7306
+-82.5282	27.832	9440
+-120.2717	48.2664	6385
+-91.0066	39.1759	8611
+-88.1085	42.9374	4288
+-118.9051	35.6921	7071
+-83.1445	27.0658	8501
+-116.9841	45.2674	7626
+-113.0219	31.6862	6558
+-90.0592	37.62	8157
+-121.1871	49.5749	6178
+-117.505	47.4585	7602
+-109.532	32.5664	8099
+-113.4176	35.6287	5034
+-88.8827	37.7974	9618
+-82.772	28.4662	8821
+-123.1823	44.4326	6805
+-120.0495	49.8658	5139
+-120.9747	36.5337	4720
+-116.4643	32.3055	8953
+-118.4836	43.8253	6842
+-92.0954	40.2453	6974
+-83.3319	28.4927	8307
+-125.3172	49.5733	5701
+-126.4695	47.8195	5574
+-83.8656	24.9005	6104
+-79.5626	28.203	6942
+-80.90	28.6222	8194
+-121.3937	46.3687	7826
+-112.8075	30.9951	6718
+-91.9594	39.0101	7703
+-117.8696	46.5825	8587
+-115.5096	31.1664	7297
+-115.3711	35.6824	6868
+-90.2242	34.9192	6324
+-120.4981	31.9874	5707
+-117.6326	31.9522	8536
+-116.9563	44.1883	6796
+-86.743	36.0316	6895
+-119.3455	45.783	8087
+-117.3186	36.7863	6643
+-124.346	48.3263	7426
+-84.7637	30.7007	5434
+-121.7111	46.5384	8218
+-83.1831	27.8166	8703
+-111.0715	31.6972	8664
+-119.5712	49.0789	5823
+-91.2742	38.7558	8464
+-123.8644	45.6221	7788
+-86.7083	36.6537	7240
+-88.1247	37.8297	9072
+-116.2643	35.3114	7851
+-114.665	31.4704	6779
+-117.6336	33.156	8918
+-85.2301	26.0714	5898
+-110.0027	33.9793	6853
+-87.2401	35.7417	7058
+-90.1561	38.193	8776
+-125.4002	43.6784	5068
+-121.0181	46.7942	7530
+-80.2203	26.3467	7197
+-116.0503	31.8544	8271
+-116.8224	38.1163	5166
+-93.6313	41.5726	4786
+-89.0778	36.0788	8000
+-117.5642	33.8058	9055
+-121.1959	46.1669	7538
+-113.8699	30.7192	5529
+-81.6704	25.1659	6904
+-124.0255	48.8941	7154
+-113.1282	32.2276	6366
+-87.0402	39.2487	7186
+-114.3348	31.219	6319
+-116.7778	36.6005	6794
+-90.2624	39.104	9021
+-119.3861	45.8499	8063
+-118.2697	35.1877	7950
+-78.1247	26.25	5043
+-117.8635	31.6216	8086
+-119.1668	48.0085	7033
+-124.3499	44.2058	6180
+-86.2476	28.1541	5217
+-118.1028	46.4037	8886
+-123.2739	49.1538	7168
+-118.0634	43.8233	6838
+-92.4954	37.638	6852
+-92.4226	36.7224	6325
+-84.781	37.5804	5340
+-114.2902	32.9192	6765
+-123.8021	46.9596	8615
+-89.3326	37.361	9093
+-83.5172	29.6994	7203
+-88.6263	36.4356	8425
+-120.4323	33.5831	6033
+-123.9188	46.9726	8487
+-81.425	25.901	7635
+-124.0482	48.3581	7624
+-118.4745	33.5717	8085
+-123.9673	48.8877	7192
+-109.2353	30.9273	8088
+-87.8216	39.6106	7388
+-120.1303	46.4944	7260
+-122.7111	43.7675	6085
+-89.2329	37.6814	9291
+-119.0468	30.9183	6612
+-88.1511	37.5115	9103
+-115.3172	31.0296	7040
+-113.2456	33.0946	5919
+-93.2886	38.7384	6293
+-93.8416	36.7292	5107
+-110.7428	29.9688	7669
+-80.0212	30.5205	5966
+-117.8703	48.0647	7134
+-115.6509	31.3005	7514
+-81.1061	31.9022	5071
+-123.6064	46.2216	8478
+-88.0698	39.205	7919
+-121.158	32.4964	5064
+-123.4045	47.4174	8863
+-90.9573	39.8163	8119
+-124.8122	49.7873	5862
+-122.8375	46.9759	9537
+-89.4341	36.9805	8741
+-117.4577	49.084	5981
+-86.0391	40.9073	5060
+-118.5637	34.4449	8083
+-111.3696	35.2538	5341
+-89.5469	39.8733	7915
+-124.0835	45.4103	7458
+-115.7109	44.4738	6037
+-120.6589	49.9582	5500
+-89.7015	38.8952	8673
+-88.5227	37.5623	9518
+-119.2249	34.9448	7226
+-108.0761	32.4166	6867
+-90.3762	36.9566	7841
+-116.9108	35.4229	8079
+-120.8208	34.7763	5598
+-90.1252	37.6162	8171
+-110.8727	31.4798	8879
+-108.4912	31.2675	7449
+-125.9048	47.5796	6237
+-123.1759	46.4947	9006
+-119.0704	34.2142	7568
+-112.2823	28.9502	5924
+-121.266	47.2192	7790
+-115.0023	35.3777	6720
+-119.6529	46.4447	7765
+-92.8395	42.1383	4914
+-90.6066	36.6987	7200
+-91.117	38.6426	8625
+-91.6868	40.4452	7119
+-86.4295	36.3789	6820
+-108.4321	31.264	7385
+-88.6531	38.3914	8991
+-86.6672	41.3856	5021
+-88.6814	40.9472	6429
+-93.5089	39.6983	5904
+-117.3045	33.7385	9105
+-82.6815	26.7127	8548
+-77.9298	25.0431	4226
+-83.9657	27.8534	7817
+-118.9576	33.7451	7645
+-120.9192	31.2235	4999
+-92.3459	36.0859	5858
+-80.8371	27.7343	8425
+-82.6433	25.7564	7546
+-116.1467	45.1005	6762
+-89.0589	39.3228	7869
+-92.2536	40.6753	6531
+-82.7099	26.1105	7908
+-118.0972	34.2336	8625
+-77.9284	28.6626	5028
+-124.4086	48.1911	7472
+-89.0286	36.5386	8516
+-80.3949	25.8532	6968
+-91.5858	39.4776	7909
+-122.8209	49.2692	7075
+-124.6328	45.9045	7373
+-90.7806	37.3958	7903
+-90.0638	39.2596	8776
+-111.8379	36.9121	3474
+-90.7832	36.4388	6896
+-82.6174	29.9416	7371
+-119.0324	47.553	7529
+-120.9004	45.4139	6825
+-82.3954	26.8855	8852
+-86.298	40.3477	5724
+-107.5305	32.948	6096
+-110.7527	29.6095	7287
+-91.2298	35.5168	6146
+-87.878	42.7483	4339
+-88.3622	40.6999	6397
+-121.7094	45.9364	7876
+-115.6445	31.223	7443
+-115.0529	28.8029	4793
+-117.2127	48.609	6372
+-109.9982	30.1225	7850
+-89.0931	34.2243	5934
+-105.6604	31.8647	4401
+-120.1407	44.0393	6322
+-115.2802	34.4134	7350
+-117.9627	31.6329	8027
+-110.6456	31.4753	9116
+-79.058	26.9027	6278
+-88.7371	37.7729	9691
+-117.4892	44.7221	7576
+-115.5449	32.2164	8032
+-87.3936	36.0292	7417
+-112.6827	28.8904	5602
+-118.5691	35.1036	7766
+-117.3979	33.902	9248
+-122.5018	48.1842	8199
+-120.9611	45.2552	6765
+-81.339	24.8196	6439
+-115.9905	46.3517	6818
+-90.752	39.1941	8802
+-78.6363	24.5322	4503
+-123.6111	49.1226	7112
+-89.1784	39.7591	7730
+-87.8474	39.6654	7345
+-117.685	47.6906	7461
+-82.3146	28.7745	8734
+-90.4554	36.0495	7191
+-119.1132	46.5135	8279
+-118.4957	42.3817	5316
+-92.3455	40.6977	6444
+-89.2487	36.8585	8759
+-86.9762	35.271	6459
+-118.4088	36.7085	6465
+-118.5471	32.4242	7936
+-120.9133	45.7468	7045
+-110.2986	30.0396	7801
+-126.9116	48.8014	4760
+-79.4026	28.5422	6681
+-109.084	31.1431	8038
+-110.5804	29.9957	7733
+-118.2457	32.0166	8070
+-90.3318	37.8831	8488
+-88.5225	38.8416	8467
+-114.6619	35.6137	6270
+-116.7627	35.5259	7922
+-91.0413	42.7564	5048
+-110.7415	31.3218	8948
+-88.649	35.9406	7874
+-83.2916	27.0954	8378
+-116.0079	43.4616	5571
+-118.7193	48.575	6599
+-119.6168	32.9691	6677
+-113.68	30.129	5520
+-117.1334	36.6107	6832
+-88.7918	41.4048	6088
+-79.7428	26.8655	7002
+-87.8021	36.3133	7950
+-83.0556	28.2449	8717
+-122.3764	47.7476	8573
+-119.406	46.9197	7788
+-80.1338	24.2351	5301
+-87.337	39.4876	7216
+-121.6708	45.4555	7466
+-111.0267	32.2576	8426
+-85.8093	31.9187	3618
+-111.4423	31.193	8200
+-121.1118	45.9045	7321
+-117.2881	28.8181	5279
+-121.5947	34.4114	4807
+-84.28	27.2782	7402
+-85.825	24.0861	3995
+-123.2045	49.3721	6942
+-121.1816	38.8588	2844
+-92.0349	37.7114	7321
+-122.3441	47.9665	8349
+-116.7526	32.4754	9304
+-119.2602	32.1646	7093
+-119.0885	49.8983	5148
+-113.8897	32.4754	6300
+-120.1912	43.5899	5921
+-110.8692	30.1995	7866
+-118.9011	43.9244	6865
+-120.1898	31.614	5916
+-119.3719	30.6348	6131
+-116.3686	43.507	5847
+-82.3239	27.3743	9399
+-88.3402	36.5471	8471
+-118.3343	34.0088	8365
+-120.327	45.352	6956
+-125.4085	48.3127	6479
+-115.9502	32.3414	8501
+-116.2371	34.9347	8115
+-124.8491	46.2988	7343
+-89.2129	33.8565	5510
+-92.5506	38.7723	7088
+-115.0448	30.3909	6301
+-120.3459	46.7278	6977
+-114.2033	33.0642	6658
+-92.9372	43.0174	4064
+-107.6594	33.2707	6048
+-115.408	32.4872	7976
+-116.1421	31.6374	8148
+-119.3544	43.6168	6396
+-110.0295	33.9664	6871
+-122.7098	46.2395	8781
+-115.4211	33.9366	7513
+-117.5628	32.2767	8856
+-121.5001	49.813	6121
+-119.1688	32.9191	7294
+-91.0853	40.1461	7740
+-108.9529	31.7907	7961
+-82.2182	26.0136	7907
+-89.7758	34.6741	6271
+-89.4178	37.8972	9039
+-81.1917	28.634	8444
+-118.013	30.0524	6456
+-114.6124	31.1947	6564
+-119.4257	48.6542	6297
+-120.043	45.8207	7374
+-118.3847	31.929	7887
+-119.0634	43.872	6760
+-88.4209	40.11	6851
+-88.1696	41.9921	5193
+-81.3977	31.3411	5764
+-124.9097	46.7157	7381
+-110.7301	37.6416	2896
+-109.871	32.263	8583
+-116.9208	46.5032	7756
+-87.8951	38.4479	8501
+-116.6216	44.948	7119
+-88.5017	36.8288	8829
+-82.0202	31.9429	5166
+-108.6819	29.6896	6751
+-119.8683	48.2481	6433
+-87.7004	35.3764	6980
+-117.3315	31.6828	8424
+-120.3148	46.3066	7098
+-89.0264	37.392	9391
+-122.0199	45.9849	8158
+-89.9461	40.4732	7508
+-89.1962	37.275	9163
+-109.11	31.419	8136
+-119.4307	31.3014	6526
+-85.8499	35.2469	5561
+-118.3789	35.5728	7553
+-110.7095	34.7842	5982
+-84.4371	29.5371	6605
+-118.8388	34.781	7683
+-115.5831	34.2858	7694
+-126.5651	45.6585	5331
+-114.7269	35.8691	6182
+-113.9195	32.2888	6303
+-87.9258	36.7366	8408
+-127.3924	48.3642	4437
+-89.838	39.0032	8776
+-119.6471	47.4523	7226
+-88.2379	38.7439	8467
+-115.6547	34.4846	7738
+-118.0518	35.0976	8181
+-117.489	46.4767	8330
+-113.0583	32.6205	6315
+-83.8494	24.2979	5514
+-113.1773	34.0007	5429
+-124.3647	49.7113	6188
+-80.9095	26.8687	8175
+-114.913	47.2494	5489
+-85.9169	34.8854	5346
+-112.4219	34.0509	5971
+-121.4493	47.2887	7974
+-89.8516	35.5807	7176
+-121.799	45.4267	7526
+-114.9414	32.7678	7493
+-92.0164	40.0712	7160
+-122.4867	44.8591	7247
+-82.3903	26.4157	8337
+-121.1017	45.0816	6744
+-119.8114	31.7601	6368
+-114.7907	33.6183	7166
+-119.5208	31.336	6460
+-80.2479	29.2089	7207
+-85.6386	27.5961	5922
+-120.9376	48.0755	7130
+-83.6943	27.8825	8122
+-90.4487	36.3606	7425
+-88.9703	35.74	7641
+-88.7979	37.3203	9426
+-119.6524	32.015	6626
+-125.6592	46.6009	6548
+-87.5884	39.2487	7600
+-78.7557	25.1536	5061
+-123.1129	45.4466	7920
+-83.3484	28.9105	8004
+-116.6555	32.7415	9396
+-115.8808	35.6826	7270
+-122.2671	48.5992	7683
+-90.8824	38.6626	8878
+-110.7268	29.655	7341
+-117.7524	34.5675	8827
+-110.8011	29.7895	7465
+-115.2941	46.5412	6060
+-115.5585	45.6955	6343
+-122.2934	45.9738	8328
+-117.7791	32.0402	8499
+-109.9083	34.3492	6442
+-120.8151	32.7698	5391
+-116.2076	34.778	8185
+-116.8782	34.9229	8578
+-123.7131	46.1583	8347
+-81.5677	25.6644	7430
+-81.7854	24.7393	6445
+-122.2145	47.6114	8572
+-119.7918	36.721	5594
+-116.56	36.7509	6580
+-111.0952	32.3845	8276
+-113.1804	33.0119	6022
+-82.1983	30.7966	6464
+-83.2744	28.3449	8445
+-117.2165	45.8264	8094
+-89.779	36.012	7638
+-114.7165	33.654	7075
+-88.3699	37.2849	9198
+-112.3954	32.9344	6803
+-110.20	30.4093	8193
+-118.936	35.9805	6822
+-118.4037	31.4771	7562
+-121.2769	45.6995	7344
+-116.3842	32.1817	8792
+-123.492	46.5406	8805
+-116.6997	32.5632	9342
+-85.1953	24.3155	4673
+-109.7673	31.2055	8736
+-118.2705	31.3005	7522
+-121.8667	43.6377	5777
+-84.7429	38.3934	5225
+-123.3262	48.4581	7902
+-81.8453	27.0947	9065
+-85.5934	40.7542	4845
+-120.2056	45.3925	7091
+-112.228	28.837	5859
+-87.1777	41.5441	5111
+-90.6405	35.1935	6333
+-124.285	45.6397	7499
+-89.4098	38.5459	8352
+-82.8515	25.4826	7184
+-76.8935	24.5169	2917
+-118.4506	33.3227	7973
+-81.1686	27.4459	8742
+-113.4538	30.9786	6030
+-116.2864	32.8454	8993
+-80.7119	28.6495	7999
+-80.5239	31.533	5259
+-119.2738	33.3899	7203
+-118.7428	45.8153	8688
+-87.5221	34.4623	5957
+-117.424	49.1282	5927
+-88.2221	37.0472	8890
+-79.5908	24.0699	4816
+-119.5291	45.5848	7833
+-111.3786	32.4973	7969
+-112.2623	30.2363	6924
+-113.6361	33.1772	6016
+-118.8537	35.4153	7312
+-116.6801	35.5865	7828
+-90.6155	36.3815	7288
+-107.8956	31.4357	6828
+-87.3492	30.7169	3113
+-88.3067	37.9656	9199
+-110.1323	35.3153	5424
+-109.8839	26.5297	3977
+-113.4799	29.9733	5644
+-116.5186	32.1629	8869
+-106.7745	31.3442	5609
+-109.0274	32.4895	7751
+-79.8042	30.4114	5905
+-93.3386	34.585	3920
+-116.4211	34.1109	8615
+-111.1087	29.724	7291
+-124.0844	49.2934	6738
+-111.9979	32.5087	7410
+-89.5177	37.5123	8954
+-91.1758	37.4675	7799
+-122.4782	47.4428	8907
+-87.8828	36.2088	7902
+-80.9411	26.3865	7829
+-112.6821	31.0496	6864
+-110.4003	30.086	7850
+-113.0504	29.5233	5779
+-88.0761	36.0734	7867
+-126.3003	46.7183	5861
+-79.1232	26.406	6155
+-121.1398	43.1529	4914
+-114.7819	46.4256	5536
+-124.5658	48.2262	7312
+-122.3235	49.2074	7064
+-117.4746	34.5721	9008
+-84.7735	25.3513	5844
+-90.818	42.1541	5726
+-87.8385	36.7012	8312
+-106.5889	31.746	5413
+-119.4841	34.6363	7057
+-89.7199	38.8258	8705
+-91.0105	39.3167	8513
+-116.6403	31.3399	8066
+-84.2354	27.5335	7500
+-77.1124	29.0827	4020
+-109.7931	31.2148	8765
+-81.2209	29.4772	7699
+-92.2726	37.0227	6665
+-90.4291	37.9421	8552
+-121.9822	35.0393	4300
+-121.0373	48.6884	6819
+-114.0617	33.8237	6324
+-87.7349	37.8839	8631
+-122.3401	44.1427	6443
+-87.7205	40.3748	6556
+-117.6576	35.701	7775
+-117.4703	31.8062	8494
+-122.0833	43.1299	5297
+-119.2511	47.818	7172
+-117.7537	33.5502	8709
+-113.4419	30.7412	5984
+-92.5129	34.1908	4001
+-111.7381	24.1444	1271
+-114.404	30.9784	6235
+-109.0544	31.5036	8085
+-91.3945	36.5581	6823
+-120.5055	46.4193	6883
+-115.5521	33.9666	7659
+-121.2279	46.874	7766
+-120.5149	38.7268	3401
+-123.5022	48.4801	7817
+-117.5627	37.3867	5974
+-118.5471	33.0171	7976
+-110.6973	27.6939	5241
+-117.1259	32.2387	9084
+-115.8938	30.4442	6849
+-79.0715	25.5998	5649
+-116.9914	31.0096	7737
+-117.539	34.7707	8782
+-82.508	24.2428	5883
+-109.5037	34.5237	6163
+-115.4284	32.3134	7948
+-118.8398	35.5907	7199
+-110.1774	30.4995	8287
+-85.7922	26.3774	5465
+-87.0629	38.6479	7608
+-117.0814	34.8397	8741
+-116.0915	36.4683	6686
+-116.5425	35.5193	7832
+-119.8074	47.7125	6911
+-89.8138	33.2962	4771
+-90.2124	41.0419	6947
+-111.3657	32.0274	8256
+-117.9306	34.123	8813
+-122.125	49.8899	6284
+-115.6304	42.3228	4372
+-108.871	32.2813	7718
+-109.5585	30.8456	8314
+-89.25	37.1903	9054
+-126.7748	48.2062	5137
+-117.2987	37.3199	6062
+-116.2643	32.1644	8684
+-116.2768	34.4601	8401
+-120.4689	34.5264	6019
+-121.1357	43.3023	5029
+-123.2195	49.967	6291
+-117.2596	33.0272	9350
+-89.0157	38.4265	8917
+-85.5805	36.3574	5949
+-81.5161	27.6216	9175
+-110.899	29.9086	7558
+-126.5718	44.4394	4709
+-111.1603	32.4302	8191
+-117.5563	35.1723	8361
+-91.7918	34.5117	4909
+-123.2041	46.6033	9086
+-121.2089	47.9056	7481
+-81.2289	27.8362	8866
+-117.3407	47.6252	7362
+-105.6121	31.2442	4345
+-88.8694	38.1168	9296
+-89.5313	40.3967	7426
+-110.3233	31.079	8927
+-118.8611	46.3115	8609
+-89.2797	40.5733	7127
+-82.2827	25.0292	6791
+-111.5567	30.16	7440
+-91.9639	39.4415	7565
+-124.4345	49.9385	5932
+-107.9536	33.3409	6268
+-125.1594	47.8303	6949
+-89.1918	36.5905	8517
+-90.6907	37.632	8175
+-83.8062	25.764	6940
+-122.972	48.3438	8091
+-81.1734	26.9277	8450
+-85.5893	30.3817	4989
+-115.3745	32.2915	7883
+-91.0854	36.9391	7331
+-91.0141	39.6164	8269
+-114.8599	29.3192	5199
+-90.9723	37.4161	7853
+-89.8831	42.6998	5133
+-88.8171	36.5379	8547
+-110.6125	32.907	8008
+-110.9934	31.1859	8639
+-82.8389	24.4212	6024
+-116.7466	32.6619	9453
+-126.0021	45.1609	5663
+-114.9411	30.4185	6252
+-89.155	35.1555	6963
+-111.7846	32.5276	7598
+-91.582	40.9688	6706
+-118.9352	45.926	8546
+-114.2351	31.1371	6176
+-113.3548	33.9205	5540
+-115.7588	32.8209	8406
+-82.5912	27.9735	9324
+-116.9157	42.7992	5477
+-117.7449	37.0562	6307
+-118.5925	35.5103	7453
+-119.9903	43.0699	5577
+-90.7039	40.8141	7173
+-89.1664	36.0028	7895
+-109.382	31.8846	8392
+-120.6766	46.441	7096
+-89.2531	40.559	7125
+-81.6765	28.7778	8637
+-109.3362	32.0215	8293
+-85.1137	42.7669	2772
+-90.2522	38.0396	8646
+-89.8446	40.2531	7703
+-75.5726	27.5827	2467
+-85.5502	37.8587	6198
+-118.7523	47.6468	7549
+-119.6229	31.0813	6214
+-124.7199	45.4993	7038
+-118.3226	34.5957	8280
+-81.1329	28.7356	8317
+-85.3496	37.6769	5979
+-122.9951	47.7822	8704
+-108.1911	33.1434	6602
+-88.0407	38.6352	8456
+-119.4189	34.6103	7133
+-92.9938	38.6285	6608
+-105.7849	29.9537	4239
+-112.1287	32.6449	7214
+-93.4135	38.8858	6155
+-109.54	34.5104	6188
+-84.8082	28.4683	6764
+-93.4443	38.8226	6124
+-83.1981	38.4245	3507
+-81.8302	28.778	8698
+-110.8358	31.8615	8851
+-85.6663	34.3443	4715
+-80.9157	26.622	8002
+-118.1611	47.1703	8120
+-123.2922	45.2921	7717
+-88.2237	32.0455	3477
+-83.2244	27.0533	8418
+-111.2404	33.2769	7392
+-124.894	45.508	6892
+-80.7802	26.2663	7607
+-111.4495	30.403	7714
+-118.2619	29.7018	5990
+-115.0205	35.1209	6861
+-115.5467	44.4737	5889
+-83.3293	27.4055	8479
+-115.9762	38.8949	4156
+-118.707	31.0601	6995
+-116.1686	35.2412	7836
+-122.1115	48.8476	7365
+-126.721	48.0203	5252
+-118.0279	34.2861	8691
+-86.7808	35.3588	6398
+-91.3639	38.521	8339
+-88.0598	41.2575	5740
+-115.452	33.6095	7846
+-114.8849	35.3155	6637
+-90.1002	36.2257	7612
+-115.9246	34.8872	7859
+-108.5862	33.8387	6383
+-82.6816	26.4053	8232
+-120.0138	34.0073	6538
+-110.2192	33.4325	7466
+-116.4396	33.0071	9128
+-85.068	36.7666	5542
+-117.0324	47.0454	7600
+-123.1221	47.4066	9065
+-121.7485	46.7128	8311
+-85.4191	37.3485	6041
+-117.0784	32.5606	9441
+-116.2035	47.2946	6720
+-115.8261	30.3682	6740
+-86.4798	38.0246	7217
+-122.3703	48.4257	7901
+-125.1055	46.8535	7180
+-89.5394	36.1841	7939
+-121.124	48.818	6788
+-108.3737	31.1574	7301
+-82.4688	26.8523	8791
+-117.1501	34.9379	8651
+-80.6816	28.0482	8219
+-109.5257	32.2875	8313
+-84.4431	29.0606	6897
+-109.6213	25.9878	3362
+-121.3692	46.9496	7924
+-82.0921	27.0705	9104
+-121.6842	46.8101	8259
+-116.9973	45.6828	7829
+-82.931	30.2471	6945
+-117.6597	35.5744	7908
+-124.3658	46.114	7743
+-90.3878	39.4881	8629
+-82.4769	27.5384	9426
+-122.6625	33.7907	3640
+-82.0488	24.3178	5989
+-119.4199	42.6302	5394
+-114.7627	32.632	7286
+-120.9497	48.1376	7107
+-88.8834	39.2576	7718
+-86.881	39.2119	7078
+-86.2961	40.6385	5476
+-118.4592	34.1704	8236
+-125.2332	47.1575	7034
+-107.0029	30.1906	5562
+-120.6352	46.0501	6769
+-108.0053	28.9671	5679
+-117.072	46.7048	7827
+-118.6238	31.9843	7684
+-89.3014	38.4793	8722
+-89.8662	36.8955	8308
+-121.0184	47.5515	7441
+-109.8219	31.2486	8811
+-122.983	47.46	9057
+-106.1529	30.4066	4768
+-121.451	45.9232	7644
+-89.8806	42.6468	5189
+-83.8769	26.8146	7645
+-82.7506	26.8289	8622
+-115.6671	43.6928	5495
+-81.564	31.0808	6088
+-127.71	48.0753	4183
+-87.6006	42.3194	4546
+-114.557	36.0442	5921
+-118.8232	48.272	6890
+-108.5377	30.8693	7380
+-108.1785	29.5379	6255
+-91.7916	36.4563	6523
+-118.0656	33.1342	8477
+-112.3244	32.7504	6973
+-117.8832	32.5684	8694
+-120.8359	45.6843	6937
+-111.4568	30.3032	7628
+-90.8666	37.337	7815
+-116.8033	49.25	5575
+-111.5232	29.8624	7207
+-81.4297	27.0819	8782
+-115.5185	32.0142	7906
+-115.2491	44.8977	5804
+-82.7138	26.1626	7963
+-88.521	38.187	9169
+-118.0011	32.6246	8579
+-119.314	47.2695	7610
+-120.1428	46.6698	7201
+-121.9015	49.2573	6861
+-82.9488	25.0102	6640
+-119.1504	32.8176	7317
+-117.2516	33.5981	8954
+-114.4758	32.1145	6866
+-86.7078	36.4813	7149
+-110.2687	34.4664	6349
+-123.1282	46.4983	9034
+-110.1192	30.1512	7905
+-89.0886	36.437	8389
+-121.146	44.6463	6411
+-91.5211	37.0376	7208
+-87.0823	34.182	5471
+-89.8684	36.9811	8359
+-119.1179	30.237	6006
+-90.3271	40.2301	7828
+-117.761	35.5957	7854
+-119.1782	46.6767	8133
+-123.7147	47.1305	8693
+-82.497	25.3575	7136
+-115.1876	32.9468	7763
+-116.6781	33.192	9225
+-91.8902	38.111	7660
+-110.4757	30.9642	8785
+-118.8334	34.4233	7800
+-120.1398	44.5821	6721
+-92.2802	37.1414	6744
+-115.6084	47.9898	5792
+-112.2794	33.51	6507
+-120.4723	44.1565	6160
+-124.4943	48.4468	7216
+-90.202	35.9657	7317
+-109.0101	35.0708	5432
+-120.1774	35.2471	6138
+-119.1255	36.5652	6199
+-90.9917	37.4878	7914
+-90.11	39.2653	8796
+-117.5847	34.121	9191
+-86.8317	36.7043	7390
+-116.0135	33.2905	8566
+-115.4902	43.3156	5084
+-116.9691	32.9593	9594
+-119.004	34.3255	7631
+-91.3324	35.9403	6228
+-111.6232	31.3277	8049
+-82.9805	27.6014	8916
+-123.932	46.992	8472
+-119.5915	46.1084	7875
+-88.4451	39.3387	7903
+-113.5167	29.4455	5319
+-82.6326	31.5877	5533
+-115.301	33.6502	7675
+-87.2296	40.931	5764
+-117.5564	46.7397	8235
+-116.03	47.9522	6171
+-124.5246	47.4669	7739
+-80.9205	26.0461	7511
+-117.0557	33.7626	9073
+-77.957	27.9065	5165
+-117.4037	47.3889	7608
+-116.3692	31.9068	8539
+-90.4906	40.3409	7706
+-88.564	39.5561	7681
+-119.4058	46.7249	7900
+-90.947	38.7032	8815
+-84.5913	29.5821	6435
+-112.9238	31.2906	6649
+-116.6762	31.3709	8108
+-83.8828	25.1577	6339
+-117.6467	35.3923	8103
+-108.1734	30.9417	7032
+-111.789	30.5811	7559
+-115.0025	44.6225	5450
+-112.24	32.9552	6929
+-78.0698	28.0458	5284
+-88.4583	39.5586	7663
+-113.0009	32.4711	6427
+-117.2078	46.4589	8060
+-108.491	32.0767	7407
+-117.0927	31.9228	8746
+-119.4778	32.7589	6951
+-87.9743	36.9622	8626
+-87.2858	37.6636	8153
+-88.7077	38.9035	8424
+-120.7125	37.3675	4383
+-121.2136	47.6234	7618
+-93.505	38.0331	5972
+-82.8002	28.4617	8803
+-82.4155	24.3089	5968
+-119.4338	30.9686	6315
+-122.1119	31.618	3860
+-88.3968	42.0516	5271
+-117.4334	32.9946	9196
+-117.5325	34.9244	8627
+-108.0125	30.8419	6834
+-115.1908	35.1291	7026
+-118.1717	47.4742	7800
+-116.926	48.0427	6751
+-112.0638	33.5897	6603
+-78.9587	25.9942	5779
+-82.4829	24.0873	5711
+-87.6762	40.6097	6291
+-87.8599	39.8626	7148
+-88.6869	36.4269	8421
+-90.0735	40.6802	7317
+-115.8509	47.5524	6260
+-82.778	28.6958	8613
+-108.6045	30.6306	7335
+-123.2545	48.358	8029
+-83.6283	36.5738	3918
+-116.0826	31.3935	7884
+-119.6549	31.6793	6497
+-123.9171	46.762	8466
+-81.8263	26.1369	8016
+-88.3005	39.7095	7462
+-107.6506	30.6978	6413
+-81.5956	24.5369	6188
+-82.3829	25.464	7272
+-90.5686	37.163	7702
+-114.9988	45.5688	5737
+-123.6675	45.0824	7371
+-110.7355	30.0531	7759
+-88.6695	36.5245	8529
+-113.3874	31.1769	6135
+-123.2814	46.8942	9180
+-89.7803	37.2419	8582
+-125.3153	46.4687	6897
+-88.4885	38.8992	8396
+-117.7897	34.3362	8926
+-91.3778	36.2514	6526
+-89.2128	37.9436	9225
+-81.991	28.4611	9090
+-82.679	26.6695	8506
+-109.4248	29.5955	7106
+-122.2845	46.6813	8861
+-118.1575	48.2319	6999
+-111.8749	32.9192	7263
+-121.9998	47.2533	8568
+-120.0952	34.3247	6445
+-118.5302	44.1397	7168
+-117.2118	31.3101	8050
+-116.4639	46.9294	7143
+-116.8989	48.0689	6711
+-116.6668	29.1175	5613
+-117.9965	33.3793	8393
+-118.4917	28.4144	4556
+-81.6223	26.9936	8844
+-90.2272	36.8774	7952
+-119.8995	45.5823	7463
+-84.3679	24.289	5216
+-116.0321	31.8564	8258
+-117.1442	48.7418	6214
+-113.5641	28.6032	4711
+-116.2236	41.7799	4192
+-112.9392	34.4019	5315
+-116.7179	47.4602	7064
+-89.5101	41.2627	6557
+-120.4979	31.0349	5341
+-88.4859	35.805	7703
+-81.9387	32.9174	4061
+-79.9143	28.4679	7260
+-87.0726	41.3209	5293
+-110.5446	28.1151	5709
+-87.7582	38.7545	8149
+-114.7375	48.8082	4535
+-82.2611	28.4849	9067
+-82.8672	29.9195	7319
+-117.5145	33.4983	8794
+-116.194	33.6399	8494
+-91.4534	37.6901	7801
+-122.5467	45.0473	7462
+-79.7804	29.5475	6554
+-91.1291	41.9126	5922
+-114.9931	45.9298	5771
+-119.2808	36.1711	6412
+-121.1844	46.143	7515
+-115.2829	48.7407	5027
+-119.8365	32.9378	6446
+-95.7058	38.3658	3673
+-90.3709	40.5101	7527
+-117.2398	30.4736	7122
+-87.0007	37.5755	7830
+-124.0896	45.717	7711
+-88.036	41.0383	5891
+-115.8649	34.9775	7753
+-109.8723	28.3484	5933
+-114.5716	33.634	6930
+-87.9584	40.1638	6868
+-117.1235	35.236	8325
+-122.1795	34.8606	4120
+-121.9238	44.3369	6524
+-83.3613	27.9794	8482
+-92.468	42.0337	5232
+-90.3125	37.6626	8250
+-120.013	45.6797	7375
+-119.7334	34.4554	6824
+-117.033	36.2892	7172
+-116.4224	36.1015	7202
+-117.5431	33.3559	8872
+-121.7096	48.8517	7157
+-117.222	36.635	6809
+-119.2391	32.9364	7215
+-121.2616	42.1573	4027
+-87.3536	41.5092	5219
+-119.0882	45.9455	8393
+-119.6243	48.4311	6412
+-89.5673	39.5676	8179
+-116.3916	32.7865	9111
+-117.3598	36.4121	7050
+-117.3643	45.9593	8276
+-117.3152	45.0089	7716
+-88.6454	34.9095	6718
+-109.1271	33.7042	6830
+-120.0729	45.2224	7150
+-117.178	46.1016	8090
+-90.0997	40.4472	7570
+-117.2199	34.9743	8619
+-118.0259	31.3733	7756
+-86.0564	39.1514	6346
+-82.1941	26.9824	9003
+-120.1879	47.9207	6470
+-123.3521	49.4717	6810
+-81.9232	26.213	8119
+-88.1511	34.9636	6704
+-110.8134	34.7937	5957
+-113.9096	34.313	5871
+-118.7842	43.1165	6057
+-118.6368	34.0779	8042
+-90.2598	37.1762	8051
+-96.1596	38.1278	3162
+-91.9881	37.8444	7438
+-116.133	31.1445	7669
+-118.3353	31.8294	7871
+-119.0047	33.4484	7500
+-87.9855	39.997	7056
+-115.0081	35.4584	6681
+-117.9414	45.211	8252
+-123.7775	43.6861	5875
+-125.239	47.0665	7034
+-115.1869	46.9733	5853
+-122.1564	48.0077	8201
+-88.1837	37.9464	9089
+-112.0152	32.0778	7574
+-111.4747	30.684	7899
+-124.561	48.1189	7385
+-87.486	36.9349	8160
+-117.1051	35.5495	7983
+-88.0998	40.7537	6150
+-118.8211	35.1575	7507
+-80.6478	27.1274	8063
+-117.4455	38.5367	4731
+-116.8016	42.4845	5122
+-125.8196	46.1254	6268
+-122.5395	46.3739	8844
+-113.581	34.2322	5660
+-82.351	27.4326	9441
+-114.5831	36.8669	5359
+-111.6748	33.7089	6750
+-88.5094	40.3634	6759
+-82.9597	27.7091	8955
+-114.1526	43.4844	4082
+-82.8738	29.1941	8073
+-117.0999	35.1646	8398
+-86.24	26.506	5032
+-113.287	33.1059	5873
+-118.6875	34.1702	7987
+-88.8891	41.1187	6406
+-119.8374	31.8434	6372
+-118.7423	34.3228	7915
+-122.5421	47.1154	9180
+-114.5823	28.868	4608
+-111.0234	30.433	8020
+-117.4469	32.1788	8862
+-87.7817	36.6083	8193
+-108.2433	27.5192	4522
+-80.1675	30.7842	5818
+-89.7249	39.4961	8352
+-91.034	40.0481	7859
+-86.2574	38.9295	6661
+-116.2996	33.6921	8378
+-118.5501	33.3009	7869
+-121.4063	34.9866	4927
+-89.5216	39.1894	8382
+-119.631	47.744	7009
+-111.2247	30.9491	8288
+-112.5086	30.8273	6978
+-123.6081	47.5721	8583
+-115.2127	45.0511	5824
+-114.3749	32.3573	6817
+-112.594	30.8395	6895
+-114.6799	31.9975	7044
+-112.1144	31.2316	7507
+-122.6058	40.8523	2881
+-117.1684	37.1107	6288
+-96.1251	37.2691	3033
+-111.6103	31.5807	8090
+-108.2747	32.4602	7049
+-80.4991	30.0489	6717
+-124.7662	44.0635	5815
+-116.7962	47.0506	7391
+-118.023	34.209	8709
+-115.3023	37.1557	5606
+-113.4138	44.8669	3940
+-80.6627	28.6953	7925
+-115.0601	38.232	4460
+-94.162	40.1687	5074
+-116.8834	47.1493	7408
+-81.5477	28.1643	9092
+-119.9139	47.8327	6741
+-117.2068	34.7304	8883
+-83.001	24.8753	6477
+-123.8806	46.9379	8528
+-108.3581	28.4402	5452
+-116.3242	35.888	7365
+-117.5781	30.2374	6796
+-87.5561	40.7722	6073
+-121.2046	47.804	7529
+-85.2715	37.8851	5884
+-83.2521	37.2317	3606
+-89.2287	38.8574	8175
+-118.998	33.7997	7615
+-82.2115	27.871	9745
+-109.2437	32.9865	7549
+-117.3902	44.0471	6890
+-78.2719	28.6309	5416
+-90.924	38.9932	8785
+-114.5531	31.6494	6763
+-119.4229	47.7444	7142
+-116.3551	32.0296	8641
+-120.4064	44.4728	6428
+-90.6142	40.0714	7978
+-115.4722	30.979	7111
+-91.1137	38.6722	8633
+-88.0615	40.5443	6262
+-116.3893	29.9954	6541
+-122.2568	47.0488	8894
+-87.759	39.8744	7090
+-89.6907	39.8421	8030
+-119.9845	45.7732	7426
+-88.8658	32.235	3718
+-85.3698	29.379	5802
+-118.5658	35.5432	7446
+-123.5178	48.7263	7557
+-83.0126	26.5721	8214
+-114.2032	35.4957	5881
+-115.9663	35.4545	7516
+-122.9889	47.4461	9070
+-88.9151	38.343	9037
+-87.9151	33.6875	5248
+-107.4433	30.9691	6272
+-82.6479	27.2954	9103
+-119.1588	46.3962	8282
+-111.4037	32.2314	8118
+-88.9569	39.4635	7705
+-110.7642	30.701	8410
+-84.7848	27.3372	6854
+-110.6265	33.1237	7775
+-117.3873	44.1699	7007
+-117.3449	36.7286	6706
+-114.6458	31.2275	6616
+-121.4744	48.531	7281
+-113.504	34.38	5425
+-91.1097	40.4667	7415
+-119.0869	48.7487	6329
+-83.5921	30.2116	6671
+-118.8724	46.104	8637
+-120.3209	36.3802	5402
+-110.7755	29.3817	7041
+-106.9302	32.8021	5557
+-117.9778	46.4182	8793
+-111.5065	34.2081	6359
+-87.2923	39.416	7246
+-119.8611	47.2446	7196
+-109.2195	28.1354	5548
+-115.5723	30.9258	7132
+-124.4875	48.3724	7277
+-107.637	30.6728	6390
+-114.9663	35.9213	6360
+-118.2616	49.2353	5940
+-114.7505	36.0088	6115
+-116.1559	44.0309	6117
+-79.9794	28.8372	7171
+-124.6404	43.8797	5713
+-81.9445	26.5449	8494
+-109.5047	30.9499	8344
+-83.7997	26.2455	7340
+-123.8604	46.8282	8540
+-90.5079	36.358	7370
+-113.0104	34.284	5353
+-119.9763	47.0471	7206
+-80.3942	30.5592	6170
+-112.3266	28.8725	5828
+-119.0868	31.3934	6905
+-123.4372	48.6348	7681
+-89.2064	37.7552	9311
+-109.1263	32.1151	8045
+-118.2729	31.9313	7993
+-89.4148	37.3357	8999
+-108.633	31.4828	7628
+-118.8275	44.5191	7490
+-115.5396	44.829	6058
+-122.791	45.1987	7660
+-81.5602	28.9208	8435
+-116.6882	35.7579	7657
+-116.6176	32.3434	9097
+-124.0208	43.7961	5912
+-109.359	31.1633	8324
+-85.4496	29.0137	5884
+-121.7894	46.9924	8386
+-116.2683	34.3758	8417
+-123.0771	43.0155	5261
+-113.2401	29.2748	5452
+-88.8062	38.2975	9105
+-118.8146	32.0883	7537
+-118.789	46.078	8724
+-121.9951	45.2537	7478
+-89.704	37.8194	8749
+-80.081	28.7972	7294
+-83.3878	31.0328	5934
+-108.6809	34.0937	6217
+-118.8906	47.89	7259
+-122.3954	47.534	8772
+-119.4938	48.594	6324
+-87.3093	38.4521	7956
+-119.6572	35.2041	6680
+-120.522	49.8709	5482
+-117.3921	30.2099	6807
+-118.0728	29.1699	5502
+-93.502	37.8827	5935
+-119.3204	31.1931	6563
+-82.9389	26.3658	8064
+-117.8614	31.5896	8059
+-118.8396	45.2603	8194
+-86.9457	35.6905	6799
+-124.1076	47.6219	8097
+-114.8939	32.1014	7307
+-93.3565	39.7881	6030
+-115.4525	32.4308	8010
+-92.688	37.8821	6770
+-95.4121	39.1624	3986
+-121.3033	45.3262	7091
+-116.2575	29.1274	5563
+-110.8833	31.5892	8878
+-116.0172	45.5612	6794
+-117.3915	31.165	7851
+-88.711	35.4553	7333
+-88.8331	35.0714	6902
+-112.335	33.0916	6758
+-90.1927	38.0721	8665
+-122.3134	49.9197	6298
+-82.0943	28.0289	9592
+-123.3291	49.1389	7173
+-121.2073	47.9808	7438
+-119.3048	31.8613	6936
+-118.741	39.3642	3610
+-116.1048	42.294	4616
+-88.6348	38.8988	8423
+-125.9246	47.6864	6190
+-110.5493	32.8218	8111
+-121.6418	48.7127	7242
+-83.8138	37.1466	4225
+-91.2062	38.0861	8285
+-113.4481	34.591	5343
+-89.9535	38.4081	8832
+-90.4758	36.2353	7313
+-117.0658	30.6567	7341
+-114.6855	33.3058	7151
+-122.9469	46.8323	9450
+-79.7672	27.8187	7215
+-92.118	40.1492	7022
+-82.7306	27.4395	9122
+-109.2932	30.9645	8162
+-123.7315	44.445	6689
+-117.4349	45.995	8355
+-115.4738	34.7534	7469
+-124.7258	46.6262	7566
+-78.7256	28.2158	6004
+-113.7094	32.0239	6014
+-81.1709	27.6081	8789
+-122.0306	48.0222	8104
+-83.68	30.6656	6175
+-111.3483	33.1563	7445
+-91.9125	38.0502	7612
+-86.7834	38.3575	7457
+-117.3159	31.2296	7940
+-120.6975	49.2075	6154
+-88.1707	38.8623	8315
+-84.7454	26.8343	6755
+-119.0956	45.0662	7868
+-118.9111	35.0045	7508
+-122.2656	31.8062	3736
+-79.8325	27.3521	7248
+-87.5796	36.5061	7952
+-116.8791	37.5617	5774
+-87.7239	39.6006	7348
+-110.5751	34.079	6757
+-119.4379	31.0452	6361
+-119.1519	32.3528	7261
+-115.8687	29.9533	6332
+-120.6815	48.3076	6758
+-92.1528	41.547	5857
+-119.9707	44.3966	6721
+-80.9348	28.5902	8247
+-118.0596	37.4732	5793
+-106.9113	31.9593	5744
+-88.6694	40.8804	6477
+-114.3778	34.3635	6377
+-120.2474	47.0093	6968
+-116.5998	35.3784	7997
+-111.4941	32.5967	7804
+-116.6893	31.8983	8683
+-90.2723	36.7118	7814
+-92.3815	41.6454	5633
+-116.1128	31.8307	8298
+-114.5955	29.3561	5074
+-115.9362	42.2514	4486
+-81.6157	28.9289	8453
+-91.1445	34.7558	5597
+-89.6456	40.8984	6976
+-122.1785	45.1101	7418
+-89.5845	40.608	7245
+-122.0762	44.7218	6979
+-90.6116	37.6754	8240
+-83.496	28.9933	7818
+-86.5863	37.642	7368
+-115.665	44.3907	5949
+-85.522	24.0394	4193
+-119.8212	44.8309	7149
+-118.2484	37.7259	5475
+-119.5289	36.2114	6187
+-84.0127	25.8726	6874
+-90.8942	35.2036	6162
+-105.8605	31.942	4612
+-87.1647	27.4589	4189
+-116.7562	35.3284	8120
+-110.2004	33.0287	7901
+-115.5021	35.2569	7256
+-115.5992	49.156	4953
+-119.6177	32.8229	6796
+-94.3371	37.4258	4930
+-119.7528	47.50	7111
+-90.7567	36.5222	6990
+-113.9317	30.6463	5445
+-90.0638	38.9803	9000
+-85.0487	29.2066	6214
+-115.1563	30.9916	6886
+-117.2435	34.1618	9498
+-119.5127	34.3647	7075
+-123.6518	45.4264	7723
+-89.629	39.5528	8237
+-123.5001	48.2423	8057
+-81.3189	28.2806	8803
+-121.7529	47.1604	8328
+-81.2984	27.4394	8878
+-112.5649	30.9067	6947
+-80.3229	29.1432	7319
+-81.5841	25.5892	7352
+-88.1975	38.512	8671
+-92.9017	39.6026	6559
+-114.4601	31.6234	6656
+-113.0711	32.3073	6405
+-117.3569	34.7367	8872
+-116.8563	36.113	7332
+-117.561	34.9155	8626
+-82.3283	29.6713	7726
+-116.5986	30.2264	6835
+-118.5588	45.7723	8807
+-114.7024	32.4377	7192
+-79.8282	25.3058	6078
+-117.6701	31.9407	8500
+-115.2833	33.9029	7360
+-112.1933	31.8791	7433
+-122.4904	46.1816	8633
+-117.3799	46.0717	8303
+-109.9049	26.6288	4086
+-115.0711	35.252	6850
+-96.1689	40.1275	3014
+-121.7516	48.3506	7630
+-111.5767	30.1022	7378
+-93.4286	37.0022	5640
+-83.1698	27.9418	8703
+-94.0008	35.716	4335
+-88.6099	41.8083	5614
+-118.5967	32.8062	7935
+-90.6866	37.5824	8124
+-117.1296	35.3428	8210
+-89.0007	38.866	8443
+-89.4075	38.6045	8361
+-122.3678	44.3884	6714
+-107.9991	31.8995	6921
+-92.7926	41.4179	5550
+-114.2923	34.7292	6229
+-122.68	47.5285	8943
+-90.502	37.8116	8405
+-117.114	39.324	3873
+-88.0063	37.9766	8893
+-90.0761	37.2878	8285
+-123.0735	46.6912	9249
+-117.7187	28.9715	5383
+-87.3841	37.2528	8195
+-116.8913	34.6694	8824
+-112.1485	30.9093	7376
+-120.0937	36.8083	5292
+-90.4706	38.5025	9142
+-91.3867	39.9303	7755
+-115.1876	29.3613	5418
+-123.0701	45.4639	7945
+-91.38	39.3934	8146
+-113.5338	28.513	4668
+-122.6284	47.4069	9038
+-89.7526	36.9184	8426
+-114.8601	33.2707	7349
+-121.8623	49.9372	6149
+-87.8632	37.922	8761
+-121.5836	41.9952	3956
+-91.1371	34.8107	5649
+-120.6454	44.1226	5998
+-78.0181	27.352	5213
+-113.6879	33.9963	5866
+-116.6074	34.3916	8766
+-117.1042	45.7374	7954
+-112.3639	31.6552	7272
+-116.5848	33.5156	8864
+-115.2518	35.0883	7106
+-82.2231	28.7568	8768
+-81.5339	28.7309	8608
+-123.1602	45.6811	8165
+-116.7736	33.5038	8957
+-88.4985	37.3162	9320
+-114.9374	33.1932	7451
+-118.3906	47.3995	7880
+-82.0942	26.4742	8430
+-114.977	46.7407	5694
+-78.7713	24.8215	4836
+-115.5468	36.2142	6593
+-121.689	44.5221	6609
+-86.9843	41.1587	5413
+-115.6873	33.1094	8289
+-111.8302	29.7431	6903
+-108.4237	32.2071	7297
+-121.9378	47.3205	8480
+-120.1384	44.8202	6874
+-119.7246	43.1201	5755
+-91.8057	37.3325	7260
+-82.1107	30.6026	6684
+-111.7982	35.7691	4669
+-110.4776	30.1277	7889
+-113.2755	35.223	5025
+-89.6273	40.7313	7139
+-122.7367	45.0261	7467
+-120.3066	31.0304	5528
+-117.5228	35.0187	8532
+-120.107	45.6275	7265
+-120.3113	45.7625	7083
+-123.1967	48.3695	8031
+-124.8187	47.3343	7460
+-90.7391	36.0391	6945
+-82.7281	26.2314	8030
+-88.151	36.0184	7841
+-119.8848	44.5447	6896
+-115.2078	31.6564	7403
+-116.1007	34.0149	8260
+-107.7073	29.7386	5997
+-125.2938	46.9911	6976
+-111.2428	32.9084	7732
+-119.175	43.8605	6708
+-121.572	33.8738	4833
+-114.3456	43.4843	4254
+-86.1791	33.8588	4648
+-119.1295	34.0406	7503
+-81.3847	25.7154	7422
+-124.7252	47.2841	7571
+-114.7193	36.6746	5613
+-118.7971	34.2803	7861
+-123.0825	32.7066	3006
+-110.1607	30.3449	8119
+-116.245	30.296	6828
+-81.4366	24.737	6375
+-90.344	35.7264	7009
+-86.1047	40.1255	5747
+-83.3017	27.924	8559
+-87.492	36.2817	7703
+-85.3218	38.3925	5863
+-85.2889	28.7767	6144
+-110.9872	31.6951	8755
+-88.0921	38.6945	8434
+-115.4059	30.671	6793
+-116.9468	32.8146	9731
+-86.4045	34.0815	4996
+-117.1314	33.0826	9404
+-126.1693	45.5112	5675
+-90.9897	39.9647	7961
+-122.3153	47.3027	8865
+-87.9911	38.5437	8500
+-119.6717	46.2021	7786
+-115.1809	34.7712	7159
+-80.1235	27.984	7605
+-116.7577	42.7009	5315
+-114.2312	36.2608	5494
+-89.9109	38.1325	8586
+-112.6141	32.5616	6785
+-116.6244	33.4805	8920
+-115.1112	41.0834	2974
+-108.2284	31.3819	7183
+-108.1651	31.5156	7123
+-117.8034	30.9875	7509
+-89.1825	38.014	9206
+-81.917	27.3492	9361
+-109.4621	32.2756	8268
+-117.6284	48.0425	7089
+-90.562	38.7322	9231
+-119.8215	46.0414	7630
+-92.4493	42.1647	5123
+-120.1391	47.7902	6602
+-90.7016	41.6313	6300
+-115.5214	34.3419	7621
+-87.8168	37.3994	8708
+-84.5516	30.6528	5632
+-89.827	36.5297	8071
+-115.7702	34.4005	7880
+-83.0228	29.8871	7291
+-117.0501	45.7949	7915
+-79.1172	25.9422	5904
+-120.8461	45.2591	6672
+-114.425	36.4793	5518
+-80.2946	27.2417	7729
+-118.0222	44.5786	7626
+-117.2686	30.4184	7057
+-116.2809	33.8489	8419
+-82.9303	28.7184	8488
+-84.755	25.9235	6267
+-118.902	43.4048	6332
+-127.4557	47.8633	4505
+-87.2518	35.1245	6494
+-114.4147	31.6428	6620
+-122.8825	44.4446	6835
+-106.1163	36.3119	2609
+-89.4432	36.8193	8598
+-118.6561	30.4093	6472
+-91.8146	36.8045	6821
+-114.842	35.3365	6585
+-117.852	43.6763	6653
+-113.6468	30.496	5695
+-85.3406	44.0925	1640
+-119.0888	28.888	4772
+-121.8266	47.8959	8046
+-78.2323	32.1894	3220
+-94.2846	35.6193	4033
+-89.5025	38.1265	8841
+-93.5008	38.7468	6064
+-116.511	35.4148	7915
+-126.1991	45.719	5731
+-119.1718	45.1198	7859
+-108.8265	32.7722	7394
+-83.2955	29.5146	7518
+-87.5668	40.1943	6674
+-86.6987	38.0555	7453
+-124.6553	45.526	7111
+-118.8721	40.6369	3441
+-123.5323	44.9208	7254
+-114.7513	32.4038	7239
+-83.1031	25.2603	6852
+-83.221	29.5742	7506
+-79.3866	26.9211	6641
+-115.6572	32.7377	8290
+-121.1494	47.502	7595
+-81.8708	30.0076	7340
+-81.117	28.6035	8403
+-110.5755	30.5328	8306
+-115.5729	32.2274	8065
+-119.9104	35.3418	6367
+-115.5962	46.4085	6396
+-117.6678	44.615	7558
+-115.3233	33.2052	7869
+-88.4844	36.9564	8958
+-116.5207	33.0026	9214
+-112.1184	31.2808	7512
+-117.6902	30.1584	6680
+-117.8804	47.3257	7894
+-91.4818	37.1212	7307
+-91.2511	38.613	8477
+-118.448	30.8402	6998
+-117.6463	34.8603	8643
+-116.6443	36.1259	7261
+-88.882	36.4119	8401
+-109.1364	28.1479	5532
+-90.0731	40.5885	7415
+-123.5776	46.4009	8636
+-114.2604	36.2058	5555
+-114.8788	33.5539	7283
+-89.517	38.7101	8490
+-119.5669	47.5104	7241
+-111.3831	30.7411	8015
+-89.401	36.0305	7846
+-81.84	27.7692	9561
+-125.8453	48.7303	5835
+-87.7987	40.4162	6542
+-122.4255	46.8092	9057
+-114.2429	34.1653	6239
+-121.3953	33.091	4893
+-119.0676	32.4587	7376
+-91.1493	34.9712	5777
+-111.1399	32.408	8224
+-117.6557	47.2421	7880
+-94.0189	36.3014	4700
+-88.4827	36.3817	8339
+-117.472	31.3192	7990
+-116.4379	31.1143	7765
+-115.3022	32.6302	7885
+-116.2927	46.9904	6951
+-121.2392	47.9569	7482
+-91.1111	40.4731	7408
+-119.2557	47.9472	7050
+-79.9623	30.9532	5530
+-119.4711	48.4433	6478
+-119.1858	32.4603	7246
+-92.1627	36.5038	6336
+-80.5732	27.2484	8033
+-110.3082	32.2961	8701
+-117.9159	45.7755	8741
+-121.1558	49.5387	6192
+-81.8104	27.4071	9346
+-119.2714	46.8233	7964
+-122.2818	45.6185	7977
+-75.6472	26.6597	2448
+-87.7045	36.5275	8067
+-82.3102	25.5292	7353
+-117.6552	44.3887	7330
+-121.9984	47.0947	8606
+-90.4067	38.8138	9351
+-118.7002	33.1075	7792
+-122.5838	46.8405	9232
+-117.1304	43.5478	6295
+-123.3209	46.008	8456
+-118.2506	33.9839	8452
+-79.009	29.294	5958
+-112.2172	31.6175	7432
+-117.5136	33.8865	9157
+-107.8622	32.5831	6585
+-117.6468	31.952	8526
+-125.2039	46.3129	6975
+-88.8273	38.8089	8530
+-117.7952	47.9273	7257
+-89.3972	40.6693	7099
+-123.3784	44.3797	6716
+-89.7435	36.5092	8116
+-122.2151	46.2476	8515
+-118.8138	49.2758	5850
+-118.0827	36.0608	7255
+-88.5494	40.4324	6742
+-87.958	36.9787	8624
+-117.0284	34.0528	9264
+-77.5693	28.4848	4665
+-87.9018	40.554	6431
+-87.4034	39.9255	6853
+-115.7453	34.8145	7720
+-90.7005	40.9596	7018
+-86.6519	37.0333	7337
+-78.3311	28.1972	5563
+-114.9276	32.586	7464
+-92.3966	39.2617	7185
+-78.5046	27.154	5729
+-116.6425	32.1936	8970
+-116.6791	30.6861	7355
+-94.1053	39.1371	5391
+-88.7947	36.2558	8232
+-122.9574	48.9829	7390
+-113.5163	36.9487	4423
+-116.4132	46.4981	7236
+-117.8825	33.773	8760
+-78.2471	27.6142	5492
+-117.2013	46.5734	8010
+-123.4637	46.0142	8390
+-94.6303	36.7879	4382
+-88.9458	41.1856	6376
+-90.4557	35.8585	7038
+-116.6297	38.7023	4506
+-117.4489	47.8239	7232
+-120.3298	36.2243	5492
+-88.5197	38.3541	8995
+-116.9559	33.4099	9091
+-93.1064	37.8526	6334
+-115.063	32.0812	7477
+-119.0326	44.9154	7776
+-93.5425	40.4397	5563
+-85.1481	25.4352	5581
+-115.9886	33.6459	8323
+-85.4428	24.6018	4712
+-114.6718	36.6522	5593
+-119.7696	44.0073	6542
+-108.6261	36.1031	4239
+-126.2474	44.8975	5283
+-113.7487	31.7719	5979
+-89.2623	42.5895	5113
+-119.1482	28.2886	4147
+-114.6819	38.2711	4216
+-81.9729	25.9554	7835
+-118.8164	47.9505	7221
+-111.222	31.201	8425
+-90.8437	40.4539	7522
+-112.093	35.1687	5146
+-88.9838	38.8437	8471
+-118.5266	29.0564	5212
+-90.2412	40.1797	7876
+-118.5688	45.3353	8396
+-115.7571	33.7129	8074
+-82.2554	27.9439	9649
+-91.9892	37.1178	6956
+-116.6603	35.3827	8023
+-121.0811	42.8319	4704
+-117.7977	32.9525	8814
+-116.2219	34.3495	8374
+-118.8114	33.3196	7633
+-113.1084	33.9618	5514
+-121.9728	46.4153	8421
+-110.9617	33.375	7416
+-121.8593	33.2043	4427
+-119.2941	47.0765	7772
+-90.0584	36.5582	7905
+-114.6983	32.1213	7107
+-117.1362	36.1163	7370
+-90.4964	38.0385	8648
+-89.1558	35.5933	7448
+-117.1899	34.9888	8601
+-88.1775	36.6844	8530
+-81.0648	29.7082	7385
+-86.3312	33.4668	4366
+-93.4414	39.9177	5896
+-126.1407	47.4785	6002
+-120.6951	46.5582	7143
+-92.7957	39.4909	6704
+-87.3284	36.9828	8028
+-119.9967	32.6109	6365
+-117.5982	29.9435	6472
+-88.1281	38.3311	8780
+-111.9156	31.4105	7749
+-116.8433	45.8148	7706
+-119.1898	47.7244	7290
+-116.3813	36.5756	6704
+-113.663	33.1829	6045
+-115.3702	40.3207	2479
+-123.0082	48.0529	8407
+-117.3188	33.7651	9132
+-112.6908	35.2697	4733
+-115.808	31.9226	8121
+-112.4921	30.2079	6700
+-89.9334	36.7881	8176
+-82.2171	31.4963	5672
+-82.0706	29.4455	7992
+-117.6084	46.4246	8467
+-126.0659	49.818	4925
+-118.5659	31.058	7101
+-119.9973	48.5893	6060
+-111.8877	31.3598	7772
+-121.0108	43.0754	4947
+-123.5497	47.9534	8308
+-114.6144	35.7378	6157
+-120.3117	43.9791	6152
+-82.5281	25.3892	7166
+-113.619	32.8356	6019
+-88.5784	37.6046	9593
+-113.9117	30.3593	5376
+-112.8308	35.7672	4381
+-112.5172	33.9754	5964
+-116.6761	33.1336	9273
+-116.168	31.1678	7709
+-84.5902	27.3541	7074
+-88.4967	38.5684	8758
+-109.7246	31.3936	8783
+-110.2241	32.4416	8536
+-87.7411	39.5784	7379
+-118.0902	31.5821	7891
+-117.767	33.7253	8834
+-94.2435	37.8786	5159
+-111.8589	32.6861	7434
+-124.6809	46.6364	7616
+-110.689	31.651	9081
+-82.2972	30.7607	6500
+-118.0722	33.7377	8559
+-87.6157	36.6081	8060
+-113.265	31.7446	6292
+-113.7208	38.6024	3315
+-91.4913	35.9384	6167
+-116.7982	33.0529	9429
+-117.2479	28.3919	4808
+-90.7552	36.1456	7005
+-122.0246	48.5471	7621
+-91.2054	36.516	6859
+-115.7857	37.0034	6015
+-81.9136	27.6883	9629
+-114.3342	46.6322	5040
+-117.9253	38.4256	4801
+-116.6271	34.1091	8840
+-80.1472	26.9773	7474
+-122.5651	38.6914	1914
+-91.349	40.464	7304
+-115.4625	37.7538	5125
+-117.1551	31.5841	8362
+-80.6611	28.8545	7821
+-107.4727	33.9262	5467
+-118.6759	47.4136	7809
+-91.7391	38.1302	7818
+-117.3441	34.8508	8751
+-91.3413	40.9536	6834
+-116.286	32.38	8851
+-90.1793	33.9606	5364
+-81.2373	26.0676	7719
+-116.7664	47.664	6953
+-83.5038	30.8656	6059
+-82.5711	26.6922	8580
+-114.3079	31.3424	6362
+-94.0913	38.8769	5425
+-83.3217	27.7894	8548
+-81.4719	26.3821	8157
+-117.3253	34.4767	9158
+-116.1289	31.9247	8388
+-84.7055	36.0688	4916
+-117.1583	35.868	7642
+-85.2126	42.8822	2730
+-90.6441	38.4676	9010
+-113.1067	31.6483	6468
+-113.7748	46.0573	4485
+-116.6645	30.835	7517
+-109.6118	29.4325	7016
+-124.4608	46.1665	7679
+-81.2817	27.3563	8823
+-88.5884	36.6084	8611
+-116.1738	34.0124	8339
+-86.4057	37.3732	7145
+-118.1414	34.8945	8273
+-106.8622	30.619	5570
+-92.5643	36.5773	6106
+-88.0284	41.836	5240
+-109.7212	30.8539	8442
+-118.4142	44.5503	7613
+-111.1499	30.1901	7724
+-84.113	27.7415	7653
+-119.1801	41.7104	4515
+-120.2489	44.4195	6522
+-115.5022	33.4622	7968
+-87.9051	41.8415	5154
+-85.0473	27.2065	6535
+-85.6067	36.4559	6017
+-121.7671	46.2927	8158
+-114.3131	35.0224	6173
+-110.9395	33.9487	6828
+-117.8207	34.3211	8900
+-113.0264	29.3732	5699
+-114.8598	30.6991	6421
+-109.638	34.0115	6737
+-89.8876	41.7077	6192
+-88.9511	38.6644	8675
+-87.091	37.0958	7828
+-111.0898	30.8214	8310
+-82.3891	25.9506	7818
+-116.2991	33.1376	8927
+-121.0797	30.4739	4473
+-117.7976	49.447	5679
+-119.9441	43.3672	5874
+-88.7225	37.5156	9639
+-88.593	38.0816	9310
+-115.821	34.1489	7961
+-117.8833	49.3827	5758
+-109.2431	30.5598	7853
+-81.9806	28.574	8963
+-118.1308	30.4354	6796
+-80.874	26.4043	7794
+-113.6339	29.1178	5010
+-121.631	46.2314	7995
+-122.1041	46.9269	8731
+-124.5609	35.9896	1328
+-118.101	32.765	8486
+-92.5479	35.4114	5136
+-82.5009	28.8167	8634
+-117.236	45.8194	8112
+-82.7465	29.7832	7508
+-125.1854	44.2925	5742
+-91.6341	35.3837	5554
+-123.6157	44.711	7006
+-87.3139	38.7053	7810
+-121.9954	46.8479	8604
+-125.2009	48.5012	6568
+-122.9151	44.7621	7184
+-84.8882	34.6072	4270
+-89.3565	39.7319	7893
+-85.9937	37.9635	6685
+-118.7533	34.4823	7872
+-112.0832	34.2297	6036
+-116.172	29.0569	5467
+-81.7563	27.0986	9025
+-117.8587	47.9759	7224
+-115.3782	31.7759	7635
+-82.5453	30.5083	6756
+-87.903	35.8626	7571
+-90.9054	37.6961	8157
+-88.8227	40.2988	7055
+-123.2323	47.324	9070
+-111.9071	30.8352	7586
+-91.5562	39.3188	8019
+-122.4713	49.2335	7072
+-116.9084	47.5987	7107
+-117.2018	43.8954	6660
+-119.0808	46.0598	8415
+-89.6797	41.6701	6187
+-86.9769	40.3119	6229
+-83.4828	31.7632	5120
+-80.9205	29.4665	7530
+-117.6341	32.5089	8933
+-91.3677	33.7708	4557
+-115.0701	33.433	7529
+-117.9308	34.5766	8667
+-88.0771	38.2233	8820
+-116.5217	35.2832	8043
+-90.1871	35.1827	6604
+-81.161	24.9127	6481
+-89.6994	38.3227	8555
+-114.7402	34.0831	6781
+-115.7811	33.961	7907
+-80.3561	26.8896	7650
+-117.4188	46.2056	8338
+-87.6829	40.1865	6735
+-124.2297	47.5746	8000
+-119.4232	49.2989	5664
+-80.9745	25.4841	6996
+-90.8153	37.7704	8270
+-117.877	34.8148	8540
+-88.3575	41.8994	5388
+-91.9657	37.7389	7400
+-85.0497	29.4713	6071
+-107.3154	31.1783	6175
+-109.333	32.7855	7779
+-110.1852	28.3813	6001
+-91.3614	41.7491	6024
+-110.7089	31.6108	9065
+-116.6668	35.7244	7683
+-117.6201	34.5385	8951
+-114.0038	34.6319	5937
+-81.6723	28.6601	8755
+-116.5233	44.9026	7006
+-82.9991	29.3141	7886
+-90.5919	39.5213	8563
+-92.3989	41.0406	6136
+-123.3587	46.4936	8882
+-80.8417	28.4145	8258
+-78.4187	29.3966	5303
+-89.7237	37.8821	8714
+-117.5878	37.2793	6088
+-115.7182	32.9847	8348
+-113.8674	46.3258	4578
+-110.7445	31.6209	9026
+-120.7727	36.5587	4887
+-115.4862	34.866	7438
+-116.9768	33.1615	9368
+-116.7515	34.7202	8686
+-114.6973	35.0957	6545
+-111.9704	32.0349	7634
+-118.4912	45.5833	8671
+-112.2768	29.5362	6415
+-112.7693	34.1356	5651
+-87.2121	30.3666	3437
+-117.8654	32.8868	8747
+-118.6179	35.709	7274
+-118.6302	34.6391	7951
+-90.173	36.811	7968
+-116.8019	34.8387	8616
+-121.8075	32.3595	4329
+-123.8194	47.4159	8482
+-90.6001	40.5152	7507
+-111.4605	32.9634	7543
+-87.6505	37.0045	8359
+-108.8759	27.5022	4778
+-89.1793	38.7389	8525
+-110.9739	28.3954	5951
+-116.2731	34.3287	8433
+-115.606	34.3931	7704
+-119.919	30.1346	5304
+-82.5496	28.9291	8495
+-80.3663	30.791	5930
+-116.0673	33.9133	8208
+-123.3519	46.0782	8511
+-81.3256	25.9483	7641
+-107.2057	29.641	5485
+-85.1645	38.7573	5590
+-114.5036	45.2552	5159
+-109.6018	34.7223	5981
+-120.9221	33.491	5489
+-123.0999	45.5583	8043
+-116.8853	48.3301	6473
+-92.9356	40.3878	6156
+-114.2527	34.8217	6166
+-111.9128	32.7909	7319
+-124.1402	45.873	7790
+-118.3467	31.5439	7659
+-88.3475	35.2019	7009
+-82.8822	29.7204	7525
+-89.8556	39.6639	8287
+-81.0303	27.4281	8587
+-116.4724	37.3412	5933
+-89.2924	38.6623	8245
+-118.0129	35.9164	7429
+-82.2552	27.3214	9370
+-122.8441	49.6104	6701
+-115.7512	32.9876	8384
+-119.2035	33.9077	7411
+-91.6312	37.7037	7669
+-84.155	27.997	7590
+-123.2794	47.0222	9185
+-118.6239	42.3063	5227
+-92.469	37.8129	6960
+-91.4008	35.407	5920
+-80.1717	27.4858	7651
+-82.2566	25.6603	7505
+-114.5944	33.6837	6936
+-117.2933	29.8971	6476
+-117.1002	33.7717	9104
+-114.6741	34.4021	6695
+-89.3152	36.2485	8109
+-91.8972	36.1423	6174
+-112.3431	34.4713	5661
+-86.752	41.4618	4991
+-108.2744	34.8525	5288
+-92.3648	39.3472	7194
+-79.2521	26.3382	6254
+-110.43	31.519	9348
+-117.9903	32.0372	8318
+-117.4736	33.6009	8915
+-108.9623	28.7422	6056
+-106.9782	34.9895	4293
+-89.1226	37.1522	9113
+-91.3959	38.8092	8331
+-81.4037	26.8176	8538
+-82.3803	29.3644	8063
+-113.1203	31.151	6418
+-82.5432	28.3049	9127
+-80.5868	25.4826	6772
+-109.9301	33.5005	7351
+-119.1841	44.627	7432
+-88.8214	36.5663	8579
+-118.0491	44.6403	7695
+-110.1783	31.3213	9144
+-114.1014	30.7426	5808
+-84.2087	26.8793	7339
+-87.9972	37.7067	8950
+-113.3587	46.0803	4045
+-110.1494	31.6373	9266
+-118.1401	33.8079	8521
+-117.1327	33.5424	8877
+-89.1982	37.8793	9275
+-111.8275	34.3154	6100
+-120.1559	33.1167	6197
+-116.9127	44.4815	7014
+-89.2908	35.5681	7388
+-89.4902	38.5324	8434
+-88.8798	40.2178	7160
+-116.2767	27.8669	4179
+-111.5342	32.4938	7841
+-85.0161	34.0874	3996
+-88.118	37.151	8885
+-118.2663	32.3813	8224
+-108.7113	31.4113	7706
+-112.0314	32.4022	7431
+-116.5741	32.1752	8914
+-123.5771	48.9572	7296
+-80.238	27.0291	7592
+-83.0119	29.9092	7273
+-116.3588	29.5384	6034
+-110.5652	29.4531	7152
+-122.3093	45.6467	8017
+-114.9343	34.2798	6989
+-117.0736	36.5321	6913
+-81.9933	27.907	9668
+-123.3588	48.2754	8083
+-89.6173	38.6734	8595
+-88.9185	34.3601	6100
+-123.3765	43.3698	5620
+-89.8232	41.0981	6823
+-119.5826	45.335	7664
+-81.4802	26.0674	7833
+-117.2407	34.151	9504
+-118.7072	37.44	5603
+-122.7422	47.5737	8917
+-80.4431	28.1213	7939
+-116.0794	33.3778	8582
+-90.3326	37.327	7890
+-91.2564	36.7992	7121
+-121.0871	47.7836	7421
+-122.2837	47.3032	8835
+-117.9964	35.7691	7584
+-114.3005	31.6464	6505
+-121.2853	45.3627	7106
+-84.6405	27.169	6977
+-121.4273	48.5405	7238
+-117.457	34.5959	8992
+-112.5599	31.9956	7020
+-91.0182	36.5778	6985
+-91.5425	37.4283	7530
+-83.9726	24.1906	5343
+-119.0689	32.4684	7376
+-92.4437	39.3453	7113
+-86.2324	36.9934	6872
+-113.863	35.623	5485
+-85.7728	30.343	4848
+-118.1122	35.9393	7363
+-116.4646	33.5595	8753
+-113.1667	34.0481	5405
+-125.1661	49.0578	6219
+-107.7343	30.1725	6270
+-117.8568	33.8929	8843
+-117.962	45.0291	8076
+-81.5693	24.3253	5947
+-83.0851	28.0987	8752
+-117.0654	33.64	8957
+-118.2126	32.1875	8196
+-114.9233	44.7489	5425
+-87.4222	38.6081	7972
+-117.2641	44.9219	7611
+-115.1257	30.9244	6808
+-89.6217	36.9667	8575
+-86.0701	35.6144	6012
+-122.838	45.426	7912
+-119.3942	46.2482	8074
+-107.8807	30.972	6735
+-116.8923	34.2206	9119
+-115.476	44.2385	5693
+-119.7202	46.0323	7737
+-107.2433	33.4043	5588
+-116.715	35.4285	8002
+-81.4179	27.0021	8708
+-89.8573	36.6985	8179
+-123.0672	44.5833	6981
+-126.0038	45.7354	5938
+-89.2987	39.4488	8034
+-118.6209	44.8041	7842
+-91.527	39.4029	8005
+-81.7889	27.4595	9370
+-119.5978	45.8277	7839
+-83.2371	29.1708	7872
+-117.7305	42.9189	5841
+-116.9172	46.7162	7673
+-111.4979	28.2429	5641
+-116.9901	35.1914	8345
+-90.0592	38.7901	9072
+-118.3246	44.5712	7641
+-80.8217	29.2641	7640
+-87.7996	38.7923	8149
+-91.4853	37.0383	7230
+-121.3745	35.3612	4861
+-93.7484	35.8603	4644
+-107.8755	34.1008	5662
+-91.7543	40.9945	6589
+-116.5833	30.9912	7672
+-81.7059	25.4256	7200
+-79.6472	28.9874	6759
+-118.921	47.6413	7494
+-107.5061	29.4804	5656
+-123.9046	43.5358	5679
+-121.2899	47.8507	7588
+-116.5499	33.4022	8951
+-118.3519	34.9408	8062
+-106.5456	34.1139	4538
+-108.3478	35.6407	4579
+-116.7726	32.4335	9274
+-114.9423	33.0488	7480
+-126.006	46.477	6152
+-80.8444	29.4347	7508
+-125.0179	45.0424	6462
+-81.4056	30.7419	6427
+-118.4798	44.7142	7778
+-118.9534	36.1279	6688
+-120.0195	48.481	6140
+-87.8225	40.9951	5754
+-92.074	36.5687	6450
+-83.1364	27.4431	8700
+-122.3938	45.0569	7436
+-116.1315	35.7741	7361
+-88.6253	39.9561	7126
+-121.089	43.4393	5165
+-122.3599	47.8728	8447
+-124.5983	46.8464	7736
+-91.877	38.8496	7811
+-79.2865	26.1713	6200
+-89.5618	39.0549	8480
+-124.1549	29.5458	944
+-80.4058	27.2797	7862
+-111.0542	33.4383	7317
+-121.3539	43.6371	5573
+-88.7012	39.6715	7357
+-90.0076	38.9908	8943
+-91.1179	38.8293	8628
+-86.6554	39.9087	6358
+-81.3539	31.0498	6075
+-126.7355	49.6812	4444
+-111.3979	29.8839	7301
+-90.4596	36.8369	7699
+-115.2013	31.7889	7474
+-118.0636	34.9306	8308
+-90.4239	39.4691	8648
+-118.1366	37.6528	5583
+-118.1044	45.6224	8720
+-115.5364	35.2836	7271
+-126.6035	42.0801	2870
+-117.9069	48.8555	6315
+-121.3634	44.2387	6166
+-120.6864	48.6591	6545
+-121.2465	47.3082	7751
+-111.5596	30.8364	7918
+-87.2233	38.4128	7891
+-113.66	34.6777	5559
+-117.4303	34.1779	9353
+-119.4348	46.5695	7944
+-117.6244	35.0032	8512
+-123.2439	47.2146	9140
+-112.2452	31.7249	7396
+-88.1412	39.8314	7285
+-119.6779	46.7258	7642
+-117.6598	31.2275	7819
+-118.0407	32.2389	8392
+-120.8154	35.0894	5529
+-118.2007	33.3698	8222
+-83.1926	26.1231	7680
+-119.0433	48.4373	6658
+-114.8385	33.7548	7159
+-125.0842	45.4553	6688
+-92.8895	41.0752	5740
+-90.0373	38.6704	9042
+-111.9055	31.8486	7746
+-118.001	35.2712	8061
+-116.8424	34.2666	9053
+-113.3094	33.6497	5548
+-116.9913	37.0134	6382
+-112.95	34.3737	5329
+-117.0374	46.6499	7818
+-116.2402	48.5093	5915
+-118.395	49.934	5198
+-107.7209	32.6735	6407
+-117.4402	46.4268	8303
+-124.6554	46.1299	7470
+-110.0102	28.3613	5965
+-89.29	36.5349	8416
+-111.8867	30.0304	7094
+-85.0912	29.1052	6219
+-116.6638	46.8173	7385
+-113.0477	33.1532	6076
+-126.5407	47.0734	5605
+-110.4597	33.7707	7100
+-116.5383	33.6085	8559
+-88.8202	36.695	8723
+-79.7745	28.7233	7013
+-81.0112	27.1938	8467
+-117.6943	36.4578	6960
+-118.1477	32.6087	8415
+-116.8505	49.544	5310
+-90.7832	38.5183	8926
+-85.7971	29.2938	5402
+-124.6428	49.6977	6047
+-86.9458	41.3672	5185
+-120.4715	45.4908	6855
+-94.21	42.6856	3508
+-115.1557	35.1852	6965
+-122.2357	48.2945	7975
+-117.7477	43.3332	6276
+-86.5861	36.2971	6925
+-79.9203	30.019	6320
+-117.3994	37.8278	5505
+-89.0185	40.6953	6863
+-117.7351	33.9903	9004
+-90.9524	37.4951	7939
+-90.4838	38.9772	9157
+-118.2903	46.2955	9053
+-88.5127	38.9826	8310
+-121.6306	46.3514	8056
+-117.6796	32.0479	8583
+-92.1406	37.6742	7203
+-118.7147	44.2864	7286
+-120.5932	45.4258	6712
+-89.445	40.0907	7661
+-115.5969	35.7295	7018
+-91.3032	40.0012	7751
+-110.3419	28.7173	6368
+-120.1946	35.2266	6129
+-117.5239	31.1264	7768
+-85.7829	38.9506	6169
+-116.7585	32.3043	9136
+-116.9966	32.85	9703
+-88.112	41.1064	5897
+-90.4376	38.2488	8881
+-89.4704	35.8396	7618
+-116.4129	35.6574	7632
+-114.7481	38.5605	3982
+-110.3339	33.6825	7199
+-116.6669	46.6722	7445
+-91.6886	38.3667	7958
+-115.8939	36.8321	6235
+-90.0343	37.461	8374
+-84.5837	40.2195	4314
+-89.7593	39.0197	8692
+-84.3677	26.4902	6981
+-90.8022	37.6024	8108
+-112.9623	31.8576	6610
+-92.7741	38.7688	6847
+-85.502	38.26	6090
+-107.6608	32.6199	6368
+-115.6651	32.6866	8294
+-89.5696	42.2875	5512
+-116.9769	31.9905	8831
+-89.6331	37.9104	8804
+-119.6733	43.6074	6238
+-125.4413	45.9648	6605
+-115.2641	31.7102	7488
+-118.9937	36.7945	6077
+-117.3069	45.1915	7848
+-81.8028	26.8889	8831
+-117.2162	28.5054	4936
+-121.4454	44.6304	6583
+-86.6794	38.7869	7156
+-110.3357	33.4889	7409
+-91.4784	39.1637	8163
+-81.8271	31.4186	5746
+-91.803	38.8919	7886
+-119.8773	36.8688	5413
+-118.2247	35.4202	7788
+-119.7891	49.0499	5753
+-120.608	45.1701	6609
+-83.6768	30.2311	6602
+-87.1872	37.4097	8019
+-124.0078	47.3576	8316
+-115.4606	34.9893	7358
+-80.511	30.5765	6222
+-88.8416	36.7076	8736
+-116.6967	30.2034	6823
+-92.0443	40.3355	6949
+-81.1737	26.2728	7884
+-119.1621	47.3275	7662
+-83.1905	29.3636	7726
+-117.6506	44.1582	7098
+-81.5105	30.4549	6770
+-126.5747	45.5847	5293
+-90.9457	38.8565	8807
+-82.0861	24.0632	5702
+-116.2295	33.0995	8872
+-85.7094	37.038	6312
+-85.5213	27.9902	6051
+-86.8274	34.7988	5930
+-117.8196	32.324	8654
+-87.9247	36.7387	8409
+-92.542	36.9029	6362
+-116.9745	33.6953	8964
+-82.2536	26.976	8988
+-82.8893	29.9504	7278
+-112.7425	29.7335	6183
+-81.2062	30.7978	6306
+-123.1054	47.3742	9105
+-108.8447	29.5027	6702
+-86.5869	27.3075	4827
+-121.0535	49.2355	6392
+-119.4951	29.8901	5439
+-81.5063	25.0758	6767
+-90.438	36.5657	7569
+-89.2527	38.794	8205
+-80.6972	26.7645	7911
+-92.355	38.9998	7282
+-109.5915	32.5414	8161
+-86.595	36.4732	7034
+-118.2157	49.8643	5273
+-92.1602	39.0805	7476
+-118.5335	45.22	8292
+-117.4887	34.1677	9293
+-116.8375	32.946	9549
+-118.9833	33.1973	7405
+-81.9392	31.3779	5801
+-115.8675	32.4472	8460
+-118.3966	47.3139	7969
+-115.4421	31.4979	7505
+-125.8612	48.8998	5721
+-115.1114	32.7077	7680
+-78.5559	27.8961	5842
+-119.7966	36.942	5414
+-123.8684	47.9797	8066
+-114.4702	32.3987	6930
+-84.3307	26.5003	7023
+-80.576	27.8044	8130
+-89.2724	38.0763	9084
+-109.3555	30.4735	7871
+-115.1388	30.4888	6452
+-92.3448	36.9125	6527
+-86.2198	34.999	5676
+-78.8246	27.7836	6149
+-86.8118	40.6226	5836
+-82.9048	26.7817	8477
+-116.2504	33.0228	8922
+-87.0772	36.6528	7604
+-112.1811	27.2906	4410
+-111.4853	28.3572	5762
+-121.0247	47.3014	7513
+-115.4712	47.4305	5966
+-117.8135	32.0714	8495
+-118.7824	45.4743	8413
+-118.6663	31.4773	7339
+-88.1442	35.2887	7057
+-87.7945	38.4655	8402
+-85.094	28.3239	6484
+-121.9135	45.0947	7282
+-89.3206	42.6129	5106
+-86.3643	36.3721	6752
+-117.5813	47.896	7218
+-90.3556	35.4881	6789
+-110.308	28.4833	6115
+-90.5972	39.2642	8824
+-112.8702	32.0209	6684
+-121.0254	48.5483	6912
+-120.4341	44.3267	6308
+-115.0084	46.2182	5790
+-85.7797	39.1025	6095
+-92.5984	36.5216	6038
+-118.1263	37.6829	5554
+-86.5334	25.0668	4052
+-119.0257	32.8412	7456
+-114.9734	34.4194	7017
+-91.2471	39.235	8357
+-113.8511	31.9574	6148
+-119.4186	36.0851	6369
+-119.9519	48.8135	5887
+-120.8383	31.5658	5215
+-90.2935	37.58	8160
+-80.4863	27.959	8016
+-87.7194	38.3112	8434
+-116.8599	30.0624	6678
+-93.0548	37.2583	6126
+-116.8689	32.8756	9626
+-88.3758	37.871	9320
+-112.8361	33.7004	5922
+-116.0501	36.8635	6277
+-119.4639	31.8074	6749
+-116.4655	34.1275	8664
+-117.3821	32.3643	9068
+-114.5948	30.827	6300
+-87.8206	34.4848	6090
+-122.2305	47.6657	8543
+-118.9539	47.9007	7226
+-87.3175	35.8677	7223
+-120.4031	45.8706	7002
+-117.127	46.1527	8035
+-90.9478	40.1139	7833
+-117.7446	44.9347	7901
+-110.7745	30.1332	7831
+-87.1203	39.7164	6863
+-85.4078	39.4156	5564
+-120.168	36.979	5105
+-82.8735	38.0524	3186
+-84.0514	32.5504	4061
+-90.7805	39.6251	8389
+-88.0246	38.2766	8736
+-117.2886	34.5964	9032
+-117.4924	33.1283	9071
+-88.6088	36.1174	8068
+-123.7978	45.8173	8004
+-116.1719	33.8423	8302
+-117.9615	44.1361	7153
+-116.834	32.0745	8912
+-120.4443	48.9788	6118
+-118.8544	33.1278	7488
+-110.4904	30.7981	8606
+-117.0917	33.2692	9229
+-119.5304	46.5046	7872
+-88.9651	40.6677	6854
+-87.2155	36.9987	7920
+-82.4064	27.058	9033
+-82.556	27.0374	8939
+-89.341	40.6334	7104
+-116.3647	32.9947	9053
+-118.8707	45.4993	8371
+-110.6101	33.9221	6922
+-122.9435	43.7091	6027
+-116.6611	34.9343	8443
+-117.1384	36.1069	7380
+-126.8027	47.9943	5172
+-90.2721	38.9659	9163
+-118.1993	32.8222	8378
+-115.30	44.1898	5509
+-89.7798	38.6525	8765
+-86.8082	28.5462	4530
+-83.6921	28.8906	7718
+-91.5008	37.628	7718
+-115.8839	34.1302	8030
+-109.544	32.8318	7873
+-111.2544	29.955	7447
+-89.4359	39.2123	8288
+-84.1697	34.403	3487
+-119.1279	46.8778	8045
+-91.1553	37.6559	7981
+-118.1163	47.0033	8288
+-109.9348	33.4712	7383
+-124.1103	44.8989	6974
+-82.865	35.4975	2757
+-116.5294	32.4604	9124
+-120.8676	47.2189	7356
+-121.4619	45.4616	7319
+-117.949	49.2235	5934
+-116.947	45.9503	7836
+-87.1408	30.1502	3618
+-115.5156	32.0005	7896
+-123.1366	45.0374	7471
+-82.5427	29.0268	8393
+-118.1821	44.1028	7143
+-118.7101	46.9914	8214
+-87.7169	33.9936	5528
+-122.7559	48.7352	7657
+-123.2753	46.0297	8497
+-89.7786	39.478	8404
+-80.3127	29.4499	7087
+-118.11	32.5861	8452
+-84.7601	24.7126	5335
+-120.4918	46.4411	6894
+-123.4972	47.3979	8797
+-93.9637	41.1814	4760
+-90.5358	37.4905	8057
+-91.2855	39.5749	8107
+-87.0154	34.3654	5621
+-111.4438	33.5818	6996
+-114.9335	31.491	7046
+-85.1341	26.5433	6226
+-121.3186	46.3409	7738
+-108.0092	29.415	6030
+-110.2825	31.6565	9377
+-76.7261	26.8606	3690
+-80.2737	25.5826	6647
+-89.75	40.4889	7430
+-118.8553	48.0254	7133
+-119.0498	33.1256	7304
+-91.4337	37.1077	7323
+-91.002	36.2401	6638
+-81.6396	27.2814	9109
+-118.0502	45.3619	8441
+-118.0267	30.9419	7351
+-82.7509	27.9429	9166
+-119.6729	33.4081	6796
+-82.5837	30.9666	6236
+-90.6329	35.2358	6376
+-89.572	40.9561	6891
+-112.9764	30.5573	6402
+-90.6241	35.4008	6527
+-114.7992	27.7139	3569
+-79.6346	25.9942	6427
+-115.2182	33.483	7666
+-115.6128	35.2817	7342
+-117.8437	46.9705	8228
+-113.1784	32.7285	6151
+-109.8574	30.0545	7739
+-118.9608	30.0659	5963
+-122.0305	44.6499	6888
+-91.8132	39.1344	7828
+-115.0616	36.255	6200
+-90.9275	39.4941	8431
+-117.6536	31.8037	8388
+-91.6413	40.9044	6735
+-88.4426	39.783	7411
+-115.7183	35.8694	7000
+-117.6046	32.5172	8967
+-111.0924	34.2496	6470
+-119.1639	31.5197	6907
+-89.0573	34.7543	6530
+-109.9058	34.7864	5972
+-80.037	27.6263	7515
+-111.7557	31.9865	7872
+-109.0902	34.2984	6238
+-110.2818	32.4574	8525
+-118.0997	45.0195	8100
+-124.988	45.4933	6799
+-84.8712	28.5318	6676
+-90.9531	43.6042	4156
+-117.9443	42.9205	5874
+-88.1734	39.0677	8107
+-122.9686	45.1929	7656
+-115.0037	34.7864	6969
+-123.0185	47.1161	9397
+-116.161	28.1398	4459
+-114.6753	32.7152	7195
+-109.838	31.5443	8935
+-116.6811	34.7856	8582
+-115.2923	30.4611	6529
+-121.6877	33.3038	4631
+-123.9952	47.1809	8380
+-115.3583	34.7904	7336
+-83.1087	28.6646	8393
+-123.1054	48.3544	8065
+-116.6538	33.4284	8986
+-110.9514	33.2368	7561
+-84.363	29.7185	6540
+-116.5525	46.5976	7353
+-110.7377	35.5916	5109
+-121.0454	44.5773	6283
+-118.5355	33.0883	7977
+-81.73	25.0102	6741
+-117.5035	35.2146	8330
+-82.1452	27.6249	9732
+-117.0233	44.5222	7122
+-116.9091	44.2849	6849
+-115.3961	47.7327	5748
+-89.6087	38.8396	8584
+-85.0193	29.2614	6215
+-92.6837	38.7967	6944
+-121.3294	43.6701	5595
+-92.657	37.217	6469
+-90.1743	37.0756	8102
+-123.0014	47.6461	8851
+-117.5965	46.7518	8258
+-123.7793	46.0183	8185
+-92.9266	37.8066	6501
+-109.9639	31.6549	9066
+-118.4508	35.6754	7417
+-122.4621	46.3893	8810
+-118.9047	37.8192	5138
+-121.1706	44.8343	6590
+-120.8084	46.712	7291
+-82.7699	28.8819	8440
+-122.7465	46.0166	8549
+-88.5402	37.5221	9514
+-109.072	30.4965	7670
+-116.9875	45.866	7866
+-115.1986	32.5057	7751
+-127.0742	44.8676	4473
+-114.3662	32.1566	6760
+-116.0107	31.2419	7698
+-113.8557	29.8241	5208
+-117.7471	34.18	9011
+-93.505	38.0935	5986
+-112.0052	29.135	6261
+-117.8916	49.8992	5216
+-118.5014	48.4077	6806
+-121.2446	47.2101	7768
+-87.1399	37.6147	7988
+-117.68	33.1817	8859
+-106.1597	28.2833	3709
+-118.6507	34.80	7862
+-90.6758	39.5816	8474
+-90.7503	36.418	7184
+-90.6732	37.9805	8538
+-89.876	38.9902	8819
+-117.9484	42.0626	4970
+-113.915	45.5289	4595
+-115.3986	46.4379	6184
+-85.2001	30.7793	5029
+-84.7863	38.2188	5304
+-90.6297	42.844	5004
+-113.4381	30.1723	5779
+-123.766	44.5329	6768
+-80.5414	29.4512	7270
+-119.2735	42.8944	5707
+-112.6694	32.85	6594
+-117.4925	48.7371	6345
+-94.2162	37.7891	5165
+-84.0973	26.8845	7457
+-88.6228	36.3475	8326
+-80.1543	30.2316	6316
+-108.5272	28.329	5441
+-119.1069	49.0367	6030
+-117.5561	48.2104	6896
+-118.4869	46.6631	8626
+-119.2624	49.578	5434
+-81.3066	25.7185	7394
+-91.1652	39.7352	8069
+-121.0509	45.7992	7204
+-118.6543	31.6588	7470
+-118.2622	48.7949	6406
+-78.9246	32.6407	3290
+-118.6152	43.8893	6893
+-85.3502	26.0115	5747
+-114.988	29.7726	5703
+-116.6011	34.1258	8812
+-116.6848	33.0612	9337
+-120.0346	35.7742	6028
+-87.6582	35.794	7373
+-116.5322	34.9096	8372
+-118.1155	48.209	7020
+-109.2446	30.7548	7991
+-87.6003	36.6477	8077
+-121.1274	49.0609	6592
+-117.4146	34.6275	8975
+-124.2734	45.139	7095
+-119.0406	35.3318	7203
+-87.1151	42.6958	3902
+-89.587	35.8366	7565
+-92.1819	34.5899	4539
+-120.1278	45.4573	7192
+-78.8268	29.2383	5798
+-107.1266	29.3119	5216
+-81.0231	27.5544	8614
+-116.4264	29.6777	6200
+-81.0505	29.2089	7852
+-90.2018	39.1751	8926
+-83.1289	25.6589	7255
+-90.7779	36.9182	7405
+-118.308	40.6309	3468
+-83.2885	25.2474	6757
+-127.7766	44.4119	3558
+-83.7023	26.1167	7317
+-81.8429	31.0961	6111
+-86.2896	38.6355	6829
+-112.7769	30.5138	6583
+-109.3959	29.3314	6831
+-123.7094	48.4985	7703
+-124.6761	45.949	7357
+-115.3626	29.1901	5330
+-117.9243	32.3581	8568
+-122.1977	44.7954	7099
+-118.8315	46.7297	8376
+-84.9347	28.442	6632
+-89.0286	37.3506	9355
+-91.2904	41.2231	6585
+-120.6234	45.0795	6557
+-110.6311	30.6269	8388
+-116.6312	33.2616	9131
+-117.3412	34.4022	9233
+-124.6277	42.6263	4474
+-88.5599	37.7077	9578
+-90.2303	39.6911	8397
+-113.9241	43.8208	4051
+-115.1693	32.7138	7745
+-118.8118	45.4866	8403
+-106.5616	33.1622	5043
+-120.693	47.9832	6937
+-115.9941	31.6436	8053
+-120.5973	33.5951	5858
+-79.6623	30.5914	5646
+-92.1077	39.032	7541
+-121.4291	44.4461	6400
+-85.7688	25.2104	4865
+-116.0654	44.4674	6344
+-117.678	33.0403	8921
+-112.6472	46.3428	3286
+-80.6612	27.044	8037
+-78.2478	31.37	3897
+-109.767	30.8624	8480
+-118.3038	44.1243	7168
+-122.9351	45.3513	7831
+-90.9888	43.9553	3776
+-87.9402	37.2402	8772
+-89.3767	38.8479	8334
+-113.0128	30.3521	6279
+-120.8132	33.9223	5662
+-89.0075	35.1754	7006
+-125.5761	47.6753	6565
+-111.6564	33.7337	6738
+-119.2483	48.587	6435
+-119.3838	47.3508	7496
+-115.4873	32.4972	8065
+-123.7469	44.7031	6951
+-125.512	45.5892	6362
+-90.6788	39.6919	8360
+-117.6093	44.6925	7608
+-111.407	29.0479	6490
+-91.2808	38.1923	8285
+-118.367	33.0511	8169
+-111.5184	30.8628	7971
+-90.7243	39.7317	8304
+-84.2131	27.1195	7428
+-108.5354	30.5021	7200
+-88.6584	39.8543	7217
+-116.1632	33.8071	8283
+-108.3811	29.4129	6311
+-107.9445	33.3851	6232
+-115.7008	34.469	7791
+-118.0373	32.2089	8380
+-82.5909	28.4493	8963
+-90.9807	34.7539	5709
+-117.4827	48.7409	6338
+-121.9493	45.8161	7966
+-118.4379	35.9402	7189
+-112.3181	32.8341	6932
+-121.559	48.9569	6970
+-118.5472	47.4052	7850
+-115.0544	33.385	7528
+-85.8094	31.7204	3785
+-115.7956	46.8854	6498
+-125.2769	48.2315	6648
+-116.0044	34.8778	7939
+-91.4238	38.8081	8301
+-120.1221	44.8871	6928
+-87.7867	37.8893	8687
+-122.8895	44.3253	6704
+-117.7596	31.6054	8138
+-84.2533	29.0888	7066
+-110.2006	36.5149	4128
+-87.1684	37.8001	8015
+-121.9112	47.1297	8505
+-115.8333	33.8779	7950
+-117.6472	30.7522	7328
+-88.707	36.5393	8549
+-114.4226	47.4734	4921
+-88.8425	42.1218	5429
+-114.008	29.3609	4821
+-108.9728	33.6902	6756
+-118.5905	45.111	8164
+-123.7285	46.1966	8364
+-125.7337	48.7287	5940
+-111.7854	33.6348	6750
+-79.4134	30.4344	5582
+-123.8847	45.032	7221
+-111.47	32.1326	8106
+-109.5379	34.905	5773
+-86.6329	38.6585	7174
+-87.6269	39.4952	7396
+-92.6445	40.6931	6211
+-116.3271	34.6262	8381
+-90.443	37.1719	7722
+-125.2025	46.8814	7075
+-121.5994	45.9503	7793
+-115.834	30.4435	6820
+-91.5758	40.2948	7321
+-116.95	36.0587	7409
+-117.292	30.1394	6745
+-107.7275	31.4282	6645
+-117.5895	32.3686	8897
+-90.2067	38.1885	8790
+-117.2385	31.8421	8624
+-87.263	36.2209	7474
+-91.5152	38.7468	8204
+-88.5957	40.81	6485
+-88.1746	34.8308	6564
+-82.9663	29.9417	7257
+-117.8077	46.0606	8755
+-87.6081	38.9192	7899
+-114.7527	44.0195	4920
+-121.3348	46.476	7804
+-87.1661	29.6475	3814
+-109.0716	29.9699	7254
+-109.4917	31.9975	8457
+-121.782	47.8091	8068
+-112.8551	33.3219	6155
+-93.0884	38.6858	6508
+-113.6838	31.8501	5832
+-86.8449	34.7413	5887
+-89.73	37.4615	8710
+-116.3582	44.5995	6675
+-111.9928	33.8537	6427
+-91.7099	37.186	7214
+-122.0164	45.7571	7961
+-114.9948	33.1095	7529
+-110.5962	31.6295	9184
+-112.7928	33.6043	6025
+-116.3612	48.7061	5831
+-123.9926	46.7449	8381
+-118.1197	45.0032	8086
+-93.518	35.7033	4713
+-119.8642	30.9147	5887
+-116.2955	29.5525	6036
+-83.8503	28.5802	7743
+-80.8678	30.7422	6234
+-86.3213	25.5107	4511
+-123.3232	46.2435	8686
+-110.0754	33.934	6911
+-110.1983	35.9091	4784
+-112.404	31.1158	7174
+-114.9447	30.6093	6414
+-107.7477	33.3123	6104
+-86.1926	40.9096	5167
+-114.7693	31.4084	6842
+-116.5824	33.9228	8757
+-84.1802	28.4768	7441
+-88.3004	36.8841	8793
+-85.9655	38.4389	6553
+-117.6109	32.3792	8884
+-127.5029	47.9478	4436
+-116.1545	44.1184	6180
+-111.3732	31.3678	8323
+-118.3746	30.086	6326
+-116.7247	34.5645	8782
+-83.5102	28.0254	8307
+-86.6342	28.0091	4793
+-82.0302	30.0552	7301
+-117.7249	33.3137	8742
+-115.9665	46.0211	6805
+-81.3736	27.4354	8955
+-115.9396	32.3786	8507
+-89.0305	37.2831	9293
+-87.0596	37.4972	7890
+-120.8036	43.6276	5521
+-89.1093	36.4046	8348
+-118.1353	47.996	7246
+-80.7117	27.6598	8280
+-120.0751	42.2264	4740
+-83.6254	27.7165	8203
+-121.2499	46.6893	7768
+-83.4812	27.5487	8348
+-90.0067	43.0803	4739
+-108.8263	30.773	7620
+-82.2383	26.3656	8303
+-114.7819	35.0248	6658
+-109.7072	30.2273	7855
+-116.7971	29.8493	6438
+-91.8034	37.7974	7581
+-80.3123	29.5102	7040
+-84.3361	40.9072	3653
+-90.3211	35.6016	6914
+-89.3494	36.891	8727
+-93.0927	37.486	6202
+-116.8764	33.9582	9071
+-87.9904	38.1506	8788
+-122.9738	47.8585	8623
+-113.4859	35.3243	5214
+-89.1288	35.5569	7413
+-91.7354	36.7546	6826
+-118.6073	44.7715	7812
+-125.7462	46.1773	6361
+-116.9294	38.3339	4941
+-116.4933	44.4588	6689
+-111.0403	34.0225	6722
+-124.5572	47.0836	7781
+-82.3285	31.4345	5737
+-111.9216	32.965	7193
+-78.4269	25.9403	5218
+-82.2718	29.0286	8456
+-91.0326	38.5856	8702
+-108.7156	34.3886	5965
+-89.8299	37.7056	8621
+-117.1006	34.0508	9336
+-82.6981	26.6785	8505
+-92.8204	38.3669	6765
+-87.7138	37.028	8433
+-124.3457	45.6698	7473
+-118.6357	46.8053	8426
+-118.3122	34.0576	8394
+-122.3574	48.909	7391
+-117.274	32.9184	9392
+-117.4632	29.1697	5648
+-115.6798	31.0151	7283
+-77.5149	27.9819	4662
+-118.7908	43.7846	6750
+-117.0204	33.8455	9125
+-111.6878	29.9594	7182
+-86.8687	39.5736	6795
+-120.6503	46.7072	7118
+-108.493	31.4572	7475
+-124.3793	49.7393	6154
+-80.6699	25.5221	6861
+-112.1634	33.0476	6934
+-89.4734	37.8701	8989
+-86.1106	39.4278	6237
+-117.5207	35.5025	8019
+-116.327	45.5732	7115
+-80.7708	30.8083	6122
+-89.3838	37.8126	9103
+-110.0219	32.2723	8654
+-90.2368	37.7892	8377
+-91.1962	37.3146	7646
+-116.0107	27.2548	3458
+-113.6997	48.3768	3840
+-91.6366	39.3785	7913
+-87.4762	35.2319	6723
+-112.9522	37.0734	3843
+-117.1645	33.4041	9061
+-116.7779	32.1269	8955
+-81.4989	30.3066	6931
+-122.571	45.5836	8044
+-116.5597	31.7979	8529
+-114.9246	31.2992	6915
+-111.4925	33.0383	7458
+-115.9726	34.9238	7884
+-91.407	37.7528	7884
+-114.8608	32.8755	7403
+-120.9147	44.1158	5770
+-117.8668	32.9226	8742
+-89.8224	39.4064	8494
+-109.5823	28.9092	6464
+-80.0974	31.4486	5132
+-91.5893	37.3182	7407
+-89.8809	41.1506	6781
+-116.4796	31.4643	8150
+-88.8448	40.523	6894
+-117.7808	33.1119	8787
+-115.0079	33.019	7556
+-90.364	39.359	8768
+-82.339	27.8412	9645
+-81.3785	29.4962	7757
+-117.9526	30.6834	7132
+-114.6913	31.4061	6767
+-83.9199	26.5585	7452
+-121.8888	46.9488	8495
+-123.6044	47.1256	8813
+-85.8693	36.6195	6357
+-90.2995	38.2706	8900
+-89.0993	37.4611	9376
+-118.0288	46.4652	8789
+-88.1291	39.3877	7754
+-82.2892	24.6289	6338
+-90.6927	40.0454	7989
+-111.8744	30.5477	7462
+-82.7992	28.6496	8641
+-93.6081	33.7898	3048
+-87.2524	39.0584	7506
+-113.9023	34.7742	5802
+-86.2568	41.5909	4586
+-116.36	32.2204	8804
+-117.4383	35.1279	8437
+-117.1833	31.3754	8127
+-121.4745	45.0279	6962
+-115.3367	31.707	7554
+-116.3216	33.9707	8492
+-117.2966	34.6778	8943
+-90.5452	40.1857	7867
+-88.0433	39.5935	7504
+-89.3763	35.6285	7428
+-120.8296	46.1613	7166
+-118.4102	49.3937	5770
+-119.84	47.1497	7272
+-116.0368	30.5062	6975
+-115.8547	30.2189	6601
+-81.8454	25.9264	7785
+-125.5693	45.7764	6395
+-116.593	43.2639	5764
+-117.2596	31.9796	8764
+-120.6372	46.8685	7118
+-90.1789	41.508	6444
+-119.5727	35.8569	6397
+-114.6718	34.4101	6691
+-124.0261	45.813	7835
+-92.4654	39.5432	7023
+-108.9184	30.0595	7221
+-125.8525	48.7899	5794
+-120.0175	49.8862	5099
+-109.5439	33.5134	7214
+-82.5635	28.7151	8714
+-92.7094	37.5219	6589
+-121.4853	44.2417	6233
+-80.119	27.4003	7576
+-121.9852	47.3278	8526
+-86.7029	37.2395	7450
+-77.8497	24.2807	3644
+-88.5974	34.7763	6566
+-124.5579	46.9149	7784
+-82.3685	30.1914	7136
+-119.2094	36.2791	6380
+-112.2289	28.6107	5654
+-123.6449	46.9051	8785
+-122.7184	45.3737	7845
+-92.7612	36.21	5674
+-90.733	34.5961	5723
+-118.4564	44.5813	7642
+-118.1339	46.4676	8840
+-118.2898	46.5693	8763
+-91.3909	35.8847	6151
+-94.6706	35.4206	3574
+-108.9432	30.6306	7648
+-121.0314	35.2789	5245
+-93.5008	37.0477	5596
+-121.2135	36.0856	4735
+-117.9386	46.1532	8891
+-88.8989	38.476	8894
+-110.30	31.6627	9380
+-117.0263	45.5344	7801
+-81.1214	26.0224	7611
+-117.8464	33.7784	8796
+-117.1016	32.9899	9508
+-119.4092	47.956	6962
+-123.195	45.7839	8267
+-109.7632	33.7456	7051
+-116.3523	33.027	9029
+-117.07	33.3581	9138
+-111.3163	30.0574	7507
+-114.9261	32.3578	7420
+-91.6814	38.8561	8021
+-84.0051	26.6135	7405
+-90.0978	39.3835	8675
+-116.814	34.5211	8888
+-111.4908	33.9702	6599
+-94.1129	40.1682	5124
+-118.1685	36.5751	6698
+-92.1064	38.7743	7567
+-116.4391	33.2882	8964
+-83.091	29.3409	7808
+-87.9881	41.0436	5850
+-118.0734	31.9061	8154
+-107.5049	33.1299	5981
+-110.753	30.1981	7905
+-116.717	29.4466	5984
+-87.5845	36.0718	7587
+-116.753	35.5584	7885
+-114.1822	31.6265	6375
+-121.8036	48.6217	7425
+-110.8845	33.0222	7804
+-77.5827	26.5908	4575
+-120.1174	33.0125	6197
+-89.969	36.7623	8127
+-119.473	45.9215	7986
+-116.0385	34.3212	8183
+-116.648	36.2184	7165
+-109.1512	31.3888	8176
+-90.1371	35.1299	6579
+-122.2258	47.3899	8732
+-116.7688	33.6723	8798
+-110.3817	34.4036	6417
+-117.8131	46.7029	8451
+-82.0731	28.8538	8661
+-119.0684	49.1285	5947
+-111.0268	30.959	8463
+-115.7203	31.5545	7774
+-119.8931	35.0784	6493
+-85.0062	37.2404	5567
+-82.8883	27.4762	8977
+-115.5702	33.2836	8110
+-82.9067	27.1466	8771
+-92.8491	40.1481	6369
+-83.3237	25.8247	7316
+-117.4196	45.3496	8049
+-117.3821	33.9792	9328
+-122.1995	44.9824	7294
+-81.9835	28.5191	9024
+-89.382	38.1358	8946
+-80.5889	26.948	7915
+-87.7889	38.4159	8432
+-120.58	42.4691	4710
+-114.2988	31.6274	6495
+-113.5117	32.9749	5895
+-81.5934	28.6564	8715
+-119.4615	34.3643	7130
+-115.142	38.2816	4454
+-83.5952	27.706	8237
+-86.2236	36.0267	6419
+-88.9578	42.8895	4706
+-118.596	32.3388	7859
+-114.8579	31.0407	6678
+-121.6809	46.2408	8047
+-119.3503	35.3108	6927
+-112.9711	31.8564	6600
+-84.3466	29.1398	6946
+-113.7653	46.2092	4474
+-120.3496	32.6327	5974
+-91.113	42.6116	5188
+-111.2781	32.8331	7776
+-79.5213	24.7635	5390
+-121.4753	45.9326	7672
+-92.0306	41.731	5753
+-120.6353	48.0038	6870
+-115.0954	34.6585	7101
+-122.4584	48.6415	7703
+-116.3704	32.5646	9031
+-82.7533	28.7442	8583
+-79.9864	28.5676	7300
+-108.021	36.2717	3810
+-88.1187	41.5657	5530
+-107.2612	34.9675	4521
+-81.0676	29.2047	7867
+-119.0176	36.1182	6651
+-84.2669	28.6395	7284
+-121.8096	47.6683	8182
+-109.4487	32.2251	8289
+-118.0107	35.2009	8118
+-123.1964	47.1487	9224
+-122.7914	48.0831	8374
+-109.7007	32.0111	8646
+-117.6828	34.7321	8742
+-89.8198	42.2622	5590
+-120.3563	47.7068	6483
+-90.1801	38.0093	8596
+-123.28	45.8075	8266
+-116.6948	34.9401	8459
+-90.4208	40.6661	7359
+-89.2046	43.4103	4243
+-123.4573	47.0537	8986
+-87.0745	41.2826	5333
+-119.1086	33.9362	7517
+-118.5097	44.7864	7849
+-119.8238	45.6736	7568
+-86.4286	37.4334	7178
+-81.6642	31.6382	5480
+-80.9868	28.9799	8004
+-85.8593	39.0477	6202
+-86.8199	38.1748	7557
+-90.4079	40.8097	7204
+-81.6919	28.1689	9217
+-92.555	38.1719	7002
+-116.7084	36.608	6771
+-86.5957	38.6755	7128
+-117.6465	48.7474	6377
+-118.5315	34.7207	8017
+-90.6732	36.9645	7475
+-110.8315	28.054	5612
+-110.8903	32.0873	8660
+-117.5436	33.0851	9043
+-89.3814	38.9873	8315
+-87.7061	36.2678	7845
+-93.5621	39.2969	5948
+-87.3943	38.6345	7930
+-82.2987	32.1109	4974
+-110.2532	34.4585	6357
+-118.2893	46.8469	8470
+-114.0494	32.6514	6494
+-92.6946	39.3995	6837
+-93.1049	41.5535	5213
+-87.5778	40.4709	6395
+-111.3278	32.2259	8191
+-83.5747	28.2031	8189
+-105.5417	30.7595	4206
+-90.9337	41.748	6139
+-117.8547	33.0262	8735
+-94.8555	39.4335	4548
+-83.4316	27.6906	8421
+-108.4705	29.9795	6810
+-119.1616	44.6617	7476
+-94.7755	35.9948	3836
+-118.3672	34.2139	8334
+-119.49	33.9846	7107
+-114.5161	36.9518	5242
+-106.7123	28.1641	4078
+-120.182	45.1096	6993
+-124.1123	47.9206	7911
+-122.8072	46.8139	9410
+-127.2391	48.7309	4460
+-118.0342	31.211	7602
+-90.5769	35.7698	6872
+-85.299	29.9396	5548
+-116.7389	32.9001	9482
+-90.6375	35.9023	6929
+-85.4576	25.1815	5128
+-119.8024	32.7173	6588
+-125.8672	47.3299	6322
+-89.1017	34.8688	6653
+-124.4824	45.5433	7268
+-117.8031	32.389	8705
+-85.8783	38.2605	6505
+-121.034	44.8405	6498
+-119.1359	48.4611	6602
+-113.5405	31.1127	5961
+-121.6117	48.7229	7213
+-81.6303	25.6773	7461
+-87.3279	39.6086	7102
+-114.7408	35.5731	6367
+-87.0857	38.6053	7654
+-83.6231	27.5941	8196
+-114.8561	32.2573	7318
+-117.542	29.7107	6230
+-89.4918	38.8696	8455
+-109.8128	28.154	5716
+-117.7295	31.3886	7947
+-81.2765	30.3276	6837
+-121.5362	45.9666	7748
+-84.5004	32.0737	4332
+-114.8541	31.7699	7123
+-81.0176	31.0396	5980
+-115.8524	34.828	7819
+-109.7728	30.7755	8408
+-113.2911	34.0417	5307
+-109.2274	32.9956	7530
+-109.2909	30.4869	7834
+-117.635	48.1653	6968
+-122.5349	45.9504	8420
+-82.4756	26.6822	8606
+-118.4409	33.1316	8071
+-91.3143	37.8778	8049
+-87.4882	38.6016	8037
+-91.5184	39.5186	7947
+-116.5495	45.6512	7364
+-80.5603	27.8991	8107
+-110.3169	33.2846	7630
+-119.3674	34.6202	7186
+-82.1529	26.7956	8794
+-115.7682	48.3215	5706
+-89.3709	34.6216	6331
+-114.2064	30.7196	5886
+-124.3112	45.4801	7354
+-84.714	27.9635	6964
+-118.7449	34.888	7727
+-89.4375	35.9892	7788
+-87.1511	38.8108	7593
+-116.3342	33.4763	8734
+-116.823	34.6785	8771
+-90.3815	40.2247	7835
+-82.2138	28.0634	9545
+-115.9054	34.0771	8052
+-83.4805	28.6084	8095
+-89.6575	33.7939	5355
+-117.9188	29.745	6166
+-119.3349	49.3635	5629
+-86.4115	27.5391	5045
+-85.0101	28.0239	6625
+-89.9726	35.1894	6723
+-120.5745	47.771	6903
+-118.7276	33.4392	7773
+-87.9881	38.606	8445
+-117.5986	48.5592	6557
+-85.535	27.6718	6042
+-83.2247	28.1184	8595
+-88.6728	37.0032	9064
+-92.0609	43.1559	4343
+-81.4449	25.7463	7478
+-82.8039	27.6792	9127
+-86.4128	41.4234	4838
+-121.9469	46.6053	8486
+-89.794	34.3852	5956
+-124.2923	48.6007	7248
+-114.584	35.9522	6002
+-113.1047	33.8016	5627
+-89.1279	36.738	8697
+-110.6956	34.298	6506
+-89.3962	36.7074	8528
+-119.3831	33.7359	7189
+-107.0115	32.6737	5686
+-115.9912	36.1127	6969
+-121.1907	43.8843	5734
+-110.0172	34.0416	6788
+-117.271	33.4171	9002
+-91.5052	39.3614	8047
+-120.454	45.9479	6956
+-118.3546	34.4302	8308
+-118.562	31.947	7726
+-81.4148	27.3925	8976
+-89.8859	40.8178	7132
+-91.3503	39.2956	8228
+-110.4941	33.8418	7020
+-120.1971	46.6588	7149
+-108.4982	28.9293	5978
+-84.7153	28.8837	6710
+-117.8331	31.985	8413
+-117.1789	31.5913	8366
+-88.463	36.8438	8831
+-91.9544	36.7047	6645
+-120.2027	32.8073	6024
+-121.2808	45.8167	7424
+-120.3327	48.1465	6502
+-76.5625	31.1348	2527
+-115.5948	33.5928	7995
+-88.6196	32.7656	4312
+-90.9603	40.3994	7541
+-118.0687	35.1098	8159
+-86.4378	41.5068	4773
+-111.1744	31.0511	8395
+-112.0493	32.292	7462
+-111.1812	33.1446	7549
+-120.6811	43.3106	5365
+-82.8187	28.0278	9063
+-118.3992	31.6439	7688
+-122.7107	47.2016	9275
+-92.3797	38.4389	7247
+-120.7039	32.9443	5570
+-116.6013	31.1154	7812
+-115.7375	36.6777	6300
+-110.6764	32.6264	8284
+-124.3299	49.6418	6274
+-91.0053	39.6987	8202
+-119.0933	32.9711	7374
+-113.875	32.6189	6297
+-122.1827	47.1874	8782
+-115.2088	46.5549	5969
+-119.0723	45.1847	7981
+-114.2786	30.3675	5697
+-84.1697	28.5167	7437
+-120.2932	30.5242	5247
+-122.9333	45.0161	7463
+-90.1579	35.7233	7133
+-93.389	36.4534	5347
+-116.3606	32.3343	8889
+-83.0587	27.5757	8823
+-90.1021	36.7269	7982
+-77.7975	28.557	4906
+-88.0526	36.696	8463
+-87.9463	36.9525	8595
+-121.8975	49.5706	6541
+-86.8554	38.5112	7469
+-85.6437	27.7068	5920
+-122.3334	46.4048	8730
+-91.5576	44.3866	3219
+-118.7314	48.6656	6502
+-118.0225	30.0052	6403
+-90.9964	36.6552	7072
+-89.7445	39.6562	8229
+-109.013	36.061	4416
+-88.1972	43.0802	4196
+-119.3404	35.2973	6944
+-92.4607	36.2581	5928
+-115.7094	34.7312	7718
+-88.8903	38.0913	9318
+-90.9054	38.4212	8759
+-87.589	36.1285	7641
+-91.356	37.1906	7443
+-89.7185	39.1315	8598
+-122.5828	48.6995	7671
+-113.1259	29.8896	5935
+-113.9412	34.4902	5890
+-125.1105	46.5087	7126
+-122.3692	46.9851	9023
+-127.7098	43.5562	3128
+-87.0558	40.0564	6515
+-118.532	33.1879	7815
+-91.7197	35.0345	5168
+-120.7685	42.6596	4766
+-91.2249	43.6237	4094
+-123.4684	43.9347	6217
+-89.4771	37.9634	8950
+-88.4061	37.4759	9358
+-90.4126	37.6398	8227
+-115.7468	33.1193	8351
+-84.6369	31.0765	5197
+-120.8464	32.6826	5325
+-81.4856	28.6519	8651
+-88.8127	39.328	7949
+-117.9811	44.8229	7871
+-118.4285	48.851	6343
+-118.4982	34.0955	8194
+-111.4023	32.74	7767
+-127.1129	45.2848	4623
+-119.9164	38.8579	3629
+-112.9756	33.386	6008
+-118.4411	31.9799	7862
+-79.619	26.5762	6745
+-126.3028	47.2887	5851
+-87.1453	37.1425	7903
+-118.3326	30.283	6542
+-86.681	39.0461	7008
+-79.9268	27.8469	7394
+-79.8808	27.6683	7342
+-116.9311	33.4885	9002
+-116.6715	30.1115	6718
+-119.7287	46.3395	7709
+-116.1098	36.3557	6805
+-118.6844	45.5231	8516
+-85.577	29.2433	5653
+-117.2031	33.2844	9168
+-122.7912	47.8943	8580
+-82.7507	30.5994	6612
+-122.5375	49.7611	6510
+-118.3446	31.8897	7900
+-83.9179	27.0366	7711
+-89.7464	38.2192	8531
+-116.3385	32.4665	8951
+-115.6138	34.1247	7735
+-89.6053	37.9724	8813
+-109.2522	32.6455	7832
+-119.8348	47.6651	6927
+-124.9962	42.9755	4653
+-111.0076	34.4631	6269
+-89.8748	36.7614	8209
+-115.9813	43.513	5593
+-119.1061	24.9939	707
+-120.0324	43.5743	6007
+-81.3689	25.8238	7530
+-88.151	38.0424	9005
+-119.4857	33.7609	7083
+-124.8973	45.853	7094
+-114.0209	32.5843	6457
+-88.7808	38.4517	8933
+-119.435	46.0458	8039
+-90.8259	40.8861	7073
+-119.8444	31.6084	6272
+-122.2801	43.6453	5894
+-82.4231	29.2241	8211
+-111.9264	31.1467	7684
+-79.8293	30.3621	5966
+-109.6928	32.5491	8218
+-92.3881	36.9943	6552
+-81.372	27.6932	9027
+-118.7173	33.2608	7691
+-113.9846	34.2116	5957
+-81.2987	27.5599	8920
+-117.3281	30.6631	7317
+-117.5366	32.0936	8726
+-87.3074	37.5677	8173
+-117.0009	32.9576	9591
+-120.3045	48.4877	6301
+-117.7367	36.2242	7200
+-83.0277	28.0004	8847
+-82.3779	28.9257	8552
+-118.125	49.929	5202
+-119.5789	36.9272	5582
+-117.325	46.9981	7870
+-119.3712	44.3517	7080
+-114.137	41.6953	2854
+-116.9756	35.6017	7905
+-122.0055	44.7424	6972
+-118.9105	43.7957	6731
+-117.5118	42.7175	5586
+-92.1504	43.1152	4348
+-118.4148	47.0925	8200
+-117.0382	47.8421	6993
+-114.1604	32.2062	6550
+-124.7739	44.7428	6411
+-123.6247	45.8121	8109
+-88.4775	37.2916	9284
+-88.7658	40.0192	7208
+-107.6888	30.6587	6438
+-107.2325	32.692	5906
+-86.0142	28.0413	5491
+-115.0458	44.794	5563
+-127.2428	47.5023	4799
+-111.5498	34.1047	6440
+-86.5167	38.419	7152
+-123.506	47.8372	8441
+-120.4519	46.5849	6907
+-91.9334	34.695	4745
+-118.2002	36.5553	6706
+-87.8936	38.2039	8664
+-118.6613	29.8155	5909
+-114.182	33.2291	6613
+-120.1695	46.4587	7227
+-112.9384	32.0114	6613
+-83.7072	29.8344	6953
+-82.7946	27.3602	9014
+-82.6179	30.3942	6870
+-79.9802	29.4469	6803
+-114.3854	34.1389	6395
+-122.8395	47.7911	8698
+-88.0908	38.8681	8267
+-91.7047	35.0288	5383
+-116.4488	46.9697	7110
+-82.5002	25.9259	7769
+-83.1007	26.5705	8152
+-80.2767	31.9713	4692
+-85.4132	27.8766	6180
+-87.9139	42.9498	4173
+-117.7519	32.0832	8554
+-109.2188	28.4061	5826
+-83.749	25.3385	6593
+-112.2056	32.1816	7344
+-110.3308	34.0869	6761
+-81.4008	28.7392	8515
+-112.0236	35.1744	5173
+-88.0635	38.4826	8605
+-79.6173	30.3768	5791
+-92.2238	35.455	5356
+-124.9014	47.3395	7370
+-80.064	27.3088	7495
+-107.9008	31.5708	6838
+-115.6949	33.3744	8204
+-116.8747	33.4711	9016
+-115.9152	32.3455	8468
+-111.286	29.5839	7074
+-119.8709	46.8675	7393
+-91.5774	38.5443	8118
+-117.2908	47.8196	7158
+-117.7848	36.9965	6364
+-120.4383	48.2318	6565
+-89.7753	38.5656	8740
+-124.0375	49.2823	6772
+-118.565	32.7014	7965
+-117.2785	35.2248	8347
+-120.9596	49.0488	6479
+-79.8891	29.9831	6324
+-110.3419	33.0235	7913
+-117.5969	32.7796	9049
+-117.0843	33.4557	9028
+-83.3329	25.3218	6811
+-112.4637	30.726	6985
+-87.5398	39.52	7320
+-119.1933	31.2024	6685
+-85.9867	40.6175	5264
+-121.3917	46.3313	7808
+-110.4518	33.9688	6886
+-115.576	37.6198	5311
+-122.4426	47.6758	8679
+-87.5463	34.7723	6290
+-110.9765	36.9552	3612
+-116.1116	43.9738	6042
+-91.6791	42.7519	4890
+-93.653	38.3185	5870
+-79.9459	27.9824	7406
+-116.336	31.0906	7703
+-90.1784	36.7309	7914
+-86.7391	37.9985	7509
+-89.149	34.1669	5864
+-106.4983	32.102	5281
+-119.0215	30.6877	6453
+-115.0292	32.6752	7586
+-118.1952	31.3369	7608
+-118.499	34.2342	8189
+-87.403	36.2817	7634
+-115.4357	31.6675	7618
+-111.9243	36.5873	3785
+-117.8534	32.6529	8747
+-116.3378	44.997	6892
+-119.5253	34.6362	7014
+-81.6785	26.3234	8180
+-118.34	45.9979	9137
+-117.8983	36.0401	7347
+-88.9297	39.0223	8282
+-109.0044	30.1391	7347
+-118.0334	45.1657	8236
+-86.862	37.8803	7664
+-80.9352	30.0991	6926
+-116.6933	32.5086	9294
+-89.3046	36.2221	8085
+-120.2548	46.4684	7136
+-116.962	34.5995	8930
+-117.6037	35.1648	8354
+-80.5729	26.127	7332
+-88.1941	39.662	7484
+-94.1099	35.3103	3958
+-79.6912	27.9553	7121
+-91.7537	36.1194	6227
+-91.487	40.7268	6984
+-87.4894	36.5182	7887
+-88.8308	40.3122	7050
+-85.1246	35.7037	5171
+-88.5831	36.8751	8904
+-82.622	27.047	8908
+-116.859	32.0647	8906
+-82.9332	26.1643	7866
+-116.6169	34.8844	8455
+-119.4538	46.1614	8019
+-122.4364	46.5108	8892
+-123.0796	45.8771	8393
+-111.7555	34.6015	5859
+-107.7157	34.3995	5308
+-91.2714	37.8505	8062
+-125.9004	47.1382	6304
+-107.5984	29.3841	5671
+-80.282	27.4126	7760
+-110.1532	32.3945	8573
+-115.0194	48.4412	5006
+-114.2568	32.5941	6720
+-92.8526	38.7945	6762
+-110.4161	31.9498	9066
+-115.4864	37.0475	5813
+-78.3932	27.6906	5660
+-115.1044	31.3035	7077
+-84.1979	27.6147	7550
+-122.7248	46.2041	8747
+-115.644	35.3974	7294
+-109.4949	30.3767	7882
+-84.6898	27.4749	6981
+-89.3286	37.4848	9152
+-120.8464	32.4007	5401
+-115.8335	36.1275	6859
+-120.2835	33.8471	6232
+-117.3369	47.1488	7764
+-122.3219	47.3406	8850
+-80.2713	30.0165	6588
+-111.5737	31.4952	8126
+-117.1439	31.5392	8314
+-121.7707	49.7929	6262
+-109.1401	34.0825	6473
+-120.5031	46.9926	6727
+-116.6983	32.6811	9418
+-108.8675	32.1808	7759
+-122.3709	45.903	8301
+-118.1893	43.8902	6918
+-90.5013	37.6976	8283
+-79.2448	25.1826	5508
+-87.1115	37.5888	7955
+-119.3672	31.40	6644
+-89.6134	36.8103	8464
+-118.8826	43.4123	6344
+-90.2261	40.353	7688
+-95.3623	40.0448	3879
+-117.5119	32.1793	8817
+-90.4969	37.2877	7843
+-120.3744	35.2686	5929
+-119.846	46.7696	7460
+-79.9305	26.9579	7238
+-85.9493	37.3027	6626
+-90.7965	39.6715	8336
+-87.9493	40.3614	6653
+-111.8121	34.0051	6399
+-119.2022	36.0383	6575
+-82.7161	26.9704	8776
+-113.7514	33.4772	6092
+-91.361	39.3965	8161
+-90.0237	37.4071	8374
+-91.41	35.3562	5875
+-119.2816	48.1132	6881
+-115.8097	30.0827	6442
+-117.1823	45.7265	8029
+-117.3116	37.725	5620
+-87.8063	38.2725	8540
+-115.609	30.1523	6418
+-116.7997	31.081	7808
+-111.134	31.7961	8576
+-118.2363	45.9363	9080
+-83.7715	32.5497	4172
+-124.1301	46.1249	7969
+-89.773	42.5906	5233
+-115.6924	35.1033	7521
+-119.9032	34.589	6619
+-118.2651	33.8858	8416
+-116.7499	47.6179	6975
+-123.7104	45.8139	8058
+-115.6095	33.5254	8045
+-89.7709	39.4656	8409
+-83.3292	26.9517	8255
+-77.7473	27.0922	4872
+-119.5487	32.5493	6857
+-80.131	32.6469	3924
+-91.5644	34.7909	5312
+-88.5368	38.6998	8626
+-110.3894	28.581	6220
+-125.0944	46.9682	7195
+-117.8449	33.3283	8457
+-115.9155	48.6355	5586
+-108.8128	32.7349	7407
+-108.0811	30.8151	6895
+-120.8803	45.5052	6867
+-110.8195	32.7791	8075
+-107.2185	30.9875	6038
+-81.5651	27.9614	9213
+-119.9716	44.8451	7033
+-111.0188	28.1951	5728
+-93.7598	35.3676	4273
+-110.4153	32.7152	8244
+-85.3571	28.7937	6065
+-106.9431	29.7338	5289
+-84.105	30.1949	6354
+-107.0752	30.7977	5842
+-114.0423	47.155	4632
+-121.1326	43.2358	4982
+-117.4152	45.1836	7924
+-88.1609	36.4214	8261
+-119.4483	46.7927	7825
+-109.9814	34.8577	5905
+-123.4982	44.5763	6899
+-118.6642	47.3901	7836
+-80.9695	27.0771	8362
+-90.6871	40.0416	7994
+-87.4153	35.9349	7350
+-90.5122	38.5461	9164
+-107.6592	32.9888	6200
+-118.9288	35.9996	6812
+-94.1152	41.2664	4573
+-91.7446	37.268	7255
+-121.7774	46.2549	8146
+-90.9648	36.3542	6767
+-115.7974	47.4817	6248
+-117.1308	32.5814	9433
+-88.3402	36.5502	8474
+-118.7867	34.5021	7832
+-116.4198	35.0298	8193
+-85.8724	36.1334	6139
+-83.6634	35.9269	3763
+-116.3003	34.8712	8212
+-84.1057	26.7928	7404
+-117.4281	34.8539	8732
+-123.1801	45.6954	8176
+-91.0558	34.7087	5617
+-107.4213	30.3809	6060
+-115.4709	32.7426	8082
+-88.5687	34.9682	6779
+-118.1087	29.0981	5414
+-121.078	45.7568	7203
+-121.6881	45.6805	7665
+-90.0654	39.9075	8130
+-89.1871	37.8936	9278
+-119.8561	46.0421	7594
+-121.2128	45.5703	7200
+-117.7712	35.2321	8219
+-119.6863	45.7083	7718
+-122.2764	48.9278	7345
+-117.2273	35.8773	7635
+-116.086	39.8578	3162
+-79.1932	30.8495	5073
+-122.212	44.2287	6505
+-85.0506	26.6245	6348
+-110.3707	27.4936	5042
+-123.3178	46.8158	9118
+-91.857	40.9938	6531
+-119.9442	35.6502	6181
+-89.0653	40.6153	6963
+-120.923	48.2646	7008
+-116.0341	35.1626	7786
+-115.6045	33.6568	7968
+-113.548	36.056	4971
+-110.8434	31.6708	8913
+-89.6126	39.2026	8461
+-118.4212	33.0072	8117
+-125.4771	48.158	6487
+-85.8962	35.2688	5617
+-117.3192	33.597	8950
+-116.7009	30.322	6955
+-119.1724	34.8522	7316
+-119.6452	42.2697	4955
+-87.3768	36.7116	7923
+-117.6842	47.325	7816
+-117.7514	36.4295	6978
+-86.1442	30.5387	4376
+-118.8019	32.9064	7703
+-85.08	34.3412	4242
+-89.6018	34.5053	6145
+-120.7924	44.5018	6110
+-91.3634	42.3597	5393
+-91.8654	39.0851	7787
+-121.8964	49.0422	7073
+-123.909	47.6971	8238
+-108.7489	31.6592	7755
+-88.7483	39.3084	7971
+-116.1671	35.592	7545
+-82.2973	27.1015	9117
+-88.0536	39.2987	7815
+-91.1231	36.1235	6483
+-87.1731	28.5854	4116
+-117.0816	36.0173	7473
+-123.8906	44.3303	6512
+-90.234	38.7424	9263
+-81.2901	29.1495	8060
+-79.3677	29.5999	6138
+-117.8659	33.8896	8832
+-117.9942	30.6102	7038
+-115.0951	35.0627	6961
+-82.7394	33.2709	3627
+-122.2598	46.7219	8853
+-126.0487	48.3091	5846
+-119.3842	45.6045	7982
+-80.6057	30.2089	6633
+-88.8393	41.584	5946
+-85.4672	25.7623	5491
+-117.7759	36.6299	6758
+-90.2698	35.7106	7046
+-114.8645	30.5894	6337
+-89.2458	35.0086	6784
+-88.745	41.9672	5533
+-87.8684	39.2541	7767
+-123.8874	44.9027	7093
+-117.209	49.3335	5652
+-120.7745	33.4498	5639
+-116.9207	30.1337	6760
+-117.0683	34.1549	9320
+-107.7258	32.4801	6486
+-93.4822	38.6777	6083
+-109.6484	34.3352	6401
+-118.2357	48.0443	7201
+-88.8121	35.7651	7681
+-112.5484	30.7863	6923
+-111.5936	29.4518	6791
+-119.1463	35.2406	7158
+-118.4359	33.7291	8188
+-91.6017	36.8558	6997
+-83.5596	27.7035	8277
+-83.721	29.9267	6860
+-90.5557	41.0276	6962
+-121.3615	45.7632	7460
+-117.2245	29.6921	6256
+-117.1045	36.857	6562
+-119.4353	33.6496	7114
+-125.3662	47.715	6775
+-90.4766	39.0666	9069
+-89.3662	35.6282	7431
+-91.7691	39.3596	7793
+-127.196	45.9775	4763
+-89.4387	38.3351	8751
+-124.5727	49.201	6540
+-117.4822	35.4016	8135
+-117.2813	45.6169	8082
+-90.2361	36.1023	7406
+-118.2076	38.5196	4644
+-89.6312	39.5967	8204
+-107.0325	35.0328	4301
+-115.394	30.6697	6784
+-114.9865	35.9861	6333
+-110.9986	29.5658	7172
+-81.33	26.2602	7961
+-118.7121	31.8331	7518
+-110.6789	31.7833	9041
+-85.2989	41.8379	3726
+-112.1939	32.5659	7194
+-107.8882	32.9911	6417
+-92.4211	35.6953	5467
+-117.4602	33.1386	9096
+-84.4838	41.5513	3324
+-80.9198	26.4924	7902
+-119.0603	31.9955	7244
+-115.8888	30.7618	7165
+-83.734	28.5972	7852
+-117.6609	30.7986	7373
+-113.9913	34.6433	5922
+-118.0614	31.474	7821
+-122.4953	47.6763	8709
+-81.5701	27.3544	9103
+-116.8908	34.7549	8745
+-82.779	27.4134	9060
+-117.6465	33.6183	8840
+-113.5023	31.6091	6040
+-88.9164	42.3944	5190
+-94.6885	37.5866	4618
+-109.0016	27.7971	5125
+-117.0808	30.1444	6770
+-121.3141	44.3208	6217
+-117.8278	46.7796	8394
+-109.8985	30.3723	8079
+-123.5148	47.8739	8402
+-118.2931	44.3579	7415
+-108.7062	33.1388	7035
+-108.6446	34.1166	6175
+-118.8251	36.2777	6646
+-117.3869	48.8904	6157
+-108.2393	29.3884	6187
+-117.8687	33.7406	8754
+-111.8931	33.1932	7045
+-116.7069	44.3177	6741
+-82.7915	31.4114	5702
+-115.91	33.761	8003
+-93.5483	37.7388	5843
+-88.3054	29.9165	2498
+-88.987	41.4559	6142
+-118.1926	33.4383	8275
+-121.9238	29.388	3030
+-81.0483	29.5358	7544
+-114.2493	32.2611	6659
+-89.2095	37.2947	9166
+-81.8121	27.1263	9082
+-112.9272	31.6855	6661
+-91.257	32.5773	3456
+-117.9319	32.9116	8671
+-119.5399	32.2809	6821
+-116.8847	29.6233	6190
+-118.0995	36.3575	6947
+-120.4881	44.9138	6609
+-88.6328	37.6528	9664
+-123.6746	49.4542	6744
+-124.3231	44.8032	6761
+-85.5709	26.0878	5564
+-120.626	44.3628	6172
+-83.3571	29.9526	7058
+-111.3109	34.9454	5680
+-122.9119	45.5824	8085
+-117.817	43.8146	6790
+-110.9351	33.8844	6897
+-92.9693	37.1478	6145
+-118.4833	46.3957	8883
+-108.6551	31.6565	7654
+-88.008	33.828	5424
+-111.6351	29.3929	6713
+-124.3997	45.7732	7501
+-120.42	32.4564	5880
+-91.046	38.7501	8710
+-81.9106	26.3015	8216
+-83.2799	31.6182	5346
+-81.2004	29.0811	8069
+-118.7695	44.3198	7306
+-123.9087	46.209	8220
+-117.6117	33.996	9133
+-115.4174	30.6275	6762
+-110.5614	32.3282	8629
+-114.393	45.7375	5123
+-79.0778	30.3753	5347
+-120.4154	35.0459	5962
+-122.6738	47.2508	9207
+-116.2521	30.7189	7281
+-91.3975	35.9491	6214
+-119.4163	34.9868	7015
+-91.3212	42.139	5634
+-117.2209	30.8455	7536
+-113.4687	33.7293	5721
+-111.8627	28.0369	5289
+-87.6896	37.4744	8587
+-93.1311	36.0967	5307
+-117.608	45.952	8528
+-117.7019	35.604	7865
+-90.1448	36.0198	7405
+-126.1081	45.1291	5544
+-91.3648	39.9016	7793
+-110.3344	31.3379	9208
+-81.3142	29.3142	7911
+-119.8394	35.3602	6429
+-109.1773	30.2914	7595
+-81.3811	28.8212	8427
+-118.2022	48.2385	6994
+-114.9879	34.4102	7034
+-83.8129	38.5436	4168
+-90.0638	38.3096	8838
+-121.6848	46.4158	8140
+-125.2826	48.1664	6675
+-117.1703	31.3641	8117
+-91.1748	39.6371	8143
+-84.1983	29.4685	6865
+-119.7143	34.5872	6822
+-119.4904	29.5839	5178
+-116.8688	42.4924	5157
+-90.5795	39.5732	8512
+-119.522	37.7932	4848
+-89.1823	40.7055	6951
+-118.7017	34.6061	7890
+-81.9234	26.7274	8693
+-89.3546	38.6892	8314
+-90.9003	37.5041	7970
+-116.8331	34.7946	8675
+-117.2523	32.9312	9409
+-86.3692	40.4423	5698
+-116.9223	33.0612	9476
+-87.1277	40.0932	6528
+-120.9478	43.7214	5478
+-116.6723	32.5013	9272
+-89.2647	38.8847	8210
+-119.9844	44.1136	6491
+-85.979	26.3419	5253
+-121.905	33.1842	4373
+-125.0257	46.84	7267
+-89.6359	34.8539	6511
+-117.2667	44.2001	6978
+-116.3963	35.7327	7552
+-120.7377	45.3831	6553
+-116.0327	47.816	6263
+-91.555	37.9867	7917
+-92.2293	40.7975	6453
+-120.6126	46.1457	6793
+-82.1207	26.4365	8388
+-117.7932	34.5242	8823
+-82.1084	29.7375	7662
+-118.5621	37.4951	5608
+-86.1033	36.7332	6647
+-123.9331	48.6984	7391
+-119.415	33.665	7139
+-87.907	38.5224	8453
+-117.8513	49.0757	6076
+-87.7699	34.5825	6177
+-84.4238	29.2868	6782
+-89.6001	38.9047	8564
+-119.2827	35.7777	6700
+-118.0187	44.0943	7118
+-114.6134	27.2348	2996
+-80.9079	26.4256	7837
+-86.6149	35.9434	6721
+-90.8057	37.1488	7640
+-81.5286	24.4356	6062
+-82.8063	26.7436	8507
+-93.033	42.2541	4689
+-111.5259	34.3166	6242
+-83.3349	29.4114	7588
+-109.2419	32.2312	8098
+-90.094	35.7034	7155
+-88.7697	42.0747	5441
+-123.4858	46.3965	8708
+-82.3425	25.0762	6839
+-89.9394	39.2101	8735
+-113.466	35.3023	5200
+-120.326	45.0413	6824
+-88.8216	38.4159	8971
+-91.7293	40.1193	7355
+-84.3842	27.3141	7295
+-123.0147	45.6098	8110
+-80.8531	31.7285	5182
+-80.4966	27.469	8010
+-110.6463	31.3162	9028
+-119.4955	34.2634	7102
+-122.4171	49.304	6984
+-91.4306	36.3059	6558
+-107.2408	36.1594	3490
+-107.505	30.0661	5996
+-83.9734	29.1737	7272
+-88.1776	39.3953	7764
+-124.2578	48.4514	7396
+-95.8424	39.1198	3527
+-112.0377	31.4849	7624
+-124.9739	49.6517	5879
+-116.475	32.4407	9063
+-118.4866	46.5356	8752
+-104.5342	30.8989	3147
+-122.1503	46.8498	8773
+-126.1253	49.4705	5120
+-124.5197	49.9188	5907
+-85.3645	36.5881	5809
+-106.8815	33.662	5108
+-119.5747	45.8698	7871
+-115.994	44.8286	6487
+-90.5156	37.155	7699
+-116.1866	34.426	8317
+-110.487	30.5835	8378
+-88.087	38.6541	8469
+-117.2843	31.5862	8335
+-120.2623	48.8651	6036
+-118.0603	37.6244	5633
+-119.9175	47.7146	6828
+-121.5764	49.7284	6242
+-91.1245	39.5216	8271
+-92.4659	39.7602	6930
+-91.2989	40.2892	7494
+-117.2278	34.0882	9473
+-82.4564	27.012	8964
+-118.4054	36.6188	6556
+-113.3804	34.3488	5292
+-81.6879	24.2701	5905
+-113.6692	32.7914	6075
+-88.8173	33.4455	5077
+-93.9574	36.7459	5008
+-117.1309	30.1321	6753
+-112.0112	32.3427	7478
+-92.0533	38.9821	7607
+-119.4063	31.6115	6718
+-87.4577	36.5883	7912
+-117.8325	32.9061	8782
+-87.9865	35.5199	7252
+-91.33	39.6832	7992
+-119.1145	34.1302	7522
+-118.941	49.704	5381
+-82.4097	28.0819	9418
+-90.7186	42.926	4909
+-86.7838	33.9904	5127
+-86.2416	35.9296	6375
+-111.1472	31.8736	8537
+-89.7509	36.5778	8168
+-88.8182	38.4547	8928
+-117.8364	45.28	8271
+-114.4507	34.3139	6460
+-87.0508	39.3309	7131
+-84.8751	36.8843	5360
+-117.4021	31.1449	7826
+-115.675	44.2923	5900
+-89.3175	36.0296	7877
+-120.0214	43.7645	6177
+-89.0645	35.8803	7783
+-119.9974	27.524	2950
+-83.3509	26.3406	7771
+-92.1859	40.0477	7030
+-89.4747	35.1638	6896
+-113.042	30.6197	6359
+-85.3949	28.4229	6128
+-91.918	36.4762	6468
+-121.5424	47.1809	8096
+-111.2705	35.2353	5389
+-117.4443	33.0851	9142
+-119.8766	32.9348	6405
+-120.4676	33.0766	5861
+-78.8609	25.3529	5292
+-113.3179	28.5092	4831
+-123.7053	46.1836	8372
+-118.5419	33.6613	8055
+-93.539	36.2676	5097
+-88.9172	35.1555	6992
+-114.3868	30.0282	5516
+-87.5464	42.4324	4414
+-83.3153	29.666	7361
+-118.548	33.4303	7944
+-87.9776	37.6977	8929
+-77.0301	28.618	4039
+-114.7705	29.0781	4917
+-80.9073	25.6289	7104
+-108.0661	27.3824	4301
+-118.6698	33.7132	7940
+-87.2811	37.5123	8139
+-119.4316	45.6267	7945
+-112.4531	30.1864	6723
+-121.1027	43.323	5069
+-91.3217	42.4605	5299
+-107.6324	29.5727	5825
+-124.6788	45.9765	7370
+-81.8118	30.9249	6301
+-93.362	41.6287	4960
+-87.7023	37.8708	8599
+-87.1144	34.2858	5592
+-82.8448	29.3626	7916
+-120.577	33.9944	5924
+-109.5585	32.6809	8018
+-116.4738	33.7714	8587
+-88.3534	40.7858	6326
+-117.7941	46.5383	8565
+-122.867	46.0541	8603
+-119.7586	34.6191	6768
+-85.8312	38.3347	6436
+-82.2147	27.5696	9651
+-119.1737	32.6297	7282
+-122.0615	45.8307	8055
+-118.1285	46.8281	8472
+-117.4097	35.3369	8216
+-118.9255	33.8781	7707
+-115.4402	30.341	6509
+-118.2727	47.6082	7663
+-81.3349	27.0127	8650
+-118.3612	37.1579	6029
+-116.8529	35.8022	7662
+-86.3873	38.9647	6772
+-84.3411	41.0418	3567
+-120.3916	48.6898	6263
+-81.3746	27.7575	9034
+-116.3753	30.5637	7155
+-119.1854	31.6479	6956
+-80.9367	30.7703	6234
+-112.2177	31.7231	7426
+-115.9564	47.2853	6495
+-89.9321	38.41	8815
+-80.5944	26.0122	7252
+-118.5115	34.6287	8076
+-119.2338	36.1522	6463
+-87.9386	35.781	7504
+-87.0256	38.3486	7716
+-114.0376	35.8762	5535
+-116.3988	44.9033	6896
+-118.0133	45.47	8535
+-114.0203	34.3998	5985
+-85.7343	36.0797	5974
+-120.2335	33.8512	6287
+-91.1014	37.6442	8003
+-113.1973	33.5405	5715
+-117.6948	27.012	3228
+-123.0647	46.3327	8887
+-114.447	30.3899	5851
+-119.2768	45.7538	8146
+-88.9186	38.3863	8989
+-109.4292	31.5752	8494
+-123.0678	46.0035	8532
+-89.3799	38.6826	8340
+-89.0997	39.6729	7720
+-126.9617	44.0686	4124
+-116.536	36.472	6865
+-118.8268	46.558	8508
+-114.0013	33.0138	6438
+-118.3292	45.499	8622
+-90.1588	37.7213	8289
+-88.9141	38.7214	8619
+-124.7185	48.8983	6692
+-110.3474	31.1449	8998
+-88.5779	36.9534	8988
+-85.6342	33.6967	4139
+-111.0388	32.201	8458
+-90.7423	40.0324	7989
+-119.3012	37.0755	5636
+-119.7421	46.2475	7708
+-95.0317	41.3902	3662
+-122.6285	48.2124	8205
+-115.0684	32.1174	7497
+-111.5704	31.8544	8101
+-83.159	28.3801	8540
+-119.2363	32.4995	7197
+-118.2304	31.514	7728
+-83.0423	27.6735	8859
+-121.3709	46.5813	7874
+-106.2198	26.7191	2572
+-90.8752	37.177	7648
+-89.1137	40.8758	6755
+-115.1768	29.7983	5839
+-121.3397	45.2752	7078
+-123.9638	47.8683	8074
+-117.2384	35.2175	8355
+-89.2516	39.7897	7768
+-114.9715	33.9097	7215
+-92.227	40.5962	6612
+-118.7148	30.1751	6220
+-117.4105	45.5314	8157
+-115.3268	31.422	7352
+-111.28	32.7258	7866
+-118.3033	45.1429	8247
+-90.5904	37.3395	7888
+-85.8565	26.5458	5460
+-82.1219	27.7426	9862
+-88.4828	40.9958	6253
+-117.9137	31.6113	8043
+-123.1057	45.2954	7756
+-94.2501	40.2565	4951
+-87.6687	41.0115	5863
+-125.8622	47.5855	6282
+-91.9819	41.5537	5946
+-108.52	33.9539	6240
+-89.3369	38.8657	8290
+-82.0559	25.6655	7514
+-125.8225	45.2515	5883
+-112.0296	30.8271	7461
+-118.7529	41.9667	4855
+-112.6079	30.5283	6757
+-121.0462	46.1605	7385
+-83.7001	25.1953	6486
+-115.5953	35.7723	6984
+-113.312	32.9179	5937
+-81.1818	25.8242	7445
+-111.4395	28.7002	6128
+-117.4806	32.3211	8956
+-112.9927	32.6315	6376
+-111.0315	33.1464	7619
+-116.8041	44.4426	6908
+-116.3261	37.6546	5562
+-124.6297	46.7634	7693
+-113.8359	34.6634	5751
+-117.3268	45.7162	8169
+-114.8877	32.9733	7427
+-90.0668	35.8177	7278
+-82.7909	31.7582	5316
+-114.2118	31.4025	6299
+-118.8246	32.9535	7675
+-85.4747	29.7991	5468
+-126.6818	46.5335	5424
+-82.942	27.1706	8756
+-117.2719	32.8884	9403
+-90.7278	42.0153	5885
+-86.8384	38.3907	7503
+-114.1704	31.2288	6166
+-91.2196	37.9817	8200
+-89.048	40.3828	7151
+-123.4938	45.5195	7888
+-122.5542	49.1236	7206
+-110.2452	29.0299	6705
+-121.1411	48.9164	6721
+-117.4959	35.0521	8505
+-120.2923	31.2193	5638
+-110.3169	28.1706	5776
+-112.0811	32.4935	7339
+-89.9856	40.9041	7063
+-107.0977	30.1254	5629
+-114.1705	29.6652	5054
+-81.0956	28.6812	8328
+-114.2611	32.4435	6707
+-122.1728	45.6406	7945
+-115.3102	33.2476	7844
+-89.3907	39.3613	8168
+-122.3606	44.5267	6861
+-85.2525	26.3937	6037
+-113.2977	32.5347	6100
+-111.0524	34.4687	6252
+-120.0167	47.4598	6927
+-82.0903	24.0603	5699
+-81.9081	31.0276	6194
+-119.3162	34.2875	7296
+-124.7147	48.059	7279
+-117.3919	32.0034	8729
+-108.1982	32.2677	7044
+-118.8082	29.2949	5320
+-117.028	31.4046	8176
+-113.5497	37.1144	4340
+-91.7156	40.5103	7045
+-88.9319	38.7143	8624
+-80.1557	28.717	7410
+-123.8989	48.1238	7927
+-109.3522	27.4828	4905
+-112.4705	32.7319	6845
+-89.9628	35.999	7512
+-120.0545	31.5298	6021
+-81.6406	25.6173	7398
+-115.2014	29.5372	5599
+-117.9146	45.9729	8848
+-92.0251	35.772	5759
+-106.1798	32.5748	4847
+-116.0861	33.1526	8702
+-91.3895	38.9775	8312
+-89.9489	34.8379	6374
+-120.0318	45.6203	7340
+-107.2645	31.9644	6123
+-119.8999	46.2376	7542
+-117.8211	35.555	7873
+-90.349	40.8683	7141
+-89.8153	39.344	8539
+-126.6597	47.6401	5410
+-112.387	33.4601	6459
+-81.2651	24.7007	6287
+-89.6561	40.8017	7078
+-84.9312	38.3315	5445
+-119.3677	46.092	8112
+-121.0129	48.2296	7111
+-123.5067	43.3973	5629
+-112.4595	28.1054	5057
+-120.0043	43.6817	6117
+-117.8435	45.9987	8783
+-88.7108	38.7288	8620
+-109.2572	34.3271	6280
+-89.939	39.2467	8706
+-88.904	36.9931	9044
+-116.1934	43.3542	5606
+-116.8479	30.87	7578
+-115.7983	32.6128	8430
+-116.0658	32.2557	8569
+-115.241	34.264	7324
+-91.3907	39.4351	8111
+-112.2454	32.8566	6985
+-87.2326	39.0459	7499
+-117.7674	37.5788	5740
+-115.3413	33.0442	7922
+-92.2547	41.7904	5576
+-90.0865	40.0149	8024
+-82.0666	28.1032	9504
+-80.7998	26.7639	8005
+-122.3411	32.6772	3779
+-123.5172	48.998	7274
+-84.4277	37.9856	4931
+-123.2019	49.1292	7207
+-123.953	48.8844	7203
+-108.7262	34.4282	5933
+-119.7447	44.6881	7109
+-83.6154	28.2464	8130
+-79.8985	27.712	7363
+-108.8503	30.5657	7525
+-120.8683	33.8389	5596
+-116.2251	36.1948	7018
+-120.0623	35.5447	6122
+-115.358	30.2911	6413
+-82.1428	29.1674	8308
+-115.561	35.5639	7110
+-78.3882	26.2124	5305
+-94.5639	37.8897	4824
+-116.2709	44.4429	6500
+-114.7906	35.2564	6572
+-120.0458	34.0494	6505
+-116.2593	34.6018	8326
+-118.2379	46.099	9213
+-87.7459	34.6752	6268
+-114.5272	45.8463	5273
+-117.1549	30.4972	7157
+-79.9728	29.6713	6634
+-117.2584	32.5664	9324
+-116.7677	33.2322	9239
+-123.724	48.7695	7428
+-84.3545	24.5939	5511
+-117.0368	48.7436	6165
+-117.0068	35.4763	8046
+-109.6307	30.1854	7778
+-91.6717	43.0732	4562
+-116.3255	45.6395	7131
+-118.6731	47.0763	8147
+-90.1309	37.3632	8246
+-116.2709	46.7047	7035
+-122.2141	47.3992	8715
+-86.7701	38.197	7496
+-118.3396	44.4246	7485
+-115.4873	48.9057	5065
+-119.6612	47.5893	7112
+-117.183	33.4098	9048
+-87.3693	36.2842	7609
+-91.9019	38.2326	7695
+-88.0223	37.0919	8760
+-86.0406	36.7782	6597
+-118.1459	34.5123	8493
+-117.6349	35.0417	8469
+-91.4736	40.322	7362
+-125.5375	49.0146	5938
+-90.0859	40.0541	7983
+-122.3306	43.6952	5958
+-81.6673	29.5174	7843
+-87.8712	40.3844	6602
+-125.0267	49.2039	6215
+-88.0854	37.1993	8888
+-84.0176	30.0119	6576
+-121.2247	44.0225	5885
+-89.3599	38.6964	8320
+-81.05	26.7837	8238
+-113.6358	29.3483	5153
+-115.4676	32.0737	7887
+-91.3076	38.154	8239
+-91.9855	39.2974	7599
+-123.6349	46.6198	8713
+-80.6424	27.3929	8154
+-110.3489	30.07	7834
+-126.2703	47.5571	5847
+-116.257	42.621	4997
+-84.1001	29.0557	7232
+-90.7248	37.2741	7792
+-111.7738	30.3532	7421
+-84.9169	31.532	4595
+-111.9693	31.5471	7701
+-91.7475	34.7884	5164
+-87.6907	39.9699	6961
+-118.6112	48.2163	6992
+-118.5475	32.7403	7987
+-84.6513	30.1089	6002
+-88.9483	37.3931	9447
+-115.8556	33.717	8158
+-116.6504	37.0543	6281
+-88.1136	37.6726	9082
+-111.4071	30.7353	7991
+-84.6189	28.5507	6944
+-83.0036	29.4931	7705
+-113.3091	34.3672	5213
+-125.2864	45.5084	6534
+-114.3927	32.2982	6824
+-117.8159	37.3377	5992
+-114.5449	32.1095	6939
+-88.8942	38.3105	9078
+-81.6358	29.6806	7655
+-125.2185	46.8064	7053
+-89.4794	35.6298	7393
+-110.0799	34.6905	6096
+-92.1745	40.0959	7009
+-118.2682	34.5831	8340
+-116.0214	29.9461	6382
+-92.7331	38.4361	6869
+-119.8112	43.5666	6127
+-106.8487	31.7459	5694
+-83.6568	25.2285	6543
+-90.42	39.685	8416
+-117.6375	33.8374	9020
+-89.6848	37.9902	8722
+-124.8177	46.9534	7499
+-90.6158	38.2708	8850
+-125.6453	44.452	5516
+-88.2575	39.7783	7376
+-113.7447	34.9906	5584
+-83.1126	26.4118	8001
+-80.344	25.7215	6818
+-116.0077	45.8796	6839
+-112.3603	29.9817	6675
+-119.4758	45.625	7901
+-115.504	32.7205	8118
+-118.4583	34.3968	8207
+-94.4681	37.8858	4924
+-122.8133	48.0571	8404
+-124.9651	44.61	6164
+-124.4891	43.038	4950
+-118.6917	45.3971	8400
+-117.7509	36.3161	7099
+-115.496	29.9785	6188
+-84.2959	28.047	7425
+-117.1259	46.2457	8025
+-90.1431	39.2786	8799
+-124.9909	43.4495	5111
+-115.5877	34.1068	7706
+-81.2691	24.9298	6537
+-109.2021	32.7885	7683
+-85.8569	37.1929	6506
+-89.3113	39.6882	7889
+-121.1656	47.2695	7672
+-121.7359	49.5667	6476
+-118.2667	35.2343	7915
+-119.5577	33.4459	6929
+-79.2045	24.3391	4792
+-119.34	45.8369	8107
+-82.4049	29.4106	8007
+-115.1771	33.203	7711
+-89.3384	34.6779	6400
+-92.8255	38.2729	6742
+-116.895	29.9459	6550
+-122.3455	47.3661	8855
+-89.4219	38.7688	8388
+-87.9117	39.0031	8034
+-116.5939	43.8164	6252
+-117.1009	35.283	8271
+-84.0746	38.2276	4511
+-123.0774	44.6833	7090
+-84.5568	28.767	6926
+-93.2001	37.0412	5873
+-82.768	31.1612	5985
+-120.1351	46.596	7230
+-110.1177	28.7899	6438
+-112.8068	33.1744	6287
+-88.7395	39.4951	7479
+-108.6028	29.0613	6160
+-114.0502	37.3595	4568
+-108.3712	30.763	7169
+-112.2683	32.9586	6902
+-117.3251	33.8848	9259
+-109.435	28.6149	6113
+-118.9705	47.3118	7785
+-90.6576	36.089	7051
+-91.8689	39.5181	7622
+-121.4906	49.0297	6861
+-87.3256	35.4966	6892
+-116.6041	31.8299	8580
+-121.2164	46.2298	7587
+-110.2947	32.1119	8899
+-117.1982	32.5682	9374
+-118.2816	31.5643	7727
+-118.8531	28.9171	4921
+-119.2136	44.1508	6973
+-92.6253	39.4596	6890
+-111.1511	33.2827	7430
+-119.2567	46.45	8165
+-112.7947	32.6566	6564
+-91.4116	39.3173	8159
+-115.8783	44.5093	6207
+-118.9176	41.5787	4425
+-115.7585	33.077	8374
+-116.6533	42.5285	5103
+-116.9399	47.2754	7370
+-112.2948	35.3639	4859
+-110.1873	32.902	8036
+-80.8247	28.3771	8259
+-106.8296	32.9671	5392
+-122.2829	47.6722	8576
+-79.8242	27.5343	7267
+-83.8831	25.6881	6819
+-84.7514	29.9083	6066
+-81.9991	28.934	8563
+-118.9728	47.8445	7274
+-124.0501	47.0572	8339
+-115.657	43.9075	5637
+-117.9035	33.9698	8821
+-111.1905	28.3033	5800
+-90.8875	35.4676	6386
+-117.3049	34.9617	8633
+-89.4803	36.2715	8057
+-120.9014	38.5281	3317
+-121.7104	44.9387	7023
+-119.576	44.1171	6754
+-119.0679	36.882	5953
+-127.4417	46.2508	4555
+-89.2281	40.7609	6925
+-86.3971	36.3714	6784
+-90.9811	40.5279	7403
+-83.2356	25.6198	7162
+-91.3484	38.0162	8118
+-112.3091	35.6949	4531
+-119.5699	47.7002	7086
+-91.78	35.9634	6065
+-88.4404	37.9972	9293
+-81.5718	24.7398	6410
+-90.629	34.4061	5601
+-117.8016	31.0485	7572
+-121.4822	46.254	7863
+-117.756	35.2333	8225
+-110.5468	29.8946	7629
+-113.625	33.8749	5843
+-91.6903	39.3411	7878
+-110.2917	30.9678	8805
+-117.489	30.3448	6935
+-115.7963	32.7911	8447
+-118.6944	43.4477	6418
+-82.0855	27.0502	9080
+-116.8682	44.8598	7268
+-125.0521	42.3632	4023
+-93.574	36.7794	5382
+-120.3691	33.2766	6027
+-117.9108	34.6478	8639
+-116.0302	34.0218	8184
+-105.7752	31.614	4535
+-84.9608	39.4716	5087
+-111.5891	32.7953	7583
+-119.4351	48.3047	6626
+-123.7683	48.5059	7665
+-112.5729	29.0998	5850
+-113.0742	31.5273	6503
+-113.4877	31.3666	6048
+-88.9246	41.5359	6035
+-118.8832	43.4597	6393
+-120.3593	41.8327	4235
+-90.6797	38.4766	8990
+-109.8595	32.0357	8764
+-90.4222	36.5755	7590
+-112.2187	31.9147	7400
+-122.7968	45.7711	8288
+-118.1137	36.3437	6956
+-117.7929	33.5084	8647
+-116.2249	29.0675	5490
+-115.6842	36.082	6800
+-81.8519	28.2006	9307
+-118.5568	33.1681	7780
+-108.8543	31.9261	7829
+-121.0769	46.3828	7503
+-80.5573	27.2147	8003
+-87.217	41.7179	4945
+-114.169	45.9657	4901
+-88.2029	36.3537	8212
+-123.2436	47.1846	9159
+-122.9627	45.4487	7937
+-83.1313	28.0278	8725
+-120.246	46.3082	7170
+-82.8847	29.6963	7550
+-92.2191	41.9371	5460
+-88.7153	35.521	7407
+-88.0227	40.4921	6535
+-82.2769	28.0994	9482
+-118.4698	30.9547	7084
+-118.1409	33.7271	8486
+-116.7513	35.2748	8172
+-88.9195	35.5494	7433
+-84.1268	26.1827	7012
+-109.0578	29.7463	7051
+-109.753	35.3858	5306
+-117.6565	34.4704	8976
+-115.4428	32.4077	7993
+-109.6226	31.4948	8698
+-118.1289	48.1062	7130
+-107.0283	31.4346	5889
+-82.1589	28.5431	9013
+-92.9048	36.4733	5763
+-110.5351	32.8096	8127
+-118.7167	41.0674	3911
+-117.0165	34.5078	9047
+-124.077	46.2425	8088
+-119.538	33.7155	7019
+-82.2753	26.4848	8433
+-114.935	34.6339	6937
+-117.9684	30.6889	7130
+-118.1528	35.1379	8077
+-121.3381	44.7793	6653
+-87.518	41.4468	5183
+-117.7554	32.4497	8783
+-88.6338	38.3775	9003
+-119.7856	33.1942	6605
+-78.4022	29.2094	5367
+-93.0021	37.9806	6482
+-83.4397	26.3568	7718
+-81.3794	27.9709	9009
+-115.0665	45.7408	5833
+-116.7293	31.3445	8090
+-82.635	25.5519	7323
+-122.9034	47.4198	9108
+-90.3455	36.6712	7720
+-89.0276	38.4017	8939
+-119.3007	46.325	8157
+-90.4905	38.1978	8818
+-118.458	30.9342	7074
+-108.3402	32.2136	7209
+-85.5091	37.5504	6156
+-112.1051	29.6401	6624
+-118.9932	32.4222	7450
+-90.1568	37.8476	8421
+-120.2043	47.2102	6911
+-106.9716	33.408	5329
+-120.2538	35.7273	5844
+-117.2256	46.5465	8045
+-119.2335	28.3062	4122
+-113.636	33.7893	5883
+-113.4473	31.0271	6046
+-107.4453	33.857	5491
+-86.00	38.9303	6401
+-81.7883	26.3679	8263
+-90.3757	38.1173	8742
+-88.1925	35.4066	7198
+-118.1522	32.2894	8306
+-110.8051	32.2662	8574
+-83.2811	26.9189	8278
+-88.9455	38.5219	8834
+-120.9381	47.1697	7439
+-88.034	37.8044	8978
+-79.374	31.0471	5043
+-91.4722	42.4516	5266
+-114.506	29.3735	5032
+-109.6535	32.1328	8527
+-123.3272	47.1543	9094
+-119.1437	46.6935	8154
+-91.3907	38.2791	8226
+-92.2241	37.8347	7209
+-123.2048	49.9935	6264
+-82.4068	28.1794	9332
+-122.877	47.1273	9428
+-120.6318	43.6467	5664
+-90.0541	35.0563	6549
+-119.7012	45.0535	7394
+-118.5981	32.0594	7747
+-125.055	48.5439	6672
+-116.5061	49.6919	5016
+-123.1288	46.7402	9253
+-87.8494	34.4318	6042
+-116.7973	47.4393	7142
+-121.8154	45.096	7231
+-118.421	32.5912	8111
+-118.6638	48.6228	6558
+-118.4188	49.6164	5534
+-121.9594	45.7619	7927
+-109.4298	28.19	5669
+-117.0011	36.3267	7128
+-112.0613	31.8563	7578
+-110.3864	31.8132	9218
+-90.3222	36.6405	7724
+-118.5865	45.3632	8417
+-108.5983	32.2857	7446
+-114.3995	33.4961	6791
+-84.1161	30.7972	5795
+-114.6428	34.7875	6588
+-89.2984	32.6473	4150
+-116.3351	32.233	8794
+-120.1745	33.9779	6361
+-118.2252	34.5744	8387
+-123.3949	47.8498	8494
+-88.0512	36.9581	8685
+-82.0757	26.9989	9021
+-116.6667	35.7772	7629
+-115.1487	45.6933	5913
+-118.3808	32.8323	8175
+-121.8817	47.9711	8035
+-87.8104	39.0354	7940
+-116.3114	31.1815	7788
+-112.018	32.2728	7501
+-90.0893	39.0365	8982
+-118.066	32.5727	8497
+-89.6264	37.5482	8841
+-118.5312	47.0865	8183
+-109.9199	31.9121	8901
+-89.7566	38.6842	8745
+-115.5502	34.9266	7475
+-90.8283	35.9406	6797
+-118.8395	34.7759	7685
+-116.855	44.3351	6856
+-117.5547	45.7826	8419
+-122.7582	49.2878	7051
+-87.6104	42.944	4005
+-90.4508	40.3273	7723
+-91.7971	38.3023	7826
+-89.6579	37.7601	8809
+-90.225	38.8023	9245
+-115.0752	33.3742	7553
+-116.4101	36.8231	6459
+-121.3593	48.7648	7005
+-109.8962	32.5699	8304
+-119.3183	48.2782	6706
+-109.6545	29.2292	6819
+-86.0486	37.8424	6758
+-116.9211	34.5866	8916
+-120.1342	33.9882	6406
+-118.7098	43.7733	6755
+-119.0996	36.1464	6568
+-107.2465	31.5211	6128
+-114.8699	43.7591	4877
+-119.1135	44.6785	7517
+-122.5004	44.6237	6995
+-115.8472	29.8187	6183
+-118.5181	45.4124	8491
+-107.3922	28.9718	5212
+-110.0674	30.312	8066
+-112.3638	29.7756	6528
+-117.8473	34.0161	8892
+-115.8755	32.2163	8364
+-78.5856	31.134	4359
+-107.8283	29.6244	6028
+-88.7994	35.2423	7094
+-111.3629	28.6906	6147
+-113.348	31.0758	6161
+-120.4959	45.8631	6904
+-116.4394	33.0283	9119
+-124.4623	48.6793	7059
+-117.3809	33.4891	8824
+-115.6083	32.0171	7995
+-119.0721	47.0804	7928
+-123.4608	46.1538	8521
+-121.2535	49.8529	5956
+-83.4353	27.1938	8283
+-108.9424	32.3661	7744
+-90.7543	37.3108	7822
+-120.939	49.9015	5728
+-121.1645	45.7245	7261
+-113.7426	30.0791	5436
+-117.9561	29.36	5742
+-110.5638	31.8918	9056
+-124.4305	47.7157	7734
+-87.5763	37.4057	8447
+-89.8701	35.9172	7494
+-122.7435	43.73	6046
+-118.8392	33.3416	7617
+-119.1991	48.5511	6489
+-116.0333	33.8653	8161
+-116.943	34.2279	9170
+-115.9729	33.8647	8097
+-115.0472	42.7059	4294
+-82.0482	25.8499	7722
+-124.9996	46.2013	7151
+-117.6939	33.7176	8888
+-113.717	33.8952	5934
+-107.6722	29.4598	5785
+-85.5571	35.4222	5419
+-123.871	49.6424	6479
+-116.5909	31.6852	8423
+-87.5699	38.1823	8352
+-115.696	37.5286	5457
+-89.6024	37.1292	8700
+-115.7891	47.8508	6033
+-117.3502	49.6576	5365
+-119.8341	33.0686	6506
+-125.3853	49.8447	5428
+-85.485	34.6568	4817
+-108.0622	31.6971	7010
+-123.7287	48.3985	7789
+-88.45	34.2716	5988
+-89.1974	39.1678	8069
+-114.8659	29.4243	5302
+-118.6503	31.6119	7444
+-111.8064	31.5794	7878
+-88.396	38.3048	8986
+-109.8894	29.8641	7550
+-118.8736	46.6852	8380
+-90.4736	35.1283	6382
+-83.9329	27.4895	7833
+-118.0068	33.3777	8384
+-82.8193	28.4789	8774
+-116.0654	37.8222	5306
+-122.7756	49.0453	7318
+-108.2791	31.0105	7163
+-119.1928	34.5865	7379
+-111.5442	31.267	8118
+-90.7284	35.3676	6423
+-86.1797	39.1334	6477
+-84.7254	28.6622	6790
+-121.4673	35.1933	4812
+-83.5621	32.506	4292
+-90.3621	37.9838	8598
+-92.1706	38.1959	7408
+-115.0283	32.5741	7574
+-91.6802	39.1696	7955
+-122.6671	48.1953	8232
+-86.8762	38.8078	7336
+-86.8535	42.755	3670
+-79.6883	27.5804	7118
+-120.599	43.8896	5870
+-122.1863	49.6573	6548
+-93.6356	37.6166	5712
+-117.1867	46.4136	8053
+-79.8088	28.3892	7170
+-111.3319	31.7397	8378
+-91.5382	38.9864	8154
+-117.574	34.8783	8659
+-119.928	31.5765	6172
+-116.2685	37.2171	6002
+-124.1135	47.7186	8038
+-114.7408	33.9883	6947
+-121.1858	47.8662	7479
+-90.1419	37.3342	8227
+-86.5332	38.1996	7237
+-87.9033	37.0574	8629
+-120.1983	44.2321	6427
+-126.0751	46.5442	6087
+-89.3028	35.9955	7846
+-119.4711	30.3432	5827
+-116.1606	37.515	5657
+-82.7553	31.4621	5653
+-105.1812	31.1447	3871
+-86.2596	38.6399	6796
+-82.9698	28.961	8243
+-80.415	24.759	5974
+-113.5457	32.2987	5908
+-116.7337	38.3816	4867
+-112.2009	26.4383	3543
+-120.1207	33.367	6314
+-122.5955	48.3799	8018
+-109.1567	31.352	8174
+-81.656	25.2037	6943
+-115.969	33.302	8515
+-117.4942	29.6168	6136
+-119.6291	29.7678	5238
+-84.118	27.349	7598
+-116.0033	35.3973	7589
+-116.9493	33.8411	9067
+-117.9401	34.1846	8801
+-117.4916	34.0543	9278
+-111.8386	29.613	6787
+-118.9555	43.4018	6316
+-124.1832	46.5723	8131
+-89.0709	38.0221	9289
+-89.2515	37.1241	8999
+-91.0105	39.4221	8433
+-85.2033	27.2655	6373
+-115.5547	44.4444	5880
+-117.2377	30.8101	7494
+-122.3262	46.6593	8891
+-89.4487	40.0458	7702
+-85.8895	41.2895	4621
+-110.0133	33.4528	7419
+-121.0662	46.224	7433
+-88.1664	35.4146	7200
+-83.2929	27.2542	8458
+-90.1912	38.9815	9100
+-89.8323	41.9675	5906
+-92.2122	37.4899	7030
+-123.2904	48.6903	7664
+-89.5466	38.9267	8503
+-80.6926	26.1493	7442
+-117.29	36.056	7440
+-116.277	31.6357	8228
+-126.2825	44.2782	4859
+-83.4749	27.6775	8371
+-120.8458	42.9188	4934
+-116.728	32.1072	8918
+-115.5492	32.0048	7931
+-116.5085	35.1621	8144
+-92.8495	43.336	3812
+-110.8872	32.0889	8661
+-90.103	40.4877	7527
+-122.6595	47.7162	8741
+-108.6241	32.1008	7539
+-88.3303	39.5665	7626
+-116.4915	31.3706	8055
+-90.1212	41.8137	6110
+-116.4227	34.99	8226
+-118.8842	33.9212	7758
+-119.6003	47.0546	7538
+-85.1835	29.0807	6135
+-87.5752	37.4736	8460
+-89.3049	41.0042	6731
+-120.3913	46.3028	7018
+-92.7181	39.5984	6747
+-88.3212	36.8361	8758
+-81.8609	27.6136	9539
+-88.7728	37.2859	9388
+-119.6179	33.7164	6933
+-113.876	31.4997	6006
+-123.2808	43.4569	5728
+-112.7581	34.1776	5626
+-119.7883	46.8585	7476
+-116.2353	29.6567	6135
+-121.0122	49.6053	6042
+-117.2977	35.4273	8126
+-82.0096	27.4937	9553
+-109.8343	31.7342	8909
+-122.8623	49.90	6383
+-112.7959	35.4307	4524
+-81.71	27.8098	9411
+-81.5902	29.7007	7620
+-120.6291	46.9665	7111
+-123.1461	48.2986	8118
+-109.4961	34.9902	5672
+-120.3902	47.2829	6702
+-115.7202	46.9164	6412
+-125.0675	49.0293	6319
+-115.8042	32.117	8240
+-81.9094	28.6242	8890
+-120.6424	33.8254	5840
+-88.2251	37.1429	8970
+-118.3088	33.8336	8355
+-91.0486	35.4327	6231
+-113.4555	34.9017	5297
+-88.5707	35.9455	7871
+-117.0007	31.5908	8385
+-118.3726	49.4891	5670
+-107.5763	34.266	5306
+-109.626	29.6412	7234
+-119.2653	33.9186	7345
+-116.31	46.6473	7092
+-119.9116	29.978	5191
+-111.5067	34.667	5899
+-125.9506	47.1185	6251
+-114.1324	48.8788	3970
+-113.987	33.4776	6349
+-79.4595	28.7576	6666
+-85.2314	26.9767	6275
+-120.9565	47.0827	7467
+-108.4736	34.3243	5885
+-116.7447	32.8844	9494
+-112.9381	46.3042	3595
+-92.3633	37.3084	6785
+-122.3731	31.7707	3611
+-87.8687	39.3622	7661
+-89.5481	40.6225	7214
+-119.9702	45.4239	7336
+-121.6739	46.1188	7968
+-114.5987	30.0864	5722
+-115.3042	30.7616	6805
+-93.4618	39.6812	5958
+-108.7287	30.3581	7286
+-89.198	40.2518	7362
+-121.0742	43.7492	5396
+-83.9908	38.015	4440
+-89.6982	39.5473	8291
+-86.7387	40.1369	6227
+-115.343	43.7185	5253
+-87.3581	36.8062	7963
+-119.1463	47.6436	7388
+-112.4789	31.4636	7145
+-89.3193	36.7276	8593
+-113.4565	31.4182	6085
+-109.9163	35.2781	5445
+-104.8015	33.2989	3198
+-83.4473	26.5679	7880
+-92.6989	38.9625	6918
+-120.1397	35.8973	5860
+-88.4025	35.0189	6816
+-111.7354	28.4957	5800
+-116.3687	33.0283	9045
+-81.9519	25.3679	7171
+-92.3772	38.3862	7240
+-87.4482	36.5214	7855
+-118.4702	45.339	8431
+-118.1531	33.7489	8484
+-90.3149	38.3367	8973
+-118.5773	33.3517	7873
+-93.2027	38.2292	6334
+-109.1125	31.7559	8138
+-109.801	34.842	5896
+-115.7593	33.2981	8303
+-82.9166	29.1022	8141
+-113.9296	31.8701	6205
+-116.9039	33.4257	9070
+-119.468	35.3815	6777
+-80.0437	25.9942	6792
+-79.2282	30.5737	5322
+-112.4467	33.6556	6267
+-118.6605	34.9397	7781
+-123.9207	47.3775	8397
+-125.6144	44.0929	5263
+-108.2724	32.3499	7091
+-123.3931	49.3596	6922
+-116.9761	49.8881	5016
+-117.0149	37.5161	5838
+-119.0751	37.5035	5366
+-117.3693	48.026	7003
+-116.3526	42.0176	4478
+-89.7774	39.5851	8312
+-85.1524	26.5059	6191
+-117.0771	48.7857	6142
+-84.5146	30.1977	6042
+-110.042	33.0786	7823
+-109.0153	35.0541	5451
+-109.6069	30.2187	7799
+-89.5004	37.5432	8980
+-115.2466	35.1444	7074
+-114.8014	35.796	6294
+-90.4528	39.2602	8869
+-106.2292	31.3765	5021
+-117.7627	34.0805	8994
+-90.5211	37.5367	8108
+-88.8049	38.5069	8870
+-87.382	38.5773	7954
+-108.0105	28.5171	5306
+-110.3609	31.8946	9135
+-111.2379	30.6368	8055
+-87.5777	40.4641	6402
+-85.1118	27.1911	6460
+-89.2232	41.4434	6263
+-111.5492	32.1054	8040
+-88.9266	35.4961	7373
+-86.5288	37.0096	7197
+-91.4411	36.5911	6833
+-81.9967	26.7745	8759
+-109.6836	31.1332	8617
+-114.6697	31.5741	6840
+-112.8209	33.6252	5987
+-111.8701	29.7155	6853
+-116.4837	34.5814	8554
+-81.8785	29.0779	8381
+-91.0603	37.8709	8228
+-116.0424	30.9701	7450
+-117.7299	35.1103	8358
+-123.574	46.0713	8375
+-110.0975	29.3902	7084
+-115.7596	35.6756	7186
+-92.1149	35.8846	5816
+-89.5212	37.1264	8774
+-85.4432	28.5889	6034
+-123.9535	47.3899	8359
+-86.8867	38.0937	7651
+-90.2746	41.9634	5959
+-86.4241	38.3172	7086
+-88.9067	35.5729	7460
+-109.167	30.4907	7742
+-90.7487	43.7171	4056
+-111.2452	35.1642	5470
+-123.8541	45.321	7516
+-90.7346	35.2403	6309
+-115.8339	34.2163	7972
+-83.2594	27.2881	8508
+-110.848	28.8747	6486
+-122.607	46.4184	8923
+-120.2499	35.548	5936
+-89.2103	36.8787	8801
+-122.3047	49.2234	7042
+-121.5591	47.9201	7799
+-115.8224	32.7088	8471
+-123.7995	44.8818	7112
+-123.3581	45.4814	7899
+-112.9535	31.1992	6604
+-115.3925	35.302	7129
+-87.6416	39.7189	7187
+-123.5407	44.4336	6736
+-110.6602	31.4652	9097
+-118.9449	33.5172	7588
+-122.6886	45.235	7690
+-84.7182	25.6808	6135
+-89.7023	40.2518	7647
+-107.7509	30.7249	6525
+-114.6761	35.6848	6244
+-122.5077	49.1305	7190
+-117.743	32.1572	8617
+-118.5089	35.2445	7720
+-88.1103	37.919	9026
+-120.3677	45.999	7050
+-115.3388	45.1114	5971
+-83.1024	29.0551	8068
+-89.5942	36.4874	8199
+-121.5075	46.8687	8073
+-81.8228	27.4394	9382
+-114.1506	40.3375	1965
+-117.5694	31.4108	8047
+-81.4321	24.5327	6149
+-118.8694	48.2001	6951
+-86.5104	36.2674	6835
+-88.7654	40.986	6450
+-117.5294	34.5985	8955
+-112.9451	29.7824	6036
+-108.654	33.2919	6878
+-85.5138	38.9157	5904
+-115.607	33.7451	7916
+-79.4576	25.141	5651
+-84.1177	27.3035	7587
+-108.3294	33.599	6394
+-111.8675	34.9171	5497
+-118.295	32.2163	8127
+-114.4758	34.1579	6493
+-90.8947	39.2801	8630
+-83.4252	27.8302	8429
+-114.7064	34.3581	6734
+-89.8832	37.0845	8402
+-91.6943	39.6737	7696
+-114.702	31.4425	6798
+-84.8598	30.0836	5844
+-89.6766	39.7624	8094
+-121.5953	45.9902	7816
+-124.1653	46.7591	8198
+-90.8895	40.1223	7848
+-91.1779	36.4138	6765
+-111.6998	27.7114	5025
+-88.3714	35.9391	7827
+-119.2994	43.9496	6742
+-115.9995	34.9785	7876
+-110.6034	32.0987	8843
+-83.0398	28.5241	8556
+-80.1801	24.9524	6017
+-90.4039	40.904	7103
+-90.6475	39.125	8930
+-108.1699	27.6686	4628
+-120.0724	44.8601	6955
+-110.2667	32.7101	8251
+-119.0863	48.4827	6598
+-115.9325	31.1288	7545
+-118.1529	44.9072	7990
+-116.2632	46.3431	7106
+-122.7038	45.4642	7942
+-119.8989	47.6357	6900
+-83.5079	28.6406	8050
+-115.6474	35.0048	7532
+-112.0234	31.2258	7602
+-108.7325	30.9057	7590
+-124.8057	44.7409	6387
+-119.609	45.0835	7491
+-90.6265	36.4747	7336
+-118.3893	32.1504	8001
+-113.0146	48.8885	2947
+-121.2414	44.1196	5986
+-88.3426	35.1998	7006
+-112.6555	32.5563	6746
+-81.5585	28.6739	8677
+-117.0923	31.3486	8109
+-116.4044	47.0539	7029
+-90.4446	34.7819	6070
+-113.4722	34.7429	5346
+-91.2044	39.8903	7910
+-87.8668	39.9232	7088
+-117.0583	44.6728	7269
+-91.041	39.3883	8437
+-119.5735	47.1404	7505
+-91.5019	40.2209	7433
+-116.5071	42.8169	5307
+-116.0769	36.0925	7038
+-114.3457	46.0362	5090
+-120.1984	46.9882	7025
+-111.3127	34.7506	5882
+-122.3504	46.7924	8973
+-110.4523	32.837	8109
+-90.008	36.6785	8035
+-112.9616	32.3778	6499
+-117.2794	32.0817	8862
+-83.0371	27.0808	8609
+-116.389	32.5506	9044
+-86.3085	28.5842	5079
+-80.5992	28.3405	8039
+-121.7289	47.7866	8036
+-116.7035	34.0287	8913
+-119.8472	44.0726	6549
+-118.975	35.1627	7362
+-110.68	33.2977	7578
+-79.7587	27.0996	7102
+-78.3969	25.5793	4994
+-107.3099	33.3634	5672
+-116.2338	33.0361	8900
+-118.8228	35.4062	7345
+-119.5398	43.8921	6570
+-85.5364	35.7319	5589
+-82.6274	26.3673	8214
+-107.60	30.2586	6183
+-116.9441	29.2728	5800
+-117.781	49.9289	5171
+-89.1003	40.1796	7354
+-115.6671	35.033	7536
+-117.9162	33.7689	8725
+-124.2562	46.3318	7961
+-115.6588	38.4596	4503
+-87.2693	33.5372	4885
+-119.5909	48.7624	6119
+-113.1671	30.1298	6023
+-117.5601	33.7273	8991
+-123.9672	48.2597	7764
+-91.2805	40.3818	7417
+-89.4522	36.108	7904
+-93.0869	38.1102	6430
+-114.9837	35.6806	6530
+-123.4139	48.30	8036
+-120.6772	45.3653	6608
+-117.9038	45.8686	8790
+-116.8849	32.5644	9457
+-123.2438	44.5683	6944
+-112.4239	28.154	5122
+-117.0357	35.3174	8222
+-85.958	36.6193	6451
+-82.1611	26.7149	8702
+-116.2628	39.1695	3936
+-80.9994	28.6573	8261
+-126.8315	47.1164	5284
+-122.4884	49.5462	6736
+-116.9802	33.849	9098
+-125.5182	47.1468	6723
+-90.9996	33.8958	4896
+-93.4486	35.8175	4852
+-116.4602	31.1989	7862
+-92.7097	34.905	4581
+-118.5139	29.3706	5539
+-92.0933	42.9692	4517
+-120.3297	32.4467	5979
+-120.5354	30.636	5088
+-88.2506	38.7007	8517
+-111.1692	29.4008	6941
+-123.3393	46.1996	8635
+-115.3382	44.3369	5625
+-113.0701	34.5874	5071
+-81.3647	27.8988	9010
+-89.7847	40.3018	7632
+-117.298	41.3273	4099
+-89.2546	37.3955	9189
+-84.9727	27.3331	6643
+-114.1651	38.1922	3966
+-122.7711	47.9378	8530
+-121.8688	42.9565	5057
+-119.9675	36.0159	5947
+-117.5733	36.8185	6590
+-118.1433	32.1585	8249
+-118.7086	46.9349	8268
+-119.6717	45.0572	7422
+-82.6186	27.3102	9139
+-89.3482	34.0673	5723
+-109.5027	31.0848	8424
+-84.9811	39.5926	5047
+-90.6644	40.4003	7620
+-111.3593	31.6762	8357
+-92.8447	36.743	6001
+-121.7095	43.8719	5963
+-90.7483	38.1668	8683
+-89.7258	36.6883	8278
+-82.4161	30.4681	6819
+-117.0966	37.0423	6359
+-124.7017	45.4195	6997
+-91.0623	38.4115	8607
+-122.9563	46.6232	9224
+-121.5758	48.1169	7679
+-120.3832	35.4829	5833
+-90.8827	35.6011	6496
+-116.7516	35.6619	7778
+-117.9812	37.181	6123
+-113.0201	32.1215	6505
+-125.414	47.001	6844
+-126.27	46.8181	5900
+-109.9968	31.7005	9088
+-114.7568	35.2579	6538
+-119.1271	42.5854	5433
+-113.4832	34.5604	5385
+-115.9709	31.2372	7670
+-82.0177	27.8807	9709
+-92.144	37.657	7191
+-117.748	32.318	8719
+-81.783	24.1049	5731
+-91.3762	44.242	3409
+-118.3139	46.6487	8679
+-112.6019	29.2532	5950
+-92.2621	37.669	7088
+-91.6367	36.9915	7097
+-91.899	37.0309	6954
+-118.2947	47.9689	7281
+-125.845	44.427	5334
+-118.1109	35.7336	7564
+-124.6708	46.7522	7646
+-90.7377	37.4766	8000
+-116.1034	33.2505	8675
+-117.7205	34.4645	8925
+-83.1681	27.0309	8456
+-88.7289	37.668	9773
+-115.7727	35.0304	7637
+-92.2353	38.1608	7330
+-88.4174	36.4466	8391
+-120.452	38.9618	3228
+-124.125	49.5789	6436
+-125.6391	45.2529	6057
+-119.2419	36.4426	6223
+-114.8213	36.9857	5440
+-117.8367	32.4119	8682
+-115.9642	34.6583	8006
+-93.9925	36.7251	4964
+-122.6157	45.4757	7939
+-121.7508	32.8095	4438
+-118.0138	29.8784	6274
+-114.2991	34.997	6167
+-82.4596	26.9765	8925
+-117.3756	47.5216	7474
+-90.0878	41.2601	6700
+-89.7022	38.5099	8646
+-114.6768	31.2621	6666
+-114.395	32.4325	6853
+-120.2037	33.5907	6280
+-84.8415	28.79	6617
+-119.8485	30.1204	5351
+-120.3306	47.2451	6776
+-90.6354	39.579	8490
+-85.9528	35.7423	5989
+-115.5927	34.7223	7602
+-90.7344	33.5802	4724
+-85.0519	28.7439	6410
+-116.3127	32.9058	9017
+-82.8818	27.7597	9046
+-108.7913	36.5812	3807
+-89.507	38.5613	8458
+-117.3407	47.8652	7141
+-115.918	49.2966	5049
+-116.8799	48.0656	6703
+-80.7559	31.0299	5885
+-116.0921	44.6422	6473
+-114.1418	34.9781	6007
+-82.7283	24.929	6612
+-117.5767	34.8598	8676
+-80.9518	27.3174	8462
+-115.16	45.557	5903
+-117.6416	31.0494	7643
+-116.2798	34.6022	8346
+-112.5645	32.8667	6685
+-110.836	31.5965	8929
+-119.7221	45.1392	7428
+-88.9974	34.2235	5942
+-118.5259	45.5136	8588
+-82.3039	26.1164	8016
+-85.5733	39.2933	5792
+-89.0765	37.2076	9194
+-92.6262	38.6021	7002
+-85.7135	34.1026	4548
+-123.3174	48.9227	7409
+-111.6912	30.8897	7821
+-118.8973	45.6735	8469
+-117.1032	37.5234	5836
+-90.3268	38.8358	9314
+-119.7693	46.845	7500
+-118.6468	31.8753	7605
+-120.121	36.0623	5780
+-110.371	31.3486	9216
+-108.6733	31.4015	7664
+-123.2996	47.4872	8885
+-83.6343	31.9118	4905
+-85.5617	27.2011	5961
+-107.3691	30.7595	6140
+-118.219	34.6588	8351
+-89.0748	38.2537	9070
+-93.5364	40.7882	5378
+-114.9497	46.0563	5730
+-84.2282	28.7454	7276
+-84.8722	39.921	4764
+-87.7911	39.6315	7352
+-117.228	30.1152	6726
+-87.3782	41.5175	5021
+-107.9999	32.643	6697
+-87.5863	38.872	7921
+-114.2155	32.7026	6682
+-89.7412	36.6393	8226
+-126.5798	46.2372	5485
+-90.1415	37.0464	8122
+-114.8634	31.7013	7097
+-80.5176	29.8543	6906
+-111.3593	31.4676	8355
+-105.1413	32.3814	3782
+-122.5672	47.4363	8974
+-89.587	36.2041	7933
+-113.4394	34.5228	5342
+-111.2252	29.9582	7465
+-78.3595	27.9388	5618
+-113.8377	31.7802	6076
+-83.7112	40.3989	3364
+-117.6047	44.2434	7167
+-92.1675	37.2596	6919
+-118.9698	34.3193	7669
+-118.0802	36.2882	7025
+-109.8635	28.3741	5959
+-89.164	35.6212	7477
+-124.1336	49.2578	6747
+-121.6922	45.0289	7098
+-123.0949	45.9232	8440
+-120.5117	44.8904	6575
+-89.67	38.1771	8438
+-110.5377	32.1374	8834
+-88.2615	33.7664	5401
+-123.3125	48.1228	8258
+-92.2834	37.6185	7041
+-89.2634	39.6397	7883
+-110.6673	31.0782	8817
+-118.9244	45.1811	8074
+-116.3471	33.0377	9019
+-120.4484	35.8838	5577
+-121.1636	46.6074	7658
+-110.8716	27.4234	4929
+-88.8792	38.6742	8676
+-115.2679	35.4235	6943
+-121.1076	44.8771	6582
+-80.3814	30.245	6459
+-125.1498	45.3401	6556
+-121.3172	45.662	7353
+-118.7824	48.7515	6403
+-122.297	32.238	3772
+-87.1631	39.4127	7153
+-118.0906	36.3407	6968
+-86.9531	38.222	7686
+-109.4396	31.8327	8468
+-124.7236	46.3563	7493
+-90.8392	41.0424	6905
+-109.7758	33.563	7245
+-116.3337	48.8036	5730
+-78.653	27.7133	5955
+-91.2205	37.705	7981
+-117.8045	36.2319	7175
+-94.1122	41.8283	4213
+-115.2701	35.2609	7037
+-87.1255	29.4296	3939
+-120.2557	49.9783	5203
+-93.3834	39.2415	6148
+-86.6614	37.5982	7451
+-113.2965	32.5045	6111
+-116.7626	45.4924	7526
+-113.4936	32.3712	5945
+-89.0088	40.4409	7076
+-93.359	41.1633	5295
+-119.2745	31.5573	6820
+-80.3277	26.257	7230
+-90.9425	37.645	8089
+-108.4007	30.215	6908
+-119.434	36.7944	5794
+-112.7461	32.8978	6497
+-122.0626	47.7664	8334
+-122.7512	46.2378	8789
+-126.4091	46.0951	5634
+-116.8766	33.051	9473
+-90.8668	36.4593	6901
+-118.5231	46.7524	8524
+-94.3632	36.3658	4424
+-89.0081	36.2901	8247
+-88.3074	37.0328	8937
+-86.104	44.1048	2036
+-120.7679	47.8336	7078
+-92.2746	36.6901	6410
+-119.3036	35.7847	6677
+-124.5119	41.8076	3668
+-92.3821	36.1654	5903
+-122.7814	47.8741	8601
+-120.4826	32.1682	5765
+-113.9991	32.5734	6432
+-108.2048	32.18	7079
+-123.7766	46.281	8384
+-81.6259	28.3961	8978
+-115.1899	32.7034	7767
+-122.1211	47.6568	8463
+-126.3195	49.4163	4985
+-119.0508	47.2988	7753
+-116.5896	40.9096	3478
+-121.6337	46.4598	8108
+-116.4945	31.1948	7869
+-111.5463	35.2234	5316
+-93.9992	41.0585	4800
+-84.5204	28.2603	7135
+-122.7544	42.6367	4847
+-121.6172	44.3688	6423
+-118.1395	32.7275	8441
+-115.9491	36.2734	6796
+-115.5017	33.0094	8105
+-116.1809	37.7725	5395
+-113.9988	35.3243	5744
+-116.4524	43.2742	5694
+-114.7741	43.948	4901
+-117.8032	47.2542	7937
+-120.4976	45.6027	6857
+-122.2764	45.9767	8321
+-113.8104	35.9918	5257
+-89.1152	37.0514	9022
+-116.0637	29.6013	6028
+-94.8511	38.0935	4557
+-114.5317	32.8153	7037
+-91.1728	38.4651	8520
+-116.5388	33.5337	8821
+-118.7825	32.7825	7727
+-115.817	36.8777	6152
+-87.7836	38.1288	8595
+-89.4738	38.9082	8429
+-117.6661	32.2219	8729
+-84.1623	27.5195	7580
+-90.2203	36.6873	7848
+-86.0177	30.431	4563
+-118.8137	48.0853	7084
+-111.9396	31.5594	7733
+-106.8604	30.3587	5484
+-120.7276	46.1213	7045
+-119.4254	46.9271	7767
+-115.0297	49.5293	4254
+-89.1132	37.3543	9292
+-115.1518	30.36	6346
+-83.3194	31.8362	5097
+-107.404	28.6553	4986
+-90.7254	38.5936	9019
+-82.4346	26.52	8442
+-118.4471	34.2273	8246
+-111.7115	29.4235	6698
+-115.4408	32.9115	8048
+-85.1498	35.7495	5220
+-117.348	34.8249	8778
+-124.4581	46.3481	7764
+-89.724	34.8944	6524
+-116.8428	35.8202	7641
+-110.6203	35.1834	5561
+-116.3603	46.076	7224
+-84.4795	28.1863	7196
+-117.679	47.2498	7885
+-81.1059	28.5938	8400
+-81.7295	29.3403	8054
+-84.5269	26.4524	6803
+-121.793	45.078	7201
+-108.8057	31.0396	7717
+-117.0803	32.9056	9592
+-82.7827	25.583	7315
+-116.4853	46.8893	7181
+-88.7809	38.0087	9430
+-124.2652	46.3783	7973
+-90.7529	33.6708	4807
+-110.9151	31.2843	8765
+-89.0072	36.1805	8126
+-108.6872	28.7108	5887
+-117.3328	33.4891	8831
+-89.3456	39.7134	7898
+-89.5811	37.9548	8845
+-86.2627	42.1979	4003
+-115.6101	40.6969	2876
+-123.3909	45.7793	8195
+-116.3789	35.0178	8171
+-88.2518	39.7133	7445
+-80.6059	29.2412	7490
+-83.0891	26.3283	7939
+-110.1435	28.7933	6444
+-86.9003	34.6536	5837
+-121.166	35.1449	5143
+-92.7846	40.0649	6474
+-91.8515	40.4617	6994
+-111.5773	29.65	6983
+-115.041	32.0086	7424
+-110.2672	32.3518	8638
+-110.6298	31.6429	9146
+-90.1923	36.7051	7885
+-115.5156	31.2848	7399
+-91.5772	38.7911	8137
+-87.8393	39.9711	7026
+-110.9596	31.4967	8789
+-117.9434	32.5156	8613
+-119.9346	31.4258	6097
+-87.3498	38.8016	7777
+-85.3175	36.5276	5738
+-95.9009	37.4544	3316
+-107.0931	29.3353	5201
+-82.5319	27.3237	9218
+-116.7116	48.8068	5946
+-91.3791	41.8851	5879
+-113.4041	31.4557	6144
+-118.8302	32.5156	7647
+-116.2894	30.145	6679
+-87.6235	40.0589	6838
+-108.9613	33.0731	7279
+-117.4694	46.4216	8334
+-82.5516	27.4919	9326
+-125.2961	47.9953	6741
+-114.4051	33.3721	6829
+-117.2696	31.2423	7965
+-86.9419	36.7693	7533
+-113.021	27.0894	3800
+-82.4248	30.1618	7163
+-119.3327	29.8267	5500
+-108.5584	32.3336	7386
+-115.313	34.0085	7402
+-110.1406	32.9257	8004
+-126.3944	47.7345	5676
+-121.6174	48.1246	7708
+-82.3814	28.9968	8473
+-86.0484	38.1862	6709
+-118.6039	35.0546	7766
+-117.0614	33.5126	8825
+-111.1559	32.7607	7917
+-120.9268	44.1589	5787
+-83.8568	27.1861	7835
+-119.0262	47.3995	7675
+-118.3806	32.5434	8147
+-116.5737	48.2939	6315
+-90.176	40.2604	7781
+-119.2779	42.927	5739
+-119.2464	30.0812	5781
+-79.7917	26.2334	6726
+-117.8914	34.8694	8485
+-93.7608	37.7059	5614
+-118.1234	35.3652	7901
+-91.7164	40.3582	7173
+-110.0195	29.0148	6670
+-116.9905	34.8849	8664
+-86.9262	35.9181	6966
+-112.5366	30.2214	6667
+-117.6951	33.2649	8799
+-116.1058	32.4291	8700
+-90.771	39.258	8736
+-110.3659	27.2568	4786
+-89.3659	37.6271	9141
+-124.1784	44.0884	6146
+-88.5931	41.4594	5924
+-116.3776	46.8243	7101
+-81.9445	30.7931	6462
+-81.0286	29.2221	7825
+-120.4204	34.3105	6092
+-118.645	36.2389	6793
+-118.5349	33.0712	7981
+-124.0421	44.7275	6845
+-88.2057	38.7919	8403
+-115.8201	35.1302	7622
+-122.2641	44.3149	6610
+-79.9286	27.6432	7394
+-105.8789	29.9426	4330
+-89.196	37.3101	9189
+-89.3482	37.0964	8901
+-80.8452	27.3978	8377
+-123.8601	45.0011	7203
+-112.9596	30.5391	6411
+-89.0597	36.5653	8537
+-88.8543	35.3731	7239
+-119.1317	32.9514	7333
+-121.8073	47.8739	8046
+-87.9932	39.2614	7825
+-80.0099	28.3246	7409
+-116.4812	35.5901	7733
+-117.1517	31.3739	8130
+-79.6112	28.4626	6932
+-118.2033	49.2387	5935
+-93.7317	37.2911	5488
+-116.2797	35.6514	7563
+-92.3629	35.789	5585
+-117.7149	46.8961	8225
+-120.9449	45.8338	7124
+-108.9303	32.9197	7374
+-117.4534	33.5485	8868
+-124.1281	44.876	6942
+-114.0349	29.6446	4946
+-119.1246	47.7519	7297
+-125.2776	43.0624	4584
+-116.2574	34.776	8233
+-118.2879	34.0608	8421
+-110.0528	29.9944	7725
+-115.9137	34.631	7965
+-92.8476	33.7467	3413
+-108.8622	32.0259	7809
+-116.6653	36.5435	6828
+-112.2732	30.5655	7100
+-87.1303	38.4223	7792
+-86.3719	41.0174	5191
+-120.4659	31.129	5420
+-115.9216	34.8483	7876
+-118.2097	31.2974	7563
+-111.1619	32.6579	8003
+-87.674	42.0816	4796
+-119.6767	31.3147	6297
+-92.0254	40.0636	7158
+-116.7848	32.2909	9132
+-80.0485	28.4765	7401
+-83.9118	35.4171	3809
+-125.6916	43.585	4789
+-117.8608	37.1967	6134
+-117.0331	34.8131	8754
+-89.7326	39.2136	8563
+-108.4057	34.4422	5738
+-91.3439	39.24	8262
+-88.5225	36.8749	8886
+-121.4834	44.1462	6139
+-88.7117	35.5113	7396
+-79.3993	30.2608	5706
+-92.006	37.7044	7344
+-76.4882	24.0547	2249
+-119.836	45.5609	7520
+-118.6755	44.8571	7880
+-88.5875	36.474	8462
+-88.9873	38.5999	8738
+-119.8075	46.4516	7604
+-84.4848	28.859	6959
+-111.3009	32.1473	8260
+-121.7836	48.1498	7819
+-85.7067	39.9869	5504
+-80.537	30.5371	6275
+-118.9915	45.7251	8412
+-112.5325	31.042	7020
+-118.2949	47.1208	8179
+-110.019	32.2921	8633
+-119.963	30.0435	5199
+-80.7986	29.3667	7535
+-110.1193	31.3066	9095
+-90.025	37.4522	8382
+-87.9313	38.3085	8632
+-116.4567	44.7129	6831
+-115.6706	46.3001	6485
+-122.7176	46.3066	8854
+-87.8903	35.2793	6961
+-84.5084	30.5545	5749
+-81.3487	26.0287	7735
+-88.988	37.5001	9505
+-117.2756	46.6819	8028
+-117.0568	34.4698	9105
+-117.9931	46.8469	8412
+-85.3036	39.5713	5378
+-118.0348	33.2657	8460
+-89.5282	40.571	7256
+-81.1866	25.9143	7539
+-90.2109	38.8924	9183
+-123.2912	44.9983	7401
+-86.9287	39.0849	7209
+-93.1964	38.6033	6388
+-116.9654	36.6093	6817
+-83.6165	26.3216	7550
+-110.8192	32.2511	8579
+-120.7586	48.4058	6772
+-94.8157	35.3653	3413
+-114.0659	30.7782	5798
+-116.2343	36.2132	7005
+-114.9659	35.4582	6642
+-114.0723	44.7894	4590
+-86.9953	38.5589	7588
+-115.6193	44.7669	6106
+-82.9303	25.5528	7231
+-115.478	32.9078	8089
+-85.5806	36.5153	6013
+-82.9448	25.6117	7287
+-80.2374	28.5454	7573
+-116.9248	33.6855	8923
+-117.8053	31.6671	8166
+-82.4335	24.1974	5840
+-120.4991	33.5339	5952
+-84.5592	30.198	6007
+-124.409	48.9917	6832
+-81.6616	24.3586	6000
+-110.7809	32.0587	8766
+-118.9362	42.7111	5605
+-87.7221	37.9659	8595
+-112.7945	30.9261	6714
+-88.9511	36.0185	7954
+-87.0401	36.9577	7720
+-118.8766	33.8359	7752
+-89.7135	40.1601	7742
+-118.1565	45.371	8477
+-89.4675	37.4549	8993
+-87.7987	38.7928	8148
+-87.6773	26.7109	3508
+-90.9998	37.1285	7555
+-116.3053	33.6464	8569
+-114.7396	32.7115	7266
+-81.8015	33.0434	3911
+-88.8564	40.6655	6784
+-113.9688	47.8675	4323
+-116.7419	33.1712	9285
+-91.7164	40.0071	7449
+-119.1186	45.7178	8288
+-109.7178	31.4238	8785
+-93.734	37.3884	5526
+-122.1258	47.8197	8341
+-116.7519	35.0706	8371
+-119.3213	45.8905	8139
+-123.8083	40.0956	1992
+-80.955	26.9904	8296
+-117.0153	36.5576	6879
+-120.7394	36.1726	5145
+-123.4112	48.4651	7867
+-90.2021	36.7159	7883
+-120.29	45.2561	6955
+-115.0282	49.0111	4636
+-125.0588	44.0861	5652
+-124.7556	45.4286	6958
+-116.6838	47.3238	7128
+-90.4197	41.4731	6489
+-120.6863	47.1753	7163
+-88.0164	36.4941	8253
+-118.1714	33.2377	8149
+-118.2247	33.2451	8113
+-83.4418	28.7256	8057
+-93.3084	41.5477	5062
+-116.7249	32.1658	8978
+-114.2589	35.4885	5939
+-109.2664	33.4196	7173
+-90.1867	37.1316	8112
+-112.4931	31.5407	7133
+-90.6322	38.5549	9083
+-115.1556	34.6885	7157
+-109.6978	31.8691	8719
+-90.7586	42.8914	4942
+-119.0228	35.3406	7213
+-81.8439	28.4286	9075
+-89.807	37.8134	8636
+-119.236	37.2969	5473
+-91.4736	40.786	6935
+-118.1446	38.2309	4967
+-88.5858	40.3901	6802
+-80.7736	28.4341	8179
+-87.4675	39.6898	7116
+-118.2644	30.9755	7240
+-87.364	35.4109	6834
+-115.6058	44.7342	6077
+-118.2039	30.223	6548
+-84.7055	28.1851	6944
+-126.9093	49.3114	4503
+-121.7947	46.7211	8362
+-112.2059	35.1255	5132
+-112.6516	30.5455	6722
+-117.5533	32.7103	9088
+-121.4035	32.3879	4781
+-120.2002	48.8971	5960
+-88.2302	36.0691	7924
+-119.2213	44.7103	7485
+-81.7429	27.8572	9439
+-123.0534	45.2951	7762
+-81.2177	29.1009	8062
+-89.2255	37.2025	9083
+-91.2296	40.0019	7796
+-119.1713	49.8546	5174
+-118.8292	40.5515	3356
+-118.6614	46.6107	8588
+-116.1618	36.122	7056
+-83.0472	28.4176	8623
+-118.857	44.6089	7569
+-112.8792	44.5588	3309
+-110.073	33.0145	7897
+-125.2342	45.045	6285
+-116.5224	36.1342	7209
+-118.9979	45.2551	8089
+-122.323	48.486	7821
+-89.0135	36.3396	8301
+-80.701	30.8879	6007
+-108.6756	29.0364	6181
+-91.2899	35.0172	5709
+-119.714	32.8308	6688
+-117.3264	45.8758	8220
+-118.8406	48.9363	6199
+-91.9687	38.2961	7647
+-120.5886	46.0875	6819
+-122.623	47.9127	8523
+-115.5399	30.9022	7090
+-117.9582	44.7492	7789
+-90.2582	38.7683	9288
+-109.3466	26.857	4242
+-115.9147	30.8345	7250
+-83.142	30.9841	6078
+-116.4254	31.6102	8278
+-123.8313	49.2517	6895
+-84.3321	27.324	7355
+-90.3884	39.6174	8489
+-119.8972	45.6937	7498
+-120.7724	45.0129	6384
+-118.0039	36.9132	6401
+-120.0615	45.9062	7366
+-89.5773	41.7209	6106
+-118.14	35.0327	8170
+-117.5586	46.9746	8058
+-110.1128	27.3978	4932
+-120.7071	43.1977	5256
+-87.697	37.3814	8573
+-90.3906	38.5513	9210
+-120.1553	31.3035	5816
+-119.3091	33.6626	7251
+-81.8149	24.7771	6491
+-88.6423	35.914	7843
+-81.4942	28.4891	8801
+-116.7201	45.335	7417
+-110.9718	31.5466	8781
+-88.879	37.775	9639
+-78.0312	29.5892	4814
+-80.1863	30.6909	5918
+-116.4432	44.5773	6731
+-117.6792	35.1221	8369
+-123.7521	47.2302	8626
+-89.6902	39.3892	8408
+-89.689	35.8868	7565
+-89.8816	41.2801	6644
+-115.0064	34.6767	7002
+-124.1196	45.4285	7450
+-87.9561	36.0494	7785
+-118.7016	33.7349	7913
+-81.7778	32.6403	4364
+-82.0611	24.7066	6430
+-90.9653	37.8465	8266
+-123.8094	47.6603	8350
+-114.8717	45.9159	5642
+-118.0761	34.1585	8654
+-116.4249	31.0661	7709
+-115.0122	33.1079	7549
+-118.4747	27.9655	4086
+-81.1053	27.9819	8704
+-111.0545	31.3673	8658
+-122.7431	47.7696	8707
+-79.6325	27.2373	7000
+-120.9474	43.422	5260
+-116.6933	33.2744	9158
+-115.8495	44.7856	6331
+-88.4884	38.9598	8330
+-115.6202	31.3824	7559
+-92.735	34.2926	3992
+-85.5087	26.8364	5931
+-83.8874	26.3899	7370
+-78.8524	25.9506	5650
+-123.7035	46.2926	8454
+-91.7797	36.4472	6522
+-108.2813	32.8359	6869
+-86.7175	34.6336	5707
+-92.1606	35.8525	5761
+-120.0488	32.7131	6313
+-78.0761	25.9415	4859
+-117.2694	45.1849	7814
+-88.0912	39.4161	7709
+-110.4354	32.6554	8307
+-120.8937	46.5945	7364
+-115.3153	37.396	5391
+-117.8246	31.0327	7545
+-113.6735	30.9069	5781
+-117.7329	34.5322	8868
+-119.7348	36.9991	5412
+-89.4482	38.4991	8381
+-115.8918	29.3627	5718
+-118.6588	47.6662	7555
+-115.6764	47.5352	6109
+-84.0167	29.1126	7273
+-115.4452	31.4408	7465
+-88.425	39.1165	8142
+-119.3072	47.8336	7128
+-119.671	49.5789	5294
+-83.6301	30.7492	6117
+-113.9055	31.4261	6003
+-82.7487	25.6841	7436
+-88.934	41.7333	5849
+-90.9556	36.564	6989
+-79.5375	27.4326	6931
+-124.5893	46.6158	7711
+-94.3066	37.648	5032
+-81.8854	26.4531	8380
+-119.9099	34.702	6588
+-119.865	34.7192	6632
+-117.0573	35.9081	7588
+-123.1566	46.4455	8968
+-114.1423	37.4902	4536
+-87.1485	39.941	6681
+-88.868	37.1073	9178
+-85.2074	31.8176	4139
+-117.8223	32.623	8774
+-118.7354	31.0856	6992
+-119.3782	34.3783	7219
+-117.576	35.8943	7588
+-81.6452	26.7133	8579
+-115.664	35.9888	6863
+-111.7134	34.5949	5884
+-91.5756	38.3622	8073
+-115.4709	34.1899	7578
+-83.2723	28.0209	8572
+-117.4258	44.6962	7518
+-114.6267	47.4083	5147
+-91.2578	39.6277	8089
+-116.5825	47.7228	6771
+-119.3088	46.896	7886
+-81.5392	32.3894	4619
+-89.7586	38.5182	8706
+-113.8007	35.6116	5428
+-84.4126	31.0474	5373
+-116.8668	31.8306	8647
+-90.3607	38.6399	9303
+-78.3695	27.5229	5625
+-124.7421	48.681	6842
+-108.9949	27.7289	5053
+-90.5432	41.575	6375
+-116.0172	44.3711	6242
+-118.3395	35.10	7963
+-124.2548	49.8446	6111
+-93.0569	38.5253	6533
+-118.9125	34.7149	7634
+-116.0152	46.1891	6857
+-117.5465	45.1004	7945
+-89.7454	40.9608	6944
+-111.5078	29.4396	6825
+-118.7313	32.0377	7601
+-82.5636	27.5044	9322
+-117.0285	33.6723	8972
+-88.7375	38.5874	8780
+-85.3101	37.7484	5934
+-87.4817	40.5868	6233
+-124.1755	46.6286	8157
+-118.9826	46.5834	8360
+-117.5633	31.4692	8109
+-120.5239	47.0713	6993
+-92.9793	42.0627	4888
+-115.1988	32.5259	7755
+-108.1549	32.5148	6907
+-118.1668	31.7929	7993
+-117.7116	46.7623	8334
+-83.3313	27.3094	8442
+-81.6992	26.9521	8848
+-117.4457	34.3145	9260
+-116.3264	34.3778	8478
+-114.8044	33.5384	7210
+-115.003	32.7908	7562
+-118.7818	46.3801	8655
+-111.2384	28.8976	6403
+-87.4945	38.682	7988
+-107.1305	32.1689	5946
+-82.2903	27.5078	9550
+-113.3556	34.4434	5258
+-93.024	35.2902	4733
+-88.8876	37.2494	9328
+-92.1542	37.0556	6783
+-113.9373	31.0769	5856
+-117.6959	32.6192	8910
+-119.9094	33.7357	6623
+-83.6182	27.739	8212
+-120.375	31.7904	5783
+-82.7329	26.4137	8218
+-112.3887	30.556	6984
+-89.9475	40.4677	7514
+-117.6753	30.5213	7073
+-120.5744	31.5423	5485
+-118.7994	28.264	4279
+-124.6746	49.2197	6455
+-124.3072	48.957	6928
+-116.0228	32.7898	8700
+-117.1047	34.6646	8932
+-118.8247	31.274	7059
+-120.7335	46.3694	7137
+-117.7444	46.0446	8687
+-89.2998	38.0631	9069
+-119.3462	36.1492	6379
+-112.6786	33.8167	5965
+-109.8901	33.708	7122
+-90.5751	41.6343	6309
+-113.9256	34.3888	5883
+-116.8617	33.576	8786
+-121.211	33.1331	5099
+-119.9968	33.602	6504
+-88.6688	37.9604	9467
+-111.1859	30.8762	8273
+-113.7492	35.1087	5556
+-81.7277	26.4575	8342
+-117.6077	34.9868	8535
+-118.4742	32.225	7946
+-91.4577	37.3015	7481
+-109.3179	30.9551	8180
+-114.1127	33.945	6330
+-119.0678	46.1573	8428
+-90.2395	38.0107	8613
+-123.5569	46.978	8884
+-91.046	39.3696	8446
+-116.6652	32.6783	9383
+-83.0637	30.0646	7088
+-121.2234	46.4667	7684
+-115.3186	33.2325	7857
+-118.7028	33.5206	7835
+-123.9187	49.035	7073
+-85.6543	39.3769	5828
+-119.8134	46.2218	7635
+-109.3228	28.2273	5676
+-106.7613	32.7838	5391
+-117.8478	47.4683	7740
+-80.8709	25.3026	6760
+-114.2888	33.1594	6742
+-121.349	45.7499	7440
+-117.3609	33.5531	8897
+-127.6835	48.3208	4144
+-117.2016	44.3318	7065
+-117.6447	33.8896	9047
+-117.6492	32.0076	8572
+-107.7684	26.7949	3588
+-88.8811	37.8366	9584
+-88.8191	39.6799	7463
+-86.8726	37.0837	7591
+-118.5744	45.2842	8343
+-118.1027	47.9841	7256
+-116.9041	33.2345	9281
+-114.6667	26.4974	2234
+-92.5256	36.38	5981
+-88.0128	38.2578	8739
+-90.9949	35.3563	6213
+-78.8736	28.864	6001
+-88.4764	36.3295	8280
+-116.0172	33.4585	8475
+-117.0422	31.9027	8730
+-115.29	31.2229	7173
+-91.5911	41.7955	5893
+-119.091	32.0031	7216
+-117.6405	34.0158	9110
+-119.455	45.8086	7982
+-120.406	47.0926	6779
+-92.98	42.0744	4878
+-85.6491	38.8349	6078
+-83.2191	30.2151	6862
+-83.9519	38.0463	4394
+-81.6426	31.1753	5996
+-79.4383	27.5615	6835
+-76.3248	30.2485	2746
+-125.5329	48.0872	6463
+-124.2739	48.3014	7502
+-89.4639	39.6547	8034
+-123.845	47.8693	8170
+-90.3821	40.8022	7212
+-90.1066	34.1444	5586
+-88.2454	36.7349	8617
+-89.5136	35.96	7725
+-89.1317	40.2305	7335
+-76.8592	29.4337	3634
+-91.3375	34.3365	5093
+-83.3305	26.874	8203
+-85.1106	36.7452	5583
+-117.4675	34.7944	8784
+-89.4869	41.2069	6605
+-79.3578	26.2319	6304
+-80.5537	27.122	7962
+-82.1603	28.2292	9368
+-87.643	37.8795	8531
+-122.1031	34.8874	4198
+-118.496	36.2953	6825
+-81.07	26.139	7693
+-81.1379	25.9338	7533
+-114.185	32.2514	6587
+-109.3954	30.9733	8261
+-83.3145	25.0922	6585
+-88.3835	38.0698	9190
+-115.3055	34.2817	7393
+-87.5716	35.705	7237
+-88.4024	36.3332	8264
+-82.0371	27.5092	9582
+-118.0448	45.4776	8555
+-119.2339	32.9244	7221
+-116.8048	30.7358	7425
+-117.2095	33.8523	9225
+-117.822	30.1354	6614
+-87.3579	38.7991	7786
+-115.2498	33.1375	7805
+-111.7692	31.8039	7900
+-83.0661	30.5659	6554
+-121.0344	47.2741	7529
+-91.6623	37.2193	7274
+-118.3514	45.5833	8709
+-91.1028	42.2623	5560
+-87.4702	38.8339	7856
+-122.1585	34.2635	4200
+-115.7048	33.2274	8273
+-117.4557	32.5055	9106
+-82.5619	27.8016	9406
+-118.1063	46.3341	8950
+-80.503	26.0881	7245
+-90.4709	41.6155	6334
+-86.6003	38.1952	7312
+-122.6435	45.4014	7864
+-108.7615	30.83	7585
+-119.3963	34.2682	7210
+-79.8249	25.5018	6234
+-123.9604	49.4765	6613
+-89.878	37.776	8242
+-108.9519	31.7649	7964
+-92.7548	41.7952	5264
+-89.3606	39.6273	7972
+-115.4293	43.4578	5141
+-116.2977	32.5238	8938
+-82.9384	27.2765	8826
+-83.3639	27.4352	8451
+-88.5466	36.0391	7972
+-116.9668	32.7123	9637
+-111.4149	29.7258	7145
+-83.2904	27.5168	8553
+-79.3765	29.657	6111
+-89.6622	36.142	7831
+-108.1881	34.3918	5645
+-116.7507	48.973	5812
+-118.9751	38.1916	4735
+-111.5883	30.9621	7956
+-110.4383	31.0677	8903
+-110.177	30.7412	8546
+-116.9115	35.1165	8398
+-118.827	45.9324	8658
+-118.8822	32.809	7616
+-113.8177	33.813	6069
+-82.2495	29.1955	8271
+-82.9441	32.0391	4972
+-115.4538	33.5089	7897
+-115.5021	32.728	8116
+-123.3842	47.4064	8888
+-112.3266	31.5817	7314
+-127.4874	43.3636	3198
+-80.5562	27.1732	7986
+-84.2386	24.16	5168
+-88.8522	41.3249	6195
+-117.6841	32.82	8952
+-90.3095	41.4545	6508
+-111.8485	29.2491	6458
+-89.2786	37.4849	9205
+-92.1345	37.9968	7370
+-117.2439	35.0111	8580
+-90.5859	34.7109	5920
+-122.8082	49.1296	7228
+-116.9958	46.7251	7745
+-84.3967	29.0111	6970
+-88.5906	36.888	8920
+-82.5304	28.9562	8474
+-117.7017	35.0038	8476
+-90.5236	36.2179	7259
+-119.9702	46.9735	7249
+-114.6625	34.5583	6660
+-91.9734	34.5854	4824
+-90.0847	41.182	6783
+-110.2135	31.9567	9049
+-108.485	35.259	5016
+-120.7929	43.2103	5207
+-89.465	41.974	5811
+-87.8464	38.2176	8611
+-125.1436	46.3938	7062
+-121.4014	43.7587	5716
+-125.3826	48.5573	6367
+-121.1174	30.8252	4618
+-122.2221	47.1889	8822
+-114.9659	34.8008	6925
+-107.497	35.4906	4242
+-118.7994	46.2175	8700
+-111.3399	31.2538	8326
+-123.9105	48.9711	7140
+-123.3302	47.4006	8935
+-113.4415	34.00	5605
+-80.2013	27.9571	7696
+-88.5696	36.9451	8976
+-115.3801	36.0862	6576
+-117.8428	34.1185	8909
+-109.5261	28.7945	6328
+-91.0289	41.3134	6575
+-121.0969	44.5407	6285
+-117.1214	48.3905	6540
+-117.7475	33.7548	8870
+-123.0905	48.7445	7642
+-119.1073	31.3926	6885
+-91.4566	36.9121	7130
+-120.2398	47.2234	6871
+-123.4543	45.4298	7811
+-89.9554	38.5829	8929
+-90.356	38.9291	9229
+-117.6618	30.2564	6794
+-120.7359	36.6107	4888
+-84.2361	28.3614	7420
+-117.725	32.6699	8891
+-122.1238	45.8074	8074
+-87.8382	36.7192	8327
+-90.2017	40.4955	7533
+-89.9506	39.2778	8689
+-118.215	48.6233	6587
+-124.1988	47.4193	8095
+-89.9612	38.6667	8961
+-91.4983	38.6933	8221
+-90.8897	38.9363	8843
+-119.6822	46.3238	7760
+-108.2466	30.9366	7107
+-81.3191	26.3526	8046
+-120.7667	35.6989	5355
+-85.9395	25.6251	4951
+-89.5286	37.2923	8862
+-123.0156	47.0958	9416
+-91.9811	41.2803	6199
+-121.084	46.9047	7610
+-125.2143	42.813	4382
+-122.031	44.8088	7050
+-120.191	46.4993	7196
+-123.9062	48.6952	7409
+-120.029	43.7302	6143
+-116.5784	34.668	8587
+-118.1435	44.4651	7523
+-87.4348	39.9082	6888
+-119.5398	45.715	7869
+-122.6936	46.9224	9374
+-115.4071	34.4415	7482
+-81.1691	27.2461	8653
+-81.0736	28.6996	8295
+-125.7249	47.9367	6325
+-123.3434	49.1351	7175
+-85.352	29.272	5872
+-118.2146	48.9523	6239
+-112.3816	33.5193	6420
+-119.0931	31.7623	7105
+-80.7565	28.7893	7952
+-80.4799	28.5862	7805
+-81.9065	29.6738	7720
+-110.2128	33.758	7114
+-90.571	37.3662	7919
+-87.164	35.7558	7016
+-115.3685	31.3185	7310
+-80.7788	28.0625	8324
+-90.7582	38.9391	8972
+-118.5522	34.2355	8131
+-122.8789	47.6405	8865
+-90.399	39.0188	9134
+-120.3808	47.6221	6516
+-116.4736	41.9817	4496
+-119.0917	33.9745	7540
+-89.8024	37.4435	8626
+-88.4011	38.4463	8848
+-83.6561	27.7979	8169
+-122.3216	45.4972	7871
+-115.8022	34.6605	7840
+-86.7856	39.1638	7027
+-110.4686	32.40	8577
+-88.9409	39.7696	7520
+-116.6564	31.9555	8732
+-90.0439	37.9645	8502
+-116.6253	30.8838	7564
+-82.5503	28.5254	8913
+-116.3247	35.1445	8030
+-118.6147	35.158	7691
+-117.6048	30.0996	6640
+-121.2218	45.5679	7206
+-121.6198	44.1117	6169
+-93.2663	36.0569	5172
+-111.4173	35.1975	5385
+-113.451	30.5705	5922
+-123.937	49.6821	6413
+-121.6464	33.4667	4705
+-109.9587	31.4379	9038
+-90.4518	39.7377	8357
+-82.8401	26.8089	8546
+-80.8139	27.3392	8323
+-110.7619	31.4079	8972
+-116.1781	48.2944	6040
+-77.9122	30.4088	4258
+-114.995	31.7852	7271
+-113.5512	35.6376	5165
+-79.4361	28.5375	6719
+-116.6258	32.2689	9033
+-110.399	30.354	8140
+-124.2431	43.7231	5749
+-123.0554	46.2701	8822
+-109.056	31.4923	8086
+-88.365	36.0848	7984
+-83.0189	27.8277	8888
+-89.9167	39.0767	8810
+-123.7309	47.7142	8378
+-87.5465	37.1038	8307
+-116.6593	34.1428	8875
+-114.3413	33.1481	6801
+-91.1815	38.2416	8404
+-91.9441	37.4738	7251
+-109.0233	30.448	7595
+-86.7416	42.1693	4273
+-111.6759	31.5533	8019
+-119.3372	48.3762	6604
+-109.4392	30.4924	7945
+-89.6338	39.1055	8530
+-92.6614	39.7643	6736
+-78.1036	24.8461	4262
+-91.8593	39.6243	7575
+-117.6053	34.9754	8548
+-116.7091	33.4045	9037
+-112.145	31.0712	7434
+-123.6821	44.6221	6891
+-116.359	34.8862	8252
+-81.3626	24.3213	5898
+-117.0611	31.4796	8258
+-116.3888	29.4323	5923
+-115.1809	32.5367	7737
+-117.4011	34.661	8944
+-116.7455	29.7811	6358
+-121.9147	47.5291	8360
+-115.8625	37.0076	6048
+-88.1596	38.9882	8182
+-81.8628	25.9409	7804
+-115.2568	32.5175	7817
+-116.546	42.4449	4974
+-112.3986	28.2169	5195
+-88.8766	39.1217	8176
+-81.5317	28.028	9150
+-80.6552	27.3684	8161
+-92.9685	41.8213	5097
+-89.6471	37.7461	8823
+-112.1291	32.1344	7438
+-126.5249	45.4053	5270
+-116.5755	33.9292	8752
+-119.1643	30.9049	6504
+-122.5672	44.6282	7011
+-90.0862	39.5937	8460
+-110.9021	29.1338	6749
+-124.2777	47.0593	8089
+-117.729	45.2601	8195
+-91.651	36.8709	6981
+-123.9545	46.926	8447
+-120.6716	46.7874	7150
+-111.1649	31.4701	8564
+-91.8356	36.6458	6669
+-86.1917	29.5439	4880
+-87.1279	32.7878	4038
+-120.7484	42.8053	4903
+-121.2499	44.5043	6350
+-113.8073	33.3534	6178
+-121.2306	48.2698	7279
+-81.1676	26.6307	8206
+-111.1583	28.5509	6069
+-90.0647	40.3211	7696
+-117.2362	46.6605	8003
+-89.1232	37.7661	9399
+-116.4244	35.0158	8207
+-109.8489	33.5912	7236
+-122.1257	48.8763	7342
+-123.7862	49.0132	7156
+-121.2582	48.384	7223
+-114.7023	34.2851	6736
+-111.0288	30.8897	8409
+-90.3534	35.5176	6817
+-109.883	32.0507	8770
+-82.6542	29.4441	7905
+-80.006	26.2072	6908
+-92.5211	36.795	6302
+-90.4961	40.7816	7231
+-122.8167	48.8311	7556
+-88.444	38.1034	9205
+-88.7507	35.8592	7787
+-114.6878	32.8292	7211
+-110.3739	32.0621	8953
+-87.7858	36.7412	8302
+-86.295	26.9072	5085
+-114.8459	31.4225	6922
+-125.4812	45.1405	6132
+-83.2882	28.2622	8471
+-88.7278	36.7501	8786
+-110.0121	29.0736	6732
+-116.636	36.5309	6834
+-85.7484	35.9453	5915
+-112.7167	29.7762	6233
+-123.8057	49.8864	6248
+-118.0832	37.4508	5811
+-119.6226	44.6331	7157
+-84.0147	29.4549	7033
+-117.0881	31.0827	7814
+-90.0301	36.924	8170
+-110.9443	34.8601	5862
+-126.3309	45.2542	5394
+-83.6975	38.8839	3963
+-121.5433	48.5693	7299
+-89.7377	40.1164	7795
+-107.7836	30.8868	6610
+-90.8201	40.6337	7340
+-116.5521	33.2649	9072
+-118.1184	31.5201	7819
+-127.1484	47.3272	4922
+-107.8358	31.6355	6767
+-90.9577	36.8744	7310
+-118.3588	34.6395	8225
+-116.4987	45.731	7331
+-116.6397	33.2651	9134
+-87.0878	38.6235	7646
+-117.0497	43.2655	5987
+-109.1895	29.2671	6675
+-118.6063	31.6709	7522
+-108.4407	32.7051	7090
+-126.3337	47.5955	5771
+-106.1934	30.5246	4844
+-77.9077	27.4578	5099
+-117.4761	34.4914	9085
+-91.7119	37.1017	7142
+-80.9626	26.7784	8159
+-110.9885	28.7615	6335
+-122.3698	48.1517	8180
+-115.5692	34.1649	7686
+-111.1354	27.8396	5325
+-86.1652	27.1075	5270
+-118.6675	32.7818	7855
+-80.3884	29.5048	7106
+-91.0974	36.0072	6369
+-120.732	33.8801	5748
+-86.6931	38.1927	7414
+-114.3115	36.393	5480
+-117.9562	33.4344	8467
+-124.1764	45.6861	7620
+-121.8574	48.216	7818
+-90.0234	39.8244	8203
+-107.9926	31.2196	6907
+-115.6428	34.9164	7571
+-118.9806	33.9054	7652
+-121.2893	46.0757	7584
+-81.4422	30.6728	6513
+-124.2105	49.7702	6206
+-113.8312	34.3355	5784
+-113.7347	46.7745	4390
+-118.4565	49.1949	5978
+-93.0137	39.648	6429
+-81.7651	28.2276	9225
+-114.4508	29.8994	5456
+-78.6557	28.9164	5748
+-110.1691	29.3504	7048
+-117.819	45.5507	8499
+-107.5338	29.8311	5895
+-121.053	32.8258	5168
+-81.4004	27.4374	8983
+-113.3696	32.3408	6083
+-90.938	33.2965	4338
+-118.3432	33.9371	8344
+-82.2185	30.1211	7227
+-83.4632	27.3923	8329
+-115.9583	43.0534	5202
+-88.3353	39.0954	8139
+-109.6803	34.8713	5842
+-108.5541	32.7816	7149
+-108.0246	32.8931	6598
+-116.8781	36.3281	7107
+-108.5883	30.5702	7287
+-122.5237	48.2681	8118
+-118.0252	31.9487	8226
+-121.5983	47.2196	8149
+-124.7837	48.0653	7210
+-119.1917	45.9495	8285
+-114.4555	35.7399	6006
+-81.26	25.8821	7543
+-117.958	45.8174	8804
+-111.7026	33.4687	6949
+-88.2276	36.4433	8315
+-88.2872	36.4747	8374
+-89.5733	39.1447	8453
+-119.8238	47.6505	6946
+-118.9301	32.161	7444
+-122.1483	49.0267	7197
+-115.3926	33.6777	7752
+-114.9335	33.9299	7167
+-124.3284	48.3277	7439
+-91.7238	42.7417	4886
+-115.5928	33.5799	8000
+-121.4425	47.7929	7765
+-81.1718	26.0548	7671
+-112.9396	28.6688	5237
+-119.0764	35.0723	7314
+-114.8615	36.5395	5827
+-118.8992	35.3763	7300
+-84.2589	37.9575	4745
+-114.1053	30.7272	5801
+-81.8259	25.503	7308
+-120.6793	32.7186	5508
+-117.4215	46.129	8347
+-126.2005	46.0696	5849
+-82.0342	27.2092	9252
+-81.3199	28.0762	8908
+-83.9427	27.3496	7792
+-88.4489	37.2074	9189
+-117.1738	31.9202	8727
+-117.2091	34.5337	9097
+-118.9177	32.9269	7573
+-90.5139	40.1494	7909
+-90.2652	37.4457	8013
+-109.2303	30.6328	7896
+-118.9673	32.8914	7520
+-116.1098	28.6462	5004
+-89.1086	39.9003	7574
+-87.8885	36.8736	8487
+-117.7287	34.0626	9028
+-123.5348	46.6869	8844
+-111.7195	30.0177	7208
+-114.7606	36.0284	6111
+-117.2963	34.9813	8612
+-83.0393	27.3328	8756
+-91.4329	41.9298	5815
+-123.9727	44.8392	6989
+-118.4751	31.2317	7312
+-85.7797	38.553	6318
+-117.2362	33.4016	9034
+-111.5728	32.0177	8051
+-87.902	37.1612	8691
+-82.1379	27.2164	9270
+-119.4207	48.0802	6842
+-116.7639	35.7539	7687
+-118.4992	37.1898	5943
+-90.7366	39.634	8398
+-119.8081	49.5372	5278
+-119.209	31.2225	6684
+-90.2305	39.0676	9044
+-115.1041	45.6864	5865
+-89.4204	39.8729	7830
+-125.1195	49.9084	5558
+-119.1372	46.2399	8344
+-123.7444	48.3197	7854
+-112.7485	28.6671	5371
+-83.3481	27.1701	8361
+-108.7857	30.166	7200
+-83.5633	26.7053	7878
+-114.8339	33.6204	7211
+-122.4469	47.7537	8608
+-110.9703	31.5681	8783
+-119.5906	36.73	5737
+-80.7862	27.4576	8329
+-110.7212	31.2843	8943
+-111.794	33.2371	7083
+-117.7923	30.0622	6545
+-118.455	43.2814	6270
+-89.1065	35.5792	7442
+-118.1432	47.8197	7433
+-119.609	44.5842	7128
+-107.1738	29.6225	5445
+-118.0133	33.3391	8349
+-109.9125	31.0702	8755
+-92.0219	38.0544	7506
+-123.5112	48.584	7707
+-122.3692	49.6275	6625
+-123.2601	49.3929	6911
+-79.7989	26.1836	6701
+-112.9974	32.314	6480
+-111.881	33.6208	6701
+-107.4749	32.268	6289
+-116.5129	37.2121	6080
+-81.4003	28.2598	8893
+-118.0201	30.8573	7272
+-124.5144	43.5368	5442
+-116.648	49.7105	5063
+-90.7319	39.2293	8786
+-109.2337	31.8327	8252
+-118.6341	34.6125	7957
+-110.6011	32.9743	7939
+-86.8613	35.4512	6536
+-87.6919	39.774	7159
+-117.8842	45.3611	8371
+-126.425	49.6739	4723
+-90.4636	37.8471	8447
+-89.6255	39.6472	8159
+-80.2075	26.0047	6939
+-82.4511	29.7898	7575
+-109.5494	28.5594	6089
+-83.8772	25.9796	7068
+-120.0017	45.5097	7336
+-116.6665	35.7499	7657
+-120.1864	32.2463	6106
+-80.7697	27.70	8348
+-116.5722	37.1359	6176
+-121.4788	47.6447	7876
+-118.1586	31.7539	7972
+-89.3329	36.8532	8703
+-88.8317	38.7794	8563
+-118.4007	49.7445	5399
+-80.4635	26.6993	7650
+-122.6254	47.7017	8744
+-116.3209	47.3542	6794
+-81.5846	29.6477	7676
+-114.9583	30.3238	6182
+-82.6624	26.5268	8367
+-81.3055	24.6482	6242
+-118.2039	32.5411	8339
+-81.8733	24.5722	6266
+-116.9745	34.3664	9130
+-116.624	29.0283	5510
+-112.3077	32.4242	7148
+-107.789	30.8341	6600
+-117.6264	35.0926	8420
+-93.3246	37.0909	5785
+-110.1451	30.2586	8024
+-114.1243	29.8981	5209
+-87.6123	40.2317	6657
+-114.4669	48.2539	4619
+-90.1202	37.814	8376
+-89.7778	38.6773	8767
+-115.0257	32.9519	7583
+-119.4554	46.2765	8005
+-117.5894	35.0546	8473
+-123.5996	44.9266	7237
+-116.8591	35.1105	8383
+-90.7459	39.9696	8053
+-123.7227	47.4992	8529
+-118.3308	31.7736	7837
+-89.9912	36.7496	8098
+-91.7184	37.2005	7220
+-116.9157	43.5994	6242
+-121.0728	45.945	7306
+-123.1028	43.3771	5656
+-118.1863	45.246	8350
+-109.3197	30.0562	7488
+-83.8619	38.4909	4232
+-115.7929	45.3525	6507
+-115.0362	35.118	6878
+-88.6058	35.4452	7316
+-110.1209	31.6457	9234
+-89.0272	35.5928	7470
+-123.4327	46.1524	8537
+-115.6976	32.9266	8332
+-117.7093	31.6873	8245
+-116.8277	45.0144	7337
+-79.8208	29.8818	6347
+-117.265	44.16	6940
+-90.7661	46.2687	1310
+-112.8192	31.5104	6779
+-122.4455	48.8847	7441
+-115.6999	46.8437	6413
+-87.5887	36.1656	7674
+-120.4217	34.4992	6073
+-122.4175	45.6904	8107
+-118.5927	46.2656	8889
+-118.6447	33.2902	7776
+-118.085	35.4626	7835
+-120.586	32.4096	5690
+-121.7369	47.7802	8047
+-87.9314	38.2296	8684
+-88.412	36.7278	8689
+-117.982	34.6083	8601
+-122.5261	30.2312	2914
+-81.2771	27.0305	8615
+-118.3329	45.989	9132
+-87.1874	38.8414	7605
+-108.0445	30.9934	6913
+-107.3894	32.5565	6114
+-92.0353	37.9937	7466
+-78.3501	28.5594	5519
+-91.9143	37.3875	7215
+-121.4543	47.2455	7989
+-78.8542	29.9078	5462
+-117.7984	33.9039	8906
+-124.4724	44.673	6551
+-127.6762	44.5641	3732
+-118.111	45.7013	8801
+-117.981	30.3624	6791
+-93.1599	37.8063	6263
+-84.5289	27.4536	7159
+-92.0329	37.7478	7344
+-90.9173	42.7774	5045
+-118.9449	33.4193	7548
+-120.3756	37.5596	4491
+-88.1986	40.9243	6102
+-119.4897	48.1494	6742
+-89.4204	38.3846	8725
+-110.9931	33.567	7208
+-90.6899	39.5459	8505
+-88.8534	35.3012	7159
+-82.2973	25.9235	7799
+-113.7141	31.1736	5784
+-124.5584	46.3463	7661
+-90.6088	39.8377	8227
+-119.4688	45.4584	7833
+-118.8562	47.0444	8091
+-91.0836	39.9231	7952
+-84.5935	39.7309	4589
+-87.7355	36.3042	7898
+-115.0533	35.5432	6675
+-119.8474	46.5544	7536
+-86.4731	38.4735	7086
+-91.8061	39.7926	7523
+-115.9709	47.4664	6416
+-87.2314	37.5899	8090
+-86.9349	36.7065	7494
+-112.6054	30.5517	6770
+-114.1943	33.2065	6630
+-122.5774	49.8318	6438
+-119.5673	32.1623	6762
+-89.8104	38.4281	8716
+-124.6195	47.2673	7688
+-89.2524	37.813	9245
+-118.3893	33.2118	7954
+-82.4585	28.9012	8557
+-81.7672	30.6542	6599
+-114.8734	44.48	5262
+-117.4017	35.781	7734
+-80.5518	24.6089	5897
+-88.8142	40.5983	6811
+-123.9434	41.4346	3421
+-89.7326	35.3613	7010
+-122.8561	41.8322	3965
+-116.3696	47.2723	6884
+-117.7709	34.4199	8905
+-120.6558	35.0206	5716
+-80.9553	29.085	7892
+-123.2907	47.1057	9151
+-88.2652	36.6601	8553
+-115.062	29.3987	5389
+-117.9834	31.1756	7600
+-115.8818	30.2039	6597
+-115.0551	37.1495	5458
+-123.993	49.3075	6768
+-86.3389	34.8861	5672
+-121.8203	46.8479	8413
+-120.9065	43.425	5293
+-90.5607	37.4438	8004
+-90.2336	41.6278	6318
+-112.656	31.4784	6954
+-81.5577	29.4464	7883
+-81.3344	26.4479	8148
+-90.5188	38.9532	9161
+-120.4274	48.597	6352
+-119.1864	45.3295	8003
+-87.8407	38.885	8097
+-90.4531	41.4471	6516
+-88.1149	35.826	7624
+-112.9717	32.1272	6555
+-120.3706	47.2435	6740
+-83.9539	27.3144	7770
+-121.5717	47.4718	8045
+-89.4823	36.6119	8385
+-91.0022	38.2681	8579
+-121.178	47.3679	7664
+-81.6401	27.5375	9277
+-114.7823	35.857	6240
+-89.3445	36.7767	8625
+-116.6657	32.3223	9107
+-118.5492	34.6487	8030
+-123.1222	47.391	9080
+-80.7882	26.7965	8016
+-121.2169	47.0702	7754
+-118.8362	35.4895	7275
+-122.7789	48.337	8095
+-113.3646	35.1263	5146
+-90.1771	35.9232	7298
+-90.5152	38.6856	9266
+-118.0339	28.974	5305
+-79.0335	25.8801	5787
+-111.6533	32.4362	7771
+-118.9149	47.1389	7973
+-122.4112	46.4732	8843
+-82.9989	24.5103	6081
+-88.4978	39.6491	7569
+-107.8682	32.2292	6713
+-89.4008	35.1785	6933
+-118.1275	32.4584	8398
+-89.4429	38.131	8894
+-91.2671	38.8475	8466
+-110.3031	32.4279	8558
+-89.115	37.4996	9382
+-83.8952	27.5543	7885
+-118.6986	46.5552	8608
+-92.6592	37.7754	6756
+-119.8962	45.6557	7489
+-84.8571	26.8828	6653
+-88.3432	36.8524	8786
+-80.0085	29.5727	6737
+-108.8791	32.039	7822
+-121.2125	48.2605	7270
+-118.8363	34.1378	7826
+-120.1959	46.4118	7208
+-88.8547	35.5316	7417
+-89.041	39.3007	7860
+-89.2796	40.1882	7470
+-124.7657	47.4317	7494
+-116.0798	36.2994	6844
+-87.4854	35.9629	7423
+-113.4851	30.1791	5735
+-118.6933	33.1213	7630
+-87.4314	40.8889	5899
+-117.4516	33.7308	9055
+-116.8228	34.669	8779
+-115.2789	35.5857	6852
+-114.6879	31.6915	6918
+-87.4725	35.6999	7173
+-117.4865	33.0868	9099
+-111.0949	31.3128	8598
+-110.4215	37.2323	3352
+-84.7025	37.3496	5239
+-125.9083	45.2599	5806
+-92.1502	40.524	6726
+-85.9625	36.5121	6411
+-89.2876	39.3679	8069
+-116.6899	32.4927	9278
+-118.9498	30.3501	6223
+-116.4043	35.244	8004
+-84.0698	28.3217	7613
+-82.5628	29.9106	7419
+-116.0258	36.7263	6402
+-81.2941	25.0019	6624
+-117.6868	42.8835	5796
+-118.1843	35.6473	7607
+-90.8706	34.916	5928
+-80.6889	27.6541	8253
+-82.2126	28.5525	8999
+-120.1372	46.3629	7277
+-118.4119	46.9015	8401
+-83.8768	27.3095	7853
+-117.8357	48.4509	6726
+-115.9854	35.7517	7286
+-118.4452	34.0481	8249
+-114.477	33.7926	6770
+-124.3551	45.8807	7611
+-117.8867	43.8561	6847
+-84.01	35.0763	3736
+-122.5846	46.9742	9260
+-111.9824	30.9711	7568
+-118.0334	35.0916	8199
+-119.3749	47.2196	7605
+-91.702	41.8885	5755
+-85.3001	36.7045	5777
+-117.5302	43.2658	6155
+-118.7826	44.6998	7686
+-108.3672	32.3799	7175
+-122.5156	47.6343	8760
+-120.0243	47.1033	7132
+-117.5907	34.6578	8865
+-79.4482	29.0714	6515
+-118.775	30.5824	6547
+-108.6819	31.1143	7614
+-107.347	29.2158	5345
+-79.747	30.3332	5928
+-83.1454	27.9576	8727
+-112.975	31.9396	6585
+-118.4482	35.2301	7779
+-126.2061	45.0552	5411
+-90.2027	42.1362	5769
+-115.5364	35.9461	6804
+-106.5913	29.5229	4845
+-111.084	29.8985	7475
+-89.2246	37.6141	9298
+-118.1757	35.0406	8137
+-79.3238	28.3341	6650
+-123.3473	48.01	8359
+-81.4281	30.4459	6758
+-108.8518	32.74	7437
+-91.4765	38.7655	8246
+-93.3665	34.2173	3576
+-89.1449	38.2761	9009
+-120.5776	47.1475	7047
+-122.2233	46.2888	8554
+-90.2148	39.8508	8224
+-91.0313	34.7384	5660
+-109.9429	30.3675	8090
+-123.5207	44.2072	6499
+-117.3585	46.9833	7906
+-92.4755	38.4508	7146
+-83.0956	30.8803	6205
+-89.7593	37.645	8701
+-112.245	34.555	5645
+-91.2798	36.1944	6505
+-117.4629	45.625	8257
+-83.0164	25.2297	6853
+-87.2572	38.7301	7742
+-89.023	40.842	6735
+-120.1871	46.7741	7122
+-115.1719	34.918	7098
+-81.8765	30.0505	7292
+-119.8692	48.6155	6111
+-91.6839	37.951	7779
+-109.8039	30.4229	8092
+-91.9237	34.1157	4482
+-116.1256	46.4077	6952
+-88.5557	39.2947	7972
+-115.2907	32.2273	7771
+-87.4126	42.8597	3959
+-119.4521	45.1164	7643
+-108.8022	30.2907	7303
+-118.467	42.6486	5600
+-90.5336	38.1298	8737
+-86.7895	40.1221	6276
+-89.3805	37.7661	9117
+-80.3651	25.5138	6652
+-118.1744	32.1254	8201
+-110.9521	28.8274	6413
+-123.777	48.005	8113
+-83.8805	25.2164	6395
+-90.2648	39.8988	8180
+-112.2341	35.9113	4352
+-119.2901	46.3168	8170
+-114.5136	34.5453	6501
+-81.9089	29.3262	8110
+-115.868	33.4219	8354
+-89.4007	37.6814	9103
+-118.9929	48.8332	6270
+-121.0953	33.8965	5353
+-116.7047	33.8735	8863
+-119.0398	33.0941	7296
+-90.1098	34.3162	5764
+-120.8768	47.6408	7263
+-90.6065	37.8669	8443
+-123.5953	45.8809	8190
+-115.4922	41.7913	3823
+-117.9611	32.4249	8561
+-114.4381	34.0877	6452
+-89.8264	34.3225	5878
+-116.0407	37.3899	5742
+-109.0432	32.9216	7460
+-88.3331	40.4249	6571
+-89.3338	39.0837	8237
+-87.1421	36.8973	7798
+-86.4332	29.8124	4505
+-117.9475	34.8173	8485
+-110.7743	30.9041	8596
+-91.9805	42.0154	5506
+-91.1038	36.1384	6504
+-87.5776	42.5698	4316
+-109.9741	29.4771	7159
+-116.9919	34.4178	9106
+-118.4515	35.5986	7482
+-122.5995	44.8846	7295
+-120.524	33.1193	5816
+-90.8403	38.6958	8928
+-119.7292	34.8055	6753
+-117.4937	44.8169	7665
+-86.2386	36.1513	6507
+-120.1886	34.2632	6347
+-92.9051	34.8619	4429
+-117.0052	46.2235	7901
+-119.3525	31.9692	6929
+-91.0689	35.3831	6176
+-78.7631	26.354	5758
+-118.5337	34.7068	8021
+-82.7435	29.4687	7847
+-89.9259	41.0937	6851
+-119.4654	32.8714	6965
+-120.5105	44.7032	6476
+-117.9934	31.857	8185
+-116.8728	32.6743	9563
+-90.1921	36.9615	8030
+-87.5741	37.1523	8358
+-80.8339	28.9377	7913
+-118.382	45.368	8478
+-84.3344	27.104	7292
+-116.2479	46.1775	7103
+-111.7895	32.5212	7597
+-88.8532	36.5927	8606
+-91.0683	40.1506	7744
+-125.613	42.8437	4184
+-119.9821	33.9074	6566
+-82.9977	28.2434	8776
+-85.0332	38.236	5576
+-116.3585	34.3352	8523
+-118.4402	36.1391	7003
+-107.5919	29.7624	5908
+-82.672	28.1475	9146
+-121.5456	37.1141	3849
+-118.4416	47.2142	8069
+-115.5148	30.8095	6990
+-116.4332	30.1386	6707
+-119.4647	30.9406	6268
+-118.8247	29.7708	5773
+-106.0918	35.0189	3560
+-109.7975	32.4124	8404
+-113.766	31.262	5738
+-125.1542	49.2094	6113
+-88.1231	38.7292	8420
+-109.0381	30.7348	7796
+-121.029	45.0145	6636
+-123.4758	46.8109	8951
+-108.4644	33.0053	6929
+-87.4359	37.7265	8320
+-80.893	29.3915	7580
+-119.1256	32.9501	7340
+-90.413	39.8973	8187
+-117.3872	29.8761	6440
+-81.3185	24.4309	6008
+-79.86	28.5556	7170
+-118.9149	48.0805	7059
+-109.8431	31.2793	8849
+-90.4841	39.6784	8418
+-107.6653	33.034	6183
+-110.1583	32.8374	8102
+-87.8517	35.5229	7199
+-89.2483	39.7626	7785
+-112.5182	32.3183	6976
+-114.7783	32.1141	7189
+-84.2712	28.8589	7176
+-119.2367	46.2845	8232
+-124.8622	45.3614	6821
+-88.2687	39.3127	7884
+-89.5031	38.0159	8900
+-88.5045	39.8158	7096
+-120.5655	49.9761	5422
+-85.4992	27.4881	6071
+-114.1489	31.6859	6366
+-113.967	45.7887	4677
+-119.3727	32.4481	7038
+-81.092	25.809	7384
+-108.8402	26.5985	3836
+-121.9472	33.8439	4422
+-116.6611	45.6655	7482
+-80.1169	30.88	5696
+-121.1189	44.3909	6166
+-116.866	31.1887	7934
+-117.0967	33.2382	9261
+-87.6262	40.3509	6541
+-125.0251	47.4467	7213
+-118.679	43.4358	6408
+-121.6687	47.2066	8228
+-117.3144	34.4193	9222
+-81.0877	27.5444	8683
+-119.4097	43.6714	6425
+-88.7086	40.9484	6446
+-84.3265	26.8232	7191
+-120.2104	32.0403	6032
+-109.8948	30.0752	7772
+-88.6217	38.9554	8359
+-110.4787	30.1685	7933
+-88.9812	40.8224	6727
+-89.0311	38.1968	9149
+-91.0911	39.6758	8168
+-91.9351	41.0318	6450
+-88.0408	39.5539	7545
+-123.993	43.3609	5467
+-119.0673	46.1046	8430
+-86.9061	40.7836	5740
+-91.2404	35.2829	5959
+-115.3112	35.0309	7191
+-113.9619	31.3511	6024
+-90.0057	39.4873	8531
+-121.4786	48.4003	7388
+-116.419	33.4334	8833
+-91.9409	38.0258	7573
+-121.7713	48.627	7400
+-119.4935	44.8638	7428
+-91.0778	36.0036	6371
+-112.4294	30.6332	6980
+-119.2102	31.373	6777
+-111.36	33.1552	7439
+-115.0295	34.7011	7020
+-84.8859	27.4479	6757
+-109.1284	32.6324	7743
+-91.0332	41.5745	6300
+-91.642	38.8923	8059
+-123.8413	46.7668	8549
+-112.8518	30.7982	6615
+-114.4659	35.2901	6232
+-87.3329	36.7591	7911
+-116.3202	38.3793	4793
+-120.7369	47.0967	7225
+-109.0663	31.6652	8098
+-111.9269	30.7847	7542
+-115.9877	32.7493	8658
+-114.2615	32.3306	6687
+-114.4201	31.503	6557
+-115.5283	31.3324	7448
+-87.6371	40.4308	6463
+-116.1515	45.0223	6731
+-88.4566	34.9572	6755
+-118.8716	42.3276	5217
+-112.7727	29.6775	6120
+-118.7345	46.8239	8357
+-119.2834	45.2813	7892
+-90.3145	37.1116	7657
+-84.7834	29.6163	6236
+-85.2709	39.7168	5266
+-91.5158	39.6182	7886
+-90.0431	37.7471	8283
+-82.8066	28.2257	8970
+-86.4903	38.9708	6870
+-121.9749	48.8076	7343
+-92.3185	38.1339	7235
+-85.7395	31.2726	4202
+-83.9764	29.7507	6829
+-87.4367	40.9824	5804
+-112.5123	34.1929	5790
+-91.0663	37.5392	7926
+-114.7227	34.2027	6762
+-118.7281	33.334	7721
+-118.0779	46.8547	8432
+-118.8425	32.4911	7629
+-81.4184	26.0392	7777
+-85.632	26.017	5467
+-90.3028	37.8974	8501
+-118.4624	48.8366	6356
+-88.7495	41.3036	6157
+-84.2043	24.6939	5700
+-82.3559	28.5686	8951
+-119.8231	47.3553	7156
+-113.7565	33.4184	6110
+-119.0001	43.0254	5917
+-117.2499	31.0215	7726
+-123.079	45.01	7448
+-115.9083	33.306	8452
+-83.3569	27.4309	8457
+-115.431	32.294	7944
+-90.0932	42.0719	5830
+-91.3093	39.0049	8389
+-85.6533	36.9723	6235
+-123.4222	45.8857	8287
+-115.4914	46.5894	6259
+-82.3605	28.5791	8938
+-122.8434	44.1305	6490
+-87.1851	39.2673	7289
+-87.1549	37.2354	7942
+-121.3382	43.9439	5868
+-119.7983	43.4152	5996
+-119.4242	45.1957	7719
+-117.1799	36.6455	6796
+-113.5076	29.9924	5627
+-117.5585	36.0379	7436
+-114.3653	31.4991	6500
+-109.9032	31.1827	8837
+-88.9261	35.8303	7747
+-76.81	31.0169	2836
+-111.6061	29.1766	6524
+-118.3742	47.6928	7571
+-81.2674	28.7145	8440
+-119.1284	45.248	7990
+-86.6876	36.4502	7112
+-108.0432	32.0752	6936
+-88.2583	43.1288	4178
+-117.505	34.3596	9179
+-116.2647	30.0899	6612
+-123.4875	47.7685	8514
+-117.2847	31.9099	8681
+-83.4265	25.6949	7129
+-119.9326	46.5062	7462
+-77.2903	30.2252	3748
+-114.9248	33.3376	7402
+-89.1075	37.2998	9253
+-91.0271	37.2017	7617
+-116.3693	32.6251	9053
+-118.4243	32.9578	8119
+-87.2331	37.702	8093
+-79.4279	28.4594	6733
+-118.0962	47.0702	8214
+-110.6108	29.6041	7308
+-82.6129	28.5821	8822
+-80.6085	30.0662	6771
+-110.5209	32.3511	8617
+-114.7649	32.1316	7181
+-106.7335	31.6132	5573
+-118.3226	33.0946	8209
+-89.154	35.8278	7706
+-118.0651	31.6215	7942
+-117.063	36.2547	7213
+-117.7954	47.8072	7380
+-92.2254	38.7925	7438
+-114.7925	32.1629	7221
+-120.1931	46.3343	7223
+-118.5563	34.8347	7936
+-88.5052	37.9768	9359
+-119.1693	47.9325	7105
+-119.3503	32.0814	6970
+-83.7561	27.3232	7989
+-83.7509	27.7074	8061
+-88.2117	39.0019	8191
+-109.701	29.8911	7516
+-111.0187	33.6266	7138
+-85.9862	40.0519	5702
+-82.5845	25.4286	7198
+-110.0563	31.3613	9089
+-121.2519	45.0366	6818
+-120.1252	32.4741	6209
+-126.1822	49.373	5135
+-117.0347	33.6099	8913
+-82.0228	26.1162	8021
+-82.0228	29.1653	8305
+-122.861	47.9203	8557
+-93.6535	38.921	5895
+-87.4118	39.6474	7121
+-89.8581	43.2203	4573
+-82.8607	26.2829	8023
+-117.0861	33.0782	9432
+-87.9847	40.5074	6507
+-117.3964	44.1847	7025
+-90.4227	39.017	9133
+-125.5376	45.8962	6479
+-117.7981	31.6975	8198
+-113.708	35.0566	5528
+-116.1847	32.8553	8880
+-116.1787	47.3369	6675
+-117.9492	37.2862	6019
+-118.4993	35.7029	7361
+-109.0239	30.1462	7367
+-91.0471	40.1078	7795
+-119.2882	33.2433	7128
+-113.7204	32.6347	6126
+-117.8882	34.2227	8853
+-91.2206	37.1717	7499
+-86.0838	39.4157	6220
+-79.9893	29.7805	6564
+-110.5718	29.1835	6861
+-91.4466	39.0141	8243
+-81.4843	29.3476	7959
+-89.89	36.0723	7626
+-79.6566	25.4293	6040
+-125.558	47.8101	6542
+-90.367	39.1787	8962
+-117.2134	35.6012	7936
+-117.1684	31.7042	8492
+-91.5958	40.828	6831
+-91.9178	37.9743	7571
+-90.0788	39.296	8751
+-89.9855	38.7672	8995
+-119.2296	47.4594	7506
+-88.0432	42.3369	4808
+-118.3692	43.341	6337
+-117.4669	34.7944	8784
+-111.4705	32.8259	7649
+-91.9253	38.1747	7650
+-117.6738	49.007	6115
+-124.5303	48.4132	7212
+-83.3443	29.457	7540
+-114.2967	32.9685	6770
+-111.8609	32.9158	7277
+-116.297	31.4244	8030
+-120.2884	32.1611	5976
+-112.9981	35.0397	4778
+-122.8485	47.1778	9367
+-110.7661	27.6133	5147
+-88.4543	34.3972	6129
+-116.9269	33.4446	9051
+-116.9657	43.561	6231
+-117.0631	34.4882	9092
+-116.7451	31.7299	8516
+-111.6257	28.9558	6301
+-93.1163	38.9014	6474
+-121.9314	46.3989	8373
+-117.1014	34.8708	8713
+-116.9647	29.3304	5864
+-87.7403	38.3748	8415
+-91.305	39.4409	8183
+-124.3435	48.2705	7469
+-91.3448	38.1866	8223
+-90.4002	33.4261	4715
+-109.6959	29.8624	7485
+-83.5314	28.8015	7925
+-93.3351	38.751	6243
+-118.7979	30.2363	6224
+-117.7603	33.6883	8813
+-90.973	38.8272	8783
+-117.315	33.7778	9147
+-90.6235	37.6232	8183
+-82.2863	27.9341	9636
+-120.8777	46.2046	7232
+-114.1815	32.6887	6643
+-89.3758	39.5996	8004
+-90.7545	37.9923	8515
+-126.1595	45.6937	5762
+-108.6594	31.3507	7642
+-118.8944	37.4495	5508
+-118.5062	35.3685	7629
+-85.1644	28.784	6275
+-118.1045	33.5148	8402
+-125.0368	44.2546	5813
+-117.7856	45.3254	8285
+-94.0426	35.7705	4338
+-114.4592	31.4279	6556
+-118.6535	35.3891	7497
+-91.0542	37.5848	7975
+-82.805	27.6076	9112
+-111.6173	30.4372	7609
+-118.8305	36.4164	6519
+-85.6355	40.9844	4694
+-107.9482	30.4072	6592
+-119.7904	45.3964	7499
+-117.5307	35.7089	7795
+-118.0261	45.2615	8332
+-91.2047	40.2613	7570
+-117.0115	31.9348	8768
+-89.2299	37.8299	9263
+-109.9207	29.5619	7238
+-91.7252	39.3064	7859
+-91.6802	34.4484	4943
+-125.8671	48.1337	6103
+-86.108	28.8591	5229
+-92.3679	36.6875	6339
+-90.5804	35.4358	6588
+-119.6377	35.7562	6404
+-123.3774	46.7162	9014
+-122.5633	47.9171	8498
+-88.6754	37.8883	9545
+-116.6755	34.103	8892
+-118.9748	36.4113	6432
+-91.8009	39.7021	7584
+-110.7152	32.7805	8112
+-115.5184	36.0982	6669
+-116.4279	48.5641	5994
+-118.7787	33.254	7630
+-117.7272	34.4657	8918
+-123.9581	47.7045	8189
+-118.1373	41.374	4253
+-111.1121	30.6183	8130
+-85.3961	37.3082	6010
+-117.7512	46.3568	8635
+-116.079	35.8415	7268
+-125.5563	46.1917	6566
+-85.945	34.9589	5426
+-119.3618	35.2891	6928
+-121.3361	42.5534	4304
+-92.6984	42.1031	5032
+-120.278	46.9266	6974
+-123.2508	47.9942	8413
+-116.093	33.0766	8736
+-121.6654	46.3582	8094
+-90.9075	38.2624	8653
+-124.9046	46.8928	7402
+-108.5571	28.1125	5249
+-87.1704	39.8204	6805
+-115.5829	26.8856	2960
+-84.6107	30.527	5696
+-87.8881	35.4357	7124
+-117.0756	35.2424	8310
+-119.5838	47.0065	7582
+-118.1482	30.4224	6775
+-118.4275	33.6913	8183
+-120.1607	48.2593	6230
+-119.2566	33.1039	7094
+-112.0496	30.9271	7483
+-80.7262	27.8726	8296
+-90.4859	39.3067	8814
+-109.4942	31.8872	8507
+-118.4826	45.9483	8995
+-123.2902	47.6818	8711
+-120.6962	32.1911	5535
+-116.8864	36.5291	6892
+-119.1144	34.8368	7381
+-89.9977	34.4305	5929
+-119.0455	49.4727	5598
+-89.3188	37.275	9056
+-108.7386	32.4325	7516
+-88.4195	34.3919	6119
+-120.2895	35.0872	6080
+-80.6268	27.0039	7982
+-79.8089	26.7645	7029
+-113.0246	32.0355	6517
+-115.2416	33.9507	7320
+-83.9983	30.3588	6280
+-89.7785	37.2325	8579
+-120.6782	46.294	7056
+-86.6311	40.9304	5436
+-88.8044	39.4514	7562
+-116.2234	33.7608	8330
+-117.0439	45.5721	7834
+-90.5916	37.7352	8308
+-105.8476	34.688	3563
+-116.0787	34.5328	8171
+-90.3843	41.7561	6184
+-118.4646	31.8218	7747
+-91.121	34.1712	5085
+-115.8636	45.3342	6573
+-91.3113	38.782	8423
+-118.3135	28.4691	4676
+-109.6392	34.0483	6699
+-111.5465	31.4367	8150
+-89.7453	35.8132	7463
+-117.9948	36.207	7140
+-120.7911	46.1952	7139
+-118.5991	31.709	7552
+-118.7495	47.8467	7346
+-117.2788	36.395	7071
+-86.6834	36.9726	7351
+-115.0237	33.6844	7379
+-119.7847	32.274	6552
+-118.2588	48.2048	7031
+-95.5616	39.1636	3825
+-109.3788	32.9227	7692
+-118.5609	48.0369	7188
+-110.8086	31.0933	8734
+-88.8149	43.0026	4539
+-117.0686	31.9542	8784
+-89.9225	37.249	8436
+-114.3114	49.0576	4016
+-117.2634	32.1581	8947
+-89.7032	40.9853	6906
+-89.4811	39.2051	8335
+-120.1373	47.5534	6766
+-112.5678	32.8283	6702
+-81.8472	25.6133	7435
+-93.6437	38.3406	5883
+-90.1496	36.1838	7540
+-81.6887	29.5204	7845
+-117.0968	33.3182	9175
+-117.35	35.1783	8394
+-120.9175	30.5938	4696
+-86.4138	37.6043	7173
+-123.5617	47.054	8873
+-124.5365	45.9737	7503
+-114.9961	31.7231	7239
+-108.6857	30.6352	7414
+-114.9269	33.4103	7383
+-88.9745	37.4022	9438
+-112.1118	29.9412	6851
+-126.9965	47.311	5090
+-117.709	44.4494	7410
+-89.3679	43.5058	4183
+-120.0469	48.8681	5784
+-118.9378	45.8836	8531
+-90.2067	36.8972	7983
+-82.9046	28.0975	8943
+-117.3964	32.3514	9046
+-85.687	35.8221	5786
+-85.8475	35.2017	5527
+-119.0851	34.9662	7356
+-92.294	37.6472	7047
+-120.3146	42.5151	4897
+-121.2174	47.9028	7491
+-119.0646	47.1171	7902
+-81.0619	24.4984	6001
+-118.3211	47.7669	7495
+-109.1899	30.8708	8014
+-92.7194	38.3295	6866
+-76.9209	29.5273	3668
+-81.5041	27.9571	9149
+-121.6792	47.9933	7854
+-111.6723	32.0324	7943
+-118.7064	35.4824	7386
+-82.313	30.2851	7036
+-112.5981	30.8627	6899
+-122.888	43.8273	6157
+-116.7144	35.5124	7917
+-116.2201	45.7029	7035
+-120.196	44.85	6841
+-90.0417	36.5397	7905
+-81.5471	28.6881	8657
+-110.9589	33.817	6960
+-109.6777	33.4406	7340
+-108.3831	30.6963	7152
+-117.334	36.2717	7204
+-117.4543	38.8986	4336
+-82.0575	27.7972	9800
+-117.0606	34.7465	8832
+-89.1892	41.0537	6628
+-119.101	31.0252	6645
+-116.1977	31.4491	8003
+-89.4433	38.941	8390
+-78.8018	29.5074	5640
+-91.1466	36.3301	6689
+-115.0075	32.8917	7566
+-116.6636	30.4131	7051
+-110.3311	30.3417	8128
+-90.1022	38.5912	9076
+-117.1502	44.1409	6864
+-106.1514	31.4742	4941
+-81.3667	29.657	7585
+-83.955	33.0579	3561
+-118.7008	32.8861	7817
+-121.117	33.6083	5299
+-89.3963	38.4973	8326
+-119.2213	47.2862	7659
+-86.3227	36.5598	6804
+-89.2359	39.2701	8066
+-116.5877	36.632	6713
+-120.1952	48.6855	6085
+-120.5026	28.4664	3500
+-89.8549	39.9794	7982
+-125.9333	47.153	6267
+-113.1046	32.5083	6308
+-109.375	30.9535	8231
+-118.5301	31.0431	7116
+-84.1119	40.5073	3694
+-89.3788	38.789	8341
+-119.6787	31.2289	6247
+-89.4248	37.7547	9070
+-109.4238	35.0188	5623
+-81.5695	28.3227	8996
+-119.1717	36.1954	6475
+-106.526	31.9207	5332
+-124.454	43.35	5282
+-87.2116	35.2856	6623
+-111.6327	32.6494	7652
+-113.2236	34.5201	5108
+-87.7339	38.6624	8204
+-111.2091	30.4553	7926
+-81.0349	30.3331	6734
+-116.123	32.9645	8798
+-115.4015	36.8037	5985
+-116.1444	33.8163	8266
+-117.189	30.5068	7165
+-118.3805	34.3097	8308
+-116.846	34.3172	9037
+-110.8704	33.4229	7397
+-115.9038	47.9247	6085
+-123.3089	49.5258	6759
+-116.5852	36.5404	6809
+-117.1567	32.0639	8887
+-117.4612	35.4376	8099
+-117.2865	45.7838	8153
+-110.8365	32.7287	8118
+-91.419	38.9105	8295
+-78.2307	26.3927	5212
+-87.4877	39.4331	7366
+-115.3245	35.6044	6880
+-117.5243	30.7776	7395
+-93.662	36.9013	5367
+-120.9765	46.1986	7331
+-91.4643	40.1859	7487
+-118.1381	45.6697	8780
+-108.5274	31.972	7472
+-114.4763	34.151	6494
+-114.1778	35.2688	5948
+-116.468	43.6127	5999
+-118.6385	34.3685	8020
+-93.0366	37.914	6426
+-121.3332	49.4661	6365
+-82.5396	31.5702	5565
+-80.6386	26.8283	7896
+-88.2392	41.8125	5395
+-119.2577	30.1225	5808
+-111.1081	29.5367	7103
+-109.8761	34.26	6531
+-114.6058	46.9648	5259
+-121.3353	47.67	7721
+-120.0054	33.3151	6420
+-90.8285	39.2429	8708
+-123.5187	47.2974	8835
+-117.9859	30.7534	7186
+-124.0064	45.4203	7517
+-85.0466	27.1476	6523
+-117.5181	34.5898	8969
+-121.889	48.2394	7820
+-94.4764	36.8639	4567
+-110.6203	34.4073	6398
+-92.7113	35.8523	5418
+-119.771	46.8754	7484
+-111.515	31.7229	8184
+-90.3025	37.4667	8038
+-119.0885	34.6886	7460
+-86.922	37.9181	7725
+-118.673	43.7715	6760
+-120.3389	47.842	6407
+-89.9702	35.5236	7057
+-80.275	29.9583	6641
+-115.3509	29.8577	5992
+-107.2436	30.9501	6056
+-79.6544	24.5617	5308
+-82.8313	26.0324	7777
+-119.771	45.342	7492
+-121.2471	46.4094	7690
+-113.3128	34.995	5124
+-116.3316	31.1371	7750
+-112.8125	45.1166	3374
+-118.5216	47.7105	7536
+-117.9916	33.4685	8465
+-117.5919	42.769	5658
+-88.6835	38.3011	9096
+-118.6589	31.2966	7216
+-116.0898	31.5025	7991
+-115.2083	47.9645	5452
+-114.0772	33.2666	6491
+-114.6283	30.5599	6128
+-115.0948	35.5602	6703
+-86.1505	39.9316	5930
+-91.9717	36.7984	6712
+-113.3639	30.5201	5994
+-93.2629	35.5594	4792
+-119.6953	46.0346	7764
+-87.5486	42.7408	4148
+-80.9396	25.7117	7204
+-110.7491	29.6669	7349
+-82.4887	28.8093	8646
+-81.9436	26.0207	7906
+-119.4384	46.7714	7846
+-80.5475	24.884	6170
+-91.7732	35.6548	5767
+-116.6405	45.0147	7175
+-115.2574	33.6348	7639
+-119.2475	45.9866	8232
+-116.4668	35.038	8221
+-80.6497	25.5103	6837
+-94.6017	40.0007	4682
+-90.0197	39.095	8884
+-82.6671	25.7065	7485
+-114.4181	32.8426	6910
+-82.7801	30.206	7037
+-117.9705	34.5617	8639
+-115.2489	44.8663	5791
+-91.7593	40.8718	6699
+-82.533	30.5379	6725
+-93.2626	37.7218	6129
+-118.9782	45.8157	8465
+-117.0192	32.1326	8988
+-120.5955	48.8941	6306
+-90.5798	36.4604	7371
+-116.0561	46.3149	6891
+-115.3706	33.4487	7838
+-91.0275	40.6056	7307
+-90.5822	36.7985	7310
+-115.6868	45.119	6321
+-88.6482	34.911	6720
+-89.2433	37.7318	9275
+-115.3902	32.0739	7809
+-114.9728	33.7076	7317
+-89.1971	40.0419	7534
+-109.9471	33.57	7281
+-118.6803	32.8144	7841
+-122.4906	49.1663	7148
+-117.3016	32.8728	9374
+-118.285	34.5778	8326
+-91.4465	39.8131	7804
+-114.6834	33.3423	7139
+-117.9986	44.4036	7439
+-115.891	33.0585	8523
+-119.14	47.7571	7285
+-114.4762	30.3758	5863
+-114.9185	33.1252	7443
+-115.3849	32.2855	7892
+-110.202	28.4974	6127
+-117.1883	33.9169	9287
+-122.7665	48.8247	7560
+-116.7635	32.5862	9410
+-118.7458	46.4744	8630
+-113.7904	34.2934	5742
+-86.5904	34.7024	5688
+-89.9612	39.5302	8468
+-115.415	32.3828	7956
+-110.0615	28.1852	5780
+-87.4942	38.2378	8249
+-119.3382	45.1776	7776
+-90.7627	41.9203	5983
+-118.3497	35.4345	7691
+-93.6985	37.4549	5588
+-88.6012	40.8024	6495
+-118.8914	35.5668	7174
+-119.5789	34.2477	7012
+-116.1255	43.7397	5874
+-117.7049	35.0166	8462
+-87.9753	38.885	8184
+-86.0461	34.9701	5516
+-126.6301	48.1665	5301
+-90.1644	38.2205	8807
+-118.9372	32.8398	7555
+-118.8281	43.9178	6878
+-118.1455	29.4947	5821
+-86.3414	37.283	7059
+-122.4544	45.8978	8334
+-107.2142	34.0935	5136
+-123.3189	49.7687	6494
+-113.6212	48.3106	3796
+-116.9196	44.8438	7297
+-121.499	47.3229	8018
+-115.1318	44.7027	5609
+-120.9973	46.7377	7501
+-107.7516	32.1396	6612
+-81.285	28.8902	8300
+-117.8028	44.5023	7494
+-117.8427	31.9283	8361
+-86.9602	35.0438	6241
+-86.2674	44.3366	1945
+-113.588	33.1054	5971
+-89.5481	41.3621	6468
+-92.3083	39.0816	7319
+-89.7086	40.5286	7374
+-110.068	31.933	8998
+-83.9871	32.7848	3840
+-91.7071	39.0719	7956
+-108.8746	32.3138	7706
+-107.0374	34.6499	4596
+-118.7963	44.00	6971
+-87.9734	39.9659	7084
+-122.4556	46.9776	9118
+-105.8027	33.7659	4025
+-117.8576	36.9525	6396
+-113.8418	46.4236	4544
+-82.394	26.0536	7932
+-118.5762	32.7718	7957
+-83.241	26.859	8272
+-117.213	33.5473	8896
+-107.4776	31.7466	6375
+-93.7221	41.6293	4672
+-122.5948	46.0539	8549
+-125.0462	47.9591	7008
+-81.7828	26.1293	7998
+-90.1294	37.5228	8074
+-92.2477	34.9292	4842
+-93.9067	39.7473	5477
+-116.2758	45.9933	7131
+-117.2805	35.9765	7527
+-117.7139	32.1828	8660
+-118.4258	34.2245	8269
+-80.6846	28.067	8219
+-116.7717	30.2054	6832
+-84.069	29.2508	7133
+-81.5732	29.5827	7742
+-91.2834	38.3859	8378
+-109.7902	30.4472	8109
+-119.8957	32.6656	6481
+-83.4562	28.9031	7919
+-122.077	46.6706	8645
+-111.4141	27.6846	5090
+-93.7711	35.9065	4657
+-88.639	36.2667	8238
+-108.3971	28.7241	5732
+-116.7015	48.6035	6124
+-114.2443	31.9004	6549
+-121.8875	44.2843	6456
+-123.9726	47.4411	8318
+-114.5293	33.8326	6808
+-116.8031	35.2237	8245
+-86.6374	37.0005	7311
+-92.5308	38.8725	7106
+-121.8064	49.8146	6255
+-117.8077	30.4739	6976
+-124.6846	46.8576	7642
+-113.8007	31.0439	5672
+-93.5909	36.4878	5194
+-114.9791	33.3356	7462
+-111.6145	32.8398	7529
+-116.1308	34.5639	8213
+-92.6385	40.6787	6226
+-114.3279	32.5448	6794
+-118.085	44.1467	7181
+-124.3662	48.4807	7291
+-83.0527	28.7582	8363
+-84.0604	37.7767	4531
+-119.3135	31.2419	6601
+-91.8266	37.8645	7599
+-112.7344	33.2329	6317
+-120.1127	35.225	6213
+-119.1954	48.1709	6864
+-111.9816	32.9273	7169
+-120.9385	35.8706	5107
+-114.1797	35.5701	5824
+-121.9553	48.6646	7471
+-87.6313	36.6648	8116
+-108.3614	33.3017	6640
+-117.1766	35.1139	8464
+-80.6394	24.7562	6090
+-87.8638	36.8633	8459
+-79.9976	26.4957	7081
+-119.638	44.9333	7367
+-118.0357	44.7202	7776
+-89.3671	36.6035	8445
+-111.5576	45.1056	2060
+-88.7873	37.7664	9700
+-83.9363	28.2119	7791
+-81.2944	30.4567	6704
+-118.1035	35.35	7927
+-115.8661	31.5126	7850
+-116.6904	33.2482	9181
+-107.7993	29.1554	5671
+-116.6753	34.7272	8624
+-119.8213	46.6787	7520
+-120.9081	48.1495	7061
+-114.4677	32.4563	6937
+-120.3496	48.4223	6380
+-111.495	29.5174	6906
+-118.794	27.7481	3743
+-90.2593	35.7669	7104
+-120.3593	45.7106	7024
+-115.522	30.2168	6435
+-108.6594	29.8405	6855
+-86.3177	38.2313	6994
+-87.8904	36.8663	8484
+-82.0747	31.121	6097
+-92.3116	39.8059	7055
+-93.3806	40.3318	5772
+-117.6625	45.8617	8556
+-114.3488	30.8034	6069
+-117.9628	33.7618	8677
+-80.217	24.8998	5991
+-84.6611	38.6766	5069
+-110.8445	31.8858	8830
+-81.9407	24.8333	6567
+-123.9196	43.7346	5883
+-90.1355	38.9741	9064
+-88.6592	42.505	4971
+-87.4652	39.3663	7412
+-88.3572	37.7256	9351
+-90.5881	35.9925	7038
+-119.5509	35.5619	6599
+-117.4715	36.0674	7416
+-80.8519	25.8612	7295
+-115.6649	48.7291	5331
+-113.4211	32.6859	5921
+-89.5763	41.3884	6451
+-115.5706	31.5349	7639
+-119.1908	46.3755	8256
+-121.0964	31.5156	4923
+-119.5531	48.3425	6531
+-120.4523	48.8936	6184
+-89.3095	38.779	8267
+-83.3855	25.205	6667
+-116.7928	46.9398	7449
+-117.9487	30.9925	7442
+-111.4623	33.5376	7028
+-110.5285	34.8185	5962
+-116.656	41.4711	4064
+-120.1547	35.1973	6180
+-120.8874	47.0518	7393
+-89.0462	39.9976	7453
+-88.2538	37.2338	9062
+-86.1749	36.5635	6654
+-109.3643	34.5683	6073
+-82.4544	30.2355	7076
+-116.4974	45.61	7299
+-85.4392	28.837	5961
+-111.3751	32.5128	7961
+-117.7499	47.0106	8143
+-117.3957	33.5042	8837
+-109.695	31.1127	8614
+-81.8395	29.1728	8267
+-125.7914	47.4685	6382
+-81.3423	27.2714	8837
+-117.1054	30.5766	7250
+-87.1925	37.7813	8043
+-115.2545	34.6325	7276
+-86.9087	37.3884	7706
+-120.7715	40.8086	3068
+-117.1786	33.2528	9212
+-117.137	36.0919	7397
+-88.8738	35.8294	7750
+-119.5302	47.2124	7491
+-118.4861	47.3266	7944
+-89.2281	38.1632	9054
+-117.7156	32.6676	8901
+-88.3973	37.4913	9357
+-111.8167	29.559	6754
+-109.4773	32.7677	7890
+-119.7476	29.5058	4930
+-117.2553	30.6614	7327
+-118.2757	37.2192	5996
+-87.7487	37.9883	8617
+-121.2296	45.3057	7018
+-87.6495	34.4647	6009
+-110.1287	32.2226	8746
+-118.4341	45.3971	8499
+-120.6184	48.3442	6678
+-80.0194	27.8913	7497
+-115.9317	29.0966	5446
+-116.1972	34.7745	8178
+-78.0221	29.3356	4914
+-81.3787	31.4569	5631
+-124.8189	48.4826	6920
+-121.8114	45.9235	7950
+-123.8575	48.8206	7314
+-107.9523	29.6615	6158
+-90.7602	38.9548	8962
+-90.775	38.2599	8748
+-125.0689	42.3969	4049
+-90.6182	41.8285	6097
+-124.9787	45.2045	6612
+-87.5258	36.1461	7613
+-119.3796	36.0342	6438
+-89.4564	35.2547	7000
+-81.9306	27.8736	9633
+-90.5368	40.9565	7040
+-90.1338	34.0032	5426
+-116.1971	35.4995	7645
+-119.5094	32.4221	6883
+-117.3255	46.3919	8200
+-93.1416	37.3441	6087
+-119.5402	46.6778	7795
+-118.0835	31.3356	7684
+-89.5739	34.754	6423
+-93.4671	41.3419	5082
+-114.9836	31.7249	7228
+-120.0113	30.0512	5165
+-107.521	33.9808	5470
+-92.3341	39.0097	7303
+-124.0694	42.255	4273
+-115.5196	38.1477	4762
+-123.2294	46.3707	8858
+-118.7806	48.7899	6363
+-119.1647	35.0719	7228
+-108.1044	32.2546	6952
+-116.8728	46.5226	7701
+-107.9449	30.0406	6393
+-124.7164	47.8076	7407
+-108.1349	30.9337	6990
+-117.3894	34.6167	8994
+-123.1874	46.8813	9277
+-82.8994	26.4732	8192
+-116.0468	48.3781	5879
+-115.7046	34.6283	7751
+-119.7298	45.4376	7576
+-80.589	28.3745	8015
+-89.1842	35.9343	7815
+-83.2079	25.806	7363
+-119.8565	45.5737	7504
+-114.4771	32.6643	6971
+-83.5369	29.9295	6975
+-116.267	45.6623	7075
+-89.0021	37.2493	9278
+-116.3747	31.4933	8136
+-118.4948	30.5596	6713
+-119.4258	32.5709	6996
+-115.0781	31.3294	7072
+-116.3595	32.4394	8956
+-118.9813	34.1503	7667
+-115.5964	33.5138	8038
+-113.5701	32.4404	5846
+-90.8788	35.6492	6537
+-92.2347	39.7071	7178
+-85.8751	35.3848	5681
+-118.5829	32.8292	7950
+-83.3551	27.1665	8352
+-80.2555	28.322	7677
+-81.5907	28.9967	8371
+-116.7378	47.5872	6989
+-123.2791	45.1481	7565
+-88.6679	36.8617	8906
+-121.2688	46.8317	7808
+-89.4865	40.3069	7488
+-88.1659	36.6562	8496
+-93.7182	41.5118	4757
+-89.8473	38.5509	8808
+-111.6969	31.3275	7970
+-96.6704	39.3711	2615
+-80.5153	27.9742	8047
+-88.6952	35.9575	7896
+-118.7015	47.6235	7587
+-94.023	36.0083	4513
+-115.9001	33.3744	8410
+-120.2584	48.9817	5956
+-112.7511	29.7763	6203
+-91.4138	43.7088	3965
+-80.7542	29.4462	7434
+-89.1562	43.2954	4350
+-86.0985	41.4786	4591
+-117.5572	32.4042	8949
+-118.0683	31.5672	7895
+-121.7053	47.5606	8140
+-121.5617	44.1824	6212
+-120.917	47.8138	7237
+-118.5595	32.319	7891
+-114.7277	33.1577	7227
+-87.097	38.7951	7553
+-112.1303	31.427	7519
+-112.0485	32.1403	7520
+-118.3775	46.0633	9154
+-89.5635	39.3648	8320
+-89.3881	39.8008	7864
+-81.2438	29.8472	7332
+-91.4414	40.0875	7586
+-122.4977	45.9062	8360
+-81.7584	25.6758	7489
+-116.5587	34.6352	8591
+-108.176	31.4039	7128
+-88.1822	38.044	9034
+-114.7875	34.5197	6801
+-116.3257	36.2859	6975
+-119.8727	45.9693	7572
+-120.6595	31.975	5528
+-92.0228	41.8831	5613
+-82.8856	24.9032	6543
+-110.4663	38.0672	2447
+-115.6652	35.4267	7292
+-115.6927	31.9785	8052
+-110.2472	31.6861	9328
+-115.4549	33.2537	7998
+-125.5921	49.7439	5357
+-116.6474	33.7659	8752
+-110.4138	33.5915	7296
+-89.3226	36.8773	8732
+-116.5045	33.4421	8885
+-82.7248	26.9939	8792
+-91.2899	38.1923	8277
+-89.4085	34.6288	6331
+-117.5122	36.4064	7044
+-116.9722	36.0885	7381
+-113.253	32.7797	6055
+-118.7244	29.4514	5518
+-123.6847	45.7897	8052
+-88.2096	35.8737	7708
+-115.6577	46.6454	6420
+-118.7874	46.8519	8302
+-82.0335	28.2111	9377
+-117.456	31.1116	7774
+-111.2438	32.1449	8315
+-90.2027	44.3937	3338
+-82.2066	25.5191	7348
+-125.8396	48.9277	5724
+-89.0427	36.7322	8722
+-117.3554	31.8446	8585
+-116.6199	33.6844	8679
+-114.9206	32.9825	7463
+-90.7229	41.4379	6504
+-115.1728	33.724	7511
+-117.5379	33.6219	8906
+-113.974	33.9579	6180
+-118.756	37.6619	5360
+-80.8765	28.6465	8157
+-88.7274	38.12	9304
+-89.5405	39.4785	8224
+-89.9332	40.4297	7550
+-121.8878	46.4182	8341
+-91.6464	37.6659	7630
+-117.0978	48.2338	6675
+-116.6789	36.7173	6647
+-82.0662	25.1985	6986
+-121.9944	47.9422	8144
+-111.7266	32.8763	7414
+-114.1745	31.4805	6300
+-89.3765	32.9676	4497
+-81.2445	27.3031	8758
+-120.1278	45.8304	7286
+-88.5282	38.4264	8921
+-122.2506	45.7152	8057
+-110.8593	31.8624	8828
+-93.4565	37.2976	5761
+-91.843	39.626	7589
+-116.4531	44.616	6765
+-122.524	47.7855	8616
+-83.9736	25.8908	6919
+-115.5935	36.6318	6258
+-126.8844	48.4013	4954
+-119.3879	33.0531	6941
+-120.6878	47.2038	7162
+-79.398	30.0251	5879
+-114.7383	45.9133	5501
+-119.4035	44.2368	6958
+-88.7326	37.4303	9548
+-119.5069	35.6509	6586
+-84.3318	25.5838	6387
+-117.6067	34.0803	9162
+-109.3354	30.2998	7712
+-122.1898	42.5947	4740
+-89.8963	38.7668	8899
+-111.6329	28.7582	6104
+-91.2701	40.7846	7032
+-118.3405	35.2457	7851
+-86.0578	26.0567	5049
+-118.805	45.8094	8628
+-84.6009	29.7265	6327
+-110.9593	30.6685	8273
+-121.6628	45.6635	7632
+-119.4311	29.5949	5229
+-111.7987	33.6106	6763
+-118.7203	35.9197	7025
+-94.6903	39.7067	4669
+-111.2608	30.113	7590
+-107.4191	31.3651	6307
+-117.8923	34.8212	8524
+-124.4055	46.561	7893
+-113.8568	33.1423	6265
+-83.7206	27.0356	7915
+-120.065	35.0142	6338
+-112.4878	35.2749	4842
+-113.7054	33.3759	6062
+-120.3307	43.3298	5612
+-79.8235	28.7342	7059
+-118.3619	34.615	8233
+-117.2863	30.8044	7480
+-88.3072	38.6698	8576
+-80.4741	27.6212	8008
+-109.6706	31.9622	8647
+-120.7535	33.2535	5615
+-116.672	30.9875	7686
+-116.4565	35.3826	7914
+-79.4351	26.1747	6348
+-122.795	48.2474	8194
+-81.5222	29.2733	8053
+-116.9363	46.0268	7832
+-118.3931	44.7652	7842
+-110.8193	32.1299	8681
+-87.9376	37.2492	8774
+-115.9575	32.8073	8627
+-89.3434	36.5193	8374
+-83.7813	28.2479	7950
+-90.3876	41.089	6903
+-82.9393	26.9707	8611
+-91.0626	36.8272	7226
+-120.264	31.2212	5667
+-119.9879	44.8168	7001
+-119.4979	47.0671	7616
+-90.0309	34.4285	5914
+-89.0306	33.8896	5566
+-84.4895	28.5298	7090
+-82.9199	28.3936	8754
+-120.3881	32.3167	5896
+-86.3111	36.5867	6804
+-88.8488	39.8826	7369
+-122.3516	44.9585	7319
+-116.8178	34.945	8526
+-118.2601	33.1218	8270
+-115.687	33.5703	8096
+-88.0104	35.8297	7586
+-111.9868	33.6425	6612
+-122.3606	46.6728	8931
+-87.4896	37.4082	8353
+-115.0046	49.2325	4458
+-79.3819	30.5466	5467
+-122.0008	45.5285	7743
+-89.0585	36.7525	8739
+-83.8161	27.1316	7858
+-81.5968	28.2745	9057
+-117.9654	47.2017	8046
+-83.2138	26.9816	8382
+-117.2386	33.8807	9261
+-116.5193	36.0616	7282
+-119.2971	46.07	8186
+-83.4716	28.7768	7995
+-119.8708	47.8993	6719
+-93.1868	41.5726	5136
+-117.6132	33.3185	8840
+-87.8191	35.3385	6994
+-120.9387	47.4804	7379
+-121.8198	44.7228	6870
+-118.5804	48.2549	6957
+-84.4776	36.6602	4870
+-111.4021	30.084	7479
+-83.0885	30.8151	6278
+-93.5945	40.8845	5268
+-117.3446	38.097	5213
+-78.3905	27.9336	5654
+-122.6756	44.6948	7098
+-88.8473	37.8781	9560
+-85.0037	34.4365	4249
+-112.759	30.3663	6533
+-82.8258	27.0805	8790
+-82.8356	26.5057	8260
+-115.0374	45.4154	5747
+-112.2089	35.1783	5080
+-85.6293	37.8111	6290
+-111.2922	33.3775	7269
+-110.7779	34.085	6721
+-88.9714	36.6179	8616
+-117.1592	34.4285	9195
+-111.2001	32.7189	7926
+-119.2358	42.7754	5598
+-107.8932	34.1045	5672
+-121.2475	29.716	3857
+-116.7303	34.4794	8842
+-86.391	39.2775	6593
+-109.7177	33.6369	7151
+-89.1892	40.5553	7091
+-87.3479	37.3416	8181
+-120.8715	33.6937	5576
+-109.144	32.9025	7549
+-81.355	28.3567	8787
+-114.437	32.3384	6881
+-89.2931	40.2756	7403
+-115.898	27.5111	3716
+-81.538	28.3301	8965
+-113.6826	31.8922	5829
+-91.9368	34.8137	4863
+-122.9154	49.9995	6274
+-88.3781	39.6909	7501
+-118.4621	31.3727	7434
+-89.5501	39.4259	8268
+-119.6532	45.9479	7801
+-116.0618	47.1838	6643
+-116.1134	33.8494	8242
+-89.0808	37.1342	9122
+-115.8215	47.6312	6190
+-115.9854	30.9482	7399
+-114.3429	34.1857	6348
+-117.6997	29.952	6455
+-114.7884	31.9234	7127
+-88.8495	38.704	8646
+-94.3792	37.7414	4982
+-119.1091	46.3408	8350
+-122.297	47.6448	8609
+-82.171	29.7109	7692
+-85.2236	29.2367	6021
+-110.2618	30.4658	8260
+-90.1776	40.5918	7427
+-126.1438	45.8669	5843
+-85.3852	36.5924	5833
+-86.7966	25.8587	4192
+-112.4064	30.6193	6996
+-119.7814	46.9866	7417
+-83.2965	31.4378	5536
+-116.2042	29.5641	6027
+-116.5424	31.9149	8641
+-91.1068	40.7347	7147
+-126.7519	49.1923	4719
+-123.9681	46.8706	8428
+-87.0431	37.5289	7874
+-90.7978	37.0304	7518
+-117.2743	33.8992	9282
+-82.0065	26.2478	8168
+-118.4012	47.6917	7570
+-111.0672	31.6239	8677
+-82.1843	26.7052	8690
+-88.6039	34.6313	6404
+-90.283	40.3772	7667
+-78.8652	30.2396	5256
+-79.9849	30.5437	5920
+-113.8027	32.305	6178
+-81.2152	29.2981	7872
+-79.3575	29.4579	6215
+-117.2955	38.1768	5127
+-84.6356	25.718	6234
+-119.9663	27.9873	3412
+-114.2168	30.7423	5911
+-106.899	30.2656	5488
+-118.8561	30.2458	6194
+-89.8063	36.2781	7868
+-114.8714	47.086	5499
+-84.0921	27.4706	7651
+-122.5987	45.4966	7958
+-112.3658	35.3627	4824
+-117.135	48.1372	6784
+-116.2558	35.453	7725
+-117.6647	42.3503	5236
+-80.6264	28.3596	8060
+-81.4214	31.96	5080
+-92.4562	39.5651	7024
+-91.4283	33.3963	4167
+-118.7988	34.9296	7654
+-118.2349	38.662	4486
+-115.1271	31.0088	6876
+-82.3295	30.4178	6885
+-90.3895	40.0186	8057
+-81.965	26.0182	7905
+-89.7275	37.1769	8605
+-125.7954	45.8157	6183
+-89.4559	37.0785	8798
+-120.9156	46.1838	7263
+-122.1778	46.7644	8782
+-113.135	32.0577	6395
+-111.753	29.9164	7101
+-126.2564	49.1047	5234
+-122.9726	46.2833	8851
+-89.6463	38.6968	8628
+-108.6796	34.4353	5902
+-108.3102	30.0295	6710
+-119.507	47.7271	7104
+-108.782	28.1655	5407
+-112.5294	32.4979	6896
+-88.1792	40.3884	6464
+-83.0366	27.0378	8579
+-113.0557	34.2029	5380
+-114.9984	31.4562	7084
+-118.7752	34.5338	7835
+-124.785	49.3926	6231
+-122.8039	46.8076	9402
+-120.9461	31.1836	4955
+-114.7651	45.2102	5417
+-120.6238	34.14	5876
+-120.3947	43.4951	5709
+-118.6398	45.4629	8487
+-113.018	31.7186	6561
+-80.9457	28.2244	8452
+-85.4482	26.6686	5942
+-81.8567	26.953	8920
+-91.8257	36.3221	6380
+-88.8129	39.1477	8151
+-117.9153	31.242	7702
+-119.5885	42.967	5666
+-113.7214	32.4383	6109
+-92.1152	37.0971	6844
+-91.1135	39.4522	8332
+-116.3193	47.1239	6915
+-118.6223	33.8839	8034
+-83.6074	25.9965	7286
+-116.6998	33.7895	8815
+-116.8386	44.6233	7073
+-92.0284	38.4045	7612
+-110.6726	30.2465	7979
+-110.8355	34.4282	6344
+-117.1504	33.5195	8856
+-92.2428	39.6807	7183
+-83.6523	26.3486	7542
+-109.2368	30.567	7854
+-109.1685	30.2129	7525
+-108.1204	28.6283	5474
+-89.8261	40.7496	7187
+-117.5979	31.1987	7816
+-116.025	45.0088	6604
+-82.552	30.2818	7008
+-77.6903	26.8527	4761
+-86.9827	32.16	3318
+-115.2963	31.7406	7537
+-113.9244	31.9767	6233
+-118.1754	33.7628	8467
+-114.0701	31.5203	6213
+-116.6509	37.3662	5948
+-110.6172	30.0461	7780
+-106.9158	26.6497	2971
+-111.3529	29.6746	7129
+-88.0743	35.1799	6918
+-79.5797	31.006	5226
+-107.8965	27.4281	4254
+-81.2688	26.2401	7908
+-118.1408	33.3282	8241
+-121.4608	48.555	7251
+-117.0196	49.3687	5549
+-116.8279	43.6097	6206
+-88.3918	39.0727	8181
+-108.37	32.3522	7189
+-117.6081	30.8739	7471
+-108.4792	28.2829	5372
+-125.6133	43.7047	4945
+-89.7572	40.9003	7010
+-117.5503	27.3261	3594
+-91.9392	38.8298	7745
+-119.2585	34.8258	7238
+-119.8543	36.5548	5672
+-122.7571	46.3368	8897
+-125.794	48.6124	5949
+-83.9699	28.2246	7751
+-87.8969	40.3625	6635
+-120.9653	41.7297	3830
+-117.32	35.204	8368
+-120.3467	45.3988	6953
+-90.6943	38.6168	9060
+-109.6703	30.8716	8420
+-115.6171	32.4082	8180
+-119.0854	33.7739	7515
+-114.8695	33.6208	7248
+-120.2548	32.3326	6046
+-87.5612	41.8619	4896
+-88.3526	37.8691	9297
+-89.6867	38.3647	8566
+-81.0179	26.5153	7996
+-118.6113	32.7994	7918
+-114.6566	30.8294	6354
+-91.0423	39.3192	8486
+-119.6439	42.8023	5482
+-111.956	28.9027	6079
+-114.6103	26.7554	2485
+-117.0095	30.5956	7275
+-115.5145	34.7312	7518
+-85.5472	27.9143	6027
+-121.9526	46.9033	8563
+-113.2631	30.4148	6056
+-119.6784	45.8777	7764
+-109.7111	33.3633	7431
+-119.163	44.7635	7566
+-118.0499	32.6939	8537
+-117.888	33.1837	8647
+-116.6823	34.8011	8570
+-109.3327	28.5992	6063
+-116.2364	31.7201	8283
+-115.8591	34.2748	7995
+-91.2056	35.7101	6306
+-107.4391	30.4709	6114
+-91.6877	36.2179	6354
+-91.6003	41.3643	6316
+-89.6299	36.2758	7978
+-90.6776	38.8028	9102
+-90.3336	36.2818	7468
+-118.0513	43.3566	6345
+-124.0569	46.5426	8253
+-82.0064	29.948	7420
+-111.4691	35.1639	5404
+-122.5991	48.6431	7735
+-85.1188	30.1299	5585
+-109.1441	30.4199	7671
+-117.6082	33.5828	8831
+-77.6576	30.063	4201
+-90.6803	35.6169	6668
+-88.8182	34.9351	6749
+-118.9373	45.4874	8312
+-117.6252	29.93	6450
+-91.391	38.9285	8321
+-118.1068	43.6096	6616
+-91.3359	37.2155	7478
+-117.9484	32.4301	8576
+-89.4286	35.687	7473
+-116.2066	33.3106	8742
+-108.7589	33.8821	6455
+-120.1959	48.2441	6218
+-121.8584	46.846	8454
+-110.415	34.5717	6235
+-119.9811	38.3517	4066
+-79.827	27.355	7242
+-84.8867	37.947	5448
+-107.0416	33.3963	5402
+-121.9511	44.9049	7113
+-115.9168	34.6027	7979
+-109.3606	28.7241	6201
+-118.8894	30.5761	6460
+-112.3081	34.954	5241
+-119.6807	43.6572	6280
+-113.3947	26.2369	2799
+-90.519	41.3011	6671
+-114.4068	37.4666	4747
+-111.8237	33.6615	6703
+-118.9196	45.803	8517
+-90.2809	36.1951	7445
+-118.3018	28.8163	5049
+-84.9596	29.3752	6213
+-110.9534	29.2419	6849
+-119.2396	45.6874	8158
+-90.6793	35.1605	6277
+-118.3666	32.0366	7965
+-120.2187	43.6433	5948
+-106.5199	30.4679	5169
+-117.5586	38.7591	4482
+-120.0317	45.9106	7398
+-117.2591	29.4822	6019
+-88.5281	37.5062	9493
+-84.946	28.074	6691
+-82.2352	26.2322	8153
+-87.2758	36.5917	7752
+-120.1732	44.9869	6938
+-121.0541	48.0024	7281
+-113.516	29.7608	5500
+-108.9324	29.5442	6793
+-90.2104	39.3248	8777
+-115.2909	33.7071	7636
+-121.0741	43.9416	5524
+-115.7872	35.7459	7151
+-116.535	32.5104	9163
+-119.3875	36.6219	5971
+-82.6775	29.8926	7410
+-81.7164	27.7981	9419
+-107.0568	30.0781	5567
+-88.694	38.8656	8466
+-112.0666	35.629	4705
+-119.1444	49.3968	5652
+-88.02	36.5158	8276
+-117.8696	34.8724	8497
+-114.8498	31.6616	7063
+-91.6856	40.6377	6952
+-82.3142	28.5535	8979
+-124.1065	45.8262	7782
+-81.9784	26.7006	8674
+-121.3104	47.7076	7679
+-89.7958	38.7175	8790
+-122.4318	45.5915	8010
+-89.4997	38.1094	8853
+-120.9969	32.4619	5240
+-91.0256	37.4701	7881
+-116.2678	48.6643	5806
+-118.605	44.2206	7241
+-88.2905	39.5333	7652
+-117.5562	33.7769	9037
+-89.5093	34.8161	6509
+-120.9871	49.664	5973
+-116.24	45.4421	6987
+-116.829	32.365	9226
+-85.8345	39.5374	5911
+-124.2737	46.7065	8070
+-115.6201	32.7398	8248
+-83.7079	27.3856	8060
+-125.6829	47.4896	6495
+-118.6049	45.6504	8675
+-89.6657	33.774	5331
+-116.4164	46.4483	7249
+-114.0784	33.5485	6430
+-116.4738	34.878	8351
+-121.7785	32.1734	4338
+-123.6754	46.4437	8579
+-120.9698	47.0669	7483
+-125.0245	49.1157	6286
+-86.713	40.0408	6291
+-116.7669	31.9632	8775
+-89.9654	42.0038	5889
+-115.4393	43.9739	5500
+-88.3885	38.6369	8646
+-116.1107	31.4598	7964
+-116.8995	33.0075	9527
+-119.5248	32.4162	6865
+-127.4839	43.8884	3540
+-120.6436	37.5782	4276
+-123.266	45.5518	8001
+-118.2257	32.4101	8277
+-116.8865	34.5075	8956
+-90.3151	35.898	7177
+-94.2337	39.0709	5260
+-123.8701	46.2705	8294
+-116.6696	29.413	5942
+-84.1973	27.695	7556
+-114.9088	33.538	7321
+-91.0638	38.7608	8691
+-119.1062	45.9728	8379
+-118.8136	31.123	6958
+-80.8821	25.5491	7012
+-110.4775	28.3974	6018
+-113.8628	33.6061	6181
+-93.1077	35.8942	5170
+-111.6046	34.1796	6341
+-90.7788	38.1934	8688
+-120.6013	49.0172	6222
+-90.6591	36.5969	7085
+-119.7002	46.3592	7735
+-117.1747	44.6167	7299
+-89.5149	34.6945	6375
+-90.0949	38.7682	9113
+-118.4851	32.4741	8017
+-88.2659	36.1228	7994
+-109.7627	31.3671	8812
+-115.1393	33.5056	7575
+-88.4235	37.9555	9311
+-115.9881	30.8618	7315
+-120.1078	48.8552	5761
+-116.6781	33.3197	9106
+-80.6407	25.9454	7228
+-111.6758	35.8854	4591
+-124.2251	43.2884	5311
+-118.9243	33.9015	7712
+-116.997	35.2078	8329
+-93.0633	38.2674	6489
+-81.4679	28.1123	9044
+-79.6801	30.2427	5949
+-85.5837	38.0756	6213
+-92.0884	36.3381	6241
+-113.6494	29.5858	5279
+-117.9583	43.0858	6050
+-91.445	37.7255	7834
+-116.4189	31.5598	8224
+-88.4037	37.355	9279
+-116.6903	31.798	8576
+-125.274	49.7045	5625
+-116.7493	34.0579	8968
+-114.0693	29.4797	4828
+-91.1678	36.9156	7274
+-117.3298	49.9299	5081
+-115.9911	34.535	8079
+-119.4225	44.9424	7540
+-93.3574	39.9097	5984
+-112.8279	32.8244	6455
+-117.5362	35.0538	8492
+-91.2276	39.2845	8347
+-92.7654	39.0575	6836
+-120.6707	46.1454	6996
+-81.8385	26.6819	8621
+-124.3593	46.427	7897
+-118.9817	49.8082	5264
+-81.8812	27.4047	9393
+-83.895	30.1058	6579
+-114.5198	46.7195	5221
+-117.5332	45.105	7941
+-117.7421	49.8381	5260
+-89.1846	37.4404	9282
+-80.382	27.8975	7906
+-115.3983	45.2299	6069
+-81.2295	25.7957	7439
+-78.40	28.5322	5581
+-121.7203	47.472	8196
+-88.2373	37.2299	9045
+-110.569	32.1663	8792
+-122.3447	48.6669	7641
+-93.9033	38.2282	5589
+-88.9472	41.3055	6265
+-89.5544	37.5026	8912
+-89.3526	37.9515	9083
+-108.4367	31.3686	7406
+-110.068	30.8296	8608
+-83.2778	27.055	8368
+-122.0477	47.0371	8667
+-89.9892	38.3964	8854
+-89.9362	42.1326	5747
+-92.3245	37.0198	6622
+-88.2139	39.4228	7748
+-118.7283	44.4762	7477
+-116.8982	34.3668	9062
+-91.4087	41.6451	6114
+-81.3884	25.7856	7498
+-117.9681	33.9465	8746
+-79.7874	27.2011	7162
+-91.1285	39.2891	8433
+-121.2611	31.2825	4666
+-88.5144	39.3215	7935
+-92.3836	41.7976	5495
+-117.1024	37.2473	6136
+-117.7341	46.452	8570
+-120.8159	47.2893	7289
+-88.8544	36.2412	8213
+-116.7641	32.9686	9470
+-113.6379	30.5162	5711
+-116.6421	32.471	9224
+-123.9595	42.0474	4078
+-90.3533	41.5657	6389
+-116.4685	47.4979	6834
+-124.9255	47.3476	7342
+-118.0088	35.4273	7911
+-114.8141	33.0063	7343
+-114.9632	46.5758	5708
+-125.3601	47.759	6767
+-111.4646	29.8461	7227
+-81.5946	25.8819	7675
+-123.0747	45.9618	8486
+-116.2295	35.0054	8060
+-116.1303	29.0523	5452
+-118.2059	44.6876	7762
+-120.0493	45.3241	7218
+-119.4665	44.5192	7169
+-113.9098	29.7918	5140
+-117.5708	32.8597	9077
+-119.7228	45.7201	7684
+-117.8476	33.3443	8469
+-81.4102	26.5502	8291
+-92.6775	37.6743	6693
+-116.9087	35.6963	7789
+-91.1316	37.7486	8077
+-120.5045	46.2557	6902
+-119.1552	33.8155	7449
+-124.3369	48.3604	7407
+-120.059	34.116	6492
+-116.9154	45.7061	7753
+-83.954	25.8165	6874
+-120.1057	43.1551	5593
+-114.0541	29.9185	5057
+-115.6965	28.658	4903
+-109.4691	29.3011	6830
+-82.8132	28.1275	9022
+-118.8291	48.8312	6311
+-109.4062	31.7949	8443
+-114.0789	34.3706	6051
+-83.6479	28.7755	7834
+-82.2993	24.7229	6444
+-80.9249	31.0357	5949
+-118.1971	34.1186	8523
+-117.2539	34.0724	9470
+-116.4669	34.7919	8408
+-119.9397	47.5553	6925
+-90.1067	39.4252	8638
+-84.279	28.7201	7236
+-119.2733	45.127	7790
+-79.1601	27.1381	6454
+-82.6929	28.6554	8704
+-120.5614	43.8145	5843
+-92.1432	39.1309	7484
+-123.9766	49.7119	6367
+-115.6019	35.0427	7469
+-118.7373	44.6849	7687
+-120.017	43.4477	5905
+-118.4733	30.9767	7100
+-117.4989	37.0779	6316
+-113.9879	34.5196	5937
+-115.9467	28.9051	5244
+-115.9759	31.573	7979
+-118.2435	35.5553	7656
+-111.9263	33.0439	7132
+-90.0052	39.0827	8881
+-119.3976	49.0203	5950
+-124.5097	46.5849	7789
+-116.5356	33.7127	8618
+-117.9417	35.0384	8306
+-88.4797	37.6906	9492
+-115.8605	45.3005	6559
+-92.2969	38.2859	7302
+-79.1441	24.9064	5212
+-119.2638	48.691	6327
+-118.4918	30.7076	6850
+-117.6734	35.0536	8440
+-121.2752	43.4157	5316
+-122.9835	48.7333	7663
+-83.2627	27.9614	8596
+-88.914	39.2647	7746
+-116.6829	45.5026	7451
+-118.2704	47.8356	7422
+-92.7916	38.1162	6740
+-117.7268	28.2727	4614
+-107.4528	33.1843	5903
+-117.5192	44.8539	7712
+-105.3821	31.3839	4105
+-118.8978	29.2807	5259
+-113.0376	29.5374	5799
+-120.8358	46.8977	7337
+-114.9734	31.2003	6890
+-82.0804	28.3149	9269
+-118.6998	44.8296	7845
+-114.0516	33.1026	6486
+-114.2442	46.6007	4950
+-111.8114	34.1751	6241
+-115.1688	32.494	7716
+-110.7921	33.6843	7144
+-85.1851	32.6453	3382
+-119.8194	34.041	6751
+-89.8024	41.0319	6886
+-109.6922	30.9031	8461
+-83.3365	28.9147	8011
+-121.2213	42.8286	4604
+-89.6286	37.1636	8695
+-118.5716	32.3887	7900
+-116.6096	31.3482	8067
+-113.03	31.2045	6523
+-109.8774	32.1815	8659
+-111.7145	29.7556	6991
+-86.9775	34.5386	5771
+-125.261	46.6003	6981
+-115.2879	32.3153	7799
+-116.7544	45.2742	7420
+-123.565	48.7464	7519
+-119.9438	33.8062	6596
+-121.4781	45.0681	7000
+-85.3855	26.8696	6076
+-116.1187	31.5593	8061
+-118.1508	42.5121	5458
+-121.2079	49.6555	6116
+-91.8393	40.2806	7147
+-119.0104	32.9867	7465
+-112.4375	30.1214	6698
+-114.902	36.421	5949
+-118.9777	34.924	7482
+-110.2042	33.6976	7179
+-90.5849	43.8342	3940
+-87.353	36.3449	7643
+-115.9877	45.761	6803
+-119.9984	33.0961	6350
+-91.5512	38.3468	8093
+-81.6109	30.4301	6822
+-116.9731	33.6257	8898
+-83.0673	27.308	8715
+-115.8765	32.8943	8534
+-117.2739	44.0024	6795
+-121.7257	49.828	6208
+-115.0016	35.405	6704
+-118.8737	34.4224	7757
+-83.1218	28.8603	8225
+-123.3556	46.3715	8783
+-81.5466	28.8014	8547
+-118.6985	36.3604	6650
+-117.7728	38.3432	4913
+-117.8517	30.5532	7042
+-118.045	47.1516	8119
+-108.931	32.4669	7678
+-117.9332	46.6799	8543
+-90.135	34.9294	6381
+-119.9001	34.1241	6665
+-109.8535	32.0684	8734
+-117.6597	29.7948	6295
+-80.0641	28.5983	7369
+-118.8399	32.2925	7583
+-117.1216	48.9466	6004
+-87.5631	39.1741	7649
+-118.8154	31.3162	7097
+-117.4396	48.3049	6760
+-79.7518	27.7664	7198
+-123.3667	45.776	8201
+-109.7949	30.7438	8393
+-90.4554	40.3915	7653
+-114.5046	33.4472	6918
+-122.0709	46.2339	8391
+-81.1346	24.8491	6404
+-117.7139	36.6129	6789
+-90.0946	37.3757	8289
+-123.6613	48.4977	7728
+-93.6993	37.4057	5568
+-93.3028	41.5696	5050
+-91.5426	35.5304	5736
+-83.7202	36.1299	3894
+-78.3203	27.4367	5562
+-122.3378	49.8078	6424
+-117.7119	31.0364	7600
+-87.4069	37.4684	8273
+-123.0128	46.1671	8719
+-89.6277	36.9107	8529
+-105.9715	30.6114	4632
+-88.0042	40.0912	6961
+-116.4725	46.9911	7123
+-116.7973	30.4878	7148
+-91.5845	39.5827	7849
+-85.8022	39.6684	5800
+-116.4678	34.8592	8360
+-118.7068	32.9763	7804
+-120.5656	45.6604	6799
+-80.7323	27.9236	8297
+-77.8454	27.715	5041
+-85.9896	35.9527	6152
+-87.1268	37.7463	7972
+-82.2772	27.7655	9730
+-114.47	35.1969	6274
+-110.6122	31.3013	9044
+-115.9492	33.6618	8278
+-119.035	49.7997	5262
+-116.299	43.0705	5425
+-79.9584	26.1754	6844
+-116.3957	34.2061	8585
+-119.0022	44.9769	7848
+-124.4541	43.8985	5828
+-117.4277	43.4233	6284
+-80.8828	26.2992	7711
+-113.0299	30.9714	6478
+-109.9553	32.3906	8508
+-111.9162	32.125	7661
+-117.6409	33.0069	8971
+-85.6673	32.1394	3532
+-111.647	30.4573	7599
+-116.9618	45.4847	7717
+-117.5039	43.8567	6745
+-88.6087	38.2237	9164
+-84.5763	25.5969	6196
+-92.5516	38.0537	6970
+-113.3474	32.6887	5995
+-118.5894	46.8303	8422
+-119.2637	33.0949	7082
+-81.5758	28.8646	8499
+-119.278	44.7452	7481
+-115.3452	47.6995	5718
+-90.1816	38.3196	8912
+-108.5846	33.0419	7006
+-113.436	30.6318	5957
+-115.6492	46.2798	6464
+-123.4316	47.0306	9018
+-118.7824	46.236	8713
+-78.4517	24.6725	4452
+-112.7187	26.7439	3628
+-87.8016	36.8842	8421
+-88.7794	38.7676	8579
+-118.4604	34.6636	8113
+-86.4418	38.8302	6897
+-118.3253	32.1297	8055
+-124.4458	46.5372	7844
+-87.836	42.4051	4622
+-85.2608	40.6291	4662
+-88.421	34.7997	6574
+-115.6669	45.1386	6308
+-115.8604	34.3569	7985
+-89.4783	39.8463	7892
+-83.5418	28.2833	8195
+-92.7624	39.8824	6584
+-114.2302	44.9427	4796
+-112.0777	29.5382	6561
+-114.0947	35.1611	5901
+-117.3259	32.1106	8869
+-117.5724	30.5401	7125
+-109.4667	36.0363	4558
+-80.7089	28.2403	8194
+-86.3003	27.3897	5159
+-115.7527	34.8945	7689
+-122.6676	45.3774	7842
+-122.5537	42.5502	4739
+-81.3215	25.9955	7688
+-121.9078	33.6268	4445
+-114.9735	37.3813	5201
+-108.0323	33.0876	6495
+-81.7615	27.2739	9194
+-118.0755	31.298	7655
+-115.9423	30.6159	7045
+-87.5047	37.3329	8350
+-92.4068	38.899	7237
+-90.0803	38.0854	8637
+-112.2164	35.8844	4386
+-116.6837	34.2024	8898
+-123.7239	47.0406	8697
+-124.2653	46.4531	8004
+-114.6796	31.4201	6764
+-106.5631	33.621	4830
+-118.4203	29.4663	5679
+-114.9238	36.6012	5826
+-117.772	29.8116	6283
+-80.886	26.8616	8149
+-108.8597	34.9977	5444
+-117.9104	33.5451	8587
+-111.5956	30.3404	7554
+-122.4503	48.7654	7569
+-118.1145	43.9098	6934
+-114.5457	30.9001	6309
+-127.405	48.4796	4385
+-117.6135	34.2873	9124
+-120.5097	47.1809	6970
+-122.3289	48.9803	7307
+-85.7798	39.2553	6017
+-118.5544	45.5352	8597
+-83.6083	27.2539	8126
+-119.0412	35.8792	6822
+-87.1671	39.3162	7235
+-83.1817	30.1721	6924
+-87.2886	27.9408	4057
+-118.601	34.7539	7933
+-89.7743	38.9836	8721
+-117.4859	49.0697	6004
+-86.6031	39.785	6416
+-119.9766	43.5958	6059
+-80.1525	28.4255	7531
+-84.5627	31.3101	5032
+-119.0983	34.1032	7540
+-109.3463	29.8267	7291
+-111.8735	30.923	7658
+-80.7791	29.3247	7557
+-90.2469	36.0752	7376
+-115.6344	46.6041	6405
+-118.8174	35.9733	6913
+-124.6294	45.9692	7413
+-116.9735	41.2546	3945
+-84.169	27.6578	7586
+-89.0665	37.867	9410
+-88.2373	38.9837	8221
+-107.9968	28.983	5686
+-89.827	36.4316	7988
+-88.3812	41.0507	6137
+-122.1347	48.5175	7706
+-91.416	37.17	7390
+-117.5963	35.5938	7905
+-120.2592	31.7109	5879
+-82.7858	27.1911	8908
+-90.2996	38.1389	8760
+-118.7107	35.5624	7322
+-79.9841	26.5476	7097
+-118.3855	32.797	8170
+-117.3186	34.4831	9152
+-85.9994	37.1646	6658
+-110.5898	30.0617	7802
+-124.0694	48.4855	7500
+-111.2537	31.1787	8384
+-81.8587	29.4474	7966
+-115.2647	30.5577	6598
+-89.0299	36.6664	8655
+-83.7671	26.5183	7566
+-121.3246	42.7882	4700
+-107.7457	33.6597	5879
+-110.352	34.0349	6817
+-109.7548	28.6448	6229
+-110.5324	29.5889	7302
+-119.8317	43.6495	6191
+-82.3769	30.0012	7349
+-91.6674	36.7576	6869
+-115.8805	34.5408	7962
+-90.262	40.5921	7435
+-79.0156	26.2931	5991
+-117.4251	48.6545	6407
+-84.2954	28.4386	7331
+-116.0633	31.9014	8319
+-119.1526	49.2444	5805
+-114.1369	44.1718	4418
+-115.1225	34.732	7110
+-85.1468	25.5649	5670
+-90.648	37.2869	7822
+-117.6514	49.7605	5326
+-117.0164	32.7055	9617
+-118.7259	32.7448	7789
+-110.6144	30.8016	8573
+-108.2831	32.39	7086
+-121.1041	43.9535	5753
+-121.4615	45.6309	7450
+-117.9786	35.7131	7648
+-115.4937	32.9401	8104
+-93.6238	40.8611	5256
+-88.5085	37.8111	9483
+-109.9905	31.6582	9093
+-85.0927	25.1524	5425
+-115.5052	29.7435	5957
+-87.6539	36.0636	7625
+-92.3457	35.983	5768
+-118.4111	33.3552	8028
+-81.8291	29.7023	7676
+-115.5143	31.718	7722
+-113.1859	43.3745	3139
+-120.6776	47.0032	7164
+-118.9542	32.944	7531
+-89.3682	40.9406	6822
+-88.4286	38.8289	8456
+-92.0447	40.3466	6941
+-113.1136	28.0636	4614
+-117.3499	28.8081	5261
+-90.7604	39.2542	8746
+-111.4565	29.2992	6716
+-85.4627	25.6327	5418
+-115.6574	32.2774	8174
+-117.5066	43.0951	5973
+-81.7943	27.0934	9040
+-90.7032	39.55	8496
+-122.3974	48.72	7602
+-108.7736	34.4677	5921
+-117.8957	45.582	8575
+-89.5852	36.3968	8120
+-121.3468	48.2555	7389
+-88.2164	39.1393	8050
+-120.1065	42.2414	4741
+-87.7392	39.5355	7421
+-108.8879	32.102	7810
+-92.1359	37.7017	7223
+-112.5426	30.6323	6868
+-88.774	36.1623	8127
+-117.0399	43.0067	5730
+-117.513	33.80	9086
+-90.5622	36.1638	7187
+-118.8366	43.0618	5990
+-114.2993	32.5879	6767
+-80.9527	27.2802	8448
+-118.1663	29.5853	5908
+-88.116	39.6725	7447
+-119.4627	32.4672	6942
+-108.8551	29.6814	6864
+-121.6053	49.183	6786
+-117.4639	46.2006	8386
+-124.4144	48.2041	7458
+-123.4548	45.2766	7652
+-81.7969	28.576	8901
+-109.6941	35.1062	5594
+-83.2071	26.5575	8063
+-118.4562	34.031	8235
+-90.522	37.9713	8572
+-122.1231	45.8582	8119
+-123.4224	46.5222	8853
+-117.5137	45.6038	8291
+-115.8219	32.76	8474
+-91.9609	40.7222	6702
+-119.9662	29.3779	4663
+-84.414	29.0686	6921
+-92.8688	37.4874	6420
+-82.0021	28.8859	8617
+-83.111	24.8528	6415
+-81.0476	26.4695	7979
+-91.4334	39.661	7926
+-89.2524	37.7208	9266
+-104.5701	29.1062	2677
+-122.9548	44.5157	6913
+-122.7653	46.7267	9304
+-81.8013	25.3767	7163
+-118.0563	33.6817	8546
+-120.7345	46.3835	7142
+-126.2213	47.1562	5951
+-79.646	28.9829	6760
+-86.8675	38.0675	7636
+-85.963	38.5512	6515
+-111.8626	31.131	7746
+-86.6895	40.6332	5749
+-109.5703	28.6639	6204
+-115.4382	32.9278	8044
+-114.208	31.8968	6509
+-89.8302	40.9316	6999
+-121.361	46.4074	7807
+-111.5749	30.8176	7893
+-120.6142	46.076	6792
+-116.7594	36.5655	6828
+-91.504	37.6133	7704
+-116.3647	34.1946	8552
+-119.3235	45.4817	7979
+-119.6359	34.5546	6913
+-124.3579	46.6209	7960
+-118.3564	35.6787	7475
+-88.4142	35.6576	7526
+-112.351	33.3833	6544
+-118.3024	48.5557	6660
+-121.4077	46.1501	7737
+-107.9479	35.5636	4446
+-112.3548	31.1103	7224
+-88.0374	38.1731	8818
+-118.5778	31.6936	7562
+-110.6833	31.4562	9070
+-83.3204	28.3094	8416
+-117.9072	34.8603	8481
+-108.8129	29.0434	6266
+-88.2773	39.9117	7235
+-116.8094	45.5612	7599
+-117.2245	43.7275	6509
+-118.7843	31.2645	7087
+-86.9483	42.1277	4232
+-109.3062	33.035	7547
+-93.0315	38.2978	6529
+-93.2643	35.0515	4371
+-91.5202	37.7618	7801
+-90.2063	38.3757	8978
+-115.8868	33.3606	8404
+-112.3847	28.8245	5749
+-119.5338	45.2839	7679
+-116.6338	30.06	6656
+-115.9094	45.098	6532
+-84.222	25.4344	6350
+-91.0934	36.39	6768
+-117.5601	42.8647	5750
+-123.4646	47.3534	8854
+-119.2165	32.5559	7226
+-126.3045	47.0213	5865
+-91.9618	42.576	4963
+-81.5392	29.7669	7532
+-110.6018	30.4309	8192
+-111.7071	28.6069	5922
+-117.9535	43.7045	6700
+-86.7661	37.0226	7456
+-115.7629	33.023	8391
+-92.2872	39.6528	7153
+-120.5285	45.8597	6869
+-107.7842	32.9303	6350
+-86.1233	36.767	6681
+-118.3399	44.2187	7267
+-116.8226	32.3268	9183
+-125.6832	45.2626	6021
+-79.4247	25.9029	6173
+-117.678	34.9035	8585
+-90.0764	36.3431	7725
+-123.1825	45.2346	7678
+-113.9577	35.8591	5467
+-114.4002	33.8358	6673
+-89.0237	40.0126	7424
+-88.4312	39.258	7989
+-91.1421	38.4562	8547
+-122.2575	44.4276	6729
+-121.9427	47.3421	8476
+-112.0265	31.559	7639
+-116.7592	33.7911	8870
+-88.228	38.4624	8736
+-115.0131	35.714	6535
+-89.6977	40.4476	7451
+-122.4574	46.046	8484
+-88.2893	40.0994	7032
+-119.9366	38.1437	4282
+-115.7179	30.7934	7101
+-119.5399	45.6002	7828
+-118.05	34.0298	8676
+-83.2045	27.7925	8680
+-115.308	47.1986	5901
+-90.9753	40.1004	7835
+-88.9125	36.619	8628
+-87.6329	39.0826	7778
+-90.8314	41.7592	6145
+-116.4806	45.6212	7285
+-118.6261	32.1965	7777
+-126.0663	46.4166	6075
+-85.8939	29.0638	5392
+-88.18	39.4247	7734
+-82.1003	26.5648	8532
+-116.7097	32.3864	9194
+-92.8061	38.0978	6720
+-120.1423	49.3853	5576
+-88.1822	43.2072	4066
+-88.1545	39.5513	7590
+-90.5918	36.8947	7412
+-90.1748	40.1147	7936
+-108.0633	32.7403	6713
+-81.9489	27.1857	9203
+-118.4092	34.9024	8035
+-120.6444	46.7329	7115
+-114.3824	37.1252	5005
+-89.8533	36.7436	8215
+-122.8062	47.393	9127
+-117.1727	35.2074	8362
+-115.2956	35.0363	7173
+-108.6112	33.0651	7012
+-114.7256	31.8712	7040
+-91.4055	42.4247	5313
+-81.1486	25.9163	7521
+-89.4733	38.4027	8375
+-89.8915	37.7431	8217
+-109.7594	34.5201	6231
+-118.1414	29.0773	5381
+-88.858	38.9686	8349
+-92.3703	37.2147	6718
+-117.3259	34.5203	9111
+-110.1323	31.7136	9214
+-119.0067	31.634	7123
+-119.8633	49.1606	5613
+-124.8007	45.5015	6970
+-85.6254	25.8199	5369
+-116.5874	32.2583	9000
+-112.7385	32.4998	6685
+-118.2269	38.4314	4734
+-124.1995	46.7421	8157
+-108.8893	25.4426	2639
+-84.822	30.2731	5734
+-112.9881	31.8846	6579
+-89.0121	43.7989	3785
+-115.3494	34.1647	7446
+-91.2732	38.9605	8439
+-120.7396	44.3227	6050
+-125.4067	46.1319	6704
+-124.122	48.4357	7507
+-94.3668	37.7096	4987
+-78.8976	25.2952	5286
+-79.1204	27.0219	6381
+-116.7475	45.8671	7615
+-88.9283	37.7464	9612
+-94.5498	41.7582	3885
+-119.951	44.06	6470
+-121.5018	35.032	4815
+-117.896	39.1649	4006
+-110.345	29.7564	7494
+-118.6633	46.4094	8742
+-118.6544	38.4719	4569
+-109.3003	34.0107	6615
+-87.9973	39.4497	7635
+-111.4664	29.9307	7303
+-117.5164	36.0791	7398
+-89.7233	36.5626	8176
+-107.1661	31.8616	6029
+-113.3106	30.9978	6186
+-118.9524	41.4114	4245
+-85.9064	31.1236	4179
+-114.2377	35.073	6079
+-125.054	45.1415	6504
+-114.7032	34.4481	6721
+-119.572	33.6087	6959
+-85.1293	31.4912	4484
+-87.8293	37.2154	8648
+-91.2914	39.0857	8381
+-111.0547	31.8319	8647
+-90.2267	39.6491	8441
+-117.4488	33.6635	8988
+-89.8805	38.1312	8565
+-86.4476	43.1549	3058
+-116.8217	31.4898	8264
+-122.7874	47.6331	8864
+-117.5861	34.4632	9037
+-87.8334	37.7458	8764
+-81.6618	29.284	8095
+-117.6327	32.335	8836
+-122.427	48.4373	7909
+-118.5642	48.2046	7012
+-117.5694	33.9015	9122
+-124.5082	43.0215	4926
+-111.3291	31.9974	8305
+-118.2143	36.0553	7200
+-108.4045	33.2848	6687
+-121.3694	47.3142	7882
+-120.7809	34.413	5692
+-120.6128	43.8121	5802
+-113.0401	33.6599	5777
+-118.7991	43.7304	6692
+-87.8074	38.7018	8230
+-121.6906	47.0592	8274
+-118.9323	46.007	8566
+-84.0755	27.7339	7695
+-92.0396	36.9592	6795
+-124.7247	48.5086	6982
+-89.8763	39.1427	8733
+-118.8216	41.8756	4750
+-120.5927	47.715	6941
+-126.6509	47.2489	5474
+-122.609	48.0053	8421
+-118.3666	33.3457	8062
+-118.4216	46.2779	9022
+-120.1395	33.865	6390
+-89.103	39.0752	8001
+-109.7614	32.9502	7868
+-88.1054	34.4829	6166
+-91.3986	39.5104	8057
+-120.3853	47.2723	6712
+-122.7857	47.5298	8975
+-90.7918	40.8135	7157
+-90.0274	35.961	7435
+-119.2807	48.241	6759
+-119.7573	46.3835	7671
+-80.3191	27.6512	7836
+-88.6827	37.7894	9648
+-117.3481	36.7518	6680
+-116.3688	31.9538	8582
+-90.1077	39.3058	8756
+-116.7844	31.4703	8237
+-116.4409	34.5483	8530
+-109.884	29.55	7217
+-110.7959	32.0671	8748
+-80.2111	27.693	7716
+-122.1157	29.2732	2781
+-83.362	26.3773	7794
+-79.9475	28.4774	7292
+-111.7695	32.617	7556
+-112.472	30.7734	6996
+-82.5577	29.1338	8273
+-117.181	30.7542	7440
+-110.0362	33.0237	7880
+-118.623	29.3669	5485
+-92.7875	41.424	5549
+-85.7313	26.2349	5468
+-86.5835	40.1019	6143
+-89.2846	40.4616	7232
+-117.8704	38.0409	5225
+-90.8474	38.1762	8629
+-94.4939	40.4262	4640
+-115.7464	46.661	6509
+-115.9802	29.9948	6419
+-124.3341	48.8013	7048
+-82.1102	27.2131	9266
+-122.0955	31.3029	3788
+-119.71	34.3161	6865
+-112.3309	33.4318	6525
+-122.0678	46.9443	8692
+-86.1261	41.1798	4881
+-91.8936	38.7502	7796
+-86.992	37.464	7810
+-88.7912	40.0256	7225
+-115.1056	36.3673	6147
+-116.4785	43.8609	6215
+-91.4332	40.0079	7658
+-90.9802	42.8879	4918
+-86.4198	30.5791	4092
+-117.1787	28.3403	4754
+-116.9703	43.2213	5910
+-109.1591	29.2656	6659
+-113.1416	30.5863	6245
+-109.8064	33.2396	7590
+-89.7298	36.0121	7667
+-87.5442	36.3921	7833
+-80.7677	28.1393	8291
+-115.5811	46.2068	6396
+-117.7966	45.2177	8193
+-121.779	49.5911	6471
+-81.9359	28.6721	8844
+-121.7346	46.1488	8042
+-81.6058	24.2878	5912
+-124.0218	47.6426	8167
+-117.1512	27.0308	3296
+-120.0851	48.6363	5966
+-110.4207	30.1505	7918
+-114.6487	32.028	7022
+-88.2789	38.1717	9026
+-81.805	27.5315	9436
+-89.3927	36.1615	7986
+-119.1966	46.5749	8170
+-110.5362	34.718	6070
+-87.5036	37.08	8252
+-86.9555	35.9571	7020
+-86.6959	39.0034	7048
+-91.5873	38.9119	8115
+-92.4932	40.138	6702
+-109.7954	31.5779	8891
+-88.1085	38.9056	8240
+-115.3529	36.2492	6426
+-88.805	34.5674	6337
+-117.9881	32.5606	8578
+-108.3787	33.1288	6774
+-117.9431	34.0825	8798
+-93.2093	39.8126	6170
+-88.6244	38.5003	8865
+-85.4455	42.512	3220
+-118.0694	35.0075	8243
+-88.3709	40.8135	6318
+-83.6966	27.3461	8061
+-110.9967	35.6031	5059
+-91.5431	42.7479	4938
+-91.5399	35.966	6175
+-127.6528	45.3825	4102
+-81.6275	30.0822	7211
+-125.1368	47.9536	6920
+-116.1356	36.1989	6969
+-93.7293	36.93	5319
+-118.7841	33.925	7867
+-106.0151	35.5383	3129
+-111.5197	31.4991	8185
+-123.4939	47.8268	8458
+-114.8567	40.6742	2464
+-107.0648	31.881	5918
+-91.0497	40.3043	7602
+-123.049	48.2758	8159
+-93.0242	37.2128	6131
+-79.0289	26.9625	6264
+-106.3552	32.8052	4965
+-116.0648	35.20	7785
+-111.4618	29.9634	7335
+-107.6932	33.691	5813
+-109.9913	29.0687	6724
+-119.6711	43.1754	5832
+-118.7393	33.0184	7763
+-115.2244	30.1998	6246
+-106.5838	32.51	5289
+-80.0343	30.5042	5990
+-114.3187	33.3677	6736
+-93.8336	33.4525	2610
+-111.2356	31.9701	8410
+-87.5937	35.3329	6884
+-112.6288	33.2098	6425
+-111.1462	31.4862	8587
+-115.3565	36.7435	6010
+-88.2593	34.2581	5948
+-120.4923	47.4099	6917
+-112.6826	32.7532	6630
+-86.6739	39.2772	6850
+-109.5328	27.5316	4999
+-80.2073	30.4143	6188
+-117.8245	30.4883	6985
+-112.0018	29.8362	6856
+-88.4293	34.3764	6103
+-93.9961	37.2134	5193
+-89.3931	36.4793	8309
+-116.3966	30.883	7504
+-123.5274	46.4818	8735
+-112.3972	33.0691	6718
+-114.9797	36.8731	5645
+-120.3427	47.6918	6504
+-90.3428	35.3954	6712
+-92.8904	40.8115	5926
+-81.5848	27.3132	9087
+-89.7126	41.5901	6279
+-87.7837	41.6317	5241
+-106.1132	33.2289	4566
+-118.2684	30.2206	6514
+-118.7449	33.991	7918
+-120.8798	44.4537	6004
+-117.9613	45.7366	8746
+-118.662	48.1943	7007
+-90.7257	39.2063	8809
+-118.1261	29.5652	5903
+-90.5882	35.5242	6659
+-109.4609	31.9644	8442
+-122.8383	46.5761	9172
+-111.2539	32.0137	8372
+-82.7506	34.0958	2698
+-88.3756	39.5773	7625
+-119.9811	48.0655	6510
+-88.7472	38.8866	8445
+-111.5101	35.8981	4628
+-111.7584	34.2356	6211
+-87.4546	37.0716	8198
+-120.7905	30.8306	4947
+-123.5652	48.1614	8104
+-112.1627	31.5461	7491
+-119.4945	46.1069	7978
+-116.8945	34.619	8870
+-80.7351	27.7731	8311
+-111.8058	29.9338	7078
+-116.5743	43.0165	5527
+-88.924	38.9326	8382
+-88.5841	35.6163	7505
+-89.7449	37.4429	8689
+-85.4644	35.3369	5279
+-123.8293	44.5255	6737
+-116.4828	32.9668	9188
+-118.3835	33.7754	8258
+-109.6497	34.4623	6268
+-110.6359	32.0647	8857
+-89.3372	35.5264	7329
+-109.3305	32.0915	8255
+-96.8285	40.0872	2330
+-87.9875	39.6968	7374
+-116.1662	32.4863	8787
+-92.9667	35.8478	5237
+-83.5982	26.7188	7855
+-116.2938	33.8254	8425
+-109.2005	32.2653	8041
+-85.4686	37.3489	6096
+-89.3611	37.6054	9144
+-83.7296	28.5475	7882
+-85.6856	37.7577	6355
+-120.0863	48.7861	5834
+-85.0685	28.8979	6334
+-78.536	27.2042	5773
+-114.4318	37.6457	4614
+-91.8003	36.8246	6848
+-118.7834	49.3459	5782
+-91.1896	39.3021	8371
+-111.1631	33.0844	7615
+-120.925	49.0592	6445
+-114.4097	33.3685	6835
+-109.05	34.3158	6203
+-113.0255	34.9034	4842
+-122.9544	44.7664	7188
+-106.0856	30.3504	4681
+-120.7467	43.66	5588
+-122.8206	47.1969	9339
+-88.2192	39.7224	7426
+-89.605	39.6399	8150
+-117.8325	35.2031	8218
+-117.2224	41.9555	4730
+-113.76	32.7182	6175
+-90.1203	38.5804	9087
+-88.5835	40.2787	6879
+-89.6285	38.8324	8606
+-111.3267	33.067	7539
+-120.9619	35.6078	5198
+-122.1471	46.4414	8598
+-126.5199	48.5183	5279
+-116.7389	47.7618	6858
+-113.8423	29.4955	5050
+-118.4553	37.2822	5866
+-119.77	48.9866	5822
+-114.7237	33.644	7086
+-87.152	37.7203	8002
+-82.8216	28.5817	8686
+-90.7821	40.1716	7833
+-127.0151	44.6782	4433
+-111.7374	34.4746	5991
+-91.1578	39.5105	8254
+-119.0792	31.1022	6718
+-86.9777	38.6622	7517
+-92.1508	37.6663	7190
+-87.8622	40.0311	6973
+-120.1995	43.8933	6165
+-122.9322	45.1839	7647
+-90.1335	38.6254	9123
+-88.7526	39.4343	7830
+-118.664	35.2056	7616
+-85.365	42.9687	2743
+-110.6581	29.4199	7103
+-109.86	32.1057	8710
+-91.3926	38.7298	8336
+-117.8105	45.0508	8042
+-114.6367	30.8554	6356
+-116.9598	37.0671	6320
+-81.4006	29.0142	8256
+-110.1313	27.8785	5454
+-115.2403	34.8399	7197
+-118.491	35.2292	7745
+-118.3705	42.3707	5310
+-82.8892	28.4927	8707
+-88.978	39.0046	8294
+-117.4202	45.8256	8301
+-116.3807	34.8976	8262
+-91.8454	36.7552	6759
+-87.1302	37.968	7947
+-118.2547	34.3131	8442
+-93.525	39.2786	5991
+-107.7768	30.332	6390
+-122.145	45.4419	7737
+-117.7412	35.4299	8032
+-81.9209	29.8614	7510
+-87.8939	39.9489	7072
+-118.3316	30.2473	6508
+-90.0727	36.8445	8083
+-86.6263	36.2477	6933
+-120.0452	48.76	5881
+-114.6363	33.5063	7042
+-83.3508	25.8643	7337
+-91.2359	35.3324	6001
+-122.1552	46.5838	8686
+-121.0054	46.3367	7413
+-117.3387	33.8931	9264
+-88.7186	36.8097	8852
+-114.2993	35.1209	6126
+-126.6324	47.6912	5429
+-89.6415	40.9628	6909
+-125.0658	46.2873	7112
+-119.6886	45.0095	7377
+-117.4122	45.8528	8302
+-116.9041	29.9051	6505
+-111.892	26.726	3947
+-109.0547	31.3044	8056
+-116.1824	32.6661	8862
+-89.3682	39.6145	7987
+-88.5098	38.9733	8320
+-118.4212	33.0828	8103
+-116.2217	44.3204	6376
+-120.5066	43.7014	5797
+-89.0309	38.1331	9213
+-118.7228	30.9673	6908
+-124.2045	44.2297	6275
+-115.0682	46.1784	5854
+-116.8211	42.6777	5319
+-124.901	48.5204	6823
+-119.4092	47.2158	7582
+-80.8455	26.692	7995
+-90.0169	38.3766	8860
+-109.7931	31.7474	8862
+-88.5963	40.6187	6638
+-117.6325	34.6236	8871
+-83.2771	28.2205	8500
+-91.5723	44.1761	3437
+-120.227	46.2624	7195
+-111.3356	30.7173	8038
+-119.7873	36.0918	6056
+-116.3112	34.1607	8495
+-116.2099	34.1653	8385
+-108.4712	31.7662	7446
+-110.3582	30.0577	7820
+-112.982	34.3868	5295
+-106.4816	33.705	4709
+-87.8755	41.0081	5787
+-117.2984	36.7953	6634
+-91.569	40.3435	7284
+-117.5318	36.6132	6817
+-121.2878	47.5935	7706
+-88.5624	38.039	9338
+-112.8403	28.7679	5389
+-114.8921	35.5942	6497
+-90.8802	36.0621	6837
+-113.3315	31.7006	6223
+-120.6921	44.7218	6321
+-124.2472	45.8693	7697
+-93.3436	37.2851	5864
+-90.6669	37.5517	8097
+-115.5435	32.4605	8117
+-87.7406	39.7376	7220
+-81.1459	29.4046	7729
+-115.8857	30.1946	6589
+-115.108	30.9584	6821
+-78.7979	28.9616	5884
+-110.5772	30.9815	8770
+-118.9303	32.4998	7534
+-113.7696	31.4993	5749
+-83.8418	29.2673	7320
+-82.3068	27.1919	9213
+-117.3723	36.6657	6773
+-110.6382	32.2394	8690
+-83.6478	29.8794	6951
+-113.8127	36.4859	4979
+-124.1351	48.3175	7595
+-119.8983	30.3042	5446
+-121.749	48.6515	7364
+-124.4893	45.7537	7410
+-117.5028	44.3329	7215
+-88.4273	40.098	6864
+-118.4505	47.4064	7866
+-92.7798	40.795	6029
+-89.7103	40.1086	7790
+-118.5674	34.0499	8116
+-92.2038	41.0285	6281
+-82.913	27.7635	9010
+-82.3211	25.336	7134
+-88.3562	39.1892	8044
+-110.4063	29.2824	6979
+-114.2563	31.1261	6190
+-123.557	44.4723	6772
+-118.5409	47.2669	7995
+-117.8902	34.3018	8833
+-89.8058	39.9695	7970
+-117.0452	30.41	7067
+-117.2221	33.7297	9095
+-122.4236	47.3743	8917
+-89.5347	37.7863	8942
+-115.9145	33.4965	8356
+-118.8247	29.7683	5771
+-85.4742	41.691	3978
+-125.0141	47.5481	7197
+-117.7552	47.1344	8031
+-87.22	36.0211	7281
+-119.7559	41.2622	3905
+-117.128	34.3561	9252
+-116.9284	44.366	6930
+-111.3249	31.2563	8342
+-120.54	37.4428	4460
+-92.3236	36.2354	6001
+-88.8397	37.9756	9458
+-89.3202	38.3421	8834
+-89.3141	37.2195	9022
+-111.5443	28.5786	5964
+-115.5992	31.2296	7416
+-86.9355	33.6029	4812
+-78.8525	28.4308	6105
+-87.7256	35.5584	7176
+-80.8563	27.6905	8445
+-110.7636	28.9576	6591
+-89.4308	37.5144	9050
+-114.7883	30.7454	6400
+-82.171	27.1256	9166
+-81.059	29.6113	7477
+-111.512	32.8819	7573
+-90.241	39.7759	8308
+-120.7186	45.0837	6466
+-81.2461	29.7326	7452
+-89.7908	37.1756	8540
+-87.665	37.8019	8569
+-80.2711	26.6311	7425
+-112.7421	35.4234	4562
+-118.4937	44.6011	7658
+-90.0503	40.2176	7802
+-116.9092	32.92	9621
+-86.2529	36.3502	6630
+-124.8764	48.3624	6948
+-82.4052	28.1085	9398
+-90.1748	37.7148	8286
+-116.5413	31.8371	8562
+-91.2892	37.4789	7742
+-116.3387	29.2576	5722
+-120.2409	43.1888	5545
+-89.7808	37.0523	8484
+-120.7933	47.488	7222
+-125.4026	42.8965	4357
+-114.3287	34.253	6330
+-117.9606	35.5069	7859
+-119.9982	47.9627	6579
+-125.6468	43.4653	4717
+-81.817	25.7376	7569
+-119.0743	43.5191	6402
+-109.6343	33.2117	7554
+-86.0747	38.9446	6470
+-84.3437	25.0279	5911
+-108.9589	26.1502	3402
+-116.0773	46.9331	6763
+-90.4132	40.4652	7575
+-86.3096	41.2499	4938
+-117.6769	46.7923	8286
+-114.6659	33.7638	6978
+-86.2478	35.9269	6379
+-121.1353	32.9993	5140
+-114.9882	44.1847	5224
+-116.1545	34.0446	8321
+-81.3853	26.8268	8534
+-114.492	35.5431	6143
+-111.2387	33.549	7129
+-91.6616	36.7081	6828
+-118.8027	46.8146	8325
+-88.1061	37.6638	9074
+-89.1037	40.8851	6741
+-113.8159	34.2787	5770
+-117.9094	34.2006	8833
+-87.7085	35.9238	7527
+-115.5849	37.1195	5799
+-89.299	37.9779	9122
+-121.6848	47.4003	8189
+-84.0358	26.9265	7540
+-85.9533	39.5207	6033
+-88.0462	36.5884	8360
+-119.7637	36.5221	5768
+-118.7834	36.1609	6776
+-118.2841	32.1387	8100
+-116.7923	34.4026	8943
+-91.0143	41.5447	6336
+-119.0492	32.6874	7425
+-116.1659	46.8991	6864
+-91.3376	38.2357	8256
+-84.5842	30.7762	5501
+-81.8626	29.1991	8243
+-92.1427	38.0981	7402
+-123.8956	48.0413	7997
+-119.304	46.5356	8085
+-114.8795	35.1005	6728
+-117.345	34.4434	9189
+-93.2969	38.9207	6279
+-115.1719	45.9366	5961
+-81.4286	27.7066	9092
+-92.1519	39.27	7437
+-119.3077	47.8441	7118
+-90.93	37.9148	8348
+-93.8645	36.9812	5216
+-119.5755	29.8827	5374
+-89.6681	36.3586	8032
+-83.0144	29.3665	7826
+-117.4293	34.8537	8732
+-120.3327	47.8021	6439
+-125.6324	43.8692	5068
+-127.5491	48.0099	4371
+-118.0437	30.6344	7038
+-115.2287	46.8179	5937
+-116.3057	37.312	5916
+-90.8892	39.1483	8730
+-91.3043	38.3388	8337
+-125.70	48.0573	6305
+-116.4234	34.2917	8602
+-80.7526	25.8266	7198
+-90.1566	37.6714	8236
+-119.6021	45.6412	7782
+-89.1997	40.519	7130
+-84.8054	26.2593	6422
+-91.385	38.6226	8336
+-92.4452	36.7865	6355
+-117.0536	31.691	8494
+-89.0852	38.7776	8517
+-105.9127	33.76	4135
+-116.7928	33.2877	9193
+-114.6485	43.4692	4508
+-119.3392	46.4139	8094
+-127.2077	45.2311	4504
+-115.1739	33.6708	7538
+-86.6521	38.5921	7224
+-121.8468	46.6291	8391
+-94.0887	36.3345	4657
+-122.8608	45.7799	8302
+-110.5125	30.7344	8533
+-90.3989	37.5793	8162
+-83.481	25.9741	7355
+-87.8277	38.6127	8318
+-92.0996	36.934	6731
+-111.8703	29.7616	6891
+-119.2758	46.893	7915
+-117.934	33.7594	8703
+-86.4289	38.3974	7066
+-82.1193	25.7277	7586
+-93.1869	36.846	5772
+-117.3808	38.0906	5219
+-117.7118	45.3553	8266
+-118.1119	30.2298	6597
+-87.6431	37.7783	8548
+-117.284	45.7912	8153
+-117.1771	32.2548	9084
+-112.7601	30.5977	6636
+-91.1734	38.9365	8549
+-87.0668	38.1206	7840
+-115.3146	30.6322	6698
+-121.8014	47.6412	8190
+-85.4095	29.8171	5520
+-126.0222	46.5084	6139
+-89.948	39.4977	8492
+-89.6803	37.3113	8715
+-82.8129	26.2393	8001
+-114.0798	30.5145	5634
+-116.0341	33.7885	8142
+-117.509	36.4028	7048
+-118.3421	31.9354	7931
+-109.8555	32.0079	8781
+-112.9522	31.5181	6635
+-86.1762	37.3882	6891
+-118.3683	45.1601	8261
+-116.8235	29.9313	6531
+-115.705	30.5677	6877
+-116.7396	36.5726	6816
+-119.6115	47.1916	7440
+-119.1662	33.5031	7355
+-89.0218	43.0593	4553
+-84.7777	26.2794	6460
+-120.2611	32.2066	6016
+-115.648	35.5287	7207
+-115.1721	33.9851	7247
+-114.9209	47.5757	5372
+-121.6974	49.1753	6843
+-86.9016	36.1994	7152
+-109.5045	31.6691	8571
+-81.0198	26.333	7839
+-92.5141	37.2229	6599
+-118.7724	33.1496	7576
+-119.099	46.3468	8358
+-116.2911	35.5039	7703
+-89.6612	39.282	8458
+-115.1838	31.9019	7518
+-115.9669	41.7482	4039
+-80.0409	28.4558	7400
+-89.5975	37.2983	8795
+-118.1271	36.5498	6740
+-116.422	31.309	7965
+-123.0261	48.7563	7635
+-121.2868	47.7099	7655
+-123.2535	46.4848	8950
+-118.5018	30.8707	6988
+-112.3271	32.8118	6936
+-82.2874	27.8024	9714
+-88.0106	37.7539	8961
+-118.8031	35.2931	7438
+-108.7677	31.9252	7737
+-87.4883	37.5758	8377
+-90.3001	37.4635	8035
+-90.7359	38.2554	8770
+-108.6342	30.0021	6959
+-90.8655	37.2013	7676
+-117.0691	35.0613	8503
+-112.6353	29.8946	6380
+-120.5307	47.0328	7002
+-113.2787	28.7616	5054
+-87.339	39.3211	7362
+-109.8162	31.4203	8886
+-117.7015	30.2479	6773
+-117.6029	36.5155	6914
+-117.3212	46.5069	8154
+-116.6546	32.5029	9259
+-116.4101	38.07	5143
+-122.4386	46.3947	8799
+-93.7832	37.0323	5319
+-87.9205	39.8999	7134
+-81.4718	28.4852	8787
+-116.2291	35.8699	7331
+-119.4095	32.7635	7027
+-96.875	38.5805	2425
+-89.9696	40.6871	7289
+-119.053	34.5162	7545
+-94.4047	33.8956	2630
+-117.5681	32.7963	9082
+-85.4293	32.046	3781
+-82.341	27.3579	9374
+-117.8394	36.561	6817
+-110.0361	33.4003	7479
+-91.1907	39.8069	7991
+-117.1113	49.4008	5551
+-80.5707	29.0812	7582
+-83.5231	27.3534	8252
+-88.8676	38.3319	9059
+-113.9698	29.6845	5029
+-117.5501	33.898	9136
+-114.5244	34.2445	6544
+-118.7759	44.5983	7587
+-85.7113	36.21	6016
+-124.3685	48.7985	7027
+-118.7573	33.2768	7662
+-118.1394	47.5607	7706
+-118.6346	42.973	5928
+-87.451	38.4316	8106
+-81.7178	24.6867	6376
+-79.4382	29.098	6492
+-117.6421	36.8198	6579
+-115.4678	31.9814	7839
+-87.4904	38.3819	8173
+-90.2704	37.1557	8032
+-114.2068	36.1764	5525
+-112.0703	29.0568	6152
+-117.2444	35.2608	8308
+-91.4163	37.3327	7534
+-110.2133	27.389	4927
+-108.9237	31.7341	7938
+-126.5708	45.6975	5339
+-91.9155	37.2567	7118
+-109.8102	31.4757	8895
+-86.6844	40.7202	5666
+-96.0406	38.8614	3326
+-120.335	33.1799	6033
+-111.6009	33.9323	6582
+-125.9137	46.1128	6165
+-120.3501	48.0072	6581
+-116.5174	41.5847	4126
+-118.9281	48.7919	6329
+-117.6333	43.2625	6178
+-118.7054	31.0965	7025
+-117.5429	34.4849	9050
+-121.2621	48.6699	7010
+-114.19	45.6824	4903
+-119.8109	46.2884	7630
+-111.8077	31.5458	7876
+-115.6459	33.6628	8003
+-88.8826	38.1421	9265
+-116.4847	33.7791	8602
+-89.5059	35.9494	7717
+-117.7688	33.7653	8859
+-115.9511	45.5754	6729
+-87.938	36.9092	8555
+-119.0267	46.8284	8158
+-87.8533	41.3627	5504
+-90.1207	39.682	8381
+-113.7083	29.5968	5230
+-122.5166	41.599	3694
+-109.3865	29.9836	7460
+-118.632	33.5048	7898
+-89.7489	39.8916	8017
+-122.276	46.7001	8861
+-110.7256	35.9476	4726
+-83.7816	29.7762	6952
+-124.6953	44.7581	6479
+-120.0711	46.9837	7149
+-92.6229	37.2858	6540
+-91.2489	37.402	7698
+-116.70	38.8332	4374
+-116.2344	31.4641	8037
+-84.7579	30.6302	5498
+-109.5679	29.0558	6612
+-90.5183	35.7555	6906
+-122.9395	45.4389	7927
+-110.6573	30.784	8539
+-82.9656	33.165	3713
+-86.1022	36.4391	6522
+-119.0205	31.8122	7203
+-89.2807	38.5564	8661
+-87.4092	39.9453	6837
+-117.4585	36.2846	7182
+-91.787	39.4838	7717
+-88.502	37.7555	9502
+-119.646	45.6661	7746
+-88.7155	36.6804	8707
+-82.2628	26.6988	8676
+-82.2326	29.872	7508
+-119.093	32.1911	7280
+-86.2481	39.9925	5966
+-121.0379	48.8958	6660
+-82.9865	30.7894	6339
+-116.2911	33.4775	8699
+-109.0037	34.1071	6383
+-109.426	31.5101	8487
+-119.475	45.6558	7914
+-111.0152	31.976	8621
+-121.9752	46.1796	8272
+-80.6027	26.5885	7707
+-115.1883	35.3695	6900
+-113.278	47.3751	3790
+-117.731	45.2191	8159
+-117.5184	48.5274	6565
+-113.6878	33.1846	6073
+-116.1171	45.389	6846
+-124.8884	45.8941	7124
+-88.9933	35.7058	7600
+-110.4918	29.68	7404
+-76.8364	27.3103	3877
+-120.0934	31.2678	5861
+-110.7646	33.7115	7121
+-118.8259	38.5584	4420
+-80.9391	25.6635	7156
+-81.242	27.7098	8882
+-118.0625	32.6251	8512
+-88.9872	42.2932	5320
+-90.5107	40.8266	7182
+-117.6184	31.0746	7678
+-116.3101	29.4878	5968
+-113.0887	31.3676	6479
+-117.6597	34.4986	8952
+-109.3421	30.9056	8173
+-109.2746	34.7836	5821
+-80.2678	27.5472	7767
+-118.5196	47.2304	8038
+-124.9724	43.3021	4981
+-90.5414	33.5836	4818
+-119.2925	33.3518	7169
+-90.8078	38.626	8948
+-89.6945	40.7587	7136
+-111.6925	32.8461	7463
+-85.6922	38.0324	6340
+-108.6503	30.5843	7353
+-117.6253	34.4258	9033
+-122.8459	44.0756	6429
+-123.801	48.3361	7805
+-90.0111	37.2376	8338
+-85.1248	28.2735	6460
+-122.7492	46.7776	9340
+-119.289	33.9194	7319
+-119.6301	43.4985	6158
+-120.5129	47.708	6860
+-118.9945	42.7816	5666
+-81.6887	25.5074	7287
+-83.4813	28.4716	8171
+-121.3699	48.5426	7193
+-109.6458	32.6282	8118
+-111.6228	31.9912	8008
+-116.2514	31.9837	8528
+-90.2167	38.1612	8765
+-83.9764	26.1954	7152
+-117.1565	31.1936	7930
+-88.5189	36.7935	8797
+-119.6228	46.3824	7811
+-126.5423	48.0424	5434
+-89.48	41.3432	6465
+-88.2262	37.986	9110
+-82.3998	26.3996	8317
+-89.0985	37.3099	9269
+-121.4978	48.7536	7111
+-113.2324	35.8882	4739
+-118.1424	48.2179	7013
+-116.004	46.7969	6736
+-78.2203	30.0586	4762
+-114.4223	33.4685	6823
+-82.5322	26.6217	8521
+-91.5424	36.8474	7023
+-116.0089	35.8663	7202
+-86.2227	25.6271	4671
+-115.2856	47.935	5538
+-87.6947	35.8208	7420
+-82.2671	26.6979	8674
+-110.5761	33.7545	7106
+-116.2614	44.5471	6560
+-90.5568	38.9518	9138
+-115.0597	44.1844	5289
+-116.9673	37.6159	5725
+-93.9397	36.4981	4887
+-109.0025	29.6325	6915
+-123.4228	46.9065	9028
+-121.47	49.4225	6484
+-118.0507	35.9097	7420
+-116.3842	35.6758	7599
+-80.6902	27.7393	8259
+-119.1928	44.6203	7421
+-122.3027	46.6919	8884
+-122.1634	47.9175	8285
+-121.4887	47.476	7958
+-122.4681	46.0245	8468
+-122.5565	48.4623	7920
+-112.9948	31.5201	6589
+-122.4651	45.2777	7690
+-114.6759	36.3582	5813
+-116.7248	32.494	9303
+-81.2266	26.7475	8349
+-93.2744	39.6303	6167
+-118.5969	35.1154	7734
+-116.8182	31.9861	8812
+-117.5808	33.9059	9115
+-117.3697	30.6336	7277
+-114.3587	33.547	6732
+-92.7686	40.9265	5944
+-123.0323	45.9063	8432
+-116.3351	44.5001	6591
+-123.6718	46.3171	8498
+-88.9053	42.6203	4959
+-118.7629	32.9346	7745
+-108.7341	30.5298	7399
+-113.6451	30.4522	5682
+-119.2502	45.9044	8216
+-82.9605	29.5088	7711
+-88.8724	36.9585	9012
+-93.8158	40.1992	5408
+-122.2283	46.9197	8866
+-119.2329	33.0289	7078
+-91.2515	37.875	8096
+-122.1727	45.068	7372
+-85.408	37.0438	5981
+-116.7975	34.835	8617
+-89.8867	39.5553	8405
+-80.6852	27.9997	8233
+-87.5722	39.0687	7747
+-117.23	34.2607	9393
+-85.5034	39.4037	5665
+-115.7994	44.6422	6210
+-90.0335	40.0374	7986
+-86.6959	33.6998	4793
+-114.0599	32.2849	6457
+-119.3379	43.5136	6302
+-109.5574	30.7976	8277
+-87.8769	39.3533	7674
+-86.6161	35.3704	6284
+-120.7339	33.3198	5653
+-80.7558	27.3046	8249
+-82.8432	25.6818	7401
+-90.2313	38.4665	9078
+-123.4888	40.6911	2681
+-87.8547	38.3645	8526
+-111.1843	32.531	8094
+-123.7305	45.636	7883
+-119.6099	47.5386	7188
+-117.8182	33.6883	8765
+-119.1512	48.6075	6450
+-120.0491	30.7199	5595
+-123.3404	48.0281	8344
+-110.4103	29.0551	6733
+-89.249	36.6719	8575
+-90.9249	37.1189	7572
+-116.8637	48.4067	6392
+-122.8673	48.1471	8309
+-120.4489	44.5357	6431
+-88.752	41.4445	6029
+-82.8401	25.7653	7491
+-88.1478	39.0316	8132
+-86.8437	38.5961	7417
+-83.9173	25.5047	6633
+-117.5842	45.6399	8374
+-117.9512	32.2676	8495
+-88.6267	37.2057	9275
+-111.3857	30.787	8044
+-109.1728	31.0844	8105
+-117.119	32.8624	9575
+-119.2061	45.1554	7862
+-120.029	47.5856	6833
+-83.71	28.1667	8052
+-117.6314	31.754	8355
+-88.2475	34.5027	6217
+-91.3897	39.3517	8160
+-81.6954	26.2682	8126
+-120.32	33.169	6045
+-86.9195	38.6207	7481
+-109.5344	30.7325	8209
+-110.3063	28.7713	6427
+-119.438	35.0977	6946
+-120.1618	45.4286	7148
+-91.0322	39.7582	8132
+-84.5781	36.8757	5031
+-120.8105	46.09	7117
+-115.3834	35.1431	7207
+-83.4344	29.3241	7596
+-116.6243	33.2355	9149
+-116.7875	47.5754	7035
+-111.6052	32.1627	7959
+-79.321	25.5599	5848
+-123.5544	46.0185	8341
+-78.6991	28.8814	5807
+-90.0471	37.3028	8321
+-115.9383	32.2402	8438
+-116.2354	32.7044	8928
+-78.8081	30.2909	5169
+-117.5607	34.4628	9056
+-116.6261	35.2471	8136
+-119.0491	45.6007	8292
+-91.8567	37.5273	7361
+-87.3376	33.4793	4849
+-116.8236	44.115	6651
+-119.4154	46.0881	8061
+-90.977	39.1837	8632
+-93.4249	41.612	4923
+-89.0879	38.9181	8364
+-116.1502	32.2786	8662
+-123.264	45.8137	8278
+-109.80	32.7693	8065
+-116.7503	33.6931	8798
+-80.8961	30.7923	6194
+-107.6694	30.0143	6124
+-118.2377	47.9017	7352
+-87.9239	37.4779	8846
+-121.5351	46.4313	7995
+-119.1314	48.2391	6823
+-90.8826	39.8015	8170
+-120.8293	47.2467	7310
+-77.5195	29.0054	4488
+-90.5407	39.1354	8976
+-92.019	38.9908	7642
+-82.2597	27.582	9639
+-88.2363	39.3633	7819
+-118.1589	46.0796	9127
+-112.0687	33.2193	6890
+-79.6536	31.7965	4539
+-117.973	48.5493	6646
+-87.318	40.8416	5897
+-114.3633	33.336	6792
+-107.6003	29.4045	5687
+-88.6125	37.5181	9575
+-125.862	48.1441	6104
+-115.3639	29.0094	5145
+-90.4957	39.559	8544
+-88.3801	36.9215	8873
+-91.9351	40.9924	6485
+-123.1042	48.3105	8113
+-124.0205	45.4291	7516
+-119.5501	31.5708	6554
+-116.318	42.6938	5096
+-109.6177	33.5952	7160
+-116.0731	49.2583	5178
+-82.5935	25.9693	7793
+-123.1316	47.3877	9078
+-122.8511	47.0116	9533
+-117.6654	44.7938	7730
+-125.1049	47.4942	7115
+-115.3684	33.6871	7723
+-114.6911	34.8005	6636
+-121.0068	35.2996	5264
+-88.061	39.8082	7283
+-84.6458	37.2633	5167
+-113.9159	31.2501	5928
+-114.8876	30.8457	6557
+-93.6109	32.5262	1868
+-111.3063	32.4117	8089
+-113.3077	27.9801	4411
+-83.1455	29.2116	7896
+-89.5927	36.391	8110
+-115.6491	29.9383	6222
+-110.0832	30.4388	8204
+-122.794	47.54	8966
+-122.0146	36.1139	3926
+-110.7946	31.3365	8907
+-83.1724	28.7108	8304
+-116.2337	46.2646	7083
+-115.6523	32.9789	8276
+-89.0433	36.4316	8395
+-88.9432	37.4368	9490
+-127.0647	49.6797	4145
+-117.9592	47.3731	7869
+-117.6935	42.793	5703
+-119.944	31.1667	5956
+-91.4798	38.5182	8216
+-79.6935	29.0351	6781
+-88.4927	39.7479	7458
+-92.1171	41.2182	6173
+-89.9233	35.0246	6578
+-89.0213	35.3183	7164
+-124.514	46.4339	7739
+-119.3564	48.7962	6187
+-116.7528	45.4553	7502
+-119.1103	32.8862	7360
+-89.0716	37.0461	9040
+-116.2775	34.8014	8236
+-117.403	32.4905	9145
+-106.8465	34.1881	4758
+-123.3371	46.4921	8897
+-82.1179	30.1351	7213
+-118.3441	45.7323	8866
+-118.7728	36.985	6020
+-117.2607	43.8017	6596
+-107.1243	34.7344	4601
+-114.1323	47.23	4704
+-117.5777	29.4469	5933
+-115.0838	49.4039	4390
+-83.8712	27.0822	7779
+-87.2093	33.8697	5209
+-87.3527	36.1297	7471
+-94.6983	42.4809	3276
+-88.9982	36.5117	8494
+-124.4177	47.5656	7814
+-116.5233	30.7096	7351
+-124.0467	47.4333	8246
+-114.518	34.1665	6539
+-119.4206	37.0924	5545
+-108.6494	29.4266	6509
+-86.2154	37.2628	6916
+-89.6707	36.9768	8539
+-115.6685	31.1433	7391
+-89.3705	38.8306	8329
+-79.0168	26.7459	6182
+-85.0485	25.4031	5647
+-88.9827	36.5953	8589
+-79.8858	26.2186	6805
+-86.8973	37.5952	7715
+-89.8553	40.4792	7476
+-84.5852	26.1377	6562
+-91.526	40.2766	7369
+-120.3273	30.9932	5488
+-88.8342	39.0381	8273
+-87.9861	36.2911	8040
+-122.2218	47.6705	8532
+-84.4574	27.8847	7260
+-90.6737	37.2754	7804
+-120.1273	45.285	7125
+-115.0044	34.5084	7037
+-88.9718	34.9992	6813
+-112.1736	33.2084	6813
+-114.0958	31.8115	6360
+-79.5795	29.3615	6486
+-108.4874	29.593	6532
+-110.6533	32.1116	8804
+-82.3307	30.5042	6787
+-117.134	35.0717	8504
+-122.86	43.0083	5257
+-118.5361	48.6643	6532
+-119.9273	36.4906	5660
+-122.7585	45.966	8496
+-87.2794	36.9982	7985
+-93.1495	38.6267	6440
+-81.9265	30.0533	7295
+-120.1555	33.5059	6313
+-94.3896	40.508	4709
+-89.3143	39.1188	8205
+-117.5366	32.4806	9015
+-88.7505	35.5578	7449
+-126.2047	49.5812	4977
+-93.6889	37.4261	5586
+-120.4234	31.3628	5570
+-120.0149	46.8759	7251
+-89.817	38.1999	8573
+-109.65	32.5085	8227
+-85.0186	25.9133	6013
+-118.0122	48.1347	7087
+-118.5361	45.9354	8941
+-115.4409	32.1244	7884
+-88.5981	38.2955	9084
+-86.2179	30.6825	4215
+-118.3252	36.0831	7118
+-89.6189	38.3708	8505
+-113.8698	30.7725	5542
+-119.5969	47.1768	7462
+-91.6332	39.2834	7960
+-86.91	37.7622	7728
+-114.8892	34.013	6941
+-85.222	39.4694	5351
+-116.1881	37.3476	5840
+-89.4056	40.2719	7475
+-114.817	30.4371	6176
+-115.8097	33.4915	8259
+-81.8817	27.8245	9600
+-121.4221	45.8358	7562
+-111.25	33.2965	7368
+-87.6512	38.7792	8046
+-91.9625	34.7766	4816
+-109.001	31.8826	7994
+-82.7436	31.8069	5270
+-90.5652	38.4365	9034
+-119.7142	30.0586	5411
+-118.2238	33.6239	8355
+-83.9108	27.4024	7840
+-119.9589	32.1879	6342
+-91.7618	42.2935	5326
+-109.8128	35.6112	5073
+-121.1748	44.2743	6093
+-90.2759	38.2998	8926
+-124.8015	49.5851	6051
+-120.3692	45.195	6852
+-114.5077	34.3873	6516
+-118.6659	37.346	5715
+-84.4919	28.3176	7152
+-88.9744	38.6332	8705
+-118.7449	30.2798	6297
+-116.8002	48.1337	6595
+-121.4651	46.8161	8021
+-123.715	48.4619	7735
+-121.5396	47.491	8004
+-78.6724	28.3537	5921
+-80.0991	28.4989	7446
+-79.069	27.7566	6426
+-118.0311	46.3047	8917
+-116.2437	33.653	8520
+-88.2379	37.9038	9164
+-123.9296	47.4184	8371
+-88.4742	40.1734	6858
+-107.2084	32.6193	5907
+-116.7053	47.4026	7093
+-121.8429	35.694	4264
+-85.9445	27.9289	5577
+-78.4572	27.7127	5733
+-111.4683	30.5193	7788
+-87.4345	41.6938	4933
+-118.7359	44.7621	7765
+-88.6659	41.2058	6194
+-123.0474	42.0565	4209
+-116.4798	46.0372	7349
+-125.1189	44.8753	6256
+-117.2933	47.0439	7812
+-109.4974	32.7681	7903
+-115.3494	47.2509	5923
+-116.0716	49.3677	5082
+-87.3489	41.3001	5436
+-90.9735	37.8937	8303
+-113.3569	33.1488	5785
+-114.6922	49.5914	3956
+-115.7983	46.2682	6623
+-92.5424	39.5263	6951
+-116.0619	44.7198	6491
+-115.9703	34.1276	8124
+-116.8794	38.7707	4462
+-89.6069	38.3796	8497
+-83.985	31.0991	5579
+-88.9871	38.9417	8362
+-109.149	30.1787	7483
+-79.2499	30.9685	5018
+-110.0776	33.3714	7517
+-90.5212	39.3131	8799
+-110.7294	30.1886	7903
+-88.5734	36.8353	8858
+-89.9626	39.7122	8292
+-114.1074	31.5371	6259
+-80.9105	27.4755	8470
+-85.2437	30.4123	5273
+-90.1365	35.5265	6963
+-117.6267	48.4361	6691
+-120.5777	32.4713	5707
+-88.77	37.9276	9521
+-117.3231	46.727	8046
+-79.6249	28.2033	7012
+-118.3541	33.9229	8330
+-90.2308	36.955	7988
+-88.549	42.272	5144
+-83.4663	26.5989	7888
+-85.3929	28.9413	5973
+-125.3277	44.2792	5627
+-117.2441	45.0972	7731
+-120.3049	44.9765	6811
+-117.4371	36.0052	7488
+-118.9188	31.6462	7214
+-110.5913	28.5958	6225
+-115.0352	32.0888	7451
+-111.7592	34.4822	5973
+-109.8484	31.7596	8915
+-93.1043	36.2896	5470
+-119.7175	48.5306	6272
+-116.1566	36.5987	6589
+-89.0122	39.7692	7583
+-89.424	39.4089	8170
+-124.0159	44.2165	6346
+-91.2238	39.4264	8262
+-118.1147	49.2444	5926
+-115.6719	47.4569	6144
+-110.401	31.8527	9173
+-92.0121	40.3492	6964
+-123.2069	49.3537	6962
+-118.438	35.0931	7886
+-91.6802	35.4892	5642
+-114.421	35.0559	6275
+-113.3426	30.683	6070
+-90.6166	39.884	8176
+-83.5158	27.7519	8328
+-88.5765	35.7018	7600
+-121.4944	46.1838	7839
+-92.1376	39.4898	7372
+-87.9143	37.1582	8701
+-117.2962	32.9991	9333
+-118.3163	34.7852	8190
+-88.3231	38.4561	8798
+-119.3438	35.3575	6908
+-85.6453	38.4384	6206
+-85.695	39.7457	5651
+-90.6365	38.5615	9084
+-89.6212	40.6522	7216
+-118.2984	44.3571	7415
+-121.4445	45.3599	7224
+-114.8145	37.4282	5058
+-125.6482	47.8409	6438
+-89.264	37.1415	9004
+-119.6536	49.3672	5508
+-120.8605	33.4465	5547
+-119.1977	47.1705	7770
+-81.4686	28.9677	8339
+-86.7484	26.8064	4559
+-110.5648	30.2122	7967
+-87.6047	41.0331	5817
+-110.233	27.7077	5273
+-82.5702	30.2417	7049
+-112.3141	29.5877	6427
+-118.5715	34.5724	8036
+-119.4035	49.7777	5189
+-91.148	37.1714	7534
+-115.9903	32.3371	8540
+-93.555	38.6171	6003
+-117.8084	47.4517	7743
+-119.0716	37.4173	5450
+-118.0661	35.7873	7534
+-118.1298	34.77	8368
+-88.3699	37.5135	9338
+-118.806	48.6746	6478
+-115.8833	43.8876	5804
+-86.1087	41.2602	4797
+-120.6796	47.1269	7160
+-121.8022	42.8078	4881
+-119.477	36.4867	6016
+-117.3696	47.8909	7131
+-116.6634	35.0758	8317
+-115.5753	32.5752	8178
+-90.0975	36.1738	7571
+-89.9553	39.6176	8382
+-116.0748	32.3518	8631
+-82.8247	27.159	8851
+-114.8056	31.0417	6634
+-83.7212	30.4267	6388
+-120.3315	48.2388	6457
+-118.1133	34.9077	8286
+-117.3238	35.277	8289
+-123.8191	48.8357	7318
+-118.5928	34.5318	8027
+-88.4587	37.2736	9255
+-120.8365	46.3134	7228
+-89.7896	42.1143	5742
+-87.7604	38.5291	8327
+-112.3707	33.3974	6518
+-116.5058	36.394	6936
+-83.4336	25.4092	6847
+-87.9374	38.3913	8578
+-118.2201	35.6568	7577
+-82.2649	28.9609	8533
+-84.6709	26.588	6727
+-90.7153	38.972	8994
+-84.431	29.8668	6371
+-111.3967	28.7115	6156
+-84.8846	25.9743	6178
+-124.345	44.8096	6754
+-112.1412	34.7796	5495
+-113.3974	30.5737	5978
+-111.8381	48.4202	2006
+-90.5233	36.123	7190
+-115.4125	31.9826	7786
+-118.7056	44.2743	7276
+-77.7481	27.2148	4892
+-117.0838	44.5982	7225
+-116.1841	37.4862	5695
+-116.5598	27.7746	4111
+-92.272	36.5205	6275
+-116.9772	48.0924	6737
+-89.1954	38.9807	8120
+-122.2951	46.5408	8793
+-113.4269	35.4314	5117
+-89.0294	38.8679	8434
+-82.4219	27.9272	9519
+-79.1424	28.3811	6438
+-91.9295	35.5156	5560
+-122.9664	45.5933	8096
+-81.6468	24.4564	6107
+-114.7478	42.8664	4186
+-84.0154	24.6928	5815
+-106.9758	31.2899	5822
+-119.3521	28.6012	4350
+-113.1133	33.8257	5604
+-115.4703	43.4008	5132
+-111.7145	30.8667	7788
+-117.165	47.4786	7381
+-116.5007	45.4669	7257
+-88.7134	39.0704	8238
+-113.9953	32.7812	6438
+-87.6629	35.1856	6768
+-87.0442	41.8849	4700
+-118.0218	34.6254	8555
+-78.9032	29.2574	5868
+-120.5176	33.7572	5968
+-123.3094	49.0734	7248
+-89.6629	36.8075	8422
+-91.0203	41.6793	6193
+-118.3973	46.7579	8553
+-90.6661	36.9592	7470
+-119.2311	35.6116	6856
+-119.0523	43.9409	6833
+-88.6856	37.642	9720
+-109.1513	29.9685	7305
+-115.4064	33.0272	7997
+-112.9681	32.1992	6542
+-122.2983	31.1693	3529
+-125.1255	45.7555	6823
+-117.4677	47.2769	7744
+-119.2959	34.1662	7324
+-124.0892	46.5838	8234
+-91.2753	41.2216	6592
+-79.2818	27.1711	6597
+-86.6844	40.339	6012
+-83.584	32.1799	4637
+-88.3716	38.7272	8544
+-81.9969	27.6429	9684
+-120.5834	33.2782	5802
+-112.4475	31.8577	7164
+-117.3371	36.1011	7390
+-86.7045	39.2681	6884
+-89.1303	38.198	9092
+-83.473	26.3645	7699
+-119.6688	31.1846	6232
+-117.2551	35.0044	8588
+-81.6809	27.4167	9245
+-93.8333	38.6108	5703
+-117.3826	37.5429	5816
+-90.6214	36.702	7202
+-113.4407	49.7567	2834
+-90.1595	40.5807	7436
+-108.8919	35.7357	4711
+-88.6156	39.4808	7771
+-117.0791	48.3828	6527
+-90.5772	38.8562	9186
+-83.2141	27.078	8443
+-92.1487	39.9996	7093
+-115.6985	34.9979	7585
+-88.8858	35.8989	7827
+-111.5858	30.5035	7682
+-113.9571	33.9878	6151
+-116.0678	34.5099	8167
+-121.242	47.7973	7569
+-79.7477	28.8969	6906
+-80.8679	28.2943	8341
+-118.2625	39.9953	3052
+-83.9282	27.6914	7860
+-88.0738	39.3836	7736
+-116.8336	33.6511	8831
+-122.3188	47.4539	8773
+-123.6506	46.3925	8568
+-84.0369	31.5252	5126
+-90.1375	37.1909	8186
+-88.6098	38.7657	8568
+-117.2216	34.8855	8716
+-122.5866	42.7101	4917
+-82.6908	26.4581	8283
+-93.5094	41.7086	4785
+-118.5055	45.6466	8726
+-88.4085	39.3985	7829
+-88.5757	33.6121	5259
+-82.9796	28.2694	8779
+-84.7016	26.4726	6639
+-115.8888	32.9192	8545
+-111.6429	31.4989	8052
+-118.8687	34.0348	7787
+-108.803	32.9739	7233
+-116.0212	34.9599	7907
+-81.7386	27.5982	9407
+-117.1644	36.345	7123
+-115.7118	33.3157	8247
+-89.3361	39.988	7677
+-81.5742	25.9574	7750
+-89.7394	41.7023	6167
+-91.7032	38.617	7994
+-90.4569	35.1912	6451
+-81.2926	27.0812	8665
+-119.7451	43.638	6228
+-87.1758	27.9758	4183
+-89.717	36.8661	8421
+-115.6841	31.6122	7790
+-121.3535	44.479	6388
+-116.0026	47.4797	6437
+-83.1204	25.6039	7203
+-108.454	31.415	7429
+-117.3903	44.9458	7715
+-107.8242	27.43	4216
+-117.0187	30.91	7625
+-84.3624	27.6997	7369
+-117.498	36.5945	6841
+-118.3735	36.7607	6428
+-88.2004	39.9903	7130
+-119.2225	34.2539	7400
+-90.675	37.6393	8187
+-118.1861	33.4298	8275
+-116.1955	34.7826	8172
+-89.1357	39.3374	7938
+-116.2537	33.0727	8908
+-109.9993	32.8307	8074
+-90.7615	40.5381	7454
+-124.8621	44.768	6369
+-123.9954	46.0832	8060
+-118.7632	32.7598	7748
+-88.7164	37.32	9423
+-118.6603	45.2423	8268
+-118.6295	30.3923	6474
+-119.1277	32.1599	7233
+-122.5766	48.68	7691
+-122.5871	46.017	8508
+-88.5289	37.7384	9536
+-117.1097	31.604	8391
+-90.6418	38.9043	9100
+-118.3304	35.6866	7484
+-90.3853	39.3284	8801
+-92.1695	39.2261	7432
+-118.4937	31.1678	7246
+-116.7079	32.6143	9387
+-91.2508	39.0899	8420
+-117.8401	33.4662	8578
+-115.9609	36.0684	6991
+-120.2005	34.4776	6316
+-123.9849	49.3428	6736
+-122.0217	49.5269	6632
+-117.7652	32.1082	8562
+-83.9382	26.9432	7648
+-111.5732	28.3632	5735
+-120.3855	45.4063	6916
+-115.2295	30.4679	6494
+-89.9277	41.7587	6145
+-119.6633	36.6052	5782
+-123.8351	45.444	7643
+-120.4737	33.8744	6028
+-124.6666	45.4535	7051
+-123.8547	46.0599	8160
+-116.6947	46.346	7558
+-88.8264	41.9246	5613
+-106.5075	34.6128	4186
+-109.8996	30.5124	8222
+-111.2915	30.3666	7796
+-116.6802	44.2843	6695
+-119.8715	48.972	5785
+-118.5353	45.3136	8386
+-109.1593	30.0242	7359
+-86.0037	38.9505	6395
+-82.4588	27.1629	9116
+-110.499	33.9081	6948
+-90.887	38.4144	8772
+-117.4922	33.2592	8986
+-112.7468	33.3694	6220
+-121.896	46.4183	8349
+-117.7232	33.9185	8987
+-121.3318	32.0718	4814
+-118.1971	42.5986	5551
+-116.6694	30.9397	7633
+-117.0461	33.2976	9209
+-117.4637	45.3451	8080
+-89.0771	39.6472	7716
+-119.4261	35.3963	6809
+-117.9523	44.2919	7314
+-117.3686	31.7303	8461
+-118.6463	48.4548	6737
+-117.7319	34.8033	8648
+-119.5028	32.8869	6923
+-88.3389	36.6255	8552
+-111.1455	35.5871	5047
+-110.3286	34.4749	6341
+-110.5854	31.9362	9004
+-109.2795	31.7082	8324
+-116.5225	30.3639	6973
+-91.9411	37.2801	7116
+-117.1919	31.7026	8485
+-120.5815	45.4821	6740
+-121.8174	49.6206	6457
+-86.3846	28.5054	5011
+-86.0442	28.3816	5413
+-90.9837	34.7471	5701
+-118.6818	33.5356	7862
+-91.6515	41.3935	6264
+-117.5808	32.8105	9068
+-120.3391	36.8731	5047
+-111.2085	33.3998	7289
+-84.5359	30.4954	5779
+-90.0619	37.7157	8257
+-118.648	44.2081	7220
+-114.0925	34.3601	6067
+-121.4451	47.5456	7886
+-82.9275	30.2432	6950
+-118.7814	34.472	7845
+-111.2817	30.4525	7875
+-83.6094	24.5959	5936
+-120.0156	34.7271	6470
+-108.5327	32.2955	7376
+-107.2353	32.2996	6028
+-120.0716	36.5835	5475
+-117.3904	30.5644	7197
+-116.2223	31.3703	7939
+-119.1357	44.845	7654
+-81.9507	24.8394	6574
+-117.1909	34.4408	9192
+-113.0689	32.2324	6427
+-121.0983	44.7732	6488
+-93.3377	38.3482	6211
+-109.8838	31.8532	8905
+-118.6915	29.0944	5177
+-115.3299	32.0966	7758
+-88.5904	36.2424	8205
+-117.7936	47.6613	7528
+-118.7878	33.6094	7783
+-90.848	39.3771	8583
+-92.2542	36.7227	6451
+-125.8364	47.8282	6244
+-82.4522	31.3756	5793
+-116.0487	31.6085	8061
+-117.4204	36.8097	6614
+-119.167	44.7499	7552
+-111.6128	32.2829	7894
+-124.4136	46.3549	7813
+-108.2864	34.0978	5961
+-124.8654	47.9073	7212
+-118.793	29.9342	5947
+-117.809	33.0245	8785
+-118.1751	47.6988	7563
+-89.1409	35.9095	7799
+-109.6993	32.0033	8650
+-86.6429	37.9349	7412
+-109.0945	31.5161	8129
+-119.6975	46.841	7570
+-105.5976	32.2183	4297
+-87.0864	39.3191	7169
+-121.5435	49.8605	6095
+-115.4674	31.3241	7393
+-118.1872	34.4004	8492
+-117.1207	32.6884	9529
+-91.7188	39.3215	7859
+-113.3104	33.1646	5821
+-117.6253	33.1811	8913
+-80.5612	27.5398	8095
+-92.5344	38.8418	7104
+-92.4207	42.3702	4947
+-118.3205	35.5139	7643
+-116.6867	32.1709	8968
+-120.4789	45.3312	6797
+-117.5855	33.8223	9052
+-121.9684	44.4381	6646
+-119.2652	36.3933	6247
+-89.1119	40.8994	6733
+-118.628	34.8826	7843
+-120.0907	47.3826	6913
+-122.2713	35.5708	3858
+-118.5766	35.276	7642
+-108.9332	35.6176	4847
+-83.3575	25.4217	6900
+-124.8737	45.5594	6943
+-92.4405	41.17	6001
+-124.5993	46.9527	7739
+-109.68	28.3251	5873
+-86.008	41.0864	4882
+-90.6245	36.1758	7142
+-85.4159	28.5188	6082
+-115.1592	34.523	7200
+-118.1939	28.4329	4675
+-113.6353	30.2135	5600
+-117.9513	35.6517	7721
+-83.5493	24.9191	6295
+-122.6748	48.7113	7674
+-107.4986	32.4184	6272
+-111.7965	30.7223	7634
+-119.0209	34.2635	7619
+-107.6074	31.6112	6520
+-118.6434	34.2659	8029
+-109.7807	30.2847	7945
+-84.4109	28.6458	7130
+-117.0814	44.0672	6759
+-80.9105	28.0177	8480
+-89.9262	37.1113	8372
+-119.1604	34.0668	7471
+-84.8791	26.8087	6602
+-117.0092	35.8285	7668
+-81.5563	25.7144	7481
+-94.0011	39.1121	5505
+-122.8123	48.1248	8330
+-123.486	47.2948	8868
+-82.5015	28.844	8604
+-108.7561	32.235	7625
+-105.8054	31.8194	4561
+-117.9612	35.4977	7868
+-120.3059	47.5912	6599
+-86.6281	40.0207	6245
+-84.4081	28.1852	7276
+-122.3235	35.0114	3939
+-80.6642	28.6796	7936
+-113.256	33.3137	5794
+-90.7623	37.3649	7877
+-113.5721	26.8893	3295
+-92.4579	35.3464	5128
+-125.0254	44.952	6389
+-120.9748	45.783	7123
+-113.4193	31.6581	6129
+-116.155	44.9243	6685
+-116.3279	34.0336	8508
+-118.825	47.6602	7511
+-110.513	33.0574	7865
+-92.1675	39.268	7422
+-107.9708	34.6139	5310
+-117.4411	31.3494	8033
+-117.6222	33.8908	9068
+-88.4159	38.7039	8585
+-89.0343	38.9317	8363
+-116.1793	33.3031	8721
+-119.3266	29.2308	4965
+-114.9455	48.5234	4892
+-116.4727	43.5058	5910
+-88.3721	37.6087	9368
+-88.4638	37.3517	9325
+-109.5938	31.0656	8496
+-110.8347	30.0219	7697
+-117.1112	30.8164	7516
+-109.3656	33.8892	6764
+-124.1073	43.5598	5635
+-111.6322	34.0949	6410
+-89.0821	42.2235	5426
+-124.3578	48.0082	7638
+-118.892	32.3637	7547
+-117.1395	31.3934	8154
+-120.8241	33.6903	5627
+-88.1987	36.617	8476
+-120.4419	49.7224	5549
+-82.7449	26.6278	8430
+-117.3649	36.171	7313
+-108.3097	34.809	5348
+-117.5299	32.2151	8834
+-112.9326	32.2789	6558
+-116.4434	31.046	7693
+-107.9352	35.2193	4754
+-112.1686	28.4806	5568
+-120.9969	45.7073	7099
+-90.1756	38.3141	8904
+-119.5407	46.8363	7717
+-118.7269	29.5839	5647
+-117.0383	33.2758	9234
+-116.3803	32.0203	8650
+-117.5767	32.7825	9071
+-89.9758	40.8249	7145
+-112.7448	31.2102	6830
+-91.8757	35.4874	5557
+-85.0114	24.5522	5011
+-124.2279	43.8142	5848
+-117.036	46.9578	7657
+-84.8254	24.8316	5387
+-121.1528	48.4895	7060
+-116.0392	32.0286	8395
+-126.332	48.2031	5598
+-111.5542	32.55	7786
+-89.3873	41.1367	6637
+-118.5491	35.5689	7438
+-123.6751	46.7485	8722
+-81.2767	25.8724	7540
+-119.7726	46.0134	7681
+-80.721	27.4711	8260
+-120.5408	45.8112	6850
+-121.5969	44.8934	6916
+-112.8327	32.9541	6385
+-117.6502	33.8685	9029
+-87.9669	37.3586	8853
+-123.3059	31.5419	2540
+-92.9873	41.8672	5046
+-91.9222	38.2777	7689
+-92.082	34.3315	4537
+-110.6253	31.9822	8938
+-113.2772	33.0484	5911
+-109.9182	34.3657	6426
+-117.87	45.2265	8237
+-89.7713	39.559	8331
+-116.1651	45.46	6917
+-123.8461	45.7444	7908
+-109.115	33.2991	7194
+-92.4702	38.4589	7153
+-119.3464	44.2414	6993
+-120.1332	44.6057	6742
+-118.635	36.4247	6627
+-124.1475	47.8208	7945
+-89.3973	41.6625	6110
+-122.4003	46.4951	8851
+-78.9739	25.4792	5480
+-88.1354	37.9938	9017
+-89.8879	36.3503	7875
+-118.5815	45.6037	8647
+-88.0588	34.4381	6106
+-89.7363	35.6816	7336
+-109.6761	31.5634	8761
+-82.3566	25.5461	7368
+-107.9524	33.5279	6143
+-90.5334	37.0921	7630
+-90.7715	40.2919	7711
+-118.3623	45.5377	8659
+-112.0541	35.1992	5135
+-91.3998	40.87	6890
+-122.8945	46.6071	9211
+-122.9399	44.3089	6686
+-120.3119	48.7138	6175
+-87.7873	38.0894	8617
+-114.2954	34.20	6296
+-109.2717	31.1287	8222
+-108.5978	29.8995	6854
+-114.7161	48.2809	4832
+-120.7818	46.6916	7260
+-82.8853	28.5904	8631
+-122.3372	46.4866	8794
+-83.3909	27.5975	8457
+-123.0406	45.5065	7995
+-93.6523	41.3651	4912
+-110.1456	32.2059	8769
+-81.3085	27.7184	8958
+-113.2844	28.9122	5161
+-117.1965	31.8964	8695
+-79.9365	27.7483	7407
+-88.7663	37.484	9611
+-124.0379	47.4641	8242
+-124.5489	47.3128	7755
+-117.2313	31.526	8283
+-118.2997	35.6888	7501
+-125.5691	47.3238	6648
+-91.7716	35.1933	5309
+-124.5478	45.1453	6908
+-89.6848	41.756	6098
+-120.567	47.4555	6987
+-82.66	30.6682	6556
+-116.7218	31.3576	8103
+-79.3311	30.2341	5668
+-119.4119	45.4189	7864
+-110.4444	28.3732	5993
+-92.5792	41.3334	5770
+-114.4695	34.7455	6415
+-91.0137	41.6918	6182
+-91.0303	38.5217	8685
+-86.418	38.6021	6977
+-116.1792	33.3357	8701
+-117.8207	32.9787	8783
+-120.6231	47.7777	6951
+-119.0086	32.2858	7399
+-77.8867	29.9183	4506
+-122.1986	47.4785	8652
+-109.9575	33.7357	7106
+-121.5552	48.3079	7519
+-120.408	33.5464	6052
+-112.2764	31.3729	7356
+-120.0662	47.1654	7061
+-118.0936	46.4209	8866
+-89.8705	36.5738	8072
+-78.8351	28.2636	6119
+-110.0166	35.0251	5729
+-108.6571	30.4957	7309
+-81.1857	27.0809	8569
+-88.509	35.3136	7159
+-81.8512	26.2425	8139
+-93.0887	41.6997	5110
+-81.1779	29.7698	7382
+-124.2491	45.2434	7202
+-114.6495	37.3914	4979
+-123.6327	45.9688	8246
+-117.2408	33.0754	9332
+-123.6968	46.3779	8518
+-80.4669	28.2608	7926
+-92.6423	38.7914	6989
+-88.1812	39.5103	7643
+-92.3425	37.4885	6913
+-82.2979	26.3563	8286
+-120.5005	44.9723	6626
+-89.3164	36.1482	8003
+-84.034	29.3607	7086
+-90.7765	40.861	7110
+-119.2885	28.1879	3977
+-109.01	29.6616	6946
+-118.8998	36.1368	6718
+-88.2842	37.2622	9109
+-79.4567	26.9277	6719
+-119.5667	44.0355	6686
+-117.1706	35.6809	7847
+-109.5895	34.4291	6287
+-117.6395	46.7786	8270
+-107.4189	30.3843	6059
+-118.5863	48.3589	6847
+-118.6491	28.8877	4986
+-87.1168	35.041	6335
+-78.8254	24.6758	4771
+-116.9501	33.8402	9067
+-91.4441	36.691	6928
+-107.227	33.8962	5278
+-122.3511	44.7319	7078
+-115.62	35.6846	7070
+-115.6666	34.6998	7686
+-89.3542	34.8798	6619
+-94.1733	39.4858	5263
+-113.5754	44.6876	4055
+-117.3788	33.9277	9282
+-91.1313	38.7738	8618
+-115.7689	31.0309	7355
+-119.5022	45.2202	7668
+-111.9921	30.5887	7378
+-120.3915	33.991	6126
+-90.7479	35.6694	6658
+-114.9956	31.5738	7154
+-82.08	26.1004	8006
+-91.4703	38.9135	8240
+-117.9355	47.0555	8184
+-84.2396	26.9478	7336
+-115.7439	35.4868	7316
+-109.1676	32.1214	8083
+-81.3488	27.3121	8867
+-118.446	46.5774	8726
+-121.0812	48.4979	6994
+-80.3722	26.8344	7638
+-84.5343	27.9121	7171
+-116.5044	32.8461	9236
+-118.6847	46.3433	8763
+-121.9262	43.2385	5373
+-109.8002	31.0298	8641
+-125.3175	46.8939	6949
+-111.5088	29.5161	6897
+-110.6509	31.2096	8942
+-89.9399	38.8078	8942
+-92.0318	38.8386	7645
+-120.8034	31.7327	5306
+-119.5327	46.10	7937
+-116.2309	33.2001	8827
+-117.7915	33.992	8945
+-114.7287	34.9763	6621
+-81.3743	29.3667	7889
+-115.1983	33.3305	7699
+-110.9337	27.2614	4746
+-84.9602	37.8879	5535
+-120.1417	46.1682	7291
+-88.9921	38.5996	8737
+-82.0117	29.1997	8265
+-109.2232	33.1802	7366
+-83.6382	25.1757	6503
+-86.1987	39.5282	6254
+-117.9225	34.075	8820
+-119.0206	37.1846	5699
+-110.0025	33.9641	6869
+-117.694	34.9948	8489
+-81.6715	28.5089	8903
+-118.3765	42.9951	5971
+-81.565	27.7724	9249
+-84.642	26.3275	6620
+-82.4946	27.9301	9444
+-118.7742	34.9424	7671
+-117.7926	33.1687	8751
+-127.4525	45.7829	4438
+-116.074	32.0207	8419
+-118.5624	30.3666	6492
+-121.9734	44.9243	7142
+-107.776	31.8474	6688
+-114.7615	36.0505	6097
+-125.0901	47.2722	7177
+-90.6549	39.9243	8125
+-118.218	30.9816	7275
+-107.5158	31.4207	6416
+-123.3292	49.717	6548
+-113.5813	33.7273	5843
+-119.0554	32.2719	7345
+-117.0216	46.4211	7882
+-116.8747	36.0953	7355
+-86.273	35.3727	6012
+-118.7834	34.2529	7878
+-118.8068	49.1657	5967
+-112.7057	35.2138	4775
+-120.9228	47.4796	7362
+-83.0651	24.9961	6585
+-86.6556	35.0889	6076
+-94.6578	40.4952	4448
+-116.7636	31.1249	7852
+-114.1897	32.3502	6612
+-86.2009	38.8322	6652
+-81.7085	27.4792	9312
+-120.3138	43.7189	5946
+-113.8323	29.5671	5098
+-120.4161	47.9775	6660
+-113.1504	32.0505	6380
+-116.4389	42.7592	5219
+-121.6106	34.4266	4789
+-80.4449	24.0973	5323
+-123.5508	46.9967	8890
+-120.5346	42.5676	4824
+-88.2825	38.8962	8331
+-90.3405	35.5047	6814
+-84.8871	26.2487	6335
+-120.6984	48.9645	6340
+-114.5346	37.324	4956
+-77.9685	26.2673	4884
+-117.8542	34.4017	8833
+-115.7892	47.8015	6063
+-90.9192	38.7289	8846
+-116.3703	32.8255	9088
+-89.8185	40.125	7822
+-118.3338	34.9187	8092
+-92.6518	43.9683	3291
+-120.8475	33.8924	5623
+-82.2071	26.1179	8025
+-111.4771	33.1275	7391
+-118.6825	33.8953	7972
+-116.4119	47.7488	6619
+-117.4432	31.3767	8061
+-107.962	30.2693	6536
+-84.126	28.6999	7403
+-118.9116	33.3698	7560
+-117.8674	28.9744	5351
+-81.1852	30.3542	6775
+-86.0609	41.8821	4192
+-115.4082	44.3922	5719
+-111.9139	32.5841	7447
+-124.2939	44.743	6723
+-114.5771	34.1295	6604
+-120.9789	33.7929	5471
+-113.8514	31.4591	5963
+-88.9234	41.181	6368
+-120.8353	44.4753	6057
+-117.5558	36.5754	6855
+-116.2987	35.329	7860
+-116.7485	34.0682	8968
+-109.1486	30.3965	7657
+-109.0701	31.1147	8014
+-117.417	45.1237	7878
+-89.1687	35.34	7165
+-88.472	38.4948	8828
+-87.9378	37.9559	8830
+-122.718	48.5333	7873
+-124.174	44.8721	6913
+-117.684	40.1421	2919
+-114.731	31.2041	6678
+-113.2765	34.616	5154
+-77.6487	27.20	4778
+-117.2104	48.6399	6340
+-117.2659	32.2738	9061
+-116.8497	33.8676	8999
+-86.5774	37.3987	7339
+-91.3228	37.7665	7958
+-92.9266	37.3832	6312
+-120.8108	35.114	5527
+-119.5229	35.9024	6410
+-118.421	34.1277	8279
+-79.592	28.0591	6998
+-88.0794	39.0775	8053
+-120.1416	42.5691	5035
+-92.3655	38.0774	7168
+-111.2266	36.0934	4492
+-119.6588	27.9985	3597
+-88.2063	35.4786	7280
+-111.1792	28.9081	6434
+-119.474	34.3572	7118
+-80.6201	25.8166	7100
+-114.6753	33.3661	7125
+-110.2952	32.5491	8426
+-107.8878	31.0667	6765
+-118.1741	43.5774	6586
+-84.0157	27.1228	7642
+-117.4438	33.5844	8909
+-81.365	27.5167	8978
+-115.3232	44.9039	5879
+-84.0576	31.089	5549
+-116.0981	44.9686	6654
+-118.2895	30.9542	7205
+-112.4047	31.6226	7229
+-122.6894	47.8323	8627
+-109.7114	33.52	7270
+-111.5987	29.0542	6410
+-83.4482	28.7057	8064
+-118.2319	30.6317	6937
+-113.9586	30.5582	5557
+-116.0076	48.3249	5890
+-124.4177	48.0282	7571
+-117.5859	33.9978	9159
+-87.9717	34.0016	5606
+-81.2544	30.6918	6437
+-118.2328	32.6663	8331
+-115.5861	35.2584	7332
+-82.8441	27.2512	8899
+-90.1345	36.2758	7626
+-82.9712	29.1028	8108
+-90.99	34.742	5692
+-87.5374	37.7327	8433
+-109.4161	32.7703	7848
+-114.3299	33.2668	6769
+-90.1261	36.0274	7425
+-122.1183	47.5594	8528
+-91.5751	39.4346	7943
+-85.0335	30.0389	5724
+-114.5549	29.2729	4972
+-86.8413	42.1777	4309
+-87.0071	40.7951	5785
+-115.8229	35.5267	7349
+-87.8942	40.7268	5998
+-122.0617	46.8123	8670
+-122.8467	44.9333	7372
+-90.1242	40.7744	7225
+-88.8824	39.1959	8093
+-84.758	40.1602	4515
+-109.5475	32.8573	7852
+-89.9093	36.1429	7678
+-117.0678	46.4312	7926
+-124.6532	46.3141	7551
+-87.5964	35.6535	7202
+-110.4228	32.5988	8369
+-119.3848	48.4224	6538
+-92.6737	36.2573	5776
+-109.1804	26.9862	4339
+-80.7823	28.6745	8051
+-118.3218	31.8853	7919
+-79.2544	26.8425	6472
+-118.2037	45.2501	8357
+-117.0851	45.8074	7954
+-106.5443	29.343	4704
+-111.4991	33.0333	7458
+-81.8907	24.5835	6281
+-119.4758	33.6867	7079
+-87.9233	39.5929	7454
+-117.6707	43.3436	6270
+-86.4072	36.6885	6948
+-117.3055	36.3843	7082
+-115.4169	29.8308	6001
+-86.1356	37.4559	6852
+-126.1228	46.3645	6004
+-115.1861	33.2003	7721
+-119.6301	47.9878	6805
+-114.4663	31.0889	6363
+-93.7936	38.3429	5723
+-89.798	39.0485	8716
+-79.8151	27.4319	7243
+-117.8031	33.8506	8876
+-117.4404	35.3303	8218
+-116.9807	47.0844	7531
+-114.7591	36.3192	5909
+-93.3561	35.0659	4322
+-119.3713	33.8792	7225
+-118.7663	48.2348	6942
+-88.8472	39.0513	8257
+-119.3166	45.9624	8157
+-124.1611	49.3762	6618
+-83.642	27.065	8010
+-118.9224	47.5306	7601
+-90.1794	37.7703	8346
+-110.321	32.1308	8880
+-117.5089	32.155	8799
+-119.5252	31.8625	6707
+-109.2068	34.7229	5860
+-88.2784	36.3778	8269
+-111.8416	36.1342	4279
+-86.4808	36.152	6737
+-85.9097	42.8993	3122
+-122.6875	49.1291	7219
+-117.6779	33.2457	8826
+-87.0001	35.8298	6955
+-124.0952	45.0306	7107
+-89.2739	33.6455	5266
+-110.9287	31.0958	8640
+-119.2982	31.7748	6904
+-83.3028	24.6514	6128
+-115.2265	34.4959	7278
+-80.6178	28.3053	8073
+-120.458	43.7605	5878
+-78.4268	29.3662	5325
+-89.2522	35.7208	7565
+-79.3006	28.2117	6648
+-110.1514	32.1113	8869
+-119.904	47.9286	6673
+-114.4023	48.4113	4476
+-121.0223	46.9942	7543
+-113.8445	33.0698	6259
+-124.4425	48.4155	7281
+-87.8694	39.4279	7596
+-119.4425	45.5362	7895
+-109.4227	35.1661	5468
+-113.2038	30.447	6129
+-120.8206	47.956	7076
+-111.2303	31.6927	8494
+-108.9455	28.5413	5851
+-84.7076	33.1777	3113
+-119.4011	48.3051	6642
+-115.1301	31.3408	7125
+-114.9659	31.7091	7202
+-126.9766	42.8084	3209
+-84.3402	26.3636	6934
+-116.4939	33.518	8809
+-90.9903	37.4876	7915
+-87.5323	37.7196	8428
+-116.5674	31.6721	8401
+-121.0943	47.262	7596
+-89.665	38.2016	8450
+-112.1573	35.4702	4822
+-116.8665	48.8211	6011
+-119.6558	47.1672	7419
+-89.9585	37.4659	8459
+-121.9249	44.0747	6253
+-90.1919	42.6371	5230
+-94.6227	34.0836	2629
+-122.2669	46.6705	8838
+-90.4617	35.7542	6947
+-121.5264	47.8651	7803
+-123.5814	47.3686	8737
+-123.9273	49.2476	6858
+-95.3733	35.786	3169
+-86.0036	28.1782	5489
+-82.9254	29.2458	7994
+-114.8499	31.4099	6918
+-125.1036	46.7262	7171
+-87.3273	39.207	7448
+-89.2825	40.9022	6819
+-88.026	36.1606	7932
+-114.4579	32.4433	6924
+-113.7762	31.7612	6005
+-119.9565	33.9041	6593
+-117.1119	33.8749	9209
+-115.5636	33.9784	7673
+-117.812	30.579	7085
+-123.6037	44.5053	6794
+-119.3635	47.6725	7240
+-95.3157	41.6248	3271
+-113.2446	30.8543	6222
+-116.444	33.2098	9023
+-117.8375	38.2742	4978
+-89.7128	39.6028	8255
+-123.4253	47.1891	8979
+-115.1943	33.851	7464
+-120.3216	44.2546	6348
+-114.4733	37.6508	4638
+-89.9375	34.1012	5603
+-121.7916	45.6889	7748
+-118.2918	47.7428	7521
+-119.8312	47.7859	6837
+-118.6751	30.7692	6778
+-113.2711	32.4259	6162
+-119.3706	46.2753	8094
+-90.534	39.4431	8660
+-118.7756	35.7842	7098
+-107.2039	32.9416	5777
+-90.3992	39.3314	8797
+-107.3936	32.0819	6243
+-118.6014	45.9939	8905
+-108.9092	32.4169	7686
+-88.8802	34.071	5778
+-83.5941	27.9271	8230
+-122.0651	46.0436	8239
+-81.0542	28.9116	8112
+-91.7389	38.8681	7958
+-115.3258	35.323	7055
+-114.6042	31.334	6642
+-112.1724	31.7889	7469
+-87.8191	38.9448	8029
+-110.9573	30.5722	8186
+-120.6527	34.25	5842
+-93.1534	38.562	6432
+-108.539	32.4945	7293
+-87.7253	34.9914	6593
+-113.3888	32.9207	5860
+-83.3947	30.5002	6486
+-118.9272	46.1261	8578
+-83.731	28.16	8031
+-82.228	29.1785	8292
+-109.3299	30.4035	7796
+-111.1518	28.9694	6506
+-91.1004	34.2525	5173
+-87.6805	39.3419	7573
+-114.2729	32.6763	6744
+-109.6124	32.8677	7878
+-112.4938	32.6912	6843
+-115.5683	30.3402	6581
+-116.2419	34.2089	8417
+-117.9116	32.4703	8630
+-90.5397	35.2131	6418
+-86.1987	29.8108	4744
+-115.828	35.5803	7312
+-110.4035	29.1433	6829
+-78.5519	26.1212	5433
+-126.5681	47.6015	5516
+-117.0501	38.1744	5123
+-115.6436	33.1999	8216
+-86.6901	37.3098	7450
+-115.4835	36.8167	6023
+-123.5643	45.2535	7588
+-88.0644	40.3386	6713
+-86.6618	38.173	7385
+-121.2225	45.8278	7379
+-78.9662	28.5007	6214
+-114.7888	27.758	3610
+-90.3968	38.7753	9393
+-116.0134	37.8405	5269
+-118.5341	48.1046	7121
+-116.1447	44.3986	6366
+-86.1351	36.0302	6337
+-126.1944	48.2618	5717
+-89.0509	40.8058	6784
+-109.163	34.6396	5928
+-92.3521	37.4886	6904
+-117.7109	34.3066	9018
+-115.0616	32.6857	7623
+-117.3331	35.8709	7641
+-89.5229	38.6566	8492
+-115.2221	47.6045	5648
+-109.8028	33.8379	6964
+-90.4488	39.3864	8735
+-114.6617	33.2345	7140
+-84.486	38.0703	4989
+-123.5967	46.6136	8748
+-108.3103	34.434	5686
+-116.8688	29.3192	5850
+-123.6696	46.331	8510
+-118.17	43.9807	7013
+-121.4691	43.7289	5717
+-82.707	28.3157	8994
+-111.9309	35.093	5295
+-111.2297	28.7536	6258
+-91.138	36.9603	7331
+-111.4186	28.2722	5698
+-91.0046	39.5059	8370
+-120.726	45.368	6560
+-89.3089	38.9578	8245
+-119.5128	45.3889	7756
+-89.4556	37.8898	9002
+-110.8031	33.9672	6841
+-83.6646	40.6375	3188
+-82.5392	27.5966	9395
+-87.4377	41.0334	5751
+-90.8299	39.3769	8595
+-79.1816	27.6338	6550
+-118.297	31.1495	7374
+-114.7746	33.4527	7207
+-119.7484	46.2794	7697
+-123.7376	46.5668	8587
+-117.234	33.5392	8889
+-87.4288	38.137	8223
+-116.3462	32.9522	9044
+-115.3204	32.0683	7736
+-87.6334	38.894	7939
+-87.3913	37.3729	8237
+-81.9367	28.9563	8528
+-91.0495	38.4563	8640
+-86.7463	37.5055	7540
+-108.0273	32.9314	6579
+-116.1805	34.8155	8139
+-87.9701	37.8641	8894
+-96.7405	36.5437	2171
+-84.0639	35.5184	4012
+-122.2261	47.1889	8827
+-125.0114	46.3175	7179
+-109.4878	32.0641	8420
+-116.8791	47.2993	7305
+-91.7978	40.0853	7328
+-119.0693	45.8693	8393
+-78.9053	25.8469	5643
+-122.193	44.8972	7204
+-82.5653	27.3518	9215
+-120.3027	31.1597	5598
+-112.0106	32.5759	7362
+-88.2495	37.4236	9174
+-113.1193	33.4814	5821
+-122.6559	43.6996	6007
+-111.5418	30.6155	7796
+-89.9818	39.5524	8457
+-118.4565	33.5283	8082
+-91.5598	40.4385	7206
+-110.637	33.1828	7710
+-115.9616	49.201	5158
+-113.2233	32.007	6309
+-91.566	36.8155	6980
+-118.9063	35.7082	7058
+-121.3645	32.2897	4812
+-119.0384	32.597	7429
+-89.3404	38.9239	8285
+-123.1032	46.2368	8774
+-116.0859	32.4098	8671
+-117.8008	47.1252	8061
+-89.05	40.0352	7428
+-118.6101	34.204	8070
+-87.1759	39.0367	7458
+-107.6726	31.5741	6591
+-118.7987	33.3429	7657
+-88.5744	42.0925	5328
+-89.9397	38.2992	8743
+-116.836	43.8515	6429
+-117.0171	35.7096	7797
+-90.4261	38.9446	9210
+-116.4359	31.4082	8074
+-81.7639	26.8887	8815
+-110.3284	31.1813	9038
+-122.2551	44.4051	6704
+-91.8704	35.6418	5710
+-111.059	27.8843	5389
+-117.1615	45.7694	8022
+-90.5922	36.2737	7238
+-90.8639	37.0133	7482
+-122.1647	46.5414	8673
+-115.3098	36.4162	6258
+-82.2307	24.3494	6025
+-89.7077	38.7962	8694
+-116.6755	35.5443	7869
+-112.6236	33.6411	6138
+-116.8961	36.0357	7424
+-109.7191	32.0754	8621
+-127.9598	46.125	3971
+-115.2996	35.4537	6954
+-117.5777	33.508	8776
+-117.3356	34.2382	9401
+-89.7888	40.518	7414
+-113.8426	30.4039	5462
+-91.3318	38.7941	8401
+-90.0192	40.2595	7751
+-124.831	45.2758	6786
+-90.2535	40.8504	7156
+-91.533	37.8462	7848
+-115.8449	32.9067	8498
+-86.9838	39.2967	7103
+-109.8638	27.6558	5188
+-86.1115	28.0356	5381
+-116.35	38.4105	4766
+-89.0654	36.7474	8731
+-121.0684	46.0803	7371
+-117.7294	34.3429	8984
+-87.7813	42.0938	4858
+-121.9472	46.6295	8496
+-114.0254	45.8904	4746
+-114.9394	36.8389	5645
+-108.7502	30.0884	7114
+-112.8895	29.9215	6170
+-111.1009	29.8882	7457
+-114.4972	29.8399	5439
+-80.3981	26.6301	7546
+-117.4713	48.9906	6081
+-118.8808	33.1647	7484
+-118.1354	33.9344	8566
+-90.6801	36.2146	7119
+-116.6055	30.8106	7479
+-90.0396	34.6521	6143
+-111.8475	29.3204	6524
+-116.2659	32.8991	8966
+-121.21	46.9736	7749
+-116.7531	36.2585	7153
+-110.2409	32.7644	8190
+-118.6937	36.836	6204
+-116.8385	31.9961	8827
+-117.0695	34.0994	9320
+-110.9023	33.8297	6963
+-116.538	31.4865	8194
+-117.383	32.3359	9043
+-115.3803	32.9526	7977
+-116.5276	34.1343	8732
+-91.1924	36.9894	7336
+-122.1091	49.0372	7171
+-119.1984	47.7067	7302
+-87.7079	36.9512	8381
+-88.5412	37.1502	9183
+-87.7764	37.6909	8703
+-120.652	48.1176	6832
+-115.8869	34.8619	7836
+-119.421	46.8041	7844
+-117.0913	33.0073	9499
+-119.601	36.1884	6145
+-115.4303	34.6732	7450
+-88.4665	39.4791	7752
+-118.9934	46.3135	8475
+-121.7149	46.5648	8231
+-118.4737	30.8314	6973
+-119.3522	45.5057	7965
+-121.2915	33.5151	5096
+-121.7202	46.577	8241
+-90.2513	37.4616	8028
+-113.9101	36.0932	5298
+-122.5506	43.8611	6173
+-114.7393	30.9328	6499
+-119.6389	46.7627	7662
+-89.353	37.5122	9135
+-89.2628	38.6957	8215
+-111.522	33.3292	7185
+-112.8434	36.9002	3847
+-117.3502	35.7186	7806
+-90.1055	38.0188	8581
+-116.1436	32.9189	8828
+-113.2143	35.0182	5013
+-89.5343	37.2335	8826
+-80.3078	28.301	7740
+-92.0939	37.1649	6911
+-81.1559	28.4386	8550
+-117.1632	36.2789	7195
+-93.3693	39.9033	5974
+-84.185	24.5508	5577
+-92.4582	37.0273	6518
+-122.3715	49.0952	7197
+-118.0394	35.4492	7873
+-82.3036	27.6958	9684
+-118.0932	35.0385	8201
+-87.3186	37.978	8152
+-80.0035	27.7252	7482
+-117.6647	33.0279	8939
+-123.5858	43.1402	5335
+-114.8521	46.1387	5626
+-116.1036	31.3138	7820
+-125.9185	47.2575	6275
+-92.124	35.8057	5738
+-93.3213	35.1365	4405
+-118.0746	46.5393	8746
+-115.1123	34.2499	7185
+-116.7494	35.0775	8364
+-116.702	49.532	5258
+-83.5407	28.3834	8154
+-119.8204	33.6021	6692
+-115.2428	33.908	7317
+-117.0649	31.6785	8479
+-89.725	36.7511	8328
+-117.2312	34.0924	9479
+-115.1467	35.5556	6753
+-86.6278	38.9869	6993
+-116.1618	33.82	8285
+-90.0996	38.0225	8583
+-115.5608	34.6861	7582
+-116.4638	32.7401	9186
+-116.1366	32.4659	8748
+-91.6899	37.8099	7689
+-117.7154	47.0309	8106
+-115.0828	35.5865	6676
+-92.1963	43.1712	4274
+-122.3224	45.7656	8142
+-81.5452	30.7933	6404
+-91.70	39.9424	7510
+-118.6509	33.2036	7719
+-90.0736	33.4168	4825
+-82.0404	28.9798	8516
+-88.4305	34.5454	6292
+-88.3992	39.4455	7775
+-122.2032	45.0022	7316
+-118.1131	44.9816	8062
+-121.4417	44.4468	6408
+-88.5385	38.5998	8736
+-121.8842	47.5834	8301
+-117.2445	29.8631	6444
+-88.076	36.9894	8730
+-90.8011	40.6301	7348
+-118.9977	48.0079	7103
+-120.707	30.1555	4633
+-121.7745	45.3579	7449
+-118.7695	33.8653	7873
+-81.8653	35.9024	1819
+-120.5238	47.3142	6968
+-124.9744	47.2218	7310
+-85.4837	30.7118	4846
+-120.9074	43.5807	5408
+-118.6922	33.8417	7951
+-108.0584	32.4506	6836
+-80.4648	28.3647	7887
+-86.7388	37.6259	7538
+-119.9587	41.9606	4531
+-87.586	36.2461	7742
+-91.7942	39.7228	7577
+-91.5001	40.0546	7573
+-116.5935	38.7155	4486
+-92.1707	40.6982	6575
+-118.0976	49.1425	6032
+-116.8667	31.1694	7912
+-110.0427	30.9112	8680
+-82.8937	27.0178	8685
+-79.1458	27.8174	6512
+-116.1611	33.5107	8567
+-116.4421	34.4021	8592
+-81.7591	25.6887	7504
+-82.6756	29.0299	8337
+-83.5035	27.6485	8337
+-86.3087	27.8209	5168
+-117.0768	46.5224	7907
+-94.2539	41.2576	4454
+-120.6989	32.545	5579
+-119.5056	42.9294	5662
+-90.2911	38.1366	8756
+-115.2483	45.9834	6044
+-91.1247	39.8679	7979
+-118.2834	43.4339	6437
+-80.9796	28.8156	8128
+-80.1588	26.655	7329
+-121.9115	47.7254	8237
+-109.9012	30.4059	8115
+-119.5854	44.2836	6894
+-116.6672	36.0566	7340
+-87.0267	35.0787	6315
+-81.0464	25.4294	6976
+-124.1049	46.1806	8026
+-86.5207	40.708	5571
+-119.8645	48.0275	6620
+-81.3231	31.6215	5436
+-116.4169	28.9767	5426
+-117.8271	33.017	8767
+-121.2981	45.1217	6922
+-116.7143	34.2313	8926
+-91.439	39.2853	8149
+-88.6552	38.8582	8471
+-83.5803	35.9423	3680
+-84.4343	24.7136	5567
+-126.1059	46.8489	6082
+-118.3001	31.6463	7774
+-118.3461	30.0706	6325
+-116.5323	34.4247	8676
+-112.426	36.3331	3850
+-111.106	34.5925	6107
+-89.091	34.4914	6233
+-88.4762	36.6039	8579
+-122.8991	49.0421	7326
+-127.2217	45.1062	4437
+-89.3644	36.3126	8154
+-89.8468	39.7654	8187
+-113.246	30.0329	5899
+-110.7659	30.3254	8032
+-81.8471	25.7475	7585
+-120.1421	30.5039	5371
+-90.9952	38.443	8686
+-116.1881	47.3313	6687
+-87.7604	40.5548	6381
+-117.1982	42.8614	5643
+-119.123	31.7697	7079
+-113.4175	35.6306	5033
+-114.5642	46.9443	5221
+-86.9298	35.2798	6435
+-118.3064	44.8424	7928
+-82.522	25.1872	6941
+-124.1682	47.8064	7935
+-113.5592	32.2485	5905
+-81.6731	24.8414	6542
+-93.2133	41.0133	5519
+-119.4379	42.0215	4771
+-116.8768	33.7139	8913
+-93.1846	41.3593	5298
+-111.1608	30.0121	7550
+-86.2077	28.9992	5077
+-81.9726	25.8116	7673
+-90.4556	40.1593	7903
+-88.6386	34.3261	6063
+-89.1744	37.7221	9353
+-90.8908	37.3107	7779
+-83.1985	32.1412	4799
+-90.1679	37.6994	8268
+-117.9473	44.6982	7734
+-79.6483	28.1746	7043
+-116.9709	46.8953	7635
+-91.701	38.0969	7839
+-117.9984	33.5708	8531
+-77.2887	24.0317	2972
+-122.0093	47.8503	8228
+-113.9109	31.9884	6222
+-88.2945	35.6332	7473
+-87.5925	36.2336	7736
+-93.2569	38.2127	6273
+-87.0458	38.7067	7558
+-118.1585	45.4409	8550
+-89.3738	41.251	6517
+-123.2257	47.1013	9219
+-118.7992	46.9778	8182
+-110.8252	36.3128	4322
+-90.8673	39.6489	8324
+-123.5831	46.6437	8776
+-118.7191	34.3253	7940
+-117.1046	28.8464	5322
+-107.1772	35.897	3682
+-118.1538	34.3032	8552
+-83.8952	31.9769	4729
+-108.9023	34.3028	6144
+-109.6967	34.0992	6662
+-89.5186	41.2225	6601
+-92.5289	35.9716	5641
+-83.4678	28.7041	8047
+-78.5374	30.385	4860
+-115.9103	33.1923	8502
+-117.652	36.1728	7274
+-84.1236	24.171	5243
+-112.5711	32.5196	6845
+-109.1572	28.244	5638
+-80.3141	31.6158	5076
+-92.5739	39.3307	6982
+-92.086	40.7569	6588
+-118.8735	45.9293	8610
+-89.3283	38.1365	8993
+-110.6166	35.5567	5158
+-115.9057	31.0862	7489
+-86.662	27.2922	4741
+-92.2862	37.442	6936
+-119.1909	33.5029	7329
+-117.8843	34.1792	8862
+-89.6249	35.925	7636
+-119.7301	46.654	7620
+-89.9587	39.3089	8668
+-119.9303	32.5186	6431
+-117.047	37.0378	6361
+-86.0827	37.9841	6781
+-90.4866	42.6202	5251
+-92.3357	36.2521	6007
+-123.1523	47.8542	8592
+-81.573	26.8129	8641
+-118.7377	30.1321	6166
+-78.9514	31.9733	3925
+-115.8355	33.5503	8249
+-86.7973	37.6017	7603
+-121.3798	42.8762	4812
+-112.5253	28.3851	5273
+-122.5978	43.6664	5965
+-91.2005	38.8636	8535
+-118.7567	37.533	5489
+-115.8064	41.975	4165
+-117.0187	34.6485	8914
+-83.7873	24.8729	6122
+-124.6698	45.7628	7255
+-115.6135	34.1466	7735
+-84.4549	25.874	6504
+-119.7197	35.1183	6654
+-80.6101	24.9229	6243
+-116.8089	44.6962	7104
+-118.7186	30.8613	6824
+-86.2493	38.8661	6685
+-120.8444	41.8143	3973
+-114.0967	31.5646	6260
+-111.1589	28.5378	6055
+-91.6797	38.4884	7999
+-107.9536	32.9896	6479
+-109.4839	29.5676	7104
+-82.8967	26.3637	8086
+-91.7853	34.3384	4772
+-86.7432	33.85	4967
+-111.1213	31.1092	8477
+-83.5474	28.0368	8264
+-78.8275	26.3634	5829
+-91.0197	37.4662	7880
+-114.0083	34.4631	5966
+-86.7597	36.0719	6938
+-90.7076	40.176	7848
+-118.5818	36.8826	6213
+-118.4586	32.1122	7913
+-88.8093	33.9766	5673
+-122.3555	47.3227	8891
+-89.4468	37.8968	9009
+-77.5697	26.4751	4527
+-109.8195	32.4436	8388
+-114.2732	43.4514	4171
+-86.664	39.2188	6881
+-120.6984	32.2851	5548
+-122.4849	47.6961	8684
+-116.8553	31.4027	8171
+-117.4693	34.1878	9309
+-116.0978	30.624	7122
+-116.8125	36.5701	6834
+-112.4754	32.9121	6742
+-112.5987	32.3562	6880
+-93.4736	33.875	3203
+-117.3251	34.0053	9384
+-110.6781	29.9049	7617
+-115.3329	33.2617	7864
+-84.4705	28.6676	7059
+-88.5612	40.3674	6798
+-91.4721	41.2427	6492
+-108.6234	31.5383	7620
+-126.4516	46.2582	5627
+-118.2345	34.6806	8325
+-117.6625	34.1626	9105
+-118.3127	34.0342	8392
+-125.7293	48.3112	6165
+-81.8179	27.2976	9253
+-120.9948	41.8127	3888
+-90.3745	35.8274	7073
+-79.0768	26.5308	6162
+-122.392	45.1673	7552
+-112.0018	35.1745	5183
+-84.6382	28.5297	6930
+-109.4059	32.0677	8340
+-85.7959	40.0309	5553
+-125.4294	44.763	5921
+-115.3727	32.1102	7808
+-117.5978	46.0448	8532
+-111.0013	32.0809	8571
+-111.8526	30.5766	7499
+-118.6786	34.6522	7897
+-90.2638	40.1168	7946
+-92.6159	37.8798	6842
+-118.1523	47.1784	8110
+-81.1239	28.1811	8658
+-117.1888	46.1782	8098
+-116.6104	32.293	9046
+-114.0212	47.764	4415
+-118.5296	33.7261	8090
+-123.6247	48.4002	7841
+-83.7096	28.3809	7978
+-115.4058	31.5722	7526
+-85.4299	37.2194	6036
+-89.3159	37.4884	9167
+-112.0774	31.7666	7573
+-78.4274	29.4627	5281
+-120.7463	35.6362	5403
+-82.3389	27.8525	9640
+-83.5412	25.1971	6578
+-82.5037	25.8382	7671
+-123.5386	45.3697	7717
+-88.882	38.1463	9261
+-116.7968	32.4779	9330
+-125.3401	45.5805	6523
+-114.211	48.098	4456
+-118.5872	31.3963	7349
+-117.4449	43.8338	6701
+-123.05	46.7764	9340
+-118.5891	46.4201	8792
+-93.1268	35.8369	5111
+-109.3239	31.7725	8361
+-124.3704	45.8739	7594
+-120.9698	32.5733	5279
+-109.5408	33.1051	7615
+-82.1512	26.0221	7919
+-121.7054	45.7325	7719
+-87.4426	38.199	8213
+-116.462	34.4786	8583
+-109.5025	29.2891	6830
+-124.8269	46.7105	7471
+-78.9237	27.9481	6255
+-90.1524	41.0098	6976
+-119.4871	33.1834	6903
+-109.7879	33.2185	7606
+-107.2939	33.0369	5823
+-88.9268	37.8978	9499
+-124.603	47.1563	7724
+-84.9895	28.6483	6511
+-89.7829	37.3494	8620
+-122.0845	46.2159	8388
+-81.0526	29.8693	7218
+-116.0147	34.4858	8119
+-80.7649	29.3119	7557
+-110.8743	31.902	8793
+-117.5117	33.7613	9052
+-119.9393	46.3335	7489
+-89.6202	38.5691	8579
+-77.2202	25.6767	3852
+-112.2398	31.8853	7382
+-89.1903	42.1916	5498
+-113.843	46.6131	4527
+-92.9282	39.5414	6552
+-117.1689	32.5045	9338
+-88.107	33.7616	5370
+-118.7362	46.0134	8772
+-121.1025	47.1216	7624
+-84.9095	26.8831	6596
+-90.9396	39.3711	8526
+-85.9998	35.542	5900
+-127.6401	47.1291	4395
+-83.047	30.7202	6395
+-110.9418	30.7109	8321
+-116.0394	31.8546	8263
+-119.2008	44.8138	7587
+-118.6113	35.0105	7787
+-120.6067	35.8943	5419
+-91.3892	39.9653	7724
+-121.026	47.8033	7351
+-90.6427	36.2095	7149
+-88.1841	40.4953	6398
+-114.8379	33.4725	7268
+-118.6077	35.2943	7603
+-111.8865	29.2446	6432
+-88.469	36.6879	8667
+-118.4321	45.851	8953
+-120.9111	32.2855	5313
+-77.4455	30.6406	3671
+-119.2027	46.1767	8283
+-119.9827	49.0228	5680
+-119.1777	46.1361	8313
+-120.7867	44.7609	6254
+-116.1058	34.5256	8201
+-114.3805	33.5469	6756
+-123.9831	46.6827	8376
+-118.467	44.2724	7315
+-122.7658	46.9096	9446
+-114.5814	31.0166	6420
+-88.0594	38.6206	8482
+-118.3645	31.5551	7653
+-117.4638	33.8905	9197
+-117.4173	46.6051	8199
+-112.9591	30.4952	6394
+-120.4299	44.0326	6104
+-116.4687	46.1465	7338
+-120.0379	33.8058	6494
+-110.6476	32.3951	8530
+-109.3484	28.0023	5450
+-84.5036	39.1238	4758
+-122.3248	46.1345	8495
+-116.9872	46.6191	7782
+-121.682	46.5761	8201
+-120.0803	30.7636	5593
+-87.6911	36.9439	8361
+-88.2511	37.829	9208
+-116.5125	32.8492	9245
+-119.122	44.0731	6937
+-120.5852	45.8359	6807
+-88.8333	34.1431	5860
+-117.9594	35.7108	7658
+-85.8162	38.1147	6465
+-90.3056	38.6592	9296
+-81.5834	29.427	7914
+-107.7181	33.1956	6145
+-110.5861	30.7814	8563
+-116.6896	42.0326	4634
+-93.6715	37.9729	5783
+-116.539	43.1749	5654
+-90.7804	36.2358	7042
+-86.4151	36.3858	6810
+-109.9592	33.5679	7285
+-107.6337	28.5373	5064
+-116.7837	45.3122	7467
+-113.3122	33.9141	5376
+-116.8533	33.3428	9152
+-118.2912	46.8386	8478
+-91.7529	36.5598	6640
+-115.81	32.8502	8462
+-81.1413	24.0566	5548
+-125.0347	46.2541	7134
+-108.7081	31.7943	7698
+-117.3605	37.1326	6265
+-85.9533	42.1248	3897
+-121.9349	45.6627	7824
+-115.9673	33.3088	8510
+-117.2719	30.7499	7423
+-122.1143	49.5125	6679
+-112.1912	34.4668	5757
+-110.8977	29.5725	7211
+-89.7972	37.8429	8641
+-87.5094	39.3146	7488
+-79.4304	28.6588	6672
+-79.4566	28.2093	6823
+-117.5445	48.3433	6759
+-121.0772	46.5813	7559
+-110.9397	31.4567	8802
+-89.7219	41.6047	6266
+-119.8255	34.7004	6679
+-89.272	35.5357	7357
+-118.6321	32.9445	7890
+-119.262	32.9618	7187
+-123.0768	49.3728	6955
+-80.845	26.8182	8083
+-118.909	35.0532	7484
+-115.6717	42.6843	4707
+-84.9213	28.0569	6721
+-92.5861	39.8578	6767
+-114.6832	29.4507	5216
+-90.6701	40.6253	7380
+-117.0634	30.5332	7204
+-80.7502	28.3536	8193
+-115.0736	35.4825	6729
+-81.2558	28.3548	8697
+-121.8955	42.9824	5092
+-107.4729	33.7134	5610
+-116.4196	40.3709	2880
+-82.8735	29.1915	8076
+-82.3477	28.978	8501
+-113.14	34.4298	5142
+-118.9388	47.5276	7597
+-120.072	45.4798	7256
+-82.7458	27.3619	9062
+-113.52	44.9626	4074
+-83.7894	28.2629	7936
+-120.4051	48.2171	6540
+-116.8663	49.3897	5467
+-107.5244	29.9524	5954
+-121.979	47.9987	8086
+-81.3282	27.9329	8962
+-108.9428	33.1762	7183
+-117.8624	34.774	8583
+-108.0202	27.1363	4043
+-110.5987	30.2818	8034
+-93.1128	37.9446	6357
+-124.4997	48.8846	6862
+-107.6092	34.4148	5217
+-118.7301	31.1438	7042
+-88.9125	43.1529	4421
+-115.7061	32.3522	8254
+-116.8004	31.6929	8486
+-111.4169	31.5705	8299
+-88.2232	38.2777	8897
+-90.0045	35.8455	7344
+-112.5154	28.9308	5752
+-115.1345	31.1877	7018
+-89.8974	40.6191	7343
+-115.3733	30.6244	6730
+-108.4638	34.1661	6019
+-122.009	46.3199	8397
+-123.884	47.9358	8089
+-119.7576	34.3525	6810
+-117.6853	44.9788	7915
+-112.5806	36.3175	3898
+-119.1683	44.1524	6995
+-118.4838	36.3862	6745
+-119.3769	44.7347	7408
+-91.8476	39.8763	7433
+-117.6363	44.3975	7332
+-122.782	49.669	6634
+-123.7349	46.9716	8689
+-91.1585	38.7835	8588
+-118.6688	48.2447	6953
+-88.7543	38.2839	9121
+-88.247	38.0077	9117
+-90.7929	38.5786	8946
+-121.0173	36.3596	4780
+-92.4319	40.3442	6627
+-91.5675	39.0774	8100
+-93.6298	39.0782	5907
+-109.2123	32.9618	7549
+-91.4001	37.296	7512
+-88.3264	38.456	8800
+-88.5045	34.4499	6193
+-85.9251	30.446	4640
+-120.9051	48.9931	6482
+-119.0331	47.3504	7716
+-117.3374	44.3212	7127
+-111.9344	30.0645	7082
+-91.9504	35.8038	5828
+-117.1601	35.4492	8098
+-93.7726	41.1129	4971
+-109.659	31.7496	8721
+-120.4132	48.3385	6486
+-114.122	33.3546	6524
+-119.2451	46.2031	8236
+-86.6556	39.599	6602
+-118.5898	42.6909	5635
+-82.3481	28.1607	9385
+-90.1288	39.3306	8741
+-89.1271	42.9479	4702
+-109.2554	33.1317	7429
+-113.681	32.7242	6087
+-108.3771	33.1103	6785
+-114.1991	31.0935	6116
+-117.1313	31.3453	8101
+-118.521	49.6388	5504
+-118.895	42.9954	5909
+-80.212	25.689	6691
+-90.2945	37.4643	8035
+-88.775	42.9426	4584
+-117.5204	34.5379	9017
+-120.0041	44.8114	6984
+-84.2704	25.0474	5980
+-90.8429	36.7113	7172
+-90.1945	37.743	8320
+-107.0936	30.8753	5881
+-113.9746	34.35	5939
+-107.6575	30.4667	6332
+-112.2139	32.0837	7365
+-115.8591	31.7663	8050
+-90.6509	37.0919	7614
+-119.8687	46.8401	7407
+-91.0692	39.1176	8586
+-84.864	36.1356	5110
+-123.0028	49.8971	6385
+-120.2349	46.8742	7037
+-116.0005	35.1812	7745
+-90.9212	38.5668	8812
+-122.7985	48.4127	8014
+-92.3219	39.538	7169
+-88.3269	35.1825	6984
+-111.5069	28.7063	6107
+-115.8249	31.0835	7438
+-111.1455	30.4238	7940
+-116.0476	36.9462	6194
+-116.4981	31.3494	8035
+-120.3186	48.362	6382
+-118.4959	42.7234	5677
+-116.2013	33.0643	8856
+-93.4593	38.3539	6082
+-110.5149	31.9059	9072
+-109.4034	31.7773	8444
+-115.8879	34.2469	8029
+-111.1345	32.3727	8255
+-86.2894	37.1015	6963
+-82.0614	28.3378	9241
+-125.3035	48.2151	6631
+-119.6225	46.9503	7580
+-118.4721	34.2226	8219
+-118.4201	37.0469	6120
+-89.124	35.7433	7620
+-120.2683	32.2425	6015
+-91.2092	39.3807	8304
+-86.5029	35.4006	6220
+-125.2401	46.5481	6994
+-88.7097	37.3795	9487
+-82.459	26.4244	8330
+-121.0776	47.3257	7566
+-94.5997	36.9426	4480
+-117.9059	33.446	8514
+-115.4188	32.2182	7902
+-117.4451	46.777	8119
+-79.9655	28.6168	7258
+-112.2166	27.3704	4474
+-123.6715	48.4435	7776
+-120.1002	46.5289	7283
+-112.301	31.9713	7301
+-86.8275	38.075	7590
+-88.8387	36.7502	8784
+-118.5933	33.9286	8074
+-117.9658	45.9345	8881
+-89.4626	36.7489	8523
+-80.6534	26.7193	7841
+-122.1106	43.5112	5712
+-84.4973	29.5393	6550
+-88.9886	39.8329	7521
+-124.8467	48.5126	6875
+-89.074	34.6563	6419
+-125.2404	46.3063	6935
+-110.6695	31.0537	8794
+-89.4931	40.6011	7210
+-87.9948	36.414	8164
+-87.292	41.9078	4661
+-111.0443	30.8115	8337
+-120.449	31.7481	5690
+-88.7316	36.2559	8232
+-109.9826	32.484	8426
+-88.639	36.4619	8456
+-88.2685	40.5305	6445
+-79.7468	26.7273	6947
+-83.4181	27.3553	8366
+-109.8399	29.2729	6914
+-88.2553	28.8819	2852
+-116.3384	34.8764	8241
+-105.0096	31.9352	3693
+-83.1702	28.2666	8590
+-121.1846	46.1233	7506
+-117.9762	35.8617	7500
+-110.9604	33.4139	7377
+-92.4448	36.0259	5742
+-117.2911	46.5975	8085
+-89.2365	41.7857	5927
+-85.5583	35.5236	5485
+-110.8643	29.9639	7627
+-114.4583	34.4269	6458
+-91.6657	37.5005	7495
+-80.1971	25.6219	6623
+-118.382	37.7024	5459
+-87.9044	36.7795	8427
+-121.8129	29.7746	3371
+-111.3159	30.6951	8038
+-111.974	32.5954	7385
+-116.2678	32.9253	8964
+-111.9435	35.9213	4460
+-87.9388	37.3726	8829
+-110.9955	31.8776	8688
+-85.7796	40.3674	5294
+-88.0901	36.964	8721
+-119.7657	49.2719	5553
+-116.3463	47.4305	6772
+-111.5183	29.5228	6898
+-120.5875	43.3316	5446
+-83.2613	26.5542	8019
+-117.3883	47.2164	7745
+-117.0856	36.355	7106
+-111.6538	32.1462	7918
+-110.515	31.3659	9167
+-87.158	39.8322	6786
+-117.7526	45.0382	8003
+-115.217	31.317	7183
+-117.9331	48.4925	6700
+-90.5967	41.0232	6963
+-86.7039	39.9775	6338
+-86.7523	37.5775	7552
+-118.3795	46.3191	9007
+-80.8472	26.316	7699
+-122.0173	43.7388	5930
+-91.6897	37.3301	7345
+-113.0086	33.7713	5729
+-83.3192	28.566	8274
+-105.7987	32.7597	4398
+-124.4151	48.021	7578
+-119.9021	47.1079	7241
+-89.9558	38.0279	8520
+-116.3266	32.7962	9039
+-87.5101	39.3949	7416
+-114.6045	32.4437	7085
+-89.3652	38.7197	8326
+-110.377	33.9547	6904
+-119.9173	47.6369	6885
+-87.4091	34.8334	6289
+-82.661	28.6001	8776
+-113.3677	30.4269	5955
+-78.9099	24.5006	4701
+-90.7547	44.5137	3199
+-89.5327	41.2976	6529
+-85.5954	36.1532	5871
+-117.3115	32.1708	8936
+-109.3565	33.2128	7415
+-107.8885	33.5452	6077
+-118.4192	31.7575	7748
+-80.2158	29.5749	6910
+-107.8753	30.6761	6635
+-106.56	32.2319	5325
+-108.4118	31.9454	7355
+-114.5345	36.344	5704
+-82.9392	28.7814	8426
+-118.5065	28.6257	4773
+-89.0671	38.7262	8578
+-118.9411	29.9145	5838
+-119.0055	35.5396	7098
+-94.1936	39.0879	5301
+-110.0434	29.3795	7065
+-91.7628	39.3538	7801
+-116.7119	30.8161	7503
+-116.9725	44.012	6649
+-116.2402	44.9179	6761
+-87.6038	37.7357	8508
+-122.8728	47.1797	9370
+-115.226	44.089	5385
+-115.9364	36.0707	6974
+-111.8372	30.7627	7617
+-114.8148	30.246	6014
+-109.4802	30.8216	8234
+-91.4036	37.0561	7293
+-82.3209	27.5326	9553
+-111.2336	28.343	5830
+-108.4645	33.8611	6281
+-118.3691	34.0749	8334
+-85.7068	37.872	6373
+-114.5976	31.9588	6943
+-114.0474	31.9475	6355
+-121.0764	47.8961	7357
+-124.3634	48.9262	6919
+-92.4706	37.1877	6614
+-91.2476	35.9063	6221
+-91.3415	39.5856	8054
+-118.6919	43.8232	6811
+-116.9752	33.2065	9318
+-120.0185	47.8961	6616
+-114.0048	33.0127	6442
+-114.0108	28.5904	4336
+-87.695	37.3304	8555
+-88.3087	38.9789	8254
+-90.7648	41.2696	6678
+-82.0127	28.2831	9292
+-117.2326	42.6607	5452
+-88.6876	40.4163	6862
+-114.0829	29.2641	4697
+-111.2079	30.1686	7671
+-82.9386	30.1978	6995
+-123.4677	48.5767	7731
+-111.4901	31.7734	8203
+-123.27	46.2332	8704
+-113.7173	46.3397	4418
+-117.2244	30.372	7011
+-89.9074	39.865	8118
+-119.3257	34.3279	7282
+-117.9377	32.8281	8670
+-119.3373	48.6655	6323
+-90.7995	41.9854	5908
+-119.1146	48.4691	6602
+-88.4728	38.4915	8832
+-112.4004	30.2517	6809
+-120.5239	45.8486	6873
+-119.9193	45.8854	7513
+-93.7355	37.2794	5479
+-110.141	34.1066	6732
+-92.4524	41.291	5892
+-110.7103	34.6244	6153
+-89.5403	38.587	8499
+-117.42	31.8771	8589
+-120.3973	45.1375	6800
+-85.4872	35.3143	5285
+-117.8974	33.2134	8624
+-123.295	46.9015	9166
+-117.0072	33.323	9186
+-86.572	39.1201	6860
+-88.0064	35.7307	7481
+-122.0543	31.6874	3940
+-85.5328	40.6718	4859
+-82.675	28.3547	8988
+-89.4693	40.6492	7153
+-117.9773	31.2101	7636
+-121.0465	46.9738	7570
+-81.1111	25.7295	7314
+-117.7525	36.6599	6731
+-115.7947	34.7349	7803
+-121.7631	45.945	7927
+-115.2886	35.2193	7076
+-116.4296	34.3637	8591
+-124.8228	46.3614	7392
+-82.0967	27.8027	9834
+-120.3906	33.9999	6127
+-85.2735	30.8254	4933
+-88.0418	38.2289	8785
+-118.0521	48.9578	6224
+-118.2272	33.2449	8111
+-116.2571	41.3268	3769
+-119.9438	46.5248	7445
+-89.3864	34.2183	5883
+-124.2274	46.8872	8145
+-94.9422	35.6079	3457
+-84.399	28.5983	7162
+-122.7162	46.8599	9373
+-81.2397	24.7482	6331
+-116.3426	31.6491	8276
+-119.5144	33.2792	6915
+-116.566	35.7243	7642
+-106.5247	31.0922	5313
+-115.6172	28.7894	5015
+-115.0317	35.9904	6368
+-107.9536	26.6582	3547
+-90.6468	40.4021	7621
+-81.1637	28.6427	8414
+-121.1223	31.8236	4987
+-90.1874	36.6011	7822
+-118.2292	31.3458	7591
+-118.4963	44.7386	7801
+-125.8708	48.339	6011
+-115.9374	36.5385	6540
+-81.6329	25.9186	7726
+-88.2114	42.5098	4744
+-106.5422	31.251	5350
+-109.7747	29.6054	7247
+-82.5289	27.5445	9379
+-117.7747	34.2843	8960
+-125.29	44.7346	6014
+-89.9108	41.6073	6303
+-90.8403	39.9584	8032
+-112.347	32.2474	7176
+-117.8945	46.9809	8241
+-92.975	42.1632	4805
+-125.1516	48.3035	6729
+-117.478	32.1245	8793
+-89.8521	35.0457	6631
+-88.8313	34.0646	5772
+-109.6208	31.8572	8647
+-120.843	48.0684	7043
+-109.2891	32.8169	7722
+-91.9371	37.9917	7561
+-82.8129	25.4685	7181
+-91.9503	37.8649	7485
+-123.0373	49.6074	6701
+-81.6378	27.1102	8962
+-83.5489	28.8756	7858
+-84.5665	30.4364	5806
+-84.4345	38.6923	4818
+-116.3221	35.7051	7538
+-119.565	43.7211	6399
+-115.1051	33.359	7590
+-116.5753	33.0021	9270
+-79.1863	27.2257	6503
+-118.6102	34.7628	7919
+-79.9003	27.1161	7261
+-117.6778	48.127	7020
+-111.7819	36.1991	4232
+-89.8373	36.7369	8224
+-110.258	30.5902	8394
+-120.9571	46.4921	7409
+-122.7585	48.8292	7554
+-87.2033	40.7187	5965
+-118.4339	37.1361	6024
+-90.7134	38.4628	8953
+-114.732	29.8495	5610
+-91.6545	37.4419	7458
+-122.8281	47.2536	9281
+-116.1505	46.6555	6926
+-124.3281	49.192	6701
+-116.6862	44.2502	6672
+-117.4798	31.297	7964
+-91.847	39.317	7732
+-117.6152	48.7027	6415
+-117.9211	33.9285	8790
+-116.7309	35.5511	7885
+-78.957	31.0768	4702
+-113.8753	32.8588	6304
+-90.4051	36.1317	7295
+-81.2489	32.6549	4272
+-118.2445	44.3588	7416
+-108.1326	32.2545	6981
+-109.1124	33.465	7043
+-87.541	38.6654	8040
+-112.8231	30.9191	6682
+-120.9607	46.8027	7468
+-116.3068	31.7147	8320
+-119.8588	48.2475	6440
+-118.9764	31.4426	7037
+-119.0905	36.9674	5861
+-125.2563	45.637	6634
+-80.1453	29.2654	7076
+-118.8071	35.2647	7453
+-82.5573	27.5404	9349
+-112.6843	34.5593	5364
+-89.0201	37.1414	9161
+-107.7925	34.061	5629
+-84.3916	24.1152	5035
+-114.2744	33.2514	6711
+-111.8266	31.2813	7823
+-88.9732	36.0101	7942
+-119.7086	34.4459	6852
+-121.7601	43.3878	5480
+-91.0507	41.0878	6804
+-82.9116	24.3735	5954
+-120.82	45.789	6980
+-117.2287	46.0607	8143
+-113.0291	34.0546	5511
+-109.5539	31.5245	8627
+-83.9284	24.2741	5450
+-83.9056	28.7376	7606
+-88.7768	35.4336	7309
+-116.2336	31.3468	7921
+-120.0042	48.0656	6494
+-116.2387	32.9257	8932
+-81.6451	26.8701	8738
+-91.4463	36.6446	6882
+-86.3249	37.7149	7074
+-116.2122	48.03	6262
+-80.7463	28.4238	8156
+-91.9861	37.3874	7157
+-122.0767	47.3917	8588
+-115.7315	32.6589	8364
+-91.9704	34.5801	4822
+-79.1848	26.5159	6269
+-86.6055	38.5845	7179
+-87.5241	36.5138	7913
+-123.9736	44.292	6440
+-117.4166	32.9286	9236
+-88.4927	38.3517	8986
+-88.6508	37.8342	9586
+-117.366	32.0978	8836
+-110.3368	28.8545	6517
+-109.0702	30.9435	7940
+-82.1683	29.1761	8297
+-87.2982	36.1016	7407
+-112.0207	30.9086	7505
+-121.9628	42.711	4819
+-114.3882	46.3609	5126
+-88.7941	38.6248	8738
+-116.8613	45.694	7694
+-91.3202	38.1533	8227
+-89.6758	37.2407	8688
+-116.5854	28.2531	4645
+-123.1132	48.0743	8367
+-90.6486	38.0387	8606
+-119.2413	48.6352	6390
+-81.0176	24.2426	5711
+-113.4898	31.4823	6052
+-114.9322	28.8718	4802
+-87.2172	39.3799	7222
+-124.9367	46.4886	7308
+-123.5712	47.1145	8851
+-119.3661	42.4856	5265
+-92.8541	39.1256	6731
+-90.0611	38.5302	9004
+-115.5447	34.5138	7614
+-81.523	31.9591	5099
+-81.6216	28.6685	8719
+-122.288	46.6746	8861
+-126.3117	47.9117	5717
+-111.2739	31.4731	8448
+-118.7491	32.2042	7651
+-117.9468	30.5798	7029
+-82.5914	26.251	8101
+-87.7061	33.3242	4798
+-80.4291	27.1522	7843
+-93.6712	40.47	5425
+-114.2187	37.408	4658
+-90.8698	40.8795	7070
+-80.0138	27.7722	7494
+-116.3258	31.6838	8301
+-116.3124	32.188	8741
+-118.1901	34.5734	8422
+-83.1851	28.6185	8361
+-81.5189	27.7504	9197
+-118.9045	34.8936	7568
+-116.9482	29.9502	6556
+-122.9805	49.0265	7341
+-85.884	25.7357	5067
+-117.1833	36.3528	7115
+-123.3803	43.8757	6170
+-115.6581	32.268	8170
+-124.0782	49.2177	6815
+-118.7646	43.9542	6931
+-116.9288	45.80	7791
+-83.9817	24.8407	5977
+-115.7167	35.6127	7201
+-82.7932	28.7859	8519
+-111.9118	31.3062	7737
+-108.4088	32.3863	7214
+-111.078	30.8856	8368
+-93.6356	32.9577	2264
+-115.9983	34.6732	8034
+-90.4189	40.393	7653
+-116.5848	49.1189	5592
+-116.3263	29.7084	6213
+-120.2919	47.9864	6342
+-87.8268	36.7215	8319
+-88.5894	41.203	6149
+-116.4576	31.1144	7771
+-125.9076	48.7182	5782
+-122.6478	45.5114	7984
+-119.3569	42.8205	5606
+-87.1153	36.0684	7236
+-119.1143	31.4015	6884
+-79.5298	29.8978	6086
+-80.6299	27.5513	8174
+-117.8109	34.9532	8464
+-88.2109	34.4913	6197
+-80.4316	24.098	5317
+-109.9493	31.3733	8999
+-123.6326	47.1267	8782
+-92.8838	39.7427	6525
+-118.445	33.7532	8187
+-115.7245	35.8711	7003
+-89.7224	40.3993	7509
+-83.1581	26.2431	7815
+-91.6446	36.1055	6266
+-116.6841	32.4969	9277
+-118.8881	33.9983	7763
+-82.1581	27.0345	9064
+-91.5978	38.7696	8115
+-123.2965	47.0705	9156
+-84.9122	32.2552	3920
+-115.0541	35.0139	6940
+-117.625	31.3243	7933
+-87.9806	36.6964	8414
+-81.9831	28.5962	8939
+-113.3388	32.5343	6058
+-116.7026	36.7653	6602
+-116.8257	38.1052	5179
+-80.2051	28.618	7508
+-118.6607	32.8925	7861
+-90.2805	40.7195	7299
+-115.9367	34.7373	7945
+-108.2562	30.0746	6692
+-90.8725	39.0862	8785
+-91.7878	39.8166	7524
+-82.6269	26.1483	7978
+-108.6511	31.6237	7650
+-116.288	32.7894	8995
+-92.1799	35.9622	5850
+-119.6323	31.3325	6350
+-81.317	27.9176	8953
+-120.0668	46.3828	7348
+-123.8219	45.8388	8006
+-82.4721	26.2647	8151
+-117.3976	45.6809	8223
+-88.9737	38.7991	8522
+-110.5512	30.47	8244
+-84.6139	30.6313	5605
+-124.26	46.8796	8109
+-122.2593	47.8957	8366
+-89.5261	37.0282	8702
+-110.8699	29.8979	7557
+-114.289	45.4218	4970
+-115.7471	30.6086	6939
+-87.4647	36.1441	7567
+-126.8662	43.6348	3915
+-76.0318	28.9797	2854
+-122.2206	48.5347	7729
+-120.399	35.1176	5956
+-87.6376	37.4087	8515
+-118.7204	32.0871	7634
+-123.2091	44.2134	6562
+-79.3683	28.0016	6753
+-82.5445	28.7825	8653
+-115.819	33.0097	8455
+-117.452	35.9452	7551
+-91.2202	36.393	6728
+-87.8482	39.0445	7956
+-88.8003	36.4781	8481
+-124.1202	45.8481	7788
+-120.0558	49.835	5168
+-89.6709	39.5617	8260
+-116.0149	36.0481	7042
+-118.6441	36.8982	6168
+-108.8152	35.5919	4829
+-119.5917	33.6266	6942
+-118.286	32.0888	8072
+-80.8405	27.5752	8414
+-118.9854	33.0471	7486
+-123.0424	46.4683	9037
+-110.2007	32.5368	8431
+-87.9932	38.2108	8753
+-120.3079	47.7392	6502
+-118.4284	43.9738	7004
+-87.7017	37.8012	8610
+-115.0367	43.1759	4633
+-123.6537	46.9699	8778
+-115.6479	35.0956	7484
+-83.0815	28.823	8286
+-117.5001	30.8262	7454
+-114.3983	31.9998	6747
+-92.0092	36.4444	6383
+-117.761	45.4343	8364
+-123.0078	39.8955	1837
+-92.0868	40.5155	6780
+-88.2334	37.8912	9165
+-121.373	48.0406	7555
+-89.3773	34.8353	6565
+-82.8057	28.2573	8951
+-116.3699	37.5304	5705
+-91.5437	41.5332	6174
+-90.9685	40.149	7790
+-116.2581	29.86	6362
+-115.9624	34.3668	8093
+-117.2066	32.7276	9467
+-116.8541	49.3123	5537
+-122.5358	48.1125	8285
+-81.7374	30.4209	6856
+-120.7395	45.1791	6482
+-116.3273	46.9736	6992
+-81.6854	27.3198	9177
+-122.8371	47.1264	9418
+-117.9198	47.9035	7312
+-116.2426	34.7416	8239
+-115.6224	31.7775	7858
+-118.9519	47.6561	7467
+-109.6585	33.8042	6959
+-120.4367	46.1957	6978
+-90.4707	42.0318	5886
+-119.1325	45.2198	7965
+-91.0366	36.1225	6506
+-121.8649	49.2132	6889
+-121.8234	47.0848	8416
+-109.3819	35.526	5079
+-108.1498	29.4918	6198
+-115.2213	44.1445	5413
+-81.2977	30.0232	7170
+-84.9632	29.3764	6209
+-115.1765	47.4836	5659
+-110.3043	28.6627	6309
+-111.71	31.6572	7980
+-120.1755	48.6566	5892
+-85.7755	36.9853	6372
+-121.047	30.1206	4298
+-106.9661	34.3273	4767
+-90.6901	41.7687	6154
+-112.1764	29.6869	6608
+-117.3037	34.1101	9490
+-117.0411	35.1777	8372
+-118.0421	48.0418	7188
+-122.1831	47.263	8754
+-87.9584	43.4644	3710
+-114.9975	32.3264	7489
+-90.149	39.5074	8570
+-122.0013	48.4369	7713
+-116.2291	30.1893	6709
+-123.988	45.7027	7774
+-111.7748	28.7852	6063
+-79.6851	27.0089	6993
+-116.0878	32.2468	8585
+-117.2953	31.5586	8303
+-118.0725	41.6779	4572
+-122.2449	48.3202	7954
+-117.2883	34.8045	8805
+-122.9307	43.2147	5484
+-124.1501	47.4368	8139
+-120.7301	48.0826	6925
+-114.9863	44.5136	5386
+-119.8534	35.587	6301
+-80.4738	27.9914	7998
+-88.0125	40.6635	6141
+-114.8987	31.5426	7044
+-81.2634	27.7323	8907
+-81.7556	30.3281	6963
+-91.1722	35.3564	6072
+-89.0807	27.2629	2012
+-115.165	34.2026	7244
+-114.7982	34.6268	6792
+-113.2778	32.2013	6214
+-93.4083	37.2616	5791
+-109.9267	33.2905	7572
+-115.9698	32.737	8637
+-118.9572	48.2827	6841
+-88.8252	39.8089	7394
+-82.922	28.3842	8759
+-88.1802	37.7924	9142
+-125.1657	47.4686	7057
+-123.9336	47.8669	8100
+-88.5677	37.7778	9559
+-79.985	28.5455	7307
+-114.1662	32.7946	6629
+-110.8335	33.4931	7335
+-89.868	39.0299	8792
+-83.3986	25.5155	6971
+-124.6445	44.1977	6011
+-118.7654	46.1447	8748
+-114.2281	37.4321	4646
+-116.2528	35.8942	7321
+-86.4573	37.4569	7212
+-93.4039	37.2249	5777
+-119.3169	33.0283	6997
+-82.1254	27.157	9203
+-119.601	34.1137	6991
+-105.9221	35.6633	2963
+-120.282	43.2723	5593
+-110.1957	32.0473	8949
+-92.4638	36.3931	6036
+-92.6646	40.0893	6573
+-114.3693	32.4353	6825
+-81.2676	27.8855	8904
+-87.2295	29.5369	3789
+-113.3825	32.4125	6050
+-112.4859	29.7903	6438
+-93.3155	41.0035	5438
+-93.0856	42.6004	4354
+-118.0224	49.5118	5637
+-112.0185	32.969	7110
+-89.6884	37.2705	8689
+-94.2653	37.6028	5061
+-79.8798	28.2281	7290
+-117.5647	49.3105	5776
+-119.0494	44.4185	7304
+-118.4562	36.0305	7095
+-83.54	26.4957	7748
+-89.4683	38.6235	8429
+-78.6961	27.40	5982
+-87.802	36.4525	8075
+-89.6544	39.2982	8441
+-94.152	39.8768	5185
+-86.7156	37.0705	7418
+-82.2196	28.5273	9026
+-123.1025	46.2746	8814
+-85.9071	37.2112	6565
+-118.8349	49.3521	5767
+-118.1183	49.2766	5892
+-117.593	45.4897	8285
+-122.3157	43.7658	6032
+-119.342	31.1057	6488
+-87.0801	37.1175	7824
+-113.9101	34.604	5841
+-86.7625	39.9384	6414
+-118.3203	31.36	7535
+-84.9931	40.8007	4308
+-111.2875	31.3665	8413
+-89.9732	38.9791	8918
+-82.9917	27.3165	8796
+-127.7848	45.569	4024
+-118.4584	33.2853	7942
+-88.868	36.1653	8127
+-89.2667	32.075	3514
+-83.9734	24.256	5408
+-120.2057	40.9136	3402
+-114.8163	35.548	6452
+-118.77	43.4776	6436
+-81.432	29.7372	7526
+-83.0835	29.7314	7423
+-116.8035	32.8573	9565
+-82.4709	24.9781	6715
+-117.9974	47.9094	7320
+-113.4515	32.2962	6008
+-81.7601	28.2473	9204
+-118.3122	46.2996	9047
+-90.8804	37.8184	8286
+-114.5691	32.114	6966
+-124.7297	47.6303	7468
+-117.0812	34.8133	8769
+-86.4309	32.3208	3267
+-90.3812	42.8712	4982
+-119.0546	47.7501	7331
+-119.7425	42.9331	5568
+-123.9564	45.0204	7173
+-115.1297	35.2126	6926
+-93.0345	33.5981	3179
+-124.9613	47.2995	7312
+-114.0847	32.9492	6535
+-118.9916	44.802	7695
+-110.4731	29.8483	7588
+-109.9552	31.3008	8962
+-117.9827	34.9931	8317
+-112.5058	30.2825	6730
+-122.963	45.5111	8006
+-82.1987	27.2356	9287
+-111.9868	35.423	4944
+-108.4111	31.1813	7346
+-80.6032	28.1435	8110
+-82.0439	28.8405	8673
+-119.2255	44.1328	6950
+-88.1892	27.0575	2994
+-115.6233	31.2466	7448
+-81.1629	28.7657	8317
+-117.9617	37.1102	6203
+-78.8095	26.5415	5885
+-110.4574	30.1157	7878
+-81.5589	26.1703	7973
+-88.8576	35.5192	7403
+-89.9414	35.1345	6682
+-89.0857	39.349	7884
+-108.6881	28.0143	5216
+-121.8163	45.8136	7868
+-116.0076	44.5866	6366
+-119.3286	34.4407	7264
+-86.6246	37.1975	7354
+-92.0805	35.4636	5438
+-115.0772	37.8296	4852
+-78.7881	28.3523	6050
+-80.0108	28.8905	7175
+-113.6308	33.7737	5882
+-83.4809	26.3677	7695
+-122.4946	46.5348	8956
+-117.1759	33.9106	9276
+-119.4953	33.0161	6818
+-113.2988	35.2572	5039
+-114.8136	48.0289	5056
+-81.9034	28.1435	9393
+-120.1155	44.7665	6861
+-88.4352	34.1519	5853
+-116.5837	46.3317	7444
+-84.7911	27.0992	6792
+-80.899	25.6995	7169
+-111.7164	28.7699	6077
+-89.4679	42.4597	5306
+-86.3252	36.0718	6542
+-112.9905	30.3043	6278
+-86.1298	37.3069	6828
+-89.9966	39.212	8775
+-84.2468	26.4601	7081
+-79.6781	28.9842	6792
+-114.1406	33.3606	6543
+-122.4832	47.525	8841
+-116.9015	46.9554	7539
+-87.2134	37.4828	8059
+-117.064	31.8945	8719
+-120.0457	36.0496	5856
+-87.373	40.6201	6149
+-90.6656	40.4549	7562
+-85.1609	42.0994	3400
+-86.0958	29.8164	4845
+-122.8154	48.8878	7493
+-115.8982	32.5651	8529
+-86.7697	38.007	7541
+-115.5331	28.3646	4536
+-118.9039	34.3217	7740
+-80.441	30.737	6025
+-123.5243	49.5095	6730
+-114.6558	31.3983	6729
+-117.2905	33.2071	9187
+-117.0934	34.4814	9114
+-91.3487	39.334	8208
+-90.3384	39.3358	8791
+-83.7772	40.9107	3134
+-89.6359	36.8984	8513
+-117.1338	34.1237	9393
+-81.0717	29.2024	7872
+-88.7501	36.4666	8469
+-88.1084	38.4534	8663
+-115.2978	34.4643	7360
+-111.3503	31.3717	8348
+-79.7612	27.6332	7204
+-115.9144	47.4473	6374
+-116.9541	37.281	6087
+-118.0209	34.071	8712
+-116.1771	28.868	5261
+-81.2842	27.2851	8788
+-92.9389	36.9793	6073
+-81.5139	25.9985	7773
+-86.3246	37.7518	7072
+-84.3618	30.7112	5715
+-120.1336	31.0098	5686
+-114.9978	34.5189	7028
+-115.8989	45.9534	6731
+-115.6147	33.838	7707
+-119.6893	31.8195	6519
+-117.4195	45.2181	7953
+-84.0154	26.2456	7155
+-89.8648	32.5241	3913
+-93.155	42.2404	4620
+-113.7061	29.3154	5070
+-107.4504	29.6692	5724
+-119.251	33.1341	7114
+-116.7386	31.7242	8508
+-91.2271	36.4174	6751
+-123.1166	44.3466	6718
+-119.0599	30.3817	6171
+-109.7028	33.2101	7583
+-118.3688	32.8494	8188
+-89.0711	38.9327	8353
+-110.2065	32.6003	8363
+-88.9448	39.0343	8266
+-109.4954	33.2086	7492
+-80.0127	24.8012	5768
+-118.4616	30.4708	6650
+-82.0687	25.8768	7753
+-79.7316	27.3886	7142
+-121.6314	44.4689	6528
+-87.3297	36.7358	7894
+-107.318	32.7097	5986
+-120.4561	46.0814	6959
+-119.1556	32.6436	7304
+-107.4556	30.6268	6188
+-114.4688	34.3788	6474
+-117.6492	35.0236	8481
+-87.4951	36.3341	7748
+-89.2593	40.414	7260
+-118.9797	34.0063	7664
+-78.7599	27.738	6076
+-116.0074	29.8666	6293
+-118.3971	34.5436	8226
+-119.7658	31.9987	6500
+-110.0238	31.4783	9119
+-94.6948	37.1331	4461
+-85.5265	34.7308	4908
+-117.9048	34.8516	8490
+-108.9172	30.7359	7686
+-86.4263	38.3314	7084
+-77.535	29.5203	4325
+-118.8829	36.34	6554
+-107.0508	30.9812	5858
+-91.8701	42.9132	4660
+-86.5713	34.6883	5662
+-118.9628	30.3435	6208
+-117.5929	44.0685	6988
+-120.6325	34.884	5776
+-116.5698	32.051	8791
+-118.7137	35.3303	7489
+-118.4817	46.5041	8784
+-79.2029	34.6243	1455
+-109.9733	32.5557	8350
+-78.9676	27.5593	6303
+-82.8442	26.9397	8659
+-80.5665	29.1092	7558
+-90.4245	38.2232	8855
+-93.3773	41.6788	4910
+-91.1806	38.7523	8565
+-119.4361	46.7517	7858
+-115.9449	45.0661	6553
+-123.5805	44.3604	6647
+-83.356	27.0076	8264
+-109.0797	34.4695	6064
+-80.2803	26.6079	7420
+-114.9115	32.8789	7460
+-115.4489	30.4739	6639
+-121.1496	46.7652	7670
+-120.7761	33.0804	5541
+-78.3393	28.8873	5417
+-116.1799	34.2204	8349
+-115.6343	34.3041	7748
+-120.4261	33.1237	5920
+-117.0869	33.111	9398
+-114.3629	35.2397	6148
+-127.0513	46.9146	5045
+-117.1951	31.3403	8087
+-91.6968	38.1774	7880
+-117.0663	30.6378	7320
+-118.5082	47.5131	7745
+-123.3293	48.0039	8373
+-119.898	33.7169	6632
+-118.7805	34.8038	7732
+-120.3243	42.8718	5216
+-89.5767	38.2921	8425
+-112.6567	31.4055	6949
+-111.4817	34.7772	5796
+-117.2853	46.1543	8202
+-83.8488	29.549	7094
+-125.9491	48.2431	5975
+-116.998	30.3685	7022
+-87.5208	38.5571	8096
+-109.0908	32.0135	8049
+-80.0958	24.3106	5354
+-124.594	46.8149	7738
+-90.1309	34.7438	6195
+-124.9411	44.7359	6284
+-116.1364	34.7998	8107
+-120.2316	49.0024	5919
+-109.7697	31.4097	8835
+-118.8768	35.3205	7356
+-118.3727	45.5347	8654
+-120.2149	44.7748	6780
+-115.2924	30.7175	6758
+-123.1683	46.2277	8743
+-124.6002	48.0955	7364
+-119.1146	34.9644	7328
+-109.1626	32.9182	7550
+-91.7186	38.4214	7942
+-93.0469	36.013	5308
+-92.9916	41.516	5327
+-121.7324	34.5568	4645
+-92.5793	41.3177	5783
+-116.762	34.8426	8588
+-88.1519	39.9161	7197
+-81.0122	26.2699	7777
+-116.9429	47.1247	7474
+-115.9028	33.1548	8508
+-92.0305	40.4631	6863
+-92.1143	34.7303	4707
+-91.6878	36.5381	6657
+-119.2254	34.8822	7250
+-84.1604	28.4126	7485
+-114.0334	31.1902	6012
+-121.0874	32.9052	5160
+-110.7757	34.4988	6279
+-116.9524	35.7513	7740
+-117.838	34.4344	8833
+-112.2625	32.1856	7284
+-107.0328	36.2688	3264
+-121.5368	47.4567	8015
+-93.5733	41.7752	4686
+-110.612	35.6108	5099
+-118.842	36.1847	6716
+-114.7375	43.729	4743
+-120.3191	43.3058	5599
+-85.6011	37.1646	6217
+-82.8556	29.4087	7863
+-89.9854	36.9894	8250
+-124.3722	48.0563	7594
+-120.8546	34.3885	5614
+-117.9998	34.1684	8737
+-117.2384	45.7235	8084
+-118.4547	49.372	5790
+-90.5803	35.2441	6419
+-115.7339	32.8388	8378
+-87.1838	40.5542	6118
+-80.3962	27.7486	7927
+-90.0936	37.2917	8267
+-90.1685	35.3412	6768
+-108.2147	31.911	7151
+-88.5638	32.8712	4428
+-119.9214	47.1764	7185
+-112.8032	30.4805	6543
+-118.3952	49.1486	6030
+-115.9102	34.0366	8055
+-111.5129	29.5454	6922
+-117.1161	34.2053	9356
+-118.6319	43.2942	6266
+-81.1443	27.2451	8627
+-106.5466	29.6047	4845
+-93.6595	37.87	5768
+-111.071	35.5672	5084
+-89.0156	39.2726	7846
+-110.822	32.7388	8114
+-113.5408	30.2209	5698
+-120.2956	34.9157	6125
+-91.5483	36.3737	6572
+-124.4439	45.0854	6933
+-116.8428	45.8556	7713
+-119.1298	32.6232	7330
+-88.8777	39.6857	7514
+-89.7403	36.6404	8228
+-117.6967	45.1116	8043
+-89.6934	36.9004	8466
+-88.9731	36.3375	8306
+-108.0412	32.437	6823
+-113.6901	30.80	5739
+-90.4242	35.9388	7128
+-91.8021	39.2573	7800
+-89.199	42.3726	5316
+-118.1417	46.5085	8803
+-87.3692	37.9568	8213
+-117.4231	33.9931	9309
+-79.891	25.3843	6191
+-110.526	30.2896	8056
+-117.5296	31.1083	7747
+-86.3306	39.9569	6061
+-93.0368	40.9879	5683
+-123.0252	49.9415	6335
+-91.0748	40.1562	7735
+-93.6682	38.1103	5817
+-113.5427	35.4787	5219
+-107.7342	31.0742	6604
+-120.4207	34.3223	6091
+-110.3691	29.6516	7380
+-88.5846	38.9861	8319
+-112.5097	34.983	5100
+-116.8853	31.8461	8667
+-117.4271	28.1501	4523
+-117.8386	29.5393	5970
+-125.6887	47.2418	6528
+-83.6881	28.5522	7922
+-89.7193	37.5589	8739
+-88.7087	37.3377	9441
+-117.0758	35.3136	8234
+-88.1336	42.7123	4513
+-111.2984	32.74	7841
+-115.2908	33.6445	7668
+-90.9619	41.1341	6780
+-116.6816	37.2068	6125
+-117.5342	33.4339	8721
+-108.4238	29.5558	6456
+-93.6651	41.0788	5087
+-82.5095	26.2256	8098
+-86.8989	37.4306	7702
+-92.6752	39.4901	6829
+-117.0184	34.566	8994
+-89.6525	36.675	8323
+-111.3336	30.9821	8209
+-90.9419	38.3067	8656
+-92.3598	37.2459	6747
+-117.553	30.2165	6780
+-89.4617	38.8504	8425
+-110.1942	33.2054	7710
+-79.9511	32.7754	3711
+-120.6087	32.6401	5686
+-120.3206	36.8937	5047
+-117.529	33.1998	8994
+-110.0565	32.2559	8685
+-82.3605	24.9825	6732
+-88.7621	41.329	6141
+-110.5785	31.4695	9181
+-86.0937	35.2472	5769
+-116.0685	30.4401	6919
+-119.1661	48.6537	6399
+-114.9252	31.7806	7199
+-106.896	30.9902	5694
+-119.8446	45.4439	7467
+-113.7494	47.1757	4325
+-82.4829	30.2669	7036
+-108.8807	30.6492	7602
+-111.1462	31.8494	8547
+-113.5894	31.424	5942
+-89.5241	42.2669	5522
+-110.8021	34.3761	6405
+-118.097	45.2102	8298
+-115.9646	28.3936	4694
+-116.6878	32.1994	8997
+-119.6751	48.157	6630
+-81.9288	24.0237	5652
+-88.2818	33.7852	5425
+-83.2304	27.2773	8533
+-119.1409	36.7007	6070
+-86.6386	36.9863	7307
+-115.7461	45.759	6549
+-91.3707	35.8456	6118
+-112.3721	30.8071	7110
+-79.3936	27.5191	6780
+-110.2697	30.2642	8043
+-82.5516	30.2141	7083
+-88.1777	38.2442	8889
+-120.5991	47.6118	6981
+-91.1633	35.2305	5979
+-90.656	37.1169	7640
+-88.5037	37.9949	9343
+-89.8186	38.405	8711
+-112.5577	30.8392	6932
+-117.384	33.844	9197
+-115.4707	29.7688	5966
+-88.5589	43.8806	3555
+-113.1701	29.2571	5499
+-112.6225	25.7795	2714
+-119.503	46.2447	7960
+-110.7413	32.6933	8192
+-81.3101	31.4048	5672
+-82.7893	31.0212	6136
+-83.0409	25.0649	6668
+-90.9387	38.6622	8818
+-116.8225	32.8983	9568
+-114.8982	34.5565	6913
+-117.5248	33.4711	8763
+-117.8308	43.4316	6394
+-110.7453	32.0735	8780
+-113.5789	29.704	5410
+-121.561	34.2679	4851
+-116.5465	47.5768	6846
+-79.343	30.6636	5342
+-85.1893	39.0515	5509
+-89.195	39.7317	7763
+-117.8807	46.8469	8362
+-111.6883	31.9902	7941
+-88.7404	36.8186	8863
+-85.0389	25.5873	5783
+-118.0121	45.75	8792
+-108.7905	33.2752	6993
+-91.1604	40.7627	7099
+-121.0307	30.6765	4630
+-82.9429	38.1177	3258
+-89.4393	41.5632	6226
+-112.1171	35.6505	4662
+-118.6012	35.0448	7775
+-114.5658	30.5569	6075
+-118.158	31.2062	7518
+-117.7675	36.1285	7294
+-123.2071	46.8872	9258
+-121.8789	47.9388	8057
+-122.2427	46.5018	8722
+-81.2899	30.8471	6279
+-120.8731	46.4048	7295
+-92.8556	35.9375	5388
+-117.6708	33.6404	8843
+-113.0227	32.7069	6316
+-80.7172	27.4292	8245
+-91.2503	40.0639	7728
+-86.203	39.0749	6532
+-86.0287	27.0705	5416
+-111.8767	33.9706	6393
+-79.7335	27.3124	7129
+-117.9047	34.5742	8692
+-115.2302	32.2213	7705
+-124.5627	45.5561	7211
+-114.9866	33.9273	7221
+-111.4194	33.5953	6996
+-87.0837	36.8665	7724
+-86.9503	36.5864	7443
+-86.965	39.1231	7214
+-88.8244	37.9713	9466
+-123.3472	46.0193	8455
+-91.651	35.5243	5689
+-91.3718	37.2738	7509
+-92.2043	37.9989	7301
+-119.3726	46.7989	7890
+-119.1641	44.3863	7220
+-119.0403	35.0861	7342
+-118.3939	31.3825	7496
+-111.7297	33.2188	7144
+-83.1431	27.5878	8732
+-91.1141	37.9688	8271
+-88.8065	36.2686	8246
+-91.5691	39.3063	8013
+-111.1207	32.5129	8154
+-116.3361	34.0956	8522
+-92.1393	40.2104	6963
+-81.0232	27.1679	8465
+-109.5873	32.0374	8527
+-121.196	47.3702	7682
+-120.9666	34.8807	5420
+-79.5002	29.1662	6519
+-120.673	47.5372	7081
+-90.777	41.748	6165
+-118.7826	33.3167	7660
+-112.9863	36.2425	4333
+-121.798	47.7693	8108
+-119.9717	33.8738	6574
+-110.8316	33.9286	6876
+-83.5689	27.5678	8253
+-109.588	28.1883	5708
+-87.4881	39.6421	7173
+-117.2206	31.2074	7936
+-93.4154	41.2422	5194
+-113.1405	29.3812	5608
+-81.3767	25.332	7008
+-118.518	32.7552	8021
+-82.1929	29.9691	7400
+-109.8835	30.7789	8475
+-95.1988	38.3414	4215
+-89.4945	38.3604	8378
+-119.2094	49.4341	5596
+-81.246	29.5237	7665
+-90.9399	38.9915	8770
+-77.4099	28.2382	4522
+-121.9367	47.9792	8071
+-116.6521	45.9482	7526
+-121.2854	46.3194	7695
+-116.2867	32.6744	8978
+-119.0496	48.4624	6630
+-91.1906	38.4597	8500
+-88.0804	39.6709	7436
+-117.1026	42.696	5445
+-123.5877	45.3581	7684
+-110.8404	31.734	8900
+-90.6691	36.6709	7162
+-120.6231	35.8841	5408
+-111.8391	33.3159	6986
+-116.2786	45.925	7129
+-89.4436	41.2696	6526
+-110.215	32.9402	7998
+-109.3016	28.9385	6398
+-89.1119	36.0793	7992
+-120.842	44.7137	6178
+-87.3605	41.1701	5577
+-117.2754	37.3961	5979
+-112.82	33.8167	5852
+-125.0162	46.3421	7182
+-110.4554	28.9375	6604
+-81.8585	26.7405	8691
+-117.757	30.0026	6493
+-87.9083	37.4297	8816
+-90.6264	40.7042	7302
+-119.1407	33.1839	7246
+-81.1664	27.0398	8524
+-117.9739	33.2187	8543
+-89.6858	38.7668	8672
+-115.2775	35.1038	7124
+-91.7445	38.2282	7853
+-86.8631	35.5589	6628
+-116.3192	33.7522	8424
+-82.0025	29.5562	7862
+-89.7423	39.9824	7927
+-123.0946	47.1822	9287
+-119.5597	42.6358	5350
+-125.2559	47.5017	6952
+-87.5503	34.6821	6198
+-122.661	46.779	9272
+-119.626	32.7568	6786
+-116.7462	32.3526	9180
+-82.8038	28.9445	8359
+-117.1983	45.9073	8093
+-117.5202	33.9929	9222
+-120.4103	46.411	6984
+-117.7882	43.2834	6232
+-119.3731	33.956	7232
+-122.912	47.7701	8723
+-124.1606	47.5604	8075
+-88.6342	35.2736	7126
+-88.742	40.77	6619
+-87.7082	38.5939	8235
+-80.4589	27.4164	7957
+-115.2434	32.8581	7830
+-90.5218	39.4555	8649
+-116.5056	33.9227	8677
+-110.336	32.4497	8535
+-117.16	34.0802	9408
+-88.6253	34.4007	6146
+-88.991	38.2278	9136
+-93.1964	36.6057	5612
+-119.6865	33.5584	6825
+-116.7105	34.0341	8922
+-90.7958	38.0154	8516
+-84.6524	26.5475	6726
+-115.4523	34.3132	7549
+-121.2092	46.752	7734
+-117.1439	32.2732	9115
+-90.8209	35.5889	6536
+-118.681	47.3179	7904
+-120.2446	45.8852	7171
+-81.1764	26.4302	8033
+-122.6766	47.2892	9175
+-86.4527	40.5303	5682
+-117.2302	45.0634	7696
+-114.5109	40.9088	2464
+-115.6892	34.1513	7817
+-108.7185	30.3306	7259
+-116.4249	33.9636	8601
+-112.1821	30.07	6885
+-117.4992	32.3545	8966
+-117.6117	35.444	8059
+-90.6972	40.947	7032
+-88.2669	36.212	8089
+-115.5083	32.2159	7994
+-124.576	45.9177	7434
+-112.3221	33.3509	6591
+-91.6532	40.8932	6739
+-117.5615	33.9578	9163
+-117.8683	48.3078	6881
+-117.3514	32.79	9323
+-120.455	46.449	6931
+-109.8756	31.9958	8806
+-88.9431	40.3768	7083
+-108.9724	30.9268	7836
+-83.5228	26.8223	7992
+-89.9677	36.2762	7753
+-89.4735	38.109	8879
+-124.3312	47.1008	8027
+-119.0764	46.321	8389
+-124.5326	45.3876	7111
+-117.2242	33.004	9398
+-86.3333	36.5158	6794
+-124.8335	44.072	5782
+-110.6227	30.148	7887
+-122.0607	45.263	7520
+-83.6727	29.8354	6975
+-81.5089	27.6192	9167
+-116.6213	44.3053	6670
+-117.7088	32.6727	8910
+-117.9543	28.5265	4842
+-92.2979	43.2822	4121
+-123.7969	44.8778	7109
+-120.8527	45.0505	6321
+-88.828	35.9912	7934
+-92.0994	40.0781	7085
+-122.5628	48.1111	8295
+-79.2812	26.6329	6420
+-118.1689	34.5738	8443
+-119.8607	34.8563	6600
+-90.9812	37.2281	7662
+-93.3965	38.3879	6153
+-115.82	35.0886	7647
+-122.2211	45.4343	7765
+-118.3104	46.1763	9175
+-117.0194	31.6441	8444
+-116.1435	32.4073	8727
+-84.3241	38.0098	4813
+-115.2345	44.7033	5709
+-121.721	44.2706	6373
+-82.5677	27.6185	9373
+-78.0942	27.1225	5265
+-117.6325	46.9833	8099
+-117.1484	36.8061	6619
+-117.3383	30.4657	7098
+-117.4653	42.0282	4862
+-117.063	36.9354	6473
+-119.7475	37.1646	5265
+-122.9622	49.3309	7008
+-123.9123	44.4921	6669
+-118.6794	45.4879	8488
+-117.1542	46.6486	7931
+-83.1465	27.5644	8724
+-114.8101	35.129	6647
+-110.1547	30.0165	7765
+-110.7507	29.0009	6639
+-120.5311	43.90	5929
+-118.783	44.3887	7372
+-80.4609	30.6612	6110
+-84.1069	28.093	7629
+-116.405	34.9006	8279
+-92.1274	38.3923	7505
+-124.4686	46.7415	7865
+-114.614	31.3934	6686
+-84.1598	26.1865	6985
+-90.985	37.0555	7486
+-119.3082	47.0847	7755
+-88.199	41.366	5751
+-118.5101	47.2135	8057
+-123.5054	48.5634	7730
+-125.249	45.6704	6659
+-86.9748	33.3959	4617
+-126.0494	49.1451	5399
+-120.0591	36.516	5534
+-110.3232	31.9345	9093
+-121.95	44.5351	6738
+-117.2404	45.4874	7980
+-116.4163	34.4962	8529
+-121.175	30.8082	4552
+-114.8615	33.8687	7128
+-116.8867	34.4229	9017
+-90.8664	36.7439	7200
+-91.2373	37.3013	7612
+-117.0716	31.9692	8800
+-89.7203	39.6468	8222
+-117.3412	33.5364	8882
+-79.3127	25.5853	5858
+-109.2542	32.665	7818
+-114.3386	30.9554	6161
+-119.4613	49.2488	5700
+-108.6123	33.7575	6469
+-117.1589	36.2232	7255
+-118.7598	45.1959	8178
+-118.7523	30.624	6599
+-87.2288	36.2285	7452
+-89.9806	38.5245	8927
+-120.5973	34.1396	5905
+-119.1937	36.9349	5829
+-117.6997	34.2857	9037
+-124.9438	44.6331	6198
+-115.6663	32.215	8155
+-123.9326	47.9613	8031
+-116.5975	36.7827	6557
+-88.5345	37.77	9530
+-116.215	33.9975	8381
+-84.0773	29.1534	7191
+-112.3557	29.512	6337
+-88.3799	38.8378	8430
+-89.778	36.2391	7852
+-114.6624	31.8461	6964
+-105.4162	33.3547	3811
+-113.1408	34.7772	4983
+-110.6933	31.5513	9082
+-86.9662	38.887	7373
+-114.9716	45.9118	5747
+-86.4729	37.7229	7240
+-109.3846	31.0345	8286
+-108.7672	32.7938	7329
+-87.9888	35.6979	7440
+-113.9884	35.6123	5615
+-122.565	49.3893	6919
+-117.0852	33.0765	9434
+-123.77	42.8807	5017
+-118.3815	32.5567	8148
+-88.8083	44.8496	2634
+-116.2202	32.1859	8663
+-81.3053	24.9702	6593
+-118.0867	33.0065	8486
+-116.42	34.5357	8515
+-93.8852	38.9641	5643
+-89.2163	36.2878	8188
+-105.0722	33.4627	3421
+-83.8596	27.3124	7873
+-90.38	37.9211	8531
+-117.0235	35.678	7832
+-119.0006	44.1985	7108
+-119.2284	48.1242	6895
+-109.5428	31.4124	8597
+-80.4205	27.2196	7858
+-88.5497	36.4999	8484
+-90.9991	37.246	7673
+-118.1707	32.9056	8406
+-117.1616	30.1552	6776
+-88.8803	39.9206	7371
+-117.2261	30.6775	7349
+-93.1442	34.7442	4181
+-119.6745	45.3717	7597
+-122.6199	48.7738	7597
+-110.469	33.9556	6899
+-119.3007	35.727	6719
+-113.8918	31.1245	5838
+-90.119	39.7923	8265
+-90.1546	38.4486	9017
+-117.8947	33.5989	8638
+-119.5938	46.3341	7851
+-83.0198	28.1584	8796
+-123.5406	43.8961	6160
+-125.9839	47.1478	6212
+-116.2748	32.7882	8981
+-121.1531	45.5805	7156
+-114.2379	46.5595	4948
+-117.2645	46.4754	8111
+-124.1566	45.6912	7639
+-88.0565	38.2472	8785
+-117.3476	32.112	8859
+-117.1218	46.3952	7991
+-121.8253	45.80	7864
+-81.2036	27.8721	8834
+-90.5132	38.5659	9181
+-111.5135	33.9006	6656
+-108.4685	32.7133	7111
+-87.3441	24.495	2932
+-124.9614	47.5911	7240
+-110.3725	29.9766	7732
+-81.476	27.0826	8819
+-116.6599	35.6015	7805
+-118.6021	44.6735	7712
+-113.408	32.3091	6051
+-89.4336	39.6018	8049
+-123.589	46.2764	8535
+-126.0394	47.128	6153
+-88.7786	35.4754	7356
+-88.2195	33.3368	4917
+-118.5557	35.4418	7534
+-120.1096	42.4853	4971
+-110.2531	32.3252	8665
+-91.7267	35.8542	5984
+-118.0902	30.8979	7273
+-85.0737	40.4151	4647
+-116.8403	33.1341	9372
+-92.5934	38.4115	7014
+-111.4608	32.7402	7723
+-79.7945	29.4802	6612
+-121.2042	29.829	3970
+-117.9533	31.5391	7952
+-86.6606	26.2349	4485
+-112.7426	33.9356	5825
+-119.3777	32.6872	7060
+-114.6504	29.449	5194
+-120.9577	46.4448	7397
+-108.1538	31.6065	7112
+-114.9277	46.2995	5700
+-91.5149	38.6852	8203
+-122.5568	49.2278	7094
+-82.1767	28.7554	8773
+-82.1481	25.9719	7862
+-90.4174	37.5766	8159
+-81.0908	25.2188	6778
+-119.0117	33.3795	7464
+-89.1167	39.2681	7949
+-118.0071	30.6657	7088
+-116.8035	47.5862	7039
+-112.9761	34.3549	5324
+-90.4026	37.5669	8149
+-108.2763	30.8319	7101
+-90.0725	40.7831	7208
+-80.6147	27.6457	8169
+-123.3109	45.4225	7851
+-90.538	39.9048	8169
+-118.2173	38.3127	4862
+-87.3638	41.8554	4756
+-89.2134	39.2477	8054
+-116.9511	49.0317	5850
+-113.2748	32.4303	6157
+-123.1925	47.7568	8681
+-116.8716	44.4437	6956
+-89.4554	40.3191	7459
+-116.2114	32.1773	8649
+-84.9704	29.0798	6356
+-107.4239	31.3907	6314
+-88.5774	36.023	7959
+-118.2016	45.7081	8837
+-90.6697	39.7296	8324
+-116.7609	45.9475	7640
+-111.2843	33.4621	7192
+-122.3314	45.205	7573
+-116.639	32.5452	9278
+-117.2173	43.4167	6203
+-91.0397	37.8555	8229
+-110.5763	34.6177	6175
+-117.6854	32.5893	8912
+-91.4816	36.0276	6260
+-88.6789	39.3458	7927
+-83.5069	26.027	7385
+-112.1984	32.8671	7020
+-117.9541	49.5909	5547
+-117.4042	33.3063	9020
+-94.6418	37.9178	4748
+-120.9146	46.7109	7407
+-118.4879	46.5686	8719
+-91.1383	40.3543	7513
+-116.4016	33.9119	8564
+-116.2872	33.3688	8776
+-123.817	44.9903	7213
+-86.3919	37.9367	7132
+-121.8473	47.8562	8092
+-116.149	34.0955	8318
+-89.9018	33.9086	5409
+-88.9221	37.896	9503
+-108.1594	35.0077	5079
+-105.9733	28.5362	3710
+-88.6442	44.0763	3385
+-88.0607	36.8366	8593
+-118.9315	48.4697	6659
+-88.1911	39.4893	7669
+-81.6036	29.5085	7833
+-84.9688	29.8775	5893
+-106.4944	32.4159	5218
+-90.9409	39.5782	8348
+-125.733	46.9004	6493
+-114.7159	33.074	7226
+-119.9361	36.0566	5949
+-119.3538	46.4966	8052
+-115.4174	48.5233	5286
+-117.737	47.4838	7685
+-119.3165	31.0624	6482
+-109.554	29.3545	6915
+-113.7134	30.3615	5579
+-88.8703	35.5056	7387
+-126.248	47.6325	5856
+-113.131	33.149	6000
+-85.4433	38.9429	5819
+-124.7342	45.2521	6848
+-92.8988	38.3943	6686
+-116.621	35.8867	7500
+-110.8563	32.4902	8339
+-107.9819	28.8905	5600
+-80.4155	27.2302	7856
+-114.2576	32.7553	6730
+-118.3054	32.124	8072
+-111.2938	30.1404	7596
+-116.4847	35.7106	7617
+-83.1779	28.6875	8317
+-118.224	31.6261	7821
+-118.9058	43.1529	6070
+-116.4625	32.8056	9190
+-121.2756	44.6228	6473
+-117.5774	34.0584	9189
+-117.0998	48.6997	6235
+-117.3615	35.1246	8452
+-116.4574	33.5401	8766
+-82.6996	28.7562	8603
+-116.7539	33.9125	8929
+-88.4425	40.0813	6888
+-118.942	46.6059	8381
+-108.2733	32.7908	6886
+-112.7901	26.3585	3218
+-117.2668	44.8817	7580
+-88.3122	38.2811	8957
+-85.0833	26.3403	6185
+-90.7499	39.7343	8292
+-115.821	37.4103	5631
+-86.8717	38.366	7548
+-89.6125	38.7325	8593
+-90.8275	40.0608	7933
+-108.6471	30.548	7330
+-83.6975	27.4977	8097
+-119.7519	47.9668	6745
+-119.8366	46.9035	7408
+-82.7005	29.0494	8306
+-120.2016	47.4681	6765
+-118.2494	47.4966	7781
+-118.8981	47.7672	7379
+-85.4979	26.2325	5709
+-93.1452	34.6934	4135
+-120.583	45.6502	6779
+-110.3485	30.2862	8068
+-109.497	27.3326	4780
+-119.5345	47.334	7399
+-87.426	38.4045	8097
+-110.7954	29.3232	6974
+-111.5893	37.4878	2933
+-111.1037	30.9353	8383
+-113.4063	35.2936	5141
+-90.0394	36.4632	7849
+-113.6727	33.4504	6011
+-81.4634	26.0269	7783
+-121.3812	46.2057	7740
+-116.6252	45.918	7494
+-117.7693	29.9715	6456
+-115.7271	29.7022	6014
+-86.5063	36.8353	7112
+-88.4514	38.4493	8867
+-122.895	44.807	7234
+-92.6498	39.6783	6784
+-120.0868	32.6537	6268
+-92.2273	38.2599	7368
+-109.3069	31.1003	8245
+-89.9859	37.6914	8206
+-82.6236	26.1337	7964
+-81.7055	26.4731	8351
+-120.1055	48.9508	5677
+-92.551	42.6448	4620
+-88.8836	39.4571	7637
+-88.1463	38.7349	8428
+-116.2602	38.9198	4203
+-113.8737	42.4251	3181
+-91.2486	34.4529	5258
+-106.8425	30.4981	5513
+-119.4389	46.7559	7853
+-121.201	47.2413	7715
+-116.7874	33.3981	9074
+-117.1845	49.1493	5828
+-111.092	31.6214	8650
+-81.741	28.0711	9331
+-81.0765	26.9312	8368
+-84.0434	26.0758	7006
+-118.8977	35.5799	7160
+-88.6364	39.4313	7828
+-117.2037	38.746	4506
+-109.4318	30.8973	8246
+-112.0317	32.4142	7425
+-81.4108	26.3394	8083
+-117.3615	30.6715	7320
+-91.6612	35.1934	5351
+-117.6121	46.8442	8199
+-111.2806	35.2615	5358
+-116.5159	30.6784	7315
+-122.0453	46.141	8301
+-82.2693	29.6212	7789
+-110.8021	33.506	7329
+-115.4154	33.602	7814
+-90.6158	35.205	6360
+-80.6308	31.3432	5503
+-115.175	37.1889	5499
+-118.1688	30.4572	6799
+-116.0877	35.1626	7831
+-82.3691	28.1301	9402
+-89.8855	38.8716	8872
+-82.1543	28.2105	9390
+-116.0773	44.4204	6324
+-85.1889	35.9198	5346
+-119.8792	43.0831	5646
+-116.443	34.2992	8621
+-91.9124	41.5484	5987
+-125.1197	45.3187	6569
+-117.5342	34.3063	9190
+-118.3123	43.9192	6951
+-90.2741	38.0876	8701
+-122.4696	46.2167	8656
+-89.2659	38.0911	9079
+-81.2687	26.9375	8537
+-124.2016	48.8418	7098
+-91.2999	37.2372	7518
+-87.4076	37.464	8273
+-82.3858	28.2231	9302
+-123.422	47.0788	9020
+-88.7411	39.9893	7207
+-81.6362	25.6594	7443
+-115.4085	33.4745	7866
+-93.7777	37.9193	5658
+-119.8666	35.1349	6499
+-113.772	33.4851	6112
+-115.7832	31.6367	7889
+-88.6078	40.0222	7070
+-117.5211	35.6858	7822
+-115.5192	33.6222	7905
+-82.9717	25.7605	7433
+-92.9442	41.3203	5514
+-113.1676	29.1708	5441
+-117.5751	45.0432	7913
+-87.2513	28.1477	4086
+-122.0656	48.5868	7604
+-88.8366	38.9773	8341
+-88.8524	40.2279	7131
+-116.7231	44.7732	7091
+-85.3233	37.2867	5927
+-88.152	37.5475	9112
+-107.8631	29.3727	5882
+-118.1653	41.8531	4761
+-120.7259	44.4819	6157
+-117.7754	35.5387	7907
+-91.0199	38.9752	8697
+-121.793	46.5809	8318
+-117.1495	33.3998	9071
+-109.7534	34.1555	6617
+-117.3276	46.6905	8071
+-118.1984	45.6866	8814
+-91.0326	38.2963	8571
+-82.9539	28.2648	8806
+-117.7219	32.4816	8831
+-109.6866	32.2638	8456
+-85.5769	39.0528	5911
+-115.8368	33.5636	8242
+-118.0637	32.4844	8474
+-92.3925	38.2142	7183
+-125.7043	48.833	5905
+-89.8191	39.273	8595
+-117.9967	49.6565	5482
+-116.3376	30.6684	7256
+-84.801	37.7854	5362
+-114.2138	36.6234	5240
+-118.3189	46.4432	8895
+-123.1603	47.9807	8456
+-84.1697	28.9146	7248
+-90.9466	38.2375	8604
+-120.0134	46.7581	7300
+-124.1868	48.9132	7043
+-93.2291	39.3094	6298
+-120.2588	32.8038	5966
+-90.3771	37.293	7854
+-89.7417	38.8098	8730
+-86.3951	37.5149	7148
+-119.0861	44.8949	7727
+-127.6582	48.438	4134
+-86.5799	39.5451	6579
+-121.1407	37.0889	4223
+-121.0755	45.3855	6954
+-109.8229	28.859	6471
+-89.4286	36.8527	8638
+-91.993	36.777	6680
+-78.5529	26.4328	5570
+-123.9854	49.2051	6873
+-116.6052	35.7621	7620
+-77.4327	24.6122	3488
+-118.3189	34.5949	8284
+-122.6255	45.8903	8386
+-117.1183	38.6739	4582
+-117.2674	29.9587	6548
+-82.0801	26.0827	7986
+-91.2747	42.8999	4849
+-117.3046	33.6785	9040
+-117.6858	45.5862	8426
+-87.5892	41.3267	5328
+-112.5948	32.0925	6962
+-118.2294	34.9901	8132
+-84.2323	28.9882	7145
+-123.8811	47.5541	8350
+-79.5007	30.1334	5887
+-118.913	33.0354	7568
+-116.9801	45.5169	7748
+-123.38	47.8795	8473
+-121.6095	46.9454	8188
+-123.7134	44.8078	7072
+-90.999	38.883	8745
+-112.2216	32.6749	7110
+-91.4416	40.8413	6898
+-111.8853	31.6795	7789
+-87.4932	37.594	8383
+-84.0455	27.7873	7729
+-88.593	34.6589	6434
+-86.5181	38.4666	7136
+-126.0736	46.686	6106
+-108.3704	30.6764	7131
+-113.0619	30.0303	6072
+-119.9058	28.2506	3696
+-88.5561	39.0795	8211
+-91.2489	39.2131	8366
+-90.5928	38.2695	8859
+-107.1889	29.5864	5438
+-116.442	31.5472	8221
+-118.5111	48.0866	7143
+-117.4092	43.0437	5894
+-120.9007	35.1921	5409
+-90.3519	43.0084	4834
+-85.8273	35.0716	5414
+-88.4987	38.032	9306
+-120.476	48.2817	6576
+-115.7112	33.5539	8129
+-90.9474	34.0947	5118
+-112.5248	30.3537	6751
+-85.7293	42.5082	3399
+-91.7318	41.8537	5777
+-118.7949	46.6075	8497
+-120.4189	47.6324	6784
+-115.0275	37.0854	5496
+-118.0366	28.5971	4897
+-124.1427	49.4691	6537
+-117.73	48.3278	6829
+-89.7949	39.7949	8132
+-121.4987	41.9461	3880
+-113.2421	31.8624	6308
+-108.2222	31.6257	7186
+-86.3985	40.2185	5907
+-112.752	31.2541	6829
+-88.5016	36.9079	8914
+-107.9286	34.3567	5496
+-86.0823	37.2205	6761
+-118.7082	36.2035	6786
+-117.7424	35.5158	7943
+-110.7053	33.4989	7359
+-90.6097	40.0179	8036
+-81.9767	27.9133	9650
+-118.9907	32.7708	7495
+-120.5261	45.1654	6687
+-91.1889	38.0843	8298
+-125.8996	45.3776	5877
+-119.0925	48.612	6465
+-83.048	27.6343	8847
+-112.3381	33.9306	6129
+-92.9487	37.0151	6086
+-109.1306	30.7862	7910
+-123.5928	46.3733	8604
+-117.0065	44.5495	7133
+-79.9087	28.3345	7295
+-115.271	34.2076	7359
+-108.0962	33.0798	6557
+-111.9068	28.7088	5923
+-123.8437	46.8974	8567
+-119.9859	46.8914	7272
+-92.3856	39.4353	7143
+-85.1694	37.0984	5727
+-113.3611	49.0455	3185
+-81.5327	27.3722	9080
+-88.9417	37.0506	9097
+-82.3991	25.7211	7559
+-111.6971	30.8865	7814
+-86.6123	40.1791	6099
+-105.7598	28.4642	3476
+-117.716	43.2534	6186
+-116.792	32.8922	9541
+-118.1478	35.3936	7860
+-118.764	48.0776	7105
+-123.7041	47.8137	8323
+-86.9882	39.1278	7231
+-88.9178	36.3999	8384
+-91.6258	36.2059	6373
+-118.6978	46.7279	8464
+-119.6773	48.37	6439
+-119.7909	45.4742	7532
+-86.4696	40.2163	5962
+-110.5928	30.5947	8366
+-114.8574	34.7402	6828
+-90.7657	35.8939	6816
+-116.6983	32.9672	9410
+-112.0709	30.7395	7381
+-90.9053	37.1892	7651
+-109.936	32.715	8174
+-114.6655	31.7239	6911
+-117.9445	32.4646	8594
+-116.1627	43.382	5610
+-115.777	33.1174	8384
+-89.4369	39.1631	8311
+-89.5808	33.6217	5184
+-90.6032	40.3755	7656
+-117.4787	46.276	8388
+-121.5102	47.6971	7881
+-123.4663	47.2077	8930
+-88.1877	38.6355	8548
+-116.9041	45.8984	7784
+-117.1471	46.9316	7769
+-121.762	41.5795	3557
+-116.1005	30.542	7038
+-79.8039	30.3693	5941
+-113.1259	28.6344	5073
+-86.2628	39.911	6040
+-121.5652	48.5042	7369
+-88.2937	39.9925	7150
+-121.0175	43.7081	5413
+-113.7765	34.12	5909
+-81.4508	25.7513	7485
+-115.8689	34.428	7980
+-117.3599	31.7372	8471
+-127.1743	45.7009	4709
+-88.2287	38.8969	8307
+-124.8312	46.405	7397
+-88.2696	37.3692	9165
+-117.8291	36.0883	7319
+-121.293	45.4045	7144
+-109.6811	34.6994	6024
+-91.9752	38.7647	7708
+-112.4652	31.0559	7094
+-123.022	46.3145	8877
+-117.6224	33.5219	8766
+-82.648	25.8364	7632
+-79.7656	24.4595	5291
+-82.7028	29.7604	7547
+-90.5561	39.6409	8446
+-122.0712	47.1392	8676
+-115.4258	31.2066	7267
+-116.5311	44.9855	7061
+-89.149	38.6994	8578
+-120.1583	34.0168	6381
+-116.2538	32.7944	8957
+-117.4049	32.5369	9173
+-96.9169	35.6619	1635
+-114.6676	34.5447	6668
+-89.8307	37.0052	8409
+-116.1137	33.5777	8478
+-88.3728	39.8737	7298
+-116.5748	33.4592	8913
+-87.5743	39.6881	7180
+-80.7172	27.4885	8260
+-115.3324	33.5845	7739
+-118.4655	32.9663	8073
+-95.0502	38.9569	4389
+-87.1316	36.9441	7809
+-111.5859	32.9786	7442
+-120.7803	45.2225	6457
+-116.2847	28.2183	4568
+-108.4025	32.26	7257
+-120.1787	48.0886	6351
+-81.7331	27.1688	9079
+-124.7219	43.682	5480
+-92.1916	40.483	6725
+-116.924	34.013	9142
+-121.0594	44.4439	6175
+-117.059	33.5801	8893
+-90.7771	37.2169	7718
+-115.8094	48.0524	5923
+-118.7949	46.9586	8202
+-122.1936	33.2001	4068
+-118.6996	30.5151	6539
+-117.5129	32.5879	9092
+-84.0764	29.9432	6591
+-116.0289	33.1916	8626
+-110.80	35.1915	5532
+-107.151	33.7315	5314
+-117.0548	33.899	9193
+-121.604	31.3722	4335
+-116.0064	35.751	7301
+-114.5455	48.33	4651
+-118.8996	37.0252	5915
+-85.025	40.1678	4763
+-110.917	31.4346	8821
+-123.8268	46.751	8561
+-113.5073	32.8109	5786
+-112.4394	30.9868	7102
+-89.3142	35.652	7472
+-106.7927	32.5858	5487
+-116.4343	46.5572	7243
+-117.0223	33.8512	9131
+-109.1064	31.9784	8077
+-79.6967	24.3455	5141
+-81.0608	29.3433	7735
+-121.8522	48.2914	7751
+-85.4653	41.0373	4519
+-87.578	37.7789	8475
+-123.6114	49.5006	6715
+-110.4207	32.2474	8748
+-120.8255	46.0425	7111
+-83.3374	26.7187	8087
+-117.2298	33.7234	9089
+-117.8776	46.8814	8328
+-125.2409	45.9112	6785
+-90.844	37.5981	8087
+-120.5592	47.9546	6815
+-121.0994	48.0691	7287
+-115.5781	33.4077	8070
+-91.7637	35.7727	5887
+-91.7553	38.1725	7820
+-116.9112	30.5143	7184
+-118.6397	32.9924	7876
+-118.2318	45.392	8509
+-125.1466	44.5203	5957
+-112.1556	31.3794	7487
+-114.9161	34.0582	6973
+-84.519	24.2951	5127
+-108.7065	32.1046	7623
+-79.8334	28.9605	6961
+-92.175	38.0723	7360
+-83.2539	24.7916	6296
+-116.5442	46.1703	7417
+-119.2548	49.3055	5713
+-81.563	24.7378	6406
+-84.5474	30.8819	5434
+-78.6106	27.5653	5901
+-117.074	46.1434	7979
+-113.825	41.6912	2620
+-120.8092	45.0808	6376
+-117.6811	33.4491	8665
+-118.297	49.9416	5192
+-86.997	37.1007	7730
+-115.1502	32.616	7715
+-85.3022	26.7286	6120
+-121.1699	44.6983	6472
+-91.7901	36.2884	6368
+-116.5931	33.2045	9152
+-87.5597	40.0734	6792
+-109.0657	29.2343	6582
+-121.2506	47.5284	7692
+-118.0549	30.6596	7058
+-89.039	39.418	7806
+-117.6708	33.1616	8878
+-123.4016	42.5706	4745
+-81.0591	28.133	8608
+-123.0352	45.9264	8454
+-116.3148	34.7404	8306
+-124.9736	46.728	7313
+-92.1829	38.4753	7462
+-107.8446	32.3194	6662
+-119.7508	31.9642	6505
+-83.1474	31.3453	5684
+-123.8796	45.8802	7999
+-121.7192	49.7071	6328
+-89.9709	36.0378	7542
+-118.0673	46.7994	8485
+-124.7083	45.0427	6705
+-114.7491	33.2395	7235
+-125.0795	44.2421	5773
+-87.0828	40.6898	5930
+-81.5396	27.4064	9107
+-110.318	31.6424	9407
+-122.0639	45.6957	7935
+-117.0085	34.0791	9250
+-88.1734	36.7103	8552
+-109.5693	30.5154	8051
+-83.204	28.1081	8621
+-88.6796	37.3671	9466
+-88.2707	37.9571	9170
+-87.8463	40.6975	6259
+-107.3788	30.0161	5850
+-116.7518	36.5267	6867
+-81.679	26.2114	8059
+-120.9858	48.8647	6645
+-108.124	33.7174	6146
+-120.1363	35.4648	6087
+-90.6824	37.9781	8532
+-90.8025	36.4498	6904
+-90.5021	37.2336	7785
+-90.7648	38.8639	8995
+-88.7888	35.8312	7755
+-115.6269	32.7813	8258
+-119.0693	46.3754	8379
+-83.496	31.9117	4956
+-79.1123	27.4644	6457
+-115.3979	33.4679	7858
+-87.6389	38.3097	8358
+-89.3995	36.2649	8089
+-121.3299	43.9609	5881
+-115.8591	33.3526	8380
+-107.2046	30.9351	6012
+-89.8337	39.1883	8667
+-123.1577	45.1458	7586
+-88.244	39.946	7189
+-82.5346	26.1004	7953
+-108.6162	31.1706	7560
+-88.0664	37.5752	9023
+-119.513	30.5184	5927
+-118.4881	29.3211	5501
+-89.0563	34.8125	6596
+-117.4954	31.9217	8593
+-92.0284	36.0356	6003
+-125.3125	48.3572	6547
+-89.8872	38.8434	8880
+-124.8157	49.8335	5818
+-109.5659	31.4083	8621
+-109.337	29.9134	7367
+-117.3502	34.4033	9229
+-87.6135	37.1602	8402
+-78.5946	28.1292	5868
+-81.2569	29.0407	8143
+-121.0197	43.8229	5490
+-119.9675	47.0069	7235
+-124.0384	42.9624	5033
+-91.1146	38.9279	8613
+-116.0245	35.494	7528
+-124.0291	47.0329	8364
+-116.2326	35.4557	7707
+-118.5958	46.0241	8920
+-109.1372	30.93	7997
+-112.3518	32.5039	7070
+-125.3292	47.5757	6855
+-123.7452	43.1066	5265
+-118.701	47.8999	7304
+-80.6703	26.8864	7961
+-121.0729	35.273	5204
+-118.598	32.0878	7760
+-118.3981	48.5323	6682
+-116.5733	32.2242	8960
+-87.7054	37.0047	8411
+-92.6534	39.6211	6804
+-110.9011	32.8567	7963
+-86.2443	25.8974	4783
+-107.4095	32.1759	6241
+-118.9382	33.1253	7409
+-116.2012	32.5178	8836
+-124.0947	47.0627	8289
+-87.0433	38.382	7720
+-117.6075	49.5173	5571
+-118.6908	47.5534	7662
+-81.4535	25.6375	7364
+-109.8217	32.6405	8201
+-94.2235	38.787	5285
+-85.7206	40.2985	5296
+-87.4156	39.532	7229
+-79.6666	29.865	6228
+-89.9894	38.3282	8802
+-89.2609	39.0073	8183
+-112.3495	31.659	7288
+-120.0252	31.5224	6048
+-115.2258	32.7129	7808
+-83.5371	27.5506	8286
+-88.2849	37.3667	9178
+-120.1331	46.114	7301
+-88.7848	36.8273	8873
+-81.61	27.5886	9267
+-91.851	37.9541	7625
+-119.4852	45.0492	7570
+-108.9451	31.8957	7932
+-120.0131	31.6291	6106
+-88.7596	40.8703	6546
+-106.9788	32.1132	5794
+-82.7266	28.2981	8991
+-91.9083	40.8265	6648
+-124.3459	49.7901	6121
+-85.8625	35.7533	5912
+-114.6212	29.8414	5527
+-81.6084	28.9049	8474
+-104.7588	33.4292	3111
+-109.5962	29.6322	7214
+-88.8851	38.2934	9098
+-116.2483	46.6369	7032
+-120.6079	34.1974	5892
+-119.6626	49.2562	5613
+-86.6263	39.3577	6753
+-110.6416	32.9146	7993
+-90.3421	37.4008	7969
+-83.1258	28.2277	8654
+-88.4498	37.869	9393
+-113.2727	31.8224	6278
+-81.1798	29.4664	7687
+-87.5038	36.1988	7642
+-123.6841	48.439	7773
+-77.1554	31.6746	2732
+-120.1697	31.5297	5903
+-114.3627	34.9414	6250
+-125.1276	44.7038	6118
+-85.8111	28.8303	5561
+-119.8384	34.9984	6578
+-86.1929	26.9276	5203
+-117.1441	33.6965	9043
+-80.3491	27.6415	7869
+-83.0781	27.0882	8577
+-120.5129	45.0943	6670
+-125.1691	44.4239	5862
+-124.9369	48.435	6848
+-118.0269	44.691	7744
+-110.1578	29.6324	7351
+-90.4051	36.293	7416
+-119.5573	35.8206	6434
+-113.0296	32.042	6510
+-93.304	38.5817	6271
+-91.7241	38.3961	7930
+-118.6182	33.4079	7865
+-116.0495	33.8697	8179
+-90.9301	38.5028	8778
+-118.1826	33.4259	8275
+-89.404	40.6514	7119
+-121.9952	45.1355	7362
+-125.863	47.0914	6348
+-117.5146	48.9734	6110
+-108.0442	33.2352	6415
+-87.4587	39.3666	7407
+-123.3518	47.026	9106
+-118.6661	35.0887	7689
+-120.7813	44.5303	6136
+-111.3797	34.8897	5716
+-90.8465	39.7323	8254
+-91.9482	40.7409	6695
+-116.7145	46.948	7372
+-83.7123	26.5139	7612
+-82.0392	32.6719	4342
+-112.4592	31.9975	7127
+-83.5183	28.2784	8222
+-90.6578	42.6667	5192
+-91.909	38.1167	7644
+-116.0051	45.828	6831
+-116.0376	33.2106	8627
+-87.8009	37.7177	8730
+-111.5573	31.0915	8044
+-84.2769	27.0601	7339
+-82.2342	29.3872	8055
+-92.1187	35.7047	5646
+-89.0087	34.7524	6533
+-85.5683	26.4036	5712
+-108.8503	32.6648	7485
+-81.3734	29.5841	7664
+-123.2031	45.2856	7730
+-123.6156	48.1537	8083
+-122.3232	46.4766	8775
+-85.7253	26.6191	5626
+-90.3331	37.6297	8216
+-126.1467	44.0494	4811
+-126.9319	45.9645	5042
+-89.3844	33.1291	4675
+-111.4939	28.6869	6093
+-120.3371	44.078	6208
+-107.5209	31.499	6425
+-121.2499	43.7669	5651
+-89.5671	40.7126	7133
+-109.1467	30.5004	7733
+-117.793	44.1786	7160
+-90.9914	41.488	6401
+-83.0132	29.7157	7473
+-83.2078	27.4254	8617
+-88.1192	37.8321	9065
+-112.9522	33.1937	6143
+-120.1462	32.6019	6198
+-82.8814	31.9564	5077
+-123.0754	36.899	2520
+-117.9897	47.9709	7255
+-115.5375	32.642	8147
+-88.4431	38.4374	8876
+-117.6834	33.8034	8958
+-120.1382	47.531	6779
+-79.9143	26.6843	7099
+-114.769	30.6529	6313
+-117.7943	44.6715	7661
+-118.5665	31.9401	7718
+-85.7989	36.5344	6250
+-89.8613	36.7086	8183
+-88.7083	38.6049	8759
+-112.9588	30.2043	6260
+-88.6836	37.3293	9426
+-120.4218	33.3173	5983
+-90.0334	39.2485	8768
+-120.2095	45.6085	7155
+-92.6251	37.9947	6875
+-125.3723	45.7997	6603
+-118.1013	35.2178	8045
+-90.1101	37.9947	8559
+-117.237	36.8047	6624
+-91.2951	41.3554	6449
+-89.2768	38.0609	9091
+-123.3887	47.5352	8782
+-114.635	37.616	4776
+-124.5164	48.7533	6959
+-87.9861	36.8932	8582
+-82.796	24.4228	6036
+-89.6099	38.6041	8576
+-88.4962	37.3292	9330
+-117.666	45.4108	8281
+-119.3192	47.1979	7662
+-123.3967	49.2714	7016
+-90.1675	32.4976	3804
+-117.4385	34.0437	9326
+-89.1921	39.4526	7934
+-113.7737	30.4449	5547
+-118.8607	29.6253	5614
+-121.0669	48.1613	7202
+-118.7768	47.5687	7620
+-119.5729	34.2206	7020
+-115.2618	34.3405	7339
+-116.2488	34.2037	8425
+-87.8801	37.7555	8815
+-80.1875	28.2179	7633
+-112.6917	34.4938	5415
+-115.2083	31.7686	7470
+-89.3098	36.5608	8433
+-92.4088	37.8753	7046
+-84.5379	34.8398	4106
+-116.7608	44.1794	6665
+-118.8532	48.4726	6676
+-118.4006	46.1255	9133
+-118.9477	47.1812	7917
+-125.8884	47.7278	6218
+-87.3943	36.6388	7891
+-89.5687	39.8668	7934
+-87.9041	37.1856	8707
+-125.649	45.9721	6394
+-121.2528	44.1935	6063
+-91.70	38.8746	7999
+-113.1379	32.6433	6225
+-120.5549	47.0383	7029
+-119.1072	30.1147	5908
+-90.5902	39.0667	9017
+-84.8961	27.1158	6681
+-105.7962	35.6927	2841
+-118.7381	44.9154	7917
+-116.6234	34.3734	8789
+-109.6023	32.1054	8500
+-122.1274	47.7741	8378
+-118.8263	31.9748	7476
+-106.7448	36.1478	3183
+-115.6309	33.081	8234
+-106.3927	30.0807	4904
+-116.4582	35.3402	7953
+-119.2561	44.8805	7608
+-110.1249	30.5594	8341
+-116.9089	32.6558	9562
+-80.381	29.0685	7423
+-87.9362	38.0271	8799
+-81.533	28.2154	9045
+-90.4673	38.3262	8959
+-90.7896	42.4855	5374
+-111.168	32.2827	8294
+-122.0367	49.3164	6856
+-79.6127	27.9695	7032
+-115.9992	33.3241	8534
+-123.8592	47.9443	8101
+-88.5593	34.8092	6600
+-115.0634	34.6985	7057
+-116.0656	32.30	8594
+-86.2251	35.336	5945
+-118.9729	32.8997	7513
+-124.3344	44.6408	6604
+-118.3599	34.5832	8248
+-79.2978	27.7004	6684
+-119.3074	45.8078	8133
+-118.4524	47.5882	7674
+-110.0421	29.5734	7273
+-113.0533	33.5277	5851
+-89.8119	38.9428	8774
+-114.1635	33.3183	6577
+-92.5687	40.8886	6129
+-91.1345	39.8806	7961
+-120.3233	32.3502	5973
+-83.8231	28.4147	7845
+-80.271	29.0911	7307
+-121.1343	47.4544	7594
+-107.0735	32.7881	5708
+-124.2208	47.2352	8125
+-87.1105	39.7749	6805
+-118.4437	44.1355	7173
+-121.167	46.9423	7702
+-81.0907	28.3862	8520
+-116.3972	32.4857	9018
+-119.2854	49.6471	5357
+-116.823	32.3609	9220
+-91.8208	42.134	5461
+-115.6295	31.5908	7730
+-116.7562	44.2329	6706
+-82.2869	27.1308	9152
+-115.1448	35.0472	7018
+-84.0087	24.5515	5681
+-120.5164	44.2216	6170
+-85.3819	38.869	5783
+-120.4263	45.5995	6930
+-82.5309	26.9833	8899
+-82.494	26.432	8328
+-116.4209	35.9097	7392
+-119.588	48.6086	6266
+-121.104	31.8265	5008
+-90.1421	36.4106	7725
+-117.9095	33.4067	8480
+-90.9025	38.3394	8711
+-84.8319	24.5218	5118
+-81.1985	29.6671	7496
+-115.2364	34.0142	7319
+-122.1293	44.5254	6794
+-85.1158	26.3809	6172
+-117.5444	33.7696	9039
+-114.4974	35.571	6134
+-89.7156	37.2501	8652
+-89.5041	38.5361	8449
+-92.1843	36.8235	6582
+-93.0506	39.4254	6459
+-114.8707	33.1299	7389
+-115.8558	34.8126	7830
+-92.4759	41.3644	5815
+-115.5124	45.6036	6279
+-86.3036	37.7483	7049
+-117.0369	32.2251	9088
+-115.8116	33.9633	7940
+-120.0126	34.4787	6519
+-89.2238	34.8303	6591
+-85.5038	40.6464	4855
+-110.9044	31.1588	8703
+-114.1988	29.4031	4851
+-123.0929	44.3053	6675
+-109.2127	33.9849	6602
+-83.156	27.514	8701
+-115.6744	34.5645	7738
+-94.2115	37.9058	5199
+-88.6191	34.5651	6330
+-87.3762	36.7912	7971
+-119.0499	33.7462	7547
+-123.728	49.8469	6314
+-116.1757	30.1838	6687
+-117.6382	49.3835	5717
+-122.9258	46.9394	9565
+-89.804	36.5613	8114
+-123.5536	44.595	6904
+-86.5521	39.0928	6858
+-89.5103	39.0574	8427
+-113.0122	34.8462	4900
+-88.2316	36.1764	8038
+-122.5594	45.4489	7897
+-108.1098	29.4846	6161
+-82.8653	26.5968	8331
+-94.5454	41.9264	3781
+-120.3885	45.9194	7023
+-109.8443	34.1464	6646
+-114.8189	34.8032	6770
+-116.7583	31.4854	8250
+-78.4663	29.4671	5319
+-90.4941	36.4746	7460
+-117.5139	33.9609	9209
+-118.3569	28.4671	4660
+-120.6915	46.6243	7151
+-114.4014	32.232	6818
+-120.6018	33.1824	5755
+-119.1811	45.2814	7974
+-80.5115	27.2251	7958
+-92.9791	35.7898	5181
+-118.9348	46.9071	8162
+-88.0612	37.4664	8992
+-83.747	27.828	8065
+-109.1371	32.7121	7692
+-116.7859	48.8499	5944
+-116.8005	30.8565	7559
+-119.1174	45.0152	7811
+-89.8619	38.1646	8579
+-117.9249	33.2077	8598
+-87.4713	39.9616	6856
+-87.7688	40.5893	6348
+-116.5546	32.7941	9293
+-87.443	36.4678	7811
+-84.1545	30.1354	6369
+-86.4893	39.3297	6649
+-90.1465	39.6381	8434
+-88.8156	37.0273	9096
+-120.0093	49.8772	5099
+-108.3978	30.9564	7269
+-117.0966	45.8348	7973
+-116.52	33.8251	8657
+-80.4748	27.9739	8001
+-119.6565	31.865	6570
+-127.0673	47.5998	4975
+-115.7684	34.293	7894
+-88.0131	37.0517	8724
+-107.681	30.3308	6296
+-123.2166	47.8937	8530
+-80.6381	29.6287	7191
+-117.022	49.5246	5395
+-94.1444	37.1215	5007
+-114.6734	47.9058	4986
+-89.2797	35.3068	7105
+-115.2886	31.7572	7539
+-91.9625	36.0898	6090
+-88.1469	38.1058	8962
+-117.2404	47.0407	7773
+-80.6441	28.531	7999
+-120.8104	45.8621	7009
+-114.9084	47.0152	5557
+-117.7944	32.7287	8824
+-90.4329	31.5868	2739
+-88.4815	35.5042	7367
+-86.6046	37.6039	7387
+-118.6723	32.8922	7848
+-89.5423	39.8412	7939
+-117.758	48.0591	7112
+-109.7444	32.4472	8341
+-82.1123	26.8952	8906
+-81.5765	30.3454	6908
+-90.6178	35.8712	6921
+-110.2026	29.238	6929
+-113.1036	33.0256	6090
+-117.9294	48.3703	6827
+-95.5442	37.939	3793
+-86.5995	42.9405	3339
+-93.1693	38.9744	6412
+-124.1832	47.5799	8044
+-84.5258	26.4632	6810
+-110.0448	35.1587	5587
+-121.6552	45.5204	7510
+-121.7206	42.4295	4456
+-113.1715	34.282	5230
+-121.1313	44.1756	5976
+-117.2532	30.5544	7209
+-85.5885	37.3467	6230
+-117.9975	35.782	7571
+-82.7805	32.0218	5023
+-88.9666	36.1939	8147
+-90.9711	36.2911	6699
+-118.7515	36.4072	6575
+-112.3433	33.5344	6438
+-111.7518	30.6051	7607
+-87.0093	36.3288	7336
+-112.6884	28.1734	4984
+-78.2788	31.314	3966
+-115.4151	35.5846	6972
+-118.147	35.9204	7365
+-113.9435	31.5028	6076
+-116.4491	31.4985	8173
+-124.2623	47.976	7743
+-112.7269	34.1811	5646
+-116.1032	36.438	6722
+-114.6109	32.5984	7114
+-115.6374	32.9107	8267
+-117.0592	38.287	5001
+-113.3939	34.5072	5294
+-117.3613	45.2481	7931
+-114.5468	32.3368	7001
+-90.013	36.9962	8227
+-92.7166	41.5794	5472
+-92.5212	34.4129	4213
+-121.1272	34.6891	5283
+-114.6577	33.1519	7151
+-119.4368	42.9985	5756
+-111.7775	31.9707	7854
+-117.0653	35.0661	8497
+-124.195	32.9885	1878
+-115.9763	31.5752	7982
+-116.8024	30.8298	7529
+-110.413	32.1862	8815
+-117.3361	36.7667	6664
+-121.3591	45.0391	6895
+-93.2237	38.00	6258
+-87.6149	33.878	5371
+-115.8743	34.3216	8005
+-114.3011	34.6636	6252
+-86.6362	33.7732	4834
+-82.3859	30.4061	6893
+-90.233	39.084	9030
+-83.3804	29.3678	7596
+-119.0983	45.3713	8103
+-91.6843	36.4897	6613
+-124.3508	49.5293	6371
+-111.1891	32.5053	8111
+-117.3457	46.1299	8267
+-115.774	33.0877	8389
+-90.3554	37.6374	8225
+-85.9722	39.9542	5761
+-118.9432	44.0324	6962
+-117.6465	35.0128	8493
+-117.0768	35.0703	8495
+-121.2869	42.2999	4130
+-112.7651	31.5326	6838
+-121.0494	47.6494	7439
+-117.3545	34.6688	8946
+-118.3078	30.6519	6912
+-110.1281	27.2509	4774
+-118.7751	31.3852	7180
+-118.4084	45.4559	8566
+-114.3553	29.7467	5257
+-122.9042	47.5519	8963
+-120.2561	46.953	6984
+-123.3772	46.5943	8941
+-117.7074	33.358	8565
+-116.1731	33.7069	8258
+-86.737	38.5967	7309
+-119.6896	31.9003	6548
+-112.5993	28.0856	4958
+-109.2426	31.2314	8232
+-118.8725	47.349	7798
+-118.0997	30.5806	6957
+-87.9716	41.0317	5846
+-127.7352	46.6803	4285
+-90.4688	40.8082	7204
+-87.6459	25.3033	3061
+-93.821	39.5595	5618
+-115.0754	36.4449	6063
+-80.3287	26.0481	7073
+-87.925	38.6436	8367
+-117.4056	32.6962	9245
+-118.6651	33.0993	7832
+-115.0683	32.0877	7485
+-116.7759	36.4021	7006
+-121.0905	49.5844	6110
+-93.8125	39.62	5611
+-115.608	44.5971	6011
+-121.2803	49.8721	5952
+-91.5302	39.2673	8068
+-94.0668	39.3948	5394
+-125.5069	48.4726	6299
+-118.5308	44.7958	7855
+-90.5494	38.4213	9027
+-81.9018	28.1521	9384
+-120.5119	31.823	5646
+-114.2298	32.8749	6700
+-119.7594	34.2128	6817
+-119.9029	33.9445	6655
+-88.4875	34.5961	6355
+-108.2431	31.2998	7188
+-122.7319	47.3771	9119
+-108.0038	36.896	3188
+-121.6204	45.1944	7205
+-78.7408	26.4969	5794
+-117.3977	48.632	6420
+-118.9826	35.3572	7239
+-115.1373	34.5886	7163
+-117.6723	45.2546	8156
+-123.3552	47.8922	8473
+-106.5423	29.2598	4656
+-88.0473	38.5832	8507
+-113.6018	28.6829	4739
+-87.7622	40.7284	6197
+-123.8164	48.9163	7239
+-89.4967	39.7149	8012
+-81.5553	25.1658	6878
+-119.7461	46.8275	7530
+-91.2681	35.8895	6197
+-120.0103	36.0645	5878
+-89.2979	37.392	9144
+-119.6148	35.3655	6645
+-84.4777	28.8613	6965
+-89.2752	35.7817	7624
+-115.8726	36.2357	6786
+-89.7652	38.4551	8686
+-93.8007	37.9523	5642
+-109.9648	29.7853	7485
+-122.7846	48.0757	8381
+-112.123	32.2708	7396
+-121.0903	41.6677	3704
+-80.7828	30.6835	6256
+-84.3406	27.5017	7377
+-122.6855	47.6963	8771
+-108.854	30.2457	7313
+-92.8077	42.5134	4599
+-116.3011	35.4401	7766
+-116.3851	48.0906	6347
+-87.6295	36.5056	7991
+-119.5319	44.0562	6724
+-111.8371	31.909	7807
+-109.0968	34.2122	6326
+-119.9101	31.4946	6154
+-118.1604	26.4792	2560
+-119.2949	44.4476	7209
+-121.3343	44.7219	6600
+-116.9705	45.0979	7511
+-116.8565	33.7532	8928
+-116.705	37.1064	6237
+-87.175	33.9081	5234
+-119.511	42.7022	5434
+-115.3246	47.4057	5835
+-86.2547	39.8984	6043
+-119.9614	45.9474	7476
+-91.5913	40.6029	7040
+-112.363	32.5787	7024
+-111.8923	32.6307	7439
+-92.3548	36.7736	6415
+-116.9395	32.696	9615
+-92.9593	39.7441	6448
+-88.614	41.1578	6204
+-86.2744	35.4262	6054
+-90.9795	41.0202	6895
+-119.3715	34.9134	7089
+-112.5683	35.6393	4456
+-86.776	39.5927	6705
+-89.7778	38.8212	8767
+-124.5235	47.7307	7635
+-91.2333	37.8181	8065
+-111.7587	30.1101	7253
+-113.793	29.9232	5316
+-119.6695	29.792	5228
+-79.8497	27.981	7297
+-118.7727	48.5744	6589
+-81.065	28.4802	8439
+-119.3897	30.5101	6021
+-82.3566	29.0969	8366
+-83.5156	27.7179	8328
+-114.7739	34.1229	6819
+-112.7064	30.6851	6724
+-109.2754	31.0342	8182
+-119.4419	46.5884	7929
+-111.5952	35.7155	4792
+-122.9089	46.3831	8965
+-117.8694	34.7127	8626
+-77.8214	31.8316	3188
+-86.3195	39.7028	6241
+-89.6106	37.8662	8841
+-87.4912	37.3935	8351
+-117.7172	45.8976	8624
+-122.2648	49.2391	7014
+-87.8351	39.6789	7325
+-89.986	39.5694	8443
+-118.2696	35.0785	8035
+-122.4042	47.7711	8568
+-109.8055	32.2343	8566
+-115.374	36.2995	6400
+-117.4219	48.0799	6974
+-119.6865	46.7984	7601
+-89.7301	35.2604	6906
+-110.2325	30.9949	8827
+-120.0511	42.1321	4660
+-114.3052	31.3418	6359
+-120.5736	46.2587	6829
+-89.2949	39.2835	8118
+-122.0984	45.5881	7854
+-109.1782	35.9525	4577
+-118.0085	34.207	8725
+-118.5868	35.1534	7718
+-118.6682	32.7116	7851
+-117.2486	31.1782	7898
+-119.911	31.0303	5912
+-114.6838	31.533	6832
+-79.4681	26.85	6704
+-90.076	39.9235	8117
+-117.7951	34.163	8960
+-90.9413	38.3963	8712
+-119.9447	35.4843	6266
+-112.6613	29.1226	5803
+-84.2304	28.6299	7327
+-116.9745	34.6477	8893
+-87.7479	32.8856	4329
+-116.2499	31.0737	7651
+-92.8953	36.106	5493
+-78.2337	29.5595	5037
+-86.5262	35.1831	6061
+-124.4513	48.5001	7210
+-116.9011	47.5098	7170
+-88.3269	38.3342	8917
+-125.1898	47.6711	6974
+-112.8324	32.8467	6440
+-119.9504	45.5733	7409
+-85.1522	30.2652	5459
+-114.3103	37.3773	4750
+-114.8906	33.6908	7240
+-109.2527	28.7772	6216
+-109.3552	34.6599	5976
+-91.0039	42.6678	5149
+-119.3893	29.0202	4730
+-119.5179	34.9604	6922
+-121.3963	45.1801	7041
+-120.2451	34.1749	6289
+-94.9003	37.8762	4466
+-110.9404	33.6839	7105
+-90.9242	36.875	7321
+-83.8834	27.0625	7758
+-120.1951	45.7182	7196
+-92.8692	39.4106	6652
+-117.9648	27.7363	3978
+-117.1463	35.4217	8126
+-116.0201	36.3829	6732
+-90.8945	37.1297	7593
+-118.6013	47.193	8055
+-88.4526	36.2576	8195
+-84.2418	28.329	7424
+-89.1369	38.206	9080
+-116.7609	34.5619	8815
+-117.5152	34.5442	9014
+-114.1961	45.1864	4825
+-125.9504	47.312	6233
+-115.4371	36.8323	5981
+-91.6697	37.7046	7638
+-110.0452	32.2324	8704
+-124.1663	49.8102	6186
+-123.9481	48.5498	7520
+-116.0517	46.7731	6792
+-88.578	37.8762	9498
+-81.8274	27.7743	9546
+-94.054	39.3898	5408
+-80.4587	28.2503	7920
+-81.9074	30.0646	7280
+-86.5846	37.2921	7330
+-127.7377	48.8857	3888
+-117.4751	47.2771	7748
+-116.2162	34.1145	8392
+-112.3358	31.3864	7294
+-115.5273	35.3135	7245
+-117.2584	34.8129	8796
+-87.9513	39.2716	7794
+-114.1918	44.7768	4706
+-116.387	33.5683	8694
+-114.3288	32.836	6811
+-85.2195	26.9826	6290
+-91.8387	35.4998	5586
+-116.4681	36.4106	6905
+-91.1195	36.6324	7008
+-83.2476	25.9358	7468
+-85.3154	37.3552	5925
+-81.2155	27.3341	8745
+-80.9633	30.1955	6842
+-79.9211	27.1535	7295
+-90.9163	39.1785	8687
+-116.2639	36.4494	6785
+-84.718	26.867	6796
+-82.6554	25.1984	6927
+-90.3295	36.606	7695
+-90.3646	36.8139	7782
+-117.7336	46.2317	8662
+-84.0003	26.0072	6990
+-116.3168	32.2411	8785
+-109.1069	34.3033	6241
+-86.8991	44.7149	1979
+-121.7577	47.8794	8000
+-119.1372	44.9503	7744
+-86.251	36.3857	6647
+-91.5028	36.177	6400
+-118.2994	45.2361	8345
+-111.1089	31.4849	8627
+-115.4816	35.488	7093
+-114.1259	29.5548	4814
+-117.8263	35.6942	7729
+-118.8281	46.1324	8683
+-116.9218	47.0481	7503
+-120.8971	31.8375	5235
+-117.9569	32.4211	8563
+-116.4778	34.2474	8668
+-92.8435	41.9473	5076
+-123.3043	48.3455	8027
+-90.036	36.808	8095
+-119.5495	46.9201	7663
+-120.7224	48.2542	6827
+-81.125	28.2048	8649
+-117.2407	34.0027	9393
+-110.6071	34.7866	5990
+-116.1244	45.6187	6918
+-88.3846	41.939	5368
+-83.338	27.3894	8464
+-125.7003	47.3397	6503
+-88.3325	38.5193	8740
+-119.4437	47.1962	7570
+-119.1924	34.5573	7387
+-115.4174	29.9502	6119
+-89.3276	41.8273	5918
+-79.2646	29.7857	5924
+-115.0929	34.6513	7100
+-83.657	25.1252	6443
+-113.8227	35.3281	5562
+-118.3218	31.6199	7736
+-114.2327	34.8278	6143
+-125.0138	48.7968	6534
+-91.1629	36.8124	7173
+-114.1491	33.4679	6527
+-125.2683	45.6833	6647
+-115.6915	36.1758	6724
+-120.4914	47.7697	6817
+-113.5988	32.9653	5993
+-118.451	32.9725	8088
+-123.0453	46.4298	8995
+-108.9823	32.5932	7646
+-115.6283	29.6454	5914
+-91.3925	39.4772	8084
+-117.5662	31.6088	8249
+-116.7303	45.6312	7542
+-123.8825	47.5409	8356
+-118.6924	47.5529	7662
+-123.8567	46.4669	8420
+-120.0189	32.794	6348
+-89.0702	38.5567	8759
+-119.5546	32.4241	6833
+-90.1528	38.1182	8699
+-113.5583	32.3984	5870
+-117.0884	32.1021	8944
+-115.6787	33.9141	7789
+-89.2093	37.7079	9316
+-112.0611	28.9202	6034
+-119.9561	31.7439	6210
+-115.4938	34.3421	7591
+-119.1856	31.3257	6771
+-115.2626	36.7267	5963
+-112.3869	33.7177	6264
+-89.9104	39.3026	8640
+-124.2048	48.7017	7221
+-116.0995	33.6384	8420
+-93.3577	36.9356	5669
+-121.7107	31.6896	4314
+-120.6711	46.8972	7156
+-122.0768	47.717	8382
+-116.8559	33.5127	8967
+-121.771	46.3835	8210
+-117.3132	47.3014	7625
+-110.1692	30.7508	8554
+-90.3272	39.1916	8945
+-117.0629	31.0427	7771
+-115.1799	31.4974	7276
+-121.352	48.0908	7504
+-90.2791	38.2768	8902
+-115.3235	32.0265	7719
+-88.7206	37.5571	9682
+-121.6443	46.8809	8223
+-84.4092	26.4497	6918
+-87.9995	40.5458	6470
+-124.1758	48.521	7397
+-113.4168	47.7843	3807
+-108.3966	30.385	7006
+-82.6321	30.2556	7021
+-111.0657	29.2957	6871
+-114.6674	33.2888	7135
+-106.1489	31.1265	4913
+-87.5851	37.4066	8457
+-83.0575	25.5183	7142
+-117.9345	35.0201	8327
+-89.4248	37.3246	8983
+-117.6857	30.431	6974
+-120.9294	43.3577	5225
+-81.3148	26.3703	8061
+-86.7396	37.6166	7539
+-90.8312	38.2301	8685
+-117.1822	44.1926	6928
+-122.0968	43.413	5604
+-88.6676	38.1913	9215
+-119.2735	33.781	7315
+-122.7022	46.6718	9216
+-84.1988	28.7635	7298
+-116.0903	32.6156	8750
+-121.7017	47.7858	8011
+-116.8129	42.7776	5413
+-122.9397	48.4558	7970
+-117.329	32.2403	8993
+-90.2192	36.0955	7414
+-93.2005	37.1148	5913
+-81.2421	28.4304	8635
+-118.3566	37.9288	5230
+-119.5722	32.1146	6743
+-85.6345	38.5424	6164
+-119.2989	46.509	8101
+-112.3778	31.128	7204
+-108.483	30.9846	7367
+-116.1651	33.4852	8589
+-118.6533	32.3649	7805
+-88.0663	37.0106	8738
+-120.3751	32.5117	5936
+-123.8439	49.6493	6482
+-116.4414	33.6459	8492
+-119.6298	46.0846	7834
+-109.3116	29.5393	6998
+-122.6928	46.1332	8663
+-115.9473	35.8252	7198
+-118.2612	37.348	5867
+-89.4931	37.9143	8953
+-124.7488	47.062	7572
+-117.5796	41.7973	4643
+-115.6814	36.2565	6647
+-107.1563	30.6595	5889
+-118.6377	45.4599	8486
+-108.2609	32.1567	7144
+-120.6999	34.4562	5776
+-123.4676	44.6021	6935
+-115.0972	33.107	7643
+-80.2175	25.2339	6300
+-86.5864	36.0438	6765
+-124.0069	46.8051	8377
+-115.908	32.4475	8502
+-119.2869	35.7562	6711
+-119.2857	48.727	6283
+-121.8914	48.8596	7250
+-121.4866	49.7984	6129
+-114.9286	44.3556	5256
+-90.1415	41.9278	5989
+-120.7198	31.7044	5387
+-80.6148	25.0707	6392
+-118.3331	44.3721	7430
+-88.6812	36.118	8075
+-88.5555	41.8188	5574
+-87.8231	36.8902	8444
+-115.5851	41.4423	3560
+-111.4982	30.8487	7981
+-117.2141	35.1118	8469
+-95.5136	42.9328	2290
+-116.054	31.6535	8104
+-112.9024	32.5348	6505
+-109.0407	30.368	7551
+-120.326	43.0683	5389
+-89.7423	39.3843	8452
+-114.823	36.4267	5882
+-120.9549	47.8287	7269
+-117.6013	33.1334	8962
+-116.897	47.7086	7012
+-87.0896	37.0253	7800
+-89.6464	39.4039	8362
+-92.8173	36.8359	6087
+-118.88	34.8428	7615
+-109.6677	27.9049	5423
+-87.4668	40.2233	6595
+-109.7884	30.1738	7836
+-81.3503	27.6208	8991
+-88.1522	36.9567	8762
+-110.0411	33.1046	7795
+-122.4615	35.0641	3781
+-91.5923	35.3878	5573
+-87.5568	40.9093	5929
+-115.6568	37.827	5143
+-87.3305	36.4219	7682
+-89.5304	38.6027	8491
+-118.5182	35.3795	7611
+-119.3125	45.2877	7872
+-93.8284	39.0246	5699
+-109.4847	32.3165	8258
+-108.6911	30.5904	7394
+-86.681	39.3092	6835
+-82.6283	27.1562	9003
+-122.262	45.0596	7397
+-113.0715	33.6545	5754
+-86.4796	38.7391	6979
+-84.8005	40.8208	4126
+-117.9344	32.9851	8657
+-87.9099	31.4233	2742
+-91.0447	37.3149	7721
+-81.9081	27.3486	9355
+-117.8132	45.0945	8085
+-105.7198	30.1664	4245
+-91.7964	39.2585	7806
+-121.4883	46.7961	8044
+-110.747	30.1725	7881
+-90.204	39.3321	8768
+-88.8494	41.5683	5966
+-115.0252	49.5369	4245
+-86.9893	40.2037	6337
+-112.1724	33.4023	6671
+-80.0205	29.0937	7070
+-117.3259	36.1259	7363
+-117.8882	30.8706	7351
+-88.7887	40.1667	7125
+-109.9749	28.4749	6083
+-119.1202	37.0345	5782
+-92.2508	36.4001	6189
+-87.5531	38.8712	7895
+-106.5182	29.8649	4940
+-107.494	34.0821	5376
+-89.4264	36.7516	8549
+-114.6794	36.8675	5432
+-110.114	34.6729	6118
+-90.9565	36.997	7436
+-117.0991	32.6362	9503
+-111.4329	33.2475	7312
+-93.5331	39.1999	5995
+-90.1541	39.2559	8826
+-124.3823	48.2963	7418
+-118.1758	35.004	8165
+-125.9867	47.8066	6092
+-114.8369	34.5482	6849
+-112.6444	30.9214	6869
+-108.7689	31.0609	7687
+-82.4606	27.863	9506
+-91.5101	36.1064	6327
+-122.5024	44.1427	6473
+-78.9243	26.6816	6060
+-117.8653	46.8088	8389
+-114.2558	30.8122	5992
+-113.8168	33.8772	6046
+-122.8255	48.2971	8142
+-85.3875	40.9551	4522
+-118.7135	44.9009	7911
+-87.7153	39.3078	7627
+-81.4397	29.995	7252
+-114.4524	49.1662	4064
+-123.0761	41.8444	3975
+-92.5771	38.9213	7053
+-81.1605	27.0259	8509
+-88.111	37.3298	8988
+-88.9823	37.744	9558
+-122.4447	46.9324	9105
+-108.8659	31.4754	7879
+-120.6027	45.0342	6557
+-119.8135	45.2178	7390
+-119.2715	47.0115	7837
+-121.3848	44.8021	6703
+-116.4802	31.6649	8358
+-108.753	33.0166	7162
+-109.7082	29.1102	6710
+-90.9287	41.5558	6344
+-79.2105	26.4505	6266
+-124.2304	47.9069	7816
+-117.3909	35.6093	7922
+-82.9395	29.6798	7544
+-121.1913	47.9031	7466
+-93.1032	35.6421	4973
+-118.662	49.512	5625
+-117.9902	34.0123	8738
+-92.4218	40.4276	6579
+-90.2053	38.0762	8673
+-118.1057	38.9813	4171
+-119.0157	34.3976	7608
+-115.9615	30.1531	6577
+-117.4628	48.8816	6189
+-91.5709	38.1939	8011
+-117.3761	46.3578	8262
+-87.2566	38.0734	8060
+-108.5333	28.0334	5161
+-118.8986	36.1304	6724
+-117.6716	32.0826	8618
+-116.2476	44.7988	6702
+-80.7272	27.0456	8105
+-83.6381	28.0272	8165
+-79.4702	26.9202	6731
+-82.5346	27.5039	9350
+-118.1045	48.3568	6863
+-110.9663	30.6103	8216
+-90.10	38.4617	8989
+-81.9203	27.7506	9651
+-116.7935	48.5052	6264
+-88.0765	37.2971	8937
+-112.5893	30.9416	6932
+-115.9991	36.1025	6983
+-118.3496	43.6349	6649
+-113.0278	32.2039	6478
+-90.925	40.3793	7574
+-119.2917	48.5733	6432
+-122.0509	46.1002	8273
+-90.9855	40.8464	7073
+-124.8495	46.2484	7324
+-88.2685	36.0251	7890
+-114.5826	35.677	6160
+-119.7406	46.6448	7613
+-91.8386	39.087	7814
+-84.4029	24.5017	5394
+-117.9489	32.1122	8405
+-90.8943	38.5372	8828
+-116.2253	35.7353	7454
+-88.9637	36.483	8469
+-119.2879	44.1631	6950
+-81.9103	24.2894	5950
+-120.7261	44.2338	6005
+-116.7439	35.0593	8378
+-116.7226	33.5862	8696
+-117.4815	44.7757	7621
+-115.2143	32.5367	7774
+-86.9859	36.6982	7540
+-118.7618	28.9301	4978
+-119.8024	46.6011	7566
+-80.3508	27.0937	7737
+-121.4298	47.1496	7979
+-108.8062	32.9959	7220
+-116.3514	47.3462	6826
+-109.0405	27.6836	5022
+-82.2004	28.367	9209
+-85.7573	38.7397	6229
+-118.6532	42.5926	5525
+-91.2766	36.7031	7017
+-86.2769	36.7702	6845
+-117.9421	33.4645	8501
+-116.701	35.7559	7663
+-108.7181	32.2513	7580
+-91.0589	36.8633	7264
+-87.8771	36.017	7712
+-87.7972	37.9928	8667
+-120.9435	44.6731	6294
+-84.6876	34.7795	4206
+-118.0696	45.2514	8334
+-114.8408	33.8474	7118
+-118.7097	30.7578	6744
+-116.1023	33.4551	8554
+-79.4688	27.3964	6849
+-87.594	38.4507	8231
+-118.2331	33.8627	8443
+-89.1518	37.9895	9250
+-108.7036	30.1159	7098
+-82.4442	27.1215	9082
+-123.2288	48.8578	7497
+-116.0608	49.7006	4779
+-116.7696	45.3517	7472
+-107.8268	32.3534	6633
+-108.2838	31.2833	7229
+-117.4154	36.8786	6539
+-81.4661	24.386	5994
+-117.7668	45.957	8693
+-89.2057	41.9076	5792
+-112.2809	29.7254	6557
+-122.3992	46.3633	8745
+-113.0424	31.4032	6532
+-118.7686	46.6086	8516
+-119.8427	43.7408	6265
+-90.2879	37.7271	8317
+-123.1747	48.1173	8306
+-94.1396	42.6565	3583
+-110.7234	29.6891	7378
+-109.9139	31.7441	8987
+-125.0269	45.4586	6742
+-92.557	39.095	7052
+-80.6129	26.0666	7312
+-118.4771	46.0527	9049
+-88.6074	35.6045	7494
+-117.5927	31.7266	8351
+-91.8395	38.009	7663
+-110.1698	35.223	5526
+-120.8085	49.7581	5774
+-116.0353	34.7903	8015
+-116.0702	39.1047	3960
+-116.1707	30.792	7326
+-93.7046	40.3314	5459
+-123.5442	47.756	8487
+-122.6836	46.597	9136
+-110.5583	31.6341	9224
+-116.1699	42.5984	4929
+-119.0411	33.3307	7413
+-116.6293	43.8111	6270
+-86.884	39.234	7065
+-91.945	38.0884	7596
+-87.1301	34.2231	5536
+-123.5158	47.3322	8819
+-110.375	33.8918	6972
+-82.6375	25.7297	7518
+-118.8684	31.9446	7419
+-120.2081	47.2274	6898
+-89.0202	41.0684	6526
+-94.8783	38.9303	4576
+-115.5712	29.7379	5983
+-114.738	40.0505	2519
+-89.5242	38.6134	8487
+-116.6058	34.1149	8817
+-91.5383	39.059	8136
+-117.4775	35.8067	7698
+-122.4381	30.3284	3049
+-113.1177	27.0962	3752
+-90.3528	38.8137	9348
+-91.528	40.0002	7597
+-113.4475	32.033	6064
+-117.5996	44.0361	6958
+-121.3075	47.1619	7843
+-82.5913	24.0762	5685
+-108.7883	29.4321	6604
+-116.9554	36.5785	6849
+-92.3673	36.9807	6559
+-109.2947	32.6783	7838
+-122.1745	44.015	6267
+-121.1517	46.5771	7638
+-122.6177	44.1056	6448
+-80.1154	26.286	7061
+-106.0483	31.0716	4798
+-119.3026	47.4374	7480
+-122.9532	46.3921	8972
+-81.8832	24.9931	6742
+-108.1364	34.0934	5859
+-91.4726	38.7031	8249
+-89.9898	39.224	8760
+-86.942	39.4076	6984
+-92.0325	36.3642	6298
+-113.7715	29.0721	4861
+-118.7436	32.3423	7701
+-116.3934	33.0596	9058
+-109.7281	28.5269	6098
+-117.0413	45.924	7932
+-120.2637	46.1744	7162
+-116.5849	43.6436	6098
+-83.7518	27.7141	8060
+-90.0644	36.5957	7927
+-89.0338	36.1453	8082
+-120.5342	49.4427	5844
+-119.1622	34.316	7461
+-124.5852	46.017	7481
+-90.5688	37.4486	8008
+-118.9192	48.5493	6581
+-108.1994	29.4115	6175
+-116.29	34.9713	8134
+-120.0607	33.1008	6289
+-117.4836	34.8347	8737
+-124.5799	47.5218	7662
+-117.29	33.6817	9045
+-123.7587	48.8781	7304
+-122.5614	36.0246	3405
+-124.6003	44.9782	6732
+-90.1821	33.0417	4387
+-112.5067	32.4454	6940
+-125.6297	44.8298	5798
+-124.4918	46.7209	7837
+-123.6224	47.8419	8359
+-92.0963	41.6916	5755
+-117.7029	43.4478	6385
+-89.0132	40.997	6588
+-79.5525	27.8502	6971
+-115.9807	34.5489	8064
+-112.9361	31.0489	6595
+-118.9809	33.3186	7467
+-84.2579	27.1837	7400
+-115.7353	34.0423	7864
+-89.6122	43.2154	4540
+-119.4396	45.6492	7946
+-108.7957	32.2851	7642
+-109.2863	30.8624	8096
+-91.4274	34.4766	5153
+-117.4336	30.2531	6846
+-86.4966	38.4923	7103
+-123.3744	49.3566	6929
+-88.6609	37.0339	9096
+-79.1657	27.2945	6493
+-90.5872	34.6871	5896
+-81.7899	26.5618	8475
+-121.1825	46.9358	7719
+-108.4449	28.3865	5451
+-89.6561	41.0111	6864
+-87.5928	40.9259	5926
+-87.94	36.1494	7876
+-106.2627	33.3328	4673
+-87.8214	33.0843	4564
+-119.1686	34.5654	7410
+-113.1674	32.7807	6140
+-83.8071	30.3082	6449
+-89.4426	38.0946	8917
+-109.4263	32.1444	8318
+-112.3995	37.5172	3072
+-93.1619	33.7332	3243
+-109.2805	31.3545	8306
+-89.5145	34.062	5683
+-118.318	49.6169	5536
+-89.7704	41.242	6658
+-126.5102	46.9225	5640
+-90.6939	37.2314	7754
+-79.053	29.7594	5742
+-89.4294	38.6681	8392
+-117.9181	31.5498	7986
+-112.5682	30.2471	6652
+-93.4481	39.1758	6089
+-95.9113	37.6686	3353
+-88.4102	40.7397	6404
+-108.9746	26.3217	3586
+-119.2438	46.7481	8033
+-114.1333	29.5172	4787
+-109.506	30.8328	8263
+-89.5769	41.6142	6217
+-89.4392	37.7792	9049
+-117.6809	37.2453	6113
+-81.1653	30.8246	6264
+-88.3152	39.8611	7300
+-86.6275	33.5066	4565
+-81.6904	28.2267	9170
+-90.1754	38.4738	9052
+-89.1759	36.5519	8483
+-122.1704	45.70	8000
+-89.4584	36.2216	8017
+-77.6616	29.0541	4628
+-91.7155	40.528	7030
+-90.8162	36.2918	7045
+-119.7442	42.3523	5000
+-87.6727	34.3901	5938
+-119.5449	49.4289	5490
+-80.6021	25.6279	6917
+-86.6229	38.0314	7374
+-116.1422	32.6632	8818
+-91.3105	40.7953	7004
+-81.8033	26.9345	8880
+-116.9607	32.317	9195
+-118.6238	28.5729	4671
+-117.016	49.3794	5537
+-84.4686	28.7396	7030
+-118.0629	34.997	8256
+-87.7771	38.6999	8209
+-120.8977	46.9504	7406
+-109.1268	31.1389	8081
+-89.8573	39.9763	7986
+-119.8086	32.056	6471
+-89.1057	37.9169	9342
+-90.1068	36.0036	7418
+-86.6266	39.2208	6846
+-112.3032	31.6791	7337
+-93.0518	44.2932	2793
+-84.1117	33.3234	3219
+-110.2325	30.4196	8208
+-116.0336	31.1484	7621
+-112.5504	34.992	5068
+-115.8848	32.6482	8532
+-114.3733	45.899	5114
+-116.8065	35.1619	8309
+-120.0504	28.5639	3894
+-116.9035	34.3536	9075
+-118.3776	48.3977	6825
+-119.7075	31.2043	6206
+-117.6124	35.338	8171
+-108.9602	30.8256	7774
+-89.4441	39.2782	8263
+-116.3874	31.562	8212
+-89.2721	40.883	6832
+-116.3011	34.9849	8133
+-109.7041	29.5867	7205
+-88.1489	36.8752	8689
+-115.9402	36.9104	6181
+-121.5157	45.9561	7723
+-112.1436	33.6677	6482
+-118.8204	47.0078	8143
+-80.1043	26.2444	7023
+-117.2535	33.1439	9267
+-80.595	27.6675	8148
+-120.8962	31.8354	5235
+-86.2463	38.0042	6961
+-93.9829	39.2468	5508
+-118.3296	34.1737	8377
+-110.5111	27.2344	4758
+-83.3109	27.0962	8359
+-117.6574	43.3785	6303
+-110.7833	28.5438	6145
+-90.393	39.1993	8940
+-89.2194	40.4386	7214
+-89.2563	38.7991	8208
+-117.1234	34.1333	9382
+-117.1869	32.4606	9286
+-89.077	37.2293	9214
+-116.0116	31.435	7880
+-122.2856	48.7498	7534
+-117.6328	35.4349	8063
+-116.7456	31.6461	8424
+-89.7428	38.889	8718
+-116.9497	34.78	8752
+-89.1295	39.6785	7743
+-93.6438	43.1499	3522
+-123.2414	48.4325	7953
+-114.2761	33.595	6629
+-125.1767	48.1103	6807
+-121.1266	37.2382	4134
+-81.6638	29.8778	7446
+-81.5197	26.3867	8184
+-80.8511	28.6274	8145
+-113.4144	29.0461	5149
+-123.3824	49.9336	6304
+-124.4638	44.081	6000
+-117.9592	31.9257	8265
+-108.3722	33.6851	6359
+-108.89	32.2606	7746
+-118.2666	48.5634	6652
+-119.631	45.9321	7822
+-115.5961	49.3605	4786
+-120.2832	32.9732	6012
+-113.063	36.3914	4333
+-118.7542	36.3983	6582
+-118.1174	35.008	8207
+-118.1791	43.5733	6582
+-109.8045	31.4104	8871
+-115.4517	32.3195	7975
+-119.317	31.7442	6871
+-122.0893	33.1975	4179
+-90.8647	35.1937	6175
+-118.9829	48.4493	6664
+-89.264	37.4557	9209
+-114.4725	45.1481	5101
+-115.1669	46.3109	5952
+-96.0447	38.4926	3316
+-89.2697	36.8994	8786
+-118.0582	34.5477	8563
+-78.6433	24.1026	4168
+-89.3125	39.1544	8191
+-86.183	24.4869	3997
+-112.9607	27.0519	3798
+-107.7685	34.3209	5409
+-116.563	30.9965	7673
+-82.0683	28.4657	9098
+-82.3635	31.5593	5594
+-118.0571	34.3597	8641
+-91.0111	38.7673	8747
+-88.8309	37.5654	9681
+-120.3746	32.1723	5884
+-121.1978	31.9396	4933
+-109.1872	30.2045	7531
+-82.926	27.8181	8994
+-86.3964	39.0932	6709
+-112.3123	29.3575	6247
+-108.5436	33.6024	6550
+-123.2089	43.1941	5448
+-118.9426	31.8562	7302
+-121.6501	44.6694	6733
+-83.1372	29.517	7610
+-107.5732	35.8781	3942
+-112.3944	29.7978	6519
+-79.5334	27.1584	6872
+-83.7404	26.7929	7767
+-85.797	28.3911	5688
+-91.9547	38.6461	7727
+-80.235	26.2359	7134
+-90.0994	38.0363	8596
+-116.9608	33.849	9082
+-121.726	44.2325	6337
+-89.9101	36.3184	7831
+-109.0724	27.0017	4325
+-120.7813	44.1549	5908
+-110.494	29.9169	7660
+-81.50	32.6549	4316
+-124.2789	48.7372	7141
+-82.6969	27.4279	9149
+-88.0732	38.7302	8389
+-84.994	29.2816	6230
+-111.4817	31.3701	8208
+-92.1613	39.7272	7238
+-80.2283	26.0761	7011
+-88.2659	38.4313	8788
+-111.551	32.1578	8015
+-107.8924	33.0287	6400
+-115.0246	34.7156	7011
+-118.9151	46.5678	8428
+-108.4136	31.7741	7383
+-118.5327	46.5154	8747
+-90.6387	41.5534	6390
+-82.8679	30.5264	6661
+-120.1066	37.2338	4951
+-88.7597	37.6269	9770
+-116.6248	31.8564	8616
+-116.0213	32.4621	8627
+-119.7272	44.2915	6810
+-114.4647	30.7475	6132
+-91.1497	35.1945	5961
+-117.7994	36.8906	6474
+-117.5755	36.0311	7440
+-120.8339	33.1893	5513
+-114.0689	31.9723	6386
+-82.5257	25.6539	7461
+-92.9969	41.2761	5507
+-108.3409	30.6295	7080
+-110.6506	33.9959	6837
+-116.5865	34.3728	8751
+-123.0615	48.3888	8034
+-89.8138	36.3922	7964
+-115.0141	30.8732	6680
+-116.5084	32.602	9188
+-118.4746	36.84	6305
+-90.0531	38.1673	8702
+-84.952	26.9321	6567
+-123.8609	46.4575	8412
+-94.4325	36.239	4289
+-119.9876	49.0343	5667
+-125.9815	44.6781	5389
+-117.2304	32.9123	9440
+-90.058	35.1884	6679
+-125.5586	47.2697	6666
+-116.1786	30.2015	6706
+-118.9245	46.2428	8565
+-114.7951	32.4144	7290
+-111.6869	31.246	7962
+-82.3947	30.5051	6780
+-89.0712	37.4014	9362
+-80.1235	31.0463	5541
+-87.5112	38.2065	8281
+-80.3109	26.8302	7574
+-116.1595	32.627	8828
+-115.8322	34.176	7972
+-108.9688	28.5366	5857
+-119.3847	35.759	6625
+-88.6038	38.2317	9154
+-79.8286	26.7073	7023
+-87.3759	37.9738	8216
+-115.0205	46.0811	5805
+-116.9026	33.8041	9003
+-118.6371	43.364	6339
+-112.3437	47.8155	2713
+-112.2172	31.1964	7390
+-120.1363	45.5824	7223
+-89.917	36.3699	7870
+-89.2443	40.3651	7294
+-84.0344	34.0893	3157
+-120.2224	34.9785	6184
+-89.659	38.8556	8635
+-79.3394	26.651	6489
+-123.3617	45.8157	8244
+-123.7128	46.6643	8653
+-88.80	37.4457	9565
+-114.4621	33.2204	6923
+-87.5899	36.1059	7622
+-112.8878	35.9338	4373
+-82.4192	28.5555	8943
+-117.0173	33.2294	9289
+-119.9914	31.4975	6072
+-120.3124	45.6792	7066
+-116.0709	36.5711	6576
+-87.9281	36.8903	8533
+-90.2402	38.7682	9269
+-114.773	36.2386	5978
+-88.5263	41.8437	5535
+-119.9343	48.6474	6046
+-109.6717	32.2424	8462
+-115.8337	33.3713	8346
+-90.8956	39.5035	8442
+-121.3623	46.4045	7807
+-118.2826	32.3775	8205
+-122.4634	47.0293	9122
+-120.1391	47.5618	6759
+-122.0571	44.8141	7067
+-89.6957	33.7705	5320
+-87.8684	36.7683	8390
+-117.9434	38.4818	4737
+-120.5794	31.5408	5479
+-116.2912	32.0577	8620
+-116.7901	46.0675	7679
+-84.3316	28.9607	7062
+-121.203	45.8525	7376
+-120.5034	30.9934	5315
+-108.5372	29.8005	6732
+-113.8573	32.7297	6283
+-79.4626	27.3238	6830
+-115.038	33.8782	7297
+-121.0641	35.7482	5037
+-111.1607	30.8619	8284
+-88.0503	37.0992	8790
+-109.6103	33.8507	6895
+-117.047	32.0909	8938
+-118.5476	35.1254	7770
+-122.5574	46.1529	8636
+-88.6422	37.123	9190
+-115.0352	32.7727	7598
+-91.5759	38.9469	8121
+-89.8641	38.717	8864
+-84.6599	33.0522	3264
+-80.6811	24.8625	6219
+-119.0223	32.8734	7459
+-88.7333	34.0878	5798
+-116.202	33.5608	8563
+-82.011	28.1902	9394
+-111.8464	30.0116	7110
+-111.784	33.6548	6734
+-86.5717	38.3387	7238
+-90.2376	39.7632	8321
+-88.6021	37.2198	9281
+-91.3795	40.8136	6954
+-90.9739	37.9729	8372
+-87.2733	32.694	3988
+-88.062	35.7338	7506
+-81.8778	26.0991	7984
+-87.969	38.0409	8826
+-120.2887	32.6266	6041
+-89.8912	39.7982	8176
+-88.6232	36.7182	8739
+-120.6581	49.9913	5470
+-118.1113	31.0992	7451
+-93.5077	41.524	4921
+-90.6011	39.3687	8717
+-114.0459	29.531	4877
+-114.0372	32.1707	6407
+-117.6637	31.1706	7759
+-119.4483	36.0859	6344
+-90.0714	43.4665	4330
+-113.9367	33.3377	6324
+-121.6997	44.6489	6739
+-89.2545	35.7874	7636
+-108.3238	29.3297	6202
+-90.1812	38.1752	8768
+-116.6551	37.5703	5730
+-82.0223	27.3456	9400
+-118.7178	32.9496	7794
+-87.8162	38.4948	8400
+-120.9346	45.0729	6608
+-82.3895	29.4322	7986
+-92.5838	40.5436	6365
+-119.4504	36.9139	5681
+-125.1203	49.159	6178
+-120.3054	33.5295	6158
+-126.0074	44.1945	5031
+-119.4485	31.5049	6622
+-90.4828	39.5742	8530
+-108.6916	31.5717	7695
+-116.8956	44.886	7308
+-111.4089	31.8402	8275
+-87.2699	35.4779	6839
+-88.4337	37.2255	9195
+-90.2858	36.4429	7626
+-123.5393	47.8166	8438
+-78.1716	25.5387	4750
+-111.5154	31.411	8179
+-90.1451	35.5262	6958
+-110.1497	29.9058	7645
+-122.925	45.7872	8310
+-91.0234	41.8797	5981
+-82.5876	29.1543	8241
+-89.8457	39.322	8578
+-119.096	36.9969	5831
+-83.4489	29.2602	7641
+-84.3039	27.332	7388
+-108.4247	27.8661	4946
+-90.0729	39.6575	8391
+-120.6177	45.8368	6773
+-87.9558	36.9235	8581
+-120.4019	44.7089	6576
+-84.5029	40.5729	4023
+-84.9642	27.8293	6689
+-117.4817	29.3484	5842
+-89.0664	38.119	9205
+-92.5809	42.115	5093
+-92.1266	40.381	6851
+-82.5924	30.9408	6264
+-121.0826	46.6974	7588
+-126.2275	48.6779	5495
+-116.2363	33.0693	8891
+-83.4938	27.2313	8238
+-119.0591	47.1157	7907
+-116.7281	31.0447	7759
+-122.6307	43.0298	5271
+-116.7662	34.2804	8969
+-108.8192	35.6261	4796
+-124.6097	49.0038	6684
+-77.7818	26.3564	4717
+-119.7771	46.8056	7511
+-91.4783	36.1573	6391
+-110.0214	34.6894	6091
+-123.9631	45.5893	7695
+-112.8235	33.8982	5790
+-91.3264	36.7553	7046
+-117.2042	48.6212	6356
+-114.1357	45.8755	4861
+-112.1747	31.3486	7462
+-107.6489	31.6692	6564
+-89.3717	42.0494	5705
+-118.095	35.3634	7920
+-120.0294	46.9503	7204
+-88.4867	39.8348	7069
+-114.6273	33.8344	6907
+-124.3317	46.1159	7777
+-116.7484	33.2665	9195
+-112.5118	33.844	6072
+-88.4448	39.7627	7434
+-90.563	39.7468	8333
+-115.5209	34.2029	7632
+-108.8482	33.4208	6914
+-121.256	47.3846	7743
+-108.5308	25.1709	2257
+-108.2113	32.3355	7034
+-121.2158	47.3756	7702
+-111.6368	32.0029	7990
+-81.3081	28.4725	8664
+-121.3328	44.9881	6833
+-107.9186	32.0957	6799
+-92.4523	38.7481	7194
+-89.5097	39.3229	8298
+-120.0905	34.6498	6406
+-117.1974	33.072	9369
+-119.6405	33.8297	6927
+-90.931	38.2898	8653
+-113.227	31.395	6332
+-120.5086	48.6443	6397
+-117.5719	33.9382	9143
+-120.36	33.9213	6156
+-116.019	32.0005	8358
+-85.4936	38.0551	6115
+-118.0808	45.8062	8883
+-119.5122	34.432	7067
+-117.4346	31.1352	7806
+-90.9075	36.2475	6669
+-79.8398	27.2977	7244
+-109.6541	32.6807	8075
+-108.4838	30.7625	7281
+-116.7178	33.18	9262
+-80.6058	26.6306	7739
+-81.459	31.4695	5634
+-118.1782	44.752	7829
+-89.133	38.2338	9057
+-115.8603	48.4479	5687
+-126.5837	46.7376	5551
+-113.6923	29.8985	5402
+-118.6024	31.8117	7612
+-107.5485	31.0847	6408
+-109.63	33.2604	7503
+-82.367	27.6275	9585
+-108.7472	31.0675	7667
+-80.8496	25.1923	6638
+-115.856	31.3867	7733
+-114.6701	33.5946	7048
+-120.1317	46.6136	7229
+-123.4796	43.9275	6207
+-119.2067	32.2125	7165
+-123.7519	46.7576	8643
+-116.8373	34.9449	8536
+-118.8543	37.6327	5346
+-108.3008	33.1364	6702
+-119.6521	46.8312	7617
+-92.1262	39.8823	7184
+-118.9083	32.7635	7586
+-79.9704	29.7581	6566
+-116.2651	36.2456	6988
+-116.5077	43.9772	6329
+-108.692	30.6511	7428
+-120.6453	49.5812	5813
+-110.5433	27.3502	4882
+-116.9131	46.4555	7761
+-88.7535	34.7061	6493
+-108.423	31.14	7349
+-119.4719	49.085	5858
+-118.1869	48.9413	6250
+-117.5324	43.9351	6834
+-90.68	39.5236	8531
+-80.2195	26.4357	7255
+-87.7659	34.8956	6509
+-122.3768	44.4262	6757
+-113.9054	36.4349	5094
+-121.1936	48.2535	7258
+-85.6922	25.8086	5297
+-116.7231	46.5781	7532
+-92.3317	38.2078	7245
+-88.1846	37.705	9160
+-115.7525	30.478	6814
+-89.0138	39.3318	7821
+-121.4833	43.0291	5009
+-115.5198	33.9443	7621
+-115.1081	35.8686	6517
+-110.9318	29.8601	7497
+-88.5053	38.6428	8680
+-116.0504	48.4636	5817
+-90.9568	38.1962	8565
+-116.7198	31.0179	7728
+-78.9857	27.7042	6331
+-82.4134	27.8636	9557
+-88.3197	36.75	8671
+-88.5539	38.3133	9050
+-117.9872	34.4237	8690
+-88.7152	33.1555	4752
+-120.4119	34.0715	6106
+-119.7637	46.9721	7441
+-115.1455	32.9049	7719
+-117.761	31.1233	7667
+-107.7902	31.9677	6687
+-90.974	37.2675	7704
+-109.7147	31.2683	8721
+-114.7318	33.6941	7075
+-118.1369	33.1331	8401
+-116.6445	32.1248	8902
+-117.1709	33.7406	9097
+-113.5912	30.7485	5830
+-120.931	31.9284	5221
+-118.4015	43.5759	6584
+-119.5277	45.4138	7756
+-113.1346	36.2875	4455
+-119.4165	49.5564	5408
+-83.2385	27.9575	8624
+-91.5471	40.0286	7561
+-109.45	32.7292	7906
+-80.2898	27.4125	7769
+-118.4329	36.6677	6495
+-120.0858	28.7292	4018
+-90.8508	42.2275	5642
+-121.3851	45.5119	7299
+-115.8564	49.7086	4655
+-120.5799	45.1454	6627
+-87.1179	37.9269	7941
+-86.2585	37.3708	6980
+-91.3881	37.5931	7773
+-107.0125	30.2034	5577
+-87.8754	39.5497	7476
+-111.0532	32.1749	8464
+-120.6564	45.0077	6494
+-89.7629	38.9892	8708
+-93.4916	38.4524	6059
+-81.4362	27.90	9089
+-120.62	46.3075	6776
+-79.7458	28.807	6946
+-91.8841	41.5027	6045
+-118.3629	49.9783	5152
+-119.9031	36.5038	5670
+-122.8306	45.8404	8367
+-117.2681	33.2369	9176
+-110.2794	33.7667	7107
+-115.6667	35.019	7543
+-121.038	46.0259	7314
+-89.5278	38.8099	8500
+-87.8135	34.8071	6432
+-124.8661	45.082	6614
+-119.4434	48.4464	6488
+-91.5964	41.9658	5720
+-110.3593	34.5705	6237
+-122.1932	46.36	8583
+-92.9241	37.2047	6219
+-113.6711	33.9569	5863
+-113.2061	27.2607	3850
+-92.1934	37.9178	7277
+-117.7582	33.6418	8780
+-122.0571	45.5679	7812
+-90.8573	39.4661	8499
+-115.964	45.2855	6657
+-81.5004	29.79	7494
+-91.2269	36.9001	7233
+-79.9438	29.1461	6965
+-122.4978	48.5627	7798
+-111.5028	32.6342	7770
+-122.9627	46.6318	9232
+-81.115	28.5793	8418
+-123.7477	43.8395	6047
+-116.042	32.1577	8487
+-108.3372	30.5995	7062
+-122.064	47.1054	8675
+-118.9493	33.4746	7567
+-122.3462	29.5452	2730
+-89.4434	38.4965	8375
+-107.4381	26.9517	3556
+-87.486	38.6946	7971
+-80.9834	27.1734	8429
+-91.8571	37.6597	7448
+-95.0579	37.8326	4290
+-108.2989	30.1641	6786
+-107.2676	30.9829	6089
+-116.25	33.9573	8412
+-89.7482	40.2982	7621
+-90.7549	41.478	6457
+-108.6821	29.8829	6906
+-118.2787	31.783	7890
+-88.7401	37.0006	9068
+-86.4129	34.4385	5331
+-119.0339	30.2333	6062
+-118.3184	31.0833	7301
+-122.9742	45.3536	7832
+-80.162	28.272	7590
+-120.3782	47.2441	6733
+-117.3895	32.613	9229
+-115.7336	34.5091	7816
+-123.6289	43.3268	5528
+-112.4866	33.9074	6041
+-117.8934	35.8143	7581
+-115.04	33.2203	7557
+-85.6213	35.0078	5192
+-123.2195	47.069	9238
+-81.1213	28.5268	8460
+-122.8545	46.5052	9097
+-91.2683	42.4992	5272
+-86.4476	36.4035	6851
+-110.1266	33.0756	7841
+-119.0727	31.0407	6680
+-120.1968	44.1588	6374
+-115.9917	32.2823	8513
+-87.638	41.3538	5346
+-119.8884	32.1456	6409
+-117.8034	47.645	7547
+-91.0143	37.9591	8334
+-117.8431	31.784	8242
+-112.6182	33.5486	6208
+-118.589	32.3497	7870
+-119.8767	45.5734	7483
+-118.0957	35.6624	7640
+-82.6084	28.6806	8727
+-85.6908	27.9019	5865
+-89.9847	37.5894	8445
+-120.9102	33.0163	5381
+-79.1938	26.167	6106
+-90.6578	38.6324	9102
+-88.9629	40.8512	6691
+-80.2539	31.4852	5179
+-116.613	33.0959	9250
+-114.9125	31.0486	6730
+-92.498	43.567	3754
+-122.2405	43.685	5929
+-117.8546	33.2046	8672
+-86.0712	38.9258	6475
+-119.0624	45.054	7879
+-110.2969	30.9818	8821
+-85.5397	30.0188	5272
+-80.8371	29.9942	6977
+-118.0714	47.1191	8158
+-114.5482	33.115	7035
+-121.0031	30.2509	4418
+-110.0379	34.3534	6455
+-116.4365	32.3529	8967
+-83.6092	29.1418	7610
+-89.8222	35.881	7487
+-112.2292	30.076	6849
+-88.7221	38.2226	9188
+-114.8891	30.9543	6641
+-124.76	43.4649	5250
+-121.3147	48.6712	7049
+-122.6766	44.9105	7334
+-113.127	34.2255	5307
+-81.5299	26.8245	8627
+-83.7837	26.8929	7780
+-116.4782	44.7288	6860
+-90.9734	36.1807	6583
+-83.3851	28.1757	8403
+-119.8375	34.266	6730
+-90.9188	40.3534	7602
+-116.8629	47.2574	7320
+-117.7952	33.4016	8553
+-117.7052	32.8267	8929
+-117.9854	32.1141	8373
+-83.4252	27.2076	8300
+-112.7528	32.3525	6723
+-119.085	48.1188	6960
+-110.0806	34.0758	6759
+-124.4815	43.3295	5249
+-89.3579	42.3671	5372
+-117.2761	47.3266	7580
+-119.4584	35.8857	6477
+-87.3161	37.3102	8139
+-121.5209	44.3884	6394
+-125.0619	46.5562	7189
+-117.9698	33.5996	8575
+-116.8954	33.5102	8975
+-117.4676	31.6689	8356
+-79.2057	28.9689	6312
+-118.9144	32.3226	7511
+-109.0913	31.9726	8063
+-118.4681	33.4124	8009
+-84.8753	26.204	6322
+-89.4223	38.5085	8356
+-116.6132	49.7274	5031
+-108.4994	32.9854	6972
+-115.2489	33.4551	7709
+-115.816	31.9353	8136
+-125.1328	48.0567	6876
+-120.462	47.4227	6881
+-90.373	37.4124	7983
+-79.3471	28.2706	6689
+-115.9556	34.1729	8107
+-120.1714	35.7607	5906
+-126.9326	47.7293	5097
+-108.2043	32.3357	7027
+-120.8403	43.7402	5575
+-82.9649	26.1775	7863
+-118.3625	33.5325	8175
+-120.424	49.0278	6067
+-110.6043	26.2551	3693
+-118.5031	46.4532	8820
+-119.7492	44.4105	6892
+-93.5162	39.289	5998
+-90.3918	36.0357	7231
+-116.6994	32.3235	9127
+-82.3889	28.2351	9289
+-118.0056	32.2319	8423
+-84.9626	36.0864	5192
+-79.1252	28.4179	6410
+-82.3787	29.2301	8214
+-116.3787	31.3047	7943
+-121.8036	44.6865	6827
+-115.5804	35.8999	6874
+-90.5298	39.9214	8152
+-88.6479	38.2527	9143
+-89.9716	37.4231	8435
+-115.3805	44.4748	5737
+-80.515	25.803	7014
+-113.8959	35.7878	5442
+-87.5216	36.6578	8017
+-83.098	27.9988	8770
+-81.9679	25.8681	7736
+-89.4055	36.3484	8171
+-116.355	46.0501	7218
+-117.6446	46.4413	8494
+-118.0734	31.9614	8193
+-86.221	40.3413	5670
+-120.8095	35.2941	5471
+-92.5398	37.222	6576
+-86.9894	38.5875	7568
+-121.8633	47.3801	8380
+-90.7408	40.9846	6985
+-91.3737	37.8101	7953
+-88.9942	38.1133	9252
+-92.5579	38.3361	7038
+-82.4113	27.6897	9566
+-121.7038	43.4552	5531
+-123.0856	46.0557	8585
+-78.8656	25.8721	5619
+-114.8512	32.7482	7392
+-116.2252	44.6233	6578
+-90.7126	38.7033	9066
+-120.1729	47.8219	6553
+-125.6775	47.1629	6547
+-114.6528	35.9945	6038
+-115.2778	31.1911	7138
+-111.0858	31.3774	8628
+-119.8891	47.9131	6695
+-119.9916	42.5658	5103
+-110.0503	31.9935	8934
+-124.4178	47.5011	7838
+-122.6126	44.9626	7382
+-115.6722	34.0597	7797
+-93.1016	35.6355	4969
+-111.2357	30.898	8246
+-118.78	46.1312	8733
+-89.8585	42.903	4913
+-83.7141	25.0467	6333
+-89.609	36.2428	7959
+-95.5267	38.3442	3863
+-89.2883	40.8715	6851
+-90.6072	38.4593	9029
+-119.6091	34.135	6983
+-114.8101	33.8577	7082
+-80.4041	24.2478	5457
+-120.1977	35.3406	6080
+-116.3448	36.8471	6411
+-117.0762	47.8744	6988
+-82.4856	26.10	7965
+-115.4256	30.6312	6770
+-83.0151	26.5569	8199
+-120.7692	43.7865	5664
+-116.236	36.985	6230
+-82.253	27.6659	9716
+-80.8158	26.4436	7780
+-117.9946	46.0466	8950
+-79.7215	31.9788	4401
+-120.3497	46.2318	7068
+-117.9181	36.9825	6350
+-110.8174	32.6521	8202
+-92.2108	37.8619	7234
+-120.7793	49.0712	6324
+-121.9297	47.2001	8510
+-92.1721	34.7264	4678
+-119.2268	36.1217	6492
+-116.6685	31.0705	7777
+-93.0214	41.5083	5311
+-116.2665	34.6518	8309
+-89.5912	33.2461	4768
+-119.6447	36.1871	6110
+-117.4108	32.5628	9182
+-80.992	27.4343	8548
+-110.6447	33.5377	7329
+-117.5189	27.9432	4282
+-109.647	32.4443	8281
+-118.6333	33.5307	7909
+-94.1582	36.7038	4796
+-122.2321	49.2988	6941
+-86.2182	27.4192	5254
+-83.5505	26.8264	7968
+-89.803	38.215	8574
+-125.7073	47.6954	6420
+-118.2055	46.5962	8729
+-115.1653	28.1812	4206
+-91.548	41.2571	6445
+-86.1687	40.1309	5795
+-122.5725	45.8265	8303
+-113.3797	33.373	5646
+-89.9174	39.1475	8764
+-84.201	27.2257	7474
+-81.676	26.7778	8660
+-120.2944	33.8083	6216
+-111.1161	34.2142	6500
+-111.9573	36.8269	3526
+-110.3551	29.2619	6958
+-120.9975	47.0443	7514
+-124.7699	48.7307	6782
+-112.6128	35.6591	4414
+-88.6087	36.0442	7986
+-79.7809	31.8663	4545
+-91.2949	42.2196	5558
+-124.8869	45.8458	7100
+-118.1251	35.4549	7819
+-90.4428	35.2813	6543
+-82.0751	29.6635	7745
+-120.0573	33.4806	6412
+-110.7898	30.7841	8476
+-85.8468	27.1167	5627
+-90.9892	35.8566	6598
+-112.1775	32.4394	7271
+-122.5433	48.1315	8268
+-120.6118	48.7583	6413
+-114.987	33.5653	7392
+-89.9317	36.0824	7608
+-89.4425	39.1869	8306
+-81.3146	31.1347	5971
+-111.2131	33.6819	7008
+-115.5615	33.3503	8076
+-80.0749	27.1043	7446
+-79.7849	29.1008	6837
+-119.0097	47.0039	8032
+-121.3751	48.1244	7503
+-93.6349	38.1476	5860
+-122.033	44.6437	6882
+-117.5717	38.2759	5007
+-117.3514	33.6814	9036
+-83.5297	27.1015	8143
+-91.329	37.8048	7983
+-117.7163	31.7199	8271
+-121.9585	47.9087	8143
+-87.7854	34.5886	6189
+-81.6044	29.3802	7971
+-118.03	45.2602	8332
+-88.7473	39.4991	7485
+-89.1716	39.837	7670
+-90.9091	38.6522	8848
+-116.3759	45.3286	7081
+-87.2012	37.7523	8055
+-81.4716	32.8461	4097
+-125.2337	44.5639	5926
+-86.2985	38.1159	6999
+-88.7269	34.8749	6682
+-79.9187	25.5736	6366
+-110.2421	33.2445	7671
+-116.202	31.3682	7926
+-87.8549	38.4342	8477
+-87.4616	38.2423	8214
+-86.9586	36.103	7132
+-92.7093	36.4955	5933
+-117.969	36.1877	7170
+-84.6077	30.7434	5513
+-87.6166	31.9374	3256
+-118.4646	28.1195	4254
+-89.7891	36.0176	7638
+-124.8755	46.6379	7406
+-115.9618	32.7293	8628
+-112.913	31.5816	6679
+-92.2678	36.5173	6275
+-113.8567	31.7659	6091
+-117.2063	49.3001	5685
+-117.8451	48.1158	7076
+-118.2051	36.3309	6931
+-112.4241	34.3117	5749
+-111.4786	29.6713	7059
+-111.1815	27.7006	5168
+-119.9893	47.6036	6852
+-91.712	41.0736	6539
+-120.8421	45.9983	7108
+-119.9007	32.1718	6402
+-117.31	38.7025	4554
+-122.6715	46.6556	9182
+-92.3133	35.5145	5364
+-118.524	45.1191	8191
+-118.6413	45.7403	8723
+-116.0182	32.8468	8694
+-83.6847	31.4139	5408
+-83.317	25.469	6968
+-118.7064	32.6741	7806
+-123.0872	43.7618	6079
+-90.4899	40.0599	8008
+-91.3485	35.4634	6006
+-116.5864	33.2367	9121
+-117.2311	36.4646	6995
+-123.6951	44.5626	6824
+-120.7697	39.6469	2412
+-89.9964	38.8506	8993
+-84.0406	40.7861	3458
+-114.0871	33.6224	6418
+-117.4334	31.674	8376
+-120.0384	46.9206	7209
+-124.3826	47.4529	7892
+-108.6701	33.2376	6932
+-123.7824	43.6637	5850
+-90.5975	36.329	7270
+-88.4648	37.13	9125
+-118.3913	44.7959	7875
+-88.3695	35.3451	7172
+-108.8675	28.4987	5773
+-87.8877	36.7678	8404
+-89.8393	39.4224	8492
+-115.9083	33.2568	8474
+-119.2284	31.6712	6925
+-125.5578	46.8174	6682
+-84.1104	25.5922	6568
+-83.0667	29.8621	7297
+-79.2792	27.2775	6616
+-89.2456	40.5637	7117
+-113.7888	45.0622	4375
+-88.9199	38.5748	8781
+-120.1704	47.8838	6510
+-82.7358	30.6255	6587
+-83.4452	27.9788	8389
+-92.4943	39.1009	7118
+-119.6228	34.7317	6886
+-79.975	26.2375	6900
+-123.3819	45.8578	8278
+-116.5868	35.2513	8111
+-86.1955	42.7878	3382
+-90.576	38.9222	9146
+-86.2568	36.4891	6703
+-95.4719	37.1467	3674
+-88.3487	35.9092	7788
+-116.8789	36.4531	6972
+-89.4559	36.7049	8488
+-116.3037	44.3657	6473
+-84.0972	29.0435	7242
+-88.4611	38.6825	8624
+-117.5321	35.7513	7749
+-85.4733	36.7045	5964
+-109.0322	31.3214	8036
+-90.0046	38.4675	8915
+-91.378	38.7366	8352
+-79.4648	30.329	5707
+-117.0544	36.0692	7414
+-115.2459	28.6558	4731
+-118.9995	33.2069	7394
+-116.1063	33.9875	8262
+-125.332	48.9795	6138
+-114.9941	32.6624	7546
+-91.3018	37.1053	7394
+-106.2201	30.5175	4870
+-122.7456	49.0799	7278
+-110.8538	30.5796	8249
+-85.7647	39.4135	5916
+-120.3542	35.0949	6010
+-81.032	26.3012	7819
+-125.4493	47.6226	6714
+-120.6311	45.3854	6661
+-117.2395	34.8192	8789
+-92.8352	35.7653	5261
+-110.0281	33.4174	7459
+-108.4492	30.6417	7191
+-115.7655	47.9873	5928
+-92.1053	38.3135	7510
+-80.1209	31.0711	5515
+-89.9726	37.516	8451
+-90.9893	37.3787	7808
+-120.3053	48.3877	6356
+-83.7773	30.2444	6528
+-82.3539	29.4642	7956
+-113.3366	31.0999	6178
+-116.0074	32.5359	8638
+-85.9113	27.0096	5533
+-81.5015	28.5574	8747
+-84.9447	27.0911	6621
+-88.9532	40.6214	6886
+-125.5493	46.4681	6645
+-89.4767	35.2538	6992
+-82.5154	26.9533	8876
+-124.4372	49.8497	6017
+-118.5847	46.699	8550
+-91.6511	39.1659	7986
+-117.3338	35.3105	8252
+-117.4973	35.1078	8445
+-88.8118	44.412	3091
+-82.5553	29.5799	7786
+-108.1918	30.6108	6925
+-90.3202	40.1693	7893
+-119.0744	29.5805	5445
+-92.7482	33.815	3526
+-112.5148	29.5075	6211
+-86.1297	36.9516	6748
+-124.2415	45.828	7673
+-119.4071	45.0351	7621
+-91.9465	38.6149	7733
+-90.3906	41.762	6178
+-117.8931	33.2616	8606
+-121.1556	45.7669	7280
+-119.3871	47.9334	6994
+-116.4318	47.3449	6898
+-83.1935	27.7964	8692
+-118.2017	37.8655	5341
+-123.3675	45.5519	7969
+-84.8146	35.678	4849
+-108.2379	31.55	7203
+-87.0342	41.5769	5014
+-116.4827	33.1008	9127
+-123.1256	48.0806	8357
+-118.6342	45.5858	8601
+-120.8652	45.5613	6889
+-89.3714	40.9615	6803
+-115.8426	46.0146	6674
+-116.0771	33.8513	8204
+-118.0891	28.9095	5219
+-88.5728	37.0629	9104
+-122.1891	43.4593	5675
+-118.1164	33.3273	8260
+-125.7662	46.8598	6455
+-91.0225	42.0017	5852
+-119.261	35.8225	6687
+-108.0881	32.6002	6803
+-124.6766	49.0256	6618
+-91.423	35.8497	6104
+-117.5445	46.6643	8276
+-118.6983	45.334	8338
+-115.9848	32.3891	8558
+-115.0551	31.1891	6953
+-90.1103	40.0984	7942
+-115.4655	31.23	7317
+-90.2474	42.7446	5116
+-79.8275	32.3103	4128
+-108.074	29.6849	6276
+-109.992	28.5136	6127
+-122.6971	46.942	9382
+-91.3196	36.9728	7259
+-118.6192	49.3612	5788
+-114.7326	42.8601	4170
+-87.1627	37.5055	8006
+-92.3556	39.3772	7194
+-119.5662	46.6165	7796
+-88.5029	37.2945	9304
+-88.6498	40.7131	6602
+-121.7163	45.4523	7495
+-110.0079	29.1919	6859
+-115.7569	33.4255	8242
+-89.2343	38.0514	9135
+-88.2562	38.6113	8609
+-86.9829	34.6794	5910
+-119.1852	34.6382	7374
+-119.9836	46.1249	7460
+-123.942	45.2212	7373
+-114.2105	44.1523	4479
+-116.3532	34.9542	8198
+-106.3506	31.4087	5154
+-121.0753	46.3816	7501
+-120.173	46.8346	7113
+-90.2856	38.7017	9307
+-108.7671	32.7561	7354
+-77.9916	27.2366	5168
+-112.7335	32.5904	6653
+-90.8303	36.1047	6910
+-122.8187	48.4295	7997
+-123.1258	45.1576	7603
+-92.1822	42.5048	4937
+-118.1138	31.3257	7655
+-117.4335	43.008	5864
+-119.8771	34.2169	6689
+-107.2452	32.6153	5946
+-104.7287	33.3587	3104
+-89.3311	37.2969	9058
+-92.883	40.6029	6071
+-116.9184	31.978	8816
+-120.387	35.3041	5902
+-83.2754	26.6839	8112
+-117.0394	34.9267	8638
+-120.3795	46.2238	7037
+-126.0495	48.1391	5914
+-81.6437	27.4374	9225
+-87.4875	40.5953	6227
+-111.2147	31.7079	8509
+-108.2726	34.4171	5677
+-90.2523	38.7124	9277
+-82.2547	29.3504	8095
+-120.4501	33.619	6020
+-119.785	47.0992	7350
+-81.566	25.8181	7596
+-87.1652	32.8351	4102
+-115.5601	34.9863	7457
+-118.2921	45.9475	9099
+-116.0552	47.4269	6514
+-118.1463	32.6725	8427
+-87.3536	37.1446	8124
+-115.6513	34.7344	7658
+-116.3755	35.5784	7686
+-113.992	37.9055	4089
+-89.7526	39.261	8549
+-116.1549	31.5637	8088
+-87.3513	37.0862	8098
+-116.6026	33.0885	9246
+-89.031	38.5653	8763
+-84.3645	36.4349	4684
+-115.9748	37.0847	6024
+-110.8384	27.3382	4842
+-116.2592	29.9641	6475
+-108.4974	31.1131	7420
+-89.8382	37.5564	8606
+-118.7893	45.5874	8498
+-110.9228	30.5509	8185
+-115.3551	33.6458	7731
+-123.3524	44.7621	7134
+-83.6252	25.7895	7090
+-117.4329	37.2219	6164
+-122.9803	45.6727	8182
+-86.2165	37.223	6910
+-111.387	37.6504	2802
+-85.0321	30.7593	5179
+-82.2681	27.4787	9533
+-94.46	38.1381	4981
+-115.0903	44.1705	5309
+-120.4142	42.3069	4653
+-79.6608	29.7168	6330
+-119.4699	48.2783	6633
+-122.4718	47.1668	9087
+-87.819	41.8206	5112
+-87.3604	36.0158	7381
+-117.9133	48.4678	6722
+-122.6861	44.187	6543
+-91.5453	34.2471	4870
+-114.6257	33.4254	7055
+-113.3491	31.9257	6185
+-116.4899	32.0559	8751
+-113.9752	33.3676	6360
+-124.9381	45.6836	6960
+-116.7989	30.7578	7449
+-119.8266	44.6418	7012
+-119.7769	45.8766	7661
+-90.5616	34.0117	5245
+-107.2277	30.4488	5891
+-87.2646	40.829	5885
+-118.5553	31.4124	7388
+-124.8666	47.4274	7387
+-91.0101	40.8476	7065
+-88.9563	38.9676	8339
+-79.1546	29.8089	5806
+-117.5139	48.8192	6268
+-87.6367	38.5691	8191
+-116.8072	48.038	6680
+-86.1924	36.5105	6648
+-116.8963	31.1932	7940
+-89.2043	35.5818	7425
+-118.4767	35.7064	7373
+-107.2693	29.2841	5323
+-81.7247	27.0546	8964
+-111.0036	29.8119	7422
+-92.1919	39.7786	7182
+-116.5599	34.2096	8762
+-116.2146	31.1343	7697
+-115.321	46.7361	6052
+-109.4881	31.5825	8558
+-86.1267	39.7857	6015
+-123.3489	49.2096	7093
+-120.3147	30.3834	5136
+-109.6833	32.0752	8590
+-113.7909	29.2728	4968
+-121.2665	47.3057	7773
+-119.8531	44.3043	6734
+-115.6415	32.0891	8067
+-87.4852	35.9911	7448
+-114.8493	44.1937	5101
+-119.3511	43.5081	6292
+-117.8816	32.2065	8526
+-122.7961	45.8327	8355
+-89.2599	39.7002	7838
+-82.6017	26.4498	8311
+-122.29	45.7332	8094
+-107.0469	30.0789	5558
+-117.7074	30.2195	6741
+-116.7618	33.379	9085
+-83.0036	27.265	8756
+-82.1253	28.079	9539
+-117.3699	37.987	5333
+-91.2089	39.5315	8199
+-89.4698	39.302	8274
+-84.8481	28.6391	6666
+-119.2728	45.0576	7738
+-85.0437	29.9355	5786
+-88.3679	38.8386	8425
+-117.9496	49.9128	5207
+-121.3593	43.2428	5179
+-76.738	27.8188	3788
+-119.2657	32.887	7187
+-119.9857	45.8186	7433
+-88.2095	34.2536	5934
+-80.5992	26.2263	7433
+-89.592	39.5142	8239
+-114.3131	32.5979	6783
+-116.9339	47.6251	7104
+-108.3166	31.5397	7288
+-120.4029	34.1899	6116
+-86.3775	38.536	6961
+-115.825	43.1993	5234
+-112.2804	30.9846	7267
+-88.5744	33.9196	5604
+-90.362	38.061	8681
+-123.5556	44.3967	6692
+-112.8514	28.3878	5066
+-118.8491	46.0386	8658
+-81.7798	28.5241	8947
+-120.1006	32.4824	6237
+-118.0582	34.2498	8665
+-84.3586	28.5644	7218
+-119.5618	43.4186	6114
+-94.1232	35.2569	3909
+-87.8466	36.5071	8154
+-118.304	34.5098	8334
+-114.6923	35.1626	6514
+-81.3726	31.9511	5081
+-88.747	38.6387	8723
+-88.243	38.3483	8850
+-93.3459	37.9558	6118
+-89.6447	38.7701	8628
+-83.3127	29.209	7785
+-119.6525	45.9203	7798
+-117.9722	34.9253	8381
+-87.0727	36.6015	7569
+-89.8381	41.4659	6439
+-90.9956	38.0369	8411
+-107.7987	29.3733	5830
+-110.0345	31.4005	9094
+-84.1469	27.4136	7580
+-116.2813	31.8309	8414
+-83.3073	28.6364	8239
+-122.4126	44.3687	6702
+-89.258	37.2215	9071
+-105.559	27.638	2763
+-123.9492	44.6051	6767
+-119.6891	35.098	6694
+-87.1679	37.8184	8012
+-113.7603	33.252	6144
+-116.8887	35.6125	7872
+-118.205	45.3402	8452
+-83.3634	27.6273	8492
+-90.1664	40.179	7866
+-87.483	40.6435	6175
+-90.5953	37.0675	7597
+-123.8415	48.8402	7302
+-79.8438	29.853	6388
+-119.8842	45.0979	7260
+-116.8072	31.2166	7959
+-82.2365	29.1065	8372
+-118.6258	45.3761	8412
+-118.5674	33.6737	8033
+-121.7223	47.6127	8130
+-118.7785	46.5354	8562
+-116.3699	33.5696	8681
+-117.3218	32.2253	8984
+-108.5131	33.8343	6337
+-109.973	31.4504	9057
+-120.8687	49.5107	6030
+-117.7562	33.0599	8831
+-118.6558	31.1281	7089
+-116.7936	34.3767	8958
+-90.8567	34.6202	5669
+-111.7004	31.2663	7953
+-117.3751	36.0526	7441
+-117.8532	34.6983	8649
+-92.2976	37.0005	6629
+-122.2443	47.7695	8467
+-108.1587	28.2237	5138
+-120.2284	33.3096	6184
+-84.6101	26.4674	6728
+-119.9319	47.1647	7182
+-88.4306	37.3664	9310
+-117.1087	31.7668	8571
+-81.7146	26.425	8302
+-88.9669	35.6414	7531
+-107.905	29.7672	6188
+-115.4842	46.4994	6266
+-119.4827	34.3119	7113
+-126.7318	47.5075	5355
+-108.8148	33.789	6572
+-116.5402	34.507	8647
+-111.3647	31.1286	8252
+-115.4631	44.7229	5937
+-115.2344	38.3878	4395
+-85.6342	38.9568	6012
+-87.6718	39.4204	7494
+-78.6123	27.9934	5901
+-88.9299	40.9647	6569
+-115.5772	30.5415	6779
+-120.316	33.0801	6019
+-116.0795	29.6868	6124
+-90.4883	36.5636	7520
+-115.4434	32.5041	8019
+-85.4515	39.4231	5603
+-118.3326	32.0498	8006
+-117.3417	45.7175	8184
+-90.5287	36.2236	7259
+-117.6466	33.5561	8784
+-124.8734	45.0013	6546
+-86.7317	38.7246	7240
+-86.4491	35.5861	6320
+-111.5242	30.5492	7765
+-124.0834	44.957	7044
+-85.254	39.8877	5150
+-118.5583	34.5522	8057
+-82.4984	28.4089	9057
+-83.3777	27.9085	8475
+-112.0196	28.9568	6092
+-81.22	27.3043	8734
+-90.3865	34.9039	6221
+-117.3626	41.4853	4277
+-87.0782	38.1641	7839
+-79.8334	27.3933	7256
+-83.3234	31.6372	5311
+-117.9409	32.4107	8576
+-80.9273	25.592	7079
+-89.1248	35.0204	6818
+-82.8072	27.718	9128
+-109.8606	30.5061	8199
+-120.7863	45.534	6801
+-89.0795	37.9407	9348
+-90.0019	38.6237	8991
+-123.3343	45.7501	8187
+-90.2087	37.7186	8297
+-123.6723	43.5332	5740
+-121.5874	45.4655	7415
+-121.6811	48.1909	7708
+-118.0186	34.3838	8673
+-111.1473	33.0241	7681
+-115.5272	31.0084	7175
+-114.9494	35.3379	6689
+-90.286	38.9318	9202
+-80.225	27.6123	7726
+-115.4158	32.8243	8023
+-90.4681	37.9878	8598
+-122.5822	49.1224	7212
+-78.7573	27.3158	6039
+-107.9894	35.5709	4462
+-88.4177	38.0346	9245
+-117.3387	36.8498	6574
+-85.9903	39.0534	6331
+-117.8429	34.3727	8857
+-91.5507	37.6239	7676
+-89.0857	36.5524	8515
+-122.6012	46.7356	9191
+-118.2843	48.9902	6200
+-121.5362	49.3698	6570
+-118.5259	32.3366	7933
+-121.6544	47.9292	7877
+-117.3816	46.4764	8226
+-88.9418	33.9312	5618
+-119.8264	30.5173	5660
+-83.9137	28.9892	7449
+-89.9227	41.1607	6779
+-108.9681	33.3562	7049
+-117.3613	30.1934	6794
+-83.4613	25.9865	7380
+-93.6315	36.7398	5307
+-116.4047	30.654	7261
+-118.843	46.275	8639
+-121.4837	44.2781	6268
+-86.6005	37.1157	7306
+-111.6998	32.829	7470
+-91.7039	39.5411	7765
+-89.4432	37.1152	8836
+-125.0406	49.0631	6314
+-93.6007	36.3374	5090
+-110.9586	32.556	8221
+-120.2087	44.4008	6541
+-83.8634	39.2514	4031
+-87.2304	37.9662	8058
+-84.1227	24.9557	5996
+-91.8359	41.0798	6465
+-119.8883	43.5399	6060
+-123.0956	47.5393	8941
+-119.1796	34.3867	7433
+-107.1797	32.0637	6017
+-90.7016	36.5889	7070
+-119.8874	47.1803	7212
+-122.4553	47.0517	9109
+-82.4841	28.8082	8649
+-125.2123	47.6813	6947
+-79.0724	27.6387	6426
+-120.3071	46.3933	7095
+-91.0465	39.4389	8394
+-110.6269	30.0156	7745
+-109.001	33.3155	7106
+-120.2651	46.3806	7141
+-81.1092	28.2344	8619
+-92.3407	37.7924	7076
+-82.6141	27.8784	9334
+-108.5901	30.6157	7313
+-85.937	33.8471	4480
+-87.3746	35.3719	6803
+-81.514	25.3993	7124
+-117.5517	45.0088	7869
+-80.8725	31.329	5617
+-109.3826	30.8114	8147
+-109.5793	35.2398	5428
+-116.5092	33.0804	9164
+-119.969	49.5714	5173
+-116.4263	35.1146	8129
+-115.922	33.7504	8013
+-114.9263	33.9224	7164
+-120.1211	47.4895	6821
+-110.0497	34.2369	6582
+-118.4648	44.8419	7914
+-120.121	33.6028	6371
+-121.2981	49.576	6242
+-111.3639	30.284	7677
+-93.5764	37.3966	5686
+-81.8948	25.9283	7795
+-119.0199	45.7092	8377
+-111.6525	30.7833	7802
+-125.2092	47.1944	7057
+-118.0712	29.7933	6163
+-80.7707	28.0704	8313
+-90.9621	34.9783	5920
+-115.8092	34.3765	7926
+-106.3842	31.806	5188
+-121.5194	31.9518	4584
+-116.2444	30.8412	7407
+-94.6799	36.9991	4424
+-113.9506	37.0593	4714
+-118.0162	34.238	8712
+-117.8601	32.8875	8753
+-111.8252	28.1834	5451
+-122.5994	46.6625	9136
+-80.6736	31.4943	5363
+-117.0442	31.9375	8769
+-116.6383	45.8168	7493
+-114.3308	47.0765	4949
+-106.9762	32.5462	5690
+-116.2464	33.6739	8317
+-88.8664	36.9264	8977
+-122.0526	49.2007	6981
+-116.9346	33.33	9179
+-118.3209	34.7774	8190
+-113.2977	31.9361	6239
+-82.4201	27.6163	9526
+-122.0089	49.7533	6392
+-87.4528	37.6448	8340
+-115.9307	31.9831	8270
+-90.6139	35.9216	6963
+-91.7226	44.0332	3550
+-117.6357	45.6523	8427
+-84.6119	30.7311	5521
+-123.7277	45.5002	7756
+-121.9729	48.2823	7838
+-84.3342	28.3107	7328
+-113.3995	31.7099	6149
+-124.9812	44.8526	6347
+-116.5945	34.8551	8462
+-118.60	32.8196	7931
+-91.6086	40.1968	7381
+-89.9352	42.2657	5604
+-88.5832	36.7589	8776
+-89.0974	37.5165	9408
+-114.2677	33.5705	6627
+-127.1675	48.062	4766
+-79.9966	26.5829	7129
+-119.2877	49.2424	5767
+-80.5152	29.2943	7375
+-82.1482	25.6585	7507
+-115.5563	36.5063	6347
+-114.6483	32.7464	7166
+-87.8094	36.7742	8347
+-87.1041	38.8696	7511
+-117.7114	33.3977	8600
+-115.9788	33.5829	8358
+-120.1626	37.4811	4709
+-89.1724	36.5538	8486
+-119.8233	32.4562	6541
+-118.7963	36.0497	6863
+-109.5866	31.7541	8644
+-124.8878	48.2174	7026
+-113.2632	40.8932	1600
+-115.3362	32.9044	7932
+-120.8128	42.6534	4733
+-89.4949	37.9668	8931
+-114.997	33.6773	7355
+-122.1787	44.655	6946
+-87.0686	39.0986	7321
+-111.4218	31.149	8204
+-80.5875	27.109	7992
+-110.5861	30.3695	8130
+-123.2237	44.593	6974
+-109.1784	33.8685	6699
+-117.7378	31.6488	8192
+-117.9486	44.5766	7609
+-118.5114	48.9003	6285
+-114.9187	37.1365	5380
+-110.5187	35.5409	5181
+-120.4237	49.1142	6005
+-114.151	29.5732	4962
+-116.8992	41.2245	3893
+-85.7252	26.7653	5674
+-83.8268	29.6512	7026
+-117.1829	33.7826	9145
+-115.7377	34.189	7869
+-91.883	37.0949	7017
+-117.1557	35.7622	7757
+-116.1326	34.3614	8276
+-90.8578	37.3558	7837
+-113.6853	34.2988	5627
+-113.7241	33.625	6025
+-120.327	45.4741	6997
+-85.5565	38.8213	5985
+-109.8102	32.3677	8452
+-89.4598	36.6338	8419
+-116.4765	46.4358	7314
+-117.3418	34.4577	9175
+-92.7564	40.7199	6100
+-83.3425	29.4391	7558
+-118.3194	33.774	8324
+-114.5585	31.4122	6643
+-109.0042	30.483	7604
+-117.678	31.7808	8351
+-87.1643	37.3585	7984
+-109.7723	31.1418	8700
+-118.3928	37.7957	5358
+-81.4407	27.4748	9042
+-123.0557	48.1954	8245
+-93.301	40.0072	6000
+-88.0122	42.818	4349
+-83.8443	27.2732	7878
+-119.7485	46.869	7508
+-92.7353	34.4861	4176
+-111.2657	28.8681	6363
+-87.2488	40.1755	6523
+-86.9739	39.7067	6766
+-113.9832	34.664	5910
+-123.293	49.3849	6915
+-117.2562	35.7812	7740
+-109.0376	32.7793	7563
+-90.263	41.3904	6576
+-92.6308	37.72	6760
+-115.2253	33.4529	7685
+-88.724	35.2236	7073
+-90.5992	39.7855	8284
+-92.2847	36.5213	6267
+-112.5765	34.1023	5819
+-121.2047	35.356	5040
+-83.2721	28.5258	8344
+-86.8337	39.0358	7156
+-90.5914	36.7316	7237
+-117.3957	30.6481	7287
+-115.7745	47.0124	6433
+-122.3007	49.2243	7040
+-112.185	34.0256	6153
+-92.1957	36.8787	6617
+-89.4239	38.3626	8740
+-115.2815	33.2051	7824
+-108.1325	29.2137	5970
+-116.9822	31.816	8637
+-78.6769	33.6581	2165
+-108.4727	31.8623	7435
+-113.372	31.2632	6163
+-118.5455	44.8328	7890
+-119.1555	36.7329	6033
+-114.6216	31.5509	6781
+-117.6061	31.999	8595
+-119.5646	37.1721	5382
+-93.2289	38.8741	6354
+-117.1686	46.1477	8079
+-120.9568	35.577	5215
+-120.0316	47.8365	6651
+-124.1769	48.7829	7167
+-116.4157	32.2167	8844
+-122.7047	44.8356	7255
+-89.3957	39.9643	7737
+-112.4072	33.1015	6689
+-80.1463	32.086	4513
+-117.8321	33.9582	8892
+-122.7017	48.2786	8148
+-108.1907	31.1306	7101
+-111.0566	33.1151	7638
+-120.4205	47.4752	6825
+-117.7372	30.3705	6892
+-116.415	33.4595	8808
+-90.3169	40.4023	7642
+-112.4463	33.4488	6420
+-117.8486	35.0101	8390
+-81.6368	26.1608	7991
+-123.1746	47.6074	8840
+-115.6418	34.8278	7610
+-115.0412	46.6629	5776
+-107.647	30.491	6332
+-89.4329	40.8652	6925
+-124.1753	45.8102	7715
+-83.2048	26.0647	7617
+-118.544	32.5593	7970
+-90.6047	35.7885	6866
+-81.6163	27.4567	9211
+-81.5605	28.4258	8904
+-118.4047	34.3953	8264
+-117.8138	44.3365	7328
+-119.6418	47.7052	7033
+-116.8206	33.1666	9330
+-116.3853	34.5104	8492
+-118.5509	42.4229	5356
+-125.6538	45.9059	6364
+-120.6778	49.3205	6050
+-80.8074	29.3122	7589
+-88.0448	35.4677	7218
+-117.5466	44.0494	6953
+-90.3522	34.9898	6323
+-117.8209	47.3388	7860
+-118.4214	32.0698	7929
+-109.2229	29.9775	7358
+-119.2405	33.6762	7328
+-118.1369	31.694	7944
+-90.3964	39.7412	8356
+-120.8581	36.5492	4816
+-117.2766	35.1944	8380
+-119.3855	31.6282	6747
+-121.2471	33.0207	5029
+-84.6113	31.3398	4973
+-80.4234	31.768	4969
+-88.5807	40.637	6612
+-85.9856	26.3644	5254
+-82.3236	25.6268	7462
+-110.9316	30.8455	8444
+-125.3691	44.4999	5772
+-119.5584	48.4543	6425
+-88.4692	34.9005	6693
+-119.4796	43.4218	6154
+-90.6177	39.4899	8588
+-81.4815	29.466	7833
+-84.0663	26.901	7496
+-120.5604	45.797	6828
+-115.3028	33.6732	7666
+-114.2647	34.2151	6262
+-108.8593	30.8945	7711
+-89.951	38.2934	8747
+-117.2649	32.5703	9321
+-81.1719	25.7301	7345
+-114.0981	32.856	6553
+-116.158	34.2991	8315
+-83.2085	25.0022	6537
+-80.4211	28.9341	7548
+-116.0639	30.5498	7031
+-115.5964	38.331	4610
+-115.719	31.3297	7588
+-118.4821	35.8565	7238
+-119.4416	43.7948	6528
+-114.6456	36.0884	5971
+-88.6824	38.8522	8480
+-121.6888	48.9477	7055
+-116.7907	45.4315	7528
+-123.1624	49.478	6832
+-89.144	36.0631	7967
+-89.474	42.4791	5287
+-81.4333	27.7734	9100
+-113.8771	31.88	6152
+-117.4171	30.8199	7470
+-92.7578	36.5413	5929
+-116.2178	36.6922	6521
+-117.9372	39.1075	4063
+-114.1435	47.3774	4672
+-123.4377	46.0759	8463
+-116.1616	33.4281	8625
+-115.8214	32.2493	8327
+-123.3114	49.3461	6953
+-116.0554	49.491	4963
+-119.8403	33.929	6722
+-114.534	33.6079	6900
+-82.0125	30.6563	6620
+-92.1097	39.1704	7509
+-120.0677	36.3592	5635
+-83.6947	26.9177	7882
+-112.9811	34.765	4989
+-118.4362	45.3864	8488
+-109.3205	29.8317	7281
+-112.6914	28.1408	4953
+-91.2331	39.6214	8112
+-84.3759	31.8304	4641
+-121.4205	29.5437	3588
+-91.4311	36.3918	6643
+-89.099	37.9968	9289
+-94.0006	35.699	4324
+-117.3612	44.3273	7144
+-120.777	41.7082	3912
+-86.9395	37.6298	7764
+-120.6431	48.9153	6330
+-110.2455	33.0237	7910
+-112.3906	34.4615	5640
+-115.0599	47.9453	5327
+-117.895	36.3928	6980
+-85.8526	38.1269	6503
+-86.9343	36.9385	7602
+-81.5849	28.3309	9002
+-123.1589	45.9296	8432
+-80.6866	29.1951	7592
+-123.8634	47.1359	8531
+-117.3958	45.3832	8052
+-126.4649	45.0218	5145
+-82.2455	27.249	9293
+-87.2288	41.7431	4737
+-117.2642	31.3262	8058
+-115.6206	34.3918	7720
+-108.2044	32.6281	6904
+-119.0204	31.2862	6896
+-110.7409	31.5644	9031
+-124.316	48.1913	7549
+-88.0322	38.1176	8847
+-114.3618	33.9646	6578
+-120.2704	43.6436	5914
+-79.7668	25.4047	6110
+-119.8912	36.5679	5633
+-121.3232	47.5023	7777
+-117.5079	32.8978	9142
+-110.4716	29.5962	7315
+-115.2055	38.3649	4404
+-81.2532	29.2045	7985
+-81.4448	28.2633	8932
+-82.1116	30.3882	6926
+-108.4698	30.9606	7345
+-124.3533	43.7421	5720
+-110.4253	32.0307	8979
+-125.0835	47.0369	7206
+-116.7703	48.3726	6369
+-116.7043	47.9488	6686
+-116.7408	44.2122	6679
+-111.6556	31.8311	8016
+-122.0171	43.8417	6039
+-113.9975	31.1075	5932
+-118.451	32.2258	7971
+-89.386	40.2919	7445
+-110.9697	36.7726	3809
+-111.6716	33.8235	6646
+-90.7013	33.3792	4536
+-90.1181	40.8923	7098
+-113.7594	34.5085	5690
+-82.1441	26.3687	8311
+-121.694	46.568	8211
+-118.4667	31.2718	7351
+-122.0075	44.8955	7129
+-110.1626	28.5099	6139
+-113.6444	34.2967	5583
+-115.6086	31.2404	7432
+-79.4212	24.7171	5275
+-89.5012	40.0712	7712
+-112.1914	32.7887	7074
+-88.9925	41.9983	5616
+-123.1315	48.0959	8340
+-83.7216	28.8159	7739
+-87.5195	38.0817	8339
+-121.7272	47.5616	8161
+-119.6523	32.5792	6746
+-122.2101	43.4044	5620
+-118.4132	31.6803	7701
+-116.4956	38.2309	4990
+-120.162	42.5514	5008
+-110.9513	30.223	7855
+-121.5837	48.5833	7316
+-121.1856	45.0654	6794
+-116.3072	34.6392	8355
+-122.0364	45.201	7447
+-89.1566	41.0385	6626
+-86.4007	39.3944	6526
+-118.8109	33.3399	7644
+-118.7849	33.1629	7572
+-123.0615	46.908	9417
+-87.5858	36.3681	7846
+-90.4222	33.0799	4342
+-115.6884	35.6653	7139
+-110.2597	28.8536	6515
+-80.0656	27.9185	7547
+-90.9372	36.3961	6818
+-117.8951	44.1554	7160
+-111.2843	28.2788	5748
+-110.1722	31.4983	9276
+-107.0605	32.8613	5667
+-119.8307	35.4777	6380
+-82.7118	27.8233	9235
+-115.5519	33.6327	7931
+-119.1455	32.5075	7298
+-92.8719	40.2808	6275
+-119.6128	34.7629	6888
+-83.558	25.2885	6659
+-118.1447	33.15	8387
+-87.6195	38.8521	7963
+-118.7996	33.3763	7673
+-84.5191	40.2498	4234
+-116.5043	32.9542	9215
+-106.0183	29.6094	4332
+-119.2658	45.961	8210
+-111.1099	30.4137	7952
+-88.5811	32.2653	3749
+-123.7919	45.8892	8070
+-120.5685	43.3418	5467
+-117.679	48.8395	6289
+-106.6145	28.557	4279
+-88.6377	36.6571	8673
+-126.4738	48.449	5356
+-82.1832	25.8297	7700
+-114.8159	32.0368	7201
+-115.7403	36.16	6770
+-119.5348	34.7206	6982
+-88.8869	41.3381	6202
+-88.782	42.1444	5379
+-117.0515	30.7449	7440
+-120.8028	33.2912	5573
+-82.2791	26.6049	8568
+-117.0544	31.4056	8176
+-115.0257	31.5156	7147
+-89.4014	36.5981	8421
+-117.4779	33.8925	9188
+-116.372	38.489	4687
+-116.515	48.4497	6146
+-85.7458	27.4966	5794
+-81.6531	28.9379	8460
+-115.1248	31.9396	7477
+-120.8777	34.4649	5582
+-118.0092	45.0334	8094
+-88.8195	35.1721	7015
+-120.0407	32.7083	6322
+-116.0211	33.4093	8508
+-83.1408	25.1517	6722
+-116.7403	33.9762	8939
+-116.9325	34.6098	8903
+-118.5569	36.7555	6350
+-122.6117	48.4769	7917
+-89.8403	38.03	8452
+-107.0209	30.6745	5752
+-89.4834	38.5136	8421
+-106.2882	30.4543	4923
+-119.0308	32.7577	7450
+-116.0562	33.7634	8157
+-92.3803	37.9999	7125
+-107.236	30.5308	5929
+-80.5137	26.4383	7523
+-117.478	34.1101	9306
+-83.0816	30.8167	6279
+-116.2061	33.3539	8714
+-108.4821	30.5557	7180
+-89.4444	39.6857	7996
+-113.0191	32.3924	6434
+-116.3304	45.3586	7048
+-117.7451	30.5063	7034
+-114.0261	31.8426	6298
+-123.8799	44.4181	6606
+-88.1285	39.9644	7138
+-117.2576	34.9659	8630
+-111.0143	34.6838	6034
+-86.6755	38.6189	7236
+-116.473	38.9123	4253
+-119.8162	35.0597	6579
+-117.3646	46.0704	8287
+-91.1859	39.0699	8493
+-114.9543	30.9587	6698
+-80.6102	25.8279	7103
+-89.3008	32.8775	4407
+-109.1087	31.4885	8143
+-118.0991	33.0605	8461
+-120.59	46.767	7059
+-81.3032	27.9122	8939
+-91.1032	41.5417	6317
+-117.5735	33.6726	8934
+-109.5646	31.7393	8624
+-115.922	32.5404	8548
+-82.8458	25.2911	6978
+-117.6309	47.534	7592
+-120.7127	46.2374	7073
+-116.1435	34.2443	8307
+-119.4715	27.7533	3452
+-122.5624	43.8998	6217
+-90.6003	40.3704	7662
+-91.9585	39.864	7345
+-118.9123	47.4548	7679
+-79.8095	28.7365	7044
+-117.9727	34.1037	8767
+-126.3971	46.493	5729
+-118.7496	32.1479	7629
+-118.1906	32.1671	8207
+-113.0425	31.6092	6538
+-80.9698	31.114	5883
+-111.7865	33.9435	6471
+-121.3295	45.3532	7132
+-80.2807	26.6132	7423
+-83.4142	25.5274	6974
+-81.2032	29.1606	7996
+-90.0766	37.83	8379
+-88.8387	39.8205	7399
+-116.0978	44.2861	6253
+-121.8078	30.6906	3855
+-79.5457	26.9374	6818
+-117.1408	27.9399	4310
+-114.8007	30.6008	6297
+-106.062	33.1767	4534
+-92.6357	39.869	6714
+-89.1042	36.2029	8130
+-83.4935	30.5359	6402
+-116.4324	31.5004	8168
+-119.0453	46.2121	8445
+-123.2814	42.8248	5037
+-90.8248	41.4645	6460
+-94.7037	39.5872	4681
+-80.7113	26.1593	7465
+-122.5504	46.6903	9117
+-115.0042	28.2159	4174
+-117.4371	35.6953	7824
+-121.8963	48.1096	7935
+-89.5166	38.9087	8475
+-88.9826	41.0399	6531
+-91.9785	38.1285	7579
+-116.0128	36.4491	6665
+-117.2518	32.8845	9426
+-124.7808	47.1079	7534
+-118.0139	34.8839	8382
+-111.2776	33.1842	7460
+-81.8847	29.6327	7763
+-117.1952	33.9407	9314
+-113.2401	34.0269	5359
+-119.159	37.6588	5173
+-117.1164	33.9742	9299
+-120.0742	43.5868	5992
+-89.9573	38.9457	8919
+-115.8735	46.2879	6701
+-117.7715	33.7129	8821
+-114.1597	30.7073	5837
+-117.5933	31.7237	8348
+-84.3653	28.3306	7288
+-87.3059	36.5754	7769
+-119.4605	32.3645	6926
+-118.5967	33.8376	8052
+-87.4607	39.9843	6828
+-116.3407	31.0891	7703
+-113.9394	30.6259	5431
+-91.0672	40.2585	7639
+-118.2198	46.1433	9179
+-84.6052	37.1993	5115
+-89.5541	37.3629	8868
+-110.304	30.1543	7925
+-112.6497	34.4443	5485
+-113.726	36.7021	4766
+-116.6874	33.0727	9330
+-123.1965	48.2323	8178
+-114.2399	32.8196	6711
+-115.3143	31.398	7324
+-83.4666	30.1936	6760
+-88.6008	38.3655	9008
+-91.8507	35.7992	5872
+-107.9221	34.2197	5603
+-88.5142	39.9223	7046
+-122.3464	45.818	8205
+-92.7621	38.5573	6852
+-121.0151	28.8171	3405
+-88.7766	38.3699	9025
+-78.9694	27.1057	6236
+-88.2491	36.8873	8766
+-109.2778	29.9724	7387
+-88.4638	37.7238	9469
+-83.7834	26.5373	7565
+-89.5525	36.8765	8565
+-120.8482	41.7868	3946
+-88.5907	38.7737	8556
+-83.7131	27.4363	8067
+-107.7117	32.0679	6585
+-108.5942	32.3276	7424
+-92.0586	38.2312	7534
+-115.4506	35.4322	7102
+-116.5771	48.9347	5756
+-114.5549	38.7515	3696
+-116.4425	34.8357	8357
+-110.9789	34.0483	6713
+-92.8985	38.9685	6703
+-107.8302	29.89	6199
+-87.1651	37.2726	7964
+-111.9911	31.6878	7674
+-84.2692	30.9571	5549
+-122.0788	32.208	4010
+-121.952	49.0929	7048
+-87.6306	40.585	6299
+-122.2112	46.3839	8615
+-90.5406	38.0448	8646
+-94.1114	37.2036	5074
+-119.842	31.105	6020
+-90.4663	36.9085	7438
+-122.0491	49.4633	6708
+-121.3777	32.9255	4864
+-82.4573	29.6088	7776
+-115.8957	33.6865	8214
+-114.5189	33.0812	7007
+-89.4026	37.2915	8987
+-119.1252	34.2985	7502
+-116.0585	36.2284	6900
+-88.0066	39.7091	7368
+-90.8281	38.611	8922
+-120.4697	39.7744	2462
+-117.5439	46.0917	8477
+-116.592	32.1925	8941
+-77.9443	27.4782	5142
+-123.1098	43.773	6090
+-90.6839	40.215	7812
+-125.3581	47.8606	6733
+-87.6379	36.2638	7794
+-94.7249	37.6113	4587
+-118.3872	46.7106	8605
+-123.4718	44.9805	7335
+-107.5906	29.0375	5419
+-85.6023	35.2034	5314
+-120.5502	31.2072	5371
+-108.4797	29.4995	6452
+-91.3358	36.6296	6919
+-109.8451	29.4301	7081
+-90.0854	40.0223	8016
+-81.1947	28.0223	8792
+-90.6083	38.5616	9108
+-119.4654	31.9852	6815
+-122.7319	46.418	8976
+-84.9736	29.1038	6341
+-114.2114	30.5485	5772
+-123.512	46.5732	8807
+-118.4877	48.8025	6390
+-119.2232	31.6871	6938
+-85.4492	35.1751	5158
+-114.1835	37.064	4898
+-87.1709	39.5958	7004
+-120.1282	33.6805	6378
+-120.5045	35.4198	5737
+-122.213	47.0778	8842
+-90.6143	39.4947	8584
+-117.8287	32.9453	8781
+-123.3767	43.0291	5249
+-118.7397	45.2185	8209
+-89.5377	35.966	7720
+-111.8678	32.9715	7232
+-117.689	37.0016	6375
+-88.2735	40.6635	6354
+-88.9305	39.2262	7777
+-114.1146	34.5626	6068
+-110.1798	33.3155	7589
+-118.6642	46.1798	8848
+-112.2973	33.4167	6563
+-85.9185	36.4331	6331
+-114.6954	32.0425	7076
+-109.1734	31.5412	8216
+-123.5088	48.0816	8210
+-123.389	49.5327	6736
+-112.8323	28.3111	5013
+-87.8886	37.4721	8806
+-89.4737	35.1074	6835
+-116.6679	31.943	8723
+-118.1937	48.5891	6623
+-118.21	47.5287	7745
+-115.9032	31.2718	7661
+-118.2289	34.6655	8338
+-114.9431	32.8567	7495
+-120.0785	43.1264	5582
+-80.9229	28.3775	8359
+-89.2259	38.8775	8169
+-115.2497	33.1927	7792
+-116.7993	46.5326	7623
+-112.0824	32.128	7489
+-85.0507	28.4153	6511
+-123.1496	31.4188	2682
+-119.6559	30.762	5978
+-115.59	32.5583	8191
+-115.2165	34.0205	7298
+-91.1928	37.958	8204
+-116.7198	30.9539	7657
+-91.0489	36.9396	7345
+-84.461	24.656	5497
+-115.798	34.9125	7724
+-109.115	30.3194	7572
+-110.358	33.23	7689
+-121.0331	45.6987	7127
+-117.8614	37.6866	5608
+-118.0442	37.4658	5805
+-116.6483	36.7425	6613
+-80.1712	28.5328	7509
+-117.8084	44.9711	7963
+-89.3713	35.9863	7811
+-92.7318	41.1369	5815
+-124.6264	46.974	7709
+-94.4214	38.1445	5023
+-94.6959	39.1009	4761
+-88.8111	42.5463	4996
+-89.5949	38.0043	8811
+-89.3038	42.7913	4916
+-85.4597	37.094	6048
+-118.6821	30.7063	6719
+-90.1306	39.7968	8264
+-91.704	38.066	7821
+-85.2727	37.1646	5853
+-89.166	42.5798	5093
+-117.6295	46.1268	8568
+-89.6894	37.1259	8615
+-91.2431	34.5233	5324
+-116.7896	32.9204	9524
+-110.6383	31.0899	8845
+-120.2748	48.8118	6081
+-118.5812	32.3787	7887
+-116.8888	34.3619	9056
+-121.2777	42.1824	4038
+-89.7706	37.1182	8531
+-82.2105	32.1785	4900
+-108.1417	31.7124	7095
+-90.1049	43.1432	4680
+-109.4205	33.0553	7597
+-83.5251	29.1943	7637
+-108.8515	31.1555	7802
+-112.5792	32.8419	6684
+-108.03	33.1668	6445
+-85.6055	39.0079	5960
+-90.4034	38.1864	8817
+-116.2268	32.9612	8912
+-108.8854	26.5275	3776
+-116.6718	34.9791	8410
+-118.3549	45.5358	8658
+-121.897	46.1365	8176
+-108.6778	31.7045	7675
+-115.6025	32.9671	8222
+-125.3657	45.1822	6262
+-116.2431	47.0835	6862
+-118.1086	47.5774	7685
+-81.6537	26.7823	8654
+-92.6875	35.9615	5526
+-107.0564	28.0967	4289
+-114.9497	31.5109	7073
+-91.0673	40.1302	7764
+-90.5629	38.7246	9229
+-118.0828	42.4602	5400
+-116.1648	47.9138	6307
+-82.8894	25.2275	6895
+-116.949	28.6804	5139
+-109.7433	32.6319	8170
+-119.3249	45.4644	7968
+-88.2505	36.8904	8769
+-123.9621	45.818	7887
+-119.4644	44.8641	7450
+-117.6116	36.7963	6609
+-87.9664	36.6366	8352
+-112.1895	29.1166	6129
+-84.0309	27.4439	7715
+-87.0804	35.0827	6352
+-114.2218	48.7138	4145
+-84.9682	37.8105	5548
+-118.28	34.1336	8432
+-92.3003	39.018	7338
+-90.4285	37.4603	8033
+-90.6175	37.8571	8429
+-81.9223	26.3554	8278
+-111.4889	33.7697	6794
+-115.8954	45.5308	6661
+-109.7368	33.0766	7731
+-80.7677	28.4041	8187
+-115.5173	31.2509	7373
+-86.9368	39.711	6735
+-118.8209	34.6301	7758
+-118.0267	33.2024	8495
+-116.709	35.4956	7932
+-124.6559	47.7603	7489
+-122.1494	47.9116	8280
+-90.2487	36.7034	7831
+-115.893	46.4722	6699
+-89.5032	39.4686	8200
+-81.6563	28.5072	8896
+-116.3271	32.3808	8890
+-107.7952	30.4159	6447
+-111.8287	31.5749	7853
+-116.7351	37.0109	6346
+-78.8055	27.665	6126
+-91.5858	38.1793	7990
+-112.5665	33.9388	5957
+-81.9334	30.6004	6678
+-113.5214	31.0835	5977
+-109.937	29.237	6895
+-116.9586	44.4958	7057
+-110.4113	28.839	6499
+-107.7929	29.4288	5865
+-80.7383	30.7876	6128
+-90.2469	36.7569	7865
+-116.7467	47.0661	7338
+-114.3496	31.2412	6346
+-85.0467	36.7704	5520
+-112.9664	30.8529	6513
+-115.8664	32.3964	8439
+-120.7464	45.243	6499
+-116.7991	34.1456	9028
+-81.3908	27.3854	8948
+-111.79	31.9836	7837
+-118.7376	35.1602	7581
+-124.6746	47.2612	7630
+-121.9996	48.7345	7427
+-86.9312	39.0285	7249
+-89.0673	37.5864	9466
+-82.6222	25.004	6718
+-117.0662	34.2537	9283
+-119.3722	46.1698	8105
+-81.7394	25.3152	7083
+-116.1883	36.5225	6679
+-121.1089	32.7794	5094
+-87.9057	40.6054	6377
+-117.56	31.5824	8225
+-82.0102	30.6295	6650
+-119.5943	33.5478	6920
+-115.9503	29.7891	6191
+-86.9718	38.6252	7531
+-92.4972	39.2789	7076
+-91.9315	37.0105	6914
+-119.3554	34.2223	7257
+-109.676	29.7891	7403
+-121.2202	46.1825	7570
+-119.861	44.6818	7014
+-90.4212	39.54	8572
+-115.3142	49.9898	4078
+-82.0425	27.2251	9271
+-113.5513	34.3432	5479
+-120.2097	31.8327	5973
+-87.0355	38.7465	7524
+-116.0763	35.6446	7439
+-114.8575	46.5752	5598
+-119.1257	32.6572	7338
+-116.5351	43.7795	6184
+-113.9692	30.5112	5535
+-117.5188	35.9527	7534
+-112.2244	32.7253	7080
+-115.506	36.4584	6356
+-119.2899	34.6439	7262
+-89.9223	35.1804	6738
+-117.9843	31.1055	7532
+-111.0199	37.5913	2922
+-92.1469	37.4971	7093
+-80.8994	26.3216	7743
+-118.5898	35.3305	7591
+-117.5473	48.2368	6867
+-79.037	27.361	6359
+-116.8585	36.3553	7074
+-121.8511	46.6426	8400
+-89.7266	40.2347	7675
+-88.1411	36.37	8200
+-117.4483	37.6774	5667
+-109.4721	31.6338	8539
+-122.1198	48.5604	7657
+-90.4543	38.8382	9302
+-89.398	38.482	8324
+-119.0175	31.9473	7268
+-117.0859	29.8883	6484
+-82.4728	24.9056	6633
+-117.6698	36.2619	7175
+-92.2642	41.4835	5848
+-116.5763	47.8666	6659
+-116.1699	46.9014	6867
+-118.4714	36.7871	6359
+-87.7363	35.2102	6826
+-114.0784	35.2221	5863
+-122.7353	46.3516	8907
+-110.1339	34.8724	5903
+-117.6602	35.5323	7953
+-82.5976	26.8122	8692
+-89.9851	36.4228	7861
+-117.2414	45.7163	8085
+-86.274	37.9966	6993
+-80.9434	26.8256	8176
+-86.7143	38.9513	7097
+-107.2775	29.8707	5678
+-87.5094	38.0471	8341
+-88.8006	35.7559	7671
+-118.7731	31.7912	7436
+-80.0365	31.9263	4622
+-118.0922	46.9612	8326
+-83.8576	26.5864	7528
+-116.0163	46.4591	6830
+-125.2716	46.7895	6993
+-121.6411	46.1639	7966
+-111.4847	29.8872	7252
+-92.0826	35.6784	5641
+-119.4744	31.3178	6494
+-115.8429	37.4387	5612
+-92.9393	40.0296	6343
+-88.6896	39.8367	7255
+-111.5307	32.7639	7652
+-90.2327	37.3857	7945
+-121.1473	47.229	7659
+-111.5861	30.8179	7883
+-79.8488	28.5631	7155
+-87.8558	34.6041	6229
+-84.1617	31.0039	5570
+-90.5559	39.4559	8641
+-79.0223	28.8414	6169
+-117.2316	46.4174	8097
+-123.216	46.0796	8572
+-88.2434	36.6615	8544
+-84.7395	39.7776	4711
+-92.6934	39.5221	6799
+-113.239	30.8669	6231
+-119.5526	43.486	6183
+-86.2885	39.1745	6559
+-92.3264	37.4997	6934
+-119.9108	46.1611	7536
+-118.2628	31.8056	7919
+-88.9032	34.6419	6417
+-117.2647	45.8903	8159
+-123.3534	45.6342	8060
+-82.5833	26.3038	8161
+-90.193	40.0832	7973
+-117.8293	35.5405	7885
+-126.1693	47.8885	5874
+-124.0577	45.7847	7789
+-118.6938	30.7901	6783
+-123.6322	45.5886	7892
+-91.0028	38.0547	8421
+-116.9892	45.0568	7500
+-83.246	28.4227	8431
+-121.6066	49.3448	6632
+-112.1181	28.6725	5774
+-111.0822	30.319	7881
+-81.3433	29.1117	8128
+-121.8558	34.3462	4526
+-86.6276	38.1908	7343
+-110.6794	30.1176	7842
+-83.7411	29.0731	7549
+-108.9087	29.6973	6913
+-91.5852	39.9461	7597
+-126.6423	46.2199	5414
+-118.1249	32.6593	8449
+-124.0625	45.1695	7255
+-115.6068	33.2076	8175
+-90.5485	38.8664	9206
+-91.2216	40.9564	6880
+-124.1861	47.7864	7931
+-109.1132	30.3236	7574
+-118.0666	35.6439	7673
+-124.5688	45.4968	7163
+-118.3761	44.5539	7620
+-107.5139	31.0123	6357
+-90.7803	36.3966	7143
+-109.9349	30.8458	8565
+-111.5332	31.2382	8121
+-116.5744	34.7835	8502
+-118.9439	47.9965	7134
+-114.7352	31.7387	6989
+-119.6937	32.6213	6703
+-119.146	45.0631	7832
+-90.1408	35.1158	6563
+-117.1271	47.4326	7392
+-119.5945	45.8708	7851
+-117.3778	46.5606	8185
+-90.5468	38.9784	9122
+-109.6658	31.4996	8745
+-89.4113	40.9158	6866
+-89.5389	36.7445	8466
+-119.424	34.10	7184
+-79.9768	26.0616	6782
+-86.1292	33.588	4364
+-122.2265	43.4643	5688
+-109.5578	32.6586	8037
+-88.8865	37.9957	9421
+-118.4712	45.1964	8283
+-91.2161	37.2622	7587
+-116.9329	31.2133	7964
+-109.3966	28.5792	6064
+-90.4058	40.1978	7864
+-88.3003	38.8346	8403
+-115.3877	34.5045	7449
+-110.1484	31.5329	9266
+-117.1591	47.9338	6982
+-90.1148	40.5285	7486
+-87.9788	36.7065	8422
+-109.741	30.061	7704
+-113.1048	46.0101	3775
+-116.1713	35.5153	7614
+-117.8814	44.3815	7391
+-122.7892	46.3284	8895
+-88.9687	37.6366	9586
+-115.0922	33.2108	7616
+-118.3514	32.5926	8188
+-90.4471	37.1279	7675
+-111.8386	33.323	6981
+-117.9875	32.0959	8359
+-105.8816	36.7924	2050
+-118.2633	45.0026	8098
+-124.8416	44.0496	5756
+-80.3367	29.1908	7299
+-118.4504	34.3189	8231
+-84.794	38.2228	5312
+-119.3638	36.01	6468
+-122.8911	45.1611	7623
+-108.0009	35.9366	4123
+-118.2164	44.3402	7395
+-115.149	37.6184	5090
+-89.2174	41.9212	5783
+-118.563	44.4168	7454
+-118.4317	34.9254	8001
+-116.5224	33.69	8593
+-89.0673	35.1648	6987
+-109.6539	31.5757	8737
+-86.6299	39.2282	6844
+-92.2146	38.6375	7447
+-119.0347	31.3726	6939
+-118.2302	42.8956	5866
+-114.7779	46.6705	5499
+-126.1382	45.7007	5786
+-119.7905	46.6757	7552
+-116.0238	34.8624	7966
+-91.4544	39.8569	7764
+-116.5301	33.3494	8985
+-118.4667	47.3173	7957
+-126.0984	46.8614	6090
+-90.8475	41.601	6311
+-120.2591	29.6975	4694
+-117.0325	32.6247	9527
+-124.231	47.1912	8123
+-81.7969	29.8755	7476
+-91.4495	41.8484	5893
+-113.0699	31.6291	6508
+-117.067	44.6326	7242
+-114.9117	31.1005	6767
+-110.743	34.007	6810
+-116.8624	43.1438	5787
+-89.4189	39.3589	8195
+-92.6375	40.9042	6064
+-90.4045	36.4736	7541
+-118.2283	47.9877	7260
+-88.6702	36.9037	8953
+-123.1928	48.9281	7427
+-79.5835	29.2732	6542
+-119.8931	32.5069	6470
+-115.5988	47.3523	6123
+-124.3491	49.5293	6372
+-92.4701	36.2963	5953
+-110.5332	32.0301	8943
+-91.7734	34.7899	5144
+-121.0143	48.5027	6934
+-87.9051	34.8739	6535
+-109.9112	32.3498	8525
+-92.9826	37.0477	6075
+-110.8941	33.4495	7362
+-82.7071	30.268	6989
+-110.7891	29.7565	7434
+-114.3553	35.3949	6077
+-120.7675	32.4254	5491
+-120.3099	47.3035	6764
+-115.8722	35.474	7428
+-118.5818	35.3308	7598
+-123.90	48.7135	7395
+-113.149	33.5444	5756
+-117.4587	46.5171	8282
+-122.6089	42.6366	4838
+-90.0849	37.3918	8304
+-117.522	38.2925	4992
+-117.3417	36.5953	6851
+-93.252	40.1168	5999
+-114.6848	47.0079	5330
+-119.9148	46.6912	7423
+-120.454	43.9653	6036
+-120.9193	43.5409	5370
+-80.4217	24.1703	5386
+-121.6259	32.9481	4610
+-89.5953	38.6284	8565
+-118.1775	46.4447	8879
+-83.5338	24.2257	5584
+-120.2437	45.2683	7005
+-90.7773	38.9042	8968
+-89.0854	37.3754	9331
+-89.661	39.4734	8323
+-89.4653	37.1964	8870
+-117.286	34.528	9107
+-93.112	39.8941	6235
+-88.3541	35.1385	6940
+-117.1706	30.2808	6915
+-120.3399	45.9017	7072
+-107.066	29.7515	5415
+-118.4808	31.9906	7829
+-119.2042	46.4488	8218
+-112.3601	31.9414	7244
+-122.0364	45.3978	7639
+-116.8042	46.5596	7620
+-76.9184	28.8231	3873
+-115.1893	36.0398	6462
+-110.2869	31.1038	8952
+-88.4537	35.4039	7252
+-120.7797	45.3393	6497
+-122.707	46.4177	8967
+-82.2538	27.8887	9698
+-121.8053	43.7942	5919
+-115.875	33.944	8006
+-88.4268	36.7088	8675
+-107.4552	29.6437	5713
+-88.1869	36.0862	7926
+-117.6848	33.3268	8770
+-93.8009	39.3636	5682
+-84.0021	26.6386	7423
+-114.904	35.1231	6744
+-87.4345	37.3638	8282
+-116.0583	35.373	7650
+-117.2257	36.5099	6945
+-92.1171	37.016	6781
+-116.4234	47.6766	6678
+-83.0999	24.6308	6180
+-108.1925	28.555	5455
+-83.2037	27.6288	8672
+-113.4821	33.111	5852
+-93.0862	37.033	5973
+-91.8923	36.6873	6670
+-91.2819	38.378	8376
+-83.5594	29.8895	6999
+-89.4046	38.4589	8673
+-116.3091	31.9461	8536
+-77.4557	30.6579	3671
+-115.1257	29.643	5661
+-122.7004	49.9417	6330
+-88.4804	40.3138	6770
+-127.1045	49.8413	4011
+-110.811	33.2214	7625
+-83.2405	26.4953	7985
+-114.8252	35.1461	6655
+-122.4102	47.5354	8782
+-117.1637	45.6372	7977
+-87.496	36.321	7738
+-87.7808	33.6662	5191
+-116.5214	45.7143	7350
+-110.4952	34.7897	5995
+-92.1274	38.2122	7457
+-88.0296	34.1014	5729
+-124.9655	46.0727	7134
+-119.1078	31.9287	7167
+-92.324	36.375	6119
+-113.7077	33.529	6032
+-109.5392	33.2758	7448
+-120.7595	29.8392	4374
+-115.3928	32.6886	7992
+-91.2548	39.4882	8193
+-105.901	31.4945	4670
+-83.7858	24.7573	6008
+-89.1456	40.0577	7484
+-110.1563	35.7865	4916
+-89.5403	31.1473	2446
+-85.5623	28.8575	5821
+-108.2018	28.9636	5814
+-126.9327	48.6772	4794
+-92.8091	39.0634	6788
+-117.8109	44.0566	7039
+-110.6341	32.5769	8349
+-118.4459	36.0784	7057
+-115.4554	31.6764	7641
+-81.3501	28.9376	8299
+-116.3249	35.4754	7749
+-116.1887	38.1673	4983
+-111.8883	32.1745	7671
+-82.7845	28.8305	8481
+-85.7556	35.4466	5616
+-81.669	28.9482	8456
+-119.6244	32.5446	6773
+-90.0785	39.4269	8624
+-89.1387	35.4319	7273
+-90.7381	40.7546	7230
+-93.3562	38.1036	6145
+-91.0144	42.0237	5831
+-108.2591	31.1196	7171
+-118.5329	31.6224	7556
+-88.4629	42.9711	4426
+-87.8573	36.5963	8239
+-93.684	36.5921	5174
+-127.5056	48.2895	4342
+-124.35	46.7766	8000
+-79.1848	27.8206	6556
+-119.3642	35.8645	6571
+-124.1581	46.2573	8019
+-91.789	36.7499	6789
+-91.4794	35.8229	6055
+-93.1956	41.8806	4889
+-90.8529	38.8414	8909
+-86.2517	39.0299	6604
+-80.6421	28.5073	8009
+-118.9579	35.6068	7091
+-115.0708	34.7665	7045
+-112.0946	31.9018	7534
+-87.1107	38.2702	7836
+-87.893	38.0666	8736
+-117.8124	33.7748	8826
+-116.5687	45.2184	7219
+-116.5148	34.0716	8715
+-91.192	36.2853	6628
+-95.2317	41.8026	3249
+-88.0539	38.3546	8703
+-115.6826	45.7037	6474
+-120.3978	46.6743	6940
+-123.406	46.3513	8731
+-111.8657	29.7754	6906
+-117.1479	33.1235	9355
+-117.1947	43.5427	6317
+-87.7858	34.8376	6455
+-89.6483	37.4951	8807
+-117.0712	33.8593	9171
+-80.80	29.1513	7718
+-116.6014	33.8561	8752
+-125.8956	45.7487	6053
+-107.9327	30.3607	6555
+-120.4911	43.0923	5309
+-118.6877	37.2312	5820
+-119.4708	44.8551	7438
+-90.2763	38.8604	9259
+-81.8232	28.1062	9372
+-80.9232	25.4429	6928
+-123.4991	48.7274	7563
+-84.2855	27.1262	7352
+-77.9366	27.9522	5140
+-118.2276	46.0358	9171
+-108.5721	28.0034	5151
+-113.3307	33.5453	5592
+-110.2627	30.3122	8094
+-119.354	46.03	8124
+-84.9921	39.4065	5149
+-118.375	32.7447	8180
+-123.7855	45.8095	8005
+-92.855	37.3101	6341
+-115.1349	36.5387	6032
+-117.453	33.5428	8862
+-83.0176	27.2012	8705
+-113.6874	34.7497	5576
+-116.3235	31.0719	7679
+-116.0265	43.939	5951
+-92.5923	34.5122	4273
+-82.8215	27.7754	9114
+-115.5277	30.0982	6322
+-82.8307	27.9615	9073
+-116.2867	49.4186	5159
+-116.8276	31.8866	8704
+-117.3449	34.487	9143
+-87.6562	34.9292	6500
+-110.536	30.9875	8792
+-83.3019	30.948	6058
+-118.0123	30.2211	6632
+-116.325	47.9452	6411
+-114.896	34.8776	6828
+-110.496	30.6564	8454
+-82.328	29.3988	8033
+-111.8213	34.7435	5689
+-117.6841	31.337	7919
+-90.4282	37.276	7835
+-116.9089	47.2749	7346
+-88.8316	41.282	6224
+-117.8529	34.3625	8851
+-91.52	40.4733	7199
+-88.9518	36.8098	8832
+-121.2715	48.4749	7168
+-111.3873	33.0737	7496
+-121.8055	46.0148	8013
+-89.0796	32.84	4386
+-116.0812	36.5452	6606
+-108.8076	31.5984	7820
+-121.9615	49.447	6693
+-117.0227	33.4446	9050
+-84.4612	42.8499	2251
+-92.5319	43.2664	4034
+-91.1485	38.6409	8591
+-115.8255	29.1074	5424
+-103.2943	30.0281	1663
+-93.6771	38.2539	5834
+-117.5148	34.5697	8990
+-93.3856	42.2367	4465
+-87.577	40.2833	6588
+-88.5073	37.0388	9053
+-83.7299	30.4955	6316
+-88.3592	38.2336	9031
+-80.8546	27.4411	8400
+-118.4911	31.6415	7606
+-115.7336	35.0305	7600
+-119.2818	30.5319	6125
+-112.0516	34.415	5885
+-81.2997	28.2249	8816
+-117.9459	33.3067	8371
+-119.6492	49.0104	5856
+-122.0442	46.9405	8666
+-120.6416	34.5256	5832
+-120.0007	48.3601	6254
+-115.544	31.2064	7356
+-107.6901	31.2255	6584
+-90.74	38.3117	8815
+-89.9108	37.2807	8460
+-117.5504	32.5189	9022
+-125.7682	48.3095	6127
+-111.0886	31.6364	8653
+-88.8494	39.1967	8094
+-92.8007	37.0764	6255
+-120.626	48.8297	6376
+-85.5012	36.0943	5747
+-79.3876	30.4695	5533
+-121.2154	45.2635	6974
+-119.7126	33.1213	6650
+-118.0279	34.912	8350
+-119.9147	45.2888	7331
+-124.8447	45.2803	6778
+-117.8984	42.9414	5891
+-87.3142	40.3256	6413
+-91.1701	39.5811	8191
+-89.8061	37.5652	8643
+-92.4969	40.2986	6600
+-84.4539	36.6898	4852
+-115.242	44.2933	5514
+-84.9488	31.5278	4577
+-117.9454	32.2717	8503
+-117.2972	42.9161	5730
+-110.2208	31.3899	9231
+-80.3054	28.2518	7753
+-107.6922	27.6475	4338
+-120.0717	33.7572	6451
+-108.3569	31.5429	7332
+-92.4786	39.8822	6857
+-117.0599	29.7643	6347
+-117.6191	33.6966	8926
+-113.6782	46.4216	4371
+-87.8064	41.243	5560
+-82.9197	27.3967	8909
+-109.272	35.305	5281
+-123.8107	45.8677	8038
+-120.8596	46.8408	7360
+-119.9746	46.1194	7469
+-91.2842	39.939	7816
+-114.3065	32.3395	6738
+-115.906	34.4816	8006
+-110.9494	31.4837	8797
+-116.3408	37.5403	5687
+-122.4148	43.0289	5247
+-92.5668	36.7182	6210
+-84.6471	30.9636	5291
+-118.766	45.5754	8506
+-91.5755	40.8572	6815
+-90.4866	36.5798	7532
+-120.3939	46.186	7023
+-118.7837	36.9744	6025
+-89.8097	42.2129	5641
+-118.0313	44.7306	7786
+-80.4052	29.43	7179
+-89.9371	39.8537	8141
+-88.3595	39.1082	8133
+-86.3885	35.5845	6268
+-116.7605	35.1255	8323
+-119.4062	32.6485	7025
+-90.5732	37.0058	7533
+-118.1836	32.4522	8336
+-117.5857	35.9039	7575
+-124.1873	45.9597	7811
+-110.3987	33.3693	7537
+-118.7446	31.3303	7168
+-111.7696	34.8802	5577
+-117.3422	47.4569	7512
+-114.8943	33.5797	7290
+-120.887	47.0443	7393
+-90.6147	34.7614	5951
+-118.5413	44.4385	7480
+-123.1633	43.8942	6218
+-122.6315	47.3297	9110
+-115.8685	35.176	7635
+-81.7957	26.8266	8762
+-90.0462	34.704	6193
+-117.9473	41.4716	4346
+-80.0574	31.6523	4908
+-116.0222	30.535	6999
+-110.4026	29.641	7368
+-116.9004	34.5992	8891
+-109.436	34.0351	6645
+-117.3325	38.3095	4982
+-109.2863	27.9062	5331
+-125.1169	46.8068	7164
+-85.9573	39.5136	6041
+-117.979	36.9171	6403
+-84.3037	27.6177	7431
+-113.7701	32.388	6156
+-90.4534	39.8653	8220
+-91.1419	36.6513	7019
+-84.0117	27.4849	7744
+-115.2958	39.1143	3695
+-118.9911	33.2667	7433
+-81.8213	28.4605	9032
+-112.6083	32.2752	6897
+-80.3387	24.3228	5499
+-113.602	34.8091	5473
+-121.582	48.6677	7242
+-90.6932	41.9075	6005
+-87.5594	36.5397	7962
+-112.87	32.7822	6434
+-125.1426	47.4767	7079
+-123.7444	45.8915	8104
+-120.0111	36.4874	5594
+-89.3204	40.7342	6998
+-88.0065	39.9468	7116
+-120.0069	46.8275	7279
+-91.5854	42.2377	5448
+-119.9608	36.2828	5778
+-83.6196	28.8824	7790
+-80.3965	26.0041	7093
+-116.7744	46.6205	7570
+-83.2906	29.348	7675
+-119.4974	46.4677	7917
+-87.938	37.7543	8880
+-89.3079	38.8619	8259
+-88.9488	38.0473	9341
+-122.8761	49.6288	6681
+-82.7951	28.833	8473
+-110.7892	31.015	8684
+-89.4308	37.4135	9017
+-118.0399	45.3819	8458
+-117.9179	34.1189	8827
+-87.1821	38.9401	7533
+-88.9116	38.4735	8894
+-87.0324	35.1381	6374
+-80.4682	29.0876	7488
+-110.3318	33.1849	7738
+-112.0986	30.8242	7392
+-89.8137	41.4318	6469
+-78.0422	29.5356	4850
+-117.4075	36.895	6521
+-123.9544	44.6588	6819
+-91.5857	37.5749	7612
+-91.6012	36.9559	7087
+-87.4839	40.2529	6574
+-119.8363	45.4379	7473
+-109.1695	35.6044	4938
+-108.4222	27.9096	4987
+-117.4121	34.1794	9371
+-82.3238	30.1468	7191
+-87.2168	38.2518	7955
+-116.6897	33.9366	8873
+-116.2439	34.2572	8414
+-90.0501	38.3813	8889
+-120.3187	45.8058	7082
+-121.7132	45.1125	7188
+-113.6488	34.0152	5818
+-121.4978	45.6229	7472
+-117.6047	31.0874	7697
+-121.0704	44.4973	6230
+-81.9629	30.2018	7131
+-90.3333	37.1769	7728
+-116.882	33.1296	9391
+-122.1415	46.6302	8695
+-86.7486	41.3501	5100
+-118.0569	34.7695	8431
+-92.9138	41.4395	5444
+-116.2418	32.629	8918
+-89.2289	35.5009	7330
+-115.6762	44.7916	6171
+-117.2759	31.9732	8751
+-85.2272	27.5926	6387
+-120.5917	44.541	6310
+-81.6804	30.4785	6782
+-122.6762	44.9934	7424
+-116.601	33.6276	8626
+-90.7767	36.6877	7161
+-116.3548	33.7025	8438
+-124.2107	46.894	8164
+-110.6902	33.8502	6987
+-117.5852	33.3201	8863
+-89.9452	39.9611	8036
+-112.3165	35.428	4786
+-114.1225	31.6086	6306
+-109.8619	30.7514	8438
+-118.5004	32.8062	8042
+-124.4135	44.5601	6483
+-116.5745	46.1997	7448
+-81.9536	29.8878	7484
+-119.3809	45.6104	7988
+-111.9016	32.4052	7555
+-88.7584	38.9929	8326
+-92.5843	41.9353	5251
+-117.9981	30.5666	6992
+-118.1935	47.9687	7279
+-115.5842	46.2056	6400
+-111.3148	28.5217	5990
+-111.797	29.9877	7128
+-81.4634	30.8157	6360
+-113.9253	34.4959	5872
+-119.553	30.6316	5976
+-84.3733	28.9763	7012
+-83.1736	27.9269	8702
+-123.0843	47.0021	9400
+-86.1541	36.66	6673
+-93.5443	35.5952	4611
+-110.5357	35.1607	5591
+-117.8158	34.3718	8885
+-117.0712	46.6382	7856
+-91.3376	37.2933	7547
+-119.4128	45.4686	7890
+-114.5569	35.5811	6187
+-112.3664	28.6394	5597
+-85.5707	36.5436	6013
+-80.7449	26.3934	7683
+-109.9286	30.3688	8087
+-82.1464	28.3742	9205
+-89.0726	36.3512	8300
+-78.1995	27.3583	5418
+-89.3635	37.6306	9144
+-88.1544	38.4919	8661
+-116.7804	35.4323	8025
+-111.1767	33.8259	6878
+-114.629	31.8671	6939
+-118.2679	35.313	7850
+-117.0745	35.2414	8311
+-116.768	33.6779	8801
+-91.1592	40.2946	7561
+-119.1043	47.3719	7657
+-117.0981	35.4479	8092
+-81.8388	25.5014	7308
+-115.9793	31.952	8289
+-121.7828	46.6616	8334
+-120.2878	45.5902	7070
+-125.5114	45.403	6262
+-116.0543	34.4264	8177
+-90.6033	40.5494	7470
+-116.3924	35.8089	7476
+-90.0362	38.4754	8947
+-115.4226	28.3869	4520
+-121.8358	46.1211	8113
+-116.8993	44.7467	7210
+-90.6072	34.3574	5565
+-117.3684	31.0158	7695
+-115.8706	46.8242	6593
+-119.6611	32.0455	6627
+-112.0525	42.5549	1668
+-91.8831	40.8496	6643
+-114.6135	31.1293	6523
+-93.1783	35.7319	4991
+-112.2038	30.2416	6979
+-115.6968	29.812	6114
+-116.2059	33.508	8606
+-86.9745	39.4662	6964
+-114.6689	32.7856	7190
+-118.8167	45.9951	8685
+-120.9582	47.9504	7215
+-117.0431	34.5022	9067
+-110.9771	31.8463	8720
+-92.1545	36.0636	5956
+-122.4362	44.9126	7293
+-109.3615	31.0083	8250
+-118.2986	32.3449	8177
+-115.9888	31.6943	8093
+-119.2713	46.8045	7975
+-91.695	38.048	7821
+-114.5167	34.4947	6512
+-89.753	38.8225	8740
+-86.6181	38.5179	7221
+-92.0648	37.6656	7268
+-84.0746	31.2941	5337
+-121.1308	48.9811	6661
+-93.2039	39.4458	6293
+-88.1928	37.8273	9146
+-116.3846	33.4603	8785
+-121.6724	46.7103	8228
+-116.8742	32.2133	9072
+-90.8054	37.4345	7935
+-88.5202	34.8538	6646
+-117.1362	48.1652	6759
+-83.8061	29.109	7466
+-122.0031	48.3976	7751
+-87.6441	36.9348	8311
+-87.35	35.8253	7208
+-89.2908	36.4024	8279
+-117.6284	32.385	8872
+-84.2635	28.6119	7300
+-81.9955	26.8653	8861
+-80.7377	30.2136	6705
+-93.3982	36.0239	5043
+-88.8355	35.895	7826
+-82.7834	28.5204	8766
+-89.8109	38.3183	8652
+-89.1416	35.3263	7155
+-90.5707	38.5762	9149
+-93.0574	37.9681	6421
+-117.7584	48.6643	6488
+-118.4833	45.4454	8536
+-116.8013	34.2857	9004
+-112.1856	32.8724	7029
+-90.1694	40.8778	7119
+-87.8134	40.1321	6847
+-120.2307	45.4896	7099
+-119.2532	34.5778	7317
+-111.5083	28.4588	5857
+-124.1845	46.0244	7856
+-113.7554	45.9244	4461
+-117.8096	44.6731	7668
+-79.4298	28.3997	6751
+-120.6055	46.106	6801
+-79.7469	28.6254	7023
+-119.5889	30.8498	6097
+-116.8922	30.8361	7542
+-87.5299	39.6437	7197
+-92.3644	37.8985	7100
+-117.4067	46.7342	8115
+-121.9948	43.6535	5833
+-108.9678	33.4159	6997
+-122.4771	47.2237	9062
+-94.2938	37.8324	5095
+-92.3029	37.7035	7068
+-89.8507	35.5506	7147
+-117.03	47.5246	7251
+-85.1351	25.2351	5450
+-118.5053	35.7225	7340
+-109.7399	30.6541	8279
+-121.8262	44.6201	6771
+-91.938	36.9291	6844
+-120.4628	46.3126	6941
+-91.0762	37.0367	7432
+-88.0261	33.9254	5535
+-88.9049	38.5983	8757
+-88.0605	35.4541	7209
+-109.6275	31.1277	8563
+-112.9357	32.134	6592
+-83.4808	30.6891	6252
+-110.6979	30.6777	8416
+-91.989	40.8077	6611
+-118.7655	43.5842	6548
+-81.3021	25.5132	7175
+-82.1541	27.9656	9666
+-122.7299	49.2444	7097
+-118.2038	31.9214	8050
+-119.2096	44.9816	7723
+-79.619	26.1002	6480
+-117.5779	31.2376	7864
+-92.8174	37.6737	6556
+-120.6719	37.2758	4483
+-118.9226	45.7504	8489
+-92.3498	41.2528	5994
+-112.6033	30.3886	6694
+-91.423	37.5922	7747
+-118.4035	47.0199	8278
+-93.5085	41.2753	5094
+-124.8298	47.5787	7382
+-115.0438	33.387	7516
+-116.8341	34.7249	8738
+-85.9846	38.9827	6360
+-81.9172	26.5809	8529
+-117.4008	33.111	9168
+-88.5888	44.0184	3426
+-116.5695	33.9658	8756
+-120.0604	42.9253	5407
+-110.9915	31.321	8706
+-88.8257	37.6686	9749
+-90.3776	38.8817	9282
+-119.5875	32.0707	6713
+-87.2161	35.4909	6817
+-93.6749	39.5279	5779
+-108.3622	32.0127	7288
+-91.7535	39.1306	7892
+-116.5952	33.795	8718
+-119.1814	32.7498	7281
+-84.5437	39.9813	4409
+-119.0832	46.6135	8254
+-89.6448	36.7076	8356
+-108.2157	26.9491	3953
+-90.2981	37.2095	7761
+-88.2923	35.2844	7089
+-86.4482	40.8976	5351
+-76.3931	26.9106	3326
+-109.7591	30.8528	8467
+-118.6336	36.94	6132
+-116.8341	33.6205	8806
+-89.8002	36.8492	8336
+-116.2315	46.6186	7019
+-115.7264	47.0741	6363
+-111.5243	29.3822	6762
+-111.4796	34.0647	6512
+-80.2012	28.4785	7563
+-107.8203	31.5055	6750
+-87.9268	41.2658	5634
+-88.6646	35.8408	7763
+-88.3022	40.8232	6258
+-118.0715	33.2108	8444
+-83.8564	28.8753	7574
+-119.6514	44.7842	7250
+-91.154	38.5092	8554
+-91.5164	38.8034	8202
+-107.3711	30.4219	6026
+-110.1349	31.199	9005
+-114.7022	36.6725	5601
+-118.7437	44.3023	7295
+-88.6819	38.5732	8792
+-91.3303	38.8706	8395
+-114.3453	33.4917	6734
+-115.4342	46.5592	6204
+-121.5775	47.9448	7799
+-90.2368	39.0873	9028
+-122.5619	48.1723	8230
+-86.2855	37.6191	7029
+-87.9774	35.1834	6891
+-107.8027	31.2483	6708
+-117.3948	30.1073	6693
+-82.0325	28.3389	9235
+-111.2707	31.0648	8313
+-92.167	37.7252	7207
+-91.5452	37.0638	7217
+-124.839	49.8594	5780
+-87.4206	37.982	8263
+-126.6781	45.2032	5026
+-89.1284	38.2756	9019
+-92.0825	39.3986	7464
+-119.1299	45.9471	8349
+-106.3058	33.2005	4771
+-80.8998	31.303	5655
+-119.213	48.4186	6615
+-82.0466	28.4843	9075
+-109.6891	31.5562	8775
+-93.2377	39.892	6111
+-117.2242	44.5127	7240
+-84.8401	39.1854	5089
+-119.6577	37.493	5040
+-86.7334	39.682	6601
+-110.1472	34.8379	5942
+-120.6502	47.2296	7118
+-118.6265	47.1907	8050
+-85.5059	27.7929	6077
+-87.9668	38.1334	8775
+-80.4957	29.2649	7381
+-107.3522	29.7528	5683
+-81.1986	26.7507	8331
+-81.1605	26.612	8184
+-122.6462	44.9787	7404
+-90.577	39.9816	8081
+-121.601	35.0167	4713
+-121.105	44.1581	5944
+-91.1324	41.741	6101
+-92.6072	40.3417	6477
+-92.6437	44.1563	3108
+-109.2734	32.7171	7792
+-118.8704	46.8196	8277
+-82.6081	28.031	9278
+-116.0845	31.4179	7908
+-119.5271	32.3727	6854
+-93.1509	39.7235	6262
+-89.6806	38.4129	8584
+-119.3582	49.2426	5743
+-114.4854	32.5468	6969
+-114.2796	36.1058	5633
+-119.3882	33.5402	7135
+-82.264	28.2184	9360
+-89.0192	37.9632	9377
+-108.5981	31.1004	7522
+-118.8911	47.9308	7218
+-113.9847	35.0107	5832
+-117.86	35.4381	7974
+-118.0594	43.5355	6534
+-78.6055	25.3285	5041
+-113.0289	46.2046	3695
+-114.6075	34.2208	6636
+-91.7745	36.6621	6720
+-117.2018	34.5497	9078
+-118.2911	31.5566	7714
+-121.9569	46.3319	8357
+-84.3059	25.2851	6161
+-115.482	32.2379	7976
+-83.7883	27.2154	7919
+-89.5573	36.725	8435
+-121.8867	45.645	7777
+-116.4861	36.7693	6539
+-88.1614	36.7004	8536
+-86.3155	36.7277	6869
+-85.2168	38.7764	5640
+-90.087	39.593	8461
+-115.3299	34.9209	7257
+-116.6897	31.0704	7781
+-118.0622	35.3686	7935
+-108.1812	31.194	7104
+-118.4517	47.3207	7956
+-119.9625	35.0952	6416
+-91.5682	41.563	6134
+-110.6537	30.8986	8655
+-81.9678	30.4621	6837
+-114.8924	46.3921	5656
+-93.3751	38.0304	6108
+-115.8934	35.0598	7731
+-116.9363	31.682	8487
+-89.0376	40.3381	7181
+-119.2243	47.4626	7507
+-110.3548	32.6165	8354
+-89.076	37.2738	9254
+-89.5821	35.3713	7081
+-120.1394	47.7997	6595
+-118.4395	36.2837	6866
+-88.6246	33.3697	4990
+-115.8633	27.8205	4046
+-121.6407	46.1128	7935
+-120.3952	32.0075	5824
+-115.0582	34.8142	7017
+-88.4558	37.7572	9451
+-114.3462	34.7932	6272
+-122.8475	46.5944	9193
+-115.099	33.3145	7597
+-89.6827	36.514	8163
+-80.3108	25.6957	6771
+-85.3354	39.262	5567
+-111.3957	31.2657	8272
+-110.5439	31.2263	9024
+-117.702	48.7322	6406
+-88.5482	39.0026	8295
+-116.4036	36.645	6641
+-87.6745	40.5861	6315
+-119.9218	38.9362	3551
+-121.7429	47.8565	8002
+-88.8283	38.6893	8664
+-114.7448	33.1389	7249
+-89.506	41.0252	6796
+-120.2391	45.7601	7158
+-116.094	33.807	8210
+-87.4355	39.0005	7699
+-123.9944	45.1086	7237
+-118.2882	44.9363	8028
+-89.7626	37.9175	8662
+-81.0268	27.9502	8623
+-124.9548	47.4751	7281
+-108.1078	30.6617	6864
+-84.2857	36.6349	4654
+-117.7422	32.5937	8853
+-117.3124	46.8704	7948
+-80.1717	26.629	7327
+-83.9158	33.2046	3418
+-81.8511	30.34	6964
+-87.8898	40.902	5874
+-122.3222	48.9136	7375
+-87.4414	38.4745	8073
+-92.7975	38.0581	6717
+-120.6634	35.9652	5328
+-117.3777	35.5702	7966
+-81.6021	29.0539	8317
+-89.5275	36.2612	8022
+-118.8238	36.0181	6871
+-116.5158	32.4682	9117
+-91.817	34.1337	4576
+-120.9754	48.0925	7157
+-115.8923	45.7738	6705
+-80.9307	28.9029	8021
+-87.9985	37.2255	8821
+-83.0523	31.7724	5243
+-84.4666	37.3172	4972
+-117.3447	31.6954	8433
+-117.1785	30.4064	7054
+-117.7885	32.6192	8810
+-108.123	34.8291	5219
+-123.3195	44.5151	6874
+-118.7339	32.2564	7685
+-114.7555	35.7655	6271
+-116.6711	45.754	7514
+-115.3825	31.809	7659
+-120.8045	47.7679	7141
+-122.4968	48.996	7333
+-114.5709	33.0973	7062
+-88.7374	43.2304	4280
+-114.1351	33.3138	6546
+-113.2523	33.3527	5775
+-119.5359	45.9562	7925
+-92.4508	35.3838	5166
+-119.4115	42.6209	5387
+-123.9661	45.5323	7643
+-90.8417	39.8135	8176
+-116.3628	49.5162	5110
+-108.3765	30.3367	6960
+-116.7355	46.1381	7621
+-83.9802	28.1524	7758
+-81.4174	30.3025	6911
+-118.1286	46.4959	8810
+-119.8927	35.754	6172
+-123.6059	48.9638	7279
+-118.5875	36.2185	6845
+-120.2921	45.0882	6878
+-87.8803	37.8969	8787
+-112.865	32.9277	6368
+-80.2993	26.2225	7180
+-84.8263	25.3421	5793
+-88.6147	42.3505	5101
+-112.5213	34.4643	5554
+-91.009	35.0251	5926
+-113.0514	30.4484	6282
+-123.3913	45.7191	8133
+-123.2843	49.1209	7202
+-82.7967	28.1322	9036
+-125.0844	49.1489	6214
+-82.0269	26.7625	8750
+-125.9172	48.0598	6081
+-89.299	38.1606	8999
+-118.5026	30.0243	6198
+-116.7031	34.8835	8514
+-118.0506	35.0981	8182
+-88.4712	39.6004	7618
+-125.7651	48.5475	6011
+-89.7987	35.9248	7543
+-123.9726	49.6326	6449
+-119.0749	44.3583	7234
+-92.9347	41.0669	5710
+-118.21	32.636	8351
+-88.9506	38.0991	9287
+-91.0107	40.7524	7163
+-117.4286	35.6887	7832
+-123.695	48.5633	7647
+-80.8053	29.0817	7778
+-89.7477	38.5014	8689
+-117.7792	47.2856	7896
+-121.8253	43.3823	5495
+-80.9754	26.506	7956
+-108.9049	32.5713	7592
+-120.6271	48.1237	6804
+-89.5494	38.4897	8483
+-119.275	35.467	6908
+-92.1355	40.009	7099
+-87.7084	35.1894	6792
+-113.3893	28.5391	4800
+-117.4674	35.7931	7714
+-123.237	45.8055	8278
+-92.0617	37.298	7032
+-92.2629	38.0713	7270
+-119.3347	49.971	5012
+-108.6124	33.6479	6561
+-78.4881	27.7888	5768
+-116.5394	32.1649	8884
+-117.5705	32.612	9042
+-91.0888	37.1143	7504
+-115.6224	46.3912	6426
+-81.8087	29.3563	8057
+-83.3758	28.2849	8369
+-118.9874	36.8059	6071
+-93.8198	38.3646	5697
+-126.3219	49.6823	4807
+-110.5786	32.7983	8131
+-121.2455	43.819	5699
+-117.6598	29.647	6134
+-83.2736	26.7677	8177
+-119.5063	31.7227	6668
+-117.8824	33.6978	8715
+-115.7245	35.4094	7354
+-81.8315	31.1647	6033
+-126.0744	48.0864	5908
+-89.2534	38.8347	8203
+-82.8109	28.2974	8919
+-108.6722	29.3016	6416
+-125.0751	47.606	7115
+-83.4857	26.1236	7485
+-90.2418	41.7573	6179
+-91.8334	40.2842	7149
+-89.2645	40.6535	7045
+-116.1913	31.847	8368
+-114.9817	48.5178	4927
+-116.0869	33.3437	8609
+-108.2188	32.3863	7023
+-88.5706	41.7754	5623
+-82.7021	26.5482	8371
+-114.6365	29.5593	5286
+-118.1314	27.6536	3849
+-83.1231	26.7813	8312
+-119.3141	47.2611	7616
+-81.6357	27.1782	9021
+-117.4988	45.3506	8112
+-119.7955	35.0341	6609
+-115.2625	33.0457	7835
+-121.5619	45.385	7330
+-119.9459	34.7914	6528
+-113.6314	46.7198	4290
+-118.7681	34.5422	7840
+-109.4329	29.811	7320
+-121.8575	29.8264	3359
+-116.7132	33.8027	8835
+-90.1253	40.7436	7258
+-85.8769	27.1719	5604
+-89.8808	44.2167	3507
+-117.6217	44.9589	7864
+-89.7077	36.5075	8140
+-116.5897	46.8409	7303
+-120.0283	34.4884	6501
+-91.968	38.6278	7711
+-81.6066	26.8866	8732
+-114.8185	34.5366	6831
+-118.3101	44.8765	7964
+-116.2833	35.5729	7636
+-116.0875	26.9032	3085
+-121.7124	43.0029	5060
+-109.0093	35.9782	4500
+-85.8574	27.3151	5648
+-81.1309	26.0069	7601
+-123.1206	44.5605	6952
+-87.8147	37.3638	8694
+-87.2931	34.5707	5967
+-108.7647	33.1326	7085
+-88.035	39.4934	7606
+-112.0146	35.1087	5242
+-117.7355	30.0799	6582
+-114.5822	34.816	6516
+-88.6553	34.1998	5922
+-111.278	31.2611	8392
+-110.4093	32.3819	8604
+-122.7673	49.952	6323
+-118.9189	28.8135	4785
+-119.0673	29.0805	4972
+-92.1369	36.8899	6669
+-109.9642	27.7336	5283
+-88.3126	35.2161	7018
+-93.757	39.8883	5587
+-81.3126	27.824	8962
+-83.8739	29.3011	7267
+-118.0759	46.8314	8455
+-90.2414	41.7488	6188
+-87.7925	38.9862	7973
+-116.0317	32.1526	8474
+-89.4345	38.1211	8908
+-110.9703	31.512	8779
+-89.5909	39.4744	8267
+-88.0983	38.3675	8728
+-116.334	35.9327	7327
+-78.8774	31.3232	4437
+-110.4551	31.4358	9266
+-89.7443	40.9251	6981
+-122.2604	45.8589	8201
+-79.2469	30.1123	5685
+-85.4534	39.2523	5692
+-82.8526	28.3779	8825
+-82.3112	28.7983	8708
+-90.1524	37.9235	8499
+-116.3014	34.5858	8375
+-90.7255	36.7591	7247
+-117.0904	33.8778	9199
+-113.9265	33.8466	6173
+-110.3173	31.7552	9287
+-80.3356	26.3286	7288
+-81.2968	28.2841	8780
+-109.1907	29.9005	7270
+-80.4141	26.9302	7729
+-89.1775	37.5871	9345
+-119.6247	31.5582	6473
+-109.6043	31.0519	8496
+-118.4515	47.2109	8071
+-91.6746	38.214	7917
+-92.3932	38.2032	7179
+-89.6668	42.6565	5144
+-90.3378	39.5677	8542
+-122.3155	45.6498	8023
+-118.1565	32.1873	8251
+-89.9928	36.5921	7985
+-115.5951	32.6957	8217
+-113.0856	32.8839	6175
+-116.0094	44.6036	6378
+-118.7819	44.8658	7851
+-117.3126	34.0144	9399
+-125.6595	47.6166	6492
+-119.0001	49.8819	5184
+-90.7064	35.6728	6693
+-114.2578	31.3773	6331
+-114.4537	33.5064	6846
+-123.4986	48.7177	7573
+-123.1429	49.4401	6876
+-120.6171	36.5612	5024
+-91.4415	39.5639	7985
+-109.0124	31.4249	8032
+-124.6389	48.6822	6922
+-117.6613	34.4269	9001
+-117.8759	46.3517	8753
+-124.683	47.4275	7583
+-87.7621	42.4706	4519
+-85.3067	40.8232	4557
+-116.2515	34.4294	8384
+-81.7579	25.8868	7724
+-89.7203	36.7857	8358
+-89.6048	35.9855	7707
+-116.7111	48.9645	5800
+-85.3131	41.2809	4203
+-116.358	35.0242	8150
+-87.1134	38.2363	7852
+-88.6186	36.7685	8794
+-89.4694	36.6949	8469
+-115.62	34.4788	7703
+-82.2353	28.0472	9555
+-117.004	32.0178	8861
+-109.6198	32.3266	8357
+-116.7316	33.9075	8904
+-117.7355	32.9113	8889
+-89.4615	37.5992	9031
+-88.9563	38.6521	8688
+-117.7145	33.1922	8819
+-115.0816	47.7199	5460
+-119.4624	31.5641	6638
+-90.9263	40.0132	7942
+-91.5408	43.7414	3902
+-109.9445	33.4651	7392
+-109.5554	33.7218	7008
+-118.4098	36.1561	7003
+-118.0737	35.0537	8202
+-118.4526	48.8259	6368
+-90.4859	38.224	8847
+-86.6103	24.4205	3569
+-90.2381	35.5921	6961
+-88.8533	40.0087	7289
+-79.2141	28.2205	6550
+-114.3615	35.7993	5885
+-81.8817	29.8799	7485
+-89.1975	34.7656	6524
+-87.1403	36.8623	7779
+-108.7392	31.5159	7745
+-120.8825	36.0318	5083
+-121.8498	45.222	7369
+-120.5986	47.6548	6967
+-120.6262	46.9177	7108
+-117.1887	48.5211	6446
+-88.6321	38.8796	8444
+-116.585	31.1421	7837
+-122.012	48.9956	7173
+-116.6637	45.8461	7524
+-116.8977	25.8774	2012
+-118.9968	31.6566	7145
+-87.6558	38.6554	8145
+-86.3624	40.5586	5593
+-123.3171	43.316	5569
+-88.3723	41.6429	5627
+-82.7965	28.9379	8370
+-89.3329	35.1329	6901
+-87.634	38.3938	8304
+-117.3009	37.3067	6076
+-83.5491	29.6864	7194
+-120.8339	45.5017	6824
+-111.3821	31.6418	8335
+-83.1458	25.0041	6564
+-82.2312	31.3482	5839
+-92.948	39.2595	6606
+-117.8372	35.5802	7841
+-119.4252	47.6033	7261
+-115.2068	33.8404	7482
+-118.662	30.9216	6917
+-119.4621	46.9036	7750
+-115.9603	35.3237	7610
+-118.1504	37.5113	5729
+-89.2661	36.8612	8752
+-89.2281	37.6627	9297
+-115.0169	36.7071	5809
+-119.2804	45.5108	8034
+-111.1038	32.9979	7728
+-123.6545	46.0237	8279
+-116.5072	48.6304	5986
+-119.3743	43.664	6434
+-85.4988	39.504	5607
+-117.1004	43.5464	6280
+-91.5359	37.5331	7618
+-121.813	46.197	8143
+-113.594	31.5067	5940
+-119.7912	45.9782	7658
+-118.8399	30.9126	6774
+-109.4537	32.515	8085
+-117.1965	46.7788	7903
+-109.3381	31.3183	8358
+-119.9543	33.379	6493
+-119.2279	36.8689	5866
+-82.5792	27.4709	9287
+-81.2192	25.9392	7581
+-116.2983	27.6095	3897
+-87.4002	34.5626	6009
+-115.5992	28.8396	5062
+-91.8717	37.6068	7402
+-120.5682	47.9409	6830
+-118.4244	43.9996	7031
+-123.4763	44.3193	6630
+-118.3584	29.4274	5666
+-115.5849	32.5629	8186
+-87.717	37.1682	8511
+-93.6271	38.1355	5866
+-82.6569	24.9697	6673
+-117.0594	34.2045	9299
+-122.1107	44.5398	6803
+-117.7719	43.5936	6551
+-87.2301	42.0956	4469
+-88.5252	39.3112	7949
+-78.8058	28.424	6055
+-117.65	45.4402	8292
+-118.8073	32.7848	7699
+-123.1093	46.7536	9278
+-118.2469	42.7719	5736
+-116.0876	29.6752	6114
+-118.8572	36.1511	6735
+-115.603	33.009	8217
+-89.6419	36.9501	8546
+-91.8747	39.9804	7340
+-86.5862	35.4854	6354
+-109.9036	30.4895	8200
+-90.8831	33.1608	4228
+-106.6769	32.4599	5400
+-117.9989	45.4008	8461
+-124.4754	46.1368	7650
+-114.8345	30.4725	6218
+-90.7103	38.8131	9065
+-119.8572	44.7616	7072
+-116.6392	46.7145	7402
+-123.9796	45.3683	7487
+-82.6424	36.6556	2848
+-93.4477	40.5653	5585
+-115.9233	32.6335	8571
+-118.7582	32.626	7743
+-81.252	27.2188	8718
+-116.2964	36.7454	6498
+-81.3836	31.0311	6103
+-90.1942	36.6588	7854
+-108.3995	31.7376	7372
+-120.1206	48.272	6248
+-115.9684	31.8266	8185
+-123.9768	48.7453	7322
+-88.8835	41.0717	6445
+-91.4424	38.8113	8281
+-90.8839	38.9706	8835
+-122.3562	47.0914	8993
+-117.4752	43.6682	6547
+-90.4783	39.299	8824
+-122.4594	46.5885	8968
+-94.2602	37.226	4934
+-109.733	30.4501	8084
+-85.8925	36.742	6426
+-123.8122	49.7776	6359
+-110.2066	32.9947	7938
+-118.3878	33.5973	8182
+-109.7422	28.9091	6506
+-117.4726	33.30	8972
+-79.8222	28.0491	7258
+-86.9812	39.1599	7202
+-117.118	35.2031	8360
+-88.3987	37.1732	9125
+-84.6699	39.2395	4889
+-116.3033	44.9516	6836
+-118.7332	36.2254	6751
+-123.3356	49.3905	6900
+-90.4521	36.9173	7448
+-122.838	49.1202	7239
+-108.6244	31.5542	7622
+-87.2061	38.6626	7737
+-119.3764	35.444	6828
+-123.5442	45.1731	7513
+-91.3414	36.511	6799
+-84.0272	26.7519	7462
+-121.7224	46.5373	8229
+-90.7684	42.6168	5236
+-110.6597	31.7466	9078
+-82.321	24.2015	5853
+-90.4621	37.7293	8321
+-117.6406	45.5909	8392
+-120.8339	33.789	5629
+-90.7536	39.57	8455
+-117.4037	32.0791	8797
+-85.8143	40.6794	5080
+-114.5678	35.3198	6322
+-116.3721	31.5562	8198
+-88.5101	35.2769	7118
+-84.2051	26.5476	7173
+-79.526	25.1056	5678
+-115.3425	37.3077	5489
+-118.313	46.2685	9079
+-88.3324	39.4786	7723
+-118.4251	45.6657	8777
+-89.5255	40.0779	7720
+-115.8683	36.7381	6313
+-87.2222	35.3885	6726
+-82.2844	27.4533	9499
+-114.3534	32.2954	6781
+-88.1892	40.1911	6907
+-83.8378	28.7289	7678
+-109.7641	32.9493	7870
+-88.9491	35.548	7429
+-112.1786	27.7795	4893
+-116.149	36.9477	6235
+-113.1348	32.8219	6155
+-92.054	37.5531	7209
+-92.8686	36.966	6127
+-124.287	46.0746	7794
+-87.8766	35.7904	7485
+-121.7337	48.4857	7502
+-108.5111	27.6564	4783
+-117.5155	45.3002	8086
+-93.1919	37.8646	6250
+-89.5244	35.2193	6940
+-88.5249	39.7959	7126
+-86.7697	40.1004	6281
+-114.5576	35.046	6420
+-110.2086	32.6165	8346
+-111.9877	31.0994	7606
+-110.9982	28.7907	6363
+-84.2382	25.2538	6184
+-112.7623	31.445	6838
+-91.5822	35.7031	5895
+-93.7722	37.7641	5620
+-119.8795	42.9735	5543
+-88.989	38.7398	8584
+-82.3063	29.1558	8309
+-123.6699	48.70	7522
+-110.9173	33.1726	7639
+-90.3042	40.0113	8062
+-82.7836	29.0033	8312
+-84.3857	26.7143	7080
+-117.9326	34.5157	8700
+-110.0655	30.7431	8518
+-78.0909	28.1508	5298
+-90.8261	35.5909	6533
+-109.1819	31.589	8226
+-113.272	32.2531	6208
+-112.0837	29.6879	6678
+-84.2858	26.4324	7027
+-120.575	42.5787	4811
+-121.6042	48.479	7418
+-86.5487	37.0215	7222
+-93.3023	37.5018	6003
+-84.1716	27.9464	7577
+-90.1528	36.2125	7560
+-120.3701	31.3261	5608
+-84.3091	24.3817	5340
+-116.2631	32.5459	8912
+-126.9109	43.7503	3958
+-119.3191	32.767	7128
+-90.8954	38.2936	8685
+-119.8118	42.9842	5585
+-91.5699	38.9356	8130
+-91.3397	40.5182	7258
+-89.5575	35.5692	7300
+-118.0379	46.1407	8997
+-123.0453	46.3529	8913
+-83.8243	28.6303	7744
+-93.0057	35.5434	4960
+-83.8276	27.7013	7974
+-115.7425	46.6743	6502
+-126.689	49.1866	4782
+-124.4153	47.1788	7925
+-115.4676	31.7016	7669
+-123.3041	46.7691	9112
+-116.98	46.0579	7880
+-86.7147	39.9127	6400
+-83.8141	27.9822	7975
+-115.1264	43.8275	5141
+-81.5578	25.8396	7617
+-83.0001	29.3309	7869
+-119.7751	33.7991	6777
+-92.2153	39.2115	7388
+-92.6518	38.4485	6958
+-124.0312	46.6138	8304
+-118.4488	32.9475	8093
+-91.8522	38.5621	7828
+-86.2372	34.803	5527
+-114.3654	34.5845	6335
+-91.2573	39.5248	8165
+-82.1315	27.492	9582
+-121.6394	45.5263	7503
+-115.7342	36.6276	6345
+-115.0349	34.6837	7031
+-117.2564	35.8305	7686
+-88.2364	33.043	4592
+-90.4413	39.244	8888
+-119.4584	45.7597	7965
+-86.1227	36.115	6374
+-81.5848	25.7714	7551
+-88.0657	39.6421	7462
+-124.67	48.5569	6992
+-119.7931	47.6332	6982
+-112.5428	31.7245	7075
+-116.5543	44.6259	6854
+-114.0697	31.8137	6334
+-116.8582	30.1142	6736
+-113.0095	33.6221	5828
+-114.8271	45.7032	5576
+-125.0262	47.8354	7083
+-80.039	27.1522	7423
+-115.9794	34.0928	8133
+-119.4994	45.9968	7968
+-117.7862	43.056	5994
+-125.4699	48.5076	6314
+-109.6705	31.2014	8645
+-83.0915	30.3705	6753
+-86.974	38.5177	7587
+-112.7901	28.2281	4968
+-90.0968	39.2507	8803
+-82.1251	32.4936	4545
+-93.2269	43.2636	3674
+-112.9253	33.7315	5826
+-124.9695	44.245	5850
+-119.725	44.3225	6837
+-92.325	39.752	7069
+-117.7625	48.0827	7089
+-82.0618	30.7855	6476
+-117.9162	32.5824	8662
+-88.5059	35.7631	7659
+-118.5717	35.6204	7380
+-91.6045	38.743	8108
+-124.6216	48.3916	7151
+-122.2992	47.0513	8940
+-118.1918	31.8271	7996
+-119.1772	35.9117	6691
+-120.4804	41.0881	3465
+-92.3889	39.3909	7155
+-87.7755	38.8832	8053
+-83.376	25.205	6671
+-115.7246	34.4719	7816
+-90.166	38.2235	8810
+-110.6832	32.1354	8765
+-124.5074	47.9328	7546
+-110.0619	34.761	6018
+-87.6593	37.0914	8415
+-113.9984	33.1539	6421
+-121.2247	48.4787	7127
+-118.4988	32.0485	7841
+-118.0326	33.3244	8323
+-83.273	28.9244	8054
+-81.3719	26.5432	8262
+-113.3299	33.5392	5596
+-113.3474	30.1705	5867
+-117.8553	48.1573	7035
+-115.6701	29.3847	5661
+-109.3535	29.3535	6835
+-87.5264	38.128	8329
+-116.924	47.1245	7458
+-121.0835	45.8931	7288
+-120.4641	43.6957	5823
+-89.4015	37.989	9016
+-115.6443	32.0168	8029
+-112.9015	27.3703	4128
+-118.1891	33.5566	8351
+-116.383	34.4962	8496
+-90.517	41.9866	5933
+-121.118	48.9234	6698
+-122.061	46.6123	8606
+-117.242	31.156	7875
+-116.6329	32.159	8930
+-79.8104	27.3755	7227
+-87.6364	37.6154	8545
+-88.1898	36.2661	8116
+-88.1374	37.9822	9025
+-120.8423	43.074	5063
+-82.5286	28.5095	8940
+-80.2995	24.2868	5442
+-120.4767	45.2261	6760
+-91.8985	38.7638	7791
+-87.0753	36.1475	7264
+-113.0524	29.9905	6059
+-121.3384	46.2317	7710
+-125.0638	46.5085	7176
+-117.3835	32.8939	9280
+-88.1063	37.7068	9073
+-87.5472	26.9039	3690
+-119.0887	33.2017	7306
+-89.5834	36.3392	8066
+-93.9232	38.56	5603
+-89.7705	36.7313	8275
+-92.4647	37.3961	6748
+-122.424	44.6408	6998
+-117.4986	31.9751	8642
+-87.246	38.3339	7951
+-85.8701	42.4536	3534
+-91.0203	37.61	8017
+-82.1442	27.4038	9482
+-106.6793	31.612	5514
+-91.6037	38.9916	8083
+-117.7456	31.0259	7575
+-109.8912	29.9057	7594
+-122.5284	49.0976	7230
+-119.4123	49.0774	5888
+-88.6572	40.6656	6645
+-118.7819	34.0144	7880
+-119.4489	30.7457	6147
+-86.0355	37.1822	6702
+-118.1641	34.7219	8367
+-119.8797	43.0079	5575
+-113.755	30.8597	5684
+-87.311	24.8616	3176
+-83.8448	29.2286	7346
+-120.0879	47.217	7013
+-113.1923	32.5165	6215
+-121.1267	46.3501	7544
+-115.6877	34.1279	7816
+-122.1497	46.4239	8589
+-80.6287	26.2104	7443
+-80.9951	24.1658	5620
+-117.1857	44.35	7073
+-116.2304	44.5158	6514
+-125.7048	46.8166	6520
+-118.8492	47.1155	8029
+-109.4526	33.8651	6824
+-87.9289	37.5564	8867
+-111.688	33.4081	7011
+-111.7558	29.0731	6347
+-83.8951	29.386	7185
+-87.6688	36.2046	7763
+-119.0286	46.9106	8094
+-109.8023	32.0069	8738
+-119.2018	34.6848	7343
+-86.1494	24.9589	4349
+-118.4305	34.0195	8262
+-85.6231	36.803	6156
+-90.65	38.2194	8784
+-121.4609	46.5339	7955
+-116.0746	35.9023	7211
+-81.1449	27.4304	8711
+-115.27	44.8507	5806
+-86.2801	39.8205	6122
+-88.081	40.5121	6299
+-120.9603	49.3454	6234
+-121.8058	44.6894	6831
+-86.9466	37.5449	7768
+-109.6079	30.0164	7603
+-123.6357	48.6185	7619
+-119.5007	43.3097	6036
+-124.95	46.9912	7354
+-109.5648	29.1082	6666
+-89.7646	39.5631	8323
+-119.1156	42.2045	5042
+-107.9456	34.8796	5064
+-119.1181	30.8579	6507
+-117.5295	33.5441	8834
+-120.1926	35.8258	5851
+-83.2089	28.9862	8053
+-122.5534	47.8168	8597
+-90.2151	37.545	8113
+-90.9601	35.1445	6064
+-89.434	37.2748	8947
+-89.4546	39.3265	8246
+-118.272	32.2211	8152
+-92.6897	37.9802	6804
+-123.59	45.5004	7826
+-81.4242	28.7881	8486
+-119.4898	31.1346	6370
+-124.3263	46.0456	7741
+-108.9816	30.825	7794
+-116.6788	30.8403	7525
+-81.5451	27.9013	9210
+-119.4786	42.6499	5394
+-83.8759	29.2387	7312
+-112.5001	31.9455	7093
+-120.7917	32.1135	5415
+-113.1126	31.0571	6409
+-89.1861	37.7379	9337
+-88.4973	33.6492	5296
+-120.1557	32.8333	6082
+-115.4055	36.4115	6329
+-83.9916	26.8502	7548
+-113.6724	29.4854	5201
+-80.8003	28.4011	8222
+-110.8288	30.5287	8211
+-116.5253	33.5361	8811
+-88.5624	37.8411	9513
+-89.675	41.082	6797
+-111.0908	32.3583	8299
+-126.0219	47.729	6076
+-120.9189	38.7422	3123
+-93.8779	38.7598	5658
+-124.4224	47.5704	7807
+-90.644	37.1325	7658
+-81.4935	30.4071	6819
+-109.0952	31.0736	8023
+-109.451	28.1396	5622
+-113.6297	44.7464	4128
+-117.8557	48.6646	6507
+-121.5302	48.1587	7611
+-115.6639	33.0836	8270
+-111.731	33.9647	6482
+-116.2449	34.4569	8369
+-120.0977	46.4865	7296
+-115.6349	31.7486	7849
+-122.0539	47.9636	8170
+-88.2502	36.1714	8040
+-116.8296	35.4291	8046
+-83.2723	29.346	7689
+-110.5283	29.5891	7303
+-122.6809	34.2273	3631
+-117.8094	44.2871	7276
+-84.8372	36.2491	5126
+-85.0351	38.9095	5400
+-118.0031	37.0093	6299
+-116.979	46.3111	7861
+-94.4044	39.6939	4972
+-117.5631	31.6803	8321
+-86.6426	37.3163	7399
+-116.6011	45.7384	7438
+-120.7824	34.2547	5700
+-90.1419	36.1469	7515
+-117.4058	31.6971	8411
+-117.0884	34.2631	9297
+-123.401	47.0026	9054
+-122.1102	46.5725	8636
+-124.3407	44.5908	6554
+-84.093	37.187	4541
+-91.5023	38.9005	8207
+-119.3097	32.8292	7139
+-88.0243	35.3519	7087
+-120.6106	45.8368	6780
+-119.2198	49.4022	5625
+-89.4554	38.3365	8736
+-120.4127	46.3657	6988
+-122.313	48.0881	8215
+-123.2417	44.0202	6347
+-116.5579	44.2747	6600
+-109.887	33.155	7703
+-89.0727	40.9294	6683
+-116.7801	30.4966	7157
+-109.3403	28.8302	6303
+-116.5069	38.7515	4433
+-120.7811	37.5058	4225
+-90.0555	37.42	8342
+-122.2448	47.4367	8720
+-107.6858	33.635	5845
+-118.1681	45.4583	8570
+-90.3099	37.7186	8310
+-90.9695	41.9682	5899
+-108.7877	28.9667	6181
+-85.5375	28.68	5905
+-82.4138	29.2144	8224
+-91.7719	42.2329	5383
+-112.337	31.2907	7280
+-80.0257	28.1206	7475
+-110.6992	29.3103	6979
+-115.3143	34.496	7372
+-107.3143	33.489	5605
+-112.3052	35.2654	4948
+-115.633	31.4185	7598
+-118.4206	35.7918	7334
+-111.8037	34.4491	5984
+-116.6701	35.1239	8277
+-91.2421	39.6451	8087
+-118.4251	36.3086	6849
+-122.6974	43.257	5525
+-115.1921	49.676	4254
+-115.4598	32.9828	8062
+-82.9848	24.5589	6138
+-121.9899	43.9426	6137
+-82.1931	30.5296	6766
+-119.7233	32.6072	6669
+-88.0713	37.8566	9006
+-94.9577	39.005	4486
+-108.9697	29.1445	6446
+-117.1715	35.5152	8027
+-125.3457	47.3757	6882
+-121.2628	45.0726	6856
+-109.6878	27.8689	5389
+-88.6312	37.5061	9580
+-80.9948	26.371	7855
+-80.8277	29.3485	7572
+-109.0681	31.2318	8051
+-119.3874	31.4195	6635
+-117.1912	44.7732	7441
+-117.4884	28.4977	4901
+-88.8792	35.6391	7536
+-118.8125	33.4269	7684
+-113.1512	46.077	3825
+-114.0696	33.4132	6454
+-114.1537	33.6765	6472
+-117.4175	33.578	8910
+-124.7924	48.7017	6785
+-111.4535	31.1121	8157
+-111.4107	32.5457	7908
+-94.7897	40.0587	4470
+-121.908	48.3539	7732
+-91.3512	37.7389	7916
+-113.5391	32.1774	5941
+-115.4578	30.5891	6752
+-117.0318	41.3555	4064
+-116.794	33.2114	9272
+-86.9066	30.2525	3804
+-109.9767	33.8268	7012
+-124.7983	49.1764	6406
+-116.9908	32.0664	8916
+-78.5925	26.423	5608
+-123.8758	41.6009	3615
+-86.5225	39.2694	6719
+-124.0209	47.6289	8176
+-89.6579	39.8221	8029
+-116.0947	29.9518	6413
+-119.3023	32.7643	7147
+-120.3505	31.6237	5751
+-110.5162	30.2677	8034
+-89.5402	39.151	8418
+-80.3623	27.8491	7887
+-87.3162	35.9442	7288
+-116.5013	34.4557	8632
+-80.6028	26.4743	7626
+-91.183	39.2307	8419
+-118.1767	46.2987	9022
+-92.1462	38.261	7452
+-122.0351	44.5204	6756
+-120.1862	33.8272	6336
+-86.8665	36.8727	7504
+-118.2079	46.3493	8985
+-92.8079	36.4411	5816
+-117.1442	34.4311	9187
+-116.7997	30.5599	7229
+-88.2248	37.2928	9077
+-118.6876	45.0027	8022
+-120.8709	35.1943	5439
+-84.1444	26.7854	7361
+-118.7043	45.6609	8616
+-120.0884	45.9873	7345
+-84.1695	26.6129	7245
+-119.9738	47.2244	7110
+-80.8359	24.3089	5714
+-82.6621	26.4298	8266
+-87.7034	40.2582	6670
+-116.7841	45.2197	7419
+-77.8375	28.6183	4938
+-114.0333	33.653	6351
+-124.1666	42.884	4910
+-119.1279	32.6343	7334
+-80.7968	25.907	7302
+-114.8181	30.6753	6369
+-118.3674	36.1419	7039
+-113.7485	32.5914	6155
+-113.5214	49.1641	3263
+-117.8155	43.5752	6541
+-118.0214	46.927	8342
+-118.0946	33.6669	8501
+-89.1735	40.811	6848
+-117.0295	33.5341	8835
+-122.7701	48.3978	8027
+-109.4488	32.5905	8021
+-87.2902	38.5316	7894
+-81.1108	28.5144	8459
+-109.3644	32.7588	7823
+-84.5724	26.8252	6935
+-116.8493	32.7548	9605
+-117.4889	34.5536	9019
+-88.8998	38.5175	8848
+-85.7905	39.4988	5892
+-92.9608	34.1162	3709
+-85.4389	36.5016	5858
+-111.9674	34.652	5707
+-86.4859	43.0227	3191
+-81.3609	27.4732	8958
+-116.2332	32.7367	8930
+-111.823	30.4919	7473
+-91.2605	40.924	6898
+-109.154	32.1667	8048
+-123.635	48.1589	8067
+-87.0732	35.9614	7118
+-116.8276	33.0097	9487
+-89.5495	38.3817	8442
+-86.2455	40.0904	5889
+-81.3068	29.8884	7316
+-109.2402	30.2131	7575
+-121.1786	35.5073	5015
+-86.7014	42.6186	3668
+-109.533	31.9276	8530
+-117.3665	36.4011	7062
+-120.8731	34.4174	5592
+-87.727	36.0486	7657
+-118.248	34.6395	8333
+-85.7334	38.2961	6338
+-118.4366	44.7283	7799
+-107.1929	32.5364	5918
+-116.5094	48.5446	6062
+-111.4726	34.441	6140
+-116.8448	31.3683	8132
+-123.1127	47.7494	8715
+-92.4391	38.6676	7207
+-115.407	34.9519	7322
+-95.7725	40.7668	3222
+-122.3112	43.6418	5897
+-115.586	36.309	6539
+-88.6959	40.5879	6735
+-111.024	29.3762	6968
+-87.922	40.6321	6353
+-118.2692	32.1539	8123
+-118.9274	45.93	8555
+-90.5831	39.4414	8649
+-88.9578	36.2023	8158
+-81.6661	29.4925	7870
+-119.0589	32.0012	7248
+-116.5702	44.2245	6570
+-89.6857	37.3967	8740
+-118.7649	45.0449	8032
+-118.5013	34.2006	8189
+-114.1345	27.5438	3464
+-117.3055	32.6299	9321
+-109.7692	33.3963	7416
+-90.7648	33.7244	4855
+-88.9445	39.2095	7796
+-91.3352	39.0245	8357
+-91.7534	39.2776	7842
+-87.8422	36.5529	8191
+-114.9566	32.7937	7511
+-118.0346	44.0603	7084
+-116.5591	34.5422	8646
+-118.1432	46.9927	8304
+-124.118	46.7124	8239
+-108.5421	28.7115	5806
+-90.1441	36.9895	8092
+-121.8754	46.8412	8472
+-109.0496	33.0442	7367
+-82.2234	29.1047	8375
+-110.8414	29.8646	7532
+-114.4925	47.823	4851
+-113.9685	33.5605	6307
+-92.1134	39.5502	7370
+-120.1236	47.4956	6814
+-90.0582	37.2828	8303
+-89.012	40.9183	6659
+-118.8963	35.2181	7402
+-87.9485	40.3209	6697
+-110.544	31.5043	9230
+-83.5877	30.2175	6668
+-113.4714	30.3162	5807
+-89.0848	40.3124	7235
+-82.8722	27.6313	9043
+-88.8139	35.5052	7389
+-117.9845	31.5059	7902
+-86.4031	36.5101	6862
+-113.9159	32.7912	6350
+-109.3764	32.5171	8025
+-118.7429	34.8822	7732
+-116.7343	32.0109	8818
+-116.0234	29.521	5929
+-88.4694	41.517	5798
+-121.8861	46.9329	8492
+-118.4547	35.359	7676
+-82.2459	28.081	9515
+-88.5513	35.2458	7088
+-116.134	32.8315	8824
+-124.4163	44.9843	6864
+-79.7532	26.8955	7025
+-123.4479	44.7068	7052
+-120.981	46.3836	7403
+-110.3423	31.485	9367
+-115.3662	36.4793	6245
+-84.5207	27.5094	7176
+-82.8009	25.6603	7393
+-91.315	42.6959	5054
+-86.7873	37.7787	7590
+-117.2381	36.0606	7435
+-118.5907	44.8056	7852
+-109.5769	30.455	8002
+-91.821	41.1999	6363
+-106.0774	28.7506	3934
+-118.9453	33.3047	7496
+-108.4139	31.0546	7317
+-91.2077	40.4785	7360
+-117.9701	35.0936	8239
+-94.3193	35.6832	4046
+-114.9976	36.9016	5633
+-114.321	34.1763	6324
+-89.7451	39.3784	8459
+-108.3354	29.4553	6311
+-116.6004	29.7361	6293
+-122.7708	46.2392	8795
+-82.6379	25.452	7212
+-122.6887	44.9148	7340
+-87.961	35.1276	6826
+-110.1158	31.0558	8855
+-125.3252	45.3163	6383
+-113.4356	29.2633	5276
+-111.1767	31.1682	8455
+-119.5963	47.1398	7487
+-120.923	46.5333	7383
+-116.3007	37.8515	5347
+-114.8981	30.4519	6249
+-119.1581	43.5704	6426
+-116.7157	35.0723	8350
+-86.2669	29.0052	5010
+-90.426	35.8562	7059
+-124.8745	46.7977	7429
+-81.3901	26.6816	8405
+-123.5371	44.0186	6293
+-90.5041	37.233	7784
+-114.5859	30.918	6356
+-116.1522	30.1539	6647
+-90.8874	38.7851	8880
+-126.3833	46.8327	5776
+-81.4244	25.9558	7692
+-125.1774	48.8185	6381
+-91.0647	37.3803	7775
+-117.6327	48.0431	7090
+-116.7046	48.3911	6314
+-122.4434	47.7453	8614
+-110.5769	33.2915	7604
+-109.8848	30.3471	8049
+-110.1561	31.8741	9105
+-122.2396	30.0945	3134
+-92.0398	41.3843	6070
+-123.2104	46.0715	8565
+-115.5788	32.536	8174
+-116.7789	34.9431	8507
+-122.5286	35.5796	3585
+-109.5288	32.3966	8234
+-114.5916	30.9129	6358
+-116.2049	44.8507	6692
+-114.5838	34.4941	6585
+-90.7158	37.688	8225
+-114.6483	45.8375	5401
+-118.7262	43.5567	6526
+-114.9498	36.1645	6177
+-114.0477	33.0299	6488
+-87.1584	40.0229	6612
+-116.4206	31.6872	8354
+-115.2848	35.8615	6670
+-80.3516	26.6906	7538
+-123.8813	47.6324	8303
+-83.3211	27.3247	8459
+-93.2237	42.8226	4073
+-122.7976	48.7164	7681
+-126.7537	46.8188	5369
+-116.234	44.0088	6160
+-89.0442	38.8411	8460
+-83.8966	29.3383	7220
+-115.593	38.6446	4289
+-88.7549	37.3986	9515
+-118.4576	36.8675	6285
+-116.4763	46.8172	7202
+-85.778	40.4878	5201
+-82.4589	27.0694	9022
+-126.2669	41.4134	2472
+-113.1045	32.3787	6350
+-118.3099	45.754	8893
+-85.8975	38.4849	6466
+-89.5306	38.2467	8738
+-93.4505	39.0633	6101
+-111.2301	32.5414	8052
+-120.60	43.3198	5428
+-119.4111	34.358	7186
+-83.2551	27.2013	8471
+-117.3094	35.7026	7825
+-121.4326	45.6205	7418
+-82.943	30.8417	6295
+-111.2417	33.1252	7535
+-83.0747	26.6247	8218
+-82.588	24.7021	6387
+-124.2498	45.3028	7252
+-105.5493	32.236	4242
+-81.6721	26.6904	8568
+-90.4896	39.3312	8788
+-85.1735	26.1089	5975
+-80.9241	28.265	8413
+-118.7759	34.8933	7695
+-111.0566	30.6786	8219
+-113.2525	33.4064	5745
+-116.5473	32.6471	9248
+-113.6943	32.8811	6102
+-118.9564	43.7095	6630
+-119.5471	45.1622	7594
+-87.0261	40.8304	5761
+-84.4742	29.3629	6687
+-89.9444	38.9331	8912
+-117.4742	35.6301	7890
+-116.7696	33.3507	9118
+-107.4873	31.8355	6378
+-89.9393	35.1522	6701
+-124.8214	45.2532	6778
+-117.30	30.6153	7269
+-110.5555	31.6483	9223
+-82.6451	25.3009	7043
+-117.352	31.1534	7849
+-108.7702	31.4921	7777
+-119.0284	46.0724	8471
+-85.7963	38.9628	6177
+-120.6306	45.4933	6693
+-109.0204	29.3733	6688
+-111.4327	32.6792	7792
+-117.134	35.5421	7994
+-89.8404	37.9351	8369
+-86.7555	36.7298	7325
+-118.7206	48.2657	6921
+-118.7973	31.1131	6964
+-122.7558	44.4855	6876
+-90.0936	41.9817	5927
+-116.6475	32.2985	9074
+-119.4083	46.4458	8014
+-89.2091	33.3137	4904
+-118.7781	45.6571	8557
+-117.5598	46.7796	8209
+-119.1727	47.2237	7743
+-81.4097	28.2014	8937
+-127.7877	45.3817	3961
+-124.6781	44.4532	6224
+-117.3139	34.2031	9446
+-123.4833	44.6902	7024
+-116.4428	35.2335	8039
+-123.1575	48.0967	8333
+-117.5228	48.1596	6935
+-108.5652	33.2812	6818
+-91.3378	38.7312	8395
+-87.6272	40.9087	5957
+-114.8283	32.4229	7328
+-119.2158	35.0526	7187
+-115.2753	45.8046	6060
+-88.8048	38.3707	9023
+-84.0837	28.7584	7417
+-92.8484	38.3979	6740
+-120.9734	45.8959	7185
+-126.0764	46.1983	6016
+-91.6094	41.5836	6097
+-89.7392	37.9535	8677
+-83.7504	30.6829	6120
+-83.9609	27.8196	7824
+-117.8585	33.5607	8640
+-89.7825	39.0693	8691
+-89.8813	38.1396	8573
+-117.0778	31.9628	8792
+-87.413	31.0874	2836
+-118.5059	47.2863	7982
+-106.3111	27.1321	2974
+-87.4484	38.7804	7877
+-118.5058	47.4081	7855
+-115.7851	36.2789	6694
+-81.5499	25.8585	7635
+-119.4695	44.5899	7227
+-115.6982	46.6116	6470
+-118.6888	34.6086	7902
+-90.3076	36.4167	7588
+-114.9584	32.1536	7394
+-88.941	40.2132	7210
+-121.7575	43.4595	5554
+-93.6535	37.6144	5693
+-117.3584	46.3723	8239
+-117.4272	32.1508	8850
+-89.1841	38.1207	9122
+-120.4672	42.5495	4846
+-111.4764	32.941	7551
+-121.4936	44.0602	6059
+-117.046	31.1053	7842
+-107.5117	33.7966	5588
+-87.9798	42.2182	4876
+-116.1069	31.9298	8375
+-88.6072	41.7466	5670
+-111.5145	30.591	7802
+-113.7337	46.6697	4404
+-117.2251	32.2228	9030
+-115.7695	34.6324	7816
+-89.9978	34.925	6442
+-120.1233	31.5365	5953
+-116.325	38.7012	4450
+-80.878	30.2619	6732
+-108.114	30.3874	6742
+-122.5337	44.6286	7006
+-124.4805	44.6009	6480
+-87.9657	38.6678	8375
+-117.8916	30.5489	7021
+-83.0076	28.2149	8781
+-89.9797	36.0278	7527
+-114.6163	46.8162	5304
+-81.5639	26.6732	8498
+-93.0771	35.5653	4928
+-121.4802	34.4407	4929
+-123.5378	48.2554	8026
+-116.8707	44.1717	6729
+-116.4568	46.3973	7301
+-116.1309	47.1547	6722
+-115.489	35.527	7074
+-120.7074	46.5843	7161
+-121.9807	48.2264	7893
+-87.9005	36.2456	7948
+-84.8563	26.6439	6560
+-119.5285	44.8293	7376
+-89.4879	38.5756	8441
+-117.7433	32.7453	8883
+-93.4925	37.8047	5922
+-77.917	28.991	4925
+-117.4201	46.1508	8345
+-122.1623	43.784	6017
+-117.858	38.9658	4227
+-119.2247	42.1361	4946
+-87.7916	40.1126	6859
+-119.4006	48.4786	6477
+-82.1012	28.0832	9532
+-109.0336	32.9083	7463
+-117.1971	32.72	9474
+-117.6421	34.5894	8893
+-116.5495	30.7084	7356
+-119.6525	46.0901	7810
+-89.3738	37.9248	9074
+-123.0502	44.6754	7084
+-89.7976	36.5194	8084
+-81.6859	30.9378	6269
+-116.8614	34.1225	9096
+-117.4828	45.8484	8372
+-82.122	29.3512	8100
+-89.1757	38.4653	8807
+-83.0973	29.10	8031
+-126.2566	43.1238	4001
+-116.4346	34.3706	8594
+-121.3339	48.2655	7371
+-84.4454	27.9061	7272
+-113.3471	30.5585	6025
+-122.944	41.1598	3227
+-117.3013	33.384	9018
+-116.9555	34.1073	9197
+-122.9167	48.6206	7789
+-109.5607	29.2841	6846
+-89.2382	40.4463	7218
+-92.7532	38.3316	6830
+-118.5122	35.2164	7737
+-90.7546	40.2853	7722
+-124.7433	44.322	6065
+-116.0863	35.2929	7733
+-91.3765	36.738	7006
+-83.7169	28.0645	8069
+-120.5813	47.4315	7008
+-91.1615	35.2295	5980
+-82.4855	31.4671	5687
+-90.432	39.6471	8456
+-121.748	47.6354	8143
+-107.4595	32.5897	6174
+-91.2486	41.065	6760
+-83.6305	27.3336	8129
+-92.0642	35.7649	5732
+-121.8254	46.1575	8128
+-119.2883	43.9131	6712
+-119.0315	47.701	7389
+-117.0214	43.9858	6653
+-86.4867	39.0959	6794
+-120.9285	48.9603	6526
+-114.2176	34.0317	6400
+-120.1517	48.6112	5946
+-110.8736	27.3332	4832
+-87.3752	39.2961	7409
+-83.7849	29.9021	6838
+-110.1076	33.0684	7846
+-91.9032	41.6073	5936
+-81.2547	29.1001	8086
+-88.1424	36.1992	8026
+-115.7377	47.2447	6304
+-81.2237	29.736	7438
+-116.8202	34.5537	8869
+-87.6995	34.2048	5749
+-90.7368	39.3723	8653
+-117.8144	32.4847	8737
+-81.909	28.2579	9281
+-80.6896	28.6986	7948
+-125.3632	44.0218	5388
+-82.665	28.0262	9223
+-122.576	43.8833	6200
+-116.8482	45.7037	7684
+-118.4011	46.0926	9136
+-116.0523	32.9198	8727
+-88.6015	37.9668	9430
+-123.6483	45.4091	7708
+-118.7458	32.6845	7763
+-85.2229	38.8924	5606
+-109.0393	28.5537	5904
+-111.0685	32.8143	7920
+-90.5956	37.5348	8095
+-114.4722	28.6479	4334
+-83.4463	28.1575	8343
+-90.1858	40.2068	7840
+-108.6026	32.138	7504
+-124.6373	44.8973	6638
+-111.6662	34.7038	5797
+-110.8362	30.093	7769
+-114.5985	37.0081	5260
+-124.0382	47.0308	8354
+-116.2772	46.2152	7132
+-120.2389	45.7034	7147
+-120.6113	44.662	6363
+-91.6741	39.0538	7995
+-89.6541	38.457	8577
+-122.5673	48.5291	7851
+-81.1571	28.2747	8647
+-84.8357	40.5418	4348
+-108.8344	33.5688	6778
+-86.3439	35.3041	6017
+-81.6926	27.5019	9311
+-111.0641	29.3224	6899
+-88.4864	35.9662	7881
+-87.1312	36.8758	7776
+-118.8104	46.3258	8653
+-115.7629	32.4744	8357
+-118.897	46.7769	8293
+-108.888	30.1037	7233
+-124.2034	46.1314	7905
+-88.5611	37.9303	9439
+-91.3402	36.2035	6492
+-115.4956	33.1263	8076
+-90.3005	35.8196	7121
+-110.6395	34.3927	6412
+-115.561	33.3002	8095
+-117.5816	47.7909	7322
+-109.4514	31.5698	8518
+-121.1807	49.4471	6290
+-81.3828	29.9543	7276
+-119.4393	34.4284	7146
+-90.3526	40.2702	7785
+-109.5158	30.2423	7772
+-117.7467	49.6668	5441
+-92.0956	39.7014	7313
+-115.4584	34.3216	7555
+-84.6389	27.7462	7058
+-119.7289	34.9687	6702
+-116.4894	46.0431	7360
+-120.929	44.2421	5837
+-115.8113	33.1767	8403
+-86.1038	24.0135	3711
+-89.6125	40.5418	7322
+-110.5766	32.5947	8346
+-89.4158	39.2154	8267
+-113.8749	34.0405	6044
+-80.8372	31.2769	5659
+-91.5848	38.8701	8123
+-88.4679	38.4155	8909
+-116.8314	30.9393	7653
+-91.2307	39.9486	7842
+-118.9225	42.0035	4869
+-112.6099	35.5018	4563
+-118.0555	33.5133	8443
+-116.3774	45.3562	7094
+-123.8154	43.6459	5822
+-124.5668	46.1867	7584
+-92.6511	36.4779	5964
+-92.0631	38.9239	7604
+-91.2097	38.1186	8303
+-119.2657	29.869	5583
+-116.6149	35.5549	7832
+-118.254	34.9956	8108
+-81.294	29.1021	8108
+-117.9881	46.0916	8948
+-83.8193	28.9992	7530
+-123.5726	44.6924	7001
+-89.2789	39.3325	8079
+-120.9211	30.8766	4840
+-91.7287	40.0214	7429
+-117.7993	43.2627	6212
+-114.2135	35.2394	5996
+-90.0293	39.3674	8657
+-113.8785	31.6303	6063
+-91.742	39.6947	7641
+-82.8534	24.7836	6421
+-95.764	43.1707	1919
+-109.4665	32.8096	7846
+-87.2437	38.1477	8022
+-111.5448	32.4359	7869
+-88.9128	40.5242	6941
+-80.6848	25.9425	7257
+-107.8839	29.4034	5921
+-117.0123	34.2411	9237
+-121.181	45.6324	7216
+-119.3761	34.0558	7235
+-119.4584	33.4789	7043
+-121.6984	46.3553	8125
+-83.0268	26.7656	8374
+-84.6644	27.4824	7011
+-91.2611	37.9318	8131
+-118.4854	49.2603	5907
+-115.3865	34.449	7458
+-92.3632	38.5407	7278
+-119.3077	34.8502	7178
+-123.1672	48.2241	8194
+-119.4227	37.3315	5330
+-122.9551	47.6956	8803
+-118.2659	30.9902	7253
+-118.8941	31.1527	6913
+-119.6307	48.2904	6537
+-109.2903	30.1325	7538
+-108.5331	34.3729	5876
+-83.3225	31.1751	5808
+-117.7361	35.6489	7807
+-115.5766	37.7829	5151
+-115.4999	33.0346	8099
+-119.1881	43.6496	6494
+-86.9762	37.6847	7805
+-124.2504	43.4875	5506
+-88.7162	37.0463	9117
+-81.5141	26.9506	8734
+-115.6857	43.0944	5053
+-120.7268	46.1061	7038
+-79.7501	29.4259	6607
+-120.11	46.315	7313
+-78.5475	27.4879	5823
+-126.6236	45.7234	5293
+-114.8989	34.7005	6882
+-111.0732	32.7407	7985
+-120.2808	39.9988	2461
+-123.7064	49.695	6481
+-89.5486	39.1456	8429
+-107.0951	31.9388	5944
+-91.6348	37.6692	7642
+-115.6458	32.0096	8026
+-88.7156	44.0383	3448
+-122.3191	46.4041	8718
+-89.0731	38.7873	8510
+-110.7877	31.1271	8776
+-89.3774	36.7798	8607
+-90.8947	36.217	6925
+-76.5508	28.8917	3450
+-119.3146	43.6205	6416
+-92.1278	37.3986	7046
+-93.8128	36.6285	5078
+-120.4654	44.1854	6186
+-90.093	34.4409	5901
+-111.2824	30.208	7663
+-83.9823	27.7035	7799
+-88.1725	37.6653	9148
+-117.841	35.4932	7928
+-83.3733	30.3027	6699
+-114.5779	31.3892	6649
+-122.3883	49.3009	6981
+-117.9793	32.0067	8306
+-127.6221	44.3069	3652
+-119.1399	37.0741	5734
+-89.80	39.0988	8692
+-91.8231	36.6501	6680
+-81.4756	29.0879	8223
+-81.5846	27.5518	9226
+-117.7586	32.5166	8808
+-120.6407	31.516	5406
+-122.9111	46.5338	9131
+-86.1521	38.8058	6613
+-89.47	36.7123	8485
+-82.7767	27.3475	9024
+-118.9484	43.4317	6348
+-115.0052	33.3734	7479
+-81.4103	29.1375	8139
+-118.1984	37.6269	5594
+-79.2911	25.1064	5488
+-115.1725	31.5623	7311
+-113.1944	30.7507	6245
+-117.3231	35.8339	7682
+-116.7289	45.2805	7400
+-118.1567	43.2821	6273
+-88.1788	33.8366	5466
+-109.4096	29.5474	7051
+-90.5066	38.1919	8808
+-87.8577	36.0959	7779
+-88.9314	39.5527	7636
+-114.4293	34.8775	6338
+-106.8154	31.8722	5649
+-91.9741	35.3781	5406
+-90.969	40.0332	7904
+-88.5683	36.0487	7986
+-113.3151	31.8681	6228
+-113.2156	30.0706	5947
+-119.0118	34.4437	7604
+-106.9725	29.8156	5359
+-119.6457	36.5869	5810
+-117.7704	46.9153	8240
+-91.7235	37.4454	7408
+-88.4832	38.9721	8315
+-111.3589	31.5241	8361
+-118.7009	30.6826	6686
+-116.6398	45.4961	7406
+-124.0976	45.483	7511
+-124.5131	48.4889	7169
+-125.6091	45.4249	6182
+-85.1061	30.8018	5086
+-121.0576	47.2563	7557
+-90.3065	34.7841	6147
+-91.5885	36.8183	6970
+-117.6824	43.5345	6470
+-118.4754	34.5977	8125
+-117.3292	33.0979	9241
+-121.4554	44.4999	6466
+-115.9692	35.0339	7815
+-89.7395	39.0766	8646
+-125.6154	46.9759	6623
+-88.1157	38.2552	8830
+-118.7085	46.2248	8791
+-81.8606	30.3595	6943
+-121.8409	46.2344	8192
+-116.3742	33.4654	8773
+-87.4579	39.5265	7262
+-114.3647	30.9088	6154
+-118.7272	34.3837	7921
+-82.8003	27.3378	8995
+-117.3993	47.3234	7662
+-88.8035	39.5704	7506
+-90.045	38.6316	9038
+-81.2806	25.7624	7428
+-89.8689	39.1965	8690
+-86.4707	40.6314	5605
+-111.3937	33.9537	6660
+-116.0247	28.9307	5293
+-110.5403	33.214	7693
+-89.3305	39.0028	8257
+-89.1741	39.388	7951
+-89.4434	39.4602	8155
+-115.826	29.4602	5799
+-108.5586	31.1145	7485
+-89.7891	37.9854	8381
+-117.6004	33.6345	8883
+-88.3506	38.6869	8578
+-93.5255	34.9322	4095
+-87.7566	36.0501	7676
+-109.4737	29.0975	6624
+-88.815	36.5658	8579
+-108.7495	33.07	7120
+-90.2454	38.6354	9231
+-116.2392	33.8091	8363
+-112.2103	48.2631	2433
+-93.3366	40.2892	5835
+-125.4983	46.5213	6710
+-82.0135	30.6472	6631
+-109.6569	28.6654	6228
+-110.903	31.8102	8809
+-119.8953	30.8451	5815
+-119.8255	47.534	7030
+-83.199	29.7883	7307
+-116.3911	46.4101	7230
+-115.5593	31.8232	7831
+-83.7222	26.7282	7745
+-116.3781	33.6257	8637
+-79.1795	30.968	4964
+-117.0779	34.9858	8585
+-113.4607	31.8875	6069
+-122.4599	48.5764	7773
+-83.6489	27.885	8173
+-114.722	34.8138	6665
+-117.8539	35.3524	8062
+-115.9636	34.8743	7903
+-89.6269	40.622	7248
+-88.8819	38.233	9166
+-120.7301	46.0124	7002
+-116.2138	48.6756	5761
+-120.6117	28.3591	3330
+-119.3465	35.207	6985
+-116.4041	32.3513	8939
+-118.9765	44.0207	6939
+-88.6368	41.4037	6000
+-119.994	35.652	6133
+-111.6082	31.7918	8074
+-118.3753	43.9163	6946
+-90.9119	40.7851	7158
+-86.9358	36.1542	7150
+-111.0267	36.9849	3573
+-124.8804	46.5731	7388
+-83.524	28.5688	8076
+-115.7617	36.2823	6676
+-107.2765	36.896	2833
+-121.6092	48.0287	7770
+-85.981	27.7654	5539
+-119.9697	45.5971	7397
+-109.0686	30.4178	7610
+-82.6667	26.0351	7843
+-90.19	34.8514	6275
+-82.7883	28.4741	8802
+-86.1146	36.1277	6374
+-89.20	40.5234	7126
+-121.6308	43.6052	5659
+-87.646	39.5377	7366
+-118.1145	44.294	7339
+-106.881	29.5724	5145
+-89.2629	38.9103	8204
+-112.3978	28.9796	5873
+-117.6773	46.6954	8361
+-109.2798	30.6283	7933
+-118.6722	44.2507	7259
+-96.0051	40.8893	2941
+-80.3043	30.483	6188
+-111.3924	29.1973	6645
+-109.3092	31.8008	8339
+-110.3798	30.6708	8484
+-88.9222	40.4418	7015
+-121.8352	45.0162	7165
+-120.0337	47.0731	7140
+-116.1951	35.196	7892
+-94.495	41.1542	4291
+-80.7232	27.7472	8297
+-117.1759	48.6134	6352
+-119.9467	30.9853	5851
+-87.8429	39.2407	7766
+-117.927	45.9335	8844
+-125.795	45.7028	6136
+-114.4481	32.2308	6869
+-80.1032	27.1388	7488
+-116.8892	30.2767	6919
+-118.5138	47.244	8025
+-115.0206	37.7193	4922
+-87.9464	34.9118	6589
+-116.1739	33.3986	8656
+-124.7192	48.2432	7165
+-118.3052	31.1947	7407
+-90.3066	39.6935	8404
+-85.9164	29.62	5126
+-112.4921	33.3095	6479
+-116.3668	34.3454	8529
+-118.64	35.0763	7721
+-90.4011	39.7073	8392
+-89.1836	39.0862	8081
+-121.3723	44.8799	6765
+-119.8604	34.5201	6677
+-115.7663	32.5957	8392
+-116.7704	35.8203	7620
+-88.1935	38.8869	8301
+-85.0758	26.1764	6108
+-110.5496	31.4676	9208
+-118.7014	34.8094	7808
+-85.9711	37.162	6626
+-112.0955	34.4408	5836
+-118.3191	49.4959	5664
+-115.7328	35.9859	6914
+-115.0112	33.4913	7446
+-110.8599	33.8746	6926
+-91.7494	36.2147	6320
+-87.157	36.9289	7828
+-115.1493	32.5077	7697
+-121.5698	48.068	7709
+-123.0946	44.5885	6985
+-86.6703	39.2339	6877
+-81.7359	29.5842	7788
+-121.0675	45.5692	7074
+-88.6657	40.0159	7125
+-106.395	30.4137	5022
+-122.8024	47.0639	9455
+-92.8695	38.0868	6651
+-109.8835	31.3103	8903
+-91.0159	37.2508	7671
+-81.0387	26.0255	7566
+-110.7534	29.6525	7333
+-121.974	49.6281	6510
+-116.14	35.5834	7535
+-118.6717	32.7124	7847
+-119.2956	42.6141	5416
+-115.0973	32.7839	7667
+-124.9464	49.0971	6361
+-111.0404	32.9965	7761
+-90.1976	40.6109	7409
+-110.3491	33.1005	7830
+-83.82	28.2262	7915
+-122.1563	46.2306	8457
+-113.0775	32.4694	6349
+-109.5679	33.885	6845
+-82.646	29.0712	8307
+-116.4395	35.2495	8022
+-109.3599	31.89	8368
+-117.4418	47.2348	7764
+-113.7826	34.7707	5674
+-121.1544	45.379	7014
+-87.7348	39.1783	7760
+-81.987	32.7026	4306
+-111.4289	33.7773	6817
+-88.9142	44.1763	3365
+-117.9127	29.4157	5815
+-82.4781	27.0515	8994
+-119.0357	46.016	8459
+-86.8664	43.2541	3265
+-113.6911	36.3397	4955
+-119.3661	28.6089	4350
+-88.7832	37.1198	9202
+-115.8143	33.3186	8351
+-118.5348	46.3504	8885
+-91.5402	41.6206	6089
+-117.0566	47.4003	7367
+-87.1754	39.8619	6771
+-114.7024	32.5714	7213
+-120.4148	48.923	6131
+-88.2905	40.4666	6507
+-88.37	40.1117	6805
+-115.7272	33.2562	8286
+-118.7227	48.9185	6239
+-110.2425	30.162	7931
+-118.2161	32.9341	8353
+-119.2206	32.1941	7145
+-89.5475	40.6141	7222
+-112.7534	31.1059	6801
+-88.3508	38.8413	8416
+-83.8785	30.1561	6545
+-114.158	36.4151	5332
+-116.4669	45.0173	7021
+-124.5832	44.9706	6738
+-89.7695	36.9587	8437
+-121.4633	47.5325	7910
+-91.8027	40.6913	6832
+-125.7943	45.7656	6164
+-88.2579	34.2995	5993
+-81.9382	27.2469	9264
+-111.4385	30.8664	8046
+-93.5293	42.0929	4477
+-86.0413	24.6772	4256
+-124.9548	45.3263	6718
+-119.2387	31.1079	6582
+-119.1672	33.2095	7233
+-81.3603	27.2428	8836
+-118.5426	32.5317	7967
+-111.1477	32.5886	8072
+-91.5555	38.6344	8155
+-117.2976	46.4165	8164
+-122.4215	48.8531	7468
+-112.0666	30.4997	7259
+-118.4511	46.7186	8582
+-118.7725	31.3867	7184
+-115.5636	33.0406	8168
+-123.215	46.4451	8937
+-115.2299	34.22	7314
+-88.97	39.9822	7403
+-115.8348	30.8831	7254
+-94.051	38.0866	5407
+-89.4243	36.9287	8706
+-79.6943	28.3103	7065
+-117.0348	30.5547	7229
+-117.3877	32.9244	9268
+-83.578	29.2689	7535
+-83.1817	27.9776	8683
+-117.158	31.164	7897
+-123.0646	33.3604	3157
+-85.3148	39.9224	5186
+-90.3159	35.8944	7173
+-117.8269	33.3933	8525
+-87.2219	35.7769	7076
+-88.5751	36.719	8731
+-88.8755	35.2039	7049
+-119.3042	36.6669	5991
+-124.0131	44.6979	6830
+-115.835	33.5842	8228
+-81.7869	26.5018	8409
+-89.6471	39.1162	8538
+-85.9115	36.256	6241
+-113.5344	28.9617	4991
+-87.9424	36.1322	7861
+-117.3705	34.2084	9398
+-87.4895	39.3789	7417
+-91.2965	37.3278	7603
+-114.6092	34.2609	6636
+-116.0043	35.408	7581
+-115.9598	44.2427	6110
+-118.3161	34.5442	8308
+-113.5055	30.8501	5946
+-116.3299	31.4654	8087
+-118.5522	34.5818	8053
+-125.5858	46.4515	6602
+-110.0852	33.8539	6999
+-88.1544	38.7117	8455
+-112.2725	31.5058	7371
+-88.6408	39.3494	7920
+-90.0496	38.8179	9057
+-117.2321	46.6427	8008
+-117.8977	47.2076	8018
+-113.1146	31.4364	6456
+-111.7822	31.9274	7860
+-89.8523	38.0443	8472
+-115.3642	45.4835	6101
+-91.129	35.3488	6100
+-118.4966	49.4485	5707
+-95.161	39.2781	4243
+-90.1984	35.7673	7146
+-116.6561	44.2344	6639
+-119.0847	32.2561	7309
+-121.8918	44.9055	7085
+-120.945	44.6796	6301
+-89.4709	40.6914	7112
+-88.3415	37.4257	9267
+-117.8938	45.2288	8250
+-110.3619	30.6486	8460
+-121.9324	48.7745	7353
+-116.5496	36.2313	7119
+-112.1411	34.4267	5823
+-83.9604	26.9166	7613
+-108.4091	31.2377	7355
+-110.9772	32.2962	8433
+-115.7812	31.8164	8023
+-118.726	32.3568	7725
+-88.6823	37.612	9703
+-122.3753	49.7353	6510
+-82.6202	26.29	8133
+-92.2732	36.5967	6336
+-118.6587	46.9157	8310
+-109.6421	31.3974	8698
+-86.6331	37.5536	7417
+-120.4993	32.901	5764
+-109.8375	33.0988	7746
+-116.5967	47.424	6990
+-92.5261	36.4681	6050
+-120.1337	49.361	5587
+-82.9121	25.3362	7005
+-118.5227	47.1173	8154
+-115.1737	33.7762	7485
+-88.3215	37.6702	9315
+-89.6871	34.2807	5877
+-88.8007	39.6431	7466
+-89.6475	39.0693	8560
+-93.0325	36.3948	5604
+-84.7112	27.0103	6853
+-112.2406	31.0745	7335
+-89.4651	35.7509	7527
+-88.2225	36.8563	8720
+-122.5932	48.713	7658
+-89.06	39.1476	7935
+-79.7598	31.4324	4952
+-120.1942	45.3885	7101
+-113.083	35.6888	4669
+-108.7279	31.6209	7734
+-79.7913	24.1149	4984
+-88.5905	42.5806	4866
+-88.2843	39.0828	8135
+-117.3096	31.454	8186
+-89.7493	35.8914	7538
+-116.6803	44.1326	6573
+-121.2237	49.4439	6320
+-86.0844	37.8567	6797
+-88.1279	36.3489	8172
+-88.5955	39.8309	7173
+-86.5433	29.0615	4693
+-119.8422	33.6735	6684
+-114.0483	32.8295	6498
+-85.3139	37.3612	5924
+-115.8511	30.5941	6979
+-82.9366	28.1898	8865
+-120.3464	43.56	5795
+-88.9498	37.54	9566
+-113.0294	33.5441	5862
+-111.4081	27.716	5125
+-120.0853	34.5763	6425
+-82.1421	28.3986	9177
+-118.2728	35.4379	7741
+-118.7147	49.7742	5343
+-92.1476	38.8772	7518
+-90.5019	40.6964	7323
+-120.3206	44.886	6749
+-114.7747	32.8024	7308
+-118.1022	33.301	8251
+-91.0361	40.32	7592
+-116.3935	33.1564	9010
+-118.6755	32.0261	7653
+-118.80	32.7781	7707
+-111.2633	33.1601	7490
+-89.2667	36.1852	8061
+-119.72	33.4572	6762
+-110.4628	32.1316	8863
+-86.6939	26.7324	4602
+-117.728	33.1585	8822
+-91.3388	36.9633	7241
+-88.6165	37.2102	9276
+-115.809	35.0693	7648
+-91.6984	37.7072	7615
+-88.296	38.9692	8260
+-87.8924	36.8227	8452
+-116.9407	41.9216	4612
+-81.2036	28.1404	8759
+-89.1071	41.9084	5753
+-85.0827	28.7288	6383
+-90.3766	40.405	7641
+-116.3542	33.4007	8809
+-117.3738	30.8086	7468
+-124.5934	44.2385	6079
+-91.8769	37.2931	7175
+-119.3206	33.2016	7078
+-120.8061	44.4523	6069
+-113.7304	35.8319	5259
+-116.1091	45.9029	6948
+-117.711	32.905	8917
+-124.336	45.9611	7680
+-125.6171	44.5128	5584
+-89.3253	40.4355	7279
+-91.4034	38.1831	8167
+-123.8603	47.2352	8511
+-89.48	39.0167	8409
+-117.0363	29.6799	6253
+-92.1006	40.6316	6679
+-122.63	46.307	8823
+-91.1362	35.0158	5825
+-79.1301	27.9928	6485
+-113.2628	31.8974	6281
+-88.4238	39.8566	7326
+-82.6564	27.6225	9279
+-117.6816	34.9837	8506
+-122.8917	43.4236	5714
+-109.1436	33.4377	7086
+-92.4335	37.14	6615
+-122.2718	49.9731	6232
+-107.4387	33.9721	5407
+-88.3987	37.3181	9247
+-120.3207	46.9323	6930
+-110.2844	31.5511	9410
+-116.6071	32.1919	8949
+-88.5331	38.9442	8357
+-89.7738	36.0493	7677
+-122.3956	49.6376	6620
+-81.2254	30.7425	6372
+-114.5265	30.7133	6160
+-92.882	37.7121	6508
+-117.9334	32.6288	8654
+-89.2719	34.3474	6047
+-118.5913	30.1287	6250
+-83.8825	26.7692	7614
+-89.9909	39.6223	8393
+-122.4428	46.2937	8712
+-83.2032	26.1439	7693
+-119.4847	32.4501	6915
+-112.5098	31.3687	7104
+-119.2395	32.5947	7206
+-123.4876	46.5906	8840
+-88.4388	37.4677	9385
+-122.1668	46.067	8331
+-111.1757	31.192	8467
+-91.368	38.3435	8276
+-115.5323	30.2138	6438
+-121.2336	43.9092	5781
+-80.786	27.9992	8346
+-116.2755	44.4762	6526
+-116.536	43.5808	6014
+-118.6822	31.8665	7565
+-90.3286	34.9945	6341
+-122.4987	44.0057	6323
+-86.653	28.0913	4766
+-119.9711	34.8267	6492
+-125.5112	47.2573	6720
+-85.2227	34.5386	4510
+-83.2423	27.3059	8534
+-115.8355	44.1416	5940
+-115.3012	34.5582	7344
+-89.3331	39.7352	7872
+-80.9423	30.0782	6950
+-111.0462	34.8763	5823
+-111.1284	30.1249	7674
+-117.8767	45.9922	8815
+-93.3325	40.7552	5580
+-110.1117	29.834	7563
+-81.1233	26.1199	7707
+-121.0767	44.2774	6037
+-116.7943	30.6885	7371
+-118.1336	33.7803	8517
+-117.0276	32.4244	9310
+-83.4755	27.2759	8276
+-116.4362	32.9369	9146
+-85.0237	29.8961	5831
+-118.2528	33.7671	8390
+-120.3791	44.5126	6476
+-89.7513	39.3843	8459
+-108.218	31.3828	7171
+-116.3266	30.8082	7402
+-117.3314	33.8189	9188
+-85.3119	28.4874	6205
+-108.6017	31.3343	7578
+-116.897	34.639	8855
+-125.1578	45.8614	6844
+-90.4108	41.2404	6740
+-89.3056	38.1612	8993
+-115.1956	31.9413	7549
+-90.6065	39.1155	8963
+-117.7192	46.2673	8637
+-117.0946	30.9913	7712
+-83.3713	26.2674	7693
+-90.9276	35.8354	6636
+-122.1358	48.6575	7568
+-116.3229	47.0133	6970
+-119.5471	46.5417	7843
+-122.4967	31.6602	3451
+-119.9106	45.5866	7453
+-114.5273	32.8992	7031
+-79.9065	26.6244	7061
+-125.3919	43.9441	5303
+-117.2448	34.4864	9152
+-86.9919	38.8815	7400
+-85.6634	27.4753	5885
+-118.6266	47.819	7404
+-114.8291	28.7795	4658
+-87.3481	39.2158	7457
+-113.8803	45.8761	4591
+-117.6815	47.3402	7801
+-91.7577	36.1207	6227
+-117.0059	36.5162	6923
+-109.6927	33.0939	7696
+-88.054	39.8973	7186
+-92.1403	42.9714	4496
+-118.0757	33.8047	8585
+-88.7027	41.4452	6001
+-119.3893	43.6062	6371
+-89.1595	39.0103	8076
+-121.1377	45.6967	7220
+-119.058	34.2202	7581
+-117.6444	34.1015	9124
+-115.0596	36.3183	6150
+-89.8071	39.222	8622
+-91.4609	35.5208	5755
+-87.3477	33.4557	4828
+-111.1208	33.3624	7366
+-83.0564	36.0609	3157
+-110.6415	33.0092	7893
+-117.0742	45.6619	7899
+-116.8503	46.5363	7674
+-118.3842	28.9452	5154
+-117.4577	33.9719	9265
+-90.0746	39.3547	8693
+-88.9736	41.2749	6307
+-109.38	29.096	6588
+-117.6664	48.1548	6988
+-86.3651	33.2984	4220
+-124.1394	45.3594	7376
+-113.8499	33.9704	6046
+-121.703	42.9091	4959
+-83.5083	30.0848	6843
+-87.7513	42.2666	4690
+-118.4337	43.9382	6965
+-90.4596	36.5494	7539
+-111.3872	29.6395	7078
+-88.3609	37.5356	9337
+-117.5906	43.9393	6857
+-88.6859	39.3894	7878
+-81.6778	26.3228	8180
+-91.4219	38.0432	8070
+-90.1299	37.1969	8197
+-120.3904	49.3717	5787
+-88.2485	38.2411	8946
+-90.0143	38.8507	9012
+-90.1636	37.2178	8168
+-80.6122	26.7971	7852
+-119.1693	48.355	6695
+-119.2298	33.3883	7247
+-118.3084	45.9321	9081
+-84.2319	28.6019	7337
+-115.4041	30.8736	6972
+-90.0485	37.5393	8070
+-117.3809	34.7703	8832
+-114.364	34.1237	6372
+-116.7453	32.4585	9283
+-121.716	47.2634	8265
+-120.0173	44.2462	6572
+-115.9269	32.9059	8589
+-113.7174	34.0813	5864
+-111.0701	28.8833	6441
+-121.8815	45.0198	7192
+-82.2668	24.3776	6055
+-115.5059	31.0308	7179
+-114.7979	31.6549	7009
+-111.9858	31.6001	7683
+-120.9205	45.0314	6565
+-83.2594	35.8075	3291
+-118.9656	31.503	7085
+-110.7592	33.831	6995
+-111.0412	33.9674	6779
+-82.3358	30.5317	6756
+-116.8676	34.5109	8939
+-114.7617	36.8539	5504
+-115.9308	30.9961	7417
+-118.5759	32.7909	7958
+-111.377	29.2641	6718
+-93.2836	39.8443	6083
+-117.6119	33.8268	9034
+-83.0915	25.1296	6718
+-89.2208	39.5332	7914
+-120.3867	32.417	5912
+-122.149	43.6234	5842
+-89.5621	39.6324	8125
+-89.0643	37.5619	9461
+-88.0747	32.4343	3891
+-115.0256	34.0202	7090
+-119.3762	45.0895	7684
+-93.017	41.5366	5292
+-91.1674	35.5242	6204
+-83.4108	28.9964	7886
+-125.0569	29.5514	22
+-113.9502	32.1955	6318
+-117.6173	34.8417	8676
+-88.4517	41.5202	5784
+-116.2102	31.4774	8037
+-115.4881	32.7983	8104
+-119.2989	46.2852	8167
+-103.7932	31.2373	2378
+-122.4546	43.4314	5692
+-81.3754	24.8324	6464
+-113.0096	28.8273	5311
+-116.6824	31.4255	8169
+-112.1318	33.2618	6808
+-118.6645	48.5703	6613
+-89.9734	38.8701	8964
+-120.1476	47.1883	6974
+-110.7924	29.4814	7143
+-88.4844	39.0015	8283
+-112.4286	32.605	6948
+-112.0915	31.7637	7559
+-117.5341	48.6229	6473
+-85.3199	28.7484	6120
+-88.456	38.2086	9113
+-121.7027	44.0282	6120
+-116.9122	35.2818	8227
+-89.8963	39.1688	8732
+-117.6125	30.0153	6546
+-83.7422	27.8389	8070
+-120.6312	31.9357	5549
+-116.8407	34.9747	8509
+-122.9699	47.3322	9197
+-115.6123	31.5664	7697
+-122.2706	47.662	8576
+-115.7194	34.0274	7846
+-119.1847	31.6252	6944
+-79.3895	26.9551	6655
+-119.3224	32.2732	7056
+-90.6936	40.0052	8031
+-80.0636	27.3483	7504
+-85.3685	36.5949	5816
+-116.8437	30.8583	7564
+-92.642	35.8347	5449
+-93.0748	42.4857	4462
+-82.2674	30.4731	6827
+-88.5779	36.6731	8681
+-120.8646	47.6665	7242
+-109.7978	31.826	8837
+-119.6778	35.0454	6726
+-116.5478	34.9421	8358
+-113.9165	29.9907	5225
+-115.4408	29.9572	6138
+-109.4423	32.0155	8401
+-113.6447	32.3511	6011
+-114.9218	34.9086	6844
+-83.5742	29.054	7706
+-112.7293	34.5515	5341
+-123.0677	45.6522	8150
+-85.7976	37.9429	6468
+-83.1991	26.6939	8182
+-115.9919	32.6433	8649
+-117.2267	46.0151	8138
+-122.372	47.4899	8789
+-83.7964	26.8938	7768
+-109.1309	27.8854	5261
+-84.573	36.7017	4985
+-88.8141	38.8939	8436
+-116.2394	35.731	7466
+-116.4734	34.3292	8647
+-118.9434	33.1975	7443
+-126.6951	45.0282	4924
+-125.7696	46.4566	6404
+-114.806	32.853	7343
+-117.0986	48.3287	6587
+-77.774	29.3168	4658
+-118.9188	47.5306	7603
+-115.5343	29.934	6163
+-85.3439	26.9061	6132
+-82.1017	26.3994	8345
+-109.9592	29.9238	7630
+-88.9582	41.8187	5778
+-108.5338	29.7065	6656
+-90.6921	38.2792	8817
+-87.8248	39.7593	7238
+-112.8723	34.9759	4882
+-121.6576	48.026	7812
+-115.2839	32.4434	7830
+-116.8791	31.5027	8284
+-91.8257	33.9659	4426
+-111.9598	30.4848	7347
+-109.1413	31.6784	8178
+-80.7479	27.7199	8324
+-123.174	32.5924	2878
+-117.7292	33.1359	8831
+-86.8198	36.658	7354
+-116.2233	31.6966	8253
+-86.1892	38.2032	6860
+-117.8629	33.6022	8667
+-88.0346	37.095	8773
+-123.6585	45.9292	8194
+-116.372	32.8006	9089
+-122.1129	46.18	8384
+-91.6415	39.0965	8018
+-87.8656	40.7737	5943
+-118.2908	35.5111	7665
+-117.0243	49.6406	5281
+-118.1656	35.48	7772
+-112.6873	34.358	5531
+-84.4392	26.715	7025
+-91.9763	37.769	7408
+-118.6653	48.0827	7122
+-117.4012	44.7504	7553
+-119.1815	33.7914	7416
+-118.318	47.7601	7502
+-109.5814	35.2532	5415
+-91.2368	36.5394	6870
+-93.589	38.9309	5964
+-87.7001	38.0525	8542
+-112.193	34.3452	5866
+-85.0505	26.4952	6292
+-83.4734	25.8056	7205
+-87.6285	38.5394	8205
+-113.3448	28.8265	5050
+-122.2898	35.232	3929
+-117.1083	36.1387	7343
+-124.6599	44.8906	6616
+-111.3491	32.5733	7937
+-83.0824	31.1623	5904
+-116.7345	30.4573	7109
+-88.7119	39.8729	7254
+-111.311	32.683	7879
+-118.7097	33.5299	7832
+-116.2611	33.4626	8686
+-121.2733	45.7382	7367
+-120.6562	42.3124	4527
+-116.5495	34.2417	8747
+-117.1613	27.7433	4090
+-84.8074	27.9007	6863
+-125.5253	45.3371	6212
+-124.5474	48.0874	7417
+-120.8908	35.2498	5401
+-120.0675	43.3084	5752
+-115.2013	32.7462	7782
+-114.3167	47.2965	4873
+-118.0858	33.3385	8293
+-85.831	38.9954	6198
+-91.2308	39.7866	7981
+-86.0795	34.828	5428
+-120.1211	41.4706	3985
+-123.3616	47.839	8522
+-119.9927	35.2595	6320
+-114.3262	32.4508	6780
+-87.4497	39.202	7544
+-81.6382	28.2655	9097
+-90.0497	36.8653	8117
+-84.8982	40.1978	4625
+-120.5839	43.5881	5653
+-113.7287	35.8735	5237
+-87.1264	34.4757	5788
+-116.5226	31.3159	8007
+-112.1823	30.3962	7093
+-118.0658	42.8022	5760
+-123.1065	47.5979	8876
+-87.7847	37.9784	8658
+-117.6537	45.8497	8543
+-117.8351	34.6138	8726
+-115.8054	42.9055	4979
+-80.5898	31.2828	5548
+-90.3621	35.0705	6395
+-114.8696	34.3837	6909
+-116.7095	31.1678	7891
+-89.1647	36.8421	8788
+-116.8213	49.5563	5286
+-115.8634	34.5881	7929
+-88.2366	35.4313	7237
+-84.0691	29.5381	6924
+-122.5095	48.4306	7942
+-118.4202	43.4504	6451
+-90.2831	39.204	8923
+-88.7004	38.3809	9009
+-118.0659	35.7452	7575
+-86.9719	33.8984	5131
+-117.3621	28.4897	4906
+-116.0953	45.8199	6924
+-117.2367	46.6931	7987
+-116.7066	33.4667	8972
+-112.4281	31.364	7192
+-116.8672	32.4896	9372
+-115.4175	42.8411	4664
+-114.6295	31.8065	6913
+-82.3787	30.43	6866
+-120.7291	44.6614	6255
+-112.9643	31.7187	6619
+-114.4534	33.1955	6918
+-118.7452	43.4268	6387
+-110.5645	30.1762	7929
+-90.386	38.6929	9363
+-119.895	48.104	6537
+-83.8711	30.5169	6212
+-120.6961	45.9847	6955
+-117.0112	44.1896	6830
+-88.0918	35.2501	6999
+-109.7482	29.0888	6698
+-115.2484	30.8343	6827
+-79.908	28.0727	7351
+-120.9899	48.3709	7002
+-124.3845	48.118	7542
+-84.2319	28.4495	7396
+-118.0061	33.0283	8570
+-118.4182	34.4601	8232
+-115.3178	34.2637	7407
+-80.7816	27.7207	8362
+-90.816	38.6311	8941
+-91.8341	35.4966	5585
+-110.559	34.4897	6315
+-108.4112	32.4996	7167
+-111.4594	30.701	7924
+-91.7742	35.1961	5311
+-112.1848	31.9598	7426
+-83.0209	32.6966	4225
+-123.6401	45.1015	7402
+-116.6475	32.3035	9079
+-116.2836	32.4048	8863
+-107.9672	31.2844	6890
+-90.9731	41.4295	6467
+-118.5537	34.5229	8071
+-90.1852	44.198	3548
+-84.8224	27.0809	6753
+-117.0374	32.5591	9455
+-91.0747	37.8703	8218
+-114.5122	35.1167	6348
+-88.528	36.2905	8248
+-117.7892	31.8861	8368
+-81.9052	24.7307	6448
+-89.4308	34.6246	6321
+-124.1184	45.4882	7502
+-89.458	36.8843	8644
+-118.6092	32.3692	7854
+-92.4298	37.0943	6587
+-112.9518	33.2935	6085
+-93.5631	39.6672	5857
+-89.5215	39.5865	8130
+-124.1199	48.0892	7785
+-122.3857	46.3714	8742
+-119.0214	32.2297	7369
+-83.937	26.8857	7621
+-119.5361	45.6924	7865
+-111.6437	33.4415	7010
+-81.9561	27.8677	9662
+-87.2722	39.8628	6833
+-108.8744	33.3305	7007
+-90.8217	37.7866	8283
+-84.3752	25.0936	5945
+-79.845	26.8422	7100
+-121.2992	47.1741	7833
+-81.2312	29.9338	7237
+-80.1526	30.7961	5797
+-116.9993	43.5607	6247
+-118.7547	42.4986	5414
+-119.9859	46.5127	7405
+-114.8348	35.6054	6437
+-113.9769	31.6939	6191
+-116.516	36.1931	7146
+-106.6894	30.1299	5223
+-113.797	30.3196	5479
+-87.7073	28.3028	3557
+-112.3393	35.1846	5007
+-116.2059	32.7784	8903
+-126.0064	46.8879	6192
+-116.1323	35.3396	7732
+-92.8581	39.0214	6741
+-80.9001	30.2677	6738
+-81.0453	27.5463	8637
+-118.4448	46.6729	8630
+-115.3221	35.9091	6665
+-125.2504	47.3376	6992
+-91.0271	38.3661	8616
+-111.788	30.9889	7771
+-117.8751	47.6147	7599
+-80.4096	28.5423	7754
+-108.6945	32.5816	7395
+-90.1801	36.9827	8053
+-115.605	28.8929	5120
+-120.3059	33.2115	6073
+-122.6809	47.8274	8630
+-81.52	27.8246	9195
+-108.2644	28.3029	5272
+-112.4082	32.3486	7077
+-124.9153	44.8517	6397
+-94.5296	36.5894	4385
+-124.2824	46.755	8070
+-90.8559	37.3184	7799
+-82.5849	32.2198	4828
+-118.3971	34.6725	8172
+-123.453	48.443	7874
+-115.7029	33.6488	8065
+-111.2237	31.2205	8432
+-90.8651	41.7397	6160
+-116.6119	35.525	7860
+-118.2938	45.5857	8716
+-124.358	48.4125	7350
+-117.0551	46.9617	7672
+-118.7538	33.1641	7602
+-90.6919	40.9845	6993
+-117.4822	45.5205	8213
+-118.1246	34.9886	8216
+-114.9747	36.1926	6177
+-108.9306	32.6192	7584
+-121.189	36.2059	4699
+-82.7344	27.6021	9187
+-117.5444	45.6318	8334
+-117.1735	43.2619	6033
+-118.0446	45.4556	8533
+-90.5788	36.5621	7433
+-111.0479	30.8166	8338
+-116.3417	34.7227	8342
+-90.0133	34.0243	5494
+-89.0664	39.9221	7524
+-83.2743	24.1834	5638
+-110.7445	32.9641	7913
+-114.6123	30.4612	6038
+-87.6699	38.7386	8093
+-116.518	31.3955	8091
+-121.5406	43.3927	5405
+-115.864	46.1915	6696
+-118.9024	33.1293	7444
+-118.8629	37.2119	5755
+-84.2404	25.6717	6531
+-121.6318	42.7821	4802
+-82.1657	26.3301	8267
+-111.9595	33.1137	7054
+-87.3154	35.214	6617
+-117.2773	42.591	5395
+-115.4895	30.5282	6715
+-122.9862	47.4308	9087
+-91.0201	37.8064	8197
+-119.2643	32.4294	7154
+-125.1441	47.7001	7012
+-114.411	34.3094	6417
+-87.9571	37.0027	8640
+-122.2278	48.7097	7554
+-121.065	46.1561	7402
+-118.2457	42.0078	4926
+-115.2828	48.8156	4975
+-81.1397	28.4436	8532
+-118.4712	45.7662	8855
+-114.1187	48.0707	4381
+-89.6749	36.3433	8014
+-80.8034	27.8115	8387
+-91.1444	38.3191	8482
+-80.9861	26.7854	8185
+-117.0406	42.6812	5408
+-91.5001	39.6424	7884
+-84.7837	37.4529	5338
+-113.8595	30.8896	5580
+-116.9292	37.7916	5530
+-88.6736	37.7535	9672
+-90.5936	37.0824	7613
+-119.9188	36.4666	5685
+-119.4869	32.307	6885
+-117.122	31.6097	8395
+-113.5786	35.2067	5348
+-112.7153	31.7469	6887
+-88.9308	39.6412	7588
+-119.6222	49.7467	5146
+-108.767	32.8434	7296
+-80.3822	29.8744	6792
+-82.1922	30.053	7305
+-124.7099	47.4721	7542
+-117.6644	28.9393	5359
+-118.0699	35.966	7355
+-112.6012	30.7204	6845
+-109.3686	28.4062	5876
+-89.2913	39.1251	8180
+-113.2573	34.6267	5131
+-119.6689	31.5953	6445
+-88.0483	38.0761	8887
+-119.0206	45.2458	8065
+-121.3518	46.2573	7735
+-122.3332	47.1781	8942
+-81.6296	29.9641	7342
+-117.9593	35.6117	7757
+-117.4622	34.3429	9225
+-89.8178	39.1026	8706
+-90.5092	32.4233	3613
+-116.8955	33.6311	8857
+-90.5337	40.3079	7737
+-81.6486	28.3829	9005
+-115.7304	35.3887	7374
+-117.7057	49.6785	5422
+-116.969	35.5351	7975
+-111.0431	33.9067	6841
+-89.392	38.646	8350
+-117.7271	27.9218	4228
+-93.2767	38.9725	6297
+-92.4933	37.0661	6515
+-124.5203	47.7826	7613
+-115.4049	44.9115	5962
+-112.4321	32.442	7017
+-114.9703	32.3172	7458
+-115.9526	32.1655	8409
+-87.0957	35.8521	7047
+-123.5935	47.1678	8813
+-116.4962	30.227	6817
+-124.53	42.5986	4484
+-117.7465	46.6131	8474
+-116.5195	36.4232	6910
+-111.9851	31.3635	7668
+-125.1976	46.9141	7081
+-121.5774	45.5817	7502
+-79.7814	28.6802	7038
+-115.4442	33.3455	7955
+-118.1534	34.1541	8570
+-120.3035	35.3232	5980
+-90.5889	39.4352	8653
+-122.5056	46.6553	9054
+-117.3876	42.0986	4918
+-111.3269	30.2813	7699
+-108.9467	29.8244	7047
+-109.2632	32.5309	7925
+-110.9959	31.4864	8748
+-81.3276	28.7335	8468
+-121.0151	32.9471	5249
+-118.9876	34.1122	7660
+-124.1941	46.7676	8168
+-92.2277	41.5731	5790
+-110.8413	29.5188	7170
+-90.8828	41.1202	6814
+-115.7761	29.4194	5738
+-92.1655	40.6209	6639
+-115.7925	34.6719	7826
+-87.4134	36.5466	7844
+-117.3584	46.8685	7987
+-91.1031	33.5905	4542
+-114.5888	33.8608	6856
+-78.4681	26.3838	5460
+-117.9544	35.6921	7679
+-114.2422	36.7358	5186
+-83.4789	29.3983	7500
+-113.126	33.8551	5573
+-91.5991	37.9038	7828
+-121.0897	34.8757	5290
+-114.7269	46.8412	5413
+-109.0254	31.6288	8056
+-80.2939	28.4788	7661
+-84.2021	26.4273	7104
+-116.684	32.8674	9433
+-113.7691	30.5936	5600
+-115.2669	29.5709	5666
+-84.2433	27.2598	7437
+-83.7904	28.1857	7959
+-119.6377	47.3977	7274
+-120.8865	46.0014	7153
+-123.7633	44.09	6307
+-112.7583	30.87	6735
+-120.8936	45.1246	6614
+-81.0034	29.769	7291
+-82.4096	28.507	8998
+-89.8878	37.149	8429
+-117.9223	31.2391	7696
+-88.1411	39.5545	7582
+-112.2635	29.6167	6488
+-90.0976	37.8403	8397
+-123.5423	46.6104	8799
+-89.8535	40.806	7136
+-120.9109	48.9006	6558
+-87.4396	37.906	8301
+-79.1233	29.01	6208
+-115.0233	29.9502	5890
+-89.115	34.7007	6464
+-87.5732	37.9254	8444
+-123.4599	46.9019	8987
+-117.6221	33.0766	8966
+-108.4279	30.284	6975
+-116.106	34.8974	8022
+-115.7074	32.1254	8151
+-118.7148	33.1931	7654
+-94.3573	38.713	5141
+-88.6201	38.6273	8724
+-117.3734	33.2442	9094
+-121.7908	45.1467	7265
+-119.9648	47.2801	7085
+-118.3945	31.9587	7895
+-121.8456	48.7222	7356
+-112.3534	30.1228	6773
+-114.6063	30.9824	6419
+-85.3589	28.5816	6128
+-120.0276	36.312	5701
+-117.9555	30.2928	6729
+-126.612	48.4087	5231
+-86.9141	34.8658	6046
+-94.3511	41.0011	4507
+-90.9944	37.6771	8094
+-107.9482	30.2557	6516
+-123.7501	48.7802	7406
+-93.3046	37.3362	5926
+-110.4547	33.6322	7250
+-88.6213	36.0775	8025
+-119.2778	47.1653	7717
+-89.6792	34.3757	5982
+-115.6896	33.5659	8101
+-78.1468	28.7271	5253
+-84.0321	28.0554	7720
+-92.3194	38.3309	7289
+-110.0366	30.6563	8419
+-118.8506	34.5282	7757
+-119.2906	30.9135	6402
+-115.6919	30.5268	6830
+-120.9428	44.0522	5706
+-90.5328	41.7144	6225
+-122.2692	48.5843	7699
+-125.075	48.6856	6560
+-80.7186	30.3316	6578
+-114.0036	32.9804	6443
+-118.3612	47.2071	8085
+-123.3965	46.7929	9028
+-110.0756	33.2501	7646
+-119.9785	45.6838	7412
+-92.0176	38.6001	7655
+-124.7108	47.5618	7512
+-83.9732	28.8413	7482
+-90.2576	37.7408	8328
+-88.2051	38.814	8381
+-119.1642	31.7893	7047
+-88.5095	38.1752	9175
+-109.3048	26.4692	3822
+-123.2409	48.7353	7627
+-111.0731	30.4809	8035
+-119.5171	36.6388	5864
+-87.25	40.2795	6423
+-119.2252	34.1174	7401
+-121.5131	46.3793	7952
+-111.1535	31.2822	8527
+-117.1099	35.1866	8376
+-90.052	38.2945	8817
+-117.2839	34.4405	9202
+-88.7329	35.8738	7803
+-91.1005	40.5616	7324
+-91.0644	37.0263	7427
+-90.121	35.797	7224
+-120.9835	32.695	5190
+-121.6586	49.7252	6283
+-106.4196	29.9106	4862
+-110.3253	28.9464	6617
+-89.3917	36.4312	8262
+-115.014	33.787	7321
+-108.7165	31.3986	7710
+-109.8889	29.7035	7381
+-88.2735	38.4065	8816
+-88.8733	42.3132	5253
+-120.0984	46.1411	7338
+-117.5061	30.058	6618
+-116.6338	32.7304	9369
+-118.3901	48.0429	7200
+-118.067	34.2078	8661
+-118.6286	33.8111	8011
+-117.7285	30.5302	7065
+-87.274	40.1589	6554
+-106.0743	29.5637	4367
+-118.4607	36.0662	7060
+-90.5215	35.209	6426
+-115.4502	46.6108	6212
+-115.6009	46.5675	6377
+-117.5604	34.3337	9150
+-87.7399	39.1189	7818
+-110.1938	33.2218	7692
+-118.8616	43.6412	6585
+-118.5915	33.3378	7852
+-116.0283	35.0808	7837
+-120.4586	49.4031	5817
+-82.9791	25.4243	7075
+-115.1209	34.2072	7196
+-89.058	37.9957	9321
+-90.0824	36.8682	8088
+-119.4673	46.123	8006
+-114.3485	36.6053	5366
+-119.3154	33.6256	7235
+-111.0593	33.4143	7340
+-83.7165	26.2182	7387
+-117.1282	33.1357	9354
+-112.0394	34.0864	6192
+-92.4982	39.0711	7119
+-118.3706	35.4234	7686
+-90.1646	38.8322	9172
+-88.4232	41.8123	5505
+-119.8139	34.5234	6727
+-89.8567	36.9353	8342
+-118.5463	35.552	7454
+-115.309	30.4375	6519
+-119.7784	44.0421	6567
+-118.1929	33.5695	8355
+-89.1503	37.4096	9297
+-82.7379	29.2277	8103
+-111.4937	32.4812	7884
+-120.115	36.368	5589
+-89.351	34.5779	6287
+-115.7345	35.8188	7053
+-121.2616	42.2896	4139
+-122.5853	48.0203	8398
+-121.8459	49.3725	6720
+-110.2579	35.1338	5626
+-117.922	33.269	8574
+-109.7317	32.4078	8368
+-81.2368	27.9287	8862
+-85.9002	37.6162	6597
+-123.5086	49.115	7153
+-111.196	32.05	8411
+-120.3282	34.0972	6198
+-119.909	41.437	4030
+-119.0034	31.7642	7196
+-112.2161	33.4846	6574
+-119.2595	45.7131	8148
+-90.3082	39.789	8302
+-89.1032	38.3443	8965
+-116.6981	36.7932	6571
+-90.3563	39.5186	8595
+-92.6421	37.5726	6679
+-90.5897	37.6131	8179
+-116.8174	36.0881	7350
+-89.8426	37.6802	8607
+-82.0229	25.4807	7303
+-82.6986	25.489	7238
+-120.9628	44.5408	5977
+-91.2704	38.5268	8438
+-121.8231	46.8588	8417
+-81.6982	30.4928	6769
+-85.0363	38.794	5440
+-88.169	35.4038	7189
+-124.7693	48.4237	7002
+-119.115	36.0859	6605
+-117.8596	34.1325	8891
+-115.6323	34.2284	7752
+-113.5382	33.0601	5919
+-109.2486	32.2471	8096
+-119.9295	48.287	6361
+-81.1306	29.491	7636
+-92.6968	37.6487	6663
+-121.5808	30.8555	4161
+-77.7718	26.4174	4727
+-118.414	37.4056	5755
+-88.5425	40.6803	6549
+-113.3954	47.1542	3965
+-88.3606	38.8515	8409
+-81.6294	24.9727	6681
+-106.7087	29.4785	4932
+-111.7271	26.6827	3953
+-83.2912	33.1698	3641
+-119.4802	46.2566	7982
+-119.6333	31.7531	6551
+-120.8415	48.2182	6959
+-110.4037	34.7051	6090
+-116.9324	32.1346	8991
+-92.3716	37.9295	7106
+-89.975	36.8308	8166
+-90.1459	38.4563	9017
+-118.2185	42.7763	5740
+-119.4315	34.3235	7167
+-115.0773	35.6361	6641
+-87.7174	37.6545	8637
+-116.3954	32.9926	9086
+-123.919	46.3172	8279
+-119.2607	48.0936	6909
+-117.7398	31.632	8175
+-89.7699	36.708	8258
+-119.8462	49.324	5466
+-117.0995	34.1962	9343
+-115.8258	30.015	6379
+-123.56	47.0133	8879
+-118.8993	45.3758	8254
+-115.8409	36.7693	6269
+-78.7044	30.3649	5025
+-116.3202	32.8687	9030
+-119.9831	31.0844	5873
+-89.2579	37.5607	9251
+-120.1169	49.6517	5358
+-110.3778	31.3426	9208
+-121.3893	43.8795	5830
+-115.6071	33.0266	8218
+-124.0397	47.2216	8323
+-84.0095	36.3632	4279
+-122.8851	47.9504	8525
+-109.8544	30.3158	8006
+-90.2598	36.7138	7827
+-116.7221	33.6841	8768
+-84.5749	24.967	5690
+-118.4369	36.3838	6771
+-118.7335	45.0156	8017
+-86.3946	37.5438	7149
+-125.2213	44.9823	6251
+-117.457	34.9506	8622
+-89.861	39.1003	8747
+-106.3026	32.3206	5034
+-95.0126	36.925	4061
+-110.9186	30.7233	8346
+-117.0386	34.2516	9258
+-107.0013	32.9755	5561
+-118.7822	34.8988	7686
+-90.7302	41.5817	6349
+-87.1501	37.076	7883
+-106.3846	29.5896	4681
+-82.533	27.282	9182
+-113.8666	33.0495	6285
+-89.4567	39.0048	8389
+-111.2318	30.3937	7858
+-82.6879	28.5612	8796
+-118.9209	29.5986	5553
+-117.6988	33.471	8675
+-121.8985	47.0237	8504
+-119.2922	36.7717	5909
+-115.2575	32.3475	7776
+-121.4828	43.9061	5901
+-121.4252	45.7199	7485
+-89.8726	40.8254	7121
+-80.5801	33.0297	3684
+-79.685	31.5049	4837
+-89.5117	39.8382	7922
+-121.0638	45.025	6670
+-82.9639	27.9499	8930
+-90.6135	36.9256	7442
+-85.4267	39.2077	5686
+-113.4206	33.6655	5686
+-90.0471	38.3553	8865
+-115.0008	29.502	5454
+-121.6278	35.1372	4656
+-108.0455	30.5877	6770
+-88.5285	35.5344	7408
+-121.4967	43.5603	5559
+-118.3327	35.0787	7984
+-83.2083	27.3647	8594
+-115.0886	29.9962	5973
+-115.788	34.0911	7924
+-90.639	37.7257	8286
+-87.278	34.1161	5494
+-115.8455	35.8699	7090
+-117.5946	30.9964	7605
+-91.4954	39.783	7788
+-122.3931	49.0239	7278
+-89.4747	40.4625	7335
+-117.8492	30.7233	7219
+-88.8456	37.2278	9315
+-88.7731	40.9043	6525
+-91.7635	37.8795	7666
+-118.2577	34.8263	8219
+-104.9869	32.7379	3547
+-119.7887	44.4961	6931
+-113.8892	32.7117	6318
+-121.871	45.2164	7376
+-108.9103	30.1614	7294
+-92.9151	36.5841	5833
+-81.3267	26.3841	8082
+-116.9074	30.5333	7205
+-88.2325	35.0783	6849
+-88.0895	39.4933	7628
+-120.4968	43.0112	5236
+-88.3272	42.4466	4865
+-116.9131	34.3675	9075
+-116.9672	31.1339	7876
+-87.9056	39.9419	7084
+-116.8072	46.5554	7625
+-112.5775	31.0813	6982
+-112.0132	33.8767	6393
+-89.2193	37.984	9194
+-92.2132	38.0225	7302
+-110.8307	33.6972	7121
+-82.6172	30.232	7050
+-118.3717	44.8935	7979
+-90.3486	37.7405	8336
+-84.8768	29.883	5972
+-88.8073	38.5827	8785
+-87.1958	38.92	7559
+-113.6549	45.3142	4288
+-126.4287	46.095	5613
+-116.4214	32.9705	9121
+-109.0752	31.2114	8052
+-88.8398	37.9365	9501
+-91.7849	36.8175	6851
+-88.7144	38.9551	8367
+-119.6343	47.1248	7465
+-112.8095	33.9039	5797
+-87.1374	36.2851	7418
+-120.2089	47.501	6738
+-94.2472	37.2138	4943
+-115.9478	47.6341	6301
+-116.5177	31.0742	7746
+-91.9216	41.1955	6310
+-110.1335	28.2389	5844
+-118.3485	30.8259	7050
+-123.1017	49.6384	6662
+-110.6867	34.5183	6271
+-110.109	33.8275	7030
+-109.9702	29.4903	7172
+-117.383	33.8819	9236
+-114.8351	33.0805	7357
+-107.8942	31.8462	6816
+-118.2947	46.7765	8544
+-83.6655	26.3136	7504
+-115.5431	33.4237	8027
+-118.3118	48.3537	6873
+-87.9619	35.2057	6909
+-112.7986	33.294	6222
+-118.1903	45.0588	8153
+-124.438	47.7363	7717
+-111.9878	35.2095	5155
+-81.9709	30.0894	7258
+-118.6241	27.1764	3196
+-118.5746	33.5993	7997
+-119.7885	45.4407	7520
+-117.5654	32.0775	8692
+-89.5379	35.7093	7454
+-118.9999	35.3418	7233
+-115.8422	32.2719	8359
+-81.7512	26.0293	7880
+-119.1598	46.2324	8322
+-88.9371	37.7045	9619
+-115.5513	32.8356	8174
+-116.6964	31.9698	8761
+-86.7129	36.9026	7356
+-91.5562	37.5454	7612
+-125.5726	48.3661	6292
+-79.0425	24.6146	4898
+-119.3875	35.3013	6897
+-119.0466	32.7758	7432
+-87.3496	38.5427	7945
+-119.4242	43.8799	6617
+-117.0553	32.0655	8909
+-119.7332	48.8747	5945
+-85.4484	39.2914	5667
+-117.5043	46.1216	8435
+-90.1255	40.0446	8002
+-89.2679	39.6649	7869
+-81.0548	30.9809	6057
+-115.6908	46.5135	6480
+-83.2161	27.45	8616
+-87.1194	38.3761	7802
+-123.9134	48.7089	7392
+-83.2572	30.1392	6922
+-109.0872	32.4849	7807
+-121.4414	47.9014	7703
+-112.6746	30.8645	6820
+-122.7411	34.9418	3501
+-91.254	40.2508	7554
+-119.7852	45.7221	7620
+-108.2214	30.4711	6888
+-115.4246	46.1705	6232
+-89.1235	36.8488	8814
+-94.0856	36.7296	4878
+-111.9894	32.1297	7584
+-82.3108	27.7976	9689
+-117.4121	33.0603	9186
+-88.2735	36.2973	8182
+-107.3513	32.3801	6129
+-124.1248	48.5368	7418
+-120.0575	36.8802	5266
+-118.5105	36.1163	6984
+-86.7838	39.8682	6489
+-117.7347	33.04	8861
+-117.5894	33.8858	9094
+-108.2438	28.8441	5741
+-116.6312	31.3496	8074
+-89.5988	35.404	7110
+-86.5965	37.0932	7296
+-124.3556	43.3662	5340
+-83.0106	28.8068	8353
+-88.0003	36.8476	8557
+-120.553	45.9225	6849
+-117.0382	34.5991	8972
+-117.7263	48.1567	7004
+-119.6225	36.2323	6096
+-117.0295	33.5703	8871
+-123.8912	45.8596	7974
+-120.7868	45.6265	6857
+-115.1182	37.0916	5550
+-110.1634	32.5356	8425
+-115.667	32.4969	8260
+-89.6634	35.0446	6705
+-91.9853	39.2513	7615
+-116.9652	32.6765	9597
+-123.8233	47.4726	8449
+-92.9266	39.0274	6667
+-92.0003	36.7309	6636
+-109.6204	31.3194	8650
+-121.6891	47.0769	8270
+-86.7554	37.7537	7555
+-118.7813	48.7312	6424
+-119.2132	34.4468	7387
+-122.3018	47.0202	8946
+-115.8824	28.8523	5169
+-114.1897	31.8823	6485
+-79.7799	30.8049	5544
+-80.5305	26.528	7601
+-114.6074	34.347	6628
+-117.295	33.5063	8853
+-116.8215	47.6493	7005
+-115.3114	29.4746	5593
+-123.7407	47.3785	8578
+-117.6992	47.9214	7235
+-117.6204	33.8341	9032
+-78.873	27.7104	6203
+-91.0155	42.758	5051
+-116.7241	30.4203	7066
+-88.749	37.8379	9621
+-121.2798	28.5601	2994
+-89.4994	39.2729	8317
+-108.7699	32.2853	7617
+-115.8658	28.2504	4514
+-84.6309	25.3123	5931
+-113.8682	32.3816	6263
+-118.3939	34.1822	8307
+-88.2417	37.773	9214
+-120.727	30.7898	4988
+-118.6421	29.9784	6077
+-84.1141	27.3531	7603
+-109.3909	30.5478	7957
+-117.7618	32.0033	8484
+-114.1727	27.3688	3297
+-115.6468	42.6092	4627
+-125.3068	46.1602	6818
+-93.0724	43.7319	3322
+-118.3216	33.5296	8212
+-117.0975	47.4063	7392
+-114.5861	33.8678	6850
+-89.0922	39.7814	7643
+-113.9464	33.0157	6377
+-115.8262	30.4462	6819
+-87.479	37.6435	8370
+-121.4917	45.7354	7551
+-117.964	45.8348	8821
+-117.3111	47.5378	7422
+-118.0676	34.4784	8586
+-119.7975	43.424	6004
+-91.5329	37.3016	7431
+-116.37	26.7598	2964
+-109.8724	30.912	8591
+-89.2714	36.6804	8572
+-113.3539	34.4011	5260
+-116.7428	35.3778	8065
+-115.8139	32.9635	8457
+-115.8247	32.1902	8300
+-124.2908	44.9307	6897
+-80.6688	28.1282	8186
+-89.5488	38.3704	8436
+-89.3088	34.5495	6264
+-111.8693	33.6424	6690
+-89.2071	38.885	8148
+-86.1123	29.2231	5099
+-107.3705	31.04	6210
+-91.4909	37.4109	7551
+-123.592	45.0933	7412
+-86.0658	36.5358	6529
+-115.6949	35.8455	7003
+-85.5585	25.0774	4966
+-91.0398	37.4558	7860
+-88.5657	40.7587	6504
+-113.05	32.8514	6225
+-122.1821	47.695	8483
+-92.3201	35.8723	5686
+-109.481	33.2606	7435
+-90.8831	37.5688	8042
+-119.6537	44.8849	7321
+-109.1869	34.5671	6010
+-113.9136	31.9996	6228
+-92.0263	38.0347	7493
+-87.9565	37.2244	8779
+-109.8952	31.228	8862
+-122.6542	47.5145	8946
+-116.4763	44.8159	6913
+-117.7506	48.4874	6670
+-118.5239	33.518	8011
+-83.4815	26.0494	7422
+-79.8394	25.9736	6598
+-91.6967	39.5709	7755
+-122.4597	34.6716	3843
+-89.4412	39.6129	8047
+-121.8819	42.5858	4665
+-118.7019	49.6035	5524
+-118.5698	30.8267	6903
+-90.4903	35.2342	6469
+-86.9791	34.2947	5532
+-93.2653	37.7159	6124
+-91.0918	39.6466	8193
+-83.8909	28.364	7792
+-91.3028	35.0336	5712
+-80.0436	28.4883	7391
+-125.3528	47.1161	6906
+-117.7044	32.4897	8853
+-110.2116	31.4012	9236
+-114.2486	32.5766	6709
+-113.2815	29.5688	5605
+-124.102	46.814	8275
+-115.9276	46.0436	6765
+-81.5425	30.3365	6909
+-124.0818	46.0956	7993
+-115.429	30.3276	6490
+-117.979	34.0897	8759
+-108.7898	29.8832	6986
+-111.2245	26.0686	3421
+-115.1284	36.6398	5944
+-86.0011	37.1502	6657
+-89.2073	37.7649	9308
+-111.4906	29.372	6769
+-122.3919	47.0916	9031
+-91.4283	40.26	7445
+-118.2281	32.578	8321
+-89.243	42.0996	5611
+-90.9818	39.7293	8187
+-119.9637	49.2007	5525
+-124.4644	42.3422	4243
+-125.8221	48.4109	6025
+-116.5299	44.4516	6712
+-83.9259	39.3608	4058
+-87.0017	35.8548	6976
+-115.5097	34.5356	7572
+-123.2857	47.7964	8601
+-123.323	46.0124	8459
+-96.8468	39.7556	2374
+-114.8293	43.601	4745
+-116.4711	30.0226	6588
+-110.3185	32.3221	8673
+-120.0905	31.8622	6109
+-115.6496	31.5754	7734
+-89.0003	38.8819	8425
+-120.3222	44.5364	6539
+-83.6281	29.3961	7391
+-109.3257	34.6714	5954
+-118.9151	48.4633	6670
+-116.3301	30.7625	7354
+-113.4024	29.5251	5470
+-120.757	31.6022	5313
+-90.4772	38.9103	9224
+-113.7297	30.4151	5582
+-90.9854	38.2709	8595
+-108.8641	29.9243	7073
+-113.6914	34.4344	5624
+-86.0485	40.5315	5382
+-110.1553	30.4923	8276
+-115.728	42.788	4830
+-115.3189	31.701	7533
+-80.8454	26.4429	7803
+-118.8822	27.9036	3871
+-90.8298	35.6202	6554
+-121.8089	46.796	8393
+-94.5409	42.323	3516
+-89.3901	36.812	8628
+-91.7916	37.7537	7565
+-121.8378	44.8688	7023
+-115.7264	34.1141	7858
+-108.0202	31.5474	6967
+-87.6807	37.3498	8546
+-86.9059	34.795	5975
+-112.1442	31.7691	7501
+-118.7231	36.5993	6414
+-116.9647	48.1347	6693
+-91.9723	40.8184	6613
+-125.4251	49.0411	6016
+-116.3386	33.0307	9013
+-110.5535	31.359	9133
+-80.7279	27.4877	8271
+-85.3365	36.0923	5579
+-88.0625	36.7736	8539
+-86.2769	39.6691	6228
+-110.5514	32.1357	8830
+-88.7358	37.1674	9254
+-90.9076	38.6136	8840
+-122.4141	48.2449	8104
+-80.9785	25.1026	6608
+-88.9724	39.0529	8241
+-115.9974	30.1613	6600
+-117.3939	34.1755	9392
+-81.4676	26.8239	8587
+-85.7034	30.0633	5090
+-89.999	36.3055	7755
+-120.2992	37.1054	4906
+-88.8897	35.743	7652
+-88.5566	37.958	9411
+-118.58	47.5045	7740
+-85.9398	38.382	6542
+-90.1982	36.5271	7762
+-119.7007	34.5468	6845
+-117.8519	32.9338	8757
+-85.3411	25.7399	5600
+-81.167	31.3356	5709
+-118.0949	31.9118	8140
+-117.7117	44.0243	6980
+-78.8265	28.3574	6092
+-91.7084	40.6332	6942
+-113.1636	30.0855	6004
+-125.0396	45.3233	6642
+-115.4673	33.7959	7755
+-116.742	31.5484	8316
+-87.7867	38.2797	8517
+-115.035	34.0773	7103
+-91.5965	37.9444	7855
+-125.6005	47.8537	6483
+-111.8124	30.2093	7286
+-121.8791	46.3918	8319
+-116.8676	33.0481	9472
+-122.0334	48.3714	7793
+-90.9574	37.0657	7506
+-123.1539	45.431	7896
+-117.6644	33.9468	9059
+-118.0406	32.2578	8402
+-83.1455	25.9556	7545
+-124.6341	49.8595	5901
+-125.2271	48.9094	6276
+-109.3113	36.1907	4360
+-120.613	44.6971	6380
+-108.7532	32.4907	7499
+-113.2249	34.6003	5100
+-123.4942	42.7352	4912
+-88.2029	39.6478	7502
+-125.0231	47.0023	7273
+-83.1772	30.1406	6958
+-114.0943	32.0622	6440
+-82.9798	27.2799	8788
+-116.7719	34.7123	8707
+-116.0575	30.5162	6994
+-116.4922	35.8235	7510
+-126.525	46.1475	5523
+-119.0427	45.8592	8417
+-118.1895	34.6838	8366
+-116.853	37.025	6352
+-90.5845	41.8162	6112
+-118.8935	33.7276	7709
+-92.0723	40.1083	7088
+-120.5861	42.0758	4350
+-78.7046	24.4669	4509
+-120.5804	45.4893	6743
+-84.3145	30.1813	6211
+-88.2341	41.6789	5509
+-81.7761	32.5123	4508
+-107.9288	28.7547	5451
+-116.4549	47.2171	6991
+-90.1141	35.8099	7240
+-81.2127	26.3418	7973
+-121.07	44.3273	6078
+-117.7217	44.5477	7512
+-118.4459	36.9404	6217
+-123.1106	49.3505	6977
+-117.6037	47.1143	7968
+-91.8345	42.4313	5159
+-91.4666	40.6784	7040
+-87.3596	35.7156	7116
+-84.4232	28.8116	7045
+-113.462	31.6176	6084
+-123.3418	46.8768	9111
+-109.2293	32.8926	7618
+-77.1479	31.7099	2701
+-88.9555	33.5395	5178
+-91.9903	34.934	4961
+-88.4814	40.1602	6872
+-116.8784	32.6831	9574
+-120.9483	43.569	5368
+-117.4247	45.7226	8267
+-86.4779	39.2155	6713
+-120.8006	34.086	5683
+-107.9384	31.7791	6870
+-87.6558	41.6153	5161
+-122.0802	48.2005	7979
+-114.8332	35.0298	6709
+-118.1006	32.5924	8463
+-115.4541	31.9433	7805
+-108.8164	33.6406	6704
+-93.7629	43.6118	3042
+-124.5825	49.8297	5958
+-118.4153	35.0323	7947
+-106.6993	32.9014	5285
+-90.4171	38.3733	9017
+-116.6365	32.2924	9062
+-116.7672	29.9528	6551
+-115.9054	34.7215	7920
+-117.0286	30.9517	7672
+-80.1767	25.5542	6551
+-82.196	27.7272	9809
+-110.4727	28.9437	6610
+-119.7831	49.3654	5455
+-123.1071	45.5304	8012
+-85.9138	37.9709	6594
+-95.1616	39.1786	4253
+-115.641	46.9668	6315
+-87.6585	39.2952	7603
+-87.3207	40.0879	6649
+-81.6256	30.4582	6794
+-115.2748	30.4895	6544
+-114.5535	30.5046	6025
+-82.3844	28.5219	8992
+-92.4912	36.215	5871
+-110.7854	30.7957	8490
+-123.5709	44.4525	6747
+-82.3664	27.9772	9537
+-118.3754	36.1172	7059
+-110.7482	31.6347	9021
+-116.7854	46.7766	7520
+-107.4587	33.6426	5642
+-117.8826	33.232	8631
+-118.1145	30.0869	6450
+-87.0288	39.2556	7171
+-123.3695	49.3571	6930
+-117.1824	47.5133	7363
+-115.6048	40.3437	2536
+-82.9608	27.6841	8952
+-91.613	37.6205	7625
+-89.0587	40.0353	7435
+-121.7496	47.6748	8122
+-79.4084	25.9885	6211
+-118.9886	45.9668	8500
+-117.5503	44.6051	7497
+-82.9875	28.2773	8767
+-118.1367	32.8764	8446
+-118.2298	37.486	5733
+-122.9303	47.442	9083
+-108.0177	31.5061	6963
+-92.8919	42.0231	4980
+-108.641	33.8617	6399
+-120.5444	46.8624	7016
+-89.5337	36.4931	8242
+-112.8115	32.42	6640
+-90.3893	41.0671	6927
+-82.1296	30.4595	6846
+-81.2677	33.4192	3423
+-118.7115	33.3617	7751
+-86.3457	29.3761	4791
+-116.2177	32.968	8901
+-84.7321	33.0383	3243
+-116.6705	33.1738	9235
+-87.3478	37.3474	8183
+-119.8356	35.4108	6408
+-118.1399	45.1548	8248
+-90.4165	37.465	8039
+-92.0457	41.2734	6167
+-87.1985	36.2274	7426
+-119.1593	36.7676	6000
+-119.0942	28.6318	4517
+-122.7339	48.0492	8403
+-120.6344	32.7108	5550
+-93.1407	39.2428	6405
+-90.5519	38.6878	9231
+-115.0245	45.9489	5805
+-117.3677	48.5449	6496
+-119.651	32.8206	6759
+-122.8265	48.9621	7412
+-119.4584	32.6228	6965
+-107.9239	33.775	5945
+-109.9909	29.7134	7414
+-116.6857	32.1372	8933
+-109.4175	29.8737	7372
+-84.6706	28.0683	7002
+-88.3213	38.5548	8699
+-116.8948	33.8751	9044
+-90.1024	35.6539	7104
+-80.5265	26.528	7597
+-88.7474	36.3283	8313
+-110.9324	33.4267	7373
+-89.2718	39.8576	7733
+-83.6484	26.5914	7723
+-85.6865	35.0871	5306
+-91.1856	41.1963	6649
+-119.9953	36.1625	5829
+-119.2384	35.7928	6727
+-113.8484	33.3091	6232
+-121.2464	48.0351	7443
+-116.5665	33.1192	9193
+-120.8149	45.0223	6347
+-90.2495	35.1852	6571
+-90.293	39.5972	8506
+-108.9594	30.2852	7426
+-123.483	43.3151	5544
+-90.0006	36.2564	7712
+-114.0336	37.4153	4513
+-90.9457	37.2953	7743
+-85.5086	27.4093	6053
+-123.7246	47.5254	8512
+-92.5127	40.3485	6554
+-119.3025	32.0651	7016
+-91.0848	39.2988	8464
+-90.6501	34.8413	6004
+-116.4146	47.0865	7023
+-118.9176	31.6897	7240
+-85.0518	28.2821	6540
+-113.7717	31.922	6052
+-124.8252	43.4239	5176
+-89.3403	41.5786	6175
+-108.9613	32.0687	7897
+-81.4903	25.1462	6840
+-116.5077	44.6539	6835
+-89.6773	41.163	6715
+-83.1476	29.6894	7433
+-93.0786	35.8039	5120
+-88.5188	37.1317	9154
+-109.8749	29.2705	6919
+-89.4088	38.6372	8367
+-78.9418	28.2386	6242
+-88.84	39.8987	7351
+-127.5967	43.7921	3378
+-110.8244	28.7012	6306
+-118.4494	36.5655	6588
+-87.2194	39.731	6919
+-91.494	40.4612	7226
+-115.0811	35.4915	6731
+-117.2911	33.9245	9309
+-111.7153	29.5323	6794
+-113.0126	27.0577	3775
+-117.9201	35.8912	7492
+-119.5233	32.4097	6865
+-107.5563	29.4099	5653
+-108.6214	32.0557	7549
+-112.4052	32.2375	7120
+-122.898	44.1493	6511
+-89.9407	38.3567	8786
+-108.3682	27.5205	4584
+-108.6804	30.2237	7155
+-91.8168	35.6635	5756
+-85.0528	38.6393	5506
+-117.0369	36.3015	7159
+-118.3535	46.7888	8527
+-88.7354	35.3279	7190
+-120.3196	30.6151	5279
+-89.571	36.007	7746
+-109.7861	32.7185	8108
+-115.8552	28.5706	4857
+-90.6319	37.4261	7972
+-124.6037	48.4988	7089
+-119.6838	48.1024	6673
+-83.1781	24.7409	6271
+-115.4132	36.0408	6637
+-89.8317	35.7314	7336
+-116.4304	45.8524	7281
+-87.7556	39.432	7531
+-110.7634	31.2119	8858
+-117.7183	48.2342	6922
+-110.402	30.4452	8238
+-82.6969	26.6052	8432
+-92.2047	38.344	7413
+-114.1685	37.0798	4874
+-117.6837	49.2787	5835
+-119.1471	35.2438	7156
+-85.8192	28.5244	5635
+-123.2088	49.0855	7254
+-118.7108	46.5507	8603
+-117.0164	32.6138	9520
+-84.2079	38.7491	4555
+-108.4354	35.2818	4970
+-79.9668	27.608	7435
+-120.9049	44.5633	6042
+-121.3579	36.6579	4294
+-87.4769	39.8951	6924
+-114.8032	43.8411	4866
+-90.8048	39.7699	8235
+-90.3319	41.0434	6952
+-91.4379	39.2492	8167
+-110.0983	36.468	4175
+-91.4628	36.9612	7172
+-119.4208	43.0744	5837
+-92.4312	35.7723	5529
+-83.9203	30.6069	6096
+-85.8107	35.613	5775
+-116.8959	37.9013	5408
+-111.3971	29.4458	6887
+-125.1394	43.2061	4798
+-127.0289	43.8085	3895
+-89.441	38.7893	8408
+-118.5626	33.2112	7803
+-88.5364	34.7228	6501
+-119.6853	29.4782	4951
+-93.444	39.0567	6109
+-78.3994	29.1564	5385
+-117.3637	31.4511	8167
+-87.7869	38.4211	8427
+-81.5083	26.4201	8213
+-117.2943	32.4687	9220
+-120.3279	47.2663	6768
+-88.9483	37.2756	9332
+-117.9635	33.30	8353
+-109.4783	31.2747	8489
+-122.4146	45.1511	7542
+-112.3345	28.9507	5891
+-90.0516	38.4028	8907
+-90.3519	37.0939	7639
+-114.735	32.0067	7105
+-80.3392	27.8749	7859
+-116.7662	30.6322	7306
+-117.8365	35.6949	7725
+-117.1139	42.1786	4927
+-118.3824	35.9882	7177
+-108.5894	33.4498	6706
+-88.9599	37.0733	9115
+-89.5439	36.6887	8413
+-90.3663	37.5206	8099
+-111.3592	30.0076	7436
+-121.8354	49.0544	7031
+-115.853	34.6517	7896
+-116.735	34.1649	8957
+-118.8067	34.4321	7827
+-117.8596	36.1787	7215
+-90.1125	39.0578	8982
+-119.1944	46.2412	8284
+-118.3604	31.9912	7946
+-88.8644	39.6679	7512
+-91.7053	38.4552	7964
+-125.2095	46.6625	7047
+-90.1359	37.8884	8458
+-113.0179	35.1235	4779
+-124.8438	48.383	6964
+-127.2795	45.2322	4431
+-116.6093	33.1497	9208
+-89.0375	41.0784	6526
+-87.1239	36.5493	7585
+-121.3509	46.9971	7904
+-117.3274	29.2385	5742
+-84.3205	28.1068	7388
+-80.2402	27.6972	7749
+-120.9549	48.423	6937
+-84.2453	24.5643	5553
+-116.563	47.3538	7006
+-111.2033	29.1898	6714
+-90.6048	33.4129	4614
+-114.0948	33.6544	6416
+-118.7161	32.2853	7713
+-111.0148	35.902	4736
+-88.1271	38.1994	8880
+-86.2087	36.9614	6837
+-109.9335	33.3563	7504
+-80.7185	26.239	7537
+-87.7133	33.4403	4927
+-116.1713	43.7341	5902
+-94.0923	37.8205	5303
+-119.341	47.8417	7102
+-116.235	33.8611	8374
+-88.4798	36.8701	8865
+-81.2258	26.5436	8169
+-93.1094	40.4498	5962
+-82.8206	29.2213	8072
+-87.7939	39.6416	7343
+-86.3575	28.7342	4990
+-126.3079	47.4017	5832
+-117.1219	33.1175	9375
+-110.1335	34.3563	6461
+-80.366	29.2673	7269
+-122.6143	47.9922	8437
+-91.1307	41.0399	6828
+-117.9332	29.8146	6235
+-117.1296	31.4987	8272
+-90.1854	36.2412	7558
+-91.3608	36.5839	6863
+-89.1008	35.476	7328
+-108.343	29.7002	6505
+-88.9162	39.8536	7446
+-113.3102	31.9149	6228
+-90.2201	38.0067	8604
+-94.4922	39.9263	4818
+-126.8807	49.4824	4433
+-115.82	45.916	6644
+-117.0337	35.1806	8368
+-115.6464	34.9682	7550
+-117.7277	44.1336	7096
+-119.0702	37.1309	5722
+-88.3889	35.9695	7864
+-86.2605	38.0923	6962
+-117.7276	35.05	8419
+-116.3394	34.3933	8487
+-111.687	32.4566	7728
+-116.8746	31.2931	8050
+-91.0867	37.7504	8107
+-117.8795	35.8764	7522
+-111.466	31.5062	8243
+-116.0164	32.4469	8616
+-90.4175	37.8994	8507
+-118.7194	47.8913	7308
+-117.8108	47.8735	7317
+-77.2554	25.9462	4002
+-122.9101	49.6629	6644
+-90.2251	37.8307	8419
+-118.5322	34.4701	8109
+-86.0137	39.4253	6148
+-93.5003	39.8402	5865
+-118.5799	45.9537	8910
+-108.4169	31.8988	7369
+-119.6001	32.2242	6742
+-93.3896	35.9889	5025
+-88.5297	38.6488	8680
+-120.7265	31.8607	5426
+-118.335	47.0753	8226
+-90.9999	36.2436	6642
+-115.2389	33.5668	7652
+-119.2181	46.2435	8259
+-90.7336	41.1281	6834
+-106.7408	32.2153	5521
+-88.079	35.2545	7000
+-124.8056	46.655	7485
+-119.8941	46.0658	7554
+-120.4082	46.2088	7007
+-88.4494	37.4023	9352
+-89.4111	39.1576	8288
+-112.516	29.6543	6318
+-116.9722	32.7182	9643
+-118.8416	30.5773	6495
+-123.4594	44.804	7152
+-112.8208	30.605	6577
+-111.3477	28.0123	5451
+-116.2016	37.0443	6157
+-88.4065	38.8289	8449
+-109.2737	31.742	8313
+-123.7251	45.4011	7662
+-112.7144	33.5278	6143
+-93.1998	40.0445	6083
+-90.5387	36.7635	7583
+-123.38	49.4357	6843
+-80.4423	27.4826	7952
+-120.5946	47.298	7047
+-118.2265	33.4742	8268
+-90.298	38.4731	9112
+-111.9378	32.1437	7632
+-91.9012	40.7859	6687
+-90.7706	37.1494	7649
+-79.3071	28.1117	6671
+-110.2698	31.3984	9262
+-108.822	30.8058	7632
+-117.4992	30.1728	6745
+-114.8639	35.6625	6431
+-117.5482	31.3678	8011
+-115.7646	47.8426	6017
+-85.497	29.7182	5493
+-125.6932	44.3323	5388
+-112.6505	30.159	6527
+-87.7754	36.8394	8366
+-117.574	35.3234	8197
+-118.3873	43.3001	6293
+-88.937	40.4051	7055
+-116.9842	33.9912	9193
+-122.6069	44.8132	7219
+-118.1878	44.9916	8082
+-83.3718	29.7768	7221
+-81.6861	26.8808	8770
+-118.477	47.4585	7807
+-120.518	45.9669	6890
+-118.2226	32.458	8296
+-81.5586	27.4893	9170
+-122.0063	45.9726	8138
+-114.8608	45.9525	5632
+-88.9483	35.4893	7363
+-116.2965	36.6148	6631
+-107.3769	34.3195	5109
+-88.4488	37.4294	9370
+-115.5813	31.7626	7811
+-81.8743	26.1899	8085
+-88.1048	36.9437	8715
+-117.8619	33.7064	8739
+-81.206	29.8628	7299
+-81.6692	31.6603	5456
+-116.7568	32.2607	9090
+-122.2143	32.8771	3970
+-118.2462	30.0619	6365
+-115.2327	35.9345	6574
+-87.1584	36.7628	7745
+-115.0052	33.0725	7547
+-124.6313	47.4361	7635
+-90.9717	33.5717	4595
+-110.5991	30.2738	8026
+-116.4659	31.7764	8465
+-117.8066	45.3272	8299
+-109.7677	33.9096	6880
+-82.647	24.90	6598
+-89.4255	39.5857	8054
+-118.9635	35.5159	7150
+-93.0492	40.535	5966
+-114.762	33.4262	7202
+-124.3652	45.6256	7424
+-89.6615	36.675	8316
+-115.4529	35.589	7001
+-80.5667	26.6122	7691
+-118.3476	44.8676	7954
+-115.7747	31.4111	7697
+-92.3297	35.1625	5025
+-116.2199	35.0297	8035
+-88.0766	39.0063	8123
+-123.5454	47.7886	8458
+-108.0641	32.3244	6887
+-88.7609	36.8251	8871
+-88.4614	34.5312	6280
+-116.7302	33.994	8933
+-121.6357	46.1325	7942
+-112.4952	35.1848	4922
+-93.1712	38.0097	6315
+-84.0006	27.9821	7766
+-89.9807	37.6501	8162
+-123.452	45.5633	7949
+-116.7937	43.0306	5647
+-116.1686	34.9625	8037
+-112.7589	34.2408	5575
+-78.3415	30.0144	4905
+-89.7094	38.3326	8570
+-110.8542	33.1387	7696
+-80.4019	28.4107	7802
+-121.0366	48.2166	7141
+-88.6159	40.5531	6703
+-80.1019	26.2276	7009
+-111.1282	30.9609	8380
+-119.5058	46.9789	7666
+-87.0113	41.0369	5549
+-118.112	31.0668	7420
+-121.2293	46.1056	7541
+-114.7719	30.9724	6555
+-92.5852	39.5939	6883
+-90.2415	35.0317	6426
+-117.5321	47.9958	7101
+-124.005	45.4662	7559
+-88.1931	37.4472	9126
+-112.0119	31.1172	7586
+-81.8767	24.5583	6251
+-88.6667	37.7438	9673
+-117.5534	31.99	8622
+-123.3909	48.7049	7622
+-110.2376	29.739	7473
+-119.4913	45.8699	7958
+-108.9056	30.0172	7177
+-112.2859	33.4566	6542
+-114.1643	38.5448	3655
+-85.8221	36.4402	6235
+-122.0657	44.9911	7250
+-118.8117	34.2873	7844
+-79.2962	28.2219	6642
+-91.0531	40.153	7749
+-119.6608	30.8668	6043
+-117.404	34.4781	9133
+-80.0319	26.1267	6877
+-90.5976	38.6393	9164
+-85.9238	38.6973	6420
+-91.5779	36.3948	6578
+-90.4726	41.7767	6161
+-117.1399	33.9403	9286
+-87.3085	29.8596	3577
+-116.6317	34.8072	8528
+-112.4536	31.1694	7133
+-119.3868	36.705	5902
+-116.7144	34.8629	8540
+-111.0606	33.5652	7186
+-119.5919	36.5387	5888
+-116.2695	32.0981	8636
+-120.1538	35.192	6183
+-123.7141	47.3888	8599
+-88.6989	39.773	7300
+-117.4014	34.5777	9031
+-115.932	31.4927	7879
+-122.2491	49.4104	6828
+-88.5843	41.21	6140
+-116.6376	48.2449	6397
+-81.7001	27.0232	8919
+-92.5522	39.4632	6964
+-116.7905	34.2403	9006
+-122.9525	45.7941	8317
+-117.0608	47.0534	7619
+-86.9414	36.1993	7187
+-110.585	31.775	9131
+-114.6262	33.8473	6900
+-120.7888	43.3287	5304
+-121.7487	35.3578	4470
+-122.3882	45.7966	8203
+-114.9713	30.3135	6182
+-92.71	37.6978	6672
+-111.2655	33.1548	7494
+-117.6491	36.1041	7348
+-111.5342	33.5909	6939
+-118.1419	31.6954	7941
+-115.0332	35.6416	6598
+-113.0211	31.5703	6561
+-83.8253	29.2088	7377
+-81.8436	26.9869	8951
+-117.6458	30.1024	6632
+-118.2209	37.8936	5306
+-88.7624	35.0004	6823
+-90.206	38.625	9190
+-114.7911	48.127	4984
+-87.1503	36.9343	7824
+-82.1128	24.1511	5802
+-91.0704	37.5686	7951
+-125.0172	46.8298	7275
+-84.3723	29.5165	6678
+-117.9651	47.0021	8247
+-120.9921	46.3178	7392
+-118.8959	36.3876	6504
+-121.1923	48.8716	6795
+-118.1145	45.8339	8927
+-81.8468	28.9246	8543
+-114.8225	42.1873	3728
+-80.8708	26.1478	7570
+-89.2413	36.4766	8378
+-118.7044	49.8038	5313
+-88.1525	37.6874	9125
+-117.9248	45.7357	8719
+-108.7676	28.1645	5399
+-121.2983	49.1749	6609
+-122.329	45.7935	8173
+-118.2333	33.2556	8114
+-119.4876	44.9089	7467
+-117.5307	28.7138	5134
+-117.812	35.5669	7865
+-118.0932	35.9343	7376
+-115.0499	34.6935	7044
+-116.7378	32.6495	9437
+-87.2136	35.506	6829
+-121.9369	46.3449	8347
+-123.8294	46.8388	8576
+-89.7478	40.8488	7061
+-115.187	44.6829	5654
+-117.3759	32.0764	8809
+-115.5277	32.6166	8132
+-113.4243	43.3049	3324
+-84.2366	26.4301	7073
+-125.3026	48.1821	6648
+-79.4942	27.7417	6907
+-110.6669	33.9254	6910
+-115.3459	34.3378	7431
+-111.2499	31.3933	8459
+-116.1983	47.905	6340
+-117.9904	32.9703	8598
+-91.8558	43.2891	4281
+-118.4759	34.7202	8072
+-112.301	27.9338	4981
+-114.7269	35.0587	6589
+-90.6078	40.3806	7650
+-89.2445	37.7445	9271
+-79.7753	30.863	5489
+-116.2137	30.8811	7436
+-118.2515	34.5807	8358
+-120.0542	44.957	7028
+-91.7144	34.5561	5005
+-122.7706	31.4072	3091
+-115.7067	32.6984	8341
+-120.5372	43.6472	5733
+-116.0227	33.3102	8565
+-120.9817	47.5918	7390
+-122.5868	45.1892	7623
+-90.2651	36.2544	7504
+-116.5138	32.698	9231
+-81.7667	29.2829	8128
+-111.9092	36.4301	3952
+-117.6743	32.7651	8961
+-115.7523	35.09	7584
+-90.0517	42.058	5841
+-121.2453	31.3118	4694
+-115.7724	33.0907	8386
+-115.774	33.9624	7899
+-116.4984	34.1349	8700
+-109.8519	30.1354	7820
+-119.2824	39.2638	3525
+-90.1164	37.0166	8134
+-115.2271	31.7824	7496
+-84.8755	35.0659	4562
+-116.6421	32.7696	9387
+-87.6269	37.2839	8466
+-109.2129	31.2724	8214
+-123.2055	42.6364	4837
+-88.8928	39.1356	8159
+-111.9435	33.6332	6649
+-89.8652	37.3628	8536
+-122.496	47.0898	9142
+-115.8533	33.584	8245
+-115.5121	34.308	7615
+-111.8151	31.1367	7797
+-87.5385	35.6117	7128
+-90.6314	35.9473	6968
+-117.4429	29.187	5670
+-119.0696	47.4321	7622
+-83.4269	24.8496	6282
+-89.8086	38.5284	8760
+-119.176	49.1314	5914
+-87.9592	35.179	6880
+-91.0396	39.91	7988
+-90.7819	37.986	8496
+-110.9309	33.936	6844
+-91.9685	39.267	7627
+-87.7842	41.0675	5671
+-109.0504	30.0022	7268
+-122.7224	47.2369	9251
+-114.8662	36.9313	5517
+-89.8677	39.585	8367
+-78.1227	29.2717	5046
+-109.1781	30.0036	7353
+-112.7902	32.5737	6603
+-116.5971	48.0729	6512
+-115.112	33.4009	7584
+-120.2786	46.7899	7025
+-119.7832	47.9971	6699
+-92.4928	40.0747	6740
+-81.0538	28.5203	8403
+-118.0503	30.2987	6695
+-120.2954	43.808	6030
+-117.7429	32.7967	8887
+-121.8108	44.9171	7056
+-121.3058	47.9779	7532
+-115.7914	34.3747	7907
+-91.5048	33.9541	4637
+-124.7026	44.6181	6354
+-125.51	42.3261	3757
+-89.4507	36.9805	8728
+-119.294	31.9596	6986
+-121.0703	48.2623	7143
+-118.22	49.2245	5951
+-90.77	36.2798	7080
+-118.7924	32.9911	7707
+-116.8091	30.5054	7169
+-116.4657	35.8543	7467
+-125.4601	47.5302	6726
+-92.3191	35.9549	5760
+-118.0939	46.6079	8686
+-119.2156	42.8635	5693
+-88.6755	39.5117	7741
+-118.2171	31.1008	7385
+-118.9514	45.0604	7952
+-121.8857	44.9166	7093
+-124.3931	47.9319	7653
+-120.1677	45.2416	7068
+-112.9072	31.3197	6670
+-83.7615	28.0713	8018
+-116.49	32.7337	9213
+-87.7083	41.2803	5456
+-89.1236	37.8604	9359
+-119.1066	34.4926	7493
+-82.1157	27.78	9867
+-117.9144	33.3263	8409
+-119.2376	33.5765	7304
+-117.2083	44.2898	7031
+-88.3879	40.6338	6467
+-120.6286	45.8946	6767
+-122.6873	48.8822	7489
+-114.1137	34.1972	6098
+-119.8038	46.3378	7631
+-115.5449	33.2884	8082
+-91.1197	37.294	7666
+-119.9939	48.0535	6511
+-114.0573	33.4454	6433
+-110.4419	28.9479	6616
+-81.0106	25.7964	7327
+-118.1767	33.2394	8146
+-110.3181	28.8752	6539
+-108.7619	32.8375	7295
+-81.5541	28.9172	8435
+-121.9204	47.6798	8275
+-88.928	38.911	8406
+-114.6351	36.5383	5649
+-117.5096	44.3567	7241
+-126.352	48.3286	5529
+-108.2712	31.4002	7231
+-91.7197	42.1738	5463
+-117.0039	30.9242	7642
+-109.7754	33.3744	7441
+-118.597	34.0555	8084
+-91.8173	40.8778	6659
+-125.2126	47.7639	6919
+-120.1082	29.4557	4621
+-92.0349	37.7366	7336
+-116.5401	35.0829	8234
+-90.0749	37.7038	8249
+-115.9287	33.5015	8366
+-89.2654	38.8712	8212
+-112.5624	34.3582	5617
+-110.6985	36.9121	3686
+-90.3034	37.6778	8265
+-116.1133	33.984	8269
+-116.6154	46.4651	7452
+-91.5381	38.0376	7962
+-81.9883	28.7974	8715
+-120.8155	31.8778	5334
+-119.0192	46.284	8457
+-81.5854	29.8414	7465
+-88.4099	37.6024	9408
+-116.0278	30.659	7128
+-88.4936	39.1801	8088
+-116.77	47.0791	7352
+-124.2324	44.872	6879
+-88.9838	38.5631	8779
+-116.7725	31.0247	7742
+-125.0693	49.0517	6301
+-123.2879	47.2471	9080
+-89.6608	37.6905	8811
+-113.2745	31.242	6266
+-87.861	33.1083	4599
+-117.7549	33.8414	8917
+-117.13	35.3399	8213
+-119.2739	44.7347	7474
+-117.1532	44.847	7474
+-87.0595	40.5296	6073
+-80.6779	28.5903	8000
+-81.0893	26.5485	8077
+-122.0034	42.9495	5084
+-89.9373	39.8107	8184
+-117.822	32.6101	8771
+-122.3944	46.8551	9037
+-116.5695	32.1412	8879
+-118.6151	33.9671	8056
+-120.2894	47.9716	6355
+-117.9667	36.9037	6421
+-111.302	30.9494	8219
+-110.6652	31.4805	9097
+-92.1385	36.7284	6539
+-81.8928	28.9074	8573
+-111.2601	32.1266	8310
+-115.3794	44.4212	5708
+-120.6688	33.9159	5819
+-118.1493	32.1745	8252
+-91.8407	33.7738	4248
+-110.8541	32.3984	8426
+-90.9266	39.783	8166
+-107.1445	33.1122	5642
+-116.4198	29.5714	6082
+-119.5157	36.0087	6344
+-105.9623	33.9892	4068
+-90.0239	41.851	6060
+-88.8701	37.0917	9160
+-118.2057	31.5499	7776
+-111.2612	31.7974	8442
+-88.0502	37.7754	9002
+-83.5461	26.6355	7845
+-124.6941	44.6785	6412
+-83.1583	40.0943	2955
+-83.8508	25.9254	7044
+-81.432	27.6268	9083
+-89.1113	38.4281	8876
+-115.889	45.9954	6722
+-83.6386	24.888	6217
+-87.0622	41.3439	5265
+-90.0126	39.2835	8724
+-123.6933	44.0378	6273
+-117.4059	31.8361	8554
+-86.9939	36.4758	7418
+-120.2096	40.5221	3011
+-90.9267	37.9151	8351
+-84.77	25.0105	5577
+-90.7145	36.0076	6943
+-113.0915	29.109	5459
+-119.2307	44.6436	7420
+-79.6082	26.6684	6777
+-89.7705	36.311	7922
+-118.1769	34.7264	8353
+-118.2164	35.644	7591
+-86.3686	40.3938	5738
+-108.2257	28.2308	5183
+-118.9533	49.6082	5478
+-90.8583	35.7825	6655
+-110.3679	29.7598	7498
+-120.2411	31.2406	5699
+-119.3136	46.5285	8079
+-89.5916	42.3221	5481
+-115.7347	32.45	8319
+-116.1509	31.4522	7980
+-115.7324	31.9341	8060
+-116.7488	31.041	7758
+-124.0833	49.16	6868
+-90.9252	37.7325	8182
+-88.7679	39.6881	7411
+-117.1026	33.4369	9044
+-114.2493	33.7079	6563
+-123.089	48.9271	7442
+-91.5755	37.2484	7358
+-117.711	45.0115	7958
+-116.9603	32.169	9030
+-91.8823	39.2613	7717
+-118.8716	35.9878	6863
+-120.7658	31.6849	5331
+-116.1394	44.0214	6098
+-118.4118	45.0498	8140
+-116.0964	33.77	8201
+-87.7874	37.4536	8690
+-122.1668	44.9373	7236
+-84.4012	35.6671	4426
+-90.0718	40.3785	7637
+-82.3995	26.1309	8018
+-116.2025	35.9566	7235
+-118.6363	33.5843	7928
+-80.6311	24.1038	5414
+-90.5842	38.7563	9208
+-91.3192	38.7432	8416
+-118.987	35.0045	7434
+-117.9791	31.5803	7970
+-118.948	32.9584	7537
+-118.7072	28.2129	4263
+-82.1752	24.2053	5863
+-115.1079	31.5532	7246
+-118.0018	35.7679	7583
+-118.6847	36.6546	6382
+-87.2666	36.3853	7601
+-82.8272	27.0428	8758
+-113.9623	33.21	6373
+-110.2402	32.8233	8126
+-117.4752	31.517	8196
+-88.9673	38.2493	9123
+-88.4676	37.0219	9018
+-85.468	25.9648	5604
+-117.8849	33.892	8814
+-115.4889	33.0875	8077
+-91.164	38.1925	8390
+-116.456	45.3143	7154
+-115.5415	34.8262	7510
+-113.57	44.4121	3958
+-115.6536	35.321	7353
+-117.9085	42.3902	5312
+-89.0839	35.5233	7384
+-108.9932	33.9523	6525
+-117.156	31.4839	8251
+-115.9721	30.1736	6603
+-86.2764	34.9493	5678
+-83.6599	29.4973	7282
+-86.1634	35.4225	5958
+-114.7753	44.7566	5282
+-93.3091	40.8806	5523
+-124.5884	44.853	6634
+-118.8881	38.0546	4909
+-118.5087	36.2814	6831
+-87.6096	40.4395	6442
+-85.0003	29.5172	6092
+-110.9629	30.3165	7941
+-117.4666	45.7534	8321
+-90.6436	38.8368	9129
+-114.5636	32.5343	7054
+-114.4272	33.2308	6883
+-119.5375	46.3184	7912
+-82.1449	28.9599	8542
+-119.4279	35.072	6968
+-117.2385	49.1961	5800
+-116.0066	35.6815	7360
+-79.7213	27.231	7097
+-115.3353	32.795	7933
+-89.4771	35.7262	7496
+-110.5099	31.0583	8873
+-114.7345	35.1859	6547
+-125.0964	46.1915	7047
+-89.049	39.0043	7960
+-123.7974	45.9504	8117
+-86.7364	37.7387	7535
+-119.1418	35.8275	6781
+-88.1279	40.5916	6286
+-93.5934	40.4604	5504
+-90.1623	39.5765	8502
+-120.864	44.3263	5944
+-124.195	49.2159	6755
+-120.8189	47.1226	7313
+-91.1882	37.091	7437
+-114.4935	31.4425	6597
+-88.3738	39.4986	7711
+-81.1113	31.2765	5757
+-82.6851	27.8926	9252
+-81.2172	29.7449	7426
+-113.2563	31.214	6281
+-117.8263	46.1303	8776
+-89.8796	38.4647	8800
+-117.5492	48.0172	7086
+-115.7843	33.0776	8402
+-121.1126	34.5347	5320
+-117.0406	33.1825	9336
+-120.4999	46.5852	6857
+-110.8501	30.0963	7768
+-110.8533	30.0782	7748
+-110.9521	30.6084	8222
+-91.9607	36.9264	6826
+-117.5505	34.5703	8969
+-106.152	35.7972	3042
+-123.7811	45.9302	8112
+-89.8685	38.49	8803
+-88.9646	42.6254	4976
+-88.7331	38.457	8926
+-116.4785	35.1031	8175
+-121.9015	46.4143	8353
+-122.2321	45.0537	7380
+-119.9112	31.2775	6047
+-117.5729	32.8883	9072
+-81.5739	26.9809	8801
+-88.0532	39.0587	8059
+-122.5373	45.3984	7838
+-116.1304	31.3095	7830
+-90.204	39.3316	8768
+-118.8255	31.2454	7038
+-118.4407	46.3955	8906
+-87.8704	41.7484	5208
+-124.9488	48.1804	6990
+-84.7751	39.9828	4635
+-115.8044	34.4184	7913
+-121.6103	49.0883	6878
+-114.146	29.7151	5077
+-89.4386	39.2527	8271
+-109.1491	33.3162	7200
+-87.8804	37.321	8748
+-89.2995	37.533	9199
+-80.0937	28.0945	7555
+-87.5648	36.261	7740
+-87.8835	40.258	6741
+-86.2469	30.6916	4182
+-85.1579	34.7033	4574
+-116.6764	32.5758	9332
+-119.1772	31.8856	7077
+-119.8393	32.6621	6544
+-118.7697	46.0139	8737
+-90.9219	38.2932	8663
+-81.3914	29.2498	8016
+-117.9917	34.057	8743
+-80.8804	26.965	8210
+-81.6704	25.6521	7444
+-119.0637	36.6637	6152
+-117.9992	45.2854	8347
+-115.8013	31.7041	7956
+-122.5894	46.7811	9209
+-116.8083	43.9616	6509
+-119.1219	37.0304	5785
+-87.389	36.7502	7958
+-112.7592	34.8122	5098
+-110.7089	31.2331	8917
+-125.4792	47.9336	6580
+-117.2674	29.0467	5534
+-126.0532	48.0286	5951
+-115.3491	33.9636	7438
+-119.4807	32.0288	6814
+-119.2033	43.2607	6100
+-118.9572	34.2852	7686
+-88.5505	39.4248	7826
+-89.4341	36.2788	8087
+-90.6475	37.2031	7733
+-83.3789	25.9175	7370
+-82.4949	27.6517	9463
+-124.2771	43.5835	5593
+-114.6948	26.3651	2105
+-117.3859	33.3901	8960
+-86.9747	34.0602	5295
+-81.7778	25.6572	7472
+-91.7501	42.1162	5508
+-117.9572	33.6307	8606
+-117.9853	44.9699	8023
+-110.4384	34.8789	5901
+-122.9314	45.7231	8240
+-114.4438	33.1008	6921
+-116.6585	44.0374	6480
+-121.132	43.6482	5280
+-108.8719	29.2626	6502
+-81.8994	31.249	5944
+-86.786	39.2082	6997
+-117.9297	35.3113	8063
+-121.1235	46.6926	7631
+-122.6261	45.6311	8108
+-89.7383	39.5617	8307
+-91.8499	35.3286	5412
+-111.5524	34.855	5691
+-115.5478	29.7529	5987
+-90.6867	41.9239	5988
+-119.5857	43.6053	6280
+-109.9248	30.5794	8299
+-88.5861	41.2313	6122
+-117.0547	47.3954	7370
+-115.156	41.6325	3485
+-117.4891	46.0832	8419
+-123.8583	43.5626	5721
+-92.4163	38.1414	7137
+-122.7364	45.8076	8320
+-88.752	39.3491	7926
+-87.6129	37.0762	8361
+-78.7099	25.2825	5107
+-120.8487	34.8436	5554
+-123.5057	47.4679	8742
+-110.5913	31.8073	9103
+-89.1985	35.8711	7743
+-91.3318	40.3412	7428
+-119.4882	33.166	6895
+-118.0623	35.0379	8224
+-120.2942	46.4014	7107
+-82.5896	25.2654	7016
+-81.3367	27.7762	8991
+-108.0958	33.2256	6466
+-82.9617	29.7617	7448
+-82.2941	25.478	7297
+-119.4341	45.1457	7677
+-87.9376	38.0608	8784
+-123.5188	44.3576	6660
+-119.1104	48.8016	6268
+-123.203	48.0787	8340
+-107.7539	29.849	6106
+-121.3465	48.0069	7552
+-121.2994	43.8109	5719
+-91.6435	37.5087	7518
+-115.0198	44.7426	5517
+-83.8909	25.9173	7006
+-90.5785	41.3564	6607
+-115.9274	33.7573	8021
+-125.149	46.9065	7134
+-81.0157	24.8598	6369
+-88.197	39.1342	8047
+-120.3671	46.9344	6883
+-117.1267	32.6573	9501
+-120.878	48.9548	6491
+-116.0975	34.5273	8192
+-117.785	40.5204	3328
+-88.7728	39.3729	7899
+-85.1116	28.8369	6312
+-116.3674	32.6412	9056
+-111.2803	28.2564	5726
+-113.0968	46.4455	3755
+-112.6971	41.3942	1525
+-87.0479	39.0193	7360
+-82.6918	24.3705	5999
+-122.6948	47.119	9325
+-115.8167	33.8201	7920
+-117.8917	33.9634	8831
+-120.4545	45.551	6889
+-117.6021	34.4022	9069
+-112.7351	32.4924	6691
+-123.9916	47.884	8040
+-118.0906	46.3507	8926
+-112.7615	34.3852	5456
+-109.147	32.7231	7691
+-120.6302	36.7549	4886
+-113.8936	30.4079	5411
+-79.1379	25.0414	5311
+-114.1924	33.2548	6620
+-117.3355	36.7961	6632
+-108.6023	33.3114	6823
+-88.3948	32.8399	4382
+-82.9385	29.5504	7678
+-87.8331	38.8171	8152
+-120.3962	46.088	7023
+-89.4444	40.2464	7520
+-84.0543	38.2625	4483
+-116.8113	34.5593	8858
+-123.0273	47.0143	9457
+-118.3509	44.6608	7735
+-116.1585	33.7213	8248
+-122.6105	47.4959	8943
+-106.9717	31.6239	5831
+-118.2749	33.033	8274
+-115.8862	46.9835	6555
+-85.1663	28.5576	6346
+-119.7006	44.3533	6878
+-89.8771	32.9071	4330
+-92.041	43.0328	4475
+-116.278	31.4515	8047
+-118.631	38.0068	5058
+-120.9576	48.041	7168
+-107.526	33.4428	5825
+-89.723	36.3065	7949
+-83.4173	27.4299	8391
+-83.2429	25.0797	6604
+-120.0358	44.7838	6939
+-83.5715	27.9265	8255
+-119.4403	34.1781	7166
+-120.6876	48.35	6739
+-117.0687	34.8023	8777
+-115.0099	32.6664	7564
+-81.7043	32.8425	4129
+-89.5937	36.6083	8308
+-89.0652	41.9168	5727
+-112.2838	40.2616	922
+-119.6771	42.3558	5029
+-92.5048	35.9731	5658
+-117.0343	48.1685	6701
+-80.3443	27.9493	7858
+-89.6109	37.6881	8867
+-80.5276	29.0516	7566
+-118.2795	33.152	8241
+-92.3295	40.284	6753
+-93.3473	40.3174	5810
+-112.3089	26.8325	3899
+-115.9527	49.9657	4480
+-89.7008	37.3826	8719
+-84.9785	38.8154	5371
+-118.0164	47.8943	7339
+-110.662	30.4703	8216
+-86.1883	35.1311	5756
+-120.017	35.3829	6243
+-94.577	37.9733	4827
+-108.2773	33.8541	6155
+-84.7256	27.8959	6956
+-119.1302	32.4451	7304
+-89.9294	36.7001	8118
+-90.2213	38.4944	9098
+-120.9653	34.4745	5486
+-117.1711	33.8023	9162
+-118.0384	30.4639	6869
+-117.856	33.524	8613
+-117.9749	33.5992	8570
+-113.4341	30.9354	6041
+-117.3937	31.3037	7999
+-83.4496	30.5153	6444
+-117.9873	35.1503	8178
+-117.471	33.7225	9037
+-117.8995	47.9926	7215
+-115.4456	27.9768	4094
+-81.3811	26.6484	8368
+-116.9336	32.789	9705
+-120.0906	31.4202	5936
+-89.9434	38.6174	8929
+-116.5388	30.7946	7448
+-124.4392	43.9234	5860
+-116.1838	32.9351	8870
+-78.4093	33.3324	2316
+-114.7576	35.5344	6403
+-83.9144	27.6379	7872
+-122.2815	48.2426	8048
+-113.2872	34.451	5183
+-125.6694	48.2344	6260
+-119.6658	49.8643	5013
+-118.8176	42.1083	4995
+-110.31	28.4169	6043
+-109.3493	31.6081	8407
+-117.6751	32.1046	8632
+-121.1625	49.2046	6493
+-109.0969	29.1867	6552
+-122.7464	49.2281	7116
+-115.1614	33.2939	7670
+-81.3291	25.6302	7310
+-86.2413	25.2138	4421
+-90.5451	41.9251	5998
+-80.6033	28.5791	7932
+-108.7271	31.7267	7726
+-116.6073	34.625	8641
+-122.605	49.0375	7308
+-78.6497	27.8877	5949
+-90.42	39.3271	8801
+-82.0008	31.3756	5807
+-117.619	47.0193	8059
+-84.7463	28.1348	6907
+-111.489	31.31	8187
+-86.8427	28.6605	4469
+-117.5874	47.5906	7518
+-121.3957	32.8908	4834
+-113.5526	32.9087	5943
+-92.9769	34.4093	3974
+-118.7564	34.5583	7848
+-87.648	30.6974	2827
+-92.647	35.8363	5447
+-88.4765	34.7346	6509
+-122.5965	46.2124	8713
+-117.2435	33.4338	8998
+-120.0366	46.8719	7232
+-116.5029	46.465	7336
+-124.859	48.0439	7150
+-114.6744	34.518	6679
+-123.1633	47.0996	9282
+-92.2339	38.4265	7399
+-125.4759	44.354	5575
+-111.4663	31.3061	8210
+-118.7621	34.6663	7806
+-87.4759	37.5458	8360
+-119.6093	45.2161	7573
+-87.5349	38.7183	7997
+-89.0441	39.7033	7653
+-86.3543	38.9491	6748
+-122.0042	46.2558	8350
+-120.9519	31.0354	4884
+-111.8845	34.5255	5870
+-89.1967	37.5304	9309
+-91.7155	38.771	7988
+-107.6436	30.5353	6346
+-82.4023	29.4792	7931
+-82.701	27.6792	9243
+-112.03	32.2083	7515
+-93.15	38.9228	6436
+-116.1201	33.8089	8238
+-113.4397	36.3906	4691
+-114.7185	34.4836	6732
+-116.5259	45.9745	7395
+-118.0858	32.3371	8395
+-91.8033	38.7241	7894
+-117.2015	28.9664	5450
+-115.4401	34.8106	7413
+-124.1421	45.536	7525
+-119.5449	48.1461	6715
+-118.5816	43.068	6034
+-80.6657	27.3956	8180
+-82.4029	27.0474	9024
+-82.5218	27.2641	9174
+-89.4896	39.7258	7998
+-93.8651	38.2163	5628
+-114.2696	43.9886	4457
+-82.4415	30.8243	6416
+-113.3942	33.374	5631
+-80.822	30.2525	6713
+-110.0044	31.7109	9091
+-117.9398	35.8003	7577
+-111.7156	33.9196	6532
+-125.2114	45.2007	6410
+-118.9355	33.3243	7515
+-114.4717	34.5349	6458
+-118.8093	44.1123	7083
+-123.8281	46.8464	8578
+-80.9882	27.1176	8403
+-120.5622	48.7679	6364
+-93.5533	36.368	5151
+-108.8871	33.6635	6729
+-88.3232	36.0596	7944
+-88.0256	38.9578	8143
+-119.4569	45.3527	7787
+-115.1198	44.6412	5571
+-118.7506	33.9473	7906
+-107.8732	33.6454	5996
+-92.1306	38.0819	7408
+-119.6531	47.1971	7402
+-120.6223	46.9459	7104
+-116.5142	36.6754	6646
+-120.2984	32.5946	6028
+-89.7131	41.4667	6408
+-76.2265	28.6839	3130
+-119.6476	34.7792	6847
+-123.6911	48.9517	7258
+-85.363	28.5784	6125
+-113.0762	29.0406	5421
+-112.393	30.6785	7036
+-88.5473	38.5795	8761
+-78.1379	27.8551	5371
+-122.2485	46.8328	8875
+-87.598	36.3532	7842
+-119.5077	35.0133	6912
+-110.3549	31.3153	9182
+-88.4633	35.8194	7714
+-116.7024	31.4454	8195
+-117.8875	34.5884	8698
+-118.4023	44.9966	8085
+-117.0439	31.9143	8743
+-116.58	31.6927	8427
+-86.1566	38.2085	6823
+-117.4324	35.2018	8358
+-88.3361	38.8938	8355
+-126.0908	46.6644	6085
+-120.4527	34.4754	6042
+-121.3672	34.8459	4998
+-118.0244	31.7074	8043
+-107.3333	31.6425	6223
+-90.0639	41.1467	6818
+-123.5397	46.8545	8893
+-116.78	43.9677	6497
+-111.5719	33.5474	6958
+-88.9963	38.4947	8850
+-87.105	39.0549	7384
+-118.5712	33.8483	8081
+-81.7534	31.3091	5862
+-123.0434	48.0012	8459
+-80.9869	29.3284	7701
+-120.9756	46.7621	7480
+-115.9555	43.5339	5591
+-109.1046	32.0621	8045
+-110.3655	30.818	8644
+-87.0884	37.0686	7815
+-82.2314	28.1245	9473
+-117.968	47.8834	7343
+-122.5435	44.8685	7268
+-121.6624	46.043	7910
+-111.8028	31.784	7867
+-111.0742	33.7278	7015
+-121.5844	30.1199	3788
+-86.0335	28.9054	5296
+-89.1549	37.6509	9379
+-113.1674	33.0299	6026
+-121.4976	46.5178	7988
+-119.7623	33.6815	6771
+-118.5547	32.9815	7972
+-84.3066	28.7574	7190
+-110.4109	30.7159	8530
+-113.9761	31.8101	6233
+-81.4832	30.4456	6774
+-93.325	36.3139	5308
+-123.1096	43.8951	6224
+-119.8152	45.4227	7487
+-117.407	35.0058	8574
+-82.1045	24.6025	6313
+-122.6972	48.7367	7649
+-117.4629	34.0316	9297
+-118.558	33.7523	8069
+-112.4839	30.9989	7059
+-120.1285	42.6207	5090
+-114.1261	36.286	5385
+-90.9018	42.6472	5187
+-115.8425	35.7212	7211
+-92.1861	36.558	6365
+-91.7163	37.4862	7445
+-123.3411	40.3899	2365
+-114.5594	29.0623	4778
+-81.1471	27.8527	8772
+-116.5151	33.2089	9086
+-81.2426	27.4638	8828
+-117.5771	33.4292	8698
+-82.2838	27.6122	9649
+-110.0986	28.2913	5898
+-116.1982	32.8636	8894
+-82.3978	26.2458	8146
+-116.6241	35.1587	8218
+-118.4507	32.3591	8021
+-84.5953	28.9952	6780
+-110.8982	30.3476	8001
+-90.0575	35.4754	6961
+-112.0436	30.127	7040
+-79.7671	29.9826	6225
+-122.0824	46.7983	8689
+-118.0106	33.346	8356
+-89.1322	40.1242	7421
+-120.4632	34.276	6047
+-87.0618	38.5108	7679
+-92.9156	39.0889	6671
+-89.3495	35.6381	7447
+-119.6725	33.8033	6889
+-107.9818	31.2646	6902
+-115.5036	46.4536	6293
+-115.7774	47.098	6404
+-83.2529	29.0521	7964
+-124.3982	43.9799	5935
+-119.2345	31.4965	6826
+-123.4227	45.7723	8174
+-107.4185	34.6727	4872
+-85.029	34.3662	4218
+-83.4791	25.1814	6595
+-122.492	48.0582	8326
+-119.6344	43.3992	6062
+-92.3827	35.5997	5403
+-107.4425	33.4051	5771
+-89.643	35.283	6965
+-116.7976	33.0801	9404
+-113.3575	30.6197	6035
+-117.6602	42.63	5527
+-86.3528	36.1343	6606
+-85.8246	36.6828	6333
+-89.3782	37.9233	9070
+-91.4558	38.581	8254
+-89.3051	42.0722	5660
+-117.0304	32.6641	9568
+-118.471	29.9935	6185
+-90.2686	40.2753	7776
+-117.7159	34.6062	8826
+-91.1934	36.2377	6579
+-80.72	26.3116	7598
+-83.2055	31.8564	5109
+-123.2427	49.2949	7021
+-118.5417	33.2787	7864
+-87.9149	38.7305	8285
+-125.352	48.9332	6153
+-119.9552	45.3981	7340
+-117.7857	36.6752	6708
+-119.2036	47.4596	7522
+-120.0612	47.1003	7100
+-110.7161	33.4914	7365
+-117.5773	46.8741	8151
+-86.622	39.228	6837
+-110.2354	30.4965	8291
+-113.7227	47.522	4201
+-92.8508	38.691	6764
+-120.3974	47.978	6641
+-112.9892	28.6453	5183
+-124.0841	43.7472	5838
+-109.8434	33.0019	7848
+-116.2124	35.128	7957
+-91.346	37.3261	7572
+-124.0508	43.478	5570
+-124.376	46.9681	7985
+-123.4478	42.3374	4485
+-113.9262	33.4094	6298
+-85.583	28.2336	5954
+-112.1538	35.6385	4657
+-117.9832	46.55	8688
+-94.0735	38.7124	5447
+-115.5197	45.3643	6232
+-89.1829	38.8636	8125
+-118.7436	48.397	6779
+-109.9588	27.5463	5081
+-113.4725	32.2223	6003
+-119.891	32.4031	6458
+-118.6888	32.2332	7725
+-91.6229	41.1496	6513
+-119.603	42.7114	5409
+-82.4759	27.9911	9429
+-115.1153	41.5644	3401
+-91.1943	37.5582	7871
+-116.9027	31.007	7733
+-88.6808	37.5845	9682
+-118.5965	32.1656	7795
+-116.476	34.1568	8675
+-87.5536	36.7579	8114
+-116.5412	37.5606	5717
+-122.1849	30.3845	3331
+-89.4195	40.3949	7370
+-115.9016	36.1815	6853
+-87.9429	38.6314	8391
+-87.2075	37.1226	7962
+-83.1549	26.3011	7871
+-121.9226	46.9833	8532
+-119.8548	48.4174	6295
+-116.2031	30.5792	7116
+-115.5498	36.5579	6297
+-119.0636	32.4506	7378
+-123.7859	45.7261	7931
+-81.0301	28.9034	8100
+-87.9789	37.7336	8928
+-123.1217	45.7553	8253
+-82.7474	25.2694	6983
+-111.4179	26.0835	3400
+-117.3187	35.2502	8318
+-81.5781	29.7805	7529
+-107.969	31.6628	6910
+-116.0105	33.605	8371
+-114.3656	33.2797	6806
+-87.4095	37.3337	8247
+-85.5849	42.4841	3334
+-125.8893	48.3152	6003
+-118.3755	43.4328	6434
+-118.0857	35.8741	7439
+-90.8448	39.7337	8253
+-108.8696	33.9186	6487
+-86.5042	38.7217	7013
+-120.4528	45.9217	6955
+-114.0807	35.7926	5620
+-121.4405	48.9947	6861
+-82.84	26.0749	7818
+-92.2418	40.3826	6758
+-92.5918	34.9316	4670
+-121.2615	32.0128	4879
+-119.7733	33.798	6779
+-112.6217	34.1955	5711
+-110.3365	33.1838	7739
+-122.8386	45.0559	7506
+-115.1683	32.6736	7741
+-125.5078	46.9589	6741
+-116.4275	33.8974	8587
+-117.684	49.2906	5822
+-117.9193	29.064	5434
+-112.7101	31.6191	6898
+-83.758	30.4053	6387
+-110.2612	34.5102	6301
+-86.7934	41.72	4754
+-121.1542	44.7948	6545
+-87.14	36.0905	7273
+-123.6715	43.899	6131
+-124.0795	46.4007	8169
+-121.2356	45.1645	6911
+-117.25	33.5535	8905
+-90.179	37.6413	8209
+-111.2693	34.4058	6252
+-80.0588	24.549	5561
+-114.1018	34.726	6026
+-89.1591	37.6534	9374
+-108.1162	32.744	6762
+-81.3778	26.4036	8129
+-88.2402	39.8621	7280
+-80.5962	29.4202	7338
+-126.886	45.3164	4867
+-82.756	26.7636	8557
+-88.6885	37.784	9656
+-92.2349	40.7882	6456
+-115.6817	29.8373	6134
+-122.2825	43.276	5495
+-89.1061	39.123	7990
+-116.3602	45.6534	7170
+-116.2529	33.4072	8720
+-81.3658	29.4454	7804
+-92.6554	38.3911	6945
+-119.0604	31.9786	7237
+-92.0637	37.7874	7337
+-90.7389	34.5593	5684
+-84.4605	28.8349	6995
+-85.4531	29.3975	5708
+-106.6768	29.5618	4947
+-119.38	44.4061	7123
+-113.462	31.3809	6077
+-120.3518	42.8707	5199
+-78.9346	28.9478	6035
+-115.4902	33.3332	8008
+-88.5357	36.9781	9001
+-92.4472	38.757	7200
+-121.3815	45.765	7479
+-122.5877	45.6697	8141
+-124.2145	48.2311	7602
+-115.6077	33.9859	7721
+-117.7809	31.4338	7963
+-91.8108	36.8362	6851
+-117.618	46.1855	8550
+-118.9068	45.3077	8193
+-118.8191	44.8913	7860
+-121.7381	34.3266	4656
+-78.5195	28.9893	5576
+-118.8008	34.1754	7864
+-92.4639	39.6434	6984
+-93.8007	37.8499	5615
+-119.5258	31.4954	6540
+-79.518	26.9994	6809
+-112.9255	31.007	6596
+-120.4832	46.5927	6873
+-116.7969	29.4229	5963
+-90.5708	37.7219	8298
+-115.6625	35.4105	7301
+-88.419	37.8987	9346
+-79.305	24.7506	5215
+-88.384	42.5008	4843
+-91.653	34.4646	4977
+-91.7657	36.857	6898
+-119.8478	36.0514	6030
+-78.8011	31.0423	4606
+-92.5264	37.6957	6850
+-89.9537	39.1231	8811
+-120.6924	47.3505	7144
+-77.1763	24.3039	3051
+-121.5073	47.2184	8051
+-112.7601	33.5518	6088
+-123.0171	44.746	7163
+-122.0393	45.1937	7441
+-118.7496	34.057	7918
+-81.4688	26.6934	8464
+-89.9793	41.6143	6307
+-117.0819	28.6241	5075
+-116.3026	35.6117	7613
+-109.6511	33.0103	7760
+-116.9004	33.6893	8910
+-83.0651	25.4658	7084
+-109.8731	31.8536	8895
+-117.842	32.8469	8776
+-117.7476	44.975	7941
+-82.8884	28.9251	8328
+-118.8115	33.2959	7621
+-119.4159	43.9264	6665
+-89.9685	34.8413	6369
+-87.4374	36.2912	7669
+-116.2781	37.61	5595
+-86.6583	37.4612	7437
+-124.1948	46.2615	7986
+-109.998	31.0515	8792
+-126.273	48.5971	5490
+-122.0324	44.2249	6447
+-82.2012	28.4536	9111
+-91.2187	39.3818	8295
+-89.6606	37.3087	8734
+-117.1347	31.375	8134
+-112.8599	29.3702	5834
+-116.5971	33.8506	8745
+-87.4676	34.5295	6004
+-120.6146	47.0475	7094
+-87.6067	36.6151	8058
+-92.1043	37.8202	7316
+-115.995	48.3945	5828
+-80.814	31.4894	5424
+-119.6396	46.1341	7824
+-89.833	36.3455	7910
+-107.5538	32.3957	6336
+-79.4905	24.5898	5217
+-112.122	29.3368	6362
+-117.8858	32.3432	8600
+-122.5869	47.6743	8756
+-88.6953	41.5202	5928
+-87.7691	37.6435	8695
+-82.5276	28.4867	8964
+-119.1874	45.8291	8261
+-121.26	49.6739	6129
+-112.7171	32.8396	6554
+-117.2699	32.874	9409
+-89.8278	37.8799	8312
+-117.1115	35.142	8425
+-86.5058	36.8889	7132
+-121.0142	47.6872	7388
+-84.2185	28.5814	7360
+-126.2746	45.6149	5612
+-119.2088	33.0584	7116
+-117.7803	31.8107	8310
+-120.6776	44.2944	6085
+-82.3188	30.898	6344
+-91.1644	37.4808	7818
+-110.9687	31.4527	8771
+-125.1565	45.0645	6364
+-95.0955	37.1256	4052
+-110.1273	28.4737	6097
+-117.4612	33.0963	9119
+-115.4199	34.6254	7453
+-116.4606	32.8557	9187
+-111.7689	35.4095	5046
+-124.1473	45.163	7197
+-91.2255	36.7241	7060
+-121.9191	49.455	6668
+-90.917	38.9277	8818
+-80.3848	27.9975	7897
+-115.4849	35.1603	7295
+-112.4891	30.4352	6827
+-120.6465	36.9286	4754
+-93.182	34.7522	4164
+-114.3834	33.084	6856
+-119.298	34.8801	7177
+-85.952	36.2662	6287
+-85.2111	37.706	5824
+-109.5309	27.9575	5450
+-111.0514	29.6943	7284
+-111.0564	32.8271	7915
+-90.3471	36.1036	7320
+-123.1444	44.4604	6840
+-80.1221	26.5842	7253
+-107.3623	28.9664	5184
+-116.9026	36.5241	6900
+-91.5728	38.573	8128
+-122.9941	49.7457	6551
+-88.4581	41.9392	5409
+-122.8796	49.8897	6395
+-109.0291	31.2164	8006
+-120.0539	36.2554	5717
+-111.7096	32.3745	7754
+-118.5205	42.2179	5141
+-118.2688	44.7098	7788
+-85.0852	27.2616	6504
+-118.8053	33.7789	7816
+-119.8308	33.6119	6684
+-118.3299	45.1486	8252
+-118.1059	45.0916	8176
+-116.8601	34.256	9075
+-119.3887	48.8794	6093
+-117.1011	33.1504	9351
+-114.7128	34.697	6685
+-88.7979	39.9865	7257
+-84.6746	27.2143	6950
+-91.9966	35.0742	5098
+-89.4688	39.7214	7986
+-114.9103	33.6874	7262
+-88.4559	33.1823	4770
+-117.3996	42.2881	5116
+-115.2458	32.5686	7814
+-116.6174	34.2954	8808
+-80.8669	27.2937	8363
+-89.938	37.5747	8496
+-118.9212	46.2951	8554
+-117.291	42.4564	5261
+-90.294	38.2091	8833
+-115.2247	46.6924	5961
+-88.8278	34.2973	6033
+-116.3055	34.1694	8489
+-123.834	47.9302	8132
+-120.0925	32.9558	6198
+-113.5661	30.7738	5863
+-89.1949	39.0801	8095
+-124.0469	43.8494	5957
+-108.7831	34.4459	5946
+-80.4158	27.3756	7900
+-83.5495	25.5538	6920
+-120.6134	46.1946	6791
+-117.2837	33.438	8779
+-89.9638	39.0127	8891
+-116.8408	34.1661	9072
+-115.0725	33.533	7494
+-115.876	30.8173	7213
+-89.6523	37.2724	8727
+-109.1798	33.4306	7114
+-115.0302	33.8999	7278
+-117.9001	34.7217	8595
+-88.7811	40.5474	6829
+-116.0035	33.5241	8420
+-107.497	33.2119	5930
+-118.2732	31.803	7908
+-119.2794	42.1871	4984
+-90.2432	36.286	7546
+-89.0724	36.016	7931
+-89.8222	38.2636	8624
+-115.3589	34.101	7457
+-112.8854	36.6053	4051
+-117.0252	48.5959	6300
+-119.7002	45.0957	7421
+-115.8996	33.0649	8531
+-122.0084	46.9764	8627
+-121.836	49.2694	6819
+-113.2979	33.4153	5698
+-116.8351	45.5466	7619
+-106.6633	31.7628	5493
+-122.5456	46.2721	8750
+-112.5409	34.0666	5874
+-119.2313	49.9542	5057
+-83.1174	39.5748	3122
+-88.0488	36.8919	8630
+-88.4084	39.6387	7564
+-118.3456	49.2104	5966
+-84.0451	30.0953	6484
+-89.5811	39.0148	8514
+-109.7155	32.7777	8017
+-88.6357	34.9319	6743
+-81.8586	28.7961	8687
+-94.777	37.3432	4452
+-82.429	28.5636	8931
+-112.5476	29.3521	6068
+-117.5781	34.2989	9153
+-83.1278	29.7829	7349
+-110.1366	31.4749	9230
+-124.3341	44.5218	6492
+-117.0558	33.4153	9078
+-111.7246	28.4281	5737
+-123.7245	47.0182	8699
+-108.951	32.5469	7648
+-90.6945	36.4237	7241
+-118.6575	46.5816	8615
+-84.871	28.7364	6607
+-87.8743	37.869	8788
+-119.2092	43.6654	6502
+-126.4455	44.3035	4735
+-118.6032	39.1752	3848
+-109.9743	32.2257	8676
+-115.4325	32.8446	8041
+-117.2485	36.338	7133
+-113.2946	30.8042	6156
+-85.7494	38.3555	6341
+-121.6623	48.4963	7444
+-118.8918	47.3136	7823
+-83.4192	28.714	8086
+-119.9462	45.3812	7342
+-116.7094	42.9431	5525
+-124.0143	46.2101	8127
+-111.6302	31.0693	7962
+-81.2959	31.0869	6018
+-89.5138	40.8436	6981
+-116.4472	34.3323	8618
+-127.7273	43.2944	2943
+-116.1037	35.3058	7736
+-113.6941	32.9494	6100
+-80.6529	29.9251	6931
+-110.5052	34.0021	6846
+-117.5532	45.0482	7905
+-115.1155	30.8529	6743
+-109.1111	28.9634	6341
+-90.8857	37.6378	8109
+-89.8492	40.4203	7534
+-110.1114	29.1991	6879
+-110.8487	30.0995	7772
+-114.7124	36.5214	5724
+-120.2981	45.5737	7055
+-117.0019	34.5922	8960
+-92.9516	36.9376	6036
+-109.7591	35.3288	5368
+-118.6714	46.8427	8373
+-111.1183	30.0351	7593
+-111.8547	28.9369	6166
+-125.5017	44.0708	5329
+-92.1629	38.036	7358
+-88.3433	37.6778	9340
+-79.3141	26.0207	6141
+-121.9585	43.9755	6161
+-87.7321	40.6565	6263
+-124.2011	46.4566	8071
+-124.329	46.4281	7928
+-88.0749	39.9918	7091
+-94.3882	40.3495	4776
+-120.7588	33.811	5712
+-116.129	30.6609	7173
+-125.1863	49.2329	6069
+-118.4644	45.6647	8761
+-111.1943	28.5233	6029
+-86.4224	33.3813	4333
+-122.0798	46.779	8682
+-122.3974	44.0235	6326
+-91.2527	38.844	8482
+-90.3367	38.9602	9192
+-119.8679	42.0718	4676
+-116.1494	45.8218	6981
+-93.3245	37.1948	5838
+-120.0029	48.5219	6115
+-115.1582	36.9045	5740
+-120.5044	33.2227	5869
+-117.5878	44.8768	7770
+-118.0272	47.2884	7973
+-120.8811	43.6312	5465
+-118.9265	34.6161	7652
+-110.2322	34.9906	5780
+-86.4099	41.1906	5056
+-119.8032	45.2932	7438
+-91.1557	37.8203	8122
+-112.2283	32.3017	7278
+-118.0858	43.8369	6855
+-116.0341	34.5307	8125
+-125.7046	48.0339	6309
+-79.1407	32.5575	3502
+-119.502	49.3289	5605
+-87.7624	36.9121	8406
+-108.7982	29.8173	6938
+-109.8757	28.7234	6336
+-93.1382	37.6091	6210
+-88.757	38.2616	9146
+-119.0537	44.0244	6916
+-110.2351	29.8382	7580
+-123.1728	46.8784	9291
+-90.1338	35.1738	6624
+-117.2051	31.1096	7830
+-90.9567	35.5025	6359
+-84.5546	27.3302	7109
+-107.9294	33.1641	6356
+-113.345	30.9322	6135
+-89.317	38.037	9070
+-124.7762	46.1521	7359
+-116.7952	32.132	8966
+-88.1277	34.9294	6661
+-86.6915	38.3066	7377
+-125.0608	43.5361	5152
+-111.0845	32.7131	8004
+-80.9926	25.4543	6975
+-84.5481	29.601	6462
+-79.1899	30.497	5350
+-113.9765	36.5386	5092
+-119.0138	32.1964	7367
+-123.6187	43.9069	6153
+-117.068	32.5372	9421
+-114.612	37.1305	5171
+-88.6743	36.9497	9004
+-89.3998	38.1793	8900
+-112.2061	30.6145	7189
+-124.9253	44.1625	5806
+-116.071	42.1093	4428
+-92.2165	37.3311	6926
+-90.2559	35.874	7200
+-86.0916	38.963	6478
+-118.152	48.5842	6626
+-86.1829	26.1213	4947
+-124.8472	47.3112	7434
+-89.1476	37.2633	9193
+-124.2213	46.7408	8134
+-93.0338	37.2327	6133
+-81.2707	25.3197	6957
+-86.985	39.3166	7089
+-95.9366	41.2155	2875
+-118.39	44.1004	7140
+-108.8993	34.227	6215
+-110.3647	33.454	7446
+-114.8858	32.4167	7389
+-116.7522	46.7953	7480
+-120.2767	33.1589	6087
+-87.6597	39.2077	7685
+-120.7757	34.919	5615
+-123.6858	48.3423	7866
+-107.9944	30.5703	6712
+-116.2368	34.6301	8291
+-118.0937	36.6816	6615
+-121.9696	43.7829	5962
+-119.4493	33.2275	6960
+-86.5749	38.2901	7257
+-115.5997	46.7043	6347
+-112.7936	37.2363	3599
+-119.0159	47.5047	7583
+-80.264	27.3871	7734
+-91.195	38.0169	8245
+-121.6877	32.1399	4433
+-109.8422	33.7104	7108
+-82.9712	28.612	8546
+-88.6298	40.955	6388
+-89.9578	38.9073	8935
+-87.1438	39.3794	7166
+-120.7304	35.5858	5441
+-121.4602	47.9691	7679
+-87.426	39.3519	7397
+-117.7546	31.4363	7980
+-126.5677	45.7762	5370
+-116.1366	35.8427	7303
+-89.8564	36.8434	8282
+-113.4769	29.8121	5564
+-123.6559	48.9717	7252
+-107.7157	34.3932	5313
+-117.6103	44.9499	7849
+-114.673	34.4043	6693
+-87.7622	39.049	7896
+-89.2761	34.272	5963
+-80.9773	27.1519	8411
+-81.8235	27.0391	8998
+-114.8933	31.82	7187
+-124.1376	44.758	6825
+-119.481	46.4656	7934
+-88.9508	35.6488	7541
+-93.2749	38.3253	6274
+-127.3717	47.215	4686
+-114.6702	48.8408	4458
+-121.7686	48.5927	7430
+-90.9402	35.5598	6418
+-122.3417	45.2794	7654
+-82.5514	26.0872	7934
+-113.0368	31.5887	6544
+-89.0384	42.4558	5175
+-89.8678	34.2461	5782
+-85.8076	27.7281	5735
+-80.7283	27.9513	8289
+-117.1426	47.3357	7480
+-88.065	39.0913	8032
+-81.8057	26.4998	8412
+-95.4003	38.8537	4016
+-116.7066	33.3675	9073
+-119.9415	33.0574	6393
+-123.4352	47.0199	9015
+-115.6764	37.3595	5614
+-113.2763	35.1298	5051
+-123.6711	44.9335	7217
+-124.5017	41.3194	3157
+-115.1163	33.8691	7379
+-88.1931	40.9851	6051
+-116.306	32.3404	8845
+-84.3694	29.044	6979
+-123.9026	47.9423	8069
+-122.0639	48.1664	8000
+-91.7383	39.0887	7919
+-89.2949	36.4456	8322
+-125.9446	47.4043	6227
+-86.6775	41.0372	5363
+-106.9154	35.0718	4182
+-122.8197	47.2683	9263
+-115.9756	32.8708	8646
+-88.2476	42.5067	4767
+-80.3417	29.2627	7252
+-108.3455	29.7488	6543
+-115.9939	35.4506	7540
+-88.6532	38.5339	8833
+-112.5717	27.4235	4356
+-92.9389	33.2614	2899
+-112.185	30.4002	7093
+-81.4509	27.7676	9120
+-114.6609	32.7564	7180
+-122.3095	47.4629	8759
+-119.1106	45.3004	8042
+-115.639	27.7829	3946
+-89.0459	40.4781	7069
+-87.9219	39.187	7862
+-91.8808	33.8726	4306
+-121.8698	45.1085	7272
+-121.5647	32.9151	4665
+-82.6822	24.7234	6394
+-87.7232	35.7717	7388
+-79.5457	29.8018	6168
+-83.7869	27.5445	8005
+-123.5836	47.518	8641
+-107.6101	30.1104	6119
+-117.1904	33.4639	8803
+-83.5419	27.1693	8162
+-120.7728	47.7642	7110
+-122.9426	49.8618	6425
+-107.8405	31.1499	6732
+-88.7258	42.1208	5376
+-81.6795	24.8859	6593
+-87.0747	38.9237	7449
+-119.7046	45.9756	7750
+-120.3043	47.4713	6674
+-117.0174	36.026	7455
+-114.2117	28.1649	3872
+-83.5517	29.0907	7697
+-116.3412	31.4452	8072
+-107.7905	31.8038	6708
+-110.5988	31.2013	8970
+-92.6118	37.705	6771
+-117.3559	35.4876	8057
+-90.1568	37.5433	8101
+-88.1712	34.0179	5666
+-118.9238	31.481	7110
+-114.019	33.2212	6434
+-117.5586	34.0699	9212
+-125.0143	45.6006	6841
+-124.3309	44.8118	6764
+-111.9925	30.4493	7296
+-122.7423	46.2645	8816
+-119.7524	46.9174	7480
+-120.5966	43.7271	5751
+-86.9201	36.3783	7288
+-92.3757	38.1354	7177
+-80.3002	24.0056	5159
+-87.6149	25.0534	2973
+-122.3418	47.3398	8868
+-81.0656	29.1115	7950
+-119.2403	29.8214	5558
+-93.3692	38.1726	6146
+-91.9694	35.2385	5271
+-93.3627	38.682	6212
+-91.2472	40.7599	7066
+-109.5114	29.8683	7413
+-124.1454	49.1358	6858
+-121.0181	44.3636	6077
+-91.4675	36.2294	6467
+-117.1127	34.2384	9335
+-89.5888	37.3051	8807
+-114.2804	34.2553	6278
+-115.8627	32.4862	8468
+-88.0792	42.096	5046
+-118.3159	47.1856	8110
+-104.7122	32.5912	3286
+-85.9892	37.223	6658
+-92.2095	39.6843	7213
+-117.9041	46.5976	8598
+-125.3086	47.3191	6932
+-80.2328	26.2763	7160
+-118.2581	43.9562	6990
+-79.5345	29.2371	6514
+-87.5426	35.1197	6644
+-110.0247	30.8296	8591
+-124.7603	46.2804	7428
+-91.5288	38.9471	8172
+-110.0054	30.2491	7985
+-90.9876	38.7255	8772
+-89.0431	36.3013	8252
+-79.519	25.8704	6239
+-87.5425	39.7623	7090
+-122.8143	48.4158	8011
+-91.2347	37.7348	7996
+-115.42	44.0455	5528
+-115.6997	29.3513	5637
+-117.7181	34.9586	8512
+-110.5014	28.9226	6585
+-118.4382	33.0863	8084
+-109.5604	36.1716	4432
+-118.5259	48.3656	6847
+-106.3197	36.6465	2473
+-117.4883	33.9212	9203
+-110.3257	31.4535	9333
+-122.5247	45.1947	7616
+-110.6403	27.6033	5149
+-82.9472	26.7501	8419
+-112.8368	33.9849	5715
+-119.3092	44.3329	7096
+-111.8832	34.7747	5630
+-92.2167	37.4599	7008
+-80.8095	28.685	8070
+-87.8553	36.0849	7767
+-90.8692	36.1276	6891
+-115.9075	48.465	5710
+-116.6318	36.7183	6634
+-90.9877	38.0961	8465
+-91.6067	37.7088	7693
+-118.5861	37.9928	5089
+-123.1511	46.101	8616
+-80.404	24.8086	6016
+-116.9156	33.748	8969
+-117.14	32.421	9271
+-119.1455	33.9593	7480
+-89.1381	39.4173	7902
+-111.0601	28.5945	6141
+-90.2149	36.3765	7638
+-119.5038	30.82	6152
+-117.1432	29.7339	6309
+-90.262	36.7684	7857
+-88.4149	39.1654	8086
+-82.5456	29.7197	7634
+-114.6639	47.4004	5187
+-88.2224	36.5254	8397
+-89.5769	39.0071	8512
+-118.5572	26.8652	2882
+-83.0777	26.8029	8366
+-118.6823	34.6315	7901
+-120.7819	43.4488	5402
+-79.8503	26.9608	7153
+-122.1047	44.8539	7126
+-123.6149	46.8963	8817
+-118.0587	46.0659	9020
+-120.3789	43.722	5904
+-121.1692	46.5552	7652
+-111.3289	33.6571	6981
+-117.0076	34.9207	8634
+-117.1867	31.6569	8436
+-117.8837	45.0237	8045
+-119.1717	47.1891	7772
+-111.1461	31.9216	8520
+-119.8323	48.2904	6419
+-120.5455	34.6416	5919
+-124.2462	43.8383	5865
+-118.7325	34.8439	7761
+-82.8062	30.0391	7211
+-124.7448	46.6409	7548
+-115.5766	35.801	6948
+-88.1823	39.1483	8027
+-88.6413	35.9874	7926
+-81.5555	28.258	9034
+-87.3211	35.8822	7238
+-109.2759	30.3918	7748
+-119.985	35.2764	6321
+-116.0686	46.4669	6883
+-88.2794	40.1472	6702
+-108.2143	31.8851	7155
+-111.8278	29.2051	6430
+-91.4911	38.2083	8095
+-89.7347	40.1538	7758
+-93.5271	38.0905	5962
+-110.468	32.4846	8486
+-115.8859	33.5179	8316
+-120.6316	35.4549	5594
+-123.7068	43.3878	5576
+-124.3105	47.2913	8016
+-119.9532	44.6779	6938
+-112.2687	33.4281	6577
+-113.2726	34.6073	5151
+-123.3119	49.0158	7310
+-90.4646	39.7472	8346
+-115.9572	34.4636	8065
+-90.8423	39.4019	8565
+-117.7095	46.4792	8532
+-109.6576	30.6452	8221
+-117.6341	32.7472	9004
+-89.4376	35.1352	6876
+-110.0277	29.7247	7433
+-118.1636	35.0541	8136
+-117.3963	48.0941	6949
+-125.0825	47.9749	6965
+-120.8022	34.2653	5678
+-86.9198	40.7624	5768
+-117.2784	46.0974	8196
+-115.7237	44.3366	5969
+-118.8776	36.5353	6383
+-124.9339	47.3306	7336
+-81.1764	30.2562	6875
+-116.2429	29.2059	5645
+-119.583	34.3462	7000
+-116.2386	34.3924	8381
+-118.7315	47.6117	7591
+-122.3307	42.3261	4470
+-81.7778	25.2447	7011
+-118.8773	31.4709	7146
+-115.9145	33.3386	8443
+-113.0923	28.1304	4685
+-110.1742	33.2946	7611
+-106.717	32.7432	5359
+-121.7542	48.6569	7363
+-90.2069	35.4126	6813
+-119.7084	35.3013	6585
+-79.9241	28.4723	7269
+-121.4934	49.8168	6114
+-109.6118	32.9998	7751
+-80.2239	29.8407	6703
+-120.8903	48.011	7118
+-115.8031	47.4873	6251
+-119.1193	47.7369	7314
+-123.4144	44.0215	6322
+-79.6039	28.0756	7009
+-92.7744	39.6408	6674
+-109.8345	34.1884	6600
+-121.1742	33.5755	5232
+-90.8579	36.0307	6835
+-117.7305	32.1095	8592
+-90.4662	34.5779	5858
+-83.4877	30.0211	6917
+-89.5618	36.7638	8465
+-118.1833	33.1709	8339
+-79.5758	27.4079	6971
+-117.2539	34.5906	9039
+-83.7577	25.6427	6867
+-107.608	30.6533	6354
+-116.4999	34.4055	8650
+-121.8179	35.0497	4474
+-116.4392	31.0084	7652
+-89.7893	34.3775	5949
+-118.6454	33.1263	7849
+-83.1702	28.1516	8641
+-113.6992	34.4236	5634
+-82.5039	27.2429	9167
+-89.7678	39.4581	8413
+-82.4532	24.1852	5824
+-79.447	30.0563	5899
+-113.0753	33.3949	5913
+-89.664	39.9431	7923
+-80.3468	28.5222	7698
+-93.6931	39.6382	5731
+-83.5369	29.9068	6997
+-114.5853	37.4939	4848
+-90.6305	37.3802	7924
+-108.3718	30.4263	7006
+-115.4485	30.5354	6696
+-121.6712	45.4155	7432
+-121.1578	46.1601	7497
+-120.0588	48.1959	6351
+-82.3601	28.4335	9096
+-115.3128	33.0098	7896
+-92.6707	37.5339	6632
+-80.8433	28.8464	7989
+-87.6523	38.1279	8461
+-113.0367	28.584	5099
+-90.3294	40.9994	6999
+-108.9274	33.5469	6857
+-116.9672	33.3681	9138
+-88.2312	36.7639	8638
+-90.8948	39.5361	8413
+-122.2131	47.4077	8709
+-122.7796	46.6879	9273
+-92.4435	40.4627	6537
+-115.6614	36.6059	6322
+-87.6719	39.4722	7444
+-90.0865	40.0521	7985
+-92.0477	40.2244	7028
+-86.6251	37.9095	7396
+-118.2316	42.8352	5802
+-110.2904	32.9004	8046
+-110.5525	30.598	8380
+-111.6669	28.7079	6039
+-116.1477	46.1289	6999
+-122.1131	42.3213	4430
+-118.902	34.6028	7682
+-88.8156	38.9759	8344
+-80.2293	24.9372	6034
+-121.538	44.0268	6047
+-88.518	37.4167	9420
+-123.8469	48.2843	7823
+-111.9087	31.462	7762
+-115.4629	45.7631	6252
+-122.2623	44.4102	6712
+-118.5708	32.7896	7963
+-119.4055	47.9734	6948
+-90.3915	39.2038	8935
+-114.8206	35.1645	6642
+-109.5322	29.6792	7235
+-126.7326	46.3109	5334
+-116.0308	32.1511	8472
+-119.1592	35.1814	7178
+-116.6766	36.4389	6942
+-91.0582	36.7367	7136
+-81.308	24.9196	6539
+-86.5186	40.4428	5805
+-108.0989	31.5184	7052
+-81.6583	28.5148	8890
+-90.6868	34.7143	5862
+-121.1967	48.023	7404
+-117.1721	32.2439	9074
+-89.0708	36.3589	8309
+-126.5744	47.1742	5563
+-109.9728	30.8149	8554
+-118.1725	44.7617	7838
+-85.4832	27.2108	6051
+-116.2843	33.3333	8798
+-116.5679	31.6801	8409
+-86.9454	37.1528	7691
+-81.7733	27.946	9437
+-86.0959	36.8064	6666
+-115.0935	33.80	7393
+-122.7803	46.03	8569
+-121.9105	34.8472	4413
+-119.283	31.187	6594
+-109.0845	31.0283	7993
+-84.8819	37.6475	5454
+-89.9149	36.7084	8137
+-92.064	39.7403	7322
+-124.2698	49.8415	6108
+-119.2055	44.8702	7633
+-117.856	35.4092	8005
+-87.9756	38.6843	8368
+-116.7476	33.3925	9066
+-117.9727	28.5989	4916
+-81.881	25.2046	6980
+-80.8414	24.1516	5549
+-92.1994	38.5927	7460
+-80.832	28.1866	8345
+-120.9011	49.0202	6458
+-111.6401	30.5309	7656
+-116.695	45.6825	7521
+-123.609	48.7551	7493
+-115.2162	30.2721	6308
+-92.1592	39.9447	7117
+-110.5493	30.9329	8731
+-87.7524	37.1095	8516
+-117.4681	32.6502	9164
+-90.2952	36.784	7834
+-114.222	43.0603	3888
+-84.3241	26.7775	7173
+-82.0286	24.0173	5649
+-122.8234	32.2766	3147
+-117.5626	46.826	8177
+-90.2161	36.7394	7884
+-115.9958	47.981	6124
+-119.1139	43.5938	6464
+-82.1629	26.5769	8546
+-89.2647	36.4931	8385
+-116.4014	35.1277	8100
+-110.2856	30.3695	8157
+-122.738	42.4728	4666
+-80.0258	28.7215	7275
+-114.4438	46.7342	5139
+-118.1363	33.3661	8273
+-120.2987	30.658	5325
+-124.5508	43.2294	5118
+-121.8377	44.7419	6898
+-115.989	32.7062	8655
+-110.559	34.3081	6511
+-89.1729	39.0334	8084
+-90.8428	38.341	8761
+-118.3701	43.4548	6458
+-109.8441	32.1677	8648
+-118.6375	30.8354	6862
+-116.7727	33.5306	8928
+-120.683	46.9872	7170
+-110.3661	30.47	8267
+-118.0624	45.8006	8867
+-82.944	25.6752	7355
+-119.9907	47.4397	6962
+-116.1801	33.1127	8815
+-82.251	28.4952	9057
+-121.344	34.513	5071
+-88.6775	36.2725	8248
+-85.8527	24.2609	4110
+-88.7631	36.0485	7999
+-122.2475	47.7666	8472
+-109.3504	33.2289	7397
+-109.7103	32.4153	8347
+-119.1113	34.6351	7453
+-126.4371	47.7309	5631
+-87.0494	38.0874	7830
+-115.9341	28.8274	5157
+-115.1677	32.4387	7702
+-108.66	30.9795	7546
+-115.8764	30.7152	7112
+-119.1677	32.0782	7163
+-115.8216	32.9126	8471
+-117.9575	49.5127	5630
+-109.0712	30.5554	7710
+-119.306	34.1115	7313
+-80.8242	28.4039	8245
+-111.2231	33.5145	7170
+-82.3027	30.0286	7326
+-119.1315	46.9843	7963
+-89.0512	35.4515	7309
+-117.8874	47.0263	8194
+-92.3231	37.5784	6982
+-88.6925	37.0305	9097
+-88.0466	37.2598	8887
+-119.1744	34.1724	7456
+-120.3483	34.6153	6135
+-88.4884	39.2629	7996
+-81.2859	29.6448	7561
+-121.0342	35.0451	5309
+-118.0251	30.4577	6869
+-86.532	36.4721	6971
+-111.2775	30.668	8049
+-86.5267	40.4603	5795
+-116.6154	47.6656	6838
+-123.2846	47.1678	9129
+-126.558	42.6405	3382
+-83.6374	28.0439	8162
+-109.8698	33.5869	7245
+-87.2058	39.1281	7414
+-86.3104	35.8007	6353
+-110.9015	34.4544	6303
+-123.0822	48.497	7913
+-120.3584	45.714	7025
+-118.8212	45.0181	7981
+-115.9343	33.3308	8466
+-88.0292	39.2344	7870
+-118.8162	48.5906	6563
+-119.037	47.1301	7909
+-95.334	36.8074	3692
+-115.1653	34.5177	7208
+-81.0179	28.8336	8146
+-115.8874	30.9811	7378
+-115.2874	33.2008	7831
+-117.8041	32.9462	8808
+-123.8438	46.8904	8566
+-88.5301	35.068	6887
+-118.7807	34.5448	7826
+-111.2986	25.8356	3159
+-92.4561	33.4871	3558
+-114.9451	34.7876	6907
+-80.0667	26.0502	6853
+-94.1678	35.7051	4189
+-117.023	33.2134	9306
+-113.6878	35.2114	5461
+-118.385	36.6609	6523
+-114.5651	49.6221	3836
+-111.6259	28.6387	5989
+-115.8288	34.3236	7956
+-91.2757	37.1522	7452
+-79.6473	31.235	5065
+-114.788	31.0735	6641
+-119.4833	43.1506	5888
+-118.9925	49.163	5931
+-116.2179	45.945	7067
+-118.5932	37.9759	5103
+-118.2719	45.2195	8328
+-116.7121	32.7605	9462
+-83.7504	28.177	8005
+-88.1501	38.1322	8947
+-87.0546	35.7709	6948
+-109.7736	32.8657	7958
+-119.9451	30.3063	5408
+-89.515	38.9573	8462
+-81.1529	26.2939	7891
+-120.5452	41.0714	3421
+-87.3637	38.4818	7993
+-109.8962	31.051	8727
+-118.4559	34.916	7985
+-122.8689	46.8729	9498
+-89.0508	39.2108	7905
+-115.544	36.5185	6328
+-111.5599	31.8657	8110
+-112.4791	31.5792	7149
+-81.1834	24.3312	5860
+-91.6615	38.3491	7981
+-117.916	31.8968	8278
+-91.97	39.1843	7651
+-118.3035	34.8806	8144
+-118.3722	44.6305	7701
+-117.6692	45.4803	8337
+-117.8161	47.1671	8027
+-119.8071	46.3262	7629
+-90.0098	38.2887	8785
+-121.9556	45.8081	7964
+-111.7084	31.3914	7969
+-109.3145	27.4764	4889
+-82.5216	29.0052	8424
+-118.363	34.8141	8130
+-89.5063	35.0555	6769
+-117.1206	31.8503	8661
+-92.0373	40.9362	6470
+-121.4591	48.1555	7554
+-84.0094	26.389	7259
+-120.0928	35.6099	6060
+-84.3135	25.3877	6242
+-79.7828	25.3244	6058
+-82.1127	26.5344	8498
+-109.3583	32.5472	7988
+-117.2266	45.7521	8082
+-117.1698	32.8636	9520
+-123.2515	48.1723	8226
+-119.1746	31.6953	6991
+-117.6983	32.2368	8712
+-86.2346	39.473	6323
+-109.0947	33.3869	7103
+-82.1587	24.5357	6237
+-120.7692	45.1375	6437
+-115.5555	31.234	7388
+-89.0771	34.5302	6278
+-83.127	26.9749	8455
+-90.3343	39.6936	8406
+-120.8272	45.4652	6794
+-80.9298	32.966	3854
+-87.504	39.5825	7239
+-113.6769	31.059	5807
+-92.6544	41.1937	5829
+-85.8575	36.0709	6091
+-90.7097	37.1521	7667
+-118.9209	28.2983	4262
+-114.8425	34.1242	6894
+-117.6684	29.0828	5515
+-86.9709	40.0107	6500
+-109.0001	28.4683	5802
+-111.1376	34.101	6610
+-90.3073	41.6047	6346
+-115.9867	32.4239	8575
+-117.7469	36.0292	7404
+-109.3599	29.5771	7058
+-87.2333	27.3147	4100
+-122.9563	48.3124	8126
+-114.2845	33.2859	6716
+-108.2868	29.799	6532
+-118.684	47.3643	7856
+-123.5922	44.1853	6457
+-83.6467	28.4731	8003
+-108.4966	27.8333	4949
+-113.9121	35.1599	5711
+-91.8865	37.1356	7047
+-118.8803	35.8536	6965
+-115.7756	34.589	7837
+-119.2684	45.3606	7956
+-83.7334	30.6784	6134
+-115.6611	34.8484	7621
+-118.0769	38.981	4177
+-82.2925	27.1808	9206
+-118.1327	47.8798	7369
+-87.4879	38.9505	7781
+-93.6039	39.1622	5925
+-115.2111	45.1311	5849
+-110.8823	29.6067	7251
+-119.6011	32.6429	6808
+-89.0282	34.8371	6626
+-86.5967	38.2626	7289
+-120.3519	49.0741	5973
+-116.5395	36.0874	7263
+-116.7709	33.73	8841
+-114.2795	28.3271	3930
+-85.6376	35.7208	5679
+-122.1268	48.9491	7268
+-110.3511	32.6434	8325
+-90.5304	39.0538	9061
+-122.4299	47.9569	8402
+-76.5989	28.5312	3572
+-89.9871	39.4038	8600
+-84.7856	27.767	6892
+-117.155	33.7207	9072
+-121.219	48.2664	7272
+-82.546	29.845	7495
+-89.6216	38.4342	8536
+-90.0427	38.1436	8675
+-83.2261	25.474	7019
+-117.8427	36.5515	6826
+-117.6692	30.8902	7466
+-121.7314	46.2214	8084
+-118.8318	30.1014	6079
+-82.6005	28.4988	8910
+-81.425	29.3089	7972
+-123.3396	44.1642	6490
+-121.0389	45.5393	7029
+-116.0621	35.8613	7240
+-86.8726	36.1797	7113
+-123.2035	47.0218	9267
+-82.2822	29.73	7665
+-107.9746	31.969	6884
+-89.0158	36.2219	8170
+-82.0685	26.3046	8237
+-122.613	48.7542	7617
+-90.0926	37.5797	8125
+-80.2628	26.4747	7321
+-118.1273	34.209	8595
+-117.4474	45.6373	8249
+-119.6739	36.3075	5999
+-93.1104	35.6132	4944
+-108.855	31.5686	7872
+-113.2583	28.3577	4756
+-119.0368	32.4342	7405
+-112.8666	32.6206	6508
+-117.2968	32.7706	9381
+-118.5687	46.0618	8956
+-112.4995	45.3808	3088
+-113.904	32.34	6296
+-117.8849	46.8459	8365
+-88.8039	38.9535	8369
+-120.793	30.2421	4609
+-87.1338	36.4703	7543
+-116.9238	33.091	9443
+-95.3907	38.1149	3984
+-110.922	35.9087	4744
+-120.104	32.3354	6212
+-118.4706	32.3016	7980
+-90.3075	38.3084	8941
+-115.5476	36.0056	6765
+-106.0036	26.1378	1936
+-121.9127	35.0565	4371
+-114.5338	29.7593	5395
+-107.8157	33.101	6289
+-91.5971	39.1078	8060
+-113.1035	30.2458	6141
+-116.2898	33.2528	8855
+-120.7255	44.4292	6127
+-91.7896	38.8773	7902
+-111.9837	32.1282	7591
+-85.4602	31.5367	4204
+-121.2031	38.9521	2751
+-118.2225	44.3721	7429
+-115.328	36.266	6394
+-84.2225	25.6614	6537
+-115.5212	32.5696	8117
+-112.6866	33.637	6089
+-108.6099	32.8084	7183
+-117.9631	33.2458	8543
+-111.8866	33.4145	6872
+-121.5805	47.058	8153
+-123.2414	49.1712	7155
+-92.0738	39.9619	7182
+-79.6989	28.4253	7039
+-107.6073	29.8052	5947
+-109.2848	31.7155	8329
+-91.538	39.0258	8145
+-118.55	32.746	7985
+-89.2661	35.3456	7151
+-89.0728	37.2829	9265
+-81.4311	29.0279	8259
+-115.3753	33.3453	7882
+-118.261	32.5759	8284
+-117.0884	32.9833	9523
+-82.8417	28.5436	8703
+-123.0339	48.3198	8112
+-111.9815	29.7926	6837
+-110.5095	31.3376	9146
+-111.1238	32.4792	8179
+-120.9886	49.6557	5982
+-119.1074	35.4375	7077
+-117.5665	31.6425	8282
+-123.6376	47.0871	8785
+-89.3605	38.7277	8322
+-116.8483	34.5379	8903
+-122.6044	47.1141	9243
+-118.6247	30.7315	6781
+-113.9949	34.7707	5902
+-123.1057	46.341	8883
+-118.2071	33.5508	8331
+-90.8162	35.705	6631
+-112.2416	37.4696	2958
+-115.7215	34.2667	7846
+-87.9373	39.8829	7158
+-118.3531	46.3017	9035
+-118.7125	33.6771	7884
+-81.0114	26.0371	7560
+-81.9037	28.7579	8741
+-88.2905	38.1657	9040
+-116.9885	36.3009	7154
+-112.9937	33.9164	5640
+-111.7077	33.6676	6769
+-116.5313	33.511	8839
+-116.3801	36.8086	6464
+-80.124	28.7383	7367
+-87.4647	36.1433	7566
+-117.5046	34.623	8944
+-81.3616	28.6227	8588
+-88.7936	36.6778	8705
+-88.5932	38.2138	9170
+-123.4455	43.0031	5211
+-79.1743	26.7994	6370
+-86.1508	34.2865	5018
+-91.4871	39.4294	8027
+-87.2988	40.8308	5899
+-120.5406	46.6876	6790
+-92.4914	37.8521	6955
+-116.5297	36.5295	6803
+-123.7669	45.741	7957
+-115.329	30.0876	6203
+-86.4941	32.8002	3787
+-82.5447	26.9476	8856
+-112.2834	32.8187	6972
+-118.6097	43.7062	6702
+-110.3145	28.5652	6203
+-83.2497	27.073	8406
+-123.1621	48.9446	7414
+-91.2178	41.7801	6037
+-119.7107	45.9838	7744
+-118.3201	31.0884	7304
+-121.06	32.0296	5103
+-120.0674	46.9744	7156
+-118.4424	49.844	5292
+-122.9945	48.9124	7466
+-119.5758	32.0665	6725
+-105.7735	30.4643	4387
+-114.2579	48.0863	4506
+-107.1384	29.8286	5524
+-121.009	43.2907	5115
+-116.3882	30.7513	7361
+-89.2825	41.8989	5829
+-113.4863	35.1827	5258
+-110.4093	28.7336	6385
+-118.2604	44.6946	7772
+-117.5716	47.6541	7450
+-110.2327	30.4999	8295
+-119.3865	32.5516	7038
+-122.6817	49.214	7125
+-85.3243	26.532	6021
+-92.8821	38.0543	6629
+-88.7891	36.1758	8142
+-117.7668	43.1411	6079
+-79.9029	28.1353	7335
+-89.1998	38.7433	8512
+-123.0605	44.5054	6897
+-107.2721	34.3053	5035
+-91.5949	38.9061	8108
+-110.9051	31.7595	8825
+-108.0648	32.0953	6954
+-114.8829	34.1149	6938
+-82.8846	27.6808	9037
+-87.1834	37.1776	7955
+-89.2043	38.4345	8822
+-88.1244	41.554	5543
+-109.5113	31.8853	8525
+-109.8034	33.9808	6813
+-81.3263	25.7763	7463
+-90.4625	42.1946	5711
+-119.2214	44.5908	7379
+-118.4457	33.1543	8061
+-126.1271	46.4774	6020
+-122.3169	48.009	8294
+-117.5182	34.2082	9252
+-85.2022	27.9667	6413
+-118.9325	46.5176	8443
+-111.3413	28.8672	6335
+-117.0694	30.7104	7401
+-121.1095	47.704	7479
+-122.97	43.3173	5596
+-88.0938	42.1006	5050
+-90.8528	35.1807	6173
+-122.817	44.6399	7048
+-88.6526	38.525	8842
+-117.5503	35.119	8419
+-118.6923	33.4106	7794
+-108.8566	30.1829	7269
+-122.4617	47.3943	8933
+-108.3045	33.8846	6150
+-121.5063	49.3074	6613
+-91.5178	39.8363	7731
+-119.6542	47.3865	7269
+-117.8749	33.7627	8761
+-125.4784	46.0456	6598
+-108.4183	31.7721	7389
+-88.8921	31.938	3384
+-110.4886	31.5688	9305
+-125.2253	48.8897	6291
+-117.5521	48.4201	6684
+-92.0362	38.3613	7594
+-83.997	28.2099	7725
+-90.1651	37.168	8149
+-111.4904	29.842	7208
+-110.5813	31.0532	8839
+-81.3495	25.6534	7342
+-90.9109	37.9269	8371
+-117.4538	31.7336	8428
+-89.6529	41.1982	6671
+-89.3825	37.5837	9118
+-116.1496	33.3303	8676
+-88.6057	41.2579	6111
+-90.4529	40.9474	7055
+-89.2269	34.3181	6022
+-112.1646	32.4997	7255
+-118.6303	44.9073	7945
+-118.0382	33.4295	8399
+-86.9776	38.6642	7516
+-116.8673	35.6719	7804
+-82.7074	29.6214	7696
+-89.3835	37.6143	9120
+-113.8933	34.0367	6065
+-122.2346	36.4911	3539
+-79.9939	25.2464	6152
+-106.623	29.7668	4998
+-119.1759	48.1457	6897
+-90.627	36.7774	7282
+-123.3468	46.2331	8663
+-122.1985	48.9677	7276
+-110.9286	24.4427	1710
+-117.0217	34.3363	9191
+-90.9962	34.1106	5104
+-80.4844	26.3315	7419
+-90.8961	39.1612	8716
+-112.9167	31.625	6674
+-89.0653	37.2798	9267
+-88.0754	35.9519	7740
+-119.7147	32.8786	6687
+-117.3143	36.9676	6446
+-89.7503	42.5072	5318
+-110.263	31.732	9295
+-126.6746	45.1006	4980
+-112.2512	32.5504	7146
+-118.5753	33.9234	8092
+-122.519	47.4638	8918
+-81.1327	27.9144	8748
+-86.3583	41.6766	4564
+-91.2099	39.042	8479
+-116.2098	35.5321	7625
+-115.021	35.4877	6677
+-120.7178	34.6409	5733
+-81.789	29.943	7400
+-118.1976	34.2101	8519
+-118.6387	45.6738	8673
+-113.8862	31.4809	6008
+-126.8543	45.2996	4892
+-116.6303	46.8516	7337
+-112.4861	32.3072	7013
+-89.9259	36.4487	7928
+-118.3638	46.1919	9131
+-116.7545	35.1148	8330
+-118.541	43.8934	6908
+-116.667	36.8855	6465
+-118.7961	46.4219	8619
+-112.4692	45.8594	3098
+-123.8949	48.6916	7418
+-112.9005	31.5685	6692
+-90.1763	39.769	8304
+-116.3113	32.9441	9008
+-116.8761	33.6506	8861
+-91.006	38.04	8406
+-120.9598	45.1799	6708
+-83.0159	28.0789	8833
+-117.0366	34.557	9012
+-112.9068	34.2828	5433
+-122.3127	44.9216	7269
+-110.474	32.5766	8387
+-89.3092	40.8989	6835
+-114.7597	34.3716	6791
+-118.3277	32.0871	8030
+-117.1843	32.2522	9078
+-117.6156	47.1541	7939
+-110.4731	33.3143	7592
+-124.0792	46.1871	8053
+-115.7642	35.1542	7556
+-78.6269	32.6524	3089
+-117.0936	35.5693	7960
+-86.4628	33.4226	4395
+-81.8541	27.9541	9512
+-117.6275	34.1951	9138
+-119.5368	46.5638	7845
+-83.2655	29.7219	7336
+-113.9376	31.8071	6192
+-120.0368	44.1865	6512
+-116.9144	35.3448	8162
+-119.5649	32.4574	6827
+-115.953	33.2624	8518
+-109.5048	31.6817	8570
+-113.8717	33.472	6224
+-86.1097	36.5323	6572
+-109.396	31.12	8341
+-108.0083	32.426	6794
+-123.9236	49.4913	6613
+-112.2369	33.7088	6382
+-90.0797	38.0634	8615
+-117.208	34.0444	9422
+-107.9441	30.4454	6606
+-118.7455	46.05	8768
+-108.8658	31.5585	7883
+-119.8292	32.9707	6468
+-115.6183	32.2809	8135
+-123.6522	47.9329	8261
+-119.3824	43.3663	6140
+-88.5741	36.8419	8865
+-109.1974	33.6508	6918
+-123.6487	47.4376	8634
+-114.5979	33.7084	6930
+-89.2073	36.2084	8106
+-116.1957	33.832	8324
+-116.2215	45.3699	6944
+-118.2127	34.1025	8505
+-123.8919	48.0515	7991
+-119.666	43.3043	5957
+-79.4334	32.8211	3409
+-122.8198	45.5976	8100
+-92.9634	39.4302	6548
+-116.506	31.5213	8219
+-119.8318	46.0011	7617
+-119.7703	44.658	7067
+-80.4696	26.8419	7739
+-123.4542	43.4941	5743
+-84.916	36.3093	5232
+-118.6317	31.5397	7412
+-109.8362	30.4823	8165
+-107.1058	31.5083	5976
+-117.2981	38.3319	4958
+-126.9283	49.1103	4593
+-120.7421	48.2252	6862
+-114.7041	32.8205	7229
+-91.5398	39.5379	7916
+-117.949	33.4757	8504
+-90.5851	38.1368	8728
+-111.9202	32.9841	7180
+-123.5266	44.672	6993
+-120.4085	47.6444	6770
+-81.4455	29.2118	8082
+-86.3399	41.1064	5089
+-117.2895	34.1401	9512
+-117.9501	30.2569	6694
+-122.6861	48.9817	7380
+-88.8318	35.4544	7332
+-117.3022	32.6152	9316
+-116.4222	32.5823	9092
+-115.3008	30.9518	6964
+-116.8131	35.2964	8176
+-119.5915	31.8438	6630
+-90.9076	35.4284	6339
+-85.8934	42.3309	3665
+-117.0989	33.1675	9335
+-119.4934	34.2959	7102
+-81.6539	24.2018	5823
+-122.6473	47.4629	8994
+-89.6267	35.9345	7645
+-85.3154	38.7404	5758
+-117.4031	32.1813	8893
+-118.674	33.113	7820
+-118.9881	33.8833	7640
+-108.7426	33.3154	6926
+-90.2051	40.8133	7192
+-119.461	45.6377	7921
+-87.3776	28.2127	3938
+-119.3291	43.1329	5929
+-115.9718	33.0086	8623
+-82.6007	26.7705	8648
+-115.7196	34.4207	7822
+-92.1387	36.2613	6142
+-116.5651	33.9536	8748
+-87.4571	40.4448	6367
+-85.8259	28.3662	5660
+-120.3823	35.7126	5727
+-89.1293	38.7526	8529
+-124.5931	47.1558	7735
+-84.7195	40.5557	4233
+-93.5051	37.3542	5739
+-84.638	28.9492	6759
+-86.6302	38.7552	7123
+-89.1424	41.0557	6602
+-121.1804	47.1644	7704
+-93.4499	41.2374	5168
+-88.2488	38.9889	8220
+-115.2374	31.52	7342
+-122.5517	48.8767	7473
+-118.3466	35.4548	7676
+-88.7096	37.4757	9592
+-83.7985	28.0305	7985
+-112.1204	33.0984	6935
+-88.3152	38.6699	8580
+-83.9861	28.2026	7739
+-118.2324	41.7244	4626
+-112.8997	29.9665	6187
+-120.4699	31.9631	5731
+-118.0114	34.0047	8713
+-115.4895	32.0814	7913
+-126.0079	44.7151	5390
+-84.2678	27.728	7477
+-93.021	43.2327	3818
+-91.8476	39.0666	7810
+-89.4103	37.5258	9076
+-117.6943	31.8001	8358
+-111.0021	32.3169	8398
+-120.3106	48.7643	6143
+-86.9672	35.6938	6818
+-110.0398	31.8289	9059
+-88.5802	36.663	8670
+-109.3608	30.8981	8185
+-108.5467	29.8425	6771
+-88.501	38.8217	8484
+-123.1918	45.7326	8213
+-110.5148	30.9175	8726
+-86.3122	37.0725	6981
+-115.785	38.7637	4235
+-80.721	25.901	7245
+-116.9698	31.5153	8301
+-114.8749	33.4518	7315
+-116.6608	48.0162	6601
+-118.2126	34.8002	8275
+-111.4893	33.0065	7487
+-117.4893	30.9012	7538
+-118.1383	30.7359	7089
+-108.2583	30.6175	6994
+-121.9803	30.7093	3687
+-117.3895	46.6185	8166
+-89.0214	43.1173	4494
+-84.3346	26.5202	7030
+-117.2127	42.7569	5543
+-90.4692	39.9053	8176
+-116.3983	32.7784	9118
+-115.7564	49.0772	5125
+-108.3182	29.6869	6476
+-82.4143	25.3572	7148
+-108.5395	30.7454	7328
+-81.2162	26.38	8012
+-87.3059	38.1415	8091
+-116.7638	33.9296	8946
+-116.787	44.8251	7179
+-119.5891	35.1489	6773
+-110.5103	31.5799	9282
+-117.2782	35.6699	7862
+-115.9503	46.0811	6790
+-119.2491	43.8836	6700
+-110.8841	33.1687	7655
+-116.9785	47.881	6922
+-81.1499	27.7613	8780
+-111.0244	30.4902	8072
+-88.6902	36.0187	7964
+-115.0486	30.3399	6259
+-89.9244	38.5755	8895
+-84.6321	31.1631	5122
+-89.9439	40.3946	7590
+-118.727	33.1052	7763
+-122.5021	49.8632	6394
+-113.9229	31.6425	6114
+-79.6747	32.0248	4330
+-83.8356	26.5951	7555
+-123.7207	45.8641	8096
+-92.7081	39.3611	6834
+-115.9758	33.9111	8109
+-88.2027	38.0547	9046
+-118.4732	35.8891	7214
+-85.5315	38.3038	6114
+-117.6562	44.639	7577
+-83.8151	28.6623	7737
+-110.3835	29.198	6889
+-113.9902	34.242	5962
+-111.561	31.4809	8139
+-125.5952	48.068	6407
+-124.5166	43.4276	5332
+-117.5406	38.8726	4360
+-126.71	48.7749	4973
+-124.7705	44.6555	6340
+-115.7018	46.2476	6522
+-90.0084	36.0299	7509
+-113.3915	34.2463	5458
+-115.5354	45.4463	6269
+-89.3605	37.0738	8874
+-108.3697	29.9828	6729
+-88.5164	37.8958	9434
+-82.1415	27.6411	9750
+-114.5483	28.8301	4552
+-92.4625	39.9825	6819
+-89.5036	35.1088	6828
+-86.9883	39.7125	6772
+-77.9008	29.1917	4840
+-124.955	47.3892	7301
+-88.6012	39.4208	7837
+-120.5819	44.1892	6095
+-109.2096	34.5006	6086
+-116.1395	31.4838	8003
+-90.3576	38.4832	9135
+-88.5957	34.5453	6307
+-88.3269	34.9592	6737
+-84.8936	26.015	6194
+-114.8702	34.6425	6865
+-120.0859	47.3205	6955
+-90.8196	34.9388	5983
+-121.0582	32.7642	5141
+-115.3265	34.1474	7421
+-122.5721	45.9265	8408
+-87.9769	36.0918	7838
+-118.2418	45.1909	8297
+-84.1972	28.1753	7512
+-112.9004	35.8871	4405
+-89.436	37.9594	8995
+-116.9694	33.7012	8966
+-88.936	37.479	9532
+-110.221	30.8544	8674
+-119.0053	47.2036	7864
+-90.5865	40.4112	7620
+-118.374	46.7586	8556
+-116.5535	47.7958	6695
+-118.6147	35.6803	7300
+-110.6773	32.8163	8087
+-122.5601	48.0166	8394
+-118.7596	30.1091	6131
+-116.454	30.9108	7552
+-114.9657	32.3187	7453
+-95.4675	36.8751	3584
+-84.6823	40.6943	4108
+-118.9099	36.8342	6089
+-90.0002	37.4701	8413
+-115.6726	33.6491	8037
+-87.884	27.5544	3382
+-89.8269	39.5372	8385
+-116.1968	35.5593	7593
+-119.5612	33.1065	6796
+-91.8052	40.1501	7274
+-106.1476	31.3202	4930
+-118.0472	32.2083	8370
+-89.5492	36.0224	7772
+-117.7202	29.4836	5941
+-81.6695	25.7974	7604
+-88.3744	39.0182	8235
+-116.3091	34.0507	8490
+-118.0791	30.5451	6932
+-120.9817	45.6453	7047
+-84.844	37.0954	5366
+-81.9627	25.3225	7121
+-123.2244	48.0154	8400
+-118.2836	34.2232	8424
+-112.2018	33.3611	6679
+-86.7518	38.4524	7387
+-89.9234	41.4264	6497
+-82.8573	26.1768	7916
+-114.9374	47.4749	5429
+-108.0239	29.8448	6342
+-107.5254	30.6644	6273
+-112.4227	32.7277	6892
+-92.6068	38.4112	7000
+-117.4289	44.7623	7580
+-119.9673	31.7324	6194
+-87.9899	37.0757	8720
+-112.4754	33.647	6251
+-89.3699	37.333	9042
+-115.8895	35.452	7458
+-118.3369	36.1925	7006
+-122.2808	47.6243	8614
+-116.9006	45.8463	7772
+-92.0728	39.0022	7583
+-86.6543	36.9388	7307
+-90.5735	39.0143	9073
+-116.8883	31.4974	8279
+-110.8454	30.1085	7782
+-108.9396	29.4575	6719
+-115.7899	34.8642	7741
+-123.6822	47.5759	8517
+-91.4279	41.3302	6424
+-82.9209	29.5337	7704
+-120.254	45.3057	7010
+-123.9621	48.8049	7274
+-83.136	29.0878	8016
+-119.9852	45.1005	7170
+-117.1223	33.7478	9089
+-88.1762	38.5307	8640
+-111.7895	32.4114	7659
+-118.0635	48.794	6398
+-125.1809	48.5023	6585
+-93.4846	38.1992	6029
+-117.1498	38.0108	5306
+-116.7619	34.8505	8581
+-80.4099	30.4939	6242
+-90.3611	38.3133	8953
+-119.4716	43.1628	5905
+-121.8727	45.0479	7215
+-118.2892	47.217	8078
+-88.2837	35.7964	7648
+-114.4031	31.1614	6349
+-85.5841	27.6321	5985
+-118.9016	44.1177	7061
+-110.3053	32.3284	8666
+-118.7096	45.1112	8120
+-116.6641	36.0007	7397
+-121.425	34.0694	5001
+-87.5016	35.8011	7286
+-89.4548	42.2332	5539
+-109.2874	32.7132	7805
+-123.181	46.6039	9102
+-116.3816	35.0901	8116
+-122.0847	49.9168	6243
+-118.524	33.4334	7968
+-111.0085	33.7101	7056
+-112.1123	28.6382	5746
+-90.9526	39.1595	8668
+-117.1432	32.2319	9072
+-117.3162	46.7496	8027
+-109.6303	36.823	3746
+-87.3501	40.343	6415
+-125.6739	43.673	4875
+-116.3269	32.925	9029
+-116.5009	33.1956	9083
+-89.8384	37.5692	8607
+-116.4387	33.7622	8548
+-81.1059	29.711	7404
+-119.9137	35.7878	6133
+-116.4002	34.4163	8544
+-117.1959	32.7405	9483
+-90.4535	36.6426	7600
+-82.5747	24.7282	6419
+-121.3337	48.3782	7290
+-117.9407	31.625	8036
+-122.3335	46.284	8632
+-119.2462	32.4495	7177
+-81.9357	27.3872	9408
+-78.8267	28.1283	6129
+-114.1666	33.5539	6523
+-124.964	46.034	7118
+-113.1874	29.8622	5863
+-109.2433	29.4491	6877
+-123.8442	44.1268	6318
+-118.8163	35.6206	7195
+-118.0454	36.9878	6310
+-87.7868	34.6523	6258
+-121.4382	48.8074	7024
+-124.1907	45.7937	7690
+-109.25	31.2361	8241
+-123.6563	45.9724	8234
+-91.2899	35.0694	5751
+-83.8287	28.6957	7705
+-94.6595	40.1123	4587
+-79.5461	26.2997	6528
+-117.1269	34.9807	8601
+-109.815	32.1559	8637
+-86.6178	36.4204	7027
+-91.9967	36.694	6607
+-115.532	35.9808	6773
+-118.3049	44.5654	7635
+-107.1802	32.1501	6003
+-87.1543	37.7679	8002
+-92.8104	40.0561	6454
+-123.7986	46.5827	8533
+-85.7317	27.5279	5812
+-93.435	39.2117	6098
+-82.569	37.7659	2857
+-117.8887	31.8086	8229
+-85.3145	35.801	5411
+-93.7186	39.8073	5653
+-90.8602	34.775	5808
+-123.4081	44.0301	6332
+-114.6545	34.1487	6688
+-87.4042	38.2029	8171
+-111.4193	35.1804	5403
+-91.5841	39.1927	8045
+-119.0729	34.2189	7565
+-91.0258	39.435	8412
+-116.2183	31.2704	7837
+-84.499	27.7026	7215
+-116.5029	45.7449	7338
+-116.6018	36.2798	7087
+-90.7268	39.5572	8479
+-115.5512	31.472	7575
+-124.705	48.1983	7205
+-119.8863	45.5956	7481
+-110.8165	32.9782	7874
+-121.586	44.7355	6762
+-118.4985	28.7506	4906
+-124.2071	46.9829	8170
+-94.306	34.8486	3461
+-84.5179	40.6984	3956
+-108.9609	32.5919	7628
+-111.7214	29.387	6659
+-89.9607	38.433	8855
+-121.0704	46.3698	7492
+-121.7248	48.7805	7232
+-116.9985	36.4963	6944
+-117.9995	34.412	8683
+-88.8764	33.447	5078
+-90.5452	38.6609	9225
+-118.3535	33.9311	8332
+-116.0001	30.6423	7099
+-116.5797	44.3798	6696
+-120.6871	36.52	4988
+-117.3278	35.4314	8120
+-123.7281	47.1305	8679
+-84.7269	28.1919	6919
+-82.3815	27.2325	9226
+-110.3794	31.1777	9031
+-113.6043	32.0636	5892
+-87.1756	37.6797	8029
+-123.4454	45.6465	8037
+-92.1431	40.6499	6633
+-115.7433	35.378	7392
+-120.8284	33.4523	5582
+-83.6933	38.829	3972
+-87.4186	39.9319	6856
+-109.4312	31.4499	8486
+-121.8506	30.3107	3630
+-125.625	48.5618	6137
+-118.4379	42.867	5833
+-119.2276	48.1782	6843
+-117.915	41.8518	4744
+-114.3555	36.2843	5590
+-89.6613	39.6761	8159
+-82.6997	27.9073	9232
+-90.3962	38.7653	9403
+-117.6515	31.3499	7947
+-116.955	31.6079	8405
+-82.6504	30.6842	6540
+-117.6669	47.9637	7182
+-111.6067	30.625	7747
+-78.8501	26.3853	5863
+-94.3602	35.71	4029
+-89.5463	39.2057	8397
+-92.4634	39.0606	7157
+-123.2618	48.0222	8380
+-118.3315	34.2231	8372
+-117.5459	33.3387	8883
+-122.7319	47.3413	9155
+-121.0443	47.1342	7559
+-119.0323	48.2356	6864
+-77.5503	28.7202	4596
+-119.443	32.6099	6981
+-88.669	36.485	8485
+-116.7153	34.7798	8611
+-114.7276	35.5045	6390
+-118.7504	29.3259	5380
+-89.165	39.6578	7787
+-112.5409	30.8459	6952
+-114.4126	34.9776	6291
+-107.1595	32.0407	5999
+-117.2111	45.3066	7848
+-89.2084	36.5928	8512
+-118.5211	33.1984	7831
+-113.1714	31.0675	6348
+-91.8579	38.6055	7827
+-87.8491	40.1035	6892
+-78.0148	27.8636	5232
+-118.5237	42.9103	5873
+-118.249	30.0776	6379
+-115.9092	35.539	7406
+-109.7121	31.8043	8759
+-82.9523	29.7647	7449
+-121.3664	47.2447	7894
+-123.3658	47.8716	8488
+-117.3511	38.1318	5175
+-85.1408	39.016	5472
+-110.8199	34.3464	6434
+-118.4383	42.764	5724
+-115.6446	35.5067	7219
+-87.8368	37.3171	8700
+-91.1677	37.3292	7675
+-88.6635	39.4024	7863
+-120.48	46.2728	6927
+-116.685	44.9215	7157
+-115.0816	38.7956	3921
+-111.3943	35.4324	5148
+-80.6297	26.9229	7942
+-117.7792	29.5923	6044
+-109.3189	25.7436	3052
+-118.8398	35.5085	7259
+-115.6934	34.0033	7816
+-119.1128	31.6551	7031
+-88.8285	36.8812	8931
+-91.5964	40.5153	7116
+-121.4019	45.4624	7274
+-86.4307	40.685	5530
+-89.6628	36.3786	8054
+-116.4182	30.7764	7396
+-123.0896	48.6192	7779
+-89.3335	40.3539	7358
+-83.9303	30.9403	5766
+-88.7289	41.476	5987
+-88.7528	38.6647	8694
+-118.2728	32.2053	8144
+-122.1235	46.526	8625
+-90.2955	37.6116	8194
+-124.5831	45.6823	7280
+-110.145	30.7092	8505
+-118.4733	49.6492	5496
+-91.4841	35.9295	6161
+-118.9451	32.6468	7538
+-116.2884	38.2462	4926
+-87.5649	36.3244	7793
+-84.7513	39.4757	4871
+-120.6802	46.4541	7103
+-83.8486	27.7408	7952
+-83.7209	30.9147	5904
+-115.9195	31.2577	7658
+-111.2798	31.9166	8386
+-114.4084	46.0048	5155
+-117.0737	47.3362	7429
+-83.2484	26.3193	7825
+-119.0782	43.7433	6626
+-89.3825	37.6853	9123
+-115.0076	35.1369	6841
+-81.3935	28.0595	8992
+-91.8301	38.4794	7838
+-90.3545	34.8691	6205
+-110.8847	31.7582	8847
+-116.7102	47.3328	7144
+-89.2005	41.428	6269
+-121.809	45.8547	7895
+-83.9062	29.1672	7336
+-90.4578	37.5352	8113
+-118.9449	35.2496	7339
+-111.443	34.0479	6545
+-87.4579	39.3574	7415
+-86.7079	34.4706	5548
+-111.7249	34.8063	5670
+-117.651	45.0012	7918
+-109.2357	30.3969	7722
+-123.0414	45.2379	7701
+-114.5225	46.964	5174
+-116.4025	33.7553	8509
+-124.2778	47.7994	7837
+-117.5719	45.3785	8187
+-117.2647	34.8863	8716
+-106.2598	28.8964	4186
+-90.2846	37.7662	8359
+-77.9298	26.0169	4741
+-117.5492	43.7624	6666
+-83.2399	26.7843	8218
+-117.6187	32.6532	9003
+-83.564	26.2803	7558
+-89.8466	37.2747	8526
+-117.9032	44.4806	7499
+-88.3345	37.6765	9330
+-108.9343	29.1755	6456
+-126.2978	45.7446	5639
+-89.8846	37.4625	8540
+-111.5425	30.8567	7945
+-118.0335	34.4486	8633
+-91.2942	39.8984	7844
+-127.1848	46.0787	4799
+-87.8324	39.3481	7655
+-118.4348	30.8236	6992
+-91.0511	36.2591	6645
+-112.9619	32.0305	6585
+-91.0559	36.9356	7339
+-116.7523	47.1275	7308
+-81.0662	30.0644	7026
+-109.0331	31.6276	8064
+-90.53	40.1082	7952
+-80.6579	24.8054	6149
+-123.0432	46.3579	8919
+-120.4617	46.0423	6953
+-90.0218	40.502	7496
+-92.1113	36.8169	6630
+-114.7181	32.7153	7242
+-122.15	46.7899	8760
+-122.4768	48.2018	8172
+-121.4242	48.7043	7102
+-116.7252	33.7883	8838
+-117.1819	44.8341	7483
+-108.8715	30.8583	7706
+-115.603	41.1972	3343
+-123.515	43.7066	5961
+-125.7445	46.9421	6481
+-89.8553	38.6656	8848
+-90.2076	39.7269	8355
+-118.0467	32.9191	8543
+-91.136	40.1691	7693
+-121.3008	43.2572	5168
+-107.4082	31.084	6258
+-107.3871	29.6471	5654
+-125.5318	43.2772	4627
+-92.1744	40.1529	6972
+-120.8583	44.9928	6292
+-124.1798	48.4171	7481
+-78.9084	26.4865	5967
+-81.3589	26.2613	7977
+-117.3987	37.7553	5584
+-108.3498	32.8001	6952
+-112.4615	30.0591	6637
+-80.3747	29.655	6973
+-80.0345	26.0536	6827
+-83.2875	24.9045	6401
+-91.5962	40.2189	7371
+-110.0494	33.3166	7571
+-117.8315	48.1905	6995
+-126.8584	47.3221	5240
+-86.2278	35.6452	6173
+-90.5191	35.346	6551
+-117.0445	33.0581	9470
+-88.7168	33.1304	4723
+-85.4986	38.9222	5885
+-114.2229	32.5882	6682
+-121.0288	32.4625	5205
+-109.9156	34.1123	6696
+-89.4783	34.3543	6013
+-117.712	32.6917	8910
+-123.7002	43.4837	5680
+-84.3024	24.3376	5302
+-118.1711	33.0116	8392
+-115.6947	31.8328	7959
+-116.1542	33.6877	8424
+-110.7955	32.7641	8100
+-114.2466	31.7834	6507
+-91.7192	36.2328	6353
+-114.4079	34.4258	6403
+-89.7101	38.2907	8546
+-118.2593	33.1017	8276
+-91.6837	37.213	7254
+-119.1817	33.9061	7434
+-89.2096	36.9179	8839
+-119.1118	45.7503	8308
+-118.1915	45.6724	8797
+-109.0192	30.1418	7360
+-88.425	36.1178	8035
+-121.4605	45.5154	7360
+-120.4121	46.361	6989
+-120.5502	43.5393	5639
+-109.7772	33.3961	7419
+-111.7142	30.1931	7351
+-119.7408	36.1908	6028
+-81.066	27.5021	8648
+-106.2097	30.7901	4924
+-90.0272	36.4084	7816
+-116.6029	44.0726	6472
+-119.4304	46.3596	8015
+-123.5201	46.0001	8345
+-108.355	30.0783	6780
+-89.3924	38.8563	8350
+-89.2464	40.2876	7363
+-89.5214	37.3662	8903
+-123.1618	46.4622	8982
+-116.5756	32.5099	9199
+-86.2868	35.5286	6140
+-91.7884	38.9641	7892
+-121.3668	47.4568	7838
+-118.3954	32.6864	8153
+-123.2478	44.3347	6690
+-122.9416	49.7712	6525
+-91.1391	42.0771	5747
+-124.4882	46.6132	7819
+-95.6147	42.8165	2283
+-93.629	42.0196	4459
+-82.90	28.5422	8659
+-117.9691	34.7927	8487
+-115.9247	32.6719	8580
+-90.8691	36.1979	6937
+-89.5921	35.0764	6764
+-85.944	36.1677	6228
+-82.1414	25.4842	7310
+-115.8622	48.3668	5748
+-119.4429	45.4434	7849
+-118.6812	41.8801	4771
+-90.2709	41.0932	6896
+-109.664	31.9501	8647
+-116.2669	43.3676	5664
+-91.4166	38.411	8252
+-87.3929	39.2782	7438
+-124.7791	47.5331	7450
+-91.3441	38.2554	8260
+-112.1082	33.4894	6652
+-90.0533	36.1681	7599
+-116.2734	48.5689	5889
+-81.77	27.998	9405
+-91.9358	34.1049	4464
+-82.7477	29.2679	8057
+-82.7183	25.8951	7674
+-82.3955	27.7659	9596
+-118.4918	31.9966	7821
+-118.6058	35.5622	7402
+-88.4045	39.5191	7696
+-82.5996	27.8044	9363
+-118.3497	49.073	6111
+-78.696	25.5199	5247
+-82.1218	28.1553	9452
+-109.8581	32.5662	8291
+-114.6303	33.7931	6928
+-117.038	36.0398	7443
+-111.8164	31.8249	7846
+-118.4212	29.4432	5655
+-116.0323	47.2216	6597
+-125.65	48.7737	5991
+-116.3715	47.0259	7011
+-80.2707	29.5264	6993
+-89.5065	40.8842	6937
+-110.9569	32.0329	8641
+-83.9698	29.189	7264
+-108.7786	30.5012	7421
+-124.9007	45.8388	7083
+-118.4279	33.109	8091
+-120.9112	47.1249	7414
+-123.9896	48.2437	7762
+-113.7201	45.0187	4294
+-113.9781	46.2403	4699
+-87.3658	34.571	6002
+-86.8619	40.0587	6382
+-83.1233	27.0943	8539
+-89.8522	40.2784	7680
+-120.9166	45.0441	6571
+-114.811	31.3605	6851
+-84.9317	39.3725	5103
+-91.8533	40.7978	6707
+-122.7873	46.572	9155
+-92.082	41.273	6146
+-121.8894	47.4635	8369
+-91.6932	39.1134	7959
+-81.76	29.1864	8232
+-119.4111	32.2767	6961
+-118.2954	43.7632	6786
+-111.5865	28.8049	6171
+-117.8941	46.6682	8531
+-76.3156	29.5052	3023
+-123.8406	46.0795	8186
+-124.0095	47.1038	8378
+-87.6957	39.8562	7078
+-88.8722	42.9954	4567
+-89.9065	35.2934	6860
+-120.2026	47.37	6823
+-119.3387	49.6889	5299
+-92.3585	38.1135	7188
+-82.7481	27.7239	9195
+-86.2096	36.1883	6500
+-92.4772	39.6895	6951
+-113.9519	36.1443	5309
+-90.368	37.0273	7567
+-82.8847	26.3095	8038
+-118.6636	49.1403	6015
+-118.5801	48.0926	7127
+-112.962	33.1786	6142
+-124.9109	48.9194	6527
+-107.7101	30.7914	6505
+-112.8097	35.5674	4431
+-78.035	29.5255	4847
+-116.4039	34.2506	8588
+-83.789	31.5522	5218
+-114.4868	36.2525	5725
+-114.8622	44.1365	5083
+-116.7029	44.9754	7206
+-118.8725	37.0656	5891
+-89.0869	35.307	7143
+-116.1747	36.4148	6779
+-88.1285	33.8878	5514
+-120.3969	44.574	6500
+-119.253	32.1749	7104
+-119.8319	48.7421	6017
+-116.8176	44.003	6551
+-88.0604	37.8622	8992
+-93.4615	37.0181	5617
+-124.2488	46.9979	8124
+-92.0566	40.4877	6824
+-89.4075	33.0969	4636
+-110.4684	32.042	8955
+-115.7687	33.3392	8295
+-113.3231	29.9947	5805
+-94.9847	40.6731	4049
+-89.9605	37.8815	8383
+-117.8002	36.1243	7289
+-108.5013	28.9886	6032
+-108.5681	33.5528	6608
+-86.4025	37.5725	7159
+-107.8617	29.5553	6010
+-90.412	39.1405	9002
+-118.9395	32.1295	7423
+-121.1629	46.2182	7528
+-114.9315	28.2627	4189
+-85.614	34.1296	4497
+-119.988	34.1135	6569
+-88.0786	36.6551	8442
+-108.4923	31.7926	7466
+-86.3297	26.9773	5062
+-106.1164	30.6635	4797
+-118.1907	43.5443	6552
+-84.3584	28.5769	7213
+-85.7723	31.3066	4149
+-122.1455	47.4757	8606
+-80.1186	27.1653	7514
+-110.3979	31.7132	9316
+-117.2026	36.7075	6729
+-119.8494	46.8085	7440
+-120.1442	48.9023	5698
+-116.4463	46.8918	7142
+-120.464	43.6225	5765
+-84.6632	30.2399	5890
+-113.5583	46.9919	4168
+-109.0524	31.6666	8083
+-116.7405	31.5204	8285
+-87.8858	35.6972	7394
+-121.8538	45.4769	7606
+-115.9772	31.6526	8049
+-83.4732	27.9509	8362
+-93.4325	38.5552	6131
+-112.4114	33.7929	6187
+-119.418	38.2576	4464
+-124.8942	45.8424	7091
+-113.933	30.0503	5234
+-114.7903	31.5508	6945
+-121.0599	32.5676	5179
+-91.2289	38.3554	8419
+-116.0871	33.9473	8235
+-88.3986	32.3205	3800
+-119.6271	34.143	6963
+-112.1956	34.3659	5846
+-88.4298	35.6326	7502
+-116.2833	32.965	8973
+-116.1614	45.7564	6984
+-87.9381	39.4305	7627
+-111.2139	29.2096	6730
+-118.8892	45.3944	8276
+-116.9865	32.5484	9453
+-114.6196	31.3212	6649
+-120.8232	46.5473	7278
+-88.1243	38.6463	8500
+-109.0783	32.7872	7589
+-84.5382	27.2756	7116
+-82.8407	28.2484	8924
+-119.9252	35.3865	6332
+-87.1054	38.7194	7607
+-124.6527	46.4049	7584
+-85.5654	42.0328	3737
+-83.1203	26.9506	8444
+-79.2906	29.5199	6114
+-120.5496	34.1816	5956
+-121.5527	45.6261	7518
+-118.833	46.5666	8497
+-117.9743	34.0293	8758
+-112.8608	32.8263	6422
+-123.9217	46.1819	8191
+-114.2115	33.5497	6573
+-92.9687	38.5571	6630
+-89.5261	41.1057	6722
+-82.2776	26.8239	8814
+-116.8179	31.9832	8809
+-81.7227	28.1392	9265
+-91.5618	38.6414	8149
+-91.2411	42.2482	5542
+-116.178	33.4701	8610
+-90.1225	42.2847	5604
+-118.7977	35.399	7371
+-112.7441	29.0038	5648
+-119.3745	43.8299	6593
+-119.4876	45.5529	7860
+-90.3782	40.9938	7006
+-88.1807	35.8457	7669
+-119.3092	46.7992	7946
+-87.0307	40.055	6500
+-89.5694	35.1381	6838
+-108.3136	31.8066	7272
+-118.4694	38.0732	5044
+-108.5239	32.1626	7415
+-115.9612	31.9301	8258
+-115.3945	30.1026	6254
+-84.9356	26.7713	6528
+-118.2582	34.398	8418
+-123.3945	46.4391	8812
+-115.0273	34.8162	6984
+-116.3361	32.1657	8742
+-125.1008	43.0245	4646
+-112.0095	29.3592	6456
+-90.7339	36.0721	6973
+-116.675	33.7801	8786
+-91.4579	40.582	7135
+-116.3457	32.5623	9004
+-120.5799	32.3909	5695
+-86.8414	38.8111	7301
+-91.5373	37.7895	7806
+-91.6234	39.5306	7845
+-89.5965	33.6734	5238
+-108.5887	32.5782	7298
+-121.4748	46.9996	8040
+-80.2618	25.1285	6233
+-108.1282	29.8209	6415
+-111.5372	33.7077	6828
+-117.0202	35.0789	8472
+-83.3505	26.9187	8214
+-87.2611	34.5579	5938
+-123.9304	45.9322	8002
+-90.4609	35.1884	6446
+-116.9291	47.0821	7489
+-116.4123	33.6598	8472
+-112.2986	29.6142	6459
+-118.4624	36.566	6581
+-88.1677	38.7469	8428
+-89.8603	39.6286	8322
+-86.2688	32.4059	3279
+-89.6785	40.0959	7787
+-116.2515	49.8806	4715
+-112.1873	31.3799	7453
+-114.7956	33.7822	7103
+-89.6676	39.6432	8191
+-121.2842	42.9953	4896
+-120.6122	32.7163	5575
+-124.5555	46.6012	7744
+-125.0089	46.7321	7275
+-123.7637	45.6556	7881
+-108.0814	32.8312	6684
+-119.647	45.6413	7737
+-122.4017	48.4539	7883
+-80.1061	27.0034	7442
+-111.7641	30.0617	7211
+-119.2209	46.4802	8189
+-121.9259	47.0626	8531
+-114.4048	36.3258	5605
+-79.4597	28.3978	6784
+-121.2798	31.6421	4767
+-83.3859	27.6154	8465
+-84.3882	30.6712	5732
+-124.9784	44.6575	6193
+-121.4971	34.6242	4892
+-121.3569	44.62	6521
+-117.2569	34.8341	8773
+-119.5365	29.8669	5389
+-118.8733	47.5195	7632
+-79.0786	27.0825	6351
+-111.7448	29.7678	6982
+-119.4089	43.9255	6667
+-108.7469	33.3305	6917
+-111.8635	33.4872	6827
+-115.3617	49.2971	4674
+-107.9169	27.8579	4663
+-83.8204	26.4687	7484
+-82.4862	27.2282	9164
+-115.9335	32.0437	8314
+-80.6269	28.2078	8117
+-82.4075	26.3466	8256
+-91.3269	39.4058	8186
+-113.9018	33.2891	6294
+-115.6057	29.7991	6061
+-93.8271	43.7236	2904
+-80.0891	25.4975	6437
+-115.8753	31.9576	8204
+-120.9985	35.3896	5243
+-82.4258	27.0263	8992
+-87.6839	39.7592	7170
+-88.8611	38.684	8667
+-109.9274	34.4952	6288
+-119.8445	44.688	7031
+-93.3959	37.1175	5731
+-124.3866	42.138	4056
+-110.5656	32.0272	8931
+-113.6141	36.1866	4967
+-120.544	34.4113	5950
+-90.8388	39.2877	8665
+-119.6984	46.7445	7614
+-127.1169	48.8508	4532
+-121.3011	43.8013	5710
+-118.0241	33.438	8416
+-90.5802	37.7461	8322
+-82.663	26.734	8580
+-120.1947	33.0691	6139
+-82.508	26.8429	8765
+-116.1554	35.6769	7463
+-83.3775	26.3183	7732
+-83.734	24.331	5604
+-80.8338	29.1054	7782
+-119.4627	31.1735	6420
+-120.8574	45.2003	6639
+-87.5124	37.4087	8378
+-118.7526	33.4424	7750
+-88.9717	40.3248	7145
+-116.5227	44.0461	6395
+-88.8057	38.0622	9368
+-85.9962	37.3357	6683
+-80.5372	26.9332	7855
+-117.8125	34.1292	8942
+-82.0934	25.6216	7465
+-120.3006	48.8608	6073
+-113.4308	31.9822	6090
+-117.5718	32.9874	9051
+-118.7715	34.6542	7801
+-120.9709	45.9473	7209
+-91.2964	37.4315	7696
+-117.8855	45.0849	8106
+-122.903	41.9398	4084
+-117.2416	31.6067	8369
+-83.0609	28.6719	8426
+-109.9253	31.9387	8887
+-115.7933	31.6805	7931
+-88.8478	38.9517	8369
+-116.3843	33.4538	8790
+-117.0314	36.2807	7181
+-88.8677	39.2874	7691
+-117.2148	32.8782	9468
+-87.6232	36.2165	7743
+-123.824	47.1372	8574
+-89.2364	41.0813	6624
+-120.7423	49.0731	6293
+-112.6733	32.00	6898
+-123.7685	48.2452	7908
+-80.7378	26.3765	7664
+-117.4279	33.6338	8965
+-116.7277	44.2805	6725
+-119.0294	35.5855	7046
+-80.3203	31.1917	5508
+-108.905	34.9295	5532
+-117.6728	44.9886	7918
+-89.7075	39.4643	8364
+-92.3485	33.9381	4012
+-111.7999	28.3271	5604
+-120.1738	35.683	5944
+-115.4239	32.5486	8006
+-118.4267	32.3961	8058
+-88.6556	35.3436	7205
+-85.4063	36.4322	5797
+-119.878	30.8473	5832
+-115.2347	32.583	7804
+-109.6729	35.5019	5168
+-109.1282	29.9934	7312
+-125.4213	49.6995	5521
+-88.7637	37.9891	9452
+-114.2005	32.3732	6628
+-122.8068	44.567	6968
+-108.6037	31.7889	7586
+-87.5685	38.5138	8168
+-126.719	43.0224	3575
+-116.8979	31.3463	8111
+-118.1823	32.1405	8201
+-110.0479	32.7882	8132
+-112.7116	32.4366	6736
+-117.2276	35.0155	8575
+-88.452	42.9763	4416
+-82.7449	25.6241	7372
+-81.7317	26.6394	8539
+-116.9226	33.8351	9041
+-118.4948	48.0817	7150
+-87.9295	37.6761	8875
+-93.9158	38.5277	5609
+-105.812	29.3671	4018
+-88.6121	37.5943	9624
+-120.213	46.3548	7199
+-109.268	31.2038	8248
+-108.6816	31.1708	7629
+-121.0914	46.8524	7615
+-116.7292	44.2364	6691
+-122.9918	46.3294	8899
+-123.0141	45.6505	8155
+-111.3048	32.392	8104
+-83.0137	31.5765	5468
+-117.9109	36.2528	7121
+-117.599	34.0462	9163
+-86.5119	38.2261	7207
+-81.1088	27.9966	8704
+-114.5401	31.9225	6868
+-86.8886	37.97	7680
+-118.4217	47.8054	7448
+-80.5298	27.9347	8068
+-109.8271	32.5294	8311
+-116.8299	32.8673	9590
+-118.4445	48.1316	7102
+-80.9654	26.3775	7839
+-118.3634	44.4525	7514
+-110.615	27.9331	5507
+-84.8584	28.2457	6762
+-113.8077	34.0244	5981
+-90.7624	40.9657	7001
+-87.7814	38.0772	8617
+-81.0128	28.9213	8072
+-116.9716	34.0354	9199
+-116.4076	33.7145	8495
+-118.8566	34.1258	7803
+-81.5722	29.6973	7618
+-120.8205	35.04	5537
+-118.053	33.9378	8654
+-107.3742	30.9128	6186
+-119.5143	46.7713	7776
+-90.5699	35.4585	6615
+-117.329	32.2239	8978
+-118.6719	29.9599	6042
+-122.215	44.0791	6346
+-109.8652	33.3658	7477
+-87.969	39.2663	7808
+-117.6524	34.4954	8961
+-89.9152	38.0384	8506
+-118.9618	49.9652	5104
+-83.6089	30.9247	5949
+-119.4608	48.509	6421
+-113.3181	27.7033	4170
+-119.3783	31.7453	6809
+-117.8243	46.2141	8760
+-125.8192	47.983	6210
+-93.5287	39.4794	5944
+-115.9069	47.2722	6454
+-107.8328	33.8971	5782
+-90.9271	38.6589	8830
+-120.5497	47.5247	6952
+-88.3146	37.2567	9131
+-81.4419	26.252	8009
+-116.7222	32.4067	9221
+-89.253	37.6192	9267
+-124.8314	47.3153	7450
+-79.463	29.7743	6113
+-116.9309	33.6278	8876
+-107.8564	33.9422	5768
+-109.8997	31.7883	8954
+-119.8763	30.5474	5637
+-90.1522	37.5113	8066
+-91.0315	44.5535	3130
+-119.2921	33.3175	7156
+-89.9659	40.736	7237
+-90.9346	39.3074	8579
+-90.8733	37.5714	8049
+-121.3078	44.3318	6224
+-114.0153	35.7931	5556
+-89.4626	39.0642	8376
+-118.6841	35.1048	7663
+-89.651	43.3965	4354
+-88.3236	40.3655	6603
+-89.4955	37.2057	8847
+-118.3938	33.4226	8084
+-91.0063	39.2184	8584
+-123.9974	43.5097	5622
+-113.4961	33.7688	5739
+-79.4857	27.2007	6829
+-120.3639	46.7062	6965
+-117.8204	35.2418	8186
+-91.8409	36.1686	6229
+-115.7677	45.6216	6549
+-95.956	38.5824	3415
+-108.0344	30.924	6882
+-110.2713	31.1157	8962
+-91.6712	39.5386	7797
+-111.197	30.3319	7826
+-81.0056	28.4447	8404
+-83.4171	28.3234	8309
+-82.0135	29.3736	8069
+-77.5508	28.2443	4680
+-110.7048	32.4991	8403
+-86.5127	26.7992	4818
+-110.2309	30.2787	8056
+-81.4995	26.5077	8298
+-118.1266	33.2859	8221
+-118.08	34.7824	8403
+-114.174	30.5938	5772
+-108.8956	33.998	6429
+-85.2486	26.7581	6188
+-94.6302	40.3017	4551
+-84.1548	28.7687	7340
+-109.1244	33.6221	6905
+-84.5338	24.0069	4846
+-116.9676	35.4597	8055
+-125.1756	48.1438	6791
+-118.5362	47.1621	8104
+-86.1105	38.9266	6515
+-109.0431	30.5435	7678
+-115.5972	33.059	8202
+-111.2905	33.6825	6974
+-92.0254	39.4619	7495
+-115.6906	44.6177	6098
+-87.1393	36.5456	7597
+-118.9865	33.6487	7589
+-119.8389	48.2441	6455
+-112.6229	33.8577	5977
+-117.4512	35.9832	7510
+-90.0118	39.0624	8901
+-93.7699	36.5811	5090
+-125.4148	46.128	6694
+-86.3553	37.9602	7088
+-115.0207	32.267	7498
+-87.9725	39.211	7865
+-117.8859	33.968	8839
+-117.2657	35.971	7533
+-91.7026	38.2655	7910
+-81.3878	26.3872	8119
+-91.7366	37.5631	7484
+-117.4863	33.4593	8765
+-122.8764	49.1749	7180
+-114.231	31.8428	6514
+-117.6921	41.5472	4398
+-88.6529	35.371	7236
+-118.7795	33.9007	7868
+-119.0041	45.4399	8225
+-119.7516	46.8118	7532
+-124.5597	45.2422	6977
+-89.7278	39.364	8456
+-119.2321	32.7987	7226
+-88.4779	40.3996	6708
+-88.7099	40.2264	7019
+-119.6459	47.3167	7326
+-111.5547	28.7302	6111
+-87.5266	39.9575	6890
+-89.0402	36.5998	8580
+-81.9709	30.7097	6558
+-88.7922	41.268	6214
+-120.9519	45.7008	7054
+-90.7445	39.721	8308
+-109.6202	33.7006	7053
+-119.2418	43.5574	6383
+-91.6282	38.296	7996
+-119.7108	43.3756	6003
+-87.8285	39.7819	7217
+-109.4812	32.2782	8282
+-110.6258	30.8724	8641
+-124.5914	48.412	7162
+-117.3132	46.792	7999
+-85.1479	40.3125	4783
+-116.0252	32.9226	8696
+-81.5428	29.293	8041
+-118.6409	33.9123	8019
+-111.639	29.2631	6589
+-117.8881	33.1478	8661
+-115.6307	36.4882	6410
+-112.4223	31.8411	7193
+-113.03	27.2569	3950
+-88.5635	36.388	8363
+-89.8667	35.715	7301
+-77.2608	27.3465	4359
+-117.8911	45.8872	8788
+-122.7415	48.9515	7419
+-110.4177	32.2047	8794
+-92.3956	36.4172	6104
+-90.0642	35.9229	7376
+-90.8777	36.7417	7195
+-83.7095	26.3406	7488
+-116.6433	35.3479	8049
+-119.964	47.9875	6584
+-90.3392	38.4823	9132
+-125.4853	44.5831	5743
+-121.4335	47.8667	7716
+-87.4006	39.8838	6891
+-88.2928	34.8375	6596
+-107.7844	31.2093	6682
+-110.2951	30.8943	8726
+-111.6204	31.0373	7959
+-118.7757	45.8448	8673
+-87.3097	34.7586	6165
+-120.885	48.376	6905
+-119.0595	31.3441	6898
+-119.4024	30.5349	6030
+-119.5321	46.4369	7891
+-125.4282	47.1397	6822
+-89.7392	38.0595	8407
+-92.5893	37.5474	6716
+-85.1767	24.0555	4463
+-111.5352	29.9449	7272
+-119.8638	36.4659	5730
+-116.3184	46.5859	7117
+-89.9867	37.8888	8402
+-115.8907	31.8738	8157
+-121.2032	49.547	6213
+-87.079	33.8039	5084
+-89.2512	38.1058	9080
+-79.4095	30.384	5619
+-116.7544	33.6831	8794
+-110.183	31.2403	9068
+-118.6144	47.8551	7369
+-117.4431	35.5835	7944
+-113.3894	36.3752	4652
+-118.0583	34.4949	8588
+-119.5117	36.0394	6325
+-119.0544	32.1772	7317
+-120.4231	48.1068	6610
+-115.8352	35.1399	7629
+-119.7117	31.9033	6526
+-86.4878	27.6848	4965
+-111.5018	31.1629	8128
+-89.8253	37.912	8339
+-88.2925	37.6207	9280
+-118.2757	32.6678	8283
+-122.7799	48.8627	7519
+-117.5078	47.4173	7642
+-87.2752	39.7051	6979
+-119.2906	33.6666	7272
+-88.6916	38.9424	8380
+-108.9124	29.4372	6685
+-83.5639	29.3858	7448
+-89.4964	34.3856	6043
+-116.5359	42.5605	5080
+-118.6826	30.391	6439
+-123.1414	46.4527	8982
+-115.7615	43.6189	5514
+-89.7726	40.3413	7587
+-89.1168	36.0483	7957
+-116.4958	32.25	8931
+-117.9294	45.5775	8592
+-122.099	46.0976	8308
+-82.5855	24.8452	6548
+-113.5651	31.6542	5971
+-108.4799	28.947	5982
+-114.5021	33.8455	6774
+-91.0652	36.6605	7055
+-92.6195	39.7388	6789
+-117.4927	34.7427	8829
+-123.3294	46.0334	8478
+-115.3743	27.4512	3510
+-107.3795	29.4416	5520
+-85.5879	26.7922	5832
+-89.4266	36.543	8353
+-88.1669	40.1281	6971
+-116.0046	43.9068	5911
+-118.0389	36.5796	6740
+-124.3187	46.5581	7984
+-91.1157	41.4481	6411
+-86.4844	39.7115	6375
+-82.4635	24.1878	5826
+-116.8974	43.9959	6592
+-88.0137	38.2654	8735
+-117.3063	30.3983	7029
+-82.6328	27.7137	9324
+-121.8261	45.6572	7746
+-89.9382	37.8877	8378
+-122.5595	49.8376	6430
+-108.9463	33.9427	6508
+-120.435	48.0856	6632
+-107.5963	28.9504	5359
+-109.6562	26.9605	4412
+-121.6463	46.5585	8158
+-90.1043	36.8033	8028
+-85.4556	37.8917	6090
+-93.1091	36.3736	5527
+-120.5765	35.6994	5544
+-118.6037	45.454	8497
+-81.3765	27.3403	8910
+-81.0732	27.9406	8677
+-115.295	34.9788	7198
+-118.7534	32.9215	7756
+-109.2803	33.9928	6625
+-116.5869	30.7946	7458
+-85.0458	28.1844	6564
+-120.4174	49.856	5421
+-122.5194	45.1709	7590
+-86.3011	42.4204	3803
+-116.7375	35.35	8091
+-91.9832	36.915	6800
+-119.2881	36.5269	6120
+-82.2611	25.7064	7557
+-116.705	32.8482	9459
+-115.5328	44.6263	5956
+-115.1661	34.4433	7222
+-87.9326	36.9491	8581
+-109.1701	32.394	7937
+-117.9048	33.5854	8620
+-90.35	43.4873	4318
+-116.3413	33.841	8479
+-112.8565	32.3126	6628
+-110.4915	29.3607	7059
+-122.3179	43.136	5349
+-109.4152	31.1241	8361
+-119.6511	32.6131	6750
+-117.6151	45.0506	7943
+-85.3775	32.2762	3607
+-82.0136	32.4775	4561
+-123.8909	48.3421	7744
+-90.2247	39.5614	8533
+-89.4389	37.5336	9046
+-110.7032	29.8069	7508
+-110.8852	30.3837	8043
+-86.7086	41.1931	5231
+-117.3467	45.7348	8196
+-92.4913	38.1663	7067
+-90.1075	39.2353	8823
+-114.8695	32.1009	7281
+-116.1836	35.9709	7211
+-91.7875	37.9275	7670
+-117.0011	32.5315	9432
+-115.1167	44.5836	5542
+-119.0675	33.0626	7252
+-81.2341	27.3747	8783
+-120.0594	35.1655	6290
+-110.4126	29.3033	7002
+-118.9054	49.309	5799
+-121.3683	36.0618	4594
+-121.2664	49.2636	6510
+-122.3927	46.8175	9025
+-115.8242	46.2179	6653
+-116.2043	33.0961	8847
+-83.7183	26.8315	7810
+-116.1321	33.7108	8217
+-117.9592	44.73	7770
+-121.19	35.2055	5101
+-81.7297	27.8034	9434
+-110.4556	30.6261	8428
+-117.7454	32.4048	8770
+-119.4512	33.0566	6881
+-124.5503	47.2287	7770
+-87.0393	38.9499	7399
+-80.1279	27.7231	7623
+-88.5585	35.0676	6889
+-119.1525	35.8211	6777
+-84.6959	27.7375	6993
+-118.6231	34.8472	7866
+-83.0567	27.9519	8827
+-117.2247	34.6915	8927
+-83.0461	24.0924	5609
+-117.7699	32.5184	8797
+-114.1639	36.1213	5518
+-89.7465	36.3722	7993
+-118.5831	43.7318	6732
+-112.0984	31.6521	7560
+-91.8616	37.4295	7288
+-119.471	35.9391	6429
+-90.4508	39.8347	8253
+-108.8438	33.3766	6948
+-117.4805	30.2433	6826
+-118.2693	44.8144	7899
+-85.8798	30.4275	4693
+-89.4383	38.6545	8401
+-89.065	38.6673	8642
+-88.9178	37.0059	9055
+-82.7398	29.5093	7805
+-125.09	46.9133	7199
+-111.2167	30.929	8282
+-124.7114	46.6099	7578
+-86.0051	37.3944	6700
+-117.6662	34.1436	9102
+-123.8837	47.5475	8351
+-118.8953	36.3416	6545
+-118.8539	30.4752	6399
+-115.1233	32.7503	7695
+-118.1293	34.5414	8497
+-121.3142	48.3662	7282
+-109.6052	34.6799	6027
+-118.8806	33.6237	7692
+-108.5113	32.9534	7004
+-124.6664	43.067	4903
+-114.8151	32.1572	7243
+-81.2575	27.8676	8895
+-112.6638	30.471	6676
+-120.812	48.5602	6720
+-121.9738	48.3053	7818
+-79.6916	30.3093	5904
+-116.8053	36.4697	6940
+-117.1058	36.5591	6886
+-116.078	29.734	6174
+-78.4459	31.6429	3840
+-89.4722	39.0698	8384
+-116.4587	34.3282	8631
+-106.9957	30.9786	5799
+-124.1005	46.1264	7996
+-117.0474	33.912	9198
+-115.8276	31.4634	7780
+-111.9688	35.8404	4532
+-82.1206	26.7479	8740
+-111.5504	33.8773	6660
+-82.9011	31.775	5275
+-126.788	46.3975	5289
+-119.6801	34.0507	6904
+-120.923	33.2313	5430
+-120.758	33.5787	5682
+-90.6485	36.0652	7042
+-120.4379	35.0165	5947
+-116.5776	37.766	5505
+-78.8728	25.2481	5231
+-116.9246	33.3134	9197
+-80.9928	29.508	7537
+-114.0457	31.581	6215
+-119.5516	30.1733	5629
+-88.6703	35.7999	7718
+-114.7779	32.4995	7286
+-83.3226	26.4138	7855
+-127.156	43.8878	3835
+-90.2404	42.2436	5656
+-113.6144	34.4079	5543
+-117.3417	45.6438	8152
+-119.0003	34.2648	7641
+-86.4608	33.2711	4244
+-117.0347	31.2535	8008
+-89.3482	40.4125	7313
+-84.6549	28.0643	7020
+-79.4669	26.8649	6708
+-108.6959	33.4216	6806
+-114.9312	45.876	5702
+-117.5622	33.3095	8891
+-95.009	41.0045	3878
+-115.5302	46.5359	6308
+-116.1033	35.2362	7789
+-122.2561	45.1371	7475
+-93.8804	40.5149	5202
+-117.8244	34.4115	8858
+-87.3804	40.9868	5776
+-109.2887	28.6777	6128
+-79.914	26.2561	6855
+-117.9437	37.138	6178
+-88.0145	36.0775	7842
+-113.3143	32.936	5927
+-116.1802	45.4217	6920
+-120.1271	33.3181	6293
+-110.7339	30.2336	7948
+-116.9885	38.218	5072
+-116.0377	45.6621	6837
+-87.7327	38.7015	8173
+-116.6282	38.3481	4888
+-117.1751	34.4451	9183
+-90.0836	34.2943	5752
+-89.0847	38.2677	9051
+-117.2399	43.8807	6663
+-117.5386	47.8545	7242
+-88.7297	33.6945	5357
+-107.8089	34.4375	5345
+-110.248	34.6101	6193
+-119.1193	30.9002	6538
+-117.9399	30.8717	7327
+-111.6211	34.9079	5611
+-90.7271	36.4266	7212
+-116.1537	33.8469	8284
+-113.9922	30.7942	5741
+-118.8499	31.245	7017
+-121.2043	46.6394	7709
+-114.4571	35.0152	6326
+-85.7813	28.1312	5745
+-114.192	35.3345	5937
+-114.628	36.5499	5635
+-121.2741	32.7319	4907
+-81.9781	27.2081	9237
+-84.6521	37.2564	5174
+-115.7917	33.4403	8269
+-120.6205	46.6421	7077
+-117.5359	31.0332	7665
+-122.7015	48.4472	7965
+-89.1654	37.6827	9367
+-110.5225	30.0332	7782
+-88.2349	37.5668	9208
+-124.5576	49.3736	6395
+-115.6071	37.3494	5590
+-89.1093	36.5057	8457
+-117.9291	46.2147	8866
+-82.4399	28.1298	9355
+-87.0175	35.4665	6661
+-106.9398	29.7627	5301
+-117.4331	33.4372	8757
+-91.1816	37.784	8074
+-123.8312	46.0811	8194
+-122.7565	44.6409	7046
+-89.405	35.7667	7566
+-121.5583	45.2527	7215
+-123.04	43.5181	5814
+-86.0739	39.7644	5983
+-108.037	31.3727	6975
+-89.0191	36.3402	8300
+-118.9759	34.0978	7673
+-89.7019	39.701	8163
+-89.8839	38.9708	8836
+-113.2037	32.3483	6255
+-120.5244	46.9029	6995
+-78.5157	26.9159	5688
+-117.1585	33.2651	9209
+-122.3873	45.6054	8008
+-116.2052	32.3781	8773
+-119.0517	46.4339	8373
+-120.3739	44.7765	6640
+-112.1078	32.8014	7142
+-112.2666	31.6223	7378
+-92.4812	38.6507	7161
+-118.656	34.5041	7969
+-105.7894	33.7401	4024
+-123.0967	45.5361	8020
+-115.8975	46.298	6725
+-88.2903	40.5715	6434
+-87.575	35.8546	7381
+-93.9062	39.2733	5586
+-115.2207	33.3068	7730
+-90.6896	39.463	8588
+-115.5417	32.429	8106
+-91.7042	39.9403	7508
+-81.9657	31.4651	5704
+-119.9875	44.1958	6554
+-113.445	34.1719	5544
+-119.6122	28.3921	4003
+-85.6989	36.3895	6085
+-120.6378	49.4489	5916
+-119.6813	32.4761	6701
+-84.4797	25.4007	6123
+-118.7967	47.7972	7383
+-118.4118	44.2788	7327
+-115.0951	33.3082	7595
+-123.498	47.9219	8368
+-79.902	31.5576	4916
+-121.1868	49.5059	6241
+-115.6087	33.4974	8059
+-89.6502	39.6932	8137
+-116.461	31.3203	7991
+-121.2819	33.1841	5037
+-82.1417	26.1516	8065
+-89.3286	40.4469	7271
+-89.0571	35.8684	7771
+-92.4368	39.9944	6836
+-119.6228	33.0375	6703
+-113.6941	34.0854	5838
+-111.8643	31.6694	7812
+-110.9432	32.89	7911
+-89.4258	37.3522	8996
+-118.5786	47.0844	8172
+-124.5568	48.3236	7253
+-82.6292	30.7722	6446
+-115.5262	35.3708	7208
+-114.888	35.0616	6753
+-119.9741	34.8893	6472
+-116.3217	45.3266	7027
+-111.0968	32.9099	7815
+-125.029	46.2779	7148
+-116.5551	45.80	7403
+-82.3831	26.6963	8649
+-89.7988	40.6692	7262
+-111.4762	31.2643	8188
+-121.0948	47.0866	7619
+-106.9129	30.5965	5617
+-89.0667	37.6088	9472
+-117.4179	46.711	8139
+-117.5172	31.0066	7643
+-90.4472	37.78	8377
+-109.5956	32.8179	7915
+-123.7351	48.9923	7199
+-87.1173	37.281	7914
+-82.0866	26.8048	8803
+-117.0139	29.8459	6439
+-91.9141	38.1285	7644
+-109.2747	30.6531	7947
+-115.7676	45.7499	6571
+-88.2337	35.5372	7352
+-116.7565	44.7831	7125
+-82.5255	28.4299	9021
+-117.1211	44.7801	7398
+-89.4196	38.4704	8343
+-116.7077	31.983	8779
+-119.428	47.6596	7212
+-110.8621	32.2035	8591
+-117.0866	42.2621	5003
+-91.8444	38.8842	7843
+-118.9724	49.3841	5707
+-116.2404	33.0309	8908
+-107.6057	27.9137	4520
+-118.4173	29.2969	5507
+-93.5116	38.6524	6051
+-89.2687	39.4408	8011
+-116.4961	43.7189	6107
+-90.4814	37.4249	7992
+-117.8232	45.1263	8120
+-119.0548	44.3242	7210
+-109.2364	31.7055	8278
+-110.6295	29.6314	7335
+-88.5087	35.6051	7484
+-118.948	45.8365	8503
+-117.9726	47.6605	7575
+-108.4378	33.1119	6835
+-91.7016	39.134	7944
+-84.1082	25.829	6762
+-87.7779	39.992	6978
+-107.9006	30.8925	6734
+-118.4239	31.2505	7367
+-120.7607	43.4018	5381
+-124.5766	46.4894	7691
+-113.4869	32.2253	5987
+-91.0387	37.1789	7590
+-121.2788	45.6364	7302
+-87.32	36.9217	7989
+-110.6799	33.0262	7866
+-121.7958	46.8882	8390
+-118.7123	30.6323	6634
+-113.772	31.7695	6003
+-87.4507	37.9912	8294
+-84.5509	29.0678	6786
+-120.1589	32.3789	6159
+-117.5705	30.3192	6887
+-118.7861	35.8436	7042
+-89.0977	37.8985	9361
+-117.1586	33.2708	9203
+-90.1544	39.0835	8988
+-114.4356	35.7622	5975
+-89.8497	37.7537	8595
+-90.2595	38.6196	9231
+-111.382	31.6471	8335
+-115.9245	32.167	8383
+-87.5613	37.1676	8351
+-119.9502	48.0475	6546
+-83.176	25.865	7439
+-120.9009	44.0043	5709
+-115.5653	43.7915	5484
+-118.5648	44.4557	7494
+-107.941	32.1679	6805
+-90.0753	39.4279	8622
+-117.7049	44.3076	7266
+-125.947	46.6147	6236
+-122.1016	48.2847	7913
+-93.0432	36.9256	5948
+-79.1914	30.3641	5452
+-126.1732	49.5286	5040
+-81.0017	29.3042	7733
+-80.2621	27.7196	7775
+-85.756	27.6943	5793
+-89.8748	39.4787	8467
+-81.4046	29.8458	7400
+-118.1162	29.8291	6182
+-89.4353	36.8944	8669
+-115.1983	30.8178	6776
+-124.4295	44.0868	6024
+-88.2138	36.8789	8735
+-89.9793	38.0334	8538
+-116.8224	33.8301	8951
+-88.9355	39.3305	7743
+-91.1869	39.8383	7966
+-115.7612	32.1682	8226
+-86.2188	36.1878	6509
+-115.8693	34.2297	8010
+-78.1427	30.1829	4614
+-119.4403	37.9396	4757
+-83.2803	28.7453	8187
+-115.5217	45.9352	6331
+-90.7309	38.6583	9037
+-83.1174	26.2835	7879
+-89.2023	39.9654	7598
+-111.4173	29.4663	6897
+-122.9497	43.7718	6096
+-118.1574	49.2483	5924
+-124.0926	45.6333	7641
+-90.2808	39.5939	8508
+-110.2093	33.4871	7406
+-118.0599	35.1651	8118
+-110.1914	31.8469	9149
+-121.6257	44.3962	6454
+-117.3223	35.5049	8040
+-109.0977	30.4098	7627
+-113.6733	28.186	4312
+-126.1518	44.6581	5225
+-104.784	29.9612	3210
+-88.1053	37.498	9049
+-87.0939	39.4242	7091
+-114.9851	38.2926	4363
+-86.8595	35.0682	6198
+-121.2419	48.8379	6859
+-119.843	31.5041	6226
+-87.4299	30.2334	3282
+-115.0655	31.6693	7276
+-115.2931	32.5134	7856
+-123.3773	47.5195	8804
+-121.3034	43.6507	5563
+-86.6058	37.5163	7384
+-117.3842	34.3683	9251
+-121.4799	49.0823	6807
+-109.7609	29.6794	7320
+-117.0439	33.765	9068
+-116.1221	33.8745	8258
+-81.3918	27.9917	9016
+-116.0648	42.3228	4621
+-91.8519	36.6273	6642
+-118.6987	45.8936	8769
+-117.9933	34.304	8724
+-118.0941	33.6972	8518
+-85.7485	28.1217	5783
+-122.3778	44.0604	6362
+-115.4601	46.9374	6142
+-111.5958	31.8233	8081
+-89.8209	37.0328	8435
+-120.7111	46.1931	7056
+-81.4519	27.1358	8842
+-122.8351	48.2396	8206
+-112.4884	32.1919	7047
+-88.7951	35.9505	7889
+-80.936	28.5863	8251
+-117.7463	37.3135	6030
+-119.5372	46.2058	7928
+-108.6184	31.9315	7578
+-112.4179	31.5865	7215
+-119.6096	47.1913	7442
+-119.1208	32.0571	7205
+-88.9019	38.773	8563
+-90.4956	38.5666	9193
+-117.7469	42.0383	4921
+-84.0154	40.4068	3658
+-116.9975	34.1803	9240
+-117.6334	49.9511	5124
+-91.3063	39.0596	8375
+-114.519	37.4278	4858
+-84.2172	30.4758	6026
+-80.5382	31.3981	5405
+-118.9844	47.6154	7492
+-87.6516	34.0519	5570
+-117.237	34.4027	9242
+-114.5858	35.395	6306
+-112.1324	31.2507	7491
+-119.0067	30.9403	6661
+-89.646	41.0907	6779
+-110.4276	31.0755	8914
+-124.4749	48.5618	7144
+-91.1343	35.2909	6051
+-109.8733	31.4627	8958
+-87.1928	38.4287	7852
+-109.9378	32.1696	8707
+-116.2999	36.2351	7014
+-114.7805	49.1678	4329
+-82.3458	25.7223	7567
+-90.2133	40.2504	7797
+-117.8312	46.0338	8777
+-77.8852	28.4547	5024
+-122.5676	49.3447	6968
+-91.27	40.7193	7097
+-90.4616	33.5745	4844
+-124.8138	46.8404	7499
+-120.585	47.5672	6979
+-123.6878	48.0124	8168
+-119.3359	32.7955	7110
+-122.1921	48.4698	7781
+-117.5908	45.805	8463
+-122.474	47.7732	8604
+-90.4033	35.3351	6618
+-117.8799	46.649	8539
+-107.6327	27.8804	4508
+-83.4363	26.9495	8152
+-114.01	32.3307	6411
+-125.8156	45.5456	6043
+-86.3388	37.219	7044
+-117.2301	32.718	9439
+-118.0146	45.3528	8420
+-124.8071	48.1117	7162
+-114.6528	38.1478	4312
+-110.9926	32.002	8627
+-81.504	28.9426	8383
+-110.0139	30.4839	8233
+-118.4432	36.0464	7088
+-109.4705	28.8787	6398
+-92.4467	36.2256	5910
+-90.8605	35.2842	6255
+-88.2514	36.752	8637
+-118.5931	46.0769	8932
+-117.8398	34.5073	8791
+-89.2094	35.8274	7692
+-115.9771	46.5755	6767
+-122.8614	47.9447	8531
+-80.0661	28.2332	7495
+-88.731	38.5832	8785
+-84.0921	25.1862	6227
+-110.3147	29.5964	7321
+-110.0628	30.4863	8249
+-116.8102	33.1122	9380
+-117.8912	45.9045	8797
+-90.9014	41.7177	6177
+-91.9742	37.2726	7084
+-92.7755	38.4318	6823
+-109.6203	31.1542	8572
+-77.4109	29.4278	4229
+-125.8833	45.1542	5771
+-117.5699	33.8317	9071
+-80.9922	28.2386	8495
+-115.799	36.4522	6544
+-121.1283	42.9673	4779
+-91.8658	37.8704	7566
+-121.5225	47.5565	7960
+-111.1573	32.0559	8444
+-90.5385	41.6797	6262
+-120.4347	35.0017	5955
+-123.4599	47.4369	8803
+-90.1769	37.6229	8189
+-83.098	25.4335	7036
+-111.3028	29.48	6964
+-90.4815	37.8723	8472
+-118.8272	43.8101	6768
+-94.6388	38.9738	4831
+-111.8598	35.4452	4974
+-110.2277	33.7917	7078
+-87.5651	40.3099	6555
+-84.9749	27.2691	6629
+-119.0132	32.573	7454
+-116.2742	32.4467	8877
+-87.5048	38.467	8137
+-114.3664	32.7728	6852
+-88.5486	36.7605	8770
+-86.0179	36.1408	6287
+-109.2539	30.5145	7828
+-121.9385	46.4602	8412
+-115.3987	31.2835	7307
+-117.5992	31.0924	7704
+-119.3376	35.0369	7073
+-116.3659	30.5329	7119
+-119.1586	45.2101	7939
+-118.8427	33.8779	7796
+-89.8481	38.525	8799
+-118.1002	33.989	8615
+-83.1966	25.3929	6950
+-117.821	29.7629	6216
+-118.8506	31.9296	7430
+-117.5325	34.5979	8954
+-119.3312	46.1504	8149
+-90.5553	36.1097	7154
+-119.3678	47.0785	7714
+-120.9186	33.4989	5495
+-116.0127	37.9881	5116
+-79.0718	26.0731	5934
+-115.5964	47.0644	6237
+-122.2969	46.0368	8389
+-120.4937	34.2737	6014
+-116.2034	32.864	8900
+-87.8552	39.7348	7277
+-120.695	48.9375	6357
+-113.7928	34.2898	5745
+-88.6406	38.4738	8897
+-110.4714	34.4166	6400
+-85.6724	27.4061	5868
+-117.4914	31.7239	8401
+-92.8847	35.8294	5280
+-118.1118	32.1859	8295
+-87.7163	32.6268	4037
+-123.5313	44.4593	6766
+-89.8492	37.2948	8530
+-90.2663	37.3128	7870
+-117.0593	46.4364	7916
+-121.4577	33.945	4962
+-89.7223	41.9161	5938
+-122.1223	48.2898	7920
+-117.1269	35.6262	7902
+-118.9017	35.6631	7095
+-121.2479	47.7764	7585
+-121.2391	43.4283	5312
+-117.5176	35.1984	8344
+-91.4905	37.5181	7639
+-87.9866	32.9397	4438
+-116.8713	38.5445	4707
+-115.7231	30.946	7247
+-126.117	46.8154	6068
+-93.0622	41.3992	5363
+-91.2546	36.9718	7290
+-91.6227	43.4764	4158
+-92.578	35.2311	4954
+-114.9095	33.7853	7217
+-111.9527	28.2661	5474
+-120.0724	46.7184	7256
+-122.9681	43.8625	6195
+-121.0603	49.985	5723
+-118.2007	34.0957	8518
+-88.2848	38.0801	9102
+-86.9338	35.7476	6837
+-85.0365	28.0273	6595
+-120.4328	32.0416	5791
+-112.7269	35.2408	4738
+-123.9649	45.2514	7388
+-118.4416	43.7589	6776
+-106.5365	30.3847	5160
+-80.8488	29.774	7196
+-87.303	36.6019	7784
+-78.2376	24.9566	4458
+-115.1315	33.9063	7372
+-116.9251	43.3209	5985
+-117.3063	31.108	7810
+-114.8221	30.3843	6136
+-89.5016	35.8295	7595
+-81.1897	24.2855	5812
+-81.6115	25.6985	7479
+-80.4217	26.5221	7498
+-115.9847	45.1491	6626
+-118.9927	47.3559	7733
+-117.3726	34.0244	9372
+-111.3599	30.3499	7735
+-113.8695	32.3141	6253
+-119.3296	32.4748	7090
+-119.6117	36.1192	6186
+-118.295	34.2903	8403
+-116.999	45.3431	7682
+-115.3637	34.972	7269
+-112.1944	31.765	7448
+-117.574	44.8422	7731
+-90.0637	39.3572	8685
+-121.7023	44.8127	6899
+-112.593	29.6027	6218
+-120.0496	44.5291	6757
+-110.0721	38.6776	1782
+-82.8021	24.8097	6463
+-120.9738	48.5905	6838
+-122.3646	46.4784	8810
+-116.2836	32.6723	8974
+-114.5609	47.2611	5131
+-117.2362	34.9276	8671
+-87.3915	38.353	8090
+-118.512	41.4709	4352
+-116.0826	46.2341	6926
+-91.4468	39.207	8177
+-87.5209	36.7422	8074
+-109.6835	31.5108	8765
+-111.0113	32.3378	8375
+-111.7757	31.0776	7818
+-117.1907	34.6647	8952
+-117.321	30.8863	7564
+-108.8453	30.6391	7564
+-118.364	33.7519	8271
+-87.4636	38.5576	8043
+-116.0215	49.5142	4923
+-82.1368	27.0613	9094
+-92.3125	39.6187	7144
+-89.8187	35.4847	7097
+-117.536	34.5832	8966
+-89.2336	37.9616	9195
+-78.9457	25.6817	5583
+-90.1948	40.8355	7167
+-117.0399	35.8206	7681
+-119.3715	46.7259	7931
+-119.1502	30.943	6544
+-80.6283	30.1638	6690
+-118.3264	42.1571	5084
+-122.9223	47.6376	8869
+-86.3596	35.4907	6173
+-88.5979	37.2948	9357
+-87.5113	39.2618	7536
+-113.8481	28.6501	4514
+-116.1523	33.2444	8727
+-117.0689	32.4734	9353
+-91.1776	40.3629	7487
+-122.2005	47.7911	8418
+-110.0572	30.5452	8310
+-81.9368	26.5664	8516
+-116.4807	36.1741	7152
+-82.6263	28.5228	8871
+-122.4116	45.7093	8124
+-82.7935	27.4403	9059
+-121.147	49.3326	6371
+-117.701	49.3982	5713
+-85.5148	38.3534	6084
+-89.3406	40.2046	7495
+-81.4935	28.0494	9101
+-117.9796	30.9908	7424
+-117.8624	45.0535	8066
+-83.9084	27.6881	7882
+-88.1813	38.5356	8638
+-91.2617	40.068	7717
+-80.0807	30.4082	6108
+-122.1342	44.8772	7161
+-88.1301	39.2825	7865
+-113.9849	31.8991	6273
+-94.6709	40.5497	4412
+-116.035	36.4975	6630
+-82.4608	27.3769	9317
+-117.7412	36.0189	7417
+-88.907	34.6506	6427
+-108.6795	31.7828	7669
+-124.1669	44.7911	6840
+-116.3779	34.0461	8564
+-117.0831	33.6686	8993
+-90.0253	41.9586	5945
+-107.3136	30.8722	6112
+-89.8019	34.1489	5700
+-118.2993	32.85	8266
+-111.3218	32.4477	8051
+-119.3144	29.6877	5390
+-115.9763	33.4107	8465
+-113.0237	33.2125	6066
+-88.9421	36.9631	9002
+-116.2951	33.1813	8901
+-80.1597	28.6146	7462
+-87.4344	34.2788	5729
+-117.3436	33.5306	8875
+-120.2578	37.2692	4811
+-82.4338	26.5891	8518
+-118.1624	33.2678	8179
+-113.5051	36.1518	4881
+-113.2312	34.1829	5256
+-112.9456	31.8612	6627
+-89.1285	35.2427	7065
+-116.3699	33.5833	8669
+-88.5062	36.7077	8700
+-92.982	36.6952	5854
+-113.4845	29.8753	5590
+-86.0101	36.312	6368
+-83.7448	27.2541	7979
+-89.7458	39.848	8056
+-111.1067	29.3711	6934
+-112.5549	35.4512	4641
+-116.6804	37.2097	6122
+-116.3358	33.2108	8923
+-113.0782	30.3113	6196
+-115.7298	37.7131	5288
+-115.5848	32.9538	8204
+-81.8891	26.7888	8752
+-84.2504	28.8458	7204
+-117.9601	37.0935	6221
+-117.706	31.6899	8250
+-110.7844	32.4911	8375
+-109.7391	32.5431	8250
+-117.4658	31.7721	8462
+-120.2072	31.7976	5964
+-116.6058	35.0874	8272
+-123.5166	43.5711	5815
+-112.1793	34.5007	5733
+-90.5532	36.4487	7388
+-119.9797	47.9525	6600
+-81.5708	25.648	7413
+-116.9488	32.887	9672
+-114.1436	32.04	6487
+-82.3359	26.4817	8421
+-83.6433	27.4071	8136
+-121.2544	41.6483	3592
+-116.9387	44.0741	6685
+-116.622	35.0671	8300
+-89.5814	42.1699	5638
+-84.4082	30.12	6189
+-117.8877	49.7808	5340
+-90.145	40.34	7691
+-88.55	38.0943	9276
+-111.0566	33.0454	7706
+-87.5162	38.535	8106
+-118.3034	34.0599	8404
+-79.9803	27.5969	7449
+-96.0466	35.7996	2542
+-82.2972	31.3989	5779
+-92.7529	35.8843	5416
+-119.5639	45.6181	7811
+-124.7747	47.0253	7546
+-121.5252	45.4324	7343
+-116.7084	35.8846	7533
+-91.5309	40.4232	7238
+-87.6209	38.9181	7910
+-117.7525	44.552	7527
+-112.6599	32.2759	6843
+-123.5341	48.1923	8090
+-123.4841	43.6066	5859
+-118.3048	48.1974	7039
+-124.2025	49.1307	6831
+-91.9214	35.1691	5224
+-115.37	36.5047	6226
+-121.3624	43.0673	5001
+-90.866	34.8819	5901
+-110.2198	30.6837	8491
+-120.5232	48.0334	6744
+-116.6508	40.1661	2923
+-117.6158	27.9564	4284
+-89.9375	38.3472	8777
+-124.6122	49.2817	6443
+-89.4549	35.8432	7628
+-90.3678	36.6264	7672
+-85.449	30.1212	5292
+-119.9442	49.8371	4929
+-112.9484	36.8592	3967
+-119.0294	33.6874	7554
+-116.4199	46.8052	7150
+-117.6868	49.9019	5185
+-113.9024	32.9268	6333
+-86.6973	38.2794	7392
+-118.3166	30.6095	6867
+-118.0181	47.3506	7907
+-122.4803	46.6843	9050
+-88.1243	36.5428	8363
+-106.6717	29.8124	5067
+-82.8919	30.3654	6830
+-88.8296	39.7601	7427
+-117.5074	35.2181	8326
+-123.9904	46.4948	8301
+-118.6745	49.1667	5986
+-115.7567	34.7907	7742
+-114.1753	36.9499	4976
+-83.7463	27.5021	8043
+-84.0604	27.0289	7558
+-111.2617	34.338	6324
+-118.5599	31.0289	7082
+-115.1288	30.9031	6794
+-114.4555	31.9672	6796
+-118.1081	36.2514	7052
+-114.5507	33.7745	6854
+-118.5616	44.8578	7912
+-89.7138	40.3922	7513
+-88.1294	36.3578	8182
+-118.1593	44.1056	7144
+-78.4541	28.8206	5563
+-124.1622	43.7164	5776
+-116.2284	32.6911	8918
+-120.9475	48.8438	6631
+-89.5732	38.6147	8539
+-125.5846	41.7331	3144
+-90.6672	34.0581	5238
+-90.2281	37.3255	7880
+-125.6972	48.3379	6184
+-92.157	40.8755	6441
+-85.4399	28.3497	6094
+-89.6437	39.8338	8010
+-108.7772	31.6655	7785
+-86.1679	39.05	6510
+-90.3939	37.7298	8325
+-116.5989	32.8622	9340
+-118.7058	48.7935	6373
+-115.6385	44.8282	6152
+-108.8824	32.2753	7732
+-88.4784	39.104	8169
+-119.0341	47.388	7682
+-114.9789	32.4158	7491
+-108.6593	28.5917	5759
+-89.9802	39.7356	8277
+-86.8283	39.4047	6892
+-87.4358	38.1639	8220
+-84.0208	28.422	7632
+-124.4813	48.2823	7346
+-108.8055	32.2279	7677
+-115.71	48.6708	5408
+-86.8336	37.3593	7618
+-82.2437	25.7048	7556
+-80.8202	31.4274	5492
+-118.0307	49.4451	5708
+-87.5986	37.8009	8495
+-90.1766	43.9084	3860
+-92.3826	39.5204	7115
+-126.074	41.2376	2411
+-107.7794	30.2455	6350
+-82.5055	25.9358	7779
+-89.8837	39.013	8816
+-109.0573	30.2577	7480
+-118.3167	47.7448	7518
+-111.3187	30.6098	7973
+-111.4738	31.1781	8162
+-92.6611	37.3863	6563
+-123.922	45.8358	7932
+-81.111	28.6891	8335
+-107.2686	33.2334	5702
+-116.7253	35.0871	8342
+-124.9238	45.8542	7069
+-85.7766	41.0863	4716
+-83.078	25.6836	7305
+-119.8861	36.7407	5506
+-110.4042	32.0725	8938
+-118.4426	33.6407	8147
+-115.4006	45.5568	6154
+-123.8929	47.3462	8438
+-118.1531	31.3049	7609
+-83.0621	28.9201	8217
+-112.9289	34.9611	4858
+-121.2323	47.1431	7764
+-114.6746	35.3643	6408
+-81.0593	29.2401	7830
+-123.7368	43.7618	5967
+-114.2126	37.6462	4460
+-89.3667	37.244	8992
+-110.5082	33.9441	6909
+-113.9086	38.4559	3567
+-87.2141	37.6825	8072
+-115.3868	33.7735	7693
+-121.665	34.4161	4730
+-89.898	41.7913	6105
+-109.3211	30.6521	7983
+-116.3698	35.7479	7523
+-112.1308	29.1232	6172
+-116.4267	33.8048	8554
+-87.9507	37.233	8778
+-126.1069	49.1168	5364
+-81.2174	25.9815	7623
+-120.9814	33.891	5477
+-114.4401	43.6981	4461
+-119.0805	31.8574	7164
+-86.4955	37.121	7193
+-83.9126	24.6735	5855
+-90.447	40.6868	7336
+-119.5953	45.044	7477
+-120.3762	42.9725	5275
+-119.8798	47.277	7160
+-86.278	26.8543	5091
+-118.68	33.5486	7869
+-116.8177	46.9374	7473
+-113.1763	30.5781	6206
+-90.0375	38.6422	9034
+-92.1745	38.6562	7491
+-80.8714	30.6266	6356
+-117.5774	46.8789	8147
+-114.4812	33.9518	6705
+-118.5951	32.5645	7915
+-90.0956	32.7368	4084
+-122.947	47.8379	8648
+-113.5895	31.9829	5919
+-90.2693	38.1607	8777
+-121.3235	46.8604	7870
+-119.2568	31.3957	6747
+-91.8546	41.7983	5776
+-81.1122	30.6467	6435
+-87.8777	42.5468	4521
+-114.4923	39.0631	3367
+-118.6411	47.8269	7393
+-118.5531	43.1568	6130
+-90.0456	35.928	7393
+-123.4958	46.7711	8917
+-117.7097	33.0869	8871
+-91.1506	39.2492	8438
+-114.4522	31.7125	6690
+-91.4688	37.4988	7639
+-117.4375	43.6732	6539
+-117.209	44.5616	7273
+-116.907	32.7531	9656
+-110.111	33.5691	7309
+-120.3772	49.8588	5390
+-109.8582	31.7226	8937
+-87.8051	39.9188	7066
+-87.9921	36.9422	8625
+-87.6027	35.1964	6750
+-85.4427	37.4109	6073
+-113.2183	30.8186	6240
+-109.6794	33.4097	7372
+-115.8525	43.2712	5310
+-124.7055	47.3791	7571
+-113.1597	31.4639	6409
+-114.3056	33.4515	6702
+-117.3143	30.1783	6785
+-116.589	45.1509	7204
+-119.2135	37.2839	5498
+-120.4164	47.285	6676
+-89.3685	38.6078	8320
+-120.277	47.1731	6863
+-93.6936	39.8394	5668
+-110.22	31.5146	9330
+-117.874	31.1099	7597
+-80.4567	29.1863	7407
+-127.4974	46.7684	4551
+-111.0071	34.8885	5819
+-117.1369	34.538	9074
+-111.6279	31.4396	8062
+-91.8051	34.5895	4961
+-83.1375	28.1436	8679
+-117.9048	30.709	7180
+-117.0002	34.7836	8771
+-116.1896	34.2706	8354
+-87.5035	40.1859	6651
+-94.2064	39.1738	5278
+-92.5517	34.8729	4636
+-85.4932	27.4498	6074
+-117.0387	34.6872	8885
+-119.9696	49.3395	5393
+-117.5363	45.8877	8438
+-116.1924	32.8066	8889
+-118.211	30.4079	6729
+-117.1464	46.8917	7793
+-118.0315	34.3889	8658
+-89.013	40.7047	6851
+-90.1597	39.9718	8086
+-123.2225	47.0993	9223
+-114.4063	34.6161	6374
+-84.2754	27.767	7469
+-118.4345	32.1404	7950
+-114.6271	33.5465	7019
+-115.0843	32.8391	7653
+-89.8745	36.7594	8208
+-110.5827	33.2342	7665
+-121.7494	44.9261	7033
+-89.5408	37.9682	8882
+-91.6554	40.6557	6955
+-90.6713	36.4518	7280
+-117.4559	46.3269	8352
+-117.2258	34.5408	9091
+-118.3331	46.3376	9003
+-80.8964	26.6498	8007
+-121.709	48.6576	7334
+-86.8894	40.1127	6353
+-111.9452	30.643	7452
+-88.039	37.0386	8737
+-115.3656	48.2952	5394
+-125.7741	49.0316	5718
+-116.4603	44.8417	6915
+-121.6807	46.0561	7934
+-116.7636	33.1253	9341
+-88.9472	36.7581	8776
+-110.8144	34.2343	6554
+-88.7267	37.3628	9472
+-83.0576	28.8791	8256
+-118.2622	44.6048	7677
+-90.2548	34.644	6034
+-93.9975	37.4022	5267
+-122.6426	45.2037	7649
+-115.1875	32.8454	7768
+-105.8877	33.2078	4345
+-116.7048	31.6118	8378
+-90.1637	40.3344	7700
+-119.6669	45.8378	7769
+-88.7876	39.6546	7447
+-110.0308	31.6944	9124
+-120.0125	46.8713	7255
+-118.9813	33.8536	7643
+-80.65	29.2017	7557
+-82.2615	26.6887	8664
+-92.8266	34.4798	4122
+-90.178	40.947	7046
+-115.5028	34.041	7611
+-110.7031	31.3678	9010
+-88.7199	36.0822	8037
+-111.9734	26.5451	3733
+-115.1624	32.8122	7740
+-115.0935	43.3689	4813
+-87.4783	36.609	7944
+-118.3378	35.9713	7217
+-89.2329	37.3059	9154
+-117.8953	36.298	7079
+-117.0604	31.7882	8601
+-122.2405	46.5308	8738
+-122.9136	45.9343	8472
+-109.6674	32.0739	8577
+-90.2137	41.1579	6823
+-80.353	25.2992	6450
+-116.9451	34.6282	8894
+-118.0575	30.2586	6651
+-81.57	26.8096	8636
+-81.2695	25.3792	7020
+-85.3093	27.2005	6243
+-84.3493	27.2259	7312
+-83.7043	25.1321	6422
+-120.4943	33.069	5831
+-118.5013	33.2105	7856
+-115.1707	32.3992	7696
+-118.8787	32.3679	7562
+-125.1889	44.2701	5720
+-121.4561	45.7341	7521
+-80.2141	26.7131	7416
+-90.2325	37.5398	8110
+-89.7711	38.1099	8470
+-119.4771	32.8394	6952
+-90.3538	40.0262	8048
+-118.1248	33.6599	8469
+-118.5968	35.747	7257
+-117.7461	33.5475	8712
+-119.3495	31.4996	6716
+-116.7648	33.149	9319
+-83.0172	26.9793	8553
+-87.6798	40.2462	6672
+-119.0019	33.2915	7434
+-87.2881	42.4219	4248
+-77.2719	29.7649	3946
+-118.7967	37.8213	5182
+-92.7049	40.6139	6215
+-112.5362	29.9666	6513
+-81.4917	28.7575	8557
+-116.4216	33.8505	8566
+-118.3339	34.8631	8127
+-124.7631	47.7795	7373
+-88.0768	38.6422	8473
+-118.3991	33.202	7938
+-90.8842	38.75	8884
+-117.6871	32.6284	8922
+-88.0213	38.4308	8616
+-81.4167	29.2994	7978
+-92.3174	39.7861	7059
+-124.5311	44.5238	6379
+-90.7874	36.6139	7081
+-116.6892	35.9259	7484
+-119.8867	32.4473	6470
+-110.3978	33.363	7544
+-89.6401	39.8659	7979
+-117.3434	34.1175	9452
+-115.5751	35.2169	7347
+-86.686	37.5218	7474
+-90.7953	34.488	5583
+-89.9728	38.6957	8978
+-119.2869	44.4463	7212
+-119.4634	46.7454	7836
+-119.3191	44.2545	7019
+-116.4791	30.8362	7478
+-85.745	36.8499	6302
+-89.7535	42.383	5450
+-112.9229	31.2534	6645
+-116.1029	47.1669	6690
+-87.7136	38.4026	8373
+-120.8624	46.6112	7334
+-88.5065	40.4706	6680
+-115.6569	29.831	6116
+-119.8886	32.69	6491
+-89.3347	38.2727	8882
+-90.0473	38.067	8604
+-118.1467	31.6134	7873
+-81.8344	26.8803	8834
+-120.5006	36.1312	5391
+-117.0392	34.8109	8758
+-113.7878	48.3959	3914
+-120.4735	44.1314	6142
+-89.39	36.8244	8639
+-79.5105	24.4083	5072
+-119.4142	42.9822	5748
+-117.8134	33.5865	8694
+-92.6861	39.2588	6882
+-118.9931	34.4959	7613
+-93.9293	38.987	5594
+-104.429	30.7511	3013
+-86.0143	36.6092	6506
+-111.5306	34.0777	6476
+-115.2706	47.2517	5845
+-115.9784	34.4122	8100
+-112.5982	33.6668	6139
+-115.9477	36.903	6192
+-89.956	42.6799	5164
+-113.9694	33.8483	6217
+-119.515	45.7754	7912
+-119.063	33.157	7308
+-118.5726	43.8852	6895
+-124.7697	46.0775	7332
+-82.6607	29.6742	7653
+-82.632	26.2501	8086
+-116.3132	32.9497	9009
+-119.0554	30.056	5892
+-109.4116	31.8299	8440
+-123.6997	47.8793	8273
+-110.2121	30.5879	8387
+-85.0299	38.1254	5589
+-118.4089	47.1775	8112
+-81.554	27.9583	9202
+-113.8341	34.1493	5956
+-120.981	48.6481	6803
+-121.2703	47.5579	7702
+-118.9552	29.4398	5382
+-118.9422	43.5424	6463
+-80.1676	29.5603	6882
+-89.7576	39.9955	7922
+-119.5539	36.3313	6078
+-114.6775	35.0223	6552
+-115.0254	34.8116	6984
+-115.4088	30.9871	7073
+-121.5948	47.3742	8104
+-87.8622	40.6859	6277
+-110.9314	34.6878	6048
+-114.0475	33.9105	6276
+-88.6391	39.386	7879
+-116.845	32.3406	9205
+-115.0115	31.9153	7352
+-109.7437	30.5019	8139
+-110.7642	30.3697	8078
+-122.4447	45.8916	8324
+-91.259	39.7537	7989
+-122.3854	48.9044	7403
+-92.928	39.6901	6500
+-119.2659	32.4006	7147
+-118.8877	46.3921	8550
+-110.8555	32.3889	8433
+-120.9393	44.1419	5766
+-84.3607	27.0893	7259
+-86.1778	36.2015	6476
+-90.8828	34.6414	5671
+-118.4502	30.7881	6950
+-111.0326	30.3196	7909
+-118.3441	29.6702	5922
+-125.0887	49.2419	6138
+-81.4946	26.6274	8415
+-120.559	46.6202	6788
+-111.7474	31.4874	7938
+-111.2443	30.6396	8052
+-83.2614	28.0054	8588
+-91.1562	37.4974	7838
+-125.0829	49.8633	5621
+-90.2157	34.1193	5514
+-88.8823	38.432	8946
+-117.0112	32.7624	9675
+-88.8843	36.851	8891
+-78.9442	24.369	4620
+-115.1313	44.8554	5671
+-120.9956	32.2106	5208
+-116.0331	33.1114	8661
+-108.7866	31.0696	7708
+-119.9011	46.033	7546
+-89.1543	36.7573	8706
+-117.1287	35.6042	7926
+-91.7356	37.3365	7316
+-90.36	34.6809	6017
+-120.2141	46.9732	7016
+-119.9367	49.953	4820
+-107.3295	30.4063	5978
+-123.6517	45.8087	8089
+-112.34	37.4307	3071
+-89.1865	37.1237	9045
+-116.8875	35.2111	8292
+-91.4637	36.6494	6878
+-108.5452	31.2553	7504
+-87.6866	36.3251	7882
+-119.6258	33.0178	6691
+-83.7989	26.0967	7224
+-113.0985	33.686	5710
+-92.3322	40.6577	6485
+-109.3696	28.8638	6348
+-81.4038	25.3222	7006
+-91.1087	34.3695	5276
+-117.2863	32.373	9143
+-80.5112	28.2093	7990
+-82.9269	28.3508	8778
+-112.1096	30.9284	7422
+-84.9341	34.3415	4120
+-90.5163	41.722	6218
+-85.7834	37.6778	6466
+-116.9356	46.8509	7627
+-124.3709	44.8757	6798
+-92.0871	38.8782	7583
+-90.4194	37.5425	8122
+-115.9341	33.0035	8582
+-117.1449	35.1516	8419
+-90.2678	35.6825	7023
+-115.2261	32.1856	7688
+-81.1913	28.2263	8707
+-90.604	34.9696	6152
+-121.2106	37.5256	3863
+-110.1338	34.5076	6298
+-87.6618	35.1262	6706
+-81.9856	28.8598	8644
+-120.3036	48.6995	6177
+-85.7289	28.9581	5607
+-118.7303	35.8787	7053
+-116.329	33.2649	8883
+-121.4452	46.1532	7775
+-119.4645	42.7308	5479
+-121.2874	33.8517	5141
+-80.6994	29.2546	7555
+-117.6663	37.8114	5502
+-80.0907	26.3102	7054
+-118.5302	33.919	8140
+-92.8128	38.1312	6722
+-120.271	42.6876	5078
+-111.6833	27.9763	5301
+-107.8635	31.2411	6772
+-118.8974	46.3847	8544
+-80.7324	28.3715	8166
+-88.4581	37.6564	9469
+-111.712	31.9678	7923
+-119.9641	47.6315	6852
+-115.5589	36.0299	6754
+-115.4336	34.1025	7538
+-81.9339	29.5542	7858
+-120.1926	27.9582	3248
+-114.5215	33.5242	6914
+-94.4503	38.0748	4981
+-82.0463	29.3588	8088
+-119.1794	32.3638	7234
+-113.4932	32.7297	5832
+-92.8448	39.7521	6560
+-119.0387	48.1028	6994
+-116.7956	32.0383	8864
+-118.2867	48.297	6934
+-115.7725	29.5424	5866
+-117.2864	46.7723	7987
+-85.7683	41.633	4233
+-116.4102	35.1485	8089
+-88.5291	37.5117	9497
+-82.4248	28.3493	9155
+-91.3235	39.6208	8043
+-118.263	45.1775	8283
+-118.4666	29.7205	5916
+-85.1353	37.8394	5734
+-116.1179	34.1165	8285
+-86.7379	37.9807	7511
+-120.2129	32.5354	6118
+-86.9711	34.9345	6146
+-123.4269	46.0298	8425
+-109.6718	33.1872	7594
+-88.5227	36.8511	8860
+-90.4898	42.2883	5609
+-115.8277	34.7263	7840
+-117.8109	32.3406	8672
+-82.2812	30.1306	7213
+-116.8461	32.2409	9097
+-108.8646	27.5736	4847
+-117.522	31.0128	7648
+-112.1004	31.1045	7490
+-81.8384	27.687	9547
+-98.5306	40.5475	432
+-115.1555	35.6694	6690
+-119.3992	29.5607	5220
+-83.9065	25.292	6448
+-122.8844	44.7845	7209
+-80.4611	29.1115	7465
+-85.2868	30.2613	5343
+-120.3548	32.4271	5949
+-120.8353	45.8933	7050
+-112.8357	31.8423	6748
+-87.2105	33.5656	4892
+-81.0903	24.1005	5580
+-120.4165	37.7416	4313
+-120.9395	47.3573	7410
+-120.2994	30.2818	5082
+-122.2183	46.9622	8857
+-88.9444	38.956	8353
+-116.8506	27.8783	4243
+-120.0503	47.9474	6553
+-92.3887	39.9984	6878
+-118.2292	31.071	7350
+-91.2062	39.9017	7899
+-112.4947	28.9521	5784
+-90.4973	41.9115	6015
+-110.8763	29.7049	7355
+-83.701	28.4655	7951
+-125.1448	46.9979	7140
+-111.3383	27.0393	4431
+-115.6866	32.6012	8305
+-127.2029	45.2603	4521
+-118.7972	35.7103	7141
+-82.6208	30.5989	6641
+-81.6866	27.8151	9384
+-91.5328	40.349	7302
+-113.1573	30.5962	6232
+-109.8048	35.3635	5338
+-88.5557	36.7595	8770
+-88.8107	30.8444	2158
+-117.7161	32.7817	8916
+-84.8081	27.6704	6864
+-119.1126	43.4696	6339
+-113.7653	35.4819	5445
+-117.8408	33.0012	8756
+-116.4302	37.8388	5394
+-85.5601	36.106	5812
+-112.9247	34.0856	5571
+-120.3952	33.5011	6056
+-86.7723	38.9831	7132
+-89.1909	37.1542	9069
+-89.9587	38.0352	8528
+-116.2562	31.8151	8383
+-116.5535	30.7508	7403
+-116.8382	42.8241	5468
+-117.3847	31.6924	8415
+-117.3832	31.8471	8576
+-111.4573	32.325	8015
+-109.4726	30.3366	7832
+-115.3931	38.0813	4771
+-90.8056	38.9864	8903
+-109.7126	30.0381	7669
+-117.4459	32.7734	9216
+-120.6483	34.9402	5745
+-87.6143	36.6634	8101
+-87.224	36.8819	7873
+-88.7122	37.6717	9754
+-111.3919	33.7721	6839
+-113.5333	32.1643	5950
+-120.9521	45.8907	7161
+-91.4013	38.8629	8320
+-84.663	28.3066	6966
+-116.4949	35.8425	7492
+-110.1748	35.6861	5025
+-119.2987	35.8342	6647
+-92.542	37.3021	6623
+-116.2257	34.3969	8367
+-119.565	30.2897	5710
+-80.0047	28.0373	7465
+-114.9354	32.6788	7482
+-82.8212	30.3054	6917
+-108.6964	30.003	7008
+-116.5909	36.2442	7120
+-118.6663	44.8998	7926
+-81.7576	26.5857	8490
+-86.4271	36.0121	6599
+-91.16	41.8185	6013
+-81.3741	26.2577	7981
+-119.2296	43.3021	6132
+-116.5945	34.696	8582
+-87.7881	42.6732	4354
+-86.527	38.167	7239
+-119.0738	47.9229	7156
+-110.8755	30.5312	8191
+-114.7233	35.786	6229
+-124.7468	47.1845	7563
+-88.9286	37.4871	9544
+-90.2196	41.0081	6984
+-89.1493	38.4496	8836
+-119.0417	31.4478	6980
+-89.5845	39.4555	8276
+-90.7384	37.8447	8376
+-91.0187	37.3514	7769
+-116.1679	33.6263	8484
+-119.5581	32.6573	6857
+-116.5709	33.0284	9252
+-90.2839	38.9702	9164
+-117.8879	33.1373	8665
+-118.1184	32.4974	8420
+-112.4187	31.8598	7194
+-117.4038	30.4135	7028
+-117.2596	33.265	9155
+-86.9187	39.0463	7226
+-119.4563	31.3723	6542
+-92.2128	41.1191	6198
+-90.5358	38.1633	8771
+-88.8796	40.1333	7222
+-88.7651	36.7142	8747
+-117.3113	34.5327	9099
+-89.3174	38.1629	8982
+-119.6507	42.2227	4906
+-82.9307	28.7188	8487
+-121.617	48.4401	7460
+-88.8407	37.1504	9230
+-88.3609	40.27	6697
+-89.5423	36.0172	7770
+-118.9088	47.1026	8009
+-123.1578	30.9875	2552
+-79.0732	29.7844	5745
+-112.496	30.9928	7045
+-81.4921	27.6518	9155
+-115.9619	32.4512	8560
+-87.1882	35.7585	7036
+-111.871	32.1566	7695
+-77.6251	27.0074	4720
+-116.6004	33.6668	8651
+-107.3715	28.31	4691
+-81.9617	27.0478	9056
+-121.9266	47.824	8181
+-113.9308	33.1579	6345
+-110.7884	29.6184	7288
+-118.2488	33.3608	8175
+-86.786	36.9118	7436
+-88.5471	37.92	9438
+-115.7459	32.6632	8381
+-86.3547	40.0919	5975
+-118.4062	34.8327	8079
+-116.8842	32.4932	9381
+-80.0644	24.4461	5466
+-90.4528	38.1331	8755
+-120.6858	49.2595	6104
+-91.9977	36.3157	6276
+-88.4567	41.3231	5960
+-91.1169	38.7225	8633
+-81.7882	30.0825	7243
+-112.6422	32.0714	6917
+-85.9925	37.1059	6638
+-90.5921	39.3764	8713
+-118.3204	30.8946	7131
+-112.984	32.0027	6566
+-120.6323	45.9259	6766
+-80.2759	26.6112	7418
+-121.9134	43.6144	5767
+-87.8243	34.6159	6232
+-117.8552	30.5476	7035
+-89.5712	36.5519	8272
+-88.584	38.7822	8545
+-106.8294	32.5478	5536
+-90.3941	41.3165	6658
+-92.5388	41.5307	5632
+-116.3997	44.705	6778
+-117.4877	42.8809	5749
+-114.6493	46.647	5368
+-89.8184	39.3172	8561
+-113.218	32.4843	6199
+-116.0589	47.7623	6320
+-107.6505	31.1821	6535
+-119.8993	46.6268	7460
+-82.1062	25.0596	6830
+-111.0227	31.2782	8657
+-79.1758	26.6538	6317
+-111.7638	30.0922	7235
+-111.1851	28.0278	5512
+-120.4513	32.8861	5807
+-117.3538	47.7817	7226
+-80.5383	31.8015	4984
+-117.2616	33.6933	9058
+-87.5934	39.9288	6954
+-90.3142	40.3682	7679
+-116.3089	35.3768	7826
+-121.2105	43.8809	5741
+-121.3428	35.9869	4653
+-93.1695	38.4061	6398
+-117.1666	32.448	9285
+-79.988	27.9085	7460
+-112.2971	33.1307	6765
+-85.5966	34.8097	5025
+-116.5822	32.9498	9299
+-119.6571	48.3522	6466
+-80.9564	29.4519	7567
+-116.443	35.0246	8214
+-90.3579	44.0959	3662
+-91.5342	40.3617	7290
+-120.4263	33.4128	6003
+-79.8404	26.9746	7148
+-122.9426	48.1933	8258
+-123.4891	47.2336	8896
+-106.6926	29.3515	4847
+-85.1716	39.9261	5048
+-117.441	37.2206	6165
+-118.3817	33.3699	8064
+-118.9006	33.6177	7669
+-88.9491	38.3312	9041
+-90.1862	38.2726	8868
+-88.041	37.2835	8894
+-117.2742	46.63	8053
+-121.3056	48.7381	6988
+-125.4171	46.6732	6822
+-121.5803	46.1731	7914
+-88.5982	38.9761	8332
+-80.5921	26.3896	7554
+-118.9447	34.764	7582
+-89.9608	38.5145	8903
+-114.4447	31.1257	6366
+-122.1541	49.9988	6176
+-118.5656	35.1571	7734
+-118.1487	43.2526	6241
+-115.9724	36.5514	6546
+-118.3928	33.8321	8266
+-115.5455	31.021	7199
+-91.8168	40.1164	7290
+-109.8359	30.6574	8335
+-82.8619	29.7262	7527
+-91.4963	36.1425	6369
+-91.9329	35.5601	5602
+-88.1074	40.1934	6883
+-118.9586	33.4185	7534
+-87.0668	40.0965	6486
+-122.1693	46.6946	8750
+-116.9517	36.0143	7458
+-110.7334	29.4248	7095
+-122.648	48.202	8221
+-89.6262	39.1058	8523
+-86.039	30.4528	4530
+-90.9967	36.03	6710
+-116.394	32.2536	8857
+-115.984	33.7976	8092
+-119.465	39.1621	3551
+-88.9266	38.2994	9082
+-122.1581	32.3433	3856
+-120.8464	47.5696	7255
+-117.7871	35.1108	8330
+-115.6021	33.7895	7884
+-118.0954	35.9033	7406
+-115.4713	32.7854	8085
+-109.5114	34.9777	5690
+-116.866	32.3832	9257
+-117.806	47.3941	7800
+-92.4128	40.0854	6806
+-84.0596	30.4159	6187
+-116.9811	46.4845	7823
+-124.7852	49.7576	5906
+-111.7078	32.2254	7830
+-121.1864	48.1135	7341
+-119.8605	37.0189	5305
+-81.5679	26.2898	8103
+-115.0518	35.8416	6487
+-82.9995	32.6836	4244
+-116.5775	34.1812	8784
+-123.4304	47.1251	8998
+-118.7081	27.9714	4010
+-124.0364	49.2958	6759
+-92.2031	37.0916	6771
+-118.6492	32.7998	7876
+-120.5803	45.2066	6650
+-112.1869	31.6475	7464
+-124.2567	46.7604	8099
+-119.5261	47.9443	6905
+-89.5009	38.9147	8457
+-84.3424	26.3021	6894
+-110.5245	33.0056	7919
+-121.0947	46.5902	7580
+-85.001	24.4857	4963
+-119.4416	29.9882	5561
+-88.1763	39.1637	8008
+-86.8136	36.8009	7417
+-119.5688	45.858	7875
+-88.9216	37.7727	9604
+-119.3217	48.8526	6145
+-117.5587	37.5525	5795
+-109.439	33.9033	6780
+-108.7634	32.4832	7513
+-89.3678	37.4197	9086
+-114.9979	36.6704	5825
+-123.6782	47.4019	8627
+-116.1717	32.1827	8619
+-88.0597	37.4056	8969
+-84.2531	39.6137	4297
+-119.5856	32.5939	6821
+-88.4477	37.5144	9419
+-80.3443	28.0385	7845
+-78.0682	30.4534	4379
+-82.0694	28.174	9426
+-90.9907	36.3752	6782
+-119.3327	32.3252	7057
+-113.8836	30.5803	5476
+-118.9878	47.7768	7334
+-115.0336	34.865	6975
+-89.8288	40.7045	7235
+-111.6258	30.1977	7421
+-118.7447	34.6949	7813
+-121.1524	31.5218	4866
+-82.1791	28.2247	9372
+-116.7275	46.3479	7592
+-88.5832	42.7549	4692
+-118.9735	36.2517	6570
+-111.4423	29.9024	7292
+-81.2491	25.1691	6788
+-83.8055	27.8412	7999
+-89.1507	38.9866	8072
+-117.9911	32.1881	8412
+-82.9642	25.1838	6823
+-118.6846	47.2848	7936
+-123.0084	47.6883	8804
+-123.7124	45.1256	7395
+-89.3884	39.6921	7947
+-108.8455	29.1987	6428
+-85.1281	40.4914	4644
+-85.3846	27.7666	6214
+-80.0276	30.7056	5802
+-122.6667	48.9613	7400
+-109.6398	31.7772	8693
+-88.211	36.8723	8728
+-120.7732	42.3994	4537
+-91.0582	36.2002	6581
+-109.4114	33.3067	7356
+-120.8339	33.6688	5614
+-122.2099	46.9294	8847
+-120.7175	45.0929	6471
+-90.2296	43.452	4354
+-110.4734	31.2067	9038
+-86.5962	38.9601	6979
+-116.3776	32.8029	9096
+-87.4916	32.3175	3643
+-89.639	39.1422	8518
+-87.594	39.3164	7543
+-122.8787	47.1025	9455
+-89.3153	40.819	6915
+-85.9811	27.872	5538
+-87.8055	35.3484	6999
+-89.8321	38.4994	8772
+-118.1667	32.6522	8402
+-89.5131	40.198	7604
+-82.7268	29.7226	7580
+-90.5578	38.4598	9059
+-119.306	31.3317	6662
+-107.5759	31.2496	6464
+-116.9134	45.4857	7671
+-83.8221	30.781	5983
+-115.9567	29.8404	6247
+-121.4518	46.1095	7757
+-118.2348	33.7255	8392
+-91.8948	42.7192	4847
+-110.4397	32.36	8624
+-121.8505	49.5122	6581
+-85.9791	37.0527	6611
+-114.0119	30.7626	5739
+-117.8178	48.3276	6850
+-79.9489	28.8982	7109
+-116.9098	47.0066	7518
+-108.8099	33.6436	6697
+-117.4808	45.6484	8285
+-122.0584	46.4988	8548
+-123.4288	49.4069	6863
+-120.0439	46.3705	7374
+-119.7911	47.2927	7224
+-111.4972	30.262	7566
+-109.8034	30.3687	8038
+-86.2046	27.2698	5252
+-83.3925	26.4226	7809
+-116.3428	32.1049	8697
+-81.5557	30.8015	6397
+-118.8987	46.7105	8343
+-94.5401	38.7709	4944
+-122.4982	44.8753	7267
+-116.7891	32.2544	9095
+-120.9366	46.1213	7258
+-88.1087	38.5689	8561
+-119.9626	48.6437	6032
+-117.4007	48.1876	6860
+-120.8803	45.8899	7092
+-84.3832	25.9806	6643
+-87.1287	36.3544	7460
+-122.4865	48.8096	7531
+-91.7274	36.7133	6794
+-126.6242	48.1035	5328
+-115.9473	48.2877	5871
+-118.6015	41.0755	3928
+-90.3778	37.2118	7766
+-120.0032	34.067	6552
+-92.5147	40.7845	6248
+-91.0812	39.5286	8297
+-119.3256	45.7509	8096
+-88.7554	32.4947	4010
+-86.2633	39.0669	6595
+-89.169	36.7191	8660
+-111.5616	30.3886	7617
+-120.8774	48.8375	6579
+-118.8561	32.5294	7621
+-123.2476	47.0858	9202
+-116.669	35.1743	8228
+-79.7352	30.7844	5532
+-109.987	32.2933	8618
+-92.8075	40.0907	6439
+-113.8262	31.5583	5979
+-117.3825	46.158	8305
+-88.8398	37.0662	9137
+-120.7731	44.5219	6139
+-117.8435	32.0392	8446
+-114.1499	47.366	4682
+-106.3357	32.4193	5049
+-89.8704	39.9734	7995
+-87.3781	42.3848	4341
+-87.2221	32.9553	4250
+-80.5388	27.4794	8059
+-116.9644	33.2906	9224
+-83.4283	30.8683	6090
+-80.8716	28.8388	8019
+-117.6633	34.6285	8846
+-83.1291	31.1892	5860
+-87.0708	39.109	7316
+-124.1403	43.8466	5918
+-81.0421	28.3803	8476
+-116.9676	32.2448	9115
+-92.0829	38.9552	7579
+-91.3289	39.905	7815
+-106.4453	30.4589	5088
+-118.2097	32.3625	8277
+-124.3237	48.1059	7603
+-113.4645	38.1828	3479
+-115.1659	36.5739	6025
+-117.9867	45.532	8582
+-112.9054	31.6265	6686
+-113.8248	28.4003	4355
+-79.0809	30.9059	4939
+-81.5352	25.739	7501
+-86.3279	37.9836	7055
+-81.6551	31.7405	5364
+-91.0686	39.4581	8362
+-88.489	38.5733	8750
+-115.6771	32.4991	8272
+-118.039	31.8037	8107
+-118.6487	47.9128	7302
+-85.8989	39.6418	5906
+-114.3719	31.1354	6304
+-87.4123	38.7309	7881
+-88.1963	38.1757	8957
+-118.4878	33.326	7941
+-114.9965	32.7029	7552
+-116.3714	42.933	5343
+-116.8861	32.0051	8843
+-119.407	46.5337	7985
+-94.1395	39.1213	5356
+-119.3996	48.4629	6493
+-118.7568	31.791	7452
+-117.8936	32.2091	8517
+-122.0777	44.5782	6831
+-122.7533	49.9543	6320
+-77.5692	24.9752	3840
+-115.2217	31.2107	7108
+-90.7724	40.0164	7996
+-120.7509	47.052	7243
+-117.0701	35.3255	8220
+-120.3479	46.2333	7069
+-123.0778	47.8815	8582
+-111.1441	29.6115	7164
+-117.5029	32.3612	8968
+-117.8637	48.5743	6603
+-117.8509	45.9355	8771
+-121.477	48.4995	7308
+-84.2825	26.8694	7258
+-117.1768	36.9974	6412
+-123.5056	46.7317	8893
+-117.0408	45.7499	7893
+-90.5642	40.3763	7661
+-91.2052	40.0305	7784
+-89.1777	36.6672	8603
+-82.2924	30.0782	7271
+-118.0567	37.9753	5259
+-105.9677	32.6212	4612
+-91.3588	38.9635	8348
+-92.3083	35.3178	5183
+-86.7853	36.0665	6957
+-90.2017	36.3641	7640
+-88.4163	39.6477	7556
+-118.6057	46.376	8811
+-91.7681	38.8824	7925
+-116.8581	31.1653	7907
+-114.8674	33.3985	7323
+-111.9513	30.5595	7399
+-113.8403	34.5814	5769
+-117.3332	33.4081	8977
+-118.3616	32.2571	8076
+-109.8413	31.4505	8921
+-90.4522	38.5964	9243
+-88.8697	42.5939	4972
+-82.082	24.5956	6304
+-109.982	29.694	7391
+-117.2977	48.6044	6410
+-116.7622	33.4205	9042
+-118.2382	45.5134	8638
+-122.0351	48.0151	8113
+-116.5868	36.1073	7261
+-118.8795	36.1042	6760
+-115.0536	32.5772	7602
+-111.3895	29.1781	6627
+-81.9032	29.3304	8104
+-114.53	46.7457	5227
+-82.4351	27.3317	9294
+-78.3245	29.2642	5262
+-118.3289	32.4377	8176
+-119.7465	37.6263	4865
+-111.4963	29.1922	6593
+-113.9628	32.6054	6394
+-80.5915	33.0045	3715
+-116.7026	33.0908	9328
+-109.2832	31.6338	8334
+-109.4572	30.3496	7834
+-89.925	38.2651	8705
+-121.1916	46.3604	7615
+-91.0421	38.2016	8500
+-80.1965	28.7678	7426
+-90.5499	40.5817	7442
+-123.7697	45.7957	8004
+-93.8533	40.8487	5053
+-108.0386	32.6174	6747
+-112.9514	35.6657	4543
+-84.427	26.6921	7027
+-120.3504	45.5419	6993
+-120.3227	35.0026	6072
+-91.3566	41.4816	6299
+-118.402	48.5533	6659
+-121.9896	44.2207	6428
+-88.6959	41.3796	6057
+-87.8821	39.7743	7249
+-118.9932	41.0607	3871
+-119.2301	32.2354	7146
+-83.1473	25.5674	7153
+-120.5964	45.6647	6768
+-121.1793	43.873	5717
+-119.8714	46.3802	7553
+-90.8111	37.8015	8303
+-114.5429	30.5209	6029
+-111.7109	30.8156	7765
+-119.1968	35.9223	6667
+-115.2417	30.6884	6697
+-117.7917	43.1248	6067
+-120.4576	46.6467	6886
+-115.9992	35.6138	7412
+-116.6839	29.2016	5708
+-119.2792	33.2149	7125
+-79.5796	27.3732	6969
+-93.0258	40.149	6202
+-123.4556	44.9077	7263
+-118.9272	30.8291	6639
+-117.5778	45.4157	8220
+-119.2387	45.9483	8236
+-127.2125	43.4557	3497
+-116.1697	35.5433	7589
+-79.5594	31.6868	4587
+-88.8261	40.1452	7171
+-108.7585	32.7822	7329
+-117.2336	42.8502	5644
+-119.56	48.7019	6191
+-115.6056	30.6021	6854
+-117.7335	47.3992	7766
+-86.349	39.5106	6402
+-92.8726	40.2413	6297
+-119.9324	46.2286	7509
+-121.0169	48.0335	7228
+-118.3646	29.0127	5233
+-118.1096	31.9893	8179
+-120.448	45.9707	6964
+-79.4026	25.6605	5991
+-89.0358	39.2195	7886
+-122.9905	49.012	7357
+-93.1877	40.2171	6013
+-117.1066	34.7541	8839
+-89.4515	39.6089	8058
+-110.6516	33.5243	7343
+-118.1805	31.8233	8003
+-117.8162	45.9303	8734
+-115.747	31.7972	7980
+-87.3559	37.2149	8153
+-119.9515	34.0381	6607
+-115.905	28.9151	5243
+-117.5676	34.6282	8906
+-85.0257	28.2069	6582
+-117.2475	46.0621	8163
+-113.2317	34.1973	5245
+-115.0298	34.0094	7094
+-116.1383	34.4776	8251
+-124.1932	47.5495	8048
+-119.8009	31.8712	6420
+-116.8356	32.7747	9599
+-106.5766	32.8857	5166
+-80.3163	28.1881	7782
+-82.8216	25.3467	7046
+-109.5974	34.1852	6544
+-115.2875	34.2342	7376
+-116.1392	31.4964	8015
+-80.8103	27.0644	8198
+-108.9069	32.2012	7789
+-88.9196	42.8805	4701
+-116.2094	32.708	8900
+-107.733	30.8167	6536
+-113.567	32.0416	5935
+-122.834	46.214	8776
+-122.3383	45.7909	8175
+-118.8098	34.332	7841
+-113.5833	31.0958	5913
+-89.1046	38.5143	8790
+-88.5489	42.3465	5073
+-117.9653	31.2557	7686
+-78.8478	24.7576	4852
+-80.4258	26.9785	7765
+-89.156	38.7163	8558
+-90.7952	36.0712	6919
+-109.3845	26.6567	4038
+-90.7077	38.6987	9070
+-114.3809	34.5709	6354
+-112.2768	42.6374	1918
+-88.7426	36.5053	8512
+-87.2808	41.6582	4841
+-90.3685	39.1691	8972
+-121.3257	45.8941	7513
+-115.2346	49.3709	4525
+-93.2093	39.6783	6218
+-117.5018	46.8923	8082
+-85.4435	37.9241	6074
+-79.5752	25.8396	6269
+-107.8777	31.7094	6810
+-78.7434	27.9648	6051
+-110.3041	33.687	7194
+-89.6465	34.9486	6609
+-115.2692	33.4578	7729
+-111.1791	27.5881	5049
+-118.3419	46.1401	9185
+-116.7499	45.7133	7586
+-118.4867	34.7853	8029
+-117.9158	35.7377	7650
+-83.0965	24.4309	5964
+-84.585	26.805	6913
+-117.05	32.6325	9527
+-119.085	31.1595	6753
+-119.1907	44.467	7282
+-121.9002	45.6484	7789
+-82.9862	30.3349	6831
+-117.3453	35.2674	8298
+-86.6907	37.9399	7465
+-117.7161	46.9933	8140
+-111.5936	29.769	7080
+-116.442	35.4705	7824
+-122.7324	45.7586	8266
+-118.547	35.9027	7155
+-90.8888	40.8365	7110
+-122.8262	45.878	8407
+-86.1574	38.5924	6707
+-85.4471	36.893	5989
+-109.7625	29.2054	6824
+-92.7571	37.3179	6436
+-114.4017	47.552	4871
+-81.2115	30.0026	7156
+-118.9618	30.479	6325
+-115.9788	30.4641	6907
+-118.5882	32.6583	7936
+-116.3899	40.2351	2733
+-83.7541	27.4042	8013
+-90.2626	40.6249	7399
+-92.9523	39.1235	6626
+-125.537	47.0239	6708
+-92.9183	37.859	6528
+-93.1154	42.0665	4793
+-86.2445	40.7673	5328
+-121.7716	33.0712	4489
+-115.64	32.4127	8206
+-85.6973	41.868	3974
+-121.3492	47.0515	7900
+-109.3072	31.8597	8322
+-116.4394	43.5384	5918
+-89.0111	35.951	7871
+-125.9644	46.5931	6215
+-117.0669	34.2711	9273
+-112.1989	32.4022	7266
+-87.595	38.6409	8104
+-88.2812	37.6838	9270
+-87.4755	39.2859	7490
+-92.5081	37.5437	6791
+-119.4523	28.9132	4591
+-122.6832	48.4969	7908
+-118.2942	33.0633	8247
+-114.1654	34.273	6152
+-78.5458	26.6867	5654
+-86.6592	28.8828	4619
+-124.3582	47.1447	7992
+-124.8086	45.8658	7186
+-113.1493	30.8709	6326
+-89.7351	38.2931	8570
+-115.8479	33.163	8447
+-116.7366	35.7815	7649
+-116.5251	34.5002	8635
+-123.9325	48.0131	7991
+-112.3443	33.6501	6349
+-120.675	36.1807	5201
+-122.652	44.0653	6407
+-117.1174	28.7959	5265
+-117.0835	47.5945	7231
+-82.5411	29.7754	7573
+-113.1864	31.2977	6367
+-91.6035	36.9168	7051
+-111.565	27.3104	4656
+-118.0398	31.3719	7745
+-86.5126	27.5192	4930
+-118.7249	47.0924	8110
+-109.4422	26.1421	3500
+-122.167	48.7006	7538
+-86.6236	37.5223	7404
+-116.9742	30.9871	7712
+-111.6359	29.7651	7050
+-113.4858	46.353	4172
+-92.1349	35.3951	5345
+-122.5218	47.089	9169
+-90.7864	39.4775	8528
+-117.5531	45.2916	8107
+-118.673	43.3618	6331
+-117.3358	48.521	6507
+-84.6634	26.9394	6881
+-112.7063	31.8919	6881
+-117.6803	36.7636	6633
+-116.9544	43.4724	6142
+-115.2087	47.2247	5793
+-121.2425	47.9642	7481
+-116.4943	30.7531	7392
+-107.197	35.0676	4394
+-88.3081	41.7914	5456
+-91.1474	42.1055	5715
+-120.3409	45.9434	7075
+-117.6892	45.7947	8553
+-111.8802	32.3513	7602
+-90.5166	37.5357	8108
+-119.9915	35.3567	6280
+-91.286	36.4744	6786
+-107.0616	31.0106	5875
+-81.4621	27.6269	9117
+-120.662	47.2513	7128
+-108.918	28.6762	5970
+-78.3419	27.6356	5600
+-121.3697	44.2227	6154
+-124.1198	47.0159	8265
+-87.6001	39.1059	7735
+-91.3674	37.4299	7650
+-109.0867	32.7889	7595
+-119.4884	47.8532	7007
+-121.513	34.2337	4905
+-125.977	46.161	6112
+-108.8173	37.9387	2395
+-88.6159	35.99	7926
+-119.7249	45.2555	7491
+-84.2738	25.8997	6679
+-121.5472	48.6056	7271
+-116.0951	30.7025	7202
+-116.3811	44.5383	6654
+-91.739	42.0999	5529
+-81.305	28.7741	8417
+-91.4799	39.5785	7943
+-119.5381	34.0322	7058
+-114.7784	31.1301	6671
+-126.4146	44.6861	5003
+-121.0543	31.3391	4905
+-119.4355	32.1327	6895
+-91.3749	38.1231	8160
+-109.1628	28.029	5419
+-118.2956	31.8621	7928
+-90.5362	38.8993	9194
+-127.4592	47.0674	4596
+-112.3483	32.7656	6942
+-118.6518	49.5773	5557
+-77.5415	28.2786	4665
+-116.1728	32.157	8602
+-85.0817	38.7641	5499
+-119.1867	30.5689	6229
+-118.0963	45.9228	8988
+-86.5678	37.9938	7320
+-86.4428	40.0313	6093
+-116.9529	36.6834	6735
+-108.9133	33.5123	6878
+-123.1866	47.1917	9206
+-120.5725	45.1487	6635
+-90.4224	41.8089	6127
+-91.1549	40.8526	7010
+-112.6419	29.5404	6134
+-110.0505	30.9619	8734
+-117.6402	33.9569	9087
+-111.0991	30.7631	8258
+-117.2314	45.5593	8008
+-117.6314	30.2822	6830
+-83.7854	26.9805	7823
+-121.2823	48.1898	7378
+-91.807	36.7748	6800
+-107.7883	30.0251	6240
+-114.7385	30.7412	6356
+-89.8301	37.7421	8618
+-115.5537	34.3676	7652
+-123.7401	49.9362	6216
+-107.1332	27.9063	4192
+-117.8566	33.4242	8532
+-89.8949	35.9176	7479
+-116.7818	49.7997	5032
+-116.3884	46.0934	7254
+-116.8158	36.4605	6952
+-117.7213	36.9398	6437
+-79.7294	27.8222	7172
+-107.6444	29.0347	5459
+-92.623	36.4231	5943
+-108.615	33.6969	6522
+-118.9049	43.0762	5991
+-83.9532	25.8765	6924
+-114.758	46.9488	5420
+-118.9542	34.7706	7570
+-113.8684	36.7711	4845
+-82.9382	28.1741	8872
+-124.891	46.3097	7303
+-119.6837	36.4574	5880
+-80.4849	27.6104	8019
+-89.4415	39.495	8130
+-84.8133	35.2331	4604
+-79.6497	27.0788	6977
+-81.1041	28.211	8624
+-115.3485	37.8618	4964
+-90.8433	40.1965	7788
+-121.7025	44.3663	6461
+-77.1659	26.9883	4204
+-119.2982	32.7014	7149
+-116.4959	33.298	9002
+-122.9164	46.4445	9032
+-112.6008	28.7117	5509
+-115.6035	34.9096	7536
+-78.1191	27.0271	5274
+-124.2438	45.2596	7219
+-82.4898	27.0326	8969
+-80.1219	27.918	7610
+-121.0748	46.7744	7590
+-116.7669	45.074	7322
+-107.8248	29.9951	6257
+-84.4505	24.6539	5502
+-123.6307	46.2579	8488
+-120.6122	45.7731	6770
+-88.9392	39.0624	8236
+-91.205	39.3426	8332
+-118.4679	32.4315	8024
+-122.6104	46.0982	8600
+-110.4922	31.4992	9279
+-86.9518	36.7453	7531
+-118.6075	44.377	7404
+-114.2051	47.4544	4709
+-91.1117	37.0815	7462
+-78.5091	31.4961	4009
+-117.3315	44.2424	7050
+-88.4054	44.4114	2961
+-91.3036	37.1971	7479
+-121.8896	43.706	5856
+-88.1421	36.3572	8187
+-121.5417	44.7533	6753
+-118.2685	35.1772	7960
+-117.0455	49.6536	5275
+-120.0927	48.0679	6429
+-86.2755	31.1757	3823
+-118.7808	48.0653	7114
+-122.901	48.1442	8312
+-88.1703	37.8881	9101
+-117.8328	32.1746	8550
+-117.6336	42.9176	5821
+-115.3218	34.1774	7416
+-86.8364	40.6821	5796
+-117.2432	35.368	8191
+-83.7032	28.2391	8038
+-118.03	36.7697	6544
+-121.3672	44.1281	6062
+-118.9103	43.6974	6631
+-91.2597	38.8193	8477
+-88.0109	41.0517	5862
+-118.7994	32.1646	7583
+-117.6205	33.9843	9119
+-115.9142	35.4473	7481
+-108.6778	32.0411	7613
+-117.7155	35.025	8449
+-110.2423	32.7384	8218
+-83.8057	28.9387	7582
+-113.9673	35.1449	5774
+-93.3494	38.7044	6227
+-89.3063	36.6551	8529
+-120.0147	34.4793	6516
+-118.9244	36.1764	6668
+-82.9003	27.4539	8955
+-116.0978	47.2241	6658
+-119.0816	47.6248	7438
+-110.2824	33.3812	7525
+-118.5409	31.7348	7622
+-80.6267	25.996	7262
+-124.3786	45.2492	7116
+-114.8124	47.4717	5308
+-120.0645	44.7622	6901
+-116.3667	30.8216	7429
+-112.0053	28.7504	5909
+-87.5402	39.5041	7335
+-84.5287	25.5875	6229
+-117.6689	33.0168	8938
+-117.6747	35.501	7981
+-114.3309	36.2039	5619
+-117.147	44.1994	6915
+-111.4735	32.8164	7654
+-115.3691	37.2876	5523
+-109.2731	33.9542	6660
+-92.2058	37.8535	7235
+-118.2858	45.0108	8107
+-117.0122	49.1183	5792
+-82.1871	28.7238	8808
+-115.712	32.8932	8351
+-115.3465	33.0731	7923
+-91.4061	35.676	5932
+-120.2108	34.5394	6296
+-120.8646	29.149	3783
+-125.3262	46.2192	6817
+-112.7432	33.9738	5796
+-89.7375	41.3458	6541
+-104.4717	33.0971	2914
+-112.7068	31.7065	6898
+-81.6666	28.0608	9268
+-89.7743	41.5359	6351
+-111.3308	33.9817	6659
+-117.5549	32.4588	8985
+-111.983	31.4732	7682
+-89.9548	42.5693	5282
+-89.6507	40.3721	7506
+-121.6409	43.2675	5313
+-85.3078	25.5705	5525
+-92.3037	37.2945	6827
+-116.3051	49.3401	5240
+-117.2751	46.9676	7852
+-89.217	40.6279	7042
+-116.5062	30.8401	7489
+-112.7933	33.6931	5962
+-124.678	47.409	7593
+-88.5067	39.7329	7477
+-89.2694	39.4448	8009
+-119.0041	47.117	7940
+-110.9969	33.773	6995
+-90.9082	40.2152	7747
+-114.7909	34.1331	6837
+-115.4945	36.1841	6581
+-120.7672	36.6846	4813
+-119.1055	47.1928	7812
+-117.1106	32.5529	9418
+-119.461	31.7955	6746
+-109.6737	29.2164	6811
+-121.6759	32.9345	4554
+-89.2528	42.0963	5617
+-88.3016	36.0239	7899
+-117.0911	30.5974	7274
+-85.9072	27.6863	5622
+-123.724	47.6178	8452
+-121.0568	32.7355	5131
+-91.3791	36.6977	6966
+-118.9262	32.8984	7565
+-94.9335	38.2877	4495
+-112.2228	29.6947	6579
+-123.7414	47.8588	8259
+-88.177	40.3954	6458
+-121.5891	46.818	8157
+-115.5661	33.477	8026
+-92.2553	39.6928	7165
+-115.8549	28.8753	5185
+-116.2643	45.2418	6937
+-88.3256	39.9533	7200
+-112.8114	43.5797	2880
+-117.0535	48.3856	6512
+-118.7726	34.3636	7876
+-87.2912	37.2424	8092
+-81.0657	27.048	8436
+-117.5877	33.2674	8897
+-117.8672	47.4019	7813
+-122.0753	46.3408	8469
+-118.172	32.7033	8402
+-115.6408	34.0857	7764
+-107.9529	32.5635	6684
+-121.6395	46.8765	8218
+-121.8906	48.7643	7341
+-83.9835	25.855	6883
+-89.6297	39.9889	7861
+-117.5915	35.8995	7579
+-110.8613	36.4137	4209
+-122.4537	43.6637	5945
+-115.5052	46.2941	6311
+-88.1809	36.8675	8704
+-81.9542	28.5159	9021
+-88.1123	37.3909	9018
+-112.8197	36.3869	4100
+-119.723	46.9906	7468
+-118.0449	33.2448	8459
+-120.3837	44.3476	6363
+-116.4305	35.1439	8107
+-111.6665	34.9388	5562
+-117.0414	43.9389	6621
+-91.6204	37.0931	7196
+-86.1987	36.2076	6500
+-83.5086	27.5593	8319
+-123.9134	44.6236	6802
+-113.1862	31.9826	6352
+-81.8924	27.7935	9618
+-118.3152	35.4128	7733
+-88.4625	36.6667	8643
+-115.5855	33.7348	7903
+-111.2673	28.6867	6176
+-118.3609	37.1551	6032
+-107.7131	38.067	1897
+-81.0113	27.4169	8563
+-87.2035	34.4362	5787
+-122.8891	46.2206	8786
+-119.4355	30.1502	5700
+-112.2733	33.4992	6519
+-114.7385	33.409	7181
+-89.8917	39.4625	8491
+-83.2454	28.0325	8599
+-115.0677	32.2925	7556
+-89.4256	38.5044	8359
+-79.207	26.9298	6449
+-76.19	30.8884	2297
+-118.6008	33.1475	7728
+-86.5143	27.8185	4936
+-88.9988	35.7468	7645
+-117.7961	34.665	8719
+-123.1434	47.1059	9298
+-88.3827	38.8504	8417
+-124.0213	46.1823	8103
+-81.45	29.0759	8222
+-89.186	37.4009	9258
+-83.9018	35.7381	3941
+-124.8754	46.1583	7261
+-90.6608	40.563	7447
+-88.4137	38.3178	8983
+-108.2284	33.3185	6518
+-121.0281	33.6359	5399
+-112.5782	32.0048	6999
+-118.9958	31.9061	7272
+-122.3518	44.8941	7251
+-85.1464	27.1104	6404
+-123.0043	45.2164	7680
+-110.9332	30.088	7728
+-117.0195	34.4623	9089
+-90.5742	38.7321	9218
+-90.4207	36.7392	7687
+-107.8622	33.3579	6177
+-113.5403	28.636	4754
+-111.1565	33.9946	6713
+-80.6735	25.3542	6702
+-118.5986	32.4976	7898
+-86.9918	39.1199	7240
+-76.004	27.4402	2948
+-115.0607	46.6079	5805
+-111.2418	30.4572	7906
+-88.3245	38.2018	9035
+-93.5496	35.8872	4823
+-120.258	47.6962	6571
+-123.192	47.0626	9268
+-116.668	37.1684	6163
+-92.7916	37.6219	6558
+-108.4464	30.6575	7196
+-124.4396	47.1811	7898
+-91.8857	36.3962	6415
+-83.2218	27.6502	8654
+-119.0902	45.3346	8083
+-124.8167	46.5515	7452
+-89.4624	40.9491	6855
+-111.6093	34.62	5905
+-123.8279	47.929	8137
+-112.3225	32.2831	7189
+-123.7052	47.8876	8262
+-116.236	34.7468	8230
+-118.0618	45.701	8777
+-91.1769	35.9561	6294
+-115.3062	35.781	6744
+-95.1099	39.2892	4297
+-121.8066	41.9612	3977
+-125.7981	47.8887	6265
+-116.0902	34.7444	8092
+-112.2752	29.8805	6675
+-109.2556	30.6225	7909
+-107.3068	32.2818	6108
+-119.8364	46.9054	7408
+-109.1442	30.7296	7888
+-91.035	39.799	8093
+-123.4885	46.8607	8949
+-88.4857	40.1131	6906
+-113.1745	30.5737	6207
+-115.9261	31.9449	8239
+-118.8714	46.5285	8490
+-126.2723	47.7829	5794
+-88.4241	37.7016	9429
+-118.2295	47.9235	7329
+-95.0654	37.9232	4300
+-117.1283	35.721	7799
+-115.6953	43.2987	5221
+-91.192	38.4872	8508
+-121.0275	45.0687	6677
+-118.789	32.3031	7641
+-91.4394	37.847	7927
+-115.0714	31.1715	6954
+-111.8768	34.1068	6269
+-90.3117	37.9282	8535
+-114.5498	32.3203	7001
+-113.0587	32.999	6146
+-90.1906	41.0434	6944
+-115.3274	37.813	5001
+-124.5701	47.0112	7771
+-93.7513	40.765	5194
+-88.804	39.0687	8240
+-119.7076	41.1183	3773
+-110.8994	31.2949	8785
+-90.1977	37.5036	8066
+-109.9115	29.8578	7549
+-124.2254	44.6313	6656
+-118.3253	46.8277	8489
+-117.802	35.1096	8323
+-84.4856	29.2407	6752
+-115.6092	31.6301	7742
+-108.8185	33.8706	6501
+-89.5481	39.8036	7975
+-109.0372	29.8809	7155
+-109.2068	32.9427	7561
+-118.875	46.857	8243
+-106.737	34.7058	4313
+-116.7601	29.1174	5620
+-118.6631	45.0081	8036
+-118.6666	36.9979	6060
+-112.1956	30.7637	7269
+-107.0898	32.7944	5722
+-122.0759	45.2705	7535
+-83.6332	26.1314	7382
+-112.9893	31.2824	6577
+-84.8928	38.4046	5388
+-123.4651	47.315	8877
+-109.3804	30.881	8191
+-115.0889	34.3634	7149
+-118.3611	46.0691	9172
+-109.1634	32.3684	7947
+-90.5114	40.3271	7719
+-92.5147	38.1157	7027
+-111.3202	31.4743	8398
+-114.5837	33.8394	6860
+-117.0499	34.493	9080
+-115.0125	31.3106	7001
+-121.6865	42.8701	4912
+-122.606	45.1406	7574
+-121.4222	32.2999	4750
+-110.4891	33.5007	7389
+-109.6293	31.2799	8643
+-117.3753	34.7563	8848
+-119.7022	35.1135	6674
+-117.2279	36.8135	6614
+-118.922	37.4046	5539
+-112.5069	31.2479	7091
+-88.3596	43.2978	4059
+-122.5843	48.0009	8418
+-119.8734	45.6116	7499
+-88.1223	39.1788	7969
+-123.1354	45.3067	7764
+-81.2018	31.3334	5722
+-115.2804	32.8298	7872
+-81.5134	25.1851	6889
+-109.3449	32.217	8201
+-110.2699	32.7159	8244
+-123.5082	45.7184	8081
+-119.6663	35.2237	6663
+-119.7667	47.3232	7224
+-87.0385	41.5922	5000
+-91.0954	43.6988	4035
+-94.6794	37.8784	4700
+-119.5557	45.9971	7909
+-83.7533	29.6332	7096
+-119.2271	35.4862	6940
+-117.1365	46.3284	8022
+-113.5345	28.0254	4288
+-91.0511	34.8757	5767
+-116.8658	31.9761	8809
+-109.137	32.5285	7822
+-109.3125	32.5749	7932
+-114.2544	33.1971	6698
+-88.4182	38.3991	8904
+-116.9532	33.0618	9479
+-120.1148	30.8691	5624
+-120.0073	31.7635	6164
+-119.7395	32.8691	6659
+-108.2005	28.8085	5682
+-89.0396	38.6613	8657
+-81.2052	27.5086	8803
+-92.6037	38.3775	6998
+-117.4868	33.3001	8961
+-123.2533	45.6226	8079
+-90.241	38.6841	9255
+-92.305	40.5825	6562
+-90.8734	40.835	7116
+-108.3307	31.9502	7268
+-89.6179	35.9425	7657
+-117.1408	33.2671	9214
+-86.6637	38.0532	7415
+-82.002	30.046	7309
+-86.1088	28.7972	5246
+-89.7679	39.2287	8584
+-126.6145	47.0645	5524
+-91.7635	40.5269	6999
+-115.6964	34.7779	7686
+-85.8701	38.263	6495
+-108.6023	30.1399	7032
+-111.2142	30.0461	7554
+-117.7454	34.9062	8546
+-116.3064	33.0269	8980
+-124.8596	44.1822	5866
+-115.5315	33.3382	8050
+-82.8655	25.9769	7705
+-111.7335	30.9711	7818
+-124.4185	48.7756	7011
+-108.1834	32.5141	6935
+-108.7993	29.9253	7026
+-117.5996	30.4095	6977
+-116.4175	32.6447	9111
+-84.7736	26.9878	6778
+-109.4958	30.5683	8048
+-123.9214	47.968	8035
+-125.8807	45.8853	6123
+-118.9228	44.8105	7736
+-111.9244	35.3694	5024
+-116.3185	34.2199	8499
+-83.7519	29.3313	7346
+-117.086	47.009	7668
+-119.2412	37.4586	5319
+-114.7518	32.1835	7183
+-88.2785	38.3074	8910
+-90.7235	40.8918	7087
+-118.6754	46.6013	8587
+-118.5252	31.952	7765
+-110.2925	33.3948	7510
+-94.148	38.0847	5304
+-121.5358	48.5092	7344
+-91.518	36.7271	6924
+-119.0959	34.4511	7513
+-117.5079	32.321	8934
+-90.4891	35.867	7019
+-117.2096	35.7975	7721
+-110.3552	33.6408	7244
+-87.5573	41.6735	5042
+-86.0955	37.2399	6779
+-118.0151	35.2529	8069
+-89.1681	35.4587	7297
+-117.86	33.8631	8827
+-125.6814	46.8352	6547
+-123.7783	44.1368	6351
+-92.0389	42.1509	5347
+-87.5554	38.8982	7876
+-107.1015	34.454	4790
+-117.0947	36.1885	7288
+-85.2838	26.7543	6149
+-91.5994	36.6338	6794
+-90.8948	36.7563	7206
+-116.7497	49.2344	5565
+-91.5252	35.258	5705
+-122.3314	49.9759	6242
+-118.6194	35.2869	7599
+-122.2794	48.9715	7300
+-118.0345	32.6405	8546
+-81.4191	27.782	9084
+-88.7143	38.2951	9107
+-90.9665	37.7676	8193
+-116.6291	46.1262	7508
+-117.2519	28.7858	5246
+-84.3882	28.5525	7191
+-119.1103	46.1352	8384
+-111.119	32.7694	7932
+-117.0402	33.04	9490
+-91.2247	36.2697	6601
+-118.9769	49.0337	6068
+-82.4965	26.7855	8709
+-121.1125	45.3674	6971
+-111.9307	35.5408	4850
+-124.8251	48.245	7067
+-119.4116	46.54	7978
+-89.4968	34.8197	6517
+-118.3296	34.8971	8110
+-117.8373	35.1901	8228
+-78.9412	30.7109	4979
+-116.4295	32.5701	9094
+-123.3764	48.8947	7424
+-118.8852	34.7592	7645
+-87.5569	35.6444	7171
+-117.2596	33.5601	8913
+-89.974	39.2157	8756
+-92.5647	35.6403	5330
+-117.4839	33.1855	9044
+-119.4695	46.8126	7795
+-89.0906	37.9162	9356
+-117.471	45.5566	8226
+-93.1907	42.2168	4616
+-120.4524	44.9105	6641
+-112.8509	32.1471	6678
+-82.7726	26.1021	7875
+-120.7628	47.9857	7005
+-79.809	29.7476	6437
+-117.4582	44.444	7301
+-116.1825	37.2885	5899
+-117.9816	31.5515	7944
+-122.0214	46.963	8641
+-125.2162	47.936	6848
+-106.2467	34.348	4128
+-90.5314	42.0295	5886
+-114.7662	45.9039	5530
+-119.0468	46.4413	8375
+-91.4969	39.5538	7944
+-87.0075	41.0395	5544
+-85.2876	37.4027	5899
+-120.3398	34.4732	6165
+-82.4869	26.215	8092
+-118.4238	29.9119	6128
+-123.3011	46.9179	9162
+-119.7858	34.5973	6744
+-119.7476	32.9861	6556
+-84.3579	37.8999	4859
+-119.635	47.7457	7005
+-111.511	35.3975	5149
+-90.7784	40.2999	7700
+-110.0409	31.179	8933
+-117.4189	43.8604	6718
+-112.4127	35.3656	4797
+-118.6505	47.302	7929
+-118.2683	49.7241	5422
+-88.4372	35.7144	7593
+-115.6036	47.6274	5994
+-121.9755	44.9911	7210
+-91.1762	37.098	7449
+-122.5301	47.0199	9196
+-116.3888	30.4587	7045
+-110.2974	29.1047	6788
+-118.8334	31.9723	7468
+-91.262	39.8876	7875
+-123.3325	49.2389	7065
+-118.2033	34.1971	8514
+-83.6113	26.9182	7964
+-117.3047	45.2504	7888
+-119.0131	33.3158	7434
+-117.6425	32.1996	8732
+-115.5991	34.8007	7579
+-117.7106	37.4472	5891
+-115.8637	35.3444	7516
+-83.979	27.4555	7775
+-111.444	36.6684	3834
+-125.5896	44.8587	5852
+-119.7137	31.3146	6261
+-89.985	43.7756	3991
+-118.0008	34.6716	8545
+-116.7137	45.6161	7521
+-122.1873	43.3388	5544
+-90.1964	36.8029	7940
+-83.8957	25.8603	6955
+-123.4892	48.4948	7807
+-87.7602	37.9575	8639
+-115.3661	31.6474	7542
+-117.1369	34.9141	8674
+-109.2281	31.4212	8263
+-115.2299	33.2413	7759
+-91.6177	39.6148	7800
+-83.0883	26.0773	7697
+-115.8645	30.1618	6547
+-120.264	30.5365	5281
+-120.795	29.5729	4156
+-89.1499	38.0814	9181
+-87.3115	36.9688	8004
+-119.4553	45.1092	7635
+-110.396	31.173	9024
+-120.9966	45.6866	7086
+-119.0804	35.1141	7289
+-81.9588	27.1893	9210
+-111.1937	31.5301	8540
+-87.382	38.0409	8205
+-86.7051	38.1074	7449
+-80.5153	27.469	8031
+-117.3781	45.3508	8016
+-110.779	31.9519	8847
+-88.5361	39.0066	8288
+-90.9304	39.9338	8019
+-115.8286	31.2458	7589
+-109.4241	26.9214	4327
+-114.2355	32.2464	6641
+-126.9633	45.8685	4982
+-116.7756	36.698	6689
+-117.2986	35.0882	8496
+-114.0218	33.4945	6382
+-86.2259	34.4385	5204
+-123.8489	47.0191	8562
+-120.5793	48.7074	6419
+-110.1502	33.1771	7735
+-112.0311	28.8449	5983
+-118.6956	34.8379	7800
+-89.7592	35.3179	6954
+-90.2665	39.4033	8709
+-92.156	39.0296	7490
+-81.7982	27.2193	9166
+-89.7555	39.7184	8180
+-87.2004	36.0621	7299
+-120.4641	49.4493	5785
+-109.0066	31.3951	8022
+-118.7344	44.3548	7351
+-114.1756	32.9497	6636
+-121.2277	46.7831	7758
+-119.2957	49.404	5601
+-108.2441	31.967	7172
+-117.7052	32.551	8877
+-124.2519	46.6203	8073
+-91.1875	38.1251	8327
+-84.8179	29.8354	6058
+-117.2528	32.2027	8997
+-117.0387	33.9394	9211
+-118.5638	35.2097	7699
+-122.1728	46.4102	8600
+-90.3232	39.6001	8506
+-121.5349	47.9819	7737
+-82.7979	29.184	8121
+-89.2669	36.5068	8398
+-118.3475	31.6627	7746
+-80.2102	26.3711	7204
+-91.0681	38.48	8631
+-115.8079	34.0453	7944
+-121.4479	35.1411	4846
+-125.0685	44.5386	6030
+-93.7524	37.5668	5576
+-117.8382	49.1447	6002
+-105.974	32.805	4569
+-118.3976	32.2852	8050
+-86.8864	38.5933	7462
+-123.0255	46.1506	8699
+-91.7701	36.3951	6479
+-82.471	26.1126	7983
+-126.3485	48.0712	5628
+-114.6284	46.6719	5343
+-115.735	46.7116	6485
+-113.9128	30.3446	5370
+-115.6177	31.723	7816
+-115.8598	42.0356	4249
+-118.7844	49.33	5799
+-115.1904	33.8975	7434
+-108.3345	34.5825	5569
+-107.9526	32.5214	6701
+-118.2991	36.828	6390
+-122.2679	45.0119	7349
+-115.2656	32.7654	7855
+-89.507	40.1718	7624
+-123.6602	49.4873	6714
+-122.257	47.2583	8830
+-83.4034	27.596	8443
+-115.491	44.8518	6021
+-92.2156	41.9172	5480
+-116.7344	31.6698	8448
+-88.2484	41.8487	5368
+-88.3587	35.1164	6917
+-116.486	48.8716	5762
+-116.1078	34.8366	8059
+-110.9909	35.1623	5531
+-121.7479	49.809	6237
+-119.2852	46.6968	8025
+-115.8155	44.0027	5831
+-122.8427	45.9642	8503
+-112.8073	32.699	6533
+-118.9148	33.4812	7604
+-110.6765	34.4002	6399
+-118.1184	44.2003	7241
+-82.1235	27.9076	9733
+-115.5582	32.1818	8030
+-88.4928	39.1205	8154
+-81.2703	29.0463	8146
+-113.7687	36.6643	4828
+-115.3854	34.5339	7440
+-114.8613	34.2951	6908
+-109.9691	34.4004	6396
+-86.2239	40.1978	5787
+-118.9176	47.9799	7159
+-119.9983	46.2735	7435
+-90.7604	40.0867	7927
+-115.4165	32.9163	8020
+-119.0426	34.1294	7601
+-115.9344	35.4605	7487
+-119.3149	34.0067	7299
+-82.6933	29.1327	8222
+-118.0469	31.2132	7596
+-116.7732	45.283	7442
+-91.5318	42.4085	5291
+-87.6227	34.6173	6160
+-123.5248	44.2439	6537
+-124.62	46.1786	7528
+-114.8715	44.6491	5334
+-118.5527	35.4718	7513
+-82.4898	28.8912	8558
+-122.4593	45.5865	8015
+-115.78	34.5591	7851
+-122.4046	45.8457	8260
+-117.1874	45.9307	8086
+-115.6465	29.7209	5999
+-119.4982	30.9446	6241
+-111.4184	33.8028	6797
+-91.5125	39.6351	7878
+-88.0867	39.5549	7562
+-107.8119	33.8783	5780
+-124.3457	47.9259	7700
+-109.5103	32.9462	7749
+-122.1519	44.8108	7099
+-118.907	47.3919	7741
+-84.8174	29.5384	6254
+-108.0484	31.4263	6992
+-90.3658	37.4082	7978
+-88.8456	45.484	1979
+-115.0507	29.9891	5943
+-117.139	49.3871	5574
+-116.4207	32.612	9103
+-82.2261	30.764	6500
+-117.7649	47.0488	8115
+-89.3705	40.5899	7161
+-92.2093	35.662	5558
+-80.4201	27.0433	7789
+-118.1019	30.8252	7196
+-122.1236	43.958	6193
+-88.2648	37.0805	8950
+-89.2847	37.7711	9222
+-89.4325	36.3624	8172
+-112.385	29.8342	6552
+-90.7103	40.1084	7918
+-89.9798	41.0396	6919
+-113.937	32.802	6374
+-82.0427	31.9797	5125
+-114.2581	33.1597	6708
+-123.1806	45.419	7878
+-82.2566	27.8323	9734
+-79.9408	28.1654	7371
+-116.9625	46.1181	7862
+-120.6978	47.0646	7184
+-80.37	26.2202	7239
+-116.1598	32.9188	8846
+-89.4044	38.1556	8913
+-83.5833	25.4386	6790
+-94.7373	36.8738	4314
+-87.9285	37.1153	8689
+-88.4819	36.5166	8486
+-78.6172	28.0408	5902
+-124.9208	46.5713	7344
+-88.2801	35.402	7216
+-94.7574	37.3046	4459
+-125.0377	47.6428	7143
+-90.0167	40.1122	7904
+-118.2082	45.2555	8363
+-119.8365	43.1851	5762
+-112.353	29.1903	6081
+-107.7613	33.1163	6229
+-79.4051	28.0958	6783
+-88.2097	36.6343	8499
+-116.4984	33.6699	8559
+-112.7244	35.2412	4739
+-118.0809	48.3195	6900
+-124.2702	49.1445	6779
+-110.3316	30.2544	8034
+-124.7996	46.9928	7519
+-123.4831	45.7815	8155
+-119.6599	32.6372	6742
+-110.6951	34.8147	5951
+-117.6412	31.7852	8378
+-117.9435	32.4915	8604
+-115.224	29.5685	5642
+-87.6748	39.9501	6973
+-117.5146	33.1197	9054
+-114.6704	34.4895	6679
+-91.6175	41.1467	6519
+-112.1929	31.7081	7454
+-117.0932	31.0883	7820
+-121.8147	34.5127	4560
+-117.6892	47.0763	8050
+-117.768	45.916	8681
+-84.0437	30.7042	5928
+-86.227	35.5444	6101
+-120.5875	34.7746	5848
+-82.7946	27.8823	9133
+-80.7945	27.2383	8264
+-117.9494	42.8279	5777
+-109.5235	30.056	7601
+-115.3471	35.5743	6920
+-122.6703	48.5547	7843
+-118.1146	32.4953	8423
+-123.2912	46.5032	8940
+-88.4875	43.6482	3763
+-90.8467	36.9658	7437
+-114.4114	37.8122	4458
+-115.3153	33.8575	7576
+-117.0076	33.9811	9210
+-117.548	35.3428	8183
+-81.9006	29.7413	7643
+-108.0173	28.8487	5591
+-112.0437	34.1249	6154
+-125.4814	49.4495	5671
+-118.1586	31.4492	7729
+-126.2544	45.5327	5598
+-85.6804	38.6435	6181
+-92.7585	38.3572	6830
+-117.391	31.0075	7680
+-88.6786	37.9414	9491
+-85.9189	37.7843	6616
+-82.7586	27.2957	9007
+-123.2683	46.454	8913
+-119.4335	33.6818	7123
+-112.2855	32.7415	7014
+-122.3469	48.7181	7588
+-108.7216	28.2534	5465
+-117.7029	35.8998	7553
+-88.6583	38.0784	9336
+-90.598	37.5308	8090
+-118.2469	32.8833	8323
+-108.1769	31.6074	7137
+-91.2067	41.7233	6099
+-116.1586	34.3033	8315
+-119.2517	46.9095	7924
+-88.2859	37.0867	8970
+-108.8401	32.2353	7708
+-91.2615	38.2923	8357
+-115.0265	37.8051	4846
+-119.2217	34.2092	7404
+-90.4476	39.0334	9111
+-114.1198	35.3905	5842
+-94.3135	37.6642	5030
+-117.0614	36.943	6465
+-117.1904	33.1698	9286
+-84.6476	28.8753	6784
+-115.884	35.573	7361
+-119.5304	44.7371	7304
+-87.101	41.5287	5093
+-91.2313	39.8974	7887
+-82.1532	29.3745	8073
+-81.0689	30.2395	6847
+-116.5843	31.7409	8479
+-84.6283	39.3857	4785
+-94.4787	38.9949	5002
+-84.9138	29.9886	5866
+-88.7239	34.461	6217
+-116.9199	32.6306	9539
+-82.0598	29.3085	8146
+-119.7261	36.206	6029
+-108.2103	32.9712	6725
+-92.3072	38.0953	7234
+-90.7974	36.4817	6939
+-83.0632	26.4212	8042
+-111.2732	30.397	7834
+-80.7364	24.9621	6348
+-81.2876	27.0264	8621
+-123.1493	45.7268	8217
+-112.7203	29.4262	5988
+-89.3354	38.8792	8286
+-109.0491	34.0874	6425
+-119.2115	33.6764	7359
+-88.7053	37.8139	9635
+-79.2685	31.6232	4457
+-111.4502	30.023	7395
+-121.1444	35.1561	5163
+-84.767	26.6833	6671
+-117.808	35.3469	8088
+-121.0827	34.0848	5375
+-116.8423	33.9517	9034
+-89.3589	39.4046	8114
+-110.7421	33.1069	7764
+-121.2355	47.2664	7748
+-116.6219	43.5044	5997
+-90.9346	40.3936	7556
+-120.0597	47.4067	6925
+-123.3682	45.6885	8111
+-112.1303	30.7311	7319
+-120.4123	44.2727	6289
+-75.7032	27.3945	2605
+-112.5189	30.3951	6778
+-119.6532	32.8559	6756
+-114.4073	32.0366	6769
+-92.4247	38.2457	7158
+-125.8704	47.7836	6222
+-80.9438	26.8001	8158
+-123.7788	45.2718	7509
+-116.8059	37.6308	5690
+-122.5852	45.6515	8121
+-116.8422	46.7093	7604
+-89.6219	37.5643	8848
+-80.634	32.3948	4388
+-119.0945	33.143	7270
+-116.7825	32.0694	8894
+-111.1736	28.9534	6482
+-87.9816	38.0894	8814
+-90.2468	41.388	6577
+-114.5713	32.9683	7076
+-115.8242	46.6302	6596
+-114.528	28.6555	4373
+-118.1518	34.9387	8232
+-124.0711	47.6966	8090
+-117.3634	32.4487	9149
+-119.2492	34.4636	7345
+-115.4743	35.0049	7364
+-85.0756	29.9943	5717
+-119.8069	35.0566	6590
+-114.5182	46.3343	5265
+-109.0277	32.3266	7846
+-123.3606	44.7796	7151
+-119.7208	35.2626	6591
+-110.0185	31.4156	9087
+-90.4516	38.2907	8924
+-120.0183	48.6735	5973
+-119.1483	37.1533	5656
+-123.0912	46.6973	9243
+-117.4939	30.0827	6647
+-116.6551	48.403	6273
+-87.345	39.9175	6826
+-108.1999	30.7842	7005
+-114.3611	36.5664	5404
+-89.4262	36.9523	8724
+-116.9096	34.3365	9090
+-126.1123	48.7416	5574
+-114.6733	34.9429	6574
+-110.115	31.6536	9225
+-107.9904	27.8346	4684
+-86.9425	38.2359	7670
+-113.7445	31.4373	5774
+-114.6593	34.1566	6694
+-86.4008	37.3645	7138
+-87.8739	41.6149	5319
+-89.5438	39.5646	8164
+-113.8496	32.898	6275
+-79.503	28.3926	6833
+-82.0782	26.7565	8748
+-112.698	32.4042	6762
+-115.3907	36.9242	5870
+-116.4782	37.5166	5748
+-92.1915	38.5725	7466
+-108.9375	29.1354	6421
+-120.1284	44.0157	6312
+-77.1027	29.7332	3782
+-90.3841	38.7854	9386
+-116.2462	45.5359	7022
+-109.9367	31.2376	8904
+-84.1053	42.372	2380
+-116.426	44.6706	6778
+-116.3575	30.4307	7006
+-92.856	40.6706	6050
+-89.3076	39.109	8202
+-83.5261	24.1838	5543
+-121.1698	33.3804	5202
+-120.4996	32.8501	5744
+-88.1001	38.5482	8574
+-113.662	35.209	5435
+-117.9229	35.6859	7699
+-83.3798	27.3912	8420
+-122.9727	49.3905	6942
+-115.0153	33.5916	7411
+-122.2486	47.87	8383
+-116.6213	35.1506	8224
+-122.1655	42.7199	4871
+-123.8844	43.6633	5819
+-125.343	47.8358	6757
+-124.236	46.6029	8085
+-88.6289	39.1311	8163
+-82.7414	26.9062	8701
+-82.5559	25.1253	6866
+-90.685	39.0858	8938
+-77.4614	29.7577	4147
+-115.7541	40.0038	2925
+-117.1747	31.5412	8311
+-109.051	32.1498	7955
+-116.821	32.747	9573
+-91.6077	35.0998	5518
+-84.436	30.5628	5794
+-80.688	27.6765	8254
+-118.4858	31.7054	7653
+-111.9242	33.4823	6789
+-87.9811	36.5724	8304
+-82.4581	30.2242	7088
+-110.5298	30.0539	7803
+-117.8192	31.8973	8354
+-116.4137	34.3019	8589
+-117.7403	45.2769	8216
+-85.7189	40.642	5034
+-116.9776	35.6822	7819
+-118.0113	32.8667	8586
+-87.2581	33.0926	4409
+-85.128	27.2777	6460
+-83.6115	26.8474	7923
+-114.088	34.8182	5991
+-113.5959	34.3277	5528
+-84.3697	26.8293	7149
+-80.9682	28.353	8417
+-126.5205	46.5041	5596
+-119.2469	46.2472	8228
+-115.9573	44.3938	6205
+-117.1593	44.6608	7327
+-85.6269	38.3143	6216
+-119.2834	36.6638	6008
+-83.3703	28.6645	8163
+-115.813	47.2359	6381
+-116.9376	33.5106	8978
+-120.6087	32.8765	5643
+-92.4351	38.2488	7148
+-123.6521	47.3118	8697
+-118.0092	31.1258	7537
+-120.8356	43.1325	5115
+-89.1917	40.3256	7295
+-88.1489	41.6333	5493
+-113.2263	29.806	5795
+-85.7398	30.3796	4854
+-83.084	27.4596	8762
+-108.6961	30.426	7301
+-120.4238	32.517	5882
+-89.9426	36.1825	7690
+-88.264	31.7975	3203
+-88.1326	39.1731	7980
+-114.7526	31.8545	7060
+-112.5679	29.7394	6335
+-119.2694	48.9522	6064
+-111.6873	31.9915	7941
+-117.0507	33.2757	9232
+-90.1832	36.2275	7549
+-114.7415	34.7333	6707
+-90.3752	43.1387	4694
+-85.305	24.2736	4555
+-115.6455	34.3824	7749
+-82.1376	29.302	8155
+-89.6965	37.3038	8695
+-85.2635	36.9785	5808
+-115.6514	38.1446	4821
+-116.2709	34.0339	8446
+-121.3383	46.771	7877
+-108.3953	31.352	7359
+-89.9226	40.691	7274
+-122.7998	47.4317	9083
+-114.7217	48.1269	4920
+-81.628	27.2528	9077
+-87.943	40.4415	6565
+-113.3266	30.1941	5898
+-89.5609	40.9898	6853
+-120.4622	43.1055	5338
+-117.1434	35.6657	7861
+-94.3388	40.8852	4580
+-89.0985	38.3715	8940
+-89.9129	36.2251	7748
+-88.8022	42.6374	4901
+-116.2467	34.2303	8420
+-84.8225	38.3854	5315
+-82.5073	26.9307	8856
+-124.9683	44.8798	6378
+-120.1927	43.8424	6129
+-117.8884	32.3813	8616
+-84.9224	35.7154	4976
+-118.692	31.8858	7566
+-89.5029	36.2894	8063
+-109.4111	29.7965	7295
+-86.9966	36.7639	7585
+-76.7586	29.1024	3627
+-122.3153	45.8006	8173
+-91.7355	37.373	7344
+-117.201	34.7194	8895
+-118.0913	34.2515	8629
+-116.5475	35.9157	7441
+-118.5189	32.115	7853
+-86.7497	24.1214	3238
+-85.5684	35.8556	5690
+-109.8408	30.9206	8579
+-110.6555	32.4947	8426
+-78.9048	27.5349	6230
+-107.766	32.1839	6617
+-119.1603	35.6284	6906
+-109.6264	30.6227	8181
+-116.7382	30.1479	6765
+-117.1509	35.2295	8335
+-78.3795	28.4684	5572
+-93.921	37.5944	5413
+-119.0609	46.3904	8381
+-80.3613	24.6703	5856
+-119.4733	45.203	7682
+-117.007	33.0782	9458
+-90.9668	34.8493	5803
+-85.8139	35.4534	5673
+-91.7217	42.9587	4664
+-116.6094	49.9452	4819
+-117.6437	34.7182	8779
+-117.3286	34.8908	8709
+-117.0379	44.7205	7292
+-125.3741	49.2188	5931
+-82.2311	27.9189	9688
+-81.3904	26.3714	8104
+-123.4218	45.8825	8284
+-112.2966	31.0849	7279
+-112.1282	28.6463	5744
+-89.6851	39.979	7901
+-89.6702	41.3879	6479
+-115.2448	46.1909	6041
+-120.6922	45.2458	6554
+-109.9142	35.1836	5546
+-121.8618	49.5739	6523
+-121.4636	48.3268	7433
+-116.2679	32.4352	8865
+-114.4566	36.5481	5496
+-106.3874	32.3742	5113
+-116.8559	35.4555	8028
+-117.3931	33.0855	9190
+-88.3028	34.9598	6733
+-125.4807	48.467	6327
+-118.3379	48.4083	6815
+-78.6819	27.7748	5988
+-113.8824	36.0593	5290
+-121.2525	43.7997	5684
+-88.9038	37.365	9444
+-93.1789	39.2824	6357
+-121.3259	49.2776	6534
+-118.4609	32.2426	7967
+-118.8799	43.236	6162
+-84.4187	38.6516	4811
+-91.2287	38.6408	8506
+-116.865	47.6886	7005
+-118.0524	46.4687	8800
+-110.5078	32.5473	8412
+-109.3396	31.3768	8374
+-90.8169	37.738	8238
+-92.1684	38.4599	7475
+-90.0435	37.4173	8355
+-90.1225	41.4215	6531
+-88.3927	39.0603	8195
+-93.119	36.7264	5757
+-120.2464	34.7854	6210
+-108.1843	32.8094	6793
+-114.3564	31.6927	6583
+-117.2063	32.2708	9088
+-119.2845	45.6042	8077
+-116.0843	32.2632	8591
+-82.3218	26.8531	8837
+-116.6611	33.9436	8846
+-117.6008	47.8708	7251
+-82.0647	27.2832	9340
+-124.9058	46.7085	7384
+-123.5396	46.3083	8598
+-91.1027	36.2936	6666
+-88.9219	35.9891	7925
+-108.0184	33.1471	6447
+-110.6123	32.0001	8930
+-116.5928	29.9228	6498
+-120.8391	48.0556	7045
+-113.8275	31.9927	6133
+-118.2498	32.2425	8185
+-88.9141	37.3756	9449
+-124.8513	45.8804	7153
+-125.8341	47.6149	6305
+-116.0772	35.0463	7902
+-114.5015	32.8776	7002
+-121.7984	48.2814	7722
+-119.1221	49.6105	5438
+-92.4216	37.8675	7030
+-117.574	35.6245	7877
+-123.7922	45.6398	7850
+-120.876	34.204	5600
+-111.1711	33.6109	7097
+-87.652	41.0942	5545
+-116.8211	34.5712	8856
+-89.9772	36.9965	8262
+-115.8748	38.0213	5033
+-123.0512	47.6531	8834
+-110.2391	30.9913	8824
+-90.7944	36.0957	6936
+-117.4614	31.0878	7747
+-123.9115	48.9415	7168
+-83.9927	28.8668	7448
+-120.82	44.3558	6000
+-125.0638	48.7143	6550
+-120.7764	47.0928	7269
+-90.4408	39.0012	9147
+-118.6546	31.3084	7228
+-83.3819	28.9991	7908
+-114.5499	33.9877	6757
+-108.7496	29.9382	6999
+-106.911	30.9939	5711
+-112.1065	35.6736	4643
+-89.2177	37.6674	9309
+-123.9521	45.0702	7224
+-86.7038	37.0654	7403
+-90.8744	37.3832	7859
+-119.6721	44.1717	6744
+-117.1292	30.6145	7290
+-82.2331	26.5259	8484
+-122.494	48.3368	8036
+-115.8443	46.3104	6668
+-119.2723	35.6747	6779
+-114.5423	32.1396	6945
+-116.8027	29.8766	6468
+-91.7179	42.0621	5576
+-117.319	30.6232	7275
+-118.4396	28.434	4596
+-81.7281	27.9523	9388
+-110.4814	32.7561	8193
+-90.853	36.5899	7042
+-82.467	30.9795	6238
+-92.5883	38.982	7035
+-119.1765	34.0114	7450
+-86.8567	25.412	3921
+-109.9071	32.7332	8145
+-119.3247	46.3091	8136
+-120.0407	45.1374	7138
+-113.9806	37.8517	4125
+-115.0956	34.3933	7153
+-117.9747	28.8778	5218
+-116.6399	34.6044	8683
+-81.9054	28.3493	9185
+-118.3085	30.2926	6564
+-91.4821	40.9433	6780
+-114.0407	32.657	6484
+-122.8974	46.1511	8710
+-113.6637	28.5405	4586
+-109.7709	30.7451	8380
+-112.5894	35.3175	4747
+-117.7909	35.4928	7948
+-121.3238	47.6642	7713
+-124.4395	47.1372	7904
+-113.5012	32.6047	5867
+-113.7575	30.5426	5596
+-118.7402	35.2728	7506
+-117.5189	43.8553	6749
+-83.8388	31.5405	5207
+-119.2617	45.3287	7941
+-115.4418	34.9397	7362
+-116.1385	32.4942	8762
+-115.3166	32.1509	7768
+-85.7597	38.3466	6354
+-112.5416	33.0945	6574
+-118.9095	31.9883	7397
+-117.3935	33.9708	9313
+-117.6158	48.8957	6216
+-117.7353	34.3199	8988
+-118.0539	31.0392	7429
+-82.8871	26.2347	7961
+-123.0293	45.4623	7947
+-116.0224	44.6715	6428
+-86.496	37.126	7195
+-120.3189	43.3168	5609
+-88.9936	38.1703	9194
+-87.4929	39.3758	7422
+-117.1313	35.4427	8102
+-116.8576	47.1459	7388
+-114.9975	30.3456	6229
+-118.8185	43.8105	6770
+-86.4857	39.1816	6741
+-107.0934	30.6144	5810
+-116.9796	37.7991	5527
+-119.443	33.7376	7125
+-120.5816	45.8841	6816
+-124.1238	48.1007	7773
+-90.9025	35.3158	6250
+-115.2578	32.1877	7722
+-119.4717	45.152	7651
+-113.6368	31.0466	5847
+-117.0537	47.7514	7080
+-118.8495	49.945	5144
+-124.3211	46.4257	7936
+-81.076	29.8807	7218
+-110.5305	32.5215	8435
+-117.6291	43.8225	6751
+-80.217	27.8912	7720
+-111.7065	34.3728	6105
+-89.3722	38.288	8841
+-116.6193	35.3755	8010
+-117.2539	35.9043	7606
+-92.3299	35.5678	5404
+-90.7535	39.4254	8594
+-120.7912	46.319	7183
+-113.1968	31.5794	6371
+-87.3927	38.1346	8186
+-123.3766	48.6586	7675
+-85.9207	44.5205	1562
+-116.7056	30.6066	7271
+-118.9993	47.7137	7391
+-89.3705	40.4233	7316
+-115.7343	45.7437	6535
+-116.6776	38.56	4667
+-117.3862	44.6361	7442
+-118.6417	32.3384	7810
+-115.5728	29.5865	5829
+-117.2659	34.4377	9206
+-124.1839	41.5726	3515
+-117.9035	49.6053	5526
+-80.3527	27.5008	7856
+-119.3013	45.6755	8092
+-91.063	40.3111	7589
+-118.2184	31.979	8073
+-85.7917	35.26	5520
+-88.6387	41.2657	6125
+-110.2268	31.3157	9161
+-90.0185	40.0601	7959
+-110.2595	32.9106	8033
+-90.1715	35.8565	7244
+-85.1483	36.576	5573
+-111.1587	30.9512	8347
+-116.0945	35.4262	7634
+-117.7539	37.733	5575
+-120.2187	45.6486	7156
+-116.7441	30.81	7501
+-115.0522	39.6644	3039
+-81.9859	28.9655	8526
+-90.5862	39.7992	8273
+-81.2026	29.5756	7591
+-80.1768	27.6013	7671
+-109.5096	33.8535	6857
+-118.3355	36.7562	6448
+-108.623	30.6857	7381
+-121.4752	47.154	8027
+-123.6644	44.5286	6799
+-118.6818	37.23	5824
+-91.1575	37.8184	8119
+-118.474	47.7538	7497
+-83.7529	27.4324	8022
+-91.2575	39.9669	7809
+-78.9022	27.4576	6220
+-117.3929	33.2872	9045
+-110.0686	28.8565	6505
+-114.5404	33.2071	7012
+-109.0255	29.9763	7229
+-90.8982	38.5728	8837
+-112.9142	34.431	5310
+-81.1769	27.2335	8654
+-118.0075	30.5607	6982
+-113.2029	33.1736	5919
+-120.9016	47.6057	7301
+-90.332	37.0024	7907
+-114.8274	46.3016	5594
+-121.0598	46.969	7584
+-116.8584	35.2751	8215
+-116.7424	46.7816	7476
+-89.2493	36.9265	8824
+-118.5281	33.2279	7844
+-121.4597	47.6355	7861
+-109.9984	30.734	8484
+-119.4387	45.7181	7972
+-89.0036	36.3385	8301
+-116.5397	34.8296	8440
+-126.6633	49.9266	4346
+-79.0666	31.6599	4285
+-116.8918	31.2285	7980
+-115.291	41.6014	3538
+-114.3361	33.4277	6741
+-111.5119	33.1829	7321
+-114.82	33.3403	7288
+-89.9853	38.7749	8995
+-92.4061	39.3783	7141
+-90.7139	37.2288	7746
+-79.7795	26.9436	7071
+-109.4501	32.9145	7743
+-109.642	32.0826	8550
+-89.2514	39.2157	8105
+-87.5782	38.2181	8344
+-89.7088	34.176	5757
+-119.0376	43.4864	6380
+-82.6356	29.1955	8179
+-90.1034	41.7723	6153
+-124.0414	47.3453	8285
+-119.0375	34.7857	7479
+-114.0986	33.4603	6474
+-92.5879	38.9466	7039
+-116.4337	44.0134	6307
+-88.3861	38.6116	8671
+-110.6857	32.4535	8456
+-114.3932	32.7433	6881
+-85.2378	37.4016	5843
+-121.1622	47.7553	7510
+-122.0291	48.3583	7802
+-115.008	30.2966	6193
+-82.8527	30.5388	6652
+-91.9469	36.2516	6248
+-117.234	27.6564	3989
+-107.6779	36.3273	3583
+-89.2318	38.0809	9115
+-116.5489	33.6342	8584
+-120.6674	44.8237	6397
+-118.1832	33.9054	8508
+-118.8646	45.3748	8276
+-82.052	29.1812	8289
+-113.4559	34.1631	5559
+-120.6138	32.6979	5565
+-89.2919	34.9709	6733
+-109.2032	29.0842	6502
+-118.9011	47.8912	7254
+-108.5608	31.4121	7544
+-80.0012	30.3185	6130
+-110.7639	32.2039	8655
+-118.8367	33.8087	7789
+-123.0961	45.9176	8434
+-121.9138	33.9392	4464
+-119.193	46.7252	8092
+-90.9868	37.4162	7846
+-117.7635	38.2391	5027
+-117.4777	45.9102	8384
+-116.0327	32.4821	8646
+-88.6503	37.2595	9341
+-116.457	35.4582	7844
+-88.508	37.1848	9202
+-80.339	27.0367	7701
+-90.5007	40.2893	7760
+-91.5574	39.0942	8106
+-120.3117	47.6939	6528
+-90.714	37.8819	8423
+-82.422	27.2712	9244
+-124.3371	49.5828	6327
+-123.7441	45.9817	8181
+-82.5577	25.1144	6854
+-118.1826	29.458	5769
+-109.3748	32.3002	8177
+-92.8952	35.9687	5385
+-117.7935	44.2761	7261
+-92.3563	36.5067	6204
+-88.7669	38.0043	9435
+-120.1352	34.529	6379
+-108.9417	28.1112	5421
+-88.42	38.6953	8596
+-118.774	48.8082	6346
+-89.9322	37.9335	8419
+-116.8749	33.3768	9120
+-89.2323	39.574	7899
+-118.068	32.0639	8265
+-124.1766	49.6244	6367
+-124.0301	45.4592	7536
+-90.3493	36.0102	7244
+-88.8807	38.5756	8786
+-111.5877	31.6175	8114
+-110.5978	32.6529	8280
+-124.7978	47.7568	7348
+-112.1784	32.694	7140
+-122.2754	44.4334	6740
+-117.7429	32.7818	8886
+-85.8921	38.2973	6512
+-82.9455	28.2682	8812
+-107.073	34.986	4368
+-90.2263	41.1176	6867
+-122.0989	42.433	4548
+-111.4476	32.143	8123
+-93.4341	39.7404	5967
+-118.4518	35.4016	7644
+-88.791	34.5648	6334
+-113.6528	32.6331	6051
+-116.7242	34.7464	8645
+-87.2541	37.8141	8109
+-81.0658	24.4546	5956
+-92.9321	41.0076	5755
+-111.2634	31.7871	8442
+-114.5052	35.4587	6197
+-90.3769	40.2519	7806
+-120.5951	46.8344	7070
+-78.9291	25.5998	5516
+-89.4382	41.3999	6392
+-124.2757	47.9328	7759
+-116.2486	30.9484	7520
+-91.0396	35.5077	6297
+-85.2584	39.1002	5561
+-116.2044	34.5184	8305
+-117.3175	49.2265	5795
+-118.5857	48.2854	6924
+-78.304	29.7808	4997
+-116.6158	28.7502	5200
+-79.0576	27.346	6380
+-119.1693	32.9132	7294
+-79.6472	32.6657	3677
+-121.6896	47.8988	7928
+-118.2589	47.4096	7873
+-117.5419	29.6272	6138
+-123.408	47.2954	8941
+-78.9195	25.3608	5351
+-88.0368	39.9857	7085
+-88.6099	38.4594	8907
+-116.3644	36.0642	7213
+-79.9922	27.6372	7466
+-120.54	36.5571	5095
+-91.5392	36.0431	6252
+-120.3627	46.207	7055
+-87.1387	42.0542	4433
+-110.1459	29.3557	7052
+-88.3177	38.4575	8794
+-120.8974	36.0242	5072
+-89.5694	41.6282	6200
+-122.8591	47.4111	9116
+-79.354	29.2749	6315
+-88.3381	36.4271	8344
+-82.0595	27.4601	9536
+-114.6575	47.4685	5156
+-77.8849	24.6309	3918
+-121.6281	44.8712	6913
+-76.1468	27.1979	3089
+-84.6716	32.129	4182
+-111.4288	36.5158	3999
+-117.9524	44.7648	7804
+-116.9285	47.6833	7054
+-118.0755	34.3762	8617
+-116.2582	30.8592	7431
+-106.1058	34.6067	3842
+-113.802	30.4341	5515
+-116.7268	33.5873	8700
+-84.588	25.8559	6373
+-108.8297	29.8828	7014
+-113.9549	34.915	5826
+-93.039	38.0062	6452
+-89.6654	36.8324	8439
+-90.231	35.7889	7143
+-121.9167	49.4382	6684
+-114.1413	44.6081	4598
+-123.1759	45.045	7473
+-121.7895	43.8487	5970
+-88.3548	36.2853	8198
+-120.9576	43.7828	5513
+-113.4564	30.7843	5981
+-91.1837	39.7134	8074
+-79.5817	26.1614	6482
+-124.3327	47.2147	8009
+-117.5253	45.4946	8233
+-126.5634	48.2672	5335
+-117.4944	34.853	8714
+-81.413	30.3306	6879
+-111.8275	31.2528	7816
+-118.1024	34.6604	8460
+-117.0974	35.3015	8250
+-116.0425	34.3436	8183
+-91.2173	37.4696	7777
+-121.5144	45.3613	7276
+-91.2304	38.5512	8486
+-119.0813	32.1206	7270
+-106.4844	30.0175	4972
+-119.0236	33.3838	7454
+-117.2646	44.1014	6885
+-87.9662	36.9027	8574
+-113.2492	29.0807	5310
+-92.885	34.0848	3719
+-87.1935	36.9375	7869
+-85.7928	39.1405	6089
+-86.9804	36.7304	7552
+-83.078	24.4324	5972
+-90.5547	37.7022	8280
+-117.5372	41.6491	4481
+-121.0962	45.1636	6804
+-90.2917	36.095	7357
+-82.1731	28.8191	8701
+-117.9013	31.2175	7687
+-113.9956	35.0105	5844
+-124.1455	46.7059	8208
+-89.1684	38.5911	8683
+-117.1905	32.8747	9495
+-116.2469	45.5855	7036
+-116.422	35.4707	7813
+-79.0936	24.7283	5030
+-84.6347	24.9485	5629
+-112.2703	34.4432	5731
+-115.2501	34.3211	7329
+-118.4201	35.1482	7862
+-78.9399	31.4253	4398
+-108.7137	28.2538	5462
+-117.3548	34.6959	8917
+-89.5833	37.1563	8735
+-118.7937	48.5413	6619
+-116.3996	36.5385	6749
+-116.6919	33.2888	9144
+-85.7275	41.5429	4285
+-122.7282	47.4269	9066
+-121.5483	45.9725	7763
+-117.9566	48.9644	6207
+-88.2004	41.4959	5644
+-82.5976	26.7268	8604
+-114.8782	36.8546	5588
+-114.1325	31.7582	6378
+-87.8083	36.4755	8100
+-122.3073	44.5527	6875
+-116.7072	43.5919	6123
+-85.9589	40.1133	5634
+-116.5809	35.4596	7909
+-117.4213	47.1367	7833
+-88.3491	39.9453	7214
+-108.2302	31.3718	7183
+-110.399	32.9134	8031
+-108.3252	31.1973	7258
+-112.8213	31.3414	6765
+-81.3347	26.6394	8330
+-120.559	33.8276	5931
+-85.7974	28.6881	5618
+-117.4645	33.94	9236
+-124.4499	49.3428	6489
+-122.928	42.3244	4506
+-88.9844	39.3265	7794
+-119.5326	43.4755	6182
+-119.0114	35.1653	7327
+-88.871	40.5993	6849
+-89.2354	39.289	8057
+-83.4258	28.6711	8108
+-114.1751	32.047	6523
+-117.3451	32.1775	8924
+-118.9458	49.1367	5969
+-83.5946	27.338	8170
+-91.661	36.3488	6493
+-92.508	40.2749	6606
+-111.6455	30.807	7822
+-117.8484	44.1682	7163
+-89.5754	43.0039	4757
+-116.7394	30.1014	6714
+-84.4047	40.7472	3820
+-78.0992	26.4393	5088
+-117.5911	47.3043	7789
+-79.4268	26.574	6546
+-119.4275	47.1285	7631
+-111.2479	29.4687	6977
+-118.1591	32.8887	8420
+-113.2355	31.5572	6329
+-80.5021	26.134	7281
+-81.344	30.2514	6943
+-94.4529	38.1161	4985
+-117.5827	32.6836	9050
+-114.2276	36.4336	5380
+-120.1439	44.3265	6538
+-85.5127	39.9203	5372
+-115.6241	32.6474	8244
+-124.5983	46.2548	7583
+-117.2495	31.4966	8247
+-89.2827	35.9421	7795
+-120.8269	45.6952	6934
+-121.8191	32.8437	4377
+-109.6839	32.0831	8586
+-117.2368	47.0726	7747
+-114.7277	33.3931	7174
+-121.9437	38.2076	2772
+-85.4429	35.6504	5452
+-117.8042	46.9442	8233
+-89.7454	34.8858	6506
+-114.2039	32.9711	6667
+-116.2294	33.2977	8771
+-120.1275	46.2929	7297
+-116.0379	36.5025	6627
+-77.9838	28.5635	5112
+-81.0577	27.8395	8673
+-111.4568	30.408	7712
+-89.5413	38.5558	8493
+-89.5798	42.6536	5129
+-121.2709	47.7083	7640
+-117.5023	33.3048	8944
+-85.0692	24.0049	4494
+-114.6028	48.6774	4502
+-109.5641	34.5839	6117
+-119.6693	45.2852	7558
+-91.3455	37.252	7505
+-92.791	38.1532	6751
+-119.5673	34.999	6856
+-90.6563	40.0854	7955
+-116.2244	32.8151	8925
+-120.6331	48.1275	6808
+-119.7883	48.3399	6403
+-90.6819	38.1437	8696
+-117.4999	35.0673	8488
+-107.9505	31.1872	6856
+-80.20	26.3535	7183
+-108.0243	28.997	5717
+-90.73	40.573	7424
+-83.2477	30.5399	6511
+-117.8007	32.80	8822
+-114.9865	33.0683	7526
+-86.5781	36.0996	6794
+-110.0005	31.5069	9104
+-89.3832	36.8663	8682
+-91.2388	37.2401	7554
+-117.6025	47.3935	7713
+-89.2795	38.1187	9047
+-117.3386	37.0722	6331
+-89.0579	38.7584	8546
+-119.7114	33.5324	6792
+-90.3744	39.9267	8156
+-117.9214	29.5655	5973
+-115.5159	33.8787	7608
+-82.7306	24.6511	6303
+-117.8208	45.9742	8753
+-91.0523	38.653	8696
+-126.4012	46.5165	5728
+-119.8482	43.4233	5977
+-123.291	45.2828	7707
+-85.7611	40.5925	5106
+-120.5018	46.3609	6895
+-89.4547	37.3659	8972
+-116.581	36.4979	6852
+-88.1247	37.6903	9094
+-82.0372	25.5837	7420
+-84.9882	36.6146	5413
+-119.9615	48.998	5714
+-108.4775	30.7683	7278
+-116.8929	35.4174	8079
+-87.9613	40.0071	7036
+-118.0334	35.2042	8101
+-119.4107	44.6862	7345
+-89.7937	41.9792	5886
+-88.9768	40.8675	6684
+-88.3571	30.3535	2267
+-108.5114	34.2644	5961
+-115.0252	30.2419	6156
+-93.6359	38.4682	5905
+-125.2256	48.5457	6518
+-121.0663	45.1198	6747
+-93.8065	39.2009	5703
+-123.5198	48.5885	7699
+-116.0503	48.5426	5756
+-82.2949	27.353	9390
+-86.3528	33.1987	4115
+-115.5698	35.8247	6924
+-119.3022	46.5797	8068
+-118.9861	49.2297	5863
+-117.6786	32.2744	8755
+-117.7588	46.0953	8705
+-87.0403	39.2768	7165
+-107.6258	32.7215	6291
+-121.3223	31.8416	4774
+-87.5695	38.1011	8385
+-89.5438	38.4544	8465
+-120.1279	28.0269	3352
+-88.12	41.9816	5172
+-120.4943	34.1673	6017
+-116.8165	42.8551	5489
+-118.963	43.5666	6483
+-115.8655	31.7179	8018
+-118.5965	49.3212	5833
+-120.4565	34.2009	6057
+-119.6828	43.9715	6563
+-91.0563	42.4862	5333
+-108.7169	32.8559	7245
+-114.0303	29.2806	4755
+-115.831	33.7515	8112
+-87.236	36.4658	7632
+-114.2506	33.2137	6691
+-121.7124	33.9425	4684
+-89.198	39.9299	7622
+-121.3607	46.3944	7802
+-116.5845	34.5198	8683
+-121.2805	47.357	7776
+-83.3352	28.2354	8433
+-83.8593	28.6768	7685
+-86.5268	37.3232	7272
+-88.1387	37.4794	9080
+-113.6945	29.5774	5233
+-91.3333	39.1952	8294
+-91.775	38.6471	7920
+-116.5244	36.9294	6382
+-108.0065	33.9672	5864
+-120.3377	32.0632	5900
+-116.0008	32.8487	8675
+-119.819	34.9441	6617
+-91.6811	37.9613	7787
+-90.2657	36.3781	7597
+-92.7449	38.2242	6817
+-119.9401	47.4668	6986
+-89.3423	38.1128	8997
+-83.4592	25.8086	7217
+-121.6442	45.0926	7128
+-120.5815	45.0597	6589
+-92.5609	38.4008	7047
+-115.2515	45.4037	5966
+-123.5345	44.0283	6304
+-87.9159	36.5555	8245
+-115.984	33.0484	8627
+-120.0383	32.7213	6325
+-87.7904	34.8465	6466
+-90.017	37.7823	8309
+-122.9417	44.5979	7003
+-122.7319	45.2924	7758
+-82.7547	30.0255	7242
+-89.8467	40.1458	7813
+-90.7739	40.998	6965
+-82.1337	25.5733	7411
+-122.924	46.2674	8838
+-112.0695	28.6468	5777
+-122.9102	48.2776	8166
+-117.0677	43.8626	6564
+-118.538	48.5408	6661
+-90.60	40.6306	7384
+-88.7151	35.3121	7172
+-89.9826	38.4982	8914
+-113.0695	30.1496	6127
+-112.4192	29.7571	6470
+-76.4956	25.5542	3041
+-113.2894	27.6765	4166
+-81.2822	27.9182	8914
+-123.0263	46.2793	8838
+-119.5938	34.6073	6947
+-114.8314	31.6319	7029
+-117.271	30.5452	7197
+-118.9604	49.1736	5927
+-85.4637	40.1418	5182
+-111.1382	33.5778	7143
+-116.6885	30.1512	6764
+-82.7207	29.6226	7690
+-122.7073	47.5544	8927
+-118.6858	30.6989	6710
+-118.9877	49.8099	5261
+-113.9682	47.3876	4491
+-87.3266	42.5035	4207
+-115.2433	31.9392	7596
+-119.4375	44.3455	7036
+-79.9506	26.5005	7038
+-111.8402	29.6646	6830
+-87.8202	36.9333	8472
+-88.8853	39.4197	7656
+-113.0105	30.2802	6248
+-84.7971	26.4162	6514
+-115.2821	34.4576	7344
+-91.1393	39.9719	7876
+-121.131	47.5434	7562
+-115.0351	29.6453	5611
+-122.9221	44.6759	7089
+-114.9551	36.175	6174
+-109.8189	34.8788	5860
+-107.1334	28.3414	4538
+-80.8964	27.2912	8393
+-116.5637	44.1567	6512
+-83.5018	27.7176	8343
+-115.0056	33.4687	7448
+-83.8587	29.2247	7337
+-123.5495	47.5112	8675
+-109.4023	27.3615	4790
+-113.2674	35.9384	4752
+-122.3573	49.2573	7020
+-123.6889	46.6384	8667
+-120.7563	45.097	6434
+-124.5729	43.8251	5696
+-110.3258	32.1986	8807
+-114.6557	35.5332	6306
+-86.1449	34.5674	5259
+-119.8037	34.9537	6629
+-116.5006	31.5741	8273
+-115.6355	46.5805	6411
+-114.8519	31.4334	6934
+-86.971	36.8686	7610
+-119.7439	35.2015	6595
+-87.2312	40.797	5901
+-86.5167	36.7128	7072
+-127.6398	43.6639	3259
+-123.9071	46.5191	8395
+-115.5797	49.2609	4855
+-119.5255	46.9622	7659
+-91.0277	36.4937	6895
+-116.1764	30.1096	6607
+-89.7479	36.4592	8069
+-113.6386	29.5685	5280
+-110.979	30.4269	8039
+-90.6908	38.9874	9006
+-117.4918	31.6488	8325
+-119.2984	35.4725	6883
+-81.7175	28.9094	8517
+-81.6963	30.9369	6272
+-114.9814	30.5957	6430
+-110.3252	32.1957	8810
+-119.4238	28.568	4279
+-113.3684	32.9404	5871
+-114.5575	36.0165	5939
+-119.6434	30.0262	5440
+-123.5474	48.3587	7919
+-83.6677	30.3928	6451
+-116.8288	41.823	4476
+-111.8839	33.3351	6939
+-91.3608	36.6569	6934
+-85.7865	38.8816	6202
+-122.3965	43.5001	5758
+-85.4148	36.1723	5696
+-123.3131	48.8548	7483
+-112.2849	32.8428	6957
+-117.4067	32.4069	9082
+-116.8342	34.1991	9061
+-119.4558	43.631	6366
+-119.2747	32.7179	7176
+-113.3613	36.3019	4665
+-127.2653	44.5992	4150
+-117.5315	32.3393	8928
+-90.5088	37.927	8527
+-112.7086	28.4498	5213
+-116.2193	31.0108	7573
+-112.3516	31.077	7219
+-81.2722	27.6227	8905
+-110.7705	33.0203	7846
+-116.5091	32.6588	9213
+-79.8493	30.8882	5516
+-115.8522	31.0638	7436
+-91.8416	40.1762	7226
+-79.923	27.9063	7387
+-115.8283	33.3129	8368
+-81.655	28.653	8753
+-92.107	38.0744	7429
+-81.7505	28.3758	9078
+-115.1376	31.8626	7452
+-88.1838	39.4511	7707
+-120.1603	34.197	6381
+-116.2749	33.8322	8407
+-80.8973	28.8197	8055
+-122.0888	43.6207	5824
+-109.8839	31.3459	8923
+-118.0155	45.9413	8931
+-116.6477	45.1354	7250
+-116.5078	31.6799	8386
+-121.8996	31.0161	3895
+-86.8932	36.3931	7273
+-98.2967	41.8724	255
+-91.5069	37.6159	7704
+-115.562	34.0316	7675
+-121.6948	46.7419	8259
+-94.3192	39.4408	5117
+-118.4586	35.2654	7745
+-117.5377	33.1482	9016
+-83.0265	27.7182	8880
+-108.7374	29.2758	6434
+-110.6299	32.6617	8262
+-89.4721	41.8951	5895
+-117.6628	46.5575	8444
+-112.3103	27.4503	4510
+-119.218	33.8225	7382
+-85.3934	41.2135	4320
+-90.3098	38.4306	9071
+-122.3019	47.4297	8775
+-118.7387	35.0646	7638
+-83.4093	27.9596	8432
+-122.2787	46.1454	8475
+-122.3042	47.2282	8891
+-118.6377	47.4736	7758
+-118.7004	45.9852	8802
+-120.5267	47.2128	6985
+-92.8124	33.8803	3559
+-121.8452	45.5957	7706
+-109.659	33.1121	7663
+-94.4948	37.8028	4877
+-117.5296	32.3479	8936
+-94.572	40.4021	4571
+-106.1179	31.8796	4895
+-88.6767	38.0397	9384
+-111.4211	30.5589	7855
+-88.6522	38.628	8728
+-90.7622	40.9537	7014
+-122.7625	49.5098	6808
+-118.8756	33.606	7691
+-114.282	33.7782	6572
+-119.9199	47.4829	6991
+-112.5017	31.2626	7099
+-92.6278	40.4046	6419
+-91.477	37.1145	7304
+-117.7204	31.7231	8271
+-81.8721	27.6872	9584
+-113.4534	36.0495	4883
+-121.6267	48.428	7477
+-88.4595	40.2631	6786
+-120.2888	44.0222	6202
+-116.5847	35.3595	8007
+-123.5471	47.955	8308
+-110.4058	32.6969	8265
+-89.8929	37.3968	8515
+-80.7823	25.6866	7086
+-89.8456	38.6835	8840
+-118.0014	35.4105	7931
+-123.5558	44.6991	7013
+-83.8434	28.9782	7521
+-87.4171	38.9583	7718
+-113.984	30.9072	5803
+-92.4038	39.9051	6916
+-80.2347	25.7767	6781
+-118.4024	46.7829	8526
+-89.7048	40.7595	7138
+-124.6385	46.8223	7690
+-89.8717	37.3676	8530
+-117.6104	33.5536	8803
+-119.0237	45.9184	8453
+-121.9519	48.0802	7999
+-123.9699	44.1475	6293
+-89.9361	41.4512	6473
+-120.8091	45.35	6470
+-89.1994	37.9285	9247
+-119.635	42.495	5183
+-79.2714	27.7825	6655
+-116.0109	45.9414	6848
+-81.0171	27.3721	8553
+-118.8534	35.4716	7274
+-115.9042	28.5534	4852
+-79.1397	27.2856	6462
+-89.9532	34.1695	5670
+-118.4275	47.7861	7468
+-123.1905	42.8232	5043
+-118.443	46.4201	8882
+-80.8247	24.7342	6156
+-119.5155	33.251	6903
+-123.1174	46.0122	8531
+-88.3165	35.2723	7081
+-121.4253	45.5726	7377
+-117.7152	46.4689	8543
+-93.3517	41.6252	4970
+-117.7882	47.4514	7736
+-96.4696	38.3804	2852
+-115.5984	44.2352	5798
+-89.0703	36.2939	8238
+-88.261	36.5402	8430
+-116.8077	36.6106	6790
+-114.2815	31.2914	6308
+-112.973	30.4769	6373
+-89.9108	37.9065	8382
+-119.2103	28.9934	4808
+-120.5573	34.6538	5904
+-110.6031	30.4873	8251
+-87.8665	41.0139	5776
+-112.6852	31.7328	6920
+-113.5019	34.0863	5637
+-120.8844	48.9159	6526
+-91.3757	37.3354	7562
+-114.8318	33.9289	7068
+-118.1377	31.367	7674
+-126.255	46.6487	5904
+-88.5693	42.7594	4681
+-89.2433	40.0531	7558
+-89.2571	40.8692	6838
+-119.7629	42.9715	5595
+-114.2427	48.3546	4360
+-117.0468	38.344	4939
+-121.1064	45.1953	6837
+-116.9051	36.5835	6836
+-114.3903	34.8365	6308
+-121.3986	45.7352	7473
+-119.0134	33.7261	7581
+-117.2401	32.7024	9422
+-81.1326	29.6883	7441
+-86.6901	33.7314	4821
+-114.8256	34.207	6874
+-89.0931	40.7267	6880
+-90.482	40.2651	7788
+-83.8088	29.7623	6944
+-80.8546	27.7195	8445
+-114.8309	32.5485	7352
+-117.6324	45.0678	7968
+-117.228	32.4006	9205
+-123.5486	49.7491	6467
+-119.4774	33.1428	6895
+-114.7511	36.6734	5638
+-90.1879	35.4163	6828
+-117.7627	46.1253	8709
+-92.0231	38.5736	7647
+-120.0018	48.1144	6456
+-87.5233	38.7213	7985
+-81.849	27.7238	9567
+-118.9382	34.4626	7679
+-84.8649	31.1219	4998
+-108.1544	34.2004	5784
+-126.9731	48.9837	4613
+-115.5601	45.2404	6236
+-93.33	37.4018	5932
+-88.9099	39.611	7585
+-123.1886	46.2327	8740
+-118.9457	32.666	7539
+-123.6763	46.948	8753
+-84.4172	29.5062	6644
+-118.0984	45.243	8332
+-117.1173	33.7056	9044
+-87.7075	39.2322	7693
+-115.0333	34.0952	7101
+-121.0247	32.3402	5195
+-93.9746	37.8309	5429
+-109.471	32.9759	7699
+-125.5379	44.8064	5860
+-83.154	29.1109	7983
+-83.0553	26.708	8304
+-87.2785	26.4181	3875
+-87.0932	37.8539	7925
+-89.9106	36.2008	7728
+-127.4778	49.0438	4083
+-117.1869	46.433	8047
+-121.885	49.6023	6503
+-122.91	45.9943	8538
+-79.2992	28.0381	6671
+-78.9849	28.1001	6310
+-79.6861	28.8091	6883
+-119.6826	33.4671	6804
+-123.0032	45.1517	7609
+-123.6059	43.5224	5744
+-93.2558	39.3702	6257
+-111.6173	32.4726	7781
+-118.4908	38.7349	4344
+-89.541	39.5639	8162
+-120.3461	46.6107	7010
+-80.5374	26.2077	7368
+-115.2836	33.532	7713
+-81.5635	30.5024	6731
+-116.5797	44.2247	6577
+-89.1616	39.2046	8019
+-80.3062	28.8004	7517
+-89.3187	36.9511	8801
+-118.0448	31.2377	7620
+-82.4148	32.1366	4938
+-119.0206	46.4762	8384
+-121.349	34.3026	5081
+-114.5912	31.5845	6768
+-83.7426	27.433	8033
+-122.6389	48.7484	7628
+-117.521	34.6971	8863
+-118.8553	31.3867	7111
+-117.1513	34.033	9371
+-120.3559	36.0366	5580
+-115.8564	37.3616	5695
+-123.1358	46.4126	8945
+-107.9914	29.4337	6029
+-115.4914	46.1521	6303
+-81.5421	30.4854	6745
+-121.867	47.3273	8404
+-79.4309	26.7761	6636
+-82.328	25.926	7798
+-84.428	31.7245	4717
+-80.4828	24.7355	5988
+-117.9949	44.8894	7943
+-117.6216	44.4233	7352
+-116.569	34.5794	8635
+-118.2938	29.8344	6112
+-118.429	40.957	3811
+-92.8042	36.0687	5531
+-120.4723	44.3117	6267
+-125.2943	44.8024	6060
+-118.0356	28.722	5033
+-88.9175	36.4824	8476
+-111.9281	34.2071	6147
+-91.505	36.7664	6968
+-80.8155	29.7839	7166
+-119.4666	45.6596	7923
+-123.266	49.1812	7140
+-81.2232	24.0087	5518
+-122.4412	45.9318	8363
+-82.9332	25.1726	6821
+-89.6958	34.5382	6152
+-116.7584	32.444	9277
+-88.5782	37.9149	9465
+-91.8664	37.8871	7575
+-84.4428	25.2889	6060
+-124.08	44.4248	6527
+-116.2822	32.296	8794
+-78.7647	29.5335	5589
+-85.5864	29.1671	5677
+-114.6959	31.6315	6896
+-88.5977	42.5237	4925
+-114.0488	33.2545	6462
+-84.3344	29.0364	7018
+-108.7858	32.0442	7724
+-110.2387	32.8149	8135
+-80.6276	28.5405	7977
+-123.1154	44.3585	6731
+-119.5396	48.3228	6556
+-119.0079	33.1728	7369
+-119.8822	43.8452	6333
+-114.3568	41.7697	3070
+-120.6089	47.9537	6865
+-112.5449	32.6775	6800
+-111.5458	29.9081	7233
+-118.3649	48.0025	7244
+-109.9948	31.7724	9053
+-80.3495	29.0446	7410
+-115.0835	37.0379	5574
+-80.9469	26.3132	7770
+-117.3078	28.6072	5042
+-116.2235	33.7641	8331
+-87.7392	33.9456	5483
+-117.4761	35.4523	8081
+-118.2326	34.1411	8484
+-120.6342	44.3172	6136
+-123.8328	43.5572	5723
+-112.2567	29.4655	6374
+-120.8072	34.6644	5633
+-113.2025	31.5105	6364
+-92.8759	40.9246	5859
+-87.4463	42.8639	3976
+-117.0828	29.7396	6318
+-121.5026	48.1942	7563
+-118.3873	47.2379	8050
+-79.0359	27.2311	6336
+-89.9238	39.6513	8334
+-84.2707	27.0387	7338
+-91.5853	38.2259	8011
+-81.8284	25.6784	7505
+-120.9639	49.2552	6313
+-112.9889	32.581	6400
+-90.39	36.273	7414
+-119.3741	48.9333	6045
+-114.935	37.0235	5487
+-82.627	27.3086	9131
+-114.5934	32.6708	7101
+-80.4205	27.6448	7950
+-107.9135	30.56	6627
+-92.6997	41.7979	5298
+-121.7522	47.141	8331
+-80.1528	29.6452	6804
+-119.1163	32.1256	7234
+-119.5197	44.8294	7383
+-121.5218	31.6255	4501
+-111.6368	34.5911	5922
+-118.9413	34.4782	7673
+-91.2023	36.7537	7099
+-109.2997	31.0168	8197
+-113.3156	35.408	5009
+-120.3491	30.1808	4970
+-116.6026	37.6769	5605
+-81.8984	27.623	9581
+-91.0564	36.2063	6588
+-122.8569	44.9603	7402
+-122.9028	46.3008	8875
+-105.9195	31.0726	4659
+-109.8384	34.6462	6112
+-111.6666	33.2096	7195
+-117.1748	45.5326	7942
+-118.5289	33.2069	7830
+-120.6917	49.0501	6271
+-118.8994	36.6207	6292
+-115.5529	35.6566	7037
+-121.4299	49.5469	6344
+-89.3972	39.4038	8149
+-86.9961	39.0306	7306
+-118.0252	33.6841	8576
+-119.0422	35.5332	7071
+-83.1426	28.3036	8599
+-88.2263	39.391	7786
+-119.1197	34.9586	7325
+-110.6655	32.905	7997
+-109.8751	33.8994	6916
+-121.8064	32.2487	4317
+-87.8391	37.9442	8728
+-120.144	47.0371	7054
+-122.3373	43.3212	5554
+-122.2006	45.9418	8243
+-87.6912	38.1194	8505
+-89.4335	38.5697	8382
+-118.8227	32.8426	7682
+-80.1423	25.4547	6441
+-117.8168	33.1648	8728
+-89.9743	38.2489	8727
+-84.9386	36.7405	5394
+-87.6644	36.2021	7758
+-111.5829	32.8605	7538
+-82.6184	27.8375	9338
+-115.9187	36.8317	6248
+-90.877	39.0824	8783
+-118.7155	42.5294	5451
+-91.3214	42.2482	5521
+-118.0059	39.9254	3169
+-80.0141	27.9133	7489
+-82.1943	30.861	6391
+-116.1426	44.11	6165
+-117.6316	32.1281	8685
+-87.1257	40.157	6467
+-125.4558	46.5465	6761
+-91.8297	37.4453	7325
+-89.4676	38.6566	8432
+-117.5079	32.7824	9148
+-120.6723	45.0551	6499
+-81.1662	28.641	8417
+-90.5383	36.3088	7310
+-117.0984	31.8719	8689
+-108.0702	30.7977	6878
+-88.4584	36.339	8286
+-116.9381	45.3483	7629
+-111.074	33.9973	6738
+-113.8939	45.3005	4535
+-115.2281	34.1613	7314
+-90.7963	36.7868	7262
+-85.4944	28.3524	6033
+-112.0549	30.6711	7363
+-117.349	36.8796	6541
+-91.8056	36.8551	6871
+-87.1139	36.8121	7727
+-92.595	36.3585	5913
+-89.653	37.7129	8819
+-120.8746	47.5653	7286
+-92.6314	40.026	6638
+-123.0414	44.4983	6890
+-115.2222	32.9329	7803
+-85.8651	37.5801	6557
+-92.0491	39.8907	7248
+-90.3494	37.8777	8483
+-90.4546	39.2678	8861
+-115.781	33.9978	7911
+-105.2587	28.6386	3117
+-89.884	35.9433	7510
+-111.616	29.1654	6508
+-114.8316	30.8243	6496
+-109.1268	30.2726	7543
+-116.9759	36.5384	6895
+-116.755	32.5537	9376
+-87.9008	35.6014	7302
+-117.698	47.3777	7772
+-121.4564	30.6747	4204
+-119.6111	45.4118	7677
+-92.5955	39.3029	6967
+-113.5888	35.1781	5367
+-78.1533	27.2243	5348
+-122.223	45.8113	8135
+-117.8899	34.4274	8786
+-120.4287	48.0832	6627
+-117.4354	35.916	7585
+-89.2534	34.1204	5798
+-109.2614	31.4104	8297
+-109.9366	32.8858	7998
+-119.3393	43.6558	6441
+-111.4309	31.5468	8284
+-116.9309	33.0533	9486
+-105.4956	32.1242	4199
+-90.4057	37.7928	8392
+-125.1061	43.8633	5423
+-119.4768	44.6205	7247
+-88.0429	38.6645	8431
+-88.4385	37.3899	9334
+-120.9333	46.4383	7369
+-117.4233	30.0036	6574
+-89.5887	38.615	8556
+-120.6135	44.5977	6324
+-111.9803	34.6389	5713
+-77.9962	29.2628	4915
+-119.2355	46.1351	8251
+-120.6584	34.1475	5838
+-83.0242	28.397	8658
+-114.3495	37.7146	4499
+-119.5124	40.5164	3205
+-111.0251	32.7814	7975
+-84.9667	38.0638	5526
+-87.8843	40.1261	6881
+-120.6154	34.0031	5882
+-93.2919	37.9633	6177
+-118.2569	32.0945	8104
+-91.4874	41.4222	6308
+-84.2818	39.395	4420
+-86.8885	38.2205	7617
+-118.7091	33.3852	7765
+-117.0123	36.3013	7157
+-120.5445	45.0155	6605
+-114.8629	34.1409	6916
+-119.3261	30.9531	6399
+-109.3472	32.7973	7779
+-107.9246	27.76	4578
+-108.9288	30.7755	7718
+-123.4882	44.9514	7300
+-111.0273	33.7816	6976
+-114.5032	30.6977	6129
+-123.9459	48.7359	7348
+-83.1493	28.0677	8694
+-81.0564	29.405	7674
+-122.7993	44.721	7137
+-83.0582	29.5738	7596
+-116.019	31.0361	7503
+-78.3682	25.3725	4845
+-90.0152	40.354	7651
+-92.2877	36.0925	5900
+-117.3184	49.1305	5892
+-112.2395	33.5766	6485
+-112.9948	33.7566	5751
+-122.3323	45.4917	7870
+-122.2497	48.1289	8143
+-84.9714	39.4894	5089
+-89.9806	39.0816	8862
+-119.8124	42.887	5492
+-91.6584	40.7787	6842
+-108.3925	30.9465	7261
+-124.7022	44.4124	6172
+-120.378	32.5114	5933
+-88.5338	35.4443	7308
+-118.3063	37.7663	5416
+-117.8468	36.4417	6942
+-79.7833	30.5351	5784
+-117.2821	44.4812	7245
+-116.4816	34.963	8292
+-91.7859	37.3815	7312
+-86.5929	36.1688	6852
+-117.6447	32.9345	8985
+-116.8125	36.0806	7357
+-114.0905	34.1121	6234
+-121.4761	46.4469	7941
+-115.0205	47.4227	5532
+-123.4456	46.157	8534
+-83.6631	38.0773	4068
+-87.4425	37.8066	8320
+-118.9111	47.8096	7332
+-113.5266	29.9481	5587
+-114.3119	35.4959	5989
+-82.2467	29.4081	8031
+-113.6058	32.7293	6003
+-115.5911	31.6256	7723
+-90.361	39.5456	8566
+-116.6708	38.6654	4552
+-108.3857	35.9659	4277
+-122.2752	47.3149	8820
+-79.8711	28.3956	7236
+-119.5092	45.5195	7824
+-88.4599	34.733	6505
+-116.1393	45.4386	6884
+-107.7617	35.1959	4669
+-88.6593	37.0485	9112
+-81.7664	26.3803	8270
+-88.984	39.2117	7836
+-117.5891	28.624	5025
+-117.0714	34.9899	8579
+-117.9842	33.8658	8702
+-88.6941	38.8991	8429
+-121.7914	49.224	6843
+-121.9547	47.8096	8215
+-117.9552	33.43	8464
+-116.6981	33.0039	9388
+-90.1059	37.4201	7960
+-115.9452	33.6458	8285
+-86.8595	40.5388	5944
+-120.0921	43.8349	6191
+-85.0151	25.4113	5682
+-90.4659	35.2088	6462
+-109.6334	31.545	8714
+-118.2575	32.1034	8108
+-118.0526	37.6323	5626
+-121.1385	45.5688	7136
+-123.6577	46.8622	8766
+-91.0641	39.6372	8219
+-90.4381	38.9533	9197
+-109.1583	31.9822	8129
+-124.6321	44.0982	5925
+-117.8476	33.4425	8553
+-117.2326	46.8421	7898
+-112.7279	33.489	6158
+-116.6939	32.3114	9112
+-112.1146	33.1798	6882
+-124.7401	45.992	7319
+-118.5564	33.2975	7861
+-116.651	43.5078	6016
+-116.2204	33.474	8644
+-114.6129	46.7891	5305
+-116.4956	49.4217	5265
+-113.4494	31.2071	6073
+-90.4084	38.197	8828
+-117.5126	34.0705	9261
+-117.3459	32.7853	9328
+-80.9356	26.7238	8096
+-88.8105	40.701	6723
+-117.2558	46.1226	8172
+-118.1103	43.1031	6081
+-121.9736	43.0383	5172
+-115.199	36.9401	5735
+-83.2654	28.1893	8525
+-125.421	45.9339	6613
+-114.6636	45.3299	5341
+-89.5399	35.0157	6716
+-89.9378	38.8824	8923
+-81.4479	25.6465	7372
+-107.5606	32.4817	6316
+-115.0006	32.1737	7446
+-90.0677	37.0275	8188
+-90.2337	38.5331	9140
+-89.4899	36.7486	8504
+-93.0347	37.638	6325
+-86.9975	37.1824	7756
+-118.8118	36.1193	6793
+-84.4415	27.8973	7277
+-88.3351	40.907	6218
+-110.8809	31.6958	8868
+-82.4986	25.8531	7689
+-110.8668	29.0238	6641
+-113.5968	35.1372	5388
+-90.3581	40.3293	7722
+-90.2433	36.8559	7924
+-115.8395	32.7997	8495
+-114.6822	44.4445	5063
+-111.9317	32.0373	7673
+-120.5858	45.7689	6797
+-79.8669	24.6339	5518
+-119.5895	47.4249	7290
+-86.8631	38.6826	7393
+-94.6924	39.0051	4772
+-78.2237	27.1777	5419
+-86.4263	31.4405	3500
+-118.9999	32.2406	7396
+-124.3196	47.699	7851
+-118.1089	31.5141	7820
+-109.3678	29.7792	7257
+-90.9436	41.1673	6750
+-114.2164	29.2651	4743
+-123.315	43.9149	6223
+-84.1627	25.8826	6760
+-118.7286	47.3596	7846
+-84.5922	28.6444	6939
+-112.6536	30.4037	6653
+-89.7762	38.9034	8749
+-119.4551	31.3438	6527
+-119.984	34.7173	6506
+-124.3692	49.8097	6090
+-118.8195	45.1937	8145
+-114.5082	30.4492	5946
+-116.8789	28.7593	5226
+-120.3233	46.495	7060
+-124.5115	48.9738	6778
+-121.9557	47.1722	8544
+-112.3567	34.9269	5239
+-89.1274	36.6561	8611
+-110.7919	33.608	7224
+-121.6338	40.2822	2150
+-90.9756	36.7128	7138
+-109.8344	30.1616	7841
+-81.7611	28.8615	8584
+-92.2038	36.2413	6083
+-114.8545	35.3988	6567
+-77.7726	27.4444	4945
+-119.8751	43.5363	6065
+-85.8541	40.3653	5358
+-117.3227	33.3751	9014
+-114.5508	36.1636	5839
+-93.3392	40.4939	5725
+-108.7965	30.894	7649
+-116.592	43.5066	5981
+-119.617	47.3936	7293
+-121.4127	45.2831	7138
+-117.9241	34.1744	8819
+-86.9698	39.1885	7171
+-120.7312	46.8583	7221
+-119.6651	33.8473	6903
+-89.4249	38.2076	8858
+-119.4414	45.1397	7667
+-115.9805	37.233	5877
+-117.4085	32.3508	9037
+-79.9263	29.2917	6857
+-80.181	25.5526	6553
+-116.0254	33.0655	8667
+-119.2693	35.0442	7138
+-119.1481	35.3224	7110
+-85.0745	26.5125	6275
+-91.1492	35.4719	6179
+-123.5784	47.346	8752
+-82.6855	31.2487	5904
+-86.3332	41.6797	4546
+-89.7569	37.483	8685
+-123.1329	46.7956	9289
+-119.164	46.6324	8171
+-109.1762	29.0704	6476
+-113.3137	35.0695	5107
+-116.9726	30.8604	7571
+-88.5212	37.4559	9453
+-92.142	41.8877	5547
+-78.784	30.3311	5120
+-114.4795	44.50	4890
+-111.599	32.5519	7747
+-88.5077	43.1023	4316
+-78.9196	28.1759	6227
+-111.9984	31.2736	7639
+-123.2988	44.9795	7380
+-119.8836	45.8386	7543
+-116.89	47.7132	7003
+-90.3442	38.0653	8685
+-124.212	44.5957	6629
+-82.5141	29.6879	7677
+-111.654	29.8495	7112
+-83.0083	37.1548	3326
+-114.3698	28.6562	4283
+-90.9332	40.6626	7279
+-86.9474	36.2802	7248
+-116.7817	32.7779	9542
+-117.8787	33.4874	8567
+-89.7583	38.6799	8746
+-82.3623	26.0082	7886
+-124.2898	47.4107	8003
+-117.9357	32.643	8655
+-87.2177	35.3486	6686
+-79.1255	27.3988	6464
+-82.7913	27.2608	8953
+-120.8342	42.4584	4552
+-116.4309	33.9904	8613
+-85.8877	36.7261	6416
+-109.2423	30.2479	7605
+-91.7174	39.1175	7933
+-122.4964	49.6822	6590
+-116.1714	49.5902	4940
+-112.4301	32.1286	7126
+-119.2569	47.8157	7171
+-91.9427	39.4505	7582
+-124.2145	47.9718	7788
+-124.4939	46.7588	7840
+-115.4823	34.1481	7591
+-116.0151	34.8493	7965
+-118.4555	34.9677	7953
+-117.423	30.8451	7496
+-126.3055	46.7243	5855
+-86.5368	33.8568	4860
+-89.3882	37.9752	9036
+-86.7423	37.4451	7529
+-112.8237	31.7653	6768
+-91.5291	39.0038	8159
+-81.5052	27.0072	8778
+-117.9344	30.0202	6452
+-83.9005	26.9653	7697
+-89.4224	38.9147	8374
+-82.3511	25.275	7063
+-109.68	35.4689	5205
+-81.4226	29.2486	8033
+-121.8873	49.8836	6214
+-82.0957	30.0455	7314
+-116.4202	35.3072	7959
+-117.2064	33.0719	9362
+-108.9868	31.9338	7966
+-117.7356	34.1252	9026
+-121.1453	47.2314	7657
+-86.5298	37.3385	7278
+-84.794	28.3535	6810
+-121.3859	36.7583	4210
+-116.3457	31.6638	8292
+-119.1422	44.656	7481
+-118.5593	47.3395	7916
+-117.7718	46.2705	8690
+-93.8244	36.3531	4904
+-90.0371	38.2485	8768
+-92.8159	39.7912	6572
+-89.9351	39.7996	8194
+-110.6324	32.7248	8195
+-110.3615	33.1564	7769
+-110.927	36.1874	4444
+-114.8829	30.9933	6665
+-111.3075	29.1513	6635
+-82.0007	29.8164	7569
+-88.0902	39.935	7157
+-105.8547	32.9678	4395
+-109.8885	29.7894	7471
+-114.7249	29.706	5476
+-86.6888	33.619	4709
+-117.0677	45.457	7804
+-90.3818	37.9995	8615
+-117.6526	33.2167	8867
+-84.121	24.134	5208
+-89.8826	36.624	8101
+-117.192	34.0579	9422
+-107.9271	27.9285	4733
+-113.6023	45.1203	4195
+-117.3353	32.7366	9332
+-86.0561	41.0633	4936
+-116.0002	46.0629	6842
+-79.3659	24.2659	4844
+-115.9648	31.4012	7819
+-92.7323	37.2512	6421
+-119.6476	32.7234	6761
+-116.7596	31.6021	8379
+-109.543	31.9383	8535
+-89.3975	39.7664	7898
+-90.4468	36.8154	7701
+-113.519	30.6094	5864
+-83.238	26.9849	8361
+-88.2666	42.5984	4690
+-116.3317	35.2126	7980
+-80.8201	30.981	5964
+-89.9424	40.6844	7286
+-123.085	48.4429	7972
+-93.4193	40.2485	5775
+-121.6065	48.0476	7754
+-116.4426	33.5897	8711
+-88.4924	37.7718	9485
+-118.5298	32.4571	7964
+-81.6746	28.7365	8679
+-86.4353	35.5522	6283
+-118.7092	43.8219	6806
+-116.751	44.3603	6805
+-111.0193	37.1814	3363
+-81.8113	29.1391	8297
+-116.2456	32.4097	8829
+-119.1485	45.5411	8170
+-108.3335	34.2603	5853
+-86.8425	38.8583	7274
+-117.687	45.7279	8516
+-117.4747	35.4252	8110
+-117.3445	34.641	8978
+-122.2192	46.2438	8515
+-92.3647	37.015	6586
+-91.3574	32.1045	2928
+-92.9263	36.4444	5725
+-88.034	37.3551	8922
+-116.2147	33.1132	8851
+-117.7639	31.2076	7750
+-116.7879	34.4263	8926
+-116.3997	32.5315	9045
+-91.8554	39.8941	7415
+-116.3113	34.515	8416
+-111.3565	33.4395	7177
+-114.0654	33.2618	6479
+-83.3384	27.8619	8525
+-119.428	36.6938	5883
+-115.736	33.5904	8131
+-122.2806	46.664	8849
+-79.8191	26.803	7056
+-120.27	35.5714	5905
+-118.2362	47.1335	8165
+-111.0013	29.9744	7586
+-81.7386	28.9302	8502
+-91.1772	39.184	8449
+-88.9766	38.16	9213
+-113.2661	31.6701	6295
+-107.8786	32.914	6448
+-118.3627	31.9953	7946
+-81.5538	30.0092	7272
+-118.6542	35.7506	7213
+-80.2555	25.5575	6612
+-113.9092	35.5609	5558
+-112.3282	33.8284	6219
+-112.5528	28.6938	5526
+-89.0373	41.2171	6395
+-122.8174	41.2311	3304
+-84.169	28.657	7379
+-92.3021	37.5147	6965
+-86.9771	37.261	7756
+-89.1135	38.8087	8475
+-117.3862	35.5935	7940
+-116.5469	47.0613	7159
+-93.0975	39.0403	6482
+-119.666	35.7465	6384
+-107.9284	30.4729	6604
+-117.7104	48.6902	6451
+-92.2335	39.9604	7041
+-119.4577	48.6556	6282
+-120.4857	47.4653	6898
+-110.1459	30.0604	7811
+-85.7366	40.5326	5133
+-113.9099	33.5209	6254
+-92.0937	40.6231	6690
+-80.0547	30.0006	6440
+-88.9603	38.3582	9008
+-119.1946	31.7412	6993
+-127.1601	47.4885	4891
+-85.1945	33.8878	3979
+-87.8976	37.3296	8769
+-92.4254	39.875	6911
+-115.8966	33.4239	8380
+-116.532	38.86	4320
+-91.3711	38.7298	8359
+-118.2178	33.0412	8335
+-121.314	46.5962	7817
+-116.3513	48.8765	5678
+-117.7185	32.7798	8913
+-125.3108	45.7541	6641
+-125.3357	43.6825	5114
+-90.4735	38.9966	9141
+-121.5887	46.55	8095
+-110.53	36.8018	3816
+-88.3096	37.9025	9238
+-110.7684	36.1268	4528
+-109.8497	30.0514	7733
+-90.3919	41.0996	6892
+-80.6582	31.0982	5770
+-86.4699	41.5274	4772
+-123.2716	46.4626	8918
+-107.8668	31.4076	6794
+-122.456	46.4623	8868
+-80.8754	28.5992	8186
+-122.1757	47.6848	8485
+-82.8839	25.5821	7279
+-112.18	32.119	7390
+-88.7085	35.9671	7907
+-116.9852	35.9482	7534
+-124.0472	44.9672	7074
+-115.6603	35.302	7371
+-83.3131	33.8282	2906
+-116.0837	32.0544	8452
+-81.0451	30.2683	6806
+-114.6063	44.9587	5183
+-82.9249	26.4731	8177
+-84.9199	36.6596	5352
+-118.2741	29.679	5961
+-112.7619	31.9715	6809
+-91.9598	35.0835	5123
+-119.1507	42.9556	5806
+-118.9174	33.2724	7507
+-117.5529	31.419	8062
+-89.3509	38.6239	8303
+-110.52	30.0064	7753
+-117.1994	33.3884	9064
+-118.4696	46.4443	8846
+-120.0098	35.1546	6345
+-117.2222	49.4826	5506
+-126.0495	48.6118	5702
+-89.5306	38.3571	8412
+-117.3067	33.9152	9296
+-83.7142	27.443	8067
+-115.9377	30.3561	6778
+-87.6189	40.0265	6869
+-86.5123	37.5564	7282
+-117.7015	31.1289	7700
+-91.2982	38.3491	8348
+-79.1538	27.5701	6514
+-88.608	36.8137	8842
+-111.5834	28.9591	6324
+-117.6257	47.4253	7694
+-116.7674	32.5212	9355
+-86.2298	25.9902	4841
+-110.0583	33.8687	6980
+-114.9342	45.7905	5698
+-88.3233	36.2129	8110
+-86.8109	38.0402	7580
+-108.6089	32.0055	7550
+-120.6253	46.3837	7026
+-116.5119	49.0726	5596
+-115.475	34.368	7567
+-89.6781	35.7954	7479
+-116.7488	34.5945	8782
+-118.0444	35.0862	8196
+-123.1218	47.8875	8565
+-88.4957	40.7998	6421
+-119.0008	45.9044	8473
+-90.5453	39.651	8438
+-90.2477	36.6479	7798
+-82.5471	25.9492	7784
+-116.5137	30.8947	7550
+-125.4734	45.6357	6423
+-109.65	30.8008	8348
+-123.101	46.8873	9369
+-85.9654	37.5164	6666
+-90.9364	36.4348	6859
+-79.4782	28.111	6863
+-91.468	37.956	7975
+-117.5816	31.7231	8354
+-108.8107	31.3317	7802
+-89.3211	37.4601	9151
+-115.723	35.4758	7306
+-110.3335	28.9904	6664
+-114.499	32.0934	6885
+-114.9085	33.2979	7395
+-109.4691	33.3197	7372
+-79.2635	28.466	6551
+-81.7126	25.8987	7726
+-118.3928	31.8413	7826
+-117.1181	32.0799	8914
+-89.5792	38.5311	8526
+-118.5557	47.4822	7769
+-115.2255	35.0017	7118
+-108.951	31.8539	7947
+-121.8035	48.6283	7419
+-119.0102	34.0493	7634
+-122.1248	44.6558	6928
+-116.3049	30.4133	6972
+-117.5781	31.129	7751
+-87.6003	37.8943	8481
+-119.5254	37.5122	5104
+-90.3907	36.9532	7824
+-109.676	33.0595	7723
+-116.7906	45.2093	7420
+-87.9168	39.1595	7886
+-92.8323	38.7219	6785
+-110.0235	32.2629	8664
+-120.8752	48.2551	6969
+-124.5544	48.105	7400
+-117.2942	45.8138	8170
+-83.4185	30.5085	6467
+-80.6964	30.0904	6801
+-123.3896	46.0097	8425
+-108.3071	31.3549	7264
+-88.9905	37.2424	9277
+-118.5461	33.2696	7854
+-123.1874	47.7578	8681
+-118.3779	33.7281	8248
+-115.8334	31.1836	7536
+-120.6345	49.6041	5786
+-116.9732	43.7105	6374
+-112.2144	27.4779	4581
+-116.8074	35.0498	8420
+-125.7653	46.4391	6405
+-84.4643	28.4609	7141
+-117.1565	48.7558	6205
+-110.8627	34.2812	6495
+-120.933	47.8059	7257
+-88.2781	43.2323	4087
+-119.804	45.7621	7611
+-115.135	36.7943	5819
+-120.1162	49.2203	5671
+-80.3863	25.3441	6513
+-115.3014	44.3892	5620
+-116.2242	33.8272	8353
+-120.5443	45.4293	6763
+-83.80	29.7377	6972
+-117.4164	35.2199	8341
+-87.3621	37.2878	8182
+-116.1217	30.1233	6604
+-112.6689	32.3636	6806
+-81.402	30.0299	7202
+-90.6171	33.7172	4920
+-88.3973	36.2726	8197
+-117.1681	32.7098	9498
+-116.3001	30.8791	7467
+-93.0074	41.1259	5609
+-114.1077	32.1938	6489
+-123.0587	44.5249	6918
+-110.8951	31.9173	8765
+-83.0525	24.2245	5752
+-122.7621	47.2789	9231
+-81.964	27.8043	9696
+-86.329	40.6514	5489
+-81.9145	24.9231	6666
+-118.0544	37.8154	5430
+-119.4293	49.2032	5757
+-85.648	26.9605	5813
+-108.8205	31.7799	7821
+-111.6369	29.3792	6699
+-93.2219	39.218	6323
+-112.6616	28.1671	4994
+-118.4221	46.1248	9111
+-107.8176	31.9136	6725
+-83.2484	29.2373	7804
+-86.2749	28.1554	5186
+-86.9002	36.4525	7316
+-88.5506	36.87	8889
+-118.5448	46.0536	8979
+-118.336	34.5001	8305
+-118.9805	46.83	8191
+-114.9728	32.7557	7528
+-121.2101	29.1026	3463
+-79.6469	27.5744	7071
+-121.5846	47.9592	7796
+-87.4278	39.7973	6990
+-89.4268	38.1971	8864
+-108.6854	35.5823	4787
+-116.7954	30.6198	7295
+-118.5506	47.0212	8245
+-85.0421	26.989	6486
+-110.4873	33.386	7513
+-119.5628	48.6394	6249
+-114.4903	34.0195	6682
+-118.4046	42.2161	5145
+-115.8627	33.463	8326
+-83.8274	27.3283	7913
+-120.3142	33.1562	6047
+-122.2221	46.34	8592
+-116.9174	33.9941	9128
+-126.9948	48.5029	4801
+-108.4203	28.9365	5935
+-90.1169	37.3634	8262
+-107.1442	31.7999	6010
+-115.8724	32.7128	8527
+-90.5989	38.7292	9191
+-89.9597	40.7173	7255
+-120.2717	44.7701	6727
+-91.7664	36.235	6331
+-106.8008	30.6328	5510
+-89.1992	34.424	6144
+-117.1792	32.7519	9505
+-108.8158	33.5669	6768
+-90.1085	38.8794	9097
+-121.2959	43.8372	5743
+-116.5426	31.1563	7841
+-123.4436	49.7412	6500
+-89.6496	36.4747	8151
+-118.3296	30.6168	6866
+-113.5972	35.9474	5073
+-110.1671	32.9112	8024
+-116.8738	34.1022	9108
+-118.5197	48.3892	6823
+-80.1161	31.1615	5425
+-113.2174	29.5942	5678
+-116.953	46.6132	7750
+-85.0443	25.7784	5904
+-82.3552	29.0913	8373
+-116.6259	36.5412	6820
+-110.409	32.7234	8236
+-121.5693	34.1895	4844
+-121.1152	47.5964	7527
+-110.9068	27.8986	5433
+-116.2131	33.8644	8352
+-79.4441	27.4171	6824
+-118.5211	33.4507	7980
+-109.8774	30.0907	7783
+-92.5985	40.9812	6036
+-116.3181	43.0821	5446
+-119.3389	48.0325	6928
+-119.0797	29.86	5699
+-87.6972	38.2477	8449
+-120.2156	31.6169	5890
+-109.1028	29.7802	7108
+-117.1787	32.1605	8984
+-117.7352	31.2477	7804
+-79.7174	30.7881	5516
+-118.391	32.7349	8161
+-117.2643	33.4544	8797
+-89.4732	38.5134	8411
+-90.7555	37.4007	7916
+-113.3951	30.4252	5927
+-91.7639	39.8192	7542
+-118.6876	44.5779	7593
+-119.127	36.4281	6315
+-85.7869	24.3446	4229
+-120.018	46.887	7243
+-80.3381	25.3203	6460
+-117.8411	31.7827	8242
+-86.5896	39.4652	6645
+-85.0844	35.4385	4984
+-112.4829	35.9511	4199
+-121.9169	45.6812	7828
+-121.3767	45.2934	7120
+-119.0573	30.8223	6530
+-121.6758	47.499	8140
+-87.9686	40.1235	6915
+-115.9701	32.0694	8364
+-115.3604	33.8926	7442
+-78.0173	28.4723	5168
+-79.772	28.5134	7091
+-121.055	47.1057	7573
+-107.3473	26.888	3445
+-91.999	37.911	7462
+-116.3664	33.7586	8474
+-120.4292	48.1149	6613
+-90.4299	39.2238	8911
+-116.6482	35.8283	7570
+-116.3482	32.7532	9059
+-115.7743	33.0382	8400
+-78.1761	27.6507	5413
+-118.5531	46.3387	8879
+-82.3242	27.298	9320
+-93.0649	39.3599	6460
+-124.09	46.8017	8286
+-117.9975	32.7219	8598
+-115.7283	33.5272	8160
+-114.6416	31.4273	6732
+-119.1227	48.0394	7022
+-115.6344	35.9484	6875
+-118.0042	36.8617	6455
+-82.3506	27.7733	9646
+-116.4264	35.0029	8219
+-124.1499	45.7379	7681
+-117.5082	45.0463	7875
+-124.6286	45.5441	7147
+-109.2714	31.4589	8315
+-78.9186	27.2345	6206
+-121.3398	42.7478	4664
+-91.8816	40.8889	6610
+-122.5641	45.52	7975
+-88.1767	39.7919	7339
+-87.7325	39.6239	7330
+-112.7905	31.7422	6806
+-114.7445	45.8151	5501
+-80.9325	26.505	7922
+-114.2235	36.1209	5573
+-91.0381	40.6977	7210
+-90.6152	37.6624	8226
+-86.2198	40.0777	5878
+-115.6014	36.0597	6760
+-82.386	29.7763	7601
+-80.5128	28.2531	7978
+-117.5724	35.4785	8033
+-113.8742	29.326	4924
+-107.3435	31.5674	6234
+-89.2046	38.7106	8544
+-89.2491	41.6867	6031
+-119.4312	45.7495	7989
+-81.8517	24.8758	6606
+-91.6542	36.1084	6265
+-85.1702	25.9179	5870
+-82.3065	28.6399	8885
+-120.2929	33.0122	6018
+-116.952	33.5972	8860
+-119.5811	31.6715	6569
+-120.2066	35.495	6004
+-84.0346	27.1608	7635
+-84.6382	30.7414	5493
+-89.1384	40.9452	6704
+-115.7901	35.5857	7279
+-81.6035	28.6878	8690
+-120.1257	45.153	7067
+-91.2251	37.4156	7724
+-120.0313	32.066	6233
+-108.9431	32.4601	7693
+-88.4965	38.0032	9330
+-89.3447	35.6383	7448
+-119.7846	44.6566	7055
+-110.5378	32.0104	8960
+-107.6158	33.1745	6062
+-86.1977	37.9663	6912
+-119.5594	45.4662	7752
+-119.3475	44.8864	7551
+-119.1426	48.8061	6254
+-118.285	32.7106	8278
+-88.9829	37.1755	9213
+-89.3763	38.7362	8339
+-122.9274	48.086	8376
+-87.8693	36.2414	7925
+-121.5916	45.397	7361
+-88.6834	35.0932	6926
+-109.7124	29.8997	7529
+-118.9234	43.7745	6706
+-117.8359	33.8025	8820
+-89.869	37.4216	8548
+-82.7924	27.4797	9079
+-118.2463	45.8198	8961
+-81.493	26.2176	7996
+-93.1634	37.3858	6087
+-90.5412	37.5858	8158
+-90.8832	34.32	5371
+-122.8391	45.4159	7901
+-118.0951	47.9884	7251
+-118.4226	47.4616	7811
+-92.0923	39.0689	7550
+-114.1165	34.3882	6090
+-114.6171	30.6591	6195
+-119.7851	34.0597	6789
+-87.6561	35.4431	7026
+-91.5621	36.3656	6557
+-120.8522	48.3361	6900
+-117.0105	45.6233	7821
+-118.2797	32.6596	8278
+-81.5123	24.2321	5832
+-112.2053	32.8265	7039
+-122.4889	45.4557	7886
+-78.5937	28.9466	5671
+-82.9114	29.3314	7915
+-118.0871	34.0136	8633
+-116.9027	35.9346	7533
+-90.4514	40.2033	7856
+-115.9114	34.192	8058
+-86.6625	38.5412	7257
+-116.6816	31.4825	8231
+-116.0596	36.1839	6942
+-121.9018	44.1694	6343
+-90.3827	40.3517	7698
+-114.9639	44.078	5144
+-117.5103	46.399	8383
+-90.5964	35.049	6231
+-118.4429	46.5799	8725
+-110.4069	30.1218	7888
+-79.1179	28.7554	6302
+-120.9266	33.6805	5515
+-119.9614	44.5296	6826
+-87.7664	36.5771	8155
+-81.1081	28.7255	8304
+-89.6861	35.9147	7595
+-117.0638	45.6763	7893
+-81.1945	27.4035	8754
+-111.6658	35.8007	4682
+-118.792	31.7603	7400
+-122.5035	49.6277	6650
+-113.3027	32.3373	6154
+-114.8005	34.0756	6847
+-123.4472	49.5086	6749
+-120.7476	45.6713	6611
+-88.4567	39.0532	8220
+-119.9852	41.3349	3902
+-121.4678	33.4362	4892
+-119.2804	45.6052	8082
+-94.663	36.125	4013
+-116.9812	36.017	7460
+-120.004	45.6201	7369
+-117.0038	34.9561	8596
+-118.1879	31.2972	7578
+-82.5033	28.0367	9374
+-117.4532	42.1668	5003
+-122.2658	46.2839	8582
+-116.3952	32.8575	9114
+-123.304	46.0112	8466
+-81.3183	27.831	8968
+-90.4348	37.1942	7747
+-115.4684	46.6079	6231
+-90.5528	38.6808	9227
+-114.1161	43.6247	4127
+-121.503	45.3828	7286
+-88.5192	39.603	7623
+-81.7328	28.0082	9363
+-117.0051	36.3023	7155
+-79.3182	25.1161	5518
+-112.1743	32.1607	7383
+-88.3455	37.6087	9338
+-88.83	36.271	8248
+-117.1679	33.0058	9445
+-113.9527	34.3405	5916
+-111.0396	30.5216	8092
+-86.2414	38.7587	6727
+-109.1935	32.5449	7858
+-121.8611	48.871	7223
+-123.807	45.6137	7817
+-119.5447	46.628	7812
+-81.2453	27.9435	8868
+-89.0949	39.3835	7877
+-121.0338	44.2096	5949
+-117.7171	35.8138	7640
+-109.6159	30.9513	8438
+-91.2968	37.9146	8090
+-108.612	31.4002	7598
+-127.2605	46.8401	4814
+-83.3108	28.6657	8216
+-90.7765	36.9032	7389
+-126.3673	45.23	5346
+-87.315	29.3709	3756
+-92.3567	40.5714	6530
+-120.941	32.0208	5232
+-92.2772	40.8124	6406
+-81.8913	27.4195	9414
+-117.0776	33.0763	9438
+-119.6934	49.337	5521
+-123.9536	46.6727	8404
+-119.3512	40.429	3149
+-123.292	43.9451	6259
+-116.7584	36.6256	6763
+-112.7991	35.1297	4794
+-79.8345	29.1318	6868
+-89.744	37.6151	8716
+-89.7405	30.8846	2125
+-119.8486	41.2301	3843
+-115.5304	44.54	5909
+-115.8661	36.7644	6287
+-81.3624	32.4336	4541
+-118.7046	33.7655	7919
+-118.5627	33.5126	7970
+-91.0158	37.4166	7834
+-81.9323	26.4938	8435
+-109.6393	28.0247	5545
+-107.2379	32.1174	6070
+-88.1982	40.2704	6555
+-110.3747	34.3378	6489
+-91.3143	35.5527	6099
+-83.2633	30.1011	6958
+-83.7221	28.5682	7879
+-88.7953	35.7351	7647
+-89.1995	38.4741	8786
+-117.2221	32.5683	9355
+-116.1355	33.3545	8649
+-110.7694	31.2745	8895
+-118.3222	38.4022	4741
+-111.6233	31.1084	7984
+-118.5305	34.4085	8127
+-91.0655	38.0039	8335
+-84.6024	35.4222	4505
+-117.0686	31.8272	8643
+-82.98	25.7502	7418
+-116.086	32.7168	8764
+-85.263	29.8165	5660
+-115.2616	31.4666	7327
+-90.337	38.4268	9072
+-118.6044	30.3551	6455
+-90.4935	37.491	8062
+-114.7382	33.7589	7054
+-92.8044	38.5275	6804
+-116.5028	33.6777	8568
+-78.9095	26.8895	6113
+-81.3009	28.432	8687
+-124.7933	48.3974	6999
+-90.6231	35.785	6848
+-123.9552	49.1993	6893
+-88.3826	37.7261	9379
+-89.4738	37.5771	9015
+-118.0735	47.0083	8273
+-89.0694	38.096	9225
+-88.0467	37.8116	8991
+-91.0092	36.0976	6487
+-117.6756	30.554	7108
+-118.3427	44.8554	7941
+-122.6422	46.044	8554
+-88.5779	36.7179	8730
+-117.245	34.924	8675
+-81.6633	28.7267	8683
+-118.1982	35.2904	7917
+-92.2188	35.0298	4953
+-90.4247	37.6017	8186
+-90.4864	40.6531	7370
+-125.5293	46.7783	6710
+-117.3653	48.5759	6464
+-116.8191	33.3676	9117
+-118.055	34.1433	8678
+-124.3869	45.2594	7119
+-119.1615	43.902	6754
+-112.4773	31.8062	7138
+-91.6116	35.7558	5936
+-89.5416	37.4435	8910
+-116.502	32.4279	9077
+-121.1913	45.8409	7358
+-118.3968	33.5817	8166
+-116.1669	34.8554	8103
+-115.5275	33.5951	7928
+-84.7326	27.1485	6870
+-116.8913	48.1883	6603
+-125.3618	46.4395	6840
+-122.9107	47.6842	8818
+-116.7257	46.1162	7611
+-80.2578	24.3559	5489
+-117.1402	31.7199	8514
+-83.7186	27.9083	8092
+-125.2675	46.0863	6831
+-87.3802	37.0859	8128
+-117.6181	33.6791	8911
+-88.4922	38.3034	9036
+-116.5395	43.3077	5774
+-107.7585	33.2384	6157
+-79.2819	27.2306	6610
+-88.4637	36.9046	8895
+-91.6648	34.5084	5004
+-108.6607	31.3717	7647
+-117.7714	47.0478	8120
+-124.6403	46.4767	7620
+-85.9652	26.0275	5132
+-108.4177	33.578	6477
+-120.6083	45.9529	6793
+-119.2559	45.7473	8165
+-118.1826	47.5875	7682
+-88.7567	35.7103	7620
+-113.2074	33.9084	5468
+-118.8112	48.2891	6876
+-124.4021	44.7189	6636
+-88.1725	36.7278	8569
+-120.0816	34.6733	6411
+-93.2726	39.2962	6255
+-115.5589	34.4006	7652
+-90.7088	36.4379	7236
+-121.0038	42.3762	4376
+-109.377	32.951	7665
+-119.618	31.8682	6612
+-120.3423	33.8361	6167
+-115.0508	34.9649	6956
+-118.0213	30.8421	7256
+-120.2651	46.8578	7013
+-88.0281	38.5277	8541
+-121.0195	47.9048	7297
+-91.4763	40.0877	7562
+-109.5674	33.8234	6909
+-113.7631	37.2167	4447
+-125.8352	47.858	6236
+-83.8189	29.5755	7095
+-116.2436	34.7632	8227
+-115.2487	46.0884	6047
+-81.9979	26.8727	8870
+-86.5558	35.6225	6436
+-85.1304	27.5022	6488
+-121.1522	46.4803	7613
+-115.608	46.6725	6363
+-84.7073	29.5642	6341
+-122.2872	47.8031	8467
+-115.7343	37.09	5905
+-115.1201	35.9365	6480
+-77.296	26.4604	4224
+-88.7195	37.5944	9719
+-88.4808	37.9721	9345
+-113.0745	29.648	5838
+-116.9551	42.0206	4717
+-117.3624	34.7905	8813
+-84.0537	41.6711	2872
+-87.3843	38.1089	8186
+-113.9043	34.80	5799
+-85.6418	37.0238	6234
+-87.0072	37.0619	7727
+-92.3355	39.7874	7042
+-126.4065	47.4045	5724
+-123.4628	46.9974	8987
+-118.0555	32.8249	8538
+-88.4989	40.418	6712
+-110.4759	31.0587	8885
+-111.9318	32.5817	7432
+-120.5717	45.5715	6773
+-117.8007	31.6446	8148
+-81.8549	25.2916	7075
+-116.7648	46.5041	7596
+-89.8163	38.0264	8434
+-114.4433	30.1723	5676
+-84.8245	26.5383	6546
+-116.0901	30.8553	7357
+-90.9621	41.0451	6873
+-115.4364	48.3032	5448
+-111.8115	30.7549	7638
+-122.0203	46.1632	8297
+-112.9249	33.0302	6258
+-91.7153	36.5243	6629
+-123.5172	49.3532	6898
+-89.0395	37.5629	9488
+-114.7901	31.9528	7141
+-116.3047	26.8229	3027
+-118.9246	45.7385	8481
+-118.2932	33.9174	8394
+-118.5764	33.7662	8054
+-79.7592	29.4474	6601
+-120.3205	34.5067	6182
+-119.8514	35.9975	6062
+-84.4154	28.2385	7256
+-109.2181	33.6694	6911
+-89.7562	33.784	5318
+-111.8518	32.6208	7481
+-88.984	38.792	8528
+-117.3593	42.6321	5460
+-119.6276	48.6335	6223
+-119.4131	41.0389	3768
+-90.4841	37.9878	8596
+-119.3447	43.5079	6294
+-90.7824	36.8724	7355
+-124.0434	43.4737	5568
+-90.6568	38.4248	8966
+-117.5037	31.4224	8086
+-119.0623	34.8294	7437
+-82.7401	30.0083	7265
+-116.5517	35.8457	7514
+-89.2074	34.272	5973
+-80.0542	27.011	7390
+-111.4392	27.9173	5325
+-120.3601	35.4251	5881
+-90.0946	38.3703	8910
+-121.8757	45.7553	7863
+-90.0007	37.7729	8293
+-115.1306	29.5925	5614
+-88.1331	35.0602	6805
+-83.08	29.5719	7586
+-121.2504	45.7243	7337
+-79.3317	28.3484	6655
+-113.8493	45.7836	4553
+-109.9376	35.2257	5504
+-119.7746	43.6581	6230
+-124.2395	48.9365	6989
+-124.0608	45.8857	7864
+-91.9925	40.969	6470
+-116.8074	34.9364	8529
+-89.6791	38.0334	8711
+-117.0075	46.4268	7866
+-90.5087	38.9089	9206
+-110.7489	32.0267	8815
+-87.3199	35.8217	7184
+-108.8898	28.665	5946
+-115.6106	46.4225	6409
+-88.6472	39.6719	7306
+-83.7985	26.1158	7240
+-126.3905	49.10	5112
+-121.6488	46.5535	8159
+-91.1036	39.1552	8534
+-92.4812	41.3804	5798
+-120.2534	46.5252	7126
+-119.3352	34.3015	7274
+-115.6102	33.3956	8108
+-109.5604	32.9432	7779
+-117.8833	32.5725	8695
+-118.4928	35.101	7834
+-113.2939	28.6753	4977
+-82.4238	25.7968	7640
+-115.988	31.9817	8318
+-124.5633	48.3099	7257
+-90.1988	36.9578	8022
+-108.6283	33.2268	6908
+-119.6977	45.199	7485
+-92.3151	40.8866	6320
+-107.0806	30.3441	5702
+-118.341	37.3888	5798
+-88.5445	34.4062	6147
+-87.006	37.2329	7780
+-118.0311	48.1126	7112
+-117.5393	34.8346	8717
+-88.9338	38.18	9208
+-111.9828	31.2203	7644
+-122.5138	47.6825	8712
+-110.3225	31.1891	9046
+-123.6297	47.6981	8471
+-114.5262	32.642	7024
+-115.777	34.0592	7911
+-121.7053	45.6906	7686
+-118.1704	34.1244	8552
+-90.4308	40.1486	7916
+-112.6825	33.6651	6073
+-116.5392	46.0209	7412
+-116.9126	32.0283	8872
+-110.3204	32.8683	8081
+-107.3162	30.4103	5966
+-92.084	35.4596	5432
+-109.1181	32.2993	7945
+-91.9329	35.8482	5879
+-109.8303	27.4218	4932
+-116.676	30.1017	6707
+-107.7637	28.6749	5269
+-87.8354	35.597	7268
+-119.6098	34.8194	6875
+-87.5535	36.2295	7705
+-119.4477	35.6655	6630
+-123.7917	46.814	8612
+-121.4017	44.808	6719
+-86.6778	35.0934	6095
+-123.6609	48.8424	7382
+-122.7069	45.57	8057
+-106.6535	33.7278	4859
+-117.7315	35.7319	7722
+-124.2174	45.251	7230
+-91.5743	41.7565	5939
+-89.272	39.9768	7640
+-116.9587	47.1511	7470
+-87.6499	38.1147	8464
+-91.0872	33.566	4527
+-120.5079	48.3639	6563
+-126.2745	45.805	5685
+-115.673	34.5285	7747
+-111.9132	35.0551	5341
+-115.0325	32.2001	7489
+-81.0807	26.2803	7832
+-115.2364	28.9537	5032
+-125.9686	43.2451	4307
+-114.4488	34.7066	6401
+-116.0858	32.8178	8770
+-87.7143	36.0751	7674
+-117.9412	34.5527	8671
+-118.0529	46.4515	8815
+-116.3973	48.3262	6170
+-89.9375	35.7049	7251
+-89.6631	34.7059	6343
+-119.2091	48.0392	6985
+-94.0104	38.8991	5512
+-117.4552	47.892	7170
+-118.5775	32.0335	7755
+-118.129	45.6722	8779
+-125.7303	46.6479	6477
+-87.1713	40.4405	6223
+-84.6585	28.7103	6843
+-109.2794	31.0107	8174
+-82.4407	26.4498	8363
+-114.0887	31.576	6257
+-85.2317	37.0829	5793
+-83.5024	28.1861	8272
+-91.1017	39.5885	8234
+-81.0691	29.7394	7356
+-120.1855	45.5008	7148
+-92.1223	39.0261	7526
+-120.9954	47.7373	7349
+-121.5886	46.2793	7980
+-80.3348	29.4055	7140
+-85.0626	25.6805	5824
+-90.7567	42.0949	5797
+-117.1052	34.1444	9361
+-125.4432	47.1725	6803
+-115.4324	32.8132	8042
+-115.9035	32.3074	8438
+-120.0956	46.9741	7130
+-116.2176	30.0779	6586
+-116.5354	33.8605	8687
+-90.7622	41.5792	6348
+-109.1231	31.688	8158
+-120.2856	48.2363	6413
+-117.645	49.397	5704
+-111.7057	31.1458	7913
+-119.2708	47.4957	7450
+-120.5261	47.3691	6961
+-108.1906	29.9316	6542
+-81.9873	25.1224	6896
+-116.5349	32.2528	8961
+-111.4625	31.9572	8185
+-118.4646	44.0825	7115
+-122.2467	47.1672	8855
+-121.9632	42.8571	4976
+-90.5929	43.3235	4490
+-81.4171	28.6076	8643
+-115.1954	35.0295	7076
+-117.6898	33.1109	8882
+-119.5986	46.3914	7834
+-123.1123	47.5536	8920
+-88.0137	37.714	8968
+-82.4615	28.8517	8610
+-116.6688	35.6175	7792
+-116.7563	33.5072	8948
+-88.7621	38.0523	9381
+-89.5833	36.2461	7976
+-92.2597	41.5884	5757
+-117.7128	34.7563	8702
+-121.0452	33.296	5316
+-117.4558	48.9895	6077
+-118.4226	46.1786	9091
+-119.7976	46.1481	7656
+-119.2742	45.3268	7929
+-118.9304	44.5544	7486
+-114.8121	30.1642	5941
+-113.5387	43.3935	3476
+-122.8008	47.241	9286
+-118.5463	45.5767	8640
+-118.9344	34.8185	7571
+-88.8425	35.752	7665
+-118.2177	33.3121	8167
+-91.8114	38.9027	7876
+-121.4164	48.1365	7530
+-89.9406	36.0677	7589
+-118.5418	45.518	8586
+-88.6849	40.0868	7095
+-89.856	40.4084	7549
+-120.1983	32.2424	6092
+-88.422	33.5453	5173
+-117.9951	31.7225	8078
+-91.3113	40.4694	7318
+-89.9454	38.8541	8939
+-112.0159	30.6796	7404
+-112.8777	34.539	5248
+-109.3668	32.5174	8017
+-117.6535	32.2366	8750
+-89.1373	41.0178	6635
+-112.3946	32.5754	6995
+-117.4075	43.3211	6175
+-115.6011	47.6406	5985
+-118.2178	34.2642	8491
+-89.1142	36.2704	8201
+-119.1385	30.5843	6279
+-82.0529	28.1064	9497
+-107.9164	33.0963	6384
+-88.8915	38.8277	8504
+-124.2037	49.8031	6176
+-91.2314	39.3323	8316
+-115.107	34.5869	7131
+-120.9556	49.4792	6116
+-81.8933	24.1584	5801
+-119.1786	43.3823	6230
+-88.1966	36.497	8355
+-84.5032	38.9042	4832
+-90.2217	35.0598	6465
+-88.287	38.2631	8955
+-110.658	27.7599	5316
+-116.5408	33.9535	8722
+-113.3219	31.446	6232
+-90.0717	38.6965	9084
+-119.4816	48.877	6057
+-83.3282	27.088	8338
+-120.5777	32.2482	5675
+-120.626	35.5302	5569
+-80.4716	26.8284	7733
+-118.0772	35.353	7940
+-110.637	29.2646	6940
+-124.7997	43.0534	4827
+-106.5785	32.1329	5362
+-122.2363	49.2189	7026
+-111.1752	31.5479	8561
+-114.5343	28.1431	3876
+-79.5162	30.0376	5972
+-116.4637	46.1815	7331
+-118.9361	36.0583	6758
+-116.2332	48.5137	5907
+-115.9617	36.0832	6979
+-117.1492	42.9467	5711
+-123.528	45.4349	7787
+-90.6627	35.4131	6510
+-108.4314	33.6983	6392
+-117.7585	41.2269	4070
+-116.687	47.7776	6808
+-81.0242	24.2647	5737
+-87.6712	40.0786	6841
+-109.9206	31.9668	8863
+-82.4717	24.4605	6133
+-116.5669	34.4834	8684
+-121.6026	46.4091	8055
+-113.0409	32.6429	6323
+-107.5229	31.1412	6391
+-103.8601	31.0626	2437
+-90.3699	39.0781	9070
+-108.6602	32.7084	7289
+-112.3754	29.603	6392
+-88.1729	40.2318	6859
+-116.6732	45.7591	7518
+-90.0169	42.5247	5337
+-113.2118	30.7931	6239
+-89.902	36.6357	8094
+-83.3816	26.727	8055
+-119.1189	33.9835	7511
+-121.7196	46.8664	8305
+-81.0214	26.086	7613
+-110.9452	32.611	8178
+-121.4062	44.7503	6670
+-84.3028	29.6777	6621
+-119.2346	46.9484	7911
+-112.6946	27.1689	4049
+-118.3956	36.47	6707
+-120.1506	32.4666	6180
+-112.7566	46.1237	3407
+-88.0349	39.079	8029
+-119.2756	31.8815	6974
+-124.3201	47.199	8025
+-114.7283	35.5845	6348
+-93.9865	39.0482	5527
+-79.0173	29.3327	5947
+-111.4097	30.6653	7941
+-120.6375	49.1326	6165
+-87.0999	26.6652	4137
+-82.2907	28.6645	8861
+-88.9351	39.7093	7552
+-118.2022	34.5672	8413
+-116.3398	46.3579	7184
+-83.562	26.681	7862
+-117.036	43.2418	5958
+-117.8906	32.5693	8686
+-90.5391	36.7713	7285
+-124.3907	46.5632	7910
+-117.2575	34.7108	8908
+-115.0278	45.9198	5807
+-123.0416	49.2661	7075
+-115.9746	33.3943	8472
+-115.8841	31.9626	8215
+-116.0838	36.3704	6778
+-114.2685	29.8363	5269
+-119.1033	47.3421	7684
+-87.369	28.5412	3905
+-119.9389	29.0487	4400
+-88.3013	35.8725	7735
+-116.8901	32.8377	9664
+-91.7632	37.0513	7066
+-80.8597	29.4874	7470
+-115.5249	31.5682	7626
+-119.7522	39.6951	2893
+-114.0788	32.6999	6529
+-111.2827	31.1103	8324
+-122.0792	46.9439	8704
+-88.4377	35.6793	7555
+-117.9255	32.5306	8637
+-111.9921	31.776	7664
+-87.4355	37.7203	8320
+-118.2314	48.097	7145
+-90.8116	34.9669	6014
+-116.212	30.474	7008
+-117.3573	45.461	8069
+-89.665	40.5629	7323
+-115.003	31.8204	7297
+-117.5063	34.6853	8881
+-124.0746	45.6435	7662
+-117.3562	33.7025	9058
+-84.3102	28.2584	7368
+-114.4428	33.0871	6922
+-93.4929	35.7577	4773
+-115.8061	30.9723	7322
+-94.2466	34.6519	3354
+-110.0576	36.0164	4661
+-78.3574	29.5067	5189
+-94.4968	36.8425	4537
+-119.3625	47.7641	7160
+-120.0323	43.196	5670
+-83.3782	26.7129	8047
+-110.8654	28.6496	6243
+-117.7045	46.1071	8647
+-118.1979	34.3571	8493
+-110.1563	30.4123	8190
+-80.4196	29.4468	7177
+-89.2276	39.9857	7601
+-80.3779	26.0504	7115
+-90.6856	38.8685	9074
+-115.9775	35.9773	7084
+-88.7731	41.4844	6004
+-122.1184	47.1083	8733
+-90.8698	35.524	6445
+-118.0412	30.3232	6724
+-125.309	46.7408	6948
+-115.1493	34.6598	7158
+-115.8056	31.8622	8077
+-111.3487	34.4383	6190
+-116.5126	32.6334	9207
+-122.2195	48.481	7782
+-123.1088	49.018	7341
+-116.1169	33.2847	8671
+-77.4828	30.1679	3971
+-86.2112	34.7864	5493
+-123.1298	47.9568	8489
+-109.3086	30.1366	7553
+-90.9106	34.4798	5504
+-123.1583	47.1766	9240
+-124.0433	48.0495	7876
+-86.2195	39.2436	6452
+-126.3277	47.4624	5801
+-120.5024	34.9033	5910
+-83.1206	27.4829	8730
+-119.3771	31.3028	6578
+-90.0264	36.4028	7812
+-118.6595	46.97	8257
+-117.3029	47.9657	7028
+-113.1291	28.0749	4613
+-87.2665	39.2804	7341
+-118.3773	31.9654	7915
+-126.5216	47.2733	5613
+-117.8839	33.4005	8493
+-86.9987	38.9137	7386
+-118.3324	32.8121	8229
+-119.1206	45.6077	8232
+-118.7894	44.3517	7333
+-116.8564	39.4783	3690
+-118.411	34.0721	8288
+-90.9352	36.9885	7435
+-117.3115	34.9979	8593
+-87.3932	38.3402	8098
+-115.448	31.5012	7512
+-76.4766	28.6539	3414
+-89.424	36.5443	8356
+-115.0052	36.2438	6164
+-109.3713	27.7054	5145
+-83.4607	27.2689	8289
+-120.7634	49.0936	6294
+-89.0576	38.077	9250
+-86.5774	35.4956	6355
+-117.9884	36.0692	7284
+-84.6454	27.5351	7038
+-122.0498	45.6032	7841
+-79.579	26.9259	6850
+-118.0334	49.9318	5194
+-117.894	33.1019	8671
+-115.1897	31.5323	7307
+-88.3319	39.0302	8208
+-123.6921	44.9585	7235
+-110.6424	28.0178	5596
+-89.4274	37.4487	9034
+-118.0451	38.6002	4592
+-112.3852	36.3487	3852
+-118.686	45.7085	8666
+-87.5772	39.1926	7643
+-119.3254	37.4166	5311
+-121.8849	45.2029	7370
+-112.2907	32.1273	7272
+-124.6672	45.5349	7108
+-120.6538	46.4728	7080
+-79.3204	28.8903	6465
+-115.6736	46.4782	6468
+-88.419	41.4547	5821
+-86.4234	26.3238	4772
+-88.1466	38.1046	8963
+-116.1103	35.0281	7943
+-117.9097	33.5183	8567
+-124.2913	47.2098	8054
+-81.8766	29.4412	7976
+-117.7762	46.4568	8604
+-121.7492	44.2255	6340
+-83.4008	25.7114	7161
+-114.9274	36.2845	6071
+-116.598	34.3805	8760
+-87.3407	34.3566	5770
+-119.8326	37.5607	4868
+-116.8501	33.0399	9472
+-90.7044	34.5539	5700
+-116.8051	33.9207	8984
+-121.3761	45.3212	7142
+-85.0401	25.9206	5997
+-81.2587	27.3206	8782
+-115.8748	46.0203	6708
+-88.3675	39.8037	7374
+-87.132	41.1552	5490
+-117.5285	34.3044	9197
+-90.503	36.9303	7459
+-87.539	39.3983	7432
+-82.0439	27.9068	9704
+-109.5611	32.7986	7914
+-89.0976	38.3633	8949
+-89.2748	38.1135	9055
+-79.566	28.5539	6854
+-122.6016	48.6923	7682
+-120.2425	45.6546	7133
+-90.4419	37.4276	7998
+-80.2878	26.7629	7516
+-115.5895	34.9437	7506
+-123.5297	44.6967	7018
+-91.7366	42.6473	4978
+-117.5196	34.2835	9217
+-116.0242	45.3474	6739
+-111.8786	33.8717	6482
+-116.3149	33.1327	8945
+-112.3024	31.8327	7323
+-93.1795	37.6492	6185
+-111.6967	31.6278	7996
+-109.7962	33.2212	7606
+-120.9718	45.3398	6835
+-117.2051	33.7073	9068
+-119.0928	30.5248	6266
+-117.817	32.9382	8795
+-119.2757	33.0398	7043
+-82.2283	28.6689	8866
+-78.7793	27.8976	6095
+-120.2562	45.85	7154
+-115.7469	46.2635	6569
+-91.3119	37.1812	7459
+-89.8746	38.339	8720
+-96.3572	37.4335	2831
+-82.913	27.1819	8790
+-90.8229	40.5922	7383
+-87.5105	38.3504	8209
+-112.3806	29.9264	6620
+-112.1938	29.8285	6703
+-79.7059	25.4142	6068
+-87.6578	37.7275	8569
+-110.3203	27.8543	5433
+-123.3409	47.2239	9045
+-123.3404	44.8842	7268
+-84.369	29.2243	6873
+-107.3228	32.965	5885
+-85.0544	39.1127	5343
+-117.3085	29.9781	6564
+-125.2275	46.8169	7044
+-108.6371	34.643	5683
+-91.4511	42.366	5361
+-89.9874	37.5488	8438
+-116.1137	45.3767	6838
+-89.6523	39.909	7947
+-85.989	28.5619	5438
+-90.9396	39.1897	8660
+-112.2366	31.7591	7403
+-112.1441	29.6938	6638
+-123.2291	45.518	7974
+-117.4222	35.0691	8503
+-115.4915	32.4832	8066
+-81.7326	29.5633	7810
+-116.0307	30.6561	7127
+-89.7762	32.0216	3379
+-116.0552	33.4485	8516
+-90.5054	40.6884	7331
+-81.7472	27.9882	9389
+-82.814	27.4257	9031
+-88.8258	36.9743	9036
+-92.9328	40.1842	6271
+-117.5125	31.0013	7639
+-121.6517	44.6232	6689
+-87.5313	36.7033	8057
+-81.9369	25.2547	7042
+-88.8355	38.3605	9032
+-118.2946	30.3321	6611
+-81.2023	27.9678	8815
+-83.4938	26.6663	7913
+-109.9186	31.9438	8878
+-115.5537	31.9975	7931
+-118.0454	33.1629	8489
+-84.8639	27.2477	6748
+-109.4846	30.2356	7748
+-117.4068	31.9193	8638
+-120.3597	44.5803	6535
+-86.8832	37.7785	7697
+-114.664	30.1121	5791
+-77.5611	28.4568	4661
+-113.2202	35.5919	4846
+-118.7942	47.5037	7679
+-125.5239	45.9253	6505
+-115.3377	33.0119	7923
+-111.4384	31.849	8242
+-86.622	35.9262	6715
+-86.5721	38.9001	6989
+-120.5577	43.6846	5747
+-80.4928	24.9459	6201
+-117.9308	32.5146	8626
+-118.6245	49.2555	5899
+-111.8849	30.5078	7428
+-88.1812	35.381	7167
+-87.1355	37.8102	7977
+-123.357	46.3414	8755
+-91.2275	36.4377	6771
+-117.3611	46.0063	8279
+-88.7906	36.3125	8296
+-116.1325	30.1665	6654
+-122.6378	44.3705	6739
+-116.7773	49.9024	4929
+-115.4357	31.0197	7120
+-91.9011	34.1092	4493
+-122.7085	48.1824	8254
+-93.1711	37.245	6010
+-115.9957	45.4998	6756
+-122.9006	48.8917	7491
+-119.579	45.0993	7527
+-119.1501	43.8843	6741
+-91.9584	39.7997	7384
+-117.3285	32.4152	9150
+-122.4335	44.9308	7312
+-118.4794	45.6425	8733
+-106.9073	31.5012	5761
+-122.449	44.0123	6323
+-108.77	32.3783	7573
+-90.0356	35.6936	7182
+-89.2956	38.3741	8823
+-86.0056	29.435	5122
+-117.3912	44.7804	7574
+-88.1948	37.9655	9091
+-116.0009	31.489	7922
+-121.7321	46.6584	8279
+-113.1077	30.852	6365
+-88.5241	38.3538	8996
+-115.3595	30.8114	6887
+-89.1068	35.8679	7761
+-113.0975	32.3703	6360
+-110.9632	34.9702	5741
+-119.9895	42.5332	5073
+-82.9621	26.2138	7901
+-109.5026	31.2499	8504
+-113.0078	29.3436	5694
+-124.528	46.0622	7560
+-115.8787	47.5235	6301
+-122.4397	33.3344	3828
+-87.7538	35.8805	7511
+-80.9228	27.8793	8517
+-122.4848	32.1367	3551
+-123.5758	47.4503	8693
+-118.3735	33.2929	8022
+-116.0599	33.3708	8568
+-110.912	31.7221	8829
+-117.5612	30.6983	7299
+-118.4669	46.0082	9043
+-118.6951	38.0116	5029
+-118.4702	30.8184	6963
+-88.7746	37.8858	9568
+-82.6472	25.2014	6933
+-116.3496	43.4535	5789
+-107.9652	33.7382	6005
+-120.854	35.5162	5344
+-119.8213	37.3343	5070
+-90.4727	36.4711	7477
+-115.6845	36.6142	6328
+-118.0886	33.3423	8293
+-88.9731	36.1563	8105
+-117.1589	32.6261	9451
+-79.8142	26.8152	7056
+-93.0669	41.314	5424
+-125.6252	49.2964	5667
+-116.6512	32.2387	9018
+-116.407	46.6092	7201
+-83.4498	32.6656	4153
+-109.2715	28.4366	5875
+-91.1054	36.7947	7178
+-119.1524	47.0516	7896
+-80.803	29.52	7402
+-117.7473	47.0515	8104
+-118.3818	34.0607	8319
+-113.8545	34.9646	5707
+-90.3663	35.2628	6574
+-120.4784	43.5708	5714
+-76.8943	25.3072	3345
+-89.0473	35.6778	7561
+-113.3158	34.9106	5146
+-117.3602	46.0649	8282
+-123.2512	44.8521	7251
+-90.0837	36.5466	7875
+-118.4079	31.3404	7452
+-106.5401	31.767	5359
+-119.2843	35.1989	7049
+-92.1992	41.1677	6165
+-120.6938	45.2086	6539
+-117.3278	29.8481	6417
+-114.5219	36.0496	5886
+-87.9294	38.3837	8577
+-120.4936	48.0293	6716
+-115.6056	37.2934	5644
+-79.3645	27.6414	6757
+-86.4507	28.9785	4819
+-112.7738	30.3417	6507
+-89.93	41.5685	6347
+-117.3944	46.9133	7985
+-88.6996	38.3361	9059
+-82.5654	26.5112	8390
+-110.2923	32.9265	8018
+-117.541	30.8382	7455
+-116.7397	33.2028	9253
+-80.5477	30.2541	6555
+-87.0191	36.0568	7148
+-123.8948	45.3753	7544
+-118.3945	32.489	8119
+-119.4016	44.8027	7447
+-124.3948	49.315	6548
+-117.7715	33.3641	8534
+-116.002	34.5533	8084
+-90.2445	38.9199	9188
+-123.4922	46.2137	8554
+-117.3251	45.7704	8187
+-83.6256	31.1126	5748
+-120.7653	45.0789	6418
+-89.2629	36.2265	8106
+-117.945	30.8962	7349
+-87.389	38.2727	8125
+-112.5558	30.9229	6962
+-90.7256	37.3188	7838
+-117.7955	34.356	8912
+-79.2632	27.4824	6629
+-123.6776	46.489	8604
+-82.9217	28.0769	8934
+-87.5227	36.1651	7627
+-87.516	41.1656	5643
+-114.221	33.4235	6617
+-86.3171	39.1869	6579
+-119.8561	43.8383	6343
+-81.9296	25.6045	7436
+-77.4422	28.7934	4459
+-117.3193	32.974	9322
+-95.671	37.7154	3617
+-90.4749	40.3564	7690
+-118.0821	42.4038	5340
+-111.9138	34.2683	6098
+-120.3877	44.0426	6144
+-121.3539	47.1709	7893
+-119.8072	45.6372	7574
+-86.2672	39.7398	6169
+-116.5518	33.7167	8635
+-121.442	48.1024	7576
+-111.5463	33.5772	6945
+-92.1153	39.2098	7493
+-114.2656	32.7918	6740
+-116.3688	36.3349	6944
+-116.5303	33.5903	8762
+-122.7471	46.3304	8887
+-109.7422	32.431	8354
+-115.5836	32.0387	7983
+-88.5213	38.7566	8560
+-116.3545	34.6067	8417
+-88.1744	38.911	8268
+-82.9683	26.1633	7847
+-89.3105	42.8185	4889
+-114.0063	28.9828	4598
+-119.3938	47.717	7183
+-117.1717	31.1024	7827
+-113.3525	33.5924	5544
+-121.7621	49.9201	6129
+-117.8187	48.0052	7184
+-122.848	45.6451	8153
+-124.9964	48.2417	6910
+-121.3024	47.4175	7782
+-117.9498	34.6444	8607
+-116.6928	33.7088	8759
+-90.2579	36.7286	7838
+-116.0703	34.1021	8232
+-110.2258	29.8125	7551
+-114.7558	36.296	5923
+-118.8013	35.8522	7024
+-116.8767	31.1105	7847
+-115.7741	32.5739	8395
+-88.7151	37.832	9620
+-116.9509	34.3886	9095
+-117.1214	31.2036	7945
+-116.6794	35.9563	7449
+-122.0863	48.8231	7379
+-108.4856	29.6261	6557
+-110.5034	31.7596	9208
+-116.0684	43.9451	5988
+-84.0691	29.4985	6954
+-117.382	34.5693	9046
+-121.0978	28.9887	3471
+-121.748	46.75	8318
+-83.0013	27.2696	8761
+-116.0412	34.6063	8105
+-83.4212	26.9286	8154
+-87.4654	38.6835	7961
+-116.5561	31.6565	8380
+-120.5724	37.3511	4506
+-120.4671	44.6082	6460
+-115.8396	36.3234	6686
+-126.0776	45.4511	5738
+-109.5515	34.5934	6104
+-81.882	33.3754	3541
+-119.4291	45.6662	7963
+-116.3988	30.3603	6941
+-83.0927	28.7397	8346
+-90.1583	35.2691	6704
+-84.1442	27.8645	7615
+-117.7036	43.8978	6849
+-84.8834	28.6524	6624
+-107.935	29.3486	5922
+-114.7224	35.7406	6255
+-89.2095	38.2503	8992
+-121.5575	32.5677	4556
+-123.572	47.6104	8584
+-118.7819	29.6493	5681
+-119.8946	33.7273	6637
+-117.836	31.2468	7751
+-89.6021	40.2507	7601
+-85.0353	39.0253	5357
+-114.8973	35.3313	6642
+-118.5704	33.692	8036
+-81.3617	24.3291	5907
+-79.6045	26.514	6700
+-91.9403	40.5933	6824
+-112.8879	32.6264	6484
+-115.446	38.2044	4673
+-115.4108	49.1855	4796
+-110.4774	31.4442	9257
+-118.395	47.249	8038
+-114.8274	45.8802	5593
+-119.258	35.2111	7068
+-123.7275	44.945	7206
+-90.3123	37.5527	8132
+-81.5176	25.7788	7538
+-90.554	38.6589	9216
+-118.9357	44.6044	7532
+-117.1666	42.6933	5464
+-87.282	40.1538	6563
+-117.6679	46.5386	8460
+-87.7814	39.1207	7843
+-117.3669	43.8124	6651
+-90.2809	37.9071	8509
+-95.1576	39.8004	4155
+-116.8743	33.007	9517
+-88.5546	38.7601	8564
+-108.4454	32.6408	7129
+-89.4129	37.0587	8820
+-91.2772	35.3381	5972
+-88.8855	34.8424	6643
+-118.9861	34.8896	7489
+-119.9554	45.7684	7455
+-111.5114	34.8809	5680
+-87.3828	34.487	5923
+-92.1378	41.1747	6198
+-79.7206	27.1912	7086
+-118.5507	48.6306	6566
+-122.4033	33.3533	3870
+-89.6097	36.0627	7782
+-80.2457	27.6777	7755
+-120.4349	31.797	5721
+-89.7325	36.8537	8398
+-109.1199	30.5211	7726
+-110.9736	34.0866	6674
+-80.3291	27.3112	7787
+-116.6311	46.929	7303
+-119.1965	47.1934	7752
+-81.9928	26.2925	8217
+-85.6313	34.0066	4406
+-108.6114	29.6274	6650
+-110.6308	31.3174	9041
+-112.9978	33.6486	5821
+-117.5922	34.9882	8540
+-118.2452	47.8302	7428
+-119.3673	44.1321	6881
+-83.3287	24.7054	6174
+-89.1321	41.0022	6647
+-119.0289	49.2023	5881
+-82.2328	28.4625	9097
+-118.4072	35.8608	7280
+-110.8389	31.7697	8890
+-117.471	46.6713	8209
+-90.0943	35.991	7416
+-86.3763	24.0212	3489
+-116.6939	46.042	7576
+-116.0064	31.8925	8266
+-116.8329	32.1151	8956
+-118.9856	46.9199	8117
+-116.8606	31.8595	8679
+-91.9765	37.0293	6897
+-123.8678	45.4709	7649
+-120.9503	46.7259	7448
+-88.0967	36.3304	8138
+-116.087	34.2297	8247
+-116.8642	34.3857	9020
+-83.6646	26.0016	7249
+-106.8235	32.6772	5490
+-121.1123	47.2453	7618
+-120.7837	45.1647	6433
+-91.0854	38.8487	8660
+-83.0283	24.4876	6047
+-119.2877	33.2809	7145
+-116.3035	49.0743	5476
+-121.4257	48.0557	7592
+-120.4426	47.4077	6863
+-122.8089	46.9044	9485
+-115.7378	30.0635	6390
+-115.0916	31.1251	6936
+-89.8429	37.6623	8607
+-119.0184	44.2437	7146
+-111.0864	29.7276	7304
+-116.935	34.9533	8573
+-86.8887	37.5127	7700
+-118.0166	48.1906	7028
+-108.6387	32.6067	7329
+-120.8106	35.8615	5237
+-84.2431	28.6909	7287
+-110.7705	33.4416	7405
+-118.5367	48.796	6393
+-111.1232	29.2556	6810
+-121.9319	48.7617	7365
+-88.5997	38.4409	8925
+-87.7627	36.7731	8307
+-84.2137	40.1237	4007
+-106.9678	31.3244	5816
+-79.4356	30.6536	5422
+-93.2041	40.9053	5598
+-87.2533	36.3709	7579
+-118.0066	47.4347	7817
+-92.5876	37.4378	6659
+-81.6827	29.4473	7924
+-110.9719	34.5232	6214
+-82.1406	24.8913	6639
+-113.3268	32.9533	5907
+-122.6372	45.2065	7651
+-118.0829	33.657	8507
+-91.5614	37.837	7818
+-119.074	37.2631	5595
+-90.1449	38.5158	9064
+-91.2944	41.3636	6441
+-122.8592	48.0166	8452
+-121.2282	45.8116	7374
+-88.0144	36.2724	8038
+-89.4437	35.2142	6960
+-120.0203	46.0764	7421
+-111.5929	33.118	7322
+-114.982	35.1952	6790
+-115.2919	34.7264	7289
+-89.8626	35.5042	7094
+-86.0559	39.5871	6086
+-115.3232	34.6563	7343
+-107.6373	30.4428	6302
+-91.1969	36.0074	6341
+-90.3163	42.5243	5356
+-88.5685	38.0587	9321
+-89.6238	42.684	5106
+-120.4459	43.1372	5376
+-117.2989	46.3013	8196
+-83.0432	29.3043	7871
+-124.7129	45.3565	6942
+-89.4499	39.7694	7935
+-117.8994	45.7201	8689
+-119.8214	45.1969	7372
+-91.2495	38.2724	8358
+-125.181	47.5173	7028
+-122.4084	48.6719	7656
+-85.4269	36.2356	5737
+-116.3466	34.9525	8194
+-118.2959	44.9952	8090
+-118.4006	31.3531	7467
+-90.2936	40.0094	8063
+-93.538	39.2964	5973
+-117.507	32.9594	9129
+-81.8156	26.4916	8406
+-117.7208	34.1751	9040
+-117.5493	30.2383	6804
+-87.8135	37.9753	8690
+-109.9985	30.2473	7981
+-108.7023	31.0258	7606
+-87.6553	37.3845	8528
+-108.9352	33.8594	6579
+-118.5385	44.8715	7932
+-113.9669	48.8153	3860
+-116.1409	43.69	5845
+-118.6156	47.2308	8012
+-93.9355	36.5454	4918
+-121.3526	37.8361	3523
+-116.4769	32.6365	9171
+-91.131	34.9883	5805
+-83.6064	29.2146	7556
+-109.6705	28.019	5546
+-88.0432	38.9881	8123
+-115.8771	34.4205	7990
+-116.1254	32.6285	8791
+-125.3486	48.394	6492
+-116.2566	34.2078	8433
+-112.3995	34.7617	5366
+-120.011	34.0791	6544
+-90.828	37.9974	8482
+-115.3505	34.3109	7439
+-116.7599	31.9371	8745
+-119.6721	34.0943	6914
+-115.3605	32.1136	7797
+-89.766	33.9497	5495
+-88.0973	38.059	8944
+-116.8786	45.9095	7759
+-121.2201	44.6628	6474
+-115.6358	29.7705	6045
+-88.948	39.3666	7741
+-117.0706	32.6378	9522
+-81.6336	30.9503	6246
+-117.6512	48.3743	6761
+-88.2579	41.281	5862
+-119.144	33.5693	7400
+-110.5507	31.6471	9228
+-118.6248	32.2384	7794
+-87.8882	37.6122	8827
+-118.2822	31.7734	7880
+-83.7314	28.3316	7975
+-86.9814	36.479	7409
+-120.97	45.5438	6972
+-88.8796	36.3452	8327
+-109.9925	32.2915	8622
+-116.134	34.7952	8107
+-83.4232	28.6791	8105
+-113.959	35.2504	5730
+-82.4091	25.3394	7129
+-85.9636	36.0592	6188
+-114.6878	32.8315	7211
+-80.6112	27.6195	8162
+-107.8436	33.1673	6276
+-117.2009	33.4953	8838
+-110.6476	31.2381	8968
+-121.6543	49.0103	6977
+-119.2588	46.8373	7966
+-124.7582	49.878	5812
+-116.8579	35.8953	7565
+-87.6388	38.1751	8426
+-92.8846	39.5416	6597
+-123.3741	46.7999	9054
+-118.6555	33.4886	7868
+-92.9269	41.2636	5570
+-83.5647	27.5418	8253
+-119.6353	45.8531	7805
+-118.299	34.9419	8107
+-86.7137	34.9228	5969
+-81.6169	24.7767	6460
+-110.9817	29.305	6907
+-114.8621	35.0098	6746
+-119.2512	48.7698	6253
+-127.6234	49.9668	3459
+-121.7215	47.5378	8167
+-124.3106	47.2545	8024
+-115.5096	43.0078	4861
+-117.9538	35.2655	8093
+-106.2506	32.0004	5027
+-118.2513	33.6127	8323
+-88.981	36.6911	8695
+-115.1069	30.7277	6633
+-119.2368	33.7446	7347
+-111.6036	29.3065	6649
+-108.8933	31.1456	7843
+-119.6895	33.0052	6623
+-125.6543	47.829	6435
+-114.9506	33.2702	7448
+-124.1824	46.4795	8099
+-120.528	42.2771	4565
+-91.5876	39.5822	7847
+-88.6769	39.3494	7923
+-87.7866	38.8969	8049
+-80.5767	30.6097	6225
+-116.1214	34.8806	8046
+-91.2342	40.1485	7660
+-81.1078	26.025	7606
+-80.0269	28.3113	7431
+-121.0077	45.9633	7253
+-108.5076	29.5031	6475
+-83.9253	29.4824	7086
+-89.2948	33.9899	5646
+-82.5195	27.8369	9448
+-82.5922	31.1344	6047
+-114.7026	29.9744	5700
+-87.2828	34.4532	5843
+-90.7644	40.1089	7903
+-86.9162	33.3497	4544
+-116.5223	30.0463	6623
+-116.512	31.9688	8680
+-110.6949	32.8101	8088
+-112.0567	32.8558	7152
+-117.8487	34.8953	8492
+-81.282	26.8265	8458
+-115.3772	35.1835	7180
+-121.9567	46.9627	8570
+-119.6906	48.9514	5893
+-82.8276	30.1109	7126
+-109.0061	33.2179	7192
+-115.9107	33.1664	8512
+-90.4812	35.3329	6565
+-121.9551	45.9913	8114
+-119.6217	46.7581	7681
+-89.8956	39.0573	8803
+-90.9268	35.4571	6347
+-119.1743	32.5572	7273
+-86.9039	36.9949	7593
+-88.9037	39.6982	7530
+-112.6195	30.5093	6737
+-87.5075	39.7002	7130
+-118.6439	34.1466	8035
+-92.5915	42.2762	4940
+-121.2348	45.3204	7034
+-108.3744	29.951	6711
+-92.851	36.8204	6048
+-116.155	30.8374	7367
+-116.4047	33.3811	8864
+-106.4373	33.7976	4618
+-114.8855	32.0027	7260
+-83.6767	27.4643	8113
+-109.8367	30.3206	8004
+-88.8507	39.017	8296
+-115.4385	34.0663	7542
+-117.1626	46.8823	7813
+-120.6393	37.1286	4617
+-89.3265	37.5267	9167
+-89.0622	37.4821	9424
+-92.9997	37.3752	6239
+-88.1362	36.577	8403
+-120.9881	47.3401	7466
+-89.947	36.6311	8053
+-116.1615	30.4508	6965
+-109.5792	33.7308	7008
+-111.0404	29.7139	7308
+-80.8655	28.8851	7980
+-115.1253	34.8101	7088
+-120.9269	31.9497	5231
+-81.9736	29.1891	8273
+-116.3038	35.9357	7309
+-89.3636	38.9356	8307
+-81.9338	32.316	4740
+-79.8542	25.8821	6547
+-91.9299	37.2138	7075
+-125.918	45.0989	5707
+-113.4819	32.8694	5789
+-114.568	48.4191	4622
+-115.6723	32.2494	8177
+-113.6336	33.859	5858
+-83.7984	31.2031	5572
+-119.2792	33.7284	7299
+-110.7348	32.6107	8278
+-90.8222	42.2476	5625
+-116.4284	30.6716	7286
+-83.421	30.4289	6547
+-90.6736	40.5706	7437
+-121.4719	45.5069	7363
+-92.0974	37.4172	7084
+-116.1266	30.8987	7417
+-122.8774	45.0671	7519
+-111.0398	33.159	7603
+-108.2881	32.1218	7182
+-118.5333	47.616	7633
+-91.7376	39.144	7904
+-89.4053	37.6918	9098
+-83.2142	28.2212	8566
+-81.8879	26.1414	8033
+-117.336	35.1289	8449
+-118.7705	30.7304	6677
+-119.0093	45.3775	8176
+-109.2209	31.0143	8120
+-116.3234	33.3912	8791
+-80.2095	29.6701	6831
+-115.3555	31.253	7249
+-115.7989	35.2114	7551
+-110.8784	29.1339	6755
+-120.1248	32.9436	6161
+-119.3741	42.6792	5458
+-119.4591	46.3278	7992
+-93.8573	39.5276	5587
+-83.6295	29.7148	7113
+-109.2627	33.4697	7123
+-118.5828	47.99	7234
+-116.5992	33.5038	8884
+-119.2548	36.2638	6359
+-118.1279	35.7535	7536
+-81.7046	25.5986	7392
+-116.0991	43.5773	5726
+-115.5566	34.5317	7623
+-119.7636	37.0219	5373
+-82.8302	29.4638	7817
+-87.0008	37.415	7813
+-109.8899	30.5171	8222
+-80.6053	25.3789	6685
+-89.81	35.2634	6875
+-112.4063	29.5724	6344
+-84.1205	25.6396	6599
+-122.6459	44.2523	6611
+-91.1513	35.7193	6360
+-116.7966	46.4018	7654
+-87.1183	37.3049	7921
+-119.607	46.8636	7642
+-82.375	25.3006	7089
+-116.9694	44.5236	7087
+-122.059	47.9491	8185
+-117.9501	33.0507	8625
+-88.0975	32.2602	3701
+-118.2547	45.1538	8258
+-116.7076	46.5789	7516
+-88.0709	38.8821	8242
+-108.2584	33.6609	6292
+-120.3958	30.8562	5347
+-118.6583	28.5284	4611
+-86.552	39.276	6742
+-110.6794	34.0613	6763
+-120.3341	32.3431	5960
+-117.9573	44.1544	7171
+-92.172	37.216	6884
+-93.8461	36.9409	5213
+-115.9686	34.2019	8120
+-92.3518	41.8696	5448
+-114.4534	33.7552	6761
+-118.257	35.0841	8040
+-84.097	28.92	7316
+-116.6646	47.3303	7107
+-88.9525	37.3126	9367
+-110.7696	34.4046	6380
+-125.9649	46.8957	6238
+-87.382	37.8085	8253
+-87.3568	39.2105	7468
+-120.6254	43.5543	5597
+-115.7243	35.931	6954
+-117.3626	45.634	8168
+-86.6164	39.4008	6714
+-121.2695	48.2709	7312
+-89.1957	36.7399	8669
+-116.8176	33.7818	8916
+-92.3671	36.2752	6006
+-118.3261	47.3135	7975
+-88.8914	40.303	7103
+-83.8838	27.7904	7912
+-106.8866	30.5587	5578
+-83.7265	39.6188	3748
+-85.2378	38.339	5783
+-120.2426	48.2191	6204
+-119.283	31.6926	6881
+-120.6352	44.7341	6380
+-121.8052	46.7493	8380
+-90.9172	39.9728	7986
+-116.6908	43.9779	6451
+-113.1079	32.8339	6176
+-89.9501	37.4145	8457
+-90.1386	36.0248	7414
+-92.0756	38.5145	7583
+-84.7144	29.4863	6384
+-122.5805	48.1984	8208
+-90.1806	35.1166	6543
+-92.2393	36.8192	6538
+-115.2569	32.1627	7711
+-122.7648	47.6922	8795
+-91.7794	38.641	7915
+-114.0021	34.0944	6152
+-91.4062	35.9551	6216
+-90.4344	42.6007	5274
+-118.9855	32.1138	7368
+-120.8151	44.906	6296
+-115.0555	32.5766	7604
+-117.5386	31.6312	8285
+-81.7189	30.2315	7065
+-112.9161	29.1087	5598
+-90.219	40.2909	7754
+-117.7586	31.9962	8481
+-116.5491	32.1277	8854
+-77.1499	24.4284	3106
+-113.9522	30.5149	5385
+-92.9692	40.6766	5949
+-118.8363	28.8904	4902
+-86.1534	39.3635	6317
+-124.5421	45.7893	7386
+-85.5473	28.8822	5829
+-87.5798	25.8326	3354
+-90.9664	34.3758	5372
+-125.6486	48.6314	6076
+-91.7836	37.6419	7500
+-80.595	30.6648	6180
+-81.7641	27.6083	9438
+-91.706	36.877	6953
+-116.391	33.3817	8853
+-117.4702	46.8981	8054
+-112.4553	32.2008	7079
+-107.6797	33.9476	5623
+-113.5646	48.6307	3590
+-117.7211	34.6881	8756
+-113.3944	33.4505	5589
+-83.1733	28.9133	8141
+-121.1902	48.1126	7345
+-82.8936	28.7352	8499
+-121.4619	46.868	8022
+-119.0741	32.1437	7285
+-112.9198	30.6597	6498
+-112.7022	31.2615	6883
+-113.4113	29.0335	5143
+-121.7131	48.2928	7651
+-90.3046	37.8046	8402
+-89.224	34.1239	5806
+-118.3429	35.9269	7256
+-125.9814	48.2307	5947
+-119.426	43.0919	5853
+-119.1929	49.3546	5682
+-116.3267	49.0316	5528
+-88.289	38.525	8712
+-90.1385	35.4711	6910
+-88.7555	37.0246	9095
+-121.0484	48.0478	7251
+-107.7535	30.8597	6571
+-89.9818	43.4793	4309
+-109.8275	30.2092	7887
+-114.0587	34.599	6002
+-121.2096	46.5654	7698
+-83.8388	27.553	7948
+-91.5303	33.477	4182
+-91.8292	37.7844	7550
+-90.9588	37.6108	8049
+-91.1876	37.8871	8153
+-124.7931	44.4453	6142
+-118.1917	32.6578	8375
+-121.60	46.2829	7992
+-121.3903	48.3174	7381
+-115.9243	31.6019	7967
+-110.0901	34.9092	5860
+-92.9569	38.181	6583
+-123.524	47.8086	8455
+-119.4049	28.631	4350
+-83.7776	29.45	7230
+-114.4257	32.5422	6902
+-82.9019	33.7279	3092
+-125.0472	47.391	7202
+-118.5349	47.7244	7520
+-110.0703	31.9155	9015
+-117.1788	35.9038	7604
+-110.1739	30.34	8115
+-117.8316	45.9037	8739
+-116.6358	31.8418	8605
+-118.0173	48.3421	6869
+-110.4892	30.9591	8776
+-79.9229	27.9969	7378
+-124.8424	43.686	5418
+-124.2115	42.264	4243
+-117.6227	35.2724	8236
+-116.0697	32.6798	8741
+-86.3161	41.269	4924
+-115.7288	33.6287	8102
+-86.6482	35.1486	6122
+-118.7049	44.7036	7716
+-89.2948	40.0972	7558
+-85.7484	36.7023	6259
+-80.682	27.7749	8250
+-89.7233	34.6752	6290
+-87.5268	33.0695	4471
+-91.3447	36.4328	6720
+-118.2709	31.7141	7848
+-123.4912	33.5673	2720
+-117.3688	35.2571	8307
+-119.2949	49.5346	5469
+-115.3624	34.8466	7320
+-117.5254	33.0395	9082
+-111.1716	30.5484	8031
+-114.7524	33.5599	7148
+-81.7285	25.7315	7545
+-111.1179	30.2794	7825
+-109.7661	31.2598	8766
+-123.888	48.2118	7860
+-117.3624	34.8039	8799
+-115.1817	35.1327	7016
+-113.4548	32.1511	6036
+-81.6977	28.5903	8838
+-117.9066	33.4071	8482
+-82.6439	26.9821	8833
+-127.4908	45.7992	4402
+-89.7873	37.2589	8582
+-114.8715	32.5246	7393
+-88.0335	36.5062	8275
+-85.5337	29.6465	5497
+-80.1976	27.4717	7677
+-91.2925	38.2634	8313
+-121.1658	29.0696	3475
+-81.0873	27.5138	8675
+-88.594	40.1677	6964
+-112.0971	29.9953	6902
+-114.7129	33.1928	7204
+-115.2386	32.217	7713
+-91.118	37.8727	8191
+-114.2603	34.7468	6191
+-89.3345	35.4228	7218
+-116.149	30.2479	6746
+-81.3415	26.88	8548
+-90.2992	37.8423	8442
+-118.5526	34.3142	8121
+-108.0698	27.7355	4637
+-82.9332	26.6444	8333
+-85.7692	39.7725	5703
+-116.7606	30.305	6942
+-89.8376	36.9165	8348
+-87.6232	36.6506	8099
+-108.6012	29.0823	6177
+-82.7803	29.0661	8250
+-85.9338	38.7111	6426
+-119.2956	44.1351	6920
+-110.183	33.3319	7572
+-108.3006	36.4338	3775
+-92.7279	40.1872	6460
+-120.3417	47.6738	6516
+-117.213	34.4604	9176
+-84.0709	34.7839	3631
+-120.1784	46.9829	7046
+-122.7311	44.4741	6862
+-114.282	36.3637	5474
+-88.2055	38.5597	8631
+-90.5326	40.4005	7638
+-81.5634	28.4661	8872
+-117.6423	37.6394	5691
+-125.9187	48.5619	5855
+-120.1152	49.8182	5227
+-119.972	34.6716	6529
+-124.0572	49.3271	6718
+-83.2627	25.0887	6604
+-91.3242	36.2754	6571
+-118.5467	32.1402	7836
+-89.3147	38.5025	8693
+-118.1693	44.0108	7045
+-118.3189	35.2152	7892
+-118.7011	48.0415	7157
+-91.1451	38.0618	8318
+-118.449	32.1418	7936
+-118.9855	31.0933	6792
+-117.9208	30.6331	7095
+-89.8572	42.0455	5827
+-86.8243	37.7001	7634
+-80.735	28.2314	8225
+-118.401	32.4009	8087
+-117.2556	37.242	6147
+-113.6746	30.5906	5697
+-111.9591	29.2645	6405
+-122.00	45.743	7937
+-118.7451	32.4282	7722
+-85.5651	27.1826	5954
+-116.8597	31.3579	8121
+-88.236	37.4547	9174
+-116.2192	35.4039	7742
+-117.4774	31.0864	7741
+-90.629	37.1579	7688
+-85.1504	37.7599	5755
+-119.2328	33.1423	7136
+-119.3014	34.3104	7310
+-89.0544	39.2696	7886
+-89.2584	40.5456	7141
+-119.0118	35.6876	6989
+-92.7291	38.3079	6851
+-89.5265	38.044	8862
+-115.4179	32.8057	8025
+-117.1744	34.2135	9405
+-118.9828	37.4283	5485
+-81.4146	29.1727	8106
+-117.1443	33.3969	9076
+-109.0218	32.201	7903
+-113.2171	34.1213	5311
+-106.398	29.8836	4829
+-112.8856	32.404	6569
+-127.9042	49.7702	3304
+-106.3167	30.507	4968
+-82.5246	26.2632	8135
+-114.0698	31.8017	6329
+-90.7588	38.9101	8984
+-120.0027	45.4847	7326
+-115.5804	35.8874	6884
+-94.1239	40.1557	5117
+-81.2238	29.6887	7487
+-89.6202	37.50	8839
+-87.64	37.0742	8387
+-119.8538	34.8158	6619
+-80.6434	29.793	7047
+-90.6793	40.6074	7397
+-90.8542	40.022	7962
+-118.3809	47.046	8253
+-80.9512	26.0845	7566
+-89.0743	39.1196	7958
+-110.5402	31.7197	9205
+-121.1189	42.0297	4007
+-117.5842	49.3142	5777
+-96.4887	41.6144	2155
+-87.4416	39.7077	7083
+-120.3535	45.0609	6807
+-81.2904	28.3641	8724
+-116.7946	33.1631	9321
+-89.6921	37.4002	8734
+-117.25	44.9711	7640
+-118.8692	37.2885	5678
+-89.5186	39.7604	7991
+-87.9908	38.4353	8589
+-86.1749	31.0027	4035
+-92.655	35.9315	5523
+-89.6678	38.5415	8621
+-115.0114	30.1969	6107
+-80.6365	26.4698	7652
+-82.8263	31.1985	5931
+-115.4554	34.0649	7561
+-122.6689	47.1073	9309
+-116.7683	46.0377	7655
+-123.311	43.9353	6245
+-84.7258	28.7582	6752
+-120.0167	45.5642	7339
+-123.1188	43.781	6098
+-91.6974	39.1888	7931
+-87.7636	34.563	6154
+-116.6291	43.0157	5554
+-120.2367	35.5943	5927
+-110.6739	31.1868	8907
+-112.1631	30.3083	7057
+-90.3265	39.1628	8975
+-119.1908	32.8098	7272
+-91.0895	35.5941	6321
+-107.2806	28.0154	4386
+-83.4022	25.8158	7260
+-111.3553	34.5622	6061
+-121.0097	32.7375	5180
+-88.7505	36.8371	8884
+-109.2615	30.8261	8052
+-111.2198	29.359	6879
+-110.6711	29.5971	7291
+-92.1425	37.2945	6963
+-120.1853	40.9589	3455
+-119.8201	48.3225	6399
+-116.9702	45.8078	7836
+-82.8029	31.6436	5441
+-117.3175	45.9976	8232
+-115.6585	48.5186	5480
+-117.1241	46.6953	7880
+-123.8776	47.1094	8521
+-93.066	38.6495	6531
+-117.8972	30.4384	6904
+-87.2241	29.8731	3659
+-111.2187	30.3129	7796
+-89.6543	39.9411	7919
+-85.2748	36.2231	5574
+-86.9053	40.201	6285
+-118.6908	46.3548	8752
+-117.1144	35.5911	7939
+-87.4913	37.5388	8377
+-84.0569	37.0522	4484
+-117.4858	45.0756	7886
+-107.5027	30.434	6164
+-115.0929	46.5328	5851
+-118.8501	45.6092	8466
+-92.966	38.0672	6545
+-109.337	30.4788	7862
+-122.5204	46.5665	9000
+-82.7949	25.5056	7227
+-80.7039	25.099	6468
+-118.2942	32.3709	8191
+-108.7191	32.8573	7245
+-120.2452	44.1411	6324
+-116.7123	44.6959	7029
+-117.6843	29.6206	6099
+-79.4191	28.6078	6678
+-115.915	33.3497	8438
+-92.0444	44.1592	3325
+-88.6354	31.0646	2403
+-111.9383	31.8927	7703
+-117.3796	35.3639	8190
+-81.8388	29.1923	8245
+-116.0235	44.3417	6228
+-119.8257	47.1306	7296
+-126.1035	47.2126	6076
+-115.4968	32.875	8112
+-116.3711	42.5255	4967
+-109.5669	34.7326	5962
+-88.5846	41.2029	6146
+-90.1643	35.5718	6989
+-90.6862	37.757	8305
+-115.1875	42.7979	4467
+-118.9192	33.5853	7639
+-82.9295	28.5582	8622
+-116.5802	33.2021	9144
+-78.3442	26.3954	5334
+-84.1252	28.0223	7620
+-115.6881	35.6724	7133
+-114.3378	36.2214	5614
+-115.0937	34.9701	6998
+-125.8713	47.2404	6328
+-87.121	38.9309	7485
+-88.8602	37.7835	9647
+-117.6357	44.8929	7810
+-116.6181	46.3715	7474
+-88.7832	34.1219	5837
+-87.2461	40.0487	6642
+-89.6859	40.0065	7875
+-116.5739	48.5014	6139
+-111.1141	32.5599	8119
+-89.6652	39.4669	8331
+-79.0905	29.6244	5859
+-119.9543	34.4393	6587
+-106.0961	35.9755	2861
+-124.3916	45.9424	7618
+-119.0992	36.8663	5949
+-89.5352	39.6855	8063
+-115.5104	33.497	7960
+-110.2186	32.6502	8311
+-117.0227	47.7643	7049
+-89.7783	38.1829	8531
+-92.2057	40.2997	6846
+-118.2445	33.7244	8382
+-117.5738	48.1359	6977
+-121.4993	45.4974	7376
+-118.5598	31.5074	7453
+-116.7499	32.9508	9469
+-115.648	35.0932	7485
+-107.7462	34.5907	5175
+-90.1714	39.2764	8813
+-118.9664	46.9239	8127
+-110.4669	33.2219	7692
+-117.025	48.2981	6578
+-113.2982	33.4648	5669
+-116.7443	33.939	8930
+-118.6443	40.9746	3819
+-119.955	48.2907	6342
+-122.0351	46.0363	8211
+-122.6208	43.7947	6108
+-82.2962	27.2017	9227
+-124.5507	44.5202	6364
+-89.5522	39.9248	7873
+-120.4324	42.9348	5209
+-109.2949	27.2185	4612
+-119.4573	49.5241	5427
+-114.2524	30.0613	5439
+-112.8966	30.0863	6257
+-92.8005	37.5395	6511
+-90.6652	41.7818	6143
+-89.4465	38.6429	8408
+-90.2723	37.6051	8185
+-124.4068	48.9615	6860
+-87.5742	36.2214	7712
+-111.298	31.0249	8266
+-118.8865	28.5017	4485
+-109.2233	30.2186	7568
+-118.9263	32.0779	7417
+-122.0387	46.2152	8350
+-124.2179	46.4608	8055
+-116.4103	31.0249	7660
+-118.2445	46.4931	8842
+-81.6321	30.6747	6554
+-89.8518	37.1203	8452
+-119.4237	48.0833	6838
+-81.6732	26.3183	8173
+-90.5229	43.4264	4382
+-120.1947	36.4505	5465
+-116.1542	32.6435	8826
+-115.999	36.7567	6360
+-118.9323	44.3109	7245
+-114.9458	45.7702	5709
+-107.2495	30.8511	6040
+-118.119	33.6519	8470
+-90.3147	35.8252	7115
+-116.3839	32.5926	9057
+-122.3097	46.8723	8949
+-87.0829	36.5674	7558
+-117.1915	43.1436	5923
+-119.4723	36.1155	6303
+-107.8747	32.8482	6478
+-117.698	44.428	7384
+-118.182	48.8016	6397
+-117.7662	32.3999	8747
+-113.3794	34.5799	5270
+-116.2748	46.7586	7022
+-113.4289	31.1194	6082
+-117.525	35.9487	7538
+-121.6985	44.4671	6559
+-123.2869	49.1587	7161
+-117.5578	47.2012	7864
+-122.4475	47.7092	8651
+-84.3465	27.8139	7388
+-109.3808	29.5132	7005
+-112.2101	29.9049	6746
+-122.874	47.6054	8904
+-120.0101	49.3782	5336
+-126.9665	47.00	5138
+-93.4301	39.1701	6109
+-116.6959	46.5064	7525
+-92.6997	42.7095	4480
+-85.9334	36.9264	6528
+-87.1053	37.0692	7834
+-120.7628	32.5653	5509
+-125.085	42.1655	3811
+-89.9069	34.7403	6290
+-117.4719	43.747	6625
+-124.2834	45.0521	7011
+-121.9836	48.2029	7916
+-90.2743	37.803	8397
+-118.1628	37.1816	6072
+-111.9342	31.1801	7685
+-94.764	40.5735	4310
+-88.4793	39.8967	7029
+-93.243	38.3904	6318
+-79.637	27.5726	7060
+-120.2059	38.5618	3740
+-81.5521	24.8828	6564
+-85.8141	37.5788	6499
+-117.7672	33.4573	8620
+-109.548	30.7759	8253
+-86.164	28.5288	5251
+-123.6373	44.7467	7036
+-118.7202	34.2041	7950
+-89.6366	36.9372	8541
+-112.7224	30.5115	6637
+-91.4615	36.7748	6999
+-122.4961	48.8625	7477
+-88.2974	37.3163	9158
+-117.5418	47.9844	7116
+-117.267	30.6293	7290
+-116.1328	41.5501	3931
+-88.1042	37.9387	9011
+-90.3997	39.7077	8392
+-78.666	25.9088	5442
+-118.2861	43.6423	6658
+-120.1829	48.7245	6051
+-83.8345	26.9051	7735
+-89.207	33.5211	5136
+-108.812	28.869	6102
+-117.2206	30.7367	7416
+-123.0317	48.0314	8427
+-82.5971	27.9668	9321
+-123.1728	46.2065	8719
+-113.3304	35.8005	4875
+-124.1531	46.9937	8229
+-82.6563	25.0545	6768
+-118.2416	33.5615	8305
+-110.8696	33.0505	7781
+-117.2576	34.8098	8800
+-123.4181	48.4533	7877
+-119.7999	46.3237	7637
+-114.2237	35.0668	6066
+-121.3306	47.3369	7835
+-120.3052	46.3523	7103
+-119.8734	29.886	5149
+-114.9936	32.5597	7534
+-81.0356	28.6784	8278
+-91.6823	38.7522	8024
+-81.9317	28.2314	9319
+-118.5578	35.5472	7449
+-91.3861	35.8457	6113
+-119.194	34.0666	7434
+-89.9118	38.0019	8471
+-117.3579	32.5594	9231
+-116.3804	32.9403	9085
+-84.3149	27.689	7423
+-110.5486	32.6189	8327
+-113.2058	32.493	6209
+-112.6239	33.8612	5974
+-114.8465	33.2135	7347
+-89.2102	36.2021	8098
+-82.1515	27.5074	9598
+-117.4417	33.1197	9124
+-119.8841	32.4654	6475
+-116.3689	33.248	8931
+-118.9138	35.5752	7150
+-87.1017	36.3241	7415
+-91.8763	37.7487	7487
+-119.9219	44.0415	6474
+-115.3553	33.3676	7853
+-90.032	36.26	7692
+-126.9169	48.1052	5019
+-117.2941	45.5671	8071
+-114.197	43.5056	4134
+-90.7378	42.1744	5714
+-110.7661	32.266	8598
+-111.4992	32.6187	7784
+-84.7833	30.8937	5255
+-121.8549	30.3047	3623
+-117.0299	32.5224	9417
+-90.7729	37.5154	8029
+-83.3184	27.1202	8365
+-117.2788	42.0622	4854
+-110.0331	32.8484	8065
+-88.0486	40.6839	6157
+-115.5895	31.7807	7831
+-117.784	43.6426	6605
+-119.7905	32.8986	6473
+-115.633	27.4148	3547
+-89.929	38.7211	8934
+-123.7521	46.6435	8605
+-112.4046	34.0522	5982
+-118.0704	44.0561	7084
+-88.7138	37.2841	9382
+-115.6217	33.5761	8030
+-121.7032	45.566	7582
+-87.9139	35.8376	7550
+-109.311	30.5047	7863
+-120.0899	32.1966	6201
+-86.5177	36.3906	6913
+-117.8476	35.1511	8260
+-118.9265	44.8413	7764
+-117.6162	44.2881	7216
+-116.868	33.9233	9046
+-91.8225	39.2468	7783
+-122.1271	47.5153	8565
+-118.0213	42.2955	5222
+-122.5174	44.8801	7276
+-116.1802	34.0545	8350
+-118.4205	33.5081	8106
+-119.5648	46.9425	7636
+-117.4995	38.6003	4659
+-109.16	34.4688	6099
+-89.9514	39.4598	8529
+-116.0597	35.2053	7777
+-78.9063	27.2337	6192
+-113.2165	35.1866	4973
+-94.3761	35.3116	3745
+-114.5676	31.1392	6488
+-112.6279	32.8134	6653
+-119.8962	34.9478	6535
+-123.3897	47.2443	8988
+-124.0447	46.8217	8339
+-88.4562	37.8821	9391
+-123.6632	48.2125	8001
+-84.1158	31.6724	4937
+-87.0358	38.89	7436
+-108.3538	31.8633	7307
+-82.4204	27.0121	8979
+-121.6775	46.8942	8261
+-115.8946	33.8438	8008
+-122.9507	47.9431	8532
+-88.0807	37.0062	8747
+-117.9418	31.1385	7588
+-117.286	32.4461	9207
+-89.0873	34.6021	6357
+-108.1758	32.7054	6839
+-112.7549	33.6173	6047
+-114.8863	44.1545	5115
+-120.4599	44.8471	6601
+-115.6111	34.5928	7664
+-109.8782	27.5787	5107
+-106.383	32.7687	5005
+-119.3051	32.605	7134
+-117.682	45.7152	8505
+-87.9118	35.4435	7142
+-82.6456	28.0166	9248
+-88.7056	37.9702	9467
+-89.4973	39.1496	8377
+-118.416	33.8503	8247
+-116.1211	31.0889	7607
+-124.1256	45.8826	7809
+-113.5919	30.0301	5562
+-85.4227	39.7577	5388
+-84.3591	27.312	7322
+-114.017	30.9317	5848
+-117.3674	34.9816	8606
+-89.3063	37.9232	9144
+-123.5964	44.2077	6480
+-117.661	34.4746	8969
+-91.3018	41.5046	6295
+-115.30	35.9883	6589
+-88.7131	37.1975	9286
+-115.1878	33.0243	7755
+-91.4739	35.7479	5982
+-89.3446	33.7732	5398
+-122.2054	45.987	8287
+-117.595	33.1053	8981
+-119.121	44.0351	6901
+-115.2224	33.1718	7767
+-120.9777	46.4041	7406
+-114.5973	36.852	5382
+-89.5045	36.5691	8331
+-83.9615	24.8778	6025
+-116.483	34.1951	8680
+-92.3253	40.6513	6495
+-89.9655	39.6502	8355
+-87.852	39.9783	7024
+-80.5375	26.7033	7723
+-116.9995	44.9476	7433
+-120.2196	46.2509	7204
+-89.2652	36.9463	8832
+-83.7627	26.56	7599
+-89.2614	38.0152	9135
+-81.6121	27.8557	9294
+-82.856	27.3394	8943
+-90.7872	38.2828	8759
+-121.2354	47.8459	7538
+-79.9329	27.6795	7401
+-87.7484	36.9834	8439
+-118.0066	45.1519	8215
+-92.5201	38.5162	7107
+-111.6752	27.9794	5307
+-78.4936	29.8038	5173
+-107.7195	27.9587	4632
+-118.1585	49.1979	5977
+-116.8562	31.0917	7825
+-112.5707	30.4348	6749
+-118.1486	36.199	7088
+-111.0937	28.4039	5932
+-116.7304	46.2252	7611
+-83.1149	27.549	8755
+-119.5884	48.189	6652
+-79.1835	28.3779	6484
+-89.535	38.5427	8483
+-118.9894	31.1724	6845
+-91.5456	35.1273	5590
+-116.7981	47.0701	7382
+-90.7701	40.7296	7250
+-121.3505	44.0282	5957
+-88.6799	39.6322	7357
+-118.1314	46.2959	8998
+-81.7448	29.9337	7402
+-88.0714	38.2831	8772
+-115.3342	35.1342	7164
+-89.446	37.4451	9013
+-91.8779	37.2865	7170
+-120.9464	35.3641	5305
+-114.5653	33.073	7059
+-91.2199	40.6608	7176
+-80.6032	27.2862	8078
+-90.9476	35.9434	6695
+-89.4086	42.8021	4932
+-90.4053	39.6146	8492
+-114.7964	35.0071	6680
+-86.6737	35.4909	6427
+-116.7225	36.1833	7224
+-89.8394	41.5731	6326
+-121.0145	47.0559	7532
+-114.1982	28.5014	4118
+-117.8353	34.2828	8896
+-84.0249	25.4023	6467
+-112.9222	33.3873	6055
+-120.5661	45.9915	6840
+-83.8438	27.773	7957
+-113.0452	34.1566	5423
+-118.7768	47.4287	7759
+-111.0045	32.0221	8605
+-114.8239	33.8784	7086
+-116.2281	44.8871	6733
+-115.0534	33.1565	7585
+-112.4414	33.2165	6584
+-80.4281	30.8787	5878
+-111.0165	29.5676	7168
+-118.5139	34.071	8176
+-122.3368	46.2114	8571
+-89.6347	36.966	8563
+-111.3921	27.0627	4443
+-123.1484	49.2935	7035
+-90.8579	42.8623	4963
+-111.4543	32.3777	7985
+-87.5371	35.0921	6613
+-120.2158	47.0953	6958
+-87.2606	40.4267	6285
+-88.7411	37.4367	9556
+-118.1518	38.0394	5169
+-117.1027	36.645	6792
+-89.9609	36.2361	7724
+-80.8039	28.1577	8325
+-118.2655	35.192	7950
+-83.4037	27.4554	8413
+-107.543	28.3651	4859
+-89.7853	38.9763	8735
+-87.8025	37.2449	8634
+-116.1226	33.6839	8403
+-116.2059	32.2337	8684
+-119.4299	48.2249	6703
+-120.6495	46.8709	7131
+-87.7339	39.3542	7594
+-124.8597	46.1095	7256
+-86.5562	40.9494	5372
+-113.2527	30.8165	6203
+-122.7642	44.7246	7139
+-91.0661	36.5369	6928
+-121.7475	49.1292	6914
+-81.6054	28.1848	9130
+-87.9867	40.332	6697
+-119.4361	31.6997	6730
+-110.8078	30.7576	8442
+-117.8272	33.345	8483
+-117.3931	35.4094	8139
+-118.2877	45.0004	8096
+-111.8158	27.3601	4624
+-106.7193	30.7301	5450
+-83.2681	28.7184	8217
+-115.9063	36.1393	6894
+-89.9646	35.3763	6914
+-82.0757	27.1352	9175
+-124.0334	44.5371	6661
+-111.7808	33.0414	7248
+-91.5616	34.9228	5419
+-109.3449	33.9389	6706
+-91.8043	38.4821	7866
+-113.5382	34.5867	5441
+-114.0196	32.4818	6445
+-108.8809	35.5712	4875
+-117.1531	34.8822	8712
+-91.4791	39.0687	8194
+-120.0793	45.6946	7311
+-85.9378	26.3467	5298
+-123.6832	48.0412	8145
+-81.8775	27.184	9173
+-88.9322	35.5195	7398
+-117.5657	37.0104	6383
+-119.776	45.028	7314
+-116.3962	34.4778	8517
+-80.4379	27.6733	7971
+-107.6177	29.2841	5618
+-87.5705	38.2188	8336
+-123.01	46.883	9454
+-88.0661	39.6025	7503
+-117.0301	33.2917	9218
+-122.1551	46.7935	8766
+-114.8967	36.1168	6167
+-121.7846	49.4156	6650
+-117.2965	30.8932	7576
+-88.8192	36.301	8282
+-118.692	29.3752	5459
+-121.397	45.5958	7371
+-82.4625	26.4711	8380
+-89.4957	43.9959	3690
+-116.11	34.503	8213
+-113.8691	44.9126	4419
+-90.4662	40.663	7361
+-116.5651	31.1614	7853
+-121.5016	46.1295	7816
+-112.8986	31.2089	6665
+-89.9127	38.3605	8766
+-124.6171	45.3293	7000
+-115.819	33.8196	7922
+-120.3468	35.1746	5991
+-124.2008	45.7398	7642
+-109.0579	28.2416	5598
+-119.1188	44.5539	7399
+-117.008	47.78	7027
+-81.0772	31.634	5357
+-108.1467	31.383	7095
+-84.3863	30.9817	5451
+-117.9999	34.1055	8737
+-117.8324	43.7088	6683
+-117.5858	45.5166	8298
+-89.3282	38.3759	8799
+-117.2814	32.2306	9011
+-88.1498	38.0058	9025
+-83.1493	26.904	8385
+-92.1127	39.2641	7480
+-117.3274	32.5048	9221
+-117.2492	42.8374	5636
+-87.174	38.4989	7798
+-87.772	36.2019	7828
+-112.3258	29.7646	6551
+-111.1233	32.8802	7828
+-80.0108	28.3036	7415
+-91.8613	38.1876	7720
+-118.2076	32.479	8318
+-90.8361	38.5322	8883
+-117.3095	31.3274	8048
+-123.5448	46.2582	8554
+-80.4307	30.2076	6525
+-88.9864	39.8519	7507
+-117.2092	49.8728	5106
+-116.4203	34.8358	8338
+-91.1701	35.7945	6396
+-92.2074	39.4806	7306
+-115.3939	35.6411	6915
+-118.4404	43.8779	6901
+-118.4445	47.837	7413
+-113.7813	29.375	5037
+-119.8791	46.8023	7414
+-116.7561	29.4198	5957
+-89.2169	38.8187	8165
+-87.6305	42.5031	4408
+-125.4301	46.4591	6771
+-123.298	48.7427	7606
+-89.7681	38.0608	8429
+-112.2828	32.7257	7025
+-124.6317	47.2713	7674
+-119.8244	35.8678	6167
+-115.2388	33.8357	7515
+-116.9729	46.2659	7862
+-122.2547	49.9053	6301
+-108.4291	31.8585	7389
+-117.6973	34.7812	8689
+-115.2551	34.7477	7244
+-81.0993	26.0418	7617
+-105.8755	28.561	3638
+-120.8938	46.4626	7334
+-85.4264	37.7692	6064
+-110.5891	29.6418	7352
+-118.9834	31.1665	6846
+-118.9196	33.3171	7527
+-90.3578	40.9557	7047
+-122.3134	45.6425	8015
+-106.4702	29.6025	4770
+-113.1144	33.9864	5491
+-83.7036	28.4325	7963
+-118.1275	46.1741	9078
+-88.7936	35.4448	7322
+-121.3309	31.6638	4718
+-117.5858	34.2767	9156
+-87.3178	38.4073	7988
+-89.6849	37.8559	8762
+-90.2822	38.6019	9231
+-123.6643	45.2206	7512
+-83.9946	29.5078	7009
+-83.2044	30.4905	6581
+-89.9205	40.9855	6964
+-123.6831	45.7273	7996
+-85.8925	26.8339	5511
+-113.1192	33.8568	5578
+-117.8558	32.0208	8422
+-118.886	35.486	7236
+-89.9771	37.6339	8144
+-89.3089	41.1806	6560
+-117.8126	33.4611	8593
+-119.5714	46.9557	7623
+-120.2855	47.5803	6623
+-114.9118	45.9221	5685
+-122.3807	46.8609	9024
+-89.6235	38.9488	8578
+-114.5568	31.4584	6667
+-86.6669	34.9992	6005
+-88.5726	41.6091	5777
+-89.7733	38.5107	8718
+-123.968	48.3137	7717
+-83.6281	28.6796	7911
+-90.5727	42.3663	5521
+-125.3478	45.8521	6651
+-117.963	41.5583	4438
+-119.0549	45.5439	8253
+-90.6039	38.1144	8699
+-87.4421	36.5938	7902
+-90.1031	32.9819	4347
+-87.9792	37.3823	8876
+-117.1955	48.7891	6188
+-112.655	32.4804	6777
+-118.4771	47.0047	8281
+-105.6677	32.4642	4329
+-83.0328	25.5117	7146
+-83.8027	28.0314	7980
+-88.5678	38.236	9137
+-118.0609	44.2998	7340
+-80.4834	29.9537	6793
+-113.2342	28.8488	5154
+-85.9099	39.1233	6215
+-85.0773	41.2262	4060
+-114.523	32.334	6975
+-117.8442	32.313	8624
+-92.6287	38.619	7000
+-119.223	46.5513	8157
+-93.2683	37.2947	5942
+-91.2269	39.7565	8009
+-114.8541	34.1171	6906
+-118.8841	44.7159	7663
+-90.8471	37.0219	7496
+-114.2214	29.2679	4748
+-88.1125	34.3197	5988
+-117.4177	34.8449	8744
+-117.1635	33.2905	9180
+-92.0912	34.4878	4475
+-110.608	31.5441	9173
+-124.7358	47.9624	7312
+-116.6102	34.1204	8822
+-125.4755	46.1295	6631
+-123.3057	49.0591	7264
+-94.1516	36.9409	4919
+-116.5892	30.2399	6848
+-119.1537	36.5677	6178
+-80.9629	28.5159	8320
+-118.3722	46.1142	9165
+-82.5062	30.0135	7316
+-88.7578	38.2161	9198
+-120.653	46.8352	7133
+-81.993	26.3528	8285
+-115.761	28.9934	5281
+-81.181	24.368	5899
+-113.0953	32.4144	6348
+-109.3477	33.0781	7534
+-119.3807	46.4971	8025
+-82.3076	29.484	7940
+-119.6034	46.4907	7803
+-109.6833	34.6157	6113
+-118.2567	31.0806	7340
+-88.6589	39.0204	8290
+-87.784	37.3924	8670
+-119.3018	33.48	7206
+-115.2362	32.2396	7718
+-83.4359	26.4596	7805
+-109.2926	31.8539	8308
+-121.8589	45.1302	7287
+-119.3483	36.4345	6153
+-79.9196	28.2954	7317
+-109.9578	31.6908	9050
+-91.7812	35.1482	5260
+-80.0427	28.0727	7502
+-112.426	32.6914	6908
+-114.5638	31.095	6456
+-116.245	33.2188	8831
+-108.6926	34.9595	5406
+-119.6789	47.8189	6916
+-82.0937	24.5898	6298
+-107.2672	32.1652	6092
+-119.8854	45.0666	7241
+-110.4056	31.1191	8965
+-87.249	37.0859	7991
+-115.8084	37.1647	5869
+-116.5176	35.391	7941
+-89.4535	39.958	7781
+-116.9819	40.5163	3188
+-118.9037	46.5367	8457
+-119.9977	43.5696	6023
+-91.7729	38.9909	7904
+-81.383	27.5074	8994
+-83.8284	28.6826	7713
+-117.0174	41.8872	4602
+-116.2489	33.2736	8804
+-115.2167	47.1842	5816
+-119.1582	44.2039	7049
+-87.1125	36.0941	7254
+-120.2272	45.443	7087
+-117.0439	47.2878	7442
+-80.1063	27.7899	7599
+-114.3799	31.2708	6392
+-115.5627	44.2747	5791
+-108.1803	32.0149	7095
+-87.862	35.2594	6929
+-116.45	33.321	8948
+-115.3242	35.1921	7125
+-89.7166	35.524	7185
+-110.1786	31.2691	9094
+-109.4442	33.4454	7238
+-88.0202	40.7385	6096
+-121.1337	49.9257	5820
+-120.4739	42.8585	5117
+-117.3534	48.2268	6802
+-119.6121	45.5378	7732
+-88.9791	40.5987	6922
+-84.5228	26.2911	6715
+-82.9224	28.6946	8514
+-88.0047	38.5081	8540
+-125.7829	46.0624	6287
+-118.327	35.5089	7643
+-118.4904	36.6572	6478
+-109.7582	32.7486	8066
+-87.0522	40.9493	5657
+-118.7472	46.596	8541
+-113.329	38.3205	3268
+-114.2345	36.1901	5541
+-120.0971	32.8124	6131
+-111.1216	30.8195	8284
+-87.72	35.7118	7327
+-82.1461	25.8117	7681
+-93.057	39.0431	6525
+-123.065	45.4222	7900
+-117.4966	35.842	7657
+-119.0825	31.2163	6794
+-87.6794	38.2051	8453
+-109.5006	34.4689	6220
+-111.0742	32.3792	8295
+-117.816	46.7458	8416
+-118.7903	35.3401	7418
+-118.5604	46.2365	8933
+-110.3676	30.1847	7958
+-82.299	31.4903	5675
+-110.4189	34.3614	6462
+-115.3887	35.796	6802
+-111.1551	31.7486	8565
+-118.0164	44.4654	7506
+-89.2706	37.0675	8937
+-108.2986	35.4323	4756
+-114.0845	34.8183	5987
+-89.9394	34.5678	6097
+-118.0254	33.481	8446
+-112.4867	28.4291	5336
+-110.8608	33.3903	7434
+-91.6307	38.4891	8051
+-89.0641	40.4693	7089
+-84.8418	37.8265	5406
+-116.0354	35.3583	7643
+-93.3878	39.5582	6071
+-112.4105	31.2134	7188
+-118.5571	32.4378	7929
+-89.7497	39.408	8440
+-115.9522	33.7233	8235
+-119.446	48.48	6455
+-83.7013	27.655	8114
+-115.0659	49.4393	4349
+-80.5106	28.0198	8034
+-89.637	36.2876	7985
+-116.295	35.7669	7465
+-114.869	31.2435	6828
+-90.0466	37.0142	8203
+-116.581	45.4838	7343
+-117.3465	35.1212	8457
+-112.8138	28.1741	4906
+-84.9377	38.4255	5433
+-116.0236	33.0685	8664
+-79.309	30.2237	5657
+-118.4462	37.5789	5565
+-78.8626	27.5794	6186
+-120.8662	46.1755	7209
+-114.7624	44.5481	5185
+-88.6093	37.8448	9548
+-88.2119	36.227	8084
+-121.5982	49.2313	6736
+-122.5239	45.5066	7950
+-115.2324	32.3162	7740
+-114.9623	31.8669	7279
+-83.7546	24.4588	5725
+-77.4669	29.7331	4163
+-86.7796	37.6328	7584
+-82.492	28.9963	8443
+-111.4531	32.2611	8055
+-92.5162	39.1208	7091
+-79.5893	28.5497	6881
+-86.1296	38.3047	6769
+-79.3218	28.0091	6700
+-113.2924	35.4504	4971
+-125.9011	45.2079	5785
+-90.4862	37.7956	8390
+-116.2443	35.2711	7869
+-83.7244	29.4418	7279
+-89.0265	40.7559	6814
+-121.9469	47.0888	8551
+-116.7478	34.9529	8480
+-116.4997	32.8016	9232
+-81.8923	31.0327	6187
+-118.3983	48.3837	6839
+-86.9574	36.8142	7570
+-108.8422	31.3808	7843
+-115.1033	36.5003	6040
+-116.4633	46.5472	7276
+-91.316	37.8392	8019
+-86.5594	35.7848	6560
+-122.8362	44.8182	7245
+-116.9588	34.3342	9137
+-119.1725	47.1943	7767
+-109.9821	31.3075	8990
+-112.9106	29.5836	5939
+-122.333	31.6832	3635
+-118.4878	33.753	8143
+-79.6478	28.0393	7064
+-116.9743	34.0341	9201
+-82.9464	27.4094	8888
+-117.1323	29.1915	5705
+-88.075	40.5364	6278
+-116.0151	36.0049	7082
+-117.5606	46.6039	8327
+-92.983	37.6363	6376
+-90.8384	34.4604	5531
+-113.4755	31.6377	6069
+-121.8018	45.003	7134
+-117.6436	32.8705	8995
+-92.6073	39.4938	6897
+-115.1416	31.8599	7454
+-123.0598	45.4297	7909
+-90.312	39.0829	9057
+-90.7355	37.8513	8384
+-124.5283	45.5991	7270
+-116.1708	35.114	7934
+-116.419	36.1077	7194
+-106.7266	30.1792	5280
+-80.2831	25.0566	6180
+-92.1587	36.4511	6294
+-120.1581	46.6381	7195
+-88.2226	38.2639	8908
+-120.7492	46.6521	7218
+-117.0691	35.9713	7521
+-107.834	32.0017	6728
+-110.4626	31.9377	9065
+-108.6667	35.2955	5065
+-122.769	49.7682	6525
+-79.4013	30.2749	5696
+-109.8091	32.5207	8310
+-89.4887	38.965	8433
+-89.2095	40.5104	7144
+-79.7374	27.3482	7141
+-111.3816	33.7208	6894
+-117.51	31.6112	8278
+-91.9511	35.7786	5803
+-119.4196	47.4696	7376
+-81.9348	25.5502	7375
+-110.6497	29.2887	6964
+-115.6311	34.6192	7677
+-115.9496	33.6827	8263
+-88.891	36.9633	9014
+-82.8043	27.8517	9127
+-118.9765	46.8481	8180
+-84.0823	37.7637	4556
+-82.006	33.5061	3397
+-90.7152	37.2451	7763
+-119.0136	47.5011	7587
+-89.1033	37.4696	9378
+-115.2599	29.7195	5809
+-88.0978	37.9724	8989
+-89.015	39.5024	7741
+-80.5396	24.8068	6089
+-117.4777	34.5751	9004
+-82.1659	27.5027	9592
+-94.9156	35.5495	3444
+-117.3079	34.6276	8997
+-115.6071	35.2608	7349
+-115.4281	35.7819	6844
+-118.0404	42.2262	5150
+-110.2658	27.478	5025
+-125.1028	46.853	7183
+-109.3807	27.0558	4461
+-111.4375	31.4982	8274
+-80.0122	27.7107	7492
+-80.8221	31.1476	5790
+-90.6352	38.86	9128
+-80.2786	27.7705	7794
+-118.4841	34.0746	8208
+-82.4124	31.1669	6033
+-126.0176	45.9932	6018
+-87.7927	37.7508	8718
+-123.4151	48.154	8184
+-91.0064	41.3463	6547
+-82.8888	27.6887	9033
+-89.7741	39.5885	8307
+-84.177	29.3752	6950
+-125.691	46.9187	6540
+-126.2948	44.99	5290
+-111.2363	28.926	6433
+-89.4014	39.8443	7840
+-113.9917	45.5255	4675
+-111.1095	32.7321	7971
+-119.6605	48.5616	6273
+-83.4838	26.8796	8065
+-120.334	47.6014	6569
+-88.041	37.6513	9000
+-90.0523	41.2761	6678
+-122.0516	45.9675	8166
+-119.1234	31.8473	7115
+-123.3776	46.7889	9046
+-90.784	39.5113	8497
+-82.5128	24.987	6719
+-116.3998	31.4239	8076
+-119.235	44.2473	7055
+-92.9929	38.733	6612
+-115.9821	37.3118	5798
+-89.9962	37.5132	8424
+-115.1371	36.1227	6359
+-107.87	32.5489	6607
+-110.9187	30.7372	8359
+-123.1624	49.2534	7077
+-121.3018	41.4744	3411
+-118.4877	33.3087	7931
+-111.3434	29.1534	6622
+-121.674	46.9949	8259
+-106.414	35.0512	3803
+-123.6984	49.1779	7023
+-90.5875	36.9248	7445
+-107.9903	28.6175	5379
+-84.3128	36.1432	4532
+-91.5069	40.4981	7185
+-119.2728	44.4419	7216
+-120.0796	31.4299	5952
+-117.1384	45.6502	7958
+-92.4524	40.7968	6287
+-106.6346	29.3347	4784
+-112.6669	32.0388	6898
+-92.621	38.2424	6951
+-90.1713	40.2616	7779
+-107.5094	32.4333	6278
+-115.4399	33.606	7836
+-91.3554	39.4019	8163
+-118.2633	48.7476	6456
+-89.7179	39.4692	8368
+-110.2517	28.3344	5952
+-110.0887	28.1672	5763
+-117.4384	33.9052	9226
+-118.4837	42.2423	5169
+-85.9218	37.417	6610
+-111.1901	32.459	8146
+-87.2022	35.5108	6826
+-114.4745	31.4757	6596
+-88.769	33.8584	5541
+-82.7906	32.0874	4948
+-113.3384	33.1934	5780
+-124.9675	45.8937	7047
+-88.6254	37.6153	9647
+-82.8994	27.622	9010
+-118.1814	36.026	7245
+-105.1866	29.7035	3537
+-126.943	42.6835	3135
+-82.041	30.2709	7057
+-118.1479	48.0679	7171
+-116.4126	33.9871	8593
+-91.8408	38.7626	7853
+-120.1322	47.9323	6504
+-125.5875	47.4291	6610
+-89.1128	40.5939	7011
+-117.7644	32.299	8692
+-89.6552	36.3301	8014
+-90.2882	41.1738	6810
+-86.638	40.2463	6060
+-112.9715	32.1491	6550
+-123.1622	48.2829	8132
+-87.5212	35.1582	6672
+-90.2483	37.6466	8226
+-90.4676	39.3734	8746
+-86.8528	28.3388	4514
+-91.9346	39.6617	7485
+-110.8331	32.7288	8119
+-79.8958	26.9979	7216
+-89.8548	38.4363	8762
+-110.9178	28.7606	6350
+-87.3303	39.3264	7351
+-119.4238	43.3301	6088
+-114.9951	33.2806	7494
+-86.9071	36.3972	7288
+-108.4511	29.7168	6602
+-119.9319	32.8543	6313
+-119.0393	32.5699	7425
+-122.2523	49.1694	7084
+-90.2561	36.654	7794
+-124.5936	46.0241	7477
+-108.1858	33.1796	6574
+-118.9834	33.0971	7350
+-126.082	48.80	5572
+-116.2008	45.4342	6945
+-83.0474	30.3675	6773
+-115.3104	34.0049	7399
+-91.4387	38.5987	8275
+-110.659	32.7306	8181
+-108.6141	28.9646	6079
+-110.3372	32.9372	8007
+-119.9622	44.1601	6543
+-117.8568	46.7534	8434
+-112.5272	34.5275	5495
+-92.0758	36.745	6596
+-118.9111	38.7974	4143
+-92.2775	38.7013	7382
+-110.5209	31.6359	9262
+-117.9392	47.4221	7814
+-109.3642	33.6003	7049
+-86.8851	34.5905	5768
+-118.1008	46.4918	8803
+-122.3804	45.8793	8282
+-79.5366	27.2206	6890
+-117.1586	34.1468	9419
+-110.6246	30.823	8591
+-119.9886	30.597	5571
+-80.4865	31.3805	5399
+-82.3552	29.0227	8449
+-117.2268	34.4844	9152
+-106.227	29.8381	4639
+-117.2919	47.648	7314
+-90.9326	40.5075	7440
+-125.4103	46.7985	6842
+-116.8524	32.5724	9452
+-115.4211	46.6096	6182
+-119.8549	47.3102	7160
+-122.2658	44.0387	6315
+-91.3612	38.2365	8234
+-109.6006	30.2695	7844
+-116.591	42.6136	5156
+-80.4956	26.3998	7479
+-114.1573	33.7598	6447
+-113.6186	34.6711	5516
+-80.9214	25.6057	7089
+-118.2825	46.6077	8723
+-83.2275	27.181	8488
+-89.8613	42.3568	5496
+-114.9002	33.5779	7296
+-122.4716	46.4841	8897
+-117.9844	34.9394	8360
+-89.3963	39.5175	8077
+-119.0479	36.0688	6669
+-81.5648	26.6215	8446
+-110.7642	31.6569	9000
+-86.7006	35.4864	6444
+-117.4951	33.6604	8965
+-90.1392	34.3982	5837
+-111.5161	29.3938	6777
+-83.0789	25.4039	7013
+-108.2381	29.8113	6500
+-87.5662	35.5557	7090
+-120.1417	34.0527	6400
+-84.3811	25.7756	6495
+-86.258	28.0049	5218
+-108.4713	31.5297	7455
+-77.3937	28.5712	4453
+-85.1049	26.1122	6045
+-115.5499	33.6352	7928
+-119.4274	34.0951	7180
+-85.1158	28.4873	6421
+-80.0312	25.7971	6633
+-119.5239	33.0652	6814
+-87.4436	39.3482	7413
+-90.3064	40.1138	7952
+-92.5232	40.1719	6655
+-119.7675	44.4245	6890
+-119.7998	46.6205	7563
+-82.4849	28.0455	9385
+-116.2016	31.7535	8292
+-114.8936	32.7513	7440
+-90.0187	36.0186	7492
+-110.8211	30.9709	8625
+-90.3915	39.9844	8094
+-82.8171	26.1662	7923
+-87.8293	38.0839	8663
+-80.2583	27.3615	7722
+-118.677	29.973	6051
+-117.6009	35.0391	8485
+-94.096	34.4063	3265
+-89.9067	37.2471	8452
+-118.3967	36.3409	6833
+-112.4464	35.8252	4339
+-107.2125	31.5561	6092
+-117.4531	34.63	8959
+-84.3484	26.7611	7140
+-92.7964	37.7821	6622
+-121.6636	44.3789	6455
+-85.2312	38.0867	5819
+-116.9999	33.6666	8952
+-118.5703	47.864	7368
+-85.1979	24.8138	5078
+-111.3829	31.4565	8328
+-92.2047	34.027	4195
+-107.5396	34.6136	5008
+-90.8233	40.1658	7826
+-116.9843	31.6694	8473
+-114.3182	28.8945	4474
+-116.831	33.1774	9323
+-120.7487	45.4025	6547
+-108.0437	34.9505	5062
+-115.3855	33.3484	7892
+-113.6504	32.4566	6032
+-124.4954	45.5898	7291
+-121.2892	46.4848	7759
+-82.3602	28.8164	8677
+-117.7414	35.8514	7593
+-80.878	29.0242	7882
+-80.6421	29.9839	6869
+-120.0024	45.6665	7383
+-119.7114	45.4932	7617
+-123.3227	46.3845	8816
+-123.2216	45.7621	8236
+-117.7609	37.2139	6134
+-88.4757	37.6522	9488
+-81.833	25.8195	7664
+-91.0197	34.2193	5193
+-93.798	38.2369	5703
+-82.0451	29.4532	7982
+-116.5979	34.8113	8499
+-109.6014	29.8209	7406
+-90.5236	36.5326	7468
+-89.0405	36.699	8687
+-119.3802	48.5095	6457
+-88.774	40.5618	6812
+-115.1645	33.5994	7561
+-80.5486	27.5111	8076
+-106.5888	33.5507	4891
+-124.5095	46.4164	7737
+-117.7701	34.8252	8604
+-124.1402	45.2009	7236
+-111.7577	30.7579	7690
+-86.7774	36.3142	7115
+-116.3488	33.4584	8759
+-88.7342	38.4902	8889
+-94.3908	38.2699	5074
+-91.8346	42.3195	5271
+-113.7285	31.6835	5793
+-110.1109	30.3086	8072
+-120.6154	47.4851	7032
+-113.7602	32.1612	6102
+-118.6536	45.1613	8192
+-116.5491	41.0155	3571
+-89.4469	38.898	8403
+-115.1967	29.5047	5564
+-118.0208	32.2301	8407
+-90.7857	38.3024	8776
+-120.8195	48.8494	6523
+-121.6875	47.4865	8157
+-119.931	47.7734	6773
+-115.8538	35.2731	7558
+-79.7882	27.8292	7238
+-124.106	47.7419	8031
+-109.2518	29.5854	7012
+-113.5037	33.5188	5812
+-124.8244	45.7592	7110
+-122.4301	44.5595	6912
+-117.5212	33.5795	8873
+-120.424	31.2644	5526
+-82.8029	26.3866	8157
+-82.5061	27.0876	9016
+-106.93	32.4889	5658
+-122.6221	47.5203	8926
+-80.0216	27.3002	7446
+-124.6298	47.6258	7572
+-119.7834	42.709	5333
+-120.4595	48.9623	6143
+-113.7136	32.7591	6124
+-92.2078	36.1891	6035
+-114.7963	33.7574	7114
+-117.1627	30.9509	7660
+-120.8651	44.9445	6265
+-118.0642	32.7995	8528
+-111.1967	31.2968	8488
+-118.1687	47.694	7568
+-123.9404	44.9376	7101
+-94.0685	39.681	5328
+-112.1386	28.6941	5782
+-115.9007	34.9294	7813
+-115.0626	31.865	7379
+-117.0074	35.785	7714
+-118.2662	35.2028	7941
+-89.945	38.8044	8948
+-116.1191	33.1622	8732
+-123.2186	48.9292	7422
+-84.9279	39.7192	4928
+-117.9653	49.3908	5759
+-117.4352	31.3324	8017
+-116.787	33.7948	8898
+-88.4667	41.0202	6222
+-109.7353	26.9713	4435
+-116.9855	31.452	8231
+-116.1393	31.1733	7701
+-119.3995	32.2006	6954
+-111.6283	31.4559	8064
+-116.8592	32.0925	8936
+-112.6433	31.6217	6970
+-124.6833	48.4443	7062
+-88.7194	38.1291	9293
+-110.7367	29.3558	7021
+-111.2396	32.7956	7834
+-122.965	46.6599	9262
+-117.2884	47.5112	7432
+-118.7192	35.8117	7117
+-89.902	37.6429	8540
+-122.1771	47.3791	8692
+-89.6065	34.1544	5762
+-109.7931	30.1809	7845
+-91.4287	39.6052	7969
+-88.4471	41.4907	5808
+-119.0369	46.3319	8425
+-108.1819	31.8743	7121
+-90.8693	43.0115	4801
+-116.3298	34.3453	8490
+-81.832	26.6912	8629
+-89.1163	35.8179	7704
+-124.1027	46.5281	8200
+-86.2692	41.5824	4601
+-122.4661	46.9257	9127
+-118.1651	33.723	8460
+-114.3064	30.6927	5956
+-93.1711	37.7748	6241
+-115.1356	32.4459	7669
+-109.3479	29.8828	7344
+-117.7115	37.1953	6163
+-92.3238	36.2297	5996
+-121.4554	46.5212	7945
+-111.9506	30.9554	7594
+-115.2443	30.0607	6128
+-110.3442	28.7182	6369
+-115.551	32.0113	7936
+-86.5963	38.0383	7343
+-121.7289	37.203	3630
+-91.2098	38.0425	8252
+-83.3394	26.8197	8158
+-110.371	35.025	5744
+-118.681	32.9357	7836
+-82.5591	30.4497	6819
+-89.8545	38.3283	8695
+-120.3235	31.4587	5714
+-91.2943	35.8814	6180
+-120.1011	46.7276	7224
+-116.4979	34.2017	8696
+-122.7636	46.0376	8575
+-117.8254	33.7185	8779
+-120.46	45.1961	6764
+-119.3509	33.3971	7127
+-114.7762	33.7434	7100
+-125.731	45.7796	6234
+-115.4959	34.2595	7601
+-124.0725	46.8235	8308
+-87.9318	39.9817	7052
+-118.5126	42.774	5730
+-88.1538	36.2094	8041
+-123.1628	47.5669	8886
+-116.2768	31.4105	8006
+-88.9414	35.8772	7798
+-90.6649	39.7738	8280
+-110.3714	31.6715	9369
+-94.9271	41.8762	3480
+-117.0875	44.416	7073
+-109.6532	31.384	8706
+-118.8964	34.8081	7614
+-118.0106	46.9762	8289
+-89.3134	35.9756	7821
+-86.2384	38.3188	6884
+-118.6115	47.0406	8206
+-119.3316	45.9004	8130
+-117.6847	32.4593	8858
+-83.4176	29.2171	7701
+-124.7366	46.674	7563
+-118.6541	37.5123	5553
+-88.0326	41.5109	5516
+-89.321	39.7556	7848
+-91.1222	41.7508	6093
+-122.529	46.0488	8519
+-88.5429	35.912	7830
+-120.7582	44.4092	6086
+-89.3708	37.6104	9134
+-119.871	45.4487	7443
+-90.5334	38.33	8944
+-114.6992	30.9556	6481
+-91.0872	38.6247	8654
+-87.1113	34.4491	5754
+-91.0412	37.6443	8038
+-116.6282	47.9268	6650
+-123.3796	45.632	8048
+-117.1277	32.6629	9505
+-81.4927	30.2389	7003
+-126.534	45.471	5289
+-110.6188	29.6738	7382
+-121.8402	49.223	6867
+-90.4763	38.0275	8639
+-122.7879	48.7811	7609
+-84.2933	26.441	7025
+-91.2734	40.4471	7359
+-118.5186	31.5583	7524
+-123.9405	46.7935	8447
+-88.2396	37.4614	9181
+-119.1459	46.9195	8000
+-117.8864	47.0663	8154
+-125.0849	45.9862	6975
+-90.5001	37.5964	8175
+-108.1629	33.8421	6080
+-92.1167	39.9327	7163
+-114.291	44.4704	4694
+-117.2749	40.9275	3679
+-123.0747	46.2417	8787
+-86.5408	37.5077	7310
+-82.3944	26.3959	8314
+-81.6125	25.7432	7529
+-80.8062	28.7376	8032
+-88.823	42.6509	4896
+-90.9304	39.9209	8031
+-81.92	27.1496	9154
+-116.495	33.5304	8799
+-116.5641	45.8809	7425
+-122.6594	47.2152	9226
+-117.9115	37.0317	6299
+-118.0997	48.6598	6543
+-119.3544	46.6987	7961
+-115.585	32.4776	8166
+-88.6307	39.2516	8029
+-86.3736	37.4226	7115
+-118.7414	37.1195	5905
+-121.8273	46.3917	8269
+-110.6719	31.0778	8814
+-108.5427	30.2422	7050
+-93.4782	38.7593	6088
+-114.5989	35.5485	6244
+-87.398	35.3334	6779
+-85.5804	37.4426	6230
+-112.4124	29.3237	6147
+-116.7455	32.8123	9506
+-111.6226	29.8804	7159
+-82.9441	28.5183	8642
+-92.3954	40.483	6562
+-121.6993	48.503	7464
+-111.124	37.5865	2913
+-89.3844	37.2246	8963
+-108.8905	32.0278	7838
+-105.501	29.2388	3654
+-86.409	38.0363	7136
+-114.8937	32.4241	7400
+-119.8821	48.6097	6109
+-89.1264	37.5877	9402
+-115.0297	44.2804	5312
+-124.9199	49.5497	6004
+-114.6824	31.4599	6790
+-118.2821	46.7435	8579
+-87.8799	38.872	8135
+-108.4898	33.11	6880
+-115.8255	33.4281	8309
+-119.5736	30.1029	5555
+-86.3907	38.8679	6826
+-114.4002	34.1498	6411
+-125.0073	45.887	7005
+-89.3678	41.0392	6725
+-109.0103	33.7845	6691
+-118.2279	33.9719	8475
+-85.7802	33.57	4125
+-113.8328	42.6757	3313
+-120.5144	48.2331	6639
+-85.102	29.4805	6014
+-123.6051	47.3116	8744
+-113.5052	31.8501	6025
+-88.3458	38.2429	9014
+-84.809	30.1986	5802
+-108.0883	28.8475	5639
+-89.1455	38.6623	8619
+-114.144	35.7345	5710
+-82.718	27.4533	9142
+-116.0628	41.9939	4317
+-93.2922	39.2493	6243
+-79.4012	25.5931	5943
+-88.2304	37.1339	8967
+-117.8721	46.8773	8329
+-120.4981	46.0758	6915
+-84.9472	28.8674	6474
+-117.5872	30.2764	6836
+-88.5636	36.6065	8604
+-120.816	46.8251	7311
+-108.6025	35.6597	4675
+-81.2053	25.4904	7111
+-116.4662	31.8913	8580
+-90.3612	39.161	8981
+-117.8393	33.0504	8745
+-107.6379	31.1573	6517
+-113.5822	30.079	5594
+-119.3422	43.1538	5945
+-84.2264	27.3373	7475
+-118.3649	34.0715	8338
+-94.4194	42.4453	3526
+-120.8656	47.3343	7335
+-121.1235	48.8245	6782
+-88.628	37.6721	9659
+-114.7558	33.1096	7265
+-116.4294	48.0437	6416
+-91.6268	40.5958	7026
+-117.4556	48.4745	6597
+-109.2276	28.8871	6316
+-116.4267	36.1367	7168
+-117.3985	31.3762	8076
+-112.8618	32.3944	6597
+-121.3216	42.4884	4262
+-93.3193	39.7692	6075
+-119.546	33.2277	6862
+-111.9142	36.1111	4277
+-79.7442	28.5745	7039
+-124.0095	48.6648	7378
+-111.8892	32.5191	7506
+-91.1744	39.183	8452
+-114.9901	31.0463	6793
+-88.5629	37.1118	9152
+-89.2862	35.2268	7016
+-88.647	43.0256	4450
+-91.8731	41.1997	6334
+-115.0025	49.8784	3961
+-111.3394	33.1049	7497
+-106.6956	32.4037	5433
+-123.0962	46.2624	8803
+-116.3215	37.4554	5770
+-115.5722	35.5947	7097
+-122.3877	46.0269	8430
+-88.2701	36.6091	8504
+-124.1211	47.464	8158
+-79.4944	26.4693	6566
+-91.2283	33.2135	4104
+-88.8104	37.7065	9748
+-117.0805	45.0762	7588
+-118.2387	45.8027	8942
+-110.4393	29.3686	7071
+-80.0986	29.0362	7179
+-90.3956	38.3175	8958
+-91.2712	39.2855	8307
+-111.1298	31.7168	8599
+-105.2383	32.0697	3928
+-120.5623	47.4329	6987
+-91.6868	35.4855	5636
+-125.0813	45.9223	6949
+-115.4965	28.8412	5025
+-119.4334	44.1307	6845
+-116.6188	33.4426	8954
+-84.9641	29.5688	6096
+-109.2512	32.2162	8115
+-110.1596	26.48	3941
+-115.6269	30.0405	6315
+-87.2857	40.1547	6564
+-115.1212	31.8002	7403
+-83.8835	27.4436	7879
+-91.7714	35.4283	5544
+-108.2304	33.727	6220
+-119.1177	44.0928	6958
+-107.4691	30.0626	5960
+-114.7244	33.13	7228
+-111.9954	28.7062	5874
+-78.3428	27.0567	5529
+-122.0258	48.3926	7769
+-110.8419	28.61	6205
+-83.0402	28.487	8582
+-119.7491	43.5589	6154
+-82.8453	25.6451	7361
+-115.7413	31.414	7675
+-119.2509	31.6743	6904
+-115.5339	49.6914	4470
+-82.0022	27.2584	9299
+-84.1434	28.0243	7600
+-113.7594	32.1194	6092
+-124.3794	45.3246	7178
+-92.2863	40.248	6814
+-91.8144	39.8551	7476
+-115.4805	33.454	7949
+-115.1286	45.9291	5915
+-113.2115	35.7355	4782
+-92.9827	38.0223	6515
+-108.1459	33.1279	6572
+-116.4017	44.5815	6700
+-117.1453	31.9676	8785
+-110.4855	30.9561	8774
+-113.1705	32.0425	6360
+-83.6241	28.2874	8106
+-111.3314	33.6642	6973
+-118.2493	46.9547	8355
+-87.1637	37.5016	8006
+-88.6159	36.3893	8372
+-120.3306	30.7523	5351
+-116.9488	32.7979	9724
+-120.5897	34.4517	5896
+-114.603	31.5758	6775
+-109.778	33.3085	7510
+-122.8974	48.8788	7505
+-110.8486	31.2495	8808
+-119.597	30.3705	5746
+-119.3114	29.3697	5103
+-81.7809	27.8043	9491
+-119.0172	32.7227	7463
+-88.0906	39.8304	7270
+-109.9186	31.6909	9009
+-118.7651	49.7982	5311
+-115.5386	29.6207	5848
+-122.5313	48.6721	7689
+-87.9247	39.0784	7969
+-88.8178	36.1691	8134
+-119.3172	31.039	6466
+-122.7405	47.8921	8574
+-88.3704	36.691	8634
+-118.4708	33.694	8140
+-114.0977	28.443	4162
+-108.1283	32.556	6862
+-115.4333	32.8983	8040
+-116.8745	33.6163	8830
+-118.5882	45.661	8694
+-88.9083	38.8231	8507
+-92.2133	34.5262	4463
+-88.9982	35.8352	7744
+-91.1547	42.6775	5110
+-124.2669	46.6481	8064
+-90.4388	41.13	6858
+-86.713	37.4957	7502
+-87.6155	36.6204	8069
+-117.8545	45.3692	8363
+-121.4993	48.3278	7460
+-83.6519	27.1645	8044
+-88.7358	38.9941	8324
+-122.7932	45.0682	7517
+-118.6244	32.6829	7898
+-90.4133	35.6951	6932
+-120.2451	46.4516	7150
+-89.2247	38.5974	8650
+-112.9545	36.0988	4369
+-125.0352	44.6296	6128
+-119.9793	33.8197	6559
+-117.2243	32.2104	9018
+-122.603	42.3006	4470
+-117.2832	33.5899	8945
+-116.2181	33.8345	8349
+-109.5044	32.5653	8081
+-90.0501	36.1413	7578
+-83.7112	28.6131	7867
+-115.3517	30.8778	6938
+-114.8715	33.7147	7210
+-111.9498	33.8506	6457
+-118.5251	44.3059	7343
+-122.0655	47.7627	8339
+-86.5918	36.5391	7066
+-87.8611	38.6418	8321
+-89.7381	41.3854	6500
+-108.8474	32.7045	7457
+-81.983	28.6515	8877
+-111.5325	31.3197	8143
+-79.6416	27.7254	7073
+-123.5227	45.4049	7759
+-117.8388	34.6487	8698
+-114.8877	33.8637	7157
+-84.3382	38.437	4769
+-86.811	39.8884	6492
+-117.2079	44.9492	7592
+-111.3049	31.3563	8392
+-84.1321	27.22	7548
+-108.9331	32.3521	7743
+-119.7392	32.7484	6659
+-118.4021	29.014	5219
+-87.7344	35.9182	7537
+-79.5197	25.4416	5935
+-112.3757	29.6882	6455
+-117.698	28.9271	5339
+-116.8392	47.7742	6919
+-123.0294	43.4778	5771
+-116.0384	36.3823	6743
+-113.5095	32.6057	5858
+-88.7322	38.0935	9334
+-117.0264	43.4883	6191
+-122.9092	45.1553	7616
+-119.3275	45.8108	8113
+-117.808	43.6831	6652
+-117.5855	43.1756	6076
+-89.1624	38.8412	8105
+-86.343	41.5742	4653
+-87.6385	34.71	6263
+-117.5215	46.915	8079
+-114.2951	27.9018	3614
+-116.7133	34.3972	8869
+-122.0593	46.4619	8529
+-118.4344	45.6938	8802
+-113.6136	30.5099	5734
+-118.4701	42.872	5836
+-89.3049	38.4723	8727
+-116.4545	46.2164	7320
+-115.3581	31.7522	7601
+-116.9346	33.6004	8853
+-81.4369	25.5367	7249
+-116.9817	31.3458	8112
+-108.9471	31.3148	7944
+-118.79	31.0097	6890
+-115.018	32.9245	7576
+-88.438	33.3009	4901
+-116.0267	37.584	5538
+-91.686	36.4838	6607
+-117.7118	47.7447	7417
+-112.9455	31.9386	6617
+-122.8581	44.9432	7383
+-115.1285	32.7708	7702
+-83.2904	25.8537	7363
+-117.3296	34.3542	9287
+-111.3777	32.5558	7927
+-84.0632	27.5088	7690
+-115.3296	35.4109	7007
+-90.5657	39.4091	8687
+-120.2017	49.0962	5830
+-92.656	38.4244	6950
+-109.3374	31.5521	8394
+-118.3232	36.3495	6860
+-115.5683	35.1552	7376
+-110.0416	31.279	9017
+-122.1094	43.8128	6034
+-91.9217	42.5468	5009
+-116.7551	34.8303	8595
+-119.0952	34.7973	7416
+-117.9299	33.9043	8772
+-120.6039	48.1654	6760
+-126.4901	45.7545	5443
+-115.0648	45.3283	5755
+-114.6937	33.367	7144
+-111.5968	30.9975	7965
+-112.1677	28.0454	5156
+-119.407	47.7073	7184
+-116.226	42.5753	4938
+-119.0501	29.8196	5682
+-109.8075	34.1529	6632
+-120.6207	32.0922	5598
+-111.372	30.7201	8010
+-125.6081	44.3162	5443
+-118.8955	33.2732	7529
+-78.6885	28.0594	5981
+-89.0855	36.4421	8395
+-116.6497	36.1133	7276
+-89.3687	37.0523	8850
+-116.0893	37.0448	6112
+-116.6922	33.7208	8766
+-118.2331	45.4695	8591
+-117.153	35.3701	8183
+-119.0383	34.0605	7604
+-108.8627	30.8351	7686
+-89.7315	36.498	8114
+-89.2015	38.6297	8628
+-119.9141	39.3609	3146
+-118.1471	46.371	8939
+-119.742	46.5551	7642
+-117.866	33.4943	8582
+-78.4492	24.8672	4588
+-121.3325	48.2618	7372
+-121.6159	44.7253	6768
+-117.2602	35.4399	8113
+-116.7753	34.0603	8996
+-86.394	38.4225	7020
+-123.1912	45.3855	7840
+-118.4801	32.9423	8059
+-82.958	26.7284	8392
+-119.945	46.0537	7500
+-109.4502	36.4093	4158
+-110.1198	32.7193	8221
+-80.6652	29.2923	7497
+-118.0941	41.518	4404
+-85.3393	38.1724	5926
+-86.0872	37.1076	6743
+-90.5492	39.6233	8466
+-85.9174	28.4696	5538
+-118.7675	45.1559	8137
+-88.1564	39.6698	7464
+-117.7809	33.1538	8770
+-104.7286	28.5504	2569
+-111.231	33.4834	7197
+-118.0478	31.4194	7782
+-113.4261	34.8322	5280
+-92.027	39.269	7567
+-124.9086	45.0773	6577
+-108.4083	26.4133	3496
+-116.2788	45.0105	6844
+-115.5338	33.6503	7904
+-121.4717	32.9512	4773
+-112.5872	33.234	6447
+-119.5425	46.8119	7729
+-117.3254	33.3382	9047
+-109.3664	33.0098	7606
+-81.254	27.2763	8753
+-113.6538	35.5154	5318
+-83.8165	27.7897	7988
+-83.2154	30.1096	6973
+-108.9778	29.0608	6371
+-119.0839	46.5893	8267
+-91.1507	35.7953	6413
+-120.5795	49.6375	5719
+-115.7697	34.3496	7888
+-91.8307	38.8471	7861
+-118.3055	45.2201	8328
+-117.1712	47.03	7725
+-91.1747	39.1441	8471
+-88.5789	39.0368	8262
+-113.9008	32.3535	6294
+-119.9686	48.8655	5831
+-85.764	35.7038	5789
+-110.0817	30.4712	8238
+-95.0101	37.9655	4366
+-86.8447	27.8138	4562
+-119.1568	32.7126	7307
+-122.9349	44.8747	7308
+-117.1705	35.597	7938
+-123.7834	48.1574	7977
+-88.7148	41.3173	6124
+-116.0926	34.047	8254
+-119.9949	46.3351	7431
+-119.0108	29.7573	5649
+-115.597	31.1867	7378
+-85.8617	36.0721	6096
+-89.6127	35.7527	7467
+-121.0347	44.8121	6475
+-119.6526	34.9021	6803
+-116.9025	44.7975	7250
+-88.541	36.256	8212
+-88.8342	41.4139	6103
+-119.3825	35.7215	6652
+-116.7229	35.614	7817
+-111.2939	32.1294	8276
+-117.3285	34.1928	9444
+-116.8958	47.4439	7215
+-118.8885	47.3256	7813
+-80.9803	27.2618	8468
+-118.3049	35.883	7319
+-117.3859	36.3483	7118
+-94.9075	38.8048	4548
+-109.4253	31.6031	8490
+-115.1698	31.5335	7290
+-116.0534	45.818	6880
+-84.5764	36.0874	4789
+-89.949	39.4884	8501
+-118.2476	33.0522	8300
+-87.8729	37.9249	8771
+-89.5849	36.3734	8098
+-114.212	37.3906	4667
+-115.5646	32.0308	7960
+-109.7239	33.6721	7116
+-80.2366	29.0171	7322
+-90.5989	37.8069	8382
+-86.3419	37.1894	7041
+-91.139	37.3352	7695
+-88.0723	33.481	5053
+-125.0782	45.4413	6685
+-89.6369	40.3494	7522
+-116.9838	34.5925	8950
+-113.6705	44.6916	4152
+-116.958	33.4031	9099
+-120.1013	31.0859	5759
+-109.5382	29.8534	7411
+-115.513	42.2529	4240
+-118.757	47.3263	7868
+-80.7478	27.2353	8214
+-116.9365	47.2774	7366
+-83.0756	27.3058	8706
+-91.7656	37.887	7668
+-122.2962	45.4133	7775
+-117.0128	49.6954	5222
+-117.3498	34.6824	8932
+-117.8132	47.0248	8162
+-122.9569	47.3899	9137
+-120.8848	33.3551	5501
+-118.8686	42.9594	5877
+-92.4604	37.6797	6906
+-111.2049	33.8168	6876
+-116.6824	34.1341	8901
+-119.5078	32.439	6887
+-117.7491	35.1488	8312
+-120.0045	46.5131	7386
+-113.5989	31.4462	5932
+-117.8225	33.5693	8674
+-123.9753	44.6477	6798
+-94.1591	40.1819	5072
+-110.42	30.2687	8046
+-113.7115	27.54	3765
+-85.4391	38.2128	6030
+-119.1523	43.5147	6372
+-116.45	31.9465	8624
+-121.3562	47.9054	7621
+-80.3245	32.5426	4115
+-116.5648	33.6839	8629
+-89.087	36.3762	8323
+-123.2384	46.6374	9087
+-123.6759	47.7567	8390
+-90.7429	38.8924	9007
+-117.6134	45.3444	8191
+-117.1671	43.4684	6233
+-124.878	47.6944	7291
+-122.6229	44.3479	6713
+-112.1836	30.1743	6954
+-89.3404	39.3371	8134
+-125.8365	47.0244	6379
+-87.7354	38.3541	8424
+-117.7192	33.3138	8747
+-107.3823	30.8799	6187
+-91.9201	37.6037	7358
+-93.2603	40.7034	5676
+-118.9601	45.8844	8508
+-88.8347	40.8689	6596
+-106.592	29.2109	4674
+-117.2264	45.9215	8125
+-115.8099	33.8548	7920
+-123.0963	45.7146	8214
+-89.3991	38.4353	8697
+-87.0641	37.9164	7883
+-80.5458	32.5151	4228
+-117.3649	34.0932	9422
+-116.6059	42.5313	5084
+-110.0426	32.3989	8535
+-90.9699	41.6295	6257
+-116.7633	32.9134	9502
+-116.2084	33.837	8339
+-117.3428	34.5116	9117
+-127.7439	47.5983	4240
+-111.2606	30.493	7923
+-91.00	37.5243	7945
+-116.387	36.4509	6834
+-117.6011	33.482	8739
+-88.5041	39.4222	7822
+-90.9922	40.5601	7366
+-82.843	29.4443	7832
+-81.9446	26.2306	8142
+-115.9978	32.853	8671
+-90.7724	38.1167	8623
+-120.8601	46.9793	7365
+-115.2804	33.4752	7734
+-120.7527	43.9327	5781
+-116.9772	32.3469	9229
+-81.285	27.2062	8742
+-88.2474	38.5433	8671
+-80.0657	26.5634	7186
+-91.4578	40.4729	7236
+-116.4719	43.01	5467
+-119.3052	37.6869	5069
+-88.226	38.6742	8531
+-108.6138	31.5914	7611
+-117.3671	33.4575	8793
+-118.864	47.2292	7916
+-123.0842	46.6449	9199
+-80.1461	27.9013	7639
+-83.3363	24.0076	5427
+-116.0195	32.5943	8668
+-116.8209	33.7486	8896
+-92.4884	40.8672	6206
+-121.9221	49.0275	7100
+-117.5865	48.5831	6529
+-120.7577	31.1269	5123
+-91.634	39.7969	7666
+-87.6639	38.2881	8394
+-112.5819	29.8524	6399
+-90.6644	39.6732	8384
+-83.2933	26.4129	7876
+-93.9829	37.7637	5402
+-88.7614	40.5618	6803
+-116.7769	36.6922	6696
+-116.5335	35.759	7593
+-109.8534	32.1116	8700
+-125.2423	42.3287	3898
+-119.3434	47.1183	7704
+-111.8562	32.6506	7459
+-119.5946	44.7248	7248
+-82.1577	30.487	6815
+-119.3293	46.3341	8125
+-117.8011	44.5065	7497
+-111.9634	31.0336	7610
+-92.8239	38.1677	6720
+-116.7675	32.0411	8860
+-120.7986	44.6147	6167
+-90.3605	37.0253	7887
+-109.8174	30.725	8389
+-117.1469	48.0304	6888
+-118.3997	38.4852	4633
+-115.8832	35.757	7211
+-81.2596	28.5227	8585
+-117.8512	29.7967	6243
+-91.3859	36.5897	6857
+-117.975	35.8907	7471
+-87.4152	39.479	7277
+-86.0485	32.49	3253
+-117.2169	30.9954	7702
+-113.9561	43.0163	3633
+-76.8635	24.8638	3086
+-121.854	47.1731	8435
+-116.8362	34.0083	9049
+-126.8518	47.8833	5149
+-91.5797	42.2225	5466
+-111.9188	32.9303	7220
+-117.3383	35.2533	8314
+-117.7233	32.0126	8521
+-118.6141	45.1696	8215
+-105.2601	26.9439	2025
+-116.78	30.0714	6684
+-119.107	46.5737	8254
+-107.9311	28.9076	5578
+-115.5919	33.1937	8163
+-119.0837	47.7267	7340
+-122.1044	44.8814	7154
+-118.379	32.0219	7945
+-109.4671	32.4125	8174
+-91.3123	39.4567	8166
+-86.3946	37.9856	7128
+-118.8367	32.2588	7576
+-110.1191	35.11	5645
+-116.2569	34.7115	8269
+-94.2353	39.6125	5170
+-108.6573	31.9129	7623
+-115.1628	31.7838	7434
+-125.221	48.7496	6391
+-84.2006	31.7673	4798
+-119.5413	33.0884	6807
+-115.1851	47.4903	5664
+-81.8518	25.4185	7217
+-114.1665	32.0859	6525
+-89.2525	37.5975	9264
+-113.7778	32.4242	6169
+-121.4118	46.7517	7954
+-78.1966	27.2054	5394
+-117.2828	29.9103	6492
+-88.5826	35.6609	7555
+-119.0563	46.1457	8440
+-111.5458	31.6432	8158
+-88.032	40.0639	7000
+-113.7997	35.023	5634
+-81.8879	27.3067	9303
+-90.8292	36.1819	6963
+-116.2206	34.3353	8376
+-88.9287	42.0357	5551
+-91.7273	37.5445	7478
+-116.8948	34.0652	9126
+-108.5285	31.0254	7427
+-123.9364	49.8143	6277
+-112.4538	30.6942	6982
+-120.5128	42.539	4811
+-90.2595	38.5681	9187
+-90.0533	41.2356	6722
+-117.9057	42.6971	5634
+-116.4673	45.9336	7329
+-117.2432	35.8873	7624
+-81.1857	25.1307	6723
+-124.0021	47.8118	8080
+-83.4623	28.7016	8054
+-119.9034	31.7012	6249
+-90.0509	37.1038	8241
+-127.3095	44.4332	4019
+-113.0606	30.5767	6324
+-90.9514	38.0525	8455
+-88.4245	34.0036	5686
+-111.7291	33.7391	6691
+-116.0954	33.1116	8727
+-124.6109	45.6617	7242
+-87.7937	36.5156	8124
+-107.5089	33.0968	6002
+-112.4573	34.8976	5209
+-87.0846	39.1517	7296
+-107.0143	27.8032	4023
+-118.2318	30.9824	7267
+-117.5442	46.2723	8457
+-121.3202	46.1494	7652
+-120.0273	43.5723	6008
+-121.8017	48.442	7585
+-117.5446	36.258	7200
+-104.8099	29.6692	3140
+-88.6297	35.0159	6836
+-114.0729	34.5554	6024
+-82.8595	25.6371	7347
+-105.373	33.145	3839
+-112.9435	27.7616	4459
+-111.7166	30.6424	7661
+-121.8101	45.2827	7402
+-118.3578	45.622	8748
+-118.1289	45.4278	8530
+-88.6511	35.942	7875
+-118.0614	32.1872	8344
+-110.0259	29.9388	7661
+-121.8322	49.0859	6999
+-114.808	29.1108	4969
+-89.2971	37.5038	9192
+-80.899	28.0111	8469
+-111.6898	33.2515	7144
+-89.8883	40.2511	7721
+-115.7702	38.874	4115
+-86.764	37.4216	7551
+-83.6407	28.8727	7777
+-121.7149	31.8428	4346
+-117.0045	33.9534	9191
+-118.8888	48.0068	7142
+-90.3096	36.919	7891
+-88.7271	38.2853	9118
+-118.2231	33.9235	8470
+-123.1522	47.1979	9230
+-107.7594	33.564	5955
+-116.5206	34.0714	8721
+-123.5941	49.6815	6528
+-89.1148	39.9791	7521
+-122.1435	47.0978	8763
+-118.8297	47.2984	7866
+-90.0026	35.1051	6623
+-115.8939	30.07	6464
+-116.9083	46.3825	7774
+-124.123	35.1263	1981
+-121.9941	33.7359	4363
+-111.5052	30.1265	7448
+-115.5305	33.4099	8020
+-81.125	27.1203	8537
+-89.6265	37.8155	8835
+-124.9437	49.3789	6133
+-116.3998	33.6414	8451
+-85.388	28.0904	6192
+-122.476	47.9295	8450
+-118.059	33.8843	8632
+-118.6228	48.0388	7176
+-118.6933	43.7533	6738
+-92.1814	37.574	7109
+-123.4186	47.2781	8942
+-120.671	43.2087	5289
+-120.5197	33.9569	5984
+-120.9136	44.1425	5788
+-123.171	47.7747	8670
+-115.8394	45.9428	6667
+-79.4722	27.7168	6881
+-112.8899	30.7641	6565
+-123.0699	46.3001	8850
+-90.3344	39.4845	8631
+-119.3223	45.6262	8051
+-112.0063	31.4445	7655
+-117.9126	33.5173	8564
+-119.1989	44.2002	7027
+-116.1205	34.8826	8044
+-84.04	29.2698	7146
+-116.3106	28.5686	4958
+-91.3822	37.252	7484
+-124.9967	48.7683	6569
+-113.2209	33.5124	5711
+-87.1119	40.3732	6254
+-86.0266	36.1006	6273
+-80.9334	28.2173	8442
+-113.5002	29.6256	5440
+-82.9832	30.7414	6392
+-116.2928	47.0982	6902
+-117.1805	35.2151	8354
+-118.7743	48.4869	6680
+-120.0576	35.0159	6345
+-119.5292	35.9595	6366
+-119.3563	47.5826	7322
+-123.6646	45.7083	7989
+-124.9446	48.2104	6977
+-115.6472	32.2228	8139
+-117.0278	32.5035	9397
+-93.2106	40.7187	5711
+-91.1212	35.5813	6285
+-87.7734	38.7321	8180
+-117.7124	43.0738	5999
+-122.6969	46.7104	9247
+-119.1548	31.2481	6750
+-90.002	33.2727	4692
+-118.7195	34.2816	7945
+-116.6689	32.9986	9364
+-112.7109	30.7448	6742
+-109.4065	33.1788	7474
+-90.3186	35.7529	7050
+-122.8308	47.4725	9045
+-90.8034	36.3049	7065
+-115.9694	31.4345	7852
+-117.6817	29.3451	5799
+-121.3429	46.9186	7895
+-115.2156	34.4651	7271
+-109.6587	30.3822	7981
+-127.5086	47.0874	4541
+-114.3148	45.1989	4951
+-111.6241	35.9344	4556
+-77.7718	27.7949	4958
+-93.0333	37.0408	6026
+-80.3007	27.1502	7705
+-118.7956	31.3995	7172
+-117.4376	38.7934	4451
+-80.515	27.1787	7944
+-108.7549	31.838	7741
+-117.8486	32.4983	8707
+-88.7429	41.5006	5972
+-87.9512	35.6089	7331
+-119.3086	32.6409	7133
+-89.5264	33.7808	5371
+-108.208	30.0406	6628
+-90.1676	40.1548	7893
+-123.2013	46.6768	9147
+-88.6717	37.7701	9657
+-118.6941	34.5515	7915
+-119.4484	31.5499	6645
+-89.3984	39.7083	7943
+-116.2821	37.1131	6115
+-111.4488	31.7303	8255
+-116.2537	36.6081	6621
+-115.6319	35.4933	7218
+-120.9183	47.47	7360
+-116.2355	33.1626	8851
+-127.0546	48.6846	4667
+-118.7027	46.0492	8813
+-115.8014	49.2638	5002
+-87.5875	41.34	5317
+-91.5324	38.5459	8166
+-91.8688	37.8117	7531
+-89.7935	37.849	8644
+-111.498	36.5166	3982
+-83.3588	25.5739	7051
+-117.582	29.9186	6448
+-113.1057	30.6751	6313
+-112.7709	32.4817	6659
+-90.0686	37.7893	8335
+-125.0967	46.5205	7144
+-89.8349	37.9832	8408
+-91.5789	35.9953	6188
+-110.1823	30.8186	8629
+-123.2144	46.2172	8713
+-89.9008	36.2436	7773
+-119.1245	36.3706	6366
+-108.7787	31.0798	7703
+-90.9898	42.7776	5034
+-115.8865	34.3932	8006
+-116.6996	32.1147	8915
+-119.697	47.9087	6829
+-118.2666	35.2889	7871
+-84.2547	30.262	6187
+-107.4461	30.033	5923
+-108.0654	33.5283	6236
+-116.9716	34.2873	9175
+-116.5971	32.3603	9098
+-81.4067	24.9122	6560
+-118.5993	45.4949	8538
+-81.5169	28.8613	8471
+-118.3903	33.9522	8296
+-116.3953	32.3606	8938
+-89.4894	38.8685	8452
+-88.4931	36.7234	8713
+-86.90	40.3334	6161
+-116.8945	34.2696	9106
+-116.5537	36.1802	7174
+-118.8139	48.225	6941
+-110.4947	35.0793	5682
+-88.988	39.9256	7458
+-78.5795	29.7235	5303
+-118.3523	48.1643	7073
+-80.0086	27.3171	7435
+-82.0506	25.5715	7407
+-110.7556	29.8416	7532
+-90.3467	39.5098	8604
+-90.0394	38.8877	9025
+-118.4439	47.6741	7585
+-116.0102	32.062	8394
+-116.7759	37.14	6215
+-117.5779	35.4874	8022
+-115.6104	33.3827	8114
+-77.6047	26.6549	4617
+-121.8114	45.2195	7345
+-119.4199	30.7625	6184
+-86.5091	37.5768	7279
+-108.9106	31.7407	7923
+-83.1777	27.60	8696
+-123.4201	49.5789	6680
+-116.8184	33.7721	8910
+-123.8318	44.0225	6214
+-79.2423	27.5906	6616
+-91.083	38.4367	8598
+-84.4674	27.1952	7174
+-81.6138	30.6078	6625
+-93.0153	36.9073	5961
+-123.6151	45.9021	8197
+-123.916	44.4292	6603
+-114.7623	44.8619	5308
+-80.1764	25.0468	6102
+-119.0564	44.1937	7082
+-125.727	48.8926	5848
+-88.7169	36.6959	8725
+-89.2074	36.2484	8149
+-115.3493	32.2938	7857
+-93.3402	40.8665	5505
+-112.1399	31.8051	7502
+-90.3748	35.3029	6606
+-110.5337	30.5924	8378
+-88.7617	38.6852	8671
+-121.8924	41.7906	3813
+-116.3629	31.6671	8305
+-115.0699	31.3786	7098
+-120.503	46.1289	6909
+-114.9709	34.4899	7004
+-94.0805	38.6624	5438
+-112.2691	30.6946	7166
+-116.5845	44.1607	6530
+-88.2541	36.755	8642
+-84.0481	27.7191	7726
+-118.1769	30.2591	6597
+-83.0674	27.3671	8743
+-109.096	30.3559	7585
+-122.3762	46.6744	8947
+-89.3768	35.6775	7480
+-117.2356	33.1317	9291
+-86.7103	36.433	7124
+-87.771	40.1261	6836
+-107.8769	32.511	6629
+-81.2292	27.6119	8855
+-119.9108	33.0633	6426
+-80.4089	25.7753	6912
+-90.5121	37.3782	7939
+-114.5019	31.9944	6855
+-123.1232	49.2676	7066
+-84.9953	24.0327	4570
+-117.4669	44.658	7506
+-82.7778	24.9297	6601
+-88.7886	39.7027	7422
+-108.0413	32.3872	6842
+-121.2038	33.9811	5240
+-116.3214	34.3445	8481
+-114.7662	45.1776	5410
+-89.0844	40.3676	7188
+-89.8709	39.0798	8768
+-115.9019	31.9977	8255
+-90.1034	38.0479	8610
+-119.4629	44.3494	7025
+-115.6021	36.0698	6752
+-123.5158	42.9732	5167
+-109.3534	31.4243	8398
+-120.843	33.9811	5633
+-125.4885	46.037	6585
+-113.7008	31.1546	5796
+-118.6679	35.1025	7679
+-117.8199	33.6553	8740
+-84.692	29.3203	6506
+-91.6002	39.8591	7650
+-89.7834	41.8064	6067
+-125.9892	47.2901	6194
+-116.4024	45.2353	7068
+-88.2369	37.7708	9209
+-85.0983	37.037	5637
+-111.4789	32.4403	7923
+-109.34	29.2116	6688
+-117.2418	46.0349	8155
+-118.2714	34.3073	8425
+-84.3788	39.3782	4528
+-112.1238	31.0553	7451
+-89.9053	38.0438	8505
+-117.1204	28.9893	5480
+-83.0497	29.5683	7606
+-111.5443	32.2263	7988
+-117.8939	44.9097	7934
+-108.5852	28.8279	5938
+-116.6072	34.342	8783
+-88.7325	37.142	9226
+-109.4888	31.9039	8495
+-115.1823	35.1436	7011
+-91.2735	35.8787	6184
+-116.6265	35.8336	7556
+-117.3785	46.1958	8297
+-123.0855	47.3155	9172
+-110.9199	29.0105	6614
+-118.0271	45.7172	8773
+-122.7428	44.3355	6710
+-119.5654	46.319	7883
+-116.668	34.804	8557
+-89.5461	37.8229	8923
+-80.3315	28.8937	7488
+-111.666	29.4505	6749
+-110.1219	32.0646	8904
+-119.0753	33.4773	7439
+-83.5677	24.3399	5690
+-91.1182	37.0941	7472
+-114.3798	34.2818	6385
+-88.2828	35.4554	7275
+-116.4402	34.1167	8636
+-122.0749	33.0028	4150
+-89.6361	39.0668	8550
+-120.1365	36.6814	5351
+-122.3367	45.2629	7635
+-110.405	29.6662	7395
+-87.0561	38.7773	7525
+-82.6162	27.3114	9142
+-79.0425	25.5353	5580
+-118.3163	33.203	8008
+-88.8819	37.7012	9680
+-121.6853	46.828	8263
+-117.2123	32.809	9479
+-83.883	28.8832	7544
+-91.0735	37.6486	8023
+-106.137	30.8415	4857
+-121.2014	47.6201	7607
+-117.6922	46.3603	8577
+-115.3829	31.7446	7620
+-112.711	30.3128	6553
+-118.5812	34.6402	8001
+-114.5888	30.8566	6316
+-87.2542	35.9187	7221
+-88.8641	40.5708	6868
+-87.2074	39.5142	7101
+-79.9823	25.3943	6269
+-114.8927	31.0894	6742
+-92.6151	38.2616	6962
+-89.2754	38.8702	8223
+-117.2857	29.7516	6316
+-127.2513	47.2414	4816
+-78.0441	24.6643	4085
+-87.8235	37.2426	8655
+-117.0811	43.5327	6258
+-91.5727	37.554	7606
+-83.4125	27.803	8445
+-87.0102	35.2686	6479
+-80.7037	29.5627	7295
+-87.726	38.7725	8110
+-112.3943	33.3524	6531
+-83.6589	28.2157	8093
+-80.4888	30.7463	6042
+-107.2204	29.4035	5356
+-121.1226	46.9007	7652
+-116.8949	33.8974	9058
+-123.1541	48.6978	7684
+-119.6253	43.4269	6093
+-124.8974	45.8046	7067
+-117.2211	45.1951	7783
+-91.7815	38.9654	7900
+-89.8466	38.9396	8811
+-108.4546	29.0221	6032
+-88.2247	37.7814	9193
+-110.6158	34.9171	5849
+-117.9181	34.1352	8827
+-115.446	33.2024	8003
+-122.9831	47.2206	9313
+-116.2215	34.4875	8334
+-108.081	29.2283	5943
+-117.597	37.4694	5881
+-79.3528	30.2621	5666
+-117.4506	33.8162	9138
+-116.301	34.5624	8385
+-82.997	24.8439	6444
+-114.4257	30.5061	5922
+-85.1756	32.3823	3638
+-119.9461	43.4534	5950
+-109.8392	34.4884	6281
+-116.8853	46.5996	7688
+-113.6309	32.2587	5827
+-90.4801	38.1712	8792
+-112.6107	28.6207	5425
+-115.2694	34.0077	7355
+-119.6846	40.7196	3372
+-89.477	36.5089	8291
+-88.7668	38.091	9338
+-121.1942	49.9245	5855
+-117.8841	33.3202	8424
+-109.2654	33.3706	7218
+-93.5112	39.0038	6042
+-120.4907	44.4253	6326
+-111.0989	30.4897	8027
+-123.3629	46.4256	8824
+-120.708	32.9729	5576
+-88.1529	35.0502	6799
+-92.0578	37.1228	6908
+-123.2704	46.7467	9133
+-120.1217	36.5759	5439
+-114.5227	39.6955	2772
+-114.9411	32.3285	7429
+-111.0933	32.5868	8110
+-107.8372	30.4645	6510
+-79.4845	30.8583	5286
+-118.6625	30.3779	6440
+-106.992	30.6853	5725
+-80.8004	26.4485	7772
+-89.9596	38.1323	8617
+-91.3843	37.6992	7860
+-87.6514	36.6857	8148
+-117.0841	42.0337	4771
+-88.2675	38.2885	8920
+-115.0948	32.8875	7664
+-117.0381	34.1918	9281
+-112.9011	33.4495	6034
+-118.9682	32.0244	7352
+-114.8491	32.1944	7291
+-116.3201	34.1487	8505
+-88.3393	35.9465	7826
+-123.5553	48.8611	7404
+-90.3019	37.6885	8277
+-125.1256	49.1528	6179
+-121.0541	47.0047	7578
+-90.0226	41.3365	6610
+-88.4097	37.3747	9298
+-82.2391	27.0485	9071
+-124.1244	49.1704	6836
+-89.7641	37.8583	8675
+-82.5678	27.3027	9173
+-87.4247	36.3807	7729
+-109.7363	29.8496	7487
+-113.6861	36.4435	4890
+-125.3649	47.4521	6846
+-88.0382	36.0004	7774
+-124.6897	47.3797	7588
+-116.367	46.5394	7178
+-118.8196	44.179	7148
+-118.3248	34.8472	8145
+-119.4663	47.1504	7585
+-79.8846	29.2502	6844
+-89.3616	37.4242	9094
+-115.6737	33.9102	7783
+-123.6101	47.8325	8376
+-114.8951	32.4159	7399
+-93.4386	37.346	5800
+-117.2227	35.5203	8024
+-121.8904	44.9784	7156
+-91.0077	40.0155	7903
+-117.8089	37.7437	5555
+-87.3127	38.1873	8081
+-116.5355	34.1088	8740
+-118.0803	46.3873	8888
+-122.147	44.5647	6841
+-88.8485	38.6861	8666
+-81.833	24.9715	6712
+-117.3869	26.6923	2906
+-116.8429	46.523	7671
+-125.3919	47.0712	6866
+-109.2846	31.3234	8303
+-90.791	39.7286	8282
+-126.6649	49.1676	4815
+-111.0763	34.6225	6084
+-117.8159	42.9818	5921
+-116.6164	30.9833	7671
+-105.6515	32.1385	4365
+-119.6412	44.792	7264
+-91.289	38.0062	8161
+-117.2436	47.9159	7044
+-119.4142	48.4542	6495
+-120.8528	46.8821	7355
+-111.1258	31.1789	8510
+-110.9635	33.6034	7181
+-118.9018	33.774	7712
+-118.2702	35.4065	7769
+-116.9012	31.5372	8324
+-118.1715	44.3907	7446
+-124.2636	46.524	8031
+-117.0167	47.3166	7401
+-125.5339	48.3708	6327
+-116.3715	32.0615	8680
+-120.0219	47.1348	7118
+-91.3336	35.9737	6261
+-110.8059	32.6594	8200
+-116.5573	33.2537	9085
+-117.8644	43.3383	6302
+-88.9412	37.6601	9619
+-114.8993	35.752	6410
+-116.2558	33.3608	8754
+-82.1335	28.8042	8719
+-83.8246	26.9307	7758
+-84.3308	26.762	7159
+-119.7121	36.8871	5520
+-89.3115	36.5836	8455
+-91.5674	39.0195	8115
+-91.5567	37.6054	7658
+-90.4253	37.5291	8108
+-126.1543	46.9024	6030
+-117.1406	46.9378	7760
+-121.0828	32.9545	5181
+-122.4226	35.7021	3659
+-119.5059	34.0072	7091
+-123.5316	49.2217	7033
+-114.6287	34.7048	6594
+-85.1674	38.5418	5657
+-125.9678	46.879	6234
+-119.4098	33.2951	7028
+-109.0087	32.4769	7742
+-116.4395	35.6979	7607
+-85.2496	29.5523	5829
+-116.3395	49.9966	4649
+-120.7943	33.9233	5683
+-118.2907	33.3168	8109
+-114.087	29.9773	5242
+-117.854	46.2987	8760
+-116.8634	34.3875	9018
+-122.0324	43.4888	5668
+-91.3099	36.4375	6739
+-116.2799	29.3087	5766
+-110.3284	29.5304	7249
+-108.1476	31.6803	7103
+-114.3421	33.7778	6635
+-117.3526	36.6186	6825
+-115.6528	33.3769	8160
+-89.2138	36.8392	8760
+-110.6562	31.6462	9117
+-115.4637	35.8356	6833
+-118.8323	38.088	4898
+-112.2733	34.0381	6084
+-89.8674	39.5705	8380
+-117.3857	33.0417	9222
+-113.1878	36.7443	4255
+-110.3617	29.3474	7051
+-111.6987	32.6606	7589
+-118.6739	37.5058	5552
+-118.2123	33.4501	8265
+-90.609	35.3466	6490
+-109.112	28.9862	6364
+-121.5278	46.3702	7962
+-91.9906	38.9981	7671
+-89.4988	37.8173	8976
+-113.7807	30.0546	5388
+-119.0764	33.8015	7531
+-125.0142	46.9155	7283
+-91.222	40.151	7664
+-90.8023	42.4876	5371
+-109.0003	29.5542	6843
+-115.2151	32.7669	7798
+-111.7997	30.4259	7450
+-89.5478	38.4468	8466
+-116.1748	29.9124	6395
+-125.1374	49.1189	6195
+-83.7284	27.0302	7905
+-83.4955	26.4257	7730
+-116.4823	32.7776	9211
+-85.4462	37.7427	6087
+-121.3731	48.0536	7547
+-91.6945	42.1326	5514
+-115.638	33.5476	8061
+-126.9058	49.8643	4175
+-116.5657	43.0135	5520
+-116.4173	38.3298	4867
+-117.9505	32.6031	8630
+-78.7977	29.7174	5521
+-84.3573	28.6121	7201
+-123.9012	49.9075	6193
+-117.3297	36.3933	7072
+-82.6644	28.0393	9217
+-114.4647	33.414	6884
+-118.6847	34.5852	7914
+-107.8956	27.8991	4687
+-118.7742	46.728	8416
+-110.0181	30.9847	8741
+-89.683	37.0838	8596
+-116.8067	36.191	7238
+-118.0524	47.6399	7611
+-91.1225	39.3458	8401
+-117.0111	33.8269	9103
+-80.6253	26.8616	7903
+-108.8188	31.0812	7745
+-88.9866	37.6786	9568
+-110.0205	33.9999	6833
+-109.047	27.418	4750
+-112.4227	30.5128	6930
+-115.7868	32.4208	8365
+-119.881	44.9407	7170
+-115.7737	29.8552	6192
+-91.7601	36.7424	6801
+-90.0235	38.0966	8620
+-117.4667	46.4823	8306
+-92.5397	38.9689	7088
+-90.4269	38.0508	8669
+-116.782	32.6313	9461
+-86.5963	40.2395	6036
+-119.0233	29.4611	5363
+-88.5324	39.1088	8174
+-118.8709	31.6226	7246
+-118.5502	41.5052	4386
+-88.0298	36.5026	8269
+-117.8402	46.4817	8641
+-116.2449	33.2536	8812
+-122.0932	48.3327	7863
+-113.085	31.3828	6484
+-109.0281	33.113	7295
+-90.3427	38.7282	9375
+-108.7511	31.0751	7673
+-123.6414	43.6508	5873
+-92.9793	37.894	6478
+-114.1031	33.9919	6300
+-118.5907	32.0987	7772
+-91.4188	35.3385	5854
+-115.5761	34.9294	7500
+-120.2585	35.7453	5831
+-88.7486	35.8022	7723
+-94.0786	41.2442	4619
+-89.3032	36.0737	7929
+-85.4734	35.5589	5426
+-116.5626	30.2121	6813
+-120.5845	48.2801	6682
+-116.7009	34.8337	8556
+-89.4376	39.6314	8031
+-118.8989	32.5835	7582
+-114.2179	33.6046	6563
+-116.4255	34.2368	8613
+-90.2621	41.0927	6896
+-120.4735	45.8562	6927
+-116.9073	33.8751	9055
+-109.7837	32.8477	7980
+-89.5251	38.9114	8483
+-117.2868	33.2039	9192
+-89.8256	38.1217	8519
+-120.2661	32.7425	6072
+-86.7376	35.9963	6865
+-90.1351	36.5062	7801
+-110.992	34.8897	5821
+-118.4808	43.8502	6869
+-81.935	24.179	5827
+-91.4068	39.6444	7959
+-90.1096	36.7718	8004
+-116.8228	29.8336	6422
+-125.7875	46.3779	6369
+-118.7066	35.1559	7611
+-89.6257	40.5186	7351
+-119.1612	46.5297	8225
+-89.0197	37.464	9452
+-117.6161	36.76	6647
+-77.4053	26.931	4460
+-119.8122	49.167	5631
+-120.3454	46.8237	6946
+-118.2457	31.5072	7711
+-85.2255	26.9813	6283
+-114.3127	32.5737	6780
+-87.1027	34.9677	6257
+-119.8986	46.4106	7518
+-113.5734	32.3007	5878
+-108.7272	29.5831	6694
+-81.057	28.6976	8282
+-119.6606	46.6302	7698
+-108.7759	30.6885	7528
+-114.6457	44.3792	4999
+-109.3103	30.6679	7986
+-110.5697	29.6379	7350
+-82.7202	26.7901	8604
+-112.7556	31.4133	6843
+-87.903	35.8483	7556
+-88.0872	34.431	6105
+-123.4747	47.2562	8899
+-121.5418	48.362	7467
+-118.4475	47.9936	7248
+-116.0893	32.577	8738
+-122.7423	45.7548	8264
+-90.1527	34.4537	5888
+-90.9209	36.7181	7159
+-120.0439	33.0078	6269
+-114.1844	34.4573	6157
+-110.0856	34.4346	6373
+-109.7842	31.7581	8849
+-80.0193	25.981	6762
+-82.8216	25.4705	7181
+-118.8121	48.6959	6455
+-89.987	40.2399	7763
+-81.2503	27.2915	8758
+-80.3648	29.9798	6687
+-108.2605	32.2918	7100
+-94.3408	38.642	5157
+-117.1919	31.7178	8502
+-83.6336	29.5752	7234
+-107.5665	33.9613	5521
+-87.2044	37.7591	8058
+-108.7363	31.7622	7732
+-118.3582	34.5899	8247
+-116.7454	44.2309	6697
+-81.5912	24.1981	5809
+-117.3987	31.3938	8094
+-86.6472	35.8128	6655
+-121.3231	45.1658	6976
+-121.4105	41.7938	3624
+-124.5311	46.8832	7812
+-115.0284	33.7513	7353
+-118.5558	30.5708	6684
+-115.1124	32.3476	7619
+-82.5731	25.6438	7440
+-120.9966	48.8818	6640
+-84.4665	34.5458	3851
+-89.8975	37.2387	8458
+-119.7524	44.2528	6761
+-122.689	46.599	9140
+-91.488	40.8866	6832
+-115.8585	28.9885	5308
+-117.79	33.0054	8811
+-122.5462	45.8264	8295
+-88.087	36.9293	8690
+-120.1595	35.4833	6056
+-117.1864	33.4386	9017
+-113.4053	33.8021	5631
+-116.0967	36.9677	6193
+-84.9245	31.3839	4723
+-81.5244	25.944	7718
+-121.9247	45.9542	8062
+-110.4754	34.6249	6175
+-87.0785	39.9642	6614
+-83.4149	25.1543	6600
+-89.3107	35.9509	7795
+-117.9275	47.9772	7237
+-114.6206	32.558	7120
+-116.5915	34.9702	8365
+-88.5837	37.8859	9494
+-115.7146	32.9008	8353
+-87.2221	34.7169	6078
+-87.5142	36.5625	7941
+-116.6431	45.4106	7376
+-115.1287	30.7196	6643
+-126.9395	47.3837	5145
+-79.5275	25.477	5968
+-90.5017	39.0287	9098
+-117.6304	32.7066	9002
+-117.347	32.9217	9313
+-92.5582	36.6658	6178
+-122.0623	44.3295	6566
+-106.7336	31.3759	5567
+-82.0069	25.5871	7423
+-86.7268	34.8338	5897
+-83.1216	29.6696	7466
+-124.1778	46.6422	8158
+-115.6628	30.4199	6710
+-108.3173	29.9633	6671
+-93.357	35.3594	4563
+-82.2048	31.052	6175
+-113.7372	34.5675	5659
+-121.1742	45.373	7025
+-88.29	38.9415	8287
+-115.445	34.0571	7549
+-119.1253	35.2779	7157
+-93.4641	38.7864	6104
+-118.3868	43.9931	7026
+-89.3308	40.6509	7082
+-120.5034	46.9717	6734
+-91.2368	42.8382	4923
+-113.8219	31.8005	6067
+-116.9104	36.5637	6858
+-88.9442	38.624	8721
+-117.3525	32.2163	8957
+-91.2149	38.9893	8492
+-83.5255	29.2989	7550
+-109.1479	35.9021	4621
+-116.7418	33.4926	8958
+-111.7615	28.9161	6196
+-80.6783	27.9345	8235
+-118.3443	33.5865	8220
+-91.1648	37.3823	7727
+-86.0457	33.2107	3955
+-115.7402	32.7972	8385
+-78.037	25.7512	4727
+-119.944	46.1945	7499
+-115.4794	33.6651	7843
+-118.8239	33.6902	7772
+-119.6843	46.0948	7777
+-117.5577	36.2353	7223
+-116.6192	33.9395	8801
+-115.5187	35.2093	7299
+-83.4607	28.2992	8274
+-118.2056	41.9966	4914
+-83.3093	26.7968	8168
+-82.8088	27.1125	8829
+-87.4065	35.1237	6579
+-111.5121	32.5724	7806
+-82.8506	27.6038	9060
+-124.6792	46.7487	7637
+-115.485	36.2218	6543
+-109.7432	33.1965	7612
+-124.7886	48.4555	6964
+-82.3522	29.0749	8392
+-119.2301	49.4734	5550
+-92.7675	37.4685	6507
+-116.7703	47.8609	6802
+-89.5999	36.8816	8530
+-87.9507	39.0171	8043
+-114.3563	30.1139	5562
+-121.3493	46.8699	7899
+-119.5783	33.1345	6791
+-109.7131	30.1893	7821
+-116.2571	47.2264	6805
+-108.6479	30.7572	7440
+-78.5175	28.9976	5571
+-119.6714	34.2615	6911
+-87.3243	40.4714	6274
+-115.524	34.9521	7438
+-116.6321	32.7513	9373
+-111.1984	31.1109	8406
+-115.991	32.7692	8663
+-81.7855	26.7826	8712
+-113.7265	33.0019	6133
+-120.1314	46.1357	7303
+-89.7378	35.5763	7228
+-111.7364	34.3575	6105
+-112.9754	33.7839	5748
+-118.0882	35.0443	8200
+-123.425	48.0614	8272
+-88.497	35.7381	7630
+-86.9399	37.836	7756
+-88.372	33.582	5209
+-87.8743	37.7817	8805
+-115.6252	37.729	5226
+-93.9708	39.2372	5522
+-125.8002	47.2356	6406
+-80.2482	25.8774	6873
+-118.7963	33.9945	7862
+-117.2156	37.5963	5760
+-115.9206	35.1381	7706
+-117.6958	34.1891	9066
+-88.6557	39.4908	7763
+-81.4552	25.6589	7388
+-116.5106	32.2515	8943
+-117.9963	34.2233	8736
+-127.2095	44.0865	3912
+-122.8746	48.8684	7517
+-89.5313	41.8204	5990
+-125.2572	45.9727	6796
+-93.0231	37.0755	6055
+-118.0471	31.7171	8033
+-80.7047	27.4985	8248
+-82.4492	28.323	9169
+-112.9755	30.3074	6295
+-115.3113	30.9292	6953
+-121.5006	45.0386	6989
+-88.5302	40.7329	6499
+-114.0213	32.1707	6390
+-123.4894	48.7468	7546
+-80.4248	25.2627	6463
+-124.3634	48.4354	7328
+-107.7182	34.1687	5489
+-121.067	43.2911	5072
+-122.122	49.6415	6546
+-116.7167	46.765	7458
+-119.4893	44.9737	7513
+-91.2845	38.4372	8396
+-115.2603	31.8518	7566
+-117.5952	47.653	7462
+-110.8975	29.0756	6689
+-118.6235	32.7384	7903
+-109.0685	28.9079	6267
+-117.9652	45.7153	8732
+-112.7584	30.3909	6546
+-86.475	32.9224	3902
+-87.7535	39.3213	7637
+-91.4218	38.7736	8305
+-110.6673	33.0644	7829
+-81.3884	28.3173	8844
+-91.7435	36.6802	6755
+-109.2715	28.6353	6079
+-115.9449	32.6694	8601
+-120.4239	34.3919	6082
+-82.9069	26.3765	8093
+-125.7754	47.3411	6421
+-114.7023	33.9272	6940
+-116.167	31.8859	8384
+-120.9848	47.6306	7379
+-114.7772	44.789	5296
+-120.8909	35.4109	5346
+-79.2486	25.8477	5973
+-86.6249	25.6072	4254
+-115.5192	33.9476	7621
+-116.3899	30.5909	7188
+-108.3946	33.4998	6520
+-116.9835	31.6586	8461
+-89.1651	37.9679	9254
+-82.9412	28.1199	8895
+-92.4476	40.881	6227
+-108.2318	28.2814	5233
+-115.2102	34.0213	7291
+-108.5089	30.5489	7201
+-89.1757	38.9334	8108
+-117.9468	46.6144	8610
+-116.9861	33.2946	9219
+-89.2252	37.7733	9286
+-109.4346	30.4981	7947
+-88.9637	39.9211	7441
+-116.8217	32.9254	9551
+-119.1243	47.7266	7321
+-118.998	46.1549	8501
+-116.2064	41.3102	3731
+-111.0625	32.5903	8127
+-110.477	34.2657	6563
+-81.7715	25.0022	6738
+-114.4028	34.4441	6396
+-89.0979	38.5962	8707
+-88.1202	36.7987	8601
+-113.7198	33.0275	6124
+-91.3818	40.7781	6988
+-91.6538	37.7414	7676
+-116.868	34.3254	9055
+-118.637	45.0196	8057
+-88.2754	37.8182	9238
+-116.6837	31.9509	8737
+-109.8286	32.1607	8643
+-90.4238	38.5125	9165
+-127.0426	44.7168	4427
+-87.8182	38.5404	8367
+-118.046	35.7138	7616
+-115.3691	33.4362	7842
+-118.3735	35.032	7983
+-87.2421	37.332	8063
+-109.8063	33.8098	6995
+-111.1043	33.1062	7624
+-123.1302	46.8509	9323
+-86.7937	35.8091	6774
+-80.7598	29.3568	7515
+-113.7859	35.7698	5342
+-123.3795	44.642	6999
+-109.4653	32.926	7741
+-118.1049	35.5334	7758
+-88.8218	38.9267	8399
+-84.3582	26.4957	6994
+-86.0352	39.6301	6039
+-117.9899	32.6395	8594
+-92.4163	36.3673	6048
+-115.2351	31.7243	7469
+-81.4454	28.0101	9067
+-90.8002	37.9718	8473
+-114.6811	34.9339	6585
+-109.7008	32.4108	8345
+-118.0428	44.3993	7441
+-111.2787	32.4693	8070
+-88.9803	37.7452	9559
+-119.6261	37.5727	4988
+-90.3997	42.8406	5015
+-111.0452	29.7236	7316
+-93.5385	41.4126	4974
+-119.3076	46.1265	8175
+-114.7533	31.4978	6879
+-124.4786	48.653	7068
+-116.6802	30.4927	7141
+-112.0899	29.9036	6840
+-88.5548	34.4884	6240
+-118.3587	32.8769	8199
+-87.1574	40.2794	6370
+-120.5569	49.2431	6017
+-87.5751	38.0051	8424
+-115.9575	35.2333	7673
+-118.7136	46.5261	8619
+-116.9712	30.3643	7018
+-81.7354	26.6312	8531
+-92.2789	36.4226	6189
+-89.1052	36.8537	8827
+-88.3686	39.2893	7939
+-88.5658	40.5668	6655
+-81.2819	26.8138	8447
+-121.939	44.2495	6440
+-118.7926	46.6931	8433
+-82.8882	29.1477	8112
+-82.0579	30.3449	6974
+-114.1968	31.935	6511
+-110.6648	28.5607	6179
+-118.3673	48.4593	6760
+-117.3219	33.5107	8856
+-89.259	38.1992	9000
+-88.6698	39.4471	7813
+-121.0004	46.0046	7267
+-92.9421	39.0577	6646
+-118.0163	43.0266	5993
+-92.0113	37.5482	7243
+-121.7253	32.9651	4510
+-116.7595	47.8183	6828
+-110.1426	34.8344	5945
+-118.7532	36.4363	6548
+-91.8997	39.6051	7548
+-118.0017	47.4656	7784
+-115.4938	30.6933	6871
+-88.9553	39.4974	7687
+-117.6123	34.5604	8939
+-121.4233	47.7944	7746
+-89.8212	43.1013	4695
+-115.4933	31.7175	7703
+-115.772	36.0833	6858
+-122.2661	47.0389	8905
+-115.6362	33.3472	8155
+-110.1696	31.1288	8950
+-118.201	33.2212	8304
+-88.7308	37.1172	9198
+-91.3534	41.0606	6723
+-118.5786	47.8139	7419
+-119.9107	43.1673	5708
+-88.6971	35.3416	7205
+-86.5578	37.6209	7335
+-121.0449	47.3449	7526
+-121.6894	42.5123	4535
+-120.4116	33.9683	6103
+-110.0895	32.9441	7976
+-87.3041	37.5437	8168
+-88.1276	39.9012	7206
+-118.8935	44.7791	7720
+-117.2025	48.529	6445
+-108.3417	31.8211	7300
+-84.53	31.0689	5276
+-91.693	35.9286	6072
+-119.3658	47.1235	7683
+-115.6101	33.5929	8010
+-90.2506	41.067	6923
+-114.0915	34.075	6252
+-91.3509	40.0903	7643
+-117.4784	43.7733	6653
+-80.6172	27.2215	8070
+-119.8585	45.2737	7377
+-119.7448	48.3486	6420
+-89.2467	35.1269	6914
+-116.8174	34.186	9044
+-121.5925	46.9512	8170
+-111.8645	28.8533	6082
+-121.3709	34.1169	5061
+-85.1665	40.5321	4650
+-117.198	44.2178	6960
+-121.6289	45.3681	7362
+-81.7763	27.0171	8953
+-91.9103	38.363	7726
+-87.386	34.4465	5883
+-121.2537	35.3003	5006
+-89.7698	39.3041	8533
+-112.8419	30.5914	6551
+-121.051	35.2243	5242
+-115.5227	32.444	8090
+-89.0684	36.6917	8670
+-120.5824	44.9156	6521
+-84.4965	27.9834	7208
+-82.1196	31.0891	6133
+-124.0082	45.3903	7489
+-81.1539	27.5562	8759
+-125.7876	48.903	5787
+-120.4471	48.8217	6227
+-124.5074	47.0625	7837
+-83.4738	28.5539	8134
+-91.6224	35.5009	5676
+-120.087	33.3997	6359
+-118.4768	45.3256	8415
+-127.6337	48.8508	4009
+-90.8274	39.4273	8551
+-87.5593	43.7458	3239
+-119.863	44.9654	7201
+-88.9489	37.9706	9417
+-125.0882	44.4321	5927
+-119.6527	33.0745	6690
+-80.867	29.8329	7151
+-85.247	28.9237	6134
+-92.1539	33.6604	3927
+-83.8088	28.2279	7926
+-117.8388	34.3297	8878
+-92.4912	40.8421	6223
+-123.5008	47.053	8939
+-85.3762	36.7412	5870
+-78.1994	30.8372	4246
+-92.0963	36.1298	6050
+-106.3106	30.2805	4892
+-91.0356	35.8142	6528
+-84.5624	31.1802	5152
+-115.9244	33.1573	8530
+-116.3843	32.3111	8893
+-83.232	27.7348	8649
+-117.8293	34.7077	8661
+-115.6692	33.4173	8158
+-89.4831	40.8978	6914
+-90.8855	37.8428	8307
+-127.5396	46.4967	4483
+-83.9791	35.5738	3950
+-118.3716	33.8041	8280
+-110.6946	34.5791	6204
+-121.8391	48.221	7801
+-126.6911	47.1267	5437
+-82.769	29.5328	7769
+-115.2165	32.5465	7778
+-84.1603	28.9138	7257
+-91.9544	36.4638	6434
+-111.9465	33.6594	6625
+-115.4442	28.4081	4551
+-123.6075	47.6923	8493
+-108.2856	30.5003	6964
+-114.2917	44.8408	4828
+-120.1502	47.225	6952
+-117.5916	31.6324	8259
+-121.1881	33.8901	5252
+-80.9388	26.2635	7720
+-119.046	45.044	7881
+-89.5295	39.3529	8298
+-116.4519	43.4452	5845
+-116.1471	30.6189	7137
+-111.7375	34.2454	6213
+-88.4306	37.8558	9382
+-117.978	30.3348	6764
+-125.6246	48.3583	6245
+-86.1813	34.738	5431
+-116.5128	32.2073	8905
+-110.0557	29.4186	7109
+-80.6812	25.3833	6735
+-120.9055	45.0768	6588
+-90.1185	37.3547	8258
+-126.6411	45.9524	5348
+-123.4632	47.1431	8958
+-93.146	36.8335	5800
+-115.7767	32.5277	8387
+-124.4161	44.5363	6459
+-80.8278	27.8046	8415
+-107.9537	30.8392	6772
+-121.1659	46.792	7691
+-109.1962	32.4463	7927
+-80.9278	27.0247	8291
+-120.6412	35.1005	5709
+-122.1157	48.13	8065
+-83.917	26.4305	7371
+-83.2325	28.2952	8513
+-117.4288	34.7537	8838
+-115.0489	37.6931	4963
+-92.3087	38.2791	7288
+-87.3453	38.3967	8021
+-108.6926	32.0581	7623
+-119.1697	29.723	5517
+-82.5274	24.237	5874
+-81.2825	26.513	8178
+-81.8117	28.5107	8975
+-119.5788	43.6939	6366
+-81.1599	25.6069	7212
+-115.1602	34.9164	7087
+-91.1278	42.1706	5651
+-116.8209	32.1072	8945
+-121.254	45.1617	6923
+-111.2219	31.1737	8413
+-121.2006	48.6893	6948
+-91.291	39.7959	7932
+-118.2131	33.7641	8430
+-109.6453	31.2327	8637
+-114.4503	31.8035	6727
+-118.2634	42.5564	5508
+-83.4435	27.8413	8408
+-119.6373	43.5006	6156
+-124.6749	47.1015	7651
+-115.4058	34.7596	7396
+-115.3532	31.2322	7231
+-85.6396	36.1041	5892
+-123.0781	41.7062	3824
+-88.1857	39.3184	7849
+-117.1421	31.6318	8417
+-87.9909	37.714	8943
+-82.1434	27.5291	9624
+-117.7192	35.3817	8089
+-117.9712	33.1645	8567
+-90.2562	36.255	7512
+-117.3661	32.6369	9264
+-89.6749	41.3395	6531
+-108.9448	30.3631	7471
+-112.76	31.2707	6823
+-108.0179	33.4486	6252
+-90.1223	36.2706	7631
+-92.7888	35.6912	5230
+-115.5694	36.0678	6731
+-118.0938	36.6415	6657
+-118.3356	36.5235	6682
+-84.3713	40.1657	4139
+-122.8509	47.1361	9412
+-117.7675	34.1966	8987
+-91.0727	40.5279	7369
+-91.4878	34.3862	5031
+-117.9971	32.9586	8593
+-120.6619	32.2985	5591
+-125.9212	48.3851	5939
+-79.7377	25.9076	6462
+-113.2114	46.8483	3831
+-121.2357	49.4799	6294
+-118.8393	43.4916	6436
+-86.5299	38.7559	7022
+-112.7039	29.607	6130
+-104.5069	30.6693	3084
+-83.4788	29.5122	7399
+-88.0351	36.2639	8040
+-82.9729	26.2413	7923
+-86.7482	36.2231	7030
+-115.2847	44.9302	5852
+-84.7224	30.8424	5344
+-116.8552	46.7864	7582
+-116.2933	35.4048	7791
+-108.2934	34.4549	5657
+-111.1949	30.9308	8303
+-119.961	45.4508	7355
+-106.673	30.4901	5335
+-119.3299	30.7179	6228
+-118.5058	32.8833	8034
+-115.8787	37.0824	5983
+-109.3281	30.8251	8109
+-116.6487	43.3441	5867
+-113.5138	31.9297	6007
+-114.8165	32.3273	7293
+-89.7922	38.9183	8762
+-80.8246	30.6595	6300
+-90.5055	33.8478	5106
+-81.7228	24.9511	6673
+-89.7916	39.3664	8503
+-124.2382	47.9315	7794
+-115.3754	33.3592	7878
+-89.8717	41.5786	6326
+-118.1531	44.9695	8055
+-121.2404	45.8082	7383
+-90.0545	38.376	8888
+-79.5509	27.6098	6965
+-107.7761	31.0766	6649
+-74.3767	24.874	527
+-118.2629	30.8081	7086
+-116.0468	35.9292	7170
+-117.3777	46.2637	8286
+-118.7276	47.34	7866
+-90.091	38.7914	9106
+-113.9561	31.9875	6270
+-112.5033	33.4407	6379
+-81.4963	30.5022	6715
+-89.6247	35.9728	7684
+-88.9639	36.4931	8480
+-117.5185	32.3646	8957
+-122.9505	48.2352	8211
+-123.0024	48.4634	7958
+-122.8711	42.2767	4454
+-118.7575	45.8945	8713
+-124.1712	44.8703	6913
+-88.4798	38.2154	9119
+-82.978	29.9647	7228
+-118.7536	32.6561	7752
+-117.4566	33.2509	9023
+-117.7766	32.5377	8797
+-115.8035	45.6433	6590
+-87.2049	35.9536	7214
+-121.4384	46.8566	7996
+-121.8613	44.6615	6828
+-115.7561	35.113	7574
+-118.7247	49.2051	5939
+-117.6494	44.5563	7493
+-117.4737	34.3858	9182
+-89.4548	37.2137	8891
+-90.5414	35.9852	7071
+-114.303	31.8115	6577
+-111.4912	32.1331	8085
+-116.5714	33.4745	8897
+-94.0798	37.0038	5018
+-116.8612	36.3115	7121
+-115.6329	43.9502	5646
+-89.5106	36.4889	8252
+-114.5929	34.5704	6583
+-122.3478	35.5427	3786
+-117.6341	43.3717	6290
+-117.8254	30.6249	7127
+-87.702	38.1456	8504
+-110.5635	29.2974	6984
+-117.2735	42.7817	5587
+-85.2959	25.6473	5585
+-114.9758	44.4324	5337
+-121.5863	34.2249	4825
+-118.8278	48.5831	6568
+-113.9296	34.5128	5874
+-107.6079	32.9268	6181
+-120.0352	48.0927	6450
+-90.4033	36.134	7299
+-83.2933	26.2065	7693
+-115.6552	44.7963	6154
+-118.3378	34.5229	8295
+-88.7041	40.325	6943
+-89.0938	40.3844	7180
+-114.4946	30.1092	5664
+-118.2606	44.6802	7757
+-91.4788	35.3827	5608
+-87.8253	36.2684	7924
+-116.3839	31.7629	8410
+-110.8942	30.2172	7874
+-90.9392	40.2096	7741
+-83.2703	28.272	8485
+-109.4549	36.851	3687
+-118.0968	47.7661	7485
+-117.2751	33.9542	9342
+-116.7093	31.4746	8229
+-117.7257	30.3765	6903
+-117.0514	48.9934	5930
+-81.3569	27.5462	8979
+-89.528	40.9439	6886
+-122.0755	47.8561	8274
+-121.5826	44.2827	6321
+-114.3002	28.6018	4097
+-80.7126	25.0103	6384
+-118.582	34.9921	7824
+-108.9154	31.0595	7836
+-119.0212	43.4627	6360
+-109.2046	32.2562	8050
+-123.3925	44.3284	6658
+-122.5157	47.3708	8993
+-120.1864	48.5194	6000
+-117.3572	49.1121	5923
+-124.9013	46.4327	7331
+-118.6065	34.1917	8075
+-86.6022	36.5621	7088
+-85.1547	26.3547	6119
+-87.4589	38.4958	8077
+-90.2315	42.5986	5273
+-112.1803	35.0343	5233
+-89.7964	37.1964	8545
+-117.541	34.9939	8553
+-116.4882	37.6831	5574
+-116.5958	32.8349	9339
+-81.0767	26.9923	8410
+-127.2431	43.7525	3670
+-116.9164	34.1891	9151
+-82.4295	28.7315	8751
+-117.6672	37.4069	5940
+-90.4535	36.7796	7676
+-123.5212	47.3409	8809
+-108.443	30.5512	7140
+-110.8158	30.3358	8024
+-116.7784	30.749	7437
+-120.227	43.5969	5904
+-114.908	35.1498	6736
+-78.1594	29.8432	4820
+-82.5362	28.0209	9353
+-115.9333	33.5787	8321
+-90.4103	42.127	5784
+-118.6688	33.5705	7890
+-117.9251	33.391	8455
+-116.259	32.7418	8959
+-120.4489	35.3729	5812
+-89.7463	41.4997	6382
+-108.8921	28.038	5327
+-115.5081	29.3364	5544
+-117.9076	44.6024	7625
+-79.2781	26.6792	6436
+-110.9965	32.2433	8460
+-91.1945	39.3275	8351
+-121.1935	47.2554	7705
+-87.5226	38.4725	8151
+-124.7858	45.0781	6674
+-117.2561	35.6644	7868
+-117.0979	34.0755	9343
+-116.7125	48.451	6266
+-91.3563	36.9486	7218
+-90.6826	41.2567	6703
+-80.355	27.7706	7881
+-82.9528	28.0464	8913
+-115.975	30.8634	7310
+-91.0405	37.7239	8111
+-83.4433	26.7947	8047
+-83.0857	25.7913	7412
+-109.756	30.4679	8113
+-117.4289	32.1968	8890
+-119.504	45.4138	7778
+-91.1286	39.34	8400
+-90.2546	41.8789	6049
+-115.7561	31.7761	7972
+-90.8911	35.5917	6482
+-117.2124	32.6594	9427
+-108.5021	31.5809	7490
+-116.5725	34.3761	8736
+-124.5908	45.5312	7170
+-110.0672	32.4817	8458
+-81.0674	25.0523	6593
+-115.0327	32.3841	7542
+-90.5854	39.2464	8847
+-88.423	38.6727	8621
+-89.4218	40.8688	6916
+-117.9603	46.1701	8911
+-114.2057	28.4228	4058
+-118.393	31.0977	7261
+-120.3767	46.2676	7036
+-115.1905	33.8826	7442
+-117.202	31.9334	8733
+-118.3354	36.0656	7129
+-114.5697	35.063	6426
+-117.3927	43.0585	5904
+-109.3926	29.818	7306
+-110.7623	34.9975	5745
+-116.841	47.8074	6893
+-115.921	33.6016	8295
+-115.7631	32.2672	8277
+-119.0803	45.886	8387
+-117.5496	31.7943	8440
+-84.4303	26.8109	7078
+-123.0014	45.0396	7486
+-112.7867	35.903	4284
+-118.0923	46.4904	8800
+-120.5698	45.9582	6834
+-117.9893	33.2064	8532
+-110.8487	30.2903	7965
+-122.6772	46.7309	9250
+-120.5511	45.6639	6815
+-110.519	30.3215	8092
+-88.9774	36.9107	8935
+-118.6228	33.2695	7784
+-118.5404	47.4125	7844
+-88.0637	33.8357	5444
+-121.0206	48.0996	7195
+-82.9833	28.2433	8790
+-123.2821	45.3956	7830
+-80.2098	28.1209	7680
+-90.9879	42.2423	5604
+-108.5617	31.2322	7517
+-83.431	29.5901	7360
+-118.9324	32.1671	7444
+-126.9629	45.7221	4938
+-119.1327	37.9266	4927
+-82.6556	27.5824	9266
+-123.4761	47.9768	8329
+-82.3905	29.674	7715
+-124.7385	46.9587	7586
+-117.7224	40.5566	3360
+-116.8791	35.0711	8431
+-122.4922	47.1939	9093
+-114.1566	31.7238	6390
+-121.2286	32.2528	4958
+-80.6627	27.886	8223
+-118.5401	49.6683	5472
+-82.7422	26.8405	8639
+-79.791	28.3222	7169
+-122.1688	45.2997	7606
+-119.5232	44.6722	7258
+-88.5085	39.9047	7051
+-117.2001	45.3653	7874
+-80.996	28.195	8517
+-93.2986	38.4962	6270
+-84.3528	27.5646	7371
+-114.8267	34.0583	6875
+-110.1586	29.5693	7283
+-81.0297	29.476	7590
+-109.5376	29.8353	7393
+-90.2473	36.9097	7949
+-115.0914	32.7683	7660
+-119.7298	44.4348	6925
+-122.9973	49.2767	7066
+-82.5147	29.5023	7882
+-121.6808	46.6979	8235
+-124.8435	45.7629	7095
+-92.7236	41.1304	5826
+-124.8789	45.8538	7112
+-115.5891	45.0563	6201
+-122.6358	46.9661	9316
+-114.1021	33.7787	6382
+-117.8674	47.1171	8097
+-120.5614	46.7293	7024
+-89.879	35.8784	7452
+-82.4725	29.6662	7709
+-123.0491	48.5041	7909
+-120.4312	35.3997	5820
+-119.1112	30.7104	6400
+-119.6984	32.9428	6584
+-78.0626	26.7833	5154
+-112.7234	35.1336	4837
+-86.5085	38.6398	7055
+-111.4306	33.3126	7255
+-109.1655	30.1416	7463
+-116.0637	32.692	8736
+-125.6425	49.2885	5658
+-118.0599	33.3123	8293
+-119.6331	35.3014	6659
+-121.0746	47.7567	7421
+-109.8773	34.4353	6344
+-119.5398	49.6208	5301
+-115.284	32.3748	7812
+-118.2231	32.2723	8225
+-87.7128	36.7299	8233
+-119.3641	42.7707	5553
+-89.028	38.7565	8556
+-89.9305	39.4089	8563
+-92.2333	37.8995	7230
+-122.0047	42.7603	4882
+-115.665	32.0471	8066
+-118.2092	32.919	8362
+-109.6654	29.0729	6659
+-119.1139	35.316	7145
+-114.2079	29.5384	4974
+-114.1561	34.66	6097
+-93.1565	37.0333	5909
+-90.8393	38.6554	8922
+-125.4616	46.34	6709
+-89.9699	37.3093	8406
+-122.5859	44.8828	7291
+-113.3065	32.8787	5960
+-122.0723	49.4283	6753
+-89.5697	39.4567	8263
+-86.583	24.32	3525
+-83.1541	25.8647	7450
+-86.8135	35.472	6518
+-78.1441	28.921	5194
+-89.9629	33.2412	4670
+-111.8351	30.9285	7698
+-85.9521	38.2213	6595
+-89.9234	43.3913	4397
+-118.0112	32.0003	8274
+-81.2183	27.0168	8554
+-120.1121	47.3363	6923
+-81.8967	28.1465	9386
+-92.0354	40.0735	7143
+-110.9829	30.4521	8060
+-116.0679	32.3024	8598
+-89.8257	41.9381	5936
+-116.9249	35.5317	7968
+-118.3624	45.7565	8887
+-108.4379	32.3216	7270
+-89.9283	34.7665	6309
+-118.1962	36.0023	7261
+-115.8838	45.6269	6670
+-83.0219	25.3594	6989
+-107.9553	32.0847	6840
+-88.9241	36.8599	8893
+-111.2957	33.9673	6688
+-122.3721	46.0466	8441
+-85.6447	28.3013	5874
+-90.4667	39.186	8946
+-116.3324	45.7785	7166
+-89.3485	37.3611	9078
+-119.3001	44.6628	7396
+-119.3465	38.146	4608
+-119.0912	35.1328	7268
+-95.6925	37.418	3525
+-87.5753	37.0954	8332
+-114.9736	46.5074	5729
+-118.9389	33.8532	7688
+-111.4446	32.569	7864
+-117.1771	34.0437	9400
+-79.8502	25.8386	6512
+-89.0239	36.9303	8940
+-118.4126	36.3675	6799
+-107.9107	29.237	5820
+-123.0146	46.0214	8560
+-90.9742	37.7993	8218
+-88.3557	35.5657	7413
+-88.3242	35.7494	7607
+-114.865	33.3377	7338
+-114.2612	47.5421	4735
+-88.7742	35.796	7716
+-85.0749	40.6646	4476
+-115.6879	31.1623	7421
+-118.5387	45.8019	8845
+-82.7475	30.7346	6463
+-90.0089	36.662	8022
+-117.9994	32.4776	8540
+-118.4838	33.7227	8137
+-115.0031	33.9509	7224
+-82.6514	26.3922	8231
+-93.544	38.4688	6004
+-82.3877	25.6098	7435
+-91.3972	41.0527	6713
+-109.3962	27.0632	4472
+-119.2659	48.2252	6781
+-116.447	43.8531	6187
+-115.6527	31.2776	7496
+-86.8103	35.5525	6582
+-118.6169	44.0517	7063
+-82.7885	28.893	8418
+-116.6844	30.5035	7154
+-88.4229	35.2364	7061
+-122.9872	32.4953	3047
+-119.5306	35.3222	6748
+-87.7311	36.7269	8246
+-119.2072	49.1159	5920
+-108.8876	30.8966	7740
+-89.8451	38.5311	8798
+-124.2893	46.0748	7792
+-83.8029	26.1042	7227
+-87.0134	36.8607	7649
+-89.0082	37.6592	9544
+-124.5289	48.0451	7460
+-119.3933	48.0018	6928
+-84.0054	26.4658	7313
+-123.4011	45.5132	7917
+-83.487	28.7649	7990
+-108.1959	33.134	6613
+-116.2099	48.7933	5661
+-113.3327	29.9102	5752
+-121.7448	46.8039	8325
+-84.4393	25.9121	6545
+-107.7508	28.1719	4838
+-111.9039	29.8712	6956
+-116.4513	34.5247	8551
+-124.78	47.8296	7334
+-117.9998	33.8748	8690
+-120.5205	48.0414	6738
+-89.4844	38.487	8415
+-120.5782	47.6051	6961
+-119.5075	47.9712	6892
+-115.27	38.3765	4422
+-81.2431	26.4671	8110
+-87.4226	40.6866	6104
+-94.2549	37.6958	5099
+-119.8459	36.4812	5733
+-84.9829	30.3266	5559
+-118.5936	33.7763	8039
+-90.6161	37.0684	7595
+-119.9297	34.5999	6589
+-79.892	24.9779	5845
+-111.1725	32.2876	8287
+-116.0031	38.0424	5057
+-120.0548	43.4822	5913
+-123.5976	47.0607	8833
+-123.3649	43.2235	5462
+-112.8334	32.105	6706
+-88.1668	40.5213	6366
+-121.3019	49.1417	6641
+-120.204	45.4671	7119
+-85.4071	35.0525	5037
+-118.8248	32.3524	7616
+-116.1427	45.4073	6878
+-118.114	45.7095	8810
+-110.3052	27.5813	5137
+-109.2307	33.0436	7491
+-106.8445	34.7669	4356
+-112.5234	35.1592	4930
+-121.4999	47.609	7914
+-114.1581	36.8953	5002
+-111.6155	31.5812	8084
+-115.5905	33.2668	8138
+-93.0987	38.3943	6473
+-112.1719	30.0553	6883
+-88.9987	36.6783	8676
+-111.3911	33.1456	7429
+-89.5276	36.5488	8298
+-114.2084	46.3981	4933
+-92.0254	37.1154	6927
+-110.032	32.5111	8417
+-116.9016	31.8022	8619
+-81.6396	30.4675	6786
+-95.7272	37.8628	3586
+-117.0787	44.8452	7418
+-113.1786	44.5371	3606
+-113.9878	35.3414	5726
+-126.0501	46.708	6134
+-110.2262	31.3862	9231
+-119.2838	35.108	7094
+-116.113	37.0781	6088
+-89.1738	42.2899	5392
+-88.7683	39.241	8047
+-119.7379	44.4157	6904
+-88.254	35.9068	7758
+-121.007	48.9619	6585
+-120.9424	30.575	4662
+-82.1608	29.6868	7720
+-88.2461	38.1708	9001
+-116.7982	29.4028	5940
+-91.15	31.2302	2111
+-115.6164	36.0292	6796
+-115.0493	33.2674	7556
+-119.5174	45.458	7787
+-88.5334	40.3002	6823
+-81.2659	28.0333	8866
+-89.6651	36.4745	8140
+-119.8049	36.2998	5898
+-122.8665	49.2489	7098
+-88.4928	36.6876	8675
+-113.5116	31.0783	5987
+-116.3159	36.3255	6931
+-84.5059	29.834	6332
+-115.1805	33.0081	7749
+-88.9675	40.0761	7334
+-88.9064	38.3496	9032
+-117.1373	31.0023	7720
+-115.9337	32.1416	8377
+-115.9331	34.7104	7953
+-117.6052	49.4858	5603
+-119.5822	31.4125	6442
+-123.5085	46.7589	8900
+-91.8594	37.7798	7520
+-113.0485	34.2858	5323
+-118.3644	30.8115	7027
+-89.4728	42.2449	5532
+-118.0444	37.0903	6203
+-81.5879	30.8319	6370
+-90.5809	40.6143	7404
+-87.7009	40.1173	6815
+-82.6525	26.4232	8263
+-125.5965	46.1561	6513
+-87.5988	37.9286	8472
+-108.4122	33.0903	6828
+-114.9102	35.8288	6371
+-124.2911	45.8247	7629
+-122.2928	47.3233	8833
+-110.2564	30.4506	8244
+-116.1354	33.8814	8274
+-119.6138	33.4294	6865
+-82.8556	29.4307	7840
+-81.8587	28.4772	9031
+-117.5676	44.1815	7092
+-83.7421	26.0243	7209
+-121.8264	46.1249	8107
+-114.1019	32.6188	6550
+-119.0253	46.4684	8383
+-87.0743	37.8799	7900
+-87.6596	36.6519	8130
+-80.8083	27.6184	8384
+-123.7817	49.9061	6235
+-93.7508	36.612	5125
+-83.3769	26.7803	8097
+-116.3657	31.3568	7992
+-116.3226	32.2728	8813
+-123.8316	47.9288	8135
+-91.9525	38.7868	7733
+-81.6412	26.9099	8775
+-86.3708	38.0253	7096
+-86.9668	37.6364	7795
+-118.3327	47.9661	7284
+-116.0007	33.8114	8113
+-114.5919	35.9646	6002
+-117.6409	36.3016	7138
+-88.0708	35.9159	7701
+-92.5571	38.1244	6986
+-117.9426	32.4689	8597
+-80.5984	29.7189	7083
+-91.9757	39.8151	7359
+-93.1183	36.0058	5248
+-88.1045	37.1422	8867
+-88.441	39.1104	8153
+-119.9295	32.4045	6416
+-118.2348	33.1142	8300
+-81.0144	28.5354	8357
+-89.9433	34.6829	6215
+-117.7818	33.2741	8710
+-89.8635	39.1042	8746
+-118.366	36.0552	7123
+-119.5477	36.0794	6267
+-90.7696	37.6123	8129
+-111.7489	31.99	7878
+-122.4874	44.6439	7014
+-87.3701	36.0926	7454
+-116.0518	30.0089	6459
+-116.9654	33.9966	9177
+-90.5665	38.3697	8969
+-121.7337	45.7818	7780
+-115.0083	33.2027	7527
+-114.5696	29.3148	5019
+-82.9072	27.9581	8991
+-89.6987	38.2571	8515
+-89.8049	38.5546	8766
+-87.1528	38.2419	7892
+-116.9744	33.5958	8871
+-118.9163	48.1987	6939
+-90.9998	38.0172	8392
+-120.7978	48.6372	6656
+-93.4327	40.4392	5667
+-92.6278	38.6813	7004
+-113.8417	30.8826	5597
+-118.0752	48.9839	6198
+-91.9702	38.3241	7653
+-111.7275	30.8639	7774
+-88.6419	34.6265	6400
+-120.0334	34.1268	6520
+-93.5448	37.6569	5819
+-91.4547	37.3701	7541
+-118.4125	31.5035	7574
+-111.1969	30.6767	8117
+-88.4694	36.3602	8312
+-115.109	30.6633	6581
+-91.3897	37.9865	8063
+-82.3636	25.3088	7100
+-117.8394	30.2228	6700
+-118.5406	33.8125	8105
+-120.1416	44.6408	6758
+-85.3967	40.3335	4991
+-116.5665	45.1966	7206
+-124.3927	42.4226	4352
+-123.3111	44.913	7305
+-118.234	36.2331	7016
+-116.8545	36.7321	6668
+-115.301	33.8261	7580
+-88.6534	38.6046	8754
+-90.2374	37.1678	8072
+-107.698	31.6631	6617
+-120.2284	32.878	6029
+-84.201	32.5168	4031
+-87.7399	41.3465	5431
+-114.9652	30.3509	6211
+-109.2889	32.6392	7864
+-93.6832	39.2694	5824
+-93.0569	36.8471	5887
+-119.0656	48.5476	6539
+-122.0771	33.1101	4173
+-116.0456	30.4124	6881
+-112.6618	32.0631	6898
+-115.6261	46.2789	6440
+-108.897	32.037	7842
+-118.9938	33.7618	7611
+-84.4952	28.3983	7126
+-116.051	33.2334	8631
+-119.883	32.5172	6483
+-116.5435	31.5506	8264
+-113.6276	32.095	5862
+-109.5311	31.2195	8519
+-110.5092	34.4954	6313
+-112.355	34.2822	5820
+-117.1619	45.9137	8057
+-113.9371	33.1493	6353
+-87.122	39.8774	6722
+-121.398	45.5725	7355
+-121.9932	45.4212	7638
+-91.0908	39.4657	8340
+-109.8685	31.209	8827
+-120.1722	44.9463	6916
+-85.5027	40.9362	4629
+-88.347	37.8888	9282
+-117.3277	44.2663	7071
+-119.6923	44.6137	7092
+-108.4682	30.4172	7090
+-117.1424	42.0412	4795
+-86.9911	39.8375	6666
+-90.4753	38.3503	8982
+-87.4193	38.7447	7878
+-113.9711	32.5838	6402
+-81.7132	29.1111	8299
+-115.2803	31.2101	7155
+-87.0161	38.6602	7555
+-109.7104	30.5614	8177
+-120.7772	43.8051	5671
+-121.5852	46.0479	7844
+-124.7538	44.4736	6193
+-116.5732	35.7964	7572
+-83.6814	30.7988	6041
+-90.5359	38.5831	9181
+-119.2033	47.3689	7601
+-92.3748	40.4175	6625
+-79.897	31.5087	4960
+-114.4548	48.13	4671
+-117.4168	31.2389	7923
+-120.446	49.9919	5326
+-118.3365	35.9186	7267
+-119.7438	31.7127	6419
+-112.0783	33.2786	6838
+-116.9779	44.6404	7187
+-116.1132	33.6547	8419
+-88.2596	38.2581	8940
+-115.3178	32.0789	7738
+-88.5943	36.8913	8924
+-88.3299	41.2302	5954
+-80.7655	30.3792	6556
+-122.7782	45.3334	7807
+-85.6715	38.3368	6260
+-84.5769	27.9308	7122
+-112.1227	29.9623	6858
+-107.1774	28.6188	4782
+-117.0638	29.1688	5683
+-117.5356	33.5844	8871
+-119.9609	48.5089	6152
+-81.7691	29.5949	7783
+-124.0764	45.7566	7752
+-93.0848	39.1936	6474
+-112.7402	36.084	4161
+-123.9396	42.9363	5033
+-88.5155	40.2496	6843
+-122.617	44.9778	7399
+-114.6672	44.9428	5239
+-89.0861	38.848	8441
+-115.2821	35.6514	6812
+-118.3229	43.4964	6503
+-117.4462	32.126	8815
+-118.3153	32.729	8245
+-84.3713	26.4692	6966
+-116.705	35.2795	8146
+-78.2468	29.7969	4932
+-83.1454	26.4562	8019
+-120.1468	34.2803	6392
+-86.4347	37.0603	7111
+-91.0972	37.6465	8008
+-121.5671	44.8497	6858
+-80.5673	28.5439	7914
+-83.4166	37.3125	3796
+-83.9054	27.6763	7885
+-118.9473	30.6957	6516
+-120.3052	49.2117	5836
+-126.3444	45.4207	5458
+-115.3795	39.5685	3262
+-91.5628	35.4213	5618
+-115.2415	32.5182	7800
+-89.4549	36.0339	7827
+-120.333	35.192	5999
+-91.1887	37.7498	8040
+-115.6026	31.2106	7403
+-85.0902	28.6475	6402
+-119.1179	32.4669	7322
+-123.2541	43.8557	6166
+-126.1882	49.0033	5357
+-114.9726	34.7685	6941
+-115.0027	43.8765	5063
+-114.4981	47.0951	5115
+-91.3036	37.7664	7972
+-116.3955	36.8404	6436
+-122.4601	46.0833	8522
+-119.4892	47.0677	7623
+-89.4337	36.5536	8359
+-82.1437	26.0776	7982
+-124.9108	49.1502	6345
+-79.2261	26.7965	6425
+-124.313	48.3167	7459
+-116.2069	49.9231	4653
+-117.604	37.1001	6281
+-125.0617	43.4482	5070
+-120.9486	33.7765	5503
+-118.5565	34.4882	8079
+-114.3033	30.9792	6144
+-115.7968	33.5479	8214
+-116.9718	32.7455	9673
+-91.1823	41.3462	6497
+-123.8336	47.4158	8468
+-112.5878	31.1418	6985
+-119.0098	45.8741	8455
+-122.3071	49.8725	6348
+-124.269	45.8376	7657
+-82.8821	31.8215	5227
+-80.7112	26.9758	8051
+-112.0072	32.2523	7521
+-123.3158	49.1943	7117
+-114.6883	29.3535	5129
+-85.3291	31.2017	4584
+-114.8931	35.0496	6763
+-123.9797	49.1463	6934
+-80.124	31.8177	4776
+-115.4584	30.494	6664
+-91.0172	38.9982	8691
+-119.7709	48.6245	6157
+-92.8554	41.222	5656
+-126.7899	48.0943	5157
+-89.6608	36.7756	8399
+-118.8919	36.0733	6777
+-125.3936	48.0593	6615
+-86.9989	38.9064	7391
+-88.3164	38.3863	8862
+-88.5861	38.1605	9224
+-117.4695	31.3072	7978
+-122.5106	47.3552	9002
+-119.5642	45.3511	7689
+-78.7208	24.5904	4618
+-116.7593	34.348	8937
+-87.3524	33.6742	5061
+-117.679	47.7305	7419
+-119.0274	43.3237	6216
+-121.6808	45.486	7499
+-116.4245	35.0708	8163
+-118.4368	45.1294	8220
+-83.4643	26.6764	7946
+-112.7362	34.2254	5604
+-89.3744	39.5456	8039
+-87.9578	40.433	6579
+-92.4587	37.6523	6894
+-117.0925	32.028	8862
+-90.348	35.2016	6528
+-117.7645	35.2822	8172
+-118.7888	33.1846	7581
+-112.1013	30.3045	7109
+-124.9926	48.4611	6781
+-114.9928	35.5168	6635
+-117.4519	32.1727	8853
+-117.6159	33.3353	8826
+-113.7906	36.1083	5177
+-87.7765	36.4518	8056
+-112.6016	31.9029	6992
+-108.6166	31.564	7613
+-113.9748	37.6485	4285
+-92.8663	37.5079	6432
+-119.1939	46.6487	8135
+-117.6701	45.6644	8464
+-122.182	47.4636	8647
+-109.416	29.254	6761
+-112.7463	31.9204	6834
+-88.8025	31.9587	3408
+-116.4112	34.3707	8570
+-82.2289	27.3363	9394
+-115.837	32.2424	8339
+-112.9503	25.8843	2679
+-83.2578	25.4723	7002
+-113.3494	42.9851	3081
+-121.9772	42.8014	4919
+-120.078	33.3983	6368
+-90.2022	37.6575	8231
+-120.4701	41.8062	4157
+-90.6787	40.5666	7441
+-120.5151	45.4559	6800
+-80.9874	30.2338	6815
+-89.2826	39.2063	8140
+-125.9778	48.1293	5992
+-113.6863	47.4209	4195
+-111.2468	32.6493	7953
+-116.804	44.7912	7169
+-120.7892	44.8902	6313
+-108.9557	29.0916	6389
+-119.7103	47.519	7129
+-85.6333	36.6651	6123
+-111.6084	29.8728	7162
+-117.8253	32.7939	8795
+-91.6417	38.4397	8027
+-81.7876	25.5628	7369
+-116.8264	35.5553	7914
+-86.7973	40.7109	5745
+-116.6973	33.9195	8875
+-92.7042	36.3432	5821
+-80.3918	25.3019	6478
+-120.6531	47.5004	7069
+-110.1429	34.3326	6488
+-110.1627	34.2287	6601
+-85.6612	26.3775	5603
+-118.5962	33.0478	7917
+-122.808	46.5463	9133
+-85.7666	37.4993	6442
+-118.8896	42.6267	5526
+-115.1727	31.6177	7346
+-113.8707	30.4862	5461
+-118.6232	30.2603	6355
+-108.1716	32.0341	7081
+-88.5268	35.7024	7595
+-107.703	31.0898	6574
+-116.6287	36.3138	7060
+-89.2388	37.5448	9268
+-81.3252	30.3135	6869
+-115.867	32.6662	8515
+-111.6598	31.4066	8024
+-118.6873	34.0613	7986
+-111.2123	32.4699	8121
+-123.3891	48.744	7581
+-111.3089	32.2907	8168
+-115.8608	34.8349	7824
+-120.5363	46.4801	6841
+-122.4184	49.36	6924
+-91.7446	42.6529	4969
+-121.8608	47.0173	8463
+-117.4416	34.4246	9167
+-90.9955	39.1038	8662
+-112.6448	29.966	6417
+-119.7395	47.9331	6781
+-110.4918	28.4391	6063
+-110.1776	30.578	8371
+-118.5294	47.178	8090
+-80.8364	26.3798	7744
+-120.6084	45.3649	6678
+-88.3328	38.7823	8471
+-120.7503	46.4948	7188
+-119.159	33.1637	7218
+-113.2912	31.1809	6239
+-87.6795	39.2893	7622
+-110.0631	31.3876	9112
+-119.1269	28.4878	4357
+-118.5432	34.7151	8008
+-116.1597	32.8007	8853
+-91.9045	37.3203	7174
+-80.5505	25.3507	6625
+-108.1316	32.8623	6715
+-109.8467	32.4319	8414
+-108.5775	28.3021	5442
+-111.9497	32.9068	7210
+-118.1462	36.9669	6301
+-90.5064	40.5011	7532
+-115.6342	46.7877	6362
+-118.1002	46.8488	8444
+-92.0297	36.0902	6053
+-90.0478	37.5299	8060
+-83.768	28.9049	7639
+-117.7615	30.8522	7389
+-82.9585	31.0481	6064
+-90.1473	42.6972	5162
+-109.018	33.7599	6718
+-115.2903	33.9382	7372
+-88.4182	39.623	7584
+-110.6923	32.1818	8717
+-81.7595	30.4391	6839
+-84.4455	25.2916	6061
+-116.0461	35.458	7573
+-125.5415	48.9106	6003
+-121.3006	44.394	6278
+-125.9741	44.7508	5443
+-119.1414	47.1636	7813
+-81.7215	26.3848	8261
+-114.6544	34.9602	6549
+-120.0005	34.1675	6555
+-118.2263	32.9098	8344
+-125.1881	43.7763	5293
+-82.192	28.0688	9544
+-117.5949	43.5299	6443
+-84.7407	31.1341	5074
+-120.8209	46.205	7174
+-119.1986	47.0857	7836
+-116.7728	42.6499	5272
+-115.7129	34.721	7726
+-114.8841	34.9379	6795
+-120.9686	32.4586	5271
+-116.5962	32.4803	9195
+-119.1165	46.0281	8375
+-86.2295	26.5014	5042
+-83.907	28.8204	7558
+-116.6966	45.8899	7565
+-92.2252	39.7573	7162
+-85.8154	35.9816	6001
+-89.3135	36.4585	8327
+-115.6444	31.1623	7391
+-87.5254	36.8972	8176
+-85.8505	38.5633	6390
+-82.6472	27.752	9311
+-89.6486	36.6368	8294
+-117.5633	45.2459	8077
+-114.1908	45.7541	4911
+-81.7871	35.4355	1590
+-118.3396	32.5797	8199
+-115.2698	32.9622	7853
+-123.8999	46.5722	8425
+-118.3443	44.7913	7873
+-89.2019	36.6381	8562
+-82.1893	27.2486	9303
+-105.769	32.7133	4379
+-114.9588	30.5313	6360
+-79.945	27.3896	7380
+-87.0441	38.5531	7640
+-81.9959	30.6416	6636
+-82.1126	28.432	9139
+-84.4273	30.6427	5730
+-118.6568	41.346	4210
+-116.0358	35.6675	7392
+-91.6939	38.83	8009
+-115.1261	34.9701	7031
+-118.7894	32.7673	7719
+-91.1668	40.7259	7133
+-120.6639	45.2832	6595
+-116.6848	35.3009	8115
+-115.5748	33.3606	8086
+-110.265	29.8799	7627
+-114.0112	29.3675	4821
+-124.2274	48.6511	7250
+-88.5327	34.8805	6677
+-117.9395	48.3757	6823
+-110.801	29.2598	6906
+-89.628	37.9034	8812
+-116.7824	33.3855	9086
+-125.9403	46.3458	6197
+-117.2074	29.9577	6553
+-90.6192	38.8405	9152
+-113.5706	37.3961	4160
+-119.5451	30.1766	5637
+-115.7952	33.9461	7920
+-115.3539	34.9001	7290
+-119.7394	48.1297	6615
+-110.032	29.3507	7033
+-107.1701	29.7713	5524
+-118.2581	34.4038	8417
+-108.4426	33.2976	6708
+-83.0412	24.5469	6108
+-92.188	41.8527	5556
+-117.3064	48.0704	6931
+-124.4701	48.6606	7069
+-88.0364	38.8912	8214
+-114.4459	48.4357	4503
+-90.9388	37.7592	8200
+-123.929	47.4345	8364
+-89.8807	39.3211	8604
+-81.0048	25.6786	7207
+-108.0267	30.3223	6625
+-117.8964	34.4598	8764
+-115.8293	41.2806	3533
+-118.2134	32.7545	8360
+-119.9814	49.8495	5099
+-82.4546	28.8699	8592
+-94.8932	41.3325	3823
+-109.773	28.843	6443
+-118.3608	31.6931	7756
+-122.978	47.9294	8545
+-110.7964	31.8897	8872
+-119.8959	49.5181	5258
+-122.266	48.4691	7815
+-114.5934	30.3467	5932
+-91.4406	34.323	5010
+-83.223	26.7498	8206
+-122.7446	38.7244	1741
+-123.0207	45.6211	8122
+-119.7218	47.0808	7417
+-89.851	37.4261	8568
+-120.1099	46.9372	7132
+-116.3842	31.3292	7971
+-123.5641	48.6446	7624
+-91.3548	37.7286	7905
+-116.9304	35.0894	8432
+-90.8477	34.6074	5662
+-86.9013	34.9642	6130
+-116.313	31.9727	8562
+-89.2914	41.3214	6413
+-111.6148	33.7586	6738
+-119.6199	31.4994	6449
+-90.1814	39.0599	9026
+-116.1801	35.73	7431
+-109.492	31.779	8538
+-88.9839	38.5434	8800
+-118.8884	44.8355	7776
+-115.5697	46.3291	6376
+-112.0854	35.6772	4649
+-94.0037	36.2959	4710
+-124.0333	47.1227	8349
+-112.8013	31.291	6781
+-116.914	32.303	9177
+-121.1584	45.2091	6888
+-107.2683	30.0404	5756
+-107.0733	29.8655	5481
+-113.4826	33.7249	5737
+-117.2663	46.3732	8145
+-114.8946	31.8433	7199
+-80.8049	29.6007	7330
+-115.8606	34.9091	7786
+-125.1861	49.4978	5859
+-120.2354	34.7721	6225
+-89.6838	39.8959	7977
+-90.0196	38.8598	9015
+-114.2081	47.1097	4814
+-122.5995	47.4363	8994
+-90.4793	40.1298	7934
+-107.6947	33.9688	5620
+-88.5657	40.1955	6921
+-88.9227	37.9001	9499
+-122.5158	47.1305	9147
+-84.1722	41.0552	3406
+-89.6189	34.8959	6562
+-122.2127	45.9253	8235
+-90.7012	37.1029	7616
+-115.2588	30.37	6425
+-115.5282	36.2666	6536
+-84.8932	31.5321	4611
+-117.3683	33.7089	9062
+-114.0689	33.0826	6507
+-116.246	34.6683	8281
+-120.3497	33.8895	6164
+-117.8982	49.4804	5657
+-119.8936	36.7095	5524
+-90.7499	37.4334	7951
+-117.6817	30.7185	7280
+-121.1251	45.5638	7121
+-110.4156	31.8393	9182
+-115.6014	36.2106	6634
+-112.2248	35.0556	5189
+-117.4427	32.7314	9213
+-124.1395	44.00	6074
+-105.5107	30.6806	4158
+-90.6695	35.1418	6267
+-80.6902	29.666	7194
+-89.6428	39.914	7937
+-123.619	44.6977	6991
+-117.745	30.3611	6880
+-123.6782	46.2854	8470
+-87.9237	34.973	6648
+-116.3607	35.9583	7315
+-116.8882	34.5866	8894
+-89.4452	35.4457	7209
+-127.9427	42.3503	2095
+-91.649	38.0401	7860
+-111.8841	33.7129	6619
+-116.9966	45.0222	7483
+-118.4213	35.8287	7300
+-113.2564	30.6638	6153
+-93.5817	38.7034	5977
+-93.7192	38.6885	5828
+-91.012	37.7946	8192
+-88.2202	38.1172	9020
+-120.3276	48.5618	6281
+-109.917	35.651	5043
+-121.4048	35.302	4847
+-118.5514	49.0825	6089
+-108.7699	31.1763	7723
+-89.3948	38.4133	8719
+-92.6699	39.694	6758
+-112.1063	33.6871	6493
+-80.5753	31.7263	5078
+-119.5681	45.2085	7604
+-86.0962	40.1225	5742
+-81.0479	28.1093	8605
+-112.0796	30.4415	7213
+-82.2143	27.8268	9778
+-82.828	25.7692	7500
+-81.3962	27.8906	9047
+-111.8918	26.9295	4156
+-89.2306	39.3499	8024
+-120.047	42.7254	5228
+-91.8961	37.6267	7393
+-124.3452	47.586	7879
+-91.9955	40.225	7069
+-118.7094	45.6412	8597
+-91.3129	39.827	7891
+-89.7358	34.5428	6144
+-92.6439	42.6274	4587
+-124.4009	46.1831	7746
+-89.064	36.3756	8329
+-117.5615	31.2162	7848
+-87.4473	38.3276	8158
+-120.8516	48.0991	7035
+-116.1153	32.1045	8515
+-92.0428	40.1043	7116
+-91.0569	38.1367	8442
+-124.5138	46.757	7818
+-81.2977	25.3526	7002
+-116.1958	43.3648	5616
+-120.2109	45.8607	7203
+-109.7324	32.1769	8558
+-120.2963	31.6133	5804
+-114.9996	32.4658	7524
+-89.4136	41.0043	6779
+-113.3203	29.5451	5556
+-92.0934	38.397	7542
+-91.468	41.8549	5880
+-88.7736	36.3137	8297
+-117.9009	33.6215	8649
+-114.5167	32.8262	7020
+-123.6218	47.0545	8807
+-88.3843	37.8075	9358
+-90.21	38.5115	9107
+-88.7542	38.0473	9387
+-121.3659	47.8904	7639
+-120.6557	45.6654	6706
+-86.0172	40.2466	5582
+-86.5678	34.7296	5697
+-90.4795	38.3772	9009
+-121.1069	46.0632	7400
+-124.1281	45.7299	7691
+-115.0539	34.6548	7058
+-89.4534	40.0995	7658
+-110.0155	29.9988	7723
+-88.6054	36.3311	8306
+-117.5655	47.0515	7998
+-82.0347	25.5348	7365
+-80.5138	30.1266	6654
+-84.6219	26.852	6893
+-88.8795	34.5712	6339
+-119.2565	49.2286	5790
+-88.6648	39.6288	7344
+-116.3903	30.0942	6649
+-115.6187	32.2257	8111
+-92.1498	39.8473	7183
+-89.1468	38.5162	8770
+-116.911	31.64	8439
+-110.4784	33.4191	7478
+-87.0399	36.9316	7709
+-120.6703	46.0675	6732
+-90.8729	37.5965	8074
+-111.6397	32.588	7688
+-112.0408	33.2501	6888
+-112.118	28.9074	5989
+-83.1408	26.6163	8163
+-109.4811	31.3675	8521
+-117.1944	30.9838	7693
+-94.559	38.107	4871
+-82.3528	29.511	7903
+-91.9648	37.0044	6886
+-120.4078	49.6223	5605
+-118.3991	46.4487	8871
+-119.0017	38.086	4829
+-108.8639	33.4501	6900
+-115.4915	32.9768	8098
+-93.1646	41.4133	5274
+-82.6327	30.1457	7142
+-117.1802	34.2562	9374
+-120.2753	47.3183	6788
+-89.444	39.9619	7772
+-86.0141	36.9549	6624
+-82.3868	31.4376	5729
+-109.1952	29.9613	7327
+-82.9199	31.2805	5819
+-111.583	30.0598	7339
+-116.8139	34.9688	8501
+-124.9434	44.7586	6301
+-92.7063	34.8448	4527
+-118.0357	35.176	8125
+-110.793	35.0128	5725
+-115.8395	41.7416	3968
+-115.6089	48.3075	5588
+-89.1816	34.207	5904
+-121.214	48.5439	7070
+-87.8143	38.1642	8609
+-110.4317	31.043	8879
+-88.7546	35.2305	7081
+-127.4554	44.05	3664
+-116.5839	45.9161	7450
+-79.4939	26.6901	6667
+-88.3989	36.8208	8780
+-124.0303	32.1491	1849
+-90.8867	38.9773	8829
+-115.5902	31.6076	7710
+-90.3986	37.7242	8319
+-121.5862	43.1477	5169
+-116.6216	47.0321	7243
+-125.9793	47.0873	6221
+-109.7962	29.9613	7622
+-83.5471	37.2952	3941
+-119.0156	35.3448	7217
+-117.7349	43.2122	6147
+-114.9042	34.3437	6951
+-91.0884	37.384	7767
+-88.0047	39.6025	7479
+-89.1886	41.5247	6168
+-89.0149	35.2793	7122
+-89.8634	45.3678	2269
+-79.9828	28.0765	7434
+-90.0769	38.6817	9086
+-116.5207	32.4194	9087
+-88.3521	35.0418	6833
+-82.5712	29.1836	8215
+-117.8211	47.414	7785
+-118.4054	46.3254	8989
+-119.7211	47.403	7206
+-123.2261	46.7785	9193
+-115.8044	32.1135	8238
+-121.7065	46.8706	8291
+-89.674	42.0436	5793
+-118.5843	34.0117	8094
+-119.3475	34.0298	7265
+-86.0856	38.668	6602
+-116.5597	33.0219	9244
+-84.9757	26.5396	6390
+-87.4147	37.9997	8252
+-111.725	30.7593	7721
+-88.9123	39.2248	7758
+-119.563	48.4558	6421
+-79.5956	27.2453	6961
+-108.3207	29.9839	6688
+-116.0339	46.2769	6871
+-80.7559	27.7382	8334
+-120.6894	49.5737	5851
+-79.8148	30.7813	5590
+-115.8857	46.9248	6575
+-80.9553	28.6421	8232
+-91.7459	36.7533	6819
+-122.3631	49.1517	7134
+-113.3995	32.5762	5982
+-92.6129	37.972	6879
+-117.4066	46.6147	8184
+-90.792	36.8929	7375
+-116.738	32.86	9493
+-81.0287	28.6972	8258
+-90.5804	38.6679	9194
+-123.0178	43.5558	5857
+-116.4246	47.3655	6879
+-120.5635	49.004	6200
+-84.5604	27.075	7037
+-122.7328	48.7735	7613
+-92.1241	37.4473	7081
+-116.8551	32.9585	9552
+-119.6691	43.6506	6280
+-123.4417	46.3008	8663
+-109.0916	30.8801	7927
+-119.7225	32.9502	6564
+-117.4313	34.2732	9302
+-113.8054	30.6426	5576
+-119.4154	47.9215	6989
+-77.6577	27.171	4784
+-114.6541	35.4958	6324
+-115.4679	33.3277	7987
+-119.1478	33.0582	7174
+-85.9005	26.6538	5448
+-118.411	30.6477	6846
+-83.3977	27.0328	8239
+-120.8393	45.7346	6968
+-88.5774	36.8069	8828
+-85.7799	26.031	5323
+-114.8586	34.9205	6774
+-90.0725	37.1167	8225
+-113.5431	30.1141	5649
+-90.251	34.755	6147
+-92.2042	38.0607	7326
+-82.0948	29.2812	8178
+-87.8875	37.5154	8814
+-83.1566	25.1616	6726
+-115.2202	44.3736	5537
+-80.6458	27.6874	8207
+-88.5041	40.4525	6691
+-108.061	32.3865	6862
+-111.2006	36.5819	3977
+-114.9804	38.6092	4055
+-110.7302	29.2642	6924
+-116.8736	28.4516	4883
+-86.2088	38.6795	6727
+-86.4597	37.4865	7218
+-117.0826	31.5525	8337
+-125.552	45.8257	6434
+-120.8503	49.3238	6174
+-113.1443	31.931	6405
+-116.7239	36.8196	6548
+-117.9676	30.7052	7146
+-88.7285	42.4798	5026
+-122.3686	45.8091	8207
+-114.1514	33.7606	6441
+-115.4887	27.3565	3443
+-91.6952	35.7764	5921
+-116.5008	31.0397	7704
+-91.2982	38.36	8352
+-119.1314	45.7177	8275
+-90.0819	36.3663	7739
+-114.9648	45.5673	5701
+-88.6976	37.5792	9691
+-118.6492	30.3356	6409
+-81.6753	26.2348	8084
+-83.061	28.1477	8758
+-121.1612	42.5028	4382
+-111.5305	39.9663	614
+-122.5898	44.1339	6475
+-119.9639	42.4283	4984
+-118.6013	35.7626	7240
+-123.2366	49.1156	7216
+-117.4478	46.5213	8270
+-83.1888	26.7807	8258
+-119.1549	48.4786	6578
+-118.1139	47.0001	8291
+-111.8008	30.0682	7188
+-119.5691	31.0434	6240
+-118.7263	35.2581	7528
+-82.2473	27.4465	9508
+-118.6425	32.1451	7739
+-115.9535	32.7492	8620
+-119.1455	45.4957	8145
+-113.7457	34.2677	5694
+-118.6286	33.8457	8019
+-86.5935	39.7978	6398
+-90.5379	37.1074	7646
+-111.6448	29.3959	6710
+-109.4728	31.7856	8516
+-87.9574	35.2704	6977
+-89.8762	35.4218	7005
+-117.4071	47.7547	7278
+-81.664	27.5091	9287
+-122.708	45.579	8067
+-117.958	33.6167	8596
+-116.6655	34.5967	8710
+-117.5541	31.941	8577
+-113.202	32.3928	6244
+-124.518	43.6948	5596
+-123.485	48.5313	7771
+-86.0802	36.8954	6678
+-88.6837	37.5345	9641
+-116.8593	37.5589	5775
+-111.5895	29.785	7097
+-88.7349	33.5975	5248
+-119.1679	32.8521	7297
+-117.6248	27.9445	4269
+-88.1584	36.6687	8504
+-115.9883	49.3789	5022
+-113.2774	32.4456	6150
+-107.7903	30.894	6619
+-112.1187	33.1938	6868
+-119.4007	44.7745	7424
+-121.2694	46.3179	7678
+-115.6937	45.1835	6351
+-118.6517	35.8847	7102
+-118.0364	47.5725	7679
+-81.7425	29.2946	8108
+-113.2032	31.5523	6364
+-117.1162	46.7894	7825
+-114.0669	31.2662	6085
+-121.375	44.8926	6778
+-87.0616	27.482	4307
+-120.5637	36.8796	4857
+-122.4946	47.5163	8856
+-87.0375	37.8285	7866
+-111.5636	33.3629	7130
+-121.16	45.144	6838
+-113.1895	31.0726	6330
+-121.3247	47.7199	7688
+-118.3824	48.1367	7101
+-110.2506	30.3349	8118
+-110.6811	33.6642	7188
+-91.6558	33.5707	4189
+-116.0417	41.5988	3935
+-87.8032	36.8041	8364
+-110.7991	31.6356	8966
+-108.0792	35.3666	4702
+-86.6454	39.146	6912
+-87.0761	37.4849	7907
+-116.033	46.6921	6796
+-83.6574	29.0473	7640
+-89.6601	37.8387	8794
+-90.6019	42.1579	5744
+-92.159	37.127	6831
+-80.2437	28.4177	7631
+-87.7684	38.4938	8359
+-113.5054	32.7281	5820
+-123.7818	49.9592	6179
+-88.2132	37.5548	9181
+-107.3517	30.1429	5886
+-90.0069	38.7259	9018
+-89.8632	38.5284	8815
+-88.194	35.2767	7057
+-118.3906	33.0325	8146
+-120.4124	46.9113	6847
+-107.2659	27.8908	4273
+-111.8209	34.0844	6321
+-92.4374	37.7926	6982
+-116.8211	46.8338	7528
+-117.7195	44.3748	7338
+-83.6564	29.9193	6909
+-108.5637	32.8222	7133
+-118.9114	43.6707	6603
+-115.64	38.1208	4840
+-122.0799	33.8716	4280
+-107.5559	30.8454	6360
+-116.899	38.1614	5126
+-118.6784	45.2989	8315
+-115.9039	34.0179	8046
+-110.8553	30.1041	7774
+-86.9254	34.4752	5680
+-116.4132	33.176	9017
+-110.3035	33.6577	7226
+-115.0571	34.2167	7126
+-91.5983	36.8481	6992
+-110.3633	30.3348	8120
+-85.2288	41.8466	3667
+-90.7657	39.7774	8243
+-118.8062	48.6557	6498
+-115.4199	35.0019	7312
+-126.2504	48.1344	5708
+-111.0321	29.0183	6593
+-122.8008	48.4808	7939
+-118.6863	33.6493	7902
+-125.4152	49.5448	5649
+-80.6782	26.8479	7946
+-123.0984	49.1225	7228
+-80.0943	25.9341	6791
+-87.4726	38.9296	7785
+-117.5971	35.4516	8055
+-116.6332	34.3971	8789
+-89.8497	38.2171	8611
+-117.7078	43.4055	6342
+-122.0351	46.4147	8479
+-120.4223	47.5754	6803
+-111.223	33.6904	6995
+-86.8668	35.314	6421
+-81.7473	26.9654	8886
+-123.4773	43.406	5643
+-84.4053	28.4305	7215
+-89.5383	34.0922	5711
+-115.273	35.0115	7162
+-90.1643	37.2894	8190
+-117.7409	30.2959	6812
+-90.5688	39.8214	8252
+-121.3211	48.212	7397
+-117.5141	46.5903	8294
+-91.3658	37.8863	8014
+-112.1384	30.8827	7376
+-83.7057	37.7378	4134
+-117.6799	31.5741	8155
+-87.3575	36.3441	7646
+-88.6523	38.4683	8905
+-122.3201	49.0907	7187
+-112.6054	29.9886	6466
+-118.3128	37.5593	5630
+-114.6977	34.8704	6623
+-121.2808	43.2062	5108
+-105.9732	28.481	3676
+-108.2423	31.0126	7125
+-115.6616	29.9608	6251
+-123.7526	45.1978	7449
+-90.2304	39.0654	9047
+-113.7505	30.23	5491
+-109.723	34.1394	6626
+-116.9038	36.8974	6497
+-84.0201	28.3626	7654
+-87.6696	41.1834	5496
+-82.5582	24.4852	6149
+-110.8344	35.2916	5419
+-89.1875	36.8929	8827
+-123.4648	48.6549	7650
+-81.3756	27.3772	8929
+-124.4534	49.2914	6534
+-119.0695	32.1993	7308
+-120.2501	44.7004	6704
+-114.5561	35.7418	6100
+-116.7146	45.7936	7568
+-120.4559	47.3538	6888
+-89.5441	37.8649	8914
+-123.4481	45.5185	7905
+-90.0348	40.5706	7426
+-119.5018	45.1688	7636
+-109.852	30.7879	8466
+-123.7598	46.3324	8432
+-89.3863	38.1224	8951
+-121.7155	32.4785	4360
+-89.3258	35.9701	7811
+-87.2735	38.0292	8090
+-120.7888	47.8501	7092
+-126.1995	49.8072	4823
+-83.4279	31.6696	5240
+-87.9169	40.4627	6534
+-118.5362	44.8834	7945
+-112.2305	33.7177	6380
+-123.9629	48.8779	7204
+-121.3696	47.7462	7719
+-124.5435	45.8878	7446
+-107.5623	33.596	5763
+-120.8028	46.0446	7089
+-116.1315	37.0032	6171
+-115.0208	44.7178	5508
+-116.7927	37.6817	5633
+-83.1764	30.5807	6497
+-86.0651	38.8972	6483
+-126.157	49.2637	5228
+-91.0623	38.8531	8684
+-115.7727	32.8015	8421
+-87.0302	39.1081	7281
+-118.1931	34.8624	8252
+-77.7236	26.9374	4816
+-114.2457	40.0065	2333
+-84.0193	30.449	6183
+-81.9989	26.3634	8298
+-92.6166	39.5995	6849
+-120.4679	45.9572	6942
+-118.6301	46.5792	8634
+-114.8838	46.0864	5660
+-116.3879	49.1738	5436
+-122.1877	45.195	7508
+-90.3432	40.8521	7158
+-118.1124	44.8031	7875
+-79.7961	30.476	5844
+-111.1665	35.8766	4735
+-111.8756	33.3896	6900
+-87.6598	37.7803	8566
+-81.5901	27.2684	9059
+-82.6852	28.9413	8424
+-82.2958	27.8517	9685
+-114.9337	34.9764	6832
+-107.9838	29.8077	6283
+-115.9942	34.5757	8068
+-116.4615	46.8808	7161
+-92.1034	37.7485	7279
+-117.5149	34.4406	9107
+-114.0477	30.858	5832
+-116.6289	45.2814	7306
+-116.2557	36.0825	7143
+-83.6578	33.367	3326
+-112.239	31.6809	7406
+-121.6772	47.4694	8154
+-126.3659	49.9387	4590
+-118.5784	29.9574	6092
+-118.048	45.5682	8645
+-114.5415	44.4681	4937
+-80.2302	30.4354	6184
+-126.4419	47.5622	5660
+-116.9407	45.7445	7790
+-123.1036	49.668	6630
+-109.8127	34.1423	6644
+-88.5848	34.3519	6089
+-121.2716	48.9447	6791
+-88.9308	35.7019	7603
+-92.1095	32.0882	2516
+-80.5921	27.9242	8140
+-94.4705	37.1568	4696
+-114.3548	30.5944	5928
+-92.0487	38.0184	7464
+-114.9215	34.3922	6964
+-121.0559	35.0925	5274
+-91.7188	41.3462	6278
+-92.2001	35.8587	5744
+-120.0292	43.6019	6033
+-90.2091	39.2268	8877
+-123.0214	46.1384	8687
+-116.1801	31.8226	8339
+-90.5939	37.3157	7862
+-116.1831	32.6201	8852
+-116.5736	31.9875	8729
+-84.4435	33.5663	3127
+-121.9126	47.7334	8233
+-116.5888	31.6938	8431
+-90.6534	37.5799	8130
+-90.2927	38.8321	9293
+-117.6033	36.4642	6969
+-125.1619	48.8267	6389
+-81.6049	25.6176	7389
+-113.645	34.0571	5798
+-81.6524	26.8844	8756
+-125.5453	46.5724	6668
+-114.8447	35.0553	6711
+-116.1952	34.497	8304
+-116.5765	31.1176	7808
+-82.3957	31.2069	5989
+-114.1667	37.7057	4379
+-126.0398	49.0709	5454
+-78.9725	27.7627	6316
+-82.6447	28.1706	9155
+-118.3413	33.9865	8355
+-119.9639	31.4207	6065
+-91.5706	42.7818	4894
+-90.6596	39.6317	8428
+-114.7469	32.817	7277
+-114.6365	34.0798	6668
+-87.9852	39.2183	7864
+-90.6219	39.6016	8471
+-87.5036	38.7241	7966
+-119.0518	32.4366	7389
+-116.6659	45.2242	7313
+-83.6937	28.6959	7838
+-91.4344	39.7701	7846
+-88.3708	41.9354	5363
+-113.3357	31.0027	6160
+-112.7359	35.7633	4286
+-118.9496	26.5143	2383
+-117.8844	32.6348	8709
+-86.0593	35.9365	6209
+-86.4587	36.4188	6870
+-88.994	38.1631	9201
+-122.0592	34.6577	4279
+-122.6654	46.8207	9303
+-116.1745	33.8149	8297
+-92.0985	42.9768	4508
+-119.7927	30.2152	5469
+-115.7475	45.1826	6405
+-90.0396	37.2946	8327
+-117.8413	32.6869	8767
+-86.7365	37.4077	7518
+-115.558	33.1114	8148
+-86.1565	37.7115	6885
+-89.9891	39.9807	8031
+-87.5855	42.2805	4569
+-116.5206	45.5005	7289
+-107.5878	30.3291	6203
+-121.8529	47.8656	8090
+-116.3135	33.2196	8897
+-90.0969	37.2319	8244
+-90.3417	36.8448	7821
+-83.5733	25.648	6994
+-87.5828	41.5636	5146
+-117.9232	33.8236	8746
+-91.8151	38.0698	7716
+-113.6044	35.1318	5397
+-112.8131	32.0384	6742
+-87.9769	39.3061	7772
+-119.958	45.9417	7479
+-118.8875	33.7574	7723
+-116.6255	32.2196	8986
+-88.406	35.984	7884
+-89.3334	35.845	7674
+-86.2175	35.3121	5920
+-89.3919	39.9059	7783
+-122.5596	48.342	8050
+-91.812	38.4653	7854
+-88.9178	40.6815	6811
+-89.6179	37.3636	8801
+-88.6743	36.1483	8108
+-120.4804	32.0154	5733
+-116.9497	32.919	9637
+-87.9533	37.5064	8885
+-91.0892	37.0787	7469
+-120.853	48.8225	6571
+-117.3854	46.4561	8238
+-93.1132	38.2902	6441
+-121.1583	48.8771	6766
+-80.8942	28.7761	8084
+-108.4798	30.1635	6944
+-122.1961	43.4027	5615
+-125.8215	47.1104	6393
+-80.0292	31.2306	5307
+-121.2498	31.922	4872
+-118.7234	29.6803	5743
+-84.7456	28.0798	6916
+-116.4551	32.2554	8906
+-80.2204	28.0713	7701
+-111.246	31.4221	8469
+-119.458	29.425	5059
+-81.9132	27.9399	9576
+-112.0017	30.6657	7411
+-82.2382	29.999	7364
+-119.0083	46.5811	8339
+-115.624	32.9857	8243
+-85.234	36.5466	5655
+-117.3215	31.7221	8469
+-80.5097	26.4308	7514
+-118.7993	46.2012	8704
+-112.889	30.9247	6614
+-82.5248	27.7271	9447
+-114.6176	46.7756	5313
+-112.853	28.6225	5261
+-118.0533	34.4937	8594
+-118.8268	36.7702	6196
+-117.8841	46.86	8351
+-124.0587	45.1891	7275
+-112.9738	32.9669	6244
+-116.3793	30.0166	6562
+-122.4965	49.3027	7002
+-118.5483	29.6446	5799
+-90.6656	33.8766	5057
+-118.7057	31.0333	6974
+-81.2574	28.7039	8441
+-89.9898	35.8502	7357
+-121.3553	46.3018	7759
+-116.8764	32.9302	9591
+-116.8887	37.6872	5639
+-89.4871	38.5116	8425
+-115.8709	49.6279	4734
+-112.1907	32.1264	7377
+-92.2427	37.6199	7079
+-111.0775	34.1996	6526
+-114.8435	34.5768	6851
+-123.0054	47.253	9271
+-92.0818	38.7064	7593
+-108.9252	34.1465	6305
+-81.6973	33.1255	3809
+-118.8125	49.0814	6054
+-119.2807	32.2638	7099
+-86.4309	30.337	4227
+-114.562	32.9072	7069
+-123.0696	49.0896	7266
+-83.0534	26.0617	7701
+-119.5152	49.0667	5858
+-117.3236	35.2438	8325
+-122.5777	47.2524	9133
+-90.6282	35.30	6436
+-89.4037	38.377	8744
+-120.4507	28.6756	3717
+-109.4231	32.1992	8283
+-107.5438	36.0783	3742
+-123.9305	35.7352	2062
+-93.458	37.6806	5916
+-125.2073	45.3758	6527
+-85.6082	38.412	6172
+-105.9133	32.6217	4554
+-115.2182	31.4373	7269
+-90.6503	38.2282	8793
+-87.5089	32.8614	4240
+-119.0032	48.7906	6311
+-117.0163	33.1967	9325
+-123.7155	46.2992	8448
+-120.8142	46.8121	7308
+-116.3798	48.7014	5847
+-87.8688	33.0849	4575
+-84.1369	37.6136	4618
+-90.7544	37.545	8065
+-116.2763	46.2601	7128
+-120.2862	37.7617	4389
+-88.7179	37.1871	9275
+-111.4332	35.6139	4947
+-116.0638	32.2516	8565
+-90.3513	36.9593	7867
+-85.6291	28.0795	5922
+-120.6071	34.8304	5815
+-119.3007	49.3345	5669
+-119.5459	46.0352	7922
+-112.4715	29.2223	6022
+-110.0835	33.9116	6937
+-88.0022	35.7021	7450
+-111.8594	30.5496	7477
+-88.1191	39.0439	8106
+-122.8383	47.9014	8577
+-112.0628	32.158	7499
+-90.4717	36.9164	7446
+-111.3984	34.2679	6344
+-87.8099	38.995	7977
+-90.3671	40.5496	7485
+-114.5024	33.7435	6816
+-89.633	38.245	8449
+-116.0046	34.5656	8083
+-117.1281	29.5659	6122
+-117.0476	33.4634	9026
+-118.1732	32.6956	8400
+-78.7783	29.6855	5520
+-118.5112	32.9294	8025
+-111.6742	33.7023	6757
+-113.1443	28.3963	4869
+-109.7162	32.9417	7857
+-119.9145	32.9387	6369
+-108.3315	31.75	7297
+-86.3755	35.9198	6491
+-117.3367	32.1439	8896
+-116.6375	33.3275	9075
+-122.7815	43.9762	6318
+-117.3204	47.4396	7513
+-84.7606	28.2997	6860
+-82.3901	25.1323	6898
+-109.5371	30.72	8201
+-87.8593	39.1439	7868
+-103.809	30.469	2302
+-82.2512	24.083	5723
+-81.2004	29.1153	8037
+-116.7889	45.3193	7475
+-116.2908	35.2016	7960
+-110.3582	30.9927	8833
+-118.5338	29.1011	5255
+-112.9945	33.7085	5784
+-118.1742	34.7048	8368
+-117.4307	32.2463	8933
+-117.0685	34.8083	8771
+-81.2956	27.885	8935
+-108.8816	30.2761	7357
+-91.0181	38.519	8696
+-114.1028	33.4014	6493
+-127.0023	46.7965	5095
+-120.0735	45.1733	7126
+-124.821	43.7519	5492
+-90.9647	40.3725	7567
+-114.0315	31.5522	6188
+-109.7093	30.5588	8174
+-109.5542	32.3507	8289
+-120.8882	32.7587	5312
+-111.2194	32.1594	8328
+-122.173	48.125	8104
+-117.6884	30.7454	7306
+-105.9873	31.7067	4763
+-85.6855	30.0014	5144
+-116.6779	31.7526	8523
+-121.016	43.5489	5301
+-118.8591	43.4735	6413
+-117.3403	33.0132	9282
+-84.9498	38.8903	5316
+-110.5387	34.181	6650
+-90.5401	37.5254	8094
+-113.0393	35.67	4631
+-121.6065	49.0754	6888
+-89.1899	39.4746	7920
+-109.9483	29.8169	7515
+-116.3848	33.2702	8930
+-88.7121	36.2101	8180
+-124.6957	48.1731	7229
+-121.2983	41.0261	3010
+-94.4522	38.9648	5033
+-113.9205	32.1913	6284
+-111.0406	34.2075	6529
+-109.9406	32.9252	7959
+-83.2663	27.0651	8385
+-122.7242	47.6092	8874
+-88.4933	36.5194	8492
+-120.4607	45.6936	6915
+-119.3951	30.5517	6049
+-117.1176	32.2662	9116
+-89.4945	36.7347	8488
+-79.1806	26.8775	6404
+-83.4932	27.0619	8160
+-119.2602	46.8672	7945
+-116.0289	32.7675	8705
+-115.8108	47.0946	6438
+-119.0933	31.8122	7129
+-86.4778	34.944	5823
+-117.2183	43.9783	6746
+-90.8807	40.8234	7126
+-87.9356	39.6603	7390
+-119.4849	44.9881	7527
+-116.2175	44.7522	6648
+-88.1364	39.6988	7426
+-117.7584	33.9121	8950
+-80.2619	29.1203	7279
+-124.8962	47.8527	7207
+-122.214	45.8894	8203
+-89.7315	36.4754	8095
+-116.1255	36.9435	6229
+-91.7595	35.7306	5848
+-119.9707	49.729	5022
+-106.6162	31.5499	5446
+-93.9849	39.3105	5496
+-86.227	26.6719	5098
+-109.0415	31.7701	8059
+-91.329	37.1178	7391
+-82.5483	28.615	8824
+-88.375	39.185	8054
+-118.2115	32.0909	8146
+-119.3953	29.9375	5551
+-117.6917	32.5532	8892
+-125.9573	49.3021	5379
+-84.7938	24.8687	5442
+-86.2407	39.4331	6355
+-90.6198	38.5155	9065
+-89.0835	35.496	7353
+-123.024	46.1057	8651
+-87.9732	38.7689	8290
+-117.1859	46.4785	8031
+-116.6042	31.2162	7923
+-111.0007	31.9657	8640
+-118.9282	42.8565	5758
+-89.5969	39.8809	7940
+-89.0367	36.7381	8730
+-119.4528	33.5626	7073
+-116.5858	32.1001	8848
+-90.6134	36.2445	7199
+-113.3777	34.797	5234
+-91.6671	40.1727	7359
+-120.4086	47.8917	6687
+-109.3092	30.7615	8051
+-116.7833	48.4222	6333
+-89.1916	39.6646	7805
+-108.0063	29.0889	5778
+-118.4594	46.4231	8871
+-117.3094	45.9353	8214
+-123.5105	44.9722	7315
+-119.134	45.8971	8334
+-122.7577	46.2505	8804
+-120.3245	45.4599	6995
+-110.447	31.9323	9076
+-89.6581	37.013	8575
+-121.8915	48.3427	7732
+-118.0252	30.2234	6629
+-82.1132	27.603	9706
+-119.7068	48.3196	6468
+-118.6587	48.408	6784
+-119.0084	32.4761	7444
+-116.7863	30.5988	7271
+-119.9707	48.7528	5931
+-83.4705	24.5216	5922
+-116.8218	32.211	9058
+-88.9846	38.6046	8733

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/samples/sample.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets/sample
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets/sample	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/datasets/sample	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40009 @@
+Strip 1
+40000 Points, 2 Coordinates
+Shape: Rectangle; Site Corners: -128.00 24.00, -65.00 50.00; Area: 1,638.00
+Density: 24.42; Model: N;  Random Seed: 1180323549187
+Radius or S.D.: 02.00; Cluster Seeds: 8
+
+#points	xmin	ymin	xmax	ymax	zmin	zmax
+HEADER	40000	-128.0	24.0	-65.0	50.0	0	10000
+
+-110.3333	31.5833	9431
+-116.9666	32.8166	9709
+-90.3833	38.75	9382
+-122.90	46.9666	9563
+-82.1333	27.7666	9848
+-117.2666	34.1333	9495
+-118.2833	46.10	9219
+-88.7666	37.666	9771
+-89.3557	34.7829	6512
+-88.5979	42.9841	4472
+-82.0288	27.868	9728
+-123.567	47.3496	8761
+-119.1749	35.0171	7244
+-118.1544	34.9381	8231
+-116.7855	32.3592	9204
+-116.3594	30.7479	7348
+-118.6212	31.6211	7476
+-113.6002	35.2367	5361
+-107.5087	35.6454	4113
+-116.6336	32.8838	9374
+-118.7797	32.8172	7731
+-118.2759	30.5771	6859
+-88.2496	36.7456	8630
+-88.7946	42.822	4713
+-80.9524	27.7843	8556
+-116.418	32.0142	8669
+-112.753	32.2603	6751
+-87.194	38.5712	7778
+-92.6133	36.4364	5961
+-89.5809	39.0275	8509
+-110.7463	31.2791	8918
+-115.807	30.9427	7295
+-116.8921	45.2245	7520
+-109.9553	28.1755	5759
+-91.6339	36.5598	6706
+-87.5258	34.4033	5897
+-116.7498	47.8923	6762
+-81.3195	33.0576	3836
+-117.3878	32.5997	9224
+-120.883	47.3806	7344
+-120.003	47.2084	7094
+-117.0953	44.8634	7444
+-113.5884	34.9756	5422
+-118.9166	32.5082	7551
+-123.1644	45.5103	7980
+-84.4203	30.0589	6229
+-117.4797	33.943	9226
+-92.8435	37.6158	6504
+-115.5792	43.0335	4931
+-120.2459	34.1497	6288
+-115.0895	34.0318	7161
+-118.2839	30.5298	6809
+-91.2595	40.6533	7166
+-110.1527	30.9979	8810
+-116.0284	46.0751	6872
+-120.7972	29.5635	4147
+-89.9113	37.8333	8313
+-120.9705	45.7719	7113
+-118.1054	33.3092	8255
+-111.3804	32.9796	7583
+-108.2671	35.9965	4194
+-89.0548	39.1317	7935
+-116.4697	49.4927	5186
+-119.5072	45.3216	7724
+-113.7307	33.2561	6110
+-80.6478	29.3752	7415
+-114.2177	43.7549	4290
+-113.6874	33.6991	5965
+-90.6073	38.7414	9183
+-120.2285	45.6822	7153
+-118.4842	33.8924	8184
+-89.86	36.9426	8343
+-89.3007	40.3307	7359
+-114.8234	36.2659	6000
+-119.4385	45.2034	7712
+-83.8993	27.8434	7893
+-91.1657	37.4558	7794
+-116.4819	33.8129	8613
+-85.9819	27.6875	5537
+-91.3021	38.5431	8409
+-119.4052	47.1776	7613
+-87.643	36.333	7858
+-89.2755	39.0197	8195
+-113.9761	29.8253	5091
+-111.4685	31.8372	8213
+-83.8103	29.7611	6944
+-117.4267	33.6827	9016
+-116.5871	32.7327	9319
+-120.9984	30.7031	4675
+-91.6891	39.7889	7626
+-79.1026	30.4734	5295
+-81.8049	27.298	9245
+-81.6362	26.3505	8195
+-116.6064	32.8472	9350
+-111.4449	31.9741	8197
+-81.3962	27.7626	9058
+-87.5866	36.8573	8209
+-108.5852	34.7298	5574
+-120.11	35.6514	6022
+-109.3382	37.3007	3186
+-121.6347	45.421	7412
+-91.3036	39.71	7991
+-113.6826	32.0586	5994
+-118.2066	44.8134	7896
+-117.0997	30.0702	6686
+-82.5931	30.222	7066
+-109.516	31.5532	8587
+-119.0068	33.5485	7535
+-111.983	30.0917	7064
+-120.5771	49.3511	5949
+-84.5139	27.6974	7198
+-92.8592	36.606	5894
+-124.6289	33.0755	1424
+-123.7584	46.519	8543
+-82.315	27.7783	9687
+-125.3887	43.7689	5154
+-125.6887	45.2621	6015
+-89.0205	39.3412	7823
+-86.0333	37.3234	6723
+-118.3321	45.0273	8123
+-117.4264	32.3086	8989
+-87.7746	36.9023	8410
+-114.1714	28.8965	4397
+-112.8648	33.0267	6316
+-116.0529	44.1166	6099
+-91.0285	40.9362	6968
+-107.6269	30.6773	6381
+-116.4443	32.0603	8728
+-117.9691	44.124	7142
+-118.9048	35.0135	7509
+-78.9635	26.568	6058
+-90.2118	40.0424	8019
+-84.0169	25.0366	6140
+-115.3943	35.1164	7231
+-114.4219	45.0253	5015
+-118.1183	45.2622	8356
+-87.4207	38.6928	7915
+-119.907	47.5518	6954
+-116.1349	45.9993	6983
+-109.7721	33.0461	7776
+-117.9842	47.1396	8115
+-87.3361	38.4171	8001
+-122.8395	49.5948	6718
+-115.1597	40.8181	2762
+-92.5747	38.8926	7057
+-88.5908	37.5641	9587
+-83.979	26.8459	7559
+-124.2306	49.1863	6763
+-114.3661	34.4838	6351
+-110.2181	30.7723	8586
+-123.0632	43.3077	5582
+-120.661	33.5744	5785
+-82.0086	26.078	7977
+-125.3196	45.7968	6654
+-79.6548	25.9379	6408
+-118.8463	31.9496	7444
+-120.2059	45.697	7180
+-107.7171	32.8797	6310
+-114.555	39.1241	3342
+-121.6887	44.5581	6644
+-113.8076	31.4123	5897
+-89.0428	38.3525	8984
+-91.7195	38.2656	7892
+-109.8071	34.3764	6394
+-117.8248	32.8156	8796
+-80.3195	28.8464	7504
+-111.9624	33.4048	6826
+-119.6087	48.6869	6182
+-90.7196	38.8092	9056
+-121.6864	44.9288	7000
+-120.1081	34.7303	6371
+-117.6946	46.8018	8290
+-125.3924	46.0563	6691
+-122.7508	49.4536	6869
+-111.9389	31.8481	7711
+-83.7362	29.6975	7053
+-120.746	46.98	7240
+-93.2543	37.5353	6064
+-80.6536	28.2764	8122
+-83.532	27.5005	8282
+-91.4715	37.552	7680
+-111.1058	31.3495	8599
+-109.8691	29.9593	7644
+-119.7462	29.7023	5097
+-93.226	40.5654	5789
+-80.1619	28.3732	7559
+-111.144	31.1548	8480
+-116.5371	31.936	8660
+-109.6023	32.5059	8198
+-119.9459	36.0023	5974
+-113.9039	33.3429	6287
+-119.0109	45.0038	7867
+-118.0857	46.0497	9045
+-83.2929	26.9278	8273
+-123.3467	47.0014	9114
+-116.5869	32.113	8861
+-121.8255	45.8756	7924
+-118.603	34.6603	7971
+-89.2416	39.2252	8091
+-115.335	31.5727	7464
+-87.4646	34.041	5491
+-123.7681	43.5203	5702
+-90.8971	37.6536	8119
+-125.081	43.6253	5223
+-118.8458	29.7281	5720
+-119.9046	33.5169	6583
+-77.3909	30.178	3873
+-116.2379	34.3586	8389
+-107.7687	30.1542	6293
+-92.7802	38.9928	6828
+-122.8307	47.9489	8524
+-81.2708	27.9882	8885
+-121.9159	45.4495	7619
+-89.2013	38.2755	8975
+-116.1309	46.7543	6878
+-90.2474	36.3646	7602
+-115.9168	32.7518	8580
+-119.7187	47.689	6993
+-111.2255	29.5871	7105
+-114.0569	33.3713	6449
+-117.6734	48.0976	7049
+-120.3631	46.0187	7056
+-117.0568	46.601	7857
+-86.3996	39.532	6432
+-79.6427	29.8148	6244
+-89.8874	37.5509	8550
+-84.3052	30.3337	6088
+-121.2351	44.6687	6489
+-110.0147	31.4306	9091
+-91.7781	38.1859	7803
+-91.3019	38.1786	8258
+-116.8008	33.5728	8743
+-115.2275	31.3876	7242
+-83.7737	26.2407	7358
+-88.5042	34.5629	6319
+-117.2686	31.8811	8656
+-86.1308	35.4008	5914
+-118.9242	33.3025	7515
+-120.0818	46.0211	7354
+-110.1385	36.3725	4280
+-120.0628	47.8881	6589
+-119.5725	46.6304	7784
+-111.8997	30.0691	7113
+-90.0986	37.2183	8238
+-112.2864	34.9025	5301
+-124.8084	48.0427	7199
+-116.9971	30.9795	7704
+-82.4463	29.7676	7601
+-121.721	45.9593	7902
+-120.1031	34.0501	6442
+-109.5989	35.1964	5479
+-114.2559	33.5912	6608
+-82.0302	28.6936	8837
+-122.2254	46.4813	8693
+-91.1729	37.8972	8172
+-119.19	45.6862	8205
+-90.7886	41.3725	6564
+-81.0037	30.6482	6391
+-109.4765	30.9324	8308
+-86.4778	38.7735	6961
+-89.1663	34.6451	6395
+-119.7685	47.7153	6937
+-82.0424	27.6679	9741
+-118.8608	34.7622	7668
+-121.5627	49.7597	6204
+-126.1202	43.434	4355
+-83.7495	29.267	7398
+-90.6642	37.763	8318
+-114.5219	30.3194	5855
+-85.6758	29.5017	5430
+-115.5747	36.3014	6538
+-112.8416	34.1946	5551
+-117.3941	32.7825	9275
+-91.5526	33.7272	4400
+-83.849	26.2633	7312
+-84.2362	29.3802	6894
+-125.6772	45.368	6086
+-83.389	30.1104	6884
+-110.0042	30.3457	8086
+-92.3896	41.651	5623
+-81.7568	29.1828	8235
+-116.592	31.5928	8325
+-121.2579	46.0239	7526
+-83.6448	26.4354	7614
+-92.7903	41.2484	5685
+-80.5169	30.2938	6498
+-110.9575	31.0677	8596
+-119.0295	31.4065	6966
+-90.9876	37.2655	7697
+-83.511	26.483	7762
+-121.9896	45.2501	7472
+-86.1617	35.8417	6245
+-118.1635	48.6668	6539
+-122.7933	46.1495	8701
+-116.769	32.6953	9494
+-84.818	29.3733	6353
+-91.0626	36.6162	7011
+-82.4473	30.3665	6930
+-119.0267	45.2093	8032
+-116.7986	35.7075	7746
+-90.0423	37.1092	8253
+-118.4714	29.2252	5410
+-81.4961	27.724	9170
+-117.2358	37.7231	5622
+-88.1875	36.1108	7952
+-123.3028	48.4161	7953
+-116.9238	46.5067	7758
+-87.1453	39.0155	7447
+-116.6404	30.8308	7508
+-116.1161	34.7719	8103
+-90.2212	35.4629	6852
+-114.3587	31.9658	6693
+-106.8418	29.766	5209
+-119.1455	36.8821	5906
+-120.3298	35.1943	6002
+-115.1801	32.435	7715
+-110.2228	32.5885	8378
+-123.7734	49.4309	6734
+-121.1704	46.7924	7696
+-124.8531	46.994	7460
+-90.2615	37.0761	8011
+-117.6975	43.6259	6568
+-110.9305	32.555	8238
+-87.3706	34.6413	6076
+-114.246	33.1745	6692
+-107.0813	33.4262	5424
+-89.0454	40.6521	6918
+-110.8675	30.4711	8137
+-110.9565	30.5157	8134
+-117.2926	34.9843	8609
+-114.7681	32.4253	7262
+-90.7083	38.4725	8964
+-118.442	44.3411	7390
+-111.1869	33.5285	7172
+-106.1862	33.4831	4531
+-119.1194	48.7024	6366
+-88.9094	36.5195	8518
+-109.59	33.1792	7566
+-120.3599	44.839	6688
+-120.8937	47.0966	7397
+-84.752	26.8327	6747
+-118.8155	49.0507	6085
+-117.0582	43.768	6471
+-117.0257	44.7807	7330
+-119.6639	49.835	5043
+-82.8808	26.0815	7807
+-109.8783	31.4019	8943
+-111.1567	29.3692	6914
+-117.2579	34.6029	9026
+-117.8936	36.0356	7353
+-119.8149	34.5089	6728
+-117.0018	33.7515	9031
+-119.0776	46.9782	8006
+-92.1226	39.3202	7452
+-117.7873	32.218	8620
+-118.261	44.6821	7759
+-116.5161	46.8783	7215
+-120.956	34.9167	5424
+-115.5257	36.6327	6215
+-88.3181	34.1043	5785
+-113.2697	49.5908	2790
+-118.6977	43.887	6876
+-119.9554	34.2406	6603
+-86.6196	38.5332	7216
+-90.6981	41.6226	6310
+-121.5076	32.8918	4718
+-116.3956	32.6267	9082
+-122.9043	45.6973	8212
+-120.6318	43.3539	5434
+-80.3777	27.6986	7905
+-116.8997	45.9707	7789
+-111.6948	31.8217	7976
+-109.4892	32.0651	8420
+-119.0913	34.6201	7478
+-84.7427	38.1418	5267
+-89.0325	38.2137	9132
+-107.0363	32.2414	5831
+-110.1428	35.2146	5534
+-110.5068	31.7597	9205
+-121.904	45.4178	7583
+-113.1305	33.3284	5901
+-89.5467	38.6444	8515
+-111.8812	30.7717	7580
+-83.707	28.8561	7727
+-90.4165	36.3517	7447
+-91.9921	36.7266	6638
+-111.6437	32.7146	7598
+-95.3621	36.1748	3383
+-122.5454	43.3409	5604
+-116.6073	36.7525	6592
+-114.2097	31.5465	6367
+-88.5454	36.794	8805
+-81.8909	27.4982	9483
+-119.9456	47.6077	6884
+-91.7149	43.1847	4434
+-90.2266	38.6038	9193
+-116.191	32.9139	8881
+-109.2218	29.3378	6759
+-113.8523	32.4057	6249
+-116.8477	32.308	9170
+-90.0511	39.3753	8661
+-82.3021	27.187	9209
+-117.7051	33.9832	9032
+-116.8171	45.7696	7669
+-109.7005	31.2717	8709
+-118.0138	33.2012	8508
+-118.8979	42.7589	5663
+-89.1542	35.887	7771
+-91.2011	39.1067	8463
+-117.7288	33.4863	8671
+-89.809	43.0474	4751
+-83.832	25.8575	7001
+-116.7012	32.2274	9032
+-123.9443	48.5855	7490
+-118.1387	35.3486	7906
+-83.0545	27.4696	8797
+-90.3892	38.999	9156
+-80.7789	33.344	3399
+-89.2414	36.5314	8434
+-124.7139	48.4025	7065
+-118.2698	33.3794	8169
+-118.3568	34.9004	8084
+-89.5283	35.4934	7231
+-85.9337	36.3714	6319
+-81.8386	30.8579	6379
+-87.8373	35.5593	7230
+-82.6459	38.0136	2933
+-119.1719	46.3294	8289
+-114.7819	29.0979	4942
+-92.2086	37.862	7237
+-88.3994	38.3393	8954
+-110.2506	32.3586	8629
+-127.3649	46.3817	4659
+-117.0746	31.5096	8290
+-110.7029	31.5232	9068
+-85.9394	36.4909	6378
+-80.5387	31.6145	5180
+-92.856	36.5212	5836
+-106.3111	32.5764	4985
+-115.5454	36.2769	6539
+-93.109	43.594	3434
+-88.2302	39.2084	7982
+-84.9851	28.2891	6612
+-123.791	46.8402	8618
+-90.2919	38.1194	8738
+-80.9711	30.5412	6489
+-116.1514	33.7207	8241
+-109.4433	31.0668	8359
+-118.6293	32.7908	7898
+-119.0203	44.4642	7360
+-88.5946	34.7126	6494
+-116.3196	30.9048	7502
+-93.7182	40.8295	5188
+-87.6982	39.6109	7324
+-110.658	30.5942	8346
+-91.2521	39.0661	8428
+-120.7528	47.4491	7188
+-88.4981	38.5899	8735
+-117.7526	32.185	8628
+-91.7169	36.6657	6757
+-116.7898	34.0594	9012
+-110.0866	31.7247	9165
+-89.7344	38.6505	8717
+-113.0089	33.7918	5715
+-116.4058	32.9377	9113
+-124.9114	43.8699	5549
+-95.0276	40.188	4184
+-116.7496	34.0718	8970
+-115.0791	30.9647	6803
+-119.8844	46.5752	7492
+-111.5565	31.6566	8146
+-117.2372	33.2293	9202
+-88.0487	38.506	8575
+-123.0467	45.8758	8397
+-115.9338	34.2066	8082
+-116.9275	35.7081	7781
+-83.2591	27.2531	8493
+-106.7482	31.0183	5541
+-120.5813	47.0068	7058
+-90.7428	37.6616	8189
+-115.2964	31.9637	7661
+-89.0283	38.871	8431
+-91.5404	37.2313	7366
+-117.9197	36.8337	6507
+-87.5024	40.8525	5967
+-111.4296	33.8543	6741
+-117.7309	44.2809	7247
+-87.6009	37.945	8470
+-83.7335	27.6658	8078
+-116.1632	31.1681	7707
+-89.1613	35.7365	7604
+-92.9477	37.3489	6275
+-116.7193	34.4992	8820
+-117.7083	32.9457	8913
+-115.9143	37.8124	5262
+-113.0241	29.9449	6060
+-81.2777	29.6778	7523
+-90.5302	39.2688	8843
+-115.4241	34.5743	7471
+-89.6181	40.3144	7547
+-108.8967	31.0035	7795
+-85.1132	26.1608	6063
+-117.6458	40.7739	3579
+-88.424	37.4491	9360
+-87.1799	41.1037	5565
+-90.6522	39.6207	8442
+-118.1973	31.9517	8075
+-93.9911	36.0255	4551
+-116.2311	34.5252	8330
+-81.4709	29.8654	7402
+-117.1834	33.0586	9390
+-90.0665	35.1744	6660
+-116.7798	35.0754	8381
+-112.2121	31.1221	7378
+-90.5352	37.973	8571
+-117.1784	33.9421	9308
+-118.0337	36.1012	7234
+-115.626	33.4791	8085
+-86.7103	35.8791	6757
+-109.8545	33.2924	7551
+-91.936	41.0336	6448
+-91.2929	39.891	7852
+-122.4106	48.2428	8105
+-121.2396	49.6096	6177
+-89.4617	42.1093	5670
+-120.7584	47.1981	7240
+-109.7755	29.7375	7384
+-123.3432	45.5074	7931
+-119.4876	36.8358	5722
+-114.0849	33.2237	6507
+-112.7364	29.2891	5874
+-116.2573	36.1842	7044
+-91.1359	37.7121	8042
+-118.1416	35.6583	7620
+-94.4381	40.444	4688
+-91.5215	35.0945	5585
+-121.7293	32.702	4426
+-113.7102	26.9309	3245
+-112.2419	30.8562	7261
+-91.6921	39.9207	7532
+-124.2532	46.2707	7934
+-116.6673	34.0826	8882
+-88.0894	38.1062	8908
+-90.6818	38.9442	9041
+-109.6462	30.4979	8082
+-83.3475	27.0496	8297
+-112.8558	34.6592	5164
+-116.3523	32.914	9059
+-120.7318	32.7936	5485
+-123.0343	46.656	9234
+-117.7573	32.8698	8869
+-113.9214	32.3034	6308
+-120.456	47.0948	6730
+-91.4451	37.7072	7820
+-86.3871	37.0304	7050
+-111.0605	35.0948	5588
+-89.4329	39.3077	8237
+-126.3492	44.6626	5049
+-116.7491	48.4216	6313
+-127.0815	49.353	4317
+-83.6134	28.2901	8116
+-122.2721	46.9684	8916
+-85.272	26.9535	6224
+-111.2088	31.0712	8375
+-119.1318	30.936	6554
+-88.5362	34.8601	6655
+-120.0043	45.2127	7210
+-91.3926	36.0239	6291
+-123.8689	47.2513	8497
+-114.658	29.7867	5504
+-92.0364	37.1904	6975
+-117.0422	33.7362	9040
+-90.2636	36.6931	7811
+-111.7882	33.6621	6724
+-89.5691	36.4303	8161
+-116.6616	47.1253	7229
+-83.0526	26.4906	8113
+-117.3566	28.2723	4666
+-86.8705	37.214	7627
+-90.1351	36.7599	7973
+-90.2795	34.7186	6096
+-116.3963	35.0139	8187
+-114.2602	32.4389	6705
+-79.5561	26.7272	6749
+-91.9776	37.2857	7091
+-86.4854	35.8879	6568
+-79.1785	29.1266	6212
+-117.1776	46.6153	7969
+-122.2265	49.1452	7101
+-78.4246	27.8317	5696
+-107.9564	33.6766	6042
+-116.9991	44.7064	7254
+-116.5036	35.1845	8121
+-120.5493	44.376	6245
+-115.5145	33.2037	8077
+-87.145	38.5035	7766
+-118.9181	48.1001	7038
+-119.3222	44.7948	7494
+-115.7447	35.4861	7317
+-119.7711	35.0884	6614
+-111.2662	34.4249	6233
+-116.186	31.5365	8080
+-116.8843	34.1628	9120
+-118.9326	34.2802	7713
+-123.4113	48.9969	7306
+-120.8225	35.5197	5375
+-110.4698	32.7213	8232
+-88.7269	38.9979	8319
+-117.788	34.4498	8872
+-84.3713	27.6252	7355
+-115.9416	38.6811	4371
+-78.7759	27.4527	6077
+-116.9752	32.5199	9422
+-120.7776	47.9195	7050
+-89.9842	38.7447	8994
+-118.8312	29.2913	5305
+-116.446	34.2128	8639
+-110.3277	29.6805	7412
+-86.06	34.0974	4787
+-119.7762	46.3594	7656
+-86.3103	39.2367	6542
+-116.5549	48.7628	5898
+-109.5916	31.4757	8662
+-109.5036	33.174	7530
+-81.3601	24.5572	6158
+-116.7204	46.717	7481
+-116.0986	32.8471	8784
+-88.2447	39.1049	8097
+-118.1537	31.7191	7950
+-108.6052	29.1115	6206
+-118.6078	41.2332	4095
+-108.5459	29.4955	6496
+-119.8542	43.7518	6268
+-118.9551	31.1795	6880
+-114.477	36.5573	5507
+-90.712	39.9417	8092
+-125.6783	45.1796	5977
+-113.5046	34.2538	5572
+-117.4697	46.8128	8115
+-85.1414	38.7924	5554
+-123.0391	46.3846	8949
+-114.8164	33.1403	7327
+-87.8614	37.1517	8646
+-91.1455	41.2428	6615
+-91.4258	40.0338	7642
+-119.4879	32.9639	6800
+-107.6317	31.6582	6545
+-89.5084	41.634	6176
+-89.5544	37.6078	8928
+-93.8287	40.7395	5136
+-125.3458	47.2748	6898
+-121.9541	46.6769	8519
+-87.2676	38.0621	8075
+-91.1925	36.1839	6524
+-121.645	49.1967	6795
+-89.2478	39.5342	7937
+-112.4226	33.2196	6598
+-117.3103	36.2551	7223
+-91.6906	37.0626	7124
+-118.4968	36.0736	7032
+-87.8072	34.8932	6521
+-84.1284	39.3436	4279
+-116.8163	27.566	3894
+-81.7822	28.4378	9035
+-108.8182	34.9095	5514
+-117.6553	30.5478	7108
+-112.6656	31.4979	6945
+-79.7168	30.9625	5359
+-85.7325	35.4435	5593
+-84.2407	26.6112	7173
+-119.3898	47.1011	7680
+-84.7705	26.9489	6769
+-90.7612	41.6579	6264
+-115.5039	46.3365	6306
+-120.1152	49.5441	5437
+-90.5387	35.1496	6360
+-117.4477	45.9113	8353
+-88.9428	32.5395	4057
+-93.2928	40.1691	5935
+-86.7622	37.1243	7484
+-80.807	26.6432	7926
+-112.1057	33.3469	6765
+-114.5345	48.734	4408
+-118.1497	33.7434	8485
+-117.6097	46.2715	8524
+-110.1258	31.8175	9135
+-117.7218	43.7322	6683
+-118.7513	32.5017	7731
+-81.5959	27.6433	9269
+-120.3828	48.6036	6307
+-122.7707	45.5226	8013
+-111.6459	28.6958	6037
+-85.5891	37.436	6239
+-89.6466	38.2674	8475
+-120.3223	47.472	6658
+-116.7591	32.7444	9508
+-116.0977	32.6858	8773
+-123.7488	43.6487	5844
+-109.7654	29.008	6616
+-117.0605	36.4662	6983
+-118.7544	33.633	7826
+-115.1727	28.2868	4319
+-88.3464	38.5289	8738
+-121.2965	43.5888	5498
+-112.2163	33.8457	6284
+-89.4026	38.1485	8919
+-80.5787	26.098	7312
+-92.713	33.7265	3456
+-120.3162	47.9378	6358
+-115.9241	32.0933	8338
+-111.8975	31.3959	7767
+-86.9318	25.8687	4054
+-91.6896	39.7968	7620
+-120.4295	34.0634	6087
+-90.1396	36.1466	7516
+-83.3874	27.4034	8415
+-113.8005	29.9884	5339
+-117.2758	34.8676	8737
+-121.2927	33.9099	5139
+-118.8682	45.5992	8445
+-89.4817	38.5832	8436
+-83.9561	25.0976	6236
+-92.2007	34.4116	4355
+-118.7617	30.5776	6552
+-111.4775	30.8905	8024
+-90.6461	35.4488	6552
+-120.853	42.8425	4866
+-85.0405	27.6147	6599
+-106.8449	31.6972	5692
+-77.9837	28.2112	5171
+-87.0669	28.6473	4223
+-107.0712	33.419	5418
+-88.1839	35.1098	6872
+-114.5802	32.8154	7091
+-120.5283	42.6442	4896
+-116.5866	45.3907	7313
+-119.7147	43.5758	6187
+-88.7944	34.1973	5921
+-116.2065	49.8629	4709
+-119.0243	36.0312	6716
+-121.0267	47.8628	7325
+-82.8694	24.7782	6410
+-88.5876	35.8896	7811
+-111.1686	31.6557	8565
+-123.747	46.7187	8637
+-125.7432	48.0343	6270
+-88.829	36.5741	8587
+-115.3453	34.0826	7441
+-87.1485	39.1277	7367
+-83.1785	28.5938	8384
+-117.4008	44.1031	6948
+-116.0277	32.1989	8499
+-119.0235	48.4514	6650
+-84.8621	27.2295	6746
+-117.4348	31.871	8576
+-123.6741	44.0485	6289
+-89.9166	37.6915	8524
+-121.1029	49.3921	6290
+-84.7654	27.5281	6902
+-117.9457	26.4074	2521
+-116.7286	35.0964	8334
+-113.9254	33.3873	6301
+-125.0448	47.9209	7027
+-119.068	31.4741	6971
+-89.6226	39.1709	8487
+-123.9448	47.1221	8446
+-110.0642	31.1941	8961
+-88.9246	39.0197	8285
+-120.3362	48.6712	6224
+-92.2049	39.8578	7126
+-110.6994	33.7713	7070
+-110.2698	28.6075	6249
+-85.752	38.5718	6282
+-109.5203	30.6234	8111
+-89.6633	41.5316	6327
+-114.0162	47.1266	4612
+-119.9327	49.3879	5365
+-80.0778	27.0974	7447
+-92.1507	39.3026	7428
+-115.6004	33.4107	8091
+-80.3331	24.9478	6109
+-117.1847	37.7346	5608
+-116.8535	33.8087	8965
+-82.0108	30.7657	6497
+-121.0404	47.8259	7356
+-116.6279	48.231	6403
+-120.0847	32.5181	6259
+-120.6664	35.5072	5538
+-118.0965	47.2358	8042
+-90.8464	43.6249	4146
+-122.8867	48.0024	8468
+-94.5964	39.5924	4793
+-118.2486	47.1009	8200
+-87.6273	43.3214	3671
+-124.7852	47.4904	7457
+-80.5244	25.7938	7012
+-118.2595	36.0903	7144
+-119.5715	46.1955	7893
+-90.6977	41.6237	6309
+-120.3743	35.618	5781
+-110.6457	34.7718	6002
+-79.1189	25.1741	5394
+-110.8735	31.945	8769
+-119.2388	48.8048	6222
+-92.1725	38.2946	7434
+-108.7503	29.4642	6608
+-84.634	40.3663	4274
+-120.3398	33.2404	6047
+-89.0997	36.8526	8828
+-117.7956	35.2519	8188
+-117.1431	34.1563	9401
+-116.9341	30.4078	7066
+-122.3851	47.7029	8619
+-115.5215	32.3886	8072
+-90.5969	41.233	6738
+-118.3127	33.7925	8338
+-113.4435	36.1332	4831
+-87.2343	39.8541	6817
+-120.8168	32.0192	5367
+-118.5165	34.7581	8014
+-122.4436	45.0624	7455
+-113.5552	33.7981	5793
+-109.8441	34.1866	6604
+-109.5072	32.5648	8084
+-81.7976	28.2699	9208
+-115.1495	32.1018	7575
+-90.8682	36.4958	6939
+-110.6535	35.3482	5380
+-120.389	47.2023	6743
+-89.9907	40.1744	7832
+-107.8678	33.718	5940
+-85.7785	33.9972	4504
+-115.1964	43.9468	5274
+-88.5007	35.5117	7379
+-92.2299	38.2142	7352
+-121.7478	43.1456	5222
+-89.139	34.6001	6348
+-110.4253	27.1799	4702
+-116.8064	33.292	9193
+-90.8886	39.835	8134
+-121.8672	47.3678	8389
+-109.3527	32.957	7645
+-87.9791	38.9559	8119
+-88.3047	38.8741	8363
+-88.9305	36.298	8269
+-90.5724	39.1454	8952
+-87.182	38.5955	7753
+-114.643	34.5737	6636
+-90.9864	36.5739	6990
+-118.3616	47.1094	8188
+-118.7829	34.0842	7883
+-121.702	45.0943	7164
+-88.1764	34.0823	5738
+-117.309	31.7918	8548
+-121.4744	45.1306	7052
+-118.1413	31.5482	7825
+-95.1411	36.6928	3837
+-118.9631	39.88	3002
+-82.3114	25.8404	7704
+-118.7318	32.3494	7716
+-116.7394	45.5733	7533
+-91.541	38.9483	8158
+-80.9051	26.6174	7990
+-92.6293	39.7239	6786
+-117.5106	32.3926	8984
+-115.3191	31.3927	7324
+-125.9955	46.4191	6153
+-112.7632	34.7445	5154
+-117.8089	43.9557	6935
+-117.9411	44.5657	7596
+-81.8629	27.4999	9463
+-93.4448	39.5959	6001
+-90.1843	37.862	8443
+-89.9427	41.2508	6687
+-117.9085	47.0221	8206
+-79.2979	28.6711	6525
+-113.4217	33.9817	5591
+-84.3334	36.5443	4682
+-124.4575	46.7272	7875
+-115.5158	44.3257	5779
+-86.8832	36.9885	7568
+-91.9242	36.7936	6740
+-118.8364	36.7349	6223
+-113.5869	33.0576	5974
+-89.5574	37.3008	8837
+-120.1242	46.5773	7246
+-121.016	49.1711	6420
+-89.6529	37.0505	8604
+-80.7227	27.7875	8296
+-80.2634	27.6064	7769
+-86.4213	41.6772	4599
+-89.1195	41.6468	6018
+-119.7456	36.8108	5558
+-90.6435	37.7186	8278
+-88.1118	37.5262	9064
+-94.9939	31.4211	92
+-90.6266	36.9919	7511
+-113.9034	29.2154	4832
+-120.3349	44.2074	6304
+-88.2185	34.2292	5908
+-119.9919	45.7949	7422
+-115.8733	33.1026	8492
+-91.6025	41.1644	6509
+-117.6076	35.4453	8059
+-115.327	31.7395	7565
+-89.0655	39.3595	7859
+-116.8613	35.1358	8358
+-92.7482	43.6089	3600
+-89.7775	36.3346	7939
+-116.7975	35.3911	8074
+-119.4917	37.3877	5237
+-89.8658	35.8437	7426
+-118.4906	47.3341	7935
+-83.6841	29.9116	6898
+-122.0466	43.9884	6203
+-82.2863	25.7758	7633
+-117.1442	47.037	7698
+-116.9389	35.3549	8158
+-120.7405	32.3951	5517
+-87.6103	35.34	6899
+-117.1147	29.8656	6457
+-91.3942	39.7127	7920
+-89.2299	37.4862	9257
+-108.0861	31.2776	7016
+-120.7625	48.23	6878
+-109.977	33.8738	6962
+-109.5138	28.1295	5628
+-116.1974	45.2035	6856
+-121.3142	45.9951	7563
+-119.9124	44.6473	6949
+-120.7269	34.8405	5685
+-122.9973	49.589	6723
+-109.9833	31.1526	8872
+-84.3211	36.4971	4655
+-81.9351	27.7594	9668
+-115.0842	33.1923	7612
+-119.6281	33.6972	6918
+-87.2415	38.5479	7838
+-120.6704	43.9488	5857
+-115.9443	34.4913	8044
+-120.072	45.3808	7219
+-111.8589	31.6926	7816
+-119.8681	34.6545	6644
+-121.8697	44.9058	7075
+-118.6985	34.1125	7976
+-119.6813	47.5907	7096
+-81.521	24.112	5700
+-90.838	41.3814	6546
+-119.8779	47.7357	6841
+-83.51	29.0914	7731
+-112.5309	34.0529	5892
+-119.5655	37.5318	5062
+-115.4753	34.3191	7573
+-117.5551	35.2469	8283
+-127.1028	48.9319	4509
+-88.337	37.4648	9283
+-118.3429	33.459	8152
+-117.4456	34.07	9331
+-125.9385	47.1042	6265
+-117.9429	46.5617	8653
+-111.9691	31.3865	7688
+-115.8368	31.3377	7677
+-87.7219	36.9776	8411
+-93.5469	40.2953	5629
+-116.7953	36.1239	7306
+-109.1138	31.2915	8115
+-88.7011	41.127	6286
+-115.7613	45.0049	6349
+-86.925	37.453	7734
+-121.4445	33.0914	4841
+-116.1839	31.8079	8329
+-81.0682	26.9542	8377
+-82.9751	31.3013	5782
+-119.8974	45.288	7347
+-121.6521	34.3448	4748
+-114.8818	35.8977	6302
+-81.252	26.5329	8177
+-118.3136	39.2656	3824
+-118.146	38.3237	4867
+-120.7601	46.933	7255
+-122.6961	46.835	9340
+-116.7749	33.2082	9266
+-110.6392	33.8111	7037
+-85.0265	37.1344	5575
+-88.0386	36.8005	8546
+-116.9862	36.7465	6671
+-114.5493	31.6466	6757
+-115.3593	32.9071	7957
+-111.3742	33.235	7358
+-119.5034	33.5667	7021
+-109.7143	31.333	8750
+-122.012	46.4544	8480
+-90.8793	37.0087	7473
+-117.6492	34.4404	9003
+-116.3135	35.9181	7331
+-78.2703	28.5778	5427
+-110.741	29.9967	7699
+-115.8233	46.0599	6655
+-119.5651	32.9392	6712
+-80.5219	24.8906	6163
+-119.3111	37.1836	5532
+-124.8289	43.5175	5265
+-82.0255	28.1235	9471
+-121.1367	45.9329	7361
+-82.4716	28.6523	8820
+-119.5161	48.8294	6089
+-118.5798	36.1415	6921
+-82.8206	28.4756	8775
+-87.998	39.1318	7957
+-115.7784	36.4309	6552
+-90.7738	36.1177	6970
+-118.0325	45.9494	8951
+-83.2749	29.6936	7358
+-82.4587	25.563	7372
+-115.7301	33.6074	8116
+-88.4703	39.2545	8001
+-81.2089	27.8331	8844
+-122.1671	44.8992	7196
+-84.5566	28.0064	7138
+-115.9957	45.7412	6808
+-125.4052	48.5246	6365
+-113.8532	35.2929	5606
+-115.5845	34.7405	7587
+-115.9585	32.153	8407
+-80.5659	28.02	8096
+-91.9576	41.0468	6423
+-85.0605	26.9941	6467
+-116.5012	32.2198	8909
+-113.0167	34.619	5084
+-116.5084	35.1873	8122
+-115.7648	45.3536	6479
+-90.302	37.9937	8605
+-116.7057	46.0448	7589
+-80.402	30.2841	6436
+-88.5599	39.4926	7752
+-117.8877	33.4444	8526
+-116.8944	45.3278	7578
+-109.7649	29.9366	7586
+-90.076	35.4365	6913
+-86.1085	35.5433	5997
+-88.0727	39.6359	7471
+-120.7744	44.7588	6264
+-122.9513	44.6707	7083
+-88.7955	38.1507	9270
+-109.7629	30.2923	7944
+-107.3731	31.4159	6261
+-107.5766	33.8848	5583
+-119.105	34.5853	7473
+-94.1947	42.5189	3647
+-121.5553	46.4254	8014
+-116.7382	28.9488	5431
+-119.7929	33.2324	6612
+-87.4947	37.2229	8303
+-90.0922	35.7977	7244
+-88.7734	40.8162	6601
+-90.8308	40.4288	7552
+-87.0524	36.6419	7574
+-112.0386	33.1729	6948
+-93.1871	37.6837	6191
+-81.1256	27.3206	8646
+-118.8139	35.4927	7291
+-117.5504	36.3461	7104
+-120.3921	29.6848	4576
+-124.4798	48.4727	7208
+-110.426	27.8177	5392
+-90.0168	40.0046	8016
+-117.0011	33.7938	9068
+-80.737	25.6636	7036
+-88.9914	40.494	7019
+-88.4271	41.065	6158
+-119.2954	32.178	7059
+-84.983	26.9566	6541
+-84.2364	30.3278	6143
+-89.9707	34.255	5755
+-118.3157	36.1946	7015
+-116.2573	31.3219	7907
+-83.4342	25.9072	7325
+-90.4139	38.2741	8910
+-126.0091	49.1799	5413
+-120.0201	33.0174	6297
+-114.9617	44.9518	5538
+-124.8017	46.6262	7484
+-112.3652	27.3819	4417
+-88.2798	38.4821	8748
+-112.1034	33.032	6995
+-79.3633	26.5538	6471
+-88.64	42.2959	5166
+-94.15	38.1819	5319
+-84.9479	34.3713	4154
+-127.0783	43.6433	3741
+-88.7624	40.1642	7106
+-111.4622	30.1592	7505
+-85.5598	26.3411	5694
+-123.9558	34.9724	2184
+-83.2546	26.5204	7996
+-79.7971	25.8718	6489
+-93.9026	39.2378	5595
+-115.8662	35.167	7639
+-95.2246	39.2109	4183
+-122.4743	48.8385	7497
+-120.342	48.809	6143
+-89.8606	39.1779	8696
+-87.637	41.4667	5261
+-87.2632	38.3782	7948
+-80.1168	27.138	7503
+-117.7821	35.7428	7694
+-89.5288	37.5781	8954
+-107.8052	29.2058	5714
+-117.1874	33.3703	9088
+-82.8588	27.9186	9054
+-117.0007	32.6174	9527
+-121.0499	46.9924	7573
+-116.8741	33.1188	9400
+-120.0095	49.3369	5375
+-88.8158	39.0733	8234
+-92.4559	40.189	6705
+-127.5322	49.4232	3846
+-113.2595	33.725	5545
+-118.7727	47.6353	7554
+-84.9395	37.5297	5516
+-91.6103	39.2693	7988
+-111.7841	31.8267	7880
+-90.1123	32.865	4218
+-120.1927	32.7605	6154
+-88.6411	39.3924	7872
+-116.0292	31.7629	8180
+-119.7116	48.7026	6116
+-86.5625	40.5935	5702
+-116.377	45.6884	7195
+-83.5528	29.0994	7690
+-116.1047	36.6176	6546
+-89.7929	40.6041	7327
+-117.8775	33.5253	8598
+-117.9955	42.2211	5141
+-110.5412	29.872	7606
+-113.849	45.1449	4456
+-87.5836	38.2406	8339
+-118.18	47.1855	8106
+-119.7371	29.5926	5011
+-116.0896	33.4937	8517
+-81.4249	26.1991	7946
+-120.3612	45.9653	7055
+-118.6816	32.6655	7833
+-89.4295	38.5296	8369
+-90.2306	36.4846	7703
+-94.2411	37.7373	5125
+-83.9272	29.0561	7393
+-119.3204	30.7256	6241
+-89.2144	40.7815	6898
+-112.2551	34.4237	5758
+-118.8566	45.0448	7989
+-118.1961	31.8675	8020
+-94.7488	40.0202	4524
+-90.4156	37.2193	7774
+-119.0931	33.0451	7219
+-113.1662	32.2701	6315
+-115.9926	35.1385	7768
+-82.2532	28.6226	8915
+-123.4095	44.3036	6628
+-125.3172	48.2132	6618
+-93.7025	37.4946	5600
+-90.9587	37.2046	7647
+-119.553	33.3522	6902
+-116.564	45.3295	7265
+-106.3242	30.498	4974
+-106.9997	31.2182	5840
+-84.3298	26.5235	7037
+-108.6449	32.757	7246
+-78.2012	28.2775	5406
+-118.3125	44.8875	7976
+-89.5093	36.7407	8483
+-89.8724	42.1797	5687
+-90.7722	39.3842	8623
+-89.2436	40.1471	7481
+-114.4188	32.8313	6911
+-92.766	38.6939	6855
+-84.3206	39.2397	4521
+-106.71	32.7404	5353
+-81.2836	26.9471	8557
+-119.495	33.995	7102
+-114.5218	36.7397	5409
+-92.8413	39.6497	6603
+-108.4067	31.9001	7358
+-80.6099	27.0611	7993
+-109.1276	34.3532	6201
+-89.1813	40.4302	7198
+-117.3068	33.0419	9298
+-120.2167	44.5586	6642
+-118.0162	33.8598	8667
+-82.2143	29.5098	7918
+-121.5876	49.6947	6280
+-110.1781	30.2616	8032
+-77.7335	24.8437	3916
+-117.355	43.6369	6473
+-120.5918	46.4512	6787
+-89.474	39.0916	8377
+-117.2595	34.0722	9471
+-117.4349	33.8172	9147
+-90.1294	37.1207	8167
+-117.9068	33.9757	8819
+-87.8162	38.013	8679
+-116.7886	31.9769	8795
+-121.5368	45.6034	7488
+-110.8689	38.2436	2234
+-110.2209	31.4572	9291
+-115.5151	34.8659	7467
+-118.9736	31.5433	7102
+-112.2052	33.7249	6392
+-118.4695	37.1127	6033
+-123.3686	48.744	7587
+-119.9051	46.6119	7459
+-80.7108	26.367	7635
+-117.4177	44.9436	7731
+-115.0394	33.2105	7559
+-90.6298	36.9287	7443
+-114.4932	37.2895	4955
+-119.1345	35.4226	7062
+-120.3035	31.6961	5827
+-115.501	34.4085	7589
+-90.8376	35.0164	6040
+-87.5826	41.029	5813
+-90.4195	37.9167	8525
+-115.3296	30.5141	6602
+-113.3452	31.4328	6206
+-126.6902	47.2965	5426
+-90.52	39.3199	8793
+-114.4573	35.2346	6246
+-116.9224	47.3982	7269
+-120.2918	48.0114	6324
+-121.6622	46.4998	8153
+-115.4867	35.5564	7052
+-114.7621	38.0866	4433
+-116.9924	31.2398	7994
+-115.9772	33.5267	8394
+-121.2045	49.6664	6104
+-88.6552	39.5403	7707
+-114.8472	35.5469	6481
+-108.1228	31.3462	7065
+-115.4382	31.8856	7757
+-120.1348	33.2706	6271
+-81.8268	29.0586	8390
+-107.5663	31.6169	6475
+-118.5589	48.0899	7133
+-117.5098	30.0638	6623
+-86.9112	38.309	7611
+-90.6136	38.9086	9123
+-109.8169	31.2625	8815
+-112.2138	30.6202	7184
+-93.2766	38.766	6306
+-115.0129	33.6388	7389
+-110.7931	29.2799	6929
+-119.5582	43.7584	6437
+-81.7688	28.4013	9064
+-90.9749	36.1797	6582
+-116.65	31.2498	7970
+-125.583	44.998	5950
+-111.851	32.6772	7447
+-90.5406	37.7736	8358
+-122.7763	47.0822	9420
+-123.0366	45.4588	7943
+-85.5336	27.6445	6043
+-112.2424	30.2812	6970
+-110.5415	30.5898	8374
+-118.5807	45.20	8257
+-113.3623	32.9062	5892
+-92.4837	37.8099	6944
+-91.1543	39.4155	8327
+-90.3221	40.9034	7102
+-122.1167	48.6326	7584
+-122.9434	49.7969	6496
+-80.7371	29.6614	7230
+-117.3862	31.7166	8440
+-115.9165	46.6669	6683
+-80.9203	27.8336	8518
+-90.8641	36.674	7128
+-116.3983	35.8559	7434
+-90.7249	41.9158	5992
+-120.7568	46.977	7252
+-90.6173	39.4649	8614
+-116.7863	32.4396	9287
+-90.1991	37.3827	7937
+-84.288	26.4122	7013
+-86.5932	27.2216	4809
+-93.0128	40.1107	6233
+-122.8677	46.2402	8807
+-116.1985	35.3192	7797
+-88.2903	40.6206	6399
+-115.5436	33.0285	8148
+-118.9401	33.6288	7631
+-95.1365	40.2531	4051
+-115.8218	36.0936	6882
+-89.0327	39.0911	7923
+-120.295	35.0921	6073
+-117.8275	44.5694	7569
+-119.4628	36.6743	5874
+-92.115	40.9463	6410
+-85.915	29.5998	5138
+-113.399	27.2337	3708
+-108.6314	31.2187	7588
+-112.6535	33.8486	5960
+-115.9548	33.9665	8095
+-94.631	40.8417	4321
+-115.9727	28.7268	5058
+-119.97	31.7234	6188
+-118.5922	46.7791	8470
+-87.1431	40.9406	5712
+-82.0746	25.2904	7090
+-110.4544	29.8645	7607
+-88.3827	40.3639	6654
+-115.8982	32.7724	8560
+-88.6038	43.0314	4427
+-118.9157	34.0387	7736
+-123.3741	48.4309	7915
+-87.4557	37.0661	8197
+-88.8311	37.3271	9428
+-122.0563	47.0747	8672
+-120.8378	47.145	7332
+-87.2843	37.0316	8005
+-116.9329	27.2744	3571
+-123.391	44.1628	6479
+-111.3795	35.2002	5394
+-83.6983	25.7315	6988
+-116.4332	31.8878	8558
+-81.5571	24.8994	6584
+-91.8562	38.4783	7810
+-116.1805	32.2647	8681
+-116.8527	32.2511	9109
+-125.5994	47.5807	6565
+-115.2762	34.7291	7271
+-111.95	29.3813	6514
+-108.3074	29.2558	6130
+-117.6249	32.3337	8842
+-115.633	36.5827	6326
+-82.3729	30.3209	6990
+-114.3743	34.5139	6356
+-109.8057	31.9554	8774
+-88.3218	41.1239	6036
+-89.136	39.2242	7986
+-118.2836	33.6659	8317
+-82.9023	27.657	9014
+-115.1382	36.3363	6196
+-82.1058	31.5776	5581
+-111.5669	30.7801	7879
+-120.9838	45.6423	7047
+-127.1264	46.7274	4956
+-115.7121	46.8758	6416
+-84.4747	36.6511	4864
+-119.1997	48.0669	6962
+-92.235	36.8029	6528
+-113.5933	28.1373	4334
+-90.0318	34.845	6345
+-92.842	33.6635	3335
+-122.8531	47.7136	8784
+-124.4955	43.4641	5378
+-114.5903	31.9773	6942
+-119.4247	48.5413	6406
+-116.3974	28.9118	5351
+-118.767	29.2197	5266
+-115.5234	32.3105	8047
+-119.0196	33.1926	7368
+-89.6912	36.1743	7845
+-114.0335	33.7698	6313
+-87.5354	38.5112	8139
+-120.7793	45.2146	6456
+-120.4395	47.853	6733
+-118.6248	30.5832	6650
+-117.2475	35.9623	7543
+-80.4099	27.9734	7929
+-123.5461	48.4452	7833
+-79.1654	25.1839	5441
+-86.712	37.4467	7496
+-89.1581	34.2167	5918
+-119.2011	35.2642	7094
+-118.0602	37.9264	5311
+-120.8052	42.8698	4920
+-119.5882	29.878	5360
+-88.6698	39.0511	8256
+-118.599	35.64	7344
+-123.4865	45.8136	8185
+-116.9964	33.3316	9177
+-79.1687	25.3079	5535
+-112.6085	33.8664	5981
+-121.897	46.0189	8090
+-115.9765	33.9213	8112
+-118.9598	34.007	7686
+-83.0209	28.886	8276
+-90.5815	40.2135	7833
+-88.768	38.1187	9307
+-124.2763	46.0248	7774
+-82.9955	29.5877	7613
+-118.084	29.698	6058
+-121.3177	32.8043	4887
+-90.2365	37.4294	7992
+-120.1034	33.4145	6346
+-115.9974	35.1178	7786
+-121.394	44.3138	6255
+-117.7816	30.889	7418
+-122.9819	43.2398	5511
+-117.3718	33.0725	9218
+-90.6905	38.4157	8935
+-117.498	31.1864	7840
+-115.1385	46.222	5927
+-93.0527	41.8062	5051
+-115.9624	33.5083	8393
+-118.4007	34.6172	8193
+-120.0612	30.3507	5339
+-107.2787	35.5785	4025
+-87.3426	38.348	8043
+-114.4504	32.4067	6909
+-88.8618	36.7893	8825
+-119.2502	33.0209	7057
+-90.7731	40.774	7203
+-111.2341	29.8434	7351
+-91.669	39.0074	8011
+-122.4855	46.0778	8529
+-118.8364	45.7955	8592
+-116.0471	36.9654	6174
+-119.9418	43.6705	6145
+-87.9884	37.5203	8926
+-81.6836	24.5216	6186
+-92.4172	39.0923	7201
+-112.7049	33.1809	6375
+-108.0311	30.617	6768
+-79.9015	24.4825	5400
+-117.1294	31.8905	8704
+-118.5444	35.321	7635
+-118.0821	32.4637	8448
+-112.025	32.1157	7552
+-115.328	33.1249	7893
+-120.4839	47.0173	6736
+-81.4311	28.7519	8524
+-90.491	40.7682	7246
+-82.2178	30.5989	6687
+-116.7745	32.9239	9507
+-119.5704	31.0485	6242
+-82.7975	30.8354	6340
+-109.2337	31.9567	8215
+-92.7266	41.4387	5580
+-118.1536	45.0995	8192
+-110.0204	24.9408	2269
+-118.1844	47.3944	7886
+-109.9021	31.8589	8919
+-88.43	37.5852	9427
+-90.8228	39.4847	8502
+-123.0699	48.1163	8329
+-115.1311	34.2538	7205
+-115.1017	47.9708	5352
+-113.6193	28.0273	4228
+-90.6246	42.7047	5154
+-90.9191	41.2768	6640
+-116.8593	44.8846	7278
+-119.9388	32.8427	6301
+-121.2952	44.5825	6449
+-91.3419	35.6073	5883
+-118.1303	34.2869	8581
+-114.6462	47.3463	5189
+-88.6389	39.6864	7290
+-81.6461	28.0997	9225
+-116.9575	35.5079	8001
+-92.5948	40.2659	6534
+-85.9384	39.2053	6201
+-108.9854	30.4139	7540
+-119.3374	47.4302	7463
+-79.7272	27.1738	7089
+-117.0947	45.5607	7878
+-83.673	27.4457	8113
+-88.7173	35.7207	7631
+-105.9587	33.1646	4434
+-117.6521	47.2366	7884
+-109.5365	32.0376	8480
+-116.6973	45.1939	7326
+-92.4988	40.4788	6480
+-124.587	45.1163	6855
+-116.6428	32.0663	8841
+-108.733	28.4448	5657
+-116.9537	30.5204	7192
+-85.1379	28.2746	6445
+-86.1884	37.6638	6921
+-122.7373	47.0814	9387
+-92.6011	38.3643	6998
+-122.0068	47.2132	8588
+-118.0135	29.1017	5448
+-93.0413	37.7541	6365
+-87.5082	40.003	6836
+-122.901	47.6127	8896
+-109.5582	30.8614	8326
+-87.0603	37.7845	7895
+-111.1436	31.2972	8543
+-121.8596	32.7965	4320
+-117.9471	31.5897	8001
+-121.0657	48.5862	6918
+-127.9054	47.0904	4105
+-89.5998	37.2396	8764
+-118.0794	34.8865	8329
+-124.9829	47.3437	7281
+-121.9885	47.3262	8530
+-110.0087	30.7803	8535
+-120.1877	47.2443	6908
+-123.9666	46.3857	8272
+-124.5684	46.9464	7773
+-116.9097	36.4073	7027
+-81.3985	28.4206	8780
+-117.3958	32.9028	9265
+-82.8546	25.7861	7508
+-117.3187	33.9969	9379
+-116.2411	32.4669	8854
+-88.0392	39.0744	8036
+-114.3108	29.4257	4949
+-91.1002	43.0774	4697
+-118.2672	45.1817	8288
+-114.7845	48.1484	4967
+-85.4506	27.7071	6139
+-108.8077	33.607	6728
+-117.9848	44.6379	7680
+-112.8432	29.5592	5980
+-119.4799	33.9505	7115
+-110.2117	30.5661	8364
+-114.9231	35.8068	6397
+-88.8283	37.7196	9723
+-114.7327	32.6776	7256
+-91.1465	39.7527	8066
+-109.5445	33.7972	6927
+-81.3958	32.5407	4427
+-94.7215	36.407	4110
+-117.9075	31.9137	8298
+-113.6752	29.7513	5344
+-117.8386	43.9935	6980
+-90.7608	38.4802	8924
+-79.75	25.5891	6240
+-92.6544	36.586	6043
+-89.5098	40.4933	7323
+-113.1812	32.015	6353
+-90.6213	37.5288	8083
+-119.2659	46.4198	8166
+-109.3521	30.7907	8107
+-107.5703	29.3886	5650
+-117.739	31.0302	7582
+-115.7178	33.6585	8073
+-121.3814	49.5532	6311
+-123.6728	45.6486	7928
+-88.2913	36.688	8595
+-117.2743	32.1617	8946
+-120.5903	48.4052	6617
+-116.8865	35.7157	7763
+-120.5878	35.0809	5770
+-115.3592	37.8577	4973
+-110.2424	33.1361	7788
+-119.6889	46.3411	7750
+-88.2443	41.7829	5424
+-86.3688	31.281	3666
+-116.1403	47.6936	6432
+-83.3653	29.783	7219
+-110.2048	31.752	9244
+-81.8914	29.0304	8437
+-124.3913	47.6108	7821
+-111.5688	32.5264	7789
+-91.2948	36.7661	7071
+-86.8206	36.286	7137
+-117.7875	33.9599	8939
+-118.2321	45.2551	8364
+-119.4552	33.2691	6971
+-84.3363	28.6087	7224
+-114.7622	33.3619	7220
+-117.122	33.3907	9089
+-84.2375	25.9623	6757
+-89.9591	38.9509	8918
+-116.4579	32.0541	8730
+-118.288	44.028	7066
+-119.8863	33.4086	6573
+-84.1091	28.2871	7581
+-125.2347	48.9736	6224
+-122.0969	46.3254	8477
+-89.4097	33.6498	5249
+-78.5782	28.273	5830
+-122.6287	45.5258	7995
+-89.9253	38.468	8845
+-81.188	25.4967	7111
+-107.7462	30.3387	6363
+-119.4471	33.1622	6934
+-118.508	35.2127	7743
+-110.075	30.3758	8136
+-90.7427	37.3983	7917
+-110.458	27.159	4678
+-112.5784	31.1198	6990
+-114.8773	29.952	5798
+-87.9522	38.2356	8700
+-80.938	27.5493	8518
+-109.6737	33.584	7191
+-85.2636	28.2193	6314
+-89.7217	35.8033	7465
+-116.3505	32.3226	8872
+-117.7706	33.3378	8511
+-108.4288	34.233	5938
+-88.766	38.8304	8508
+-122.8359	44.1776	6541
+-118.688	45.8314	8746
+-121.9896	46.3143	8376
+-124.4661	48.36	7303
+-91.2757	37.8712	8074
+-106.5448	34.0473	4577
+-88.6815	36.7171	8746
+-91.4998	42.8101	4886
+-117.4578	46.6966	8182
+-84.1147	27.0753	7518
+-91.369	35.8941	6168
+-105.9877	31.5914	4765
+-86.7628	27.7401	4655
+-116.4738	34.8418	8378
+-110.2558	30.3919	8180
+-90.3159	39.6872	8412
+-94.0621	40.4392	5061
+-78.9213	29.7278	5635
+-113.1969	49.746	2633
+-120.702	45.1896	6524
+-82.0938	28.4781	9086
+-114.8927	34.3211	6940
+-119.2522	48.7368	6285
+-85.3756	36.3305	5724
+-81.0523	26.64	8126
+-88.8029	38.576	8793
+-113.6878	31.3096	5827
+-117.4616	31.8965	8587
+-83.7517	26.6651	7678
+-91.0121	35.9509	6643
+-118.6172	30.2006	6303
+-83.6833	30.1142	6710
+-108.2099	32.4266	6998
+-118.8574	31.9262	7422
+-115.2535	33.1741	7801
+-112.6794	33.5189	6178
+-118.0987	44.4452	7497
+-116.8135	46.9541	7460
+-117.7908	36.4804	6914
+-118.1443	38.3575	4832
+-114.5744	34.3934	6588
+-117.7797	35.2665	8181
+-87.9574	35.6846	7413
+-122.1111	49.8185	6355
+-90.7145	41.7324	6190
+-88.2293	29.437	2741
+-122.3774	48.5296	7796
+-81.4273	30.3899	6819
+-119.3439	32.6383	7094
+-78.8182	27.6467	6139
+-118.6283	33.1717	7719
+-112.1798	34.0806	6109
+-93.7887	39.6812	5619
+-117.8839	33.786	8765
+-115.4083	32.4956	7978
+-83.071	30.3515	6782
+-81.3489	24.7374	6352
+-89.7216	41.1053	6787
+-111.4229	29.2512	6685
+-78.92	25.8709	5672
+-125.8305	45.3934	5952
+-80.79	24.5795	5979
+-90.1338	40.3393	7690
+-113.2035	30.7168	6225
+-86.7673	37.3279	7539
+-117.2056	33.9399	9317
+-125.2517	48.8712	6281
+-83.7297	28.7584	7766
+-116.3318	33.1825	8936
+-89.6452	35.7866	7486
+-116.7538	33.0594	9393
+-86.6564	35.9759	6780
+-119.6693	47.41	7241
+-116.2361	32.7236	8931
+-88.0965	38.9968	8143
+-118.6181	42.4402	5368
+-114.8342	45.1535	5473
+-119.7758	30.5797	5747
+-93.5242	37.2797	5686
+-116.5525	35.8362	7524
+-109.8106	29.8328	7494
+-123.0045	48.1186	8335
+-112.6632	31.281	6928
+-83.7029	25.7008	6957
+-83.2715	30.2252	6827
+-116.4753	35.9501	7376
+-82.5294	26.0436	7892
+-115.8635	29.6732	6037
+-106.8322	32.2175	5619
+-88.1748	36.2914	8135
+-92.2525	39.7412	7144
+-111.4245	29.7959	7205
+-119.5412	47.402	7343
+-110.9967	32.5979	8160
+-124.1821	47.1815	8178
+-116.2274	30.5324	7075
+-84.2606	27.4129	7453
+-83.033	27.3112	8752
+-116.5141	32.2365	8932
+-89.7432	36.1302	7772
+-110.2661	30.4059	8196
+-115.9632	48.2871	5884
+-119.4701	34.7765	7034
+-120.3195	46.3878	7083
+-112.5508	32.4916	6877
+-84.5309	27.0133	7049
+-114.8026	32.0716	7200
+-90.5559	37.7247	8304
+-123.8216	47.8281	8220
+-92.6322	36.6507	6108
+-88.5467	40.9332	6349
+-118.1718	44.5917	7659
+-117.1854	32.3566	9185
+-93.2913	35.0858	4382
+-119.3038	47.2105	7663
+-92.5739	39.4423	6948
+-91.856	38.9466	7823
+-106.7798	30.8048	5532
+-121.0819	48.1484	7224
+-118.0109	44.4009	7438
+-122.5374	48.4981	7877
+-88.4695	38.147	9180
+-116.1979	29.9639	6457
+-90.778	40.4721	7520
+-86.9953	41.1786	5399
+-90.0414	37.482	8369
+-122.6499	38.8939	1699
+-88.4237	40.1315	6840
+-110.8067	31.1491	8778
+-89.6693	34.2706	5871
+-83.385	28.3267	8341
+-109.9046	30.4992	8210
+-82.6829	27.2835	9065
+-89.9019	39.6099	8362
+-86.9163	37.8504	7728
+-113.8216	33.1337	6227
+-116.941	33.8642	9077
+-117.9265	43.3446	6318
+-83.4113	25.3546	6804
+-86.8746	36.3392	7221
+-116.7309	36.4228	6973
+-107.8656	28.2764	5003
+-89.9321	41.5693	6347
+-111.3772	33.2175	7373
+-90.0317	36.7981	8093
+-118.8003	30.3445	6320
+-110.5248	32.7423	8201
+-111.1305	30.0623	7613
+-109.1753	31.6621	8216
+-110.9517	31.4614	8791
+-120.8693	46.642	7347
+-119.3879	33.4691	7113
+-92.4312	41.2793	5917
+-91.3987	39.3387	8159
+-118.2419	47.3086	7980
+-118.0407	32.2607	8404
+-86.8067	34.4554	5593
+-119.385	44.1347	6874
+-109.8838	31.6375	8983
+-115.1722	32.8115	7751
+-115.2373	34.3084	7316
+-119.381	34.1827	7231
+-108.9582	32.5188	7672
+-86.8808	37.5445	7694
+-89.0404	39.5161	7758
+-90.6266	38.8605	9136
+-81.7467	26.0716	7926
+-87.3682	36.4321	7722
+-121.6172	32.2843	4532
+-121.1911	34.1832	5257
+-119.8105	49.5089	5304
+-107.6084	33.0314	6130
+-121.6837	31.1256	4164
+-84.6872	28.1707	6967
+-109.4124	33.2616	7399
+-87.5057	41.4196	5194
+-114.8964	31.7665	7164
+-110.4459	31.6133	9347
+-117.5691	38.8277	4406
+-91.6938	38.98	7990
+-80.8749	26.1659	7589
+-82.2697	29.1439	8327
+-78.6985	27.6283	6003
+-112.2321	33.5683	6497
+-80.0229	27.9616	7495
+-89.0753	34.773	6549
+-112.5333	32.3722	6941
+-112.1933	29.8363	6709
+-89.0276	35.9875	7908
+-116.3568	46.831	7078
+-116.5491	48.4162	6196
+-122.0744	46.1946	8364
+-90.6306	35.761	6823
+-116.6329	37.3953	5913
+-118.141	30.3921	6748
+-122.401	47.1562	9020
+-120.8876	46.022	7164
+-89.1784	34.5625	6301
+-81.005	27.7884	8616
+-113.7308	31.6532	5792
+-82.374	26.1908	8089
+-90.84	38.7375	8932
+-81.8143	28.6952	8782
+-118.5318	40.6244	3455
+-116.5894	33.6032	8600
+-121.0275	46.2932	7420
+-127.2378	40.9851	1489
+-90.9161	38.8203	8845
+-116.1419	29.7258	6185
+-87.6868	33.875	5390
+-115.3108	32.9262	7902
+-124.4336	49.4767	6375
+-110.1063	30.8837	8677
+-93.7259	36.4439	5047
+-89.165	39.8204	7676
+-122.686	48.0692	8372
+-87.9614	36.8735	8547
+-121.4473	49.1675	6709
+-116.8938	30.8551	7563
+-122.9184	45.1615	7623
+-92.0083	36.5893	6510
+-115.5086	34.3466	7606
+-119.9785	43.8563	6282
+-89.0422	40.432	7106
+-87.089	36.8628	7727
+-80.8568	28.3873	8287
+-91.467	40.446	7255
+-110.5485	33.9678	6880
+-114.5606	48.5848	4520
+-91.6772	35.8373	5989
+-112.6311	33.6436	6130
+-88.363	37.3984	9271
+-92.7859	36.284	5714
+-111.8602	34.2189	6173
+-121.7825	45.3838	7477
+-81.208	29.8096	7355
+-91.8504	39.9087	7409
+-87.5937	38.3623	8284
+-114.7577	37.8245	4669
+-119.7373	32.8858	6519
+-81.6608	27.5644	9311
+-117.0074	45.6377	7823
+-120.3866	41.8543	4242
+-83.5684	25.9688	7290
+-120.5943	47.056	7071
+-125.1056	45.0706	6411
+-89.4168	32.0292	3446
+-122.6139	48.5527	7836
+-121.7492	49.2594	6788
+-120.4466	46.4201	6944
+-119.159	33.2576	7263
+-121.2222	46.3933	7658
+-79.5973	26.8931	6858
+-119.1717	41.5072	4306
+-90.2085	38.8684	9197
+-82.8908	28.9161	8335
+-116.7603	34.8628	8569
+-124.09	46.4798	8194
+-82.291	26.2446	8161
+-120.8982	27.936	2762
+-87.3035	42.9612	3801
+-114.5546	35.4027	6272
+-117.8223	33.4634	8588
+-115.5231	35.6611	7009
+-111.3306	32.4786	8021
+-82.3127	27.5527	9577
+-117.6706	33.9614	9059
+-82.6542	27.8563	9294
+-114.8841	42.2246	3801
+-117.0423	45.9218	7933
+-87.7654	39.7368	7233
+-81.3844	26.5819	8307
+-116.8024	44.0745	6603
+-111.7364	31.9366	7906
+-119.8243	47.8956	6755
+-81.657	28.5308	8874
+-112.0372	30.9255	7495
+-109.6648	28.1235	5656
+-89.3709	36.2783	8116
+-121.0919	43.4957	5204
+-118.0449	32.1168	8319
+-118.0103	35.3765	7958
+-91.9585	40.5863	6817
+-89.9376	35.0261	6573
+-115.3434	31.3414	7306
+-82.5282	27.832	9440
+-120.2717	48.2664	6385
+-91.0066	39.1759	8611
+-88.1085	42.9374	4288
+-118.9051	35.6921	7071
+-83.1445	27.0658	8501
+-116.9841	45.2674	7626
+-113.0219	31.6862	6558
+-90.0592	37.62	8157
+-121.1871	49.5749	6178
+-117.505	47.4585	7602
+-109.532	32.5664	8099
+-113.4176	35.6287	5034
+-88.8827	37.7974	9618
+-82.772	28.4662	8821
+-123.1823	44.4326	6805
+-120.0495	49.8658	5139
+-120.9747	36.5337	4720
+-116.4643	32.3055	8953
+-118.4836	43.8253	6842
+-92.0954	40.2453	6974
+-83.3319	28.4927	8307
+-125.3172	49.5733	5701
+-126.4695	47.8195	5574
+-83.8656	24.9005	6104
+-79.5626	28.203	6942
+-80.90	28.6222	8194
+-121.3937	46.3687	7826
+-112.8075	30.9951	6718
+-91.9594	39.0101	7703
+-117.8696	46.5825	8587
+-115.5096	31.1664	7297
+-115.3711	35.6824	6868
+-90.2242	34.9192	6324
+-120.4981	31.9874	5707
+-117.6326	31.9522	8536
+-116.9563	44.1883	6796
+-86.743	36.0316	6895
+-119.3455	45.783	8087
+-117.3186	36.7863	6643
+-124.346	48.3263	7426
+-84.7637	30.7007	5434
+-121.7111	46.5384	8218
+-83.1831	27.8166	8703
+-111.0715	31.6972	8664
+-119.5712	49.0789	5823
+-91.2742	38.7558	8464
+-123.8644	45.6221	7788
+-86.7083	36.6537	7240
+-88.1247	37.8297	9072
+-116.2643	35.3114	7851
+-114.665	31.4704	6779
+-117.6336	33.156	8918
+-85.2301	26.0714	5898
+-110.0027	33.9793	6853
+-87.2401	35.7417	7058
+-90.1561	38.193	8776
+-125.4002	43.6784	5068
+-121.0181	46.7942	7530
+-80.2203	26.3467	7197
+-116.0503	31.8544	8271
+-116.8224	38.1163	5166
+-93.6313	41.5726	4786
+-89.0778	36.0788	8000
+-117.5642	33.8058	9055
+-121.1959	46.1669	7538
+-113.8699	30.7192	5529
+-81.6704	25.1659	6904
+-124.0255	48.8941	7154
+-113.1282	32.2276	6366
+-87.0402	39.2487	7186
+-114.3348	31.219	6319
+-116.7778	36.6005	6794
+-90.2624	39.104	9021
+-119.3861	45.8499	8063
+-118.2697	35.1877	7950
+-78.1247	26.25	5043
+-117.8635	31.6216	8086
+-119.1668	48.0085	7033
+-124.3499	44.2058	6180
+-86.2476	28.1541	5217
+-118.1028	46.4037	8886
+-123.2739	49.1538	7168
+-118.0634	43.8233	6838
+-92.4954	37.638	6852
+-92.4226	36.7224	6325
+-84.781	37.5804	5340
+-114.2902	32.9192	6765
+-123.8021	46.9596	8615
+-89.3326	37.361	9093
+-83.5172	29.6994	7203
+-88.6263	36.4356	8425
+-120.4323	33.5831	6033
+-123.9188	46.9726	8487
+-81.425	25.901	7635
+-124.0482	48.3581	7624
+-118.4745	33.5717	8085
+-123.9673	48.8877	7192
+-109.2353	30.9273	8088
+-87.8216	39.6106	7388
+-120.1303	46.4944	7260
+-122.7111	43.7675	6085
+-89.2329	37.6814	9291
+-119.0468	30.9183	6612
+-88.1511	37.5115	9103
+-115.3172	31.0296	7040
+-113.2456	33.0946	5919
+-93.2886	38.7384	6293
+-93.8416	36.7292	5107
+-110.7428	29.9688	7669
+-80.0212	30.5205	5966
+-117.8703	48.0647	7134
+-115.6509	31.3005	7514
+-81.1061	31.9022	5071
+-123.6064	46.2216	8478
+-88.0698	39.205	7919
+-121.158	32.4964	5064
+-123.4045	47.4174	8863
+-90.9573	39.8163	8119
+-124.8122	49.7873	5862
+-122.8375	46.9759	9537
+-89.4341	36.9805	8741
+-117.4577	49.084	5981
+-86.0391	40.9073	5060
+-118.5637	34.4449	8083
+-111.3696	35.2538	5341
+-89.5469	39.8733	7915
+-124.0835	45.4103	7458
+-115.7109	44.4738	6037
+-120.6589	49.9582	5500
+-89.7015	38.8952	8673
+-88.5227	37.5623	9518
+-119.2249	34.9448	7226
+-108.0761	32.4166	6867
+-90.3762	36.9566	7841
+-116.9108	35.4229	8079
+-120.8208	34.7763	5598
+-90.1252	37.6162	8171
+-110.8727	31.4798	8879
+-108.4912	31.2675	7449
+-125.9048	47.5796	6237
+-123.1759	46.4947	9006
+-119.0704	34.2142	7568
+-112.2823	28.9502	5924
+-121.266	47.2192	7790
+-115.0023	35.3777	6720
+-119.6529	46.4447	7765
+-92.8395	42.1383	4914
+-90.6066	36.6987	7200
+-91.117	38.6426	8625
+-91.6868	40.4452	7119
+-86.4295	36.3789	6820
+-108.4321	31.264	7385
+-88.6531	38.3914	8991
+-86.6672	41.3856	5021
+-88.6814	40.9472	6429
+-93.5089	39.6983	5904
+-117.3045	33.7385	9105
+-82.6815	26.7127	8548
+-77.9298	25.0431	4226
+-83.9657	27.8534	7817
+-118.9576	33.7451	7645
+-120.9192	31.2235	4999
+-92.3459	36.0859	5858
+-80.8371	27.7343	8425
+-82.6433	25.7564	7546
+-116.1467	45.1005	6762
+-89.0589	39.3228	7869
+-92.2536	40.6753	6531
+-82.7099	26.1105	7908
+-118.0972	34.2336	8625
+-77.9284	28.6626	5028
+-124.4086	48.1911	7472
+-89.0286	36.5386	8516
+-80.3949	25.8532	6968
+-91.5858	39.4776	7909
+-122.8209	49.2692	7075
+-124.6328	45.9045	7373
+-90.7806	37.3958	7903
+-90.0638	39.2596	8776
+-111.8379	36.9121	3474
+-90.7832	36.4388	6896
+-82.6174	29.9416	7371
+-119.0324	47.553	7529
+-120.9004	45.4139	6825
+-82.3954	26.8855	8852
+-86.298	40.3477	5724
+-107.5305	32.948	6096
+-110.7527	29.6095	7287
+-91.2298	35.5168	6146
+-87.878	42.7483	4339
+-88.3622	40.6999	6397
+-121.7094	45.9364	7876
+-115.6445	31.223	7443
+-115.0529	28.8029	4793
+-117.2127	48.609	6372
+-109.9982	30.1225	7850
+-89.0931	34.2243	5934
+-105.6604	31.8647	4401
+-120.1407	44.0393	6322
+-115.2802	34.4134	7350
+-117.9627	31.6329	8027
+-110.6456	31.4753	9116
+-79.058	26.9027	6278
+-88.7371	37.7729	9691
+-117.4892	44.7221	7576
+-115.5449	32.2164	8032
+-87.3936	36.0292	7417
+-112.6827	28.8904	5602
+-118.5691	35.1036	7766
+-117.3979	33.902	9248
+-122.5018	48.1842	8199
+-120.9611	45.2552	6765
+-81.339	24.8196	6439
+-115.9905	46.3517	6818
+-90.752	39.1941	8802
+-78.6363	24.5322	4503
+-123.6111	49.1226	7112
+-89.1784	39.7591	7730
+-87.8474	39.6654	7345
+-117.685	47.6906	7461
+-82.3146	28.7745	8734
+-90.4554	36.0495	7191
+-119.1132	46.5135	8279
+-118.4957	42.3817	5316
+-92.3455	40.6977	6444
+-89.2487	36.8585	8759
+-86.9762	35.271	6459
+-118.4088	36.7085	6465
+-118.5471	32.4242	7936
+-120.9133	45.7468	7045
+-110.2986	30.0396	7801
+-126.9116	48.8014	4760
+-79.4026	28.5422	6681
+-109.084	31.1431	8038
+-110.5804	29.9957	7733
+-118.2457	32.0166	8070
+-90.3318	37.8831	8488
+-88.5225	38.8416	8467
+-114.6619	35.6137	6270
+-116.7627	35.5259	7922
+-91.0413	42.7564	5048
+-110.7415	31.3218	8948
+-88.649	35.9406	7874
+-83.2916	27.0954	8378
+-116.0079	43.4616	5571
+-118.7193	48.575	6599
+-119.6168	32.9691	6677
+-113.68	30.129	5520
+-117.1334	36.6107	6832
+-88.7918	41.4048	6088
+-79.7428	26.8655	7002
+-87.8021	36.3133	7950
+-83.0556	28.2449	8717
+-122.3764	47.7476	8573
+-119.406	46.9197	7788
+-80.1338	24.2351	5301
+-87.337	39.4876	7216
+-121.6708	45.4555	7466
+-111.0267	32.2576	8426
+-85.8093	31.9187	3618
+-111.4423	31.193	8200
+-121.1118	45.9045	7321
+-117.2881	28.8181	5279
+-121.5947	34.4114	4807
+-84.28	27.2782	7402
+-85.825	24.0861	3995
+-123.2045	49.3721	6942
+-121.1816	38.8588	2844
+-92.0349	37.7114	7321
+-122.3441	47.9665	8349
+-116.7526	32.4754	9304
+-119.2602	32.1646	7093
+-119.0885	49.8983	5148
+-113.8897	32.4754	6300
+-120.1912	43.5899	5921
+-110.8692	30.1995	7866
+-118.9011	43.9244	6865
+-120.1898	31.614	5916
+-119.3719	30.6348	6131
+-116.3686	43.507	5847
+-82.3239	27.3743	9399
+-88.3402	36.5471	8471
+-118.3343	34.0088	8365
+-120.327	45.352	6956
+-125.4085	48.3127	6479
+-115.9502	32.3414	8501
+-116.2371	34.9347	8115
+-124.8491	46.2988	7343
+-89.2129	33.8565	5510
+-92.5506	38.7723	7088
+-115.0448	30.3909	6301
+-120.3459	46.7278	6977
+-114.2033	33.0642	6658
+-92.9372	43.0174	4064
+-107.6594	33.2707	6048
+-115.408	32.4872	7976
+-116.1421	31.6374	8148
+-119.3544	43.6168	6396
+-110.0295	33.9664	6871
+-122.7098	46.2395	8781
+-115.4211	33.9366	7513
+-117.5628	32.2767	8856
+-121.5001	49.813	6121
+-119.1688	32.9191	7294
+-91.0853	40.1461	7740
+-108.9529	31.7907	7961
+-82.2182	26.0136	7907
+-89.7758	34.6741	6271
+-89.4178	37.8972	9039
+-81.1917	28.634	8444
+-118.013	30.0524	6456
+-114.6124	31.1947	6564
+-119.4257	48.6542	6297
+-120.043	45.8207	7374
+-118.3847	31.929	7887
+-119.0634	43.872	6760
+-88.4209	40.11	6851
+-88.1696	41.9921	5193
+-81.3977	31.3411	5764
+-124.9097	46.7157	7381
+-110.7301	37.6416	2896
+-109.871	32.263	8583
+-116.9208	46.5032	7756
+-87.8951	38.4479	8501
+-116.6216	44.948	7119
+-88.5017	36.8288	8829
+-82.0202	31.9429	5166
+-108.6819	29.6896	6751
+-119.8683	48.2481	6433
+-87.7004	35.3764	6980
+-117.3315	31.6828	8424
+-120.3148	46.3066	7098
+-89.0264	37.392	9391
+-122.0199	45.9849	8158
+-89.9461	40.4732	7508
+-89.1962	37.275	9163
+-109.11	31.419	8136
+-119.4307	31.3014	6526
+-85.8499	35.2469	5561
+-118.3789	35.5728	7553
+-110.7095	34.7842	5982
+-84.4371	29.5371	6605
+-118.8388	34.781	7683
+-115.5831	34.2858	7694
+-126.5651	45.6585	5331
+-114.7269	35.8691	6182
+-113.9195	32.2888	6303
+-87.9258	36.7366	8408
+-127.3924	48.3642	4437
+-89.838	39.0032	8776
+-119.6471	47.4523	7226
+-88.2379	38.7439	8467
+-115.6547	34.4846	7738
+-118.0518	35.0976	8181
+-117.489	46.4767	8330
+-113.0583	32.6205	6315
+-83.8494	24.2979	5514
+-113.1773	34.0007	5429
+-124.3647	49.7113	6188
+-80.9095	26.8687	8175
+-114.913	47.2494	5489
+-85.9169	34.8854	5346
+-112.4219	34.0509	5971
+-121.4493	47.2887	7974
+-89.8516	35.5807	7176
+-121.799	45.4267	7526
+-114.9414	32.7678	7493
+-92.0164	40.0712	7160
+-122.4867	44.8591	7247
+-82.3903	26.4157	8337
+-121.1017	45.0816	6744
+-119.8114	31.7601	6368
+-114.7907	33.6183	7166
+-119.5208	31.336	6460
+-80.2479	29.2089	7207
+-85.6386	27.5961	5922
+-120.9376	48.0755	7130
+-83.6943	27.8825	8122
+-90.4487	36.3606	7425
+-88.9703	35.74	7641
+-88.7979	37.3203	9426
+-119.6524	32.015	6626
+-125.6592	46.6009	6548
+-87.5884	39.2487	7600
+-78.7557	25.1536	5061
+-123.1129	45.4466	7920
+-83.3484	28.9105	8004
+-116.6555	32.7415	9396
+-115.8808	35.6826	7270
+-122.2671	48.5992	7683
+-90.8824	38.6626	8878
+-110.7268	29.655	7341
+-117.7524	34.5675	8827
+-110.8011	29.7895	7465
+-115.2941	46.5412	6060
+-115.5585	45.6955	6343
+-122.2934	45.9738	8328
+-117.7791	32.0402	8499
+-109.9083	34.3492	6442
+-120.8151	32.7698	5391
+-116.2076	34.778	8185
+-116.8782	34.9229	8578
+-123.7131	46.1583	8347
+-81.5677	25.6644	7430
+-81.7854	24.7393	6445
+-122.2145	47.6114	8572
+-119.7918	36.721	5594
+-116.56	36.7509	6580
+-111.0952	32.3845	8276
+-113.1804	33.0119	6022
+-82.1983	30.7966	6464
+-83.2744	28.3449	8445
+-117.2165	45.8264	8094
+-89.779	36.012	7638
+-114.7165	33.654	7075
+-88.3699	37.2849	9198
+-112.3954	32.9344	6803
+-110.20	30.4093	8193
+-118.936	35.9805	6822
+-118.4037	31.4771	7562
+-121.2769	45.6995	7344
+-116.3842	32.1817	8792
+-123.492	46.5406	8805
+-116.6997	32.5632	9342
+-85.1953	24.3155	4673
+-109.7673	31.2055	8736
+-118.2705	31.3005	7522
+-121.8667	43.6377	5777
+-84.7429	38.3934	5225
+-123.3262	48.4581	7902
+-81.8453	27.0947	9065
+-85.5934	40.7542	4845
+-120.2056	45.3925	7091
+-112.228	28.837	5859
+-87.1777	41.5441	5111
+-90.6405	35.1935	6333
+-124.285	45.6397	7499
+-89.4098	38.5459	8352
+-82.8515	25.4826	7184
+-76.8935	24.5169	2917
+-118.4506	33.3227	7973
+-81.1686	27.4459	8742
+-113.4538	30.9786	6030
+-116.2864	32.8454	8993
+-80.7119	28.6495	7999
+-80.5239	31.533	5259
+-119.2738	33.3899	7203
+-118.7428	45.8153	8688
+-87.5221	34.4623	5957
+-117.424	49.1282	5927
+-88.2221	37.0472	8890
+-79.5908	24.0699	4816
+-119.5291	45.5848	7833
+-111.3786	32.4973	7969
+-112.2623	30.2363	6924
+-113.6361	33.1772	6016
+-118.8537	35.4153	7312
+-116.6801	35.5865	7828
+-90.6155	36.3815	7288
+-107.8956	31.4357	6828
+-87.3492	30.7169	3113
+-88.3067	37.9656	9199
+-110.1323	35.3153	5424
+-109.8839	26.5297	3977
+-113.4799	29.9733	5644
+-116.5186	32.1629	8869
+-106.7745	31.3442	5609
+-109.0274	32.4895	7751
+-79.8042	30.4114	5905
+-93.3386	34.585	3920
+-116.4211	34.1109	8615
+-111.1087	29.724	7291
+-124.0844	49.2934	6738
+-111.9979	32.5087	7410
+-89.5177	37.5123	8954
+-91.1758	37.4675	7799
+-122.4782	47.4428	8907
+-87.8828	36.2088	7902
+-80.9411	26.3865	7829
+-112.6821	31.0496	6864
+-110.4003	30.086	7850
+-113.0504	29.5233	5779
+-88.0761	36.0734	7867
+-126.3003	46.7183	5861
+-79.1232	26.406	6155
+-121.1398	43.1529	4914
+-114.7819	46.4256	5536
+-124.5658	48.2262	7312
+-122.3235	49.2074	7064
+-117.4746	34.5721	9008
+-84.7735	25.3513	5844
+-90.818	42.1541	5726
+-87.8385	36.7012	8312
+-106.5889	31.746	5413
+-119.4841	34.6363	7057
+-89.7199	38.8258	8705
+-91.0105	39.3167	8513
+-116.6403	31.3399	8066
+-84.2354	27.5335	7500
+-77.1124	29.0827	4020
+-109.7931	31.2148	8765
+-81.2209	29.4772	7699
+-92.2726	37.0227	6665
+-90.4291	37.9421	8552
+-121.9822	35.0393	4300
+-121.0373	48.6884	6819
+-114.0617	33.8237	6324
+-87.7349	37.8839	8631
+-122.3401	44.1427	6443
+-87.7205	40.3748	6556
+-117.6576	35.701	7775
+-117.4703	31.8062	8494
+-122.0833	43.1299	5297
+-119.2511	47.818	7172
+-117.7537	33.5502	8709
+-113.4419	30.7412	5984
+-92.5129	34.1908	4001
+-111.7381	24.1444	1271
+-114.404	30.9784	6235
+-109.0544	31.5036	8085
+-91.3945	36.5581	6823
+-120.5055	46.4193	6883
+-115.5521	33.9666	7659
+-121.2279	46.874	7766
+-120.5149	38.7268	3401
+-123.5022	48.4801	7817
+-117.5627	37.3867	5974
+-118.5471	33.0171	7976
+-110.6973	27.6939	5241
+-117.1259	32.2387	9084
+-115.8938	30.4442	6849
+-79.0715	25.5998	5649
+-116.9914	31.0096	7737
+-117.539	34.7707	8782
+-82.508	24.2428	5883
+-109.5037	34.5237	6163
+-115.4284	32.3134	7948
+-118.8398	35.5907	7199
+-110.1774	30.4995	8287
+-85.7922	26.3774	5465
+-87.0629	38.6479	7608
+-117.0814	34.8397	8741
+-116.0915	36.4683	6686
+-116.5425	35.5193	7832
+-119.8074	47.7125	6911
+-89.8138	33.2962	4771
+-90.2124	41.0419	6947
+-111.3657	32.0274	8256
+-117.9306	34.123	8813
+-122.125	49.8899	6284
+-115.6304	42.3228	4372
+-108.871	32.2813	7718
+-109.5585	30.8456	8314
+-89.25	37.1903	9054
+-126.7748	48.2062	5137
+-117.2987	37.3199	6062
+-116.2643	32.1644	8684
+-116.2768	34.4601	8401
+-120.4689	34.5264	6019
+-121.1357	43.3023	5029
+-123.2195	49.967	6291
+-117.2596	33.0272	9350
+-89.0157	38.4265	8917
+-85.5805	36.3574	5949
+-81.5161	27.6216	9175
+-110.899	29.9086	7558
+-126.5718	44.4394	4709
+-111.1603	32.4302	8191
+-117.5563	35.1723	8361
+-91.7918	34.5117	4909
+-123.2041	46.6033	9086
+-121.2089	47.9056	7481
+-81.2289	27.8362	8866
+-117.3407	47.6252	7362
+-105.6121	31.2442	4345
+-88.8694	38.1168	9296
+-89.5313	40.3967	7426
+-110.3233	31.079	8927
+-118.8611	46.3115	8609
+-89.2797	40.5733	7127
+-82.2827	25.0292	6791
+-111.5567	30.16	7440
+-91.9639	39.4415	7565
+-124.4345	49.9385	5932
+-107.9536	33.3409	6268
+-125.1594	47.8303	6949
+-89.1918	36.5905	8517
+-90.6907	37.632	8175
+-83.8062	25.764	6940
+-122.972	48.3438	8091
+-81.1734	26.9277	8450
+-85.5893	30.3817	4989
+-115.3745	32.2915	7883
+-91.0854	36.9391	7331
+-91.0141	39.6164	8269
+-114.8599	29.3192	5199
+-90.9723	37.4161	7853
+-89.8831	42.6998	5133
+-88.8171	36.5379	8547
+-110.6125	32.907	8008
+-110.9934	31.1859	8639
+-82.8389	24.4212	6024
+-116.7466	32.6619	9453
+-126.0021	45.1609	5663
+-114.9411	30.4185	6252
+-89.155	35.1555	6963
+-111.7846	32.5276	7598
+-91.582	40.9688	6706
+-118.9352	45.926	8546
+-114.2351	31.1371	6176
+-113.3548	33.9205	5540
+-115.7588	32.8209	8406
+-82.5912	27.9735	9324
+-116.9157	42.7992	5477
+-117.7449	37.0562	6307
+-118.5925	35.5103	7453
+-119.9903	43.0699	5577
+-90.7039	40.8141	7173
+-89.1664	36.0028	7895
+-109.382	31.8846	8392
+-120.6766	46.441	7096
+-89.2531	40.559	7125
+-81.6765	28.7778	8637
+-109.3362	32.0215	8293
+-85.1137	42.7669	2772
+-90.2522	38.0396	8646
+-89.8446	40.2531	7703
+-75.5726	27.5827	2467
+-85.5502	37.8587	6198
+-118.7523	47.6468	7549
+-119.6229	31.0813	6214
+-124.7199	45.4993	7038
+-118.3226	34.5957	8280
+-81.1329	28.7356	8317
+-85.3496	37.6769	5979
+-122.9951	47.7822	8704
+-108.1911	33.1434	6602
+-88.0407	38.6352	8456
+-119.4189	34.6103	7133
+-92.9938	38.6285	6608
+-105.7849	29.9537	4239
+-112.1287	32.6449	7214
+-93.4135	38.8858	6155
+-109.54	34.5104	6188
+-84.8082	28.4683	6764
+-93.4443	38.8226	6124
+-83.1981	38.4245	3507
+-81.8302	28.778	8698
+-110.8358	31.8615	8851
+-85.6663	34.3443	4715
+-80.9157	26.622	8002
+-118.1611	47.1703	8120
+-123.2922	45.2921	7717
+-88.2237	32.0455	3477
+-83.2244	27.0533	8418
+-111.2404	33.2769	7392
+-124.894	45.508	6892
+-80.7802	26.2663	7607
+-111.4495	30.403	7714
+-118.2619	29.7018	5990
+-115.0205	35.1209	6861
+-115.5467	44.4737	5889
+-83.3293	27.4055	8479
+-115.9762	38.8949	4156
+-118.707	31.0601	6995
+-116.1686	35.2412	7836
+-122.1115	48.8476	7365
+-126.721	48.0203	5252
+-118.0279	34.2861	8691
+-86.7808	35.3588	6398
+-91.3639	38.521	8339
+-88.0598	41.2575	5740
+-115.452	33.6095	7846
+-114.8849	35.3155	6637
+-90.1002	36.2257	7612
+-115.9246	34.8872	7859
+-108.5862	33.8387	6383
+-82.6816	26.4053	8232
+-120.0138	34.0073	6538
+-110.2192	33.4325	7466
+-116.4396	33.0071	9128
+-85.068	36.7666	5542
+-117.0324	47.0454	7600
+-123.1221	47.4066	9065
+-121.7485	46.7128	8311
+-85.4191	37.3485	6041
+-117.0784	32.5606	9441
+-116.2035	47.2946	6720
+-115.8261	30.3682	6740
+-86.4798	38.0246	7217
+-122.3703	48.4257	7901
+-125.1055	46.8535	7180
+-89.5394	36.1841	7939
+-121.124	48.818	6788
+-108.3737	31.1574	7301
+-82.4688	26.8523	8791
+-117.1501	34.9379	8651
+-80.6816	28.0482	8219
+-109.5257	32.2875	8313
+-84.4431	29.0606	6897
+-109.6213	25.9878	3362
+-121.3692	46.9496	7924
+-82.0921	27.0705	9104
+-121.6842	46.8101	8259
+-116.9973	45.6828	7829
+-82.931	30.2471	6945
+-117.6597	35.5744	7908
+-124.3658	46.114	7743
+-90.3878	39.4881	8629
+-82.4769	27.5384	9426
+-122.6625	33.7907	3640
+-82.0488	24.3178	5989
+-119.4199	42.6302	5394
+-114.7627	32.632	7286
+-120.9497	48.1376	7107
+-88.8834	39.2576	7718
+-86.881	39.2119	7078
+-86.2961	40.6385	5476
+-118.4592	34.1704	8236
+-125.2332	47.1575	7034
+-107.0029	30.1906	5562
+-120.6352	46.0501	6769
+-108.0053	28.9671	5679
+-117.072	46.7048	7827
+-118.6238	31.9843	7684
+-89.3014	38.4793	8722
+-89.8662	36.8955	8308
+-121.0184	47.5515	7441
+-109.8219	31.2486	8811
+-122.983	47.46	9057
+-106.1529	30.4066	4768
+-121.451	45.9232	7644
+-89.8806	42.6468	5189
+-83.8769	26.8146	7645
+-82.7506	26.8289	8622
+-115.6671	43.6928	5495
+-81.564	31.0808	6088
+-127.71	48.0753	4183
+-87.6006	42.3194	4546
+-114.557	36.0442	5921
+-118.8232	48.272	6890
+-108.5377	30.8693	7380
+-108.1785	29.5379	6255
+-91.7916	36.4563	6523
+-118.0656	33.1342	8477
+-112.3244	32.7504	6973
+-117.8832	32.5684	8694
+-120.8359	45.6843	6937
+-111.4568	30.3032	7628
+-90.8666	37.337	7815
+-116.8033	49.25	5575
+-111.5232	29.8624	7207
+-81.4297	27.0819	8782
+-115.5185	32.0142	7906
+-115.2491	44.8977	5804
+-82.7138	26.1626	7963
+-88.521	38.187	9169
+-118.0011	32.6246	8579
+-119.314	47.2695	7610
+-120.1428	46.6698	7201
+-121.9015	49.2573	6861
+-82.9488	25.0102	6640
+-119.1504	32.8176	7317
+-117.2516	33.5981	8954
+-114.4758	32.1145	6866
+-86.7078	36.4813	7149
+-110.2687	34.4664	6349
+-123.1282	46.4983	9034
+-110.1192	30.1512	7905
+-89.0886	36.437	8389
+-121.146	44.6463	6411
+-91.5211	37.0376	7208
+-87.0823	34.182	5471
+-89.8684	36.9811	8359
+-119.1179	30.237	6006
+-90.3271	40.2301	7828
+-117.761	35.5957	7854
+-119.1782	46.6767	8133
+-123.7147	47.1305	8693
+-82.497	25.3575	7136
+-115.1876	32.9468	7763
+-116.6781	33.192	9225
+-91.8902	38.111	7660
+-110.4757	30.9642	8785
+-118.8334	34.4233	7800
+-120.1398	44.5821	6721
+-92.2802	37.1414	6744
+-115.6084	47.9898	5792
+-112.2794	33.51	6507
+-120.4723	44.1565	6160
+-124.4943	48.4468	7216
+-90.202	35.9657	7317
+-109.0101	35.0708	5432
+-120.1774	35.2471	6138
+-119.1255	36.5652	6199
+-90.9917	37.4878	7914
+-90.11	39.2653	8796
+-117.5847	34.121	9191
+-86.8317	36.7043	7390
+-116.0135	33.2905	8566
+-115.4902	43.3156	5084
+-116.9691	32.9593	9594
+-119.004	34.3255	7631
+-91.3324	35.9403	6228
+-111.6232	31.3277	8049
+-82.9805	27.6014	8916
+-123.932	46.992	8472
+-119.5915	46.1084	7875
+-88.4451	39.3387	7903
+-113.5167	29.4455	5319
+-82.6326	31.5877	5533
+-115.301	33.6502	7675
+-87.2296	40.931	5764
+-117.5564	46.7397	8235
+-116.03	47.9522	6171
+-124.5246	47.4669	7739
+-80.9205	26.0461	7511
+-117.0557	33.7626	9073
+-77.957	27.9065	5165
+-117.4037	47.3889	7608
+-116.3692	31.9068	8539
+-90.4906	40.3409	7706
+-88.564	39.5561	7681
+-119.4058	46.7249	7900
+-90.947	38.7032	8815
+-84.5913	29.5821	6435
+-112.9238	31.2906	6649
+-116.6762	31.3709	8108
+-83.8828	25.1577	6339
+-117.6467	35.3923	8103
+-108.1734	30.9417	7032
+-111.789	30.5811	7559
+-115.0025	44.6225	5450
+-112.24	32.9552	6929
+-78.0698	28.0458	5284
+-88.4583	39.5586	7663
+-113.0009	32.4711	6427
+-117.2078	46.4589	8060
+-108.491	32.0767	7407
+-117.0927	31.9228	8746
+-119.4778	32.7589	6951
+-87.9743	36.9622	8626
+-87.2858	37.6636	8153
+-88.7077	38.9035	8424
+-120.7125	37.3675	4383
+-121.2136	47.6234	7618
+-93.505	38.0331	5972
+-82.8002	28.4617	8803
+-82.4155	24.3089	5968
+-119.4338	30.9686	6315
+-122.1119	31.618	3860
+-88.3968	42.0516	5271
+-117.4334	32.9946	9196
+-117.5325	34.9244	8627
+-108.0125	30.8419	6834
+-115.1908	35.1291	7026
+-118.1717	47.4742	7800
+-116.926	48.0427	6751
+-112.0638	33.5897	6603
+-78.9587	25.9942	5779
+-82.4829	24.0873	5711
+-87.6762	40.6097	6291
+-87.8599	39.8626	7148
+-88.6869	36.4269	8421
+-90.0735	40.6802	7317
+-115.8509	47.5524	6260
+-82.778	28.6958	8613
+-108.6045	30.6306	7335
+-123.2545	48.358	8029
+-83.6283	36.5738	3918
+-116.0826	31.3935	7884
+-119.6549	31.6793	6497
+-123.9171	46.762	8466
+-81.8263	26.1369	8016
+-88.3005	39.7095	7462
+-107.6506	30.6978	6413
+-81.5956	24.5369	6188
+-82.3829	25.464	7272
+-90.5686	37.163	7702
+-114.9988	45.5688	5737
+-123.6675	45.0824	7371
+-110.7355	30.0531	7759
+-88.6695	36.5245	8529
+-113.3874	31.1769	6135
+-123.2814	46.8942	9180
+-89.7803	37.2419	8582
+-125.3153	46.4687	6897
+-88.4885	38.8992	8396
+-117.7897	34.3362	8926
+-91.3778	36.2514	6526
+-89.2128	37.9436	9225
+-81.991	28.4611	9090
+-82.679	26.6695	8506
+-109.4248	29.5955	7106
+-122.2845	46.6813	8861
+-118.1575	48.2319	6999
+-111.8749	32.9192	7263
+-121.9998	47.2533	8568
+-120.0952	34.3247	6445
+-118.5302	44.1397	7168
+-117.2118	31.3101	8050
+-116.4639	46.9294	7143
+-116.8989	48.0689	6711
+-116.6668	29.1175	5613
+-117.9965	33.3793	8393
+-118.4917	28.4144	4556
+-81.6223	26.9936	8844
+-90.2272	36.8774	7952
+-119.8995	45.5823	7463
+-84.3679	24.289	5216
+-116.0321	31.8564	8258
+-117.1442	48.7418	6214
+-113.5641	28.6032	4711
+-116.2236	41.7799	4192
+-112.9392	34.4019	5315
+-116.7179	47.4602	7064
+-89.5101	41.2627	6557
+-120.4979	31.0349	5341
+-88.4859	35.805	7703
+-81.9387	32.9174	4061
+-79.9143	28.4679	7260
+-87.0726	41.3209	5293
+-110.5446	28.1151	5709
+-87.7582	38.7545	8149
+-114.7375	48.8082	4535
+-82.2611	28.4849	9067
+-82.8672	29.9195	7319
+-117.5145	33.4983	8794
+-116.194	33.6399	8494
+-91.4534	37.6901	7801
+-122.5467	45.0473	7462
+-79.7804	29.5475	6554
+-91.1291	41.9126	5922
+-114.9931	45.9298	5771
+-119.2808	36.1711	6412
+-121.1844	46.143	7515
+-115.2829	48.7407	5027
+-119.8365	32.9378	6446
+-95.7058	38.3658	3673
+-90.3709	40.5101	7527
+-117.2398	30.4736	7122
+-87.0007	37.5755	7830
+-124.0896	45.717	7711
+-88.036	41.0383	5891
+-115.8649	34.9775	7753
+-109.8723	28.3484	5933
+-114.5716	33.634	6930
+-87.9584	40.1638	6868
+-117.1235	35.236	8325
+-122.1795	34.8606	4120
+-121.9238	44.3369	6524
+-83.3613	27.9794	8482
+-92.468	42.0337	5232
+-90.3125	37.6626	8250
+-120.013	45.6797	7375
+-119.7334	34.4554	6824
+-117.033	36.2892	7172
+-116.4224	36.1015	7202
+-117.5431	33.3559	8872
+-121.7096	48.8517	7157
+-117.222	36.635	6809
+-119.2391	32.9364	7215
+-121.2616	42.1573	4027
+-87.3536	41.5092	5219
+-119.0882	45.9455	8393
+-119.6243	48.4311	6412
+-89.5673	39.5676	8179
+-116.3916	32.7865	9111
+-117.3598	36.4121	7050
+-117.3643	45.9593	8276
+-117.3152	45.0089	7716
+-88.6454	34.9095	6718
+-109.1271	33.7042	6830
+-120.0729	45.2224	7150
+-117.178	46.1016	8090
+-90.0997	40.4472	7570
+-117.2199	34.9743	8619
+-118.0259	31.3733	7756
+-86.0564	39.1514	6346
+-82.1941	26.9824	9003
+-120.1879	47.9207	6470
+-123.3521	49.4717	6810
+-81.9232	26.213	8119
+-88.1511	34.9636	6704
+-110.8134	34.7937	5957
+-113.9096	34.313	5871
+-118.7842	43.1165	6057
+-118.6368	34.0779	8042
+-90.2598	37.1762	8051
+-96.1596	38.1278	3162
+-91.9881	37.8444	7438
+-116.133	31.1445	7669
+-118.3353	31.8294	7871
+-119.0047	33.4484	7500
+-87.9855	39.997	7056
+-115.0081	35.4584	6681
+-117.9414	45.211	8252
+-123.7775	43.6861	5875
+-125.239	47.0665	7034
+-115.1869	46.9733	5853
+-122.1564	48.0077	8201
+-88.1837	37.9464	9089
+-112.0152	32.0778	7574
+-111.4747	30.684	7899
+-124.561	48.1189	7385
+-87.486	36.9349	8160
+-117.1051	35.5495	7983
+-88.0998	40.7537	6150
+-118.8211	35.1575	7507
+-80.6478	27.1274	8063
+-117.4455	38.5367	4731
+-116.8016	42.4845	5122
+-125.8196	46.1254	6268
+-122.5395	46.3739	8844
+-113.581	34.2322	5660
+-82.351	27.4326	9441
+-114.5831	36.8669	5359
+-111.6748	33.7089	6750
+-88.5094	40.3634	6759
+-82.9597	27.7091	8955
+-114.1526	43.4844	4082
+-82.8738	29.1941	8073
+-117.0999	35.1646	8398
+-86.24	26.506	5032
+-113.287	33.1059	5873
+-118.6875	34.1702	7987
+-88.8891	41.1187	6406
+-119.8374	31.8434	6372
+-118.7423	34.3228	7915
+-122.5421	47.1154	9180
+-114.5823	28.868	4608
+-111.0234	30.433	8020
+-117.4469	32.1788	8862
+-87.7817	36.6083	8193
+-108.2433	27.5192	4522
+-80.1675	30.7842	5818
+-89.7249	39.4961	8352
+-91.034	40.0481	7859
+-86.2574	38.9295	6661
+-116.2996	33.6921	8378
+-118.5501	33.3009	7869
+-121.4063	34.9866	4927
+-89.5216	39.1894	8382
+-119.631	47.744	7009
+-111.2247	30.9491	8288
+-112.5086	30.8273	6978
+-123.6081	47.5721	8583
+-115.2127	45.0511	5824
+-114.3749	32.3573	6817
+-112.594	30.8395	6895
+-114.6799	31.9975	7044
+-112.1144	31.2316	7507
+-122.6058	40.8523	2881
+-117.1684	37.1107	6288
+-96.1251	37.2691	3033
+-111.6103	31.5807	8090
+-108.2747	32.4602	7049
+-80.4991	30.0489	6717
+-124.7662	44.0635	5815
+-116.7962	47.0506	7391
+-118.023	34.209	8709
+-115.3023	37.1557	5606
+-113.4138	44.8669	3940
+-80.6627	28.6953	7925
+-115.0601	38.232	4460
+-94.162	40.1687	5074
+-116.8834	47.1493	7408
+-81.5477	28.1643	9092
+-119.9139	47.8327	6741
+-117.2068	34.7304	8883
+-83.001	24.8753	6477
+-123.8806	46.9379	8528
+-108.3581	28.4402	5452
+-116.3242	35.888	7365
+-117.5781	30.2374	6796
+-87.5561	40.7722	6073
+-121.2046	47.804	7529
+-85.2715	37.8851	5884
+-83.2521	37.2317	3606
+-89.2287	38.8574	8175
+-118.998	33.7997	7615
+-82.2115	27.871	9745
+-109.2437	32.9865	7549
+-117.3902	44.0471	6890
+-78.2719	28.6309	5416
+-90.924	38.9932	8785
+-114.5531	31.6494	6763
+-119.4229	47.7444	7142
+-116.3551	32.0296	8641
+-120.4064	44.4728	6428
+-90.6142	40.0714	7978
+-115.4722	30.979	7111
+-91.1137	38.6722	8633
+-88.0615	40.5443	6262
+-116.3893	29.9954	6541
+-122.2568	47.0488	8894
+-87.759	39.8744	7090
+-89.6907	39.8421	8030
+-119.9845	45.7732	7426
+-88.8658	32.235	3718
+-85.3698	29.379	5802
+-118.5658	35.5432	7446
+-123.5178	48.7263	7557
+-83.0126	26.5721	8214
+-114.2032	35.4957	5881
+-115.9663	35.4545	7516
+-122.9889	47.4461	9070
+-88.9151	38.343	9037
+-87.9151	33.6875	5248
+-107.4433	30.9691	6272
+-82.6479	27.2954	9103
+-119.1588	46.3962	8282
+-111.4037	32.2314	8118
+-88.9569	39.4635	7705
+-110.7642	30.701	8410
+-84.7848	27.3372	6854
+-110.6265	33.1237	7775
+-117.3873	44.1699	7007
+-117.3449	36.7286	6706
+-114.6458	31.2275	6616
+-121.4744	48.531	7281
+-113.504	34.38	5425
+-91.1097	40.4667	7415
+-119.0869	48.7487	6329
+-83.5921	30.2116	6671
+-118.8724	46.104	8637
+-120.3209	36.3802	5402
+-110.7755	29.3817	7041
+-106.9302	32.8021	5557
+-117.9778	46.4182	8793
+-111.5065	34.2081	6359
+-87.2923	39.416	7246
+-119.8611	47.2446	7196
+-109.2195	28.1354	5548
+-115.5723	30.9258	7132
+-124.4875	48.3724	7277
+-107.637	30.6728	6390
+-114.9663	35.9213	6360
+-118.2616	49.2353	5940
+-114.7505	36.0088	6115
+-116.1559	44.0309	6117
+-79.9794	28.8372	7171
+-124.6404	43.8797	5713
+-81.9445	26.5449	8494
+-109.5047	30.9499	8344
+-83.7997	26.2455	7340
+-123.8604	46.8282	8540
+-90.5079	36.358	7370
+-113.0104	34.284	5353
+-119.9763	47.0471	7206
+-80.3942	30.5592	6170
+-112.3266	28.8725	5828
+-119.0868	31.3934	6905
+-123.4372	48.6348	7681
+-89.2064	37.7552	9311
+-109.1263	32.1151	8045
+-118.2729	31.9313	7993
+-89.4148	37.3357	8999
+-108.633	31.4828	7628
+-118.8275	44.5191	7490
+-115.5396	44.829	6058
+-122.791	45.1987	7660
+-81.5602	28.9208	8435
+-116.6882	35.7579	7657
+-116.6176	32.3434	9097
+-124.0208	43.7961	5912
+-109.359	31.1633	8324
+-85.4496	29.0137	5884
+-121.7894	46.9924	8386
+-116.2683	34.3758	8417
+-123.0771	43.0155	5261
+-113.2401	29.2748	5452
+-88.8062	38.2975	9105
+-118.8146	32.0883	7537
+-118.789	46.078	8724
+-121.9951	45.2537	7478
+-89.704	37.8194	8749
+-80.081	28.7972	7294
+-83.3878	31.0328	5934
+-108.6809	34.0937	6217
+-118.8906	47.89	7259
+-122.3954	47.534	8772
+-119.4938	48.594	6324
+-87.3093	38.4521	7956
+-119.6572	35.2041	6680
+-120.522	49.8709	5482
+-117.3921	30.2099	6807
+-118.0728	29.1699	5502
+-93.502	37.8827	5935
+-119.3204	31.1931	6563
+-82.9389	26.3658	8064
+-117.8614	31.5896	8059
+-118.8396	45.2603	8194
+-86.9457	35.6905	6799
+-124.1076	47.6219	8097
+-114.8939	32.1014	7307
+-93.3565	39.7881	6030
+-115.4525	32.4308	8010
+-92.688	37.8821	6770
+-95.4121	39.1624	3986
+-121.3033	45.3262	7091
+-116.2575	29.1274	5563
+-110.8833	31.5892	8878
+-116.0172	45.5612	6794
+-117.3915	31.165	7851
+-88.711	35.4553	7333
+-88.8331	35.0714	6902
+-112.335	33.0916	6758
+-90.1927	38.0721	8665
+-122.3134	49.9197	6298
+-82.0943	28.0289	9592
+-123.3291	49.1389	7173
+-121.2073	47.9808	7438
+-119.3048	31.8613	6936
+-118.741	39.3642	3610
+-116.1048	42.294	4616
+-88.6348	38.8988	8423
+-125.9246	47.6864	6190
+-110.5493	32.8218	8111
+-121.6418	48.7127	7242
+-83.8138	37.1466	4225
+-91.2062	38.0861	8285
+-113.4481	34.591	5343
+-89.9535	38.4081	8832
+-90.4758	36.2353	7313
+-117.0658	30.6567	7341
+-114.6855	33.3058	7151
+-122.9469	46.8323	9450
+-79.7672	27.8187	7215
+-92.118	40.1492	7022
+-82.7306	27.4395	9122
+-109.2932	30.9645	8162
+-123.7315	44.445	6689
+-117.4349	45.995	8355
+-115.4738	34.7534	7469
+-124.7258	46.6262	7566
+-78.7256	28.2158	6004
+-113.7094	32.0239	6014
+-81.1709	27.6081	8789
+-122.0306	48.0222	8104
+-83.68	30.6656	6175
+-111.3483	33.1563	7445
+-91.9125	38.0502	7612
+-86.7834	38.3575	7457
+-117.3159	31.2296	7940
+-120.6975	49.2075	6154
+-88.1707	38.8623	8315
+-84.7454	26.8343	6755
+-119.0956	45.0662	7868
+-118.9111	35.0045	7508
+-122.2656	31.8062	3736
+-79.8325	27.3521	7248
+-87.5796	36.5061	7952
+-116.8791	37.5617	5774
+-87.7239	39.6006	7348
+-110.5751	34.079	6757
+-119.4379	31.0452	6361
+-119.1519	32.3528	7261
+-115.8687	29.9533	6332
+-120.6815	48.3076	6758
+-92.1528	41.547	5857
+-119.9707	44.3966	6721
+-80.9348	28.5902	8247
+-118.0596	37.4732	5793
+-106.9113	31.9593	5744
+-88.6694	40.8804	6477
+-114.3778	34.3635	6377
+-120.2474	47.0093	6968
+-116.5998	35.3784	7997
+-111.4941	32.5967	7804
+-116.6893	31.8983	8683
+-90.2723	36.7118	7814
+-92.3815	41.6454	5633
+-116.1128	31.8307	8298
+-114.5955	29.3561	5074
+-115.9362	42.2514	4486
+-81.6157	28.9289	8453
+-91.1445	34.7558	5597
+-89.6456	40.8984	6976
+-122.1785	45.1101	7418
+-89.5845	40.608	7245
+-122.0762	44.7218	6979
+-90.6116	37.6754	8240
+-83.496	28.9933	7818
+-86.5863	37.642	7368
+-115.665	44.3907	5949
+-85.522	24.0394	4193
+-119.8212	44.8309	7149
+-118.2484	37.7259	5475
+-119.5289	36.2114	6187
+-84.0127	25.8726	6874
+-90.8942	35.2036	6162
+-105.8605	31.942	4612
+-87.1647	27.4589	4189
+-116.7562	35.3284	8120
+-110.2004	33.0287	7901
+-115.5021	35.2569	7256
+-115.5992	49.156	4953
+-119.6177	32.8229	6796
+-94.3371	37.4258	4930
+-119.7528	47.50	7111
+-90.7567	36.5222	6990
+-113.9317	30.6463	5445
+-90.0638	38.9803	9000
+-85.0487	29.2066	6214
+-115.1563	30.9916	6886
+-117.2435	34.1618	9498
+-119.5127	34.3647	7075
+-123.6518	45.4264	7723
+-89.629	39.5528	8237
+-123.5001	48.2423	8057
+-81.3189	28.2806	8803
+-121.7529	47.1604	8328
+-81.2984	27.4394	8878
+-112.5649	30.9067	6947
+-80.3229	29.1432	7319
+-81.5841	25.5892	7352
+-88.1975	38.512	8671
+-92.9017	39.6026	6559
+-114.4601	31.6234	6656
+-113.0711	32.3073	6405
+-117.3569	34.7367	8872
+-116.8563	36.113	7332
+-117.561	34.9155	8626
+-82.3283	29.6713	7726
+-116.5986	30.2264	6835
+-118.5588	45.7723	8807
+-114.7024	32.4377	7192
+-79.8282	25.3058	6078
+-117.6701	31.9407	8500
+-115.2833	33.9029	7360
+-112.1933	31.8791	7433
+-122.4904	46.1816	8633
+-117.3799	46.0717	8303
+-109.9049	26.6288	4086
+-115.0711	35.252	6850
+-96.1689	40.1275	3014
+-121.7516	48.3506	7630
+-111.5767	30.1022	7378
+-93.4286	37.0022	5640
+-83.1698	27.9418	8703
+-94.0008	35.716	4335
+-88.6099	41.8083	5614
+-118.5967	32.8062	7935
+-90.6866	37.5824	8124
+-117.1296	35.3428	8210
+-89.0007	38.866	8443
+-89.4075	38.6045	8361
+-122.3678	44.3884	6714
+-107.9991	31.8995	6921
+-92.7926	41.4179	5550
+-114.2923	34.7292	6229
+-122.68	47.5285	8943
+-90.502	37.8116	8405
+-117.114	39.324	3873
+-88.0063	37.9766	8893
+-90.0761	37.2878	8285
+-123.0735	46.6912	9249
+-117.7187	28.9715	5383
+-87.3841	37.2528	8195
+-116.8913	34.6694	8824
+-112.1485	30.9093	7376
+-120.0937	36.8083	5292
+-90.4706	38.5025	9142
+-91.3867	39.9303	7755
+-115.1876	29.3613	5418
+-123.0701	45.4639	7945
+-91.38	39.3934	8146
+-113.5338	28.513	4668
+-122.6284	47.4069	9038
+-89.7526	36.9184	8426
+-114.8601	33.2707	7349
+-121.8623	49.9372	6149
+-87.8632	37.922	8761
+-121.5836	41.9952	3956
+-91.1371	34.8107	5649
+-120.6454	44.1226	5998
+-78.0181	27.352	5213
+-113.6879	33.9963	5866
+-116.6074	34.3916	8766
+-117.1042	45.7374	7954
+-112.3639	31.6552	7272
+-116.5848	33.5156	8864
+-115.2518	35.0883	7106
+-82.2231	28.7568	8768
+-81.5339	28.7309	8608
+-123.1602	45.6811	8165
+-116.7736	33.5038	8957
+-88.4985	37.3162	9320
+-114.9374	33.1932	7451
+-118.3906	47.3995	7880
+-82.0942	26.4742	8430
+-114.977	46.7407	5694
+-78.7713	24.8215	4836
+-115.5468	36.2142	6593
+-121.689	44.5221	6609
+-86.9843	41.1587	5413
+-115.6873	33.1094	8289
+-111.8302	29.7431	6903
+-108.4237	32.2071	7297
+-121.9378	47.3205	8480
+-120.1384	44.8202	6874
+-119.7246	43.1201	5755
+-91.8057	37.3325	7260
+-82.1107	30.6026	6684
+-111.7982	35.7691	4669
+-110.4776	30.1277	7889
+-113.2755	35.223	5025
+-89.6273	40.7313	7139
+-122.7367	45.0261	7467
+-120.3066	31.0304	5528
+-117.5228	35.0187	8532
+-120.107	45.6275	7265
+-120.3113	45.7625	7083
+-123.1967	48.3695	8031
+-124.8187	47.3343	7460
+-90.7391	36.0391	6945
+-82.7281	26.2314	8030
+-88.151	36.0184	7841
+-119.8848	44.5447	6896
+-115.2078	31.6564	7403
+-116.1007	34.0149	8260
+-107.7073	29.7386	5997
+-125.2938	46.9911	6976
+-111.2428	32.9084	7732
+-119.175	43.8605	6708
+-121.572	33.8738	4833
+-114.3456	43.4843	4254
+-86.1791	33.8588	4648
+-119.1295	34.0406	7503
+-81.3847	25.7154	7422
+-124.7252	47.2841	7571
+-114.7193	36.6746	5613
+-118.7971	34.2803	7861
+-123.0825	32.7066	3006
+-110.1607	30.3449	8119
+-116.245	30.296	6828
+-81.4366	24.737	6375
+-90.344	35.7264	7009
+-86.1047	40.1255	5747
+-83.3017	27.924	8559
+-87.492	36.2817	7703
+-85.3218	38.3925	5863
+-85.2889	28.7767	6144
+-110.9872	31.6951	8755
+-88.0921	38.6945	8434
+-115.4059	30.671	6793
+-116.9468	32.8146	9731
+-86.4045	34.0815	4996
+-117.1314	33.0826	9404
+-126.1693	45.5112	5675
+-90.9897	39.9647	7961
+-122.3153	47.3027	8865
+-87.9911	38.5437	8500
+-119.6717	46.2021	7786
+-115.1809	34.7712	7159
+-80.1235	27.984	7605
+-116.7577	42.7009	5315
+-114.2312	36.2608	5494
+-89.9109	38.1325	8586
+-112.6141	32.5616	6785
+-116.6244	33.4805	8920
+-115.1112	41.0834	2974
+-108.2284	31.3819	7183
+-108.1651	31.5156	7123
+-117.8034	30.9875	7509
+-89.1825	38.014	9206
+-81.917	27.3492	9361
+-109.4621	32.2756	8268
+-117.6284	48.0425	7089
+-90.562	38.7322	9231
+-119.8215	46.0414	7630
+-92.4493	42.1647	5123
+-120.1391	47.7902	6602
+-90.7016	41.6313	6300
+-115.5214	34.3419	7621
+-87.8168	37.3994	8708
+-84.5516	30.6528	5632
+-89.827	36.5297	8071
+-115.7702	34.4005	7880
+-83.0228	29.8871	7291
+-117.0501	45.7949	7915
+-79.1172	25.9422	5904
+-120.8461	45.2591	6672
+-114.425	36.4793	5518
+-80.2946	27.2417	7729
+-118.0222	44.5786	7626
+-117.2686	30.4184	7057
+-116.2809	33.8489	8419
+-82.9303	28.7184	8488
+-84.755	25.9235	6267
+-118.902	43.4048	6332
+-127.4557	47.8633	4505
+-87.2518	35.1245	6494
+-114.4147	31.6428	6620
+-122.8825	44.4446	6835
+-106.1163	36.3119	2609
+-89.4432	36.8193	8598
+-118.6561	30.4093	6472
+-91.8146	36.8045	6821
+-114.842	35.3365	6585
+-117.852	43.6763	6653
+-113.6468	30.496	5695
+-85.3406	44.0925	1640
+-119.0888	28.888	4772
+-121.8266	47.8959	8046
+-78.2323	32.1894	3220
+-94.2846	35.6193	4033
+-89.5025	38.1265	8841
+-93.5008	38.7468	6064
+-116.511	35.4148	7915
+-126.1991	45.719	5731
+-119.1718	45.1198	7859
+-108.8265	32.7722	7394
+-83.2955	29.5146	7518
+-87.5668	40.1943	6674
+-86.6987	38.0555	7453
+-124.6553	45.526	7111
+-118.8721	40.6369	3441
+-123.5323	44.9208	7254
+-114.7513	32.4038	7239
+-83.1031	25.2603	6852
+-83.221	29.5742	7506
+-79.3866	26.9211	6641
+-115.6572	32.7377	8290
+-121.1494	47.502	7595
+-81.8708	30.0076	7340
+-81.117	28.6035	8403
+-110.5755	30.5328	8306
+-115.5729	32.2274	8065
+-119.9104	35.3418	6367
+-115.5962	46.4085	6396
+-117.6678	44.615	7558
+-115.3233	33.2052	7869
+-88.4844	36.9564	8958
+-116.5207	33.0026	9214
+-112.1184	31.2808	7512
+-117.6902	30.1584	6680
+-117.8804	47.3257	7894
+-91.4818	37.1212	7307
+-91.2511	38.613	8477
+-118.448	30.8402	6998
+-117.6463	34.8603	8643
+-116.6443	36.1259	7261
+-88.882	36.4119	8401
+-109.1364	28.1479	5532
+-90.0731	40.5885	7415
+-123.5776	46.4009	8636
+-114.2604	36.2058	5555
+-114.8788	33.5539	7283
+-89.517	38.7101	8490
+-119.5669	47.5104	7241
+-111.3831	30.7411	8015
+-89.401	36.0305	7846
+-81.84	27.7692	9561
+-125.8453	48.7303	5835
+-87.7987	40.4162	6542
+-122.4255	46.8092	9057
+-114.2429	34.1653	6239
+-121.3953	33.091	4893
+-119.0676	32.4587	7376
+-91.1493	34.9712	5777
+-111.1399	32.408	8224
+-117.6557	47.2421	7880
+-94.0189	36.3014	4700
+-88.4827	36.3817	8339
+-117.472	31.3192	7990
+-116.4379	31.1143	7765
+-115.3022	32.6302	7885
+-116.2927	46.9904	6951
+-121.2392	47.9569	7482
+-91.1111	40.4731	7408
+-119.2557	47.9472	7050
+-79.9623	30.9532	5530
+-119.4711	48.4433	6478
+-119.1858	32.4603	7246
+-92.1627	36.5038	6336
+-80.5732	27.2484	8033
+-110.3082	32.2961	8701
+-117.9159	45.7755	8741
+-121.1558	49.5387	6192
+-81.8104	27.4071	9346
+-119.2714	46.8233	7964
+-122.2818	45.6185	7977
+-75.6472	26.6597	2448
+-87.7045	36.5275	8067
+-82.3102	25.5292	7353
+-117.6552	44.3887	7330
+-121.9984	47.0947	8606
+-90.4067	38.8138	9351
+-118.7002	33.1075	7792
+-122.5838	46.8405	9232
+-117.1304	43.5478	6295
+-123.3209	46.008	8456
+-118.2506	33.9839	8452
+-79.009	29.294	5958
+-112.2172	31.6175	7432
+-117.5136	33.8865	9157
+-107.8622	32.5831	6585
+-117.6468	31.952	8526
+-125.2039	46.3129	6975
+-88.8273	38.8089	8530
+-117.7952	47.9273	7257
+-89.3972	40.6693	7099
+-123.3784	44.3797	6716
+-89.7435	36.5092	8116
+-122.2151	46.2476	8515
+-118.8138	49.2758	5850
+-118.0827	36.0608	7255
+-88.5494	40.4324	6742
+-87.958	36.9787	8624
+-117.0284	34.0528	9264
+-77.5693	28.4848	4665
+-87.9018	40.554	6431
+-87.4034	39.9255	6853
+-115.7453	34.8145	7720
+-90.7005	40.9596	7018
+-86.6519	37.0333	7337
+-78.3311	28.1972	5563
+-114.9276	32.586	7464
+-92.3966	39.2617	7185
+-78.5046	27.154	5729
+-116.6425	32.1936	8970
+-116.6791	30.6861	7355
+-94.1053	39.1371	5391
+-88.7947	36.2558	8232
+-122.9574	48.9829	7390
+-113.5163	36.9487	4423
+-116.4132	46.4981	7236
+-117.8825	33.773	8760
+-78.2471	27.6142	5492
+-117.2013	46.5734	8010
+-123.4637	46.0142	8390
+-94.6303	36.7879	4382
+-88.9458	41.1856	6376
+-90.4557	35.8585	7038
+-116.6297	38.7023	4506
+-117.4489	47.8239	7232
+-120.3298	36.2243	5492
+-88.5197	38.3541	8995
+-116.9559	33.4099	9091
+-93.1064	37.8526	6334
+-115.063	32.0812	7477
+-119.0326	44.9154	7776
+-93.5425	40.4397	5563
+-85.1481	25.4352	5581
+-115.9886	33.6459	8323
+-85.4428	24.6018	4712
+-114.6718	36.6522	5593
+-119.7696	44.0073	6542
+-108.6261	36.1031	4239
+-126.2474	44.8975	5283
+-113.7487	31.7719	5979
+-89.2623	42.5895	5113
+-119.1482	28.2886	4147
+-114.6819	38.2711	4216
+-81.9729	25.9554	7835
+-118.8164	47.9505	7221
+-111.222	31.201	8425
+-90.8437	40.4539	7522
+-112.093	35.1687	5146
+-88.9838	38.8437	8471
+-118.5266	29.0564	5212
+-90.2412	40.1797	7876
+-118.5688	45.3353	8396
+-115.7571	33.7129	8074
+-82.2554	27.9439	9649
+-91.9892	37.1178	6956
+-116.6603	35.3827	8023
+-121.0811	42.8319	4704
+-117.7977	32.9525	8814
+-116.2219	34.3495	8374
+-118.8114	33.3196	7633
+-113.1084	33.9618	5514
+-121.9728	46.4153	8421
+-110.9617	33.375	7416
+-121.8593	33.2043	4427
+-119.2941	47.0765	7772
+-90.0584	36.5582	7905
+-114.6983	32.1213	7107
+-117.1362	36.1163	7370
+-90.4964	38.0385	8648
+-89.1558	35.5933	7448
+-117.1899	34.9888	8601
+-88.1775	36.6844	8530
+-81.0648	29.7082	7385
+-86.3312	33.4668	4366
+-93.4414	39.9177	5896
+-126.1407	47.4785	6002
+-120.6951	46.5582	7143
+-92.7957	39.4909	6704
+-87.3284	36.9828	8028
+-119.9967	32.6109	6365
+-117.5982	29.9435	6472
+-88.1281	38.3311	8780
+-111.9156	31.4105	7749
+-116.8433	45.8148	7706
+-119.1898	47.7244	7290
+-116.3813	36.5756	6704
+-113.663	33.1829	6045
+-115.3702	40.3207	2479
+-123.0082	48.0529	8407
+-117.3188	33.7651	9132
+-112.6908	35.2697	4733
+-115.808	31.9226	8121
+-112.4921	30.2079	6700
+-89.9334	36.7881	8176
+-82.2171	31.4963	5672
+-82.0706	29.4455	7992
+-117.6084	46.4246	8467
+-126.0659	49.818	4925
+-118.5659	31.058	7101
+-119.9973	48.5893	6060
+-111.8877	31.3598	7772
+-121.0108	43.0754	4947
+-123.5497	47.9534	8308
+-114.6144	35.7378	6157
+-120.3117	43.9791	6152
+-82.5281	25.3892	7166
+-113.619	32.8356	6019
+-88.5784	37.6046	9593
+-113.9117	30.3593	5376
+-112.8308	35.7672	4381
+-112.5172	33.9754	5964
+-116.6761	33.1336	9273
+-116.168	31.1678	7709
+-84.5902	27.3541	7074
+-88.4967	38.5684	8758
+-109.7246	31.3936	8783
+-110.2241	32.4416	8536
+-87.7411	39.5784	7379
+-118.0902	31.5821	7891
+-117.767	33.7253	8834
+-94.2435	37.8786	5159
+-111.8589	32.6861	7434
+-124.6809	46.6364	7616
+-110.689	31.651	9081
+-82.2972	30.7607	6500
+-118.0722	33.7377	8559
+-87.6157	36.6081	8060
+-113.265	31.7446	6292
+-113.7208	38.6024	3315
+-91.4913	35.9384	6167
+-116.7982	33.0529	9429
+-117.2479	28.3919	4808
+-90.7552	36.1456	7005
+-122.0246	48.5471	7621
+-91.2054	36.516	6859
+-115.7857	37.0034	6015
+-81.9136	27.6883	9629
+-114.3342	46.6322	5040
+-117.9253	38.4256	4801
+-116.6271	34.1091	8840
+-80.1472	26.9773	7474
+-122.5651	38.6914	1914
+-91.349	40.464	7304
+-115.4625	37.7538	5125
+-117.1551	31.5841	8362
+-80.6611	28.8545	7821
+-107.4727	33.9262	5467
+-118.6759	47.4136	7809
+-91.7391	38.1302	7818
+-117.3441	34.8508	8751
+-91.3413	40.9536	6834
+-116.286	32.38	8851
+-90.1793	33.9606	5364
+-81.2373	26.0676	7719
+-116.7664	47.664	6953
+-83.5038	30.8656	6059
+-82.5711	26.6922	8580
+-114.3079	31.3424	6362
+-94.0913	38.8769	5425
+-83.3217	27.7894	8548
+-81.4719	26.3821	8157
+-117.3253	34.4767	9158
+-116.1289	31.9247	8388
+-84.7055	36.0688	4916
+-117.1583	35.868	7642
+-85.2126	42.8822	2730
+-90.6441	38.4676	9010
+-113.1067	31.6483	6468
+-113.7748	46.0573	4485
+-116.6645	30.835	7517
+-109.6118	29.4325	7016
+-124.4608	46.1665	7679
+-81.2817	27.3563	8823
+-88.5884	36.6084	8611
+-116.1738	34.0124	8339
+-86.4057	37.3732	7145
+-118.1414	34.8945	8273
+-106.8622	30.619	5570
+-92.5643	36.5773	6106
+-88.0284	41.836	5240
+-109.7212	30.8539	8442
+-118.4142	44.5503	7613
+-111.1499	30.1901	7724
+-84.113	27.7415	7653
+-119.1801	41.7104	4515
+-120.2489	44.4195	6522
+-115.5022	33.4622	7968
+-87.9051	41.8415	5154
+-85.0473	27.2065	6535
+-85.6067	36.4559	6017
+-121.7671	46.2927	8158
+-114.3131	35.0224	6173
+-110.9395	33.9487	6828
+-117.8207	34.3211	8900
+-113.0264	29.3732	5699
+-114.8598	30.6991	6421
+-109.638	34.0115	6737
+-89.8876	41.7077	6192
+-88.9511	38.6644	8675
+-87.091	37.0958	7828
+-111.0898	30.8214	8310
+-82.3891	25.9506	7818
+-116.2991	33.1376	8927
+-121.0797	30.4739	4473
+-117.7976	49.447	5679
+-119.9441	43.3672	5874
+-88.7225	37.5156	9639
+-88.593	38.0816	9310
+-115.821	34.1489	7961
+-117.8833	49.3827	5758
+-109.2431	30.5598	7853
+-81.9806	28.574	8963
+-118.1308	30.4354	6796
+-80.874	26.4043	7794
+-113.6339	29.1178	5010
+-121.631	46.2314	7995
+-122.1041	46.9269	8731
+-124.5609	35.9896	1328
+-118.101	32.765	8486
+-92.5479	35.4114	5136
+-82.5009	28.8167	8634
+-117.236	45.8194	8112
+-82.7465	29.7832	7508
+-125.1854	44.2925	5742
+-91.6341	35.3837	5554
+-123.6157	44.711	7006
+-87.3139	38.7053	7810
+-121.9954	46.8479	8604
+-125.2009	48.5012	6568
+-122.9151	44.7621	7184
+-84.8882	34.6072	4270
+-89.3565	39.7319	7893
+-85.9937	37.9635	6685
+-118.7533	34.4823	7872
+-112.0832	34.2297	6036
+-116.172	29.0569	5467
+-81.7563	27.0986	9025
+-117.8587	47.9759	7224
+-115.3782	31.7759	7635
+-82.5453	30.5083	6756
+-87.903	35.8626	7571
+-90.9054	37.6961	8157
+-88.8227	40.2988	7055
+-123.2323	47.324	9070
+-111.9071	30.8352	7586
+-91.5562	39.3188	8019
+-122.4713	49.2335	7072
+-116.9084	47.5987	7107
+-117.2018	43.8954	6660
+-119.0808	46.0598	8415
+-89.6797	41.6701	6187
+-86.9769	40.3119	6229
+-83.4828	31.7632	5120
+-80.9205	29.4665	7530
+-117.6341	32.5089	8933
+-91.3677	33.7708	4557
+-115.0701	33.433	7529
+-117.9308	34.5766	8667
+-88.0771	38.2233	8820
+-116.5217	35.2832	8043
+-90.1871	35.1827	6604
+-81.161	24.9127	6481
+-89.6994	38.3227	8555
+-114.7402	34.0831	6781
+-115.7811	33.961	7907
+-80.3561	26.8896	7650
+-117.4188	46.2056	8338
+-87.6829	40.1865	6735
+-124.2297	47.5746	8000
+-119.4232	49.2989	5664
+-80.9745	25.4841	6996
+-90.8153	37.7704	8270
+-117.877	34.8148	8540
+-88.3575	41.8994	5388
+-91.9657	37.7389	7400
+-85.0497	29.4713	6071
+-107.3154	31.1783	6175
+-109.333	32.7855	7779
+-110.1852	28.3813	6001
+-91.3614	41.7491	6024
+-110.7089	31.6108	9065
+-116.6668	35.7244	7683
+-117.6201	34.5385	8951
+-114.0038	34.6319	5937
+-81.6723	28.6601	8755
+-116.5233	44.9026	7006
+-82.9991	29.3141	7886
+-90.5919	39.5213	8563
+-92.3989	41.0406	6136
+-123.3587	46.4936	8882
+-80.8417	28.4145	8258
+-78.4187	29.3966	5303
+-89.7237	37.8821	8714
+-117.5878	37.2793	6088
+-115.7182	32.9847	8348
+-113.8674	46.3258	4578
+-110.7445	31.6209	9026
+-120.7727	36.5587	4887
+-115.4862	34.866	7438
+-116.9768	33.1615	9368
+-116.7515	34.7202	8686
+-114.6973	35.0957	6545
+-111.9704	32.0349	7634
+-118.4912	45.5833	8671
+-112.2768	29.5362	6415
+-112.7693	34.1356	5651
+-87.2121	30.3666	3437
+-117.8654	32.8868	8747
+-118.6179	35.709	7274
+-118.6302	34.6391	7951
+-90.173	36.811	7968
+-116.8019	34.8387	8616
+-121.8075	32.3595	4329
+-123.8194	47.4159	8482
+-90.6001	40.5152	7507
+-111.4605	32.9634	7543
+-87.6505	37.0045	8359
+-108.8759	27.5022	4778
+-89.1793	38.7389	8525
+-110.9739	28.3954	5951
+-116.2731	34.3287	8433
+-115.606	34.3931	7704
+-119.919	30.1346	5304
+-82.5496	28.9291	8495
+-80.3663	30.791	5930
+-116.0673	33.9133	8208
+-123.3519	46.0782	8511
+-81.3256	25.9483	7641
+-107.2057	29.641	5485
+-85.1645	38.7573	5590
+-114.5036	45.2552	5159
+-109.6018	34.7223	5981
+-120.9221	33.491	5489
+-123.0999	45.5583	8043
+-116.8853	48.3301	6473
+-92.9356	40.3878	6156
+-114.2527	34.8217	6166
+-111.9128	32.7909	7319
+-124.1402	45.873	7790
+-118.3467	31.5439	7659
+-88.3475	35.2019	7009
+-82.8822	29.7204	7525
+-89.8556	39.6639	8287
+-81.0303	27.4281	8587
+-116.4724	37.3412	5933
+-89.2924	38.6623	8245
+-118.0129	35.9164	7429
+-82.2552	27.3214	9370
+-122.8441	49.6104	6701
+-115.7512	32.9876	8384
+-119.2035	33.9077	7411
+-91.6312	37.7037	7669
+-84.155	27.997	7590
+-123.2794	47.0222	9185
+-118.6239	42.3063	5227
+-92.469	37.8129	6960
+-91.4008	35.407	5920
+-80.1717	27.4858	7651
+-82.2566	25.6603	7505
+-114.5944	33.6837	6936
+-117.2933	29.8971	6476
+-117.1002	33.7717	9104
+-114.6741	34.4021	6695
+-89.3152	36.2485	8109
+-91.8972	36.1423	6174
+-112.3431	34.4713	5661
+-86.752	41.4618	4991
+-108.2744	34.8525	5288
+-92.3648	39.3472	7194
+-79.2521	26.3382	6254
+-110.43	31.519	9348
+-117.9903	32.0372	8318
+-117.4736	33.6009	8915
+-108.9623	28.7422	6056
+-106.9782	34.9895	4293
+-89.1226	37.1522	9113
+-91.3959	38.8092	8331
+-81.4037	26.8176	8538
+-82.3803	29.3644	8063
+-113.1203	31.151	6418
+-82.5432	28.3049	9127
+-80.5868	25.4826	6772
+-109.9301	33.5005	7351
+-119.1841	44.627	7432
+-88.8214	36.5663	8579
+-118.0491	44.6403	7695
+-110.1783	31.3213	9144
+-114.1014	30.7426	5808
+-84.2087	26.8793	7339
+-87.9972	37.7067	8950
+-113.3587	46.0803	4045
+-110.1494	31.6373	9266
+-118.1401	33.8079	8521
+-117.1327	33.5424	8877
+-89.1982	37.8793	9275
+-111.8275	34.3154	6100
+-120.1559	33.1167	6197
+-116.9127	44.4815	7014
+-89.2908	35.5681	7388
+-89.4902	38.5324	8434
+-88.8798	40.2178	7160
+-116.2767	27.8669	4179
+-111.5342	32.4938	7841
+-85.0161	34.0874	3996
+-88.118	37.151	8885
+-118.2663	32.3813	8224
+-108.7113	31.4113	7706
+-112.0314	32.4022	7431
+-116.5741	32.1752	8914
+-123.5771	48.9572	7296
+-80.238	27.0291	7592
+-83.0119	29.9092	7273
+-116.3588	29.5384	6034
+-110.5652	29.4531	7152
+-122.3093	45.6467	8017
+-114.9343	34.2798	6989
+-117.0736	36.5321	6913
+-81.9933	27.907	9668
+-123.3588	48.2754	8083
+-89.6173	38.6734	8595
+-88.9185	34.3601	6100
+-123.3765	43.3698	5620
+-89.8232	41.0981	6823
+-119.5826	45.335	7664
+-81.4802	26.0674	7833
+-117.2407	34.151	9504
+-118.7072	37.44	5603
+-122.7422	47.5737	8917
+-80.4431	28.1213	7939
+-116.0794	33.3778	8582
+-90.3326	37.327	7890
+-91.2564	36.7992	7121
+-121.0871	47.7836	7421
+-122.2837	47.3032	8835
+-117.9964	35.7691	7584
+-114.3005	31.6464	6505
+-121.2853	45.3627	7106
+-84.6405	27.169	6977
+-121.4273	48.5405	7238
+-117.457	34.5959	8992
+-112.5599	31.9956	7020
+-91.0182	36.5778	6985
+-91.5425	37.4283	7530
+-83.9726	24.1906	5343
+-119.0689	32.4684	7376
+-92.4437	39.3453	7113
+-86.2324	36.9934	6872
+-113.863	35.623	5485
+-85.7728	30.343	4848
+-118.1122	35.9393	7363
+-116.4646	33.5595	8753
+-113.1667	34.0481	5405
+-125.1661	49.0578	6219
+-107.7343	30.1725	6270
+-117.8568	33.8929	8843
+-117.962	45.0291	8076
+-81.5693	24.3253	5947
+-83.0851	28.0987	8752
+-117.0654	33.64	8957
+-118.2126	32.1875	8196
+-114.9233	44.7489	5425
+-87.4222	38.6081	7972
+-117.2641	44.9219	7611
+-115.1257	30.9244	6808
+-89.6217	36.9667	8575
+-86.0701	35.6144	6012
+-122.838	45.426	7912
+-119.3942	46.2482	8074
+-107.8807	30.972	6735
+-116.8923	34.2206	9119
+-115.476	44.2385	5693
+-119.7202	46.0323	7737
+-107.2433	33.4043	5588
+-116.715	35.4285	8002
+-81.4179	27.0021	8708
+-89.8573	36.6985	8179
+-123.0672	44.5833	6981
+-126.0038	45.7354	5938
+-89.2987	39.4488	8034
+-118.6209	44.8041	7842
+-91.527	39.4029	8005
+-81.7889	27.4595	9370
+-119.5978	45.8277	7839
+-83.2371	29.1708	7872
+-117.7305	42.9189	5841
+-116.9172	46.7162	7673
+-111.4979	28.2429	5641
+-116.9901	35.1914	8345
+-90.0592	38.7901	9072
+-118.3246	44.5712	7641
+-80.8217	29.2641	7640
+-87.7996	38.7923	8149
+-91.4853	37.0383	7230
+-121.3745	35.3612	4861
+-93.7484	35.8603	4644
+-107.8755	34.1008	5662
+-91.7543	40.9945	6589
+-116.5833	30.9912	7672
+-81.7059	25.4256	7200
+-79.6472	28.9874	6759
+-118.921	47.6413	7494
+-107.5061	29.4804	5656
+-123.9046	43.5358	5679
+-121.2899	47.8507	7588
+-116.5499	33.4022	8951
+-118.3519	34.9408	8062
+-106.5456	34.1139	4538
+-108.3478	35.6407	4579
+-116.7726	32.4335	9274
+-114.9423	33.0488	7480
+-126.006	46.477	6152
+-80.8444	29.4347	7508
+-125.0179	45.0424	6462
+-81.4056	30.7419	6427
+-118.4798	44.7142	7778
+-118.9534	36.1279	6688
+-120.0195	48.481	6140
+-87.8225	40.9951	5754
+-92.074	36.5687	6450
+-83.1364	27.4431	8700
+-122.3938	45.0569	7436
+-116.1315	35.7741	7361
+-88.6253	39.9561	7126
+-121.089	43.4393	5165
+-122.3599	47.8728	8447
+-124.5983	46.8464	7736
+-91.877	38.8496	7811
+-79.2865	26.1713	6200
+-89.5618	39.0549	8480
+-124.1549	29.5458	944
+-80.4058	27.2797	7862
+-111.0542	33.4383	7317
+-121.3539	43.6371	5573
+-88.7012	39.6715	7357
+-90.0076	38.9908	8943
+-91.1179	38.8293	8628
+-86.6554	39.9087	6358
+-81.3539	31.0498	6075
+-126.7355	49.6812	4444
+-111.3979	29.8839	7301
+-90.4596	36.8369	7699
+-115.2013	31.7889	7474
+-118.0636	34.9306	8308
+-90.4239	39.4691	8648
+-118.1366	37.6528	5583
+-118.1044	45.6224	8720
+-115.5364	35.2836	7271
+-126.6035	42.0801	2870
+-117.9069	48.8555	6315
+-121.3634	44.2387	6166
+-120.6864	48.6591	6545
+-121.2465	47.3082	7751
+-111.5596	30.8364	7918
+-87.2233	38.4128	7891
+-113.66	34.6777	5559
+-117.4303	34.1779	9353
+-119.4348	46.5695	7944
+-117.6244	35.0032	8512
+-123.2439	47.2146	9140
+-112.2452	31.7249	7396
+-88.1412	39.8314	7285
+-119.6779	46.7258	7642
+-117.6598	31.2275	7819
+-118.0407	32.2389	8392
+-120.8154	35.0894	5529
+-118.2007	33.3698	8222
+-83.1926	26.1231	7680
+-119.0433	48.4373	6658
+-114.8385	33.7548	7159
+-125.0842	45.4553	6688
+-92.8895	41.0752	5740
+-90.0373	38.6704	9042
+-111.9055	31.8486	7746
+-118.001	35.2712	8061
+-116.8424	34.2666	9053
+-113.3094	33.6497	5548
+-116.9913	37.0134	6382
+-112.95	34.3737	5329
+-117.0374	46.6499	7818
+-116.2402	48.5093	5915
+-118.395	49.934	5198
+-107.7209	32.6735	6407
+-117.4402	46.4268	8303
+-124.6554	46.1299	7470
+-110.0102	28.3613	5965
+-89.29	36.5349	8416
+-111.8867	30.0304	7094
+-85.0912	29.1052	6219
+-116.6638	46.8173	7385
+-113.0477	33.1532	6076
+-126.5407	47.0734	5605
+-110.4597	33.7707	7100
+-116.5383	33.6085	8559
+-88.8202	36.695	8723
+-79.7745	28.7233	7013
+-81.0112	27.1938	8467
+-117.6943	36.4578	6960
+-118.1477	32.6087	8415
+-116.8505	49.544	5310
+-90.7832	38.5183	8926
+-85.7971	29.2938	5402
+-124.6428	49.6977	6047
+-86.9458	41.3672	5185
+-120.4715	45.4908	6855
+-94.21	42.6856	3508
+-115.1557	35.1852	6965
+-122.2357	48.2945	7975
+-117.7477	43.3332	6276
+-86.5861	36.2971	6925
+-79.9203	30.019	6320
+-117.3994	37.8278	5505
+-89.0185	40.6953	6863
+-117.7351	33.9903	9004
+-90.9524	37.4951	7939
+-90.4838	38.9772	9157
+-118.2903	46.2955	9053
+-88.5127	38.9826	8310
+-121.6306	46.3514	8056
+-117.6796	32.0479	8583
+-92.1406	37.6742	7203
+-118.7147	44.2864	7286
+-120.5932	45.4258	6712
+-89.445	40.0907	7661
+-115.5969	35.7295	7018
+-91.3032	40.0012	7751
+-110.3419	28.7173	6368
+-120.1946	35.2266	6129
+-117.5239	31.1264	7768
+-85.7829	38.9506	6169
+-116.7585	32.3043	9136
+-116.9966	32.85	9703
+-88.112	41.1064	5897
+-90.4376	38.2488	8881
+-89.4704	35.8396	7618
+-116.4129	35.6574	7632
+-114.7481	38.5605	3982
+-110.3339	33.6825	7199
+-116.6669	46.6722	7445
+-91.6886	38.3667	7958
+-115.8939	36.8321	6235
+-90.0343	37.461	8374
+-84.5837	40.2195	4314
+-89.7593	39.0197	8692
+-84.3677	26.4902	6981
+-90.8022	37.6024	8108
+-112.9623	31.8576	6610
+-92.7741	38.7688	6847
+-85.502	38.26	6090
+-107.6608	32.6199	6368
+-115.6651	32.6866	8294
+-89.5696	42.2875	5512
+-116.9769	31.9905	8831
+-89.6331	37.9104	8804
+-119.6733	43.6074	6238
+-125.4413	45.9648	6605
+-115.2641	31.7102	7488
+-118.9937	36.7945	6077
+-117.3069	45.1915	7848
+-81.8028	26.8889	8831
+-117.2162	28.5054	4936
+-121.4454	44.6304	6583
+-86.6794	38.7869	7156
+-110.3357	33.4889	7409
+-91.4784	39.1637	8163
+-81.8271	31.4186	5746
+-91.803	38.8919	7886
+-119.8773	36.8688	5413
+-118.2247	35.4202	7788
+-119.7891	49.0499	5753
+-120.608	45.1701	6609
+-83.6768	30.2311	6602
+-87.1872	37.4097	8019
+-124.0078	47.3576	8316
+-115.4606	34.9893	7358
+-80.511	30.5765	6222
+-88.8416	36.7076	8736
+-116.6967	30.2034	6823
+-92.0443	40.3355	6949
+-81.1737	26.2728	7884
+-119.1621	47.3275	7662
+-83.1905	29.3636	7726
+-117.6506	44.1582	7098
+-81.5105	30.4549	6770
+-126.5747	45.5847	5293
+-90.9457	38.8565	8807
+-82.0861	24.0632	5702
+-116.2295	33.0995	8872
+-85.7094	37.038	6312
+-85.5213	27.9902	6051
+-86.8274	34.7988	5930
+-117.8196	32.324	8654
+-87.9247	36.7387	8409
+-92.542	36.9029	6362
+-116.9745	33.6953	8964
+-82.2536	26.976	8988
+-82.8893	29.9504	7278
+-112.7425	29.7335	6183
+-81.2062	30.7978	6306
+-123.1054	47.3742	9105
+-108.8447	29.5027	6702
+-86.5869	27.3075	4827
+-121.0535	49.2355	6392
+-119.4951	29.8901	5439
+-81.5063	25.0758	6767
+-90.438	36.5657	7569
+-89.2527	38.794	8205
+-80.6972	26.7645	7911
+-92.355	38.9998	7282
+-109.5915	32.5414	8161
+-86.595	36.4732	7034
+-118.2157	49.8643	5273
+-92.1602	39.0805	7476
+-118.5335	45.22	8292
+-117.4887	34.1677	9293
+-116.8375	32.946	9549
+-118.9833	33.1973	7405
+-81.9392	31.3779	5801
+-115.8675	32.4472	8460
+-118.3966	47.3139	7969
+-115.4421	31.4979	7505
+-125.8612	48.8998	5721
+-115.1114	32.7077	7680
+-78.5559	27.8961	5842
+-119.7966	36.942	5414
+-123.8684	47.9797	8066
+-114.4702	32.3987	6930
+-84.3307	26.5003	7023
+-80.576	27.8044	8130
+-89.2724	38.0763	9084
+-109.3555	30.4735	7871
+-115.1388	30.4888	6452
+-92.3448	36.9125	6527
+-86.2198	34.999	5676
+-78.8246	27.7836	6149
+-86.8118	40.6226	5836
+-82.9048	26.7817	8477
+-116.2504	33.0228	8922
+-87.0772	36.6528	7604
+-112.1811	27.2906	4410
+-111.4853	28.3572	5762
+-121.0247	47.3014	7513
+-115.4712	47.4305	5966
+-117.8135	32.0714	8495
+-118.7824	45.4743	8413
+-118.6663	31.4773	7339
+-88.1442	35.2887	7057
+-87.7945	38.4655	8402
+-85.094	28.3239	6484
+-121.9135	45.0947	7282
+-89.3206	42.6129	5106
+-86.3643	36.3721	6752
+-117.5813	47.896	7218
+-90.3556	35.4881	6789
+-110.308	28.4833	6115
+-90.5972	39.2642	8824
+-112.8702	32.0209	6684
+-121.0254	48.5483	6912
+-120.4341	44.3267	6308
+-115.0084	46.2182	5790
+-85.7797	39.1025	6095
+-92.5984	36.5216	6038
+-118.1263	37.6829	5554
+-86.5334	25.0668	4052
+-119.0257	32.8412	7456
+-114.9734	34.4194	7017
+-91.2471	39.235	8357
+-113.8511	31.9574	6148
+-119.4186	36.0851	6369
+-119.9519	48.8135	5887
+-120.8383	31.5658	5215
+-90.2935	37.58	8160
+-80.4863	27.959	8016
+-87.7194	38.3112	8434
+-116.8599	30.0624	6678
+-93.0548	37.2583	6126
+-116.8689	32.8756	9626
+-88.3758	37.871	9320
+-112.8361	33.7004	5922
+-116.0501	36.8635	6277
+-119.4639	31.8074	6749
+-116.4655	34.1275	8664
+-117.3821	32.3643	9068
+-114.5948	30.827	6300
+-87.8206	34.4848	6090
+-122.2305	47.6657	8543
+-118.9539	47.9007	7226
+-87.3175	35.8677	7223
+-120.4031	45.8706	7002
+-117.127	46.1527	8035
+-90.9478	40.1139	7833
+-117.7446	44.9347	7901
+-110.7745	30.1332	7831
+-87.1203	39.7164	6863
+-85.4078	39.4156	5564
+-120.168	36.979	5105
+-82.8735	38.0524	3186
+-84.0514	32.5504	4061
+-90.7805	39.6251	8389
+-88.0246	38.2766	8736
+-117.2886	34.5964	9032
+-117.4924	33.1283	9071
+-88.6088	36.1174	8068
+-123.7978	45.8173	8004
+-116.1719	33.8423	8302
+-117.9615	44.1361	7153
+-116.834	32.0745	8912
+-120.4443	48.9788	6118
+-118.8544	33.1278	7488
+-110.4904	30.7981	8606
+-117.0917	33.2692	9229
+-119.5304	46.5046	7872
+-88.9651	40.6677	6854
+-87.2155	36.9987	7920
+-82.4064	27.058	9033
+-82.556	27.0374	8939
+-89.341	40.6334	7104
+-116.3647	32.9947	9053
+-118.8707	45.4993	8371
+-110.6101	33.9221	6922
+-122.9435	43.7091	6027
+-116.6611	34.9343	8443
+-117.1384	36.1069	7380
+-126.8027	47.9943	5172
+-90.2721	38.9659	9163
+-118.1993	32.8222	8378
+-115.30	44.1898	5509
+-89.7798	38.6525	8765
+-86.8082	28.5462	4530
+-83.6921	28.8906	7718
+-91.5008	37.628	7718
+-115.8839	34.1302	8030
+-109.544	32.8318	7873
+-111.2544	29.955	7447
+-89.4359	39.2123	8288
+-84.1697	34.403	3487
+-119.1279	46.8778	8045
+-91.1553	37.6559	7981
+-118.1163	47.0033	8288
+-109.9348	33.4712	7383
+-124.1103	44.8989	6974
+-82.865	35.4975	2757
+-116.5294	32.4604	9124
+-120.8676	47.2189	7356
+-121.4619	45.4616	7319
+-117.949	49.2235	5934
+-116.947	45.9503	7836
+-87.1408	30.1502	3618
+-115.5156	32.0005	7896
+-123.1366	45.0374	7471
+-82.5427	29.0268	8393
+-118.1821	44.1028	7143
+-118.7101	46.9914	8214
+-87.7169	33.9936	5528
+-122.7559	48.7352	7657
+-123.2753	46.0297	8497
+-89.7786	39.478	8404
+-80.3127	29.4499	7087
+-118.11	32.5861	8452
+-84.7601	24.7126	5335
+-120.4918	46.4411	6894
+-123.4972	47.3979	8797
+-93.9637	41.1814	4760
+-90.5358	37.4905	8057
+-91.2855	39.5749	8107
+-87.0154	34.3654	5621
+-111.4438	33.5818	6996
+-114.9335	31.491	7046
+-85.1341	26.5433	6226
+-121.3186	46.3409	7738
+-108.0092	29.415	6030
+-110.2825	31.6565	9377
+-76.7261	26.8606	3690
+-80.2737	25.5826	6647
+-89.75	40.4889	7430
+-118.8553	48.0254	7133
+-119.0498	33.1256	7304
+-91.4337	37.1077	7323
+-91.002	36.2401	6638
+-81.6396	27.2814	9109
+-118.0502	45.3619	8441
+-118.0267	30.9419	7351
+-82.7509	27.9429	9166
+-119.6729	33.4081	6796
+-82.5837	30.9666	6236
+-90.6329	35.2358	6376
+-89.572	40.9561	6891
+-112.9764	30.5573	6402
+-90.6241	35.4008	6527
+-114.7992	27.7139	3569
+-79.6346	25.9942	6427
+-115.2182	33.483	7666
+-115.6128	35.2817	7342
+-117.8437	46.9705	8228
+-113.1784	32.7285	6151
+-109.8574	30.0545	7739
+-118.9608	30.0659	5963
+-122.0305	44.6499	6888
+-91.8132	39.1344	7828
+-115.0616	36.255	6200
+-90.9275	39.4941	8431
+-117.6536	31.8037	8388
+-91.6413	40.9044	6735
+-88.4426	39.783	7411
+-115.7183	35.8694	7000
+-117.6046	32.5172	8967
+-111.0924	34.2496	6470
+-119.1639	31.5197	6907
+-89.0573	34.7543	6530
+-109.9058	34.7864	5972
+-80.037	27.6263	7515
+-111.7557	31.9865	7872
+-109.0902	34.2984	6238
+-110.2818	32.4574	8525
+-118.0997	45.0195	8100
+-124.988	45.4933	6799
+-84.8712	28.5318	6676
+-90.9531	43.6042	4156
+-117.9443	42.9205	5874
+-88.1734	39.0677	8107
+-122.9686	45.1929	7656
+-115.0037	34.7864	6969
+-123.0185	47.1161	9397
+-116.161	28.1398	4459
+-114.6753	32.7152	7195
+-109.838	31.5443	8935
+-116.6811	34.7856	8582
+-115.2923	30.4611	6529
+-121.6877	33.3038	4631
+-123.9952	47.1809	8380
+-115.3583	34.7904	7336
+-83.1087	28.6646	8393
+-123.1054	48.3544	8065
+-116.6538	33.4284	8986
+-110.9514	33.2368	7561
+-84.363	29.7185	6540
+-116.5525	46.5976	7353
+-110.7377	35.5916	5109
+-121.0454	44.5773	6283
+-118.5355	33.0883	7977
+-81.73	25.0102	6741
+-117.5035	35.2146	8330
+-82.1452	27.6249	9732
+-117.0233	44.5222	7122
+-116.9091	44.2849	6849
+-115.3961	47.7327	5748
+-89.6087	38.8396	8584
+-85.0193	29.2614	6215
+-92.6837	38.7967	6944
+-121.3294	43.6701	5595
+-92.657	37.217	6469
+-90.1743	37.0756	8102
+-123.0014	47.6461	8851
+-117.5965	46.7518	8258
+-123.7793	46.0183	8185
+-92.9266	37.8066	6501
+-109.9639	31.6549	9066
+-118.4508	35.6754	7417
+-122.4621	46.3893	8810
+-118.9047	37.8192	5138
+-121.1706	44.8343	6590
+-120.8084	46.712	7291
+-82.7699	28.8819	8440
+-122.7465	46.0166	8549
+-88.5402	37.5221	9514
+-109.072	30.4965	7670
+-116.9875	45.866	7866
+-115.1986	32.5057	7751
+-127.0742	44.8676	4473
+-114.3662	32.1566	6760
+-116.0107	31.2419	7698
+-113.8557	29.8241	5208
+-117.7471	34.18	9011
+-93.505	38.0935	5986
+-112.0052	29.135	6261
+-117.8916	49.8992	5216
+-118.5014	48.4077	6806
+-121.2446	47.2101	7768
+-87.1399	37.6147	7988
+-117.68	33.1817	8859
+-106.1597	28.2833	3709
+-118.6507	34.80	7862
+-90.6758	39.5816	8474
+-90.7503	36.418	7184
+-90.6732	37.9805	8538
+-89.876	38.9902	8819
+-117.9484	42.0626	4970
+-113.915	45.5289	4595
+-115.3986	46.4379	6184
+-85.2001	30.7793	5029
+-84.7863	38.2188	5304
+-90.6297	42.844	5004
+-113.4381	30.1723	5779
+-123.766	44.5329	6768
+-80.5414	29.4512	7270
+-119.2735	42.8944	5707
+-112.6694	32.85	6594
+-117.4925	48.7371	6345
+-94.2162	37.7891	5165
+-84.0973	26.8845	7457
+-88.6228	36.3475	8326
+-80.1543	30.2316	6316
+-108.5272	28.329	5441
+-119.1069	49.0367	6030
+-117.5561	48.2104	6896
+-118.4869	46.6631	8626
+-119.2624	49.578	5434
+-81.3066	25.7185	7394
+-91.1652	39.7352	8069
+-121.0509	45.7992	7204
+-118.6543	31.6588	7470
+-118.2622	48.7949	6406
+-78.9246	32.6407	3290
+-118.6152	43.8893	6893
+-85.3502	26.0115	5747
+-114.988	29.7726	5703
+-116.6011	34.1258	8812
+-116.6848	33.0612	9337
+-120.0346	35.7742	6028
+-87.6582	35.794	7373
+-116.5322	34.9096	8372
+-118.1155	48.209	7020
+-109.2446	30.7548	7991
+-87.6003	36.6477	8077
+-121.1274	49.0609	6592
+-117.4146	34.6275	8975
+-124.2734	45.139	7095
+-119.0406	35.3318	7203
+-87.1151	42.6958	3902
+-89.587	35.8366	7565
+-92.1819	34.5899	4539
+-120.1278	45.4573	7192
+-78.8268	29.2383	5798
+-107.1266	29.3119	5216
+-81.0231	27.5544	8614
+-116.4264	29.6777	6200
+-81.0505	29.2089	7852
+-90.2018	39.1751	8926
+-83.1289	25.6589	7255
+-90.7779	36.9182	7405
+-118.308	40.6309	3468
+-83.2885	25.2474	6757
+-127.7766	44.4119	3558
+-83.7023	26.1167	7317
+-81.8429	31.0961	6111
+-86.2896	38.6355	6829
+-112.7769	30.5138	6583
+-109.3959	29.3314	6831
+-123.7094	48.4985	7703
+-124.6761	45.949	7357
+-115.3626	29.1901	5330
+-117.9243	32.3581	8568
+-122.1977	44.7954	7099
+-118.8315	46.7297	8376
+-84.9347	28.442	6632
+-89.0286	37.3506	9355
+-91.2904	41.2231	6585
+-120.6234	45.0795	6557
+-110.6311	30.6269	8388
+-116.6312	33.2616	9131
+-117.3412	34.4022	9233
+-124.6277	42.6263	4474
+-88.5599	37.7077	9578
+-90.2303	39.6911	8397
+-113.9241	43.8208	4051
+-115.1693	32.7138	7745
+-118.8118	45.4866	8403
+-106.5616	33.1622	5043
+-120.693	47.9832	6937
+-115.9941	31.6436	8053
+-120.5973	33.5951	5858
+-79.6623	30.5914	5646
+-92.1077	39.032	7541
+-121.4291	44.4461	6400
+-85.7688	25.2104	4865
+-116.0654	44.4674	6344
+-117.678	33.0403	8921
+-112.6472	46.3428	3286
+-80.6612	27.044	8037
+-78.2478	31.37	3897
+-109.767	30.8624	8480
+-118.3038	44.1243	7168
+-122.9351	45.3513	7831
+-90.9888	43.9553	3776
+-87.9402	37.2402	8772
+-89.3767	38.8479	8334
+-113.0128	30.3521	6279
+-120.8132	33.9223	5662
+-89.0075	35.1754	7006
+-125.5761	47.6753	6565
+-111.6564	33.7337	6738
+-119.2483	48.587	6435
+-119.3838	47.3508	7496
+-115.4873	32.4972	8065
+-123.7469	44.7031	6951
+-125.512	45.5892	6362
+-90.6788	39.6919	8360
+-117.6093	44.6925	7608
+-111.407	29.0479	6490
+-91.2808	38.1923	8285
+-118.367	33.0511	8169
+-111.5184	30.8628	7971
+-90.7243	39.7317	8304
+-84.2131	27.1195	7428
+-108.5354	30.5021	7200
+-88.6584	39.8543	7217
+-116.1632	33.8071	8283
+-108.3811	29.4129	6311
+-107.9445	33.3851	6232
+-115.7008	34.469	7791
+-118.0373	32.2089	8380
+-82.5909	28.4493	8963
+-90.9807	34.7539	5709
+-117.4827	48.7409	6338
+-121.9493	45.8161	7966
+-118.4379	35.9402	7189
+-112.3181	32.8341	6932
+-121.559	48.9569	6970
+-118.5472	47.4052	7850
+-115.0544	33.385	7528
+-85.8094	31.7204	3785
+-115.7956	46.8854	6498
+-125.2769	48.2315	6648
+-116.0044	34.8778	7939
+-91.4238	38.8081	8301
+-120.1221	44.8871	6928
+-87.7867	37.8893	8687
+-122.8895	44.3253	6704
+-117.7596	31.6054	8138
+-84.2533	29.0888	7066
+-110.2006	36.5149	4128
+-87.1684	37.8001	8015
+-121.9112	47.1297	8505
+-115.8333	33.8779	7950
+-117.6472	30.7522	7328
+-88.707	36.5393	8549
+-114.4226	47.4734	4921
+-88.8425	42.1218	5429
+-114.008	29.3609	4821
+-108.9728	33.6902	6756
+-118.5905	45.111	8164
+-123.7285	46.1966	8364
+-125.7337	48.7287	5940
+-111.7854	33.6348	6750
+-79.4134	30.4344	5582
+-123.8847	45.032	7221
+-111.47	32.1326	8106
+-109.5379	34.905	5773
+-86.6329	38.6585	7174
+-87.6269	39.4952	7396
+-92.6445	40.6931	6211
+-116.3271	34.6262	8381
+-90.443	37.1719	7722
+-125.2025	46.8814	7075
+-121.5994	45.9503	7793
+-115.834	30.4435	6820
+-91.5758	40.2948	7321
+-116.95	36.0587	7409
+-117.292	30.1394	6745
+-107.7275	31.4282	6645
+-117.5895	32.3686	8897
+-90.2067	38.1885	8790
+-117.2385	31.8421	8624
+-87.263	36.2209	7474
+-91.5152	38.7468	8204
+-88.5957	40.81	6485
+-88.1746	34.8308	6564
+-82.9663	29.9417	7257
+-117.8077	46.0606	8755
+-87.6081	38.9192	7899
+-114.7527	44.0195	4920
+-121.3348	46.476	7804
+-87.1661	29.6475	3814
+-109.0716	29.9699	7254
+-109.4917	31.9975	8457
+-121.782	47.8091	8068
+-112.8551	33.3219	6155
+-93.0884	38.6858	6508
+-113.6838	31.8501	5832
+-86.8449	34.7413	5887
+-89.73	37.4615	8710
+-116.3582	44.5995	6675
+-111.9928	33.8537	6427
+-91.7099	37.186	7214
+-122.0164	45.7571	7961
+-114.9948	33.1095	7529
+-110.5962	31.6295	9184
+-112.7928	33.6043	6025
+-116.3612	48.7061	5831
+-123.9926	46.7449	8381
+-118.1197	45.0032	8086
+-93.518	35.7033	4713
+-119.8642	30.9147	5887
+-116.2955	29.5525	6036
+-83.8503	28.5802	7743
+-80.8678	30.7422	6234
+-86.3213	25.5107	4511
+-123.3232	46.2435	8686
+-110.0754	33.934	6911
+-110.1983	35.9091	4784
+-112.404	31.1158	7174
+-114.9447	30.6093	6414
+-107.7477	33.3123	6104
+-86.1926	40.9096	5167
+-114.7693	31.4084	6842
+-116.5824	33.9228	8757
+-84.1802	28.4768	7441
+-88.3004	36.8841	8793
+-85.9655	38.4389	6553
+-117.6109	32.3792	8884
+-127.5029	47.9478	4436
+-116.1545	44.1184	6180
+-111.3732	31.3678	8323
+-118.3746	30.086	6326
+-116.7247	34.5645	8782
+-83.5102	28.0254	8307
+-86.6342	28.0091	4793
+-82.0302	30.0552	7301
+-117.7249	33.3137	8742
+-115.9665	46.0211	6805
+-81.3736	27.4354	8955
+-115.9396	32.3786	8507
+-89.0305	37.2831	9293
+-87.0596	37.4972	7890
+-120.8036	43.6276	5521
+-89.1093	36.4046	8348
+-118.1353	47.996	7246
+-80.7117	27.6598	8280
+-120.0751	42.2264	4740
+-83.6254	27.7165	8203
+-121.2499	46.6893	7768
+-83.4812	27.5487	8348
+-90.0067	43.0803	4739
+-108.8263	30.773	7620
+-82.2383	26.3656	8303
+-114.7819	35.0248	6658
+-109.7072	30.2273	7855
+-116.7971	29.8493	6438
+-91.8034	37.7974	7581
+-80.3123	29.5102	7040
+-84.3361	40.9072	3653
+-90.3211	35.6016	6914
+-89.3494	36.891	8727
+-93.0927	37.486	6202
+-116.8764	33.9582	9071
+-87.9904	38.1506	8788
+-122.9738	47.8585	8623
+-113.4859	35.3243	5214
+-89.1288	35.5569	7413
+-91.7354	36.7546	6826
+-118.6073	44.7715	7812
+-125.7462	46.1773	6361
+-116.9294	38.3339	4941
+-116.4933	44.4588	6689
+-111.0403	34.0225	6722
+-124.5572	47.0836	7781
+-82.3285	31.4345	5737
+-111.9216	32.965	7193
+-78.4269	25.9403	5218
+-82.2718	29.0286	8456
+-91.0326	38.5856	8702
+-108.7156	34.3886	5965
+-89.8299	37.7056	8621
+-117.1006	34.0508	9336
+-82.6981	26.6785	8505
+-92.8204	38.3669	6765
+-87.7138	37.028	8433
+-124.3457	45.6698	7473
+-118.6357	46.8053	8426
+-118.3122	34.0576	8394
+-122.3574	48.909	7391
+-117.274	32.9184	9392
+-117.4632	29.1697	5648
+-115.6798	31.0151	7283
+-77.5149	27.9819	4662
+-118.7908	43.7846	6750
+-117.0204	33.8455	9125
+-111.6878	29.9594	7182
+-86.8687	39.5736	6795
+-120.6503	46.7072	7118
+-108.493	31.4572	7475
+-124.3793	49.7393	6154
+-80.6699	25.5221	6861
+-112.1634	33.0476	6934
+-89.4734	37.8701	8989
+-86.1106	39.4278	6237
+-117.5207	35.5025	8019
+-116.327	45.5732	7115
+-80.7708	30.8083	6122
+-89.3838	37.8126	9103
+-110.0219	32.2723	8654
+-90.2368	37.7892	8377
+-91.1962	37.3146	7646
+-116.0107	27.2548	3458
+-113.6997	48.3768	3840
+-91.6366	39.3785	7913
+-87.4762	35.2319	6723
+-112.9522	37.0734	3843
+-117.1645	33.4041	9061
+-116.7779	32.1269	8955
+-81.4989	30.3066	6931
+-122.571	45.5836	8044
+-116.5597	31.7979	8529
+-114.9246	31.2992	6915
+-111.4925	33.0383	7458
+-115.9726	34.9238	7884
+-91.407	37.7528	7884
+-114.8608	32.8755	7403
+-120.9147	44.1158	5770
+-117.8668	32.9226	8742
+-89.8224	39.4064	8494
+-109.5823	28.9092	6464
+-80.0974	31.4486	5132
+-91.5893	37.3182	7407
+-89.8809	41.1506	6781
+-116.4796	31.4643	8150
+-88.8448	40.523	6894
+-117.7808	33.1119	8787
+-115.0079	33.019	7556
+-90.364	39.359	8768
+-82.339	27.8412	9645
+-81.3785	29.4962	7757
+-117.9526	30.6834	7132
+-114.6913	31.4061	6767
+-83.9199	26.5585	7452
+-121.8888	46.9488	8495
+-123.6044	47.1256	8813
+-85.8693	36.6195	6357
+-90.2995	38.2706	8900
+-89.0993	37.4611	9376
+-118.0288	46.4652	8789
+-88.1291	39.3877	7754
+-82.2892	24.6289	6338
+-90.6927	40.0454	7989
+-111.8744	30.5477	7462
+-82.7992	28.6496	8641
+-93.6081	33.7898	3048
+-87.2524	39.0584	7506
+-113.9023	34.7742	5802
+-86.2568	41.5909	4586
+-116.36	32.2204	8804
+-117.4383	35.1279	8437
+-117.1833	31.3754	8127
+-121.4745	45.0279	6962
+-115.3367	31.707	7554
+-116.3216	33.9707	8492
+-117.2966	34.6778	8943
+-90.5452	40.1857	7867
+-88.0433	39.5935	7504
+-89.3763	35.6285	7428
+-120.8296	46.1613	7166
+-118.4102	49.3937	5770
+-119.84	47.1497	7272
+-116.0368	30.5062	6975
+-115.8547	30.2189	6601
+-81.8454	25.9264	7785
+-125.5693	45.7764	6395
+-116.593	43.2639	5764
+-117.2596	31.9796	8764
+-120.6372	46.8685	7118
+-90.1789	41.508	6444
+-119.5727	35.8569	6397
+-114.6718	34.4101	6691
+-124.0261	45.813	7835
+-92.4654	39.5432	7023
+-108.9184	30.0595	7221
+-125.8525	48.7899	5794
+-120.0175	49.8862	5099
+-109.5439	33.5134	7214
+-82.5635	28.7151	8714
+-92.7094	37.5219	6589
+-121.4853	44.2417	6233
+-80.119	27.4003	7576
+-121.9852	47.3278	8526
+-86.7029	37.2395	7450
+-77.8497	24.2807	3644
+-88.5974	34.7763	6566
+-124.5579	46.9149	7784
+-82.3685	30.1914	7136
+-119.2094	36.2791	6380
+-112.2289	28.6107	5654
+-123.6449	46.9051	8785
+-122.7184	45.3737	7845
+-92.7612	36.21	5674
+-90.733	34.5961	5723
+-118.4564	44.5813	7642
+-118.1339	46.4676	8840
+-118.2898	46.5693	8763
+-91.3909	35.8847	6151
+-94.6706	35.4206	3574
+-108.9432	30.6306	7648
+-121.0314	35.2789	5245
+-93.5008	37.0477	5596
+-121.2135	36.0856	4735
+-117.9386	46.1532	8891
+-88.8989	38.476	8894
+-110.30	31.6627	9380
+-117.0263	45.5344	7801
+-81.1214	26.0224	7611
+-117.8464	33.7784	8796
+-117.1016	32.9899	9508
+-119.4092	47.956	6962
+-123.195	45.7839	8267
+-109.7632	33.7456	7051
+-116.3523	33.027	9029
+-117.07	33.3581	9138
+-111.3163	30.0574	7507
+-114.9261	32.3578	7420
+-91.6814	38.8561	8021
+-84.0051	26.6135	7405
+-90.0978	39.3835	8675
+-116.814	34.5211	8888
+-111.4908	33.9702	6599
+-94.1129	40.1682	5124
+-118.1685	36.5751	6698
+-92.1064	38.7743	7567
+-116.4391	33.2882	8964
+-83.091	29.3409	7808
+-87.9881	41.0436	5850
+-118.0734	31.9061	8154
+-107.5049	33.1299	5981
+-110.753	30.1981	7905
+-116.717	29.4466	5984
+-87.5845	36.0718	7587
+-116.753	35.5584	7885
+-114.1822	31.6265	6375
+-121.8036	48.6217	7425
+-110.8845	33.0222	7804
+-77.5827	26.5908	4575
+-120.1174	33.0125	6197
+-89.969	36.7623	8127
+-119.473	45.9215	7986
+-116.0385	34.3212	8183
+-116.648	36.2184	7165
+-109.1512	31.3888	8176
+-90.1371	35.1299	6579
+-122.2258	47.3899	8732
+-116.7688	33.6723	8798
+-110.3817	34.4036	6417
+-117.8131	46.7029	8451
+-82.0731	28.8538	8661
+-119.0684	49.1285	5947
+-111.0268	30.959	8463
+-115.7203	31.5545	7774
+-119.8931	35.0784	6493
+-85.0062	37.2404	5567
+-82.8883	27.4762	8977
+-115.5702	33.2836	8110
+-82.9067	27.1466	8771
+-92.8491	40.1481	6369
+-83.3237	25.8247	7316
+-117.4196	45.3496	8049
+-117.3821	33.9792	9328
+-122.1995	44.9824	7294
+-81.9835	28.5191	9024
+-89.382	38.1358	8946
+-80.5889	26.948	7915
+-87.7889	38.4159	8432
+-120.58	42.4691	4710
+-114.2988	31.6274	6495
+-113.5117	32.9749	5895
+-81.5934	28.6564	8715
+-119.4615	34.3643	7130
+-115.142	38.2816	4454
+-83.5952	27.706	8237
+-86.2236	36.0267	6419
+-88.9578	42.8895	4706
+-118.596	32.3388	7859
+-114.8579	31.0407	6678
+-121.6809	46.2408	8047
+-119.3503	35.3108	6927
+-112.9711	31.8564	6600
+-84.3466	29.1398	6946
+-113.7653	46.2092	4474
+-120.3496	32.6327	5974
+-91.113	42.6116	5188
+-111.2781	32.8331	7776
+-79.5213	24.7635	5390
+-121.4753	45.9326	7672
+-92.0306	41.731	5753
+-120.6353	48.0038	6870
+-115.0954	34.6585	7101
+-122.4584	48.6415	7703
+-116.3704	32.5646	9031
+-82.7533	28.7442	8583
+-79.9864	28.5676	7300
+-108.021	36.2717	3810
+-88.1187	41.5657	5530
+-107.2612	34.9675	4521
+-81.0676	29.2047	7867
+-119.0176	36.1182	6651
+-84.2669	28.6395	7284
+-121.8096	47.6683	8182
+-109.4487	32.2251	8289
+-118.0107	35.2009	8118
+-123.1964	47.1487	9224
+-122.7914	48.0831	8374
+-109.7007	32.0111	8646
+-117.6828	34.7321	8742
+-89.8198	42.2622	5590
+-120.3563	47.7068	6483
+-90.1801	38.0093	8596
+-123.28	45.8075	8266
+-116.6948	34.9401	8459
+-90.4208	40.6661	7359
+-89.2046	43.4103	4243
+-123.4573	47.0537	8986
+-87.0745	41.2826	5333
+-119.1086	33.9362	7517
+-118.5097	44.7864	7849
+-119.8238	45.6736	7568
+-86.4286	37.4334	7178
+-81.6642	31.6382	5480
+-80.9868	28.9799	8004
+-85.8593	39.0477	6202
+-86.8199	38.1748	7557
+-90.4079	40.8097	7204
+-81.6919	28.1689	9217
+-92.555	38.1719	7002
+-116.7084	36.608	6771
+-86.5957	38.6755	7128
+-117.6465	48.7474	6377
+-118.5315	34.7207	8017
+-90.6732	36.9645	7475
+-110.8315	28.054	5612
+-110.8903	32.0873	8660
+-117.5436	33.0851	9043
+-89.3814	38.9873	8315
+-87.7061	36.2678	7845
+-93.5621	39.2969	5948
+-87.3943	38.6345	7930
+-82.2987	32.1109	4974
+-110.2532	34.4585	6357
+-118.2893	46.8469	8470
+-114.0494	32.6514	6494
+-92.6946	39.3995	6837
+-93.1049	41.5535	5213
+-87.5778	40.4709	6395
+-111.3278	32.2259	8191
+-83.5747	28.2031	8189
+-105.5417	30.7595	4206
+-90.9337	41.748	6139
+-117.8547	33.0262	8735
+-94.8555	39.4335	4548
+-83.4316	27.6906	8421
+-108.4705	29.9795	6810
+-119.1616	44.6617	7476
+-94.7755	35.9948	3836
+-118.3672	34.2139	8334
+-119.49	33.9846	7107
+-114.5161	36.9518	5242
+-106.7123	28.1641	4078
+-120.182	45.1096	6993
+-124.1123	47.9206	7911
+-122.8072	46.8139	9410
+-127.2391	48.7309	4460
+-118.0342	31.211	7602
+-90.5769	35.7698	6872
+-85.299	29.9396	5548
+-116.7389	32.9001	9482
+-90.6375	35.9023	6929
+-85.4576	25.1815	5128
+-119.8024	32.7173	6588
+-125.8672	47.3299	6322
+-89.1017	34.8688	6653
+-124.4824	45.5433	7268
+-117.8031	32.389	8705
+-85.8783	38.2605	6505
+-121.034	44.8405	6498
+-119.1359	48.4611	6602
+-113.5405	31.1127	5961
+-121.6117	48.7229	7213
+-81.6303	25.6773	7461
+-87.3279	39.6086	7102
+-114.7408	35.5731	6367
+-87.0857	38.6053	7654
+-83.6231	27.5941	8196
+-114.8561	32.2573	7318
+-117.542	29.7107	6230
+-89.4918	38.8696	8455
+-109.8128	28.154	5716
+-117.7295	31.3886	7947
+-81.2765	30.3276	6837
+-121.5362	45.9666	7748
+-84.5004	32.0737	4332
+-114.8541	31.7699	7123
+-81.0176	31.0396	5980
+-115.8524	34.828	7819
+-109.7728	30.7755	8408
+-113.2911	34.0417	5307
+-109.2274	32.9956	7530
+-109.2909	30.4869	7834
+-117.635	48.1653	6968
+-122.5349	45.9504	8420
+-82.4756	26.6822	8606
+-118.4409	33.1316	8071
+-91.3143	37.8778	8049
+-87.4882	38.6016	8037
+-91.5184	39.5186	7947
+-116.5495	45.6512	7364
+-80.5603	27.8991	8107
+-110.3169	33.2846	7630
+-119.3674	34.6202	7186
+-82.1529	26.7956	8794
+-115.7682	48.3215	5706
+-89.3709	34.6216	6331
+-114.2064	30.7196	5886
+-124.3112	45.4801	7354
+-84.714	27.9635	6964
+-118.7449	34.888	7727
+-89.4375	35.9892	7788
+-87.1511	38.8108	7593
+-116.3342	33.4763	8734
+-116.823	34.6785	8771
+-90.3815	40.2247	7835
+-82.2138	28.0634	9545
+-115.9054	34.0771	8052
+-83.4805	28.6084	8095
+-89.6575	33.7939	5355
+-117.9188	29.745	6166
+-119.3349	49.3635	5629
+-86.4115	27.5391	5045
+-85.0101	28.0239	6625
+-89.9726	35.1894	6723
+-120.5745	47.771	6903
+-118.7276	33.4392	7773
+-87.9881	38.606	8445
+-117.5986	48.5592	6557
+-85.535	27.6718	6042
+-83.2247	28.1184	8595
+-88.6728	37.0032	9064
+-92.0609	43.1559	4343
+-81.4449	25.7463	7478
+-82.8039	27.6792	9127
+-86.4128	41.4234	4838
+-121.9469	46.6053	8486
+-89.794	34.3852	5956
+-124.2923	48.6007	7248
+-114.584	35.9522	6002
+-113.1047	33.8016	5627
+-89.1279	36.738	8697
+-110.6956	34.298	6506
+-89.3962	36.7074	8528
+-119.3831	33.7359	7189
+-107.0115	32.6737	5686
+-115.9912	36.1127	6969
+-121.1907	43.8843	5734
+-110.0172	34.0416	6788
+-117.271	33.4171	9002
+-91.5052	39.3614	8047
+-120.454	45.9479	6956
+-118.3546	34.4302	8308
+-118.562	31.947	7726
+-81.4148	27.3925	8976
+-89.8859	40.8178	7132
+-91.3503	39.2956	8228
+-110.4941	33.8418	7020
+-120.1971	46.6588	7149
+-108.4982	28.9293	5978
+-84.7153	28.8837	6710
+-117.8331	31.985	8413
+-117.1789	31.5913	8366
+-88.463	36.8438	8831
+-91.9544	36.7047	6645
+-120.2027	32.8073	6024
+-121.2808	45.8167	7424
+-120.3327	48.1465	6502
+-76.5625	31.1348	2527
+-115.5948	33.5928	7995
+-88.6196	32.7656	4312
+-90.9603	40.3994	7541
+-118.0687	35.1098	8159
+-86.4378	41.5068	4773
+-111.1744	31.0511	8395
+-112.0493	32.292	7462
+-111.1812	33.1446	7549
+-120.6811	43.3106	5365
+-82.8187	28.0278	9063
+-118.3992	31.6439	7688
+-122.7107	47.2016	9275
+-92.3797	38.4389	7247
+-120.7039	32.9443	5570
+-116.6013	31.1154	7812
+-115.7375	36.6777	6300
+-110.6764	32.6264	8284
+-124.3299	49.6418	6274
+-91.0053	39.6987	8202
+-119.0933	32.9711	7374
+-113.875	32.6189	6297
+-122.1827	47.1874	8782
+-115.2088	46.5549	5969
+-119.0723	45.1847	7981
+-114.2786	30.3675	5697
+-84.1697	28.5167	7437
+-120.2932	30.5242	5247
+-122.9333	45.0161	7463
+-90.1579	35.7233	7133
+-93.389	36.4534	5347
+-116.3606	32.3343	8889
+-83.0587	27.5757	8823
+-90.1021	36.7269	7982
+-77.7975	28.557	4906
+-88.0526	36.696	8463
+-87.9463	36.9525	8595
+-121.8975	49.5706	6541
+-86.8554	38.5112	7469
+-85.6437	27.7068	5920
+-122.3334	46.4048	8730
+-91.5576	44.3866	3219
+-118.7314	48.6656	6502
+-118.0225	30.0052	6403
+-90.9964	36.6552	7072
+-89.7445	39.6562	8229
+-109.013	36.061	4416
+-88.1972	43.0802	4196
+-119.3404	35.2973	6944
+-92.4607	36.2581	5928
+-115.7094	34.7312	7718
+-88.8903	38.0913	9318
+-90.9054	38.4212	8759
+-87.589	36.1285	7641
+-91.356	37.1906	7443
+-89.7185	39.1315	8598
+-122.5828	48.6995	7671
+-113.1259	29.8896	5935
+-113.9412	34.4902	5890
+-125.1105	46.5087	7126
+-122.3692	46.9851	9023
+-127.7098	43.5562	3128
+-87.0558	40.0564	6515
+-118.532	33.1879	7815
+-91.7197	35.0345	5168
+-120.7685	42.6596	4766
+-91.2249	43.6237	4094
+-123.4684	43.9347	6217
+-89.4771	37.9634	8950
+-88.4061	37.4759	9358
+-90.4126	37.6398	8227
+-115.7468	33.1193	8351
+-84.6369	31.0765	5197
+-120.8464	32.6826	5325
+-81.4856	28.6519	8651
+-88.8127	39.328	7949
+-117.9811	44.8229	7871
+-118.4285	48.851	6343
+-118.4982	34.0955	8194
+-111.4023	32.74	7767
+-127.1129	45.2848	4623
+-119.9164	38.8579	3629
+-112.9756	33.386	6008
+-118.4411	31.9799	7862
+-79.619	26.5762	6745
+-126.3028	47.2887	5851
+-87.1453	37.1425	7903
+-118.3326	30.283	6542
+-86.681	39.0461	7008
+-79.9268	27.8469	7394
+-79.8808	27.6683	7342
+-116.9311	33.4885	9002
+-116.6715	30.1115	6718
+-119.7287	46.3395	7709
+-116.1098	36.3557	6805
+-118.6844	45.5231	8516
+-85.577	29.2433	5653
+-117.2031	33.2844	9168
+-122.7912	47.8943	8580
+-82.7507	30.5994	6612
+-122.5375	49.7611	6510
+-118.3446	31.8897	7900
+-83.9179	27.0366	7711
+-89.7464	38.2192	8531
+-116.3385	32.4665	8951
+-115.6138	34.1247	7735
+-89.6053	37.9724	8813
+-109.2522	32.6455	7832
+-119.8348	47.6651	6927
+-124.9962	42.9755	4653
+-111.0076	34.4631	6269
+-89.8748	36.7614	8209
+-115.9813	43.513	5593
+-119.1061	24.9939	707
+-120.0324	43.5743	6007
+-81.3689	25.8238	7530
+-88.151	38.0424	9005
+-119.4857	33.7609	7083
+-124.8973	45.853	7094
+-114.0209	32.5843	6457
+-88.7808	38.4517	8933
+-119.435	46.0458	8039
+-90.8259	40.8861	7073
+-119.8444	31.6084	6272
+-122.2801	43.6453	5894
+-82.4231	29.2241	8211
+-111.9264	31.1467	7684
+-79.8293	30.3621	5966
+-109.6928	32.5491	8218
+-92.3881	36.9943	6552
+-81.372	27.6932	9027
+-118.7173	33.2608	7691
+-113.9846	34.2116	5957
+-81.2987	27.5599	8920
+-117.3281	30.6631	7317
+-117.5366	32.0936	8726
+-87.3074	37.5677	8173
+-117.0009	32.9576	9591
+-120.3045	48.4877	6301
+-117.7367	36.2242	7200
+-83.0277	28.0004	8847
+-82.3779	28.9257	8552
+-118.125	49.929	5202
+-119.5789	36.9272	5582
+-117.325	46.9981	7870
+-119.3712	44.3517	7080
+-114.137	41.6953	2854
+-116.9756	35.6017	7905
+-122.0055	44.7424	6972
+-118.9105	43.7957	6731
+-117.5118	42.7175	5586
+-92.1504	43.1152	4348
+-118.4148	47.0925	8200
+-117.0382	47.8421	6993
+-114.1604	32.2062	6550
+-124.7739	44.7428	6411
+-123.6247	45.8121	8109
+-88.4775	37.2916	9284
+-88.7658	40.0192	7208
+-107.6888	30.6587	6438
+-107.2325	32.692	5906
+-86.0142	28.0413	5491
+-115.0458	44.794	5563
+-127.2428	47.5023	4799
+-111.5498	34.1047	6440
+-86.5167	38.419	7152
+-123.506	47.8372	8441
+-120.4519	46.5849	6907
+-91.9334	34.695	4745
+-118.2002	36.5553	6706
+-87.8936	38.2039	8664
+-118.6613	29.8155	5909
+-114.182	33.2291	6613
+-120.1695	46.4587	7227
+-112.9384	32.0114	6613
+-83.7072	29.8344	6953
+-82.7946	27.3602	9014
+-82.6179	30.3942	6870
+-79.9802	29.4469	6803
+-114.3854	34.1389	6395
+-122.8395	47.7911	8698
+-88.0908	38.8681	8267
+-91.7047	35.0288	5383
+-116.4488	46.9697	7110
+-82.5002	25.9259	7769
+-83.1007	26.5705	8152
+-80.2767	31.9713	4692
+-85.4132	27.8766	6180
+-87.9139	42.9498	4173
+-117.7519	32.0832	8554
+-109.2188	28.4061	5826
+-83.749	25.3385	6593
+-112.2056	32.1816	7344
+-110.3308	34.0869	6761
+-81.4008	28.7392	8515
+-112.0236	35.1744	5173
+-88.0635	38.4826	8605
+-79.6173	30.3768	5791
+-92.2238	35.455	5356
+-124.9014	47.3395	7370
+-80.064	27.3088	7495
+-107.9008	31.5708	6838
+-115.6949	33.3744	8204
+-116.8747	33.4711	9016
+-115.9152	32.3455	8468
+-111.286	29.5839	7074
+-119.8709	46.8675	7393
+-91.5774	38.5443	8118
+-117.2908	47.8196	7158
+-117.7848	36.9965	6364
+-120.4383	48.2318	6565
+-89.7753	38.5656	8740
+-124.0375	49.2823	6772
+-118.565	32.7014	7965
+-117.2785	35.2248	8347
+-120.9596	49.0488	6479
+-79.8891	29.9831	6324
+-110.3419	33.0235	7913
+-117.5969	32.7796	9049
+-117.0843	33.4557	9028
+-83.3329	25.3218	6811
+-112.4637	30.726	6985
+-87.5398	39.52	7320
+-119.1933	31.2024	6685
+-85.9867	40.6175	5264
+-121.3917	46.3313	7808
+-110.4518	33.9688	6886
+-115.576	37.6198	5311
+-122.4426	47.6758	8679
+-87.5463	34.7723	6290
+-110.9765	36.9552	3612
+-116.1116	43.9738	6042
+-91.6791	42.7519	4890
+-93.653	38.3185	5870
+-79.9459	27.9824	7406
+-116.336	31.0906	7703
+-90.1784	36.7309	7914
+-86.7391	37.9985	7509
+-89.149	34.1669	5864
+-106.4983	32.102	5281
+-119.0215	30.6877	6453
+-115.0292	32.6752	7586
+-118.1952	31.3369	7608
+-118.499	34.2342	8189
+-87.403	36.2817	7634
+-115.4357	31.6675	7618
+-111.9243	36.5873	3785
+-117.8534	32.6529	8747
+-116.3378	44.997	6892
+-119.5253	34.6362	7014
+-81.6785	26.3234	8180
+-118.34	45.9979	9137
+-117.8983	36.0401	7347
+-88.9297	39.0223	8282
+-109.0044	30.1391	7347
+-118.0334	45.1657	8236
+-86.862	37.8803	7664
+-80.9352	30.0991	6926
+-116.6933	32.5086	9294
+-89.3046	36.2221	8085
+-120.2548	46.4684	7136
+-116.962	34.5995	8930
+-117.6037	35.1648	8354
+-80.5729	26.127	7332
+-88.1941	39.662	7484
+-94.1099	35.3103	3958
+-79.6912	27.9553	7121
+-91.7537	36.1194	6227
+-91.487	40.7268	6984
+-87.4894	36.5182	7887
+-88.8308	40.3122	7050
+-85.1246	35.7037	5171
+-88.5831	36.8751	8904
+-82.622	27.047	8908
+-116.859	32.0647	8906
+-82.9332	26.1643	7866
+-116.6169	34.8844	8455
+-119.4538	46.1614	8019
+-122.4364	46.5108	8892
+-123.0796	45.8771	8393
+-111.7555	34.6015	5859
+-107.7157	34.3995	5308
+-91.2714	37.8505	8062
+-125.9004	47.1382	6304
+-107.5984	29.3841	5671
+-80.282	27.4126	7760
+-110.1532	32.3945	8573
+-115.0194	48.4412	5006
+-114.2568	32.5941	6720
+-92.8526	38.7945	6762
+-110.4161	31.9498	9066
+-115.4864	37.0475	5813
+-78.3932	27.6906	5660
+-115.1044	31.3035	7077
+-84.1979	27.6147	7550
+-122.7248	46.2041	8747
+-115.644	35.3974	7294
+-109.4949	30.3767	7882
+-84.6898	27.4749	6981
+-89.3286	37.4848	9152
+-120.8464	32.4007	5401
+-115.8335	36.1275	6859
+-120.2835	33.8471	6232
+-117.3369	47.1488	7764
+-122.3219	47.3406	8850
+-80.2713	30.0165	6588
+-111.5737	31.4952	8126
+-117.1439	31.5392	8314
+-121.7707	49.7929	6262
+-109.1401	34.0825	6473
+-120.5031	46.9926	6727
+-116.6983	32.6811	9418
+-108.8675	32.1808	7759
+-122.3709	45.903	8301
+-118.1893	43.8902	6918
+-90.5013	37.6976	8283
+-79.2448	25.1826	5508
+-87.1115	37.5888	7955
+-119.3672	31.40	6644
+-89.6134	36.8103	8464
+-118.8826	43.4123	6344
+-90.2261	40.353	7688
+-95.3623	40.0448	3879
+-117.5119	32.1793	8817
+-90.4969	37.2877	7843
+-120.3744	35.2686	5929
+-119.846	46.7696	7460
+-79.9305	26.9579	7238
+-85.9493	37.3027	6626
+-90.7965	39.6715	8336
+-87.9493	40.3614	6653
+-111.8121	34.0051	6399
+-119.2022	36.0383	6575
+-82.7161	26.9704	8776
+-113.7514	33.4772	6092
+-91.361	39.3965	8161
+-90.0237	37.4071	8374
+-91.41	35.3562	5875
+-119.2816	48.1132	6881
+-115.8097	30.0827	6442
+-117.1823	45.7265	8029
+-117.3116	37.725	5620
+-87.8063	38.2725	8540
+-115.609	30.1523	6418
+-116.7997	31.081	7808
+-111.134	31.7961	8576
+-118.2363	45.9363	9080
+-83.7715	32.5497	4172
+-124.1301	46.1249	7969
+-89.773	42.5906	5233
+-115.6924	35.1033	7521
+-119.9032	34.589	6619
+-118.2651	33.8858	8416
+-116.7499	47.6179	6975
+-123.7104	45.8139	8058
+-115.6095	33.5254	8045
+-89.7709	39.4656	8409
+-83.3292	26.9517	8255
+-77.7473	27.0922	4872
+-119.5487	32.5493	6857
+-80.131	32.6469	3924
+-91.5644	34.7909	5312
+-88.5368	38.6998	8626
+-110.3894	28.581	6220
+-125.0944	46.9682	7195
+-117.8449	33.3283	8457
+-115.9155	48.6355	5586
+-108.8128	32.7349	7407
+-108.0811	30.8151	6895
+-120.8803	45.5052	6867
+-110.8195	32.7791	8075
+-107.2185	30.9875	6038
+-81.5651	27.9614	9213
+-119.9716	44.8451	7033
+-111.0188	28.1951	5728
+-93.7598	35.3676	4273
+-110.4153	32.7152	8244
+-85.3571	28.7937	6065
+-106.9431	29.7338	5289
+-84.105	30.1949	6354
+-107.0752	30.7977	5842
+-114.0423	47.155	4632
+-121.1326	43.2358	4982
+-117.4152	45.1836	7924
+-88.1609	36.4214	8261
+-119.4483	46.7927	7825
+-109.9814	34.8577	5905
+-123.4982	44.5763	6899
+-118.6642	47.3901	7836
+-80.9695	27.0771	8362
+-90.6871	40.0416	7994
+-87.4153	35.9349	7350
+-90.5122	38.5461	9164
+-107.6592	32.9888	6200
+-118.9288	35.9996	6812
+-94.1152	41.2664	4573
+-91.7446	37.268	7255
+-121.7774	46.2549	8146
+-90.9648	36.3542	6767
+-115.7974	47.4817	6248
+-117.1308	32.5814	9433
+-88.3402	36.5502	8474
+-118.7867	34.5021	7832
+-116.4198	35.0298	8193
+-85.8724	36.1334	6139
+-83.6634	35.9269	3763
+-116.3003	34.8712	8212
+-84.1057	26.7928	7404
+-117.4281	34.8539	8732
+-123.1801	45.6954	8176
+-91.0558	34.7087	5617
+-107.4213	30.3809	6060
+-115.4709	32.7426	8082
+-88.5687	34.9682	6779
+-118.1087	29.0981	5414
+-121.078	45.7568	7203
+-121.6881	45.6805	7665
+-90.0654	39.9075	8130
+-89.1871	37.8936	9278
+-119.8561	46.0421	7594
+-121.2128	45.5703	7200
+-117.7712	35.2321	8219
+-119.6863	45.7083	7718
+-122.2764	48.9278	7345
+-117.2273	35.8773	7635
+-116.086	39.8578	3162
+-79.1932	30.8495	5073
+-122.212	44.2287	6505
+-85.0506	26.6245	6348
+-110.3707	27.4936	5042
+-123.3178	46.8158	9118
+-91.857	40.9938	6531
+-119.9442	35.6502	6181
+-89.0653	40.6153	6963
+-120.923	48.2646	7008
+-116.0341	35.1626	7786
+-115.6045	33.6568	7968
+-113.548	36.056	4971
+-110.8434	31.6708	8913
+-89.6126	39.2026	8461
+-118.4212	33.0072	8117
+-125.4771	48.158	6487
+-85.8962	35.2688	5617
+-117.3192	33.597	8950
+-116.7009	30.322	6955
+-119.1724	34.8522	7316
+-119.6452	42.2697	4955
+-87.3768	36.7116	7923
+-117.6842	47.325	7816
+-117.7514	36.4295	6978
+-86.1442	30.5387	4376
+-118.8019	32.9064	7703
+-85.08	34.3412	4242
+-89.6018	34.5053	6145
+-120.7924	44.5018	6110
+-91.3634	42.3597	5393
+-91.8654	39.0851	7787
+-121.8964	49.0422	7073
+-123.909	47.6971	8238
+-108.7489	31.6592	7755
+-88.7483	39.3084	7971
+-116.1671	35.592	7545
+-82.2973	27.1015	9117
+-88.0536	39.2987	7815
+-91.1231	36.1235	6483
+-87.1731	28.5854	4116
+-117.0816	36.0173	7473
+-123.8906	44.3303	6512
+-90.234	38.7424	9263
+-81.2901	29.1495	8060
+-79.3677	29.5999	6138
+-117.8659	33.8896	8832
+-117.9942	30.6102	7038
+-115.0951	35.0627	6961
+-82.7394	33.2709	3627
+-122.2598	46.7219	8853
+-126.0487	48.3091	5846
+-119.3842	45.6045	7982
+-80.6057	30.2089	6633
+-88.8393	41.584	5946
+-85.4672	25.7623	5491
+-117.7759	36.6299	6758
+-90.2698	35.7106	7046
+-114.8645	30.5894	6337
+-89.2458	35.0086	6784
+-88.745	41.9672	5533
+-87.8684	39.2541	7767
+-123.8874	44.9027	7093
+-117.209	49.3335	5652
+-120.7745	33.4498	5639
+-116.9207	30.1337	6760
+-117.0683	34.1549	9320
+-107.7258	32.4801	6486
+-93.4822	38.6777	6083
+-109.6484	34.3352	6401
+-118.2357	48.0443	7201
+-88.8121	35.7651	7681
+-112.5484	30.7863	6923
+-111.5936	29.4518	6791
+-119.1463	35.2406	7158
+-118.4359	33.7291	8188
+-91.6017	36.8558	6997
+-83.5596	27.7035	8277
+-83.721	29.9267	6860
+-90.5557	41.0276	6962
+-121.3615	45.7632	7460
+-117.2245	29.6921	6256
+-117.1045	36.857	6562
+-119.4353	33.6496	7114
+-125.3662	47.715	6775
+-90.4766	39.0666	9069
+-89.3662	35.6282	7431
+-91.7691	39.3596	7793
+-127.196	45.9775	4763
+-89.4387	38.3351	8751
+-124.5727	49.201	6540
+-117.4822	35.4016	8135
+-117.2813	45.6169	8082
+-90.2361	36.1023	7406
+-118.2076	38.5196	4644
+-89.6312	39.5967	8204
+-107.0325	35.0328	4301
+-115.394	30.6697	6784
+-114.9865	35.9861	6333
+-110.9986	29.5658	7172
+-81.33	26.2602	7961
+-118.7121	31.8331	7518
+-110.6789	31.7833	9041
+-85.2989	41.8379	3726
+-112.1939	32.5659	7194
+-107.8882	32.9911	6417
+-92.4211	35.6953	5467
+-117.4602	33.1386	9096
+-84.4838	41.5513	3324
+-80.9198	26.4924	7902
+-119.0603	31.9955	7244
+-115.8888	30.7618	7165
+-83.734	28.5972	7852
+-117.6609	30.7986	7373
+-113.9913	34.6433	5922
+-118.0614	31.474	7821
+-122.4953	47.6763	8709
+-81.5701	27.3544	9103
+-116.8908	34.7549	8745
+-82.779	27.4134	9060
+-117.6465	33.6183	8840
+-113.5023	31.6091	6040
+-88.9164	42.3944	5190
+-94.6885	37.5866	4618
+-109.0016	27.7971	5125
+-117.0808	30.1444	6770
+-121.3141	44.3208	6217
+-117.8278	46.7796	8394
+-109.8985	30.3723	8079
+-123.5148	47.8739	8402
+-118.2931	44.3579	7415
+-108.7062	33.1388	7035
+-108.6446	34.1166	6175
+-118.8251	36.2777	6646
+-117.3869	48.8904	6157
+-108.2393	29.3884	6187
+-117.8687	33.7406	8754
+-111.8931	33.1932	7045
+-116.7069	44.3177	6741
+-82.7915	31.4114	5702
+-115.91	33.761	8003
+-93.5483	37.7388	5843
+-88.3054	29.9165	2498
+-88.987	41.4559	6142
+-118.1926	33.4383	8275
+-121.9238	29.388	3030
+-81.0483	29.5358	7544
+-114.2493	32.2611	6659
+-89.2095	37.2947	9166
+-81.8121	27.1263	9082
+-112.9272	31.6855	6661
+-91.257	32.5773	3456
+-117.9319	32.9116	8671
+-119.5399	32.2809	6821
+-116.8847	29.6233	6190
+-118.0995	36.3575	6947
+-120.4881	44.9138	6609
+-88.6328	37.6528	9664
+-123.6746	49.4542	6744
+-124.3231	44.8032	6761
+-85.5709	26.0878	5564
+-120.626	44.3628	6172
+-83.3571	29.9526	7058
+-111.3109	34.9454	5680
+-122.9119	45.5824	8085
+-117.817	43.8146	6790
+-110.9351	33.8844	6897
+-92.9693	37.1478	6145
+-118.4833	46.3957	8883
+-108.6551	31.6565	7654
+-88.008	33.828	5424
+-111.6351	29.3929	6713
+-124.3997	45.7732	7501
+-120.42	32.4564	5880
+-91.046	38.7501	8710
+-81.9106	26.3015	8216
+-83.2799	31.6182	5346
+-81.2004	29.0811	8069
+-118.7695	44.3198	7306
+-123.9087	46.209	8220
+-117.6117	33.996	9133
+-115.4174	30.6275	6762
+-110.5614	32.3282	8629
+-114.393	45.7375	5123
+-79.0778	30.3753	5347
+-120.4154	35.0459	5962
+-122.6738	47.2508	9207
+-116.2521	30.7189	7281
+-91.3975	35.9491	6214
+-119.4163	34.9868	7015
+-91.3212	42.139	5634
+-117.2209	30.8455	7536
+-113.4687	33.7293	5721
+-111.8627	28.0369	5289
+-87.6896	37.4744	8587
+-93.1311	36.0967	5307
+-117.608	45.952	8528
+-117.7019	35.604	7865
+-90.1448	36.0198	7405
+-126.1081	45.1291	5544
+-91.3648	39.9016	7793
+-110.3344	31.3379	9208
+-81.3142	29.3142	7911
+-119.8394	35.3602	6429
+-109.1773	30.2914	7595
+-81.3811	28.8212	8427
+-118.2022	48.2385	6994
+-114.9879	34.4102	7034
+-83.8129	38.5436	4168
+-90.0638	38.3096	8838
+-121.6848	46.4158	8140
+-125.2826	48.1664	6675
+-117.1703	31.3641	8117
+-91.1748	39.6371	8143
+-84.1983	29.4685	6865
+-119.7143	34.5872	6822
+-119.4904	29.5839	5178
+-116.8688	42.4924	5157
+-90.5795	39.5732	8512
+-119.522	37.7932	4848
+-89.1823	40.7055	6951
+-118.7017	34.6061	7890
+-81.9234	26.7274	8693
+-89.3546	38.6892	8314
+-90.9003	37.5041	7970
+-116.8331	34.7946	8675
+-117.2523	32.9312	9409
+-86.3692	40.4423	5698
+-116.9223	33.0612	9476
+-87.1277	40.0932	6528
+-120.9478	43.7214	5478
+-116.6723	32.5013	9272
+-89.2647	38.8847	8210
+-119.9844	44.1136	6491
+-85.979	26.3419	5253
+-121.905	33.1842	4373
+-125.0257	46.84	7267
+-89.6359	34.8539	6511
+-117.2667	44.2001	6978
+-116.3963	35.7327	7552
+-120.7377	45.3831	6553
+-116.0327	47.816	6263
+-91.555	37.9867	7917
+-92.2293	40.7975	6453
+-120.6126	46.1457	6793
+-82.1207	26.4365	8388
+-117.7932	34.5242	8823
+-82.1084	29.7375	7662
+-118.5621	37.4951	5608
+-86.1033	36.7332	6647
+-123.9331	48.6984	7391
+-119.415	33.665	7139
+-87.907	38.5224	8453
+-117.8513	49.0757	6076
+-87.7699	34.5825	6177
+-84.4238	29.2868	6782
+-89.6001	38.9047	8564
+-119.2827	35.7777	6700
+-118.0187	44.0943	7118
+-114.6134	27.2348	2996
+-80.9079	26.4256	7837
+-86.6149	35.9434	6721
+-90.8057	37.1488	7640
+-81.5286	24.4356	6062
+-82.8063	26.7436	8507
+-93.033	42.2541	4689
+-111.5259	34.3166	6242
+-83.3349	29.4114	7588
+-109.2419	32.2312	8098
+-90.094	35.7034	7155
+-88.7697	42.0747	5441
+-123.4858	46.3965	8708
+-82.3425	25.0762	6839
+-89.9394	39.2101	8735
+-113.466	35.3023	5200
+-120.326	45.0413	6824
+-88.8216	38.4159	8971
+-91.7293	40.1193	7355
+-84.3842	27.3141	7295
+-123.0147	45.6098	8110
+-80.8531	31.7285	5182
+-80.4966	27.469	8010
+-110.6463	31.3162	9028
+-119.4955	34.2634	7102
+-122.4171	49.304	6984
+-91.4306	36.3059	6558
+-107.2408	36.1594	3490
+-107.505	30.0661	5996
+-83.9734	29.1737	7272
+-88.1776	39.3953	7764
+-124.2578	48.4514	7396
+-95.8424	39.1198	3527
+-112.0377	31.4849	7624
+-124.9739	49.6517	5879
+-116.475	32.4407	9063
+-118.4866	46.5356	8752
+-104.5342	30.8989	3147
+-122.1503	46.8498	8773
+-126.1253	49.4705	5120
+-124.5197	49.9188	5907
+-85.3645	36.5881	5809
+-106.8815	33.662	5108
+-119.5747	45.8698	7871
+-115.994	44.8286	6487
+-90.5156	37.155	7699
+-116.1866	34.426	8317
+-110.487	30.5835	8378
+-88.087	38.6541	8469
+-117.2843	31.5862	8335
+-120.2623	48.8651	6036
+-118.0603	37.6244	5633
+-119.9175	47.7146	6828
+-121.5764	49.7284	6242
+-91.1245	39.5216	8271
+-92.4659	39.7602	6930
+-91.2989	40.2892	7494
+-117.2278	34.0882	9473
+-82.4564	27.012	8964
+-118.4054	36.6188	6556
+-113.3804	34.3488	5292
+-81.6879	24.2701	5905
+-113.6692	32.7914	6075
+-88.8173	33.4455	5077
+-93.9574	36.7459	5008
+-117.1309	30.1321	6753
+-112.0112	32.3427	7478
+-92.0533	38.9821	7607
+-119.4063	31.6115	6718
+-87.4577	36.5883	7912
+-117.8325	32.9061	8782
+-87.9865	35.5199	7252
+-91.33	39.6832	7992
+-119.1145	34.1302	7522
+-118.941	49.704	5381
+-82.4097	28.0819	9418
+-90.7186	42.926	4909
+-86.7838	33.9904	5127
+-86.2416	35.9296	6375
+-111.1472	31.8736	8537
+-89.7509	36.5778	8168
+-88.8182	38.4547	8928
+-117.8364	45.28	8271
+-114.4507	34.3139	6460
+-87.0508	39.3309	7131
+-84.8751	36.8843	5360
+-117.4021	31.1449	7826
+-115.675	44.2923	5900
+-89.3175	36.0296	7877
+-120.0214	43.7645	6177
+-89.0645	35.8803	7783
+-119.9974	27.524	2950
+-83.3509	26.3406	7771
+-92.1859	40.0477	7030
+-89.4747	35.1638	6896
+-113.042	30.6197	6359
+-85.3949	28.4229	6128
+-91.918	36.4762	6468
+-121.5424	47.1809	8096
+-111.2705	35.2353	5389
+-117.4443	33.0851	9142
+-119.8766	32.9348	6405
+-120.4676	33.0766	5861
+-78.8609	25.3529	5292
+-113.3179	28.5092	4831
+-123.7053	46.1836	8372
+-118.5419	33.6613	8055
+-93.539	36.2676	5097
+-88.9172	35.1555	6992
+-114.3868	30.0282	5516
+-87.5464	42.4324	4414
+-83.3153	29.666	7361
+-118.548	33.4303	7944
+-87.9776	37.6977	8929
+-77.0301	28.618	4039
+-114.7705	29.0781	4917
+-80.9073	25.6289	7104
+-108.0661	27.3824	4301
+-118.6698	33.7132	7940
+-87.2811	37.5123	8139
+-119.4316	45.6267	7945
+-112.4531	30.1864	6723
+-121.1027	43.323	5069
+-91.3217	42.4605	5299
+-107.6324	29.5727	5825
+-124.6788	45.9765	7370
+-81.8118	30.9249	6301
+-93.362	41.6287	4960
+-87.7023	37.8708	8599
+-87.1144	34.2858	5592
+-82.8448	29.3626	7916
+-120.577	33.9944	5924
+-109.5585	32.6809	8018
+-116.4738	33.7714	8587
+-88.3534	40.7858	6326
+-117.7941	46.5383	8565
+-122.867	46.0541	8603
+-119.7586	34.6191	6768
+-85.8312	38.3347	6436
+-82.2147	27.5696	9651
+-119.1737	32.6297	7282
+-122.0615	45.8307	8055
+-118.1285	46.8281	8472
+-117.4097	35.3369	8216
+-118.9255	33.8781	7707
+-115.4402	30.341	6509
+-118.2727	47.6082	7663
+-81.3349	27.0127	8650
+-118.3612	37.1579	6029
+-116.8529	35.8022	7662
+-86.3873	38.9647	6772
+-84.3411	41.0418	3567
+-120.3916	48.6898	6263
+-81.3746	27.7575	9034
+-116.3753	30.5637	7155
+-119.1854	31.6479	6956
+-80.9367	30.7703	6234
+-112.2177	31.7231	7426
+-115.9564	47.2853	6495
+-89.9321	38.41	8815
+-80.5944	26.0122	7252
+-118.5115	34.6287	8076
+-119.2338	36.1522	6463
+-87.9386	35.781	7504
+-87.0256	38.3486	7716
+-114.0376	35.8762	5535
+-116.3988	44.9033	6896
+-118.0133	45.47	8535
+-114.0203	34.3998	5985
+-85.7343	36.0797	5974
+-120.2335	33.8512	6287
+-91.1014	37.6442	8003
+-113.1973	33.5405	5715
+-117.6948	27.012	3228
+-123.0647	46.3327	8887
+-114.447	30.3899	5851
+-119.2768	45.7538	8146
+-88.9186	38.3863	8989
+-109.4292	31.5752	8494
+-123.0678	46.0035	8532
+-89.3799	38.6826	8340
+-89.0997	39.6729	7720
+-126.9617	44.0686	4124
+-116.536	36.472	6865
+-118.8268	46.558	8508
+-114.0013	33.0138	6438
+-118.3292	45.499	8622
+-90.1588	37.7213	8289
+-88.9141	38.7214	8619
+-124.7185	48.8983	6692
+-110.3474	31.1449	8998
+-88.5779	36.9534	8988
+-85.6342	33.6967	4139
+-111.0388	32.201	8458
+-90.7423	40.0324	7989
+-119.3012	37.0755	5636
+-119.7421	46.2475	7708
+-95.0317	41.3902	3662
+-122.6285	48.2124	8205
+-115.0684	32.1174	7497
+-111.5704	31.8544	8101
+-83.159	28.3801	8540
+-119.2363	32.4995	7197
+-118.2304	31.514	7728
+-83.0423	27.6735	8859
+-121.3709	46.5813	7874
+-106.2198	26.7191	2572
+-90.8752	37.177	7648
+-89.1137	40.8758	6755
+-115.1768	29.7983	5839
+-121.3397	45.2752	7078
+-123.9638	47.8683	8074
+-117.2384	35.2175	8355
+-89.2516	39.7897	7768
+-114.9715	33.9097	7215
+-92.227	40.5962	6612
+-118.7148	30.1751	6220
+-117.4105	45.5314	8157
+-115.3268	31.422	7352
+-111.28	32.7258	7866
+-118.3033	45.1429	8247
+-90.5904	37.3395	7888
+-85.8565	26.5458	5460
+-82.1219	27.7426	9862
+-88.4828	40.9958	6253
+-117.9137	31.6113	8043
+-123.1057	45.2954	7756
+-94.2501	40.2565	4951
+-87.6687	41.0115	5863
+-125.8622	47.5855	6282
+-91.9819	41.5537	5946
+-108.52	33.9539	6240
+-89.3369	38.8657	8290
+-82.0559	25.6655	7514
+-125.8225	45.2515	5883
+-112.0296	30.8271	7461
+-118.7529	41.9667	4855
+-112.6079	30.5283	6757
+-121.0462	46.1605	7385
+-83.7001	25.1953	6486
+-115.5953	35.7723	6984
+-113.312	32.9179	5937
+-81.1818	25.8242	7445
+-111.4395	28.7002	6128
+-117.4806	32.3211	8956
+-112.9927	32.6315	6376
+-111.0315	33.1464	7619
+-116.8041	44.4426	6908
+-116.3261	37.6546	5562
+-124.6297	46.7634	7693
+-113.8359	34.6634	5751
+-117.3268	45.7162	8169
+-114.8877	32.9733	7427
+-90.0668	35.8177	7278
+-82.7909	31.7582	5316
+-114.2118	31.4025	6299
+-118.8246	32.9535	7675
+-85.4747	29.7991	5468
+-126.6818	46.5335	5424
+-82.942	27.1706	8756
+-117.2719	32.8884	9403
+-90.7278	42.0153	5885
+-86.8384	38.3907	7503
+-114.1704	31.2288	6166
+-91.2196	37.9817	8200
+-89.048	40.3828	7151
+-123.4938	45.5195	7888
+-122.5542	49.1236	7206
+-110.2452	29.0299	6705
+-121.1411	48.9164	6721
+-117.4959	35.0521	8505
+-120.2923	31.2193	5638
+-110.3169	28.1706	5776
+-112.0811	32.4935	7339
+-89.9856	40.9041	7063
+-107.0977	30.1254	5629
+-114.1705	29.6652	5054
+-81.0956	28.6812	8328
+-114.2611	32.4435	6707
+-122.1728	45.6406	7945
+-115.3102	33.2476	7844
+-89.3907	39.3613	8168
+-122.3606	44.5267	6861
+-85.2525	26.3937	6037
+-113.2977	32.5347	6100
+-111.0524	34.4687	6252
+-120.0167	47.4598	6927
+-82.0903	24.0603	5699
+-81.9081	31.0276	6194
+-119.3162	34.2875	7296
+-124.7147	48.059	7279
+-117.3919	32.0034	8729
+-108.1982	32.2677	7044
+-118.8082	29.2949	5320
+-117.028	31.4046	8176
+-113.5497	37.1144	4340
+-91.7156	40.5103	7045
+-88.9319	38.7143	8624
+-80.1557	28.717	7410
+-123.8989	48.1238	7927
+-109.3522	27.4828	4905
+-112.4705	32.7319	6845
+-89.9628	35.999	7512
+-120.0545	31.5298	6021
+-81.6406	25.6173	7398
+-115.2014	29.5372	5599
+-117.9146	45.9729	8848
+-92.0251	35.772	5759
+-106.1798	32.5748	4847
+-116.0861	33.1526	8702
+-91.3895	38.9775	8312
+-89.9489	34.8379	6374
+-120.0318	45.6203	7340
+-107.2645	31.9644	6123
+-119.8999	46.2376	7542
+-117.8211	35.555	7873
+-90.349	40.8683	7141
+-89.8153	39.344	8539
+-126.6597	47.6401	5410
+-112.387	33.4601	6459
+-81.2651	24.7007	6287
+-89.6561	40.8017	7078
+-84.9312	38.3315	5445
+-119.3677	46.092	8112
+-121.0129	48.2296	7111
+-123.5067	43.3973	5629
+-112.4595	28.1054	5057
+-120.0043	43.6817	6117
+-117.8435	45.9987	8783
+-88.7108	38.7288	8620
+-109.2572	34.3271	6280
+-89.939	39.2467	8706
+-88.904	36.9931	9044
+-116.1934	43.3542	5606
+-116.8479	30.87	7578
+-115.7983	32.6128	8430
+-116.0658	32.2557	8569
+-115.241	34.264	7324
+-91.3907	39.4351	8111
+-112.2454	32.8566	6985
+-87.2326	39.0459	7499
+-117.7674	37.5788	5740
+-115.3413	33.0442	7922
+-92.2547	41.7904	5576
+-90.0865	40.0149	8024
+-82.0666	28.1032	9504
+-80.7998	26.7639	8005
+-122.3411	32.6772	3779
+-123.5172	48.998	7274
+-84.4277	37.9856	4931
+-123.2019	49.1292	7207
+-123.953	48.8844	7203
+-108.7262	34.4282	5933
+-119.7447	44.6881	7109
+-83.6154	28.2464	8130
+-79.8985	27.712	7363
+-108.8503	30.5657	7525
+-120.8683	33.8389	5596
+-116.2251	36.1948	7018
+-120.0623	35.5447	6122
+-115.358	30.2911	6413
+-82.1428	29.1674	8308
+-115.561	35.5639	7110
+-78.3882	26.2124	5305
+-94.5639	37.8897	4824
+-116.2709	44.4429	6500
+-114.7906	35.2564	6572
+-120.0458	34.0494	6505
+-116.2593	34.6018	8326
+-118.2379	46.099	9213
+-87.7459	34.6752	6268
+-114.5272	45.8463	5273
+-117.1549	30.4972	7157
+-79.9728	29.6713	6634
+-117.2584	32.5664	9324
+-116.7677	33.2322	9239
+-123.724	48.7695	7428
+-84.3545	24.5939	5511
+-117.0368	48.7436	6165
+-117.0068	35.4763	8046
+-109.6307	30.1854	7778
+-91.6717	43.0732	4562
+-116.3255	45.6395	7131
+-118.6731	47.0763	8147
+-90.1309	37.3632	8246
+-116.2709	46.7047	7035
+-122.2141	47.3992	8715
+-86.7701	38.197	7496
+-118.3396	44.4246	7485
+-115.4873	48.9057	5065
+-119.6612	47.5893	7112
+-117.183	33.4098	9048
+-87.3693	36.2842	7609
+-91.9019	38.2326	7695
+-88.0223	37.0919	8760
+-86.0406	36.7782	6597
+-118.1459	34.5123	8493
+-117.6349	35.0417	8469
+-91.4736	40.322	7362
+-125.5375	49.0146	5938
+-90.0859	40.0541	7983
+-122.3306	43.6952	5958
+-81.6673	29.5174	7843
+-87.8712	40.3844	6602
+-125.0267	49.2039	6215
+-88.0854	37.1993	8888
+-84.0176	30.0119	6576
+-121.2247	44.0225	5885
+-89.3599	38.6964	8320
+-81.05	26.7837	8238
+-113.6358	29.3483	5153
+-115.4676	32.0737	7887
+-91.3076	38.154	8239
+-91.9855	39.2974	7599
+-123.6349	46.6198	8713
+-80.6424	27.3929	8154
+-110.3489	30.07	7834
+-126.2703	47.5571	5847
+-116.257	42.621	4997
+-84.1001	29.0557	7232
+-90.7248	37.2741	7792
+-111.7738	30.3532	7421
+-84.9169	31.532	4595
+-111.9693	31.5471	7701
+-91.7475	34.7884	5164
+-87.6907	39.9699	6961
+-118.6112	48.2163	6992
+-118.5475	32.7403	7987
+-84.6513	30.1089	6002
+-88.9483	37.3931	9447
+-115.8556	33.717	8158
+-116.6504	37.0543	6281
+-88.1136	37.6726	9082
+-111.4071	30.7353	7991
+-84.6189	28.5507	6944
+-83.0036	29.4931	7705
+-113.3091	34.3672	5213
+-125.2864	45.5084	6534
+-114.3927	32.2982	6824
+-117.8159	37.3377	5992
+-114.5449	32.1095	6939
+-88.8942	38.3105	9078
+-81.6358	29.6806	7655
+-125.2185	46.8064	7053
+-89.4794	35.6298	7393
+-110.0799	34.6905	6096
+-92.1745	40.0959	7009
+-118.2682	34.5831	8340
+-116.0214	29.9461	6382
+-92.7331	38.4361	6869
+-119.8112	43.5666	6127
+-106.8487	31.7459	5694
+-83.6568	25.2285	6543
+-90.42	39.685	8416
+-117.6375	33.8374	9020
+-89.6848	37.9902	8722
+-124.8177	46.9534	7499
+-90.6158	38.2708	8850
+-125.6453	44.452	5516
+-88.2575	39.7783	7376
+-113.7447	34.9906	5584
+-83.1126	26.4118	8001
+-80.344	25.7215	6818
+-116.0077	45.8796	6839
+-112.3603	29.9817	6675
+-119.4758	45.625	7901
+-115.504	32.7205	8118
+-118.4583	34.3968	8207
+-94.4681	37.8858	4924
+-122.8133	48.0571	8404
+-124.9651	44.61	6164
+-124.4891	43.038	4950
+-118.6917	45.3971	8400
+-117.7509	36.3161	7099
+-115.496	29.9785	6188
+-84.2959	28.047	7425
+-117.1259	46.2457	8025
+-90.1431	39.2786	8799
+-124.9909	43.4495	5111
+-115.5877	34.1068	7706
+-81.2691	24.9298	6537
+-109.2021	32.7885	7683
+-85.8569	37.1929	6506
+-89.3113	39.6882	7889
+-121.1656	47.2695	7672
+-121.7359	49.5667	6476
+-118.2667	35.2343	7915
+-119.5577	33.4459	6929
+-79.2045	24.3391	4792
+-119.34	45.8369	8107
+-82.4049	29.4106	8007
+-115.1771	33.203	7711
+-89.3384	34.6779	6400
+-92.8255	38.2729	6742
+-116.895	29.9459	6550
+-122.3455	47.3661	8855
+-89.4219	38.7688	8388
+-87.9117	39.0031	8034
+-116.5939	43.8164	6252
+-117.1009	35.283	8271
+-84.0746	38.2276	4511
+-123.0774	44.6833	7090
+-84.5568	28.767	6926
+-93.2001	37.0412	5873
+-82.768	31.1612	5985
+-120.1351	46.596	7230
+-110.1177	28.7899	6438
+-112.8068	33.1744	6287
+-88.7395	39.4951	7479
+-108.6028	29.0613	6160
+-114.0502	37.3595	4568
+-108.3712	30.763	7169
+-112.2683	32.9586	6902
+-117.3251	33.8848	9259
+-109.435	28.6149	6113
+-118.9705	47.3118	7785
+-90.6576	36.089	7051
+-91.8689	39.5181	7622
+-121.4906	49.0297	6861
+-87.3256	35.4966	6892
+-116.6041	31.8299	8580
+-121.2164	46.2298	7587
+-110.2947	32.1119	8899
+-117.1982	32.5682	9374
+-118.2816	31.5643	7727
+-118.8531	28.9171	4921
+-119.2136	44.1508	6973
+-92.6253	39.4596	6890
+-111.1511	33.2827	7430
+-119.2567	46.45	8165
+-112.7947	32.6566	6564
+-91.4116	39.3173	8159
+-115.8783	44.5093	6207
+-118.9176	41.5787	4425
+-115.7585	33.077	8374
+-116.6533	42.5285	5103
+-116.9399	47.2754	7370
+-112.2948	35.3639	4859
+-110.1873	32.902	8036
+-80.8247	28.3771	8259
+-106.8296	32.9671	5392
+-122.2829	47.6722	8576
+-79.8242	27.5343	7267
+-83.8831	25.6881	6819
+-84.7514	29.9083	6066
+-81.9991	28.934	8563
+-118.9728	47.8445	7274
+-124.0501	47.0572	8339
+-115.657	43.9075	5637
+-117.9035	33.9698	8821
+-111.1905	28.3033	5800
+-90.8875	35.4676	6386
+-117.3049	34.9617	8633
+-89.4803	36.2715	8057
+-120.9014	38.5281	3317
+-121.7104	44.9387	7023
+-119.576	44.1171	6754
+-119.0679	36.882	5953
+-127.4417	46.2508	4555
+-89.2281	40.7609	6925
+-86.3971	36.3714	6784
+-90.9811	40.5279	7403
+-83.2356	25.6198	7162
+-91.3484	38.0162	8118
+-112.3091	35.6949	4531
+-119.5699	47.7002	7086
+-91.78	35.9634	6065
+-88.4404	37.9972	9293
+-81.5718	24.7398	6410
+-90.629	34.4061	5601
+-117.8016	31.0485	7572
+-121.4822	46.254	7863
+-117.756	35.2333	8225
+-110.5468	29.8946	7629
+-113.625	33.8749	5843
+-91.6903	39.3411	7878
+-110.2917	30.9678	8805
+-117.489	30.3448	6935
+-115.7963	32.7911	8447
+-118.6944	43.4477	6418
+-82.0855	27.0502	9080
+-116.8682	44.8598	7268
+-125.0521	42.3632	4023
+-93.574	36.7794	5382
+-120.3691	33.2766	6027
+-117.9108	34.6478	8639
+-116.0302	34.0218	8184
+-105.7752	31.614	4535
+-84.9608	39.4716	5087
+-111.5891	32.7953	7583
+-119.4351	48.3047	6626
+-123.7683	48.5059	7665
+-112.5729	29.0998	5850
+-113.0742	31.5273	6503
+-113.4877	31.3666	6048
+-88.9246	41.5359	6035
+-118.8832	43.4597	6393
+-120.3593	41.8327	4235
+-90.6797	38.4766	8990
+-109.8595	32.0357	8764
+-90.4222	36.5755	7590
+-112.2187	31.9147	7400
+-122.7968	45.7711	8288
+-118.1137	36.3437	6956
+-117.7929	33.5084	8647
+-116.2249	29.0675	5490
+-115.6842	36.082	6800
+-81.8519	28.2006	9307
+-118.5568	33.1681	7780
+-108.8543	31.9261	7829
+-121.0769	46.3828	7503
+-80.5573	27.2147	8003
+-87.217	41.7179	4945
+-114.169	45.9657	4901
+-88.2029	36.3537	8212
+-123.2436	47.1846	9159
+-122.9627	45.4487	7937
+-83.1313	28.0278	8725
+-120.246	46.3082	7170
+-82.8847	29.6963	7550
+-92.2191	41.9371	5460
+-88.7153	35.521	7407
+-88.0227	40.4921	6535
+-82.2769	28.0994	9482
+-118.4698	30.9547	7084
+-118.1409	33.7271	8486
+-116.7513	35.2748	8172
+-88.9195	35.5494	7433
+-84.1268	26.1827	7012
+-109.0578	29.7463	7051
+-109.753	35.3858	5306
+-117.6565	34.4704	8976
+-115.4428	32.4077	7993
+-109.6226	31.4948	8698
+-118.1289	48.1062	7130
+-107.0283	31.4346	5889
+-82.1589	28.5431	9013
+-92.9048	36.4733	5763
+-110.5351	32.8096	8127
+-118.7167	41.0674	3911
+-117.0165	34.5078	9047
+-124.077	46.2425	8088
+-119.538	33.7155	7019
+-82.2753	26.4848	8433
+-114.935	34.6339	6937
+-117.9684	30.6889	7130
+-118.1528	35.1379	8077
+-121.3381	44.7793	6653
+-87.518	41.4468	5183
+-117.7554	32.4497	8783
+-88.6338	38.3775	9003
+-119.7856	33.1942	6605
+-78.4022	29.2094	5367
+-93.0021	37.9806	6482
+-83.4397	26.3568	7718
+-81.3794	27.9709	9009
+-115.0665	45.7408	5833
+-116.7293	31.3445	8090
+-82.635	25.5519	7323
+-122.9034	47.4198	9108
+-90.3455	36.6712	7720
+-89.0276	38.4017	8939
+-119.3007	46.325	8157
+-90.4905	38.1978	8818
+-118.458	30.9342	7074
+-108.3402	32.2136	7209
+-85.5091	37.5504	6156
+-112.1051	29.6401	6624
+-118.9932	32.4222	7450
+-90.1568	37.8476	8421
+-120.2043	47.2102	6911
+-106.9716	33.408	5329
+-120.2538	35.7273	5844
+-117.2256	46.5465	8045
+-119.2335	28.3062	4122
+-113.636	33.7893	5883
+-113.4473	31.0271	6046
+-107.4453	33.857	5491
+-86.00	38.9303	6401
+-81.7883	26.3679	8263
+-90.3757	38.1173	8742
+-88.1925	35.4066	7198
+-118.1522	32.2894	8306
+-110.8051	32.2662	8574
+-83.2811	26.9189	8278
+-88.9455	38.5219	8834
+-120.9381	47.1697	7439
+-88.034	37.8044	8978
+-79.374	31.0471	5043
+-91.4722	42.4516	5266
+-114.506	29.3735	5032
+-109.6535	32.1328	8527
+-123.3272	47.1543	9094
+-119.1437	46.6935	8154
+-91.3907	38.2791	8226
+-92.2241	37.8347	7209
+-123.2048	49.9935	6264
+-82.4068	28.1794	9332
+-122.877	47.1273	9428
+-120.6318	43.6467	5664
+-90.0541	35.0563	6549
+-119.7012	45.0535	7394
+-118.5981	32.0594	7747
+-125.055	48.5439	6672
+-116.5061	49.6919	5016
+-123.1288	46.7402	9253
+-87.8494	34.4318	6042
+-116.7973	47.4393	7142
+-121.8154	45.096	7231
+-118.421	32.5912	8111
+-118.6638	48.6228	6558
+-118.4188	49.6164	5534
+-121.9594	45.7619	7927
+-109.4298	28.19	5669
+-117.0011	36.3267	7128
+-112.0613	31.8563	7578
+-110.3864	31.8132	9218
+-90.3222	36.6405	7724
+-118.5865	45.3632	8417
+-108.5983	32.2857	7446
+-114.3995	33.4961	6791
+-84.1161	30.7972	5795
+-114.6428	34.7875	6588
+-89.2984	32.6473	4150
+-116.3351	32.233	8794
+-120.1745	33.9779	6361
+-118.2252	34.5744	8387
+-123.3949	47.8498	8494
+-88.0512	36.9581	8685
+-82.0757	26.9989	9021
+-116.6667	35.7772	7629
+-115.1487	45.6933	5913
+-118.3808	32.8323	8175
+-121.8817	47.9711	8035
+-87.8104	39.0354	7940
+-116.3114	31.1815	7788
+-112.018	32.2728	7501
+-90.0893	39.0365	8982
+-118.066	32.5727	8497
+-89.6264	37.5482	8841
+-118.5312	47.0865	8183
+-109.9199	31.9121	8901
+-89.7566	38.6842	8745
+-115.5502	34.9266	7475
+-90.8283	35.9406	6797
+-118.8395	34.7759	7685
+-116.855	44.3351	6856
+-117.5547	45.7826	8419
+-122.7582	49.2878	7051
+-87.6104	42.944	4005
+-90.4508	40.3273	7723
+-91.7971	38.3023	7826
+-89.6579	37.7601	8809
+-90.225	38.8023	9245
+-115.0752	33.3742	7553
+-116.4101	36.8231	6459
+-121.3593	48.7648	7005
+-109.8962	32.5699	8304
+-119.3183	48.2782	6706
+-109.6545	29.2292	6819
+-86.0486	37.8424	6758
+-116.9211	34.5866	8916
+-120.1342	33.9882	6406
+-118.7098	43.7733	6755
+-119.0996	36.1464	6568
+-107.2465	31.5211	6128
+-114.8699	43.7591	4877
+-119.1135	44.6785	7517
+-122.5004	44.6237	6995
+-115.8472	29.8187	6183
+-118.5181	45.4124	8491
+-107.3922	28.9718	5212
+-110.0674	30.312	8066
+-112.3638	29.7756	6528
+-117.8473	34.0161	8892
+-115.8755	32.2163	8364
+-78.5856	31.134	4359
+-107.8283	29.6244	6028
+-88.7994	35.2423	7094
+-111.3629	28.6906	6147
+-113.348	31.0758	6161
+-120.4959	45.8631	6904
+-116.4394	33.0283	9119
+-124.4623	48.6793	7059
+-117.3809	33.4891	8824
+-115.6083	32.0171	7995
+-119.0721	47.0804	7928
+-123.4608	46.1538	8521
+-121.2535	49.8529	5956
+-83.4353	27.1938	8283
+-108.9424	32.3661	7744
+-90.7543	37.3108	7822
+-120.939	49.9015	5728
+-121.1645	45.7245	7261
+-113.7426	30.0791	5436
+-117.9561	29.36	5742
+-110.5638	31.8918	9056
+-124.4305	47.7157	7734
+-87.5763	37.4057	8447
+-89.8701	35.9172	7494
+-122.7435	43.73	6046
+-118.8392	33.3416	7617
+-119.1991	48.5511	6489
+-116.0333	33.8653	8161
+-116.943	34.2279	9170
+-115.9729	33.8647	8097
+-115.0472	42.7059	4294
+-82.0482	25.8499	7722
+-124.9996	46.2013	7151
+-117.6939	33.7176	8888
+-113.717	33.8952	5934
+-107.6722	29.4598	5785
+-85.5571	35.4222	5419
+-123.871	49.6424	6479
+-116.5909	31.6852	8423
+-87.5699	38.1823	8352
+-115.696	37.5286	5457
+-89.6024	37.1292	8700
+-115.7891	47.8508	6033
+-117.3502	49.6576	5365
+-119.8341	33.0686	6506
+-125.3853	49.8447	5428
+-85.485	34.6568	4817
+-108.0622	31.6971	7010
+-123.7287	48.3985	7789
+-88.45	34.2716	5988
+-89.1974	39.1678	8069
+-114.8659	29.4243	5302
+-118.6503	31.6119	7444
+-111.8064	31.5794	7878
+-88.396	38.3048	8986
+-109.8894	29.8641	7550
+-118.8736	46.6852	8380
+-90.4736	35.1283	6382
+-83.9329	27.4895	7833
+-118.0068	33.3777	8384
+-82.8193	28.4789	8774
+-116.0654	37.8222	5306
+-122.7756	49.0453	7318
+-108.2791	31.0105	7163
+-119.1928	34.5865	7379
+-111.5442	31.267	8118
+-90.7284	35.3676	6423
+-86.1797	39.1334	6477
+-84.7254	28.6622	6790
+-121.4673	35.1933	4812
+-83.5621	32.506	4292
+-90.3621	37.9838	8598
+-92.1706	38.1959	7408
+-115.0283	32.5741	7574
+-91.6802	39.1696	7955
+-122.6671	48.1953	8232
+-86.8762	38.8078	7336
+-86.8535	42.755	3670
+-79.6883	27.5804	7118
+-120.599	43.8896	5870
+-122.1863	49.6573	6548
+-93.6356	37.6166	5712
+-117.1867	46.4136	8053
+-79.8088	28.3892	7170
+-111.3319	31.7397	8378
+-91.5382	38.9864	8154
+-117.574	34.8783	8659
+-119.928	31.5765	6172
+-116.2685	37.2171	6002
+-124.1135	47.7186	8038
+-114.7408	33.9883	6947
+-121.1858	47.8662	7479
+-90.1419	37.3342	8227
+-86.5332	38.1996	7237
+-87.9033	37.0574	8629
+-120.1983	44.2321	6427
+-126.0751	46.5442	6087
+-89.3028	35.9955	7846
+-119.4711	30.3432	5827
+-116.1606	37.515	5657
+-82.7553	31.4621	5653
+-105.1812	31.1447	3871
+-86.2596	38.6399	6796
+-82.9698	28.961	8243
+-80.415	24.759	5974
+-113.5457	32.2987	5908
+-116.7337	38.3816	4867
+-112.2009	26.4383	3543
+-120.1207	33.367	6314
+-122.5955	48.3799	8018
+-109.1567	31.352	8174
+-81.656	25.2037	6943
+-115.969	33.302	8515
+-117.4942	29.6168	6136
+-119.6291	29.7678	5238
+-84.118	27.349	7598
+-116.0033	35.3973	7589
+-116.9493	33.8411	9067
+-117.9401	34.1846	8801
+-117.4916	34.0543	9278
+-111.8386	29.613	6787
+-118.9555	43.4018	6316
+-124.1832	46.5723	8131
+-89.0709	38.0221	9289
+-89.2515	37.1241	8999
+-91.0105	39.4221	8433
+-85.2033	27.2655	6373
+-115.5547	44.4444	5880
+-117.2377	30.8101	7494
+-122.3262	46.6593	8891
+-89.4487	40.0458	7702
+-85.8895	41.2895	4621
+-110.0133	33.4528	7419
+-121.0662	46.224	7433
+-88.1664	35.4146	7200
+-83.2929	27.2542	8458
+-90.1912	38.9815	9100
+-89.8323	41.9675	5906
+-92.2122	37.4899	7030
+-123.2904	48.6903	7664
+-89.5466	38.9267	8503
+-80.6926	26.1493	7442
+-117.29	36.056	7440
+-116.277	31.6357	8228
+-126.2825	44.2782	4859
+-83.4749	27.6775	8371
+-120.8458	42.9188	4934
+-116.728	32.1072	8918
+-115.5492	32.0048	7931
+-116.5085	35.1621	8144
+-92.8495	43.336	3812
+-110.8872	32.0889	8661
+-90.103	40.4877	7527
+-122.6595	47.7162	8741
+-108.6241	32.1008	7539
+-88.3303	39.5665	7626
+-116.4915	31.3706	8055
+-90.1212	41.8137	6110
+-116.4227	34.99	8226
+-118.8842	33.9212	7758
+-119.6003	47.0546	7538
+-85.1835	29.0807	6135
+-87.5752	37.4736	8460
+-89.3049	41.0042	6731
+-120.3913	46.3028	7018
+-92.7181	39.5984	6747
+-88.3212	36.8361	8758
+-81.8609	27.6136	9539
+-88.7728	37.2859	9388
+-119.6179	33.7164	6933
+-113.876	31.4997	6006
+-123.2808	43.4569	5728
+-112.7581	34.1776	5626
+-119.7883	46.8585	7476
+-116.2353	29.6567	6135
+-121.0122	49.6053	6042
+-117.2977	35.4273	8126
+-82.0096	27.4937	9553
+-109.8343	31.7342	8909
+-122.8623	49.90	6383
+-112.7959	35.4307	4524
+-81.71	27.8098	9411
+-81.5902	29.7007	7620
+-120.6291	46.9665	7111
+-123.1461	48.2986	8118
+-109.4961	34.9902	5672
+-120.3902	47.2829	6702
+-115.7202	46.9164	6412
+-125.0675	49.0293	6319
+-115.8042	32.117	8240
+-81.9094	28.6242	8890
+-120.6424	33.8254	5840
+-88.2251	37.1429	8970
+-118.3088	33.8336	8355
+-91.0486	35.4327	6231
+-113.4555	34.9017	5297
+-88.5707	35.9455	7871
+-117.0007	31.5908	8385
+-118.3726	49.4891	5670
+-107.5763	34.266	5306
+-109.626	29.6412	7234
+-119.2653	33.9186	7345
+-116.31	46.6473	7092
+-119.9116	29.978	5191
+-111.5067	34.667	5899
+-125.9506	47.1185	6251
+-114.1324	48.8788	3970
+-113.987	33.4776	6349
+-79.4595	28.7576	6666
+-85.2314	26.9767	6275
+-120.9565	47.0827	7467
+-108.4736	34.3243	5885
+-116.7447	32.8844	9494
+-112.9381	46.3042	3595
+-92.3633	37.3084	6785
+-122.3731	31.7707	3611
+-87.8687	39.3622	7661
+-89.5481	40.6225	7214
+-119.9702	45.4239	7336
+-121.6739	46.1188	7968
+-114.5987	30.0864	5722
+-115.3042	30.7616	6805
+-93.4618	39.6812	5958
+-108.7287	30.3581	7286
+-89.198	40.2518	7362
+-121.0742	43.7492	5396
+-83.9908	38.015	4440
+-89.6982	39.5473	8291
+-86.7387	40.1369	6227
+-115.343	43.7185	5253
+-87.3581	36.8062	7963
+-119.1463	47.6436	7388
+-112.4789	31.4636	7145
+-89.3193	36.7276	8593
+-113.4565	31.4182	6085
+-109.9163	35.2781	5445
+-104.8015	33.2989	3198
+-83.4473	26.5679	7880
+-92.6989	38.9625	6918
+-120.1397	35.8973	5860
+-88.4025	35.0189	6816
+-111.7354	28.4957	5800
+-116.3687	33.0283	9045
+-81.9519	25.3679	7171
+-92.3772	38.3862	7240
+-87.4482	36.5214	7855
+-118.4702	45.339	8431
+-118.1531	33.7489	8484
+-90.3149	38.3367	8973
+-118.5773	33.3517	7873
+-93.2027	38.2292	6334
+-109.1125	31.7559	8138
+-109.801	34.842	5896
+-115.7593	33.2981	8303
+-82.9166	29.1022	8141
+-113.9296	31.8701	6205
+-116.9039	33.4257	9070
+-119.468	35.3815	6777
+-80.0437	25.9942	6792
+-79.2282	30.5737	5322
+-112.4467	33.6556	6267
+-118.6605	34.9397	7781
+-123.9207	47.3775	8397
+-125.6144	44.0929	5263
+-108.2724	32.3499	7091
+-123.3931	49.3596	6922
+-116.9761	49.8881	5016
+-117.0149	37.5161	5838
+-119.0751	37.5035	5366
+-117.3693	48.026	7003
+-116.3526	42.0176	4478
+-89.7774	39.5851	8312
+-85.1524	26.5059	6191
+-117.0771	48.7857	6142
+-84.5146	30.1977	6042
+-110.042	33.0786	7823
+-109.0153	35.0541	5451
+-109.6069	30.2187	7799
+-89.5004	37.5432	8980
+-115.2466	35.1444	7074
+-114.8014	35.796	6294
+-90.4528	39.2602	8869
+-106.2292	31.3765	5021
+-117.7627	34.0805	8994
+-90.5211	37.5367	8108
+-88.8049	38.5069	8870
+-87.382	38.5773	7954
+-108.0105	28.5171	5306
+-110.3609	31.8946	9135
+-111.2379	30.6368	8055
+-87.5777	40.4641	6402
+-85.1118	27.1911	6460
+-89.2232	41.4434	6263
+-111.5492	32.1054	8040
+-88.9266	35.4961	7373
+-86.5288	37.0096	7197
+-91.4411	36.5911	6833
+-81.9967	26.7745	8759
+-109.6836	31.1332	8617
+-114.6697	31.5741	6840
+-112.8209	33.6252	5987
+-111.8701	29.7155	6853
+-116.4837	34.5814	8554
+-81.8785	29.0779	8381
+-91.0603	37.8709	8228
+-116.0424	30.9701	7450
+-117.7299	35.1103	8358
+-123.574	46.0713	8375
+-110.0975	29.3902	7084
+-115.7596	35.6756	7186
+-92.1149	35.8846	5816
+-89.5212	37.1264	8774
+-85.4432	28.5889	6034
+-123.9535	47.3899	8359
+-86.8867	38.0937	7651
+-90.2746	41.9634	5959
+-86.4241	38.3172	7086
+-88.9067	35.5729	7460
+-109.167	30.4907	7742
+-90.7487	43.7171	4056
+-111.2452	35.1642	5470
+-123.8541	45.321	7516
+-90.7346	35.2403	6309
+-115.8339	34.2163	7972
+-83.2594	27.2881	8508
+-110.848	28.8747	6486
+-122.607	46.4184	8923
+-120.2499	35.548	5936
+-89.2103	36.8787	8801
+-122.3047	49.2234	7042
+-121.5591	47.9201	7799
+-115.8224	32.7088	8471
+-123.7995	44.8818	7112
+-123.3581	45.4814	7899
+-112.9535	31.1992	6604
+-115.3925	35.302	7129
+-87.6416	39.7189	7187
+-123.5407	44.4336	6736
+-110.6602	31.4652	9097
+-118.9449	33.5172	7588
+-122.6886	45.235	7690
+-84.7182	25.6808	6135
+-89.7023	40.2518	7647
+-107.7509	30.7249	6525
+-114.6761	35.6848	6244
+-122.5077	49.1305	7190
+-117.743	32.1572	8617
+-118.5089	35.2445	7720
+-88.1103	37.919	9026
+-120.3677	45.999	7050
+-115.3388	45.1114	5971
+-83.1024	29.0551	8068
+-89.5942	36.4874	8199
+-121.5075	46.8687	8073
+-81.8228	27.4394	9382
+-114.1506	40.3375	1965
+-117.5694	31.4108	8047
+-81.4321	24.5327	6149
+-118.8694	48.2001	6951
+-86.5104	36.2674	6835
+-88.7654	40.986	6450
+-117.5294	34.5985	8955
+-112.9451	29.7824	6036
+-108.654	33.2919	6878
+-85.5138	38.9157	5904
+-115.607	33.7451	7916
+-79.4576	25.141	5651
+-84.1177	27.3035	7587
+-108.3294	33.599	6394
+-111.8675	34.9171	5497
+-118.295	32.2163	8127
+-114.4758	34.1579	6493
+-90.8947	39.2801	8630
+-83.4252	27.8302	8429
+-114.7064	34.3581	6734
+-89.8832	37.0845	8402
+-91.6943	39.6737	7696
+-114.702	31.4425	6798
+-84.8598	30.0836	5844
+-89.6766	39.7624	8094
+-121.5953	45.9902	7816
+-124.1653	46.7591	8198
+-90.8895	40.1223	7848
+-91.1779	36.4138	6765
+-111.6998	27.7114	5025
+-88.3714	35.9391	7827
+-119.2994	43.9496	6742
+-115.9995	34.9785	7876
+-110.6034	32.0987	8843
+-83.0398	28.5241	8556
+-80.1801	24.9524	6017
+-90.4039	40.904	7103
+-90.6475	39.125	8930
+-108.1699	27.6686	4628
+-120.0724	44.8601	6955
+-110.2667	32.7101	8251
+-119.0863	48.4827	6598
+-115.9325	31.1288	7545
+-118.1529	44.9072	7990
+-116.2632	46.3431	7106
+-122.7038	45.4642	7942
+-119.8989	47.6357	6900
+-83.5079	28.6406	8050
+-115.6474	35.0048	7532
+-112.0234	31.2258	7602
+-108.7325	30.9057	7590
+-124.8057	44.7409	6387
+-119.609	45.0835	7491
+-90.6265	36.4747	7336
+-118.3893	32.1504	8001
+-113.0146	48.8885	2947
+-121.2414	44.1196	5986
+-88.3426	35.1998	7006
+-112.6555	32.5563	6746
+-81.5585	28.6739	8677
+-117.0923	31.3486	8109
+-116.4044	47.0539	7029
+-90.4446	34.7819	6070
+-113.4722	34.7429	5346
+-91.2044	39.8903	7910
+-87.8668	39.9232	7088
+-117.0583	44.6728	7269
+-91.041	39.3883	8437
+-119.5735	47.1404	7505
+-91.5019	40.2209	7433
+-116.5071	42.8169	5307
+-116.0769	36.0925	7038
+-114.3457	46.0362	5090
+-120.1984	46.9882	7025
+-111.3127	34.7506	5882
+-122.3504	46.7924	8973
+-110.4523	32.837	8109
+-90.008	36.6785	8035
+-112.9616	32.3778	6499
+-117.2794	32.0817	8862
+-83.0371	27.0808	8609
+-116.389	32.5506	9044
+-86.3085	28.5842	5079
+-80.5992	28.3405	8039
+-121.7289	47.7866	8036
+-116.7035	34.0287	8913
+-119.8472	44.0726	6549
+-118.975	35.1627	7362
+-110.68	33.2977	7578
+-79.7587	27.0996	7102
+-78.3969	25.5793	4994
+-107.3099	33.3634	5672
+-116.2338	33.0361	8900
+-118.8228	35.4062	7345
+-119.5398	43.8921	6570
+-85.5364	35.7319	5589
+-82.6274	26.3673	8214
+-107.60	30.2586	6183
+-116.9441	29.2728	5800
+-117.781	49.9289	5171
+-89.1003	40.1796	7354
+-115.6671	35.033	7536
+-117.9162	33.7689	8725
+-124.2562	46.3318	7961
+-115.6588	38.4596	4503
+-87.2693	33.5372	4885
+-119.5909	48.7624	6119
+-113.1671	30.1298	6023
+-117.5601	33.7273	8991
+-123.9672	48.2597	7764
+-91.2805	40.3818	7417
+-89.4522	36.108	7904
+-93.0869	38.1102	6430
+-114.9837	35.6806	6530
+-123.4139	48.30	8036
+-120.6772	45.3653	6608
+-117.9038	45.8686	8790
+-116.8849	32.5644	9457
+-123.2438	44.5683	6944
+-112.4239	28.154	5122
+-117.0357	35.3174	8222
+-85.958	36.6193	6451
+-82.1611	26.7149	8702
+-116.2628	39.1695	3936
+-80.9994	28.6573	8261
+-126.8315	47.1164	5284
+-122.4884	49.5462	6736
+-116.9802	33.849	9098
+-125.5182	47.1468	6723
+-90.9996	33.8958	4896
+-93.4486	35.8175	4852
+-116.4602	31.1989	7862
+-92.7097	34.905	4581
+-118.5139	29.3706	5539
+-92.0933	42.9692	4517
+-120.3297	32.4467	5979
+-120.5354	30.636	5088
+-88.2506	38.7007	8517
+-111.1692	29.4008	6941
+-123.3393	46.1996	8635
+-115.3382	44.3369	5625
+-113.0701	34.5874	5071
+-81.3647	27.8988	9010
+-89.7847	40.3018	7632
+-117.298	41.3273	4099
+-89.2546	37.3955	9189
+-84.9727	27.3331	6643
+-114.1651	38.1922	3966
+-122.7711	47.9378	8530
+-121.8688	42.9565	5057
+-119.9675	36.0159	5947
+-117.5733	36.8185	6590
+-118.1433	32.1585	8249
+-118.7086	46.9349	8268
+-119.6717	45.0572	7422
+-82.6186	27.3102	9139
+-89.3482	34.0673	5723
+-109.5027	31.0848	8424
+-84.9811	39.5926	5047
+-90.6644	40.4003	7620
+-111.3593	31.6762	8357
+-92.8447	36.743	6001
+-121.7095	43.8719	5963
+-90.7483	38.1668	8683
+-89.7258	36.6883	8278
+-82.4161	30.4681	6819
+-117.0966	37.0423	6359
+-124.7017	45.4195	6997
+-91.0623	38.4115	8607
+-122.9563	46.6232	9224
+-121.5758	48.1169	7679
+-120.3832	35.4829	5833
+-90.8827	35.6011	6496
+-116.7516	35.6619	7778
+-117.9812	37.181	6123
+-113.0201	32.1215	6505
+-125.414	47.001	6844
+-126.27	46.8181	5900
+-109.9968	31.7005	9088
+-114.7568	35.2579	6538
+-119.1271	42.5854	5433
+-113.4832	34.5604	5385
+-115.9709	31.2372	7670
+-82.0177	27.8807	9709
+-92.144	37.657	7191
+-117.748	32.318	8719
+-81.783	24.1049	5731
+-91.3762	44.242	3409
+-118.3139	46.6487	8679
+-112.6019	29.2532	5950
+-92.2621	37.669	7088
+-91.6367	36.9915	7097
+-91.899	37.0309	6954
+-118.2947	47.9689	7281
+-125.845	44.427	5334
+-118.1109	35.7336	7564
+-124.6708	46.7522	7646
+-90.7377	37.4766	8000
+-116.1034	33.2505	8675
+-117.7205	34.4645	8925
+-83.1681	27.0309	8456
+-88.7289	37.668	9773
+-115.7727	35.0304	7637
+-92.2353	38.1608	7330
+-88.4174	36.4466	8391
+-120.452	38.9618	3228
+-124.125	49.5789	6436
+-125.6391	45.2529	6057
+-119.2419	36.4426	6223
+-114.8213	36.9857	5440
+-117.8367	32.4119	8682
+-115.9642	34.6583	8006
+-93.9925	36.7251	4964
+-122.6157	45.4757	7939
+-121.7508	32.8095	4438
+-118.0138	29.8784	6274
+-114.2991	34.997	6167
+-82.4596	26.9765	8925
+-117.3756	47.5216	7474
+-90.0878	41.2601	6700
+-89.7022	38.5099	8646
+-114.6768	31.2621	6666
+-114.395	32.4325	6853
+-120.2037	33.5907	6280
+-84.8415	28.79	6617
+-119.8485	30.1204	5351
+-120.3306	47.2451	6776
+-90.6354	39.579	8490
+-85.9528	35.7423	5989
+-115.5927	34.7223	7602
+-90.7344	33.5802	4724
+-85.0519	28.7439	6410
+-116.3127	32.9058	9017
+-82.8818	27.7597	9046
+-108.7913	36.5812	3807
+-89.507	38.5613	8458
+-117.3407	47.8652	7141
+-115.918	49.2966	5049
+-116.8799	48.0656	6703
+-80.7559	31.0299	5885
+-116.0921	44.6422	6473
+-114.1418	34.9781	6007
+-82.7283	24.929	6612
+-117.5767	34.8598	8676
+-80.9518	27.3174	8462
+-115.16	45.557	5903
+-117.6416	31.0494	7643
+-116.2798	34.6022	8346
+-112.5645	32.8667	6685
+-110.836	31.5965	8929
+-119.7221	45.1392	7428
+-88.9974	34.2235	5942
+-118.5259	45.5136	8588
+-82.3039	26.1164	8016
+-85.5733	39.2933	5792
+-89.0765	37.2076	9194
+-92.6262	38.6021	7002
+-85.7135	34.1026	4548
+-123.3174	48.9227	7409
+-111.6912	30.8897	7821
+-118.8973	45.6735	8469
+-117.1032	37.5234	5836
+-90.3268	38.8358	9314
+-119.7693	46.845	7500
+-118.6468	31.8753	7605
+-120.121	36.0623	5780
+-110.371	31.3486	9216
+-108.6733	31.4015	7664
+-123.2996	47.4872	8885
+-83.6343	31.9118	4905
+-85.5617	27.2011	5961
+-107.3691	30.7595	6140
+-118.219	34.6588	8351
+-89.0748	38.2537	9070
+-93.5364	40.7882	5378
+-114.9497	46.0563	5730
+-84.2282	28.7454	7276
+-84.8722	39.921	4764
+-87.7911	39.6315	7352
+-117.228	30.1152	6726
+-87.3782	41.5175	5021
+-107.9999	32.643	6697
+-87.5863	38.872	7921
+-114.2155	32.7026	6682
+-89.7412	36.6393	8226
+-126.5798	46.2372	5485
+-90.1415	37.0464	8122
+-114.8634	31.7013	7097
+-80.5176	29.8543	6906
+-111.3593	31.4676	8355
+-105.1413	32.3814	3782
+-122.5672	47.4363	8974
+-89.587	36.2041	7933
+-113.4394	34.5228	5342
+-111.2252	29.9582	7465
+-78.3595	27.9388	5618
+-113.8377	31.7802	6076
+-83.7112	40.3989	3364
+-117.6047	44.2434	7167
+-92.1675	37.2596	6919
+-118.9698	34.3193	7669
+-118.0802	36.2882	7025
+-109.8635	28.3741	5959
+-89.164	35.6212	7477
+-124.1336	49.2578	6747
+-121.6922	45.0289	7098
+-123.0949	45.9232	8440
+-120.5117	44.8904	6575
+-89.67	38.1771	8438
+-110.5377	32.1374	8834
+-88.2615	33.7664	5401
+-123.3125	48.1228	8258
+-92.2834	37.6185	7041
+-89.2634	39.6397	7883
+-110.6673	31.0782	8817
+-118.9244	45.1811	8074
+-116.3471	33.0377	9019
+-120.4484	35.8838	5577
+-121.1636	46.6074	7658
+-110.8716	27.4234	4929
+-88.8792	38.6742	8676
+-115.2679	35.4235	6943
+-121.1076	44.8771	6582
+-80.3814	30.245	6459
+-125.1498	45.3401	6556
+-121.3172	45.662	7353
+-118.7824	48.7515	6403
+-122.297	32.238	3772
+-87.1631	39.4127	7153
+-118.0906	36.3407	6968
+-86.9531	38.222	7686
+-109.4396	31.8327	8468
+-124.7236	46.3563	7493
+-90.8392	41.0424	6905
+-109.7758	33.563	7245
+-116.3337	48.8036	5730
+-78.653	27.7133	5955
+-91.2205	37.705	7981
+-117.8045	36.2319	7175
+-94.1122	41.8283	4213
+-115.2701	35.2609	7037
+-87.1255	29.4296	3939
+-120.2557	49.9783	5203
+-93.3834	39.2415	6148
+-86.6614	37.5982	7451
+-113.2965	32.5045	6111
+-116.7626	45.4924	7526
+-113.4936	32.3712	5945
+-89.0088	40.4409	7076
+-93.359	41.1633	5295
+-119.2745	31.5573	6820
+-80.3277	26.257	7230
+-90.9425	37.645	8089
+-108.4007	30.215	6908
+-119.434	36.7944	5794
+-112.7461	32.8978	6497
+-122.0626	47.7664	8334
+-122.7512	46.2378	8789
+-126.4091	46.0951	5634
+-116.8766	33.051	9473
+-90.8668	36.4593	6901
+-118.5231	46.7524	8524
+-94.3632	36.3658	4424
+-89.0081	36.2901	8247
+-88.3074	37.0328	8937
+-86.104	44.1048	2036
+-120.7679	47.8336	7078
+-92.2746	36.6901	6410
+-119.3036	35.7847	6677
+-124.5119	41.8076	3668
+-92.3821	36.1654	5903
+-122.7814	47.8741	8601
+-120.4826	32.1682	5765
+-113.9991	32.5734	6432
+-108.2048	32.18	7079
+-123.7766	46.281	8384
+-81.6259	28.3961	8978
+-115.1899	32.7034	7767
+-122.1211	47.6568	8463
+-126.3195	49.4163	4985
+-119.0508	47.2988	7753
+-116.5896	40.9096	3478
+-121.6337	46.4598	8108
+-116.4945	31.1948	7869
+-111.5463	35.2234	5316
+-93.9992	41.0585	4800
+-84.5204	28.2603	7135
+-122.7544	42.6367	4847
+-121.6172	44.3688	6423
+-118.1395	32.7275	8441
+-115.9491	36.2734	6796
+-115.5017	33.0094	8105
+-116.1809	37.7725	5395
+-113.9988	35.3243	5744
+-116.4524	43.2742	5694
+-114.7741	43.948	4901
+-117.8032	47.2542	7937
+-120.4976	45.6027	6857
+-122.2764	45.9767	8321
+-113.8104	35.9918	5257
+-89.1152	37.0514	9022
+-116.0637	29.6013	6028
+-94.8511	38.0935	4557
+-114.5317	32.8153	7037
+-91.1728	38.4651	8520
+-116.5388	33.5337	8821
+-118.7825	32.7825	7727
+-115.817	36.8777	6152
+-87.7836	38.1288	8595
+-89.4738	38.9082	8429
+-117.6661	32.2219	8729
+-84.1623	27.5195	7580
+-90.2203	36.6873	7848
+-86.0177	30.431	4563
+-118.8137	48.0853	7084
+-111.9396	31.5594	7733
+-106.8604	30.3587	5484
+-120.7276	46.1213	7045
+-119.4254	46.9271	7767
+-115.0297	49.5293	4254
+-89.1132	37.3543	9292
+-115.1518	30.36	6346
+-83.3194	31.8362	5097
+-107.404	28.6553	4986
+-90.7254	38.5936	9019
+-82.4346	26.52	8442
+-118.4471	34.2273	8246
+-111.7115	29.4235	6698
+-115.4408	32.9115	8048
+-85.1498	35.7495	5220
+-117.348	34.8249	8778
+-124.4581	46.3481	7764
+-89.724	34.8944	6524
+-116.8428	35.8202	7641
+-110.6203	35.1834	5561
+-116.3603	46.076	7224
+-84.4795	28.1863	7196
+-117.679	47.2498	7885
+-81.1059	28.5938	8400
+-81.7295	29.3403	8054
+-84.5269	26.4524	6803
+-121.793	45.078	7201
+-108.8057	31.0396	7717
+-117.0803	32.9056	9592
+-82.7827	25.583	7315
+-116.4853	46.8893	7181
+-88.7809	38.0087	9430
+-124.2652	46.3783	7973
+-90.7529	33.6708	4807
+-110.9151	31.2843	8765
+-89.0072	36.1805	8126
+-108.6872	28.7108	5887
+-117.3328	33.4891	8831
+-89.3456	39.7134	7898
+-89.5811	37.9548	8845
+-86.2627	42.1979	4003
+-115.6101	40.6969	2876
+-123.3909	45.7793	8195
+-116.3789	35.0178	8171
+-88.2518	39.7133	7445
+-80.6059	29.2412	7490
+-83.0891	26.3283	7939
+-110.1435	28.7933	6444
+-86.9003	34.6536	5837
+-121.166	35.1449	5143
+-92.7846	40.0649	6474
+-91.8515	40.4617	6994
+-111.5773	29.65	6983
+-115.041	32.0086	7424
+-110.2672	32.3518	8638
+-110.6298	31.6429	9146
+-90.1923	36.7051	7885
+-115.5156	31.2848	7399
+-91.5772	38.7911	8137
+-87.8393	39.9711	7026
+-110.9596	31.4967	8789
+-117.9434	32.5156	8613
+-119.9346	31.4258	6097
+-87.3498	38.8016	7777
+-85.3175	36.5276	5738
+-95.9009	37.4544	3316
+-107.0931	29.3353	5201
+-82.5319	27.3237	9218
+-116.7116	48.8068	5946
+-91.3791	41.8851	5879
+-113.4041	31.4557	6144
+-118.8302	32.5156	7647
+-116.2894	30.145	6679
+-87.6235	40.0589	6838
+-108.9613	33.0731	7279
+-117.4694	46.4216	8334
+-82.5516	27.4919	9326
+-125.2961	47.9953	6741
+-114.4051	33.3721	6829
+-117.2696	31.2423	7965
+-86.9419	36.7693	7533
+-113.021	27.0894	3800
+-82.4248	30.1618	7163
+-119.3327	29.8267	5500
+-108.5584	32.3336	7386
+-115.313	34.0085	7402
+-110.1406	32.9257	8004
+-126.3944	47.7345	5676
+-121.6174	48.1246	7708
+-82.3814	28.9968	8473
+-86.0484	38.1862	6709
+-118.6039	35.0546	7766
+-117.0614	33.5126	8825
+-111.1559	32.7607	7917
+-120.9268	44.1589	5787
+-83.8568	27.1861	7835
+-119.0262	47.3995	7675
+-118.3806	32.5434	8147
+-116.5737	48.2939	6315
+-90.176	40.2604	7781
+-119.2779	42.927	5739
+-119.2464	30.0812	5781
+-79.7917	26.2334	6726
+-117.8914	34.8694	8485
+-93.7608	37.7059	5614
+-118.1234	35.3652	7901
+-91.7164	40.3582	7173
+-110.0195	29.0148	6670
+-116.9905	34.8849	8664
+-86.9262	35.9181	6966
+-112.5366	30.2214	6667
+-117.6951	33.2649	8799
+-116.1058	32.4291	8700
+-90.771	39.258	8736
+-110.3659	27.2568	4786
+-89.3659	37.6271	9141
+-124.1784	44.0884	6146
+-88.5931	41.4594	5924
+-116.3776	46.8243	7101
+-81.9445	30.7931	6462
+-81.0286	29.2221	7825
+-120.4204	34.3105	6092
+-118.645	36.2389	6793
+-118.5349	33.0712	7981
+-124.0421	44.7275	6845
+-88.2057	38.7919	8403
+-115.8201	35.1302	7622
+-122.2641	44.3149	6610
+-79.9286	27.6432	7394
+-105.8789	29.9426	4330
+-89.196	37.3101	9189
+-89.3482	37.0964	8901
+-80.8452	27.3978	8377
+-123.8601	45.0011	7203
+-112.9596	30.5391	6411
+-89.0597	36.5653	8537
+-88.8543	35.3731	7239
+-119.1317	32.9514	7333
+-121.8073	47.8739	8046
+-87.9932	39.2614	7825
+-80.0099	28.3246	7409
+-116.4812	35.5901	7733
+-117.1517	31.3739	8130
+-79.6112	28.4626	6932
+-118.2033	49.2387	5935
+-93.7317	37.2911	5488
+-116.2797	35.6514	7563
+-92.3629	35.789	5585
+-117.7149	46.8961	8225
+-120.9449	45.8338	7124
+-108.9303	32.9197	7374
+-117.4534	33.5485	8868
+-124.1281	44.876	6942
+-114.0349	29.6446	4946
+-119.1246	47.7519	7297
+-125.2776	43.0624	4584
+-116.2574	34.776	8233
+-118.2879	34.0608	8421
+-110.0528	29.9944	7725
+-115.9137	34.631	7965
+-92.8476	33.7467	3413
+-108.8622	32.0259	7809
+-116.6653	36.5435	6828
+-112.2732	30.5655	7100
+-87.1303	38.4223	7792
+-86.3719	41.0174	5191
+-120.4659	31.129	5420
+-115.9216	34.8483	7876
+-118.2097	31.2974	7563
+-111.1619	32.6579	8003
+-87.674	42.0816	4796
+-119.6767	31.3147	6297
+-92.0254	40.0636	7158
+-116.7848	32.2909	9132
+-80.0485	28.4765	7401
+-83.9118	35.4171	3809
+-125.6916	43.585	4789
+-117.8608	37.1967	6134
+-117.0331	34.8131	8754
+-89.7326	39.2136	8563
+-108.4057	34.4422	5738
+-91.3439	39.24	8262
+-88.5225	36.8749	8886
+-121.4834	44.1462	6139
+-88.7117	35.5113	7396
+-79.3993	30.2608	5706
+-92.006	37.7044	7344
+-76.4882	24.0547	2249
+-119.836	45.5609	7520
+-118.6755	44.8571	7880
+-88.5875	36.474	8462
+-88.9873	38.5999	8738
+-119.8075	46.4516	7604
+-84.4848	28.859	6959
+-111.3009	32.1473	8260
+-121.7836	48.1498	7819
+-85.7067	39.9869	5504
+-80.537	30.5371	6275
+-118.9915	45.7251	8412
+-112.5325	31.042	7020
+-118.2949	47.1208	8179
+-110.019	32.2921	8633
+-119.963	30.0435	5199
+-80.7986	29.3667	7535
+-110.1193	31.3066	9095
+-90.025	37.4522	8382
+-87.9313	38.3085	8632
+-116.4567	44.7129	6831
+-115.6706	46.3001	6485
+-122.7176	46.3066	8854
+-87.8903	35.2793	6961
+-84.5084	30.5545	5749
+-81.3487	26.0287	7735
+-88.988	37.5001	9505
+-117.2756	46.6819	8028
+-117.0568	34.4698	9105
+-117.9931	46.8469	8412
+-85.3036	39.5713	5378
+-118.0348	33.2657	8460
+-89.5282	40.571	7256
+-81.1866	25.9143	7539
+-90.2109	38.8924	9183
+-123.2912	44.9983	7401
+-86.9287	39.0849	7209
+-93.1964	38.6033	6388
+-116.9654	36.6093	6817
+-83.6165	26.3216	7550
+-110.8192	32.2511	8579
+-120.7586	48.4058	6772
+-94.8157	35.3653	3413
+-114.0659	30.7782	5798
+-116.2343	36.2132	7005
+-114.9659	35.4582	6642
+-114.0723	44.7894	4590
+-86.9953	38.5589	7588
+-115.6193	44.7669	6106
+-82.9303	25.5528	7231
+-115.478	32.9078	8089
+-85.5806	36.5153	6013
+-82.9448	25.6117	7287
+-80.2374	28.5454	7573
+-116.9248	33.6855	8923
+-117.8053	31.6671	8166
+-82.4335	24.1974	5840
+-120.4991	33.5339	5952
+-84.5592	30.198	6007
+-124.409	48.9917	6832
+-81.6616	24.3586	6000
+-110.7809	32.0587	8766
+-118.9362	42.7111	5605
+-87.7221	37.9659	8595
+-112.7945	30.9261	6714
+-88.9511	36.0185	7954
+-87.0401	36.9577	7720
+-118.8766	33.8359	7752
+-89.7135	40.1601	7742
+-118.1565	45.371	8477
+-89.4675	37.4549	8993
+-87.7987	38.7928	8148
+-87.6773	26.7109	3508
+-90.9998	37.1285	7555
+-116.3053	33.6464	8569
+-114.7396	32.7115	7266
+-81.8015	33.0434	3911
+-88.8564	40.6655	6784
+-113.9688	47.8675	4323
+-116.7419	33.1712	9285
+-91.7164	40.0071	7449
+-119.1186	45.7178	8288
+-109.7178	31.4238	8785
+-93.734	37.3884	5526
+-122.1258	47.8197	8341
+-116.7519	35.0706	8371
+-119.3213	45.8905	8139
+-123.8083	40.0956	1992
+-80.955	26.9904	8296
+-117.0153	36.5576	6879
+-120.7394	36.1726	5145
+-123.4112	48.4651	7867
+-90.2021	36.7159	7883
+-120.29	45.2561	6955
+-115.0282	49.0111	4636
+-125.0588	44.0861	5652
+-124.7556	45.4286	6958
+-116.6838	47.3238	7128
+-90.4197	41.4731	6489
+-120.6863	47.1753	7163
+-88.0164	36.4941	8253
+-118.1714	33.2377	8149
+-118.2247	33.2451	8113
+-83.4418	28.7256	8057
+-93.3084	41.5477	5062
+-116.7249	32.1658	8978
+-114.2589	35.4885	5939
+-109.2664	33.4196	7173
+-90.1867	37.1316	8112
+-112.4931	31.5407	7133
+-90.6322	38.5549	9083
+-115.1556	34.6885	7157
+-109.6978	31.8691	8719
+-90.7586	42.8914	4942
+-119.0228	35.3406	7213
+-81.8439	28.4286	9075
+-89.807	37.8134	8636
+-119.236	37.2969	5473
+-91.4736	40.786	6935
+-118.1446	38.2309	4967
+-88.5858	40.3901	6802
+-80.7736	28.4341	8179
+-87.4675	39.6898	7116
+-118.2644	30.9755	7240
+-87.364	35.4109	6834
+-115.6058	44.7342	6077
+-118.2039	30.223	6548
+-84.7055	28.1851	6944
+-126.9093	49.3114	4503
+-121.7947	46.7211	8362
+-112.2059	35.1255	5132
+-112.6516	30.5455	6722
+-117.5533	32.7103	9088
+-121.4035	32.3879	4781
+-120.2002	48.8971	5960
+-88.2302	36.0691	7924
+-119.2213	44.7103	7485
+-81.7429	27.8572	9439
+-123.0534	45.2951	7762
+-81.2177	29.1009	8062
+-89.2255	37.2025	9083
+-91.2296	40.0019	7796
+-119.1713	49.8546	5174
+-118.8292	40.5515	3356
+-118.6614	46.6107	8588
+-116.1618	36.122	7056
+-83.0472	28.4176	8623
+-118.857	44.6089	7569
+-112.8792	44.5588	3309
+-110.073	33.0145	7897
+-125.2342	45.045	6285
+-116.5224	36.1342	7209
+-118.9979	45.2551	8089
+-122.323	48.486	7821
+-89.0135	36.3396	8301
+-80.701	30.8879	6007
+-108.6756	29.0364	6181
+-91.2899	35.0172	5709
+-119.714	32.8308	6688
+-117.3264	45.8758	8220
+-118.8406	48.9363	6199
+-91.9687	38.2961	7647
+-120.5886	46.0875	6819
+-122.623	47.9127	8523
+-115.5399	30.9022	7090
+-117.9582	44.7492	7789
+-90.2582	38.7683	9288
+-109.3466	26.857	4242
+-115.9147	30.8345	7250
+-83.142	30.9841	6078
+-116.4254	31.6102	8278
+-123.8313	49.2517	6895
+-84.3321	27.324	7355
+-90.3884	39.6174	8489
+-119.8972	45.6937	7498
+-120.7724	45.0129	6384
+-118.0039	36.9132	6401
+-120.0615	45.9062	7366
+-89.5773	41.7209	6106
+-118.14	35.0327	8170
+-117.5586	46.9746	8058
+-110.1128	27.3978	4932
+-120.7071	43.1977	5256
+-87.697	37.3814	8573
+-90.3906	38.5513	9210
+-120.1553	31.3035	5816
+-119.3091	33.6626	7251
+-81.8149	24.7771	6491
+-88.6423	35.914	7843
+-81.4942	28.4891	8801
+-116.7201	45.335	7417
+-110.9718	31.5466	8781
+-88.879	37.775	9639
+-78.0312	29.5892	4814
+-80.1863	30.6909	5918
+-116.4432	44.5773	6731
+-117.6792	35.1221	8369
+-123.7521	47.2302	8626
+-89.6902	39.3892	8408
+-89.689	35.8868	7565
+-89.8816	41.2801	6644
+-115.0064	34.6767	7002
+-124.1196	45.4285	7450
+-87.9561	36.0494	7785
+-118.7016	33.7349	7913
+-81.7778	32.6403	4364
+-82.0611	24.7066	6430
+-90.9653	37.8465	8266
+-123.8094	47.6603	8350
+-114.8717	45.9159	5642
+-118.0761	34.1585	8654
+-116.4249	31.0661	7709
+-115.0122	33.1079	7549
+-118.4747	27.9655	4086
+-81.1053	27.9819	8704
+-111.0545	31.3673	8658
+-122.7431	47.7696	8707
+-79.6325	27.2373	7000
+-120.9474	43.422	5260
+-116.6933	33.2744	9158
+-115.8495	44.7856	6331
+-88.4884	38.9598	8330
+-115.6202	31.3824	7559
+-92.735	34.2926	3992
+-85.5087	26.8364	5931
+-83.8874	26.3899	7370
+-78.8524	25.9506	5650
+-123.7035	46.2926	8454
+-91.7797	36.4472	6522
+-108.2813	32.8359	6869
+-86.7175	34.6336	5707
+-92.1606	35.8525	5761
+-120.0488	32.7131	6313
+-78.0761	25.9415	4859
+-117.2694	45.1849	7814
+-88.0912	39.4161	7709
+-110.4354	32.6554	8307
+-120.8937	46.5945	7364
+-115.3153	37.396	5391
+-117.8246	31.0327	7545
+-113.6735	30.9069	5781
+-117.7329	34.5322	8868
+-119.7348	36.9991	5412
+-89.4482	38.4991	8381
+-115.8918	29.3627	5718
+-118.6588	47.6662	7555
+-115.6764	47.5352	6109
+-84.0167	29.1126	7273
+-115.4452	31.4408	7465
+-88.425	39.1165	8142
+-119.3072	47.8336	7128
+-119.671	49.5789	5294
+-83.6301	30.7492	6117
+-113.9055	31.4261	6003
+-82.7487	25.6841	7436
+-88.934	41.7333	5849
+-90.9556	36.564	6989
+-79.5375	27.4326	6931
+-124.5893	46.6158	7711
+-94.3066	37.648	5032
+-81.8854	26.4531	8380
+-119.9099	34.702	6588
+-119.865	34.7192	6632
+-117.0573	35.9081	7588
+-123.1566	46.4455	8968
+-114.1423	37.4902	4536
+-87.1485	39.941	6681
+-88.868	37.1073	9178
+-85.2074	31.8176	4139
+-117.8223	32.623	8774
+-118.7354	31.0856	6992
+-119.3782	34.3783	7219
+-117.576	35.8943	7588
+-81.6452	26.7133	8579
+-115.664	35.9888	6863
+-111.7134	34.5949	5884
+-91.5756	38.3622	8073
+-115.4709	34.1899	7578
+-83.2723	28.0209	8572
+-117.4258	44.6962	7518
+-114.6267	47.4083	5147
+-91.2578	39.6277	8089
+-116.5825	47.7228	6771
+-119.3088	46.896	7886
+-81.5392	32.3894	4619
+-89.7586	38.5182	8706
+-113.8007	35.6116	5428
+-84.4126	31.0474	5373
+-116.8668	31.8306	8647
+-90.3607	38.6399	9303
+-78.3695	27.5229	5625
+-124.7421	48.681	6842
+-108.9949	27.7289	5053
+-90.5432	41.575	6375
+-116.0172	44.3711	6242
+-118.3395	35.10	7963
+-124.2548	49.8446	6111
+-93.0569	38.5253	6533
+-118.9125	34.7149	7634
+-116.0152	46.1891	6857
+-117.5465	45.1004	7945
+-89.7454	40.9608	6944
+-111.5078	29.4396	6825
+-118.7313	32.0377	7601
+-82.5636	27.5044	9322
+-117.0285	33.6723	8972
+-88.7375	38.5874	8780
+-85.3101	37.7484	5934
+-87.4817	40.5868	6233
+-124.1755	46.6286	8157
+-118.9826	46.5834	8360
+-117.5633	31.4692	8109
+-120.5239	47.0713	6993
+-92.9793	42.0627	4888
+-115.1988	32.5259	7755
+-108.1549	32.5148	6907
+-118.1668	31.7929	7993
+-117.7116	46.7623	8334
+-83.3313	27.3094	8442
+-81.6992	26.9521	8848
+-117.4457	34.3145	9260
+-116.3264	34.3778	8478
+-114.8044	33.5384	7210
+-115.003	32.7908	7562
+-118.7818	46.3801	8655
+-111.2384	28.8976	6403
+-87.4945	38.682	7988
+-107.1305	32.1689	5946
+-82.2903	27.5078	9550
+-113.3556	34.4434	5258
+-93.024	35.2902	4733
+-88.8876	37.2494	9328
+-92.1542	37.0556	6783
+-113.9373	31.0769	5856
+-117.6959	32.6192	8910
+-119.9094	33.7357	6623
+-83.6182	27.739	8212
+-120.375	31.7904	5783
+-82.7329	26.4137	8218
+-112.3887	30.556	6984
+-89.9475	40.4677	7514
+-117.6753	30.5213	7073
+-120.5744	31.5423	5485
+-118.7994	28.264	4279
+-124.6746	49.2197	6455
+-124.3072	48.957	6928
+-116.0228	32.7898	8700
+-117.1047	34.6646	8932
+-118.8247	31.274	7059
+-120.7335	46.3694	7137
+-117.7444	46.0446	8687
+-89.2998	38.0631	9069
+-119.3462	36.1492	6379
+-112.6786	33.8167	5965
+-109.8901	33.708	7122
+-90.5751	41.6343	6309
+-113.9256	34.3888	5883
+-116.8617	33.576	8786
+-121.211	33.1331	5099
+-119.9968	33.602	6504
+-88.6688	37.9604	9467
+-111.1859	30.8762	8273
+-113.7492	35.1087	5556
+-81.7277	26.4575	8342
+-117.6077	34.9868	8535
+-118.4742	32.225	7946
+-91.4577	37.3015	7481
+-109.3179	30.9551	8180
+-114.1127	33.945	6330
+-119.0678	46.1573	8428
+-90.2395	38.0107	8613
+-123.5569	46.978	8884
+-91.046	39.3696	8446
+-116.6652	32.6783	9383
+-83.0637	30.0646	7088
+-121.2234	46.4667	7684
+-115.3186	33.2325	7857
+-118.7028	33.5206	7835
+-123.9187	49.035	7073
+-85.6543	39.3769	5828
+-119.8134	46.2218	7635
+-109.3228	28.2273	5676
+-106.7613	32.7838	5391
+-117.8478	47.4683	7740
+-80.8709	25.3026	6760
+-114.2888	33.1594	6742
+-121.349	45.7499	7440
+-117.3609	33.5531	8897
+-127.6835	48.3208	4144
+-117.2016	44.3318	7065
+-117.6447	33.8896	9047
+-117.6492	32.0076	8572
+-107.7684	26.7949	3588
+-88.8811	37.8366	9584
+-88.8191	39.6799	7463
+-86.8726	37.0837	7591
+-118.5744	45.2842	8343
+-118.1027	47.9841	7256
+-116.9041	33.2345	9281
+-114.6667	26.4974	2234
+-92.5256	36.38	5981
+-88.0128	38.2578	8739
+-90.9949	35.3563	6213
+-78.8736	28.864	6001
+-88.4764	36.3295	8280
+-116.0172	33.4585	8475
+-117.0422	31.9027	8730
+-115.29	31.2229	7173
+-91.5911	41.7955	5893
+-119.091	32.0031	7216
+-117.6405	34.0158	9110
+-119.455	45.8086	7982
+-120.406	47.0926	6779
+-92.98	42.0744	4878
+-85.6491	38.8349	6078
+-83.2191	30.2151	6862
+-83.9519	38.0463	4394
+-81.6426	31.1753	5996
+-79.4383	27.5615	6835
+-76.3248	30.2485	2746
+-125.5329	48.0872	6463
+-124.2739	48.3014	7502
+-89.4639	39.6547	8034
+-123.845	47.8693	8170
+-90.3821	40.8022	7212
+-90.1066	34.1444	5586
+-88.2454	36.7349	8617
+-89.5136	35.96	7725
+-89.1317	40.2305	7335
+-76.8592	29.4337	3634
+-91.3375	34.3365	5093
+-83.3305	26.874	8203
+-85.1106	36.7452	5583
+-117.4675	34.7944	8784
+-89.4869	41.2069	6605
+-79.3578	26.2319	6304
+-80.5537	27.122	7962
+-82.1603	28.2292	9368
+-87.643	37.8795	8531
+-122.1031	34.8874	4198
+-118.496	36.2953	6825
+-81.07	26.139	7693
+-81.1379	25.9338	7533
+-114.185	32.2514	6587
+-109.3954	30.9733	8261
+-83.3145	25.0922	6585
+-88.3835	38.0698	9190
+-115.3055	34.2817	7393
+-87.5716	35.705	7237
+-88.4024	36.3332	8264
+-82.0371	27.5092	9582
+-118.0448	45.4776	8555
+-119.2339	32.9244	7221
+-116.8048	30.7358	7425
+-117.2095	33.8523	9225
+-117.822	30.1354	6614
+-87.3579	38.7991	7786
+-115.2498	33.1375	7805
+-111.7692	31.8039	7900
+-83.0661	30.5659	6554
+-121.0344	47.2741	7529
+-91.6623	37.2193	7274
+-118.3514	45.5833	8709
+-91.1028	42.2623	5560
+-87.4702	38.8339	7856
+-122.1585	34.2635	4200
+-115.7048	33.2274	8273
+-117.4557	32.5055	9106
+-82.5619	27.8016	9406
+-118.1063	46.3341	8950
+-80.503	26.0881	7245
+-90.4709	41.6155	6334
+-86.6003	38.1952	7312
+-122.6435	45.4014	7864
+-108.7615	30.83	7585
+-119.3963	34.2682	7210
+-79.8249	25.5018	6234
+-123.9604	49.4765	6613
+-89.878	37.776	8242
+-108.9519	31.7649	7964
+-92.7548	41.7952	5264
+-89.3606	39.6273	7972
+-115.4293	43.4578	5141
+-116.2977	32.5238	8938
+-82.9384	27.2765	8826
+-83.3639	27.4352	8451
+-88.5466	36.0391	7972
+-116.9668	32.7123	9637
+-111.4149	29.7258	7145
+-83.2904	27.5168	8553
+-79.3765	29.657	6111
+-89.6622	36.142	7831
+-108.1881	34.3918	5645
+-116.7507	48.973	5812
+-118.9751	38.1916	4735
+-111.5883	30.9621	7956
+-110.4383	31.0677	8903
+-110.177	30.7412	8546
+-116.9115	35.1165	8398
+-118.827	45.9324	8658
+-118.8822	32.809	7616
+-113.8177	33.813	6069
+-82.2495	29.1955	8271
+-82.9441	32.0391	4972
+-115.4538	33.5089	7897
+-115.5021	32.728	8116
+-123.3842	47.4064	8888
+-112.3266	31.5817	7314
+-127.4874	43.3636	3198
+-80.5562	27.1732	7986
+-84.2386	24.16	5168
+-88.8522	41.3249	6195
+-117.6841	32.82	8952
+-90.3095	41.4545	6508
+-111.8485	29.2491	6458
+-89.2786	37.4849	9205
+-92.1345	37.9968	7370
+-117.2439	35.0111	8580
+-90.5859	34.7109	5920
+-122.8082	49.1296	7228
+-116.9958	46.7251	7745
+-84.3967	29.0111	6970
+-88.5906	36.888	8920
+-82.5304	28.9562	8474
+-117.7017	35.0038	8476
+-90.5236	36.2179	7259
+-119.9702	46.9735	7249
+-114.6625	34.5583	6660
+-91.9734	34.5854	4824
+-90.0847	41.182	6783
+-110.2135	31.9567	9049
+-108.485	35.259	5016
+-120.7929	43.2103	5207
+-89.465	41.974	5811
+-87.8464	38.2176	8611
+-125.1436	46.3938	7062
+-121.4014	43.7587	5716
+-125.3826	48.5573	6367
+-121.1174	30.8252	4618
+-122.2221	47.1889	8822
+-114.9659	34.8008	6925
+-107.497	35.4906	4242
+-118.7994	46.2175	8700
+-111.3399	31.2538	8326
+-123.9105	48.9711	7140
+-123.3302	47.4006	8935
+-113.4415	34.00	5605
+-80.2013	27.9571	7696
+-88.5696	36.9451	8976
+-115.3801	36.0862	6576
+-117.8428	34.1185	8909
+-109.5261	28.7945	6328
+-91.0289	41.3134	6575
+-121.0969	44.5407	6285
+-117.1214	48.3905	6540
+-117.7475	33.7548	8870
+-123.0905	48.7445	7642
+-119.1073	31.3926	6885
+-91.4566	36.9121	7130
+-120.2398	47.2234	6871
+-123.4543	45.4298	7811
+-89.9554	38.5829	8929
+-90.356	38.9291	9229
+-117.6618	30.2564	6794
+-120.7359	36.6107	4888
+-84.2361	28.3614	7420
+-117.725	32.6699	8891
+-122.1238	45.8074	8074
+-87.8382	36.7192	8327
+-90.2017	40.4955	7533
+-89.9506	39.2778	8689
+-118.215	48.6233	6587
+-124.1988	47.4193	8095
+-89.9612	38.6667	8961
+-91.4983	38.6933	8221
+-90.8897	38.9363	8843
+-119.6822	46.3238	7760
+-108.2466	30.9366	7107
+-81.3191	26.3526	8046
+-120.7667	35.6989	5355
+-85.9395	25.6251	4951
+-89.5286	37.2923	8862
+-123.0156	47.0958	9416
+-91.9811	41.2803	6199
+-121.084	46.9047	7610
+-125.2143	42.813	4382
+-122.031	44.8088	7050
+-120.191	46.4993	7196
+-123.9062	48.6952	7409
+-120.029	43.7302	6143
+-116.5784	34.668	8587
+-118.1435	44.4651	7523
+-87.4348	39.9082	6888
+-119.5398	45.715	7869
+-122.6936	46.9224	9374
+-115.4071	34.4415	7482
+-81.1691	27.2461	8653
+-81.0736	28.6996	8295
+-125.7249	47.9367	6325
+-123.3434	49.1351	7175
+-85.352	29.272	5872
+-118.2146	48.9523	6239
+-112.3816	33.5193	6420
+-119.0931	31.7623	7105
+-80.7565	28.7893	7952
+-80.4799	28.5862	7805
+-81.9065	29.6738	7720
+-110.2128	33.758	7114
+-90.571	37.3662	7919
+-87.164	35.7558	7016
+-115.3685	31.3185	7310
+-80.7788	28.0625	8324
+-90.7582	38.9391	8972
+-118.5522	34.2355	8131
+-122.8789	47.6405	8865
+-90.399	39.0188	9134
+-120.3808	47.6221	6516
+-116.4736	41.9817	4496
+-119.0917	33.9745	7540
+-89.8024	37.4435	8626
+-88.4011	38.4463	8848
+-83.6561	27.7979	8169
+-122.3216	45.4972	7871
+-115.8022	34.6605	7840
+-86.7856	39.1638	7027
+-110.4686	32.40	8577
+-88.9409	39.7696	7520
+-116.6564	31.9555	8732
+-90.0439	37.9645	8502
+-116.6253	30.8838	7564
+-82.5503	28.5254	8913
+-116.3247	35.1445	8030
+-118.6147	35.158	7691
+-117.6048	30.0996	6640
+-121.2218	45.5679	7206
+-121.6198	44.1117	6169
+-93.2663	36.0569	5172
+-111.4173	35.1975	5385
+-113.451	30.5705	5922
+-123.937	49.6821	6413
+-121.6464	33.4667	4705
+-109.9587	31.4379	9038
+-90.4518	39.7377	8357
+-82.8401	26.8089	8546
+-80.8139	27.3392	8323
+-110.7619	31.4079	8972
+-116.1781	48.2944	6040
+-77.9122	30.4088	4258
+-114.995	31.7852	7271
+-113.5512	35.6376	5165
+-79.4361	28.5375	6719
+-116.6258	32.2689	9033
+-110.399	30.354	8140
+-124.2431	43.7231	5749
+-123.0554	46.2701	8822
+-109.056	31.4923	8086
+-88.365	36.0848	7984
+-83.0189	27.8277	8888
+-89.9167	39.0767	8810
+-123.7309	47.7142	8378
+-87.5465	37.1038	8307
+-116.6593	34.1428	8875
+-114.3413	33.1481	6801
+-91.1815	38.2416	8404
+-91.9441	37.4738	7251
+-109.0233	30.448	7595
+-86.7416	42.1693	4273
+-111.6759	31.5533	8019
+-119.3372	48.3762	6604
+-109.4392	30.4924	7945
+-89.6338	39.1055	8530
+-92.6614	39.7643	6736
+-78.1036	24.8461	4262
+-91.8593	39.6243	7575
+-117.6053	34.9754	8548
+-116.7091	33.4045	9037
+-112.145	31.0712	7434
+-123.6821	44.6221	6891
+-116.359	34.8862	8252
+-81.3626	24.3213	5898
+-117.0611	31.4796	8258
+-116.3888	29.4323	5923
+-115.1809	32.5367	7737
+-117.4011	34.661	8944
+-116.7455	29.7811	6358
+-121.9147	47.5291	8360
+-115.8625	37.0076	6048
+-88.1596	38.9882	8182
+-81.8628	25.9409	7804
+-115.2568	32.5175	7817
+-116.546	42.4449	4974
+-112.3986	28.2169	5195
+-88.8766	39.1217	8176
+-81.5317	28.028	9150
+-80.6552	27.3684	8161
+-92.9685	41.8213	5097
+-89.6471	37.7461	8823
+-112.1291	32.1344	7438
+-126.5249	45.4053	5270
+-116.5755	33.9292	8752
+-119.1643	30.9049	6504
+-122.5672	44.6282	7011
+-90.0862	39.5937	8460
+-110.9021	29.1338	6749
+-124.2777	47.0593	8089
+-117.729	45.2601	8195
+-91.651	36.8709	6981
+-123.9545	46.926	8447
+-120.6716	46.7874	7150
+-111.1649	31.4701	8564
+-91.8356	36.6458	6669
+-86.1917	29.5439	4880
+-87.1279	32.7878	4038
+-120.7484	42.8053	4903
+-121.2499	44.5043	6350
+-113.8073	33.3534	6178
+-121.2306	48.2698	7279
+-81.1676	26.6307	8206
+-111.1583	28.5509	6069
+-90.0647	40.3211	7696
+-117.2362	46.6605	8003
+-89.1232	37.7661	9399
+-116.4244	35.0158	8207
+-109.8489	33.5912	7236
+-122.1257	48.8763	7342
+-123.7862	49.0132	7156
+-121.2582	48.384	7223
+-114.7023	34.2851	6736
+-111.0288	30.8897	8409
+-90.3534	35.5176	6817
+-109.883	32.0507	8770
+-82.6542	29.4441	7905
+-80.006	26.2072	6908
+-92.5211	36.795	6302
+-90.4961	40.7816	7231
+-122.8167	48.8311	7556
+-88.444	38.1034	9205
+-88.7507	35.8592	7787
+-114.6878	32.8292	7211
+-110.3739	32.0621	8953
+-87.7858	36.7412	8302
+-86.295	26.9072	5085
+-114.8459	31.4225	6922
+-125.4812	45.1405	6132
+-83.2882	28.2622	8471
+-88.7278	36.7501	8786
+-110.0121	29.0736	6732
+-116.636	36.5309	6834
+-85.7484	35.9453	5915
+-112.7167	29.7762	6233
+-123.8057	49.8864	6248
+-118.0832	37.4508	5811
+-119.6226	44.6331	7157
+-84.0147	29.4549	7033
+-117.0881	31.0827	7814
+-90.0301	36.924	8170
+-110.9443	34.8601	5862
+-126.3309	45.2542	5394
+-83.6975	38.8839	3963
+-121.5433	48.5693	7299
+-89.7377	40.1164	7795
+-107.7836	30.8868	6610
+-90.8201	40.6337	7340
+-116.5521	33.2649	9072
+-118.1184	31.5201	7819
+-127.1484	47.3272	4922
+-107.8358	31.6355	6767
+-90.9577	36.8744	7310
+-118.3588	34.6395	8225
+-116.4987	45.731	7331
+-116.6397	33.2651	9134
+-87.0878	38.6235	7646
+-117.0497	43.2655	5987
+-109.1895	29.2671	6675
+-118.6063	31.6709	7522
+-108.4407	32.7051	7090
+-126.3337	47.5955	5771
+-106.1934	30.5246	4844
+-77.9077	27.4578	5099
+-117.4761	34.4914	9085
+-91.7119	37.1017	7142
+-80.9626	26.7784	8159
+-110.9885	28.7615	6335
+-122.3698	48.1517	8180
+-115.5692	34.1649	7686
+-111.1354	27.8396	5325
+-86.1652	27.1075	5270
+-118.6675	32.7818	7855
+-80.3884	29.5048	7106
+-91.0974	36.0072	6369
+-120.732	33.8801	5748
+-86.6931	38.1927	7414
+-114.3115	36.393	5480
+-117.9562	33.4344	8467
+-124.1764	45.6861	7620
+-121.8574	48.216	7818
+-90.0234	39.8244	8203
+-107.9926	31.2196	6907
+-115.6428	34.9164	7571
+-118.9806	33.9054	7652
+-121.2893	46.0757	7584
+-81.4422	30.6728	6513
+-124.2105	49.7702	6206
+-113.8312	34.3355	5784
+-113.7347	46.7745	4390
+-118.4565	49.1949	5978
+-93.0137	39.648	6429
+-81.7651	28.2276	9225
+-114.4508	29.8994	5456
+-78.6557	28.9164	5748
+-110.1691	29.3504	7048
+-117.819	45.5507	8499
+-107.5338	29.8311	5895
+-121.053	32.8258	5168
+-81.4004	27.4374	8983
+-113.3696	32.3408	6083
+-90.938	33.2965	4338
+-118.3432	33.9371	8344
+-82.2185	30.1211	7227
+-83.4632	27.3923	8329
+-115.9583	43.0534	5202
+-88.3353	39.0954	8139
+-109.6803	34.8713	5842
+-108.5541	32.7816	7149
+-108.0246	32.8931	6598
+-116.8781	36.3281	7107
+-108.5883	30.5702	7287
+-122.5237	48.2681	8118
+-118.0252	31.9487	8226
+-121.5983	47.2196	8149
+-124.7837	48.0653	7210
+-119.1917	45.9495	8285
+-114.4555	35.7399	6006
+-81.26	25.8821	7543
+-117.958	45.8174	8804
+-111.7026	33.4687	6949
+-88.2276	36.4433	8315
+-88.2872	36.4747	8374
+-89.5733	39.1447	8453
+-119.8238	47.6505	6946
+-118.9301	32.161	7444
+-122.1483	49.0267	7197
+-115.3926	33.6777	7752
+-114.9335	33.9299	7167
+-124.3284	48.3277	7439
+-91.7238	42.7417	4886
+-115.5928	33.5799	8000
+-121.4425	47.7929	7765
+-81.1718	26.0548	7671
+-112.9396	28.6688	5237
+-119.0764	35.0723	7314
+-114.8615	36.5395	5827
+-118.8992	35.3763	7300
+-84.2589	37.9575	4745
+-114.1053	30.7272	5801
+-81.8259	25.503	7308
+-120.6793	32.7186	5508
+-117.4215	46.129	8347
+-126.2005	46.0696	5849
+-82.0342	27.2092	9252
+-81.3199	28.0762	8908
+-83.9427	27.3496	7792
+-88.4489	37.2074	9189
+-117.1738	31.9202	8727
+-117.2091	34.5337	9097
+-118.9177	32.9269	7573
+-90.5139	40.1494	7909
+-90.2652	37.4457	8013
+-109.2303	30.6328	7896
+-118.9673	32.8914	7520
+-116.1098	28.6462	5004
+-89.1086	39.9003	7574
+-87.8885	36.8736	8487
+-117.7287	34.0626	9028
+-123.5348	46.6869	8844
+-111.7195	30.0177	7208
+-114.7606	36.0284	6111
+-117.2963	34.9813	8612
+-83.0393	27.3328	8756
+-91.4329	41.9298	5815
+-123.9727	44.8392	6989
+-118.4751	31.2317	7312
+-85.7797	38.553	6318
+-117.2362	33.4016	9034
+-111.5728	32.0177	8051
+-87.902	37.1612	8691
+-82.1379	27.2164	9270
+-119.4207	48.0802	6842
+-116.7639	35.7539	7687
+-118.4992	37.1898	5943
+-90.7366	39.634	8398
+-119.8081	49.5372	5278
+-119.209	31.2225	6684
+-90.2305	39.0676	9044
+-115.1041	45.6864	5865
+-89.4204	39.8729	7830
+-125.1195	49.9084	5558
+-119.1372	46.2399	8344
+-123.7444	48.3197	7854
+-112.7485	28.6671	5371
+-83.3481	27.1701	8361
+-108.7857	30.166	7200
+-83.5633	26.7053	7878
+-114.8339	33.6204	7211
+-122.4469	47.7537	8608
+-110.9703	31.5681	8783
+-119.5906	36.73	5737
+-80.7862	27.4576	8329
+-110.7212	31.2843	8943
+-111.794	33.2371	7083
+-117.7923	30.0622	6545
+-118.455	43.2814	6270
+-89.1065	35.5792	7442
+-118.1432	47.8197	7433
+-119.609	44.5842	7128
+-107.1738	29.6225	5445
+-118.0133	33.3391	8349
+-109.9125	31.0702	8755
+-92.0219	38.0544	7506
+-123.5112	48.584	7707
+-122.3692	49.6275	6625
+-123.2601	49.3929	6911
+-79.7989	26.1836	6701
+-112.9974	32.314	6480
+-111.881	33.6208	6701
+-107.4749	32.268	6289
+-116.5129	37.2121	6080
+-81.4003	28.2598	8893
+-118.0201	30.8573	7272
+-124.5144	43.5368	5442
+-116.648	49.7105	5063
+-90.7319	39.2293	8786
+-109.2337	31.8327	8252
+-118.6341	34.6125	7957
+-110.6011	32.9743	7939
+-86.8613	35.4512	6536
+-87.6919	39.774	7159
+-117.8842	45.3611	8371
+-126.425	49.6739	4723
+-90.4636	37.8471	8447
+-89.6255	39.6472	8159
+-80.2075	26.0047	6939
+-82.4511	29.7898	7575
+-109.5494	28.5594	6089
+-83.8772	25.9796	7068
+-120.0017	45.5097	7336
+-116.6665	35.7499	7657
+-120.1864	32.2463	6106
+-80.7697	27.70	8348
+-116.5722	37.1359	6176
+-121.4788	47.6447	7876
+-118.1586	31.7539	7972
+-89.3329	36.8532	8703
+-88.8317	38.7794	8563
+-118.4007	49.7445	5399
+-80.4635	26.6993	7650
+-122.6254	47.7017	8744
+-116.3209	47.3542	6794
+-81.5846	29.6477	7676
+-114.9583	30.3238	6182
+-82.6624	26.5268	8367
+-81.3055	24.6482	6242
+-118.2039	32.5411	8339
+-81.8733	24.5722	6266
+-116.9745	34.3664	9130
+-116.624	29.0283	5510
+-112.3077	32.4242	7148
+-107.789	30.8341	6600
+-117.6264	35.0926	8420
+-93.3246	37.0909	5785
+-110.1451	30.2586	8024
+-114.1243	29.8981	5209
+-87.6123	40.2317	6657
+-114.4669	48.2539	4619
+-90.1202	37.814	8376
+-89.7778	38.6773	8767
+-115.0257	32.9519	7583
+-119.4554	46.2765	8005
+-117.5894	35.0546	8473
+-123.5996	44.9266	7237
+-116.8591	35.1105	8383
+-90.7459	39.9696	8053
+-123.7227	47.4992	8529
+-118.3308	31.7736	7837
+-89.9912	36.7496	8098
+-91.7184	37.2005	7220
+-116.9157	43.5994	6242
+-121.0728	45.945	7306
+-123.1028	43.3771	5656
+-118.1863	45.246	8350
+-109.3197	30.0562	7488
+-83.8619	38.4909	4232
+-115.7929	45.3525	6507
+-115.0362	35.118	6878
+-88.6058	35.4452	7316
+-110.1209	31.6457	9234
+-89.0272	35.5928	7470
+-123.4327	46.1524	8537
+-115.6976	32.9266	8332
+-117.7093	31.6873	8245
+-116.8277	45.0144	7337
+-79.8208	29.8818	6347
+-117.265	44.16	6940
+-90.7661	46.2687	1310
+-112.8192	31.5104	6779
+-122.4455	48.8847	7441
+-115.6999	46.8437	6413
+-87.5887	36.1656	7674
+-120.4217	34.4992	6073
+-122.4175	45.6904	8107
+-118.5927	46.2656	8889
+-118.6447	33.2902	7776
+-118.085	35.4626	7835
+-120.586	32.4096	5690
+-121.7369	47.7802	8047
+-87.9314	38.2296	8684
+-88.412	36.7278	8689
+-117.982	34.6083	8601
+-122.5261	30.2312	2914
+-81.2771	27.0305	8615
+-118.3329	45.989	9132
+-87.1874	38.8414	7605
+-108.0445	30.9934	6913
+-107.3894	32.5565	6114
+-92.0353	37.9937	7466
+-78.3501	28.5594	5519
+-91.9143	37.3875	7215
+-121.4543	47.2455	7989
+-78.8542	29.9078	5462
+-117.7984	33.9039	8906
+-124.4724	44.673	6551
+-127.6762	44.5641	3732
+-118.111	45.7013	8801
+-117.981	30.3624	6791
+-93.1599	37.8063	6263
+-84.5289	27.4536	7159
+-92.0329	37.7478	7344
+-90.9173	42.7774	5045
+-118.9449	33.4193	7548
+-120.3756	37.5596	4491
+-88.1986	40.9243	6102
+-119.4897	48.1494	6742
+-89.4204	38.3846	8725
+-110.9931	33.567	7208
+-90.6899	39.5459	8505
+-88.8534	35.3012	7159
+-82.2973	25.9235	7799
+-113.7141	31.1736	5784
+-124.5584	46.3463	7661
+-90.6088	39.8377	8227
+-119.4688	45.4584	7833
+-118.8562	47.0444	8091
+-91.0836	39.9231	7952
+-84.5935	39.7309	4589
+-87.7355	36.3042	7898
+-115.0533	35.5432	6675
+-119.8474	46.5544	7536
+-86.4731	38.4735	7086
+-91.8061	39.7926	7523
+-115.9709	47.4664	6416
+-87.2314	37.5899	8090
+-86.9349	36.7065	7494
+-112.6054	30.5517	6770
+-114.1943	33.2065	6630
+-122.5774	49.8318	6438
+-119.5673	32.1623	6762
+-89.8104	38.4281	8716
+-124.6195	47.2673	7688
+-89.2524	37.813	9245
+-118.3893	33.2118	7954
+-82.4585	28.9012	8557
+-81.7672	30.6542	6599
+-114.8734	44.48	5262
+-117.4017	35.781	7734
+-80.5518	24.6089	5897
+-88.8142	40.5983	6811
+-123.9434	41.4346	3421
+-89.7326	35.3613	7010
+-122.8561	41.8322	3965
+-116.3696	47.2723	6884
+-117.7709	34.4199	8905
+-120.6558	35.0206	5716
+-80.9553	29.085	7892
+-123.2907	47.1057	9151
+-88.2652	36.6601	8553
+-115.062	29.3987	5389
+-117.9834	31.1756	7600
+-115.8818	30.2039	6597
+-115.0551	37.1495	5458
+-123.993	49.3075	6768
+-86.3389	34.8861	5672
+-121.8203	46.8479	8413
+-120.9065	43.425	5293
+-90.5607	37.4438	8004
+-90.2336	41.6278	6318
+-112.656	31.4784	6954
+-81.5577	29.4464	7883
+-81.3344	26.4479	8148
+-90.5188	38.9532	9161
+-120.4274	48.597	6352
+-119.1864	45.3295	8003
+-87.8407	38.885	8097
+-90.4531	41.4471	6516
+-88.1149	35.826	7624
+-112.9717	32.1272	6555
+-120.3706	47.2435	6740
+-83.9539	27.3144	7770
+-121.5717	47.4718	8045
+-89.4823	36.6119	8385
+-91.0022	38.2681	8579
+-121.178	47.3679	7664
+-81.6401	27.5375	9277
+-114.7823	35.857	6240
+-89.3445	36.7767	8625
+-116.6657	32.3223	9107
+-118.5492	34.6487	8030
+-123.1222	47.391	9080
+-80.7882	26.7965	8016
+-121.2169	47.0702	7754
+-118.8362	35.4895	7275
+-122.7789	48.337	8095
+-113.3646	35.1263	5146
+-90.1771	35.9232	7298
+-90.5152	38.6856	9266
+-118.0339	28.974	5305
+-79.0335	25.8801	5787
+-111.6533	32.4362	7771
+-118.9149	47.1389	7973
+-122.4112	46.4732	8843
+-82.9989	24.5103	6081
+-88.4978	39.6491	7569
+-107.8682	32.2292	6713
+-89.4008	35.1785	6933
+-118.1275	32.4584	8398
+-89.4429	38.131	8894
+-91.2671	38.8475	8466
+-110.3031	32.4279	8558
+-89.115	37.4996	9382
+-83.8952	27.5543	7885
+-118.6986	46.5552	8608
+-92.6592	37.7754	6756
+-119.8962	45.6557	7489
+-84.8571	26.8828	6653
+-88.3432	36.8524	8786
+-80.0085	29.5727	6737
+-108.8791	32.039	7822
+-121.2125	48.2605	7270
+-118.8363	34.1378	7826
+-120.1959	46.4118	7208
+-88.8547	35.5316	7417
+-89.041	39.3007	7860
+-89.2796	40.1882	7470
+-124.7657	47.4317	7494
+-116.0798	36.2994	6844
+-87.4854	35.9629	7423
+-113.4851	30.1791	5735
+-118.6933	33.1213	7630
+-87.4314	40.8889	5899
+-117.4516	33.7308	9055
+-116.8228	34.669	8779
+-115.2789	35.5857	6852
+-114.6879	31.6915	6918
+-87.4725	35.6999	7173
+-117.4865	33.0868	9099
+-111.0949	31.3128	8598
+-110.4215	37.2323	3352
+-84.7025	37.3496	5239
+-125.9083	45.2599	5806
+-92.1502	40.524	6726
+-85.9625	36.5121	6411
+-89.2876	39.3679	8069
+-116.6899	32.4927	9278
+-118.9498	30.3501	6223
+-116.4043	35.244	8004
+-84.0698	28.3217	7613
+-82.5628	29.9106	7419
+-116.0258	36.7263	6402
+-81.2941	25.0019	6624
+-117.6868	42.8835	5796
+-118.1843	35.6473	7607
+-90.8706	34.916	5928
+-80.6889	27.6541	8253
+-82.2126	28.5525	8999
+-120.1372	46.3629	7277
+-118.4119	46.9015	8401
+-83.8768	27.3095	7853
+-117.8357	48.4509	6726
+-115.9854	35.7517	7286
+-118.4452	34.0481	8249
+-114.477	33.7926	6770
+-124.3551	45.8807	7611
+-117.8867	43.8561	6847
+-84.01	35.0763	3736
+-122.5846	46.9742	9260
+-111.9824	30.9711	7568
+-118.0334	35.0916	8199
+-119.3749	47.2196	7605
+-91.702	41.8885	5755
+-85.3001	36.7045	5777
+-117.5302	43.2658	6155
+-118.7826	44.6998	7686
+-108.3672	32.3799	7175
+-122.5156	47.6343	8760
+-120.0243	47.1033	7132
+-117.5907	34.6578	8865
+-79.4482	29.0714	6515
+-118.775	30.5824	6547
+-108.6819	31.1143	7614
+-107.347	29.2158	5345
+-79.747	30.3332	5928
+-83.1454	27.9576	8727
+-112.975	31.9396	6585
+-118.4482	35.2301	7779
+-126.2061	45.0552	5411
+-90.2027	42.1362	5769
+-115.5364	35.9461	6804
+-106.5913	29.5229	4845
+-111.084	29.8985	7475
+-89.2246	37.6141	9298
+-118.1757	35.0406	8137
+-79.3238	28.3341	6650
+-123.3473	48.01	8359
+-81.4281	30.4459	6758
+-108.8518	32.74	7437
+-91.4765	38.7655	8246
+-93.3665	34.2173	3576
+-89.1449	38.2761	9009
+-120.5776	47.1475	7047
+-122.2233	46.2888	8554
+-90.2148	39.8508	8224
+-91.0313	34.7384	5660
+-109.9429	30.3675	8090
+-123.5207	44.2072	6499
+-117.3585	46.9833	7906
+-92.4755	38.4508	7146
+-83.0956	30.8803	6205
+-89.7593	37.645	8701
+-112.245	34.555	5645
+-91.2798	36.1944	6505
+-117.4629	45.625	8257
+-83.0164	25.2297	6853
+-87.2572	38.7301	7742
+-89.023	40.842	6735
+-120.1871	46.7741	7122
+-115.1719	34.918	7098
+-81.8765	30.0505	7292
+-119.8692	48.6155	6111
+-91.6839	37.951	7779
+-109.8039	30.4229	8092
+-91.9237	34.1157	4482
+-116.1256	46.4077	6952
+-88.5557	39.2947	7972
+-115.2907	32.2273	7771
+-87.4126	42.8597	3959
+-119.4521	45.1164	7643
+-108.8022	30.2907	7303
+-118.467	42.6486	5600
+-90.5336	38.1298	8737
+-86.7895	40.1221	6276
+-89.3805	37.7661	9117
+-80.3651	25.5138	6652
+-118.1744	32.1254	8201
+-110.9521	28.8274	6413
+-123.777	48.005	8113
+-83.8805	25.2164	6395
+-90.2648	39.8988	8180
+-112.2341	35.9113	4352
+-119.2901	46.3168	8170
+-114.5136	34.5453	6501
+-81.9089	29.3262	8110
+-115.868	33.4219	8354
+-89.4007	37.6814	9103
+-118.9929	48.8332	6270
+-121.0953	33.8965	5353
+-116.7047	33.8735	8863
+-119.0398	33.0941	7296
+-90.1098	34.3162	5764
+-120.8768	47.6408	7263
+-90.6065	37.8669	8443
+-123.5953	45.8809	8190
+-115.4922	41.7913	3823
+-117.9611	32.4249	8561
+-114.4381	34.0877	6452
+-89.8264	34.3225	5878
+-116.0407	37.3899	5742
+-109.0432	32.9216	7460
+-88.3331	40.4249	6571
+-89.3338	39.0837	8237
+-87.1421	36.8973	7798
+-86.4332	29.8124	4505
+-117.9475	34.8173	8485
+-110.7743	30.9041	8596
+-91.9805	42.0154	5506
+-91.1038	36.1384	6504
+-87.5776	42.5698	4316
+-109.9741	29.4771	7159
+-116.9919	34.4178	9106
+-118.4515	35.5986	7482
+-122.5995	44.8846	7295
+-120.524	33.1193	5816
+-90.8403	38.6958	8928
+-119.7292	34.8055	6753
+-117.4937	44.8169	7665
+-86.2386	36.1513	6507
+-120.1886	34.2632	6347
+-92.9051	34.8619	4429
+-117.0052	46.2235	7901
+-119.3525	31.9692	6929
+-91.0689	35.3831	6176
+-78.7631	26.354	5758
+-118.5337	34.7068	8021
+-82.7435	29.4687	7847
+-89.9259	41.0937	6851
+-119.4654	32.8714	6965
+-120.5105	44.7032	6476
+-117.9934	31.857	8185
+-116.8728	32.6743	9563
+-90.1921	36.9615	8030
+-87.5741	37.1523	8358
+-80.8339	28.9377	7913
+-118.382	45.368	8478
+-84.3344	27.104	7292
+-116.2479	46.1775	7103
+-111.7895	32.5212	7597
+-88.8532	36.5927	8606
+-91.0683	40.1506	7744
+-125.613	42.8437	4184
+-119.9821	33.9074	6566
+-82.9977	28.2434	8776
+-85.0332	38.236	5576
+-116.3585	34.3352	8523
+-118.4402	36.1391	7003
+-107.5919	29.7624	5908
+-82.672	28.1475	9146
+-121.5456	37.1141	3849
+-118.4416	47.2142	8069
+-115.5148	30.8095	6990
+-116.4332	30.1386	6707
+-119.4647	30.9406	6268
+-118.8247	29.7708	5773
+-106.0918	35.0189	3560
+-109.7975	32.4124	8404
+-113.766	31.262	5738
+-125.1542	49.2094	6113
+-88.1231	38.7292	8420
+-109.0381	30.7348	7796
+-121.029	45.0145	6636
+-123.4758	46.8109	8951
+-108.4644	33.0053	6929
+-87.4359	37.7265	8320
+-80.893	29.3915	7580
+-119.1256	32.9501	7340
+-90.413	39.8973	8187
+-117.3872	29.8761	6440
+-81.3185	24.4309	6008
+-79.86	28.5556	7170
+-118.9149	48.0805	7059
+-109.8431	31.2793	8849
+-90.4841	39.6784	8418
+-107.6653	33.034	6183
+-110.1583	32.8374	8102
+-87.8517	35.5229	7199
+-89.2483	39.7626	7785
+-112.5182	32.3183	6976
+-114.7783	32.1141	7189
+-84.2712	28.8589	7176
+-119.2367	46.2845	8232
+-124.8622	45.3614	6821
+-88.2687	39.3127	7884
+-89.5031	38.0159	8900
+-88.5045	39.8158	7096
+-120.5655	49.9761	5422
+-85.4992	27.4881	6071
+-114.1489	31.6859	6366
+-113.967	45.7887	4677
+-119.3727	32.4481	7038
+-81.092	25.809	7384
+-108.8402	26.5985	3836
+-121.9472	33.8439	4422
+-116.6611	45.6655	7482
+-80.1169	30.88	5696
+-121.1189	44.3909	6166
+-116.866	31.1887	7934
+-117.0967	33.2382	9261
+-87.6262	40.3509	6541
+-125.0251	47.4467	7213
+-118.679	43.4358	6408
+-121.6687	47.2066	8228
+-117.3144	34.4193	9222
+-81.0877	27.5444	8683
+-119.4097	43.6714	6425
+-88.7086	40.9484	6446
+-84.3265	26.8232	7191
+-120.2104	32.0403	6032
+-109.8948	30.0752	7772
+-88.6217	38.9554	8359
+-110.4787	30.1685	7933
+-88.9812	40.8224	6727
+-89.0311	38.1968	9149
+-91.0911	39.6758	8168
+-91.9351	41.0318	6450
+-88.0408	39.5539	7545
+-123.993	43.3609	5467
+-119.0673	46.1046	8430
+-86.9061	40.7836	5740
+-91.2404	35.2829	5959
+-115.3112	35.0309	7191
+-113.9619	31.3511	6024
+-90.0057	39.4873	8531
+-121.4786	48.4003	7388
+-116.419	33.4334	8833
+-91.9409	38.0258	7573
+-121.7713	48.627	7400
+-119.4935	44.8638	7428
+-91.0778	36.0036	6371
+-112.4294	30.6332	6980
+-119.2102	31.373	6777
+-111.36	33.1552	7439
+-115.0295	34.7011	7020
+-84.8859	27.4479	6757
+-109.1284	32.6324	7743
+-91.0332	41.5745	6300
+-91.642	38.8923	8059
+-123.8413	46.7668	8549
+-112.8518	30.7982	6615
+-114.4659	35.2901	6232
+-87.3329	36.7591	7911
+-116.3202	38.3793	4793
+-120.7369	47.0967	7225
+-109.0663	31.6652	8098
+-111.9269	30.7847	7542
+-115.9877	32.7493	8658
+-114.2615	32.3306	6687
+-114.4201	31.503	6557
+-115.5283	31.3324	7448
+-87.6371	40.4308	6463
+-116.1515	45.0223	6731
+-88.4566	34.9572	6755
+-118.8716	42.3276	5217
+-112.7727	29.6775	6120
+-118.7345	46.8239	8357
+-119.2834	45.2813	7892
+-90.3145	37.1116	7657
+-84.7834	29.6163	6236
+-85.2709	39.7168	5266
+-91.5158	39.6182	7886
+-90.0431	37.7471	8283
+-82.8066	28.2257	8970
+-86.4903	38.9708	6870
+-121.9749	48.8076	7343
+-92.3185	38.1339	7235
+-85.7395	31.2726	4202
+-83.9764	29.7507	6829
+-87.4367	40.9824	5804
+-112.5123	34.1929	5790
+-91.0663	37.5392	7926
+-114.7227	34.2027	6762
+-118.7281	33.334	7721
+-118.0779	46.8547	8432
+-118.8425	32.4911	7629
+-81.4184	26.0392	7777
+-85.632	26.017	5467
+-90.3028	37.8974	8501
+-118.4624	48.8366	6356
+-88.7495	41.3036	6157
+-84.2043	24.6939	5700
+-82.3559	28.5686	8951
+-119.8231	47.3553	7156
+-113.7565	33.4184	6110
+-119.0001	43.0254	5917
+-117.2499	31.0215	7726
+-123.079	45.01	7448
+-115.9083	33.306	8452
+-83.3569	27.4309	8457
+-115.431	32.294	7944
+-90.0932	42.0719	5830
+-91.3093	39.0049	8389
+-85.6533	36.9723	6235
+-123.4222	45.8857	8287
+-115.4914	46.5894	6259
+-82.3605	28.5791	8938
+-122.8434	44.1305	6490
+-87.1851	39.2673	7289
+-87.1549	37.2354	7942
+-121.3382	43.9439	5868
+-119.7983	43.4152	5996
+-119.4242	45.1957	7719
+-117.1799	36.6455	6796
+-113.5076	29.9924	5627
+-117.5585	36.0379	7436
+-114.3653	31.4991	6500
+-109.9032	31.1827	8837
+-88.9261	35.8303	7747
+-76.81	31.0169	2836
+-111.6061	29.1766	6524
+-118.3742	47.6928	7571
+-81.2674	28.7145	8440
+-119.1284	45.248	7990
+-86.6876	36.4502	7112
+-108.0432	32.0752	6936
+-88.2583	43.1288	4178
+-117.505	34.3596	9179
+-116.2647	30.0899	6612
+-123.4875	47.7685	8514
+-117.2847	31.9099	8681
+-83.4265	25.6949	7129
+-119.9326	46.5062	7462
+-77.2903	30.2252	3748
+-114.9248	33.3376	7402
+-89.1075	37.2998	9253
+-91.0271	37.2017	7617
+-116.3693	32.6251	9053
+-118.4243	32.9578	8119
+-87.2331	37.702	8093
+-79.4279	28.4594	6733
+-118.0962	47.0702	8214
+-110.6108	29.6041	7308
+-82.6129	28.5821	8822
+-80.6085	30.0662	6771
+-110.5209	32.3511	8617
+-114.7649	32.1316	7181
+-106.7335	31.6132	5573
+-118.3226	33.0946	8209
+-89.154	35.8278	7706
+-118.0651	31.6215	7942
+-117.063	36.2547	7213
+-117.7954	47.8072	7380
+-92.2254	38.7925	7438
+-114.7925	32.1629	7221
+-120.1931	46.3343	7223
+-118.5563	34.8347	7936
+-88.5052	37.9768	9359
+-119.1693	47.9325	7105
+-119.3503	32.0814	6970
+-83.7561	27.3232	7989
+-83.7509	27.7074	8061
+-88.2117	39.0019	8191
+-109.701	29.8911	7516
+-111.0187	33.6266	7138
+-85.9862	40.0519	5702
+-82.5845	25.4286	7198
+-110.0563	31.3613	9089
+-121.2519	45.0366	6818
+-120.1252	32.4741	6209
+-126.1822	49.373	5135
+-117.0347	33.6099	8913
+-82.0228	26.1162	8021
+-82.0228	29.1653	8305
+-122.861	47.9203	8557
+-93.6535	38.921	5895
+-87.4118	39.6474	7121
+-89.8581	43.2203	4573
+-82.8607	26.2829	8023
+-117.0861	33.0782	9432
+-87.9847	40.5074	6507
+-117.3964	44.1847	7025
+-90.4227	39.017	9133
+-125.5376	45.8962	6479
+-117.7981	31.6975	8198
+-113.708	35.0566	5528
+-116.1847	32.8553	8880
+-116.1787	47.3369	6675
+-117.9492	37.2862	6019
+-118.4993	35.7029	7361
+-109.0239	30.1462	7367
+-91.0471	40.1078	7795
+-119.2882	33.2433	7128
+-113.7204	32.6347	6126
+-117.8882	34.2227	8853
+-91.2206	37.1717	7499
+-86.0838	39.4157	6220
+-79.9893	29.7805	6564
+-110.5718	29.1835	6861
+-91.4466	39.0141	8243
+-81.4843	29.3476	7959
+-89.89	36.0723	7626
+-79.6566	25.4293	6040
+-125.558	47.8101	6542
+-90.367	39.1787	8962
+-117.2134	35.6012	7936
+-117.1684	31.7042	8492
+-91.5958	40.828	6831
+-91.9178	37.9743	7571
+-90.0788	39.296	8751
+-89.9855	38.7672	8995
+-119.2296	47.4594	7506
+-88.0432	42.3369	4808
+-118.3692	43.341	6337
+-117.4669	34.7944	8784
+-111.4705	32.8259	7649
+-91.9253	38.1747	7650
+-117.6738	49.007	6115
+-124.5303	48.4132	7212
+-83.3443	29.457	7540
+-114.2967	32.9685	6770
+-111.8609	32.9158	7277
+-116.297	31.4244	8030
+-120.2884	32.1611	5976
+-112.9981	35.0397	4778
+-122.8485	47.1778	9367
+-110.7661	27.6133	5147
+-88.4543	34.3972	6129
+-116.9269	33.4446	9051
+-116.9657	43.561	6231
+-117.0631	34.4882	9092
+-116.7451	31.7299	8516
+-111.6257	28.9558	6301
+-93.1163	38.9014	6474
+-121.9314	46.3989	8373
+-117.1014	34.8708	8713
+-116.9647	29.3304	5864
+-87.7403	38.3748	8415
+-91.305	39.4409	8183
+-124.3435	48.2705	7469
+-91.3448	38.1866	8223
+-90.4002	33.4261	4715
+-109.6959	29.8624	7485
+-83.5314	28.8015	7925
+-93.3351	38.751	6243
+-118.7979	30.2363	6224
+-117.7603	33.6883	8813
+-90.973	38.8272	8783
+-117.315	33.7778	9147
+-90.6235	37.6232	8183
+-82.2863	27.9341	9636
+-120.8777	46.2046	7232
+-114.1815	32.6887	6643
+-89.3758	39.5996	8004
+-90.7545	37.9923	8515
+-126.1595	45.6937	5762
+-108.6594	31.3507	7642
+-118.8944	37.4495	5508
+-118.5062	35.3685	7629
+-85.1644	28.784	6275
+-118.1045	33.5148	8402
+-125.0368	44.2546	5813
+-117.7856	45.3254	8285
+-94.0426	35.7705	4338
+-114.4592	31.4279	6556
+-118.6535	35.3891	7497
+-91.0542	37.5848	7975
+-82.805	27.6076	9112
+-111.6173	30.4372	7609
+-118.8305	36.4164	6519
+-85.6355	40.9844	4694
+-107.9482	30.4072	6592
+-119.7904	45.3964	7499
+-117.5307	35.7089	7795
+-118.0261	45.2615	8332
+-91.2047	40.2613	7570
+-117.0115	31.9348	8768
+-89.2299	37.8299	9263
+-109.9207	29.5619	7238
+-91.7252	39.3064	7859
+-91.6802	34.4484	4943
+-125.8671	48.1337	6103
+-86.108	28.8591	5229
+-92.3679	36.6875	6339
+-90.5804	35.4358	6588
+-119.6377	35.7562	6404
+-123.3774	46.7162	9014
+-122.5633	47.9171	8498
+-88.6754	37.8883	9545
+-116.6755	34.103	8892
+-118.9748	36.4113	6432
+-91.8009	39.7021	7584
+-110.7152	32.7805	8112
+-115.5184	36.0982	6669
+-116.4279	48.5641	5994
+-118.7787	33.254	7630
+-117.7272	34.4657	8918
+-123.9581	47.7045	8189
+-118.1373	41.374	4253
+-111.1121	30.6183	8130
+-85.3961	37.3082	6010
+-117.7512	46.3568	8635
+-116.079	35.8415	7268
+-125.5563	46.1917	6566
+-85.945	34.9589	5426
+-119.3618	35.2891	6928
+-121.3361	42.5534	4304
+-92.6984	42.1031	5032
+-120.278	46.9266	6974
+-123.2508	47.9942	8413
+-116.093	33.0766	8736
+-121.6654	46.3582	8094
+-90.9075	38.2624	8653
+-124.9046	46.8928	7402
+-108.5571	28.1125	5249
+-87.1704	39.8204	6805
+-115.5829	26.8856	2960
+-84.6107	30.527	5696
+-87.8881	35.4357	7124
+-117.0756	35.2424	8310
+-119.5838	47.0065	7582
+-118.1482	30.4224	6775
+-118.4275	33.6913	8183
+-120.1607	48.2593	6230
+-119.2566	33.1039	7094
+-112.0496	30.9271	7483
+-80.7262	27.8726	8296
+-90.4859	39.3067	8814
+-109.4942	31.8872	8507
+-118.4826	45.9483	8995
+-123.2902	47.6818	8711
+-120.6962	32.1911	5535
+-116.8864	36.5291	6892
+-119.1144	34.8368	7381
+-89.9977	34.4305	5929
+-119.0455	49.4727	5598
+-89.3188	37.275	9056
+-108.7386	32.4325	7516
+-88.4195	34.3919	6119
+-120.2895	35.0872	6080
+-80.6268	27.0039	7982
+-79.8089	26.7645	7029
+-113.0246	32.0355	6517
+-115.2416	33.9507	7320
+-83.9983	30.3588	6280
+-89.7785	37.2325	8579
+-120.6782	46.294	7056
+-86.6311	40.9304	5436
+-88.8044	39.4514	7562
+-116.2234	33.7608	8330
+-117.0439	45.5721	7834
+-90.5916	37.7352	8308
+-105.8476	34.688	3563
+-116.0787	34.5328	8171
+-90.3843	41.7561	6184
+-118.4646	31.8218	7747
+-91.121	34.1712	5085
+-115.8636	45.3342	6573
+-91.3113	38.782	8423
+-118.3135	28.4691	4676
+-109.6392	34.0483	6699
+-111.5465	31.4367	8150
+-89.7453	35.8132	7463
+-117.9948	36.207	7140
+-120.7911	46.1952	7139
+-118.5991	31.709	7552
+-118.7495	47.8467	7346
+-117.2788	36.395	7071
+-86.6834	36.9726	7351
+-115.0237	33.6844	7379
+-119.7847	32.274	6552
+-118.2588	48.2048	7031
+-95.5616	39.1636	3825
+-109.3788	32.9227	7692
+-118.5609	48.0369	7188
+-110.8086	31.0933	8734
+-88.8149	43.0026	4539
+-117.0686	31.9542	8784
+-89.9225	37.249	8436
+-114.3114	49.0576	4016
+-117.2634	32.1581	8947
+-89.7032	40.9853	6906
+-89.4811	39.2051	8335
+-120.1373	47.5534	6766
+-112.5678	32.8283	6702
+-81.8472	25.6133	7435
+-93.6437	38.3406	5883
+-90.1496	36.1838	7540
+-81.6887	29.5204	7845
+-117.0968	33.3182	9175
+-117.35	35.1783	8394
+-120.9175	30.5938	4696
+-86.4138	37.6043	7173
+-123.5617	47.054	8873
+-124.5365	45.9737	7503
+-114.9961	31.7231	7239
+-108.6857	30.6352	7414
+-114.9269	33.4103	7383
+-88.9745	37.4022	9438
+-112.1118	29.9412	6851
+-126.9965	47.311	5090
+-117.709	44.4494	7410
+-89.3679	43.5058	4183
+-120.0469	48.8681	5784
+-118.9378	45.8836	8531
+-90.2067	36.8972	7983
+-82.9046	28.0975	8943
+-117.3964	32.3514	9046
+-85.687	35.8221	5786
+-85.8475	35.2017	5527
+-119.0851	34.9662	7356
+-92.294	37.6472	7047
+-120.3146	42.5151	4897
+-121.2174	47.9028	7491
+-119.0646	47.1171	7902
+-81.0619	24.4984	6001
+-118.3211	47.7669	7495
+-109.1899	30.8708	8014
+-92.7194	38.3295	6866
+-76.9209	29.5273	3668
+-81.5041	27.9571	9149
+-121.6792	47.9933	7854
+-111.6723	32.0324	7943
+-118.7064	35.4824	7386
+-82.313	30.2851	7036
+-112.5981	30.8627	6899
+-122.888	43.8273	6157
+-116.7144	35.5124	7917
+-116.2201	45.7029	7035
+-120.196	44.85	6841
+-90.0417	36.5397	7905
+-81.5471	28.6881	8657
+-110.9589	33.817	6960
+-109.6777	33.4406	7340
+-108.3831	30.6963	7152
+-117.334	36.2717	7204
+-117.4543	38.8986	4336
+-82.0575	27.7972	9800
+-117.0606	34.7465	8832
+-89.1892	41.0537	6628
+-119.101	31.0252	6645
+-116.1977	31.4491	8003
+-89.4433	38.941	8390
+-78.8018	29.5074	5640
+-91.1466	36.3301	6689
+-115.0075	32.8917	7566
+-116.6636	30.4131	7051
+-110.3311	30.3417	8128
+-90.1022	38.5912	9076
+-117.1502	44.1409	6864
+-106.1514	31.4742	4941
+-81.3667	29.657	7585
+-83.955	33.0579	3561
+-118.7008	32.8861	7817
+-121.117	33.6083	5299
+-89.3963	38.4973	8326
+-119.2213	47.2862	7659
+-86.3227	36.5598	6804
+-89.2359	39.2701	8066
+-116.5877	36.632	6713
+-120.1952	48.6855	6085
+-120.5026	28.4664	3500
+-89.8549	39.9794	7982
+-125.9333	47.153	6267
+-113.1046	32.5083	6308
+-109.375	30.9535	8231
+-118.5301	31.0431	7116
+-84.1119	40.5073	3694
+-89.3788	38.789	8341
+-119.6787	31.2289	6247
+-89.4248	37.7547	9070
+-109.4238	35.0188	5623
+-81.5695	28.3227	8996
+-119.1717	36.1954	6475
+-106.526	31.9207	5332
+-124.454	43.35	5282
+-87.2116	35.2856	6623
+-111.6327	32.6494	7652
+-113.2236	34.5201	5108
+-87.7339	38.6624	8204
+-111.2091	30.4553	7926
+-81.0349	30.3331	6734
+-116.123	32.9645	8798
+-115.4015	36.8037	5985
+-116.1444	33.8163	8266
+-117.189	30.5068	7165
+-118.3805	34.3097	8308
+-116.846	34.3172	9037
+-110.8704	33.4229	7397
+-115.9038	47.9247	6085
+-123.3089	49.5258	6759
+-116.5852	36.5404	6809
+-117.1567	32.0639	8887
+-117.4612	35.4376	8099
+-117.2865	45.7838	8153
+-110.8365	32.7287	8118
+-91.419	38.9105	8295
+-78.2307	26.3927	5212
+-87.4877	39.4331	7366
+-115.3245	35.6044	6880
+-117.5243	30.7776	7395
+-93.662	36.9013	5367
+-120.9765	46.1986	7331
+-91.4643	40.1859	7487
+-118.1381	45.6697	8780
+-108.5274	31.972	7472
+-114.4763	34.151	6494
+-114.1778	35.2688	5948
+-116.468	43.6127	5999
+-118.6385	34.3685	8020
+-93.0366	37.914	6426
+-121.3332	49.4661	6365
+-82.5396	31.5702	5565
+-80.6386	26.8283	7896
+-88.2392	41.8125	5395
+-119.2577	30.1225	5808
+-111.1081	29.5367	7103
+-109.8761	34.26	6531
+-114.6058	46.9648	5259
+-121.3353	47.67	7721
+-120.0054	33.3151	6420
+-90.8285	39.2429	8708
+-123.5187	47.2974	8835
+-117.9859	30.7534	7186
+-124.0064	45.4203	7517
+-85.0466	27.1476	6523
+-117.5181	34.5898	8969
+-121.889	48.2394	7820
+-94.4764	36.8639	4567
+-110.6203	34.4073	6398
+-92.7113	35.8523	5418
+-119.771	46.8754	7484
+-111.515	31.7229	8184
+-90.3025	37.4667	8038
+-119.0885	34.6886	7460
+-86.922	37.9181	7725
+-118.673	43.7715	6760
+-120.3389	47.842	6407
+-89.9702	35.5236	7057
+-80.275	29.9583	6641
+-115.3509	29.8577	5992
+-107.2436	30.9501	6056
+-79.6544	24.5617	5308
+-82.8313	26.0324	7777
+-119.771	45.342	7492
+-121.2471	46.4094	7690
+-113.3128	34.995	5124
+-116.3316	31.1371	7750
+-112.8125	45.1166	3374
+-118.5216	47.7105	7536
+-117.9916	33.4685	8465
+-117.5919	42.769	5658
+-88.6835	38.3011	9096
+-118.6589	31.2966	7216
+-116.0898	31.5025	7991
+-115.2083	47.9645	5452
+-114.0772	33.2666	6491
+-114.6283	30.5599	6128
+-115.0948	35.5602	6703
+-86.1505	39.9316	5930
+-91.9717	36.7984	6712
+-113.3639	30.5201	5994
+-93.2629	35.5594	4792
+-119.6953	46.0346	7764
+-87.5486	42.7408	4148
+-80.9396	25.7117	7204
+-110.7491	29.6669	7349
+-82.4887	28.8093	8646
+-81.9436	26.0207	7906
+-119.4384	46.7714	7846
+-80.5475	24.884	6170
+-91.7732	35.6548	5767
+-116.6405	45.0147	7175
+-115.2574	33.6348	7639
+-119.2475	45.9866	8232
+-116.4668	35.038	8221
+-80.6497	25.5103	6837
+-94.6017	40.0007	4682
+-90.0197	39.095	8884
+-82.6671	25.7065	7485
+-114.4181	32.8426	6910
+-82.7801	30.206	7037
+-117.9705	34.5617	8639
+-115.2489	44.8663	5791
+-91.7593	40.8718	6699
+-82.533	30.5379	6725
+-93.2626	37.7218	6129
+-118.9782	45.8157	8465
+-117.0192	32.1326	8988
+-120.5955	48.8941	6306
+-90.5798	36.4604	7371
+-116.0561	46.3149	6891
+-115.3706	33.4487	7838
+-91.0275	40.6056	7307
+-90.5822	36.7985	7310
+-115.6868	45.119	6321
+-88.6482	34.911	6720
+-89.2433	37.7318	9275
+-115.3902	32.0739	7809
+-114.9728	33.7076	7317
+-89.1971	40.0419	7534
+-109.9471	33.57	7281
+-118.6803	32.8144	7841
+-122.4906	49.1663	7148
+-117.3016	32.8728	9374
+-118.285	34.5778	8326
+-91.4465	39.8131	7804
+-114.6834	33.3423	7139
+-117.9986	44.4036	7439
+-115.891	33.0585	8523
+-119.14	47.7571	7285
+-114.4762	30.3758	5863
+-114.9185	33.1252	7443
+-115.3849	32.2855	7892
+-110.202	28.4974	6127
+-117.1883	33.9169	9287
+-122.7665	48.8247	7560
+-116.7635	32.5862	9410
+-118.7458	46.4744	8630
+-113.7904	34.2934	5742
+-86.5904	34.7024	5688
+-89.9612	39.5302	8468
+-115.415	32.3828	7956
+-110.0615	28.1852	5780
+-87.4942	38.2378	8249
+-119.3382	45.1776	7776
+-90.7627	41.9203	5983
+-118.3497	35.4345	7691
+-93.6985	37.4549	5588
+-88.6012	40.8024	6495
+-118.8914	35.5668	7174
+-119.5789	34.2477	7012
+-116.1255	43.7397	5874
+-117.7049	35.0166	8462
+-87.9753	38.885	8184
+-86.0461	34.9701	5516
+-126.6301	48.1665	5301
+-90.1644	38.2205	8807
+-118.9372	32.8398	7555
+-118.8281	43.9178	6878
+-118.1455	29.4947	5821
+-86.3414	37.283	7059
+-122.4544	45.8978	8334
+-107.2142	34.0935	5136
+-123.3189	49.7687	6494
+-113.6212	48.3106	3796
+-116.9196	44.8438	7297
+-121.499	47.3229	8018
+-115.1318	44.7027	5609
+-120.9973	46.7377	7501
+-107.7516	32.1396	6612
+-81.285	28.8902	8300
+-117.8028	44.5023	7494
+-117.8427	31.9283	8361
+-86.9602	35.0438	6241
+-86.2674	44.3366	1945
+-113.588	33.1054	5971
+-89.5481	41.3621	6468
+-92.3083	39.0816	7319
+-89.7086	40.5286	7374
+-110.068	31.933	8998
+-83.9871	32.7848	3840
+-91.7071	39.0719	7956
+-108.8746	32.3138	7706
+-107.0374	34.6499	4596
+-118.7963	44.00	6971
+-87.9734	39.9659	7084
+-122.4556	46.9776	9118
+-105.8027	33.7659	4025
+-117.8576	36.9525	6396
+-113.8418	46.4236	4544
+-82.394	26.0536	7932
+-118.5762	32.7718	7957
+-83.241	26.859	8272
+-117.213	33.5473	8896
+-107.4776	31.7466	6375
+-93.7221	41.6293	4672
+-122.5948	46.0539	8549
+-125.0462	47.9591	7008
+-81.7828	26.1293	7998
+-90.1294	37.5228	8074
+-92.2477	34.9292	4842
+-93.9067	39.7473	5477
+-116.2758	45.9933	7131
+-117.2805	35.9765	7527
+-117.7139	32.1828	8660
+-118.4258	34.2245	8269
+-80.6846	28.067	8219
+-116.7717	30.2054	6832
+-84.069	29.2508	7133
+-81.5732	29.5827	7742
+-91.2834	38.3859	8378
+-109.7902	30.4472	8109
+-119.8957	32.6656	6481
+-83.4562	28.9031	7919
+-122.077	46.6706	8645
+-111.4141	27.6846	5090
+-93.7711	35.9065	4657
+-88.639	36.2667	8238
+-108.3971	28.7241	5732
+-116.7015	48.6035	6124
+-114.2443	31.9004	6549
+-121.8875	44.2843	6456
+-123.9726	47.4411	8318
+-114.5293	33.8326	6808
+-116.8031	35.2237	8245
+-86.6374	37.0005	7311
+-92.5308	38.8725	7106
+-121.8064	49.8146	6255
+-117.8077	30.4739	6976
+-124.6846	46.8576	7642
+-113.8007	31.0439	5672
+-93.5909	36.4878	5194
+-114.9791	33.3356	7462
+-111.6145	32.8398	7529
+-116.1308	34.5639	8213
+-92.6385	40.6787	6226
+-114.3279	32.5448	6794
+-118.085	44.1467	7181
+-124.3662	48.4807	7291
+-83.0527	28.7582	8363
+-84.0604	37.7767	4531
+-119.3135	31.2419	6601
+-91.8266	37.8645	7599
+-112.7344	33.2329	6317
+-120.1127	35.225	6213
+-119.1954	48.1709	6864
+-111.9816	32.9273	7169
+-120.9385	35.8706	5107
+-114.1797	35.5701	5824
+-121.9553	48.6646	7471
+-87.6313	36.6648	8116
+-108.3614	33.3017	6640
+-117.1766	35.1139	8464
+-80.6394	24.7562	6090
+-87.8638	36.8633	8459
+-79.9976	26.4957	7081
+-119.638	44.9333	7367
+-118.0357	44.7202	7776
+-89.3671	36.6035	8445
+-111.5576	45.1056	2060
+-88.7873	37.7664	9700
+-83.9363	28.2119	7791
+-81.2944	30.4567	6704
+-118.1035	35.35	7927
+-115.8661	31.5126	7850
+-116.6904	33.2482	9181
+-107.7993	29.1554	5671
+-116.6753	34.7272	8624
+-119.8213	46.6787	7520
+-120.9081	48.1495	7061
+-114.4677	32.4563	6937
+-120.3496	48.4223	6380
+-111.495	29.5174	6906
+-118.794	27.7481	3743
+-90.2593	35.7669	7104
+-120.3593	45.7106	7024
+-115.522	30.2168	6435
+-108.6594	29.8405	6855
+-86.3177	38.2313	6994
+-87.8904	36.8663	8484
+-82.0747	31.121	6097
+-92.3116	39.8059	7055
+-93.3806	40.3318	5772
+-117.6625	45.8617	8556
+-114.3488	30.8034	6069
+-117.9628	33.7618	8677
+-80.217	24.8998	5991
+-84.6611	38.6766	5069
+-110.8445	31.8858	8830
+-81.9407	24.8333	6567
+-123.9196	43.7346	5883
+-90.1355	38.9741	9064
+-88.6592	42.505	4971
+-87.4652	39.3663	7412
+-88.3572	37.7256	9351
+-90.5881	35.9925	7038
+-119.5509	35.5619	6599
+-117.4715	36.0674	7416
+-80.8519	25.8612	7295
+-115.6649	48.7291	5331
+-113.4211	32.6859	5921
+-89.5763	41.3884	6451
+-115.5706	31.5349	7639
+-119.1908	46.3755	8256
+-121.0964	31.5156	4923
+-119.5531	48.3425	6531
+-120.4523	48.8936	6184
+-89.3095	38.779	8267
+-83.3855	25.205	6667
+-116.7928	46.9398	7449
+-117.9487	30.9925	7442
+-111.4623	33.5376	7028
+-110.5285	34.8185	5962
+-116.656	41.4711	4064
+-120.1547	35.1973	6180
+-120.8874	47.0518	7393
+-89.0462	39.9976	7453
+-88.2538	37.2338	9062
+-86.1749	36.5635	6654
+-109.3643	34.5683	6073
+-82.4544	30.2355	7076
+-116.4974	45.61	7299
+-85.4392	28.837	5961
+-111.3751	32.5128	7961
+-117.7499	47.0106	8143
+-117.3957	33.5042	8837
+-109.695	31.1127	8614
+-81.8395	29.1728	8267
+-125.7914	47.4685	6382
+-81.3423	27.2714	8837
+-117.1054	30.5766	7250
+-87.1925	37.7813	8043
+-115.2545	34.6325	7276
+-86.9087	37.3884	7706
+-120.7715	40.8086	3068
+-117.1786	33.2528	9212
+-117.137	36.0919	7397
+-88.8738	35.8294	7750
+-119.5302	47.2124	7491
+-118.4861	47.3266	7944
+-89.2281	38.1632	9054
+-117.7156	32.6676	8901
+-88.3973	37.4913	9357
+-111.8167	29.559	6754
+-109.4773	32.7677	7890
+-119.7476	29.5058	4930
+-117.2553	30.6614	7327
+-118.2757	37.2192	5996
+-87.7487	37.9883	8617
+-121.2296	45.3057	7018
+-87.6495	34.4647	6009
+-110.1287	32.2226	8746
+-118.4341	45.3971	8499
+-120.6184	48.3442	6678
+-80.0194	27.8913	7497
+-115.9317	29.0966	5446
+-116.1972	34.7745	8178
+-78.0221	29.3356	4914
+-81.3787	31.4569	5631
+-124.8189	48.4826	6920
+-121.8114	45.9235	7950
+-123.8575	48.8206	7314
+-107.9523	29.6615	6158
+-90.7602	38.9548	8962
+-90.775	38.2599	8748
+-125.0689	42.3969	4049
+-90.6182	41.8285	6097
+-124.9787	45.2045	6612
+-87.5258	36.1461	7613
+-119.3796	36.0342	6438
+-89.4564	35.2547	7000
+-81.9306	27.8736	9633
+-90.5368	40.9565	7040
+-90.1338	34.0032	5426
+-116.1971	35.4995	7645
+-119.5094	32.4221	6883
+-117.3255	46.3919	8200
+-93.1416	37.3441	6087
+-119.5402	46.6778	7795
+-118.0835	31.3356	7684
+-89.5739	34.754	6423
+-93.4671	41.3419	5082
+-114.9836	31.7249	7228
+-120.0113	30.0512	5165
+-107.521	33.9808	5470
+-92.3341	39.0097	7303
+-124.0694	42.255	4273
+-115.5196	38.1477	4762
+-123.2294	46.3707	8858
+-118.7806	48.7899	6363
+-119.1647	35.0719	7228
+-108.1044	32.2546	6952
+-116.8728	46.5226	7701
+-107.9449	30.0406	6393
+-124.7164	47.8076	7407
+-108.1349	30.9337	6990
+-117.3894	34.6167	8994
+-123.1874	46.8813	9277
+-82.8994	26.4732	8192
+-116.0468	48.3781	5879
+-115.7046	34.6283	7751
+-119.7298	45.4376	7576
+-80.589	28.3745	8015
+-89.1842	35.9343	7815
+-83.2079	25.806	7363
+-119.8565	45.5737	7504
+-114.4771	32.6643	6971
+-83.5369	29.9295	6975
+-116.267	45.6623	7075
+-89.0021	37.2493	9278
+-116.3747	31.4933	8136
+-118.4948	30.5596	6713
+-119.4258	32.5709	6996
+-115.0781	31.3294	7072
+-116.3595	32.4394	8956
+-118.9813	34.1503	7667
+-115.5964	33.5138	8038
+-113.5701	32.4404	5846
+-90.8788	35.6492	6537
+-92.2347	39.7071	7178
+-85.8751	35.3848	5681
+-118.5829	32.8292	7950
+-83.3551	27.1665	8352
+-80.2555	28.322	7677
+-81.5907	28.9967	8371
+-116.7378	47.5872	6989
+-123.2791	45.1481	7565
+-88.6679	36.8617	8906
+-121.2688	46.8317	7808
+-89.4865	40.3069	7488
+-88.1659	36.6562	8496
+-93.7182	41.5118	4757
+-89.8473	38.5509	8808
+-111.6969	31.3275	7970
+-96.6704	39.3711	2615
+-80.5153	27.9742	8047
+-88.6952	35.9575	7896
+-118.7015	47.6235	7587
+-94.023	36.0083	4513
+-115.9001	33.3744	8410
+-120.2584	48.9817	5956
+-112.7511	29.7763	6203
+-91.4138	43.7088	3965
+-80.7542	29.4462	7434
+-89.1562	43.2954	4350
+-86.0985	41.4786	4591
+-117.5572	32.4042	8949
+-118.0683	31.5672	7895
+-121.7053	47.5606	8140
+-121.5617	44.1824	6212
+-120.917	47.8138	7237
+-118.5595	32.319	7891
+-114.7277	33.1577	7227
+-87.097	38.7951	7553
+-112.1303	31.427	7519
+-112.0485	32.1403	7520
+-118.3775	46.0633	9154
+-89.5635	39.3648	8320
+-89.3881	39.8008	7864
+-81.2438	29.8472	7332
+-91.4414	40.0875	7586
+-122.4977	45.9062	8360
+-81.7584	25.6758	7489
+-116.5587	34.6352	8591
+-108.176	31.4039	7128
+-88.1822	38.044	9034
+-114.7875	34.5197	6801
+-116.3257	36.2859	6975
+-119.8727	45.9693	7572
+-120.6595	31.975	5528
+-92.0228	41.8831	5613
+-82.8856	24.9032	6543
+-110.4663	38.0672	2447
+-115.6652	35.4267	7292
+-115.6927	31.9785	8052
+-110.2472	31.6861	9328
+-115.4549	33.2537	7998
+-125.5921	49.7439	5357
+-116.6474	33.7659	8752
+-110.4138	33.5915	7296
+-89.3226	36.8773	8732
+-116.5045	33.4421	8885
+-82.7248	26.9939	8792
+-91.2899	38.1923	8277
+-89.4085	34.6288	6331
+-117.5122	36.4064	7044
+-116.9722	36.0885	7381
+-113.253	32.7797	6055
+-118.7244	29.4514	5518
+-123.6847	45.7897	8052
+-88.2096	35.8737	7708
+-115.6577	46.6454	6420
+-118.7874	46.8519	8302
+-82.0335	28.2111	9377
+-117.456	31.1116	7774
+-111.2438	32.1449	8315
+-90.2027	44.3937	3338
+-82.2066	25.5191	7348
+-125.8396	48.9277	5724
+-89.0427	36.7322	8722
+-117.3554	31.8446	8585
+-116.6199	33.6844	8679
+-114.9206	32.9825	7463
+-90.7229	41.4379	6504
+-115.1728	33.724	7511
+-117.5379	33.6219	8906
+-113.974	33.9579	6180
+-118.756	37.6619	5360
+-80.8765	28.6465	8157
+-88.7274	38.12	9304
+-89.5405	39.4785	8224
+-89.9332	40.4297	7550
+-121.8878	46.4182	8341
+-91.6464	37.6659	7630
+-117.0978	48.2338	6675
+-116.6789	36.7173	6647
+-82.0662	25.1985	6986
+-121.9944	47.9422	8144
+-111.7266	32.8763	7414
+-114.1745	31.4805	6300
+-89.3765	32.9676	4497
+-81.2445	27.3031	8758
+-120.1278	45.8304	7286
+-88.5282	38.4264	8921
+-122.2506	45.7152	8057
+-110.8593	31.8624	8828
+-93.4565	37.2976	5761
+-91.843	39.626	7589
+-116.4531	44.616	6765
+-122.524	47.7855	8616
+-83.9736	25.8908	6919
+-115.5935	36.6318	6258
+-126.8844	48.4013	4954
+-119.3879	33.0531	6941
+-120.6878	47.2038	7162
+-79.398	30.0251	5879
+-114.7383	45.9133	5501
+-119.4035	44.2368	6958
+-88.7326	37.4303	9548
+-119.5069	35.6509	6586
+-84.3318	25.5838	6387
+-117.6067	34.0803	9162
+-109.3354	30.2998	7712
+-122.1898	42.5947	4740
+-89.8963	38.7668	8899
+-111.6329	28.7582	6104
+-91.2701	40.7846	7032
+-118.3405	35.2457	7851
+-86.0578	26.0567	5049
+-118.805	45.8094	8628
+-84.6009	29.7265	6327
+-110.9593	30.6685	8273
+-121.6628	45.6635	7632
+-119.4311	29.5949	5229
+-111.7987	33.6106	6763
+-118.7203	35.9197	7025
+-94.6903	39.7067	4669
+-111.2608	30.113	7590
+-107.4191	31.3651	6307
+-117.8923	34.8212	8524
+-124.4055	46.561	7893
+-113.8568	33.1423	6265
+-83.7206	27.0356	7915
+-120.065	35.0142	6338
+-112.4878	35.2749	4842
+-113.7054	33.3759	6062
+-120.3307	43.3298	5612
+-79.8235	28.7342	7059
+-118.3619	34.615	8233
+-117.2863	30.8044	7480
+-88.3072	38.6698	8576
+-80.4741	27.6212	8008
+-109.6706	31.9622	8647
+-120.7535	33.2535	5615
+-116.672	30.9875	7686
+-116.4565	35.3826	7914
+-79.4351	26.1747	6348
+-122.795	48.2474	8194
+-81.5222	29.2733	8053
+-116.9363	46.0268	7832
+-118.3931	44.7652	7842
+-110.8193	32.1299	8681
+-87.9376	37.2492	8774
+-115.9575	32.8073	8627
+-89.3434	36.5193	8374
+-83.7813	28.2479	7950
+-90.3876	41.089	6903
+-82.9393	26.9707	8611
+-91.0626	36.8272	7226
+-120.264	31.2212	5667
+-119.9879	44.8168	7001
+-119.4979	47.0671	7616
+-90.0309	34.4285	5914
+-89.0306	33.8896	5566
+-84.4895	28.5298	7090
+-82.9199	28.3936	8754
+-120.3881	32.3167	5896
+-86.3111	36.5867	6804
+-88.8488	39.8826	7369
+-122.3516	44.9585	7319
+-116.8178	34.945	8526
+-118.2601	33.1218	8270
+-115.687	33.5703	8096
+-88.0104	35.8297	7586
+-111.9868	33.6425	6612
+-122.3606	46.6728	8931
+-87.4896	37.4082	8353
+-115.0046	49.2325	4458
+-79.3819	30.5466	5467
+-122.0008	45.5285	7743
+-89.0585	36.7525	8739
+-83.8161	27.1316	7858
+-81.5968	28.2745	9057
+-117.9654	47.2017	8046
+-83.2138	26.9816	8382
+-117.2386	33.8807	9261
+-116.5193	36.0616	7282
+-119.2971	46.07	8186
+-83.4716	28.7768	7995
+-119.8708	47.8993	6719
+-93.1868	41.5726	5136
+-117.6132	33.3185	8840
+-87.8191	35.3385	6994
+-120.9387	47.4804	7379
+-121.8198	44.7228	6870
+-118.5804	48.2549	6957
+-84.4776	36.6602	4870
+-111.4021	30.084	7479
+-83.0885	30.8151	6278
+-93.5945	40.8845	5268
+-117.3446	38.097	5213
+-78.3905	27.9336	5654
+-122.6756	44.6948	7098
+-88.8473	37.8781	9560
+-85.0037	34.4365	4249
+-112.759	30.3663	6533
+-82.8258	27.0805	8790
+-82.8356	26.5057	8260
+-115.0374	45.4154	5747
+-112.2089	35.1783	5080
+-85.6293	37.8111	6290
+-111.2922	33.3775	7269
+-110.7779	34.085	6721
+-88.9714	36.6179	8616
+-117.1592	34.4285	9195
+-111.2001	32.7189	7926
+-119.2358	42.7754	5598
+-107.8932	34.1045	5672
+-121.2475	29.716	3857
+-116.7303	34.4794	8842
+-86.391	39.2775	6593
+-109.7177	33.6369	7151
+-89.1892	40.5553	7091
+-87.3479	37.3416	8181
+-120.8715	33.6937	5576
+-109.144	32.9025	7549
+-81.355	28.3567	8787
+-114.437	32.3384	6881
+-89.2931	40.2756	7403
+-115.898	27.5111	3716
+-81.538	28.3301	8965
+-113.6826	31.8922	5829
+-91.9368	34.8137	4863
+-122.9154	49.9995	6274
+-88.3781	39.6909	7501
+-118.4621	31.3727	7434
+-89.5501	39.4259	8268
+-119.6532	45.9479	7801
+-116.0618	47.1838	6643
+-116.1134	33.8494	8242
+-89.0808	37.1342	9122
+-115.8215	47.6312	6190
+-115.9854	30.9482	7399
+-114.3429	34.1857	6348
+-117.6997	29.952	6455
+-114.7884	31.9234	7127
+-88.8495	38.704	8646
+-94.3792	37.7414	4982
+-119.1091	46.3408	8350
+-122.297	47.6448	8609
+-82.171	29.7109	7692
+-85.2236	29.2367	6021
+-110.2618	30.4658	8260
+-90.1776	40.5918	7427
+-126.1438	45.8669	5843
+-85.3852	36.5924	5833
+-86.7966	25.8587	4192
+-112.4064	30.6193	6996
+-119.7814	46.9866	7417
+-83.2965	31.4378	5536
+-116.2042	29.5641	6027
+-116.5424	31.9149	8641
+-91.1068	40.7347	7147
+-126.7519	49.1923	4719
+-123.9681	46.8706	8428
+-87.0431	37.5289	7874
+-90.7978	37.0304	7518
+-117.2743	33.8992	9282
+-82.0065	26.2478	8168
+-118.4012	47.6917	7570
+-111.0672	31.6239	8677
+-82.1843	26.7052	8690
+-88.6039	34.6313	6404
+-90.283	40.3772	7667
+-78.8652	30.2396	5256
+-79.9849	30.5437	5920
+-113.8027	32.305	6178
+-81.2152	29.2981	7872
+-79.3575	29.4579	6215
+-117.2955	38.1768	5127
+-84.6356	25.718	6234
+-119.9663	27.9873	3412
+-114.2168	30.7423	5911
+-106.899	30.2656	5488
+-118.8561	30.2458	6194
+-89.8063	36.2781	7868
+-114.8714	47.086	5499
+-84.0921	27.4706	7651
+-122.5987	45.4966	7958
+-112.3658	35.3627	4824
+-117.135	48.1372	6784
+-116.2558	35.453	7725
+-117.6647	42.3503	5236
+-80.6264	28.3596	8060
+-81.4214	31.96	5080
+-92.4562	39.5651	7024
+-91.4283	33.3963	4167
+-118.7988	34.9296	7654
+-118.2349	38.662	4486
+-115.1271	31.0088	6876
+-82.3295	30.4178	6885
+-90.3895	40.0186	8057
+-81.965	26.0182	7905
+-89.7275	37.1769	8605
+-125.7954	45.8157	6183
+-89.4559	37.0785	8798
+-120.9156	46.1838	7263
+-122.1778	46.7644	8782
+-113.135	32.0577	6395
+-111.753	29.9164	7101
+-126.2564	49.1047	5234
+-122.9726	46.2833	8851
+-89.6463	38.6968	8628
+-108.6796	34.4353	5902
+-108.3102	30.0295	6710
+-119.507	47.7271	7104
+-108.782	28.1655	5407
+-112.5294	32.4979	6896
+-88.1792	40.3884	6464
+-83.0366	27.0378	8579
+-113.0557	34.2029	5380
+-114.9984	31.4562	7084
+-118.7752	34.5338	7835
+-124.785	49.3926	6231
+-122.8039	46.8076	9402
+-120.9461	31.1836	4955
+-114.7651	45.2102	5417
+-120.6238	34.14	5876
+-120.3947	43.4951	5709
+-118.6398	45.4629	8487
+-113.018	31.7186	6561
+-80.9457	28.2244	8452
+-85.4482	26.6686	5942
+-81.8567	26.953	8920
+-91.8257	36.3221	6380
+-88.8129	39.1477	8151
+-117.9153	31.242	7702
+-119.5885	42.967	5666
+-113.7214	32.4383	6109
+-92.1152	37.0971	6844
+-91.1135	39.4522	8332
+-116.3193	47.1239	6915
+-118.6223	33.8839	8034
+-83.6074	25.9965	7286
+-116.6998	33.7895	8815
+-116.8386	44.6233	7073
+-92.0284	38.4045	7612
+-110.6726	30.2465	7979
+-110.8355	34.4282	6344
+-117.1504	33.5195	8856
+-92.2428	39.6807	7183
+-83.6523	26.3486	7542
+-109.2368	30.567	7854
+-109.1685	30.2129	7525
+-108.1204	28.6283	5474
+-89.8261	40.7496	7187
+-117.5979	31.1987	7816
+-116.025	45.0088	6604
+-82.552	30.2818	7008
+-77.6903	26.8527	4761
+-86.9827	32.16	3318
+-115.2963	31.7406	7537
+-113.9244	31.9767	6233
+-118.1754	33.7628	8467
+-114.0701	31.5203	6213
+-116.6509	37.3662	5948
+-110.6172	30.0461	7780
+-106.9158	26.6497	2971
+-111.3529	29.6746	7129
+-88.0743	35.1799	6918
+-79.5797	31.006	5226
+-107.8965	27.4281	4254
+-81.2688	26.2401	7908
+-118.1408	33.3282	8241
+-121.4608	48.555	7251
+-117.0196	49.3687	5549
+-116.8279	43.6097	6206
+-88.3918	39.0727	8181
+-108.37	32.3522	7189
+-117.6081	30.8739	7471
+-108.4792	28.2829	5372
+-125.6133	43.7047	4945
+-89.7572	40.9003	7010
+-117.5503	27.3261	3594
+-91.9392	38.8298	7745
+-119.2585	34.8258	7238
+-119.8543	36.5548	5672
+-122.7571	46.3368	8897
+-125.794	48.6124	5949
+-83.9699	28.2246	7751
+-87.8969	40.3625	6635
+-120.9653	41.7297	3830
+-117.32	35.204	8368
+-120.3467	45.3988	6953
+-90.6943	38.6168	9060
+-109.6703	30.8716	8420
+-115.6171	32.4082	8180
+-119.0854	33.7739	7515
+-114.8695	33.6208	7248
+-120.2548	32.3326	6046
+-87.5612	41.8619	4896
+-88.3526	37.8691	9297
+-89.6867	38.3647	8566
+-81.0179	26.5153	7996
+-118.6113	32.7994	7918
+-114.6566	30.8294	6354
+-91.0423	39.3192	8486
+-119.6439	42.8023	5482
+-111.956	28.9027	6079
+-114.6103	26.7554	2485
+-117.0095	30.5956	7275
+-115.5145	34.7312	7518
+-85.5472	27.9143	6027
+-121.9526	46.9033	8563
+-113.2631	30.4148	6056
+-119.6784	45.8777	7764
+-109.7111	33.3633	7431
+-119.163	44.7635	7566
+-118.0499	32.6939	8537
+-117.888	33.1837	8647
+-116.6823	34.8011	8570
+-109.3327	28.5992	6063
+-116.2364	31.7201	8283
+-115.8591	34.2748	7995
+-91.2056	35.7101	6306
+-107.4391	30.4709	6114
+-91.6877	36.2179	6354
+-91.6003	41.3643	6316
+-89.6299	36.2758	7978
+-90.6776	38.8028	9102
+-90.3336	36.2818	7468
+-118.0513	43.3566	6345
+-124.0569	46.5426	8253
+-82.0064	29.948	7420
+-111.4691	35.1639	5404
+-122.5991	48.6431	7735
+-85.1188	30.1299	5585
+-109.1441	30.4199	7671
+-117.6082	33.5828	8831
+-77.6576	30.063	4201
+-90.6803	35.6169	6668
+-88.8182	34.9351	6749
+-118.9373	45.4874	8312
+-117.6252	29.93	6450
+-91.391	38.9285	8321
+-118.1068	43.6096	6616
+-91.3359	37.2155	7478
+-117.9484	32.4301	8576
+-89.4286	35.687	7473
+-116.2066	33.3106	8742
+-108.7589	33.8821	6455
+-120.1959	48.2441	6218
+-121.8584	46.846	8454
+-110.415	34.5717	6235
+-119.9811	38.3517	4066
+-79.827	27.355	7242
+-84.8867	37.947	5448
+-107.0416	33.3963	5402
+-121.9511	44.9049	7113
+-115.9168	34.6027	7979
+-109.3606	28.7241	6201
+-118.8894	30.5761	6460
+-112.3081	34.954	5241
+-119.6807	43.6572	6280
+-113.3947	26.2369	2799
+-90.519	41.3011	6671
+-114.4068	37.4666	4747
+-111.8237	33.6615	6703
+-118.9196	45.803	8517
+-90.2809	36.1951	7445
+-118.3018	28.8163	5049
+-84.9596	29.3752	6213
+-110.9534	29.2419	6849
+-119.2396	45.6874	8158
+-90.6793	35.1605	6277
+-118.3666	32.0366	7965
+-120.2187	43.6433	5948
+-106.5199	30.4679	5169
+-117.5586	38.7591	4482
+-120.0317	45.9106	7398
+-117.2591	29.4822	6019
+-88.5281	37.5062	9493
+-84.946	28.074	6691
+-82.2352	26.2322	8153
+-87.2758	36.5917	7752
+-120.1732	44.9869	6938
+-121.0541	48.0024	7281
+-113.516	29.7608	5500
+-108.9324	29.5442	6793
+-90.2104	39.3248	8777
+-115.2909	33.7071	7636
+-121.0741	43.9416	5524
+-115.7872	35.7459	7151
+-116.535	32.5104	9163
+-119.3875	36.6219	5971
+-82.6775	29.8926	7410
+-81.7164	27.7981	9419
+-107.0568	30.0781	5567
+-88.694	38.8656	8466
+-112.0666	35.629	4705
+-119.1444	49.3968	5652
+-88.02	36.5158	8276
+-117.8696	34.8724	8497
+-114.8498	31.6616	7063
+-91.6856	40.6377	6952
+-82.3142	28.5535	8979
+-124.1065	45.8262	7782
+-81.9784	26.7006	8674
+-121.3104	47.7076	7679
+-89.7958	38.7175	8790
+-122.4318	45.5915	8010
+-89.4997	38.1094	8853
+-120.9969	32.4619	5240
+-91.0256	37.4701	7881
+-116.2678	48.6643	5806
+-118.605	44.2206	7241
+-88.2905	39.5333	7652
+-117.5562	33.7769	9037
+-89.5093	34.8161	6509
+-120.9871	49.664	5973
+-116.24	45.4421	6987
+-116.829	32.365	9226
+-85.8345	39.5374	5911
+-124.2737	46.7065	8070
+-115.6201	32.7398	8248
+-83.7079	27.3856	8060
+-125.6829	47.4896	6495
+-118.6049	45.6504	8675
+-89.6657	33.774	5331
+-116.4164	46.4483	7249
+-114.0784	33.5485	6430
+-116.4738	34.878	8351
+-121.7785	32.1734	4338
+-123.6754	46.4437	8579
+-120.9698	47.0669	7483
+-125.0245	49.1157	6286
+-86.713	40.0408	6291
+-116.7669	31.9632	8775
+-89.9654	42.0038	5889
+-115.4393	43.9739	5500
+-88.3885	38.6369	8646
+-116.1107	31.4598	7964
+-116.8995	33.0075	9527
+-119.5248	32.4162	6865
+-127.4839	43.8884	3540
+-120.6436	37.5782	4276
+-123.266	45.5518	8001
+-118.2257	32.4101	8277
+-116.8865	34.5075	8956
+-90.3151	35.898	7177
+-94.2337	39.0709	5260
+-123.8701	46.2705	8294
+-116.6696	29.413	5942
+-84.1973	27.695	7556
+-114.9088	33.538	7321
+-91.0638	38.7608	8691
+-119.1062	45.9728	8379
+-118.8136	31.123	6958
+-80.8821	25.5491	7012
+-110.4775	28.3974	6018
+-113.8628	33.6061	6181
+-93.1077	35.8942	5170
+-111.6046	34.1796	6341
+-90.7788	38.1934	8688
+-120.6013	49.0172	6222
+-90.6591	36.5969	7085
+-119.7002	46.3592	7735
+-117.1747	44.6167	7299
+-89.5149	34.6945	6375
+-90.0949	38.7682	9113
+-118.4851	32.4741	8017
+-88.2659	36.1228	7994
+-109.7627	31.3671	8812
+-115.1393	33.5056	7575
+-88.4235	37.9555	9311
+-115.9881	30.8618	7315
+-120.1078	48.8552	5761
+-116.6781	33.3197	9106
+-80.6407	25.9454	7228
+-111.6758	35.8854	4591
+-124.2251	43.2884	5311
+-118.9243	33.9015	7712
+-116.997	35.2078	8329
+-93.0633	38.2674	6489
+-81.4679	28.1123	9044
+-79.6801	30.2427	5949
+-85.5837	38.0756	6213
+-92.0884	36.3381	6241
+-113.6494	29.5858	5279
+-117.9583	43.0858	6050
+-91.445	37.7255	7834
+-116.4189	31.5598	8224
+-88.4037	37.355	9279
+-116.6903	31.798	8576
+-125.274	49.7045	5625
+-116.7493	34.0579	8968
+-114.0693	29.4797	4828
+-91.1678	36.9156	7274
+-117.3298	49.9299	5081
+-115.9911	34.535	8079
+-119.4225	44.9424	7540
+-93.3574	39.9097	5984
+-112.8279	32.8244	6455
+-117.5362	35.0538	8492
+-91.2276	39.2845	8347
+-92.7654	39.0575	6836
+-120.6707	46.1454	6996
+-81.8385	26.6819	8621
+-124.3593	46.427	7897
+-118.9817	49.8082	5264
+-81.8812	27.4047	9393
+-83.895	30.1058	6579
+-114.5198	46.7195	5221
+-117.5332	45.105	7941
+-117.7421	49.8381	5260
+-89.1846	37.4404	9282
+-80.382	27.8975	7906
+-115.3983	45.2299	6069
+-81.2295	25.7957	7439
+-78.40	28.5322	5581
+-121.7203	47.472	8196
+-88.2373	37.2299	9045
+-110.569	32.1663	8792
+-122.3447	48.6669	7641
+-93.9033	38.2282	5589
+-88.9472	41.3055	6265
+-89.5544	37.5026	8912
+-89.3526	37.9515	9083
+-108.4367	31.3686	7406
+-110.068	30.8296	8608
+-83.2778	27.055	8368
+-122.0477	47.0371	8667
+-89.9892	38.3964	8854
+-89.9362	42.1326	5747
+-92.3245	37.0198	6622
+-88.2139	39.4228	7748
+-118.7283	44.4762	7477
+-116.8982	34.3668	9062
+-91.4087	41.6451	6114
+-81.3884	25.7856	7498
+-117.9681	33.9465	8746
+-79.7874	27.2011	7162
+-91.1285	39.2891	8433
+-121.2611	31.2825	4666
+-88.5144	39.3215	7935
+-92.3836	41.7976	5495
+-117.1024	37.2473	6136
+-117.7341	46.452	8570
+-120.8159	47.2893	7289
+-88.8544	36.2412	8213
+-116.7641	32.9686	9470
+-113.6379	30.5162	5711
+-116.6421	32.471	9224
+-123.9595	42.0474	4078
+-90.3533	41.5657	6389
+-116.4685	47.4979	6834
+-124.9255	47.3476	7342
+-118.0088	35.4273	7911
+-114.8141	33.0063	7343
+-114.9632	46.5758	5708
+-125.3601	47.759	6767
+-111.4646	29.8461	7227
+-81.5946	25.8819	7675
+-123.0747	45.9618	8486
+-116.2295	35.0054	8060
+-116.1303	29.0523	5452
+-118.2059	44.6876	7762
+-120.0493	45.3241	7218
+-119.4665	44.5192	7169
+-113.9098	29.7918	5140
+-117.5708	32.8597	9077
+-119.7228	45.7201	7684
+-117.8476	33.3443	8469
+-81.4102	26.5502	8291
+-92.6775	37.6743	6693
+-116.9087	35.6963	7789
+-91.1316	37.7486	8077
+-120.5045	46.2557	6902
+-119.1552	33.8155	7449
+-124.3369	48.3604	7407
+-120.059	34.116	6492
+-116.9154	45.7061	7753
+-83.954	25.8165	6874
+-120.1057	43.1551	5593
+-114.0541	29.9185	5057
+-115.6965	28.658	4903
+-109.4691	29.3011	6830
+-82.8132	28.1275	9022
+-118.8291	48.8312	6311
+-109.4062	31.7949	8443
+-114.0789	34.3706	6051
+-83.6479	28.7755	7834
+-82.2993	24.7229	6444
+-80.9249	31.0357	5949
+-118.1971	34.1186	8523
+-117.2539	34.0724	9470
+-116.4669	34.7919	8408
+-119.9397	47.5553	6925
+-90.1067	39.4252	8638
+-84.279	28.7201	7236
+-119.2733	45.127	7790
+-79.1601	27.1381	6454
+-82.6929	28.6554	8704
+-120.5614	43.8145	5843
+-92.1432	39.1309	7484
+-123.9766	49.7119	6367
+-115.6019	35.0427	7469
+-118.7373	44.6849	7687
+-120.017	43.4477	5905
+-118.4733	30.9767	7100
+-117.4989	37.0779	6316
+-113.9879	34.5196	5937
+-115.9467	28.9051	5244
+-115.9759	31.573	7979
+-118.2435	35.5553	7656
+-111.9263	33.0439	7132
+-90.0052	39.0827	8881
+-119.3976	49.0203	5950
+-124.5097	46.5849	7789
+-116.5356	33.7127	8618
+-117.9417	35.0384	8306
+-88.4797	37.6906	9492
+-115.8605	45.3005	6559
+-92.2969	38.2859	7302
+-79.1441	24.9064	5212
+-119.2638	48.691	6327
+-118.4918	30.7076	6850
+-117.6734	35.0536	8440
+-121.2752	43.4157	5316
+-122.9835	48.7333	7663
+-83.2627	27.9614	8596
+-88.914	39.2647	7746
+-116.6829	45.5026	7451
+-118.2704	47.8356	7422
+-92.7916	38.1162	6740
+-117.7268	28.2727	4614
+-107.4528	33.1843	5903
+-117.5192	44.8539	7712
+-105.3821	31.3839	4105
+-118.8978	29.2807	5259
+-113.0376	29.5374	5799
+-120.8358	46.8977	7337
+-114.9734	31.2003	6890
+-82.0804	28.3149	9269
+-118.6998	44.8296	7845
+-114.0516	33.1026	6486
+-114.2442	46.6007	4950
+-111.8114	34.1751	6241
+-115.1688	32.494	7716
+-110.7921	33.6843	7144
+-85.1851	32.6453	3382
+-119.8194	34.041	6751
+-89.8024	41.0319	6886
+-109.6922	30.9031	8461
+-83.3365	28.9147	8011
+-121.2213	42.8286	4604
+-89.6286	37.1636	8695
+-118.5716	32.3887	7900
+-116.6096	31.3482	8067
+-113.03	31.2045	6523
+-109.8774	32.1815	8659
+-111.7145	29.7556	6991
+-86.9775	34.5386	5771
+-125.261	46.6003	6981
+-115.2879	32.3153	7799
+-116.7544	45.2742	7420
+-123.565	48.7464	7519
+-119.9438	33.8062	6596
+-121.4781	45.0681	7000
+-85.3855	26.8696	6076
+-116.1187	31.5593	8061
+-118.1508	42.5121	5458
+-121.2079	49.6555	6116
+-91.8393	40.2806	7147
+-119.0104	32.9867	7465
+-112.4375	30.1214	6698
+-114.902	36.421	5949
+-118.9777	34.924	7482
+-110.2042	33.6976	7179
+-90.5849	43.8342	3940
+-87.353	36.3449	7643
+-115.9877	45.761	6803
+-119.9984	33.0961	6350
+-91.5512	38.3468	8093
+-81.6109	30.4301	6822
+-116.9731	33.6257	8898
+-83.0673	27.308	8715
+-115.8765	32.8943	8534
+-117.2739	44.0024	6795
+-121.7257	49.828	6208
+-115.0016	35.405	6704
+-118.8737	34.4224	7757
+-83.1218	28.8603	8225
+-123.3556	46.3715	8783
+-81.5466	28.8014	8547
+-118.6985	36.3604	6650
+-117.7728	38.3432	4913
+-117.8517	30.5532	7042
+-118.045	47.1516	8119
+-108.931	32.4669	7678
+-117.9332	46.6799	8543
+-90.135	34.9294	6381
+-119.9001	34.1241	6665
+-109.8535	32.0684	8734
+-117.6597	29.7948	6295
+-80.0641	28.5983	7369
+-118.8399	32.2925	7583
+-117.1216	48.9466	6004
+-87.5631	39.1741	7649
+-118.8154	31.3162	7097
+-117.4396	48.3049	6760
+-79.7518	27.7664	7198
+-123.3667	45.776	8201
+-109.7949	30.7438	8393
+-90.4554	40.3915	7653
+-114.5046	33.4472	6918
+-122.0709	46.2339	8391
+-81.1346	24.8491	6404
+-117.7139	36.6129	6789
+-90.0946	37.3757	8289
+-123.6613	48.4977	7728
+-93.6993	37.4057	5568
+-93.3028	41.5696	5050
+-91.5426	35.5304	5736
+-83.7202	36.1299	3894
+-78.3203	27.4367	5562
+-122.3378	49.8078	6424
+-117.7119	31.0364	7600
+-87.4069	37.4684	8273
+-123.0128	46.1671	8719
+-89.6277	36.9107	8529
+-105.9715	30.6114	4632
+-88.0042	40.0912	6961
+-116.4725	46.9911	7123
+-116.7973	30.4878	7148
+-91.5845	39.5827	7849
+-85.8022	39.6684	5800
+-116.4678	34.8592	8360
+-118.7068	32.9763	7804
+-120.5656	45.6604	6799
+-80.7323	27.9236	8297
+-77.8454	27.715	5041
+-85.9896	35.9527	6152
+-87.1268	37.7463	7972
+-82.2772	27.7655	9730
+-114.47	35.1969	6274
+-110.6122	31.3013	9044
+-115.9492	33.6618	8278
+-119.035	49.7997	5262
+-116.299	43.0705	5425
+-79.9584	26.1754	6844
+-116.3957	34.2061	8585
+-119.0022	44.9769	7848
+-124.4541	43.8985	5828
+-117.4277	43.4233	6284
+-80.8828	26.2992	7711
+-113.0299	30.9714	6478
+-109.9553	32.3906	8508
+-111.9162	32.125	7661
+-117.6409	33.0069	8971
+-85.6673	32.1394	3532
+-111.647	30.4573	7599
+-116.9618	45.4847	7717
+-117.5039	43.8567	6745
+-88.6087	38.2237	9164
+-84.5763	25.5969	6196
+-92.5516	38.0537	6970
+-113.3474	32.6887	5995
+-118.5894	46.8303	8422
+-119.2637	33.0949	7082
+-81.5758	28.8646	8499
+-119.278	44.7452	7481
+-115.3452	47.6995	5718
+-90.1816	38.3196	8912
+-108.5846	33.0419	7006
+-113.436	30.6318	5957
+-115.6492	46.2798	6464
+-123.4316	47.0306	9018
+-118.7824	46.236	8713
+-78.4517	24.6725	4452
+-112.7187	26.7439	3628
+-87.8016	36.8842	8421
+-88.7794	38.7676	8579
+-118.4604	34.6636	8113
+-86.4418	38.8302	6897
+-118.3253	32.1297	8055
+-124.4458	46.5372	7844
+-87.836	42.4051	4622
+-85.2608	40.6291	4662
+-88.421	34.7997	6574
+-115.6669	45.1386	6308
+-115.8604	34.3569	7985
+-89.4783	39.8463	7892
+-83.5418	28.2833	8195
+-92.7624	39.8824	6584
+-114.2302	44.9427	4796
+-112.0777	29.5382	6561
+-114.0947	35.1611	5901
+-117.3259	32.1106	8869
+-117.5724	30.5401	7125
+-109.4667	36.0363	4558
+-80.7089	28.2403	8194
+-86.3003	27.3897	5159
+-115.7527	34.8945	7689
+-122.6676	45.3774	7842
+-122.5537	42.5502	4739
+-81.3215	25.9955	7688
+-121.9078	33.6268	4445
+-114.9735	37.3813	5201
+-108.0323	33.0876	6495
+-81.7615	27.2739	9194
+-118.0755	31.298	7655
+-115.9423	30.6159	7045
+-87.5047	37.3329	8350
+-92.4068	38.899	7237
+-90.0803	38.0854	8637
+-112.2164	35.8844	4386
+-116.6837	34.2024	8898
+-123.7239	47.0406	8697
+-124.2653	46.4531	8004
+-114.6796	31.4201	6764
+-106.5631	33.621	4830
+-118.4203	29.4663	5679
+-114.9238	36.6012	5826
+-117.772	29.8116	6283
+-80.886	26.8616	8149
+-108.8597	34.9977	5444
+-117.9104	33.5451	8587
+-111.5956	30.3404	7554
+-122.4503	48.7654	7569
+-118.1145	43.9098	6934
+-114.5457	30.9001	6309
+-127.405	48.4796	4385
+-117.6135	34.2873	9124
+-120.5097	47.1809	6970
+-122.3289	48.9803	7307
+-85.7798	39.2553	6017
+-118.5544	45.5352	8597
+-83.6083	27.2539	8126
+-119.0412	35.8792	6822
+-87.1671	39.3162	7235
+-83.1817	30.1721	6924
+-87.2886	27.9408	4057
+-118.601	34.7539	7933
+-89.7743	38.9836	8721
+-117.4859	49.0697	6004
+-86.6031	39.785	6416
+-119.9766	43.5958	6059
+-80.1525	28.4255	7531
+-84.5627	31.3101	5032
+-119.0983	34.1032	7540
+-109.3463	29.8267	7291
+-111.8735	30.923	7658
+-80.7791	29.3247	7557
+-90.2469	36.0752	7376
+-115.6344	46.6041	6405
+-118.8174	35.9733	6913
+-124.6294	45.9692	7413
+-116.9735	41.2546	3945
+-84.169	27.6578	7586
+-89.0665	37.867	9410
+-88.2373	38.9837	8221
+-107.9968	28.983	5686
+-89.827	36.4316	7988
+-88.3812	41.0507	6137
+-122.1347	48.5175	7706
+-91.416	37.17	7390
+-117.5963	35.5938	7905
+-120.2592	31.7109	5879
+-82.7858	27.1911	8908
+-90.2996	38.1389	8760
+-118.7107	35.5624	7322
+-79.9841	26.5476	7097
+-118.3855	32.797	8170
+-117.3186	34.4831	9152
+-85.9994	37.1646	6658
+-110.5898	30.0617	7802
+-124.0694	48.4855	7500
+-111.2537	31.1787	8384
+-81.8587	29.4474	7966
+-115.2647	30.5577	6598
+-89.0299	36.6664	8655
+-83.7671	26.5183	7566
+-121.3246	42.7882	4700
+-107.7457	33.6597	5879
+-110.352	34.0349	6817
+-109.7548	28.6448	6229
+-110.5324	29.5889	7302
+-119.8317	43.6495	6191
+-82.3769	30.0012	7349
+-91.6674	36.7576	6869
+-115.8805	34.5408	7962
+-90.262	40.5921	7435
+-79.0156	26.2931	5991
+-117.4251	48.6545	6407
+-84.2954	28.4386	7331
+-116.0633	31.9014	8319
+-119.1526	49.2444	5805
+-114.1369	44.1718	4418
+-115.1225	34.732	7110
+-85.1468	25.5649	5670
+-90.648	37.2869	7822
+-117.6514	49.7605	5326
+-117.0164	32.7055	9617
+-118.7259	32.7448	7789
+-110.6144	30.8016	8573
+-108.2831	32.39	7086
+-121.1041	43.9535	5753
+-121.4615	45.6309	7450
+-117.9786	35.7131	7648
+-115.4937	32.9401	8104
+-93.6238	40.8611	5256
+-88.5085	37.8111	9483
+-109.9905	31.6582	9093
+-85.0927	25.1524	5425
+-115.5052	29.7435	5957
+-87.6539	36.0636	7625
+-92.3457	35.983	5768
+-118.4111	33.3552	8028
+-81.8291	29.7023	7676
+-115.5143	31.718	7722
+-113.1859	43.3745	3139
+-120.6776	47.0032	7164
+-118.9542	32.944	7531
+-89.3682	40.9406	6822
+-88.4286	38.8289	8456
+-92.0447	40.3466	6941
+-113.1136	28.0636	4614
+-117.3499	28.8081	5261
+-90.7604	39.2542	8746
+-111.4565	29.2992	6716
+-85.4627	25.6327	5418
+-115.6574	32.2774	8174
+-117.5066	43.0951	5973
+-81.7943	27.0934	9040
+-90.7032	39.55	8496
+-122.3974	48.72	7602
+-108.7736	34.4677	5921
+-117.8957	45.582	8575
+-89.5852	36.3968	8120
+-121.3468	48.2555	7389
+-88.2164	39.1393	8050
+-120.1065	42.2414	4741
+-87.7392	39.5355	7421
+-108.8879	32.102	7810
+-92.1359	37.7017	7223
+-112.5426	30.6323	6868
+-88.774	36.1623	8127
+-117.0399	43.0067	5730
+-117.513	33.80	9086
+-90.5622	36.1638	7187
+-118.8366	43.0618	5990
+-114.2993	32.5879	6767
+-80.9527	27.2802	8448
+-118.1663	29.5853	5908
+-88.116	39.6725	7447
+-119.4627	32.4672	6942
+-108.8551	29.6814	6864
+-121.6053	49.183	6786
+-117.4639	46.2006	8386
+-124.4144	48.2041	7458
+-123.4548	45.2766	7652
+-81.7969	28.576	8901
+-109.6941	35.1062	5594
+-83.2071	26.5575	8063
+-118.4562	34.031	8235
+-90.522	37.9713	8572
+-122.1231	45.8582	8119
+-123.4224	46.5222	8853
+-117.5137	45.6038	8291
+-115.8219	32.76	8474
+-91.9609	40.7222	6702
+-119.9662	29.3779	4663
+-84.414	29.0686	6921
+-92.8688	37.4874	6420
+-82.0021	28.8859	8617
+-83.111	24.8528	6415
+-81.0476	26.4695	7979
+-91.4334	39.661	7926
+-89.2524	37.7208	9266
+-104.5701	29.1062	2677
+-122.9548	44.5157	6913
+-122.7653	46.7267	9304
+-81.8013	25.3767	7163
+-118.0563	33.6817	8546
+-120.7345	46.3835	7142
+-126.2213	47.1562	5951
+-79.646	28.9829	6760
+-86.8675	38.0675	7636
+-85.963	38.5512	6515
+-111.8626	31.131	7746
+-86.6895	40.6332	5749
+-109.5703	28.6639	6204
+-115.4382	32.9278	8044
+-114.208	31.8968	6509
+-89.8302	40.9316	6999
+-121.361	46.4074	7807
+-111.5749	30.8176	7893
+-120.6142	46.076	6792
+-116.7594	36.5655	6828
+-91.504	37.6133	7704
+-116.3647	34.1946	8552
+-119.3235	45.4817	7979
+-119.6359	34.5546	6913
+-124.3579	46.6209	7960
+-118.3564	35.6787	7475
+-88.4142	35.6576	7526
+-112.351	33.3833	6544
+-118.3024	48.5557	6660
+-121.4077	46.1501	7737
+-107.9479	35.5636	4446
+-112.3548	31.1103	7224
+-88.0374	38.1731	8818
+-118.5778	31.6936	7562
+-110.6833	31.4562	9070
+-83.3204	28.3094	8416
+-117.9072	34.8603	8481
+-108.8129	29.0434	6266
+-88.2773	39.9117	7235
+-116.8094	45.5612	7599
+-117.2245	43.7275	6509
+-118.7843	31.2645	7087
+-86.9483	42.1277	4232
+-109.3062	33.035	7547
+-93.0315	38.2978	6529
+-93.2643	35.0515	4371
+-91.5202	37.7618	7801
+-90.2063	38.3757	8978
+-115.8868	33.3606	8404
+-112.3847	28.8245	5749
+-119.5338	45.2839	7679
+-116.6338	30.06	6656
+-115.9094	45.098	6532
+-84.222	25.4344	6350
+-91.0934	36.39	6768
+-117.5601	42.8647	5750
+-123.4646	47.3534	8854
+-119.2165	32.5559	7226
+-126.3045	47.0213	5865
+-91.9618	42.576	4963
+-81.5392	29.7669	7532
+-110.6018	30.4309	8192
+-111.7071	28.6069	5922
+-117.9535	43.7045	6700
+-86.7661	37.0226	7456
+-115.7629	33.023	8391
+-92.2872	39.6528	7153
+-120.5285	45.8597	6869
+-107.7842	32.9303	6350
+-86.1233	36.767	6681
+-118.3399	44.2187	7267
+-116.8226	32.3268	9183
+-125.6832	45.2626	6021
+-79.4247	25.9029	6173
+-117.678	34.9035	8585
+-90.0764	36.3431	7725
+-123.1825	45.2346	7678
+-113.9577	35.8591	5467
+-114.4002	33.8358	6673
+-89.0237	40.0126	7424
+-88.4312	39.258	7989
+-91.1421	38.4562	8547
+-122.2575	44.4276	6729
+-121.9427	47.3421	8476
+-112.0265	31.559	7639
+-116.7592	33.7911	8870
+-88.228	38.4624	8736
+-115.0131	35.714	6535
+-89.6977	40.4476	7451
+-122.4574	46.046	8484
+-88.2893	40.0994	7032
+-119.9366	38.1437	4282
+-115.7179	30.7934	7101
+-119.5399	45.6002	7828
+-118.05	34.0298	8676
+-83.2045	27.7925	8680
+-115.308	47.1986	5901
+-90.9753	40.1004	7835
+-88.9125	36.619	8628
+-87.6329	39.0826	7778
+-90.8314	41.7592	6145
+-116.4806	45.6212	7285
+-118.6261	32.1965	7777
+-126.0663	46.4166	6075
+-85.8939	29.0638	5392
+-88.18	39.4247	7734
+-82.1003	26.5648	8532
+-116.7097	32.3864	9194
+-92.8061	38.0978	6720
+-120.1423	49.3853	5576
+-88.1822	43.2072	4066
+-88.1545	39.5513	7590
+-90.5918	36.8947	7412
+-90.1748	40.1147	7936
+-108.0633	32.7403	6713
+-81.9489	27.1857	9203
+-118.4092	34.9024	8035
+-120.6444	46.7329	7115
+-114.3824	37.1252	5005
+-89.8533	36.7436	8215
+-122.8062	47.393	9127
+-117.1727	35.2074	8362
+-115.2956	35.0363	7173
+-108.6112	33.0651	7012
+-114.7256	31.8712	7040
+-91.4055	42.4247	5313
+-81.1486	25.9163	7521
+-89.4733	38.4027	8375
+-89.8915	37.7431	8217
+-109.7594	34.5201	6231
+-118.1414	29.0773	5381
+-88.858	38.9686	8349
+-92.3703	37.2147	6718
+-117.3259	34.5203	9111
+-110.1323	31.7136	9214
+-119.0067	31.634	7123
+-119.8633	49.1606	5613
+-124.8007	45.5015	6970
+-85.6254	25.8199	5369
+-116.5874	32.2583	9000
+-112.7385	32.4998	6685
+-118.2269	38.4314	4734
+-124.1995	46.7421	8157
+-108.8893	25.4426	2639
+-84.822	30.2731	5734
+-112.9881	31.8846	6579
+-89.0121	43.7989	3785
+-115.3494	34.1647	7446
+-91.2732	38.9605	8439
+-120.7396	44.3227	6050
+-125.4067	46.1319	6704
+-124.122	48.4357	7507
+-94.3668	37.7096	4987
+-78.8976	25.2952	5286
+-79.1204	27.0219	6381
+-116.7475	45.8671	7615
+-88.9283	37.7464	9612
+-94.5498	41.7582	3885
+-119.951	44.06	6470
+-121.5018	35.032	4815
+-117.896	39.1649	4006
+-110.345	29.7564	7494
+-118.6633	46.4094	8742
+-118.6544	38.4719	4569
+-109.3003	34.0107	6615
+-87.9973	39.4497	7635
+-111.4664	29.9307	7303
+-117.5164	36.0791	7398
+-89.7233	36.5626	8176
+-107.1661	31.8616	6029
+-113.3106	30.9978	6186
+-118.9524	41.4114	4245
+-85.9064	31.1236	4179
+-114.2377	35.073	6079
+-125.054	45.1415	6504
+-114.7032	34.4481	6721
+-119.572	33.6087	6959
+-85.1293	31.4912	4484
+-87.8293	37.2154	8648
+-91.2914	39.0857	8381
+-111.0547	31.8319	8647
+-90.2267	39.6491	8441
+-117.4488	33.6635	8988
+-89.8805	38.1312	8565
+-86.4476	43.1549	3058
+-116.8217	31.4898	8264
+-122.7874	47.6331	8864
+-117.5861	34.4632	9037
+-87.8334	37.7458	8764
+-81.6618	29.284	8095
+-117.6327	32.335	8836
+-122.427	48.4373	7909
+-118.5642	48.2046	7012
+-117.5694	33.9015	9122
+-124.5082	43.0215	4926
+-111.3291	31.9974	8305
+-118.2143	36.0553	7200
+-108.4045	33.2848	6687
+-121.3694	47.3142	7882
+-120.7809	34.413	5692
+-120.6128	43.8121	5802
+-113.0401	33.6599	5777
+-118.7991	43.7304	6692
+-87.8074	38.7018	8230
+-121.6906	47.0592	8274
+-118.9323	46.007	8566
+-84.0755	27.7339	7695
+-92.0396	36.9592	6795
+-124.7247	48.5086	6982
+-89.8763	39.1427	8733
+-118.8216	41.8756	4750
+-120.5927	47.715	6941
+-126.6509	47.2489	5474
+-122.609	48.0053	8421
+-118.3666	33.3457	8062
+-118.4216	46.2779	9022
+-120.1395	33.865	6390
+-89.103	39.0752	8001
+-109.7614	32.9502	7868
+-88.1054	34.4829	6166
+-91.3986	39.5104	8057
+-120.3853	47.2723	6712
+-122.7857	47.5298	8975
+-90.7918	40.8135	7157
+-90.0274	35.961	7435
+-119.2807	48.241	6759
+-119.7573	46.3835	7671
+-80.3191	27.6512	7836
+-88.6827	37.7894	9648
+-117.3481	36.7518	6680
+-116.3688	31.9538	8582
+-90.1077	39.3058	8756
+-116.7844	31.4703	8237
+-116.4409	34.5483	8530
+-109.884	29.55	7217
+-110.7959	32.0671	8748
+-80.2111	27.693	7716
+-122.1157	29.2732	2781
+-83.362	26.3773	7794
+-79.9475	28.4774	7292
+-111.7695	32.617	7556
+-112.472	30.7734	6996
+-82.5577	29.1338	8273
+-117.181	30.7542	7440
+-110.0362	33.0237	7880
+-118.623	29.3669	5485
+-92.7875	41.424	5549
+-85.7313	26.2349	5468
+-86.5835	40.1019	6143
+-89.2846	40.4616	7232
+-117.8704	38.0409	5225
+-90.8474	38.1762	8629
+-94.4939	40.4262	4640
+-115.7464	46.661	6509
+-115.9802	29.9948	6419
+-124.3341	48.8013	7048
+-82.1102	27.2131	9266
+-122.0955	31.3029	3788
+-119.71	34.3161	6865
+-112.3309	33.4318	6525
+-122.0678	46.9443	8692
+-86.1261	41.1798	4881
+-91.8936	38.7502	7796
+-86.992	37.464	7810
+-88.7912	40.0256	7225
+-115.1056	36.3673	6147
+-116.4785	43.8609	6215
+-91.4332	40.0079	7658
+-90.9802	42.8879	4918
+-86.4198	30.5791	4092
+-117.1787	28.3403	4754
+-116.9703	43.2213	5910
+-109.1591	29.2656	6659
+-113.1416	30.5863	6245
+-109.8064	33.2396	7590
+-89.7298	36.0121	7667
+-87.5442	36.3921	7833
+-80.7677	28.1393	8291
+-115.5811	46.2068	6396
+-117.7966	45.2177	8193
+-121.779	49.5911	6471
+-81.9359	28.6721	8844
+-121.7346	46.1488	8042
+-81.6058	24.2878	5912
+-124.0218	47.6426	8167
+-117.1512	27.0308	3296
+-120.0851	48.6363	5966
+-110.4207	30.1505	7918
+-114.6487	32.028	7022
+-88.2789	38.1717	9026
+-81.805	27.5315	9436
+-89.3927	36.1615	7986
+-119.1966	46.5749	8170
+-110.5362	34.718	6070
+-87.5036	37.08	8252
+-86.9555	35.9571	7020
+-86.6959	39.0034	7048
+-91.5873	38.9119	8115
+-92.4932	40.138	6702
+-109.7954	31.5779	8891
+-88.1085	38.9056	8240
+-115.3529	36.2492	6426
+-88.805	34.5674	6337
+-117.9881	32.5606	8578
+-108.3787	33.1288	6774
+-117.9431	34.0825	8798
+-93.2093	39.8126	6170
+-88.6244	38.5003	8865
+-85.4455	42.512	3220
+-118.0694	35.0075	8243
+-88.3709	40.8135	6318
+-83.6966	27.3461	8061
+-110.9967	35.6031	5059
+-91.5431	42.7479	4938
+-91.5399	35.966	6175
+-127.6528	45.3825	4102
+-81.6275	30.0822	7211
+-125.1368	47.9536	6920
+-116.1356	36.1989	6969
+-93.7293	36.93	5319
+-118.7841	33.925	7867
+-106.0151	35.5383	3129
+-111.5197	31.4991	8185
+-123.4939	47.8268	8458
+-114.8567	40.6742	2464
+-107.0648	31.881	5918
+-91.0497	40.3043	7602
+-123.049	48.2758	8159
+-93.0242	37.2128	6131
+-79.0289	26.9625	6264
+-106.3552	32.8052	4965
+-116.0648	35.20	7785
+-111.4618	29.9634	7335
+-107.6932	33.691	5813
+-109.9913	29.0687	6724
+-119.6711	43.1754	5832
+-118.7393	33.0184	7763
+-115.2244	30.1998	6246
+-106.5838	32.51	5289
+-80.0343	30.5042	5990
+-114.3187	33.3677	6736
+-93.8336	33.4525	2610
+-111.2356	31.9701	8410
+-87.5937	35.3329	6884
+-112.6288	33.2098	6425
+-111.1462	31.4862	8587
+-115.3565	36.7435	6010
+-88.2593	34.2581	5948
+-120.4923	47.4099	6917
+-112.6826	32.7532	6630
+-86.6739	39.2772	6850
+-109.5328	27.5316	4999
+-80.2073	30.4143	6188
+-117.8245	30.4883	6985
+-112.0018	29.8362	6856
+-88.4293	34.3764	6103
+-93.9961	37.2134	5193
+-89.3931	36.4793	8309
+-116.3966	30.883	7504
+-123.5274	46.4818	8735
+-112.3972	33.0691	6718
+-114.9797	36.8731	5645
+-120.3427	47.6918	6504
+-90.3428	35.3954	6712
+-92.8904	40.8115	5926
+-81.5848	27.3132	9087
+-89.7126	41.5901	6279
+-87.7837	41.6317	5241
+-106.1132	33.2289	4566
+-118.2684	30.2206	6514
+-118.7449	33.991	7918
+-120.8798	44.4537	6004
+-117.9613	45.7366	8746
+-118.662	48.1943	7007
+-90.7257	39.2063	8809
+-118.1261	29.5652	5903
+-90.5882	35.5242	6659
+-109.4609	31.9644	8442
+-122.8383	46.5761	9172
+-111.2539	32.0137	8372
+-82.7506	34.0958	2698
+-88.3756	39.5773	7625
+-119.9811	48.0655	6510
+-88.7472	38.8866	8445
+-111.5101	35.8981	4628
+-111.7584	34.2356	6211
+-87.4546	37.0716	8198
+-120.7905	30.8306	4947
+-123.5652	48.1614	8104
+-112.1627	31.5461	7491
+-119.4945	46.1069	7978
+-116.8945	34.619	8870
+-80.7351	27.7731	8311
+-111.8058	29.9338	7078
+-116.5743	43.0165	5527
+-88.924	38.9326	8382
+-88.5841	35.6163	7505
+-89.7449	37.4429	8689
+-85.4644	35.3369	5279
+-123.8293	44.5255	6737
+-116.4828	32.9668	9188
+-118.3835	33.7754	8258
+-109.6497	34.4623	6268
+-110.6359	32.0647	8857
+-89.3372	35.5264	7329
+-109.3305	32.0915	8255
+-96.8285	40.0872	2330
+-87.9875	39.6968	7374
+-116.1662	32.4863	8787
+-92.9667	35.8478	5237
+-83.5982	26.7188	7855
+-116.2938	33.8254	8425
+-109.2005	32.2653	8041
+-85.4686	37.3489	6096
+-89.3611	37.6054	9144
+-83.7296	28.5475	7882
+-85.6856	37.7577	6355
+-120.0863	48.7861	5834
+-85.0685	28.8979	6334
+-78.536	27.2042	5773
+-114.4318	37.6457	4614
+-91.8003	36.8246	6848
+-118.7834	49.3459	5782
+-91.1896	39.3021	8371
+-111.1631	33.0844	7615
+-120.925	49.0592	6445
+-114.4097	33.3685	6835
+-109.05	34.3158	6203
+-113.0255	34.9034	4842
+-122.9544	44.7664	7188
+-106.0856	30.3504	4681
+-120.7467	43.66	5588
+-122.8206	47.1969	9339
+-88.2192	39.7224	7426
+-89.605	39.6399	8150
+-117.8325	35.2031	8218
+-117.2224	41.9555	4730
+-113.76	32.7182	6175
+-90.1203	38.5804	9087
+-88.5835	40.2787	6879
+-89.6285	38.8324	8606
+-111.3267	33.067	7539
+-120.9619	35.6078	5198
+-122.1471	46.4414	8598
+-126.5199	48.5183	5279
+-116.7389	47.7618	6858
+-113.8423	29.4955	5050
+-118.4553	37.2822	5866
+-119.77	48.9866	5822
+-114.7237	33.644	7086
+-87.152	37.7203	8002
+-82.8216	28.5817	8686
+-90.7821	40.1716	7833
+-127.0151	44.6782	4433
+-111.7374	34.4746	5991
+-91.1578	39.5105	8254
+-119.0792	31.1022	6718
+-86.9777	38.6622	7517
+-92.1508	37.6663	7190
+-87.8622	40.0311	6973
+-120.1995	43.8933	6165
+-122.9322	45.1839	7647
+-90.1335	38.6254	9123
+-88.7526	39.4343	7830
+-118.664	35.2056	7616
+-85.365	42.9687	2743
+-110.6581	29.4199	7103
+-109.86	32.1057	8710
+-91.3926	38.7298	8336
+-117.8105	45.0508	8042
+-114.6367	30.8554	6356
+-116.9598	37.0671	6320
+-81.4006	29.0142	8256
+-110.1313	27.8785	5454
+-115.2403	34.8399	7197
+-118.491	35.2292	7745
+-118.3705	42.3707	5310
+-82.8892	28.4927	8707
+-88.978	39.0046	8294
+-117.4202	45.8256	8301
+-116.3807	34.8976	8262
+-91.8454	36.7552	6759
+-87.1302	37.968	7947
+-118.2547	34.3131	8442
+-93.525	39.2786	5991
+-107.7768	30.332	6390
+-122.145	45.4419	7737
+-117.7412	35.4299	8032
+-81.9209	29.8614	7510
+-87.8939	39.9489	7072
+-118.3316	30.2473	6508
+-90.0727	36.8445	8083
+-86.6263	36.2477	6933
+-120.0452	48.76	5881
+-114.6363	33.5063	7042
+-83.3508	25.8643	7337
+-91.2359	35.3324	6001
+-122.1552	46.5838	8686
+-121.0054	46.3367	7413
+-117.3387	33.8931	9264
+-88.7186	36.8097	8852
+-114.2993	35.1209	6126
+-126.6324	47.6912	5429
+-89.6415	40.9628	6909
+-125.0658	46.2873	7112
+-119.6886	45.0095	7377
+-117.4122	45.8528	8302
+-116.9041	29.9051	6505
+-111.892	26.726	3947
+-109.0547	31.3044	8056
+-116.1824	32.6661	8862
+-89.3682	39.6145	7987
+-88.5098	38.9733	8320
+-118.4212	33.0828	8103
+-116.2217	44.3204	6376
+-120.5066	43.7014	5797
+-89.0309	38.1331	9213
+-118.7228	30.9673	6908
+-124.2045	44.2297	6275
+-115.0682	46.1784	5854
+-116.8211	42.6777	5319
+-124.901	48.5204	6823
+-119.4092	47.2158	7582
+-80.8455	26.692	7995
+-90.0169	38.3766	8860
+-109.7931	31.7474	8862
+-88.5963	40.6187	6638
+-117.6325	34.6236	8871
+-83.2771	28.2205	8500
+-91.5723	44.1761	3437
+-120.227	46.2624	7195
+-111.3356	30.7173	8038
+-119.7873	36.0918	6056
+-116.3112	34.1607	8495
+-116.2099	34.1653	8385
+-108.4712	31.7662	7446
+-110.3582	30.0577	7820
+-112.982	34.3868	5295
+-106.4816	33.705	4709
+-87.8755	41.0081	5787
+-117.2984	36.7953	6634
+-91.569	40.3435	7284
+-117.5318	36.6132	6817
+-121.2878	47.5935	7706
+-88.5624	38.039	9338
+-112.8403	28.7679	5389
+-114.8921	35.5942	6497
+-90.8802	36.0621	6837
+-113.3315	31.7006	6223
+-120.6921	44.7218	6321
+-124.2472	45.8693	7697
+-93.3436	37.2851	5864
+-90.6669	37.5517	8097
+-115.5435	32.4605	8117
+-87.7406	39.7376	7220
+-81.1459	29.4046	7729
+-115.8857	30.1946	6589
+-115.108	30.9584	6821
+-78.7979	28.9616	5884
+-110.5772	30.9815	8770
+-118.9303	32.4998	7534
+-113.7696	31.4993	5749
+-83.8418	29.2673	7320
+-82.3068	27.1919	9213
+-117.3723	36.6657	6773
+-110.6382	32.2394	8690
+-83.6478	29.8794	6951
+-113.8127	36.4859	4979
+-124.1351	48.3175	7595
+-119.8983	30.3042	5446
+-121.749	48.6515	7364
+-124.4893	45.7537	7410
+-117.5028	44.3329	7215
+-88.4273	40.098	6864
+-118.4505	47.4064	7866
+-92.7798	40.795	6029
+-89.7103	40.1086	7790
+-118.5674	34.0499	8116
+-92.2038	41.0285	6281
+-82.913	27.7635	9010
+-82.3211	25.336	7134
+-88.3562	39.1892	8044
+-110.4063	29.2824	6979
+-114.2563	31.1261	6190
+-123.557	44.4723	6772
+-118.5409	47.2669	7995
+-117.8902	34.3018	8833
+-89.8058	39.9695	7970
+-117.0452	30.41	7067
+-117.2221	33.7297	9095
+-122.4236	47.3743	8917
+-89.5347	37.7863	8942
+-115.9145	33.4965	8356
+-118.8247	29.7683	5771
+-85.4742	41.691	3978
+-125.0141	47.5481	7197
+-117.7552	47.1344	8031
+-87.22	36.0211	7281
+-119.7559	41.2622	3905
+-117.128	34.3561	9252
+-116.9284	44.366	6930
+-111.3249	31.2563	8342
+-120.54	37.4428	4460
+-92.3236	36.2354	6001
+-88.8397	37.9756	9458
+-89.3202	38.3421	8834
+-89.3141	37.2195	9022
+-111.5443	28.5786	5964
+-115.5992	31.2296	7416
+-86.9355	33.6029	4812
+-78.8525	28.4308	6105
+-87.7256	35.5584	7176
+-80.8563	27.6905	8445
+-110.7636	28.9576	6591
+-89.4308	37.5144	9050
+-114.7883	30.7454	6400
+-82.171	27.1256	9166
+-81.059	29.6113	7477
+-111.512	32.8819	7573
+-90.241	39.7759	8308
+-120.7186	45.0837	6466
+-81.2461	29.7326	7452
+-89.7908	37.1756	8540
+-87.665	37.8019	8569
+-80.2711	26.6311	7425
+-112.7421	35.4234	4562
+-118.4937	44.6011	7658
+-90.0503	40.2176	7802
+-116.9092	32.92	9621
+-86.2529	36.3502	6630
+-124.8764	48.3624	6948
+-82.4052	28.1085	9398
+-90.1748	37.7148	8286
+-116.5413	31.8371	8562
+-91.2892	37.4789	7742
+-116.3387	29.2576	5722
+-120.2409	43.1888	5545
+-89.7808	37.0523	8484
+-120.7933	47.488	7222
+-125.4026	42.8965	4357
+-114.3287	34.253	6330
+-117.9606	35.5069	7859
+-119.9982	47.9627	6579
+-125.6468	43.4653	4717
+-81.817	25.7376	7569
+-119.0743	43.5191	6402
+-109.6343	33.2117	7554
+-86.0747	38.9446	6470
+-84.3437	25.0279	5911
+-108.9589	26.1502	3402
+-116.0773	46.9331	6763
+-90.4132	40.4652	7575
+-86.3096	41.2499	4938
+-117.6769	46.7923	8286
+-114.6659	33.7638	6978
+-86.2478	35.9269	6379
+-121.1353	32.9993	5140
+-114.9882	44.1847	5224
+-116.1545	34.0446	8321
+-81.3853	26.8268	8534
+-114.492	35.5431	6143
+-111.2387	33.549	7129
+-91.6616	36.7081	6828
+-118.8027	46.8146	8325
+-88.1061	37.6638	9074
+-89.1037	40.8851	6741
+-113.8159	34.2787	5770
+-117.9094	34.2006	8833
+-87.7085	35.9238	7527
+-115.5849	37.1195	5799
+-89.299	37.9779	9122
+-121.6848	47.4003	8189
+-84.0358	26.9265	7540
+-85.9533	39.5207	6033
+-88.0462	36.5884	8360
+-119.7637	36.5221	5768
+-118.7834	36.1609	6776
+-118.2841	32.1387	8100
+-116.7923	34.4026	8943
+-91.0143	41.5447	6336
+-119.0492	32.6874	7425
+-116.1659	46.8991	6864
+-91.3376	38.2357	8256
+-84.5842	30.7762	5501
+-81.8626	29.1991	8243
+-92.1427	38.0981	7402
+-123.8956	48.0413	7997
+-119.304	46.5356	8085
+-114.8795	35.1005	6728
+-117.345	34.4434	9189
+-93.2969	38.9207	6279
+-115.1719	45.9366	5961
+-81.4286	27.7066	9092
+-92.1519	39.27	7437
+-119.3077	47.8441	7118
+-90.93	37.9148	8348
+-93.8645	36.9812	5216
+-119.5755	29.8827	5374
+-89.6681	36.3586	8032
+-83.0144	29.3665	7826
+-117.4293	34.8537	8732
+-120.3327	47.8021	6439
+-125.6324	43.8692	5068
+-127.5491	48.0099	4371
+-118.0437	30.6344	7038
+-115.2287	46.8179	5937
+-116.3057	37.312	5916
+-90.8892	39.1483	8730
+-91.3043	38.3388	8337
+-125.70	48.0573	6305
+-116.4234	34.2917	8602
+-80.7526	25.8266	7198
+-90.1566	37.6714	8236
+-119.6021	45.6412	7782
+-89.1997	40.519	7130
+-84.8054	26.2593	6422
+-91.385	38.6226	8336
+-92.4452	36.7865	6355
+-117.0536	31.691	8494
+-89.0852	38.7776	8517
+-105.9127	33.76	4135
+-116.7928	33.2877	9193
+-114.6485	43.4692	4508
+-119.3392	46.4139	8094
+-127.2077	45.2311	4504
+-115.1739	33.6708	7538
+-86.6521	38.5921	7224
+-121.8468	46.6291	8391
+-94.0887	36.3345	4657
+-122.8608	45.7799	8302
+-110.5125	30.7344	8533
+-90.3989	37.5793	8162
+-83.481	25.9741	7355
+-87.8277	38.6127	8318
+-92.0996	36.934	6731
+-111.8703	29.7616	6891
+-119.2758	46.893	7915
+-117.934	33.7594	8703
+-86.4289	38.3974	7066
+-82.1193	25.7277	7586
+-93.1869	36.846	5772
+-117.3808	38.0906	5219
+-117.7118	45.3553	8266
+-118.1119	30.2298	6597
+-87.6431	37.7783	8548
+-117.284	45.7912	8153
+-117.1771	32.2548	9084
+-112.7601	30.5977	6636
+-91.1734	38.9365	8549
+-87.0668	38.1206	7840
+-115.3146	30.6322	6698
+-121.8014	47.6412	8190
+-85.4095	29.8171	5520
+-126.0222	46.5084	6139
+-89.948	39.4977	8492
+-89.6803	37.3113	8715
+-82.8129	26.2393	8001
+-114.0798	30.5145	5634
+-116.0341	33.7885	8142
+-117.509	36.4028	7048
+-118.3421	31.9354	7931
+-109.8555	32.0079	8781
+-112.9522	31.5181	6635
+-86.1762	37.3882	6891
+-118.3683	45.1601	8261
+-116.8235	29.9313	6531
+-115.705	30.5677	6877
+-116.7396	36.5726	6816
+-119.6115	47.1916	7440
+-119.1662	33.5031	7355
+-89.0218	43.0593	4553
+-84.7777	26.2794	6460
+-120.2611	32.2066	6016
+-115.648	35.5287	7207
+-115.1721	33.9851	7247
+-114.9209	47.5757	5372
+-121.6974	49.1753	6843
+-86.9016	36.1994	7152
+-109.5045	31.6691	8571
+-81.0198	26.333	7839
+-92.5141	37.2229	6599
+-118.7724	33.1496	7576
+-119.099	46.3468	8358
+-116.2911	35.5039	7703
+-89.6612	39.282	8458
+-115.1838	31.9019	7518
+-115.9669	41.7482	4039
+-80.0409	28.4558	7400
+-89.5975	37.2983	8795
+-118.1271	36.5498	6740
+-116.422	31.309	7965
+-123.0261	48.7563	7635
+-121.2868	47.7099	7655
+-123.2535	46.4848	8950
+-118.5018	30.8707	6988
+-112.3271	32.8118	6936
+-82.2874	27.8024	9714
+-88.0106	37.7539	8961
+-118.8031	35.2931	7438
+-108.7677	31.9252	7737
+-87.4883	37.5758	8377
+-90.3001	37.4635	8035
+-90.7359	38.2554	8770
+-108.6342	30.0021	6959
+-90.8655	37.2013	7676
+-117.0691	35.0613	8503
+-112.6353	29.8946	6380
+-120.5307	47.0328	7002
+-113.2787	28.7616	5054
+-87.339	39.3211	7362
+-109.8162	31.4203	8886
+-117.7015	30.2479	6773
+-117.6029	36.5155	6914
+-117.3212	46.5069	8154
+-116.6546	32.5029	9259
+-116.4101	38.07	5143
+-122.4386	46.3947	8799
+-93.7832	37.0323	5319
+-87.9205	39.8999	7134
+-81.4718	28.4852	8787
+-116.2291	35.8699	7331
+-119.4095	32.7635	7027
+-96.875	38.5805	2425
+-89.9696	40.6871	7289
+-119.053	34.5162	7545
+-94.4047	33.8956	2630
+-117.5681	32.7963	9082
+-85.4293	32.046	3781
+-82.341	27.3579	9374
+-117.8394	36.561	6817
+-110.0361	33.4003	7479
+-91.1907	39.8069	7991
+-117.1113	49.4008	5551
+-80.5707	29.0812	7582
+-83.5231	27.3534	8252
+-88.8676	38.3319	9059
+-113.9698	29.6845	5029
+-117.5501	33.898	9136
+-114.5244	34.2445	6544
+-118.7759	44.5983	7587
+-85.7113	36.21	6016
+-124.3685	48.7985	7027
+-118.7573	33.2768	7662
+-118.1394	47.5607	7706
+-118.6346	42.973	5928
+-87.451	38.4316	8106
+-81.7178	24.6867	6376
+-79.4382	29.098	6492
+-117.6421	36.8198	6579
+-115.4678	31.9814	7839
+-87.4904	38.3819	8173
+-90.2704	37.1557	8032
+-114.2068	36.1764	5525
+-112.0703	29.0568	6152
+-117.2444	35.2608	8308
+-91.4163	37.3327	7534
+-110.2133	27.389	4927
+-108.9237	31.7341	7938
+-126.5708	45.6975	5339
+-91.9155	37.2567	7118
+-109.8102	31.4757	8895
+-86.6844	40.7202	5666
+-96.0406	38.8614	3326
+-120.335	33.1799	6033
+-111.6009	33.9323	6582
+-125.9137	46.1128	6165
+-120.3501	48.0072	6581
+-116.5174	41.5847	4126
+-118.9281	48.7919	6329
+-117.6333	43.2625	6178
+-118.7054	31.0965	7025
+-117.5429	34.4849	9050
+-121.2621	48.6699	7010
+-114.19	45.6824	4903
+-119.8109	46.2884	7630
+-111.8077	31.5458	7876
+-115.6459	33.6628	8003
+-88.8826	38.1421	9265
+-116.4847	33.7791	8602
+-89.5059	35.9494	7717
+-117.7688	33.7653	8859
+-115.9511	45.5754	6729
+-87.938	36.9092	8555
+-119.0267	46.8284	8158
+-87.8533	41.3627	5504
+-90.1207	39.682	8381
+-113.7083	29.5968	5230
+-122.5166	41.599	3694
+-109.3865	29.9836	7460
+-118.632	33.5048	7898
+-89.7489	39.8916	8017
+-122.276	46.7001	8861
+-110.7256	35.9476	4726
+-83.7816	29.7762	6952
+-124.6953	44.7581	6479
+-120.0711	46.9837	7149
+-92.6229	37.2858	6540
+-91.2489	37.402	7698
+-116.70	38.8332	4374
+-116.2344	31.4641	8037
+-84.7579	30.6302	5498
+-109.5679	29.0558	6612
+-90.5183	35.7555	6906
+-122.9395	45.4389	7927
+-110.6573	30.784	8539
+-82.9656	33.165	3713
+-86.1022	36.4391	6522
+-119.0205	31.8122	7203
+-89.2807	38.5564	8661
+-87.4092	39.9453	6837
+-117.4585	36.2846	7182
+-91.787	39.4838	7717
+-88.502	37.7555	9502
+-119.646	45.6661	7746
+-88.7155	36.6804	8707
+-82.2628	26.6988	8676
+-82.2326	29.872	7508
+-119.093	32.1911	7280
+-86.2481	39.9925	5966
+-121.0379	48.8958	6660
+-82.9865	30.7894	6339
+-116.2911	33.4775	8699
+-109.0037	34.1071	6383
+-109.426	31.5101	8487
+-119.475	45.6558	7914
+-111.0152	31.976	8621
+-121.9752	46.1796	8272
+-80.6027	26.5885	7707
+-115.1883	35.3695	6900
+-113.278	47.3751	3790
+-117.731	45.2191	8159
+-117.5184	48.5274	6565
+-113.6878	33.1846	6073
+-116.1171	45.389	6846
+-124.8884	45.8941	7124
+-88.9933	35.7058	7600
+-110.4918	29.68	7404
+-76.8364	27.3103	3877
+-120.0934	31.2678	5861
+-110.7646	33.7115	7121
+-118.8259	38.5584	4420
+-80.9391	25.6635	7156
+-81.242	27.7098	8882
+-118.0625	32.6251	8512
+-88.9872	42.2932	5320
+-90.5107	40.8266	7182
+-117.6184	31.0746	7678
+-116.3101	29.4878	5968
+-113.0887	31.3676	6479
+-117.6597	34.4986	8952
+-109.3421	30.9056	8173
+-109.2746	34.7836	5821
+-80.2678	27.5472	7767
+-118.5196	47.2304	8038
+-124.9724	43.3021	4981
+-90.5414	33.5836	4818
+-119.2925	33.3518	7169
+-90.8078	38.626	8948
+-89.6945	40.7587	7136
+-111.6925	32.8461	7463
+-85.6922	38.0324	6340
+-108.6503	30.5843	7353
+-117.6253	34.4258	9033
+-122.8459	44.0756	6429
+-123.801	48.3361	7805
+-90.0111	37.2376	8338
+-85.1248	28.2735	6460
+-122.7492	46.7776	9340
+-119.289	33.9194	7319
+-119.6301	43.4985	6158
+-120.5129	47.708	6860
+-118.9945	42.7816	5666
+-81.6887	25.5074	7287
+-83.4813	28.4716	8171
+-121.3699	48.5426	7193
+-109.6458	32.6282	8118
+-111.6228	31.9912	8008
+-116.2514	31.9837	8528
+-90.2167	38.1612	8765
+-83.9764	26.1954	7152
+-117.1565	31.1936	7930
+-88.5189	36.7935	8797
+-119.6228	46.3824	7811
+-126.5423	48.0424	5434
+-89.48	41.3432	6465
+-88.2262	37.986	9110
+-82.3998	26.3996	8317
+-89.0985	37.3099	9269
+-121.4978	48.7536	7111
+-113.2324	35.8882	4739
+-118.1424	48.2179	7013
+-116.004	46.7969	6736
+-78.2203	30.0586	4762
+-114.4223	33.4685	6823
+-82.5322	26.6217	8521
+-91.5424	36.8474	7023
+-116.0089	35.8663	7202
+-86.2227	25.6271	4671
+-115.2856	47.935	5538
+-87.6947	35.8208	7420
+-82.2671	26.6979	8674
+-110.5761	33.7545	7106
+-116.2614	44.5471	6560
+-90.5568	38.9518	9138
+-115.0597	44.1844	5289
+-116.9673	37.6159	5725
+-93.9397	36.4981	4887
+-109.0025	29.6325	6915
+-123.4228	46.9065	9028
+-121.47	49.4225	6484
+-118.0507	35.9097	7420
+-116.3842	35.6758	7599
+-80.6902	27.7393	8259
+-119.1928	44.6203	7421
+-122.3027	46.6919	8884
+-122.1634	47.9175	8285
+-121.4887	47.476	7958
+-122.4681	46.0245	8468
+-122.5565	48.4623	7920
+-112.9948	31.5201	6589
+-122.4651	45.2777	7690
+-114.6759	36.3582	5813
+-116.7248	32.494	9303
+-81.2266	26.7475	8349
+-93.2744	39.6303	6167
+-118.5969	35.1154	7734
+-116.8182	31.9861	8812
+-117.5808	33.9059	9115
+-117.3697	30.6336	7277
+-114.3587	33.547	6732
+-92.7686	40.9265	5944
+-123.0323	45.9063	8432
+-116.3351	44.5001	6591
+-123.6718	46.3171	8498
+-88.9053	42.6203	4959
+-118.7629	32.9346	7745
+-108.7341	30.5298	7399
+-113.6451	30.4522	5682
+-119.2502	45.9044	8216
+-82.9605	29.5088	7711
+-88.8724	36.9585	9012
+-93.8158	40.1992	5408
+-122.2283	46.9197	8866
+-119.2329	33.0289	7078
+-91.2515	37.875	8096
+-122.1727	45.068	7372
+-85.408	37.0438	5981
+-116.7975	34.835	8617
+-89.8867	39.5553	8405
+-80.6852	27.9997	8233
+-87.5722	39.0687	7747
+-117.23	34.2607	9393
+-85.5034	39.4037	5665
+-115.7994	44.6422	6210
+-90.0335	40.0374	7986
+-86.6959	33.6998	4793
+-114.0599	32.2849	6457
+-119.3379	43.5136	6302
+-109.5574	30.7976	8277
+-87.8769	39.3533	7674
+-86.6161	35.3704	6284
+-120.7339	33.3198	5653
+-80.7558	27.3046	8249
+-82.8432	25.6818	7401
+-90.2313	38.4665	9078
+-123.4888	40.6911	2681
+-87.8547	38.3645	8526
+-111.1843	32.531	8094
+-123.7305	45.636	7883
+-119.6099	47.5386	7188
+-117.8182	33.6883	8765
+-119.1512	48.6075	6450
+-120.0491	30.7199	5595
+-123.3404	48.0281	8344
+-110.4103	29.0551	6733
+-89.249	36.6719	8575
+-90.9249	37.1189	7572
+-116.8637	48.4067	6392
+-122.8673	48.1471	8309
+-120.4489	44.5357	6431
+-88.752	41.4445	6029
+-82.8401	25.7653	7491
+-88.1478	39.0316	8132
+-86.8437	38.5961	7417
+-83.9173	25.5047	6633
+-117.5842	45.6399	8374
+-117.9512	32.2676	8495
+-88.6267	37.2057	9275
+-111.3857	30.787	8044
+-109.1728	31.0844	8105
+-117.119	32.8624	9575
+-119.2061	45.1554	7862
+-120.029	47.5856	6833
+-83.71	28.1667	8052
+-117.6314	31.754	8355
+-88.2475	34.5027	6217
+-91.3897	39.3517	8160
+-81.6954	26.2682	8126
+-120.32	33.169	6045
+-86.9195	38.6207	7481
+-109.5344	30.7325	8209
+-110.3063	28.7713	6427
+-119.438	35.0977	6946
+-120.1618	45.4286	7148
+-91.0322	39.7582	8132
+-84.5781	36.8757	5031
+-120.8105	46.09	7117
+-115.3834	35.1431	7207
+-83.4344	29.3241	7596
+-116.6243	33.2355	9149
+-116.7875	47.5754	7035
+-111.6052	32.1627	7959
+-79.321	25.5599	5848
+-123.5544	46.0185	8341
+-78.6991	28.8814	5807
+-90.0471	37.3028	8321
+-115.9383	32.2402	8438
+-116.2354	32.7044	8928
+-78.8081	30.2909	5169
+-117.5607	34.4628	9056
+-116.6261	35.2471	8136
+-119.0491	45.6007	8292
+-91.8567	37.5273	7361
+-87.3376	33.4793	4849
+-116.8236	44.115	6651
+-119.4154	46.0881	8061
+-90.977	39.1837	8632
+-93.4249	41.612	4923
+-89.0879	38.9181	8364
+-116.1502	32.2786	8662
+-123.264	45.8137	8278
+-109.80	32.7693	8065
+-116.7503	33.6931	8798
+-80.8961	30.7923	6194
+-107.6694	30.0143	6124
+-118.2377	47.9017	7352
+-87.9239	37.4779	8846
+-121.5351	46.4313	7995
+-119.1314	48.2391	6823
+-90.8826	39.8015	8170
+-120.8293	47.2467	7310
+-77.5195	29.0054	4488
+-90.5407	39.1354	8976
+-92.019	38.9908	7642
+-82.2597	27.582	9639
+-88.2363	39.3633	7819
+-118.1589	46.0796	9127
+-112.0687	33.2193	6890
+-79.6536	31.7965	4539
+-117.973	48.5493	6646
+-87.318	40.8416	5897
+-114.3633	33.336	6792
+-107.6003	29.4045	5687
+-88.6125	37.5181	9575
+-125.862	48.1441	6104
+-115.3639	29.0094	5145
+-90.4957	39.559	8544
+-88.3801	36.9215	8873
+-91.9351	40.9924	6485
+-123.1042	48.3105	8113
+-124.0205	45.4291	7516
+-119.5501	31.5708	6554
+-116.318	42.6938	5096
+-109.6177	33.5952	7160
+-116.0731	49.2583	5178
+-82.5935	25.9693	7793
+-123.1316	47.3877	9078
+-122.8511	47.0116	9533
+-117.6654	44.7938	7730
+-125.1049	47.4942	7115
+-115.3684	33.6871	7723
+-114.6911	34.8005	6636
+-121.0068	35.2996	5264
+-88.061	39.8082	7283
+-84.6458	37.2633	5167
+-113.9159	31.2501	5928
+-114.8876	30.8457	6557
+-93.6109	32.5262	1868
+-111.3063	32.4117	8089
+-113.3077	27.9801	4411
+-83.1455	29.2116	7896
+-89.5927	36.391	8110
+-115.6491	29.9383	6222
+-110.0832	30.4388	8204
+-122.794	47.54	8966
+-122.0146	36.1139	3926
+-110.7946	31.3365	8907
+-83.1724	28.7108	8304
+-116.2337	46.2646	7083
+-115.6523	32.9789	8276
+-89.0433	36.4316	8395
+-88.9432	37.4368	9490
+-127.0647	49.6797	4145
+-117.9592	47.3731	7869
+-117.6935	42.793	5703
+-119.944	31.1667	5956
+-91.4798	38.5182	8216
+-79.6935	29.0351	6781
+-88.4927	39.7479	7458
+-92.1171	41.2182	6173
+-89.9233	35.0246	6578
+-89.0213	35.3183	7164
+-124.514	46.4339	7739
+-119.3564	48.7962	6187
+-116.7528	45.4553	7502
+-119.1103	32.8862	7360
+-89.0716	37.0461	9040
+-116.2775	34.8014	8236
+-117.403	32.4905	9145
+-106.8465	34.1881	4758
+-123.3371	46.4921	8897
+-82.1179	30.1351	7213
+-118.3441	45.7323	8866
+-118.7728	36.985	6020
+-117.2607	43.8017	6596
+-107.1243	34.7344	4601
+-114.1323	47.23	4704
+-117.5777	29.4469	5933
+-115.0838	49.4039	4390
+-83.8712	27.0822	7779
+-87.2093	33.8697	5209
+-87.3527	36.1297	7471
+-94.6983	42.4809	3276
+-88.9982	36.5117	8494
+-124.4177	47.5656	7814
+-116.5233	30.7096	7351
+-124.0467	47.4333	8246
+-114.518	34.1665	6539
+-119.4206	37.0924	5545
+-108.6494	29.4266	6509
+-86.2154	37.2628	6916
+-89.6707	36.9768	8539
+-115.6685	31.1433	7391
+-89.3705	38.8306	8329
+-79.0168	26.7459	6182
+-85.0485	25.4031	5647
+-88.9827	36.5953	8589
+-79.8858	26.2186	6805
+-86.8973	37.5952	7715
+-89.8553	40.4792	7476
+-84.5852	26.1377	6562
+-91.526	40.2766	7369
+-120.3273	30.9932	5488
+-88.8342	39.0381	8273
+-87.9861	36.2911	8040
+-122.2218	47.6705	8532
+-84.4574	27.8847	7260
+-90.6737	37.2754	7804
+-120.1273	45.285	7125
+-115.0044	34.5084	7037
+-88.9718	34.9992	6813
+-112.1736	33.2084	6813
+-114.0958	31.8115	6360
+-79.5795	29.3615	6486
+-108.4874	29.593	6532
+-110.6533	32.1116	8804
+-82.3307	30.5042	6787
+-117.134	35.0717	8504
+-122.86	43.0083	5257
+-118.5361	48.6643	6532
+-119.9273	36.4906	5660
+-122.7585	45.966	8496
+-87.2794	36.9982	7985
+-93.1495	38.6267	6440
+-81.9265	30.0533	7295
+-120.1555	33.5059	6313
+-94.3896	40.508	4709
+-89.3143	39.1188	8205
+-117.5366	32.4806	9015
+-88.7505	35.5578	7449
+-126.2047	49.5812	4977
+-93.6889	37.4261	5586
+-120.4234	31.3628	5570
+-120.0149	46.8759	7251
+-89.817	38.1999	8573
+-109.65	32.5085	8227
+-85.0186	25.9133	6013
+-118.0122	48.1347	7087
+-118.5361	45.9354	8941
+-115.4409	32.1244	7884
+-88.5981	38.2955	9084
+-86.2179	30.6825	4215
+-118.3252	36.0831	7118
+-89.6189	38.3708	8505
+-113.8698	30.7725	5542
+-119.5969	47.1768	7462
+-91.6332	39.2834	7960
+-86.91	37.7622	7728
+-114.8892	34.013	6941
+-85.222	39.4694	5351
+-116.1881	37.3476	5840
+-89.4056	40.2719	7475
+-114.817	30.4371	6176
+-115.8097	33.4915	8259
+-81.8817	27.8245	9600
+-121.4221	45.8358	7562
+-111.25	33.2965	7368
+-87.6512	38.7792	8046
+-91.9625	34.7766	4816
+-109.001	31.8826	7994
+-82.7436	31.8069	5270
+-90.5652	38.4365	9034
+-119.7142	30.0586	5411
+-118.2238	33.6239	8355
+-83.9108	27.4024	7840
+-119.9589	32.1879	6342
+-91.7618	42.2935	5326
+-109.8128	35.6112	5073
+-121.1748	44.2743	6093
+-90.2759	38.2998	8926
+-124.8015	49.5851	6051
+-120.3692	45.195	6852
+-114.5077	34.3873	6516
+-118.6659	37.346	5715
+-84.4919	28.3176	7152
+-88.9744	38.6332	8705
+-118.7449	30.2798	6297
+-116.8002	48.1337	6595
+-121.4651	46.8161	8021
+-123.715	48.4619	7735
+-121.5396	47.491	8004
+-78.6724	28.3537	5921
+-80.0991	28.4989	7446
+-79.069	27.7566	6426
+-118.0311	46.3047	8917
+-116.2437	33.653	8520
+-88.2379	37.9038	9164
+-123.9296	47.4184	8371
+-88.4742	40.1734	6858
+-107.2084	32.6193	5907
+-116.7053	47.4026	7093
+-121.8429	35.694	4264
+-85.9445	27.9289	5577
+-78.4572	27.7127	5733
+-111.4683	30.5193	7788
+-87.4345	41.6938	4933
+-118.7359	44.7621	7765
+-88.6659	41.2058	6194
+-123.0474	42.0565	4209
+-116.4798	46.0372	7349
+-125.1189	44.8753	6256
+-117.2933	47.0439	7812
+-109.4974	32.7681	7903
+-115.3494	47.2509	5923
+-116.0716	49.3677	5082
+-87.3489	41.3001	5436
+-90.9735	37.8937	8303
+-113.3569	33.1488	5785
+-114.6922	49.5914	3956
+-115.7983	46.2682	6623
+-92.5424	39.5263	6951
+-116.0619	44.7198	6491
+-115.9703	34.1276	8124
+-116.8794	38.7707	4462
+-89.6069	38.3796	8497
+-83.985	31.0991	5579
+-88.9871	38.9417	8362
+-109.149	30.1787	7483
+-79.2499	30.9685	5018
+-110.0776	33.3714	7517
+-90.5212	39.3131	8799
+-110.7294	30.1886	7903
+-88.5734	36.8353	8858
+-89.9626	39.7122	8292
+-114.1074	31.5371	6259
+-80.9105	27.4755	8470
+-85.2437	30.4123	5273
+-90.1365	35.5265	6963
+-117.6267	48.4361	6691
+-120.5777	32.4713	5707
+-88.77	37.9276	9521
+-117.3231	46.727	8046
+-79.6249	28.2033	7012
+-118.3541	33.9229	8330
+-90.2308	36.955	7988
+-88.549	42.272	5144
+-83.4663	26.5989	7888
+-85.3929	28.9413	5973
+-125.3277	44.2792	5627
+-117.2441	45.0972	7731
+-120.3049	44.9765	6811
+-117.4371	36.0052	7488
+-118.9188	31.6462	7214
+-110.5913	28.5958	6225
+-115.0352	32.0888	7451
+-111.7592	34.4822	5973
+-109.8484	31.7596	8915
+-93.1043	36.2896	5470
+-119.7175	48.5306	6272
+-116.1566	36.5987	6589
+-89.0122	39.7692	7583
+-89.424	39.4089	8170
+-124.0159	44.2165	6346
+-91.2238	39.4264	8262
+-118.1147	49.2444	5926
+-115.6719	47.4569	6144
+-110.401	31.8527	9173
+-92.0121	40.3492	6964
+-123.2069	49.3537	6962
+-118.438	35.0931	7886
+-91.6802	35.4892	5642
+-114.421	35.0559	6275
+-113.3426	30.683	6070
+-90.6166	39.884	8176
+-83.5158	27.7519	8328
+-88.5765	35.7018	7600
+-121.4944	46.1838	7839
+-92.1376	39.4898	7372
+-87.9143	37.1582	8701
+-117.2962	32.9991	9333
+-118.3163	34.7852	8190
+-88.3231	38.4561	8798
+-119.3438	35.3575	6908
+-85.6453	38.4384	6206
+-85.695	39.7457	5651
+-90.6365	38.5615	9084
+-89.6212	40.6522	7216
+-118.2984	44.3571	7415
+-121.4445	45.3599	7224
+-114.8145	37.4282	5058
+-125.6482	47.8409	6438
+-89.264	37.1415	9004
+-119.6536	49.3672	5508
+-120.8605	33.4465	5547
+-119.1977	47.1705	7770
+-81.4686	28.9677	8339
+-86.7484	26.8064	4559
+-110.5648	30.2122	7967
+-87.6047	41.0331	5817
+-110.233	27.7077	5273
+-82.5702	30.2417	7049
+-112.3141	29.5877	6427
+-118.5715	34.5724	8036
+-119.4035	49.7777	5189
+-91.148	37.1714	7534
+-115.9903	32.3371	8540
+-93.555	38.6171	6003
+-117.8084	47.4517	7743
+-119.0716	37.4173	5450
+-118.0661	35.7873	7534
+-118.1298	34.77	8368
+-88.3699	37.5135	9338
+-118.806	48.6746	6478
+-115.8833	43.8876	5804
+-86.1087	41.2602	4797
+-120.6796	47.1269	7160
+-121.8022	42.8078	4881
+-119.477	36.4867	6016
+-117.3696	47.8909	7131
+-116.6634	35.0758	8317
+-115.5753	32.5752	8178
+-90.0975	36.1738	7571
+-89.9553	39.6176	8382
+-116.0748	32.3518	8631
+-82.8247	27.159	8851
+-114.8056	31.0417	6634
+-83.7212	30.4267	6388
+-120.3315	48.2388	6457
+-118.1133	34.9077	8286
+-117.3238	35.277	8289
+-123.8191	48.8357	7318
+-118.5928	34.5318	8027
+-88.4587	37.2736	9255
+-120.8365	46.3134	7228
+-89.7896	42.1143	5742
+-87.7604	38.5291	8327
+-112.3707	33.3974	6518
+-116.5058	36.394	6936
+-83.4336	25.4092	6847
+-87.9374	38.3913	8578
+-118.2201	35.6568	7577
+-82.2649	28.9609	8533
+-84.6709	26.588	6727
+-90.7153	38.972	8994
+-84.431	29.8668	6371
+-111.3967	28.7115	6156
+-84.8846	25.9743	6178
+-124.345	44.8096	6754
+-112.1412	34.7796	5495
+-113.3974	30.5737	5978
+-111.8381	48.4202	2006
+-90.5233	36.123	7190
+-115.4125	31.9826	7786
+-118.7056	44.2743	7276
+-77.7481	27.2148	4892
+-117.0838	44.5982	7225
+-116.1841	37.4862	5695
+-116.5598	27.7746	4111
+-92.272	36.5205	6275
+-116.9772	48.0924	6737
+-89.1954	38.9807	8120
+-122.2951	46.5408	8793
+-113.4269	35.4314	5117
+-89.0294	38.8679	8434
+-82.4219	27.9272	9519
+-79.1424	28.3811	6438
+-91.9295	35.5156	5560
+-122.9664	45.5933	8096
+-81.6468	24.4564	6107
+-114.7478	42.8664	4186
+-84.0154	24.6928	5815
+-106.9758	31.2899	5822
+-119.3521	28.6012	4350
+-113.1133	33.8257	5604
+-115.4703	43.4008	5132
+-111.7145	30.8667	7788
+-117.165	47.4786	7381
+-116.5007	45.4669	7257
+-88.7134	39.0704	8238
+-113.9953	32.7812	6438
+-87.6629	35.1856	6768
+-87.0442	41.8849	4700
+-118.0218	34.6254	8555
+-78.9032	29.2574	5868
+-120.5176	33.7572	5968
+-123.3094	49.0734	7248
+-89.6629	36.8075	8422
+-91.0203	41.6793	6193
+-118.3973	46.7579	8553
+-90.6661	36.9592	7470
+-119.2311	35.6116	6856
+-119.0523	43.9409	6833
+-88.6856	37.642	9720
+-109.1513	29.9685	7305
+-115.4064	33.0272	7997
+-112.9681	32.1992	6542
+-122.2983	31.1693	3529
+-125.1255	45.7555	6823
+-117.4677	47.2769	7744
+-119.2959	34.1662	7324
+-124.0892	46.5838	8234
+-91.2753	41.2216	6592
+-79.2818	27.1711	6597
+-86.6844	40.339	6012
+-83.584	32.1799	4637
+-88.3716	38.7272	8544
+-81.9969	27.6429	9684
+-120.5834	33.2782	5802
+-112.4475	31.8577	7164
+-117.3371	36.1011	7390
+-86.7045	39.2681	6884
+-89.1303	38.198	9092
+-83.473	26.3645	7699
+-119.6688	31.1846	6232
+-117.2551	35.0044	8588
+-81.6809	27.4167	9245
+-93.8333	38.6108	5703
+-117.3826	37.5429	5816
+-90.6214	36.702	7202
+-113.4407	49.7567	2834
+-90.1595	40.5807	7436
+-108.8919	35.7357	4711
+-88.6156	39.4808	7771
+-117.0791	48.3828	6527
+-90.5772	38.8562	9186
+-83.2141	27.078	8443
+-92.1487	39.9996	7093
+-115.6985	34.9979	7585
+-88.8858	35.8989	7827
+-111.5858	30.5035	7682
+-113.9571	33.9878	6151
+-116.0678	34.5099	8167
+-121.242	47.7973	7569
+-79.7477	28.8969	6906
+-80.8679	28.2943	8341
+-118.2625	39.9953	3052
+-83.9282	27.6914	7860
+-88.0738	39.3836	7736
+-116.8336	33.6511	8831
+-122.3188	47.4539	8773
+-123.6506	46.3925	8568
+-84.0369	31.5252	5126
+-90.1375	37.1909	8186
+-88.6098	38.7657	8568
+-117.2216	34.8855	8716
+-122.5866	42.7101	4917
+-82.6908	26.4581	8283
+-93.5094	41.7086	4785
+-118.5055	45.6466	8726
+-88.4085	39.3985	7829
+-88.5757	33.6121	5259
+-82.9796	28.2694	8779
+-84.7016	26.4726	6639
+-115.8888	32.9192	8545
+-111.6429	31.4989	8052
+-118.8687	34.0348	7787
+-108.803	32.9739	7233
+-116.0212	34.9599	7907
+-81.7386	27.5982	9407
+-117.1644	36.345	7123
+-115.7118	33.3157	8247
+-89.3361	39.988	7677
+-81.5742	25.9574	7750
+-89.7394	41.7023	6167
+-91.7032	38.617	7994
+-90.4569	35.1912	6451
+-81.2926	27.0812	8665
+-119.7451	43.638	6228
+-87.1758	27.9758	4183
+-89.717	36.8661	8421
+-115.6841	31.6122	7790
+-121.3535	44.479	6388
+-116.0026	47.4797	6437
+-83.1204	25.6039	7203
+-108.454	31.415	7429
+-117.3903	44.9458	7715
+-107.8242	27.43	4216
+-117.0187	30.91	7625
+-84.3624	27.6997	7369
+-117.498	36.5945	6841
+-118.3735	36.7607	6428
+-88.2004	39.9903	7130
+-119.2225	34.2539	7400
+-90.675	37.6393	8187
+-118.1861	33.4298	8275
+-116.1955	34.7826	8172
+-89.1357	39.3374	7938
+-116.2537	33.0727	8908
+-109.9993	32.8307	8074
+-90.7615	40.5381	7454
+-124.8621	44.768	6369
+-123.9954	46.0832	8060
+-118.7632	32.7598	7748
+-88.7164	37.32	9423
+-118.6603	45.2423	8268
+-118.6295	30.3923	6474
+-119.1277	32.1599	7233
+-122.5766	48.68	7691
+-122.5871	46.017	8508
+-88.5289	37.7384	9536
+-117.1097	31.604	8391
+-90.6418	38.9043	9100
+-118.3304	35.6866	7484
+-90.3853	39.3284	8801
+-92.1695	39.2261	7432
+-118.4937	31.1678	7246
+-116.7079	32.6143	9387
+-91.2508	39.0899	8420
+-117.8401	33.4662	8578
+-115.9609	36.0684	6991
+-120.2005	34.4776	6316
+-123.9849	49.3428	6736
+-122.0217	49.5269	6632
+-117.7652	32.1082	8562
+-83.9382	26.9432	7648
+-111.5732	28.3632	5735
+-120.3855	45.4063	6916
+-115.2295	30.4679	6494
+-89.9277	41.7587	6145
+-119.6633	36.6052	5782
+-123.8351	45.444	7643
+-120.4737	33.8744	6028
+-124.6666	45.4535	7051
+-123.8547	46.0599	8160
+-116.6947	46.346	7558
+-88.8264	41.9246	5613
+-106.5075	34.6128	4186
+-109.8996	30.5124	8222
+-111.2915	30.3666	7796
+-116.6802	44.2843	6695
+-119.8715	48.972	5785
+-118.5353	45.3136	8386
+-109.1593	30.0242	7359
+-86.0037	38.9505	6395
+-82.4588	27.1629	9116
+-110.499	33.9081	6948
+-90.887	38.4144	8772
+-117.4922	33.2592	8986
+-112.7468	33.3694	6220
+-121.896	46.4183	8349
+-117.7232	33.9185	8987
+-121.3318	32.0718	4814
+-118.1971	42.5986	5551
+-116.6694	30.9397	7633
+-117.0461	33.2976	9209
+-117.4637	45.3451	8080
+-89.0771	39.6472	7716
+-119.4261	35.3963	6809
+-117.9523	44.2919	7314
+-117.3686	31.7303	8461
+-118.6463	48.4548	6737
+-117.7319	34.8033	8648
+-119.5028	32.8869	6923
+-88.3389	36.6255	8552
+-111.1455	35.5871	5047
+-110.3286	34.4749	6341
+-110.5854	31.9362	9004
+-109.2795	31.7082	8324
+-116.5225	30.3639	6973
+-91.9411	37.2801	7116
+-117.1919	31.7026	8485
+-120.5815	45.4821	6740
+-121.8174	49.6206	6457
+-86.3846	28.5054	5011
+-86.0442	28.3816	5413
+-90.9837	34.7471	5701
+-118.6818	33.5356	7862
+-91.6515	41.3935	6264
+-117.5808	32.8105	9068
+-120.3391	36.8731	5047
+-111.2085	33.3998	7289
+-84.5359	30.4954	5779
+-90.0619	37.7157	8257
+-118.648	44.2081	7220
+-114.0925	34.3601	6067
+-121.4451	47.5456	7886
+-82.9275	30.2432	6950
+-118.7814	34.472	7845
+-111.2817	30.4525	7875
+-83.6094	24.5959	5936
+-120.0156	34.7271	6470
+-108.5327	32.2955	7376
+-107.2353	32.2996	6028
+-120.0716	36.5835	5475
+-117.3904	30.5644	7197
+-116.2223	31.3703	7939
+-119.1357	44.845	7654
+-81.9507	24.8394	6574
+-117.1909	34.4408	9192
+-113.0689	32.2324	6427
+-121.0983	44.7732	6488
+-93.3377	38.3482	6211
+-109.8838	31.8532	8905
+-118.6915	29.0944	5177
+-115.3299	32.0966	7758
+-88.5904	36.2424	8205
+-117.7936	47.6613	7528
+-118.7878	33.6094	7783
+-90.848	39.3771	8583
+-92.2542	36.7227	6451
+-125.8364	47.8282	6244
+-82.4522	31.3756	5793
+-116.0487	31.6085	8061
+-117.4204	36.8097	6614
+-119.167	44.7499	7552
+-111.6128	32.2829	7894
+-124.4136	46.3549	7813
+-108.2864	34.0978	5961
+-124.8654	47.9073	7212
+-118.793	29.9342	5947
+-117.809	33.0245	8785
+-118.1751	47.6988	7563
+-89.1409	35.9095	7799
+-109.6993	32.0033	8650
+-86.6429	37.9349	7412
+-109.0945	31.5161	8129
+-119.6975	46.841	7570
+-105.5976	32.2183	4297
+-87.0864	39.3191	7169
+-121.5435	49.8605	6095
+-115.4674	31.3241	7393
+-118.1872	34.4004	8492
+-117.1207	32.6884	9529
+-91.7188	39.3215	7859
+-113.3104	33.1646	5821
+-117.6253	33.1811	8913
+-80.5612	27.5398	8095
+-92.5344	38.8418	7104
+-92.4207	42.3702	4947
+-118.3205	35.5139	7643
+-116.6867	32.1709	8968
+-120.4789	45.3312	6797
+-117.5855	33.8223	9052
+-121.9684	44.4381	6646
+-119.2652	36.3933	6247
+-89.1119	40.8994	6733
+-118.628	34.8826	7843
+-120.0907	47.3826	6913
+-122.2713	35.5708	3858
+-118.5766	35.276	7642
+-108.9332	35.6176	4847
+-83.3575	25.4217	6900
+-124.8737	45.5594	6943
+-92.4405	41.17	6001
+-124.5993	46.9527	7739
+-109.68	28.3251	5873
+-86.008	41.0864	4882
+-90.6245	36.1758	7142
+-85.4159	28.5188	6082
+-115.1592	34.523	7200
+-118.1939	28.4329	4675
+-113.6353	30.2135	5600
+-117.9513	35.6517	7721
+-83.5493	24.9191	6295
+-122.6748	48.7113	7674
+-107.4986	32.4184	6272
+-111.7965	30.7223	7634
+-119.0209	34.2635	7619
+-107.6074	31.6112	6520
+-118.6434	34.2659	8029
+-109.7807	30.2847	7945
+-84.4109	28.6458	7130
+-117.0814	44.0672	6759
+-80.9105	28.0177	8480
+-89.9262	37.1113	8372
+-119.1604	34.0668	7471
+-84.8791	26.8087	6602
+-117.0092	35.8285	7668
+-81.5563	25.7144	7481
+-94.0011	39.1121	5505
+-122.8123	48.1248	8330
+-123.486	47.2948	8868
+-82.5015	28.844	8604
+-108.7561	32.235	7625
+-105.8054	31.8194	4561
+-117.9612	35.4977	7868
+-120.3059	47.5912	6599
+-86.6281	40.0207	6245
+-84.4081	28.1852	7276
+-122.3235	35.0114	3939
+-80.6642	28.6796	7936
+-113.256	33.3137	5794
+-90.7623	37.3649	7877
+-113.5721	26.8893	3295
+-92.4579	35.3464	5128
+-125.0254	44.952	6389
+-120.9748	45.783	7123
+-113.4193	31.6581	6129
+-116.155	44.9243	6685
+-116.3279	34.0336	8508
+-118.825	47.6602	7511
+-110.513	33.0574	7865
+-92.1675	39.268	7422
+-107.9708	34.6139	5310
+-117.4411	31.3494	8033
+-117.6222	33.8908	9068
+-88.4159	38.7039	8585
+-89.0343	38.9317	8363
+-116.1793	33.3031	8721
+-119.3266	29.2308	4965
+-114.9455	48.5234	4892
+-116.4727	43.5058	5910
+-88.3721	37.6087	9368
+-88.4638	37.3517	9325
+-109.5938	31.0656	8496
+-110.8347	30.0219	7697
+-117.1112	30.8164	7516
+-109.3656	33.8892	6764
+-124.1073	43.5598	5635
+-111.6322	34.0949	6410
+-89.0821	42.2235	5426
+-124.3578	48.0082	7638
+-118.892	32.3637	7547
+-117.1395	31.3934	8154
+-120.8241	33.6903	5627
+-88.1987	36.617	8476
+-120.4419	49.7224	5549
+-82.7449	26.6278	8430
+-117.3649	36.171	7313
+-108.3097	34.809	5348
+-117.5299	32.2151	8834
+-112.9326	32.2789	6558
+-116.4434	31.046	7693
+-107.9352	35.2193	4754
+-112.1686	28.4806	5568
+-120.9969	45.7073	7099
+-90.1756	38.3141	8904
+-119.5407	46.8363	7717
+-118.7269	29.5839	5647
+-117.0383	33.2758	9234
+-116.3803	32.0203	8650
+-117.5767	32.7825	9071
+-89.9758	40.8249	7145
+-112.7448	31.2102	6830
+-91.8757	35.4874	5557
+-85.0114	24.5522	5011
+-124.2279	43.8142	5848
+-117.036	46.9578	7657
+-84.8254	24.8316	5387
+-121.1528	48.4895	7060
+-116.0392	32.0286	8395
+-126.332	48.2031	5598
+-111.5542	32.55	7786
+-89.3873	41.1367	6637
+-118.5491	35.5689	7438
+-123.6751	46.7485	8722
+-81.2767	25.8724	7540
+-119.7726	46.0134	7681
+-80.721	27.4711	8260
+-120.5408	45.8112	6850
+-121.5969	44.8934	6916
+-112.8327	32.9541	6385
+-117.6502	33.8685	9029
+-87.9669	37.3586	8853
+-123.3059	31.5419	2540
+-92.9873	41.8672	5046
+-91.9222	38.2777	7689
+-92.082	34.3315	4537
+-110.6253	31.9822	8938
+-113.2772	33.0484	5911
+-109.9182	34.3657	6426
+-117.87	45.2265	8237
+-89.7713	39.559	8331
+-116.1651	45.46	6917
+-123.8461	45.7444	7908
+-109.115	33.2991	7194
+-92.4702	38.4589	7153
+-119.3464	44.2414	6993
+-120.1332	44.6057	6742
+-118.635	36.4247	6627
+-124.1475	47.8208	7945
+-89.3973	41.6625	6110
+-122.4003	46.4951	8851
+-78.9739	25.4792	5480
+-88.1354	37.9938	9017
+-89.8879	36.3503	7875
+-118.5815	45.6037	8647
+-88.0588	34.4381	6106
+-89.7363	35.6816	7336
+-109.6761	31.5634	8761
+-82.3566	25.5461	7368
+-107.9524	33.5279	6143
+-90.5334	37.0921	7630
+-90.7715	40.2919	7711
+-118.3623	45.5377	8659
+-112.0541	35.1992	5135
+-91.3998	40.87	6890
+-122.8945	46.6071	9211
+-122.9399	44.3089	6686
+-120.3119	48.7138	6175
+-87.7873	38.0894	8617
+-114.2954	34.20	6296
+-109.2717	31.1287	8222
+-108.5978	29.8995	6854
+-114.7161	48.2809	4832
+-120.7818	46.6916	7260
+-82.8853	28.5904	8631
+-122.3372	46.4866	8794
+-83.3909	27.5975	8457
+-123.0406	45.5065	7995
+-93.6523	41.3651	4912
+-110.1456	32.2059	8769
+-81.3085	27.7184	8958
+-113.2844	28.9122	5161
+-117.1965	31.8964	8695
+-79.9365	27.7483	7407
+-88.7663	37.484	9611
+-124.0379	47.4641	8242
+-124.5489	47.3128	7755
+-117.2313	31.526	8283
+-118.2997	35.6888	7501
+-125.5691	47.3238	6648
+-91.7716	35.1933	5309
+-124.5478	45.1453	6908
+-89.6848	41.756	6098
+-120.567	47.4555	6987
+-82.66	30.6682	6556
+-116.7218	31.3576	8103
+-79.3311	30.2341	5668
+-119.4119	45.4189	7864
+-110.4444	28.3732	5993
+-92.5792	41.3334	5770
+-114.4695	34.7455	6415
+-91.0137	41.6918	6182
+-91.0303	38.5217	8685
+-86.418	38.6021	6977
+-116.1792	33.3357	8701
+-117.8207	32.9787	8783
+-120.6231	47.7777	6951
+-119.0086	32.2858	7399
+-77.8867	29.9183	4506
+-122.1986	47.4785	8652
+-109.9575	33.7357	7106
+-121.5552	48.3079	7519
+-120.408	33.5464	6052
+-112.2764	31.3729	7356
+-120.0662	47.1654	7061
+-118.0936	46.4209	8866
+-89.8705	36.5738	8072
+-78.8351	28.2636	6119
+-110.0166	35.0251	5729
+-108.6571	30.4957	7309
+-81.1857	27.0809	8569
+-88.509	35.3136	7159
+-81.8512	26.2425	8139
+-93.0887	41.6997	5110
+-81.1779	29.7698	7382
+-124.2491	45.2434	7202
+-114.6495	37.3914	4979
+-123.6327	45.9688	8246
+-117.2408	33.0754	9332
+-123.6968	46.3779	8518
+-80.4669	28.2608	7926
+-92.6423	38.7914	6989
+-88.1812	39.5103	7643
+-92.3425	37.4885	6913
+-82.2979	26.3563	8286
+-120.5005	44.9723	6626
+-89.3164	36.1482	8003
+-84.034	29.3607	7086
+-90.7765	40.861	7110
+-119.2885	28.1879	3977
+-109.01	29.6616	6946
+-118.8998	36.1368	6718
+-88.2842	37.2622	9109
+-79.4567	26.9277	6719
+-119.5667	44.0355	6686
+-117.1706	35.6809	7847
+-109.5895	34.4291	6287
+-117.6395	46.7786	8270
+-107.4189	30.3843	6059
+-118.5863	48.3589	6847
+-118.6491	28.8877	4986
+-87.1168	35.041	6335
+-78.8254	24.6758	4771
+-116.9501	33.8402	9067
+-91.4441	36.691	6928
+-107.227	33.8962	5278
+-122.3511	44.7319	7078
+-115.62	35.6846	7070
+-115.6666	34.6998	7686
+-89.3542	34.8798	6619
+-94.1733	39.4858	5263
+-113.5754	44.6876	4055
+-117.3788	33.9277	9282
+-91.1313	38.7738	8618
+-115.7689	31.0309	7355
+-119.5022	45.2202	7668
+-111.9921	30.5887	7378
+-120.3915	33.991	6126
+-90.7479	35.6694	6658
+-114.9956	31.5738	7154
+-82.08	26.1004	8006
+-91.4703	38.9135	8240
+-117.9355	47.0555	8184
+-84.2396	26.9478	7336
+-115.7439	35.4868	7316
+-109.1676	32.1214	8083
+-81.3488	27.3121	8867
+-118.446	46.5774	8726
+-121.0812	48.4979	6994
+-80.3722	26.8344	7638
+-84.5343	27.9121	7171
+-116.5044	32.8461	9236
+-118.6847	46.3433	8763
+-121.9262	43.2385	5373
+-109.8002	31.0298	8641
+-125.3175	46.8939	6949
+-111.5088	29.5161	6897
+-110.6509	31.2096	8942
+-89.9399	38.8078	8942
+-92.0318	38.8386	7645
+-120.8034	31.7327	5306
+-119.5327	46.10	7937
+-116.2309	33.2001	8827
+-117.7915	33.992	8945
+-114.7287	34.9763	6621
+-81.3743	29.3667	7889
+-115.1983	33.3305	7699
+-110.9337	27.2614	4746
+-84.9602	37.8879	5535
+-120.1417	46.1682	7291
+-88.9921	38.5996	8737
+-82.0117	29.1997	8265
+-109.2232	33.1802	7366
+-83.6382	25.1757	6503
+-86.1987	39.5282	6254
+-117.9225	34.075	8820
+-119.0206	37.1846	5699
+-110.0025	33.9641	6869
+-117.694	34.9948	8489
+-81.6715	28.5089	8903
+-118.3765	42.9951	5971
+-81.565	27.7724	9249
+-84.642	26.3275	6620
+-82.4946	27.9301	9444
+-118.7742	34.9424	7671
+-117.7926	33.1687	8751
+-127.4525	45.7829	4438
+-116.074	32.0207	8419
+-118.5624	30.3666	6492
+-121.9734	44.9243	7142
+-107.776	31.8474	6688
+-114.7615	36.0505	6097
+-125.0901	47.2722	7177
+-90.6549	39.9243	8125
+-118.218	30.9816	7275
+-107.5158	31.4207	6416
+-123.3292	49.717	6548
+-113.5813	33.7273	5843
+-119.0554	32.2719	7345
+-117.0216	46.4211	7882
+-116.8747	36.0953	7355
+-86.273	35.3727	6012
+-118.7834	34.2529	7878
+-118.8068	49.1657	5967
+-112.7057	35.2138	4775
+-120.9228	47.4796	7362
+-83.0651	24.9961	6585
+-86.6556	35.0889	6076
+-94.6578	40.4952	4448
+-116.7636	31.1249	7852
+-114.1897	32.3502	6612
+-86.2009	38.8322	6652
+-81.7085	27.4792	9312
+-120.3138	43.7189	5946
+-113.8323	29.5671	5098
+-120.4161	47.9775	6660
+-113.1504	32.0505	6380
+-116.4389	42.7592	5219
+-121.6106	34.4266	4789
+-80.4449	24.0973	5323
+-123.5508	46.9967	8890
+-120.5346	42.5676	4824
+-88.2825	38.8962	8331
+-90.3405	35.5047	6814
+-84.8871	26.2487	6335
+-120.6984	48.9645	6340
+-114.5346	37.324	4956
+-77.9685	26.2673	4884
+-117.8542	34.4017	8833
+-115.7892	47.8015	6063
+-90.9192	38.7289	8846
+-116.3703	32.8255	9088
+-89.8185	40.125	7822
+-118.3338	34.9187	8092
+-92.6518	43.9683	3291
+-120.8475	33.8924	5623
+-82.2071	26.1179	8025
+-111.4771	33.1275	7391
+-118.6825	33.8953	7972
+-116.4119	47.7488	6619
+-117.4432	31.3767	8061
+-107.962	30.2693	6536
+-84.126	28.6999	7403
+-118.9116	33.3698	7560
+-117.8674	28.9744	5351
+-81.1852	30.3542	6775
+-86.0609	41.8821	4192
+-115.4082	44.3922	5719
+-111.9139	32.5841	7447
+-124.2939	44.743	6723
+-114.5771	34.1295	6604
+-120.9789	33.7929	5471
+-113.8514	31.4591	5963
+-88.9234	41.181	6368
+-120.8353	44.4753	6057
+-117.5558	36.5754	6855
+-116.2987	35.329	7860
+-116.7485	34.0682	8968
+-109.1486	30.3965	7657
+-109.0701	31.1147	8014
+-117.417	45.1237	7878
+-89.1687	35.34	7165
+-88.472	38.4948	8828
+-87.9378	37.9559	8830
+-122.718	48.5333	7873
+-124.174	44.8721	6913
+-117.684	40.1421	2919
+-114.731	31.2041	6678
+-113.2765	34.616	5154
+-77.6487	27.20	4778
+-117.2104	48.6399	6340
+-117.2659	32.2738	9061
+-116.8497	33.8676	8999
+-86.5774	37.3987	7339
+-91.3228	37.7665	7958
+-92.9266	37.3832	6312
+-120.8108	35.114	5527
+-119.5229	35.9024	6410
+-118.421	34.1277	8279
+-79.592	28.0591	6998
+-88.0794	39.0775	8053
+-120.1416	42.5691	5035
+-92.3655	38.0774	7168
+-111.2266	36.0934	4492
+-119.6588	27.9985	3597
+-88.2063	35.4786	7280
+-111.1792	28.9081	6434
+-119.474	34.3572	7118
+-80.6201	25.8166	7100
+-114.6753	33.3661	7125
+-110.2952	32.5491	8426
+-107.8878	31.0667	6765
+-118.1741	43.5774	6586
+-84.0157	27.1228	7642
+-117.4438	33.5844	8909
+-81.365	27.5167	8978
+-115.3232	44.9039	5879
+-84.0576	31.089	5549
+-116.0981	44.9686	6654
+-118.2895	30.9542	7205
+-112.4047	31.6226	7229
+-122.6894	47.8323	8627
+-109.7114	33.52	7270
+-111.5987	29.0542	6410
+-83.4482	28.7057	8064
+-118.2319	30.6317	6937
+-113.9586	30.5582	5557
+-116.0076	48.3249	5890
+-124.4177	48.0282	7571
+-117.5859	33.9978	9159
+-87.9717	34.0016	5606
+-81.2544	30.6918	6437
+-118.2328	32.6663	8331
+-115.5861	35.2584	7332
+-82.8441	27.2512	8899
+-90.1345	36.2758	7626
+-82.9712	29.1028	8108
+-90.99	34.742	5692
+-87.5374	37.7327	8433
+-109.4161	32.7703	7848
+-114.3299	33.2668	6769
+-90.1261	36.0274	7425
+-122.1183	47.5594	8528
+-91.5751	39.4346	7943
+-85.0335	30.0389	5724
+-114.5549	29.2729	4972
+-86.8413	42.1777	4309
+-87.0071	40.7951	5785
+-115.8229	35.5267	7349
+-87.8942	40.7268	5998
+-122.0617	46.8123	8670
+-122.8467	44.9333	7372
+-90.1242	40.7744	7225
+-88.8824	39.1959	8093
+-84.758	40.1602	4515
+-109.5475	32.8573	7852
+-89.9093	36.1429	7678
+-117.0678	46.4312	7926
+-124.6532	46.3141	7551
+-87.5964	35.6535	7202
+-110.4228	32.5988	8369
+-119.3848	48.4224	6538
+-92.6737	36.2573	5776
+-109.1804	26.9862	4339
+-80.7823	28.6745	8051
+-118.3218	31.8853	7919
+-79.2544	26.8425	6472
+-118.2037	45.2501	8357
+-117.0851	45.8074	7954
+-106.5443	29.343	4704
+-111.4991	33.0333	7458
+-81.8907	24.5835	6281
+-119.4758	33.6867	7079
+-87.9233	39.5929	7454
+-117.6707	43.3436	6270
+-86.4072	36.6885	6948
+-117.3055	36.3843	7082
+-115.4169	29.8308	6001
+-86.1356	37.4559	6852
+-126.1228	46.3645	6004
+-115.1861	33.2003	7721
+-119.6301	47.9878	6805
+-114.4663	31.0889	6363
+-93.7936	38.3429	5723
+-89.798	39.0485	8716
+-79.8151	27.4319	7243
+-117.8031	33.8506	8876
+-117.4404	35.3303	8218
+-116.9807	47.0844	7531
+-114.7591	36.3192	5909
+-93.3561	35.0659	4322
+-119.3713	33.8792	7225
+-118.7663	48.2348	6942
+-88.8472	39.0513	8257
+-119.3166	45.9624	8157
+-124.1611	49.3762	6618
+-83.642	27.065	8010
+-118.9224	47.5306	7601
+-90.1794	37.7703	8346
+-110.321	32.1308	8880
+-117.5089	32.155	8799
+-119.5252	31.8625	6707
+-109.2068	34.7229	5860
+-88.2784	36.3778	8269
+-111.8416	36.1342	4279
+-86.4808	36.152	6737
+-85.9097	42.8993	3122
+-122.6875	49.1291	7219
+-117.6779	33.2457	8826
+-87.0001	35.8298	6955
+-124.0952	45.0306	7107
+-89.2739	33.6455	5266
+-110.9287	31.0958	8640
+-119.2982	31.7748	6904
+-83.3028	24.6514	6128
+-115.2265	34.4959	7278
+-80.6178	28.3053	8073
+-120.458	43.7605	5878
+-78.4268	29.3662	5325
+-89.2522	35.7208	7565
+-79.3006	28.2117	6648
+-110.1514	32.1113	8869
+-119.904	47.9286	6673
+-114.4023	48.4113	4476
+-121.0223	46.9942	7543
+-113.8445	33.0698	6259
+-124.4425	48.4155	7281
+-87.8694	39.4279	7596
+-119.4425	45.5362	7895
+-109.4227	35.1661	5468
+-113.2038	30.447	6129
+-120.8206	47.956	7076
+-111.2303	31.6927	8494
+-108.9455	28.5413	5851
+-84.7076	33.1777	3113
+-119.4011	48.3051	6642
+-115.1301	31.3408	7125
+-114.9659	31.7091	7202
+-126.9766	42.8084	3209
+-84.3402	26.3636	6934
+-116.4939	33.518	8809
+-90.9903	37.4876	7915
+-87.5323	37.7196	8428
+-116.5674	31.6721	8401
+-121.0943	47.262	7596
+-89.665	38.2016	8450
+-112.1573	35.4702	4822
+-116.8665	48.8211	6011
+-119.6558	47.1672	7419
+-89.9585	37.4659	8459
+-121.9249	44.0747	6253
+-90.1919	42.6371	5230
+-94.6227	34.0836	2629
+-122.2669	46.6705	8838
+-90.4617	35.7542	6947
+-121.5264	47.8651	7803
+-123.5814	47.3686	8737
+-123.9273	49.2476	6858
+-95.3733	35.786	3169
+-86.0036	28.1782	5489
+-82.9254	29.2458	7994
+-114.8499	31.4099	6918
+-125.1036	46.7262	7171
+-87.3273	39.207	7448
+-89.2825	40.9022	6819
+-88.026	36.1606	7932
+-114.4579	32.4433	6924
+-113.7762	31.7612	6005
+-119.9565	33.9041	6593
+-117.1119	33.8749	9209
+-115.5636	33.9784	7673
+-117.812	30.579	7085
+-123.6037	44.5053	6794
+-119.3635	47.6725	7240
+-95.3157	41.6248	3271
+-113.2446	30.8543	6222
+-116.444	33.2098	9023
+-117.8375	38.2742	4978
+-89.7128	39.6028	8255
+-123.4253	47.1891	8979
+-115.1943	33.851	7464
+-120.3216	44.2546	6348
+-114.4733	37.6508	4638
+-89.9375	34.1012	5603
+-121.7916	45.6889	7748
+-118.2918	47.7428	7521
+-119.8312	47.7859	6837
+-118.6751	30.7692	6778
+-113.2711	32.4259	6162
+-119.3706	46.2753	8094
+-90.534	39.4431	8660
+-118.7756	35.7842	7098
+-107.2039	32.9416	5777
+-90.3992	39.3314	8797
+-107.3936	32.0819	6243
+-118.6014	45.9939	8905
+-108.9092	32.4169	7686
+-88.8802	34.071	5778
+-83.5941	27.9271	8230
+-122.0651	46.0436	8239
+-81.0542	28.9116	8112
+-91.7389	38.8681	7958
+-115.3258	35.323	7055
+-114.6042	31.334	6642
+-112.1724	31.7889	7469
+-87.8191	38.9448	8029
+-110.9573	30.5722	8186
+-120.6527	34.25	5842
+-93.1534	38.562	6432
+-108.539	32.4945	7293
+-87.7253	34.9914	6593
+-113.3888	32.9207	5860
+-83.3947	30.5002	6486
+-118.9272	46.1261	8578
+-83.731	28.16	8031
+-82.228	29.1785	8292
+-109.3299	30.4035	7796
+-111.1518	28.9694	6506
+-91.1004	34.2525	5173
+-87.6805	39.3419	7573
+-114.2729	32.6763	6744
+-109.6124	32.8677	7878
+-112.4938	32.6912	6843
+-115.5683	30.3402	6581
+-116.2419	34.2089	8417
+-117.9116	32.4703	8630
+-90.5397	35.2131	6418
+-86.1987	29.8108	4744
+-115.828	35.5803	7312
+-110.4035	29.1433	6829
+-78.5519	26.1212	5433
+-126.5681	47.6015	5516
+-117.0501	38.1744	5123
+-115.6436	33.1999	8216
+-86.6901	37.3098	7450
+-115.4835	36.8167	6023
+-123.5643	45.2535	7588
+-88.0644	40.3386	6713
+-86.6618	38.173	7385
+-121.2225	45.8278	7379
+-78.9662	28.5007	6214
+-114.7888	27.758	3610
+-90.3968	38.7753	9393
+-116.0134	37.8405	5269
+-118.5341	48.1046	7121
+-116.1447	44.3986	6366
+-86.1351	36.0302	6337
+-126.1944	48.2618	5717
+-89.0509	40.8058	6784
+-109.163	34.6396	5928
+-92.3521	37.4886	6904
+-117.7109	34.3066	9018
+-115.0616	32.6857	7623
+-117.3331	35.8709	7641
+-89.5229	38.6566	8492
+-115.2221	47.6045	5648
+-109.8028	33.8379	6964
+-90.4488	39.3864	8735
+-114.6617	33.2345	7140
+-84.486	38.0703	4989
+-123.5967	46.6136	8748
+-108.3103	34.434	5686
+-116.8688	29.3192	5850
+-123.6696	46.331	8510
+-118.17	43.9807	7013
+-121.4691	43.7289	5717
+-82.707	28.3157	8994
+-111.9309	35.093	5295
+-111.2297	28.7536	6258
+-91.138	36.9603	7331
+-111.4186	28.2722	5698
+-91.0046	39.5059	8370
+-120.726	45.368	6560
+-89.3089	38.9578	8245
+-119.5128	45.3889	7756
+-89.4556	37.8898	9002
+-110.8031	33.9672	6841
+-83.6646	40.6375	3188
+-82.5392	27.5966	9395
+-87.4377	41.0334	5751
+-90.8299	39.3769	8595
+-79.1816	27.6338	6550
+-118.297	31.1495	7374
+-114.7746	33.4527	7207
+-119.7484	46.2794	7697
+-123.7376	46.5668	8587
+-117.234	33.5392	8889
+-87.4288	38.137	8223
+-116.3462	32.9522	9044
+-115.3204	32.0683	7736
+-87.6334	38.894	7939
+-87.3913	37.3729	8237
+-81.9367	28.9563	8528
+-91.0495	38.4563	8640
+-86.7463	37.5055	7540
+-108.0273	32.9314	6579
+-116.1805	34.8155	8139
+-87.9701	37.8641	8894
+-96.7405	36.5437	2171
+-84.0639	35.5184	4012
+-122.2261	47.1889	8827
+-125.0114	46.3175	7179
+-109.4878	32.0641	8420
+-116.8791	47.2993	7305
+-91.7978	40.0853	7328
+-119.0693	45.8693	8393
+-78.9053	25.8469	5643
+-122.193	44.8972	7204
+-82.5653	27.3518	9215
+-120.3027	31.1597	5598
+-112.0106	32.5759	7362
+-88.2495	37.4236	9174
+-113.1193	33.4814	5821
+-122.6559	43.6996	6007
+-111.5418	30.6155	7796
+-89.9818	39.5524	8457
+-118.4565	33.5283	8082
+-91.5598	40.4385	7206
+-110.637	33.1828	7710
+-115.9616	49.201	5158
+-113.2233	32.007	6309
+-91.566	36.8155	6980
+-118.9063	35.7082	7058
+-121.3645	32.2897	4812
+-119.0384	32.597	7429
+-89.3404	38.9239	8285
+-123.1032	46.2368	8774
+-116.0859	32.4098	8671
+-117.8008	47.1252	8061
+-89.05	40.0352	7428
+-118.6101	34.204	8070
+-87.1759	39.0367	7458
+-107.6726	31.5741	6591
+-118.7987	33.3429	7657
+-88.5744	42.0925	5328
+-89.9397	38.2992	8743
+-116.836	43.8515	6429
+-117.0171	35.7096	7797
+-90.4261	38.9446	9210
+-116.4359	31.4082	8074
+-81.7639	26.8887	8815
+-110.3284	31.1813	9038
+-122.2551	44.4051	6704
+-91.8704	35.6418	5710
+-111.059	27.8843	5389
+-117.1615	45.7694	8022
+-90.5922	36.2737	7238
+-90.8639	37.0133	7482
+-122.1647	46.5414	8673
+-115.3098	36.4162	6258
+-82.2307	24.3494	6025
+-89.7077	38.7962	8694
+-116.6755	35.5443	7869
+-112.6236	33.6411	6138
+-116.8961	36.0357	7424
+-109.7191	32.0754	8621
+-127.9598	46.125	3971
+-115.2996	35.4537	6954
+-117.5777	33.508	8776
+-117.3356	34.2382	9401
+-89.7888	40.518	7414
+-113.8426	30.4039	5462
+-91.3318	38.7941	8401
+-90.0192	40.2595	7751
+-124.831	45.2758	6786
+-90.2535	40.8504	7156
+-91.533	37.8462	7848
+-115.8449	32.9067	8498
+-86.9838	39.2967	7103
+-109.8638	27.6558	5188
+-86.1115	28.0356	5381
+-116.35	38.4105	4766
+-89.0654	36.7474	8731
+-121.0684	46.0803	7371
+-117.7294	34.3429	8984
+-87.7813	42.0938	4858
+-121.9472	46.6295	8496
+-114.0254	45.8904	4746
+-114.9394	36.8389	5645
+-108.7502	30.0884	7114
+-112.8895	29.9215	6170
+-111.1009	29.8882	7457
+-114.4972	29.8399	5439
+-80.3981	26.6301	7546
+-117.4713	48.9906	6081
+-118.8808	33.1647	7484
+-118.1354	33.9344	8566
+-90.6801	36.2146	7119
+-116.6055	30.8106	7479
+-90.0396	34.6521	6143
+-111.8475	29.3204	6524
+-116.2659	32.8991	8966
+-121.21	46.9736	7749
+-116.7531	36.2585	7153
+-110.2409	32.7644	8190
+-118.6937	36.836	6204
+-116.8385	31.9961	8827
+-117.0695	34.0994	9320
+-110.9023	33.8297	6963
+-116.538	31.4865	8194
+-117.383	32.3359	9043
+-115.3803	32.9526	7977
+-116.5276	34.1343	8732
+-91.1924	36.9894	7336
+-122.1091	49.0372	7171
+-119.1984	47.7067	7302
+-87.7079	36.9512	8381
+-88.5412	37.1502	9183
+-87.7764	37.6909	8703
+-120.652	48.1176	6832
+-115.8869	34.8619	7836
+-119.421	46.8041	7844
+-117.0913	33.0073	9499
+-119.601	36.1884	6145
+-115.4303	34.6732	7450
+-88.4665	39.4791	7752
+-118.9934	46.3135	8475
+-121.7149	46.5648	8231
+-118.4737	30.8314	6973
+-119.3522	45.5057	7965
+-121.2915	33.5151	5096
+-121.7202	46.577	8241
+-90.2513	37.4616	8028
+-113.9101	36.0932	5298
+-122.5506	43.8611	6173
+-114.7393	30.9328	6499
+-119.6389	46.7627	7662
+-89.353	37.5122	9135
+-89.2628	38.6957	8215
+-111.522	33.3292	7185
+-112.8434	36.9002	3847
+-117.3502	35.7186	7806
+-90.1055	38.0188	8581
+-116.1436	32.9189	8828
+-113.2143	35.0182	5013
+-89.5343	37.2335	8826
+-80.3078	28.301	7740
+-92.0939	37.1649	6911
+-81.1559	28.4386	8550
+-117.1632	36.2789	7195
+-93.3693	39.9033	5974
+-84.185	24.5508	5577
+-92.4582	37.0273	6518
+-122.3715	49.0952	7197
+-118.0394	35.4492	7873
+-82.3036	27.6958	9684
+-118.0932	35.0385	8201
+-87.3186	37.978	8152
+-80.0035	27.7252	7482
+-117.6647	33.0279	8939
+-123.5858	43.1402	5335
+-114.8521	46.1387	5626
+-116.1036	31.3138	7820
+-125.9185	47.2575	6275
+-92.124	35.8057	5738
+-93.3213	35.1365	4405
+-118.0746	46.5393	8746
+-115.1123	34.2499	7185
+-116.7494	35.0775	8364
+-116.702	49.532	5258
+-83.5407	28.3834	8154
+-119.8204	33.6021	6692
+-115.2428	33.908	7317
+-117.0649	31.6785	8479
+-89.725	36.7511	8328
+-117.2312	34.0924	9479
+-115.1467	35.5556	6753
+-86.6278	38.9869	6993
+-116.1618	33.82	8285
+-90.0996	38.0225	8583
+-115.5608	34.6861	7582
+-116.4638	32.7401	9186
+-116.1366	32.4659	8748
+-91.6899	37.8099	7689
+-117.7154	47.0309	8106
+-115.0828	35.5865	6676
+-92.1963	43.1712	4274
+-122.3224	45.7656	8142
+-81.5452	30.7933	6404
+-91.70	39.9424	7510
+-118.6509	33.2036	7719
+-90.0736	33.4168	4825
+-82.0404	28.9798	8516
+-88.4305	34.5454	6292
+-88.3992	39.4455	7775
+-122.2032	45.0022	7316
+-118.1131	44.9816	8062
+-121.4417	44.4468	6408
+-88.5385	38.5998	8736
+-121.8842	47.5834	8301
+-117.2445	29.8631	6444
+-88.076	36.9894	8730
+-90.8011	40.6301	7348
+-118.9977	48.0079	7103
+-120.707	30.1555	4633
+-121.7745	45.3579	7449
+-118.7695	33.8653	7873
+-81.8653	35.9024	1819
+-120.5238	47.3142	6968
+-124.9744	47.2218	7310
+-85.4837	30.7118	4846
+-120.9074	43.5807	5408
+-118.6922	33.8417	7951
+-108.0584	32.4506	6836
+-80.4648	28.3647	7887
+-86.7388	37.6259	7538
+-119.9587	41.9606	4531
+-87.586	36.2461	7742
+-91.7942	39.7228	7577
+-91.5001	40.0546	7573
+-116.5935	38.7155	4486
+-92.1707	40.6982	6575
+-118.0976	49.1425	6032
+-116.8667	31.1694	7912
+-110.0427	30.9112	8680
+-82.8937	27.0178	8685
+-79.1458	27.8174	6512
+-116.1611	33.5107	8567
+-116.4421	34.4021	8592
+-81.7591	25.6887	7504
+-82.6756	29.0299	8337
+-83.5035	27.6485	8337
+-86.3087	27.8209	5168
+-117.0768	46.5224	7907
+-94.2539	41.2576	4454
+-120.6989	32.545	5579
+-119.5056	42.9294	5662
+-90.2911	38.1366	8756
+-115.2483	45.9834	6044
+-91.1247	39.8679	7979
+-118.2834	43.4339	6437
+-80.9796	28.8156	8128
+-80.1588	26.655	7329
+-121.9115	47.7254	8237
+-109.9012	30.4059	8115
+-119.5854	44.2836	6894
+-116.6672	36.0566	7340
+-87.0267	35.0787	6315
+-81.0464	25.4294	6976
+-124.1049	46.1806	8026
+-86.5207	40.708	5571
+-119.8645	48.0275	6620
+-81.3231	31.6215	5436
+-116.4169	28.9767	5426
+-117.8271	33.017	8767
+-121.2981	45.1217	6922
+-116.7143	34.2313	8926
+-91.439	39.2853	8149
+-88.6552	38.8582	8471
+-83.5803	35.9423	3680
+-84.4343	24.7136	5567
+-126.1059	46.8489	6082
+-118.3001	31.6463	7774
+-118.3461	30.0706	6325
+-116.5323	34.4247	8676
+-112.426	36.3331	3850
+-111.106	34.5925	6107
+-89.091	34.4914	6233
+-88.4762	36.6039	8579
+-122.8991	49.0421	7326
+-127.2217	45.1062	4437
+-89.3644	36.3126	8154
+-89.8468	39.7654	8187
+-113.246	30.0329	5899
+-110.7659	30.3254	8032
+-81.8471	25.7475	7585
+-120.1421	30.5039	5371
+-90.9952	38.443	8686
+-116.1881	47.3313	6687
+-87.7604	40.5548	6381
+-117.1982	42.8614	5643
+-119.123	31.7697	7079
+-113.4175	35.6306	5033
+-114.5642	46.9443	5221
+-86.9298	35.2798	6435
+-118.3064	44.8424	7928
+-82.522	25.1872	6941
+-124.1682	47.8064	7935
+-113.5592	32.2485	5905
+-81.6731	24.8414	6542
+-93.2133	41.0133	5519
+-119.4379	42.0215	4771
+-116.8768	33.7139	8913
+-93.1846	41.3593	5298
+-111.1608	30.0121	7550
+-86.2077	28.9992	5077
+-81.9726	25.8116	7673
+-90.4556	40.1593	7903
+-88.6386	34.3261	6063
+-89.1744	37.7221	9353
+-90.8908	37.3107	7779
+-83.1985	32.1412	4799
+-90.1679	37.6994	8268
+-117.9473	44.6982	7734
+-79.6483	28.1746	7043
+-116.9709	46.8953	7635
+-91.701	38.0969	7839
+-117.9984	33.5708	8531
+-77.2887	24.0317	2972
+-122.0093	47.8503	8228
+-113.9109	31.9884	6222
+-88.2945	35.6332	7473
+-87.5925	36.2336	7736
+-93.2569	38.2127	6273
+-87.0458	38.7067	7558
+-118.1585	45.4409	8550
+-89.3738	41.251	6517
+-123.2257	47.1013	9219
+-118.7992	46.9778	8182
+-110.8252	36.3128	4322
+-90.8673	39.6489	8324
+-123.5831	46.6437	8776
+-118.7191	34.3253	7940
+-117.1046	28.8464	5322
+-107.1772	35.897	3682
+-118.1538	34.3032	8552
+-83.8952	31.9769	4729
+-108.9023	34.3028	6144
+-109.6967	34.0992	6662
+-89.5186	41.2225	6601
+-92.5289	35.9716	5641
+-83.4678	28.7041	8047
+-78.5374	30.385	4860
+-115.9103	33.1923	8502
+-117.652	36.1728	7274
+-84.1236	24.171	5243
+-112.5711	32.5196	6845
+-109.1572	28.244	5638
+-80.3141	31.6158	5076
+-92.5739	39.3307	6982
+-92.086	40.7569	6588
+-118.8735	45.9293	8610
+-89.3283	38.1365	8993
+-110.6166	35.5567	5158
+-115.9057	31.0862	7489
+-86.662	27.2922	4741
+-92.2862	37.442	6936
+-119.1909	33.5029	7329
+-117.8843	34.1792	8862
+-89.6249	35.925	7636
+-119.7301	46.654	7620
+-89.9587	39.3089	8668
+-119.9303	32.5186	6431
+-117.047	37.0378	6361
+-86.0827	37.9841	6781
+-90.4866	42.6202	5251
+-92.3357	36.2521	6007
+-123.1523	47.8542	8592
+-81.573	26.8129	8641
+-118.7377	30.1321	6166
+-78.9514	31.9733	3925
+-115.8355	33.5503	8249
+-86.7973	37.6017	7603
+-121.3798	42.8762	4812
+-112.5253	28.3851	5273
+-122.5978	43.6664	5965
+-91.2005	38.8636	8535
+-118.7567	37.533	5489
+-115.8064	41.975	4165
+-117.0187	34.6485	8914
+-83.7873	24.8729	6122
+-124.6698	45.7628	7255
+-115.6135	34.1466	7735
+-84.4549	25.874	6504
+-119.7197	35.1183	6654
+-80.6101	24.9229	6243
+-116.8089	44.6962	7104
+-118.7186	30.8613	6824
+-86.2493	38.8661	6685
+-120.8444	41.8143	3973
+-114.0967	31.5646	6260
+-111.1589	28.5378	6055
+-91.6797	38.4884	7999
+-107.9536	32.9896	6479
+-109.4839	29.5676	7104
+-82.8967	26.3637	8086
+-91.7853	34.3384	4772
+-86.7432	33.85	4967
+-111.1213	31.1092	8477
+-83.5474	28.0368	8264
+-78.8275	26.3634	5829
+-91.0197	37.4662	7880
+-114.0083	34.4631	5966
+-86.7597	36.0719	6938
+-90.7076	40.176	7848
+-118.5818	36.8826	6213
+-118.4586	32.1122	7913
+-88.8093	33.9766	5673
+-122.3555	47.3227	8891
+-89.4468	37.8968	9009
+-77.5697	26.4751	4527
+-109.8195	32.4436	8388
+-114.2732	43.4514	4171
+-86.664	39.2188	6881
+-120.6984	32.2851	5548
+-122.4849	47.6961	8684
+-116.8553	31.4027	8171
+-117.4693	34.1878	9309
+-116.0978	30.624	7122
+-116.8125	36.5701	6834
+-112.4754	32.9121	6742
+-112.5987	32.3562	6880
+-93.4736	33.875	3203
+-117.3251	34.0053	9384
+-110.6781	29.9049	7617
+-115.3329	33.2617	7864
+-84.4705	28.6676	7059
+-88.5612	40.3674	6798
+-91.4721	41.2427	6492
+-108.6234	31.5383	7620
+-126.4516	46.2582	5627
+-118.2345	34.6806	8325
+-117.6625	34.1626	9105
+-118.3127	34.0342	8392
+-125.7293	48.3112	6165
+-81.8179	27.2976	9253
+-120.9948	41.8127	3888
+-90.3745	35.8274	7073
+-79.0768	26.5308	6162
+-122.392	45.1673	7552
+-112.0018	35.1745	5183
+-84.6382	28.5297	6930
+-109.4059	32.0677	8340
+-85.7959	40.0309	5553
+-125.4294	44.763	5921
+-115.3727	32.1102	7808
+-117.5978	46.0448	8532
+-111.0013	32.0809	8571
+-111.8526	30.5766	7499
+-118.6786	34.6522	7897
+-90.2638	40.1168	7946
+-92.6159	37.8798	6842
+-118.1523	47.1784	8110
+-81.1239	28.1811	8658
+-117.1888	46.1782	8098
+-116.6104	32.293	9046
+-114.0212	47.764	4415
+-118.5296	33.7261	8090
+-123.6247	48.4002	7841
+-83.7096	28.3809	7978
+-115.4058	31.5722	7526
+-85.4299	37.2194	6036
+-89.3159	37.4884	9167
+-112.0774	31.7666	7573
+-78.4274	29.4627	5281
+-120.7463	35.6362	5403
+-82.3389	27.8525	9640
+-83.5412	25.1971	6578
+-82.5037	25.8382	7671
+-123.5386	45.3697	7717
+-88.882	38.1463	9261
+-116.7968	32.4779	9330
+-125.3401	45.5805	6523
+-114.211	48.098	4456
+-118.5872	31.3963	7349
+-117.4449	43.8338	6701
+-123.05	46.7764	9340
+-118.5891	46.4201	8792
+-93.1268	35.8369	5111
+-109.3239	31.7725	8361
+-124.3704	45.8739	7594
+-120.9698	32.5733	5279
+-109.5408	33.1051	7615
+-82.1512	26.0221	7919
+-121.7054	45.7325	7719
+-87.4426	38.199	8213
+-116.462	34.4786	8583
+-109.5025	29.2891	6830
+-124.8269	46.7105	7471
+-78.9237	27.9481	6255
+-90.1524	41.0098	6976
+-119.4871	33.1834	6903
+-109.7879	33.2185	7606
+-107.2939	33.0369	5823
+-88.9268	37.8978	9499
+-124.603	47.1563	7724
+-84.9895	28.6483	6511
+-89.7829	37.3494	8620
+-122.0845	46.2159	8388
+-81.0526	29.8693	7218
+-116.0147	34.4858	8119
+-80.7649	29.3119	7557
+-110.8743	31.902	8793
+-117.5117	33.7613	9052
+-119.9393	46.3335	7489
+-89.6202	38.5691	8579
+-77.2202	25.6767	3852
+-112.2398	31.8853	7382
+-89.1903	42.1916	5498
+-113.843	46.6131	4527
+-92.9282	39.5414	6552
+-117.1689	32.5045	9338
+-88.107	33.7616	5370
+-118.7362	46.0134	8772
+-121.1025	47.1216	7624
+-84.9095	26.8831	6596
+-90.9396	39.3711	8526
+-85.9998	35.542	5900
+-127.6401	47.1291	4395
+-83.047	30.7202	6395
+-110.9418	30.7109	8321
+-116.0394	31.8546	8263
+-119.2008	44.8138	7587
+-118.6113	35.0105	7787
+-120.6067	35.8943	5419
+-91.3892	39.9653	7724
+-121.026	47.8033	7351
+-90.6427	36.2095	7149
+-88.1841	40.4953	6398
+-114.8379	33.4725	7268
+-118.6077	35.2943	7603
+-111.8865	29.2446	6432
+-88.469	36.6879	8667
+-118.4321	45.851	8953
+-120.9111	32.2855	5313
+-77.4455	30.6406	3671
+-119.2027	46.1767	8283
+-119.9827	49.0228	5680
+-119.1777	46.1361	8313
+-120.7867	44.7609	6254
+-116.1058	34.5256	8201
+-114.3805	33.5469	6756
+-123.9831	46.6827	8376
+-118.467	44.2724	7315
+-122.7658	46.9096	9446
+-114.5814	31.0166	6420
+-88.0594	38.6206	8482
+-118.3645	31.5551	7653
+-117.4638	33.8905	9197
+-117.4173	46.6051	8199
+-112.9591	30.4952	6394
+-120.4299	44.0326	6104
+-116.4687	46.1465	7338
+-120.0379	33.8058	6494
+-110.6476	32.3951	8530
+-109.3484	28.0023	5450
+-84.5036	39.1238	4758
+-122.3248	46.1345	8495
+-116.9872	46.6191	7782
+-121.682	46.5761	8201
+-120.0803	30.7636	5593
+-87.6911	36.9439	8361
+-88.2511	37.829	9208
+-116.5125	32.8492	9245
+-119.122	44.0731	6937
+-120.5852	45.8359	6807
+-88.8333	34.1431	5860
+-117.9594	35.7108	7658
+-85.8162	38.1147	6465
+-90.3056	38.6592	9296
+-81.5834	29.427	7914
+-107.7181	33.1956	6145
+-110.5861	30.7814	8563
+-116.6896	42.0326	4634
+-93.6715	37.9729	5783
+-116.539	43.1749	5654
+-90.7804	36.2358	7042
+-86.4151	36.3858	6810
+-109.9592	33.5679	7285
+-107.6337	28.5373	5064
+-116.7837	45.3122	7467
+-113.3122	33.9141	5376
+-116.8533	33.3428	9152
+-118.2912	46.8386	8478
+-91.7529	36.5598	6640
+-115.81	32.8502	8462
+-81.1413	24.0566	5548
+-125.0347	46.2541	7134
+-108.7081	31.7943	7698
+-117.3605	37.1326	6265
+-85.9533	42.1248	3897
+-121.9349	45.6627	7824
+-115.9673	33.3088	8510
+-117.2719	30.7499	7423
+-122.1143	49.5125	6679
+-112.1912	34.4668	5757
+-110.8977	29.5725	7211
+-89.7972	37.8429	8641
+-87.5094	39.3146	7488
+-79.4304	28.6588	6672
+-79.4566	28.2093	6823
+-117.5445	48.3433	6759
+-121.0772	46.5813	7559
+-110.9397	31.4567	8802
+-89.7219	41.6047	6266
+-119.8255	34.7004	6679
+-89.272	35.5357	7357
+-118.6321	32.9445	7890
+-119.262	32.9618	7187
+-123.0768	49.3728	6955
+-80.845	26.8182	8083
+-118.909	35.0532	7484
+-115.6717	42.6843	4707
+-84.9213	28.0569	6721
+-92.5861	39.8578	6767
+-114.6832	29.4507	5216
+-90.6701	40.6253	7380
+-117.0634	30.5332	7204
+-80.7502	28.3536	8193
+-115.0736	35.4825	6729
+-81.2558	28.3548	8697
+-121.8955	42.9824	5092
+-107.4729	33.7134	5610
+-116.4196	40.3709	2880
+-82.8735	29.1915	8076
+-82.3477	28.978	8501
+-113.14	34.4298	5142
+-118.9388	47.5276	7597
+-120.072	45.4798	7256
+-82.7458	27.3619	9062
+-113.52	44.9626	4074
+-83.7894	28.2629	7936
+-120.4051	48.2171	6540
+-116.8663	49.3897	5467
+-107.5244	29.9524	5954
+-121.979	47.9987	8086
+-81.3282	27.9329	8962
+-108.9428	33.1762	7183
+-117.8624	34.774	8583
+-108.0202	27.1363	4043
+-110.5987	30.2818	8034
+-93.1128	37.9446	6357
+-124.4997	48.8846	6862
+-107.6092	34.4148	5217
+-118.7301	31.1438	7042
+-88.9125	43.1529	4421
+-115.7061	32.3522	8254
+-116.8004	31.6929	8486
+-111.4169	31.5705	8299
+-88.2232	38.2777	8897
+-90.0045	35.8455	7344
+-112.5154	28.9308	5752
+-115.1345	31.1877	7018
+-89.8974	40.6191	7343
+-115.3733	30.6244	6730
+-108.4638	34.1661	6019
+-122.009	46.3199	8397
+-123.884	47.9358	8089
+-119.7576	34.3525	6810
+-117.6853	44.9788	7915
+-112.5806	36.3175	3898
+-119.1683	44.1524	6995
+-118.4838	36.3862	6745
+-119.3769	44.7347	7408
+-91.8476	39.8763	7433
+-117.6363	44.3975	7332
+-122.782	49.669	6634
+-123.7349	46.9716	8689
+-91.1585	38.7835	8588
+-118.6688	48.2447	6953
+-88.7543	38.2839	9121
+-88.247	38.0077	9117
+-90.7929	38.5786	8946
+-121.0173	36.3596	4780
+-92.4319	40.3442	6627
+-91.5675	39.0774	8100
+-93.6298	39.0782	5907
+-109.2123	32.9618	7549
+-91.4001	37.296	7512
+-88.3264	38.456	8800
+-88.5045	34.4499	6193
+-85.9251	30.446	4640
+-120.9051	48.9931	6482
+-119.0331	47.3504	7716
+-117.3374	44.3212	7127
+-111.9344	30.0645	7082
+-91.9504	35.8038	5828
+-117.1601	35.4492	8098
+-93.7726	41.1129	4971
+-109.659	31.7496	8721
+-120.4132	48.3385	6486
+-114.122	33.3546	6524
+-119.2451	46.2031	8236
+-86.6556	39.599	6602
+-118.5898	42.6909	5635
+-82.3481	28.1607	9385
+-90.1288	39.3306	8741
+-89.1271	42.9479	4702
+-109.2554	33.1317	7429
+-113.681	32.7242	6087
+-108.3771	33.1103	6785
+-114.1991	31.0935	6116
+-117.1313	31.3453	8101
+-118.521	49.6388	5504
+-118.895	42.9954	5909
+-80.212	25.689	6691
+-90.2945	37.4643	8035
+-88.775	42.9426	4584
+-117.5204	34.5379	9017
+-120.0041	44.8114	6984
+-84.2704	25.0474	5980
+-90.8429	36.7113	7172
+-90.1945	37.743	8320
+-107.0936	30.8753	5881
+-113.9746	34.35	5939
+-107.6575	30.4667	6332
+-112.2139	32.0837	7365
+-115.8591	31.7663	8050
+-90.6509	37.0919	7614
+-119.8687	46.8401	7407
+-91.0692	39.1176	8586
+-84.864	36.1356	5110
+-123.0028	49.8971	6385
+-120.2349	46.8742	7037
+-116.0005	35.1812	7745
+-90.9212	38.5668	8812
+-122.7985	48.4127	8014
+-92.3219	39.538	7169
+-88.3269	35.1825	6984
+-111.5069	28.7063	6107
+-115.8249	31.0835	7438
+-111.1455	30.4238	7940
+-116.0476	36.9462	6194
+-116.4981	31.3494	8035
+-120.3186	48.362	6382
+-118.4959	42.7234	5677
+-116.2013	33.0643	8856
+-93.4593	38.3539	6082
+-110.5149	31.9059	9072
+-109.4034	31.7773	8444
+-115.8879	34.2469	8029
+-111.1345	32.3727	8255
+-86.2894	37.1015	6963
+-82.0614	28.3378	9241
+-125.3035	48.2151	6631
+-119.6225	46.9503	7580
+-118.4721	34.2226	8219
+-118.4201	37.0469	6120
+-89.124	35.7433	7620
+-120.2683	32.2425	6015
+-91.2092	39.3807	8304
+-86.5029	35.4006	6220
+-125.2401	46.5481	6994
+-88.7097	37.3795	9487
+-82.459	26.4244	8330
+-121.0776	47.3257	7566
+-94.5997	36.9426	4480
+-117.9059	33.446	8514
+-115.4188	32.2182	7902
+-117.4451	46.777	8119
+-79.9655	28.6168	7258
+-112.2166	27.3704	4474
+-123.6715	48.4435	7776
+-120.1002	46.5289	7283
+-112.301	31.9713	7301
+-86.8275	38.075	7590
+-88.8387	36.7502	8784
+-118.5933	33.9286	8074
+-117.9658	45.9345	8881
+-89.4626	36.7489	8523
+-80.6534	26.7193	7841
+-122.1106	43.5112	5712
+-84.4973	29.5393	6550
+-88.9886	39.8329	7521
+-124.8467	48.5126	6875
+-89.074	34.6563	6419
+-125.2404	46.3063	6935
+-110.6695	31.0537	8794
+-89.4931	40.6011	7210
+-87.9948	36.414	8164
+-87.292	41.9078	4661
+-111.0443	30.8115	8337
+-120.449	31.7481	5690
+-88.7316	36.2559	8232
+-109.9826	32.484	8426
+-88.639	36.4619	8456
+-88.2685	40.5305	6445
+-79.7468	26.7273	6947
+-83.4181	27.3553	8366
+-109.8399	29.2729	6914
+-88.2553	28.8819	2852
+-116.3384	34.8764	8241
+-105.0096	31.9352	3693
+-83.1702	28.2666	8590
+-121.1846	46.1233	7506
+-117.9762	35.8617	7500
+-110.9604	33.4139	7377
+-92.4448	36.0259	5742
+-117.2911	46.5975	8085
+-89.2365	41.7857	5927
+-85.5583	35.5236	5485
+-110.8643	29.9639	7627
+-114.4583	34.4269	6458
+-91.6657	37.5005	7495
+-80.1971	25.6219	6623
+-118.382	37.7024	5459
+-87.9044	36.7795	8427
+-121.8129	29.7746	3371
+-111.3159	30.6951	8038
+-111.974	32.5954	7385
+-116.2678	32.9253	8964
+-111.9435	35.9213	4460
+-87.9388	37.3726	8829
+-110.9955	31.8776	8688
+-85.7796	40.3674	5294
+-88.0901	36.964	8721
+-119.7657	49.2719	5553
+-116.3463	47.4305	6772
+-111.5183	29.5228	6898
+-120.5875	43.3316	5446
+-83.2613	26.5542	8019
+-117.3883	47.2164	7745
+-117.0856	36.355	7106
+-111.6538	32.1462	7918
+-110.515	31.3659	9167
+-87.158	39.8322	6786
+-117.7526	45.0382	8003
+-115.217	31.317	7183
+-117.9331	48.4925	6700
+-90.5967	41.0232	6963
+-86.7039	39.9775	6338
+-86.7523	37.5775	7552
+-118.3795	46.3191	9007
+-80.8472	26.316	7699
+-122.0173	43.7388	5930
+-91.6897	37.3301	7345
+-113.0086	33.7713	5729
+-83.3192	28.566	8274
+-105.7987	32.7597	4398
+-124.4151	48.021	7578
+-119.9021	47.1079	7241
+-89.9558	38.0279	8520
+-116.3266	32.7962	9039
+-87.5101	39.3949	7416
+-114.6045	32.4437	7085
+-89.3652	38.7197	8326
+-110.377	33.9547	6904
+-119.9173	47.6369	6885
+-87.4091	34.8334	6289
+-82.661	28.6001	8776
+-113.3677	30.4269	5955
+-78.9099	24.5006	4701
+-90.7547	44.5137	3199
+-89.5327	41.2976	6529
+-85.5954	36.1532	5871
+-117.3115	32.1708	8936
+-109.3565	33.2128	7415
+-107.8885	33.5452	6077
+-118.4192	31.7575	7748
+-80.2158	29.5749	6910
+-107.8753	30.6761	6635
+-106.56	32.2319	5325
+-108.4118	31.9454	7355
+-114.5345	36.344	5704
+-82.9392	28.7814	8426
+-118.5065	28.6257	4773
+-89.0671	38.7262	8578
+-118.9411	29.9145	5838
+-119.0055	35.5396	7098
+-94.1936	39.0879	5301
+-110.0434	29.3795	7065
+-91.7628	39.3538	7801
+-116.7119	30.8161	7503
+-116.9725	44.012	6649
+-116.2402	44.9179	6761
+-87.6038	37.7357	8508
+-122.8728	47.1797	9370
+-115.226	44.089	5385
+-115.9364	36.0707	6974
+-111.8372	30.7627	7617
+-114.8148	30.246	6014
+-109.4802	30.8216	8234
+-91.4036	37.0561	7293
+-82.3209	27.5326	9553
+-111.2336	28.343	5830
+-108.4645	33.8611	6281
+-118.3691	34.0749	8334
+-85.7068	37.872	6373
+-114.5976	31.9588	6943
+-114.0474	31.9475	6355
+-121.0764	47.8961	7357
+-124.3634	48.9262	6919
+-92.4706	37.1877	6614
+-91.2476	35.9063	6221
+-91.3415	39.5856	8054
+-118.6919	43.8232	6811
+-116.9752	33.2065	9318
+-120.0185	47.8961	6616
+-114.0048	33.0127	6442
+-114.0108	28.5904	4336
+-87.695	37.3304	8555
+-88.3087	38.9789	8254
+-90.7648	41.2696	6678
+-82.0127	28.2831	9292
+-117.2326	42.6607	5452
+-88.6876	40.4163	6862
+-114.0829	29.2641	4697
+-111.2079	30.1686	7671
+-82.9386	30.1978	6995
+-123.4677	48.5767	7731
+-111.4901	31.7734	8203
+-123.27	46.2332	8704
+-113.7173	46.3397	4418
+-117.2244	30.372	7011
+-89.9074	39.865	8118
+-119.3257	34.3279	7282
+-117.9377	32.8281	8670
+-119.3373	48.6655	6323
+-90.7995	41.9854	5908
+-119.1146	48.4691	6602
+-88.4728	38.4915	8832
+-112.4004	30.2517	6809
+-120.5239	45.8486	6873
+-119.9193	45.8854	7513
+-93.7355	37.2794	5479
+-110.141	34.1066	6732
+-92.4524	41.291	5892
+-110.7103	34.6244	6153
+-89.5403	38.587	8499
+-117.42	31.8771	8589
+-120.3973	45.1375	6800
+-85.4872	35.3143	5285
+-117.8974	33.2134	8624
+-123.295	46.9015	9166
+-117.0072	33.323	9186
+-86.572	39.1201	6860
+-88.0064	35.7307	7481
+-122.0543	31.6874	3940
+-85.5328	40.6718	4859
+-82.675	28.3547	8988
+-89.4693	40.6492	7153
+-117.9773	31.2101	7636
+-121.0465	46.9738	7570
+-81.1111	25.7295	7314
+-117.7525	36.6599	6731
+-115.7947	34.7349	7803
+-121.7631	45.945	7927
+-115.2886	35.2193	7076
+-116.4296	34.3637	8591
+-124.8228	46.3614	7392
+-82.0967	27.8027	9834
+-120.3906	33.9999	6127
+-85.2735	30.8254	4933
+-88.0418	38.2289	8785
+-118.0521	48.9578	6224
+-118.2272	33.2449	8111
+-116.2571	41.3268	3769
+-119.9438	46.5248	7445
+-89.3864	34.2183	5883
+-124.2274	46.8872	8145
+-94.9422	35.6079	3457
+-84.399	28.5983	7162
+-122.7162	46.8599	9373
+-81.2397	24.7482	6331
+-116.3426	31.6491	8276
+-119.5144	33.2792	6915
+-116.566	35.7243	7642
+-106.5247	31.0922	5313
+-115.6172	28.7894	5015
+-115.0317	35.9904	6368
+-107.9536	26.6582	3547
+-90.6468	40.4021	7621
+-81.1637	28.6427	8414
+-121.1223	31.8236	4987
+-90.1874	36.6011	7822
+-118.2292	31.3458	7591
+-118.4963	44.7386	7801
+-125.8708	48.339	6011
+-115.9374	36.5385	6540
+-81.6329	25.9186	7726
+-88.2114	42.5098	4744
+-106.5422	31.251	5350
+-109.7747	29.6054	7247
+-82.5289	27.5445	9379
+-117.7747	34.2843	8960
+-125.29	44.7346	6014
+-89.9108	41.6073	6303
+-90.8403	39.9584	8032
+-112.347	32.2474	7176
+-117.8945	46.9809	8241
+-92.975	42.1632	4805
+-125.1516	48.3035	6729
+-117.478	32.1245	8793
+-89.8521	35.0457	6631
+-88.8313	34.0646	5772
+-109.6208	31.8572	8647
+-120.843	48.0684	7043
+-109.2891	32.8169	7722
+-91.9371	37.9917	7561
+-82.8129	25.4685	7181
+-91.9503	37.8649	7485
+-123.0373	49.6074	6701
+-81.6378	27.1102	8962
+-83.5489	28.8756	7858
+-84.5665	30.4364	5806
+-84.4345	38.6923	4818
+-116.3221	35.7051	7538
+-119.565	43.7211	6399
+-115.1051	33.359	7590
+-116.5753	33.0021	9270
+-79.1863	27.2257	6503
+-118.6102	34.7628	7919
+-79.9003	27.1161	7261
+-117.6778	48.127	7020
+-111.7819	36.1991	4232
+-89.8373	36.7369	8224
+-110.258	30.5902	8394
+-120.9571	46.4921	7409
+-122.7585	48.8292	7554
+-87.2033	40.7187	5965
+-118.4339	37.1361	6024
+-90.7134	38.4628	8953
+-114.732	29.8495	5610
+-91.6545	37.4419	7458
+-122.8281	47.2536	9281
+-116.1505	46.6555	6926
+-124.3281	49.192	6701
+-116.6862	44.2502	6672
+-117.4798	31.297	7964
+-91.847	39.317	7732
+-117.6152	48.7027	6415
+-117.9211	33.9285	8790
+-116.7309	35.5511	7885
+-78.957	31.0768	4702
+-113.8753	32.8588	6304
+-90.4051	36.1317	7295
+-81.2489	32.6549	4272
+-118.2445	44.3588	7416
+-108.1326	32.2545	6981
+-109.1124	33.465	7043
+-87.541	38.6654	8040
+-112.8231	30.9191	6682
+-120.9607	46.8027	7468
+-116.3068	31.7147	8320
+-119.8588	48.2475	6440
+-118.9764	31.4426	7037
+-119.0905	36.9674	5861
+-125.2563	45.637	6634
+-80.1453	29.2654	7076
+-118.8071	35.2647	7453
+-82.5573	27.5404	9349
+-112.6843	34.5593	5364
+-89.0201	37.1414	9161
+-107.7925	34.061	5629
+-84.3916	24.1152	5035
+-114.2744	33.2514	6711
+-111.8266	31.2813	7823
+-88.9732	36.0101	7942
+-119.7086	34.4459	6852
+-121.7601	43.3878	5480
+-91.0507	41.0878	6804
+-82.9116	24.3735	5954
+-120.82	45.789	6980
+-117.2287	46.0607	8143
+-113.0291	34.0546	5511
+-109.5539	31.5245	8627
+-83.9284	24.2741	5450
+-83.9056	28.7376	7606
+-88.7768	35.4336	7309
+-116.2336	31.3468	7921
+-120.0042	48.0656	6494
+-116.2387	32.9257	8932
+-81.6451	26.8701	8738
+-91.4463	36.6446	6882
+-86.3249	37.7149	7074
+-116.2122	48.03	6262
+-80.7463	28.4238	8156
+-91.9861	37.3874	7157
+-122.0767	47.3917	8588
+-115.7315	32.6589	8364
+-91.9704	34.5801	4822
+-79.1848	26.5159	6269
+-86.6055	38.5845	7179
+-87.5241	36.5138	7913
+-123.9736	44.292	6440
+-117.4166	32.9286	9236
+-88.4927	38.3517	8986
+-88.6508	37.8342	9586
+-117.366	32.0978	8836
+-110.3368	28.8545	6517
+-109.0702	30.9435	7940
+-82.1683	29.1761	8297
+-87.2982	36.1016	7407
+-112.0207	30.9086	7505
+-121.9628	42.711	4819
+-114.3882	46.3609	5126
+-88.7941	38.6248	8738
+-116.8613	45.694	7694
+-91.3202	38.1533	8227
+-89.6758	37.2407	8688
+-116.5854	28.2531	4645
+-123.1132	48.0743	8367
+-90.6486	38.0387	8606
+-119.2413	48.6352	6390
+-81.0176	24.2426	5711
+-113.4898	31.4823	6052
+-114.9322	28.8718	4802
+-87.2172	39.3799	7222
+-124.9367	46.4886	7308
+-123.5712	47.1145	8851
+-119.3661	42.4856	5265
+-92.8541	39.1256	6731
+-90.0611	38.5302	9004
+-115.5447	34.5138	7614
+-81.523	31.9591	5099
+-81.6216	28.6685	8719
+-122.288	46.6746	8861
+-126.3117	47.9117	5717
+-111.2739	31.4731	8448
+-118.7491	32.2042	7651
+-117.9468	30.5798	7029
+-82.5914	26.251	8101
+-87.7061	33.3242	4798
+-80.4291	27.1522	7843
+-93.6712	40.47	5425
+-114.2187	37.408	4658
+-90.8698	40.8795	7070
+-80.0138	27.7722	7494
+-116.3258	31.6838	8301
+-116.3124	32.188	8741
+-118.1901	34.5734	8422
+-83.1851	28.6185	8361
+-81.5189	27.7504	9197
+-118.9045	34.8936	7568
+-116.9482	29.9502	6556
+-122.9805	49.0265	7341
+-85.884	25.7357	5067
+-117.1833	36.3528	7115
+-123.3803	43.8757	6170
+-115.6581	32.268	8170
+-124.0782	49.2177	6815
+-118.7646	43.9542	6931
+-116.9288	45.80	7791
+-83.9817	24.8407	5977
+-115.7167	35.6127	7201
+-82.7932	28.7859	8519
+-111.9118	31.3062	7737
+-108.4088	32.3863	7214
+-111.078	30.8856	8368
+-93.6356	32.9577	2264
+-115.9983	34.6732	8034
+-90.4189	40.393	7653
+-116.5848	49.1189	5592
+-116.3263	29.7084	6213
+-120.2919	47.9864	6342
+-87.8268	36.7215	8319
+-88.5894	41.203	6149
+-116.4576	31.1144	7771
+-125.9076	48.7182	5782
+-122.6478	45.5114	7984
+-119.3569	42.8205	5606
+-87.1153	36.0684	7236
+-119.1143	31.4015	6884
+-79.5298	29.8978	6086
+-80.6299	27.5513	8174
+-117.8109	34.9532	8464
+-88.2109	34.4913	6197
+-80.4316	24.098	5317
+-109.9493	31.3733	8999
+-123.6326	47.1267	8782
+-92.8838	39.7427	6525
+-118.445	33.7532	8187
+-115.7245	35.8711	7003
+-89.7224	40.3993	7509
+-83.1581	26.2431	7815
+-91.6446	36.1055	6266
+-116.6841	32.4969	9277
+-118.8881	33.9983	7763
+-82.1581	27.0345	9064
+-91.5978	38.7696	8115
+-123.2965	47.0705	9156
+-84.9122	32.2552	3920
+-115.0541	35.0139	6940
+-117.625	31.3243	7933
+-87.9806	36.6964	8414
+-81.9831	28.5962	8939
+-113.3388	32.5343	6058
+-116.7026	36.7653	6602
+-116.8257	38.1052	5179
+-80.2051	28.618	7508
+-118.6607	32.8925	7861
+-90.2805	40.7195	7299
+-115.9367	34.7373	7945
+-108.2562	30.0746	6692
+-90.8725	39.0862	8785
+-91.7878	39.8166	7524
+-82.6269	26.1483	7978
+-108.6511	31.6237	7650
+-116.288	32.7894	8995
+-92.1799	35.9622	5850
+-119.6323	31.3325	6350
+-81.317	27.9176	8953
+-120.0668	46.3828	7348
+-123.8219	45.8388	8006
+-82.4721	26.2647	8151
+-117.3976	45.6809	8223
+-88.9737	38.7991	8522
+-110.5512	30.47	8244
+-84.6139	30.6313	5605
+-124.26	46.8796	8109
+-122.2593	47.8957	8366
+-89.5261	37.0282	8702
+-110.8699	29.8979	7557
+-114.289	45.4218	4970
+-115.7471	30.6086	6939
+-87.4647	36.1441	7567
+-126.8662	43.6348	3915
+-76.0318	28.9797	2854
+-122.2206	48.5347	7729
+-120.399	35.1176	5956
+-87.6376	37.4087	8515
+-118.7204	32.0871	7634
+-123.2091	44.2134	6562
+-79.3683	28.0016	6753
+-82.5445	28.7825	8653
+-115.819	33.0097	8455
+-117.452	35.9452	7551
+-91.2202	36.393	6728
+-87.8482	39.0445	7956
+-88.8003	36.4781	8481
+-124.1202	45.8481	7788
+-120.0558	49.835	5168
+-89.6709	39.5617	8260
+-116.0149	36.0481	7042
+-118.6441	36.8982	6168
+-108.8152	35.5919	4829
+-119.5917	33.6266	6942
+-118.286	32.0888	8072
+-80.8405	27.5752	8414
+-118.9854	33.0471	7486
+-123.0424	46.4683	9037
+-110.2007	32.5368	8431
+-87.9932	38.2108	8753
+-120.3079	47.7392	6502
+-118.4284	43.9738	7004
+-87.7017	37.8012	8610
+-115.0367	43.1759	4633
+-123.6537	46.9699	8778
+-115.6479	35.0956	7484
+-83.0815	28.823	8286
+-117.5001	30.8262	7454
+-114.3983	31.9998	6747
+-92.0092	36.4444	6383
+-117.761	45.4343	8364
+-123.0078	39.8955	1837
+-92.0868	40.5155	6780
+-88.2334	37.8912	9165
+-121.373	48.0406	7555
+-89.3773	34.8353	6565
+-82.8057	28.2573	8951
+-116.3699	37.5304	5705
+-91.5437	41.5332	6174
+-90.9685	40.149	7790
+-116.2581	29.86	6362
+-115.9624	34.3668	8093
+-117.2066	32.7276	9467
+-116.8541	49.3123	5537
+-122.5358	48.1125	8285
+-81.7374	30.4209	6856
+-120.7395	45.1791	6482
+-116.3273	46.9736	6992
+-81.6854	27.3198	9177
+-122.8371	47.1264	9418
+-117.9198	47.9035	7312
+-116.2426	34.7416	8239
+-115.6224	31.7775	7858
+-118.9519	47.6561	7467
+-109.6585	33.8042	6959
+-120.4367	46.1957	6978
+-90.4707	42.0318	5886
+-119.1325	45.2198	7965
+-91.0366	36.1225	6506
+-121.8649	49.2132	6889
+-121.8234	47.0848	8416
+-109.3819	35.526	5079
+-108.1498	29.4918	6198
+-115.2213	44.1445	5413
+-81.2977	30.0232	7170
+-84.9632	29.3764	6209
+-115.1765	47.4836	5659
+-110.3043	28.6627	6309
+-111.71	31.6572	7980
+-120.1755	48.6566	5892
+-85.7755	36.9853	6372
+-121.047	30.1206	4298
+-106.9661	34.3273	4767
+-90.6901	41.7687	6154
+-112.1764	29.6869	6608
+-117.3037	34.1101	9490
+-117.0411	35.1777	8372
+-118.0421	48.0418	7188
+-122.1831	47.263	8754
+-87.9584	43.4644	3710
+-114.9975	32.3264	7489
+-90.149	39.5074	8570
+-122.0013	48.4369	7713
+-116.2291	30.1893	6709
+-123.988	45.7027	7774
+-111.7748	28.7852	6063
+-79.6851	27.0089	6993
+-116.0878	32.2468	8585
+-117.2953	31.5586	8303
+-118.0725	41.6779	4572
+-122.2449	48.3202	7954
+-117.2883	34.8045	8805
+-122.9307	43.2147	5484
+-124.1501	47.4368	8139
+-120.7301	48.0826	6925
+-114.9863	44.5136	5386
+-119.8534	35.587	6301
+-80.4738	27.9914	7998
+-88.0125	40.6635	6141
+-114.8987	31.5426	7044
+-81.2634	27.7323	8907
+-81.7556	30.3281	6963
+-91.1722	35.3564	6072
+-89.0807	27.2629	2012
+-115.165	34.2026	7244
+-114.7982	34.6268	6792
+-113.2778	32.2013	6214
+-93.4083	37.2616	5791
+-109.9267	33.2905	7572
+-115.9698	32.737	8637
+-118.9572	48.2827	6841
+-88.8252	39.8089	7394
+-82.922	28.3842	8759
+-88.1802	37.7924	9142
+-125.1657	47.4686	7057
+-123.9336	47.8669	8100
+-88.5677	37.7778	9559
+-79.985	28.5455	7307
+-114.1662	32.7946	6629
+-110.8335	33.4931	7335
+-89.868	39.0299	8792
+-83.3986	25.5155	6971
+-124.6445	44.1977	6011
+-118.7654	46.1447	8748
+-114.2281	37.4321	4646
+-116.2528	35.8942	7321
+-86.4573	37.4569	7212
+-93.4039	37.2249	5777
+-119.3169	33.0283	6997
+-82.1254	27.157	9203
+-119.601	34.1137	6991
+-105.9221	35.6633	2963
+-120.282	43.2723	5593
+-110.1957	32.0473	8949
+-92.4638	36.3931	6036
+-92.6646	40.0893	6573
+-114.3693	32.4353	6825
+-81.2676	27.8855	8904
+-87.2295	29.5369	3789
+-113.3825	32.4125	6050
+-112.4859	29.7903	6438
+-93.3155	41.0035	5438
+-93.0856	42.6004	4354
+-118.0224	49.5118	5637
+-112.0185	32.969	7110
+-89.6884	37.2705	8689
+-94.2653	37.6028	5061
+-79.8798	28.2281	7290
+-117.5647	49.3105	5776
+-119.0494	44.4185	7304
+-118.4562	36.0305	7095
+-83.54	26.4957	7748
+-89.4683	38.6235	8429
+-78.6961	27.40	5982
+-87.802	36.4525	8075
+-89.6544	39.2982	8441
+-94.152	39.8768	5185
+-86.7156	37.0705	7418
+-82.2196	28.5273	9026
+-123.1025	46.2746	8814
+-85.9071	37.2112	6565
+-118.8349	49.3521	5767
+-118.1183	49.2766	5892
+-117.593	45.4897	8285
+-122.3157	43.7658	6032
+-119.342	31.1057	6488
+-87.0801	37.1175	7824
+-113.9101	34.604	5841
+-86.7625	39.9384	6414
+-118.3203	31.36	7535
+-84.9931	40.8007	4308
+-111.2875	31.3665	8413
+-89.9732	38.9791	8918
+-82.9917	27.3165	8796
+-127.7848	45.569	4024
+-118.4584	33.2853	7942
+-88.868	36.1653	8127
+-89.2667	32.075	3514
+-83.9734	24.256	5408
+-120.2057	40.9136	3402
+-114.8163	35.548	6452
+-118.77	43.4776	6436
+-81.432	29.7372	7526
+-83.0835	29.7314	7423
+-116.8035	32.8573	9565
+-82.4709	24.9781	6715
+-117.9974	47.9094	7320
+-113.4515	32.2962	6008
+-81.7601	28.2473	9204
+-118.3122	46.2996	9047
+-90.8804	37.8184	8286
+-114.5691	32.114	6966
+-124.7297	47.6303	7468
+-117.0812	34.8133	8769
+-86.4309	32.3208	3267
+-90.3812	42.8712	4982
+-119.0546	47.7501	7331
+-119.7425	42.9331	5568
+-123.9564	45.0204	7173
+-115.1297	35.2126	6926
+-93.0345	33.5981	3179
+-124.9613	47.2995	7312
+-114.0847	32.9492	6535
+-118.9916	44.802	7695
+-110.4731	29.8483	7588
+-109.9552	31.3008	8962
+-117.9827	34.9931	8317
+-112.5058	30.2825	6730
+-122.963	45.5111	8006
+-82.1987	27.2356	9287
+-111.9868	35.423	4944
+-108.4111	31.1813	7346
+-80.6032	28.1435	8110
+-82.0439	28.8405	8673
+-119.2255	44.1328	6950
+-88.1892	27.0575	2994
+-115.6233	31.2466	7448
+-81.1629	28.7657	8317
+-117.9617	37.1102	6203
+-78.8095	26.5415	5885
+-110.4574	30.1157	7878
+-81.5589	26.1703	7973
+-88.8576	35.5192	7403
+-89.9414	35.1345	6682
+-89.0857	39.349	7884
+-108.6881	28.0143	5216
+-121.8163	45.8136	7868
+-116.0076	44.5866	6366
+-119.3286	34.4407	7264
+-86.6246	37.1975	7354
+-92.0805	35.4636	5438
+-115.0772	37.8296	4852
+-78.7881	28.3523	6050
+-80.0108	28.8905	7175
+-113.6308	33.7737	5882
+-83.4809	26.3677	7695
+-122.4946	46.5348	8956
+-117.1759	33.9106	9276
+-119.4953	33.0161	6818
+-113.2988	35.2572	5039
+-114.8136	48.0289	5056
+-81.9034	28.1435	9393
+-120.1155	44.7665	6861
+-88.4352	34.1519	5853
+-116.5837	46.3317	7444
+-84.7911	27.0992	6792
+-80.899	25.6995	7169
+-111.7164	28.7699	6077
+-89.4679	42.4597	5306
+-86.3252	36.0718	6542
+-112.9905	30.3043	6278
+-86.1298	37.3069	6828
+-89.9966	39.212	8775
+-84.2468	26.4601	7081
+-79.6781	28.9842	6792
+-114.1406	33.3606	6543
+-122.4832	47.525	8841
+-116.9015	46.9554	7539
+-87.2134	37.4828	8059
+-117.064	31.8945	8719
+-120.0457	36.0496	5856
+-87.373	40.6201	6149
+-90.6656	40.4549	7562
+-85.1609	42.0994	3400
+-86.0958	29.8164	4845
+-122.8154	48.8878	7493
+-115.8982	32.5651	8529
+-86.7697	38.007	7541
+-115.5331	28.3646	4536
+-118.9039	34.3217	7740
+-80.441	30.737	6025
+-123.5243	49.5095	6730
+-114.6558	31.3983	6729
+-117.2905	33.2071	9187
+-117.0934	34.4814	9114
+-91.3487	39.334	8208
+-90.3384	39.3358	8791
+-83.7772	40.9107	3134
+-89.6359	36.8984	8513
+-117.1338	34.1237	9393
+-81.0717	29.2024	7872
+-88.7501	36.4666	8469
+-88.1084	38.4534	8663
+-115.2978	34.4643	7360
+-111.3503	31.3717	8348
+-79.7612	27.6332	7204
+-115.9144	47.4473	6374
+-116.9541	37.281	6087
+-118.0209	34.071	8712
+-116.1771	28.868	5261
+-81.2842	27.2851	8788
+-92.9389	36.9793	6073
+-81.5139	25.9985	7773
+-86.3246	37.7518	7072
+-84.3618	30.7112	5715
+-120.1336	31.0098	5686
+-114.9978	34.5189	7028
+-115.8989	45.9534	6731
+-115.6147	33.838	7707
+-119.6893	31.8195	6519
+-117.4195	45.2181	7953
+-84.0154	26.2456	7155
+-89.8648	32.5241	3913
+-93.155	42.2404	4620
+-113.7061	29.3154	5070
+-107.4504	29.6692	5724
+-119.251	33.1341	7114
+-116.7386	31.7242	8508
+-91.2271	36.4174	6751
+-123.1166	44.3466	6718
+-119.0599	30.3817	6171
+-109.7028	33.2101	7583
+-118.3688	32.8494	8188
+-89.0711	38.9327	8353
+-110.2065	32.6003	8363
+-88.9448	39.0343	8266
+-109.4954	33.2086	7492
+-80.0127	24.8012	5768
+-118.4616	30.4708	6650
+-82.0687	25.8768	7753
+-79.7316	27.3886	7142
+-121.6314	44.4689	6528
+-87.3297	36.7358	7894
+-107.318	32.7097	5986
+-120.4561	46.0814	6959
+-119.1556	32.6436	7304
+-107.4556	30.6268	6188
+-114.4688	34.3788	6474
+-117.6492	35.0236	8481
+-87.4951	36.3341	7748
+-89.2593	40.414	7260
+-118.9797	34.0063	7664
+-78.7599	27.738	6076
+-116.0074	29.8666	6293
+-118.3971	34.5436	8226
+-119.7658	31.9987	6500
+-110.0238	31.4783	9119
+-94.6948	37.1331	4461
+-85.5265	34.7308	4908
+-117.9048	34.8516	8490
+-108.9172	30.7359	7686
+-86.4263	38.3314	7084
+-77.535	29.5203	4325
+-118.8829	36.34	6554
+-107.0508	30.9812	5858
+-91.8701	42.9132	4660
+-86.5713	34.6883	5662
+-118.9628	30.3435	6208
+-117.5929	44.0685	6988
+-120.6325	34.884	5776
+-116.5698	32.051	8791
+-118.7137	35.3303	7489
+-118.4817	46.5041	8784
+-79.2029	34.6243	1455
+-109.9733	32.5557	8350
+-78.9676	27.5593	6303
+-82.8442	26.9397	8659
+-80.5665	29.1092	7558
+-90.4245	38.2232	8855
+-93.3773	41.6788	4910
+-91.1806	38.7523	8565
+-119.4361	46.7517	7858
+-115.9449	45.0661	6553
+-123.5805	44.3604	6647
+-83.356	27.0076	8264
+-109.0797	34.4695	6064
+-80.2803	26.6079	7420
+-114.9115	32.8789	7460
+-115.4489	30.4739	6639
+-121.1496	46.7652	7670
+-120.7761	33.0804	5541
+-78.3393	28.8873	5417
+-116.1799	34.2204	8349
+-115.6343	34.3041	7748
+-120.4261	33.1237	5920
+-117.0869	33.111	9398
+-114.3629	35.2397	6148
+-127.0513	46.9146	5045
+-117.1951	31.3403	8087
+-91.6968	38.1774	7880
+-117.0663	30.6378	7320
+-118.5082	47.5131	7745
+-123.3293	48.0039	8373
+-119.898	33.7169	6632
+-118.7805	34.8038	7732
+-120.3243	42.8718	5216
+-89.5767	38.2921	8425
+-112.6567	31.4055	6949
+-111.4817	34.7772	5796
+-117.2853	46.1543	8202
+-83.8488	29.549	7094
+-125.9491	48.2431	5975
+-116.998	30.3685	7022
+-87.5208	38.5571	8096
+-109.0908	32.0135	8049
+-80.0958	24.3106	5354
+-124.594	46.8149	7738
+-90.1309	34.7438	6195
+-124.9411	44.7359	6284
+-116.1364	34.7998	8107
+-120.2316	49.0024	5919
+-109.7697	31.4097	8835
+-118.8768	35.3205	7356
+-118.3727	45.5347	8654
+-120.2149	44.7748	6780
+-115.2924	30.7175	6758
+-123.1683	46.2277	8743
+-124.6002	48.0955	7364
+-119.1146	34.9644	7328
+-109.1626	32.9182	7550
+-91.7186	38.4214	7942
+-93.0469	36.013	5308
+-92.9916	41.516	5327
+-121.7324	34.5568	4645
+-92.5793	41.3177	5783
+-116.762	34.8426	8588
+-88.1519	39.9161	7197
+-81.0122	26.2699	7777
+-116.9429	47.1247	7474
+-115.9028	33.1548	8508
+-92.0305	40.4631	6863
+-92.1143	34.7303	4707
+-91.6878	36.5381	6657
+-119.2254	34.8822	7250
+-84.1604	28.4126	7485
+-114.0334	31.1902	6012
+-121.0874	32.9052	5160
+-110.7757	34.4988	6279
+-116.9524	35.7513	7740
+-117.838	34.4344	8833
+-112.2625	32.1856	7284
+-107.0328	36.2688	3264
+-121.5368	47.4567	8015
+-93.5733	41.7752	4686
+-110.612	35.6108	5099
+-118.842	36.1847	6716
+-114.7375	43.729	4743
+-120.3191	43.3058	5599
+-85.6011	37.1646	6217
+-82.8556	29.4087	7863
+-89.9854	36.9894	8250
+-124.3722	48.0563	7594
+-120.8546	34.3885	5614
+-117.9998	34.1684	8737
+-117.2384	45.7235	8084
+-118.4547	49.372	5790
+-90.5803	35.2441	6419
+-115.7339	32.8388	8378
+-87.1838	40.5542	6118
+-80.3962	27.7486	7927
+-90.0936	37.2917	8267
+-90.1685	35.3412	6768
+-108.2147	31.911	7151
+-88.5638	32.8712	4428
+-119.9214	47.1764	7185
+-112.8032	30.4805	6543
+-118.3952	49.1486	6030
+-115.9102	34.0366	8055
+-111.5129	29.5454	6922
+-117.1161	34.2053	9356
+-118.6319	43.2942	6266
+-81.1443	27.2451	8627
+-106.5466	29.6047	4845
+-93.6595	37.87	5768
+-111.071	35.5672	5084
+-89.0156	39.2726	7846
+-110.822	32.7388	8114
+-113.5408	30.2209	5698
+-120.2956	34.9157	6125
+-91.5483	36.3737	6572
+-124.4439	45.0854	6933
+-116.8428	45.8556	7713
+-119.1298	32.6232	7330
+-88.8777	39.6857	7514
+-89.7403	36.6404	8228
+-117.6967	45.1116	8043
+-89.6934	36.9004	8466
+-88.9731	36.3375	8306
+-108.0412	32.437	6823
+-113.6901	30.80	5739
+-90.4242	35.9388	7128
+-91.8021	39.2573	7800
+-89.199	42.3726	5316
+-118.1417	46.5085	8803
+-87.3692	37.9568	8213
+-117.4231	33.9931	9309
+-79.891	25.3843	6191
+-110.526	30.2896	8056
+-117.5296	31.1083	7747
+-86.3306	39.9569	6061
+-93.0368	40.9879	5683
+-123.0252	49.9415	6335
+-91.0748	40.1562	7735
+-93.6682	38.1103	5817
+-113.5427	35.4787	5219
+-107.7342	31.0742	6604
+-120.4207	34.3223	6091
+-110.3691	29.6516	7380
+-88.5846	38.9861	8319
+-112.5097	34.983	5100
+-116.8853	31.8461	8667
+-117.4271	28.1501	4523
+-117.8386	29.5393	5970
+-125.6887	47.2418	6528
+-83.6881	28.5522	7922
+-89.7193	37.5589	8739
+-88.7087	37.3377	9441
+-117.0758	35.3136	8234
+-88.1336	42.7123	4513
+-111.2984	32.74	7841
+-115.2908	33.6445	7668
+-90.9619	41.1341	6780
+-116.6816	37.2068	6125
+-117.5342	33.4339	8721
+-108.4238	29.5558	6456
+-93.6651	41.0788	5087
+-82.5095	26.2256	8098
+-86.8989	37.4306	7702
+-92.6752	39.4901	6829
+-117.0184	34.566	8994
+-89.6525	36.675	8323
+-111.3336	30.9821	8209
+-90.9419	38.3067	8656
+-92.3598	37.2459	6747
+-117.553	30.2165	6780
+-89.4617	38.8504	8425
+-110.1942	33.2054	7710
+-79.9511	32.7754	3711
+-120.6087	32.6401	5686
+-120.3206	36.8937	5047
+-117.529	33.1998	8994
+-110.0565	32.2559	8685
+-82.3605	24.9825	6732
+-88.7621	41.329	6141
+-110.5785	31.4695	9181
+-86.0937	35.2472	5769
+-116.0685	30.4401	6919
+-119.1661	48.6537	6399
+-114.9252	31.7806	7199
+-106.896	30.9902	5694
+-119.8446	45.4439	7467
+-113.7494	47.1757	4325
+-82.4829	30.2669	7036
+-108.8807	30.6492	7602
+-111.1462	31.8494	8547
+-113.5894	31.424	5942
+-89.5241	42.2669	5522
+-110.8021	34.3761	6405
+-118.097	45.2102	8298
+-115.9646	28.3936	4694
+-116.6878	32.1994	8997
+-119.6751	48.157	6630
+-81.9288	24.0237	5652
+-88.2818	33.7852	5425
+-83.2304	27.2773	8533
+-119.1409	36.7007	6070
+-86.6386	36.9863	7307
+-115.7461	45.759	6549
+-91.3707	35.8456	6118
+-112.3721	30.8071	7110
+-79.3936	27.5191	6780
+-110.2697	30.2642	8043
+-82.5516	30.2141	7083
+-88.1777	38.2442	8889
+-120.5991	47.6118	6981
+-91.1633	35.2305	5979
+-90.656	37.1169	7640
+-88.5037	37.9949	9343
+-89.8186	38.405	8711
+-112.5577	30.8392	6932
+-117.384	33.844	9197
+-115.4707	29.7688	5966
+-88.5589	43.8806	3555
+-113.1701	29.2571	5499
+-112.6225	25.7795	2714
+-119.503	46.2447	7960
+-110.7413	32.6933	8192
+-81.3101	31.4048	5672
+-82.7893	31.0212	6136
+-83.0409	25.0649	6668
+-90.9387	38.6622	8818
+-116.8225	32.8983	9568
+-114.8982	34.5565	6913
+-117.5248	33.4711	8763
+-117.8308	43.4316	6394
+-110.7453	32.0735	8780
+-113.5789	29.704	5410
+-121.561	34.2679	4851
+-116.5465	47.5768	6846
+-79.343	30.6636	5342
+-85.1893	39.0515	5509
+-89.195	39.7317	7763
+-117.8807	46.8469	8362
+-111.6883	31.9902	7941
+-88.7404	36.8186	8863
+-85.0389	25.5873	5783
+-118.0121	45.75	8792
+-108.7905	33.2752	6993
+-91.1604	40.7627	7099
+-121.0307	30.6765	4630
+-82.9429	38.1177	3258
+-89.4393	41.5632	6226
+-112.1171	35.6505	4662
+-118.6012	35.0448	7775
+-114.5658	30.5569	6075
+-118.158	31.2062	7518
+-117.7675	36.1285	7294
+-123.2071	46.8872	9258
+-121.8789	47.9388	8057
+-122.2427	46.5018	8722
+-81.2899	30.8471	6279
+-120.8731	46.4048	7295
+-92.8556	35.9375	5388
+-117.6708	33.6404	8843
+-113.0227	32.7069	6316
+-80.7172	27.4292	8245
+-91.2503	40.0639	7728
+-86.203	39.0749	6532
+-86.0287	27.0705	5416
+-111.8767	33.9706	6393
+-79.7335	27.3124	7129
+-117.9047	34.5742	8692
+-115.2302	32.2213	7705
+-124.5627	45.5561	7211
+-114.9866	33.9273	7221
+-111.4194	33.5953	6996
+-87.0837	36.8665	7724
+-86.9503	36.5864	7443
+-86.965	39.1231	7214
+-88.8244	37.9713	9466
+-123.3472	46.0193	8455
+-91.651	35.5243	5689
+-91.3718	37.2738	7509
+-92.2043	37.9989	7301
+-119.3726	46.7989	7890
+-119.1641	44.3863	7220
+-119.0403	35.0861	7342
+-118.3939	31.3825	7496
+-111.7297	33.2188	7144
+-83.1431	27.5878	8732
+-91.1141	37.9688	8271
+-88.8065	36.2686	8246
+-91.5691	39.3063	8013
+-111.1207	32.5129	8154
+-116.3361	34.0956	8522
+-92.1393	40.2104	6963
+-81.0232	27.1679	8465
+-109.5873	32.0374	8527
+-121.196	47.3702	7682
+-120.9666	34.8807	5420
+-79.5002	29.1662	6519
+-120.673	47.5372	7081
+-90.777	41.748	6165
+-118.7826	33.3167	7660
+-112.9863	36.2425	4333
+-121.798	47.7693	8108
+-119.9717	33.8738	6574
+-110.8316	33.9286	6876
+-83.5689	27.5678	8253
+-109.588	28.1883	5708
+-87.4881	39.6421	7173
+-117.2206	31.2074	7936
+-93.4154	41.2422	5194
+-113.1405	29.3812	5608
+-81.3767	25.332	7008
+-118.518	32.7552	8021
+-82.1929	29.9691	7400
+-109.8835	30.7789	8475
+-95.1988	38.3414	4215
+-89.4945	38.3604	8378
+-119.2094	49.4341	5596
+-81.246	29.5237	7665
+-90.9399	38.9915	8770
+-77.4099	28.2382	4522
+-121.9367	47.9792	8071
+-116.6521	45.9482	7526
+-121.2854	46.3194	7695
+-116.2867	32.6744	8978
+-119.0496	48.4624	6630
+-91.1906	38.4597	8500
+-88.0804	39.6709	7436
+-117.1026	42.696	5445
+-123.5877	45.3581	7684
+-110.8404	31.734	8900
+-90.6691	36.6709	7162
+-120.6231	35.8841	5408
+-111.8391	33.3159	6986
+-116.2786	45.925	7129
+-89.4436	41.2696	6526
+-110.215	32.9402	7998
+-109.3016	28.9385	6398
+-89.1119	36.0793	7992
+-120.842	44.7137	6178
+-87.3605	41.1701	5577
+-117.2754	37.3961	5979
+-112.82	33.8167	5852
+-125.0162	46.3421	7182
+-110.4554	28.9375	6604
+-81.8585	26.7405	8691
+-117.757	30.0026	6493
+-87.9083	37.4297	8816
+-90.6264	40.7042	7302
+-119.1407	33.1839	7246
+-81.1664	27.0398	8524
+-117.9739	33.2187	8543
+-89.6858	38.7668	8672
+-115.2775	35.1038	7124
+-91.7445	38.2282	7853
+-86.8631	35.5589	6628
+-116.3192	33.7522	8424
+-82.0025	29.5562	7862
+-89.7423	39.9824	7927
+-123.0946	47.1822	9287
+-119.5597	42.6358	5350
+-125.2559	47.5017	6952
+-87.5503	34.6821	6198
+-122.661	46.779	9272
+-119.626	32.7568	6786
+-116.7462	32.3526	9180
+-82.8038	28.9445	8359
+-117.1983	45.9073	8093
+-117.5202	33.9929	9222
+-120.4103	46.411	6984
+-117.7882	43.2834	6232
+-119.3731	33.956	7232
+-122.912	47.7701	8723
+-124.1606	47.5604	8075
+-88.6342	35.2736	7126
+-88.742	40.77	6619
+-87.7082	38.5939	8235
+-80.4589	27.4164	7957
+-115.2434	32.8581	7830
+-90.5218	39.4555	8649
+-116.5056	33.9227	8677
+-110.336	32.4497	8535
+-117.16	34.0802	9408
+-88.6253	34.4007	6146
+-88.991	38.2278	9136
+-93.1964	36.6057	5612
+-119.6865	33.5584	6825
+-116.7105	34.0341	8922
+-90.7958	38.0154	8516
+-84.6524	26.5475	6726
+-115.4523	34.3132	7549
+-121.2092	46.752	7734
+-117.1439	32.2732	9115
+-90.8209	35.5889	6536
+-118.681	47.3179	7904
+-120.2446	45.8852	7171
+-81.1764	26.4302	8033
+-122.6766	47.2892	9175
+-86.4527	40.5303	5682
+-117.2302	45.0634	7696
+-114.5109	40.9088	2464
+-115.6892	34.1513	7817
+-108.7185	30.3306	7259
+-116.4249	33.9636	8601
+-112.1821	30.07	6885
+-117.4992	32.3545	8966
+-117.6117	35.444	8059
+-90.6972	40.947	7032
+-88.2669	36.212	8089
+-115.5083	32.2159	7994
+-124.576	45.9177	7434
+-112.3221	33.3509	6591
+-91.6532	40.8932	6739
+-117.5615	33.9578	9163
+-117.8683	48.3078	6881
+-117.3514	32.79	9323
+-120.455	46.449	6931
+-109.8756	31.9958	8806
+-88.9431	40.3768	7083
+-108.9724	30.9268	7836
+-83.5228	26.8223	7992
+-89.9677	36.2762	7753
+-89.4735	38.109	8879
+-124.3312	47.1008	8027
+-119.0764	46.321	8389
+-124.5326	45.3876	7111
+-117.2242	33.004	9398
+-86.3333	36.5158	6794
+-124.8335	44.072	5782
+-110.6227	30.148	7887
+-122.0607	45.263	7520
+-83.6727	29.8354	6975
+-81.5089	27.6192	9167
+-116.6213	44.3053	6670
+-117.7088	32.6727	8910
+-117.9543	28.5265	4842
+-92.2979	43.2822	4121
+-123.7969	44.8778	7109
+-120.8527	45.0505	6321
+-88.828	35.9912	7934
+-92.0994	40.0781	7085
+-122.5628	48.1111	8295
+-79.2812	26.6329	6420
+-118.1689	34.5738	8443
+-119.8607	34.8563	6600
+-90.9812	37.2281	7662
+-93.3965	38.3879	6153
+-115.82	35.0886	7647
+-122.2211	45.4343	7765
+-118.3104	46.1763	9175
+-117.0194	31.6441	8444
+-116.1435	32.4073	8727
+-84.3241	38.0098	4813
+-115.2345	44.7033	5709
+-121.721	44.2706	6373
+-82.5677	27.6185	9373
+-78.0942	27.1225	5265
+-117.6325	46.9833	8099
+-117.1484	36.8061	6619
+-117.3383	30.4657	7098
+-117.4653	42.0282	4862
+-117.063	36.9354	6473
+-119.7475	37.1646	5265
+-122.9622	49.3309	7008
+-123.9123	44.4921	6669
+-118.6794	45.4879	8488
+-117.1542	46.6486	7931
+-83.1465	27.5644	8724
+-114.8101	35.129	6647
+-110.1547	30.0165	7765
+-110.7507	29.0009	6639
+-120.5311	43.90	5929
+-118.783	44.3887	7372
+-80.4609	30.6612	6110
+-84.1069	28.093	7629
+-116.405	34.9006	8279
+-92.1274	38.3923	7505
+-124.4686	46.7415	7865
+-114.614	31.3934	6686
+-84.1598	26.1865	6985
+-90.985	37.0555	7486
+-119.3082	47.0847	7755
+-88.199	41.366	5751
+-118.5101	47.2135	8057
+-123.5054	48.5634	7730
+-125.249	45.6704	6659
+-86.9748	33.3959	4617
+-126.0494	49.1451	5399
+-120.0591	36.516	5534
+-110.3232	31.9345	9093
+-121.95	44.5351	6738
+-117.2404	45.4874	7980
+-116.4163	34.4962	8529
+-121.175	30.8082	4552
+-114.8615	33.8687	7128
+-116.8867	34.4229	9017
+-90.8664	36.7439	7200
+-91.2373	37.3013	7612
+-117.0716	31.9692	8800
+-89.7203	39.6468	8222
+-117.3412	33.5364	8882
+-79.3127	25.5853	5858
+-109.2542	32.665	7818
+-114.3386	30.9554	6161
+-119.4613	49.2488	5700
+-108.6123	33.7575	6469
+-117.1589	36.2232	7255
+-118.7598	45.1959	8178
+-118.7523	30.624	6599
+-87.2288	36.2285	7452
+-89.9806	38.5245	8927
+-120.5973	34.1396	5905
+-119.1937	36.9349	5829
+-117.6997	34.2857	9037
+-124.9438	44.6331	6198
+-115.6663	32.215	8155
+-123.9326	47.9613	8031
+-116.5975	36.7827	6557
+-88.5345	37.77	9530
+-116.215	33.9975	8381
+-84.0773	29.1534	7191
+-112.3557	29.512	6337
+-88.3799	38.8378	8430
+-89.778	36.2391	7852
+-114.6624	31.8461	6964
+-105.4162	33.3547	3811
+-113.1408	34.7772	4983
+-110.6933	31.5513	9082
+-86.9662	38.887	7373
+-114.9716	45.9118	5747
+-86.4729	37.7229	7240
+-109.3846	31.0345	8286
+-108.7672	32.7938	7329
+-87.9888	35.6979	7440
+-113.9884	35.6123	5615
+-122.565	49.3893	6919
+-117.0852	33.0765	9434
+-123.77	42.8807	5017
+-118.3815	32.5567	8148
+-88.8083	44.8496	2634
+-116.2202	32.1859	8663
+-81.3053	24.9702	6593
+-118.0867	33.0065	8486
+-116.42	34.5357	8515
+-93.8852	38.9641	5643
+-89.2163	36.2878	8188
+-105.0722	33.4627	3421
+-83.8596	27.3124	7873
+-90.38	37.9211	8531
+-117.0235	35.678	7832
+-119.0006	44.1985	7108
+-119.2284	48.1242	6895
+-109.5428	31.4124	8597
+-80.4205	27.2196	7858
+-88.5497	36.4999	8484
+-90.9991	37.246	7673
+-118.1707	32.9056	8406
+-117.1616	30.1552	6776
+-88.8803	39.9206	7371
+-117.2261	30.6775	7349
+-93.1442	34.7442	4181
+-119.6745	45.3717	7597
+-122.6199	48.7738	7597
+-110.469	33.9556	6899
+-119.3007	35.727	6719
+-113.8918	31.1245	5838
+-90.119	39.7923	8265
+-90.1546	38.4486	9017
+-117.8947	33.5989	8638
+-119.5938	46.3341	7851
+-83.0198	28.1584	8796
+-123.5406	43.8961	6160
+-125.9839	47.1478	6212
+-116.2748	32.7882	8981
+-121.1531	45.5805	7156
+-114.2379	46.5595	4948
+-117.2645	46.4754	8111
+-124.1566	45.6912	7639
+-88.0565	38.2472	8785
+-117.3476	32.112	8859
+-117.1218	46.3952	7991
+-121.8253	45.80	7864
+-81.2036	27.8721	8834
+-90.5132	38.5659	9181
+-111.5135	33.9006	6656
+-108.4685	32.7133	7111
+-87.3441	24.495	2932
+-124.9614	47.5911	7240
+-110.3725	29.9766	7732
+-81.476	27.0826	8819
+-116.6599	35.6015	7805
+-118.6021	44.6735	7712
+-113.408	32.3091	6051
+-89.4336	39.6018	8049
+-123.589	46.2764	8535
+-126.0394	47.128	6153
+-88.7786	35.4754	7356
+-88.2195	33.3368	4917
+-118.5557	35.4418	7534
+-120.1096	42.4853	4971
+-110.2531	32.3252	8665
+-91.7267	35.8542	5984
+-118.0902	30.8979	7273
+-85.0737	40.4151	4647
+-116.8403	33.1341	9372
+-92.5934	38.4115	7014
+-111.4608	32.7402	7723
+-79.7945	29.4802	6612
+-121.2042	29.829	3970
+-117.9533	31.5391	7952
+-86.6606	26.2349	4485
+-112.7426	33.9356	5825
+-119.3777	32.6872	7060
+-114.6504	29.449	5194
+-120.9577	46.4448	7397
+-108.1538	31.6065	7112
+-114.9277	46.2995	5700
+-91.5149	38.6852	8203
+-122.5568	49.2278	7094
+-82.1767	28.7554	8773
+-82.1481	25.9719	7862
+-90.4174	37.5766	8159
+-81.0908	25.2188	6778
+-119.0117	33.3795	7464
+-89.1167	39.2681	7949
+-118.0071	30.6657	7088
+-116.8035	47.5862	7039
+-112.9761	34.3549	5324
+-90.4026	37.5669	8149
+-108.2763	30.8319	7101
+-90.0725	40.7831	7208
+-80.6147	27.6457	8169
+-123.3109	45.4225	7851
+-90.538	39.9048	8169
+-118.2173	38.3127	4862
+-87.3638	41.8554	4756
+-89.2134	39.2477	8054
+-116.9511	49.0317	5850
+-113.2748	32.4303	6157
+-123.1925	47.7568	8681
+-116.8716	44.4437	6956
+-89.4554	40.3191	7459
+-116.2114	32.1773	8649
+-84.9704	29.0798	6356
+-107.4239	31.3907	6314
+-88.5774	36.023	7959
+-118.2016	45.7081	8837
+-90.6697	39.7296	8324
+-116.7609	45.9475	7640
+-111.2843	33.4621	7192
+-122.3314	45.205	7573
+-116.639	32.5452	9278
+-117.2173	43.4167	6203
+-91.0397	37.8555	8229
+-110.5763	34.6177	6175
+-117.6854	32.5893	8912
+-91.4816	36.0276	6260
+-88.6789	39.3458	7927
+-83.5069	26.027	7385
+-112.1984	32.8671	7020
+-117.9541	49.5909	5547
+-117.4042	33.3063	9020
+-94.6418	37.9178	4748
+-120.9146	46.7109	7407
+-118.4879	46.5686	8719
+-91.1383	40.3543	7513
+-116.4016	33.9119	8564
+-116.2872	33.3688	8776
+-123.817	44.9903	7213
+-86.3919	37.9367	7132
+-121.8473	47.8562	8092
+-116.149	34.0955	8318
+-89.9018	33.9086	5409
+-88.9221	37.896	9503
+-108.1594	35.0077	5079
+-105.9733	28.5362	3710
+-88.6442	44.0763	3385
+-88.0607	36.8366	8593
+-118.9315	48.4697	6659
+-88.1911	39.4893	7669
+-81.6036	29.5085	7833
+-84.9688	29.8775	5893
+-106.4944	32.4159	5218
+-90.9409	39.5782	8348
+-125.733	46.9004	6493
+-114.7159	33.074	7226
+-119.9361	36.0566	5949
+-119.3538	46.4966	8052
+-115.4174	48.5233	5286
+-117.737	47.4838	7685
+-119.3165	31.0624	6482
+-109.554	29.3545	6915
+-113.7134	30.3615	5579
+-88.8703	35.5056	7387
+-126.248	47.6325	5856
+-113.131	33.149	6000
+-85.4433	38.9429	5819
+-124.7342	45.2521	6848
+-92.8988	38.3943	6686
+-116.621	35.8867	7500
+-110.8563	32.4902	8339
+-107.9819	28.8905	5600
+-80.4155	27.2302	7856
+-114.2576	32.7553	6730
+-118.3054	32.124	8072
+-111.2938	30.1404	7596
+-116.4847	35.7106	7617
+-83.1779	28.6875	8317
+-118.224	31.6261	7821
+-118.9058	43.1529	6070
+-116.4625	32.8056	9190
+-121.2756	44.6228	6473
+-117.5774	34.0584	9189
+-117.0998	48.6997	6235
+-117.3615	35.1246	8452
+-116.4574	33.5401	8766
+-82.6996	28.7562	8603
+-116.7539	33.9125	8929
+-88.4425	40.0813	6888
+-118.942	46.6059	8381
+-108.2733	32.7908	6886
+-112.7901	26.3585	3218
+-117.2668	44.8817	7580
+-88.3122	38.2811	8957
+-85.0833	26.3403	6185
+-90.7499	39.7343	8292
+-115.821	37.4103	5631
+-86.8717	38.366	7548
+-89.6125	38.7325	8593
+-90.8275	40.0608	7933
+-108.6471	30.548	7330
+-83.6975	27.4977	8097
+-119.7519	47.9668	6745
+-119.8366	46.9035	7408
+-82.7005	29.0494	8306
+-120.2016	47.4681	6765
+-118.2494	47.4966	7781
+-118.8981	47.7672	7379
+-85.4979	26.2325	5709
+-93.1452	34.6934	4135
+-120.583	45.6502	6779
+-110.3485	30.2862	8068
+-109.497	27.3326	4780
+-119.5345	47.334	7399
+-87.426	38.4045	8097
+-110.7954	29.3232	6974
+-111.5893	37.4878	2933
+-111.1037	30.9353	8383
+-113.4063	35.2936	5141
+-90.0394	36.4632	7849
+-113.6727	33.4504	6011
+-81.4634	26.0269	7783
+-121.3812	46.2057	7740
+-116.6252	45.918	7494
+-117.7693	29.9715	6456
+-115.7271	29.7022	6014
+-86.5063	36.8353	7112
+-88.4514	38.4493	8867
+-122.895	44.807	7234
+-92.6498	39.6783	6784
+-120.0868	32.6537	6268
+-92.2273	38.2599	7368
+-109.3069	31.1003	8245
+-89.9859	37.6914	8206
+-82.6236	26.1337	7964
+-81.7055	26.4731	8351
+-120.1055	48.9508	5677
+-92.551	42.6448	4620
+-88.8836	39.4571	7637
+-88.1463	38.7349	8428
+-116.2602	38.9198	4203
+-113.8737	42.4251	3181
+-91.2486	34.4529	5258
+-106.8425	30.4981	5513
+-119.4389	46.7559	7853
+-121.201	47.2413	7715
+-116.7874	33.3981	9074
+-117.1845	49.1493	5828
+-111.092	31.6214	8650
+-81.741	28.0711	9331
+-81.0765	26.9312	8368
+-84.0434	26.0758	7006
+-118.8977	35.5799	7160
+-88.6364	39.4313	7828
+-117.2037	38.746	4506
+-109.4318	30.8973	8246
+-112.0317	32.4142	7425
+-81.4108	26.3394	8083
+-117.3615	30.6715	7320
+-91.6612	35.1934	5351
+-117.6121	46.8442	8199
+-111.2806	35.2615	5358
+-116.5159	30.6784	7315
+-122.0453	46.141	8301
+-82.2693	29.6212	7789
+-110.8021	33.506	7329
+-115.4154	33.602	7814
+-90.6158	35.205	6360
+-80.6308	31.3432	5503
+-115.175	37.1889	5499
+-118.1688	30.4572	6799
+-116.0877	35.1626	7831
+-82.3691	28.1301	9402
+-89.8855	38.8716	8872
+-82.1543	28.2105	9390
+-116.0773	44.4204	6324
+-85.1889	35.9198	5346
+-119.8792	43.0831	5646
+-116.443	34.2992	8621
+-91.9124	41.5484	5987
+-125.1197	45.3187	6569
+-117.5342	34.3063	9190
+-118.3123	43.9192	6951
+-90.2741	38.0876	8701
+-122.4696	46.2167	8656
+-89.2659	38.0911	9079
+-81.2687	26.9375	8537
+-124.2016	48.8418	7098
+-91.2999	37.2372	7518
+-87.4076	37.464	8273
+-82.3858	28.2231	9302
+-123.422	47.0788	9020
+-88.7411	39.9893	7207
+-81.6362	25.6594	7443
+-115.4085	33.4745	7866
+-93.7777	37.9193	5658
+-119.8666	35.1349	6499
+-113.772	33.4851	6112
+-115.7832	31.6367	7889
+-88.6078	40.0222	7070
+-117.5211	35.6858	7822
+-115.5192	33.6222	7905
+-82.9717	25.7605	7433
+-92.9442	41.3203	5514
+-113.1676	29.1708	5441
+-117.5751	45.0432	7913
+-87.2513	28.1477	4086
+-122.0656	48.5868	7604
+-88.8366	38.9773	8341
+-88.8524	40.2279	7131
+-116.7231	44.7732	7091
+-85.3233	37.2867	5927
+-88.152	37.5475	9112
+-107.8631	29.3727	5882
+-118.1653	41.8531	4761
+-120.7259	44.4819	6157
+-117.7754	35.5387	7907
+-91.0199	38.9752	8697
+-121.793	46.5809	8318
+-117.1495	33.3998	9071
+-109.7534	34.1555	6617
+-117.3276	46.6905	8071
+-118.1984	45.6866	8814
+-91.0326	38.2963	8571
+-82.9539	28.2648	8806
+-117.7219	32.4816	8831
+-109.6866	32.2638	8456
+-85.5769	39.0528	5911
+-115.8368	33.5636	8242
+-118.0637	32.4844	8474
+-92.3925	38.2142	7183
+-125.7043	48.833	5905
+-89.8191	39.273	8595
+-117.9967	49.6565	5482
+-116.3376	30.6684	7256
+-84.801	37.7854	5362
+-114.2138	36.6234	5240
+-118.3189	46.4432	8895
+-123.1603	47.9807	8456
+-84.1697	28.9146	7248
+-90.9466	38.2375	8604
+-120.0134	46.7581	7300
+-124.1868	48.9132	7043
+-93.2291	39.3094	6298
+-120.2588	32.8038	5966
+-90.3771	37.293	7854
+-89.7417	38.8098	8730
+-86.3951	37.5149	7148
+-119.0861	44.8949	7727
+-127.6582	48.438	4134
+-86.5799	39.5451	6579
+-121.1407	37.0889	4223
+-121.0755	45.3855	6954
+-109.8229	28.859	6471
+-89.4286	36.8527	8638
+-91.993	36.777	6680
+-78.5529	26.4328	5570
+-123.9854	49.2051	6873
+-116.6052	35.7621	7620
+-77.4327	24.6122	3488
+-118.3189	34.5949	8284
+-122.6255	45.8903	8386
+-117.1183	38.6739	4582
+-117.2674	29.9587	6548
+-82.0801	26.0827	7986
+-91.2747	42.8999	4849
+-117.3046	33.6785	9040
+-117.6858	45.5862	8426
+-87.5892	41.3267	5328
+-112.5948	32.0925	6962
+-118.2294	34.9901	8132
+-84.2323	28.9882	7145
+-123.8811	47.5541	8350
+-79.5007	30.1334	5887
+-118.913	33.0354	7568
+-116.9801	45.5169	7748
+-123.38	47.8795	8473
+-121.6095	46.9454	8188
+-123.7134	44.8078	7072
+-90.999	38.883	8745
+-112.2216	32.6749	7110
+-91.4416	40.8413	6898
+-111.8853	31.6795	7789
+-87.4932	37.594	8383
+-84.0455	27.7873	7729
+-88.593	34.6589	6434
+-86.5181	38.4666	7136
+-126.0736	46.686	6106
+-108.3704	30.6764	7131
+-113.0619	30.0303	6072
+-119.9058	28.2506	3696
+-88.5561	39.0795	8211
+-91.2489	39.2131	8366
+-90.5928	38.2695	8859
+-107.1889	29.5864	5438
+-116.442	31.5472	8221
+-118.5111	48.0866	7143
+-117.4092	43.0437	5894
+-120.9007	35.1921	5409
+-90.3519	43.0084	4834
+-85.8273	35.0716	5414
+-88.4987	38.032	9306
+-120.476	48.2817	6576
+-115.7112	33.5539	8129
+-90.9474	34.0947	5118
+-112.5248	30.3537	6751
+-85.7293	42.5082	3399
+-91.7318	41.8537	5777
+-118.7949	46.6075	8497
+-120.4189	47.6324	6784
+-115.0275	37.0854	5496
+-118.0366	28.5971	4897
+-124.1427	49.4691	6537
+-117.73	48.3278	6829
+-89.7949	39.7949	8132
+-121.4987	41.9461	3880
+-113.2421	31.8624	6308
+-108.2222	31.6257	7186
+-86.3985	40.2185	5907
+-112.752	31.2541	6829
+-88.5016	36.9079	8914
+-107.9286	34.3567	5496
+-86.0823	37.2205	6761
+-118.7082	36.2035	6786
+-117.7424	35.5158	7943
+-110.7053	33.4989	7359
+-90.6097	40.0179	8036
+-81.9767	27.9133	9650
+-118.9907	32.7708	7495
+-120.5261	45.1654	6687
+-91.1889	38.0843	8298
+-125.8996	45.3776	5877
+-119.0925	48.612	6465
+-83.048	27.6343	8847
+-112.3381	33.9306	6129
+-92.9487	37.0151	6086
+-109.1306	30.7862	7910
+-123.5928	46.3733	8604
+-117.0065	44.5495	7133
+-79.9087	28.3345	7295
+-115.271	34.2076	7359
+-108.0962	33.0798	6557
+-111.9068	28.7088	5923
+-123.8437	46.8974	8567
+-119.9859	46.8914	7272
+-92.3856	39.4353	7143
+-85.1694	37.0984	5727
+-113.3611	49.0455	3185
+-81.5327	27.3722	9080
+-88.9417	37.0506	9097
+-82.3991	25.7211	7559
+-111.6971	30.8865	7814
+-86.6123	40.1791	6099
+-105.7598	28.4642	3476
+-117.716	43.2534	6186
+-116.792	32.8922	9541
+-118.1478	35.3936	7860
+-118.764	48.0776	7105
+-123.7041	47.8137	8323
+-86.9882	39.1278	7231
+-88.9178	36.3999	8384
+-91.6258	36.2059	6373
+-118.6978	46.7279	8464
+-119.6773	48.37	6439
+-119.7909	45.4742	7532
+-86.4696	40.2163	5962
+-110.5928	30.5947	8366
+-114.8574	34.7402	6828
+-90.7657	35.8939	6816
+-116.6983	32.9672	9410
+-112.0709	30.7395	7381
+-90.9053	37.1892	7651
+-109.936	32.715	8174
+-114.6655	31.7239	6911
+-117.9445	32.4646	8594
+-116.1627	43.382	5610
+-115.777	33.1174	8384
+-89.4369	39.1631	8311
+-89.5808	33.6217	5184
+-90.6032	40.3755	7656
+-117.4787	46.276	8388
+-121.5102	47.6971	7881
+-123.4663	47.2077	8930
+-88.1877	38.6355	8548
+-116.9041	45.8984	7784
+-117.1471	46.9316	7769
+-121.762	41.5795	3557
+-116.1005	30.542	7038
+-79.8039	30.3693	5941
+-113.1259	28.6344	5073
+-86.2628	39.911	6040
+-121.5652	48.5042	7369
+-88.2937	39.9925	7150
+-121.0175	43.7081	5413
+-113.7765	34.12	5909
+-81.4508	25.7513	7485
+-115.8689	34.428	7980
+-117.3599	31.7372	8471
+-127.1743	45.7009	4709
+-88.2287	38.8969	8307
+-124.8312	46.405	7397
+-88.2696	37.3692	9165
+-117.8291	36.0883	7319
+-121.293	45.4045	7144
+-109.6811	34.6994	6024
+-91.9752	38.7647	7708
+-112.4652	31.0559	7094
+-123.022	46.3145	8877
+-117.6224	33.5219	8766
+-82.648	25.8364	7632
+-79.7656	24.4595	5291
+-82.7028	29.7604	7547
+-90.5561	39.6409	8446
+-122.0712	47.1392	8676
+-115.4258	31.2066	7267
+-116.5311	44.9855	7061
+-89.149	38.6994	8578
+-120.1583	34.0168	6381
+-116.2538	32.7944	8957
+-117.4049	32.5369	9173
+-96.9169	35.6619	1635
+-114.6676	34.5447	6668
+-89.8307	37.0052	8409
+-116.1137	33.5777	8478
+-88.3728	39.8737	7298
+-116.5748	33.4592	8913
+-87.5743	39.6881	7180
+-80.7172	27.4885	8260
+-115.3324	33.5845	7739
+-118.4655	32.9663	8073
+-95.0502	38.9569	4389
+-87.1316	36.9441	7809
+-111.5859	32.9786	7442
+-120.7803	45.2225	6457
+-116.2847	28.2183	4568
+-108.4025	32.26	7257
+-120.1787	48.0886	6351
+-81.7331	27.1688	9079
+-124.7219	43.682	5480
+-92.1916	40.483	6725
+-116.924	34.013	9142
+-121.0594	44.4439	6175
+-117.059	33.5801	8893
+-90.7771	37.2169	7718
+-115.8094	48.0524	5923
+-118.7949	46.9586	8202
+-122.1936	33.2001	4068
+-118.6996	30.5151	6539
+-117.5129	32.5879	9092
+-84.0764	29.9432	6591
+-116.0289	33.1916	8626
+-110.80	35.1915	5532
+-107.151	33.7315	5314
+-117.0548	33.899	9193
+-121.604	31.3722	4335
+-116.0064	35.751	7301
+-114.5455	48.33	4651
+-118.8996	37.0252	5915
+-85.025	40.1678	4763
+-110.917	31.4346	8821
+-123.8268	46.751	8561
+-113.5073	32.8109	5786
+-112.4394	30.9868	7102
+-89.3142	35.652	7472
+-106.7927	32.5858	5487
+-116.4343	46.5572	7243
+-117.0223	33.8512	9131
+-109.1064	31.9784	8077
+-79.6967	24.3455	5141
+-81.0608	29.3433	7735
+-121.8522	48.2914	7751
+-85.4653	41.0373	4519
+-87.578	37.7789	8475
+-123.6114	49.5006	6715
+-110.4207	32.2474	8748
+-120.8255	46.0425	7111
+-83.3374	26.7187	8087
+-117.2298	33.7234	9089
+-117.8776	46.8814	8328
+-125.2409	45.9112	6785
+-90.844	37.5981	8087
+-120.5592	47.9546	6815
+-121.0994	48.0691	7287
+-115.5781	33.4077	8070
+-91.7637	35.7727	5887
+-91.7553	38.1725	7820
+-116.9112	30.5143	7184
+-118.6397	32.9924	7876
+-118.2318	45.392	8509
+-125.1466	44.5203	5957
+-112.1556	31.3794	7487
+-114.9161	34.0582	6973
+-84.519	24.2951	5127
+-108.7065	32.1046	7623
+-79.8334	28.9605	6961
+-92.175	38.0723	7360
+-83.2539	24.7916	6296
+-116.5442	46.1703	7417
+-119.2548	49.3055	5713
+-81.563	24.7378	6406
+-84.5474	30.8819	5434
+-78.6106	27.5653	5901
+-117.074	46.1434	7979
+-113.825	41.6912	2620
+-120.8092	45.0808	6376
+-117.6811	33.4491	8665
+-118.297	49.9416	5192
+-86.997	37.1007	7730
+-115.1502	32.616	7715
+-85.3022	26.7286	6120
+-121.1699	44.6983	6472
+-91.7901	36.2884	6368
+-116.5931	33.2045	9152
+-87.5597	40.0734	6792
+-109.0657	29.2343	6582
+-121.2506	47.5284	7692
+-118.0549	30.6596	7058
+-89.039	39.418	7806
+-117.6708	33.1616	8878
+-123.4016	42.5706	4745
+-81.0591	28.133	8608
+-123.0352	45.9264	8454
+-116.3148	34.7404	8306
+-124.9736	46.728	7313
+-92.1829	38.4753	7462
+-107.8446	32.3194	6662
+-119.7508	31.9642	6505
+-83.1474	31.3453	5684
+-123.8796	45.8802	7999
+-121.7192	49.7071	6328
+-89.9709	36.0378	7542
+-118.0673	46.7994	8485
+-124.7083	45.0427	6705
+-114.7491	33.2395	7235
+-125.0795	44.2421	5773
+-87.0828	40.6898	5930
+-81.5396	27.4064	9107
+-110.318	31.6424	9407
+-122.0639	45.6957	7935
+-117.0085	34.0791	9250
+-88.1734	36.7103	8552
+-109.5693	30.5154	8051
+-83.204	28.1081	8621
+-88.6796	37.3671	9466
+-88.2707	37.9571	9170
+-87.8463	40.6975	6259
+-107.3788	30.0161	5850
+-116.7518	36.5267	6867
+-81.679	26.2114	8059
+-120.9858	48.8647	6645
+-108.124	33.7174	6146
+-120.1363	35.4648	6087
+-90.6824	37.9781	8532
+-90.8025	36.4498	6904
+-90.5021	37.2336	7785
+-90.7648	38.8639	8995
+-88.7888	35.8312	7755
+-115.6269	32.7813	8258
+-119.0693	46.3754	8379
+-83.496	31.9117	4956
+-79.1123	27.4644	6457
+-115.3979	33.4679	7858
+-87.6389	38.3097	8358
+-89.3995	36.2649	8089
+-121.3299	43.9609	5881
+-115.8591	33.3526	8380
+-107.2046	30.9351	6012
+-89.8337	39.1883	8667
+-123.1577	45.1458	7586
+-88.244	39.946	7189
+-82.5346	26.1004	7953
+-108.6162	31.1706	7560
+-88.0664	37.5752	9023
+-119.513	30.5184	5927
+-118.4881	29.3211	5501
+-89.0563	34.8125	6596
+-117.4954	31.9217	8593
+-92.0284	36.0356	6003
+-125.3125	48.3572	6547
+-89.8872	38.8434	8880
+-124.8157	49.8335	5818
+-109.5659	31.4083	8621
+-109.337	29.9134	7367
+-117.3502	34.4033	9229
+-87.6135	37.1602	8402
+-78.5946	28.1292	5868
+-81.2569	29.0407	8143
+-121.0197	43.8229	5490
+-119.9675	47.0069	7235
+-124.0384	42.9624	5033
+-91.1146	38.9279	8613
+-116.0245	35.494	7528
+-124.0291	47.0329	8364
+-116.2326	35.4557	7707
+-118.5958	46.0241	8920
+-109.1372	30.93	7997
+-112.3518	32.5039	7070
+-125.3292	47.5757	6855
+-123.7452	43.1066	5265
+-118.701	47.8999	7304
+-80.6703	26.8864	7961
+-121.0729	35.273	5204
+-118.598	32.0878	7760
+-118.3981	48.5323	6682
+-116.5733	32.2242	8960
+-87.7054	37.0047	8411
+-92.6534	39.6211	6804
+-110.9011	32.8567	7963
+-86.2443	25.8974	4783
+-107.4095	32.1759	6241
+-118.9382	33.1253	7409
+-116.2012	32.5178	8836
+-124.0947	47.0627	8289
+-87.0433	38.382	7720
+-117.6075	49.5173	5571
+-118.6908	47.5534	7662
+-81.4535	25.6375	7364
+-109.8217	32.6405	8201
+-94.2235	38.787	5285
+-85.7206	40.2985	5296
+-87.4156	39.532	7229
+-79.6666	29.865	6228
+-89.9894	38.3282	8802
+-89.2609	39.0073	8183
+-112.3495	31.659	7288
+-120.0252	31.5224	6048
+-115.2258	32.7129	7808
+-83.5371	27.5506	8286
+-88.2849	37.3667	9178
+-120.1331	46.114	7301
+-88.7848	36.8273	8873
+-81.61	27.5886	9267
+-91.851	37.9541	7625
+-119.4852	45.0492	7570
+-108.9451	31.8957	7932
+-120.0131	31.6291	6106
+-88.7596	40.8703	6546
+-106.9788	32.1132	5794
+-82.7266	28.2981	8991
+-91.9083	40.8265	6648
+-124.3459	49.7901	6121
+-85.8625	35.7533	5912
+-114.6212	29.8414	5527
+-81.6084	28.9049	8474
+-104.7588	33.4292	3111
+-109.5962	29.6322	7214
+-88.8851	38.2934	9098
+-116.2483	46.6369	7032
+-120.6079	34.1974	5892
+-119.6626	49.2562	5613
+-86.6263	39.3577	6753
+-110.6416	32.9146	7993
+-90.3421	37.4008	7969
+-83.1258	28.2277	8654
+-88.4498	37.869	9393
+-113.2727	31.8224	6278
+-81.1798	29.4664	7687
+-87.5038	36.1988	7642
+-123.6841	48.439	7773
+-77.1554	31.6746	2732
+-120.1697	31.5297	5903
+-114.3627	34.9414	6250
+-125.1276	44.7038	6118
+-85.8111	28.8303	5561
+-119.8384	34.9984	6578
+-86.1929	26.9276	5203
+-117.1441	33.6965	9043
+-80.3491	27.6415	7869
+-83.0781	27.0882	8577
+-120.5129	45.0943	6670
+-125.1691	44.4239	5862
+-124.9369	48.435	6848
+-118.0269	44.691	7744
+-110.1578	29.6324	7351
+-90.4051	36.293	7416
+-119.5573	35.8206	6434
+-113.0296	32.042	6510
+-93.304	38.5817	6271
+-91.7241	38.3961	7930
+-118.6182	33.4079	7865
+-116.0495	33.8697	8179
+-90.9301	38.5028	8778
+-118.1826	33.4259	8275
+-89.404	40.6514	7119
+-121.9952	45.1355	7362
+-125.863	47.0914	6348
+-117.5146	48.9734	6110
+-108.0442	33.2352	6415
+-87.4587	39.3666	7407
+-123.3518	47.026	9106
+-118.6661	35.0887	7689
+-120.7813	44.5303	6136
+-111.3797	34.8897	5716
+-90.8465	39.7323	8254
+-91.9482	40.7409	6695
+-116.7145	46.948	7372
+-83.7123	26.5139	7612
+-82.0392	32.6719	4342
+-112.4592	31.9975	7127
+-83.5183	28.2784	8222
+-90.6578	42.6667	5192
+-91.909	38.1167	7644
+-116.0051	45.828	6831
+-116.0376	33.2106	8627
+-87.8009	37.7177	8730
+-111.5573	31.0915	8044
+-84.2769	27.0601	7339
+-82.2342	29.3872	8055
+-92.1187	35.7047	5646
+-89.0087	34.7524	6533
+-85.5683	26.4036	5712
+-108.8503	32.6648	7485
+-81.3734	29.5841	7664
+-123.2031	45.2856	7730
+-123.6156	48.1537	8083
+-122.3232	46.4766	8775
+-85.7253	26.6191	5626
+-90.3331	37.6297	8216
+-126.1467	44.0494	4811
+-126.9319	45.9645	5042
+-89.3844	33.1291	4675
+-111.4939	28.6869	6093
+-120.3371	44.078	6208
+-107.5209	31.499	6425
+-121.2499	43.7669	5651
+-89.5671	40.7126	7133
+-109.1467	30.5004	7733
+-117.793	44.1786	7160
+-90.9914	41.488	6401
+-83.0132	29.7157	7473
+-83.2078	27.4254	8617
+-88.1192	37.8321	9065
+-112.9522	33.1937	6143
+-120.1462	32.6019	6198
+-82.8814	31.9564	5077
+-123.0754	36.899	2520
+-117.9897	47.9709	7255
+-115.5375	32.642	8147
+-88.4431	38.4374	8876
+-117.6834	33.8034	8958
+-120.1382	47.531	6779
+-79.9143	26.6843	7099
+-114.769	30.6529	6313
+-117.7943	44.6715	7661
+-118.5665	31.9401	7718
+-85.7989	36.5344	6250
+-89.8613	36.7086	8183
+-88.7083	38.6049	8759
+-112.9588	30.2043	6260
+-88.6836	37.3293	9426
+-120.4218	33.3173	5983
+-90.0334	39.2485	8768
+-120.2095	45.6085	7155
+-92.6251	37.9947	6875
+-125.3723	45.7997	6603
+-118.1013	35.2178	8045
+-90.1101	37.9947	8559
+-117.237	36.8047	6624
+-91.2951	41.3554	6449
+-89.2768	38.0609	9091
+-123.3887	47.5352	8782
+-114.635	37.616	4776
+-124.5164	48.7533	6959
+-87.9861	36.8932	8582
+-82.796	24.4228	6036
+-89.6099	38.6041	8576
+-88.4962	37.3292	9330
+-117.666	45.4108	8281
+-119.3192	47.1979	7662
+-123.3967	49.2714	7016
+-90.1675	32.4976	3804
+-117.4385	34.0437	9326
+-89.1921	39.4526	7934
+-113.7737	30.4449	5547
+-118.8607	29.6253	5614
+-121.0669	48.1613	7202
+-118.7768	47.5687	7620
+-119.5729	34.2206	7020
+-115.2618	34.3405	7339
+-116.2488	34.2037	8425
+-87.8801	37.7555	8815
+-80.1875	28.2179	7633
+-112.6917	34.4938	5415
+-115.2083	31.7686	7470
+-89.3098	36.5608	8433
+-92.4088	37.8753	7046
+-84.5379	34.8398	4106
+-116.7608	44.1794	6665
+-118.8532	48.4726	6676
+-118.4006	46.1255	9133
+-118.9477	47.1812	7917
+-125.8884	47.7278	6218
+-87.3943	36.6388	7891
+-89.5687	39.8668	7934
+-87.9041	37.1856	8707
+-125.649	45.9721	6394
+-121.2528	44.1935	6063
+-91.70	38.8746	7999
+-113.1379	32.6433	6225
+-120.5549	47.0383	7029
+-119.1072	30.1147	5908
+-90.5902	39.0667	9017
+-84.8961	27.1158	6681
+-105.7962	35.6927	2841
+-118.7381	44.9154	7917
+-116.6234	34.3734	8789
+-109.6023	32.1054	8500
+-122.1274	47.7741	8378
+-118.8263	31.9748	7476
+-106.7448	36.1478	3183
+-115.6309	33.081	8234
+-106.3927	30.0807	4904
+-116.4582	35.3402	7953
+-119.2561	44.8805	7608
+-110.1249	30.5594	8341
+-116.9089	32.6558	9562
+-80.381	29.0685	7423
+-87.9362	38.0271	8799
+-81.533	28.2154	9045
+-90.4673	38.3262	8959
+-90.7896	42.4855	5374
+-111.168	32.2827	8294
+-122.0367	49.3164	6856
+-79.6127	27.9695	7032
+-115.9992	33.3241	8534
+-123.8592	47.9443	8101
+-88.5593	34.8092	6600
+-115.0634	34.6985	7057
+-116.0656	32.30	8594
+-86.2251	35.336	5945
+-118.9729	32.8997	7513
+-124.3344	44.6408	6604
+-118.3599	34.5832	8248
+-79.2978	27.7004	6684
+-119.3074	45.8078	8133
+-118.4524	47.5882	7674
+-110.0421	29.5734	7273
+-113.0533	33.5277	5851
+-89.8119	38.9428	8774
+-114.1635	33.3183	6577
+-92.5687	40.8886	6129
+-91.1345	39.8806	7961
+-120.3233	32.3502	5973
+-83.8231	28.4147	7845
+-80.271	29.0911	7307
+-121.1343	47.4544	7594
+-107.0735	32.7881	5708
+-124.2208	47.2352	8125
+-87.1105	39.7749	6805
+-118.4437	44.1355	7173
+-121.167	46.9423	7702
+-81.0907	28.3862	8520
+-116.3972	32.4857	9018
+-119.2854	49.6471	5357
+-116.823	32.3609	9220
+-91.8208	42.134	5461
+-115.6295	31.5908	7730
+-116.7562	44.2329	6706
+-82.2869	27.1308	9152
+-115.1448	35.0472	7018
+-84.0087	24.5515	5681
+-120.5164	44.2216	6170
+-85.3819	38.869	5783
+-120.4263	45.5995	6930
+-82.5309	26.9833	8899
+-82.494	26.432	8328
+-116.4209	35.9097	7392
+-119.588	48.6086	6266
+-121.104	31.8265	5008
+-90.1421	36.4106	7725
+-117.9095	33.4067	8480
+-90.9025	38.3394	8711
+-84.8319	24.5218	5118
+-81.1985	29.6671	7496
+-115.2364	34.0142	7319
+-122.1293	44.5254	6794
+-85.1158	26.3809	6172
+-117.5444	33.7696	9039
+-114.4974	35.571	6134
+-89.7156	37.2501	8652
+-89.5041	38.5361	8449
+-92.1843	36.8235	6582
+-93.0506	39.4254	6459
+-114.8707	33.1299	7389
+-115.8558	34.8126	7830
+-92.4759	41.3644	5815
+-115.5124	45.6036	6279
+-86.3036	37.7483	7049
+-117.0369	32.2251	9088
+-115.8116	33.9633	7940
+-120.0126	34.4787	6519
+-89.2238	34.8303	6591
+-85.5038	40.6464	4855
+-110.9044	31.1588	8703
+-114.1988	29.4031	4851
+-123.0929	44.3053	6675
+-109.2127	33.9849	6602
+-83.156	27.514	8701
+-115.6744	34.5645	7738
+-94.2115	37.9058	5199
+-88.6191	34.5651	6330
+-87.3762	36.7912	7971
+-119.0499	33.7462	7547
+-123.728	49.8469	6314
+-116.1757	30.1838	6687
+-117.6382	49.3835	5717
+-122.9258	46.9394	9565
+-89.804	36.5613	8114
+-123.5536	44.595	6904
+-86.5521	39.0928	6858
+-89.5103	39.0574	8427
+-113.0122	34.8462	4900
+-88.2316	36.1764	8038
+-122.5594	45.4489	7897
+-108.1098	29.4846	6161
+-82.8653	26.5968	8331
+-94.5454	41.9264	3781
+-120.3885	45.9194	7023
+-109.8443	34.1464	6646
+-114.8189	34.8032	6770
+-116.7583	31.4854	8250
+-78.4663	29.4671	5319
+-90.4941	36.4746	7460
+-117.5139	33.9609	9209
+-118.3569	28.4671	4660
+-120.6915	46.6243	7151
+-114.4014	32.232	6818
+-120.6018	33.1824	5755
+-119.1811	45.2814	7974
+-80.5115	27.2251	7958
+-92.9791	35.7898	5181
+-118.9348	46.9071	8162
+-88.0612	37.4664	8992
+-83.747	27.828	8065
+-109.1371	32.7121	7692
+-116.7859	48.8499	5944
+-116.8005	30.8565	7559
+-119.1174	45.0152	7811
+-89.8619	38.1646	8579
+-117.9249	33.2077	8598
+-87.4713	39.9616	6856
+-87.7688	40.5893	6348
+-116.5546	32.7941	9293
+-87.443	36.4678	7811
+-84.1545	30.1354	6369
+-86.4893	39.3297	6649
+-90.1465	39.6381	8434
+-88.8156	37.0273	9096
+-120.0093	49.8772	5099
+-108.3978	30.9564	7269
+-117.0966	45.8348	7973
+-116.52	33.8251	8657
+-80.4748	27.9739	8001
+-119.6565	31.865	6570
+-127.0673	47.5998	4975
+-115.7684	34.293	7894
+-88.0131	37.0517	8724
+-107.681	30.3308	6296
+-123.2166	47.8937	8530
+-80.6381	29.6287	7191
+-117.022	49.5246	5395
+-94.1444	37.1215	5007
+-114.6734	47.9058	4986
+-89.2797	35.3068	7105
+-115.2886	31.7572	7539
+-91.9625	36.0898	6090
+-88.1469	38.1058	8962
+-117.2404	47.0407	7773
+-80.6441	28.531	7999
+-120.8104	45.8621	7009
+-114.9084	47.0152	5557
+-117.7944	32.7287	8824
+-90.4329	31.5868	2739
+-88.4815	35.5042	7367
+-86.6046	37.6039	7387
+-118.6723	32.8922	7848
+-89.5423	39.8412	7939
+-117.758	48.0591	7112
+-109.7444	32.4472	8341
+-82.1123	26.8952	8906
+-81.5765	30.3454	6908
+-90.6178	35.8712	6921
+-110.2026	29.238	6929
+-113.1036	33.0256	6090
+-117.9294	48.3703	6827
+-95.5442	37.939	3793
+-86.5995	42.9405	3339
+-93.1693	38.9744	6412
+-124.1832	47.5799	8044
+-84.5258	26.4632	6810
+-110.0448	35.1587	5587
+-121.6552	45.5204	7510
+-121.7206	42.4295	4456
+-113.1715	34.282	5230
+-121.1313	44.1756	5976
+-117.2532	30.5544	7209
+-85.5885	37.3467	6230
+-117.9975	35.782	7571
+-82.7805	32.0218	5023
+-88.9666	36.1939	8147
+-90.9711	36.2911	6699
+-118.7515	36.4072	6575
+-112.3433	33.5344	6438
+-111.7518	30.6051	7607
+-87.0093	36.3288	7336
+-112.6884	28.1734	4984
+-78.2788	31.314	3966
+-115.4151	35.5846	6972
+-118.147	35.9204	7365
+-113.9435	31.5028	6076
+-116.4491	31.4985	8173
+-124.2623	47.976	7743
+-112.7269	34.1811	5646
+-116.1032	36.438	6722
+-114.6109	32.5984	7114
+-115.6374	32.9107	8267
+-117.0592	38.287	5001
+-113.3939	34.5072	5294
+-117.3613	45.2481	7931
+-114.5468	32.3368	7001
+-90.013	36.9962	8227
+-92.7166	41.5794	5472
+-92.5212	34.4129	4213
+-121.1272	34.6891	5283
+-114.6577	33.1519	7151
+-119.4368	42.9985	5756
+-111.7775	31.9707	7854
+-117.0653	35.0661	8497
+-124.195	32.9885	1878
+-115.9763	31.5752	7982
+-116.8024	30.8298	7529
+-110.413	32.1862	8815
+-117.3361	36.7667	6664
+-121.3591	45.0391	6895
+-93.2237	38.00	6258
+-87.6149	33.878	5371
+-115.8743	34.3216	8005
+-114.3011	34.6636	6252
+-86.6362	33.7732	4834
+-82.3859	30.4061	6893
+-90.233	39.084	9030
+-83.3804	29.3678	7596
+-119.0983	45.3713	8103
+-91.6843	36.4897	6613
+-124.3508	49.5293	6371
+-111.1891	32.5053	8111
+-117.3457	46.1299	8267
+-115.774	33.0877	8389
+-90.3554	37.6374	8225
+-85.9722	39.9542	5761
+-118.9432	44.0324	6962
+-117.6465	35.0128	8493
+-117.0768	35.0703	8495
+-121.2869	42.2999	4130
+-112.7651	31.5326	6838
+-121.0494	47.6494	7439
+-117.3545	34.6688	8946
+-118.3078	30.6519	6912
+-110.1281	27.2509	4774
+-118.7751	31.3852	7180
+-118.4084	45.4559	8566
+-114.3553	29.7467	5257
+-122.9042	47.5519	8963
+-120.2561	46.953	6984
+-123.3772	46.5943	8941
+-117.7074	33.358	8565
+-116.1731	33.7069	8258
+-86.737	38.5967	7309
+-119.6896	31.9003	6548
+-112.5993	28.0856	4958
+-109.2426	31.2314	8232
+-118.8725	47.349	7798
+-118.0997	30.5806	6957
+-87.9716	41.0317	5846
+-127.7352	46.6803	4285
+-90.4688	40.8082	7204
+-87.6459	25.3033	3061
+-93.821	39.5595	5618
+-115.0754	36.4449	6063
+-80.3287	26.0481	7073
+-87.925	38.6436	8367
+-117.4056	32.6962	9245
+-118.6651	33.0993	7832
+-115.0683	32.0877	7485
+-116.7759	36.4021	7006
+-121.0905	49.5844	6110
+-93.8125	39.62	5611
+-115.608	44.5971	6011
+-121.2803	49.8721	5952
+-91.5302	39.2673	8068
+-94.0668	39.3948	5394
+-125.5069	48.4726	6299
+-118.5308	44.7958	7855
+-90.5494	38.4213	9027
+-81.9018	28.1521	9384
+-120.5119	31.823	5646
+-114.2298	32.8749	6700
+-119.7594	34.2128	6817
+-119.9029	33.9445	6655
+-88.4875	34.5961	6355
+-108.2431	31.2998	7188
+-122.7319	47.3771	9119
+-108.0038	36.896	3188
+-121.6204	45.1944	7205
+-78.7408	26.4969	5794
+-117.3977	48.632	6420
+-118.9826	35.3572	7239
+-115.1373	34.5886	7163
+-117.6723	45.2546	8156
+-123.3552	47.8922	8473
+-106.5423	29.2598	4656
+-88.0473	38.5832	8507
+-113.6018	28.6829	4739
+-87.7622	40.7284	6197
+-123.8164	48.9163	7239
+-89.4967	39.7149	8012
+-81.5553	25.1658	6878
+-119.7461	46.8275	7530
+-91.2681	35.8895	6197
+-120.0103	36.0645	5878
+-89.2979	37.392	9144
+-119.6148	35.3655	6645
+-84.4777	28.8613	6965
+-89.2752	35.7817	7624
+-115.8726	36.2357	6786
+-89.7652	38.4551	8686
+-93.8007	37.9523	5642
+-109.9648	29.7853	7485
+-122.7846	48.0757	8381
+-112.123	32.2708	7396
+-121.0903	41.6677	3704
+-80.7828	30.6835	6256
+-84.3406	27.5017	7377
+-122.6855	47.6963	8771
+-108.854	30.2457	7313
+-92.8077	42.5134	4599
+-116.3011	35.4401	7766
+-116.3851	48.0906	6347
+-87.6295	36.5056	7991
+-119.5319	44.0562	6724
+-111.8371	31.909	7807
+-109.0968	34.2122	6326
+-119.9101	31.4946	6154
+-118.1604	26.4792	2560
+-119.2949	44.4476	7209
+-121.3343	44.7219	6600
+-116.9705	45.0979	7511
+-116.8565	33.7532	8928
+-116.705	37.1064	6237
+-87.175	33.9081	5234
+-119.511	42.7022	5434
+-115.3246	47.4057	5835
+-86.2547	39.8984	6043
+-119.9614	45.9474	7476
+-91.5913	40.6029	7040
+-112.363	32.5787	7024
+-111.8923	32.6307	7439
+-92.3548	36.7736	6415
+-116.9395	32.696	9615
+-92.9593	39.7441	6448
+-88.614	41.1578	6204
+-86.2744	35.4262	6054
+-90.9795	41.0202	6895
+-119.3715	34.9134	7089
+-112.5683	35.6393	4456
+-86.776	39.5927	6705
+-89.7778	38.8212	8767
+-124.5235	47.7307	7635
+-91.2333	37.8181	8065
+-111.7587	30.1101	7253
+-113.793	29.9232	5316
+-119.6695	29.792	5228
+-79.8497	27.981	7297
+-118.7727	48.5744	6589
+-81.065	28.4802	8439
+-119.3897	30.5101	6021
+-82.3566	29.0969	8366
+-83.5156	27.7179	8328
+-114.7739	34.1229	6819
+-112.7064	30.6851	6724
+-109.2754	31.0342	8182
+-119.4419	46.5884	7929
+-111.5952	35.7155	4792
+-122.9089	46.3831	8965
+-117.8694	34.7127	8626
+-77.8214	31.8316	3188
+-86.3195	39.7028	6241
+-89.6106	37.8662	8841
+-87.4912	37.3935	8351
+-117.7172	45.8976	8624
+-122.2648	49.2391	7014
+-87.8351	39.6789	7325
+-89.986	39.5694	8443
+-118.2696	35.0785	8035
+-122.4042	47.7711	8568
+-109.8055	32.2343	8566
+-115.374	36.2995	6400
+-117.4219	48.0799	6974
+-119.6865	46.7984	7601
+-89.7301	35.2604	6906
+-110.2325	30.9949	8827
+-120.0511	42.1321	4660
+-114.3052	31.3418	6359
+-120.5736	46.2587	6829
+-89.2949	39.2835	8118
+-122.0984	45.5881	7854
+-109.1782	35.9525	4577
+-118.0085	34.207	8725
+-118.5868	35.1534	7718
+-118.6682	32.7116	7851
+-117.2486	31.1782	7898
+-119.911	31.0303	5912
+-114.6838	31.533	6832
+-79.4681	26.85	6704
+-90.076	39.9235	8117
+-117.7951	34.163	8960
+-90.9413	38.3963	8712
+-119.9447	35.4843	6266
+-112.6613	29.1226	5803
+-84.2304	28.6299	7327
+-116.9745	34.6477	8893
+-87.7479	32.8856	4329
+-116.2499	31.0737	7651
+-92.8953	36.106	5493
+-78.2337	29.5595	5037
+-86.5262	35.1831	6061
+-124.4513	48.5001	7210
+-116.9011	47.5098	7170
+-88.3269	38.3342	8917
+-125.1898	47.6711	6974
+-112.8324	32.8467	6440
+-119.9504	45.5733	7409
+-85.1522	30.2652	5459
+-114.3103	37.3773	4750
+-114.8906	33.6908	7240
+-109.2527	28.7772	6216
+-109.3552	34.6599	5976
+-91.0039	42.6678	5149
+-119.3893	29.0202	4730
+-119.5179	34.9604	6922
+-121.3963	45.1801	7041
+-120.2451	34.1749	6289
+-94.9003	37.8762	4466
+-110.9404	33.6839	7105
+-90.9242	36.875	7321
+-83.8834	27.0625	7758
+-120.1951	45.7182	7196
+-92.8692	39.4106	6652
+-117.9648	27.7363	3978
+-117.1463	35.4217	8126
+-116.0201	36.3829	6732
+-90.8945	37.1297	7593
+-118.6013	47.193	8055
+-88.4526	36.2576	8195
+-84.2418	28.329	7424
+-89.1369	38.206	9080
+-116.7609	34.5619	8815
+-117.5152	34.5442	9014
+-114.1961	45.1864	4825
+-125.9504	47.312	6233
+-115.4371	36.8323	5981
+-91.6697	37.7046	7638
+-110.0452	32.2324	8704
+-124.1663	49.8102	6186
+-123.9481	48.5498	7520
+-116.0517	46.7731	6792
+-88.578	37.8762	9498
+-81.8274	27.7743	9546
+-94.054	39.3898	5408
+-80.4587	28.2503	7920
+-81.9074	30.0646	7280
+-86.5846	37.2921	7330
+-127.7377	48.8857	3888
+-117.4751	47.2771	7748
+-116.2162	34.1145	8392
+-112.3358	31.3864	7294
+-115.5273	35.3135	7245
+-117.2584	34.8129	8796
+-87.9513	39.2716	7794
+-114.1918	44.7768	4706
+-116.387	33.5683	8694
+-114.3288	32.836	6811
+-85.2195	26.9826	6290
+-91.8387	35.4998	5586
+-116.4681	36.4106	6905
+-91.1195	36.6324	7008
+-83.2476	25.9358	7468
+-85.3154	37.3552	5925
+-81.2155	27.3341	8745
+-80.9633	30.1955	6842
+-79.9211	27.1535	7295
+-90.9163	39.1785	8687
+-116.2639	36.4494	6785
+-84.718	26.867	6796
+-82.6554	25.1984	6927
+-90.3295	36.606	7695
+-90.3646	36.8139	7782
+-117.7336	46.2317	8662
+-84.0003	26.0072	6990
+-116.3168	32.2411	8785
+-109.1069	34.3033	6241
+-86.8991	44.7149	1979
+-121.7577	47.8794	8000
+-119.1372	44.9503	7744
+-86.251	36.3857	6647
+-91.5028	36.177	6400
+-118.2994	45.2361	8345
+-111.1089	31.4849	8627
+-115.4816	35.488	7093
+-114.1259	29.5548	4814
+-117.8263	35.6942	7729
+-118.8281	46.1324	8683
+-116.9218	47.0481	7503
+-120.8971	31.8375	5235
+-117.9569	32.4211	8563
+-116.4778	34.2474	8668
+-92.8435	41.9473	5076
+-123.3043	48.3455	8027
+-90.036	36.808	8095
+-119.5495	46.9201	7663
+-120.7224	48.2542	6827
+-81.125	28.2048	8649
+-117.2407	34.0027	9393
+-110.6071	34.7866	5990
+-116.1244	45.6187	6918
+-88.3846	41.939	5368
+-83.338	27.3894	8464
+-125.7003	47.3397	6503
+-88.3325	38.5193	8740
+-119.4437	47.1962	7570
+-119.1924	34.5573	7387
+-115.4174	29.9502	6119
+-89.3276	41.8273	5918
+-79.2646	29.7857	5924
+-115.0929	34.6513	7100
+-83.657	25.1252	6443
+-113.8227	35.3281	5562
+-118.3218	31.6199	7736
+-114.2327	34.8278	6143
+-125.0138	48.7968	6534
+-91.1629	36.8124	7173
+-114.1491	33.4679	6527
+-125.2683	45.6833	6647
+-115.6915	36.1758	6724
+-120.4914	47.7697	6817
+-113.5988	32.9653	5993
+-118.451	32.9725	8088
+-123.0453	46.4298	8995
+-108.9823	32.5932	7646
+-115.6283	29.6454	5914
+-91.3925	39.4772	8084
+-117.5662	31.6088	8249
+-116.7303	45.6312	7542
+-123.8825	47.5409	8356
+-118.6924	47.5529	7662
+-123.8567	46.4669	8420
+-120.0189	32.794	6348
+-89.0702	38.5567	8759
+-119.5546	32.4241	6833
+-90.1528	38.1182	8699
+-113.5583	32.3984	5870
+-117.0884	32.1021	8944
+-115.6787	33.9141	7789
+-89.2093	37.7079	9316
+-112.0611	28.9202	6034
+-119.9561	31.7439	6210
+-115.4938	34.3421	7591
+-119.1856	31.3257	6771
+-115.2626	36.7267	5963
+-112.3869	33.7177	6264
+-89.9104	39.3026	8640
+-124.2048	48.7017	7221
+-116.0995	33.6384	8420
+-93.3577	36.9356	5669
+-121.7107	31.6896	4314
+-120.6711	46.8972	7156
+-122.0768	47.717	8382
+-116.8559	33.5127	8967
+-121.771	46.3835	8210
+-117.3132	47.3014	7625
+-110.1692	30.7508	8554
+-90.3272	39.1916	8945
+-117.0629	31.0427	7771
+-115.1799	31.4974	7276
+-121.352	48.0908	7504
+-90.2791	38.2768	8902
+-115.3235	32.0265	7719
+-88.7206	37.5571	9682
+-121.6443	46.8809	8223
+-84.4092	26.4497	6918
+-87.9995	40.5458	6470
+-124.1758	48.521	7397
+-113.4168	47.7843	3807
+-108.3966	30.385	7006
+-82.6321	30.2556	7021
+-111.0657	29.2957	6871
+-114.6674	33.2888	7135
+-106.1489	31.1265	4913
+-87.5851	37.4066	8457
+-83.0575	25.5183	7142
+-117.9345	35.0201	8327
+-89.4248	37.3246	8983
+-117.6857	30.431	6974
+-120.9294	43.3577	5225
+-81.3148	26.3703	8061
+-86.7396	37.6166	7539
+-90.8312	38.2301	8685
+-117.1822	44.1926	6928
+-122.0968	43.413	5604
+-88.6676	38.1913	9215
+-119.2735	33.781	7315
+-122.7022	46.6718	9216
+-84.1988	28.7635	7298
+-116.0903	32.6156	8750
+-121.7017	47.7858	8011
+-116.8129	42.7776	5413
+-122.9397	48.4558	7970
+-117.329	32.2403	8993
+-90.2192	36.0955	7414
+-93.2005	37.1148	5913
+-81.2421	28.4304	8635
+-118.3566	37.9288	5230
+-119.5722	32.1146	6743
+-85.6345	38.5424	6164
+-119.2989	46.509	8101
+-112.3778	31.128	7204
+-108.483	30.9846	7367
+-116.1651	33.4852	8589
+-118.6533	32.3649	7805
+-88.0663	37.0106	8738
+-120.3751	32.5117	5936
+-123.8439	49.6493	6482
+-116.4414	33.6459	8492
+-119.6298	46.0846	7834
+-109.3116	29.5393	6998
+-122.6928	46.1332	8663
+-115.9473	35.8252	7198
+-118.2612	37.348	5867
+-89.4931	37.9143	8953
+-124.7488	47.062	7572
+-117.5796	41.7973	4643
+-115.6814	36.2565	6647
+-107.1563	30.6595	5889
+-118.6377	45.4599	8486
+-108.2609	32.1567	7144
+-120.6999	34.4562	5776
+-123.4676	44.6021	6935
+-115.0972	33.107	7643
+-80.2175	25.2339	6300
+-86.5864	36.0438	6765
+-124.0069	46.8051	8377
+-115.908	32.4475	8502
+-119.2869	35.7562	6711
+-119.2857	48.727	6283
+-121.8914	48.8596	7250
+-121.4866	49.7984	6129
+-114.9286	44.3556	5256
+-90.1415	41.9278	5989
+-120.7198	31.7044	5387
+-80.6148	25.0707	6392
+-118.3331	44.3721	7430
+-88.6812	36.118	8075
+-88.5555	41.8188	5574
+-87.8231	36.8902	8444
+-115.5851	41.4423	3560
+-111.4982	30.8487	7981
+-117.2141	35.1118	8469
+-95.5136	42.9328	2290
+-116.054	31.6535	8104
+-112.9024	32.5348	6505
+-109.0407	30.368	7551
+-120.326	43.0683	5389
+-89.7423	39.3843	8452
+-114.823	36.4267	5882
+-120.9549	47.8287	7269
+-117.6013	33.1334	8962
+-116.897	47.7086	7012
+-87.0896	37.0253	7800
+-89.6464	39.4039	8362
+-92.8173	36.8359	6087
+-118.88	34.8428	7615
+-109.6677	27.9049	5423
+-87.4668	40.2233	6595
+-109.7884	30.1738	7836
+-81.3503	27.6208	8991
+-88.1522	36.9567	8762
+-110.0411	33.1046	7795
+-122.4615	35.0641	3781
+-91.5923	35.3878	5573
+-87.5568	40.9093	5929
+-115.6568	37.827	5143
+-87.3305	36.4219	7682
+-89.5304	38.6027	8491
+-118.5182	35.3795	7611
+-119.3125	45.2877	7872
+-93.8284	39.0246	5699
+-109.4847	32.3165	8258
+-108.6911	30.5904	7394
+-86.681	39.3092	6835
+-82.6283	27.1562	9003
+-122.262	45.0596	7397
+-113.0715	33.6545	5754
+-86.4796	38.7391	6979
+-84.8005	40.8208	4126
+-117.9344	32.9851	8657
+-87.9099	31.4233	2742
+-91.0447	37.3149	7721
+-81.9081	27.3486	9355
+-117.8132	45.0945	8085
+-105.7198	30.1664	4245
+-91.7964	39.2585	7806
+-121.4883	46.7961	8044
+-110.747	30.1725	7881
+-90.204	39.3321	8768
+-88.8494	41.5683	5966
+-115.0252	49.5369	4245
+-86.9893	40.2037	6337
+-112.1724	33.4023	6671
+-80.0205	29.0937	7070
+-117.3259	36.1259	7363
+-117.8882	30.8706	7351
+-88.7887	40.1667	7125
+-109.9749	28.4749	6083
+-119.1202	37.0345	5782
+-92.2508	36.4001	6189
+-87.5531	38.8712	7895
+-106.5182	29.8649	4940
+-107.494	34.0821	5376
+-89.4264	36.7516	8549
+-114.6794	36.8675	5432
+-110.114	34.6729	6118
+-90.9565	36.997	7436
+-117.0991	32.6362	9503
+-111.4329	33.2475	7312
+-93.5331	39.1999	5995
+-90.1541	39.2559	8826
+-124.3823	48.2963	7418
+-118.1758	35.004	8165
+-125.9867	47.8066	6092
+-114.8369	34.5482	6849
+-112.6444	30.9214	6869
+-108.7689	31.0609	7687
+-82.4606	27.863	9506
+-91.5101	36.1064	6327
+-122.5024	44.1427	6473
+-78.9243	26.6816	6060
+-117.8653	46.8088	8389
+-114.2558	30.8122	5992
+-113.8168	33.8772	6046
+-122.8255	48.2971	8142
+-85.3875	40.9551	4522
+-118.7135	44.9009	7911
+-87.7153	39.3078	7627
+-81.4397	29.995	7252
+-114.4524	49.1662	4064
+-123.0761	41.8444	3975
+-92.5771	38.9213	7053
+-81.1605	27.0259	8509
+-88.111	37.3298	8988
+-88.9823	37.744	9558
+-122.4447	46.9324	9105
+-108.8659	31.4754	7879
+-120.6027	45.0342	6557
+-119.8135	45.2178	7390
+-119.2715	47.0115	7837
+-121.3848	44.8021	6703
+-116.4802	31.6649	8358
+-108.753	33.0166	7162
+-109.7082	29.1102	6710
+-90.9287	41.5558	6344
+-79.2105	26.4505	6266
+-124.2304	47.9069	7816
+-117.3909	35.6093	7922
+-82.9395	29.6798	7544
+-121.1913	47.9031	7466
+-93.1032	35.6421	4973
+-118.662	49.512	5625
+-117.9902	34.0123	8738
+-92.4218	40.4276	6579
+-90.2053	38.0762	8673
+-118.1057	38.9813	4171
+-119.0157	34.3976	7608
+-115.9615	30.1531	6577
+-117.4628	48.8816	6189
+-91.5709	38.1939	8011
+-117.3761	46.3578	8262
+-87.2566	38.0734	8060
+-108.5333	28.0334	5161
+-118.8986	36.1304	6724
+-117.6716	32.0826	8618
+-116.2476	44.7988	6702
+-80.7272	27.0456	8105
+-83.6381	28.0272	8165
+-79.4702	26.9202	6731
+-82.5346	27.5039	9350
+-118.1045	48.3568	6863
+-110.9663	30.6103	8216
+-90.10	38.4617	8989
+-81.9203	27.7506	9651
+-116.7935	48.5052	6264
+-88.0765	37.2971	8937
+-112.5893	30.9416	6932
+-115.9991	36.1025	6983
+-118.3496	43.6349	6649
+-113.0278	32.2039	6478
+-90.925	40.3793	7574
+-119.2917	48.5733	6432
+-122.0509	46.1002	8273
+-90.9855	40.8464	7073
+-124.8495	46.2484	7324
+-88.2685	36.0251	7890
+-114.5826	35.677	6160
+-119.7406	46.6448	7613
+-91.8386	39.087	7814
+-84.4029	24.5017	5394
+-117.9489	32.1122	8405
+-90.8943	38.5372	8828
+-116.2253	35.7353	7454
+-88.9637	36.483	8469
+-119.2879	44.1631	6950
+-81.9103	24.2894	5950
+-120.7261	44.2338	6005
+-116.7439	35.0593	8378
+-116.7226	33.5862	8696
+-117.4815	44.7757	7621
+-115.2143	32.5367	7774
+-86.9859	36.6982	7540
+-118.7618	28.9301	4978
+-119.8024	46.6011	7566
+-80.3508	27.0937	7737
+-121.4298	47.1496	7979
+-108.8062	32.9959	7220
+-116.3514	47.3462	6826
+-109.0405	27.6836	5022
+-82.2004	28.367	9209
+-85.7573	38.7397	6229
+-118.6532	42.5926	5525
+-91.2766	36.7031	7017
+-86.2769	36.7702	6845
+-117.9421	33.4645	8501
+-116.701	35.7559	7663
+-108.7181	32.2513	7580
+-91.0589	36.8633	7264
+-87.8771	36.017	7712
+-87.7972	37.9928	8667
+-120.9435	44.6731	6294
+-84.6876	34.7795	4206
+-118.0696	45.2514	8334
+-114.8408	33.8474	7118
+-118.7097	30.7578	6744
+-116.1023	33.4551	8554
+-79.4688	27.3964	6849
+-87.594	38.4507	8231
+-118.2331	33.8627	8443
+-89.1518	37.9895	9250
+-108.7036	30.1159	7098
+-82.4442	27.1215	9082
+-123.2288	48.8578	7497
+-116.0608	49.7006	4779
+-116.7696	45.3517	7472
+-107.8268	32.3534	6633
+-108.2838	31.2833	7229
+-117.4154	36.8786	6539
+-81.4661	24.386	5994
+-117.7668	45.957	8693
+-89.2057	41.9076	5792
+-112.2809	29.7254	6557
+-122.3992	46.3633	8745
+-113.0424	31.4032	6532
+-118.7686	46.6086	8516
+-119.8427	43.7408	6265
+-90.2879	37.7271	8317
+-123.1747	48.1173	8306
+-94.1396	42.6565	3583
+-110.7234	29.6891	7378
+-109.9139	31.7441	8987
+-125.0269	45.4586	6742
+-92.557	39.095	7052
+-80.6129	26.0666	7312
+-118.4771	46.0527	9049
+-88.6074	35.6045	7494
+-117.5927	31.7266	8351
+-91.8395	38.009	7663
+-110.1698	35.223	5526
+-120.8085	49.7581	5774
+-116.0353	34.7903	8015
+-116.0702	39.1047	3960
+-116.1707	30.792	7326
+-93.7046	40.3314	5459
+-123.5442	47.756	8487
+-122.6836	46.597	9136
+-110.5583	31.6341	9224
+-116.1699	42.5984	4929
+-119.0411	33.3307	7413
+-116.6293	43.8111	6270
+-86.884	39.234	7065
+-91.945	38.0884	7596
+-87.1301	34.2231	5536
+-123.5158	47.3322	8819
+-110.375	33.8918	6972
+-82.6375	25.7297	7518
+-118.8684	31.9446	7419
+-120.2081	47.2274	6898
+-89.0202	41.0684	6526
+-94.8783	38.9303	4576
+-115.5712	29.7379	5983
+-114.738	40.0505	2519
+-89.5242	38.6134	8487
+-116.6058	34.1149	8817
+-91.5383	39.059	8136
+-117.4775	35.8067	7698
+-122.4381	30.3284	3049
+-113.1177	27.0962	3752
+-90.3528	38.8137	9348
+-91.528	40.0002	7597
+-113.4475	32.033	6064
+-117.5996	44.0361	6958
+-121.3075	47.1619	7843
+-82.5913	24.0762	5685
+-108.7883	29.4321	6604
+-116.9554	36.5785	6849
+-92.3673	36.9807	6559
+-109.2947	32.6783	7838
+-122.1745	44.015	6267
+-121.1517	46.5771	7638
+-122.6177	44.1056	6448
+-80.1154	26.286	7061
+-106.0483	31.0716	4798
+-119.3026	47.4374	7480
+-122.9532	46.3921	8972
+-81.8832	24.9931	6742
+-108.1364	34.0934	5859
+-91.4726	38.7031	8249
+-89.9898	39.224	8760
+-86.942	39.4076	6984
+-92.0325	36.3642	6298
+-113.7715	29.0721	4861
+-118.7436	32.3423	7701
+-116.3934	33.0596	9058
+-109.7281	28.5269	6098
+-117.0413	45.924	7932
+-120.2637	46.1744	7162
+-116.5849	43.6436	6098
+-83.7518	27.7141	8060
+-90.0644	36.5957	7927
+-89.0338	36.1453	8082
+-120.5342	49.4427	5844
+-119.1622	34.316	7461
+-124.5852	46.017	7481
+-90.5688	37.4486	8008
+-118.9192	48.5493	6581
+-108.1994	29.4115	6175
+-116.29	34.9713	8134
+-120.0607	33.1008	6289
+-117.4836	34.8347	8737
+-124.5799	47.5218	7662
+-117.29	33.6817	9045
+-123.7587	48.8781	7304
+-122.5614	36.0246	3405
+-124.6003	44.9782	6732
+-90.1821	33.0417	4387
+-112.5067	32.4454	6940
+-125.6297	44.8298	5798
+-124.4918	46.7209	7837
+-123.6224	47.8419	8359
+-92.0963	41.6916	5755
+-117.7029	43.4478	6385
+-89.0132	40.997	6588
+-79.5525	27.8502	6971
+-115.9807	34.5489	8064
+-112.9361	31.0489	6595
+-118.9809	33.3186	7467
+-84.2579	27.1837	7400
+-115.7353	34.0423	7864
+-89.6122	43.2154	4540
+-119.4396	45.6492	7946
+-108.7957	32.2851	7642
+-109.2863	30.8624	8096
+-91.4274	34.4766	5153
+-117.4336	30.2531	6846
+-86.4966	38.4923	7103
+-123.3744	49.3566	6929
+-88.6609	37.0339	9096
+-79.1657	27.2945	6493
+-90.5872	34.6871	5896
+-81.7899	26.5618	8475
+-121.1825	46.9358	7719
+-108.4449	28.3865	5451
+-89.6561	41.0111	6864
+-87.5928	40.9259	5926
+-87.94	36.1494	7876
+-106.2627	33.3328	4673
+-87.8214	33.0843	4564
+-119.1686	34.5654	7410
+-113.1674	32.7807	6140
+-83.8071	30.3082	6449
+-89.4426	38.0946	8917
+-109.4263	32.1444	8318
+-112.3995	37.5172	3072
+-93.1619	33.7332	3243
+-109.2805	31.3545	8306
+-89.5145	34.062	5683
+-118.318	49.6169	5536
+-89.7704	41.242	6658
+-126.5102	46.9225	5640
+-90.6939	37.2314	7754
+-79.053	29.7594	5742
+-89.4294	38.6681	8392
+-117.9181	31.5498	7986
+-112.5682	30.2471	6652
+-93.4481	39.1758	6089
+-95.9113	37.6686	3353
+-88.4102	40.7397	6404
+-108.9746	26.3217	3586
+-119.2438	46.7481	8033
+-114.1333	29.5172	4787
+-109.506	30.8328	8263
+-89.5769	41.6142	6217
+-89.4392	37.7792	9049
+-117.6809	37.2453	6113
+-81.1653	30.8246	6264
+-88.3152	39.8611	7300
+-86.6275	33.5066	4565
+-81.6904	28.2267	9170
+-90.1754	38.4738	9052
+-89.1759	36.5519	8483
+-122.1704	45.70	8000
+-89.4584	36.2216	8017
+-77.6616	29.0541	4628
+-91.7155	40.528	7030
+-90.8162	36.2918	7045
+-119.7442	42.3523	5000
+-87.6727	34.3901	5938
+-119.5449	49.4289	5490
+-80.6021	25.6279	6917
+-86.6229	38.0314	7374
+-116.1422	32.6632	8818
+-91.3105	40.7953	7004
+-81.8033	26.9345	8880
+-116.9607	32.317	9195
+-118.6238	28.5729	4671
+-117.016	49.3794	5537
+-84.4686	28.7396	7030
+-118.0629	34.997	8256
+-87.7771	38.6999	8209
+-120.8977	46.9504	7406
+-109.1268	31.1389	8081
+-89.8573	39.9763	7986
+-119.8086	32.056	6471
+-89.1057	37.9169	9342
+-90.1068	36.0036	7418
+-86.6266	39.2208	6846
+-112.3032	31.6791	7337
+-93.0518	44.2932	2793
+-84.1117	33.3234	3219
+-110.2325	30.4196	8208
+-116.0336	31.1484	7621
+-112.5504	34.992	5068
+-115.8848	32.6482	8532
+-114.3733	45.899	5114
+-116.8065	35.1619	8309
+-120.0504	28.5639	3894
+-116.9035	34.3536	9075
+-118.3776	48.3977	6825
+-119.7075	31.2043	6206
+-117.6124	35.338	8171
+-108.9602	30.8256	7774
+-89.4441	39.2782	8263
+-116.3874	31.562	8212
+-89.2721	40.883	6832
+-116.3011	34.9849	8133
+-109.7041	29.5867	7205
+-88.1489	36.8752	8689
+-115.9402	36.9104	6181
+-121.5157	45.9561	7723
+-112.1436	33.6677	6482
+-118.8204	47.0078	8143
+-80.1043	26.2444	7023
+-117.2535	33.1439	9267
+-80.595	27.6675	8148
+-120.8962	31.8354	5235
+-86.2463	38.0042	6961
+-93.9829	39.2468	5508
+-118.3296	34.1737	8377
+-110.5111	27.2344	4758
+-83.3109	27.0962	8359
+-117.6574	43.3785	6303
+-110.7833	28.5438	6145
+-90.393	39.1993	8940
+-89.2194	40.4386	7214
+-89.2563	38.7991	8208
+-117.1234	34.1333	9382
+-117.1869	32.4606	9286
+-89.077	37.2293	9214
+-116.0116	31.435	7880
+-122.2856	48.7498	7534
+-117.6328	35.4349	8063
+-116.7456	31.6461	8424
+-89.7428	38.889	8718
+-116.9497	34.78	8752
+-89.1295	39.6785	7743
+-93.6438	43.1499	3522
+-123.2414	48.4325	7953
+-114.2761	33.595	6629
+-125.1767	48.1103	6807
+-121.1266	37.2382	4134
+-81.6638	29.8778	7446
+-81.5197	26.3867	8184
+-80.8511	28.6274	8145
+-113.4144	29.0461	5149
+-123.3824	49.9336	6304
+-124.4638	44.081	6000
+-117.9592	31.9257	8265
+-108.3722	33.6851	6359
+-108.89	32.2606	7746
+-118.2666	48.5634	6652
+-119.631	45.9321	7822
+-115.5961	49.3605	4786
+-120.2832	32.9732	6012
+-113.063	36.3914	4333
+-118.7542	36.3983	6582
+-118.1174	35.008	8207
+-118.1791	43.5733	6582
+-109.8045	31.4104	8871
+-115.4517	32.3195	7975
+-119.317	31.7442	6871
+-122.0893	33.1975	4179
+-90.8647	35.1937	6175
+-118.9829	48.4493	6664
+-89.264	37.4557	9209
+-114.4725	45.1481	5101
+-115.1669	46.3109	5952
+-96.0447	38.4926	3316
+-89.2697	36.8994	8786
+-118.0582	34.5477	8563
+-78.6433	24.1026	4168
+-89.3125	39.1544	8191
+-86.183	24.4869	3997
+-112.9607	27.0519	3798
+-107.7685	34.3209	5409
+-116.563	30.9965	7673
+-82.0683	28.4657	9098
+-82.3635	31.5593	5594
+-118.0571	34.3597	8641
+-91.0111	38.7673	8747
+-88.8309	37.5654	9681
+-120.3746	32.1723	5884
+-121.1978	31.9396	4933
+-109.1872	30.2045	7531
+-82.926	27.8181	8994
+-86.3964	39.0932	6709
+-112.3123	29.3575	6247
+-108.5436	33.6024	6550
+-123.2089	43.1941	5448
+-118.9426	31.8562	7302
+-121.6501	44.6694	6733
+-83.1372	29.517	7610
+-107.5732	35.8781	3942
+-112.3944	29.7978	6519
+-79.5334	27.1584	6872
+-83.7404	26.7929	7767
+-85.797	28.3911	5688
+-91.9547	38.6461	7727
+-80.235	26.2359	7134
+-90.0994	38.0363	8596
+-116.9608	33.849	9082
+-121.726	44.2325	6337
+-89.9101	36.3184	7831
+-109.0724	27.0017	4325
+-120.7813	44.1549	5908
+-110.494	29.9169	7660
+-81.50	32.6549	4316
+-124.2789	48.7372	7141
+-82.6969	27.4279	9149
+-88.0732	38.7302	8389
+-84.994	29.2816	6230
+-111.4817	31.3701	8208
+-92.1613	39.7272	7238
+-80.2283	26.0761	7011
+-88.2659	38.4313	8788
+-111.551	32.1578	8015
+-107.8924	33.0287	6400
+-115.0246	34.7156	7011
+-118.9151	46.5678	8428
+-108.4136	31.7741	7383
+-118.5327	46.5154	8747
+-90.6387	41.5534	6390
+-82.8679	30.5264	6661
+-120.1066	37.2338	4951
+-88.7597	37.6269	9770
+-116.6248	31.8564	8616
+-116.0213	32.4621	8627
+-119.7272	44.2915	6810
+-114.4647	30.7475	6132
+-91.1497	35.1945	5961
+-117.7994	36.8906	6474
+-117.5755	36.0311	7440
+-120.8339	33.1893	5513
+-114.0689	31.9723	6386
+-82.5257	25.6539	7461
+-92.9969	41.2761	5507
+-108.3409	30.6295	7080
+-110.6506	33.9959	6837
+-116.5865	34.3728	8751
+-123.0615	48.3888	8034
+-89.8138	36.3922	7964
+-115.0141	30.8732	6680
+-116.5084	32.602	9188
+-118.4746	36.84	6305
+-90.0531	38.1673	8702
+-84.952	26.9321	6567
+-123.8609	46.4575	8412
+-94.4325	36.239	4289
+-119.9876	49.0343	5667
+-125.9815	44.6781	5389
+-117.2304	32.9123	9440
+-90.058	35.1884	6679
+-125.5586	47.2697	6666
+-116.1786	30.2015	6706
+-118.9245	46.2428	8565
+-114.7951	32.4144	7290
+-111.6869	31.246	7962
+-82.3947	30.5051	6780
+-89.0712	37.4014	9362
+-80.1235	31.0463	5541
+-87.5112	38.2065	8281
+-80.3109	26.8302	7574
+-116.1595	32.627	8828
+-115.8322	34.176	7972
+-108.9688	28.5366	5857
+-119.3847	35.759	6625
+-88.6038	38.2317	9154
+-79.8286	26.7073	7023
+-87.3759	37.9738	8216
+-115.0205	46.0811	5805
+-116.9026	33.8041	9003
+-118.6371	43.364	6339
+-112.3437	47.8155	2713
+-112.2172	31.1964	7390
+-120.1363	45.5824	7223
+-89.917	36.3699	7870
+-89.2443	40.3651	7294
+-84.0344	34.0893	3157
+-120.2224	34.9785	6184
+-89.659	38.8556	8635
+-79.3394	26.651	6489
+-123.3617	45.8157	8244
+-123.7128	46.6643	8653
+-88.80	37.4457	9565
+-114.4621	33.2204	6923
+-87.5899	36.1059	7622
+-112.8878	35.9338	4373
+-82.4192	28.5555	8943
+-117.0173	33.2294	9289
+-119.9914	31.4975	6072
+-120.3124	45.6792	7066
+-116.0709	36.5711	6576
+-87.9281	36.8903	8533
+-90.2402	38.7682	9269
+-114.773	36.2386	5978
+-88.5263	41.8437	5535
+-119.9343	48.6474	6046
+-109.6717	32.2424	8462
+-115.8337	33.3713	8346
+-90.8956	39.5035	8442
+-121.3623	46.4045	7807
+-118.2826	32.3775	8205
+-122.4634	47.0293	9122
+-120.1391	47.5618	6759
+-122.0571	44.8141	7067
+-89.6957	33.7705	5320
+-87.8684	36.7683	8390
+-117.9434	38.4818	4737
+-120.5794	31.5408	5479
+-116.2912	32.0577	8620
+-116.7901	46.0675	7679
+-84.3316	28.9607	7062
+-121.203	45.8525	7376
+-120.5034	30.9934	5315
+-108.5372	29.8005	6732
+-113.8573	32.7297	6283
+-79.4626	27.3238	6830
+-115.038	33.8782	7297
+-121.0641	35.7482	5037
+-111.1607	30.8619	8284
+-88.0503	37.0992	8790
+-109.6103	33.8507	6895
+-117.047	32.0909	8938
+-118.5476	35.1254	7770
+-122.5574	46.1529	8636
+-88.6422	37.123	9190
+-115.0352	32.7727	7598
+-91.5759	38.9469	8121
+-89.8641	38.717	8864
+-84.6599	33.0522	3264
+-80.6811	24.8625	6219
+-119.0223	32.8734	7459
+-88.7333	34.0878	5798
+-116.202	33.5608	8563
+-82.011	28.1902	9394
+-111.8464	30.0116	7110
+-111.784	33.6548	6734
+-86.5717	38.3387	7238
+-90.2376	39.7632	8321
+-88.6021	37.2198	9281
+-91.3795	40.8136	6954
+-90.9739	37.9729	8372
+-87.2733	32.694	3988
+-88.062	35.7338	7506
+-81.8778	26.0991	7984
+-87.969	38.0409	8826
+-120.2887	32.6266	6041
+-89.8912	39.7982	8176
+-88.6232	36.7182	8739
+-120.6581	49.9913	5470
+-118.1113	31.0992	7451
+-93.5077	41.524	4921
+-90.6011	39.3687	8717
+-114.0459	29.531	4877
+-114.0372	32.1707	6407
+-117.6637	31.1706	7759
+-119.4483	36.0859	6344
+-90.0714	43.4665	4330
+-113.9367	33.3377	6324
+-121.6997	44.6489	6739
+-89.2545	35.7874	7636
+-108.3238	29.3297	6202
+-90.1812	38.1752	8768
+-116.6551	37.5703	5730
+-82.0223	27.3456	9400
+-118.7178	32.9496	7794
+-87.8162	38.4948	8400
+-120.9346	45.0729	6608
+-82.3895	29.4322	7986
+-92.5838	40.5436	6365
+-119.4504	36.9139	5681
+-125.1203	49.159	6178
+-120.3054	33.5295	6158
+-126.0074	44.1945	5031
+-119.4485	31.5049	6622
+-90.4828	39.5742	8530
+-108.6916	31.5717	7695
+-116.8956	44.886	7308
+-111.4089	31.8402	8275
+-87.2699	35.4779	6839
+-88.4337	37.2255	9195
+-90.2858	36.4429	7626
+-123.5393	47.8166	8438
+-78.1716	25.5387	4750
+-111.5154	31.411	8179
+-90.1451	35.5262	6958
+-110.1497	29.9058	7645
+-122.925	45.7872	8310
+-91.0234	41.8797	5981
+-82.5876	29.1543	8241
+-89.8457	39.322	8578
+-119.096	36.9969	5831
+-83.4489	29.2602	7641
+-84.3039	27.332	7388
+-108.4247	27.8661	4946
+-90.0729	39.6575	8391
+-120.6177	45.8368	6773
+-87.9558	36.9235	8581
+-120.4019	44.7089	6576
+-84.5029	40.5729	4023
+-84.9642	27.8293	6689
+-117.4817	29.3484	5842
+-89.0664	38.119	9205
+-92.5809	42.115	5093
+-92.1266	40.381	6851
+-82.5924	30.9408	6264
+-121.0826	46.6974	7588
+-126.2275	48.6779	5495
+-116.2363	33.0693	8891
+-83.4938	27.2313	8238
+-119.0591	47.1157	7907
+-116.7281	31.0447	7759
+-122.6307	43.0298	5271
+-116.7662	34.2804	8969
+-108.8192	35.6261	4796
+-124.6097	49.0038	6684
+-77.7818	26.3564	4717
+-119.7771	46.8056	7511
+-91.4783	36.1573	6391
+-110.0214	34.6894	6091
+-123.9631	45.5893	7695
+-112.8235	33.8982	5790
+-91.3264	36.7553	7046
+-117.2042	48.6212	6356
+-114.1357	45.8755	4861
+-112.1747	31.3486	7462
+-107.6489	31.6692	6564
+-89.3717	42.0494	5705
+-118.095	35.3634	7920
+-120.0294	46.9503	7204
+-88.4867	39.8348	7069
+-114.6273	33.8344	6907
+-124.3317	46.1159	7777
+-116.7484	33.2665	9195
+-112.5118	33.844	6072
+-88.4448	39.7627	7434
+-90.563	39.7468	8333
+-115.5209	34.2029	7632
+-108.8482	33.4208	6914
+-121.256	47.3846	7743
+-108.5308	25.1709	2257
+-108.2113	32.3355	7034
+-121.2158	47.3756	7702
+-111.6368	32.0029	7990
+-81.3081	28.4725	8664
+-121.3328	44.9881	6833
+-107.9186	32.0957	6799
+-92.4523	38.7481	7194
+-89.5097	39.3229	8298
+-120.0905	34.6498	6406
+-117.1974	33.072	9369
+-119.6405	33.8297	6927
+-90.931	38.2898	8653
+-113.227	31.395	6332
+-120.5086	48.6443	6397
+-117.5719	33.9382	9143
+-120.36	33.9213	6156
+-116.019	32.0005	8358
+-85.4936	38.0551	6115
+-118.0808	45.8062	8883
+-119.5122	34.432	7067
+-117.4346	31.1352	7806
+-90.9075	36.2475	6669
+-79.8398	27.2977	7244
+-109.6541	32.6807	8075
+-108.4838	30.7625	7281
+-116.7178	33.18	9262
+-80.6058	26.6306	7739
+-81.459	31.4695	5634
+-118.1782	44.752	7829
+-89.133	38.2338	9057
+-115.8603	48.4479	5687
+-126.5837	46.7376	5551
+-113.6923	29.8985	5402
+-118.6024	31.8117	7612
+-107.5485	31.0847	6408
+-109.63	33.2604	7503
+-82.367	27.6275	9585
+-108.7472	31.0675	7667
+-80.8496	25.1923	6638
+-115.856	31.3867	7733
+-114.6701	33.5946	7048
+-120.1317	46.6136	7229
+-123.4796	43.9275	6207
+-119.2067	32.2125	7165
+-123.7519	46.7576	8643
+-116.8373	34.9449	8536
+-118.8543	37.6327	5346
+-108.3008	33.1364	6702
+-119.6521	46.8312	7617
+-92.1262	39.8823	7184
+-118.9083	32.7635	7586
+-79.9704	29.7581	6566
+-116.2651	36.2456	6988
+-116.5077	43.9772	6329
+-108.692	30.6511	7428
+-120.6453	49.5812	5813
+-110.5433	27.3502	4882
+-116.9131	46.4555	7761
+-88.7535	34.7061	6493
+-108.423	31.14	7349
+-119.4719	49.085	5858
+-118.1869	48.9413	6250
+-117.5324	43.9351	6834
+-90.68	39.5236	8531
+-80.2195	26.4357	7255
+-87.7659	34.8956	6509
+-122.3768	44.4262	6757
+-113.9054	36.4349	5094
+-121.1936	48.2535	7258
+-85.6922	25.8086	5297
+-116.7231	46.5781	7532
+-92.3317	38.2078	7245
+-88.1846	37.705	9160
+-115.7525	30.478	6814
+-89.0138	39.3318	7821
+-121.4833	43.0291	5009
+-115.5198	33.9443	7621
+-115.1081	35.8686	6517
+-110.9318	29.8601	7497
+-88.5053	38.6428	8680
+-116.0504	48.4636	5817
+-90.9568	38.1962	8565
+-116.7198	31.0179	7728
+-78.9857	27.7042	6331
+-82.4134	27.8636	9557
+-88.3197	36.75	8671
+-88.5539	38.3133	9050
+-117.9872	34.4237	8690
+-88.7152	33.1555	4752
+-120.4119	34.0715	6106
+-119.7637	46.9721	7441
+-115.1455	32.9049	7719
+-117.761	31.1233	7667
+-107.7902	31.9677	6687
+-90.974	37.2675	7704
+-109.7147	31.2683	8721
+-114.7318	33.6941	7075
+-118.1369	33.1331	8401
+-116.6445	32.1248	8902
+-117.1709	33.7406	9097
+-113.5912	30.7485	5830
+-120.931	31.9284	5221
+-118.4015	43.5759	6584
+-119.5277	45.4138	7756
+-113.1346	36.2875	4455
+-119.4165	49.5564	5408
+-83.2385	27.9575	8624
+-91.5471	40.0286	7561
+-109.45	32.7292	7906
+-80.2898	27.4125	7769
+-118.4329	36.6677	6495
+-120.0858	28.7292	4018
+-90.8508	42.2275	5642
+-121.3851	45.5119	7299
+-115.8564	49.7086	4655
+-120.5799	45.1454	6627
+-87.1179	37.9269	7941
+-86.2585	37.3708	6980
+-91.3881	37.5931	7773
+-107.0125	30.2034	5577
+-87.8754	39.5497	7476
+-111.0532	32.1749	8464
+-120.6564	45.0077	6494
+-89.7629	38.9892	8708
+-93.4916	38.4524	6059
+-81.4362	27.90	9089
+-120.62	46.3075	6776
+-79.7458	28.807	6946
+-91.8841	41.5027	6045
+-118.3629	49.9783	5152
+-119.9031	36.5038	5670
+-122.8306	45.8404	8367
+-117.2681	33.2369	9176
+-110.2794	33.7667	7107
+-115.6667	35.019	7543
+-121.038	46.0259	7314
+-89.5278	38.8099	8500
+-87.8135	34.8071	6432
+-124.8661	45.082	6614
+-119.4434	48.4464	6488
+-91.5964	41.9658	5720
+-110.3593	34.5705	6237
+-122.1932	46.36	8583
+-92.9241	37.2047	6219
+-113.6711	33.9569	5863
+-113.2061	27.2607	3850
+-92.1934	37.9178	7277
+-117.7582	33.6418	8780
+-122.0571	45.5679	7812
+-90.8573	39.4661	8499
+-115.964	45.2855	6657
+-81.5004	29.79	7494
+-91.2269	36.9001	7233
+-79.9438	29.1461	6965
+-122.4978	48.5627	7798
+-111.5028	32.6342	7770
+-122.9627	46.6318	9232
+-81.115	28.5793	8418
+-123.7477	43.8395	6047
+-116.042	32.1577	8487
+-108.3372	30.5995	7062
+-122.064	47.1054	8675
+-118.9493	33.4746	7567
+-122.3462	29.5452	2730
+-89.4434	38.4965	8375
+-107.4381	26.9517	3556
+-87.486	38.6946	7971
+-80.9834	27.1734	8429
+-91.8571	37.6597	7448
+-95.0579	37.8326	4290
+-108.2989	30.1641	6786
+-107.2676	30.9829	6089
+-116.25	33.9573	8412
+-89.7482	40.2982	7621
+-90.7549	41.478	6457
+-108.6821	29.8829	6906
+-118.2787	31.783	7890
+-88.7401	37.0006	9068
+-86.4129	34.4385	5331
+-119.0339	30.2333	6062
+-118.3184	31.0833	7301
+-122.9742	45.3536	7832
+-80.162	28.272	7590
+-120.3782	47.2441	6733
+-117.3895	32.613	9229
+-115.7336	34.5091	7816
+-123.6289	43.3268	5528
+-112.4866	33.9074	6041
+-117.8934	35.8143	7581
+-115.04	33.2203	7557
+-85.6213	35.0078	5192
+-123.2195	47.069	9238
+-81.1213	28.5268	8460
+-122.8545	46.5052	9097
+-91.2683	42.4992	5272
+-86.4476	36.4035	6851
+-110.1266	33.0756	7841
+-119.0727	31.0407	6680
+-120.1968	44.1588	6374
+-115.9917	32.2823	8513
+-87.638	41.3538	5346
+-119.8884	32.1456	6409
+-117.8034	47.645	7547
+-91.0143	37.9591	8334
+-117.8431	31.784	8242
+-112.6182	33.5486	6208
+-118.589	32.3497	7870
+-119.8767	45.5734	7483
+-118.0957	35.6624	7640
+-82.6084	28.6806	8727
+-85.6908	27.9019	5865
+-89.9847	37.5894	8445
+-120.9102	33.0163	5381
+-79.1938	26.167	6106
+-90.6578	38.6324	9102
+-88.9629	40.8512	6691
+-80.2539	31.4852	5179
+-116.613	33.0959	9250
+-114.9125	31.0486	6730
+-92.498	43.567	3754
+-122.2405	43.685	5929
+-117.8546	33.2046	8672
+-86.0712	38.9258	6475
+-119.0624	45.054	7879
+-110.2969	30.9818	8821
+-85.5397	30.0188	5272
+-80.8371	29.9942	6977
+-118.0714	47.1191	8158
+-114.5482	33.115	7035
+-121.0031	30.2509	4418
+-110.0379	34.3534	6455
+-116.4365	32.3529	8967
+-83.6092	29.1418	7610
+-89.8222	35.881	7487
+-112.2292	30.076	6849
+-88.7221	38.2226	9188
+-114.8891	30.9543	6641
+-124.76	43.4649	5250
+-121.3147	48.6712	7049
+-122.6766	44.9105	7334
+-113.127	34.2255	5307
+-81.5299	26.8245	8627
+-83.7837	26.8929	7780
+-116.4782	44.7288	6860
+-90.9734	36.1807	6583
+-83.3851	28.1757	8403
+-119.8375	34.266	6730
+-90.9188	40.3534	7602
+-116.8629	47.2574	7320
+-117.7952	33.4016	8553
+-117.7052	32.8267	8929
+-117.9854	32.1141	8373
+-83.4252	27.2076	8300
+-112.7528	32.3525	6723
+-119.085	48.1188	6960
+-110.0806	34.0758	6759
+-124.4815	43.3295	5249
+-89.3579	42.3671	5372
+-117.2761	47.3266	7580
+-119.4584	35.8857	6477
+-87.3161	37.3102	8139
+-121.5209	44.3884	6394
+-125.0619	46.5562	7189
+-117.9698	33.5996	8575
+-116.8954	33.5102	8975
+-117.4676	31.6689	8356
+-79.2057	28.9689	6312
+-118.9144	32.3226	7511
+-109.0913	31.9726	8063
+-118.4681	33.4124	8009
+-84.8753	26.204	6322
+-89.4223	38.5085	8356
+-116.6132	49.7274	5031
+-108.4994	32.9854	6972
+-115.2489	33.4551	7709
+-115.816	31.9353	8136
+-125.1328	48.0567	6876
+-120.462	47.4227	6881
+-90.373	37.4124	7983
+-79.3471	28.2706	6689
+-115.9556	34.1729	8107
+-120.1714	35.7607	5906
+-126.9326	47.7293	5097
+-108.2043	32.3357	7027
+-120.8403	43.7402	5575
+-82.9649	26.1775	7863
+-118.3625	33.5325	8175
+-120.424	49.0278	6067
+-110.6043	26.2551	3693
+-118.5031	46.4532	8820
+-119.7492	44.4105	6892
+-93.5162	39.289	5998
+-90.3918	36.0357	7231
+-116.6994	32.3235	9127
+-82.3889	28.2351	9289
+-118.0056	32.2319	8423
+-84.9626	36.0864	5192
+-79.1252	28.4179	6410
+-82.3787	29.2301	8214
+-116.3787	31.3047	7943
+-121.8036	44.6865	6827
+-115.5804	35.8999	6874
+-90.5298	39.9214	8152
+-88.6479	38.2527	9143
+-89.9716	37.4231	8435
+-115.3805	44.4748	5737
+-80.515	25.803	7014
+-113.8959	35.7878	5442
+-87.5216	36.6578	8017
+-83.098	27.9988	8770
+-81.9679	25.8681	7736
+-89.4055	36.3484	8171
+-116.355	46.0501	7218
+-117.6446	46.4413	8494
+-118.0734	31.9614	8193
+-86.221	40.3413	5670
+-120.8095	35.2941	5471
+-92.5398	37.222	6576
+-86.9894	38.5875	7568
+-121.8633	47.3801	8380
+-90.7408	40.9846	6985
+-91.3737	37.8101	7953
+-88.9942	38.1133	9252
+-92.5579	38.3361	7038
+-82.4113	27.6897	9566
+-121.7038	43.4552	5531
+-123.0856	46.0557	8585
+-78.8656	25.8721	5619
+-114.8512	32.7482	7392
+-116.2252	44.6233	6578
+-90.7126	38.7033	9066
+-120.1729	47.8219	6553
+-125.6775	47.1629	6547
+-114.6528	35.9945	6038
+-115.2778	31.1911	7138
+-111.0858	31.3774	8628
+-119.8891	47.9131	6695
+-119.9916	42.5658	5103
+-110.0503	31.9935	8934
+-124.4178	47.5011	7838
+-122.6126	44.9626	7382
+-115.6722	34.0597	7797
+-93.1016	35.6355	4969
+-111.2357	30.898	8246
+-118.78	46.1312	8733
+-89.8585	42.903	4913
+-83.7141	25.0467	6333
+-89.609	36.2428	7959
+-95.5267	38.3442	3863
+-89.2883	40.8715	6851
+-90.6072	38.4593	9029
+-119.6091	34.135	6983
+-114.8101	33.8577	7082
+-80.4041	24.2478	5457
+-120.1977	35.3406	6080
+-116.3448	36.8471	6411
+-117.0762	47.8744	6988
+-82.4856	26.10	7965
+-115.4256	30.6312	6770
+-83.0151	26.5569	8199
+-120.7692	43.7865	5664
+-116.236	36.985	6230
+-82.253	27.6659	9716
+-80.8158	26.4436	7780
+-117.9946	46.0466	8950
+-79.7215	31.9788	4401
+-120.3497	46.2318	7068
+-117.9181	36.9825	6350
+-110.8174	32.6521	8202
+-92.2108	37.8619	7234
+-120.7793	49.0712	6324
+-121.9297	47.2001	8510
+-92.1721	34.7264	4678
+-119.2268	36.1217	6492
+-116.6685	31.0705	7777
+-93.0214	41.5083	5311
+-116.2665	34.6518	8309
+-89.5912	33.2461	4768
+-119.6447	36.1871	6110
+-117.4108	32.5628	9182
+-80.992	27.4343	8548
+-110.6447	33.5377	7329
+-117.5189	27.9432	4282
+-109.647	32.4443	8281
+-118.6333	33.5307	7909
+-94.1582	36.7038	4796
+-122.2321	49.2988	6941
+-86.2182	27.4192	5254
+-83.5505	26.8264	7968
+-89.803	38.215	8574
+-125.7073	47.6954	6420
+-118.2055	46.5962	8729
+-115.1653	28.1812	4206
+-91.548	41.2571	6445
+-86.1687	40.1309	5795
+-122.5725	45.8265	8303
+-113.3797	33.373	5646
+-89.9174	39.1475	8764
+-84.201	27.2257	7474
+-81.676	26.7778	8660
+-120.2944	33.8083	6216
+-111.1161	34.2142	6500
+-111.9573	36.8269	3526
+-110.3551	29.2619	6958
+-120.9975	47.0443	7514
+-124.7699	48.7307	6782
+-112.6128	35.6591	4414
+-88.6087	36.0442	7986
+-79.7809	31.8663	4545
+-91.2949	42.2196	5558
+-124.8869	45.8458	7100
+-118.1251	35.4549	7819
+-90.4428	35.2813	6543
+-82.0751	29.6635	7745
+-120.0573	33.4806	6412
+-110.7898	30.7841	8476
+-85.8468	27.1167	5627
+-90.9892	35.8566	6598
+-112.1775	32.4394	7271
+-122.5433	48.1315	8268
+-120.6118	48.7583	6413
+-114.987	33.5653	7392
+-89.9317	36.0824	7608
+-89.4425	39.1869	8306
+-81.3146	31.1347	5971
+-111.2131	33.6819	7008
+-115.5615	33.3503	8076
+-80.0749	27.1043	7446
+-79.7849	29.1008	6837
+-119.0097	47.0039	8032
+-121.3751	48.1244	7503
+-93.6349	38.1476	5860
+-122.033	44.6437	6882
+-117.5717	38.2759	5007
+-117.3514	33.6814	9036
+-83.5297	27.1015	8143
+-91.329	37.8048	7983
+-117.7163	31.7199	8271
+-121.9585	47.9087	8143
+-87.7854	34.5886	6189
+-81.6044	29.3802	7971
+-118.03	45.2602	8332
+-88.7473	39.4991	7485
+-89.1716	39.837	7670
+-90.9091	38.6522	8848
+-116.3759	45.3286	7081
+-87.2012	37.7523	8055
+-81.4716	32.8461	4097
+-125.2337	44.5639	5926
+-86.2985	38.1159	6999
+-88.7269	34.8749	6682
+-79.9187	25.5736	6366
+-110.2421	33.2445	7671
+-116.202	31.3682	7926
+-87.8549	38.4342	8477
+-87.4616	38.2423	8214
+-86.9586	36.103	7132
+-92.7093	36.4955	5933
+-117.969	36.1877	7170
+-84.6077	30.7434	5513
+-87.6166	31.9374	3256
+-118.4646	28.1195	4254
+-89.7891	36.0176	7638
+-124.8755	46.6379	7406
+-115.9618	32.7293	8628
+-112.913	31.5816	6679
+-92.2678	36.5173	6275
+-113.8567	31.7659	6091
+-117.2063	49.3001	5685
+-117.8451	48.1158	7076
+-118.2051	36.3309	6931
+-112.4241	34.3117	5749
+-111.4786	29.6713	7059
+-111.1815	27.7006	5168
+-119.9893	47.6036	6852
+-91.712	41.0736	6539
+-120.8421	45.9983	7108
+-119.9007	32.1718	6402
+-117.31	38.7025	4554
+-122.6715	46.6556	9182
+-92.3133	35.5145	5364
+-118.524	45.1191	8191
+-118.6413	45.7403	8723
+-116.0182	32.8468	8694
+-83.6847	31.4139	5408
+-83.317	25.469	6968
+-118.7064	32.6741	7806
+-123.0872	43.7618	6079
+-90.4899	40.0599	8008
+-91.3485	35.4634	6006
+-116.5864	33.2367	9121
+-117.2311	36.4646	6995
+-123.6951	44.5626	6824
+-120.7697	39.6469	2412
+-89.9964	38.8506	8993
+-84.0406	40.7861	3458
+-114.0871	33.6224	6418
+-117.4334	31.674	8376
+-120.0384	46.9206	7209
+-124.3826	47.4529	7892
+-108.6701	33.2376	6932
+-123.7824	43.6637	5850
+-90.5975	36.329	7270
+-88.4648	37.13	9125
+-118.3913	44.7959	7875
+-88.3695	35.3451	7172
+-108.8675	28.4987	5773
+-87.8877	36.7678	8404
+-89.8393	39.4224	8492
+-115.9083	33.2568	8474
+-119.2284	31.6712	6925
+-125.5578	46.8174	6682
+-84.1104	25.5922	6568
+-83.0667	29.8621	7297
+-79.2792	27.2775	6616
+-89.2456	40.5637	7117
+-113.7888	45.0622	4375
+-88.9199	38.5748	8781
+-120.1704	47.8838	6510
+-82.7358	30.6255	6587
+-83.4452	27.9788	8389
+-92.4943	39.1009	7118
+-119.6228	34.7317	6886
+-79.975	26.2375	6900
+-123.3819	45.8578	8278
+-116.5868	35.2513	8111
+-86.1955	42.7878	3382
+-90.576	38.9222	9146
+-86.2568	36.4891	6703
+-95.4719	37.1467	3674
+-88.3487	35.9092	7788
+-116.8789	36.4531	6972
+-89.4559	36.7049	8488
+-116.3037	44.3657	6473
+-84.0972	29.0435	7242
+-88.4611	38.6825	8624
+-117.5321	35.7513	7749
+-85.4733	36.7045	5964
+-109.0322	31.3214	8036
+-90.0046	38.4675	8915
+-91.378	38.7366	8352
+-79.4648	30.329	5707
+-117.0544	36.0692	7414
+-115.2459	28.6558	4731
+-118.9995	33.2069	7394
+-116.1063	33.9875	8262
+-125.332	48.9795	6138
+-114.9941	32.6624	7546
+-91.3018	37.1053	7394
+-106.2201	30.5175	4870
+-122.7456	49.0799	7278
+-110.8538	30.5796	8249
+-85.7647	39.4135	5916
+-120.3542	35.0949	6010
+-81.032	26.3012	7819
+-125.4493	47.6226	6714
+-120.6311	45.3854	6661
+-117.2395	34.8192	8789
+-92.8352	35.7653	5261
+-110.0281	33.4174	7459
+-108.4492	30.6417	7191
+-115.7655	47.9873	5928
+-92.1053	38.3135	7510
+-80.1209	31.0711	5515
+-89.9726	37.516	8451
+-90.9893	37.3787	7808
+-120.3053	48.3877	6356
+-83.7773	30.2444	6528
+-82.3539	29.4642	7956
+-113.3366	31.0999	6178
+-116.0074	32.5359	8638
+-85.9113	27.0096	5533
+-81.5015	28.5574	8747
+-84.9447	27.0911	6621
+-88.9532	40.6214	6886
+-125.5493	46.4681	6645
+-89.4767	35.2538	6992
+-82.5154	26.9533	8876
+-124.4372	49.8497	6017
+-118.5847	46.699	8550
+-91.6511	39.1659	7986
+-117.3338	35.3105	8252
+-117.4973	35.1078	8445
+-88.8118	44.412	3091
+-82.5553	29.5799	7786
+-108.1918	30.6108	6925
+-90.3202	40.1693	7893
+-119.0744	29.5805	5445
+-92.7482	33.815	3526
+-112.5148	29.5075	6211
+-86.1297	36.9516	6748
+-124.2415	45.828	7673
+-119.4071	45.0351	7621
+-91.9465	38.6149	7733
+-90.3906	41.762	6178
+-117.8931	33.2616	8606
+-121.1556	45.7669	7280
+-119.3871	47.9334	6994
+-116.4318	47.3449	6898
+-83.1935	27.7964	8692
+-118.2017	37.8655	5341
+-123.3675	45.5519	7969
+-84.8146	35.678	4849
+-108.2379	31.55	7203
+-87.0342	41.5769	5014
+-116.4827	33.1008	9127
+-123.1256	48.0806	8357
+-118.6342	45.5858	8601
+-120.8652	45.5613	6889
+-89.3714	40.9615	6803
+-115.8426	46.0146	6674
+-116.0771	33.8513	8204
+-118.0891	28.9095	5219
+-88.5728	37.0629	9104
+-122.1891	43.4593	5675
+-118.1164	33.3273	8260
+-125.7662	46.8598	6455
+-91.0225	42.0017	5852
+-119.261	35.8225	6687
+-108.0881	32.6002	6803
+-124.6766	49.0256	6618
+-91.423	35.8497	6104
+-117.5445	46.6643	8276
+-118.6983	45.334	8338
+-115.9848	32.3891	8558
+-115.0551	31.1891	6953
+-90.1103	40.0984	7942
+-115.4655	31.23	7317
+-90.2474	42.7446	5116
+-79.8275	32.3103	4128
+-108.074	29.6849	6276
+-109.992	28.5136	6127
+-122.6971	46.942	9382
+-91.3196	36.9728	7259
+-118.6192	49.3612	5788
+-114.7326	42.8601	4170
+-87.1627	37.5055	8006
+-92.3556	39.3772	7194
+-119.5662	46.6165	7796
+-88.5029	37.2945	9304
+-88.6498	40.7131	6602
+-121.7163	45.4523	7495
+-110.0079	29.1919	6859
+-115.7569	33.4255	8242
+-89.2343	38.0514	9135
+-88.2562	38.6113	8609
+-86.9829	34.6794	5910
+-119.1852	34.6382	7374
+-119.9836	46.1249	7460
+-123.942	45.2212	7373
+-114.2105	44.1523	4479
+-116.3532	34.9542	8198
+-106.3506	31.4087	5154
+-121.0753	46.3816	7501
+-120.173	46.8346	7113
+-90.2856	38.7017	9307
+-108.7671	32.7561	7354
+-77.9916	27.2366	5168
+-112.7335	32.5904	6653
+-90.8303	36.1047	6910
+-122.8187	48.4295	7997
+-123.1258	45.1576	7603
+-92.1822	42.5048	4937
+-118.1138	31.3257	7655
+-117.4335	43.008	5864
+-119.8771	34.2169	6689
+-107.2452	32.6153	5946
+-104.7287	33.3587	3104
+-89.3311	37.2969	9058
+-92.883	40.6029	6071
+-116.9184	31.978	8816
+-120.387	35.3041	5902
+-83.2754	26.6839	8112
+-117.0394	34.9267	8638
+-120.3795	46.2238	7037
+-126.0495	48.1391	5914
+-81.6437	27.4374	9225
+-87.4875	40.5953	6227
+-111.2147	31.7079	8509
+-108.2726	34.4171	5677
+-90.2523	38.7124	9277
+-82.2547	29.3504	8095
+-120.4501	33.619	6020
+-119.785	47.0992	7350
+-81.566	25.8181	7596
+-87.1652	32.8351	4102
+-115.5601	34.9863	7457
+-118.2921	45.9475	9099
+-116.0552	47.4269	6514
+-118.1463	32.6725	8427
+-87.3536	37.1446	8124
+-115.6513	34.7344	7658
+-116.3755	35.5784	7686
+-113.992	37.9055	4089
+-89.7526	39.261	8549
+-116.1549	31.5637	8088
+-87.3513	37.0862	8098
+-116.6026	33.0885	9246
+-89.031	38.5653	8763
+-84.3645	36.4349	4684
+-115.9748	37.0847	6024
+-110.8384	27.3382	4842
+-116.2592	29.9641	6475
+-108.4974	31.1131	7420
+-89.8382	37.5564	8606
+-118.7893	45.5874	8498
+-110.9228	30.5509	8185
+-115.3551	33.6458	7731
+-123.3524	44.7621	7134
+-83.6252	25.7895	7090
+-117.4329	37.2219	6164
+-122.9803	45.6727	8182
+-86.2165	37.223	6910
+-111.387	37.6504	2802
+-85.0321	30.7593	5179
+-82.2681	27.4787	9533
+-94.46	38.1381	4981
+-115.0903	44.1705	5309
+-120.4142	42.3069	4653
+-79.6608	29.7168	6330
+-119.4699	48.2783	6633
+-122.4718	47.1668	9087
+-87.819	41.8206	5112
+-87.3604	36.0158	7381
+-117.9133	48.4678	6722
+-122.6861	44.187	6543
+-91.5453	34.2471	4870
+-114.6257	33.4254	7055
+-113.3491	31.9257	6185
+-116.4899	32.0559	8751
+-113.9752	33.3676	6360
+-124.9381	45.6836	6960
+-116.7989	30.7578	7449
+-119.8266	44.6418	7012
+-119.7769	45.8766	7661
+-90.5616	34.0117	5245
+-107.2277	30.4488	5891
+-87.2646	40.829	5885
+-118.5553	31.4124	7388
+-124.8666	47.4274	7387
+-91.0101	40.8476	7065
+-88.9563	38.9676	8339
+-79.1546	29.8089	5806
+-117.5139	48.8192	6268
+-87.6367	38.5691	8191
+-116.8072	48.038	6680
+-86.1924	36.5105	6648
+-116.8963	31.1932	7940
+-89.2043	35.5818	7425
+-118.4767	35.7064	7373
+-107.2693	29.2841	5323
+-81.7247	27.0546	8964
+-111.0036	29.8119	7422
+-92.1919	39.7786	7182
+-116.5599	34.2096	8762
+-116.2146	31.1343	7697
+-115.321	46.7361	6052
+-109.4881	31.5825	8558
+-86.1267	39.7857	6015
+-123.3489	49.2096	7093
+-120.3147	30.3834	5136
+-109.6833	32.0752	8590
+-113.7909	29.2728	4968
+-121.2665	47.3057	7773
+-119.8531	44.3043	6734
+-115.6415	32.0891	8067
+-87.4852	35.9911	7448
+-114.8493	44.1937	5101
+-119.3511	43.5081	6292
+-117.8816	32.2065	8526
+-122.7961	45.8327	8355
+-89.2599	39.7002	7838
+-82.6017	26.4498	8311
+-122.29	45.7332	8094
+-107.0469	30.0789	5558
+-117.7074	30.2195	6741
+-116.7618	33.379	9085
+-83.0036	27.265	8756
+-82.1253	28.079	9539
+-117.3699	37.987	5333
+-91.2089	39.5315	8199
+-89.4698	39.302	8274
+-84.8481	28.6391	6666
+-119.2728	45.0576	7738
+-85.0437	29.9355	5786
+-88.3679	38.8386	8425
+-117.9496	49.9128	5207
+-121.3593	43.2428	5179
+-76.738	27.8188	3788
+-119.2657	32.887	7187
+-119.9857	45.8186	7433
+-88.2095	34.2536	5934
+-80.5992	26.2263	7433
+-89.592	39.5142	8239
+-114.3131	32.5979	6783
+-116.9339	47.6251	7104
+-108.3166	31.5397	7288
+-120.4029	34.1899	6116
+-86.3775	38.536	6961
+-115.825	43.1993	5234
+-112.2804	30.9846	7267
+-88.5744	33.9196	5604
+-90.362	38.061	8681
+-123.5556	44.3967	6692
+-112.8514	28.3878	5066
+-118.8491	46.0386	8658
+-81.7798	28.5241	8947
+-120.1006	32.4824	6237
+-118.0582	34.2498	8665
+-84.3586	28.5644	7218
+-119.5618	43.4186	6114
+-94.1232	35.2569	3909
+-87.8466	36.5071	8154
+-118.304	34.5098	8334
+-114.6923	35.1626	6514
+-81.3726	31.9511	5081
+-88.747	38.6387	8723
+-88.243	38.3483	8850
+-93.3459	37.9558	6118
+-89.6447	38.7701	8628
+-83.3127	29.209	7785
+-119.6525	45.9203	7798
+-117.9722	34.9253	8381
+-87.0727	36.6015	7569
+-89.8381	41.4659	6439
+-90.9956	38.0369	8411
+-107.7987	29.3733	5830
+-110.0345	31.4005	9094
+-84.1469	27.4136	7580
+-116.2813	31.8309	8414
+-83.3073	28.6364	8239
+-122.4126	44.3687	6702
+-89.258	37.2215	9071
+-105.559	27.638	2763
+-123.9492	44.6051	6767
+-119.6891	35.098	6694
+-87.1679	37.8184	8012
+-113.7603	33.252	6144
+-116.8887	35.6125	7872
+-118.205	45.3402	8452
+-83.3634	27.6273	8492
+-90.1664	40.179	7866
+-87.483	40.6435	6175
+-90.5953	37.0675	7597
+-123.8415	48.8402	7302
+-79.8438	29.853	6388
+-119.8842	45.0979	7260
+-116.8072	31.2166	7959
+-82.2365	29.1065	8372
+-118.6258	45.3761	8412
+-118.5674	33.6737	8033
+-121.7223	47.6127	8130
+-118.7785	46.5354	8562
+-116.3699	33.5696	8681
+-117.3218	32.2253	8984
+-108.5131	33.8343	6337
+-109.973	31.4504	9057
+-120.8687	49.5107	6030
+-117.7562	33.0599	8831
+-118.6558	31.1281	7089
+-116.7936	34.3767	8958
+-90.8567	34.6202	5669
+-111.7004	31.2663	7953
+-117.3751	36.0526	7441
+-117.8532	34.6983	8649
+-92.2976	37.0005	6629
+-122.2443	47.7695	8467
+-108.1587	28.2237	5138
+-120.2284	33.3096	6184
+-84.6101	26.4674	6728
+-119.9319	47.1647	7182
+-88.4306	37.3664	9310
+-117.1087	31.7668	8571
+-81.7146	26.425	8302
+-88.9669	35.6414	7531
+-107.905	29.7672	6188
+-115.4842	46.4994	6266
+-119.4827	34.3119	7113
+-126.7318	47.5075	5355
+-108.8148	33.789	6572
+-116.5402	34.507	8647
+-111.3647	31.1286	8252
+-115.4631	44.7229	5937
+-115.2344	38.3878	4395
+-85.6342	38.9568	6012
+-87.6718	39.4204	7494
+-78.6123	27.9934	5901
+-88.9299	40.9647	6569
+-115.5772	30.5415	6779
+-120.316	33.0801	6019
+-116.0795	29.6868	6124
+-90.4883	36.5636	7520
+-115.4434	32.5041	8019
+-85.4515	39.4231	5603
+-118.3326	32.0498	8006
+-117.3417	45.7175	8184
+-90.5287	36.2236	7259
+-117.6466	33.5561	8784
+-124.8734	45.0013	6546
+-86.7317	38.7246	7240
+-86.4491	35.5861	6320
+-111.5242	30.5492	7765
+-124.0834	44.957	7044
+-85.254	39.8877	5150
+-118.5583	34.5522	8057
+-82.4984	28.4089	9057
+-83.3777	27.9085	8475
+-112.0196	28.9568	6092
+-81.22	27.3043	8734
+-90.3865	34.9039	6221
+-117.3626	41.4853	4277
+-87.0782	38.1641	7839
+-79.8334	27.3933	7256
+-83.3234	31.6372	5311
+-117.9409	32.4107	8576
+-80.9273	25.592	7079
+-89.1248	35.0204	6818
+-82.8072	27.718	9128
+-109.8606	30.5061	8199
+-120.7863	45.534	6801
+-89.0795	37.9407	9348
+-90.0019	38.6237	8991
+-123.3343	45.7501	8187
+-90.2087	37.7186	8297
+-123.6723	43.5332	5740
+-121.5874	45.4655	7415
+-121.6811	48.1909	7708
+-118.0186	34.3838	8673
+-111.1473	33.0241	7681
+-115.5272	31.0084	7175
+-114.9494	35.3379	6689
+-90.286	38.9318	9202
+-80.225	27.6123	7726
+-115.4158	32.8243	8023
+-90.4681	37.9878	8598
+-122.5822	49.1224	7212
+-78.7573	27.3158	6039
+-107.9894	35.5709	4462
+-88.4177	38.0346	9245
+-117.3387	36.8498	6574
+-85.9903	39.0534	6331
+-117.8429	34.3727	8857
+-91.5507	37.6239	7676
+-89.0857	36.5524	8515
+-122.6012	46.7356	9191
+-118.2843	48.9902	6200
+-121.5362	49.3698	6570
+-118.5259	32.3366	7933
+-121.6544	47.9292	7877
+-117.3816	46.4764	8226
+-88.9418	33.9312	5618
+-119.8264	30.5173	5660
+-83.9137	28.9892	7449
+-89.9227	41.1607	6779
+-108.9681	33.3562	7049
+-117.3613	30.1934	6794
+-83.4613	25.9865	7380
+-93.6315	36.7398	5307
+-116.4047	30.654	7261
+-118.843	46.275	8639
+-121.4837	44.2781	6268
+-86.6005	37.1157	7306
+-111.6998	32.829	7470
+-91.7039	39.5411	7765
+-89.4432	37.1152	8836
+-125.0406	49.0631	6314
+-93.6007	36.3374	5090
+-110.9586	32.556	8221
+-120.2087	44.4008	6541
+-83.8634	39.2514	4031
+-87.2304	37.9662	8058
+-84.1227	24.9557	5996
+-91.8359	41.0798	6465
+-119.8883	43.5399	6060
+-123.0956	47.5393	8941
+-119.1796	34.3867	7433
+-107.1797	32.0637	6017
+-90.7016	36.5889	7070
+-119.8874	47.1803	7212
+-122.4553	47.0517	9109
+-82.4841	28.8082	8649
+-125.2123	47.6813	6947
+-79.0724	27.6387	6426
+-120.3071	46.3933	7095
+-91.0465	39.4389	8394
+-110.6269	30.0156	7745
+-109.001	33.3155	7106
+-120.2651	46.3806	7141
+-81.1092	28.2344	8619
+-92.3407	37.7924	7076
+-82.6141	27.8784	9334
+-108.5901	30.6157	7313
+-85.937	33.8471	4480
+-87.3746	35.3719	6803
+-81.514	25.3993	7124
+-117.5517	45.0088	7869
+-80.8725	31.329	5617
+-109.3826	30.8114	8147
+-109.5793	35.2398	5428
+-116.5092	33.0804	9164
+-119.969	49.5714	5173
+-116.4263	35.1146	8129
+-115.922	33.7504	8013
+-114.9263	33.9224	7164
+-120.1211	47.4895	6821
+-110.0497	34.2369	6582
+-118.4648	44.8419	7914
+-120.121	33.6028	6371
+-121.2981	49.576	6242
+-111.3639	30.284	7677
+-93.5764	37.3966	5686
+-81.8948	25.9283	7795
+-119.0199	45.7092	8377
+-111.6525	30.7833	7802
+-125.2092	47.1944	7057
+-118.0712	29.7933	6163
+-80.7707	28.0704	8313
+-90.9621	34.9783	5920
+-115.8092	34.3765	7926
+-106.3842	31.806	5188
+-121.5194	31.9518	4584
+-116.2444	30.8412	7407
+-94.6799	36.9991	4424
+-113.9506	37.0593	4714
+-118.0162	34.238	8712
+-117.8601	32.8875	8753
+-111.8252	28.1834	5451
+-122.5994	46.6625	9136
+-80.6736	31.4943	5363
+-117.0442	31.9375	8769
+-116.6383	45.8168	7493
+-114.3308	47.0765	4949
+-106.9762	32.5462	5690
+-116.2464	33.6739	8317
+-88.8664	36.9264	8977
+-122.0526	49.2007	6981
+-116.9346	33.33	9179
+-118.3209	34.7774	8190
+-113.2977	31.9361	6239
+-82.4201	27.6163	9526
+-122.0089	49.7533	6392
+-87.4528	37.6448	8340
+-115.9307	31.9831	8270
+-90.6139	35.9216	6963
+-91.7226	44.0332	3550
+-117.6357	45.6523	8427
+-84.6119	30.7311	5521
+-123.7277	45.5002	7756
+-121.9729	48.2823	7838
+-84.3342	28.3107	7328
+-113.3995	31.7099	6149
+-124.9812	44.8526	6347
+-116.5945	34.8551	8462
+-118.60	32.8196	7931
+-91.6086	40.1968	7381
+-89.9352	42.2657	5604
+-88.5832	36.7589	8776
+-89.0974	37.5165	9408
+-114.2677	33.5705	6627
+-127.1675	48.062	4766
+-79.9966	26.5829	7129
+-119.2877	49.2424	5767
+-80.5152	29.2943	7375
+-82.1482	25.6585	7507
+-115.5563	36.5063	6347
+-114.6483	32.7464	7166
+-87.8094	36.7742	8347
+-87.1041	38.8696	7511
+-117.7114	33.3977	8600
+-115.9788	33.5829	8358
+-120.1626	37.4811	4709
+-89.1724	36.5538	8486
+-119.8233	32.4562	6541
+-118.7963	36.0497	6863
+-109.5866	31.7541	8644
+-124.8878	48.2174	7026
+-113.2632	40.8932	1600
+-115.3362	32.9044	7932
+-120.8128	42.6534	4733
+-89.4949	37.9668	8931
+-114.997	33.6773	7355
+-122.1787	44.655	6946
+-87.0686	39.0986	7321
+-111.4218	31.149	8204
+-80.5875	27.109	7992
+-110.5861	30.3695	8130
+-123.2237	44.593	6974
+-109.1784	33.8685	6699
+-117.7378	31.6488	8192
+-117.9486	44.5766	7609
+-118.5114	48.9003	6285
+-114.9187	37.1365	5380
+-110.5187	35.5409	5181
+-120.4237	49.1142	6005
+-114.151	29.5732	4962
+-116.8992	41.2245	3893
+-85.7252	26.7653	5674
+-83.8268	29.6512	7026
+-117.1829	33.7826	9145
+-115.7377	34.189	7869
+-91.883	37.0949	7017
+-117.1557	35.7622	7757
+-116.1326	34.3614	8276
+-90.8578	37.3558	7837
+-113.6853	34.2988	5627
+-113.7241	33.625	6025
+-120.327	45.4741	6997
+-85.5565	38.8213	5985
+-109.8102	32.3677	8452
+-89.4598	36.6338	8419
+-116.4765	46.4358	7314
+-117.3418	34.4577	9175
+-92.7564	40.7199	6100
+-83.3425	29.4391	7558
+-118.3194	33.774	8324
+-114.5585	31.4122	6643
+-109.0042	30.483	7604
+-117.678	31.7808	8351
+-87.1643	37.3585	7984
+-109.7723	31.1418	8700
+-118.3928	37.7957	5358
+-81.4407	27.4748	9042
+-123.0557	48.1954	8245
+-93.301	40.0072	6000
+-88.0122	42.818	4349
+-83.8443	27.2732	7878
+-119.7485	46.869	7508
+-92.7353	34.4861	4176
+-111.2657	28.8681	6363
+-87.2488	40.1755	6523
+-86.9739	39.7067	6766
+-113.9832	34.664	5910
+-123.293	49.3849	6915
+-117.2562	35.7812	7740
+-109.0376	32.7793	7563
+-90.263	41.3904	6576
+-92.6308	37.72	6760
+-115.2253	33.4529	7685
+-88.724	35.2236	7073
+-90.5992	39.7855	8284
+-92.2847	36.5213	6267
+-112.5765	34.1023	5819
+-121.2047	35.356	5040
+-83.2721	28.5258	8344
+-86.8337	39.0358	7156
+-90.5914	36.7316	7237
+-117.3957	30.6481	7287
+-115.7745	47.0124	6433
+-122.3007	49.2243	7040
+-112.185	34.0256	6153
+-92.1957	36.8787	6617
+-89.4239	38.3626	8740
+-115.2815	33.2051	7824
+-108.1325	29.2137	5970
+-116.9822	31.816	8637
+-78.6769	33.6581	2165
+-108.4727	31.8623	7435
+-113.372	31.2632	6163
+-118.5455	44.8328	7890
+-119.1555	36.7329	6033
+-114.6216	31.5509	6781
+-117.6061	31.999	8595
+-119.5646	37.1721	5382
+-93.2289	38.8741	6354
+-117.1686	46.1477	8079
+-120.9568	35.577	5215
+-120.0316	47.8365	6651
+-124.1769	48.7829	7167
+-116.4157	32.2167	8844
+-122.7047	44.8356	7255
+-89.3957	39.9643	7737
+-112.4072	33.1015	6689
+-80.1463	32.086	4513
+-117.8321	33.9582	8892
+-122.7017	48.2786	8148
+-108.1907	31.1306	7101
+-111.0566	33.1151	7638
+-120.4205	47.4752	6825
+-117.7372	30.3705	6892
+-116.415	33.4595	8808
+-90.3169	40.4023	7642
+-112.4463	33.4488	6420
+-117.8486	35.0101	8390
+-81.6368	26.1608	7991
+-123.1746	47.6074	8840
+-115.6418	34.8278	7610
+-115.0412	46.6629	5776
+-107.647	30.491	6332
+-89.4329	40.8652	6925
+-124.1753	45.8102	7715
+-83.2048	26.0647	7617
+-118.544	32.5593	7970
+-90.6047	35.7885	6866
+-81.6163	27.4567	9211
+-81.5605	28.4258	8904
+-118.4047	34.3953	8264
+-117.8138	44.3365	7328
+-119.6418	47.7052	7033
+-116.8206	33.1666	9330
+-116.3853	34.5104	8492
+-118.5509	42.4229	5356
+-125.6538	45.9059	6364
+-120.6778	49.3205	6050
+-80.8074	29.3122	7589
+-88.0448	35.4677	7218
+-117.5466	44.0494	6953
+-90.3522	34.9898	6323
+-117.8209	47.3388	7860
+-118.4214	32.0698	7929
+-109.2229	29.9775	7358
+-119.2405	33.6762	7328
+-118.1369	31.694	7944
+-90.3964	39.7412	8356
+-120.8581	36.5492	4816
+-117.2766	35.1944	8380
+-119.3855	31.6282	6747
+-121.2471	33.0207	5029
+-84.6113	31.3398	4973
+-80.4234	31.768	4969
+-88.5807	40.637	6612
+-85.9856	26.3644	5254
+-82.3236	25.6268	7462
+-110.9316	30.8455	8444
+-125.3691	44.4999	5772
+-119.5584	48.4543	6425
+-88.4692	34.9005	6693
+-119.4796	43.4218	6154
+-90.6177	39.4899	8588
+-81.4815	29.466	7833
+-84.0663	26.901	7496
+-120.5604	45.797	6828
+-115.3028	33.6732	7666
+-114.2647	34.2151	6262
+-108.8593	30.8945	7711
+-89.951	38.2934	8747
+-117.2649	32.5703	9321
+-81.1719	25.7301	7345
+-114.0981	32.856	6553
+-116.158	34.2991	8315
+-83.2085	25.0022	6537
+-80.4211	28.9341	7548
+-116.0639	30.5498	7031
+-115.5964	38.331	4610
+-115.719	31.3297	7588
+-118.4821	35.8565	7238
+-119.4416	43.7948	6528
+-114.6456	36.0884	5971
+-88.6824	38.8522	8480
+-121.6888	48.9477	7055
+-116.7907	45.4315	7528
+-123.1624	49.478	6832
+-89.144	36.0631	7967
+-89.474	42.4791	5287
+-81.4333	27.7734	9100
+-113.8771	31.88	6152
+-117.4171	30.8199	7470
+-92.7578	36.5413	5929
+-116.2178	36.6922	6521
+-117.9372	39.1075	4063
+-114.1435	47.3774	4672
+-123.4377	46.0759	8463
+-116.1616	33.4281	8625
+-115.8214	32.2493	8327
+-123.3114	49.3461	6953
+-116.0554	49.491	4963
+-119.8403	33.929	6722
+-114.534	33.6079	6900
+-82.0125	30.6563	6620
+-92.1097	39.1704	7509
+-120.0677	36.3592	5635
+-83.6947	26.9177	7882
+-112.9811	34.765	4989
+-118.4362	45.3864	8488
+-109.3205	29.8317	7281
+-112.6914	28.1408	4953
+-91.2331	39.6214	8112
+-84.3759	31.8304	4641
+-121.4205	29.5437	3588
+-91.4311	36.3918	6643
+-89.099	37.9968	9289
+-94.0006	35.699	4324
+-117.3612	44.3273	7144
+-120.777	41.7082	3912
+-86.9395	37.6298	7764
+-120.6431	48.9153	6330
+-110.2455	33.0237	7910
+-112.3906	34.4615	5640
+-115.0599	47.9453	5327
+-117.895	36.3928	6980
+-85.8526	38.1269	6503
+-86.9343	36.9385	7602
+-81.5849	28.3309	9002
+-123.1589	45.9296	8432
+-80.6866	29.1951	7592
+-123.8634	47.1359	8531
+-117.3958	45.3832	8052
+-126.4649	45.0218	5145
+-82.2455	27.249	9293
+-87.2288	41.7431	4737
+-117.2642	31.3262	8058
+-115.6206	34.3918	7720
+-108.2044	32.6281	6904
+-119.0204	31.2862	6896
+-110.7409	31.5644	9031
+-124.316	48.1913	7549
+-88.0322	38.1176	8847
+-114.3618	33.9646	6578
+-120.2704	43.6436	5914
+-79.7668	25.4047	6110
+-119.8912	36.5679	5633
+-121.3232	47.5023	7777
+-117.5079	32.8978	9142
+-110.4716	29.5962	7315
+-115.2055	38.3649	4404
+-81.2532	29.2045	7985
+-81.4448	28.2633	8932
+-82.1116	30.3882	6926
+-108.4698	30.9606	7345
+-124.3533	43.7421	5720
+-110.4253	32.0307	8979
+-125.0835	47.0369	7206
+-116.7703	48.3726	6369
+-116.7043	47.9488	6686
+-116.7408	44.2122	6679
+-111.6556	31.8311	8016
+-122.0171	43.8417	6039
+-113.9975	31.1075	5932
+-118.451	32.2258	7971
+-89.386	40.2919	7445
+-110.9697	36.7726	3809
+-111.6716	33.8235	6646
+-90.7013	33.3792	4536
+-90.1181	40.8923	7098
+-113.7594	34.5085	5690
+-82.1441	26.3687	8311
+-121.694	46.568	8211
+-118.4667	31.2718	7351
+-122.0075	44.8955	7129
+-110.1626	28.5099	6139
+-113.6444	34.2967	5583
+-115.6086	31.2404	7432
+-79.4212	24.7171	5275
+-89.5012	40.0712	7712
+-112.1914	32.7887	7074
+-88.9925	41.9983	5616
+-123.1315	48.0959	8340
+-83.7216	28.8159	7739
+-87.5195	38.0817	8339
+-121.7272	47.5616	8161
+-119.6523	32.5792	6746
+-122.2101	43.4044	5620
+-118.4132	31.6803	7701
+-116.4956	38.2309	4990
+-120.162	42.5514	5008
+-110.9513	30.223	7855
+-121.5837	48.5833	7316
+-121.1856	45.0654	6794
+-116.3072	34.6392	8355
+-122.0364	45.201	7447
+-89.1566	41.0385	6626
+-86.4007	39.3944	6526
+-118.8109	33.3399	7644
+-118.7849	33.1629	7572
+-123.0615	46.908	9417
+-87.5858	36.3681	7846
+-90.4222	33.0799	4342
+-115.6884	35.6653	7139
+-110.2597	28.8536	6515
+-80.0656	27.9185	7547
+-90.9372	36.3961	6818
+-117.8951	44.1554	7160
+-111.2843	28.2788	5748
+-110.1722	31.4983	9276
+-107.0605	32.8613	5667
+-119.8307	35.4777	6380
+-82.7118	27.8233	9235
+-115.5519	33.6327	7931
+-119.1455	32.5075	7298
+-92.8719	40.2808	6275
+-119.6128	34.7629	6888
+-83.558	25.2885	6659
+-118.1447	33.15	8387
+-87.6195	38.8521	7963
+-118.7996	33.3763	7673
+-84.5191	40.2498	4234
+-116.5043	32.9542	9215
+-106.0183	29.6094	4332
+-119.2658	45.961	8210
+-111.1099	30.4137	7952
+-88.5811	32.2653	3749
+-123.7919	45.8892	8070
+-120.5685	43.3418	5467
+-117.679	48.8395	6289
+-106.6145	28.557	4279
+-88.6377	36.6571	8673
+-126.4738	48.449	5356
+-82.1832	25.8297	7700
+-114.8159	32.0368	7201
+-115.7403	36.16	6770
+-119.5348	34.7206	6982
+-88.8869	41.3381	6202
+-88.782	42.1444	5379
+-117.0515	30.7449	7440
+-120.8028	33.2912	5573
+-82.2791	26.6049	8568
+-117.0544	31.4056	8176
+-115.0257	31.5156	7147
+-89.4014	36.5981	8421
+-117.4779	33.8925	9188
+-116.372	38.489	4687
+-116.515	48.4497	6146
+-85.7458	27.4966	5794
+-81.6531	28.9379	8460
+-115.1248	31.9396	7477
+-120.8777	34.4649	5582
+-118.0092	45.0334	8094
+-88.8195	35.1721	7015
+-120.0407	32.7083	6322
+-116.0211	33.4093	8508
+-83.1408	25.1517	6722
+-116.7403	33.9762	8939
+-116.9325	34.6098	8903
+-118.5569	36.7555	6350
+-122.6117	48.4769	7917
+-89.8403	38.03	8452
+-107.0209	30.6745	5752
+-89.4834	38.5136	8421
+-106.2882	30.4543	4923
+-119.0308	32.7577	7450
+-116.0562	33.7634	8157
+-92.3803	37.9999	7125
+-107.236	30.5308	5929
+-80.5137	26.4383	7523
+-117.478	34.1101	9306
+-83.0816	30.8167	6279
+-116.2061	33.3539	8714
+-108.4821	30.5557	7180
+-89.4444	39.6857	7996
+-113.0191	32.3924	6434
+-116.3304	45.3586	7048
+-117.7451	30.5063	7034
+-114.0261	31.8426	6298
+-123.8799	44.4181	6606
+-88.1285	39.9644	7138
+-117.2576	34.9659	8630
+-111.0143	34.6838	6034
+-86.6755	38.6189	7236
+-116.473	38.9123	4253
+-119.8162	35.0597	6579
+-117.3646	46.0704	8287
+-91.1859	39.0699	8493
+-114.9543	30.9587	6698
+-80.6102	25.8279	7103
+-89.3008	32.8775	4407
+-109.1087	31.4885	8143
+-118.0991	33.0605	8461
+-120.59	46.767	7059
+-81.3032	27.9122	8939
+-91.1032	41.5417	6317
+-117.5735	33.6726	8934
+-109.5646	31.7393	8624
+-115.922	32.5404	8548
+-82.8458	25.2911	6978
+-117.6309	47.534	7592
+-120.7127	46.2374	7073
+-116.1435	34.2443	8307
+-119.4715	27.7533	3452
+-122.5624	43.8998	6217
+-90.6003	40.3704	7662
+-91.9585	39.864	7345
+-118.9123	47.4548	7679
+-79.8095	28.7365	7044
+-117.9727	34.1037	8767
+-126.3971	46.493	5729
+-118.7496	32.1479	7629
+-118.1906	32.1671	8207
+-113.0425	31.6092	6538
+-80.9698	31.114	5883
+-111.7865	33.9435	6471
+-121.3295	45.3532	7132
+-80.2807	26.6132	7423
+-83.4142	25.5274	6974
+-81.2032	29.1606	7996
+-90.0766	37.83	8379
+-88.8387	39.8205	7399
+-116.0978	44.2861	6253
+-121.8078	30.6906	3855
+-79.5457	26.9374	6818
+-117.1408	27.9399	4310
+-114.8007	30.6008	6297
+-106.062	33.1767	4534
+-92.6357	39.869	6714
+-89.1042	36.2029	8130
+-83.4935	30.5359	6402
+-116.4324	31.5004	8168
+-119.0453	46.2121	8445
+-123.2814	42.8248	5037
+-90.8248	41.4645	6460
+-94.7037	39.5872	4681
+-80.7113	26.1593	7465
+-122.5504	46.6903	9117
+-115.0042	28.2159	4174
+-117.4371	35.6953	7824
+-121.8963	48.1096	7935
+-89.5166	38.9087	8475
+-88.9826	41.0399	6531
+-91.9785	38.1285	7579
+-116.0128	36.4491	6665
+-117.2518	32.8845	9426
+-124.7808	47.1079	7534
+-118.0139	34.8839	8382
+-111.2776	33.1842	7460
+-81.8847	29.6327	7763
+-117.1952	33.9407	9314
+-113.2401	34.0269	5359
+-119.159	37.6588	5173
+-117.1164	33.9742	9299
+-120.0742	43.5868	5992
+-89.9573	38.9457	8919
+-115.8735	46.2879	6701
+-117.7715	33.7129	8821
+-114.1597	30.7073	5837
+-117.5933	31.7237	8348
+-84.3653	28.3306	7288
+-87.3059	36.5754	7769
+-119.4605	32.3645	6926
+-118.5967	33.8376	8052
+-87.4607	39.9843	6828
+-116.3407	31.0891	7703
+-113.9394	30.6259	5431
+-91.0672	40.2585	7639
+-118.2198	46.1433	9179
+-84.6052	37.1993	5115
+-89.5541	37.3629	8868
+-110.304	30.1543	7925
+-112.6497	34.4443	5485
+-113.726	36.7021	4766
+-116.6874	33.0727	9330
+-123.1965	48.2323	8178
+-114.2399	32.8196	6711
+-115.3143	31.398	7324
+-83.4666	30.1936	6760
+-88.6008	38.3655	9008
+-91.8507	35.7992	5872
+-107.9221	34.2197	5603
+-88.5142	39.9223	7046
+-122.3464	45.818	8205
+-92.7621	38.5573	6852
+-121.0151	28.8171	3405
+-88.7766	38.3699	9025
+-78.9694	27.1057	6236
+-88.2491	36.8873	8766
+-109.2778	29.9724	7387
+-88.4638	37.7238	9469
+-83.7834	26.5373	7565
+-89.5525	36.8765	8565
+-120.8482	41.7868	3946
+-88.5907	38.7737	8556
+-83.7131	27.4363	8067
+-107.7117	32.0679	6585
+-108.5942	32.3276	7424
+-92.0586	38.2312	7534
+-115.4506	35.4322	7102
+-116.5771	48.9347	5756
+-114.5549	38.7515	3696
+-116.4425	34.8357	8357
+-110.9789	34.0483	6713
+-92.8985	38.9685	6703
+-107.8302	29.89	6199
+-87.1651	37.2726	7964
+-111.9911	31.6878	7674
+-84.2692	30.9571	5549
+-122.0788	32.208	4010
+-121.952	49.0929	7048
+-87.6306	40.585	6299
+-122.2112	46.3839	8615
+-90.5406	38.0448	8646
+-94.1114	37.2036	5074
+-119.842	31.105	6020
+-90.4663	36.9085	7438
+-122.0491	49.4633	6708
+-121.3777	32.9255	4864
+-82.4573	29.6088	7776
+-115.8957	33.6865	8214
+-114.5189	33.0812	7007
+-89.4026	37.2915	8987
+-119.1252	34.2985	7502
+-116.0585	36.2284	6900
+-88.0066	39.7091	7368
+-90.8281	38.611	8922
+-120.4697	39.7744	2462
+-117.5439	46.0917	8477
+-116.592	32.1925	8941
+-77.9443	27.4782	5142
+-123.1098	43.773	6090
+-90.6839	40.215	7812
+-125.3581	47.8606	6733
+-87.6379	36.2638	7794
+-94.7249	37.6113	4587
+-118.3872	46.7106	8605
+-123.4718	44.9805	7335
+-107.5906	29.0375	5419
+-85.6023	35.2034	5314
+-120.5502	31.2072	5371
+-108.4797	29.4995	6452
+-91.3358	36.6296	6919
+-109.8451	29.4301	7081
+-90.0854	40.0223	8016
+-81.1947	28.0223	8792
+-90.6083	38.5616	9108
+-119.4654	31.9852	6815
+-122.7319	46.418	8976
+-84.9736	29.1038	6341
+-114.2114	30.5485	5772
+-123.512	46.5732	8807
+-118.4877	48.8025	6390
+-119.2232	31.6871	6938
+-85.4492	35.1751	5158
+-114.1835	37.064	4898
+-87.1709	39.5958	7004
+-120.1282	33.6805	6378
+-120.5045	35.4198	5737
+-122.213	47.0778	8842
+-90.6143	39.4947	8584
+-117.8287	32.9453	8781
+-123.3767	43.0291	5249
+-118.7397	45.2185	8209
+-89.5377	35.966	7720
+-111.8678	32.9715	7232
+-117.689	37.0016	6375
+-88.2735	40.6635	6354
+-88.9305	39.2262	7777
+-114.1146	34.5626	6068
+-110.1798	33.3155	7589
+-118.6642	46.1798	8848
+-112.2973	33.4167	6563
+-85.9185	36.4331	6331
+-114.6954	32.0425	7076
+-109.1734	31.5412	8216
+-123.5088	48.0816	8210
+-123.389	49.5327	6736
+-112.8323	28.3111	5013
+-87.8886	37.4721	8806
+-89.4737	35.1074	6835
+-116.6679	31.943	8723
+-118.1937	48.5891	6623
+-118.21	47.5287	7745
+-115.9032	31.2718	7661
+-118.2289	34.6655	8338
+-114.9431	32.8567	7495
+-120.0785	43.1264	5582
+-80.9229	28.3775	8359
+-89.2259	38.8775	8169
+-115.2497	33.1927	7792
+-116.7993	46.5326	7623
+-112.0824	32.128	7489
+-85.0507	28.4153	6511
+-123.1496	31.4188	2682
+-119.6559	30.762	5978
+-115.59	32.5583	8191
+-115.2165	34.0205	7298
+-91.1928	37.958	8204
+-116.7198	30.9539	7657
+-91.0489	36.9396	7345
+-84.461	24.656	5497
+-115.798	34.9125	7724
+-109.115	30.3194	7572
+-110.358	33.23	7689
+-121.0331	45.6987	7127
+-117.8614	37.6866	5608
+-118.0442	37.4658	5805
+-116.6483	36.7425	6613
+-80.1712	28.5328	7509
+-117.8084	44.9711	7963
+-89.3713	35.9863	7811
+-92.7318	41.1369	5815
+-124.6264	46.974	7709
+-94.4214	38.1445	5023
+-94.6959	39.1009	4761
+-88.8111	42.5463	4996
+-89.5949	38.0043	8811
+-89.3038	42.7913	4916
+-85.4597	37.094	6048
+-118.6821	30.7063	6719
+-90.1306	39.7968	8264
+-91.704	38.066	7821
+-85.2727	37.1646	5853
+-89.166	42.5798	5093
+-117.6295	46.1268	8568
+-89.6894	37.1259	8615
+-91.2431	34.5233	5324
+-116.7896	32.9204	9524
+-110.6383	31.0899	8845
+-120.2748	48.8118	6081
+-118.5812	32.3787	7887
+-116.8888	34.3619	9056
+-121.2777	42.1824	4038
+-89.7706	37.1182	8531
+-82.2105	32.1785	4900
+-108.1417	31.7124	7095
+-90.1049	43.1432	4680
+-109.4205	33.0553	7597
+-83.5251	29.1943	7637
+-108.8515	31.1555	7802
+-112.5792	32.8419	6684
+-108.03	33.1668	6445
+-85.6055	39.0079	5960
+-90.4034	38.1864	8817
+-116.2268	32.9612	8912
+-108.8854	26.5275	3776
+-116.6718	34.9791	8410
+-118.3549	45.5358	8658
+-121.897	46.1365	8176
+-108.6778	31.7045	7675
+-115.6025	32.9671	8222
+-125.3657	45.1822	6262
+-116.2431	47.0835	6862
+-118.1086	47.5774	7685
+-81.6537	26.7823	8654
+-92.6875	35.9615	5526
+-107.0564	28.0967	4289
+-114.9497	31.5109	7073
+-91.0673	40.1302	7764
+-90.5629	38.7246	9229
+-118.0828	42.4602	5400
+-116.1648	47.9138	6307
+-82.8894	25.2275	6895
+-116.949	28.6804	5139
+-109.7433	32.6319	8170
+-119.3249	45.4644	7968
+-88.2505	36.8904	8769
+-123.9621	45.818	7887
+-119.4644	44.8641	7450
+-117.6116	36.7963	6609
+-87.9664	36.6366	8352
+-112.1895	29.1166	6129
+-84.0309	27.4439	7715
+-87.0804	35.0827	6352
+-114.2218	48.7138	4145
+-84.9682	37.8105	5548
+-118.28	34.1336	8432
+-92.3003	39.018	7338
+-90.4285	37.4603	8033
+-90.6175	37.8571	8429
+-81.9223	26.3554	8278
+-111.4889	33.7697	6794
+-115.8954	45.5308	6661
+-109.7368	33.0766	7731
+-80.7677	28.4041	8187
+-115.5173	31.2509	7373
+-86.9368	39.711	6735
+-118.8209	34.6301	7758
+-118.0267	33.2024	8495
+-116.709	35.4956	7932
+-124.6559	47.7603	7489
+-122.1494	47.9116	8280
+-90.2487	36.7034	7831
+-115.893	46.4722	6699
+-89.5032	39.4686	8200
+-81.6563	28.5072	8896
+-116.3271	32.3808	8890
+-107.7952	30.4159	6447
+-111.8287	31.5749	7853
+-116.7351	37.0109	6346
+-78.8055	27.665	6126
+-91.5858	38.1793	7990
+-112.5665	33.9388	5957
+-81.9334	30.6004	6678
+-113.5214	31.0835	5977
+-109.937	29.237	6895
+-116.9586	44.4958	7057
+-110.4113	28.839	6499
+-107.7929	29.4288	5865
+-80.7383	30.7876	6128
+-90.2469	36.7569	7865
+-116.7467	47.0661	7338
+-114.3496	31.2412	6346
+-85.0467	36.7704	5520
+-112.9664	30.8529	6513
+-115.8664	32.3964	8439
+-120.7464	45.243	6499
+-116.7991	34.1456	9028
+-81.3908	27.3854	8948
+-111.79	31.9836	7837
+-118.7376	35.1602	7581
+-124.6746	47.2612	7630
+-121.9996	48.7345	7427
+-86.9312	39.0285	7249
+-89.0673	37.5864	9466
+-82.6222	25.004	6718
+-117.0662	34.2537	9283
+-119.3722	46.1698	8105
+-81.7394	25.3152	7083
+-116.1883	36.5225	6679
+-121.1089	32.7794	5094
+-87.9057	40.6054	6377
+-117.56	31.5824	8225
+-82.0102	30.6295	6650
+-119.5943	33.5478	6920
+-115.9503	29.7891	6191
+-86.9718	38.6252	7531
+-92.4972	39.2789	7076
+-91.9315	37.0105	6914
+-119.3554	34.2223	7257
+-109.676	29.7891	7403
+-121.2202	46.1825	7570
+-119.861	44.6818	7014
+-90.4212	39.54	8572
+-115.3142	49.9898	4078
+-82.0425	27.2251	9271
+-113.5513	34.3432	5479
+-120.2097	31.8327	5973
+-87.0355	38.7465	7524
+-116.0763	35.6446	7439
+-114.8575	46.5752	5598
+-119.1257	32.6572	7338
+-116.5351	43.7795	6184
+-113.9692	30.5112	5535
+-117.5188	35.9527	7534
+-112.2244	32.7253	7080
+-115.506	36.4584	6356
+-119.2899	34.6439	7262
+-89.9223	35.1804	6738
+-117.9843	31.1055	7532
+-111.0199	37.5913	2922
+-92.1469	37.4971	7093
+-80.8994	26.3216	7743
+-118.5898	35.3305	7591
+-117.5473	48.2368	6867
+-79.037	27.361	6359
+-116.8585	36.3553	7074
+-121.8511	46.6426	8400
+-89.7266	40.2347	7675
+-88.1411	36.37	8200
+-117.4483	37.6774	5667
+-109.4721	31.6338	8539
+-122.1198	48.5604	7657
+-90.4543	38.8382	9302
+-89.398	38.482	8324
+-119.0175	31.9473	7268
+-117.0859	29.8883	6484
+-82.4728	24.9056	6633
+-117.6698	36.2619	7175
+-92.2642	41.4835	5848
+-116.5763	47.8666	6659
+-116.1699	46.9014	6867
+-118.4714	36.7871	6359
+-87.7363	35.2102	6826
+-114.0784	35.2221	5863
+-122.7353	46.3516	8907
+-110.1339	34.8724	5903
+-117.6602	35.5323	7953
+-82.5976	26.8122	8692
+-89.9851	36.4228	7861
+-117.2414	45.7163	8085
+-86.274	37.9966	6993
+-80.9434	26.8256	8176
+-86.7143	38.9513	7097
+-107.2775	29.8707	5678
+-87.5094	38.0471	8341
+-88.8006	35.7559	7671
+-118.7731	31.7912	7436
+-80.0365	31.9263	4622
+-118.0922	46.9612	8326
+-83.8576	26.5864	7528
+-116.0163	46.4591	6830
+-125.2716	46.7895	6993
+-121.6411	46.1639	7966
+-111.4847	29.8872	7252
+-92.0826	35.6784	5641
+-119.4744	31.3178	6494
+-115.8429	37.4387	5612
+-92.9393	40.0296	6343
+-88.6896	39.8367	7255
+-111.5307	32.7639	7652
+-90.2327	37.3857	7945
+-121.1473	47.229	7659
+-111.5861	30.8179	7883
+-79.8488	28.5631	7155
+-87.8558	34.6041	6229
+-84.1617	31.0039	5570
+-90.5559	39.4559	8641
+-79.0223	28.8414	6169
+-117.2316	46.4174	8097
+-123.216	46.0796	8572
+-88.2434	36.6615	8544
+-84.7395	39.7776	4711
+-92.6934	39.5221	6799
+-113.239	30.8669	6231
+-119.5526	43.486	6183
+-86.2885	39.1745	6559
+-92.3264	37.4997	6934
+-119.9108	46.1611	7536
+-118.2628	31.8056	7919
+-88.9032	34.6419	6417
+-117.2647	45.8903	8159
+-123.3534	45.6342	8060
+-82.5833	26.3038	8161
+-90.193	40.0832	7973
+-117.8293	35.5405	7885
+-126.1693	47.8885	5874
+-124.0577	45.7847	7789
+-118.6938	30.7901	6783
+-123.6322	45.5886	7892
+-91.0028	38.0547	8421
+-116.9892	45.0568	7500
+-83.246	28.4227	8431
+-121.6066	49.3448	6632
+-112.1181	28.6725	5774
+-111.0822	30.319	7881
+-81.3433	29.1117	8128
+-121.8558	34.3462	4526
+-86.6276	38.1908	7343
+-110.6794	30.1176	7842
+-83.7411	29.0731	7549
+-108.9087	29.6973	6913
+-91.5852	39.9461	7597
+-126.6423	46.2199	5414
+-118.1249	32.6593	8449
+-124.0625	45.1695	7255
+-115.6068	33.2076	8175
+-90.5485	38.8664	9206
+-91.2216	40.9564	6880
+-124.1861	47.7864	7931
+-109.1132	30.3236	7574
+-118.0666	35.6439	7673
+-124.5688	45.4968	7163
+-118.3761	44.5539	7620
+-107.5139	31.0123	6357
+-90.7803	36.3966	7143
+-109.9349	30.8458	8565
+-111.5332	31.2382	8121
+-116.5744	34.7835	8502
+-118.9439	47.9965	7134
+-114.7352	31.7387	6989
+-119.6937	32.6213	6703
+-119.146	45.0631	7832
+-90.1408	35.1158	6563
+-117.1271	47.4326	7392
+-119.5945	45.8708	7851
+-117.3778	46.5606	8185
+-90.5468	38.9784	9122
+-109.6658	31.4996	8745
+-89.4113	40.9158	6866
+-89.5389	36.7445	8466
+-119.424	34.10	7184
+-79.9768	26.0616	6782
+-86.1292	33.588	4364
+-122.2265	43.4643	5688
+-109.5578	32.6586	8037
+-88.8865	37.9957	9421
+-118.4712	45.1964	8283
+-91.2161	37.2622	7587
+-116.9329	31.2133	7964
+-109.3966	28.5792	6064
+-90.4058	40.1978	7864
+-88.3003	38.8346	8403
+-115.3877	34.5045	7449
+-110.1484	31.5329	9266
+-117.1591	47.9338	6982
+-90.1148	40.5285	7486
+-87.9788	36.7065	8422
+-109.741	30.061	7704
+-113.1048	46.0101	3775
+-116.1713	35.5153	7614
+-117.8814	44.3815	7391
+-122.7892	46.3284	8895
+-88.9687	37.6366	9586
+-115.0922	33.2108	7616
+-118.3514	32.5926	8188
+-90.4471	37.1279	7675
+-111.8386	33.323	6981
+-117.9875	32.0959	8359
+-105.8816	36.7924	2050
+-118.2633	45.0026	8098
+-124.8416	44.0496	5756
+-80.3367	29.1908	7299
+-118.4504	34.3189	8231
+-84.794	38.2228	5312
+-119.3638	36.01	6468
+-122.8911	45.1611	7623
+-108.0009	35.9366	4123
+-118.2164	44.3402	7395
+-115.149	37.6184	5090
+-89.2174	41.9212	5783
+-118.563	44.4168	7454
+-118.4317	34.9254	8001
+-116.5224	33.69	8593
+-89.0673	35.1648	6987
+-109.6539	31.5757	8737
+-86.6299	39.2282	6844
+-92.2146	38.6375	7447
+-119.0347	31.3726	6939
+-118.2302	42.8956	5866
+-114.7779	46.6705	5499
+-126.1382	45.7007	5786
+-119.7905	46.6757	7552
+-116.0238	34.8624	7966
+-91.4544	39.8569	7764
+-116.5301	33.3494	8985
+-118.4667	47.3173	7957
+-126.0984	46.8614	6090
+-90.8475	41.601	6311
+-120.2591	29.6975	4694
+-117.0325	32.6247	9527
+-124.231	47.1912	8123
+-81.7969	29.8755	7476
+-91.4495	41.8484	5893
+-113.0699	31.6291	6508
+-117.067	44.6326	7242
+-114.9117	31.1005	6767
+-110.743	34.007	6810
+-116.8624	43.1438	5787
+-89.4189	39.3589	8195
+-92.6375	40.9042	6064
+-90.4045	36.4736	7541
+-118.2283	47.9877	7260
+-88.6702	36.9037	8953
+-123.1928	48.9281	7427
+-79.5835	29.2732	6542
+-119.8931	32.5069	6470
+-115.5988	47.3523	6123
+-124.3491	49.5293	6372
+-92.4701	36.2963	5953
+-110.5332	32.0301	8943
+-91.7734	34.7899	5144
+-121.0143	48.5027	6934
+-87.9051	34.8739	6535
+-109.9112	32.3498	8525
+-92.9826	37.0477	6075
+-110.8941	33.4495	7362
+-82.7071	30.268	6989
+-110.7891	29.7565	7434
+-114.3553	35.3949	6077
+-120.7675	32.4254	5491
+-120.3099	47.3035	6764
+-115.8722	35.474	7428
+-118.5818	35.3308	7598
+-123.90	48.7135	7395
+-113.149	33.5444	5756
+-117.4587	46.5171	8282
+-122.6089	42.6366	4838
+-90.0849	37.3918	8304
+-117.522	38.2925	4992
+-117.3417	36.5953	6851
+-93.252	40.1168	5999
+-114.6848	47.0079	5330
+-119.9148	46.6912	7423
+-120.454	43.9653	6036
+-120.9193	43.5409	5370
+-80.4217	24.1703	5386
+-121.6259	32.9481	4610
+-89.5953	38.6284	8565
+-118.1775	46.4447	8879
+-83.5338	24.2257	5584
+-120.2437	45.2683	7005
+-90.7773	38.9042	8968
+-89.0854	37.3754	9331
+-89.661	39.4734	8323
+-89.4653	37.1964	8870
+-117.286	34.528	9107
+-93.112	39.8941	6235
+-88.3541	35.1385	6940
+-117.1706	30.2808	6915
+-120.3399	45.9017	7072
+-107.066	29.7515	5415
+-118.4808	31.9906	7829
+-119.2042	46.4488	8218
+-112.3601	31.9414	7244
+-122.0364	45.3978	7639
+-116.8042	46.5596	7620
+-76.9184	28.8231	3873
+-115.1893	36.0398	6462
+-110.2869	31.1038	8952
+-88.4537	35.4039	7252
+-120.7797	45.3393	6497
+-122.707	46.4177	8967
+-82.2538	27.8887	9698
+-121.8053	43.7942	5919
+-115.875	33.944	8006
+-88.4268	36.7088	8675
+-107.4552	29.6437	5713
+-88.1869	36.0862	7926
+-117.6848	33.3268	8770
+-93.8009	39.3636	5682
+-84.0021	26.6386	7423
+-114.904	35.1231	6744
+-87.4345	37.3638	8282
+-116.0583	35.373	7650
+-117.2257	36.5099	6945
+-92.1171	37.016	6781
+-116.4234	47.6766	6678
+-83.0999	24.6308	6180
+-108.1925	28.555	5455
+-83.2037	27.6288	8672
+-113.4821	33.111	5852
+-93.0862	37.033	5973
+-91.8923	36.6873	6670
+-91.2819	38.378	8376
+-83.5594	29.8895	6999
+-89.4046	38.4589	8673
+-116.3091	31.9461	8536
+-77.4557	30.6579	3671
+-115.1257	29.643	5661
+-122.7004	49.9417	6330
+-88.4804	40.3138	6770
+-127.1045	49.8413	4011
+-110.811	33.2214	7625
+-83.2405	26.4953	7985
+-114.8252	35.1461	6655
+-122.4102	47.5354	8782
+-117.1637	45.6372	7977
+-87.496	36.321	7738
+-87.7808	33.6662	5191
+-116.5214	45.7143	7350
+-110.4952	34.7897	5995
+-92.1274	38.2122	7457
+-88.0296	34.1014	5729
+-124.9655	46.0727	7134
+-119.1078	31.9287	7167
+-92.324	36.375	6119
+-113.7077	33.529	6032
+-109.5392	33.2758	7448
+-120.7595	29.8392	4374
+-115.3928	32.6886	7992
+-91.2548	39.4882	8193
+-105.901	31.4945	4670
+-83.7858	24.7573	6008
+-89.1456	40.0577	7484
+-110.1563	35.7865	4916
+-89.5403	31.1473	2446
+-85.5623	28.8575	5821
+-108.2018	28.9636	5814
+-126.9327	48.6772	4794
+-92.8091	39.0634	6788
+-117.8109	44.0566	7039
+-110.6341	32.5769	8349
+-118.4459	36.0784	7057
+-115.4554	31.6764	7641
+-81.3501	28.9376	8299
+-116.3249	35.4754	7749
+-116.1887	38.1673	4983
+-111.8883	32.1745	7671
+-82.7845	28.8305	8481
+-85.7556	35.4466	5616
+-81.669	28.9482	8456
+-119.6244	32.5446	6773
+-90.0785	39.4269	8624
+-89.1387	35.4319	7273
+-90.7381	40.7546	7230
+-93.3562	38.1036	6145
+-91.0144	42.0237	5831
+-108.2591	31.1196	7171
+-118.5329	31.6224	7556
+-88.4629	42.9711	4426
+-87.8573	36.5963	8239
+-93.684	36.5921	5174
+-127.5056	48.2895	4342
+-124.35	46.7766	8000
+-79.1848	27.8206	6556
+-119.3642	35.8645	6571
+-124.1581	46.2573	8019
+-91.789	36.7499	6789
+-91.4794	35.8229	6055
+-93.1956	41.8806	4889
+-90.8529	38.8414	8909
+-86.2517	39.0299	6604
+-80.6421	28.5073	8009
+-118.9579	35.6068	7091
+-115.0708	34.7665	7045
+-112.0946	31.9018	7534
+-87.1107	38.2702	7836
+-87.893	38.0666	8736
+-117.8124	33.7748	8826
+-116.5687	45.2184	7219
+-116.5148	34.0716	8715
+-91.192	36.2853	6628
+-95.2317	41.8026	3249
+-88.0539	38.3546	8703
+-115.6826	45.7037	6474
+-120.3978	46.6743	6940
+-123.406	46.3513	8731
+-111.8657	29.7754	6906
+-117.1479	33.1235	9355
+-117.1947	43.5427	6317
+-87.7858	34.8376	6455
+-89.6483	37.4951	8807
+-117.0712	33.8593	9171
+-80.80	29.1513	7718
+-116.6014	33.8561	8752
+-125.8956	45.7487	6053
+-107.9327	30.3607	6555
+-120.4911	43.0923	5309
+-118.6877	37.2312	5820
+-119.4708	44.8551	7438
+-90.2763	38.8604	9259
+-81.8232	28.1062	9372
+-80.9232	25.4429	6928
+-123.4991	48.7274	7563
+-84.2855	27.1262	7352
+-77.9366	27.9522	5140
+-118.2276	46.0358	9171
+-108.5721	28.0034	5151
+-113.3307	33.5453	5592
+-110.2627	30.3122	8094
+-119.354	46.03	8124
+-84.9921	39.4065	5149
+-118.375	32.7447	8180
+-123.7855	45.8095	8005
+-92.855	37.3101	6341
+-115.1349	36.5387	6032
+-117.453	33.5428	8862
+-83.0176	27.2012	8705
+-113.6874	34.7497	5576
+-116.3235	31.0719	7679
+-116.0265	43.939	5951
+-92.5923	34.5122	4273
+-82.8215	27.7754	9114
+-115.5277	30.0982	6322
+-82.8307	27.9615	9073
+-116.2867	49.4186	5159
+-116.8276	31.8866	8704
+-117.3449	34.487	9143
+-87.6562	34.9292	6500
+-110.536	30.9875	8792
+-83.3019	30.948	6058
+-118.0123	30.2211	6632
+-116.325	47.9452	6411
+-114.896	34.8776	6828
+-110.496	30.6564	8454
+-82.328	29.3988	8033
+-111.8213	34.7435	5689
+-117.6841	31.337	7919
+-90.4282	37.276	7835
+-116.9089	47.2749	7346
+-88.8316	41.282	6224
+-117.8529	34.3625	8851
+-91.52	40.4733	7199
+-88.9518	36.8098	8832
+-121.2715	48.4749	7168
+-111.3873	33.0737	7496
+-121.8055	46.0148	8013
+-89.0796	32.84	4386
+-116.0812	36.5452	6606
+-108.8076	31.5984	7820
+-121.9615	49.447	6693
+-117.0227	33.4446	9050
+-84.4612	42.8499	2251
+-92.5319	43.2664	4034
+-91.1485	38.6409	8591
+-115.8255	29.1074	5424
+-103.2943	30.0281	1663
+-93.6771	38.2539	5834
+-117.5148	34.5697	8990
+-93.3856	42.2367	4465
+-87.577	40.2833	6588
+-88.5073	37.0388	9053
+-83.7299	30.4955	6316
+-88.3592	38.2336	9031
+-80.8546	27.4411	8400
+-118.4911	31.6415	7606
+-115.7336	35.0305	7600
+-119.2818	30.5319	6125
+-112.0516	34.415	5885
+-81.2997	28.2249	8816
+-117.9459	33.3067	8371
+-119.6492	49.0104	5856
+-122.0442	46.9405	8666
+-120.6416	34.5256	5832
+-120.0007	48.3601	6254
+-115.544	31.2064	7356
+-107.6901	31.2255	6584
+-90.74	38.3117	8815
+-89.9108	37.2807	8460
+-117.5504	32.5189	9022
+-125.7682	48.3095	6127
+-111.0886	31.6364	8653
+-88.8494	39.1967	8094
+-92.8007	37.0764	6255
+-120.626	48.8297	6376
+-85.5012	36.0943	5747
+-79.3876	30.4695	5533
+-121.2154	45.2635	6974
+-119.7126	33.1213	6650
+-118.0279	34.912	8350
+-119.9147	45.2888	7331
+-124.8447	45.2803	6778
+-117.8984	42.9414	5891
+-87.3142	40.3256	6413
+-91.1701	39.5811	8191
+-89.8061	37.5652	8643
+-92.4969	40.2986	6600
+-84.4539	36.6898	4852
+-115.242	44.2933	5514
+-84.9488	31.5278	4577
+-117.9454	32.2717	8503
+-117.2972	42.9161	5730
+-110.2208	31.3899	9231
+-80.3054	28.2518	7753
+-107.6922	27.6475	4338
+-120.0717	33.7572	6451
+-108.3569	31.5429	7332
+-92.4786	39.8822	6857
+-117.0599	29.7643	6347
+-117.6191	33.6966	8926
+-113.6782	46.4216	4371
+-87.8064	41.243	5560
+-82.9197	27.3967	8909
+-109.272	35.305	5281
+-123.8107	45.8677	8038
+-120.8596	46.8408	7360
+-119.9746	46.1194	7469
+-91.2842	39.939	7816
+-114.3065	32.3395	6738
+-115.906	34.4816	8006
+-110.9494	31.4837	8797
+-116.3408	37.5403	5687
+-122.4148	43.0289	5247
+-92.5668	36.7182	6210
+-84.6471	30.9636	5291
+-118.766	45.5754	8506
+-91.5755	40.8572	6815
+-90.4866	36.5798	7532
+-120.3939	46.186	7023
+-118.7837	36.9744	6025
+-89.8097	42.2129	5641
+-118.0313	44.7306	7786
+-80.4052	29.43	7179
+-89.9371	39.8537	8141
+-88.3595	39.1082	8133
+-86.3885	35.5845	6268
+-116.7605	35.1255	8323
+-119.4062	32.6485	7025
+-90.5732	37.0058	7533
+-118.1836	32.4522	8336
+-117.5857	35.9039	7575
+-124.1873	45.9597	7811
+-110.3987	33.3693	7537
+-118.7446	31.3303	7168
+-111.7696	34.8802	5577
+-117.3422	47.4569	7512
+-114.8943	33.5797	7290
+-120.887	47.0443	7393
+-90.6147	34.7614	5951
+-118.5413	44.4385	7480
+-123.1633	43.8942	6218
+-122.6315	47.3297	9110
+-115.8685	35.176	7635
+-81.7957	26.8266	8762
+-90.0462	34.704	6193
+-117.9473	41.4716	4346
+-80.0574	31.6523	4908
+-116.0222	30.535	6999
+-110.4026	29.641	7368
+-116.9004	34.5992	8891
+-109.436	34.0351	6645
+-117.3325	38.3095	4982
+-109.2863	27.9062	5331
+-125.1169	46.8068	7164
+-85.9573	39.5136	6041
+-117.979	36.9171	6403
+-84.3037	27.6177	7431
+-113.7701	32.388	6156
+-90.4534	39.8653	8220
+-91.1419	36.6513	7019
+-84.0117	27.4849	7744
+-115.2958	39.1143	3695
+-118.9911	33.2667	7433
+-81.8213	28.4605	9032
+-112.6083	32.2752	6897
+-80.3387	24.3228	5499
+-113.602	34.8091	5473
+-121.582	48.6677	7242
+-90.6932	41.9075	6005
+-87.5594	36.5397	7962
+-112.87	32.7822	6434
+-125.1426	47.4767	7079
+-123.7444	45.8915	8104
+-120.0111	36.4874	5594
+-89.3204	40.7342	6998
+-88.0065	39.9468	7116
+-120.0069	46.8275	7279
+-91.5854	42.2377	5448
+-119.9608	36.2828	5778
+-83.6196	28.8824	7790
+-80.3965	26.0041	7093
+-116.7744	46.6205	7570
+-83.2906	29.348	7675
+-119.4974	46.4677	7917
+-87.938	37.7543	8880
+-89.3079	38.8619	8259
+-88.9488	38.0473	9341
+-122.8761	49.6288	6681
+-82.7951	28.833	8473
+-110.7892	31.015	8684
+-89.4308	37.4135	9017
+-118.0399	45.3819	8458
+-117.9179	34.1189	8827
+-87.1821	38.9401	7533
+-88.9116	38.4735	8894
+-87.0324	35.1381	6374
+-80.4682	29.0876	7488
+-110.3318	33.1849	7738
+-112.0986	30.8242	7392
+-89.8137	41.4318	6469
+-78.0422	29.5356	4850
+-117.4075	36.895	6521
+-123.9544	44.6588	6819
+-91.5857	37.5749	7612
+-91.6012	36.9559	7087
+-87.4839	40.2529	6574
+-119.8363	45.4379	7473
+-109.1695	35.6044	4938
+-108.4222	27.9096	4987
+-117.4121	34.1794	9371
+-82.3238	30.1468	7191
+-87.2168	38.2518	7955
+-116.6897	33.9366	8873
+-116.2439	34.2572	8414
+-90.0501	38.3813	8889
+-120.3187	45.8058	7082
+-121.7132	45.1125	7188
+-113.6488	34.0152	5818
+-121.4978	45.6229	7472
+-117.6047	31.0874	7697
+-121.0704	44.4973	6230
+-81.9629	30.2018	7131
+-90.3333	37.1769	7728
+-116.882	33.1296	9391
+-122.1415	46.6302	8695
+-86.7486	41.3501	5100
+-118.0569	34.7695	8431
+-92.9138	41.4395	5444
+-116.2418	32.629	8918
+-89.2289	35.5009	7330
+-115.6762	44.7916	6171
+-117.2759	31.9732	8751
+-85.2272	27.5926	6387
+-120.5917	44.541	6310
+-81.6804	30.4785	6782
+-122.6762	44.9934	7424
+-116.601	33.6276	8626
+-90.7767	36.6877	7161
+-116.3548	33.7025	8438
+-124.2107	46.894	8164
+-110.6902	33.8502	6987
+-117.5852	33.3201	8863
+-89.9452	39.9611	8036
+-112.3165	35.428	4786
+-114.1225	31.6086	6306
+-109.8619	30.7514	8438
+-118.5004	32.8062	8042
+-124.4135	44.5601	6483
+-116.5745	46.1997	7448
+-81.9536	29.8878	7484
+-119.3809	45.6104	7988
+-111.9016	32.4052	7555
+-88.7584	38.9929	8326
+-92.5843	41.9353	5251
+-117.9981	30.5666	6992
+-118.1935	47.9687	7279
+-115.5842	46.2056	6400
+-111.3148	28.5217	5990
+-111.797	29.9877	7128
+-81.4634	30.8157	6360
+-113.9253	34.4959	5872
+-119.553	30.6316	5976
+-84.3733	28.9763	7012
+-83.1736	27.9269	8702
+-123.0843	47.0021	9400
+-86.1541	36.66	6673
+-93.5443	35.5952	4611
+-110.5357	35.1607	5591
+-117.8158	34.3718	8885
+-117.0712	46.6382	7856
+-91.3376	37.2933	7547
+-119.4128	45.4686	7890
+-114.5569	35.5811	6187
+-112.3664	28.6394	5597
+-85.5707	36.5436	6013
+-80.7449	26.3934	7683
+-109.9286	30.3688	8087
+-82.1464	28.3742	9205
+-89.0726	36.3512	8300
+-78.1995	27.3583	5418
+-89.3635	37.6306	9144
+-88.1544	38.4919	8661
+-116.7804	35.4323	8025
+-111.1767	33.8259	6878
+-114.629	31.8671	6939
+-118.2679	35.313	7850
+-117.0745	35.2414	8311
+-116.768	33.6779	8801
+-91.1592	40.2946	7561
+-119.1043	47.3719	7657
+-117.0981	35.4479	8092
+-81.8388	25.5014	7308
+-115.9793	31.952	8289
+-121.7828	46.6616	8334
+-120.2878	45.5902	7070
+-125.5114	45.403	6262
+-116.0543	34.4264	8177
+-90.6033	40.5494	7470
+-116.3924	35.8089	7476
+-90.0362	38.4754	8947
+-115.4226	28.3869	4520
+-121.8358	46.1211	8113
+-116.8993	44.7467	7210
+-90.6072	34.3574	5565
+-117.3684	31.0158	7695
+-115.8706	46.8242	6593
+-119.6611	32.0455	6627
+-112.0525	42.5549	1668
+-91.8831	40.8496	6643
+-114.6135	31.1293	6523
+-93.1783	35.7319	4991
+-112.2038	30.2416	6979
+-115.6968	29.812	6114
+-116.2059	33.508	8606
+-86.9745	39.4662	6964
+-114.6689	32.7856	7190
+-118.8167	45.9951	8685
+-120.9582	47.9504	7215
+-117.0431	34.5022	9067
+-110.9771	31.8463	8720
+-92.1545	36.0636	5956
+-122.4362	44.9126	7293
+-109.3615	31.0083	8250
+-118.2986	32.3449	8177
+-115.9888	31.6943	8093
+-119.2713	46.8045	7975
+-91.695	38.048	7821
+-114.5167	34.4947	6512
+-89.753	38.8225	8740
+-86.6181	38.5179	7221
+-92.0648	37.6656	7268
+-84.0746	31.2941	5337
+-121.1308	48.9811	6661
+-93.2039	39.4458	6293
+-88.1928	37.8273	9146
+-116.3846	33.4603	8785
+-121.6724	46.7103	8228
+-116.8742	32.2133	9072
+-90.8054	37.4345	7935
+-88.5202	34.8538	6646
+-117.1362	48.1652	6759
+-83.8061	29.109	7466
+-122.0031	48.3976	7751
+-87.6441	36.9348	8311
+-87.35	35.8253	7208
+-89.2908	36.4024	8279
+-117.6284	32.385	8872
+-84.2635	28.6119	7300
+-81.9955	26.8653	8861
+-80.7377	30.2136	6705
+-93.3982	36.0239	5043
+-88.8355	35.895	7826
+-82.7834	28.5204	8766
+-89.8109	38.3183	8652
+-89.1416	35.3263	7155
+-90.5707	38.5762	9149
+-93.0574	37.9681	6421
+-117.7584	48.6643	6488
+-118.4833	45.4454	8536
+-116.8013	34.2857	9004
+-112.1856	32.8724	7029
+-90.1694	40.8778	7119
+-87.8134	40.1321	6847
+-120.2307	45.4896	7099
+-119.2532	34.5778	7317
+-111.5083	28.4588	5857
+-124.1845	46.0244	7856
+-113.7554	45.9244	4461
+-117.8096	44.6731	7668
+-79.4298	28.3997	6751
+-120.6055	46.106	6801
+-79.7469	28.6254	7023
+-119.5889	30.8498	6097
+-116.8922	30.8361	7542
+-87.5299	39.6437	7197
+-92.3644	37.8985	7100
+-117.4067	46.7342	8115
+-121.9948	43.6535	5833
+-108.9678	33.4159	6997
+-122.4771	47.2237	9062
+-94.2938	37.8324	5095
+-92.3029	37.7035	7068
+-89.8507	35.5506	7147
+-117.03	47.5246	7251
+-85.1351	25.2351	5450
+-118.5053	35.7225	7340
+-109.7399	30.6541	8279
+-121.8262	44.6201	6771
+-91.938	36.9291	6844
+-120.4628	46.3126	6941
+-91.0762	37.0367	7432
+-88.0261	33.9254	5535
+-88.9049	38.5983	8757
+-88.0605	35.4541	7209
+-109.6275	31.1277	8563
+-112.9357	32.134	6592
+-83.4808	30.6891	6252
+-110.6979	30.6777	8416
+-91.989	40.8077	6611
+-118.7655	43.5842	6548
+-81.3021	25.5132	7175
+-82.1541	27.9656	9666
+-122.7299	49.2444	7097
+-118.2038	31.9214	8050
+-119.2096	44.9816	7723
+-79.619	26.1002	6480
+-117.5779	31.2376	7864
+-92.8174	37.6737	6556
+-120.6719	37.2758	4483
+-118.9226	45.7504	8489
+-92.3498	41.2528	5994
+-112.6033	30.3886	6694
+-91.423	37.5922	7747
+-118.4035	47.0199	8278
+-93.5085	41.2753	5094
+-124.8298	47.5787	7382
+-115.0438	33.387	7516
+-116.8341	34.7249	8738
+-85.9846	38.9827	6360
+-81.9172	26.5809	8529
+-117.4008	33.111	9168
+-88.5888	44.0184	3426
+-116.5695	33.9658	8756
+-120.0604	42.9253	5407
+-110.9915	31.321	8706
+-88.8257	37.6686	9749
+-90.3776	38.8817	9282
+-119.5875	32.0707	6713
+-87.2161	35.4909	6817
+-93.6749	39.5279	5779
+-108.3622	32.0127	7288
+-91.7535	39.1306	7892
+-116.5952	33.795	8718
+-119.1814	32.7498	7281
+-84.5437	39.9813	4409
+-119.0832	46.6135	8254
+-89.6448	36.7076	8356
+-108.2157	26.9491	3953
+-90.2981	37.2095	7761
+-88.2923	35.2844	7089
+-86.4482	40.8976	5351
+-76.3931	26.9106	3326
+-109.7591	30.8528	8467
+-118.6336	36.94	6132
+-116.8341	33.6205	8806
+-89.8002	36.8492	8336
+-116.2315	46.6186	7019
+-115.7264	47.0741	6363
+-111.5243	29.3822	6762
+-111.4796	34.0647	6512
+-80.2012	28.4785	7563
+-107.8203	31.5055	6750
+-87.9268	41.2658	5634
+-88.6646	35.8408	7763
+-88.3022	40.8232	6258
+-118.0715	33.2108	8444
+-83.8564	28.8753	7574
+-119.6514	44.7842	7250
+-91.154	38.5092	8554
+-91.5164	38.8034	8202
+-107.3711	30.4219	6026
+-110.1349	31.199	9005
+-114.7022	36.6725	5601
+-118.7437	44.3023	7295
+-88.6819	38.5732	8792
+-91.3303	38.8706	8395
+-114.3453	33.4917	6734
+-115.4342	46.5592	6204
+-121.5775	47.9448	7799
+-90.2368	39.0873	9028
+-122.5619	48.1723	8230
+-86.2855	37.6191	7029
+-87.9774	35.1834	6891
+-107.8027	31.2483	6708
+-117.3948	30.1073	6693
+-82.0325	28.3389	9235
+-111.2707	31.0648	8313
+-92.167	37.7252	7207
+-91.5452	37.0638	7217
+-124.839	49.8594	5780
+-87.4206	37.982	8263
+-126.6781	45.2032	5026
+-89.1284	38.2756	9019
+-92.0825	39.3986	7464
+-119.1299	45.9471	8349
+-106.3058	33.2005	4771
+-80.8998	31.303	5655
+-119.213	48.4186	6615
+-82.0466	28.4843	9075
+-109.6891	31.5562	8775
+-93.2377	39.892	6111
+-117.2242	44.5127	7240
+-84.8401	39.1854	5089
+-119.6577	37.493	5040
+-86.7334	39.682	6601
+-110.1472	34.8379	5942
+-120.6502	47.2296	7118
+-118.6265	47.1907	8050
+-85.5059	27.7929	6077
+-87.9668	38.1334	8775
+-80.4957	29.2649	7381
+-107.3522	29.7528	5683
+-81.1986	26.7507	8331
+-81.1605	26.612	8184
+-122.6462	44.9787	7404
+-90.577	39.9816	8081
+-121.601	35.0167	4713
+-121.105	44.1581	5944
+-91.1324	41.741	6101
+-92.6072	40.3417	6477
+-92.6437	44.1563	3108
+-109.2734	32.7171	7792
+-118.8704	46.8196	8277
+-82.6081	28.031	9278
+-116.0845	31.4179	7908
+-119.5271	32.3727	6854
+-93.1509	39.7235	6262
+-89.6806	38.4129	8584
+-119.3582	49.2426	5743
+-114.4854	32.5468	6969
+-114.2796	36.1058	5633
+-119.3882	33.5402	7135
+-82.264	28.2184	9360
+-89.0192	37.9632	9377
+-108.5981	31.1004	7522
+-118.8911	47.9308	7218
+-113.9847	35.0107	5832
+-117.86	35.4381	7974
+-118.0594	43.5355	6534
+-78.6055	25.3285	5041
+-113.0289	46.2046	3695
+-114.6075	34.2208	6636
+-91.7745	36.6621	6720
+-117.2018	34.5497	9078
+-118.2911	31.5566	7714
+-121.9569	46.3319	8357
+-84.3059	25.2851	6161
+-115.482	32.2379	7976
+-83.7883	27.2154	7919
+-89.5573	36.725	8435
+-121.8867	45.645	7777
+-116.4861	36.7693	6539
+-88.1614	36.7004	8536
+-86.3155	36.7277	6869
+-85.2168	38.7764	5640
+-90.087	39.593	8461
+-115.3299	34.9209	7257
+-116.6897	31.0704	7781
+-118.0622	35.3686	7935
+-108.1812	31.194	7104
+-118.4517	47.3207	7956
+-119.9625	35.0952	6416
+-91.5682	41.563	6134
+-110.6537	30.8986	8655
+-81.9678	30.4621	6837
+-114.8924	46.3921	5656
+-93.3751	38.0304	6108
+-115.8934	35.0598	7731
+-116.9363	31.682	8487
+-89.0376	40.3381	7181
+-119.2243	47.4626	7507
+-110.3548	32.6165	8354
+-89.076	37.2738	9254
+-89.5821	35.3713	7081
+-120.1394	47.7997	6595
+-118.4395	36.2837	6866
+-88.6246	33.3697	4990
+-115.8633	27.8205	4046
+-121.6407	46.1128	7935
+-120.3952	32.0075	5824
+-115.0582	34.8142	7017
+-88.4558	37.7572	9451
+-114.3462	34.7932	6272
+-122.8475	46.5944	9193
+-115.099	33.3145	7597
+-89.6827	36.514	8163
+-80.3108	25.6957	6771
+-85.3354	39.262	5567
+-111.3957	31.2657	8272
+-110.5439	31.2263	9024
+-117.702	48.7322	6406
+-88.5482	39.0026	8295
+-116.4036	36.645	6641
+-87.6745	40.5861	6315
+-119.9218	38.9362	3551
+-121.7429	47.8565	8002
+-88.8283	38.6893	8664
+-114.7448	33.1389	7249
+-89.506	41.0252	6796
+-120.2391	45.7601	7158
+-116.094	33.807	8210
+-87.4355	39.0005	7699
+-123.9944	45.1086	7237
+-118.2882	44.9363	8028
+-89.7626	37.9175	8662
+-81.0268	27.9502	8623
+-124.9548	47.4751	7281
+-108.1078	30.6617	6864
+-84.2857	36.6349	4654
+-117.7422	32.5937	8853
+-117.3124	46.8704	7948
+-80.1717	26.629	7327
+-83.9158	33.2046	3418
+-81.8511	30.34	6964
+-87.8898	40.902	5874
+-122.3222	48.9136	7375
+-87.4414	38.4745	8073
+-92.7975	38.0581	6717
+-120.6634	35.9652	5328
+-117.3777	35.5702	7966
+-81.6021	29.0539	8317
+-89.5275	36.2612	8022
+-118.8238	36.0181	6871
+-116.5158	32.4682	9117
+-91.817	34.1337	4576
+-120.9754	48.0925	7157
+-115.8923	45.7738	6705
+-80.9307	28.9029	8021
+-87.9985	37.2255	8821
+-83.0523	31.7724	5243
+-84.4666	37.3172	4972
+-117.3447	31.6954	8433
+-117.1785	30.4064	7054
+-117.7885	32.6192	8810
+-108.123	34.8291	5219
+-123.3195	44.5151	6874
+-118.7339	32.2564	7685
+-114.7555	35.7655	6271
+-116.6711	45.754	7514
+-115.3825	31.809	7659
+-120.8045	47.7679	7141
+-122.4968	48.996	7333
+-114.5709	33.0973	7062
+-88.7374	43.2304	4280
+-114.1351	33.3138	6546
+-113.2523	33.3527	5775
+-119.5359	45.9562	7925
+-92.4508	35.3838	5166
+-119.4115	42.6209	5387
+-123.9661	45.5323	7643
+-90.8417	39.8135	8176
+-116.3628	49.5162	5110
+-108.3765	30.3367	6960
+-116.7355	46.1381	7621
+-83.9802	28.1524	7758
+-81.4174	30.3025	6911
+-118.1286	46.4959	8810
+-119.8927	35.754	6172
+-123.6059	48.9638	7279
+-118.5875	36.2185	6845
+-120.2921	45.0882	6878
+-87.8803	37.8969	8787
+-112.865	32.9277	6368
+-80.2993	26.2225	7180
+-84.8263	25.3421	5793
+-88.6147	42.3505	5101
+-112.5213	34.4643	5554
+-91.009	35.0251	5926
+-113.0514	30.4484	6282
+-123.3913	45.7191	8133
+-123.2843	49.1209	7202
+-82.7967	28.1322	9036
+-125.0844	49.1489	6214
+-82.0269	26.7625	8750
+-125.9172	48.0598	6081
+-89.299	38.1606	8999
+-118.5026	30.0243	6198
+-116.7031	34.8835	8514
+-118.0506	35.0981	8182
+-88.4712	39.6004	7618
+-125.7651	48.5475	6011
+-89.7987	35.9248	7543
+-123.9726	49.6326	6449
+-119.0749	44.3583	7234
+-92.9347	41.0669	5710
+-118.21	32.636	8351
+-88.9506	38.0991	9287
+-91.0107	40.7524	7163
+-117.4286	35.6887	7832
+-123.695	48.5633	7647
+-80.8053	29.0817	7778
+-89.7477	38.5014	8689
+-117.7792	47.2856	7896
+-121.8253	43.3823	5495
+-80.9754	26.506	7956
+-108.9049	32.5713	7592
+-120.6271	48.1237	6804
+-89.5494	38.4897	8483
+-119.275	35.467	6908
+-92.1355	40.009	7099
+-87.7084	35.1894	6792
+-113.3893	28.5391	4800
+-117.4674	35.7931	7714
+-123.237	45.8055	8278
+-92.0617	37.298	7032
+-92.2629	38.0713	7270
+-119.3347	49.971	5012
+-108.6124	33.6479	6561
+-78.4881	27.7888	5768
+-116.5394	32.1649	8884
+-117.5705	32.612	9042
+-91.0888	37.1143	7504
+-115.6224	46.3912	6426
+-81.8087	29.3563	8057
+-83.3758	28.2849	8369
+-118.9874	36.8059	6071
+-93.8198	38.3646	5697
+-126.3219	49.6823	4807
+-110.5786	32.7983	8131
+-121.2455	43.819	5699
+-117.6598	29.647	6134
+-83.2736	26.7677	8177
+-119.5063	31.7227	6668
+-117.8824	33.6978	8715
+-115.7245	35.4094	7354
+-81.8315	31.1647	6033
+-126.0744	48.0864	5908
+-89.2534	38.8347	8203
+-82.8109	28.2974	8919
+-108.6722	29.3016	6416
+-125.0751	47.606	7115
+-83.4857	26.1236	7485
+-90.2418	41.7573	6179
+-91.8334	40.2842	7149
+-89.2645	40.6535	7045
+-116.1913	31.847	8368
+-114.9817	48.5178	4927
+-116.0869	33.3437	8609
+-108.2188	32.3863	7023
+-88.5706	41.7754	5623
+-82.7021	26.5482	8371
+-114.6365	29.5593	5286
+-118.1314	27.6536	3849
+-83.1231	26.7813	8312
+-119.3141	47.2611	7616
+-81.6357	27.1782	9021
+-117.4988	45.3506	8112
+-119.7955	35.0341	6609
+-115.2625	33.0457	7835
+-121.5619	45.385	7330
+-119.9459	34.7914	6528
+-113.6314	46.7198	4290
+-118.7681	34.5422	7840
+-109.4329	29.811	7320
+-121.8575	29.8264	3359
+-116.7132	33.8027	8835
+-90.1253	40.7436	7258
+-85.8769	27.1719	5604
+-89.8808	44.2167	3507
+-117.6217	44.9589	7864
+-89.7077	36.5075	8140
+-116.5897	46.8409	7303
+-120.0283	34.4884	6501
+-91.968	38.6278	7711
+-81.6066	26.8866	8732
+-114.8185	34.5366	6831
+-118.3101	44.8765	7964
+-116.2833	35.5729	7636
+-116.0875	26.9032	3085
+-121.7124	43.0029	5060
+-109.0093	35.9782	4500
+-85.8574	27.3151	5648
+-81.1309	26.0069	7601
+-123.1206	44.5605	6952
+-87.8147	37.3638	8694
+-87.2931	34.5707	5967
+-108.7647	33.1326	7085
+-88.035	39.4934	7606
+-112.0146	35.1087	5242
+-117.7355	30.0799	6582
+-114.5822	34.816	6516
+-88.6553	34.1998	5922
+-111.278	31.2611	8392
+-110.4093	32.3819	8604
+-122.7673	49.952	6323
+-118.9189	28.8135	4785
+-119.0673	29.0805	4972
+-92.1369	36.8899	6669
+-109.9642	27.7336	5283
+-88.3126	35.2161	7018
+-93.757	39.8883	5587
+-81.3126	27.824	8962
+-83.8739	29.3011	7267
+-118.0759	46.8314	8455
+-90.2414	41.7488	6188
+-87.7925	38.9862	7973
+-116.0317	32.1526	8474
+-89.4345	38.1211	8908
+-110.9703	31.512	8779
+-89.5909	39.4744	8267
+-88.0983	38.3675	8728
+-116.334	35.9327	7327
+-78.8774	31.3232	4437
+-110.4551	31.4358	9266
+-89.7443	40.9251	6981
+-122.2604	45.8589	8201
+-79.2469	30.1123	5685
+-85.4534	39.2523	5692
+-82.8526	28.3779	8825
+-82.3112	28.7983	8708
+-90.1524	37.9235	8499
+-116.3014	34.5858	8375
+-90.7255	36.7591	7247
+-117.0904	33.8778	9199
+-113.9265	33.8466	6173
+-110.3173	31.7552	9287
+-80.3356	26.3286	7288
+-81.2968	28.2841	8780
+-109.1907	29.9005	7270
+-80.4141	26.9302	7729
+-89.1775	37.5871	9345
+-119.6247	31.5582	6473
+-109.6043	31.0519	8496
+-118.4515	47.2109	8071
+-91.6746	38.214	7917
+-92.3932	38.2032	7179
+-89.6668	42.6565	5144
+-90.3378	39.5677	8542
+-122.3155	45.6498	8023
+-118.1565	32.1873	8251
+-89.9928	36.5921	7985
+-115.5951	32.6957	8217
+-113.0856	32.8839	6175
+-116.0094	44.6036	6378
+-118.7819	44.8658	7851
+-117.3126	34.0144	9399
+-125.6595	47.6166	6492
+-119.0001	49.8819	5184
+-90.7064	35.6728	6693
+-114.2578	31.3773	6331
+-114.4537	33.5064	6846
+-123.4986	48.7177	7573
+-123.1429	49.4401	6876
+-120.6171	36.5612	5024
+-91.4415	39.5639	7985
+-109.0124	31.4249	8032
+-124.6389	48.6822	6922
+-117.6613	34.4269	9001
+-117.8759	46.3517	8753
+-124.683	47.4275	7583
+-87.7621	42.4706	4519
+-85.3067	40.8232	4557
+-116.2515	34.4294	8384
+-81.7579	25.8868	7724
+-89.7203	36.7857	8358
+-89.6048	35.9855	7707
+-116.7111	48.9645	5800
+-85.3131	41.2809	4203
+-116.358	35.0242	8150
+-87.1134	38.2363	7852
+-88.6186	36.7685	8794
+-89.4694	36.6949	8469
+-115.62	34.4788	7703
+-82.2353	28.0472	9555
+-117.004	32.0178	8861
+-109.6198	32.3266	8357
+-116.7316	33.9075	8904
+-117.7355	32.9113	8889
+-89.4615	37.5992	9031
+-88.9563	38.6521	8688
+-117.7145	33.1922	8819
+-115.0816	47.7199	5460
+-119.4624	31.5641	6638
+-90.9263	40.0132	7942
+-91.5408	43.7414	3902
+-109.9445	33.4651	7392
+-109.5554	33.7218	7008
+-118.4098	36.1561	7003
+-118.0737	35.0537	8202
+-118.4526	48.8259	6368
+-90.4859	38.224	8847
+-86.6103	24.4205	3569
+-90.2381	35.5921	6961
+-88.8533	40.0087	7289
+-79.2141	28.2205	6550
+-114.3615	35.7993	5885
+-81.8817	29.8799	7485
+-89.1975	34.7656	6524
+-87.1403	36.8623	7779
+-108.7392	31.5159	7745
+-120.8825	36.0318	5083
+-121.8498	45.222	7369
+-120.5986	47.6548	6967
+-120.6262	46.9177	7108
+-117.1887	48.5211	6446
+-88.6321	38.8796	8444
+-116.585	31.1421	7837
+-122.012	48.9956	7173
+-116.6637	45.8461	7524
+-116.8977	25.8774	2012
+-118.9968	31.6566	7145
+-87.6558	38.6554	8145
+-86.3624	40.5586	5593
+-123.3171	43.316	5569
+-88.3723	41.6429	5627
+-82.7965	28.9379	8370
+-89.3329	35.1329	6901
+-87.634	38.3938	8304
+-117.3009	37.3067	6076
+-83.5491	29.6864	7194
+-120.8339	45.5017	6824
+-111.3821	31.6418	8335
+-83.1458	25.0041	6564
+-82.2312	31.3482	5839
+-92.948	39.2595	6606
+-117.8372	35.5802	7841
+-119.4252	47.6033	7261
+-115.2068	33.8404	7482
+-118.662	30.9216	6917
+-119.4621	46.9036	7750
+-115.9603	35.3237	7610
+-118.1504	37.5113	5729
+-89.2661	36.8612	8752
+-89.2281	37.6627	9297
+-115.0169	36.7071	5809
+-119.2804	45.5108	8034
+-111.1038	32.9979	7728
+-123.6545	46.0237	8279
+-116.5072	48.6304	5986
+-119.3743	43.664	6434
+-85.4988	39.504	5607
+-117.1004	43.5464	6280
+-91.5359	37.5331	7618
+-121.813	46.197	8143
+-113.594	31.5067	5940
+-119.7912	45.9782	7658
+-118.8399	30.9126	6774
+-109.4537	32.515	8085
+-117.1965	46.7788	7903
+-109.3381	31.3183	8358
+-119.9543	33.379	6493
+-119.2279	36.8689	5866
+-82.5792	27.4709	9287
+-81.2192	25.9392	7581
+-116.2983	27.6095	3897
+-87.4002	34.5626	6009
+-115.5992	28.8396	5062
+-91.8717	37.6068	7402
+-120.5682	47.9409	6830
+-118.4244	43.9996	7031
+-123.4763	44.3193	6630
+-118.3584	29.4274	5666
+-115.5849	32.5629	8186
+-87.717	37.1682	8511
+-93.6271	38.1355	5866
+-82.6569	24.9697	6673
+-117.0594	34.2045	9299
+-122.1107	44.5398	6803
+-117.7719	43.5936	6551
+-87.2301	42.0956	4469
+-88.5252	39.3112	7949
+-78.8058	28.424	6055
+-117.65	45.4402	8292
+-118.8073	32.7848	7699
+-123.1093	46.7536	9278
+-118.2469	42.7719	5736
+-116.0876	29.6752	6114
+-118.8572	36.1511	6735
+-115.603	33.009	8217
+-89.6419	36.9501	8546
+-91.8747	39.9804	7340
+-86.5862	35.4854	6354
+-109.9036	30.4895	8200
+-90.8831	33.1608	4228
+-106.6769	32.4599	5400
+-117.9989	45.4008	8461
+-124.4754	46.1368	7650
+-114.8345	30.4725	6218
+-90.7103	38.8131	9065
+-119.8572	44.7616	7072
+-116.6392	46.7145	7402
+-123.9796	45.3683	7487
+-82.6424	36.6556	2848
+-93.4477	40.5653	5585
+-115.9233	32.6335	8571
+-118.7582	32.626	7743
+-81.252	27.2188	8718
+-116.2964	36.7454	6498
+-81.3836	31.0311	6103
+-90.1942	36.6588	7854
+-108.3995	31.7376	7372
+-120.1206	48.272	6248
+-115.9684	31.8266	8185
+-123.9768	48.7453	7322
+-88.8835	41.0717	6445
+-91.4424	38.8113	8281
+-90.8839	38.9706	8835
+-122.3562	47.0914	8993
+-117.4752	43.6682	6547
+-90.4783	39.299	8824
+-122.4594	46.5885	8968
+-94.2602	37.226	4934
+-109.733	30.4501	8084
+-85.8925	36.742	6426
+-123.8122	49.7776	6359
+-110.2066	32.9947	7938
+-118.3878	33.5973	8182
+-109.7422	28.9091	6506
+-117.4726	33.30	8972
+-79.8222	28.0491	7258
+-86.9812	39.1599	7202
+-117.118	35.2031	8360
+-88.3987	37.1732	9125
+-84.6699	39.2395	4889
+-116.3033	44.9516	6836
+-118.7332	36.2254	6751
+-123.3356	49.3905	6900
+-90.4521	36.9173	7448
+-122.838	49.1202	7239
+-108.6244	31.5542	7622
+-87.2061	38.6626	7737
+-119.3764	35.444	6828
+-123.5442	45.1731	7513
+-91.3414	36.511	6799
+-84.0272	26.7519	7462
+-121.7224	46.5373	8229
+-90.7684	42.6168	5236
+-110.6597	31.7466	9078
+-82.321	24.2015	5853
+-90.4621	37.7293	8321
+-117.6406	45.5909	8392
+-120.8339	33.789	5629
+-90.7536	39.57	8455
+-117.4037	32.0791	8797
+-85.8143	40.6794	5080
+-114.5678	35.3198	6322
+-116.3721	31.5562	8198
+-88.5101	35.2769	7118
+-84.2051	26.5476	7173
+-79.526	25.1056	5678
+-115.3425	37.3077	5489
+-118.313	46.2685	9079
+-88.3324	39.4786	7723
+-118.4251	45.6657	8777
+-89.5255	40.0779	7720
+-115.8683	36.7381	6313
+-87.2222	35.3885	6726
+-82.2844	27.4533	9499
+-114.3534	32.2954	6781
+-88.1892	40.1911	6907
+-83.8378	28.7289	7678
+-109.7641	32.9493	7870
+-88.9491	35.548	7429
+-112.1786	27.7795	4893
+-116.149	36.9477	6235
+-113.1348	32.8219	6155
+-92.054	37.5531	7209
+-92.8686	36.966	6127
+-124.287	46.0746	7794
+-87.8766	35.7904	7485
+-121.7337	48.4857	7502
+-108.5111	27.6564	4783
+-117.5155	45.3002	8086
+-93.1919	37.8646	6250
+-89.5244	35.2193	6940
+-88.5249	39.7959	7126
+-86.7697	40.1004	6281
+-114.5576	35.046	6420
+-110.2086	32.6165	8346
+-111.9877	31.0994	7606
+-110.9982	28.7907	6363
+-84.2382	25.2538	6184
+-112.7623	31.445	6838
+-91.5822	35.7031	5895
+-93.7722	37.7641	5620
+-119.8795	42.9735	5543
+-88.989	38.7398	8584
+-82.3063	29.1558	8309
+-123.6699	48.70	7522
+-110.9173	33.1726	7639
+-90.3042	40.0113	8062
+-82.7836	29.0033	8312
+-84.3857	26.7143	7080
+-117.9326	34.5157	8700
+-110.0655	30.7431	8518
+-78.0909	28.1508	5298
+-90.8261	35.5909	6533
+-109.1819	31.589	8226
+-113.272	32.2531	6208
+-112.0837	29.6879	6678
+-84.2858	26.4324	7027
+-120.575	42.5787	4811
+-121.6042	48.479	7418
+-86.5487	37.0215	7222
+-93.3023	37.5018	6003
+-84.1716	27.9464	7577
+-90.1528	36.2125	7560
+-120.3701	31.3261	5608
+-84.3091	24.3817	5340
+-116.2631	32.5459	8912
+-126.9109	43.7503	3958
+-119.3191	32.767	7128
+-90.8954	38.2936	8685
+-119.8118	42.9842	5585
+-91.5699	38.9356	8130
+-91.3397	40.5182	7258
+-89.5575	35.5692	7300
+-118.0379	46.1407	8997
+-123.0453	46.3529	8913
+-83.8243	28.6303	7744
+-93.0057	35.5434	4960
+-83.8276	27.7013	7974
+-115.7425	46.6743	6502
+-126.689	49.1866	4782
+-124.4153	47.1788	7925
+-115.4676	31.7016	7669
+-123.3041	46.7691	9112
+-116.98	46.0579	7880
+-86.7147	39.9127	6400
+-83.8141	27.9822	7975
+-115.1264	43.8275	5141
+-81.5578	25.8396	7617
+-83.0001	29.3309	7869
+-119.7751	33.7991	6777
+-92.2153	39.2115	7388
+-92.6518	38.4485	6958
+-124.0312	46.6138	8304
+-118.4488	32.9475	8093
+-91.8522	38.5621	7828
+-86.2372	34.803	5527
+-114.3654	34.5845	6335
+-91.2573	39.5248	8165
+-82.1315	27.492	9582
+-121.6394	45.5263	7503
+-115.7342	36.6276	6345
+-115.0349	34.6837	7031
+-117.2564	35.8305	7686
+-88.2364	33.043	4592
+-90.4413	39.244	8888
+-119.4584	45.7597	7965
+-86.1227	36.115	6374
+-81.5848	25.7714	7551
+-88.0657	39.6421	7462
+-124.67	48.5569	6992
+-119.7931	47.6332	6982
+-112.5428	31.7245	7075
+-116.5543	44.6259	6854
+-114.0697	31.8137	6334
+-116.8582	30.1142	6736
+-113.0095	33.6221	5828
+-114.8271	45.7032	5576
+-125.0262	47.8354	7083
+-80.039	27.1522	7423
+-115.9794	34.0928	8133
+-119.4994	45.9968	7968
+-117.7862	43.056	5994
+-125.4699	48.5076	6314
+-109.6705	31.2014	8645
+-83.0915	30.3705	6753
+-86.974	38.5177	7587
+-112.7901	28.2281	4968
+-90.0968	39.2507	8803
+-82.1251	32.4936	4545
+-93.2269	43.2636	3674
+-112.9253	33.7315	5826
+-124.9695	44.245	5850
+-119.725	44.3225	6837
+-92.325	39.752	7069
+-117.7625	48.0827	7089
+-82.0618	30.7855	6476
+-117.9162	32.5824	8662
+-88.5059	35.7631	7659
+-118.5717	35.6204	7380
+-91.6045	38.743	8108
+-124.6216	48.3916	7151
+-122.2992	47.0513	8940
+-118.1918	31.8271	7996
+-119.1772	35.9117	6691
+-120.4804	41.0881	3465
+-92.3889	39.3909	7155
+-87.7755	38.8832	8053
+-83.376	25.205	6671
+-115.7246	34.4719	7816
+-90.166	38.2235	8810
+-110.6832	32.1354	8765
+-124.5074	47.9328	7546
+-110.0619	34.761	6018
+-87.6593	37.0914	8415
+-113.9984	33.1539	6421
+-121.2247	48.4787	7127
+-118.4988	32.0485	7841
+-118.0326	33.3244	8323
+-83.273	28.9244	8054
+-81.3719	26.5432	8262
+-113.3299	33.5392	5596
+-113.3474	30.1705	5867
+-117.8553	48.1573	7035
+-115.6701	29.3847	5661
+-109.3535	29.3535	6835
+-87.5264	38.128	8329
+-116.924	47.1245	7458
+-121.0835	45.8931	7288
+-120.4641	43.6957	5823
+-89.4015	37.989	9016
+-115.6443	32.0168	8029
+-112.9015	27.3703	4128
+-118.1891	33.5566	8351
+-116.383	34.4962	8496
+-90.517	41.9866	5933
+-121.118	48.9234	6698
+-122.061	46.6123	8606
+-117.242	31.156	7875
+-116.6329	32.159	8930
+-79.8104	27.3755	7227
+-87.6364	37.6154	8545
+-88.1898	36.2661	8116
+-88.1374	37.9822	9025
+-120.8423	43.074	5063
+-82.5286	28.5095	8940
+-80.2995	24.2868	5442
+-120.4767	45.2261	6760
+-91.8985	38.7638	7791
+-87.0753	36.1475	7264
+-113.0524	29.9905	6059
+-121.3384	46.2317	7710
+-125.0638	46.5085	7176
+-117.3835	32.8939	9280
+-88.1063	37.7068	9073
+-87.5472	26.9039	3690
+-119.0887	33.2017	7306
+-89.5834	36.3392	8066
+-93.9232	38.56	5603
+-89.7705	36.7313	8275
+-92.4647	37.3961	6748
+-122.424	44.6408	6998
+-117.4986	31.9751	8642
+-87.246	38.3339	7951
+-85.8701	42.4536	3534
+-91.0203	37.61	8017
+-82.1442	27.4038	9482
+-106.6793	31.612	5514
+-91.6037	38.9916	8083
+-117.7456	31.0259	7575
+-109.8912	29.9057	7594
+-122.5284	49.0976	7230
+-119.4123	49.0774	5888
+-88.6572	40.6656	6645
+-118.7819	34.0144	7880
+-119.4489	30.7457	6147
+-86.0355	37.1822	6702
+-118.1641	34.7219	8367
+-119.8797	43.0079	5575
+-113.755	30.8597	5684
+-87.311	24.8616	3176
+-83.8448	29.2286	7346
+-120.0879	47.217	7013
+-113.1923	32.5165	6215
+-121.1267	46.3501	7544
+-115.6877	34.1279	7816
+-122.1497	46.4239	8589
+-80.6287	26.2104	7443
+-80.9951	24.1658	5620
+-117.1857	44.35	7073
+-116.2304	44.5158	6514
+-125.7048	46.8166	6520
+-118.8492	47.1155	8029
+-109.4526	33.8651	6824
+-87.9289	37.5564	8867
+-111.688	33.4081	7011
+-111.7558	29.0731	6347
+-83.8951	29.386	7185
+-87.6688	36.2046	7763
+-119.0286	46.9106	8094
+-109.8023	32.0069	8738
+-119.2018	34.6848	7343
+-86.1494	24.9589	4349
+-118.4305	34.0195	8262
+-85.6231	36.803	6156
+-90.65	38.2194	8784
+-121.4609	46.5339	7955
+-116.0746	35.9023	7211
+-81.1449	27.4304	8711
+-115.27	44.8507	5806
+-86.2801	39.8205	6122
+-88.081	40.5121	6299
+-120.9603	49.3454	6234
+-121.8058	44.6894	6831
+-86.9466	37.5449	7768
+-109.6079	30.0164	7603
+-123.6357	48.6185	7619
+-119.5007	43.3097	6036
+-124.95	46.9912	7354
+-109.5648	29.1082	6666
+-89.7646	39.5631	8323
+-119.1156	42.2045	5042
+-107.9456	34.8796	5064
+-119.1181	30.8579	6507
+-117.5295	33.5441	8834
+-120.1926	35.8258	5851
+-83.2089	28.9862	8053
+-122.5534	47.8168	8597
+-90.2151	37.545	8113
+-90.9601	35.1445	6064
+-89.434	37.2748	8947
+-89.4546	39.3265	8246
+-118.272	32.2211	8152
+-92.6897	37.9802	6804
+-123.59	45.5004	7826
+-81.4242	28.7881	8486
+-119.4898	31.1346	6370
+-124.3263	46.0456	7741
+-108.9816	30.825	7794
+-116.6788	30.8403	7525
+-81.5451	27.9013	9210
+-119.4786	42.6499	5394
+-83.8759	29.2387	7312
+-112.5001	31.9455	7093
+-120.7917	32.1135	5415
+-113.1126	31.0571	6409
+-89.1861	37.7379	9337
+-88.4973	33.6492	5296
+-120.1557	32.8333	6082
+-115.4055	36.4115	6329
+-83.9916	26.8502	7548
+-113.6724	29.4854	5201
+-80.8003	28.4011	8222
+-110.8288	30.5287	8211
+-116.5253	33.5361	8811
+-88.5624	37.8411	9513
+-89.675	41.082	6797
+-111.0908	32.3583	8299
+-126.0219	47.729	6076
+-120.9189	38.7422	3123
+-93.8779	38.7598	5658
+-124.4224	47.5704	7807
+-90.644	37.1325	7658
+-81.4935	30.4071	6819
+-109.0952	31.0736	8023
+-109.451	28.1396	5622
+-113.6297	44.7464	4128
+-117.8557	48.6646	6507
+-121.5302	48.1587	7611
+-115.6639	33.0836	8270
+-111.731	33.9647	6482
+-116.2449	34.4569	8369
+-120.0977	46.4865	7296
+-115.6349	31.7486	7849
+-122.0539	47.9636	8170
+-88.2502	36.1714	8040
+-116.8296	35.4291	8046
+-83.2723	29.346	7689
+-110.5283	29.5891	7303
+-122.6809	34.2273	3631
+-117.8094	44.2871	7276
+-84.8372	36.2491	5126
+-85.0351	38.9095	5400
+-118.0031	37.0093	6299
+-116.979	46.3111	7861
+-94.4044	39.6939	4972
+-117.5631	31.6803	8321
+-86.6426	37.3163	7399
+-116.6011	45.7384	7438
+-120.7824	34.2547	5700
+-90.1419	36.1469	7515
+-117.4058	31.6971	8411
+-117.0884	34.2631	9297
+-123.401	47.0026	9054
+-122.1102	46.5725	8636
+-124.3407	44.5908	6554
+-84.093	37.187	4541
+-91.5023	38.9005	8207
+-119.3097	32.8292	7139
+-88.0243	35.3519	7087
+-120.6106	45.8368	6780
+-119.2198	49.4022	5625
+-89.4554	38.3365	8736
+-120.4127	46.3657	6988
+-122.313	48.0881	8215
+-123.2417	44.0202	6347
+-116.5579	44.2747	6600
+-109.887	33.155	7703
+-89.0727	40.9294	6683
+-116.7801	30.4966	7157
+-109.3403	28.8302	6303
+-116.5069	38.7515	4433
+-120.7811	37.5058	4225
+-90.0555	37.42	8342
+-122.2448	47.4367	8720
+-107.6858	33.635	5845
+-118.1681	45.4583	8570
+-90.3099	37.7186	8310
+-90.9695	41.9682	5899
+-108.7877	28.9667	6181
+-85.5375	28.68	5905
+-82.4138	29.2144	8224
+-91.7719	42.2329	5383
+-112.337	31.2907	7280
+-80.0257	28.1206	7475
+-110.6992	29.3103	6979
+-115.3143	34.496	7372
+-107.3143	33.489	5605
+-112.3052	35.2654	4948
+-115.633	31.4185	7598
+-118.4206	35.7918	7334
+-111.8037	34.4491	5984
+-116.6701	35.1239	8277
+-91.2421	39.6451	8087
+-118.4251	36.3086	6849
+-122.6974	43.257	5525
+-115.1921	49.676	4254
+-115.4598	32.9828	8062
+-82.9848	24.5589	6138
+-121.9899	43.9426	6137
+-82.1931	30.5296	6766
+-119.7233	32.6072	6669
+-88.0713	37.8566	9006
+-94.9577	39.005	4486
+-108.9697	29.1445	6446
+-117.1715	35.5152	8027
+-125.3457	47.3757	6882
+-121.2628	45.0726	6856
+-109.6878	27.8689	5389
+-88.6312	37.5061	9580
+-80.9948	26.371	7855
+-80.8277	29.3485	7572
+-109.0681	31.2318	8051
+-119.3874	31.4195	6635
+-117.1912	44.7732	7441
+-117.4884	28.4977	4901
+-88.8792	35.6391	7536
+-118.8125	33.4269	7684
+-113.1512	46.077	3825
+-114.0696	33.4132	6454
+-114.1537	33.6765	6472
+-117.4175	33.578	8910
+-124.7924	48.7017	6785
+-111.4535	31.1121	8157
+-111.4107	32.5457	7908
+-94.7897	40.0587	4470
+-121.908	48.3539	7732
+-91.3512	37.7389	7916
+-113.5391	32.1774	5941
+-115.4578	30.5891	6752
+-117.0318	41.3555	4064
+-116.794	33.2114	9272
+-86.9066	30.2525	3804
+-109.9767	33.8268	7012
+-124.7983	49.1764	6406
+-116.9908	32.0664	8916
+-78.5925	26.423	5608
+-123.8758	41.6009	3615
+-86.5225	39.2694	6719
+-124.0209	47.6289	8176
+-89.6579	39.8221	8029
+-116.0947	29.9518	6413
+-119.3023	32.7643	7147
+-120.3505	31.6237	5751
+-110.5162	30.2677	8034
+-89.5402	39.151	8418
+-80.3623	27.8491	7887
+-87.3162	35.9442	7288
+-116.5013	34.4557	8632
+-80.6028	26.4743	7626
+-91.183	39.2307	8419
+-118.1767	46.2987	9022
+-92.1462	38.261	7452
+-122.0351	44.5204	6756
+-120.1862	33.8272	6336
+-86.8665	36.8727	7504
+-118.2079	46.3493	8985
+-92.8079	36.4411	5816
+-117.1442	34.4311	9187
+-116.7997	30.5599	7229
+-88.2248	37.2928	9077
+-118.6876	45.0027	8022
+-120.8709	35.1943	5439
+-84.1444	26.7854	7361
+-118.7043	45.6609	8616
+-120.0884	45.9873	7345
+-84.1695	26.6129	7245
+-119.9738	47.2244	7110
+-80.8359	24.3089	5714
+-82.6621	26.4298	8266
+-87.7034	40.2582	6670
+-116.7841	45.2197	7419
+-77.8375	28.6183	4938
+-114.0333	33.653	6351
+-124.1666	42.884	4910
+-119.1279	32.6343	7334
+-80.7968	25.907	7302
+-114.8181	30.6753	6369
+-118.3674	36.1419	7039
+-113.7485	32.5914	6155
+-113.5214	49.1641	3263
+-117.8155	43.5752	6541
+-118.0214	46.927	8342
+-118.0946	33.6669	8501
+-89.1735	40.811	6848
+-117.0295	33.5341	8835
+-122.7701	48.3978	8027
+-109.4488	32.5905	8021
+-87.2902	38.5316	7894
+-81.1108	28.5144	8459
+-109.3644	32.7588	7823
+-84.5724	26.8252	6935
+-116.8493	32.7548	9605
+-117.4889	34.5536	9019
+-88.8998	38.5175	8848
+-85.7905	39.4988	5892
+-92.9608	34.1162	3709
+-85.4389	36.5016	5858
+-111.9674	34.652	5707
+-86.4859	43.0227	3191
+-81.3609	27.4732	8958
+-116.2332	32.7367	8930
+-111.823	30.4919	7473
+-91.2605	40.924	6898
+-109.154	32.1667	8048
+-123.635	48.1589	8067
+-87.0732	35.9614	7118
+-116.8276	33.0097	9487
+-89.5495	38.3817	8442
+-86.2455	40.0904	5889
+-81.3068	29.8884	7316
+-109.2402	30.2131	7575
+-121.1786	35.5073	5015
+-86.7014	42.6186	3668
+-109.533	31.9276	8530
+-117.3665	36.4011	7062
+-120.8731	34.4174	5592
+-87.727	36.0486	7657
+-118.248	34.6395	8333
+-85.7334	38.2961	6338
+-118.4366	44.7283	7799
+-107.1929	32.5364	5918
+-116.5094	48.5446	6062
+-111.4726	34.441	6140
+-116.8448	31.3683	8132
+-123.1127	47.7494	8715
+-92.4391	38.6676	7207
+-115.407	34.9519	7322
+-95.7725	40.7668	3222
+-122.3112	43.6418	5897
+-115.586	36.309	6539
+-88.6959	40.5879	6735
+-111.024	29.3762	6968
+-87.922	40.6321	6353
+-118.2692	32.1539	8123
+-118.9274	45.93	8555
+-90.5831	39.4414	8649
+-88.9578	36.2023	8158
+-81.6661	29.4925	7870
+-119.0589	32.0012	7248
+-116.5702	44.2245	6570
+-89.6857	37.3967	8740
+-118.7649	45.0449	8032
+-118.5013	34.2006	8189
+-114.1345	27.5438	3464
+-117.3055	32.6299	9321
+-109.7692	33.3963	7416
+-90.7648	33.7244	4855
+-88.9445	39.2095	7796
+-91.3352	39.0245	8357
+-91.7534	39.2776	7842
+-87.8422	36.5529	8191
+-114.9566	32.7937	7511
+-118.0346	44.0603	7084
+-116.5591	34.5422	8646
+-118.1432	46.9927	8304
+-124.118	46.7124	8239
+-108.5421	28.7115	5806
+-90.1441	36.9895	8092
+-121.8754	46.8412	8472
+-109.0496	33.0442	7367
+-82.2234	29.1047	8375
+-110.8414	29.8646	7532
+-114.4925	47.823	4851
+-113.9685	33.5605	6307
+-92.1134	39.5502	7370
+-120.1236	47.4956	6814
+-90.0582	37.2828	8303
+-89.012	40.9183	6659
+-118.8963	35.2181	7402
+-87.9485	40.3209	6697
+-110.544	31.5043	9230
+-83.5877	30.2175	6668
+-113.4714	30.3162	5807
+-89.0848	40.3124	7235
+-82.8722	27.6313	9043
+-88.8139	35.5052	7389
+-117.9845	31.5059	7902
+-86.4031	36.5101	6862
+-113.9159	32.7912	6350
+-109.3764	32.5171	8025
+-118.7429	34.8822	7732
+-116.7343	32.0109	8818
+-116.0234	29.521	5929
+-88.4694	41.517	5798
+-121.8861	46.9329	8492
+-118.4547	35.359	7676
+-82.2459	28.081	9515
+-88.5513	35.2458	7088
+-116.134	32.8315	8824
+-124.4163	44.9843	6864
+-79.7532	26.8955	7025
+-123.4479	44.7068	7052
+-120.981	46.3836	7403
+-110.3423	31.485	9367
+-115.3662	36.4793	6245
+-84.5207	27.5094	7176
+-82.8009	25.6603	7393
+-91.315	42.6959	5054
+-86.7873	37.7787	7590
+-117.2381	36.0606	7435
+-118.5907	44.8056	7852
+-109.5769	30.455	8002
+-91.821	41.1999	6363
+-106.0774	28.7506	3934
+-118.9453	33.3047	7496
+-108.4139	31.0546	7317
+-91.2077	40.4785	7360
+-117.9701	35.0936	8239
+-94.3193	35.6832	4046
+-114.9976	36.9016	5633
+-114.321	34.1763	6324
+-89.7451	39.3784	8459
+-108.3354	29.4553	6311
+-116.6004	29.7361	6293
+-122.7708	46.2392	8795
+-82.6379	25.452	7212
+-122.6887	44.9148	7340
+-87.961	35.1276	6826
+-110.1158	31.0558	8855
+-125.3252	45.3163	6383
+-113.4356	29.2633	5276
+-111.1767	31.1682	8455
+-119.5963	47.1398	7487
+-120.923	46.5333	7383
+-116.3007	37.8515	5347
+-114.8981	30.4519	6249
+-119.1581	43.5704	6426
+-116.7157	35.0723	8350
+-86.2669	29.0052	5010
+-90.426	35.8562	7059
+-124.8745	46.7977	7429
+-81.3901	26.6816	8405
+-123.5371	44.0186	6293
+-90.5041	37.233	7784
+-114.5859	30.918	6356
+-116.1522	30.1539	6647
+-90.8874	38.7851	8880
+-126.3833	46.8327	5776
+-81.4244	25.9558	7692
+-125.1774	48.8185	6381
+-91.0647	37.3803	7775
+-117.6327	48.0431	7090
+-116.7046	48.3911	6314
+-122.4434	47.7453	8614
+-110.5769	33.2915	7604
+-109.8848	30.3471	8049
+-110.1561	31.8741	9105
+-122.2396	30.0945	3134
+-92.0398	41.3843	6070
+-123.2104	46.0715	8565
+-115.5788	32.536	8174
+-116.7789	34.9431	8507
+-122.5286	35.5796	3585
+-109.5288	32.3966	8234
+-114.5916	30.9129	6358
+-116.2049	44.8507	6692
+-114.5838	34.4941	6585
+-90.7158	37.688	8225
+-114.6483	45.8375	5401
+-118.7262	43.5567	6526
+-114.9498	36.1645	6177
+-114.0477	33.0299	6488
+-87.1584	40.0229	6612
+-116.4206	31.6872	8354
+-115.2848	35.8615	6670
+-80.3516	26.6906	7538
+-123.8813	47.6324	8303
+-83.3211	27.3247	8459
+-93.2237	42.8226	4073
+-122.7976	48.7164	7681
+-126.7537	46.8188	5369
+-116.234	44.0088	6160
+-89.0442	38.8411	8460
+-83.8966	29.3383	7220
+-115.593	38.6446	4289
+-88.7549	37.3986	9515
+-118.4576	36.8675	6285
+-116.4763	46.8172	7202
+-85.778	40.4878	5201
+-82.4589	27.0694	9022
+-126.2669	41.4134	2472
+-113.1045	32.3787	6350
+-118.3099	45.754	8893
+-85.8975	38.4849	6466
+-89.5306	38.2467	8738
+-93.4505	39.0633	6101
+-111.2301	32.5414	8052
+-120.60	43.3198	5428
+-119.4111	34.358	7186
+-83.2551	27.2013	8471
+-117.3094	35.7026	7825
+-121.4326	45.6205	7418
+-82.943	30.8417	6295
+-111.2417	33.1252	7535
+-83.0747	26.6247	8218
+-82.588	24.7021	6387
+-124.2498	45.3028	7252
+-105.5493	32.236	4242
+-81.6721	26.6904	8568
+-90.4896	39.3312	8788
+-85.1735	26.1089	5975
+-80.9241	28.265	8413
+-118.7759	34.8933	7695
+-111.0566	30.6786	8219
+-113.2525	33.4064	5745
+-116.5473	32.6471	9248
+-113.6943	32.8811	6102
+-118.9564	43.7095	6630
+-119.5471	45.1622	7594
+-87.0261	40.8304	5761
+-84.4742	29.3629	6687
+-89.9444	38.9331	8912
+-117.4742	35.6301	7890
+-116.7696	33.3507	9118
+-107.4873	31.8355	6378
+-89.9393	35.1522	6701
+-124.8214	45.2532	6778
+-117.30	30.6153	7269
+-110.5555	31.6483	9223
+-82.6451	25.3009	7043
+-117.352	31.1534	7849
+-108.7702	31.4921	7777
+-119.0284	46.0724	8471
+-85.7963	38.9628	6177
+-120.6306	45.4933	6693
+-109.0204	29.3733	6688
+-111.4327	32.6792	7792
+-117.134	35.5421	7994
+-89.8404	37.9351	8369
+-86.7555	36.7298	7325
+-118.7206	48.2657	6921
+-118.7973	31.1131	6964
+-122.7558	44.4855	6876
+-90.0936	41.9817	5927
+-116.6475	32.2985	9074
+-119.4083	46.4458	8014
+-89.2091	33.3137	4904
+-118.7781	45.6571	8557
+-117.5598	46.7796	8209
+-119.1727	47.2237	7743
+-81.4097	28.2014	8937
+-127.7877	45.3817	3961
+-124.6781	44.4532	6224
+-117.3139	34.2031	9446
+-123.4833	44.6902	7024
+-116.4428	35.2335	8039
+-123.1575	48.0967	8333
+-117.5228	48.1596	6935
+-108.5652	33.2812	6818
+-91.3378	38.7312	8395
+-87.6272	40.9087	5957
+-114.8283	32.4229	7328
+-119.2158	35.0526	7187
+-115.2753	45.8046	6060
+-88.8048	38.3707	9023
+-84.0837	28.7584	7417
+-92.8484	38.3979	6740
+-120.9734	45.8959	7185
+-126.0764	46.1983	6016
+-91.6094	41.5836	6097
+-89.7392	37.9535	8677
+-83.7504	30.6829	6120
+-83.9609	27.8196	7824
+-117.8585	33.5607	8640
+-89.7825	39.0693	8691
+-89.8813	38.1396	8573
+-117.0778	31.9628	8792
+-87.413	31.0874	2836
+-118.5059	47.2863	7982
+-106.3111	27.1321	2974
+-87.4484	38.7804	7877
+-118.5058	47.4081	7855
+-115.7851	36.2789	6694
+-81.5499	25.8585	7635
+-119.4695	44.5899	7227
+-115.6982	46.6116	6470
+-118.6888	34.6086	7902
+-90.3076	36.4167	7588
+-114.9584	32.1536	7394
+-88.941	40.2132	7210
+-121.7575	43.4595	5554
+-93.6535	37.6144	5693
+-117.3584	46.3723	8239
+-117.4272	32.1508	8850
+-89.1841	38.1207	9122
+-120.4672	42.5495	4846
+-111.4764	32.941	7551
+-121.4936	44.0602	6059
+-117.046	31.1053	7842
+-107.5117	33.7966	5588
+-87.9798	42.2182	4876
+-116.1069	31.9298	8375
+-88.6072	41.7466	5670
+-111.5145	30.591	7802
+-113.7337	46.6697	4404
+-117.2251	32.2228	9030
+-115.7695	34.6324	7816
+-89.9978	34.925	6442
+-120.1233	31.5365	5953
+-116.325	38.7012	4450
+-80.878	30.2619	6732
+-108.114	30.3874	6742
+-122.5337	44.6286	7006
+-124.4805	44.6009	6480
+-87.9657	38.6678	8375
+-117.8916	30.5489	7021
+-83.0076	28.2149	8781
+-89.9797	36.0278	7527
+-114.6163	46.8162	5304
+-81.5639	26.6732	8498
+-93.0771	35.5653	4928
+-121.4802	34.4407	4929
+-123.5378	48.2554	8026
+-116.8707	44.1717	6729
+-116.4568	46.3973	7301
+-116.1309	47.1547	6722
+-115.489	35.527	7074
+-120.7074	46.5843	7161
+-121.9807	48.2264	7893
+-87.9005	36.2456	7948
+-84.8563	26.6439	6560
+-119.5285	44.8293	7376
+-89.4879	38.5756	8441
+-117.7433	32.7453	8883
+-93.4925	37.8047	5922
+-77.917	28.991	4925
+-117.4201	46.1508	8345
+-122.1623	43.784	6017
+-117.858	38.9658	4227
+-119.2247	42.1361	4946
+-87.7916	40.1126	6859
+-119.4006	48.4786	6477
+-82.1012	28.0832	9532
+-109.0336	32.9083	7463
+-117.1971	32.72	9474
+-117.6421	34.5894	8893
+-116.5495	30.7084	7356
+-119.6525	46.0901	7810
+-89.3738	37.9248	9074
+-123.0502	44.6754	7084
+-89.7976	36.5194	8084
+-81.6859	30.9378	6269
+-116.8614	34.1225	9096
+-117.4828	45.8484	8372
+-82.122	29.3512	8100
+-89.1757	38.4653	8807
+-83.0973	29.10	8031
+-126.2566	43.1238	4001
+-116.4346	34.3706	8594
+-121.3339	48.2655	7371
+-84.4454	27.9061	7272
+-113.3471	30.5585	6025
+-122.944	41.1598	3227
+-117.3013	33.384	9018
+-116.9555	34.1073	9197
+-122.9167	48.6206	7789
+-109.5607	29.2841	6846
+-89.2382	40.4463	7218
+-92.7532	38.3316	6830
+-118.5122	35.2164	7737
+-90.7546	40.2853	7722
+-124.7433	44.322	6065
+-116.0863	35.2929	7733
+-91.3765	36.738	7006
+-83.7169	28.0645	8069
+-120.5813	47.4315	7008
+-91.1615	35.2295	5980
+-82.4855	31.4671	5687
+-90.432	39.6471	8456
+-121.748	47.6354	8143
+-107.4595	32.5897	6174
+-91.2486	41.065	6760
+-83.6305	27.3336	8129
+-92.0642	35.7649	5732
+-121.8254	46.1575	8128
+-119.2883	43.9131	6712
+-119.0315	47.701	7389
+-117.0214	43.9858	6653
+-86.4867	39.0959	6794
+-120.9285	48.9603	6526
+-114.2176	34.0317	6400
+-120.1517	48.6112	5946
+-110.8736	27.3332	4832
+-87.3752	39.2961	7409
+-83.7849	29.9021	6838
+-110.1076	33.0684	7846
+-91.9032	41.6073	5936
+-81.2547	29.1001	8086
+-88.1424	36.1992	8026
+-115.7377	47.2447	6304
+-81.2237	29.736	7438
+-116.8202	34.5537	8869
+-87.6995	34.2048	5749
+-90.7368	39.3723	8653
+-117.8144	32.4847	8737
+-81.909	28.2579	9281
+-80.6896	28.6986	7948
+-125.3632	44.0218	5388
+-82.665	28.0262	9223
+-122.576	43.8833	6200
+-116.8482	45.7037	7684
+-118.4011	46.0926	9136
+-116.0523	32.9198	8727
+-88.6015	37.9668	9430
+-123.6483	45.4091	7708
+-118.7458	32.6845	7763
+-85.2229	38.8924	5606
+-109.0393	28.5537	5904
+-111.0685	32.8143	7920
+-90.5956	37.5348	8095
+-114.4722	28.6479	4334
+-83.4463	28.1575	8343
+-90.1858	40.2068	7840
+-108.6026	32.138	7504
+-124.6373	44.8973	6638
+-111.6662	34.7038	5797
+-110.8362	30.093	7769
+-114.5985	37.0081	5260
+-124.0382	47.0308	8354
+-116.2772	46.2152	7132
+-120.2389	45.7034	7147
+-120.6113	44.662	6363
+-91.6741	39.0538	7995
+-89.6541	38.457	8577
+-122.5673	48.5291	7851
+-81.1571	28.2747	8647
+-84.8357	40.5418	4348
+-108.8344	33.5688	6778
+-86.3439	35.3041	6017
+-81.6926	27.5019	9311
+-111.0641	29.3224	6899
+-88.4864	35.9662	7881
+-87.1312	36.8758	7776
+-118.8104	46.3258	8653
+-115.7629	32.4744	8357
+-118.897	46.7769	8293
+-108.888	30.1037	7233
+-124.2034	46.1314	7905
+-88.5611	37.9303	9439
+-91.3402	36.2035	6492
+-115.4956	33.1263	8076
+-90.3005	35.8196	7121
+-110.6395	34.3927	6412
+-115.561	33.3002	8095
+-117.5816	47.7909	7322
+-109.4514	31.5698	8518
+-121.1807	49.4471	6290
+-81.3828	29.9543	7276
+-119.4393	34.4284	7146
+-90.3526	40.2702	7785
+-109.5158	30.2423	7772
+-117.7467	49.6668	5441
+-92.0956	39.7014	7313
+-115.4584	34.3216	7555
+-84.6389	27.7462	7058
+-119.7289	34.9687	6702
+-116.4894	46.0431	7360
+-120.929	44.2421	5837
+-115.8113	33.1767	8403
+-86.1038	24.0135	3711
+-89.6125	40.5418	7322
+-110.5766	32.5947	8346
+-89.4158	39.2154	8267
+-113.8749	34.0405	6044
+-80.8372	31.2769	5659
+-91.5848	38.8701	8123
+-88.4679	38.4155	8909
+-116.8314	30.9393	7653
+-91.2307	39.9486	7842
+-118.9225	42.0035	4869
+-112.6099	35.5018	4563
+-118.0555	33.5133	8443
+-116.3774	45.3562	7094
+-123.8154	43.6459	5822
+-124.5668	46.1867	7584
+-92.6511	36.4779	5964
+-92.0631	38.9239	7604
+-91.2097	38.1186	8303
+-119.2657	29.869	5583
+-116.6149	35.5549	7832
+-118.254	34.9956	8108
+-81.294	29.1021	8108
+-117.9881	46.0916	8948
+-83.8193	28.9992	7530
+-123.5726	44.6924	7001
+-89.2789	39.3325	8079
+-120.9211	30.8766	4840
+-91.7287	40.0214	7429
+-117.7993	43.2627	6212
+-114.2135	35.2394	5996
+-90.0293	39.3674	8657
+-113.8785	31.6303	6063
+-91.742	39.6947	7641
+-82.8534	24.7836	6421
+-95.764	43.1707	1919
+-109.4665	32.8096	7846
+-87.2437	38.1477	8022
+-111.5448	32.4359	7869
+-88.9128	40.5242	6941
+-80.6848	25.9425	7257
+-107.8839	29.4034	5921
+-117.0123	34.2411	9237
+-121.181	45.6324	7216
+-119.3761	34.0558	7235
+-119.4584	33.4789	7043
+-121.6984	46.3553	8125
+-83.0268	26.7656	8374
+-84.6644	27.4824	7011
+-91.2611	37.9318	8131
+-118.4854	49.2603	5907
+-115.3865	34.449	7458
+-92.3632	38.5407	7278
+-119.3077	34.8502	7178
+-123.1672	48.2241	8194
+-119.4227	37.3315	5330
+-122.9551	47.6956	8803
+-118.2659	30.9902	7253
+-118.8941	31.1527	6913
+-119.6307	48.2904	6537
+-109.2903	30.1325	7538
+-108.5331	34.3729	5876
+-83.3225	31.1751	5808
+-117.7361	35.6489	7807
+-115.5766	37.7829	5151
+-115.4999	33.0346	8099
+-119.1881	43.6496	6494
+-86.9762	37.6847	7805
+-124.2504	43.4875	5506
+-88.7162	37.0463	9117
+-81.5141	26.9506	8734
+-115.6857	43.0944	5053
+-120.7268	46.1061	7038
+-79.7501	29.4259	6607
+-120.11	46.315	7313
+-78.5475	27.4879	5823
+-126.6236	45.7234	5293
+-114.8989	34.7005	6882
+-111.0732	32.7407	7985
+-120.2808	39.9988	2461
+-123.7064	49.695	6481
+-89.5486	39.1456	8429
+-107.0951	31.9388	5944
+-91.6348	37.6692	7642
+-115.6458	32.0096	8026
+-88.7156	44.0383	3448
+-122.3191	46.4041	8718
+-89.0731	38.7873	8510
+-110.7877	31.1271	8776
+-89.3774	36.7798	8607
+-90.8947	36.217	6925
+-76.5508	28.8917	3450
+-119.3146	43.6205	6416
+-92.1278	37.3986	7046
+-93.8128	36.6285	5078
+-120.4654	44.1854	6186
+-90.093	34.4409	5901
+-111.2824	30.208	7663
+-83.9823	27.7035	7799
+-88.1725	37.6653	9148
+-117.841	35.4932	7928
+-83.3733	30.3027	6699
+-114.5779	31.3892	6649
+-122.3883	49.3009	6981
+-117.9793	32.0067	8306
+-127.6221	44.3069	3652
+-119.1399	37.0741	5734
+-89.80	39.0988	8692
+-91.8231	36.6501	6680
+-81.4756	29.0879	8223
+-81.5846	27.5518	9226
+-117.7586	32.5166	8808
+-120.6407	31.516	5406
+-122.9111	46.5338	9131
+-86.1521	38.8058	6613
+-89.47	36.7123	8485
+-82.7767	27.3475	9024
+-118.9484	43.4317	6348
+-115.0052	33.3734	7479
+-81.4103	29.1375	8139
+-118.1984	37.6269	5594
+-79.2911	25.1064	5488
+-115.1725	31.5623	7311
+-113.1944	30.7507	6245
+-117.3231	35.8339	7682
+-116.7289	45.2805	7400
+-118.1567	43.2821	6273
+-88.1788	33.8366	5466
+-109.4096	29.5474	7051
+-90.5066	38.1919	8808
+-87.8577	36.0959	7779
+-88.9314	39.5527	7636
+-114.4293	34.8775	6338
+-106.8154	31.8722	5649
+-91.9741	35.3781	5406
+-90.969	40.0332	7904
+-88.5683	36.0487	7986
+-113.3151	31.8681	6228
+-113.2156	30.0706	5947
+-119.0118	34.4437	7604
+-106.9725	29.8156	5359
+-119.6457	36.5869	5810
+-117.7704	46.9153	8240
+-91.7235	37.4454	7408
+-88.4832	38.9721	8315
+-111.3589	31.5241	8361
+-118.7009	30.6826	6686
+-116.6398	45.4961	7406
+-124.0976	45.483	7511
+-124.5131	48.4889	7169
+-125.6091	45.4249	6182
+-85.1061	30.8018	5086
+-121.0576	47.2563	7557
+-90.3065	34.7841	6147
+-91.5885	36.8183	6970
+-117.6824	43.5345	6470
+-118.4754	34.5977	8125
+-117.3292	33.0979	9241
+-121.4554	44.4999	6466
+-115.9692	35.0339	7815
+-89.7395	39.0766	8646
+-125.6154	46.9759	6623
+-88.1157	38.2552	8830
+-118.7085	46.2248	8791
+-81.8606	30.3595	6943
+-121.8409	46.2344	8192
+-116.3742	33.4654	8773
+-87.4579	39.5265	7262
+-114.3647	30.9088	6154
+-118.7272	34.3837	7921
+-82.8003	27.3378	8995
+-117.3993	47.3234	7662
+-88.8035	39.5704	7506
+-90.045	38.6316	9038
+-81.2806	25.7624	7428
+-89.8689	39.1965	8690
+-86.4707	40.6314	5605
+-111.3937	33.9537	6660
+-116.0247	28.9307	5293
+-110.5403	33.214	7693
+-89.3305	39.0028	8257
+-89.1741	39.388	7951
+-89.4434	39.4602	8155
+-115.826	29.4602	5799
+-108.5586	31.1145	7485
+-89.7891	37.9854	8381
+-117.6004	33.6345	8883
+-88.3506	38.6869	8578
+-93.5255	34.9322	4095
+-87.7566	36.0501	7676
+-109.4737	29.0975	6624
+-88.815	36.5658	8579
+-108.7495	33.07	7120
+-90.2454	38.6354	9231
+-116.2392	33.8091	8363
+-112.2103	48.2631	2433
+-93.3366	40.2892	5835
+-125.4983	46.5213	6710
+-82.0135	30.6472	6631
+-109.6569	28.6654	6228
+-110.903	31.8102	8809
+-119.8953	30.8451	5815
+-119.8255	47.534	7030
+-83.199	29.7883	7307
+-116.3911	46.4101	7230
+-115.5593	31.8232	7831
+-83.7222	26.7282	7745
+-116.3781	33.6257	8637
+-79.1795	30.968	4964
+-117.0779	34.9858	8585
+-113.4607	31.8875	6069
+-122.4599	48.5764	7773
+-83.6489	27.885	8173
+-114.722	34.8138	6665
+-117.8539	35.3524	8062
+-115.9636	34.8743	7903
+-89.6269	40.622	7248
+-88.8819	38.233	9166
+-120.7301	46.0124	7002
+-116.2138	48.6756	5761
+-120.6117	28.3591	3330
+-119.3465	35.207	6985
+-116.4041	32.3513	8939
+-118.9765	44.0207	6939
+-88.6368	41.4037	6000
+-119.994	35.652	6133
+-111.6082	31.7918	8074
+-118.3753	43.9163	6946
+-90.9119	40.7851	7158
+-86.9358	36.1542	7150
+-111.0267	36.9849	3573
+-124.8804	46.5731	7388
+-83.524	28.5688	8076
+-115.7617	36.2823	6676
+-107.2765	36.896	2833
+-121.6092	48.0287	7770
+-85.981	27.7654	5539
+-119.9697	45.5971	7397
+-109.0686	30.4178	7610
+-82.6667	26.0351	7843
+-90.19	34.8514	6275
+-82.7883	28.4741	8802
+-86.1146	36.1277	6374
+-89.20	40.5234	7126
+-121.6308	43.6052	5659
+-87.646	39.5377	7366
+-118.1145	44.294	7339
+-106.881	29.5724	5145
+-89.2629	38.9103	8204
+-112.3978	28.9796	5873
+-117.6773	46.6954	8361
+-109.2798	30.6283	7933
+-118.6722	44.2507	7259
+-96.0051	40.8893	2941
+-80.3043	30.483	6188
+-111.3924	29.1973	6645
+-109.3092	31.8008	8339
+-110.3798	30.6708	8484
+-88.9222	40.4418	7015
+-121.8352	45.0162	7165
+-120.0337	47.0731	7140
+-116.1951	35.196	7892
+-94.495	41.1542	4291
+-80.7232	27.7472	8297
+-117.1759	48.6134	6352
+-119.9467	30.9853	5851
+-87.8429	39.2407	7766
+-117.927	45.9335	8844
+-125.795	45.7028	6136
+-114.4481	32.2308	6869
+-80.1032	27.1388	7488
+-116.8892	30.2767	6919
+-118.5138	47.244	8025
+-115.0206	37.7193	4922
+-87.9464	34.9118	6589
+-116.1739	33.3986	8656
+-124.7192	48.2432	7165
+-118.3052	31.1947	7407
+-90.3066	39.6935	8404
+-85.9164	29.62	5126
+-112.4921	33.3095	6479
+-116.3668	34.3454	8529
+-118.64	35.0763	7721
+-90.4011	39.7073	8392
+-89.1836	39.0862	8081
+-121.3723	44.8799	6765
+-119.8604	34.5201	6677
+-115.7663	32.5957	8392
+-116.7704	35.8203	7620
+-88.1935	38.8869	8301
+-85.0758	26.1764	6108
+-110.5496	31.4676	9208
+-118.7014	34.8094	7808
+-85.9711	37.162	6626
+-112.0955	34.4408	5836
+-118.3191	49.4959	5664
+-115.7328	35.9859	6914
+-115.0112	33.4913	7446
+-110.8599	33.8746	6926
+-91.7494	36.2147	6320
+-87.157	36.9289	7828
+-115.1493	32.5077	7697
+-121.5698	48.068	7709
+-123.0946	44.5885	6985
+-86.6703	39.2339	6877
+-81.7359	29.5842	7788
+-121.0675	45.5692	7074
+-88.6657	40.0159	7125
+-106.395	30.4137	5022
+-122.8024	47.0639	9455
+-92.8695	38.0868	6651
+-109.8835	31.3103	8903
+-91.0159	37.2508	7671
+-81.0387	26.0255	7566
+-110.7534	29.6525	7333
+-121.974	49.6281	6510
+-116.14	35.5834	7535
+-118.6717	32.7124	7847
+-119.2956	42.6141	5416
+-115.0973	32.7839	7667
+-124.9464	49.0971	6361
+-111.0404	32.9965	7761
+-90.1976	40.6109	7409
+-110.3491	33.1005	7830
+-83.82	28.2262	7915
+-122.1563	46.2306	8457
+-113.0775	32.4694	6349
+-109.5679	33.885	6845
+-82.646	29.0712	8307
+-116.4395	35.2495	8022
+-109.3599	31.89	8368
+-117.4418	47.2348	7764
+-113.7826	34.7707	5674
+-121.1544	45.379	7014
+-87.7348	39.1783	7760
+-81.987	32.7026	4306
+-111.4289	33.7773	6817
+-88.9142	44.1763	3365
+-117.9127	29.4157	5815
+-82.4781	27.0515	8994
+-119.0357	46.016	8459
+-86.8664	43.2541	3265
+-113.6911	36.3397	4955
+-119.3661	28.6089	4350
+-88.7832	37.1198	9202
+-115.8143	33.3186	8351
+-118.5348	46.3504	8885
+-91.5402	41.6206	6089
+-117.0566	47.4003	7367
+-87.1754	39.8619	6771
+-114.7024	32.5714	7213
+-120.4148	48.923	6131
+-88.2905	40.4666	6507
+-88.37	40.1117	6805
+-115.7272	33.2562	8286
+-118.7227	48.9185	6239
+-110.2425	30.162	7931
+-118.2161	32.9341	8353
+-119.2206	32.1941	7145
+-89.5475	40.6141	7222
+-112.7534	31.1059	6801
+-88.3508	38.8413	8416
+-83.8785	30.1561	6545
+-114.158	36.4151	5332
+-116.4669	45.0173	7021
+-124.5832	44.9706	6738
+-89.7695	36.9587	8437
+-121.4633	47.5325	7910
+-91.8027	40.6913	6832
+-125.7943	45.7656	6164
+-88.2579	34.2995	5993
+-81.9382	27.2469	9264
+-111.4385	30.8664	8046
+-93.5293	42.0929	4477
+-86.0413	24.6772	4256
+-124.9548	45.3263	6718
+-119.2387	31.1079	6582
+-119.1672	33.2095	7233
+-81.3603	27.2428	8836
+-118.5426	32.5317	7967
+-111.1477	32.5886	8072
+-91.5555	38.6344	8155
+-117.2976	46.4165	8164
+-122.4215	48.8531	7468
+-112.0666	30.4997	7259
+-118.4511	46.7186	8582
+-118.7725	31.3867	7184
+-115.5636	33.0406	8168
+-123.215	46.4451	8937
+-115.2299	34.22	7314
+-88.97	39.9822	7403
+-115.8348	30.8831	7254
+-94.051	38.0866	5407
+-89.4243	36.9287	8706
+-79.6943	28.3103	7065
+-117.0348	30.5547	7229
+-117.3877	32.9244	9268
+-83.578	29.2689	7535
+-83.1817	27.9776	8683
+-117.158	31.164	7897
+-123.0646	33.3604	3157
+-85.3148	39.9224	5186
+-90.3159	35.8944	7173
+-117.8269	33.3933	8525
+-87.2219	35.7769	7076
+-88.5751	36.719	8731
+-88.8755	35.2039	7049
+-119.3042	36.6669	5991
+-124.0131	44.6979	6830
+-115.835	33.5842	8228
+-81.7869	26.5018	8409
+-89.6471	39.1162	8538
+-85.9115	36.256	6241
+-113.5344	28.9617	4991
+-87.9424	36.1322	7861
+-117.3705	34.2084	9398
+-87.4895	39.3789	7417
+-91.2965	37.3278	7603
+-114.6092	34.2609	6636
+-116.0043	35.408	7581
+-115.9598	44.2427	6110
+-118.3161	34.5442	8308
+-113.5055	30.8501	5946
+-116.3299	31.4654	8087
+-118.5522	34.5818	8053
+-125.5858	46.4515	6602
+-110.0852	33.8539	6999
+-88.1544	38.7117	8455
+-112.2725	31.5058	7371
+-88.6408	39.3494	7920
+-90.0496	38.8179	9057
+-117.2321	46.6427	8008
+-117.8977	47.2076	8018
+-113.1146	31.4364	6456
+-111.7822	31.9274	7860
+-89.8523	38.0443	8472
+-115.3642	45.4835	6101
+-91.129	35.3488	6100
+-118.4966	49.4485	5707
+-95.161	39.2781	4243
+-90.1984	35.7673	7146
+-116.6561	44.2344	6639
+-119.0847	32.2561	7309
+-121.8918	44.9055	7085
+-120.945	44.6796	6301
+-89.4709	40.6914	7112
+-88.3415	37.4257	9267
+-117.8938	45.2288	8250
+-110.3619	30.6486	8460
+-121.9324	48.7745	7353
+-116.5496	36.2313	7119
+-112.1411	34.4267	5823
+-83.9604	26.9166	7613
+-108.4091	31.2377	7355
+-110.9772	32.2962	8433
+-115.7812	31.8164	8023
+-118.726	32.3568	7725
+-88.6823	37.612	9703
+-122.3753	49.7353	6510
+-82.6202	26.29	8133
+-92.2732	36.5967	6336
+-118.6587	46.9157	8310
+-109.6421	31.3974	8698
+-86.6331	37.5536	7417
+-120.4993	32.901	5764
+-109.8375	33.0988	7746
+-116.5967	47.424	6990
+-92.5261	36.4681	6050
+-120.1337	49.361	5587
+-82.9121	25.3362	7005
+-118.5227	47.1173	8154
+-115.1737	33.7762	7485
+-88.3215	37.6702	9315
+-89.6871	34.2807	5877
+-88.8007	39.6431	7466
+-89.6475	39.0693	8560
+-93.0325	36.3948	5604
+-84.7112	27.0103	6853
+-112.2406	31.0745	7335
+-89.4651	35.7509	7527
+-88.2225	36.8563	8720
+-122.5932	48.713	7658
+-89.06	39.1476	7935
+-79.7598	31.4324	4952
+-120.1942	45.3885	7101
+-113.083	35.6888	4669
+-108.7279	31.6209	7734
+-79.7913	24.1149	4984
+-88.5905	42.5806	4866
+-88.2843	39.0828	8135
+-117.3096	31.454	8186
+-89.7493	35.8914	7538
+-116.6803	44.1326	6573
+-121.2237	49.4439	6320
+-86.0844	37.8567	6797
+-88.1279	36.3489	8172
+-88.5955	39.8309	7173
+-86.5433	29.0615	4693
+-119.8422	33.6735	6684
+-114.0483	32.8295	6498
+-85.3139	37.3612	5924
+-115.8511	30.5941	6979
+-82.9366	28.1898	8865
+-120.3464	43.56	5795
+-88.9498	37.54	9566
+-113.0294	33.5441	5862
+-111.4081	27.716	5125
+-120.0853	34.5763	6425
+-82.1421	28.3986	9177
+-118.2728	35.4379	7741
+-118.7147	49.7742	5343
+-92.1476	38.8772	7518
+-90.5019	40.6964	7323
+-120.3206	44.886	6749
+-114.7747	32.8024	7308
+-118.1022	33.301	8251
+-91.0361	40.32	7592
+-116.3935	33.1564	9010
+-118.6755	32.0261	7653
+-118.80	32.7781	7707
+-111.2633	33.1601	7490
+-89.2667	36.1852	8061
+-119.72	33.4572	6762
+-110.4628	32.1316	8863
+-86.6939	26.7324	4602
+-117.728	33.1585	8822
+-91.3388	36.9633	7241
+-88.6165	37.2102	9276
+-115.809	35.0693	7648
+-91.6984	37.7072	7615
+-88.296	38.9692	8260
+-87.8924	36.8227	8452
+-116.9407	41.9216	4612
+-81.2036	28.1404	8759
+-89.1071	41.9084	5753
+-85.0827	28.7288	6383
+-90.3766	40.405	7641
+-116.3542	33.4007	8809
+-117.3738	30.8086	7468
+-124.5934	44.2385	6079
+-91.8769	37.2931	7175
+-119.3206	33.2016	7078
+-120.8061	44.4523	6069
+-113.7304	35.8319	5259
+-116.1091	45.9029	6948
+-117.711	32.905	8917
+-124.336	45.9611	7680
+-125.6171	44.5128	5584
+-89.3253	40.4355	7279
+-91.4034	38.1831	8167
+-123.8603	47.2352	8511
+-89.48	39.0167	8409
+-117.0363	29.6799	6253
+-92.1006	40.6316	6679
+-122.63	46.307	8823
+-91.1362	35.0158	5825
+-79.1301	27.9928	6485
+-113.2628	31.8974	6281
+-88.4238	39.8566	7326
+-82.6564	27.6225	9279
+-117.6816	34.9837	8506
+-122.8917	43.4236	5714
+-109.1436	33.4377	7086
+-92.4335	37.14	6615
+-122.2718	49.9731	6232
+-107.4387	33.9721	5407
+-88.3987	37.3181	9247
+-120.3207	46.9323	6930
+-110.2844	31.5511	9410
+-116.6071	32.1919	8949
+-88.5331	38.9442	8357
+-89.7738	36.0493	7677
+-122.3956	49.6376	6620
+-81.2254	30.7425	6372
+-114.5265	30.7133	6160
+-92.882	37.7121	6508
+-117.9334	32.6288	8654
+-89.2719	34.3474	6047
+-118.5913	30.1287	6250
+-83.8825	26.7692	7614
+-89.9909	39.6223	8393
+-122.4428	46.2937	8712
+-83.2032	26.1439	7693
+-119.4847	32.4501	6915
+-112.5098	31.3687	7104
+-119.2395	32.5947	7206
+-123.4876	46.5906	8840
+-88.4388	37.4677	9385
+-122.1668	46.067	8331
+-111.1757	31.192	8467
+-91.368	38.3435	8276
+-115.5323	30.2138	6438
+-121.2336	43.9092	5781
+-80.786	27.9992	8346
+-116.2755	44.4762	6526
+-116.536	43.5808	6014
+-118.6822	31.8665	7565
+-90.3286	34.9945	6341
+-122.4987	44.0057	6323
+-86.653	28.0913	4766
+-119.9711	34.8267	6492
+-125.5112	47.2573	6720
+-85.2227	34.5386	4510
+-83.2423	27.3059	8534
+-115.8355	44.1416	5940
+-115.3012	34.5582	7344
+-89.3331	39.7352	7872
+-80.9423	30.0782	6950
+-111.0462	34.8763	5823
+-111.1284	30.1249	7674
+-117.8767	45.9922	8815
+-93.3325	40.7552	5580
+-110.1117	29.834	7563
+-81.1233	26.1199	7707
+-121.0767	44.2774	6037
+-116.7943	30.6885	7371
+-118.1336	33.7803	8517
+-117.0276	32.4244	9310
+-83.4755	27.2759	8276
+-116.4362	32.9369	9146
+-85.0237	29.8961	5831
+-118.2528	33.7671	8390
+-120.3791	44.5126	6476
+-89.7513	39.3843	8459
+-108.218	31.3828	7171
+-116.3266	30.8082	7402
+-117.3314	33.8189	9188
+-85.3119	28.4874	6205
+-108.6017	31.3343	7578
+-116.897	34.639	8855
+-125.1578	45.8614	6844
+-90.4108	41.2404	6740
+-89.3056	38.1612	8993
+-115.1956	31.9413	7549
+-90.6065	39.1155	8963
+-117.7192	46.2673	8637
+-117.0946	30.9913	7712
+-83.3713	26.2674	7693
+-90.9276	35.8354	6636
+-122.1358	48.6575	7568
+-116.3229	47.0133	6970
+-119.5471	46.5417	7843
+-122.4967	31.6602	3451
+-119.9106	45.5866	7453
+-114.5273	32.8992	7031
+-79.9065	26.6244	7061
+-125.3919	43.9441	5303
+-117.2448	34.4864	9152
+-86.9919	38.8815	7400
+-85.6634	27.4753	5885
+-118.6266	47.819	7404
+-114.8291	28.7795	4658
+-87.3481	39.2158	7457
+-113.8803	45.8761	4591
+-117.6815	47.3402	7801
+-91.7577	36.1207	6227
+-117.0059	36.5162	6923
+-109.6927	33.0939	7696
+-88.054	39.8973	7186
+-92.1403	42.9714	4496
+-118.0757	33.8047	8585
+-88.7027	41.4452	6001
+-119.3893	43.6062	6371
+-89.1595	39.0103	8076
+-121.1377	45.6967	7220
+-119.058	34.2202	7581
+-117.6444	34.1015	9124
+-115.0596	36.3183	6150
+-89.8071	39.222	8622
+-91.4609	35.5208	5755
+-87.3477	33.4557	4828
+-111.1208	33.3624	7366
+-83.0564	36.0609	3157
+-110.6415	33.0092	7893
+-117.0742	45.6619	7899
+-116.8503	46.5363	7674
+-118.3842	28.9452	5154
+-117.4577	33.9719	9265
+-90.0746	39.3547	8693
+-88.9736	41.2749	6307
+-109.38	29.096	6588
+-117.6664	48.1548	6988
+-86.3651	33.2984	4220
+-124.1394	45.3594	7376
+-113.8499	33.9704	6046
+-121.703	42.9091	4959
+-83.5083	30.0848	6843
+-87.7513	42.2666	4690
+-118.4337	43.9382	6965
+-90.4596	36.5494	7539
+-111.3872	29.6395	7078
+-88.3609	37.5356	9337
+-117.5906	43.9393	6857
+-88.6859	39.3894	7878
+-81.6778	26.3228	8180
+-91.4219	38.0432	8070
+-90.1299	37.1969	8197
+-120.3904	49.3717	5787
+-88.2485	38.2411	8946
+-90.0143	38.8507	9012
+-90.1636	37.2178	8168
+-80.6122	26.7971	7852
+-119.1693	48.355	6695
+-119.2298	33.3883	7247
+-118.3084	45.9321	9081
+-84.2319	28.6019	7337
+-115.4041	30.8736	6972
+-90.0485	37.5393	8070
+-117.3809	34.7703	8832
+-114.364	34.1237	6372
+-116.7453	32.4585	9283
+-121.716	47.2634	8265
+-120.0173	44.2462	6572
+-115.9269	32.9059	8589
+-113.7174	34.0813	5864
+-111.0701	28.8833	6441
+-121.8815	45.0198	7192
+-82.2668	24.3776	6055
+-115.5059	31.0308	7179
+-114.7979	31.6549	7009
+-111.9858	31.6001	7683
+-120.9205	45.0314	6565
+-83.2594	35.8075	3291
+-118.9656	31.503	7085
+-110.7592	33.831	6995
+-111.0412	33.9674	6779
+-82.3358	30.5317	6756
+-116.8676	34.5109	8939
+-114.7617	36.8539	5504
+-115.9308	30.9961	7417
+-118.5759	32.7909	7958
+-111.377	29.2641	6718
+-93.2836	39.8443	6083
+-117.6119	33.8268	9034
+-83.0915	25.1296	6718
+-89.2208	39.5332	7914
+-120.3867	32.417	5912
+-122.149	43.6234	5842
+-89.5621	39.6324	8125
+-89.0643	37.5619	9461
+-88.0747	32.4343	3891
+-115.0256	34.0202	7090
+-119.3762	45.0895	7684
+-93.017	41.5366	5292
+-91.1674	35.5242	6204
+-83.4108	28.9964	7886
+-125.0569	29.5514	22
+-113.9502	32.1955	6318
+-117.6173	34.8417	8676
+-88.4517	41.5202	5784
+-116.2102	31.4774	8037
+-115.4881	32.7983	8104
+-119.2989	46.2852	8167
+-103.7932	31.2373	2378
+-122.4546	43.4314	5692
+-81.3754	24.8324	6464
+-113.0096	28.8273	5311
+-116.6824	31.4255	8169
+-112.1318	33.2618	6808
+-118.6645	48.5703	6613
+-89.9734	38.8701	8964
+-120.1476	47.1883	6974
+-110.7924	29.4814	7143
+-88.4844	39.0015	8283
+-112.4286	32.605	6948
+-112.0915	31.7637	7559
+-117.5341	48.6229	6473
+-85.3199	28.7484	6120
+-88.456	38.2086	9113
+-121.7027	44.0282	6120
+-116.9122	35.2818	8227
+-89.8963	39.1688	8732
+-117.6125	30.0153	6546
+-83.7422	27.8389	8070
+-120.6312	31.9357	5549
+-116.8407	34.9747	8509
+-122.9699	47.3322	9197
+-115.6123	31.5664	7697
+-122.2706	47.662	8576
+-115.7194	34.0274	7846
+-119.1847	31.6252	6944
+-79.3895	26.9551	6655
+-119.3224	32.2732	7056
+-90.6936	40.0052	8031
+-80.0636	27.3483	7504
+-85.3685	36.5949	5816
+-116.8437	30.8583	7564
+-92.642	35.8347	5449
+-93.0748	42.4857	4462
+-82.2674	30.4731	6827
+-88.5779	36.6731	8681
+-120.8646	47.6665	7242
+-109.7978	31.826	8837
+-119.6778	35.0454	6726
+-116.5478	34.9421	8358
+-113.9165	29.9907	5225
+-115.4408	29.9572	6138
+-109.4423	32.0155	8401
+-113.6447	32.3511	6011
+-114.9218	34.9086	6844
+-83.5742	29.054	7706
+-112.7293	34.5515	5341
+-123.0677	45.6522	8150
+-85.7976	37.9429	6468
+-83.1991	26.6939	8182
+-115.9919	32.6433	8649
+-117.2267	46.0151	8138
+-122.372	47.4899	8789
+-83.7964	26.8938	7768
+-109.1309	27.8854	5261
+-84.573	36.7017	4985
+-88.8141	38.8939	8436
+-116.2394	35.731	7466
+-116.4734	34.3292	8647
+-118.9434	33.1975	7443
+-126.6951	45.0282	4924
+-125.7696	46.4566	6404
+-114.806	32.853	7343
+-117.0986	48.3287	6587
+-77.774	29.3168	4658
+-118.9188	47.5306	7603
+-115.5343	29.934	6163
+-85.3439	26.9061	6132
+-82.1017	26.3994	8345
+-109.9592	29.9238	7630
+-88.9582	41.8187	5778
+-108.5338	29.7065	6656
+-90.6921	38.2792	8817
+-87.8248	39.7593	7238
+-112.8723	34.9759	4882
+-121.6576	48.026	7812
+-115.2839	32.4434	7830
+-116.8791	31.5027	8284
+-91.8257	33.9659	4426
+-111.9598	30.4848	7347
+-109.1413	31.6784	8178
+-80.7479	27.7199	8324
+-123.174	32.5924	2878
+-117.7292	33.1359	8831
+-86.8198	36.658	7354
+-116.2233	31.6966	8253
+-86.1892	38.2032	6860
+-117.8629	33.6022	8667
+-88.0346	37.095	8773
+-123.6585	45.9292	8194
+-116.372	32.8006	9089
+-122.1129	46.18	8384
+-91.6415	39.0965	8018
+-87.8656	40.7737	5943
+-118.2908	35.5111	7665
+-117.0243	49.6406	5281
+-118.1656	35.48	7772
+-112.6873	34.358	5531
+-84.4392	26.715	7025
+-91.9763	37.769	7408
+-118.6653	48.0827	7122
+-117.4012	44.7504	7553
+-119.1815	33.7914	7416
+-118.318	47.7601	7502
+-109.5814	35.2532	5415
+-91.2368	36.5394	6870
+-93.589	38.9309	5964
+-87.7001	38.0525	8542
+-112.193	34.3452	5866
+-85.0505	26.4952	6292
+-83.4734	25.8056	7205
+-87.6285	38.5394	8205
+-113.3448	28.8265	5050
+-122.2898	35.232	3929
+-117.1083	36.1387	7343
+-124.6599	44.8906	6616
+-111.3491	32.5733	7937
+-83.0824	31.1623	5904
+-116.7345	30.4573	7109
+-88.7119	39.8729	7254
+-111.311	32.683	7879
+-118.7097	33.5299	7832
+-116.2611	33.4626	8686
+-121.2733	45.7382	7367
+-120.6562	42.3124	4527
+-116.5495	34.2417	8747
+-117.1613	27.7433	4090
+-84.8074	27.9007	6863
+-125.5253	45.3371	6212
+-124.5474	48.0874	7417
+-120.8908	35.2498	5401
+-120.0675	43.3084	5752
+-115.2013	32.7462	7782
+-114.3167	47.2965	4873
+-118.0858	33.3385	8293
+-85.831	38.9954	6198
+-91.2308	39.7866	7981
+-86.0795	34.828	5428
+-120.1211	41.4706	3985
+-123.3616	47.839	8522
+-119.9927	35.2595	6320
+-114.3262	32.4508	6780
+-87.4497	39.202	7544
+-81.6382	28.2655	9097
+-90.0497	36.8653	8117
+-84.8982	40.1978	4625
+-120.5839	43.5881	5653
+-113.7287	35.8735	5237
+-87.1264	34.4757	5788
+-116.5226	31.3159	8007
+-112.1823	30.3962	7093
+-118.0658	42.8022	5760
+-123.1065	47.5979	8876
+-87.7847	37.9784	8658
+-117.6537	45.8497	8543
+-117.8351	34.6138	8726
+-115.8054	42.9055	4979
+-80.5898	31.2828	5548
+-90.3621	35.0705	6395
+-114.8696	34.3837	6909
+-116.7095	31.1678	7891
+-89.1647	36.8421	8788
+-116.8213	49.5563	5286
+-115.8634	34.5881	7929
+-88.2366	35.4313	7237
+-84.0691	29.5381	6924
+-122.5095	48.4306	7942
+-118.4202	43.4504	6451
+-90.2831	39.204	8923
+-88.7004	38.3809	9009
+-118.0659	35.7452	7575
+-86.9719	33.8984	5131
+-117.3621	28.4897	4906
+-116.0953	45.8199	6924
+-117.2367	46.6931	7987
+-116.7066	33.4667	8972
+-112.4281	31.364	7192
+-116.8672	32.4896	9372
+-115.4175	42.8411	4664
+-114.6295	31.8065	6913
+-82.3787	30.43	6866
+-120.7291	44.6614	6255
+-112.9643	31.7187	6619
+-114.4534	33.1955	6918
+-118.7452	43.4268	6387
+-110.5645	30.1762	7929
+-90.386	38.6929	9363
+-119.895	48.104	6537
+-83.8711	30.5169	6212
+-120.6961	45.9847	6955
+-117.0112	44.1896	6830
+-88.0918	35.2501	6999
+-109.7482	29.0888	6698
+-115.2484	30.8343	6827
+-79.908	28.0727	7351
+-120.9899	48.3709	7002
+-124.3845	48.118	7542
+-84.2319	28.4495	7396
+-118.0061	33.0283	8570
+-118.4182	34.4601	8232
+-115.3178	34.2637	7407
+-80.7816	27.7207	8362
+-90.816	38.6311	8941
+-91.8341	35.4966	5585
+-110.559	34.4897	6315
+-108.4112	32.4996	7167
+-111.4594	30.701	7924
+-91.7742	35.1961	5311
+-112.1848	31.9598	7426
+-83.0209	32.6966	4225
+-123.6401	45.1015	7402
+-116.6475	32.3035	9079
+-116.2836	32.4048	8863
+-107.9672	31.2844	6890
+-90.9731	41.4295	6467
+-118.5537	34.5229	8071
+-90.1852	44.198	3548
+-84.8224	27.0809	6753
+-117.0374	32.5591	9455
+-91.0747	37.8703	8218
+-114.5122	35.1167	6348
+-88.528	36.2905	8248
+-117.7892	31.8861	8368
+-81.9052	24.7307	6448
+-89.4308	34.6246	6321
+-124.1184	45.4882	7502
+-89.458	36.8843	8644
+-118.6092	32.3692	7854
+-92.4298	37.0943	6587
+-112.9518	33.2935	6085
+-93.5631	39.6672	5857
+-89.5215	39.5865	8130
+-124.1199	48.0892	7785
+-122.3857	46.3714	8742
+-119.0214	32.2297	7369
+-83.937	26.8857	7621
+-119.5361	45.6924	7865
+-111.6437	33.4415	7010
+-81.9561	27.8677	9662
+-87.2722	39.8628	6833
+-108.8744	33.3305	7007
+-90.8217	37.7866	8283
+-84.3752	25.0936	5945
+-79.845	26.8422	7100
+-121.2992	47.1741	7833
+-81.2312	29.9338	7237
+-80.1526	30.7961	5797
+-116.9993	43.5607	6247
+-118.7547	42.4986	5414
+-119.9859	46.5127	7405
+-114.8348	35.6054	6437
+-113.9769	31.6939	6191
+-116.516	36.1931	7146
+-106.6894	30.1299	5223
+-113.797	30.3196	5479
+-87.7073	28.3028	3557
+-112.3393	35.1846	5007
+-116.2059	32.7784	8903
+-126.0064	46.8879	6192
+-116.1323	35.3396	7732
+-92.8581	39.0214	6741
+-80.9001	30.2677	6738
+-81.0453	27.5463	8637
+-118.4448	46.6729	8630
+-115.3221	35.9091	6665
+-125.2504	47.3376	6992
+-91.0271	38.3661	8616
+-111.788	30.9889	7771
+-117.8751	47.6147	7599
+-80.4096	28.5423	7754
+-108.6945	32.5816	7395
+-90.1801	36.9827	8053
+-115.605	28.8929	5120
+-120.3059	33.2115	6073
+-122.6809	47.8274	8630
+-81.52	27.8246	9195
+-108.2644	28.3029	5272
+-112.4082	32.3486	7077
+-124.9153	44.8517	6397
+-94.5296	36.5894	4385
+-124.2824	46.755	8070
+-90.8559	37.3184	7799
+-82.5849	32.2198	4828
+-118.3971	34.6725	8172
+-123.453	48.443	7874
+-115.7029	33.6488	8065
+-111.2237	31.2205	8432
+-90.8651	41.7397	6160
+-116.6119	35.525	7860
+-118.2938	45.5857	8716
+-124.358	48.4125	7350
+-117.0551	46.9617	7672
+-118.7538	33.1641	7602
+-90.6919	40.9845	6993
+-117.4822	45.5205	8213
+-118.1246	34.9886	8216
+-114.9747	36.1926	6177
+-108.9306	32.6192	7584
+-121.189	36.2059	4699
+-82.7344	27.6021	9187
+-117.5444	45.6318	8334
+-117.1735	43.2619	6033
+-118.0446	45.4556	8533
+-90.5788	36.5621	7433
+-111.0479	30.8166	8338
+-116.3417	34.7227	8342
+-90.0133	34.0243	5494
+-89.0664	39.9221	7524
+-83.2743	24.1834	5638
+-110.7445	32.9641	7913
+-114.6123	30.4612	6038
+-87.6699	38.7386	8093
+-116.518	31.3955	8091
+-121.5406	43.3927	5405
+-115.864	46.1915	6696
+-118.9024	33.1293	7444
+-118.8629	37.2119	5755
+-84.2404	25.6717	6531
+-121.6318	42.7821	4802
+-82.1657	26.3301	8267
+-111.9595	33.1137	7054
+-87.3154	35.214	6617
+-117.2773	42.591	5395
+-115.4895	30.5282	6715
+-122.9862	47.4308	9087
+-91.0201	37.8064	8197
+-119.2643	32.4294	7154
+-125.1441	47.7001	7012
+-114.411	34.3094	6417
+-87.9571	37.0027	8640
+-122.2278	48.7097	7554
+-121.065	46.1561	7402
+-118.2457	42.0078	4926
+-115.2828	48.8156	4975
+-81.1397	28.4436	8532
+-118.4712	45.7662	8855
+-114.1187	48.0707	4381
+-89.6749	36.3433	8014
+-80.8034	27.8115	8387
+-91.1444	38.3191	8482
+-80.9861	26.7854	8185
+-117.0406	42.6812	5408
+-91.5001	39.6424	7884
+-84.7837	37.4529	5338
+-113.8595	30.8896	5580
+-116.9292	37.7916	5530
+-88.6736	37.7535	9672
+-90.5936	37.0824	7613
+-119.9188	36.4666	5685
+-119.4869	32.307	6885
+-117.122	31.6097	8395
+-113.5786	35.2067	5348
+-112.7153	31.7469	6887
+-88.9308	39.6412	7588
+-119.6222	49.7467	5146
+-108.767	32.8434	7296
+-80.3822	29.8744	6792
+-82.1922	30.053	7305
+-124.7099	47.4721	7542
+-117.6644	28.9393	5359
+-118.0699	35.966	7355
+-112.6012	30.7204	6845
+-109.3686	28.4062	5876
+-89.2913	39.1251	8180
+-113.2573	34.6267	5131
+-119.6689	31.5953	6445
+-88.0483	38.0761	8887
+-119.0206	45.2458	8065
+-121.3518	46.2573	7735
+-122.3332	47.1781	8942
+-81.6296	29.9641	7342
+-117.9593	35.6117	7757
+-117.4622	34.3429	9225
+-89.8178	39.1026	8706
+-90.5092	32.4233	3613
+-116.8955	33.6311	8857
+-90.5337	40.3079	7737
+-81.6486	28.3829	9005
+-115.7304	35.3887	7374
+-117.7057	49.6785	5422
+-116.969	35.5351	7975
+-111.0431	33.9067	6841
+-89.392	38.646	8350
+-117.7271	27.9218	4228
+-93.2767	38.9725	6297
+-92.4933	37.0661	6515
+-124.5203	47.7826	7613
+-115.4049	44.9115	5962
+-112.4321	32.442	7017
+-114.9703	32.3172	7458
+-115.9526	32.1655	8409
+-87.0957	35.8521	7047
+-123.5935	47.1678	8813
+-116.4962	30.227	6817
+-124.53	42.5986	4484
+-117.7465	46.6131	8474
+-116.5195	36.4232	6910
+-111.9851	31.3635	7668
+-125.1976	46.9141	7081
+-121.5774	45.5817	7502
+-79.7814	28.6802	7038
+-115.4442	33.3455	7955
+-118.1534	34.1541	8570
+-120.3035	35.3232	5980
+-90.5889	39.4352	8653
+-122.5056	46.6553	9054
+-117.3876	42.0986	4918
+-111.3269	30.2813	7699
+-108.9467	29.8244	7047
+-109.2632	32.5309	7925
+-110.9959	31.4864	8748
+-81.3276	28.7335	8468
+-121.0151	32.9471	5249
+-118.9876	34.1122	7660
+-124.1941	46.7676	8168
+-92.2277	41.5731	5790
+-110.8413	29.5188	7170
+-90.8828	41.1202	6814
+-115.7761	29.4194	5738
+-92.1655	40.6209	6639
+-115.7925	34.6719	7826
+-87.4134	36.5466	7844
+-117.3584	46.8685	7987
+-91.1031	33.5905	4542
+-114.5888	33.8608	6856
+-78.4681	26.3838	5460
+-117.9544	35.6921	7679
+-114.2422	36.7358	5186
+-83.4789	29.3983	7500
+-113.126	33.8551	5573
+-91.5991	37.9038	7828
+-121.0897	34.8757	5290
+-114.7269	46.8412	5413
+-109.0254	31.6288	8056
+-80.2939	28.4788	7661
+-84.2021	26.4273	7104
+-116.684	32.8674	9433
+-113.7691	30.5936	5600
+-115.2669	29.5709	5666
+-84.2433	27.2598	7437
+-83.7904	28.1857	7959
+-119.6377	47.3977	7274
+-120.8865	46.0014	7153
+-123.7633	44.09	6307
+-112.7583	30.87	6735
+-120.8936	45.1246	6614
+-81.0034	29.769	7291
+-82.4096	28.507	8998
+-89.8878	37.149	8429
+-117.9223	31.2391	7696
+-88.1411	39.5545	7582
+-112.2635	29.6167	6488
+-90.0976	37.8403	8397
+-123.5423	46.6104	8799
+-89.8535	40.806	7136
+-120.9109	48.9006	6558
+-87.4396	37.906	8301
+-79.1233	29.01	6208
+-115.0233	29.9502	5890
+-89.115	34.7007	6464
+-87.5732	37.9254	8444
+-123.4599	46.9019	8987
+-117.6221	33.0766	8966
+-108.4279	30.284	6975
+-116.106	34.8974	8022
+-115.7074	32.1254	8151
+-118.7148	33.1931	7654
+-94.3573	38.713	5141
+-88.6201	38.6273	8724
+-117.3734	33.2442	9094
+-121.7908	45.1467	7265
+-119.9648	47.2801	7085
+-118.3945	31.9587	7895
+-121.8456	48.7222	7356
+-112.3534	30.1228	6773
+-114.6063	30.9824	6419
+-85.3589	28.5816	6128
+-120.0276	36.312	5701
+-117.9555	30.2928	6729
+-126.612	48.4087	5231
+-86.9141	34.8658	6046
+-94.3511	41.0011	4507
+-90.9944	37.6771	8094
+-107.9482	30.2557	6516
+-123.7501	48.7802	7406
+-93.3046	37.3362	5926
+-110.4547	33.6322	7250
+-88.6213	36.0775	8025
+-119.2778	47.1653	7717
+-89.6792	34.3757	5982
+-115.6896	33.5659	8101
+-78.1468	28.7271	5253
+-84.0321	28.0554	7720
+-92.3194	38.3309	7289
+-110.0366	30.6563	8419
+-118.8506	34.5282	7757
+-119.2906	30.9135	6402
+-115.6919	30.5268	6830
+-120.9428	44.0522	5706
+-90.5328	41.7144	6225
+-122.2692	48.5843	7699
+-125.075	48.6856	6560
+-80.7186	30.3316	6578
+-114.0036	32.9804	6443
+-118.3612	47.2071	8085
+-123.3965	46.7929	9028
+-110.0756	33.2501	7646
+-119.9785	45.6838	7412
+-92.0176	38.6001	7655
+-124.7108	47.5618	7512
+-83.9732	28.8413	7482
+-90.2576	37.7408	8328
+-88.2051	38.814	8381
+-119.1642	31.7893	7047
+-88.5095	38.1752	9175
+-109.3048	26.4692	3822
+-123.2409	48.7353	7627
+-111.0731	30.4809	8035
+-119.5171	36.6388	5864
+-87.25	40.2795	6423
+-119.2252	34.1174	7401
+-121.5131	46.3793	7952
+-111.1535	31.2822	8527
+-117.1099	35.1866	8376
+-90.052	38.2945	8817
+-117.2839	34.4405	9202
+-88.7329	35.8738	7803
+-91.1005	40.5616	7324
+-91.0644	37.0263	7427
+-90.121	35.797	7224
+-120.9835	32.695	5190
+-121.6586	49.7252	6283
+-106.4196	29.9106	4862
+-110.3253	28.9464	6617
+-89.3917	36.4312	8262
+-115.014	33.787	7321
+-108.7165	31.3986	7710
+-109.8889	29.7035	7381
+-88.2735	38.4065	8816
+-88.8733	42.3132	5253
+-120.0984	46.1411	7338
+-117.5061	30.058	6618
+-116.6338	32.7304	9369
+-118.3901	48.0429	7200
+-118.067	34.2078	8661
+-118.6286	33.8111	8011
+-117.7285	30.5302	7065
+-87.274	40.1589	6554
+-106.0743	29.5637	4367
+-118.4607	36.0662	7060
+-90.5215	35.209	6426
+-115.4502	46.6108	6212
+-115.6009	46.5675	6377
+-117.5604	34.3337	9150
+-87.7399	39.1189	7818
+-110.1938	33.2218	7692
+-118.8616	43.6412	6585
+-118.5915	33.3378	7852
+-116.0283	35.0808	7837
+-120.4586	49.4031	5817
+-82.9791	25.4243	7075
+-115.1209	34.2072	7196
+-89.058	37.9957	9321
+-90.0824	36.8682	8088
+-119.4673	46.123	8006
+-114.3485	36.6053	5366
+-119.3154	33.6256	7235
+-111.0593	33.4143	7340
+-83.7165	26.2182	7387
+-117.1282	33.1357	9354
+-112.0394	34.0864	6192
+-92.4982	39.0711	7119
+-118.3706	35.4234	7686
+-90.1646	38.8322	9172
+-88.4232	41.8123	5505
+-119.8139	34.5234	6727
+-89.8567	36.9353	8342
+-118.5463	35.552	7454
+-115.309	30.4375	6519
+-119.7784	44.0421	6567
+-118.1929	33.5695	8355
+-89.1503	37.4096	9297
+-82.7379	29.2277	8103
+-111.4937	32.4812	7884
+-120.115	36.368	5589
+-89.351	34.5779	6287
+-115.7345	35.8188	7053
+-121.2616	42.2896	4139
+-122.5853	48.0203	8398
+-121.8459	49.3725	6720
+-110.2579	35.1338	5626
+-117.922	33.269	8574
+-109.7317	32.4078	8368
+-81.2368	27.9287	8862
+-85.9002	37.6162	6597
+-123.5086	49.115	7153
+-111.196	32.05	8411
+-120.3282	34.0972	6198
+-119.909	41.437	4030
+-119.0034	31.7642	7196
+-112.2161	33.4846	6574
+-119.2595	45.7131	8148
+-90.3082	39.789	8302
+-89.1032	38.3443	8965
+-116.6981	36.7932	6571
+-90.3563	39.5186	8595
+-92.6421	37.5726	6679
+-90.5897	37.6131	8179
+-116.8174	36.0881	7350
+-89.8426	37.6802	8607
+-82.0229	25.4807	7303
+-82.6986	25.489	7238
+-120.9628	44.5408	5977
+-91.2704	38.5268	8438
+-121.8231	46.8588	8417
+-81.6982	30.4928	6769
+-85.0363	38.794	5440
+-88.169	35.4038	7189
+-124.7693	48.4237	7002
+-119.115	36.0859	6605
+-117.8596	34.1325	8891
+-115.6323	34.2284	7752
+-113.5382	33.0601	5919
+-109.2486	32.2471	8096
+-119.9295	48.287	6361
+-81.1306	29.491	7636
+-92.6968	37.6487	6663
+-121.5808	30.8555	4161
+-77.7718	26.4174	4727
+-118.414	37.4056	5755
+-88.5425	40.6803	6549
+-113.3954	47.1542	3965
+-88.3606	38.8515	8409
+-81.6294	24.9727	6681
+-106.7087	29.4785	4932
+-111.7271	26.6827	3953
+-83.2912	33.1698	3641
+-119.4802	46.2566	7982
+-119.6333	31.7531	6551
+-120.8415	48.2182	6959
+-110.4037	34.7051	6090
+-116.9324	32.1346	8991
+-92.3716	37.9295	7106
+-89.975	36.8308	8166
+-90.1459	38.4563	9017
+-118.2185	42.7763	5740
+-119.4315	34.3235	7167
+-115.0773	35.6361	6641
+-87.7174	37.6545	8637
+-116.3954	32.9926	9086
+-123.919	46.3172	8279
+-119.2607	48.0936	6909
+-117.7398	31.632	8175
+-89.7699	36.708	8258
+-119.8462	49.324	5466
+-117.0995	34.1962	9343
+-115.8258	30.015	6379
+-123.56	47.0133	8879
+-118.8993	45.3758	8254
+-115.8409	36.7693	6269
+-78.7044	30.3649	5025
+-116.3202	32.8687	9030
+-119.9831	31.0844	5873
+-89.2579	37.5607	9251
+-120.1169	49.6517	5358
+-110.3778	31.3426	9208
+-121.3893	43.8795	5830
+-115.6071	33.0266	8218
+-124.0397	47.2216	8323
+-84.0095	36.3632	4279
+-122.8851	47.9504	8525
+-109.8544	30.3158	8006
+-90.2598	36.7138	7827
+-116.7221	33.6841	8768
+-84.5749	24.967	5690
+-118.4369	36.3838	6771
+-118.7335	45.0156	8017
+-86.3946	37.5438	7149
+-125.2213	44.9823	6251
+-117.457	34.9506	8622
+-89.861	39.1003	8747
+-106.3026	32.3206	5034
+-95.0126	36.925	4061
+-110.9186	30.7233	8346
+-117.0386	34.2516	9258
+-107.0013	32.9755	5561
+-118.7822	34.8988	7686
+-90.7302	41.5817	6349
+-87.1501	37.076	7883
+-106.3846	29.5896	4681
+-82.533	27.282	9182
+-113.8666	33.0495	6285
+-89.4567	39.0048	8389
+-111.2318	30.3937	7858
+-82.6879	28.5612	8796
+-118.9209	29.5986	5553
+-117.6988	33.471	8675
+-121.8985	47.0237	8504
+-119.2922	36.7717	5909
+-115.2575	32.3475	7776
+-121.4828	43.9061	5901
+-121.4252	45.7199	7485
+-89.8726	40.8254	7121
+-80.5801	33.0297	3684
+-79.685	31.5049	4837
+-89.5117	39.8382	7922
+-121.0638	45.025	6670
+-82.9639	27.9499	8930
+-90.6135	36.9256	7442
+-85.4267	39.2077	5686
+-113.4206	33.6655	5686
+-90.0471	38.3553	8865
+-115.0008	29.502	5454
+-121.6278	35.1372	4656
+-108.0455	30.5877	6770
+-88.5285	35.5344	7408
+-121.4967	43.5603	5559
+-118.3327	35.0787	7984
+-83.2083	27.3647	8594
+-115.0886	29.9962	5973
+-115.788	34.0911	7924
+-90.639	37.7257	8286
+-87.278	34.1161	5494
+-115.8455	35.8699	7090
+-117.5946	30.9964	7605
+-91.4954	39.783	7788
+-122.3931	49.0239	7278
+-89.4747	40.4625	7335
+-117.8492	30.7233	7219
+-88.8456	37.2278	9315
+-88.7731	40.9043	6525
+-91.7635	37.8795	7666
+-118.2577	34.8263	8219
+-104.9869	32.7379	3547
+-119.7887	44.4961	6931
+-113.8892	32.7117	6318
+-121.871	45.2164	7376
+-108.9103	30.1614	7294
+-92.9151	36.5841	5833
+-81.3267	26.3841	8082
+-116.9074	30.5333	7205
+-88.2325	35.0783	6849
+-88.0895	39.4933	7628
+-120.4968	43.0112	5236
+-88.3272	42.4466	4865
+-116.9131	34.3675	9075
+-116.9672	31.1339	7876
+-87.9056	39.9419	7084
+-116.8072	46.5554	7625
+-112.5775	31.0813	6982
+-112.0132	33.8767	6393
+-89.2193	37.984	9194
+-92.2132	38.0225	7302
+-110.8307	33.6972	7121
+-82.6172	30.232	7050
+-118.3717	44.8935	7979
+-90.3486	37.7405	8336
+-84.8768	29.883	5972
+-88.8073	38.5827	8785
+-87.1958	38.92	7559
+-113.6549	45.3142	4288
+-126.4287	46.095	5613
+-116.4214	32.9705	9121
+-109.0752	31.2114	8052
+-88.8398	37.9365	9501
+-91.7849	36.8175	6851
+-88.7144	38.9551	8367
+-119.6343	47.1248	7465
+-112.8095	33.9039	5797
+-87.1374	36.2851	7418
+-120.2089	47.501	6738
+-94.2472	37.2138	4943
+-115.9478	47.6341	6301
+-116.5177	31.0742	7746
+-91.9216	41.1955	6310
+-110.1335	28.2389	5844
+-118.3485	30.8259	7050
+-123.1017	49.6384	6662
+-110.6867	34.5183	6271
+-110.109	33.8275	7030
+-109.9702	29.4903	7172
+-117.383	33.8819	9236
+-114.8351	33.0805	7357
+-107.8942	31.8462	6816
+-118.2947	46.7765	8544
+-83.6655	26.3136	7504
+-115.5431	33.4237	8027
+-118.3118	48.3537	6873
+-87.9619	35.2057	6909
+-112.7986	33.294	6222
+-118.1903	45.0588	8153
+-124.438	47.7363	7717
+-111.9878	35.2095	5155
+-81.9709	30.0894	7258
+-118.6241	27.1764	3196
+-118.5746	33.5993	7997
+-119.7885	45.4407	7520
+-117.5654	32.0775	8692
+-89.5379	35.7093	7454
+-118.9999	35.3418	7233
+-115.8422	32.2719	8359
+-81.7512	26.0293	7880
+-119.1598	46.2324	8322
+-88.9371	37.7045	9619
+-115.5513	32.8356	8174
+-116.6964	31.9698	8761
+-86.7129	36.9026	7356
+-91.5562	37.5454	7612
+-125.5726	48.3661	6292
+-79.0425	24.6146	4898
+-119.3875	35.3013	6897
+-119.0466	32.7758	7432
+-87.3496	38.5427	7945
+-119.4242	43.8799	6617
+-117.0553	32.0655	8909
+-119.7332	48.8747	5945
+-85.4484	39.2914	5667
+-117.5043	46.1216	8435
+-90.1255	40.0446	8002
+-89.2679	39.6649	7869
+-81.0548	30.9809	6057
+-115.6908	46.5135	6480
+-83.2161	27.45	8616
+-87.1194	38.3761	7802
+-123.9134	48.7089	7392
+-83.2572	30.1392	6922
+-109.0872	32.4849	7807
+-121.4414	47.9014	7703
+-112.6746	30.8645	6820
+-122.7411	34.9418	3501
+-91.254	40.2508	7554
+-119.7852	45.7221	7620
+-108.2214	30.4711	6888
+-115.4246	46.1705	6232
+-89.1235	36.8488	8814
+-94.0856	36.7296	4878
+-111.9894	32.1297	7584
+-82.3108	27.7976	9689
+-117.4121	33.0603	9186
+-88.2735	36.2973	8182
+-107.3513	32.3801	6129
+-124.1248	48.5368	7418
+-120.0575	36.8802	5266
+-118.5105	36.1163	6984
+-86.7838	39.8682	6489
+-117.7347	33.04	8861
+-117.5894	33.8858	9094
+-108.2438	28.8441	5741
+-116.6312	31.3496	8074
+-89.5988	35.404	7110
+-86.5965	37.0932	7296
+-124.3556	43.3662	5340
+-83.0106	28.8068	8353
+-88.0003	36.8476	8557
+-120.553	45.9225	6849
+-117.0382	34.5991	8972
+-117.7263	48.1567	7004
+-119.6225	36.2323	6096
+-117.0295	33.5703	8871
+-123.8912	45.8596	7974
+-120.7868	45.6265	6857
+-115.1182	37.0916	5550
+-110.1634	32.5356	8425
+-115.667	32.4969	8260
+-89.6634	35.0446	6705
+-91.9853	39.2513	7615
+-116.9652	32.6765	9597
+-123.8233	47.4726	8449
+-92.9266	39.0274	6667
+-92.0003	36.7309	6636
+-109.6204	31.3194	8650
+-121.6891	47.0769	8270
+-86.7554	37.7537	7555
+-118.7813	48.7312	6424
+-119.2132	34.4468	7387
+-122.3018	47.0202	8946
+-115.8824	28.8523	5169
+-114.1897	31.8823	6485
+-79.7799	30.8049	5544
+-80.5305	26.528	7601
+-114.6074	34.347	6628
+-117.295	33.5063	8853
+-116.8215	47.6493	7005
+-115.3114	29.4746	5593
+-123.7407	47.3785	8578
+-117.6992	47.9214	7235
+-117.6204	33.8341	9032
+-78.873	27.7104	6203
+-91.0155	42.758	5051
+-116.7241	30.4203	7066
+-88.749	37.8379	9621
+-121.2798	28.5601	2994
+-89.4994	39.2729	8317
+-108.7699	32.2853	7617
+-115.8658	28.2504	4514
+-84.6309	25.3123	5931
+-113.8682	32.3816	6263
+-118.3939	34.1822	8307
+-88.2417	37.773	9214
+-120.727	30.7898	4988
+-118.6421	29.9784	6077
+-84.1141	27.3531	7603
+-109.3909	30.5478	7957
+-117.7618	32.0033	8484
+-114.1727	27.3688	3297
+-115.6468	42.6092	4627
+-125.3068	46.1602	6818
+-93.0724	43.7319	3322
+-118.3216	33.5296	8212
+-117.0975	47.4063	7392
+-114.5861	33.8678	6850
+-89.0922	39.7814	7643
+-113.9464	33.0157	6377
+-115.8262	30.4462	6819
+-87.479	37.6435	8370
+-121.4917	45.7354	7551
+-117.964	45.8348	8821
+-117.3111	47.5378	7422
+-118.0676	34.4784	8586
+-119.7975	43.424	6004
+-91.5329	37.3016	7431
+-116.37	26.7598	2964
+-109.8724	30.912	8591
+-89.2714	36.6804	8572
+-113.3539	34.4011	5260
+-116.7428	35.3778	8065
+-115.8139	32.9635	8457
+-115.8247	32.1902	8300
+-124.2908	44.9307	6897
+-80.6688	28.1282	8186
+-89.5488	38.3704	8436
+-89.3088	34.5495	6264
+-111.8693	33.6424	6690
+-89.2071	38.885	8148
+-86.1123	29.2231	5099
+-107.3705	31.04	6210
+-91.4909	37.4109	7551
+-123.592	45.0933	7412
+-86.0658	36.5358	6529
+-115.6949	35.8455	7003
+-85.5585	25.0774	4966
+-91.0398	37.4558	7860
+-88.5657	40.7587	6504
+-113.05	32.8514	6225
+-122.1821	47.695	8483
+-92.3201	35.8723	5686
+-109.481	33.2606	7435
+-90.8831	37.5688	8042
+-119.6537	44.8849	7321
+-109.1869	34.5671	6010
+-113.9136	31.9996	6228
+-92.0263	38.0347	7493
+-87.9565	37.2244	8779
+-109.8952	31.228	8862
+-122.6542	47.5145	8946
+-116.4763	44.8159	6913
+-117.7506	48.4874	6670
+-118.5239	33.518	8011
+-83.4815	26.0494	7422
+-79.8394	25.9736	6598
+-91.6967	39.5709	7755
+-122.4597	34.6716	3843
+-89.4412	39.6129	8047
+-121.8819	42.5858	4665
+-118.7019	49.6035	5524
+-118.5698	30.8267	6903
+-90.4903	35.2342	6469
+-86.9791	34.2947	5532
+-93.2653	37.7159	6124
+-91.0918	39.6466	8193
+-83.8909	28.364	7792
+-91.3028	35.0336	5712
+-80.0436	28.4883	7391
+-125.3528	47.1161	6906
+-117.7044	32.4897	8853
+-110.2116	31.4012	9236
+-114.2486	32.5766	6709
+-113.2815	29.5688	5605
+-124.102	46.814	8275
+-115.9276	46.0436	6765
+-81.5425	30.3365	6909
+-124.0818	46.0956	7993
+-115.429	30.3276	6490
+-117.979	34.0897	8759
+-108.7898	29.8832	6986
+-111.2245	26.0686	3421
+-115.1284	36.6398	5944
+-86.0011	37.1502	6657
+-89.2073	37.7649	9308
+-111.4906	29.372	6769
+-122.3919	47.0916	9031
+-91.4283	40.26	7445
+-118.2281	32.578	8321
+-89.243	42.0996	5611
+-90.9818	39.7293	8187
+-119.9637	49.2007	5525
+-124.4644	42.3422	4243
+-125.8221	48.4109	6025
+-116.5299	44.4516	6712
+-83.9259	39.3608	4058
+-87.0017	35.8548	6976
+-115.5097	34.5356	7572
+-123.2857	47.7964	8601
+-123.323	46.0124	8459
+-96.8468	39.7556	2374
+-114.8293	43.601	4745
+-116.4711	30.0226	6588
+-110.3185	32.3221	8673
+-120.0905	31.8622	6109
+-115.6496	31.5754	7734
+-89.0003	38.8819	8425
+-120.3222	44.5364	6539
+-83.6281	29.3961	7391
+-109.3257	34.6714	5954
+-118.9151	48.4633	6670
+-116.3301	30.7625	7354
+-113.4024	29.5251	5470
+-120.757	31.6022	5313
+-90.4772	38.9103	9224
+-113.7297	30.4151	5582
+-90.9854	38.2709	8595
+-108.8641	29.9243	7073
+-113.6914	34.4344	5624
+-86.0485	40.5315	5382
+-110.1553	30.4923	8276
+-115.728	42.788	4830
+-115.3189	31.701	7533
+-80.8454	26.4429	7803
+-118.8822	27.9036	3871
+-90.8298	35.6202	6554
+-121.8089	46.796	8393
+-94.5409	42.323	3516
+-89.3901	36.812	8628
+-91.7916	37.7537	7565
+-121.8378	44.8688	7023
+-115.7264	34.1141	7858
+-108.0202	31.5474	6967
+-87.6807	37.3498	8546
+-86.9059	34.795	5975
+-112.1442	31.7691	7501
+-118.7231	36.5993	6414
+-116.9647	48.1347	6693
+-91.9723	40.8184	6613
+-125.4251	49.0411	6016
+-116.3386	33.0307	9013
+-110.5535	31.359	9133
+-80.7279	27.4877	8271
+-85.3365	36.0923	5579
+-88.0625	36.7736	8539
+-86.2769	39.6691	6228
+-110.5514	32.1357	8830
+-88.7358	37.1674	9254
+-90.9076	38.6136	8840
+-122.4141	48.2449	8104
+-80.9785	25.1026	6608
+-88.9724	39.0529	8241
+-115.9974	30.1613	6600
+-117.3939	34.1755	9392
+-81.4676	26.8239	8587
+-85.7034	30.0633	5090
+-89.999	36.3055	7755
+-120.2992	37.1054	4906
+-88.8897	35.743	7652
+-88.5566	37.958	9411
+-118.58	47.5045	7740
+-85.9398	38.382	6542
+-90.1982	36.5271	7762
+-119.7007	34.5468	6845
+-117.8519	32.9338	8757
+-85.3411	25.7399	5600
+-81.167	31.3356	5709
+-118.0949	31.9118	8140
+-117.7117	44.0243	6980
+-78.8265	28.3574	6092
+-91.7084	40.6332	6942
+-113.1636	30.0855	6004
+-125.0396	45.3233	6642
+-115.4673	33.7959	7755
+-116.742	31.5484	8316
+-87.7867	38.2797	8517
+-115.035	34.0773	7103
+-91.5965	37.9444	7855
+-125.6005	47.8537	6483
+-111.8124	30.2093	7286
+-121.8791	46.3918	8319
+-116.8676	33.0481	9472
+-122.0334	48.3714	7793
+-90.9574	37.0657	7506
+-123.1539	45.431	7896
+-117.6644	33.9468	9059
+-118.0406	32.2578	8402
+-83.1455	25.9556	7545
+-124.6341	49.8595	5901
+-125.2271	48.9094	6276
+-109.3113	36.1907	4360
+-120.613	44.6971	6380
+-108.7532	32.4907	7499
+-113.2249	34.6003	5100
+-123.4942	42.7352	4912
+-88.2029	39.6478	7502
+-125.0231	47.0023	7273
+-83.1772	30.1406	6958
+-114.0943	32.0622	6440
+-82.9798	27.2799	8788
+-116.7719	34.7123	8707
+-116.0575	30.5162	6994
+-116.4922	35.8235	7510
+-126.525	46.1475	5523
+-119.0427	45.8592	8417
+-118.1895	34.6838	8366
+-116.853	37.025	6352
+-90.5845	41.8162	6112
+-118.8935	33.7276	7709
+-92.0723	40.1083	7088
+-120.5861	42.0758	4350
+-78.7046	24.4669	4509
+-120.5804	45.4893	6743
+-84.3145	30.1813	6211
+-88.2341	41.6789	5509
+-81.7761	32.5123	4508
+-107.9288	28.7547	5451
+-116.4549	47.2171	6991
+-90.1141	35.8099	7240
+-81.2127	26.3418	7973
+-121.07	44.3273	6078
+-117.7217	44.5477	7512
+-118.4459	36.9404	6217
+-123.1106	49.3505	6977
+-117.6037	47.1143	7968
+-91.8345	42.4313	5159
+-91.4666	40.6784	7040
+-87.3596	35.7156	7116
+-84.4232	28.8116	7045
+-113.462	31.6176	6084
+-123.3418	46.8768	9111
+-109.2293	32.8926	7618
+-77.1479	31.7099	2701
+-88.9555	33.5395	5178
+-91.9903	34.934	4961
+-88.4814	40.1602	6872
+-116.8784	32.6831	9574
+-120.9483	43.569	5368
+-117.4247	45.7226	8267
+-86.4779	39.2155	6713
+-120.8006	34.086	5683
+-107.9384	31.7791	6870
+-87.6558	41.6153	5161
+-122.0802	48.2005	7979
+-114.8332	35.0298	6709
+-118.1006	32.5924	8463
+-115.4541	31.9433	7805
+-108.8164	33.6406	6704
+-93.7629	43.6118	3042
+-124.5825	49.8297	5958
+-118.4153	35.0323	7947
+-106.6993	32.9014	5285
+-90.4171	38.3733	9017
+-116.6365	32.2924	9062
+-116.7672	29.9528	6551
+-115.9054	34.7215	7920
+-117.0286	30.9517	7672
+-80.1767	25.5542	6551
+-82.196	27.7272	9809
+-110.4727	28.9437	6610
+-119.7831	49.3654	5455
+-123.1071	45.5304	8012
+-85.9138	37.9709	6594
+-95.1616	39.1786	4253
+-115.641	46.9668	6315
+-87.6585	39.2952	7603
+-87.3207	40.0879	6649
+-81.6256	30.4582	6794
+-115.2748	30.4895	6544
+-114.5535	30.5046	6025
+-82.3844	28.5219	8992
+-92.4912	36.215	5871
+-110.7854	30.7957	8490
+-123.5709	44.4525	6747
+-82.3664	27.9772	9537
+-118.3754	36.1172	7059
+-110.7482	31.6347	9021
+-116.7854	46.7766	7520
+-107.4587	33.6426	5642
+-117.8826	33.232	8631
+-118.1145	30.0869	6450
+-87.0288	39.2556	7171
+-123.3695	49.3571	6930
+-117.1824	47.5133	7363
+-115.6048	40.3437	2536
+-82.9608	27.6841	8952
+-91.613	37.6205	7625
+-89.0587	40.0353	7435
+-121.7496	47.6748	8122
+-79.4084	25.9885	6211
+-118.9886	45.9668	8500
+-117.5503	44.6051	7497
+-82.9875	28.2773	8767
+-118.1367	32.8764	8446
+-118.2298	37.486	5733
+-122.9303	47.442	9083
+-108.0177	31.5061	6963
+-92.8919	42.0231	4980
+-108.641	33.8617	6399
+-120.5444	46.8624	7016
+-89.5337	36.4931	8242
+-112.8115	32.42	6640
+-90.3893	41.0671	6927
+-82.1296	30.4595	6846
+-81.2677	33.4192	3423
+-118.7115	33.3617	7751
+-86.3457	29.3761	4791
+-116.2177	32.968	8901
+-84.7321	33.0383	3243
+-116.6705	33.1738	9235
+-87.3478	37.3474	8183
+-119.8356	35.4108	6408
+-118.1399	45.1548	8248
+-90.4165	37.465	8039
+-92.0457	41.2734	6167
+-87.1985	36.2274	7426
+-119.1593	36.7676	6000
+-119.0942	28.6318	4517
+-122.7339	48.0492	8403
+-120.6344	32.7108	5550
+-93.1407	39.2428	6405
+-90.5519	38.6878	9231
+-115.0245	45.9489	5805
+-117.3677	48.5449	6496
+-119.651	32.8206	6759
+-122.8265	48.9621	7412
+-119.4584	32.6228	6965
+-107.9239	33.775	5945
+-109.9909	29.7134	7414
+-116.6857	32.1372	8933
+-109.4175	29.8737	7372
+-84.6706	28.0683	7002
+-88.3213	38.5548	8699
+-116.8948	33.8751	9044
+-90.1024	35.6539	7104
+-80.5265	26.528	7597
+-88.7474	36.3283	8313
+-110.9324	33.4267	7373
+-89.2718	39.8576	7733
+-83.6484	26.5914	7723
+-85.6865	35.0871	5306
+-91.1856	41.1963	6649
+-119.9953	36.1625	5829
+-119.2384	35.7928	6727
+-113.8484	33.3091	6232
+-121.2464	48.0351	7443
+-116.5665	33.1192	9193
+-120.8149	45.0223	6347
+-90.2495	35.1852	6571
+-90.293	39.5972	8506
+-108.9594	30.2852	7426
+-123.483	43.3151	5544
+-90.0006	36.2564	7712
+-114.0336	37.4153	4513
+-90.9457	37.2953	7743
+-85.5086	27.4093	6053
+-123.7246	47.5254	8512
+-92.5127	40.3485	6554
+-119.3025	32.0651	7016
+-91.0848	39.2988	8464
+-90.6501	34.8413	6004
+-116.4146	47.0865	7023
+-118.9176	31.6897	7240
+-85.0518	28.2821	6540
+-113.7717	31.922	6052
+-124.8252	43.4239	5176
+-89.3403	41.5786	6175
+-108.9613	32.0687	7897
+-81.4903	25.1462	6840
+-116.5077	44.6539	6835
+-89.6773	41.163	6715
+-83.1476	29.6894	7433
+-93.0786	35.8039	5120
+-88.5188	37.1317	9154
+-109.8749	29.2705	6919
+-89.4088	38.6372	8367
+-78.9418	28.2386	6242
+-88.84	39.8987	7351
+-127.5967	43.7921	3378
+-110.8244	28.7012	6306
+-118.4494	36.5655	6588
+-87.2194	39.731	6919
+-91.494	40.4612	7226
+-115.0811	35.4915	6731
+-117.2911	33.9245	9309
+-111.7153	29.5323	6794
+-113.0126	27.0577	3775
+-117.9201	35.8912	7492
+-119.5233	32.4097	6865
+-107.5563	29.4099	5653
+-108.6214	32.0557	7549
+-112.4052	32.2375	7120
+-122.898	44.1493	6511
+-89.9407	38.3567	8786
+-108.3682	27.5205	4584
+-108.6804	30.2237	7155
+-91.8168	35.6635	5756
+-85.0528	38.6393	5506
+-117.0369	36.3015	7159
+-118.3535	46.7888	8527
+-88.7354	35.3279	7190
+-120.3196	30.6151	5279
+-89.571	36.007	7746
+-109.7861	32.7185	8108
+-115.8552	28.5706	4857
+-90.6319	37.4261	7972
+-124.6037	48.4988	7089
+-119.6838	48.1024	6673
+-83.1781	24.7409	6271
+-115.4132	36.0408	6637
+-89.8317	35.7314	7336
+-116.4304	45.8524	7281
+-87.7556	39.432	7531
+-110.7634	31.2119	8858
+-117.7183	48.2342	6922
+-110.402	30.4452	8238
+-82.6969	26.6052	8432
+-92.2047	38.344	7413
+-114.1685	37.0798	4874
+-117.6837	49.2787	5835
+-119.1471	35.2438	7156
+-85.8192	28.5244	5635
+-123.2088	49.0855	7254
+-118.7108	46.5507	8603
+-117.0164	32.6138	9520
+-84.2079	38.7491	4555
+-108.4354	35.2818	4970
+-79.9668	27.608	7435
+-120.9049	44.5633	6042
+-121.3579	36.6579	4294
+-87.4769	39.8951	6924
+-114.8032	43.8411	4866
+-90.8048	39.7699	8235
+-90.3319	41.0434	6952
+-91.4379	39.2492	8167
+-110.0983	36.468	4175
+-91.4628	36.9612	7172
+-119.4208	43.0744	5837
+-92.4312	35.7723	5529
+-83.9203	30.6069	6096
+-85.8107	35.613	5775
+-116.8959	37.9013	5408
+-111.3971	29.4458	6887
+-125.1394	43.2061	4798
+-127.0289	43.8085	3895
+-89.441	38.7893	8408
+-118.5626	33.2112	7803
+-88.5364	34.7228	6501
+-119.6853	29.4782	4951
+-93.444	39.0567	6109
+-78.3994	29.1564	5385
+-117.3637	31.4511	8167
+-87.7869	38.4211	8427
+-81.5083	26.4201	8213
+-117.2943	32.4687	9220
+-120.3279	47.2663	6768
+-88.9483	37.2756	9332
+-117.9635	33.30	8353
+-109.4783	31.2747	8489
+-122.4146	45.1511	7542
+-112.3345	28.9507	5891
+-90.0516	38.4028	8907
+-90.3519	37.0939	7639
+-114.735	32.0067	7105
+-80.3392	27.8749	7859
+-116.7662	30.6322	7306
+-117.8365	35.6949	7725
+-117.1139	42.1786	4927
+-118.3824	35.9882	7177
+-108.5894	33.4498	6706
+-88.9599	37.0733	9115
+-89.5439	36.6887	8413
+-90.3663	37.5206	8099
+-111.3592	30.0076	7436
+-121.8354	49.0544	7031
+-115.853	34.6517	7896
+-116.735	34.1649	8957
+-118.8067	34.4321	7827
+-117.8596	36.1787	7215
+-90.1125	39.0578	8982
+-119.1944	46.2412	8284
+-118.3604	31.9912	7946
+-88.8644	39.6679	7512
+-91.7053	38.4552	7964
+-125.2095	46.6625	7047
+-90.1359	37.8884	8458
+-113.0179	35.1235	4779
+-124.8438	48.383	6964
+-127.2795	45.2322	4431
+-116.6093	33.1497	9208
+-89.0375	41.0784	6526
+-87.1239	36.5493	7585
+-121.3509	46.9971	7904
+-117.3274	29.2385	5742
+-84.3205	28.1068	7388
+-80.2402	27.6972	7749
+-120.9549	48.423	6937
+-84.2453	24.5643	5553
+-116.563	47.3538	7006
+-111.2033	29.1898	6714
+-90.6048	33.4129	4614
+-114.0948	33.6544	6416
+-118.7161	32.2853	7713
+-111.0148	35.902	4736
+-88.1271	38.1994	8880
+-86.2087	36.9614	6837
+-109.9335	33.3563	7504
+-80.7185	26.239	7537
+-87.7133	33.4403	4927
+-116.1713	43.7341	5902
+-94.0923	37.8205	5303
+-119.341	47.8417	7102
+-116.235	33.8611	8374
+-88.4798	36.8701	8865
+-81.2258	26.5436	8169
+-93.1094	40.4498	5962
+-82.8206	29.2213	8072
+-87.7939	39.6416	7343
+-86.3575	28.7342	4990
+-126.3079	47.4017	5832
+-117.1219	33.1175	9375
+-110.1335	34.3563	6461
+-80.366	29.2673	7269
+-122.6143	47.9922	8437
+-91.1307	41.0399	6828
+-117.9332	29.8146	6235
+-117.1296	31.4987	8272
+-90.1854	36.2412	7558
+-91.3608	36.5839	6863
+-89.1008	35.476	7328
+-108.343	29.7002	6505
+-88.9162	39.8536	7446
+-113.3102	31.9149	6228
+-90.2201	38.0067	8604
+-94.4922	39.9263	4818
+-126.8807	49.4824	4433
+-115.82	45.916	6644
+-117.0337	35.1806	8368
+-115.6464	34.9682	7550
+-117.7277	44.1336	7096
+-119.0702	37.1309	5722
+-88.3889	35.9695	7864
+-86.2605	38.0923	6962
+-117.7276	35.05	8419
+-116.3394	34.3933	8487
+-111.687	32.4566	7728
+-116.8746	31.2931	8050
+-91.0867	37.7504	8107
+-117.8795	35.8764	7522
+-111.466	31.5062	8243
+-116.0164	32.4469	8616
+-90.4175	37.8994	8507
+-118.7194	47.8913	7308
+-117.8108	47.8735	7317
+-77.2554	25.9462	4002
+-122.9101	49.6629	6644
+-90.2251	37.8307	8419
+-118.5322	34.4701	8109
+-86.0137	39.4253	6148
+-93.5003	39.8402	5865
+-118.5799	45.9537	8910
+-108.4169	31.8988	7369
+-119.6001	32.2242	6742
+-93.3896	35.9889	5025
+-88.5297	38.6488	8680
+-120.7265	31.8607	5426
+-118.335	47.0753	8226
+-90.9999	36.2436	6642
+-115.2389	33.5668	7652
+-119.2181	46.2435	8259
+-90.7336	41.1281	6834
+-106.7408	32.2153	5521
+-88.079	35.2545	7000
+-124.8056	46.655	7485
+-119.8941	46.0658	7554
+-120.4082	46.2088	7007
+-88.4494	37.4023	9352
+-89.4111	39.1576	8288
+-112.516	29.6543	6318
+-116.9722	32.7182	9643
+-118.8416	30.5773	6495
+-123.4594	44.804	7152
+-112.8208	30.605	6577
+-111.3477	28.0123	5451
+-116.2016	37.0443	6157
+-88.4065	38.8289	8449
+-109.2737	31.742	8313
+-123.7251	45.4011	7662
+-112.7144	33.5278	6143
+-93.1998	40.0445	6083
+-90.5387	36.7635	7583
+-123.38	49.4357	6843
+-80.4423	27.4826	7952
+-120.5946	47.298	7047
+-118.2265	33.4742	8268
+-90.298	38.4731	9112
+-111.9378	32.1437	7632
+-91.9012	40.7859	6687
+-90.7706	37.1494	7649
+-79.3071	28.1117	6671
+-110.2698	31.3984	9262
+-108.822	30.8058	7632
+-117.4992	30.1728	6745
+-114.8639	35.6625	6431
+-117.5482	31.3678	8011
+-115.7646	47.8426	6017
+-85.497	29.7182	5493
+-125.6932	44.3323	5388
+-112.6505	30.159	6527
+-87.7754	36.8394	8366
+-117.574	35.3234	8197
+-118.3873	43.3001	6293
+-88.937	40.4051	7055
+-116.9842	33.9912	9193
+-122.6069	44.8132	7219
+-118.1878	44.9916	8082
+-83.3718	29.7768	7221
+-81.6861	26.8808	8770
+-118.477	47.4585	7807
+-120.518	45.9669	6890
+-118.2226	32.458	8296
+-81.5586	27.4893	9170
+-122.0063	45.9726	8138
+-114.8608	45.9525	5632
+-88.9483	35.4893	7363
+-116.2965	36.6148	6631
+-107.3769	34.3195	5109
+-88.4488	37.4294	9370
+-115.5813	31.7626	7811
+-81.8743	26.1899	8085
+-88.1048	36.9437	8715
+-117.8619	33.7064	8739
+-81.206	29.8628	7299
+-81.6692	31.6603	5456
+-116.7568	32.2607	9090
+-122.2143	32.8771	3970
+-118.2462	30.0619	6365
+-115.2327	35.9345	6574
+-87.1584	36.7628	7745
+-115.0052	33.0725	7547
+-124.6313	47.4361	7635
+-90.9717	33.5717	4595
+-110.5991	30.2738	8026
+-116.4659	31.7764	8465
+-117.8066	45.3272	8299
+-109.7677	33.9096	6880
+-82.647	24.90	6598
+-89.4255	39.5857	8054
+-118.9635	35.5159	7150
+-93.0492	40.535	5966
+-114.762	33.4262	7202
+-124.3652	45.6256	7424
+-89.6615	36.675	8316
+-115.4529	35.589	7001
+-80.5667	26.6122	7691
+-118.3476	44.8676	7954
+-115.7747	31.4111	7697
+-92.3297	35.1625	5025
+-116.2199	35.0297	8035
+-88.0766	39.0063	8123
+-123.5454	47.7886	8458
+-108.0641	32.3244	6887
+-88.7609	36.8251	8871
+-88.4614	34.5312	6280
+-116.7302	33.994	8933
+-121.6357	46.1325	7942
+-112.4952	35.1848	4922
+-93.1712	38.0097	6315
+-84.0006	27.9821	7766
+-89.9807	37.6501	8162
+-123.452	45.5633	7949
+-116.7937	43.0306	5647
+-116.1686	34.9625	8037
+-112.7589	34.2408	5575
+-78.3415	30.0144	4905
+-89.7094	38.3326	8570
+-110.8542	33.1387	7696
+-80.4019	28.4107	7802
+-121.0366	48.2166	7141
+-88.6159	40.5531	6703
+-80.1019	26.2276	7009
+-111.1282	30.9609	8380
+-119.5058	46.9789	7666
+-87.0113	41.0369	5549
+-118.112	31.0668	7420
+-121.2293	46.1056	7541
+-114.7719	30.9724	6555
+-92.5852	39.5939	6883
+-90.2415	35.0317	6426
+-117.5321	47.9958	7101
+-124.005	45.4662	7559
+-88.1931	37.4472	9126
+-112.0119	31.1172	7586
+-81.8767	24.5583	6251
+-88.6667	37.7438	9673
+-117.5534	31.99	8622
+-123.3909	48.7049	7622
+-110.2376	29.739	7473
+-119.4913	45.8699	7958
+-108.9056	30.0172	7177
+-112.2859	33.4566	6542
+-114.1643	38.5448	3655
+-85.8221	36.4402	6235
+-122.0657	44.9911	7250
+-118.8117	34.2873	7844
+-79.2962	28.2219	6642
+-91.0531	40.153	7749
+-119.6608	30.8668	6043
+-117.404	34.4781	9133
+-80.0319	26.1267	6877
+-90.5976	38.6393	9164
+-85.9238	38.6973	6420
+-91.5779	36.3948	6578
+-90.4726	41.7767	6161
+-117.1399	33.9403	9286
+-87.3085	29.8596	3577
+-116.6317	34.8072	8528
+-112.4536	31.1694	7133
+-119.3868	36.705	5902
+-116.7144	34.8629	8540
+-111.0606	33.5652	7186
+-119.5919	36.5387	5888
+-116.2695	32.0981	8636
+-120.1538	35.192	6183
+-123.7141	47.3888	8599
+-88.6989	39.773	7300
+-117.4014	34.5777	9031
+-115.932	31.4927	7879
+-122.2491	49.4104	6828
+-88.5843	41.21	6140
+-116.6376	48.2449	6397
+-81.7001	27.0232	8919
+-92.5522	39.4632	6964
+-116.7905	34.2403	9006
+-122.9525	45.7941	8317
+-117.0608	47.0534	7619
+-86.9414	36.1993	7187
+-110.585	31.775	9131
+-114.6262	33.8473	6900
+-120.7888	43.3287	5304
+-121.7487	35.3578	4470
+-122.3882	45.7966	8203
+-114.9713	30.3135	6182
+-92.71	37.6978	6672
+-111.2655	33.1548	7494
+-117.6491	36.1041	7348
+-111.5342	33.5909	6939
+-118.1419	31.6954	7941
+-115.0332	35.6416	6598
+-113.0211	31.5703	6561
+-83.8253	29.2088	7377
+-81.8436	26.9869	8951
+-117.6458	30.1024	6632
+-118.2209	37.8936	5306
+-88.7624	35.0004	6823
+-90.206	38.625	9190
+-114.7911	48.127	4984
+-87.1503	36.9343	7824
+-82.1128	24.1511	5802
+-91.0704	37.5686	7951
+-125.0172	46.8298	7275
+-84.3723	29.5165	6678
+-117.9651	47.0021	8247
+-120.9921	46.3178	7392
+-118.8959	36.3876	6504
+-121.1923	48.8716	6795
+-118.1145	45.8339	8927
+-81.8468	28.9246	8543
+-114.8225	42.1873	3728
+-80.8708	26.1478	7570
+-89.2413	36.4766	8378
+-118.7044	49.8038	5313
+-88.1525	37.6874	9125
+-117.9248	45.7357	8719
+-108.7676	28.1645	5399
+-121.2983	49.1749	6609
+-122.329	45.7935	8173
+-118.2333	33.2556	8114
+-119.4876	44.9089	7467
+-117.5307	28.7138	5134
+-117.812	35.5669	7865
+-118.0932	35.9343	7376
+-115.0499	34.6935	7044
+-116.7378	32.6495	9437
+-87.2136	35.506	6829
+-121.9369	46.3449	8347
+-123.8294	46.8388	8576
+-89.7478	40.8488	7061
+-115.187	44.6829	5654
+-117.3759	32.0764	8809
+-115.5277	32.6166	8132
+-113.4243	43.3049	3324
+-84.2366	26.4301	7073
+-125.3026	48.1821	6648
+-79.4942	27.7417	6907
+-110.6669	33.9254	6910
+-115.3459	34.3378	7431
+-111.2499	31.3933	8459
+-116.1983	47.905	6340
+-117.9904	32.9703	8598
+-91.8558	43.2891	4281
+-118.4759	34.7202	8072
+-112.301	27.9338	4981
+-114.7269	35.0587	6589
+-90.6078	40.3806	7650
+-89.2445	37.7445	9271
+-79.7753	30.863	5489
+-116.2137	30.8811	7436
+-118.2515	34.5807	8358
+-120.0542	44.957	7028
+-91.7144	34.5561	5005
+-122.7706	31.4072	3091
+-115.7067	32.6984	8341
+-120.5372	43.6472	5733
+-116.0227	33.3102	8565
+-120.9817	47.5918	7390
+-122.5868	45.1892	7623
+-90.2651	36.2544	7504
+-116.5138	32.698	9231
+-81.7667	29.2829	8128
+-111.9092	36.4301	3952
+-117.6743	32.7651	8961
+-115.7523	35.09	7584
+-90.0517	42.058	5841
+-121.2453	31.3118	4694
+-115.7724	33.0907	8386
+-115.774	33.9624	7899
+-116.4984	34.1349	8700
+-109.8519	30.1354	7820
+-119.2824	39.2638	3525
+-90.1164	37.0166	8134
+-115.2271	31.7824	7496
+-84.8755	35.0659	4562
+-116.6421	32.7696	9387
+-87.6269	37.2839	8466
+-109.2129	31.2724	8214
+-123.2055	42.6364	4837
+-88.8928	39.1356	8159
+-111.9435	33.6332	6649
+-89.8652	37.3628	8536
+-122.496	47.0898	9142
+-115.8533	33.584	8245
+-115.5121	34.308	7615
+-111.8151	31.1367	7797
+-87.5385	35.6117	7128
+-90.6314	35.9473	6968
+-117.4429	29.187	5670
+-119.0696	47.4321	7622
+-83.4269	24.8496	6282
+-89.8086	38.5284	8760
+-119.176	49.1314	5914
+-87.9592	35.179	6880
+-91.0396	39.91	7988
+-90.7819	37.986	8496
+-110.9309	33.936	6844
+-91.9685	39.267	7627
+-87.7842	41.0675	5671
+-109.0504	30.0022	7268
+-122.7224	47.2369	9251
+-114.8662	36.9313	5517
+-89.8677	39.585	8367
+-78.1227	29.2717	5046
+-109.1781	30.0036	7353
+-112.7902	32.5737	6603
+-116.5971	48.0729	6512
+-115.112	33.4009	7584
+-120.2786	46.7899	7025
+-119.7832	47.9971	6699
+-92.4928	40.0747	6740
+-81.0538	28.5203	8403
+-118.0503	30.2987	6695
+-120.2954	43.808	6030
+-117.7429	32.7967	8887
+-121.8108	44.9171	7056
+-121.3058	47.9779	7532
+-115.7914	34.3747	7907
+-91.5048	33.9541	4637
+-124.7026	44.6181	6354
+-125.51	42.3261	3757
+-89.4507	36.9805	8728
+-119.294	31.9596	6986
+-121.0703	48.2623	7143
+-118.22	49.2245	5951
+-90.77	36.2798	7080
+-118.7924	32.9911	7707
+-116.8091	30.5054	7169
+-116.4657	35.8543	7467
+-125.4601	47.5302	6726
+-92.3191	35.9549	5760
+-118.0939	46.6079	8686
+-119.2156	42.8635	5693
+-88.6755	39.5117	7741
+-118.2171	31.1008	7385
+-118.9514	45.0604	7952
+-121.8857	44.9166	7093
+-124.3931	47.9319	7653
+-120.1677	45.2416	7068
+-112.9072	31.3197	6670
+-83.7615	28.0713	8018
+-116.49	32.7337	9213
+-87.7083	41.2803	5456
+-89.1236	37.8604	9359
+-119.1066	34.4926	7493
+-82.1157	27.78	9867
+-117.9144	33.3263	8409
+-119.2376	33.5765	7304
+-117.2083	44.2898	7031
+-88.3879	40.6338	6467
+-120.6286	45.8946	6767
+-122.6873	48.8822	7489
+-114.1137	34.1972	6098
+-119.8038	46.3378	7631
+-115.5449	33.2884	8082
+-91.1197	37.294	7666
+-119.9939	48.0535	6511
+-114.0573	33.4454	6433
+-110.4419	28.9479	6616
+-81.0106	25.7964	7327
+-118.1767	33.2394	8146
+-110.3181	28.8752	6539
+-108.7619	32.8375	7295
+-81.5541	28.9172	8435
+-121.9204	47.6798	8275
+-88.928	38.911	8406
+-114.6351	36.5383	5649
+-117.5096	44.3567	7241
+-126.352	48.3286	5529
+-108.2712	31.4002	7231
+-91.7197	42.1738	5463
+-117.0039	30.9242	7642
+-109.7754	33.3744	7441
+-118.597	34.0555	8084
+-91.8173	40.8778	6659
+-125.2126	47.7639	6919
+-120.1082	29.4557	4621
+-92.0349	37.7366	7336
+-116.5401	35.0829	8234
+-90.0749	37.7038	8249
+-115.9287	33.5015	8366
+-89.2654	38.8712	8212
+-112.5624	34.3582	5617
+-110.6985	36.9121	3686
+-90.3034	37.6778	8265
+-116.1133	33.984	8269
+-116.6154	46.4651	7452
+-91.5381	38.0376	7962
+-81.9883	28.7974	8715
+-120.8155	31.8778	5334
+-119.0192	46.284	8457
+-81.5854	29.8414	7465
+-88.4099	37.6024	9408
+-116.0278	30.659	7128
+-88.4936	39.1801	8088
+-116.77	47.0791	7352
+-124.2324	44.872	6879
+-88.9838	38.5631	8779
+-116.7725	31.0247	7742
+-125.0693	49.0517	6301
+-123.2879	47.2471	9080
+-89.6608	37.6905	8811
+-113.2745	31.242	6266
+-87.861	33.1083	4599
+-117.7549	33.8414	8917
+-117.13	35.3399	8213
+-119.2739	44.7347	7474
+-117.1532	44.847	7474
+-87.0595	40.5296	6073
+-80.6779	28.5903	8000
+-81.0893	26.5485	8077
+-122.0034	42.9495	5084
+-89.9373	39.8107	8184
+-117.822	32.6101	8771
+-122.3944	46.8551	9037
+-116.5695	32.1412	8879
+-118.6151	33.9671	8056
+-120.2894	47.9716	6355
+-117.9667	36.9037	6421
+-111.302	30.9494	8219
+-110.6652	31.4805	9097
+-92.1385	36.7284	6539
+-81.8928	28.9074	8573
+-111.2601	32.1266	8310
+-115.3794	44.4212	5708
+-120.6688	33.9159	5819
+-118.1493	32.1745	8252
+-91.8407	33.7738	4248
+-110.8541	32.3984	8426
+-90.9266	39.783	8166
+-107.1445	33.1122	5642
+-116.4198	29.5714	6082
+-119.5157	36.0087	6344
+-105.9623	33.9892	4068
+-90.0239	41.851	6060
+-88.8701	37.0917	9160
+-118.2057	31.5499	7776
+-111.2612	31.7974	8442
+-88.0502	37.7754	9002
+-83.5461	26.6355	7845
+-124.6941	44.6785	6412
+-83.1583	40.0943	2955
+-83.8508	25.9254	7044
+-81.432	27.6268	9083
+-89.1113	38.4281	8876
+-115.889	45.9954	6722
+-83.6386	24.888	6217
+-87.0622	41.3439	5265
+-90.0126	39.2835	8724
+-123.6933	44.0378	6273
+-117.4059	31.8361	8554
+-86.9939	36.4758	7418
+-120.2096	40.5221	3011
+-90.9267	37.9151	8351
+-84.77	25.0105	5577
+-90.7145	36.0076	6943
+-113.0915	29.109	5459
+-119.2307	44.6436	7420
+-79.6082	26.6684	6777
+-89.7705	36.311	7922
+-118.1769	34.7264	8353
+-118.2164	35.644	7591
+-86.3686	40.3938	5738
+-108.2257	28.2308	5183
+-118.9533	49.6082	5478
+-90.8583	35.7825	6655
+-110.3679	29.7598	7498
+-120.2411	31.2406	5699
+-119.3136	46.5285	8079
+-89.5916	42.3221	5481
+-115.7347	32.45	8319
+-116.1509	31.4522	7980
+-115.7324	31.9341	8060
+-116.7488	31.041	7758
+-124.0833	49.16	6868
+-90.9252	37.7325	8182
+-88.7679	39.6881	7411
+-117.1026	33.4369	9044
+-114.2493	33.7079	6563
+-123.089	48.9271	7442
+-91.5755	37.2484	7358
+-117.711	45.0115	7958
+-116.9603	32.169	9030
+-91.8823	39.2613	7717
+-118.8716	35.9878	6863
+-120.7658	31.6849	5331
+-116.1394	44.0214	6098
+-118.4118	45.0498	8140
+-116.0964	33.77	8201
+-87.7874	37.4536	8690
+-122.1668	44.9373	7236
+-84.4012	35.6671	4426
+-90.0718	40.3785	7637
+-82.3995	26.1309	8018
+-116.2025	35.9566	7235
+-118.6363	33.5843	7928
+-80.6311	24.1038	5414
+-90.5842	38.7563	9208
+-91.3192	38.7432	8416
+-118.987	35.0045	7434
+-117.9791	31.5803	7970
+-118.948	32.9584	7537
+-118.7072	28.2129	4263
+-82.1752	24.2053	5863
+-115.1079	31.5532	7246
+-118.0018	35.7679	7583
+-118.6847	36.6546	6382
+-87.2666	36.3853	7601
+-82.8272	27.0428	8758
+-113.9623	33.21	6373
+-110.2402	32.8233	8126
+-117.4752	31.517	8196
+-88.9673	38.2493	9123
+-88.4676	37.0219	9018
+-85.468	25.9648	5604
+-117.8849	33.892	8814
+-115.4889	33.0875	8077
+-91.164	38.1925	8390
+-116.456	45.3143	7154
+-115.5415	34.8262	7510
+-113.57	44.4121	3958
+-115.6536	35.321	7353
+-117.9085	42.3902	5312
+-89.0839	35.5233	7384
+-108.9932	33.9523	6525
+-117.156	31.4839	8251
+-115.9721	30.1736	6603
+-86.2764	34.9493	5678
+-83.6599	29.4973	7282
+-86.1634	35.4225	5958
+-114.7753	44.7566	5282
+-93.3091	40.8806	5523
+-124.5884	44.853	6634
+-118.8881	38.0546	4909
+-118.5087	36.2814	6831
+-87.6096	40.4395	6442
+-85.0003	29.5172	6092
+-110.9629	30.3165	7941
+-117.4666	45.7534	8321
+-90.6436	38.8368	9129
+-114.5636	32.5343	7054
+-114.4272	33.2308	6883
+-119.5375	46.3184	7912
+-82.1449	28.9599	8542
+-119.4279	35.072	6968
+-117.2385	49.1961	5800
+-116.0066	35.6815	7360
+-79.7213	27.231	7097
+-115.3353	32.795	7933
+-89.4771	35.7262	7496
+-110.5099	31.0583	8873
+-114.7345	35.1859	6547
+-125.0964	46.1915	7047
+-89.049	39.0043	7960
+-123.7974	45.9504	8117
+-86.7364	37.7387	7535
+-119.1418	35.8275	6781
+-88.1279	40.5916	6286
+-93.5934	40.4604	5504
+-90.1623	39.5765	8502
+-120.864	44.3263	5944
+-124.195	49.2159	6755
+-120.8189	47.1226	7313
+-91.1882	37.091	7437
+-114.4935	31.4425	6597
+-88.3738	39.4986	7711
+-81.1113	31.2765	5757
+-82.6851	27.8926	9252
+-81.2172	29.7449	7426
+-113.2563	31.214	6281
+-117.8263	46.1303	8776
+-89.8796	38.4647	8800
+-117.5492	48.0172	7086
+-115.7843	33.0776	8402
+-121.1126	34.5347	5320
+-117.0406	33.1825	9336
+-120.4999	46.5852	6857
+-110.8501	30.0963	7768
+-110.8533	30.0782	7748
+-110.9521	30.6084	8222
+-91.9607	36.9264	6826
+-117.5505	34.5703	8969
+-106.152	35.7972	3042
+-123.7811	45.9302	8112
+-89.8685	38.49	8803
+-88.9646	42.6254	4976
+-88.7331	38.457	8926
+-116.4785	35.1031	8175
+-121.9015	46.4143	8353
+-122.2321	45.0537	7380
+-119.9112	31.2775	6047
+-117.5729	32.8883	9072
+-81.5739	26.9809	8801
+-88.0532	39.0587	8059
+-122.5373	45.3984	7838
+-116.1304	31.3095	7830
+-90.204	39.3316	8768
+-118.8255	31.2454	7038
+-118.4407	46.3955	8906
+-87.8704	41.7484	5208
+-124.9488	48.1804	6990
+-84.7751	39.9828	4635
+-115.8044	34.4184	7913
+-121.6103	49.0883	6878
+-114.146	29.7151	5077
+-89.4386	39.2527	8271
+-109.1491	33.3162	7200
+-87.8804	37.321	8748
+-89.2995	37.533	9199
+-80.0937	28.0945	7555
+-87.5648	36.261	7740
+-87.8835	40.258	6741
+-86.2469	30.6916	4182
+-85.1579	34.7033	4574
+-116.6764	32.5758	9332
+-119.1772	31.8856	7077
+-119.8393	32.6621	6544
+-118.7697	46.0139	8737
+-90.9219	38.2932	8663
+-81.3914	29.2498	8016
+-117.9917	34.057	8743
+-80.8804	26.965	8210
+-81.6704	25.6521	7444
+-119.0637	36.6637	6152
+-117.9992	45.2854	8347
+-115.8013	31.7041	7956
+-122.5894	46.7811	9209
+-116.8083	43.9616	6509
+-119.1219	37.0304	5785
+-87.389	36.7502	7958
+-112.7592	34.8122	5098
+-110.7089	31.2331	8917
+-125.4792	47.9336	6580
+-117.2674	29.0467	5534
+-126.0532	48.0286	5951
+-115.3491	33.9636	7438
+-119.4807	32.0288	6814
+-119.2033	43.2607	6100
+-118.9572	34.2852	7686
+-88.5505	39.4248	7826
+-89.4341	36.2788	8087
+-90.6475	37.2031	7733
+-83.3789	25.9175	7370
+-82.4949	27.6517	9463
+-124.2771	43.5835	5593
+-114.6948	26.3651	2105
+-117.3859	33.3901	8960
+-86.9747	34.0602	5295
+-81.7778	25.6572	7472
+-91.7501	42.1162	5508
+-117.9572	33.6307	8606
+-117.9853	44.9699	8023
+-110.4384	34.8789	5901
+-122.9314	45.7231	8240
+-114.4438	33.1008	6921
+-116.6585	44.0374	6480
+-121.132	43.6482	5280
+-108.8719	29.2626	6502
+-81.8994	31.249	5944
+-86.786	39.2082	6997
+-117.9297	35.3113	8063
+-121.1235	46.6926	7631
+-122.6261	45.6311	8108
+-89.7383	39.5617	8307
+-91.8499	35.3286	5412
+-111.5524	34.855	5691
+-115.5478	29.7529	5987
+-90.6867	41.9239	5988
+-119.5857	43.6053	6280
+-109.9248	30.5794	8299
+-88.5861	41.2313	6122
+-117.0547	47.3954	7370
+-115.156	41.6325	3485
+-117.4891	46.0832	8419
+-123.8583	43.5626	5721
+-92.4163	38.1414	7137
+-122.7364	45.8076	8320
+-88.752	39.3491	7926
+-87.6129	37.0762	8361
+-78.7099	25.2825	5107
+-120.8487	34.8436	5554
+-123.5057	47.4679	8742
+-110.5913	31.8073	9103
+-89.1985	35.8711	7743
+-91.3318	40.3412	7428
+-119.4882	33.166	6895
+-118.0623	35.0379	8224
+-120.2942	46.4014	7107
+-82.5896	25.2654	7016
+-81.3367	27.7762	8991
+-108.0958	33.2256	6466
+-82.9617	29.7617	7448
+-82.2941	25.478	7297
+-119.4341	45.1457	7677
+-87.9376	38.0608	8784
+-123.5188	44.3576	6660
+-119.1104	48.8016	6268
+-123.203	48.0787	8340
+-107.7539	29.849	6106
+-121.3465	48.0069	7552
+-121.2994	43.8109	5719
+-91.6435	37.5087	7518
+-115.0198	44.7426	5517
+-83.8909	25.9173	7006
+-90.5785	41.3564	6607
+-115.9274	33.7573	8021
+-125.149	46.9065	7134
+-81.0157	24.8598	6369
+-88.197	39.1342	8047
+-120.3671	46.9344	6883
+-117.1267	32.6573	9501
+-120.878	48.9548	6491
+-116.0975	34.5273	8192
+-117.785	40.5204	3328
+-88.7728	39.3729	7899
+-85.1116	28.8369	6312
+-116.3674	32.6412	9056
+-111.2803	28.2564	5726
+-113.0968	46.4455	3755
+-112.6971	41.3942	1525
+-87.0479	39.0193	7360
+-82.6918	24.3705	5999
+-122.6948	47.119	9325
+-115.8167	33.8201	7920
+-117.8917	33.9634	8831
+-120.4545	45.551	6889
+-117.6021	34.4022	9069
+-112.7351	32.4924	6691
+-123.9916	47.884	8040
+-118.0906	46.3507	8926
+-112.7615	34.3852	5456
+-109.147	32.7231	7691
+-120.6302	36.7549	4886
+-113.8936	30.4079	5411
+-79.1379	25.0414	5311
+-114.1924	33.2548	6620
+-117.3355	36.7961	6632
+-108.6023	33.3114	6823
+-88.3948	32.8399	4382
+-82.9385	29.5504	7678
+-87.8331	38.8171	8152
+-120.3962	46.088	7023
+-89.4444	40.2464	7520
+-84.0543	38.2625	4483
+-116.8113	34.5593	8858
+-123.0273	47.0143	9457
+-118.3509	44.6608	7735
+-116.1585	33.7213	8248
+-122.6105	47.4959	8943
+-106.9717	31.6239	5831
+-118.2749	33.033	8274
+-115.8862	46.9835	6555
+-85.1663	28.5576	6346
+-119.7006	44.3533	6878
+-89.8771	32.9071	4330
+-92.041	43.0328	4475
+-116.278	31.4515	8047
+-118.631	38.0068	5058
+-120.9576	48.041	7168
+-107.526	33.4428	5825
+-89.723	36.3065	7949
+-83.4173	27.4299	8391
+-83.2429	25.0797	6604
+-120.0358	44.7838	6939
+-83.5715	27.9265	8255
+-119.4403	34.1781	7166
+-120.6876	48.35	6739
+-117.0687	34.8023	8777
+-115.0099	32.6664	7564
+-81.7043	32.8425	4129
+-89.5937	36.6083	8308
+-89.0652	41.9168	5727
+-112.2838	40.2616	922
+-119.6771	42.3558	5029
+-92.5048	35.9731	5658
+-117.0343	48.1685	6701
+-80.3443	27.9493	7858
+-89.6109	37.6881	8867
+-80.5276	29.0516	7566
+-118.2795	33.152	8241
+-92.3295	40.284	6753
+-93.3473	40.3174	5810
+-112.3089	26.8325	3899
+-115.9527	49.9657	4480
+-89.7008	37.3826	8719
+-84.9785	38.8154	5371
+-118.0164	47.8943	7339
+-110.662	30.4703	8216
+-86.1883	35.1311	5756
+-120.017	35.3829	6243
+-94.577	37.9733	4827
+-108.2773	33.8541	6155
+-84.7256	27.8959	6956
+-119.1302	32.4451	7304
+-89.9294	36.7001	8118
+-90.2213	38.4944	9098
+-120.9653	34.4745	5486
+-117.1711	33.8023	9162
+-118.0384	30.4639	6869
+-117.856	33.524	8613
+-117.9749	33.5992	8570
+-113.4341	30.9354	6041
+-117.3937	31.3037	7999
+-83.4496	30.5153	6444
+-117.9873	35.1503	8178
+-117.471	33.7225	9037
+-117.8995	47.9926	7215
+-115.4456	27.9768	4094
+-81.3811	26.6484	8368
+-116.9336	32.789	9705
+-120.0906	31.4202	5936
+-89.9434	38.6174	8929
+-116.5388	30.7946	7448
+-124.4392	43.9234	5860
+-116.1838	32.9351	8870
+-78.4093	33.3324	2316
+-114.7576	35.5344	6403
+-83.9144	27.6379	7872
+-122.2815	48.2426	8048
+-113.2872	34.451	5183
+-125.6694	48.2344	6260
+-119.6658	49.8643	5013
+-118.8176	42.1083	4995
+-110.31	28.4169	6043
+-109.3493	31.6081	8407
+-117.6751	32.1046	8632
+-121.1625	49.2046	6493
+-109.0969	29.1867	6552
+-122.7464	49.2281	7116
+-115.1614	33.2939	7670
+-81.3291	25.6302	7310
+-86.2413	25.2138	4421
+-90.5451	41.9251	5998
+-80.6033	28.5791	7932
+-108.7271	31.7267	7726
+-116.6073	34.625	8641
+-122.605	49.0375	7308
+-78.6497	27.8877	5949
+-90.42	39.3271	8801
+-82.0008	31.3756	5807
+-117.619	47.0193	8059
+-84.7463	28.1348	6907
+-111.489	31.31	8187
+-86.8427	28.6605	4469
+-117.5874	47.5906	7518
+-121.3957	32.8908	4834
+-113.5526	32.9087	5943
+-92.9769	34.4093	3974
+-118.7564	34.5583	7848
+-87.648	30.6974	2827
+-92.647	35.8363	5447
+-88.4765	34.7346	6509
+-122.5965	46.2124	8713
+-117.2435	33.4338	8998
+-120.0366	46.8719	7232
+-116.5029	46.465	7336
+-124.859	48.0439	7150
+-114.6744	34.518	6679
+-123.1633	47.0996	9282
+-92.2339	38.4265	7399
+-125.4759	44.354	5575
+-111.4663	31.3061	8210
+-118.7621	34.6663	7806
+-87.4759	37.5458	8360
+-119.6093	45.2161	7573
+-87.5349	38.7183	7997
+-89.0441	39.7033	7653
+-86.3543	38.9491	6748
+-122.0042	46.2558	8350
+-120.9519	31.0354	4884
+-111.8845	34.5255	5870
+-89.1967	37.5304	9309
+-91.7155	38.771	7988
+-107.6436	30.5353	6346
+-82.4023	29.4792	7931
+-82.701	27.6792	9243
+-112.03	32.2083	7515
+-93.15	38.9228	6436
+-116.1201	33.8089	8238
+-113.4397	36.3906	4691
+-114.7185	34.4836	6732
+-116.5259	45.9745	7395
+-118.0858	32.3371	8395
+-91.8033	38.7241	7894
+-117.2015	28.9664	5450
+-115.4401	34.8106	7413
+-124.1421	45.536	7525
+-119.5449	48.1461	6715
+-118.5816	43.068	6034
+-80.6657	27.3956	8180
+-82.4029	27.0474	9024
+-82.5218	27.2641	9174
+-89.4896	39.7258	7998
+-93.8651	38.2163	5628
+-114.2696	43.9886	4457
+-82.4415	30.8243	6416
+-113.3942	33.374	5631
+-80.822	30.2525	6713
+-110.0044	31.7109	9091
+-117.9398	35.8003	7577
+-111.7156	33.9196	6532
+-125.2114	45.2007	6410
+-118.9355	33.3243	7515
+-114.4717	34.5349	6458
+-118.8093	44.1123	7083
+-123.8281	46.8464	8578
+-80.9882	27.1176	8403
+-120.5622	48.7679	6364
+-93.5533	36.368	5151
+-108.8871	33.6635	6729
+-88.3232	36.0596	7944
+-88.0256	38.9578	8143
+-119.4569	45.3527	7787
+-115.1198	44.6412	5571
+-118.7506	33.9473	7906
+-107.8732	33.6454	5996
+-92.1306	38.0819	7408
+-119.6531	47.1971	7402
+-120.6223	46.9459	7104
+-116.5142	36.6754	6646
+-120.2984	32.5946	6028
+-89.7131	41.4667	6408
+-76.2265	28.6839	3130
+-119.6476	34.7792	6847
+-123.6911	48.9517	7258
+-85.363	28.5784	6125
+-113.0762	29.0406	5421
+-112.393	30.6785	7036
+-88.5473	38.5795	8761
+-78.1379	27.8551	5371
+-122.2485	46.8328	8875
+-87.598	36.3532	7842
+-119.5077	35.0133	6912
+-110.3549	31.3153	9182
+-88.4633	35.8194	7714
+-116.7024	31.4454	8195
+-117.8875	34.5884	8698
+-118.4023	44.9966	8085
+-117.0439	31.9143	8743
+-116.58	31.6927	8427
+-86.1566	38.2085	6823
+-117.4324	35.2018	8358
+-88.3361	38.8938	8355
+-126.0908	46.6644	6085
+-120.4527	34.4754	6042
+-121.3672	34.8459	4998
+-118.0244	31.7074	8043
+-107.3333	31.6425	6223
+-90.0639	41.1467	6818
+-123.5397	46.8545	8893
+-116.78	43.9677	6497
+-111.5719	33.5474	6958
+-88.9963	38.4947	8850
+-87.105	39.0549	7384
+-118.5712	33.8483	8081
+-81.7534	31.3091	5862
+-123.0434	48.0012	8459
+-80.9869	29.3284	7701
+-120.9756	46.7621	7480
+-115.9555	43.5339	5591
+-109.1046	32.0621	8045
+-110.3655	30.818	8644
+-87.0884	37.0686	7815
+-82.2314	28.1245	9473
+-117.968	47.8834	7343
+-122.5435	44.8685	7268
+-121.6624	46.043	7910
+-111.8028	31.784	7867
+-111.0742	33.7278	7015
+-121.5844	30.1199	3788
+-86.0335	28.9054	5296
+-89.1549	37.6509	9379
+-113.1674	33.0299	6026
+-121.4976	46.5178	7988
+-119.7623	33.6815	6771
+-118.5547	32.9815	7972
+-84.3066	28.7574	7190
+-110.4109	30.7159	8530
+-113.9761	31.8101	6233
+-81.4832	30.4456	6774
+-93.325	36.3139	5308
+-123.1096	43.8951	6224
+-119.8152	45.4227	7487
+-117.407	35.0058	8574
+-82.1045	24.6025	6313
+-122.6972	48.7367	7649
+-117.4629	34.0316	9297
+-118.558	33.7523	8069
+-112.4839	30.9989	7059
+-120.1285	42.6207	5090
+-114.1261	36.286	5385
+-90.9018	42.6472	5187
+-115.8425	35.7212	7211
+-92.1861	36.558	6365
+-91.7163	37.4862	7445
+-123.3411	40.3899	2365
+-114.5594	29.0623	4778
+-81.1471	27.8527	8772
+-116.5151	33.2089	9086
+-81.2426	27.4638	8828
+-117.5771	33.4292	8698
+-82.2838	27.6122	9649
+-110.0986	28.2913	5898
+-116.1982	32.8636	8894
+-82.3978	26.2458	8146
+-116.6241	35.1587	8218
+-118.4507	32.3591	8021
+-84.5953	28.9952	6780
+-110.8982	30.3476	8001
+-90.0575	35.4754	6961
+-112.0436	30.127	7040
+-79.7671	29.9826	6225
+-122.0824	46.7983	8689
+-118.0106	33.346	8356
+-89.1322	40.1242	7421
+-120.4632	34.276	6047
+-87.0618	38.5108	7679
+-92.9156	39.0889	6671
+-89.3495	35.6381	7447
+-119.6725	33.8033	6889
+-107.9818	31.2646	6902
+-115.5036	46.4536	6293
+-115.7774	47.098	6404
+-83.2529	29.0521	7964
+-124.3982	43.9799	5935
+-119.2345	31.4965	6826
+-123.4227	45.7723	8174
+-107.4185	34.6727	4872
+-85.029	34.3662	4218
+-83.4791	25.1814	6595
+-122.492	48.0582	8326
+-119.6344	43.3992	6062
+-92.3827	35.5997	5403
+-107.4425	33.4051	5771
+-89.643	35.283	6965
+-116.7976	33.0801	9404
+-113.3575	30.6197	6035
+-117.6602	42.63	5527
+-86.3528	36.1343	6606
+-85.8246	36.6828	6333
+-89.3782	37.9233	9070
+-91.4558	38.581	8254
+-89.3051	42.0722	5660
+-117.0304	32.6641	9568
+-118.471	29.9935	6185
+-90.2686	40.2753	7776
+-117.7159	34.6062	8826
+-91.1934	36.2377	6579
+-80.72	26.3116	7598
+-83.2055	31.8564	5109
+-123.2427	49.2949	7021
+-118.5417	33.2787	7864
+-87.9149	38.7305	8285
+-125.352	48.9332	6153
+-119.9552	45.3981	7340
+-117.7857	36.6752	6708
+-119.2036	47.4596	7522
+-120.0612	47.1003	7100
+-110.7161	33.4914	7365
+-117.5773	46.8741	8151
+-86.622	39.228	6837
+-110.2354	30.4965	8291
+-113.7227	47.522	4201
+-92.8508	38.691	6764
+-120.3974	47.978	6641
+-112.9892	28.6453	5183
+-124.0841	43.7472	5838
+-109.8434	33.0019	7848
+-116.2124	35.128	7957
+-91.346	37.3261	7572
+-124.0508	43.478	5570
+-124.376	46.9681	7985
+-123.4478	42.3374	4485
+-113.9262	33.4094	6298
+-85.583	28.2336	5954
+-112.1538	35.6385	4657
+-117.9832	46.55	8688
+-94.0735	38.7124	5447
+-115.5197	45.3643	6232
+-89.1829	38.8636	8125
+-118.7436	48.397	6779
+-109.9588	27.5463	5081
+-113.4725	32.2223	6003
+-119.891	32.4031	6458
+-118.6888	32.2332	7725
+-91.6229	41.1496	6513
+-119.603	42.7114	5409
+-82.4759	27.9911	9429
+-115.1153	41.5644	3401
+-91.1943	37.5582	7871
+-116.9027	31.007	7733
+-88.6808	37.5845	9682
+-118.5965	32.1656	7795
+-116.476	34.1568	8675
+-87.5536	36.7579	8114
+-116.5412	37.5606	5717
+-122.1849	30.3845	3331
+-89.4195	40.3949	7370
+-115.9016	36.1815	6853
+-87.9429	38.6314	8391
+-87.2075	37.1226	7962
+-83.1549	26.3011	7871
+-121.9226	46.9833	8532
+-119.8548	48.4174	6295
+-116.2031	30.5792	7116
+-115.5498	36.5579	6297
+-119.0636	32.4506	7378
+-123.7859	45.7261	7931
+-81.0301	28.9034	8100
+-87.9789	37.7336	8928
+-123.1217	45.7553	8253
+-82.7474	25.2694	6983
+-111.4179	26.0835	3400
+-117.3187	35.2502	8318
+-81.5781	29.7805	7529
+-107.969	31.6628	6910
+-116.0105	33.605	8371
+-114.3656	33.2797	6806
+-87.4095	37.3337	8247
+-85.5849	42.4841	3334
+-125.8893	48.3152	6003
+-118.3755	43.4328	6434
+-118.0857	35.8741	7439
+-90.8448	39.7337	8253
+-108.8696	33.9186	6487
+-86.5042	38.7217	7013
+-120.4528	45.9217	6955
+-114.0807	35.7926	5620
+-121.4405	48.9947	6861
+-82.84	26.0749	7818
+-92.2418	40.3826	6758
+-92.5918	34.9316	4670
+-121.2615	32.0128	4879
+-119.7733	33.798	6779
+-112.6217	34.1955	5711
+-110.3365	33.1838	7739
+-122.8386	45.0559	7506
+-115.1683	32.6736	7741
+-125.5078	46.9589	6741
+-116.4275	33.8974	8587
+-117.684	49.2906	5822
+-117.9193	29.064	5434
+-112.7101	31.6191	6898
+-83.758	30.4053	6387
+-110.2612	34.5102	6301
+-86.7934	41.72	4754
+-121.1542	44.7948	6545
+-87.14	36.0905	7273
+-123.6715	43.899	6131
+-124.0795	46.4007	8169
+-121.2356	45.1645	6911
+-117.25	33.5535	8905
+-90.179	37.6413	8209
+-111.2693	34.4058	6252
+-80.0588	24.549	5561
+-114.1018	34.726	6026
+-89.1591	37.6534	9374
+-108.1162	32.744	6762
+-81.3778	26.4036	8129
+-88.2402	39.8621	7280
+-80.5962	29.4202	7338
+-126.886	45.3164	4867
+-82.756	26.7636	8557
+-88.6885	37.784	9656
+-92.2349	40.7882	6456
+-115.6817	29.8373	6134
+-122.2825	43.276	5495
+-89.1061	39.123	7990
+-116.3602	45.6534	7170
+-116.2529	33.4072	8720
+-81.3658	29.4454	7804
+-92.6554	38.3911	6945
+-119.0604	31.9786	7237
+-92.0637	37.7874	7337
+-90.7389	34.5593	5684
+-84.4605	28.8349	6995
+-85.4531	29.3975	5708
+-106.6768	29.5618	4947
+-119.38	44.4061	7123
+-113.462	31.3809	6077
+-120.3518	42.8707	5199
+-78.9346	28.9478	6035
+-115.4902	33.3332	8008
+-88.5357	36.9781	9001
+-92.4472	38.757	7200
+-121.3815	45.765	7479
+-122.5877	45.6697	8141
+-124.2145	48.2311	7602
+-115.6077	33.9859	7721
+-117.7809	31.4338	7963
+-91.8108	36.8362	6851
+-117.618	46.1855	8550
+-118.9068	45.3077	8193
+-118.8191	44.8913	7860
+-121.7381	34.3266	4656
+-78.5195	28.9893	5576
+-118.8008	34.1754	7864
+-92.4639	39.6434	6984
+-93.8007	37.8499	5615
+-119.5258	31.4954	6540
+-79.518	26.9994	6809
+-112.9255	31.007	6596
+-120.4832	46.5927	6873
+-116.7969	29.4229	5963
+-90.5708	37.7219	8298
+-115.6625	35.4105	7301
+-88.419	37.8987	9346
+-79.305	24.7506	5215
+-88.384	42.5008	4843
+-91.653	34.4646	4977
+-91.7657	36.857	6898
+-119.8478	36.0514	6030
+-78.8011	31.0423	4606
+-92.5264	37.6957	6850
+-89.9537	39.1231	8811
+-120.6924	47.3505	7144
+-77.1763	24.3039	3051
+-121.5073	47.2184	8051
+-112.7601	33.5518	6088
+-123.0171	44.746	7163
+-122.0393	45.1937	7441
+-118.7496	34.057	7918
+-81.4688	26.6934	8464
+-89.9793	41.6143	6307
+-117.0819	28.6241	5075
+-116.3026	35.6117	7613
+-109.6511	33.0103	7760
+-116.9004	33.6893	8910
+-83.0651	25.4658	7084
+-109.8731	31.8536	8895
+-117.842	32.8469	8776
+-117.7476	44.975	7941
+-82.8884	28.9251	8328
+-118.8115	33.2959	7621
+-119.4159	43.9264	6665
+-89.9685	34.8413	6369
+-87.4374	36.2912	7669
+-116.2781	37.61	5595
+-86.6583	37.4612	7437
+-124.1948	46.2615	7986
+-109.998	31.0515	8792
+-126.273	48.5971	5490
+-122.0324	44.2249	6447
+-82.2012	28.4536	9111
+-91.2187	39.3818	8295
+-89.6606	37.3087	8734
+-117.1347	31.375	8134
+-112.8599	29.3702	5834
+-116.5971	33.8506	8745
+-87.4676	34.5295	6004
+-120.6146	47.0475	7094
+-87.6067	36.6151	8058
+-92.1043	37.8202	7316
+-115.995	48.3945	5828
+-80.814	31.4894	5424
+-119.6396	46.1341	7824
+-89.833	36.3455	7910
+-107.5538	32.3957	6336
+-79.4905	24.5898	5217
+-112.122	29.3368	6362
+-117.8858	32.3432	8600
+-122.5869	47.6743	8756
+-88.6953	41.5202	5928
+-87.7691	37.6435	8695
+-82.5276	28.4867	8964
+-119.1874	45.8291	8261
+-121.26	49.6739	6129
+-112.7171	32.8396	6554
+-117.2699	32.874	9409
+-89.8278	37.8799	8312
+-117.1115	35.142	8425
+-86.5058	36.8889	7132
+-121.0142	47.6872	7388
+-84.2185	28.5814	7360
+-126.2746	45.6149	5612
+-119.2088	33.0584	7116
+-117.7803	31.8107	8310
+-120.6776	44.2944	6085
+-82.3188	30.898	6344
+-91.1644	37.4808	7818
+-110.9687	31.4527	8771
+-125.1565	45.0645	6364
+-95.0955	37.1256	4052
+-110.1273	28.4737	6097
+-117.4612	33.0963	9119
+-115.4199	34.6254	7453
+-116.4606	32.8557	9187
+-111.7689	35.4095	5046
+-124.1473	45.163	7197
+-91.2255	36.7241	7060
+-121.9191	49.455	6668
+-90.917	38.9277	8818
+-80.3848	27.9975	7897
+-115.4849	35.1603	7295
+-112.4891	30.4352	6827
+-120.6465	36.9286	4754
+-93.182	34.7522	4164
+-114.3834	33.084	6856
+-119.298	34.8801	7177
+-85.952	36.2662	6287
+-85.2111	37.706	5824
+-109.5309	27.9575	5450
+-111.0514	29.6943	7284
+-111.0564	32.8271	7915
+-90.3471	36.1036	7320
+-123.1444	44.4604	6840
+-80.1221	26.5842	7253
+-107.3623	28.9664	5184
+-116.9026	36.5241	6900
+-91.5728	38.573	8128
+-122.9941	49.7457	6551
+-88.4581	41.9392	5409
+-122.8796	49.8897	6395
+-109.0291	31.2164	8006
+-120.0539	36.2554	5717
+-111.7096	32.3745	7754
+-118.5205	42.2179	5141
+-118.2688	44.7098	7788
+-85.0852	27.2616	6504
+-118.8053	33.7789	7816
+-119.8308	33.6119	6684
+-118.3299	45.1486	8252
+-118.1059	45.0916	8176
+-116.8601	34.256	9075
+-119.3887	48.8794	6093
+-117.1011	33.1504	9351
+-114.7128	34.697	6685
+-88.7979	39.9865	7257
+-84.6746	27.2143	6950
+-91.9966	35.0742	5098
+-89.4688	39.7214	7986
+-114.9103	33.6874	7262
+-88.4559	33.1823	4770
+-117.3996	42.2881	5116
+-115.2458	32.5686	7814
+-116.6174	34.2954	8808
+-80.8669	27.2937	8363
+-89.938	37.5747	8496
+-118.9212	46.2951	8554
+-117.291	42.4564	5261
+-90.294	38.2091	8833
+-115.2247	46.6924	5961
+-88.8278	34.2973	6033
+-116.3055	34.1694	8489
+-123.834	47.9302	8132
+-120.0925	32.9558	6198
+-113.5661	30.7738	5863
+-89.1949	39.0801	8095
+-124.0469	43.8494	5957
+-108.7831	34.4459	5946
+-80.4158	27.3756	7900
+-83.5495	25.5538	6920
+-120.6134	46.1946	6791
+-117.2837	33.438	8779
+-89.9638	39.0127	8891
+-116.8408	34.1661	9072
+-115.0725	33.533	7494
+-115.876	30.8173	7213
+-89.6523	37.2724	8727
+-109.1798	33.4306	7114
+-115.0302	33.8999	7278
+-117.9001	34.7217	8595
+-88.7811	40.5474	6829
+-116.0035	33.5241	8420
+-107.497	33.2119	5930
+-118.2732	31.803	7908
+-119.2794	42.1871	4984
+-90.2432	36.286	7546
+-89.0724	36.016	7931
+-89.8222	38.2636	8624
+-115.3589	34.101	7457
+-112.8854	36.6053	4051
+-117.0252	48.5959	6300
+-119.7002	45.0957	7421
+-115.8996	33.0649	8531
+-122.0084	46.9764	8627
+-121.836	49.2694	6819
+-113.2979	33.4153	5698
+-116.8351	45.5466	7619
+-106.6633	31.7628	5493
+-122.5456	46.2721	8750
+-112.5409	34.0666	5874
+-119.2313	49.9542	5057
+-83.1174	39.5748	3122
+-88.0488	36.8919	8630
+-88.4084	39.6387	7564
+-118.3456	49.2104	5966
+-84.0451	30.0953	6484
+-89.5811	39.0148	8514
+-109.7155	32.7777	8017
+-88.6357	34.9319	6743
+-81.8586	28.7961	8687
+-94.777	37.3432	4452
+-82.429	28.5636	8931
+-112.5476	29.3521	6068
+-117.5781	34.2989	9153
+-83.1278	29.7829	7349
+-110.1366	31.4749	9230
+-124.3341	44.5218	6492
+-117.0558	33.4153	9078
+-111.7246	28.4281	5737
+-123.7245	47.0182	8699
+-108.951	32.5469	7648
+-90.6945	36.4237	7241
+-118.6575	46.5816	8615
+-84.871	28.7364	6607
+-87.8743	37.869	8788
+-119.2092	43.6654	6502
+-126.4455	44.3035	4735
+-118.6032	39.1752	3848
+-109.9743	32.2257	8676
+-115.4325	32.8446	8041
+-117.2485	36.338	7133
+-113.2946	30.8042	6156
+-85.7494	38.3555	6341
+-121.6623	48.4963	7444
+-118.8918	47.3136	7823
+-83.4192	28.714	8086
+-119.9462	45.3812	7342
+-116.7094	42.9431	5525
+-124.0143	46.2101	8127
+-111.6302	31.0693	7962
+-81.2959	31.0869	6018
+-89.5138	40.8436	6981
+-116.4472	34.3323	8618
+-127.7273	43.2944	2943
+-116.1037	35.3058	7736
+-113.6941	32.9494	6100
+-80.6529	29.9251	6931
+-110.5052	34.0021	6846
+-117.5532	45.0482	7905
+-115.1155	30.8529	6743
+-109.1111	28.9634	6341
+-90.8857	37.6378	8109
+-89.8492	40.4203	7534
+-110.1114	29.1991	6879
+-110.8487	30.0995	7772
+-114.7124	36.5214	5724
+-120.2981	45.5737	7055
+-117.0019	34.5922	8960
+-92.9516	36.9376	6036
+-109.7591	35.3288	5368
+-118.6714	46.8427	8373
+-111.1183	30.0351	7593
+-111.8547	28.9369	6166
+-125.5017	44.0708	5329
+-92.1629	38.036	7358
+-88.3433	37.6778	9340
+-79.3141	26.0207	6141
+-121.9585	43.9755	6161
+-87.7321	40.6565	6263
+-124.2011	46.4566	8071
+-124.329	46.4281	7928
+-88.0749	39.9918	7091
+-94.3882	40.3495	4776
+-120.7588	33.811	5712
+-116.129	30.6609	7173
+-125.1863	49.2329	6069
+-118.4644	45.6647	8761
+-111.1943	28.5233	6029
+-86.4224	33.3813	4333
+-122.0798	46.779	8682
+-122.3974	44.0235	6326
+-91.2527	38.844	8482
+-90.3367	38.9602	9192
+-119.8679	42.0718	4676
+-116.1494	45.8218	6981
+-93.3245	37.1948	5838
+-120.0029	48.5219	6115
+-115.1582	36.9045	5740
+-120.5044	33.2227	5869
+-117.5878	44.8768	7770
+-118.0272	47.2884	7973
+-120.8811	43.6312	5465
+-118.9265	34.6161	7652
+-110.2322	34.9906	5780
+-86.4099	41.1906	5056
+-119.8032	45.2932	7438
+-91.1557	37.8203	8122
+-112.2283	32.3017	7278
+-118.0858	43.8369	6855
+-116.0341	34.5307	8125
+-125.7046	48.0339	6309
+-79.1407	32.5575	3502
+-119.502	49.3289	5605
+-87.7624	36.9121	8406
+-108.7982	29.8173	6938
+-109.8757	28.7234	6336
+-93.1382	37.6091	6210
+-88.757	38.2616	9146
+-119.0537	44.0244	6916
+-110.2351	29.8382	7580
+-123.1728	46.8784	9291
+-90.1338	35.1738	6624
+-117.2051	31.1096	7830
+-90.9567	35.5025	6359
+-84.5546	27.3302	7109
+-107.9294	33.1641	6356
+-113.345	30.9322	6135
+-89.317	38.037	9070
+-124.7762	46.1521	7359
+-116.7952	32.132	8966
+-88.1277	34.9294	6661
+-86.6915	38.3066	7377
+-125.0608	43.5361	5152
+-111.0845	32.7131	8004
+-80.9926	25.4543	6975
+-84.5481	29.601	6462
+-79.1899	30.497	5350
+-113.9765	36.5386	5092
+-119.0138	32.1964	7367
+-123.6187	43.9069	6153
+-117.068	32.5372	9421
+-114.612	37.1305	5171
+-88.6743	36.9497	9004
+-89.3998	38.1793	8900
+-112.2061	30.6145	7189
+-124.9253	44.1625	5806
+-116.071	42.1093	4428
+-92.2165	37.3311	6926
+-90.2559	35.874	7200
+-86.0916	38.963	6478
+-118.152	48.5842	6626
+-86.1829	26.1213	4947
+-124.8472	47.3112	7434
+-89.1476	37.2633	9193
+-124.2213	46.7408	8134
+-93.0338	37.2327	6133
+-81.2707	25.3197	6957
+-86.985	39.3166	7089
+-95.9366	41.2155	2875
+-118.39	44.1004	7140
+-108.8993	34.227	6215
+-110.3647	33.454	7446
+-114.8858	32.4167	7389
+-116.7522	46.7953	7480
+-120.2767	33.1589	6087
+-87.6597	39.2077	7685
+-120.7757	34.919	5615
+-123.6858	48.3423	7866
+-107.9944	30.5703	6712
+-116.2368	34.6301	8291
+-118.0937	36.6816	6615
+-121.9696	43.7829	5962
+-119.4493	33.2275	6960
+-86.5749	38.2901	7257
+-115.5997	46.7043	6347
+-112.7936	37.2363	3599
+-119.0159	47.5047	7583
+-80.264	27.3871	7734
+-91.195	38.0169	8245
+-121.6877	32.1399	4433
+-109.8422	33.7104	7108
+-82.9712	28.612	8546
+-88.6298	40.955	6388
+-89.9578	38.9073	8935
+-87.1438	39.3794	7166
+-120.7304	35.5858	5441
+-121.4602	47.9691	7679
+-87.426	39.3519	7397
+-117.7546	31.4363	7980
+-126.5677	45.7762	5370
+-116.1366	35.8427	7303
+-89.8564	36.8434	8282
+-113.4769	29.8121	5564
+-123.6559	48.9717	7252
+-107.7157	34.3932	5313
+-117.6103	44.9499	7849
+-114.673	34.4043	6693
+-87.7622	39.049	7896
+-89.2761	34.272	5963
+-80.9773	27.1519	8411
+-81.8235	27.0391	8998
+-114.8933	31.82	7187
+-124.1376	44.758	6825
+-119.481	46.4656	7934
+-88.9508	35.6488	7541
+-93.2749	38.3253	6274
+-127.3717	47.215	4686
+-114.6702	48.8408	4458
+-121.7686	48.5927	7430
+-90.9402	35.5598	6418
+-122.3417	45.2794	7654
+-82.5514	26.0872	7934
+-113.0368	31.5887	6544
+-89.0384	42.4558	5175
+-89.8678	34.2461	5782
+-85.8076	27.7281	5735
+-80.7283	27.9513	8289
+-117.1426	47.3357	7480
+-88.065	39.0913	8032
+-81.8057	26.4998	8412
+-95.4003	38.8537	4016
+-116.7066	33.3675	9073
+-119.9415	33.0574	6393
+-123.4352	47.0199	9015
+-115.6764	37.3595	5614
+-113.2763	35.1298	5051
+-123.6711	44.9335	7217
+-124.5017	41.3194	3157
+-115.1163	33.8691	7379
+-88.1931	40.9851	6051
+-116.306	32.3404	8845
+-84.3694	29.044	6979
+-123.9026	47.9423	8069
+-122.0639	48.1664	8000
+-91.7383	39.0887	7919
+-89.2949	36.4456	8322
+-125.9446	47.4043	6227
+-86.6775	41.0372	5363
+-106.9154	35.0718	4182
+-122.8197	47.2683	9263
+-115.9756	32.8708	8646
+-88.2476	42.5067	4767
+-80.3417	29.2627	7252
+-108.3455	29.7488	6543
+-115.9939	35.4506	7540
+-88.6532	38.5339	8833
+-112.5717	27.4235	4356
+-92.9389	33.2614	2899
+-112.185	30.4002	7093
+-81.4509	27.7676	9120
+-114.6609	32.7564	7180
+-122.3095	47.4629	8759
+-119.1106	45.3004	8042
+-115.639	27.7829	3946
+-89.0459	40.4781	7069
+-87.9219	39.187	7862
+-91.8808	33.8726	4306
+-121.8698	45.1085	7272
+-121.5647	32.9151	4665
+-82.6822	24.7234	6394
+-87.7232	35.7717	7388
+-79.5457	29.8018	6168
+-83.7869	27.5445	8005
+-123.5836	47.518	8641
+-107.6101	30.1104	6119
+-117.1904	33.4639	8803
+-83.5419	27.1693	8162
+-120.7728	47.7642	7110
+-122.9426	49.8618	6425
+-107.8405	31.1499	6732
+-88.7258	42.1208	5376
+-81.6795	24.8859	6593
+-87.0747	38.9237	7449
+-119.7046	45.9756	7750
+-120.3043	47.4713	6674
+-117.0174	36.026	7455
+-114.2117	28.1649	3872
+-83.5517	29.0907	7697
+-116.3412	31.4452	8072
+-107.7905	31.8038	6708
+-110.5988	31.2013	8970
+-92.6118	37.705	6771
+-117.3559	35.4876	8057
+-90.1568	37.5433	8101
+-88.1712	34.0179	5666
+-118.9238	31.481	7110
+-114.019	33.2212	6434
+-117.5586	34.0699	9212
+-125.0143	45.6006	6841
+-124.3309	44.8118	6764
+-111.9925	30.4493	7296
+-122.7423	46.2645	8816
+-119.7524	46.9174	7480
+-120.5966	43.7271	5751
+-86.9201	36.3783	7288
+-92.3757	38.1354	7177
+-80.3002	24.0056	5159
+-87.6149	25.0534	2973
+-122.3418	47.3398	8868
+-81.0656	29.1115	7950
+-119.2403	29.8214	5558
+-93.3692	38.1726	6146
+-91.9694	35.2385	5271
+-93.3627	38.682	6212
+-91.2472	40.7599	7066
+-109.5114	29.8683	7413
+-124.1454	49.1358	6858
+-121.0181	44.3636	6077
+-91.4675	36.2294	6467
+-117.1127	34.2384	9335
+-89.5888	37.3051	8807
+-114.2804	34.2553	6278
+-115.8627	32.4862	8468
+-88.0792	42.096	5046
+-118.3159	47.1856	8110
+-104.7122	32.5912	3286
+-85.9892	37.223	6658
+-92.2095	39.6843	7213
+-117.9041	46.5976	8598
+-125.3086	47.3191	6932
+-80.2328	26.2763	7160
+-118.2581	43.9562	6990
+-79.5345	29.2371	6514
+-87.5426	35.1197	6644
+-110.0247	30.8296	8591
+-124.7603	46.2804	7428
+-91.5288	38.9471	8172
+-110.0054	30.2491	7985
+-90.9876	38.7255	8772
+-89.0431	36.3013	8252
+-79.519	25.8704	6239
+-87.5425	39.7623	7090
+-122.8143	48.4158	8011
+-91.2347	37.7348	7996
+-115.42	44.0455	5528
+-115.6997	29.3513	5637
+-117.7181	34.9586	8512
+-110.5014	28.9226	6585
+-118.4382	33.0863	8084
+-109.5604	36.1716	4432
+-118.5259	48.3656	6847
+-106.3197	36.6465	2473
+-117.4883	33.9212	9203
+-110.3257	31.4535	9333
+-122.5247	45.1947	7616
+-110.6403	27.6033	5149
+-82.9472	26.7501	8419
+-112.8368	33.9849	5715
+-119.3092	44.3329	7096
+-111.8832	34.7747	5630
+-92.2167	37.4599	7008
+-80.8095	28.685	8070
+-87.8553	36.0849	7767
+-90.8692	36.1276	6891
+-115.9075	48.465	5710
+-116.6318	36.7183	6634
+-90.9877	38.0961	8465
+-91.6067	37.7088	7693
+-118.5861	37.9928	5089
+-123.1511	46.101	8616
+-80.404	24.8086	6016
+-116.9156	33.748	8969
+-117.14	32.421	9271
+-119.1455	33.9593	7480
+-89.1381	39.4173	7902
+-111.0601	28.5945	6141
+-90.2149	36.3765	7638
+-119.5038	30.82	6152
+-117.1432	29.7339	6309
+-90.262	36.7684	7857
+-88.4149	39.1654	8086
+-82.5456	29.7197	7634
+-114.6639	47.4004	5187
+-88.2224	36.5254	8397
+-89.5769	39.0071	8512
+-118.5572	26.8652	2882
+-83.0777	26.8029	8366
+-118.6823	34.6315	7901
+-120.7819	43.4488	5402
+-79.8503	26.9608	7153
+-122.1047	44.8539	7126
+-123.6149	46.8963	8817
+-118.0587	46.0659	9020
+-120.3789	43.722	5904
+-121.1692	46.5552	7652
+-111.3289	33.6571	6981
+-117.0076	34.9207	8634
+-117.1867	31.6569	8436
+-117.8837	45.0237	8045
+-119.1717	47.1891	7772
+-111.1461	31.9216	8520
+-119.8323	48.2904	6419
+-120.5455	34.6416	5919
+-124.2462	43.8383	5865
+-118.7325	34.8439	7761
+-82.8062	30.0391	7211
+-124.7448	46.6409	7548
+-115.5766	35.801	6948
+-88.1823	39.1483	8027
+-88.6413	35.9874	7926
+-81.5555	28.258	9034
+-87.3211	35.8822	7238
+-109.2759	30.3918	7748
+-119.985	35.2764	6321
+-116.0686	46.4669	6883
+-88.2794	40.1472	6702
+-108.2143	31.8851	7155
+-111.8278	29.2051	6430
+-91.4911	38.2083	8095
+-89.7347	40.1538	7758
+-93.5271	38.0905	5962
+-110.468	32.4846	8486
+-115.8859	33.5179	8316
+-120.6316	35.4549	5594
+-123.7068	43.3878	5576
+-124.3105	47.2913	8016
+-119.9532	44.6779	6938
+-112.2687	33.4281	6577
+-113.2726	34.6073	5151
+-123.3119	49.0158	7310
+-90.4646	39.7472	8346
+-115.9572	34.4636	8065
+-90.8423	39.4019	8565
+-117.7095	46.4792	8532
+-109.6576	30.6452	8221
+-117.6341	32.7472	9004
+-89.4376	35.1352	6876
+-110.0277	29.7247	7433
+-118.1636	35.0541	8136
+-117.3963	48.0941	6949
+-125.0825	47.9749	6965
+-120.8022	34.2653	5678
+-86.9198	40.7624	5768
+-117.2784	46.0974	8196
+-115.7237	44.3366	5969
+-118.8776	36.5353	6383
+-124.9339	47.3306	7336
+-81.1764	30.2562	6875
+-116.2429	29.2059	5645
+-119.583	34.3462	7000
+-116.2386	34.3924	8381
+-118.7315	47.6117	7591
+-122.3307	42.3261	4470
+-81.7778	25.2447	7011
+-118.8773	31.4709	7146
+-115.9145	33.3386	8443
+-113.0923	28.1304	4685
+-110.1742	33.2946	7611
+-106.717	32.7432	5359
+-121.7542	48.6569	7363
+-90.2069	35.4126	6813
+-119.7084	35.3013	6585
+-79.9241	28.4723	7269
+-121.4934	49.8168	6114
+-109.6118	32.9998	7751
+-80.2239	29.8407	6703
+-120.8903	48.011	7118
+-115.8031	47.4873	6251
+-119.1193	47.7369	7314
+-123.4144	44.0215	6322
+-79.6039	28.0756	7009
+-92.7744	39.6408	6674
+-109.8345	34.1884	6600
+-121.1742	33.5755	5232
+-90.8579	36.0307	6835
+-117.7305	32.1095	8592
+-90.4662	34.5779	5858
+-83.4877	30.0211	6917
+-89.5618	36.7638	8465
+-118.1833	33.1709	8339
+-79.5758	27.4079	6971
+-117.2539	34.5906	9039
+-83.7577	25.6427	6867
+-107.608	30.6533	6354
+-116.4999	34.4055	8650
+-121.8179	35.0497	4474
+-116.4392	31.0084	7652
+-89.7893	34.3775	5949
+-118.6454	33.1263	7849
+-83.1702	28.1516	8641
+-113.6992	34.4236	5634
+-82.5039	27.2429	9167
+-89.7678	39.4581	8413
+-82.4532	24.1852	5824
+-79.447	30.0563	5899
+-113.0753	33.3949	5913
+-89.664	39.9431	7923
+-80.3468	28.5222	7698
+-93.6931	39.6382	5731
+-83.5369	29.9068	6997
+-114.5853	37.4939	4848
+-90.6305	37.3802	7924
+-108.3718	30.4263	7006
+-115.4485	30.5354	6696
+-121.6712	45.4155	7432
+-121.1578	46.1601	7497
+-120.0588	48.1959	6351
+-82.3601	28.4335	9096
+-115.3128	33.0098	7896
+-92.6707	37.5339	6632
+-80.8433	28.8464	7989
+-87.6523	38.1279	8461
+-113.0367	28.584	5099
+-90.3294	40.9994	6999
+-108.9274	33.5469	6857
+-116.9672	33.3681	9138
+-88.2312	36.7639	8638
+-90.8948	39.5361	8413
+-122.2131	47.4077	8709
+-122.7796	46.6879	9273
+-92.4435	40.4627	6537
+-115.6614	36.6059	6322
+-87.6719	39.4722	7444
+-90.0865	40.0521	7985
+-92.0477	40.2244	7028
+-86.6251	37.9095	7396
+-118.2316	42.8352	5802
+-110.2904	32.9004	8046
+-110.5525	30.598	8380
+-111.6669	28.7079	6039
+-116.1477	46.1289	6999
+-122.1131	42.3213	4430
+-118.902	34.6028	7682
+-88.8156	38.9759	8344
+-80.2293	24.9372	6034
+-121.538	44.0268	6047
+-88.518	37.4167	9420
+-123.8469	48.2843	7823
+-111.9087	31.462	7762
+-115.4629	45.7631	6252
+-122.2623	44.4102	6712
+-118.5708	32.7896	7963
+-119.4055	47.9734	6948
+-90.3915	39.2038	8935
+-114.8206	35.1645	6642
+-109.5322	29.6792	7235
+-126.7326	46.3109	5334
+-116.0308	32.1511	8472
+-119.1592	35.1814	7178
+-116.6766	36.4389	6942
+-91.0582	36.7367	7136
+-81.308	24.9196	6539
+-86.5186	40.4428	5805
+-108.0989	31.5184	7052
+-81.6583	28.5148	8890
+-90.6868	34.7143	5862
+-121.1967	48.023	7404
+-117.1721	32.2439	9074
+-89.0708	36.3589	8309
+-126.5744	47.1742	5563
+-109.9728	30.8149	8554
+-118.1725	44.7617	7838
+-85.4832	27.2108	6051
+-116.2843	33.3333	8798
+-116.5679	31.6801	8409
+-86.9454	37.1528	7691
+-81.7733	27.946	9437
+-86.0959	36.8064	6666
+-115.0935	33.80	7393
+-122.7803	46.03	8569
+-121.9105	34.8472	4413
+-119.283	31.187	6594
+-109.0845	31.0283	7993
+-84.8819	37.6475	5454
+-89.9149	36.7084	8137
+-92.064	39.7403	7322
+-124.2698	49.8415	6108
+-119.2055	44.8702	7633
+-117.856	35.4092	8005
+-87.9756	38.6843	8368
+-116.7476	33.3925	9066
+-117.9727	28.5989	4916
+-81.881	25.2046	6980
+-80.8414	24.1516	5549
+-92.1994	38.5927	7460
+-80.832	28.1866	8345
+-120.9011	49.0202	6458
+-111.6401	30.5309	7656
+-116.695	45.6825	7521
+-123.609	48.7551	7493
+-115.2162	30.2721	6308
+-92.1592	39.9447	7117
+-110.5493	30.9329	8731
+-87.7524	37.1095	8516
+-117.4681	32.6502	9164
+-90.2952	36.784	7834
+-114.222	43.0603	3888
+-84.3241	26.7775	7173
+-82.0286	24.0173	5649
+-122.8234	32.2766	3147
+-117.5626	46.826	8177
+-90.2161	36.7394	7884
+-115.9958	47.981	6124
+-119.1139	43.5938	6464
+-82.1629	26.5769	8546
+-89.2647	36.4931	8385
+-116.4014	35.1277	8100
+-110.2856	30.3695	8157
+-122.738	42.4728	4666
+-80.0258	28.7215	7275
+-114.4438	46.7342	5139
+-118.1363	33.3661	8273
+-120.2987	30.658	5325
+-124.5508	43.2294	5118
+-121.8377	44.7419	6898
+-115.989	32.7062	8655
+-110.559	34.3081	6511
+-89.1729	39.0334	8084
+-90.8428	38.341	8761
+-118.3701	43.4548	6458
+-109.8441	32.1677	8648
+-118.6375	30.8354	6862
+-116.7727	33.5306	8928
+-120.683	46.9872	7170
+-110.3661	30.47	8267
+-118.0624	45.8006	8867
+-82.944	25.6752	7355
+-119.9907	47.4397	6962
+-116.1801	33.1127	8815
+-82.251	28.4952	9057
+-121.344	34.513	5071
+-88.6775	36.2725	8248
+-85.8527	24.2609	4110
+-88.7631	36.0485	7999
+-122.2475	47.7666	8472
+-109.3504	33.2289	7397
+-109.7103	32.4153	8347
+-119.1113	34.6351	7453
+-126.4371	47.7309	5631
+-87.0494	38.0874	7830
+-115.9341	28.8274	5157
+-115.1677	32.4387	7702
+-108.66	30.9795	7546
+-115.8764	30.7152	7112
+-119.1677	32.0782	7163
+-115.8216	32.9126	8471
+-117.9575	49.5127	5630
+-109.0712	30.5554	7710
+-119.306	34.1115	7313
+-80.8242	28.4039	8245
+-111.2231	33.5145	7170
+-82.3027	30.0286	7326
+-119.1315	46.9843	7963
+-89.0512	35.4515	7309
+-117.8874	47.0263	8194
+-92.3231	37.5784	6982
+-88.6925	37.0305	9097
+-88.0466	37.2598	8887
+-119.1744	34.1724	7456
+-120.3483	34.6153	6135
+-88.4884	39.2629	7996
+-81.2859	29.6448	7561
+-121.0342	35.0451	5309
+-118.0251	30.4577	6869
+-86.532	36.4721	6971
+-111.2775	30.668	8049
+-86.5267	40.4603	5795
+-116.6154	47.6656	6838
+-123.2846	47.1678	9129
+-126.558	42.6405	3382
+-83.6374	28.0439	8162
+-109.8698	33.5869	7245
+-87.2058	39.1281	7414
+-86.3104	35.8007	6353
+-110.9015	34.4544	6303
+-123.0822	48.497	7913
+-120.3584	45.714	7025
+-118.8212	45.0181	7981
+-115.9343	33.3308	8466
+-88.0292	39.2344	7870
+-118.8162	48.5906	6563
+-119.037	47.1301	7909
+-95.334	36.8074	3692
+-115.1653	34.5177	7208
+-81.0179	28.8336	8146
+-115.8874	30.9811	7378
+-115.2874	33.2008	7831
+-117.8041	32.9462	8808
+-123.8438	46.8904	8566
+-88.5301	35.068	6887
+-118.7807	34.5448	7826
+-111.2986	25.8356	3159
+-92.4561	33.4871	3558
+-114.9451	34.7876	6907
+-80.0667	26.0502	6853
+-94.1678	35.7051	4189
+-117.023	33.2134	9306
+-113.6878	35.2114	5461
+-118.385	36.6609	6523
+-114.5651	49.6221	3836
+-111.6259	28.6387	5989
+-115.8288	34.3236	7956
+-91.2757	37.1522	7452
+-79.6473	31.235	5065
+-114.788	31.0735	6641
+-119.4833	43.1506	5888
+-118.9925	49.163	5931
+-116.2179	45.945	7067
+-118.5932	37.9759	5103
+-118.2719	45.2195	8328
+-116.7121	32.7605	9462
+-83.7504	28.177	8005
+-88.1501	38.1322	8947
+-87.0546	35.7709	6948
+-109.7736	32.8657	7958
+-119.9451	30.3063	5408
+-89.515	38.9573	8462
+-81.1529	26.2939	7891
+-120.5452	41.0714	3421
+-87.3637	38.4818	7993
+-109.8962	31.051	8727
+-118.4559	34.916	7985
+-122.8689	46.8729	9498
+-89.0508	39.2108	7905
+-115.544	36.5185	6328
+-111.5599	31.8657	8110
+-112.4791	31.5792	7149
+-81.1834	24.3312	5860
+-91.6615	38.3491	7981
+-117.916	31.8968	8278
+-91.97	39.1843	7651
+-118.3035	34.8806	8144
+-118.3722	44.6305	7701
+-117.6692	45.4803	8337
+-117.8161	47.1671	8027
+-119.8071	46.3262	7629
+-90.0098	38.2887	8785
+-121.9556	45.8081	7964
+-111.7084	31.3914	7969
+-109.3145	27.4764	4889
+-82.5216	29.0052	8424
+-118.363	34.8141	8130
+-89.5063	35.0555	6769
+-117.1206	31.8503	8661
+-92.0373	40.9362	6470
+-121.4591	48.1555	7554
+-84.0094	26.389	7259
+-120.0928	35.6099	6060
+-84.3135	25.3877	6242
+-79.7828	25.3244	6058
+-82.1127	26.5344	8498
+-109.3583	32.5472	7988
+-117.2266	45.7521	8082
+-117.1698	32.8636	9520
+-123.2515	48.1723	8226
+-119.1746	31.6953	6991
+-117.6983	32.2368	8712
+-86.2346	39.473	6323
+-109.0947	33.3869	7103
+-82.1587	24.5357	6237
+-120.7692	45.1375	6437
+-115.5555	31.234	7388
+-89.0771	34.5302	6278
+-83.127	26.9749	8455
+-90.3343	39.6936	8406
+-120.8272	45.4652	6794
+-80.9298	32.966	3854
+-87.504	39.5825	7239
+-113.6769	31.059	5807
+-92.6544	41.1937	5829
+-85.8575	36.0709	6091
+-90.7097	37.1521	7667
+-118.9209	28.2983	4262
+-114.8425	34.1242	6894
+-117.6684	29.0828	5515
+-86.9709	40.0107	6500
+-109.0001	28.4683	5802
+-111.1376	34.101	6610
+-90.3073	41.6047	6346
+-115.9867	32.4239	8575
+-117.7469	36.0292	7404
+-109.3599	29.5771	7058
+-87.2333	27.3147	4100
+-122.9563	48.3124	8126
+-114.2845	33.2859	6716
+-108.2868	29.799	6532
+-118.684	47.3643	7856
+-123.5922	44.1853	6457
+-83.6467	28.4731	8003
+-108.4966	27.8333	4949
+-113.9121	35.1599	5711
+-91.8865	37.1356	7047
+-118.8803	35.8536	6965
+-115.7756	34.589	7837
+-119.2684	45.3606	7956
+-83.7334	30.6784	6134
+-115.6611	34.8484	7621
+-118.0769	38.981	4177
+-82.2925	27.1808	9206
+-118.1327	47.8798	7369
+-87.4879	38.9505	7781
+-93.6039	39.1622	5925
+-115.2111	45.1311	5849
+-110.8823	29.6067	7251
+-119.6011	32.6429	6808
+-89.0282	34.8371	6626
+-86.5967	38.2626	7289
+-120.3519	49.0741	5973
+-116.5395	36.0874	7263
+-116.7709	33.73	8841
+-114.2795	28.3271	3930
+-85.6376	35.7208	5679
+-122.1268	48.9491	7268
+-110.3511	32.6434	8325
+-90.5304	39.0538	9061
+-122.4299	47.9569	8402
+-76.5989	28.5312	3572
+-89.9871	39.4038	8600
+-84.7856	27.767	6892
+-117.155	33.7207	9072
+-121.219	48.2664	7272
+-82.546	29.845	7495
+-89.6216	38.4342	8536
+-90.0427	38.1436	8675
+-83.2261	25.474	7019
+-117.8427	36.5515	6826
+-117.6692	30.8902	7466
+-121.7314	46.2214	8084
+-118.8318	30.1014	6079
+-82.6005	28.4988	8910
+-81.425	29.3089	7972
+-123.3396	44.1642	6490
+-121.0389	45.5393	7029
+-116.0621	35.8613	7240
+-86.8726	36.1797	7113
+-123.2035	47.0218	9267
+-82.2822	29.73	7665
+-107.9746	31.969	6884
+-89.0158	36.2219	8170
+-82.0685	26.3046	8237
+-122.613	48.7542	7617
+-90.0926	37.5797	8125
+-80.2628	26.4747	7321
+-118.1273	34.209	8595
+-117.4474	45.6373	8249
+-119.6739	36.3075	5999
+-93.1104	35.6132	4944
+-108.855	31.5686	7872
+-113.2583	28.3577	4756
+-119.0368	32.4342	7405
+-112.8666	32.6206	6508
+-117.2968	32.7706	9381
+-118.5687	46.0618	8956
+-112.4995	45.3808	3088
+-113.904	32.34	6296
+-117.8849	46.8459	8365
+-88.8039	38.9535	8369
+-120.793	30.2421	4609
+-87.1338	36.4703	7543
+-116.9238	33.091	9443
+-95.3907	38.1149	3984
+-110.922	35.9087	4744
+-120.104	32.3354	6212
+-118.4706	32.3016	7980
+-90.3075	38.3084	8941
+-115.5476	36.0056	6765
+-106.0036	26.1378	1936
+-121.9127	35.0565	4371
+-114.5338	29.7593	5395
+-107.8157	33.101	6289
+-91.5971	39.1078	8060
+-113.1035	30.2458	6141
+-116.2898	33.2528	8855
+-120.7255	44.4292	6127
+-91.7896	38.8773	7902
+-111.9837	32.1282	7591
+-85.4602	31.5367	4204
+-121.2031	38.9521	2751
+-118.2225	44.3721	7429
+-115.328	36.266	6394
+-84.2225	25.6614	6537
+-115.5212	32.5696	8117
+-112.6866	33.637	6089
+-108.6099	32.8084	7183
+-117.9631	33.2458	8543
+-111.8866	33.4145	6872
+-121.5805	47.058	8153
+-123.2414	49.1712	7155
+-92.0738	39.9619	7182
+-79.6989	28.4253	7039
+-107.6073	29.8052	5947
+-109.2848	31.7155	8329
+-91.538	39.0258	8145
+-118.55	32.746	7985
+-89.2661	35.3456	7151
+-89.0728	37.2829	9265
+-81.4311	29.0279	8259
+-115.3753	33.3453	7882
+-118.261	32.5759	8284
+-117.0884	32.9833	9523
+-82.8417	28.5436	8703
+-123.0339	48.3198	8112
+-111.9815	29.7926	6837
+-110.5095	31.3376	9146
+-111.1238	32.4792	8179
+-120.9886	49.6557	5982
+-119.1074	35.4375	7077
+-117.5665	31.6425	8282
+-123.6376	47.0871	8785
+-89.3605	38.7277	8322
+-116.8483	34.5379	8903
+-122.6044	47.1141	9243
+-118.6247	30.7315	6781
+-113.9949	34.7707	5902
+-123.1057	46.341	8883
+-118.2071	33.5508	8331
+-90.8162	35.705	6631
+-112.2416	37.4696	2958
+-115.7215	34.2667	7846
+-87.9373	39.8829	7158
+-118.3531	46.3017	9035
+-118.7125	33.6771	7884
+-81.0114	26.0371	7560
+-81.9037	28.7579	8741
+-88.2905	38.1657	9040
+-116.9885	36.3009	7154
+-112.9937	33.9164	5640
+-111.7077	33.6676	6769
+-116.5313	33.511	8839
+-116.3801	36.8086	6464
+-80.124	28.7383	7367
+-87.4647	36.1433	7566
+-117.5046	34.623	8944
+-81.3616	28.6227	8588
+-88.7936	36.6778	8705
+-88.5932	38.2138	9170
+-123.4455	43.0031	5211
+-79.1743	26.7994	6370
+-86.1508	34.2865	5018
+-91.4871	39.4294	8027
+-87.2988	40.8308	5899
+-120.5406	46.6876	6790
+-92.4914	37.8521	6955
+-116.5297	36.5295	6803
+-123.7669	45.741	7957
+-115.329	30.0876	6203
+-86.4941	32.8002	3787
+-82.5447	26.9476	8856
+-112.2834	32.8187	6972
+-118.6097	43.7062	6702
+-110.3145	28.5652	6203
+-83.2497	27.073	8406
+-123.1621	48.9446	7414
+-91.2178	41.7801	6037
+-119.7107	45.9838	7744
+-118.3201	31.0884	7304
+-121.06	32.0296	5103
+-120.0674	46.9744	7156
+-118.4424	49.844	5292
+-122.9945	48.9124	7466
+-119.5758	32.0665	6725
+-105.7735	30.4643	4387
+-114.2579	48.0863	4506
+-107.1384	29.8286	5524
+-121.009	43.2907	5115
+-116.3882	30.7513	7361
+-89.2825	41.8989	5829
+-113.4863	35.1827	5258
+-110.4093	28.7336	6385
+-118.2604	44.6946	7772
+-117.5716	47.6541	7450
+-110.2327	30.4999	8295
+-119.3865	32.5516	7038
+-122.6817	49.214	7125
+-85.3243	26.532	6021
+-92.8821	38.0543	6629
+-88.7891	36.1758	8142
+-117.7668	43.1411	6079
+-79.9029	28.1353	7335
+-89.1998	38.7433	8512
+-123.0605	44.5054	6897
+-107.2721	34.3053	5035
+-91.5949	38.9061	8108
+-110.9051	31.7595	8825
+-108.0648	32.0953	6954
+-114.8829	34.1149	6938
+-82.8846	27.6808	9037
+-87.1834	37.1776	7955
+-89.2043	38.4345	8822
+-88.1244	41.554	5543
+-109.5113	31.8853	8525
+-109.8034	33.9808	6813
+-81.3263	25.7763	7463
+-90.4625	42.1946	5711
+-119.2214	44.5908	7379
+-118.4457	33.1543	8061
+-126.1271	46.4774	6020
+-122.3169	48.009	8294
+-117.5182	34.2082	9252
+-85.2022	27.9667	6413
+-118.9325	46.5176	8443
+-111.3413	28.8672	6335
+-117.0694	30.7104	7401
+-121.1095	47.704	7479
+-122.97	43.3173	5596
+-88.0938	42.1006	5050
+-90.8528	35.1807	6173
+-122.817	44.6399	7048
+-88.6526	38.525	8842
+-117.5503	35.119	8419
+-118.6923	33.4106	7794
+-108.8566	30.1829	7269
+-122.4617	47.3943	8933
+-108.3045	33.8846	6150
+-121.5063	49.3074	6613
+-91.5178	39.8363	7731
+-119.6542	47.3865	7269
+-117.8749	33.7627	8761
+-125.4784	46.0456	6598
+-108.4183	31.7721	7389
+-88.8921	31.938	3384
+-110.4886	31.5688	9305
+-125.2253	48.8897	6291
+-117.5521	48.4201	6684
+-92.0362	38.3613	7594
+-83.997	28.2099	7725
+-90.1651	37.168	8149
+-111.4904	29.842	7208
+-110.5813	31.0532	8839
+-81.3495	25.6534	7342
+-90.9109	37.9269	8371
+-117.4538	31.7336	8428
+-89.6529	41.1982	6671
+-89.3825	37.5837	9118
+-116.1496	33.3303	8676
+-88.6057	41.2579	6111
+-90.4529	40.9474	7055
+-89.2269	34.3181	6022
+-112.1646	32.4997	7255
+-118.6303	44.9073	7945
+-118.0382	33.4295	8399
+-86.9776	38.6642	7516
+-116.8673	35.6719	7804
+-82.7074	29.6214	7696
+-89.3835	37.6143	9120
+-113.8933	34.0367	6065
+-122.2346	36.4911	3539
+-79.9939	25.2464	6152
+-106.623	29.7668	4998
+-119.1759	48.1457	6897
+-90.627	36.7774	7282
+-123.3468	46.2331	8663
+-122.1985	48.9677	7276
+-110.9286	24.4427	1710
+-117.0217	34.3363	9191
+-90.9962	34.1106	5104
+-80.4844	26.3315	7419
+-90.8961	39.1612	8716
+-112.9167	31.625	6674
+-89.0653	37.2798	9267
+-88.0754	35.9519	7740
+-119.7147	32.8786	6687
+-117.3143	36.9676	6446
+-89.7503	42.5072	5318
+-110.263	31.732	9295
+-126.6746	45.1006	4980
+-112.2512	32.5504	7146
+-118.5753	33.9234	8092
+-122.519	47.4638	8918
+-81.1327	27.9144	8748
+-86.3583	41.6766	4564
+-91.2099	39.042	8479
+-116.2098	35.5321	7625
+-115.021	35.4877	6677
+-120.7178	34.6409	5733
+-81.789	29.943	7400
+-118.1976	34.2101	8519
+-118.6387	45.6738	8673
+-113.8862	31.4809	6008
+-126.8543	45.2996	4892
+-116.6303	46.8516	7337
+-112.4861	32.3072	7013
+-89.9259	36.4487	7928
+-118.3638	46.1919	9131
+-116.7545	35.1148	8330
+-118.541	43.8934	6908
+-116.667	36.8855	6465
+-118.7961	46.4219	8619
+-112.4692	45.8594	3098
+-123.8949	48.6916	7418
+-112.9005	31.5685	6692
+-90.1763	39.769	8304
+-116.3113	32.9441	9008
+-116.8761	33.6506	8861
+-91.006	38.04	8406
+-120.9598	45.1799	6708
+-83.0159	28.0789	8833
+-117.0366	34.557	9012
+-112.9068	34.2828	5433
+-122.3127	44.9216	7269
+-110.474	32.5766	8387
+-89.3092	40.8989	6835
+-114.7597	34.3716	6791
+-118.3277	32.0871	8030
+-117.1843	32.2522	9078
+-117.6156	47.1541	7939
+-110.4731	33.3143	7592
+-124.0792	46.1871	8053
+-115.7642	35.1542	7556
+-78.6269	32.6524	3089
+-117.0936	35.5693	7960
+-86.4628	33.4226	4395
+-81.8541	27.9541	9512
+-117.6275	34.1951	9138
+-119.5368	46.5638	7845
+-83.2655	29.7219	7336
+-113.9376	31.8071	6192
+-120.0368	44.1865	6512
+-116.9144	35.3448	8162
+-119.5649	32.4574	6827
+-115.953	33.2624	8518
+-109.5048	31.6817	8570
+-113.8717	33.472	6224
+-86.1097	36.5323	6572
+-109.396	31.12	8341
+-108.0083	32.426	6794
+-123.9236	49.4913	6613
+-112.2369	33.7088	6382
+-90.0797	38.0634	8615
+-117.208	34.0444	9422
+-107.9441	30.4454	6606
+-118.7455	46.05	8768
+-108.8658	31.5585	7883
+-119.8292	32.9707	6468
+-115.6183	32.2809	8135
+-123.6522	47.9329	8261
+-119.3824	43.3663	6140
+-88.5741	36.8419	8865
+-109.1974	33.6508	6918
+-123.6487	47.4376	8634
+-114.5979	33.7084	6930
+-89.2073	36.2084	8106
+-116.1957	33.832	8324
+-116.2215	45.3699	6944
+-118.2127	34.1025	8505
+-123.8919	48.0515	7991
+-119.666	43.3043	5957
+-79.4334	32.8211	3409
+-122.8198	45.5976	8100
+-92.9634	39.4302	6548
+-116.506	31.5213	8219
+-119.8318	46.0011	7617
+-119.7703	44.658	7067
+-80.4696	26.8419	7739
+-123.4542	43.4941	5743
+-84.916	36.3093	5232
+-118.6317	31.5397	7412
+-109.8362	30.4823	8165
+-107.1058	31.5083	5976
+-117.2981	38.3319	4958
+-126.9283	49.1103	4593
+-120.7421	48.2252	6862
+-114.7041	32.8205	7229
+-91.5398	39.5379	7916
+-117.949	33.4757	8504
+-90.5851	38.1368	8728
+-111.9202	32.9841	7180
+-123.5266	44.672	6993
+-120.4085	47.6444	6770
+-81.4455	29.2118	8082
+-86.3399	41.1064	5089
+-117.2895	34.1401	9512
+-117.9501	30.2569	6694
+-122.6861	48.9817	7380
+-88.8318	35.4544	7332
+-117.3022	32.6152	9316
+-116.4222	32.5823	9092
+-115.3008	30.9518	6964
+-116.8131	35.2964	8176
+-119.5915	31.8438	6630
+-90.9076	35.4284	6339
+-85.8934	42.3309	3665
+-117.0989	33.1675	9335
+-119.4934	34.2959	7102
+-81.6539	24.2018	5823
+-122.6473	47.4629	8994
+-89.6267	35.9345	7645
+-85.3154	38.7404	5758
+-117.4031	32.1813	8893
+-118.674	33.113	7820
+-118.9881	33.8833	7640
+-108.7426	33.3154	6926
+-90.2051	40.8133	7192
+-119.461	45.6377	7921
+-87.3776	28.2127	3938
+-119.3291	43.1329	5929
+-115.9718	33.0086	8623
+-82.6007	26.7705	8648
+-115.7196	34.4207	7822
+-92.1387	36.2613	6142
+-116.5651	33.9536	8748
+-87.4571	40.4448	6367
+-85.8259	28.3662	5660
+-120.3823	35.7126	5727
+-89.1293	38.7526	8529
+-124.5931	47.1558	7735
+-84.7195	40.5557	4233
+-93.5051	37.3542	5739
+-84.638	28.9492	6759
+-86.6302	38.7552	7123
+-89.1424	41.0557	6602
+-121.1804	47.1644	7704
+-93.4499	41.2374	5168
+-88.2488	38.9889	8220
+-115.2374	31.52	7342
+-122.5517	48.8767	7473
+-118.3466	35.4548	7676
+-88.7096	37.4757	9592
+-83.7985	28.0305	7985
+-112.1204	33.0984	6935
+-88.3152	38.6699	8580
+-83.9861	28.2026	7739
+-118.2324	41.7244	4626
+-112.8997	29.9665	6187
+-120.4699	31.9631	5731
+-118.0114	34.0047	8713
+-115.4895	32.0814	7913
+-126.0079	44.7151	5390
+-84.2678	27.728	7477
+-93.021	43.2327	3818
+-91.8476	39.0666	7810
+-89.4103	37.5258	9076
+-117.6943	31.8001	8358
+-111.0021	32.3169	8398
+-120.3106	48.7643	6143
+-86.9672	35.6938	6818
+-110.0398	31.8289	9059
+-88.5802	36.663	8670
+-109.3608	30.8981	8185
+-108.5467	29.8425	6771
+-88.501	38.8217	8484
+-123.1918	45.7326	8213
+-110.5148	30.9175	8726
+-86.3122	37.0725	6981
+-115.785	38.7637	4235
+-80.721	25.901	7245
+-116.9698	31.5153	8301
+-114.8749	33.4518	7315
+-116.6608	48.0162	6601
+-118.2126	34.8002	8275
+-111.4893	33.0065	7487
+-117.4893	30.9012	7538
+-118.1383	30.7359	7089
+-108.2583	30.6175	6994
+-121.9803	30.7093	3687
+-117.3895	46.6185	8166
+-89.0214	43.1173	4494
+-84.3346	26.5202	7030
+-117.2127	42.7569	5543
+-90.4692	39.9053	8176
+-116.3983	32.7784	9118
+-115.7564	49.0772	5125
+-108.3182	29.6869	6476
+-82.4143	25.3572	7148
+-108.5395	30.7454	7328
+-81.2162	26.38	8012
+-87.3059	38.1415	8091
+-116.7638	33.9296	8946
+-116.787	44.8251	7179
+-119.5891	35.1489	6773
+-110.5103	31.5799	9282
+-117.2782	35.6699	7862
+-115.9503	46.0811	6790
+-119.2491	43.8836	6700
+-110.8841	33.1687	7655
+-116.9785	47.881	6922
+-81.1499	27.7613	8780
+-111.0244	30.4902	8072
+-88.6902	36.0187	7964
+-115.0486	30.3399	6259
+-89.9244	38.5755	8895
+-84.6321	31.1631	5122
+-89.9439	40.3946	7590
+-118.727	33.1052	7763
+-122.5021	49.8632	6394
+-113.9229	31.6425	6114
+-79.6747	32.0248	4330
+-83.8356	26.5951	7555
+-123.7207	45.8641	8096
+-92.7081	39.3611	6834
+-115.9758	33.9111	8109
+-88.2027	38.0547	9046
+-118.4732	35.8891	7214
+-85.5315	38.3038	6114
+-117.6562	44.639	7577
+-83.8151	28.6623	7737
+-110.3835	29.198	6889
+-113.9902	34.242	5962
+-111.561	31.4809	8139
+-125.5952	48.068	6407
+-124.5166	43.4276	5332
+-117.5406	38.8726	4360
+-126.71	48.7749	4973
+-124.7705	44.6555	6340
+-115.7018	46.2476	6522
+-90.0084	36.0299	7509
+-113.3915	34.2463	5458
+-115.5354	45.4463	6269
+-89.3605	37.0738	8874
+-108.3697	29.9828	6729
+-88.5164	37.8958	9434
+-82.1415	27.6411	9750
+-114.5483	28.8301	4552
+-92.4625	39.9825	6819
+-89.5036	35.1088	6828
+-86.9883	39.7125	6772
+-77.9008	29.1917	4840
+-124.955	47.3892	7301
+-88.6012	39.4208	7837
+-120.5819	44.1892	6095
+-109.2096	34.5006	6086
+-116.1395	31.4838	8003
+-90.3576	38.4832	9135
+-88.5957	34.5453	6307
+-88.3269	34.9592	6737
+-84.8936	26.015	6194
+-114.8702	34.6425	6865
+-120.0859	47.3205	6955
+-90.8196	34.9388	5983
+-121.0582	32.7642	5141
+-115.3265	34.1474	7421
+-122.5721	45.9265	8408
+-87.9769	36.0918	7838
+-118.2418	45.1909	8297
+-84.1972	28.1753	7512
+-112.9004	35.8871	4405
+-89.436	37.9594	8995
+-116.9694	33.7012	8966
+-88.936	37.479	9532
+-110.221	30.8544	8674
+-119.0053	47.2036	7864
+-90.5865	40.4112	7620
+-118.374	46.7586	8556
+-116.5535	47.7958	6695
+-118.6147	35.6803	7300
+-110.6773	32.8163	8087
+-122.5601	48.0166	8394
+-118.7596	30.1091	6131
+-116.454	30.9108	7552
+-114.9657	32.3187	7453
+-95.4675	36.8751	3584
+-84.6823	40.6943	4108
+-118.9099	36.8342	6089
+-90.0002	37.4701	8413
+-115.6726	33.6491	8037
+-87.884	27.5544	3382
+-89.8269	39.5372	8385
+-116.1968	35.5593	7593
+-119.5612	33.1065	6796
+-91.8052	40.1501	7274
+-106.1476	31.3202	4930
+-118.0472	32.2083	8370
+-89.5492	36.0224	7772
+-117.7202	29.4836	5941
+-81.6695	25.7974	7604
+-88.3744	39.0182	8235
+-116.3091	34.0507	8490
+-118.0791	30.5451	6932
+-120.9817	45.6453	7047
+-84.844	37.0954	5366
+-81.9627	25.3225	7121
+-123.2244	48.0154	8400
+-118.2836	34.2232	8424
+-112.2018	33.3611	6679
+-86.7518	38.4524	7387
+-89.9234	41.4264	6497
+-82.8573	26.1768	7916
+-114.9374	47.4749	5429
+-108.0239	29.8448	6342
+-107.5254	30.6644	6273
+-112.4227	32.7277	6892
+-92.6068	38.4112	7000
+-117.4289	44.7623	7580
+-119.9673	31.7324	6194
+-87.9899	37.0757	8720
+-112.4754	33.647	6251
+-89.3699	37.333	9042
+-115.8895	35.452	7458
+-118.3369	36.1925	7006
+-122.2808	47.6243	8614
+-116.9006	45.8463	7772
+-92.0728	39.0022	7583
+-86.6543	36.9388	7307
+-90.5735	39.0143	9073
+-116.8883	31.4974	8279
+-110.8454	30.1085	7782
+-108.9396	29.4575	6719
+-115.7899	34.8642	7741
+-123.6822	47.5759	8517
+-91.4279	41.3302	6424
+-82.9209	29.5337	7704
+-120.254	45.3057	7010
+-123.9621	48.8049	7274
+-83.136	29.0878	8016
+-119.9852	45.1005	7170
+-117.1223	33.7478	9089
+-88.1762	38.5307	8640
+-111.7895	32.4114	7659
+-118.0635	48.794	6398
+-125.1809	48.5023	6585
+-93.4846	38.1992	6029
+-117.1498	38.0108	5306
+-116.7619	34.8505	8581
+-80.4099	30.4939	6242
+-90.3611	38.3133	8953
+-119.4716	43.1628	5905
+-121.8727	45.0479	7215
+-118.2892	47.217	8078
+-88.2837	35.7964	7648
+-114.4031	31.1614	6349
+-85.5841	27.6321	5985
+-118.9016	44.1177	7061
+-110.3053	32.3284	8666
+-118.7096	45.1112	8120
+-116.6641	36.0007	7397
+-121.425	34.0694	5001
+-87.5016	35.8011	7286
+-89.4548	42.2332	5539
+-109.2874	32.7132	7805
+-123.181	46.6039	9102
+-116.3816	35.0901	8116
+-122.0847	49.9168	6243
+-118.524	33.4334	7968
+-111.0085	33.7101	7056
+-112.1123	28.6382	5746
+-90.9526	39.1595	8668
+-117.1432	32.2319	9072
+-117.3162	46.7496	8027
+-109.6303	36.823	3746
+-87.3501	40.343	6415
+-125.6739	43.673	4875
+-116.3269	32.925	9029
+-116.5009	33.1956	9083
+-89.8384	37.5692	8607
+-116.4387	33.7622	8548
+-81.1059	29.711	7404
+-119.9137	35.7878	6133
+-116.4002	34.4163	8544
+-117.1959	32.7405	9483
+-90.4535	36.6426	7600
+-82.5747	24.7282	6419
+-121.3337	48.3782	7290
+-117.9407	31.625	8036
+-122.3335	46.284	8632
+-119.2462	32.4495	7177
+-81.9357	27.3872	9408
+-78.8267	28.1283	6129
+-114.1666	33.5539	6523
+-124.964	46.034	7118
+-113.1874	29.8622	5863
+-109.2433	29.4491	6877
+-123.8442	44.1268	6318
+-118.8163	35.6206	7195
+-118.0454	36.9878	6310
+-87.7868	34.6523	6258
+-121.4382	48.8074	7024
+-124.1907	45.7937	7690
+-109.25	31.2361	8241
+-123.6563	45.9724	8234
+-91.2899	35.0694	5751
+-83.8287	28.6957	7705
+-94.6595	40.1123	4587
+-79.5461	26.2997	6528
+-117.1269	34.9807	8601
+-109.815	32.1559	8637
+-86.6178	36.4204	7027
+-91.9967	36.694	6607
+-115.532	35.9808	6773
+-118.3049	44.5654	7635
+-107.1802	32.1501	6003
+-87.1543	37.7679	8002
+-92.8104	40.0561	6454
+-123.7986	46.5827	8533
+-85.7317	27.5279	5812
+-93.435	39.2117	6098
+-82.569	37.7659	2857
+-117.8887	31.8086	8229
+-85.3145	35.801	5411
+-93.7186	39.8073	5653
+-90.8602	34.775	5808
+-123.4081	44.0301	6332
+-114.6545	34.1487	6688
+-87.4042	38.2029	8171
+-111.4193	35.1804	5403
+-91.5841	39.1927	8045
+-119.0729	34.2189	7565
+-91.0258	39.435	8412
+-116.2183	31.2704	7837
+-84.499	27.7026	7215
+-116.5029	45.7449	7338
+-116.6018	36.2798	7087
+-90.7268	39.5572	8479
+-115.5512	31.472	7575
+-124.705	48.1983	7205
+-119.8863	45.5956	7481
+-110.8165	32.9782	7874
+-121.586	44.7355	6762
+-118.4985	28.7506	4906
+-124.2071	46.9829	8170
+-94.306	34.8486	3461
+-84.5179	40.6984	3956
+-108.9609	32.5919	7628
+-111.7214	29.387	6659
+-89.9607	38.433	8855
+-121.0704	46.3698	7492
+-121.7248	48.7805	7232
+-116.9985	36.4963	6944
+-117.9995	34.412	8683
+-88.8764	33.447	5078
+-90.5452	38.6609	9225
+-118.3535	33.9311	8332
+-116.0001	30.6423	7099
+-116.5797	44.3798	6696
+-120.6871	36.52	4988
+-117.3278	35.4314	8120
+-123.7281	47.1305	8679
+-84.7269	28.1919	6919
+-82.3815	27.2325	9226
+-110.3794	31.1777	9031
+-113.6043	32.0636	5892
+-87.1756	37.6797	8029
+-123.4454	45.6465	8037
+-92.1431	40.6499	6633
+-115.7433	35.378	7392
+-120.8284	33.4523	5582
+-83.6933	38.829	3972
+-87.4186	39.9319	6856
+-109.4312	31.4499	8486
+-121.8506	30.3107	3630
+-125.625	48.5618	6137
+-118.4379	42.867	5833
+-119.2276	48.1782	6843
+-117.915	41.8518	4744
+-114.3555	36.2843	5590
+-89.6613	39.6761	8159
+-82.6997	27.9073	9232
+-90.3962	38.7653	9403
+-117.6515	31.3499	7947
+-116.955	31.6079	8405
+-82.6504	30.6842	6540
+-117.6669	47.9637	7182
+-111.6067	30.625	7747
+-78.8501	26.3853	5863
+-94.3602	35.71	4029
+-89.5463	39.2057	8397
+-92.4634	39.0606	7157
+-123.2618	48.0222	8380
+-118.3315	34.2231	8372
+-117.5459	33.3387	8883
+-122.7319	47.3413	9155
+-121.0443	47.1342	7559
+-119.0323	48.2356	6864
+-77.5503	28.7202	4596
+-119.443	32.6099	6981
+-88.669	36.485	8485
+-116.7153	34.7798	8611
+-114.7276	35.5045	6390
+-118.7504	29.3259	5380
+-89.165	39.6578	7787
+-112.5409	30.8459	6952
+-114.4126	34.9776	6291
+-107.1595	32.0407	5999
+-117.2111	45.3066	7848
+-89.2084	36.5928	8512
+-118.5211	33.1984	7831
+-113.1714	31.0675	6348
+-91.8579	38.6055	7827
+-87.8491	40.1035	6892
+-78.0148	27.8636	5232
+-118.5237	42.9103	5873
+-118.249	30.0776	6379
+-115.9092	35.539	7406
+-109.7121	31.8043	8759
+-82.9523	29.7647	7449
+-121.3664	47.2447	7894
+-123.3658	47.8716	8488
+-117.3511	38.1318	5175
+-85.1408	39.016	5472
+-110.8199	34.3464	6434
+-118.4383	42.764	5724
+-115.6446	35.5067	7219
+-87.8368	37.3171	8700
+-91.1677	37.3292	7675
+-88.6635	39.4024	7863
+-120.48	46.2728	6927
+-116.685	44.9215	7157
+-115.0816	38.7956	3921
+-111.3943	35.4324	5148
+-80.6297	26.9229	7942
+-117.7792	29.5923	6044
+-109.3189	25.7436	3052
+-118.8398	35.5085	7259
+-115.6934	34.0033	7816
+-119.1128	31.6551	7031
+-88.8285	36.8812	8931
+-91.5964	40.5153	7116
+-121.4019	45.4624	7274
+-86.4307	40.685	5530
+-89.6628	36.3786	8054
+-116.4182	30.7764	7396
+-123.0896	48.6192	7779
+-89.3335	40.3539	7358
+-83.9303	30.9403	5766
+-88.7289	41.476	5987
+-88.7528	38.6647	8694
+-118.2728	32.2053	8144
+-122.1235	46.526	8625
+-90.2955	37.6116	8194
+-124.5831	45.6823	7280
+-110.145	30.7092	8505
+-118.4733	49.6492	5496
+-91.4841	35.9295	6161
+-118.9451	32.6468	7538
+-116.2884	38.2462	4926
+-87.5649	36.3244	7793
+-84.7513	39.4757	4871
+-120.6802	46.4541	7103
+-83.8486	27.7408	7952
+-83.7209	30.9147	5904
+-115.9195	31.2577	7658
+-111.2798	31.9166	8386
+-114.4084	46.0048	5155
+-117.0737	47.3362	7429
+-83.2484	26.3193	7825
+-119.0782	43.7433	6626
+-89.3825	37.6853	9123
+-115.0076	35.1369	6841
+-81.3935	28.0595	8992
+-91.8301	38.4794	7838
+-90.3545	34.8691	6205
+-110.8847	31.7582	8847
+-116.7102	47.3328	7144
+-89.2005	41.428	6269
+-121.809	45.8547	7895
+-83.9062	29.1672	7336
+-90.4578	37.5352	8113
+-118.9449	35.2496	7339
+-111.443	34.0479	6545
+-87.4579	39.3574	7415
+-86.7079	34.4706	5548
+-111.7249	34.8063	5670
+-117.651	45.0012	7918
+-109.2357	30.3969	7722
+-123.0414	45.2379	7701
+-114.5225	46.964	5174
+-116.4025	33.7553	8509
+-124.2778	47.7994	7837
+-117.5719	45.3785	8187
+-117.2647	34.8863	8716
+-106.2598	28.8964	4186
+-90.2846	37.7662	8359
+-77.9298	26.0169	4741
+-117.5492	43.7624	6666
+-83.2399	26.7843	8218
+-117.6187	32.6532	9003
+-83.564	26.2803	7558
+-89.8466	37.2747	8526
+-117.9032	44.4806	7499
+-88.3345	37.6765	9330
+-108.9343	29.1755	6456
+-126.2978	45.7446	5639
+-89.8846	37.4625	8540
+-111.5425	30.8567	7945
+-118.0335	34.4486	8633
+-91.2942	39.8984	7844
+-127.1848	46.0787	4799
+-87.8324	39.3481	7655
+-118.4348	30.8236	6992
+-91.0511	36.2591	6645
+-112.9619	32.0305	6585
+-91.0559	36.9356	7339
+-116.7523	47.1275	7308
+-81.0662	30.0644	7026
+-109.0331	31.6276	8064
+-90.53	40.1082	7952
+-80.6579	24.8054	6149
+-123.0432	46.3579	8919
+-120.4617	46.0423	6953
+-90.0218	40.502	7496
+-92.1113	36.8169	6630
+-114.7181	32.7153	7242
+-122.15	46.7899	8760
+-122.4768	48.2018	8172
+-121.4242	48.7043	7102
+-116.7252	33.7883	8838
+-117.1819	44.8341	7483
+-108.8715	30.8583	7706
+-115.603	41.1972	3343
+-123.515	43.7066	5961
+-125.7445	46.9421	6481
+-89.8553	38.6656	8848
+-90.2076	39.7269	8355
+-118.0467	32.9191	8543
+-91.136	40.1691	7693
+-121.3008	43.2572	5168
+-107.4082	31.084	6258
+-107.3871	29.6471	5654
+-125.5318	43.2772	4627
+-92.1744	40.1529	6972
+-120.8583	44.9928	6292
+-124.1798	48.4171	7481
+-78.9084	26.4865	5967
+-81.3589	26.2613	7977
+-117.3987	37.7553	5584
+-108.3498	32.8001	6952
+-112.4615	30.0591	6637
+-80.3747	29.655	6973
+-80.0345	26.0536	6827
+-83.2875	24.9045	6401
+-91.5962	40.2189	7371
+-110.0494	33.3166	7571
+-117.8315	48.1905	6995
+-126.8584	47.3221	5240
+-86.2278	35.6452	6173
+-90.5191	35.346	6551
+-117.0445	33.0581	9470
+-88.7168	33.1304	4723
+-85.4986	38.9222	5885
+-114.2229	32.5882	6682
+-121.0288	32.4625	5205
+-109.9156	34.1123	6696
+-89.4783	34.3543	6013
+-117.712	32.6917	8910
+-123.7002	43.4837	5680
+-84.3024	24.3376	5302
+-118.1711	33.0116	8392
+-115.6947	31.8328	7959
+-116.1542	33.6877	8424
+-110.7955	32.7641	8100
+-114.2466	31.7834	6507
+-91.7192	36.2328	6353
+-114.4079	34.4258	6403
+-89.7101	38.2907	8546
+-118.2593	33.1017	8276
+-91.6837	37.213	7254
+-119.1817	33.9061	7434
+-89.2096	36.9179	8839
+-119.1118	45.7503	8308
+-118.1915	45.6724	8797
+-109.0192	30.1418	7360
+-88.425	36.1178	8035
+-121.4605	45.5154	7360
+-120.4121	46.361	6989
+-120.5502	43.5393	5639
+-109.7772	33.3961	7419
+-111.7142	30.1931	7351
+-119.7408	36.1908	6028
+-81.066	27.5021	8648
+-106.2097	30.7901	4924
+-90.0272	36.4084	7816
+-116.6029	44.0726	6472
+-119.4304	46.3596	8015
+-123.5201	46.0001	8345
+-108.355	30.0783	6780
+-89.3924	38.8563	8350
+-89.2464	40.2876	7363
+-89.5214	37.3662	8903
+-123.1618	46.4622	8982
+-116.5756	32.5099	9199
+-86.2868	35.5286	6140
+-91.7884	38.9641	7892
+-121.3668	47.4568	7838
+-118.3954	32.6864	8153
+-123.2478	44.3347	6690
+-122.9416	49.7712	6525
+-91.1391	42.0771	5747
+-124.4882	46.6132	7819
+-95.6147	42.8165	2283
+-93.629	42.0196	4459
+-82.90	28.5422	8659
+-117.9691	34.7927	8487
+-115.9247	32.6719	8580
+-90.8691	36.1979	6937
+-89.5921	35.0764	6764
+-85.944	36.1677	6228
+-82.1414	25.4842	7310
+-115.8622	48.3668	5748
+-119.4429	45.4434	7849
+-118.6812	41.8801	4771
+-90.2709	41.0932	6896
+-109.664	31.9501	8647
+-116.2669	43.3676	5664
+-91.4166	38.411	8252
+-87.3929	39.2782	7438
+-124.7791	47.5331	7450
+-91.3441	38.2554	8260
+-112.1082	33.4894	6652
+-90.0533	36.1681	7599
+-116.2734	48.5689	5889
+-81.77	27.998	9405
+-91.9358	34.1049	4464
+-82.7477	29.2679	8057
+-82.7183	25.8951	7674
+-82.3955	27.7659	9596
+-118.4918	31.9966	7821
+-118.6058	35.5622	7402
+-88.4045	39.5191	7696
+-82.5996	27.8044	9363
+-118.3497	49.073	6111
+-78.696	25.5199	5247
+-82.1218	28.1553	9452
+-109.8581	32.5662	8291
+-114.6303	33.7931	6928
+-117.038	36.0398	7443
+-111.8164	31.8249	7846
+-118.4212	29.4432	5655
+-116.0323	47.2216	6597
+-125.65	48.7737	5991
+-116.3715	47.0259	7011
+-80.2707	29.5264	6993
+-89.5065	40.8842	6937
+-110.9569	32.0329	8641
+-83.9698	29.189	7264
+-108.7786	30.5012	7421
+-124.9007	45.8388	7083
+-118.4279	33.109	8091
+-120.9112	47.1249	7414
+-123.9896	48.2437	7762
+-113.7201	45.0187	4294
+-113.9781	46.2403	4699
+-87.3658	34.571	6002
+-86.8619	40.0587	6382
+-83.1233	27.0943	8539
+-89.8522	40.2784	7680
+-120.9166	45.0441	6571
+-114.811	31.3605	6851
+-84.9317	39.3725	5103
+-91.8533	40.7978	6707
+-122.7873	46.572	9155
+-92.082	41.273	6146
+-121.8894	47.4635	8369
+-91.6932	39.1134	7959
+-81.76	29.1864	8232
+-119.4111	32.2767	6961
+-118.2954	43.7632	6786
+-111.5865	28.8049	6171
+-117.8941	46.6682	8531
+-76.3156	29.5052	3023
+-123.8406	46.0795	8186
+-124.0095	47.1038	8378
+-87.6957	39.8562	7078
+-88.8722	42.9954	4567
+-89.9065	35.2934	6860
+-120.2026	47.37	6823
+-119.3387	49.6889	5299
+-92.3585	38.1135	7188
+-82.7481	27.7239	9195
+-86.2096	36.1883	6500
+-92.4772	39.6895	6951
+-113.9519	36.1443	5309
+-90.368	37.0273	7567
+-82.8847	26.3095	8038
+-118.6636	49.1403	6015
+-118.5801	48.0926	7127
+-112.962	33.1786	6142
+-124.9109	48.9194	6527
+-107.7101	30.7914	6505
+-112.8097	35.5674	4431
+-78.035	29.5255	4847
+-116.4039	34.2506	8588
+-83.789	31.5522	5218
+-114.4868	36.2525	5725
+-114.8622	44.1365	5083
+-116.7029	44.9754	7206
+-118.8725	37.0656	5891
+-89.0869	35.307	7143
+-116.1747	36.4148	6779
+-88.1285	33.8878	5514
+-120.3969	44.574	6500
+-119.253	32.1749	7104
+-119.8319	48.7421	6017
+-116.8176	44.003	6551
+-88.0604	37.8622	8992
+-93.4615	37.0181	5617
+-124.2488	46.9979	8124
+-92.0566	40.4877	6824
+-89.4075	33.0969	4636
+-110.4684	32.042	8955
+-115.7687	33.3392	8295
+-113.3231	29.9947	5805
+-94.9847	40.6731	4049
+-89.9605	37.8815	8383
+-117.8002	36.1243	7289
+-108.5013	28.9886	6032
+-108.5681	33.5528	6608
+-86.4025	37.5725	7159
+-107.8617	29.5553	6010
+-90.412	39.1405	9002
+-118.9395	32.1295	7423
+-121.1629	46.2182	7528
+-114.9315	28.2627	4189
+-85.614	34.1296	4497
+-119.988	34.1135	6569
+-88.0786	36.6551	8442
+-108.4923	31.7926	7466
+-86.3297	26.9773	5062
+-106.1164	30.6635	4797
+-118.1907	43.5443	6552
+-84.3584	28.5769	7213
+-85.7723	31.3066	4149
+-122.1455	47.4757	8606
+-80.1186	27.1653	7514
+-110.3979	31.7132	9316
+-117.2026	36.7075	6729
+-119.8494	46.8085	7440
+-120.1442	48.9023	5698
+-116.4463	46.8918	7142
+-120.464	43.6225	5765
+-84.6632	30.2399	5890
+-113.5583	46.9919	4168
+-109.0524	31.6666	8083
+-116.7405	31.5204	8285
+-87.8858	35.6972	7394
+-121.8538	45.4769	7606
+-115.9772	31.6526	8049
+-83.4732	27.9509	8362
+-93.4325	38.5552	6131
+-112.4114	33.7929	6187
+-119.418	38.2576	4464
+-124.8942	45.8424	7091
+-113.933	30.0503	5234
+-114.7903	31.5508	6945
+-121.0599	32.5676	5179
+-91.2289	38.3554	8419
+-116.0871	33.9473	8235
+-88.3986	32.3205	3800
+-119.6271	34.143	6963
+-112.1956	34.3659	5846
+-88.4298	35.6326	7502
+-116.2833	32.965	8973
+-116.1614	45.7564	6984
+-87.9381	39.4305	7627
+-111.2139	29.2096	6730
+-118.8892	45.3944	8276
+-116.9865	32.5484	9453
+-114.6196	31.3212	6649
+-120.8232	46.5473	7278
+-88.1243	38.6463	8500
+-109.0783	32.7872	7589
+-84.5382	27.2756	7116
+-82.8407	28.2484	8924
+-119.9252	35.3865	6332
+-87.1054	38.7194	7607
+-124.6527	46.4049	7584
+-85.5654	42.0328	3737
+-83.1203	26.9506	8444
+-79.2906	29.5199	6114
+-120.5496	34.1816	5956
+-121.5527	45.6261	7518
+-118.833	46.5666	8497
+-117.9743	34.0293	8758
+-112.8608	32.8263	6422
+-123.9217	46.1819	8191
+-114.2115	33.5497	6573
+-92.9687	38.5571	6630
+-89.5261	41.1057	6722
+-82.2776	26.8239	8814
+-116.8179	31.9832	8809
+-81.7227	28.1392	9265
+-91.5618	38.6414	8149
+-91.2411	42.2482	5542
+-116.178	33.4701	8610
+-90.1225	42.2847	5604
+-118.7977	35.399	7371
+-112.7441	29.0038	5648
+-119.3745	43.8299	6593
+-119.4876	45.5529	7860
+-90.3782	40.9938	7006
+-88.1807	35.8457	7669
+-119.3092	46.7992	7946
+-87.0307	40.055	6500
+-89.5694	35.1381	6838
+-108.3136	31.8066	7272
+-118.4694	38.0732	5044
+-108.5239	32.1626	7415
+-115.9612	31.9301	8258
+-115.3945	30.1026	6254
+-84.9356	26.7713	6528
+-118.2582	34.398	8418
+-123.3945	46.4391	8812
+-115.0273	34.8162	6984
+-116.3361	32.1657	8742
+-125.1008	43.0245	4646
+-112.0095	29.3592	6456
+-90.7339	36.0721	6973
+-116.675	33.7801	8786
+-91.4579	40.582	7135
+-116.3457	32.5623	9004
+-120.5799	32.3909	5695
+-86.8414	38.8111	7301
+-91.5373	37.7895	7806
+-91.6234	39.5306	7845
+-89.5965	33.6734	5238
+-108.5887	32.5782	7298
+-121.4748	46.9996	8040
+-80.2618	25.1285	6233
+-108.1282	29.8209	6415
+-111.5372	33.7077	6828
+-117.0202	35.0789	8472
+-83.3505	26.9187	8214
+-87.2611	34.5579	5938
+-123.9304	45.9322	8002
+-90.4609	35.1884	6446
+-116.9291	47.0821	7489
+-116.4123	33.6598	8472
+-112.2986	29.6142	6459
+-118.4624	36.566	6581
+-88.1677	38.7469	8428
+-89.8603	39.6286	8322
+-86.2688	32.4059	3279
+-89.6785	40.0959	7787
+-116.2515	49.8806	4715
+-112.1873	31.3799	7453
+-114.7956	33.7822	7103
+-89.6676	39.6432	8191
+-121.2842	42.9953	4896
+-120.6122	32.7163	5575
+-124.5555	46.6012	7744
+-125.0089	46.7321	7275
+-123.7637	45.6556	7881
+-108.0814	32.8312	6684
+-119.647	45.6413	7737
+-122.4017	48.4539	7883
+-80.1061	27.0034	7442
+-111.7641	30.0617	7211
+-119.2209	46.4802	8189
+-121.9259	47.0626	8531
+-114.4048	36.3258	5605
+-79.4597	28.3978	6784
+-121.2798	31.6421	4767
+-83.3859	27.6154	8465
+-84.3882	30.6712	5732
+-124.9784	44.6575	6193
+-121.4971	34.6242	4892
+-121.3569	44.62	6521
+-117.2569	34.8341	8773
+-119.5365	29.8669	5389
+-118.8733	47.5195	7632
+-79.0786	27.0825	6351
+-111.7448	29.7678	6982
+-119.4089	43.9255	6667
+-108.7469	33.3305	6917
+-111.8635	33.4872	6827
+-115.3617	49.2971	4674
+-107.9169	27.8579	4663
+-83.8204	26.4687	7484
+-82.4862	27.2282	9164
+-115.9335	32.0437	8314
+-80.6269	28.2078	8117
+-82.4075	26.3466	8256
+-91.3269	39.4058	8186
+-113.9018	33.2891	6294
+-115.6057	29.7991	6061
+-93.8271	43.7236	2904
+-80.0891	25.4975	6437
+-115.8753	31.9576	8204
+-120.9985	35.3896	5243
+-82.4258	27.0263	8992
+-87.6839	39.7592	7170
+-88.8611	38.684	8667
+-109.9274	34.4952	6288
+-119.8445	44.688	7031
+-93.3959	37.1175	5731
+-124.3866	42.138	4056
+-110.5656	32.0272	8931
+-113.6141	36.1866	4967
+-120.544	34.4113	5950
+-90.8388	39.2877	8665
+-119.6984	46.7445	7614
+-127.1169	48.8508	4532
+-121.3011	43.8013	5710
+-118.0241	33.438	8416
+-90.5802	37.7461	8322
+-82.663	26.734	8580
+-120.1947	33.0691	6139
+-82.508	26.8429	8765
+-116.1554	35.6769	7463
+-83.3775	26.3183	7732
+-83.734	24.331	5604
+-80.8338	29.1054	7782
+-119.4627	31.1735	6420
+-120.8574	45.2003	6639
+-87.5124	37.4087	8378
+-118.7526	33.4424	7750
+-88.9717	40.3248	7145
+-116.5227	44.0461	6395
+-88.8057	38.0622	9368
+-85.9962	37.3357	6683
+-80.5372	26.9332	7855
+-117.8125	34.1292	8942
+-82.0934	25.6216	7465
+-120.3006	48.8608	6073
+-113.4308	31.9822	6090
+-117.5718	32.9874	9051
+-118.7715	34.6542	7801
+-120.9709	45.9473	7209
+-91.2964	37.4315	7696
+-117.8855	45.0849	8106
+-122.903	41.9398	4084
+-117.2416	31.6067	8369
+-83.0609	28.6719	8426
+-109.9253	31.9387	8887
+-115.7933	31.6805	7931
+-88.8478	38.9517	8369
+-116.3843	33.4538	8790
+-117.0314	36.2807	7181
+-88.8677	39.2874	7691
+-117.2148	32.8782	9468
+-87.6232	36.2165	7743
+-123.824	47.1372	8574
+-89.2364	41.0813	6624
+-120.7423	49.0731	6293
+-112.6733	32.00	6898
+-123.7685	48.2452	7908
+-80.7378	26.3765	7664
+-117.4279	33.6338	8965
+-116.7277	44.2805	6725
+-119.0294	35.5855	7046
+-80.3203	31.1917	5508
+-108.905	34.9295	5532
+-117.6728	44.9886	7918
+-89.7075	39.4643	8364
+-92.3485	33.9381	4012
+-111.7999	28.3271	5604
+-120.1738	35.683	5944
+-115.4239	32.5486	8006
+-118.4267	32.3961	8058
+-88.6556	35.3436	7205
+-85.4063	36.4322	5797
+-119.878	30.8473	5832
+-115.2347	32.583	7804
+-109.6729	35.5019	5168
+-109.1282	29.9934	7312
+-125.4213	49.6995	5521
+-88.7637	37.9891	9452
+-114.2005	32.3732	6628
+-122.8068	44.567	6968
+-108.6037	31.7889	7586
+-87.5685	38.5138	8168
+-126.719	43.0224	3575
+-116.8979	31.3463	8111
+-118.1823	32.1405	8201
+-110.0479	32.7882	8132
+-112.7116	32.4366	6736
+-117.2276	35.0155	8575
+-88.452	42.9763	4416
+-82.7449	25.6241	7372
+-81.7317	26.6394	8539
+-116.9226	33.8351	9041
+-118.4948	48.0817	7150
+-87.9295	37.6761	8875
+-93.9158	38.5277	5609
+-105.812	29.3671	4018
+-88.6121	37.5943	9624
+-120.213	46.3548	7199
+-109.268	31.2038	8248
+-108.6816	31.1708	7629
+-121.0914	46.8524	7615
+-116.7292	44.2364	6691
+-122.9918	46.3294	8899
+-123.0141	45.6505	8155
+-111.3048	32.392	8104
+-83.0137	31.5765	5468
+-117.9109	36.2528	7121
+-117.599	34.0462	9163
+-86.5119	38.2261	7207
+-81.1088	27.9966	8704
+-114.5401	31.9225	6868
+-86.8886	37.97	7680
+-118.4217	47.8054	7448
+-80.5298	27.9347	8068
+-109.8271	32.5294	8311
+-116.8299	32.8673	9590
+-118.4445	48.1316	7102
+-80.9654	26.3775	7839
+-118.3634	44.4525	7514
+-110.615	27.9331	5507
+-84.8584	28.2457	6762
+-113.8077	34.0244	5981
+-90.7624	40.9657	7001
+-87.7814	38.0772	8617
+-81.0128	28.9213	8072
+-116.9716	34.0354	9199
+-116.4076	33.7145	8495
+-118.8566	34.1258	7803
+-81.5722	29.6973	7618
+-120.8205	35.04	5537
+-118.053	33.9378	8654
+-107.3742	30.9128	6186
+-119.5143	46.7713	7776
+-90.5699	35.4585	6615
+-117.329	32.2239	8978
+-118.6719	29.9599	6042
+-122.215	44.0791	6346
+-109.8652	33.3658	7477
+-87.969	39.2663	7808
+-117.6524	34.4954	8961
+-89.9152	38.0384	8506
+-118.9618	49.9652	5104
+-83.6089	30.9247	5949
+-119.4608	48.509	6421
+-113.3181	27.7033	4170
+-119.3783	31.7453	6809
+-117.8243	46.2141	8760
+-125.8192	47.983	6210
+-93.5287	39.4794	5944
+-115.9069	47.2722	6454
+-107.8328	33.8971	5782
+-90.9271	38.6589	8830
+-120.5497	47.5247	6952
+-88.3146	37.2567	9131
+-81.4419	26.252	8009
+-116.7222	32.4067	9221
+-89.253	37.6192	9267
+-124.8314	47.3153	7450
+-79.463	29.7743	6113
+-116.9309	33.6278	8876
+-107.8564	33.9422	5768
+-109.8997	31.7883	8954
+-119.8763	30.5474	5637
+-90.1522	37.5113	8066
+-91.0315	44.5535	3130
+-119.2921	33.3175	7156
+-89.9659	40.736	7237
+-90.9346	39.3074	8579
+-90.8733	37.5714	8049
+-121.3078	44.3318	6224
+-114.0153	35.7931	5556
+-89.4626	39.0642	8376
+-118.6841	35.1048	7663
+-89.651	43.3965	4354
+-88.3236	40.3655	6603
+-89.4955	37.2057	8847
+-118.3938	33.4226	8084
+-91.0063	39.2184	8584
+-123.9974	43.5097	5622
+-113.4961	33.7688	5739
+-79.4857	27.2007	6829
+-120.3639	46.7062	6965
+-117.8204	35.2418	8186
+-91.8409	36.1686	6229
+-115.7677	45.6216	6549
+-95.956	38.5824	3415
+-108.0344	30.924	6882
+-110.2713	31.1157	8962
+-91.6712	39.5386	7797
+-111.197	30.3319	7826
+-81.0056	28.4447	8404
+-83.4171	28.3234	8309
+-82.0135	29.3736	8069
+-77.5508	28.2443	4680
+-110.7048	32.4991	8403
+-86.5127	26.7992	4818
+-110.2309	30.2787	8056
+-81.4995	26.5077	8298
+-118.1266	33.2859	8221
+-118.08	34.7824	8403
+-114.174	30.5938	5772
+-108.8956	33.998	6429
+-85.2486	26.7581	6188
+-94.6302	40.3017	4551
+-84.1548	28.7687	7340
+-109.1244	33.6221	6905
+-84.5338	24.0069	4846
+-116.9676	35.4597	8055
+-125.1756	48.1438	6791
+-118.5362	47.1621	8104
+-86.1105	38.9266	6515
+-109.0431	30.5435	7678
+-115.5972	33.059	8202
+-111.2905	33.6825	6974
+-92.0254	39.4619	7495
+-115.6906	44.6177	6098
+-87.1393	36.5456	7597
+-118.9865	33.6487	7589
+-119.8389	48.2441	6455
+-112.6229	33.8577	5977
+-117.4512	35.9832	7510
+-90.0118	39.0624	8901
+-93.7699	36.5811	5090
+-125.4148	46.128	6694
+-86.3553	37.9602	7088
+-115.0207	32.267	7498
+-87.9725	39.211	7865
+-117.8859	33.968	8839
+-117.2657	35.971	7533
+-91.7026	38.2655	7910
+-81.3878	26.3872	8119
+-91.7366	37.5631	7484
+-117.4863	33.4593	8765
+-122.8764	49.1749	7180
+-114.231	31.8428	6514
+-117.6921	41.5472	4398
+-88.6529	35.371	7236
+-118.7795	33.9007	7868
+-119.0041	45.4399	8225
+-119.7516	46.8118	7532
+-124.5597	45.2422	6977
+-89.7278	39.364	8456
+-119.2321	32.7987	7226
+-88.4779	40.3996	6708
+-88.7099	40.2264	7019
+-119.6459	47.3167	7326
+-111.5547	28.7302	6111
+-87.5266	39.9575	6890
+-89.0402	36.5998	8580
+-81.9709	30.7097	6558
+-88.7922	41.268	6214
+-120.9519	45.7008	7054
+-90.7445	39.721	8308
+-109.6202	33.7006	7053
+-119.2418	43.5574	6383
+-91.6282	38.296	7996
+-119.7108	43.3756	6003
+-87.8285	39.7819	7217
+-109.4812	32.2782	8282
+-110.6258	30.8724	8641
+-124.5914	48.412	7162
+-117.3132	46.792	7999
+-85.1479	40.3125	4783
+-116.0252	32.9226	8696
+-81.5428	29.293	8041
+-118.6409	33.9123	8019
+-111.639	29.2631	6589
+-117.8881	33.1478	8661
+-115.6307	36.4882	6410
+-112.4223	31.8411	7193
+-113.03	27.2569	3950
+-88.5635	36.388	8363
+-89.8667	35.715	7301
+-77.2608	27.3465	4359
+-117.8911	45.8872	8788
+-122.7415	48.9515	7419
+-110.4177	32.2047	8794
+-92.3956	36.4172	6104
+-90.0642	35.9229	7376
+-90.8777	36.7417	7195
+-83.7095	26.3406	7488
+-116.6433	35.3479	8049
+-119.964	47.9875	6584
+-90.3392	38.4823	9132
+-125.4853	44.5831	5743
+-121.4335	47.8667	7716
+-87.4006	39.8838	6891
+-88.2928	34.8375	6596
+-107.7844	31.2093	6682
+-110.2951	30.8943	8726
+-111.6204	31.0373	7959
+-118.7757	45.8448	8673
+-87.3097	34.7586	6165
+-120.885	48.376	6905
+-119.0595	31.3441	6898
+-119.4024	30.5349	6030
+-119.5321	46.4369	7891
+-125.4282	47.1397	6822
+-89.7392	38.0595	8407
+-92.5893	37.5474	6716
+-85.1767	24.0555	4463
+-111.5352	29.9449	7272
+-119.8638	36.4659	5730
+-116.3184	46.5859	7117
+-89.9867	37.8888	8402
+-115.8907	31.8738	8157
+-121.2032	49.547	6213
+-87.079	33.8039	5084
+-89.2512	38.1058	9080
+-79.4095	30.384	5619
+-116.7544	33.6831	8794
+-110.183	31.2403	9068
+-118.6144	47.8551	7369
+-117.4431	35.5835	7944
+-113.3894	36.3752	4652
+-118.0583	34.4949	8588
+-119.5117	36.0394	6325
+-119.0544	32.1772	7317
+-120.4231	48.1068	6610
+-115.8352	35.1399	7629
+-119.7117	31.9033	6526
+-86.4878	27.6848	4965
+-111.5018	31.1629	8128
+-89.8253	37.912	8339
+-88.2925	37.6207	9280
+-118.2757	32.6678	8283
+-122.7799	48.8627	7519
+-117.5078	47.4173	7642
+-87.2752	39.7051	6979
+-119.2906	33.6666	7272
+-88.6916	38.9424	8380
+-108.9124	29.4372	6685
+-83.5639	29.3858	7448
+-89.4964	34.3856	6043
+-116.5359	42.5605	5080
+-118.6826	30.391	6439
+-123.1414	46.4527	8982
+-115.7615	43.6189	5514
+-89.7726	40.3413	7587
+-89.1168	36.0483	7957
+-116.4958	32.25	8931
+-117.9294	45.5775	8592
+-122.099	46.0976	8308
+-82.5855	24.8452	6548
+-113.5651	31.6542	5971
+-108.4799	28.947	5982
+-114.5021	33.8455	6774
+-91.0652	36.6605	7055
+-92.6195	39.7388	6789
+-117.4927	34.7427	8829
+-123.3294	46.0334	8478
+-115.3743	27.4512	3510
+-107.3795	29.4416	5520
+-85.5879	26.7922	5832
+-89.4266	36.543	8353
+-88.1669	40.1281	6971
+-116.0046	43.9068	5911
+-118.0389	36.5796	6740
+-124.3187	46.5581	7984
+-91.1157	41.4481	6411
+-86.4844	39.7115	6375
+-82.4635	24.1878	5826
+-116.8974	43.9959	6592
+-88.0137	38.2654	8735
+-117.3063	30.3983	7029
+-82.6328	27.7137	9324
+-121.8261	45.6572	7746
+-89.9382	37.8877	8378
+-122.5595	49.8376	6430
+-108.9463	33.9427	6508
+-120.435	48.0856	6632
+-107.5963	28.9504	5359
+-109.6562	26.9605	4412
+-121.6463	46.5585	8158
+-90.1043	36.8033	8028
+-85.4556	37.8917	6090
+-93.1091	36.3736	5527
+-120.5765	35.6994	5544
+-118.6037	45.454	8497
+-81.3765	27.3403	8910
+-81.0732	27.9406	8677
+-115.295	34.9788	7198
+-118.7534	32.9215	7756
+-109.2803	33.9928	6625
+-116.5869	30.7946	7458
+-85.0458	28.1844	6564
+-120.4174	49.856	5421
+-122.5194	45.1709	7590
+-86.3011	42.4204	3803
+-116.7375	35.35	8091
+-91.9832	36.915	6800
+-119.2881	36.5269	6120
+-82.2611	25.7064	7557
+-116.705	32.8482	9459
+-115.5328	44.6263	5956
+-115.1661	34.4433	7222
+-87.9326	36.9491	8581
+-109.1701	32.394	7937
+-117.9048	33.5854	8620
+-90.35	43.4873	4318
+-116.3413	33.841	8479
+-112.8565	32.3126	6628
+-110.4915	29.3607	7059
+-122.3179	43.136	5349
+-109.4152	31.1241	8361
+-119.6511	32.6131	6750
+-117.6151	45.0506	7943
+-85.3775	32.2762	3607
+-82.0136	32.4775	4561
+-123.8909	48.3421	7744
+-90.2247	39.5614	8533
+-89.4389	37.5336	9046
+-110.7032	29.8069	7508
+-110.8852	30.3837	8043
+-86.7086	41.1931	5231
+-117.3467	45.7348	8196
+-92.4913	38.1663	7067
+-90.1075	39.2353	8823
+-114.8695	32.1009	7281
+-116.1836	35.9709	7211
+-91.7875	37.9275	7670
+-117.0011	32.5315	9432
+-115.1167	44.5836	5542
+-119.0675	33.0626	7252
+-81.2341	27.3747	8783
+-120.0594	35.1655	6290
+-110.4126	29.3033	7002
+-118.9054	49.309	5799
+-121.3683	36.0618	4594
+-121.2664	49.2636	6510
+-122.3927	46.8175	9025
+-115.8242	46.2179	6653
+-116.2043	33.0961	8847
+-83.7183	26.8315	7810
+-116.1321	33.7108	8217
+-117.9592	44.73	7770
+-121.19	35.2055	5101
+-81.7297	27.8034	9434
+-110.4556	30.6261	8428
+-117.7454	32.4048	8770
+-119.4512	33.0566	6881
+-124.5503	47.2287	7770
+-87.0393	38.9499	7399
+-80.1279	27.7231	7623
+-88.5585	35.0676	6889
+-119.1525	35.8211	6777
+-84.6959	27.7375	6993
+-118.6231	34.8472	7866
+-83.0567	27.9519	8827
+-117.2247	34.6915	8927
+-83.0461	24.0924	5609
+-117.7699	32.5184	8797
+-114.1639	36.1213	5518
+-89.7465	36.3722	7993
+-118.5831	43.7318	6732
+-112.0984	31.6521	7560
+-91.8616	37.4295	7288
+-119.471	35.9391	6429
+-90.4508	39.8347	8253
+-108.8438	33.3766	6948
+-117.4805	30.2433	6826
+-118.2693	44.8144	7899
+-85.8798	30.4275	4693
+-89.4383	38.6545	8401
+-89.065	38.6673	8642
+-88.9178	37.0059	9055
+-82.7398	29.5093	7805
+-125.09	46.9133	7199
+-111.2167	30.929	8282
+-124.7114	46.6099	7578
+-86.0051	37.3944	6700
+-117.6662	34.1436	9102
+-123.8837	47.5475	8351
+-118.8953	36.3416	6545
+-118.8539	30.4752	6399
+-115.1233	32.7503	7695
+-118.1293	34.5414	8497
+-121.3142	48.3662	7282
+-109.6052	34.6799	6027
+-118.8806	33.6237	7692
+-108.5113	32.9534	7004
+-124.6664	43.067	4903
+-114.8151	32.1572	7243
+-81.2575	27.8676	8895
+-112.6638	30.471	6676
+-120.812	48.5602	6720
+-121.9738	48.3053	7818
+-79.6916	30.3093	5904
+-116.8053	36.4697	6940
+-117.1058	36.5591	6886
+-116.078	29.734	6174
+-78.4459	31.6429	3840
+-89.4722	39.0698	8384
+-116.4587	34.3282	8631
+-106.9957	30.9786	5799
+-124.1005	46.1264	7996
+-117.0474	33.912	9198
+-115.8276	31.4634	7780
+-111.9688	35.8404	4532
+-82.1206	26.7479	8740
+-111.5504	33.8773	6660
+-82.9011	31.775	5275
+-126.788	46.3975	5289
+-119.6801	34.0507	6904
+-120.923	33.2313	5430
+-120.758	33.5787	5682
+-90.6485	36.0652	7042
+-120.4379	35.0165	5947
+-116.5776	37.766	5505
+-78.8728	25.2481	5231
+-116.9246	33.3134	9197
+-80.9928	29.508	7537
+-114.0457	31.581	6215
+-119.5516	30.1733	5629
+-88.6703	35.7999	7718
+-114.7779	32.4995	7286
+-83.3226	26.4138	7855
+-127.156	43.8878	3835
+-90.2404	42.2436	5656
+-113.6144	34.4079	5543
+-117.3417	45.6438	8152
+-119.0003	34.2648	7641
+-86.4608	33.2711	4244
+-117.0347	31.2535	8008
+-89.3482	40.4125	7313
+-84.6549	28.0643	7020
+-79.4669	26.8649	6708
+-108.6959	33.4216	6806
+-114.9312	45.876	5702
+-117.5622	33.3095	8891
+-95.009	41.0045	3878
+-115.5302	46.5359	6308
+-116.1033	35.2362	7789
+-122.2561	45.1371	7475
+-93.8804	40.5149	5202
+-117.8244	34.4115	8858
+-87.3804	40.9868	5776
+-109.2887	28.6777	6128
+-79.914	26.2561	6855
+-117.9437	37.138	6178
+-88.0145	36.0775	7842
+-113.3143	32.936	5927
+-116.1802	45.4217	6920
+-120.1271	33.3181	6293
+-110.7339	30.2336	7948
+-116.9885	38.218	5072
+-116.0377	45.6621	6837
+-87.7327	38.7015	8173
+-116.6282	38.3481	4888
+-117.1751	34.4451	9183
+-90.0836	34.2943	5752
+-89.0847	38.2677	9051
+-117.2399	43.8807	6663
+-117.5386	47.8545	7242
+-88.7297	33.6945	5357
+-107.8089	34.4375	5345
+-110.248	34.6101	6193
+-119.1193	30.9002	6538
+-117.9399	30.8717	7327
+-111.6211	34.9079	5611
+-90.7271	36.4266	7212
+-116.1537	33.8469	8284
+-113.9922	30.7942	5741
+-118.8499	31.245	7017
+-121.2043	46.6394	7709
+-114.4571	35.0152	6326
+-85.7813	28.1312	5745
+-114.192	35.3345	5937
+-114.628	36.5499	5635
+-121.2741	32.7319	4907
+-81.9781	27.2081	9237
+-84.6521	37.2564	5174
+-115.7917	33.4403	8269
+-120.6205	46.6421	7077
+-117.5359	31.0332	7665
+-122.7015	48.4472	7965
+-89.1654	37.6827	9367
+-110.5225	30.0332	7782
+-88.2349	37.5668	9208
+-124.5576	49.3736	6395
+-115.6071	37.3494	5590
+-89.1093	36.5057	8457
+-117.9291	46.2147	8866
+-82.4399	28.1298	9355
+-87.0175	35.4665	6661
+-106.9398	29.7627	5301
+-117.4331	33.4372	8757
+-91.1816	37.784	8074
+-123.8312	46.0811	8194
+-122.7565	44.6409	7046
+-89.405	35.7667	7566
+-121.5583	45.2527	7215
+-123.04	43.5181	5814
+-86.0739	39.7644	5983
+-108.037	31.3727	6975
+-89.0191	36.3402	8300
+-118.9759	34.0978	7673
+-89.7019	39.701	8163
+-89.8839	38.9708	8836
+-113.2037	32.3483	6255
+-120.5244	46.9029	6995
+-78.5157	26.9159	5688
+-117.1585	33.2651	9209
+-122.3873	45.6054	8008
+-116.2052	32.3781	8773
+-119.0517	46.4339	8373
+-120.3739	44.7765	6640
+-112.1078	32.8014	7142
+-112.2666	31.6223	7378
+-92.4812	38.6507	7161
+-118.656	34.5041	7969
+-105.7894	33.7401	4024
+-123.0967	45.5361	8020
+-115.8975	46.298	6725
+-88.2903	40.5715	6434
+-87.575	35.8546	7381
+-93.9062	39.2733	5586
+-115.2207	33.3068	7730
+-90.6896	39.463	8588
+-115.5417	32.429	8106
+-91.7042	39.9403	7508
+-81.9657	31.4651	5704
+-119.9875	44.1958	6554
+-113.445	34.1719	5544
+-119.6122	28.3921	4003
+-85.6989	36.3895	6085
+-120.6378	49.4489	5916
+-119.6813	32.4761	6701
+-84.4797	25.4007	6123
+-118.7967	47.7972	7383
+-118.4118	44.2788	7327
+-115.0951	33.3082	7595
+-123.498	47.9219	8368
+-79.902	31.5576	4916
+-121.1868	49.5059	6241
+-115.6087	33.4974	8059
+-89.6502	39.6932	8137
+-116.461	31.3203	7991
+-121.2819	33.1841	5037
+-82.1417	26.1516	8065
+-89.3286	40.4469	7271
+-89.0571	35.8684	7771
+-92.4368	39.9944	6836
+-119.6228	33.0375	6703
+-113.6941	34.0854	5838
+-111.8643	31.6694	7812
+-110.9432	32.89	7911
+-89.4258	37.3522	8996
+-118.5786	47.0844	8172
+-124.5568	48.3236	7253
+-82.6292	30.7722	6446
+-115.5262	35.3708	7208
+-114.888	35.0616	6753
+-119.9741	34.8893	6472
+-116.3217	45.3266	7027
+-111.0968	32.9099	7815
+-125.029	46.2779	7148
+-116.5551	45.80	7403
+-82.3831	26.6963	8649
+-89.7988	40.6692	7262
+-111.4762	31.2643	8188
+-121.0948	47.0866	7619
+-106.9129	30.5965	5617
+-89.0667	37.6088	9472
+-117.4179	46.711	8139
+-117.5172	31.0066	7643
+-90.4472	37.78	8377
+-109.5956	32.8179	7915
+-123.7351	48.9923	7199
+-87.1173	37.281	7914
+-82.0866	26.8048	8803
+-117.0139	29.8459	6439
+-91.9141	38.1285	7644
+-109.2747	30.6531	7947
+-115.7676	45.7499	6571
+-88.2337	35.5372	7352
+-116.7565	44.7831	7125
+-82.5255	28.4299	9021
+-117.1211	44.7801	7398
+-89.4196	38.4704	8343
+-116.7077	31.983	8779
+-119.428	47.6596	7212
+-110.8621	32.2035	8591
+-117.0866	42.2621	5003
+-91.8444	38.8842	7843
+-118.9724	49.3841	5707
+-116.2404	33.0309	8908
+-107.6057	27.9137	4520
+-118.4173	29.2969	5507
+-93.5116	38.6524	6051
+-89.2687	39.4408	8011
+-116.4961	43.7189	6107
+-90.4814	37.4249	7992
+-117.8232	45.1263	8120
+-119.0548	44.3242	7210
+-109.2364	31.7055	8278
+-110.6295	29.6314	7335
+-88.5087	35.6051	7484
+-118.948	45.8365	8503
+-117.9726	47.6605	7575
+-108.4378	33.1119	6835
+-91.7016	39.134	7944
+-84.1082	25.829	6762
+-87.7779	39.992	6978
+-107.9006	30.8925	6734
+-118.4239	31.2505	7367
+-120.7607	43.4018	5381
+-124.5766	46.4894	7691
+-113.4869	32.2253	5987
+-91.0387	37.1789	7590
+-121.2788	45.6364	7302
+-87.32	36.9217	7989
+-110.6799	33.0262	7866
+-121.7958	46.8882	8390
+-118.7123	30.6323	6634
+-113.772	31.7695	6003
+-87.4507	37.9912	8294
+-84.5509	29.0678	6786
+-120.1589	32.3789	6159
+-117.5705	30.3192	6887
+-118.7861	35.8436	7042
+-89.0977	37.8985	9361
+-117.1586	33.2708	9203
+-90.1544	39.0835	8988
+-114.4356	35.7622	5975
+-89.8497	37.7537	8595
+-90.2595	38.6196	9231
+-111.382	31.6471	8335
+-115.9245	32.167	8383
+-87.5613	37.1676	8351
+-119.9502	48.0475	6546
+-83.176	25.865	7439
+-120.9009	44.0043	5709
+-115.5653	43.7915	5484
+-118.5648	44.4557	7494
+-107.941	32.1679	6805
+-90.0753	39.4279	8622
+-117.7049	44.3076	7266
+-125.947	46.6147	6236
+-122.1016	48.2847	7913
+-93.0432	36.9256	5948
+-79.1914	30.3641	5452
+-126.1732	49.5286	5040
+-81.0017	29.3042	7733
+-80.2621	27.7196	7775
+-85.756	27.6943	5793
+-89.8748	39.4787	8467
+-81.4046	29.8458	7400
+-118.1162	29.8291	6182
+-89.4353	36.8944	8669
+-115.1983	30.8178	6776
+-124.4295	44.0868	6024
+-88.2138	36.8789	8735
+-89.9793	38.0334	8538
+-116.8224	33.8301	8951
+-88.9355	39.3305	7743
+-91.1869	39.8383	7966
+-115.7612	32.1682	8226
+-86.2188	36.1878	6509
+-115.8693	34.2297	8010
+-78.1427	30.1829	4614
+-119.4403	37.9396	4757
+-83.2803	28.7453	8187
+-115.5217	45.9352	6331
+-90.7309	38.6583	9037
+-83.1174	26.2835	7879
+-89.2023	39.9654	7598
+-111.4173	29.4663	6897
+-122.9497	43.7718	6096
+-118.1574	49.2483	5924
+-124.0926	45.6333	7641
+-90.2808	39.5939	8508
+-110.2093	33.4871	7406
+-118.0599	35.1651	8118
+-110.1914	31.8469	9149
+-121.6257	44.3962	6454
+-117.3223	35.5049	8040
+-109.0977	30.4098	7627
+-113.6733	28.186	4312
+-126.1518	44.6581	5225
+-104.784	29.9612	3210
+-88.1053	37.498	9049
+-87.0939	39.4242	7091
+-114.9851	38.2926	4363
+-86.8595	35.0682	6198
+-121.2419	48.8379	6859
+-119.843	31.5041	6226
+-87.4299	30.2334	3282
+-115.0655	31.6693	7276
+-115.2931	32.5134	7856
+-123.3773	47.5195	8804
+-121.3034	43.6507	5563
+-86.6058	37.5163	7384
+-117.3842	34.3683	9251
+-121.4799	49.0823	6807
+-109.7609	29.6794	7320
+-117.0439	33.765	9068
+-116.1221	33.8745	8258
+-81.3918	27.9917	9016
+-116.0648	42.3228	4621
+-91.8519	36.6273	6642
+-118.6987	45.8936	8769
+-117.9933	34.304	8724
+-118.0941	33.6972	8518
+-85.7485	28.1217	5783
+-122.3778	44.0604	6362
+-115.4601	46.9374	6142
+-111.5958	31.8233	8081
+-89.8209	37.0328	8435
+-120.7111	46.1931	7056
+-81.4519	27.1358	8842
+-122.8351	48.2396	8206
+-112.4884	32.1919	7047
+-88.7951	35.9505	7889
+-80.936	28.5863	8251
+-117.7463	37.3135	6030
+-119.5372	46.2058	7928
+-108.6184	31.9315	7578
+-112.4179	31.5865	7215
+-119.6096	47.1913	7442
+-119.1208	32.0571	7205
+-88.9019	38.773	8563
+-90.4956	38.5666	9193
+-117.7469	42.0383	4921
+-84.0154	40.4068	3658
+-116.9975	34.1803	9240
+-117.6334	49.9511	5124
+-91.3063	39.0596	8375
+-114.519	37.4278	4858
+-84.2172	30.4758	6026
+-80.5382	31.3981	5405
+-118.9844	47.6154	7492
+-87.6516	34.0519	5570
+-117.237	34.4027	9242
+-114.5858	35.395	6306
+-112.1324	31.2507	7491
+-119.0067	30.9403	6661
+-89.646	41.0907	6779
+-110.4276	31.0755	8914
+-124.4749	48.5618	7144
+-91.1343	35.2909	6051
+-109.8733	31.4627	8958
+-87.1928	38.4287	7852
+-109.9378	32.1696	8707
+-116.2999	36.2351	7014
+-114.7805	49.1678	4329
+-82.3458	25.7223	7567
+-90.2133	40.2504	7797
+-117.8312	46.0338	8777
+-77.8852	28.4547	5024
+-122.5676	49.3447	6968
+-91.27	40.7193	7097
+-90.4616	33.5745	4844
+-124.8138	46.8404	7499
+-120.585	47.5672	6979
+-123.6878	48.0124	8168
+-119.3359	32.7955	7110
+-122.1921	48.4698	7781
+-117.5908	45.805	8463
+-122.474	47.7732	8604
+-90.4033	35.3351	6618
+-117.8799	46.649	8539
+-107.6327	27.8804	4508
+-83.4363	26.9495	8152
+-114.01	32.3307	6411
+-125.8156	45.5456	6043
+-86.3388	37.219	7044
+-117.2301	32.718	9439
+-118.0146	45.3528	8420
+-124.8071	48.1117	7162
+-114.6528	38.1478	4312
+-110.9926	32.002	8627
+-81.504	28.9426	8383
+-110.0139	30.4839	8233
+-118.4432	36.0464	7088
+-109.4705	28.8787	6398
+-92.4467	36.2256	5910
+-90.8605	35.2842	6255
+-88.2514	36.752	8637
+-118.5931	46.0769	8932
+-117.8398	34.5073	8791
+-89.2094	35.8274	7692
+-115.9771	46.5755	6767
+-122.8614	47.9447	8531
+-80.0661	28.2332	7495
+-88.731	38.5832	8785
+-84.0921	25.1862	6227
+-110.3147	29.5964	7321
+-110.0628	30.4863	8249
+-116.8102	33.1122	9380
+-117.8912	45.9045	8797
+-90.9014	41.7177	6177
+-91.9742	37.2726	7084
+-92.7755	38.4318	6823
+-109.6203	31.1542	8572
+-77.4109	29.4278	4229
+-125.8833	45.1542	5771
+-117.5699	33.8317	9071
+-80.9922	28.2386	8495
+-115.799	36.4522	6544
+-121.1283	42.9673	4779
+-91.8658	37.8704	7566
+-121.5225	47.5565	7960
+-111.1573	32.0559	8444
+-90.5385	41.6797	6262
+-120.4347	35.0017	5955
+-123.4599	47.4369	8803
+-90.1769	37.6229	8189
+-83.098	25.4335	7036
+-111.3028	29.48	6964
+-90.4815	37.8723	8472
+-118.8272	43.8101	6768
+-94.6388	38.9738	4831
+-111.8598	35.4452	4974
+-110.2277	33.7917	7078
+-87.5651	40.3099	6555
+-84.9749	27.2691	6629
+-119.0132	32.573	7454
+-116.2742	32.4467	8877
+-87.5048	38.467	8137
+-114.3664	32.7728	6852
+-88.5486	36.7605	8770
+-86.0179	36.1408	6287
+-109.2539	30.5145	7828
+-121.9385	46.4602	8412
+-115.3987	31.2835	7307
+-117.5992	31.0924	7704
+-119.3376	35.0369	7073
+-116.3659	30.5329	7119
+-119.1586	45.2101	7939
+-118.8427	33.8779	7796
+-89.8481	38.525	8799
+-118.1002	33.989	8615
+-83.1966	25.3929	6950
+-117.821	29.7629	6216
+-118.8506	31.9296	7430
+-117.5325	34.5979	8954
+-119.3312	46.1504	8149
+-90.5553	36.1097	7154
+-119.3678	47.0785	7714
+-120.9186	33.4989	5495
+-116.0127	37.9881	5116
+-79.0718	26.0731	5934
+-115.5964	47.0644	6237
+-122.2969	46.0368	8389
+-120.4937	34.2737	6014
+-116.2034	32.864	8900
+-87.8552	39.7348	7277
+-120.695	48.9375	6357
+-113.7928	34.2898	5745
+-88.6406	38.4738	8897
+-110.4714	34.4166	6400
+-85.6724	27.4061	5868
+-117.4914	31.7239	8401
+-92.8847	35.8294	5280
+-118.1118	32.1859	8295
+-87.7163	32.6268	4037
+-123.5313	44.4593	6766
+-89.8492	37.2948	8530
+-90.2663	37.3128	7870
+-117.0593	46.4364	7916
+-121.4577	33.945	4962
+-89.7223	41.9161	5938
+-122.1223	48.2898	7920
+-117.1269	35.6262	7902
+-118.9017	35.6631	7095
+-121.2479	47.7764	7585
+-121.2391	43.4283	5312
+-117.5176	35.1984	8344
+-91.4905	37.5181	7639
+-87.9866	32.9397	4438
+-116.8713	38.5445	4707
+-115.7231	30.946	7247
+-126.117	46.8154	6068
+-93.0622	41.3992	5363
+-91.2546	36.9718	7290
+-91.6227	43.4764	4158
+-92.578	35.2311	4954
+-114.9095	33.7853	7217
+-111.9527	28.2661	5474
+-120.0724	46.7184	7256
+-122.9681	43.8625	6195
+-121.0603	49.985	5723
+-118.2007	34.0957	8518
+-88.2848	38.0801	9102
+-86.9338	35.7476	6837
+-85.0365	28.0273	6595
+-120.4328	32.0416	5791
+-112.7269	35.2408	4738
+-123.9649	45.2514	7388
+-118.4416	43.7589	6776
+-106.5365	30.3847	5160
+-80.8488	29.774	7196
+-87.303	36.6019	7784
+-78.2376	24.9566	4458
+-115.1315	33.9063	7372
+-116.9251	43.3209	5985
+-117.3063	31.108	7810
+-114.8221	30.3843	6136
+-89.5016	35.8295	7595
+-81.1897	24.2855	5812
+-81.6115	25.6985	7479
+-80.4217	26.5221	7498
+-115.9847	45.1491	6626
+-118.9927	47.3559	7733
+-117.3726	34.0244	9372
+-111.3599	30.3499	7735
+-113.8695	32.3141	6253
+-119.3296	32.4748	7090
+-119.6117	36.1192	6186
+-118.295	34.2903	8403
+-116.999	45.3431	7682
+-115.3637	34.972	7269
+-112.1944	31.765	7448
+-117.574	44.8422	7731
+-90.0637	39.3572	8685
+-121.7023	44.8127	6899
+-112.593	29.6027	6218
+-120.0496	44.5291	6757
+-110.0721	38.6776	1782
+-82.8021	24.8097	6463
+-120.9738	48.5905	6838
+-122.3646	46.4784	8810
+-116.2836	32.6723	8974
+-114.5609	47.2611	5131
+-117.2362	34.9276	8671
+-87.3915	38.353	8090
+-118.512	41.4709	4352
+-116.0826	46.2341	6926
+-91.4468	39.207	8177
+-87.5209	36.7422	8074
+-109.6835	31.5108	8765
+-111.0113	32.3378	8375
+-111.7757	31.0776	7818
+-117.1907	34.6647	8952
+-117.321	30.8863	7564
+-108.8453	30.6391	7564
+-118.364	33.7519	8271
+-87.4636	38.5576	8043
+-116.0215	49.5142	4923
+-82.1368	27.0613	9094
+-92.3125	39.6187	7144
+-89.8187	35.4847	7097
+-117.536	34.5832	8966
+-89.2336	37.9616	9195
+-78.9457	25.6817	5583
+-90.1948	40.8355	7167
+-117.0399	35.8206	7681
+-119.3715	46.7259	7931
+-119.1502	30.943	6544
+-80.6283	30.1638	6690
+-118.3264	42.1571	5084
+-122.9223	47.6376	8869
+-86.3596	35.4907	6173
+-88.5979	37.2948	9357
+-87.5113	39.2618	7536
+-113.8481	28.6501	4514
+-116.1523	33.2444	8727
+-117.0689	32.4734	9353
+-91.1776	40.3629	7487
+-122.2005	47.7911	8418
+-110.0572	30.5452	8310
+-81.9368	26.5664	8516
+-116.4807	36.1741	7152
+-82.6263	28.5228	8871
+-122.4116	45.7093	8124
+-82.7935	27.4403	9059
+-121.147	49.3326	6371
+-117.701	49.3982	5713
+-85.5148	38.3534	6084
+-89.3406	40.2046	7495
+-81.4935	28.0494	9101
+-117.9796	30.9908	7424
+-117.8624	45.0535	8066
+-83.9084	27.6881	7882
+-88.1813	38.5356	8638
+-91.2617	40.068	7717
+-80.0807	30.4082	6108
+-122.1342	44.8772	7161
+-88.1301	39.2825	7865
+-113.9849	31.8991	6273
+-94.6709	40.5497	4412
+-116.035	36.4975	6630
+-82.4608	27.3769	9317
+-117.7412	36.0189	7417
+-88.907	34.6506	6427
+-108.6795	31.7828	7669
+-124.1669	44.7911	6840
+-116.3779	34.0461	8564
+-117.0831	33.6686	8993
+-90.0253	41.9586	5945
+-107.3136	30.8722	6112
+-89.8019	34.1489	5700
+-118.2993	32.85	8266
+-111.3218	32.4477	8051
+-119.3144	29.6877	5390
+-115.9763	33.4107	8465
+-113.0237	33.2125	6066
+-88.9421	36.9631	9002
+-116.2951	33.1813	8901
+-80.1597	28.6146	7462
+-87.4344	34.2788	5729
+-117.3436	33.5306	8875
+-120.2578	37.2692	4811
+-82.4338	26.5891	8518
+-118.1624	33.2678	8179
+-113.5051	36.1518	4881
+-113.2312	34.1829	5256
+-112.9456	31.8612	6627
+-89.1285	35.2427	7065
+-116.3699	33.5833	8669
+-88.5062	36.7077	8700
+-92.982	36.6952	5854
+-113.4845	29.8753	5590
+-86.0101	36.312	6368
+-83.7448	27.2541	7979
+-89.7458	39.848	8056
+-111.1067	29.3711	6934
+-112.5549	35.4512	4641
+-116.6804	37.2097	6122
+-116.3358	33.2108	8923
+-113.0782	30.3113	6196
+-115.7298	37.7131	5288
+-115.5848	32.9538	8204
+-81.8891	26.7888	8752
+-84.2504	28.8458	7204
+-117.9601	37.0935	6221
+-117.706	31.6899	8250
+-110.7844	32.4911	8375
+-109.7391	32.5431	8250
+-117.4658	31.7721	8462
+-120.2072	31.7976	5964
+-116.6058	35.0874	8272
+-123.5166	43.5711	5815
+-112.1793	34.5007	5733
+-90.5532	36.4487	7388
+-119.9797	47.9525	6600
+-81.5708	25.648	7413
+-116.9488	32.887	9672
+-114.1436	32.04	6487
+-82.3359	26.4817	8421
+-83.6433	27.4071	8136
+-121.2544	41.6483	3592
+-116.9387	44.0741	6685
+-116.622	35.0671	8300
+-89.5814	42.1699	5638
+-84.4082	30.12	6189
+-117.8877	49.7808	5340
+-90.145	40.34	7691
+-88.55	38.0943	9276
+-111.0566	33.0454	7706
+-87.5162	38.535	8106
+-118.3034	34.0599	8404
+-79.9803	27.5969	7449
+-96.0466	35.7996	2542
+-82.2972	31.3989	5779
+-92.7529	35.8843	5416
+-119.5639	45.6181	7811
+-124.7747	47.0253	7546
+-121.5252	45.4324	7343
+-116.7084	35.8846	7533
+-91.5309	40.4232	7238
+-87.6209	38.9181	7910
+-117.7525	44.552	7527
+-112.6599	32.2759	6843
+-123.5341	48.1923	8090
+-123.4841	43.6066	5859
+-118.3048	48.1974	7039
+-124.2025	49.1307	6831
+-91.9214	35.1691	5224
+-115.37	36.5047	6226
+-121.3624	43.0673	5001
+-90.866	34.8819	5901
+-110.2198	30.6837	8491
+-120.5232	48.0334	6744
+-116.6508	40.1661	2923
+-117.6158	27.9564	4284
+-89.9375	38.3472	8777
+-124.6122	49.2817	6443
+-89.4549	35.8432	7628
+-90.3678	36.6264	7672
+-85.449	30.1212	5292
+-119.9442	49.8371	4929
+-112.9484	36.8592	3967
+-119.0294	33.6874	7554
+-116.4199	46.8052	7150
+-117.6868	49.9019	5185
+-113.9024	32.9268	6333
+-86.6973	38.2794	7392
+-118.3166	30.6095	6867
+-118.0181	47.3506	7907
+-122.4803	46.6843	9050
+-88.1243	36.5428	8363
+-106.6717	29.8124	5067
+-82.8919	30.3654	6830
+-88.8296	39.7601	7427
+-117.5074	35.2181	8326
+-123.9904	46.4948	8301
+-118.6745	49.1667	5986
+-115.7567	34.7907	7742
+-114.1753	36.9499	4976
+-83.7463	27.5021	8043
+-84.0604	27.0289	7558
+-111.2617	34.338	6324
+-118.5599	31.0289	7082
+-115.1288	30.9031	6794
+-114.4555	31.9672	6796
+-118.1081	36.2514	7052
+-114.5507	33.7745	6854
+-118.5616	44.8578	7912
+-89.7138	40.3922	7513
+-88.1294	36.3578	8182
+-118.1593	44.1056	7144
+-78.4541	28.8206	5563
+-124.1622	43.7164	5776
+-116.2284	32.6911	8918
+-120.9475	48.8438	6631
+-89.5732	38.6147	8539
+-125.5846	41.7331	3144
+-90.6672	34.0581	5238
+-90.2281	37.3255	7880
+-125.6972	48.3379	6184
+-92.157	40.8755	6441
+-85.4399	28.3497	6094
+-89.6437	39.8338	8010
+-108.7772	31.6655	7785
+-86.1679	39.05	6510
+-90.3939	37.7298	8325
+-116.5989	32.8622	9340
+-118.7058	48.7935	6373
+-115.6385	44.8282	6152
+-108.8824	32.2753	7732
+-88.4784	39.104	8169
+-119.0341	47.388	7682
+-114.9789	32.4158	7491
+-108.6593	28.5917	5759
+-89.9802	39.7356	8277
+-86.8283	39.4047	6892
+-87.4358	38.1639	8220
+-84.0208	28.422	7632
+-124.4813	48.2823	7346
+-108.8055	32.2279	7677
+-115.71	48.6708	5408
+-86.8336	37.3593	7618
+-82.2437	25.7048	7556
+-80.8202	31.4274	5492
+-118.0307	49.4451	5708
+-87.5986	37.8009	8495
+-90.1766	43.9084	3860
+-92.3826	39.5204	7115
+-126.074	41.2376	2411
+-107.7794	30.2455	6350
+-82.5055	25.9358	7779
+-89.8837	39.013	8816
+-109.0573	30.2577	7480
+-118.3167	47.7448	7518
+-111.3187	30.6098	7973
+-111.4738	31.1781	8162
+-92.6611	37.3863	6563
+-123.922	45.8358	7932
+-81.111	28.6891	8335
+-107.2686	33.2334	5702
+-116.7253	35.0871	8342
+-124.9238	45.8542	7069
+-85.7766	41.0863	4716
+-83.078	25.6836	7305
+-119.8861	36.7407	5506
+-110.4042	32.0725	8938
+-118.4426	33.6407	8147
+-115.4006	45.5568	6154
+-123.8929	47.3462	8438
+-118.1531	31.3049	7609
+-83.0621	28.9201	8217
+-112.9289	34.9611	4858
+-121.2323	47.1431	7764
+-114.6746	35.3643	6408
+-81.0593	29.2401	7830
+-123.7368	43.7618	5967
+-114.2126	37.6462	4460
+-89.3667	37.244	8992
+-110.5082	33.9441	6909
+-113.9086	38.4559	3567
+-87.2141	37.6825	8072
+-115.3868	33.7735	7693
+-121.665	34.4161	4730
+-89.898	41.7913	6105
+-109.3211	30.6521	7983
+-116.3698	35.7479	7523
+-112.1308	29.1232	6172
+-116.4267	33.8048	8554
+-87.9507	37.233	8778
+-126.1069	49.1168	5364
+-81.2174	25.9815	7623
+-120.9814	33.891	5477
+-114.4401	43.6981	4461
+-119.0805	31.8574	7164
+-86.4955	37.121	7193
+-83.9126	24.6735	5855
+-90.447	40.6868	7336
+-119.5953	45.044	7477
+-120.3762	42.9725	5275
+-119.8798	47.277	7160
+-86.278	26.8543	5091
+-118.68	33.5486	7869
+-116.8177	46.9374	7473
+-113.1763	30.5781	6206
+-90.0375	38.6422	9034
+-92.1745	38.6562	7491
+-80.8714	30.6266	6356
+-117.5774	46.8789	8147
+-114.4812	33.9518	6705
+-118.5951	32.5645	7915
+-90.0956	32.7368	4084
+-122.947	47.8379	8648
+-113.5895	31.9829	5919
+-90.2693	38.1607	8777
+-121.3235	46.8604	7870
+-119.2568	31.3957	6747
+-91.8546	41.7983	5776
+-81.1122	30.6467	6435
+-87.8777	42.5468	4521
+-114.4923	39.0631	3367
+-118.6411	47.8269	7393
+-118.5531	43.1568	6130
+-90.0456	35.928	7393
+-123.4958	46.7711	8917
+-117.7097	33.0869	8871
+-91.1506	39.2492	8438
+-114.4522	31.7125	6690
+-91.4688	37.4988	7639
+-117.4375	43.6732	6539
+-117.209	44.5616	7273
+-116.907	32.7531	9656
+-110.111	33.5691	7309
+-120.3772	49.8588	5390
+-109.8582	31.7226	8937
+-87.8051	39.9188	7066
+-87.9921	36.9422	8625
+-87.6027	35.1964	6750
+-85.4427	37.4109	6073
+-113.2183	30.8186	6240
+-109.6794	33.4097	7372
+-115.8525	43.2712	5310
+-124.7055	47.3791	7571
+-113.1597	31.4639	6409
+-114.3056	33.4515	6702
+-117.3143	30.1783	6785
+-116.589	45.1509	7204
+-119.2135	37.2839	5498
+-120.4164	47.285	6676
+-89.3685	38.6078	8320
+-120.277	47.1731	6863
+-93.6936	39.8394	5668
+-110.22	31.5146	9330
+-117.874	31.1099	7597
+-80.4567	29.1863	7407
+-127.4974	46.7684	4551
+-111.0071	34.8885	5819
+-117.1369	34.538	9074
+-111.6279	31.4396	8062
+-91.8051	34.5895	4961
+-83.1375	28.1436	8679
+-117.9048	30.709	7180
+-117.0002	34.7836	8771
+-116.1896	34.2706	8354
+-87.5035	40.1859	6651
+-94.2064	39.1738	5278
+-92.5517	34.8729	4636
+-85.4932	27.4498	6074
+-117.0387	34.6872	8885
+-119.9696	49.3395	5393
+-117.5363	45.8877	8438
+-116.1924	32.8066	8889
+-118.211	30.4079	6729
+-117.1464	46.8917	7793
+-118.0315	34.3889	8658
+-89.013	40.7047	6851
+-90.1597	39.9718	8086
+-123.2225	47.0993	9223
+-114.4063	34.6161	6374
+-84.2754	27.767	7469
+-118.4345	32.1404	7950
+-114.6271	33.5465	7019
+-115.0843	32.8391	7653
+-89.8745	36.7594	8208
+-110.5827	33.2342	7665
+-121.7494	44.9261	7033
+-89.5408	37.9682	8882
+-91.6554	40.6557	6955
+-90.6713	36.4518	7280
+-117.4559	46.3269	8352
+-117.2258	34.5408	9091
+-118.3331	46.3376	9003
+-80.8964	26.6498	8007
+-121.709	48.6576	7334
+-86.8894	40.1127	6353
+-111.9452	30.643	7452
+-88.039	37.0386	8737
+-115.3656	48.2952	5394
+-125.7741	49.0316	5718
+-116.4603	44.8417	6915
+-121.6807	46.0561	7934
+-116.7636	33.1253	9341
+-88.9472	36.7581	8776
+-110.8144	34.2343	6554
+-88.7267	37.3628	9472
+-83.0576	28.8791	8256
+-118.2622	44.6048	7677
+-90.2548	34.644	6034
+-93.9975	37.4022	5267
+-122.6426	45.2037	7649
+-115.1875	32.8454	7768
+-105.8877	33.2078	4345
+-116.7048	31.6118	8378
+-90.1637	40.3344	7700
+-119.6669	45.8378	7769
+-88.7876	39.6546	7447
+-110.0308	31.6944	9124
+-120.0125	46.8713	7255
+-118.9813	33.8536	7643
+-80.65	29.2017	7557
+-82.2615	26.6887	8664
+-92.8266	34.4798	4122
+-90.178	40.947	7046
+-115.5028	34.041	7611
+-110.7031	31.3678	9010
+-88.7199	36.0822	8037
+-111.9734	26.5451	3733
+-115.1624	32.8122	7740
+-115.0935	43.3689	4813
+-87.4783	36.609	7944
+-118.3378	35.9713	7217
+-89.2329	37.3059	9154
+-117.8953	36.298	7079
+-117.0604	31.7882	8601
+-122.2405	46.5308	8738
+-122.9136	45.9343	8472
+-109.6674	32.0739	8577
+-90.2137	41.1579	6823
+-80.353	25.2992	6450
+-116.9451	34.6282	8894
+-118.0575	30.2586	6651
+-81.57	26.8096	8636
+-81.2695	25.3792	7020
+-85.3093	27.2005	6243
+-84.3493	27.2259	7312
+-83.7043	25.1321	6422
+-120.4943	33.069	5831
+-118.5013	33.2105	7856
+-115.1707	32.3992	7696
+-118.8787	32.3679	7562
+-125.1889	44.2701	5720
+-121.4561	45.7341	7521
+-80.2141	26.7131	7416
+-90.2325	37.5398	8110
+-89.7711	38.1099	8470
+-119.4771	32.8394	6952
+-90.3538	40.0262	8048
+-118.1248	33.6599	8469
+-118.5968	35.747	7257
+-117.7461	33.5475	8712
+-119.3495	31.4996	6716
+-116.7648	33.149	9319
+-83.0172	26.9793	8553
+-87.6798	40.2462	6672
+-119.0019	33.2915	7434
+-87.2881	42.4219	4248
+-77.2719	29.7649	3946
+-118.7967	37.8213	5182
+-92.7049	40.6139	6215
+-112.5362	29.9666	6513
+-81.4917	28.7575	8557
+-116.4216	33.8505	8566
+-118.3339	34.8631	8127
+-124.7631	47.7795	7373
+-88.0768	38.6422	8473
+-118.3991	33.202	7938
+-90.8842	38.75	8884
+-117.6871	32.6284	8922
+-88.0213	38.4308	8616
+-81.4167	29.2994	7978
+-92.3174	39.7861	7059
+-124.5311	44.5238	6379
+-90.7874	36.6139	7081
+-116.6892	35.9259	7484
+-119.8867	32.4473	6470
+-110.3978	33.363	7544
+-89.6401	39.8659	7979
+-117.3434	34.1175	9452
+-115.5751	35.2169	7347
+-86.686	37.5218	7474
+-90.7953	34.488	5583
+-89.9728	38.6957	8978
+-119.2869	44.4463	7212
+-119.4634	46.7454	7836
+-119.3191	44.2545	7019
+-116.4791	30.8362	7478
+-85.745	36.8499	6302
+-89.7535	42.383	5450
+-112.9229	31.2534	6645
+-116.1029	47.1669	6690
+-87.7136	38.4026	8373
+-120.8624	46.6112	7334
+-88.5065	40.4706	6680
+-115.6569	29.831	6116
+-119.8886	32.69	6491
+-89.3347	38.2727	8882
+-90.0473	38.067	8604
+-118.1467	31.6134	7873
+-81.8344	26.8803	8834
+-120.5006	36.1312	5391
+-117.0392	34.8109	8758
+-113.7878	48.3959	3914
+-120.4735	44.1314	6142
+-89.39	36.8244	8639
+-79.5105	24.4083	5072
+-119.4142	42.9822	5748
+-117.8134	33.5865	8694
+-92.6861	39.2588	6882
+-118.9931	34.4959	7613
+-93.9293	38.987	5594
+-104.429	30.7511	3013
+-86.0143	36.6092	6506
+-111.5306	34.0777	6476
+-115.2706	47.2517	5845
+-115.9784	34.4122	8100
+-112.5982	33.6668	6139
+-115.9477	36.903	6192
+-89.956	42.6799	5164
+-113.9694	33.8483	6217
+-119.515	45.7754	7912
+-119.063	33.157	7308
+-118.5726	43.8852	6895
+-124.7697	46.0775	7332
+-82.6607	29.6742	7653
+-82.632	26.2501	8086
+-116.3132	32.9497	9009
+-119.0554	30.056	5892
+-109.4116	31.8299	8440
+-123.6997	47.8793	8273
+-110.2121	30.5879	8387
+-85.0299	38.1254	5589
+-118.4089	47.1775	8112
+-81.554	27.9583	9202
+-113.8341	34.1493	5956
+-120.981	48.6481	6803
+-121.2703	47.5579	7702
+-118.9552	29.4398	5382
+-118.9422	43.5424	6463
+-80.1676	29.5603	6882
+-89.7576	39.9955	7922
+-119.5539	36.3313	6078
+-114.6775	35.0223	6552
+-115.0254	34.8116	6984
+-115.4088	30.9871	7073
+-121.5948	47.3742	8104
+-87.8622	40.6859	6277
+-110.9314	34.6878	6048
+-114.0475	33.9105	6276
+-88.6391	39.386	7879
+-116.845	32.3406	9205
+-115.0115	31.9153	7352
+-109.7437	30.5019	8139
+-110.7642	30.3697	8078
+-122.4447	45.8916	8324
+-91.259	39.7537	7989
+-122.3854	48.9044	7403
+-92.928	39.6901	6500
+-119.2659	32.4006	7147
+-118.8877	46.3921	8550
+-110.8555	32.3889	8433
+-120.9393	44.1419	5766
+-84.3607	27.0893	7259
+-86.1778	36.2015	6476
+-90.8828	34.6414	5671
+-118.4502	30.7881	6950
+-111.0326	30.3196	7909
+-118.3441	29.6702	5922
+-125.0887	49.2419	6138
+-81.4946	26.6274	8415
+-120.559	46.6202	6788
+-111.7474	31.4874	7938
+-111.2443	30.6396	8052
+-83.2614	28.0054	8588
+-91.1562	37.4974	7838
+-125.0829	49.8633	5621
+-90.2157	34.1193	5514
+-88.8823	38.432	8946
+-117.0112	32.7624	9675
+-88.8843	36.851	8891
+-78.9442	24.369	4620
+-115.1313	44.8554	5671
+-120.9956	32.2106	5208
+-116.0331	33.1114	8661
+-108.7866	31.0696	7708
+-119.9011	46.033	7546
+-89.1543	36.7573	8706
+-117.1287	35.6042	7926
+-91.7356	37.3365	7316
+-90.36	34.6809	6017
+-120.2141	46.9732	7016
+-119.9367	49.953	4820
+-107.3295	30.4063	5978
+-123.6517	45.8087	8089
+-112.34	37.4307	3071
+-89.1865	37.1237	9045
+-116.8875	35.2111	8292
+-91.4637	36.6494	6878
+-108.5452	31.2553	7504
+-87.6866	36.3251	7882
+-119.6258	33.0178	6691
+-83.7989	26.0967	7224
+-113.0985	33.686	5710
+-92.3322	40.6577	6485
+-109.3696	28.8638	6348
+-81.4038	25.3222	7006
+-91.1087	34.3695	5276
+-117.2863	32.373	9143
+-80.5112	28.2093	7990
+-82.9269	28.3508	8778
+-112.1096	30.9284	7422
+-84.9341	34.3415	4120
+-90.5163	41.722	6218
+-85.7834	37.6778	6466
+-116.9356	46.8509	7627
+-124.3709	44.8757	6798
+-92.0871	38.8782	7583
+-90.4194	37.5425	8122
+-115.9341	33.0035	8582
+-117.1449	35.1516	8419
+-90.2678	35.6825	7023
+-115.2261	32.1856	7688
+-81.1913	28.2263	8707
+-90.604	34.9696	6152
+-121.2106	37.5256	3863
+-110.1338	34.5076	6298
+-87.6618	35.1262	6706
+-81.9856	28.8598	8644
+-120.3036	48.6995	6177
+-85.7289	28.9581	5607
+-118.7303	35.8787	7053
+-116.329	33.2649	8883
+-121.4452	46.1532	7775
+-119.4645	42.7308	5479
+-121.2874	33.8517	5141
+-80.6994	29.2546	7555
+-117.6663	37.8114	5502
+-80.0907	26.3102	7054
+-118.5302	33.919	8140
+-92.8128	38.1312	6722
+-120.271	42.6876	5078
+-111.6833	27.9763	5301
+-107.8635	31.2411	6772
+-118.8974	46.3847	8544
+-80.7324	28.3715	8166
+-88.4581	37.6564	9469
+-111.712	31.9678	7923
+-119.9641	47.6315	6852
+-115.5589	36.0299	6754
+-115.4336	34.1025	7538
+-81.9339	29.5542	7858
+-120.1926	27.9582	3248
+-114.5215	33.5242	6914
+-94.4503	38.0748	4981
+-82.0463	29.3588	8088
+-119.1794	32.3638	7234
+-113.4932	32.7297	5832
+-92.8448	39.7521	6560
+-119.0387	48.1028	6994
+-116.7956	32.0383	8864
+-118.2867	48.297	6934
+-115.7725	29.5424	5866
+-117.2864	46.7723	7987
+-85.7683	41.633	4233
+-116.4102	35.1485	8089
+-88.5291	37.5117	9497
+-82.4248	28.3493	9155
+-91.3235	39.6208	8043
+-118.263	45.1775	8283
+-118.4666	29.7205	5916
+-85.1353	37.8394	5734
+-116.1179	34.1165	8285
+-86.7379	37.9807	7511
+-120.2129	32.5354	6118
+-86.9711	34.9345	6146
+-123.4269	46.0298	8425
+-109.6718	33.1872	7594
+-88.5227	36.8511	8860
+-90.4898	42.2883	5609
+-115.8277	34.7263	7840
+-117.8109	32.3406	8672
+-82.2812	30.1306	7213
+-116.8461	32.2409	9097
+-108.8646	27.5736	4847
+-117.522	31.0128	7648
+-112.1004	31.1045	7490
+-81.8384	27.687	9547
+-98.5306	40.5475	432
+-115.1555	35.6694	6690
+-119.3992	29.5607	5220
+-83.9065	25.292	6448
+-122.8844	44.7845	7209
+-80.4611	29.1115	7465
+-85.2868	30.2613	5343
+-120.3548	32.4271	5949
+-120.8353	45.8933	7050
+-112.8357	31.8423	6748
+-87.2105	33.5656	4892
+-81.0903	24.1005	5580
+-120.4165	37.7416	4313
+-120.9395	47.3573	7410
+-120.2994	30.2818	5082
+-122.2183	46.9622	8857
+-88.9444	38.956	8353
+-116.8506	27.8783	4243
+-120.0503	47.9474	6553
+-92.3887	39.9984	6878
+-118.2292	31.071	7350
+-91.2062	39.9017	7899
+-112.4947	28.9521	5784
+-90.4973	41.9115	6015
+-110.8763	29.7049	7355
+-83.701	28.4655	7951
+-125.1448	46.9979	7140
+-111.3383	27.0393	4431
+-115.6866	32.6012	8305
+-127.2029	45.2603	4521
+-118.7972	35.7103	7141
+-82.6208	30.5989	6641
+-81.6866	27.8151	9384
+-91.5328	40.349	7302
+-113.1573	30.5962	6232
+-109.8048	35.3635	5338
+-88.5557	36.7595	8770
+-88.8107	30.8444	2158
+-117.7161	32.7817	8916
+-84.8081	27.6704	6864
+-119.1126	43.4696	6339
+-113.7653	35.4819	5445
+-117.8408	33.0012	8756
+-116.4302	37.8388	5394
+-85.5601	36.106	5812
+-112.9247	34.0856	5571
+-120.3952	33.5011	6056
+-86.7723	38.9831	7132
+-89.1909	37.1542	9069
+-89.9587	38.0352	8528
+-116.2562	31.8151	8383
+-116.5535	30.7508	7403
+-116.8382	42.8241	5468
+-117.3847	31.6924	8415
+-117.3832	31.8471	8576
+-111.4573	32.325	8015
+-109.4726	30.3366	7832
+-115.3931	38.0813	4771
+-90.8056	38.9864	8903
+-109.7126	30.0381	7669
+-117.4459	32.7734	9216
+-120.6483	34.9402	5745
+-87.6143	36.6634	8101
+-87.224	36.8819	7873
+-88.7122	37.6717	9754
+-111.3919	33.7721	6839
+-113.5333	32.1643	5950
+-120.9521	45.8907	7161
+-91.4013	38.8629	8320
+-84.663	28.3066	6966
+-116.4949	35.8425	7492
+-110.1748	35.6861	5025
+-119.2987	35.8342	6647
+-92.542	37.3021	6623
+-116.2257	34.3969	8367
+-119.565	30.2897	5710
+-80.0047	28.0373	7465
+-114.9354	32.6788	7482
+-82.8212	30.3054	6917
+-108.6964	30.003	7008
+-116.5909	36.2442	7120
+-118.6663	44.8998	7926
+-81.7576	26.5857	8490
+-86.4271	36.0121	6599
+-91.16	41.8185	6013
+-81.3741	26.2577	7981
+-119.2296	43.3021	6132
+-116.5945	34.696	8582
+-87.7881	42.6732	4354
+-86.527	38.167	7239
+-119.0738	47.9229	7156
+-110.8755	30.5312	8191
+-114.7233	35.786	6229
+-124.7468	47.1845	7563
+-88.9286	37.4871	9544
+-90.2196	41.0081	6984
+-89.1493	38.4496	8836
+-119.0417	31.4478	6980
+-89.5845	39.4555	8276
+-90.7384	37.8447	8376
+-91.0187	37.3514	7769
+-116.1679	33.6263	8484
+-119.5581	32.6573	6857
+-116.5709	33.0284	9252
+-90.2839	38.9702	9164
+-117.8879	33.1373	8665
+-118.1184	32.4974	8420
+-112.4187	31.8598	7194
+-117.4038	30.4135	7028
+-117.2596	33.265	9155
+-86.9187	39.0463	7226
+-119.4563	31.3723	6542
+-92.2128	41.1191	6198
+-90.5358	38.1633	8771
+-88.8796	40.1333	7222
+-88.7651	36.7142	8747
+-117.3113	34.5327	9099
+-89.3174	38.1629	8982
+-119.6507	42.2227	4906
+-82.9307	28.7188	8487
+-121.617	48.4401	7460
+-88.8407	37.1504	9230
+-88.3609	40.27	6697
+-89.5423	36.0172	7770
+-118.9088	47.1026	8009
+-123.1578	30.9875	2552
+-79.0732	29.7844	5745
+-112.496	30.9928	7045
+-81.4921	27.6518	9155
+-115.9619	32.4512	8560
+-87.1882	35.7585	7036
+-111.871	32.1566	7695
+-77.6251	27.0074	4720
+-116.6004	33.6668	8651
+-107.3715	28.31	4691
+-81.9617	27.0478	9056
+-121.9266	47.824	8181
+-113.9308	33.1579	6345
+-110.7884	29.6184	7288
+-118.2488	33.3608	8175
+-86.786	36.9118	7436
+-88.5471	37.92	9438
+-115.7459	32.6632	8381
+-86.3547	40.0919	5975
+-118.4062	34.8327	8079
+-116.8842	32.4932	9381
+-80.0644	24.4461	5466
+-90.4528	38.1331	8755
+-120.6858	49.2595	6104
+-91.9977	36.3157	6276
+-88.4567	41.3231	5960
+-91.1169	38.7225	8633
+-81.7882	30.0825	7243
+-112.6422	32.0714	6917
+-85.9925	37.1059	6638
+-90.5921	39.3764	8713
+-118.3204	30.8946	7131
+-112.984	32.0027	6566
+-120.6323	45.9259	6766
+-80.2759	26.6112	7418
+-121.9134	43.6144	5767
+-87.8243	34.6159	6232
+-117.8552	30.5476	7035
+-89.5712	36.5519	8272
+-88.584	38.7822	8545
+-106.8294	32.5478	5536
+-90.3941	41.3165	6658
+-92.5388	41.5307	5632
+-116.3997	44.705	6778
+-117.4877	42.8809	5749
+-114.6493	46.647	5368
+-89.8184	39.3172	8561
+-113.218	32.4843	6199
+-116.0589	47.7623	6320
+-107.6505	31.1821	6535
+-119.8993	46.6268	7460
+-82.1062	25.0596	6830
+-111.0227	31.2782	8657
+-79.1758	26.6538	6317
+-111.7638	30.0922	7235
+-111.1851	28.0278	5512
+-120.4513	32.8861	5807
+-117.3538	47.7817	7226
+-80.5383	31.8015	4984
+-117.2616	33.6933	9058
+-87.5934	39.9288	6954
+-90.3142	40.3682	7679
+-116.3089	35.3768	7826
+-121.2105	43.8809	5741
+-121.3428	35.9869	4653
+-93.1695	38.4061	6398
+-117.1666	32.448	9285
+-79.988	27.9085	7460
+-112.2971	33.1307	6765
+-85.5966	34.8097	5025
+-116.5822	32.9498	9299
+-119.6571	48.3522	6466
+-80.9564	29.4519	7567
+-116.443	35.0246	8214
+-90.3579	44.0959	3662
+-91.5342	40.3617	7290
+-120.4263	33.4128	6003
+-79.8404	26.9746	7148
+-122.9426	48.1933	8258
+-123.4891	47.2336	8896
+-106.6926	29.3515	4847
+-85.1716	39.9261	5048
+-117.441	37.2206	6165
+-118.3817	33.3699	8064
+-118.9006	33.6177	7669
+-88.9491	38.3312	9041
+-90.1862	38.2726	8868
+-88.041	37.2835	8894
+-117.2742	46.63	8053
+-121.3056	48.7381	6988
+-125.4171	46.6732	6822
+-121.5803	46.1731	7914
+-88.5982	38.9761	8332
+-80.5921	26.3896	7554
+-118.9447	34.764	7582
+-89.9608	38.5145	8903
+-114.4447	31.1257	6366
+-122.1541	49.9988	6176
+-118.5656	35.1571	7734
+-118.1487	43.2526	6241
+-115.9724	36.5514	6546
+-118.3928	33.8321	8266
+-115.5455	31.021	7199
+-91.8168	40.1164	7290
+-109.8359	30.6574	8335
+-82.8619	29.7262	7527
+-91.4963	36.1425	6369
+-91.9329	35.5601	5602
+-88.1074	40.1934	6883
+-118.9586	33.4185	7534
+-87.0668	40.0965	6486
+-122.1693	46.6946	8750
+-116.9517	36.0143	7458
+-110.7334	29.4248	7095
+-122.648	48.202	8221
+-89.6262	39.1058	8523
+-86.039	30.4528	4530
+-90.9967	36.03	6710
+-116.394	32.2536	8857
+-115.984	33.7976	8092
+-119.465	39.1621	3551
+-88.9266	38.2994	9082
+-122.1581	32.3433	3856
+-120.8464	47.5696	7255
+-117.7871	35.1108	8330
+-115.6021	33.7895	7884
+-118.0954	35.9033	7406
+-115.4713	32.7854	8085
+-109.5114	34.9777	5690
+-116.866	32.3832	9257
+-117.806	47.3941	7800
+-92.4128	40.0854	6806
+-84.0596	30.4159	6187
+-116.9811	46.4845	7823
+-124.7852	49.7576	5906
+-111.7078	32.2254	7830
+-121.1864	48.1135	7341
+-119.8605	37.0189	5305
+-81.5679	26.2898	8103
+-115.0518	35.8416	6487
+-82.9995	32.6836	4244
+-116.5775	34.1812	8784
+-123.4304	47.1251	8998
+-118.7081	27.9714	4010
+-124.0364	49.2958	6759
+-92.2031	37.0916	6771
+-118.6492	32.7998	7876
+-120.5803	45.2066	6650
+-112.1869	31.6475	7464
+-124.2567	46.7604	8099
+-119.5261	47.9443	6905
+-89.5009	38.9147	8457
+-84.3424	26.3021	6894
+-110.5245	33.0056	7919
+-121.0947	46.5902	7580
+-85.001	24.4857	4963
+-119.4416	29.9882	5561
+-88.1763	39.1637	8008
+-86.8136	36.8009	7417
+-119.5688	45.858	7875
+-88.9216	37.7727	9604
+-119.3217	48.8526	6145
+-117.5587	37.5525	5795
+-109.439	33.9033	6780
+-108.7634	32.4832	7513
+-89.3678	37.4197	9086
+-114.9979	36.6704	5825
+-123.6782	47.4019	8627
+-116.1717	32.1827	8619
+-88.0597	37.4056	8969
+-84.2531	39.6137	4297
+-119.5856	32.5939	6821
+-88.4477	37.5144	9419
+-80.3443	28.0385	7845
+-78.0682	30.4534	4379
+-82.0694	28.174	9426
+-90.9907	36.3752	6782
+-119.3327	32.3252	7057
+-113.8836	30.5803	5476
+-118.9878	47.7768	7334
+-115.0336	34.865	6975
+-89.8288	40.7045	7235
+-111.6258	30.1977	7421
+-118.7447	34.6949	7813
+-121.1524	31.5218	4866
+-82.1791	28.2247	9372
+-116.7275	46.3479	7592
+-88.5832	42.7549	4692
+-118.9735	36.2517	6570
+-111.4423	29.9024	7292
+-81.2491	25.1691	6788
+-83.8055	27.8412	7999
+-89.1507	38.9866	8072
+-117.9911	32.1881	8412
+-82.9642	25.1838	6823
+-118.6846	47.2848	7936
+-123.0084	47.6883	8804
+-123.7124	45.1256	7395
+-89.3884	39.6921	7947
+-108.8455	29.1987	6428
+-85.1281	40.4914	4644
+-85.3846	27.7666	6214
+-80.0276	30.7056	5802
+-122.6667	48.9613	7400
+-109.6398	31.7772	8693
+-88.211	36.8723	8728
+-120.7732	42.3994	4537
+-91.0582	36.2002	6581
+-109.4114	33.3067	7356
+-120.8339	33.6688	5614
+-122.2099	46.9294	8847
+-120.7175	45.0929	6471
+-90.2296	43.452	4354
+-110.4734	31.2067	9038
+-86.5962	38.9601	6979
+-116.3776	32.8029	9096
+-87.4916	32.3175	3643
+-89.639	39.1422	8518
+-87.594	39.3164	7543
+-122.8787	47.1025	9455
+-89.3153	40.819	6915
+-85.9811	27.872	5538
+-87.8055	35.3484	6999
+-89.8321	38.4994	8772
+-118.1667	32.6522	8402
+-89.5131	40.198	7604
+-82.7268	29.7226	7580
+-90.5578	38.4598	9059
+-119.306	31.3317	6662
+-107.5759	31.2496	6464
+-116.9134	45.4857	7671
+-83.8221	30.781	5983
+-115.9567	29.8404	6247
+-121.4518	46.1095	7757
+-118.2348	33.7255	8392
+-91.8948	42.7192	4847
+-110.4397	32.36	8624
+-121.8505	49.5122	6581
+-85.9791	37.0527	6611
+-114.0119	30.7626	5739
+-117.8178	48.3276	6850
+-79.9489	28.8982	7109
+-116.9098	47.0066	7518
+-108.8099	33.6436	6697
+-117.4808	45.6484	8285
+-122.0584	46.4988	8548
+-123.4288	49.4069	6863
+-120.0439	46.3705	7374
+-119.7911	47.2927	7224
+-111.4972	30.262	7566
+-109.8034	30.3687	8038
+-86.2046	27.2698	5252
+-83.3925	26.4226	7809
+-116.3428	32.1049	8697
+-81.5557	30.8015	6397
+-118.8987	46.7105	8343
+-94.5401	38.7709	4944
+-122.4982	44.8753	7267
+-116.7891	32.2544	9095
+-120.9366	46.1213	7258
+-88.1087	38.5689	8561
+-119.9626	48.6437	6032
+-117.4007	48.1876	6860
+-120.8803	45.8899	7092
+-84.3832	25.9806	6643
+-87.1287	36.3544	7460
+-122.4865	48.8096	7531
+-91.7274	36.7133	6794
+-126.6242	48.1035	5328
+-115.9473	48.2877	5871
+-118.6015	41.0755	3928
+-90.3778	37.2118	7766
+-120.0032	34.067	6552
+-92.5147	40.7845	6248
+-91.0812	39.5286	8297
+-119.3256	45.7509	8096
+-88.7554	32.4947	4010
+-86.2633	39.0669	6595
+-89.169	36.7191	8660
+-111.5616	30.3886	7617
+-120.8774	48.8375	6579
+-118.8561	32.5294	7621
+-123.2476	47.0858	9202
+-116.669	35.1743	8228
+-79.7352	30.7844	5532
+-109.987	32.2933	8618
+-92.8075	40.0907	6439
+-113.8262	31.5583	5979
+-117.3825	46.158	8305
+-88.8398	37.0662	9137
+-120.7731	44.5219	6139
+-117.8435	32.0392	8446
+-114.1499	47.366	4682
+-106.3357	32.4193	5049
+-89.8704	39.9734	7995
+-87.3781	42.3848	4341
+-87.2221	32.9553	4250
+-80.5388	27.4794	8059
+-116.9644	33.2906	9224
+-83.4283	30.8683	6090
+-80.8716	28.8388	8019
+-117.6633	34.6285	8846
+-83.1291	31.1892	5860
+-87.0708	39.109	7316
+-124.1403	43.8466	5918
+-81.0421	28.3803	8476
+-116.9676	32.2448	9115
+-92.0829	38.9552	7579
+-91.3289	39.905	7815
+-106.4453	30.4589	5088
+-118.2097	32.3625	8277
+-124.3237	48.1059	7603
+-113.4645	38.1828	3479
+-115.1659	36.5739	6025
+-117.9867	45.532	8582
+-112.9054	31.6265	6686
+-113.8248	28.4003	4355
+-79.0809	30.9059	4939
+-81.5352	25.739	7501
+-86.3279	37.9836	7055
+-81.6551	31.7405	5364
+-91.0686	39.4581	8362
+-88.489	38.5733	8750
+-115.6771	32.4991	8272
+-118.039	31.8037	8107
+-118.6487	47.9128	7302
+-85.8989	39.6418	5906
+-114.3719	31.1354	6304
+-87.4123	38.7309	7881
+-88.1963	38.1757	8957
+-118.4878	33.326	7941
+-114.9965	32.7029	7552
+-116.3714	42.933	5343
+-116.8861	32.0051	8843
+-119.407	46.5337	7985
+-94.1395	39.1213	5356
+-119.3996	48.4629	6493
+-118.7568	31.791	7452
+-117.8936	32.2091	8517
+-122.0777	44.5782	6831
+-122.7533	49.9543	6320
+-77.5692	24.9752	3840
+-115.2217	31.2107	7108
+-90.7724	40.0164	7996
+-120.7509	47.052	7243
+-117.0701	35.3255	8220
+-120.3479	46.2333	7069
+-123.0778	47.8815	8582
+-111.1441	29.6115	7164
+-117.5029	32.3612	8968
+-117.8637	48.5743	6603
+-117.8509	45.9355	8771
+-121.477	48.4995	7308
+-84.2825	26.8694	7258
+-117.1768	36.9974	6412
+-123.5056	46.7317	8893
+-117.0408	45.7499	7893
+-90.5642	40.3763	7661
+-91.2052	40.0305	7784
+-89.1777	36.6672	8603
+-82.2924	30.0782	7271
+-118.0567	37.9753	5259
+-105.9677	32.6212	4612
+-91.3588	38.9635	8348
+-92.3083	35.3178	5183
+-86.7853	36.0665	6957
+-90.2017	36.3641	7640
+-88.4163	39.6477	7556
+-118.6057	46.376	8811
+-91.7681	38.8824	7925
+-116.8581	31.1653	7907
+-114.8674	33.3985	7323
+-111.9513	30.5595	7399
+-113.8403	34.5814	5769
+-117.3332	33.4081	8977
+-118.3616	32.2571	8076
+-109.8413	31.4505	8921
+-90.4522	38.5964	9243
+-88.8697	42.5939	4972
+-82.082	24.5956	6304
+-109.982	29.694	7391
+-117.2977	48.6044	6410
+-116.7622	33.4205	9042
+-118.2382	45.5134	8638
+-122.0351	48.0151	8113
+-116.5868	36.1073	7261
+-118.8795	36.1042	6760
+-115.0536	32.5772	7602
+-111.3895	29.1781	6627
+-81.9032	29.3304	8104
+-114.53	46.7457	5227
+-82.4351	27.3317	9294
+-78.3245	29.2642	5262
+-118.3289	32.4377	8176
+-119.7465	37.6263	4865
+-111.4963	29.1922	6593
+-113.9628	32.6054	6394
+-80.5915	33.0045	3715
+-116.7026	33.0908	9328
+-109.2832	31.6338	8334
+-109.4572	30.3496	7834
+-89.925	38.2651	8705
+-121.1916	46.3604	7615
+-91.0421	38.2016	8500
+-80.1965	28.7678	7426
+-90.5499	40.5817	7442
+-123.7697	45.7957	8004
+-93.8533	40.8487	5053
+-108.0386	32.6174	6747
+-112.9514	35.6657	4543
+-84.427	26.6921	7027
+-120.3504	45.5419	6993
+-120.3227	35.0026	6072
+-91.3566	41.4816	6299
+-118.402	48.5533	6659
+-121.9896	44.2207	6428
+-88.6959	41.3796	6057
+-87.8821	39.7743	7249
+-118.9932	41.0607	3871
+-119.2301	32.2354	7146
+-83.1473	25.5674	7153
+-120.5964	45.6647	6768
+-121.1793	43.873	5717
+-119.8714	46.3802	7553
+-90.8111	37.8015	8303
+-114.5429	30.5209	6029
+-111.7109	30.8156	7765
+-119.1968	35.9223	6667
+-115.2417	30.6884	6697
+-117.7917	43.1248	6067
+-120.4576	46.6467	6886
+-115.9992	35.6138	7412
+-116.6839	29.2016	5708
+-119.2792	33.2149	7125
+-79.5796	27.3732	6969
+-93.0258	40.149	6202
+-123.4556	44.9077	7263
+-118.9272	30.8291	6639
+-117.5778	45.4157	8220
+-119.2387	45.9483	8236
+-127.2125	43.4557	3497
+-116.1697	35.5433	7589
+-79.5594	31.6868	4587
+-88.8261	40.1452	7171
+-108.7585	32.7822	7329
+-117.2336	42.8502	5644
+-119.56	48.7019	6191
+-115.6056	30.6021	6854
+-117.7335	47.3992	7766
+-86.349	39.5106	6402
+-92.8726	40.2413	6297
+-119.9324	46.2286	7509
+-121.0169	48.0335	7228
+-118.3646	29.0127	5233
+-118.1096	31.9893	8179
+-120.448	45.9707	6964
+-79.4026	25.6605	5991
+-89.0358	39.2195	7886
+-122.9905	49.012	7357
+-93.1877	40.2171	6013
+-117.1066	34.7541	8839
+-89.4515	39.6089	8058
+-110.6516	33.5243	7343
+-118.1805	31.8233	8003
+-117.8162	45.9303	8734
+-115.747	31.7972	7980
+-87.3559	37.2149	8153
+-119.9515	34.0381	6607
+-115.905	28.9151	5243
+-117.5676	34.6282	8906
+-85.0257	28.2069	6582
+-117.2475	46.0621	8163
+-113.2317	34.1973	5245
+-115.0298	34.0094	7094
+-116.1383	34.4776	8251
+-124.1932	47.5495	8048
+-119.8009	31.8712	6420
+-116.8356	32.7747	9599
+-106.5766	32.8857	5166
+-80.3163	28.1881	7782
+-82.8216	25.3467	7046
+-109.5974	34.1852	6544
+-115.2875	34.2342	7376
+-116.1392	31.4964	8015
+-80.8103	27.0644	8198
+-108.9069	32.2012	7789
+-88.9196	42.8805	4701
+-116.2094	32.708	8900
+-107.733	30.8167	6536
+-113.567	32.0416	5935
+-122.834	46.214	8776
+-122.3383	45.7909	8175
+-118.8098	34.332	7841
+-113.5833	31.0958	5913
+-89.1046	38.5143	8790
+-88.5489	42.3465	5073
+-117.9653	31.2557	7686
+-78.8478	24.7576	4852
+-80.4258	26.9785	7765
+-89.156	38.7163	8558
+-90.7952	36.0712	6919
+-109.3845	26.6567	4038
+-90.7077	38.6987	9070
+-114.3809	34.5709	6354
+-112.2768	42.6374	1918
+-88.7426	36.5053	8512
+-87.2808	41.6582	4841
+-90.3685	39.1691	8972
+-121.3257	45.8941	7513
+-115.2346	49.3709	4525
+-93.2093	39.6783	6218
+-117.5018	46.8923	8082
+-85.4435	37.9241	6074
+-79.5752	25.8396	6269
+-107.8777	31.7094	6810
+-78.7434	27.9648	6051
+-110.3041	33.687	7194
+-89.6465	34.9486	6609
+-115.2692	33.4578	7729
+-111.1791	27.5881	5049
+-118.3419	46.1401	9185
+-116.7499	45.7133	7586
+-118.4867	34.7853	8029
+-117.9158	35.7377	7650
+-83.0965	24.4309	5964
+-84.585	26.805	6913
+-117.05	32.6325	9527
+-119.085	31.1595	6753
+-119.1907	44.467	7282
+-121.9002	45.6484	7789
+-82.9862	30.3349	6831
+-117.3453	35.2674	8298
+-86.6907	37.9399	7465
+-117.7161	46.9933	8140
+-111.5936	29.769	7080
+-116.442	35.4705	7824
+-122.7324	45.7586	8266
+-118.547	35.9027	7155
+-90.8888	40.8365	7110
+-122.8262	45.878	8407
+-86.1574	38.5924	6707
+-85.4471	36.893	5989
+-109.7625	29.2054	6824
+-92.7571	37.3179	6436
+-114.4017	47.552	4871
+-81.2115	30.0026	7156
+-118.9618	30.479	6325
+-115.9788	30.4641	6907
+-118.5882	32.6583	7936
+-116.3899	40.2351	2733
+-83.7541	27.4042	8013
+-90.2626	40.6249	7399
+-92.9523	39.1235	6626
+-125.537	47.0239	6708
+-92.9183	37.859	6528
+-93.1154	42.0665	4793
+-86.2445	40.7673	5328
+-121.7716	33.0712	4489
+-115.64	32.4127	8206
+-85.6973	41.868	3974
+-121.3492	47.0515	7900
+-109.3072	31.8597	8322
+-116.4394	43.5384	5918
+-89.0111	35.951	7871
+-125.9644	46.5931	6215
+-117.0669	34.2711	9273
+-112.1989	32.4022	7266
+-87.595	38.6409	8104
+-88.2812	37.6838	9270
+-87.4755	39.2859	7490
+-92.5081	37.5437	6791
+-119.4523	28.9132	4591
+-122.6832	48.4969	7908
+-118.2942	33.0633	8247
+-114.1654	34.273	6152
+-78.5458	26.6867	5654
+-86.6592	28.8828	4619
+-124.3582	47.1447	7992
+-124.8086	45.8658	7186
+-113.1493	30.8709	6326
+-89.7351	38.2931	8570
+-115.8479	33.163	8447
+-116.7366	35.7815	7649
+-116.5251	34.5002	8635
+-123.9325	48.0131	7991
+-112.3443	33.6501	6349
+-120.675	36.1807	5201
+-122.652	44.0653	6407
+-117.1174	28.7959	5265
+-117.0835	47.5945	7231
+-82.5411	29.7754	7573
+-113.1864	31.2977	6367
+-91.6035	36.9168	7051
+-111.565	27.3104	4656
+-118.0398	31.3719	7745
+-86.5126	27.5192	4930
+-118.7249	47.0924	8110
+-109.4422	26.1421	3500
+-122.167	48.7006	7538
+-86.6236	37.5223	7404
+-116.9742	30.9871	7712
+-111.6359	29.7651	7050
+-113.4858	46.353	4172
+-92.1349	35.3951	5345
+-122.5218	47.089	9169
+-90.7864	39.4775	8528
+-117.5531	45.2916	8107
+-118.673	43.3618	6331
+-117.3358	48.521	6507
+-84.6634	26.9394	6881
+-112.7063	31.8919	6881
+-117.6803	36.7636	6633
+-116.9544	43.4724	6142
+-115.2087	47.2247	5793
+-121.2425	47.9642	7481
+-116.4943	30.7531	7392
+-107.197	35.0676	4394
+-88.3081	41.7914	5456
+-91.1474	42.1055	5715
+-120.3409	45.9434	7075
+-117.6892	45.7947	8553
+-111.8802	32.3513	7602
+-90.5166	37.5357	8108
+-119.9915	35.3567	6280
+-91.286	36.4744	6786
+-107.0616	31.0106	5875
+-81.4621	27.6269	9117
+-120.662	47.2513	7128
+-108.918	28.6762	5970
+-78.3419	27.6356	5600
+-121.3697	44.2227	6154
+-124.1198	47.0159	8265
+-87.6001	39.1059	7735
+-91.3674	37.4299	7650
+-109.0867	32.7889	7595
+-119.4884	47.8532	7007
+-121.513	34.2337	4905
+-125.977	46.161	6112
+-108.8173	37.9387	2395
+-88.6159	35.99	7926
+-119.7249	45.2555	7491
+-84.2738	25.8997	6679
+-121.5472	48.6056	7271
+-116.0951	30.7025	7202
+-116.3811	44.5383	6654
+-91.739	42.0999	5529
+-81.305	28.7741	8417
+-91.4799	39.5785	7943
+-119.5381	34.0322	7058
+-114.7784	31.1301	6671
+-126.4146	44.6861	5003
+-121.0543	31.3391	4905
+-119.4355	32.1327	6895
+-91.3749	38.1231	8160
+-109.1628	28.029	5419
+-118.2956	31.8621	7928
+-90.5362	38.8993	9194
+-127.4592	47.0674	4596
+-112.3483	32.7656	6942
+-118.6518	49.5773	5557
+-77.5415	28.2786	4665
+-116.1728	32.157	8602
+-85.0817	38.7641	5499
+-119.1867	30.5689	6229
+-118.0963	45.9228	8988
+-86.5678	37.9938	7320
+-86.4428	40.0313	6093
+-116.9529	36.6834	6735
+-108.9133	33.5123	6878
+-123.1866	47.1917	9206
+-120.5725	45.1487	6635
+-90.4224	41.8089	6127
+-91.1549	40.8526	7010
+-112.6419	29.5404	6134
+-110.0505	30.9619	8734
+-117.6402	33.9569	9087
+-111.0991	30.7631	8258
+-117.2314	45.5593	8008
+-117.6314	30.2822	6830
+-83.7854	26.9805	7823
+-121.2823	48.1898	7378
+-91.807	36.7748	6800
+-107.7883	30.0251	6240
+-114.7385	30.7412	6356
+-89.8301	37.7421	8618
+-115.5537	34.3676	7652
+-123.7401	49.9362	6216
+-107.1332	27.9063	4192
+-117.8566	33.4242	8532
+-89.8949	35.9176	7479
+-116.7818	49.7997	5032
+-116.3884	46.0934	7254
+-116.8158	36.4605	6952
+-117.7213	36.9398	6437
+-79.7294	27.8222	7172
+-107.6444	29.0347	5459
+-92.623	36.4231	5943
+-108.615	33.6969	6522
+-118.9049	43.0762	5991
+-83.9532	25.8765	6924
+-114.758	46.9488	5420
+-118.9542	34.7706	7570
+-113.8684	36.7711	4845
+-82.9382	28.1741	8872
+-124.891	46.3097	7303
+-119.6837	36.4574	5880
+-80.4849	27.6104	8019
+-89.4415	39.495	8130
+-84.8133	35.2331	4604
+-79.6497	27.0788	6977
+-81.1041	28.211	8624
+-115.3485	37.8618	4964
+-90.8433	40.1965	7788
+-121.7025	44.3663	6461
+-77.1659	26.9883	4204
+-119.2982	32.7014	7149
+-116.4959	33.298	9002
+-122.9164	46.4445	9032
+-112.6008	28.7117	5509
+-115.6035	34.9096	7536
+-78.1191	27.0271	5274
+-124.2438	45.2596	7219
+-82.4898	27.0326	8969
+-80.1219	27.918	7610
+-121.0748	46.7744	7590
+-116.7669	45.074	7322
+-107.8248	29.9951	6257
+-84.4505	24.6539	5502
+-123.6307	46.2579	8488
+-120.6122	45.7731	6770
+-88.9392	39.0624	8236
+-91.205	39.3426	8332
+-118.4679	32.4315	8024
+-122.6104	46.0982	8600
+-110.4922	31.4992	9279
+-86.9518	36.7453	7531
+-118.6075	44.377	7404
+-114.2051	47.4544	4709
+-91.1117	37.0815	7462
+-78.5091	31.4961	4009
+-117.3315	44.2424	7050
+-88.4054	44.4114	2961
+-91.3036	37.1971	7479
+-121.8896	43.706	5856
+-88.1421	36.3572	8187
+-121.5417	44.7533	6753
+-118.2685	35.1772	7960
+-117.0455	49.6536	5275
+-120.0927	48.0679	6429
+-86.2755	31.1757	3823
+-118.7808	48.0653	7114
+-122.901	48.1442	8312
+-88.1703	37.8881	9101
+-117.8328	32.1746	8550
+-117.6336	42.9176	5821
+-115.3218	34.1774	7416
+-86.8364	40.6821	5796
+-117.2432	35.368	8191
+-83.7032	28.2391	8038
+-118.03	36.7697	6544
+-121.3672	44.1281	6062
+-118.9103	43.6974	6631
+-91.2597	38.8193	8477
+-88.0109	41.0517	5862
+-118.7994	32.1646	7583
+-117.6205	33.9843	9119
+-115.9142	35.4473	7481
+-108.6778	32.0411	7613
+-117.7155	35.025	8449
+-110.2423	32.7384	8218
+-83.8057	28.9387	7582
+-113.9673	35.1449	5774
+-93.3494	38.7044	6227
+-89.3063	36.6551	8529
+-120.0147	34.4793	6516
+-118.9244	36.1764	6668
+-82.9003	27.4539	8955
+-116.0978	47.2241	6658
+-119.0816	47.6248	7438
+-110.2824	33.3812	7525
+-118.5409	31.7348	7622
+-80.6267	25.996	7262
+-124.3786	45.2492	7116
+-114.8124	47.4717	5308
+-120.0645	44.7622	6901
+-116.3667	30.8216	7429
+-112.0053	28.7504	5909
+-87.5402	39.5041	7335
+-84.5287	25.5875	6229
+-117.6689	33.0168	8938
+-117.6747	35.501	7981
+-114.3309	36.2039	5619
+-117.147	44.1994	6915
+-111.4735	32.8164	7654
+-115.3691	37.2876	5523
+-109.2731	33.9542	6660
+-92.2058	37.8535	7235
+-118.2858	45.0108	8107
+-117.0122	49.1183	5792
+-82.1871	28.7238	8808
+-115.712	32.8932	8351
+-115.3465	33.0731	7923
+-91.4061	35.676	5932
+-120.2108	34.5394	6296
+-120.8646	29.149	3783
+-125.3262	46.2192	6817
+-112.7432	33.9738	5796
+-89.7375	41.3458	6541
+-104.4717	33.0971	2914
+-112.7068	31.7065	6898
+-81.6666	28.0608	9268
+-89.7743	41.5359	6351
+-111.3308	33.9817	6659
+-117.5549	32.4588	8985
+-111.983	31.4732	7682
+-89.9548	42.5693	5282
+-89.6507	40.3721	7506
+-121.6409	43.2675	5313
+-85.3078	25.5705	5525
+-92.3037	37.2945	6827
+-116.3051	49.3401	5240
+-117.2751	46.9676	7852
+-89.217	40.6279	7042
+-116.5062	30.8401	7489
+-112.7933	33.6931	5962
+-124.678	47.409	7593
+-88.5067	39.7329	7477
+-89.2694	39.4448	8009
+-119.0041	47.117	7940
+-110.9969	33.773	6995
+-90.9082	40.2152	7747
+-114.7909	34.1331	6837
+-115.4945	36.1841	6581
+-120.7672	36.6846	4813
+-119.1055	47.1928	7812
+-117.1106	32.5529	9418
+-119.461	31.7955	6746
+-109.6737	29.2164	6811
+-121.6759	32.9345	4554
+-89.2528	42.0963	5617
+-88.3016	36.0239	7899
+-117.0911	30.5974	7274
+-85.9072	27.6863	5622
+-123.724	47.6178	8452
+-121.0568	32.7355	5131
+-91.3791	36.6977	6966
+-118.9262	32.8984	7565
+-94.9335	38.2877	4495
+-112.2228	29.6947	6579
+-123.7414	47.8588	8259
+-88.177	40.3954	6458
+-121.5891	46.818	8157
+-115.5661	33.477	8026
+-92.2553	39.6928	7165
+-115.8549	28.8753	5185
+-116.2643	45.2418	6937
+-88.3256	39.9533	7200
+-112.8114	43.5797	2880
+-117.0535	48.3856	6512
+-118.7726	34.3636	7876
+-87.2912	37.2424	8092
+-81.0657	27.048	8436
+-117.5877	33.2674	8897
+-117.8672	47.4019	7813
+-122.0753	46.3408	8469
+-118.172	32.7033	8402
+-115.6408	34.0857	7764
+-107.9529	32.5635	6684
+-121.6395	46.8765	8218
+-121.8906	48.7643	7341
+-83.9835	25.855	6883
+-89.6297	39.9889	7861
+-117.5915	35.8995	7579
+-110.8613	36.4137	4209
+-122.4537	43.6637	5945
+-115.5052	46.2941	6311
+-88.1809	36.8675	8704
+-81.9542	28.5159	9021
+-88.1123	37.3909	9018
+-112.8197	36.3869	4100
+-119.723	46.9906	7468
+-118.0449	33.2448	8459
+-120.3837	44.3476	6363
+-116.4305	35.1439	8107
+-111.6665	34.9388	5562
+-117.0414	43.9389	6621
+-91.6204	37.0931	7196
+-86.1987	36.2076	6500
+-83.5086	27.5593	8319
+-123.9134	44.6236	6802
+-113.1862	31.9826	6352
+-81.8924	27.7935	9618
+-118.3152	35.4128	7733
+-88.4625	36.6667	8643
+-115.5855	33.7348	7903
+-111.2673	28.6867	6176
+-118.3609	37.1551	6032
+-107.7131	38.067	1897
+-81.0113	27.4169	8563
+-87.2035	34.4362	5787
+-122.8891	46.2206	8786
+-119.4355	30.1502	5700
+-112.2733	33.4992	6519
+-114.7385	33.409	7181
+-89.8917	39.4625	8491
+-83.2454	28.0325	8599
+-115.0677	32.2925	7556
+-89.4256	38.5044	8359
+-79.207	26.9298	6449
+-76.19	30.8884	2297
+-118.6008	33.1475	7728
+-86.5143	27.8185	4936
+-88.9988	35.7468	7645
+-117.7961	34.665	8719
+-123.1434	47.1059	9298
+-88.3827	38.8504	8417
+-124.0213	46.1823	8103
+-81.45	29.0759	8222
+-89.186	37.4009	9258
+-83.9018	35.7381	3941
+-124.8754	46.1583	7261
+-90.6608	40.563	7447
+-88.4137	38.3178	8983
+-108.2284	33.3185	6518
+-121.0281	33.6359	5399
+-112.5782	32.0048	6999
+-118.9958	31.9061	7272
+-122.3518	44.8941	7251
+-85.1464	27.1104	6404
+-123.0043	45.2164	7680
+-110.9332	30.088	7728
+-117.0195	34.4623	9089
+-90.5742	38.7321	9218
+-90.4207	36.7392	7687
+-107.8622	33.3579	6177
+-113.5403	28.636	4754
+-111.1565	33.9946	6713
+-80.6735	25.3542	6702
+-118.5986	32.4976	7898
+-86.9918	39.1199	7240
+-76.004	27.4402	2948
+-115.0607	46.6079	5805
+-111.2418	30.4572	7906
+-88.3245	38.2018	9035
+-93.5496	35.8872	4823
+-120.258	47.6962	6571
+-123.192	47.0626	9268
+-116.668	37.1684	6163
+-92.7916	37.6219	6558
+-108.4464	30.6575	7196
+-124.4396	47.1811	7898
+-91.8857	36.3962	6415
+-83.2218	27.6502	8654
+-119.0902	45.3346	8083
+-124.8167	46.5515	7452
+-89.4624	40.9491	6855
+-111.6093	34.62	5905
+-123.8279	47.929	8137
+-112.3225	32.2831	7189
+-123.7052	47.8876	8262
+-116.236	34.7468	8230
+-118.0618	45.701	8777
+-91.1769	35.9561	6294
+-115.3062	35.781	6744
+-95.1099	39.2892	4297
+-121.8066	41.9612	3977
+-125.7981	47.8887	6265
+-116.0902	34.7444	8092
+-112.2752	29.8805	6675
+-109.2556	30.6225	7909
+-107.3068	32.2818	6108
+-119.8364	46.9054	7408
+-109.1442	30.7296	7888
+-91.035	39.799	8093
+-123.4885	46.8607	8949
+-88.4857	40.1131	6906
+-113.1745	30.5737	6207
+-115.9261	31.9449	8239
+-118.8714	46.5285	8490
+-126.2723	47.7829	5794
+-88.4241	37.7016	9429
+-118.2295	47.9235	7329
+-95.0654	37.9232	4300
+-117.1283	35.721	7799
+-115.6953	43.2987	5221
+-91.192	38.4872	8508
+-121.0275	45.0687	6677
+-118.789	32.3031	7641
+-91.4394	37.847	7927
+-115.0714	31.1715	6954
+-111.8768	34.1068	6269
+-90.3117	37.9282	8535
+-114.5498	32.3203	7001
+-113.0587	32.999	6146
+-90.1906	41.0434	6944
+-115.3274	37.813	5001
+-124.5701	47.0112	7771
+-93.7513	40.765	5194
+-88.804	39.0687	8240
+-119.7076	41.1183	3773
+-110.8994	31.2949	8785
+-90.1977	37.5036	8066
+-109.9115	29.8578	7549
+-124.2254	44.6313	6656
+-118.3253	46.8277	8489
+-117.802	35.1096	8323
+-84.4856	29.2407	6752
+-115.6092	31.6301	7742
+-108.8185	33.8706	6501
+-89.5481	39.8036	7975
+-109.0372	29.8809	7155
+-109.2068	32.9427	7561
+-118.875	46.857	8243
+-106.737	34.7058	4313
+-116.7601	29.1174	5620
+-118.6631	45.0081	8036
+-118.6666	36.9979	6060
+-112.1956	30.7637	7269
+-107.0898	32.7944	5722
+-122.0759	45.2705	7535
+-83.6332	26.1314	7382
+-112.9893	31.2824	6577
+-84.8928	38.4046	5388
+-123.4651	47.315	8877
+-109.3804	30.881	8191
+-115.0889	34.3634	7149
+-118.3611	46.0691	9172
+-109.1634	32.3684	7947
+-90.5114	40.3271	7719
+-92.5147	38.1157	7027
+-111.3202	31.4743	8398
+-114.5837	33.8394	6860
+-117.0499	34.493	9080
+-115.0125	31.3106	7001
+-121.6865	42.8701	4912
+-122.606	45.1406	7574
+-121.4222	32.2999	4750
+-110.4891	33.5007	7389
+-109.6293	31.2799	8643
+-117.3753	34.7563	8848
+-119.7022	35.1135	6674
+-117.2279	36.8135	6614
+-118.922	37.4046	5539
+-112.5069	31.2479	7091
+-88.3596	43.2978	4059
+-122.5843	48.0009	8418
+-119.8734	45.6116	7499
+-88.1223	39.1788	7969
+-123.1354	45.3067	7764
+-81.2018	31.3334	5722
+-115.2804	32.8298	7872
+-81.5134	25.1851	6889
+-109.3449	32.217	8201
+-110.2699	32.7159	8244
+-123.5082	45.7184	8081
+-119.6663	35.2237	6663
+-119.7667	47.3232	7224
+-87.0385	41.5922	5000
+-91.0954	43.6988	4035
+-94.6794	37.8784	4700
+-119.5557	45.9971	7909
+-83.7533	29.6332	7096
+-119.2271	35.4862	6940
+-117.1365	46.3284	8022
+-113.5345	28.0254	4288
+-91.0511	34.8757	5767
+-116.8658	31.9761	8809
+-109.137	32.5285	7822
+-109.3125	32.5749	7932
+-114.2544	33.1971	6698
+-88.4182	38.3991	8904
+-116.9532	33.0618	9479
+-120.1148	30.8691	5624
+-120.0073	31.7635	6164
+-119.7395	32.8691	6659
+-108.2005	28.8085	5682
+-89.0396	38.6613	8657
+-81.2052	27.5086	8803
+-92.6037	38.3775	6998
+-117.4868	33.3001	8961
+-123.2533	45.6226	8079
+-90.241	38.6841	9255
+-92.305	40.5825	6562
+-90.8734	40.835	7116
+-108.3307	31.9502	7268
+-89.6179	35.9425	7657
+-117.1408	33.2671	9214
+-86.6637	38.0532	7415
+-82.002	30.046	7309
+-86.1088	28.7972	5246
+-89.7679	39.2287	8584
+-126.6145	47.0645	5524
+-91.7635	40.5269	6999
+-115.6964	34.7779	7686
+-85.8701	38.263	6495
+-108.6023	30.1399	7032
+-111.2142	30.0461	7554
+-117.7454	34.9062	8546
+-116.3064	33.0269	8980
+-124.8596	44.1822	5866
+-115.5315	33.3382	8050
+-82.8655	25.9769	7705
+-111.7335	30.9711	7818
+-124.4185	48.7756	7011
+-108.1834	32.5141	6935
+-108.7993	29.9253	7026
+-117.5996	30.4095	6977
+-116.4175	32.6447	9111
+-84.7736	26.9878	6778
+-109.4958	30.5683	8048
+-123.9214	47.968	8035
+-125.8807	45.8853	6123
+-118.9228	44.8105	7736
+-111.9244	35.3694	5024
+-116.3185	34.2199	8499
+-83.7519	29.3313	7346
+-117.086	47.009	7668
+-119.2412	37.4586	5319
+-114.7518	32.1835	7183
+-88.2785	38.3074	8910
+-90.7235	40.8918	7087
+-118.6754	46.6013	8587
+-118.5252	31.952	7765
+-110.2925	33.3948	7510
+-94.148	38.0847	5304
+-121.5358	48.5092	7344
+-91.518	36.7271	6924
+-119.0959	34.4511	7513
+-117.5079	32.321	8934
+-90.4891	35.867	7019
+-117.2096	35.7975	7721
+-110.3552	33.6408	7244
+-87.5573	41.6735	5042
+-86.0955	37.2399	6779
+-118.0151	35.2529	8069
+-89.1681	35.4587	7297
+-117.86	33.8631	8827
+-125.6814	46.8352	6547
+-123.7783	44.1368	6351
+-92.0389	42.1509	5347
+-87.5554	38.8982	7876
+-107.1015	34.454	4790
+-117.0947	36.1885	7288
+-85.2838	26.7543	6149
+-91.5994	36.6338	6794
+-90.8948	36.7563	7206
+-116.7497	49.2344	5565
+-91.5252	35.258	5705
+-122.3314	49.9759	6242
+-118.6194	35.2869	7599
+-122.2794	48.9715	7300
+-118.0345	32.6405	8546
+-81.4191	27.782	9084
+-88.7143	38.2951	9107
+-90.9665	37.7676	8193
+-116.6291	46.1262	7508
+-117.2519	28.7858	5246
+-84.3882	28.5525	7191
+-119.1103	46.1352	8384
+-111.119	32.7694	7932
+-117.0402	33.04	9490
+-91.2247	36.2697	6601
+-118.9769	49.0337	6068
+-82.4965	26.7855	8709
+-121.1125	45.3674	6971
+-111.9307	35.5408	4850
+-124.8251	48.245	7067
+-119.4116	46.54	7978
+-89.4968	34.8197	6517
+-118.3296	34.8971	8110
+-117.8373	35.1901	8228
+-78.9412	30.7109	4979
+-116.4295	32.5701	9094
+-123.3764	48.8947	7424
+-118.8852	34.7592	7645
+-87.5569	35.6444	7171
+-117.2596	33.5601	8913
+-89.974	39.2157	8756
+-92.5647	35.6403	5330
+-117.4839	33.1855	9044
+-119.4695	46.8126	7795
+-89.0906	37.9162	9356
+-117.471	45.5566	8226
+-93.1907	42.2168	4616
+-120.4524	44.9105	6641
+-112.8509	32.1471	6678
+-82.7726	26.1021	7875
+-120.7628	47.9857	7005
+-79.809	29.7476	6437
+-117.4582	44.444	7301
+-116.1825	37.2885	5899
+-117.9816	31.5515	7944
+-122.0214	46.963	8641
+-125.2162	47.936	6848
+-106.2467	34.348	4128
+-90.5314	42.0295	5886
+-114.7662	45.9039	5530
+-119.0468	46.4413	8375
+-91.4969	39.5538	7944
+-87.0075	41.0395	5544
+-85.2876	37.4027	5899
+-120.3398	34.4732	6165
+-82.4869	26.215	8092
+-118.4238	29.9119	6128
+-123.3011	46.9179	9162
+-119.7858	34.5973	6744
+-119.7476	32.9861	6556
+-84.3579	37.8999	4859
+-119.635	47.7457	7005
+-111.511	35.3975	5149
+-90.7784	40.2999	7700
+-110.0409	31.179	8933
+-117.4189	43.8604	6718
+-112.4127	35.3656	4797
+-118.6505	47.302	7929
+-118.2683	49.7241	5422
+-88.4372	35.7144	7593
+-115.6036	47.6274	5994
+-121.9755	44.9911	7210
+-91.1762	37.098	7449
+-122.5301	47.0199	9196
+-116.3888	30.4587	7045
+-110.2974	29.1047	6788
+-118.8334	31.9723	7468
+-91.262	39.8876	7875
+-123.3325	49.2389	7065
+-118.2033	34.1971	8514
+-83.6113	26.9182	7964
+-117.3047	45.2504	7888
+-119.0131	33.3158	7434
+-117.6425	32.1996	8732
+-115.5991	34.8007	7579
+-117.7106	37.4472	5891
+-115.8637	35.3444	7516
+-83.979	27.4555	7775
+-111.444	36.6684	3834
+-125.5896	44.8587	5852
+-119.7137	31.3146	6261
+-89.985	43.7756	3991
+-118.0008	34.6716	8545
+-116.7137	45.6161	7521
+-122.1873	43.3388	5544
+-90.1964	36.8029	7940
+-83.8957	25.8603	6955
+-123.4892	48.4948	7807
+-87.7602	37.9575	8639
+-115.3661	31.6474	7542
+-117.1369	34.9141	8674
+-109.2281	31.4212	8263
+-115.2299	33.2413	7759
+-91.6177	39.6148	7800
+-83.0883	26.0773	7697
+-115.8645	30.1618	6547
+-120.264	30.5365	5281
+-120.795	29.5729	4156
+-89.1499	38.0814	9181
+-87.3115	36.9688	8004
+-119.4553	45.1092	7635
+-110.396	31.173	9024
+-120.9966	45.6866	7086
+-119.0804	35.1141	7289
+-81.9588	27.1893	9210
+-111.1937	31.5301	8540
+-87.382	38.0409	8205
+-86.7051	38.1074	7449
+-80.5153	27.469	8031
+-117.3781	45.3508	8016
+-110.779	31.9519	8847
+-88.5361	39.0066	8288
+-90.9304	39.9338	8019
+-115.8286	31.2458	7589
+-109.4241	26.9214	4327
+-114.2355	32.2464	6641
+-126.9633	45.8685	4982
+-116.7756	36.698	6689
+-117.2986	35.0882	8496
+-114.0218	33.4945	6382
+-86.2259	34.4385	5204
+-123.8489	47.0191	8562
+-120.5793	48.7074	6419
+-110.1502	33.1771	7735
+-112.0311	28.8449	5983
+-118.6956	34.8379	7800
+-89.7592	35.3179	6954
+-90.2665	39.4033	8709
+-92.156	39.0296	7490
+-81.7982	27.2193	9166
+-89.7555	39.7184	8180
+-87.2004	36.0621	7299
+-120.4641	49.4493	5785
+-109.0066	31.3951	8022
+-118.7344	44.3548	7351
+-114.1756	32.9497	6636
+-121.2277	46.7831	7758
+-119.2957	49.404	5601
+-108.2441	31.967	7172
+-117.7052	32.551	8877
+-124.2519	46.6203	8073
+-91.1875	38.1251	8327
+-84.8179	29.8354	6058
+-117.2528	32.2027	8997
+-117.0387	33.9394	9211
+-118.5638	35.2097	7699
+-122.1728	46.4102	8600
+-90.3232	39.6001	8506
+-121.5349	47.9819	7737
+-82.7979	29.184	8121
+-89.2669	36.5068	8398
+-118.3475	31.6627	7746
+-80.2102	26.3711	7204
+-91.0681	38.48	8631
+-115.8079	34.0453	7944
+-121.4479	35.1411	4846
+-125.0685	44.5386	6030
+-93.7524	37.5668	5576
+-117.8382	49.1447	6002
+-105.974	32.805	4569
+-118.3976	32.2852	8050
+-86.8864	38.5933	7462
+-123.0255	46.1506	8699
+-91.7701	36.3951	6479
+-82.471	26.1126	7983
+-126.3485	48.0712	5628
+-114.6284	46.6719	5343
+-115.735	46.7116	6485
+-113.9128	30.3446	5370
+-115.6177	31.723	7816
+-115.8598	42.0356	4249
+-118.7844	49.33	5799
+-115.1904	33.8975	7434
+-108.3345	34.5825	5569
+-107.9526	32.5214	6701
+-118.2991	36.828	6390
+-122.2679	45.0119	7349
+-115.2656	32.7654	7855
+-89.507	40.1718	7624
+-123.6602	49.4873	6714
+-122.257	47.2583	8830
+-83.4034	27.596	8443
+-115.491	44.8518	6021
+-92.2156	41.9172	5480
+-116.7344	31.6698	8448
+-88.2484	41.8487	5368
+-88.3587	35.1164	6917
+-116.486	48.8716	5762
+-116.1078	34.8366	8059
+-110.9909	35.1623	5531
+-121.7479	49.809	6237
+-119.2852	46.6968	8025
+-115.8155	44.0027	5831
+-122.8427	45.9642	8503
+-112.8073	32.699	6533
+-118.9148	33.4812	7604
+-110.6765	34.4002	6399
+-118.1184	44.2003	7241
+-82.1235	27.9076	9733
+-115.5582	32.1818	8030
+-88.4928	39.1205	8154
+-81.2703	29.0463	8146
+-113.7687	36.6643	4828
+-115.3854	34.5339	7440
+-114.8613	34.2951	6908
+-109.9691	34.4004	6396
+-86.2239	40.1978	5787
+-118.9176	47.9799	7159
+-119.9983	46.2735	7435
+-90.7604	40.0867	7927
+-115.4165	32.9163	8020
+-119.0426	34.1294	7601
+-115.9344	35.4605	7487
+-119.3149	34.0067	7299
+-82.6933	29.1327	8222
+-118.0469	31.2132	7596
+-116.7732	45.283	7442
+-91.5318	42.4085	5291
+-87.6227	34.6173	6160
+-123.5248	44.2439	6537
+-124.62	46.1786	7528
+-114.8715	44.6491	5334
+-118.5527	35.4718	7513
+-82.4898	28.8912	8558
+-122.4593	45.5865	8015
+-115.78	34.5591	7851
+-122.4046	45.8457	8260
+-117.1874	45.9307	8086
+-115.6465	29.7209	5999
+-119.4982	30.9446	6241
+-111.4184	33.8028	6797
+-91.5125	39.6351	7878
+-88.0867	39.5549	7562
+-107.8119	33.8783	5780
+-124.3457	47.9259	7700
+-109.5103	32.9462	7749
+-122.1519	44.8108	7099
+-118.907	47.3919	7741
+-84.8174	29.5384	6254
+-108.0484	31.4263	6992
+-90.3658	37.4082	7978
+-88.8456	45.484	1979
+-115.0507	29.9891	5943
+-117.139	49.3871	5574
+-116.4207	32.612	9103
+-82.2261	30.764	6500
+-117.7649	47.0488	8115
+-89.3705	40.5899	7161
+-92.2093	35.662	5558
+-80.4201	27.0433	7789
+-118.1019	30.8252	7196
+-122.1236	43.958	6193
+-88.2648	37.0805	8950
+-89.2847	37.7711	9222
+-89.4325	36.3624	8172
+-112.385	29.8342	6552
+-90.7103	40.1084	7918
+-89.9798	41.0396	6919
+-113.937	32.802	6374
+-82.0427	31.9797	5125
+-114.2581	33.1597	6708
+-123.1806	45.419	7878
+-82.2566	27.8323	9734
+-79.9408	28.1654	7371
+-116.9625	46.1181	7862
+-120.6978	47.0646	7184
+-80.37	26.2202	7239
+-116.1598	32.9188	8846
+-89.4044	38.1556	8913
+-83.5833	25.4386	6790
+-94.7373	36.8738	4314
+-87.9285	37.1153	8689
+-88.4819	36.5166	8486
+-78.6172	28.0408	5902
+-124.9208	46.5713	7344
+-88.2801	35.402	7216
+-94.7574	37.3046	4459
+-125.0377	47.6428	7143
+-90.0167	40.1122	7904
+-118.2082	45.2555	8363
+-119.8365	43.1851	5762
+-112.353	29.1903	6081
+-107.7613	33.1163	6229
+-79.4051	28.0958	6783
+-88.2097	36.6343	8499
+-116.4984	33.6699	8559
+-112.7244	35.2412	4739
+-118.0809	48.3195	6900
+-124.2702	49.1445	6779
+-110.3316	30.2544	8034
+-124.7996	46.9928	7519
+-123.4831	45.7815	8155
+-119.6599	32.6372	6742
+-110.6951	34.8147	5951
+-117.6412	31.7852	8378
+-117.9435	32.4915	8604
+-115.224	29.5685	5642
+-87.6748	39.9501	6973
+-117.5146	33.1197	9054
+-114.6704	34.4895	6679
+-91.6175	41.1467	6519
+-112.1929	31.7081	7454
+-117.0932	31.0883	7820
+-121.8147	34.5127	4560
+-117.6892	47.0763	8050
+-117.768	45.916	8681
+-84.0437	30.7042	5928
+-86.227	35.5444	6101
+-120.5875	34.7746	5848
+-82.7946	27.8823	9133
+-80.7945	27.2383	8264
+-117.9494	42.8279	5777
+-109.5235	30.056	7601
+-115.3471	35.5743	6920
+-122.6703	48.5547	7843
+-118.1146	32.4953	8423
+-123.2912	46.5032	8940
+-88.4875	43.6482	3763
+-90.8467	36.9658	7437
+-114.4114	37.8122	4458
+-115.3153	33.8575	7576
+-117.0076	33.9811	9210
+-117.548	35.3428	8183
+-81.9006	29.7413	7643
+-108.0173	28.8487	5591
+-112.0437	34.1249	6154
+-125.4814	49.4495	5671
+-118.1586	31.4492	7729
+-126.2544	45.5327	5598
+-85.6804	38.6435	6181
+-92.7585	38.3572	6830
+-117.391	31.0075	7680
+-88.6786	37.9414	9491
+-85.9189	37.7843	6616
+-82.7586	27.2957	9007
+-123.2683	46.454	8913
+-119.4335	33.6818	7123
+-112.2855	32.7415	7014
+-122.3469	48.7181	7588
+-108.7216	28.2534	5465
+-117.7029	35.8998	7553
+-88.6583	38.0784	9336
+-90.598	37.5308	8090
+-118.2469	32.8833	8323
+-108.1769	31.6074	7137
+-91.2067	41.7233	6099
+-116.1586	34.3033	8315
+-119.2517	46.9095	7924
+-88.2859	37.0867	8970
+-108.8401	32.2353	7708
+-91.2615	38.2923	8357
+-115.0265	37.8051	4846
+-119.2217	34.2092	7404
+-90.4476	39.0334	9111
+-114.1198	35.3905	5842
+-94.3135	37.6642	5030
+-117.0614	36.943	6465
+-117.1904	33.1698	9286
+-84.6476	28.8753	6784
+-115.884	35.573	7361
+-119.5304	44.7371	7304
+-87.101	41.5287	5093
+-91.2313	39.8974	7887
+-82.1532	29.3745	8073
+-81.0689	30.2395	6847
+-116.5843	31.7409	8479
+-84.6283	39.3857	4785
+-94.4787	38.9949	5002
+-84.9138	29.9886	5866
+-88.7239	34.461	6217
+-116.9199	32.6306	9539
+-82.0598	29.3085	8146
+-119.7261	36.206	6029
+-108.2103	32.9712	6725
+-92.3072	38.0953	7234
+-90.7974	36.4817	6939
+-83.0632	26.4212	8042
+-111.2732	30.397	7834
+-80.7364	24.9621	6348
+-81.2876	27.0264	8621
+-123.1493	45.7268	8217
+-112.7203	29.4262	5988
+-89.3354	38.8792	8286
+-109.0491	34.0874	6425
+-119.2115	33.6764	7359
+-88.7053	37.8139	9635
+-79.2685	31.6232	4457
+-111.4502	30.023	7395
+-121.1444	35.1561	5163
+-84.767	26.6833	6671
+-117.808	35.3469	8088
+-121.0827	34.0848	5375
+-116.8423	33.9517	9034
+-89.3589	39.4046	8114
+-110.7421	33.1069	7764
+-121.2355	47.2664	7748
+-116.6219	43.5044	5997
+-90.9346	40.3936	7556
+-120.0597	47.4067	6925
+-123.3682	45.6885	8111
+-112.1303	30.7311	7319
+-120.4123	44.2727	6289
+-75.7032	27.3945	2605
+-112.5189	30.3951	6778
+-119.6532	32.8559	6756
+-114.4073	32.0366	6769
+-92.4247	38.2457	7158
+-125.8704	47.7836	6222
+-80.9438	26.8001	8158
+-123.7788	45.2718	7509
+-116.8059	37.6308	5690
+-122.5852	45.6515	8121
+-116.8422	46.7093	7604
+-89.6219	37.5643	8848
+-80.634	32.3948	4388
+-119.0945	33.143	7270
+-116.7825	32.0694	8894
+-111.1736	28.9534	6482
+-87.9816	38.0894	8814
+-90.2468	41.388	6577
+-114.5713	32.9683	7076
+-115.8242	46.6302	6596
+-114.528	28.6555	4373
+-118.1518	34.9387	8232
+-124.0711	47.6966	8090
+-117.3634	32.4487	9149
+-119.2492	34.4636	7345
+-115.4743	35.0049	7364
+-85.0756	29.9943	5717
+-119.8069	35.0566	6590
+-114.5182	46.3343	5265
+-109.0277	32.3266	7846
+-123.3606	44.7796	7151
+-119.7208	35.2626	6591
+-110.0185	31.4156	9087
+-90.4516	38.2907	8924
+-120.0183	48.6735	5973
+-119.1483	37.1533	5656
+-123.0912	46.6973	9243
+-117.4939	30.0827	6647
+-116.6551	48.403	6273
+-87.345	39.9175	6826
+-108.1999	30.7842	7005
+-114.3611	36.5664	5404
+-89.4262	36.9523	8724
+-116.9096	34.3365	9090
+-126.1123	48.7416	5574
+-114.6733	34.9429	6574
+-110.115	31.6536	9225
+-107.9904	27.8346	4684
+-86.9425	38.2359	7670
+-113.7445	31.4373	5774
+-114.6593	34.1566	6694
+-86.4008	37.3645	7138
+-87.8739	41.6149	5319
+-89.5438	39.5646	8164
+-113.8496	32.898	6275
+-79.503	28.3926	6833
+-82.0782	26.7565	8748
+-112.698	32.4042	6762
+-115.3907	36.9242	5870
+-116.4782	37.5166	5748
+-92.1915	38.5725	7466
+-108.9375	29.1354	6421
+-120.1284	44.0157	6312
+-77.1027	29.7332	3782
+-90.3841	38.7854	9386
+-116.2462	45.5359	7022
+-109.9367	31.2376	8904
+-84.1053	42.372	2380
+-116.426	44.6706	6778
+-116.3575	30.4307	7006
+-92.856	40.6706	6050
+-89.3076	39.109	8202
+-83.5261	24.1838	5543
+-121.1698	33.3804	5202
+-120.4996	32.8501	5744
+-88.1001	38.5482	8574
+-113.662	35.209	5435
+-117.9229	35.6859	7699
+-83.3798	27.3912	8420
+-122.9727	49.3905	6942
+-115.0153	33.5916	7411
+-122.2486	47.87	8383
+-116.6213	35.1506	8224
+-122.1655	42.7199	4871
+-123.8844	43.6633	5819
+-125.343	47.8358	6757
+-124.236	46.6029	8085
+-88.6289	39.1311	8163
+-82.7414	26.9062	8701
+-82.5559	25.1253	6866
+-90.685	39.0858	8938
+-77.4614	29.7577	4147
+-115.7541	40.0038	2925
+-117.1747	31.5412	8311
+-109.051	32.1498	7955
+-116.821	32.747	9573
+-91.6077	35.0998	5518
+-84.436	30.5628	5794
+-80.688	27.6765	8254
+-118.4858	31.7054	7653
+-111.9242	33.4823	6789
+-87.9811	36.5724	8304
+-82.4581	30.2242	7088
+-110.5298	30.0539	7803
+-117.8192	31.8973	8354
+-116.4137	34.3019	8589
+-117.7403	45.2769	8216
+-85.7189	40.642	5034
+-116.9776	35.6822	7819
+-118.0113	32.8667	8586
+-87.2581	33.0926	4409
+-85.128	27.2777	6460
+-83.6115	26.8474	7923
+-114.088	34.8182	5991
+-113.5959	34.3277	5528
+-84.3697	26.8293	7149
+-80.9682	28.353	8417
+-126.5205	46.5041	5596
+-119.2469	46.2472	8228
+-115.9573	44.3938	6205
+-117.1593	44.6608	7327
+-85.6269	38.3143	6216
+-119.2834	36.6638	6008
+-83.3703	28.6645	8163
+-115.813	47.2359	6381
+-116.9376	33.5106	8978
+-120.6087	32.8765	5643
+-92.4351	38.2488	7148
+-123.6521	47.3118	8697
+-118.0092	31.1258	7537
+-120.8356	43.1325	5115
+-89.1917	40.3256	7295
+-88.1489	41.6333	5493
+-113.2263	29.806	5795
+-85.7398	30.3796	4854
+-83.084	27.4596	8762
+-108.6961	30.426	7301
+-120.4238	32.517	5882
+-89.9426	36.1825	7690
+-88.264	31.7975	3203
+-88.1326	39.1731	7980
+-114.7526	31.8545	7060
+-112.5679	29.7394	6335
+-119.2694	48.9522	6064
+-111.6873	31.9915	7941
+-117.0507	33.2757	9232
+-90.1832	36.2275	7549
+-114.7415	34.7333	6707
+-90.3752	43.1387	4694
+-85.305	24.2736	4555
+-115.6455	34.3824	7749
+-82.1376	29.302	8155
+-89.6965	37.3038	8695
+-85.2635	36.9785	5808
+-115.6514	38.1446	4821
+-116.2709	34.0339	8446
+-121.3383	46.771	7877
+-108.3953	31.352	7359
+-89.9226	40.691	7274
+-122.7998	47.4317	9083
+-114.7217	48.1269	4920
+-81.628	27.2528	9077
+-87.943	40.4415	6565
+-113.3266	30.1941	5898
+-89.5609	40.9898	6853
+-120.4622	43.1055	5338
+-117.1434	35.6657	7861
+-94.3388	40.8852	4580
+-89.0985	38.3715	8940
+-89.9129	36.2251	7748
+-88.8022	42.6374	4901
+-116.2467	34.2303	8420
+-84.8225	38.3854	5315
+-82.5073	26.9307	8856
+-124.9683	44.8798	6378
+-120.1927	43.8424	6129
+-117.8884	32.3813	8616
+-84.9224	35.7154	4976
+-118.692	31.8858	7566
+-89.5029	36.2894	8063
+-109.4111	29.7965	7295
+-86.9966	36.7639	7585
+-76.7586	29.1024	3627
+-122.3153	45.8006	8173
+-91.7355	37.373	7344
+-117.201	34.7194	8895
+-118.0913	34.2515	8629
+-116.5475	35.9157	7441
+-118.5189	32.115	7853
+-86.7497	24.1214	3238
+-85.5684	35.8556	5690
+-109.8408	30.9206	8579
+-110.6555	32.4947	8426
+-78.9048	27.5349	6230
+-107.766	32.1839	6617
+-119.1603	35.6284	6906
+-109.6264	30.6227	8181
+-116.7382	30.1479	6765
+-117.1509	35.2295	8335
+-78.3795	28.4684	5572
+-93.921	37.5944	5413
+-119.0609	46.3904	8381
+-80.3613	24.6703	5856
+-119.4733	45.203	7682
+-117.007	33.0782	9458
+-90.9668	34.8493	5803
+-85.8139	35.4534	5673
+-91.7217	42.9587	4664
+-116.6094	49.9452	4819
+-117.6437	34.7182	8779
+-117.3286	34.8908	8709
+-117.0379	44.7205	7292
+-125.3741	49.2188	5931
+-82.2311	27.9189	9688
+-81.3904	26.3714	8104
+-123.4218	45.8825	8284
+-112.2966	31.0849	7279
+-112.1282	28.6463	5744
+-89.6851	39.979	7901
+-89.6702	41.3879	6479
+-115.2448	46.1909	6041
+-120.6922	45.2458	6554
+-109.9142	35.1836	5546
+-121.8618	49.5739	6523
+-121.4636	48.3268	7433
+-116.2679	32.4352	8865
+-114.4566	36.5481	5496
+-106.3874	32.3742	5113
+-116.8559	35.4555	8028
+-117.3931	33.0855	9190
+-88.3028	34.9598	6733
+-125.4807	48.467	6327
+-118.3379	48.4083	6815
+-78.6819	27.7748	5988
+-113.8824	36.0593	5290
+-121.2525	43.7997	5684
+-88.9038	37.365	9444
+-93.1789	39.2824	6357
+-121.3259	49.2776	6534
+-118.4609	32.2426	7967
+-118.8799	43.236	6162
+-84.4187	38.6516	4811
+-91.2287	38.6408	8506
+-116.865	47.6886	7005
+-118.0524	46.4687	8800
+-110.5078	32.5473	8412
+-109.3396	31.3768	8374
+-90.8169	37.738	8238
+-92.1684	38.4599	7475
+-90.0435	37.4173	8355
+-90.1225	41.4215	6531
+-88.3927	39.0603	8195
+-93.119	36.7264	5757
+-120.2464	34.7854	6210
+-108.1843	32.8094	6793
+-114.3564	31.6927	6583
+-117.2063	32.2708	9088
+-119.2845	45.6042	8077
+-116.0843	32.2632	8591
+-82.3218	26.8531	8837
+-116.6611	33.9436	8846
+-117.6008	47.8708	7251
+-82.0647	27.2832	9340
+-124.9058	46.7085	7384
+-123.5396	46.3083	8598
+-91.1027	36.2936	6666
+-88.9219	35.9891	7925
+-108.0184	33.1471	6447
+-110.6123	32.0001	8930
+-116.5928	29.9228	6498
+-120.8391	48.0556	7045
+-113.8275	31.9927	6133
+-118.2498	32.2425	8185
+-88.9141	37.3756	9449
+-124.8513	45.8804	7153
+-125.8341	47.6149	6305
+-116.0772	35.0463	7902
+-114.5015	32.8776	7002
+-121.7984	48.2814	7722
+-119.1221	49.6105	5438
+-92.4216	37.8675	7030
+-117.574	35.6245	7877
+-123.7922	45.6398	7850
+-120.876	34.204	5600
+-111.1711	33.6109	7097
+-87.652	41.0942	5545
+-116.8211	34.5712	8856
+-89.9772	36.9965	8262
+-115.8748	38.0213	5033
+-123.0512	47.6531	8834
+-110.2391	30.9913	8824
+-90.7944	36.0957	6936
+-117.4614	31.0878	7747
+-123.9115	48.9415	7168
+-83.9927	28.8668	7448
+-120.82	44.3558	6000
+-125.0638	48.7143	6550
+-120.7764	47.0928	7269
+-90.4408	39.0012	9147
+-118.6546	31.3084	7228
+-83.3819	28.9991	7908
+-114.5499	33.9877	6757
+-108.7496	29.9382	6999
+-106.911	30.9939	5711
+-112.1065	35.6736	4643
+-89.2177	37.6674	9309
+-123.9521	45.0702	7224
+-86.7038	37.0654	7403
+-90.8744	37.3832	7859
+-119.6721	44.1717	6744
+-117.1292	30.6145	7290
+-82.2331	26.5259	8484
+-122.494	48.3368	8036
+-115.8443	46.3104	6668
+-119.2723	35.6747	6779
+-114.5423	32.1396	6945
+-116.8027	29.8766	6468
+-91.7179	42.0621	5576
+-117.319	30.6232	7275
+-118.4396	28.434	4596
+-81.7281	27.9523	9388
+-110.4814	32.7561	8193
+-90.853	36.5899	7042
+-82.467	30.9795	6238
+-92.5883	38.982	7035
+-119.1765	34.0114	7450
+-86.8567	25.412	3921
+-109.9071	32.7332	8145
+-119.3247	46.3091	8136
+-120.0407	45.1374	7138
+-113.9806	37.8517	4125
+-115.0956	34.3933	7153
+-117.9747	28.8778	5218
+-116.6399	34.6044	8683
+-81.9054	28.3493	9185
+-118.3085	30.2926	6564
+-91.4821	40.9433	6780
+-114.0407	32.657	6484
+-122.8974	46.1511	8710
+-113.6637	28.5405	4586
+-109.7709	30.7451	8380
+-112.5894	35.3175	4747
+-117.7909	35.4928	7948
+-121.3238	47.6642	7713
+-124.4395	47.1372	7904
+-113.5012	32.6047	5867
+-113.7575	30.5426	5596
+-118.7402	35.2728	7506
+-117.5189	43.8553	6749
+-83.8388	31.5405	5207
+-119.2617	45.3287	7941
+-115.4418	34.9397	7362
+-116.1385	32.4942	8762
+-115.3166	32.1509	7768
+-85.7597	38.3466	6354
+-112.5416	33.0945	6574
+-118.9095	31.9883	7397
+-117.3935	33.9708	9313
+-117.6158	48.8957	6216
+-117.7353	34.3199	8988
+-118.0539	31.0392	7429
+-82.8871	26.2347	7961
+-123.0293	45.4623	7947
+-116.0224	44.6715	6428
+-86.496	37.126	7195
+-120.3189	43.3168	5609
+-88.9936	38.1703	9194
+-87.4929	39.3758	7422
+-117.1313	35.4427	8102
+-116.8576	47.1459	7388
+-114.9975	30.3456	6229
+-118.8185	43.8105	6770
+-86.4857	39.1816	6741
+-107.0934	30.6144	5810
+-116.9796	37.7991	5527
+-119.443	33.7376	7125
+-120.5816	45.8841	6816
+-124.1238	48.1007	7773
+-90.9025	35.3158	6250
+-115.2578	32.1877	7722
+-119.4717	45.152	7651
+-113.6368	31.0466	5847
+-117.0537	47.7514	7080
+-118.8495	49.945	5144
+-124.3211	46.4257	7936
+-81.076	29.8807	7218
+-110.5305	32.5215	8435
+-117.6291	43.8225	6751
+-80.217	27.8912	7720
+-111.7065	34.3728	6105
+-89.3722	38.288	8841
+-116.6193	35.3755	8010
+-117.2539	35.9043	7606
+-92.3299	35.5678	5404
+-90.7535	39.4254	8594
+-120.7912	46.319	7183
+-113.1968	31.5794	6371
+-87.3927	38.1346	8186
+-123.3766	48.6586	7675
+-85.9207	44.5205	1562
+-116.7056	30.6066	7271
+-118.9993	47.7137	7391
+-89.3705	40.4233	7316
+-115.7343	45.7437	6535
+-116.6776	38.56	4667
+-117.3862	44.6361	7442
+-118.6417	32.3384	7810
+-115.5728	29.5865	5829
+-117.2659	34.4377	9206
+-124.1839	41.5726	3515
+-117.9035	49.6053	5526
+-80.3527	27.5008	7856
+-119.3013	45.6755	8092
+-91.063	40.3111	7589
+-118.2184	31.979	8073
+-85.7917	35.26	5520
+-88.6387	41.2657	6125
+-110.2268	31.3157	9161
+-90.0185	40.0601	7959
+-110.2595	32.9106	8033
+-90.1715	35.8565	7244
+-85.1483	36.576	5573
+-111.1587	30.9512	8347
+-116.0945	35.4262	7634
+-117.7539	37.733	5575
+-120.2187	45.6486	7156
+-116.7441	30.81	7501
+-115.0522	39.6644	3039
+-81.9859	28.9655	8526
+-90.5862	39.7992	8273
+-81.2026	29.5756	7591
+-80.1768	27.6013	7671
+-109.5096	33.8535	6857
+-118.3355	36.7562	6448
+-108.623	30.6857	7381
+-121.4752	47.154	8027
+-123.6644	44.5286	6799
+-118.6818	37.23	5824
+-91.1575	37.8184	8119
+-118.474	47.7538	7497
+-83.7529	27.4324	8022
+-91.2575	39.9669	7809
+-78.9022	27.4576	6220
+-117.3929	33.2872	9045
+-110.0686	28.8565	6505
+-114.5404	33.2071	7012
+-109.0255	29.9763	7229
+-90.8982	38.5728	8837
+-112.9142	34.431	5310
+-81.1769	27.2335	8654
+-118.0075	30.5607	6982
+-113.2029	33.1736	5919
+-120.9016	47.6057	7301
+-90.332	37.0024	7907
+-114.8274	46.3016	5594
+-121.0598	46.969	7584
+-116.8584	35.2751	8215
+-116.7424	46.7816	7476
+-89.2493	36.9265	8824
+-118.5281	33.2279	7844
+-121.4597	47.6355	7861
+-109.9984	30.734	8484
+-119.4387	45.7181	7972
+-89.0036	36.3385	8301
+-116.5397	34.8296	8440
+-126.6633	49.9266	4346
+-79.0666	31.6599	4285
+-116.8918	31.2285	7980
+-115.291	41.6014	3538
+-114.3361	33.4277	6741
+-111.5119	33.1829	7321
+-114.82	33.3403	7288
+-89.9853	38.7749	8995
+-92.4061	39.3783	7141
+-90.7139	37.2288	7746
+-79.7795	26.9436	7071
+-109.4501	32.9145	7743
+-109.642	32.0826	8550
+-89.2514	39.2157	8105
+-87.5782	38.2181	8344
+-89.7088	34.176	5757
+-119.0376	43.4864	6380
+-82.6356	29.1955	8179
+-90.1034	41.7723	6153
+-124.0414	47.3453	8285
+-119.0375	34.7857	7479
+-114.0986	33.4603	6474
+-92.5879	38.9466	7039
+-116.4337	44.0134	6307
+-88.3861	38.6116	8671
+-110.6857	32.4535	8456
+-114.3932	32.7433	6881
+-85.2378	37.4016	5843
+-121.1622	47.7553	7510
+-122.0291	48.3583	7802
+-115.008	30.2966	6193
+-82.8527	30.5388	6652
+-91.9469	36.2516	6248
+-117.234	27.6564	3989
+-107.6779	36.3273	3583
+-89.2318	38.0809	9115
+-116.5489	33.6342	8584
+-120.6674	44.8237	6397
+-118.1832	33.9054	8508
+-118.8646	45.3748	8276
+-82.052	29.1812	8289
+-113.4559	34.1631	5559
+-120.6138	32.6979	5565
+-89.2919	34.9709	6733
+-109.2032	29.0842	6502
+-118.9011	47.8912	7254
+-108.5608	31.4121	7544
+-80.0012	30.3185	6130
+-110.7639	32.2039	8655
+-118.8367	33.8087	7789
+-123.0961	45.9176	8434
+-121.9138	33.9392	4464
+-119.193	46.7252	8092
+-90.9868	37.4162	7846
+-117.7635	38.2391	5027
+-117.4777	45.9102	8384
+-116.0327	32.4821	8646
+-88.6503	37.2595	9341
+-116.457	35.4582	7844
+-88.508	37.1848	9202
+-80.339	27.0367	7701
+-90.5007	40.2893	7760
+-91.5574	39.0942	8106
+-120.3117	47.6939	6528
+-90.714	37.8819	8423
+-82.422	27.2712	9244
+-124.3371	49.5828	6327
+-123.7441	45.9817	8181
+-82.5577	25.1144	6854
+-118.1826	29.458	5769
+-109.3748	32.3002	8177
+-92.8952	35.9687	5385
+-117.7935	44.2761	7261
+-92.3563	36.5067	6204
+-88.7669	38.0043	9435
+-120.1352	34.529	6379
+-108.9417	28.1112	5421
+-88.42	38.6953	8596
+-118.774	48.8082	6346
+-89.9322	37.9335	8419
+-116.8749	33.3768	9120
+-89.2323	39.574	7899
+-118.068	32.0639	8265
+-124.1766	49.6244	6367
+-124.0301	45.4592	7536
+-90.3493	36.0102	7244
+-88.8807	38.5756	8786
+-111.5877	31.6175	8114
+-110.5978	32.6529	8280
+-124.7978	47.7568	7348
+-112.1784	32.694	7140
+-122.2754	44.4334	6740
+-117.7429	32.7818	8886
+-85.8921	38.2973	6512
+-82.9455	28.2682	8812
+-107.073	34.986	4368
+-90.2263	41.1176	6867
+-122.0989	42.433	4548
+-111.4476	32.143	8123
+-93.4341	39.7404	5967
+-118.4518	35.4016	7644
+-88.791	34.5648	6334
+-113.6528	32.6331	6051
+-116.7242	34.7464	8645
+-87.2541	37.8141	8109
+-81.0658	24.4546	5956
+-92.9321	41.0076	5755
+-111.2634	31.7871	8442
+-114.5052	35.4587	6197
+-90.3769	40.2519	7806
+-120.5951	46.8344	7070
+-78.9291	25.5998	5516
+-89.4382	41.3999	6392
+-124.2757	47.9328	7759
+-116.2486	30.9484	7520
+-91.0396	35.5077	6297
+-85.2584	39.1002	5561
+-116.2044	34.5184	8305
+-117.3175	49.2265	5795
+-118.5857	48.2854	6924
+-78.304	29.7808	4997
+-116.6158	28.7502	5200
+-79.0576	27.346	6380
+-119.1693	32.9132	7294
+-79.6472	32.6657	3677
+-121.6896	47.8988	7928
+-118.2589	47.4096	7873
+-117.5419	29.6272	6138
+-123.408	47.2954	8941
+-78.9195	25.3608	5351
+-88.0368	39.9857	7085
+-88.6099	38.4594	8907
+-116.3644	36.0642	7213
+-79.9922	27.6372	7466
+-120.54	36.5571	5095
+-91.5392	36.0431	6252
+-120.3627	46.207	7055
+-87.1387	42.0542	4433
+-110.1459	29.3557	7052
+-88.3177	38.4575	8794
+-120.8974	36.0242	5072
+-89.5694	41.6282	6200
+-122.8591	47.4111	9116
+-79.354	29.2749	6315
+-88.3381	36.4271	8344
+-82.0595	27.4601	9536
+-114.6575	47.4685	5156
+-77.8849	24.6309	3918
+-121.6281	44.8712	6913
+-76.1468	27.1979	3089
+-84.6716	32.129	4182
+-111.4288	36.5158	3999
+-117.9524	44.7648	7804
+-116.9285	47.6833	7054
+-118.0755	34.3762	8617
+-116.2582	30.8592	7431
+-106.1058	34.6067	3842
+-113.802	30.4341	5515
+-116.7268	33.5873	8700
+-84.588	25.8559	6373
+-108.8297	29.8828	7014
+-113.9549	34.915	5826
+-93.039	38.0062	6452
+-89.6654	36.8324	8439
+-90.231	35.7889	7143
+-121.9167	49.4382	6684
+-114.1413	44.6081	4598
+-123.1759	45.045	7473
+-121.7895	43.8487	5970
+-88.3548	36.2853	8198
+-120.9576	43.7828	5513
+-113.4564	30.7843	5981
+-91.1837	39.7134	8074
+-79.5817	26.1614	6482
+-124.3327	47.2147	8009
+-117.5253	45.4946	8233
+-126.5634	48.2672	5335
+-117.4944	34.853	8714
+-81.413	30.3306	6879
+-111.8275	31.2528	7816
+-118.1024	34.6604	8460
+-117.0974	35.3015	8250
+-116.0425	34.3436	8183
+-91.2173	37.4696	7777
+-121.5144	45.3613	7276
+-91.2304	38.5512	8486
+-119.0813	32.1206	7270
+-106.4844	30.0175	4972
+-119.0236	33.3838	7454
+-117.2646	44.1014	6885
+-87.9662	36.9027	8574
+-113.2492	29.0807	5310
+-92.885	34.0848	3719
+-87.1935	36.9375	7869
+-85.7928	39.1405	6089
+-86.9804	36.7304	7552
+-83.078	24.4324	5972
+-90.5547	37.7022	8280
+-117.5372	41.6491	4481
+-121.0962	45.1636	6804
+-90.2917	36.095	7357
+-82.1731	28.8191	8701
+-117.9013	31.2175	7687
+-113.9956	35.0105	5844
+-124.1455	46.7059	8208
+-89.1684	38.5911	8683
+-117.1905	32.8747	9495
+-116.2469	45.5855	7036
+-116.422	35.4707	7813
+-79.0936	24.7283	5030
+-84.6347	24.9485	5629
+-112.2703	34.4432	5731
+-115.2501	34.3211	7329
+-118.4201	35.1482	7862
+-78.9399	31.4253	4398
+-108.7137	28.2538	5462
+-117.3548	34.6959	8917
+-89.5833	37.1563	8735
+-118.7937	48.5413	6619
+-116.3996	36.5385	6749
+-116.6919	33.2888	9144
+-85.7275	41.5429	4285
+-122.7282	47.4269	9066
+-121.5483	45.9725	7763
+-117.9566	48.9644	6207
+-88.2004	41.4959	5644
+-82.5976	26.7268	8604
+-114.8782	36.8546	5588
+-114.1325	31.7582	6378
+-87.8083	36.4755	8100
+-122.3073	44.5527	6875
+-116.7072	43.5919	6123
+-85.9589	40.1133	5634
+-116.5809	35.4596	7909
+-117.4213	47.1367	7833
+-88.3491	39.9453	7214
+-108.2302	31.3718	7183
+-110.399	32.9134	8031
+-108.3252	31.1973	7258
+-112.8213	31.3414	6765
+-81.3347	26.6394	8330
+-120.559	33.8276	5931
+-85.7974	28.6881	5618
+-117.4645	33.94	9236
+-124.4499	49.3428	6489
+-122.928	42.3244	4506
+-88.9844	39.3265	7794
+-119.5326	43.4755	6182
+-119.0114	35.1653	7327
+-88.871	40.5993	6849
+-89.2354	39.289	8057
+-83.4258	28.6711	8108
+-114.1751	32.047	6523
+-117.3451	32.1775	8924
+-118.9458	49.1367	5969
+-83.5946	27.338	8170
+-91.661	36.3488	6493
+-92.508	40.2749	6606
+-111.6455	30.807	7822
+-117.8484	44.1682	7163
+-89.5754	43.0039	4757
+-116.7394	30.1014	6714
+-84.4047	40.7472	3820
+-78.0992	26.4393	5088
+-117.5911	47.3043	7789
+-79.4268	26.574	6546
+-119.4275	47.1285	7631
+-111.2479	29.4687	6977
+-118.1591	32.8887	8420
+-113.2355	31.5572	6329
+-80.5021	26.134	7281
+-81.344	30.2514	6943
+-94.4529	38.1161	4985
+-117.5827	32.6836	9050
+-114.2276	36.4336	5380
+-120.1439	44.3265	6538
+-85.5127	39.9203	5372
+-115.6241	32.6474	8244
+-124.5983	46.2548	7583
+-117.2495	31.4966	8247
+-89.2827	35.9421	7795
+-120.8269	45.6952	6934
+-121.8191	32.8437	4377
+-109.6839	32.0831	8586
+-117.2368	47.0726	7747
+-114.7277	33.3931	7174
+-121.9437	38.2076	2772
+-85.4429	35.6504	5452
+-117.8042	46.9442	8233
+-89.7454	34.8858	6506
+-114.2039	32.9711	6667
+-116.2294	33.2977	8771
+-120.1275	46.2929	7297
+-116.0379	36.5025	6627
+-77.9838	28.5635	5112
+-81.0577	27.8395	8673
+-111.4568	30.408	7712
+-89.5413	38.5558	8493
+-89.5798	42.6536	5129
+-121.2709	47.7083	7640
+-117.5023	33.3048	8944
+-85.0692	24.0049	4494
+-114.6028	48.6774	4502
+-109.5641	34.5839	6117
+-119.6693	45.2852	7558
+-91.3455	37.252	7505
+-92.791	38.1532	6751
+-119.5673	34.999	6856
+-90.6563	40.0854	7955
+-116.2244	32.8151	8925
+-120.6331	48.1275	6808
+-119.7883	48.3399	6403
+-90.6819	38.1437	8696
+-117.4999	35.0673	8488
+-107.9505	31.1872	6856
+-80.20	26.3535	7183
+-108.0243	28.997	5717
+-90.73	40.573	7424
+-83.2477	30.5399	6511
+-117.8007	32.80	8822
+-114.9865	33.0683	7526
+-86.5781	36.0996	6794
+-110.0005	31.5069	9104
+-89.3832	36.8663	8682
+-91.2388	37.2401	7554
+-117.6025	47.3935	7713
+-89.2795	38.1187	9047
+-117.3386	37.0722	6331
+-89.0579	38.7584	8546
+-119.7114	33.5324	6792
+-90.3744	39.9267	8156
+-117.9214	29.5655	5973
+-115.5159	33.8787	7608
+-82.7306	24.6511	6303
+-117.8208	45.9742	8753
+-91.0523	38.653	8696
+-126.4012	46.5165	5728
+-119.8482	43.4233	5977
+-123.291	45.2828	7707
+-85.7611	40.5925	5106
+-120.5018	46.3609	6895
+-89.4547	37.3659	8972
+-116.581	36.4979	6852
+-88.1247	37.6903	9094
+-82.0372	25.5837	7420
+-84.9882	36.6146	5413
+-119.9615	48.998	5714
+-108.4775	30.7683	7278
+-116.8929	35.4174	8079
+-87.9613	40.0071	7036
+-118.0334	35.2042	8101
+-119.4107	44.6862	7345
+-89.7937	41.9792	5886
+-88.9768	40.8675	6684
+-88.3571	30.3535	2267
+-108.5114	34.2644	5961
+-115.0252	30.2419	6156
+-93.6359	38.4682	5905
+-125.2256	48.5457	6518
+-121.0663	45.1198	6747
+-93.8065	39.2009	5703
+-123.5198	48.5885	7699
+-116.0503	48.5426	5756
+-82.2949	27.353	9390
+-86.3528	33.1987	4115
+-115.5698	35.8247	6924
+-119.3022	46.5797	8068
+-118.9861	49.2297	5863
+-117.6786	32.2744	8755
+-117.7588	46.0953	8705
+-87.0403	39.2768	7165
+-107.6258	32.7215	6291
+-121.3223	31.8416	4774
+-87.5695	38.1011	8385
+-89.5438	38.4544	8465
+-120.1279	28.0269	3352
+-88.12	41.9816	5172
+-120.4943	34.1673	6017
+-116.8165	42.8551	5489
+-118.963	43.5666	6483
+-115.8655	31.7179	8018
+-118.5965	49.3212	5833
+-120.4565	34.2009	6057
+-119.6828	43.9715	6563
+-91.0563	42.4862	5333
+-108.7169	32.8559	7245
+-114.0303	29.2806	4755
+-115.831	33.7515	8112
+-87.236	36.4658	7632
+-114.2506	33.2137	6691
+-121.7124	33.9425	4684
+-89.198	39.9299	7622
+-121.3607	46.3944	7802
+-116.5845	34.5198	8683
+-121.2805	47.357	7776
+-83.3352	28.2354	8433
+-83.8593	28.6768	7685
+-86.5268	37.3232	7272
+-88.1387	37.4794	9080
+-113.6945	29.5774	5233
+-91.3333	39.1952	8294
+-91.775	38.6471	7920
+-116.5244	36.9294	6382
+-108.0065	33.9672	5864
+-120.3377	32.0632	5900
+-116.0008	32.8487	8675
+-119.819	34.9441	6617
+-91.6811	37.9613	7787
+-90.2657	36.3781	7597
+-92.7449	38.2242	6817
+-119.9401	47.4668	6986
+-89.3423	38.1128	8997
+-83.4592	25.8086	7217
+-121.6442	45.0926	7128
+-120.5815	45.0597	6589
+-92.5609	38.4008	7047
+-115.2515	45.4037	5966
+-123.5345	44.0283	6304
+-87.9159	36.5555	8245
+-115.984	33.0484	8627
+-120.0383	32.7213	6325
+-87.7904	34.8465	6466
+-90.017	37.7823	8309
+-122.9417	44.5979	7003
+-122.7319	45.2924	7758
+-82.7547	30.0255	7242
+-89.8467	40.1458	7813
+-90.7739	40.998	6965
+-82.1337	25.5733	7411
+-122.924	46.2674	8838
+-112.0695	28.6468	5777
+-122.9102	48.2776	8166
+-117.0677	43.8626	6564
+-118.538	48.5408	6661
+-90.60	40.6306	7384
+-88.7151	35.3121	7172
+-89.9826	38.4982	8914
+-113.0695	30.1496	6127
+-112.4192	29.7571	6470
+-76.4956	25.5542	3041
+-113.2894	27.6765	4166
+-81.2822	27.9182	8914
+-123.0263	46.2793	8838
+-119.5938	34.6073	6947
+-114.8314	31.6319	7029
+-117.271	30.5452	7197
+-118.9604	49.1736	5927
+-85.4637	40.1418	5182
+-111.1382	33.5778	7143
+-116.6885	30.1512	6764
+-82.7207	29.6226	7690
+-122.7073	47.5544	8927
+-118.6858	30.6989	6710
+-118.9877	49.8099	5261
+-113.9682	47.3876	4491
+-87.3266	42.5035	4207
+-115.2433	31.9392	7596
+-119.4375	44.3455	7036
+-79.9506	26.5005	7038
+-111.8402	29.6646	6830
+-87.8202	36.9333	8472
+-88.8853	39.4197	7656
+-113.0105	30.2802	6248
+-84.7971	26.4162	6514
+-115.2821	34.4576	7344
+-91.1393	39.9719	7876
+-121.131	47.5434	7562
+-115.0351	29.6453	5611
+-122.9221	44.6759	7089
+-114.9551	36.175	6174
+-109.8189	34.8788	5860
+-107.1334	28.3414	4538
+-80.8964	27.2912	8393
+-116.5637	44.1567	6512
+-83.5018	27.7176	8343
+-115.0056	33.4687	7448
+-83.8587	29.2247	7337
+-123.5495	47.5112	8675
+-109.4023	27.3615	4790
+-113.2674	35.9384	4752
+-122.3573	49.2573	7020
+-123.6889	46.6384	8667
+-120.7563	45.097	6434
+-124.5729	43.8251	5696
+-110.3258	32.1986	8807
+-114.6557	35.5332	6306
+-86.1449	34.5674	5259
+-119.8037	34.9537	6629
+-116.5006	31.5741	8273
+-115.6355	46.5805	6411
+-114.8519	31.4334	6934
+-86.971	36.8686	7610
+-119.7439	35.2015	6595
+-87.2312	40.797	5901
+-86.5167	36.7128	7072
+-127.6398	43.6639	3259
+-123.9071	46.5191	8395
+-115.5797	49.2609	4855
+-119.5255	46.9622	7659
+-91.0277	36.4937	6895
+-116.1764	30.1096	6607
+-89.7479	36.4592	8069
+-113.6386	29.5685	5280
+-110.979	30.4269	8039
+-90.6908	38.9874	9006
+-117.4918	31.6488	8325
+-119.2984	35.4725	6883
+-81.7175	28.9094	8517
+-81.6963	30.9369	6272
+-114.9814	30.5957	6430
+-110.3252	32.1957	8810
+-119.4238	28.568	4279
+-113.3684	32.9404	5871
+-114.5575	36.0165	5939
+-119.6434	30.0262	5440
+-123.5474	48.3587	7919
+-83.6677	30.3928	6451
+-116.8288	41.823	4476
+-111.8839	33.3351	6939
+-91.3608	36.6569	6934
+-85.7865	38.8816	6202
+-122.3965	43.5001	5758
+-85.4148	36.1723	5696
+-123.3131	48.8548	7483
+-112.2849	32.8428	6957
+-117.4067	32.4069	9082
+-116.8342	34.1991	9061
+-119.4558	43.631	6366
+-119.2747	32.7179	7176
+-113.3613	36.3019	4665
+-127.2653	44.5992	4150
+-117.5315	32.3393	8928
+-90.5088	37.927	8527
+-112.7086	28.4498	5213
+-116.2193	31.0108	7573
+-112.3516	31.077	7219
+-81.2722	27.6227	8905
+-110.7705	33.0203	7846
+-116.5091	32.6588	9213
+-79.8493	30.8882	5516
+-115.8522	31.0638	7436
+-91.8416	40.1762	7226
+-79.923	27.9063	7387
+-115.8283	33.3129	8368
+-81.655	28.653	8753
+-92.107	38.0744	7429
+-81.7505	28.3758	9078
+-115.1376	31.8626	7452
+-88.1838	39.4511	7707
+-120.1603	34.197	6381
+-116.2749	33.8322	8407
+-80.8973	28.8197	8055
+-122.0888	43.6207	5824
+-109.8839	31.3459	8923
+-118.0155	45.9413	8931
+-116.6477	45.1354	7250
+-116.5078	31.6799	8386
+-121.8996	31.0161	3895
+-86.8932	36.3931	7273
+-98.2967	41.8724	255
+-91.5069	37.6159	7704
+-115.562	34.0316	7675
+-121.6948	46.7419	8259
+-94.3192	39.4408	5117
+-118.4586	35.2654	7745
+-117.5377	33.1482	9016
+-83.0265	27.7182	8880
+-108.7374	29.2758	6434
+-110.6299	32.6617	8262
+-89.4721	41.8951	5895
+-117.6628	46.5575	8444
+-112.3103	27.4503	4510
+-119.218	33.8225	7382
+-85.3934	41.2135	4320
+-90.3098	38.4306	9071
+-122.3019	47.4297	8775
+-118.7387	35.0646	7638
+-83.4093	27.9596	8432
+-122.2787	46.1454	8475
+-122.3042	47.2282	8891
+-118.6377	47.4736	7758
+-118.7004	45.9852	8802
+-120.5267	47.2128	6985
+-92.8124	33.8803	3559
+-121.8452	45.5957	7706
+-109.659	33.1121	7663
+-94.4948	37.8028	4877
+-117.5296	32.3479	8936
+-94.572	40.4021	4571
+-106.1179	31.8796	4895
+-88.6767	38.0397	9384
+-111.4211	30.5589	7855
+-88.6522	38.628	8728
+-90.7622	40.9537	7014
+-122.7625	49.5098	6808
+-118.8756	33.606	7691
+-114.282	33.7782	6572
+-119.9199	47.4829	6991
+-112.5017	31.2626	7099
+-92.6278	40.4046	6419
+-91.477	37.1145	7304
+-117.7204	31.7231	8271
+-81.8721	27.6872	9584
+-113.4534	36.0495	4883
+-121.6267	48.428	7477
+-88.4595	40.2631	6786
+-120.2888	44.0222	6202
+-116.5847	35.3595	8007
+-123.5471	47.955	8308
+-110.4058	32.6969	8265
+-89.8929	37.3968	8515
+-80.7823	25.6866	7086
+-89.8456	38.6835	8840
+-118.0014	35.4105	7931
+-123.5558	44.6991	7013
+-83.8434	28.9782	7521
+-87.4171	38.9583	7718
+-113.984	30.9072	5803
+-92.4038	39.9051	6916
+-80.2347	25.7767	6781
+-118.4024	46.7829	8526
+-89.7048	40.7595	7138
+-124.6385	46.8223	7690
+-89.8717	37.3676	8530
+-117.6104	33.5536	8803
+-119.0237	45.9184	8453
+-121.9519	48.0802	7999
+-123.9699	44.1475	6293
+-89.9361	41.4512	6473
+-120.8091	45.35	6470
+-89.1994	37.9285	9247
+-119.635	42.495	5183
+-79.2714	27.7825	6655
+-116.0109	45.9414	6848
+-81.0171	27.3721	8553
+-118.8534	35.4716	7274
+-115.9042	28.5534	4852
+-79.1397	27.2856	6462
+-89.9532	34.1695	5670
+-118.4275	47.7861	7468
+-123.1905	42.8232	5043
+-118.443	46.4201	8882
+-80.8247	24.7342	6156
+-119.5155	33.251	6903
+-123.1174	46.0122	8531
+-88.3165	35.2723	7081
+-121.4253	45.5726	7377
+-117.7152	46.4689	8543
+-93.3517	41.6252	4970
+-117.7882	47.4514	7736
+-96.4696	38.3804	2852
+-115.5984	44.2352	5798
+-89.0703	36.2939	8238
+-88.261	36.5402	8430
+-116.8077	36.6106	6790
+-114.2815	31.2914	6308
+-112.973	30.4769	6373
+-89.9108	37.9065	8382
+-119.2103	28.9934	4808
+-120.5573	34.6538	5904
+-110.6031	30.4873	8251
+-87.8665	41.0139	5776
+-112.6852	31.7328	6920
+-113.5019	34.0863	5637
+-120.8844	48.9159	6526
+-91.3757	37.3354	7562
+-114.8318	33.9289	7068
+-118.1377	31.367	7674
+-126.255	46.6487	5904
+-88.5693	42.7594	4681
+-89.2433	40.0531	7558
+-89.2571	40.8692	6838
+-119.7629	42.9715	5595
+-114.2427	48.3546	4360
+-117.0468	38.344	4939
+-121.1064	45.1953	6837
+-116.9051	36.5835	6836
+-114.3903	34.8365	6308
+-121.3986	45.7352	7473
+-119.0134	33.7261	7581
+-117.2401	32.7024	9422
+-81.1326	29.6883	7441
+-86.6901	33.7314	4821
+-114.8256	34.207	6874
+-89.0931	40.7267	6880
+-90.482	40.2651	7788
+-83.8088	29.7623	6944
+-80.8546	27.7195	8445
+-114.8309	32.5485	7352
+-117.6324	45.0678	7968
+-117.228	32.4006	9205
+-123.5486	49.7491	6467
+-119.4774	33.1428	6895
+-114.7511	36.6734	5638
+-90.1879	35.4163	6828
+-117.7627	46.1253	8709
+-92.0231	38.5736	7647
+-120.0018	48.1144	6456
+-87.5233	38.7213	7985
+-81.849	27.7238	9567
+-118.9382	34.4626	7679
+-84.8649	31.1219	4998
+-108.1544	34.2004	5784
+-126.9731	48.9837	4613
+-115.5601	45.2404	6236
+-93.33	37.4018	5932
+-88.9099	39.611	7585
+-123.1886	46.2327	8740
+-118.9457	32.666	7539
+-123.6763	46.948	8753
+-84.4172	29.5062	6644
+-118.0984	45.243	8332
+-117.1173	33.7056	9044
+-87.7075	39.2322	7693
+-115.0333	34.0952	7101
+-121.0247	32.3402	5195
+-93.9746	37.8309	5429
+-109.471	32.9759	7699
+-125.5379	44.8064	5860
+-83.154	29.1109	7983
+-83.0553	26.708	8304
+-87.2785	26.4181	3875
+-87.0932	37.8539	7925
+-89.9106	36.2008	7728
+-127.4778	49.0438	4083
+-117.1869	46.433	8047
+-121.885	49.6023	6503
+-122.91	45.9943	8538
+-79.2992	28.0381	6671
+-78.9849	28.1001	6310
+-79.6861	28.8091	6883
+-119.6826	33.4671	6804
+-123.0032	45.1517	7609
+-123.6059	43.5224	5744
+-93.2558	39.3702	6257
+-111.6173	32.4726	7781
+-118.4908	38.7349	4344
+-89.541	39.5639	8162
+-120.3461	46.6107	7010
+-80.5374	26.2077	7368
+-115.2836	33.532	7713
+-81.5635	30.5024	6731
+-116.5797	44.2247	6577
+-89.1616	39.2046	8019
+-80.3062	28.8004	7517
+-89.3187	36.9511	8801
+-118.0448	31.2377	7620
+-82.4148	32.1366	4938
+-119.0206	46.4762	8384
+-121.349	34.3026	5081
+-114.5912	31.5845	6768
+-83.7426	27.433	8033
+-122.6389	48.7484	7628
+-117.521	34.6971	8863
+-118.8553	31.3867	7111
+-117.1513	34.033	9371
+-120.3559	36.0366	5580
+-115.8564	37.3616	5695
+-123.1358	46.4126	8945
+-107.9914	29.4337	6029
+-115.4914	46.1521	6303
+-81.5421	30.4854	6745
+-121.867	47.3273	8404
+-79.4309	26.7761	6636
+-82.328	25.926	7798
+-84.428	31.7245	4717
+-80.4828	24.7355	5988
+-117.9949	44.8894	7943
+-117.6216	44.4233	7352
+-116.569	34.5794	8635
+-118.2938	29.8344	6112
+-118.429	40.957	3811
+-92.8042	36.0687	5531
+-120.4723	44.3117	6267
+-125.2943	44.8024	6060
+-118.0356	28.722	5033
+-88.9175	36.4824	8476
+-111.9281	34.2071	6147
+-91.505	36.7664	6968
+-80.8155	29.7839	7166
+-119.4666	45.6596	7923
+-123.266	49.1812	7140
+-81.2232	24.0087	5518
+-122.4412	45.9318	8363
+-82.9332	25.1726	6821
+-89.6958	34.5382	6152
+-116.7584	32.444	9277
+-88.5782	37.9149	9465
+-91.8664	37.8871	7575
+-84.4428	25.2889	6060
+-124.08	44.4248	6527
+-116.2822	32.296	8794
+-78.7647	29.5335	5589
+-85.5864	29.1671	5677
+-114.6959	31.6315	6896
+-88.5977	42.5237	4925
+-114.0488	33.2545	6462
+-84.3344	29.0364	7018
+-108.7858	32.0442	7724
+-110.2387	32.8149	8135
+-80.6276	28.5405	7977
+-123.1154	44.3585	6731
+-119.5396	48.3228	6556
+-119.0079	33.1728	7369
+-119.8822	43.8452	6333
+-114.3568	41.7697	3070
+-120.6089	47.9537	6865
+-112.5449	32.6775	6800
+-111.5458	29.9081	7233
+-118.3649	48.0025	7244
+-109.9948	31.7724	9053
+-80.3495	29.0446	7410
+-115.0835	37.0379	5574
+-80.9469	26.3132	7770
+-117.3078	28.6072	5042
+-116.2235	33.7641	8331
+-87.7392	33.9456	5483
+-117.4761	35.4523	8081
+-118.2326	34.1411	8484
+-120.6342	44.3172	6136
+-123.8328	43.5572	5723
+-112.2567	29.4655	6374
+-120.8072	34.6644	5633
+-113.2025	31.5105	6364
+-92.8759	40.9246	5859
+-87.4463	42.8639	3976
+-117.0828	29.7396	6318
+-121.5026	48.1942	7563
+-118.3873	47.2379	8050
+-79.0359	27.2311	6336
+-89.9238	39.6513	8334
+-84.2707	27.0387	7338
+-91.5853	38.2259	8011
+-81.8284	25.6784	7505
+-120.9639	49.2552	6313
+-112.9889	32.581	6400
+-90.39	36.273	7414
+-119.3741	48.9333	6045
+-114.935	37.0235	5487
+-82.627	27.3086	9131
+-114.5934	32.6708	7101
+-80.4205	27.6448	7950
+-107.9135	30.56	6627
+-92.6997	41.7979	5298
+-121.7522	47.141	8331
+-80.1528	29.6452	6804
+-119.1163	32.1256	7234
+-119.5197	44.8294	7383
+-121.5218	31.6255	4501
+-111.6368	34.5911	5922
+-118.9413	34.4782	7673
+-91.2023	36.7537	7099
+-109.2997	31.0168	8197
+-113.3156	35.408	5009
+-120.3491	30.1808	4970
+-116.6026	37.6769	5605
+-81.8984	27.623	9581
+-91.0564	36.2063	6588
+-122.8569	44.9603	7402
+-122.9028	46.3008	8875
+-105.9195	31.0726	4659
+-109.8384	34.6462	6112
+-111.6666	33.2096	7195
+-117.1748	45.5326	7942
+-118.5289	33.2069	7830
+-120.6917	49.0501	6271
+-118.8994	36.6207	6292
+-115.5529	35.6566	7037
+-121.4299	49.5469	6344
+-89.3972	39.4038	8149
+-86.9961	39.0306	7306
+-118.0252	33.6841	8576
+-119.0422	35.5332	7071
+-83.1426	28.3036	8599
+-88.2263	39.391	7786
+-119.1197	34.9586	7325
+-110.6655	32.905	7997
+-109.8751	33.8994	6916
+-121.8064	32.2487	4317
+-87.8391	37.9442	8728
+-120.144	47.0371	7054
+-122.3373	43.3212	5554
+-122.2006	45.9418	8243
+-87.6912	38.1194	8505
+-89.4335	38.5697	8382
+-118.8227	32.8426	7682
+-80.1423	25.4547	6441
+-117.8168	33.1648	8728
+-89.9743	38.2489	8727
+-84.9386	36.7405	5394
+-87.6644	36.2021	7758
+-111.5829	32.8605	7538
+-82.6184	27.8375	9338
+-115.9187	36.8317	6248
+-90.877	39.0824	8783
+-118.7155	42.5294	5451
+-91.3214	42.2482	5521
+-118.0059	39.9254	3169
+-80.0141	27.9133	7489
+-82.1943	30.861	6391
+-116.1426	44.11	6165
+-117.6316	32.1281	8685
+-87.1257	40.157	6467
+-125.4558	46.5465	6761
+-91.8297	37.4453	7325
+-89.4676	38.6566	8432
+-117.5079	32.7824	9148
+-120.6723	45.0551	6499
+-81.1662	28.641	8417
+-90.5383	36.3088	7310
+-117.0984	31.8719	8689
+-108.0702	30.7977	6878
+-88.4584	36.339	8286
+-116.9381	45.3483	7629
+-111.074	33.9973	6738
+-113.8939	45.3005	4535
+-115.2281	34.1613	7314
+-90.7963	36.7868	7262
+-85.4944	28.3524	6033
+-112.0549	30.6711	7363
+-117.349	36.8796	6541
+-91.8056	36.8551	6871
+-87.1139	36.8121	7727
+-92.595	36.3585	5913
+-89.653	37.7129	8819
+-120.8746	47.5653	7286
+-92.6314	40.026	6638
+-123.0414	44.4983	6890
+-115.2222	32.9329	7803
+-85.8651	37.5801	6557
+-92.0491	39.8907	7248
+-90.3494	37.8777	8483
+-90.4546	39.2678	8861
+-115.781	33.9978	7911
+-105.2587	28.6386	3117
+-89.884	35.9433	7510
+-111.616	29.1654	6508
+-114.8316	30.8243	6496
+-109.1268	30.2726	7543
+-116.9759	36.5384	6895
+-116.755	32.5537	9376
+-87.9008	35.6014	7302
+-117.698	47.3777	7772
+-121.4564	30.6747	4204
+-119.6111	45.4118	7677
+-92.5955	39.3029	6967
+-113.5888	35.1781	5367
+-78.1533	27.2243	5348
+-122.223	45.8113	8135
+-117.8899	34.4274	8786
+-120.4287	48.0832	6627
+-117.4354	35.916	7585
+-89.2534	34.1204	5798
+-109.2614	31.4104	8297
+-109.9366	32.8858	7998
+-119.3393	43.6558	6441
+-111.4309	31.5468	8284
+-116.9309	33.0533	9486
+-105.4956	32.1242	4199
+-90.4057	37.7928	8392
+-125.1061	43.8633	5423
+-119.4768	44.6205	7247
+-88.0429	38.6645	8431
+-88.4385	37.3899	9334
+-120.9333	46.4383	7369
+-117.4233	30.0036	6574
+-89.5887	38.615	8556
+-120.6135	44.5977	6324
+-111.9803	34.6389	5713
+-77.9962	29.2628	4915
+-119.2355	46.1351	8251
+-120.6584	34.1475	5838
+-83.0242	28.397	8658
+-114.3495	37.7146	4499
+-119.5124	40.5164	3205
+-111.0251	32.7814	7975
+-84.9667	38.0638	5526
+-87.8843	40.1261	6881
+-120.6154	34.0031	5882
+-93.2919	37.9633	6177
+-118.2569	32.0945	8104
+-91.4874	41.4222	6308
+-84.2818	39.395	4420
+-86.8885	38.2205	7617
+-118.7091	33.3852	7765
+-117.0123	36.3013	7157
+-120.5445	45.0155	6605
+-114.8629	34.1409	6916
+-119.3261	30.9531	6399
+-109.3472	32.7973	7779
+-107.9246	27.76	4578
+-108.9288	30.7755	7718
+-123.4882	44.9514	7300
+-111.0273	33.7816	6976
+-114.5032	30.6977	6129
+-123.9459	48.7359	7348
+-83.1493	28.0677	8694
+-81.0564	29.405	7674
+-122.7993	44.721	7137
+-83.0582	29.5738	7596
+-116.019	31.0361	7503
+-78.3682	25.3725	4845
+-90.0152	40.354	7651
+-92.2877	36.0925	5900
+-117.3184	49.1305	5892
+-112.2395	33.5766	6485
+-112.9948	33.7566	5751
+-122.3323	45.4917	7870
+-122.2497	48.1289	8143
+-84.9714	39.4894	5089
+-89.9806	39.0816	8862
+-119.8124	42.887	5492
+-91.6584	40.7787	6842
+-108.3925	30.9465	7261
+-124.7022	44.4124	6172
+-120.378	32.5114	5933
+-88.5338	35.4443	7308
+-118.3063	37.7663	5416
+-117.8468	36.4417	6942
+-79.7833	30.5351	5784
+-117.2821	44.4812	7245
+-116.4816	34.963	8292
+-91.7859	37.3815	7312
+-86.5929	36.1688	6852
+-117.6447	32.9345	8985
+-116.8125	36.0806	7357
+-114.0905	34.1121	6234
+-121.4761	46.4469	7941
+-115.0205	47.4227	5532
+-123.4456	46.157	8534
+-83.6631	38.0773	4068
+-87.4425	37.8066	8320
+-118.9111	47.8096	7332
+-113.5266	29.9481	5587
+-114.3119	35.4959	5989
+-82.2467	29.4081	8031
+-113.6058	32.7293	6003
+-115.5911	31.6256	7723
+-90.361	39.5456	8566
+-116.6708	38.6654	4552
+-108.3857	35.9659	4277
+-122.2752	47.3149	8820
+-79.8711	28.3956	7236
+-119.5092	45.5195	7824
+-88.4599	34.733	6505
+-116.1393	45.4386	6884
+-107.7617	35.1959	4669
+-88.6593	37.0485	9112
+-81.7664	26.3803	8270
+-88.984	39.2117	7836
+-117.5891	28.624	5025
+-117.0714	34.9899	8579
+-117.9842	33.8658	8702
+-88.6941	38.8991	8429
+-121.7914	49.224	6843
+-121.9547	47.8096	8215
+-117.9552	33.43	8464
+-116.6981	33.0039	9388
+-90.1059	37.4201	7960
+-115.9452	33.6458	8285
+-86.8595	40.5388	5944
+-120.0921	43.8349	6191
+-85.0151	25.4113	5682
+-90.4659	35.2088	6462
+-109.6334	31.545	8714
+-118.2575	32.1034	8108
+-118.0526	37.6323	5626
+-121.1385	45.5688	7136
+-123.6577	46.8622	8766
+-91.0641	39.6372	8219
+-90.4381	38.9533	9197
+-109.1583	31.9822	8129
+-124.6321	44.0982	5925
+-117.8476	33.4425	8553
+-117.2326	46.8421	7898
+-112.7279	33.489	6158
+-116.6939	32.3114	9112
+-112.1146	33.1798	6882
+-124.7401	45.992	7319
+-118.5564	33.2975	7861
+-116.651	43.5078	6016
+-116.2204	33.474	8644
+-114.6129	46.7891	5305
+-116.4956	49.4217	5265
+-113.4494	31.2071	6073
+-90.4084	38.197	8828
+-117.5126	34.0705	9261
+-117.3459	32.7853	9328
+-80.9356	26.7238	8096
+-88.8105	40.701	6723
+-117.2558	46.1226	8172
+-118.1103	43.1031	6081
+-121.9736	43.0383	5172
+-115.199	36.9401	5735
+-83.2654	28.1893	8525
+-125.421	45.9339	6613
+-114.6636	45.3299	5341
+-89.5399	35.0157	6716
+-89.9378	38.8824	8923
+-81.4479	25.6465	7372
+-107.5606	32.4817	6316
+-115.0006	32.1737	7446
+-90.0677	37.0275	8188
+-90.2337	38.5331	9140
+-89.4899	36.7486	8504
+-93.0347	37.638	6325
+-86.9975	37.1824	7756
+-118.8118	36.1193	6793
+-84.4415	27.8973	7277
+-88.3351	40.907	6218
+-110.8809	31.6958	8868
+-82.4986	25.8531	7689
+-110.8668	29.0238	6641
+-113.5968	35.1372	5388
+-90.3581	40.3293	7722
+-90.2433	36.8559	7924
+-115.8395	32.7997	8495
+-114.6822	44.4445	5063
+-111.9317	32.0373	7673
+-120.5858	45.7689	6797
+-79.8669	24.6339	5518
+-119.5895	47.4249	7290
+-86.8631	38.6826	7393
+-94.6924	39.0051	4772
+-78.2237	27.1777	5419
+-86.4263	31.4405	3500
+-118.9999	32.2406	7396
+-124.3196	47.699	7851
+-118.1089	31.5141	7820
+-109.3678	29.7792	7257
+-90.9436	41.1673	6750
+-114.2164	29.2651	4743
+-123.315	43.9149	6223
+-84.1627	25.8826	6760
+-118.7286	47.3596	7846
+-84.5922	28.6444	6939
+-112.6536	30.4037	6653
+-89.7762	38.9034	8749
+-119.4551	31.3438	6527
+-119.984	34.7173	6506
+-124.3692	49.8097	6090
+-118.8195	45.1937	8145
+-114.5082	30.4492	5946
+-116.8789	28.7593	5226
+-120.3233	46.495	7060
+-124.5115	48.9738	6778
+-121.9557	47.1722	8544
+-112.3567	34.9269	5239
+-89.1274	36.6561	8611
+-110.7919	33.608	7224
+-121.6338	40.2822	2150
+-90.9756	36.7128	7138
+-109.8344	30.1616	7841
+-81.7611	28.8615	8584
+-92.2038	36.2413	6083
+-114.8545	35.3988	6567
+-77.7726	27.4444	4945
+-119.8751	43.5363	6065
+-85.8541	40.3653	5358
+-117.3227	33.3751	9014
+-114.5508	36.1636	5839
+-93.3392	40.4939	5725
+-108.7965	30.894	7649
+-116.592	43.5066	5981
+-119.617	47.3936	7293
+-121.4127	45.2831	7138
+-117.9241	34.1744	8819
+-86.9698	39.1885	7171
+-120.7312	46.8583	7221
+-119.6651	33.8473	6903
+-89.4249	38.2076	8858
+-119.4414	45.1397	7667
+-115.9805	37.233	5877
+-117.4085	32.3508	9037
+-79.9263	29.2917	6857
+-80.181	25.5526	6553
+-116.0254	33.0655	8667
+-119.2693	35.0442	7138
+-119.1481	35.3224	7110
+-85.0745	26.5125	6275
+-91.1492	35.4719	6179
+-123.5784	47.346	8752
+-82.6855	31.2487	5904
+-86.3332	41.6797	4546
+-89.7569	37.483	8685
+-123.1329	46.7956	9289
+-119.164	46.6324	8171
+-109.1762	29.0704	6476
+-113.3137	35.0695	5107
+-116.9726	30.8604	7571
+-88.5212	37.4559	9453
+-92.142	41.8877	5547
+-78.784	30.3311	5120
+-114.4795	44.50	4890
+-111.599	32.5519	7747
+-88.5077	43.1023	4316
+-78.9196	28.1759	6227
+-111.9984	31.2736	7639
+-123.2988	44.9795	7380
+-119.8836	45.8386	7543
+-116.89	47.7132	7003
+-90.3442	38.0653	8685
+-124.212	44.5957	6629
+-82.5141	29.6879	7677
+-111.654	29.8495	7112
+-83.0083	37.1548	3326
+-114.3698	28.6562	4283
+-90.9332	40.6626	7279
+-86.9474	36.2802	7248
+-116.7817	32.7779	9542
+-117.8787	33.4874	8567
+-89.7583	38.6799	8746
+-82.3623	26.0082	7886
+-124.2898	47.4107	8003
+-117.9357	32.643	8655
+-87.2177	35.3486	6686
+-79.1255	27.3988	6464
+-82.7913	27.2608	8953
+-120.8342	42.4584	4552
+-116.4309	33.9904	8613
+-85.8877	36.7261	6416
+-109.2423	30.2479	7605
+-91.7174	39.1175	7933
+-122.4964	49.6822	6590
+-116.1714	49.5902	4940
+-112.4301	32.1286	7126
+-119.2569	47.8157	7171
+-91.9427	39.4505	7582
+-124.2145	47.9718	7788
+-124.4939	46.7588	7840
+-115.4823	34.1481	7591
+-116.0151	34.8493	7965
+-118.4555	34.9677	7953
+-117.423	30.8451	7496
+-126.3055	46.7243	5855
+-86.5368	33.8568	4860
+-89.3882	37.9752	9036
+-86.7423	37.4451	7529
+-112.8237	31.7653	6768
+-91.5291	39.0038	8159
+-81.5052	27.0072	8778
+-117.9344	30.0202	6452
+-83.9005	26.9653	7697
+-89.4224	38.9147	8374
+-82.3511	25.275	7063
+-109.68	35.4689	5205
+-81.4226	29.2486	8033
+-121.8873	49.8836	6214
+-82.0957	30.0455	7314
+-116.4202	35.3072	7959
+-117.2064	33.0719	9362
+-108.9868	31.9338	7966
+-117.7356	34.1252	9026
+-121.1453	47.2314	7657
+-86.5298	37.3385	7278
+-84.794	28.3535	6810
+-121.3859	36.7583	4210
+-116.3457	31.6638	8292
+-119.1422	44.656	7481
+-118.5593	47.3395	7916
+-117.7718	46.2705	8690
+-93.8244	36.3531	4904
+-90.0371	38.2485	8768
+-92.8159	39.7912	6572
+-89.9351	39.7996	8194
+-110.6324	32.7248	8195
+-110.3615	33.1564	7769
+-110.927	36.1874	4444
+-114.8829	30.9933	6665
+-111.3075	29.1513	6635
+-82.0007	29.8164	7569
+-88.0902	39.935	7157
+-105.8547	32.9678	4395
+-109.8885	29.7894	7471
+-114.7249	29.706	5476
+-86.6888	33.619	4709
+-117.0677	45.457	7804
+-90.3818	37.9995	8615
+-117.6526	33.2167	8867
+-84.121	24.134	5208
+-89.8826	36.624	8101
+-117.192	34.0579	9422
+-107.9271	27.9285	4733
+-113.6023	45.1203	4195
+-117.3353	32.7366	9332
+-86.0561	41.0633	4936
+-116.0002	46.0629	6842
+-79.3659	24.2659	4844
+-115.9648	31.4012	7819
+-92.7323	37.2512	6421
+-119.6476	32.7234	6761
+-116.7596	31.6021	8379
+-109.543	31.9383	8535
+-89.3975	39.7664	7898
+-90.4468	36.8154	7701
+-113.519	30.6094	5864
+-83.238	26.9849	8361
+-88.2666	42.5984	4690
+-116.3317	35.2126	7980
+-80.8201	30.981	5964
+-89.9424	40.6844	7286
+-123.085	48.4429	7972
+-93.4193	40.2485	5775
+-121.6065	48.0476	7754
+-116.4426	33.5897	8711
+-88.4924	37.7718	9485
+-118.5298	32.4571	7964
+-81.6746	28.7365	8679
+-86.4353	35.5522	6283
+-118.7092	43.8219	6806
+-116.751	44.3603	6805
+-111.0193	37.1814	3363
+-81.8113	29.1391	8297
+-116.2456	32.4097	8829
+-119.1485	45.5411	8170
+-108.3335	34.2603	5853
+-86.8425	38.8583	7274
+-117.687	45.7279	8516
+-117.4747	35.4252	8110
+-117.3445	34.641	8978
+-122.2192	46.2438	8515
+-92.3647	37.015	6586
+-91.3574	32.1045	2928
+-92.9263	36.4444	5725
+-88.034	37.3551	8922
+-116.2147	33.1132	8851
+-117.7639	31.2076	7750
+-116.7879	34.4263	8926
+-116.3997	32.5315	9045
+-91.8554	39.8941	7415
+-116.3113	34.515	8416
+-111.3565	33.4395	7177
+-114.0654	33.2618	6479
+-83.3384	27.8619	8525
+-119.428	36.6938	5883
+-115.736	33.5904	8131
+-122.2806	46.664	8849
+-79.8191	26.803	7056
+-120.27	35.5714	5905
+-118.2362	47.1335	8165
+-111.0013	29.9744	7586
+-81.7386	28.9302	8502
+-91.1772	39.184	8449
+-88.9766	38.16	9213
+-113.2661	31.6701	6295
+-107.8786	32.914	6448
+-118.3627	31.9953	7946
+-81.5538	30.0092	7272
+-118.6542	35.7506	7213
+-80.2555	25.5575	6612
+-113.9092	35.5609	5558
+-112.3282	33.8284	6219
+-112.5528	28.6938	5526
+-89.0373	41.2171	6395
+-122.8174	41.2311	3304
+-84.169	28.657	7379
+-92.3021	37.5147	6965
+-86.9771	37.261	7756
+-89.1135	38.8087	8475
+-117.3862	35.5935	7940
+-116.5469	47.0613	7159
+-93.0975	39.0403	6482
+-119.666	35.7465	6384
+-107.9284	30.4729	6604
+-117.7104	48.6902	6451
+-92.2335	39.9604	7041
+-119.4577	48.6556	6282
+-120.4857	47.4653	6898
+-110.1459	30.0604	7811
+-85.7366	40.5326	5133
+-113.9099	33.5209	6254
+-92.0937	40.6231	6690
+-80.0547	30.0006	6440
+-88.9603	38.3582	9008
+-119.1946	31.7412	6993
+-127.1601	47.4885	4891
+-85.1945	33.8878	3979
+-87.8976	37.3296	8769
+-92.4254	39.875	6911
+-115.8966	33.4239	8380
+-116.532	38.86	4320
+-91.3711	38.7298	8359
+-118.2178	33.0412	8335
+-121.314	46.5962	7817
+-116.3513	48.8765	5678
+-117.7185	32.7798	8913
+-125.3108	45.7541	6641
+-125.3357	43.6825	5114
+-90.4735	38.9966	9141
+-121.5887	46.55	8095
+-110.53	36.8018	3816
+-88.3096	37.9025	9238
+-110.7684	36.1268	4528
+-109.8497	30.0514	7733
+-90.3919	41.0996	6892
+-80.6582	31.0982	5770
+-86.4699	41.5274	4772
+-123.2716	46.4626	8918
+-107.8668	31.4076	6794
+-122.456	46.4623	8868
+-80.8754	28.5992	8186
+-122.1757	47.6848	8485
+-82.8839	25.5821	7279
+-112.18	32.119	7390
+-88.7085	35.9671	7907
+-116.9852	35.9482	7534
+-124.0472	44.9672	7074
+-115.6603	35.302	7371
+-83.3131	33.8282	2906
+-116.0837	32.0544	8452
+-81.0451	30.2683	6806
+-114.6063	44.9587	5183
+-82.9249	26.4731	8177
+-84.9199	36.6596	5352
+-118.2741	29.679	5961
+-112.7619	31.9715	6809
+-91.9598	35.0835	5123
+-119.1507	42.9556	5806
+-118.9174	33.2724	7507
+-117.5529	31.419	8062
+-89.3509	38.6239	8303
+-110.52	30.0064	7753
+-117.1994	33.3884	9064
+-118.4696	46.4443	8846
+-120.0098	35.1546	6345
+-117.2222	49.4826	5506
+-126.0495	48.6118	5702
+-89.5306	38.3571	8412
+-117.3067	33.9152	9296
+-83.7142	27.443	8067
+-115.9377	30.3561	6778
+-87.6189	40.0265	6869
+-86.5123	37.5564	7282
+-117.7015	31.1289	7700
+-91.2982	38.3491	8348
+-79.1538	27.5701	6514
+-88.608	36.8137	8842
+-111.5834	28.9591	6324
+-117.6257	47.4253	7694
+-116.7674	32.5212	9355
+-86.2298	25.9902	4841
+-110.0583	33.8687	6980
+-114.9342	45.7905	5698
+-88.3233	36.2129	8110
+-86.8109	38.0402	7580
+-108.6089	32.0055	7550
+-120.6253	46.3837	7026
+-116.5119	49.0726	5596
+-115.475	34.368	7567
+-89.6781	35.7954	7479
+-116.7488	34.5945	8782
+-118.0444	35.0862	8196
+-123.1218	47.8875	8565
+-88.4957	40.7998	6421
+-119.0008	45.9044	8473
+-90.5453	39.651	8438
+-90.2477	36.6479	7798
+-82.5471	25.9492	7784
+-116.5137	30.8947	7550
+-125.4734	45.6357	6423
+-109.65	30.8008	8348
+-123.101	46.8873	9369
+-85.9654	37.5164	6666
+-90.9364	36.4348	6859
+-79.4782	28.111	6863
+-91.468	37.956	7975
+-117.5816	31.7231	8354
+-108.8107	31.3317	7802
+-89.3211	37.4601	9151
+-115.723	35.4758	7306
+-110.3335	28.9904	6664
+-114.499	32.0934	6885
+-114.9085	33.2979	7395
+-109.4691	33.3197	7372
+-79.2635	28.466	6551
+-81.7126	25.8987	7726
+-118.3928	31.8413	7826
+-117.1181	32.0799	8914
+-89.5792	38.5311	8526
+-118.5557	47.4822	7769
+-115.2255	35.0017	7118
+-108.951	31.8539	7947
+-121.8035	48.6283	7419
+-119.0102	34.0493	7634
+-122.1248	44.6558	6928
+-116.3049	30.4133	6972
+-117.5781	31.129	7751
+-87.6003	37.8943	8481
+-119.5254	37.5122	5104
+-90.3907	36.9532	7824
+-109.676	33.0595	7723
+-116.7906	45.2093	7420
+-87.9168	39.1595	7886
+-92.8323	38.7219	6785
+-110.0235	32.2629	8664
+-120.8752	48.2551	6969
+-124.5544	48.105	7400
+-117.2942	45.8138	8170
+-83.4185	30.5085	6467
+-80.6964	30.0904	6801
+-123.3896	46.0097	8425
+-108.3071	31.3549	7264
+-88.9905	37.2424	9277
+-118.5461	33.2696	7854
+-123.1874	47.7578	8681
+-118.3779	33.7281	8248
+-115.8334	31.1836	7536
+-120.6345	49.6041	5786
+-116.9732	43.7105	6374
+-112.2144	27.4779	4581
+-116.8074	35.0498	8420
+-125.7653	46.4391	6405
+-84.4643	28.4609	7141
+-117.1565	48.7558	6205
+-110.8627	34.2812	6495
+-120.933	47.8059	7257
+-88.2781	43.2323	4087
+-119.804	45.7621	7611
+-115.135	36.7943	5819
+-120.1162	49.2203	5671
+-80.3863	25.3441	6513
+-115.3014	44.3892	5620
+-116.2242	33.8272	8353
+-120.5443	45.4293	6763
+-83.80	29.7377	6972
+-117.4164	35.2199	8341
+-87.3621	37.2878	8182
+-116.1217	30.1233	6604
+-112.6689	32.3636	6806
+-81.402	30.0299	7202
+-90.6171	33.7172	4920
+-88.3973	36.2726	8197
+-117.1681	32.7098	9498
+-116.3001	30.8791	7467
+-93.0074	41.1259	5609
+-114.1077	32.1938	6489
+-123.0587	44.5249	6918
+-110.8951	31.9173	8765
+-83.0525	24.2245	5752
+-122.7621	47.2789	9231
+-81.964	27.8043	9696
+-86.329	40.6514	5489
+-81.9145	24.9231	6666
+-118.0544	37.8154	5430
+-119.4293	49.2032	5757
+-85.648	26.9605	5813
+-108.8205	31.7799	7821
+-111.6369	29.3792	6699
+-93.2219	39.218	6323
+-112.6616	28.1671	4994
+-118.4221	46.1248	9111
+-107.8176	31.9136	6725
+-83.2484	29.2373	7804
+-86.2749	28.1554	5186
+-86.9002	36.4525	7316
+-88.5506	36.87	8889
+-118.5448	46.0536	8979
+-118.336	34.5001	8305
+-118.9805	46.83	8191
+-114.9728	32.7557	7528
+-121.2101	29.1026	3463
+-79.6469	27.5744	7071
+-121.5846	47.9592	7796
+-87.4278	39.7973	6990
+-89.4268	38.1971	8864
+-108.6854	35.5823	4787
+-116.7954	30.6198	7295
+-118.5506	47.0212	8245
+-85.0421	26.989	6486
+-110.4873	33.386	7513
+-119.5628	48.6394	6249
+-114.4903	34.0195	6682
+-118.4046	42.2161	5145
+-115.8627	33.463	8326
+-83.8274	27.3283	7913
+-120.3142	33.1562	6047
+-122.2221	46.34	8592
+-116.9174	33.9941	9128
+-126.9948	48.5029	4801
+-108.4203	28.9365	5935
+-90.1169	37.3634	8262
+-107.1442	31.7999	6010
+-115.8724	32.7128	8527
+-90.5989	38.7292	9191
+-89.9597	40.7173	7255
+-120.2717	44.7701	6727
+-91.7664	36.235	6331
+-106.8008	30.6328	5510
+-89.1992	34.424	6144
+-117.1792	32.7519	9505
+-108.8158	33.5669	6768
+-90.1085	38.8794	9097
+-121.2959	43.8372	5743
+-116.5426	31.1563	7841
+-123.4436	49.7412	6500
+-89.6496	36.4747	8151
+-118.3296	30.6168	6866
+-113.5972	35.9474	5073
+-110.1671	32.9112	8024
+-116.8738	34.1022	9108
+-118.5197	48.3892	6823
+-80.1161	31.1615	5425
+-113.2174	29.5942	5678
+-116.953	46.6132	7750
+-85.0443	25.7784	5904
+-82.3552	29.0913	8373
+-116.6259	36.5412	6820
+-110.409	32.7234	8236
+-121.5693	34.1895	4844
+-121.1152	47.5964	7527
+-110.9068	27.8986	5433
+-116.2131	33.8644	8352
+-79.4441	27.4171	6824
+-118.5211	33.4507	7980
+-109.8774	30.0907	7783
+-92.5985	40.9812	6036
+-116.3181	43.0821	5446
+-119.3389	48.0325	6928
+-119.0797	29.86	5699
+-87.6972	38.2477	8449
+-120.2156	31.6169	5890
+-109.1028	29.7802	7108
+-117.1787	32.1605	8984
+-117.7352	31.2477	7804
+-79.7174	30.7881	5516
+-118.391	32.7349	8161
+-117.2643	33.4544	8797
+-89.4732	38.5134	8411
+-90.7555	37.4007	7916
+-113.3951	30.4252	5927
+-91.7639	39.8192	7542
+-118.6876	44.5779	7593
+-119.127	36.4281	6315
+-85.7869	24.3446	4229
+-120.018	46.887	7243
+-80.3381	25.3203	6460
+-117.8411	31.7827	8242
+-86.5896	39.4652	6645
+-85.0844	35.4385	4984
+-112.4829	35.9511	4199
+-121.9169	45.6812	7828
+-121.3767	45.2934	7120
+-119.0573	30.8223	6530
+-121.6758	47.499	8140
+-87.9686	40.1235	6915
+-115.9701	32.0694	8364
+-115.3604	33.8926	7442
+-78.0173	28.4723	5168
+-79.772	28.5134	7091
+-121.055	47.1057	7573
+-107.3473	26.888	3445
+-91.999	37.911	7462
+-116.3664	33.7586	8474
+-120.4292	48.1149	6613
+-90.4299	39.2238	8911
+-116.6482	35.8283	7570
+-116.3482	32.7532	9059
+-115.7743	33.0382	8400
+-78.1761	27.6507	5413
+-118.5531	46.3387	8879
+-82.3242	27.298	9320
+-93.0649	39.3599	6460
+-124.09	46.8017	8286
+-117.9975	32.7219	8598
+-115.7283	33.5272	8160
+-114.6416	31.4273	6732
+-119.1227	48.0394	7022
+-115.6344	35.9484	6875
+-118.0042	36.8617	6455
+-82.3506	27.7733	9646
+-116.4264	35.0029	8219
+-124.1499	45.7379	7681
+-117.5082	45.0463	7875
+-124.6286	45.5441	7147
+-109.2714	31.4589	8315
+-78.9186	27.2345	6206
+-121.3398	42.7478	4664
+-91.8816	40.8889	6610
+-122.5641	45.52	7975
+-88.1767	39.7919	7339
+-87.7325	39.6239	7330
+-112.7905	31.7422	6806
+-114.7445	45.8151	5501
+-80.9325	26.505	7922
+-114.2235	36.1209	5573
+-91.0381	40.6977	7210
+-90.6152	37.6624	8226
+-86.2198	40.0777	5878
+-115.6014	36.0597	6760
+-82.386	29.7763	7601
+-80.5128	28.2531	7978
+-117.5724	35.4785	8033
+-113.8742	29.326	4924
+-107.3435	31.5674	6234
+-89.2046	38.7106	8544
+-89.2491	41.6867	6031
+-119.4312	45.7495	7989
+-81.8517	24.8758	6606
+-91.6542	36.1084	6265
+-85.1702	25.9179	5870
+-82.3065	28.6399	8885
+-120.2929	33.0122	6018
+-116.952	33.5972	8860
+-119.5811	31.6715	6569
+-120.2066	35.495	6004
+-84.0346	27.1608	7635
+-84.6382	30.7414	5493
+-89.1384	40.9452	6704
+-115.7901	35.5857	7279
+-81.6035	28.6878	8690
+-120.1257	45.153	7067
+-91.2251	37.4156	7724
+-120.0313	32.066	6233
+-108.9431	32.4601	7693
+-88.4965	38.0032	9330
+-89.3447	35.6383	7448
+-119.7846	44.6566	7055
+-110.5378	32.0104	8960
+-107.6158	33.1745	6062
+-86.1977	37.9663	6912
+-119.5594	45.4662	7752
+-119.3475	44.8864	7551
+-119.1426	48.8061	6254
+-118.285	32.7106	8278
+-88.9829	37.1755	9213
+-89.3763	38.7362	8339
+-122.9274	48.086	8376
+-87.8693	36.2414	7925
+-121.5916	45.397	7361
+-88.6834	35.0932	6926
+-109.7124	29.8997	7529
+-118.9234	43.7745	6706
+-117.8359	33.8025	8820
+-89.869	37.4216	8548
+-82.7924	27.4797	9079
+-118.2463	45.8198	8961
+-81.493	26.2176	7996
+-93.1634	37.3858	6087
+-90.5412	37.5858	8158
+-90.8832	34.32	5371
+-122.8391	45.4159	7901
+-118.0951	47.9884	7251
+-118.4226	47.4616	7811
+-92.0923	39.0689	7550
+-114.1165	34.3882	6090
+-114.6171	30.6591	6195
+-119.7851	34.0597	6789
+-87.6561	35.4431	7026
+-91.5621	36.3656	6557
+-120.8522	48.3361	6900
+-117.0105	45.6233	7821
+-118.2797	32.6596	8278
+-81.5123	24.2321	5832
+-112.2053	32.8265	7039
+-122.4889	45.4557	7886
+-78.5937	28.9466	5671
+-82.9114	29.3314	7915
+-118.0871	34.0136	8633
+-116.9027	35.9346	7533
+-90.4514	40.2033	7856
+-115.9114	34.192	8058
+-86.6625	38.5412	7257
+-116.6816	31.4825	8231
+-116.0596	36.1839	6942
+-121.9018	44.1694	6343
+-90.3827	40.3517	7698
+-114.9639	44.078	5144
+-117.5103	46.399	8383
+-90.5964	35.049	6231
+-118.4429	46.5799	8725
+-110.4069	30.1218	7888
+-79.1179	28.7554	6302
+-120.9266	33.6805	5515
+-119.9614	44.5296	6826
+-87.7664	36.5771	8155
+-81.1081	28.7255	8304
+-89.6861	35.9147	7595
+-117.0638	45.6763	7893
+-81.1945	27.4035	8754
+-111.6658	35.8007	4682
+-118.792	31.7603	7400
+-122.5035	49.6277	6650
+-113.3027	32.3373	6154
+-114.8005	34.0756	6847
+-123.4472	49.5086	6749
+-120.7476	45.6713	6611
+-88.4567	39.0532	8220
+-119.9852	41.3349	3902
+-121.4678	33.4362	4892
+-119.2804	45.6052	8082
+-94.663	36.125	4013
+-116.9812	36.017	7460
+-120.004	45.6201	7369
+-117.0038	34.9561	8596
+-118.1879	31.2972	7578
+-82.5033	28.0367	9374
+-117.4532	42.1668	5003
+-122.2658	46.2839	8582
+-116.3952	32.8575	9114
+-123.304	46.0112	8466
+-81.3183	27.831	8968
+-90.4348	37.1942	7747
+-115.4684	46.6079	6231
+-90.5528	38.6808	9227
+-114.1161	43.6247	4127
+-121.503	45.3828	7286
+-88.5192	39.603	7623
+-81.7328	28.0082	9363
+-117.0051	36.3023	7155
+-79.3182	25.1161	5518
+-112.1743	32.1607	7383
+-88.3455	37.6087	9338
+-88.83	36.271	8248
+-117.1679	33.0058	9445
+-113.9527	34.3405	5916
+-111.0396	30.5216	8092
+-86.2414	38.7587	6727
+-109.1935	32.5449	7858
+-121.8611	48.871	7223
+-123.807	45.6137	7817
+-119.5447	46.628	7812
+-81.2453	27.9435	8868
+-89.0949	39.3835	7877
+-121.0338	44.2096	5949
+-117.7171	35.8138	7640
+-109.6159	30.9513	8438
+-91.2968	37.9146	8090
+-108.612	31.4002	7598
+-127.2605	46.8401	4814
+-83.3108	28.6657	8216
+-90.7765	36.9032	7389
+-126.3673	45.23	5346
+-87.315	29.3709	3756
+-92.3567	40.5714	6530
+-120.941	32.0208	5232
+-92.2772	40.8124	6406
+-81.8913	27.4195	9414
+-117.0776	33.0763	9438
+-119.6934	49.337	5521
+-123.9536	46.6727	8404
+-119.3512	40.429	3149
+-123.292	43.9451	6259
+-116.7584	36.6256	6763
+-112.7991	35.1297	4794
+-79.8345	29.1318	6868
+-89.744	37.6151	8716
+-89.7405	30.8846	2125
+-119.8486	41.2301	3843
+-115.5304	44.54	5909
+-115.8661	36.7644	6287
+-81.3624	32.4336	4541
+-118.7046	33.7655	7919
+-118.5627	33.5126	7970
+-91.0158	37.4166	7834
+-81.9323	26.4938	8435
+-109.6393	28.0247	5545
+-107.2379	32.1174	6070
+-88.1982	40.2704	6555
+-110.3747	34.3378	6489
+-91.3143	35.5527	6099
+-83.2633	30.1011	6958
+-83.7221	28.5682	7879
+-88.7953	35.7351	7647
+-89.1995	38.4741	8786
+-117.2221	32.5683	9355
+-116.1355	33.3545	8649
+-110.7694	31.2745	8895
+-118.3222	38.4022	4741
+-111.6233	31.1084	7984
+-118.5305	34.4085	8127
+-91.0655	38.0039	8335
+-84.6024	35.4222	4505
+-117.0686	31.8272	8643
+-82.98	25.7502	7418
+-116.086	32.7168	8764
+-85.263	29.8165	5660
+-115.2616	31.4666	7327
+-90.337	38.4268	9072
+-118.6044	30.3551	6455
+-90.4935	37.491	8062
+-114.7382	33.7589	7054
+-92.8044	38.5275	6804
+-116.5028	33.6777	8568
+-78.9095	26.8895	6113
+-81.3009	28.432	8687
+-124.7933	48.3974	6999
+-90.6231	35.785	6848
+-123.9552	49.1993	6893
+-88.3826	37.7261	9379
+-89.4738	37.5771	9015
+-118.0735	47.0083	8273
+-89.0694	38.096	9225
+-88.0467	37.8116	8991
+-91.0092	36.0976	6487
+-117.6756	30.554	7108
+-118.3427	44.8554	7941
+-122.6422	46.044	8554
+-88.5779	36.7179	8730
+-117.245	34.924	8675
+-81.6633	28.7267	8683
+-118.1982	35.2904	7917
+-92.2188	35.0298	4953
+-90.4247	37.6017	8186
+-90.4864	40.6531	7370
+-125.5293	46.7783	6710
+-117.3653	48.5759	6464
+-116.8191	33.3676	9117
+-118.055	34.1433	8678
+-124.3869	45.2594	7119
+-119.1615	43.902	6754
+-112.4773	31.8062	7138
+-91.6116	35.7558	5936
+-89.5416	37.4435	8910
+-116.502	32.4279	9077
+-121.1913	45.8409	7358
+-118.3968	33.5817	8166
+-116.1669	34.8554	8103
+-115.5275	33.5951	7928
+-84.7326	27.1485	6870
+-116.8913	48.1883	6603
+-125.3618	46.4395	6840
+-122.9107	47.6842	8818
+-116.7257	46.1162	7611
+-80.2578	24.3559	5489
+-117.1402	31.7199	8514
+-83.7186	27.9083	8092
+-125.2675	46.0863	6831
+-87.3802	37.0859	8128
+-117.6181	33.6791	8911
+-88.4922	38.3034	9036
+-116.5395	43.3077	5774
+-107.7585	33.2384	6157
+-79.2819	27.2306	6610
+-88.4637	36.9046	8895
+-91.6648	34.5084	5004
+-108.6607	31.3717	7647
+-117.7714	47.0478	8120
+-124.6403	46.4767	7620
+-85.9652	26.0275	5132
+-108.4177	33.578	6477
+-120.6083	45.9529	6793
+-119.2559	45.7473	8165
+-118.1826	47.5875	7682
+-88.7567	35.7103	7620
+-113.2074	33.9084	5468
+-118.8112	48.2891	6876
+-124.4021	44.7189	6636
+-88.1725	36.7278	8569
+-120.0816	34.6733	6411
+-93.2726	39.2962	6255
+-115.5589	34.4006	7652
+-90.7088	36.4379	7236
+-121.0038	42.3762	4376
+-109.377	32.951	7665
+-119.618	31.8682	6612
+-120.3423	33.8361	6167
+-115.0508	34.9649	6956
+-118.0213	30.8421	7256
+-120.2651	46.8578	7013
+-88.0281	38.5277	8541
+-121.0195	47.9048	7297
+-91.4763	40.0877	7562
+-109.5674	33.8234	6909
+-113.7631	37.2167	4447
+-125.8352	47.858	6236
+-83.8189	29.5755	7095
+-116.2436	34.7632	8227
+-115.2487	46.0884	6047
+-81.9979	26.8727	8870
+-86.5558	35.6225	6436
+-85.1304	27.5022	6488
+-121.1522	46.4803	7613
+-115.608	46.6725	6363
+-84.7073	29.5642	6341
+-122.2872	47.8031	8467
+-115.7343	37.09	5905
+-115.1201	35.9365	6480
+-77.296	26.4604	4224
+-88.7195	37.5944	9719
+-88.4808	37.9721	9345
+-113.0745	29.648	5838
+-116.9551	42.0206	4717
+-117.3624	34.7905	8813
+-84.0537	41.6711	2872
+-87.3843	38.1089	8186
+-113.9043	34.80	5799
+-85.6418	37.0238	6234
+-87.0072	37.0619	7727
+-92.3355	39.7874	7042
+-126.4065	47.4045	5724
+-123.4628	46.9974	8987
+-118.0555	32.8249	8538
+-88.4989	40.418	6712
+-110.4759	31.0587	8885
+-111.9318	32.5817	7432
+-120.5717	45.5715	6773
+-117.8007	31.6446	8148
+-81.8549	25.2916	7075
+-116.7648	46.5041	7596
+-89.8163	38.0264	8434
+-114.4433	30.1723	5676
+-84.8245	26.5383	6546
+-116.0901	30.8553	7357
+-90.9621	41.0451	6873
+-115.4364	48.3032	5448
+-111.8115	30.7549	7638
+-122.0203	46.1632	8297
+-112.9249	33.0302	6258
+-91.7153	36.5243	6629
+-123.5172	49.3532	6898
+-89.0395	37.5629	9488
+-114.7901	31.9528	7141
+-116.3047	26.8229	3027
+-118.9246	45.7385	8481
+-118.2932	33.9174	8394
+-118.5764	33.7662	8054
+-79.7592	29.4474	6601
+-120.3205	34.5067	6182
+-119.8514	35.9975	6062
+-84.4154	28.2385	7256
+-109.2181	33.6694	6911
+-89.7562	33.784	5318
+-111.8518	32.6208	7481
+-88.984	38.792	8528
+-117.3593	42.6321	5460
+-119.6276	48.6335	6223
+-119.4131	41.0389	3768
+-90.4841	37.9878	8596
+-119.3447	43.5079	6294
+-90.7824	36.8724	7355
+-124.0434	43.4737	5568
+-90.6568	38.4248	8966
+-117.5037	31.4224	8086
+-119.0623	34.8294	7437
+-82.7401	30.0083	7265
+-116.5517	35.8457	7514
+-89.2074	34.272	5973
+-80.0542	27.011	7390
+-111.4392	27.9173	5325
+-120.3601	35.4251	5881
+-90.0946	38.3703	8910
+-121.8757	45.7553	7863
+-90.0007	37.7729	8293
+-115.1306	29.5925	5614
+-88.1331	35.0602	6805
+-83.08	29.5719	7586
+-121.2504	45.7243	7337
+-79.3317	28.3484	6655
+-113.8493	45.7836	4553
+-109.9376	35.2257	5504
+-119.7746	43.6581	6230
+-124.2395	48.9365	6989
+-124.0608	45.8857	7864
+-91.9925	40.969	6470
+-116.8074	34.9364	8529
+-89.6791	38.0334	8711
+-117.0075	46.4268	7866
+-90.5087	38.9089	9206
+-110.7489	32.0267	8815
+-87.3199	35.8217	7184
+-108.8898	28.665	5946
+-115.6106	46.4225	6409
+-88.6472	39.6719	7306
+-83.7985	26.1158	7240
+-126.3905	49.10	5112
+-121.6488	46.5535	8159
+-91.1036	39.1552	8534
+-92.4812	41.3804	5798
+-120.2534	46.5252	7126
+-119.3352	34.3015	7274
+-115.6102	33.3956	8108
+-109.5604	32.9432	7779
+-117.8833	32.5725	8695
+-118.4928	35.101	7834
+-113.2939	28.6753	4977
+-82.4238	25.7968	7640
+-115.988	31.9817	8318
+-124.5633	48.3099	7257
+-90.1988	36.9578	8022
+-108.6283	33.2268	6908
+-119.6977	45.199	7485
+-92.3151	40.8866	6320
+-107.0806	30.3441	5702
+-118.341	37.3888	5798
+-88.5445	34.4062	6147
+-87.006	37.2329	7780
+-118.0311	48.1126	7112
+-117.5393	34.8346	8717
+-88.9338	38.18	9208
+-111.9828	31.2203	7644
+-122.5138	47.6825	8712
+-110.3225	31.1891	9046
+-123.6297	47.6981	8471
+-114.5262	32.642	7024
+-115.777	34.0592	7911
+-121.7053	45.6906	7686
+-118.1704	34.1244	8552
+-90.4308	40.1486	7916
+-112.6825	33.6651	6073
+-116.5392	46.0209	7412
+-116.9126	32.0283	8872
+-110.3204	32.8683	8081
+-107.3162	30.4103	5966
+-92.084	35.4596	5432
+-109.1181	32.2993	7945
+-91.9329	35.8482	5879
+-109.8303	27.4218	4932
+-116.676	30.1017	6707
+-107.7637	28.6749	5269
+-87.8354	35.597	7268
+-119.6098	34.8194	6875
+-87.5535	36.2295	7705
+-119.4477	35.6655	6630
+-123.7917	46.814	8612
+-121.4017	44.808	6719
+-86.6778	35.0934	6095
+-123.6609	48.8424	7382
+-122.7069	45.57	8057
+-106.6535	33.7278	4859
+-117.7315	35.7319	7722
+-124.2174	45.251	7230
+-91.5743	41.7565	5939
+-89.272	39.9768	7640
+-116.9587	47.1511	7470
+-87.6499	38.1147	8464
+-91.0872	33.566	4527
+-120.5079	48.3639	6563
+-126.2745	45.805	5685
+-115.673	34.5285	7747
+-111.9132	35.0551	5341
+-115.0325	32.2001	7489
+-81.0807	26.2803	7832
+-115.2364	28.9537	5032
+-125.9686	43.2451	4307
+-114.4488	34.7066	6401
+-116.0858	32.8178	8770
+-87.7143	36.0751	7674
+-117.9412	34.5527	8671
+-118.0529	46.4515	8815
+-116.3973	48.3262	6170
+-89.9375	35.7049	7251
+-89.6631	34.7059	6343
+-119.2091	48.0392	6985
+-94.0104	38.8991	5512
+-117.4552	47.892	7170
+-118.5775	32.0335	7755
+-118.129	45.6722	8779
+-125.7303	46.6479	6477
+-87.1713	40.4405	6223
+-84.6585	28.7103	6843
+-109.2794	31.0107	8174
+-82.4407	26.4498	8363
+-114.0887	31.576	6257
+-85.2317	37.0829	5793
+-83.5024	28.1861	8272
+-91.1017	39.5885	8234
+-81.0691	29.7394	7356
+-120.1855	45.5008	7148
+-92.1223	39.0261	7526
+-120.9954	47.7373	7349
+-121.5886	46.2793	7980
+-80.3348	29.4055	7140
+-85.0626	25.6805	5824
+-90.7567	42.0949	5797
+-117.1052	34.1444	9361
+-125.4432	47.1725	6803
+-115.4324	32.8132	8042
+-115.9035	32.3074	8438
+-120.0956	46.9741	7130
+-116.2176	30.0779	6586
+-116.5354	33.8605	8687
+-90.7622	41.5792	6348
+-109.1231	31.688	8158
+-120.2856	48.2363	6413
+-117.645	49.397	5704
+-111.7057	31.1458	7913
+-119.2708	47.4957	7450
+-120.5261	47.3691	6961
+-108.1906	29.9316	6542
+-81.9873	25.1224	6896
+-116.5349	32.2528	8961
+-111.4625	31.9572	8185
+-118.4646	44.0825	7115
+-122.2467	47.1672	8855
+-121.9632	42.8571	4976
+-90.5929	43.3235	4490
+-81.4171	28.6076	8643
+-115.1954	35.0295	7076
+-117.6898	33.1109	8882
+-119.5986	46.3914	7834
+-123.1123	47.5536	8920
+-88.0137	37.714	8968
+-82.4615	28.8517	8610
+-116.6688	35.6175	7792
+-116.7563	33.5072	8948
+-88.7621	38.0523	9381
+-89.5833	36.2461	7976
+-92.2597	41.5884	5757
+-117.7128	34.7563	8702
+-121.0452	33.296	5316
+-117.4558	48.9895	6077
+-118.4226	46.1786	9091
+-119.7976	46.1481	7656
+-119.2742	45.3268	7929
+-118.9304	44.5544	7486
+-114.8121	30.1642	5941
+-113.5387	43.3935	3476
+-122.8008	47.241	9286
+-118.5463	45.5767	8640
+-118.9344	34.8185	7571
+-88.8425	35.752	7665
+-118.2177	33.3121	8167
+-91.8114	38.9027	7876
+-121.4164	48.1365	7530
+-89.9406	36.0677	7589
+-118.5418	45.518	8586
+-88.6849	40.0868	7095
+-89.856	40.4084	7549
+-120.1983	32.2424	6092
+-88.422	33.5453	5173
+-117.9951	31.7225	8078
+-91.3113	40.4694	7318
+-89.9454	38.8541	8939
+-112.0159	30.6796	7404
+-112.8777	34.539	5248
+-109.3668	32.5174	8017
+-117.6535	32.2366	8750
+-89.1373	41.0178	6635
+-112.3946	32.5754	6995
+-117.4075	43.3211	6175
+-115.6011	47.6406	5985
+-118.2178	34.2642	8491
+-89.1142	36.2704	8201
+-119.1385	30.5843	6279
+-82.0529	28.1064	9497
+-107.9164	33.0963	6384
+-88.8915	38.8277	8504
+-124.2037	49.8031	6176
+-91.2314	39.3323	8316
+-115.107	34.5869	7131
+-120.9556	49.4792	6116
+-81.8933	24.1584	5801
+-119.1786	43.3823	6230
+-88.1966	36.497	8355
+-84.5032	38.9042	4832
+-90.2217	35.0598	6465
+-88.287	38.2631	8955
+-110.658	27.7599	5316
+-116.5408	33.9535	8722
+-113.3219	31.446	6232
+-90.0717	38.6965	9084
+-119.4816	48.877	6057
+-83.3282	27.088	8338
+-120.5777	32.2482	5675
+-120.626	35.5302	5569
+-80.4716	26.8284	7733
+-118.0772	35.353	7940
+-110.637	29.2646	6940
+-124.7997	43.0534	4827
+-106.5785	32.1329	5362
+-122.2363	49.2189	7026
+-111.1752	31.5479	8561
+-114.5343	28.1431	3876
+-79.5162	30.0376	5972
+-116.4637	46.1815	7331
+-118.9361	36.0583	6758
+-116.2332	48.5137	5907
+-115.9617	36.0832	6979
+-117.1492	42.9467	5711
+-123.528	45.4349	7787
+-90.6627	35.4131	6510
+-108.4314	33.6983	6392
+-117.7585	41.2269	4070
+-116.687	47.7776	6808
+-81.0242	24.2647	5737
+-87.6712	40.0786	6841
+-109.9206	31.9668	8863
+-82.4717	24.4605	6133
+-116.5669	34.4834	8684
+-121.6026	46.4091	8055
+-113.0409	32.6429	6323
+-107.5229	31.1412	6391
+-103.8601	31.0626	2437
+-90.3699	39.0781	9070
+-108.6602	32.7084	7289
+-112.3754	29.603	6392
+-88.1729	40.2318	6859
+-116.6732	45.7591	7518
+-90.0169	42.5247	5337
+-113.2118	30.7931	6239
+-89.902	36.6357	8094
+-83.3816	26.727	8055
+-119.1189	33.9835	7511
+-121.7196	46.8664	8305
+-81.0214	26.086	7613
+-110.9452	32.611	8178
+-121.4062	44.7503	6670
+-84.3028	29.6777	6621
+-119.2346	46.9484	7911
+-112.6946	27.1689	4049
+-118.3956	36.47	6707
+-120.1506	32.4666	6180
+-112.7566	46.1237	3407
+-88.0349	39.079	8029
+-119.2756	31.8815	6974
+-124.3201	47.199	8025
+-114.7283	35.5845	6348
+-93.9865	39.0482	5527
+-79.0173	29.3327	5947
+-111.4097	30.6653	7941
+-120.6375	49.1326	6165
+-87.0999	26.6652	4137
+-82.2907	28.6645	8861
+-88.9351	39.7093	7552
+-118.2022	34.5672	8413
+-116.3398	46.3579	7184
+-83.562	26.681	7862
+-117.036	43.2418	5958
+-117.8906	32.5693	8686
+-90.5391	36.7713	7285
+-124.3907	46.5632	7910
+-117.2575	34.7108	8908
+-115.0278	45.9198	5807
+-123.0416	49.2661	7075
+-115.9746	33.3943	8472
+-115.8841	31.9626	8215
+-116.0838	36.3704	6778
+-114.2685	29.8363	5269
+-119.1033	47.3421	7684
+-87.369	28.5412	3905
+-119.9389	29.0487	4400
+-88.3013	35.8725	7735
+-116.8901	32.8377	9664
+-91.7632	37.0513	7066
+-80.8597	29.4874	7470
+-115.5249	31.5682	7626
+-119.7522	39.6951	2893
+-114.0788	32.6999	6529
+-111.2827	31.1103	8324
+-122.0792	46.9439	8704
+-88.4377	35.6793	7555
+-117.9255	32.5306	8637
+-111.9921	31.776	7664
+-87.4355	37.7203	8320
+-118.2314	48.097	7145
+-90.8116	34.9669	6014
+-116.212	30.474	7008
+-117.3573	45.461	8069
+-89.665	40.5629	7323
+-115.003	31.8204	7297
+-117.5063	34.6853	8881
+-124.0746	45.6435	7662
+-117.3562	33.7025	9058
+-84.3102	28.2584	7368
+-114.4428	33.0871	6922
+-93.4929	35.7577	4773
+-115.8061	30.9723	7322
+-94.2466	34.6519	3354
+-110.0576	36.0164	4661
+-78.3574	29.5067	5189
+-94.4968	36.8425	4537
+-119.3625	47.7641	7160
+-120.0323	43.196	5670
+-83.3782	26.7129	8047
+-110.8654	28.6496	6243
+-117.7045	46.1071	8647
+-118.1979	34.3571	8493
+-110.1563	30.4123	8190
+-80.4196	29.4468	7177
+-89.2276	39.9857	7601
+-80.3779	26.0504	7115
+-90.6856	38.8685	9074
+-115.9775	35.9773	7084
+-88.7731	41.4844	6004
+-122.1184	47.1083	8733
+-90.8698	35.524	6445
+-118.0412	30.3232	6724
+-125.309	46.7408	6948
+-115.1493	34.6598	7158
+-115.8056	31.8622	8077
+-111.3487	34.4383	6190
+-116.5126	32.6334	9207
+-122.2195	48.481	7782
+-123.1088	49.018	7341
+-116.1169	33.2847	8671
+-77.4828	30.1679	3971
+-86.2112	34.7864	5493
+-123.1298	47.9568	8489
+-109.3086	30.1366	7553
+-90.9106	34.4798	5504
+-123.1583	47.1766	9240
+-124.0433	48.0495	7876
+-86.2195	39.2436	6452
+-126.3277	47.4624	5801
+-120.5024	34.9033	5910
+-83.1206	27.4829	8730
+-119.3771	31.3028	6578
+-90.0264	36.4028	7812
+-118.6595	46.97	8257
+-117.3029	47.9657	7028
+-113.1291	28.0749	4613
+-87.2665	39.2804	7341
+-118.3773	31.9654	7915
+-126.5216	47.2733	5613
+-117.8839	33.4005	8493
+-86.9987	38.9137	7386
+-118.3324	32.8121	8229
+-119.1206	45.6077	8232
+-118.7894	44.3517	7333
+-116.8564	39.4783	3690
+-118.411	34.0721	8288
+-90.9352	36.9885	7435
+-117.3115	34.9979	8593
+-87.3932	38.3402	8098
+-115.448	31.5012	7512
+-76.4766	28.6539	3414
+-89.424	36.5443	8356
+-115.0052	36.2438	6164
+-109.3713	27.7054	5145
+-83.4607	27.2689	8289
+-120.7634	49.0936	6294
+-89.0576	38.077	9250
+-86.5774	35.4956	6355
+-117.9884	36.0692	7284
+-84.6454	27.5351	7038
+-122.0498	45.6032	7841
+-79.579	26.9259	6850
+-118.0334	49.9318	5194
+-117.894	33.1019	8671
+-115.1897	31.5323	7307
+-88.3319	39.0302	8208
+-123.6921	44.9585	7235
+-110.6424	28.0178	5596
+-89.4274	37.4487	9034
+-118.0451	38.6002	4592
+-112.3852	36.3487	3852
+-118.686	45.7085	8666
+-87.5772	39.1926	7643
+-119.3254	37.4166	5311
+-121.8849	45.2029	7370
+-112.2907	32.1273	7272
+-124.6672	45.5349	7108
+-120.6538	46.4728	7080
+-79.3204	28.8903	6465
+-115.6736	46.4782	6468
+-88.419	41.4547	5821
+-86.4234	26.3238	4772
+-88.1466	38.1046	8963
+-116.1103	35.0281	7943
+-117.9097	33.5183	8567
+-124.2913	47.2098	8054
+-81.8766	29.4412	7976
+-117.7762	46.4568	8604
+-121.7492	44.2255	6340
+-83.4008	25.7114	7161
+-114.9274	36.2845	6071
+-116.598	34.3805	8760
+-87.3407	34.3566	5770
+-119.8326	37.5607	4868
+-116.8501	33.0399	9472
+-90.7044	34.5539	5700
+-116.8051	33.9207	8984
+-121.3761	45.3212	7142
+-85.0401	25.9206	5997
+-81.2587	27.3206	8782
+-115.8748	46.0203	6708
+-88.3675	39.8037	7374
+-87.132	41.1552	5490
+-117.5285	34.3044	9197
+-90.503	36.9303	7459
+-87.539	39.3983	7432
+-82.0439	27.9068	9704
+-109.5611	32.7986	7914
+-89.0976	38.3633	8949
+-89.2748	38.1135	9055
+-79.566	28.5539	6854
+-122.6016	48.6923	7682
+-120.2425	45.6546	7133
+-90.4419	37.4276	7998
+-80.2878	26.7629	7516
+-115.5895	34.9437	7506
+-123.5297	44.6967	7018
+-91.7366	42.6473	4978
+-117.5196	34.2835	9217
+-116.0242	45.3474	6739
+-111.8786	33.8717	6482
+-116.3149	33.1327	8945
+-112.3024	31.8327	7323
+-93.1795	37.6492	6185
+-111.6967	31.6278	7996
+-109.7962	33.2212	7606
+-120.9718	45.3398	6835
+-117.2051	33.7073	9068
+-119.0928	30.5248	6266
+-117.817	32.9382	8795
+-119.2757	33.0398	7043
+-82.2283	28.6689	8866
+-78.7793	27.8976	6095
+-120.2562	45.85	7154
+-115.7469	46.2635	6569
+-91.3119	37.1812	7459
+-89.8746	38.339	8720
+-96.3572	37.4335	2831
+-82.913	27.1819	8790
+-90.8229	40.5922	7383
+-87.5105	38.3504	8209
+-112.3806	29.9264	6620
+-112.1938	29.8285	6703
+-79.7059	25.4142	6068
+-87.6578	37.7275	8569
+-110.3203	27.8543	5433
+-123.3409	47.2239	9045
+-123.3404	44.8842	7268
+-84.369	29.2243	6873
+-107.3228	32.965	5885
+-85.0544	39.1127	5343
+-117.3085	29.9781	6564
+-125.2275	46.8169	7044
+-108.6371	34.643	5683
+-91.4511	42.366	5361
+-89.9874	37.5488	8438
+-116.1137	45.3767	6838
+-89.6523	39.909	7947
+-85.989	28.5619	5438
+-90.9396	39.1897	8660
+-112.2366	31.7591	7403
+-112.1441	29.6938	6638
+-123.2291	45.518	7974
+-117.4222	35.0691	8503
+-115.4915	32.4832	8066
+-81.7326	29.5633	7810
+-116.0307	30.6561	7127
+-89.7762	32.0216	3379
+-116.0552	33.4485	8516
+-90.5054	40.6884	7331
+-81.7472	27.9882	9389
+-82.814	27.4257	9031
+-88.8258	36.9743	9036
+-92.9328	40.1842	6271
+-117.5125	31.0013	7639
+-121.6517	44.6232	6689
+-87.5313	36.7033	8057
+-81.9369	25.2547	7042
+-88.8355	38.3605	9032
+-118.2946	30.3321	6611
+-81.2023	27.9678	8815
+-83.4938	26.6663	7913
+-109.9186	31.9438	8878
+-115.5537	31.9975	7931
+-118.0454	33.1629	8489
+-84.8639	27.2477	6748
+-109.4846	30.2356	7748
+-117.4068	31.9193	8638
+-120.3597	44.5803	6535
+-86.8832	37.7785	7697
+-114.664	30.1121	5791
+-77.5611	28.4568	4661
+-113.2202	35.5919	4846
+-118.7942	47.5037	7679
+-125.5239	45.9253	6505
+-115.3377	33.0119	7923
+-111.4384	31.849	8242
+-86.622	35.9262	6715
+-86.5721	38.9001	6989
+-120.5577	43.6846	5747
+-80.4928	24.9459	6201
+-117.9308	32.5146	8626
+-118.6245	49.2555	5899
+-111.8849	30.5078	7428
+-88.1812	35.381	7167
+-87.1355	37.8102	7977
+-123.357	46.3414	8755
+-91.2275	36.4377	6771
+-117.3611	46.0063	8279
+-88.7906	36.3125	8296
+-116.1325	30.1665	6654
+-122.6378	44.3705	6739
+-116.7773	49.9024	4929
+-115.4357	31.0197	7120
+-91.9011	34.1092	4493
+-122.7085	48.1824	8254
+-93.1711	37.245	6010
+-115.9957	45.4998	6756
+-122.9006	48.8917	7491
+-119.579	45.0993	7527
+-119.1501	43.8843	6741
+-91.9584	39.7997	7384
+-117.3285	32.4152	9150
+-122.4335	44.9308	7312
+-118.4794	45.6425	8733
+-106.9073	31.5012	5761
+-122.449	44.0123	6323
+-108.77	32.3783	7573
+-90.0356	35.6936	7182
+-89.2956	38.3741	8823
+-86.0056	29.435	5122
+-117.3912	44.7804	7574
+-88.1948	37.9655	9091
+-116.0009	31.489	7922
+-121.7321	46.6584	8279
+-113.1077	30.852	6365
+-88.5241	38.3538	8996
+-115.3595	30.8114	6887
+-89.1068	35.8679	7761
+-113.0975	32.3703	6360
+-110.9632	34.9702	5741
+-119.9895	42.5332	5073
+-82.9621	26.2138	7901
+-109.5026	31.2499	8504
+-113.0078	29.3436	5694
+-124.528	46.0622	7560
+-115.8787	47.5235	6301
+-122.4397	33.3344	3828
+-87.7538	35.8805	7511
+-80.9228	27.8793	8517
+-122.4848	32.1367	3551
+-123.5758	47.4503	8693
+-118.3735	33.2929	8022
+-116.0599	33.3708	8568
+-110.912	31.7221	8829
+-117.5612	30.6983	7299
+-118.4669	46.0082	9043
+-118.6951	38.0116	5029
+-118.4702	30.8184	6963
+-88.7746	37.8858	9568
+-82.6472	25.2014	6933
+-116.3496	43.4535	5789
+-107.9652	33.7382	6005
+-120.854	35.5162	5344
+-119.8213	37.3343	5070
+-90.4727	36.4711	7477
+-115.6845	36.6142	6328
+-118.0886	33.3423	8293
+-88.9731	36.1563	8105
+-117.1589	32.6261	9451
+-79.8142	26.8152	7056
+-93.0669	41.314	5424
+-125.6252	49.2964	5667
+-116.6512	32.2387	9018
+-116.407	46.6092	7201
+-83.4498	32.6656	4153
+-109.2715	28.4366	5875
+-91.1054	36.7947	7178
+-119.1524	47.0516	7896
+-80.803	29.52	7402
+-117.7473	47.0515	8104
+-118.3818	34.0607	8319
+-113.8545	34.9646	5707
+-90.3663	35.2628	6574
+-120.4784	43.5708	5714
+-76.8943	25.3072	3345
+-89.0473	35.6778	7561
+-113.3158	34.9106	5146
+-117.3602	46.0649	8282
+-123.2512	44.8521	7251
+-90.0837	36.5466	7875
+-118.4079	31.3404	7452
+-106.5401	31.767	5359
+-119.2843	35.1989	7049
+-92.1992	41.1677	6165
+-120.6938	45.2086	6539
+-117.3278	29.8481	6417
+-114.5219	36.0496	5886
+-87.9294	38.3837	8577
+-120.4936	48.0293	6716
+-115.6056	37.2934	5644
+-79.3645	27.6414	6757
+-86.4507	28.9785	4819
+-112.7738	30.3417	6507
+-89.93	41.5685	6347
+-117.3944	46.9133	7985
+-88.6996	38.3361	9059
+-82.5654	26.5112	8390
+-110.2923	32.9265	8018
+-117.541	30.8382	7455
+-116.7397	33.2028	9253
+-80.5477	30.2541	6555
+-87.0191	36.0568	7148
+-123.8948	45.3753	7544
+-118.3945	32.489	8119
+-119.4016	44.8027	7447
+-124.3948	49.315	6548
+-117.7715	33.3641	8534
+-116.002	34.5533	8084
+-90.2445	38.9199	9188
+-123.4922	46.2137	8554
+-117.3251	45.7704	8187
+-83.6256	31.1126	5748
+-120.7653	45.0789	6418
+-89.2629	36.2265	8106
+-117.945	30.8962	7349
+-87.389	38.2727	8125
+-112.5558	30.9229	6962
+-90.7256	37.3188	7838
+-117.7955	34.356	8912
+-79.2632	27.4824	6629
+-123.6776	46.489	8604
+-82.9217	28.0769	8934
+-87.5227	36.1651	7627
+-87.516	41.1656	5643
+-114.221	33.4235	6617
+-86.3171	39.1869	6579
+-119.8561	43.8383	6343
+-81.9296	25.6045	7436
+-77.4422	28.7934	4459
+-117.3193	32.974	9322
+-95.671	37.7154	3617
+-90.4749	40.3564	7690
+-118.0821	42.4038	5340
+-111.9138	34.2683	6098
+-120.3877	44.0426	6144
+-121.3539	47.1709	7893
+-119.8072	45.6372	7574
+-86.2672	39.7398	6169
+-116.5518	33.7167	8635
+-121.442	48.1024	7576
+-111.5463	33.5772	6945
+-92.1153	39.2098	7493
+-114.2656	32.7918	6740
+-116.3688	36.3349	6944
+-116.5303	33.5903	8762
+-122.7471	46.3304	8887
+-109.7422	32.431	8354
+-115.5836	32.0387	7983
+-88.5213	38.7566	8560
+-116.3545	34.6067	8417
+-88.1744	38.911	8268
+-82.9683	26.1633	7847
+-89.3105	42.8185	4889
+-114.0063	28.9828	4598
+-119.3938	47.717	7183
+-117.1717	31.1024	7827
+-113.3525	33.5924	5544
+-121.7621	49.9201	6129
+-117.8187	48.0052	7184
+-122.848	45.6451	8153
+-124.9964	48.2417	6910
+-121.3024	47.4175	7782
+-117.9498	34.6444	8607
+-116.6928	33.7088	8759
+-90.2579	36.7286	7838
+-116.0703	34.1021	8232
+-110.2258	29.8125	7551
+-114.7558	36.296	5923
+-118.8013	35.8522	7024
+-116.8767	31.1105	7847
+-115.7741	32.5739	8395
+-88.7151	37.832	9620
+-116.9509	34.3886	9095
+-117.1214	31.2036	7945
+-116.6794	35.9563	7449
+-122.0863	48.8231	7379
+-108.4856	29.6261	6557
+-110.5034	31.7596	9208
+-116.0684	43.9451	5988
+-84.0691	29.4985	6954
+-117.382	34.5693	9046
+-121.0978	28.9887	3471
+-121.748	46.75	8318
+-83.0013	27.2696	8761
+-116.0412	34.6063	8105
+-83.4212	26.9286	8154
+-87.4654	38.6835	7961
+-116.5561	31.6565	8380
+-120.5724	37.3511	4506
+-120.4671	44.6082	6460
+-115.8396	36.3234	6686
+-126.0776	45.4511	5738
+-109.5515	34.5934	6104
+-81.882	33.3754	3541
+-119.4291	45.6662	7963
+-116.3988	30.3603	6941
+-83.0927	28.7397	8346
+-90.1583	35.2691	6704
+-84.1442	27.8645	7615
+-117.7036	43.8978	6849
+-84.8834	28.6524	6624
+-107.935	29.3486	5922
+-114.7224	35.7406	6255
+-89.2095	38.2503	8992
+-121.5575	32.5677	4556
+-123.572	47.6104	8584
+-118.7819	29.6493	5681
+-119.8946	33.7273	6637
+-117.836	31.2468	7751
+-89.6021	40.2507	7601
+-85.0353	39.0253	5357
+-114.8973	35.3313	6642
+-118.5704	33.692	8036
+-81.3617	24.3291	5907
+-79.6045	26.514	6700
+-91.9403	40.5933	6824
+-112.8879	32.6264	6484
+-115.446	38.2044	4673
+-115.4108	49.1855	4796
+-110.4774	31.4442	9257
+-118.395	47.249	8038
+-114.8274	45.8802	5593
+-119.258	35.2111	7068
+-123.7275	44.945	7206
+-90.3123	37.5527	8132
+-81.5176	25.7788	7538
+-90.554	38.6589	9216
+-118.9357	44.6044	7532
+-117.1666	42.6933	5464
+-87.282	40.1538	6563
+-117.6679	46.5386	8460
+-87.7814	39.1207	7843
+-117.3669	43.8124	6651
+-90.2809	37.9071	8509
+-95.1576	39.8004	4155
+-116.8743	33.007	9517
+-88.5546	38.7601	8564
+-108.4454	32.6408	7129
+-89.4129	37.0587	8820
+-91.2772	35.3381	5972
+-88.8855	34.8424	6643
+-118.9861	34.8896	7489
+-119.9554	45.7684	7455
+-111.5114	34.8809	5680
+-87.3828	34.487	5923
+-92.1378	41.1747	6198
+-79.7206	27.1912	7086
+-118.5507	48.6306	6566
+-122.4033	33.3533	3870
+-89.6097	36.0627	7782
+-80.2457	27.6777	7755
+-120.4349	31.797	5721
+-89.7325	36.8537	8398
+-109.1199	30.5211	7726
+-110.9736	34.0866	6674
+-80.3291	27.3112	7787
+-116.6311	46.929	7303
+-119.1965	47.1934	7752
+-81.9928	26.2925	8217
+-85.6313	34.0066	4406
+-108.6114	29.6274	6650
+-110.6308	31.3174	9041
+-112.9978	33.6486	5821
+-117.5922	34.9882	8540
+-118.2452	47.8302	7428
+-119.3673	44.1321	6881
+-83.3287	24.7054	6174
+-89.1321	41.0022	6647
+-119.0289	49.2023	5881
+-82.2328	28.4625	9097
+-118.4072	35.8608	7280
+-110.8389	31.7697	8890
+-117.471	46.6713	8209
+-90.0943	35.991	7416
+-86.3763	24.0212	3489
+-116.6939	46.042	7576
+-116.0064	31.8925	8266
+-116.8329	32.1151	8956
+-118.9856	46.9199	8117
+-116.8606	31.8595	8679
+-91.9765	37.0293	6897
+-123.8678	45.4709	7649
+-120.9503	46.7259	7448
+-88.0967	36.3304	8138
+-116.087	34.2297	8247
+-116.8642	34.3857	9020
+-83.6646	26.0016	7249
+-106.8235	32.6772	5490
+-121.1123	47.2453	7618
+-120.7837	45.1647	6433
+-91.0854	38.8487	8660
+-83.0283	24.4876	6047
+-119.2877	33.2809	7145
+-116.3035	49.0743	5476
+-121.4257	48.0557	7592
+-120.4426	47.4077	6863
+-122.8089	46.9044	9485
+-115.7378	30.0635	6390
+-115.0916	31.1251	6936
+-89.8429	37.6623	8607
+-119.0184	44.2437	7146
+-111.0864	29.7276	7304
+-116.935	34.9533	8573
+-86.8887	37.5127	7700
+-118.0166	48.1906	7028
+-108.6387	32.6067	7329
+-120.8106	35.8615	5237
+-84.2431	28.6909	7287
+-110.7705	33.4416	7405
+-118.5367	48.796	6393
+-111.1232	29.2556	6810
+-121.9319	48.7617	7365
+-88.5997	38.4409	8925
+-87.7627	36.7731	8307
+-84.2137	40.1237	4007
+-106.9678	31.3244	5816
+-79.4356	30.6536	5422
+-93.2041	40.9053	5598
+-87.2533	36.3709	7579
+-118.0066	47.4347	7817
+-92.5876	37.4378	6659
+-81.6827	29.4473	7924
+-110.9719	34.5232	6214
+-82.1406	24.8913	6639
+-113.3268	32.9533	5907
+-122.6372	45.2065	7651
+-118.0829	33.657	8507
+-91.5614	37.837	7818
+-119.074	37.2631	5595
+-90.1449	38.5158	9064
+-91.2944	41.3636	6441
+-122.8592	48.0166	8452
+-121.2282	45.8116	7374
+-88.0144	36.2724	8038
+-89.4437	35.2142	6960
+-120.0203	46.0764	7421
+-111.5929	33.118	7322
+-114.982	35.1952	6790
+-115.2919	34.7264	7289
+-89.8626	35.5042	7094
+-86.0559	39.5871	6086
+-115.3232	34.6563	7343
+-107.6373	30.4428	6302
+-91.1969	36.0074	6341
+-90.3163	42.5243	5356
+-88.5685	38.0587	9321
+-89.6238	42.684	5106
+-120.4459	43.1372	5376
+-117.2989	46.3013	8196
+-83.0432	29.3043	7871
+-124.7129	45.3565	6942
+-89.4499	39.7694	7935
+-117.8994	45.7201	8689
+-119.8214	45.1969	7372
+-91.2495	38.2724	8358
+-125.181	47.5173	7028
+-122.4084	48.6719	7656
+-85.4269	36.2356	5737
+-116.3466	34.9525	8194
+-118.2959	44.9952	8090
+-118.4006	31.3531	7467
+-90.2936	40.0094	8063
+-93.538	39.2964	5973
+-117.507	32.9594	9129
+-81.8156	26.4916	8406
+-117.7208	34.1751	9040
+-117.5493	30.2383	6804
+-87.8135	37.9753	8690
+-109.9985	30.2473	7981
+-108.7023	31.0258	7606
+-87.6553	37.3845	8528
+-108.9352	33.8594	6579
+-118.5385	44.8715	7932
+-113.9669	48.8153	3860
+-116.1409	43.69	5845
+-118.6156	47.2308	8012
+-93.9355	36.5454	4918
+-121.3526	37.8361	3523
+-116.4769	32.6365	9171
+-91.131	34.9883	5805
+-83.6064	29.2146	7556
+-109.6705	28.019	5546
+-88.0432	38.9881	8123
+-115.8771	34.4205	7990
+-116.1254	32.6285	8791
+-125.3486	48.394	6492
+-116.2566	34.2078	8433
+-112.3995	34.7617	5366
+-120.011	34.0791	6544
+-90.828	37.9974	8482
+-115.3505	34.3109	7439
+-116.7599	31.9371	8745
+-119.6721	34.0943	6914
+-115.3605	32.1136	7797
+-89.766	33.9497	5495
+-88.0973	38.059	8944
+-116.8786	45.9095	7759
+-121.2201	44.6628	6474
+-115.6358	29.7705	6045
+-88.948	39.3666	7741
+-117.0706	32.6378	9522
+-81.6336	30.9503	6246
+-117.6512	48.3743	6761
+-88.2579	41.281	5862
+-119.144	33.5693	7400
+-110.5507	31.6471	9228
+-118.6248	32.2384	7794
+-87.8882	37.6122	8827
+-118.2822	31.7734	7880
+-83.7314	28.3316	7975
+-86.9814	36.479	7409
+-120.97	45.5438	6972
+-88.8796	36.3452	8327
+-109.9925	32.2915	8622
+-116.134	34.7952	8107
+-83.4232	28.6791	8105
+-113.959	35.2504	5730
+-82.4091	25.3394	7129
+-85.9636	36.0592	6188
+-114.6878	32.8315	7211
+-80.6112	27.6195	8162
+-107.8436	33.1673	6276
+-117.2009	33.4953	8838
+-110.6476	31.2381	8968
+-121.6543	49.0103	6977
+-119.2588	46.8373	7966
+-124.7582	49.878	5812
+-116.8579	35.8953	7565
+-87.6388	38.1751	8426
+-92.8846	39.5416	6597
+-123.3741	46.7999	9054
+-118.6555	33.4886	7868
+-92.9269	41.2636	5570
+-83.5647	27.5418	8253
+-119.6353	45.8531	7805
+-118.299	34.9419	8107
+-86.7137	34.9228	5969
+-81.6169	24.7767	6460
+-110.9817	29.305	6907
+-114.8621	35.0098	6746
+-119.2512	48.7698	6253
+-127.6234	49.9668	3459
+-121.7215	47.5378	8167
+-124.3106	47.2545	8024
+-115.5096	43.0078	4861
+-117.9538	35.2655	8093
+-106.2506	32.0004	5027
+-118.2513	33.6127	8323
+-88.981	36.6911	8695
+-115.1069	30.7277	6633
+-119.2368	33.7446	7347
+-111.6036	29.3065	6649
+-108.8933	31.1456	7843
+-119.6895	33.0052	6623
+-125.6543	47.829	6435
+-114.9506	33.2702	7448
+-124.1824	46.4795	8099
+-120.528	42.2771	4565
+-91.5876	39.5822	7847
+-88.6769	39.3494	7923
+-87.7866	38.8969	8049
+-80.5767	30.6097	6225
+-116.1214	34.8806	8046
+-91.2342	40.1485	7660
+-81.1078	26.025	7606
+-80.0269	28.3113	7431
+-121.0077	45.9633	7253
+-108.5076	29.5031	6475
+-83.9253	29.4824	7086
+-89.2948	33.9899	5646
+-82.5195	27.8369	9448
+-82.5922	31.1344	6047
+-114.7026	29.9744	5700
+-87.2828	34.4532	5843
+-90.7644	40.1089	7903
+-86.9162	33.3497	4544
+-116.5223	30.0463	6623
+-116.512	31.9688	8680
+-110.6949	32.8101	8088
+-112.0567	32.8558	7152
+-117.8487	34.8953	8492
+-81.282	26.8265	8458
+-115.3772	35.1835	7180
+-121.9567	46.9627	8570
+-119.6906	48.9514	5893
+-82.8276	30.1109	7126
+-109.0061	33.2179	7192
+-115.9107	33.1664	8512
+-90.4812	35.3329	6565
+-121.9551	45.9913	8114
+-119.6217	46.7581	7681
+-89.8956	39.0573	8803
+-90.9268	35.4571	6347
+-119.1743	32.5572	7273
+-86.9039	36.9949	7593
+-88.9037	39.6982	7530
+-112.6195	30.5093	6737
+-87.5075	39.7002	7130
+-118.6439	34.1466	8035
+-92.5915	42.2762	4940
+-121.2348	45.3204	7034
+-108.3744	29.951	6711
+-92.851	36.8204	6048
+-116.155	30.8374	7367
+-116.4047	33.3811	8864
+-106.4373	33.7976	4618
+-114.8855	32.0027	7260
+-83.6767	27.4643	8113
+-109.8367	30.3206	8004
+-88.8507	39.017	8296
+-115.4385	34.0663	7542
+-117.1626	46.8823	7813
+-120.6393	37.1286	4617
+-89.3265	37.5267	9167
+-89.0622	37.4821	9424
+-92.9997	37.3752	6239
+-88.1362	36.577	8403
+-120.9881	47.3401	7466
+-89.947	36.6311	8053
+-116.1615	30.4508	6965
+-109.5792	33.7308	7008
+-111.0404	29.7139	7308
+-80.8655	28.8851	7980
+-115.1253	34.8101	7088
+-120.9269	31.9497	5231
+-81.9736	29.1891	8273
+-116.3038	35.9357	7309
+-89.3636	38.9356	8307
+-81.9338	32.316	4740
+-79.8542	25.8821	6547
+-91.9299	37.2138	7075
+-125.918	45.0989	5707
+-113.4819	32.8694	5789
+-114.568	48.4191	4622
+-115.6723	32.2494	8177
+-113.6336	33.859	5858
+-83.7984	31.2031	5572
+-119.2792	33.7284	7299
+-110.7348	32.6107	8278
+-90.8222	42.2476	5625
+-116.4284	30.6716	7286
+-83.421	30.4289	6547
+-90.6736	40.5706	7437
+-121.4719	45.5069	7363
+-92.0974	37.4172	7084
+-116.1266	30.8987	7417
+-122.8774	45.0671	7519
+-111.0398	33.159	7603
+-108.2881	32.1218	7182
+-118.5333	47.616	7633
+-91.7376	39.144	7904
+-89.4053	37.6918	9098
+-83.2142	28.2212	8566
+-81.8879	26.1414	8033
+-117.336	35.1289	8449
+-118.7705	30.7304	6677
+-119.0093	45.3775	8176
+-109.2209	31.0143	8120
+-116.3234	33.3912	8791
+-80.2095	29.6701	6831
+-115.3555	31.253	7249
+-115.7989	35.2114	7551
+-110.8784	29.1339	6755
+-120.1248	32.9436	6161
+-119.3741	42.6792	5458
+-119.4591	46.3278	7992
+-93.8573	39.5276	5587
+-83.6295	29.7148	7113
+-109.2627	33.4697	7123
+-118.5828	47.99	7234
+-116.5992	33.5038	8884
+-119.2548	36.2638	6359
+-118.1279	35.7535	7536
+-81.7046	25.5986	7392
+-116.0991	43.5773	5726
+-115.5566	34.5317	7623
+-119.7636	37.0219	5373
+-82.8302	29.4638	7817
+-87.0008	37.415	7813
+-109.8899	30.5171	8222
+-80.6053	25.3789	6685
+-89.81	35.2634	6875
+-112.4063	29.5724	6344
+-84.1205	25.6396	6599
+-122.6459	44.2523	6611
+-91.1513	35.7193	6360
+-116.7966	46.4018	7654
+-87.1183	37.3049	7921
+-119.607	46.8636	7642
+-82.375	25.3006	7089
+-116.9694	44.5236	7087
+-122.059	47.9491	8185
+-117.9501	33.0507	8625
+-88.0975	32.2602	3701
+-118.2547	45.1538	8258
+-116.7076	46.5789	7516
+-88.0709	38.8821	8242
+-108.2584	33.6609	6292
+-120.3958	30.8562	5347
+-118.6583	28.5284	4611
+-86.552	39.276	6742
+-110.6794	34.0613	6763
+-120.3341	32.3431	5960
+-117.9573	44.1544	7171
+-92.172	37.216	6884
+-93.8461	36.9409	5213
+-115.9686	34.2019	8120
+-92.3518	41.8696	5448
+-114.4534	33.7552	6761
+-118.257	35.0841	8040
+-84.097	28.92	7316
+-116.6646	47.3303	7107
+-88.9525	37.3126	9367
+-110.7696	34.4046	6380
+-125.9649	46.8957	6238
+-87.382	37.8085	8253
+-87.3568	39.2105	7468
+-120.6254	43.5543	5597
+-115.7243	35.931	6954
+-117.3626	45.634	8168
+-86.6164	39.4008	6714
+-121.2695	48.2709	7312
+-89.1957	36.7399	8669
+-116.8176	33.7818	8916
+-92.3671	36.2752	6006
+-118.3261	47.3135	7975
+-88.8914	40.303	7103
+-83.8838	27.7904	7912
+-106.8866	30.5587	5578
+-83.7265	39.6188	3748
+-85.2378	38.339	5783
+-120.2426	48.2191	6204
+-119.283	31.6926	6881
+-120.6352	44.7341	6380
+-121.8052	46.7493	8380
+-90.9172	39.9728	7986
+-116.6908	43.9779	6451
+-113.1079	32.8339	6176
+-89.9501	37.4145	8457
+-90.1386	36.0248	7414
+-92.0756	38.5145	7583
+-84.7144	29.4863	6384
+-122.5805	48.1984	8208
+-90.1806	35.1166	6543
+-92.2393	36.8192	6538
+-115.2569	32.1627	7711
+-122.7648	47.6922	8795
+-91.7794	38.641	7915
+-114.0021	34.0944	6152
+-91.4062	35.9551	6216
+-90.4344	42.6007	5274
+-118.9855	32.1138	7368
+-120.8151	44.906	6296
+-115.0555	32.5766	7604
+-117.5386	31.6312	8285
+-81.7189	30.2315	7065
+-112.9161	29.1087	5598
+-90.219	40.2909	7754
+-117.7586	31.9962	8481
+-116.5491	32.1277	8854
+-77.1499	24.4284	3106
+-113.9522	30.5149	5385
+-92.9692	40.6766	5949
+-118.8363	28.8904	4902
+-86.1534	39.3635	6317
+-124.5421	45.7893	7386
+-85.5473	28.8822	5829
+-87.5798	25.8326	3354
+-90.9664	34.3758	5372
+-125.6486	48.6314	6076
+-91.7836	37.6419	7500
+-80.595	30.6648	6180
+-81.7641	27.6083	9438
+-91.706	36.877	6953
+-116.391	33.3817	8853
+-117.4702	46.8981	8054
+-112.4553	32.2008	7079
+-107.6797	33.9476	5623
+-113.5646	48.6307	3590
+-117.7211	34.6881	8756
+-113.3944	33.4505	5589
+-83.1733	28.9133	8141
+-121.1902	48.1126	7345
+-82.8936	28.7352	8499
+-121.4619	46.868	8022
+-119.0741	32.1437	7285
+-112.9198	30.6597	6498
+-112.7022	31.2615	6883
+-113.4113	29.0335	5143
+-121.7131	48.2928	7651
+-90.3046	37.8046	8402
+-89.224	34.1239	5806
+-118.3429	35.9269	7256
+-125.9814	48.2307	5947
+-119.426	43.0919	5853
+-119.1929	49.3546	5682
+-116.3267	49.0316	5528
+-88.289	38.525	8712
+-90.1385	35.4711	6910
+-88.7555	37.0246	9095
+-121.0484	48.0478	7251
+-107.7535	30.8597	6571
+-89.9818	43.4793	4309
+-109.8275	30.2092	7887
+-114.0587	34.599	6002
+-121.2096	46.5654	7698
+-83.8388	27.553	7948
+-91.5303	33.477	4182
+-91.8292	37.7844	7550
+-90.9588	37.6108	8049
+-91.1876	37.8871	8153
+-124.7931	44.4453	6142
+-118.1917	32.6578	8375
+-121.60	46.2829	7992
+-121.3903	48.3174	7381
+-115.9243	31.6019	7967
+-110.0901	34.9092	5860
+-92.9569	38.181	6583
+-123.524	47.8086	8455
+-119.4049	28.631	4350
+-83.7776	29.45	7230
+-114.4257	32.5422	6902
+-82.9019	33.7279	3092
+-125.0472	47.391	7202
+-118.5349	47.7244	7520
+-110.0703	31.9155	9015
+-117.1788	35.9038	7604
+-110.1739	30.34	8115
+-117.8316	45.9037	8739
+-116.6358	31.8418	8605
+-118.0173	48.3421	6869
+-110.4892	30.9591	8776
+-79.9229	27.9969	7378
+-124.8424	43.686	5418
+-124.2115	42.264	4243
+-117.6227	35.2724	8236
+-116.0697	32.6798	8741
+-86.3161	41.269	4924
+-115.7288	33.6287	8102
+-86.6482	35.1486	6122
+-118.7049	44.7036	7716
+-89.2948	40.0972	7558
+-85.7484	36.7023	6259
+-80.682	27.7749	8250
+-89.7233	34.6752	6290
+-87.5268	33.0695	4471
+-91.3447	36.4328	6720
+-118.2709	31.7141	7848
+-123.4912	33.5673	2720
+-117.3688	35.2571	8307
+-119.2949	49.5346	5469
+-115.3624	34.8466	7320
+-117.5254	33.0395	9082
+-111.1716	30.5484	8031
+-114.7524	33.5599	7148
+-81.7285	25.7315	7545
+-111.1179	30.2794	7825
+-109.7661	31.2598	8766
+-123.888	48.2118	7860
+-117.3624	34.8039	8799
+-115.1817	35.1327	7016
+-113.4548	32.1511	6036
+-81.6977	28.5903	8838
+-117.9066	33.4071	8482
+-82.6439	26.9821	8833
+-127.4908	45.7992	4402
+-89.7873	37.2589	8582
+-114.8715	32.5246	7393
+-88.0335	36.5062	8275
+-85.5337	29.6465	5497
+-80.1976	27.4717	7677
+-91.2925	38.2634	8313
+-121.1658	29.0696	3475
+-81.0873	27.5138	8675
+-88.594	40.1677	6964
+-112.0971	29.9953	6902
+-114.7129	33.1928	7204
+-115.2386	32.217	7713
+-91.118	37.8727	8191
+-114.2603	34.7468	6191
+-89.3345	35.4228	7218
+-116.149	30.2479	6746
+-81.3415	26.88	8548
+-90.2992	37.8423	8442
+-118.5526	34.3142	8121
+-108.0698	27.7355	4637
+-82.9332	26.6444	8333
+-85.7692	39.7725	5703
+-116.7606	30.305	6942
+-89.8376	36.9165	8348
+-87.6232	36.6506	8099
+-108.6012	29.0823	6177
+-82.7803	29.0661	8250
+-85.9338	38.7111	6426
+-119.2956	44.1351	6920
+-110.183	33.3319	7572
+-108.3006	36.4338	3775
+-92.7279	40.1872	6460
+-120.3417	47.6738	6516
+-117.213	34.4604	9176
+-84.0709	34.7839	3631
+-120.1784	46.9829	7046
+-122.7311	44.4741	6862
+-114.282	36.3637	5474
+-88.2055	38.5597	8631
+-90.5326	40.4005	7638
+-81.5634	28.4661	8872
+-117.6423	37.6394	5691
+-125.9187	48.5619	5855
+-120.1152	49.8182	5227
+-119.972	34.6716	6529
+-124.0572	49.3271	6718
+-83.2627	25.0887	6604
+-91.3242	36.2754	6571
+-118.5467	32.1402	7836
+-89.3147	38.5025	8693
+-118.1693	44.0108	7045
+-118.3189	35.2152	7892
+-118.7011	48.0415	7157
+-91.1451	38.0618	8318
+-118.449	32.1418	7936
+-118.9855	31.0933	6792
+-117.9208	30.6331	7095
+-89.8572	42.0455	5827
+-86.8243	37.7001	7634
+-80.735	28.2314	8225
+-118.401	32.4009	8087
+-117.2556	37.242	6147
+-113.6746	30.5906	5697
+-111.9591	29.2645	6405
+-122.00	45.743	7937
+-118.7451	32.4282	7722
+-85.5651	27.1826	5954
+-116.8597	31.3579	8121
+-88.236	37.4547	9174
+-116.2192	35.4039	7742
+-117.4774	31.0864	7741
+-90.629	37.1579	7688
+-85.1504	37.7599	5755
+-119.2328	33.1423	7136
+-119.3014	34.3104	7310
+-89.0544	39.2696	7886
+-89.2584	40.5456	7141
+-119.0118	35.6876	6989
+-92.7291	38.3079	6851
+-89.5265	38.044	8862
+-115.4179	32.8057	8025
+-117.1744	34.2135	9405
+-118.9828	37.4283	5485
+-81.4146	29.1727	8106
+-117.1443	33.3969	9076
+-109.0218	32.201	7903
+-113.2171	34.1213	5311
+-106.398	29.8836	4829
+-112.8856	32.404	6569
+-127.9042	49.7702	3304
+-106.3167	30.507	4968
+-82.5246	26.2632	8135
+-114.0698	31.8017	6329
+-90.7588	38.9101	8984
+-120.0027	45.4847	7326
+-115.5804	35.8874	6884
+-94.1239	40.1557	5117
+-81.2238	29.6887	7487
+-89.6202	37.50	8839
+-87.64	37.0742	8387
+-119.8538	34.8158	6619
+-80.6434	29.793	7047
+-90.6793	40.6074	7397
+-90.8542	40.022	7962
+-118.3809	47.046	8253
+-80.9512	26.0845	7566
+-89.0743	39.1196	7958
+-110.5402	31.7197	9205
+-121.1189	42.0297	4007
+-117.5842	49.3142	5777
+-96.4887	41.6144	2155
+-87.4416	39.7077	7083
+-120.3535	45.0609	6807
+-81.2904	28.3641	8724
+-116.7946	33.1631	9321
+-89.6921	37.4002	8734
+-117.25	44.9711	7640
+-118.8692	37.2885	5678
+-89.5186	39.7604	7991
+-87.9908	38.4353	8589
+-86.1749	31.0027	4035
+-92.655	35.9315	5523
+-89.6678	38.5415	8621
+-115.0114	30.1969	6107
+-80.6365	26.4698	7652
+-82.8263	31.1985	5931
+-115.4554	34.0649	7561
+-122.6689	47.1073	9309
+-116.7683	46.0377	7655
+-123.311	43.9353	6245
+-84.7258	28.7582	6752
+-120.0167	45.5642	7339
+-123.1188	43.781	6098
+-91.6974	39.1888	7931
+-87.7636	34.563	6154
+-116.6291	43.0157	5554
+-120.2367	35.5943	5927
+-110.6739	31.1868	8907
+-112.1631	30.3083	7057
+-90.3265	39.1628	8975
+-119.1908	32.8098	7272
+-91.0895	35.5941	6321
+-107.2806	28.0154	4386
+-83.4022	25.8158	7260
+-111.3553	34.5622	6061
+-121.0097	32.7375	5180
+-88.7505	36.8371	8884
+-109.2615	30.8261	8052
+-111.2198	29.359	6879
+-110.6711	29.5971	7291
+-92.1425	37.2945	6963
+-120.1853	40.9589	3455
+-119.8201	48.3225	6399
+-116.9702	45.8078	7836
+-82.8029	31.6436	5441
+-117.3175	45.9976	8232
+-115.6585	48.5186	5480
+-117.1241	46.6953	7880
+-123.8776	47.1094	8521
+-93.066	38.6495	6531
+-117.8972	30.4384	6904
+-87.2241	29.8731	3659
+-111.2187	30.3129	7796
+-89.6543	39.9411	7919
+-85.2748	36.2231	5574
+-86.9053	40.201	6285
+-118.6908	46.3548	8752
+-117.1144	35.5911	7939
+-87.4913	37.5388	8377
+-84.0569	37.0522	4484
+-117.4858	45.0756	7886
+-107.5027	30.434	6164
+-115.0929	46.5328	5851
+-118.8501	45.6092	8466
+-92.966	38.0672	6545
+-109.337	30.4788	7862
+-122.5204	46.5665	9000
+-82.7949	25.5056	7227
+-80.7039	25.099	6468
+-118.2942	32.3709	8191
+-108.7191	32.8573	7245
+-120.2452	44.1411	6324
+-116.7123	44.6959	7029
+-117.6843	29.6206	6099
+-79.4191	28.6078	6678
+-115.915	33.3497	8438
+-92.0444	44.1592	3325
+-88.6354	31.0646	2403
+-111.9383	31.8927	7703
+-117.3796	35.3639	8190
+-81.8388	29.1923	8245
+-116.0235	44.3417	6228
+-119.8257	47.1306	7296
+-126.1035	47.2126	6076
+-115.4968	32.875	8112
+-116.3711	42.5255	4967
+-109.5669	34.7326	5962
+-88.5846	41.2029	6146
+-90.1643	35.5718	6989
+-90.6862	37.757	8305
+-115.1875	42.7979	4467
+-118.9192	33.5853	7639
+-82.9295	28.5582	8622
+-116.5802	33.2021	9144
+-78.3442	26.3954	5334
+-84.1252	28.0223	7620
+-115.6881	35.6724	7133
+-114.3378	36.2214	5614
+-115.0937	34.9701	6998
+-125.8713	47.2404	6328
+-87.121	38.9309	7485
+-88.8602	37.7835	9647
+-117.6357	44.8929	7810
+-116.6181	46.3715	7474
+-88.7832	34.1219	5837
+-87.2461	40.0487	6642
+-89.6859	40.0065	7875
+-116.5739	48.5014	6139
+-111.1141	32.5599	8119
+-89.6652	39.4669	8331
+-79.0905	29.6244	5859
+-119.9543	34.4393	6587
+-106.0961	35.9755	2861
+-124.3916	45.9424	7618
+-119.0992	36.8663	5949
+-89.5352	39.6855	8063
+-115.5104	33.497	7960
+-110.2186	32.6502	8311
+-117.0227	47.7643	7049
+-89.7783	38.1829	8531
+-92.2057	40.2997	6846
+-118.2445	33.7244	8382
+-117.5738	48.1359	6977
+-121.4993	45.4974	7376
+-118.5598	31.5074	7453
+-116.7499	32.9508	9469
+-115.648	35.0932	7485
+-107.7462	34.5907	5175
+-90.1714	39.2764	8813
+-118.9664	46.9239	8127
+-110.4669	33.2219	7692
+-117.025	48.2981	6578
+-113.2982	33.4648	5669
+-116.7443	33.939	8930
+-118.6443	40.9746	3819
+-119.955	48.2907	6342
+-122.0351	46.0363	8211
+-122.6208	43.7947	6108
+-82.2962	27.2017	9227
+-124.5507	44.5202	6364
+-89.5522	39.9248	7873
+-120.4324	42.9348	5209
+-109.2949	27.2185	4612
+-119.4573	49.5241	5427
+-114.2524	30.0613	5439
+-112.8966	30.0863	6257
+-92.8005	37.5395	6511
+-90.6652	41.7818	6143
+-89.4465	38.6429	8408
+-90.2723	37.6051	8185
+-124.4068	48.9615	6860
+-87.5742	36.2214	7712
+-111.298	31.0249	8266
+-118.8865	28.5017	4485
+-109.2233	30.2186	7568
+-118.9263	32.0779	7417
+-122.0387	46.2152	8350
+-124.2179	46.4608	8055
+-116.4103	31.0249	7660
+-118.2445	46.4931	8842
+-81.6321	30.6747	6554
+-89.8518	37.1203	8452
+-119.4237	48.0833	6838
+-81.6732	26.3183	8173
+-90.5229	43.4264	4382
+-120.1947	36.4505	5465
+-116.1542	32.6435	8826
+-115.999	36.7567	6360
+-118.9323	44.3109	7245
+-114.9458	45.7702	5709
+-107.2495	30.8511	6040
+-118.119	33.6519	8470
+-90.3147	35.8252	7115
+-116.3839	32.5926	9057
+-122.3097	46.8723	8949
+-87.0829	36.5674	7558
+-117.1915	43.1436	5923
+-119.4723	36.1155	6303
+-107.8747	32.8482	6478
+-117.698	44.428	7384
+-118.182	48.8016	6397
+-117.7662	32.3999	8747
+-113.3794	34.5799	5270
+-116.2748	46.7586	7022
+-113.4289	31.1194	6082
+-117.525	35.9487	7538
+-121.6985	44.4671	6559
+-123.2869	49.1587	7161
+-117.5578	47.2012	7864
+-122.4475	47.7092	8651
+-84.3465	27.8139	7388
+-109.3808	29.5132	7005
+-112.2101	29.9049	6746
+-122.874	47.6054	8904
+-120.0101	49.3782	5336
+-126.9665	47.00	5138
+-93.4301	39.1701	6109
+-116.6959	46.5064	7525
+-92.6997	42.7095	4480
+-85.9334	36.9264	6528
+-87.1053	37.0692	7834
+-120.7628	32.5653	5509
+-125.085	42.1655	3811
+-89.9069	34.7403	6290
+-117.4719	43.747	6625
+-124.2834	45.0521	7011
+-121.9836	48.2029	7916
+-90.2743	37.803	8397
+-118.1628	37.1816	6072
+-111.9342	31.1801	7685
+-94.764	40.5735	4310
+-88.4793	39.8967	7029
+-93.243	38.3904	6318
+-79.637	27.5726	7060
+-120.2059	38.5618	3740
+-81.5521	24.8828	6564
+-85.8141	37.5788	6499
+-117.7672	33.4573	8620
+-109.548	30.7759	8253
+-86.164	28.5288	5251
+-123.6373	44.7467	7036
+-118.7202	34.2041	7950
+-89.6366	36.9372	8541
+-112.7224	30.5115	6637
+-91.4615	36.7748	6999
+-122.4961	48.8625	7477
+-88.2974	37.3163	9158
+-117.5418	47.9844	7116
+-117.267	30.6293	7290
+-116.1328	41.5501	3931
+-88.1042	37.9387	9011
+-90.3997	39.7077	8392
+-78.666	25.9088	5442
+-118.2861	43.6423	6658
+-120.1829	48.7245	6051
+-83.8345	26.9051	7735
+-89.207	33.5211	5136
+-108.812	28.869	6102
+-117.2206	30.7367	7416
+-123.0317	48.0314	8427
+-82.5971	27.9668	9321
+-123.1728	46.2065	8719
+-113.3304	35.8005	4875
+-124.1531	46.9937	8229
+-82.6563	25.0545	6768
+-118.2416	33.5615	8305
+-110.8696	33.0505	7781
+-117.2576	34.8098	8800
+-123.4181	48.4533	7877
+-119.7999	46.3237	7637
+-114.2237	35.0668	6066
+-121.3306	47.3369	7835
+-120.3052	46.3523	7103
+-119.8734	29.886	5149
+-114.9936	32.5597	7534
+-81.0356	28.6784	8278
+-91.6823	38.7522	8024
+-81.9317	28.2314	9319
+-118.5578	35.5472	7449
+-91.3861	35.8457	6113
+-119.194	34.0666	7434
+-89.9118	38.0019	8471
+-117.3579	32.5594	9231
+-116.3804	32.9403	9085
+-84.3149	27.689	7423
+-110.5486	32.6189	8327
+-113.2058	32.493	6209
+-112.6239	33.8612	5974
+-114.8465	33.2135	7347
+-89.2102	36.2021	8098
+-82.1515	27.5074	9598
+-117.4417	33.1197	9124
+-119.8841	32.4654	6475
+-116.3689	33.248	8931
+-118.9138	35.5752	7150
+-87.1017	36.3241	7415
+-91.8763	37.7487	7487
+-119.9219	44.0415	6474
+-115.3553	33.3676	7853
+-90.032	36.26	7692
+-126.9169	48.1052	5019
+-117.2941	45.5671	8071
+-114.197	43.5056	4134
+-90.7378	42.1744	5714
+-110.7661	32.266	8598
+-111.4992	32.6187	7784
+-84.7833	30.8937	5255
+-121.8549	30.3047	3623
+-117.0299	32.5224	9417
+-90.7729	37.5154	8029
+-83.3184	27.1202	8365
+-117.2788	42.0622	4854
+-110.0331	32.8484	8065
+-88.0486	40.6839	6157
+-115.5895	31.7807	7831
+-117.784	43.6426	6605
+-119.7905	32.8986	6473
+-115.633	27.4148	3547
+-89.929	38.7211	8934
+-123.7521	46.6435	8605
+-112.4046	34.0522	5982
+-118.0704	44.0561	7084
+-88.7138	37.2841	9382
+-115.6217	33.5761	8030
+-121.7032	45.566	7582
+-87.9139	35.8376	7550
+-109.311	30.5047	7863
+-120.0899	32.1966	6201
+-86.5177	36.3906	6913
+-117.8476	35.1511	8260
+-118.9265	44.8413	7764
+-117.6162	44.2881	7216
+-116.868	33.9233	9046
+-91.8225	39.2468	7783
+-122.1271	47.5153	8565
+-118.0213	42.2955	5222
+-122.5174	44.8801	7276
+-116.1802	34.0545	8350
+-118.4205	33.5081	8106
+-119.5648	46.9425	7636
+-117.4995	38.6003	4659
+-109.16	34.4688	6099
+-89.9514	39.4598	8529
+-116.0597	35.2053	7777
+-78.9063	27.2337	6192
+-113.2165	35.1866	4973
+-94.3761	35.3116	3745
+-114.5676	31.1392	6488
+-112.6279	32.8134	6653
+-119.8962	34.9478	6535
+-123.3897	47.2443	8988
+-124.0447	46.8217	8339
+-88.4562	37.8821	9391
+-123.6632	48.2125	8001
+-84.1158	31.6724	4937
+-87.0358	38.89	7436
+-108.3538	31.8633	7307
+-82.4204	27.0121	8979
+-121.6775	46.8942	8261
+-115.8946	33.8438	8008
+-122.9507	47.9431	8532
+-88.0807	37.0062	8747
+-117.9418	31.1385	7588
+-117.286	32.4461	9207
+-89.0873	34.6021	6357
+-108.1758	32.7054	6839
+-112.7549	33.6173	6047
+-114.8863	44.1545	5115
+-120.4599	44.8471	6601
+-115.6111	34.5928	7664
+-109.8782	27.5787	5107
+-106.383	32.7687	5005
+-119.3051	32.605	7134
+-117.682	45.7152	8505
+-87.9118	35.4435	7142
+-82.6456	28.0166	9248
+-88.7056	37.9702	9467
+-89.4973	39.1496	8377
+-118.416	33.8503	8247
+-116.1211	31.0889	7607
+-124.1256	45.8826	7809
+-113.5919	30.0301	5562
+-85.4227	39.7577	5388
+-84.3591	27.312	7322
+-114.017	30.9317	5848
+-117.3674	34.9816	8606
+-89.3063	37.9232	9144
+-123.5964	44.2077	6480
+-117.661	34.4746	8969
+-91.3018	41.5046	6295
+-115.30	35.9883	6589
+-88.7131	37.1975	9286
+-115.1878	33.0243	7755
+-91.4739	35.7479	5982
+-89.3446	33.7732	5398
+-122.2054	45.987	8287
+-117.595	33.1053	8981
+-119.121	44.0351	6901
+-115.2224	33.1718	7767
+-120.9777	46.4041	7406
+-114.5973	36.852	5382
+-89.5045	36.5691	8331
+-83.9615	24.8778	6025
+-116.483	34.1951	8680
+-92.3253	40.6513	6495
+-89.9655	39.6502	8355
+-87.852	39.9783	7024
+-80.5375	26.7033	7723
+-116.9995	44.9476	7433
+-120.2196	46.2509	7204
+-89.2652	36.9463	8832
+-83.7627	26.56	7599
+-89.2614	38.0152	9135
+-81.6121	27.8557	9294
+-82.856	27.3394	8943
+-90.7872	38.2828	8759
+-121.2354	47.8459	7538
+-79.9329	27.6795	7401
+-87.7484	36.9834	8439
+-118.0066	45.1519	8215
+-92.5201	38.5162	7107
+-111.6752	27.9794	5307
+-78.4936	29.8038	5173
+-107.7195	27.9587	4632
+-118.1585	49.1979	5977
+-116.8562	31.0917	7825
+-112.5707	30.4348	6749
+-118.1486	36.199	7088
+-111.0937	28.4039	5932
+-116.7304	46.2252	7611
+-83.1149	27.549	8755
+-119.5884	48.189	6652
+-79.1835	28.3779	6484
+-89.535	38.5427	8483
+-118.9894	31.1724	6845
+-91.5456	35.1273	5590
+-116.7981	47.0701	7382
+-90.7701	40.7296	7250
+-121.3505	44.0282	5957
+-88.6799	39.6322	7357
+-118.1314	46.2959	8998
+-81.7448	29.9337	7402
+-88.0714	38.2831	8772
+-115.3342	35.1342	7164
+-89.446	37.4451	9013
+-91.8779	37.2865	7170
+-120.9464	35.3641	5305
+-114.5653	33.073	7059
+-91.2199	40.6608	7176
+-80.6032	27.2862	8078
+-90.9476	35.9434	6695
+-89.4086	42.8021	4932
+-90.4053	39.6146	8492
+-114.7964	35.0071	6680
+-86.6737	35.4909	6427
+-116.7225	36.1833	7224
+-89.8394	41.5731	6326
+-121.0145	47.0559	7532
+-114.1982	28.5014	4118
+-117.8353	34.2828	8896
+-84.0249	25.4023	6467
+-112.9222	33.3873	6055
+-120.5661	45.9915	6840
+-83.8438	27.773	7957
+-113.0452	34.1566	5423
+-118.7768	47.4287	7759
+-111.0045	32.0221	8605
+-114.8239	33.8784	7086
+-116.2281	44.8871	6733
+-115.0534	33.1565	7585
+-112.4414	33.2165	6584
+-80.4281	30.8787	5878
+-111.0165	29.5676	7168
+-118.5139	34.071	8176
+-122.3368	46.2114	8571
+-89.6347	36.966	8563
+-111.3921	27.0627	4443
+-123.1484	49.2935	7035
+-90.8579	42.8623	4963
+-111.4543	32.3777	7985
+-87.5371	35.0921	6613
+-120.2158	47.0953	6958
+-87.2606	40.4267	6285
+-88.7411	37.4367	9556
+-118.1518	38.0394	5169
+-117.1027	36.645	6792
+-89.9609	36.2361	7724
+-80.8039	28.1577	8325
+-118.2655	35.192	7950
+-83.4037	27.4554	8413
+-107.543	28.3651	4859
+-89.7853	38.9763	8735
+-87.8025	37.2449	8634
+-116.1226	33.6839	8403
+-116.2059	32.2337	8684
+-119.4299	48.2249	6703
+-120.6495	46.8709	7131
+-87.7339	39.3542	7594
+-124.8597	46.1095	7256
+-86.5562	40.9494	5372
+-113.2527	30.8165	6203
+-122.7642	44.7246	7139
+-91.0661	36.5369	6928
+-121.7475	49.1292	6914
+-81.6054	28.1848	9130
+-87.9867	40.332	6697
+-119.4361	31.6997	6730
+-110.8078	30.7576	8442
+-117.8272	33.345	8483
+-117.3931	35.4094	8139
+-118.2877	45.0004	8096
+-111.8158	27.3601	4624
+-106.7193	30.7301	5450
+-83.2681	28.7184	8217
+-115.9063	36.1393	6894
+-89.9646	35.3763	6914
+-82.0757	27.1352	9175
+-124.0334	44.5371	6661
+-111.7808	33.0414	7248
+-91.5616	34.9228	5419
+-109.3449	33.9389	6706
+-91.8043	38.4821	7866
+-113.5382	34.5867	5441
+-114.0196	32.4818	6445
+-108.8809	35.5712	4875
+-117.1531	34.8822	8712
+-91.4791	39.0687	8194
+-120.0793	45.6946	7311
+-85.9378	26.3467	5298
+-123.6832	48.0412	8145
+-81.8775	27.184	9173
+-88.9322	35.5195	7398
+-117.5657	37.0104	6383
+-119.776	45.028	7314
+-116.3962	34.4778	8517
+-80.4379	27.6733	7971
+-107.6177	29.2841	5618
+-87.5705	38.2188	8336
+-123.01	46.883	9454
+-88.0661	39.6025	7503
+-117.0301	33.2917	9218
+-122.1551	46.7935	8766
+-114.8967	36.1168	6167
+-121.7846	49.4156	6650
+-117.2965	30.8932	7576
+-88.8192	36.301	8282
+-118.692	29.3752	5459
+-121.397	45.5958	7371
+-82.4625	26.4711	8380
+-89.4957	43.9959	3690
+-116.11	34.503	8213
+-113.8691	44.9126	4419
+-90.4662	40.663	7361
+-116.5651	31.1614	7853
+-121.5016	46.1295	7816
+-112.8986	31.2089	6665
+-89.9127	38.3605	8766
+-124.6171	45.3293	7000
+-115.819	33.8196	7922
+-120.3468	35.1746	5991
+-124.2008	45.7398	7642
+-109.0579	28.2416	5598
+-119.1188	44.5539	7399
+-117.008	47.78	7027
+-81.0772	31.634	5357
+-108.1467	31.383	7095
+-84.3863	30.9817	5451
+-117.9999	34.1055	8737
+-117.8324	43.7088	6683
+-117.5858	45.5166	8298
+-89.3282	38.3759	8799
+-117.2814	32.2306	9011
+-88.1498	38.0058	9025
+-83.1493	26.904	8385
+-92.1127	39.2641	7480
+-117.3274	32.5048	9221
+-117.2492	42.8374	5636
+-87.174	38.4989	7798
+-87.772	36.2019	7828
+-112.3258	29.7646	6551
+-111.1233	32.8802	7828
+-80.0108	28.3036	7415
+-91.8613	38.1876	7720
+-118.2076	32.479	8318
+-90.8361	38.5322	8883
+-117.3095	31.3274	8048
+-123.5448	46.2582	8554
+-80.4307	30.2076	6525
+-88.9864	39.8519	7507
+-117.2092	49.8728	5106
+-116.4203	34.8358	8338
+-91.1701	35.7945	6396
+-92.2074	39.4806	7306
+-115.3939	35.6411	6915
+-118.4404	43.8779	6901
+-118.4445	47.837	7413
+-113.7813	29.375	5037
+-119.8791	46.8023	7414
+-116.7561	29.4198	5957
+-89.2169	38.8187	8165
+-87.6305	42.5031	4408
+-125.4301	46.4591	6771
+-123.298	48.7427	7606
+-89.7681	38.0608	8429
+-112.2828	32.7257	7025
+-124.6317	47.2713	7674
+-119.8244	35.8678	6167
+-115.2388	33.8357	7515
+-116.9729	46.2659	7862
+-122.2547	49.9053	6301
+-108.4291	31.8585	7389
+-117.6973	34.7812	8689
+-115.2551	34.7477	7244
+-81.0993	26.0418	7617
+-105.8755	28.561	3638
+-120.8938	46.4626	7334
+-85.4264	37.7692	6064
+-110.5891	29.6418	7352
+-118.9834	31.1665	6846
+-118.9196	33.3171	7527
+-90.3578	40.9557	7047
+-122.3134	45.6425	8015
+-106.4702	29.6025	4770
+-113.1144	33.9864	5491
+-83.7036	28.4325	7963
+-118.1275	46.1741	9078
+-88.7936	35.4448	7322
+-121.3309	31.6638	4718
+-117.5858	34.2767	9156
+-87.3178	38.4073	7988
+-89.6849	37.8559	8762
+-90.2822	38.6019	9231
+-123.6643	45.2206	7512
+-83.9946	29.5078	7009
+-83.2044	30.4905	6581
+-89.9205	40.9855	6964
+-123.6831	45.7273	7996
+-85.8925	26.8339	5511
+-113.1192	33.8568	5578
+-117.8558	32.0208	8422
+-118.886	35.486	7236
+-89.9771	37.6339	8144
+-89.3089	41.1806	6560
+-117.8126	33.4611	8593
+-119.5714	46.9557	7623
+-120.2855	47.5803	6623
+-114.9118	45.9221	5685
+-122.3807	46.8609	9024
+-89.6235	38.9488	8578
+-114.5568	31.4584	6667
+-86.6669	34.9992	6005
+-88.5726	41.6091	5777
+-89.7733	38.5107	8718
+-123.968	48.3137	7717
+-83.6281	28.6796	7911
+-90.5727	42.3663	5521
+-125.3478	45.8521	6651
+-117.963	41.5583	4438
+-119.0549	45.5439	8253
+-90.6039	38.1144	8699
+-87.4421	36.5938	7902
+-90.1031	32.9819	4347
+-87.9792	37.3823	8876
+-117.1955	48.7891	6188
+-112.655	32.4804	6777
+-118.4771	47.0047	8281
+-105.6677	32.4642	4329
+-83.0328	25.5117	7146
+-83.8027	28.0314	7980
+-88.5678	38.236	9137
+-118.0609	44.2998	7340
+-80.4834	29.9537	6793
+-113.2342	28.8488	5154
+-85.9099	39.1233	6215
+-85.0773	41.2262	4060
+-114.523	32.334	6975
+-117.8442	32.313	8624
+-92.6287	38.619	7000
+-119.223	46.5513	8157
+-93.2683	37.2947	5942
+-91.2269	39.7565	8009
+-114.8541	34.1171	6906
+-118.8841	44.7159	7663
+-90.8471	37.0219	7496
+-114.2214	29.2679	4748
+-88.1125	34.3197	5988
+-117.4177	34.8449	8744
+-117.1635	33.2905	9180
+-92.0912	34.4878	4475
+-110.608	31.5441	9173
+-124.7358	47.9624	7312
+-116.6102	34.1204	8822
+-125.4755	46.1295	6631
+-123.3057	49.0591	7264
+-94.1516	36.9409	4919
+-116.5892	30.2399	6848
+-119.1537	36.5677	6178
+-80.9629	28.5159	8320
+-118.3722	46.1142	9165
+-82.5062	30.0135	7316
+-88.7578	38.2161	9198
+-120.653	46.8352	7133
+-81.993	26.3528	8285
+-115.761	28.9934	5281
+-81.181	24.368	5899
+-113.0953	32.4144	6348
+-109.3477	33.0781	7534
+-119.3807	46.4971	8025
+-82.3076	29.484	7940
+-119.6034	46.4907	7803
+-109.6833	34.6157	6113
+-118.2567	31.0806	7340
+-88.6589	39.0204	8290
+-87.784	37.3924	8670
+-119.3018	33.48	7206
+-115.2362	32.2396	7718
+-83.4359	26.4596	7805
+-109.2926	31.8539	8308
+-121.8589	45.1302	7287
+-119.3483	36.4345	6153
+-79.9196	28.2954	7317
+-109.9578	31.6908	9050
+-91.7812	35.1482	5260
+-80.0427	28.0727	7502
+-112.426	32.6914	6908
+-114.5638	31.095	6456
+-116.245	33.2188	8831
+-108.6926	34.9595	5406
+-119.6789	47.8189	6916
+-82.0937	24.5898	6298
+-107.2672	32.1652	6092
+-119.8854	45.0666	7241
+-110.4056	31.1191	8965
+-87.249	37.0859	7991
+-115.8084	37.1647	5869
+-116.5176	35.391	7941
+-89.4535	39.958	7781
+-116.9819	40.5163	3188
+-118.9037	46.5367	8457
+-119.9977	43.5696	6023
+-91.7729	38.9909	7904
+-81.383	27.5074	8994
+-83.8284	28.6826	7713
+-117.0174	41.8872	4602
+-116.2489	33.2736	8804
+-115.2167	47.1842	5816
+-119.1582	44.2039	7049
+-87.1125	36.0941	7254
+-120.2272	45.443	7087
+-117.0439	47.2878	7442
+-80.1063	27.7899	7599
+-114.3799	31.2708	6392
+-115.5627	44.2747	5791
+-108.1803	32.0149	7095
+-87.862	35.2594	6929
+-116.45	33.321	8948
+-115.3242	35.1921	7125
+-89.7166	35.524	7185
+-110.1786	31.2691	9094
+-109.4442	33.4454	7238
+-88.0202	40.7385	6096
+-121.1337	49.9257	5820
+-120.4739	42.8585	5117
+-117.3534	48.2268	6802
+-119.6121	45.5378	7732
+-88.9791	40.5987	6922
+-84.5228	26.2911	6715
+-82.9224	28.6946	8514
+-88.0047	38.5081	8540
+-125.7829	46.0624	6287
+-118.327	35.5089	7643
+-118.4904	36.6572	6478
+-109.7582	32.7486	8066
+-87.0522	40.9493	5657
+-118.7472	46.596	8541
+-113.329	38.3205	3268
+-114.2345	36.1901	5541
+-120.0971	32.8124	6131
+-111.1216	30.8195	8284
+-87.72	35.7118	7327
+-82.1461	25.8117	7681
+-93.057	39.0431	6525
+-123.065	45.4222	7900
+-117.4966	35.842	7657
+-119.0825	31.2163	6794
+-87.6794	38.2051	8453
+-109.5006	34.4689	6220
+-111.0742	32.3792	8295
+-117.816	46.7458	8416
+-118.7903	35.3401	7418
+-118.5604	46.2365	8933
+-110.3676	30.1847	7958
+-82.299	31.4903	5675
+-110.4189	34.3614	6462
+-115.3887	35.796	6802
+-111.1551	31.7486	8565
+-118.0164	44.4654	7506
+-89.2706	37.0675	8937
+-108.2986	35.4323	4756
+-114.0845	34.8183	5987
+-89.9394	34.5678	6097
+-118.0254	33.481	8446
+-112.4867	28.4291	5336
+-110.8608	33.3903	7434
+-91.6307	38.4891	8051
+-89.0641	40.4693	7089
+-84.8418	37.8265	5406
+-116.0354	35.3583	7643
+-93.3878	39.5582	6071
+-112.4105	31.2134	7188
+-118.5571	32.4378	7929
+-89.7497	39.408	8440
+-115.9522	33.7233	8235
+-119.446	48.48	6455
+-83.7013	27.655	8114
+-115.0659	49.4393	4349
+-80.5106	28.0198	8034
+-89.637	36.2876	7985
+-116.295	35.7669	7465
+-114.869	31.2435	6828
+-90.0466	37.0142	8203
+-116.581	45.4838	7343
+-117.3465	35.1212	8457
+-112.8138	28.1741	4906
+-84.9377	38.4255	5433
+-116.0236	33.0685	8664
+-79.309	30.2237	5657
+-118.4462	37.5789	5565
+-78.8626	27.5794	6186
+-120.8662	46.1755	7209
+-114.7624	44.5481	5185
+-88.6093	37.8448	9548
+-88.2119	36.227	8084
+-121.5982	49.2313	6736
+-122.5239	45.5066	7950
+-115.2324	32.3162	7740
+-114.9623	31.8669	7279
+-83.7546	24.4588	5725
+-77.4669	29.7331	4163
+-86.7796	37.6328	7584
+-82.492	28.9963	8443
+-111.4531	32.2611	8055
+-92.5162	39.1208	7091
+-79.5893	28.5497	6881
+-86.1296	38.3047	6769
+-79.3218	28.0091	6700
+-113.2924	35.4504	4971
+-125.9011	45.2079	5785
+-90.4862	37.7956	8390
+-116.2443	35.2711	7869
+-83.7244	29.4418	7279
+-89.0265	40.7559	6814
+-121.9469	47.0888	8551
+-116.7478	34.9529	8480
+-116.4997	32.8016	9232
+-81.8923	31.0327	6187
+-118.3983	48.3837	6839
+-86.9574	36.8142	7570
+-108.8422	31.3808	7843
+-115.1033	36.5003	6040
+-116.4633	46.5472	7276
+-91.316	37.8392	8019
+-86.5594	35.7848	6560
+-122.8362	44.8182	7245
+-116.9588	34.3342	9137
+-119.1725	47.1943	7767
+-109.9821	31.3075	8990
+-112.9106	29.5836	5939
+-122.333	31.6832	3635
+-118.4878	33.753	8143
+-79.6478	28.0393	7064
+-116.9743	34.0341	9201
+-82.9464	27.4094	8888
+-117.1323	29.1915	5705
+-88.075	40.5364	6278
+-116.0151	36.0049	7082
+-117.5606	46.6039	8327
+-92.983	37.6363	6376
+-90.8384	34.4604	5531
+-113.4755	31.6377	6069
+-121.8018	45.003	7134
+-117.6436	32.8705	8995
+-92.6073	39.4938	6897
+-115.1416	31.8599	7454
+-123.0598	45.4297	7909
+-90.312	39.0829	9057
+-90.7355	37.8513	8384
+-124.5283	45.5991	7270
+-116.1708	35.114	7934
+-116.419	36.1077	7194
+-106.7266	30.1792	5280
+-80.2831	25.0566	6180
+-92.1587	36.4511	6294
+-120.1581	46.6381	7195
+-88.2226	38.2639	8908
+-120.7492	46.6521	7218
+-117.0691	35.9713	7521
+-107.834	32.0017	6728
+-110.4626	31.9377	9065
+-108.6667	35.2955	5065
+-122.769	49.7682	6525
+-79.4013	30.2749	5696
+-109.8091	32.5207	8310
+-89.4887	38.965	8433
+-89.2095	40.5104	7144
+-79.7374	27.3482	7141
+-111.3816	33.7208	6894
+-117.51	31.6112	8278
+-91.9511	35.7786	5803
+-119.4196	47.4696	7376
+-81.9348	25.5502	7375
+-110.6497	29.2887	6964
+-115.6311	34.6192	7677
+-115.9496	33.6827	8263
+-88.891	36.9633	9014
+-82.8043	27.8517	9127
+-118.9765	46.8481	8180
+-84.0823	37.7637	4556
+-82.006	33.5061	3397
+-90.7152	37.2451	7763
+-119.0136	47.5011	7587
+-89.1033	37.4696	9378
+-115.2599	29.7195	5809
+-88.0978	37.9724	8989
+-89.015	39.5024	7741
+-80.5396	24.8068	6089
+-117.4777	34.5751	9004
+-82.1659	27.5027	9592
+-94.9156	35.5495	3444
+-117.3079	34.6276	8997
+-115.6071	35.2608	7349
+-115.4281	35.7819	6844
+-118.0404	42.2262	5150
+-110.2658	27.478	5025
+-125.1028	46.853	7183
+-109.3807	27.0558	4461
+-111.4375	31.4982	8274
+-80.0122	27.7107	7492
+-80.8221	31.1476	5790
+-90.6352	38.86	9128
+-80.2786	27.7705	7794
+-118.4841	34.0746	8208
+-82.4124	31.1669	6033
+-126.0176	45.9932	6018
+-87.7927	37.7508	8718
+-123.4151	48.154	8184
+-91.0064	41.3463	6547
+-82.8888	27.6887	9033
+-89.7741	39.5885	8307
+-84.177	29.3752	6950
+-125.691	46.9187	6540
+-126.2948	44.99	5290
+-111.2363	28.926	6433
+-89.4014	39.8443	7840
+-113.9917	45.5255	4675
+-111.1095	32.7321	7971
+-119.6605	48.5616	6273
+-83.4838	26.8796	8065
+-120.334	47.6014	6569
+-88.041	37.6513	9000
+-90.0523	41.2761	6678
+-122.0516	45.9675	8166
+-119.1234	31.8473	7115
+-123.3776	46.7889	9046
+-90.784	39.5113	8497
+-82.5128	24.987	6719
+-116.3998	31.4239	8076
+-119.235	44.2473	7055
+-92.9929	38.733	6612
+-115.9821	37.3118	5798
+-89.9962	37.5132	8424
+-115.1371	36.1227	6359
+-107.87	32.5489	6607
+-110.9187	30.7372	8359
+-123.1624	49.2534	7077
+-121.3018	41.4744	3411
+-118.4877	33.3087	7931
+-111.3434	29.1534	6622
+-121.674	46.9949	8259
+-106.414	35.0512	3803
+-123.6984	49.1779	7023
+-90.5875	36.9248	7445
+-107.9903	28.6175	5379
+-84.3128	36.1432	4532
+-91.5069	40.4981	7185
+-119.2728	44.4419	7216
+-120.0796	31.4299	5952
+-117.1384	45.6502	7958
+-92.4524	40.7968	6287
+-106.6346	29.3347	4784
+-112.6669	32.0388	6898
+-92.621	38.2424	6951
+-90.1713	40.2616	7779
+-107.5094	32.4333	6278
+-115.4399	33.606	7836
+-91.3554	39.4019	8163
+-118.2633	48.7476	6456
+-89.7179	39.4692	8368
+-110.2517	28.3344	5952
+-110.0887	28.1672	5763
+-117.4384	33.9052	9226
+-118.4837	42.2423	5169
+-85.9218	37.417	6610
+-111.1901	32.459	8146
+-87.2022	35.5108	6826
+-114.4745	31.4757	6596
+-88.769	33.8584	5541
+-82.7906	32.0874	4948
+-113.3384	33.1934	5780
+-124.9675	45.8937	7047
+-88.6254	37.6153	9647
+-82.8994	27.622	9010
+-118.1814	36.026	7245
+-105.1866	29.7035	3537
+-126.943	42.6835	3135
+-82.041	30.2709	7057
+-118.1479	48.0679	7171
+-116.4126	33.9871	8593
+-91.8408	38.7626	7853
+-120.1322	47.9323	6504
+-125.5875	47.4291	6610
+-89.1128	40.5939	7011
+-117.7644	32.299	8692
+-89.6552	36.3301	8014
+-90.2882	41.1738	6810
+-86.638	40.2463	6060
+-112.9715	32.1491	6550
+-123.1622	48.2829	8132
+-87.5212	35.1582	6672
+-90.2483	37.6466	8226
+-90.4676	39.3734	8746
+-86.8528	28.3388	4514
+-91.9346	39.6617	7485
+-110.8331	32.7288	8119
+-79.8958	26.9979	7216
+-89.8548	38.4363	8762
+-110.9178	28.7606	6350
+-87.3303	39.3264	7351
+-119.4238	43.3301	6088
+-114.9951	33.2806	7494
+-86.9071	36.3972	7288
+-108.4511	29.7168	6602
+-119.9319	32.8543	6313
+-119.0393	32.5699	7425
+-122.2523	49.1694	7084
+-90.2561	36.654	7794
+-124.5936	46.0241	7477
+-108.1858	33.1796	6574
+-118.9834	33.0971	7350
+-126.082	48.80	5572
+-116.2008	45.4342	6945
+-83.0474	30.3675	6773
+-115.3104	34.0049	7399
+-91.4387	38.5987	8275
+-110.659	32.7306	8181
+-108.6141	28.9646	6079
+-110.3372	32.9372	8007
+-119.9622	44.1601	6543
+-117.8568	46.7534	8434
+-112.5272	34.5275	5495
+-92.0758	36.745	6596
+-118.9111	38.7974	4143
+-92.2775	38.7013	7382
+-110.5209	31.6359	9262
+-117.9392	47.4221	7814
+-109.3642	33.6003	7049
+-86.8851	34.5905	5768
+-118.1008	46.4918	8803
+-122.3804	45.8793	8282
+-79.5366	27.2206	6890
+-117.1586	34.1468	9419
+-110.6246	30.823	8591
+-119.9886	30.597	5571
+-80.4865	31.3805	5399
+-82.3552	29.0227	8449
+-117.2268	34.4844	9152
+-106.227	29.8381	4639
+-117.2919	47.648	7314
+-90.9326	40.5075	7440
+-125.4103	46.7985	6842
+-116.8524	32.5724	9452
+-115.4211	46.6096	6182
+-119.8549	47.3102	7160
+-122.2658	44.0387	6315
+-91.3612	38.2365	8234
+-109.6006	30.2695	7844
+-116.591	42.6136	5156
+-80.4956	26.3998	7479
+-114.1573	33.7598	6447
+-113.6186	34.6711	5516
+-80.9214	25.6057	7089
+-118.2825	46.6077	8723
+-83.2275	27.181	8488
+-89.8613	42.3568	5496
+-114.9002	33.5779	7296
+-122.4716	46.4841	8897
+-117.9844	34.9394	8360
+-89.3963	39.5175	8077
+-119.0479	36.0688	6669
+-81.5648	26.6215	8446
+-110.7642	31.6569	9000
+-86.7006	35.4864	6444
+-117.4951	33.6604	8965
+-90.1392	34.3982	5837
+-111.5161	29.3938	6777
+-83.0789	25.4039	7013
+-108.2381	29.8113	6500
+-87.5662	35.5557	7090
+-120.1417	34.0527	6400
+-84.3811	25.7756	6495
+-86.258	28.0049	5218
+-108.4713	31.5297	7455
+-77.3937	28.5712	4453
+-85.1049	26.1122	6045
+-115.5499	33.6352	7928
+-119.4274	34.0951	7180
+-85.1158	28.4873	6421
+-80.0312	25.7971	6633
+-119.5239	33.0652	6814
+-87.4436	39.3482	7413
+-90.3064	40.1138	7952
+-92.5232	40.1719	6655
+-119.7675	44.4245	6890
+-119.7998	46.6205	7563
+-82.4849	28.0455	9385
+-116.2016	31.7535	8292
+-114.8936	32.7513	7440
+-90.0187	36.0186	7492
+-110.8211	30.9709	8625
+-90.3915	39.9844	8094
+-82.8171	26.1662	7923
+-87.8293	38.0839	8663
+-80.2583	27.3615	7722
+-118.677	29.973	6051
+-117.6009	35.0391	8485
+-94.096	34.4063	3265
+-89.9067	37.2471	8452
+-118.3967	36.3409	6833
+-112.4464	35.8252	4339
+-107.2125	31.5561	6092
+-117.4531	34.63	8959
+-84.3484	26.7611	7140
+-92.7964	37.7821	6622
+-121.6636	44.3789	6455
+-85.2312	38.0867	5819
+-116.9999	33.6666	8952
+-118.5703	47.864	7368
+-85.1979	24.8138	5078
+-111.3829	31.4565	8328
+-92.2047	34.027	4195
+-107.5396	34.6136	5008
+-90.8233	40.1658	7826
+-116.9843	31.6694	8473
+-114.3182	28.8945	4474
+-116.831	33.1774	9323
+-120.7487	45.4025	6547
+-108.0437	34.9505	5062
+-115.3855	33.3484	7892
+-113.6504	32.4566	6032
+-124.4954	45.5898	7291
+-121.2892	46.4848	7759
+-82.3602	28.8164	8677
+-117.7414	35.8514	7593
+-80.878	29.0242	7882
+-80.6421	29.9839	6869
+-120.0024	45.6665	7383
+-119.7114	45.4932	7617
+-123.3227	46.3845	8816
+-123.2216	45.7621	8236
+-117.7609	37.2139	6134
+-88.4757	37.6522	9488
+-81.833	25.8195	7664
+-91.0197	34.2193	5193
+-93.798	38.2369	5703
+-82.0451	29.4532	7982
+-116.5979	34.8113	8499
+-109.6014	29.8209	7406
+-90.5236	36.5326	7468
+-89.0405	36.699	8687
+-119.3802	48.5095	6457
+-88.774	40.5618	6812
+-115.1645	33.5994	7561
+-80.5486	27.5111	8076
+-106.5888	33.5507	4891
+-124.5095	46.4164	7737
+-117.7701	34.8252	8604
+-124.1402	45.2009	7236
+-111.7577	30.7579	7690
+-86.7774	36.3142	7115
+-116.3488	33.4584	8759
+-88.7342	38.4902	8889
+-94.3908	38.2699	5074
+-91.8346	42.3195	5271
+-113.7285	31.6835	5793
+-110.1109	30.3086	8072
+-120.6154	47.4851	7032
+-113.7602	32.1612	6102
+-118.6536	45.1613	8192
+-116.5491	41.0155	3571
+-89.4469	38.898	8403
+-115.1967	29.5047	5564
+-118.0208	32.2301	8407
+-90.7857	38.3024	8776
+-120.8195	48.8494	6523
+-121.6875	47.4865	8157
+-119.931	47.7734	6773
+-115.8538	35.2731	7558
+-79.7882	27.8292	7238
+-124.106	47.7419	8031
+-109.2518	29.5854	7012
+-113.5037	33.5188	5812
+-124.8244	45.7592	7110
+-122.4301	44.5595	6912
+-117.5212	33.5795	8873
+-120.424	31.2644	5526
+-82.8029	26.3866	8157
+-82.5061	27.0876	9016
+-106.93	32.4889	5658
+-122.6221	47.5203	8926
+-80.0216	27.3002	7446
+-124.6298	47.6258	7572
+-119.7834	42.709	5333
+-120.4595	48.9623	6143
+-113.7136	32.7591	6124
+-92.2078	36.1891	6035
+-114.7963	33.7574	7114
+-117.1627	30.9509	7660
+-120.8651	44.9445	6265
+-118.0642	32.7995	8528
+-111.1967	31.2968	8488
+-118.1687	47.694	7568
+-123.9404	44.9376	7101
+-94.0685	39.681	5328
+-112.1386	28.6941	5782
+-115.9007	34.9294	7813
+-115.0626	31.865	7379
+-117.0074	35.785	7714
+-118.2662	35.2028	7941
+-89.945	38.8044	8948
+-116.1191	33.1622	8732
+-123.2186	48.9292	7422
+-84.9279	39.7192	4928
+-117.9653	49.3908	5759
+-117.4352	31.3324	8017
+-116.787	33.7948	8898
+-88.4667	41.0202	6222
+-109.7353	26.9713	4435
+-116.9855	31.452	8231
+-116.1393	31.1733	7701
+-119.3995	32.2006	6954
+-111.6283	31.4559	8064
+-116.8592	32.0925	8936
+-112.6433	31.6217	6970
+-124.6833	48.4443	7062
+-88.7194	38.1291	9293
+-110.7367	29.3558	7021
+-111.2396	32.7956	7834
+-122.965	46.6599	9262
+-117.2884	47.5112	7432
+-118.7192	35.8117	7117
+-89.902	37.6429	8540
+-122.1771	47.3791	8692
+-89.6065	34.1544	5762
+-109.7931	30.1809	7845
+-91.4287	39.6052	7969
+-88.4471	41.4907	5808
+-119.0369	46.3319	8425
+-108.1819	31.8743	7121
+-90.8693	43.0115	4801
+-116.3298	34.3453	8490
+-81.832	26.6912	8629
+-89.1163	35.8179	7704
+-124.1027	46.5281	8200
+-86.2692	41.5824	4601
+-122.4661	46.9257	9127
+-118.1651	33.723	8460
+-114.3064	30.6927	5956
+-93.1711	37.7748	6241
+-115.1356	32.4459	7669
+-109.3479	29.8828	7344
+-117.7115	37.1953	6163
+-92.3238	36.2297	5996
+-121.4554	46.5212	7945
+-111.9506	30.9554	7594
+-115.2443	30.0607	6128
+-110.3442	28.7182	6369
+-115.551	32.0113	7936
+-86.5963	38.0383	7343
+-121.7289	37.203	3630
+-91.2098	38.0425	8252
+-83.3394	26.8197	8158
+-110.371	35.025	5744
+-118.681	32.9357	7836
+-82.5591	30.4497	6819
+-89.8545	38.3283	8695
+-120.3235	31.4587	5714
+-91.2943	35.8814	6180
+-120.1011	46.7276	7224
+-116.4979	34.2017	8696
+-122.7636	46.0376	8575
+-117.8254	33.7185	8779
+-120.46	45.1961	6764
+-119.3509	33.3971	7127
+-114.7762	33.7434	7100
+-125.731	45.7796	6234
+-115.4959	34.2595	7601
+-124.0725	46.8235	8308
+-87.9318	39.9817	7052
+-118.5126	42.774	5730
+-88.1538	36.2094	8041
+-123.1628	47.5669	8886
+-116.2768	31.4105	8006
+-88.9414	35.8772	7798
+-90.6649	39.7738	8280
+-110.3714	31.6715	9369
+-94.9271	41.8762	3480
+-117.0875	44.416	7073
+-109.6532	31.384	8706
+-118.8964	34.8081	7614
+-118.0106	46.9762	8289
+-89.3134	35.9756	7821
+-86.2384	38.3188	6884
+-118.6115	47.0406	8206
+-119.3316	45.9004	8130
+-117.6847	32.4593	8858
+-83.4176	29.2171	7701
+-124.7366	46.674	7563
+-118.6541	37.5123	5553
+-88.0326	41.5109	5516
+-89.321	39.7556	7848
+-91.1222	41.7508	6093
+-122.529	46.0488	8519
+-88.5429	35.912	7830
+-120.7582	44.4092	6086
+-89.3708	37.6104	9134
+-119.871	45.4487	7443
+-90.5334	38.33	8944
+-114.6992	30.9556	6481
+-91.0872	38.6247	8654
+-87.1113	34.4491	5754
+-91.0412	37.6443	8038
+-116.6282	47.9268	6650
+-123.3796	45.632	8048
+-117.1277	32.6629	9505
+-81.4927	30.2389	7003
+-126.534	45.471	5289
+-110.6188	29.6738	7382
+-121.8402	49.223	6867
+-90.4763	38.0275	8639
+-122.7879	48.7811	7609
+-84.2933	26.441	7025
+-91.2734	40.4471	7359
+-118.5186	31.5583	7524
+-123.9405	46.7935	8447
+-88.2396	37.4614	9181
+-119.1459	46.9195	8000
+-117.8864	47.0663	8154
+-125.0849	45.9862	6975
+-90.5001	37.5964	8175
+-108.1629	33.8421	6080
+-92.1167	39.9327	7163
+-114.291	44.4704	4694
+-117.2749	40.9275	3679
+-123.0747	46.2417	8787
+-86.5408	37.5077	7310
+-82.3944	26.3959	8314
+-81.6125	25.7432	7529
+-80.8062	28.7376	8032
+-88.823	42.6509	4896
+-90.9304	39.9209	8031
+-81.92	27.1496	9154
+-116.495	33.5304	8799
+-116.5641	45.8809	7425
+-122.6594	47.2152	9226
+-117.9115	37.0317	6299
+-118.0997	48.6598	6543
+-119.3544	46.6987	7961
+-115.585	32.4776	8166
+-88.6307	39.2516	8029
+-86.3736	37.4226	7115
+-118.7414	37.1195	5905
+-121.8273	46.3917	8269
+-110.6719	31.0778	8814
+-108.5427	30.2422	7050
+-93.4782	38.7593	6088
+-114.5989	35.5485	6244
+-87.398	35.3334	6779
+-85.5804	37.4426	6230
+-112.4124	29.3237	6147
+-116.7455	32.8123	9506
+-111.6226	29.8804	7159
+-82.9441	28.5183	8642
+-92.3954	40.483	6562
+-121.6993	48.503	7464
+-111.124	37.5865	2913
+-89.3844	37.2246	8963
+-108.8905	32.0278	7838
+-105.501	29.2388	3654
+-86.409	38.0363	7136
+-114.8937	32.4241	7400
+-119.8821	48.6097	6109
+-89.1264	37.5877	9402
+-115.0297	44.2804	5312
+-124.9199	49.5497	6004
+-114.6824	31.4599	6790
+-118.2821	46.7435	8579
+-87.8799	38.872	8135
+-108.4898	33.11	6880
+-115.8255	33.4281	8309
+-119.5736	30.1029	5555
+-86.3907	38.8679	6826
+-114.4002	34.1498	6411
+-125.0073	45.887	7005
+-89.3678	41.0392	6725
+-109.0103	33.7845	6691
+-118.2279	33.9719	8475
+-85.7802	33.57	4125
+-113.8328	42.6757	3313
+-120.5144	48.2331	6639
+-85.102	29.4805	6014
+-123.6051	47.3116	8744
+-113.5052	31.8501	6025
+-88.3458	38.2429	9014
+-84.809	30.1986	5802
+-108.0883	28.8475	5639
+-89.1455	38.6623	8619
+-114.144	35.7345	5710
+-82.718	27.4533	9142
+-116.0628	41.9939	4317
+-93.2922	39.2493	6243
+-79.4012	25.5931	5943
+-88.2304	37.1339	8967
+-117.8721	46.8773	8329
+-120.4981	46.0758	6915
+-84.9472	28.8674	6474
+-117.5872	30.2764	6836
+-88.5636	36.6065	8604
+-120.816	46.8251	7311
+-108.6025	35.6597	4675
+-81.2053	25.4904	7111
+-116.4662	31.8913	8580
+-90.3612	39.161	8981
+-117.8393	33.0504	8745
+-107.6379	31.1573	6517
+-113.5822	30.079	5594
+-119.3422	43.1538	5945
+-84.2264	27.3373	7475
+-118.3649	34.0715	8338
+-94.4194	42.4453	3526
+-120.8656	47.3343	7335
+-121.1235	48.8245	6782
+-88.628	37.6721	9659
+-114.7558	33.1096	7265
+-116.4294	48.0437	6416
+-91.6268	40.5958	7026
+-117.4556	48.4745	6597
+-109.2276	28.8871	6316
+-116.4267	36.1367	7168
+-117.3985	31.3762	8076
+-112.8618	32.3944	6597
+-121.3216	42.4884	4262
+-93.3193	39.7692	6075
+-119.546	33.2277	6862
+-111.9142	36.1111	4277
+-79.7442	28.5745	7039
+-124.0095	48.6648	7378
+-111.8892	32.5191	7506
+-91.1744	39.183	8452
+-114.9901	31.0463	6793
+-88.5629	37.1118	9152
+-89.2862	35.2268	7016
+-88.647	43.0256	4450
+-91.8731	41.1997	6334
+-115.0025	49.8784	3961
+-111.3394	33.1049	7497
+-106.6956	32.4037	5433
+-123.0962	46.2624	8803
+-116.3215	37.4554	5770
+-115.5722	35.5947	7097
+-122.3877	46.0269	8430
+-88.2701	36.6091	8504
+-124.1211	47.464	8158
+-79.4944	26.4693	6566
+-91.2283	33.2135	4104
+-88.8104	37.7065	9748
+-117.0805	45.0762	7588
+-118.2387	45.8027	8942
+-110.4393	29.3686	7071
+-80.0986	29.0362	7179
+-90.3956	38.3175	8958
+-91.2712	39.2855	8307
+-111.1298	31.7168	8599
+-105.2383	32.0697	3928
+-120.5623	47.4329	6987
+-91.6868	35.4855	5636
+-125.0813	45.9223	6949
+-115.4965	28.8412	5025
+-119.4334	44.1307	6845
+-116.6188	33.4426	8954
+-84.9641	29.5688	6096
+-109.2512	32.2162	8115
+-110.1596	26.48	3941
+-115.6269	30.0405	6315
+-87.2857	40.1547	6564
+-115.1212	31.8002	7403
+-83.8835	27.4436	7879
+-91.7714	35.4283	5544
+-108.2304	33.727	6220
+-119.1177	44.0928	6958
+-107.4691	30.0626	5960
+-114.7244	33.13	7228
+-111.9954	28.7062	5874
+-78.3428	27.0567	5529
+-122.0258	48.3926	7769
+-110.8419	28.61	6205
+-83.0402	28.487	8582
+-119.7491	43.5589	6154
+-82.8453	25.6451	7361
+-115.7413	31.414	7675
+-119.2509	31.6743	6904
+-115.5339	49.6914	4470
+-82.0022	27.2584	9299
+-84.1434	28.0243	7600
+-113.7594	32.1194	6092
+-124.3794	45.3246	7178
+-92.2863	40.248	6814
+-91.8144	39.8551	7476
+-115.4805	33.454	7949
+-115.1286	45.9291	5915
+-113.2115	35.7355	4782
+-92.9827	38.0223	6515
+-108.1459	33.1279	6572
+-116.4017	44.5815	6700
+-117.1453	31.9676	8785
+-110.4855	30.9561	8774
+-113.1705	32.0425	6360
+-83.6241	28.2874	8106
+-111.3314	33.6642	6973
+-118.2493	46.9547	8355
+-87.1637	37.5016	8006
+-88.6159	36.3893	8372
+-120.3306	30.7523	5351
+-116.9488	32.7979	9724
+-120.5897	34.4517	5896
+-114.603	31.5758	6775
+-109.778	33.3085	7510
+-122.8974	48.8788	7505
+-110.8486	31.2495	8808
+-119.597	30.3705	5746
+-119.3114	29.3697	5103
+-81.7809	27.8043	9491
+-119.0172	32.7227	7463
+-88.0906	39.8304	7270
+-109.9186	31.6909	9009
+-118.7651	49.7982	5311
+-115.5386	29.6207	5848
+-122.5313	48.6721	7689
+-87.9247	39.0784	7969
+-88.8178	36.1691	8134
+-119.3172	31.039	6466
+-122.7405	47.8921	8574
+-88.3704	36.691	8634
+-118.4708	33.694	8140
+-114.0977	28.443	4162
+-108.1283	32.556	6862
+-115.4333	32.8983	8040
+-116.8745	33.6163	8830
+-118.5882	45.661	8694
+-88.9083	38.8231	8507
+-92.2133	34.5262	4463
+-88.9982	35.8352	7744
+-91.1547	42.6775	5110
+-124.2669	46.6481	8064
+-90.4388	41.13	6858
+-86.713	37.4957	7502
+-87.6155	36.6204	8069
+-117.8545	45.3692	8363
+-121.4993	48.3278	7460
+-83.6519	27.1645	8044
+-88.7358	38.9941	8324
+-122.7932	45.0682	7517
+-118.6244	32.6829	7898
+-90.4133	35.6951	6932
+-120.2451	46.4516	7150
+-89.2247	38.5974	8650
+-112.9545	36.0988	4369
+-125.0352	44.6296	6128
+-119.9793	33.8197	6559
+-117.2243	32.2104	9018
+-122.603	42.3006	4470
+-117.2832	33.5899	8945
+-116.2181	33.8345	8349
+-109.5044	32.5653	8081
+-90.0501	36.1413	7578
+-83.7112	28.6131	7867
+-115.3517	30.8778	6938
+-114.8715	33.7147	7210
+-111.9498	33.8506	6457
+-118.5251	44.3059	7343
+-122.0655	47.7627	8339
+-86.5918	36.5391	7066
+-87.8611	38.6418	8321
+-89.7381	41.3854	6500
+-108.8474	32.7045	7457
+-81.983	28.6515	8877
+-111.5325	31.3197	8143
+-79.6416	27.7254	7073
+-123.5227	45.4049	7759
+-117.8388	34.6487	8698
+-114.8877	33.8637	7157
+-84.3382	38.437	4769
+-86.811	39.8884	6492
+-117.2079	44.9492	7592
+-111.3049	31.3563	8392
+-84.1321	27.22	7548
+-108.9331	32.3521	7743
+-119.7392	32.7484	6659
+-118.4021	29.014	5219
+-87.7344	35.9182	7537
+-79.5197	25.4416	5935
+-112.3757	29.6882	6455
+-117.698	28.9271	5339
+-116.8392	47.7742	6919
+-123.0294	43.4778	5771
+-116.0384	36.3823	6743
+-113.5095	32.6057	5858
+-88.7322	38.0935	9334
+-117.0264	43.4883	6191
+-122.9092	45.1553	7616
+-119.3275	45.8108	8113
+-117.808	43.6831	6652
+-117.5855	43.1756	6076
+-89.1624	38.8412	8105
+-86.343	41.5742	4653
+-87.6385	34.71	6263
+-117.5215	46.915	8079
+-114.2951	27.9018	3614
+-116.7133	34.3972	8869
+-122.0593	46.4619	8529
+-118.4344	45.6938	8802
+-113.6136	30.5099	5734
+-118.4701	42.872	5836
+-89.3049	38.4723	8727
+-116.4545	46.2164	7320
+-115.3581	31.7522	7601
+-116.9346	33.6004	8853
+-81.4369	25.5367	7249
+-116.9817	31.3458	8112
+-108.9471	31.3148	7944
+-118.79	31.0097	6890
+-115.018	32.9245	7576
+-88.438	33.3009	4901
+-116.0267	37.584	5538
+-91.686	36.4838	6607
+-117.7118	47.7447	7417
+-112.9455	31.9386	6617
+-122.8581	44.9432	7383
+-115.1285	32.7708	7702
+-83.2904	25.8537	7363
+-117.3296	34.3542	9287
+-111.3777	32.5558	7927
+-84.0632	27.5088	7690
+-115.3296	35.4109	7007
+-90.5657	39.4091	8687
+-120.2017	49.0962	5830
+-92.656	38.4244	6950
+-109.3374	31.5521	8394
+-118.3232	36.3495	6860
+-115.5683	35.1552	7376
+-110.0416	31.279	9017
+-122.1094	43.8128	6034
+-91.9217	42.5468	5009
+-116.7551	34.8303	8595
+-119.0952	34.7973	7416
+-117.9299	33.9043	8772
+-120.6039	48.1654	6760
+-126.4901	45.7545	5443
+-115.0648	45.3283	5755
+-114.6937	33.367	7144
+-111.5968	30.9975	7965
+-112.1677	28.0454	5156
+-119.407	47.7073	7184
+-116.226	42.5753	4938
+-119.0501	29.8196	5682
+-109.8075	34.1529	6632
+-120.6207	32.0922	5598
+-111.372	30.7201	8010
+-125.6081	44.3162	5443
+-118.8955	33.2732	7529
+-78.6885	28.0594	5981
+-89.0855	36.4421	8395
+-116.6497	36.1133	7276
+-89.3687	37.0523	8850
+-116.0893	37.0448	6112
+-116.6922	33.7208	8766
+-118.2331	45.4695	8591
+-117.153	35.3701	8183
+-119.0383	34.0605	7604
+-108.8627	30.8351	7686
+-89.7315	36.498	8114
+-89.2015	38.6297	8628
+-119.9141	39.3609	3146
+-118.1471	46.371	8939
+-119.742	46.5551	7642
+-117.866	33.4943	8582
+-78.4492	24.8672	4588
+-121.3325	48.2618	7372
+-121.6159	44.7253	6768
+-117.2602	35.4399	8113
+-116.7753	34.0603	8996
+-86.394	38.4225	7020
+-123.1912	45.3855	7840
+-118.4801	32.9423	8059
+-82.958	26.7284	8392
+-119.945	46.0537	7500
+-109.4502	36.4093	4158
+-110.1198	32.7193	8221
+-80.6652	29.2923	7497
+-118.0941	41.518	4404
+-85.3393	38.1724	5926
+-86.0872	37.1076	6743
+-90.5492	39.6233	8466
+-85.9174	28.4696	5538
+-118.7675	45.1559	8137
+-88.1564	39.6698	7464
+-117.7809	33.1538	8770
+-104.7286	28.5504	2569
+-111.231	33.4834	7197
+-118.0478	31.4194	7782
+-113.4261	34.8322	5280
+-92.027	39.269	7567
+-124.9086	45.0773	6577
+-108.4083	26.4133	3496
+-116.2788	45.0105	6844
+-115.5338	33.6503	7904
+-121.4717	32.9512	4773
+-112.5872	33.234	6447
+-119.5425	46.8119	7729
+-117.3254	33.3382	9047
+-109.3664	33.0098	7606
+-81.254	27.2763	8753
+-113.6538	35.5154	5318
+-83.8165	27.7897	7988
+-83.2154	30.1096	6973
+-108.9778	29.0608	6371
+-119.0839	46.5893	8267
+-91.1507	35.7953	6413
+-120.5795	49.6375	5719
+-115.7697	34.3496	7888
+-91.8307	38.8471	7861
+-118.3055	45.2201	8328
+-117.1712	47.03	7725
+-91.1747	39.1441	8471
+-88.5789	39.0368	8262
+-113.9008	32.3535	6294
+-119.9686	48.8655	5831
+-85.764	35.7038	5789
+-110.0817	30.4712	8238
+-95.0101	37.9655	4366
+-86.8447	27.8138	4562
+-119.1568	32.7126	7307
+-122.9349	44.8747	7308
+-117.1705	35.597	7938
+-123.7834	48.1574	7977
+-88.7148	41.3173	6124
+-116.0926	34.047	8254
+-119.9949	46.3351	7431
+-119.0108	29.7573	5649
+-115.597	31.1867	7378
+-85.8617	36.0721	6096
+-89.6127	35.7527	7467
+-121.0347	44.8121	6475
+-119.6526	34.9021	6803
+-116.9025	44.7975	7250
+-88.541	36.256	8212
+-88.8342	41.4139	6103
+-119.3825	35.7215	6652
+-116.7229	35.614	7817
+-111.2939	32.1294	8276
+-117.3285	34.1928	9444
+-116.8958	47.4439	7215
+-118.8885	47.3256	7813
+-80.9803	27.2618	8468
+-118.3049	35.883	7319
+-117.3859	36.3483	7118
+-94.9075	38.8048	4548
+-109.4253	31.6031	8490
+-115.1698	31.5335	7290
+-116.0534	45.818	6880
+-84.5764	36.0874	4789
+-89.949	39.4884	8501
+-118.2476	33.0522	8300
+-87.8729	37.9249	8771
+-89.5849	36.3734	8098
+-114.212	37.3906	4667
+-115.5646	32.0308	7960
+-109.7239	33.6721	7116
+-80.2366	29.0171	7322
+-90.5989	37.8069	8382
+-86.3419	37.1894	7041
+-91.139	37.3352	7695
+-88.0723	33.481	5053
+-125.0782	45.4413	6685
+-89.6369	40.3494	7522
+-116.9838	34.5925	8950
+-113.6705	44.6916	4152
+-116.958	33.4031	9099
+-120.1013	31.0859	5759
+-109.5382	29.8534	7411
+-115.513	42.2529	4240
+-118.757	47.3263	7868
+-80.7478	27.2353	8214
+-116.9365	47.2774	7366
+-83.0756	27.3058	8706
+-91.7656	37.887	7668
+-122.2962	45.4133	7775
+-117.0128	49.6954	5222
+-117.3498	34.6824	8932
+-117.8132	47.0248	8162
+-122.9569	47.3899	9137
+-120.8848	33.3551	5501
+-118.8686	42.9594	5877
+-92.4604	37.6797	6906
+-111.2049	33.8168	6876
+-116.6824	34.1341	8901
+-119.5078	32.439	6887
+-117.7491	35.1488	8312
+-120.0045	46.5131	7386
+-113.5989	31.4462	5932
+-117.8225	33.5693	8674
+-123.9753	44.6477	6798
+-94.1591	40.1819	5072
+-110.42	30.2687	8046
+-113.7115	27.54	3765
+-85.4391	38.2128	6030
+-119.1523	43.5147	6372
+-116.45	31.9465	8624
+-121.3562	47.9054	7621
+-80.3245	32.5426	4115
+-116.5648	33.6839	8629
+-89.087	36.3762	8323
+-123.2384	46.6374	9087
+-123.6759	47.7567	8390
+-90.7429	38.8924	9007
+-117.6134	45.3444	8191
+-117.1671	43.4684	6233
+-124.878	47.6944	7291
+-122.6229	44.3479	6713
+-112.1836	30.1743	6954
+-89.3404	39.3371	8134
+-125.8365	47.0244	6379
+-87.7354	38.3541	8424
+-117.7192	33.3138	8747
+-107.3823	30.8799	6187
+-91.9201	37.6037	7358
+-93.2603	40.7034	5676
+-118.9601	45.8844	8508
+-88.8347	40.8689	6596
+-106.592	29.2109	4674
+-117.2264	45.9215	8125
+-115.8099	33.8548	7920
+-123.0963	45.7146	8214
+-89.3991	38.4353	8697
+-87.0641	37.9164	7883
+-80.5458	32.5151	4228
+-117.3649	34.0932	9422
+-116.6059	42.5313	5084
+-110.0426	32.3989	8535
+-90.9699	41.6295	6257
+-116.7633	32.9134	9502
+-116.2084	33.837	8339
+-117.3428	34.5116	9117
+-127.7439	47.5983	4240
+-111.2606	30.493	7923
+-91.00	37.5243	7945
+-116.387	36.4509	6834
+-117.6011	33.482	8739
+-88.5041	39.4222	7822
+-90.9922	40.5601	7366
+-82.843	29.4443	7832
+-81.9446	26.2306	8142
+-115.9978	32.853	8671
+-90.7724	38.1167	8623
+-120.8601	46.9793	7365
+-115.2804	33.4752	7734
+-120.7527	43.9327	5781
+-116.9772	32.3469	9229
+-81.285	27.2062	8742
+-88.2474	38.5433	8671
+-80.0657	26.5634	7186
+-91.4578	40.4729	7236
+-116.4719	43.01	5467
+-119.3052	37.6869	5069
+-88.226	38.6742	8531
+-108.6138	31.5914	7611
+-117.3671	33.4575	8793
+-118.864	47.2292	7916
+-123.0842	46.6449	9199
+-80.1461	27.9013	7639
+-83.3363	24.0076	5427
+-116.0195	32.5943	8668
+-116.8209	33.7486	8896
+-92.4884	40.8672	6206
+-121.9221	49.0275	7100
+-117.5865	48.5831	6529
+-120.7577	31.1269	5123
+-91.634	39.7969	7666
+-87.6639	38.2881	8394
+-112.5819	29.8524	6399
+-90.6644	39.6732	8384
+-83.2933	26.4129	7876
+-93.9829	37.7637	5402
+-88.7614	40.5618	6803
+-116.7769	36.6922	6696
+-116.5335	35.759	7593
+-109.8534	32.1116	8700
+-125.2423	42.3287	3898
+-119.3434	47.1183	7704
+-111.8562	32.6506	7459
+-119.5946	44.7248	7248
+-82.1577	30.487	6815
+-119.3293	46.3341	8125
+-117.8011	44.5065	7497
+-111.9634	31.0336	7610
+-92.8239	38.1677	6720
+-116.7675	32.0411	8860
+-120.7986	44.6147	6167
+-90.3605	37.0253	7887
+-109.8174	30.725	8389
+-117.1469	48.0304	6888
+-118.3997	38.4852	4633
+-115.8832	35.757	7211
+-81.2596	28.5227	8585
+-117.8512	29.7967	6243
+-91.3859	36.5897	6857
+-117.975	35.8907	7471
+-87.4152	39.479	7277
+-86.0485	32.49	3253
+-117.2169	30.9954	7702
+-113.9561	43.0163	3633
+-76.8635	24.8638	3086
+-121.854	47.1731	8435
+-116.8362	34.0083	9049
+-126.8518	47.8833	5149
+-91.5797	42.2225	5466
+-111.9188	32.9303	7220
+-117.3383	35.2533	8314
+-117.7233	32.0126	8521
+-118.6141	45.1696	8215
+-105.2601	26.9439	2025
+-116.78	30.0714	6684
+-119.107	46.5737	8254
+-107.9311	28.9076	5578
+-115.5919	33.1937	8163
+-119.0837	47.7267	7340
+-122.1044	44.8814	7154
+-118.379	32.0219	7945
+-109.4671	32.4125	8174
+-91.3123	39.4567	8166
+-86.3946	37.9856	7128
+-118.8367	32.2588	7576
+-110.1191	35.11	5645
+-116.2569	34.7115	8269
+-94.2353	39.6125	5170
+-108.6573	31.9129	7623
+-115.1628	31.7838	7434
+-125.221	48.7496	6391
+-84.2006	31.7673	4798
+-119.5413	33.0884	6807
+-115.1851	47.4903	5664
+-81.8518	25.4185	7217
+-114.1665	32.0859	6525
+-89.2525	37.5975	9264
+-113.7778	32.4242	6169
+-121.4118	46.7517	7954
+-78.1966	27.2054	5394
+-117.2828	29.9103	6492
+-88.5826	35.6609	7555
+-119.0563	46.1457	8440
+-111.5458	31.6432	8158
+-88.032	40.0639	7000
+-113.7997	35.023	5634
+-81.8879	27.3067	9303
+-90.8292	36.1819	6963
+-116.2206	34.3353	8376
+-88.9287	42.0357	5551
+-91.7273	37.5445	7478
+-116.8948	34.0652	9126
+-108.5285	31.0254	7427
+-123.9364	49.8143	6277
+-112.4538	30.6942	6982
+-120.5128	42.539	4811
+-90.2595	38.5681	9187
+-90.0533	41.2356	6722
+-117.9057	42.6971	5634
+-116.4673	45.9336	7329
+-117.2432	35.8873	7624
+-81.1857	25.1307	6723
+-124.0021	47.8118	8080
+-83.4623	28.7016	8054
+-119.9034	31.7012	6249
+-90.0509	37.1038	8241
+-127.3095	44.4332	4019
+-113.0606	30.5767	6324
+-90.9514	38.0525	8455
+-88.4245	34.0036	5686
+-111.7291	33.7391	6691
+-116.0954	33.1116	8727
+-124.6109	45.6617	7242
+-87.7937	36.5156	8124
+-107.5089	33.0968	6002
+-112.4573	34.8976	5209
+-87.0846	39.1517	7296
+-107.0143	27.8032	4023
+-118.2318	30.9824	7267
+-117.5442	46.2723	8457
+-121.3202	46.1494	7652
+-120.0273	43.5723	6008
+-121.8017	48.442	7585
+-117.5446	36.258	7200
+-104.8099	29.6692	3140
+-88.6297	35.0159	6836
+-114.0729	34.5554	6024
+-82.8595	25.6371	7347
+-105.373	33.145	3839
+-112.9435	27.7616	4459
+-111.7166	30.6424	7661
+-121.8101	45.2827	7402
+-118.3578	45.622	8748
+-118.1289	45.4278	8530
+-88.6511	35.942	7875
+-118.0614	32.1872	8344
+-110.0259	29.9388	7661
+-121.8322	49.0859	6999
+-114.808	29.1108	4969
+-89.2971	37.5038	9192
+-80.899	28.0111	8469
+-111.6898	33.2515	7144
+-89.8883	40.2511	7721
+-115.7702	38.874	4115
+-86.764	37.4216	7551
+-83.6407	28.8727	7777
+-121.7149	31.8428	4346
+-117.0045	33.9534	9191
+-118.8888	48.0068	7142
+-90.3096	36.919	7891
+-88.7271	38.2853	9118
+-118.2231	33.9235	8470
+-123.1522	47.1979	9230
+-107.7594	33.564	5955
+-116.5206	34.0714	8721
+-123.5941	49.6815	6528
+-89.1148	39.9791	7521
+-122.1435	47.0978	8763
+-118.8297	47.2984	7866
+-90.0026	35.1051	6623
+-115.8939	30.07	6464
+-116.9083	46.3825	7774
+-124.123	35.1263	1981
+-121.9941	33.7359	4363
+-111.5052	30.1265	7448
+-115.5305	33.4099	8020
+-81.125	27.1203	8537
+-89.6265	37.8155	8835
+-124.9437	49.3789	6133
+-116.3998	33.6414	8451
+-85.388	28.0904	6192
+-122.476	47.9295	8450
+-118.059	33.8843	8632
+-118.6228	48.0388	7176
+-118.6933	43.7533	6738
+-92.1814	37.574	7109
+-123.4186	47.2781	8942
+-120.671	43.2087	5289
+-120.5197	33.9569	5984
+-120.9136	44.1425	5788
+-123.171	47.7747	8670
+-115.8394	45.9428	6667
+-79.4722	27.7168	6881
+-112.8899	30.7641	6565
+-123.0699	46.3001	8850
+-90.3344	39.4845	8631
+-119.3223	45.6262	8051
+-112.0063	31.4445	7655
+-117.9126	33.5173	8564
+-119.1989	44.2002	7027
+-116.1205	34.8826	8044
+-84.04	29.2698	7146
+-116.3106	28.5686	4958
+-91.3822	37.252	7484
+-124.9967	48.7683	6569
+-113.2209	33.5124	5711
+-87.1119	40.3732	6254
+-86.0266	36.1006	6273
+-80.9334	28.2173	8442
+-113.5002	29.6256	5440
+-82.9832	30.7414	6392
+-116.2928	47.0982	6902
+-117.1805	35.2151	8354
+-118.7743	48.4869	6680
+-120.0576	35.0159	6345
+-119.5292	35.9595	6366
+-119.3563	47.5826	7322
+-123.6646	45.7083	7989
+-124.9446	48.2104	6977
+-115.6472	32.2228	8139
+-117.0278	32.5035	9397
+-93.2106	40.7187	5711
+-91.1212	35.5813	6285
+-87.7734	38.7321	8180
+-117.7124	43.0738	5999
+-122.6969	46.7104	9247
+-119.1548	31.2481	6750
+-90.002	33.2727	4692
+-118.7195	34.2816	7945
+-116.6689	32.9986	9364
+-112.7109	30.7448	6742
+-109.4065	33.1788	7474
+-90.3186	35.7529	7050
+-122.8308	47.4725	9045
+-90.8034	36.3049	7065
+-115.9694	31.4345	7852
+-117.6817	29.3451	5799
+-121.3429	46.9186	7895
+-115.2156	34.4651	7271
+-109.6587	30.3822	7981
+-127.5086	47.0874	4541
+-114.3148	45.1989	4951
+-111.6241	35.9344	4556
+-77.7718	27.7949	4958
+-93.0333	37.0408	6026
+-80.3007	27.1502	7705
+-118.7956	31.3995	7172
+-117.4376	38.7934	4451
+-80.515	27.1787	7944
+-108.7549	31.838	7741
+-117.8486	32.4983	8707
+-88.7429	41.5006	5972
+-87.9512	35.6089	7331
+-119.3086	32.6409	7133
+-89.5264	33.7808	5371
+-108.208	30.0406	6628
+-90.1676	40.1548	7893
+-123.2013	46.6768	9147
+-88.6717	37.7701	9657
+-118.6941	34.5515	7915
+-119.4484	31.5499	6645
+-89.3984	39.7083	7943
+-116.2821	37.1131	6115
+-111.4488	31.7303	8255
+-116.2537	36.6081	6621
+-115.6319	35.4933	7218
+-120.9183	47.47	7360
+-116.2355	33.1626	8851
+-127.0546	48.6846	4667
+-118.7027	46.0492	8813
+-115.8014	49.2638	5002
+-87.5875	41.34	5317
+-91.5324	38.5459	8166
+-91.8688	37.8117	7531
+-89.7935	37.849	8644
+-111.498	36.5166	3982
+-83.3588	25.5739	7051
+-117.582	29.9186	6448
+-113.1057	30.6751	6313
+-112.7709	32.4817	6659
+-90.0686	37.7893	8335
+-125.0967	46.5205	7144
+-89.8349	37.9832	8408
+-91.5789	35.9953	6188
+-110.1823	30.8186	8629
+-123.2144	46.2172	8713
+-89.9008	36.2436	7773
+-119.1245	36.3706	6366
+-108.7787	31.0798	7703
+-90.9898	42.7776	5034
+-115.8865	34.3932	8006
+-116.6996	32.1147	8915
+-119.697	47.9087	6829
+-118.2666	35.2889	7871
+-84.2547	30.262	6187
+-107.4461	30.033	5923
+-108.0654	33.5283	6236
+-116.9716	34.2873	9175
+-116.5971	32.3603	9098
+-81.4067	24.9122	6560
+-118.5993	45.4949	8538
+-81.5169	28.8613	8471
+-118.3903	33.9522	8296
+-116.3953	32.3606	8938
+-89.4894	38.8685	8452
+-88.4931	36.7234	8713
+-86.90	40.3334	6161
+-116.8945	34.2696	9106
+-116.5537	36.1802	7174
+-118.8139	48.225	6941
+-110.4947	35.0793	5682
+-88.988	39.9256	7458
+-78.5795	29.7235	5303
+-118.3523	48.1643	7073
+-80.0086	27.3171	7435
+-82.0506	25.5715	7407
+-110.7556	29.8416	7532
+-90.3467	39.5098	8604
+-90.0394	38.8877	9025
+-118.4439	47.6741	7585
+-116.0102	32.062	8394
+-116.7759	37.14	6215
+-117.5779	35.4874	8022
+-115.6104	33.3827	8114
+-77.6047	26.6549	4617
+-121.8114	45.2195	7345
+-119.4199	30.7625	6184
+-86.5091	37.5768	7279
+-108.9106	31.7407	7923
+-83.1777	27.60	8696
+-123.4201	49.5789	6680
+-116.8184	33.7721	8910
+-123.8318	44.0225	6214
+-79.2423	27.5906	6616
+-91.083	38.4367	8598
+-84.4674	27.1952	7174
+-81.6138	30.6078	6625
+-93.0153	36.9073	5961
+-123.6151	45.9021	8197
+-123.916	44.4292	6603
+-114.7623	44.8619	5308
+-80.1764	25.0468	6102
+-119.0564	44.1937	7082
+-125.727	48.8926	5848
+-88.7169	36.6959	8725
+-89.2074	36.2484	8149
+-115.3493	32.2938	7857
+-93.3402	40.8665	5505
+-112.1399	31.8051	7502
+-90.3748	35.3029	6606
+-110.5337	30.5924	8378
+-88.7617	38.6852	8671
+-121.8924	41.7906	3813
+-116.3629	31.6671	8305
+-115.0699	31.3786	7098
+-120.503	46.1289	6909
+-114.9709	34.4899	7004
+-94.0805	38.6624	5438
+-112.2691	30.6946	7166
+-116.5845	44.1607	6530
+-88.2541	36.755	8642
+-84.0481	27.7191	7726
+-118.1769	30.2591	6597
+-83.0674	27.3671	8743
+-109.096	30.3559	7585
+-122.3762	46.6744	8947
+-89.3768	35.6775	7480
+-117.2356	33.1317	9291
+-86.7103	36.433	7124
+-87.771	40.1261	6836
+-107.8769	32.511	6629
+-81.2292	27.6119	8855
+-119.9108	33.0633	6426
+-80.4089	25.7753	6912
+-90.5121	37.3782	7939
+-114.5019	31.9944	6855
+-123.1232	49.2676	7066
+-84.9953	24.0327	4570
+-117.4669	44.658	7506
+-82.7778	24.9297	6601
+-88.7886	39.7027	7422
+-108.0413	32.3872	6842
+-121.2038	33.9811	5240
+-116.3214	34.3445	8481
+-114.7662	45.1776	5410
+-89.0844	40.3676	7188
+-89.8709	39.0798	8768
+-115.9019	31.9977	8255
+-90.1034	38.0479	8610
+-119.4629	44.3494	7025
+-115.6021	36.0698	6752
+-123.5158	42.9732	5167
+-109.3534	31.4243	8398
+-120.843	33.9811	5633
+-125.4885	46.037	6585
+-113.7008	31.1546	5796
+-118.6679	35.1025	7679
+-117.8199	33.6553	8740
+-84.692	29.3203	6506
+-91.6002	39.8591	7650
+-89.7834	41.8064	6067
+-125.9892	47.2901	6194
+-116.4024	45.2353	7068
+-88.2369	37.7708	9209
+-85.0983	37.037	5637
+-111.4789	32.4403	7923
+-109.34	29.2116	6688
+-117.2418	46.0349	8155
+-118.2714	34.3073	8425
+-84.3788	39.3782	4528
+-112.1238	31.0553	7451
+-89.9053	38.0438	8505
+-117.1204	28.9893	5480
+-83.0497	29.5683	7606
+-111.5443	32.2263	7988
+-117.8939	44.9097	7934
+-108.5852	28.8279	5938
+-116.6072	34.342	8783
+-88.7325	37.142	9226
+-109.4888	31.9039	8495
+-115.1823	35.1436	7011
+-91.2735	35.8787	6184
+-116.6265	35.8336	7556
+-117.3785	46.1958	8297
+-123.0855	47.3155	9172
+-110.9199	29.0105	6614
+-118.0271	45.7172	8773
+-122.7428	44.3355	6710
+-119.5654	46.319	7883
+-116.668	34.804	8557
+-89.5461	37.8229	8923
+-80.3315	28.8937	7488
+-111.666	29.4505	6749
+-110.1219	32.0646	8904
+-119.0753	33.4773	7439
+-83.5677	24.3399	5690
+-91.1182	37.0941	7472
+-114.3798	34.2818	6385
+-88.2828	35.4554	7275
+-116.4402	34.1167	8636
+-122.0749	33.0028	4150
+-89.6361	39.0668	8550
+-120.1365	36.6814	5351
+-122.3367	45.2629	7635
+-110.405	29.6662	7395
+-87.0561	38.7773	7525
+-82.6162	27.3114	9142
+-79.0425	25.5353	5580
+-118.3163	33.203	8008
+-88.8819	37.7012	9680
+-121.6853	46.828	8263
+-117.2123	32.809	9479
+-83.883	28.8832	7544
+-91.0735	37.6486	8023
+-106.137	30.8415	4857
+-121.2014	47.6201	7607
+-117.6922	46.3603	8577
+-115.3829	31.7446	7620
+-112.711	30.3128	6553
+-118.5812	34.6402	8001
+-114.5888	30.8566	6316
+-87.2542	35.9187	7221
+-88.8641	40.5708	6868
+-87.2074	39.5142	7101
+-79.9823	25.3943	6269
+-114.8927	31.0894	6742
+-92.6151	38.2616	6962
+-89.2754	38.8702	8223
+-117.2857	29.7516	6316
+-127.2513	47.2414	4816
+-78.0441	24.6643	4085
+-87.8235	37.2426	8655
+-117.0811	43.5327	6258
+-91.5727	37.554	7606
+-83.4125	27.803	8445
+-87.0102	35.2686	6479
+-80.7037	29.5627	7295
+-87.726	38.7725	8110
+-112.3943	33.3524	6531
+-83.6589	28.2157	8093
+-80.4888	30.7463	6042
+-107.2204	29.4035	5356
+-121.1226	46.9007	7652
+-116.8949	33.8974	9058
+-123.1541	48.6978	7684
+-119.6253	43.4269	6093
+-124.8974	45.8046	7067
+-117.2211	45.1951	7783
+-91.7815	38.9654	7900
+-89.8466	38.9396	8811
+-108.4546	29.0221	6032
+-88.2247	37.7814	9193
+-110.6158	34.9171	5849
+-117.9181	34.1352	8827
+-115.446	33.2024	8003
+-122.9831	47.2206	9313
+-116.2215	34.4875	8334
+-108.081	29.2283	5943
+-117.597	37.4694	5881
+-79.3528	30.2621	5666
+-117.4506	33.8162	9138
+-116.301	34.5624	8385
+-82.997	24.8439	6444
+-114.4257	30.5061	5922
+-85.1756	32.3823	3638
+-119.9461	43.4534	5950
+-109.8392	34.4884	6281
+-116.8853	46.5996	7688
+-113.6309	32.2587	5827
+-90.4801	38.1712	8792
+-112.6107	28.6207	5425
+-115.2694	34.0077	7355
+-119.6846	40.7196	3372
+-89.477	36.5089	8291
+-88.7668	38.091	9338
+-121.1942	49.9245	5855
+-117.8841	33.3202	8424
+-109.2654	33.3706	7218
+-93.5112	39.0038	6042
+-120.4907	44.4253	6326
+-111.0989	30.4897	8027
+-123.3629	46.4256	8824
+-120.708	32.9729	5576
+-88.1529	35.0502	6799
+-92.0578	37.1228	6908
+-123.2704	46.7467	9133
+-120.1217	36.5759	5439
+-114.5227	39.6955	2772
+-114.9411	32.3285	7429
+-111.0933	32.5868	8110
+-107.8372	30.4645	6510
+-79.4845	30.8583	5286
+-118.6625	30.3779	6440
+-106.992	30.6853	5725
+-80.8004	26.4485	7772
+-89.9596	38.1323	8617
+-91.3843	37.6992	7860
+-87.6514	36.6857	8148
+-117.0841	42.0337	4771
+-88.2675	38.2885	8920
+-115.0948	32.8875	7664
+-117.0381	34.1918	9281
+-112.9011	33.4495	6034
+-118.9682	32.0244	7352
+-114.8491	32.1944	7291
+-116.3201	34.1487	8505
+-88.3393	35.9465	7826
+-123.5553	48.8611	7404
+-90.3019	37.6885	8277
+-125.1256	49.1528	6179
+-121.0541	47.0047	7578
+-90.0226	41.3365	6610
+-88.4097	37.3747	9298
+-82.2391	27.0485	9071
+-124.1244	49.1704	6836
+-89.7641	37.8583	8675
+-82.5678	27.3027	9173
+-87.4247	36.3807	7729
+-109.7363	29.8496	7487
+-113.6861	36.4435	4890
+-125.3649	47.4521	6846
+-88.0382	36.0004	7774
+-124.6897	47.3797	7588
+-116.367	46.5394	7178
+-118.8196	44.179	7148
+-118.3248	34.8472	8145
+-119.4663	47.1504	7585
+-79.8846	29.2502	6844
+-89.3616	37.4242	9094
+-115.6737	33.9102	7783
+-123.6101	47.8325	8376
+-114.8951	32.4159	7399
+-93.4386	37.346	5800
+-117.2227	35.5203	8024
+-121.8904	44.9784	7156
+-91.0077	40.0155	7903
+-117.8089	37.7437	5555
+-87.3127	38.1873	8081
+-116.5355	34.1088	8740
+-118.0803	46.3873	8888
+-122.147	44.5647	6841
+-88.8485	38.6861	8666
+-81.833	24.9715	6712
+-117.3869	26.6923	2906
+-116.8429	46.523	7671
+-125.3919	47.0712	6866
+-109.2846	31.3234	8303
+-90.791	39.7286	8282
+-126.6649	49.1676	4815
+-111.0763	34.6225	6084
+-117.8159	42.9818	5921
+-116.6164	30.9833	7671
+-105.6515	32.1385	4365
+-119.6412	44.792	7264
+-91.289	38.0062	8161
+-117.2436	47.9159	7044
+-119.4142	48.4542	6495
+-120.8528	46.8821	7355
+-111.1258	31.1789	8510
+-110.9635	33.6034	7181
+-118.9018	33.774	7712
+-118.2702	35.4065	7769
+-116.9012	31.5372	8324
+-118.1715	44.3907	7446
+-124.2636	46.524	8031
+-117.0167	47.3166	7401
+-125.5339	48.3708	6327
+-116.3715	32.0615	8680
+-120.0219	47.1348	7118
+-91.3336	35.9737	6261
+-110.8059	32.6594	8200
+-116.5573	33.2537	9085
+-117.8644	43.3383	6302
+-88.9412	37.6601	9619
+-114.8993	35.752	6410
+-116.2558	33.3608	8754
+-82.1335	28.8042	8719
+-83.8246	26.9307	7758
+-84.3308	26.762	7159
+-119.7121	36.8871	5520
+-89.3115	36.5836	8455
+-91.5674	39.0195	8115
+-91.5567	37.6054	7658
+-90.4253	37.5291	8108
+-126.1543	46.9024	6030
+-117.1406	46.9378	7760
+-121.0828	32.9545	5181
+-122.4226	35.7021	3659
+-119.5059	34.0072	7091
+-123.5316	49.2217	7033
+-114.6287	34.7048	6594
+-85.1674	38.5418	5657
+-125.9678	46.879	6234
+-119.4098	33.2951	7028
+-109.0087	32.4769	7742
+-116.4395	35.6979	7607
+-85.2496	29.5523	5829
+-116.3395	49.9966	4649
+-120.7943	33.9233	5683
+-118.2907	33.3168	8109
+-114.087	29.9773	5242
+-117.854	46.2987	8760
+-116.8634	34.3875	9018
+-122.0324	43.4888	5668
+-91.3099	36.4375	6739
+-116.2799	29.3087	5766
+-110.3284	29.5304	7249
+-108.1476	31.6803	7103
+-114.3421	33.7778	6635
+-117.3526	36.6186	6825
+-115.6528	33.3769	8160
+-89.2138	36.8392	8760
+-110.6562	31.6462	9117
+-115.4637	35.8356	6833
+-118.8323	38.088	4898
+-112.2733	34.0381	6084
+-89.8674	39.5705	8380
+-117.3857	33.0417	9222
+-113.1878	36.7443	4255
+-110.3617	29.3474	7051
+-111.6987	32.6606	7589
+-118.6739	37.5058	5552
+-118.2123	33.4501	8265
+-90.609	35.3466	6490
+-109.112	28.9862	6364
+-121.5278	46.3702	7962
+-91.9906	38.9981	7671
+-89.4988	37.8173	8976
+-113.7807	30.0546	5388
+-119.0764	33.8015	7531
+-125.0142	46.9155	7283
+-91.222	40.151	7664
+-90.8023	42.4876	5371
+-109.0003	29.5542	6843
+-115.2151	32.7669	7798
+-111.7997	30.4259	7450
+-89.5478	38.4468	8466
+-116.1748	29.9124	6395
+-125.1374	49.1189	6195
+-83.7284	27.0302	7905
+-83.4955	26.4257	7730
+-116.4823	32.7776	9211
+-85.4462	37.7427	6087
+-121.3731	48.0536	7547
+-91.6945	42.1326	5514
+-115.638	33.5476	8061
+-126.9058	49.8643	4175
+-116.5657	43.0135	5520
+-116.4173	38.3298	4867
+-117.9505	32.6031	8630
+-78.7977	29.7174	5521
+-84.3573	28.6121	7201
+-123.9012	49.9075	6193
+-117.3297	36.3933	7072
+-82.6644	28.0393	9217
+-114.4647	33.414	6884
+-118.6847	34.5852	7914
+-107.8956	27.8991	4687
+-118.7742	46.728	8416
+-110.0181	30.9847	8741
+-89.683	37.0838	8596
+-116.8067	36.191	7238
+-118.0524	47.6399	7611
+-91.1225	39.3458	8401
+-117.0111	33.8269	9103
+-80.6253	26.8616	7903
+-108.8188	31.0812	7745
+-88.9866	37.6786	9568
+-110.0205	33.9999	6833
+-109.047	27.418	4750
+-112.4227	30.5128	6930
+-115.7868	32.4208	8365
+-119.881	44.9407	7170
+-115.7737	29.8552	6192
+-91.7601	36.7424	6801
+-90.0235	38.0966	8620
+-117.4667	46.4823	8306
+-92.5397	38.9689	7088
+-90.4269	38.0508	8669
+-116.782	32.6313	9461
+-86.5963	40.2395	6036
+-119.0233	29.4611	5363
+-88.5324	39.1088	8174
+-118.8709	31.6226	7246
+-118.5502	41.5052	4386
+-88.0298	36.5026	8269
+-117.8402	46.4817	8641
+-116.2449	33.2536	8812
+-122.0932	48.3327	7863
+-113.085	31.3828	6484
+-109.0281	33.113	7295
+-90.3427	38.7282	9375
+-108.7511	31.0751	7673
+-123.6414	43.6508	5873
+-92.9793	37.894	6478
+-114.1031	33.9919	6300
+-118.5907	32.0987	7772
+-91.4188	35.3385	5854
+-115.5761	34.9294	7500
+-120.2585	35.7453	5831
+-88.7486	35.8022	7723
+-94.0786	41.2442	4619
+-89.3032	36.0737	7929
+-85.4734	35.5589	5426
+-116.5626	30.2121	6813
+-120.5845	48.2801	6682
+-116.7009	34.8337	8556
+-89.4376	39.6314	8031
+-118.8989	32.5835	7582
+-114.2179	33.6046	6563
+-116.4255	34.2368	8613
+-90.2621	41.0927	6896
+-120.4735	45.8562	6927
+-116.9073	33.8751	9055
+-109.7837	32.8477	7980
+-89.5251	38.9114	8483
+-117.2868	33.2039	9192
+-89.8256	38.1217	8519
+-120.2661	32.7425	6072
+-86.7376	35.9963	6865
+-90.1351	36.5062	7801
+-110.992	34.8897	5821
+-118.4808	43.8502	6869
+-81.935	24.179	5827
+-91.4068	39.6444	7959
+-90.1096	36.7718	8004
+-116.8228	29.8336	6422
+-125.7875	46.3779	6369
+-118.7066	35.1559	7611
+-89.6257	40.5186	7351
+-119.1612	46.5297	8225
+-89.0197	37.464	9452
+-117.6161	36.76	6647
+-77.4053	26.931	4460
+-119.8122	49.167	5631
+-120.3454	46.8237	6946
+-118.2457	31.5072	7711
+-85.2255	26.9813	6283
+-114.3127	32.5737	6780
+-87.1027	34.9677	6257
+-119.8986	46.4106	7518
+-113.5734	32.3007	5878
+-108.7272	29.5831	6694
+-81.057	28.6976	8282
+-119.6606	46.6302	7698
+-108.7759	30.6885	7528
+-114.6457	44.3792	4999
+-109.3103	30.6679	7986
+-110.5697	29.6379	7350
+-82.7202	26.7901	8604
+-112.7556	31.4133	6843
+-87.903	35.8483	7556
+-88.0872	34.431	6105
+-123.4747	47.2562	8899
+-121.5418	48.362	7467
+-118.4475	47.9936	7248
+-116.0893	32.577	8738
+-122.7423	45.7548	8264
+-90.1527	34.4537	5888
+-90.9209	36.7181	7159
+-120.0439	33.0078	6269
+-114.1844	34.4573	6157
+-110.0856	34.4346	6373
+-109.7842	31.7581	8849
+-80.0193	25.981	6762
+-82.8216	25.4705	7181
+-118.8121	48.6959	6455
+-89.987	40.2399	7763
+-81.2503	27.2915	8758
+-80.3648	29.9798	6687
+-108.2605	32.2918	7100
+-94.3408	38.642	5157
+-117.1919	31.7178	8502
+-83.6336	29.5752	7234
+-107.5665	33.9613	5521
+-87.2044	37.7591	8058
+-108.7363	31.7622	7732
+-118.3582	34.5899	8247
+-116.7454	44.2309	6697
+-81.5912	24.1981	5809
+-117.3987	31.3938	8094
+-86.6472	35.8128	6655
+-121.3231	45.1658	6976
+-121.4105	41.7938	3624
+-124.5311	46.8832	7812
+-115.0284	33.7513	7353
+-118.5558	30.5708	6684
+-115.1124	32.3476	7619
+-82.5731	25.6438	7440
+-120.9966	48.8818	6640
+-84.4665	34.5458	3851
+-89.8975	37.2387	8458
+-119.7524	44.2528	6761
+-122.689	46.599	9140
+-91.488	40.8866	6832
+-115.8585	28.9885	5308
+-117.79	33.0054	8811
+-122.5462	45.8264	8295
+-88.087	36.9293	8690
+-120.1595	35.4833	6056
+-117.1864	33.4386	9017
+-113.4053	33.8021	5631
+-116.0967	36.9677	6193
+-84.9245	31.3839	4723
+-81.5244	25.944	7718
+-121.9247	45.9542	8062
+-110.4754	34.6249	6175
+-87.0785	39.9642	6614
+-83.4149	25.1543	6600
+-89.3107	35.9509	7795
+-117.9275	47.9772	7237
+-114.6206	32.558	7120
+-116.5915	34.9702	8365
+-88.5837	37.8859	9494
+-115.7146	32.9008	8353
+-87.2221	34.7169	6078
+-87.5142	36.5625	7941
+-116.6431	45.4106	7376
+-115.1287	30.7196	6643
+-126.9395	47.3837	5145
+-79.5275	25.477	5968
+-90.5017	39.0287	9098
+-117.6304	32.7066	9002
+-117.347	32.9217	9313
+-92.5582	36.6658	6178
+-122.0623	44.3295	6566
+-106.7336	31.3759	5567
+-82.0069	25.5871	7423
+-86.7268	34.8338	5897
+-83.1216	29.6696	7466
+-124.1778	46.6422	8158
+-115.6628	30.4199	6710
+-108.3173	29.9633	6671
+-93.357	35.3594	4563
+-82.2048	31.052	6175
+-113.7372	34.5675	5659
+-121.1742	45.373	7025
+-88.29	38.9415	8287
+-115.445	34.0571	7549
+-119.1253	35.2779	7157
+-93.4641	38.7864	6104
+-118.3868	43.9931	7026
+-89.3308	40.6509	7082
+-120.5034	46.9717	6734
+-91.2368	42.8382	4923
+-113.8219	31.8005	6067
+-116.9104	36.5637	6858
+-88.9442	38.624	8721
+-117.3525	32.2163	8957
+-91.2149	38.9893	8492
+-83.5255	29.2989	7550
+-109.1479	35.9021	4621
+-116.7418	33.4926	8958
+-111.7615	28.9161	6196
+-80.6783	27.9345	8235
+-118.3443	33.5865	8220
+-91.1648	37.3823	7727
+-86.0457	33.2107	3955
+-115.7402	32.7972	8385
+-78.037	25.7512	4727
+-119.944	46.1945	7499
+-115.4794	33.6651	7843
+-118.8239	33.6902	7772
+-119.6843	46.0948	7777
+-117.5577	36.2353	7223
+-116.6192	33.9395	8801
+-115.5187	35.2093	7299
+-83.4607	28.2992	8274
+-118.2056	41.9966	4914
+-83.3093	26.7968	8168
+-82.8088	27.1125	8829
+-87.4065	35.1237	6579
+-111.5121	32.5724	7806
+-82.8506	27.6038	9060
+-124.6792	46.7487	7637
+-115.485	36.2218	6543
+-109.7432	33.1965	7612
+-124.7886	48.4555	6964
+-82.3522	29.0749	8392
+-119.2301	49.4734	5550
+-92.7675	37.4685	6507
+-116.7703	47.8609	6802
+-89.5999	36.8816	8530
+-87.9507	39.0171	8043
+-114.3563	30.1139	5562
+-121.3493	46.8699	7899
+-119.5783	33.1345	6791
+-109.7131	30.1893	7821
+-116.2571	47.2264	6805
+-108.6479	30.7572	7440
+-78.5175	28.9976	5571
+-119.6714	34.2615	6911
+-87.3243	40.4714	6274
+-115.524	34.9521	7438
+-116.6321	32.7513	9373
+-111.1984	31.1109	8406
+-115.991	32.7692	8663
+-81.7855	26.7826	8712
+-113.7265	33.0019	6133
+-120.1314	46.1357	7303
+-89.7378	35.5763	7228
+-111.7364	34.3575	6105
+-112.9754	33.7839	5748
+-118.0882	35.0443	8200
+-123.425	48.0614	8272
+-88.497	35.7381	7630
+-86.9399	37.836	7756
+-88.372	33.582	5209
+-87.8743	37.7817	8805
+-115.6252	37.729	5226
+-93.9708	39.2372	5522
+-125.8002	47.2356	6406
+-80.2482	25.8774	6873
+-118.7963	33.9945	7862
+-117.2156	37.5963	5760
+-115.9206	35.1381	7706
+-117.6958	34.1891	9066
+-88.6557	39.4908	7763
+-81.4552	25.6589	7388
+-116.5106	32.2515	8943
+-117.9963	34.2233	8736
+-127.2095	44.0865	3912
+-122.8746	48.8684	7517
+-89.5313	41.8204	5990
+-125.2572	45.9727	6796
+-93.0231	37.0755	6055
+-118.0471	31.7171	8033
+-80.7047	27.4985	8248
+-82.4492	28.323	9169
+-112.9755	30.3074	6295
+-115.3113	30.9292	6953
+-121.5006	45.0386	6989
+-88.5302	40.7329	6499
+-114.0213	32.1707	6390
+-123.4894	48.7468	7546
+-80.4248	25.2627	6463
+-124.3634	48.4354	7328
+-107.7182	34.1687	5489
+-121.067	43.2911	5072
+-122.122	49.6415	6546
+-116.7167	46.765	7458
+-119.4893	44.9737	7513
+-91.2845	38.4372	8396
+-115.2603	31.8518	7566
+-117.5952	47.653	7462
+-110.8975	29.0756	6689
+-118.6235	32.7384	7903
+-109.0685	28.9079	6267
+-117.9652	45.7153	8732
+-112.7584	30.3909	6546
+-86.475	32.9224	3902
+-87.7535	39.3213	7637
+-91.4218	38.7736	8305
+-110.6673	33.0644	7829
+-81.3884	28.3173	8844
+-91.7435	36.6802	6755
+-109.2715	28.6353	6079
+-115.9449	32.6694	8601
+-120.4239	34.3919	6082
+-82.9069	26.3765	8093
+-125.7754	47.3411	6421
+-114.7023	33.9272	6940
+-116.167	31.8859	8384
+-120.9848	47.6306	7379
+-114.7772	44.789	5296
+-120.8909	35.4109	5346
+-79.2486	25.8477	5973
+-86.6249	25.6072	4254
+-115.5192	33.9476	7621
+-116.3899	30.5909	7188
+-108.3946	33.4998	6520
+-116.9835	31.6586	8461
+-89.1651	37.9679	9254
+-82.9412	28.1199	8895
+-92.4476	40.881	6227
+-108.2318	28.2814	5233
+-115.2102	34.0213	7291
+-108.5089	30.5489	7201
+-89.1757	38.9334	8108
+-117.9468	46.6144	8610
+-116.9861	33.2946	9219
+-89.2252	37.7733	9286
+-109.4346	30.4981	7947
+-88.9637	39.9211	7441
+-116.8217	32.9254	9551
+-119.1243	47.7266	7321
+-118.998	46.1549	8501
+-116.2064	41.3102	3731
+-111.0625	32.5903	8127
+-110.477	34.2657	6563
+-81.7715	25.0022	6738
+-114.4028	34.4441	6396
+-89.0979	38.5962	8707
+-88.1202	36.7987	8601
+-113.7198	33.0275	6124
+-91.3818	40.7781	6988
+-91.6538	37.7414	7676
+-116.868	34.3254	9055
+-118.637	45.0196	8057
+-88.2754	37.8182	9238
+-116.6837	31.9509	8737
+-109.8286	32.1607	8643
+-90.4238	38.5125	9165
+-127.0426	44.7168	4427
+-87.8182	38.5404	8367
+-118.046	35.7138	7616
+-115.3691	33.4362	7842
+-118.3735	35.032	7983
+-87.2421	37.332	8063
+-109.8063	33.8098	6995
+-111.1043	33.1062	7624
+-123.1302	46.8509	9323
+-86.7937	35.8091	6774
+-80.7598	29.3568	7515
+-113.7859	35.7698	5342
+-123.3795	44.642	6999
+-109.4653	32.926	7741
+-118.1049	35.5334	7758
+-88.8218	38.9267	8399
+-84.3582	26.4957	6994
+-86.0352	39.6301	6039
+-117.9899	32.6395	8594
+-92.4163	36.3673	6048
+-115.2351	31.7243	7469
+-81.4454	28.0101	9067
+-90.8002	37.9718	8473
+-114.6811	34.9339	6585
+-109.7008	32.4108	8345
+-118.0428	44.3993	7441
+-111.2787	32.4693	8070
+-88.9803	37.7452	9559
+-119.6261	37.5727	4988
+-90.3997	42.8406	5015
+-111.0452	29.7236	7316
+-93.5385	41.4126	4974
+-119.3076	46.1265	8175
+-114.7533	31.4978	6879
+-124.4786	48.653	7068
+-116.6802	30.4927	7141
+-112.0899	29.9036	6840
+-88.5548	34.4884	6240
+-118.3587	32.8769	8199
+-87.1574	40.2794	6370
+-120.5569	49.2431	6017
+-87.5751	38.0051	8424
+-115.9575	35.2333	7673
+-118.7136	46.5261	8619
+-116.9712	30.3643	7018
+-81.7354	26.6312	8531
+-92.2789	36.4226	6189
+-89.1052	36.8537	8827
+-88.3686	39.2893	7939
+-88.5658	40.5668	6655
+-81.2819	26.8138	8447
+-121.939	44.2495	6440
+-118.7926	46.6931	8433
+-82.8882	29.1477	8112
+-82.0579	30.3449	6974
+-114.1968	31.935	6511
+-110.6648	28.5607	6179
+-118.3673	48.4593	6760
+-117.3219	33.5107	8856
+-89.259	38.1992	9000
+-88.6698	39.4471	7813
+-121.0004	46.0046	7267
+-92.9421	39.0577	6646
+-118.0163	43.0266	5993
+-92.0113	37.5482	7243
+-121.7253	32.9651	4510
+-116.7595	47.8183	6828
+-110.1426	34.8344	5945
+-118.7532	36.4363	6548
+-91.8997	39.6051	7548
+-118.0017	47.4656	7784
+-115.4938	30.6933	6871
+-88.9553	39.4974	7687
+-117.6123	34.5604	8939
+-121.4233	47.7944	7746
+-89.8212	43.1013	4695
+-115.4933	31.7175	7703
+-115.772	36.0833	6858
+-122.2661	47.0389	8905
+-115.6362	33.3472	8155
+-110.1696	31.1288	8950
+-118.201	33.2212	8304
+-88.7308	37.1172	9198
+-91.3534	41.0606	6723
+-118.5786	47.8139	7419
+-119.9107	43.1673	5708
+-88.6971	35.3416	7205
+-86.5578	37.6209	7335
+-121.0449	47.3449	7526
+-121.6894	42.5123	4535
+-120.4116	33.9683	6103
+-110.0895	32.9441	7976
+-87.3041	37.5437	8168
+-88.1276	39.9012	7206
+-118.8935	44.7791	7720
+-117.2025	48.529	6445
+-108.3417	31.8211	7300
+-84.53	31.0689	5276
+-91.693	35.9286	6072
+-119.3658	47.1235	7683
+-115.6101	33.5929	8010
+-90.2506	41.067	6923
+-114.0915	34.075	6252
+-91.3509	40.0903	7643
+-117.4784	43.7733	6653
+-80.6172	27.2215	8070
+-119.8585	45.2737	7377
+-119.7448	48.3486	6420
+-89.2467	35.1269	6914
+-116.8174	34.186	9044
+-121.5925	46.9512	8170
+-111.8645	28.8533	6082
+-121.3709	34.1169	5061
+-85.1665	40.5321	4650
+-117.198	44.2178	6960
+-121.6289	45.3681	7362
+-81.7763	27.0171	8953
+-91.9103	38.363	7726
+-87.386	34.4465	5883
+-121.2537	35.3003	5006
+-89.7698	39.3041	8533
+-112.8419	30.5914	6551
+-121.051	35.2243	5242
+-115.5227	32.444	8090
+-89.0684	36.6917	8670
+-120.5824	44.9156	6521
+-84.4965	27.9834	7208
+-82.1196	31.0891	6133
+-124.0082	45.3903	7489
+-81.1539	27.5562	8759
+-125.7876	48.903	5787
+-120.4471	48.8217	6227
+-124.5074	47.0625	7837
+-83.4738	28.5539	8134
+-91.6224	35.5009	5676
+-120.087	33.3997	6359
+-118.4768	45.3256	8415
+-127.6337	48.8508	4009
+-90.8274	39.4273	8551
+-87.5593	43.7458	3239
+-119.863	44.9654	7201
+-88.9489	37.9706	9417
+-125.0882	44.4321	5927
+-119.6527	33.0745	6690
+-80.867	29.8329	7151
+-85.247	28.9237	6134
+-92.1539	33.6604	3927
+-83.8088	28.2279	7926
+-117.8388	34.3297	8878
+-92.4912	40.8421	6223
+-123.5008	47.053	8939
+-85.3762	36.7412	5870
+-78.1994	30.8372	4246
+-92.0963	36.1298	6050
+-106.3106	30.2805	4892
+-91.0356	35.8142	6528
+-84.5624	31.1802	5152
+-115.9244	33.1573	8530
+-116.3843	32.3111	8893
+-83.232	27.7348	8649
+-117.8293	34.7077	8661
+-115.6692	33.4173	8158
+-89.4831	40.8978	6914
+-90.8855	37.8428	8307
+-127.5396	46.4967	4483
+-83.9791	35.5738	3950
+-118.3716	33.8041	8280
+-110.6946	34.5791	6204
+-121.8391	48.221	7801
+-126.6911	47.1267	5437
+-82.769	29.5328	7769
+-115.2165	32.5465	7778
+-84.1603	28.9138	7257
+-91.9544	36.4638	6434
+-111.9465	33.6594	6625
+-115.4442	28.4081	4551
+-123.6075	47.6923	8493
+-108.2856	30.5003	6964
+-114.2917	44.8408	4828
+-120.1502	47.225	6952
+-117.5916	31.6324	8259
+-121.1881	33.8901	5252
+-80.9388	26.2635	7720
+-119.046	45.044	7881
+-89.5295	39.3529	8298
+-116.4519	43.4452	5845
+-116.1471	30.6189	7137
+-111.7375	34.2454	6213
+-88.4306	37.8558	9382
+-117.978	30.3348	6764
+-125.6246	48.3583	6245
+-86.1813	34.738	5431
+-116.5128	32.2073	8905
+-110.0557	29.4186	7109
+-80.6812	25.3833	6735
+-120.9055	45.0768	6588
+-90.1185	37.3547	8258
+-126.6411	45.9524	5348
+-123.4632	47.1431	8958
+-93.146	36.8335	5800
+-115.7767	32.5277	8387
+-124.4161	44.5363	6459
+-80.8278	27.8046	8415
+-107.9537	30.8392	6772
+-121.1659	46.792	7691
+-109.1962	32.4463	7927
+-80.9278	27.0247	8291
+-120.6412	35.1005	5709
+-122.1157	48.13	8065
+-83.917	26.4305	7371
+-83.2325	28.2952	8513
+-117.4288	34.7537	8838
+-115.0489	37.6931	4963
+-92.3087	38.2791	7288
+-87.3453	38.3967	8021
+-108.6926	32.0581	7623
+-119.1697	29.723	5517
+-82.5274	24.237	5874
+-81.2825	26.513	8178
+-81.8117	28.5107	8975
+-119.5788	43.6939	6366
+-81.1599	25.6069	7212
+-115.1602	34.9164	7087
+-91.1278	42.1706	5651
+-116.8209	32.1072	8945
+-121.254	45.1617	6923
+-111.2219	31.1737	8413
+-121.2006	48.6893	6948
+-91.291	39.7959	7932
+-118.2131	33.7641	8430
+-109.6453	31.2327	8637
+-114.4503	31.8035	6727
+-118.2634	42.5564	5508
+-83.4435	27.8413	8408
+-119.6373	43.5006	6156
+-124.6749	47.1015	7651
+-115.4058	34.7596	7396
+-115.3532	31.2322	7231
+-85.6396	36.1041	5892
+-123.0781	41.7062	3824
+-88.1857	39.3184	7849
+-117.1421	31.6318	8417
+-87.9909	37.714	8943
+-82.1434	27.5291	9624
+-117.7192	35.3817	8089
+-117.9712	33.1645	8567
+-90.2562	36.255	7512
+-117.3661	32.6369	9264
+-89.6749	41.3395	6531
+-108.9448	30.3631	7471
+-112.76	31.2707	6823
+-108.0179	33.4486	6252
+-90.1223	36.2706	7631
+-92.7888	35.6912	5230
+-115.5694	36.0678	6731
+-118.0938	36.6415	6657
+-118.3356	36.5235	6682
+-84.3713	40.1657	4139
+-122.8509	47.1361	9412
+-117.7675	34.1966	8987
+-91.0727	40.5279	7369
+-91.4878	34.3862	5031
+-117.9971	32.9586	8593
+-120.6619	32.2985	5591
+-125.9212	48.3851	5939
+-79.7377	25.9076	6462
+-113.2114	46.8483	3831
+-121.2357	49.4799	6294
+-118.8393	43.4916	6436
+-86.5299	38.7559	7022
+-112.7039	29.607	6130
+-104.5069	30.6693	3084
+-83.4788	29.5122	7399
+-88.0351	36.2639	8040
+-82.9729	26.2413	7923
+-86.7482	36.2231	7030
+-115.2847	44.9302	5852
+-84.7224	30.8424	5344
+-116.8552	46.7864	7582
+-116.2933	35.4048	7791
+-108.2934	34.4549	5657
+-111.1949	30.9308	8303
+-119.961	45.4508	7355
+-106.673	30.4901	5335
+-119.3299	30.7179	6228
+-118.5058	32.8833	8034
+-115.8787	37.0824	5983
+-109.3281	30.8251	8109
+-116.6487	43.3441	5867
+-113.5138	31.9297	6007
+-114.8165	32.3273	7293
+-89.7922	38.9183	8762
+-80.8246	30.6595	6300
+-90.5055	33.8478	5106
+-81.7228	24.9511	6673
+-89.7916	39.3664	8503
+-124.2382	47.9315	7794
+-115.3754	33.3592	7878
+-89.8717	41.5786	6326
+-118.1531	44.9695	8055
+-121.2404	45.8082	7383
+-90.0545	38.376	8888
+-79.5509	27.6098	6965
+-107.7761	31.0766	6649
+-74.3767	24.874	527
+-118.2629	30.8081	7086
+-116.0468	35.9292	7170
+-117.3777	46.2637	8286
+-118.7276	47.34	7866
+-90.091	38.7914	9106
+-113.9561	31.9875	6270
+-112.5033	33.4407	6379
+-81.4963	30.5022	6715
+-89.6247	35.9728	7684
+-88.9639	36.4931	8480
+-117.5185	32.3646	8957
+-122.9505	48.2352	8211
+-123.0024	48.4634	7958
+-122.8711	42.2767	4454
+-118.7575	45.8945	8713
+-124.1712	44.8703	6913
+-88.4798	38.2154	9119
+-82.978	29.9647	7228
+-118.7536	32.6561	7752
+-117.4566	33.2509	9023
+-117.7766	32.5377	8797
+-115.8035	45.6433	6590
+-87.2049	35.9536	7214
+-121.4384	46.8566	7996
+-121.8613	44.6615	6828
+-115.7561	35.113	7574
+-118.7247	49.2051	5939
+-117.6494	44.5563	7493
+-117.4737	34.3858	9182
+-89.4548	37.2137	8891
+-90.5414	35.9852	7071
+-114.303	31.8115	6577
+-111.4912	32.1331	8085
+-116.5714	33.4745	8897
+-94.0798	37.0038	5018
+-116.8612	36.3115	7121
+-115.6329	43.9502	5646
+-89.5106	36.4889	8252
+-114.5929	34.5704	6583
+-122.3478	35.5427	3786
+-117.6341	43.3717	6290
+-117.8254	30.6249	7127
+-87.702	38.1456	8504
+-110.5635	29.2974	6984
+-117.2735	42.7817	5587
+-85.2959	25.6473	5585
+-114.9758	44.4324	5337
+-121.5863	34.2249	4825
+-118.8278	48.5831	6568
+-113.9296	34.5128	5874
+-107.6079	32.9268	6181
+-120.0352	48.0927	6450
+-90.4033	36.134	7299
+-83.2933	26.2065	7693
+-115.6552	44.7963	6154
+-118.3378	34.5229	8295
+-88.7041	40.325	6943
+-89.0938	40.3844	7180
+-114.4946	30.1092	5664
+-118.2606	44.6802	7757
+-91.4788	35.3827	5608
+-87.8253	36.2684	7924
+-116.3839	31.7629	8410
+-110.8942	30.2172	7874
+-90.9392	40.2096	7741
+-83.2703	28.272	8485
+-109.4549	36.851	3687
+-118.0968	47.7661	7485
+-117.2751	33.9542	9342
+-116.7093	31.4746	8229
+-117.7257	30.3765	6903
+-117.0514	48.9934	5930
+-81.3569	27.5462	8979
+-89.528	40.9439	6886
+-122.0755	47.8561	8274
+-121.5826	44.2827	6321
+-114.3002	28.6018	4097
+-80.7126	25.0103	6384
+-118.582	34.9921	7824
+-108.9154	31.0595	7836
+-119.0212	43.4627	6360
+-109.2046	32.2562	8050
+-123.3925	44.3284	6658
+-122.5157	47.3708	8993
+-120.1864	48.5194	6000
+-117.3572	49.1121	5923
+-124.9013	46.4327	7331
+-118.6065	34.1917	8075
+-86.6022	36.5621	7088
+-85.1547	26.3547	6119
+-87.4589	38.4958	8077
+-90.2315	42.5986	5273
+-112.1803	35.0343	5233
+-89.7964	37.1964	8545
+-117.541	34.9939	8553
+-116.4882	37.6831	5574
+-116.5958	32.8349	9339
+-81.0767	26.9923	8410
+-127.2431	43.7525	3670
+-116.9164	34.1891	9151
+-82.4295	28.7315	8751
+-117.6672	37.4069	5940
+-90.4535	36.7796	7676
+-123.5212	47.3409	8809
+-108.443	30.5512	7140
+-110.8158	30.3358	8024
+-116.7784	30.749	7437
+-120.227	43.5969	5904
+-114.908	35.1498	6736
+-78.1594	29.8432	4820
+-82.5362	28.0209	9353
+-115.9333	33.5787	8321
+-90.4103	42.127	5784
+-118.6688	33.5705	7890
+-117.9251	33.391	8455
+-116.259	32.7418	8959
+-120.4489	35.3729	5812
+-89.7463	41.4997	6382
+-108.8921	28.038	5327
+-115.5081	29.3364	5544
+-117.9076	44.6024	7625
+-79.2781	26.6792	6436
+-110.9965	32.2433	8460
+-91.1945	39.3275	8351
+-121.1935	47.2554	7705
+-87.5226	38.4725	8151
+-124.7858	45.0781	6674
+-117.2561	35.6644	7868
+-117.0979	34.0755	9343
+-116.7125	48.451	6266
+-91.3563	36.9486	7218
+-90.6826	41.2567	6703
+-80.355	27.7706	7881
+-82.9528	28.0464	8913
+-115.975	30.8634	7310
+-91.0405	37.7239	8111
+-83.4433	26.7947	8047
+-83.0857	25.7913	7412
+-109.756	30.4679	8113
+-117.4289	32.1968	8890
+-119.504	45.4138	7778
+-91.1286	39.34	8400
+-90.2546	41.8789	6049
+-115.7561	31.7761	7972
+-90.8911	35.5917	6482
+-117.2124	32.6594	9427
+-108.5021	31.5809	7490
+-116.5725	34.3761	8736
+-124.5908	45.5312	7170
+-110.0672	32.4817	8458
+-81.0674	25.0523	6593
+-115.0327	32.3841	7542
+-90.5854	39.2464	8847
+-88.423	38.6727	8621
+-89.4218	40.8688	6916
+-117.9603	46.1701	8911
+-114.2057	28.4228	4058
+-118.393	31.0977	7261
+-120.3767	46.2676	7036
+-115.1905	33.8826	7442
+-117.202	31.9334	8733
+-118.3354	36.0656	7129
+-114.5697	35.063	6426
+-117.3927	43.0585	5904
+-109.3926	29.818	7306
+-110.7623	34.9975	5745
+-116.841	47.8074	6893
+-115.921	33.6016	8295
+-115.7631	32.2672	8277
+-119.0803	45.886	8387
+-117.5496	31.7943	8440
+-84.4303	26.8109	7078
+-123.0014	45.0396	7486
+-112.7867	35.903	4284
+-118.0923	46.4904	8800
+-120.5698	45.9582	6834
+-117.9893	33.2064	8532
+-110.8487	30.2903	7965
+-122.6772	46.7309	9250
+-120.5511	45.6639	6815
+-110.519	30.3215	8092
+-88.9774	36.9107	8935
+-118.6228	33.2695	7784
+-118.5404	47.4125	7844
+-88.0637	33.8357	5444
+-121.0206	48.0996	7195
+-82.9833	28.2433	8790
+-123.2821	45.3956	7830
+-80.2098	28.1209	7680
+-90.9879	42.2423	5604
+-108.5617	31.2322	7517
+-83.431	29.5901	7360
+-118.9324	32.1671	7444
+-126.9629	45.7221	4938
+-119.1327	37.9266	4927
+-82.6556	27.5824	9266
+-123.4761	47.9768	8329
+-82.3905	29.674	7715
+-124.7385	46.9587	7586
+-117.7224	40.5566	3360
+-116.8791	35.0711	8431
+-122.4922	47.1939	9093
+-114.1566	31.7238	6390
+-121.2286	32.2528	4958
+-80.6627	27.886	8223
+-118.5401	49.6683	5472
+-82.7422	26.8405	8639
+-79.791	28.3222	7169
+-122.1688	45.2997	7606
+-119.5232	44.6722	7258
+-88.5085	39.9047	7051
+-117.2001	45.3653	7874
+-80.996	28.195	8517
+-93.2986	38.4962	6270
+-84.3528	27.5646	7371
+-114.8267	34.0583	6875
+-110.1586	29.5693	7283
+-81.0297	29.476	7590
+-109.5376	29.8353	7393
+-90.2473	36.9097	7949
+-115.0914	32.7683	7660
+-119.7298	44.4348	6925
+-122.9973	49.2767	7066
+-82.5147	29.5023	7882
+-121.6808	46.6979	8235
+-124.8435	45.7629	7095
+-92.7236	41.1304	5826
+-124.8789	45.8538	7112
+-115.5891	45.0563	6201
+-122.6358	46.9661	9316
+-114.1021	33.7787	6382
+-117.8674	47.1171	8097
+-120.5614	46.7293	7024
+-89.879	35.8784	7452
+-82.4725	29.6662	7709
+-123.0491	48.5041	7909
+-120.4312	35.3997	5820
+-119.1112	30.7104	6400
+-119.6984	32.9428	6584
+-78.0626	26.7833	5154
+-112.7234	35.1336	4837
+-86.5085	38.6398	7055
+-111.4306	33.3126	7255
+-109.1655	30.1416	7463
+-116.0637	32.692	8736
+-125.6425	49.2885	5658
+-118.0599	33.3123	8293
+-119.6331	35.3014	6659
+-121.0746	47.7567	7421
+-109.8773	34.4353	6344
+-119.5398	49.6208	5301
+-115.284	32.3748	7812
+-118.2231	32.2723	8225
+-87.7128	36.7299	8233
+-119.3641	42.7707	5553
+-89.028	38.7565	8556
+-89.9305	39.4089	8563
+-92.2333	37.8995	7230
+-122.0047	42.7603	4882
+-115.665	32.0471	8066
+-118.2092	32.919	8362
+-109.6654	29.0729	6659
+-119.1139	35.316	7145
+-114.2079	29.5384	4974
+-114.1561	34.66	6097
+-93.1565	37.0333	5909
+-90.8393	38.6554	8922
+-125.4616	46.34	6709
+-89.9699	37.3093	8406
+-122.5859	44.8828	7291
+-113.3065	32.8787	5960
+-122.0723	49.4283	6753
+-89.5697	39.4567	8263
+-86.583	24.32	3525
+-83.1541	25.8647	7450
+-86.8135	35.472	6518
+-78.1441	28.921	5194
+-89.9629	33.2412	4670
+-111.8351	30.9285	7698
+-85.9521	38.2213	6595
+-89.9234	43.3913	4397
+-118.0112	32.0003	8274
+-81.2183	27.0168	8554
+-120.1121	47.3363	6923
+-81.8967	28.1465	9386
+-92.0354	40.0735	7143
+-110.9829	30.4521	8060
+-116.0679	32.3024	8598
+-89.8257	41.9381	5936
+-116.9249	35.5317	7968
+-118.3624	45.7565	8887
+-108.4379	32.3216	7270
+-89.9283	34.7665	6309
+-118.1962	36.0023	7261
+-115.8838	45.6269	6670
+-83.0219	25.3594	6989
+-107.9553	32.0847	6840
+-88.9241	36.8599	8893
+-111.2957	33.9673	6688
+-122.3721	46.0466	8441
+-85.6447	28.3013	5874
+-90.4667	39.186	8946
+-116.3324	45.7785	7166
+-89.3485	37.3611	9078
+-119.3001	44.6628	7396
+-119.3465	38.146	4608
+-119.0912	35.1328	7268
+-95.6925	37.418	3525
+-87.5753	37.0954	8332
+-114.9736	46.5074	5729
+-118.9389	33.8532	7688
+-111.4446	32.569	7864
+-117.1771	34.0437	9400
+-79.8502	25.8386	6512
+-89.0239	36.9303	8940
+-118.4126	36.3675	6799
+-107.9107	29.237	5820
+-123.0146	46.0214	8560
+-90.9742	37.7993	8218
+-88.3557	35.5657	7413
+-88.3242	35.7494	7607
+-114.865	33.3377	7338
+-114.2612	47.5421	4735
+-88.7742	35.796	7716
+-85.0749	40.6646	4476
+-115.6879	31.1623	7421
+-118.5387	45.8019	8845
+-82.7475	30.7346	6463
+-90.0089	36.662	8022
+-117.9994	32.4776	8540
+-118.4838	33.7227	8137
+-115.0031	33.9509	7224
+-82.6514	26.3922	8231
+-93.544	38.4688	6004
+-82.3877	25.6098	7435
+-91.3972	41.0527	6713
+-109.3962	27.0632	4472
+-119.2659	48.2252	6781
+-116.447	43.8531	6187
+-115.6527	31.2776	7496
+-86.8103	35.5525	6582
+-118.6169	44.0517	7063
+-82.7885	28.893	8418
+-116.6844	30.5035	7154
+-88.4229	35.2364	7061
+-122.9872	32.4953	3047
+-119.5306	35.3222	6748
+-87.7311	36.7269	8246
+-119.2072	49.1159	5920
+-108.8876	30.8966	7740
+-89.8451	38.5311	8798
+-124.2893	46.0748	7792
+-83.8029	26.1042	7227
+-87.0134	36.8607	7649
+-89.0082	37.6592	9544
+-124.5289	48.0451	7460
+-119.3933	48.0018	6928
+-84.0054	26.4658	7313
+-123.4011	45.5132	7917
+-83.487	28.7649	7990
+-108.1959	33.134	6613
+-116.2099	48.7933	5661
+-113.3327	29.9102	5752
+-121.7448	46.8039	8325
+-84.4393	25.9121	6545
+-107.7508	28.1719	4838
+-111.9039	29.8712	6956
+-116.4513	34.5247	8551
+-124.78	47.8296	7334
+-117.9998	33.8748	8690
+-120.5205	48.0414	6738
+-89.4844	38.487	8415
+-120.5782	47.6051	6961
+-119.5075	47.9712	6892
+-115.27	38.3765	4422
+-81.2431	26.4671	8110
+-87.4226	40.6866	6104
+-94.2549	37.6958	5099
+-119.8459	36.4812	5733
+-84.9829	30.3266	5559
+-118.5936	33.7763	8039
+-90.6161	37.0684	7595
+-119.9297	34.5999	6589
+-79.892	24.9779	5845
+-111.1725	32.2876	8287
+-116.0031	38.0424	5057
+-120.0548	43.4822	5913
+-123.5976	47.0607	8833
+-123.3649	43.2235	5462
+-112.8334	32.105	6706
+-88.1668	40.5213	6366
+-121.3019	49.1417	6641
+-120.204	45.4671	7119
+-85.4071	35.0525	5037
+-118.8248	32.3524	7616
+-116.1427	45.4073	6878
+-118.114	45.7095	8810
+-110.3052	27.5813	5137
+-109.2307	33.0436	7491
+-106.8445	34.7669	4356
+-112.5234	35.1592	4930
+-121.4999	47.609	7914
+-114.1581	36.8953	5002
+-111.6155	31.5812	8084
+-115.5905	33.2668	8138
+-93.0987	38.3943	6473
+-112.1719	30.0553	6883
+-88.9987	36.6783	8676
+-111.3911	33.1456	7429
+-89.5276	36.5488	8298
+-114.2084	46.3981	4933
+-92.0254	37.1154	6927
+-110.032	32.5111	8417
+-116.9016	31.8022	8619
+-81.6396	30.4675	6786
+-95.7272	37.8628	3586
+-117.0787	44.8452	7418
+-113.1786	44.5371	3606
+-113.9878	35.3414	5726
+-126.0501	46.708	6134
+-110.2262	31.3862	9231
+-119.2838	35.108	7094
+-116.113	37.0781	6088
+-89.1738	42.2899	5392
+-88.7683	39.241	8047
+-119.7379	44.4157	6904
+-88.254	35.9068	7758
+-121.007	48.9619	6585
+-120.9424	30.575	4662
+-82.1608	29.6868	7720
+-88.2461	38.1708	9001
+-116.7982	29.4028	5940
+-91.15	31.2302	2111
+-115.6164	36.0292	6796
+-115.0493	33.2674	7556
+-119.5174	45.458	7787
+-88.5334	40.3002	6823
+-81.2659	28.0333	8866
+-89.6651	36.4745	8140
+-119.8049	36.2998	5898
+-122.8665	49.2489	7098
+-88.4928	36.6876	8675
+-113.5116	31.0783	5987
+-116.3159	36.3255	6931
+-84.5059	29.834	6332
+-115.1805	33.0081	7749
+-88.9675	40.0761	7334
+-88.9064	38.3496	9032
+-117.1373	31.0023	7720
+-115.9337	32.1416	8377
+-115.9331	34.7104	7953
+-117.6052	49.4858	5603
+-119.5822	31.4125	6442
+-123.5085	46.7589	8900
+-91.8594	37.7798	7520
+-113.0485	34.2858	5323
+-118.3644	30.8115	7027
+-89.4728	42.2449	5532
+-118.0444	37.0903	6203
+-81.5879	30.8319	6370
+-90.5809	40.6143	7404
+-87.7009	40.1173	6815
+-82.6525	26.4232	8263
+-125.5965	46.1561	6513
+-87.5988	37.9286	8472
+-108.4122	33.0903	6828
+-114.9102	35.8288	6371
+-124.2911	45.8247	7629
+-122.2928	47.3233	8833
+-110.2564	30.4506	8244
+-116.1354	33.8814	8274
+-119.6138	33.4294	6865
+-82.8556	29.4307	7840
+-81.8587	28.4772	9031
+-117.5676	44.1815	7092
+-83.7421	26.0243	7209
+-121.8264	46.1249	8107
+-114.1019	32.6188	6550
+-119.0253	46.4684	8383
+-87.0743	37.8799	7900
+-87.6596	36.6519	8130
+-80.8083	27.6184	8384
+-123.7817	49.9061	6235
+-93.7508	36.612	5125
+-83.3769	26.7803	8097
+-116.3657	31.3568	7992
+-116.3226	32.2728	8813
+-123.8316	47.9288	8135
+-91.9525	38.7868	7733
+-81.6412	26.9099	8775
+-86.3708	38.0253	7096
+-86.9668	37.6364	7795
+-118.3327	47.9661	7284
+-116.0007	33.8114	8113
+-114.5919	35.9646	6002
+-117.6409	36.3016	7138
+-88.0708	35.9159	7701
+-92.5571	38.1244	6986
+-117.9426	32.4689	8597
+-80.5984	29.7189	7083
+-91.9757	39.8151	7359
+-93.1183	36.0058	5248
+-88.1045	37.1422	8867
+-88.441	39.1104	8153
+-119.9295	32.4045	6416
+-118.2348	33.1142	8300
+-81.0144	28.5354	8357
+-89.9433	34.6829	6215
+-117.7818	33.2741	8710
+-89.8635	39.1042	8746
+-118.366	36.0552	7123
+-119.5477	36.0794	6267
+-90.7696	37.6123	8129
+-111.7489	31.99	7878
+-122.4874	44.6439	7014
+-87.3701	36.0926	7454
+-116.0518	30.0089	6459
+-116.9654	33.9966	9177
+-90.5665	38.3697	8969
+-121.7337	45.7818	7780
+-115.0083	33.2027	7527
+-114.5696	29.3148	5019
+-82.9072	27.9581	8991
+-89.6987	38.2571	8515
+-89.8049	38.5546	8766
+-87.1528	38.2419	7892
+-116.9744	33.5958	8871
+-118.9163	48.1987	6939
+-90.9998	38.0172	8392
+-120.7978	48.6372	6656
+-93.4327	40.4392	5667
+-92.6278	38.6813	7004
+-113.8417	30.8826	5597
+-118.0752	48.9839	6198
+-91.9702	38.3241	7653
+-111.7275	30.8639	7774
+-88.6419	34.6265	6400
+-120.0334	34.1268	6520
+-93.5448	37.6569	5819
+-91.4547	37.3701	7541
+-118.4125	31.5035	7574
+-111.1969	30.6767	8117
+-88.4694	36.3602	8312
+-115.109	30.6633	6581
+-91.3897	37.9865	8063
+-82.3636	25.3088	7100
+-117.8394	30.2228	6700
+-118.5406	33.8125	8105
+-120.1416	44.6408	6758
+-85.3967	40.3335	4991
+-116.5665	45.1966	7206
+-124.3927	42.4226	4352
+-123.3111	44.913	7305
+-118.234	36.2331	7016
+-116.8545	36.7321	6668
+-115.301	33.8261	7580
+-88.6534	38.6046	8754
+-90.2374	37.1678	8072
+-107.698	31.6631	6617
+-120.2284	32.878	6029
+-84.201	32.5168	4031
+-87.7399	41.3465	5431
+-114.9652	30.3509	6211
+-109.2889	32.6392	7864
+-93.6832	39.2694	5824
+-93.0569	36.8471	5887
+-119.0656	48.5476	6539
+-122.0771	33.1101	4173
+-116.0456	30.4124	6881
+-112.6618	32.0631	6898
+-115.6261	46.2789	6440
+-108.897	32.037	7842
+-118.9938	33.7618	7611
+-84.4952	28.3983	7126
+-116.051	33.2334	8631
+-119.883	32.5172	6483
+-116.5435	31.5506	8264
+-113.6276	32.095	5862
+-109.5311	31.2195	8519
+-110.5092	34.4954	6313
+-112.355	34.2822	5820
+-117.1619	45.9137	8057
+-113.9371	33.1493	6353
+-87.122	39.8774	6722
+-121.398	45.5725	7355
+-121.9932	45.4212	7638
+-91.0908	39.4657	8340
+-109.8685	31.209	8827
+-120.1722	44.9463	6916
+-85.5027	40.9362	4629
+-88.347	37.8888	9282
+-117.3277	44.2663	7071
+-119.6923	44.6137	7092
+-108.4682	30.4172	7090
+-117.1424	42.0412	4795
+-86.9911	39.8375	6666
+-90.4753	38.3503	8982
+-87.4193	38.7447	7878
+-113.9711	32.5838	6402
+-81.7132	29.1111	8299
+-115.2803	31.2101	7155
+-87.0161	38.6602	7555
+-109.7104	30.5614	8177
+-120.7772	43.8051	5671
+-121.5852	46.0479	7844
+-124.7538	44.4736	6193
+-116.5732	35.7964	7572
+-83.6814	30.7988	6041
+-90.5359	38.5831	9181
+-119.2033	47.3689	7601
+-92.3748	40.4175	6625
+-79.897	31.5087	4960
+-114.4548	48.13	4671
+-117.4168	31.2389	7923
+-120.446	49.9919	5326
+-118.3365	35.9186	7267
+-119.7438	31.7127	6419
+-112.0783	33.2786	6838
+-116.9779	44.6404	7187
+-116.1132	33.6547	8419
+-88.2596	38.2581	8940
+-115.3178	32.0789	7738
+-88.5943	36.8913	8924
+-88.3299	41.2302	5954
+-80.7655	30.3792	6556
+-122.7782	45.3334	7807
+-85.6715	38.3368	6260
+-84.5769	27.9308	7122
+-112.1227	29.9623	6858
+-107.1774	28.6188	4782
+-117.0638	29.1688	5683
+-117.5356	33.5844	8871
+-119.9609	48.5089	6152
+-81.7691	29.5949	7783
+-124.0764	45.7566	7752
+-93.0848	39.1936	6474
+-112.7402	36.084	4161
+-123.9396	42.9363	5033
+-88.5155	40.2496	6843
+-122.617	44.9778	7399
+-114.6672	44.9428	5239
+-89.0861	38.848	8441
+-115.2821	35.6514	6812
+-118.3229	43.4964	6503
+-117.4462	32.126	8815
+-118.3153	32.729	8245
+-84.3713	26.4692	6966
+-116.705	35.2795	8146
+-78.2468	29.7969	4932
+-83.1454	26.4562	8019
+-120.1468	34.2803	6392
+-86.4347	37.0603	7111
+-91.0972	37.6465	8008
+-121.5671	44.8497	6858
+-80.5673	28.5439	7914
+-83.4166	37.3125	3796
+-83.9054	27.6763	7885
+-118.9473	30.6957	6516
+-120.3052	49.2117	5836
+-126.3444	45.4207	5458
+-115.3795	39.5685	3262
+-91.5628	35.4213	5618
+-115.2415	32.5182	7800
+-89.4549	36.0339	7827
+-120.333	35.192	5999
+-91.1887	37.7498	8040
+-115.6026	31.2106	7403
+-85.0902	28.6475	6402
+-119.1179	32.4669	7322
+-123.2541	43.8557	6166
+-126.1882	49.0033	5357
+-114.9726	34.7685	6941
+-115.0027	43.8765	5063
+-114.4981	47.0951	5115
+-91.3036	37.7664	7972
+-116.3955	36.8404	6436
+-122.4601	46.0833	8522
+-119.4892	47.0677	7623
+-89.4337	36.5536	8359
+-82.1437	26.0776	7982
+-124.9108	49.1502	6345
+-79.2261	26.7965	6425
+-124.313	48.3167	7459
+-116.2069	49.9231	4653
+-117.604	37.1001	6281
+-125.0617	43.4482	5070
+-120.9486	33.7765	5503
+-118.5565	34.4882	8079
+-114.3033	30.9792	6144
+-115.7968	33.5479	8214
+-116.9718	32.7455	9673
+-91.1823	41.3462	6497
+-123.8336	47.4158	8468
+-112.5878	31.1418	6985
+-119.0098	45.8741	8455
+-122.3071	49.8725	6348
+-124.269	45.8376	7657
+-82.8821	31.8215	5227
+-80.7112	26.9758	8051
+-112.0072	32.2523	7521
+-123.3158	49.1943	7117
+-114.6883	29.3535	5129
+-85.3291	31.2017	4584
+-114.8931	35.0496	6763
+-123.9797	49.1463	6934
+-80.124	31.8177	4776
+-115.4584	30.494	6664
+-91.0172	38.9982	8691
+-119.7709	48.6245	6157
+-92.8554	41.222	5656
+-126.7899	48.0943	5157
+-89.6608	36.7756	8399
+-118.8919	36.0733	6777
+-125.3936	48.0593	6615
+-86.9989	38.9064	7391
+-88.3164	38.3863	8862
+-88.5861	38.1605	9224
+-117.4695	31.3072	7978
+-122.5106	47.3552	9002
+-119.5642	45.3511	7689
+-78.7208	24.5904	4618
+-116.7593	34.348	8937
+-87.3524	33.6742	5061
+-117.679	47.7305	7419
+-119.0274	43.3237	6216
+-121.6808	45.486	7499
+-116.4245	35.0708	8163
+-118.4368	45.1294	8220
+-83.4643	26.6764	7946
+-112.7362	34.2254	5604
+-89.3744	39.5456	8039
+-87.9578	40.433	6579
+-92.4587	37.6523	6894
+-117.0925	32.028	8862
+-90.348	35.2016	6528
+-117.7645	35.2822	8172
+-118.7888	33.1846	7581
+-112.1013	30.3045	7109
+-124.9926	48.4611	6781
+-114.9928	35.5168	6635
+-117.4519	32.1727	8853
+-117.6159	33.3353	8826
+-113.7906	36.1083	5177
+-87.7765	36.4518	8056
+-112.6016	31.9029	6992
+-108.6166	31.564	7613
+-113.9748	37.6485	4285
+-92.8663	37.5079	6432
+-119.1939	46.6487	8135
+-117.6701	45.6644	8464
+-122.182	47.4636	8647
+-109.416	29.254	6761
+-112.7463	31.9204	6834
+-88.8025	31.9587	3408
+-116.4112	34.3707	8570
+-82.2289	27.3363	9394
+-115.837	32.2424	8339
+-112.9503	25.8843	2679
+-83.2578	25.4723	7002
+-113.3494	42.9851	3081
+-121.9772	42.8014	4919
+-120.078	33.3983	6368
+-90.2022	37.6575	8231
+-120.4701	41.8062	4157
+-90.6787	40.5666	7441
+-120.5151	45.4559	6800
+-80.9874	30.2338	6815
+-89.2826	39.2063	8140
+-125.9778	48.1293	5992
+-113.6863	47.4209	4195
+-111.2468	32.6493	7953
+-116.804	44.7912	7169
+-120.7892	44.8902	6313
+-108.9557	29.0916	6389
+-119.7103	47.519	7129
+-85.6333	36.6651	6123
+-111.6084	29.8728	7162
+-117.8253	32.7939	8795
+-91.6417	38.4397	8027
+-81.7876	25.5628	7369
+-116.8264	35.5553	7914
+-86.7973	40.7109	5745
+-116.6973	33.9195	8875
+-92.7042	36.3432	5821
+-80.3918	25.3019	6478
+-120.6531	47.5004	7069
+-110.1429	34.3326	6488
+-110.1627	34.2287	6601
+-85.6612	26.3775	5603
+-118.5962	33.0478	7917
+-122.808	46.5463	9133
+-85.7666	37.4993	6442
+-118.8896	42.6267	5526
+-115.1727	31.6177	7346
+-113.8707	30.4862	5461
+-118.6232	30.2603	6355
+-108.1716	32.0341	7081
+-88.5268	35.7024	7595
+-107.703	31.0898	6574
+-116.6287	36.3138	7060
+-89.2388	37.5448	9268
+-81.3252	30.3135	6869
+-115.867	32.6662	8515
+-111.6598	31.4066	8024
+-118.6873	34.0613	7986
+-111.2123	32.4699	8121
+-123.3891	48.744	7581
+-111.3089	32.2907	8168
+-115.8608	34.8349	7824
+-120.5363	46.4801	6841
+-122.4184	49.36	6924
+-91.7446	42.6529	4969
+-121.8608	47.0173	8463
+-117.4416	34.4246	9167
+-90.9955	39.1038	8662
+-112.6448	29.966	6417
+-119.7395	47.9331	6781
+-110.4918	28.4391	6063
+-110.1776	30.578	8371
+-118.5294	47.178	8090
+-80.8364	26.3798	7744
+-120.6084	45.3649	6678
+-88.3328	38.7823	8471
+-120.7503	46.4948	7188
+-119.159	33.1637	7218
+-113.2912	31.1809	6239
+-87.6795	39.2893	7622
+-110.0631	31.3876	9112
+-119.1269	28.4878	4357
+-118.5432	34.7151	8008
+-116.1597	32.8007	8853
+-91.9045	37.3203	7174
+-80.5505	25.3507	6625
+-108.1316	32.8623	6715
+-109.8467	32.4319	8414
+-108.5775	28.3021	5442
+-111.9497	32.9068	7210
+-118.1462	36.9669	6301
+-90.5064	40.5011	7532
+-115.6342	46.7877	6362
+-118.1002	46.8488	8444
+-92.0297	36.0902	6053
+-90.0478	37.5299	8060
+-83.768	28.9049	7639
+-117.7615	30.8522	7389
+-82.9585	31.0481	6064
+-90.1473	42.6972	5162
+-109.018	33.7599	6718
+-115.2903	33.9382	7372
+-88.4182	39.623	7584
+-110.6923	32.1818	8717
+-81.7595	30.4391	6839
+-84.4455	25.2916	6061
+-116.0461	35.458	7573
+-125.5415	48.9106	6003
+-121.3006	44.394	6278
+-125.9741	44.7508	5443
+-119.1414	47.1636	7813
+-81.7215	26.3848	8261
+-114.6544	34.9602	6549
+-120.0005	34.1675	6555
+-118.2263	32.9098	8344
+-125.1881	43.7763	5293
+-82.192	28.0688	9544
+-117.5949	43.5299	6443
+-84.7407	31.1341	5074
+-120.8209	46.205	7174
+-119.1986	47.0857	7836
+-116.7728	42.6499	5272
+-115.7129	34.721	7726
+-114.8841	34.9379	6795
+-120.9686	32.4586	5271
+-116.5962	32.4803	9195
+-119.1165	46.0281	8375
+-86.2295	26.5014	5042
+-83.907	28.8204	7558
+-116.6966	45.8899	7565
+-92.2252	39.7573	7162
+-85.8154	35.9816	6001
+-89.3135	36.4585	8327
+-115.6444	31.1623	7391
+-87.5254	36.8972	8176
+-85.8505	38.5633	6390
+-82.6472	27.752	9311
+-89.6486	36.6368	8294
+-117.5633	45.2459	8077
+-114.1908	45.7541	4911
+-81.7871	35.4355	1590
+-118.3396	32.5797	8199
+-115.2698	32.9622	7853
+-123.8999	46.5722	8425
+-118.3443	44.7913	7873
+-89.2019	36.6381	8562
+-82.1893	27.2486	9303
+-105.769	32.7133	4379
+-114.9588	30.5313	6360
+-79.945	27.3896	7380
+-87.0441	38.5531	7640
+-81.9959	30.6416	6636
+-82.1126	28.432	9139
+-84.4273	30.6427	5730
+-118.6568	41.346	4210
+-116.0358	35.6675	7392
+-91.6939	38.83	8009
+-115.1261	34.9701	7031
+-118.7894	32.7673	7719
+-91.1668	40.7259	7133
+-120.6639	45.2832	6595
+-116.6848	35.3009	8115
+-115.5748	33.3606	8086
+-110.265	29.8799	7627
+-114.0112	29.3675	4821
+-124.2274	48.6511	7250
+-88.5327	34.8805	6677
+-117.9395	48.3757	6823
+-110.801	29.2598	6906
+-89.628	37.9034	8812
+-116.7824	33.3855	9086
+-125.9403	46.3458	6197
+-117.2074	29.9577	6553
+-90.6192	38.8405	9152
+-113.5706	37.3961	4160
+-119.5451	30.1766	5637
+-115.7952	33.9461	7920
+-115.3539	34.9001	7290
+-119.7394	48.1297	6615
+-110.032	29.3507	7033
+-107.1701	29.7713	5524
+-118.2581	34.4038	8417
+-108.4426	33.2976	6708
+-83.0412	24.5469	6108
+-92.188	41.8527	5556
+-117.3064	48.0704	6931
+-124.4701	48.6606	7069
+-88.0364	38.8912	8214
+-114.4459	48.4357	4503
+-90.9388	37.7592	8200
+-123.929	47.4345	8364
+-89.8807	39.3211	8604
+-81.0048	25.6786	7207
+-108.0267	30.3223	6625
+-117.8964	34.4598	8764
+-115.8293	41.2806	3533
+-118.2134	32.7545	8360
+-119.9814	49.8495	5099
+-82.4546	28.8699	8592
+-94.8932	41.3325	3823
+-109.773	28.843	6443
+-118.3608	31.6931	7756
+-122.978	47.9294	8545
+-110.7964	31.8897	8872
+-119.8959	49.5181	5258
+-122.266	48.4691	7815
+-114.5934	30.3467	5932
+-91.4406	34.323	5010
+-83.223	26.7498	8206
+-122.7446	38.7244	1741
+-123.0207	45.6211	8122
+-119.7218	47.0808	7417
+-89.851	37.4261	8568
+-120.1099	46.9372	7132
+-116.3842	31.3292	7971
+-123.5641	48.6446	7624
+-91.3548	37.7286	7905
+-116.9304	35.0894	8432
+-90.8477	34.6074	5662
+-86.9013	34.9642	6130
+-116.313	31.9727	8562
+-89.2914	41.3214	6413
+-111.6148	33.7586	6738
+-119.6199	31.4994	6449
+-90.1814	39.0599	9026
+-116.1801	35.73	7431
+-109.492	31.779	8538
+-88.9839	38.5434	8800
+-118.8884	44.8355	7776
+-115.5697	46.3291	6376
+-112.0854	35.6772	4649
+-94.0037	36.2959	4710
+-124.0333	47.1227	8349
+-112.8013	31.291	6781
+-116.914	32.303	9177
+-121.1584	45.2091	6888
+-107.2683	30.0404	5756
+-107.0733	29.8655	5481
+-113.4826	33.7249	5737
+-117.2663	46.3732	8145
+-114.8946	31.8433	7199
+-80.8049	29.6007	7330
+-115.8606	34.9091	7786
+-125.1861	49.4978	5859
+-120.2354	34.7721	6225
+-89.6838	39.8959	7977
+-90.0196	38.8598	9015
+-114.2081	47.1097	4814
+-122.5995	47.4363	8994
+-90.4793	40.1298	7934
+-107.6947	33.9688	5620
+-88.5657	40.1955	6921
+-88.9227	37.9001	9499
+-122.5158	47.1305	9147
+-84.1722	41.0552	3406
+-89.6189	34.8959	6562
+-122.2127	45.9253	8235
+-90.7012	37.1029	7616
+-115.2588	30.37	6425
+-115.5282	36.2666	6536
+-84.8932	31.5321	4611
+-117.3683	33.7089	9062
+-114.0689	33.0826	6507
+-116.246	34.6683	8281
+-120.3497	33.8895	6164
+-117.8982	49.4804	5657
+-119.8936	36.7095	5524
+-90.7499	37.4334	7951
+-117.6817	30.7185	7280
+-121.1251	45.5638	7121
+-110.4156	31.8393	9182
+-115.6014	36.2106	6634
+-112.2248	35.0556	5189
+-117.4427	32.7314	9213
+-124.1395	44.00	6074
+-105.5107	30.6806	4158
+-90.6695	35.1418	6267
+-80.6902	29.666	7194
+-89.6428	39.914	7937
+-123.619	44.6977	6991
+-117.745	30.3611	6880
+-123.6782	46.2854	8470
+-87.9237	34.973	6648
+-116.3607	35.9583	7315
+-116.8882	34.5866	8894
+-89.4452	35.4457	7209
+-127.9427	42.3503	2095
+-91.649	38.0401	7860
+-111.8841	33.7129	6619
+-116.9966	45.0222	7483
+-118.4213	35.8287	7300
+-113.2564	30.6638	6153
+-93.5817	38.7034	5977
+-93.7192	38.6885	5828
+-91.012	37.7946	8192
+-88.2202	38.1172	9020
+-120.3276	48.5618	6281
+-109.917	35.651	5043
+-121.4048	35.302	4847
+-118.5514	49.0825	6089
+-108.7699	31.1763	7723
+-89.3948	38.4133	8719
+-92.6699	39.694	6758
+-112.1063	33.6871	6493
+-80.5753	31.7263	5078
+-119.5681	45.2085	7604
+-86.0962	40.1225	5742
+-81.0479	28.1093	8605
+-112.0796	30.4415	7213
+-82.2143	27.8268	9778
+-82.828	25.7692	7500
+-81.3962	27.8906	9047
+-111.8918	26.9295	4156
+-89.2306	39.3499	8024
+-120.047	42.7254	5228
+-91.8961	37.6267	7393
+-124.3452	47.586	7879
+-91.9955	40.225	7069
+-118.7094	45.6412	8597
+-91.3129	39.827	7891
+-89.7358	34.5428	6144
+-92.6439	42.6274	4587
+-124.4009	46.1831	7746
+-89.064	36.3756	8329
+-117.5615	31.2162	7848
+-87.4473	38.3276	8158
+-120.8516	48.0991	7035
+-116.1153	32.1045	8515
+-92.0428	40.1043	7116
+-91.0569	38.1367	8442
+-124.5138	46.757	7818
+-81.2977	25.3526	7002
+-116.1958	43.3648	5616
+-120.2109	45.8607	7203
+-109.7324	32.1769	8558
+-120.2963	31.6133	5804
+-114.9996	32.4658	7524
+-89.4136	41.0043	6779
+-113.3203	29.5451	5556
+-92.0934	38.397	7542
+-91.468	41.8549	5880
+-88.7736	36.3137	8297
+-117.9009	33.6215	8649
+-114.5167	32.8262	7020
+-123.6218	47.0545	8807
+-88.3843	37.8075	9358
+-90.21	38.5115	9107
+-88.7542	38.0473	9387
+-121.3659	47.8904	7639
+-120.6557	45.6654	6706
+-86.0172	40.2466	5582
+-86.5678	34.7296	5697
+-90.4795	38.3772	9009
+-121.1069	46.0632	7400
+-124.1281	45.7299	7691
+-115.0539	34.6548	7058
+-89.4534	40.0995	7658
+-110.0155	29.9988	7723
+-88.6054	36.3311	8306
+-117.5655	47.0515	7998
+-82.0347	25.5348	7365
+-80.5138	30.1266	6654
+-84.6219	26.852	6893
+-88.8795	34.5712	6339
+-119.2565	49.2286	5790
+-88.6648	39.6288	7344
+-116.3903	30.0942	6649
+-115.6187	32.2257	8111
+-92.1498	39.8473	7183
+-89.1468	38.5162	8770
+-116.911	31.64	8439
+-110.4784	33.4191	7478
+-87.0399	36.9316	7709
+-120.6703	46.0675	6732
+-90.8729	37.5965	8074
+-111.6397	32.588	7688
+-112.0408	33.2501	6888
+-112.118	28.9074	5989
+-83.1408	26.6163	8163
+-109.4811	31.3675	8521
+-117.1944	30.9838	7693
+-94.559	38.107	4871
+-82.3528	29.511	7903
+-91.9648	37.0044	6886
+-120.4078	49.6223	5605
+-118.3991	46.4487	8871
+-119.0017	38.086	4829
+-108.8639	33.4501	6900
+-115.4915	32.9768	8098
+-93.1646	41.4133	5274
+-82.6327	30.1457	7142
+-117.1802	34.2562	9374
+-120.2753	47.3183	6788
+-89.444	39.9619	7772
+-86.0141	36.9549	6624
+-82.3868	31.4376	5729
+-109.1952	29.9613	7327
+-82.9199	31.2805	5819
+-111.583	30.0598	7339
+-116.8139	34.9688	8501
+-124.9434	44.7586	6301
+-92.7063	34.8448	4527
+-118.0357	35.176	8125
+-110.793	35.0128	5725
+-115.8395	41.7416	3968
+-115.6089	48.3075	5588
+-89.1816	34.207	5904
+-121.214	48.5439	7070
+-87.8143	38.1642	8609
+-110.4317	31.043	8879
+-88.7546	35.2305	7081
+-127.4554	44.05	3664
+-116.5839	45.9161	7450
+-79.4939	26.6901	6667
+-88.3989	36.8208	8780
+-124.0303	32.1491	1849
+-90.8867	38.9773	8829
+-115.5902	31.6076	7710
+-90.3986	37.7242	8319
+-121.5862	43.1477	5169
+-116.6216	47.0321	7243
+-125.9793	47.0873	6221
+-109.7962	29.9613	7622
+-83.5471	37.2952	3941
+-119.0156	35.3448	7217
+-117.7349	43.2122	6147
+-114.9042	34.3437	6951
+-91.0884	37.384	7767
+-88.0047	39.6025	7479
+-89.1886	41.5247	6168
+-89.0149	35.2793	7122
+-89.8634	45.3678	2269
+-79.9828	28.0765	7434
+-90.0769	38.6817	9086
+-116.5207	32.4194	9087
+-88.3521	35.0418	6833
+-82.5712	29.1836	8215
+-117.8211	47.414	7785
+-118.4054	46.3254	8989
+-119.7211	47.403	7206
+-123.2261	46.7785	9193
+-115.8044	32.1135	8238
+-121.7065	46.8706	8291
+-89.674	42.0436	5793
+-118.5843	34.0117	8094
+-119.3475	34.0298	7265
+-86.0856	38.668	6602
+-116.5597	33.0219	9244
+-84.9757	26.5396	6390
+-87.4147	37.9997	8252
+-111.725	30.7593	7721
+-88.9123	39.2248	7758
+-119.563	48.4558	6421
+-79.5956	27.2453	6961
+-108.3207	29.9839	6688
+-116.0339	46.2769	6871
+-80.7559	27.7382	8334
+-120.6894	49.5737	5851
+-79.8148	30.7813	5590
+-115.8857	46.9248	6575
+-80.9553	28.6421	8232
+-91.7459	36.7533	6819
+-122.3631	49.1517	7134
+-113.3995	32.5762	5982
+-92.6129	37.972	6879
+-117.4066	46.6147	8184
+-90.792	36.8929	7375
+-116.738	32.86	9493
+-81.0287	28.6972	8258
+-90.5804	38.6679	9194
+-123.0178	43.5558	5857
+-116.4246	47.3655	6879
+-120.5635	49.004	6200
+-84.5604	27.075	7037
+-122.7328	48.7735	7613
+-92.1241	37.4473	7081
+-116.8551	32.9585	9552
+-119.6691	43.6506	6280
+-123.4417	46.3008	8663
+-109.0916	30.8801	7927
+-119.7225	32.9502	6564
+-117.4313	34.2732	9302
+-113.8054	30.6426	5576
+-119.4154	47.9215	6989
+-77.6577	27.171	4784
+-114.6541	35.4958	6324
+-115.4679	33.3277	7987
+-119.1478	33.0582	7174
+-85.9005	26.6538	5448
+-118.411	30.6477	6846
+-83.3977	27.0328	8239
+-120.8393	45.7346	6968
+-88.5774	36.8069	8828
+-85.7799	26.031	5323
+-114.8586	34.9205	6774
+-90.0725	37.1167	8225
+-113.5431	30.1141	5649
+-90.251	34.755	6147
+-92.2042	38.0607	7326
+-82.0948	29.2812	8178
+-87.8875	37.5154	8814
+-83.1566	25.1616	6726
+-115.2202	44.3736	5537
+-80.6458	27.6874	8207
+-88.5041	40.4525	6691
+-108.061	32.3865	6862
+-111.2006	36.5819	3977
+-114.9804	38.6092	4055
+-110.7302	29.2642	6924
+-116.8736	28.4516	4883
+-86.2088	38.6795	6727
+-86.4597	37.4865	7218
+-117.0826	31.5525	8337
+-125.552	45.8257	6434
+-120.8503	49.3238	6174
+-113.1443	31.931	6405
+-116.7239	36.8196	6548
+-117.9676	30.7052	7146
+-88.7285	42.4798	5026
+-122.3686	45.8091	8207
+-114.1514	33.7606	6441
+-115.4887	27.3565	3443
+-91.6952	35.7764	5921
+-116.5008	31.0397	7704
+-91.2982	38.36	8352
+-119.1314	45.7177	8275
+-90.0819	36.3663	7739
+-114.9648	45.5673	5701
+-88.6976	37.5792	9691
+-118.6492	30.3356	6409
+-81.6753	26.2348	8084
+-83.061	28.1477	8758
+-121.1612	42.5028	4382
+-111.5305	39.9663	614
+-122.5898	44.1339	6475
+-119.9639	42.4283	4984
+-118.6013	35.7626	7240
+-123.2366	49.1156	7216
+-117.4478	46.5213	8270
+-83.1888	26.7807	8258
+-119.1549	48.4786	6578
+-118.1139	47.0001	8291
+-111.8008	30.0682	7188
+-119.5691	31.0434	6240
+-118.7263	35.2581	7528
+-82.2473	27.4465	9508
+-118.6425	32.1451	7739
+-115.9535	32.7492	8620
+-119.1455	45.4957	8145
+-113.7457	34.2677	5694
+-118.6286	33.8457	8019
+-86.5935	39.7978	6398
+-90.5379	37.1074	7646
+-111.6448	29.3959	6710
+-109.4728	31.7856	8516
+-87.9574	35.2704	6977
+-89.8762	35.4218	7005
+-117.4071	47.7547	7278
+-81.664	27.5091	9287
+-122.708	45.579	8067
+-117.958	33.6167	8596
+-116.6655	34.5967	8710
+-117.5541	31.941	8577
+-113.202	32.3928	6244
+-124.518	43.6948	5596
+-123.485	48.5313	7771
+-86.0802	36.8954	6678
+-88.6837	37.5345	9641
+-116.8593	37.5589	5775
+-111.5895	29.785	7097
+-88.7349	33.5975	5248
+-119.1679	32.8521	7297
+-117.6248	27.9445	4269
+-88.1584	36.6687	8504
+-115.9883	49.3789	5022
+-113.2774	32.4456	6150
+-107.7903	30.894	6619
+-112.1187	33.1938	6868
+-119.4007	44.7745	7424
+-121.2694	46.3179	7678
+-115.6937	45.1835	6351
+-118.6517	35.8847	7102
+-118.0364	47.5725	7679
+-81.7425	29.2946	8108
+-113.2032	31.5523	6364
+-117.1162	46.7894	7825
+-114.0669	31.2662	6085
+-121.375	44.8926	6778
+-87.0616	27.482	4307
+-120.5637	36.8796	4857
+-122.4946	47.5163	8856
+-87.0375	37.8285	7866
+-111.5636	33.3629	7130
+-121.16	45.144	6838
+-113.1895	31.0726	6330
+-121.3247	47.7199	7688
+-118.3824	48.1367	7101
+-110.2506	30.3349	8118
+-110.6811	33.6642	7188
+-91.6558	33.5707	4189
+-116.0417	41.5988	3935
+-87.8032	36.8041	8364
+-110.7991	31.6356	8966
+-108.0792	35.3666	4702
+-86.6454	39.146	6912
+-87.0761	37.4849	7907
+-116.033	46.6921	6796
+-83.6574	29.0473	7640
+-89.6601	37.8387	8794
+-90.6019	42.1579	5744
+-92.159	37.127	6831
+-80.2437	28.4177	7631
+-87.7684	38.4938	8359
+-113.5054	32.7281	5820
+-123.7818	49.9592	6179
+-88.2132	37.5548	9181
+-107.3517	30.1429	5886
+-90.0069	38.7259	9018
+-89.8632	38.5284	8815
+-88.194	35.2767	7057
+-118.3906	33.0325	8146
+-120.4124	46.9113	6847
+-107.2659	27.8908	4273
+-111.8209	34.0844	6321
+-92.4374	37.7926	6982
+-116.8211	46.8338	7528
+-117.7195	44.3748	7338
+-83.6564	29.9193	6909
+-108.5637	32.8222	7133
+-118.9114	43.6707	6603
+-115.64	38.1208	4840
+-122.0799	33.8716	4280
+-107.5559	30.8454	6360
+-116.899	38.1614	5126
+-118.6784	45.2989	8315
+-115.9039	34.0179	8046
+-110.8553	30.1041	7774
+-86.9254	34.4752	5680
+-116.4132	33.176	9017
+-110.3035	33.6577	7226
+-115.0571	34.2167	7126
+-91.5983	36.8481	6992
+-110.3633	30.3348	8120
+-85.2288	41.8466	3667
+-90.7657	39.7774	8243
+-118.8062	48.6557	6498
+-115.4199	35.0019	7312
+-126.2504	48.1344	5708
+-111.0321	29.0183	6593
+-122.8008	48.4808	7939
+-118.6863	33.6493	7902
+-125.4152	49.5448	5649
+-80.6782	26.8479	7946
+-123.0984	49.1225	7228
+-80.0943	25.9341	6791
+-87.4726	38.9296	7785
+-117.5971	35.4516	8055
+-116.6332	34.3971	8789
+-89.8497	38.2171	8611
+-117.7078	43.4055	6342
+-122.0351	46.4147	8479
+-120.4223	47.5754	6803
+-111.223	33.6904	6995
+-86.8668	35.314	6421
+-81.7473	26.9654	8886
+-123.4773	43.406	5643
+-84.4053	28.4305	7215
+-89.5383	34.0922	5711
+-115.273	35.0115	7162
+-90.1643	37.2894	8190
+-117.7409	30.2959	6812
+-90.5688	39.8214	8252
+-121.3211	48.212	7397
+-117.5141	46.5903	8294
+-91.3658	37.8863	8014
+-112.1384	30.8827	7376
+-83.7057	37.7378	4134
+-117.6799	31.5741	8155
+-87.3575	36.3441	7646
+-88.6523	38.4683	8905
+-122.3201	49.0907	7187
+-112.6054	29.9886	6466
+-118.3128	37.5593	5630
+-114.6977	34.8704	6623
+-121.2808	43.2062	5108
+-105.9732	28.481	3676
+-108.2423	31.0126	7125
+-115.6616	29.9608	6251
+-123.7526	45.1978	7449
+-90.2304	39.0654	9047
+-113.7505	30.23	5491
+-109.723	34.1394	6626
+-116.9038	36.8974	6497
+-84.0201	28.3626	7654
+-87.6696	41.1834	5496
+-82.5582	24.4852	6149
+-110.8344	35.2916	5419
+-89.1875	36.8929	8827
+-123.4648	48.6549	7650
+-81.3756	27.3772	8929
+-124.4534	49.2914	6534
+-119.0695	32.1993	7308
+-120.2501	44.7004	6704
+-114.5561	35.7418	6100
+-116.7146	45.7936	7568
+-120.4559	47.3538	6888
+-89.5441	37.8649	8914
+-123.4481	45.5185	7905
+-90.0348	40.5706	7426
+-119.5018	45.1688	7636
+-109.852	30.7879	8466
+-123.7598	46.3324	8432
+-89.3863	38.1224	8951
+-121.7155	32.4785	4360
+-89.3258	35.9701	7811
+-87.2735	38.0292	8090
+-120.7888	47.8501	7092
+-126.1995	49.8072	4823
+-83.4279	31.6696	5240
+-87.9169	40.4627	6534
+-118.5362	44.8834	7945
+-112.2305	33.7177	6380
+-123.9629	48.8779	7204
+-121.3696	47.7462	7719
+-124.5435	45.8878	7446
+-107.5623	33.596	5763
+-120.8028	46.0446	7089
+-116.1315	37.0032	6171
+-115.0208	44.7178	5508
+-116.7927	37.6817	5633
+-83.1764	30.5807	6497
+-86.0651	38.8972	6483
+-126.157	49.2637	5228
+-91.0623	38.8531	8684
+-115.7727	32.8015	8421
+-87.0302	39.1081	7281
+-118.1931	34.8624	8252
+-77.7236	26.9374	4816
+-114.2457	40.0065	2333
+-84.0193	30.449	6183
+-81.9989	26.3634	8298
+-92.6166	39.5995	6849
+-120.4679	45.9572	6942
+-118.6301	46.5792	8634
+-114.8838	46.0864	5660
+-116.3879	49.1738	5436
+-122.1877	45.195	7508
+-90.3432	40.8521	7158
+-118.1124	44.8031	7875
+-79.7961	30.476	5844
+-111.1665	35.8766	4735
+-111.8756	33.3896	6900
+-87.6598	37.7803	8566
+-81.5901	27.2684	9059
+-82.6852	28.9413	8424
+-82.2958	27.8517	9685
+-114.9337	34.9764	6832
+-107.9838	29.8077	6283
+-115.9942	34.5757	8068
+-116.4615	46.8808	7161
+-92.1034	37.7485	7279
+-117.5149	34.4406	9107
+-114.0477	30.858	5832
+-116.6289	45.2814	7306
+-116.2557	36.0825	7143
+-83.6578	33.367	3326
+-112.239	31.6809	7406
+-121.6772	47.4694	8154
+-126.3659	49.9387	4590
+-118.5784	29.9574	6092
+-118.048	45.5682	8645
+-114.5415	44.4681	4937
+-80.2302	30.4354	6184
+-126.4419	47.5622	5660
+-116.9407	45.7445	7790
+-123.1036	49.668	6630
+-109.8127	34.1423	6644
+-88.5848	34.3519	6089
+-121.2716	48.9447	6791
+-88.9308	35.7019	7603
+-92.1095	32.0882	2516
+-80.5921	27.9242	8140
+-94.4705	37.1568	4696
+-114.3548	30.5944	5928
+-92.0487	38.0184	7464
+-114.9215	34.3922	6964
+-121.0559	35.0925	5274
+-91.7188	41.3462	6278
+-92.2001	35.8587	5744
+-120.0292	43.6019	6033
+-90.2091	39.2268	8877
+-123.0214	46.1384	8687
+-116.1801	31.8226	8339
+-90.5939	37.3157	7862
+-116.1831	32.6201	8852
+-116.5736	31.9875	8729
+-84.4435	33.5663	3127
+-121.9126	47.7334	8233
+-116.5888	31.6938	8431
+-90.6534	37.5799	8130
+-90.2927	38.8321	9293
+-117.6033	36.4642	6969
+-125.1619	48.8267	6389
+-81.6049	25.6176	7389
+-113.645	34.0571	5798
+-81.6524	26.8844	8756
+-125.5453	46.5724	6668
+-114.8447	35.0553	6711
+-116.1952	34.497	8304
+-116.5765	31.1176	7808
+-82.3957	31.2069	5989
+-114.1667	37.7057	4379
+-126.0398	49.0709	5454
+-78.9725	27.7627	6316
+-82.6447	28.1706	9155
+-118.3413	33.9865	8355
+-119.9639	31.4207	6065
+-91.5706	42.7818	4894
+-90.6596	39.6317	8428
+-114.7469	32.817	7277
+-114.6365	34.0798	6668
+-87.9852	39.2183	7864
+-90.6219	39.6016	8471
+-87.5036	38.7241	7966
+-119.0518	32.4366	7389
+-116.6659	45.2242	7313
+-83.6937	28.6959	7838
+-91.4344	39.7701	7846
+-88.3708	41.9354	5363
+-113.3357	31.0027	6160
+-112.7359	35.7633	4286
+-118.9496	26.5143	2383
+-117.8844	32.6348	8709
+-86.0593	35.9365	6209
+-86.4587	36.4188	6870
+-88.994	38.1631	9201
+-122.0592	34.6577	4279
+-122.6654	46.8207	9303
+-116.1745	33.8149	8297
+-92.0985	42.9768	4508
+-119.7927	30.2152	5469
+-115.7475	45.1826	6405
+-90.0396	37.2946	8327
+-117.8413	32.6869	8767
+-86.7365	37.4077	7518
+-115.558	33.1114	8148
+-86.1565	37.7115	6885
+-89.9891	39.9807	8031
+-87.5855	42.2805	4569
+-116.5206	45.5005	7289
+-107.5878	30.3291	6203
+-121.8529	47.8656	8090
+-116.3135	33.2196	8897
+-90.0969	37.2319	8244
+-90.3417	36.8448	7821
+-83.5733	25.648	6994
+-87.5828	41.5636	5146
+-117.9232	33.8236	8746
+-91.8151	38.0698	7716
+-113.6044	35.1318	5397
+-112.8131	32.0384	6742
+-87.9769	39.3061	7772
+-119.958	45.9417	7479
+-118.8875	33.7574	7723
+-116.6255	32.2196	8986
+-88.406	35.984	7884
+-89.3334	35.845	7674
+-86.2175	35.3121	5920
+-89.3919	39.9059	7783
+-122.5596	48.342	8050
+-91.812	38.4653	7854
+-88.9178	40.6815	6811
+-89.6179	37.3636	8801
+-88.6743	36.1483	8108
+-120.4804	32.0154	5733
+-116.9497	32.919	9637
+-87.9533	37.5064	8885
+-91.0892	37.0787	7469
+-120.853	48.8225	6571
+-117.3854	46.4561	8238
+-93.1132	38.2902	6441
+-121.1583	48.8771	6766
+-80.8942	28.7761	8084
+-108.4798	30.1635	6944
+-122.1961	43.4027	5615
+-125.8215	47.1104	6393
+-80.0292	31.2306	5307
+-121.2498	31.922	4872
+-118.7234	29.6803	5743
+-84.7456	28.0798	6916
+-116.4551	32.2554	8906
+-80.2204	28.0713	7701
+-111.246	31.4221	8469
+-119.458	29.425	5059
+-81.9132	27.9399	9576
+-112.0017	30.6657	7411
+-82.2382	29.999	7364
+-119.0083	46.5811	8339
+-115.624	32.9857	8243
+-85.234	36.5466	5655
+-117.3215	31.7221	8469
+-80.5097	26.4308	7514
+-118.7993	46.2012	8704
+-112.889	30.9247	6614
+-82.5248	27.7271	9447
+-114.6176	46.7756	5313
+-112.853	28.6225	5261
+-118.0533	34.4937	8594
+-118.8268	36.7702	6196
+-117.8841	46.86	8351
+-124.0587	45.1891	7275
+-112.9738	32.9669	6244
+-116.3793	30.0166	6562
+-122.4965	49.3027	7002
+-118.5483	29.6446	5799
+-90.6656	33.8766	5057
+-118.7057	31.0333	6974
+-81.2574	28.7039	8441
+-89.9898	35.8502	7357
+-121.3553	46.3018	7759
+-116.8764	32.9302	9591
+-116.8887	37.6872	5639
+-89.4871	38.5116	8425
+-115.8709	49.6279	4734
+-112.1907	32.1264	7377
+-92.2427	37.6199	7079
+-111.0775	34.1996	6526
+-114.8435	34.5768	6851
+-123.0054	47.253	9271
+-92.0818	38.7064	7593
+-108.9252	34.1465	6305
+-81.6973	33.1255	3809
+-118.8125	49.0814	6054
+-119.2807	32.2638	7099
+-86.4309	30.337	4227
+-114.562	32.9072	7069
+-123.0696	49.0896	7266
+-83.0534	26.0617	7701
+-119.5152	49.0667	5858
+-117.3236	35.2438	8325
+-122.5777	47.2524	9133
+-90.6282	35.30	6436
+-89.4037	38.377	8744
+-120.4507	28.6756	3717
+-109.4231	32.1992	8283
+-107.5438	36.0783	3742
+-123.9305	35.7352	2062
+-93.458	37.6806	5916
+-125.2073	45.3758	6527
+-85.6082	38.412	6172
+-105.9133	32.6217	4554
+-115.2182	31.4373	7269
+-90.6503	38.2282	8793
+-87.5089	32.8614	4240
+-119.0032	48.7906	6311
+-117.0163	33.1967	9325
+-123.7155	46.2992	8448
+-120.8142	46.8121	7308
+-116.3798	48.7014	5847
+-87.8688	33.0849	4575
+-84.1369	37.6136	4618
+-90.7544	37.545	8065
+-116.2763	46.2601	7128
+-120.2862	37.7617	4389
+-88.7179	37.1871	9275
+-111.4332	35.6139	4947
+-116.0638	32.2516	8565
+-90.3513	36.9593	7867
+-85.6291	28.0795	5922
+-120.6071	34.8304	5815
+-119.3007	49.3345	5669
+-119.5459	46.0352	7922
+-112.4715	29.2223	6022
+-110.0835	33.9116	6937
+-88.0022	35.7021	7450
+-111.8594	30.5496	7477
+-88.1191	39.0439	8106
+-122.8383	47.9014	8577
+-112.0628	32.158	7499
+-90.4717	36.9164	7446
+-111.3984	34.2679	6344
+-87.8099	38.995	7977
+-90.3671	40.5496	7485
+-114.5024	33.7435	6816
+-89.633	38.245	8449
+-116.0046	34.5656	8083
+-117.1281	29.5659	6122
+-117.0476	33.4634	9026
+-118.1732	32.6956	8400
+-78.7783	29.6855	5520
+-118.5112	32.9294	8025
+-111.6742	33.7023	6757
+-113.1443	28.3963	4869
+-109.7162	32.9417	7857
+-119.9145	32.9387	6369
+-108.3315	31.75	7297
+-86.3755	35.9198	6491
+-117.3367	32.1439	8896
+-116.6375	33.3275	9075
+-122.7815	43.9762	6318
+-117.3204	47.4396	7513
+-84.7606	28.2997	6860
+-82.3901	25.1323	6898
+-109.5371	30.72	8201
+-87.8593	39.1439	7868
+-103.809	30.469	2302
+-82.2512	24.083	5723
+-81.2004	29.1153	8037
+-116.7889	45.3193	7475
+-116.2908	35.2016	7960
+-110.3582	30.9927	8833
+-118.5338	29.1011	5255
+-112.9945	33.7085	5784
+-118.1742	34.7048	8368
+-117.4307	32.2463	8933
+-117.0685	34.8083	8771
+-81.2956	27.885	8935
+-108.8816	30.2761	7357
+-91.0181	38.519	8696
+-114.1028	33.4014	6493
+-127.0023	46.7965	5095
+-120.0735	45.1733	7126
+-124.821	43.7519	5492
+-90.9647	40.3725	7567
+-114.0315	31.5522	6188
+-109.7093	30.5588	8174
+-109.5542	32.3507	8289
+-120.8882	32.7587	5312
+-111.2194	32.1594	8328
+-122.173	48.125	8104
+-117.6884	30.7454	7306
+-105.9873	31.7067	4763
+-85.6855	30.0014	5144
+-116.6779	31.7526	8523
+-121.016	43.5489	5301
+-118.8591	43.4735	6413
+-117.3403	33.0132	9282
+-84.9498	38.8903	5316
+-110.5387	34.181	6650
+-90.5401	37.5254	8094
+-113.0393	35.67	4631
+-121.6065	49.0754	6888
+-89.1899	39.4746	7920
+-109.9483	29.8169	7515
+-116.3848	33.2702	8930
+-88.7121	36.2101	8180
+-124.6957	48.1731	7229
+-121.2983	41.0261	3010
+-94.4522	38.9648	5033
+-113.9205	32.1913	6284
+-111.0406	34.2075	6529
+-109.9406	32.9252	7959
+-83.2663	27.0651	8385
+-122.7242	47.6092	8874
+-88.4933	36.5194	8492
+-120.4607	45.6936	6915
+-119.3951	30.5517	6049
+-117.1176	32.2662	9116
+-89.4945	36.7347	8488
+-79.1806	26.8775	6404
+-83.4932	27.0619	8160
+-119.2602	46.8672	7945
+-116.0289	32.7675	8705
+-115.8108	47.0946	6438
+-119.0933	31.8122	7129
+-86.4778	34.944	5823
+-117.2183	43.9783	6746
+-90.8807	40.8234	7126
+-87.9356	39.6603	7390
+-119.4849	44.9881	7527
+-116.2175	44.7522	6648
+-88.1364	39.6988	7426
+-117.7584	33.9121	8950
+-80.2619	29.1203	7279
+-124.8962	47.8527	7207
+-122.214	45.8894	8203
+-89.7315	36.4754	8095
+-116.1255	36.9435	6229
+-91.7595	35.7306	5848
+-119.9707	49.729	5022
+-106.6162	31.5499	5446
+-93.9849	39.3105	5496
+-86.227	26.6719	5098
+-109.0415	31.7701	8059
+-91.329	37.1178	7391
+-82.5483	28.615	8824
+-88.375	39.185	8054
+-118.2115	32.0909	8146
+-119.3953	29.9375	5551
+-117.6917	32.5532	8892
+-125.9573	49.3021	5379
+-84.7938	24.8687	5442
+-86.2407	39.4331	6355
+-90.6198	38.5155	9065
+-89.0835	35.496	7353
+-123.024	46.1057	8651
+-87.9732	38.7689	8290
+-117.1859	46.4785	8031
+-116.6042	31.2162	7923
+-111.0007	31.9657	8640
+-118.9282	42.8565	5758
+-89.5969	39.8809	7940
+-89.0367	36.7381	8730
+-119.4528	33.5626	7073
+-116.5858	32.1001	8848
+-90.6134	36.2445	7199
+-113.3777	34.797	5234
+-91.6671	40.1727	7359
+-120.4086	47.8917	6687
+-109.3092	30.7615	8051
+-116.7833	48.4222	6333
+-89.1916	39.6646	7805
+-108.0063	29.0889	5778
+-118.4594	46.4231	8871
+-117.3094	45.9353	8214
+-123.5105	44.9722	7315
+-119.134	45.8971	8334
+-122.7577	46.2505	8804
+-120.3245	45.4599	6995
+-110.447	31.9323	9076
+-89.6581	37.013	8575
+-121.8915	48.3427	7732
+-118.0252	30.2234	6629
+-82.1132	27.603	9706
+-119.7068	48.3196	6468
+-118.6587	48.408	6784
+-119.0084	32.4761	7444
+-116.7863	30.5988	7271
+-119.9707	48.7528	5931
+-83.4705	24.5216	5922
+-116.8218	32.211	9058
+-88.9846	38.6046	8733

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/images/sample.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/train17/dms/images/sample.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/uscities.dat
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/uscities.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/storage/uscities.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,744 @@
+-85.9500 32.9500
+-85.8500 33.5833
+-85.5000 32.6000
+-86.7500 33.5666
+-86.9833 34.6166
+-85.4500 31.3166
+-87.6666 34.8000
+-86.0 34.166
+-86.5833 34.7000
+-88.2500 30.6833
+-88.2500 30.6666
+-86.3666 32.3833
+-87.9833 32.3333
+-86.1000 33.4500
+-87.6166 33.2166
+-109.6000 31.4500
+-111.6666 35.1333
+-110.3333 31.5833
+-114.166 35.2000
+-110.9166 31.3500
+-112.166 33.4333
+-112.4333 34.6500
+-110.9333 32.1166
+-110.7333 35.166
+-114.6166 32.6500
+-89.9500 35.9500
+-92.8166 33.6000
+-92.8166 33.2166
+-94.1666 36.0
+-94.3666 35.3333
+-93.1000 34.4833
+-90.7000 35.8333
+-92.2333 34.7333
+-92.833 34.3000
+-93.9833 33.4500
+-119.500 35.4166
+-116.7833 34.8500
+-114.7166 33.6166
+-118.3500 34.2000
+-121.8500 39.8000
+-121.9833 37.9666
+-117.8666 34.833
+-124.2000 41.7666
+-118.1333 33.9333
+-116.9666 32.8166
+-115.6666 32.8166
+-117.833 33.1166
+-124.1000 40.9833
+-121.9333 38.2666
+-119.7166 36.7666
+-122.5000 38.666
+-117.7833 33.5500
+-121.9500 37.7000
+-120.5666 34.7166
+-118.1500 33.8166
+-118.4000 33.9333
+-118.2333 34.500
+-120.5666 37.3833
+-121.0 37.6500
+-121.9000 36.6000
+-122.2833 38.2166
+-114.6166 34.6000
+-122.3166 37.8166
+-117.4166 33.2333
+-117.6000 34.500
+-119.1833 34.2000
+-118.1000 34.6333
+-116.5333 33.8166
+-118.1500 34.1500
+-122.6333 38.2333
+-117.7500 34.500
+-122.3000 40.5166
+-117.1833 34.500
+-122.3500 37.9333
+-117.2500 33.9000
+-121.5000 38.5166
+-121.6000 36.6666
+-117.2666 34.1333
+-117.1666 32.7333
+-118.4666 34.2833
+-122.3833 37.6166
+-122.4333 37.7666
+-121.9333 37.3666
+-120.7166 35.3333
+-117.8666 33.7500
+-119.8333 34.4333
+-122.166 36.9833
+-120.4500 34.9000
+-118.4833 34.166
+-119.833 34.3500
+-122.8166 38.5166
+-121.2500 37.9000
+-123.2000 39.1500
+-119.3000 36.3333
+-122.6333 41.7166
+-121.6000 39.1333
+-105.8666 37.4500
+-105.2666 40.0
+-104.7166 38.8166
+-104.8666 39.7500
+-107.8833 37.2833
+-105.833 40.7500
+-108.5333 39.1166
+-104.6333 40.4333
+-103.5000 38.500
+-106.3000 39.2500
+-104.4833 38.3000
+-103.2000 40.6166
+-104.3333 37.2500
+-73.1833 41.1833
+-72.6500 41.7333
+-73.9166 41.3166
+-72.1000 41.3500
+-73.4166 41.1166
+-72.666 41.5333
+-73.666 41.5833
+-72.6833 41.9333
+-75.4666 39.1333
+-75.6000 39.6666
+-76.833 38.833
+-77.333 38.8500
+-80.6500 26.6500
+-80.5666 28.4833
+-81.500 29.1833
+-80.1500 26.666
+-81.8666 26.5833
+-80.3500 27.4666
+-82.2666 29.6833
+-81.7000 30.5000
+-81.7500 24.5500
+-81.9500 28.333
+-80.2666 25.8000
+-80.2833 25.7833
+-82.1333 29.1833
+-81.3833 28.5500
+-85.5833 30.666
+-87.2166 30.4166
+-81.3333 29.9666
+-82.13333 27.7666
+-81.2833 28.7666
+-82.5500 27.3833
+-84.3666 30.3833
+-82.5333 27.9666
+-80.1000 26.6833
+-84.833 31.6000
+-84.2333 32.500
+-83.3166 33.9500
+-84.4333 33.6500
+-81.9666 33.3666
+-81.4833 31.2500
+-84.9333 32.5166
+-84.9500 34.5666
+-82.9000 32.3333
+-83.6833 34.1833
+-84.2666 33.2166
+-85.666 33.166
+-83.6500 32.7000
+-84.5166 33.9166
+-81.2000 32.1333
+-83.2000 30.9666
+-82.4000 31.2500
+-116.2166 43.5666
+-113.7666 42.5333
+-116.8166 47.7666
+-112.666 43.5166
+-117.166 46.3833
+-116.9666 46.7333
+-115.9000 43.333
+-112.6000 42.9166
+-114.4833 42.4833
+-88.3333 41.7500
+-89.8500 38.5500
+-88.9500 40.4833
+-89.2500 37.7833
+-88.2833 40.333
+-87.7500 41.7833
+-87.9000 41.9833
+-87.6333 41.8833
+-87.6000 40.2000
+-88.8666 39.8333
+-89.4833 41.8333
+-88.2666 42.333
+-89.6166 42.3000
+-90.4333 40.9333
+-89.4000 38.8833
+-88.1666 41.5166
+-87.9166 41.833
+-89.1000 41.3166
+-90.6666 40.4666
+-90.5166 41.4500
+-88.8666 38.3166
+-89.6833 40.6666
+-91.2000 39.9500
+-88.1333 40.3000
+-89.500 42.3500
+-89.6666 39.8333
+-87.8833 42.3500
+-85.6166 40.1000
+-86.5000 38.8500
+-86.6166 39.1333
+-85.9000 39.2666
+-86.9000 40.500
+-87.5333 38.500
+-85.2000 41.0
+-85.8000 41.5333
+-87.2500 41.5333
+-85.5000 40.8833
+-86.2833 39.7333
+-85.7500 38.2833
+-86.500 40.4166
+-86.833 40.333
+-86.7166 41.6000
+-85.6833 40.4833
+-85.3500 40.1833
+-86.1500 40.6500
+-84.8333 39.7666
+-85.7833 39.5166
+-86.3166 41.7000
+-87.3000 39.4500
+-87.333 41.5166
+-87.5333 38.6833
+-93.8000 42.333
+-91.1166 40.7833
+-91.7000 41.8833
+-90.2166 41.8333
+-95.8166 41.3333
+-93.6500 41.5333
+-90.7000 42.4000
+-94.1833 42.5500
+-91.5500 41.6333
+-91.4000 40.4000
+-92.9333 42.666
+-93.3333 43.1500
+-93.333 41.6833
+-92.4500 41.1000
+-96.3833 42.4000
+-92.4000 42.5500
+-95.1166 39.5666
+-95.4833 37.6666
+-99.9666 37.7666
+-96.8333 37.8166
+-96.2000 38.3333
+-100.7333 37.9333
+-101.7000 39.3666
+-98.8666 38.3500
+-97.8666 38.666
+-100.9666 37.500
+-96.7666 39.500
+-95.5166 37.3333
+-98.8166 38.8666
+-97.6500 38.8000
+-95.6333 39.666
+-97.4166 37.6500
+-82.7333 38.5500
+-86.4666 35.9666
+-84.1000 36.9500
+-84.6666 39.500
+-87.4833 36.6666
+-84.6000 38.333
+-85.7333 38.1833
+-87.4833 37.3166
+-87.1666 37.7500
+-88.7666 37.666
+-92.3000 31.4000
+-91.1500 30.5333
+-89.8666 30.7833
+-90.6666 29.5166
+-92.0 30.2000
+-93.2166 30.1166
+-93.3000 32.6000
+-92.333 32.5166
+-93.833 31.7666
+-90.2500 29.9833
+-93.8166 32.4666
+-69.8000 44.3166
+-68.8333 44.8000
+-68.166 46.8666
+-70.2500 44.333
+-68.7000 45.6500
+-70.3166 43.6500
+-69.6666 44.5333
+-76.6666 39.1833
+-76.4166 39.3333
+-78.7666 39.6166
+-77.4166 39.4500
+-77.7333 39.7000
+-75.5000 38.3333
+-71.333 42.3666
+-71.6833 42.4000
+-71.1333 41.7166
+-71.4166 42.2833
+-70.6833 42.5833
+-72.666 42.500
+-71.1666 42.7000
+-71.3166 42.6500
+-70.9666 41.6833
+-73.3000 42.4333
+-72.5333 42.2000
+-71.666 41.9000
+-71.8666 42.2666
+-84.166 41.9166
+-83.4333 45.666
+-85.2500 42.3166
+-86.4333 42.1333
+-83.166 42.4166
+-87.833 45.7333
+-83.7333 42.9666
+-85.5166 42.8833
+-86.1000 42.7000
+-84.4666 42.2666
+-85.6000 42.2833
+-84.6000 42.7833
+-87.4000 46.5666
+-84.7666 43.5833
+-86.2333 43.1666
+-83.4166 42.6666
+-82.4166 42.9833
+-84.833 43.5333
+-84.3666 46.4666
+-85.5833 44.7500
+-83.5333 42.2333
+-93.3500 43.6500
+-95.3833 45.8666
+-94.9333 47.5166
+-94.1333 46.4000
+-92.1833 46.8333
+-93.2666 44.3000
+-96.666 46.2666
+-93.3833 48.5666
+-93.9833 44.1500
+-93.2166 44.8833
+-92.5000 43.9166
+-94.1833 45.5833
+-92.5500 47.5000
+-95.833 45.1166
+-91.6333 44.500
+-88.9166 30.4166
+-90.5666 34.2000
+-88.4500 33.6500
+-90.9833 33.4833
+-90.833 33.5000
+-89.2500 31.2666
+-90.833 32.3166
+-89.1666 31.6666
+-90.4666 31.2500
+-88.7500 32.3333
+-91.3833 31.5500
+-88.7666 34.2666
+-90.7833 32.4000
+-89.5833 37.2333
+-92.3666 38.9666
+-90.4000 37.7666
+-91.3500 39.7000
+-92.1833 38.5666
+-94.5000 37.1500
+-94.5833 39.1166
+-92.5500 40.1000
+-91.9000 39.1833
+-92.4333 39.4000
+-90.4166 36.7666
+-91.7166 37.9833
+-94.9166 39.7666
+-90.3833 38.7500
+-90.6333 38.6500
+-89.6000 36.8833
+-93.5500 38.7166
+-89.6000 36.8833
+-93.3833 37.2333
+-108.5333 45.8000
+-111.1500 45.7833
+-112.5000 45.9500
+-112.3666 48.6166
+-106.5333 48.4166
+-104.8000 47.1333
+-111.3666 47.4833
+-109.6666 48.5666
+-112.0 46.6000
+-114.2666 48.3000
+-109.4500 47.666
+-110.4333 45.7000
+-105.8666 46.4333
+-114.833 46.9166
+-96.7500 40.2666
+-103.833 42.8333
+-97.3333 41.4666
+-96.4833 41.4333
+-98.3166 40.9833
+-98.4333 40.6000
+-99.166 40.7333
+-96.7500 40.8500
+-100.6333 40.2000
+-97.4333 41.9833
+-100.6833 41.1333
+-95.9000 41.3000
+-103.6000 41.8666
+-103.1000 41.2166
+-119.7666 39.1666
+-115.7833 40.8333
+-114.8500 39.2833
+-115.1666 36.833
+-118.5500 40.666
+-119.7833 39.5000
+-119.7833 39.5000
+-117.833 38.666
+-117.8000 40.9000
+-71.166 44.500
+-72.333 43.333
+-71.5000 43.2000
+-72.2833 42.9166
+-71.500 43.500
+-71.4333 42.9333
+-70.8166 43.666
+-74.4333 39.3833
+-74.166 40.3166
+-74.1666 40.7000
+-74.4333 40.4833
+-74.1500 40.9000
+-75.1833 40.6833
+-74.7666 40.2166
+-75.0 39.4833
+-106.1000 32.8500
+-106.6166 35.500
+-104.3833 32.7666
+-104.2666 32.3333
+-103.3166 34.3833
+-108.2333 36.7333
+-108.7833 35.5166
+-107.9000 35.1666
+-103.2166 32.7500
+-106.9166 32.3000
+-106.3166 35.8666
+-104.5000 36.7500
+-104.5333 33.3000
+-106.833 35.6166
+-108.1666 32.6333
+-106.8833 34.500
+-103.6000 35.1833
+-73.8000 42.7500
+-73.7500 42.6500
+-76.5333 42.9000
+-78.1833 43.0
+-75.9833 42.2166
+-78.7333 42.9333
+-76.1833 42.6000
+-79.2666 42.4833
+-76.9000 42.1666
+-76.9000 42.7500
+-73.6166 43.3333
+-74.3500 43.333
+-77.7000 42.3500
+-76.4833 42.4500
+-79.2333 42.1166
+-74.0 41.9333
+-79.2500 43.1500
+-74.8500 44.9333
+-74.1000 41.5000
+-73.9666 40.7833
+-73.7833 40.6500
+-73.9000 40.7666
+-79.9500 43.1000
+-78.3666 42.2333
+-75.666 42.5166
+-76.5500 43.4666
+-73.4666 44.6500
+-73.9166 41.6333
+-77.6666 43.1166
+-75.4166 43.2333
+-73.9500 42.8500
+-72.6333 40.8500
+-76.1166 43.1166
+-75.3833 43.1500
+-76.166 43.9833
+-82.5333 35.4333
+-80.9333 35.2166
+-78.7833 35.8666
+-76.1833 36.2666
+-79.166 35.1666
+-77.9666 35.3333
+-79.9500 36.833
+-77.4166 35.6166
+-78.4166 36.3666
+-81.3833 35.7500
+-77.6166 34.8333
+-79.666 34.6166
+-77.500 35.833
+-78.7833 35.8666
+-77.8000 35.9666
+-77.9166 34.2666
+-80.2166 36.1333
+-100.7500 46.7666
+-98.9000 48.1166
+-102.8000 46.8000
+-96.8000 46.9000
+-97.4000 47.9500
+-98.6833 46.9166
+-101.3500 48.4166
+-103.5833 48.1500
+-81.4333 40.9166
+-80.8000 41.8500
+-82.1000 39.3333
+-83.6333 41.3833
+-81.5833 40.666
+-83.0 39.3500
+-84.5166 39.1500
+-81.8500 41.4000
+-82.8833 40.0
+-84.2166 39.9000
+-84.3833 41.2833
+-83.6666 41.166
+-83.1166 41.3333
+-84.5833 39.4000
+-82.6333 39.7333
+-84.333 40.7000
+-82.5166 40.8166
+-83.1666 40.6000
+-84.4166 39.5166
+-82.4666 40.166
+-82.6166 41.2666
+-82.9166 38.7500
+-82.7166 41.4500
+-83.8333 39.8333
+-80.6333 40.3833
+-83.8000 41.6000
+-80.8500 41.3333
+-81.9166 40.7833
+-80.6666 41.2666
+-81.9000 39.9500
+-96.6833 34.7833
+-99.2666 34.6500
+-97.166 34.3000
+-96.0 36.7500
+-97.9166 35.500
+-97.9166 36.3500
+-98.4166 34.5666
+-95.9166 34.8333
+-95.3666 35.6666
+-97.4833 35.2500
+-97.6000 35.4000
+-97.1000 36.7333
+-96.6666 35.2333
+-97.833 36.1666
+-95.9000 36.2000
+-99.5166 36.6000
+-123.1166 44.6333
+-123.8833 46.1500
+-117.8166 44.8333
+-121.3166 44.666
+-123.2833 44.5000
+-123.2166 44.1166
+-123.3166 42.4333
+-121.7333 42.1500
+-122.8666 42.3666
+-118.8500 45.6833
+-122.6000 45.6000
+-122.6666 45.5333
+-123.3666 43.2333
+-123.166 44.9166
+-121.2000 45.6000
+-75.4333 40.6500
+-78.3166 40.3000
+-79.9000 40.8666
+-77.6333 39.9333
+-80.1833 42.833
+-76.7666 40.2000
+-78.8333 40.3166
+-76.3000 40.1166
+-80.1666 41.6333
+-80.3666 41.166
+-75.2500 39.8833
+-80.2166 40.5000
+-80.0 40.4500
+-75.6333 40.3333
+-75.7333 41.3333
+-77.8666 40.8000
+-76.7666 40.8833
+-79.7166 39.9166
+-79.1333 41.8500
+-75.6333 39.9666
+-76.9166 41.2500
+-76.7500 39.9166
+-71.3333 41.5000
+-71.4333 41.7333
+-82.7166 34.5000
+-80.333 32.9000
+-79.9666 32.9000
+-81.1166 33.9500
+-79.7166 34.1833
+-79.2833 33.3833
+-82.2166 34.9000
+-82.1166 34.1666
+-80.8666 33.5000
+-80.9666 34.9833
+-82.0 34.9666
+-80.3666 33.9000
+-98.4333 45.4500
+-96.8000 44.3000
+-98.2166 44.3833
+-98.166 43.6833
+-100.2833 44.3833
+-103.666 44.500
+-96.7333 43.5666
+-97.1500 44.9166
+-97.3833 42.9166
+-84.5833 35.4333
+-82.4000 36.4833
+-85.2000 35.333
+-87.3666 36.5500
+-87.333 35.6333
+-89.4000 36.166
+-82.8333 36.666
+-88.9166 35.6000
+-83.9833 35.8166
+-90.0 35.500
+-86.4666 34.9166
+-86.6833 36.1166
+-86.833 35.3833
+-99.6833 32.4166
+-98.333 27.7333
+-100.7000 35.2333
+-97.7000 30.3000
+-95.9666 29.0
+-94.166 29.9500
+-97.6666 28.3666
+-101.4500 32.3000
+-97.4333 25.9000
+-98.9500 31.8000
+-96.5500 30.6666
+-97.5000 27.7666
+-96.4666 32.833
+-96.8500 32.8500
+-100.7833 29.3666
+-97.1000 33.2000
+-100.5333 28.8666
+-106.4000 31.8000
+-97.500 32.8333
+-94.8000 29.3000
+-96.500 33.666
+-97.6500 26.2333
+-95.3500 29.9666
+-95.3666 29.9833
+-95.5500 30.7166
+-97.6833 31.833
+-101.9333 32.7000
+-99.4500 27.5333
+-94.7333 32.4666
+-101.8166 33.6500
+-94.8000 31.4166
+-98.2166 26.2000
+-102.1833 31.9500
+-98.666 32.7833
+-95.6333 31.7833
+-100.9833 35.5333
+-103.5000 31.4166
+-101.7000 34.1833
+-94.166 29.9500
+-100.4000 31.4333
+-98.4666 29.5333
+-96.6666 33.7166
+-100.9166 32.7166
+-97.3500 31.1000
+-95.2666 32.3500
+-99.3000 34.1666
+-96.9166 28.8500
+-97.2166 31.6166
+-98.4833 33.9666
+-113.1000 37.7000
+-111.8166 41.7500
+-109.6000 38.6000
+-112.166 41.2000
+-110.8333 39.6166
+-111.7166 40.2166
+-112.833 38.7666
+-113.5166 37.333
+-111.9666 40.7666
+-109.5166 40.4500
+-72.5166 44.2000
+-73.1500 44.4666
+-72.9666 43.6000
+-78.5166 38.333
+-79.3333 36.5666
+-77.4666 38.3000
+-78.9000 38.4500
+-79.2000 37.3333
+-76.2000 36.9000
+-77.5166 37.1833
+-77.3333 37.5000
+-79.9666 37.3166
+-78.9000 38.2666
+-78.1666 39.2000
+-123.8166 46.9833
+-122.5333 48.8000
+-122.6666 47.5666
+-120.5166 47.333
+-122.2833 47.9166
+-119.1333 46.2166
+-122.9333 46.1666
+-119.3166 47.2000
+-122.9000 46.9666
+-123.4333 48.1166
+-122.3000 47.5333
+-122.3000 47.6500
+-122.3000 47.4500
+-117.5166 47.6333
+-122.5000 47.2500
+-118.2833 46.1000
+-120.3166 47.4166
+-120.5333 46.5666
+-81.1166 37.7833
+-81.2166 37.3000
+-81.6000 38.3666
+-80.3500 39.2666
+-79.8500 38.8833
+-82.5000 38.4166
+-77.9833 39.4000
+-79.9166 39.6500
+-81.5666 39.2666
+-80.7000 40.1166
+-88.3833 44.2500
+-90.9666 46.5666
+-89.333 42.5000
+-91.4833 44.8666
+-88.4500 43.8000
+-88.1333 44.4833
+-91.2500 43.8666
+-89.3333 43.1333
+-87.6833 44.1000
+-87.6333 45.1000
+-87.9000 42.9500
+-87.8500 42.7166
+-87.7166 43.7500
+-89.5666 44.5000
+-88.2333 43.166
+-89.6166 44.9166
+-106.4666 42.9166
+-104.8166 41.1500
+-109.666 44.5500
+-110.9500 41.2666
+-108.7333 42.8166
+-105.6833 41.3166
+-104.2166 43.8500
+-107.2000 41.8000
+-109.0 41.6000
+-106.9666 44.7666
+-104.2166 42.833

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-0.vm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-0.vm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-0.vm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+#if( !$gisolve_portal_error_info.equals("") )
+  <pre><p><font face="Arial Narrow" color="red">$gisolve_portal_error_info</font><p></pre>
+  <hr>
+#end
+
+<p><b><font color="#000080" face="MS Serif" size="4"><u>Spatial Interpolation: Dynamically Memorized Strategy</u></font></b></p>
+
+<form name="dms0001" method="POST" action="$actionURL">
+  <input type="hidden" name="gisolve_dms_job_list" value="$gisolve_dms_job_list">
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+    <tr>
+      <td width="20%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Dataset</font></b></u></td>
+      <td width="8%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Ks</font></b></u></td>
+      <td width="14%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Resolution</font></b></u></td>
+      <td width="20%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Grid site</font></b></u></td>
+      <td width="13%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Status</font></b></u></td>
+    </tr>
+    #if( $gisolve_dms_job_list )
+      #foreach( $dmsitem in $gisolve_dms_job_list )
+	    <tr>
+	      <td width="20%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      #if( $gisolve_dms_cur_sid && ( $dmsitem.getId() == $gisolve_dms_cur_sid ) )
+		<input type="radio" name="gisolve_dms_id" value="$dmsitem.getId()" checked>
+	      #else
+		<input type="radio" name="gisolve_dms_id" value="$dmsitem.getId()" >
+	      #end
+	      #if( $dmsitem.getDataset() )
+		<font face="MS Sans Serif" color="#000080">$dmsitem.getDataset()</font></td>
+	      #else
+		<font face="MS Sans Serif" color="#000080">none</font></td>
+	      #end
+	      <td width="8%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getKnum()</font></td>
+	      <td width="14%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getN() x $dmsitem.getN()</font></td>
+	      <td width="20%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getSite()</font></td>
+	      <td width="13%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <b><font face="MS Sans Serif" color="#800000">$dmsitem.getStatus()</font></b></td>
+	    </tr>
+      #end
+    #end
+  </table>
+  #if( $gisolve_dms_status_info )
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <tr>
+  	<td width="100%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#FFFFFF">
+  	<b><font face="Arial Narrow" color="darkgreen">$!gisolve_dms_status_info</font></b></td>
+  </tr>
+  </table>
+  #end
+	<hr>
+  <table border="0"><tr>
+  <td width="50%" align="left">   <input type="submit" value="Next" name="actionMethod_doDms_submit">   </td>
+  <td width="50%" align="right"> <input type="submit" value="Delete" name="actionMethod_doDms_delete"> </td>
+  </tr></table>
+  <p>&nbsp;</p>
+  <hr>
+  <p><b><font color="#000080" face="MS Serif" size="3"><u>Create a DMS job:</u></font></b></p>
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <!-- dataset selection -->
+  <tr>
+  	<td width="40%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Dataset: </font>
+	      <select name="gisolve_dms_parm_dataset">
+	      #foreach( $dataitem in $gisolve_dms_parm_datalist )
+		<option value="$dataitem">$!dataitem</option>
+	      #end
+	      </select>
+	      <input type="submit" value="View Dataset" name="actionMethod_doDms_view_dataset">
+	</td>
+<!--
+	<td width="60%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Resolution (NxN): </font>
+	      <input type="radio" name="gisolve_dms_parm_globus" value="GT2" checked> GT2
+	      <input type="radio" name="gisolve_dms_parm_globus" value="GT4" > GT4
+	</td>
+-->
+  </tr>
+  <tr>
+  	<td width="40%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Resolution (NxN): </font>
+	      <input type="text" name="gisolve_dms_parm_r" value="500" size=4>
+	</td>
+  	<td width="60%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">K-neighbor: </font>
+	      <input type="text" name="gisolve_dms_parm_k" value="20" size=2>
+	</td>
+  </tr>
+  </table>
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <tr>
+  	<td width="100%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Grid site selection: </font>
+	      #foreach( $dmssite in $gisolve_dms_site_list )
+	      #if( $dmssite.equals($gisolve_dms_site_list.get(0)) )
+	      <input type="radio" name="gisolve_dms_parm_site" value="$dmssite" checked> $!dmssite
+	      #else
+	      <input type="radio" name="gisolve_dms_parm_site" value="$dmssite" > $!dmssite
+	      #end
+	      #end
+	</td>
+  </tr>
+  </table>
+  <input type="submit" value="Create" name="actionMethod_doDms_create">
+</form>
+<hr>
+#if( $gisolve_dms_viz_vieworig )
+<p><b><font color="#000080" face="MS Serif" size="3">Original Dataset: </font>
+<a href="$gisolve_dms_viz_datasetlink" target="new">Download</a>
+</b></p>
+<p><b><font color="#000080" face="MS Serif" size="3"><u>Plot: </u></font>
+</b></p>
+<img src="$gisolve_dms_viz_datasetimagelink" width="800" height="512">
+#end

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-1.vm
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-1.vm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/templates/dms-1.vm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+#if( !$gisolve_portal_error_info.equals("") )
+  <pre><p><font face="Arial Narrow" color="red">$gisolve_portal_error_info</font><p></pre>
+  <hr>
+#end
+<form name="dms0002" method="POST" action="$actionURL">
+<input type="submit" value="Return" name="actionMethod_doDms_return">
+</form>
+<hr>
+<p><b><font color="#000080" face="MS Serif" size="3">Dataset: $gisolve_dms_viz_dataset , Jod ID: $gisolve_dms_viz_jobid </font></b></p>
+#set( $vizcount = 0)
+#foreach( $imagelink in $$gisolve_dms_viz_imagelink )
+#set( $datalink = $gisolve_dms_viz_resultlink.get($vizcount) )
+	<p><b><font color="#000080" face="MS Serif" size="3">Result dataset (K= $gisolve_dms_viz_klist.get($vizcount) ): </font>
+	<a href="$!datalink" target="new">Download</a>
+	</b></p>
+<table border="0">
+<tr>
+<td align="right">Zmax($!gisolve_dms_viz_zmax)</td>
+<td><img src="$!gisolve_dms_viz_legendlink"</td>
+<td align="left">Zmin($!gisolve_dms_viz_zmin)</td>
+</tr>
+</table>
+	<p><b><font color="#000080" face="MS Serif" size="3"><u>Visualization: </u></font>
+	</b></p>
+	<img src="$!imagelink" width="800" height="512">
+	<hr>
+	#set( $vizcount = $vizcount + 1 )
+#end
+
+
+
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/velocity.properties
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/velocity.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/simplegrid_cig/velocity.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+file.resource.loader.path = templates
+runtime.log = velocity.log

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/RELEASE-NOTES.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/RELEASE-NOTES.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/RELEASE-NOTES.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+
+
+                     Apache Tomcat Version 5.5.23
+                            Release Notes
+
+
+$Id: RELEASE-NOTES 439327 2006-09-01 14:06:34Z fhanik $
+
+
+=============================
+KNOWN ISSUES IN THIS RELEASE:
+=============================
+
+* Dependency Changes
+* JNI Based Applications
+* Bundled APIs
+* Web application reloading and static fields in shared libraries
+* Tomcat on Linux
+* Enabling SSI and CGI Support
+* Security manager URLs
+* Symlinking static resources
+* Enabling invoker servlet
+* Viewing the Tomcat Change Log
+* When all else fails
+
+
+===================
+Dependency Changes:
+===================
+Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires
+configuration to run on J2SE 1.4.  Make sure to read the "RUNNING.txt" 
+file in the fulldocs downloadable file(s) if you are using J2SE 1.4.
+
+In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling
+JSP pages.  This means you no longer need to have the complete
+Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment
+(JRE) is sufficient.  The Eclipse JDT Java compiler is bundled with the 
+binary Tomcat distributions.  Tomcat can also be configured to use the
+compiler from the JDK to compile JSPs, or any other Java compiler supported 
+by Apache Ant.
+
+
+=======================
+JNI Based Applications:
+=======================
+Applications that require native libraries must ensure that the libraries have
+been loaded prior to use.  Typically, this is done with a call like:
+
+  static {
+    System.loadLibrary("path-to-library-file");
+  }
+
+in some class.  However, the application must also ensure that the library is
+not loaded more than once.  If the above code were placed in a class inside
+the web application (i.e. under /WEB-INF/classes or /WEB-INF/lib), and the
+application were reloaded, the loadLibrary() call would be attempted a second
+time.
+
+To avoid this problem, place classes that load native libraries outside of the
+web application, and ensure that the loadLibrary() call is executed only once
+during the lifetime of a particular JVM.
+
+
+=============
+Bundled APIs:
+=============
+A standard installation of Tomcat 5.5 makes all of the following APIs available
+for use by web applications (by placing them in "common/lib" or "shared/lib"):
+* commons-el.jar (Commons Expression Language 1.0)
+* commons-logging-api.jar (Commons Logging API 1.0.x)
+* jasper-compiler.jar (Jasper 2 Compiler)
+* jasper-compiler-jdt.jar (Eclipse JDT Java compiler)
+* jasper-runtime.jar (Jasper 2 Runtime)
+* jsp-api.jar (JSP 2.0 API)
+* naming-common.jar (JNDI Context implementation)
+* naming-factory.jar (JNDI object factories for J2EE ENC support)
+* naming-factory-dbcp.jar (DataSource implementation based on commons-dbcp)
+* naming-resources.jar (JNDI DirContext implementations)
+* servlet-api.jar (Servlet 2.4 API)
+
+Installing the compatibility package will add the following to the list, which are
+needed when running on J2SE 1.4:
+* jmx.jar (Java Management Extensions API 1.2 or later)
+* xercesImpl.jar (Xerces XML Parser, version 2.6.2 or later)
+
+You can make additional APIs available to all of your web applications by
+putting unpacked classes into a "classes" directory (not created by default),
+or by placing them in JAR files in the "lib" directory.
+
+To override the XML parser implementation or interfaces, use the endorsed
+mechanism of the JVM. The default configuration defines JARs located in 
+"common/endorsed" as endorsed.
+
+
+================================================================
+Web application reloading and static fields in shared libraries:
+================================================================
+Some shared libraries (many are part of the JDK) keep references to objects
+instantiated by the web application. To avoid class loading related problems
+(ClassCastExceptions, messages indicating that the classloader
+is stopped, etc.), the shared libraries state should be reinitialized.
+
+Something which might help is to avoid putting classes which would be
+referenced by a shared static field in the web application classloader,
+and putting them in the shared classloader instead (JARs should be put in the
+"lib" folder, and classes should be put in the "classes" folder).
+
+
+================
+Tomcat on Linux:
+================
+GLIBC 2.2 / Linux 2.4 users should define an environment variable:
+export LD_ASSUME_KERNEL=2.2.5
+
+Redhat Linux 9.0 users should use the following setting to avoid
+stability problems:
+export LD_ASSUME_KERNEL=2.4.1
+
+Please note, that these are only recommendations and may not apply in some cases.
+Before you change this variable, make sure you understand its impact, and what it does.
+A brief explanation can be found in the mailing archives at 
+http://marc.theaimsgroup.com/?l=tomcat-dev&m=115689139313901&w=2
+For further assistance, please consult your JVM vendor.
+
+
+=============================
+Enabling SSI and CGI Support:
+=============================
+Because of the security risks associated with CGI and SSI available
+to web applications, these features are disabled by default.  
+
+To enable and configure CGI support, please see the cgi-howto.html page.
+
+To enable and configue SSI support, please see the ssi-howto.html page.
+
+
+======================
+Security manager URLs:
+======================
+In order to grant security permissions to JARs located inside the
+web application repository, use URLs of of the following format
+in your policy file:
+
+file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar
+
+
+============================
+Symlinking static resources:
+============================
+By default, Unix symlinks will not work when used in a web application to link
+resources located outside the web application root directory.
+
+This behavior is optional, and the "allowLinking" flag may be used to disable
+the check.
+
+
+=========================
+Enabling invoker servlet:
+=========================
+Starting with Tomcat 4.1.12, the invoker servlet is no longer available by
+default in all webapps. Enabling it for all webapps is possible by editing
+$CATALINA_HOME/conf/web.xml to uncomment the "/servlet/*" servlet-mapping
+definition.
+
+Using the invoker servlet in a production environment is not recommended and
+is unsupported.  More details are available on the Tomcat FAQ at
+http://tomcat.apache.org/faq/misc.html#invoker.
+
+
+==============================
+Viewing the Tomcat Change Log:
+==============================
+See changelog.html in this directory.
+
+
+====================
+When all else fails:
+====================
+See the FAQ
+http://tomcat.apache.org/faq/

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Tomcat Documentation</display-name>
+  <description>
+     Tomcat Documentation.
+  </description>
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/build.xml.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/build.xml.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/build.xml.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,503 @@
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 5
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 302898 2004-05-23 19:50:44Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 5.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 5.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "server/lib/catalina-ant.jar" from your Tomcat 5
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
+  <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
+  <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
+  <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 5
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <pathelement location="${catalina.home}/common/classes"/>
+    <fileset dir="${catalina.home}/common/endorsed">
+      <include name="*.jar"/>
+    </fileset>
+    <fileset dir="${catalina.home}/common/lib">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/shared/classes"/>
+    <fileset dir="${catalina.home}/shared/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 5 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 5 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 5 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 5 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/deployment.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/deployment.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/deployment.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,224 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Deployment</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Deployment</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/deployment.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before describing how to organize your source code directories,
+it is useful to examine the runtime organization of a web application.
+Prior to the Servlet API Specification, version 2.2, there was little
+consistency between server platforms.  However, servers that conform
+to the 2.2 (or later) specification are required to accept a
+<em>Web Application Archive</em> in a standard format, which is discussed
+further below.</p>
+
+<p>A web application is defined as a hierarchy of directories and files
+in a standard layout.  Such a hierarchy can be accessed in its "unpacked"
+form, where each directory and file exists in the filesystem separately,
+or in a "packed" form known as a Web ARchive, or WAR file.  The former format
+is more useful during development, while the latter is used when you
+distribute your application to be installed.</p>
+
+<p>The top-level directory of your web application hierarchy is also the
+<em>document root</em> of your application.  Here, you will place the HTML
+files and JSP pages that comprise your application's user interface.  When the
+system administrator deploys your application into a particular server, he
+or she assigns a <em>context path</em> to your application (a later section
+of this manual describes deployment on Tomcat).  Thus, if the
+system administrator assigns your application to the context path
+<code>/catalog</code>, then a request URI referring to
+<code>/catalog/index.html</code> will retrieve the <code>index.html</code>
+file from your document root.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Directory Layout"><strong>Standard Directory Layout</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To facilitate creation of a Web Application Archive file in the required
+format, it is convenient to arrange the "executable" files of your web
+application (that is, the files that Tomcat actually uses when executing
+your app) in the same organization as required by the WAR format itself.
+To do this, you will end up with the following contents in your
+application's "document root" directory:</p>
+<ul>
+<li><strong>*.html, *.jsp, etc.</strong> - The HTML and JSP pages, along
+    with other files that must be visible to the client browser (such as
+    JavaScript, stylesheet files, and images) for your application.
+    In larger applications you may choose to divide these files into
+    a subdirectory hierarchy, but for smaller apps, it is generally
+    much simpler to maintain only a single directory for these files.
+    <br><br></li>
+<li><strong>/WEB-INF/web.xml</strong> - The <em>Web Application Deployment
+    Descriptor</em> for your application.  This is an XML file describing
+    the servlets and other components that make up your application,
+    along with any initialization parameters and container-managed
+    security constraints that you want the server to enforce for you.
+    This file is discussed in more detail in the following subsection.
+    <br><br></li>
+<li><strong>/WEB-INF/classes/</strong> - This directory contains any Java
+    class files (and associated resources) required for your application,
+    including both servlet and non-servlet classes, that are not combined
+    into JAR files.  If your classes are organized into Java packages,
+    you must reflect this in the directory hierarchy under
+    <code>/WEB-INF/classes/</code>.  For example, a Java class named
+    <code>com.mycompany.mypackage.MyServlet</code>
+    would need to be stored in a file named
+    <code>/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class</code>.
+    <br><br></li>
+<li><strong>/WEB-INF/lib/</strong> - This directory contains JAR files that
+    contain Java class files (and associated resources) required for your
+    application, such as third party class libraries or JDBC drivers.</li>
+</ul>
+
+<p>When you install an application into Tomcat (or any other
+2.2/2.3-compatible server), the classes in the <code>WEB-INF/classes/</code>
+directory, as well as all classes in JAR files found in the
+<code>WEB-INF/lib/</code> directory, are made visible to other classes
+within your particular web application.  Thus, if
+you include all of the required library classes in one of these places (be
+sure to check licenses for redistribution rights for any third party libraries
+you utilize), you will simplify the installation of your web application --
+no adjustment to the system class path (or installation of global library
+files in your server) will be necessary.</p>
+
+<p>Much of this information was extracted from Chapter 9 of the Servlet
+API Specification, version 2.3, which you should consult for more details.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Shared Library Files"><strong>Shared Library Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like most servlet containers, Tomcat 5 also supports mechanisms to install
+library JAR files (or unpacked classes) once, and make them visible to all
+installed web applications (without having to be included inside the web
+application itself.  The details of how Tomcat locates and shares such
+classes are described in the
+<a href="../class-loader-howto.html">Class Loader HOW-TO</a> documentation.
+For the purposes of our discussion, there are two locations that are commonly
+used within a Tomcat 5 installation for shared code:</p>
+<ul>
+<li><strong>$CATALINA_HOME/common/lib</strong> - JAR files placed here are
+    visible both to web applications and internal Tomcat code.  This is a
+    good place to put JDBC drivers that are required for both your application
+    and internal Tomcat use (such as for a JDBCRealm).
+    <br><br></li>
+<li><strong>$CATALINA_BASE/shared/lib</strong> - JAR files placed here are
+    visible to all web applications, but not to internal Tomcat code.  This
+    is the right place for shared libraries that are specific to your
+    application.<br><br></li>
+</ul>
+
+<p>Out of the box, a standard Tomcat 5 installation includes a variety
+of pre-installed shared library files, including:</p>
+<ul>
+<li>The <em>Servlet 2.4</em> and <em>JSP 2.0</em> APIs that are fundamental
+    to writing servlets and JavaServer Pages.<br><br></li>
+<li>An <em>XML Parser</em> compliant with the JAXP (version 1.2) APIs, so
+    your application can perform DOM-based or SAX-based processing of
+    XML documents.<br><br></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Deployment Descriptor"><strong>Web Application Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>As mentioned above, the <code>/WEB-INF/web.xml</code> file contains the
+Web Application Deployment Descriptor for your application.  As the filename
+extension implies, this file is an XML document, and defines everything about
+your application that a server needs to know (except the <em>context path</em>,
+which is assigned by the system administrator when the application is
+deployed).</p>
+
+<p>The complete syntax and semantics for the deployment descriptor is defined
+in Chapter 13 of the Servlet API Specification, version 2.3.  Over time, it
+is expected that development tools will be provided that create and edit the
+deployment descriptor for you.  In the meantime, to provide a starting point,
+a <a href="web.xml.txt">basic web.xml file</a>
+is provided.  This file includes comments that describe the purpose of each
+included element.</p>
+
+<p><strong>NOTE</strong> - The Servlet Specification includes a Document
+Type Descriptor (DTD) for the web application deployment descriptor, and
+Tomcat 5 enforces the rules defined here when processing your application's
+<code>/WEB-INF/web.xml</code> file.  In particular, you <strong>must</strong>
+enter your descriptor elements (such as <code>&lt;filter&gt;</code>,
+<code>&lt;servlet&gt;</code>, and <code>&lt;servlet-mapping&gt;</code> in
+the order defined by the DTD (see Section 13.3).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Context Descriptor"><strong>Tomcat Context Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>A /META-INF/context.xml file can be used to define Tomcat specific
+configuration options, such as loggers, data sources, session manager
+configuration and more. This XML file must contain one Context element, which
+will be considered as if it was the child of the Host element corresponding
+to the Host to which the  The Tomcat configuration documentation contains
+information on the Context element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment With Tomcat 5"><strong>Deployment With Tomcat 5</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to be executed, a web application must be deployed on
+a servlet container.  This is true even during development.
+We will describe using Tomcat 5 to provide the execution environment.
+A web application can be deployed in Tomcat by one of the following
+approaches:</p>
+<ul>
+<li><em>Copy unpacked directory hierarchy into a subdirectory in directory
+    <code>$CATALINA_HOME/webapps/</code></em>.  Tomcat will assign a
+    context path to your application based on the subdirectory name you
+    choose.  We will use this technique in the <code>build.xml</code>
+    file that we construct, because it is the quickest and easiest approach
+    during development.  Be sure to restart Tomcat after installing or
+    updating your application.
+    <br><br></li>
+<li><em>Copy the web application archive file into directory
+    <code>$CATALINA_HOME/webapps/</code></em>.  When Tomcat is started, it will
+    automatically expand the web application archive file into its unpacked
+    form, and execute the application that way.  This approach would typically
+    be used to install an additional application, provided by a third party
+    vendor or by your internal development staff, into an existing
+    Tomcat installation.  <strong>NOTE</strong> - If you use this approach,
+    and wish to update your application later, you must both replace the
+    web application archive file <strong>AND</strong> delete the expanded
+    directory that Tomcat created, and then restart Tomcat, in order to reflect
+    your changes.
+    <br><br></li>
+<li><em>Use the Tomcat 5 "Manager" web application to deploy and undeploy
+    web applications</em>.  Tomcat 5 includes a web application, deployed
+    by default on context path <code>/manager</code>, that allows you to
+    deploy and undeploy applications on a running Tomcat server without
+    restarting it.  See the administrator documentation (TODO: hyperlink)
+    for more information on using the Manager web application.<br><br></li>
+<li><em>Use "Manager" Ant Tasks In Your Build Script</em>.  Tomcat 5
+    includes a set of custom task definitions for the <code>Ant</code>
+    build tool that allow you to automate the execution of commands to the
+    "Manager" web application.  These tasks are used in the Tomcat deployer.
+    <br><br></li>
+<li><em>Use the Tomcat Deployer</em>.  Tomcat 5 includes a packaged tool
+    bundling the Ant tasks, and can be used to automatically precompile JSPs
+    which are part of the web application before deployment to the server.
+    <br><br></li>
+</ul>
+
+<p>Deploying your app on other servlet containers will be specific to each
+container, but all containers compatible with the Servlet API Specification
+(version 2.2 or later) are required to accept a web application archive file.
+Note that other containers are <strong>NOT</strong> required to accept an
+unpacked directory structure (as Tomcat does), or to provide mechanisms for
+shared library files, but these features are commonly available.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual includes contributions from many members of the Tomcat Project
+developer community.  The following authors have provided significant content:
+</p>
+<ul>
+<li>Craig R. McClanahan
+    (<a href="mailto:craigmcc at apache.org">craigmcc at apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="introduction.html"><strong>Introduction</strong></a> -
+    Briefly describes the information covered here, with
+    links and references to other sources of information.</li>
+<li><a href="installation.html"><strong>Installation</strong></a> -
+    Covers acquiring and installing the required software
+    components to use Tomcat for web application development.</li>
+<li><a href="deployment.html"><strong>Deployment Organization</strong></a> -
+    Discusses the standard directory layout for a web application
+    (defined in the Servlet API Specification), the Web Application
+    Deployment Descriptor, and options for integration with Tomcat
+    in your development environment.</li>
+<li><a href="source.html"><strong>Source Organization</strong></a> -
+    Describes a useful approach to organizing the source code
+    directories for your project, and introduces the
+    <code>build.xml</code> used by Ant to manage compilation.</li>
+<li><a href="processes.html"><strong>Development Processes</strong></a> -
+    Provides brief descriptions of typical development processes
+    utilizing the recommended deployment and source organizations.</li>
+<li><a href="sample/"><strong>Example Application</strong></a> -
+    This directory contains a very simple, but functionally complete,
+    "Hello, World" application built according to the principles
+    described in this manual.  You can use this application to
+    practice using the described techniques.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/installation.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/installation.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/installation.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Installation</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Installation</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/installation.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to use Tomcat 5 for developing web applications, you must first
+install it (and the software it depends on).  The required steps are outlined
+in the following subsections.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDK"><strong>JDK</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5.5 was designed to run on J2SE 5.0, but it can run on JDK 1.4
+as well, using the compatability package as detailed in the Tomcat 
+installation instructions.
+</p>
+
+<p>Compatible JDKs for many platforms (or links to where they can be found)
+are available at
+<a href="http://java.sun.com/j2se/">http://java.sun.com/j2se/</a>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat"><strong>Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Tomcat</strong> server are available from
+<a href="http://tomcat.apache.org/download-55.cgi">http://tomcat.apache.org/download-55.cgi</a>.
+This manual assumes you are using the most recent release
+of Tomcat 5.  Detailed instructions for downloading and installing
+Tomcat 5 are available <a href="../setup.html">here</a>.</p>
+
+<p>In the remainder of this manual, example shell scripts assume that you have
+set an environment variable <code>CATALINA_HOME</code> that contains the
+pathname to the directory in which Tomcat 5 has been installed.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Ant"><strong>Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Ant</strong> build tool are available from
+<a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.
+This manual assumes you are using Ant 1.4 or later.  The instructions should
+also be compatible with later versions, but this has not been tested.</p>
+
+<p>Download and install Ant from the distribution directory mentioned above.
+Then, add the <code>bin</code> directory of the Ant distribution to your
+<code>PATH</code> environment variable, following the standard practices for
+your operating system platform.  Once you have done this, you will be able to
+execute the <code>ant</code> shell command directly.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CVS"><strong>CVS</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Besides the required tools described above, you are strongly encouraged
+to download and install a <em>source code control</em> system, such as the
+<strong>Concurrent Version System</strong> (CVS), to maintain historical
+versions of the source files that make up your web application.  Besides
+the server, you will also need appropriate client
+tools to check out source code files, and check in modified versions.</p>
+
+<p>Detailed instructions for installing and using source code control
+applications is beyond the scope of this manual.  However, CVS server and
+client tools for many platforms (along with documentation) can be downloaded
+from <a href="http://www.cvshome.org">http://www.cvshome.org</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/introduction.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/introduction.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/introduction.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Introduction</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Congratulations!  You've decided to (or been told to) learn how to
+build web applications using servlets and JSP pages, and picked the
+Tomcat server to use for your learning and development.  But now what
+do you do?</p>
+
+<p>This manual is a primer covering the basic steps of using Tomcat to
+set up a development environment, organize your source code, and then
+build and test your application.  It does not discuss architectures or
+recommended coding practices for web application development,
+or provide in depth instructions on operating the development
+tools that are discussed.  References to sources of additional information
+are included in the following subsections.</p>
+
+<p>The discussion in this manual is aimed at developers who will be using
+a text editor along with command line tools to develop and debug their
+applications.  As such, the recommendations are fairly generic -- but you
+should easily be able to apply them in either a Windows-based or Unix-based
+development environment.  If you are utilizing an Interactive Development
+Environment (IDE) tool, you will need to adapt the advice given here to
+the details of your particular environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Links"><strong>Links</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following links provide access to selected sources of online
+information, documentation, and software that is useful in developing
+web applications with Tomcat.</p>
+<ul>
+<li><a href="http://java.sun.com/products/jsp/download.html">http://java.sun.com/products/jsp/download.html</a> -
+    <i>JavaServer Pages (JSP) Specfication, Version 2.0</i>.  Describes
+    the programming environment provided by standard implementations
+    of the JavaServer Pages (JSP) technology.  In conjunction with
+    the Servlet API Specification (see below), this document describes
+    what a portable API page is allowed to contain.  Specific
+    information on scripting (Chapter 6), tag extensions (Chapter 7),
+    and packaging JSP pages (Appendix A) is useful.  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/products/servlet/download.html">http://java.sun.com/products/servlet/download.html</a> -
+    <i>Servlet API Specification, Version 2.4</i>.  Describes the
+    programming environment that must be provided by all servlet
+    containers conforming to this specification.  In particular, you
+    will need this document to understand the web application
+    directory structure and deployment file (Chapter 9), methods of
+    mapping request URIs to servlets (Chapter 11), container managed
+    security (Chapter 12), and the syntax of the <code>web.xml</code>
+    Web Application Deployment Descriptor (Chapter 13).  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/j2ee/blueprints/">http://java.sun.com/j2ee/blueprints/</a> -
+    <i>Sun BluePrints (tm) Design Guidelines for J2EE</i>.  Comprehensive
+    advice and examples on application design for the Java2 Enterprise
+    Edition (J2EE) platform, which includes servlets and JSP pages.  The
+    chapters on servlet and JSP design are useful even when your application
+    does not require other J2EE platform components.
+    <br><br></li>
+<li><b>TODO</b> -- Add more entries here!</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/build.xml.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/build.xml.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/build.xml.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,503 @@
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 5
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 302898 2004-05-23 19:50:44Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 5.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 5.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "server/lib/catalina-ant.jar" from your Tomcat 5
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
+  <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
+  <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
+  <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 5
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <pathelement location="${catalina.home}/common/classes"/>
+    <fileset dir="${catalina.home}/common/endorsed">
+      <include name="*.jar"/>
+    </fileset>
+    <fileset dir="${catalina.home}/common/lib">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/shared/classes"/>
+    <fileset dir="${catalina.home}/shared/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 5 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 5 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 5 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 5 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/deployment.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/deployment.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/deployment.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Deployment</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Deployment</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before describing how to organize your source code directories,
+it is useful to examine the runtime organization of a web application.
+Prior to the Servlet API Specification, version 2.2, there was little
+consistency between server platforms.  However, servers that conform
+to the 2.2 (or later) specification are required to accept a
+<em>Web Application Archive</em> in a standard format, which is discussed
+further below.</p>
+
+<p>A web application is defined as a hierarchy of directories and files
+in a standard layout.  Such a hierarchy can be accessed in its "unpacked"
+form, where each directory and file exists in the filesystem separately,
+or in a "packed" form known as a Web ARchive, or WAR file.  The former format
+is more useful during development, while the latter is used when you
+distribute your application to be installed.</p>
+
+<p>The top-level directory of your web application hierarchy is also the
+<em>document root</em> of your application.  Here, you will place the HTML
+files and JSP pages that comprise your application's user interface.  When the
+system administrator deploys your application into a particular server, he
+or she assigns a <em>context path</em> to your application (a later section
+of this manual describes deployment on Tomcat).  Thus, if the
+system administrator assigns your application to the context path
+<code>/catalog</code>, then a request URI referring to
+<code>/catalog/index.html</code> will retrieve the <code>index.html</code>
+file from your document root.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Directory Layout"><strong>Standard Directory Layout</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To facilitate creation of a Web Application Archive file in the required
+format, it is convenient to arrange the "executable" files of your web
+application (that is, the files that Tomcat actually uses when executing
+your app) in the same organization as required by the WAR format itself.
+To do this, you will end up with the following contents in your
+application's "document root" directory:</p>
+<ul>
+<li><strong>*.html, *.jsp, etc.</strong> - The HTML and JSP pages, along
+    with other files that must be visible to the client browser (such as
+    JavaScript, stylesheet files, and images) for your application.
+    In larger applications you may choose to divide these files into
+    a subdirectory hierarchy, but for smaller apps, it is generally
+    much simpler to maintain only a single directory for these files.
+    <br><br></li>
+<li><strong>/WEB-INF/web.xml</strong> - The <em>Web Application Deployment
+    Descriptor</em> for your application.  This is an XML file describing
+    the servlets and other components that make up your application,
+    along with any initialization parameters and container-managed
+    security constraints that you want the server to enforce for you.
+    This file is discussed in more detail in the following subsection.
+    <br><br></li>
+<li><strong>/WEB-INF/classes/</strong> - This directory contains any Java
+    class files (and associated resources) required for your application,
+    including both servlet and non-servlet classes, that are not combined
+    into JAR files.  If your classes are organized into Java packages,
+    you must reflect this in the directory hierarchy under
+    <code>/WEB-INF/classes/</code>.  For example, a Java class named
+    <code>com.mycompany.mypackage.MyServlet</code>
+    would need to be stored in a file named
+    <code>/WEB-INF/classes/com/mycompany/mypackage/MyServlet.class</code>.
+    <br><br></li>
+<li><strong>/WEB-INF/lib/</strong> - This directory contains JAR files that
+    contain Java class files (and associated resources) required for your
+    application, such as third party class libraries or JDBC drivers.</li>
+</ul>
+
+<p>When you install an application into Tomcat (or any other
+2.2/2.3-compatible server), the classes in the <code>WEB-INF/classes/</code>
+directory, as well as all classes in JAR files found in the
+<code>WEB-INF/lib/</code> directory, are made visible to other classes
+within your particular web application.  Thus, if
+you include all of the required library classes in one of these places (be
+sure to check licenses for redistribution rights for any third party libraries
+you utilize), you will simplify the installation of your web application --
+no adjustment to the system class path (or installation of global library
+files in your server) will be necessary.</p>
+
+<p>Much of this information was extracted from Chapter 9 of the Servlet
+API Specification, version 2.3, which you should consult for more details.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Shared Library Files"><strong>Shared Library Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like most servlet containers, Tomcat 5 also supports mechanisms to install
+library JAR files (or unpacked classes) once, and make them visible to all
+installed web applications (without having to be included inside the web
+application itself.  The details of how Tomcat locates and shares such
+classes are described in the
+<a href="../../class-loader-howto.html">Class Loader HOW-TO</a> documentation.
+For the purposes of our discussion, there are two locations that are commonly
+used within a Tomcat 5 installation for shared code:</p>
+<ul>
+<li><strong>$CATALINA_HOME/common/lib</strong> - JAR files placed here are
+    visible both to web applications and internal Tomcat code.  This is a
+    good place to put JDBC drivers that are required for both your application
+    and internal Tomcat use (such as for a JDBCRealm).
+    <br><br></li>
+<li><strong>$CATALINA_BASE/shared/lib</strong> - JAR files placed here are
+    visible to all web applications, but not to internal Tomcat code.  This
+    is the right place for shared libraries that are specific to your
+    application.<br><br></li>
+</ul>
+
+<p>Out of the box, a standard Tomcat 5 installation includes a variety
+of pre-installed shared library files, including:</p>
+<ul>
+<li>The <em>Servlet 2.4</em> and <em>JSP 2.0</em> APIs that are fundamental
+    to writing servlets and JavaServer Pages.<br><br></li>
+<li>An <em>XML Parser</em> compliant with the JAXP (version 1.2) APIs, so
+    your application can perform DOM-based or SAX-based processing of
+    XML documents.<br><br></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Deployment Descriptor"><strong>Web Application Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>As mentioned above, the <code>/WEB-INF/web.xml</code> file contains the
+Web Application Deployment Descriptor for your application.  As the filename
+extension implies, this file is an XML document, and defines everything about
+your application that a server needs to know (except the <em>context path</em>,
+which is assigned by the system administrator when the application is
+deployed).</p>
+
+<p>The complete syntax and semantics for the deployment descriptor is defined
+in Chapter 13 of the Servlet API Specification, version 2.3.  Over time, it
+is expected that development tools will be provided that create and edit the
+deployment descriptor for you.  In the meantime, to provide a starting point,
+a <a href="web.xml.txt">basic web.xml file</a>
+is provided.  This file includes comments that describe the purpose of each
+included element.</p>
+
+<p><strong>NOTE</strong> - The Servlet Specification includes a Document
+Type Descriptor (DTD) for the web application deployment descriptor, and
+Tomcat 5 enforces the rules defined here when processing your application's
+<code>/WEB-INF/web.xml</code> file.  In particular, you <strong>must</strong>
+enter your descriptor elements (such as <code>&lt;filter&gt;</code>,
+<code>&lt;servlet&gt;</code>, and <code>&lt;servlet-mapping&gt;</code> in
+the order defined by the DTD (see Section 13.3).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Context Descriptor"><strong>Tomcat Context Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>A /META-INF/context.xml file can be used to define Tomcat specific
+configuration options, such as loggers, data sources, session manager
+configuration and more. This XML file must contain one Context element, which
+will be considered as if it was the child of the Host element corresponding
+to the Host to which the  The Tomcat configuration documentation contains
+information on the Context element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment With Tomcat 5"><strong>Deployment With Tomcat 5</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to be executed, a web application must be deployed on
+a servlet container.  This is true even during development.
+We will describe using Tomcat 5 to provide the execution environment.
+A web application can be deployed in Tomcat by one of the following
+approaches:</p>
+<ul>
+<li><em>Copy unpacked directory hierarchy into a subdirectory in directory
+    <code>$CATALINA_HOME/webapps/</code></em>.  Tomcat will assign a
+    context path to your application based on the subdirectory name you
+    choose.  We will use this technique in the <code>build.xml</code>
+    file that we construct, because it is the quickest and easiest approach
+    during development.  Be sure to restart Tomcat after installing or
+    updating your application.
+    <br><br></li>
+<li><em>Copy the web application archive file into directory
+    <code>$CATALINA_HOME/webapps/</code></em>.  When Tomcat is started, it will
+    automatically expand the web application archive file into its unpacked
+    form, and execute the application that way.  This approach would typically
+    be used to install an additional application, provided by a third party
+    vendor or by your internal development staff, into an existing
+    Tomcat installation.  <strong>NOTE</strong> - If you use this approach,
+    and wish to update your application later, you must both replace the
+    web application archive file <strong>AND</strong> delete the expanded
+    directory that Tomcat created, and then restart Tomcat, in order to reflect
+    your changes.
+    <br><br></li>
+<li><em>Use the Tomcat 5 "Manager" web application to deploy and undeploy
+    web applications</em>.  Tomcat 5 includes a web application, deployed
+    by default on context path <code>/manager</code>, that allows you to
+    deploy and undeploy applications on a running Tomcat server without
+    restarting it.  See the administrator documentation (TODO: hyperlink)
+    for more information on using the Manager web application.<br><br></li>
+<li><em>Use "Manager" Ant Tasks In Your Build Script</em>.  Tomcat 5
+    includes a set of custom task definitions for the <code>Ant</code>
+    build tool that allow you to automate the execution of commands to the
+    "Manager" web application.  These tasks are used in the Tomcat deployer.
+    <br><br></li>
+<li><em>Use the Tomcat Deployer</em>.  Tomcat 5 includes a packaged tool
+    bundling the Ant tasks, and can be used to automatically precompile JSPs
+    which are part of the web application before deployment to the server.
+    <br><br></li>
+</ul>
+
+<p>Deploying your app on other servlet containers will be specific to each
+container, but all containers compatible with the Servlet API Specification
+(version 2.2 or later) are required to accept a web application archive file.
+Note that other containers are <strong>NOT</strong> required to accept an
+unpacked directory structure (as Tomcat does), or to provide mechanisms for
+shared library files, but these features are commonly available.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual includes contributions from many members of the Tomcat Project
+developer community.  The following authors have provided significant content:
+</p>
+<ul>
+<li>Craig R. McClanahan
+    (<a href="mailto:craigmcc at apache.org">craigmcc at apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="introduction.html"><strong>Introduction</strong></a> -
+    Briefly describes the information covered here, with
+    links and references to other sources of information.</li>
+<li><a href="installation.html"><strong>Installation</strong></a> -
+    Covers acquiring and installing the required software
+    components to use Tomcat for web application development.</li>
+<li><a href="deployment.html"><strong>Deployment Organization</strong></a> -
+    Discusses the standard directory layout for a web application
+    (defined in the Servlet API Specification), the Web Application
+    Deployment Descriptor, and options for integration with Tomcat
+    in your development environment.</li>
+<li><a href="source.html"><strong>Source Organization</strong></a> -
+    Describes a useful approach to organizing the source code
+    directories for your project, and introduces the
+    <code>build.xml</code> used by Ant to manage compilation.</li>
+<li><a href="processes.html"><strong>Development Processes</strong></a> -
+    Provides brief descriptions of typical development processes
+    utilizing the recommended deployment and source organizations.</li>
+<li><a href="../sample/"><strong>Example Application</strong></a> -
+    This directory contains a very simple, but functionally complete,
+    "Hello, World" application built according to the principles
+    described in this manual.  You can use this application to
+    practice using the described techniques.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/installation.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/installation.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/installation.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Installation</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Installation</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to use Tomcat 5 for developing web applications, you must first
+install it (and the software it depends on).  The required steps are outlined
+in the following subsections.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDK"><strong>JDK</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5.5 was designed to run on J2SE 5.0, but it can run on JDK 1.4
+as well, using the compatability package as detailed in the Tomcat 
+installation instructions.
+</p>
+
+<p>Compatible JDKs for many platforms (or links to where they can be found)
+are available at
+<a href="http://java.sun.com/j2se/">http://java.sun.com/j2se/</a>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat"><strong>Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Tomcat</strong> server are available from
+<a href="http://tomcat.apache.org/download-55.cgi">http://tomcat.apache.org/download-55.cgi</a>.
+This manual assumes you are using the most recent release
+of Tomcat 5.  Detailed instructions for downloading and installing
+Tomcat 5 are available <a href="../../setup.html">here</a>.</p>
+
+<p>In the remainder of this manual, example shell scripts assume that you have
+set an environment variable <code>CATALINA_HOME</code> that contains the
+pathname to the directory in which Tomcat 5 has been installed.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Ant"><strong>Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Binary downloads of the <strong>Ant</strong> build tool are available from
+<a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.
+This manual assumes you are using Ant 1.4 or later.  The instructions should
+also be compatible with later versions, but this has not been tested.</p>
+
+<p>Download and install Ant from the distribution directory mentioned above.
+Then, add the <code>bin</code> directory of the Ant distribution to your
+<code>PATH</code> environment variable, following the standard practices for
+your operating system platform.  Once you have done this, you will be able to
+execute the <code>ant</code> shell command directly.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="CVS"><strong>CVS</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Besides the required tools described above, you are strongly encouraged
+to download and install a <em>source code control</em> system, such as the
+<strong>Concurrent Version System</strong> (CVS), to maintain historical
+versions of the source files that make up your web application.  Besides
+the server, you will also need appropriate client
+tools to check out source code files, and check in modified versions.</p>
+
+<p>Detailed instructions for installing and using source code control
+applications is beyond the scope of this manual.  However, CVS server and
+client tools for many platforms (along with documentation) can be downloaded
+from <a href="http://www.cvshome.org">http://www.cvshome.org</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/introduction.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/introduction.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/introduction.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Introduction</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Congratulations!  You've decided to (or been told to) learn how to
+build web applications using servlets and JSP pages, and picked the
+Tomcat server to use for your learning and development.  But now what
+do you do?</p>
+
+<p>This manual is a primer covering the basic steps of using Tomcat to
+set up a development environment, organize your source code, and then
+build and test your application.  It does not discuss architectures or
+recommended coding practices for web application development,
+or provide in depth instructions on operating the development
+tools that are discussed.  References to sources of additional information
+are included in the following subsections.</p>
+
+<p>The discussion in this manual is aimed at developers who will be using
+a text editor along with command line tools to develop and debug their
+applications.  As such, the recommendations are fairly generic -- but you
+should easily be able to apply them in either a Windows-based or Unix-based
+development environment.  If you are utilizing an Interactive Development
+Environment (IDE) tool, you will need to adapt the advice given here to
+the details of your particular environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Links"><strong>Links</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following links provide access to selected sources of online
+information, documentation, and software that is useful in developing
+web applications with Tomcat.</p>
+<ul>
+<li><a href="http://java.sun.com/products/jsp/download.html">http://java.sun.com/products/jsp/download.html</a> -
+    <i>JavaServer Pages (JSP) Specfication, Version 2.0</i>.  Describes
+    the programming environment provided by standard implementations
+    of the JavaServer Pages (JSP) technology.  In conjunction with
+    the Servlet API Specification (see below), this document describes
+    what a portable API page is allowed to contain.  Specific
+    information on scripting (Chapter 6), tag extensions (Chapter 7),
+    and packaging JSP pages (Appendix A) is useful.  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/products/servlet/download.html">http://java.sun.com/products/servlet/download.html</a> -
+    <i>Servlet API Specification, Version 2.4</i>.  Describes the
+    programming environment that must be provided by all servlet
+    containers conforming to this specification.  In particular, you
+    will need this document to understand the web application
+    directory structure and deployment file (Chapter 9), methods of
+    mapping request URIs to servlets (Chapter 11), container managed
+    security (Chapter 12), and the syntax of the <code>web.xml</code>
+    Web Application Deployment Descriptor (Chapter 13).  The Javadoc
+    API Documentation is included in the specification, and with the
+    Tomcat download.<br><br></li>
+<li><a href="http://java.sun.com/j2ee/blueprints/">http://java.sun.com/j2ee/blueprints/</a> -
+    <i>Sun BluePrints (tm) Design Guidelines for J2EE</i>.  Comprehensive
+    advice and examples on application design for the Java2 Enterprise
+    Edition (J2EE) platform, which includes servlets and JSP pages.  The
+    chapters on servlet and JSP design are useful even when your application
+    does not require other J2EE platform components.
+    <br><br></li>
+<li><b>TODO</b> -- Add more entries here!</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/processes.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/processes.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/processes.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,284 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Development Processes</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Development Processes</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Development Processes"><strong>Development Processes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Although application development can take many forms, this manual proposes
+a fairly generic process for creating web applications using Tomcat.  The
+following sections highlight the commands and tasks that you, as the developer
+of the code, will perform.  The same basic approach works when you have
+multiple programmers involved, as long as you have an appropriate source code
+control system and internal team rules about who is working on what parts
+of the application at any given time.</p>
+
+<p>The task descriptions below assume that you will be using CVS for source
+code control, and that you have already configured access to the appropriate
+CVS repository.  Instructions for doing this are beyond the scope of this
+manual.  If you are using a different source code control environment, you
+will need to figure out the corresponding commands for your system.</p>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="One-Time Setup of Ant and Tomcat for Development"><strong>One-Time Setup of Ant and Tomcat for Development</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to take advantage of the special Ant tasks that interact with the
+<em>Manager</em> web application, you need to perform the following tasks
+once (no matter how many web applications you plan to develop).</p>
+<ul>
+<li><em>Configure the Ant custom tasks</em>.  The implementation code for the
+    Ant custom tasks is in a JAR file named
+    <code>$CATALINA_HOME/server/lib/catalina-ant.jar</code>, which must be
+    copied in to the <code>lib</code> directory of your Ant installation.
+    <br><br></li>
+<li><em>Define one or more Tomcat users</em>.  The <em>Manager</em> web
+    application runs under a security constraint that requires a user to be
+    logged in, and have the security role <code>manager</code> assigned to
+    him or her.  How such users are defined depends on which Realm you have
+    configured in Tomcat's <code>conf/server.xml</code> file -- see the
+    <a href="../../realm-howto.html">Realm Configuration HOW-TO</a> for more
+    information.  You may define any number of users (with any username
+    and password that you like) with the <code>manager</code> role.
+    <br><br></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create Project Source Code Directory"><strong>Create Project Source Code Directory</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first step is to create a new project source directory, and customize
+the <code>build.xml</code> and <code>build.properties</code> files you will
+be using.  The directory structure is described in <a href="source.html">the
+previous section</a>, or you can use the
+<a href="../sample/">sample application</a> as a starting point.</p>
+
+<p>Create your project source directory, and define it within your CVS
+repository.  This might be done by a series of commands like this, where
+<code>{project}</code> is the name under which your project should be
+stored in the CVS repository, and {username} is your login username:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+mkdir myapp	&lt;-- Assumed "project source directory"
+cd myapp
+mkdir docs
+mkdir src
+mkdir web
+mkdir web/WEB-INF
+cvs import -m "Initial Project Creation" {project} \
+	{username} start
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Now, to verify that it was created correctly in CVS, we will perform a
+checkout of the new project:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd ..
+mv myapp myapp.bu
+cvs checkout {project}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Next, you will need to create and check in an initial version of the
+<code>build.xml</code> script to be used for development.  For getting
+started quickly and easily, base your <code>build.xml</code> on the
+<a href="build.xml.txt">basic build.xml file</a>, included with this manual,
+or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+emacs build.xml		&lt;-- if you want a real editor :-)
+cvs add build.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Until you perform the CVS commit, your changes are local to your own
+development directory.  Committing makes those changes visible to other
+developers on your team that are sharing the same CVS repository.</p>
+
+<p>The next step is to customize the Ant <em>properties</em> that are
+named in the <code>build.xml</code> script.  This is done by creating a
+file named <code>build.properties</code> in your project's top-level
+directory.  The supported properties are listed in the comments inside
+the sample <code>build.xml</code> script.  At a minimum, you will generally
+need to define the <code>catalina.home</code> property defining where
+Tomcat 5 is installed, and the manager application username and password.
+You might end up with something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+# Context path to install this application on
+app.path=/hello
+
+# Tomcat 5 installation directory
+catalina.home=/usr/local/apache-tomcat-5.5
+
+# Manager webapp username and password
+manager.username=myusername
+manager.password=mypassword
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>In general, you will <strong>not</strong> want to check the
+<code>build.properties</code> file in to the CVS repository, because it
+is unique to each developer's environment.</p>
+
+<p>Now, create the initial version of the web application deployment
+descriptor.  You can base <code>web.xml</code> on the
+<a href="web.xml.txt">basic web.xml file</a>, or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web/WEB-INF
+emacs web.xml
+cvs add web.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+Note that this is only an example web.xml file.  The full definition
+of the deployment descriptor file is in the
+<a href="http://java.sun.com/products/servlet">Servlet Specification.</a>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit Source Code and Pages"><strong>Edit Source Code and Pages</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The edit/build/test tasks will generally be your most common activities
+during development and maintenance.  The following general principles apply.
+As described in <a href="source.html">Source Organization</a>, newly created
+source files should be located in the appropriate subdirectory, under your
+project source directory.</p>
+
+<p>Whenever you wish to refresh your development directory to reflect the
+work performed by other developers, you will ask CVS to do it for you:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+cvs update -dP
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>To create a new file, go to the appropriate directory, create the file,
+and register it with CVS.  When you are satisfied with it's contents (after
+building and testing is successful), commit the new file to the repository.
+For example, to create a new JSP page:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web		&lt;-- Ultimate destination is document root
+emacs mypage.jsp
+cvs add mypage.jsp
+... build and test the application ...
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>Java source code that is defined in packages must be organized in a
+directory hierarchy (under the <strong>src/</strong> subdirectory) that
+matches the package names.  For example, a Java class named
+<code>com.mycompany.mypackage.MyClass.java</code> should be stored in file
+<code>src/com/mycompany/mypackage/MyClass.java</code>.
+Whenever you create a new subdirectory, don't forget to
+register it with CVS.</p>
+
+<p>To edit an existing source file, you will generally just start editing
+and testing, then commit the changed file when everything works.  Although
+CVS can be configured to required you to "check out" or "lock" a file you
+are going to be modifying, this is generally not used.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Build the Web Application"><strong>Build the Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are ready to compile the application, issue the following
+commands (generally, you will want a shell window open that is set to
+the project source directory, so that only the last command is needed):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp		&lt;-- Normally leave a window open here
+ant
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>The Ant tool will be execute the default "compile" target in your
+<code>build.xml</code> file, which will compile any new or updated Java
+code.  If this is the first time you compile after a "build clean",
+it will cause everything to be recompiled.</p>
+
+<p>To force the recompilation of your entire application, do this instead:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+ant all
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>This is a very good habit immediately before checking in changes, to
+make sure that you have not introduced any subtle problems that Javac's
+conditional checking did not catch.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Test Your Web Application"><strong>Test Your Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To test your application, you will want to install it under Tomcat.  The
+quickest way to do that is to use the custom Ant tasks that are included in
+the sample <code>build.xml</code> script.  Using these commands might follow
+a pattern like this:</p>
+<ul>
+<li><em>Start Tomcat 5 if needed</em>.  If Tomcat 5 is not already running,
+    you will need to start it in the usual way.
+    <br><br></li>
+<li><em>Compile your application</em>.  Use the <code>ant compile</code>
+    command (or just <code>ant</code>, since this is the default).  Make
+    sure that there are no compilation errors.
+    <br><br></li>
+<li><em>Install the application</em>.  Use the <code>ant install</code>
+    command.  This tells Tomcat to immediately start running your app on
+    the context path defined in the <code>app.path</code> build property.
+    Tomcat does <strong>NOT</strong> have to be restarted for this to
+    take effect.<br><br></li>
+<li><em>Test the application</em>.  Using your browser or other testing
+    tools, test the functionality of your application.
+    <br><br></li>
+<li><em>Modify and rebuild as needed</em>.  As you discover that changes
+    are required, make those changes in the original <strong>source</strong>
+    files, not in the output build directory, and re-issue the
+    <code>ant compile</code> command.  This ensures that your changes will
+    be available to be saved (via <code>cvs commit</code>) later on --
+    the output build directory is deleted and recreated as necessary.
+    <br><br></li>
+<li><em>Reload the application</em>.  Tomcat will recognize changes in
+    JSP pages automatically, but it will continue to use the old versions
+    of any servlet or JavaBean classes until the application is reloaded.
+    You can trigger this by executing the <code>ant reload</code> command.
+    <br><br></li>
+<li><em>Remove the application when you re done</em>.  When you are through
+    working on this application, you can remove it from live execution by
+    running the <code>ant remove</code> command.</li>
+</ul>
+
+<p>Do not forget to commit your changes to the source code repository when
+you have completed your testing!</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Creating a Release"><strong>Creating a Release</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are through adding new functionality, and you've tested everything
+(you DO test, don't you :-), it is time to create the distributable version
+of your web application that can be deployed on the production server.  The
+following general steps are required:</p>
+<ul>
+<li>Issue the command <code>ant all</code> from the project source
+    directory, to rebuild everything from scratch one last time.
+    <br><br></li>
+<li>Use the <code>cvs tag</code> command to create an identifier for
+    all of the source files utilized to create this release.  This allows
+    you to reliably reconstruct a release (from sources) at a later
+    time.</li>
+<li>Issue the command <code>ant dist</code> to create a distributable
+    web application archive (WAR) file, as well as a JAR file containing
+    the corresponding source code.
+    <br><br></li>
+<li>Package the contents of the <code>dist</code> directory using the
+    <strong>tar</strong> or <strong>zip</strong> utility, according to
+    the standard release procedures used by your organization.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/source.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/source.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/source.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,284 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Source Organization</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Source Organization</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directory Structure"><strong>Directory Structure</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>A key recommendation of this manual is to separate the directory
+hierarchy containing your source code (described in this section) from
+the directory hierarchy containing your deployable application
+(described in the preceding section).  Maintaining this separation has
+the following advantages:</p>
+<ul>
+<li>The contents of the source directories can be more easily administered,
+    moved, and backed up if the "executable" version of the application
+    is not intermixed.
+    <br><br></li>
+<li>Source code control is easier to manage on directories that contain
+    only source files.
+    <br><br></li>
+<li>The files that make up an installable distribution of your
+    application are much easier to select when the deployment
+    hierarchy is separate.</li>
+</ul>
+
+<p>As we will see, the <code>ant</code> development tool makes the creation
+and processing of such directory hierarchies nearly painless.</p>
+
+<p>The actual directory and file hierarchy used to contain the source code
+of an application can be pretty much anything you like.  However, the
+following organization has proven to be quite generally applicable, and is
+expected by the example <code>build.xml</code> configuration file that
+is discussed below.  All of these components exist under a top level
+<em>project source directory</em> for your application:</p>
+<ul>
+<li><strong>docs/</strong> - Documentation for your application, in whatever
+    format your development team is using.<br><br></li>
+<li><strong>src/</strong> - Java source files that generate the servlets,
+    beans, and other Java classes that are unique to your application.
+    If your source code is organized in packages (<strong>highly</strong>
+    recommended), the package hierarchy should be reflected as a directory
+    structure underneath this directory.<br><br></li>
+<li><strong>web/</strong> - The static content of your web site (HTML pages,
+    JSP pages, JavaScript files, CSS stylesheet files, and images) that will
+    be accessible to application clients.  This directory will be the
+    <em>document root</em> of your web application, and any subdirectory
+    structure found here will be reflected in the request URIs required to
+    access those files.<br><br></li>
+<li><strong>web/WEB-INF/</strong> - The special configuration files required
+    for your application, including the web application deployment descriptor
+    (<code>web.xml</code>, defined in the 
+    <a href="http://java.sun.com/products/servlet">Servlet Specification</a>), 
+    tag library descriptors for custom tag libraries
+    you have created, and other resource files you wish to include within
+    your web application.  Even though this directory appears to be a
+    subdirectory of your <em>document root</em>, the Servlet Specification
+    prohibits serving the contents of this directory (or any file it contains)
+    directly to a client request.  Therefore, this is a good place to store
+    configuration information that is sensitive (such as database connection
+    usernames and passwords), but is required for your application to
+    operate successfully.</li>
+</ul>
+
+<p>During the development process, two additional directories will be
+created on a temporary basis:</p>
+<ul>
+<li><strong>build/</strong> - When you execute a default build
+    (<code>ant</code>), this directory will contain an exact image
+    of the files in the web application archive for this application.
+    Tomcat 5 allows you to deploy an application in an unpacked
+    directory like this, either by copying it to the
+    <code>$CATALINA_HOME/webapps</code> directory, or by <em>installing</em>
+    it via the "Manager" web application.  The latter approach is very
+    useful during development, and will be illustrated below.
+    <br><br></li>
+<li><strong>dist/</strong> - When you execute the <code>ant dist</code>
+    target, this directory will be created.  It will create an exact image
+    of the binary distribution for your web application, including an license
+    information, documentation, and README files that you have prepared.</li>
+</ul>
+
+<p>Note that these two directories should <strong>NOT</strong> be archived in
+your source code control system, because they are deleted and recreated (from
+scratch) as needed during development.  For that reason, you should not edit
+any source files in these directories if you want to maintain a permanent
+record of the changes, because the changes will be lost the next time that a
+build is performed.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Dependencies"><strong>External Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>What do you do if your application requires JAR files (or other
+  resources) from external projects or packages?  A common example is that
+  you need to include a JDBC driver in your web application, in order to
+  operate.</p>
+
+  <p>Different developers take different approaches to this problem.
+  Some will encourage checking a copy of the JAR files you depend on into
+  the source code control archives for every application that requires those
+  JAR files.  However, this can cause significant management issues when you
+  use the same JAR in many applications - particular when faced with a need
+  to upgrade to a different version of that JAR file.</p>
+
+  <p>Therefore, this manual recommends that you <strong>NOT</strong> store
+  a copy of the packages you depend on inside the source control archives
+  of your applications.  Instead, the external dependencies should be
+  integrated as part of the process of <strong>building</strong> your
+  application.  In that way, you can always pick up the appropriate version
+  of the JAR files from wherever your development system administrator has
+  installed them, without having to worry about updating your application
+  every time the version of the dependent JAR file is changed.</p>
+
+  <p>In the example Ant <code>build.xml</code> file, we will demonstrate
+  how to define <em>build properties</em> that let you configure the locations
+  of the files to be copied, without having to modify <code>build.xml</code>
+  when these files change.  The build properties used by a particular
+  developer can be customized on a per-application basis, or defaulted to
+  "standard" build properties stored in the developer's home directory.</p>
+
+  <p>In many cases, your development system administrator will have already
+  installed the required JAR files into Tomcat 5's <code>common/lib</code>
+  or <code>shared/lib</code> directories.  If this has been done, you need
+  to take no actions at all - the example <code>build.xml</code> file
+  automatically constructs a compile classpath that includes these files.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Source Code Control"><strong>Source Code Control</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned earlier, it is highly recommended that you place all of the
+source files that comprise your application under the management of a
+source code control system like the Concurrent Version System (CVS).  If you
+elect to do this, every directory and file in the source hierarchy should be
+registered and saved -- but none of the generated files.  If you register
+binary format files (such as images or JAR libraries), be sure to indicate
+this to your source code control system.</p>
+
+<p>We recommended (in the previous section) that you should not store the
+contents of the <code>build/</code> and <code>dist/</code> directories
+created by your development process in the source code control system.  An
+easy way to tell CVS to ignore these directories is to create a file named
+<code>.cvsignore</code> (note the leading period) in your top-level source
+directory, with the following contents:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+build
+dist
+build.properties
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>The reason for mentioning <code>build.properties</code> here will be
+explained in the <a href="processes.html">Processes</a> section.</p>
+
+<p>Detailed instructions for your source code control environment are beyond
+the scope of this manual.  However, the following steps are followed when
+using a command-line CVS client:</p>
+<ul>
+<li>To refresh the state of your source code to that stored in the
+    the source repository, go to your project source directory, and
+    execute <code>cvs update -dP</code>.
+    <br><br></li>
+<li>When you create a new subdirectory in the source code hierarchy, register
+    it in CVS with a command like <code>cvs add {subdirname}</code>.
+    <br><br></li>
+<li>When you first create a new source code file, navigate to the directory
+    that contains it, and register the new file with a command like
+    <code>cvs add {filename}</code>.
+    <br><br></li>
+<li>If you no longer need a particular source code file, navigate to the
+    containing directory and remove the file.  Then, deregister it in CVS
+    with a command like <code>cvs remove {filename}</code>.
+    <br><br></li>
+<li>While you are creating, modifying, and deleting source files, changes
+    are not yet reflected in the server repository.  To save your changes in
+    their current state, go to the project source directory
+    and execute <code>cvs commit</code>.  You will be asked to write a brief
+    description of the changes you have just completed, which will be stored
+    with the new version of any updated source file.</li>
+</ul>
+
+<p>CVS, like other source code control systems, has many additional features
+(such as the ability to tag the files that made up a particular release, and
+support for multiple development branches that can later be merged).  See the
+links and references in the <a href="introduction.html">Introduction</a> for
+more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BUILD.XML Configuration File"><strong>BUILD.XML Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>We will be using the <strong>ant</strong> tool to manage the compilation of
+our Java source code files, and creation of the deployment hierarchy.  Ant
+operates under the control of a build file, normally called
+<code>build.xml</code>, that defines the processing steps required.  This
+file is stored in the top-level directory of your source code hierarchy, and
+should be checked in to your source code control system.</p>
+
+<p>Like a Makefile, the <code>build.xml</code> file provides several
+"targets" that support optional development activities (such as creating
+the associated Javadoc documentation, erasing the deployment home directory
+so you can build your project from scratch, or creating the web application
+archive file so you can distribute your application.  A well-constructed
+<code>build.xml</code> file will contain internal documentation describing
+the targets that are designed for use by the developer, versus those targets
+used internally.  To ask Ant to display the project documentation, change to
+the directory containing the <code>build.xml</code> flie and type:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ant -projecthelp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+<p>To give you a head start, a <a href="build.xml.txt">basic build.xml file</a>
+is provided that you can customize and install in the project source directory
+for your application.  This file includes comments that describe the various
+targets that can be executed.  Briefly, the following targets are generally
+provided:</p>
+<ul>
+<li><strong>clean</strong> - This target deletes any existing
+    <code>build</code> and <code>dist</code> directories, so that they
+    can be reconstructed from scratch.  This allows you to guarantee that
+    you have not made source code modifications that will result in
+    problems at runtime due to not recompiling all affected classes.
+    <br><br></li>
+<li><strong>compile</strong> - This target is used to compile any source code
+    that has been changed since the last time compilation took place.  The
+    resulting class files are created in the <code>WEB-INF/classes</code>
+    subdirectory of your <code>build</code> directory, exactly where the
+    structure of a web application requires them to be.  Because
+    this command is executed so often during development, it is normally
+    made the "default" target so that a simple <code>ant</code> command will
+    execute it.
+    <br><br></li>
+<li><strong>all</strong> - This target is a short cut for running the
+    <code>clean</code> target, followed by the <code>compile</code> target.
+    Thus, it guarantees that you will recompile the entire application, to
+    ensure that you have not unknowingly introduced any incompatible changes.
+    <br><br></li>
+<li><strong>javadoc</strong> - This target creates Javadoc API documentation
+    for the Java classes in this web application.  The example
+    <code>build.xml</code> file assumes you want to include the API
+    documentation with your app distribution, so it generates the docs
+    in a subdirectory of the <code>dist</code> directory.  Because you normally
+    do not need to generate the Javadocs on every compilation, this target is
+    usually a dependency of the <code>dist</code> target, but not of the
+    <code>compile</code> target.
+    <br><br></li>
+<li><strong>dist</strong> - This target creates a distribution directory for
+    your application, including any required documentation, the Javadocs for
+    your Java classes, and a web application archive (WAR) file that will be
+    delivered to system administrators who wish to install your application.
+    Because this target also depends on the <code>deploy</code> target, the
+    web application archive will have also picked up any external dependencies
+    that were included at deployment time.</li>
+</ul>
+
+<p>For interactive development and testing of your web application using
+Tomcat 5, the following additional targets are defined:</p>
+<ul>
+<li><strong>install</strong> - Tell the currently running Tomcat 5 to make
+    the application you are developing immediately available for execution
+    and testing.  This action does not require Tomcat 5 to be restarted, but
+    it is also not remembered after Tomcat is restarted the next time.
+    <br><br></li>
+<li><strong>reload</strong> - Once the application is installed, you can
+    continue to make changes and recompile using the <code>compile</code>
+    target.  Tomcat 5 will automatically recognize changes made to JSP pages,
+    but not to servlet or JavaBean classes - this command will tell Tomcat
+    to restart the currently installed application so that such changes are
+    recognized.
+    <br><br></li>
+<li><strong>remove</strong> - When you have completed your development and
+    testing activities, you can optionally tell Tomcat 5 to remove this
+    application from service.
+    </li>
+</ul>
+
+<p>Using the development and testing targets requires some additional
+one-time setup that is described on the next page.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/web.xml.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/web.xml.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/printer/web.xml.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app 
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+
+    <!-- General description of your web application -->
+
+    <display-name>My Web Application</display-name>
+    <description>
+      This is version X.X of an application to perform
+      a wild and wonderful task, based on servlets and
+      JSP pages.  It was written by Dave Developer
+      (dave at mycompany.com), who should be contacted for
+      more information.
+    </description>
+
+
+    <!-- Context initialization parameters that define shared
+         String constants used within your application, which
+         can be customized by the system administrator who is
+         installing your application.  The values actually
+         assigned to these parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletContext().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of context initialization
+         parameters, including zero.
+    -->
+
+    <context-param>
+      <param-name>webmaster</param-name>
+      <param-value>myaddress at mycompany.com</param-value>
+      <description>
+        The EMAIL address of the administrator to whom questions
+        and comments about this application should be addressed.
+      </description>
+    </context-param>
+
+
+    <!-- Servlet definitions for the servlets that make up
+         your web application, including initialization
+         parameters.  With Tomcat, you can also send requests
+         to servlets not listed here with a request like this:
+
+           http://localhost:8080/{context-path}/servlet/{classname}
+
+         but this usage is not guaranteed to be portable.  It also
+         makes relative references to images and other resources
+         required by your servlet more complicated, so defining
+         all of your servlets (and defining a mapping to them with
+         a servlet-mapping element) is recommended.
+
+         Servlet initialization parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletConfig().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of servlets, including zero.
+    -->
+
+    <servlet>
+      <servlet-name>controller</servlet-name>
+      <description>
+        This servlet plays the "controller" role in the MVC architecture
+        used in this application.  It is generally mapped to the ".do"
+        filename extension with a servlet-mapping element, and all form
+        submits in the app will be submitted to a request URI like
+        "saveCustomer.do", which will therefore be mapped to this servlet.
+
+        The initialization parameter namess for this servlet are the
+        "servlet path" that will be received by this servlet (after the
+        filename extension is removed).  The corresponding value is the
+        name of the action class that will be used to process this request.
+      </description>
+      <servlet-class>com.mycompany.mypackage.ControllerServlet</servlet-class>
+      <init-param>
+        <param-name>listOrders</param-name>
+        <param-value>com.mycompany.myactions.ListOrdersAction</param-value>
+      </init-param>
+      <init-param>
+        <param-name>saveCustomer</param-name>
+        <param-value>com.mycompany.myactions.SaveCustomerAction</param-value>
+      </init-param>
+      <!-- Load this servlet at server startup time -->
+      <load-on-startup>5</load-on-startup>
+    </servlet>
+
+    <servlet>
+      <servlet-name>graph</servlet-name>
+      <description>
+        This servlet produces GIF images that are dynamically generated
+        graphs, based on the input parameters included on the request.
+        It is generally mapped to a specific request URI like "/graph".
+      </description>
+    </servlet>
+
+
+    <!-- Define mappings that are used by the servlet container to
+         translate a particular request URI (context-relative) to a
+         particular servlet.  The examples below correspond to the
+         servlet descriptions above.  Thus, a request URI like:
+
+           http://localhost:8080/{contextpath}/graph
+
+         will be mapped to the "graph" servlet, while a request like:
+
+           http://localhost:8080/{contextpath}/saveCustomer.do
+
+         will be mapped to the "controller" servlet.
+
+         You may define any number of servlet mappings, including zero.
+         It is also legal to define more than one mapping for the same
+         servlet, if you wish to.
+    -->
+
+    <servlet-mapping>
+      <servlet-name>controller</servlet-name>
+      <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>graph</servlet-name>
+      <url-pattern>/graph</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- Define the default session timeout for your application,
+         in minutes.  From a servlet or JSP page, you can modify
+         the timeout for a particular session dynamically by using
+         HttpSession.getMaxInactiveInterval(). -->
+
+    <session-config>
+      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
+    </session-config>
+
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/processes.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/processes.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/processes.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Development Processes</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Development Processes</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/processes.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Development Processes"><strong>Development Processes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Although application development can take many forms, this manual proposes
+a fairly generic process for creating web applications using Tomcat.  The
+following sections highlight the commands and tasks that you, as the developer
+of the code, will perform.  The same basic approach works when you have
+multiple programmers involved, as long as you have an appropriate source code
+control system and internal team rules about who is working on what parts
+of the application at any given time.</p>
+
+<p>The task descriptions below assume that you will be using CVS for source
+code control, and that you have already configured access to the appropriate
+CVS repository.  Instructions for doing this are beyond the scope of this
+manual.  If you are using a different source code control environment, you
+will need to figure out the corresponding commands for your system.</p>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="One-Time Setup of Ant and Tomcat for Development"><strong>One-Time Setup of Ant and Tomcat for Development</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to take advantage of the special Ant tasks that interact with the
+<em>Manager</em> web application, you need to perform the following tasks
+once (no matter how many web applications you plan to develop).</p>
+<ul>
+<li><em>Configure the Ant custom tasks</em>.  The implementation code for the
+    Ant custom tasks is in a JAR file named
+    <code>$CATALINA_HOME/server/lib/catalina-ant.jar</code>, which must be
+    copied in to the <code>lib</code> directory of your Ant installation.
+    <br><br></li>
+<li><em>Define one or more Tomcat users</em>.  The <em>Manager</em> web
+    application runs under a security constraint that requires a user to be
+    logged in, and have the security role <code>manager</code> assigned to
+    him or her.  How such users are defined depends on which Realm you have
+    configured in Tomcat's <code>conf/server.xml</code> file -- see the
+    <a href="../realm-howto.html">Realm Configuration HOW-TO</a> for more
+    information.  You may define any number of users (with any username
+    and password that you like) with the <code>manager</code> role.
+    <br><br></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create Project Source Code Directory"><strong>Create Project Source Code Directory</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first step is to create a new project source directory, and customize
+the <code>build.xml</code> and <code>build.properties</code> files you will
+be using.  The directory structure is described in <a href="source.html">the
+previous section</a>, or you can use the
+<a href="sample/">sample application</a> as a starting point.</p>
+
+<p>Create your project source directory, and define it within your CVS
+repository.  This might be done by a series of commands like this, where
+<code>{project}</code> is the name under which your project should be
+stored in the CVS repository, and {username} is your login username:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+mkdir myapp	&lt;-- Assumed "project source directory"
+cd myapp
+mkdir docs
+mkdir src
+mkdir web
+mkdir web/WEB-INF
+cvs import -m "Initial Project Creation" {project} \
+	{username} start
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Now, to verify that it was created correctly in CVS, we will perform a
+checkout of the new project:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd ..
+mv myapp myapp.bu
+cvs checkout {project}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Next, you will need to create and check in an initial version of the
+<code>build.xml</code> script to be used for development.  For getting
+started quickly and easily, base your <code>build.xml</code> on the
+<a href="build.xml.txt">basic build.xml file</a>, included with this manual,
+or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+emacs build.xml		&lt;-- if you want a real editor :-)
+cvs add build.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Until you perform the CVS commit, your changes are local to your own
+development directory.  Committing makes those changes visible to other
+developers on your team that are sharing the same CVS repository.</p>
+
+<p>The next step is to customize the Ant <em>properties</em> that are
+named in the <code>build.xml</code> script.  This is done by creating a
+file named <code>build.properties</code> in your project's top-level
+directory.  The supported properties are listed in the comments inside
+the sample <code>build.xml</code> script.  At a minimum, you will generally
+need to define the <code>catalina.home</code> property defining where
+Tomcat 5 is installed, and the manager application username and password.
+You might end up with something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+# Context path to install this application on
+app.path=/hello
+
+# Tomcat 5 installation directory
+catalina.home=/usr/local/apache-tomcat-5.5
+
+# Manager webapp username and password
+manager.username=myusername
+manager.password=mypassword
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>In general, you will <strong>not</strong> want to check the
+<code>build.properties</code> file in to the CVS repository, because it
+is unique to each developer's environment.</p>
+
+<p>Now, create the initial version of the web application deployment
+descriptor.  You can base <code>web.xml</code> on the
+<a href="web.xml.txt">basic web.xml file</a>, or code it from scratch.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web/WEB-INF
+emacs web.xml
+cvs add web.xml
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+Note that this is only an example web.xml file.  The full definition
+of the deployment descriptor file is in the
+<a href="http://java.sun.com/products/servlet">Servlet Specification.</a>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit Source Code and Pages"><strong>Edit Source Code and Pages</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The edit/build/test tasks will generally be your most common activities
+during development and maintenance.  The following general principles apply.
+As described in <a href="source.html">Source Organization</a>, newly created
+source files should be located in the appropriate subdirectory, under your
+project source directory.</p>
+
+<p>Whenever you wish to refresh your development directory to reflect the
+work performed by other developers, you will ask CVS to do it for you:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+cvs update -dP
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>To create a new file, go to the appropriate directory, create the file,
+and register it with CVS.  When you are satisfied with it's contents (after
+building and testing is successful), commit the new file to the repository.
+For example, to create a new JSP page:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp/web		&lt;-- Ultimate destination is document root
+emacs mypage.jsp
+cvs add mypage.jsp
+... build and test the application ...
+cvs commit
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>Java source code that is defined in packages must be organized in a
+directory hierarchy (under the <strong>src/</strong> subdirectory) that
+matches the package names.  For example, a Java class named
+<code>com.mycompany.mypackage.MyClass.java</code> should be stored in file
+<code>src/com/mycompany/mypackage/MyClass.java</code>.
+Whenever you create a new subdirectory, don't forget to
+register it with CVS.</p>
+
+<p>To edit an existing source file, you will generally just start editing
+and testing, then commit the changed file when everything works.  Although
+CVS can be configured to required you to "check out" or "lock" a file you
+are going to be modifying, this is generally not used.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Build the Web Application"><strong>Build the Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are ready to compile the application, issue the following
+commands (generally, you will want a shell window open that is set to
+the project source directory, so that only the last command is needed):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp		&lt;-- Normally leave a window open here
+ant
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>The Ant tool will be execute the default "compile" target in your
+<code>build.xml</code> file, which will compile any new or updated Java
+code.  If this is the first time you compile after a "build clean",
+it will cause everything to be recompiled.</p>
+
+<p>To force the recompilation of your entire application, do this instead:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd {my home directory}
+cd myapp
+ant all
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>This is a very good habit immediately before checking in changes, to
+make sure that you have not introduced any subtle problems that Javac's
+conditional checking did not catch.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Test Your Web Application"><strong>Test Your Web Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To test your application, you will want to install it under Tomcat.  The
+quickest way to do that is to use the custom Ant tasks that are included in
+the sample <code>build.xml</code> script.  Using these commands might follow
+a pattern like this:</p>
+<ul>
+<li><em>Start Tomcat 5 if needed</em>.  If Tomcat 5 is not already running,
+    you will need to start it in the usual way.
+    <br><br></li>
+<li><em>Compile your application</em>.  Use the <code>ant compile</code>
+    command (or just <code>ant</code>, since this is the default).  Make
+    sure that there are no compilation errors.
+    <br><br></li>
+<li><em>Install the application</em>.  Use the <code>ant install</code>
+    command.  This tells Tomcat to immediately start running your app on
+    the context path defined in the <code>app.path</code> build property.
+    Tomcat does <strong>NOT</strong> have to be restarted for this to
+    take effect.<br><br></li>
+<li><em>Test the application</em>.  Using your browser or other testing
+    tools, test the functionality of your application.
+    <br><br></li>
+<li><em>Modify and rebuild as needed</em>.  As you discover that changes
+    are required, make those changes in the original <strong>source</strong>
+    files, not in the output build directory, and re-issue the
+    <code>ant compile</code> command.  This ensures that your changes will
+    be available to be saved (via <code>cvs commit</code>) later on --
+    the output build directory is deleted and recreated as necessary.
+    <br><br></li>
+<li><em>Reload the application</em>.  Tomcat will recognize changes in
+    JSP pages automatically, but it will continue to use the old versions
+    of any servlet or JavaBean classes until the application is reloaded.
+    You can trigger this by executing the <code>ant reload</code> command.
+    <br><br></li>
+<li><em>Remove the application when you re done</em>.  When you are through
+    working on this application, you can remove it from live execution by
+    running the <code>ant remove</code> command.</li>
+</ul>
+
+<p>Do not forget to commit your changes to the source code repository when
+you have completed your testing!</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Creating a Release"><strong>Creating a Release</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When you are through adding new functionality, and you've tested everything
+(you DO test, don't you :-), it is time to create the distributable version
+of your web application that can be deployed on the production server.  The
+following general steps are required:</p>
+<ul>
+<li>Issue the command <code>ant all</code> from the project source
+    directory, to rebuild everything from scratch one last time.
+    <br><br></li>
+<li>Use the <code>cvs tag</code> command to create an identifier for
+    all of the source files utilized to create this release.  This allows
+    you to reliably reconstruct a release (from sources) at a later
+    time.</li>
+<li>Issue the command <code>ant dist</code> to create a distributable
+    web application archive (WAR) file, as well as a JAR file containing
+    the corresponding source code.
+    <br><br></li>
+<li>Package the contents of the <code>dist</code> directory using the
+    <strong>tar</strong> or <strong>zip</strong> utility, according to
+    the standard release procedures used by your organization.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/build.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/build.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/build.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,503 @@
+<!--
+     General purpose build script for web applications and web services,
+     including enhanced support for deploying directly to a Tomcat 5
+     based server.
+
+     This build script assumes that the source code of your web application
+     is organized into the following subdirectories underneath the source
+     code directory from which you execute the build script:
+
+        docs                 Static documentation files to be copied to
+                             the "docs" subdirectory of your distribution.
+
+        src                  Java source code (and associated resource files)
+                             to be compiled to the "WEB-INF/classes"
+                             subdirectory of your web applicaiton.
+
+        web                  Static HTML, JSP, and other content (such as
+                             image files), including the WEB-INF subdirectory
+                             and its configuration file contents.
+
+     $Id: build.xml.txt 302898 2004-05-23 19:50:44Z markt $
+-->
+
+
+<!-- A "project" describes a set of targets that may be requested
+     when Ant is executed.  The "default" attribute defines the
+     target which is executed if no specific target is requested,
+     and the "basedir" attribute defines the current working directory
+     from which Ant executes the requested task.  This is normally
+     set to the current working directory.
+-->
+
+<project name="My Project" default="compile" basedir=".">
+
+
+
+<!-- ===================== Property Definitions =========================== -->
+
+
+<!--
+
+  Each of the following properties are used in the build script.
+  Values for these properties are set by the first place they are
+  defined, from the following list:
+
+  * Definitions on the "ant" command line (ant -Dfoo=bar compile).
+
+  * Definitions from a "build.properties" file in the top level
+    source directory of this application.
+
+  * Definitions from a "build.properties" file in the developer's
+    home directory.
+
+  * Default definitions in this build.xml file.
+
+  You will note below that property values can be composed based on the
+  contents of previously defined properties.  This is a powerful technique
+  that helps you minimize the number of changes required when your development
+  environment is modified.  Note that property composition is allowed within
+  "build.properties" files as well as in the "build.xml" script.
+
+-->
+
+  <property file="build.properties"/>
+  <property file="${user.home}/build.properties"/>
+
+
+<!-- ==================== File and Directory Names ======================== -->
+
+
+<!--
+
+  These properties generally define file and directory names (or paths) that
+  affect where the build process stores its outputs.
+
+  app.name             Base name of this application, used to
+                       construct filenames and directories.
+                       Defaults to "myapp".
+
+  app.path             Context path to which this application should be
+                       deployed (defaults to "/" plus the value of the
+                       "app.name" property).
+
+  app.version          Version number of this iteration of the application.
+
+  build.home           The directory into which the "prepare" and
+                       "compile" targets will generate their output.
+                       Defaults to "build".
+
+  catalina.home        The directory in which you have installed
+                       a binary distribution of Tomcat 5.  This will
+                       be used by the "deploy" target.
+
+  dist.home            The name of the base directory in which
+                       distribution files are created.
+                       Defaults to "dist".
+
+  manager.password     The login password of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+  manager.url          The URL of the "/manager" web application on the
+                       Tomcat installation to which we will deploy web
+                       applications and web services.
+
+  manager.username     The login username of a user that is assigned the
+                       "manager" role (so that he or she can execute
+                       commands via the "/manager" web application)
+
+-->
+
+  <property name="app.name"      value="myapp"/>
+  <property name="app.path"      value="/${app.name}"/>
+  <property name="app.version"   value="0.1-dev"/>
+  <property name="build.home"    value="${basedir}/build"/>
+  <property name="catalina.home" value="../../../.."/> <!-- UPDATE THIS! -->
+  <property name="dist.home"     value="${basedir}/dist"/>
+  <property name="docs.home"     value="${basedir}/docs"/>
+  <property name="manager.url"   value="http://localhost:8080/manager"/>
+  <property name="src.home"      value="${basedir}/src"/>
+  <property name="web.home"      value="${basedir}/web"/>
+
+
+<!-- ================== Custom Ant Task Definitions ======================= -->
+
+
+<!--
+
+  These properties define custom tasks for the Ant build tool that interact
+  with the "/manager" web application installed with Tomcat 5.  Before they
+  can be successfully utilized, you must perform the following steps:
+
+  - Copy the file "server/lib/catalina-ant.jar" from your Tomcat 5
+    installation into the "lib" directory of your Ant installation.
+
+  - Create a "build.properties" file in your application's top-level
+    source directory (or your user login home directory) that defines
+    appropriate values for the "manager.password", "manager.url", and
+    "manager.username" properties described above.
+
+  For more information about the Manager web application, and the functionality
+  of these tasks, see <http://localhost:8080/tomcat-docs/manager-howto.html>.
+
+-->
+
+  <taskdef name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
+  <taskdef name="list"     classname="org.apache.catalina.ant.ListTask"/>
+  <taskdef name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
+  <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
+
+
+<!--  ==================== Compilation Control Options ==================== -->
+
+<!--
+
+  These properties control option settings on the Javac compiler when it
+  is invoked using the <javac> task.
+
+  compile.debug        Should compilation include the debug option?
+
+  compile.deprecation  Should compilation include the deprecation option?
+
+  compile.optimize     Should compilation include the optimize option?
+
+-->
+
+  <property name="compile.debug"       value="true"/>
+  <property name="compile.deprecation" value="false"/>
+  <property name="compile.optimize"    value="true"/>
+
+
+
+<!-- ==================== External Dependencies =========================== -->
+
+
+<!--
+
+  Use property values to define the locations of external JAR files on which
+  your application will depend.  In general, these values will be used for
+  two purposes:
+  * Inclusion on the classpath that is passed to the Javac compiler
+  * Being copied into the "/WEB-INF/lib" directory during execution
+    of the "deploy" target.
+
+  Because we will automatically include all of the Java classes that Tomcat 5
+  exposes to web applications, we will not need to explicitly list any of those
+  dependencies.  You only need to worry about external dependencies for JAR
+  files that you are going to include inside your "/WEB-INF/lib" directory.
+
+-->
+
+<!-- Dummy external dependency -->
+<!--
+  <property name="foo.jar"
+           value="/path/to/foo.jar"/>
+-->
+
+
+<!-- ==================== Compilation Classpath =========================== -->
+
+<!--
+
+  Rather than relying on the CLASSPATH environment variable, Ant includes
+  features that makes it easy to dynamically construct the classpath you
+  need for each compilation.  The example below constructs the compile
+  classpath to include the servlet.jar file, as well as the other components
+  that Tomcat makes available to web applications automatically, plus anything
+  that you explicitly added.
+
+-->
+
+  <path id="compile.classpath">
+
+    <!-- Include all JAR files that will be included in /WEB-INF/lib -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+<!--
+    <pathelement location="${foo.jar}"/>
+-->
+
+    <!-- Include all elements that Tomcat exposes to applications -->
+    <pathelement location="${catalina.home}/common/classes"/>
+    <fileset dir="${catalina.home}/common/endorsed">
+      <include name="*.jar"/>
+    </fileset>
+    <fileset dir="${catalina.home}/common/lib">
+      <include name="*.jar"/>
+    </fileset>
+    <pathelement location="${catalina.home}/shared/classes"/>
+    <fileset dir="${catalina.home}/shared/lib">
+      <include name="*.jar"/>
+    </fileset>
+
+  </path>
+
+
+
+<!-- ==================== All Target ====================================== -->
+
+<!--
+
+  The "all" target is a shortcut for running the "clean" target followed
+  by the "compile" target, to force a complete recompile.
+
+-->
+
+  <target name="all" depends="clean,compile"
+   description="Clean build and dist directories, then compile"/>
+
+
+
+<!-- ==================== Clean Target ==================================== -->
+
+<!--
+
+  The "clean" target deletes any previous "build" and "dist" directory,
+  so that you can be ensured the application can be built from scratch.
+
+-->
+
+  <target name="clean"
+   description="Delete old build and dist directories">
+    <delete dir="${build.home}"/>
+    <delete dir="${dist.home}"/>
+  </target>
+
+
+
+<!-- ==================== Compile Target ================================== -->
+
+<!--
+
+  The "compile" target transforms source files (from your "src" directory)
+  into object files in the appropriate location in the build directory.
+  This example assumes that you will be including your classes in an
+  unpacked directory hierarchy under "/WEB-INF/classes".
+
+-->
+
+  <target name="compile" depends="prepare"
+   description="Compile Java sources">
+
+    <!-- Compile Java classes as necessary -->
+    <mkdir    dir="${build.home}/WEB-INF/classes"/>
+    <javac srcdir="${src.home}"
+          destdir="${build.home}/WEB-INF/classes"
+            debug="${compile.debug}"
+      deprecation="${compile.deprecation}"
+         optimize="${compile.optimize}">
+        <classpath refid="compile.classpath"/>
+    </javac>
+
+    <!-- Copy application resources -->
+    <copy  todir="${build.home}/WEB-INF/classes">
+      <fileset dir="${src.home}" excludes="**/*.java"/>
+    </copy>
+
+  </target>
+
+
+
+<!-- ==================== Dist Target ===================================== -->
+
+
+<!--
+
+  The "dist" target creates a binary distribution of your application
+  in a directory structure ready to be archived in a tar.gz or zip file.
+  Note that this target depends on two others:
+
+  * "compile" so that the entire web application (including external
+    dependencies) will have been assembled
+
+  * "javadoc" so that the application Javadocs will have been created
+
+-->
+
+  <target name="dist" depends="compile,javadoc"
+   description="Create binary distribution">
+
+    <!-- Copy documentation subdirectories -->
+    <mkdir   dir="${dist.home}/docs"/>
+    <copy    todir="${dist.home}/docs">
+      <fileset dir="${docs.home}"/>
+    </copy>
+
+    <!-- Create application JAR file -->
+    <jar jarfile="${dist.home}/${app.name}-${app.version}.war"
+         basedir="${build.home}"/>
+
+    <!-- Copy additional files to ${dist.home} as necessary -->
+
+  </target>
+
+
+
+<!-- ==================== Install Target ================================== -->
+
+<!--
+
+  The "install" target tells the specified Tomcat 5 installation to dynamically
+  install this web application and make it available for execution.  It does
+  *not* cause the existence of this web application to be remembered across
+  Tomcat restarts; if you restart the server, you will need to re-install all
+  this web application.
+
+  If you have already installed this application, and simply want Tomcat to
+  recognize that you have updated Java classes (or the web.xml file), use the
+  "reload" target instead.
+
+  NOTE:  This target will only succeed if it is run from the same server that
+  Tomcat is running on.
+
+  NOTE:  This is the logical opposite of the "remove" target.
+
+-->
+
+  <target name="install" depends="compile"
+   description="Install application to servlet container">
+
+    <deploy url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"
+       localWar="file://${build.home}"/>
+
+  </target>
+
+
+<!-- ==================== Javadoc Target ================================== -->
+
+<!--
+
+  The "javadoc" target creates Javadoc API documentation for the Java
+  classes included in your application.  Normally, this is only required
+  when preparing a distribution release, but is available as a separate
+  target in case the developer wants to create Javadocs independently.
+
+-->
+
+  <target name="javadoc" depends="compile"
+   description="Create Javadoc API documentation">
+
+    <mkdir          dir="${dist.home}/docs/api"/>
+    <javadoc sourcepath="${src.home}"
+                destdir="${dist.home}/docs/api"
+           packagenames="*">
+      <classpath refid="compile.classpath"/>
+    </javadoc>
+
+  </target>
+
+
+
+<!-- ====================== List Target =================================== -->
+
+<!--
+
+  The "list" target asks the specified Tomcat 5 installation to list the
+  currently running web applications, either loaded at startup time or
+  installed dynamically.  It is useful to determine whether or not the
+  application you are currently developing has been installed.
+
+-->
+
+  <target name="list"
+   description="List installed applications on servlet container">
+
+    <list    url="${manager.url}"
+        username="${manager.username}"
+        password="${manager.password}"/>
+
+  </target>
+
+
+<!-- ==================== Prepare Target ================================== -->
+
+<!--
+
+  The "prepare" target is used to create the "build" destination directory,
+  and copy the static contents of your web application to it.  If you need
+  to copy static files from external dependencies, you can customize the
+  contents of this task.
+
+  Normally, this task is executed indirectly when needed.
+
+-->
+
+  <target name="prepare">
+
+    <!-- Create build directories as needed -->
+    <mkdir  dir="${build.home}"/>
+    <mkdir  dir="${build.home}/WEB-INF"/>
+    <mkdir  dir="${build.home}/WEB-INF/classes"/>
+
+
+    <!-- Copy static content of this web application -->
+    <copy todir="${build.home}">
+      <fileset dir="${web.home}"/>
+    </copy>
+
+    <!-- Copy external dependencies as required -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+    <mkdir  dir="${build.home}/WEB-INF/lib"/>
+<!--
+    <copy todir="${build.home}/WEB-INF/lib" file="${foo.jar}"/>
+-->
+
+    <!-- Copy static files from external dependencies as needed -->
+    <!-- *** CUSTOMIZE HERE AS REQUIRED BY YOUR APPLICATION *** -->
+
+  </target>
+
+
+<!-- ==================== Reload Target =================================== -->
+
+<!--
+
+  The "reload" signals the specified application Tomcat 5 to shut itself down
+  and reload. This can be useful when the web application context is not
+  reloadable and you have updated classes or property files in the
+  /WEB-INF/classes directory or when you have added or updated jar files in the
+  /WEB-INF/lib directory.
+
+  NOTE: The /WEB-INF/web.xml web application configuration file is not reread
+  on a reload. If you have made changes to your web.xml file you must stop
+  then start the web application. 
+
+-->
+
+  <target name="reload" depends="compile"
+   description="Reload application on servlet container">
+
+    <reload url="${manager.url}"
+       username="${manager.username}"
+       password="${manager.password}"
+           path="${app.path}"/>
+
+  </target>
+
+
+<!-- ==================== Remove Target =================================== -->
+
+<!--
+
+  The "remove" target tells the specified Tomcat 5 installation to dynamically
+  remove this web application from service.
+
+  NOTE:  This is the logical opposite of the "install" target.
+
+-->
+
+  <target name="remove"
+   description="Remove application on servlet container">
+
+    <undeploy url="${manager.url}"
+         username="${manager.username}"
+         password="${manager.password}"
+             path="${app.path}"/>
+
+  </target>
+
+
+</project>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs/README.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/docs/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+This is a dummy README file for the sample
+web application.

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<html>
+<head>
+<meta name="author" content="Ben Souther" />
+<title>Sample Application</title>
+</head>
+<body>
+<h2>Sample Application</h2>
+      <p> 
+        The example app has been packaged as a war file and can be downloaded 
+        <a href="sample.war">here</a> (Note: make sure your browser doesn't 
+        change file extension or append a new one).
+      </p>
+      <p> 
+        The easiest way to run this application is simply to move the war file 
+        to your <b>CATALINA_HOME/webapps</b> directory. Tomcat will automatically 
+        expand and deploy the application for you. You can view it with the 
+        following URL (assuming that you're running tomcat on port 8080 
+        as is the default):
+        <br />
+        <a href="http://localhost:8080/sample">http://localhost:8080/sample</a>
+      </p>
+      <p>
+        If you just want to browse the code you can unpack the war file 
+        with the <b>jar</b> command.
+        <source>
+          jar -xvf sample.war
+        </source>
+      </p>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/sample.war
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/sample.war
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage/Hello.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage/Hello.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/src/mypackage/Hello.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package mypackage;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Enumeration;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+/**
+ * Simple servlet to validate that the Hello, World example can
+ * execute servlets.  In the web application deployment descriptor,
+ * this servlet must be mapped to correspond to the link in the
+ * "index.html" file.
+ *
+ * @author Craig R. McClanahan <Craig.McClanahan at eng.sun.com>
+ */
+
+public final class Hello extends HttpServlet {
+
+
+    /**
+     * Respond to a GET request for the content produced by
+     * this servlet.
+     *
+     * @param request The servlet request we are processing
+     * @param response The servlet response we are producing
+     *
+     * @exception IOException if an input/output error occurs
+     * @exception ServletException if a servlet error occurs
+     */
+    public void doGet(HttpServletRequest request,
+                      HttpServletResponse response)
+      throws IOException, ServletException {
+
+	response.setContentType("text/html");
+	PrintWriter writer = response.getWriter();
+
+	writer.println("<html>");
+	writer.println("<head>");
+	writer.println("<title>Sample Application Servlet Page</title>");
+	writer.println("</head>");
+	writer.println("<body bgcolor=white>");
+
+	writer.println("<table border=\"0\">");
+	writer.println("<tr>");
+	writer.println("<td>");
+	writer.println("<img src=\"images/tomcat.gif\">");
+	writer.println("</td>");
+	writer.println("<td>");
+	writer.println("<h1>Sample Application Servlet</h1>");
+	writer.println("This is the output of a servlet that is part of");
+	writer.println("the Hello, World application.  It displays the");
+	writer.println("request headers from the request we are currently");
+	writer.println("processing.");
+	writer.println("</td>");
+	writer.println("</tr>");
+	writer.println("</table>");
+
+	writer.println("<table border=\"0\" width=\"100%\">");
+	Enumeration names = request.getHeaderNames();
+	while (names.hasMoreElements()) {
+	    String name = (String) names.nextElement();
+	    writer.println("<tr>");
+	    writer.println("  <th align=\"right\">" + name + ":</th>");
+	    writer.println("  <td>" + request.getHeader(name) + "</td>");
+	    writer.println("</tr>");
+	}
+	writer.println("</table>");
+
+	writer.println("</body>");
+	writer.println("</html>");
+
+    }
+
+
+}

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+    <display-name>Hello, World Application</display-name>
+    <description>
+	This is a simple web application with a source code organization
+	based on the recommendations of the Application Developer's Guide.
+    </description>
+
+    <servlet>
+        <servlet-name>HelloServlet</servlet-name>
+        <servlet-class>mypackage.Hello</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>HelloServlet</servlet-name>
+        <url-pattern>/hello</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/hello.jsp
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/hello.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/hello.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html>
+<head>
+<title>Sample Application JSP Page</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td align=center>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample Application JSP Page</h1>
+This is the output of a JSP page that is part of the Hello, World
+application.  It displays several useful values from the request
+we are currently processing.
+</td>
+</tr>
+</table>
+
+<table border="0" border="100%">
+<tr>
+  <th align="right">Context Path:</th>
+  <td align="left"><%= request.getContextPath() %></td>
+</tr>
+<tr>
+  <th align="right">Path Information:</th>
+  <td align="left"><%= request.getPathInfo() %></td>
+</tr>
+<tr>
+  <th align="right">Query String:</th>
+  <td align="left"><%= request.getQueryString() %></td>
+</tr>
+<tr>
+  <th align="right">Request Method:</th>
+  <td align="left"><%= request.getMethod() %></td>
+</tr>
+<tr>
+  <th align="right">Servlet Path:</th>
+  <td align="left"><%= request.getServletPath() %></td>
+</tr>
+</table>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/sample/web/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<html>
+<head>
+<title>Sample "Hello, World" Application</title>
+</head>
+<body bgcolor=white>
+
+<table border="0">
+<tr>
+<td>
+<img src="images/tomcat.gif">
+</td>
+<td>
+<h1>Sample "Hello, World" Application</h1>
+<p>This is the home page for a sample application used to illustrate the
+source directory organization of a web application utilizing the principles
+outlined in the Application Developer's Guide.
+</td>
+</tr>
+</table>
+
+<p>To prove that they work, you can execute either of the following links:
+<ul>
+<li>To a <a href="hello.jsp">JSP page</a>.
+<li>To a <a href="hello">servlet</a>.
+</ul>
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/source.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/source.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/source.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Application Developer's Guide - Source Organization</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://apache.apache.org/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="introduction.html">Introduction</a></li><li><a href="installation.html">Installation</a></li><li><a href="deployment.html">Deployment</a></li><li><a href="source.html">Source Code</a></li><li><a href="processes.html">Processes</a></li><li><a href="sample/">Example App</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Application Developer's Guide</h1><h2>Source Organization</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/source.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directory Structure"><strong>Directory Structure</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>A key recommendation of this manual is to separate the directory
+hierarchy containing your source code (described in this section) from
+the directory hierarchy containing your deployable application
+(described in the preceding section).  Maintaining this separation has
+the following advantages:</p>
+<ul>
+<li>The contents of the source directories can be more easily administered,
+    moved, and backed up if the "executable" version of the application
+    is not intermixed.
+    <br><br></li>
+<li>Source code control is easier to manage on directories that contain
+    only source files.
+    <br><br></li>
+<li>The files that make up an installable distribution of your
+    application are much easier to select when the deployment
+    hierarchy is separate.</li>
+</ul>
+
+<p>As we will see, the <code>ant</code> development tool makes the creation
+and processing of such directory hierarchies nearly painless.</p>
+
+<p>The actual directory and file hierarchy used to contain the source code
+of an application can be pretty much anything you like.  However, the
+following organization has proven to be quite generally applicable, and is
+expected by the example <code>build.xml</code> configuration file that
+is discussed below.  All of these components exist under a top level
+<em>project source directory</em> for your application:</p>
+<ul>
+<li><strong>docs/</strong> - Documentation for your application, in whatever
+    format your development team is using.<br><br></li>
+<li><strong>src/</strong> - Java source files that generate the servlets,
+    beans, and other Java classes that are unique to your application.
+    If your source code is organized in packages (<strong>highly</strong>
+    recommended), the package hierarchy should be reflected as a directory
+    structure underneath this directory.<br><br></li>
+<li><strong>web/</strong> - The static content of your web site (HTML pages,
+    JSP pages, JavaScript files, CSS stylesheet files, and images) that will
+    be accessible to application clients.  This directory will be the
+    <em>document root</em> of your web application, and any subdirectory
+    structure found here will be reflected in the request URIs required to
+    access those files.<br><br></li>
+<li><strong>web/WEB-INF/</strong> - The special configuration files required
+    for your application, including the web application deployment descriptor
+    (<code>web.xml</code>, defined in the 
+    <a href="http://java.sun.com/products/servlet">Servlet Specification</a>), 
+    tag library descriptors for custom tag libraries
+    you have created, and other resource files you wish to include within
+    your web application.  Even though this directory appears to be a
+    subdirectory of your <em>document root</em>, the Servlet Specification
+    prohibits serving the contents of this directory (or any file it contains)
+    directly to a client request.  Therefore, this is a good place to store
+    configuration information that is sensitive (such as database connection
+    usernames and passwords), but is required for your application to
+    operate successfully.</li>
+</ul>
+
+<p>During the development process, two additional directories will be
+created on a temporary basis:</p>
+<ul>
+<li><strong>build/</strong> - When you execute a default build
+    (<code>ant</code>), this directory will contain an exact image
+    of the files in the web application archive for this application.
+    Tomcat 5 allows you to deploy an application in an unpacked
+    directory like this, either by copying it to the
+    <code>$CATALINA_HOME/webapps</code> directory, or by <em>installing</em>
+    it via the "Manager" web application.  The latter approach is very
+    useful during development, and will be illustrated below.
+    <br><br></li>
+<li><strong>dist/</strong> - When you execute the <code>ant dist</code>
+    target, this directory will be created.  It will create an exact image
+    of the binary distribution for your web application, including an license
+    information, documentation, and README files that you have prepared.</li>
+</ul>
+
+<p>Note that these two directories should <strong>NOT</strong> be archived in
+your source code control system, because they are deleted and recreated (from
+scratch) as needed during development.  For that reason, you should not edit
+any source files in these directories if you want to maintain a permanent
+record of the changes, because the changes will be lost the next time that a
+build is performed.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Dependencies"><strong>External Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>What do you do if your application requires JAR files (or other
+  resources) from external projects or packages?  A common example is that
+  you need to include a JDBC driver in your web application, in order to
+  operate.</p>
+
+  <p>Different developers take different approaches to this problem.
+  Some will encourage checking a copy of the JAR files you depend on into
+  the source code control archives for every application that requires those
+  JAR files.  However, this can cause significant management issues when you
+  use the same JAR in many applications - particular when faced with a need
+  to upgrade to a different version of that JAR file.</p>
+
+  <p>Therefore, this manual recommends that you <strong>NOT</strong> store
+  a copy of the packages you depend on inside the source control archives
+  of your applications.  Instead, the external dependencies should be
+  integrated as part of the process of <strong>building</strong> your
+  application.  In that way, you can always pick up the appropriate version
+  of the JAR files from wherever your development system administrator has
+  installed them, without having to worry about updating your application
+  every time the version of the dependent JAR file is changed.</p>
+
+  <p>In the example Ant <code>build.xml</code> file, we will demonstrate
+  how to define <em>build properties</em> that let you configure the locations
+  of the files to be copied, without having to modify <code>build.xml</code>
+  when these files change.  The build properties used by a particular
+  developer can be customized on a per-application basis, or defaulted to
+  "standard" build properties stored in the developer's home directory.</p>
+
+  <p>In many cases, your development system administrator will have already
+  installed the required JAR files into Tomcat 5's <code>common/lib</code>
+  or <code>shared/lib</code> directories.  If this has been done, you need
+  to take no actions at all - the example <code>build.xml</code> file
+  automatically constructs a compile classpath that includes these files.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Source Code Control"><strong>Source Code Control</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As mentioned earlier, it is highly recommended that you place all of the
+source files that comprise your application under the management of a
+source code control system like the Concurrent Version System (CVS).  If you
+elect to do this, every directory and file in the source hierarchy should be
+registered and saved -- but none of the generated files.  If you register
+binary format files (such as images or JAR libraries), be sure to indicate
+this to your source code control system.</p>
+
+<p>We recommended (in the previous section) that you should not store the
+contents of the <code>build/</code> and <code>dist/</code> directories
+created by your development process in the source code control system.  An
+easy way to tell CVS to ignore these directories is to create a file named
+<code>.cvsignore</code> (note the leading period) in your top-level source
+directory, with the following contents:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+build
+dist
+build.properties
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>The reason for mentioning <code>build.properties</code> here will be
+explained in the <a href="processes.html">Processes</a> section.</p>
+
+<p>Detailed instructions for your source code control environment are beyond
+the scope of this manual.  However, the following steps are followed when
+using a command-line CVS client:</p>
+<ul>
+<li>To refresh the state of your source code to that stored in the
+    the source repository, go to your project source directory, and
+    execute <code>cvs update -dP</code>.
+    <br><br></li>
+<li>When you create a new subdirectory in the source code hierarchy, register
+    it in CVS with a command like <code>cvs add {subdirname}</code>.
+    <br><br></li>
+<li>When you first create a new source code file, navigate to the directory
+    that contains it, and register the new file with a command like
+    <code>cvs add {filename}</code>.
+    <br><br></li>
+<li>If you no longer need a particular source code file, navigate to the
+    containing directory and remove the file.  Then, deregister it in CVS
+    with a command like <code>cvs remove {filename}</code>.
+    <br><br></li>
+<li>While you are creating, modifying, and deleting source files, changes
+    are not yet reflected in the server repository.  To save your changes in
+    their current state, go to the project source directory
+    and execute <code>cvs commit</code>.  You will be asked to write a brief
+    description of the changes you have just completed, which will be stored
+    with the new version of any updated source file.</li>
+</ul>
+
+<p>CVS, like other source code control systems, has many additional features
+(such as the ability to tag the files that made up a particular release, and
+support for multiple development branches that can later be merged).  See the
+links and references in the <a href="introduction.html">Introduction</a> for
+more information.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="BUILD.XML Configuration File"><strong>BUILD.XML Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>We will be using the <strong>ant</strong> tool to manage the compilation of
+our Java source code files, and creation of the deployment hierarchy.  Ant
+operates under the control of a build file, normally called
+<code>build.xml</code>, that defines the processing steps required.  This
+file is stored in the top-level directory of your source code hierarchy, and
+should be checked in to your source code control system.</p>
+
+<p>Like a Makefile, the <code>build.xml</code> file provides several
+"targets" that support optional development activities (such as creating
+the associated Javadoc documentation, erasing the deployment home directory
+so you can build your project from scratch, or creating the web application
+archive file so you can distribute your application.  A well-constructed
+<code>build.xml</code> file will contain internal documentation describing
+the targets that are designed for use by the developer, versus those targets
+used internally.  To ask Ant to display the project documentation, change to
+the directory containing the <code>build.xml</code> flie and type:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ant -projecthelp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+<p>To give you a head start, a <a href="build.xml.txt">basic build.xml file</a>
+is provided that you can customize and install in the project source directory
+for your application.  This file includes comments that describe the various
+targets that can be executed.  Briefly, the following targets are generally
+provided:</p>
+<ul>
+<li><strong>clean</strong> - This target deletes any existing
+    <code>build</code> and <code>dist</code> directories, so that they
+    can be reconstructed from scratch.  This allows you to guarantee that
+    you have not made source code modifications that will result in
+    problems at runtime due to not recompiling all affected classes.
+    <br><br></li>
+<li><strong>compile</strong> - This target is used to compile any source code
+    that has been changed since the last time compilation took place.  The
+    resulting class files are created in the <code>WEB-INF/classes</code>
+    subdirectory of your <code>build</code> directory, exactly where the
+    structure of a web application requires them to be.  Because
+    this command is executed so often during development, it is normally
+    made the "default" target so that a simple <code>ant</code> command will
+    execute it.
+    <br><br></li>
+<li><strong>all</strong> - This target is a short cut for running the
+    <code>clean</code> target, followed by the <code>compile</code> target.
+    Thus, it guarantees that you will recompile the entire application, to
+    ensure that you have not unknowingly introduced any incompatible changes.
+    <br><br></li>
+<li><strong>javadoc</strong> - This target creates Javadoc API documentation
+    for the Java classes in this web application.  The example
+    <code>build.xml</code> file assumes you want to include the API
+    documentation with your app distribution, so it generates the docs
+    in a subdirectory of the <code>dist</code> directory.  Because you normally
+    do not need to generate the Javadocs on every compilation, this target is
+    usually a dependency of the <code>dist</code> target, but not of the
+    <code>compile</code> target.
+    <br><br></li>
+<li><strong>dist</strong> - This target creates a distribution directory for
+    your application, including any required documentation, the Javadocs for
+    your Java classes, and a web application archive (WAR) file that will be
+    delivered to system administrators who wish to install your application.
+    Because this target also depends on the <code>deploy</code> target, the
+    web application archive will have also picked up any external dependencies
+    that were included at deployment time.</li>
+</ul>
+
+<p>For interactive development and testing of your web application using
+Tomcat 5, the following additional targets are defined:</p>
+<ul>
+<li><strong>install</strong> - Tell the currently running Tomcat 5 to make
+    the application you are developing immediately available for execution
+    and testing.  This action does not require Tomcat 5 to be restarted, but
+    it is also not remembered after Tomcat is restarted the next time.
+    <br><br></li>
+<li><strong>reload</strong> - Once the application is installed, you can
+    continue to make changes and recompile using the <code>compile</code>
+    target.  Tomcat 5 will automatically recognize changes made to JSP pages,
+    but not to servlet or JavaBean classes - this command will tell Tomcat
+    to restart the currently installed application so that such changes are
+    recognized.
+    <br><br></li>
+<li><strong>remove</strong> - When you have completed your development and
+    testing activities, you can optionally tell Tomcat 5 to remove this
+    application from service.
+    </li>
+</ul>
+
+<p>Using the development and testing targets requires some additional
+one-time setup that is described on the next page.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/web.xml.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/web.xml.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/appdev/web.xml.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app 
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+
+    <!-- General description of your web application -->
+
+    <display-name>My Web Application</display-name>
+    <description>
+      This is version X.X of an application to perform
+      a wild and wonderful task, based on servlets and
+      JSP pages.  It was written by Dave Developer
+      (dave at mycompany.com), who should be contacted for
+      more information.
+    </description>
+
+
+    <!-- Context initialization parameters that define shared
+         String constants used within your application, which
+         can be customized by the system administrator who is
+         installing your application.  The values actually
+         assigned to these parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletContext().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of context initialization
+         parameters, including zero.
+    -->
+
+    <context-param>
+      <param-name>webmaster</param-name>
+      <param-value>myaddress at mycompany.com</param-value>
+      <description>
+        The EMAIL address of the administrator to whom questions
+        and comments about this application should be addressed.
+      </description>
+    </context-param>
+
+
+    <!-- Servlet definitions for the servlets that make up
+         your web application, including initialization
+         parameters.  With Tomcat, you can also send requests
+         to servlets not listed here with a request like this:
+
+           http://localhost:8080/{context-path}/servlet/{classname}
+
+         but this usage is not guaranteed to be portable.  It also
+         makes relative references to images and other resources
+         required by your servlet more complicated, so defining
+         all of your servlets (and defining a mapping to them with
+         a servlet-mapping element) is recommended.
+
+         Servlet initialization parameters can be retrieved in a
+         servlet or JSP page by calling:
+
+             String value =
+               getServletConfig().getInitParameter("name");
+
+         where "name" matches the <param-name> element of
+         one of these initialization parameters.
+
+         You can define any number of servlets, including zero.
+    -->
+
+    <servlet>
+      <servlet-name>controller</servlet-name>
+      <description>
+        This servlet plays the "controller" role in the MVC architecture
+        used in this application.  It is generally mapped to the ".do"
+        filename extension with a servlet-mapping element, and all form
+        submits in the app will be submitted to a request URI like
+        "saveCustomer.do", which will therefore be mapped to this servlet.
+
+        The initialization parameter namess for this servlet are the
+        "servlet path" that will be received by this servlet (after the
+        filename extension is removed).  The corresponding value is the
+        name of the action class that will be used to process this request.
+      </description>
+      <servlet-class>com.mycompany.mypackage.ControllerServlet</servlet-class>
+      <init-param>
+        <param-name>listOrders</param-name>
+        <param-value>com.mycompany.myactions.ListOrdersAction</param-value>
+      </init-param>
+      <init-param>
+        <param-name>saveCustomer</param-name>
+        <param-value>com.mycompany.myactions.SaveCustomerAction</param-value>
+      </init-param>
+      <!-- Load this servlet at server startup time -->
+      <load-on-startup>5</load-on-startup>
+    </servlet>
+
+    <servlet>
+      <servlet-name>graph</servlet-name>
+      <description>
+        This servlet produces GIF images that are dynamically generated
+        graphs, based on the input parameters included on the request.
+        It is generally mapped to a specific request URI like "/graph".
+      </description>
+    </servlet>
+
+
+    <!-- Define mappings that are used by the servlet container to
+         translate a particular request URI (context-relative) to a
+         particular servlet.  The examples below correspond to the
+         servlet descriptions above.  Thus, a request URI like:
+
+           http://localhost:8080/{contextpath}/graph
+
+         will be mapped to the "graph" servlet, while a request like:
+
+           http://localhost:8080/{contextpath}/saveCustomer.do
+
+         will be mapped to the "controller" servlet.
+
+         You may define any number of servlet mappings, including zero.
+         It is also legal to define more than one mapping for the same
+         servlet, if you wish to.
+    -->
+
+    <servlet-mapping>
+      <servlet-name>controller</servlet-name>
+      <url-pattern>*.do</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>graph</servlet-name>
+      <url-pattern>/graph</url-pattern>
+    </servlet-mapping>
+
+
+    <!-- Define the default session timeout for your application,
+         in minutes.  From a servlet or JSP page, you can modify
+         the timeout for a particular session dynamically by using
+         HttpSession.getMaxInactiveInterval(). -->
+
+    <session-config>
+      <session-timeout>30</session-timeout>    <!-- 30 minutes -->
+    </session-config>
+
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/apr.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/apr.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/apr.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,276 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Apache Portable Runtime and Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Apache Portable Runtime and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/apr.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+      Tomcat can use the <a href="http://apr.apache.org/">Apache Portable Runtime</a> to 
+      provide superior scalability, performance, and better integration with native server 
+      technologies. The Apache Portable Runtime is a highly portable library that is at 
+      the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO
+      functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number
+      generation, system status, etc), and native process handling (shared memory, NT
+      pipes and Unix sockets).
+  </p>
+  
+  <p>
+      These features allows making Tomcat a general purpose webserver, will enable much better 
+      integration with other native web technologies, and overall make Java much more viable as
+      a full fledged webserver platform rather than simply a backend focused technology.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      APR support requires three main native components to be installed:
+      <ul>
+        <li>APR library</li>
+        <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+        <li>OpenSSL libraries</li>
+      </ul>
+    </p>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Windows binaries are provided for tcnative-1, which is a statically compiled .dll which includes
+      OpenSSL and APR. It can be downloaded from <a href="http://tomcat.heanet.ie/native/">here</a>
+      as 32bit or AMD x86-64 binaries.
+      In security conscious production environments, it is recommended to use separate shared dlls
+      for OpenSSL, APR, and libtcnative-1, and update them as needed according to security bulletins.
+      Windows OpenSSL binaries are linked from the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a> (see related/binaries).
+    </p>
+    
+    </blockquote></td></tr></table>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Linux"><strong>Linux</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Most Linux distributions will ship packages for APR and OpenSSL. The JNI wrapper (libtcnative) will 
+      then have to be compiled. It depends on APR, OpenSSL, and the Java headers.
+    </p>
+    
+    <p>
+      Requirements:
+      <ul>
+        <li>APR 1.2+ development headers (libapr1-dev package)</li>
+        <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
+        <li>JNI headers from Java compatible JDK 1.4+</li>
+        <li>GNU development environment (gcc, make)</li>
+      </ul>
+    </p>
+    
+    <p>
+      The wrapper library sources are located in the Tomcat binary bundle, in the 
+      <code>bin/tomcat-native.tar.gz</code> archive.
+      Once the build environment is installed and the source archive is extracted, the wrapper library 
+      can be compiled using (from the folder containing the configure script):
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>./configure &amp;&amp; make &amp;&amp; make install</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Components"><strong>APR Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Once the libraries are properly installed and available to Java (if loading fails, the library path
+    will be displayed), the Tomcat connectors will automatically use APR. Configuration of the connectors
+    is similar to the regular connectors, but have a few extra attributes which are used to configure
+    APR components. Note that the defaults should be well tuned for most use cases, and additional
+    tweaking shouldn't be required.
+  </p>
+
+  <p>
+    When APR is enabled, the following features are also enabled in Tomcat:
+    <ul>
+      <li>Secure session ID generation by default on all platforms (platforms other than Linux required
+          random number generation using a configured entropy)</li>
+      <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+          the status servlet</li>
+    </ul>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Connectors Configuration"><strong>APR Connectors Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTP connector will use sendfile for hadling large static files (all such
+      files will be sent ansychronously using high performance kernel level calls), and will use 
+      a socket poller for keepalive, increasing scalability of the server.
+    </p>
+
+    <p>
+      The following attributes are supported in the HTTP APR connector in addition to the ones supported
+      in the regular HTTP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>firstReadTimeout</code></td><td valign="center" align="left">
+      <p>The first read of a request will be made using the specified timeout. If no data is available
+      after the specified time, the socket will be placed in the poller. The value of this attribute is
+      in ms. Setting this value to 0 or -1 will
+      increase scalability by always using a poller to handle keepalive, but will have a minor impact 
+      on latency (see the related pollTime attribute). The difference is that with 0, the first read of
+      a request will be made using a short timeout, while with -1, the first read will be made using the
+      regular socket timeout that is configured on the connector. Setting this to -2 will cause
+      the connector to not use the poller for keepalive in most situations, emulating the behavior of
+      the java.io HTTP connector.
+      The default value is -1. Note: on Windows, the actual value of firstReadTimeout will
+      be 500 + the specified value, if the specified value is strictly positive.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+      <p>Use kernel level sendfile for certain static files. The default value is true.</p>
+    </td></tr><tr><td valign="center" align="left"><code>sendfileSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for sending static files asynchronously can hold 
+      at a given time. Extra connections will be closed right away without any data being sent 
+      (resulting in a zero length file on the client side). Note that in most cases, sendfile is a call
+      that will return right away (being taken care of "synchonously" by the kernel), and the sendfile
+      poller will not be used, so the amount of static files which can be sent concurrently is much larger
+      than the specified amount. The default value is 1024.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTPS"><strong>HTTPS</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTPS connector will use a socket poller for keepalive, increasing 
+      scalability of the server. It also uses OpenSSL, which may be more optimized than JSSE depending
+      on the processor being used, and can be complemented with many commercial accelerator components.
+      Unlike the HTTP connector, the HTTPS connector cannot use sendfile to optimize static file
+      processing.
+    </p>
+
+    <p>
+      The HTTPS APR connector has the same basic attributes than the HTTP APR connector, but adds 
+      OpenSSL specific ones. For the full details on using OpenSSL, please refer to OpenSSL documentations
+      and the many books available for it (see the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a>). The SSL specific attributes for the connector are:
+    </p>
+    
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>SSLEngine</code></td><td valign="center" align="left">
+    <p>
+      Name of the SSLEngine to use. off: Do not use SSL, on: Use SSL but no specific ENGINE.
+      The default value is off.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLProtocol</code></td><td valign="center" align="left">
+    <p>
+      Protocol which may be used for communicating with clients. The default is "all", with
+      other acceptable values being "SSLv2", "SSLv3", "TLSv1", and "SSLv2+SSLv3".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCipherSuite</code></td><td valign="center" align="left">
+    <p>
+      Ciphers which may be used for communicating with clients. The default is "ALL", with
+      other acceptable values being a list of ciphers, with ":" used as the delimiter
+      (see OpenSSL documentation for the list of ciphers supported).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>SSLCertificateFile</code></strong></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server certificate. The format is PEM-encoded.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateKeyFile</code></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server private key. The format is PEM-encoded.
+      The default value is the value of "SSLCertificateFile" and in this case both certificate
+      and private key have to be in this file (NOT RECOMMENDED).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLPassword</code></td><td valign="center" align="left">
+    <p>
+      Pass phrase for the encrypted private key. If "SSLPassword" is not provided, the callback fonction
+      should prompt for the pass phrase.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyClient</code></td><td valign="center" align="left">
+    <p>
+      Ask client for certificate. The default is "none", meaning the client will not have the opportunity
+      to submit a certificate. Other acceptable values include "optional", "require" and "optionalNoCA".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyDepth</code></td><td valign="center" align="left">
+    <p>
+      Maximum verification depth for client certificates. The default is "10".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificateFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatefile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificatePath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatepath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateChainFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatechainfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationPath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationpath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr></table>
+    
+    <p>
+    An example SSL Connector declaration can be:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Connector port="443" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" disableUploadTimeout="true"
+               acceptCount="100" scheme="https" secure="true"
+               SSLEngine="on" 
+               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
+               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" /&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the AJP connector will use a socket poller for keepalive, increasing 
+      scalability of the server. As AJP is designed around a pool of persistent (or almost
+      persistent) connections, this will reduce significantly the amount of processing threads 
+      needed by Tomcat. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
+      static file processing.
+    </p>
+
+    <p>
+      The following attributes are supported in the AJP APR connector in addition to the ones supported
+      in the regular AJP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>firstReadTimeout</code></td><td valign="center" align="left">
+      <p>The first read of a request will be made using the specified timeout. If no data is available
+      after the specified time, the socket will be placed in the poller. The value of this attribute is
+      in ms. Setting this value to 0 or -1 will
+      increase scalability by always using a poller to handle keepalive, but will have a minor impact 
+      on latency (see the related pollTime attribute). The difference is that with 0, the first read of
+      a request will be made using a short timeout, while with -1, the first read will be made using the
+      regular socket timeout that is configured on the connector. Setting this to -2 will cause
+      the connector to not use the poller for keepalive in most situations, emulating the behavior of
+      the java.io HTTP connector.
+      The default value is -1. Note: on Windows, the actual value of firstReadTimeout will
+      be 500 + the specified value, if the specified value is strictly positive.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Table of Contents</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section of the Tomcat documentation attempts to explain
+the architecture and design of the Tomcat server.  It includes significant
+contributions from several tomcat developers:
+</p>
+<ul>
+<li>Yoav Shapira
+    (<a href="mailto:yoavs at apache.org">yoavs at apache.org</a>)</li>
+<li>Jeanfrancois Arcand
+    (<a href="mailto:jfarcand at apache.org">jfarcand at apache.org</a>)</li>
+<li>Filip Hanik
+    (<a href="mailto:fhanik at apache.org">fhanik at apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="overview.html"><strong>Overview</strong></a> -
+    An overview of the Tomcat server architecture with key terms
+    and concepts.</li>
+<li><a href="startup.html"><strong>Server Startup</strong></a> -
+    A detailed description, with sequence diagrams, of how the Tomcat
+    server starts up.</li>
+<li><a href="requestProcess.html"><strong>Request Process Flow</strong></a> -
+    A detailed description of how Tomcat handles a request.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/overview.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/overview.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/overview.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Architecture Overview</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Architecture Overview</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/overview.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This page provides an overview of the Tomcat server architecture.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terms"><strong>Terms</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+In the Tomcat world, a
+<a href="../config/server.html">Server</a> represents the whole container.
+Tomcat provides a default implementation of the 
+<a href="../catalina/docs/api/org/apache/catalina/Server.html">Server interface.</a>,
+and this is rarely customized by users.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../config/service.html">Service</a> is an intermediate component
+which lives inside a Server and ties one or more Connectors to exactly one
+Engine.  The Service element is rarely customized by users, as the default
+implementation is simple and sufficient:
+<a href="../catalina/docs/api/org/apache/catalina/Service.html">Service interface</a>.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+An
+<a href="../config/engine.html">Engine</a> represents request processing
+pipeline for a specific Service.  As a Service may have multiple Connectors,
+the Engine received and processes all requests from these connectors, handing
+the response back to the appropriate connector for transmission to the client.
+The <a href="../catalina/docs/api/org/apache/catalina/Engine.html">Engine interface</a>
+may be implemented to supply custom Engines, though this is uncommon.
+</p>
+<p>
+Note that the Engine may be used for Tomcat server clustering via the
+jvmRoute parameter.  Read the Clustering documentation for more information.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../config/host.html">Host</a> is an association of a network name,
+e.g. www.yourcompany.com, to the Tomcat server.  An Engine may contain
+multiple hosts, and the Host element also supports network aliases such as
+yourcompany.com and abc.yourcompany.com.  Users rarely create custom
+<a href="../catalina/docs/api/org/apache/catalina/Host.html">Hosts</a>
+because the 
+<a href="../catalina/docs/api/org/apache/catalina/core/StandardHost.html">StandardHost
+implementation</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A Connector handles communications with the client.  There are multiple
+connectors available with Tomcat, all of which implement the 
+<a href="../catalina/docs/api/org/apache/catalina/Connector.html">Connector
+interface.</a>  These include the
+<a href="../config/coyote.html">Coyote connector</a> which is used for
+most HTTP traffic, especially when running Tomcat as a standalone server, 
+and the <a href="../config/jk2.html">JK2 connector</a> which implements
+the AJP procotol used when connecting Tomcat to an Apache HTTPD server.
+Creating a customized connector is a significant effort.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A
+<a href="../config/context.html">Context</a>
+represents a web application.  A Host may contain multiple
+contexts, each with a unique path.  The
+<a href="../catalina/docs/api/org/apache/catalina/Context.html">Context
+interface</a> may be implemented to create custom Contexts, but
+this is rarely the case because the
+<a href="../catalina/docs/api/org/apache/catalina/core/StandardContext.html">
+StandardContext</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat is designed to be a fast and efficient implementation of the
+Servlet Specification.  Tomcat came about as the reference implementation
+of this specification, and has remained rigorous in adhering to the
+specification.  At the same time, significant attention has been paid
+to Tomcat's performance and it is now on par with other servlet containers,
+including commercial ones.
+</p>
+<p>
+In recent releases of Tomcat, mostly starting with Tomcat 5,
+we have begun effots to make more aspects of Tomcat managable via
+JMX.  In addition, the Manager and Admin webapps have been greatly
+enhanced and improved.  Managability is a primary area of concern
+for us as the product matures and the specification becomes more
+stable.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Table of Contents</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section of the Tomcat documentation attempts to explain
+the architecture and design of the Tomcat server.  It includes significant
+contributions from several tomcat developers:
+</p>
+<ul>
+<li>Yoav Shapira
+    (<a href="mailto:yoavs at apache.org">yoavs at apache.org</a>)</li>
+<li>Jeanfrancois Arcand
+    (<a href="mailto:jfarcand at apache.org">jfarcand at apache.org</a>)</li>
+<li>Filip Hanik
+    (<a href="mailto:fhanik at apache.org">fhanik at apache.org</a>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The information presented is divided into the following sections:</p>
+<ul>
+<li><a href="overview.html"><strong>Overview</strong></a> -
+    An overview of the Tomcat server architecture with key terms
+    and concepts.</li>
+<li><a href="startup.html"><strong>Server Startup</strong></a> -
+    A detailed description, with sequence diagrams, of how the Tomcat
+    server starts up.</li>
+<li><a href="requestProcess.html"><strong>Request Process Flow</strong></a> -
+    A detailed description of how Tomcat handles a request.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/overview.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/overview.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/overview.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Architecture Overview</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Architecture Overview</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This page provides an overview of the Tomcat server architecture.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terms"><strong>Terms</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+In the Tomcat world, a
+<a href="../../config/server.html">Server</a> represents the whole container.
+Tomcat provides a default implementation of the 
+<a href="../../catalina/docs/api/org/apache/catalina/Server.html">Server interface.</a>,
+and this is rarely customized by users.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../../config/service.html">Service</a> is an intermediate component
+which lives inside a Server and ties one or more Connectors to exactly one
+Engine.  The Service element is rarely customized by users, as the default
+implementation is simple and sufficient:
+<a href="../../catalina/docs/api/org/apache/catalina/Service.html">Service interface</a>.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+An
+<a href="../../config/engine.html">Engine</a> represents request processing
+pipeline for a specific Service.  As a Service may have multiple Connectors,
+the Engine received and processes all requests from these connectors, handing
+the response back to the appropriate connector for transmission to the client.
+The <a href="../../catalina/docs/api/org/apache/catalina/Engine.html">Engine interface</a>
+may be implemented to supply custom Engines, though this is uncommon.
+</p>
+<p>
+Note that the Engine may be used for Tomcat server clustering via the
+jvmRoute parameter.  Read the Clustering documentation for more information.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <a href="../../config/host.html">Host</a> is an association of a network name,
+e.g. www.yourcompany.com, to the Tomcat server.  An Engine may contain
+multiple hosts, and the Host element also supports network aliases such as
+yourcompany.com and abc.yourcompany.com.  Users rarely create custom
+<a href="../../catalina/docs/api/org/apache/catalina/Host.html">Hosts</a>
+because the 
+<a href="../../catalina/docs/api/org/apache/catalina/core/StandardHost.html">StandardHost
+implementation</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A Connector handles communications with the client.  There are multiple
+connectors available with Tomcat, all of which implement the 
+<a href="../../catalina/docs/api/org/apache/catalina/Connector.html">Connector
+interface.</a>  These include the
+<a href="../../config/coyote.html">Coyote connector</a> which is used for
+most HTTP traffic, especially when running Tomcat as a standalone server, 
+and the <a href="../../config/jk2.html">JK2 connector</a> which implements
+the AJP procotol used when connecting Tomcat to an Apache HTTPD server.
+Creating a customized connector is a significant effort.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A
+<a href="../../config/context.html">Context</a>
+represents a web application.  A Host may contain multiple
+contexts, each with a unique path.  The
+<a href="../../catalina/docs/api/org/apache/catalina/Context.html">Context
+interface</a> may be implemented to create custom Contexts, but
+this is rarely the case because the
+<a href="../../catalina/docs/api/org/apache/catalina/core/StandardContext.html">
+StandardContext</a> provides significant additional functionality.
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat is designed to be a fast and efficient implementation of the
+Servlet Specification.  Tomcat came about as the reference implementation
+of this specification, and has remained rigorous in adhering to the
+specification.  At the same time, significant attention has been paid
+to Tomcat's performance and it is now on par with other servlet containers,
+including commercial ones.
+</p>
+<p>
+In recent releases of Tomcat, mostly starting with Tomcat 5,
+we have begun effots to make more aspects of Tomcat managable via
+JMX.  In addition, the Manager and Admin webapps have been greatly
+enhanced and improved.  Managability is a primary area of concern
+for us as the product matures and the specification becomes more
+stable.
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/requestProcess.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/requestProcess.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/requestProcess.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Request Process Flow</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Request Process Flow</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Process Flow"><strong>Request Process Flow</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes the process used by Tomcat to handle
+an incoming request.  This process is largely defined by
+the Servlet Specification, which outlines the order
+of events that must take place.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+TODO
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the request process is available
+<a href="../requestProcess/requestProcess.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The Servlet Specification provides many opportunities for
+listening in (using Listeners) or modiying (using Filters)
+the request handling process even before the request arrives
+at the servlet that will handle it.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/startup.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/startup.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/printer/startup.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Startup</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Startup</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Startup"><strong>Server Startup</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes how the Tomcat server starts up.  There are several
+different ways to start tomcat, including:
+<ul>
+  <li>From the command line.</li>
+  <li>From a Java program as an embedded server.</li>
+  <li>Automatically as a Windows service.</li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A text description of the startup procedure is available
+<a href="../startup/serverStartup.txt">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the startup procedure is available
+<a href="../startup/serverStartup.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The startup process can be customized in many ways, both
+by modifying Tomcat code and by implementing your own
+LifecycleListeners which are then registered in the server.xml
+configuration file.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/requestProcess.pdf
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/requestProcess.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/roseModel.mdl
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/roseModel.mdl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess/roseModel.mdl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12921 @@
+
+(object Petal
+    version    	45
+    _written   	"Rose 7.6.0109.2314"
+    charSet    	0)
+
+(object Design "Logical View"
+    is_unit    	TRUE
+    is_loaded  	TRUE
+    quid       	"3DFDF6CE0337"
+    defaults   	(object defaults
+	rightMargin 	0.250000
+	leftMargin 	0.250000
+	topMargin  	0.250000
+	bottomMargin 	0.500000
+	pageOverlap 	0.250000
+	clipIconLabels 	TRUE
+	autoResize 	TRUE
+	snapToGrid 	TRUE
+	gridX      	16
+	gridY      	16
+	defaultFont 	(object Font
+	    size       	10
+	    face       	"Arial"
+	    bold       	FALSE
+	    italics    	FALSE
+	    underline  	FALSE
+	    strike     	FALSE
+	    color      	0
+	    default_color 	TRUE)
+	showMessageNum 	1
+	showClassOfObject 	TRUE
+	notation   	"Unified")
+    root_usecase_package 	(object Class_Category "Use Case View"
+	quid       	"3DFDF6CE0369"
+	exportControl 	"Public"
+	global     	TRUE
+	logical_models 	(list unit_reference_list)
+	logical_presentations 	(list unit_reference_list
+	    (object UseCaseDiagram "Main"
+		quid       	"3DFDF6D201FE"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    root_category 	(object Class_Category "Logical View"
+	quid       	"3DFDF6CE0338"
+	exportControl 	"Public"
+	global     	TRUE
+	subsystem  	"Component View"
+	quidu      	"3DFDF6CE036A"
+	logical_models 	(list unit_reference_list
+	    (object Class_Category "org.apache.catalina"
+		quid       	"3E42DE8D0082"
+		visible_categories 	(list visibility_relationship_list
+		    (object Visibility_Relationship
+			quid       	"3E42DEF601EB"
+			supplier   	"Logical View::org.apache.tomcat.util"
+			quidu      	"3E42DEDF01F2")
+		    (object Visibility_Relationship
+			quid       	"3E42DF700060"
+			supplier   	"Logical View::org.apache.coyote"
+			quidu      	"3E42DE9F0132")
+		    (object Visibility_Relationship
+			quid       	"3E43D165039C"
+			supplier   	"Logical View::org.apache.naming"
+			quidu      	"3E43D1580339"))
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list
+		    (object Class_Category "ant"
+			quid       	"3E42DFBB037F"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43CFF7020F"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "authenticator"
+			quid       	"3E42DFC702B4"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D03C0395"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D03F01C2"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D043024A"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "connector"
+			quid       	"3E42DFCF036A"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D07E017D"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "core"
+			quid       	"3E42DFD603BA"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D19E01A9"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D1A10185"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D1CE007C"
+				supplier   	"Logical View::org.apache.catalina::connector"
+				quidu      	"3E42DFCF036A")
+			    (object Visibility_Relationship
+				quid       	"3E43D1D800D0"
+				supplier   	"Logical View::org.apache.catalina::security"
+				quidu      	"3E42E00100D7")
+			    (object Visibility_Relationship
+				quid       	"3E43D25C031F"
+				supplier   	"Logical View::org.apache.catalina::mbean"
+				quidu      	"3E42DFF10188")
+			    (object Visibility_Relationship
+				quid       	"3E43D260028E"
+				supplier   	"Logical View::org.apache.catalina::startup"
+				quidu      	"3E42E01E00EC")
+			    (object Visibility_Relationship
+				quid       	"3E43D26A015C"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D")
+			    (object Visibility_Relationship
+				quid       	"3E43D2830271"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D2C80248"
+				supplier   	"Logical View::org.apache.catalina::net"
+				quidu      	"3E42DFF70227")
+			    (object Visibility_Relationship
+				quid       	"3E43D2D6002B"
+				supplier   	"Logical View::org.apache.catalina::loader"
+				quidu      	"3E43D2D002D6")
+			    (object Visibility_Relationship
+				quid       	"3E43D3D300F7"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "deploy"
+			quid       	"3E42DFDC0340"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D32001B8"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "launcher"
+			quid       	"3E42DFE2033F"
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "logger"
+			quid       	"3E42DFEC0285"
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "mbean"
+			quid       	"3E42DFF10188"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D49101A5"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D4C6027D"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D4FB008F"
+				supplier   	"Logical View::org.apache.catalina::session"
+				quidu      	"3E42E00C026D")
+			    (object Visibility_Relationship
+				quid       	"3E43D50000BE"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D5080278"
+				supplier   	"Logical View::org.apache.catalina::realm"
+				quidu      	"3E42DFFA00AE")
+			    (object Visibility_Relationship
+				quid       	"3E43D55A0258"
+				supplier   	"Logical View::org.apache.catalina::logger"
+				quidu      	"3E42DFEC0285")
+			    (object Visibility_Relationship
+				quid       	"3E43D56000D0"
+				supplier   	"Logical View::org.apache.catalina::authenticator"
+				quidu      	"3E42DFC702B4"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "net"
+			quid       	"3E42DFF70227"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D6390371"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "realm"
+			quid       	"3E42DFFA00AE"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D69F0133"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D6A10353"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D70E00E2"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339")
+			    (object Visibility_Relationship
+				quid       	"3E43D72302D7"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "security"
+			quid       	"3E42E00100D7"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D74D007F"
+				supplier   	"Logical View::org.apache.catalina::startup"
+				quidu      	"3E42E01E00EC")
+			    (object Visibility_Relationship
+				quid       	"3E43D76B0371"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "servlets"
+			quid       	"3E42E00502DB"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D82702E5"
+				supplier   	"Logical View::org.apache.tomcat.util"
+				quidu      	"3E42DEDF01F2")
+			    (object Visibility_Relationship
+				quid       	"3E43D82A02CC"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D82D0244"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "session"
+			quid       	"3E42E00C026D"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D8770344"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "ssi"
+			quid       	"3E42E01002C3"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D8F902B5"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "startup"
+			quid       	"3E42E01E00EC"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D9150251"
+				supplier   	"Logical View::org.apache.catalina::logger"
+				quidu      	"3E42DFEC0285")
+			    (object Visibility_Relationship
+				quid       	"3E43D919018F"
+				supplier   	"Logical View::org.apache.catalina::security"
+				quidu      	"3E42E00100D7")
+			    (object Visibility_Relationship
+				quid       	"3E43D946000D"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43D95E012A"
+				supplier   	"Logical View::org.apache.catalina::loader"
+				quidu      	"3E43D2D002D6")
+			    (object Visibility_Relationship
+				quid       	"3E43D9960315"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43D99902BF"
+				supplier   	"Logical View::org.apache.catalina::valves"
+				quidu      	"3E42E02D035B")
+			    (object Visibility_Relationship
+				quid       	"3E43D99C0147"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43D9DA0114"
+				supplier   	"Logical View::org.apache.catalina::net"
+				quidu      	"3E42DFF70227")
+			    (object Visibility_Relationship
+				quid       	"3E43D9F402F2"
+				supplier   	"Logical View::org.apache.catalina::realm"
+				quidu      	"3E42DFFA00AE"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "user"
+			quid       	"3E42E0220174"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DB240227"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43DB31009F"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "util"
+			quid       	"3E42E0260184"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DB85017C"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA")
+			    (object Visibility_Relationship
+				quid       	"3E43DB88016C"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "valves"
+			quid       	"3E42E02D035B"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43DC2B0257"
+				supplier   	"Logical View::org.apache.catalina::util"
+				quidu      	"3E42E0260184")
+			    (object Visibility_Relationship
+				quid       	"3E43DD3E0271"
+				supplier   	"Logical View::org.apache.catalina::deploy"
+				quidu      	"3E42DFDC0340")
+			    (object Visibility_Relationship
+				quid       	"3E43DD4102CF"
+				supplier   	"Logical View::org.apache.catalina::connector"
+				quidu      	"3E42DFCF036A")
+			    (object Visibility_Relationship
+				quid       	"3E43DDDE00B8"
+				supplier   	"Logical View::org.apache.catalina::core"
+				quidu      	"3E42DFD603BA"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list))
+		    (object Class_Category "loader"
+			quid       	"3E43D2D002D6"
+			visible_categories 	(list visibility_relationship_list
+			    (object Visibility_Relationship
+				quid       	"3E43D3CF00F2"
+				supplier   	"Logical View::org.apache.naming"
+				quidu      	"3E43D1580339"))
+			exportControl 	"Public"
+			logical_models 	(list unit_reference_list)
+			logical_presentations 	(list unit_reference_list)))
+		logical_presentations 	(list unit_reference_list
+		    (object ClassDiagram "Main"
+			quid       	"3E42DFB6010B"
+			title      	"Main"
+			zoom       	100
+			max_height 	28350
+			max_width  	21600
+			origin_x   	0
+			origin_y   	0
+			items      	(list diagram_item_list
+			    (object CategoryView "Logical View::org.apache.catalina::ant" @1
+				location   	(2208, 1504)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@1
+				    location   	(2064, 1420)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"ant")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFBB037F"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::authenticator" @2
+				location   	(192, 2000)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@2
+				    location   	(48, 1916)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"authenticator")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFC702B4"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::connector" @3
+				location   	(464, 1328)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@3
+				    location   	(320, 1244)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"connector")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFCF036A"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::core" @4
+				location   	(2224, 800)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@4
+				    location   	(2080, 716)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"core")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFD603BA"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::deploy" @5
+				location   	(240, 160)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@5
+				    location   	(96, 76)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"deploy")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFDC0340"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::launcher" @6
+				location   	(1776, 2480)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@6
+				    location   	(1632, 2396)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"launcher")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFE2033F"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::logger" @7
+				location   	(752, 128)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@7
+				    location   	(608, 44)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"logger")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFEC0285"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::mbean" @8
+				location   	(2208, 1216)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@8
+				    location   	(2064, 1132)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"mbean")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFF10188"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::net" @9
+				location   	(1056, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@9
+				    location   	(912, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"net")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFF70227"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::realm" @10
+				location   	(1248, 112)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@10
+				    location   	(1104, 28)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"realm")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DFFA00AE"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::security" @11
+				location   	(304, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@11
+				    location   	(160, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"security")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00100D7"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::servlets" @12
+				location   	(2096, 1888)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@12
+				    location   	(1952, 1804)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"servlets")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00502DB"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::session" @13
+				location   	(432, 1696)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@13
+				    location   	(288, 1612)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"session")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E00C026D"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::ssi" @14
+				location   	(672, 2480)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@14
+				    location   	(528, 2393)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"ssi")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E01002C3"
+				width      	301
+				height     	187)
+			    (object CategoryView "Logical View::org.apache.catalina::startup" @15
+				location   	(1088, 832)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@15
+				    location   	(944, 748)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"startup")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E01E00EC"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::user" @16
+				location   	(1424, 2496)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@16
+				    location   	(1280, 2412)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"user")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E0220174"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::util" @17
+				location   	(1312, 1872)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@17
+				    location   	(1168, 1788)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"util")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E0260184"
+				width      	300
+				height     	180)
+			    (object CategoryView "Logical View::org.apache.catalina::valves" @18
+				location   	(304, 704)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@18
+				    location   	(160, 620)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"valves")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42E02D035B"
+				width      	300
+				height     	180)
+			    (object ImportView "" @19
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43CFF7020F"
+				client     	@1
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @20
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D07E017D"
+				client     	@3
+				supplier   	@13
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.catalina::loader" @21
+				location   	(2240, 416)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@21
+				    location   	(2096, 332)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	288
+				    justify    	0
+				    label      	"loader")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E43D2D002D6"
+				width      	300
+				height     	180)
+			    (object ImportView "" @22
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D32001B8"
+				client     	@5
+				supplier   	@17
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.naming" @23
+				location   	(1872, 96)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@23
+				    location   	(1699, 12)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	346
+				    justify    	0
+				    label      	"org.apache.naming")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E43D1580339"
+				width      	358
+				height     	180)
+			    (object ImportView "" @24
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D3CF00F2"
+				client     	@21
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @25
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D6390371"
+				client     	@9
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @26
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D69F0133"
+				client     	@10
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @27
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D6A10353"
+				client     	@10
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @28
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D70E00E2"
+				client     	@10
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @29
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D72302D7"
+				client     	@10
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @30
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D69F0133"
+				client     	@10
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @31
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D74D007F"
+				client     	@11
+				supplier   	@15
+				line_style 	0)
+			    (object ImportView "" @32
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D76B0371"
+				client     	@11
+				supplier   	@17
+				line_style 	0)
+			    (object CategoryView "Logical View::org.apache.tomcat.util" @33
+				location   	(2096, 2224)
+				font       	(object Font
+				    size       	10
+				    face       	"Arial"
+				    bold       	FALSE
+				    italics    	FALSE
+				    underline  	FALSE
+				    strike     	FALSE
+				    color      	0
+				    default_color 	TRUE)
+				label      	(object ItemLabel
+				    Parent_View 	@33
+				    location   	(1923, 2140)
+				    fill_color 	13434879
+				    nlines     	2
+				    max_width  	346
+				    justify    	0
+				    label      	"org.apache.tomcat.util")
+				icon_style 	"Icon"
+				line_color 	3342489
+				fill_color 	13434879
+				quidu      	"3E42DEDF01F2"
+				width      	358
+				height     	180)
+			    (object ImportView "" @34
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D8770344"
+				client     	@13
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @35
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D8F902B5"
+				client     	@14
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @36
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB240227"
+				client     	@16
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @37
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB31009F"
+				client     	@16
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @38
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB85017C"
+				client     	@17
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @39
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DB88016C"
+				client     	@17
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @40
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82702E5"
+				client     	@12
+				supplier   	@33
+				line_style 	0)
+			    (object ImportView "" @41
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82A02CC"
+				client     	@12
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @42
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D82D0244"
+				client     	@12
+				supplier   	@23
+				vertices   	(list Points
+				    (2060, 1743)
+				    (1746, 447)
+				    (1838, 186))
+				line_style 	0)
+			    (object ImportView "" @43
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D919018F"
+				client     	@15
+				supplier   	@11
+				line_style 	0)
+			    (object ImportView "" @44
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @45
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D95E012A"
+				client     	@15
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @46
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D95E012A"
+				client     	@15
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @47
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9960315"
+				client     	@15
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @48
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99902BF"
+				client     	@15
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @49
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99C0147"
+				client     	@15
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @50
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @51
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9150251"
+				client     	@15
+				supplier   	@7
+				line_style 	0)
+			    (object ImportView "" @52
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9DA0114"
+				client     	@15
+				supplier   	@9
+				line_style 	0)
+			    (object ImportView "" @53
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9F402F2"
+				client     	@15
+				supplier   	@10
+				line_style 	0)
+			    (object ImportView "" @54
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D9960315"
+				client     	@15
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @55
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D946000D"
+				client     	@15
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @56
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D99C0147"
+				client     	@15
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @57
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D49101A5"
+				client     	@8
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @58
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D4C6027D"
+				client     	@8
+				supplier   	@4
+				line_style 	0)
+			    (object ImportView "" @59
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D4FB008F"
+				client     	@8
+				supplier   	@13
+				line_style 	0)
+			    (object ImportView "" @60
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D50000BE"
+				client     	@8
+				supplier   	@18
+				vertices   	(list Points
+				    (2057, 1216)
+				    (1278, 1216)
+				    (454, 783))
+				line_style 	0)
+			    (object ImportView "" @61
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D5080278"
+				client     	@8
+				supplier   	@10
+				line_style 	0)
+			    (object ImportView "" @62
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D55A0258"
+				client     	@8
+				supplier   	@7
+				line_style 	0)
+			    (object ImportView "" @63
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D56000D0"
+				client     	@8
+				supplier   	@2
+				line_style 	0)
+			    (object ImportView "" @64
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D19E01A9"
+				client     	@4
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @65
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1A10185"
+				client     	@4
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @66
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1CE007C"
+				client     	@4
+				supplier   	@3
+				line_style 	0)
+			    (object ImportView "" @67
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D1D800D0"
+				client     	@4
+				supplier   	@11
+				vertices   	(list Points
+				    (2081, 890)
+				    (959, 1616)
+				    (409, 2351))
+				line_style 	0)
+			    (object ImportView "" @68
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D25C031F"
+				client     	@4
+				supplier   	@8
+				line_style 	0)
+			    (object ImportView "" @69
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D260028E"
+				client     	@4
+				supplier   	@15
+				line_style 	0)
+			    (object ImportView "" @70
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D26A015C"
+				client     	@4
+				supplier   	@13
+				line_style 	0)
+			    (object ImportView "" @71
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2830271"
+				client     	@4
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @72
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2C80248"
+				client     	@4
+				supplier   	@9
+				line_style 	0)
+			    (object ImportView "" @73
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D2D6002B"
+				client     	@4
+				supplier   	@21
+				line_style 	0)
+			    (object ImportView "" @74
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D3D300F7"
+				client     	@4
+				supplier   	@23
+				line_style 	0)
+			    (object ImportView "" @75
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D03C0395"
+				client     	@2
+				supplier   	@5
+				vertices   	(list Points
+				    (171, 1855)
+				    (16, 766)
+				    (205, 250))
+				line_style 	0)
+			    (object ImportView "" @76
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D03F01C2"
+				client     	@2
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @77
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43D043024A"
+				client     	@2
+				supplier   	@18
+				line_style 	0)
+			    (object ImportView "" @78
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DC2B0257"
+				client     	@18
+				supplier   	@17
+				line_style 	0)
+			    (object ImportView "" @79
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DD3E0271"
+				client     	@18
+				supplier   	@5
+				line_style 	0)
+			    (object ImportView "" @80
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DD4102CF"
+				client     	@18
+				supplier   	@3
+				line_style 	0)
+			    (object ImportView "" @81
+				stereotype 	TRUE
+				line_color 	3342489
+				quidu      	"3E43DDDE00B8"
+				client     	@18
+				supplier   	@4
+				vertices   	(list Points
+				    (454, 654)
+				    (1293, 381)
+				    (2073, 731))
+				line_style 	0)))))
+	    (object Class_Category "org.apache.coyote"
+		quid       	"3E42DE9F0132"
+		visible_categories 	(list visibility_relationship_list
+		    (object Visibility_Relationship
+			quid       	"3E42DEFC00B3"
+			supplier   	"Logical View::org.apache.tomcat.util"
+			quidu      	"3E42DEDF01F2"))
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.tomcat.util"
+		quid       	"3E42DEDF01F2"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.jasper"
+		quid       	"3E42DEFF0270"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Class_Category "org.apache.naming"
+		quid       	"3E43D1580339"
+		exportControl 	"Public"
+		logical_models 	(list unit_reference_list)
+		logical_presentations 	(list unit_reference_list))
+	    (object Mechanism @82
+		logical_models 	(list unit_reference_list
+		    (object Object "Bootstrap"
+			quid       	"3DFDF8FD0345"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDF9210008"
+				supplier   	"Bootstrap"
+				quidu      	"3DFDF8FD0345"
+				messages   	(list Messages
+				    (object Message "initClassLoaders()"
+					quid       	"3DFDF9210009"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDF91A010C"
+				supplier   	"Catalina"
+				quidu      	"3DFDF90A0330"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDF91A010D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setParentClassLoader()"
+					quid       	"3DFDF97900C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "load()"
+					quid       	"3DFDFA3402F2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFDFAF201A1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFB8400A6"
+				supplier   	"ServerLifecycleListener"
+				quidu      	"3DFDFB4B0217"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFB8400A7"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFB920147"
+				supplier   	"GlobalResourcesLifecycleListener"
+				quidu      	"3DFDFB7A02AB"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFB920148"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9.2"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ServerLifecycleListener"
+			quid       	"3DFDFB4B0217"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "GlobalResourcesLifecycleListener"
+			quid       	"3DFDFB7A02AB"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SecurityConfig"
+			quid       	"3DFDFBD802BA"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Catalina"
+			quid       	"3DFDF90A0330"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFA8001D9"
+				supplier   	"Catalina"
+				quidu      	"3DFDF90A0330"
+				messages   	(list Messages
+				    (object Message "initDirs()"
+					quid       	"3DFDFA8001DA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "initNaming()"
+					quid       	"3DFDFA8B0347"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "initialize()"
+					quid       	"3DFDFAAD01AC"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"7"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFAF800C3"
+				supplier   	"Digester"
+				quidu      	"3DFDFAF201A1"
+				messages   	(list Messages
+				    (object Message "createDigester()"
+					quid       	"3DFDFAF800C4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parse()"
+					quid       	"3DFDFB0100B2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"9"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFDFBEA00C1"
+				supplier   	"SecurityConfig"
+				quidu      	"3DFDFBD802BA"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFDFBEA00C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"10"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setPackageDefinition()"
+					quid       	"3DFDFBF401F2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"11"
+					ordinal    	12
+					Operation  	"setPackageDefinition"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setPackageAccess()"
+					quid       	"3DFDFC1203C2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"12"
+					ordinal    	13
+					Operation  	"setPackageAccess"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @83
+		logical_models 	(list unit_reference_list
+		    (object Object "Catalina"
+			quid       	"3DFDFC8F015F"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFD1F0075"
+				supplier   	"StandardServer"
+				quidu      	"3DFDFCCB006B"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFD1F0076"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardServer"
+			quid       	"3DFDFCCB006B"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFD3D01C3"
+				supplier   	"StandardService"
+				quidu      	"3DFDFD370020"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFD3D01C4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardService"
+			quid       	"3DFDFD370020"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFDFE990304"
+				supplier   	"CoyoteConnector"
+				quidu      	"3DFDFE810313"
+				messages   	(list Messages
+				    (object Message "initialize()"
+					quid       	"3DFDFE990305"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteConnector"
+			quid       	"3DFDFE810313"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE013D0216"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFDFFA00226"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE013D0217"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE0183032F"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE016601A6"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE01830330"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.2"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "init()"
+					quid       	"3DFE0188032C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.3"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE01BC038B"
+				supplier   	"JkCoyoteAdapter"
+				quidu      	"3DFE01AD01A8"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE01BC038C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.4"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "init()"
+					quid       	"3DFE01C30164"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1.5"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteAdapter"
+			quid       	"3DFDFFA00226"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Http11Protocol"
+			quid       	"3DFE016601A6"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "JkCoyoteAdapter"
+			quid       	"3DFE01AD01A8"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @84
+		logical_models 	(list unit_reference_list
+		    (object Object "Bootstrap"
+			quid       	"3DFE027700F5"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02830373"
+				supplier   	"Catalina"
+				quidu      	"3DFE027D0067"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE02830374"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Catalina"
+			quid       	"3DFE027D0067"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02BA0187"
+				supplier   	"StandardServer"
+				quidu      	"3DFE02B30015"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE02BA0188"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardServer"
+			quid       	"3DFE02B30015"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE02D3006B"
+				supplier   	"StandardServer"
+				quidu      	"3DFE02B30015"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE02D3006C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE02DF02DF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE030C02B2"
+				supplier   	"StandardService"
+				quidu      	"3DFE030400E3"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE030C02B3"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardService"
+			quid       	"3DFE030400E3"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE031D0021"
+				supplier   	"StandardService"
+				quidu      	"3DFE030400E3"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE031D0022"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE0330019B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE03700189"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE034700C2"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE0370018A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.3.3"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngine"
+			quid       	"3DFE034700C2"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE03750050"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE034700C2"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE03750051"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addDefaultMapper()"
+					quid       	"3DFE0389001C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "logger.start()"
+					quid       	"3DFE03980281"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "realm.start()"
+					quid       	"3DFE03A80107"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findMappers()"
+					quid       	"3DFE03BD000D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findChildren()"
+					quid       	"3DFE03E000A4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"7"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE03FB0279"
+				supplier   	"StandardHost"
+				quidu      	"3DFE03F2035D"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE03FB027A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE03F2035D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE043B02AD"
+				supplier   	"StandardHost"
+				quidu      	"3DFE03F2035D"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE043B02AE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.1"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addDefaultMapper()"
+					quid       	"3DFE045C021F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.2"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "logger.start()"
+					quid       	"3DFE049B000C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.3"
+					ordinal    	17
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findMapper()"
+					quid       	"3DFE04A303BB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.4"
+					ordinal    	18
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "findChildren()"
+					quid       	"3DFE04A90342"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.5"
+					ordinal    	19
+					Operation  	"findChildren"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE048E00B8"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE047D006D"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE048E00B9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6"
+					ordinal    	20
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE047D006D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE05780137"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE047D006D"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(BEFORE_START_EVENT)"
+					quid       	"3DFE05780138"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.1"
+					ordinal    	21
+					Operation  	"fireLifecycleEvent(AFTER_START_EVENT)"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE05A80398"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.2"
+					ordinal    	22
+					Operation  	"fireLifecycleEvent(BEFORE_START_EVENT)"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(AFTER_EVENT)"
+					quid       	"3DFE05BA0196"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"8.6.3"
+					ordinal    	23
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @85
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardHost"
+			quid       	"3DFE0538017B"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE066C0340"
+				supplier   	"StandardHost"
+				quidu      	"3DFE0538017B"
+				messages   	(list Messages
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE066C0341"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE06D20293"
+				supplier   	"HostConfig"
+				quidu      	"3DFE06A60131"
+				messages   	(list Messages
+				    (object Message "interested[i].lifecycleEvent()"
+					quid       	"3DFE06D20294"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install()"
+					quid       	"3DFE078B03BB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"2.6"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install()"
+					quid       	"3DFE132D0309"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"5"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE07B100BD"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE079A0055"
+				messages   	(list Messages
+				    (object Message "install()"
+					quid       	"3DFE07B100BE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "install() // same as above"
+					quid       	"3DFE133A036C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	17
+					Operation  	"install()"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "HostConfig"
+			quid       	"3DFE06A60131"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE06E9028C"
+				supplier   	"HostConfig"
+				quidu      	"3DFE06A60131"
+				messages   	(list Messages
+				    (object Message "setDeployXML()"
+					quid       	"3DFE06E9028D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setLiveDeploy()"
+					quid       	"3DFE06F300FF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setUnpacksWar()"
+					quid       	"3DFE06FB00D9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setXMLValidation()"
+					quid       	"3DFE070C0015"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.4"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "deployDescriptors()"
+					quid       	"3DFE073B0031"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2.5"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "deployApps()"
+					quid       	"3DFE131F0327"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostDeployer"
+			quid       	"3DFE079A0055"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE07D200EC"
+				supplier   	"Digester"
+				quidu      	"3DFE07C9034C"
+				messages   	(list Messages
+				    (object Message "create()"
+					quid       	"3DFE07D200ED"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parse()"
+					quid       	"3DFE07D603D7"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.6"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "add(ContextRuleSet)"
+					quid       	"3DFE08FA003D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.3"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE087D01E2"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE079A0055")
+			    (object Link
+				quid       	"3DFE08DA029A"
+				supplier   	"ContextRuleSet"
+				quidu      	"3DFE0834016F"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE08DA029B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "add(NamingRuleSet())"
+					quid       	"3DFE0907015F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.5"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE08E00090"
+				supplier   	"NamingRuleSet"
+				quidu      	"3DFE08D00173"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE08E00091"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.4"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFE07C9034C"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ContextRuleSet"
+			quid       	"3DFE0834016F"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "NamingRuleSet"
+			quid       	"3DFE08D00173"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @86
+		logical_models 	(list unit_reference_list
+		    (object Object "Digester"
+			quid       	"3DFE095A0371"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE0E7801DA"
+				supplier   	"Digester"
+				quidu      	"3DFE095A0371"
+				messages   	(list Messages
+				    (object Message "parse"
+					quid       	"3DFE0E7801DB"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "startElement()"
+					quid       	"3DFE0F2F03D2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE0F400213"
+				supplier   	"Rule"
+				quidu      	"3DFE0E7400D0"
+				messages   	(list Messages
+				    (object Message "begin()"
+					quid       	"3DFE0F400214"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Rule"
+			quid       	"3DFE0E7400D0"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE0FD30265"
+				supplier   	"StandardContext"
+				quidu      	"3DFE0FC502A1"
+				messages   	(list Messages
+				    (object Message "newInstance()"
+					quid       	"3DFE0FD30266"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE102002E8"
+				supplier   	"SetPropertiesRule"
+				quidu      	"3DFE100303A4"
+				messages   	(list Messages
+				    (object Message "begin()"
+					quid       	"3DFE102002E9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE127F0024"
+				supplier   	"Rule"
+				quidu      	"3DFE0E7400D0")
+			    (object Link
+				quid       	"3DFE128501C7"
+				supplier   	"SetNextRule"
+				quidu      	"3DFE12690267"
+				messages   	(list Messages
+				    (object Message "end()"
+					quid       	"3DFE128501C8"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.3"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContext"
+			quid       	"3DFE0FC502A1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE114A0192"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE112F003F"
+				messages   	(list Messages
+				    (object Message "setBasic(StandardContextValve)"
+					quid       	"3DFE114A0193"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.2"
+					ordinal    	5
+					Operation  	"setBasic"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE115E001E"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE110D0375"
+				messages   	(list Messages
+				    (object Message "new()"
+					quid       	"3DFE115E001F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SetPropertiesRule"
+			quid       	"3DFE100303A4"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE11D50390"
+				supplier   	"StandardContext"
+				quidu      	"3DFE0FC502A1"
+				messages   	(list Messages
+				    (object Message "//Using BeanUtil, set the object properties (from ex: admin.xml)"
+					quid       	"3DFE11D50391"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.2.1"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContextValve"
+			quid       	"3DFE110D0375"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE112F003F"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "SetNextRule"
+			quid       	"3DFE12690267"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @87
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContext"
+			quid       	"3DFE196D00D9"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE200603BD"
+				supplier   	"WebappLoader"
+				quidu      	"3DFE1FFA0347"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE200603BE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE200C0299"
+				supplier   	"StandardContext"
+				quidu      	"3DFE196D00D9"
+				messages   	(list Messages
+				    (object Message "setLoader"
+					quid       	"3DFE200C029A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "setManager"
+					quid       	"3DFE2032001C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.4"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "fireLifecycleEvent(START_EVENT)"
+					quid       	"3DFE205B01A2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.5"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE202C024F"
+				supplier   	"StandardManager"
+				quidu      	"3DFE201F0105"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE202C0250"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.3"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "start()"
+					quid       	"3DFE20B600E5"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.7"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE20960002"
+				supplier   	"ContextConfig"
+				quidu      	"3DFE2087028C"
+				messages   	(list Messages
+				    (object Message " // Notify interested LifecycleListeners"
+					quid       	"3DFE20960003"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostDeployer"
+			quid       	"3DFE1D8A02DC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE1FAF0014"
+				supplier   	"StandardHost"
+				quidu      	"3DFE1DF20141"
+				messages   	(list Messages
+				    (object Message "addChild"
+					quid       	"3DFE1FB60277"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE1DF20141"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE1FC40227"
+				supplier   	"StandardContext"
+				quidu      	"3DFE196D00D9"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE1FC40228"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "WebappLoader"
+			quid       	"3DFE1FFA0347"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardManager"
+			quid       	"3DFE201F0105"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ContextConfig"
+			quid       	"3DFE2087028C"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE20CF018B"
+				supplier   	"ContextConfig"
+				quidu      	"3DFE2087028C"
+				messages   	(list Messages
+				    (object Message "start()"
+					quid       	"3DFE20CF018C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.1"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "defaultConfig()"
+					quid       	"3DFE20E303E2"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.2"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "applicationConfig()"
+					quid       	"3DFE211D01A1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3"
+					ordinal    	14
+					Operation  	"applicationConfig"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE21B60287"
+				supplier   	"Digester"
+				quidu      	"3DFE13960364"
+				messages   	(list Messages
+				    (object Message "create()"
+					quid       	"3DFE21B60288"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1"
+					ordinal    	15
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "createWarpper() // Invoked by a WebWrapperRule (not Directly by the Digester)"
+					quid       	"3DFE228B03BA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"3.1.1.6.3.1.2"
+					ordinal    	17
+					Operation  	"createWarpper() // Invoked by a Rule (not Directly by the Digester)"
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE22560061"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE220C0122"
+				messages   	(list Messages
+				    (object Message "new"
+					quid       	"3DFE229A0004"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1.2.1"
+					ordinal    	18
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addInstanceListener()"
+					quid       	"3DFE22A700C1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.2"
+					ordinal    	19
+					Operation  	"addInstanceListener"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addLifecycleListener()"
+					quid       	"3DFE22C701CC"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.3"
+					ordinal    	20
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "addContainerListener()"
+					quid       	"3DFE22E80364"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.4"
+					ordinal    	21
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	TRUE
+			multi      	FALSE)
+		    (object Object "Digester"
+			quid       	"3DFE13960364"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE19AE0064"
+				supplier   	"Digester"
+				quidu      	"3DFE13960364"
+				messages   	(list Messages
+				    (object Message "parse"
+					quid       	"3DFE19AE0065"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "startElement()"
+					quid       	"3DFE19B102E9"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "// Process web.xml * tld.xml"
+					quid       	"3DFE21BE021B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1.1.6.3.1.1"
+					ordinal    	16
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE1DFB0021"
+				supplier   	"StandardHostDeployer"
+				quidu      	"3DFE1D8A02DC"
+				messages   	(list Messages
+				    (object Message "addChild"
+					quid       	"3DFE1DFB0022"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE22190225"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE220C0122"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapper"
+			quid       	"3DFE220C0122"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @88
+		logical_models 	(list unit_reference_list
+		    (object Object "ThreadPool"
+			quid       	"3DFE402B02C5"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE40E701AD"
+				supplier   	"TcpWorkerThread"
+				quidu      	"3DFE403200F8"
+				messages   	(list Messages
+				    (object Message "runIt()"
+					quid       	"3DFE40E701AE"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "TcpWorkerThread"
+			quid       	"3DFE403200F8"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE40FC010D"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE40750177"
+				messages   	(list Messages
+				    (object Message "processConnection"
+					quid       	"3DFE40FC010E"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "Http11Protocol"
+			quid       	"3DFE40750177"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE4111029E"
+				supplier   	"Http11Protocol"
+				quidu      	"3DFE40750177"
+				messages   	(list Messages
+				    (object Message "process()"
+					quid       	"3DFE4111029F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "parseHeaders()"
+					quid       	"3DFE415C0151"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "prepareRequest()"
+					quid       	"3DFE41A60161"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE41D60106"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFE410600DF"
+				messages   	(list Messages
+				    (object Message "service()"
+					quid       	"3DFE41D60107"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "CoyoteAdapter"
+			quid       	"3DFE410600DF"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE422C01F0"
+				supplier   	"CoyoteAdapter"
+				quidu      	"3DFE410600DF"
+				messages   	(list Messages
+				    (object Message "postParseRequest()"
+					quid       	"3DFE422C01F1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE42800237"
+				supplier   	"StandardEngine"
+				quidu      	"3DFE424B0349"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE42800238"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngine"
+			quid       	"3DFE424B0349"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE429A002C"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE42900045"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE429A002D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6.1"
+					ordinal    	8
+					Operation  	"invoke"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE42900045"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE42CE022F"
+				supplier   	"StandardValveContext"
+				quidu      	"3DFE42C002B1"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE42CE0230"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"6.1.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardValveContext"
+			quid       	"3DFE42C002B1"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @89
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContextValve"
+			quid       	"3DFE4307001E"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE434C019A"
+				supplier   	"StandardEngineValve"
+				quidu      	"3DFE432801F3"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE434C019B"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE43C203A3"
+				supplier   	"ErrorReportValve"
+				quidu      	"3DFE438C028D"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE43C203A4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3"
+					ordinal    	4
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invokeNext()"
+					quid       	"3DFE46330293"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"3.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE46E70025"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE46E70026"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"4"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invokeNext"
+					quid       	"3DFE475D03A0"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"ToClientFromSupplier"
+					sequence   	"4.1"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE476503C9"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE476503CA"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardEngineValve"
+			quid       	"3DFE432801F3"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE436C009C"
+				supplier   	"StandardHost"
+				quidu      	"3DFE436503BD"
+				messages   	(list Messages
+				    (object Message "map()"
+					quid       	"3DFE436C009D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invoke()"
+					quid       	"3DFE43830063"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE437F0143"
+				supplier   	"StandardEngineValve"
+				quidu      	"3DFE432801F3"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHost"
+			quid       	"3DFE436503BD"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE43B903BE"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE4307001E"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE43B903BF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"2"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ErrorReportValve"
+			quid       	"3DFE438C028D"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE442501B0"
+				supplier   	"ErrorReportValve"
+				quidu      	"3DFE438C028D"
+				messages   	(list Messages
+				    (object Message "report()"
+					quid       	"3DFE442501B1"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"3.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE452A00F7"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ErrorDispatcherValve"
+			quid       	"3DFE451F01EC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE47500148"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130")
+			    (object Link
+				quid       	"3DFE47580335"
+				supplier   	"ErrorDispatcherValve"
+				quidu      	"3DFE451F01EC"))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardHostValve"
+			quid       	"3DFE47310130"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE47CD0166"
+				supplier   	"StandardHostValve"
+				quidu      	"3DFE47310130"
+				messages   	(list Messages
+				    (object Message "map() //Context"
+					quid       	"3DFE47CD0167"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5.1"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE47D500B3"
+				supplier   	"StandardContext"
+				quidu      	"3DFE47C100F1"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE47D500B4"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"5.2"
+					ordinal    	11
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContext"
+			quid       	"3DFE47C100F1"
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)))
+	    (object Mechanism @90
+		logical_models 	(list unit_reference_list
+		    (object Object "StandardContext"
+			quid       	"3DFE48B001D1"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE48BE0267"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE48B80088"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE48BE0268"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1"
+					ordinal    	0
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardPipeline"
+			quid       	"3DFE48B80088"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE48EA0039"
+				supplier   	"StandardValveContext"
+				quidu      	"3DFE48D000DC"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE48EA003A"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1"
+					ordinal    	1
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "invoke()"
+					quid       	"3DFE4976015D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2"
+					ordinal    	6
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardValveContext"
+			quid       	"3DFE48D000DC"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE491102D5"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE490303A7"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE491102D6"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1"
+					ordinal    	2
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4993023B"
+				supplier   	"StandardWrapperValve"
+				quidu      	"3DFE49890056"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE4993023C"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1"
+					ordinal    	7
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardContextValve"
+			quid       	"3DFE490303A7"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE492F033C"
+				supplier   	"StandardContextValve"
+				quidu      	"3DFE490303A7"
+				messages   	(list Messages
+				    (object Message "map //return Wrapper"
+					quid       	"3DFE492F033D"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.1"
+					ordinal    	3
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE494A0150"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE49370351"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE494A0151"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.2"
+					ordinal    	4
+					Operation  	"invoke"
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapper"
+			quid       	"3DFE49370351"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE495F0287"
+				supplier   	"StandardPipeline"
+				quidu      	"3DFE48B80088"
+				messages   	(list Messages
+				    (object Message "invoke()"
+					quid       	"3DFE495F0288"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.1.1.2.1"
+					ordinal    	5
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "StandardWrapperValve"
+			quid       	"3DFE49890056"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE49DB018A"
+				supplier   	"StandardWrapperValve"
+				quidu      	"3DFE49890056")
+			    (object Link
+				quid       	"3DFE49EC004E"
+				supplier   	"StandardWrapper"
+				quidu      	"3DFE49370351"
+				messages   	(list Messages
+				    (object Message "allocate()"
+					quid       	"3DFE49EC004F"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.1"
+					ordinal    	8
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "return servlet"
+					quid       	"3DFE4A200067"
+					frequency  	"Aperiodic"
+					synchronization 	"Return"
+					dir        	"ToClientFromSupplier"
+					sequence   	"1.2.1.1.1"
+					ordinal    	9
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4A29027D"
+				supplier   	"ApplicationFilterChain"
+				quidu      	"3DFE4A1500B2"
+				messages   	(list Messages
+				    (object Message "createFilterChain()"
+					quid       	"3DFE4A29027E"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.1.1.1"
+					ordinal    	10
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "doFilter()"
+					quid       	"3DFE4A490283"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2"
+					ordinal    	11
+					Operation  	"doFilter"
+					quidu      	"000000000000"
+					creation   	FALSE)
+				    (object Message "return"
+					quid       	"3DFE4CB4025B"
+					frequency  	"Aperiodic"
+					synchronization 	"Return"
+					dir        	"ToClientFromSupplier"
+					sequence   	"1.2.1.2.3"
+					ordinal    	14
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "ApplicationFilterChain"
+			quid       	"3DFE4A1500B2"
+			collaborators 	(list link_list
+			    (object Link
+				quid       	"3DFE4C2701C2"
+				supplier   	"ApplicationFilterChain"
+				quidu      	"3DFE4A1500B2"
+				messages   	(list Messages
+				    (object Message "internalDoFilter()"
+					quid       	"3DFE4C2701C3"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2.1"
+					ordinal    	12
+					quidu      	"000000000000"
+					creation   	FALSE)))
+			    (object Link
+				quid       	"3DFE4CA502BE"
+				supplier   	"$UNNAMED$0"
+				quidu      	"3DFE4BAE0056"
+				messages   	(list Messages
+				    (object Message "service()"
+					quid       	"3DFE4CA502BF"
+					frequency  	"Aperiodic"
+					synchronization 	"Simple"
+					dir        	"FromClientToSupplier"
+					sequence   	"1.2.1.2.2"
+					ordinal    	13
+					quidu      	"000000000000"
+					creation   	FALSE))))
+			persistence 	"Transient"
+			creationObj 	FALSE
+			multi      	FALSE)
+		    (object Object "$UNNAMED$0"
+			quid       	"3DFE4BAE0056"
+			stereotype 	"Servlet"
+			persistence 	"Transient"
+			creationObj 	TRUE
+			multi      	FALSE))))
+	logical_presentations 	(list unit_reference_list
+	    (object ClassDiagram "Main"
+		quid       	"3DFDF6D2021B"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))
+	    (object ClassDiagram "high level packaging"
+		quid       	"3E42DE75004B"
+		title      	"high level packaging"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object CategoryView "Logical View::org.apache.catalina" @91
+			location   	(1024, 752)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@91
+			    location   	(780, 668)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	488
+			    justify    	0
+			    label      	"org.apache.catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DE8D0082"
+			width      	500
+			height     	181)
+		    (object CategoryView "Logical View::org.apache.coyote" @92
+			location   	(512, 1184)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@92
+			    location   	(237, 1090)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	550
+			    justify    	0
+			    label      	"org.apache.coyote")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DE9F0132"
+			width      	563
+			height     	200)
+		    (object CategoryView "Logical View::org.apache.tomcat.util" @93
+			location   	(1920, 1104)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@93
+			    location   	(1670, 1020)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	500
+			    justify    	0
+			    label      	"org.apache.tomcat.util")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DEDF01F2"
+			width      	512
+			height     	181)
+		    (object ImportView "" @94
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DEF601EB"
+			client     	@91
+			supplier   	@93
+			line_style 	0)
+		    (object ImportView "" @95
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DEFC00B3"
+			client     	@92
+			supplier   	@93
+			line_style 	0)
+		    (object CategoryView "Logical View::org.apache.jasper" @96
+			location   	(1728, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@96
+			    location   	(1437, 540)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	582
+			    justify    	0
+			    label      	"org.apache.jasper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E42DEFF0270"
+			width      	594
+			height     	181)
+		    (object ImportView "" @97
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E42DF700060"
+			client     	@91
+			supplier   	@92
+			line_style 	0)
+		    (object NoteView @98
+			location   	(1200, 208)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@98
+			    location   	(847, 143)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	671
+			    label      	"High Level package dependencies")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	731
+			height     	143)
+		    (object CategoryView "Logical View::org.apache.naming" @99
+			location   	(352, 304)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@99
+			    location   	(83, 220)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	538
+			    justify    	0
+			    label      	"org.apache.naming")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3E43D1580339"
+			width      	550
+			height     	181)
+		    (object ImportView "" @100
+			stereotype 	TRUE
+			line_color 	3342489
+			quidu      	"3E43D165039C"
+			client     	@91
+			supplier   	@99
+			line_style 	0)))
+	    (object InteractionDiagram "1. catalina_load"
+		mechanism_ref 	@82
+		quid       	"3DFDF8EE0267"
+		title      	"1. catalina_load"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	519
+		items      	(list diagram_item_list
+		    (object InterObjView "Bootstrap" @101
+			location   	(224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@101
+			    location   	(224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Bootstrap")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDF8FD0345"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @102
+			    location   	(224, 368)
+			    line_color 	3342489
+			    InterObjView 	@101
+			    height     	1738
+			    y_coord    	1678
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @103
+			    location   	(224, 368)
+			    line_color 	3342489
+			    InterObjView 	@101
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "Digester" @104
+			location   	(896, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@104
+			    location   	(896, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFAF201A1"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @105
+			    location   	(896, 1232)
+			    line_color 	3342489
+			    InterObjView 	@104
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @106
+			    location   	(896, 1312)
+			    line_color 	3342489
+			    InterObjView 	@104
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE))
+		    (object InterObjView "ServerLifecycleListener" @107
+			location   	(1232, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@107
+			    location   	(1232, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ServerLifecycleListener")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFB4B0217"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @108
+			    location   	(1232, 1328)
+			    line_color 	3342489
+			    InterObjView 	@107
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "GlobalResourcesLifecycleListener" @109
+			location   	(1568, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@109
+			    location   	(1568, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	322
+			    justify    	0
+			    label      	"GlobalResourcesLifecycleListener")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFB7A02AB"
+			width      	340
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @110
+			    location   	(1568, 1456)
+			    line_color 	3342489
+			    InterObjView 	@109
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "SecurityConfig" @111
+			location   	(1920, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@111
+			    location   	(1920, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"SecurityConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFBD802BA"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @112
+			    location   	(1920, 1600)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @113
+			    location   	(1920, 1680)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	146
+			    y_coord    	86
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @114
+			    location   	(1920, 1760)
+			    line_color 	3342489
+			    InterObjView 	@111
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object SelfMessView "" @115
+			location   	(16, 368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @116
+			    Parent_View 	@115
+			    location   	(315, 324)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF9210009"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	340
+			    justify    	0
+			    label      	"initClassLoaders()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@101
+			Focus_Src  	@102
+			Focus_Entry 	@103
+			origin     	(240, 368)
+			terminus   	(390, 368)
+			ordinal    	0)
+		    (object NoteView @117
+			location   	(1152, 1072)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@117
+			    location   	(1014, 1012)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"parse server.xml")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object NoteView @118
+			location   	(1376, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@118
+			    location   	(1238, 20)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"MBeans")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object AttachView "" @119
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@118
+			supplier   	@107
+			line_style 	0)
+		    (object AttachView "" @120
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@109
+			supplier   	@118
+			line_style 	0)
+		    (object NoteView @121
+			location   	(2160, 2176)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@121
+			    location   	(1947, 2113)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	390
+			    label      	"#1Catalina.load()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	450
+			height     	138)
+		    (object InterObjView "Catalina" @122
+			location   	(560, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@122
+			    location   	(560, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDF90A0330"
+			width      	300
+			height     	1972
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @123
+			    location   	(560, 464)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @124
+			    location   	(560, 608)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @125
+			    location   	(560, 720)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	1326
+			    y_coord    	1266
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @126
+			    location   	(560, 896)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	194
+			    y_coord    	134
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @127
+			    location   	(560, 896)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @128
+			    location   	(560, 1024)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @129
+			    location   	(560, 1024)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @130
+			    location   	(560, 1152)
+			    line_color 	3342489
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @131
+			    location   	(560, 1152)
+			    InterObjView 	@122
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object SelfMessView "" @132
+			location   	(16, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @133
+			    Parent_View 	@132
+			    location   	(651, 852)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA8001DA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	160
+			    justify    	0
+			    label      	"initDirs()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@127
+			Focus_Entry 	@126
+			origin     	(576, 896)
+			terminus   	(726, 896)
+			ordinal    	4)
+		    (object SelfMessView "" @134
+			location   	(16, 1024)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @135
+			    Parent_View 	@134
+			    location   	(701, 981)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA8B0347"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	228
+			    justify    	0
+			    label      	"initNaming()"
+			    pctDist    	0.840000
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@129
+			Focus_Entry 	@128
+			origin     	(576, 1024)
+			terminus   	(726, 1024)
+			ordinal    	5)
+		    (object SelfMessView "" @136
+			location   	(16, 1152)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @137
+			    Parent_View 	@136
+			    location   	(686, 1109)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFAAD01AC"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.733333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@122
+			Focus_Src  	@131
+			Focus_Entry 	@130
+			origin     	(576, 1152)
+			terminus   	(726, 1152)
+			ordinal    	6)
+		    (object InterMessView "" @138
+			location   	(16, 464)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @139
+			    Parent_View 	@138
+			    location   	(389, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF91A010D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.495082
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@123
+			origin     	(239, 464)
+			terminus   	(544, 464)
+			ordinal    	1)
+		    (object InterMessView "" @140
+			location   	(16, 608)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @141
+			    Parent_View 	@140
+			    location   	(456, 565)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDF97900C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	445
+			    justify    	0
+			    label      	"setParentClassLoader()"
+			    pctDist    	0.711475
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@124
+			origin     	(239, 608)
+			terminus   	(544, 608)
+			ordinal    	2)
+		    (object InterMessView "" @142
+			location   	(16, 720)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @143
+			    Parent_View 	@142
+			    location   	(391, 676)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFA3402F2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"load()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@101
+			supplier   	@122
+			Focus_Src  	@102
+			Focus_Entry 	@125
+			origin     	(239, 720)
+			terminus   	(544, 720)
+			ordinal    	3)
+		    (object InterMessView "" @144
+			location   	(16, 1232)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @145
+			    Parent_View 	@144
+			    location   	(727, 1188)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFAF800C4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	302
+			    justify    	0
+			    label      	"createDigester()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@104
+			Focus_Src  	@125
+			Focus_Entry 	@105
+			origin     	(575, 1232)
+			terminus   	(880, 1232)
+			ordinal    	7)
+		    (object InterMessView "" @146
+			location   	(16, 1312)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @147
+			    Parent_View 	@146
+			    location   	(727, 1268)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB0100B2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"parse()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@104
+			Focus_Src  	@125
+			Focus_Entry 	@106
+			origin     	(575, 1312)
+			terminus   	(880, 1312)
+			ordinal    	8)
+		    (object AttachView "" @148
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@147
+			supplier   	@117
+			line_style 	0)
+		    (object InterMessView "" @149
+			location   	(16, 1328)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @150
+			    Parent_View 	@149
+			    location   	(1063, 1284)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB8400A7"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@104
+			supplier   	@107
+			Focus_Src  	@106
+			Focus_Entry 	@108
+			origin     	(911, 1328)
+			terminus   	(1216, 1328)
+			ordinal    	9)
+		    (object InterMessView "" @151
+			location   	(16, 1456)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @152
+			    Parent_View 	@151
+			    location   	(1231, 1412)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFB920148"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@104
+			supplier   	@109
+			Focus_Src  	@106
+			Focus_Entry 	@110
+			origin     	(911, 1456)
+			terminus   	(1552, 1456)
+			ordinal    	10)
+		    (object InterMessView "" @153
+			location   	(16, 1600)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @154
+			    Parent_View 	@153
+			    location   	(1239, 1556)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFBEA00C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@112
+			origin     	(575, 1600)
+			terminus   	(1904, 1600)
+			ordinal    	11)
+		    (object InterMessView "" @155
+			location   	(16, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @156
+			    Parent_View 	@155
+			    location   	(1239, 1636)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFBF401F2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	425
+			    justify    	0
+			    label      	"setPackageDefinition()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@113
+			origin     	(575, 1680)
+			terminus   	(1904, 1680)
+			ordinal    	12)
+		    (object InterMessView "" @157
+			location   	(16, 1760)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @158
+			    Parent_View 	@157
+			    location   	(1239, 1716)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFC1203C2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	386
+			    justify    	0
+			    label      	"setPackageAccess()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@122
+			supplier   	@111
+			Focus_Src  	@125
+			Focus_Entry 	@114
+			origin     	(575, 1760)
+			terminus   	(1904, 1760)
+			ordinal    	13)))
+	    (object InteractionDiagram "2. catalina_initliaze"
+		mechanism_ref 	@83
+		quid       	"3DFDFC44002A"
+		title      	"2. catalina_initliaze"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	87
+		items      	(list diagram_item_list
+		    (object InterObjView "Catalina" @159
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@159
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFC8F015F"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @160
+			    location   	(176, 400)
+			    line_color 	3342489
+			    InterObjView 	@159
+			    height     	914
+			    y_coord    	854
+			    Nested     	FALSE))
+		    (object InterObjView "StandardServer" @161
+			location   	(496, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@161
+			    location   	(496, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardServer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFCCB006B"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @162
+			    location   	(496, 400)
+			    line_color 	3342489
+			    InterObjView 	@161
+			    height     	854
+			    y_coord    	794
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @163
+			    location   	(496, 480)
+			    line_color 	3342489
+			    InterObjView 	@161
+			    height     	768
+			    y_coord    	708
+			    Nested     	TRUE))
+		    (object InterObjView "StandardService" @164
+			location   	(832, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@164
+			    location   	(832, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardService")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFD370020"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @165
+			    location   	(832, 480)
+			    line_color 	3342489
+			    InterObjView 	@164
+			    height     	708
+			    y_coord    	648
+			    Nested     	FALSE))
+		    (object InterObjView "CoyoteConnector" @166
+			location   	(1168, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@166
+			    location   	(1168, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteConnector")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFE810313"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @167
+			    location   	(1168, 528)
+			    line_color 	3342489
+			    InterObjView 	@166
+			    height     	600
+			    y_coord    	540
+			    Nested     	FALSE))
+		    (object InterObjView "CoyoteAdapter" @168
+			location   	(1504, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@168
+			    location   	(1504, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFDFFA00226"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @169
+			    location   	(1504, 576)
+			    line_color 	3342489
+			    InterObjView 	@168
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "Http11Protocol" @170
+			location   	(1808, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@170
+			    location   	(1808, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Http11Protocol")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE016601A6"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @171
+			    location   	(1808, 704)
+			    line_color 	3342489
+			    InterObjView 	@170
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @172
+			    location   	(1808, 832)
+			    line_color 	3342489
+			    InterObjView 	@170
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "JkCoyoteAdapter" @173
+			location   	(2144, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@173
+			    location   	(2144, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"JkCoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE01AD01A8"
+			width      	300
+			height     	1180
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @174
+			    location   	(2144, 928)
+			    line_color 	3342489
+			    InterObjView 	@173
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @175
+			    location   	(2144, 1008)
+			    line_color 	3342489
+			    InterObjView 	@173
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @176
+			location   	(16, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @177
+			    Parent_View 	@176
+			    location   	(335, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFD1F0076"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@159
+			supplier   	@161
+			Focus_Src  	@160
+			Focus_Entry 	@162
+			origin     	(191, 400)
+			terminus   	(480, 400)
+			ordinal    	0)
+		    (object InterMessView "" @178
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @179
+			    Parent_View 	@178
+			    location   	(663, 436)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFD3D01C4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@161
+			supplier   	@164
+			Focus_Src  	@163
+			Focus_Entry 	@165
+			origin     	(511, 480)
+			terminus   	(816, 480)
+			ordinal    	1)
+		    (object InterMessView "" @180
+			location   	(16, 528)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @181
+			    Parent_View 	@180
+			    location   	(999, 484)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFDFE990305"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	180
+			    justify    	0
+			    label      	"initialize()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@164
+			supplier   	@166
+			Focus_Src  	@165
+			Focus_Entry 	@167
+			origin     	(847, 528)
+			terminus   	(1152, 528)
+			ordinal    	2)
+		    (object InterMessView "" @182
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @183
+			    Parent_View 	@182
+			    location   	(1335, 532)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE013D0217"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@168
+			Focus_Src  	@167
+			Focus_Entry 	@169
+			origin     	(1183, 576)
+			terminus   	(1488, 576)
+			ordinal    	3)
+		    (object InterMessView "" @184
+			location   	(1504, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @185
+			    Parent_View 	@184
+			    location   	(1487, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01830330"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@170
+			Focus_Src  	@167
+			Focus_Entry 	@171
+			origin     	(1183, 704)
+			terminus   	(1792, 704)
+			ordinal    	4)
+		    (object InterMessView "" @186
+			location   	(1504, 832)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @187
+			    Parent_View 	@186
+			    location   	(1487, 788)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0188032C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	80
+			    justify    	0
+			    label      	"init()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@170
+			Focus_Src  	@167
+			Focus_Entry 	@172
+			origin     	(1183, 832)
+			terminus   	(1792, 832)
+			ordinal    	5)
+		    (object InterMessView "" @188
+			location   	(16, 928)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @189
+			    Parent_View 	@188
+			    location   	(1655, 884)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01BC038C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@173
+			Focus_Src  	@167
+			Focus_Entry 	@174
+			origin     	(1183, 928)
+			terminus   	(2128, 928)
+			ordinal    	6)
+		    (object InterMessView "" @190
+			location   	(16, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @191
+			    Parent_View 	@190
+			    location   	(1655, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE01C30164"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	80
+			    justify    	0
+			    label      	"init()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@166
+			supplier   	@173
+			Focus_Src  	@167
+			Focus_Entry 	@175
+			origin     	(1183, 1008)
+			terminus   	(2128, 1008)
+			ordinal    	7)
+		    (object NoteView @192
+			location   	(2144, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@192
+			    location   	(1947, 1957)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	359
+			    label      	"#2 Catalina.initialize()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	419
+			height     	131)))
+	    (object InteractionDiagram "3. catalina_start"
+		mechanism_ref 	@84
+		quid       	"3DFE026D02D1"
+		title      	"3. catalina_start"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	2481
+		items      	(list diagram_item_list
+		    (object InterObjView "Bootstrap" @193
+			location   	(192, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@193
+			    location   	(192, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Bootstrap")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE027700F5"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @194
+			    location   	(192, 384)
+			    line_color 	3342489
+			    InterObjView 	@193
+			    height     	2662
+			    y_coord    	2602
+			    Nested     	FALSE))
+		    (object InterObjView "Catalina" @195
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@195
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Catalina")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE027D0067"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @196
+			    location   	(480, 384)
+			    line_color 	3342489
+			    InterObjView 	@195
+			    height     	2602
+			    y_coord    	2542
+			    Nested     	FALSE))
+		    (object InterObjView "StandardServer" @197
+			location   	(784, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@197
+			    location   	(784, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardServer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE02B30015"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @198
+			    location   	(784, 416)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	2510
+			    y_coord    	2450
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @199
+			    location   	(784, 480)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @200
+			    location   	(784, 592)
+			    line_color 	3342489
+			    InterObjView 	@197
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardService" @201
+			location   	(1088, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@201
+			    location   	(1088, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardService")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE030400E3"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @202
+			    location   	(1088, 704)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	2162
+			    y_coord    	2102
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @203
+			    location   	(1088, 752)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @204
+			    location   	(1088, 864)
+			    line_color 	3342489
+			    InterObjView 	@201
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngine" @205
+			location   	(1424, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@205
+			    location   	(1424, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"StandardEngine")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE034700C2"
+			width      	350
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @206
+			    location   	(1424, 976)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	1830
+			    y_coord    	1770
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @207
+			    location   	(1424, 1056)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	1744
+			    y_coord    	1684
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @208
+			    location   	(1424, 1056)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @209
+			    location   	(1424, 1168)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @210
+			    location   	(1424, 1296)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @211
+			    location   	(1424, 1408)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @212
+			    location   	(1424, 1536)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @213
+			    location   	(1424, 1648)
+			    line_color 	3342489
+			    InterObjView 	@205
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHost" @214
+			location   	(1760, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@214
+			    location   	(1760, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE03F2035D"
+			width      	300
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @215
+			    location   	(1760, 1760)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	980
+			    y_coord    	920
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @216
+			    location   	(1760, 1808)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @217
+			    location   	(1760, 1920)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @218
+			    location   	(1760, 2032)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @219
+			    location   	(1760, 2144)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @220
+			    location   	(1760, 2256)
+			    line_color 	3342489
+			    InterObjView 	@214
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardPipeline" @221
+			location   	(2080, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@221
+			    location   	(2080, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	326
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE047D006D"
+			width      	344
+			height     	2912
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @222
+			    location   	(2080, 2368)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	312
+			    y_coord    	252
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @223
+			    location   	(2080, 2416)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @224
+			    location   	(2080, 2480)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @225
+			    location   	(2080, 2560)
+			    line_color 	3342489
+			    InterObjView 	@221
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterMessView "" @226
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @227
+			    Parent_View 	@226
+			    location   	(335, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02830374"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@193
+			supplier   	@195
+			Focus_Src  	@194
+			Focus_Entry 	@196
+			origin     	(207, 384)
+			terminus   	(464, 384)
+			ordinal    	0)
+		    (object InterMessView "" @228
+			location   	(16, 416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @229
+			    Parent_View 	@228
+			    location   	(631, 372)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02BA0188"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@195
+			supplier   	@197
+			Focus_Src  	@196
+			Focus_Entry 	@198
+			origin     	(495, 416)
+			terminus   	(768, 416)
+			ordinal    	1)
+		    (object SelfMessView "" @230
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @231
+			    Parent_View 	@230
+			    location   	(1244, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02D3006C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.960000
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@197
+			Focus_Src  	@198
+			Focus_Entry 	@199
+			origin     	(800, 480)
+			terminus   	(950, 480)
+			ordinal    	2)
+		    (object SelfMessView "" @232
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @233
+			    Parent_View 	@232
+			    location   	(1146, 549)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE02DF02DF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.313333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@197
+			Focus_Src  	@198
+			Focus_Entry 	@200
+			origin     	(800, 592)
+			terminus   	(950, 592)
+			ordinal    	3)
+		    (object InterMessView "" @234
+			location   	(16, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @235
+			    Parent_View 	@234
+			    location   	(935, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE030C02B3"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@197
+			supplier   	@201
+			Focus_Src  	@198
+			Focus_Entry 	@202
+			origin     	(799, 704)
+			terminus   	(1072, 704)
+			ordinal    	4)
+		    (object SelfMessView "" @236
+			location   	(16, 752)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @237
+			    Parent_View 	@236
+			    location   	(1531, 708)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE031D0022"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.853333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@201
+			Focus_Src  	@202
+			Focus_Entry 	@203
+			origin     	(1104, 752)
+			terminus   	(1254, 752)
+			ordinal    	5)
+		    (object SelfMessView "" @238
+			location   	(16, 864)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @239
+			    Parent_View 	@238
+			    location   	(1449, 821)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0330019B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.306667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@201
+			Focus_Src  	@202
+			Focus_Entry 	@204
+			origin     	(1104, 864)
+			terminus   	(1254, 864)
+			ordinal    	6)
+		    (object InterMessView "" @240
+			location   	(16, 976)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @241
+			    Parent_View 	@240
+			    location   	(1255, 932)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0370018A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@201
+			supplier   	@205
+			Focus_Src  	@202
+			Focus_Entry 	@206
+			origin     	(1103, 976)
+			terminus   	(1408, 976)
+			ordinal    	7)
+		    (object SelfMessView "" @242
+			location   	(16, 1056)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @243
+			    Parent_View 	@242
+			    location   	(1865, 1014)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03750051"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	2.840000
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@208
+			origin     	(1440, 1056)
+			terminus   	(1590, 1056)
+			ordinal    	8)
+		    (object SelfMessView "" @244
+			location   	(16, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @245
+			    Parent_View 	@244
+			    location   	(1639, 1141)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0389001C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"addDefaultMapper()"
+			    pctDist    	1.326667
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@209
+			origin     	(1440, 1168)
+			terminus   	(1590, 1168)
+			ordinal    	9)
+		    (object SelfMessView "" @246
+			location   	(16, 1296)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @247
+			    Parent_View 	@246
+			    location   	(1592, 1268)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03980281"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"logger.start()"
+			    pctDist    	1.020000
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@210
+			origin     	(1440, 1296)
+			terminus   	(1590, 1296)
+			ordinal    	10)
+		    (object SelfMessView "" @248
+			location   	(16, 1408)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @249
+			    Parent_View 	@248
+			    location   	(1593, 1380)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03A80107"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	226
+			    justify    	0
+			    label      	"realm.start()"
+			    pctDist    	1.026667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@211
+			origin     	(1440, 1408)
+			terminus   	(1590, 1408)
+			ordinal    	11)
+		    (object SelfMessView "" @250
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @251
+			    Parent_View 	@250
+			    location   	(1608, 1508)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03BD000D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	259
+			    justify    	0
+			    label      	"findMappers()"
+			    pctDist    	1.120000
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@212
+			origin     	(1440, 1536)
+			terminus   	(1590, 1536)
+			ordinal    	12)
+		    (object SelfMessView "" @252
+			location   	(16, 1648)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @253
+			    Parent_View 	@252
+			    location   	(1515, 1604)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03E000A4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	251
+			    justify    	0
+			    label      	"findChildren()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@205
+			Focus_Src  	@207
+			Focus_Entry 	@213
+			origin     	(1440, 1648)
+			terminus   	(1590, 1648)
+			ordinal    	13)
+		    (object InterMessView "" @254
+			location   	(1664, 1760)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @255
+			    Parent_View 	@254
+			    location   	(1591, 1716)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE03FB027A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@205
+			supplier   	@214
+			Focus_Src  	@207
+			Focus_Entry 	@215
+			origin     	(1439, 1760)
+			terminus   	(1744, 1760)
+			ordinal    	14)
+		    (object SelfMessView "" @256
+			location   	(16, 1808)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @257
+			    Parent_View 	@256
+			    location   	(1606, 1784)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE043B02AE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	-1.133333
+			    height     	24
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@216
+			origin     	(1776, 1808)
+			terminus   	(1926, 1808)
+			ordinal    	15)
+		    (object SelfMessView "" @258
+			location   	(16, 1920)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @259
+			    Parent_View 	@258
+			    location   	(1963, 1877)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE045C021F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"addDefaultMapper()"
+			    pctDist    	1.253333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@217
+			origin     	(1776, 1920)
+			terminus   	(1926, 1920)
+			ordinal    	16)
+		    (object InterMessView "" @260
+			location   	(2000, 2368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @261
+			    Parent_View 	@260
+			    location   	(1919, 2324)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE048E00B9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@221
+			Focus_Src  	@215
+			Focus_Entry 	@222
+			origin     	(1775, 2368)
+			terminus   	(2064, 2368)
+			ordinal    	20)
+		    (object SelfMessView "" @262
+			location   	(16, 2032)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @263
+			    Parent_View 	@262
+			    location   	(1916, 2004)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE049B000C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"logger.start()"
+			    pctDist    	0.933333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@218
+			origin     	(1776, 2032)
+			terminus   	(1926, 2032)
+			ordinal    	17)
+		    (object SelfMessView "" @264
+			location   	(16, 2144)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @265
+			    Parent_View 	@264
+			    location   	(1916, 2117)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE04A303BB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	238
+			    justify    	0
+			    label      	"findMapper()"
+			    pctDist    	0.933333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@219
+			origin     	(1776, 2144)
+			terminus   	(1926, 2144)
+			ordinal    	18)
+		    (object SelfMessView "" @266
+			location   	(16, 2256)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @267
+			    Parent_View 	@266
+			    location   	(1916, 2228)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE04A90342"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	251
+			    justify    	0
+			    label      	"findChildren()"
+			    pctDist    	0.933333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@214
+			supplier   	@214
+			Focus_Src  	@215
+			Focus_Entry 	@220
+			origin     	(1776, 2256)
+			terminus   	(1926, 2256)
+			ordinal    	19)
+		    (object NoteView @268
+			location   	(2128, 1488)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@268
+			    location   	(1915, 1422)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	390
+			    label      	"#1 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	450
+			height     	144)
+		    (object SelfMessView "" @269
+			location   	(16, 2416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @270
+			    Parent_View 	@269
+			    location   	(1644, 2498)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05780138"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	854
+			    justify    	0
+			    label      	"fireLifecycleEvent(BEFORE_START_EVENT)"
+			    pctDist    	-3.020000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@223
+			origin     	(2096, 2416)
+			terminus   	(2246, 2416)
+			ordinal    	21)
+		    (object SelfMessView "" @271
+			location   	(16, 2480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @272
+			    Parent_View 	@271
+			    location   	(1705, 2582)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05A80398"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	-2.613333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@224
+			origin     	(2096, 2480)
+			terminus   	(2246, 2480)
+			ordinal    	22)
+		    (object SelfMessView "" @273
+			location   	(16, 2560)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @274
+			    Parent_View 	@273
+			    location   	(1737, 2423)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE05BA0196"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(AFTER_EVENT)"
+			    pctDist    	-2.393333
+			    height     	138
+			    orientation 	0)
+			line_color 	3342489
+			client     	@221
+			supplier   	@221
+			Focus_Src  	@222
+			Focus_Entry 	@225
+			origin     	(2096, 2560)
+			terminus   	(2246, 2560)
+			ordinal    	23)
+		    (object NoteView @275
+			location   	(960, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@275
+			    location   	(635, 1571)
+			    fill_color 	13434879
+			    nlines     	4
+			    max_width  	615
+			    label      	"All StandardX will fire these events.")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	675
+			height     	231)
+		    (object AttachView "" @276
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@272
+			line_style 	0)
+		    (object AttachView "" @277
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@270
+			line_style 	0)
+		    (object AttachView "" @278
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@275
+			supplier   	@274
+			line_style 	0)))
+	    (object InteractionDiagram "4. catalina_start_2"
+		mechanism_ref 	@85
+		quid       	"3DFE050900BF"
+		title      	"4. catalina_start_2"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	1087
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardHost" @279
+			location   	(208, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@279
+			    location   	(208, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0538017B"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @280
+			    location   	(208, 384)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	1864
+			    y_coord    	1804
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @281
+			    location   	(208, 384)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @282
+			    location   	(208, 1088)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @283
+			    location   	(208, 1616)
+			    line_color 	3342489
+			    InterObjView 	@279
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "HostConfig" @284
+			location   	(544, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@284
+			    location   	(544, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"HostConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE06A60131"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @285
+			    location   	(544, 512)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	696
+			    y_coord    	636
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @286
+			    location   	(544, 576)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @287
+			    location   	(544, 688)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @288
+			    location   	(544, 784)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @289
+			    location   	(544, 896)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @290
+			    location   	(544, 1008)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @291
+			    location   	(544, 1536)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	200
+			    y_coord    	140
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @292
+			    location   	(544, 1536)
+			    line_color 	3342489
+			    InterObjView 	@284
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHostDeployer" @293
+			location   	(944, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@293
+			    location   	(944, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	426
+			    justify    	0
+			    label      	"StandardHostDeployer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE079A0055"
+			width      	444
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @294
+			    location   	(944, 1280)
+			    line_color 	3342489
+			    InterObjView 	@293
+			    height     	824
+			    y_coord    	764
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @295
+			    location   	(944, 2128)
+			    line_color 	3342489
+			    InterObjView 	@293
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "Digester" @296
+			location   	(1328, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@296
+			    location   	(1328, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE07C9034C"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @297
+			    location   	(1328, 1280)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @298
+			    location   	(1328, 1488)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @299
+			    location   	(1328, 1984)
+			    line_color 	3342489
+			    InterObjView 	@296
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "ContextRuleSet" @300
+			location   	(1648, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@300
+			    location   	(1648, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ContextRuleSet")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0834016F"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @301
+			    location   	(1648, 1408)
+			    line_color 	3342489
+			    InterObjView 	@300
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @302
+			    location   	(1648, 1888)
+			    line_color 	3342489
+			    InterObjView 	@300
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "NamingRuleSet" @303
+			location   	(1968, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@303
+			    location   	(1968, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"NamingRuleSet")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE08D00173"
+			width      	300
+			height     	2114
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @304
+			    location   	(1968, 1792)
+			    line_color 	3342489
+			    InterObjView 	@303
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @305
+			location   	(0, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @306
+			    Parent_View 	@305
+			    location   	(555, 342)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE066C0341"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	651
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.206667
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@279
+			Focus_Src  	@280
+			Focus_Entry 	@281
+			origin     	(224, 384)
+			terminus   	(374, 384)
+			ordinal    	0)
+		    (object InterMessView "" @307
+			location   	(384, 512)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @308
+			    Parent_View 	@307
+			    location   	(486, 468)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06D20294"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	507
+			    justify    	0
+			    label      	"interested[i].lifecycleEvent()"
+			    pctDist    	0.865574
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@284
+			Focus_Src  	@280
+			Focus_Entry 	@285
+			origin     	(223, 512)
+			terminus   	(528, 512)
+			ordinal    	1)
+		    (object SelfMessView "" @309
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @310
+			    Parent_View 	@309
+			    location   	(713, 537)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06E9028D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	297
+			    justify    	0
+			    label      	"setDeployXML()"
+			    pctDist    	1.026667
+			    height     	40
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@286
+			origin     	(560, 576)
+			terminus   	(710, 576)
+			ordinal    	2)
+		    (object SelfMessView "" @311
+			location   	(16, 688)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @312
+			    Parent_View 	@311
+			    location   	(714, 645)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06F300FF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	288
+			    justify    	0
+			    label      	"setLiveDeploy()"
+			    pctDist    	1.033333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@287
+			origin     	(560, 688)
+			terminus   	(710, 688)
+			ordinal    	3)
+		    (object SelfMessView "" @313
+			location   	(16, 784)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @314
+			    Parent_View 	@313
+			    location   	(732, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE06FB00D9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	326
+			    justify    	0
+			    label      	"setUnpacksWar()"
+			    pctDist    	1.153333
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@288
+			origin     	(560, 784)
+			terminus   	(710, 784)
+			ordinal    	4)
+		    (object SelfMessView "" @315
+			location   	(16, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @316
+			    Parent_View 	@315
+			    location   	(747, 868)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE070C0015"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	350
+			    justify    	0
+			    label      	"setXMLValidation()"
+			    pctDist    	1.246667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@289
+			origin     	(560, 896)
+			terminus   	(710, 896)
+			ordinal    	5)
+		    (object SelfMessView "" @317
+			location   	(16, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @318
+			    Parent_View 	@317
+			    location   	(762, 980)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE073B0031"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	359
+			    justify    	0
+			    label      	"deployDescriptors()"
+			    pctDist    	1.346667
+			    height     	29
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@285
+			Focus_Entry 	@290
+			origin     	(560, 1008)
+			terminus   	(710, 1008)
+			ordinal    	6)
+		    (object InterMessView "" @319
+			location   	(16, 1088)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @320
+			    Parent_View 	@319
+			    location   	(376, 1044)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE078B03BB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@284
+			supplier   	@279
+			Focus_Src  	@285
+			Focus_Entry 	@282
+			origin     	(528, 1088)
+			terminus   	(224, 1088)
+			ordinal    	7)
+		    (object InterMessView "" @321
+			location   	(576, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @322
+			    Parent_View 	@321
+			    location   	(575, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07B100BE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@293
+			Focus_Src  	@280
+			Focus_Entry 	@294
+			origin     	(223, 1280)
+			terminus   	(928, 1280)
+			ordinal    	8)
+		    (object InterMessView "" @323
+			location   	(1152, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @324
+			    Parent_View 	@323
+			    location   	(1135, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07D200ED"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	144
+			    justify    	0
+			    label      	"create()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@297
+			origin     	(959, 1280)
+			terminus   	(1312, 1280)
+			ordinal    	9)
+		    (object InterMessView "" @325
+			location   	(1136, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @326
+			    Parent_View 	@325
+			    location   	(1135, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE07D603D7"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"parse()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@299
+			origin     	(959, 1984)
+			terminus   	(1312, 1984)
+			ordinal    	16)
+		    (object InterMessView "" @327
+			location   	(1296, 1408)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @328
+			    Parent_View 	@327
+			    location   	(1295, 1364)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08DA029B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@300
+			Focus_Src  	@294
+			Focus_Entry 	@301
+			origin     	(959, 1408)
+			terminus   	(1632, 1408)
+			ordinal    	10)
+		    (object InterMessView "" @329
+			location   	(1456, 1792)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @330
+			    Parent_View 	@329
+			    location   	(1455, 1748)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08E00091"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@303
+			Focus_Src  	@294
+			Focus_Entry 	@304
+			origin     	(959, 1792)
+			terminus   	(1952, 1792)
+			ordinal    	14)
+		    (object InterMessView "" @331
+			location   	(16, 1488)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @332
+			    Parent_View 	@331
+			    location   	(1182, 1445)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE08FA003D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	387
+			    justify    	0
+			    label      	"add(ContextRuleSet)"
+			    pctDist    	0.631728
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@296
+			Focus_Src  	@294
+			Focus_Entry 	@298
+			origin     	(959, 1488)
+			terminus   	(1312, 1488)
+			ordinal    	11)
+		    (object InterMessView "" @333
+			location   	(1296, 1888)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @334
+			    Parent_View 	@333
+			    location   	(1295, 1844)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0907015F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	416
+			    justify    	0
+			    label      	"add(NamingRuleSet())"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@293
+			supplier   	@300
+			Focus_Src  	@294
+			Focus_Entry 	@302
+			origin     	(959, 1888)
+			terminus   	(1632, 1888)
+			ordinal    	15)
+		    (object NoteView @335
+			location   	(2096, 2384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@335
+			    location   	(1893, 2315)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	371
+			    label      	"#2 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	431
+			height     	150)
+		    (object SelfMessView "" @336
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @337
+			    Parent_View 	@336
+			    location   	(697, 1493)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE131F0327"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	244
+			    justify    	0
+			    label      	"deployApps()"
+			    pctDist    	0.913333
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@284
+			supplier   	@284
+			Focus_Src  	@291
+			Focus_Entry 	@292
+			origin     	(560, 1536)
+			terminus   	(710, 1536)
+			ordinal    	12)
+		    (object InterMessView "" @338
+			location   	(16, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @339
+			    Parent_View 	@338
+			    location   	(376, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE132D0309"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	136
+			    justify    	0
+			    label      	"install()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@284
+			supplier   	@279
+			Focus_Src  	@291
+			Focus_Entry 	@283
+			origin     	(528, 1616)
+			terminus   	(224, 1616)
+			ordinal    	13)
+		    (object InterMessView "" @340
+			location   	(576, 2128)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @341
+			    Parent_View 	@340
+			    location   	(575, 2084)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE133A036C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	463
+			    justify    	0
+			    label      	"install() // same as above"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@279
+			supplier   	@293
+			Focus_Src  	@280
+			Focus_Entry 	@295
+			origin     	(223, 2128)
+			terminus   	(928, 2128)
+			ordinal    	17)))
+	    (object InteractionDiagram "5. catalina_start_3"
+		mechanism_ref 	@86
+		quid       	"3DFE094A0346"
+		title      	"5. catalina_start_3"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "Digester" @342
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@342
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE095A0371"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @343
+			    location   	(176, 352)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	996
+			    y_coord    	936
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @344
+			    location   	(176, 352)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @345
+			    location   	(176, 448)
+			    line_color 	3342489
+			    InterObjView 	@342
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "Rule" @346
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@346
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Rule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0E7400D0"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @347
+			    location   	(480, 560)
+			    line_color 	3342489
+			    InterObjView 	@346
+			    height     	728
+			    y_coord    	668
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContext" @348
+			location   	(816, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@348
+			    location   	(816, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE0FC502A1"
+			width      	350
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @349
+			    location   	(816, 592)
+			    line_color 	3342489
+			    InterObjView 	@348
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @350
+			    location   	(816, 1008)
+			    line_color 	3342489
+			    InterObjView 	@348
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @351
+			location   	(1184, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@351
+			    location   	(1184, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE112F003F"
+			width      	381
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @352
+			    location   	(1184, 736)
+			    line_color 	3342489
+			    InterObjView 	@351
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContextValve" @353
+			location   	(1552, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@353
+			    location   	(1552, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	300
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE110D0375"
+			width      	318
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @354
+			    location   	(1552, 624)
+			    line_color 	3342489
+			    InterObjView 	@353
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "SetPropertiesRule" @355
+			location   	(1920, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@355
+			    location   	(1920, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"SetPropertiesRule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE100303A4"
+			width      	381
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @356
+			    location   	(1920, 928)
+			    line_color 	3342489
+			    InterObjView 	@355
+			    height     	200
+			    y_coord    	140
+			    Nested     	FALSE))
+		    (object InterObjView "SetNextRule" @357
+			location   	(2272, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@357
+			    location   	(2272, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"SetNextRule")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE12690267"
+			width      	300
+			height     	1214
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @358
+			    location   	(2272, 1168)
+			    line_color 	3342489
+			    InterObjView 	@357
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @359
+			location   	(0, 352)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @360
+			    Parent_View 	@359
+			    location   	(267, 308)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0E7801DB"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"parse"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@342
+			Focus_Src  	@343
+			Focus_Entry 	@344
+			origin     	(192, 352)
+			terminus   	(342, 352)
+			ordinal    	0)
+		    (object SelfMessView "" @361
+			location   	(16, 448)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @362
+			    Parent_View 	@361
+			    location   	(345, 420)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0F2F03D2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	267
+			    justify    	0
+			    label      	"startElement()"
+			    pctDist    	1.020000
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@342
+			Focus_Src  	@343
+			Focus_Entry 	@345
+			origin     	(192, 448)
+			terminus   	(342, 448)
+			ordinal    	1)
+		    (object InterMessView "" @363
+			location   	(336, 560)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @364
+			    Parent_View 	@363
+			    location   	(327, 516)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0F400214"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	132
+			    justify    	0
+			    label      	"begin()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@342
+			supplier   	@346
+			Focus_Src  	@343
+			Focus_Entry 	@347
+			origin     	(191, 560)
+			terminus   	(464, 560)
+			ordinal    	2)
+		    (object InterMessView "" @365
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @366
+			    Parent_View 	@365
+			    location   	(647, 548)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE0FD30266"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	265
+			    justify    	0
+			    label      	"newInstance()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@348
+			Focus_Src  	@347
+			Focus_Entry 	@349
+			origin     	(495, 592)
+			terminus   	(800, 592)
+			ordinal    	3)
+		    (object InterMessView "" @367
+			location   	(864, 928)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @368
+			    Parent_View 	@367
+			    location   	(1199, 884)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE102002E9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	132
+			    justify    	0
+			    label      	"begin()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@355
+			Focus_Src  	@347
+			Focus_Entry 	@356
+			origin     	(495, 928)
+			terminus   	(1904, 928)
+			ordinal    	6)
+		    (object InterMessView "" @369
+			location   	(1008, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @370
+			    Parent_View 	@369
+			    location   	(1139, 693)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE114A0193"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	610
+			    justify    	0
+			    label      	"setBasic(StandardContextValve)"
+			    pctDist    	0.915014
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@348
+			supplier   	@351
+			Focus_Src  	@349
+			Focus_Entry 	@352
+			origin     	(831, 736)
+			terminus   	(1168, 736)
+			ordinal    	5)
+		    (object InterMessView "" @371
+			location   	(16, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @372
+			    Parent_View 	@371
+			    location   	(1183, 580)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE115E001F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	106
+			    justify    	0
+			    label      	"new()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@348
+			supplier   	@353
+			Focus_Src  	@349
+			Focus_Entry 	@354
+			origin     	(831, 624)
+			terminus   	(1536, 624)
+			ordinal    	4)
+		    (object InterMessView "" @373
+			location   	(1440, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @374
+			    Parent_View 	@373
+			    location   	(1368, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE11D50391"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	1190
+			    justify    	0
+			    label      	"//Using BeanUtil, set the object properties (from ex: admin.xml)"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@355
+			supplier   	@348
+			Focus_Src  	@356
+			Focus_Entry 	@350
+			origin     	(1904, 1008)
+			terminus   	(832, 1008)
+			ordinal    	7)
+		    (object InterMessView "" @375
+			location   	(1392, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @376
+			    Parent_View 	@375
+			    location   	(1375, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE128501C8"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	99
+			    justify    	0
+			    label      	"end()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@346
+			supplier   	@357
+			Focus_Src  	@347
+			Focus_Entry 	@358
+			origin     	(495, 1168)
+			terminus   	(2256, 1168)
+			ordinal    	8)
+		    (object NoteView @377
+			location   	(1216, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@377
+			    location   	(900, 15)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	596
+			    label      	"HostConfig.deployDescriptor()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	656
+			height     	143)
+		    (object NoteView @378
+			location   	(2128, 1888)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@378
+			    location   	(1947, 1822)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	327
+			    label      	"#3 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	387
+			height     	144)))
+	    (object InteractionDiagram "6. catalina_start_4"
+		mechanism_ref 	@87
+		quid       	"3DFE13890008"
+		title      	"6. catalina_start_4"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	1818
+		items      	(list diagram_item_list
+		    (object InterObjView "Digester" @379
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@379
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Digester")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE13960364"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @380
+			    location   	(176, 336)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	1228
+			    y_coord    	1168
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @381
+			    location   	(176, 336)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @382
+			    location   	(176, 480)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @383
+			    location   	(176, 1616)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	580
+			    y_coord    	520
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @384
+			    location   	(176, 1728)
+			    line_color 	3342489
+			    InterObjView 	@379
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardHostDeployer" @385
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@385
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	301
+			    justify    	0
+			    label      	"StandardHostDeployer")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1D8A02DC"
+			width      	319
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @386
+			    location   	(480, 576)
+			    line_color 	3342489
+			    InterObjView 	@385
+			    height     	928
+			    y_coord    	868
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHost" @387
+			location   	(800, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@387
+			    location   	(800, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1DF20141"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @388
+			    location   	(800, 592)
+			    line_color 	3342489
+			    InterObjView 	@387
+			    height     	852
+			    y_coord    	792
+			    Nested     	FALSE))
+		    (object InterObjView "StandardContext" @389
+			location   	(1120, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@389
+			    location   	(1120, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE196D00D9"
+			width      	313
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @390
+			    location   	(1120, 624)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	760
+			    y_coord    	700
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @391
+			    location   	(1120, 800)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @392
+			    location   	(1120, 976)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @393
+			    location   	(1120, 1072)
+			    line_color 	3342489
+			    InterObjView 	@389
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "WebappLoader" @394
+			location   	(1440, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@394
+			    location   	(1440, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"WebappLoader")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE1FFA0347"
+			width      	313
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @395
+			    location   	(1440, 640)
+			    line_color 	3342489
+			    InterObjView 	@394
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "StandardManager" @396
+			location   	(1760, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@396
+			    location   	(1760, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	301
+			    justify    	0
+			    label      	"StandardManager")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE201F0105"
+			width      	319
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @397
+			    location   	(1760, 832)
+			    line_color 	3342489
+			    InterObjView 	@396
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @398
+			    location   	(1760, 1264)
+			    line_color 	3342489
+			    InterObjView 	@396
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterObjView "ContextConfig" @399
+			location   	(1952, 352)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@399
+			    location   	(1952, 352)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ContextConfig")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE2087028C"
+			width      	300
+			height     	2318
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @400
+			    location   	(1952, 412)
+			    InterObjView 	@399
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @401
+			    location   	(1952, 1136)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	1444
+			    y_coord    	1384
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @402
+			    location   	(1952, 1264)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @403
+			    location   	(1952, 1456)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	1070
+			    y_coord    	1010
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @404
+			    location   	(1952, 1568)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	952
+			    y_coord    	892
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @405
+			    location   	(1952, 1984)
+			    line_color 	3342489
+			    InterObjView 	@399
+			    height     	152
+			    y_coord    	92
+			    Nested     	TRUE))
+		    (object SelfMessView "" @406
+			location   	(16, 336)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @407
+			    Parent_View 	@406
+			    location   	(267, 292)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE19AE0065"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	108
+			    justify    	0
+			    label      	"parse"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@380
+			Focus_Entry 	@381
+			origin     	(192, 336)
+			terminus   	(342, 336)
+			ordinal    	0)
+		    (object SelfMessView "" @408
+			location   	(16, 480)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @409
+			    Parent_View 	@408
+			    location   	(328, 437)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE19B102E9"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	267
+			    justify    	0
+			    label      	"startElement()"
+			    pctDist    	0.906667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@380
+			Focus_Entry 	@382
+			origin     	(192, 480)
+			terminus   	(342, 480)
+			ordinal    	1)
+		    (object InterMessView "" @410
+			location   	(16, 576)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @411
+			    Parent_View 	@410
+			    location   	(327, 552)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1DFB0022"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	165
+			    justify    	0
+			    label      	"addChild"
+			    pctDist    	0.498645
+			    height     	25
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@385
+			Focus_Src  	@380
+			Focus_Entry 	@386
+			origin     	(191, 576)
+			terminus   	(464, 576)
+			ordinal    	2)
+		    (object InterMessView "" @412
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @413
+			    Parent_View 	@412
+			    location   	(639, 548)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1FB60277"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	165
+			    justify    	0
+			    label      	"addChild"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@385
+			supplier   	@387
+			Focus_Src  	@386
+			Focus_Entry 	@388
+			origin     	(495, 592)
+			terminus   	(784, 592)
+			ordinal    	3)
+		    (object InterMessView "" @414
+			location   	(16, 624)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @415
+			    Parent_View 	@414
+			    location   	(959, 580)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE1FC40228"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@387
+			supplier   	@389
+			Focus_Src  	@388
+			Focus_Entry 	@390
+			origin     	(815, 624)
+			terminus   	(1104, 624)
+			ordinal    	4)
+		    (object InterMessView "" @416
+			location   	(16, 640)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @417
+			    Parent_View 	@416
+			    location   	(1279, 596)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE200603BE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@394
+			Focus_Src  	@390
+			Focus_Entry 	@395
+			origin     	(1135, 640)
+			terminus   	(1424, 640)
+			ordinal    	5)
+		    (object SelfMessView "" @418
+			location   	(16, 800)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @419
+			    Parent_View 	@418
+			    location   	(1224, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE200C029A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	186
+			    justify    	0
+			    label      	"setLoader"
+			    pctDist    	0.593333
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@391
+			origin     	(1136, 800)
+			terminus   	(1286, 800)
+			ordinal    	6)
+		    (object InterMessView "" @420
+			location   	(16, 832)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @421
+			    Parent_View 	@420
+			    location   	(1439, 788)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE202C0250"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@396
+			Focus_Src  	@390
+			Focus_Entry 	@397
+			origin     	(1135, 832)
+			terminus   	(1744, 832)
+			ordinal    	7)
+		    (object SelfMessView "" @422
+			location   	(16, 976)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @423
+			    Parent_View 	@422
+			    location   	(1260, 933)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE2032001C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	221
+			    justify    	0
+			    label      	"setManager"
+			    pctDist    	0.833333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@392
+			origin     	(1136, 976)
+			terminus   	(1286, 976)
+			ordinal    	8)
+		    (object SelfMessView "" @424
+			location   	(16, 1072)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @425
+			    Parent_View 	@424
+			    location   	(1481, 1043)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE205B01A2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	658
+			    justify    	0
+			    label      	"fireLifecycleEvent(START_EVENT)"
+			    pctDist    	2.306667
+			    height     	30
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@389
+			Focus_Src  	@390
+			Focus_Entry 	@393
+			origin     	(1136, 1072)
+			terminus   	(1286, 1072)
+			ordinal    	9)
+		    (object InterMessView "" @426
+			location   	(16, 1136)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @427
+			    Parent_View 	@426
+			    location   	(1535, 1092)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20960003"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	745
+			    justify    	0
+			    label      	" // Notify interested LifecycleListeners"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@399
+			Focus_Src  	@390
+			Focus_Entry 	@401
+			origin     	(1135, 1136)
+			terminus   	(1936, 1136)
+			ordinal    	10)
+		    (object SelfMessView "" @428
+			location   	(16, 1264)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @429
+			    Parent_View 	@428
+			    location   	(2043, 1220)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20CF018C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@402
+			origin     	(1968, 1264)
+			terminus   	(2118, 1264)
+			ordinal    	11)
+		    (object SelfMessView "" @430
+			location   	(16, 1456)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @431
+			    Parent_View 	@430
+			    location   	(2027, 1413)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20E303E2"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	275
+			    justify    	0
+			    label      	"defaultConfig()"
+			    pctDist    	0.393333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@403
+			origin     	(1968, 1456)
+			terminus   	(2118, 1456)
+			ordinal    	13)
+		    (object SelfMessView "" @432
+			location   	(16, 1568)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @433
+			    Parent_View 	@432
+			    location   	(2043, 1524)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE211D01A1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	349
+			    justify    	0
+			    label      	"applicationConfig()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@399
+			Focus_Src  	@401
+			Focus_Entry 	@404
+			origin     	(1968, 1568)
+			terminus   	(2118, 1568)
+			ordinal    	14)
+		    (object InterMessView "" @434
+			location   	(1664, 1264)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @435
+			    Parent_View 	@434
+			    location   	(1439, 1220)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE20B600E5"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	110
+			    justify    	0
+			    label      	"start()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@389
+			supplier   	@396
+			Focus_Src  	@390
+			Focus_Entry 	@398
+			origin     	(1135, 1264)
+			terminus   	(1744, 1264)
+			ordinal    	12)
+		    (object InterMessView "" @436
+			location   	(16, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @437
+			    Parent_View 	@436
+			    location   	(1064, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE21B60288"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	145
+			    justify    	0
+			    label      	"create()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@399
+			supplier   	@379
+			Focus_Src  	@404
+			Focus_Entry 	@383
+			origin     	(1936, 1616)
+			terminus   	(192, 1616)
+			ordinal    	15)
+		    (object SelfMessView "" @438
+			location   	(16, 1728)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @439
+			    Parent_View 	@438
+			    location   	(457, 1701)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE21BE021B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	530
+			    justify    	0
+			    label      	"// Process web.xml * tld.xml"
+			    pctDist    	1.773333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@379
+			Focus_Src  	@383
+			Focus_Entry 	@384
+			origin     	(192, 1728)
+			terminus   	(342, 1728)
+			ordinal    	16)
+		    (object InterObjView "StandardWrapper" @440
+			location   	(2208, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@440
+			    location   	(2208, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardWrapper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE220C0122"
+			width      	300
+			height     	2446
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @441
+			    location   	(2208, 2016)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @442
+			    location   	(2208, 2176)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @443
+			    location   	(2208, 2288)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @444
+			    location   	(2208, 2400)
+			    line_color 	3342489
+			    InterObjView 	@440
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @445
+			location   	(16, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @446
+			    Parent_View 	@445
+			    location   	(1063, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE228B03BA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	1478
+			    justify    	0
+			    label      	"createWarpper() // Invoked by a WebWrapperRule (not Directly by the Digester)"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@379
+			supplier   	@399
+			Focus_Src  	@383
+			Focus_Entry 	@405
+			origin     	(191, 1984)
+			terminus   	(1936, 1984)
+			ordinal    	17)
+		    (object InterMessView "" @447
+			location   	(16, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @448
+			    Parent_View 	@447
+			    location   	(2079, 1972)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE229A0004"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	82
+			    justify    	0
+			    label      	"new"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@405
+			Focus_Entry 	@441
+			origin     	(1967, 2016)
+			terminus   	(2192, 2016)
+			ordinal    	18)
+		    (object InterMessView "" @449
+			location   	(16, 2176)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @450
+			    Parent_View 	@449
+			    location   	(2116, 2134)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22A700C1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	405
+			    justify    	0
+			    label      	"addInstanceListener()"
+			    pctDist    	0.662295
+			    height     	43
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@442
+			origin     	(1967, 2176)
+			terminus   	(2192, 2176)
+			ordinal    	19)
+		    (object InterMessView "" @451
+			location   	(2496, 2288)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @452
+			    Parent_View 	@451
+			    location   	(2116, 2245)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22C701CC"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	410
+			    justify    	0
+			    label      	"addLifecycleListener()"
+			    pctDist    	0.662295
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@443
+			origin     	(1967, 2288)
+			terminus   	(2192, 2288)
+			ordinal    	20)
+		    (object InterMessView "" @453
+			location   	(16, 2400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @454
+			    Parent_View 	@453
+			    location   	(2124, 2357)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE22E80364"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	428
+			    justify    	0
+			    label      	"addContainerListener()"
+			    pctDist    	0.701639
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@399
+			supplier   	@440
+			Focus_Src  	@404
+			Focus_Entry 	@444
+			origin     	(1967, 2400)
+			terminus   	(2192, 2400)
+			ordinal    	21)
+		    (object NoteView @455
+			location   	(1216, 80)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@455
+			    location   	(825, 14)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	746
+			    label      	"Deploy App.")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	806
+			height     	144)
+		    (object NoteView @456
+			location   	(2144, 2704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@456
+			    location   	(1953, 2641)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	347
+			    label      	"#4 Catalina.start()")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	407
+			height     	138)))
+	    (object InteractionDiagram "1. catalina_request"
+		mechanism_ref 	@88
+		quid       	"3DFE3B5001C3"
+		title      	"1. catalina_request"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "ThreadPool" @457
+			location   	(176, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@457
+			    location   	(176, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ThreadPool")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE402B02C5"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @458
+			    location   	(176, 384)
+			    line_color 	3342489
+			    InterObjView 	@457
+			    height     	304
+			    y_coord    	244
+			    Nested     	FALSE))
+		    (object InterObjView "TcpWorkerThread" @459
+			location   	(512, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@459
+			    location   	(512, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	332
+			    justify    	0
+			    label      	"TcpWorkerThread")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE403200F8"
+			width      	350
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @460
+			    location   	(512, 384)
+			    line_color 	3342489
+			    InterObjView 	@459
+			    height     	244
+			    y_coord    	184
+			    Nested     	FALSE))
+		    (object InterObjView "Http11Protocol" @461
+			location   	(848, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@461
+			    location   	(848, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"Http11Protocol")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE40750177"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @462
+			    location   	(848, 400)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	168
+			    y_coord    	108
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @463
+			    location   	(848, 448)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @464
+			    location   	(848, 592)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	120
+			    y_coord    	60
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @465
+			    location   	(848, 592)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @466
+			    location   	(848, 736)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	674
+			    y_coord    	614
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @467
+			    location   	(848, 736)
+			    line_color 	3342489
+			    InterObjView 	@461
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "CoyoteAdapter" @468
+			location   	(1168, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@468
+			    location   	(1168, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"CoyoteAdapter")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE410600DF"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @469
+			    location   	(1168, 848)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	502
+			    y_coord    	442
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @470
+			    location   	(1168, 944)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	352
+			    y_coord    	292
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @471
+			    location   	(1168, 944)
+			    line_color 	3342489
+			    InterObjView 	@468
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngine" @472
+			location   	(1520, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@472
+			    location   	(1520, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	363
+			    justify    	0
+			    label      	"StandardEngine")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE424B0349"
+			width      	381
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @473
+			    location   	(1520, 1008)
+			    line_color 	3342489
+			    InterObjView 	@472
+			    height     	228
+			    y_coord    	168
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @474
+			location   	(1872, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@474
+			    location   	(1872, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE42900045"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @475
+			    location   	(1872, 1040)
+			    line_color 	3342489
+			    InterObjView 	@474
+			    height     	136
+			    y_coord    	76
+			    Nested     	FALSE))
+		    (object InterObjView "StandardValveContext" @476
+			location   	(2192, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@476
+			    location   	(2192, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardValveContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE42C002B1"
+			width      	300
+			height     	1276
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @477
+			    location   	(2192, 1056)
+			    line_color 	3342489
+			    InterObjView 	@476
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @478
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @479
+			    Parent_View 	@478
+			    location   	(343, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE40E701AE"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	112
+			    justify    	0
+			    label      	"runIt()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@457
+			supplier   	@459
+			Focus_Src  	@458
+			Focus_Entry 	@460
+			origin     	(191, 384)
+			terminus   	(496, 384)
+			ordinal    	0)
+		    (object InterMessView "" @480
+			location   	(16, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @481
+			    Parent_View 	@480
+			    location   	(679, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE40FC010E"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	359
+			    justify    	0
+			    label      	"processConnection"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@459
+			supplier   	@461
+			Focus_Src  	@460
+			Focus_Entry 	@462
+			origin     	(527, 400)
+			terminus   	(832, 400)
+			ordinal    	1)
+		    (object SelfMessView "" @482
+			location   	(16, 448)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @483
+			    Parent_View 	@482
+			    location   	(969, 405)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4111029F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	175
+			    justify    	0
+			    label      	"process()"
+			    pctDist    	0.706667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@462
+			Focus_Entry 	@463
+			origin     	(864, 448)
+			terminus   	(1014, 448)
+			ordinal    	2)
+		    (object SelfMessView "" @484
+			location   	(16, 592)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @485
+			    Parent_View 	@484
+			    location   	(1048, 549)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE415C0151"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	291
+			    justify    	0
+			    label      	"parseHeaders()"
+			    pctDist    	1.226667
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@464
+			Focus_Entry 	@465
+			origin     	(864, 592)
+			terminus   	(1014, 592)
+			ordinal    	3)
+		    (object SelfMessView "" @486
+			location   	(16, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @487
+			    Parent_View 	@486
+			    location   	(1052, 692)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE41A60161"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	328
+			    justify    	0
+			    label      	"prepareRequest()"
+			    pctDist    	1.253333
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@461
+			Focus_Src  	@466
+			Focus_Entry 	@467
+			origin     	(864, 736)
+			terminus   	(1014, 736)
+			ordinal    	4)
+		    (object InterMessView "" @488
+			location   	(992, 848)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @489
+			    Parent_View 	@488
+			    location   	(1007, 804)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE41D60107"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	162
+			    justify    	0
+			    label      	"service()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@461
+			supplier   	@468
+			Focus_Src  	@466
+			Focus_Entry 	@469
+			origin     	(863, 848)
+			terminus   	(1152, 848)
+			ordinal    	5)
+		    (object SelfMessView "" @490
+			location   	(16, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @491
+			    Parent_View 	@490
+			    location   	(1372, 916)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE422C01F1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	373
+			    justify    	0
+			    label      	"postParseRequest()"
+			    pctDist    	1.253333
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@468
+			supplier   	@468
+			Focus_Src  	@470
+			Focus_Entry 	@471
+			origin     	(1184, 944)
+			terminus   	(1334, 944)
+			ordinal    	6)
+		    (object InterMessView "" @492
+			location   	(1344, 1008)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @493
+			    Parent_View 	@492
+			    location   	(1343, 964)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE42800238"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@468
+			supplier   	@472
+			Focus_Src  	@470
+			Focus_Entry 	@473
+			origin     	(1183, 1008)
+			terminus   	(1504, 1008)
+			ordinal    	7)
+		    (object InterMessView "" @494
+			location   	(16, 1040)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @495
+			    Parent_View 	@494
+			    location   	(1695, 996)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE429A002D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@472
+			supplier   	@474
+			Focus_Src  	@473
+			Focus_Entry 	@475
+			origin     	(1535, 1040)
+			terminus   	(1856, 1040)
+			ordinal    	8)
+		    (object InterMessView "" @496
+			location   	(16, 1056)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @497
+			    Parent_View 	@496
+			    location   	(2031, 1012)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE42CE0230"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	149
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@474
+			supplier   	@476
+			Focus_Src  	@475
+			Focus_Entry 	@477
+			origin     	(1887, 1056)
+			terminus   	(2176, 1056)
+			ordinal    	9)
+		    (object NoteView @498
+			location   	(2000, 2016)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@498
+			    location   	(1862, 1956)
+			    fill_color 	13434879
+			    nlines     	2
+			    max_width  	240
+			    label      	"See next diagram")
+			line_color 	3342489
+			fill_color 	13434879
+			width      	300
+			height     	132)
+		    (object AttachView "" @499
+			stereotype 	TRUE
+			line_color 	3342489
+			client     	@498
+			supplier   	@476
+			line_style 	0)))
+	    (object InteractionDiagram "2. catalina_request_2"
+		mechanism_ref 	@89
+		quid       	"3DFE42F7024C"
+		title      	"2. catalina_request_2"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardContextValve" @500
+			location   	(224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@500
+			    location   	(224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	401
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4307001E"
+			width      	419
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @501
+			    location   	(224, 384)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	386
+			    y_coord    	326
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @502
+			    location   	(224, 704)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @503
+			    location   	(224, 896)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	916
+			    y_coord    	856
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @504
+			    location   	(224, 1024)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @505
+			    location   	(224, 1280)
+			    line_color 	3342489
+			    InterObjView 	@500
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardEngineValve" @506
+			location   	(592, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@506
+			    location   	(592, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardEngineValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE432801F3"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @507
+			    location   	(592, 384)
+			    line_color 	3342489
+			    InterObjView 	@506
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHost" @508
+			location   	(912, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@508
+			    location   	(912, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardHost")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE436503BD"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @509
+			    location   	(912, 416)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	431
+			    y_coord    	371
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @510
+			    location   	(912, 528)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @511
+			    location   	(912, 704)
+			    line_color 	3342489
+			    InterObjView 	@508
+			    height     	120
+			    y_coord    	60
+			    Nested     	TRUE))
+		    (object InterObjView "ErrorReportValve" @512
+			location   	(1264, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@512
+			    location   	(1264, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	294
+			    justify    	0
+			    label      	"ErrorReportValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE438C028D"
+			width      	312
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @513
+			    location   	(1264, 896)
+			    line_color 	3342489
+			    InterObjView 	@512
+			    height     	248
+			    y_coord    	188
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @514
+			    location   	(1264, 944)
+			    line_color 	3342489
+			    InterObjView 	@512
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "ErrorDispatcherValve" @515
+			location   	(1584, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@515
+			    location   	(1584, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"ErrorDispatcherValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE451F01EC"
+			width      	313
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @516
+			    location   	(1584, 1168)
+			    line_color 	3342489
+			    InterObjView 	@515
+			    height     	232
+			    y_coord    	172
+			    Nested     	FALSE))
+		    (object InterObjView "StandardHostValve" @517
+			location   	(1904, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@517
+			    location   	(1904, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	295
+			    justify    	0
+			    label      	"StandardHostValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE47310130"
+			width      	313
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @518
+			    location   	(1904, 1472)
+			    line_color 	3342489
+			    InterObjView 	@517
+			    height     	280
+			    y_coord    	220
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @519
+			    location   	(1904, 1536)
+			    line_color 	3342489
+			    InterObjView 	@517
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardContext" @520
+			location   	(2224, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@520
+			    location   	(2224, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE47C100F1"
+			width      	300
+			height     	1678
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @521
+			    location   	(2224, 1632)
+			    line_color 	3342489
+			    InterObjView 	@520
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object InterMessView "" @522
+			location   	(16, 384)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @523
+			    Parent_View 	@522
+			    location   	(407, 340)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE434C019B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@506
+			Focus_Src  	@501
+			Focus_Entry 	@507
+			origin     	(239, 384)
+			terminus   	(576, 384)
+			ordinal    	0)
+		    (object InterMessView "" @524
+			location   	(16, 416)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @525
+			    Parent_View 	@524
+			    location   	(751, 372)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE436C009D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	107
+			    justify    	0
+			    label      	"map()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@506
+			supplier   	@508
+			Focus_Src  	@507
+			Focus_Entry 	@509
+			origin     	(607, 416)
+			terminus   	(896, 416)
+			ordinal    	1)
+		    (object InterMessView "" @526
+			location   	(800, 528)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @527
+			    Parent_View 	@526
+			    location   	(751, 484)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43830063"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@506
+			supplier   	@508
+			Focus_Src  	@507
+			Focus_Entry 	@510
+			origin     	(607, 528)
+			terminus   	(896, 528)
+			ordinal    	2)
+		    (object InterMessView "" @528
+			location   	(608, 704)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @529
+			    Parent_View 	@528
+			    location   	(568, 660)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43B903BF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@508
+			supplier   	@500
+			Focus_Src  	@511
+			Focus_Entry 	@502
+			origin     	(896, 704)
+			terminus   	(240, 704)
+			ordinal    	3)
+		    (object InterMessView "" @530
+			location   	(752, 896)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @531
+			    Parent_View 	@530
+			    location   	(743, 852)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE43C203A4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@512
+			Focus_Src  	@503
+			Focus_Entry 	@513
+			origin     	(239, 896)
+			terminus   	(1248, 896)
+			ordinal    	4)
+		    (object SelfMessView "" @532
+			location   	(16, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @533
+			    Parent_View 	@532
+			    location   	(1355, 900)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE442501B1"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	135
+			    justify    	0
+			    label      	"report()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@512
+			supplier   	@512
+			Focus_Src  	@513
+			Focus_Entry 	@514
+			origin     	(1280, 944)
+			terminus   	(1430, 944)
+			ordinal    	5)
+		    (object InterMessView "" @534
+			location   	(16, 1024)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @535
+			    Parent_View 	@534
+			    location   	(744, 980)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE46330293"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	230
+			    justify    	0
+			    label      	"invokeNext()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@512
+			supplier   	@500
+			Focus_Src  	@513
+			Focus_Entry 	@504
+			origin     	(1248, 1024)
+			terminus   	(240, 1024)
+			ordinal    	6)
+		    (object InterMessView "" @536
+			location   	(944, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @537
+			    Parent_View 	@536
+			    location   	(903, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE46E70026"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@515
+			Focus_Src  	@503
+			Focus_Entry 	@516
+			origin     	(239, 1168)
+			terminus   	(1568, 1168)
+			ordinal    	7)
+		    (object InterMessView "" @538
+			location   	(16, 1280)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @539
+			    Parent_View 	@538
+			    location   	(904, 1236)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE475D03A0"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	206
+			    justify    	0
+			    label      	"invokeNext"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@515
+			supplier   	@500
+			Focus_Src  	@516
+			Focus_Entry 	@505
+			origin     	(1568, 1280)
+			terminus   	(240, 1280)
+			ordinal    	8)
+		    (object InterMessView "" @540
+			location   	(1184, 1472)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @541
+			    Parent_View 	@540
+			    location   	(1063, 1428)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE476503CA"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@500
+			supplier   	@517
+			Focus_Src  	@503
+			Focus_Entry 	@518
+			origin     	(239, 1472)
+			terminus   	(1888, 1472)
+			ordinal    	9)
+		    (object SelfMessView "" @542
+			location   	(16, 1536)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @543
+			    Parent_View 	@542
+			    location   	(1995, 1492)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE47CD0167"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	295
+			    justify    	0
+			    label      	"map() //Context"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@517
+			supplier   	@517
+			Focus_Src  	@518
+			Focus_Entry 	@519
+			origin     	(1920, 1536)
+			terminus   	(2070, 1536)
+			ordinal    	10)
+		    (object InterMessView "" @544
+			location   	(16, 1632)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @545
+			    Parent_View 	@544
+			    location   	(2063, 1588)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE47D500B4"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	146
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@517
+			supplier   	@520
+			Focus_Src  	@518
+			Focus_Entry 	@521
+			origin     	(1919, 1632)
+			terminus   	(2208, 1632)
+			ordinal    	11)))
+	    (object InteractionDiagram "3. catalina_request_3"
+		mechanism_ref 	@90
+		quid       	"3DFE48A202AD"
+		title      	"3. catalina_request_3"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	612
+		origin_y   	938
+		items      	(list diagram_item_list
+		    (object InterObjView "StandardContext" @546
+			location   	(160, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@546
+			    location   	(160, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48B001D1"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @547
+			    location   	(160, 400)
+			    line_color 	3342489
+			    InterObjView 	@546
+			    height     	1960
+			    y_coord    	1900
+			    Nested     	FALSE))
+		    (object InterObjView "StandardPipeline" @548
+			location   	(480, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@548
+			    location   	(480, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardPipeline")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48B80088"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @549
+			    location   	(480, 400)
+			    line_color 	3342489
+			    InterObjView 	@548
+			    height     	1900
+			    y_coord    	1840
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @550
+			    location   	(480, 1088)
+			    line_color 	3342489
+			    InterObjView 	@548
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardValveContext" @551
+			location   	(800, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@551
+			    location   	(800, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardValveContext")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE48D000DC"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @552
+			    location   	(800, 736)
+			    line_color 	3342489
+			    InterObjView 	@551
+			    height     	1510
+			    y_coord    	1450
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @553
+			    location   	(800, 1168)
+			    line_color 	3342489
+			    InterObjView 	@551
+			    height     	1072
+			    y_coord    	1012
+			    Nested     	TRUE))
+		    (object InterObjView "StandardContextValve" @554
+			location   	(1104, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@554
+			    location   	(1104, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardContextValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE490303A7"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @555
+			    location   	(1104, 800)
+			    line_color 	3342489
+			    InterObjView 	@554
+			    height     	468
+			    y_coord    	408
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @556
+			    location   	(1104, 848)
+			    line_color 	3342489
+			    InterObjView 	@554
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "StandardWrapper" @557
+			location   	(1424, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@557
+			    location   	(1424, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	288
+			    justify    	0
+			    label      	"StandardWrapper")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE49370351"
+			width      	306
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @558
+			    location   	(1424, 944)
+			    line_color 	3342489
+			    InterObjView 	@557
+			    height     	264
+			    y_coord    	204
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @559
+			    location   	(1424, 1520)
+			    line_color 	3342489
+			    InterObjView 	@557
+			    height     	340
+			    y_coord    	280
+			    Nested     	FALSE))
+		    (object InterObjView "StandardWrapperValve" @560
+			location   	(1744, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@560
+			    location   	(1744, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"StandardWrapperValve")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE49890056"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @561
+			    location   	(1744, 1440)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	740
+			    y_coord    	680
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @562
+			    location   	(1744, 1616)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	184
+			    y_coord    	124
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @563
+			    location   	(1744, 2000)
+			    line_color 	3342489
+			    InterObjView 	@560
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterObjView "ApplicationFilterChain" @564
+			location   	(2064, 224)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@564
+			    location   	(2064, 224)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"ApplicationFilterChain")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4A1500B2"
+			width      	300
+			height     	2226
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @565
+			    location   	(2064, 1680)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @566
+			    location   	(2064, 1808)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	312
+			    y_coord    	252
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @567
+			    location   	(2064, 1872)
+			    line_color 	3342489
+			    InterObjView 	@564
+			    height     	60
+			    y_coord    	0
+			    Nested     	TRUE))
+		    (object InterMessView "" @568
+			location   	(336, 400)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @569
+			    Parent_View 	@568
+			    location   	(319, 356)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE48BE0268"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@546
+			supplier   	@548
+			Focus_Src  	@547
+			Focus_Entry 	@549
+			origin     	(175, 400)
+			terminus   	(464, 400)
+			ordinal    	0)
+		    (object InterMessView "" @570
+			location   	(16, 736)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @571
+			    Parent_View 	@570
+			    location   	(639, 692)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE48EA003A"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@548
+			supplier   	@551
+			Focus_Src  	@549
+			Focus_Entry 	@552
+			origin     	(495, 736)
+			terminus   	(784, 736)
+			ordinal    	1)
+		    (object InterMessView "" @572
+			location   	(16, 800)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @573
+			    Parent_View 	@572
+			    location   	(951, 756)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE491102D6"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@551
+			supplier   	@554
+			Focus_Src  	@552
+			Focus_Entry 	@555
+			origin     	(815, 800)
+			terminus   	(1088, 800)
+			ordinal    	2)
+		    (object SelfMessView "" @574
+			location   	(16, 848)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @575
+			    Parent_View 	@574
+			    location   	(1322, 821)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE492F033D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	437
+			    justify    	0
+			    label      	"map //return Wrapper"
+			    pctDist    	1.346667
+			    height     	28
+			    orientation 	0)
+			line_color 	3342489
+			client     	@554
+			supplier   	@554
+			Focus_Src  	@555
+			Focus_Entry 	@556
+			origin     	(1120, 848)
+			terminus   	(1270, 848)
+			ordinal    	3)
+		    (object InterMessView "" @576
+			location   	(1264, 944)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @577
+			    Parent_View 	@576
+			    location   	(1262, 901)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE494A0151"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.498270
+			    height     	44
+			    orientation 	0)
+			line_color 	3342489
+			client     	@554
+			supplier   	@557
+			Focus_Src  	@555
+			Focus_Entry 	@558
+			origin     	(1119, 944)
+			terminus   	(1408, 944)
+			ordinal    	4)
+		    (object InterMessView "" @578
+			location   	(960, 1088)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @579
+			    Parent_View 	@578
+			    location   	(952, 1044)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE495F0288"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@557
+			supplier   	@548
+			Focus_Src  	@558
+			Focus_Entry 	@550
+			origin     	(1408, 1088)
+			terminus   	(496, 1088)
+			ordinal    	5)
+		    (object InterMessView "" @580
+			location   	(16, 1168)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @581
+			    Parent_View 	@580
+			    location   	(639, 1124)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4976015D"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@548
+			supplier   	@551
+			Focus_Src  	@549
+			Focus_Entry 	@553
+			origin     	(495, 1168)
+			terminus   	(784, 1168)
+			ordinal    	6)
+		    (object InterMessView "" @582
+			location   	(1296, 1440)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @583
+			    Parent_View 	@582
+			    location   	(1271, 1396)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4993023C"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	147
+			    justify    	0
+			    label      	"invoke()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@551
+			supplier   	@560
+			Focus_Src  	@553
+			Focus_Entry 	@561
+			origin     	(815, 1440)
+			terminus   	(1728, 1440)
+			ordinal    	7)
+		    (object InterMessView "" @584
+			location   	(1616, 1520)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @585
+			    Parent_View 	@584
+			    location   	(1584, 1476)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE49EC004F"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	175
+			    justify    	0
+			    label      	"allocate()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@560
+			supplier   	@557
+			Focus_Src  	@561
+			Focus_Entry 	@559
+			origin     	(1728, 1520)
+			terminus   	(1440, 1520)
+			ordinal    	8)
+		    (object InterMessView "" @586
+			location   	(1616, 1616)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @587
+			    Parent_View 	@586
+			    location   	(1583, 1572)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A200067"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	242
+			    justify    	0
+			    label      	"return servlet"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@557
+			supplier   	@560
+			Focus_Src  	@559
+			Focus_Entry 	@562
+			origin     	(1439, 1616)
+			terminus   	(1728, 1616)
+			ordinal    	9)
+		    (object InterMessView "" @588
+			location   	(1936, 1680)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @589
+			    Parent_View 	@588
+			    location   	(1937, 1636)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A29027E"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	343
+			    justify    	0
+			    label      	"createFilterChain()"
+			    pctDist    	0.619377
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@560
+			supplier   	@564
+			Focus_Src  	@562
+			Focus_Entry 	@565
+			origin     	(1759, 1680)
+			terminus   	(2048, 1680)
+			ordinal    	10)
+		    (object InterMessView "" @590
+			location   	(16, 1808)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @591
+			    Parent_View 	@590
+			    location   	(1902, 1764)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4A490283"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	170
+			    justify    	0
+			    label      	"doFilter()"
+			    pctDist    	0.498270
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@560
+			supplier   	@564
+			Focus_Src  	@561
+			Focus_Entry 	@566
+			origin     	(1759, 1808)
+			terminus   	(2048, 1808)
+			ordinal    	11)
+		    (object InterObjView "$UNNAMED$0" @592
+			location   	(2240, 368)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	TRUE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object ItemLabel
+			    Parent_View 	@592
+			    location   	(2240, 368)
+			    fill_color 	13434879
+			    anchor_loc 	1
+			    nlines     	2
+			    max_width  	282
+			    justify    	0
+			    label      	"")
+			stereotype 	(object ItemLabel
+			    Parent_View 	@592
+			    location   	(2240, 368)
+			    fill_color 	13434879
+			    anchor     	10
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	222
+			    justify    	0
+			    label      	"<<Servlet>>")
+			icon_style 	"Icon"
+			line_color 	3342489
+			fill_color 	13434879
+			quidu      	"3DFE4BAE0056"
+			width      	300
+			height     	2082
+			icon_height 	0
+			icon_width 	0
+			icon_y_offset 	0
+			annotation 	1
+			Focus_Of_Control 	(object Focus_Of_Control "" @593
+			    location   	(2240, 428)
+			    InterObjView 	@592
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE)
+			Focus_Of_Control 	(object Focus_Of_Control "" @594
+			    location   	(2240, 1984)
+			    line_color 	3342489
+			    InterObjView 	@592
+			    height     	60
+			    y_coord    	0
+			    Nested     	FALSE))
+		    (object SelfMessView "" @595
+			location   	(16, 1872)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @596
+			    Parent_View 	@595
+			    location   	(2155, 1828)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4C2701C3"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	308
+			    justify    	0
+			    label      	"internalDoFilter()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@564
+			supplier   	@564
+			Focus_Src  	@566
+			Focus_Entry 	@567
+			origin     	(2080, 1872)
+			terminus   	(2230, 1872)
+			ordinal    	12)
+		    (object InterMessView "" @597
+			location   	(2144, 1984)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @598
+			    Parent_View 	@597
+			    location   	(2151, 1940)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4CA502BF"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	162
+			    justify    	0
+			    label      	"service()"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	0)
+			line_color 	3342489
+			client     	@564
+			supplier   	@592
+			Focus_Src  	@566
+			Focus_Entry 	@594
+			origin     	(2079, 1984)
+			terminus   	(2224, 1984)
+			ordinal    	13)
+		    (object InterMessView "" @599
+			location   	(16, 2000)
+			font       	(object Font
+			    size       	10
+			    face       	"Arial"
+			    bold       	FALSE
+			    italics    	FALSE
+			    underline  	FALSE
+			    strike     	FALSE
+			    color      	0
+			    default_color 	TRUE)
+			label      	(object SegLabel @600
+			    Parent_View 	@599
+			    location   	(1904, 1956)
+			    font       	(object Font
+				size       	10
+				face       	"Arial"
+				bold       	FALSE
+				italics    	FALSE
+				underline  	FALSE
+				strike     	FALSE
+				color      	0
+				default_color 	TRUE)
+			    quidu      	"3DFE4CB4025B"
+			    anchor_loc 	1
+			    nlines     	1
+			    max_width  	113
+			    justify    	0
+			    label      	"return"
+			    pctDist    	0.500000
+			    height     	45
+			    orientation 	1)
+			line_color 	3342489
+			client     	@564
+			supplier   	@560
+			Focus_Src  	@566
+			Focus_Entry 	@563
+			origin     	(2048, 2000)
+			terminus   	(1760, 2000)
+			ordinal    	14)))))
+    root_subsystem 	(object SubSystem "Component View"
+	quid       	"3DFDF6CE036A"
+	physical_models 	(list unit_reference_list)
+	physical_presentations 	(list unit_reference_list
+	    (object Module_Diagram "Main"
+		quid       	"3DFDF6D201FD"
+		title      	"Main"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    process_structure 	(object Processes
+	quid       	"3DFDF6CE0373"
+	ProcsNDevs 	(list
+	    (object Process_Diagram "Deployment View"
+		quid       	"3DFDF6CE0387"
+		title      	"Deployment View"
+		zoom       	100
+		max_height 	28350
+		max_width  	21600
+		origin_x   	0
+		origin_y   	0
+		items      	(list diagram_item_list))))
+    properties 	(object Properties
+	attributes 	(list Attribute_Set
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"propertyId"
+		value      	"809135966")
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Project"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"project"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ViewCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DomainCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SPPackageCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IndexCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"StoreProcedureCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrimaryKeyCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForeignKeyCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"JoinCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"cONTAINERCounter"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TablePrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ViewPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DomainPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IndexPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"StoreProcedurePrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrimaryKeyPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForeignKeyPrefix"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpacePrefix"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Module-Spec"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDatabase"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TargetDatabase"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Location"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTableSpace"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeault"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"BufferPool"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ExtentSize"
+			value      	1)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PrefetchSize"
+			value      	1)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PageSize"
+			value      	4)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ManagedBy"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ContainerList"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Category"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmSchema"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmDomainPackage"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSchema"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDomainPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRootSchema"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRootDomainPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSchemaPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DatabaseID"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DBMS"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Class"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTable"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsView"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDomain"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSPPackage"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Synonymns"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpaceID"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CorrelationName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SelectClause"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUpdateable"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CheckOption"
+			value      	"None")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsSnapShot"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDistinct"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"PersistToServer"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsPackage"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Attribute"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Ordinal"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsIdentity"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"NullsAllowed"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ColumnType"
+			value      	"Native")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"OID"
+			value      	FALSE)))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Association"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRelationship"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceId"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"SourceType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RIMethod"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentUpdateRule"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentUpdateRuleName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentDeleteRule"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParentDeleteRuleName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildInsertRestrict"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildInsertRestrictName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildMultiplicity"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ChildMultiplicityName"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Role"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintName"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Operation"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsConstraint"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ConstraintType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsIndex"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsTrigger"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsStoredProcedure"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsCluster"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TableSpace"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"FillFactor"
+			value      	0)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"KeyList"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"CheckPredicate"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUnique"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DeferalMode"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"InitialCheckTime"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"TriggerType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsInsertEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsUpdateEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeleteEvent"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefOldTable"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefNewTable"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefOldRow"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"RefNewRow"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsRow"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"WhenClause"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Language"
+			value      	"SQL")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ProcType"
+			value      	"Procedure")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsDeterministic"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ParameterStyle"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ReturnedNull"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ExternalName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"default__Parameter"
+		value      	(list Attribute_Set
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"dmItem"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DMName"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsInParameter"
+			value      	TRUE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"IsOutParameter"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Ordinal"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Length"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"Scale"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"ForBitData"
+			value      	FALSE)
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValueType"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"DefaultValue"
+			value      	"")
+		    (object Attribute
+			tool       	"Data Modeler"
+			name       	"OperationID"
+			value      	"")))
+	    (object Attribute
+		tool       	"Data Modeler"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Data Modeler Communicator"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Deploy"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Rose Model Integrator"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Rose Web Publisher"
+		name       	"HiddenTool"
+		value      	FALSE)
+	    (object Attribute
+		tool       	"Web Modeler"
+		name       	"HiddenTool"
+		value      	FALSE))
+	quid       	"3DFDF6CE0374"))

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/requestProcess.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Request Process Flow</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Request Process Flow</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/requestProcess.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Process Flow"><strong>Request Process Flow</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes the process used by Tomcat to handle
+an incoming request.  This process is largely defined by
+the Servlet Specification, which outlines the order
+of events that must take place.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+TODO
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the request process is available
+<a href="requestProcess/requestProcess.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The Servlet Specification provides many opportunities for
+listening in (using Listeners) or modiying (using Filters)
+the request handling process even before the request arrives
+at the servlet that will handle it.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.pdf
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.txt
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup/serverStartup.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+Tomcat 5 Startup Sequence
+
+Sequence 1. Start from Command Line
+Class: org.apache.catalina.startup.Bootstrap
+What it does:
+	a) Set up classloaders 
+		commonLoader (common)-> System Loader
+		sharedLoader (shared)-> commonLoader -> System Loader
+		catalinaLoader(server) -> commonLoader -> System Loader
+	b) Load startup class (reflection)
+		org.apache.catalina.startup.Catalina
+		setParentClassloader -> sharedLoader
+		Thread.contextClassloader -> catalinaLoader
+	c) Bootstrap.daemon.init() complete
+	
+Sequence 2. Process command line argument (start, startd, stop, stopd)
+Class: org.apache.catalina.startup.Bootstrap (assume command->start)
+What it does: 
+	a) Catalina.setAwait(true);
+	b) Catalina.load()
+		b1) initDirs() -> set properties like 
+		                  catalina.home
+		                  catalina.base == catalina.home (most cases)
+		b2) initNaming
+			setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY,
+				    org.apache.naming.java.javaURLContextFactory ->default)
+		b3) createStartDigester() 
+			Configures a digester for the main server.xml elements like
+			org.apache.catalina.core.StandardServer (can change of course :)
+			org.apache.catalina.deploy.NamingResources
+				Stores naming resources in the J2EE JNDI tree
+			org.apache.catalina.LifecycleListener
+				implements events for start/stop of major components
+			org.apache.catalina.core.StandardService
+				The single entry for a set of connectors,
+				so that a container can listen to multiple connectors
+				ie, single entry
+			org.apache.coyote.tomcat5.CoyoteConnector
+				Connectors to listen for incoming requests only
+			It also adds the following rulesets to the digester
+				NamingRuleSet
+				EngineRuleSet
+				HostRuleSet
+				ContextRuleSet
+		b4) Load the server.xml and parse it using the digester
+		    Parsing the server.xml using the digester is an automatic
+		    XML-object mapping tool, that will create the objects defined in server.xml
+		    Startup of the actual container has not started yet.
+		b5) Assigns System.out and System.err to the SystemLogHandler class
+		b6) Calls intialize on all components, this makes each object register itself with the 
+		    JMX agent.
+		    During the process call the Connectors also initialize the adapters.
+		    The adapters are the components that do the request pre-processing.
+		    Typical adapters are HTTP1.1 (default if no protocol is specified,
+		    org.apache.coyote.http11.Http11Protocol)
+		    AJP1.3 for mod_jk etc.
+
+	c) Catalina.start()
+		c1) Starts the NamingContext and binds all JNDI references into it
+		c2) Starts the services under <Server> which are:
+			StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc)
+		c3) StandardHost (started by the service)
+				Configures a ErrorReportValvem to do proper HTML output for different HTTP 
+				errors codes
+				Starts the Valves in the pipeline (at least the ErrorReportValve)
+				Configures the StandardHostValve, 
+					this valves ties the Webapp Class loader to the thread context
+					it also finds the session for the request
+					and invokes the context pipeline
+				Starts the HostConfig component
+					This component deploys all the webapps
+						(webapps & conf/Catalina/localhost/*.xml)
+					Webapps are installed using the deployer (StandardHostDeployer)
+					The deployer will create a Digester for your context, this digester
+					will then invoke ContextConfig.start()
+						The ContextConfig.start() will process the default web.xml (conf/web.xml)
+						and then process the applications web.xml (WEB-INF/web.xml)
+						
+		c4) During the lifetime of the container (StandardEngine) there is a background thread that 
+		    keeps checking if the context has changed. If a context changes (timestamp of war file, 
+		    context xml file, web.xml) then a reload is issued (stop/remove/deploy/start)
+		    
+	d) Tomcat receives a request on an HTTP port
+	    d1) The request is received by a separate thread which is waiting in the PoolTcpEndPoint 
+	         class. It is waiting for a request in a regular ServerSocket.accept() method.
+	         When a request is received, this thread wakes up.
+	    d2) The PoolTcpEndPoint assigns the a TcpConnection to handle the request. 
+	        It also supplies a JMX object name to the catalina container (not used I believe)
+	    d3) The processor to handle the request in this case is Coyote Http11Processor, 
+	        and the process method is invoked.
+	        This same processor is also continuing to check the input stream of the socket
+	        until the keep alive point is reached or the connection is disconnected.
+	    d4) The HTTP request is parsed using an internal buffer class (Coyote Http11 Internal Buffer)
+	        The buffer class parses the request line, the headers, etc and store the result in a 
+	        Coyote request (not an HTTP request) This request contains all the HTTP info, such
+	        as servername, port, scheme, etc.
+	    d5) The processor contains a reference to an Adapter, in this case it is the 
+	        Coyote Tomcat 5 Adapter. Once the request has been parsed, the Http11 processor
+	        invokes service() on the adapter. In the service method, the Request contains a 
+	        CoyoteRequest and CoyoteRespons (null for the first time)
+	        The CoyoteRequest(Response) implements HttpRequest(Response) and HttpServletRequest(Response)
+	        The adapter parses and associates everything with the request, cookies, the context through a 
+	        Mapper, etc
+	    d6) When the parsing is finished, the CoyoteAdapter invokes its container (StandardEngine)
+	        and invokes the invoke(request,response) method.
+	        This initiates the HTTP request into the Catalina container starting at the engine level
+	    d7) The StandardEngine.invoke() simply invokes the container pipeline.invoke()
+	    d8) By default the engine only has one valve the StandardEngineValve, this valve simply
+	        invokes the invoke() method on the Host pipeline (StandardHost.getPipeLine())
+	    d9) the StandardHost has two valves by default, the StandardHostValve and the ErrorReportValve
+	    d10) The standard host valve associates the correct class loader with the current thread
+	         It also retrives the Manager and the session associated with the request (if there is one)
+	         If there is a session access() is called to keep the session alive
+	    d11) After that the StandardHostValve invokes the pipeline on the context associated
+	         with the request.
+	    d12) The first valve that gets invoked by the Context pipeline is the FormAuthenticator
+	         valve. Then the StandardContextValve gets invoke.
+	         The StandardContextValve invokes any context listeners associated with the context.
+	         Next it invokes the pipeline on the Wrapper component (StandardWrapperValve)
+	    d13) During the invokation of the StandardWrapperValve, the JSP wrapper (Jasper) gets invoked
+	         This results in the actual compilation of the JSP.
+	         And then invokes the actual servlet.
+	e) Invokation of the servlet class
+	         
+	         
+	         
+	    
+	        
+	        
+	        
+	    
+			
+			
+		
+		
+			
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/architecture/startup.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Tomcat Architecture - Startup</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://jakarta.apache.org/tomcat/"><img border="0" alt="
+      The Tomcat Servlet/JSP Container
+    " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li></ul><p><strong>Contents</strong></p><ul><li><a href="index.html">Contents</a></li><li><a href="overview.html">Overview</a></li><li><a href="startup.html">Server Startup</a></li><li><a href="requestProcess.html">Request Process</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Tomcat Architecture</h1><h2>Startup</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/startup.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Startup"><strong>Server Startup</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+This page describes how the Tomcat server starts up.  There are several
+different ways to start tomcat, including:
+<ul>
+  <li>From the command line.</li>
+  <li>From a Java program as an embedded server.</li>
+  <li>Automatically as a Windows service.</li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="description"><strong>description</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A text description of the startup procedure is available
+<a href="startup/serverStartup.txt">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="diagram"><strong>diagram</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A UML sequence diagram of the startup procedure is available
+<a href="startup/serverStartup.pdf">here.</a>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="comments"><strong>comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The startup process can be customized in many ways, both
+by modifying Tomcat code and by implementing your own
+LifecycleListeners which are then registered in the server.xml
+configuration file.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/balancer-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/balancer-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/balancer-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,126 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Load Balancer HOW-TO</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="" name="email"><meta value="Andy Oliver" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Load Balancer HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/balancer-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Using the JK 1.2.x native connector">
+Using the JK native connector</a><br>
+<a href="#Using Apache HTTP Server 2.x with mod_proxy">
+Using Apache HTTP Server 2.x and mod_proxy</a><br>
+<a href="#Using the balancer webapp">Using the balancer webapp</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JK 1.2.x native connector"><strong>Using the JK 1.2.x native connector</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the JK 1.2.x documentation.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Apache HTTP Server 2.x with mod_proxy"><strong>Using Apache HTTP Server 2.x with mod_proxy</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either
+HTTP or AJP load balancing. This new version of mod_proxy is also useable with
+Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code
+from Apache HTTP Server 2.2.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the balancer webapp"><strong>Using the balancer webapp</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Tomcat 5.0.15 and later ships with a webapp named balancer.  This is
+a simple implemention of a rules-based load balancer.  It was not designed
+as a replacement for other load-balancing mechanisms used for high traffic
+environments.  Rather, it is a simple, pure Java, easily extensible, and fast
+way to direct traffic among multiple servers.
+</p>
+<p>
+Although balancer ships with Tomcat, it is not Tomcat-specific and runs
+on other containers without any modification.  The balancer webapp 
+requires a Servlet Specification 2.3 or later container if you wish 
+to use a filter to redirect traffic.  If you wish to redirect traffic
+using a servlet, you may use any servlet container.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Sample Configuration"><strong>Sample Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The default balancer installation uses a single filter, BalancerFilter,
+mapped to all requests (url-pattern /*).  The filter reads its rules
+from the location specified in the balancer deployment descriptor
+(web.xml file).  The default rules are:
+<ul>
+  <li>Redirect requests with News in the URL to www.cnn.com</li>
+  <li>Redirect requests with a parameter named paramName whose
+value is paramValue to www.yahoo.com.</li>
+  <li>Redirect all other requests to jakarta.apache.org.</li>
+</ul>
+
+Therefore, when you install tomcat, start it, and point your
+browser to http://localhost:8080/balancer, you will be redirected
+to http://jakarta.apache.org.  If you point your browser to
+http://localhost:8080/balancer/News you will be redirected to
+http://www.cnn.com.  The request for 
+http://localhost:8080/balancer/BlahBlah?paramName=paramValue will
+be redirected to http://www.yahoo.com.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Balancer Rules"><strong>Balancer Rules</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <i>Rule</i> in the balancer system is a combination of
+a request matching criterion and a redirection URL for
+matching requests.  Rules implement the
+org.apache.webapp.balancer.Rule interface.
+</p>
+
+<p>
+The balancer distribution contains a number of useful
+rules.  The framework is also designed for easy extensibility
+so that you can write your own rules quickly.  Rules
+should be JavaBeans (public no-args constructor, public
+setter method setXXX for property xxx), as they are
+instantiated by Jakarta Commons Digester.  Feel free
+to inquire on the tomcat-user mailing list regarding
+the availability of rules or the inclusion of your rules
+in the distribution.
+</p>
+
+<p>
+Rules are assembled into RuleChains.  Each BalancerFilter
+(or Servlet/JSP) refers to one RuleChain when making its
+redirection decisions.  Note that you are not restricted
+to having one filter mapped to /* as done in the sample
+configuration.  You can configure as many filters as
+desired, using the full filter mapping possibilities defined
+in the Servlet Specification.  Each filter will have
+its own RuleChain.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<ol>
+  <li>You write a rules configuration file containing various
+rules and redirection locations.</li>
+  <li>You define the balancer filter in your web.xml, mapping
+it as desired (/* is a common use-case) and configuring it
+with your rules configuration file.</li>
+  <li>The server is started, initializing the filter.</li>
+  <li>A request comes into the server.  The filter consults
+its rule chain to determine where to redirect the request.  Rules
+are consulted in the order in which they are defined in the rules
+configuration file.  The first matching rule will stop the
+evaluation and cause the request to be redirected.</li>
+</ol>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Please direct questions, comments, suggestions, etc. to the
+tomcat-user mailing list.  Thank you.
+</p>
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/build.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/build.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/build.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<!-- This file is the Tomcat 5.x net build file.  It's what users run to build Tomcat -->
+<!-- from scratch.  See BUILDING.txt for the full instructions.                       -->
+<project name="Tomcat 5 Netbuild" default="build" basedir=".">
+
+  <!-- ===================== Initialize Property Values =================== -->
+
+  <!-- See "build.properties.sample" in the top level directory for all     -->
+  <!-- property values you must customize for successful building!!!        -->
+  <property file="${user.home}/build.properties"/>
+  <property file="build.properties"/>
+  <property file="build.properties.default"/>
+
+  <!-- Project Properties -->
+  <property name="name"                  value="Apache Tomcat" />
+  <property name="year"                  value="2006" />
+  <property name="version"               value="5.5" />
+  <property name="project"               value="apache-tomcat" />
+  <property name="final.name"            value="${project}-${version}" />
+  <property name="final-src.name"        value="${project}-${version}-src" />
+
+  <!-- SVNROOT -->
+  <property name="svnroot" 
+           value="http://svn.apache.org/repos/asf/" />
+
+  <!-- Subprojects -->
+  <property name="api.project"           value="servletapi" />
+  <property name="tomcat.project"        value="build" />
+  <property name="catalina.project"      value="container" />
+  <property name="jtc.project"           value="connectors" />
+  <property name="jasper.project"        value="jasper" />
+
+  <property name="current.loc"           value="tomcat/current/tc5.5.x" />
+
+  <!-- Source dependencies -->
+  <property name="api.home"
+           value="${basedir}/${api.project}"/>
+  <property name="catalina.home" 
+           value="${basedir}/${catalina.project}"/>
+  <property name="jasper.home"
+           value="${basedir}/${jasper.project}"/>
+  <property name="jtc.home"
+           value="${basedir}/${jtc.project}"/>
+  <property name="tomcat.home"
+           value="${basedir}/${tomcat.project}"/>
+
+  <target name="build" depends="check.source,get.source"
+   description="Builds all components">
+
+    <ant dir="${tomcat.home}" target="download" />
+    <ant dir="${tomcat.home}" target="deploy" />
+
+  </target>
+
+  <!-- Top-level clean target added per Bugzilla 33325 -->
+  <target name="clean"
+          description="Clean (delete) all project files">
+    <echo message="Deleting all project files" />
+    <delete dir="${api.home}" />
+    <delete dir="${catalina.home}" />
+    <delete dir="${jasper.home}" />
+    <delete dir="${jtc.home}" />
+    <delete dir="${tomcat.home}" />
+  </target>
+
+  <target name="checkout"
+          description="Update or checkout required sources from SVN">
+
+    <echo level="info"
+          message="If the checkout fails, see http://tomcat.apache.org/svn.html and http://subversion.tigris.org/faq.html#proxy" />
+
+    <!-- Bugzilla 37977: http://issues.apache.org/bugzilla/show_bug.cgi?id=37977 -->
+    <!--  hackish: inputstring="t${line.separator}" is t+<enter> for svn         -->
+    <!--  to temporarily accept the certificate of svn.apache.org.               -->
+    <exec dir="${basedir}"
+          executable="svn"
+          inputstring="t${line.separator}"
+          failonerror="true">
+      <arg value="checkout" />
+      <arg value="${svnroot}/${current.loc}" />
+      <arg value="${basedir}" />
+    </exec>
+
+  </target>
+
+  <!-- *************** UTILITY TARGETS *************** -->
+
+  <target name="check.source">
+
+    <available property="source.exists"
+                   file="${basedir}/${tomcat.project}" type="dir" />
+
+  </target>
+
+  <target name="get.source" unless="source.exists">
+
+    <antcall target="checkout" />
+
+  </target>
+
+</project>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/building.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/building.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/building.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,216 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Building Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Building Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="README"><strong>README</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This document duplicates some of the information from the BUILDING.txt file
+included in every Tomcat distribution.  You may want to consult both.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Building Tomcat from SVN is very easy, and is the first step to contributing to
+Tomcat. The following is a step by step TODO list.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download and install a Java Development Kit 1.4.x or later"><strong>Download and install a Java Development Kit 1.4.x or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+The default distribution of Tomcat 5.5.x requires a 5.0 or later JDK. Tomcat
+can be built using a 1.4.x JDK but you will need to copy the contents of the
+compat directory (created by the build process) to your build directory before
+Tomcat will start.
+</p>
+
+<p>
+The Sun JDK can be downloaded <a href="http://java.sun.com/j2se/">here</a>.
+</p>
+
+<p>
+<b>IMPORTANT</b>: Set an environment variable JAVA_HOME to the pathname of the 
+directory into which you installed the JDK release.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Install Apache Ant 1.6.2 or later"><strong>Install Apache Ant 1.6.2 or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download a binary distribution of Ant 1.6.2 or later from 
+<a href="http://ant.apache.org/bindownload.cgi">here</a>.
+</p>
+
+<p>
+Unpack the binary distribution into a convenient location so that the
+Ant release resides in its own directory (conventionally named
+"apache-ant-1.6.x").  For the purposes of the remainder of this document,
+the symbolic name "${ant.home}" is used to refer to the full pathname of
+ the release directory.
+</p>
+
+<p>
+Create an ANT_HOME environment variable to point the directory ${ant.home}, 
+and modify the PATH environment variable to include directory
+"${ant.home}/bin" in its list.  This makes the "ant" command line script
+available, which will be used to actually perform the build.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building Tomcat"><strong>Building Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download the main build.xml script from <a href="build.xml">here</a>.
+</p>
+
+<p>
+Create a new directory, and copy the newly download build.xml to it. This
+  directory will be referred to as the ${tomcat.source} directory in the rest
+  of this document.
+</p>
+
+<p>
+Go to that directory, and do:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant<br>
+</code>
+</p>
+
+<p>
+NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+</p>
+
+<p>
+WARNING: Running this command will checkout the Tomcat 5 sources from SVN, as
+  well as download binaries to the <code>/usr/share/java</code> directory. 
+  Make sure this is appropriate to do so on your computer. On Windows, 
+  this usually corresponds to the <code>C:\usr\share\java</code> directory, 
+  unless Cygwin is used. Read below to customize the directory used 
+  to download the binaries.
+</p>
+
+<p>
+The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+<code><br>
+    # ----- Proxy setup -----<br>
+    # Uncomment if using a proxy server.<br>
+    #proxy.host=proxy.domain<br>
+    #proxy.port=8080<br>
+    #proxy.use=on<br>
+<br>
+    # ----- Default Base Path for Dependent Packages -----<br>
+    # Replace this path with the directory path where<br>
+    # dependencies binaries should be downloaded.<br>
+    base.path=/usr/share/java<br>
+</code>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating and rebuilding Tomcat sources"><strong>Updating and rebuilding Tomcat sources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+It is recommended to regularly update the downloaded Tomcat 5 sources. 
+To do this, execute the following commands:
+
+<code><br>
+    cd ${tomcat.source}<br>
+    ant checkout<br>
+</code>
+</p>
+
+<p>
+For a quick rebuild of only modified code you can use:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant build<br>
+</code>
+
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with Eclipse"><strong>Building with Eclipse</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<b>Important:</b>
+This is not a supported means of building Tomcat; this information is
+provided without warranty :-).
+The only supported means of building Tomcat is with the "ant build"
+described above.
+However, some developers like to work on Java code with a Java IDE,
+and the following steps have been used by some developers.
+</p>
+
+<p>
+Note that you <b>must</b> complete all the above steps to fetch
+the repositories and build some JAR files the first time.
+After you have completed the above steps, you can set up a
+series of Eclipse 4 projects.
+<b>Note</b> that this will not let you build everything under Eclipse;
+the build process requires use of Ant for the many stages that aren't
+simple Java compilations.
+However, it will allow you to view and edit the Java code,
+get warnings, reformat code, perform refactorings, run Tomcat
+under the IDE, and so on.
+</p>
+
+<p>You will want to set up your Eclipse project for building Tomcat such that
+${tomcatSource} is the Workspace folder.
+</p>
+
+<p>
+Use Windows-&gt;Preferences and then Java-&gt;Build Path-&gt;Classpath
+Variables to add two new Classpath variables:
+</p>
+
+<p>
+<table border="1">
+ <tr><td>TOMCAT_LIBS_BASE</td><td>the base path where the binary dependencies have been downloaded</td></tr>
+ <tr><td>ANT_HOME</td><td>the base path of Ant 1.6.2 or later</td></tr>
+</table>
+</p>
+
+<p>
+Use File-&gt;New Project to create a new Java project 
+for each of the binaries repository (e.g., /usr/share/java), 
+container, connectors, jasper, servletapi. 
+If you didn't already set up the Eclipse project such that ${tomcat.source} 
+is the Workspace folder, do so now: 
+tell Eclipse the external location using "Import/Export...",
+General-&gt;Existing Project into Workspace.
+</p>
+
+<p>
+Eclipse .project and .classpath files are provided in each of these
+directories so Eclipse should find all source trees and jars, and
+hopefully compile without problems. <b>Note</b> that these
+files assume you are using Eclipse with a 5.0 or later JDK; also, the
+connectors module must be built with a compiler compliance level of 5.0.
+</p>
+
+<p>
+To run Tomcat without a special IDE plug-in, you can simply use Run-&gt;Run...
+enter "org.apache.catalina.startup.Catalina" as the main class,
+"start" as program arguments, and
+"-Dcatalina.home=..." (with the name of your build directory) 
+as VM arguments.
+</p>
+
+<p>
+Note also that due to the way the Tomcat source is assembled
+from several SVN projects, you may not be able to use the Eclipse
+SVN client to update (nor to commit, if you are a committer).
+Use the external SVN client of your choice, then use the
+Eclipse PackageExplorer or Navigator "Refresh" context menu item
+to tell Eclipse that you've updated the files.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with other IDEs"><strong>Building with other IDEs</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The same caveats apply as for Eclipse, above.
+</p>
+
+<p>
+The same general idea should work in most IDEs; it has been reported
+to work in Idea, for example.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/docs/api/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+    <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Administration</title>
+</head>
+
+<body>
+
+Tomcat's internal javadoc is no longer installed by default. Download and install 
+the "fulldocs" package to get it.
+
+You can also access the javadoc online in the Tomcat 
+<a href="http://jakarta.apache.org/tomcat/tomcat-5.5-doc/">documentation bundle</a>.
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-apps.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-apps.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-apps.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,252 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Overall Requirements</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Overall Requirements</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-apps.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of this specification is to define high level requirements
+    for administrative applications that can be used to manage the operation
+    of a running Tomcat 5 container.  A variety of <em>Access Methods</em>
+    to the supported administrative functionality shall be supported, to
+    meet varying requirements:</p>
+    <ul>
+    <li><em>As A Scriptable Web Application</em> - The existing
+        <code>Manager</code> web application provides a simple HTTP-based
+        interface for managing Tomcat through commands that are expressed
+        entirely through a request URI.  This is useful in environments
+        where you wish to script administrative commands with tools that
+        can generate HTTP transactions.</li>
+    <li><em>As An HTML-Based Web Application</em> - Use an HTML presentation
+        to provide a GUI-like user interface for humans to interact with the
+        administrative capabilities.</li>
+    <li><em>As SOAP-Based Web Services</em> - The operational commands to
+        administer Tomcat are made available as web services that utilize
+        SOAP message formats.</li>
+    <li><em>As Java Management Extensions (JMX) Commands</em> - The operational
+        commands to administer Tomcat are made available through JMX APIs,
+        for integration into management consoles that utilize them.</li>
+    <li><em>Other Remote Access APIs</em> - Other remote access APIs, such
+        as JINI, RMI, and CORBA can also be utilized to access administrative
+        capabilities.</li>
+    </ul>
+
+    <p>Underlying all of the access methods described above, it is assumed
+    that the actual operations are performed either directly on the
+    corresponding Catalina components (such as calling the
+    <code>Deployer.deploy()</code> method to deploy a new web application),
+    or through a "business logic" layer that can be shared across all of the
+    access methods.  This approach minimizes the cost of adding new
+    administrative capabilities later -- it is only necessary to add the
+    corresponding business logic function, and then write adapters to it for
+    all desired access methods.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdk/idl/index.html">Java
+        IDL</a> (for CORBA, included in the JDK)</li>
+    <li><a href="http://java.sun.com/products/JavaManagement/index.html">
+        Java Management Extensions</a></li>
+    <li><a href="http://java.sun.com/products/rmi/index.html">Remote
+        Method Invocation</a> (Included in the JDK)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>To the maximum extent feasible, all administrative functions,
+        and the access methods that support them, shall run portably
+        on all platforms where Tomcat 5 itself runs.</li>
+    <li>In a default Tomcat distribution, all administrative capabilities
+        shall be disabled.  It shall be necessary for a system
+        administrator to specifically enable the desired access methods
+        (such as by adding a username/password with a specific role to
+        the Tomcat user's database.</li>
+    <li>Administrative functions shall be realized as direct calls to
+        corresponding Catalina APIs, or through a business logic layer
+        that is independent of the access method used to initiate it.</li>
+    <li>The common business logic components shall be implemented in
+        package <code>org.apache.catalina.admin</code>.</li>
+    <li>The common business logic components shall be built as part of the
+        standard Catalina build process, and made visible in the
+        Catalina class loader.</li>
+    <li>The Java components required for each access method shall be
+        implemented in subpackages of <code>org.apache.catalina.admin</code>.
+        </li>
+    <li>The build scripts should treat each access method as optional,
+        so that it will be built only if the corresponding required
+        APIs are present at build time.</li>
+    <li>It shall be possible to save the configured state of the running
+        Tomcat container such that this state can be reproduced when the
+        container is shut down and restarted.</li>
+    <li>Adminstrative commands to start up and shut down the overall
+        Tomcat container are <strong>out of scope</strong> for the
+        purposes of these applications.  It is assumed that other
+        (usually platform-specific) mechanisms will be used for container
+        startup and shutdown.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    administrative applications to operate correctly:</p>
+    <ul>
+    <li>For access methods that require creation of server sockets, the
+        appropriate ports must be configured and available.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of administrative applications depends on the
+       following specific features of the surrounding container:</p>
+    <ul>
+    <li>To the maximum extent feasible, Catalina components that offer
+        direct administrative APIs and property setters shall support
+        "live" changes to their operation, without requiring a container
+        restart.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Technologies"><strong>External Technologies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The availability of the following technologies can be assumed
+    for the implementation and operation of the various access methods
+    and the corresponding administrative business logic:</p>
+    <ul>
+    <li><a href="http://java.sun.com/j2se/">Java 2 Standard Edition</a>
+        (Version 1.2 or later)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/154.jsp">Servlet 2.4</a>
+        (supported natively by Tomcat 5)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/152.jsp">JavaServer Pages 2.0</a>
+        (supported natively by Tomcat 5)</li>
+    <li><a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">JavaServer Pages Standard Tag Library 1.0 (Jakarta Taglibs-Standard 1.0.3)</a></li>
+    <li><a href="http://jakarta.apache.org/struts/">Struts Framework</a>
+        (Version 1.0) - MVC Framework for Web Applications</li>
+    <li><strong>TO BE DETERMINED</strong> - Application for hosting SOAP
+        based web services</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Properties of Administered Objects"><strong>Properties of Administered Objects</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Functional requirements for administrative applications are specified
+  in terms of <em>Administered Objects</em>, whose definitions and detailed
+  properties are listed <a href="fs-admin-objects.html">here</a>.  In general,
+  Administered Objects correspond to components in the Catalina architecture,
+  but these objects are defined separately here for the following reasons:</p>
+  <ul>
+  <li>It is possible that the administrative applications do not expose
+      every possible configurable facet of the underlying components.</li>
+  <li>In some cases, an Administered Object (from the perspective of an
+      administrative operation) is realized by more than one Catalina
+      component, at a finer-grained level of detail.</li>
+  <li>It is necessary to represent the configuration information for a
+      component separately from the component itself (for instance, in
+      order to store that configuration information for later use).</li>
+  <li>It is necessary to represent configuration information (such as
+      a Default Context) when there is no corresponding component instance.
+      </li>
+  <li>Administered Objects, when realized as Java classes, will include
+      methods for administrative operations that have no correspondence
+      to operations performed by the corresponding actual components.</li>
+  </ul>
+
+  <p>It is assumed that the reader is familiar with the overall component
+  architecture of Catalina.  For further information, see the corresponding
+  Developer Documentation.  To distinguish names that are used as both
+  <em>Administered Objects</em> and <code>Components</code>, different
+  font presentations are utilized.  Default values for many properties
+  are listed in [square brackets].</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Administrative Operations"><strong>Supported Administrative Operations</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The administrative operations that are available are described in terms
+  of the corresponding Administered Objects (as defined above), in a manner
+  that is independent of the access method by which these operations are
+  requested.  In general, such operations are relevant only in the context
+  of a particular Administered Object (and will most likely be realized as
+  method calls on the corresponding Administered Object classes), so they
+  are organized based on the currently "focused" administered object.
+  The available Supported Operations are documented
+  <a href="fs-admin-opers.html">here</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Method Specific Requirements"><strong>Access Method Specific Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h5>Scriptable Web Application</h5>
+
+  <p>An appropriate subset of the administrative operations described above
+  shall be implemented as commands that can be performed by the "Manager"
+  web application.  <strong>FIXME</strong> - Enumerate them.</p>
+
+  <p>In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>All request URIs shall be protected by a security constraint that
+      requires security role <code>manager</code> for processing.</li>
+  <li>The default user database shall <strong>not</strong> contain any
+      user that has been assigned the role <code>manager</code>.</li>
+  </ul>
+
+  <h5>HTML-Based Web Application</h5>
+
+  <p>The entire suite of administrative operations described above shall be
+  made available through a web application designed for human interaction.
+  In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>Must be implemented using servlet, JSP, and MVC framework technologies
+      described under "External Technologies", above.</li>
+  <li>Prompts and error messages must be internationalizable to multiple
+      languages.</li>
+  <li>Rendered HTML must be compatible with Netscape Navigator (verson 4.7
+      or later) and Internet Explorer (version 5.0 or later).</li>
+  </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - Complete this section.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-objects.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-objects.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-objects.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,420 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Administered Objects</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Administered Objects</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-objects.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administered Objects Overview"><strong>Administered Objects Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Administered Objects</em> that represent
+the internal architectural components of the Catalina servlet container.
+Associated with each is a set of <a href="fs-admin-opers.html">Supported
+Operations</a> that can be performed when the administrative application is
+"focused" on a particular configurable object.</p>
+
+<p>The following Administered Objects are defined:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Default Deployment Descriptor">Default Deployment Descriptor</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Access Logger</em> is an optional <code>Valve</code> that can
+  create request access logs in the same formats as those provided by
+  web servers.  Such access logs are useful input to hit count and user
+  access tracking analysis programs.  An Access Logger can be attached to
+  an <em>Engine</em>, a <em>Host</em>, a <em>Context</em>, or a <em>Default
+  Context</em>.</p>
+
+  <p>The standard component implementing an <em>Access Logger</em> is
+  <code>org.apache.catalina.valves.AccessLogValve</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>directory</code> - Absolute or relative (to $CATALINA_HOME) path
+      of the directory into which access log files are created.
+      [logs].</li>
+  <li><code>pattern</code> - Pattern string defining the fields to be
+      included in the access log output, or "common" for the standard
+      access log pattern.  See
+      <code>org.apache.catalina.valves.AccessLogValve</code> for more
+      information.  [common]</li>
+  <li><code>prefix</code> - Prefix added to the beginning of each log file
+      name created by this access logger.</li>
+  <li><code>resolveHosts</code> - Should IP addresses be resolved to host
+      names in the log?  [false]</li>
+  <li><code>suffix</code> - Suffix added to the end of each log file name
+      created by this access logger.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Connector</em> is the representation of a communications endpoint
+  by which requests are received from (and responses returned to) a Tomcat
+  client.  The administrative applications shall support those connectors
+  that are commonly utilized in Tomcat installations, as described in detail
+  below.</p>
+
+  <p>For standalone use, the standard connector supporting the HTTP/1.1
+  protocol is <code>org.apache.catalina.connectors.http.HttpConnector</code>.
+  It supports the following configurable properties:</p>
+  <ul>
+  <li><code>acceptCount</code> - The maximum queue length of incoming
+      connections that have not yet been accepted.  [10]</li>
+  <li><code>address</code> - For servers with more than one IP address, the
+      address upon which this connector should listen.  [All Addresses]</li>
+  <li><code>bufferSize</code> - Default input buffer size (in bytes) for
+      requests created by this Connector.  [2048]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>enableLookups</code> - Should we perform DNS lookups on remote
+      IP addresses when <code>request.getRemoteHost()</code> is called?
+      [true]</li>
+  <li><code>maxProcessors</code> - The maximum number of processor threads
+      supported by this connector.  [20]</li>
+  <li><code>minProcessors</code> - The minimum number of processor threads
+      to be created at container startup.  [5]</li>
+  <li><code>port</code> - TCP/IP port number on which this Connector should
+      listen for incoming requests. [8080]</li>
+  <li><code>proxyName</code> - Host name to be returned when an application
+      calls <code>request.getServerName()</code>.  [Value of Host: header]</li>
+  <li><code>proxyPort</code> - Port number to be returned when an application
+      calls <code>request.getServerPort()</code>.  [Same as <code>port</code>]
+      </li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Context</em> is the representation of an individual web application,
+  which is associated with a corresponding <em>Host</em>.  Note that the
+  administrable properties of a <em>Context</em> do <strong>not</strong>
+  include any settings from inside the web application deployment descriptor
+  for that application.</p>
+
+  <p>The standard component implementing a <em>Context</em> is
+  <code>org.apache.catalina.core.StandardContext</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>docBase</code> - The absolute or relative (to the
+      <code>appBase</code> of our owning <em>Host</em>) pathname of a
+      directory containing an unpacked web application, or of a web
+      application archive (WAR) file.</li>
+  <li><code>override</code> - Should settings in this <em>Context</em>
+      override corresponding settings in the <em>Default Context</em>?
+      [false]</li>
+  <li><code>path</code> - Context path for this web application, or an empty
+      string for the root application of a <em>Host</em>.  [Inferred from
+      directory or WAR file name]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  <li><code>workDir</code> - Absolute pathname of a scratch directory that is
+      provided to this web application.  [Automatically assigned relative to
+      $CATALINA_HOME/work]</li>
+  </ul>
+
+  <p>Each <em>Context</em> is owned by a parent <em>Host</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this web application.</li>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>A <em>Loader</em> representing the web application class loader used
+      by this web application.</li>
+  <li>A <em>Manager</em> representing the session manager used by this
+      web application.</li>
+  <li>An optional <em>Realm</em> used to provide authentication and access
+      control information for this web application.</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to this
+      web application based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Default Context</em> represents a subset of the configurable
+  properties of a <em>Context</em>, and is used to set defaults for those
+  properties when web applications are automatically deployed.  A <em>Default
+  Context</em> object can be associated with an <em>Engine</em> or a
+  <em>Host</em>.  The following configurable properties are supported:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  </ul>
+
+  <p>Each <em>Default Context</em> is owned by a parent <em>Engine</em> or
+  <em>Host</em>, and is associated with:</p>
+  <ul>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>An optional <em>Loader</em> representing default configuration
+      properties for the Loader component of deployed web applications.</li>
+  <li>An optional <em>Manager</em> representing default configuration
+      properties for the Manager component fo deployed web applications.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Deployment Descriptor"><strong>Default Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Default web application characteristics are configured in a special
+  deployment descriptor named <code>$CATALINA_HOME/conf/web.xml</code>.  This
+  section describes the configurable components that may be stored there.</p>
+
+  <p><strong>FIXME</strong> - Complete the description of default servlets,
+  default mappings, default MIME types, and so on.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Engine</em> is the representation of the entire Catalina
+  servlet container, and processes all requests for all of the associated
+  virtual hosts and web applications.</p>
+
+  <p>The standard component implementing an <em>Engine</em> is
+  <code>org.apache.catalina.core.StandardEngine</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>defaultHost</code> - Name of the <em>Host</em> to which requests
+      will be directed if the requested host is unknown.  [localhost]</li>
+  <li><code>name</code> - Logical name of this engine. [Tomcat Stand-Alone]
+      </li>
+  </ul>
+
+  <p>Each <em>Engine</em> is owned by a parent <em>Service</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by the entire container.</li>
+  <li>A <em>Default Context</em>, representing default properties of a
+      <em>Context</em> for automatically deployed applications for all
+      associated <em>Hosts</em> (unless overridden by a subordinate
+      component).</li>
+  <li>One or more <em>Hosts</em> representing individual virtual hosts
+      supported by this container.</li>
+  <li>A <em>Realm</em> used to provide authentication and access control
+      information for all virtual hosts and web applications (unless
+      overridden by a subordinate component).</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to the
+      entire container based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Environment Entry</em> is the representation of a
+  <code>&lt;env-entry&gt;</code> element from a web application deployment
+  descriptor.  It will cause the creation of a corresponding entry in the
+  JNDI naming context provided to the corresponding <em>Context</em>.  The
+  following configurable properties are supported:</p>
+  <ul>
+  <li><code>description</code> - Description of this environment entry.</li>
+  <li><code>name</code> - Environment entry name (relative to the
+      <code>java:comp/env</code> context)</li>
+  <li><code>type</code> - Environment entry type (must be one of the fully
+      qualified Java classes listed in the servlet spec).</li>
+  <li><code>value</code> - Environment entry value (must be convertible from
+      String to the specified <code>type</code>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Host</em> is the representation of an individual virtual host,
+  which has a unique set of associated web applications.</p>
+
+  <p>The standard component implementing a <em>Host</em> is
+  <code>org.apache.catalina.core.StandardHost</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>aliases</code> - Zero or more DNS names that are also associated
+      with this host (for example, a particular host might be named
+      <code>www.mycompany.com</code> with an alias <code>company.com</code>).
+      </li>
+  <li><code>appBase</code> - Absolute or relative (to $CATALINA_HOME) path
+      to a directory from which web applications will be automatically
+      deployed.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>name</code> - DNS Name of the virtual host represented by this
+      object.</li>
+  <li><code>unpackWARs</code> - Should web application archive files
+      deployed by this virtual host be unpacked first?  [true]</li>
+  </ul>
+
+  <p>Each <em>Host</em> is owned by a parent <em>Engine</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this virtual host.</li>
+  <li>One or more <em>Contexts</em> representing the web applications
+      operating on this <em>Host</em>.</li>
+  <li>A <em>Default Context</em> representing default <em>Context</em>
+      properties for web applications that are automatically deployed
+      by this <em>Host</em>.</li>
+  <li>A optional <em>Realm</em> used to provide authentication and access
+      control information for all web applications associated with this
+      virtual host (unless overridden by a subordinate component).</li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we support configuration of the
+  User Web Applications functionality?</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>JDBC Resources</em> represents a database connection pool (i.e.
+  an implementation of <code>javax.sql.DataSource</code> that will be
+  configured and made available in the JNDI naming context associated with
+  a web application.</p>
+
+  <p><strong>FIXME</strong> - properties of this administered object</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Loader</em> represents a web application class loader that will
+  be utilized to provide class loading services for a particular
+  <em>Context</em>.</p>
+
+  <p>The standard component implementing a <em>Loader</em> is
+  <code>org.apache.catalina.loader.StandardLoader</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      modified classes, if automatic reloading is enabled.  [15]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>reloadable</code> - Should this class loader check for modified
+      classes and initiate automatic reloads?  [Set automatically from the
+      <code>reloadable</code> property of the corresponding <em>Context</em>]
+      </li>
+  </ul>
+
+  <p>Each <em>Loader</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Manager</em> represents a session manager that will be associated
+  with a particular web application.  <strong>FIXME</strong> - Add support
+  for advanced session managers and their associated Stores.</p>
+
+  <p>The standard component implementing a <em>Manager</em> is
+  <code>org.apache.catalina.session.StandardManager</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      expired sessions.  [60]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>entropy</code> - String initialization parameter used to increase
+      the entropy (initial randomness) of the random number generator used to
+      create session identifiers.  [Inferred from engine, host, and context]
+      </li>
+  <li><code>maxActiveSessions</code> - The maximum number of active sessions
+      that are allowed, or -1 for no limit.  [-1]</li>
+  </ul>
+
+  <p>Each <em>Manager</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Realm</em> represents a "database" of information about authorized
+  users, their passwords, and the security roles assigned to them.  This will
+  be used by the container in the implementation of container-managed security
+  in accordance with the Servlet Specification.  Several alternative
+  implementations are supported.</p>
+
+  <p><code>org.apache.catalina.realm.MemoryRealm</code> initializes its user
+  information from a simple XML file at startup time.  If changes are made
+  to the information in this file, the corresponding web applications using
+  it must be restarted for the changes to take effect.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>pathname</code> - Absolute or relative (to $CATALINA_HOME) path to
+      the XML file containing our user information.  [conf/tomcat-users.xml]
+      </li>
+  </ul>
+
+  <p><code>org.apache.catalina.realm.JDBCRealm</code> uses a relational
+  database (accessed via JDBC APIs) to contain the user information.  Changes
+  in the contents of this database take effect immediately; however, the roles
+  assigned to a particular user are calculated only when the user initially
+  logs on (and not per request).  The following configurable properties
+  are supported:</p>
+  <ul>
+  <li><code>connectionName</code> - Database username to use when establishing
+      a JDBC connection.</li>
+  <li><code>connectionPassword</code> - Database password to use when
+      establishing a JDBC connection.</li>
+  <li><code>connectionURL</code> - Connection URL to use when establishing
+      a JDBC connection.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>digest</code> - Name of the <code>MessageDigest</code> algorithm
+      used to encode passwords in the database, or a zero-length string for
+      no encoding.  [Zero-length String]</li>
+  <li><code>driverName</code> - Fully qualified Java class name of the JDBC
+      driver to be utilized.</li>
+  <li><code>roleNameCol</code> - Name of the column, in the User Roles table,
+      which contains the role name.</li>
+  <li><code>userCredCol</code> - Name of the column, in the Users table,
+      which contains the password (encrypted or unencrypted).</li>
+  <li><code>userNameCol</code> - Name of the column, in both the Users and
+      User Roles tables, that contains the username.</li>
+  <li><code>userRoleTable</code> - Name of the User Roles table, which contains
+      one row per security role assigned to a particular user.  This table must
+      contain the columns specified by the <code>userNameCol</code> and
+      <code>roleNameCol</code> properties.</li>
+  <li><code>userTable</code> - Name of the Users table, which contains one row
+      per authorized user.  This table must contain the columns specified by
+      the <code>userNameCol</code> and <code>userCredCol</code> properties.
+      </li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we provide mechanisms to edit the contents
+  of a "tomcat-users.xml" file through the admin applications?</p>
+
+  <p>Each <em>Realm</em> is owned by a parent <em>Engine</em>, <em>Host</em>,
+  or <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-opers.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-opers.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-admin-opers.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,265 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Supported Operations</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Supported Operations</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-admin-opers.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Operations Overview"><strong>Supported Operations Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Supported Operations</em> that may
+be performed against the <a href="fs-admin-objects.html">Administered
+Objects</a> that are supported by Tomcat 5 administrative applications.
+Not all operations are required to be available through every administrative
+application that is implemented.  However, if a given operation is available,
+it should operate consistently with the descriptions found here.</p>
+
+<p>Supported Operations are described for the following Administered
+Objects:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Access Logger</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Connector</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Context</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  <li>Create and configure a new <em>Loader</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Loader</em>.</li>
+  <li>Remove the associated <em>Loader</em>.</li>
+  <li>Create and configure a new <em>Manager</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Manager</em>.</li>
+  <li>Remove the associated <em>Manager</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Default Context</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em> or <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Engine</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Host</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Host</em>.</li>
+  <li>Remove an associated <em>Host</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Environment Entry</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Host</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Context</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Context</em>.</li>
+  <li>Remove an associated <em>Context</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>JDBC Resource</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Loader</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Manager</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Realm</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Request Filter</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of the overall <em>Server</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Service</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Service</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Service</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Server</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Connector</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Connector</em>.</li>
+  <li>Remove an associated <em>Connector</em>.</li>
+  <li>Create and configure a new <em>Engine</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Engine</em>.</li>
+  <li>Remove the associated <em>Engine</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-default.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-default.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-default.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,226 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Default Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Default Servlet</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-default.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Default Servlet</strong> is to serve
+    static resources of a web application in response to client requests.
+    As the name implies, it is generally configured as the "default"
+    servlet for a web application, by being mapped to a URL pattern "/".</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following external specifications have provisions which
+    partially define the correct behavior of the default servlet:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/servlet/download.html">
+        Servlet Specification</a> (Version 2.3 PFD2)</li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2046.txt">Multipurpose
+        Internet Mail Extensions (MIME) Part Two: Media Types</a></li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">Hypertext
+        Transfer Protocol -- HTTP/1.1</a></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Must be implemented as a servlet.</li>
+    <li>Must support configurable parameters for debugging detail level,
+        input buffer size, output buffer size, whether or not to produce
+        directory listings when no welcome file is present, and whether or not
+        modifications are supported via DELETE and PUT.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the default servlet to operate correctly:</p>
+    <ul>
+    <li>The default servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_HOME/conf/web.xml</code>) using a "default servlet"
+        servlet mapping, signified by URL pattern "/".</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the default servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>The container shall provide a servlet context attribute that
+        lists the welcome file names that have been defined for this
+        web application.</li>
+    <li>The container shall provide a servlet context attribute that
+        contains a <code>javax.naming.directory.DirContext</code>
+        implementation representing the static resources of this
+        web application.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Process and sanity check configuration parameters.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <p>For all HTTP request methods, the resource path is determined from
+    the path information provided to this request, either as request attribute
+    <code>javax.servlet.include.path_info</code> (for a request dispatcher
+    access to a static resource) or by calling
+    <code>request.getPathInfo()</code> directly.</p>
+
+    <p>On each HTTP DELETE request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found)</li>
+    <li>Unbind the resource from the directory context containing the
+        static resources for this web application.  If successful, return
+        HTTP status 204 (no content).  Otherwise, return HTTP status 405
+        (method not allowed).</li>
+    </ul>
+
+
+    <p>On each HTTP GET request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If the request is for a resource under <code>/META-INF</code> or
+        <code>/WEB-INF</code>, return HTTP status 404 (not found).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found).</li>
+    <li>If the requested resource is not a directory, but the resource
+        path ends in "/" or "\", return HTTP status 404 (not found).</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If the request path does not end with "/", redirect to a
+            corresponding path with "/" appended so that relative references
+            in welcome files are resolved correctly.</li>
+        <li>If one of the specified welcome files exists, redirect to the
+            path for that welcome file so that it will be served explicitly.
+            </li>
+        </ul></li>
+    <li>If the request being processed contains an <code>If-Range</code>
+        header, perform the processing described in the HTTP/1.1 specification
+        to determine whether the client's information is up to date.</li>
+    <li>Determine the content type of the response, by looking up the
+        corresponding MIME type in our servlet context.</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If directory listings are suppressed, return HTTP status 404
+            (not found).</li>
+        <li>Set the content type to <code>text/html</code>.</li>
+        </ul></li>
+    <li>Determine the range(s) to be returned, based on the existence of
+        any <code>If-Range</code> and <code>Range</code> headers.</li>
+    <li>If the requested resource is a directory, include an <code>ETag</code>
+        header in the response, with the value calculated based on the content
+        of the directory.</li>
+    <li>Include a <code>Last-Modified</code> header in the response documenting
+        the date/time that the resource was last modified.</li>
+    <li>Unless we are processing a HEAD request, include the appropriate
+        content (or content ranges) in the response.</li>
+    </ul>
+
+    <p>On each HTTP HEAD request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request, except that the data
+        content is not transmitted after the headers.</li>
+    </ul>
+
+    <p>On each HTTP POST request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request.</li>
+    </ul>
+
+
+    <p>On each HTTP PUT request processed by this servlet, the following
+    processing shall be perfomred:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>Create a new resource from the body of this request.</li>
+    <li>Bind or rebind the specified path to the new resource (depending on
+        whether it currently exists or not).  Return HTTP status as follows:
+        <ul>
+        <li>If binding was unsuccessful, return HTTP status 409 (conflict).
+            </li>
+        <li>If binding was successful and the resource did not previously
+            exist, return HTTP status 201 (created).</li>
+        <li>If binding was successful and the resource previously existed,
+            return HTTP status 204 (no content).</li>
+        </ul></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>Requests for resources that do not exist in the web application must
+      return HTTP status 404 (not found).</li>
+  <li>The default servlet must operate identically for web applications that
+      are run out of a WAR file directly, or from an unpacked directory
+      structure.</li>
+  <li>If the web application is running out of an unpacked directory
+      structure, the default servlet must recognize cases where the resource
+      has been updated through external means.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-invoker.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-invoker.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-invoker.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,221 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Invoker Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Invoker Servlet</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-invoker.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Invoker Servlet</strong> is to allow a
+    web application to dynamically register new <em>servlet definitions</em>
+    that correspond with a <code>&lt;servlet&gt;</code> element in the
+    <code>/WEB-INF/web.xml</code> deployment descriptor, and execute
+    requests utilizing the new servlet definitions.  From the perspective
+    of the newly registered servlets, all servlet lifecycle requirements
+    of the Servlet Specification (such as calling <code>init()</code> and
+    <code>destroy()</code> at the correct times) will be respected.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>I do not know of any formal specification of the behavior of an
+    invoker servlet that is publicly available.  Anyone know of one?</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Implemented as a servlet.</li>
+    <li>Exist in the <code>org.apache.catalina.servlets</code> package
+        so that it can be loaded by the Catalina class loader.</li>
+    <li>Implement the <code>org.apache.catalina.ContainerServlet</code>
+        interface, so that it gains knowledge of the <code>Wrapper</code>
+        that is responsible for itself and, therefore, access to other
+        internal Catalina components.</li>
+    <li>Support a configurable debugging detail level.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the Invoker servlet to operate correctly:</p>
+    <ul>
+    <li>The invoker servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_HOME/conf/web.xml</code>) using a "path mapped"
+        servlet mapping.  The historical default mapping is to URL pattern
+        "<code>/servlet/*</code>", although the invoker servlet must operate
+        correctly with an arbitrary mapping.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the invoker servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Correct support for the <code>ContainerServlet</code> interface,
+        including calling <code>setWrapper()</code> <strong>before</strong>
+        the <code>init()</code> method of the invoker servlet is called.</li>
+    <li>The web application class loader must be stored as the context
+        class loader of the request processing thread.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Ensure that the container has called <code>setWrapper()</code>.  If
+        not, throw a permanent <code>UnavailableException</code>.</li>
+    <li>Look up and cache the <code>Context</code> that corresponds to our
+        <code>Wrapper</code>.  This is the component with which new servlet
+        definitions and mappings will be registered.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>On each request, the following processing shall be performed:</p>
+    <ol>
+    <li>Calculate the <code>{ServletPath}</code> for this request, either from
+        request attribute <code>javax.servlet.include.servlet_path</code> or
+        by calling <code>request.getServletPath()</code>.</li>
+    <li>Calculate the <code>{PathInfo}</code> for this request, either from
+        request attribute <code>javax.servlet.include.path_info</code> or
+        by calling <code>request.getPathInfo()</code>.  If the calculated
+        <code>{PathInfo}</code> is null, return HTTP status 400
+        (bad request).</li>
+    <li>Parse the calculated <code>{PathInfo}</code> value as follows:
+        <ol>
+        <li>Ignore the leading slash character.</li>
+        <li>Accumulate characters up to the next '/' (if any) as the
+            <code>{ServletSelector}</code>.</li>
+        <li>If a '/' was encountered, accumulate all characters from that
+            slash (inclusive) to the end of the string as
+            <code>{PathRemainder}</code>.  If no slash was encountered,
+            set <code>{PathRemainder}</code> to a zero-length string.</li>
+        </ol></li>
+    <li>Determine whether <code>{ServletSelector}</code> is the name of an
+        existing servlet definition, and process it as follows:
+        <ol>
+        <li>Ask our associated <code>Context</code> to find and return a
+            child <code>Wrapper</code> named <code>{ServletSelector}</code>.
+            </li>
+        <li>If there is no such child, skip to the next major step.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    <li>Assume that <code>{ServletSelector}</code> is the fully qualified
+        name of a Java class that implements <code>javax.servlet.Servlet</code>
+        and process it as follows:
+        <ol>
+        <li>Synthesize a new <code>{ServletName}</code> for the servlet
+            definition that will be created.</li>
+        <li>If there is already a child <code>Wrapper</code> associated with
+            this name, return HTTP status 500 (internal server error), because
+            a mapping should have already been created for this servlet.</li>
+        <li>Attempt to load a class named <code>{ServletSelector}</code> from
+            the web application class loader (i.e. the context class loader
+            for our current thread).  If this fails, return HTTP status 404
+            (not found).</li>
+        <li>Instantiate an instance of this class.  If an error occurs,
+            return HTTP status 404 (not found).</li>
+        <li>If this class does not implement the
+            <code>javax.servlet.Servlet</code> interface, return HTTP status
+            404 (not found).</li>
+        <li>Create and register a new <code>Wrapper</code> child with our
+            <code>Context</code>, under name <code>{ServletName}</code>.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    </ol>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>It is possible to access an existing servlet definition by name
+      through the invoker.  The existing servlet definition can include
+      either a <code>&lt;servlet-class&gt;</code> or
+      <code>&lt;jsp-file&gt;</code> subelement.</li>
+  <li>When an existing servlet definition is accessed by name, the request
+      will be ultimately processed by the same servlet instance that would
+      have processed it had a mapping to that servlet definition been used
+      on the request directly.</li>
+  <li>It is possible to access an anonymous servlet by class name
+      through the invoker.</li>
+  <li>When an anonymous servlet is accessed, the servlet instance is processed
+      according to the lifecycle requirements of the Servlet Specification.
+      </li>
+  <li>When an anonymous servlet is accessed, the servlet instance receives
+      a <code>ServletConfig</code> instance with no servlet initialization
+      parameters.</li>
+  <li>It is possible to utilize the invoker servlet via a direct request.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.forward()</code>, or the corresponding
+      <code>&lt;jsp:forward&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.include()</code>, or the corresponding
+      <code>&lt;jsp:include&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to use any HTTP method (including GET and POST) that
+      is supported by the Servlet class that is ultimately executed.</li>
+  <li>The invoker servlet should never be asked to process a second or
+      subsequent request for the same <code>{ServletSelector}</code> (because
+      it will have registered an appropriate servlet mapping.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jdbc-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jdbc-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jdbc-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,222 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JDBCRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JDBCRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-jdbc-realm.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JDBCRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a relational database accessed via JDBC APIs.  For integration
+    with Catalina, the resulting class(es) must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JDBCRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity</a> (version 2.0 or later)</li>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity Optional Package</a> (version 2.0 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JDBCRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JDBCRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JDBCRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JDBCRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JDBCRealm</code> must have the JDBC standard API classes
+        available to it.  For a JDK 1.2 or later container, these APIs
+        are included in the standard platform.</li>
+    <li>When connection pooling is implemented, <code>JDBCRealm</code>
+        must have the JDBC Optional Package (version 2.0 or later) APIs
+        available to it.  This library is available as a separate
+        download (and will be included in Tomcat binary distributions).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>JDBCRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in a relational database accessed via JDBC APIs.
+    For maximum flexibility, the details of how this is done (for example,
+    the names of the required tables and columns) should be configurable.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configuration parameters defining the JDBC driver to use, the
+        database connection URL to be accessed, and the username/password
+        to use for logging in. [Current]</li>
+    <li>Configuration parameters describing the connection pool to be
+        created to support simultaneous authentications. [Requested]</li>
+    <li>Name of the tables to be searched for users and roles. [Current]</li>
+    <li>Name of the columns to be used for usernames, passwords, and
+        role names.  [Current]</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured database, using the
+        configured username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        database.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the database.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Select the one and only row from the user's table for this user,
+        and retrieve the corresponding password column.  If zero rows (or
+        more than one row) are found, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user by selecting from the roles table.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JDBCRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jndi-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jndi-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-jndi-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,377 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JNDIRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JNDIRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-jndi-realm.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JNDIRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a directory server or other service accessed via JNDI APIs.  For
+    integration with Catalina, this class must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JNDIRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+    <p>The code in the current version of <code>JNDIRealm</code>, and the
+    ideas expressed in this functional specification, are the results of
+    contributions from many individuals, including (alphabetically):</p>
+    <ul>
+    <li>Holman, John &lt;j.g.holman at qmw.ac.uk&gt;</li>
+    <li>Lockhart, Ellen &lt;elockhart at home.com&gt;</li>
+    <li>McClanahan, Craig &lt;craigmcc at apache.org&gt;</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jndi/">Java Naming and
+        Directory Interface</a> (version 1.2.1 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JNDIRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JNDIRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    <li>If the <em>Administrator Login</em> operational mode is selected,
+        the configured administrator username and password must be configured
+        in the corresponding directory server.</li>
+    <li>If the <em>Username Login</em> operational mode is selected,
+        the corresponding directory server must be configured to accept
+        logins with the username and password that will be passed to
+        <code>JNDIRealm</code> by the appropriate <code>Authenticator</code>.
+        </li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JNDIRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JNDIRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JNDIRealm</code> must have the JNDI API classes available
+        to it.  For a JDK 1.2 container, that means <code>jndi.jar</code>
+        and the appropriate implementation (such as <code>ldap.jar</code>)
+        must be placed in the <code>server/lib</code> directory.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Operational Modes"><strong>Operational Modes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The completed <code>JNDIRealm</code> must support two major operational
+    modes in order to support all of the required use cases.  For the purposes
+    of this document, the modes are called <em>administrator login</em> and
+    <em>Username Login</em>.  They are described further in the following
+    paragraphs.</p>
+
+    <p>For <em>Administrator Login</em> mode, <code>JNDIRealm</code> will be
+    configured to establish one or more connections (using a connection pool)
+    to an appropriate directory server, using JNDI APIs, under a "system
+    administrator" username and password.  This is similar to the approach
+    normally used to configure <code>JDBCRealm</code> to access authentication
+    and access control information in a database.  It is assumed that the
+    system administrator username and password that are configured provide
+    sufficient privileges within the directory server to read (but not modify)
+    the username, password, and assigned roles for each valid user of the
+    web application associated with this <code>Realm</code>.  The password
+    can be stored in cleartext, or in one of the digested modes supported by
+    the <code>org.apache.catalina.realm.RealmBase</code> base class.</p>
+
+    <p>For <em>Username Login</em> mode, <code>JNDIRealm</code> does not
+    normally remain connected to the directory server.  Instead, whenever a
+    user is to be authenticated, a connection to the directory server
+    (using the username and password received from the authenticator) is
+    attempted.  If this connection is successful, the user is assumed to be
+    successfully authenticated.  This connection is then utilized to read
+    the corresponding security roles associated with this user, and the
+    connection is then broken.</p>
+
+    <p><strong>NOTE</strong> - <em>Username Login</em> mode cannot be used
+    if you have selected login method <code>DIGEST</code> in your web
+    application deployment descriptor (<code>web.xml</code>) file.  This
+    restriction exists because the cleartext password is never available
+    to the container, so it is not possible to bind to the directory server
+    using the user's username and password.</p>
+
+    <p>Because these operational modes work so differently, the functionality
+    for each mode will be described separately.  Whether or not both modes
+    are actually supported by a single class (versus a class per mode) is
+    an implementation detail left to the designer.</p>
+
+    <p><strong>NOTE</strong> - The current implementation only implements
+    part of the <em>Administrator Lookup</em> mode requirements.  It does
+    not support the <em>Username Lookup</em> mode at all, at this point.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administrator Login Mode Functionality"><strong>Administrator Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining how a particular user is
+        authenticated.  The following capabilities should be supported:
+        <ul>
+        <li>Substitute the specified username into a string.  [Requested]</li>
+        <li>Retrieve the distinguished name (DN) of an authorized user via an
+            LDAP search string with a replacement placeholder for the
+            username, and comparison of the password to a configurable
+            attribute retrieved from the search result.  [Current]</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        <li>Retrieve a set of role names that are defined implicitly (by
+            selecting principals that match a search pattern) rather than
+            explicitly (by finding a particular attribute value).
+            [Requested]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured directory server, using the
+        configured system administrator username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        directory server.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the directory server.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Authenticate the user by retrieving the user's Distinguished Name,
+        based on the specified username and password.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Username Login Mode Functionality"><strong>Username Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining if and how a user might be looked
+        up before binding to the directory server.  The following approaches
+        should be supported:
+        <ul>
+        <li>No previous lookup is required - username specified by the user
+            is the same as that used to authenticate to the directory
+            server.</li>
+        <li>Substitute the specified username into a string.</li>
+        <li>Search the directory server based on configured criteria to
+            retrieve the distinguished name of the user, then attempt to
+            bind with that distinguished name.</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Attempt to bind to the directory server, using the username and
+        password provided by the user.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JNDIRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-memory-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-memory-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/fs-memory-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - MemoryRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>MemoryRealm</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/fs-memory-realm.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>MemoryRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a simple text-based configuration file in XML format.  This is
+    intended to simplify the initial installation and operation of Tomcat 5,
+    without the complexity of configuring a database or directory server
+    based Realm.  It is not intended for production use.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.MemoryRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li>None</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    MemoryRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize MemoryRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.  (This is already
+        included in the default <code>server.xml</code> file.)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of MemoryRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>MemoryRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>MemoryRealm</code> must have an XML parser compatible with
+        the JAXP/1.1 APIs available to it.  This is normally accomplished
+        by placing the corresponding JAR files in directory
+        <code>$CATALINA_HOME/server/lib</code> (to make them visible only
+        to internal Catalina classes) or in directory
+        <code>$CATALINA_HOME/common/lib</code> (to make them visible to
+        Catalina internal classes <strong>and</strong> installed web
+        applications).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>MemoryRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in an XML-format configuration file.  The format
+    of this file is described below.  When a <code>MemoryRealm</code>
+    instance is started, it will read the contents of this XML file and create
+    an "in memory database" of all the valid users and their associated
+    security roles.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configurable debugging detail level.</li>
+    <li>Configurable file pathname (absolute or relative to
+        <code>$CATALINA_HOME</code> of the XML file containing our
+        defined users.  [<code>conf/tomcat-users.xml</code>].</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Open and parse the specified XML file.</li>
+    <li>Create an in-memory database representation of the XML file
+        contents.</li>
+    <li><strong>NOTE</strong> - There is no requirement to recognize
+        subsequent changes to the contents of the XML file.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Release object references to the in-memory database representation.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Select the one and only "user" instance from the in-memory database,
+        based on matching the specified username.  If there is no such
+        instance, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code> (if not
+        already using this as the internal database representation) that
+        contains the authenticated username and a <code>List</code> of the
+        security roles associated with this user.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>MemoryRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Functional Specifications"><strong>Catalina Functional Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This documentation area includes <em>functional specifications</em> for
+many features supported by the <strong>Catalina</strong> servlet container
+portion of Tomcat 5.  In most cases, these features are not documented in the
+underlying Servlet or JSP specifications, so a definition of the expected
+correct behavior is important both to implementors of those features, and to
+test writers trying to decide what to test.</p>
+
+<p>The functional specifications are divided into the following categories
+in the menu (to the left):</p>
+<ul>
+<li><em>Administrative Apps</em> - Overall requirements for supporting an
+    ability to configure and operate a Tomcat 5 installation through tools,
+    as well as detailed requirements for the tools themselves.</li>
+<li><em>Internal Servlets</em> - Requirements for Catalina features that are
+    implemented as internal, container-managed, servlets.</li>
+<li><em>Realm Implementations</em> - Requirements for the implementations of
+    the <code>org.apache.catalina.Realm</code> interface (providing access to
+    collections of users, passwords and roles) that are included in the
+    standard Tomcat 5 distribution.</li>
+</ul>
+
+<p><em>NOTE</em> - In some cases, the contents of these functional specs has
+been "reverse engineered" from existing implementations.  This exercise is
+stil useful, because it provides an introduction to <strong>what</strong>
+Catalina does, without being as concerned with <strong>how</strong> this is
+accomplished.</p>
+
+<p><strong>TODO</strong> - Obviously, this area has a long ways to go before
+it is complete.  Contributions are welcome!</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/mbean-names.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/mbean-names.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/mbean-names.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,709 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Tomcat MBean Names</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Amy Roh" name="author"><meta value="amyroh at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../../index.html">Docs Home</a></li><li><a href="index.html">Functional Specs</a></li></ul><p><strong>Administrative Apps</strong></p><ul><li><a href="fs-admin-apps.html">Overall Requirements</a></li><li><a href="mbean-names.html">Tomcat MBean Names</a></li><li><a href="fs-admin-objects.html">Administered Objects</a></li><li><a href="fs-admin-opers.html">Supported Operations</a></li></ul><p><strong>Internal Servlets</strong></p><ul><li><a href="fs-default.html">Default Servlet</a></li><li><a href="fs-invoker.html">Invoker Servlet</a></li></ul><p><strong>Realm Implementations</strong></p><ul><li><a href="fs-jdbc-realm.html">JDBC Realm</a></li><li><a href="fs-jndi-realm.html">JNDI Realm</a></li><li><a href="fs-memory-realm.html">Memory Realm</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Tomcat MBean Names</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/mbean-names.html"><img alt="Printer Friendly Version" border="0" src="../../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>We will be using <em>JMX MBeans</em> as the technology for
+    implementing manageability of Tomcat.</p>
+
+    <p>One of the key concepts of JMX (and JSR-77) is that each management
+    bean has a unique name in the MBeanServer's registry, and that
+    management applications can utilize these names to retrieve the MBean
+    of interest to them for a particular management operation.
+    This document proposes a naming convention for MBeans that allows easy
+    calculation of the name for a particular MBean.  For background
+    information on JMX MBean names, see the <em>Java Management Extensions
+    Instrumentation and Agent Specification</em>, version 1.0, section 6.
+    In particular, we will be discussing the String Representation of
+    <code>ObjectName</code> instances.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Object Hierarchy"><strong>Catalina Object Hierarchy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat's servlet container implementation, called Catalina, can be
+represented as a hierarchy of objects that contain references to each other.
+The object hierarchy can be represented as a tree, or (isomorphically) based
+on the nesting of configuration elements in the <code>conf/server.xml</code>
+file that is traditionally used to configure Tomcat stand-alone.</p>
+
+<p>The valid component nestings for Catalina are depicted in the following
+table, with columns that contain the following values:</p>
+<ul>
+<li><em>Pattern</em> - Nesting pattern of XML elements (in the
+    <code>conf/server.xml</code> file) used to configure this component.</li>
+<li><em>Cardinality</em> - Minimum and maximum number of occurrences of
+    this element at this nesting position, which also corresponds to the
+    minimum and maximum number of Catalina components.</li>
+<li><em>Identifier</em> - Name of the JavaBeans property of this component
+    that represents the unique identifier (within the nested hierarchy),
+    if any.</li>
+<li><em>MBean ObjectName</em> - The portion of the MBean object name that
+    appears <strong>after</strong> the domain name.  For now, it should be
+    assumed that all of these MBeans appear in the default JMX domain.</li>
+</ul>
+
+<p>In the <em>MBean ObjectName</em> descriptions, several types of symbolic
+expressions are utilized to define variable text that is replaced by
+corresponding values:</p>
+<ul>
+<li><em>${GROUP}</em> - One of the standard MBean names of the specified
+    "group" category.  For example, the expression <code>${REALM}</code>
+    represents the values like <code>JDBCRealm</code> and <code>JAASRealm</code>
+    that identify the various MBeans for possible <code>Realm</code> components.</li>
+<li><em>${name}</em> - Replaced by the value of property <code>name</code>
+    from the current component.</li>
+<li><em>${parent.name}</em> - Replaced by the value of property
+    <code>name</code> from a parent of the current component, with the
+    parent's type identified by <em>parent</em>.</li>
+<li><em>${###}</em> - An arbitrary numeric identifier that preserves
+    order but has no other particular meaning.  In general, the server will
+    assign numeric values to existing instances with large gaps into which
+    new items can be configured if desired.</li>
+</ul>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Pattern</th>
+    <th align="center" bgcolor="aqua">Cardinality</th>
+    <th align="center" bgcolor="aqua">Identifier</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName</th>
+  </tr>
+
+  <tr>
+    <td>Server</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${SERVER}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${SERVICE}, name=${name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>address, port</code></td>
+    <td><code>type=${CONNECTOR}, service=${service}, port=${port},
+        address=${address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Factory</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td>(Only defined explicitly for an SSL connector, but can be treated
+        as part of the connector component)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, service=${service},
+        port=${connector.port}, address=${connector.address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${ENGINE}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${HOST}, host=${name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>path</code></td>
+    <td><code>type=${CONTEXT}, path=${path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / InstanceListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${INSTANCE-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Loader</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LOADER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Manager</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${MANAGER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Resources</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${RESOURCES}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Wrapper</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>j2eeType=Servlet,name=${name},
+        WebModule=//${host.name}/${context.name},
+        J2EEApplication=${context.J2EEApplication},
+        J2EEServer=${context.J2EEServer}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LIFECYCLE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Listener)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Engine / Listener)</td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MBean Groups and Names"><strong>MBean Groups and Names</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following MBean names shall be defined in the resource file
+<code>/org/apache/catalina/mbeans/mbeans-descriptors.xml</code> (and
+therefore available for use within the Administration/Configuration
+web application for Tomcat):</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">MBean Name</th>
+    <th align="center" bgcolor="aqua">Group Name</th>
+    <th align="center" bgcolor="aqua">Catalina Interface</th>
+    <th align="center" bgcolor="aqua">Implementation Class</th>
+  </tr>
+
+  <tr>
+    <td><code>AccessLogValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.AccessLogValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>BasicAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.BasicAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CertificatesValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.CertificatesValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.ContextConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextEnvironment</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResource</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResourceLink</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CoyoteConnector</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.coyote.tomcat4.CoyoteConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>DigestAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.DigestAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>EngineConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.EngineConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorReportValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorReportValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorDispatcherValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorDispatcherValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>FormAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.FormAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Group</code></td>
+    <td align="center"><code>GROUP</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HostConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.HostConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector10</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http10.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector11</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JAASRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JAASRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JDBCRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JNDIRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JNDIRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MBeanFactory</code></td>
+    <td align="center"><code></code></td>
+    <td><code></code></td>
+    <td><code>org.apache.catalina.mbeans.MBeanFactory</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.MemoryRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingContextListener</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.core.NamingContextListener</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingResources</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NonLoginAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.NonLoginAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>PersistentManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.PersistentManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteAddrValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteAddrValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RequestDumperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RequestDumperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Role</code></td>
+    <td align="center"><code>ROLE</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SingleSignOn</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.SingleSignOn</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SSLAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.SSLAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContext</code></td>
+    <td align="center"><code>CONTEXT</code></td>
+    <td><code>org.apache.catalina.Context</code></td>
+    <td><code>org.apache.catalina.core.StandardContext</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContextValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardContextValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngine</code></td>
+    <td align="center"><code>ENGINE</code></td>
+    <td><code>org.apache.catalina.Engine</code></td>
+    <td><code>org.apache.catalina.core.StandardEngine</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngineValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardEngineValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHost</code></td>
+    <td align="center"><code>HOST</code></td>
+    <td><code>org.apache.catalina.Host</code></td>
+    <td><code>org.apache.catalina.core.StandardHost</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.StandardManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardServer</code></td>
+    <td align="center"><code>SERVER</code></td>
+    <td><code>org.apache.catalina.Server</code></td>
+    <td><code>org.apache.catalina.core.StandardServer</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardService</code></td>
+    <td align="center"><code>SERVICE</code></td>
+    <td><code>org.apache.catalina.Service</code></td>
+    <td><code>org.apache.catalina.core.StandardService</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapper</code></td>
+    <td align="center"><code>WRAPPER</code></td>
+    <td><code>org.apache.catalina.Wrapper</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapper</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>User</code></td>
+    <td align="center"><code>USER</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+  </tr>
+
+  <tr>
+    <td><code>UserDatabaseRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.UserDatabaseRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>WebappLoader</code></td>
+    <td align="center"><code>LOADER</code></td>
+    <td><code>org.apache.catalina.Loader</code></td>
+    <td><code>org.apache.catalina.loader.WebappLoader</code></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-77 Cross Reference"><strong>JSR-77 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The managed objects in the JSR-77 object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-77 Managed Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>J2EEServer</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Node</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td>Tomcat supports a single node only.</td>
+  </tr>
+
+  <tr>
+    <td><code>Port</code></td>
+    <td><code>${CONNECTOR}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Servlet</code></td>
+    <td><code>${WRAPPER}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>WebModule</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-88 Cross Reference"><strong>JSR-88 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The deployment objects in the JSR-88 API object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-88 API Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>DeployableObject</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td>Context deployment info plus the corresponding WAR file</td>
+  </tr>
+
+  <tr>
+    <td><code>Target</code></td>
+    <td><code>${HOST}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-apps.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-apps.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-apps.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,251 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Overall Requirements</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Overall Requirements</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of this specification is to define high level requirements
+    for administrative applications that can be used to manage the operation
+    of a running Tomcat 5 container.  A variety of <em>Access Methods</em>
+    to the supported administrative functionality shall be supported, to
+    meet varying requirements:</p>
+    <ul>
+    <li><em>As A Scriptable Web Application</em> - The existing
+        <code>Manager</code> web application provides a simple HTTP-based
+        interface for managing Tomcat through commands that are expressed
+        entirely through a request URI.  This is useful in environments
+        where you wish to script administrative commands with tools that
+        can generate HTTP transactions.</li>
+    <li><em>As An HTML-Based Web Application</em> - Use an HTML presentation
+        to provide a GUI-like user interface for humans to interact with the
+        administrative capabilities.</li>
+    <li><em>As SOAP-Based Web Services</em> - The operational commands to
+        administer Tomcat are made available as web services that utilize
+        SOAP message formats.</li>
+    <li><em>As Java Management Extensions (JMX) Commands</em> - The operational
+        commands to administer Tomcat are made available through JMX APIs,
+        for integration into management consoles that utilize them.</li>
+    <li><em>Other Remote Access APIs</em> - Other remote access APIs, such
+        as JINI, RMI, and CORBA can also be utilized to access administrative
+        capabilities.</li>
+    </ul>
+
+    <p>Underlying all of the access methods described above, it is assumed
+    that the actual operations are performed either directly on the
+    corresponding Catalina components (such as calling the
+    <code>Deployer.deploy()</code> method to deploy a new web application),
+    or through a "business logic" layer that can be shared across all of the
+    access methods.  This approach minimizes the cost of adding new
+    administrative capabilities later -- it is only necessary to add the
+    corresponding business logic function, and then write adapters to it for
+    all desired access methods.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdk/idl/index.html">Java
+        IDL</a> (for CORBA, included in the JDK)</li>
+    <li><a href="http://java.sun.com/products/JavaManagement/index.html">
+        Java Management Extensions</a></li>
+    <li><a href="http://java.sun.com/products/rmi/index.html">Remote
+        Method Invocation</a> (Included in the JDK)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>To the maximum extent feasible, all administrative functions,
+        and the access methods that support them, shall run portably
+        on all platforms where Tomcat 5 itself runs.</li>
+    <li>In a default Tomcat distribution, all administrative capabilities
+        shall be disabled.  It shall be necessary for a system
+        administrator to specifically enable the desired access methods
+        (such as by adding a username/password with a specific role to
+        the Tomcat user's database.</li>
+    <li>Administrative functions shall be realized as direct calls to
+        corresponding Catalina APIs, or through a business logic layer
+        that is independent of the access method used to initiate it.</li>
+    <li>The common business logic components shall be implemented in
+        package <code>org.apache.catalina.admin</code>.</li>
+    <li>The common business logic components shall be built as part of the
+        standard Catalina build process, and made visible in the
+        Catalina class loader.</li>
+    <li>The Java components required for each access method shall be
+        implemented in subpackages of <code>org.apache.catalina.admin</code>.
+        </li>
+    <li>The build scripts should treat each access method as optional,
+        so that it will be built only if the corresponding required
+        APIs are present at build time.</li>
+    <li>It shall be possible to save the configured state of the running
+        Tomcat container such that this state can be reproduced when the
+        container is shut down and restarted.</li>
+    <li>Adminstrative commands to start up and shut down the overall
+        Tomcat container are <strong>out of scope</strong> for the
+        purposes of these applications.  It is assumed that other
+        (usually platform-specific) mechanisms will be used for container
+        startup and shutdown.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    administrative applications to operate correctly:</p>
+    <ul>
+    <li>For access methods that require creation of server sockets, the
+        appropriate ports must be configured and available.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of administrative applications depends on the
+       following specific features of the surrounding container:</p>
+    <ul>
+    <li>To the maximum extent feasible, Catalina components that offer
+        direct administrative APIs and property setters shall support
+        "live" changes to their operation, without requiring a container
+        restart.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Technologies"><strong>External Technologies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The availability of the following technologies can be assumed
+    for the implementation and operation of the various access methods
+    and the corresponding administrative business logic:</p>
+    <ul>
+    <li><a href="http://java.sun.com/j2se/">Java 2 Standard Edition</a>
+        (Version 1.2 or later)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/154.jsp">Servlet 2.4</a>
+        (supported natively by Tomcat 5)</li>
+    <li><a href="http://www.jcp.org/jsr/detail/152.jsp">JavaServer Pages 2.0</a>
+        (supported natively by Tomcat 5)</li>
+    <li><a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">JavaServer Pages Standard Tag Library 1.0 (Jakarta Taglibs-Standard 1.0.3)</a></li>
+    <li><a href="http://jakarta.apache.org/struts/">Struts Framework</a>
+        (Version 1.0) - MVC Framework for Web Applications</li>
+    <li><strong>TO BE DETERMINED</strong> - Application for hosting SOAP
+        based web services</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Properties of Administered Objects"><strong>Properties of Administered Objects</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Functional requirements for administrative applications are specified
+  in terms of <em>Administered Objects</em>, whose definitions and detailed
+  properties are listed <a href="fs-admin-objects.html">here</a>.  In general,
+  Administered Objects correspond to components in the Catalina architecture,
+  but these objects are defined separately here for the following reasons:</p>
+  <ul>
+  <li>It is possible that the administrative applications do not expose
+      every possible configurable facet of the underlying components.</li>
+  <li>In some cases, an Administered Object (from the perspective of an
+      administrative operation) is realized by more than one Catalina
+      component, at a finer-grained level of detail.</li>
+  <li>It is necessary to represent the configuration information for a
+      component separately from the component itself (for instance, in
+      order to store that configuration information for later use).</li>
+  <li>It is necessary to represent configuration information (such as
+      a Default Context) when there is no corresponding component instance.
+      </li>
+  <li>Administered Objects, when realized as Java classes, will include
+      methods for administrative operations that have no correspondence
+      to operations performed by the corresponding actual components.</li>
+  </ul>
+
+  <p>It is assumed that the reader is familiar with the overall component
+  architecture of Catalina.  For further information, see the corresponding
+  Developer Documentation.  To distinguish names that are used as both
+  <em>Administered Objects</em> and <code>Components</code>, different
+  font presentations are utilized.  Default values for many properties
+  are listed in [square brackets].</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Administrative Operations"><strong>Supported Administrative Operations</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The administrative operations that are available are described in terms
+  of the corresponding Administered Objects (as defined above), in a manner
+  that is independent of the access method by which these operations are
+  requested.  In general, such operations are relevant only in the context
+  of a particular Administered Object (and will most likely be realized as
+  method calls on the corresponding Administered Object classes), so they
+  are organized based on the currently "focused" administered object.
+  The available Supported Operations are documented
+  <a href="fs-admin-opers.html">here</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Method Specific Requirements"><strong>Access Method Specific Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h5>Scriptable Web Application</h5>
+
+  <p>An appropriate subset of the administrative operations described above
+  shall be implemented as commands that can be performed by the "Manager"
+  web application.  <strong>FIXME</strong> - Enumerate them.</p>
+
+  <p>In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>All request URIs shall be protected by a security constraint that
+      requires security role <code>manager</code> for processing.</li>
+  <li>The default user database shall <strong>not</strong> contain any
+      user that has been assigned the role <code>manager</code>.</li>
+  </ul>
+
+  <h5>HTML-Based Web Application</h5>
+
+  <p>The entire suite of administrative operations described above shall be
+  made available through a web application designed for human interaction.
+  In addition, this web application shall conform to the following
+  requirements:</p>
+  <ul>
+  <li>Must be implemented using servlet, JSP, and MVC framework technologies
+      described under "External Technologies", above.</li>
+  <li>Prompts and error messages must be internationalizable to multiple
+      languages.</li>
+  <li>Rendered HTML must be compatible with Netscape Navigator (verson 4.7
+      or later) and Internet Explorer (version 5.0 or later).</li>
+  </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - Complete this section.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-objects.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-objects.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-objects.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,419 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Administered Objects</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Administered Objects</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administered Objects Overview"><strong>Administered Objects Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Administered Objects</em> that represent
+the internal architectural components of the Catalina servlet container.
+Associated with each is a set of <a href="fs-admin-opers.html">Supported
+Operations</a> that can be performed when the administrative application is
+"focused" on a particular configurable object.</p>
+
+<p>The following Administered Objects are defined:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Default Deployment Descriptor">Default Deployment Descriptor</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Access Logger</em> is an optional <code>Valve</code> that can
+  create request access logs in the same formats as those provided by
+  web servers.  Such access logs are useful input to hit count and user
+  access tracking analysis programs.  An Access Logger can be attached to
+  an <em>Engine</em>, a <em>Host</em>, a <em>Context</em>, or a <em>Default
+  Context</em>.</p>
+
+  <p>The standard component implementing an <em>Access Logger</em> is
+  <code>org.apache.catalina.valves.AccessLogValve</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>directory</code> - Absolute or relative (to $CATALINA_HOME) path
+      of the directory into which access log files are created.
+      [logs].</li>
+  <li><code>pattern</code> - Pattern string defining the fields to be
+      included in the access log output, or "common" for the standard
+      access log pattern.  See
+      <code>org.apache.catalina.valves.AccessLogValve</code> for more
+      information.  [common]</li>
+  <li><code>prefix</code> - Prefix added to the beginning of each log file
+      name created by this access logger.</li>
+  <li><code>resolveHosts</code> - Should IP addresses be resolved to host
+      names in the log?  [false]</li>
+  <li><code>suffix</code> - Suffix added to the end of each log file name
+      created by this access logger.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Connector</em> is the representation of a communications endpoint
+  by which requests are received from (and responses returned to) a Tomcat
+  client.  The administrative applications shall support those connectors
+  that are commonly utilized in Tomcat installations, as described in detail
+  below.</p>
+
+  <p>For standalone use, the standard connector supporting the HTTP/1.1
+  protocol is <code>org.apache.catalina.connectors.http.HttpConnector</code>.
+  It supports the following configurable properties:</p>
+  <ul>
+  <li><code>acceptCount</code> - The maximum queue length of incoming
+      connections that have not yet been accepted.  [10]</li>
+  <li><code>address</code> - For servers with more than one IP address, the
+      address upon which this connector should listen.  [All Addresses]</li>
+  <li><code>bufferSize</code> - Default input buffer size (in bytes) for
+      requests created by this Connector.  [2048]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>enableLookups</code> - Should we perform DNS lookups on remote
+      IP addresses when <code>request.getRemoteHost()</code> is called?
+      [true]</li>
+  <li><code>maxProcessors</code> - The maximum number of processor threads
+      supported by this connector.  [20]</li>
+  <li><code>minProcessors</code> - The minimum number of processor threads
+      to be created at container startup.  [5]</li>
+  <li><code>port</code> - TCP/IP port number on which this Connector should
+      listen for incoming requests. [8080]</li>
+  <li><code>proxyName</code> - Host name to be returned when an application
+      calls <code>request.getServerName()</code>.  [Value of Host: header]</li>
+  <li><code>proxyPort</code> - Port number to be returned when an application
+      calls <code>request.getServerPort()</code>.  [Same as <code>port</code>]
+      </li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Context</em> is the representation of an individual web application,
+  which is associated with a corresponding <em>Host</em>.  Note that the
+  administrable properties of a <em>Context</em> do <strong>not</strong>
+  include any settings from inside the web application deployment descriptor
+  for that application.</p>
+
+  <p>The standard component implementing a <em>Context</em> is
+  <code>org.apache.catalina.core.StandardContext</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>docBase</code> - The absolute or relative (to the
+      <code>appBase</code> of our owning <em>Host</em>) pathname of a
+      directory containing an unpacked web application, or of a web
+      application archive (WAR) file.</li>
+  <li><code>override</code> - Should settings in this <em>Context</em>
+      override corresponding settings in the <em>Default Context</em>?
+      [false]</li>
+  <li><code>path</code> - Context path for this web application, or an empty
+      string for the root application of a <em>Host</em>.  [Inferred from
+      directory or WAR file name]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  <li><code>workDir</code> - Absolute pathname of a scratch directory that is
+      provided to this web application.  [Automatically assigned relative to
+      $CATALINA_HOME/work]</li>
+  </ul>
+
+  <p>Each <em>Context</em> is owned by a parent <em>Host</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this web application.</li>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>A <em>Loader</em> representing the web application class loader used
+      by this web application.</li>
+  <li>A <em>Manager</em> representing the session manager used by this
+      web application.</li>
+  <li>An optional <em>Realm</em> used to provide authentication and access
+      control information for this web application.</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to this
+      web application based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Default Context</em> represents a subset of the configurable
+  properties of a <em>Context</em>, and is used to set defaults for those
+  properties when web applications are automatically deployed.  A <em>Default
+  Context</em> object can be associated with an <em>Engine</em> or a
+  <em>Host</em>.  The following configurable properties are supported:</p>
+  <ul>
+  <li><code>cookies</code> - Should be use cookies for session identifier
+      communication?  [true]</li>
+  <li><code>crossContext</code> - Should calls to
+      <code>ServletContext.getServletContext()</code> return the actual
+      context responsible for the specified path?  [false]</li>
+  <li><code>reloadable</code> - Should Tomcat monitor classes in the
+      <code>/WEB-INF/classes</code> directory for changes, and reload the
+      application if they occur?  [false]</li>
+  <li><code>useNaming</code> - Should Tomcat provide a JNDI naming context,
+      containing preconfigured entries and resources, corresponding to the
+      requirements of the Java2 Enterprise Edition specification?  [true]</li>
+  </ul>
+
+  <p>Each <em>Default Context</em> is owned by a parent <em>Engine</em> or
+  <em>Host</em>, and is associated with:</p>
+  <ul>
+  <li>Zero or more <em>Environment Entries</em> representing environment
+      entries for the JNDI naming context associated with a web
+      application.</li>
+  <li>Zero or more <em>JDBC Resources</em> representing database connection
+      pools associated with a web application.</li>
+  <li>An optional <em>Loader</em> representing default configuration
+      properties for the Loader component of deployed web applications.</li>
+  <li>An optional <em>Manager</em> representing default configuration
+      properties for the Manager component fo deployed web applications.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Deployment Descriptor"><strong>Default Deployment Descriptor</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Default web application characteristics are configured in a special
+  deployment descriptor named <code>$CATALINA_HOME/conf/web.xml</code>.  This
+  section describes the configurable components that may be stored there.</p>
+
+  <p><strong>FIXME</strong> - Complete the description of default servlets,
+  default mappings, default MIME types, and so on.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Engine</em> is the representation of the entire Catalina
+  servlet container, and processes all requests for all of the associated
+  virtual hosts and web applications.</p>
+
+  <p>The standard component implementing an <em>Engine</em> is
+  <code>org.apache.catalina.core.StandardEngine</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>defaultHost</code> - Name of the <em>Host</em> to which requests
+      will be directed if the requested host is unknown.  [localhost]</li>
+  <li><code>name</code> - Logical name of this engine. [Tomcat Stand-Alone]
+      </li>
+  </ul>
+
+  <p>Each <em>Engine</em> is owned by a parent <em>Service</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by the entire container.</li>
+  <li>A <em>Default Context</em>, representing default properties of a
+      <em>Context</em> for automatically deployed applications for all
+      associated <em>Hosts</em> (unless overridden by a subordinate
+      component).</li>
+  <li>One or more <em>Hosts</em> representing individual virtual hosts
+      supported by this container.</li>
+  <li>A <em>Realm</em> used to provide authentication and access control
+      information for all virtual hosts and web applications (unless
+      overridden by a subordinate component).</li>
+  <li>Zero or more <em>Request Filters</em> used to limit access to the
+      entire container based on remote host name or IP address.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>An <em>Environment Entry</em> is the representation of a
+  <code>&lt;env-entry&gt;</code> element from a web application deployment
+  descriptor.  It will cause the creation of a corresponding entry in the
+  JNDI naming context provided to the corresponding <em>Context</em>.  The
+  following configurable properties are supported:</p>
+  <ul>
+  <li><code>description</code> - Description of this environment entry.</li>
+  <li><code>name</code> - Environment entry name (relative to the
+      <code>java:comp/env</code> context)</li>
+  <li><code>type</code> - Environment entry type (must be one of the fully
+      qualified Java classes listed in the servlet spec).</li>
+  <li><code>value</code> - Environment entry value (must be convertible from
+      String to the specified <code>type</code>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Host</em> is the representation of an individual virtual host,
+  which has a unique set of associated web applications.</p>
+
+  <p>The standard component implementing a <em>Host</em> is
+  <code>org.apache.catalina.core.StandardHost</code>.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>aliases</code> - Zero or more DNS names that are also associated
+      with this host (for example, a particular host might be named
+      <code>www.mycompany.com</code> with an alias <code>company.com</code>).
+      </li>
+  <li><code>appBase</code> - Absolute or relative (to $CATALINA_HOME) path
+      to a directory from which web applications will be automatically
+      deployed.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>name</code> - DNS Name of the virtual host represented by this
+      object.</li>
+  <li><code>unpackWARs</code> - Should web application archive files
+      deployed by this virtual host be unpacked first?  [true]</li>
+  </ul>
+
+  <p>Each <em>Host</em> is owned by a parent <em>Engine</em>, and is
+  associated with:</p>
+  <ul>
+  <li>An optional <em>Access Logger</em> that logs all requests processed
+      by this virtual host.</li>
+  <li>One or more <em>Contexts</em> representing the web applications
+      operating on this <em>Host</em>.</li>
+  <li>A <em>Default Context</em> representing default <em>Context</em>
+      properties for web applications that are automatically deployed
+      by this <em>Host</em>.</li>
+  <li>A optional <em>Realm</em> used to provide authentication and access
+      control information for all web applications associated with this
+      virtual host (unless overridden by a subordinate component).</li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we support configuration of the
+  User Web Applications functionality?</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>JDBC Resources</em> represents a database connection pool (i.e.
+  an implementation of <code>javax.sql.DataSource</code> that will be
+  configured and made available in the JNDI naming context associated with
+  a web application.</p>
+
+  <p><strong>FIXME</strong> - properties of this administered object</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Loader</em> represents a web application class loader that will
+  be utilized to provide class loading services for a particular
+  <em>Context</em>.</p>
+
+  <p>The standard component implementing a <em>Loader</em> is
+  <code>org.apache.catalina.loader.StandardLoader</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      modified classes, if automatic reloading is enabled.  [15]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>reloadable</code> - Should this class loader check for modified
+      classes and initiate automatic reloads?  [Set automatically from the
+      <code>reloadable</code> property of the corresponding <em>Context</em>]
+      </li>
+  </ul>
+
+  <p>Each <em>Loader</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Manager</em> represents a session manager that will be associated
+  with a particular web application.  <strong>FIXME</strong> - Add support
+  for advanced session managers and their associated Stores.</p>
+
+  <p>The standard component implementing a <em>Manager</em> is
+  <code>org.apache.catalina.session.StandardManager</code>.  It supports
+  the following configurable properties:</p>
+  <ul>
+  <li><code>checkInterval</code> - Number of seconds between checks for
+      expired sessions.  [60]</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>entropy</code> - String initialization parameter used to increase
+      the entropy (initial randomness) of the random number generator used to
+      create session identifiers.  [Inferred from engine, host, and context]
+      </li>
+  <li><code>maxActiveSessions</code> - The maximum number of active sessions
+      that are allowed, or -1 for no limit.  [-1]</li>
+  </ul>
+
+  <p>Each <em>Manager</em> is owned by a parent <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <em>Realm</em> represents a "database" of information about authorized
+  users, their passwords, and the security roles assigned to them.  This will
+  be used by the container in the implementation of container-managed security
+  in accordance with the Servlet Specification.  Several alternative
+  implementations are supported.</p>
+
+  <p><code>org.apache.catalina.realm.MemoryRealm</code> initializes its user
+  information from a simple XML file at startup time.  If changes are made
+  to the information in this file, the corresponding web applications using
+  it must be restarted for the changes to take effect.  It supports the
+  following configurable properties:</p>
+  <ul>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>pathname</code> - Absolute or relative (to $CATALINA_HOME) path to
+      the XML file containing our user information.  [conf/tomcat-users.xml]
+      </li>
+  </ul>
+
+  <p><code>org.apache.catalina.realm.JDBCRealm</code> uses a relational
+  database (accessed via JDBC APIs) to contain the user information.  Changes
+  in the contents of this database take effect immediately; however, the roles
+  assigned to a particular user are calculated only when the user initially
+  logs on (and not per request).  The following configurable properties
+  are supported:</p>
+  <ul>
+  <li><code>connectionName</code> - Database username to use when establishing
+      a JDBC connection.</li>
+  <li><code>connectionPassword</code> - Database password to use when
+      establishing a JDBC connection.</li>
+  <li><code>connectionURL</code> - Connection URL to use when establishing
+      a JDBC connection.</li>
+  <li><code>debug</code> - Debugging detail level.  [0]</li>
+  <li><code>digest</code> - Name of the <code>MessageDigest</code> algorithm
+      used to encode passwords in the database, or a zero-length string for
+      no encoding.  [Zero-length String]</li>
+  <li><code>driverName</code> - Fully qualified Java class name of the JDBC
+      driver to be utilized.</li>
+  <li><code>roleNameCol</code> - Name of the column, in the User Roles table,
+      which contains the role name.</li>
+  <li><code>userCredCol</code> - Name of the column, in the Users table,
+      which contains the password (encrypted or unencrypted).</li>
+  <li><code>userNameCol</code> - Name of the column, in both the Users and
+      User Roles tables, that contains the username.</li>
+  <li><code>userRoleTable</code> - Name of the User Roles table, which contains
+      one row per security role assigned to a particular user.  This table must
+      contain the columns specified by the <code>userNameCol</code> and
+      <code>roleNameCol</code> properties.</li>
+  <li><code>userTable</code> - Name of the Users table, which contains one row
+      per authorized user.  This table must contain the columns specified by
+      the <code>userNameCol</code> and <code>userCredCol</code> properties.
+      </li>
+  </ul>
+
+  <p><strong>FIXME</strong> - Should we provide mechanisms to edit the contents
+  of a "tomcat-users.xml" file through the admin applications?</p>
+
+  <p>Each <em>Realm</em> is owned by a parent <em>Engine</em>, <em>Host</em>,
+  or <em>Context</em>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p><strong>FIXME</strong> - complete this entry</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-opers.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-opers.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-admin-opers.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,264 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Administrative Apps - Supported Operations</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Administrative Apps - Supported Operations</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Operations Overview"><strong>Supported Operations Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document defines the <em>Supported Operations</em> that may
+be performed against the <a href="fs-admin-objects.html">Administered
+Objects</a> that are supported by Tomcat 5 administrative applications.
+Not all operations are required to be available through every administrative
+application that is implemented.  However, if a given operation is available,
+it should operate consistently with the descriptions found here.</p>
+
+<p>Supported Operations are described for the following Administered
+Objects:</p>
+<ul>
+<li><a href="#Access Logger">Access Logger</a></li>
+<li><a href="#Connector">Connector</a></li>
+<li><a href="#Context">Context</a></li>
+<li><a href="#Default Context">Default Context</a></li>
+<li><a href="#Engine">Engine</a></li>
+<li><a href="#Environment Entry">Environment Entry</a></li>
+<li><a href="#Host">Host</a></li>
+<li><a href="#JDBC Resource">JDBC Resource</a></li>
+<li><a href="#Loader">Loader</a></li>
+<li><a href="#Manager">Manager</a></li>
+<li><a href="#Realm">Realm</a></li>
+<li><a href="#Request Filter">Request Filter</a></li>
+<li><a href="#Server">Server</a></li>
+<li><a href="#Service">Service</a></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logger"><strong>Access Logger</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Access Logger</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Connector"><strong>Connector</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Connector</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context"><strong>Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Context</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  <li>Create and configure a new <em>Loader</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Loader</em>.</li>
+  <li>Remove the associated <em>Loader</em>.</li>
+  <li>Create and configure a new <em>Manager</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Manager</em>.</li>
+  <li>Remove the associated <em>Manager</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Default Context"><strong>Default Context</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Default Context</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em> or <em>Host</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Environment Entry</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Environment Entry</em>.</li>
+  <li>Remove an associated <em>Environment Entry</em>.</li>
+  <li>Create and configure a new <em>JDBC Resource</em> associated
+      with this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>JDBC Resource</em>.</li>
+  <li>Remove an associated <em>JDBC Resource</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Engine"><strong>Engine</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Engine</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Service</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Host</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Host</em>.</li>
+  <li>Remove an associated <em>Host</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entry"><strong>Environment Entry</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Environment Entry</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host"><strong>Host</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Host</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Access Logger</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Access
+      Logger</em>.</li>
+  <li>Remove the associated <em>Access Logger</em>.</li>
+  <li>Create and configure a new <em>Context</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Context</em>.</li>
+  <li>Remove an associated <em>Context</em>.</li>
+  <li>Create and configure a new <em>Default Context</em> associated
+      with this object.</li>
+  <li>Edit the configurable properties of the associated <em>Default
+      Context</em>.</li>
+  <li>Remove the associated <em>Default Context</em>.</li>
+  <li>Create and configure a new <em>Realm</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Realm</em>.</li>
+  <li>Remove the associated <em>Realm</em>.</li>
+  <li>Create and configure a new <em>Request Filter</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an
+      associated <em>Request Filter</em></li>
+  <li>Remove an associated <em>Request Filter</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Resource"><strong>JDBC Resource</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>JDBC Resource</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em> or <em>Default Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Loader"><strong>Loader</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Loader</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Manager</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm"><strong>Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Realm</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filter"><strong>Request Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Request Filter</em>, it shall
+  be possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Engine</em>, <em>Host</em>, or
+      <em>Context</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server"><strong>Server</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of the overall <em>Server</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Service</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Service</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Service"><strong>Service</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>From the perspective of a particular <em>Service</em>, it shall be
+  possible to perform the following administrative operations:</p>
+  <ul>
+  <li>Navigate to the owning <em>Server</em>.</li>
+  <li>Edit the configurable properties of this object.</li>
+  <li>Create and configure a new <em>Connector</em> associated with
+      this object.</li>
+  <li>Select and edit the configurable properties of an associated
+      <em>Connector</em>.</li>
+  <li>Remove an associated <em>Connector</em>.</li>
+  <li>Create and configure a new <em>Engine</em> associated with
+      this object.</li>
+  <li>Edit the configurable properties of the associated <em>Engine</em>.</li>
+  <li>Remove the associated <em>Engine</em>.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-default.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-default.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-default.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,225 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Default Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Default Servlet</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Default Servlet</strong> is to serve
+    static resources of a web application in response to client requests.
+    As the name implies, it is generally configured as the "default"
+    servlet for a web application, by being mapped to a URL pattern "/".</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following external specifications have provisions which
+    partially define the correct behavior of the default servlet:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/servlet/download.html">
+        Servlet Specification</a> (Version 2.3 PFD2)</li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2046.txt">Multipurpose
+        Internet Mail Extensions (MIME) Part Two: Media Types</a></li>
+    <li><a href="http://www.rfc-editor.org/rfc/rfc2616.txt">Hypertext
+        Transfer Protocol -- HTTP/1.1</a></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Must be implemented as a servlet.</li>
+    <li>Must support configurable parameters for debugging detail level,
+        input buffer size, output buffer size, whether or not to produce
+        directory listings when no welcome file is present, and whether or not
+        modifications are supported via DELETE and PUT.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the default servlet to operate correctly:</p>
+    <ul>
+    <li>The default servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_HOME/conf/web.xml</code>) using a "default servlet"
+        servlet mapping, signified by URL pattern "/".</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the default servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>The container shall provide a servlet context attribute that
+        lists the welcome file names that have been defined for this
+        web application.</li>
+    <li>The container shall provide a servlet context attribute that
+        contains a <code>javax.naming.directory.DirContext</code>
+        implementation representing the static resources of this
+        web application.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Process and sanity check configuration parameters.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <p>For all HTTP request methods, the resource path is determined from
+    the path information provided to this request, either as request attribute
+    <code>javax.servlet.include.path_info</code> (for a request dispatcher
+    access to a static resource) or by calling
+    <code>request.getPathInfo()</code> directly.</p>
+
+    <p>On each HTTP DELETE request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found)</li>
+    <li>Unbind the resource from the directory context containing the
+        static resources for this web application.  If successful, return
+        HTTP status 204 (no content).  Otherwise, return HTTP status 405
+        (method not allowed).</li>
+    </ul>
+
+
+    <p>On each HTTP GET request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>If the request is for a resource under <code>/META-INF</code> or
+        <code>/WEB-INF</code>, return HTTP status 404 (not found).</li>
+    <li>If the requested resource does not exist, return HTTP status 404
+        (not found).</li>
+    <li>If the requested resource is not a directory, but the resource
+        path ends in "/" or "\", return HTTP status 404 (not found).</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If the request path does not end with "/", redirect to a
+            corresponding path with "/" appended so that relative references
+            in welcome files are resolved correctly.</li>
+        <li>If one of the specified welcome files exists, redirect to the
+            path for that welcome file so that it will be served explicitly.
+            </li>
+        </ul></li>
+    <li>If the request being processed contains an <code>If-Range</code>
+        header, perform the processing described in the HTTP/1.1 specification
+        to determine whether the client's information is up to date.</li>
+    <li>Determine the content type of the response, by looking up the
+        corresponding MIME type in our servlet context.</li>
+    <li>If the requested resource is a directory:
+        <ul>
+        <li>If directory listings are suppressed, return HTTP status 404
+            (not found).</li>
+        <li>Set the content type to <code>text/html</code>.</li>
+        </ul></li>
+    <li>Determine the range(s) to be returned, based on the existence of
+        any <code>If-Range</code> and <code>Range</code> headers.</li>
+    <li>If the requested resource is a directory, include an <code>ETag</code>
+        header in the response, with the value calculated based on the content
+        of the directory.</li>
+    <li>Include a <code>Last-Modified</code> header in the response documenting
+        the date/time that the resource was last modified.</li>
+    <li>Unless we are processing a HEAD request, include the appropriate
+        content (or content ranges) in the response.</li>
+    </ul>
+
+    <p>On each HTTP HEAD request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request, except that the data
+        content is not transmitted after the headers.</li>
+    </ul>
+
+    <p>On each HTTP POST request processed by this servlet, the following
+    processing shall be performed:</p>
+    <ul>
+    <li>Processed identically to an HTTP GET request.</li>
+    </ul>
+
+
+    <p>On each HTTP PUT request processed by this servlet, the following
+    processing shall be perfomred:</p>
+    <ul>
+    <li>If modifications to the static resources are not allowed (set by a
+        configuration parameter), return HTTP status 403 (forbidden).</li>
+    <li>If an attempt is made to delete a resource from <code>/META-INF</code>
+        or <code>/WEB-INF</code>, return HTTP status 403 (forbidden).</li>
+    <li>Create a new resource from the body of this request.</li>
+    <li>Bind or rebind the specified path to the new resource (depending on
+        whether it currently exists or not).  Return HTTP status as follows:
+        <ul>
+        <li>If binding was unsuccessful, return HTTP status 409 (conflict).
+            </li>
+        <li>If binding was successful and the resource did not previously
+            exist, return HTTP status 201 (created).</li>
+        <li>If binding was successful and the resource previously existed,
+            return HTTP status 204 (no content).</li>
+        </ul></li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>Requests for resources that do not exist in the web application must
+      return HTTP status 404 (not found).</li>
+  <li>The default servlet must operate identically for web applications that
+      are run out of a WAR file directly, or from an unpacked directory
+      structure.</li>
+  <li>If the web application is running out of an unpacked directory
+      structure, the default servlet must recognize cases where the resource
+      has been updated through external means.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-invoker.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-invoker.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-invoker.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,220 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Invoker Servlet</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Invoker Servlet</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>Invoker Servlet</strong> is to allow a
+    web application to dynamically register new <em>servlet definitions</em>
+    that correspond with a <code>&lt;servlet&gt;</code> element in the
+    <code>/WEB-INF/web.xml</code> deployment descriptor, and execute
+    requests utilizing the new servlet definitions.  From the perspective
+    of the newly registered servlets, all servlet lifecycle requirements
+    of the Servlet Specification (such as calling <code>init()</code> and
+    <code>destroy()</code> at the correct times) will be respected.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>I do not know of any formal specification of the behavior of an
+    invoker servlet that is publicly available.  Anyone know of one?</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Implemented as a servlet.</li>
+    <li>Exist in the <code>org.apache.catalina.servlets</code> package
+        so that it can be loaded by the Catalina class loader.</li>
+    <li>Implement the <code>org.apache.catalina.ContainerServlet</code>
+        interface, so that it gains knowledge of the <code>Wrapper</code>
+        that is responsible for itself and, therefore, access to other
+        internal Catalina components.</li>
+    <li>Support a configurable debugging detail level.</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getServletContext().log()</code> method.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    the Invoker servlet to operate correctly:</p>
+    <ul>
+    <li>The invoker servlet must be registered in the application deployment
+        descriptor (or the default deployment descriptor in file
+        <code>$CATALINA_HOME/conf/web.xml</code>) using a "path mapped"
+        servlet mapping.  The historical default mapping is to URL pattern
+        "<code>/servlet/*</code>", although the invoker servlet must operate
+        correctly with an arbitrary mapping.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of the invoker servlet depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Correct support for the <code>ContainerServlet</code> interface,
+        including calling <code>setWrapper()</code> <strong>before</strong>
+        the <code>init()</code> method of the invoker servlet is called.</li>
+    <li>The web application class loader must be stored as the context
+        class loader of the request processing thread.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Initialization Functionality"><strong>Initialization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following processing must be performed when the <code>init()</code>
+    method of the invoker servlet is called:</p>
+    <ul>
+    <li>Ensure that the container has called <code>setWrapper()</code>.  If
+        not, throw a permanent <code>UnavailableException</code>.</li>
+    <li>Look up and cache the <code>Context</code> that corresponds to our
+        <code>Wrapper</code>.  This is the component with which new servlet
+        definitions and mappings will be registered.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Per-Request Functionality"><strong>Per-Request Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>On each request, the following processing shall be performed:</p>
+    <ol>
+    <li>Calculate the <code>{ServletPath}</code> for this request, either from
+        request attribute <code>javax.servlet.include.servlet_path</code> or
+        by calling <code>request.getServletPath()</code>.</li>
+    <li>Calculate the <code>{PathInfo}</code> for this request, either from
+        request attribute <code>javax.servlet.include.path_info</code> or
+        by calling <code>request.getPathInfo()</code>.  If the calculated
+        <code>{PathInfo}</code> is null, return HTTP status 400
+        (bad request).</li>
+    <li>Parse the calculated <code>{PathInfo}</code> value as follows:
+        <ol>
+        <li>Ignore the leading slash character.</li>
+        <li>Accumulate characters up to the next '/' (if any) as the
+            <code>{ServletSelector}</code>.</li>
+        <li>If a '/' was encountered, accumulate all characters from that
+            slash (inclusive) to the end of the string as
+            <code>{PathRemainder}</code>.  If no slash was encountered,
+            set <code>{PathRemainder}</code> to a zero-length string.</li>
+        </ol></li>
+    <li>Determine whether <code>{ServletSelector}</code> is the name of an
+        existing servlet definition, and process it as follows:
+        <ol>
+        <li>Ask our associated <code>Context</code> to find and return a
+            child <code>Wrapper</code> named <code>{ServletSelector}</code>.
+            </li>
+        <li>If there is no such child, skip to the next major step.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    <li>Assume that <code>{ServletSelector}</code> is the fully qualified
+        name of a Java class that implements <code>javax.servlet.Servlet</code>
+        and process it as follows:
+        <ol>
+        <li>Synthesize a new <code>{ServletName}</code> for the servlet
+            definition that will be created.</li>
+        <li>If there is already a child <code>Wrapper</code> associated with
+            this name, return HTTP status 500 (internal server error), because
+            a mapping should have already been created for this servlet.</li>
+        <li>Attempt to load a class named <code>{ServletSelector}</code> from
+            the web application class loader (i.e. the context class loader
+            for our current thread).  If this fails, return HTTP status 404
+            (not found).</li>
+        <li>Instantiate an instance of this class.  If an error occurs,
+            return HTTP status 404 (not found).</li>
+        <li>If this class does not implement the
+            <code>javax.servlet.Servlet</code> interface, return HTTP status
+            404 (not found).</li>
+        <li>Create and register a new <code>Wrapper</code> child with our
+            <code>Context</code>, under name <code>{ServletName}</code>.</li>
+        <li>Register a new servlet mapping for this <code>Wrapper</code>,
+            using a URL pattern calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + "/*"</li>
+        <li>Create a request dispatcher using a path calculated as follows:
+            <code>{ServletPath}</code> + "/" + <code>{ServletSelector}</code>
+            + <code>{PathRemainder}</code></li>
+        <li>Forward this request to the created request dispatcher, and
+            exit from this request.</li>
+        </ol></li>
+    </ol>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Finalization Functionality"><strong>Finalization Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>No specific processing is required when the <code>destroy()</code>
+    method is called:</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of the invoker servlet:</p>
+  <ul>
+  <li>It is possible to access an existing servlet definition by name
+      through the invoker.  The existing servlet definition can include
+      either a <code>&lt;servlet-class&gt;</code> or
+      <code>&lt;jsp-file&gt;</code> subelement.</li>
+  <li>When an existing servlet definition is accessed by name, the request
+      will be ultimately processed by the same servlet instance that would
+      have processed it had a mapping to that servlet definition been used
+      on the request directly.</li>
+  <li>It is possible to access an anonymous servlet by class name
+      through the invoker.</li>
+  <li>When an anonymous servlet is accessed, the servlet instance is processed
+      according to the lifecycle requirements of the Servlet Specification.
+      </li>
+  <li>When an anonymous servlet is accessed, the servlet instance receives
+      a <code>ServletConfig</code> instance with no servlet initialization
+      parameters.</li>
+  <li>It is possible to utilize the invoker servlet via a direct request.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.forward()</code>, or the corresponding
+      <code>&lt;jsp:forward&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to utilize the invoker servlet via a call to
+      <code>RequestDispatcher.include()</code>, or the corresponding
+      <code>&lt;jsp:include&gt;</code> tag in a JSP page.</li>
+  <li>It is possible to use any HTTP method (including GET and POST) that
+      is supported by the Servlet class that is ultimately executed.</li>
+  <li>The invoker servlet should never be asked to process a second or
+      subsequent request for the same <code>{ServletSelector}</code> (because
+      it will have registered an appropriate servlet mapping.</li>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jdbc-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jdbc-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jdbc-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,221 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JDBCRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JDBCRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JDBCRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a relational database accessed via JDBC APIs.  For integration
+    with Catalina, the resulting class(es) must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JDBCRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity</a> (version 2.0 or later)</li>
+    <li><a href="http://java.sun.com/products/jdbc/">Java Database
+        Connectivity Optional Package</a> (version 2.0 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JDBCRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JDBCRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JDBCRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JDBCRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JDBCRealm</code> must have the JDBC standard API classes
+        available to it.  For a JDK 1.2 or later container, these APIs
+        are included in the standard platform.</li>
+    <li>When connection pooling is implemented, <code>JDBCRealm</code>
+        must have the JDBC Optional Package (version 2.0 or later) APIs
+        available to it.  This library is available as a separate
+        download (and will be included in Tomcat binary distributions).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>JDBCRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in a relational database accessed via JDBC APIs.
+    For maximum flexibility, the details of how this is done (for example,
+    the names of the required tables and columns) should be configurable.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configuration parameters defining the JDBC driver to use, the
+        database connection URL to be accessed, and the username/password
+        to use for logging in. [Current]</li>
+    <li>Configuration parameters describing the connection pool to be
+        created to support simultaneous authentications. [Requested]</li>
+    <li>Name of the tables to be searched for users and roles. [Current]</li>
+    <li>Name of the columns to be used for usernames, passwords, and
+        role names.  [Current]</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured database, using the
+        configured username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        database.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the database.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Select the one and only row from the user's table for this user,
+        and retrieve the corresponding password column.  If zero rows (or
+        more than one row) are found, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user by selecting from the roles table.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JDBCRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jndi-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jndi-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-jndi-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,376 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - JNDIRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>JNDIRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>JNDIRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a directory server or other service accessed via JNDI APIs.  For
+    integration with Catalina, this class must implement the
+    <code>org.apache.catalina.Realm</code> interface.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.JNDIRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+    <p>The code in the current version of <code>JNDIRealm</code>, and the
+    ideas expressed in this functional specification, are the results of
+    contributions from many individuals, including (alphabetically):</p>
+    <ul>
+    <li>Holman, John &lt;j.g.holman at qmw.ac.uk&gt;</li>
+    <li>Lockhart, Ellen &lt;elockhart at home.com&gt;</li>
+    <li>McClanahan, Craig &lt;craigmcc at apache.org&gt;</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jndi/">Java Naming and
+        Directory Interface</a> (version 1.2.1 or later)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    JNDIRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize JNDIRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.</li>
+    <li>If the <em>Administrator Login</em> operational mode is selected,
+        the configured administrator username and password must be configured
+        in the corresponding directory server.</li>
+    <li>If the <em>Username Login</em> operational mode is selected,
+        the corresponding directory server must be configured to accept
+        logins with the username and password that will be passed to
+        <code>JNDIRealm</code> by the appropriate <code>Authenticator</code>.
+        </li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of JNDIRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>JNDIRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>JNDIRealm</code> must have the JNDI API classes available
+        to it.  For a JDK 1.2 container, that means <code>jndi.jar</code>
+        and the appropriate implementation (such as <code>ldap.jar</code>)
+        must be placed in the <code>server/lib</code> directory.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Operational Modes"><strong>Operational Modes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The completed <code>JNDIRealm</code> must support two major operational
+    modes in order to support all of the required use cases.  For the purposes
+    of this document, the modes are called <em>administrator login</em> and
+    <em>Username Login</em>.  They are described further in the following
+    paragraphs.</p>
+
+    <p>For <em>Administrator Login</em> mode, <code>JNDIRealm</code> will be
+    configured to establish one or more connections (using a connection pool)
+    to an appropriate directory server, using JNDI APIs, under a "system
+    administrator" username and password.  This is similar to the approach
+    normally used to configure <code>JDBCRealm</code> to access authentication
+    and access control information in a database.  It is assumed that the
+    system administrator username and password that are configured provide
+    sufficient privileges within the directory server to read (but not modify)
+    the username, password, and assigned roles for each valid user of the
+    web application associated with this <code>Realm</code>.  The password
+    can be stored in cleartext, or in one of the digested modes supported by
+    the <code>org.apache.catalina.realm.RealmBase</code> base class.</p>
+
+    <p>For <em>Username Login</em> mode, <code>JNDIRealm</code> does not
+    normally remain connected to the directory server.  Instead, whenever a
+    user is to be authenticated, a connection to the directory server
+    (using the username and password received from the authenticator) is
+    attempted.  If this connection is successful, the user is assumed to be
+    successfully authenticated.  This connection is then utilized to read
+    the corresponding security roles associated with this user, and the
+    connection is then broken.</p>
+
+    <p><strong>NOTE</strong> - <em>Username Login</em> mode cannot be used
+    if you have selected login method <code>DIGEST</code> in your web
+    application deployment descriptor (<code>web.xml</code>) file.  This
+    restriction exists because the cleartext password is never available
+    to the container, so it is not possible to bind to the directory server
+    using the user's username and password.</p>
+
+    <p>Because these operational modes work so differently, the functionality
+    for each mode will be described separately.  Whether or not both modes
+    are actually supported by a single class (versus a class per mode) is
+    an implementation detail left to the designer.</p>
+
+    <p><strong>NOTE</strong> - The current implementation only implements
+    part of the <em>Administrator Lookup</em> mode requirements.  It does
+    not support the <em>Username Lookup</em> mode at all, at this point.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Administrator Login Mode Functionality"><strong>Administrator Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining how a particular user is
+        authenticated.  The following capabilities should be supported:
+        <ul>
+        <li>Substitute the specified username into a string.  [Requested]</li>
+        <li>Retrieve the distinguished name (DN) of an authorized user via an
+            LDAP search string with a replacement placeholder for the
+            username, and comparison of the password to a configurable
+            attribute retrieved from the search result.  [Current]</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        <li>Retrieve a set of role names that are defined implicitly (by
+            selecting principals that match a search pattern) rather than
+            explicitly (by finding a particular attribute value).
+            [Requested]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Establish a connection to the configured directory server, using the
+        configured system administrator username and password.  [Current]</li>
+    <li>Configure and establish a connection pool of connections to the
+        directory server.  [Requested]</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Close any opened connections to the directory server.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Acquire the one and only connection [Current] or acquire a connection
+        from the connection pool [Requested].</li>
+    <li>Authenticate the user by retrieving the user's Distinguished Name,
+        based on the specified username and password.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Username Login Mode Functionality"><strong>Username Login Mode Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li><code>connectionURL</code> - URL of the directory server we will
+        be contacting.</li>
+    <li><code>contextFactory</code> - Fully qualified class name of the JNDI
+        context factory used to retrieve our InitialContext.
+        [com.sun.jndi.ldap.LdapCtxFactory]</li>
+    <li>Additional configuration properties required to establish the
+        appropriate connection.  [Requested]</li>
+    <li>Connection pool configuration properties.  [Requested]</li>
+    <li>Configuration properties defining if and how a user might be looked
+        up before binding to the directory server.  The following approaches
+        should be supported:
+        <ul>
+        <li>No previous lookup is required - username specified by the user
+            is the same as that used to authenticate to the directory
+            server.</li>
+        <li>Substitute the specified username into a string.</li>
+        <li>Search the directory server based on configured criteria to
+            retrieve the distinguished name of the user, then attempt to
+            bind with that distinguished name.</li>
+        </ul></li>
+    <li>Configuration properties defining how the roles associated with a
+        particular authenticated user can be retrieved.  The following
+        approaches should be supported:
+        <ul>
+        <li>Retrieve a specified attribute (possibly multi-valued)
+            from an LDAP search expression,
+            with a replacement placeholder for the DN of the user.
+            [Current]</li>
+        </ul></li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>None required.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Attempt to bind to the directory server, using the username and
+        password provided by the user.</li>
+    <li>If the user was not authenticated, release the allocated connection
+        and return <code>null</code>.</li>
+    <li>Acquire a <code>List</code> of the security roles assigned to the
+        authenticated user.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, passing as
+        constructor arguments:  this realm instance, the authenticated
+        username, and a <code>List</code> of the security roles associated
+        with this user.</li>
+    <li><strong>WARNING</strong> - Do not attempt to cache and reuse previous
+        <code>GenericPrincipal</code> objects for a particular user, because
+        the information in the directory server might have changed since the
+        last time this user was authenticated.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>JNDIRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-memory-realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-memory-realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/fs-memory-realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,212 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - MemoryRealm</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>MemoryRealm</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The purpose of the <strong>MemoryRealm</strong> implementation is to
+    provide a mechanism by which Tomcat 5 can acquire information needed
+    to authenticate web application users, and define their security roles,
+    from a simple text-based configuration file in XML format.  This is
+    intended to simplify the initial installation and operation of Tomcat 5,
+    without the complexity of configuring a database or directory server
+    based Realm.  It is not intended for production use.</p>
+
+    <p>This specification reflects a combination of functionality that is
+    already present in the <code>org.apache.catalina.realm.MemoryRealm</code>
+    class, as well as requirements for enhancements that have been
+    discussed.  Where appropriate, requirements statements are marked
+    <em>[Current]</em> and <em>[Requested]</em> to distinguish them.</p>
+
+    <p>The current status of this functional specification is
+    <strong>PROPOSED</strong>.  It has not yet been discussed and
+    agreed to on the TOMCAT-DEV mailing list.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="External Specifications"><strong>External Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality depends on the following
+    external specifications:</p>
+    <ul>
+    <li>None</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Implementation Requirements"><strong>Implementation Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The implementation of this functionality shall conform to the
+    following requirements:</p>
+    <ul>
+    <li>Be realized in one or more implementation classes.</li>
+    <li>Implement the <code>org.apache.catalina.Realm</code> interface.
+        [Current]</li>
+    <li>Implement the <code>org.apache.catalina.Lifecycle</code>
+        interface.  [Current]</li>
+    <li>Subclass the <code>org.apache.catalina.realm.RealmBase</code>
+        base class.</li>
+    <li>Live in the <code>org.apache.catalina.realm</code> package.
+        [Current]</li>
+    <li>Support a configurable debugging detail level. [Current]</li>
+    <li>Log debugging and operational messages (suitably internationalized)
+        via the <code>getContainer().log()</code> method. [Current]</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Dependencies"><strong>Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environmental Dependencies"><strong>Environmental Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The following environmental dependencies must be met in order for
+    MemoryRealm to operate correctly:</p>
+    <ul>
+    <li>The desire to utilize MemoryRealm must be registered in
+        <code>$CATALINA_HOME/conf/server.xml</code>, in a
+        <code>&lt;Realm&gt;</code> element that is nested inside a
+        corresponding <code>&lt;Engine&gt;</code>, <code>&lt;Host&gt;</code>,
+        or <code>&lt;Context&gt;</code> element.  (This is already
+        included in the default <code>server.xml</code> file.)</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Container Dependencies"><strong>Container Dependencies</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Correct operation of MemoryRealm depends on the following
+    specific features of the surrounding container:</p>
+    <ul>
+    <li>Interactions with <code>MemoryRealm</code> will be initiated by
+        the appropriate <code>Authenticator</code> implementation, based
+        on the login method that is selected.</li>
+    <li><code>MemoryRealm</code> must have an XML parser compatible with
+        the JAXP/1.1 APIs available to it.  This is normally accomplished
+        by placing the corresponding JAR files in directory
+        <code>$CATALINA_HOME/server/lib</code> (to make them visible only
+        to internal Catalina classes) or in directory
+        <code>$CATALINA_HOME/common/lib</code> (to make them visible to
+        Catalina internal classes <strong>and</strong> installed web
+        applications).</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Functionality"><strong>Functionality</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview of Operation"><strong>Overview of Operation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The main purpose of <code>MemoryRealm</code> is to allow Catalina to
+    authenticate users, and look up the corresponding security roles, from
+    the information found in an XML-format configuration file.  The format
+    of this file is described below.  When a <code>MemoryRealm</code>
+    instance is started, it will read the contents of this XML file and create
+    an "in memory database" of all the valid users and their associated
+    security roles.</p>
+
+    <p>Each time that Catalina needs to authenticate a user, it will call
+    the <code>authenticate()</code> method of this Realm implementation,
+    passing the username and password that were specified by the user.  If
+    we find the user in the database (and match on the password), we accumulate
+    all of the security roles that are defined for this user, and create a
+    new <code>GenericPrincipal</code> object to be returned.  If the user
+    is not authenticated, we return <code>null</code> instead.  The
+    <code>GenericUser</code> object caches the set of security roles that
+    were owned by this user at the time of authentication, so that calls to
+    <code>isUserInRole()</code> can be answered without going back to the
+    database every time.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Detailed Functional Requirements"><strong>Detailed Functional Requirements</strong></a></font></td></tr><tr><td><blockquote>
+
+
+    <h3>Configurable Properties</h3>
+
+    <p>The implementation shall support the following properties
+    that can be configured with JavaBeans property setters:</p>
+    <ul>
+    <li>Configurable debugging detail level.</li>
+    <li>Configurable file pathname (absolute or relative to
+        <code>$CATALINA_HOME</code> of the XML file containing our
+        defined users.  [<code>conf/tomcat-users.xml</code>].</li>
+    </ul>
+
+    <h3>Lifecycle Functionality</h3>
+
+    <p>The following processing must be performed when the <code>start()</code>
+    method is called:</p>
+    <ul>
+    <li>Open and parse the specified XML file.</li>
+    <li>Create an in-memory database representation of the XML file
+        contents.</li>
+    <li><strong>NOTE</strong> - There is no requirement to recognize
+        subsequent changes to the contents of the XML file.</li>
+    </ul>
+
+    <p>The following processing must be performed when the <code>stop()</code>
+    method is called:</p>
+    <ul>
+    <li>Release object references to the in-memory database representation.</li>
+    </ul>
+
+
+    <h3>Method authenticate() Functionality</h3>
+
+    <p>When <code>authenticate()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>Select the one and only "user" instance from the in-memory database,
+        based on matching the specified username.  If there is no such
+        instance, return <code>null</code>.</li>
+    <li>Authenticate the user by comparing the (possibly encrypted) password
+        value that was received against the password presented by the user.
+        If there is no match, return <code>null</code>.</li>
+    <li>Construct a new instance of class
+        <code>org.apache.catalina.realm.GenericPrincipal</code> (if not
+        already using this as the internal database representation) that
+        contains the authenticated username and a <code>List</code> of the
+        security roles associated with this user.</li>
+    <li>Return the newly constructed <code>GenericPrincipal</code>.</li>
+    </ul>
+
+
+    <h3>Method hasRole() Functionality</h3>
+
+    <p>When <code>hasRole()</code> is called, the following processing
+    is required:</p>
+    <ul>
+    <li>The <code>principal</code> that is passed as an argument SHOULD
+        be one that we returned (instanceof class
+        <code>org.apache.catalina.realm.GenericPrincipal</code>, with a
+        <code>realm</code> property that is equal to our instance.</li>
+    <li>If the passed <code>principal</code> meets these criteria, check
+        the specified role against the list returned by
+        <code>getRoles()</code>, and return <code>true</code> if the
+        specified role is included; otherwise, return <code>false</code>.</li>
+    <li>If the passed <code>principal</code> does not meet these criteria,
+        return <code>false</code>.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Testable Assertions"><strong>Testable Assertions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>In addition the the assertions implied by the functionality requirements
+  listed above, the following additional assertions shall be tested to
+  validate the behavior of <code>MemoryRealm</code>:</p>
+  <ul>
+  </ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Table of Contents</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Table of Contents</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Functional Specifications"><strong>Catalina Functional Specifications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This documentation area includes <em>functional specifications</em> for
+many features supported by the <strong>Catalina</strong> servlet container
+portion of Tomcat 5.  In most cases, these features are not documented in the
+underlying Servlet or JSP specifications, so a definition of the expected
+correct behavior is important both to implementors of those features, and to
+test writers trying to decide what to test.</p>
+
+<p>The functional specifications are divided into the following categories
+in the menu (to the left):</p>
+<ul>
+<li><em>Administrative Apps</em> - Overall requirements for supporting an
+    ability to configure and operate a Tomcat 5 installation through tools,
+    as well as detailed requirements for the tools themselves.</li>
+<li><em>Internal Servlets</em> - Requirements for Catalina features that are
+    implemented as internal, container-managed, servlets.</li>
+<li><em>Realm Implementations</em> - Requirements for the implementations of
+    the <code>org.apache.catalina.Realm</code> interface (providing access to
+    collections of users, passwords and roles) that are included in the
+    standard Tomcat 5 distribution.</li>
+</ul>
+
+<p><em>NOTE</em> - In some cases, the contents of these functional specs has
+been "reverse engineered" from existing implementations.  This exercise is
+stil useful, because it provides an introduction to <strong>what</strong>
+Catalina does, without being as concerned with <strong>how</strong> this is
+accomplished.</p>
+
+<p><strong>TODO</strong> - Obviously, this area has a long ways to go before
+it is complete.  Contributions are welcome!</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/mbean-names.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/mbean-names.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/catalina/funcspecs/printer/mbean-names.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,708 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Catalina Functional Specifications - Tomcat MBean Names</title><meta value="Craig McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Amy Roh" name="author"><meta value="amyroh at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      Catalina Functional Specifications
+    " align="right" src="../../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Catalina Functional Specifications</h1><h2>Tomcat MBean Names</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>We will be using <em>JMX MBeans</em> as the technology for
+    implementing manageability of Tomcat.</p>
+
+    <p>One of the key concepts of JMX (and JSR-77) is that each management
+    bean has a unique name in the MBeanServer's registry, and that
+    management applications can utilize these names to retrieve the MBean
+    of interest to them for a particular management operation.
+    This document proposes a naming convention for MBeans that allows easy
+    calculation of the name for a particular MBean.  For background
+    information on JMX MBean names, see the <em>Java Management Extensions
+    Instrumentation and Agent Specification</em>, version 1.0, section 6.
+    In particular, we will be discussing the String Representation of
+    <code>ObjectName</code> instances.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina Object Hierarchy"><strong>Catalina Object Hierarchy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat's servlet container implementation, called Catalina, can be
+represented as a hierarchy of objects that contain references to each other.
+The object hierarchy can be represented as a tree, or (isomorphically) based
+on the nesting of configuration elements in the <code>conf/server.xml</code>
+file that is traditionally used to configure Tomcat stand-alone.</p>
+
+<p>The valid component nestings for Catalina are depicted in the following
+table, with columns that contain the following values:</p>
+<ul>
+<li><em>Pattern</em> - Nesting pattern of XML elements (in the
+    <code>conf/server.xml</code> file) used to configure this component.</li>
+<li><em>Cardinality</em> - Minimum and maximum number of occurrences of
+    this element at this nesting position, which also corresponds to the
+    minimum and maximum number of Catalina components.</li>
+<li><em>Identifier</em> - Name of the JavaBeans property of this component
+    that represents the unique identifier (within the nested hierarchy),
+    if any.</li>
+<li><em>MBean ObjectName</em> - The portion of the MBean object name that
+    appears <strong>after</strong> the domain name.  For now, it should be
+    assumed that all of these MBeans appear in the default JMX domain.</li>
+</ul>
+
+<p>In the <em>MBean ObjectName</em> descriptions, several types of symbolic
+expressions are utilized to define variable text that is replaced by
+corresponding values:</p>
+<ul>
+<li><em>${GROUP}</em> - One of the standard MBean names of the specified
+    "group" category.  For example, the expression <code>${REALM}</code>
+    represents the values like <code>JDBCRealm</code> and <code>JAASRealm</code>
+    that identify the various MBeans for possible <code>Realm</code> components.</li>
+<li><em>${name}</em> - Replaced by the value of property <code>name</code>
+    from the current component.</li>
+<li><em>${parent.name}</em> - Replaced by the value of property
+    <code>name</code> from a parent of the current component, with the
+    parent's type identified by <em>parent</em>.</li>
+<li><em>${###}</em> - An arbitrary numeric identifier that preserves
+    order but has no other particular meaning.  In general, the server will
+    assign numeric values to existing instances with large gaps into which
+    new items can be configured if desired.</li>
+</ul>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Pattern</th>
+    <th align="center" bgcolor="aqua">Cardinality</th>
+    <th align="center" bgcolor="aqua">Identifier</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName</th>
+  </tr>
+
+  <tr>
+    <td>Server</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${SERVER}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${SERVICE}, name=${name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>address, port</code></td>
+    <td><code>type=${CONNECTOR}, service=${service}, port=${port},
+        address=${address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Factory</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td>(Only defined explicitly for an SSL connector, but can be treated
+        as part of the connector component)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Connector / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, service=${service},
+        port=${connector.port}, address=${connector.address}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine</td>
+    <td align="center">1..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${ENGINE}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>name</code></td>
+    <td><code>type=${HOST}, host=${name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context</td>
+    <td align="center">1..n</td>
+    <td align="center"><code>path</code></td>
+    <td><code>type=${CONTEXT}, path=${path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / InstanceListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${INSTANCE-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Loader</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LOADER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Manager</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${MANAGER}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Resources</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${RESOURCES}, path=${context.path}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / Wrapper</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>j2eeType=Servlet,name=${name},
+        WebModule=//${host.name}/${context.name},
+        J2EEApplication=${context.J2EEApplication},
+        J2EEServer=${context.J2EEServer}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperLifecycle</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LIFECYCLE}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Context / WrapperListener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${WRAPPER-LISTENER}, sequence=${###}, path=${context.path},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, host=${host.name},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Host / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        host=${host.name}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Listener)</td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Realm</td>
+    <td align="center">0..1</td>
+    <td align="center">(none)</td>
+    <td><code>type=${REALM}, service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Engine / Valve</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${VALVE}, sequence=${###},
+        service=${service.name}</code></td>
+  </tr>
+
+  <tr>
+    <td>Server / Service / Listener</td>
+    <td align="center">0..n</td>
+    <td align="center">(none)</td>
+    <td><code>type=${LISTENER}, sequence=${###}</code>
+        (<strong>FIXME</strong> - disambiguate from Server / Service /
+        Engine / Listener)</td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MBean Groups and Names"><strong>MBean Groups and Names</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following MBean names shall be defined in the resource file
+<code>/org/apache/catalina/mbeans/mbeans-descriptors.xml</code> (and
+therefore available for use within the Administration/Configuration
+web application for Tomcat):</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">MBean Name</th>
+    <th align="center" bgcolor="aqua">Group Name</th>
+    <th align="center" bgcolor="aqua">Catalina Interface</th>
+    <th align="center" bgcolor="aqua">Implementation Class</th>
+  </tr>
+
+  <tr>
+    <td><code>AccessLogValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.AccessLogValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>BasicAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.BasicAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CertificatesValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.CertificatesValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.ContextConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextEnvironment</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+    <td><code>org.apache.catalina.deploy.ContextEnvironment</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResource</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResource</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ContextResourceLink</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+    <td><code>org.apache.catalina.deploy.ContextResourceLink</code></td>
+  </tr>
+
+  <tr>
+    <td><code>CoyoteConnector</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.coyote.tomcat4.CoyoteConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>DigestAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.DigestAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>EngineConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.EngineConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorReportValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorReportValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>ErrorDispatcherValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.ErrorDispatcherValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>FormAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.FormAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Group</code></td>
+    <td align="center"><code>GROUP</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+    <td><code>org.apache.catalina.Group</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HostConfig</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.startup.HostConfig</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector10</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http10.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>HttpConnector11</code></td>
+    <td align="center"><code>CONNECTOR</code></td>
+    <td><code>org.apache.catalina.Connector</code></td>
+    <td><code>org.apache.catalina.connector.http.HttpConnector</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JAASRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JAASRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JDBCRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JDBCUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.JDBCUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>JNDIRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.JNDIRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MBeanFactory</code></td>
+    <td align="center"><code></code></td>
+    <td><code></code></td>
+    <td><code>org.apache.catalina.mbeans.MBeanFactory</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.MemoryRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>MemoryUserDatabase</code></td>
+    <td align="center"><code>USERDATABASE</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+    <td><code>org.apache.catalina.users.MemoryUserDatabase</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingContextListener</code></td>
+    <td align="center"><code>LISTENER</code></td>
+    <td><code>org.apache.catalina.LifecycleListener</code></td>
+    <td><code>org.apache.catalina.core.NamingContextListener</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NamingResources</code></td>
+    <td align="center"><code>RESOURCES</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+    <td><code>org.apache.catalina.deploy.NamingResources</code></td>
+  </tr>
+
+  <tr>
+    <td><code>NonLoginAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.NonLoginAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>PersistentManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.PersistentManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteAddrValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteAddrValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RemoteHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RemoteHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>RequestDumperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.RequestDumperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>Role</code></td>
+    <td align="center"><code>ROLE</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+    <td><code>org.apache.catalina.Role</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SingleSignOn</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.valves.SingleSignOn</code></td>
+  </tr>
+
+  <tr>
+    <td><code>SSLAuthenticator</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.authenticator.SSLAuthenticator</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContext</code></td>
+    <td align="center"><code>CONTEXT</code></td>
+    <td><code>org.apache.catalina.Context</code></td>
+    <td><code>org.apache.catalina.core.StandardContext</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardContextValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardContextValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngine</code></td>
+    <td align="center"><code>ENGINE</code></td>
+    <td><code>org.apache.catalina.Engine</code></td>
+    <td><code>org.apache.catalina.core.StandardEngine</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardEngineValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardEngineValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHost</code></td>
+    <td align="center"><code>HOST</code></td>
+    <td><code>org.apache.catalina.Host</code></td>
+    <td><code>org.apache.catalina.core.StandardHost</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardHostValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardHostValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardManager</code></td>
+    <td align="center"><code>MANAGER</code></td>
+    <td><code>org.apache.catalina.Manager</code></td>
+    <td><code>org.apache.catalina.session.StandardManager</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardServer</code></td>
+    <td align="center"><code>SERVER</code></td>
+    <td><code>org.apache.catalina.Server</code></td>
+    <td><code>org.apache.catalina.core.StandardServer</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardService</code></td>
+    <td align="center"><code>SERVICE</code></td>
+    <td><code>org.apache.catalina.Service</code></td>
+    <td><code>org.apache.catalina.core.StandardService</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapper</code></td>
+    <td align="center"><code>WRAPPER</code></td>
+    <td><code>org.apache.catalina.Wrapper</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapper</code></td>
+  </tr>
+
+  <tr>
+    <td><code>StandardWrapperValve</code></td>
+    <td align="center"><code>VALVE</code></td>
+    <td><code>org.apache.catalina.Valve</code></td>
+    <td><code>org.apache.catalina.core.StandardWrapperValve</code></td>
+  </tr>
+
+  <tr>
+    <td><code>User</code></td>
+    <td align="center"><code>USER</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+    <td><code>org.apache.catalina.User</code></td>
+  </tr>
+
+  <tr>
+    <td><code>UserDatabaseRealm</code></td>
+    <td align="center"><code>REALM</code></td>
+    <td><code>org.apache.catalina.Realm</code></td>
+    <td><code>org.apache.catalina.realm.UserDatabaseRealm</code></td>
+  </tr>
+
+  <tr>
+    <td><code>WebappLoader</code></td>
+    <td align="center"><code>LOADER</code></td>
+    <td><code>org.apache.catalina.Loader</code></td>
+    <td><code>org.apache.catalina.loader.WebappLoader</code></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-77 Cross Reference"><strong>JSR-77 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The managed objects in the JSR-77 object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-77 Managed Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>J2EEServer</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Node</code></td>
+    <td><code>${SERVICE}</code></td>
+    <td>Tomcat supports a single node only.</td>
+  </tr>
+
+  <tr>
+    <td><code>Port</code></td>
+    <td><code>${CONNECTOR}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>Servlet</code></td>
+    <td><code>${WRAPPER}</code></td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td><code>WebModule</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JSR-88 Cross Reference"><strong>JSR-88 Cross Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The deployment objects in the JSR-88 API object hierarchy correspond
+to the specified MBean names or groups as follows:</p>
+
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">JSR-88 API Object</th>
+    <th align="center" bgcolor="aqua">MBean Name or Group</th>
+    <th align="center" bgcolor="aqua">Comments</th>
+  </tr>
+
+  <tr>
+    <td><code>DeployableObject</code></td>
+    <td><code>${CONTEXT}</code></td>
+    <td>Context deployment info plus the corresponding WAR file</td>
+  </tr>
+
+  <tr>
+    <td><code>Target</code></td>
+    <td><code>${HOST}</code></td>
+    <td></td>
+  </tr>
+
+</table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cgi-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cgi-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cgi-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - CGI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>CGI How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cgi-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The CGI (Common Gateway Interface) defines a way for a web server to
+interact with external content-generating programs, which are often
+referred to as CGI programs or CGI scripts.
+</p>
+
+<p>Within Tomcat, CGI support can be added when you are using Tomcat as your
+HTTP server and require CGI support.  Typically this is done
+during development when you don't want to run a web server like 
+Apache httpd.
+Tomcat's CGI support is largely compatible with Apache httpd's, 
+but there are some limitations (e.g., only one cgi-bin directory).
+</p>
+
+<p>CGI support is implemented using the servlet class
+<code>org.apache.catalina.servlets.CGIServlet</code>.  Traditionally,
+this servlet is mapped to the URL pattern "/cgi-bin/*".</p>
+
+<p>By default CGI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - CGI scripts are used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code></p>
+
+<p>Rename <code>$CATALINA_BASE/server/lib/servlets-cgi.renametojar</code>
+to <code>$CATALINA_BASE/server/lib/servlets-cgi.jar</code>.</p>
+
+<p>Remove the XML comments from around the CGI servlet and servlet-mapping
+configuration in <code>$CATALINA_BASE/conf/web.xml</code>.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the CGI servlet.
+<ul>
+<li><strong>cgiPathPrefix</strong> - The CGI search path will start at
+the web application root directory + File.separator + this prefix.
+The default cgiPathPrefix is <code>WEB-INF/cgi</code></li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>executable</strong> - The of the executable to be used to
+run the script. Default is <code>perl</code>.</li>
+<li><strong>parameterEncoding</strong> - Name of the parameter encoding
+to be used with the GCI servlet. Default is
+<code>System.getProperty("file.encoding","UTF-8")</code>.</li>
+<li><strong>passShellEnvironment</strong> - Should the shell environment
+variables (if any) be passed to the CGI script? Default is
+<code>false</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/changelog.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/changelog.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/changelog.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3364 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Changelog</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Filip Hanik" name="author"><meta value="fhanik at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Changelog</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/changelog.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.23 (fhanik)"><strong>Tomcat 5.5.23 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41608">41608</a> Make log levels consistent when Servlet.service()
+        throws an exception. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41666">41666</a> Correct handling of boundary conditions for
+        If-Unmodified-Since and If-Modified-Since headers. Patch provided by
+        Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41674">41674</a> Fix error messages when parsing context.xml that
+        incorrectly referred to web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41739">41739</a> Correct handling of servlets with a load-on-startup
+        value of zero. These are now the first servlets to be started. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Requests with multiple content-length headers are now rejected. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.22 (fhanik)"><strong>Tomcat 5.5.22 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression in build that prevented connectors from building.
+        (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.21 (fhanik)"><strong>Tomcat 5.5.21 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41401">41401</a>: StandardService.getConnectorNames() return array of 
+        Connector JMX objectnames. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29727">29727</a>: If env-entry values in web.xml are changed then
+        ensure new values are applied when context is reloaded. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34956">34956</a>: Ensure request and response objects passed to a
+        RequestDispatcher meet the requirements of SRV.8.2 and
+        SRV.14.2.5.1. This is disabled by default. The Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        is required to enable this test. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36274">36274</a>: When including static content with the
+        DefaultServlet also treat content types ending in xml as text.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36976">36976</a>: Don't use CATALINA_OPTS when stopping Tomcat. This
+        allows options for starting and stopping to be set on JAVA_OPTS and
+        options for starting only to be set on CATALINA_OPTS. Without this
+        fix, some startup options (eg the port for remote JMX) would cause
+        stop to fail. Based on a fix suggested by Michael Vorburger. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37070">37070</a>: Update mbean name documentation to include the
+        StandardWrapper. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37356">37356</a>: Ensure sessions time out correctly. This has been
+        fixed by removing the accessCount feature by default. This feature
+        prevents the session from timing out whilst requests that last
+        longer than the session time out are being processed. This feature
+        is enabled by setting the Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        The feature is now implemented with synchronization which addresses
+        the thread safety issues associated with the original bug report.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37439">37439</a>: Update documentation for Engine component to add
+        the requirement that the name must be unique. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37458">37458</a>: Add syncs to the WebappClassloader to address
+        rare issues when multiple threads attempt to load the same class
+        concurrently. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37509">37509</a>: Do not remove whitespace from the end of values
+        defined in logging.properties files. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38198">38198</a>: Add reference to Context documentation from Host
+        documentation that explains how Context name is obtained from the
+        Context filename. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39088">39088</a>: Prevent infinte loops when an exception is thrown
+        that returns itself for getRootCause(). Based on a patch by Wouter
+        Zelle. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39436">39436</a>: Correct MIME type for SVG. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39627">39627</a>: JULI no longer ignores a ".level=XXX" directive
+        in logging.properties. Patch provided by Roger Keays and Richard
+        Fearn. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39724">39724</a>: Removing the last valve from a pipeline did not
+        return the pipeline to the original state. Patch provided by
+        David Gagon. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40367">40367</a>: Update JK auto configuration documentation to clarify
+        that workers.properties must also exist. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: HttpServletRequest.getAuthType() now returns
+        CLIENT_CERT rather than CLIENT-CERT for certificate authentication
+        as per the spec. Note that web.xml continues to use CLIENT-CERT to
+        specify the certificate authentication should be used. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40526">40526</a>: Add support for JPDA_OPTS to catalina.bat and add a
+        JPDA_SUSPEND environment variable to both startup scripts. Patch
+        provided by Kurt Roy. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40528">40528</a>: Add missing message localisations as provided by
+        Ben Clifford. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40585">40585</a>: Fix parameterised constructor for o.a.juli.FileHandler
+        so parameters have an effect. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40625">40625</a>: Stop CGIServlet swallowing the root cause of an
+        exception. Patch provided by Takayoshi Kimura. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40723">40723</a>: Correct table creation example in JavaDoc for
+        JDBCAccessLogValve. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40802">40802</a>: Add jsp-api.jar to fileset in catalina-tasks.xml as provided by
+        Daniel Santos. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40817">40817</a>: Correct problem where CGI scripts in the root of the
+        ROOT context threw a <code>StringIndexOutOfBoundsException</code>.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Set the <code>SCRIPT_FILENAME</code> environment variable required
+        by PHP when using the CGIServlet to execute PHP. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40823">40823</a>: Update context doc to clarify use of ROOT.xml,
+        multi-level context paths and to further discourage use of server.xml
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40844">40844</a>: Add additional syncs to JDBCRealm to resolve NPE when
+        two users try to authenticate using DIGEST authentication at the same
+        time. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40860">40860</a>: Log exceptions and other problems during parameter
+        processing. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40901">40901</a>: Encode directory listing output. Based on a patch
+        provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40929">40929</a>: Correct JavaDoc for StandardCalssLoader. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41008">41008</a>: Allow POST to be used for indexed queries with CGI
+        Servlet. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41020">41020</a>: Improve error message when custom error report Valve
+        fails to load. Also remove requirement that custom error report Valves
+        extend ValveBase. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure attribute on SSO cookie when cookie is
+        created during a secure request. Patch provided by Chris Halstead.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Ensure Accept-Language headers conform to RFC 2616. Ignore them if
+        they do not. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Make provided instances of RequestDispatcher thread safe. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix formatting of CGI variable SCRIPT_NAME. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">34643</a>: Improved documentation for per-user / per-session clientAuth
+        usage in SSL Authenticator.  Docs provided by jack and Ralf Hauser.  (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40668">40668</a>: Update release notes and readme files specific to v5.5.20 to 
+        notify users of missing MailSessionFactory in distribution, suggest workarounds,
+        and link to relevant Bugzilla issue. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37977">37977</a>: adapt BUILDING.txt and net build.xml for SVN.  Patch by
+        Christopher Sahnwaldt. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39055">39055</a>: Link to sample workaround code for using JSR160 JMX monitoring
+        with a local firewall.  Thanks to George Lindholm for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39476">39476</a>: add xml declaration to most build.xml files, as suggested by
+        Gregory S. Hoerner Sr. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40326">40326</a>: stop using File#deleteOnExit in DefaultServlet to avoid
+        JVM memory leak, as suggested by quartz. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40192">40192</a>: update setup.html notes regarding Windows tray icon. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40177">40177</a>: add more warnings to documentation about RequestDumperValve
+        character encoding.  (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39255">39255</a>: NPE in AuthenticatorBase when logging level is set to DEBUG
+        and no prinicpal found. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41437">41437</a>: Make log messages and loglevel consistent during Context
+        start. Patch provided by Suzuki Yuichiro. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38332">38332</a>: Add backlog attribute to ChannelSocket as provided by
+         Takayoshi Kimura. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Backport packetSize feature from Tomcat 6.0.x at standard coyote AJP Jk handler. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40771">40771</a>: Fix implementation of
+        SavedRequestInputFilter.doRead() so POST data may be read using a
+        Valve or Filter. Patch provided by Michael Dufel. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41017">41017</a>: Restore behaviour of MessageBytes.setString(null).
+        (remm/markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Modify StringCache to add a configurable upper bound
+        to the length of cached strings. (remm/markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38774">38774</a>: Check javax.net.ssl.keyStorePassword system property as a secondary
+        source for keystore password in JSSESocketFactory, as suggested by Ted X. Toth. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39402">39402</a>: Modify existing Vary HTTP header, rather than overwrite it, if it
+        exists when using GZip compression.  Patch by Matthew Cooke. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40241">40241</a>: Catch Exceptions instead of Throwables in Default and SSI servlets.
+        Also improve relevant logging while we're at it. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40133">40133</a>: Better error message when context name is not available on startup,
+        as suggested by Andreas Plesner Jacobsen. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39975">39975</a>: don't have static Log references to prevent
+        classloader leaks. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40104">40104</a>: When displaying JSP source after an exception, handle
+        included files. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40797">40797</a>: This was a regression as a result of the fix for
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33407">33407</a>. TLD validation was failing as a result of the use
+        of the escape character (0x1b) as a temporary replacement for \$.
+        An alternative character (0xe000) from the unicode private use range
+        is now used. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Make jsp:plugin output XHTML compliant. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. Patch provided by Vijay.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: Allow JspServlet checkInterval init parameter to be
+        explicitly set to the stated default value of zero by removing the
+        code that resets it to 300 if explicitly specified as zero. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Display the JSP source when a compilation error occurs and display
+        the correct line number rather than start of a scriptlet block. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34952">34952</a>: Clarify that the Windows Installer always installs
+        a Windows service. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35968">35968</a>: Make environment entry properties input a text area.
+        Patch provided by Tristan Marly. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37588">37588</a>: Fix creation of JNDI Realm in admin application. Patch
+        provided by Terry Zhou. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38048">38048</a>: Fix memory leak assoaciated with use of expression
+        language in JSPs. Patch provided by Taras Tielkes. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39572">39572</a>: Improvements to CompressionFilter example provided by
+        Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40507">40507</a>: Update host-manager and servlet-examples web-apps to
+        use the servlet 2.4 xsd. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40581">40581</a>: Add information on the use of a symbloic link as the
+        docBase for a Context to the Context documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40633">40633</a>: Remove references to the DefaultContext from the
+        documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40677">40677</a>: Update SSL documentation to indicate that PKCS11
+        keystores may be used. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40714">40714</a>: Admin webapp no longer requires a username for a
+        DataSource since it is not required in all cases. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40720">40720</a>: Fix exception in admin webapp when adding a group to
+        a user. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40874">40874</a>: Correct log4j configuration in documentation webapp.
+        Patch provided by Franck Borel. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40999">40999</a>: Add trust store configuration for SSL connectors to
+        the admin webapp. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41051">41051</a>: Add information on keystore aliases and case
+        sensitivity to SSL HOW-TO. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41182">41182</a>: Update the Jasper documentation for the classpath
+        attribute. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41493">41493</a>: Fix handling of APR connectors in Admin webapp.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41512">41512</a>: Version number was not inserted in release notes.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40257">40257</a>: Update Manager webapp howto on remote deployment to reflect
+        need for explicit path in one specific use-case.  Thanks to Venkatesh Jayaraman. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40160">40160</a>: add reference to the Filter proposed in this Bugzilla item to the WebdavServlet.
+        While at it, give the WebdavServlet some long-overdue TLC by cleaning up some of the old data
+        structures in favor of modern (but still JDK 1.4-compliant) interfaces. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Add a virtual hosting how-to contributed by Hassan Schroeder. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add clustered SSO code and backport feature from Tomcat 6.0.x,
+        submitted by Fabien Carrion (pero)
+      </td></tr>    
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add better recovery at FastAsyncQueueSender. Made the startegy more robust for temporary connection problems (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.20 (fhanik)"><strong>Tomcat 5.5.20 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logic error in UserDatbaseRealm.getprincipal() that caused user
+        roles assigned via groups to be ignored. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40518">40518</a>: Use correct message when a RuntimeException is
+        thrown from the requestInitialized or requestDestroyed method of
+        a listener that implements ServletRequestListener. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31804">31804</a>: Unnested tags within a tag file are now configured
+        with the Tag represented by the containing tag file as their parent
+        tag. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33356">33356</a>: Tag attributes that contained $ followed by 1 or
+        more non-special characters and then a { character caused an
+        exception. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33407">33407</a>: The string \$ in template text was reduced to $
+        when the isELIgnored page directive was set to true. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34509">34509</a>: Tag names may now use the full range of
+        characters permitted by xsd:nmtoken. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34399">34399</a>: Disable undeploy for applications that have not
+        been deployed such as those defined in server.xml (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.19 (fhanik)"><strong>Tomcat 5.5.19 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Add multi attribute setting to jmx:set JMX remote ant task.
+         Patch contributed by Didier Donsez (pero)
+      </td></tr>      
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30762">30762</a>: Re-fix this bug that was re-introduced by the fix
+        to <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37264">37264</a>. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37588">37588</a>: Fix JNDI realm creation through JMX. Patch contributed by TerryZhou  (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39704">39704</a>: The use of custom classloaders failed when the context
+        was specified in server.xml. Correction of the fault will require setting
+        the new loader attribute useSystemClassLoaderAsParent to false. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40418">40418</a>: APR Endpoint socket evaluation (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31339">31339</a>: Admin app threw exceptions if a name other than Catalina
+        was configured for the Engine. Patch based on a suggestion from Amila
+        Suriarachchi. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.18 (yoavs)"><strong>Tomcat 5.5.18 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Change MD5 release signature files to have md5 (lowercase) extension instead of MD5 (uppercase),
+        as suggested by Henk Penning and specified in the
+        <a href="http://www.apache.org/dev/release-publishing.html">ASF release publishing guidelines</a>. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that ManagerBase increment expireSessions counter at background task two times. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39406">39406</a>: Fix that StandardSession#getLastAccessedTime() uses correct exception message,
+        suggested by Takayoshi Kimura. (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39661">39661</a>: Add documentation on JULI FileHandler properties. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39657">39657</a>: Warn (and don't load jar) if JSP API is in webapp classloader repository, as suggested by
+          David Sanchez Crespillo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39674">39674</a>: Support JRockit JVM in service.bat script, as suggested by lizongbo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39711">39711</a>: Update Loader configuration documentation, as suggested by Stephane Bailliez. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39865">39865</a>: Add Open Office mime types to conf/web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38814">38814</a>: Align CGI handling of indexed queries, parameters and
+        POST content with other CGI providers. The changes: only provide
+        parameters on the command line for indexed queries; always provide the
+        query string via the QUERY_STRING environment variable; provide POST
+        content unmodified to stdin; and never call getParameters(). (markt) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34801">34801</a>: Partial fix that adds handling of IOExceptions during
+        long running CGI requests. Based on a patch by Chris Davey. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39689">39689</a>: Allow single quotes (') and backticks (`) as well as
+        double quotes (") to be used to delimit SSI attribute values. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40053">40053</a>: Correct application deployment documentation so it
+        agrees with the classloader documentation regarding shared lib and
+        CATALINA_BASE. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39592">39592</a>: Stop HEAD requests for resources handled by SSI
+        servlet or filter generating stack traces in the logs. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve handling of the ';' character in the URL so that it is now
+        allowed if properly %xx encoded. (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix APR endpoint so that the acceptor thread now only processes socket
+        accepts. (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39813">39813</a>: Correct handling of new line characters in JMX
+        attributes. Patch provided by R Bramley. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37781">37781</a>: Make sure that StoreConfig save external referenced war files at context.xml correct. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39791">39791</a>: Use correct default for useNaming within a Context. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Correctly generate re-direct for admin app index.jsp to prevent login page
+        being displayed twice when cookies are disabled. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39473">39473</a>: Session timeout much shorter than setting
+         at web.xml at cluster environment, suggested by Jin Jiang. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.17 (yoavs)"><strong>Tomcat 5.5.17 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to Xerces 2.8.0 (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to tcnative 1.1.3 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix SingleSignOn Valve and add Session.getLastAccessTimeInternal() without session invalidation test. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38814">38814</a>: CGIServlet correctly handles Shift_JIS output. (markt) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing REQUEST_URI environment variable to CGI environment. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27617">27617</a>: Sync existing mime types with httpd. (keith)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38761">38761</a>: Handle relative symlinks to shell scripts as suggested by Adam Murray (keith)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38795">38795</a>: Associate more closely bind with a finally unbind in StandardContext start and
+        stop, based on a patch by Darryl Miles (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve undeployment robustness (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Expand the semaphore valve (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39021">39021</a>: Add back support for authentication only, submitted by Scott Stark (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Revert fix for <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38113">38113</a>, which does not seem a legitimate problem, and causes
+        regressions (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Correctly reset listeners when reloading a webapp (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38194">38194</a>: Don't fail silently if -force is used without CATALINA_PID, submitted by Matthew Buckett. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38154">38154</a>: Avoid NPE in FileDirContext after webapp undeploy, reported by Jamie Maher. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">38217</a>: Added cautionary note about keystore password to SSL HowTo, as suggested by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38262">38262</a>: Cleared ambiguity in host documentation, as suggested by Jeffrey Bennett. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38476">38476</a>: Modified check for null TLD stream, as suggested by Fabrizio Giustina. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38052">38052</a>: Use <i>userName</i> as userField default. User is at many databases a 
+        reserved keyword, as suggested by rik. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of non matching if-range header (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37848">37848</a>: Only output catalina.sh diagnostic messages if we have a TTY, submitted by
+          David Shaw. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38596">38596</a>: Minor performance optimization in DataSourceRealm, suggested by Sandy
+          McArthur. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Make the default cipher suites available for SSL the same as the set of cipher
+        suites enabled by default rather than the set of all cipher suites. This prevents
+        ciphers suites that do not provide confidentiality protection and/or server
+        authentication being used by default. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Move AprEndpoint.getWorkerThread inside the try/catch for the main accept loop, to guard
+        about an OOM (which would most likely doom the server anyway) (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        As exhibited in the ASF's JIRA installation, it seems EINTR is a status code that should
+        be ignored as a result to a poll call (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        New APR connectors defaults (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add multiple threads for APR pollers, to work around Windows limitations (performance degrades
+        very rapidly if poller sizes over 1024 are allowed when compiling APR) (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        New modes for firstReadTimeout (-1 being the new default) (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Replace java.util.Stack usage with a simple array in the APR endpoint (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        tcnative jnilib.c now report correct compile flags for runtime 
+        Library.java checks like sendfile support default true/false (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38015">38015</a>: Remove misleading warnings logged in TagLibraryInfoImpl, as suggested by Andrew Houghton. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38376">38376</a>: Make sure body content stack is always properly aligned, as submitted by Tony Deigh. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Compatibility with JDT 3.2 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39292">39292</a>: Update catalina.policy at demo balancer app. Fix provided by Kerry Sainsbury (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36847">36847</a>: Fixed the manager app copy function to not overwrite fileA with fileB when fileA==fileB.
+        Fix provided by Haroon Rafique (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38508">38508</a>: Several enhancements to Host Manager application, including configurable
+          manager app support and dialog box enhancements.  Thanks to George Sexton for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37781">37781</a>: Make sure context config file is writeable, suggested by George Sexton. (yoavs,pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add at PooledSocketSender the jmx attributes inPoolSize and inUsePoolSize. (pero)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         DeltaManager set session creationTime at backup node. (pero)
+       </td></tr>
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add JvmRouteBinderValve documentation at cluster-howto.xml. (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        JvmRouteBinderValve now supports now sessionid's from request and cookies.
+        Thanks to Brian Stansberry for reporting it. (pero)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+      	<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38779">38779</a> Fix wrong jmx message arg at SimpleTcpCluster
+          at o.a.c.cluster.tcp.mbeans-descriptors.xml, submitted by Pawel Tucholski (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that not after every "Keep Alive Socket close" a log warning is generated at TcpReplicationThread (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39178">39178</a>: Now ROOT.war deployment with FarmWarDeployer is possible (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        ReplicationValve not set primarySession flag when all backup nodes gone (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add DeltaSession.getLastAccessTimeInternal() without session invalidation test. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.16 (yoavs)"><strong>Tomcat 5.5.16 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Updated / enhanced docs to remove old FIXME references. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Required tcnative library version upgraded to 1.1.2 (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to Eclipse JDT 3.1.2 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23950">23950</a>: Context.listBindings() should return objects not
+        references. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38124">38124</a>: Add support for Windows 20xx when reading environment
+        variables in CGIServlet. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29214">29214</a>: response.containsHeader() now returns the correct
+        value for Content-Type and Content-Length headers. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow using a custom ContextConfig when using JMX embedding of Tomcat, as
+        is done by the regular deployer. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add JMX serverInfo attribute to Server MBean, that we can identify
+        the tomcat release remotely. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix the JMX MBeanFactory.createStandardHost signature at mbean-descriptors.xml (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some cases (for example with realm usage) where the container logger for a context
+        would be retrieved using the wrong classloader (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        HttpSession.getId will no longer throw an ISE when the session is invalid (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         More detailed errors for naming issues (remm)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Add documentation for the Transaction element (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add getContextPath to the internal servlet context implementation (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Only null instances loaded by the webapp CL, submitted by Matt Jensen (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Deploy folders which don't have a WEB-INF, and return an error when a context
+        file does not contain a Context element (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38653">38653</a>: Fix property name (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Slightly modify the timing of the manager start, so that it is not started by a
+        listener (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Refresh loggers used by the digester (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Use sendError instead of setStatus to send the 401 code. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't append the port for an SSL redirect if it is the default port. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Log errors when setting socket options with debug priority rather than error. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38100">38100</a>: Make certain that a valid Host name is set, or none at all. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38485">38485</a>: Fix minor regression setting connection timeout (as well as linger and
+        no delay) where the default value was always used when using the regular 
+        HTTP connector (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Pass along more of the SSL related fields to OpenSSL (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        CharChunk now implements CharSequence (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix coding error which could cause a rare crash when a poller error occurred and sockets
+        where pending being added to the keepalive poller (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix potential sync issues when restarting a poller (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update APR error reports, including the error codes (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38726">38726</a>: Remove duplicate request group field causing blank statistics for the
+        HTTP connector (remm) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix invalid length used by some AJP packets for the AJP APR connector, which could cause 
+        corruption, submitted by Rudiger Plum (jim)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38346">38346</a>: Fix problems with request.getReader().readLine(). 
+        Patch by Rainer Jung (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Local address reuse for APR Endpoints (via APR_SO_REUSEADDR) now enabled (jim)
+     </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't write out the shutdown secret file if shutdown is disabled (the default) (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when no sink is supplied. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        APR Endpoints now IPv6 aware (jim)
+     </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Downgrade "Response already committed" logging entry to DEBUG. (billbarker)
+     </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38113">38113</a>: Return the empty String for an empty query-string instead of null. (billbarker)
+     </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38389">38389</a>: Set correct JDT Compiler option to java 1.5 compliance. 
+        Patch from Olivier Thomann and Paul Hamer (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add some useful hints to jasper-howto. (pero).
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38776">38776</a>: Fix source file attribute, submitted by Olivier Thomann (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update DeltaManager session access stats  (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        DeltaSession getId will no longer throw an ISE when the session is invalid (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+          Resurrected the "suspect" property so that the logs don't fill
+          up with errors when member disappears or a connection is lost. Only useful for pooled mode (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35710">35710</a>: Add session replication for cross context session changes.
+       The portlet api need this support, see refactored ReplicationValve. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        ReplicationValve reset DeltaSession when cluster node has no backup node. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        DataSender close connection and throw exception also even if waitForAck is false.  (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Active cluster junit test again. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some XSS issues in the JSP examples. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logos in the manager webapp (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.15 (yoavs)"><strong>Tomcat 5.5.15 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32081">32081</a>: Remove the JDK requirement from the Win32 scripts. (keith)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37852">37852</a>: Fix regression where the magic role '*' was denying all access. Patch by xrcat (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37934">37934</a>: Don't ask for authentication if deny-from-all is in effect. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15570">15570</a>: auth-constraint of * was interpretted as all
+        authenticated users rather than as all roles defined in web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       Remove leftover static logger which was used to log application level messages in
+       ApplicationContextFacade (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38012">38012</a>: Where a CGI script sets a response code, use it. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37854">37854</a>: Extension-List checking was too strict. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       Report binding errors in the APR endpoint as strings rather than platform specific
+       status codes (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37934">37934</a>: Don't ask for authentication if deny-from-all is in effect. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38047">38047</a>: Handle the case where the Servlet attempts to read
+              the Request body from the AJP/1.3 Connector, in the case that no
+              body was sent. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38030">38030</a>: Unconditionally return EOS for an attempt to read 
+              the body of any request that doesn't send CL or TE. 
+              (remm, billbarker).
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35351">35351</a>: Fix problem using an inner class for a &lt;jsp:useBean /&gt;. (kinman).
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37929">37929</a>: Don't stop on the generic attribute methods just because the session is invalid. Patch by Pierre Delisle. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add system properties org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER and
+        org.apache.jasper.runtime.JspFactoryImpl.USE_POOL to allow configuring Jasper
+        memory usage (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37933">37933</a>: Restrict &lt;jsp:getAttribute /&gt; to only look in PAGE_SCOPE. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37808">37808</a>: Fix ArrayIndexOutOfBoundsException inside XByteBuffer. Reported by Dietmar Mueller (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37896">37896</a>DataSender starts new Socket after IOException. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Reduce memory usage at membership service. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.14 (yoavs)"><strong>Tomcat 5.5.14 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update optional native APR connector version to 1.1.1. (mturk)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update build.properties.default to get native connector from new location. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13040">13040</a>: Fix getContext() when used to obtain a context that is a sub-context
+        of the current context. Ported from TC4. (markt) 
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37746">37746</a>: Remove extra space from StringTokenizer pattern in JspC, as suggested by
+        Eric Hedstrom. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36863">36863</a>: Strip quotes when parsing Cookie values, even for v0 Cookies. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37803">37803</a>: Don't claim that we have a string value in MessageBytes until we actually do. 
+           Patch by Doug Rand (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.13 (yoavs)"><strong>Tomcat 5.5.13 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36711">36711</a>: Unused line of code. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Removed unused SAXPath, Jaxen dependencies. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update log4j dependency to version 1.2.12, Struts to 1.2.7. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Removed JDBC 2.0 StdExt dependency (only class from there is javax.sql.XADataSource, which is
+        present in JDK 1.4 and later. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37039">37039</a>: typo on JK Quick configuration how-to. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37035">37035</a>: Add a placeholder file in the temp directory for WinZip tar.gz handling. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update JAF dependency to 1.0.2, JTA to 1.0.1b and JavaMail to 1.3.3_01. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added Eclipse .project, .classpath, and associated files to make building Tomcat from
+        Eclipse significantly easier. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td> 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37284">37284</a>: Guess JSE 5.0 location on Mac OS X, patch by Stepan Koltsov. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id="></a>: Wrong class name in antlib.xml for JkStatusUpdateTask. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36802">36802</a>: Fix problem of double-init when JMX-deploying a 
+        Context into a started Host. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36840">36840</a>: Provide information as to which web.xml is being processed on startup to
+        help debug parsing errors. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34724">34724</a>: Ability to set domain for Single-Sign-On cookie.  Patch by Oliver
+        Rossmueller. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37044">37044</a>: RealmBase.hasResourcePermission needs to access the GenericPrincipal as
+        set by the realm unless hasRole is overriden, which was no longer being done properly for
+        the JAAS realm (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37264">37264</a>: JNDI resources were no longer available when stopping listeners,
+        submitted by Bogdan Calmac (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37150">37150</a>: Turn off directory listing by default and add a warning
+        regarding enabling listing of directories with many entries. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add configurability for the amount of time that the container will wait for requests
+        to complete when unloading servlets, using the unloadDelay property. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add code to set to null fields in loaded classes when stopping a web application, as a
+        possible workaround for suspicious garbage collection behavior. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update messages and stack traces for classloading errors which may occur when removing
+        a web application, and for stopped web applications. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37319">37319</a>: Fix catalina.bat reference to CATALINA_BASE for logging.properties.  Thanks
+        to Pierre-Yves Benzaken. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36852">36852</a>: Custom classloaders don't honor Contet privileged attribute.  Thanks to
+        Matt Brinkley for the analysis and patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>Fix for a couple of (mostly silly) edge-cases in testing auth.
+           Thanks to Nam T. Nguyen for the report. (billbarker) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37060">37060</a>: Actually copy the Request headers when replaying after Form auth. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37591">37591</a>: Typo in Engine configuration reference. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">37668</a>: Added note about JSP recompilation to Context configuration documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37132">37132</a>: Have DigestAuthenticator Handle user names with commas.  Thanks to 
+          Robert Wille for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37212">37212</a>: Better error reporting in Connector.java.  Thanks to Ralf Hauser for
+        the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Gracefully handle the case where some Socket options are disabled at 
+        the OS level for the AJP/1.3 Connector. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36366">36366</a>: Use rewritten deployer-howto page by Allistair Crossley. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36630">36630</a>: Added extra log output for class instantiation failure. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37121">37121</a>: Sendfile always needs to be given the length of data to write,
+        which fixes ranged requests. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Optimized direct byte buffers association with the socket for APR connectors. (mturk)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix hidden NPEs when using the APR connectors and there's no host header. (pero, remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Http11Protocol now register RequestProcessor at JMX and show current usage inside manager app. (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        JkStatus Ant tasks for mod_jk 1.2.15. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>Connection Timeout is normal, so reduce logging to DEBUG (billbarker) 
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix crash which could occur with the HTTP APR connector when accessing request JMX objects
+        outside of the processing of the said request (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37627">37627</a>: Fix buffering issue in the HTTP APR connector when a large buffer size was
+        used for servlets (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37673">37673</a>: Fix implementation of getLocalPort and getLocalAddr in the HTTP APR connector
+        (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35252">35252</a>: Jasper PageDataImpl outputs malformed XML.  Patch by Rahul Akolkar. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37062">37062</a>: Helpful JSP exception message containing file, line numbers.  Patch by
+        Tim Fennell at http://www.tfenne.com/jasper/. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37407">37407</a>: File descriptor leak in JspReader.  Thanks to Fred for the patch.  I also
+        did some minor cleanup in the class. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37612">37612</a>: Add file location to JSP Validator error message.  Thanks to Renaud Bruyeron
+        for the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that session replace messages are logged after node recovery get all session from master node. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37896">37896</a> Fix that sendMessage signature at all DataSender subclasses must be changed.
+        Now pooled and async modes working as expected. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that socket at o.a.c.cluster.tcp.FastAsyncSocketSender can be disconnect/connect. (pero)
+      </td></tr>    
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix cluster module build.xml script for new svn repository structure (pero)
+      </td></tr>    
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix closed socket exceptions at normal server shutdown, reported by Olve Hansen (pero)
+      </td></tr>    
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix closed socket exceptions inside async message transfer modes (pero)
+      </td></tr>    
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34984">34984</a>: HttpSessionBindingEvent.getValue() get correct value (pero)
+      </td></tr>    
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35916">35916</a>: send sessionCreated to SessionListener after cluster node recovery (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Used also Hashtable at DeltaSession (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Better support cluster at engine level. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36866">36866</a>: Correct attribute name in conf/server.xml documentation for Cluster element. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37261">37261</a>: Allow xerces to know where the web.xml file is so that relative entities can be resolved.
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37529">37529</a>: Fixed race condition in ReplicationLister#stopListening.  Thanks to 
+        Chris Walker for the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>Remove obsolete TagPlugin file from JSP examples (billbarker)</td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36019">36019</a>: Made clear the Host-Manager HowTo is coming soon, not ready yet. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36336">36336</a>: Check WAR extension in both upper and lower case, as suggested by
+        A. Grasoff. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35982">35982</a>: Can't delete mail sessions in admin webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36673">36673</a>: Similar to the one above, for data sources. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.12 (yoavs)"><strong>Tomcat 5.5.12 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove uneeded files in conf. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Change distribution file names from jakarta-* to apache-*. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add JMX Remote create and unregister ant tasks (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36343">36343</a>: Only normalize out backslash on Windows platforms. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow configuring standard stream redirection. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36088">36088</a>: Add RUNNING.txt and RELEASE-NOTES.txt to fulldocs distro. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36534">36534</a>: fix equals for URLs returned by ServletContext.getResource() (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36558">36558</a>: Clear IntrospectionUtils cache when stopping a webapp, as it 
+        could leak to keeping a reference to the classloader (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36113">36113</a>: Session persistence for objects with primitive types could fail in
+        some rare cases (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Full synchronization for session objects attributes collections (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35609">35609</a>: service.bat echo command when wrong arguments given [patch by Robert
+        Longson] (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34749">34749</a>: jsessionid dropped on trailing slash (/) redirect (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Add support for secret for AJP APR (remm)
+       </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE with an error message when no Java compiler is available (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Restrict System err stream capture to the Ant compiler, as the Eclipse compiler
+        does not need it (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        JSP compilation speed improvement using tag library information caching, 
+        submitted by Xingbo Gao (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Initial contribution of JSTL tag plugins supporting the core tag library of
+        JSTL, submitted by Jing Li (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Sync all session attribute access (read and write) at DeltaSession (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36518">36518</a>: Classname typos for senders, submitted by Christoph Bachhuber-Haller (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35613">35613</a>: Added FAQ question and answer about tcpListenAddress="auto" and /etc/hosts (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Moved FAQ section for Clustering from Clustering HowTo page to its own FAQ page. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36319">36319</a>: Fix broken link to DBCP docs, submitted by Xavier Poinsard (remm)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Brand new deployer specs, submitted by Allistair Crossley (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.11 (yoavs)"><strong>Tomcat 5.5.11 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to Xerces 2.7.1 (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add ready to build bin/tomcat-native.tar.gz for the APR JNI wrapper library (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35930">35930</a>: Bad logging config used by the Tomcat Windows service (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33261">33261</a>: Windows installer now checks the user type and warns non-admins as needed. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        The Windows installer will now optionally download a (32bit) Windows .dll for Tomcat native
+        from HEAnet (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Declaration of jspc Ant task to fix the deployer package (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add concurrency control valve (o.a.c.valves.SemaphoreValve). As the Tomcat distribution 
+        is not built for Java 5, the valve will have to be compiled from the sources 
+        using Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35880">35880</a>: Ignore JSSE15SocketFactory when generating JavaDoc, as it breaks
+          the JDK 1.4 JavaDoc tool. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35865">35865</a>: setclasspath.sh cannot be excutive under cygwin. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33267">33267</a>: Set working path in service installer, as suggested by Dominik
+          Drzewiecki. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34794">34794</a>: Update connector documentation to include clientAuth attribute. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35894">35894</a>, <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36228">36228</a>: Fix CNFE when starting in a sandbox. (billbarker, remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add version check for Tomcat native so that incompatible API changes are detected early (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36020">36020</a>: Allow MemoryUserDatabase to work better on write protected mediums,
+        submitted by Rainer Jung (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35978">35978</a>: Bad handling of single range requests greater than 2GB in the DefaultServlet
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35984">35984</a>: Client abort exceptions will now use getCause (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of non-file based includes with SSI, submitted by David Becker (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix default ports for http and https which are set in the request when the parsed
+        hostname does not specify the port, and which were inverted (https was set as 80 
+        and http as 443). (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing tomcatAuthentication attribute to the AJP APR implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Check filename sendfile attribute only if sendfile is enabled. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix output buffering for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35941">35941</a>: Fix getRemoteAddr for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35942">35942</a>: Fix NPE retriving cipher suite attribute when no certificate 
+        was submitted (for example with no SSL). (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Internationalization and code cleanups for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Security exception in APR AJP implementation when running with the security
+        manager enabled. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36173">36173</a>: Add missing sync in FastHttpDateFormat.formatDate, submitted 
+        by Alexei Krainiouk (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Disable HTTP compression when sendfile is used for a resource (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        AJP secret attribute report only at trace level. (pero)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36127">36127</a>: Validation compatibility with Xerces 2.7.1, submitted 
+        by Florent Benoit (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">        
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when cluster stops (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36218">36218</a>: MemoryRealm now support also GenericPrincipal, but 
+        JAASRealm with cluster replication still has a problem, detected by Dirk Dekok (pero)
+      </td></tr>   
+     </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.10 (yoavs)"><strong>Tomcat 5.5.10 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+         Add JMX remote ant task to control tomcat MBeanserver via ant scripts.
+         Ant lib is included at "server/lib/catalina-ant-jmx.jar" and documentation
+         is added to <a href="monitoring.html">Monitoring and Managing Tomcat How-To</a> (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34361">34361</a>: Integrate better antlib and import support for 
+        catalina manager tasks [Modified patch from Daniel Santos]  (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        StoreConfig save now the Connector.sslProtocol attribute. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Change log dir at service.bat to "$CATALINA_BASE/logs" for better multi instance support. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34237">34237</a>: Added note and links to context and host configuration
+          references in JNDI DataSources HowTo to aid the clueless. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34248">34248</a>: Update JavaMail download instructions to include JAF. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to JDT from Eclipse 3.1, with support for Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactoring, redesign and extend the cluster module
+          - Cluster can be configured as subelement from Engine and Host.
+          - Optimized performance and reduce memory usage
+          - Better JMX support
+          - add a lot of JMX stats attribute for better monitoring 
+          - add a single element default cluster configuration
+          - more config options
+             LifecycleListener
+             ClusterListener
+             more than one cluster valves
+          - better subclass support
+          - change a lot of existing cluster API's (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+         Add Apache Portable Runtime JNI wrapper and helper API (mturk)
+       </td></tr>
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Update JULI to provide support for taking over java.util.logging bootstrap configuration,
+         and move the default properties file to ${catalina.base}/conf/logging.properties (remm)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34746">34746</a>: Updated catalina.properties instructions per Bill Edwards' suggestion. (yoavs)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35090">35090</a>: Minor documentation typo fix. (yoavs)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34931">34931</a>: Rewrote ROOT/index.jsp to be XHTML strict compliant, per Richard
+           Beton's patch. (yoavs)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20380">20380</a>: Access log timestamps now take account of Daylight Saving
+        Time (DST). (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34220">34220</a>: Provide better error message when server.xml can't be located.
+          [Modified patch from Ralf Hauser] (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Add MessageListener and LifecylceListener cluster saving to storeconfig module
+          (&lt;Cluster ... &gt;&lt;ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" &gt;) (pero)
+      </td></tr>  
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33743">33743</a>: Add additional synchronization in webapp classloader to avoid
+        possible race condition when defining a class (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33711">33711</a>: Add events on passivate and activate to cleanup SSO, and recycle
+        session objects when removing them from a manager (so that anyone keeping references
+        to it would leak a minimal amount of memory) (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Re-add patch causing Session.getId to throw an ISE, and make all internal components
+        use a safe getIdInternal method (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Store principal to be exposed for Request.getUserPrincipal inside the GenericPrincipal,
+        to remove hacks from the JAAS realm (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10385">10385</a>: SSI Servlet now includes better support for files that use character
+        encodings other than the platform default.(markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove CopyParentClassLoader rule, which doesn't seem to be doing anything useful
+        anymore. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Provide an ServletFilter implementation of Server Side Includes (SSI). This was
+        submitted by David Becker under <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33106">33106</a>. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add sendfile support to default servlet, with a sendfileSize configuration attribute.
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        If APR as well as Tomcat's JNI wrapper for APR are present, use APRized protocol handlers
+        instead of the regular ones (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22617">22617</a>: When used with an EJB container and a realm that supports the concept
+        of an unauthenticated user (J2EE.3.4.3) BASIC authentication was always authenticating
+        users as the unauthenticated user without giving them a chance to supply a username and
+        password. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Prevent facade objects cloning (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add missing CGI variables to SSI servlet. Patch submitted by Fritz Schneider. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34578">34578</a>: Updated JNDIRealm comment. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34273">34273</a>: Better Bootstrap warning message. [Path from Ralf Hauser] (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34675">34675</a>: Updated Proxy-HowTo page with Servlet API calls. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34546">34546</a>: Fix problem where the "first" Valve couldn't be removed from a Pipeline. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when POST size exceeds limit defined by maxPostSize. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix FORM authentication so POSTed parameters are not assumed to be encoded with platform
+        default encoding. A side effect of this fix is that the bodies of POST requests that
+        require FORM authentication are now buffered and made available after a sucessful login. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34840">34840</a>: Better handling of external WARs redeployment, and ignore docBase specified
+        in context file if within the Host appBase (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of symbolic links when the DefaultServlet is generating directory
+        listings. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35769">35769</a>: Correct implementation of javax.naming.Context.composeName( Name, Name)
+        in multiple places. Patch provided by Laurent Simon. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34805">34805</a>: Add warning for suspicious security patterns, as suggested by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35819">35819</a>: Use getWorkPath for deleting work directory on context destroy, as suggested
+          by Rob Steele. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add support for using "Smart Cards" as trust/keyStore. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add some Mbean attributes and operations to ChannelSocket (pero)
+      </td></tr>    
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Apache Portable Runtime based HTTP/1.1 protocol handler, with SSL support (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add support for simple file-based CRLs under JDK 1.5 (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add experimental NIO-Socket channel for the AJP/1.3 Connector (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34648">34648</a>: Add configuration option to enable IP-based Virtual Hosts. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor the AJP/1.3 Connector to be able to handle more advanced Actions. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix connector initialisation so sslProtocol is not required for SSL. (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add bufferSize option to the AJP/1.3 Java connector to control output buffering. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Apache Portable Runtime based AJP/1.3 protocol handler (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Delay reading the inital request body packet by default for the AJP/1.3 Java connector. (billbarker)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18477">18477</a>: Allow symbolic links when precompiling JSPs (markt)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34272">34272</a>: Allow specifying the Option class used by the Jasper engine,
+        submitted by Scott Stark (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Support for Java 5.0 in JSPs (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Java 5 will be the source and target for JSPs when running on Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34652">34652</a>: Add the ability to get SMAPs when precompiling, submitted by
+        Daryl Robbins (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34465">34465</a>: Jspc failure if there is no web.xml (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35696">35696</a>: Make certain that release is called for custom tags 
+         when tag-pooling is disabled. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35386">35386</a>: Make useBean resources use consistent spelling, from Kurt Huwig. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33522">33522</a>: Update jasper-howto to reflect use of javac switch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35114">35114</a>: Add failOnError flag to JspC, by ziweth. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35410">35410</a>: Fixed NPE in JspWriterImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35571">35571</a>: JspC resolved uriRoot relative to Ant project basedir, if any, as suggested
+          by Jason Pettiss. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">        
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add that cluster can configure as Engine and Host element. (pero)
+      </td></tr>      
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add single cluster default configuration element - discussed at JAX 2005 conference Cluster Workshop. (pero)
+      </td></tr>      
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix resend GET_ALL_SESSIONS when wait ACK failed at receiver side (pero)
+      </td></tr>  
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        ClusterValve now remove from container element when cluster stops and added with next start again. (pero)
+      </td></tr>     
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Set timestamp only at first time inside SessionMessageImpl (pero)
+      </td></tr>    
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+       Set timestamp from findsessions method call, when handling GET_ALL_SESSION
+       to all SEND_SESSION_DATA and TRANSFER complete messages. (pero&gt;
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td> 
+       Drop all received message inside GET_ALL_SESSION message queue before state 
+       transfer message timestamp. (pero)
+      </td></tr>      
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Cluster ping now transfer cluster domain information and DeltaManager only
+        send and receive message from same domain members (pero)
+      </td></tr>      
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        JMX Support for McastService (Membership) (pero)
+      </td></tr>      
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Redesign SimpleTcpCluster message receiving to ClusterReceiverBase (pero)
+      </td></tr>      
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Cluster transfer all attributes to the generate session manager at addManager. 
+        Remove some unused attributes at SimpleTcpCluster and ReplicationTransmitter (pero)
+      </td></tr>    
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor DeltaManager:
+          - createSession call now ManagerBase super class method
+          - extract some long methods
+          - send GET_ALL_SESSION with session blocks
+          - don't sync sessions map when send all sessions (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add developer actions at to-do.txt (Proposal of changes) (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Small refactorings at FastAsyncSocketSender (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Redesign cluster message sending to lesser cpu and memory usage. 
+        Set at ReplicationTransmitter#compress=false as default. Change API from
+        ClusterSender, ReplicaitonTransmitter, DataSender, SimpleTcpCluster (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        DeltaManager has now JMX expireAllLocalSessions and processExipre operation 
+        for better cluster node shutdown handling (usefull for testing only) (pero)   
+      </td></tr>  
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        DataSender doWaitAckStats for better understanding wait ack problems (pero)   
+      </td></tr>  
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor DeltaManager and add counter for cluster message send/receive message (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34389">34389</a>:Porting Clustering fix pack to 5.5.10 code base.
+        Remove synchonized from DataSender.pushMessage(). Very offen the 
+        complete cluster blocking after replicated a bulk of new session messages under heavy load.
+        All cluster node standing for a lot of time and made nothing. 
+        Fix it for pooled, asynchronous and fastasyncqueue replication mode. Very bad thing, sorry! (pero)  
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add notifySessionListenersOnReplication attribute to SimpleTcpCluster to stop notify 
+        event to SessionListener at backup nodes from create and destroy replicated session (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add compress attribute to ClusterSender and ClusterReceiver interface. Now compress config
+        transfer from sender to receiver at SimpleTcpCluster. (pero) 
+      </td></tr>    
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add ClusterValve interface and implement it as ReplicationValve and JvmRouteBinderValve. Now both
+        Valves can be directly configured at server.xml Host/Cluster/Valve subelements.
+        Also this configuration are correctly handled with the StoreConfig module. (pero)  
+      </td></tr>    
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Deactivate DataSender keepAliveMaxRequestCount change default to -1. 
+        Cluster replication sockets are fast and very stable! (pero)  
+      </td></tr>          
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Setup JvmRouteBinderValve as host valve instead context valve. Refactor the API a little bit. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't increment open socket counter before socket is really open. Add socket open failures counter (pero) 
+      </td></tr>  
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add MessageListener support to cluster server.xml element (ClusterListener) to 
+        register your own cluster message receiver (pero)
+      </td></tr>  
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add LifecycleListener support to cluster server.xml element (Listener)
+        and notify those listener from start/stop cluster,
+        add/remove session manager, sending fault and start/stop member  (pero)
+      </td></tr>  
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add active backgroundProcess keepAlive timeout and request count socket close check
+        at ReplicationTransmitter.  Check frequency can be change with attribute 
+        processSenderFrequency (default 2). (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Remove useless Jdk13ReplicationListener,Jdk13ObjectReader. 
+        Add SocketReplicationListener and SocketObjectReader to have nativ socket ClusterReceiver. 
+        Also extract ClusterReceiverBase superclass for SocketReplicationListener and ReplicationListener (pero) 
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add and update some API and the <a href="cluster-howto.html">cluster howto documentation</a> (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor ReplicationValve for better understanding and small optimization (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Starting a unit test suite for cluster module - very much todo (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ant build.xml to direct compile at cluster module directory (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some I18N messages, but a lot of work is waiting for fix (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add ReplicationValve Mbeans stats attribute getter and resetStatistics operation (pero)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35758">35758</a>: Admin webapp mishandling digest attribute of JDBCDataSourceRealm. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34250">34250</a>: Admin webapp Commit Changes button now asks for confirmation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34818">34818</a>: Alternating row for apps in HTML manager, as suggested by Jeff
+          Domeyer. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35379">35379</a>: Added commons-logging to build path of manager and host-manager apps,
+          to make them build with Jikes, as suggested by Aaron Isotton. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.9 (yoavs)"><strong>Tomcat 5.5.9 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add JULI, a java.util.logging implementation, used to provide sane defaults and
+        configurability equivalent to Tomcat 4.0 for Tomcat 5.5 logging (remm)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Add JULI documentation to the logging page (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add host manager webapp (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add ant JkStatusUpdateTask for remote status worker handling ( &gt;=mod_jk 1.2.9) (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33739">33739</a>: Add reference to RUNNING.txt in setup.html. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33719">33719</a>: Update reference to Ant download page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33883">33883</a>: Bad options in SSL-HowTo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to MX4J 3.0.1 (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34139">34139</a>: Updated Realm-HowTo to specify JMX, Commons-Logging jars for RealmBase. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33325">33325</a>: Added top-level clean target to Netbuild build.xml file. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33755">33755</a>: Clarified Postgresql JNDI datasource example. [patch submitted by
+          Tom Witmer] (yoavs)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove some instances of expanded folder removal (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't call mkdirs if we're not going to save the configuration in StandardContext (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix context classloader binding during loader initialization (it was set to null before) (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        The webapp logger should only be retrieved when the context classloader is set to the 
+        webapp's classloader (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34170">34170</a>: Add back retry logic in JDBC realm in case of a connection failure (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22041">22041</a>: Support dynamic proxies as session objects. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logger names for wrappers (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34006">34006</a>: If antiResourceLocking was used, HostConfig considered the path as external,
+        and web application resources were not correctly removed or tacked; also simplify the code a lot
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34016">34016</a>: Save and restore docBase when using antiResourceLocking, for compatibility with
+        the admin webapp (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33636">33636</a>: Set lastModified attribute when expanding WAR files. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32938">32938</a>: Allow Salted SHA (SSHA) passwords in JNDIRealm. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31288">31288</a>: Allow SMTP authentication for JNDI MailSessionFactory. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Harmonize processing of the context.xml defaults with the way web.xml is processed
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Ignore ';' if it is in the query string (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        private to protected for the webapp classloader (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve logging of filters and listeners startup errors (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33774">33774</a>: Retry once in JNDI realm authenticate failure regardless of the 
+        exception message (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33961">33961</a>: Don't encode '~' in context paths (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32866">32866</a>: Propagate distributable property from context to manager (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32867">32867</a>: Reset distributable attribute in context for clean reload handling (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+          Fix some RealmBase/JNDIRealm log.isXXXEnabled (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34161">34161</a>: Harmonize StandardContext.stop with ContainerBase.stop (remm)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+   
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33971">33971</a>: Set remoteHost to null when Apache doesn't send one. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix calculation of threadRatio for the ms thread pool, and fix setting the updated
+        timeout value (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update the ms thread pool so that we allocate a worker before accepting a new socket,
+        and wait a little if the pool is exhausted; this should make low maxThreads values work a 
+        lot better (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33857">33857</a>: Update information on automatic mod_jk configuration in Apache-HowTo (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix sync block placement in Mapper.addContext (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32741">32741</a>: Fix spelling of "committed" [patch from Ben Souther] (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34133">34133</a>: Make setHeader clear multi-valued headers (billbarker)
+      </td></tr>
+     </table>
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34034">34034</a>: Jasper does not respect external entities (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33810">33810</a>: Incorrect recycling of BodyContent if close is called (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Per instance loggers in Jasper (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix JvmRouteBinderValve primary failover attribute to
+        org.apache.catalina.cluster.session.JvmRouteOrignalSessionID (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Change attribute name waitForAck to sendAck at ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Integrate new fastasyncqueue cluster sender mode.
+        Support queue size limitation,
+        get all queued objects and send it to the backup node,
+        no queue thread lock contention under high replication load,
+        submitted by Rainer Jung (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add compress attribute to Sender and Receiver to transfer data uncompressed. 
+        At high cluster load this option consume lesser cpu and memory.
+        Implement the compress handling to ReplicationTransmitter, ReplicationListener, 
+        XByteBuffer and Jdk13ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add doProcessingStats to synchronous, asynchronous and fastqueueasync sender modes
+        to get min, avg, max processing times as IDataSender JMX MBeans (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        TcpThreadPool use constant ACK byte array instead create 
+        new 3 byte buffer for every message ack (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor ReplicationTransmitter and ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        add getCatalinaCluster() to ClusterReceiver and SimpleTcpCluster (pero)
+      </td></tr>    
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update the Api documentation (pero)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Use the standard struts taglib URIs in admin JSPs. (billbarker)
+       </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add more host parameters to create new host with host-manager (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34033">34033</a>: Fix quoting related bugs (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33713">33713</a>: Add Struts init code in frameset.jsp as well (remm)
+      </td></tr>
+     </table>
+   </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.8 (yoavs)"><strong>Tomcat 5.5.8 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33204">33204</a>: Fixed SSL HowTo page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33351">33351</a>: Fix silent uninstallation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33489">33489</a>: Missing space in uninstaller message. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Unregister host mbean and all context mbeans at remove a host, s. StandardHost.destroy() and MBeanFactory.createStandardHost/removeHost(,) detected by Thorsten Kamann (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        make it possible to restart connector, now serversocket recreated after stop,start (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        change mbean names from Mapper and ProtocolHandler to connector naming style (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add some log.isXXXEnabled (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Deregister MapperListener after remove connector (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove host only at own domain with same name at all services, detected by Thorsten Kamann (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33187">33187</a>: Remove any logging of the password in the JAAS realm,
+        submitted by Andrew Jaquith (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33033">33033</a>: Don't do anything to the response in the ErrorReportValve
+        if data has already been written (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add charset support for the URLs used by the tasks, to remove deprecation (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26135">26135</a>: Workaround for memory leak when reloading Struts
+        based web applications by clearing the bean instrospector cache of the JVM on
+        classloader stop, submitted by Tobias Lofstrand. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Ensure that if CLASSPATH is declared on startup - it is not used. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add back use of deployOnStartup in HostConfig (remm)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+         Ant tasks docs patches, submitted by Gabriele Garuglieri. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Use NIO for the raw copying operation, as it is faster (a little under 30%), 
+         and decreases a little the impact of antiResourceLocking. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33357">33357</a>: Fix connection leaks with the DataSourceRealm, as well 
+         as improve efficiency, submitted by Dominik Drzewiecki. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Improve a little logging of servlet exceptions, which should all log the root cause. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         Add new Manager.createSession(sessionId) method, allowing the client to "specify" the session id which should be used using a cookie
+         when using emptySessionPath="true". This fixes session tracking in this case. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33368">33368</a>: Fix memory leak in swallowOutput feature which occurred when the thread pool size is
+         reduced, submitted by Rainer Jung. (remm)
+      </td></tr>
+	  <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          StoreConfig: can't save cluster Membership element (pero)
+       </td></tr>
+	  <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          StoreConfig: suppress default jkHome attribute at connector  (pero)
+      </td></tr>
+	  <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          StoreConfig: Save new dymanic properties from ReplicationTransmitter  (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33463">33463</a>: Remove attributes after context destroy. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33572">33572</a>: context.xml should be a redeploy resource, and add prioritization for
+         redeploy resources. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         PoolTcpEndpoint recreate ServerSocket after start,stop,start connector (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add some log.isXXXEnabled (pero)
+      </td></tr>
+	  <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+	    JkMX: make log4j mbean configurable with attribute log4jEnabled (pero)
+	  </td></tr>
+	  <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+	    When Tomcat runs on Windows and IE is uploading data to the server, the first read 
+	    must be at least 8KB, otherwise upload speed is extremely low, submitted by Noel 
+	    Rocher (remm)
+	  </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33223">33223</a>: pageContext.forward and jsp:include result
+        in StringIndexOutOfBoundsException (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33373">33373</a>: Fix handling of context classloader in jspc (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33538">33538</a>: Ignore example and tag-extension elements in TagLibraryInfoImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33539">33539</a>: Better error message when an unknown element is encountered in the tag file. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33219">33219</a>: Minor JspServletWrapper code cleanup. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          Add instance based ReplicationValve statistics to Mbean descriptor (pero)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          Better I18N support to cluster session and tcp classes (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Support optional primaryIndicator at ReplicationValve to mark that 
+          request processing to existing session is at primary cluster node. 
+          Easy failover detection, when mark is not at 
+          configurable primaryIndicator attribute, submitted by Rainer Jung (pero)
+       </td></tr>
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+          Refactor all implementation from interface IDataSenders (pero)
+       </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Add some usefull attributes and operations to the all sender MBeans. (pero)
+       </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Add keepAlive and waitForAck handling to AsyncSocketSender and factor out a DataSender base class.(pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          ReplicationTransmitter: Enable and Disable autoreconnect sender and waitForAck. (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          ReplicationTransmitter: transfer all properties to socket sender from server.xml configuration. (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix create and remove Host for Admin app. (pero)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.7 (remm)"><strong>Tomcat 5.5.7 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add installer for mod_jk on IIS. (mturk)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        New store config module for better server.xml saving support.<br>
+        Add &lt;Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" /&gt; to your server.xml (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32081">32081</a>: Remove the JDK requirement from the Unix scripts, submitted
+        by Ben Souther (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32953">32953</a>: SERVLETAPI: XSS Issues, submitted by Mark Thomas (jfarcand)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Update to commons-digester 1.6, JDT 3.0.1, MX4J 2.1.0, Struts 1.2.6 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+         First integration at StoreConfig to StandardServer (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32714 ">32714 </a>: Don't make the AccessLogValve final (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32694">32694</a>: Fix bad code to make docBase path aboslute in antiLocking
+        method. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32713">32713</a>: Fix resource-env-ref handling. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31201">31201</a>: Improve i18n support in DefaultServlet. This was causing
+        problems with JSP include actions and static files. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add some log.isXXXEnabled to o.a.c.core.StandardHost StandardEngine, StandardService (pero)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Feature addition to add Redirector and failOnError support for all Catalina Ant tasks,
+        submitted by Gabriele Garuglieri (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31198">31198</a>: Fix FORM and DIGEST authentication for non-ASCII
+        usernames and passwords. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Reimplement charset mapper (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add logging of exception which could occur when retrieving the password in JDBCRealm (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25889">25889</a>: Don't execute queries twice, submitted by Tom Anderson (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32832">32832</a>: request.getSession(false) fails to return null (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28222">28222</a>: request.getRequestURL() in forwarded jsp/servlet returns
+        original url rather than new url as per SRV8.4 (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33157">33157</a>: Fix handling of the buffer length for basic authentication parsing (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32708">32708</a>: Better handling of bad encoding with the string cache. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32781">32781</a>: Fix bad initialization of the "scheme" field of the request
+        object, which would cause getScheme to return "http" for the first request. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Content length should be ignored if there is chunking (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove most deprecation problems for the AJP connector (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32746">32746</a>: Avoid JAR locking when loading classes and improve loading
+        performance by taking advantage of caching, submitted by Dominik Drzewiecki. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          correct JvmRouteSessionIDBinderListener MBean name to &lt;domain&gt;:type=Listener,name=JvmRouteSessionIDBinderListener,host=&lt;host&gt; (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          JMX support to SimpleTcpCluster, ReplicationTransmitter and all senders (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix the webDAV servlet so it can be used via any arbitrary mapping
+        (eg /webdav/*) to edit the contents of a web application. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32729">32729</a>: Stop is optional and may fail, so it needs to be in a separate try/catch (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove the remove method of the manager servlet, and use the undeploy method instead (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32777">32777</a>: Fail if application isn't configured properly, submitted by Gabriele Garuglieri
+        (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32771">32771</a>: Cannot undeploy/deploy misconfigured app after tomcat startup,
+        submitted by Gabriele Garuglieri (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28867">28867</a>: Correct manager documentation to document correct way to
+        reference the ROOT context. Submitted by Stephane Bailliez. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33085">33085</a>: Add support for setting privileged attribute of context
+        to admin webapp. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33117">33117</a>: Fix Open bugs link broken on default homepage.
+        Patch supplied by Sander Temme. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve javadoc generation for Catalina. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.6 (yoavs)"><strong>Tomcat 5.5.6 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32532">32532</a>: updated logging documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32382">32382</a>: Index page and packaed WAR for sample webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32603">32603</a>: Updated host.xml to reflect appBase resolution. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add child to the map of the parent before starting it. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Decouple usage of the scheme and secure attributes from enabling SSL. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32502">32502</a>: memory leak in DigestAuthenticator. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28709">28709</a>: javax.servlet.http.HttpServletRequest.isRequestedSessionIdValid() returns true for an invalidated session. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32137">32137</a>: Possible thread-safety issue in RealmBase. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32585">32585</a>: Better handling for content length greater than Integer.MAX_VALUE in response. (markt)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Allow ApacheConfig and friends to live under an Engine. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Syncronize access to the Jk Request registration count. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Speed the MsgContext on its way to GC. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Keep correct thread counts in Thread pool when thread ends in an exception (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Updated Jasper-HowTo section on using Jikes, changed conf/web.xml JSPServlet to refer people to Jasper-HowTo so that we don't have these instructions in two places. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32505">32505</a>: Fix handling of an empty context parameter (which occurred every time the HTML
+        manager was used to deploy a local war without specifying also a context file). (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.5 (yoavs)"><strong>Tomcat 5.5.5 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32235">32235</a>: Sync conf/web.xml MIME types with Apache httpd. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31132">31132</a>: Better -x/-r support for OS/400 in startup scripts. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">22679</a>: Added misc note on accessing session ID to SSL-HowTo. (yoavs)
+      </td></tr>
+ 
+       <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32249">32249</a>: Updated logging documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32282">32282</a>: Modify Windows Uninstaller to only remove webapps/ROOT and webapps if user asks to remove everything. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32371">32371</a>: outdated introduction.xml page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32373">32373</a>: outdated installation.xml page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32454">32454</a>: amended JNDI documentation for JavaMail/JavaActivationFramework usage. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32130">32130</a>: Add safety check to FileStore#keys method. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32276">32276</a>: Add developer info to Realm How-To. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32082">32082</a>: Added protected getPrincipals method to MemoryRealm for easier extension. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32023">32023</a>: CGIServlet fails to handle post message with multipart/form data. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32269">32269</a>: JNDIRealm fails with InvalidNameException to authenticate users if LDAP distinguished name (DN) contains slash or double quote character(s). (yoavs)
+      </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Move processExpiresFrequency check to ManagerBase and reflect change to all subclasses (StandardManager, PersientManagerBase, DeltaManager). (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add DIGEST authentication support to the JDBC and DataSource realms. Supports both digested and cleartext passwords. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32429">32429</a>: CGIServlet calculates number of lines received on stderr incorrectly. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32431">32431</a>: Fix typo in code that passes data to CGI script. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32430">32430</a>: Class cast exception in toString() method within CGI servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add some log.isXXXEnabled checks at StandardContext and HostConfig (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Remove the last DefaultContext artifacts (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32031">32031</a>: using createConnector with "http" protocol (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add configFile attribute in JMX descriptors (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Fix autodeployer handling of a war which includes a /META-INF/context.xml, so that it is
+         correctly registered and can be reloaded correctly (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32137">32137</a>: Use of MessageDigest should be synced in DIGEST (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+         Add info log when the autodeployer reloads a context (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Small HTTP/1.1 optimizations: replace usage of Strings with constant byte arrays, and
+        simplify the code converting Strings to bytes (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Greatly reduce the amount of recycle method calls on the buffers (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>Add null OName check for Request unregistration in Jk, to remove
+           exception under JDK 1.5. (billbarker)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32292">32292</a>: Don't send keep-alive header when the protocol
+           can't be parsed. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Updated JspC usage messages to include recently added configurable parameters. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32330">32330</a>: JspC changes context classloader. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          JvmRouteBinderValve/JvmRouteSessionIDBinderListener to bind cluster session after primary node failure at first calling backup node.
+          This was an option to have session stickyness after cluster node crashed. Work only with JESSIONID cookies. (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Better log support to DeltaManager to see detail information at debug level. (pero)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          Fix FarmWarDeployer based on new HostConfig deployer. (pero)
+       </td></tr>
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          FarmWarDeployer controlled WarWatcher with engine backgroundProcess call.
+          Added processDeployFrequency attribute to Deployer server.xml element. (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32019">32019</a>: Remove maxlength=64 restriction on env entry values in admin webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix various problems in realm docs, submitted by Phil Mocek. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add log4j docs submitted by Allistair Crossley. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32381">32381</a>: Fix problem where EL expression is used as a
+        place holder in the admin webapp.
+        Submitted by Allistair Crossley. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.4 (yoavs)"><strong>Tomcat 5.5.4 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31671">31671</a>: Update web.xml files to 2.4 schema where applicable. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31912">31912</a>: Add PNG and CSS file types to replication filter default. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add processExpiresFrequency to PersistentManagerBase and made some small JDBCStore optimizations (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Register JSP monitoring mbean for each servlet that declares a jsp-file in web.xml. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31578">31578</a>: Update Manager configuration documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31273">31273</a>: Add support for derefaliases in JNDIRealm. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31623">31623</a>: Better OS400 support in setclasspath.sh. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Extend background processing to most container components. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove all MX4J related code. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Update JAR list in TldConfig. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Register datasources with JMX. With DBCP, this is enough to provide JMX management and monitoring.
+        It might work well with many other data sources which might not register themselves in JMX
+        but do expose their stuff in a java bean fashion. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add the ability to force session cookies to be set to the root path "/". This should not be used
+        on large servers, otherwise tons of cookies may be sent. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Workaround for client socket exceptions occurring while running a CGI, which could cause
+        the external process to hang. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Optimize session cookie IDs conversion to String, since this is an unavoidable and uncacheable
+        operation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Add explicit error message if temp dir does not exist, and remove useless calls to initDirs. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add an optimized access log valve, supporting hardcoded support for the common and combined patterns,
+        and doing a majority of its write-to-logfile operations asynchronously. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Register an MBean to monitor and manage the StringCache, and allow invoking the reset operation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31677">31677</a>: Log warning if work dir for context can't be determined. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31903">31903</a>: Fix condition which seems to not have been properly updated after adding
+        entry.binaryContent = null a little below, submitted by Joe Zhou. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Prevent silent NPEs during StandardContext.start dealing with JMX registration of realm, submitted
+        by Keith Wannamaker. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31592">31592</a>: Support other encodings for digests. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31739">31739</a>: Minor realm-howto and AJP connector doc updates. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31753">31753</a>: Minor inconsistency between JDBC and DataSourceRealm#authenticate. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31683">31683</a>: Minor clarifications to realm documentation. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve i18n in TCP endpoint, and add a better error message when an exception occurs
+        in setSocketOptions. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31663">31663</a>: Use interval field as the delay for monitor thread. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove bad shutdown logic for ms pool strategy. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Sync with Cookie, by adding ' ' as a special char. If a special char is present,
+        the string will be quoted. If the client doesn't support it, the String will no be quoted anyway
+        and no IAE will be thrown. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add an optional String cache for ByteChunk.toString and CharChunk.toString. The cache is
+        unsynchronized during most of its operation, and is static after a training period. An operation
+        is provided to allow resetting the cache. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        String caching is enabled by default for ByteChunk. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31090">31090</a>: Use a URL encoded path when setting session cookies. (remm)
+      </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Add getAttributeName() to ProtocolHandler to get all attributes at runtime (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Exposed compilerSourceVM and compilerTargetVM options to JspC. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+          DeltaManager and SimpleTcpReplicationManager generate double jvmRoute (pero)
+       </td></tr>
+       <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+          Add some missing Getters and log.isXXXEnableds (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31707">31707</a>: Broken JavaScript confirmation in HTML manager. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove hard-coded admin context path from admin's banner.jsp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Major connector docs update. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31732">31732</a>: Fix Japanese localization of Manager's list output. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.3 (yoavs)"><strong>Tomcat 5.5.3 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30568">30568</a>: Incomplete setup.html documentation for launching jsvc. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Repackage naming features. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix deployer packaging. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix embed packaging. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix memory leak when Security Manager is turned on. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        When checking status codes for error handling, only check if
+        Response.isError() is true. This way, users may use setStatus() to set their own
+        error status without having the error page invoked. (in which case, the user should've
+        use sendError()) (funkman)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove Digester code for Xerces workaround. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Give proper permission to the balancer app when running under the security manager. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30869">30869</a>: Make sure JAAS realm name is legal. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+          md5Helper, md5Encoder, and normalize are used by WebdavServlet,
+          not DefaultServelt so move them into WebdavServlet.
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31277">31277</a>: Clarified automatic application deployment section of Host configuration page. (yoavs)
+      </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28631">28631</a>: JAASRealm enhancements to support custom user and role classes  use Commons-Logging. (yoavs)
+     </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31364">31364</a>: Missing resource in org.apache.catalina.core.LocalString.properties. (yoavs)
+     </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31362">31362</a>: Missing -Xdebug in catalina.bat when launching with JPDA and Security. (yoavs)
+     </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31356">31356</a>: Duplicates not counted in session generation. (yoavs)
+     </td></tr>
+     <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30949">30949</a>: Make sure ApplicationDispatcher unwraps request/response even if include error occurs. (yoavs)
+     </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fixed StandardContext.getStartTime() to return actual start time/date instead of time (startupTime) it took to start context. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        getRequest/getResponse should return the most relevant interface, to avoid casts. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Add check for directory before considering something is a compressed WAR. (remm)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Update the connector documentation. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        When parsing a context file, ignore the "path" attribute:
+        the only place where it is acceptable is in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Digester handling fixes: always call reset in a finally block after using a digester. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove many fields from Connector, and tie the creation of the Connector to the
+        creation of the protocol handler. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove package triggers from the classloader, which seem useless when using Java 5. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Realms will now use set attribute to set themselves in their container when using JMX. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix JMX related operations with the Connector. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix save-to-XML for naming resources. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove authenticator "debug" attributes from the descriptors. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor org.apache.catalina.deploy.ContextXXX to use new super class ResourceBase. (pero)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Enable Connector.findLifecycleListener that we can listen start/stop Connector events and save the listener to xml. (pero)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove Watchdog references, as it is no longer used. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31511">31511</a>: Don't call setenv.bat if not found, in *using-launcher scripts. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31549">31549</a>: Add name to WebappClassLoader's stopped message. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Allow customized server header for Standalone. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Digester.reset now removes the error handler, the root and calls clear, to prevent
+        any memory leak. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove useless stuff in digester. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        In HTTP, add a utility method to convert strings to byte arrays, and output the server header
+        directly as bytes. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Add a master slave thread pool based on the code from Tomcat 4.0. It is less exotic than the
+        default one, and might fare better on some picky systems, such as Redhat 9. The two threadpools
+        will likely be removed once we use the Java 5 API, although more investigation is needed. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix issue with getProperty in IntrospectionUtils. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove attribute translation for SSL in the HTTP protocol handler: it will now be done in the
+        Catalina Connector class. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of the "timeout" attribute of the HTTP protocol handler. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31171">31171</a>: Wrap to avoid ClassCastException in PageContextImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31257">31257</a>: Added specification of endorsed dirs if forking.  Note that this is fairly useless for now in 5.5 since it uses JDT and not javac by default. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/docs.gif" class="icon" alt="docs"></td><td>
+        Document new Jasper defaults, and update the production configuration. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Copied XML encoding detection logic into JASPER, so we're no longer dependent on Xerces. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix cosmetic issue where extra CRLF would be inserted during each precompilation in web.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Allow configuring the interval following a compilation during which a JSP will not be checked
+        for modifications. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31465">31465</a>: Ensure that the compiler reads the .java file using the same encoding as that with which it was written. (markt)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31510">31510</a>: Null out response in JspWriterImpl#recycle to aid in JBoss memory leak. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to the cluster (notifyListenersOnReplication) to enable/disable the
+        notifications of attribute/context listeners upon replication of a session delta
+        Works only with the DeltaManager (fhanik)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to the cluster (Cluster/Sender/ackTimeout) to set the timeout in milliseconds
+        for a synchronous request to go through, defaults to 15000ms (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29485">29485</a>: I broke the HTML manager when adding JavaScript confirmation, fixed now ;) (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31058">31058</a>: Ensure StatusTransformer escapes query string for XML. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Added contexts' start time (available from 'startTime' MBean attribute of StandardContext) to status page (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31264">31264</a>: the deploy task should now behave correctly. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactor the manager servlet to make calls to the deployer more robust. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the more robust String.valueOf in the form edit action of the connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.2 (yoavs)"><strong>Tomcat 5.5.2 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        The installer will now use the system's JRE. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix URL generation for classloaders on Windows, causing common/classes and shared/classes
+        to be unusable (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31110">31110</a>: Fix resource packaging bug for servlets (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix 5.5 regression where going through the authenticator would create a session each time. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix classname of the connector in Embedded, and remove the socket factory. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Redo server header handling again. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Cleanup a little access to the headers using a local variable and
+        use setValue for Server and Date headers. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove maxTagNesting and curTagNesting since they are unused. (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix tag files handling with JDT, which were ususable, and refactor the lifecycle handling of
+        the page loader. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.1 (yoavs)"><strong>Tomcat 5.5.1 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Tomcat 5.5 can be built on JDK 5.0. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Windows installer polish. (mladen, remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove dependency on Jakarta regexp. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow overriding the location of the default context file, similar to the default
+        web.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Backport if-else logic for SSI servlet from 4.1 (funkman)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove DefaultContext elements from the digester rules. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ResourceLink handling. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Modify the auto deployer to get along with contexts which are statically defined in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Externalize constant strings defining the location of deployment related resources. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31052">31052</a>: BeanFactory swallows root cause of exception. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow using deploy Ant task with just config attribute, submitted by Michael Schuerig. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added longest time an expired session had been alive to set of monitorable session manager attributes. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added average time an expired session had been alive to set of monitorable session manager attributes. (luehe)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Clear a reference in the digester where a context would be referenced for more time than it
+        needed, until the next context deployment operation. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31018">31018</a>: Race condition in SystemLogHandler. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the "compiler" parameter to allow specifying that Ant should be used. (remm)
+      </td></tr>
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Ignore JDT compiler warnings. (remm)
+      </td></tr>
+      <tr><td><img src="./images/add.gif" class="icon" alt="add"></td><td>
+        Added compilerTargetVM option support, "1.4" default. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix adding the clustering valve, so that session replication actually occurs. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Major documentation update with current Tomcat 5.5 changes. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Added JavaScript confirmation dialog to "dangerous" Manager servler links. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.0 (yoavs)"><strong>Tomcat 5.5.0 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Many updated and fixed JavaDocs. (yoavs)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Designed and tested Tomcat on J2SE 5.0 (aka JDK 1.5). (everyone)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Bundled Eclipse JDT (new dependency) to allow Tomcat to run on a JRE only, i.e. no JDK required. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Repackage commons-dbcp and its dependencies as a sigle smaller WAR, with renamed packages. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Removed dependencies on commons-digester, commons-beanutils, and commons-collections.
+        The relevant digester functionality is now merged in tomcat-util. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Removed usage of org.apache.catalina.Logger, increased usage of commons-logging everywhere. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Refactored classloader code to better handle JAR and general resource locking. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Written JMX-related code to play nicely with J2SE 5.0 built-in JMX abilities. (remm, costin)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Extensively profiled and optimized the server startup performance as well as the request mapping and processing pipeline. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        The container will now always process a /META-INF/context.xml resource, unless the webapp has a specified external context file. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        New default configuration mechanism for web applications, replacing DefaultContext. This uses a
+        shared context file located in conf/context.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Revamped deployer, alloying full hotdeploy (note: on Windows, this requires the anti file locking
+        features). (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Remove verbosity from the JNDI resources configuration, by allowing arbitrary attributes on the Resource element. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Simpler Valve interface, to allow smaller stack traces and reducing the amount of method calls. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Eclipse JDT is now the default Java compiler in Jasper. Source dependencies are now loaded from
+        the container classloader, and compilation times are much faster. (remm)
+      </td></tr>
+      <tr><td><img src="./images/update.gif" class="icon" alt="update"></td><td>
+        Jasper development mode should now have acceptable performance for heavily accessed pages.
+        Precompiling JSPs is still significantly more efficient, however. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/class-loader-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/class-loader-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/class-loader-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,243 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Class Loader HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Class Loader HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/class-loader-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following rules cover about 95% of the decisions that application
+developers and deployers must make about where to place class and resource
+files to make them available to web applications:</p>
+<ul>
+<li>For classes and resources specific to a particular web application,
+    place unpacked classes and resources under <code>/WEB-INF/classes</code>
+    of your web application archive, or place JAR files containing those
+    classes and resources under <code>/WEB-INF/lib</code> of your web
+    application archive.</li>
+<li>For classes and resources that must be shared across all web applications,
+    place unpacked classes and resources under
+    <code>$CATALINA_BASE/shared/classes</code>, or place JAR files
+    containing those classes and resources under
+    <code>$CATALINA_BASE/shared/lib</code>.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like many server applications, Tomcat 5 installs a variety of class loaders
+(that is, classes that implement <code>java.lang.ClassLoader</code>) to allow
+different portions of the container, and the web applications running on the
+container, to have access to different repositories of available classes and
+resources.  This mechanism is used to provide the functionality defined in the
+Servlet Specification, version 2.4 -- in particular, Sections 9.4 and 9.6.</p>
+
+<p>In a J2SE 2 (that is, J2SE 1.2 or later) environment, class loaders are
+arranged in a parent-child tree.  Normally, when a class loader is asked to
+load a particular class or resource, it delegates the request to a parent
+class loader first, and then looks in its own repositories only if the parent
+class loader(s) cannot find the requested class or resource.  The model for
+web application class loaders differs slightly from this, as discussed below,
+but the main principles are the same.</p>
+
+<p>When Tomcat 5 is started, it creates a set of class loaders that are
+organized into the following parent-child relationships, where the parent
+class loader is above the child class loader:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      Bootstrap
+          |
+       System
+          |
+       Common
+      /      \
+ Catalina   Shared
+             /   \
+        Webapp1  Webapp2 ... 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>The characteristics of each of these class loaders, including the source
+of classes and resources that they make visible, are discussed in detail in
+the following section.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Class Loader Definitions"><strong>Class Loader Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As indicated in the diagram above, Tomcat 5 creates the following class
+loaders as it is initialized:</p>
+<ul>
+<li><strong>Bootstrap</strong> - This class loader contains the basic runtime
+    classes provided by the Java Virtual Machine, plus any classes from JAR
+    files present in the System Extensions directory
+    (<code>$JAVA_HOME/jre/lib/ext</code>).  <em>NOTE</em> - Some JVMs may
+    implement this as more than one class loader, or it may not be visible
+    (as a class loader) at all.</li>
+<li><strong>System</strong> - This class loader is normally initialized from
+    the contents of the <code>CLASSPATH</code> environment variable.  All such
+    classes are visible to both Tomcat internal classes, and to web
+    applications.  However, the standard Tomcat 5 startup scripts
+    (<code>$CATALINA_HOME/bin/catalina.sh</code> or
+    <code>%CATALINA_HOME%\bin\catalina.bat</code>) totally ignore the contents
+    of the <code>CLASSPATH</code> environment variable itself, and instead
+    build the System class loader from the following repositories:
+    <ul>
+    <li><em>$CATALINA_HOME/bin/bootstrap.jar</em> - Contains the main() method
+        that is used to initialize the Tomcat 5 server, and the class loader
+        implementation classes it depends on.</li>
+    <li><em>$JAVA_HOME/lib/tools.jar</em> - Contains the "javac" compiler used
+        to convert JSP pages into servlet classes.</li>
+    <li><em>$CATALINA_HOME/bin/commons-logging-api.jar</em> - Jakarta commons 
+        logging API.</li>
+    <li><em>$CATALINA_HOME/bin/commons-daemon.jar</em> - Jakarta commons 
+        daemon API.</li>
+    <li><em>jmx.jar</em> - The JMX 1.2 implementation.</li>
+    </ul></li>
+<li><strong>Common</strong> - This class loader contains additional classes
+    that are made visible to both Tomcat internal classes and to all web
+    applications.  Normally, application classes should <strong>NOT</strong>
+    be placed here.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/common/classes</code>, as well as classes and
+    resources in JAR files under the
+    <code>$CATALINA_HOME/commons/endorsed</code>,
+    <code>$CATALINA_HOME/commons/i18n</code> and
+    <code>$CATALINA_HOME/common/lib</code> directories,
+    are made visible through this
+    class loader.  By default, that includes the following:
+    <ul>
+    <li><em>commons-el.jar</em> - Jakarta commons el, implementing the 
+        expression language used by Jasper.</li>
+    <li><em>jasper-compiler.jar</em> - The JSP 2.0 compiler.</li>
+    <li><em>jasper-compiler-jdt.jar</em> - The Eclipse JDT Java compiler.</li>
+    <li><em>jasper-runtime.jar</em> - The JSP 2.0 runtime.</li>
+    <li><em>jsp-api.jar</em> - The JSP 2.0 API.</li>
+    <li><em>naming-common.jar</em> - The JNDI implementation used by Tomcat 5
+        to represent in-memory naming contexts.</li>
+    <li><em>naming-factory.jar</em> - The JNDI implementation used by Tomcat 5
+        to resolve references to enterprise resources (EJB, connection 
+        pools).</li>
+    <li><em>naming-factory-dbcp.jar</em> - Jakarta commons DBCP, providing a
+        JDBC connection pool to web applications. The classes have been moved
+        out of their default org.apache.commons package.</li>
+    <li><em>naming-java.jar</em> - Handler for the java: namespace.</li>
+    <li><em>naming-resources.jar</em> - The specialized JNDI naming context
+        implementation used to represent the static resources of a web
+        application. This is not related to the support of the J2EE ENC, and
+        cannot be removed.</li>
+    <li><em>servlet-api.jar</em> - The Servlet 2.4 API.</li>
+    <li><em>tomcat-i18n-**.jar</em> - Optional JARs containing resource bundles
+        for other languages. As default bundles are also included in each 
+        individual JAR, they can be safely removed if no internationalization
+        of messages is needed.</li>
+    </ul></li>
+<li><strong>Catalina</strong> - This class loader is initialized to include
+    all classes and resources required to implement Tomcat 5 itself.  These
+    classes and resources are <strong>TOTALLY</strong> invisible to web
+    applications.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/server/classes</code>, as well as classes and
+    resources in JAR files under
+    <code>$CATALINA_HOME/server/lib</code>, are made visible through
+    this class loader.  By default, that includes the following:
+    <ul>
+    <li><em>catalina.jar</em> - Implementation of the Catalina servlet
+        container portion of Tomcat 5.</li>
+    <li><em>catalina-ant.jar</em> - Some Ant tasks which can be used to
+        manage Tomcat using the manager web application.</li>
+    <li><em>catalina-optional.jar</em> - Some optional components of
+        Catalina.</li>
+    <li><em>commons-modeler.jar</em> - A model MBeans implementation used
+        by Tomcat to expose its internal objects through JMX.</li>
+    <li><em>servlets-xxxxx.jar</em> - The classes associated with each
+        internal servlet that provides part of Tomcat's functionality.
+        These are separated so that they can be completely removed if the
+        corresponding service is not required, or they can be subject to
+        specialized security manager permissions.</li>
+    <li><em>tomcat-coyote.jar</em> - Coyote API.</li>
+    <li><em>tomcat-http.jar</em> - Standalone Java HTTP/1.1 
+        connector.</li>
+    <li><em>tomcat-ajp.jar</em> - Classes for the Java portion of the
+        <code>AJP</code> web server connector, which allows Tomcat to
+        run behind web servers such as Apache and iPlanet iAS and iWS.</li>
+    <li><em>tomcat-util.jar</em> - Utility classes required by some
+        Tomcat connectors.</li>
+    </ul></li>
+<li><strong>Shared</strong> - This class loader is the place to put classes
+    and resources that you wish to share across <strong>ALL</strong>
+    web applications (unless Tomcat internal classes also need access,
+    in which case you should put them in the <strong>Common</strong>
+    class loader instead).  All unpacked classes and resources in
+    <code>$CATALINA_BASE/shared/classes</code>, as well as classes and
+    resources in JAR files under <code>$CATALINA_BASE/shared/lib</code>, are
+    made visible through this class loader. If multiple Tomcat instances are
+    run from the same binary using the $CATALINA_BASE environment variable,
+    then this classloader repositories are relative to $CATALINA_BASE rather
+    than $CATALINA_HOME.</li>
+<li><strong>WebappX</strong> - A class loader is created for each web
+    application that is deployed in a single Tomcat 5 instance.  All unpacked
+    classes and resources in the <code>/WEB-INF/classes</code> directory of
+    your web application archive, plus classes and resources in JAR files
+    under the <code>/WEB-INF/lib</code> directory of your web application
+    archive, are made visible to the containing web application, but to
+    no others.</li>
+</ul>
+
+<p>As mentioned above, the web application class loader diverges from the
+default Java 2 delegation model (in accordance with the recommendations in the
+Servlet Specification, version 2.3, section 9.7.2 Web Application Classloader).  
+When a request to load a
+class from the web application's <em>WebappX</em> class loader is processed,
+this class loader will look in the local repositories <strong>first</strong>,
+instead of delegating before looking.  There are exceptions. Classes which are
+part of the JRE base classes cannot be overriden. For some classes (such as
+the XML parser components in J2SE 1.4+), the J2SE 1.4 endorsed feature can be 
+used  
+(see the common classloader definition above).
+Last, any JAR containing servlet API classes will be ignored by the 
+classloader.
+All other class loaders in Tomcat 5 follow the usual delegation pattern.</p>
+
+<p>Therefore, from the perspective of a web application, class or resource
+loading looks in the following repositories, in this order:</p>
+<ul>
+<li>Bootstrap classes of your JVM</li>
+<li>System class loader classses (described above)</li>
+<li><em>/WEB-INF/classes</em> of your web application</li>
+<li><em>/WEB-INF/lib/*.jar</em> of your web application</li>
+<li><em>$CATALINA_HOME/common/classes</em></li>
+<li><em>$CATALINA_HOME/common/endorsed/*.jar</em></li>
+<li><em>$CATALINA_HOME/common/i18n/*.jar</em></li>
+<li><em>$CATALINA_HOME/common/lib/*.jar</em></li>
+<li><em>$CATALINA_BASE/shared/classes</em></li>
+<li><em>$CATALINA_BASE/shared/lib/*.jar</em></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="XML Parsers and J2SE 1.4"><strong>XML Parsers and J2SE 1.4</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Among many other changes, the J2SE 1.4 release packages the JAXP APIs, and
+a version of Xerces, inside the JRE.  This has impacts on applications that
+wish to use their own XML parser.</p>
+
+<p>In previous versions of Tomcat 5, you could simply replace the XML parser
+in the <code>$CATALINA_HOME/common/lib</code> directory to change the parser
+used by all web applications.  However, this technique will not be effective
+when you are running on J2SE 1.4, because the usual class loader delegation
+process will always choose the implementation inside the JDK in preference
+to this one.</p>
+
+<p>JDK 1.4 supports a mechanism called the "Endorsed Standards Override
+Mechanism" to allow replacement of APIs created outside of the JCP (i.e.
+DOM and SAX from W3C).  It can also be used to update the XML parser
+implementation.  For more information, see:
+<a href="http://java.sun.com/j2se/1.4/docs/guide/standards/index.html">
+http://java.sun.com/j2se/1.4/docs/guide/standards/index.html</a>.</p>
+
+<p>Tomcat utilizes this mechanism by including the system property setting
+<code>-Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed</code> in the
+command line that starts the container.  Therefore, you can replace the
+parser that is installed in this directory, and it will get used even on a
+JDK 1.4 system.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Running under a security manager"><strong>Running under a security manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When running under a security manager the locations from which classes
+are permitted to be loaded will also depend on the contents of your policy
+file. See <a href="security-manager-howto.html">Security Manager HOW-TO</a>
+for further information.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cluster-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cluster-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/cluster-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1115 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Clustering/Session Replication HOW-TO</title><meta value="Filip Hanik" name="author"><meta value="fhanik at apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Clustering/Session Replication HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/cluster-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To run session replication in your Tomcat 5.5 container, the following steps
+should be completed:</p>
+<ul>
+<li>All your session attributes must implement <code>java.io.Serializable</code></li>
+<li>Uncomment the <code>Cluster</code> element in server.xml</li>
+<li>Uncomment the <code>Valve(ReplicationValve)</code> element in server.xml</li>
+<li>If your Tomcat instances are running on the same machine, make sure the <code>tcpListenPort</code>
+    attribute is unique for each instance.</li>
+<li>Make sure your <code>web.xml</code> has the <code>&lt;distributable/&gt;</code> element 
+    or set at your <code>&lt;Context distributable="true" /&gt;</code></li>
+<li>Make sure that jvmRoute attribute is set at your Engine <code>&lt;Engine name="Catalina" jvmRoute="node01" &gt;</code></li>
+<li>Make sure that all nodes have the same time and sync with NTP service!</li>
+<li>Make sure that your loadbalancer is configured for sticky session mode.</li>
+</ul>
+<p>Load balancing can be achieved through many techniques, as seen in the
+<a href="balancer-howto.html">Load Balancing</a> chapter.</p>
+<p>Note: Remember that your session state is tracked by a cookie, so your URL must look the same from the out
+   side otherwise, a new session will be created.</p>
+<p>Note: Clustering support currently requires the JDK version 1.4 or later.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To enable session replication in Tomcat, three different paths can be followed to achieve the exact same thing:</p>
+<ol>
+  <li>Using session persistence, and saving the session to a shared file system (PersistenceManager + FileStore)</li>
+  <li>Using session persistence, and saving the session to a shared database (PersistenceManager + JDBCStore)</li>
+  <li>Using in-memory-replication, using the SimpleTcpCluster that ships with Tomcat 5 (server/lib/catalina-cluster.jar)</li>
+</ol>
+
+<p>In this release of session replication, Tomcat performs an all-to-all replication of session state.
+
+   This is an algorithm that is only efficient when the clusters are small. For large clusters, the next
+   release will support a primary-secondary session replication where the session will only be stored at one
+   or maybe two backup servers. 
+   Currently you can use the domain worker attribute (mod_jk &gt; 1.2.8) to build cluster partitions
+   with the potential of very scaleable cluster solution.
+   In order to keep the network traffic down in an all-to-all environment, you can split your cluster
+   into smaller groups. This can be easily achieved by using different multicast addresses for the different groups.
+   A very simple setup would look like this:
+   </p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        DNS Round Robin
+               |
+         Load Balancer
+          /           \
+      Cluster1      Cluster2
+      /     \        /     \
+  Tomcat1 Tomcat2  Tomcat3 Tomcat4
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>What is important to mention here, is that session replication is only the beginning of clustering.
+   Another popular concept used to implement clusters is farming, ie, you deploy your apps only to one
+   server, and the cluster will distribute the deployments across the entire cluster.
+   This is all capabilities that can go into with the FarmWarDeployer (s. cluster example at <code>server.xml</code>)</p>
+<p>In the next section will go deeper into how session replication works and how to configure it.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>To make it easy to understand how clustering works, We are gonna take you through a series of scenarios.
+   In the scenario we only plan to use two tomcat instances <code>TomcatA</code> and <code>TomcatB</code>.
+   We will cover the following sequence of events:</p>
+
+<ol>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatB</code> starts up (Wait that TomcatA start is complete)</li>
+<li><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</li>
+<li><code>TomcatA</code> crashes</li>
+<li><code>TomcatB</code> receives a request for session <code>S1</code></li>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</li>
+<li><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.</li>
+</ol>
+
+<p>Ok, now that we have a good sequence, we will take you through exactly what happens in the session repliction code</p>
+
+<ol>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>
+        Tomcat starts up using the standard start up sequence. When the Host object is created, a cluster object is associated with it.
+        When the contexts are parsed, if the distributable element is in place in web.xml
+        Tomcat asks the Cluster class (in this case <code>SimpleTcpCluster</code>) to create a manager
+        for the replicated context. So with clustering enabled, distributable set in web.xml
+        Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
+        The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
+        More on the architecture further down in this document.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> starts up</b>
+    <p>
+        When TomcatB starts up, it follows the same sequence as TomcatA did with one exception.
+        The cluster is started and will establish a membership (TomcatA,TomcatB).
+        TomcatB will now request the session state from a server that already exists in the cluster,
+        in this case TomcatA. TomcatA responds to the request, and before TomcatB starts listening
+        for HTTP requests, the state has been transferred from TomcatA to TomcatB.
+        In case TomcatA doesn't respond, TomcatB will time out after 60 seconds, and issue a log
+        entry. The session state gets transferred for each web application that has distributable in
+        its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
+        configured the same.
+    </p><p></p>
+</li>
+<li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
+    <p>
+        The request coming in to TomcatA is treated exactly the same way as without session replication.
+        The action happens when the request is completed, the <code>ReplicationValve</code> will intercept
+        the request before the response is returned to the user.
+        At this point it finds that the session has been modified, and it uses TCP to replicata the
+        session to TomcatB. Once the serialized data has been handed off to the operating systems TCP logic,
+        the request returns to the user, back through the valve pipeline.
+        For each request the entire session is replicated, this allows code that modifies attributes
+        in the session without calling setAttribute or removeAttribute to be replicated.
+        a useDirtyFlag configuration parameter can be used to optimize the number of times
+        a session is replicated.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatA</code> crashes</b>
+    <p>
+        When TomcatA crashes, TomcatB receives a notification that TomcatA has dropped out
+        of the cluster. TomcatB removes TomcatA from its membership list, and TomcatA will no longer
+        be notified of any changes that occurs in TomcatB.
+        The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
+        are current.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
+    <p>Nothing exciting, TomcatB will process the request as any other request.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>Upon start up, before TomcatA starts taking new request and making itself
+    available to it will follow the start up sequence described above 1) 2).
+    It will join the cluster, contact TomcatB for the current state of all the sessions.
+    And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
+    So no requests will make it to TomcatA until it has received the session state from TomcatB.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
+    <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
+        When the request is complete, instead of sending out the session that has changed, it sends out
+        an "expire" message to TomcatB and TomcatB will invalidate the session as well.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
+    <p>Same scenario as in step 3)
+    </p><p></p>
+
+
+</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.
+    <p>The invalidate is call is intercepted the same was as when a session is invalidated by the user,
+       and the session is queued with invalidated sessions.
+       At this point, the invalidet session will not be replicated across until
+       another request comes through the system and checks the invalid queue.
+    </p><p></p>
+</li>
+</ol>
+
+<p>Phuuuhh! :)</p>
+
+<p><b>Membership</b>
+    Clustering membership is established using very simple multicast pings.
+    Each Tomcat instance will periodically send out a multicast ping,
+    in the ping message the instance will broad cast its IP and TCP listen port
+    for replication.
+    If an instance has not received such a ping within a given timeframe, the
+    member is considered dead. Very simple, and very effective!
+    Of course, you need to enable multicasting on your system.
+</p>
+
+<p><b>TCP Replication</b>
+    Once a multicast ping has been received, the member is added to the cluster
+    Upon the next replication request, the sending instance will use the host and
+    port info and establish a TCP socket. Using this socket it sends over the serialized data.
+    The reason I choose TCP sockets is because it has built in flow control and guaranteed delivery.
+    So I know, when I send some data, it will make it there :)
+</p>
+
+<p><b>Distributed locking and pages using frames</b>
+    Tomcat does not keep session instances in sync across the cluster.
+    The implementation of such logic would be to much overhead and cause all
+    kinds of problems. If your client accesses the same session
+    simultanously using multiple requests, then the last request
+    will override the other sessions in the cluster.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Architecture"><strong>Cluster Architecture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><b>Component Levels:</b>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+         Server
+           |
+         Service
+           |
+         Engine
+           |  \ 
+           |  --- Cluster --*
+           |
+         Host
+           |
+         ------
+        /      \
+     Cluster    Context(1-N)                 
+        |             \
+        |             -- Manager
+        |                   \
+        |                   -- DeltaManager
+        |
+     -----------------------------
+     |          |         |       \
+   Receiver    Sender   Membership  \
+     \                               -- Valve
+     -- SocketReplicationListener    |      \
+     -- ReplicationListener          |       -- ReplicationValve
+                                     |       -- JvmRouteBinderValve 
+                                     |
+                                     -- LifecycleListener 
+                                     |
+                                     -- ClusterListener 
+                                     |      \
+                                     |       -- ClusterSessionListener
+                                     |       -- JvmRouteSessionIDBinderListener
+                                     |
+                                     -- Deployer 
+                                            \
+                                             -- FarmWarDeployer
+      
+      
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   Sender
+    \
+    -- ReplicationTransmitter 
+             |
+             ---------
+                      \
+                   IDataSender
+                          \
+                          |
+                          --- (sync)
+                          |  \
+                          |   -- PooledSocketSender   (pooled)
+                          |   -- SockerSender         (synchronous)
+                          |                                
+                          --- (async)
+                             \
+                              -- AsyncSocketSender     (asynchronous)
+                              -- FastAsyncSocketSender (fastasyncqueue)         
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration"><strong>Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>The cluster configuration is described in the sample server.xml file.
+What is worth to mention is that the attributes starting with mcastXXX
+are for the membership multicast ping, and the attributes starting with tcpXXX
+are for the actual TCP replication.
+</p>
+<p>
+    The membership is established by all the tomcat instances are sending broadcast messages
+    on the same multicast IP and port.
+    The TCP listen port, is the port where the session replication is received from other members.
+</p>
+<p>
+    The replication valve is used to find out when the request has been completed and initiate the
+    replication.
+</p>
+<p>
+    One of the most important performance considerations is the synchronous (pooled or not pooled) versus asynchronous replication
+    mode. In a synchronous replication mode the request doesn't return until the replicated session has been
+    sent over the wire and reinstantiated on all the other cluster nodes.
+    There are two settings for synchronous replication. Pooled or not pooled.
+    Not pooled (ie replicationMode="fastasnycqueue" or "synchronous") means that all the replication request are sent over a single
+    socket.
+    Using synchronous mode can potentially becomes a bottleneck when a lot of messages generated,
+    You can overcome this bottleneck by setting replicationMode="pooled" but then you worker threads blocks with replication .
+    What is recommended here is to increase the number of threads that handle
+    incoming replication request. This is the tcpThreadCount property in the cluster
+    section of server.xml. The pooled setting means that we are using multiple sockets, hence increases the performance.
+    Asynchronous replication, should be used if you have sticky sessions until fail over, then
+    your replicated data is not time crucial, but the request time is, at this time leave the tcpThreadCount to
+    be number-of-nodes-1.
+    During async replication, the request is returned before the data has been replicated. async replication yields shorter
+    request times, and synchronous replication guarantees the session to be replicated before the request returns.
+</p>
+<p>
+    The parameter "replicationMode" has four different settings: "pooled", "synchronous", "asynchronous" and "fastasyncqueue"
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Simple Cluster Configuration"><strong>Simple Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Simple one line configuration<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"&gt;
+             &lt;Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
+            &lt;/Host&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<br>
+The default mode configuration setup a <em>fastasyncqueue</em> mode cluster configuration with following
+parameters:
+<ul>
+    <li>Open Membership receiver at <em>228.0.0.4</em> and send to multicast udp port <em>8012</em></li>
+    <li>Send membership every 1 sec and drop member after 30sec.</li>
+    <li>Open message receiver at default ip interface at first free port between <em>8015</em> and <em>8019</em>.</li>
+    <li>Receiver message with <em>SocketReplicationListener</em> </li>
+    <li>Configure a <em>ReplicationTransmitter</em> with <em>fastasyncqueue</em> sender mode.</li>
+    <li>Add <em>ClusterSessionListener</em> and <em>ReplicationValve</em>.</li>
+</ul> 
+</p>
+<p>
+<b>NOTE</b>: Use this configuration when you need very quick a test cluster with
+at your developer machine. You can change the default attributes from cluster sub elements.
+Use following cluster attribute prefixes <em>sender.</em>,
+<b>receiver.</b>, <b>service.</b>, <b>manager.</b>, <b>valve.</b> and <b>listener.</b>.
+<br><b>Example</b> configure cluster at windows laptop with network connection and
+change receiver port range<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster                 className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+          service.mcastBindAddress="127.0.0.1" 
+            receiver.tcpListenPort="9070" 
+         receiver.tcpListenMaxPort="9075" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>    
+<br>       
+<b>WARNING</b>: When you add you sub elements, there overwrite the defaults complete.
+<br><b>Example</b> configure cluster with cluster failover jsessionid support. In this
+case you need also the defaultmode Cluster listener <em>ClusterSessionListener</em> and <em>ReplicationValve</em>.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster                 className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+          service.mcastBindAddress="127.0.0.1" 
+            receiver.tcpListenPort="9070" 
+         receiver.tcpListenMaxPort="9075" &gt;
+       &lt;ClusterListener  className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+       &lt;ClusterListener  className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+       &lt;Valve            className="org.apache.catalina.cluster.tcp.ReplicationValve"
+                            filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
+                  primaryIndicator="true" /&gt;
+	   &lt;Valve            className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+	                      enabled="true"  /&gt;
+&lt;Cluster/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div> 
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Simple Engine Cluster Configuration for all hosts"><strong>Simple Engine Cluster Configuration for all hosts</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Simple one line engine configuration<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+        &lt;Cluster      className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"/&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<br>
+See default mode configuration description as simple host cluster example before.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Complex Cluster Configuration"><strong>Complex Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<br><b>Example</b> Configure cluster with complete sub elements. Activate this node
+as master farm delopyer. Message receiver is NIO based <em>ReplicationListener</em> with six parallel
+worker threads.
+<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+       &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"&gt;
+                &lt;Cluster                  className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+                                       doClusterLog="true"
+                                     clusterLogName="clusterlog"
+                                  manager.className="org.apache.catalina.cluster.session.DeltaManager"
+                   manager.expireSessionsOnShutdown="false"
+               manager.notifyListenersOnReplication="false"
+        manager.notifySessionListenersOnReplication="false"
+                            manager.sendAllSessions="false"
+                        manager.sendAllSessionsSize="500"
+                    manager.sendAllSessionsWaitTime="20"&gt;
+                  &lt;Membership 
+                                          className="org.apache.catalina.cluster.mcast.McastService"
+                                          mcastAddr="228.0.0.4"
+                                   mcastBindAddress="127.0.0.1" 
+                                 mcastClusterDomain="d10" 
+                                          mcastPort="45564"
+                                     mcastFrequency="1000"
+                                      mcastDropTime="30000"/&gt;
+                  &lt;Receiver 
+                                           className="org.apache.catalina.cluster.tcp.ReplicationListener"
+                                    tcpListenAddress="auto"
+                                       tcpListenPort="9015"
+                                  tcpSelectorTimeout="100"
+                                      tcpThreadCount="6"
+                  &lt;Sender
+                                           className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+                                     replicationMode="fastasyncqueue"
+                                      recoverTimeout="5000"
+                                      recoverCounter="6"
+                        doTransmitterProcessingStats="true"
+                                   doProcessingStats="true"
+                                      doWaitAckStats="true"
+                                       queueTimeWait="true"
+                                        queueDoStats="true"
+                                      queueCheckLock="true"
+                                          ackTimeout="15000"
+                                          waitForAck="true"
+                                    keepAliveTimeout="80000"
+                            keepAliveMaxRequestCount="-1"/&gt;
+                  &lt;Valve                   className="org.apache.catalina.cluster.tcp.ReplicationValve"
+                                              filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
+                                    primaryIndicator="true" /&gt;
+                  &lt;Valve                    className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+                                             enabled="true" /&gt;	
+                  &lt;ClusterListener         className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+                  &lt;ClusterListener         className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+                  &lt;Deployer                className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
+                                            tempDir="${catalina.base}/war-temp"
+                                          deployDir="${catalina.base}/war-deploy/"
+                                           watchDir="${catalina.base}/war-listen/"
+                                       watchEnabled="true"/&gt;
+                  &lt;/Cluster&gt;
+            &lt;/Host&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter"><strong>Cluster Configuration for ReplicationTransmitter</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>replicationMode</td>
+    <td>replication mode (<em>synchronous</em>, <em>pooled</em>, <em>asynchronous</em> or <em>fastasyncqueue</em>)
+    </td>
+    <td><code>pooled</code></td>
+  </tr>
+
+  <tr>
+    <td>processSenderFrequency</td>
+    <td>Control the sender keepalive status and drop sender socket connection after timeout is reached.
+    Check every processSenderFrequency value engine background ticks.
+    </td>
+    <td><code>2</code></td>
+  </tr>
+
+  <tr>
+    <td>compress</td>
+    <td>compress bytes before sending (consume memory, but reduce network traffic - GZIP)</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>ackTimeout</td>
+    <td>acknowledge timeout and only usefull it waitForAck is true</td>
+    <td><code>15000 msec</code></td>
+  </tr>
+  
+  <tr>
+    <td>waitForAck</td>
+    <td>Wait for ack after data send</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>autoConnect</td>
+    <td>is sender disabled, fork a new socket</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doTransmitterProcessingStats</td>
+    <td>create processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+</table>
+</p>
+<p>
+Example to get statistic information, wait for ack at every message send and transfer at compressed mode<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="fastasyncqueue"
+      compress="true"
+      doTransmitterProcessingStats="true"
+      ackTimeout="15000"
+      waitForAck="true"
+      autoConnect="false"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+     
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter (fastayncqueue - mode)"><strong>Cluster Configuration for ReplicationTransmitter (fastayncqueue - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>recoverTimeout</td>
+    <td>recover Timeout after push message failure </td>
+    <td><code>5000 msec</code></td>
+  </tr>
+
+  <tr>
+    <td>recoverCounter</td>
+    <td>number of recover tries</td>
+    <td><code>0</code></td>
+  </tr>
+
+  <tr>
+    <td>queueDoStats</td>
+    <td>activated queue stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>queueCheckLock</td>
+    <td>check to lost locks</td>
+    <td><code>false</code></td>
+  </tr>
+  <tr>
+    <td>queueAddWaitTimeout</td>
+    <td>queue add wait time (tomcat connector thread waits)</td>
+    <td><code>10000 msec</code></td>
+  </tr>
+  <tr>
+    <td>queueRemoveWaitTimeout</td>
+    <td>queue remove wait time (queue thread waits)</td>
+    <td><code>30000 msec</code></td>
+  </tr>
+  
+  <tr>
+    <td>maxQueueLength</td>
+    <td>max queue length (default without limit)</td>
+    <td><code>-1</code></td>
+  </tr>
+  
+  <tr>
+    <td>threadPriority</td>
+    <td>change queue thread priority (1-10 ; 5 is normal)</td>
+    <td><code>5</code></td>
+  </tr>
+</table>
+  
+</p>
+<p>
+Example to get a lot of statistic information, wait for ACK and
+recover after connection failure (wait 5 secs and 6 trails (==30 secs Mcast Timeout) <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="fastasyncqueue"
+      recoverTimeout="5000"
+      recoverCounter="6"      
+      doTransmitterProcessingStats="true"
+      doProcessingStats="true"
+      queueTimeWait="true"
+      queueDoStats="true"
+      queueCheckLock="true"
+      waitForAck="true"
+      autoConnect="false"
+      keepAliveTimeout="320000"
+      keepAliveMaxRequestCount="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( asynchronous - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( asynchronous - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get a processing statistic information, resend after failure and wait for ACK<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="asynchronous"
+      doProcessingStats="true"
+      doWaitAckStats="true"
+      waitForAck="true"
+      ackTimeout="30000"
+      resend="true"
+      keepAliveTimeout="320000"
+      keepAliveMaxRequestCount="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+    
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( synchronous - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( synchronous - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+  
+</p>
+<p>
+Example to get a no processing statistic information, no wait for ACK, after 10000 request renew socket and autoconnect before first request is send.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="synchronous"
+      autoConnect="true"
+      keepAliveTimeout="-1"
+      keepAliveMaxRequestCount="100000"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( pooled - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( pooled - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>maxPoolSocketLimit</td>
+    <td>max pooled sockets (Sender Sockets)</td>
+    <td><code>25</code></td>
+  </tr>
+  
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+  
+</table>
+  
+</p>
+<p>
+Example to get a no processing statistic information, wait for ACK, after 10000 request renew socket, only 10 SockerSender available and autoconnect before first request is send.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="pooled"
+      autoConnect="true"
+      maxPoolSocketLimit="10"
+      keepAliveTimeout="-1"
+      keepAliveMaxRequestCount="10000"
+      waitForAck="true" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( DeltaManager Attribute)"><strong>Cluster Configuration for ReplicationTransmitter ( DeltaManager Attribute)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>expireSessionsOnShutdown</td>
+    <td>When server stopped, expire all sessions also at backup nodes (only for testing)</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>maxActiveSessions</td>
+    <td>Number of active sessions. (Default is no limit)</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>notifyListenersOnReplication</td>
+    <td>Notify application session listener to session creation 
+    and expiring events at backup nodes</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>notifySessionListenersOnReplication</td>
+    <td>Notify application session listener to attribute changes at backup nodes</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>stateTransferTimeout</td>
+    <td>Timeout that session state transfer is complete. Is attribute <code>stateTransferTimeout == -1</code> 
+        then application wait that other node send the complete session state</td>
+    <td><code>60 sec</code></td>
+  </tr>
+  
+  <tr>
+    <td>sendAllSessions</td>
+    <td>Flag to send sessions as splited blocks</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>sendAllSessionsSize</td>
+    <td>Number of serialize sessions inside a send block session message. Only useful when <code>sendAllSessions==false</code></td>
+    <td><code>1000</code></td>
+  </tr>
+
+  <tr>
+    <td>sendAllSessionsWaitTime</td>
+    <td>wait time between two session send blocks.</td>
+    <td><code>2000 msec</code></td>
+  </tr>
+
+  <tr>
+    <td>sendClusterDomainOnly</td>
+    <td>Send all session messages only to member inside same cluster domain 
+        (value od Membership attribute mcastClusterDomain). Also don't handle
+        session messages from other domains.</td>
+    <td><code>true</code></td>
+  </tr>  
+
+  <tr>
+    <td>stateTimestampDrop</td>
+    <td>DeltaManager queued Sessions messages when send GET_ALL_SESSION to other node.
+    with stateTimestampDrop all messages before state transfer message creation date (find session) are dropped.
+    Only other GET_ALL_SESSION events are handle with date before state transfer message.</td>
+    <td><code>true</code></td>
+  </tr>  
+  
+</table>
+  
+</p>
+<p>
+Example send all sessions at separate blocks. Serialize and send 100 session inside one block.
+Wait maximale two minutes before the complete backup sessions are loaded inside tomcat boot process.
+Between send blocks wait 5 secs to transfers the session block to other node. This save memory
+when you use the async modes with queues.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Cluster className="org.apache.catalina.tcp.SimpleTcpCluster"
+      managerClassName="org.apache.catalina.cluster.session.DeltaManager"
+      manager.stateTransferTimeout="120"
+      manager.sendAllSessions="false"
+      manager.sendAllSessionsSize="100"
+      manager.sendAllSessionsWaitTime="5000"
+      "/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+<b>Note:</b><br>
+As <em>Cluster.defaultMode=true</em> you can configure the manager attributes with prefix <em>manager.</em>. 
+<br>
+<b>Note:</b><br>
+With <em>Cluster.setProperty(&lt;String&gt;,&lt;String&gt;)</em> you can modify 
+attributes for all register managers. The method exists as MBeans operation.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Bind session after crash to failover node"><strong>Bind session after crash to failover node</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+As you configure more then two nodes at same cluster for backup, most loadbalancer
+send don't all your requests after failover to the same node.
+</p>
+<p> 
+The JvmRouteBinderValve handle tomcat jvmRoute takeover using mod_jk module after node
+failure. After a node crashed the next request going to other cluster node. The JvmRouteBinderValve 
+now detect the takeover and rewrite the jsessionid
+information to the backup cluster node. After the next response all client
+request goes direct to the backup node. The change sessionid send also to all
+other cluster nodes. Well, now the session stickyness work directly to the
+backup node, but traffic don't go back too restarted cluster nodes!<br>
+As jsessionid was created by cookie, the change JSESSIONID cookie resend with next response.
+</p>
+<p>
+You must add JvmRouteBinderValve and the corresponding cluster message listener JvmRouteSessionIDBinderListener.
+As you add the new listener you must also add the default ClusterSessionListener that receiver the normal cluster messages.
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster className="org.apache.catalina.tcp.SimpleTcpCluster" &gt;
+...
+     &lt;Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+               enabled="true" sessionIdAttribute="takeoverSessionid"/&gt;	
+     &lt;ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+     &lt;ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+...
+&lt;Cluster&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+<b>Hint:</b><br>
+With attribute <i>sessionIdAttribute</i> you can change the request attribute name that included the old session id.
+Default attribuite name is <i>org.apache.catalina.cluster.session.JvmRouteOrignalSessionID</i>.
+</p>
+<p>
+<b>Trick:</b><br>
+You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes!
+Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk 
+and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again. 
+This use case means that only requested session are migrated.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Monitoring your Cluster with JMX"><strong>Monitoring your Cluster with JMX</strong></a></font></td></tr><tr><td><blockquote>
+<p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
+<p>Add the following parameter to your startup script with Java 5:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+set CATALINA_OPTS=\
+-Dcom.sun.management.jmxremote \
+-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+-Dcom.sun.management.jmxremote.ssl=false \
+-Dcom.sun.management.jmxremote.authenticate=false
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>Activate JMX with JDK 1.4:
+<ol>
+<li>Install the compat package</li>
+<li>Install the mx4j-tools.jar at common/lib (use the same mx4j version as your tomcat release)</li>
+<li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector<p></p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="${AJP.PORT}" 
+   handler.list="mx"
+   mx.enabled="true" 
+   mx.httpHost="${JMX.HOST}" 
+   mx.httpPort="${JMX.PORT}" 
+   protocol="AJP/1.3" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+<li>Start your tomcat and look with your browser to http://${JMX.HOST}:${JMX.PORT}</li>
+<li>With the connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> you can control the access!</li>
+</ol>
+</p>
+<p>
+List of Cluster Mbeans<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Name</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
+  </tr>
+
+  <tr>
+    <td>Cluster</td>
+    <td>The complete cluster element</td>
+    <td><code>type=Cluster</code></td>
+    <td><code>type=Cluster,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>ClusterSender</td>
+    <td>Configuration and stats of the sender infrastructure</td>
+    <td><code>type=ClusterSender</code></td>
+    <td><code>type=ClusterSender,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>ClusterReceiver</td>
+    <td>Configuration and stats of the recevier infrastructure</td>
+    <td><code>type=ClusterReceiver</code></td>
+    <td><code>type=ClusterReceiver,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ClusterMembership</td>
+    <td>Configuration and stats of the membership infrastructure</td>
+    <td><code>type=ClusterMembership</code></td>
+    <td><code>type=ClusterMembership,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>IDataSender</td>
+    <td>For every cluster member it exist a sender mbeans. 
+    It exists speziall MBeans to all replication modes</td>
+    <td><code>type=IDataSender,
+        senderAddress=${MEMBER.SENDER.IP},
+        senderPort=${MEMBER.SENDER.PORT}</code></td>
+    <td><code>type=IDataSender,host=${HOST},
+        senderAddress=${MEMBER.SENDER.IP},
+        senderPort=${MEMBER.SENDER.PORT}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>DeltaManager</td>
+    <td>This manager control the sessions and handle session replication </td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ReplicationValve</td>
+    <td>This valve control the replication to the backup nodes</td>
+    <td><code>type=Valve,name=ReplicationValve</code></td>
+    <td><code>type=Valve,name=ReplicationValve,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>JvmRouteBinderValve</td>
+    <td>This is a cluster fallback valve to change the Session ID to the current tomcat jvmroute.</td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,
+              path=${APP.CONTEXT.PATH}</code></td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,host=${HOST},
+              path=${APP.CONTEXT.PATH}</code></td>
+  </tr>
+
+</table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FAQ"><strong>FAQ</strong></a></font></td></tr><tr><td><blockquote>
+<p>Please see <a href="http://tomcat.apache.org/faq/cluster.html">the clustering section of the FAQ</a>.</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/ajp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/ajp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/ajp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The AJP Connector</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith at mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The AJP Connector</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ajp.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>AJP Connector</strong> element represents a
+  <strong>Connector</strong> component that communicates with a web
+  connector via the <code>AJP</code> protocol.  This is used for cases
+  where you wish to invisibly integrate Tomcat 5 into an existing (or new)
+  Apache installation, and you want Apache to handle the static content
+  contained in the web application, and/or utilize Apache's SSL
+  processing.</p>
+
+  <p>This connector supports load balancing when used in conjunction with
+  the <code>jvmRoute</code> attribute of the 
+  <a href="engine.html">Engine</a>.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations,
+      but will greatly affect performance if many applications are accessed on a given
+      server by the client.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The feature can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to zero will disable the saving of
+      POST data during authentication. If not specified, this attribute is set
+      to 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>AJP/1.3</code> to use the AJP
+      handler.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.registerRequests</code></td><td valign="center" align="left">
+      <p>This attribute controls request registration for JMX monitoring
+      of the Connector.  It is enabled by default, but may be turned
+      it off to save a bit of memory.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the ServerName passed by the native web server to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Srevlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>To use AJP, you
+  must specify the protocol attribute (see above).</p>
+
+  <p><strong>This implementation supports the AJP 1.3 protocol.</strong></p>
+
+  <p>It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server. A value of <code>127.0.0.1</code>
+      indicates that the Connector will only listen on the loopback
+      interface.</p>
+    </td></tr><tr><td valign="center" align="left"><code>backlog</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size of the output buffer to use.  If less than or equal to zero,
+         then output buffering is disabled.  The default value is -1
+         (i.e. buffering disabled)</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is infinite (i.e. no timeout).</p>
+    </td></tr><tr><td valign="center" align="left"><code>minProcessors</code></td><td valign="center" align="left">
+      <strong>deprecated</strong>
+      <p>The minimum number of processors to start at initialization time.
+      If not specified, this atttribute is set to 5.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxProcessors</code></td><td valign="center" align="left">
+      <strong>deprecated</strong>
+      <p>The maximum number of processors allowed. This should be
+      set to a value that is greater than or equal to the maximum number
+      of concurrent connections the remote web server can open to Tomcat 
+      simultaneously. For example, if the web server is Apache 1.x or 2.x
+      Tomcat's <code>maxProcessors</code> should be set to the 
+      value of Apache's <code>maxClients</code> directive.</p>
+      <p>A <code>maxProcessors</code> value of zero (0) signifies that 
+      the number of processors is unlimited. If not specified, this
+      atttribute defaults to 20.</p>
+     </td></tr><tr><td valign="center" align="left"><code>maxSpareThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of unused request processing threads that
+      will be allowed to exist until the thread pool starts stopping the
+      unnecessary threads.  The default value is 50.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200.</p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>The number of request processing threads that will be created
+      when this <strong>Connector</strong> is first started.  The connector
+      will also make sure it has the specified number of idle processing
+      threads available. This attribute should be set to a value smaller
+      than that set for <code>maxThreads</code>.  The default value is 4.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcatAuthentication</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the authetication will be done in Tomcat. 
+      Otherwise, the authenticated principal will be propagated from the native
+      webaserver and used for authorization in Tomcat.  
+      The default value is <code>true</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/context.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/context.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/context.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,662 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Context Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Context Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/context.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Context</strong> element represents a <em>web
+  application</em>, which is run within a particular virtual host.
+  Each web application is based on a <em>Web Application Archive</em>
+  (WAR) file, or a corresponding directory containing the corresponding
+  unpacked contents, as described in the Servlet Specification (version
+  2.2 or later).  For more information about web application archives,
+  you can download the
+  <a href="http://java.sun.com/products/servlet/download.html">Servlet
+  Specification</a>, and review the Tomcat
+  <a href="../appdev/index.html">Application Developer's Guide</a>.</p>
+
+  <p>The web application used to process each HTTP request is selected
+  by Catalina based on matching the longest possible prefix of the
+  Request URI against the <em>context path</em> of each defined Context.
+  Once selected, that Context will select an appropriate servlet to
+  process the incoming request, according to the servlet mappings defined
+  in the <em>web application deployment descriptor</em> file (which MUST
+  be located at <code>/WEB-INF/web.xml</code> within the web app's
+  directory hierarchy).</p>
+
+  <p>You may define as many <strong>Context</strong> elements as you
+  wish.  Each such Context MUST have a unique context path. In
+  addition, a Context must be present with a context path equal to
+  a zero-length string.  This Context becomes the <em>default</em>
+  web application for this virtual host, and is used to process all
+  requests that do not match any other Context's context path.</p>
+
+  <p><b>For Tomcat 5, unlike Tomcat 4.x, it is NOT recommended to place
+  &lt;Context&gt; elements directly in the server.xml file.</b> This
+  is because it makes modifing the <strong>Context</strong> configuration
+  more invasive since the main <code>conf/server.xml</code> file cannot be
+  reloaded without restarting Tomcat.</p>
+
+  <p><strong>Context</strong> elements may be explicitly defined:
+  <ul>
+  <li>in the <code>$CATALINA_HOME/conf/context.xml</code> file: 
+  the Context element information will be loaded by all webapps</li>
+  <li>in the 
+  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default</code>
+  file: the Context element information will be loaded by all webapps of that
+  host</li>
+  <li>in individual files (with a ".xml" extension) in the 
+  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory.
+  The name of the file (less the .xml) extension will be used as the
+  context path. Multi-level context paths may be defined using #, e.g.
+  <code>context#path.xml</code>. The default web application may be defined
+  by using a file called <code>ROOT.xml</code>.</li>
+  <li>if the previous file was not found for this application, in an individual
+  file at <code>/META-INF/context.xml</code> inside the application files</li>
+  <li>inside a <a href="host.html">Host</a> element in the main
+  <code>conf/server.xml</code></li>
+  </ul>
+  </p>
+
+  <p>In addition to explicitly specified Context elements, there are
+  several techniques by which Context elements can be created automatically
+  for you.  See <a href="host.html#Automatic Application Deployment">
+  Automatic Application Deployment</a> and
+  <a href="host.html#User Web Applications">User Web Applications</a>
+  for more information.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Context</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this context and 
+        its child containers, including all wrappers. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A context will use background 
+        processing to perform session expiration and class monitoring for
+        reloading. If not specified, the default value for this attribute is 
+        -1, which means the context will rely on the background processing 
+        thread of its parent host.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Context</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookies</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want cookies to be used for
+        session identifier communication if supported by the client (this
+        is the default).  Set to <code>false</code> if you want to disable
+        the use of cookies for session identifier communication, and rely
+        only on URL rewriting by the application.</p>
+      </td></tr><tr><td valign="center" align="left"><code>crossContext</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want calls within this application
+        to <code>ServletContext.getContext()</code> to successfully return a
+        request dispatcher for other web applications running on this virtual
+        host.  Set to <code>false</code> (the default) in security
+        conscious environments, to make <code>getContext()</code> always
+        return <code>null</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>docBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Document Base</em> (also known as the <em>Context
+        Root</em>) directory for this web application, or the pathname
+        to the web application archive file (if this web application is
+        being executed directly from the WAR file).    You may specify
+        an absolute pathname for this directory or WAR file, or a pathname
+        that is relative to the <code>appBase</code> directory of the
+        owning <a href="host.html">Host</a>.</p>
+        <p>If a symbolic link is used for docBase then changes to the
+        symbolic link will only be effective after a Tomcat restart or
+        by undeploying and redeploying the conext. A context reload is not
+        sufficient.</p>
+        <p>Do not choose a docBase that starts with your Host's appBase string.
+        The default appBase is "webapps" so do not choose a docBase like
+        "webapps-foo."  Doing so will lead to deployment errors: see 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39013">Bugzilla</a>
+        for details.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to have explicit settings in this
+        Context element override any corresponding settings in the
+        default settings associated with the owning
+        <a href="host.html">Host</a>.  The default is <code>false</code>.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>privileged</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to allow this context to use container
+        servlets, like the manager servlet.</p>
+      </td></tr><tr><td valign="center" align="left"><code>path</code></td><td valign="center" align="left">
+        <p>The <em>context path</em> of this web application, which is
+        matched against the beginning of each request URI to select the
+        appropriate web application for processing.  All of the context paths
+        within a particular <a href="host.html">Host</a> must be unique.
+        If you specify a context path of an empty string (""), you are
+        defining the <em>default</em> web application for this Host, which
+        will process all requests not assigned to other Contexts. The value of
+        this field must not be set except when statically defining a Context in
+        server.xml, as it will be inferred from the filenames used for either the 
+        .xml context file or the docBase.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  That's
+        why the default setting for this attribute is <i>false</i>.  You
+        can use the <a href="../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+      </td></tr><tr><td valign="center" align="left"><code>wrapperClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>org.apache.catalina.Wrapper</code>
+        implementation class that will be used for servlets managed by this
+        Context.  If not specified, a standard default value will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Context</strong> is
+    <strong>org.apache.catalina.core.StandardContext</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowLinking</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, symlinks will be
+        allowed inside the web application, pointing to resources outside the
+        web application base path. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to true on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>antiJARLocking</code></td><td valign="center" align="left">
+        <p>If true, the Tomcat classloader will take extra measures to avoid
+        JAR file locking when resources are accessed inside JARs through URLs.
+        This will impact startup time of applications, but could prove to be useful
+        on platforms or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>antiResourceLocking</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will prevent any file locking.
+        This will significantly impact startup time of applications, 
+        but allows full webapp hot deploy and undeploy on platforms 
+        or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+   
+        <p>Please note that setting this to <code>true</code> has some side effects,
+        including the disabling of JSP reloading in a running server: see
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">Bugzilla 37668</a>.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheMaxSize</code></td><td valign="center" align="left">
+        <p>Maximum size of the static resource cache in kilobytes. 
+        If not specified, the default value is <code>10240</code>
+        (10 megabytes).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheTTL</code></td><td valign="center" align="left">
+        <p>Amount of time in milliseconds between cache entries revalidation.
+        If not specified, the default value is <code>5000</code> 
+        (5 seconds).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cachingAllowed</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the cache for static
+        resources will be used. If not specified, the default value
+        of the flag is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>caseSensitive</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, all case sensitivity
+        checks will be disabled. If not 
+        specified, the default value of the flag is <code>true</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to false on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>processTlds</code></td><td valign="center" align="left">
+        <p>Whether the context should process TLDs on startup.  The default
+        is true.  The false setting is intended for special cases
+        that know in advance TLDs are not part of the webapp.</p>
+      </td></tr><tr><td valign="center" align="left"><code>swallowOutput</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the bytes output to
+        System.out and System.err by the web application will be redirected to
+        the web application logger. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>tldNamespaceAware</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        XML validation will be namespace-aware.  If you turn this flag on,
+        you should probably also turn <code>tldValidation</code> on.  The
+        default value for this flag is <code>false</code>, and setting it
+        to true will incur a performance penalty.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>tldValidation</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        will be XML validated on context startup.  The default value for
+        this flag is <code>false</code>, and setting it to true will incur
+        a performance penalty.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unloadDelay</code></td><td valign="center" align="left">
+        <p>Amount of ms that the container will wait for servlets to unload.
+        If not specified, the default value of the flag is <code>2000</code> 
+        ms.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWAR</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will unpack all compressed web applications before
+        running them.
+        If not specified, the default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useNaming</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> (the default) to have Catalina enable a
+        JNDI <code>InitialContext</code> for this web application that is
+        compatible with Java2 Enterprise Edition (J2EE) platform
+        conventions.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be provided by this Context
+        for temporary read-write use by servlets within the associated web
+        application.  This directory will be made visible to servlets in the
+        web application by a servlet context attribute (of type
+        <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_HOME/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Context</strong>
+  element:</p>
+  <ul>
+  <li><a href="loader.html"><strong>Loader</strong></a> -
+      Configure the web application class loader that will be used to load
+      servlet and bean classes for this web application.  Normally, the
+      default configuration of the class loader will be sufficient.</li>
+  <li><a href="manager.html"><strong>Manager</strong></a> -
+      Configure the session manager that will be used to create, destroy,
+      and persist HTTP sessions for this web application.  Normally, the
+      default configuration of the session manager will be sufficient.</li>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be utilized solely
+      for this particular web application.  If not specified, this web
+      application will utilize the Realm associated with the owning
+      <a href="host.html">Host</a> or <a href="engine.html">Engine</a>.</li>
+  <li><a href="resources.html"><strong>Resources</strong></a> -
+      Configure the resource manager that will be used to access the static
+      resources associated with this web application.  Normally, the
+      default configuration of the resource manager will be sufficient.</li>
+  <li><strong>WatchedResource</strong> - The auto deployer will monitor the 
+      specified static resource of the web application for updates, and will
+      reload the web application if is is updated. The content of this element
+      must be a string.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A context is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]</code>
+       log category.  Note that the brackets are actually part of the name, don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Context Configuration"><strong>Automatic Context Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you use the standard <strong>Context</strong> implementation,
+    the following configuration steps occur automtically when Catalina
+    is started, or whenever this web application is reloaded.  No special
+    configuration is required to enable this feature.</p>
+    
+    <ul>
+    <li>If you have not declared your own <a href="loader.html">Loader</a>
+       element, a standard web application class loader will be configured.
+       </li>
+    <li>If you have not declared your own <a href="manager.html">Manager</a>
+        element, a standard session manager will be configured.</li>
+    <li>If you have not declared your own <a href="resources.html">Resources</a>
+        element, a standard resources manager will be configured.</li>
+    <li>The web application properties listed in <code>conf/web.xml</code>
+        will be processed as defaults for this web application.  This is used
+        to establish default mappings (such as mapping the <code>*.jsp</code>
+        extension to the corresponding JSP servlet), and other standard
+        features that apply to all web applications.</li>
+    <li>The web application properties listed in the
+        <code>/WEB-INF/web.xml</code> resource for this web application
+        will be processed (if this resource exists).</li>
+    <li>If your web application has specified security constraints that might
+        require user authentication, an appropriate Authenticator that
+        implements the login method you have selected will be configured.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Parameters"><strong>Context Parameters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as servlet context initialization parameters by nesting
+    <code>&lt;Parameter&gt;</code> elements inside this element.  For
+    example, you can create an initialization parameter like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Parameter name="companyName" value="My Company, Incorporated"
+         override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;context-param&gt;
+  &lt;param-name&gt;companyName&lt;/param-name&gt;
+  &lt;param-value&gt;My Company, Incorporated&lt;/param-value&gt;
+&lt;/context-param&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Parameter&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this context
+        initialization parameter.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the context initialization parameter to be created.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        a <code>&lt;context-param&gt;</code> for the same parameter name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested by calling
+        <code>ServletContext.getInitParameter()</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as environment entry resources, by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element.  For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/param-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Context</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+    and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+    more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the resource
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor.  You <strong>MUST</strong> also define
+    the needed resource parameters as attributes of the <code>Resource</code> 
+    element, to configure the object factory to be used (if not known to Tomcat 
+    already), and the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+
+     <p>This element is used to create a link to a global JNDI resource. Doing
+     a JNDI lookup on the link name will then return the linked global 
+     resource.</p>
+
+    <p>For example, you can create a resource link like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;ResourceLink name="linkToGlobalResource"
+            global="simpleValue"
+            type="java.lang.Integer"
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>The valid attributes for a <code>&lt;ResourceLink&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>global</code></strong></td><td valign="center" align="left">
+        <p>The name of the linked global resource in the 
+        global JNDI context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource link to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource link.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/engine.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/engine.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/engine.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Engine Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Engine Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/engine.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Engine</strong> element represents the entire request
+  processing machinery associated with a particular Catalina
+  <a href="service.html">Service</a>.  It receives and processes
+  <em>all</em> requests from one or more <strong>Connectors</strong>,
+  and returns the completed response to the Connector for ultimate
+  transmission back to the client.</p>
+
+  <p>Exactly one <strong>Engine</strong> element MUST be nested inside
+  a <a href="service.html">Service</a> element, following all of the
+  corresponding Connector elements associated with this Service.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Engine</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this engine and 
+        its child containers, including all hosts and contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this engine 
+        and all its child containers. If not specified, the default value for
+        this attribute is 10, which represent a 10 seconds delay.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Engine</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>defaultHost</code></strong></td><td valign="center" align="left">
+        <p>The default host name, which identifies the
+        <a href="host.html">Host</a> that will process requests directed
+        to host names on this server, but which are not configured in
+        this configuration file.  This name MUST match the <code>name</code>
+        attributes of one of the <a href="host.html">Host</a> elements
+        nested immediately inside.</p>
+      </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+        <p>Identifier which must be used in load balancing scenarios to enable
+        session affinity. The identifier, which must be unique across all
+        Tomcat 5 servers which participate in the cluster, will be appended to
+        the generated session identifier, therefore allowing the front end
+        proxy to always forward a particular session to the same Tomcat 5
+        instance.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Logical name of this Engine, used in log and error messages. <em>When
+        using muliple <a href="service.html">Service</a> elements in the same
+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique
+        name.</em></p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Engine</strong> is
+    <strong>org.apache.catalina.core.StandardEngine</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="host.html">Host</a> elements inside
+  this <strong>Engine</strong> element, each representing a different virtual
+  host associated with this server.  At least one <a href="host.html">Host</a>
+  is required, and one of the nested <a href="host.html">Hosts</a> MUST
+  have a name that matches the name specified for the
+  <code>defaultHost</code> attribute, listed above.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Engine</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="host.html">Hosts</a> and <a href="context.html">Contexts</a>
+      nested inside this Engine, unless overridden by a
+      <a href="realm.html">Realm</a> configuration at a lower level.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>An engine is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename]</code>
+       log category.  Note that the brackets are actually part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="catalina_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Engine</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/globalresources.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/globalresources.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/globalresources.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The GlobalNamingResources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The GlobalNamingResources Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/globalresources.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>GlobalNamingResources</strong> element defines the global
+  JNDI resources for the <a href="server.html">Server</a>.</p>
+
+  <p>These resources are listed in the server's global JNDI resource context.
+   This context is distinct from the per-web-application JNDI contexts 
+  described in
+  the <a href="../jndi-resources-howto.html">JNDI Resources HOW-TO</a>.
+  The resources defined in this element are <strong>not</strong> visible in
+  the per-web-application contexts unless you explicitly link them with
+  <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> elements.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can configure named values that will be made visible to all
+    web applications as environment entry resources by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element. For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of resources
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor by defining them in this element and then linking 
+    them with <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements
+    in the <code><strong>&lt;Context&gt;</strong></code> element.  
+
+    You <strong>MUST</strong> also define any other needed parameters using
+    attributes on the Resource element, to configure
+    the object factory to be used (if not known to Tomcat already), and
+    the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attriutes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+    <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements to link resources from the global context into 
+    per-web-application contexts. Here is an example of making a custom 
+    factory available to a web applications, based on the example 
+    definition in the 
+    <a href="../jndi-resource-howto.html#Generic JavaBean Resources">
+    JNDI Resource HOW-TO</a>:
+    </p>
+
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      
+        &lt;Context&gt;
+          &lt;ResourceLink 
+            name="bean/MyBeanFactory"
+            global="bean/MyBeanFactory"
+            type="com.mycompany.MyBean"
+          /&gt;
+        &lt;/Context&gt;
+      
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/host.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/host.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/host.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,483 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Host Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/host.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Host</strong> element represents a <em>virtual host</em>,
+  which is an association of a network name for a server (such as
+  "www.mycompany.com" with the particular server on which Catalina is
+  running.  In order to be effective, this name must be registered in the
+  <em>Domain Name Service</em> (DNS) server that manages the Internet
+  domain you belong to - contact your Network Administrator for more
+  information.</p>
+
+  <p>In many cases, System Administrators wish to associate more than
+  one network name (such as <code>www.mycompany.com</code> and
+  <code>company.com</code>) with the same virtual host and applications.
+  This can be accomplished using the <a href="#Host Name Aliases">Host
+  Name Aliases</a> feature discussed below.</p>
+
+  <p>One or more <strong>Host</strong> elements are nested inside an
+  <a href="engine.html">Engine</a> element.  Inside the Host element, you
+  can nest <a href="context.html">Context</a> elements for the web
+  applications associated with this virtual host.  Exactly one of the Hosts
+  associated with each Engine MUST have a name matching the
+  <code>defaultHost</code> attribute of that Engine.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Host</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Application Base</em> directory for this virtual host.
+        This is the pathname of a directory that may contain web applications
+        to be deployed on this virtual host.  You may specify an
+        absolute pathname for this directory, or a pathname that is relative
+        to the <code>$CATALINA_BASE</code> directory.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information on automatic recognition and
+        deployment of web applications to be deployed automatically.</p>
+      </td></tr><tr><td valign="center" align="left"><code>autoDeploy</code></td><td valign="center" align="left">
+        <p>This flag value indicates if new web applications, dropped in to
+        the <code>appBase</code> directory while Tomcat is running, should
+        be automatically deployed.  The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this host and 
+        its child containers, including all contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A host will use background processing to
+        perform live web application deployment related tasks. If not 
+        specified, the default value for this attribute is -1, which means 
+        the host will rely on the background processing thread of its parent 
+        engine.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Host</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deployOnStartup</code></td><td valign="center" align="left">
+        <p>This flag value indicates if web applications from this host should
+        be automatically deployed by the host configurator.
+        The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Network name of this virtual host, as registered in your
+        <em>Domain Name Service</em> server.  One of the Hosts nested within
+        an <a href="engine.html">Engine</a> MUST have a name that matches the
+        <code>defaultHost</code> setting for that Engine.  See
+        <a href="#Host Name Aliases">Host Name Aliases</a> for information
+        on how to assign more than one network name to the same
+        virtual host.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Host</strong> is
+    <strong>org.apache.catalina.core.StandardHost</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>deployXML</code></td><td valign="center" align="left">
+        <p>Set to <code>false</code> if you want to disable parsing the context.xml
+        file embedded inside the application (located at <code>/META-INF/context.xml</code>). 
+        Security consious environments should set this to <code>false</code> to prevent
+        applications from interacting with the container's configuration. The 
+        administrator will then be responsible for providing an external context 
+        configuration file, and put it in 
+        <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code>.
+        The flag's value defaults to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>errorReportValveClass</code></td><td valign="center" align="left">
+        <p>Java class name of the error reporting valve which will be used
+        by this Host. The responsability of this valve is to output error
+        reports. Setting this property allows to customize the look of the
+        error pages which will be generated by Tomcat. This class must
+        implement the
+        <code>org.apache.catalina.Valve</code> interface. If none is specified,
+        the value <code>org.apache.catalina.valves.ErrorReportValve</code>
+        will be used by default.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWARs</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want web applications that are
+        placed in the <code>appBase</code> directory as web application
+        archive (WAR) files to be unpacked into a corresponding disk directory
+        structure, <code>false</code> to run such web applications directly
+        from a WAR file.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be used by applications for
+        this Host. Each application will have its own sub directory with
+        temporary read-write use.  Configuring a Context workDir will override
+        use of the Host workDir configuration.  This directory will be made
+        visible to servlets in the web application by a servlet context
+        attribute (of type <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_HOME/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="context.html">Context</a> elements
+  inside this <strong>Host</strong> element, each representing a different web
+  application associated with this virtual host.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Host</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="context.html">Contexts</a> nested inside this Host (unless
+      overridden by a <a href="realm.html">Realm</a> configuration
+      at a lower level).</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A host is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname]</code>
+       log category.  Note that the brackets are actuall part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Application Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you are using the standard <strong>Host</strong> implementation,
+    the following actions take place automatically when Catalina is first
+    started, if the <code>deployOnStartup</code> property is set to
+    <code>true</code> (which is the default value):</p>
+    <ul>
+    <li>Any XML file in the 
+        <code>$CATALINA_HOME/conf/[engine_name]/[host_name]</code> directory is
+        assumed to contain a
+        <a href="context.html">Context</a> element (and its associated
+        subelements) for a single web application.  The <code>docBase</code>
+        attribute of this <code>&lt;Context&gt;</code> element will typically
+        be the absolute pathname to a web application directory, or the
+        absolute pathname of a web application archive (WAR) file (which
+        will not be expanded). The path attribute will be automatically set
+        as defined in the <a href="context.html">Context</a> documentation.</li>
+    <li>Any web application archive file within the application base (appBase)
+        directory that does not have a corresponding
+        directory of the same name (without the ".war" extension) will be
+        automatically expanded, unless the <code>unpackWARs</code> property
+        is set to <code>false</code>.  If you redeploy an updated WAR file,
+        be sure to delete the expanded directory when restarting Tomcat, so
+        that the updated WAR file will be re-expanded (note that the auto
+        deployer, if enabled, will automatically expand the updated WAR file
+        once the previously expanded directory is removed).</li>
+    <li>Any subdirectory within the <em>application base directory</em>
+        that appears to be an unpacked web application (that is, it contains
+        a <code>/WEB-INF/web.xml</code> file) will receive an automatically
+        generated <a href="context.html">Context</a> element, even if this
+        directory is not mentioned in the <code>conf/server.xml</code> file.
+        This generated Context entry will be configured according to the
+        defaults configured for this Host element.  The context path for this
+        deployed Context will be a slash character ("/") followed by the
+        directory name, unless the directory name is ROOT, in which case
+        the context path will be an empty string ("").</li>
+    </ul>
+
+    <p>In addition to the automatic deployment that occurs at startup time,
+    you can also request that new XML configuration files, WAR files, or
+    subdirectories (containing web applications) that are dropped in to the
+    <code>appBase</code> (or 
+    <code>$CATALINA_HOME/conf/[engine_name]/[host_name]</code> in the case of
+    an XML configuration file) directory while Tomcat is running will be
+    automatically deployed, according to the rules described above. The 
+    auto deployer will also track web applications for the following changes:
+    <ul>
+        <li>An update to the WEB-INF/web.xml file will trigger a reload of the
+        web application</li>
+        <li>An update to a WAR which has been expanded will trigger 
+        an undeploy (<strong>with a removal of the expanded webapp</strong>), 
+        followed by a deployment</li>
+        <li>An update to a XML configuration file will trigger an undeploy
+        (without the removal of any expanded directory), followed by 
+        a deployment of the associated web application</li>
+    </ul>
+    </p>
+
+    <p>When using automatic deployment, the <code>docBase</code> defined by
+    an XML <a href="context.html">Context</a> file should be outside of the
+    <code>appBase</code> directory. If this is not the case difficulties
+    may be experienced deploying the web application or the application may
+    be deployed twice.</p>
+
+    <p>Finally, note that if you are defining contexts explicitly, you should
+    probably turn off automatic application deployment.  Otherwise, your context
+    will be deployed twice each, and that may cause problems for your app.
+    </p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host Name Aliases"><strong>Host Name Aliases</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many server environments, Network Administrators have configured
+    more than one network name (in the <em>Domain Name Service</em> (DNS)
+    server), that resolve to the IP address of the same server.  Normally,
+    each such network name would be configured as a separate
+    <strong>Host</strong> element in <code>conf/server.xml</code>, each
+    with its own set of web applications.</p>
+
+    <p>However, in some circumstances, it is desireable that two or more
+    network names should resolve to the <strong>same</strong> virtual host,
+    running the same set of applications.  A common use case for this
+    scenario is a corporate web site, where it is desireable that users
+    be able to utilize either <code>www.mycompany.com</code> or
+    <code>company.com</code> to access exactly the same content and
+    applications.</p>
+
+    <p>This is accomplished by utilizing one or more <strong>Alias</strong>
+    elements nested inside your <strong>Host</strong> element.  For
+    example:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="www.mycompany.com" ...&gt;
+  ...
+  &lt;Alias&gt;mycompany.com&lt;/Alias&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>In order for this strategy to be effective, all of the network names
+    involved must be registered in your DNS server to resolve to the
+    same computer that is running this instance of Catalina.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Host</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many environments, but particularly in portal environments, it
+    is desireable to have a user challenged to authenticate themselves only
+    once over a set of web applications deployed on a particular virtual
+    host.  This can be accomplished by nesting an element like this inside
+    the Host element for this virtual host:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.authenticator.SingleSignOn"
+         debug="0"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>The Single Sign On facility operates according to the following rules:
+    </p>
+    <ul>
+    <li>All web applications configured for this virtual host must share the
+        same <a href="realm.html">Realm</a>.  In practice, that means you can
+        nest the Realm element inside this Host element (or the surrounding
+        <a href="engine.html">Engine</a> element), but not inside a
+        <a href="context.html">Context</a> element for one of the involved
+        web applications.</li>
+    <li>As long as the user accesses only unprotected resources in any of the
+        web applications on this virtual host, they will not be challenged
+        to authenticate themselves.</li>
+    <li>As soon as the user accesses a protected resource in
+        <strong>any</strong> web application associated with this virtual
+        host, the user will be challenged to authenticate himself or herself,
+        using the login method defined for the web application currently
+        being accessed.</li>
+    <li>Once authenticated, the roles associated with this user will be
+        utilized for access control decisions across <strong>all</strong>
+        of the associated web applications, without challenging the user
+        to authenticate themselves to each application individually.</li>
+    <li>As soon as the user logs out of one web application (for example,
+        by invalidating the corresponding session if form
+        based login is used), the user's sessions in <strong>all</strong>
+        web applications will be invalidated.  Any subsequent attempt to
+        access a protected resource in any application will require the
+        user to authenticate himself or herself again.</li>
+    <li>The Single Sign On feature utilizes HTTP cookies to transmit a token
+        that associates each request with the saved user identity, so it can
+        only be utilized in client environments that support cookies.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="User Web Applications"><strong>User Web Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Many web servers can automatically map a request URI starting with
+    a tilde character ("~") and a username to a directory (commonly named
+    <code>public_html</code>) in that user's home directory on the server.
+    You can accomplish the same thing in Catalina by using a special
+    <strong>Listener</strong> element like this (on a Unix system that
+    uses the <code>/etc/passwd</code> file to identify valid users):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            userClass="org.apache.catalina.startup.PasswdUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>On a server where <code>/etc/passwd</code> is not in use, you can
+    request Catalina to consider all directories found in a specified base
+    directory (such as <code>c:\Homes</code> in this example) to be
+    considered "user home" directories for the purposes of this directive:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            homeBase=c:\Homes"
+            userClass="org.apache.catalina.startup.HomesUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>If a user home directory has been set up for a user named
+    <code>craigmcc</code>, then its contents will be visible from a
+    client browser by making a request to a URL like:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://www.mycompany.com:8080/~craigmcc
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+    <p>Successful use of this feature requires recognition of the following
+    considerations:</p>
+    <ul>
+    <li>Each user web application will be deployed with characteristics
+        established by any defaults you have configured for this Host.</li>
+    <li>It is legal to include more than one instance of this Listener
+        element.  This would only be useful, however, in circumstances
+        where you wanted to configure more than one "homeBase" directory.</li>
+    <li>The operating system username under which Catalina is executed
+        MUST have read access to each user's web application directory,
+        and all of its contents.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/http.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/http.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/http.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,363 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The HTTP Connector</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The HTTP Connector</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/http.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>HTTP Connector</strong> element represents a
+  <strong>Connector</strong> component that supports the HTTP/1.1 protocol.
+  It enables Catalina to function as a stand-alone web server, in addition
+  to its ability to execute servlets and JSP pages.  A particular instance
+  of this component listens for connections on a specific TCP port number
+  on the server.  One or more such <strong>Connectors</strong> can be
+  configured as part of a single <a href="service.html">Service</a>, each
+  forwarding to the associated <a href="engine.html">Engine</a> to perform
+  request processing and create the response.</p>
+
+  <p>If you wish to configure the <strong>Connector</strong> that is used
+  for connections to web servers using the AJP protocol (such as the
+  <code>mod_jk 1.2.x</code> connector for Apache 1.3), see
+  <a href="ajp.html">here</a> instead.</p>
+
+  <p>At server startup time, this <strong>Connector</strong> will create a
+  number of request processing threads (based on the value configured for
+  the <code>minSpareThreads</code> attribute).  Each incoming request requires
+  a thread for the duration of that request.  If more simultaneous requests
+  are received than can be handled by the currently available request
+  processing threads, additional threads will be created up to the
+  configured maximum (the value of the <code>maxThreads</code> attribute).
+  If still more simultaneous requests are received, they are stacked up
+  inside the server socket created by the <strong>Connector</strong>, up to
+  the configured maximum (the value of the <code>acceptCount</code>
+  attribute.  Any further simultaneous requests will receive "connection
+  refused" errors, until resources are available to process them.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations,
+      but will greatly affect performance if many applications are accessed on a given
+      server by the client.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The limit can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of
+ the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is
+ saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to
+ zero will disable the saving of
+      POST data during authentication
+. If not
+ specified, this attribute is set
+      to
+ 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>HTTP/1.1</code> to use the HTTP
+      handler, which is the default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the IP address that the request was recieved on to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Servlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  HTTP supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>acceptCount</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for input
+      streams created by this connector.  By default, buffers of
+      2048 bytes will be provided.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compressableMimeType</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of MIME types for which HTTP
+      compression may be used.
+      The default value is <code>text/html,text/xml,text/plain</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compression</code></td><td valign="center" align="left">
+      <p>The <strong>Connector</strong> may use HTTP/1.1 GZIP compression in
+      an attempt to save server bandwidth. The acceptable values for the
+      parameter is "off" (disable compression), "on" (allow compression, which
+      causes text data to be compressed), "force" (forces compression in all
+      cases), or a numerical integer value (which is equivalent to "on", but
+      specifies the minimum amount of data before the output is compressed). If
+      the content-length is not known and compression is set to "on" or more
+      aggressive, the output will also be compressed. If not specified, this
+      attribute is set to "off".</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionLinger</code></td><td valign="center" align="left">
+      <p>The number of milliseconds during which the sockets used by this
+      <strong>Connector</strong> will linger when they are closed.
+      The default value is -1 (socket linger is disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is 60000 (i.e. 60 seconds).</p>
+    </td></tr><tr><td valign="center" align="left"><code>disableUploadTimeout</code></td><td valign="center" align="left">
+      <p>This flag allows the servlet container to use a different, longer
+      connection timeout while a servlet is being executed, which in the end
+      allows either the servlet a longer amount of time to complete its
+      execution, or a longer timeout during data upload. If not specified,
+      this attribute is set to "true".</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxHttpHeaderSize</code></td><td valign="center" align="left">
+      <p>The maximum size of the request and response HTTP header, specified
+      in bytes.
+      If not specified, this attribute is set to 4096 (4 KB).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxKeepAliveRequests</code></td><td valign="center" align="left">
+      <p>The maximum number of HTTP requests which can be pipelined until
+      the connection is closed by the server. Setting this attribute to 1 will
+      disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
+      pipelining. Setting this to -1 will allow an unlimited amount of
+      pipelined or keep-alive HTTP requests.
+      If not specified, this attribute is set to 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSpareThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of unused request processing threads that
+      will be allowed to exist until the thread pool starts stopping the
+      unnecessary threads.  The default value is 50.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200.</p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>The number of request processing threads that will be created
+      when this <strong>Connector</strong> is first started.  The connector
+      will also make sure it has the specified number of idle processing
+      threads available. This attribute should be set to a value smaller
+      than that set for <code>maxThreads</code>.  The default value is 4.</p>
+    </td></tr><tr><td valign="center" align="left"><code>noCompressionUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which compression should not be used,
+      because these clients, although they do advertise support for the
+      feature, have a broken implementation.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>restrictedUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive
+      should not be used, even if the clients advertise support for these
+      features.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>server</code></td><td valign="center" align="left">
+      <p>The Server header for the http response.
+         Unless your paranoid, you won't need this feature.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>socketBuffer</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for socket
+      output buffering. -1 can be specified to disable the use of a buffer.
+      By default, a buffers of 9000 bytes will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>strategy</code></td><td valign="center" align="left">
+      <p>The thread pooling strategy which will be used. The default strategy does 
+      not use a master thread, but a more conventional strategy using a 
+      master listener thread can be used by setting "ms" as this attribute's value. 
+      The master strategy will work significantly better using the threadPriority 
+      attribute, which will apply only to the thread which listens on the server socket.
+      This is set to <code>lf</code> by default.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>The priority of the request processing threads within the JVM.
+      The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+      See the JavaDoc for the java.lang.Thread class for more details on
+      what this priority means.
+      </p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP/1.1 and HTTP/1.0 Support"><strong>HTTP/1.1 and HTTP/1.0 Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>This <strong>Connector</strong> supports all of the required features
+  of the HTTP/1.1 protocol, as described in RFC 2616, including persistent
+  connections, pipelining, expectations and chunked encoding.  If the client
+  (typically a browser) supports only HTTP/1.0, the
+  <strong>Connector</strong> will gracefully fall back to supporting this
+  protocol as well.  No special configuration is required to enable this
+  support. The <strong>Connector</strong> also supports HTTP/1.0
+  keep-alive.</p>
+
+  <p>RFC 2616 requires that HTTP servers always begin their responses with
+  the highest HTTP version that they claim to support.  Therefore, this
+  <strong>Connector</strong> will always return <code>HTTP/1.1</code> at
+  the beginning of its responses.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Proxy Support"><strong>Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
+  be used when Tomcat is run behind a proxy server.  These attributes
+  modify the values returned to web applications that call the
+  <code>request.getServerName()</code> and <code>request.getServerPort()</code>
+  methods, which are often used to construct absolute URLs for redirects.
+  Without configuring these attributes, the values returned would reflect
+  the server name and port on which the connection from the proxy server
+  was received, rather than the server name and port to whom the client
+  directed the original request.</p>
+
+  <p>For more information, see the
+  <a href="../proxy-howto.html">Proxy Support HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL Support"><strong>SSL Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can enable SSL support for a particular instance of this
+  <strong>Connector</strong> by setting the <code>secure</code> attribute to
+  <code>true</code>.  In addition, you may need to configure the following
+  attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+      <p>The certificate encoding algorithm to be used. This defaults to the Sun
+      implementation (<code>SunX509</code>). For IBM JVMs you should use the
+      value <code>IbmX509</code>. For other vendors, consult the JVM
+      documentation for the correct value.</p>
+    </td></tr><tr><td valign="center" align="left"><code>clientAuth</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want the SSL stack to require a
+      valid certificate chain from the client before accepting a connection.
+      Set to <code>want</code> if you want the SSL stack to request a client
+      Certificate, but not fail if one isn't presented. A <code>false</code>
+      value (which is the default) will not require a certificate chain
+      unless the client requests a resource protected by a security
+      constraint that uses <code>CLIENT-CERT</code> authentication. See the
+      <a href="../ssl-howto.html">SSL HowTo</a> for an example.  That SSL HowTo
+      also contains tips on using per-user or per-session certificate-based clientAuth.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreFile</code></td><td valign="center" align="left">
+      <p>The pathname of the keystore file where you have stored the
+      server certificate to be loaded.  By default, the pathname is
+      the file "<code>.keystore</code>" in the operating system home
+      directory of the user that is running Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystorePass</code></td><td valign="center" align="left">
+      <p>The password used to access the server certificate from the
+      specified keystore file.  The default value is "<code>changeit</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreType</code></td><td valign="center" align="left">
+      <p>The type of keystore file to be used for the server certificate.
+      If not specified, the default value is "<code>JKS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>sslProtocol</code></td><td valign="center" align="left">
+      <p>The version of the SSL protocol to use.  If not specified,
+      the default is "<code>TLS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>ciphers</code></td><td valign="center" align="left">
+      <p>A comma seperated list of the encryption ciphers that may be used.
+      If not specified, then any available cipher may be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keyAlias</code></td><td valign="center" align="left">
+      <p>The alias used to for the server certificate in the keystore. If not
+      specified the first key read in the keystore will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreFile</code></td><td valign="center" align="left">
+      <p>The TrustStore file to use to validate client certificates.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststorePass</code></td><td valign="center" align="left">
+      <p>The password to access the TrustStore. This defaults to the value
+      of <code>keystorePass</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreType</code></td><td valign="center" align="left">
+      <p>Add this element if your are using a different format for the
+      TrustStore then you are using for the KeyStore.</p>
+    </td></tr></table>
+
+  <p>For more information, see the
+  <a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - Overview</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>Overview</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual contains reference information about all of the configuration
+directives that can be included in a <code>conf/server.xml</code> file to
+configure the behavior of the Tomcat 5 Servlet/JSP container.  It does not
+attempt to describe which configuration directives should be used to perform
+specific tasks - for that, see the various <em>HOW-TO</em> documents on the
+main index page.</p>
+
+<p>The configuration element descriptions are organized into the following
+major categories:</p>
+<ul>
+<li><strong>Top Level Elements</strong> - <code>&lt;Server&gt;</code> is the
+    root element of the entire configuration file, while
+    <code>&lt;Service&gt;</code> represents a group of Connectors that is
+    associated with an Engine.</li>
+<li><strong>Connectors</strong> - Represent the interface between external
+    clients sending requests to (and receiving responses from) a particular
+    Service.</li>
+<li><strong>Containers</strong> - Represent components whose function is to
+    process incoming requests, and create the corresponding responses.
+    An Engine handles all requests for a Service, a Host handles all requests
+    for a particular virtual host, and a Context handles all requests for a
+    specific web application.</li>
+<li><strong>Nested Components</strong> - Represent elements that can be
+    nested inside the element for a Container.  Some elements can be nested
+    inside any Container, while others can only be nested inside a
+    Context.</li>
+</ul>
+
+<p>For each element, the corresponding documentation follows this general
+outline:</p>
+<ul>
+<li><strong>Introduction</strong> - Overall description of this particular
+    component.  There will be a corresponding Java <em>interface</em> (in
+    the <code>org.apache.catalina</code> pacakge) that is implemented by one
+    or more standard implementations.</li>
+<li><strong>Attributes</strong> - The set of attributes that are legal for
+    this element.  Generally, this will be subdivided into <em>Common</em>
+    attributes that are supported by all implementations of the corresponding
+    Java interface, and <em>Standard Implementation</em> attributes that are
+    specific to a particular Java class that implements this interface.
+    The names of required attributes are <strong>bolded</strong>.</li>
+<li><strong>Nested Components</strong> - Enumerates which of the <em>Nested
+    Components</em> can be legally nested within this element.</li>
+<li><strong>Special Features</strong> - Describes the configuration of a large
+    variety of special features (specific to each element type) that are
+    supported by the standard implementation of this interface.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/loader.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/loader.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/loader.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,114 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Loader Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Loader Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/loader.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Loader</strong> element represents the <em>web
+  application class loader</em> that will be used to load Java
+  classes and resources for your web application.  Such
+  a class loader must follow the requirements of the Servlet
+  Specification, and load classes from the following locations:</p>
+  <ul>
+  <li>From the <code>/WEB-INF/classes</code> directory inside your
+      web application.</li>
+  <li>From JAR files in the <code>/WEB-INF/lib</code> directory
+      inside your web application.</li>
+  <li>From resources made available by Catalina to all web
+      applications globally.</li>
+  </ul>
+
+  <p>A Loader element MAY be nested inside a <a href="context.html">Context</a>
+  component.  If it is not included, a default Loader configuration will be
+  created automatically, which is sufficient for most requirements.</p>
+
+  <p>For a more in-depth description of the class loader hierarchy
+  that is implemented by Catalina, see <a href="../class-loader-howto.html">the ClassLoader HowTo</a>.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Loader</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Loader</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>delegate</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want the class loader to follow
+        the standard Java2 delegation model, and attempt to load classes from
+        parent class loaders <strong>before</strong> looking inside the web
+        application.  Set to <code>false</code> (the default) to have the
+        class loader look inside the web application first, before asking
+        parent class loaders to find requested classes or resources.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  You
+        can use the <a href="../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+
+        <p><strong>NOTE</strong> - The value for this property will be
+        inherited from the <code>reloadable</code> attribute you set on
+        the surrounding <a href="context.html">Context</a> component,
+        and any value you explicitly set here will be replaced.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Loader</strong> is
+    <strong>org.apache.catalina.loader.WebappLoader</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>loaderClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.lang.ClassLoader</code>
+        implementation class to use.  If not specified, the default value is
+        <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useSystemClassLoaderAsParent</code></td><td valign="center" align="left">
+        <p>If no parent classloader is specified, should the system
+        classloader be used? The default of <code>true</code> mantains
+        backwards compatibility with previous releases however most
+        users will want to set this to <code>false</code> to obtain
+        the parent classloader from the associated container.</p>
+        <p>This attribute will not be present in Tomcat 6 where the
+        Loader API has changed and the parent class loader is always
+        obtained from the associated container.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Loader</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A loader is associated with the log category based on its classname.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/manager.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/manager.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/manager.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,352 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Manager Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Manager Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/manager.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Manager</strong> element represents the <em>session
+  manager</em> that will be used to create and maintain HTTP sessions
+  as requested by the associated web application.</p>
+
+  <p>A Manager element MAY be nested inside a
+  <a href="context.html">Context</a> component.  If it is not included,
+  a default Manager configuration will be created automatically, which
+  is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Manager</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>distributable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to ask the session manager to enforce
+        the restrictions described in the Servlet Specification on
+        distributable applications (primarily, this would mean that all
+        session attributes must implement <code>java.io.Serializable</code>).
+        Set to <code>false</code> (the default) to not enforce these
+        restrictions.</p>
+
+        <p><strong>NOTE</strong> - The value for this property is inherited
+        automatically based on the presence or absence of the
+        <code>&lt;distributable&gt;</code> element in the web application
+        deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat provides two standard implementations of <strong>Manager</strong>
+    for use - the default one stores active sessions, while the optional one
+    stores active sessions that have been swapped out (in addition to saving
+    sessions across a restart of Tomcat) in a storage location that is selected
+    via the use of an appropriate <strong>Store</strong> nested element.</p>
+
+    <h3>Standard Manager Implementation</h3>
+
+    <p>The standard implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.StandardManager</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code> method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to the work directory for this Context)
+        pathname of the file in which session state will be preserved
+        across application restarts, if possible.  The default is
+        "SESSIONS.ser".  See <a href="#Restart Persistence">Restart
+        Persistence</a> for more information. Restart persistence may be 
+        disabled by setting this attribute to an empty string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processExpiresFrequency</code></td><td valign="center" align="left">
+        <p>Frequency of the session expiration, and related manager operations.
+        Manager operations will be done once for the specified amount of
+        backgrondProcess calls (ie, the lower the amount, the more often the
+        checks will occur). The minimum value is 1, and the default value is 6.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+       <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <h3>Persistent Manager Implementation</h3>
+
+    <p><em><strong>WARNING - Use of this Manager implementation
+    has not been thoroughly tested, and should be considered experimental!
+    </strong></em></p>
+
+    <p>The persistent implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.PersistentManager</strong>.  In
+    addition to the usual operations of creating and deleting sessions, a
+    <code>PersistentManager</code> has the capability to swap active (but
+    idle) sessions out to a persistent storage mechanism, as well as to save
+    all sessions across a normal restart of Tomcat.  The actual persistent
+    storage mechanism used is selected by your choice of a
+    <strong>Store</strong> element nested inside the <strong>Manager</strong>
+    element - this is required for use of <code>PersistentManager</code>.</p>
+
+    <p>This implementation of Manager supports the following attributes in
+    addition to the <a href="#Common Attributes">Common Attributes</a>
+    described earlier.</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        You <strong>must</strong> specify
+        <code>org.apache.catalina.session.PersistentManager</code> to use
+        this manager implementation.</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleBackup</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it is eligible for being persisted to the session store, or
+        <code>-1</code> to disable this feature.  By default, this feature is
+        disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it should be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> to disable
+        this feature.  If this feature is enabled, the time interval specified
+        here should be equal to or longer than the value specified for
+        <code>maxIdleBackup</code>.  By default, this feature is disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>minIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it will be eligible to be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> for this
+        swapping to be available at any time.  If specified, this value should
+        be less than that specified by <code>maxIdleSwap</code>.  By default,
+        this value is set to <code>-1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code>method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>saveOnRestart</code></td><td valign="center" align="left">
+        <p>Should all sessions be persisted and reloaded when Tomcat is shut
+        down and restarted (or when this application is reloaded)?  By default,
+        this attribute is set to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+        <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <p>In order to successfully use a PersistentManager, you must nest inside
+    it a <strong>&lt;Store&gt;</strong> element, as described below.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Standard Manager Implementation</h3>
+
+  <p>If you are using the <em>Standard Manager Implementation</em>
+  as described above, no elements may be nested inside your
+  <strong>&lt;Manager&gt;</strong> element.</p>
+
+  <h3>Persistent Manager Implementation</h3>
+
+  <p>If you are using the <em>Persistent Manager Implementation</em>
+  as described above, you <strong>MUST</strong> nest a
+  <strong>&lt;Store&gt;</strong> element inside, which defines the
+  characteristics of the persistent data storage.  Two implementations
+  of the <code>&lt;Store&gt;</code> element are currently available,
+  with different characteristics, as described belowl</p>
+
+  <h5>File Based Store</h5>
+
+  <p>The <em>File Based Store</em> implementation saves swapped out
+  sessions in individual files (named based on the session identifier)
+  in a configurable directory.  Therefore, you are likely to encounter
+  scalability problems as the number of active sessions increases, and
+  this should primarily be considered a means to easily experiment.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.FileStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+      <p>Absolute or relative (to the temporary work directory for this web
+      application) pathname of the directory into which individual session
+      files are written.  If not specified, the temporary work directory
+      assigned by the container is utilized.</p>
+    </td></tr></table>
+
+
+  <h5>JDBC Based Store</h5>
+
+  <p>The <em>JDBC Based Store</em> implementation saves swapped out
+  sessions in individual rows of a preconfigured table in a database
+  that is accessed via a JDBC driver.  With large numbers of swapped out
+  sessions, this implementation will exhibit improved performance over
+  the File Based Store described above.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.JDBCStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+      <p>The connection URL that will be handed to the configured JDBC
+      driver to establish a connection to the database containing our
+      session table.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the JDBC driver to be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionAppCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified session
+      table, that contains the Engine, Host, and Web Application Context
+      name in the format <code>/Engine/Host/Context</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionDataCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the serialized form of all session
+      attributes for a swapped out session.  The column type must accept
+      a binary object (typically called a BLOB).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionIdCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the session identifier of the
+      swapped out session.  The column type must accept character
+      string data of at least as many characters as are contained
+      in session identifiers created by Tomcat (typically 32).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionLastAccessedCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>lastAccessedTime</code>
+      property of this session.  The column type must accept a
+      Java <code>long</code> (64 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionMaxInactiveCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>maxInactiveInterval</code>
+      property of this session.  The column type must accept a
+      Java <code>integer</code> (32 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionTable</code></strong></td><td valign="center" align="left">
+      <p>Name of the database table to be used for storing swapped out
+      sessions.  This table must contain (at least) the database columns
+      that are configured by the other attributes of this element.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionValidCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains a flag indicating whether this
+      swapped out session is still valid or not.  The column type
+      must accept a single character.</p>
+    </td></tr></table>
+
+  <p>Before attempting to use the JDBC Based Store for the first time,
+  you must create the table that will be used to store swapped out sessions.
+  Detailed SQL commands vary depending on the database you are using, but
+  a script like this will generally be required:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table tomcat_sessions (
+  session_id     varchar(100) not null primary key,
+  valid_session  char(1) not null,
+  max_inactive   int not null,
+  last_access    bigint not null,
+  app_name       varchar(255),
+  session_data   mediumblob,
+  KEY kapp_name(app_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../images/void.gif"></td></tr></table></div>
+
+  <p>In order for the JDBC Based Store to successfully connect to your
+  database, the JDBC driver you configure must be visible to Tomcat's
+  internal class loader.  Generally, that means you must place the JAR
+  file containing this driver into the <code>$CATALINA_HOME/server/lib</code>
+  directory (if your applications do not also need it) or into the
+  <code>$CATALINA_HOME/common/lib</code> directory (if you wish to share
+  this driver with your web applications.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Restart Persistence"><strong>Restart Persistence</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Whenver Catalina is shut down normally and restarted, or when an
+    application reload is triggered, the standard Manager implementation
+    will attempt to serialize all currently active sessions to a disk
+    file located via the <code>pathname</code> attribute.  All such saved
+    sessions will then be deserialized and activated (assuming they have
+    not expired in the mean time) when the application reload is completed.</p>
+
+    <p>In order to successfully restore the state of session attributes,
+    all such attributes MUST implement the <code>java.io.Serializable</code>
+    interface.  You MAY cause the Manager to enforce this restriction by
+    including the <code>&lt;distributable&gt;</code> element in your web
+    application deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/ajp.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/ajp.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/ajp.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,212 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The AJP Connector</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith at mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The AJP Connector</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>AJP Connector</strong> element represents a
+  <strong>Connector</strong> component that communicates with a web
+  connector via the <code>AJP</code> protocol.  This is used for cases
+  where you wish to invisibly integrate Tomcat 5 into an existing (or new)
+  Apache installation, and you want Apache to handle the static content
+  contained in the web application, and/or utilize Apache's SSL
+  processing.</p>
+
+  <p>This connector supports load balancing when used in conjunction with
+  the <code>jvmRoute</code> attribute of the 
+  <a href="engine.html">Engine</a>.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache httpd 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations,
+      but will greatly affect performance if many applications are accessed on a given
+      server by the client.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The feature can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to zero will disable the saving of
+      POST data during authentication. If not specified, this attribute is set
+      to 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>AJP/1.3</code> to use the AJP
+      handler.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>request.registerRequests</code></td><td valign="center" align="left">
+      <p>This attribute controls request registration for JMX monitoring
+      of the Connector.  It is enabled by default, but may be turned
+      it off to save a bit of memory.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the ServerName passed by the native web server to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Srevlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>To use AJP, you
+  must specify the protocol attribute (see above).</p>
+
+  <p><strong>This implementation supports the AJP 1.3 protocol.</strong></p>
+
+  <p>It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server. A value of <code>127.0.0.1</code>
+      indicates that the Connector will only listen on the loopback
+      interface.</p>
+    </td></tr><tr><td valign="center" align="left"><code>backlog</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size of the output buffer to use.  If less than or equal to zero,
+         then output buffering is disabled.  The default value is -1
+         (i.e. buffering disabled)</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is infinite (i.e. no timeout).</p>
+    </td></tr><tr><td valign="center" align="left"><code>minProcessors</code></td><td valign="center" align="left">
+      <strong>deprecated</strong>
+      <p>The minimum number of processors to start at initialization time.
+      If not specified, this atttribute is set to 5.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxProcessors</code></td><td valign="center" align="left">
+      <strong>deprecated</strong>
+      <p>The maximum number of processors allowed. This should be
+      set to a value that is greater than or equal to the maximum number
+      of concurrent connections the remote web server can open to Tomcat 
+      simultaneously. For example, if the web server is Apache 1.x or 2.x
+      Tomcat's <code>maxProcessors</code> should be set to the 
+      value of Apache's <code>maxClients</code> directive.</p>
+      <p>A <code>maxProcessors</code> value of zero (0) signifies that 
+      the number of processors is unlimited. If not specified, this
+      atttribute defaults to 20.</p>
+     </td></tr><tr><td valign="center" align="left"><code>maxSpareThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of unused request processing threads that
+      will be allowed to exist until the thread pool starts stopping the
+      unnecessary threads.  The default value is 50.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200.</p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>The number of request processing threads that will be created
+      when this <strong>Connector</strong> is first started.  The connector
+      will also make sure it has the specified number of idle processing
+      threads available. This attribute should be set to a value smaller
+      than that set for <code>maxThreads</code>.  The default value is 4.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>tomcatAuthentication</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the authetication will be done in Tomcat. 
+      Otherwise, the authenticated principal will be propagated from the native
+      webaserver and used for authorization in Tomcat.  
+      The default value is <code>true</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/context.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/context.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/context.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,661 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Context Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Context Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Context</strong> element represents a <em>web
+  application</em>, which is run within a particular virtual host.
+  Each web application is based on a <em>Web Application Archive</em>
+  (WAR) file, or a corresponding directory containing the corresponding
+  unpacked contents, as described in the Servlet Specification (version
+  2.2 or later).  For more information about web application archives,
+  you can download the
+  <a href="http://java.sun.com/products/servlet/download.html">Servlet
+  Specification</a>, and review the Tomcat
+  <a href="../../appdev/index.html">Application Developer's Guide</a>.</p>
+
+  <p>The web application used to process each HTTP request is selected
+  by Catalina based on matching the longest possible prefix of the
+  Request URI against the <em>context path</em> of each defined Context.
+  Once selected, that Context will select an appropriate servlet to
+  process the incoming request, according to the servlet mappings defined
+  in the <em>web application deployment descriptor</em> file (which MUST
+  be located at <code>/WEB-INF/web.xml</code> within the web app's
+  directory hierarchy).</p>
+
+  <p>You may define as many <strong>Context</strong> elements as you
+  wish.  Each such Context MUST have a unique context path. In
+  addition, a Context must be present with a context path equal to
+  a zero-length string.  This Context becomes the <em>default</em>
+  web application for this virtual host, and is used to process all
+  requests that do not match any other Context's context path.</p>
+
+  <p><b>For Tomcat 5, unlike Tomcat 4.x, it is NOT recommended to place
+  &lt;Context&gt; elements directly in the server.xml file.</b> This
+  is because it makes modifing the <strong>Context</strong> configuration
+  more invasive since the main <code>conf/server.xml</code> file cannot be
+  reloaded without restarting Tomcat.</p>
+
+  <p><strong>Context</strong> elements may be explicitly defined:
+  <ul>
+  <li>in the <code>$CATALINA_HOME/conf/context.xml</code> file: 
+  the Context element information will be loaded by all webapps</li>
+  <li>in the 
+  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml.default</code>
+  file: the Context element information will be loaded by all webapps of that
+  host</li>
+  <li>in individual files (with a ".xml" extension) in the 
+  <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory.
+  The name of the file (less the .xml) extension will be used as the
+  context path. Multi-level context paths may be defined using #, e.g.
+  <code>context#path.xml</code>. The default web application may be defined
+  by using a file called <code>ROOT.xml</code>.</li>
+  <li>if the previous file was not found for this application, in an individual
+  file at <code>/META-INF/context.xml</code> inside the application files</li>
+  <li>inside a <a href="host.html">Host</a> element in the main
+  <code>conf/server.xml</code></li>
+  </ul>
+  </p>
+
+  <p>In addition to explicitly specified Context elements, there are
+  several techniques by which Context elements can be created automatically
+  for you.  See <a href="host.html#Automatic Application Deployment">
+  Automatic Application Deployment</a> and
+  <a href="host.html#User Web Applications">User Web Applications</a>
+  for more information.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Context</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this context and 
+        its child containers, including all wrappers. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A context will use background 
+        processing to perform session expiration and class monitoring for
+        reloading. If not specified, the default value for this attribute is 
+        -1, which means the context will rely on the background processing 
+        thread of its parent host.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Context</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>cookies</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want cookies to be used for
+        session identifier communication if supported by the client (this
+        is the default).  Set to <code>false</code> if you want to disable
+        the use of cookies for session identifier communication, and rely
+        only on URL rewriting by the application.</p>
+      </td></tr><tr><td valign="center" align="left"><code>crossContext</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want calls within this application
+        to <code>ServletContext.getContext()</code> to successfully return a
+        request dispatcher for other web applications running on this virtual
+        host.  Set to <code>false</code> (the default) in security
+        conscious environments, to make <code>getContext()</code> always
+        return <code>null</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>docBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Document Base</em> (also known as the <em>Context
+        Root</em>) directory for this web application, or the pathname
+        to the web application archive file (if this web application is
+        being executed directly from the WAR file).    You may specify
+        an absolute pathname for this directory or WAR file, or a pathname
+        that is relative to the <code>appBase</code> directory of the
+        owning <a href="host.html">Host</a>.</p>
+        <p>If a symbolic link is used for docBase then changes to the
+        symbolic link will only be effective after a Tomcat restart or
+        by undeploying and redeploying the conext. A context reload is not
+        sufficient.</p>
+        <p>Do not choose a docBase that starts with your Host's appBase string.
+        The default appBase is "webapps" so do not choose a docBase like
+        "webapps-foo."  Doing so will lead to deployment errors: see 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39013">Bugzilla</a>
+        for details.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to have explicit settings in this
+        Context element override any corresponding settings in the
+        default settings associated with the owning
+        <a href="host.html">Host</a>.  The default is <code>false</code>.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>privileged</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to allow this context to use container
+        servlets, like the manager servlet.</p>
+      </td></tr><tr><td valign="center" align="left"><code>path</code></td><td valign="center" align="left">
+        <p>The <em>context path</em> of this web application, which is
+        matched against the beginning of each request URI to select the
+        appropriate web application for processing.  All of the context paths
+        within a particular <a href="host.html">Host</a> must be unique.
+        If you specify a context path of an empty string (""), you are
+        defining the <em>default</em> web application for this Host, which
+        will process all requests not assigned to other Contexts. The value of
+        this field must not be set except when statically defining a Context in
+        server.xml, as it will be inferred from the filenames used for either the 
+        .xml context file or the docBase.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  That's
+        why the default setting for this attribute is <i>false</i>.  You
+        can use the <a href="../../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+      </td></tr><tr><td valign="center" align="left"><code>wrapperClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>org.apache.catalina.Wrapper</code>
+        implementation class that will be used for servlets managed by this
+        Context.  If not specified, a standard default value will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Context</strong> is
+    <strong>org.apache.catalina.core.StandardContext</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowLinking</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, symlinks will be
+        allowed inside the web application, pointing to resources outside the
+        web application base path. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to true on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>antiJARLocking</code></td><td valign="center" align="left">
+        <p>If true, the Tomcat classloader will take extra measures to avoid
+        JAR file locking when resources are accessed inside JARs through URLs.
+        This will impact startup time of applications, but could prove to be useful
+        on platforms or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>antiResourceLocking</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will prevent any file locking.
+        This will significantly impact startup time of applications, 
+        but allows full webapp hot deploy and undeploy on platforms 
+        or configurations where file locking can occur.
+        If not specified, the default value is <code>false</code>.</p>
+   
+        <p>Please note that setting this to <code>true</code> has some side effects,
+        including the disabling of JSP reloading in a running server: see
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">Bugzilla 37668</a>.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheMaxSize</code></td><td valign="center" align="left">
+        <p>Maximum size of the static resource cache in kilobytes. 
+        If not specified, the default value is <code>10240</code>
+        (10 megabytes).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cacheTTL</code></td><td valign="center" align="left">
+        <p>Amount of time in milliseconds between cache entries revalidation.
+        If not specified, the default value is <code>5000</code> 
+        (5 seconds).</p>
+      </td></tr><tr><td valign="center" align="left"><code>cachingAllowed</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the cache for static
+        resources will be used. If not specified, the default value
+        of the flag is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>caseSensitive</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, all case sensitivity
+        checks will be disabled. If not 
+        specified, the default value of the flag is <code>true</code>.</p>
+        <p><b>NOTE: This flag MUST NOT be set to false on the Windows platform
+        (or any other OS which does not have a case sensitive filesystem),
+        as it will disable case sensitivity checks, allowing JSP source code
+        disclosure, among other security problems.</b></p>
+      </td></tr><tr><td valign="center" align="left"><code>processTlds</code></td><td valign="center" align="left">
+        <p>Whether the context should process TLDs on startup.  The default
+        is true.  The false setting is intended for special cases
+        that know in advance TLDs are not part of the webapp.</p>
+      </td></tr><tr><td valign="center" align="left"><code>swallowOutput</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the bytes output to
+        System.out and System.err by the web application will be redirected to
+        the web application logger. If not specified, the default value
+        of the flag is <code>false</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>tldNamespaceAware</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        XML validation will be namespace-aware.  If you turn this flag on,
+        you should probably also turn <code>tldValidation</code> on.  The
+        default value for this flag is <code>false</code>, and setting it
+        to true will incur a performance penalty.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>tldValidation</code></td><td valign="center" align="left">
+        <p>If the value of this flag is <code>true</code>, the TLD files
+        will be XML validated on context startup.  The default value for
+        this flag is <code>false</code>, and setting it to true will incur
+        a performance penalty.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unloadDelay</code></td><td valign="center" align="left">
+        <p>Amount of ms that the container will wait for servlets to unload.
+        If not specified, the default value of the flag is <code>2000</code> 
+        ms.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWAR</code></td><td valign="center" align="left">
+        <p>If true, Tomcat will unpack all compressed web applications before
+        running them.
+        If not specified, the default value is <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useNaming</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> (the default) to have Catalina enable a
+        JNDI <code>InitialContext</code> for this web application that is
+        compatible with Java2 Enterprise Edition (J2EE) platform
+        conventions.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be provided by this Context
+        for temporary read-write use by servlets within the associated web
+        application.  This directory will be made visible to servlets in the
+        web application by a servlet context attribute (of type
+        <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_HOME/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Context</strong>
+  element:</p>
+  <ul>
+  <li><a href="loader.html"><strong>Loader</strong></a> -
+      Configure the web application class loader that will be used to load
+      servlet and bean classes for this web application.  Normally, the
+      default configuration of the class loader will be sufficient.</li>
+  <li><a href="manager.html"><strong>Manager</strong></a> -
+      Configure the session manager that will be used to create, destroy,
+      and persist HTTP sessions for this web application.  Normally, the
+      default configuration of the session manager will be sufficient.</li>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be utilized solely
+      for this particular web application.  If not specified, this web
+      application will utilize the Realm associated with the owning
+      <a href="host.html">Host</a> or <a href="engine.html">Engine</a>.</li>
+  <li><a href="resources.html"><strong>Resources</strong></a> -
+      Configure the resource manager that will be used to access the static
+      resources associated with this web application.  Normally, the
+      default configuration of the resource manager will be sufficient.</li>
+  <li><strong>WatchedResource</strong> - The auto deployer will monitor the 
+      specified static resource of the web application for updates, and will
+      reload the web application if is is updated. The content of this element
+      must be a string.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A context is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname].[path]</code>
+       log category.  Note that the brackets are actually part of the name, don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Context Configuration"><strong>Automatic Context Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you use the standard <strong>Context</strong> implementation,
+    the following configuration steps occur automtically when Catalina
+    is started, or whenever this web application is reloaded.  No special
+    configuration is required to enable this feature.</p>
+    
+    <ul>
+    <li>If you have not declared your own <a href="loader.html">Loader</a>
+       element, a standard web application class loader will be configured.
+       </li>
+    <li>If you have not declared your own <a href="manager.html">Manager</a>
+        element, a standard session manager will be configured.</li>
+    <li>If you have not declared your own <a href="resources.html">Resources</a>
+        element, a standard resources manager will be configured.</li>
+    <li>The web application properties listed in <code>conf/web.xml</code>
+        will be processed as defaults for this web application.  This is used
+        to establish default mappings (such as mapping the <code>*.jsp</code>
+        extension to the corresponding JSP servlet), and other standard
+        features that apply to all web applications.</li>
+    <li>The web application properties listed in the
+        <code>/WEB-INF/web.xml</code> resource for this web application
+        will be processed (if this resource exists).</li>
+    <li>If your web application has specified security constraints that might
+        require user authentication, an appropriate Authenticator that
+        implements the login method you have selected will be configured.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context Parameters"><strong>Context Parameters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as servlet context initialization parameters by nesting
+    <code>&lt;Parameter&gt;</code> elements inside this element.  For
+    example, you can create an initialization parameter like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Parameter name="companyName" value="My Company, Incorporated"
+         override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;context-param&gt;
+  &lt;param-name&gt;companyName&lt;/param-name&gt;
+  &lt;param-value&gt;My Company, Incorporated&lt;/param-value&gt;
+&lt;/context-param&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Parameter&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this context
+        initialization parameter.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the context initialization parameter to be created.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        a <code>&lt;context-param&gt;</code> for the same parameter name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested by calling
+        <code>ServletContext.getInitParameter()</code>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can configure named values that will be made visible to the
+    web application as environment entry resources, by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element.  For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/param-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Context</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/examples" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+    and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+    more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the resource
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor.  You <strong>MUST</strong> also define
+    the needed resource parameters as attributes of the <code>Resource</code> 
+    element, to configure the object factory to be used (if not known to Tomcat 
+    already), and the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attributes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+
+     <p>This element is used to create a link to a global JNDI resource. Doing
+     a JNDI lookup on the link name will then return the linked global 
+     resource.</p>
+
+    <p>For example, you can create a resource link like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;ResourceLink name="linkToGlobalResource"
+            global="simpleValue"
+            type="java.lang.Integer"
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>The valid attributes for a <code>&lt;ResourceLink&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>global</code></strong></td><td valign="center" align="left">
+        <p>The name of the linked global resource in the 
+        global JNDI context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource link to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource link.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/engine.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/engine.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/engine.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,198 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Engine Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Engine Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Engine</strong> element represents the entire request
+  processing machinery associated with a particular Catalina
+  <a href="service.html">Service</a>.  It receives and processes
+  <em>all</em> requests from one or more <strong>Connectors</strong>,
+  and returns the completed response to the Connector for ultimate
+  transmission back to the client.</p>
+
+  <p>Exactly one <strong>Engine</strong> element MUST be nested inside
+  a <a href="service.html">Service</a> element, following all of the
+  corresponding Connector elements associated with this Service.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Engine</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this engine and 
+        its child containers, including all hosts and contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this engine 
+        and all its child containers. If not specified, the default value for
+        this attribute is 10, which represent a 10 seconds delay.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Engine</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>defaultHost</code></strong></td><td valign="center" align="left">
+        <p>The default host name, which identifies the
+        <a href="host.html">Host</a> that will process requests directed
+        to host names on this server, but which are not configured in
+        this configuration file.  This name MUST match the <code>name</code>
+        attributes of one of the <a href="host.html">Host</a> elements
+        nested immediately inside.</p>
+      </td></tr><tr><td valign="center" align="left"><code>jvmRoute</code></td><td valign="center" align="left">
+        <p>Identifier which must be used in load balancing scenarios to enable
+        session affinity. The identifier, which must be unique across all
+        Tomcat 5 servers which participate in the cluster, will be appended to
+        the generated session identifier, therefore allowing the front end
+        proxy to always forward a particular session to the same Tomcat 5
+        instance.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Logical name of this Engine, used in log and error messages. <em>When
+        using muliple <a href="service.html">Service</a> elements in the same
+        <a href="server.html">Server</a>, each Engine MUST be assigned a unique
+        name.</em></p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Engine</strong> is
+    <strong>org.apache.catalina.core.StandardEngine</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="host.html">Host</a> elements inside
+  this <strong>Engine</strong> element, each representing a different virtual
+  host associated with this server.  At least one <a href="host.html">Host</a>
+  is required, and one of the nested <a href="host.html">Hosts</a> MUST
+  have a name that matches the name specified for the
+  <code>defaultHost</code> attribute, listed above.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Engine</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="host.html">Hosts</a> and <a href="context.html">Contexts</a>
+      nested inside this Engine, unless overridden by a
+      <a href="realm.html">Realm</a> configuration at a lower level.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>An engine is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename]</code>
+       log category.  Note that the brackets are actually part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="catalina_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Engine</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Standalone" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Engine&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/globalresources.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/globalresources.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/globalresources.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,198 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The GlobalNamingResources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The GlobalNamingResources Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>GlobalNamingResources</strong> element defines the global
+  JNDI resources for the <a href="server.html">Server</a>.</p>
+
+  <p>These resources are listed in the server's global JNDI resource context.
+   This context is distinct from the per-web-application JNDI contexts 
+  described in
+  the <a href="../../jndi-resources-howto.html">JNDI Resources HOW-TO</a>.
+  The resources defined in this element are <strong>not</strong> visible in
+  the per-web-application contexts unless you explicitly link them with
+  <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> elements.
+  </p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Environment Entries"><strong>Environment Entries</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can configure named values that will be made visible to all
+    web applications as environment entry resources by nesting
+    <code>&lt;Environment&gt;</code> entries inside this element. For
+    example, you can create an environment entry like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Environment name="maxExemptions" value="10"
+         type="java.lang.Integer" override="false"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):
+    </p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;env-entry&gt;
+  &lt;env-entry-name&gt;maxExemptions&lt;/env-entry-name&gt;
+  &lt;env-entry-value&gt;10&lt;/env-entry-value&gt;
+  &lt;env-entry-type&gt;java.lang.Integer&lt;/env-entry-type&gt;
+&lt;/env-entry&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+    <p>but does <em>not</em> require modification of the deployment descriptor
+    to customize this value.</p>
+
+    <p>The valid attributes for an <code>&lt;Environment&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this environment entry.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the environment entry to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>override</code></td><td valign="center" align="left">
+        <p>Set this to <code>false</code> if you do <strong>not</strong> want
+        an <code>&lt;env-entry&gt;</code> for the same environment entry name,
+        found in the web application deployment descriptor, to override the
+        value specified here.  By default, overrides are allowed.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web application
+        for this environment entry.  Must be one of the legal values for
+        <code>&lt;env-entry-type&gt;</code> in the web application deployment
+        descriptor:  <code>java.lang.Boolean</code>,
+        <code>java.lang.Byte</code>, <code>java.lang.Character</code>,
+        <code>java.lang.Double</code>, <code>java.lang.Float</code>,
+        <code>java.lang.Integer</code>, <code>java.lang.Long</code>,
+        <code>java.lang.Short</code>, or <code>java.lang.String</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>value</code></strong></td><td valign="center" align="left">
+        <p>The parameter value that will be presented to the application
+        when requested from the JNDI context.  This value must be convertable
+        to the Java type defined by the <code>type</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Definitions"><strong>Resource Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of resources
+    to be returned for JNDI lookups of <code>&lt;resource-ref&gt;</code> and
+    <code>&lt;resource-env-ref&gt;</code> elements in the web application
+    deployment descriptor by defining them in this element and then linking 
+    them with <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements
+    in the <code><strong>&lt;Context&gt;</strong></code> element.  
+
+    You <strong>MUST</strong> also define any other needed parameters using
+    attributes on the Resource element, to configure
+    the object factory to be used (if not known to Tomcat already), and
+    the properties used to configure that object factory.</p>
+
+    <p>For example, you can create a resource definition like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;GlobalNamingResources ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource"
+     description="Employees Database for HR Applications"/&gt;
+  ...
+&lt;/GlobalNamingResources&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>This is equivalent to the inclusion of the following element in the
+    web application deployment descriptor (<code>/WEB-INF/web.xml</code>):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;Employees Database for HR Applications&lt;/description&gt;
+  &lt;res-ref-name&gt;jdbc/EmployeeDB&lt;/res-ref-name&gt;
+  &lt;res-ref-type&gt;javax.sql.DataSource&lt;/res-ref-type&gt;
+  &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>but does <em>not</em> require modification of the deployment
+    descriptor to customize this value.</p>
+
+    <p>The valid attriutes for a <code>&lt;Resource&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>auth</code></td><td valign="center" align="left">
+        <p>Specify whether the web Application code signs on to the
+        corresponding resource manager programatically, or whether the
+        Container will sign on to the resource manager on behalf of the
+        application.  The value of this attribute must be
+        <code>Application</code> or <code>Container</code>.  This
+        attribute is <strong>required</strong> if the web application
+        will use a <code>&lt;resource-ref&gt;</code> element in the web
+        application deployment descriptor, but is optional if the
+        application uses a <code>&lt;resource-env-ref&gt;</code> instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>description</code></td><td valign="center" align="left">
+        <p>Optional, human-readable description of this resource.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>The name of the resource to be created, relative to the
+        <code>java:comp/env</code> context.</p>
+      </td></tr><tr><td valign="center" align="left"><code>scope</code></td><td valign="center" align="left">
+        <p>Specify whether connections obtained through this resource
+        manager can be shared.  The value of this attribute must be
+        <code>Shareable</code> or <code>Unshareable</code>.  By default,
+        connections are assumed to be shareable.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>type</code></strong></td><td valign="center" align="left">
+        <p>The fully qualified Java class name expected by the web
+        application when it performs a lookup for this resource.</p>
+      </td></tr></table>
+
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Resource Links"><strong>Resource Links</strong></a></font></td></tr><tr><td><blockquote>
+    <p>Use <a href="context.html#Resource Links">&lt;ResourceLink&gt;</a> 
+    elements to link resources from the global context into 
+    per-web-application contexts. Here is an example of making a custom 
+    factory available to a web applications, based on the example 
+    definition in the 
+    <a href="../../jndi-resource-howto.html#Generic JavaBean Resources">
+    JNDI Resource HOW-TO</a>:
+    </p>
+
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      
+        &lt;Context&gt;
+          &lt;ResourceLink 
+            name="bean/MyBeanFactory"
+            global="bean/MyBeanFactory"
+            type="com.mycompany.MyBean"
+          /&gt;
+        &lt;/Context&gt;
+      
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Transaction"><strong>Transaction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can declare the characteristics of the UserTransaction
+    to be returned for JNDI lookup for <code>java:comp/UserTransaction</code>. 
+    You <strong>MUST</strong> define an object factory class to instantiate
+    this object as well as the needed resource parameters as attributes of the 
+    <code>Transaction</code> 
+    element, and the properties used to configure that object factory.</p>
+
+    <p>The valid attributes for the <code>&lt;Transaction&gt;</code> element
+    are as follows:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>factory</code></strong></td><td valign="center" align="left">
+        <p>The class name for the JNDI object factory.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/host.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/host.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/host.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,482 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Host Container</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Host Container</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Host</strong> element represents a <em>virtual host</em>,
+  which is an association of a network name for a server (such as
+  "www.mycompany.com" with the particular server on which Catalina is
+  running.  In order to be effective, this name must be registered in the
+  <em>Domain Name Service</em> (DNS) server that manages the Internet
+  domain you belong to - contact your Network Administrator for more
+  information.</p>
+
+  <p>In many cases, System Administrators wish to associate more than
+  one network name (such as <code>www.mycompany.com</code> and
+  <code>company.com</code>) with the same virtual host and applications.
+  This can be accomplished using the <a href="#Host Name Aliases">Host
+  Name Aliases</a> feature discussed below.</p>
+
+  <p>One or more <strong>Host</strong> elements are nested inside an
+  <a href="engine.html">Engine</a> element.  Inside the Host element, you
+  can nest <a href="context.html">Context</a> elements for the web
+  applications associated with this virtual host.  Exactly one of the Hosts
+  associated with each Engine MUST have a name matching the
+  <code>defaultHost</code> attribute of that Engine.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Host</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appBase</code></strong></td><td valign="center" align="left">
+        <p>The <em>Application Base</em> directory for this virtual host.
+        This is the pathname of a directory that may contain web applications
+        to be deployed on this virtual host.  You may specify an
+        absolute pathname for this directory, or a pathname that is relative
+        to the <code>$CATALINA_BASE</code> directory.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information on automatic recognition and
+        deployment of web applications to be deployed automatically.</p>
+      </td></tr><tr><td valign="center" align="left"><code>autoDeploy</code></td><td valign="center" align="left">
+        <p>This flag value indicates if new web applications, dropped in to
+        the <code>appBase</code> directory while Tomcat is running, should
+        be automatically deployed.  The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>backgroundProcessorDelay</code></td><td valign="center" align="left">
+        <p>This value represents the delay in seconds between the 
+        invocation of the backgroundProcess method on this host and 
+        its child containers, including all contexts. 
+        Child containers will not be invoked if their delay value is not 
+        negative (which would mean they are using their own processing 
+        thread). Setting this to a positive value will cause 
+        a thread to be spawn. After waiting the specified amount of time, 
+        the thread will invoke the backgroundProcess method on this host 
+        and all its child containers. A host will use background processing to
+        perform live web application deployment related tasks. If not 
+        specified, the default value for this attribute is -1, which means 
+        the host will rely on the background processing thread of its parent 
+        engine.</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Host</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deployOnStartup</code></td><td valign="center" align="left">
+        <p>This flag value indicates if web applications from this host should
+        be automatically deployed by the host configurator.
+        The flag's value defaults to true.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+        <p>Network name of this virtual host, as registered in your
+        <em>Domain Name Service</em> server.  One of the Hosts nested within
+        an <a href="engine.html">Engine</a> MUST have a name that matches the
+        <code>defaultHost</code> setting for that Engine.  See
+        <a href="#Host Name Aliases">Host Name Aliases</a> for information
+        on how to assign more than one network name to the same
+        virtual host.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Host</strong> is
+    <strong>org.apache.catalina.core.StandardHost</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>deployXML</code></td><td valign="center" align="left">
+        <p>Set to <code>false</code> if you want to disable parsing the context.xml
+        file embedded inside the application (located at <code>/META-INF/context.xml</code>). 
+        Security consious environments should set this to <code>false</code> to prevent
+        applications from interacting with the container's configuration. The 
+        administrator will then be responsible for providing an external context 
+        configuration file, and put it in 
+        <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code>.
+        The flag's value defaults to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>errorReportValveClass</code></td><td valign="center" align="left">
+        <p>Java class name of the error reporting valve which will be used
+        by this Host. The responsability of this valve is to output error
+        reports. Setting this property allows to customize the look of the
+        error pages which will be generated by Tomcat. This class must
+        implement the
+        <code>org.apache.catalina.Valve</code> interface. If none is specified,
+        the value <code>org.apache.catalina.valves.ErrorReportValve</code>
+        will be used by default.</p>
+      </td></tr><tr><td valign="center" align="left"><code>unpackWARs</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want web applications that are
+        placed in the <code>appBase</code> directory as web application
+        archive (WAR) files to be unpacked into a corresponding disk directory
+        structure, <code>false</code> to run such web applications directly
+        from a WAR file.  See
+        <a href="#Automatic Application Deployment">Automatic Application
+        Deployment</a> for more information.</p>
+      </td></tr><tr><td valign="center" align="left"><code>workDir</code></td><td valign="center" align="left">
+        <p>Pathname to a scratch directory to be used by applications for
+        this Host. Each application will have its own sub directory with
+        temporary read-write use.  Configuring a Context workDir will override
+        use of the Host workDir configuration.  This directory will be made
+        visible to servlets in the web application by a servlet context
+        attribute (of type <code>java.io.File</code>) named
+        <code>javax.servlet.context.tempdir</code> as described in the
+        Servlet Specification.  If not specified, a suitable directory
+        underneath <code>$CATALINA_HOME/work</code> will be provided.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can nest one or more <a href="context.html">Context</a> elements
+  inside this <strong>Host</strong> element, each representing a different web
+  application associated with this virtual host.</p>
+
+  <p>You can nest at most one instance of the following utility components
+  by nesting a corresponding element inside your <strong>Host</strong>
+  element:</p>
+  <ul>
+  <li><a href="realm.html"><strong>Realm</strong></a> -
+      Configure a realm that will allow its
+      database of users, and their associated roles, to be shared across all
+      <a href="context.html">Contexts</a> nested inside this Host (unless
+      overridden by a <a href="realm.html">Realm</a> configuration
+      at a lower level).</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A host is associated with the 
+       <code>org.apache.catalina.core.ContainerBase.[enginename].[hostname]</code>
+       log category.  Note that the brackets are actuall part of the name,
+       don't omit them.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Logs"><strong>Access Logs</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>When you run a web server, one of the output files normally generated
+    is an <em>access log</em>, which generates one line of information for
+    each request processed by the server, in a standard format.  Catalina
+    includes an optional <a href="valve.html">Valve</a> implementation that
+    can create access logs in the same standard format created by web servers,
+    or in any number of custom formats.</p>
+
+    <p>You can ask Catalina to create an access log for all requests
+    processed by an <a href="engine.html">Engine</a>,
+    <a href="host.html">Host</a>, or <a href="context.html">Context</a>
+    by nesting a <a href="valve.html">Valve</a> element like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.AccessLogValve"
+         prefix="localhost_access_log." suffix=".txt"
+         pattern="common"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>See <a href="valve.html#Access Log Valve">Access Log Valve</a>
+    for more information on the configuration attributes that are
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Automatic Application Deployment"><strong>Automatic Application Deployment</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you are using the standard <strong>Host</strong> implementation,
+    the following actions take place automatically when Catalina is first
+    started, if the <code>deployOnStartup</code> property is set to
+    <code>true</code> (which is the default value):</p>
+    <ul>
+    <li>Any XML file in the 
+        <code>$CATALINA_HOME/conf/[engine_name]/[host_name]</code> directory is
+        assumed to contain a
+        <a href="context.html">Context</a> element (and its associated
+        subelements) for a single web application.  The <code>docBase</code>
+        attribute of this <code>&lt;Context&gt;</code> element will typically
+        be the absolute pathname to a web application directory, or the
+        absolute pathname of a web application archive (WAR) file (which
+        will not be expanded). The path attribute will be automatically set
+        as defined in the <a href="context.html">Context</a> documentation.</li>
+    <li>Any web application archive file within the application base (appBase)
+        directory that does not have a corresponding
+        directory of the same name (without the ".war" extension) will be
+        automatically expanded, unless the <code>unpackWARs</code> property
+        is set to <code>false</code>.  If you redeploy an updated WAR file,
+        be sure to delete the expanded directory when restarting Tomcat, so
+        that the updated WAR file will be re-expanded (note that the auto
+        deployer, if enabled, will automatically expand the updated WAR file
+        once the previously expanded directory is removed).</li>
+    <li>Any subdirectory within the <em>application base directory</em>
+        that appears to be an unpacked web application (that is, it contains
+        a <code>/WEB-INF/web.xml</code> file) will receive an automatically
+        generated <a href="context.html">Context</a> element, even if this
+        directory is not mentioned in the <code>conf/server.xml</code> file.
+        This generated Context entry will be configured according to the
+        defaults configured for this Host element.  The context path for this
+        deployed Context will be a slash character ("/") followed by the
+        directory name, unless the directory name is ROOT, in which case
+        the context path will be an empty string ("").</li>
+    </ul>
+
+    <p>In addition to the automatic deployment that occurs at startup time,
+    you can also request that new XML configuration files, WAR files, or
+    subdirectories (containing web applications) that are dropped in to the
+    <code>appBase</code> (or 
+    <code>$CATALINA_HOME/conf/[engine_name]/[host_name]</code> in the case of
+    an XML configuration file) directory while Tomcat is running will be
+    automatically deployed, according to the rules described above. The 
+    auto deployer will also track web applications for the following changes:
+    <ul>
+        <li>An update to the WEB-INF/web.xml file will trigger a reload of the
+        web application</li>
+        <li>An update to a WAR which has been expanded will trigger 
+        an undeploy (<strong>with a removal of the expanded webapp</strong>), 
+        followed by a deployment</li>
+        <li>An update to a XML configuration file will trigger an undeploy
+        (without the removal of any expanded directory), followed by 
+        a deployment of the associated web application</li>
+    </ul>
+    </p>
+
+    <p>When using automatic deployment, the <code>docBase</code> defined by
+    an XML <a href="context.html">Context</a> file should be outside of the
+    <code>appBase</code> directory. If this is not the case difficulties
+    may be experienced deploying the web application or the application may
+    be deployed twice.</p>
+
+    <p>Finally, note that if you are defining contexts explicitly, you should
+    probably turn off automatic application deployment.  Otherwise, your context
+    will be deployed twice each, and that may cause problems for your app.
+    </p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Host Name Aliases"><strong>Host Name Aliases</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many server environments, Network Administrators have configured
+    more than one network name (in the <em>Domain Name Service</em> (DNS)
+    server), that resolve to the IP address of the same server.  Normally,
+    each such network name would be configured as a separate
+    <strong>Host</strong> element in <code>conf/server.xml</code>, each
+    with its own set of web applications.</p>
+
+    <p>However, in some circumstances, it is desireable that two or more
+    network names should resolve to the <strong>same</strong> virtual host,
+    running the same set of applications.  A common use case for this
+    scenario is a corporate web site, where it is desireable that users
+    be able to utilize either <code>www.mycompany.com</code> or
+    <code>company.com</code> to access exactly the same content and
+    applications.</p>
+
+    <p>This is accomplished by utilizing one or more <strong>Alias</strong>
+    elements nested inside your <strong>Host</strong> element.  For
+    example:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="www.mycompany.com" ...&gt;
+  ...
+  &lt;Alias&gt;mycompany.com&lt;/Alias&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>In order for this strategy to be effective, all of the network names
+    involved must be registered in your DNS server to resolve to the
+    same computer that is running this instance of Catalina.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Lifecycle Listeners"><strong>Lifecycle Listeners</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>If you have implemented a Java object that needs to know when this
+    <strong>Host</strong> is started or stopped, you can declare it by
+    nesting a <strong>Listener</strong> element inside this element.  The
+    class name you specify must implement the
+    <code>org.apache.catalina.LifecycleListener</code> interface, and
+    it will be notified about the occurrence of the coresponding
+    lifecycle events.  Configuration of such a listener looks like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="com.mycompany.mypackage.MyListener" ... &gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Note that a Listener can have any number of additional properties
+    that may be configured from this element.  Attribute names are matched
+    to corresponding JavaBean property names using the standard property
+    method naming patterns.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Filters"><strong>Request Filters</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>You can ask Catalina to check the IP address, or host name, on every
+    incoming request directed to the surrounding
+    <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a> element.  The remote address or name
+    will be checked against a configured list of "accept" and/or "deny"
+    filters, which are defined using the Regular Expression syntax supported
+    by the <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a>
+    regular expression library.  Requests that come from locations that are
+    not accepted will be rejected with an HTTP "Forbidden" error.
+    Example filter declarations:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.valves.RemoteHostValve"
+         allow="*.mycompany.com,www.yourcompany.com"/&gt;
+  &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+         deny="192.168.1.*"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>See <a href="valve.html#Remote Address Filter">Remote Address Filter</a>
+  and <a href="valve.html#Remote Host Filter">Remote Host Filter</a> for
+  more information about the configuration options that are supported.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On"><strong>Single Sign On</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>In many environments, but particularly in portal environments, it
+    is desireable to have a user challenged to authenticate themselves only
+    once over a set of web applications deployed on a particular virtual
+    host.  This can be accomplished by nesting an element like this inside
+    the Host element for this virtual host:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Valve className="org.apache.catalina.authenticator.SingleSignOn"
+         debug="0"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>The Single Sign On facility operates according to the following rules:
+    </p>
+    <ul>
+    <li>All web applications configured for this virtual host must share the
+        same <a href="realm.html">Realm</a>.  In practice, that means you can
+        nest the Realm element inside this Host element (or the surrounding
+        <a href="engine.html">Engine</a> element), but not inside a
+        <a href="context.html">Context</a> element for one of the involved
+        web applications.</li>
+    <li>As long as the user accesses only unprotected resources in any of the
+        web applications on this virtual host, they will not be challenged
+        to authenticate themselves.</li>
+    <li>As soon as the user accesses a protected resource in
+        <strong>any</strong> web application associated with this virtual
+        host, the user will be challenged to authenticate himself or herself,
+        using the login method defined for the web application currently
+        being accessed.</li>
+    <li>Once authenticated, the roles associated with this user will be
+        utilized for access control decisions across <strong>all</strong>
+        of the associated web applications, without challenging the user
+        to authenticate themselves to each application individually.</li>
+    <li>As soon as the user logs out of one web application (for example,
+        by invalidating the corresponding session if form
+        based login is used), the user's sessions in <strong>all</strong>
+        web applications will be invalidated.  Any subsequent attempt to
+        access a protected resource in any application will require the
+        user to authenticate himself or herself again.</li>
+    <li>The Single Sign On feature utilizes HTTP cookies to transmit a token
+        that associates each request with the saved user identity, so it can
+        only be utilized in client environments that support cookies.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="User Web Applications"><strong>User Web Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Many web servers can automatically map a request URI starting with
+    a tilde character ("~") and a username to a directory (commonly named
+    <code>public_html</code>) in that user's home directory on the server.
+    You can accomplish the same thing in Catalina by using a special
+    <strong>Listener</strong> element like this (on a Unix system that
+    uses the <code>/etc/passwd</code> file to identify valid users):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            userClass="org.apache.catalina.startup.PasswdUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>On a server where <code>/etc/passwd</code> is not in use, you can
+    request Catalina to consider all directories found in a specified base
+    directory (such as <code>c:\Homes</code> in this example) to be
+    considered "user home" directories for the purposes of this directive:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Host name="localhost" ...&gt;
+  ...
+  &lt;Listener className="org.apache.catalina.startup.UserConfig"
+            directoryName="public_html"
+            homeBase=c:\Homes"
+            userClass="org.apache.catalina.startup.HomesUserDatabase"/&gt;
+  ...
+&lt;/Host&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>If a user home directory has been set up for a user named
+    <code>craigmcc</code>, then its contents will be visible from a
+    client browser by making a request to a URL like:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://www.mycompany.com:8080/~craigmcc
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+    <p>Successful use of this feature requires recognition of the following
+    considerations:</p>
+    <ul>
+    <li>Each user web application will be deployed with characteristics
+        established by any defaults you have configured for this Host.</li>
+    <li>It is legal to include more than one instance of this Listener
+        element.  This would only be useful, however, in circumstances
+        where you wanted to configure more than one "homeBase" directory.</li>
+    <li>The operating system username under which Catalina is executed
+        MUST have read access to each user's web application directory,
+        and all of its contents.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/http.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/http.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/http.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,362 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The HTTP Connector</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The HTTP Connector</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>HTTP Connector</strong> element represents a
+  <strong>Connector</strong> component that supports the HTTP/1.1 protocol.
+  It enables Catalina to function as a stand-alone web server, in addition
+  to its ability to execute servlets and JSP pages.  A particular instance
+  of this component listens for connections on a specific TCP port number
+  on the server.  One or more such <strong>Connectors</strong> can be
+  configured as part of a single <a href="service.html">Service</a>, each
+  forwarding to the associated <a href="engine.html">Engine</a> to perform
+  request processing and create the response.</p>
+
+  <p>If you wish to configure the <strong>Connector</strong> that is used
+  for connections to web servers using the AJP protocol (such as the
+  <code>mod_jk 1.2.x</code> connector for Apache 1.3), see
+  <a href="ajp.html">here</a> instead.</p>
+
+  <p>At server startup time, this <strong>Connector</strong> will create a
+  number of request processing threads (based on the value configured for
+  the <code>minSpareThreads</code> attribute).  Each incoming request requires
+  a thread for the duration of that request.  If more simultaneous requests
+  are received than can be handled by the currently available request
+  processing threads, additional threads will be created up to the
+  configured maximum (the value of the <code>maxThreads</code> attribute).
+  If still more simultaneous requests are received, they are stacked up
+  inside the server socket created by the <strong>Connector</strong>, up to
+  the configured maximum (the value of the <code>acceptCount</code>
+  attribute.  Any further simultaneous requests will receive "connection
+  refused" errors, until resources are available to process them.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Connector</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>allowTrace</code></td><td valign="center" align="left">
+      <p>A boolean value which can be used to enable or disable the TRACE
+      HTTP method. If not specified, this attribute is set to false.</p>
+    </td></tr><tr><td valign="center" align="left"><code>emptySessionPath</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, all paths for session cookies will be set
+      to <code>/</code>. This can be useful for portlet specification implementations,
+      but will greatly affect performance if many applications are accessed on a given
+      server by the client.
+      If not specified, this attribute is set to <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>enableLookups</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want calls to
+      <code>request.getRemoteHost()</code> to perform DNS lookups in
+      order to return the actual host name of the remote client.  Set
+      to <code>false</code> to skip the DNS lookup and return the IP
+      address in String form instead (thereby improving performance).
+      By default, DNS lookups are enabled.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxPostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be handled by
+      the container FORM URL parameter parsing. The limit can be disabled by
+      setting this attribute to a value less than or equal to 0.
+      If not specified, this attribute is set to 2097152 (2 megabytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSavePostSize</code></td><td valign="center" align="left">
+      <p>The maximum size in bytes of the POST which will be saved/buffered by
+      the container during FORM or CLIENT-CERT authentication. For both types
+      of authentication, the POST will be saved/buffered before the user is
+      authenticated. For CLIENT-CERT authentication, the POST is buffered for
+      the duration of
+ the SSL handshake and the buffer emptied when the request
+      is processed. For FORM authentication the POST is
+ saved whilst the user
+      is re-directed to the login form and is retained until the user
+      successfully authenticates or the session associated with the
+      authentication request expires. The limit can be disabled by setting this
+      attribute to -1. Setting the attribute to
+ zero will disable the saving of
+      POST data during authentication
+. If not
+ specified, this attribute is set
+      to
+ 4096 (4 kilobytes).</p>
+    </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+      <p>This attribute value must be <code>HTTP/1.1</code> to use the HTTP
+      handler, which is the default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyName</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server name
+      to be returned for calls to <code>request.getServerName()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>proxyPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is being used in a proxy
+      configuration, configure this attribute to specify the server port
+      to be returned for calls to <code>request.getServerPort()</code>.
+      See <a href="#Proxy Support">Proxy Support</a> for more
+      information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>redirectPort</code></td><td valign="center" align="left">
+      <p>If this <strong>Connector</strong> is supporting non-SSL
+      requests, and a request is received for which a matching
+      <code>&lt;security-constraint&gt;</code> requires SSL transport,
+      Catalina will automatically redirect the request to the port
+      number specified here.</p>
+    </td></tr><tr><td valign="center" align="left"><code>scheme</code></td><td valign="center" align="left">
+      <p>Set this attribute to the name of the protocol you wish to have
+      returned by calls to <code>request.getScheme()</code>.  For
+      example, you would set this attribute to "<code>https</code>"
+      for an SSL Connector.  The default value is "<code>http</code>".
+      See <a href="#SSL Support">SSL Support</a> for more information.</p>
+    </td></tr><tr><td valign="center" align="left"><code>secure</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> if you wish to have
+      calls to <code>request.isSecure()</code> to return <code>true</code>
+      for requests received by this Connector (you would want this on an
+      SSL Connector).  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>URIEncoding</code></td><td valign="center" align="left">
+      <p>This specifies the character encoding used to decode the URI bytes,
+      after %xx decoding the URL. If not specified, ISO-8859-1 will be used.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useBodyEncodingForURI</code></td><td valign="center" align="left">
+      <p>This specifies if the encoding specified in contentType should be used
+      for URI query parameters, instead of using the URIEncoding. This
+      setting is present for compatibility with Tomcat 4.1.x, where the
+      encoding specified in the contentType, or explicitely set using
+      Request.setCharacterEncoding method was also used for the parameters from
+      the URL. The default value is <code>false</code>.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>useIPVHosts</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to use
+      the IP address that the request was recieved on to determine the Host
+      to send the request to.  The default value is <code>false</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>xpoweredBy</code></td><td valign="center" align="left">
+      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
+      support for the Servlet specification using the header recommended in the
+      specification.  The default value is <code>false</code>.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+  HTTP supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>acceptCount</code></td><td valign="center" align="left">
+      <p>The maximum queue length for incoming connection requests when
+      all possible request processing threads are in use.  Any requests
+      received when the queue is full will be refused.  The default
+      value is 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>address</code></td><td valign="center" align="left">
+      <p>For servers with more than one IP address, this attribute
+      specifies which address will be used for listening on the specified
+      port.  By default, this port will be used on all IP addresses
+      associated with the server.</p>
+    </td></tr><tr><td valign="center" align="left"><code>bufferSize</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for input
+      streams created by this connector.  By default, buffers of
+      2048 bytes will be provided.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compressableMimeType</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of MIME types for which HTTP
+      compression may be used.
+      The default value is <code>text/html,text/xml,text/plain</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>compression</code></td><td valign="center" align="left">
+      <p>The <strong>Connector</strong> may use HTTP/1.1 GZIP compression in
+      an attempt to save server bandwidth. The acceptable values for the
+      parameter is "off" (disable compression), "on" (allow compression, which
+      causes text data to be compressed), "force" (forces compression in all
+      cases), or a numerical integer value (which is equivalent to "on", but
+      specifies the minimum amount of data before the output is compressed). If
+      the content-length is not known and compression is set to "on" or more
+      aggressive, the output will also be compressed. If not specified, this
+      attribute is set to "off".</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionLinger</code></td><td valign="center" align="left">
+      <p>The number of milliseconds during which the sockets used by this
+      <strong>Connector</strong> will linger when they are closed.
+      The default value is -1 (socket linger is disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>connectionTimeout</code></td><td valign="center" align="left">
+      <p>The number of milliseconds this <strong>Connector</strong> will wait,
+      after accepting a connection, for the request URI line to be
+      presented.  The default value is 60000 (i.e. 60 seconds).</p>
+    </td></tr><tr><td valign="center" align="left"><code>disableUploadTimeout</code></td><td valign="center" align="left">
+      <p>This flag allows the servlet container to use a different, longer
+      connection timeout while a servlet is being executed, which in the end
+      allows either the servlet a longer amount of time to complete its
+      execution, or a longer timeout during data upload. If not specified,
+      this attribute is set to "true".</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxHttpHeaderSize</code></td><td valign="center" align="left">
+      <p>The maximum size of the request and response HTTP header, specified
+      in bytes.
+      If not specified, this attribute is set to 4096 (4 KB).</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxKeepAliveRequests</code></td><td valign="center" align="left">
+      <p>The maximum number of HTTP requests which can be pipelined until
+      the connection is closed by the server. Setting this attribute to 1 will
+      disable HTTP/1.0 keep-alive, as well as HTTP/1.1 keep-alive and
+      pipelining. Setting this to -1 will allow an unlimited amount of
+      pipelined or keep-alive HTTP requests.
+      If not specified, this attribute is set to 100.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxSpareThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of unused request processing threads that
+      will be allowed to exist until the thread pool starts stopping the
+      unnecessary threads.  The default value is 50.</p>
+    </td></tr><tr><td valign="center" align="left"><code>maxThreads</code></td><td valign="center" align="left">
+      <p>The maximum number of request processing threads to be created
+      by this <strong>Connector</strong>, which therefore determines the
+      maximum number of simultaneous requests that can be handled.  If
+      not specified, this attribute is set to 200.</p>
+    </td></tr><tr><td valign="center" align="left"><code>minSpareThreads</code></td><td valign="center" align="left">
+      <p>The number of request processing threads that will be created
+      when this <strong>Connector</strong> is first started.  The connector
+      will also make sure it has the specified number of idle processing
+      threads available. This attribute should be set to a value smaller
+      than that set for <code>maxThreads</code>.  The default value is 4.</p>
+    </td></tr><tr><td valign="center" align="left"><code>noCompressionUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which compression should not be used,
+      because these clients, although they do advertise support for the
+      feature, have a broken implementation.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP port number on which this <strong>Connector</strong>
+      will create a server socket and await incoming connections.  Your
+      operating system will allow only one server application to listen
+      to a particular port number on a particular IP address.</p>
+    </td></tr><tr><td valign="center" align="left"><code>restrictedUserAgents</code></td><td valign="center" align="left">
+      <p>The value is a comma separated list of regular expressions matching
+      user-agents of HTTP clients for which HTTP/1.1 or HTTP/1.0 keep alive
+      should not be used, even if the clients advertise support for these
+      features.
+      The default value is an empty String (regexp matching disabled).</p>
+    </td></tr><tr><td valign="center" align="left"><code>server</code></td><td valign="center" align="left">
+      <p>The Server header for the http response.
+         Unless your paranoid, you won't need this feature.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>socketBuffer</code></td><td valign="center" align="left">
+      <p>The size (in bytes) of the buffer to be provided for socket
+      output buffering. -1 can be specified to disable the use of a buffer.
+      By default, a buffers of 9000 bytes will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>strategy</code></td><td valign="center" align="left">
+      <p>The thread pooling strategy which will be used. The default strategy does 
+      not use a master thread, but a more conventional strategy using a 
+      master listener thread can be used by setting "ms" as this attribute's value. 
+      The master strategy will work significantly better using the threadPriority 
+      attribute, which will apply only to the thread which listens on the server socket.
+      This is set to <code>lf</code> by default.
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>tcpNoDelay</code></td><td valign="center" align="left">
+      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
+      set on the server socket, which improves performance under most
+      circumstances.  This is set to <code>true</code> by default.</p>
+    </td></tr><tr><td valign="center" align="left"><code>threadPriority</code></td><td valign="center" align="left">
+      <p>The priority of the request processing threads within the JVM.
+      The default value is <code>java.lang.Thread#NORM_PRIORITY</code>.
+      See the JavaDoc for the java.lang.Thread class for more details on
+      what this priority means.
+      </p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>None at this time.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP/1.1 and HTTP/1.0 Support"><strong>HTTP/1.1 and HTTP/1.0 Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>This <strong>Connector</strong> supports all of the required features
+  of the HTTP/1.1 protocol, as described in RFC 2616, including persistent
+  connections, pipelining, expectations and chunked encoding.  If the client
+  (typically a browser) supports only HTTP/1.0, the
+  <strong>Connector</strong> will gracefully fall back to supporting this
+  protocol as well.  No special configuration is required to enable this
+  support. The <strong>Connector</strong> also supports HTTP/1.0
+  keep-alive.</p>
+
+  <p>RFC 2616 requires that HTTP servers always begin their responses with
+  the highest HTTP version that they claim to support.  Therefore, this
+  <strong>Connector</strong> will always return <code>HTTP/1.1</code> at
+  the beginning of its responses.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Proxy Support"><strong>Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <code>proxyName</code> and <code>proxyPort</code> attributes can
+  be used when Tomcat is run behind a proxy server.  These attributes
+  modify the values returned to web applications that call the
+  <code>request.getServerName()</code> and <code>request.getServerPort()</code>
+  methods, which are often used to construct absolute URLs for redirects.
+  Without configuring these attributes, the values returned would reflect
+  the server name and port on which the connection from the proxy server
+  was received, rather than the server name and port to whom the client
+  directed the original request.</p>
+
+  <p>For more information, see the
+  <a href="../../proxy-howto.html">Proxy Support HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL Support"><strong>SSL Support</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>You can enable SSL support for a particular instance of this
+  <strong>Connector</strong> by setting the <code>secure</code> attribute to
+  <code>true</code>.  In addition, you may need to configure the following
+  attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+      <p>The certificate encoding algorithm to be used. This defaults to the Sun
+      implementation (<code>SunX509</code>). For IBM JVMs you should use the
+      value <code>IbmX509</code>. For other vendors, consult the JVM
+      documentation for the correct value.</p>
+    </td></tr><tr><td valign="center" align="left"><code>clientAuth</code></td><td valign="center" align="left">
+      <p>Set to <code>true</code> if you want the SSL stack to require a
+      valid certificate chain from the client before accepting a connection.
+      Set to <code>want</code> if you want the SSL stack to request a client
+      Certificate, but not fail if one isn't presented. A <code>false</code>
+      value (which is the default) will not require a certificate chain
+      unless the client requests a resource protected by a security
+      constraint that uses <code>CLIENT-CERT</code> authentication. See the
+      <a href="../../ssl-howto.html">SSL HowTo</a> for an example.  That SSL HowTo
+      also contains tips on using per-user or per-session certificate-based clientAuth.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreFile</code></td><td valign="center" align="left">
+      <p>The pathname of the keystore file where you have stored the
+      server certificate to be loaded.  By default, the pathname is
+      the file "<code>.keystore</code>" in the operating system home
+      directory of the user that is running Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keystorePass</code></td><td valign="center" align="left">
+      <p>The password used to access the server certificate from the
+      specified keystore file.  The default value is "<code>changeit</code>".
+      </p>
+    </td></tr><tr><td valign="center" align="left"><code>keystoreType</code></td><td valign="center" align="left">
+      <p>The type of keystore file to be used for the server certificate.
+      If not specified, the default value is "<code>JKS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>sslProtocol</code></td><td valign="center" align="left">
+      <p>The version of the SSL protocol to use.  If not specified,
+      the default is "<code>TLS</code>".</p>
+    </td></tr><tr><td valign="center" align="left"><code>ciphers</code></td><td valign="center" align="left">
+      <p>A comma seperated list of the encryption ciphers that may be used.
+      If not specified, then any available cipher may be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>keyAlias</code></td><td valign="center" align="left">
+      <p>The alias used to for the server certificate in the keystore. If not
+      specified the first key read in the keystore will be used.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreFile</code></td><td valign="center" align="left">
+      <p>The TrustStore file to use to validate client certificates.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststorePass</code></td><td valign="center" align="left">
+      <p>The password to access the TrustStore. This defaults to the value
+      of <code>keystorePass</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><code>truststoreType</code></td><td valign="center" align="left">
+      <p>Add this element if your are using a different format for the
+      TrustStore then you are using for the KeyStore.</p>
+    </td></tr></table>
+
+  <p>For more information, see the
+  <a href="../../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - Overview</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>Overview</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This manual contains reference information about all of the configuration
+directives that can be included in a <code>conf/server.xml</code> file to
+configure the behavior of the Tomcat 5 Servlet/JSP container.  It does not
+attempt to describe which configuration directives should be used to perform
+specific tasks - for that, see the various <em>HOW-TO</em> documents on the
+main index page.</p>
+
+<p>The configuration element descriptions are organized into the following
+major categories:</p>
+<ul>
+<li><strong>Top Level Elements</strong> - <code>&lt;Server&gt;</code> is the
+    root element of the entire configuration file, while
+    <code>&lt;Service&gt;</code> represents a group of Connectors that is
+    associated with an Engine.</li>
+<li><strong>Connectors</strong> - Represent the interface between external
+    clients sending requests to (and receiving responses from) a particular
+    Service.</li>
+<li><strong>Containers</strong> - Represent components whose function is to
+    process incoming requests, and create the corresponding responses.
+    An Engine handles all requests for a Service, a Host handles all requests
+    for a particular virtual host, and a Context handles all requests for a
+    specific web application.</li>
+<li><strong>Nested Components</strong> - Represent elements that can be
+    nested inside the element for a Container.  Some elements can be nested
+    inside any Container, while others can only be nested inside a
+    Context.</li>
+</ul>
+
+<p>For each element, the corresponding documentation follows this general
+outline:</p>
+<ul>
+<li><strong>Introduction</strong> - Overall description of this particular
+    component.  There will be a corresponding Java <em>interface</em> (in
+    the <code>org.apache.catalina</code> pacakge) that is implemented by one
+    or more standard implementations.</li>
+<li><strong>Attributes</strong> - The set of attributes that are legal for
+    this element.  Generally, this will be subdivided into <em>Common</em>
+    attributes that are supported by all implementations of the corresponding
+    Java interface, and <em>Standard Implementation</em> attributes that are
+    specific to a particular Java class that implements this interface.
+    The names of required attributes are <strong>bolded</strong>.</li>
+<li><strong>Nested Components</strong> - Enumerates which of the <em>Nested
+    Components</em> can be legally nested within this element.</li>
+<li><strong>Special Features</strong> - Describes the configuration of a large
+    variety of special features (specific to each element type) that are
+    supported by the standard implementation of this interface.</li>
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/loader.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/loader.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/loader.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Loader Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Loader Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Loader</strong> element represents the <em>web
+  application class loader</em> that will be used to load Java
+  classes and resources for your web application.  Such
+  a class loader must follow the requirements of the Servlet
+  Specification, and load classes from the following locations:</p>
+  <ul>
+  <li>From the <code>/WEB-INF/classes</code> directory inside your
+      web application.</li>
+  <li>From JAR files in the <code>/WEB-INF/lib</code> directory
+      inside your web application.</li>
+  <li>From resources made available by Catalina to all web
+      applications globally.</li>
+  </ul>
+
+  <p>A Loader element MAY be nested inside a <a href="context.html">Context</a>
+  component.  If it is not included, a default Loader configuration will be
+  created automatically, which is sufficient for most requirements.</p>
+
+  <p>For a more in-depth description of the class loader hierarchy
+  that is implemented by Catalina, see <a href="../../class-loader-howto.html">the ClassLoader HowTo</a>.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Loader</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Loader</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>delegate</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want the class loader to follow
+        the standard Java2 delegation model, and attempt to load classes from
+        parent class loaders <strong>before</strong> looking inside the web
+        application.  Set to <code>false</code> (the default) to have the
+        class loader look inside the web application first, before asking
+        parent class loaders to find requested classes or resources.</p>
+      </td></tr><tr><td valign="center" align="left"><code>reloadable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want Catalina to monitor classes in
+        <code>/WEB-INF/classes/</code> and <code>/WEB-INF/lib</code> for
+        changes, and automatically reload the web application if a change
+        is detected.  This feature is very useful during application
+        development, but it requires significant runtime overhead and is
+        not recommended for use on deployed production applications.  You
+        can use the <a href="../../manager-howto.html">Manager</a> web
+        application, however, to trigger reloads of deployed applications
+        on demand.</p>
+
+        <p><strong>NOTE</strong> - The value for this property will be
+        inherited from the <code>reloadable</code> attribute you set on
+        the surrounding <a href="context.html">Context</a> component,
+        and any value you explicitly set here will be replaced.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Loader</strong> is
+    <strong>org.apache.catalina.loader.WebappLoader</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>loaderClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.lang.ClassLoader</code>
+        implementation class to use.  If not specified, the default value is
+        <code>org.apache.catalina.loader.WebappClassLoader</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useSystemClassLoaderAsParent</code></td><td valign="center" align="left">
+        <p>If no parent classloader is specified, should the system
+        classloader be used? The default of <code>true</code> mantains
+        backwards compatibility with previous releases however most
+        users will want to set this to <code>false</code> to obtain
+        the parent classloader from the associated container.</p>
+        <p>This attribute will not be present in Tomcat 6 where the
+        Loader API has changed and the parent class loader is always
+        obtained from the associated container.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Loader</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Logging"><strong>Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>A loader is associated with the log category based on its classname.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/manager.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/manager.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/manager.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,351 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Manager Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Manager Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Manager</strong> element represents the <em>session
+  manager</em> that will be used to create and maintain HTTP sessions
+  as requested by the associated web application.</p>
+
+  <p>A Manager element MAY be nested inside a
+  <a href="context.html">Context</a> component.  If it is not included,
+  a default Manager configuration will be created automatically, which
+  is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Manager</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>distributable</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to ask the session manager to enforce
+        the restrictions described in the Servlet Specification on
+        distributable applications (primarily, this would mean that all
+        session attributes must implement <code>java.io.Serializable</code>).
+        Set to <code>false</code> (the default) to not enforce these
+        restrictions.</p>
+
+        <p><strong>NOTE</strong> - The value for this property is inherited
+        automatically based on the presence or absence of the
+        <code>&lt;distributable&gt;</code> element in the web application
+        deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat provides two standard implementations of <strong>Manager</strong>
+    for use - the default one stores active sessions, while the optional one
+    stores active sessions that have been swapped out (in addition to saving
+    sessions across a restart of Tomcat) in a storage location that is selected
+    via the use of an appropriate <strong>Store</strong> nested element.</p>
+
+    <h3>Standard Manager Implementation</h3>
+
+    <p>The standard implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.StandardManager</strong>.
+    It supports the following additional attributes (in addition to the
+    common attributes listed above):</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code> method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to the work directory for this Context)
+        pathname of the file in which session state will be preserved
+        across application restarts, if possible.  The default is
+        "SESSIONS.ser".  See <a href="#Restart Persistence">Restart
+        Persistence</a> for more information. Restart persistence may be 
+        disabled by setting this attribute to an empty string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>processExpiresFrequency</code></td><td valign="center" align="left">
+        <p>Frequency of the session expiration, and related manager operations.
+        Manager operations will be done once for the specified amount of
+        backgrondProcess calls (ie, the lower the amount, the more often the
+        checks will occur). The minimum value is 1, and the default value is 6.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+       <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <h3>Persistent Manager Implementation</h3>
+
+    <p><em><strong>WARNING - Use of this Manager implementation
+    has not been thoroughly tested, and should be considered experimental!
+    </strong></em></p>
+
+    <p>The persistent implementation of <strong>Manager</strong> is
+    <strong>org.apache.catalina.session.PersistentManager</strong>.  In
+    addition to the usual operations of creating and deleting sessions, a
+    <code>PersistentManager</code> has the capability to swap active (but
+    idle) sessions out to a persistent storage mechanism, as well as to save
+    all sessions across a normal restart of Tomcat.  The actual persistent
+    storage mechanism used is selected by your choice of a
+    <strong>Store</strong> element nested inside the <strong>Manager</strong>
+    element - this is required for use of <code>PersistentManager</code>.</p>
+
+    <p>This implementation of Manager supports the following attributes in
+    addition to the <a href="#Common Attributes">Common Attributes</a>
+    described earlier.</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>algorithm</code></td><td valign="center" align="left">
+        <p>Name of the <em>Message Digest</em> algorithm used to calculate
+        session identifiers produced by this Manager.  This value must
+        be supported by the <code>java.security.MessageDigest</code> class.
+        If not specified, the default value is "MD5".</p>
+      </td></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Manager</code> interface.
+        You <strong>must</strong> specify
+        <code>org.apache.catalina.session.PersistentManager</code> to use
+        this manager implementation.</p>
+      </td></tr><tr><td valign="center" align="left"><code>entropy</code></td><td valign="center" align="left">
+        <p>A String value that is utilized when seeding the random number
+        generator used to create session identifiers for this Manager.
+        If not specified, a semi-useful value is calculated, but a long
+        String value should be specified in security-conscious
+        environments.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxActiveSessions</code></td><td valign="center" align="left">
+        <p>The maximum number of active sessions that will be created by
+        this Manager, or -1 (the default) for no limit.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleBackup</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it is eligible for being persisted to the session store, or
+        <code>-1</code> to disable this feature.  By default, this feature is
+        disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it should be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> to disable
+        this feature.  If this feature is enabled, the time interval specified
+        here should be equal to or longer than the value specified for
+        <code>maxIdleBackup</code>.  By default, this feature is disabled.</p>
+      </td></tr><tr><td valign="center" align="left"><code>minIdleSwap</code></td><td valign="center" align="left">
+        <p>The time interval (in seconds) since the last access to a session
+        before it will be eligible to be persisted to the session store, and
+        passivated out of the server's memory, or <code>-1</code> for this
+        swapping to be available at any time.  If specified, this value should
+        be less than that specified by <code>maxIdleSwap</code>.  By default,
+        this value is set to <code>-1</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>maxInactiveInterval</code></td><td valign="center" align="left">
+        <p>The initial maximum time interval, in seconds, 
+        between client requests before a session is invalidated. A negative value
+        will result in sessions never timing out. If the attribute is not provided,
+        a default of 60 seconds is used.</p>
+        
+        <p>This attribute provides the initial value whenever a 
+        new session is created, but the interval may be dynamically 
+        varied by a servlet via the 
+        <code>setMaxInactiveInterval</code>method of the <code>HttpSession</code> object.</p>
+      </td></tr><tr><td valign="center" align="left"><code>randomClass</code></td><td valign="center" align="left">
+        <p>Java class name of the <code>java.util.Random</code>
+        implementation class to use.  If not specified, the default value is
+        <code>java.security.SecureRandom</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>saveOnRestart</code></td><td valign="center" align="left">
+        <p>Should all sessions be persisted and reloaded when Tomcat is shut
+        down and restarted (or when this application is reloaded)?  By default,
+        this attribute is set to <code>true</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>sessionIdLength</code></td><td valign="center" align="left">
+        <p>The length of session ids created by this Manager, excluding any
+        JVM route information used for load balancing. 
+        The default is 16.</p>
+      </td></tr></table>
+
+    <p>In order to successfully use a PersistentManager, you must nest inside
+    it a <strong>&lt;Store&gt;</strong> element, as described below.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Standard Manager Implementation</h3>
+
+  <p>If you are using the <em>Standard Manager Implementation</em>
+  as described above, no elements may be nested inside your
+  <strong>&lt;Manager&gt;</strong> element.</p>
+
+  <h3>Persistent Manager Implementation</h3>
+
+  <p>If you are using the <em>Persistent Manager Implementation</em>
+  as described above, you <strong>MUST</strong> nest a
+  <strong>&lt;Store&gt;</strong> element inside, which defines the
+  characteristics of the persistent data storage.  Two implementations
+  of the <code>&lt;Store&gt;</code> element are currently available,
+  with different characteristics, as described belowl</p>
+
+  <h5>File Based Store</h5>
+
+  <p>The <em>File Based Store</em> implementation saves swapped out
+  sessions in individual files (named based on the session identifier)
+  in a configurable directory.  Therefore, you are likely to encounter
+  scalability problems as the number of active sessions increases, and
+  this should primarily be considered a means to easily experiment.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.FileStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+      <p>Absolute or relative (to the temporary work directory for this web
+      application) pathname of the directory into which individual session
+      files are written.  If not specified, the temporary work directory
+      assigned by the container is utilized.</p>
+    </td></tr></table>
+
+
+  <h5>JDBC Based Store</h5>
+
+  <p>The <em>JDBC Based Store</em> implementation saves swapped out
+  sessions in individual rows of a preconfigured table in a database
+  that is accessed via a JDBC driver.  With large numbers of swapped out
+  sessions, this implementation will exhibit improved performance over
+  the File Based Store described above.</p>
+
+  <p>To configure this, add a <code>&lt;Store&gt;</code> nested inside
+  your <code>&lt;Manager&gt;</code> element with the following attributes:
+  </p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>checkInterval</code></td><td valign="center" align="left">
+      <p>The interval (in seconds) between checks for expired sessions
+      among those sessions that are currently swapped out.  By default,
+      this interval is set to 60 seconds (one minute).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Store</code> interface.  You
+      <strong>must</strong> specify
+      <code>org.apache.catalina.session.JDBCStore</code>
+      to use this implementation.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+      <p>The connection URL that will be handed to the configured JDBC
+      driver to establish a connection to the database containing our
+      session table.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+      <p>Java class name of the JDBC driver to be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionAppCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified session
+      table, that contains the Engine, Host, and Web Application Context
+      name in the format <code>/Engine/Host/Context</code>.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionDataCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the serialized form of all session
+      attributes for a swapped out session.  The column type must accept
+      a binary object (typically called a BLOB).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionIdCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the session identifier of the
+      swapped out session.  The column type must accept character
+      string data of at least as many characters as are contained
+      in session identifiers created by Tomcat (typically 32).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionLastAccessedCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>lastAccessedTime</code>
+      property of this session.  The column type must accept a
+      Java <code>long</code> (64 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionMaxInactiveCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains the <code>maxInactiveInterval</code>
+      property of this session.  The column type must accept a
+      Java <code>integer</code> (32 bits).</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionTable</code></strong></td><td valign="center" align="left">
+      <p>Name of the database table to be used for storing swapped out
+      sessions.  This table must contain (at least) the database columns
+      that are configured by the other attributes of this element.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>sessionValidCol</code></strong></td><td valign="center" align="left">
+      <p>Name of the database column, contained in the specified
+      session table, that contains a flag indicating whether this
+      swapped out session is still valid or not.  The column type
+      must accept a single character.</p>
+    </td></tr></table>
+
+  <p>Before attempting to use the JDBC Based Store for the first time,
+  you must create the table that will be used to store swapped out sessions.
+  Detailed SQL commands vary depending on the database you are using, but
+  a script like this will generally be required:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table tomcat_sessions (
+  session_id     varchar(100) not null primary key,
+  valid_session  char(1) not null,
+  max_inactive   int not null,
+  last_access    bigint not null,
+  app_name       varchar(255),
+  session_data   mediumblob,
+  KEY kapp_name(app_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table></div>
+
+  <p>In order for the JDBC Based Store to successfully connect to your
+  database, the JDBC driver you configure must be visible to Tomcat's
+  internal class loader.  Generally, that means you must place the JAR
+  file containing this driver into the <code>$CATALINA_HOME/server/lib</code>
+  directory (if your applications do not also need it) or into the
+  <code>$CATALINA_HOME/common/lib</code> directory (if you wish to share
+  this driver with your web applications.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Restart Persistence"><strong>Restart Persistence</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Whenver Catalina is shut down normally and restarted, or when an
+    application reload is triggered, the standard Manager implementation
+    will attempt to serialize all currently active sessions to a disk
+    file located via the <code>pathname</code> attribute.  All such saved
+    sessions will then be deserialized and activated (assuming they have
+    not expired in the mean time) when the application reload is completed.</p>
+
+    <p>In order to successfully restore the state of session attributes,
+    all such attributes MUST implement the <code>java.io.Serializable</code>
+    interface.  You MAY cause the Manager to enforce this restriction by
+    including the <code>&lt;distributable&gt;</code> element in your web
+    application deployment descriptor (<code>/WEB-INF/web.xml</code>).</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,450 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Realm Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Realm Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Realm</strong> element represents a "database" of usernames,
+  passwords, and <em>roles</em> (similar to Unix <em>groups</em>) assigned
+  to those users.  Different implementations of Realm allow Catalina to be
+  integrated into environments where such authentication information is already
+  being created and maintained, and then utilize that information to implement
+  <em>Container Managed Security</em> as described in the Servlet
+  Specification.</p>
+
+  <p>You may nest a Realm inside any Catalina container
+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+  <a href="context.html">Context</a>).  In addition, Realms associated with
+  an Engine or a Host are automatically inherited by lower-level
+  containers, unless explicitly overridden.</p>
+
+  <p>For more in-depth information about container managed security in web
+  applications, as well as more information on configuring and using the 
+  standard realm component implementations, please see the 
+  <a href="../../realm-howto.html">Container-Managed Security Guide</a>.
+  </p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Realm</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Realm</code> interface.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm used to store passwords in non-plaintext
+        formats. Valid values are those accepted for the algorithm name by the
+        <code>java.security.MessageDigest</code> class.  See
+        <a href="../../realm-howto.html#Digested Passwords">Digested Passwords</a>
+        for more information. If not specified, passwords are stored in clear
+        text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digestEncoding</code></td><td valign="center" align="left">
+        <p>The charset for encoding digests.  If not specified, the platform
+        default will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Unlike most Catalina components, there are several standard
+    <strong>Realm</strong> implementations available.  As a result,
+    the <code>className</code> attribute MUST be used to select the
+    implementation you wish to use.</p>
+
+    <h3>JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)</h3>
+
+    <p>The <strong>JDBC Database Realm</strong> connects Catalina to
+    a relational database, accessed through an appropriate JDBC driver,
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>A rich set of additional attributes lets you configure the required
+    connection to the underlying database, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+        <p>The database username to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+        <p>The database password to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JDBC driver when
+        establishing a database connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the JDBC driver to be used to
+        connect to the authentication database. Consult the documentation for
+        your JDBC driver for the appropriate value.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JDBC Database Realm component.</p>
+
+
+    <h3>
+      DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm)
+    </h3>
+
+    <p>The <strong>DataSource Database Realm</strong> connects Catalina to
+    a relational database, accessed through a JNDI named JDBC DataSource
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>The JDBC Realm uses a single db connection. This requires that
+    realm based authentication be synchronized, i.e. only one authentication
+    can be done at a time. This could be a bottleneck for applications
+    with high volumes of realm based authentications.</p>
+
+    <p>The DataSource Database Realm supports simultaneous realm based
+    authentications and allows the underlying JDBC DataSource to
+    handle optimizations like database connection pooling.</p>
+
+    <p>A rich set of additional attributes lets you configure the name
+    of the JNDI JDBC DataSource, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+        <p>The JNDI named JDBC DataSource for your database. If the DataSource
+        is local to the context, the name is relative to
+        <code>java:/comp/env</code>, and otherwise the name should match the
+        name used to define the global DataSource.</p>
+      </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+  
+      <p>When the realm is nested inside a Context element, this allows the 
+ 
+       realm to use a DataSource defined for the Context rather than a global
+
+        DataSource.  If not specified, the default is <code>false</code>: use a 
+
+        global DataSource.</p>
+
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html#DataSourceRealm">
+    DataSource Realm HOW-TO</a> for more information on setting up container
+    managed security using the DataSource Database Realm component.</p>
+
+
+    <h3>JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)</h3>
+
+
+    <p>The <strong>JNDI Directory Realm</strong> connects Catalina to
+    an LDAP Directory, accessed through an appropriate JNDI driver,
+    that stores usernames, passwords, and their associated
+    roles. Changes to the directory are immediately reflected in the
+    information used to authenticate new logins.</p>
+
+
+    <p>The directory realm supports a variety of approaches to using
+    LDAP for authentication:</p>
+
+    <ul>
+    <li>The realm can either use a pattern to determine the
+    distinguished name (DN) of the user's directory entry, or search
+    the directory to locate that entry.
+    </li>
+
+    <li>The realm can authenticate the user either by binding to the
+    directory with the DN of the user's entry and the password
+    presented by the user, or by retrieving the password from the
+    user's entry and performing a comparison locally.
+    </li>
+
+    <li>Roles may be represented in the directory as explicit entries
+    found by a directory search (e.g. group entries of which the user
+    is a member), as the values of an attribute in the user's entry,
+    or both.
+    </li>
+    </ul>
+
+    <p> A rich set of additional attributes lets you configure the
+    required behaviour as well as the connection to the underlying
+    directory and the element and attribute names used to retrieve
+    information from the directory:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+         <p>If a socket connection can not be made to the provider at
+         the <code>connectionURL</code> an attempt will be made to use the
+         <code>alternateURL</code>.</p>
+       </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+         <p>A string specifying the type of authentication to use.
+         "none", "simple", "strong" or a provider specific definition
+         can be used. If no value is given the providers default is used.</p>
+       </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the factory class used
+        to acquire our JNDI <code>InitialContext</code>.  By default,
+        assumes that the standard JNDI LDAP provider will be utilized
+        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
+      </td></tr><tr><td valign="center" align="left"><code>derefAliases</code></td><td valign="center" align="left">
+        <p>A string specifying how aliases are to be dereferenced during
+        search operations. The allowed values are "always", "never",
+        "finding" and "searching". If not specified, "always" is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified the top-level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role searches,
+        following the syntax supported by the
+        <code>java.text.MessageFormat</code> class.  Use <code>{0}</code> to
+        substitute the distinguished name (DN) of the user, and/or
+        <code>{1}</code> to substitute the username. If not specified a role
+        search does not take place and roles are taken only from the attribute
+        in the user's entry specified by the <code>userRoleName</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression. If not specified, the top level
+        element in the directory context will be used. Not used if you are using
+        the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the user's
+        password. If you specify this value, JNDIRealm will bind to the
+        directory using the values specified by <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified by the
+        user being authenticated. If the <code>digest</code> attribute is set,
+        the specified digest algorithm is applied to the password offered by the
+        user before comparing it with the value retrieved from the directory. If
+        you do <strong>not</strong> specify this value, JNDIRealm will attempt a
+        simple bind to the directory using the DN of the user's entry and the
+        password presented by the user, with a successful bind being interpreted
+        as an authenticated user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>Pattern for the distinguished name (DN) of the user's directory
+        entry, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class. with <code>{0}</code>
+        marking where the actual username should be inserted. You can use this
+        property instead of <code>userSearch</code>, <code>userSubtree</code>
+        and <code>userBase</code> when the distinguished name contains
+        the username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JNDI Directory Realm component.</p>
+
+
+    <h3>Memory Based Realm (org.apache.catalina.realm.MemoryRealm)</h3>
+
+    <p>The <strong>Memory Based Realm</strong> is a simple Realm implementation
+    that reads user information from an XML format, and represents it as a
+    collection of Java objects in memory.  This implementation is intended
+    solely to get up and running with container managed security - it is NOT
+    intended for production use.  As such, there are no mechanisms for
+    updating the in-memory collection of users when the content of the
+    underlying data file is changed.</p>
+
+    <p>The Memory Based Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to $CATALINA_HOME) pathname to the XML file
+        containing our user information.  See below for details on the
+        XML element format required.  If no pathname is specified, the
+        default value is <code>conf/tomcat-users.xml</code>.</p>
+      </td></tr></table>
+
+    <p>The XML document referenced by the <code>pathname</code> attribute must
+    conform to the following requirements:</p>
+    <ul>
+    <li>The root (outer) element must be <code>&lt;tomcat-users&gt;</code>.
+        </li>
+    <li>Each authorized user must be represented by a single XML element
+        <code>&lt;user&gt;</code>, nested inside the root element.</li>
+    <li>Each <code>&lt;user&gt;</code> element must have the following
+        attributes:
+        <ul>
+        <li><strong>name</strong> - Username of this user (must be unique
+            within this file).</li>
+        <li><strong>password</strong> - Password of this user (in
+            clear text).</li>
+        <li><strong>roles</strong> - Comma-delimited list of the role names
+            assigned to this user.</li>
+        </ul></li>
+    </ul>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    Memory Based Realm component.</p>
+
+
+    <h3>User Database Realm (org.apache.catalina.realm.UserDatabaseRealm)</h3>
+
+    <p>The <strong>User Database Realm</strong> is Realm implementation
+    that is based on an implementation of the <code>UserDatabase</code>
+    interface that is made available through the global JNDI resources
+    configured for this Tomcat instance.</p>
+
+    <p>The User Database Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>resourceName</code></strong></td><td valign="center" align="left">
+        <p>The global JNDI name of the <code>UserDatabase</code> resource
+        used by this Realm.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    UserDatabase Realm component.</p>
+
+    <h3>JAAS Realm (org.apache.catalina.realm.JAASRealm)</h3>
+
+    <p>The JAAS Realm implementation supports the following additional
+    attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+        <p>The name of the application as configured in your login configuration
+        file (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">
+        JAAS LoginConfig</a>).</p>
+     </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your user <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your role <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+        <p>Instructs JAASRealm to use the context class loader for loading the
+        user-specified <code>LoginModule</code> class and associated
+        <code>Principal</code> classes. The default value is <code>true</code>,
+        which is backwards-compatible with the way Tomcat 4 works. To load
+        classes using the container's classloader, specify <code>false</code>.
+        </p>
+      </td></tr></table>
+
+    <p>See the <a href="../../realm-howto.html">Container-Managed Security
+    Guide</a> for more information on setting up container managed security
+    using the JASS Realm component.</p>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Realm</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>See <a href="host.html">Single Sign On</a> for information about
+  configuring Single Sign On support for a virtual host.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/resources.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/resources.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/resources.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Resources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Resources Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Resources</strong> element represents the <em>web
+  application static resources</em>, from which classes will be loaded, 
+  HTML, JSP and the other static files will be served. This allows the webapp
+  to reside on various mediums other than the filesystem, like compressed
+  in a WAR file, in a JDBC database, or in a more advanced versioning
+  repository.</p>
+
+  <p>A unified caching engine is provided for all accesses to the webapp
+  resources made by the servlet container and web applications which use the
+  container provided mechanisms to access such resources, such as class laoder
+  access, access through the <code>ServletContext</code> interface, or native
+  access through the <code>DirectoryContext</code> interface.</p>
+
+  <p><strong>Note: Running a webapp with non-filesystem based 
+  Resources implementations is only possible when the webapp does not 
+  rely on direct filesystem access to its own resources, and uses the methods
+  in the ServletContext interface to access them.</strong></p>
+
+  <p>A Resources element MAY be nested inside a 
+  <a href="context.html">Context</a> component.  If it is not included, 
+  a default filesystem based Resources will be created automatically, 
+  which is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Resources</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>javax.naming.directory.DirContext</code> interface.
+        It is recommended for optimal functionality and performance, 
+        but not mandatory, that the class extend 
+        <code>org.apache.naming.resources.BaseDirContext</code>, as well as
+        use the special object types provided in the 
+        <code>org.apache.naming.resources</code> for returned objects.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Resources</strong> is
+    <strong>org.apache.naming.resources.FileDirContext</strong>, and 
+    is configured by its parent Context element.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Resources</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No special features are associated with a <strong>Resources</strong>
+  element.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/server.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/server.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/server.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Server Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Server Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Server</strong> element represents the entire Catalina
+  servlet container.  Therefore, it must be the single outermost element
+  in the <code>conf/server.xml</code> configuration file.  Its attributes
+  represent the characteristics of the servlet container as a whole.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Server</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Server</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP/IP port number on which this server waits for a shutdown
+      command.  This connection must be initiated from the same server
+      computer that is running this instance of Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>shutdown</code></strong></td><td valign="center" align="left">
+      <p>The command string that must be received via a TCP/IP connection
+      to the specified port number, in order to shut down Tomcat.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Server</strong> is
+  <strong>org.apache.catalina.core.StandardServer</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The following components may be nested inside a <strong>Server</strong>
+  element:</p>
+  <ul>
+  <li><a href="service.html"><strong>Service</strong></a> - 
+      One or more service element.</li>
+  <li><a href="globalresources.html"><strong>GlobalNamingResources</strong></a> - 
+      Configure the JNDI global resources for the server.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Server</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/service.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/service.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/service.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Service Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Service Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Service</strong> element represents the combination of one or
+  more <strong>Connector</strong> components that share a single
+  <a href="engine.html">Engine</a> component for processing incoming
+  requests.  One or more <strong>Service</strong> elements may be nested
+  inside a <a href="server.html">Server</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Service</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Service</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The display name of this <strong>Service</strong>, which will
+      be included in log messages if you utilize standard Catalina
+      components.  The name of each <strong>Service</strong> that is
+      associated with a particular <a href="server.html">Server</a>
+      must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Service</strong> is
+  <strong>org.apache.catalina.core.StandardService</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The only components that may be nested inside a <strong>Service</strong>
+  element are one or more <strong>Connector</strong> elements,
+  followed by exactly one <a href="engine.html">Engine</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Service</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/valve.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/valve.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/printer/valve.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,346 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Valve Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Valve Component</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="../../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Valve</strong> element represents a component that will be
+  inserted into the request processing pipeline for the associated
+  Catalina container (<a href="engine.html">Engine</a>,
+  <a href="host.html">Host</a>, or <a href="context.html">Context</a>).
+  Individual Valves have distinct processing capabilities, and are
+  described individually below.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Log Valve"><strong>Access Log Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> creates log files in the same
+    format as those created by standard web servers.  These logs can later
+    be analyzed by standard log analysis tools to track page hit counts,
+    user session activity, and so on.  The files produces by this <code>Valve</code>
+    are rolled over nightly at midnight.  This <code>Valve</code>
+    may be associated with any Catalina container (<code>Context</code>,
+    <code>Host</code>, or <code>Engine</code>), and
+    will record ALL requests processed by that container.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the
+        default access log valve. To use a more optimized access log valve
+        designed for production use, you MUST set this attribute to 
+        <strong>org.apache.catalina.valves.FastCommonAccessLogValve</strong>.
+        In this case, only the <code>common</code> and <code>combined</code>
+        patterns are supported.</p>
+      </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+        <p>Absolute or relative pathname of a directory in which log files
+        created by this valve will be placed.  If a relative path is
+        specified, it is interpreted as relative to $CATALINA_HOME.  If
+        no directory attribute is specified, the default value is "logs"
+        (relative to $CATALINA_HOME).</p>
+      </td></tr><tr><td valign="center" align="left"><code>pattern</code></td><td valign="center" align="left">
+        <p>A formatting layout identifying the various information fields
+        from the request and response to be logged, or the word
+        <code>common</code> or <code>combined</code> to select a
+        standard format.  See below for more information on configuring
+        this attribute. Note that the optimized access does only support
+        <code>common</code> and <code>combined</code> as the value for this
+        attribute.</p>
+      </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+        <p>The prefix added to the start of each log file's name.  If not
+        specified, the default value is "access_log.".  To specify no prefix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>resolveHosts</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to convert the IP address of the remote
+        host into the corresponding host name via a DNS lookup.  Set to
+        <code>false</code> to skip this lookup, and report the remote IP
+        address instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+        <p>The suffix added to the end of each log file's name.  If not
+        specified, the default value is "".  To specify no suffix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>rotatable</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if log rotation should occur.
+           If set to false, then this file is never rotated and
+           <tt>fileDateFormat</tt> is ignored. Use with caution!
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>condition</code></td><td valign="center" align="left">
+        <p>Turns on conditional logging. If set, requests will be
+           logged only if <tt>ServletRequest.getAttribute()</tt> is
+           null. For example, if this value is set to
+           <tt>junk</tt>, then a particular request will only be logged
+           if <tt>ServletRequest.getAttribute("junk") == null</tt>.
+           The use of Filters is an easy way to set/unset the attribute
+           in the ServletRequest on many different requests.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>fileDateFormat</code></td><td valign="center" align="left">
+        <p>Allows a customized date format in the access log file name.
+           The date format also decides how often the file is rotated.
+           If you wish to rotate every hour, then set this value
+           to: <tt>yyyy-MM-dd.HH</tt>
+        </p>
+      </td></tr></table>
+
+    <p>Values for the <code>pattern</code> attribute are made up of literal
+    text strings, combined with pattern identifiers prefixed by the "%"
+    character to cause replacement by the corresponding variable value from
+    the current request and response.  The following pattern codes are
+    supported:</p>
+    <ul>
+    <li><b>%a</b> - Remote IP address</li>
+    <li><b>%A</b> - Local IP address</li>
+    <li><b>%b</b> - Bytes sent, excluding HTTP headers, or '-' if zero</li>
+    <li><b>%B</b> - Bytes sent, excluding HTTP headers</li>
+    <li><b>%h</b> - Remote host name (or IP address if
+        <code>resolveHosts</code> is false)</li>
+    <li><b>%H</b> - Request protocol</li>
+    <li><b>%l</b> - Remote logical username from identd (always returns
+        '-')</li>
+    <li><b>%m</b> - Request method (GET, POST, etc.)</li>
+    <li><b>%p</b> - Local port on which this request was received</li>
+    <li><b>%q</b> - Query string (prepended with a '?' if it exists)</li>
+    <li><b>%r</b> - First line of the request (method and request URI)</li>
+    <li><b>%s</b> - HTTP status code of the response</li>
+    <li><b>%S</b> - User session ID</li>
+    <li><b>%t</b> - Date and time, in Common Log Format</li>
+    <li><b>%u</b> - Remote user that was authenticated (if any), else '-'</li>
+    <li><b>%U</b> - Requested URL path</li>
+    <li><b>%v</b> - Local server name</li>
+    <li><b>%D</b> - Time taken to process the request, in millis</li>
+    <li><b>%T</b> - Time taken to process the request, in seconds</li>
+    </ul>
+
+    <p>
+    There is also support to write information from the cookie, incoming
+    header, the Session or something else in the ServletRequest.
+    It is modeled after the apache syntax:
+    <ul>
+    <li><b><code>%{xxx}i</code></b> for incoming headers</li>
+    <li><b><code>%{xxx}c</code></b> for a specific cookie</li>
+    <li><b><code>%{xxx}r</code></b> xxx is an attribute in the ServletRequest</li>
+    <li><b><code>%{xxx}s</code></b> xxx is an attribute in the HttpSession</li>
+    </ul>
+    </p>
+
+
+    <p>The shorthand pattern name <code>common</code> (which is also the
+    default) corresponds to <strong>%h %l %u %t "%r" %s %b"</strong>.</p>
+
+    <p>The shorthand pattern name <code>combined</code> appends the
+    values of the <code>Referer</code> and <code>User-Agent</code> headers,
+    each in double quotes, to the <code>common</code> pattern
+    described in the previous paragraph.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Address Filter"><strong>Remote Address Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> allows you to compare the
+    IP address of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Address
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the
+    <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a> library.
+    Please consult the Regexp documentation for details of the expressions
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteAddrValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote address matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Host Filter"><strong>Remote Host Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> allows you to compare the
+    hostname of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Host
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the
+    <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a> library.
+    Please consult the Regexp documentation for details of the expressions
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteHostValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote hostname matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Dumper Valve"><strong>Request Dumper Valve</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>The <em>Request Dumper Valve</em> is a useful tool in debugging
+    interactions with a client application (or browser) that is sending
+    HTTP requests to your Tomcat-based server.  When configured, it causes
+    details about each request processed by its associated <code>Engine</code>, 
+    <code>Host</code>, or <code>Context</code> to be logged according to 
+    the logging configuration for that container.</p>
+
+    <p><strong>WARNING: Using this valve has side-effects.</strong>  The
+    output from this valve includes any parameters included with the request.
+    The parameters will be decoded using the default platform encoding. Any
+    subsequent calls to <code>request.setCharacterEncoding()</code> within
+    the web application will have no effect.</p>
+
+    <p>Note: this Valve is now depracated in favor of the RequestDumperFilter,
+    which does the same thing in a portable manner. This Filter is included in 
+    the examples application: see 
+    $CATALINA_HOME/webapps/examples/WEB-INF/classes/filters for the source.</p>
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Request Dumper Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RequestDumperValve</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On Valve"><strong>Single Sign On Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Single Sign On Vale</em> is utilized when you wish to give users
+    the ability to sign on to any one of the web applications associated with
+    your virtual host, and then have their identity recognized by all other
+    web applications on the same virtual host.</p>
+
+    <p>See the <a href="host.html#Single Sign On">Single Sign On</a> special
+    feature on the <strong>Host</strong> element for more information.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Single Sign On</strong> Valve supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.SingleSignOn</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>requireReauthentication</code></td><td valign="center" align="left">
+        <p>Default false. Flag to determine whether each request needs to be 
+        reauthenticated to the security <strong>Realm</strong>. If "true", this
+        Valve uses cached security credentials (username and password) to
+        reauthenticate to the <strong>Realm</strong> each request associated 
+        with an SSO session.  If "false", the Valve can itself authenticate 
+        requests based on the presence of a valid SSO cookie, without 
+        rechecking with the <strong>Realm</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Form Authenticator Valve"><strong>Form Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> is automatically added to
+    any <a href="context.html">Context</a> that is configured to use FORM
+    authentication.</p>
+
+    <p>If any non-default settings are required, the valve may be configured
+    within <a href="context.html">Context</a> element with the required
+    values.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.FormAuthenticator</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>characterEncoding</code></td><td valign="center" align="left">
+        <p>Character encoding to use to read the username and password parameters
+        from the request. If not set, the encoding of the request body will be
+        used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/realm.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/realm.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/realm.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,451 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Realm Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Realm Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/realm.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Realm</strong> element represents a "database" of usernames,
+  passwords, and <em>roles</em> (similar to Unix <em>groups</em>) assigned
+  to those users.  Different implementations of Realm allow Catalina to be
+  integrated into environments where such authentication information is already
+  being created and maintained, and then utilize that information to implement
+  <em>Container Managed Security</em> as described in the Servlet
+  Specification.</p>
+
+  <p>You may nest a Realm inside any Catalina container
+  <a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+  <a href="context.html">Context</a>).  In addition, Realms associated with
+  an Engine or a Host are automatically inherited by lower-level
+  containers, unless explicitly overridden.</p>
+
+  <p>For more in-depth information about container managed security in web
+  applications, as well as more information on configuring and using the 
+  standard realm component implementations, please see the 
+  <a href="../realm-howto.html">Container-Managed Security Guide</a>.
+  </p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Realm</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>org.apache.catalina.Realm</code> interface.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digest</code></td><td valign="center" align="left">
+        <p>The digest algorithm used to store passwords in non-plaintext
+        formats. Valid values are those accepted for the algorithm name by the
+        <code>java.security.MessageDigest</code> class.  See
+        <a href="../realm-howto.html#Digested Passwords">Digested Passwords</a>
+        for more information. If not specified, passwords are stored in clear
+        text.</p>
+      </td></tr><tr><td valign="center" align="left"><code>digestEncoding</code></td><td valign="center" align="left">
+        <p>The charset for encoding digests.  If not specified, the platform
+        default will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Unlike most Catalina components, there are several standard
+    <strong>Realm</strong> implementations available.  As a result,
+    the <code>className</code> attribute MUST be used to select the
+    implementation you wish to use.</p>
+
+    <h3>JDBC Database Realm (org.apache.catalina.realm.JDBCRealm)</h3>
+
+    <p>The <strong>JDBC Database Realm</strong> connects Catalina to
+    a relational database, accessed through an appropriate JDBC driver,
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>A rich set of additional attributes lets you configure the required
+    connection to the underlying database, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>connectionName</code></strong></td><td valign="center" align="left">
+        <p>The database username to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionPassword</code></strong></td><td valign="center" align="left">
+        <p>The database password to use when establishing the JDBC
+        connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JDBC driver when
+        establishing a database connection.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>driverName</code></strong></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the JDBC driver to be used to
+        connect to the authentication database. Consult the documentation for
+        your JDBC driver for the appropriate value.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JDBC Database Realm component.</p>
+
+
+    <h3>
+      DataSource Database Realm (org.apache.catalina.realm.DataSourceRealm)
+    </h3>
+
+    <p>The <strong>DataSource Database Realm</strong> connects Catalina to
+    a relational database, accessed through a JNDI named JDBC DataSource
+    to perform lookups of usernames, passwords, and their associated
+    roles.  Because the lookup is done each time that it is required,
+    changes to the database will be immediately reflected in the
+    information used to authenticate new logins.</p>
+
+    <p>The JDBC Realm uses a single db connection. This requires that
+    realm based authentication be synchronized, i.e. only one authentication
+    can be done at a time. This could be a bottleneck for applications
+    with high volumes of realm based authentications.</p>
+
+    <p>The DataSource Database Realm supports simultaneous realm based
+    authentications and allows the underlying JDBC DataSource to
+    handle optimizations like database connection pooling.</p>
+
+    <p>A rich set of additional attributes lets you configure the name
+    of the JNDI JDBC DataSource, as well as the table and
+    column names used to retrieve the required information:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>dataSourceName</code></strong></td><td valign="center" align="left">
+        <p>The JNDI named JDBC DataSource for your database. If the DataSource
+        is local to the context, the name is relative to
+        <code>java:/comp/env</code>, and otherwise the name should match the
+        name used to define the global DataSource.</p>
+      </td></tr><tr><td valign="center" align="left"><code>localDataSource</code></td><td valign="center" align="left">
+  
+      <p>When the realm is nested inside a Context element, this allows the 
+ 
+       realm to use a DataSource defined for the Context rather than a global
+
+        DataSource.  If not specified, the default is <code>false</code>: use a 
+
+        global DataSource.</p>
+
+      </td></tr><tr><td valign="center" align="left"><strong><code>roleNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "user roles" table, which contains
+        a role name assigned to the corresponding user.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userCredCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" table, which contains the user's
+        credentials (i.e. password).  If a value for the <code>digest</code>
+        attribute is specified, this component will assume that the passwords
+        have been encoded with the specified algorithm.  Otherwise, they will be
+        assumed to be in clear text.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userNameCol</code></strong></td><td valign="center" align="left">
+        <p>Name of the column, in the "users" and "user roles" table,
+        that contains the user's username.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userRoleTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each <em>role</em>
+        assigned to a particular <em>username</em>.  This table must include at
+        least the columns named by the <code>userNameCol</code> and
+        <code>roleNameCol</code> attributes.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>userTable</code></strong></td><td valign="center" align="left">
+        <p>The name of the table that contains one row for each
+        <em>username</em> to be recognized by Tomcat.  This table must include
+        at least the columns named by the <code>userNameCol</code> and
+        <code>userCredCol</code> attributes.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html#DataSourceRealm">
+    DataSource Realm HOW-TO</a> for more information on setting up container
+    managed security using the DataSource Database Realm component.</p>
+
+
+    <h3>JNDI Directory Realm (org.apache.catalina.realm.JNDIRealm)</h3>
+
+
+    <p>The <strong>JNDI Directory Realm</strong> connects Catalina to
+    an LDAP Directory, accessed through an appropriate JNDI driver,
+    that stores usernames, passwords, and their associated
+    roles. Changes to the directory are immediately reflected in the
+    information used to authenticate new logins.</p>
+
+
+    <p>The directory realm supports a variety of approaches to using
+    LDAP for authentication:</p>
+
+    <ul>
+    <li>The realm can either use a pattern to determine the
+    distinguished name (DN) of the user's directory entry, or search
+    the directory to locate that entry.
+    </li>
+
+    <li>The realm can authenticate the user either by binding to the
+    directory with the DN of the user's entry and the password
+    presented by the user, or by retrieving the password from the
+    user's entry and performing a comparison locally.
+    </li>
+
+    <li>Roles may be represented in the directory as explicit entries
+    found by a directory search (e.g. group entries of which the user
+    is a member), as the values of an attribute in the user's entry,
+    or both.
+    </li>
+    </ul>
+
+    <p> A rich set of additional attributes lets you configure the
+    required behaviour as well as the connection to the underlying
+    directory and the element and attribute names used to retrieve
+    information from the directory:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>alternateURL</code></td><td valign="center" align="left">
+         <p>If a socket connection can not be made to the provider at
+         the <code>connectionURL</code> an attempt will be made to use the
+         <code>alternateURL</code>.</p>
+       </td></tr><tr><td valign="center" align="left"><code>authentication</code></td><td valign="center" align="left">
+         <p>A string specifying the type of authentication to use.
+         "none", "simple", "strong" or a provider specific definition
+         can be used. If no value is given the providers default is used.</p>
+       </td></tr><tr><td valign="center" align="left"><code>connectionName</code></td><td valign="center" align="left">
+        <p>The directory username to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>connectionPassword</code></td><td valign="center" align="left">
+        <p>The directory password to use when establishing a
+        connection to the directory for LDAP search operations. If not
+        specified an anonymous connection is made, which is often
+        sufficient unless you specify the <code>userPassword</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><strong><code>connectionURL</code></strong></td><td valign="center" align="left">
+        <p>The connection URL to be passed to the JNDI driver when
+        establishing a connection to the directory.</p>
+      </td></tr><tr><td valign="center" align="left"><code>contextFactory</code></td><td valign="center" align="left">
+        <p>Fully qualified Java class name of the factory class used
+        to acquire our JNDI <code>InitialContext</code>.  By default,
+        assumes that the standard JNDI LDAP provider will be utilized
+        (<code>com.sun.jndi.ldap.LdapCtxFactory</code>).</p>
+      </td></tr><tr><td valign="center" align="left"><code>derefAliases</code></td><td valign="center" align="left">
+        <p>A string specifying how aliases are to be dereferenced during
+        search operations. The allowed values are "always", "never",
+        "finding" and "searching". If not specified, "always" is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>protocol</code></td><td valign="center" align="left">
+         <p>A string specifying the security protocol to use. If not given
+         the providers default is used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleBase</code></td><td valign="center" align="left">
+        <p>The base directory entry for performing role searches. If
+        not specified the top-level element in the directory context
+        will be used.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleName</code></td><td valign="center" align="left">
+        <p>The name of the attribute that contains role names in the
+        directory entries found by a role search. In addition you can
+        use the <code>userRoleName</code> property to specify the name
+        of an attribute, in the user's entry, containing additional
+        role names.  If <code>roleName</code> is not specified a role
+        search does not take place, and roles are taken only from the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression used for performing role searches,
+        following the syntax supported by the
+        <code>java.text.MessageFormat</code> class.  Use <code>{0}</code> to
+        substitute the distinguished name (DN) of the user, and/or
+        <code>{1}</code> to substitute the username. If not specified a role
+        search does not take place and roles are taken only from the attribute
+        in the user's entry specified by the <code>userRoleName</code>
+        property.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>roleBase</code>
+        property for role entries associated with the user. The
+        default value of <code>false</code> causes only the top level
+        to be searched.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userBase</code></td><td valign="center" align="left">
+        <p>The base element for user searches performed using the
+        <code>userSearch</code> expression. If not specified, the top level
+        element in the directory context will be used. Not used if you are using
+        the <code>userPattern</code> expression.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPassword</code></td><td valign="center" align="left">
+        <p>Name of the attribute in the user's entry containing the user's
+        password. If you specify this value, JNDIRealm will bind to the
+        directory using the values specified by <code>connectionName</code> and
+        <code>connectionPassword</code> properties, and retrieve the
+        corresponding attribute for comparison to the value specified by the
+        user being authenticated. If the <code>digest</code> attribute is set,
+        the specified digest algorithm is applied to the password offered by the
+        user before comparing it with the value retrieved from the directory. If
+        you do <strong>not</strong> specify this value, JNDIRealm will attempt a
+        simple bind to the directory using the DN of the user's entry and the
+        password presented by the user, with a successful bind being interpreted
+        as an authenticated user.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userPattern</code></td><td valign="center" align="left">
+        <p>Pattern for the distinguished name (DN) of the user's directory
+        entry, following the syntax supported by the
+        <code>java.text.MessageFormat</code> class. with <code>{0}</code>
+        marking where the actual username should be inserted. You can use this
+        property instead of <code>userSearch</code>, <code>userSubtree</code>
+        and <code>userBase</code> when the distinguished name contains
+        the username and is otherwise the same for all users.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userRoleName</code></td><td valign="center" align="left">
+        <p>The name of an attribute in the user's directory entry
+        containing zero or more values for the names of roles assigned
+        to this user.  In addition you can use the
+        <code>roleName</code> property to specify the name of an
+        attribute to be retrieved from individual role entries found
+        by searching the directory. If <code>userRoleName</code> is
+        not specified all the roles for a user derive from the role
+        search.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSearch</code></td><td valign="center" align="left">
+        <p>The LDAP filter expression to use when searching for a
+        user's directory entry, with <code>{0}</code> marking where
+        the actual username should be inserted.  Use this property
+        (along with the <code>userBase</code> and
+        <code>userSubtree</code> properties) instead of
+        <code>userPattern</code> to search the directory for the
+        user's entry.</p>
+      </td></tr><tr><td valign="center" align="left"><code>userSubtree</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> if you want to search the entire
+        subtree of the element specified by the <code>userBase</code>
+        property for the user's entry. The default value of
+        <code>false</code> causes only the top level to be searched.
+        Not used if you are using the <code>userPattern</code>
+        expression.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    JNDI Directory Realm component.</p>
+
+
+    <h3>Memory Based Realm (org.apache.catalina.realm.MemoryRealm)</h3>
+
+    <p>The <strong>Memory Based Realm</strong> is a simple Realm implementation
+    that reads user information from an XML format, and represents it as a
+    collection of Java objects in memory.  This implementation is intended
+    solely to get up and running with container managed security - it is NOT
+    intended for production use.  As such, there are no mechanisms for
+    updating the in-memory collection of users when the content of the
+    underlying data file is changed.</p>
+
+    <p>The Memory Based Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>pathname</code></td><td valign="center" align="left">
+        <p>Absolute or relative (to $CATALINA_HOME) pathname to the XML file
+        containing our user information.  See below for details on the
+        XML element format required.  If no pathname is specified, the
+        default value is <code>conf/tomcat-users.xml</code>.</p>
+      </td></tr></table>
+
+    <p>The XML document referenced by the <code>pathname</code> attribute must
+    conform to the following requirements:</p>
+    <ul>
+    <li>The root (outer) element must be <code>&lt;tomcat-users&gt;</code>.
+        </li>
+    <li>Each authorized user must be represented by a single XML element
+        <code>&lt;user&gt;</code>, nested inside the root element.</li>
+    <li>Each <code>&lt;user&gt;</code> element must have the following
+        attributes:
+        <ul>
+        <li><strong>name</strong> - Username of this user (must be unique
+            within this file).</li>
+        <li><strong>password</strong> - Password of this user (in
+            clear text).</li>
+        <li><strong>roles</strong> - Comma-delimited list of the role names
+            assigned to this user.</li>
+        </ul></li>
+    </ul>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    Memory Based Realm component.</p>
+
+
+    <h3>User Database Realm (org.apache.catalina.realm.UserDatabaseRealm)</h3>
+
+    <p>The <strong>User Database Realm</strong> is Realm implementation
+    that is based on an implementation of the <code>UserDatabase</code>
+    interface that is made available through the global JNDI resources
+    configured for this Tomcat instance.</p>
+
+    <p>The User Database Realm implementation supports the following
+    additional attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>resourceName</code></strong></td><td valign="center" align="left">
+        <p>The global JNDI name of the <code>UserDatabase</code> resource
+        used by this Realm.</p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security Guide</a> for more
+    information on setting up container managed security using the
+    UserDatabase Realm component.</p>
+
+    <h3>JAAS Realm (org.apache.catalina.realm.JAASRealm)</h3>
+
+    <p>The JAAS Realm implementation supports the following additional
+    attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>appName</code></strong></td><td valign="center" align="left">
+        <p>The name of the application as configured in your login configuration
+        file (<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">
+        JAAS LoginConfig</a>).</p>
+     </td></tr><tr><td valign="center" align="left"><strong><code>userClassNames</code></strong></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your user <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>roleClassNames</code></td><td valign="center" align="left">
+        <p>A comma-seperated list of the names of the classes that you have made 
+        for your role <code>Principals</code>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>useContextClassLoader</code></td><td valign="center" align="left">
+        <p>Instructs JAASRealm to use the context class loader for loading the
+        user-specified <code>LoginModule</code> class and associated
+        <code>Principal</code> classes. The default value is <code>true</code>,
+        which is backwards-compatible with the way Tomcat 4 works. To load
+        classes using the container's classloader, specify <code>false</code>.
+        </p>
+      </td></tr></table>
+
+    <p>See the <a href="../realm-howto.html">Container-Managed Security
+    Guide</a> for more information on setting up container managed security
+    using the JASS Realm component.</p>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Realm</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>See <a href="host.html">Single Sign On</a> for information about
+  configuring Single Sign On support for a virtual host.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/resources.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/resources.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/resources.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Resources Component</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Resources Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/resources.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The <strong>Resources</strong> element represents the <em>web
+  application static resources</em>, from which classes will be loaded, 
+  HTML, JSP and the other static files will be served. This allows the webapp
+  to reside on various mediums other than the filesystem, like compressed
+  in a WAR file, in a JDBC database, or in a more advanced versioning
+  repository.</p>
+
+  <p>A unified caching engine is provided for all accesses to the webapp
+  resources made by the servlet container and web applications which use the
+  container provided mechanisms to access such resources, such as class laoder
+  access, access through the <code>ServletContext</code> interface, or native
+  access through the <code>DirectoryContext</code> interface.</p>
+
+  <p><strong>Note: Running a webapp with non-filesystem based 
+  Resources implementations is only possible when the webapp does not 
+  rely on direct filesystem access to its own resources, and uses the methods
+  in the ServletContext interface to access them.</strong></p>
+
+  <p>A Resources element MAY be nested inside a 
+  <a href="context.html">Context</a> component.  If it is not included, 
+  a default filesystem based Resources will be created automatically, 
+  which is sufficient for most requirements.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>All implementations of <strong>Resources</strong>
+    support the following attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This class must
+        implement the <code>javax.naming.directory.DirContext</code> interface.
+        It is recommended for optimal functionality and performance, 
+        but not mandatory, that the class extend 
+        <code>org.apache.naming.resources.BaseDirContext</code>, as well as
+        use the special object types provided in the 
+        <code>org.apache.naming.resources</code> for returned objects.
+        If not specified, the standard value (defined below) will be used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The standard implementation of <strong>Resources</strong> is
+    <strong>org.apache.naming.resources.FileDirContext</strong>, and 
+    is configured by its parent Context element.</p>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No components may be nested inside a <strong>Resources</strong> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>No special features are associated with a <strong>Resources</strong>
+  element.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/server.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/server.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/server.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Server Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Server Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/server.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Server</strong> element represents the entire Catalina
+  servlet container.  Therefore, it must be the single outermost element
+  in the <code>conf/server.xml</code> configuration file.  Its attributes
+  represent the characteristics of the servlet container as a whole.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Server</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Server</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>port</code></strong></td><td valign="center" align="left">
+      <p>The TCP/IP port number on which this server waits for a shutdown
+      command.  This connection must be initiated from the same server
+      computer that is running this instance of Tomcat.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>shutdown</code></strong></td><td valign="center" align="left">
+      <p>The command string that must be received via a TCP/IP connection
+      to the specified port number, in order to shut down Tomcat.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Server</strong> is
+  <strong>org.apache.catalina.core.StandardServer</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The following components may be nested inside a <strong>Server</strong>
+  element:</p>
+  <ul>
+  <li><a href="service.html"><strong>Service</strong></a> - 
+      One or more service element.</li>
+  <li><a href="globalresources.html"><strong>GlobalNamingResources</strong></a> - 
+      Configure the JNDI global resources for the server.</li>
+  </ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Server</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/service.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/service.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/service.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Service Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Service Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/service.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Service</strong> element represents the combination of one or
+  more <strong>Connector</strong> components that share a single
+  <a href="engine.html">Engine</a> component for processing incoming
+  requests.  One or more <strong>Service</strong> elements may be nested
+  inside a <a href="server.html">Server</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Attributes"><strong>Common Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>All implementations of <strong>Service</strong>
+  support the following attributes:</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>className</code></td><td valign="center" align="left">
+      <p>Java class name of the implementation to use.  This class must
+      implement the <code>org.apache.catalina.Service</code> interface.
+      If no class name is specified, the standard implementation will
+      be used.</p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>name</code></strong></td><td valign="center" align="left">
+      <p>The display name of this <strong>Service</strong>, which will
+      be included in log messages if you utilize standard Catalina
+      components.  The name of each <strong>Service</strong> that is
+      associated with a particular <a href="server.html">Server</a>
+      must be unique.</p>
+    </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Implementation"><strong>Standard Implementation</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The standard implementation of <strong>Service</strong> is
+  <strong>org.apache.catalina.core.StandardService</strong>.
+  It supports the following additional attributes (in addition to the
+  common attributes listed above):</p>
+
+  <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Nested Components"><strong>Nested Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The only components that may be nested inside a <strong>Service</strong>
+  element are one or more <strong>Connector</strong> elements,
+  followed by exactly one <a href="engine.html">Engine</a> element.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Special Features"><strong>Special Features</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>There are no special features associated with a <strong>Service</strong>.
+  </p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/valve.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/valve.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/config/valve.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,347 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Apache Tomcat Configuration Reference - The Valve Component</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+    The Apache Tomcat Servlet/JSP Container
+  " align="right" src="../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="../index.html">Docs Home</a></li><li><a href="index.html">Config Ref. Home</a></li></ul><p><strong>Top Level Elements</strong></p><ul><li><a href="server.html">Server</a></li><li><a href="service.html">Service</a></li></ul><p><strong>Connectors</strong></p><ul><li><a href="http.html">HTTP</a></li><li><a href="ajp.html">AJP</a></li></ul><p><strong>Containers</strong></p><ul><li><a href="context.html">Context</a></li><li><a href="engine.html">Engine</a></li><li><a href="host.html">Host</a></li></ul><p><strong>Nested Components</strong></p><ul><li><a href="globalresources.html">Global Resources</a></li><li><a href="loader.html">Loader</a></li><li><a href="manager.html">Manager</a></li><li><a href="realm.html">Realm</a></li><li><a href="resources.html">Resources</a></li><li><a href="valve.html">Valve</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>Apache Tomcat Configuration Reference</h1><h2>The Valve Component</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/valve.html"><img alt="Printer Friendly Version" border="0" src="../images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>A <strong>Valve</strong> element represents a component that will be
+  inserted into the request processing pipeline for the associated
+  Catalina container (<a href="engine.html">Engine</a>,
+  <a href="host.html">Host</a>, or <a href="context.html">Context</a>).
+  Individual Valves have distinct processing capabilities, and are
+  described individually below.</p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Access Log Valve"><strong>Access Log Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> creates log files in the same
+    format as those created by standard web servers.  These logs can later
+    be analyzed by standard log analysis tools to track page hit counts,
+    user session activity, and so on.  The files produces by this <code>Valve</code>
+    are rolled over nightly at midnight.  This <code>Valve</code>
+    may be associated with any Catalina container (<code>Context</code>,
+    <code>Host</code>, or <code>Engine</code>), and
+    will record ALL requests processed by that container.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Access Log Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.AccessLogValve</strong> to use the
+        default access log valve. To use a more optimized access log valve
+        designed for production use, you MUST set this attribute to 
+        <strong>org.apache.catalina.valves.FastCommonAccessLogValve</strong>.
+        In this case, only the <code>common</code> and <code>combined</code>
+        patterns are supported.</p>
+      </td></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+        <p>Absolute or relative pathname of a directory in which log files
+        created by this valve will be placed.  If a relative path is
+        specified, it is interpreted as relative to $CATALINA_HOME.  If
+        no directory attribute is specified, the default value is "logs"
+        (relative to $CATALINA_HOME).</p>
+      </td></tr><tr><td valign="center" align="left"><code>pattern</code></td><td valign="center" align="left">
+        <p>A formatting layout identifying the various information fields
+        from the request and response to be logged, or the word
+        <code>common</code> or <code>combined</code> to select a
+        standard format.  See below for more information on configuring
+        this attribute. Note that the optimized access does only support
+        <code>common</code> and <code>combined</code> as the value for this
+        attribute.</p>
+      </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+        <p>The prefix added to the start of each log file's name.  If not
+        specified, the default value is "access_log.".  To specify no prefix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>resolveHosts</code></td><td valign="center" align="left">
+        <p>Set to <code>true</code> to convert the IP address of the remote
+        host into the corresponding host name via a DNS lookup.  Set to
+        <code>false</code> to skip this lookup, and report the remote IP
+        address instead.</p>
+      </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+        <p>The suffix added to the end of each log file's name.  If not
+        specified, the default value is "".  To specify no suffix,
+        use a zero-length string.</p>
+      </td></tr><tr><td valign="center" align="left"><code>rotatable</code></td><td valign="center" align="left">
+        <p>Deafult true. Flag to determine if log rotation should occur.
+           If set to false, then this file is never rotated and
+           <tt>fileDateFormat</tt> is ignored. Use with caution!
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>condition</code></td><td valign="center" align="left">
+        <p>Turns on conditional logging. If set, requests will be
+           logged only if <tt>ServletRequest.getAttribute()</tt> is
+           null. For example, if this value is set to
+           <tt>junk</tt>, then a particular request will only be logged
+           if <tt>ServletRequest.getAttribute("junk") == null</tt>.
+           The use of Filters is an easy way to set/unset the attribute
+           in the ServletRequest on many different requests.
+        </p>
+      </td></tr><tr><td valign="center" align="left"><code>fileDateFormat</code></td><td valign="center" align="left">
+        <p>Allows a customized date format in the access log file name.
+           The date format also decides how often the file is rotated.
+           If you wish to rotate every hour, then set this value
+           to: <tt>yyyy-MM-dd.HH</tt>
+        </p>
+      </td></tr></table>
+
+    <p>Values for the <code>pattern</code> attribute are made up of literal
+    text strings, combined with pattern identifiers prefixed by the "%"
+    character to cause replacement by the corresponding variable value from
+    the current request and response.  The following pattern codes are
+    supported:</p>
+    <ul>
+    <li><b>%a</b> - Remote IP address</li>
+    <li><b>%A</b> - Local IP address</li>
+    <li><b>%b</b> - Bytes sent, excluding HTTP headers, or '-' if zero</li>
+    <li><b>%B</b> - Bytes sent, excluding HTTP headers</li>
+    <li><b>%h</b> - Remote host name (or IP address if
+        <code>resolveHosts</code> is false)</li>
+    <li><b>%H</b> - Request protocol</li>
+    <li><b>%l</b> - Remote logical username from identd (always returns
+        '-')</li>
+    <li><b>%m</b> - Request method (GET, POST, etc.)</li>
+    <li><b>%p</b> - Local port on which this request was received</li>
+    <li><b>%q</b> - Query string (prepended with a '?' if it exists)</li>
+    <li><b>%r</b> - First line of the request (method and request URI)</li>
+    <li><b>%s</b> - HTTP status code of the response</li>
+    <li><b>%S</b> - User session ID</li>
+    <li><b>%t</b> - Date and time, in Common Log Format</li>
+    <li><b>%u</b> - Remote user that was authenticated (if any), else '-'</li>
+    <li><b>%U</b> - Requested URL path</li>
+    <li><b>%v</b> - Local server name</li>
+    <li><b>%D</b> - Time taken to process the request, in millis</li>
+    <li><b>%T</b> - Time taken to process the request, in seconds</li>
+    </ul>
+
+    <p>
+    There is also support to write information from the cookie, incoming
+    header, the Session or something else in the ServletRequest.
+    It is modeled after the apache syntax:
+    <ul>
+    <li><b><code>%{xxx}i</code></b> for incoming headers</li>
+    <li><b><code>%{xxx}c</code></b> for a specific cookie</li>
+    <li><b><code>%{xxx}r</code></b> xxx is an attribute in the ServletRequest</li>
+    <li><b><code>%{xxx}s</code></b> xxx is an attribute in the HttpSession</li>
+    </ul>
+    </p>
+
+
+    <p>The shorthand pattern name <code>common</code> (which is also the
+    default) corresponds to <strong>%h %l %u %t "%r" %s %b"</strong>.</p>
+
+    <p>The shorthand pattern name <code>combined</code> appends the
+    values of the <code>Referer</code> and <code>User-Agent</code> headers,
+    each in double quotes, to the <code>common</code> pattern
+    described in the previous paragraph.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Address Filter"><strong>Remote Address Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> allows you to compare the
+    IP address of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Address
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the
+    <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a> library.
+    Please consult the Regexp documentation for details of the expressions
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Address Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteAddrValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote address matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's IP address is compared to.  If this attribute
+        is specified, the remote address MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Remote Host Filter"><strong>Remote Host Filter</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> allows you to compare the
+    hostname of the client that submitted this request against one or more
+    <em>regular expressions</em>, and either allow the request to continue
+    or refuse to process the request from this client.  A Remote Host
+    Filter can be associated with any Catalina container
+    (<a href="engine.html">Engine</a>, <a href="host.html">Host</a>, or
+    <a href="context.html">Context</a>), and must accept any request
+    presented to this container for processing before it will be passed on.</p>
+
+    <p>The syntax for <em>regular expressions</em> is different than that for
+    'standard' wildcard matching. Tomcat uses the
+    <a href="http://jakarta.apache.org/regexp/">Jakarta Regexp</a> library.
+    Please consult the Regexp documentation for details of the expressions
+    supported.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Remote Host Filter</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RemoteHostValve</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>allow</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST match for this request to be
+        accepted.  If this attribute is not specified, all requests will be
+        accepted UNLESS the remote hostname matches a <code>deny</code>
+        pattern.</p>
+      </td></tr><tr><td valign="center" align="left"><code>deny</code></td><td valign="center" align="left">
+        <p>A comma-separated list of <em>regular expression</em> patterns
+        that the remote client's hostname is compared to.  If this attribute
+        is specified, the remote hostname MUST NOT match for this request to be
+        accepted.  If this attribute is not specified, request acceptance is
+        governed solely by the <code>accept</code> attribute.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Request Dumper Valve"><strong>Request Dumper Valve</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>The <em>Request Dumper Valve</em> is a useful tool in debugging
+    interactions with a client application (or browser) that is sending
+    HTTP requests to your Tomcat-based server.  When configured, it causes
+    details about each request processed by its associated <code>Engine</code>, 
+    <code>Host</code>, or <code>Context</code> to be logged according to 
+    the logging configuration for that container.</p>
+
+    <p><strong>WARNING: Using this valve has side-effects.</strong>  The
+    output from this valve includes any parameters included with the request.
+    The parameters will be decoded using the default platform encoding. Any
+    subsequent calls to <code>request.setCharacterEncoding()</code> within
+    the web application will have no effect.</p>
+
+    <p>Note: this Valve is now depracated in favor of the RequestDumperFilter,
+    which does the same thing in a portable manner. This Filter is included in 
+    the examples application: see 
+    $CATALINA_HOME/webapps/examples/WEB-INF/classes/filters for the source.</p>
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Request Dumper Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.valves.RequestDumperValve</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Single Sign On Valve"><strong>Single Sign On Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <em>Single Sign On Vale</em> is utilized when you wish to give users
+    the ability to sign on to any one of the web applications associated with
+    your virtual host, and then have their identity recognized by all other
+    web applications on the same virtual host.</p>
+
+    <p>See the <a href="host.html#Single Sign On">Single Sign On</a> special
+    feature on the <strong>Host</strong> element for more information.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Single Sign On</strong> Valve supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.SingleSignOn</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>requireReauthentication</code></td><td valign="center" align="left">
+        <p>Default false. Flag to determine whether each request needs to be 
+        reauthenticated to the security <strong>Realm</strong>. If "true", this
+        Valve uses cached security credentials (username and password) to
+        reauthenticate to the <strong>Realm</strong> each request associated 
+        with an SSO session.  If "false", the Valve can itself authenticate 
+        requests based on the presence of a valid SSO cookie, without 
+        rechecking with the <strong>Realm</strong>.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Form Authenticator Valve"><strong>Form Authenticator Valve</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> is automatically added to
+    any <a href="context.html">Context</a> that is configured to use FORM
+    authentication.</p>
+
+    <p>If any non-default settings are required, the valve may be configured
+    within <a href="context.html">Context</a> element with the required
+    values.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Attributes"><strong>Attributes</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The <strong>Form Authenticator Valve</strong> supports the following
+    configuration attributes:</p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><strong><code>className</code></strong></td><td valign="center" align="left">
+        <p>Java class name of the implementation to use.  This MUST be set to
+        <strong>org.apache.catalina.authenticator.FormAuthenticator</strong>.</p>
+      </td></tr><tr><td valign="center" align="left"><code>characterEncoding</code></td><td valign="center" align="left">
+        <p>Character encoding to use to read the username and password parameters
+        from the request. If not set, the encoding of the request body will be
+        used.</p>
+      </td></tr></table>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/connectors.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/connectors.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/connectors.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Connectors How To</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Connectors How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/connectors.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Choosing a connector to use with Tomcat can be difficult. This page will
+list the connectors which are supported with this Tomcat release, and will
+hopefully help you make the right choice according to your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The HTTP connector is setup by default with Tomcat, and is ready to use. This
+connector features the lowest latency and best overall performance.</p>
+
+<p>For clustering, a HTTP load balancer <b>with support for web sessions stickiness</b>
+must be installed to direct the traffic to the Tomcat servers. Tomcat supports mod_proxy
+(on Apache HTTP Server 2.x, and included by default in Apache HTTP Server 2.2) as the load balancer. 
+It should be noted that the performance of HTTP proxying is usually lower than the 
+performance of AJP, so AJP clustering is often preferable.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When using a single server, the performance when using a native webserver in 
+front of the Tomcat instance is most of the time significantly worse than a
+standalone Tomcat with its default HTTP connector, even if a large part of the web
+application is made of static files. If integration with the native webserver is 
+needed for any reason, an AJP connector will provide faster performance than 
+proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective. 
+It is otherwise functionally equivalent to HTTP clustering.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/default-servlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/default-servlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/default-servlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,274 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Default Servlet Reference</title><meta value="Tim Funk" name="author"><meta value="funkman at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Default Servlet Reference</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/default-servlet.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+This discusses different ways to manipulate the default servlet. Topics are
+<ul>
+  <li><a href="#what">What is the DefaultServlet?</a></li>
+  <li><a href="#where">Where is it declared?</a></li>
+  <li><a href="#change">What can I change?</a></li>
+  <li><a href="#dir">How do I customize directory listings?</a></li>
+  <li><a href="#secure">How do I secure directory listings?</a></li>
+
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is the DefaultServlet"><strong>What is the DefaultServlet</strong></a></font></td></tr><tr><td><blockquote>
+<a name="what"></a>
+The default servlet is the servlet which serves static resources as well
+as serves the directory listings (if directory listings are enabled).
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where is it declared?"><strong>Where is it declared?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="where"></a>
+It is declared globally in <i>$CATALINA_HOME/conf/web.xml</i>.
+By default here is it's declaration:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;servlet-class&gt;
+          org.apache.catalina.servlets.DefaultServlet
+        &lt;/servlet-class&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;debug&lt;/param-name&gt;
+            &lt;param-value&gt;0&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;listings&lt;/param-name&gt;
+            &lt;param-value&gt;true&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+...
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+So by default, the default servlet is loaded at webapp startup and
+directory listings are enabled and debugging is turned off.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What can I change?"><strong>What can I change?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="change"></a>
+The DefaultServlet allows the following initParamters:
+
+<table border="1">
+  <tr>
+    <th valign="top">debug</th>
+    <td valign="top">
+        Debugging level. It is not very useful unless you are a tomcat
+        developer. As
+        of this writing, useful values are 0, 1, 11, 1000.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">listings</th>
+    <td valign="top">
+        If no welcome file is present, can a directory listing be
+        shown?
+        value may be <b>true</b> or <b>false</b>
+        <br>
+        Welcome files are part of the servlet api.
+        <br>
+        <b>WARNING:</b> Listings of directories containing many entries are
+        expensive. Multiple requests for large directory listings can consume
+        significant proportions of server resources.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readmeFile</th>
+    <td valign="top">
+        If a directory listing is presented, a readme file may also
+        be presented with the listing. This file is inserted as is
+        so it may contain HTML. default value is null
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">globalXsltFile</th>
+    <td valign="top">
+        If you wish to customize your directory listing, you
+        can use an XSL transformation. This value is an absolute
+        file name which be used for all direcotory listings.
+        This can be disabled by per webapp by also declaring the
+        default servlet in your local webapp's web.xml. The format
+        of the xml is shown below.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">localXsltFile</th>
+    <td valign="top">
+        You may also customize your directory listing by directory by
+        configuring <code>localXsltFile</code>. This should be a relative
+        file name in the directory where the listing will take place.
+        This overrides <code>globalXsltFile</code>. If this value
+        is present but a file does not exist, then
+        <code>globalXsltFile</code> will be used. If
+        <code>globalXsltFile</code> does not exist, then the default
+        directory listing will be shown.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">input</th>
+    <td valign="top">
+        Input buffer size (in bytes) when reading
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">output</th>
+    <td valign="top">
+        Output buffer size (in bytes) when writing
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readonly</th>
+    <td valign="top">
+        Is this context "read only", so HTTP commands like PUT and
+        DELETE are rejected?  [true]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">fileEncoding</th>
+    <td valign="top">
+        File encoding to be used when reading static resources.
+        [platform default]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">sendfileSize</th>
+    <td valign="top">
+        If the connector used supports sendfile, this represents the minimal 
+        file size in KB for which sendfile will be used. Use a negative value 
+        to always disable sendfile. [48]
+    </td>
+  </tr>
+
+</table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I customize directory listings?"><strong>How do I customize directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="dir"></a>
+<p>You can override DefaultServlet with you own implementation and use that
+in your web.xml declaration. If you
+can undertand what was just said, we will assume yo can read the code
+to DefaultServlet servlet and make the appropriate adjustments. (If not,
+then that method isn't for you)
+</p>
+<p>
+You can use either  <code>localXsltFile</code> or
+<code>globalXsltFile</code> and DefaultServlet will create
+an xml document and run it through an xsl transformation based
+on the values provided in <code>localXsltFile</code> and
+<code>globalXsltFile</code>. <code>localXsltFile</code> is first
+checked, followed by <code>globalXsltFile</code>, then default
+behaviors takes place.
+</p>
+
+<p>
+Format:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;listing&gt;
+     &lt;entries&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName1
+      &lt;/entry&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName2
+      &lt;/entry&gt;
+      ...
+     &lt;/entries&gt;
+     &lt;readme&gt;&lt;/readme&gt;
+    &lt;/listing&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<ul>
+  <li>size will be missing if <code>type='dir'</code></li>
+  <li>Readme is a CDATA entry</li>
+</ul>
+</p>
+The following is a sample xsl file which mimics the default tomcat behavior:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;?xml version="1.0"?&gt;
+
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0"&gt;
+
+  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
+
+  &lt;xsl:template match="listing"&gt;
+   &lt;html&gt;
+    &lt;head&gt;
+      &lt;title&gt;
+        Sample Directory Listing For
+        &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/title&gt;
+      &lt;style&gt;
+        h1{color : white;background-color : #0086b2;}
+        h3{color : white;background-color : #0086b2;}
+        body{font-family : sans-serif,Arial,Tahoma;
+             color : black;background-color : white;}
+        b{color : white;background-color : #0086b2;}
+        a{color : black;} HR{color : #0086b2;}
+      &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+      &lt;h1&gt;Sample Directory Listing For
+            &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/h1&gt;
+      &lt;hr size="1" /&gt;
+      &lt;table cellspacing="0"
+                  width="100%"
+            cellpadding="5"
+                  align="center"&gt;
+        &lt;tr&gt;
+          &lt;th align="left"&gt;Filename&lt;/th&gt;
+          &lt;th align="center"&gt;Size&lt;/th&gt;
+          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
+        &lt;/tr&gt;
+        &lt;xsl:apply-templates select="entries"/&gt;
+        &lt;/table&gt;
+      &lt;xsl:apply-templates select="readme"/&gt;
+      &lt;hr size="1" /&gt;
+      &lt;h3&gt;Apache Tomcat/5.0&lt;/h3&gt;
+    &lt;/body&gt;
+   &lt;/html&gt;
+  &lt;/xsl:template&gt;
+
+
+  &lt;xsl:template match="entries"&gt;
+    &lt;xsl:apply-templates select="entry"/&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="readme"&gt;
+    &lt;hr size="1" /&gt;
+    &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="entry"&gt;
+    &lt;tr&gt;
+      &lt;td align="left"&gt;
+        &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
+        &lt;a href="{$urlPath}"&gt;
+          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
+        &lt;/a&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/xsl:template&gt;
+
+&lt;/xsl:stylesheet&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I secure directory listings?"><strong>How do I secure directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="secure"></a>
+Use web.xml in each individual webapp. See the security section of the
+Servlet specification.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/deployer-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/deployer-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/deployer-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,302 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Deployment</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Deployment</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/deployer-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    <ul>
+        <li><a href="#Introduction">Introduction</a></li>
+        <li><a href="#Installation">Installation</a></li>
+        <li><a href="#A word on Contexts">A word on Contexts</a></li>
+        <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
+        <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
+        <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+        <li><a href="#Deploying using the Client Deployer Package">Deploying using
+            the Tomcat Client Deployer</a></li>
+    </ul>
+    
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Deployment is the term used for the process of installing a web
+            application (either a 3rd party WAR or your own custom web application) 
+            into the Tomcat server. 
+        </p>
+        <p>
+            Web application deployment may be accomplished in a number of ways
+            within the Tomcat server.
+            <ul>
+                <li>Statically; the web application is setup before Tomcat is started</li>
+                <li>
+                    Dynamically; in conjunction with the Tomcat Manager web application or 
+                    manipulating already deployed web applications
+                </li>
+            </ul>
+        </p>
+        <p>
+            The Tomcat Manager is a tool that allows URL-based web application
+            deployment features. There is also a tool called the Client Deployer,
+            which is a command shell based script that interacts with the Tomcat
+            Manager but provides additional functionality such as compiling and
+            validating web applications as well as packaging web application into
+            web application resource (WAR) files.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            There is no installation required for static deployment of web
+            applications as this is provided out of the box by Tomcat. Nor is any
+            installation required for deployment functions with the Tomcat Manager, 
+            although some configuration is required as detailed in the 
+            Tomcat Manager manual. An installation is however required if you wish
+            to use the Tomcat Client Deployer (TCD). 
+        </p>   
+        <p>
+            The TCD is not packaged with the Tomcat core 
+            distribution, and must therefore be downloaded separately from 
+            the Downloads area. The download is usually labelled 
+            <i>jakarta-tomcat-5.5.x-deployer</i>.
+        </p>
+        <p>
+            TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
+            Your environment should define an ANT_HOME environment value pointing to
+            the root of your Ant installation, and a JAVA_HOME value pointing to
+            your Java installation. Additionally, you should ensure Ant's ant
+            command, and the Java javac compiler command run from the command shell
+            that your operating system provides.
+        </p>
+        <ol>
+            <li>Download the TCD distribution</li>
+            <li>
+                The TCD package need not be extracted into any existing Tomcat
+                installation, it can be extracted to any location.
+            </li>
+            <li>Read Using the <a href="#Deploying using the Client Deployer Package">
+            Tomcat Client Deployer</a></li>
+        </ol>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="A word on Contexts"><strong>A word on Contexts</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            In talking about deployment of web applications, the concept of a
+            <i>Context</i> is required to be understood. A Context is what Tomcat 
+            calls a web application.
+        </p>
+        <p>
+            In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+            is required. A Context Descriptor is simply an XML file that contains
+            Tomcat related configuration for a Context, e.g naming resources or 
+            session manager configuration. In earlier versions of
+            Tomcat the content of a Context Descriptor configuration was often stored within
+            Tomcat's primary configuration file <i>server.xml</i> but this is now
+            discouraged (although it currently still works).
+        </p>
+        <p>        
+            Context Descriptors not only help Tomcat to know how to configure 
+            Contexts but other tools such as the Tomcat Manager and TDC often use 
+            these Context Descriptors to perform their roles properly.
+        </p>
+        <p>
+            The locations for Context Descriptors are;
+            <ol>
+                <li>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml</li>
+                <li>$CATALINA_HOME/webapps/[webappname]/META-INF/context.xml</li>
+            </ol>
+            If a Context Descriptor is not provided for a Context, Tomcat
+            automatically creates one and places it in (1) with a filename of
+            [webappname].xml although if manually created, the filename need not
+            match the web application name as Tomcat is concerned only with the
+            Context configuration contained within the Context Descriptor file(s).
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment on Tomcat startup"><strong>Deployment on Tomcat startup</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            If you are not interested in using the Tomcat Manager, or TCD, 
+            then you'll need to deploy your web applications 
+            statically to Tomcat, followed by a Tomcat startup. The location you
+            deploy web applications to for this type of deployment is called the 
+            <code>appBase</code> which is specified per Host. You either copy a
+            so-called <i>exploded web application</i>, i.e non-compressed, to this
+            location, or a compressed web application resource .WAR file.
+        </p>
+        <p>
+            The web applications present in the location specified by the Host's
+            (default Host is "localhost") <code>appBase</code> attribute (default
+            appBase is "$CATALINA_HOME/webapps") will be deployed on Tomcat startup 
+            only if the Host's <code>deployOnStartup</code> attribute is "true".
+        </p>
+        <p>
+            The following deployment sequence will occur on Tomcat startup in that
+            case:
+        </p>
+        <ol>
+            <li>Any Context Descriptors will be deployed first.</li>
+            <li>
+                Exploded web applications not referenced by any Context
+                Descriptor will then be deployed. If they have an associated 
+                .WAR file in the appBase and it is newer than the exploded web application, 
+                the exploded directory will be removed and the webapp will be 
+                redeployed from the .WAR
+            </li>
+            <li>.WAR files will be deployed</li>
+        </ol>
+        <p>
+            Note again that for each deployed web application, a 
+            Context Descriptor will be created <i>unless one exists already</i>.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying on a running Tomcat server"><strong>Deploying on a running Tomcat server</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            It is possible to deploy web applications to a running Tomcat server.
+        </p>
+        <p>
+            If the Host <code>autoDeploy</code> attribute is "true", the Host will 
+            attempt to deploy and update web applications dynamically, as needed,
+            for example if a new .WAR is dropped into the <code>appBase</code>. 
+            For this to work, the Host needs to have background processing 
+            enabled which is the default configuration.
+        </p>
+        
+        <p>
+            <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+        </p>
+        <ul>
+            <li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
+            <li>
+                Deployment of exploded web applications which are
+                copied into the Host <code>appBase</code>.
+            </li>
+            <li>
+                Re-deployment of a web application which has already been deployed from
+                a .WAR when the new .WAR is provided. In this case the exploded 
+                web application is removed, and the .WAR is expanded again. 
+                Note that the explosion will not occur if the Host is configured 
+                so that .WARs are not exploded with a <code>unpackWARs</code>
+                attribute set to "false", in which case the web application 
+                will be simply redeployed as a compressed archive.
+            </li>
+            <li>
+                Re-deployment of a web application if the /WEB-INF/web.xml file (or any
+                other resource defined as a WatchedResource) is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if the Context Descriptor file from which
+                the web application has been deployed is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if a Context Descriptor file (with a
+                filename corresponding to the Context path of the previously deployed
+                web application) is added to the 
+                <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code>
+                directory.
+            </li>
+            <li>
+                Undeployment of a web application if its document base (docBase)
+                is deleted. Note that on Windows, this assumes that anti-locking 
+                features (see Context configuration) are enabled, otherwise it is not 
+                possible to delete the resources of a running web application.
+            </li>
+        </ul>
+        <p>
+            Note that web application reloading can also be configured in the loader, in which
+            case loaded classes will be tracked for changes.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Tomcat Manager"><strong>Deploying using the Tomcat Manager</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Client Deployer Package"><strong>Deploying using the Client Deployer Package</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Finally, deployment of web application may be achieved using the 
+            Tomcat Client Deployer. This is a package which can be used to 
+            validate, compile, compress to .WAR, and deploy web applications to 
+            production or development Tomcat servers. It should be noted that this feature 
+            uses the Tomcat Manager and as such the target Tomcat server should be
+            running.
+        </p>
+    
+        <p>
+            It is assumed the user will be familar with Apache Ant for using the TCD.
+            Apache Ant is a scripted build tool. The TCD comes pre-packaged with a
+            build script to use. Only a modest understanding of Apache Ant is
+            required (installation as listed earlier in this page, and familiarity
+            with using the operating system command shell and configuring
+            environment variables).
+        </p>
+        
+        <p>
+            The TCD includes Ant tasks, the Jasper page compiler for JSP compilation 
+            before deployment, as well as a task which
+            validates the web application Context Descriptor. The validator task (class
+            <code>org.apache.catalina.ant.ValidatorTask</code>) allows only one parameter:
+            the base path of an exploded web application.
+        </p>
+    
+        <p>
+            The TCD uses an exploded web application as input (see the list of the
+            properties used below). A web application that is programatically 
+            deployed with the deployer may include a Context Desciptor in 
+            <code>/META-INF/context.xml</code>.
+        </p>
+    
+        <p>
+            The TCD includes a ready-to-use Ant script, with the following targets:
+        </p>
+        <ul>
+            <li>
+                <code>compile</code> (default): Compile and validate the web 
+                application. This can be used standalone, and does not need a running
+                Tomcat server. The compiled application will only run on the associated
+                Tomcat 5.5.x server release, and is not guaranteed to work on another
+                Tomcat release, as the code generated by Jasper depends on its runtime
+                component. It should also be noted that this target will also compile
+                automatically any Java source file located in the 
+                <code>/WEB-INF/classes</code> folder of the web application.</li>
+            <li>
+                <code>deploy</code>: Deploy a web application (compiled or not) to 
+                a Tomcat server.
+            </li>
+            <li><code>undeploy</code>: Undeploy a web application</li>
+            <li><code>start</code>: Start web application</li>
+            <li><code>reload</code>: Reload web application</li>
+            <li><code>stop</code>: Stop web application</li>
+        </ul>
+        
+        <p>
+            In order for the deployment to be configured, create a file
+            called <code>deployer.properties</code> in the TCD installation
+            directory root. In this file, add the following name=value pairs per
+            line:
+        </p>
+        
+        <p>
+            Additionally, you will need to ensure that a user has been 
+            setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
+            will not authenticate with the Tomcat Manager and the deployment will
+            fail. To do this, see the Tomcat Manager page.        
+        </p>
+        
+        <ul>
+            <li>
+                <code>build</code>: The build folder used will be, by default, 
+                <code>${build}/webapp/${path}</code>. After the end of the execution
+                of the <code>compile</code> target, the web application .WAR will be
+                located at <code>${build}/webapp/${path}.war</code>.
+            </li>
+            <li>
+                <code>webapp</code>: The directory containing the exploded web application 
+                which will be compiled and validated. By default, the folder is
+                <code>myapp</code>.
+            </li>
+            <li>
+                <code>path</code>: Deployed context path of the web application, 
+                by default <code>/myapp</code>.
+            </li>
+            <li>
+                <code>url</code>: Absolute URL to the Tomcat Manager web application of a 
+                running Tomcat server, which will be used to deploy and undeploy the
+                web application. By default, the deployer will attempt to access 
+                a Tomcat instance running on localhost, at 
+                <code>http://localhost:8080/manager</code>.
+            </li>
+            <li>
+                <code>username</code>: Tomcat Manager username (user should have a role of
+                manager)
+            </li>
+            <li><code>password</code>: Tomcat Manager password.</li>
+        </ul>
+    </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/developers.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/developers.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/developers.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Developers</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Developers</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/developers.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Active Developers"><strong>Active Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The list indicates the developers' main areas of interest. Feel free to
+      add to the list :) The developers email addresses are 
+      <code>[login]@apache.org</code>. Please <strong>do not</strong> contact 
+      developers directly for any support issues (please post to the 
+      tomcat-users mailing list instead, or one of the other support 
+      resources; some organizations and individual consultants also offer 
+      for pay Tomcat support, as listed on the 
+      <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
+      on the Jakarta website).
+    </p>
+
+    <ul>
+      <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
+      <li>Bill Barker (billbarker): Connectors</li>
+      <li>Costin Manolache (costin): Catalina, Connectors</li>
+      <li>Filip Hanik (fhanik): Clustering, Release Manager</li>
+      <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
+      <li>Henri Gomez (hgomez): Connectors</li>
+      <li>Jan Luehe (luehe): Jasper</li>
+      <li>Jean-Francois Arcand (jfarcand): Catalina</li>
+      <li>Jean-Frederic Clere (jfclere): Connectors</li>
+      <li>Kin-Man Chung (kinman): Jasper</li>
+      <li>Mark Thomas (markt): CGI, SSI, WebDAV, bug fixing</li>
+      <li>Mladen Turk (mturk): Connectors</li>
+      <li>Peter Rossbach (pero): Catalina, Clustering, JMX</li>
+      <li>Rainer Jung (rjung): Catalina, Clustering, Connectors</li>
+      <li>Remy Maucherat (remm): Catalina, Connectors, Docs</li>
+      <li>Tim Funk (funkman): Catalina, Docs</li>
+      <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer</li>
+    </ul>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Retired Developers"><strong>Retired Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/html-manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/html-manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/html-manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,519 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Manager How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Manager How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/html-manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments it is very useful to have the capability
+to manage your web applications without having to shut down and restart
+Tomcat.  This document is for the HTML web interface to the web application
+<a href="manager-howto.html">manager</a>.</p>
+
+<p>The interface is divided into five sections:
+<ul>
+  <li><strong>Message</strong> - Displays success and failure messages.</li>
+  <li><strong>Manager</strong> - General manager operations like list and
+      help.</li>
+  <li><strong>Applications</strong> - List of web applications and
+      commands.</li>
+  <li><strong>Deploy</strong> - Deploying web applications.</li>
+  <li><strong>Server Information</strong> - Information about the Tomcat
+      server.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Message"><strong>Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Displays information about the success or failure of the last web application
+manager command you performed. If it succeeded <strong>OK</strong> is displayed
+and may be followed by a success message. If it failed <strong>FAIL</strong>
+is displayed followed by an error message. Common failure messages are
+documented below for each command.  The complete list of failure messages for
+each command can be found in the <a href="manager-howto.html">manager</a> web
+application documentation.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Manager section has three links:
+<ul>
+  <li><strong>List Applications</strong> - Redisplay a list of web
+      applications.</li>
+  <li><strong>HTML Manager Help</strong> - A link to this document.</li>
+  <li><strong>Manager Help</strong> - A link to the comprehensive Manager
+      App HOW TO.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Applications"><strong>Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Applications section lists information about all the installed web
+applications and provides links for managing them. For each web application
+the following is displayed:
+<ul>
+  <li><strong>Path</strong> - The web applicaton context path.</li>
+  <li><strong>Display Name</strong> - The display name for the web application
+      if it has one configured in its "web.xml" file.</li>
+  <li><strong>Running</strong> - Whether the web application is running and
+      available (true), or not running and unavailable (false).</li>
+  <li><strong>Sessions</strong> - The number of active sessions for remote
+      users of this web application.  The number of sessions is a link which
+      when submitted displays more details about session usage by the web
+      application in the Message box.</li>
+  <li><strong>Commands</strong> - Lists all commands which can be performed on
+      the web application. Only those commands which can be performed will be
+      listed as a link which can be submitted. No commands can be performed on
+      the manager web application itself. The following commands can be
+      performed:
+      <ul>
+        <li><strong>Start</strong> - Start a web application which had been
+            stopped.</li>
+        <li><strong>Stop</strong> - Stop a web application which is currently
+            running and make it unavailable.</li>
+        <li><strong>Reload</strong> - Reload the web application so that new
+            ".jar" files in <code>/WEB-INF/lib/</code> or new classes in
+            <code>/WEB-INF/classes/</code> can be used.</li>
+        <li><strong>Undeploy</strong> - Stop and then remove this web
+             application from the server.</li>
+      </ul>
+  </li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start"><strong>Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop"><strong>Stop</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload"><strong>Reload</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not checked on a reload;
+the previous web.xml configuration is used.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>             
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    installed directly from a WAR file, which happens when the host is 
+    configured to not unpack WAR files. As it only works when the web 
+    application is installed from an unpacked directory, if you are using 
+    a WAR file, you should <code>undeploy</code> and then <code>deploy</code> 
+    the application again to pick up your changes.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy"><strong>Undeploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong><font color="red">WARNING</font> - This command will delete the
+contents of the web application directory and/or ".war" file if it exists within
+the <code>appBase</code> directory (typically "webapps") for this virtual host
+</strong>.  The web application temporary work directory is also deleted.  If
+you simply want to take an application out of service, you should use the
+<code>/stop</code> command instead.</p>
+                             
+<p>Signal an existing application to gracefully shut itself down, and then
+remove it from Tomcat (which also makes this context path available for
+reuse later).  This command is the logical opposite of the
+<code>/deploy</code> Ant command, and the related deploy features available 
+in the HTML manager.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy"><strong>Deploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Web applications can be deployed using files or directories located
+on the Tomcat server or you can upload a web application archive (WAR)
+file to the server.</p>
+
+<p>To install an application, fill in the appropriate fields for the type
+of install you want to do and then submit it using the <i>Install</i>
+button.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy directory or WAR file located on server"><strong>Deploy directory or WAR file located on server</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified <i>Context
+Path:</i> (which must not be in use by any other web application).
+This command is the logical opposite of the <em>Undeploy</em> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Install a web application directory or ".war" file located on the Tomcat
+server. If no <i>Context Path</i> is specified, the directory name or the
+war file name without the ".war" extension is used as the path. The
+<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
+scheme) for either a directory or a web application archive (WAR) file. The
+supported syntax for a URL referring to a WAR file is described on the Javadocs
+page for the <code>java.net.JarURLConnection</code> class.  Use only URLs that
+refer to the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+is deployed as the web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /footoo
+WAR or Directory URL: file:C:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server (running on Unix) is deployed as the web application
+context named <code>/bar</code>. Notice that there is no <code>path</code>
+parameter so the context path defaults to the name of the web application
+archive file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Install a web application directory or ".war" file located in your Host
+appBase directory. If no <i>Context Path</i> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a subdirectory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /bartoo
+WAR or Directory URL: bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true, you can install a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The <i>Context Path</i>
+is not used when installing a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example for Tomcat running on Windows:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Use of the <i>WAR or Directory URL</i> is optional. When used
+to select a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file for Tomcat running on Windows.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:C:/path/to/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server (Tomcat running on Unix).
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Upload a WAR file to install"><strong>Upload a WAR file to install</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Upload a WAR file from your local system and install it into the
+appBase for your Host. The name of the WAR file without the ".war"
+extension is used as the context path name.</p>
+
+<p>Use the <i>Browse</i> button to select a WAR file to upload to the
+server from your local desktop system.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>Upload of a WAR file could fail for the following reasons:</p>
+<ul>
+<li><em>File uploaded must be a .war</em>
+    <blockquote>
+    <p>The upload install will only accept files which have the filename
+    extension of ".war".</p>
+    </blockquote></li>
+<li><em>War file already exists on server</em>
+    <blockquote>
+    <p>If a war file of the same name already exists in your Host's
+    appBase the upload will fail. Either undeploy the existing war file
+    from your Host's appBase or upload the new war file using a different
+    name.</p>
+    </blockquote></li>
+<li><em>File upload failed, no file</em>
+    <blockquote>
+    <p>The file upload failed, no file was received by the server.</p>
+    </blockquote></li>
+<li><em>Install Upload Failed, Exception:</em>
+    <blockquote>
+    <p>The war file upload or install failed with a Java Exception.
+    The exception message will be listed.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment Notes"><strong>Deployment Notes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If the Host is configured with unpackWARs=true and you install a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is deployed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from installing web applications using a configuration XML file and
+also prevents them from installing application directories or ".war"
+files located outside of their Host appBase.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy Message"><strong>Deploy Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If deployment and startup is successful, you will receive a Message
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must either undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <i>WAR or Directory URL:</i> field must
+    identify a directory on this server that contains the "unpacked" version
+    of a web application, or the absolute URL of a web application archive
+    (WAR) file that contains this application.  Correct the value entered for
+    the <i>WAR or Directory URL:</i> field.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a "/" string.</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is deployed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be deployed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to install a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Information"><strong>Server Information</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section displays information about Tomcat, the operating system of
+the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+running in.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/asf-logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/asf-logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/design.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/design.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/docs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/docs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/fix.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/fix.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/printer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/printer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/update.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/update.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/void.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/images/void.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,152 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Documentation Index</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Documentation Index</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/index.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This is the top-level entry point of the documentation bundle for the
+<strong>Apache Tomcat</strong> Servlet/JSP container.  Apache Tomcat version 5.5 
+implements the
+Servlet 2.4 and JavaServer Pages 2.0 specifications from the
+<a href="http://www.jcp.org">Java Community Process</a>, and includes many
+additional features that make it a useful platform for developing and deploying
+web applications and web services.</p>
+
+<p>Select one of the links from the navigation menu (to the left) to drill
+down to the more detailed documentation that is available.  Each available
+manual is described in more detail below.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat User Guide"><strong>Apache Tomcat User Guide</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents will assist you in downloading, installing
+Apache Tomcat 5, and using many of the Apache Tomcat features.</p>
+
+<ol>
+<li><a href="introduction.html"><strong>Introduction</strong></a> - A
+    brief, high level, overview of Apache Tomcat.</li>
+<li><a href="setup.html"><strong>Setup</strong></a> - How to install and run
+    Apache Tomcat on a variety of platforms.</li>
+<li><a href="appdev/index.html"><strong>First web application</strong></a>
+    - An introduction to the concepts of a <em>web application</em> as defined
+    in the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    2.3 Specification</a>.  Covers basic organization of your web application
+    source tree, the structure of a web application archive, and an
+    introduction to the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>).</li>
+<li><a href="deployer-howto.html"><strong>Deployer</strong></a> -
+    Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
+    applications.</li>
+<li><a href="manager-howto.html"><strong>Manager</strong></a> -
+    Operating the <code>Manager</code> web app to deploy, undeploy, and
+    redeploy applications while Apache Tomcat is running.</li>
+<li><a href="realm-howto.html"><strong>Realms and Access Control</strong></a>
+    - Description of how to configure <em>Realms</em> (databases of users,
+    passwords, and their associated roles) for use in web applications that
+    utilize <em>Container Managed Security</em>.</li>
+<li><a href="security-manager-howto.html"><strong>Security Manager</strong></a>
+    - Configuring and using a Java Security Manager to
+    support fine-grained control over the behavior of your web applications.
+    </li>
+<li><a href="jndi-resources-howto.html"><strong>JNDI Resources</strong></a>
+    - Configuring standard and custom resources in the JNDI naming context
+    that is provided to each web application.</li>
+<li><a href="jndi-datasource-examples-howto.html">
+    <strong>JDBC DataSource</strong></a>
+    - Configuring a JNDI DataSoure with a DB connection pool.
+    Examples for many popular databases.</li>
+<li><a href="class-loader-howto.html"><strong>Classloading</strong></a>
+    - Information about class loading in Apache Tomcat 5, including where to place
+    your application classes so that they are visible.</li>
+<li><a href="jasper-howto.html"><strong>JSPs</strong></a>
+    - Information about Jasper configuration, as well as the JSP compiler
+    usage.</li>
+<li><a href="ssl-howto.html"><strong>SSL</strong></a> -
+    Installing and
+    configuring SSL support so that your Apache Tomcat will serve requests using
+    the <code>https</code> protocol.</li>
+<li><a href="ssi-howto.html"><strong>SSI</strong></a> -
+    Using Server Side Includes in Apache Tomcat.</li>
+<li><a href="cgi-howto.html"><strong>CGI</strong></a> -
+    Using CGIs with Apache Tomcat.</li>
+<li><a href="proxy-howto.html"><strong>Proxy Support</strong></a> -
+    Configuring Apache Tomcat 5 to run behind a proxy server (or a web server
+    functioning as a proxy server).</li>
+<li><a href="mbeans-descriptor-howto.html"><strong>MBean Descriptor</strong></a> -
+    Configuring MBean descriptors files for custom components.</li>
+<li><a href="default-servlet.html"><strong>Default Servlet</strong></a> -
+    Configuring the default servlet and customizing directory listings.</li>
+<li><a href="cluster-howto.html"><strong>Apache Tomcat Clustering</strong></a> -
+    Enable session replication in a Apache Tomcat environment.</li>
+<li><a href="balancer-howto.html"><strong>Balancer</strong></a> -
+    Configuring, using, and extending the load balancer application.</li>
+<li><a href="connectors.html"><strong>Connectors</strong></a> -
+    Connectors available in Apache Tomcat, and native web server integration.</li>
+<li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
+    Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
+<li><a href="logging.html"><strong>Logging</strong></a> -
+    Configuring logging in Apache Tomcat.</li>
+<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
+    Using APR to provide superior performance, scalability and better
+    integration with native server technologies.</li>
+<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
+    Configuring vitual hosting in Apache Tomcat.</li>
+</ol>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reference"><strong>Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are aimed at <em>System Administrators</em> who
+are responsible for installing, configuring, and operating a Apache Tomcat 5 server.
+</p>
+<ul>
+<li><a href="RELEASE-NOTES.txt"><strong>Release notes</strong></a>
+    - Known issues in this Apache Tomcat release.
+    </li>
+<li><a href="config/index.html"><strong>Apache Tomcat Server Configuration Reference</strong></a>
+    - Reference manual that documents all available elements and attributes
+      that may be placed into a Apache Tomcat 5 <code>conf/server.xml</code> file.
+    </li>
+<li><a href="http://tomcat.apache.org/connectors-doc/index.html"><strong>JK Documentation</strong></a>
+    - Complete documentation and HOWTOs on the JK native webserver connector,
+      used to interface Apache Tomcat with servers like Apache HTTPd, IIS
+      and others.</li>
+<li><a href="servletapi/index.html"><strong>Servlet API Javadocs</strong></a> -
+    The Servlet 2.4 API Javadocs.</li>
+<li><a href="jspapi/index.html"><strong>JSP API Javadocs</strong></a> -
+    The JSP 2.0 API Javadocs.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat Developers"><strong>Apache Tomcat Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are for Java developers who wish to contribute to
+the development of the <em>Apache Tomcat</em> project.</p>
+<ul>
+<li><a href="building.html"><strong>Building from Source</strong></a> - 
+    Details the steps necessary to download Apache Tomcat 5 source code (and the 
+    other packages that it depends on), and build a binary distribution from 
+    those sources.
+    </li>
+<li><a href="changelog.html"><strong>Changelog</strong></a> - Details the
+    changes made to Apache Tomcat.
+    </li>
+<li><a href="status.html"><strong>Status</strong></a> - Apache Tomcat development 
+    status.
+    </li>
+<li><a href="developers.html"><strong>Developers</strong></a> - List of active
+    Apache Tomcat contributors.
+    </li>
+<li><a href="catalina/funcspecs/index.html"><strong>Functional Specifications</strong></a>
+    - Requirements specifications for features of the <em>Catalina</em> servlet
+    container portion of Apache Tomcat 5.</li>
+<li><a href="catalina/docs/api/index.html"><strong>Catalina Javadocs</strong></a>
+    - Javadoc API documentation for the <em>Catalina</em> servlet
+    container and its dependencies.</li>
+<li><a href="jasper/docs/api/index.html"><strong>Jasper Javadocs</strong></a>
+    - Javadoc API documentation for the <em>Jasper</em> JSP container
+    portion of Apache Tomcat 5.</li>
+<li><a href="architecture/index.html"><strong>Apache Tomcat Architecture</strong></a>
+    - Documentation of the Apache Tomcat Server Architecture.</li>
+    
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/introduction.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/introduction.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/introduction.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,103 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Introduction</title><meta value="Robert Slifka" name="author"><meta value="rslifka at sfu.ca" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/introduction.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For administrators and web developers alike, there are some important bits
+of information you should familiarize yourself with before starting out. This
+document serves as a brief introduction to some of the concepts and
+terminology behind the Tomcat container. As well, where to go when you need
+help.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terminology"><strong>Terminology</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In the course of reading these documents, you'll run across a number of
+terms; some specific to Tomcat, and others defined by the
+<a href="http://java.sun.com/products/servlet/">Servlet</a> or
+<a href="http://java.sun.com/products/jsp/">JSP</a> specifications.</p>
+
+<ul>
+<li><strong>Context</strong> - In a nutshell, a Context is a
+    web application.</li>
+<li><strong>Term2</strong> - This is it.</li>
+<li><strong>Term3</strong> - This is it!</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directories and Files"><strong>Directories and Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Throughout the docs, you'll notice there are numerous references to
+<strong>$CATALINA_HOME</strong>. This represents the root of your Tomcat
+installation. When we say, "This information can be found in your
+$CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the
+root of your Tomcat install.</p>
+
+<p>These are some of the key tomcat directories, all relative
+to <strong>$CATALINA_HOME</strong>:</p>
+
+<ul>
+<li><strong>/bin</strong> - Startup, shutdown, and other scripts. The
+    <code>*.sh</code> files (for Unix systems) are functional duplicates of
+    the <code>*.bat</code> files (for Windows systems).  Since the Win32
+    command-line lacks certain functionality, there are some additional
+    files in here.</li>
+<li><strong>/conf</strong> - Configuration files and related DTDs.  The most
+    important file in here is server.xml.  It is the main configuration file
+    for the container.</li>
+<li><strong>/logs</strong> - Log files are here by default.</li>
+<li><strong>/webapps</strong> - This is where your webapps go.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat"><strong>Configuring Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section will acquaint you with the basic information used during
+the configuration of the container.</p>
+
+<p>All of the information in the configuration files is read at startup,
+meaning that any change to the files necessitates a restart of the container.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where to Go for Help"><strong>Where to Go for Help</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>While we've done our best to ensure that these documents are clearly
+written and easy to understand, we may have missed something.  Provided
+below are various web sites and mailing lists in case you get stuck.</p>
+
+<p>As Tomcat 5 is a new release of Tomcat, keep in mind that some of the
+issues and solutions vary between the major versions of Tomcat (4.x versus
+5).  As you search around the web, there will be some documentation that
+is not relevant to Tomcat 5, but 3.x and 4.x.  Doing 3.x or 4.x things to 5
+will probably not work in most cases as the server.xml files are very
+different.</p>
+
+<ul>
+<li>Current document - most documents will list potential hangups. Be sure
+    to fully read the relevant documentation as it will save you much time
+    and effort. There's nothing like scouring the web only to find out that
+    the answer was right in front of you all along!</li>
+<li><a href="http://tomcat.apache.org/faq/">Tomcat FAQ</a> as maintained by the developers.</li>
+<li><a href="http://wiki.apache.org/tomcat/">Tomcat WIKI</a></li>
+<li>Tomcat FAQ at <a href="http://www.jguru.com/faq/home.jsp?topic=Tomcat">jGuru</a></li>
+<li>Tomcat mailing list archives - numerous sites archive the Tomcat mailing
+    lists. Since the links change over time, clicking here will search
+    <a href="http://www.google.com/search?q=tomcat+mailing+list+archives">Google</a>.
+    </li>
+<li>The TOMCAT-USER mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>. If you don't
+    get a reply, then there's a good chance that your question was probably
+    answered in the list archives or one of the FAQs.  Although questions
+    about web application development in general are sometimes asked and
+    answered, please focus your questions on Tomcat-specific issues.</li>
+<li>The TOMCAT-DEV mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>.  This list is
+    <strong>reserved</strong> for discussions about the development of Tomcat
+    itself.  Questions about Tomcat configuration, and the problems you run
+    into while developing and running applications, will normally be more
+    appropriate on the TOMCAT-USER list instead.</li>
+</ul>
+
+<p>And, if you think something should be in the docs, by all means let us know
+on the TOMCAT-DEV list, or send one of the doc authors email.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper/docs/api/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html>
+    <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Administration</title>
+</head>
+
+<body>
+
+Tomcat's internal javadoc is no longer installed by default. Download and install 
+the "fulldocs" package to get it.
+
+You can also access the javadoc online in the Tomcat 
+<a href="http://jakarta.apache.org/tomcat/tomcat-5.5-doc/">documentation bundle</a>.
+
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jasper-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,323 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Jasper 2 JSP Engine How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Jasper 2 JSP Engine How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jasper-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuration">Configuration</a><br>
+<a href="#Production Configuration">Production Configuration</a><br>
+<a href="#Web Application Compilation">Web Application Compilation</a><br>
+<a href="#Using Jikes">Using Jikes</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5.5 uses the Jasper 2 JSP Engine to implement
+the <a href="http://java.sun.com/products/jsp/">JavaServer Pages 2.0</a>
+specification.</p>
+
+<p>Jasper 2 has been redesigned to significantly improve performance over
+the orignal Jasper.  In addition to general code improvements the following
+changes were made:
+<ul>
+<li><strong>JSP Custom Tag Pooling</strong> - The java objects instantiated
+for JSP Custom Tags can now be pooled and reused.  This significantly boosts
+the performance of JSP pages which use custom tags.</li>
+<li><strong>Background JSP compilation</strong> - If you make a change to
+a JSP page which had already been compiled Jasper 2 can recompile that
+page in the background.  The previously compiled JSP page will still be
+available to serve requests.  Once the new page has been compiled
+successfully it will replace the old page.  This helps improve availablity
+of your JSP pages on a production server.</li>
+<li><strong>Recompile JSP when included page changes</strong> - Jasper 2
+can now detect when a page included at compile time from a JSP has changed
+and then recompile the parent JSP.</li>
+<li><strong>JDT used to compile JSP pages</strong> - The
+Eclipse JDT Java compiler is now used to perform JSP java source code
+compilation. This compiler loads source dependencies from the container
+classloader. Ant and javac can still be used.</li>
+</ul>
+</p>
+
+<p>Jasper is implemented using the servlet class
+<code>org.apache.jasper.servlet.JspServlet</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>By default Jasper is configured for use when doing web application
+development.  See the section <a href="#Production Configuration">
+Production Configuration</a> for information on configuring Jasper
+for use on a production Tomcat server.</p>
+
+<p>The servlet which implements Jasper is configured using init parameters
+in your global <code>$CATALINA_BASE/conf/web.xml</code>.
+
+<ul>
+<li><strong>checkInterval</strong> - If development is false and reloading is
+true, background compiles are enabled. checkInterval is the time in seconds
+between checks to see if a JSP page needs to be recompiled. Default
+<code>300</code> seconds.</li>
+
+<li><strong>compiler</strong> - Which compiler Ant should use to compile JSP
+pages.  See the Ant documentation for more information. If the value is not set,
+then the default Eclipse JDT Java compiler will be used instead of using Ant. 
+No default value.</li>
+
+<li><strong>classdebuginfo</strong> - Should the class file be compiled with
+debugging information?  <code>true</code> or <code>false</code>, default
+<code>true</code>.
+</li>
+
+<li><strong>classpath</strong> - Defines the class path to be used to compile
+the generated servlets. This parameter only has an effect if the ServletContext
+attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
+attribute is always set when Jasper is used within Tomcat. By default the
+classpath is created dynamically based on the current web application.</li>
+
+<li><strong>compilerSourceVM</strong> - What JDK version are the source files compatible with? (Default JDK 1.4)</li>
+
+<li><strong>compilerTargetVM</strong> - What JDK version are the generated files compatible with? (Default JDK 1.4)</li>
+
+<li><strong>development</strong> - Is Jasper used in development mode (will
+check for JSP modification on every access)? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>enablePooling</strong> - Determines whether tag handler pooling is
+enabled. <code>true</code> or <code>false</code>, default <code>true</code>.
+</li>
+
+<li><strong>engineOptionsClass</strong> - Allows specifying the Options class
+used to configure Jasper. If not present, the default EmbeddedServletOptions
+will be used.
+</li>
+
+<li><strong>ieClassId</strong> - The class-id value to be sent to Internet
+Explorer when using &lt;jsp:plugin&gt; tags.   Default
+<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
+
+<li><strong>fork</strong> - Have Ant fork JSP page compiles so they are
+performed in a seperate JVM from Tomcat? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>javaEncoding</strong> - Java file encoding to use for generating
+java source files. Default <code>UTF8</code>.</li>
+
+<li><strong>genStringAsCharArray</strong> - Should text strings be generated as char
+arrays, to improve performance in some cases? Default <code>false</code>.</li>
+
+<li><strong>keepgenerated</strong> - Should we keep the generated Java source
+code for each page instead of deleting it? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>mappedfile</strong> - Should we generate static content with one 
+print statement per input line, to ease debugging?
+<code>true</code> or <code>false</code>, default <code>true</code>.</li>
+
+<li><strong>modificationTestInterval</strong> - Checks for modification for a given
+JSP file (and all its dependent files) will be performed only once every specified amount
+of seconds. Setting this to 0 will cause the JSP to be checked on every access.
+Default is <code>4</code> seconds.</li>
+
+<li><strong>reloading</strong> - Should Jasper check for modified JSPs?
+<code>true</code> or <code>false</code>, default <code>false</code>.</li>
+
+<li><strong>scratchdir</strong> - What scratch directory should we use when
+compiling JSP pages? Default is the work directory for the current web
+application.</li>
+
+<li><strong>trimSpaces</strong> - Should white spaces in template text between
+actions or directives be trimmed ?, default <code>false</code>.</li>
+</ul>
+</p>
+
+<p>The Java compiler from Eclipse JDT in included as the default compiler. It is an
+advanced Java compiler which will load all dependencies from the Tomcat class loader, 
+which will help tremendously when compiling on large installations with tens of JARs.
+On fast servers, this will allow sub-second recompilation cycles for even large JSP 
+pages. This new compiler will be updated to support the Java 5 syntax as soon as
+possible.</p>
+
+<p>Apache Ant, which was used in previous Tomcat releases, can be used instead instead of 
+the new compiler by simply removing the <code>common/lib/jasper-compiler-jdt.jar</code> file, 
+and placing the <code>ant.jar</code> file from the latest Ant distribution in the 
+<code>common/lib</code> folder.  If you do this, you also need to use the "javac"
+argument to catalina.sh.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Production Configuration"><strong>Production Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The main JSP optimization which can be done is precompilation of JSPs. However,
+this might not be possible (for example, when using the jsp-property-group feature)
+or practical, in which case the configuration of the Jasper servlet becomes critical.</p>
+
+<p>When using Jasper 2 in a production Tomcat server you should consider
+making the following changes from the default configuration.
+<ul>
+<li><strong>development</strong> - To disable on access checks for JSP
+pages compilation set this to <code>false</code>.</li>
+<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient 
+char arrays, set this to <code>true</code>.</li>
+<li><strong>modificationTestInterval</strong> - If development has to be set to
+<code>true</code> for any reason (such as dynamic generation of JSPs), setting
+this to a high value will improve performance a lot.</li>
+<li><strong>trimSpaces</strong> - To remove useless bytes from the response,
+set this to <code>true</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Compilation"><strong>Web Application Compilation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using Ant is the preferred way to compile web applications using JSPC. 
+Use the script given below (a similar script is included in the "deployer" 
+download) to precompile a webapp:
+</p>
+
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="Webapp Precompilation" default="all" basedir="."&gt; 
+
+  &lt;target name="jspc"&gt; 
+
+    &lt;taskdef classname="org.apache.jasper.JspC" name="jasper2" &gt; 
+      &lt;classpath id="jspc.classpath"&gt; 
+        &lt;pathelement location="${java.home}/../lib/tools.jar"/&gt; 
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+        &lt;fileset dir="${tomcat.home}/server/lib"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt; 
+    &lt;/taskdef&gt; 
+
+    &lt;jasper2 
+             validateXml="false" 
+             uriroot="${webapp.path}" 
+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 
+             outputDir="${webapp.path}/WEB-INF/src" /&gt; 
+
+  &lt;/target&gt; 
+
+  &lt;target name="compile"&gt;
+
+    &lt;mkdir dir="${webapp.path}/WEB-INF/classes"/&gt;
+    &lt;mkdir dir="${webapp.path}/WEB-INF/lib"/&gt;
+
+    &lt;javac destdir="${webapp.path}/WEB-INF/classes"
+           optimize="off"
+           debug="on" failonerror="false"
+           srcdir="${webapp.path}/WEB-INF/src" 
+	   excludes="**/*.smap"&gt;
+      &lt;classpath&gt;
+        &lt;pathelement location="${webapp.path}/WEB-INF/classes"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/common/classes"/&gt;
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/shared/classes"/&gt;
+        &lt;fileset dir="${tomcat.home}/shared/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt;
+      &lt;include name="**" /&gt;
+      &lt;exclude name="tags/**" /&gt;
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="all" depends="jspc,compile"&gt;
+  &lt;/target&gt;
+
+  &lt;target name="cleanup"&gt;
+  	&lt;delete&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/src"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/&gt;
+  	&lt;/delete&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+The following command line can be used to run the script
+(replacing the tokens with the Tomcat base path and the path to the webapp 
+which should be precompiled):<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+Then, the declarations and mappings for the servlets which were generated 
+during the precompilation must be added to the web application deployment
+descriptor. Insert the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+at the right place inside the <code>${webapp.path}/WEB-INF/web.xml</code> file.
+Restart the web application (using the manager) and test it to verify it is 
+running fine with precompiled servlets. An appropriate token placed in the
+web application deployment descriptor may also be used to automatically
+insert the generated servlet declarations and mappings using Ant filtering 
+capabilities. This is actually how all the webapps distributed with Tomcat 
+are automatically compiled as part of the build process.
+</p>
+
+<p>
+At the jasper2 task you can use the option <code>addWebXmlMappings</code> for 
+automatic merge the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+with the current web application deployment descriptor at <code>${webapp.path}/WEB-INF/web.xml</code>.
+When you want to use Java 5 feature inside your jsp's, add the following javac compiler task
+attributes: <code>source="1.5" target="1.5"</code>. For live application
+you can also compile with <code>optimize="on"</code> and without debug info
+<code>debug="off"</code>.
+</p>
+
+<p>
+When you don't want to stop the jsp generation at first jsp syntax error, use   
+<code>failOnError="false"</code>and with <code>showSuccess="true"</code>
+all successfull <i>jsp to java</i> generation are printed out. Sometimes it is
+very helpfull, when you cleanup the generate java source files at <code>${webapp.path}/WEB-INF/src</code>
+and the compile jsp servlet classes at <code>${webapp.path}/WEB-INF/classes/org/apache/jsp</code>.
+</p>
+
+<p><strong>Hints:</strong>
+<ul>
+<li> When you switch to another tomcat release, then regenerate and recompile
+your jsp's with this version again!</li>
+<li>Use java system property at server runtime to disable tag pooling <code>org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false</code>.
+and limit the buffering with <code>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true</code>. Note that changing
+from the defaults may affect performance, but depending on the application.</li>
+</ul>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Jikes"><strong>Using Jikes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use
+<a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">
+Jikes</a> to compile JSP pages:
+<ul>
+<li>From your <a href="ant.apache.org">Ant</a> installation, copy ant.jar
+and (if it's available: Ant 1.5 and later) ant-launcher.jar to 
+<code>$CATALINA_BASE/common/lib</code>.</li>
+<li>Download and install jikes. jikes must support the -encoding option.
+Execute <code>jikes -help</code> to verify that it was built with support
+for <code>-encoding</code>.</li>
+<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>
+<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting
+Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.
+This changes how jikes outputs error messages so that it is compatible with
+Jasper.</li>
+<li>If you get an error reporting that jikes can't use UTF8 encoding, try
+setting the init parameter <code>javaEncoding</code> to
+<code>ISO-8859-1</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-datasource-examples-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-datasource-examples-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-datasource-examples-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,629 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - JNDI Datasource HOW-TO</title><meta value="Les Hughes" name="author"><meta value="leslie.hughes at rubus.com" name="email"><meta value="David Haraburda" name="author"><meta value="david-tomcat at haraburda.com" name="email"><meta value="Glenn Nielsen" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>JNDI Datasource HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jndi-datasource-examples-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Database Connection Pool (DBCP) Configurations">
+Database Connection Pool (DBCP) Configurations</a><br>
+<a href="#Non DBCP Solutions">Non DBCP Solutions</a><br>
+<a href="#Oracle 8i with OCI client">Oracle 8i with OCI client</a><br>
+<a href="#Common Problems">Common Problems</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>JNDI Datasource configuration is covered extensively in the
+JNDI-Resources-HOWTO.  However, feedback from <code>tomcat-user</code> has
+shown that specifics for individual configurations can be rather tricky.</p>
+
+<p>Here then are some example configurations that have been posted to
+tomcat-user for popular databases and some general tips for db useage.</p>
+
+<p>You should be aware that since these notes are derived from configuration
+and/or feedback posted to <code>tomcat-user</code> YMMV :-). Please let us
+know if you have any other tested configurations that you feel may be of use
+to the wider audience, or if you feel we can improve this section in anyway.</p>
+
+<p>
+<b>Please note that JNDI resource configuration has changed somewhat between
+Tomcat 5.0.x and Tomcat 5.5.x.</b>  You will most likely need to modify your JNDI
+resource configurations to match the syntax in the example below in order
+to make them work in Tomcat 5.5.x.
+</p>
+
+<p>
+Also, please note that JNDI DataSource configuration in general, and this 
+tutorial in particular, assumes that you have read and understood the 
+<a href="config/context.html">Context</a> and 
+<a href="config/host.html">Host</a> configuration references, including
+the section about Automatic Application Deployment in the latter reference.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Database Connection Pool (DBCP) Configurations"><strong>Database Connection Pool (DBCP) Configurations</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>DBCP provides support for JDBC 2.0.  On systems using a 1.4 JVM DBCP
+will support JDBC 3.0. Please let us know if you have used DBCP and its
+JDBC 3.0 features with a 1.4 JVM.
+</p>
+
+<p>See the <a href="http://jakarta.apache.org/commons/dbcp/configuration.html">
+DBCP documentation</a> for a complete list of configuration parameters.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+<p>DBCP uses the Jakarta-Commons Database Connection Pool. It relies on
+number of Jakarta-Commons components:
+<ul>
+<li>Jakarta-Commons DBCP</li>
+<li>Jakarta-Commons Collections</li>
+<li>Jakarta-Commons Pool</li>
+</ul>
+These libraries are located in a single JAR at 
+<code>$CATALINA_HOME/common/lib/naming-factory-dbcp.jar</code>. However,
+only the classes needed for connection pooling have been included, and the
+packages have been renamed to avoid interfering with applications.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preventing dB connection pool leaks"><strong>Preventing dB connection pool leaks</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+A database connection pool creates and manages a pool of connections
+to a database. Recycling and reusing already existing connections
+to a dB is more efficient than opening a new connection.
+</p>
+
+<p>
+There is one problem with connection pooling.  A web application has
+to explicetely close ResultSet's, Statement's, and Connection's.
+Failure of a web application to close these resources can result in
+them never being available again for reuse, a db connection pool "leak".
+This can eventually result in your web application db connections failing
+if there are no more available connections.</p>
+
+<p>
+There is a solution to this problem.  The Jakarta-Commons DBCP can be
+configured to track and recover these abandoned dB connections.  Not
+only can it recover them, but also generate a stack trace for the code
+which opened these resources and never closed them.</p>
+
+<p>
+To configure a DBCP DataSource so that abandoned dB connections are
+removed and recycled add the following attribute to the
+<code>Resource</code> configuration for your DBCP DataSource:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+When available db connections run low DBCP will recover and recyle
+any abandoned dB connections it finds. The default is <code>false</code>.
+</p>
+
+<p>
+Use the <code>removeAbandonedTimeout</code> attribute to set the number
+of seconds a dB connection has been idle before it is considered abandoned.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandonedTimeout="60"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+The default timeout for removing abandoned connections is 300 seconds.
+</p>
+
+<p>
+The <code>logAbandoned</code> attribute can be set to <code>true</code>
+if you want DBCP to log a stack trace of the code which abandoned the
+dB connection resources.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            logAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+The default is <code>false</code>.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MySQL DBCP Example"><strong>MySQL DBCP Example</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>0. Introduction</h3>
+<p>Versions of <a href="http://www.mysql.com/products/mysql/index.html">MySQL</a> and JDBC drivers that have been reported to work:
+<ul>
+<li>MySQL 3.23.47, MySQL 3.23.47 using InnoDB,, MySQL 3.23.58,  MySQL 4.0.1alpha</li>
+<li><a href="http://www.mysql.com/products/connector-j">Connector/J</a> 3.0.11-stable (the official JDBC Driver)</li>
+<li><a href="http://mmmysql.sourceforge.net">mm.mysql</a> 2.0.14 (an old 3rd party JDBC Driver)</li>
+</ul>
+</p>
+
+<p>Before you proceed, don't forget to copy the JDBC Driver's jar into <code>$CATALINA_HOME/common/lib</code>.</p>
+
+<h3>1. MySQL configuration</h3>
+<p>
+Ensure that you follow these instructions as variations can cause problems.
+</p>
+
+<p>Create a new test user, a new database and a single test table.
+Your MySQL user <strong>must</strong> have a password assigned. The driver
+will fail if you try to connect with an empty password.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; GRANT ALL PRIVILEGES ON *.* TO javauser at localhost 
+    -&gt;   IDENTIFIED BY 'javadude' WITH GRANT OPTION;
+mysql&gt; create database javatest;
+mysql&gt; use javatest;
+mysql&gt; create table testdata (
+    -&gt;   id int not null auto_increment primary key,
+    -&gt;   foo varchar(25), 
+    -&gt;   bar int);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<blockquote>
+<strong>Note:</strong> the above user should be removed once testing is
+complete!
+</blockquote>
+</p>
+
+<p>Next insert some test data into the testdata table.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; insert into testdata values(null, 'hello', 12345);
+Query OK, 1 row affected (0.00 sec)
+
+mysql&gt; select * from testdata;
++----+-------+-------+
+| ID | FOO   | BAR   |
++----+-------+-------+
+|  1 | hello | 12345 |
++----+-------+-------+
+1 row in set (0.00 sec)
+
+mysql&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2. server.xml configuration</h3>
+<p>Configure the JNDI DataSource in Tomcat by adding a declaration for your
+resource to <code>$CATALINA_HOME/conf/server.xml</code>.</p>
+<p>Add this in between the <code>&lt;/Context&gt;</code> tag of the examples
+context and the <code>&lt;/Host&gt;</code> tag closing the localhost definition.
+If there is no such tag, you can add one as illustrated in the 
+<a href="config/context.html">Context</a> and
+<a href="config/host.html">Host</a> configuration references, and repeated below
+for your convenience.
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/DBTest" docBase="DBTest"
+        debug="5" reloadable="true" crossContext="true"&gt;
+
+    &lt;!-- maxActive: Maximum number of dB connections in pool. Make sure you
+         configure your mysqld max_connections large enough to handle
+         all of your db connections. Set to 0 for no limit.
+         --&gt;
+
+    &lt;!-- maxIdle: Maximum number of idle dB connections to retain in pool.
+         Set to -1 for no limit.  See also the DBCP documentation on this
+         and the minEvictableIdleTimeMillis configuration parameter.
+         --&gt;
+
+    &lt;!-- maxWait: Maximum time to wait for a dB connection to become available
+         in ms, in this example 10 seconds. An Exception is thrown if
+         this timeout is exceeded.  Set to -1 to wait indefinitely.
+         --&gt;
+
+    &lt;!-- username and password: MySQL dB username and password for dB connections  --&gt;
+
+    &lt;!-- driverClassName: Class name for the old mm.mysql JDBC driver is
+         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
+         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
+         --&gt;
+    
+    &lt;!-- url: The JDBC connection url for connecting to your MySQL dB.
+         The autoReconnect=true argument to the url makes sure that the
+         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
+         connection.  mysqld by default closes idle connections after 8 hours.
+         --&gt;
+
+  &lt;Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="30" maxWait="10000"
+               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>3. web.xml configuration</h3>
+
+<p>Now create a <code>WEB-INF/web.xml</code> for this test application.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4"&gt;
+  &lt;description&gt;MySQL Test App&lt;/description&gt;
+  &lt;resource-ref&gt;
+      &lt;description&gt;DB Connection&lt;/description&gt;
+      &lt;res-ref-name&gt;jdbc/TestDB&lt;/res-ref-name&gt;
+      &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+      &lt;res-auth&gt;Container&lt;/res-auth&gt;
+  &lt;/resource-ref&gt;
+&lt;/web-app&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>4. Test code</h3>
+<p>Now create a simple <code>test.jsp</code> page for use later.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %&gt;
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
+
+&lt;sql:query var="rs" dataSource="jdbc/TestDB"&gt;
+select id, foo, bar from testdata
+&lt;/sql:query&gt;
+
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;DB Test&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+  &lt;h2&gt;Results&lt;/h2&gt;
+  
+&lt;c:forEach var="row" items="${rs.rows}"&gt;
+    Foo ${row.foo}&lt;br/&gt;
+    Bar ${row.bar}&lt;br/&gt;
+&lt;/c:forEach&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>That JSP page makes use of <a href="http://java.sun.com/products/jsp/jstl">JSTL</a>'s SQL and Core taglibs. You can get it from Sun's <a href="http://java.sun.com/webservices/downloads/webservicespack.html">Java Web Services Developer Pack</a> or <a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">Jakarta Taglib Standard 1.1</a> project - just make sure you get a 1.1.x release. Once you have JSTL, copy <code>jstl.jar</code> and <code>standard.jar</code> to your web app's <code>WEB-INF/lib</code> directory.
+
+</p>
+
+<p>Finally deploy your web app into <code>$CATALINA_HOME/webapps</code> either
+as a warfile called <code>DBTest.war</code> or into a sub-directory called
+<code>DBTest</code></p>
+<p>Once deployed, point a browser at
+<code>http://localhost:8080/DBTest/test.jsp</code> to view the fruits of
+your hard work.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i, 9i & 10g"><strong>Oracle 8i, 9i &amp; 10g</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+
+<p>Oracle requires minimal changes from the MySQL configuration except for the
+usual gotchas :-)</p>
+<p>Drivers for older Oracle versions may be distributed as *.zip files rather
+than *.jar files. Tomcat will only use <code>*.jar</code> files installed in
+<code>$CATALINA_HOME/common/lib</code>. Therefore <code>classes111.zip</code>
+or <code>classes12.zip</code> will need to be renamed with a <code>.jar</code>
+extension. Since jarfiles are zipfiles, there is no need to unzip and jar these
+files - a simple rename will suffice.</p>
+
+<p>Some early versions of Tomcat 4.0 when used with JDK 1.4 will not load
+classes12.zip unless you unzip the file, remove the <code>javax.sql.*</code>
+class heirarchy and rejar.</p>
+
+<p>For Oracle 9i onwards you should use <code>oracle.jdbc.OracleDriver</code>
+rather than <code>oracle.jdbc.driver.OracleDriver</code> as Oracle have stated
+that <code>oracle.jdbc.driver.OracleDriver</code> is deprecated and support
+for this driver class will be discontinued in the next major release.
+</p>
+
+<h3>1.    server.xml configuration</h3>
+<p>In a similar manner to the mysql config above, you will need to define your
+Datasource in your server.xml file. Here we define a Datasource called myoracle
+using the thin driver to connect as user scott, password tiger to the sid
+called mysid. (Note: with the thin driver this sid is not the same as the
+tnsname). The schema used will be the default schema for the user scott.</p>
+
+<p>Use of the OCI driver should simply involve a changing thin to oci in the URL string.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/myoracle" auth="Container"
+              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
+              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
+              username="scott" password="tiger" maxActive="20" maxIdle="10"
+              maxWait="-1"/&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2.    web.xml configuration</h3>
+<p>You should ensure that you respect the elemeent ordering defined by the DTD when you
+create you applications web.xml file.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;Oracle Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/myoracle&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<h3>3.   Code example</h3>
+<p>You can use the same example application as above (asuming you create the required DB
+instance, tables etc.) replacing the Datasource code with something like</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initContext = new InitialContext();
+Context envContext  = (Context)initContext.lookup("java:/comp/env");
+DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
+Connection conn = ds.getConnection();
+//etc.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PostgreSQL"><strong>PostgreSQL</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+<p>PostgreSQL is configured in a similar manner to Oracle.</p>
+
+<h3>1. Required files </h3>
+<p>
+Copy the Postgres JDBC jar to $CATALINA_HOME/common/lib. As with Oracle, the
+jars need to be in this directory in order for DBCP's Classloader to find
+them. This has to be done regardless of which configuration step you take next.
+</p>
+
+<h3>2. Resource configuration</h3>
+
+<p>
+You have two choices here: define a datasource that is shared across all Tomcat
+applications, or define a datasource specifically for one application.
+</p>
+
+<h4>2a. Shared resource configuration</h4>
+<p>
+Use this option if you wish to define a datasource that is shared across
+multiple Tomcat applications, or if you just prefer defining your datasource
+in this file.
+</p>
+<p><i>This author has not had success here, although others have reported so.
+Clarification would be appreciated here.</i></p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<h4>2b. Application-specific resource configuration</h4>
+
+<p>
+Use this option if you wish to define a datasource specific to your application,
+not visible to other Tomcat applications. This method is less invasive to your
+Tomcat installation.
+</p>
+
+<p>
+Create a resource definition file for your application defining the
+datasource. This file must have the same name as your application, so if
+your application deploys as <code>someApp.war</code>, this filename must
+be <code>someApp.xml</code>. This file should look something like the following.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/someApp" docBase="someApp"
+   crossContext="true" reloadable="true" debug="1"&gt;
+
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10"
+maxWait="-1"/&gt;
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>3. web.xml configuration</h3>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;postgreSQL Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/postgres&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h4>4. Accessing the datasource</h4>
+<p>
+When accessing the datasource programmatically, remember to prepend
+<code>java:/comp/env</code> to your JNDI lookup, as in the following snippet of
+code. Note also that "jdbc/postgres" can be replaced with any value you prefer, provided
+you change it in the above resource definition file as well.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+InitialContext cxt = new InitialContext();
+if ( cxt == null ) {
+   throw new Exception("Uh oh -- no context!");
+}
+
+DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/postgres" );
+
+if ( ds == null ) {
+   throw new Exception("Data source not found!");
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Non-DBCP Solutions"><strong>Non-DBCP Solutions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These solutions either utilise a single connection to the database (not recommended for anything other
+than testing!) or some other pooling technology.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i with OCI client"><strong>Oracle 8i with OCI client</strong></a></font></td></tr><tr><td><blockquote>
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+<p>Whilst not strictly addressing the creation of a JNDI DataSource using the OCI client, these notes can be combined with the
+Oracle and DBCP solution above.</p>
+<p>
+In order to use OCI driver, you should have an Oracle client installed. You should have installed
+Oracle8i(8.1.7) client from cd,  and download the suitable JDBC/OCI
+driver(Oracle8i 8.1.7.1 JDBC/OCI Driver) from <a href="http://otn.oracle.com/">otn.oracle.com</a>. 
+</p>
+<p>
+After renaming <code>classes12.zip</code> file to <code>classes12.jar</code>
+for Tomcat, copy it into <code>$CATALINA_HOME/common/lib</code>. 
+You may also have to remove the <code>javax.sql.*</code> classes
+from this file depending upon the version of Tomcat and JDK you are using.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Putting it all together"><strong>Putting it all together</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Ensure that you have the <code>ocijdbc8.dll</code> or <code>.so</code> in your <code>$PATH</code> or <code>LD_LIBRARY_PATH</code>
+ (possibly in <code>$ORAHOME\bin</code>) and also confirm that the native library can be loaded by a simple test program 
+using <code>System.loadLibrary("ocijdbc8");</code>
+</p>
+<p>
+You should next create a simple test servlet or jsp that has these
+<strong>critical lines</strong>:
+</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+DriverManager.registerDriver(new
+oracle.jdbc.driver.OracleDriver());
+conn =
+DriverManager.getConnection("jdbc:oracle:oci8:@database","username","password");
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>
+where database is of the form <code>host:port:SID</code> Now if you try to access the URL of your 
+test servlet/jsp and what you get is a 
+<code>ServletException</code> with a root cause of <code>java.lang.UnsatisfiedLinkError:get_env_handle</code>.
+</p>
+<p>
+First, the <code>UnsatisfiedLinkError</code> indicates that you have 
+<ul>
+<li>a mismatch between your JDBC classes file and
+your Oracle client version. The giveaway here is the message stating that a needed library file cannot be
+found. For example, you may be using a classes12.zip file from Oracle Version 8.1.6 with a Version 8.1.5
+Oracle client. The classeXXXs.zip file and Oracle client software versions must match.
+</li>
+<li>A <code>$PATH</code>, <code>LD_LIBRARY_PATH</code> problem.</li>
+<li>It has been reported that ignoring the driver you have downloded from otn and using 
+the classes12.zip file from the directory <code>$ORAHOME\jdbc\lib</code> will also work.
+</li>
+</ul>
+</p>
+<p>
+Next you may experience the error <code>ORA-06401 NETCMN: invalid driver designator</code>
+</p>
+<p>
+The Oracle documentation says : "Cause: The login (connect) string contains an invalid
+driver designator. Action: Correct the string and re-submit."
+
+Change the database connect string (of the form <code>host:port:SID</code>) with this one:
+<code>(description=(address=(host=myhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))</code>
+</p>
+<p>
+<i>Ed. Hmm, I don't think this is really needed if you sort out your TNSNames - but I'm not an Oracle DBA :-)</i>
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Problems"><strong>Common Problems</strong></a></font></td></tr><tr><td><blockquote>
+<p>Here are some common problems encountered with a web application which
+uses a database and tips for how to solve them.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Intermittent dB Connection Failures"><strong>Intermittent dB Connection Failures</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat runs within a JVM.  The JVM periodically performs garbage collection
+(GC) to remove java objects which are no longer being used.  When the JVM
+performs GC execution of code within Tomcat freezes. If the maximum time
+configured for establishment of a dB connection is less than the amount
+of time garbage collection took you can get a db conneciton failure.
+</p>
+
+<p>To collect data on how long garbage collection is taking add the
+<code>-verbose:gc</code> argument to your <code>CATALINA_OPTS</code>
+environment variable when starting Tomcat.  When verbose gc is enabled
+your <code>$CATALINA_BASE/logs/catalina.out</code> log file will include
+data for every garbage collection including how long it took.</p>
+
+<p>When your JVM is tuned correctly 99% of the time a GC will take less
+than one second.  The remainder will only take a few seconds.  Rarely,
+if ever should a GC take more than 10 seconds.</p>
+
+<p>Make sure that the db connection timeout is set to 10-15 seconds.
+For the DBCP you set this using the parameter <code>maxWait</code>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Random Connection Closed Exceptions"><strong>Random Connection Closed Exceptions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These can occur when one request gets a db connection from the connection
+pool and closes it twice.  When using a connection pool, closing the
+connection just returns it to the pool for reuse by another request,
+it doesn't close the connection.  And Tomcat uses multiple threads to
+handle concurrent requests. Here is an example of the sequence
+of events which could cause this error in Tomcat:
+<pre>
+  Request 1 running in Thread 1 gets a db connection.
+
+  Request 1 closes the db connection.
+
+  The JVM switches the running thread to Thread 2
+
+  Request 2 running in Thread 2 gets a db connection
+  (the same db connection just closed by Request 1).
+
+  The JVM switches the running thread back to Thread 1
+
+  Request 1 closes the db connection a second time in a finally block.
+
+  The JVM switches the running thread back to Thread 2
+
+  Request 2 Thread 2 tries to use the db connection but fails
+  because Request 1 closed it.
+</pre>
+Here is an example of properly written code to use a db connection
+obtained from a connection pool:
+<pre>
+  Connection conn = null;
+  Statement stmt = null;  // Or PreparedStatement if needed
+  ResultSet rs = null;
+  try {
+    conn = ... get connection from connection pool ...
+    stmt = conn.createStatement("select ...");
+    rs = stmt.executeQuery();
+    ... iterate through the result set ...
+    rs.close();
+    rs = null;
+    stmt.close();
+    stmt = null;
+    conn.close(); // Return to connection pool
+    conn = null;  // Make sure we don't close it twice
+  } catch (SQLException e) {
+    ... deal with errors ...
+  } finally {
+    // Always make sure result sets and statements are closed,
+    // and the connection is returned to the pool
+    if (rs != null) {
+      try { rs.close(); } catch (SQLException e) { ; }
+      rs = null;
+    }
+    if (stmt != null) {
+      try { stmt.close(); } catch (SQLException e) { ; }
+      stmt = null;
+    }
+    if (conn != null) {
+      try { conn.close(); } catch (SQLException e) { ; }
+      conn = null;
+    }
+  }
+</pre>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context versus GlobalNamingResources"><strong>Context versus GlobalNamingResources</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  Please note that although the above instructions place the JNDI declarations in a Context
+  element, it is possible and sometimes desirable to place these declarations in the 
+  <a href="config/globalresources.html">GlobalNamingResources</a> section of the server
+  configuration file.  A resource placed in the GlobalNamingResources section will be shared
+  among the Contexts of the server.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDI Resource Naming and Realm Interaction"><strong>JNDI Resource Naming and Realm Interaction</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  In order to get Realms to work, the realm must refer to the datasource as
+  defined in the &lt;GlobalNamingResources&gt; or &lt;Context&gt; section, not a datasource as renamed
+  using &lt;ResourceLink&gt;.
+</p>
+</blockquote></td></tr></table> 
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-resources-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-resources-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jndi-resources-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,738 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - JNDI Resources HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>JNDI Resources HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/jndi-resources-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5 provides a JNDI <strong>InitialContext</strong> implementation
+instance for each web application running under it, in a manner that is 
+compatible with those provided by a 
+<a href="http://java.sun.com/j2ee">Java2 Enterprise Edition</a> application 
+server. 
+
+The J2EE standard provides a standard set of elements in 
+the <code>/WEB-INF/web.xml</code> file to reference resources; resources 
+referenced in these elements must be defined in an application-server-specific configuration. 
+</p>
+
+<p>For Tomcat 5, these entries in per-web-application 
+<code>InitialContext</code> are configured in the 
+<code><strong>&lt;Context&gt;</strong></code> elements that can be specified 
+in either <code>$CATALINA_HOME/conf/server.xml</code> or, preferably, 
+the per-web-application context XML file (either <code>META-INF/context.xml</code>).
+</p>
+
+<p>Tomcat 5 maintains a separate namespace of global resources for the 
+entire server.  These are configured in the 
+<a href="config/globalresources.html">
+<code><strong>&lt;GlobalNameingResources&gt;</strong></code></a> element of 
+<code>$CATALINA_HOME/conf/server.xml</code>. You may expose these resources to 
+web applications by using 
+<code><strong>&lt;ResourceLink&gt;</strong></code> elements.
+</p>
+
+<p>The resources defined in these elements
+may be referenced by the following elements in the web application deployment
+descriptor (<code>/WEB-INF/web.xml</code>) of your web application:</p>
+<ul>
+<li><code><strong>&lt;env-entry&gt;</strong></code> - Environment entry, a
+    single-value parameter that can be used to configure how the application
+    will operate.</li>
+<li><code><strong>&lt;resource-ref&gt;</strong></code> - Resource reference,
+    which is typically to an object factory for resources such as a JDBC
+    <code>DataSource</code>, a JavaMail <code>Session</code>, or custom
+    object factories configured into Tomcat 5.</li>
+<li><code><strong>&lt;resource-env-ref&gt;</strong></code> - Resource
+    environment reference, a new variation of <code>resource-ref</code>
+    added in Servlet 2.4 that is simpler to configure for resources
+    that do not require authentication information.</li>
+</ul>
+
+<p>The <code>InitialContext</code> is configured as a web application is
+initially deployed, and is made available to web application components (for
+read-only access).  All configured entries and resources are placed in
+the <code>java:comp/env</code> portion of the JNDI namespace, so a typical
+access to a resource - in this case, to a JDBC <code>DataSource</code> -
+would look something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Obtain our environment naming context
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+
+// Look up our data source
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+// Allocate and use a connection from the pool
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>See the following Specifications for more information about programming APIs
+for JNDI, and for the features supported by Java2 Enterprise Edition (J2EE)
+servers, which Tomcat emulates for the services that it provides:</p>
+<ul>
+<li><a href="http://java.sun.com/products/jndi/#download">Java Naming and
+    Directory Interface</a> (included in JDK 1.4, available separately for
+    prior JDK versions)</li>
+<li><a href="http://java.sun.com/j2ee/download.html">J2EE Platform
+    Specification</a> (in particular, see Chapter 5 on <em>Naming</em>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring JNDI Resources"><strong>Configuring JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Each available JNDI Resource is configured based on inclusion of the
+following elements in the <code><strong>&lt;Context&gt;</strong></code>
+element:</p>
+
+<ul>
+<li><a href="config/context.html#Environment Entries">&lt;Environment&gt;</a> -
+    Configure names and values for scalar environment entries that will be
+    exposed to the web application through the JNDI
+    <code>InitialContext</code> (equivalent to the inclusion of an
+    <code>&lt;env-entry&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="config/context.html#Resource Definitions">&lt;Resource&gt;</a> -
+    Configure the name and data type of a resource made available to the
+    application (equivalent to the inclusion of a
+    <code>&lt;resource-ref&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="config/context.html#Resource Links">&lt;ResourceLink&gt;</a> -
+    Add a link to a resource defined in the global JNDI context. Use resource 
+    links to give a web application access to a resource defined in 
+    the<a href="config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+    child element of the <a href="config/server.html">&lt;Server&gt;</a>
+    element.</li>
+<li><a href="config/context.html#Transaction">&lt;Transaction&gt;</a> -
+    Add a resource factory for instantiating the UserTransaction object 
+    instance that is available at <code>java:comp/UserTransaction</code>.</li>
+
+</ul>
+
+<p>Any number of these elements may be nested inside a
+<a href="config/context.html">&lt;Context&gt;</a> element (to be associated
+only with that particular web application).</p>
+
+<p>In addition, the names and values of all <code>&lt;env-entry&gt;</code>
+elements included in the web application deployment descriptor
+(<code>/WEB-INF/web.xml</code>) are configured into the initial context as
+well, overriding corresponding values from <code>conf/server.xml</code>
+<strong>only</strong> if allowed by the corresponding
+<code>&lt;Environment&gt;</code> element (by setting the
+<code>override</code> attribute to "true").</p>
+
+<p>Global resources can be defined in the server-wide JNDI context, by adding
+the resource elements described above to the
+<a href="config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+child element of the <a href="config/server.html">&lt;Server&gt;</a>
+element and using a 
+<a href="config/context.html#Resource Links">&lt;ResourceLink&gt;</a> to
+include it in the per-web-application context.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Standard Resource Factories"><strong>Tomcat Standard Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Tomcat 5 includes a series of standard resource factories that can
+  provide services to your web applications, but give you configuration
+  flexibility (in <code>$CATALINA_HOME/conf/server.xml</code>) without
+  modifying the web application or the deployment descriptor.  Each
+  subsection below details the configuration and usage of the standard
+  resource factories.</p>
+
+  <p>See <a href="#Adding Custom Resource Factories">Adding Custom
+  Resource Factories</a> for information about how to create, install,
+  configure, and use your own custom resource factory classes with
+  Tomcat 5.</p>
+
+  <p><em>NOTE</em> - Of the standard resource factories, only the
+  "JDBC Data Source" and "User Transaction" factories are mandated to
+  be available on other platforms, and then they are required only if
+  the platform implements the Java2 Enterprise Edition (J2EE) specs.
+  All other standard resource factories, plus custom resource factories
+  that you write yourself, are specific to Tomcat and cannot be assumed
+  to be available on other containers.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Generic JavaBean Resources"><strong>Generic JavaBean Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>This resource factory can be used to create objects of <em>any</em>
+    Java class that conforms to standard JavaBeans naming conventions (i.e.
+    it has a zero-arguments constructor, and has property setters that
+    conform to the setFoo() naming pattern.  The resource factory will
+    create a new instance of the appropriate bean class every time a
+    <code>lookup()</code> for this entry is made.</p>
+
+    <p>The steps required to use this facility are described below.</p>
+
+    <h3>1.  Create Your JavaBean Class</h3>
+
+    <p>Create the JavaBean class which will be instantiated each time
+    that the resource factory is looked up.  For this example, assume
+    you create a class <code>com.mycompany.MyBean</code>, which looks
+    like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+public class MyBean {
+
+  private String foo = "Default Foo";
+
+  public String getFoo() {
+    return (this.foo);
+  }
+
+  public void setFoo(String foo) {
+    this.foo = foo;
+  }
+
+  private int bar = 0;
+
+  public int getBar() {
+    return (this.bar);
+  }
+
+  public void setBar(int bar) {
+    this.bar = bar;
+  }
+
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;/resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="org.apache.naming.factory.BeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JavaMail Sessions"><strong>JavaMail Sessions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>In many web applications, sending electronic mail messages is a
+    required part of the system's functionality.  The
+    <a href="http://java.sun.com/products/javamail">Java Mail</a> API
+    makes this process relatively straightforward, but requires many
+    configuration details that the client application must be aware of
+    (including the name of the SMTP host to be used for message sending).</p>
+
+    <p>Tomcat 5 includes a standard resource factory that will create
+    <code>javax.mail.Session</code> session instances for you, already
+    connected to the SMTP server that is configured in <code>server.xml</code>.
+    In this way, the application is totally insulated from changes in the
+    email server configuration environment - it simply asks for, and receives,
+    a preconfigured session whenever needed.</p>
+
+    <p>The steps required for this are outlined below.</p>
+
+    <h3>1.  Declare Your Resource Requirements</h3>
+
+    <p>The first thing you should do is modify the web application deployment
+    descriptor (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured sessions.  By convention, all such
+    names should resolve to the <code>mail</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for javax.mail.Session
+    instances that may be used for sending electronic mail
+    messages, preconfigured to connect to the appropriate
+    SMTP server.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    mail/Session
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.mail.Session
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>2.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+Session session = (Session) envCtx.lookup("mail/Session");
+
+Message message = new MimeMessage(session);
+message.setFrom(new InternetAddress(request.getParameter("from"));
+InternetAddress to[] = new InternetAddress[1];
+to[0] = new InternetAddress(request.getParameter("to"));
+message.setRecipients(Message.RecipientType.TO, to);
+message.setSubject(request.getParameter("subject"));
+message.setContent(request.getParameter("content"), "text/plain");
+Transport.send(message);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in
+    <code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
+
+    <h3>3.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="mail/Session" auth="Container"
+            type="javax.mail.Session"
+            mail.smtp.host="localhost"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>mail/Session</code>) must
+    match the value specified in the web application deployment descriptor.
+    Customize the value of the <code>mail.smtp.host</code> parameter to
+    point at the server that provides SMTP service for your network.</p>
+
+    <h3>4.  Install the JavaMail libraries</h3>
+
+    <p><a href="http://java.sun.com/products/javamail/downloads/index.html">
+    Download the JavaMail API</a>.  The JavaMail API requires the Java Activation
+    Framework (JAF) API as well.  The Java Activation Framework can be downloaded
+    from <a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Sun's site</a>.
+    </p>
+
+    <p>This download includes 2 vital libraries for the configuration; 
+    activation.jar and mail.jar. Unpackage both distributions and place 
+    them into $CATALINA_HOME/common/lib so that they are available to
+    Tomcat during the initialization of the mail Session Resource.
+    <strong>Note:</strong> placing these jars in both common/lib and a 
+    web application's lib folder will cause an error, so ensure you have
+    them in the $CATALINA_HOME/common/lib location only.
+    </p>
+
+    <h3>Example Application</h3>
+
+    <p>The <code>/examples</code> application included with Tomcat contains
+    an example of utilizing this resource factory.  It is accessed via the
+    "JSP Examples" link.  The source code for the servlet that actually
+    sends the mail message is in
+    <code>/WEB-INF/classes/SendMailServlet.java</code>.</p>
+
+    <p><strong>WARNING</strong> - The default configuration assumes that
+    there is an SMTP server listing on port 25 on <code>localhost</code>.
+    If this is not the case, edit the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, and modify the
+    parameter value for the <code>mail.smtp.host</code> parameter to be
+    the host name of an SMTP server on your network.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Data Sources"><strong>JDBC Data Sources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>Many web applications need to access a database via a JDBC driver,
+    to support the functionality required by that application.  The J2EE
+    Platform Specification requires J2EE Application Servers to make
+    available a <em>DataSource</em> implementation (that is, a connection
+    pool for JDBC connections) for this purpose.  Tomcat 5 offers exactly
+    the same support, so that database-based applications you develop on
+    Tomcat using this service will run unchanged on any J2EE server.</p>
+
+    <p>For information about JDBC, you should consult the following:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">http://java.sun.com/products/jdbc/</a> -
+        Home page for information about Java Database Connectivity.</li>
+    <li><a href="http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html">http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html</a> -
+        The JDBC 2.1 API Specification.</li>
+    <li><a href="http://java.sun.com/products/jdbc/jdbc20.stdext.pdf">http://java.sun.com/products/jdbc/jdbc20.stdext.pdf</a> -
+        The JDBC 2.0 Standard Extension API (including the
+        <code>javax.sql.DataSource</code> API).  This package is now known
+        as the "JDBC Optional Package".</li>
+    <li><a href="http://java.sun.com/j2ee/download.html">http://java.sun.com/j2ee/download.html</a> -
+        The J2EE Platform Specification (covers the JDBC facilities that
+        all J2EE platforms must provide to applications).</li>
+    </ul>
+
+    <p><strong>NOTE</strong> - The default data source support in Tomcat
+    is based on the <strong>DBCP</strong> connection pool from the
+    <a href="http://jakarta.apache.org/commons">Jakarta Commons</a>
+    subproject.  However, it is possible to use any other connection pool
+    that implements <code>javax.sql.DataSource</code>, by writing your
+    own custom resource factory, as described
+    <a href="#Adding Custom Resource Factories">below</a>.</p>
+
+    <h3>1.  Install Your JDBC Driver</h3>
+
+    <p>Use of the <em>JDBC Data Sources</em> JNDI Resource Factory requires
+    that you make an appropriate JDBC driver available to both Tomcat internal
+    classes and to your web application.  This is most easily accomplished by
+    installing the driver's JAR file(s) into the
+    <code>$CATALINA_HOME/common/lib</code> directory, which makes the driver
+    available both to the resource factory and to your application.</p>
+
+    <h3>2.  Declare Your Resource Requirements</h3>
+
+    <p>Next, modify the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured data source.  By convention, all such
+    names should resolve to the <code>jdbc</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for java.sql.Connection
+    instances that may be used for talking to a particular
+    database that is configured in the server.xml file.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    jdbc/EmployeeDB
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.sql.DataSource
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in
+    <code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <code>/META-INF/context.xml</code> file in the web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource" username="dbusername" password="dbpassword"
+            driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database"
+            maxActive="8" maxIdle="4"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>jdbc/EmployeeDB</code>) must
+    match the value specified in the web application deployment descriptor.</p>
+
+    <p>This example assumes that you are using the HypersonicSQL database
+    JDBC driver.  Customize the <code>driverClassName</code> and
+    <code>driverName</code> parameters to match your actual database's
+    JDBC driver and connection URL.</p>
+
+    <p>The configuration properties for Tomcat's standard data source
+    resource factory
+    (<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
+    as follows:</p>
+    <ul>
+    <li><strong>driverClassName</strong> - Fully qualified Java class name
+        of the JDBC driver to be used.</li>
+    <li><strong>maxActive</strong> - The maximum number of active instances
+        that can be allocated from this pool at the same time.</li>
+    <li><strong>maxIdle</strong> - The maximum number of connections that
+        can sit idle in this pool at the same time.</li>
+    <li><strong>maxWait</strong> - The maximum number of milliseconds that the
+        pool will wait (when there are no available connections) for a
+        connection to be returned before throwing an exception.</li>
+    <li><strong>password</strong> - Database password to be passed to our
+        JDBC driver.</li>
+    <li><strong>url</strong> - Connection URL to be passed to our JDBC driver.
+        (For backwards compatibility, the property <code>driverName</code>
+        is also recognized.)</li>
+    <li><strong>user</strong> - Database username to be passed to our
+        JDBC driver.</li>
+    <li><strong>validationQuery</strong> - SQL query that can be used by the
+        pool to validate connections before they are returned to the
+        application.  If specified, this query MUST be an SQL SELECT
+        statement that returns at least one row.</li>
+    </ul>
+    <p>For more details, please refer to the commons-dbcp documentation.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding Custom Resource Factories"><strong>Adding Custom Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If none of the standard resource factories meet your needs, you can
+  write your own factory and integrate it into Tomcat 5, and then configure
+  the use of this factory in the <code>conf/server.xml</code> configuration
+  file.  In the example below, we will create a factory that only knows how
+  to create <code>com.mycompany.MyBean</code> beans, from the
+  <a href="#Generic JavaBean Resources">Generic JavaBean Resources</a>
+  example, above.</p>
+
+  <h3>1.  Write A Resource Factory Class</h3>
+
+  <p>You must write a class that implements the JNDI service provider
+  <code>javax.naming.spi.ObjectFactory</code> inteface.  Every time your
+  web application calls <code>lookup()</code> on a context entry that is
+  bound to this factory, the <code>getObjectInstance()</code> method is
+  called, with the following arguments:</p>
+  <ul>
+  <li><strong>Object obj</strong> - The (possibly null) object containing
+      location or reference information that can be used in creating an
+      object.  For Tomcat, this will always be an object of type
+      <code>javax.naming.Reference</code>, which contains the class name
+      of this factory class, as well as the configuration properties
+      (from <code>conf/server.xml</code>) to use in creating objects
+      to be returned.</li>
+  <li><strong>Name name</strong> - The name to which this factory is bound
+      relative to <code>nameCtx</code>, or <code>null</code> if no name
+      is specified.</li>
+  <li><strong>Context nameCtx</strong> - The context relative to which the
+      <code>name</code> parameter is specified, or <code>null</code> if
+      <code>name</code> is relative to the default initial context.</li>
+  <li><strong>Hashtable environment</strong> - The (possibly null)
+      environment that is used in creating this object.  This is generally
+      ignored in Tomcat object factories.</li>
+  </ul>
+
+  <p>To create a resource factory that knows how to produce <code>MyBean</code>
+  instances, you might create a class like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NamingException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.spi.ObjectFactory;
+
+public class MyBeanFactory implements ObjectFactory {
+
+  public Object getObjectInstance(Object obj,
+      Name name, Context nameCtx, Hashtable environment)
+      throws NamingException {
+
+      // Acquire an instance of our specified bean class
+      MyBean bean = new MyBean();
+
+      // Customize the bean properties from our attributes
+      Reference ref = (Reference) obj;
+      Enumeration addrs = ref.getAll();
+      while (addrs.hasMoreElements()) {
+          RefAddr addr = (RefAddr) addrs.nextElement();
+          String name = addr.getType();
+          String value = (String) addr.getContent();
+          if (name.equals("foo")) {
+              bean.setFoo(value);
+          } else if (name.equals("bar")) {
+              try {
+                  bean.setBar(Integer.parseInt(value));
+              } catch (NumberFormatException e) {
+                  throw new NamingException("Invalid 'bar' value " + value);
+              }
+          }
+      }
+
+      // Return the customized instance
+      return (bean);
+
+  }
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>In this example, we are unconditionally creating a new instance of
+  the <code>com.mycompany.MyBean</code> class, and populating its properties
+  based on the parameters included in the <code>&lt;ResourceParams&gt;</code>
+  element that configures this factory (see below).  You should note that any
+  parameter named <code>factory</code> should be skipped - that parameter is
+  used to specify the name of the factory class itself (in this case,
+  <code>com.mycompany.MyBeanFactory</code>) rather than a property of the
+  bean being configured.</p>
+
+  <p>For more information about <code>ObjectFactory</code>, see the
+  <a href="http://java.sun.com/products/jndi/docs.html">JNDI 1.2 Service
+  Provider Interface (SPI) Specification</a>.</p>
+
+  <p>You will need to compile this class against a class path that includes
+  all of the JAR files in the <code>$CATALINA_HOME/common/lib</code> and
+  <code>$CATALINA_HOME/server/lib</code> directories.  When you are through,
+  place the factory class (and the corresponding bean class) unpacked under
+  <code>$CATALINA_HOME/common/classes</code>, or in a JAR file inside
+  <code>$CATALINA_HOME/common/lib</code>.  In this way, the required class
+  files are visible to both Catalina internal resources and your web
+  application.</p>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="com.mycompany.MyBeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+    <p>You will also note that, from the application developer's perspective,
+    the declaration of the resource environment reference, and the programming
+    used to request new instances, is identical to the approach used for the
+    <em>Generic JavaBean Resources</em> example.  This illustrates one of the
+    advantages of using JNDI resources to encapsulate functionality - you can
+    change the underlying implementation without necessarily having to
+    modify applications using the resources, as long as you maintain
+    compatible APIs.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+All Classes (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext" target="classFrame">BodyContent</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>BodyTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">BodyTagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>DynamicAttributes</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el" target="classFrame">ELException</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el" target="classFrame">ELParseException</A>
+<BR>
+<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp" target="classFrame">ErrorData</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el" target="classFrame">Expression</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el" target="classFrame">ExpressionEvaluator</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">FunctionInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el" target="classFrame"><I>FunctionMapper</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp" target="classFrame"><I>HttpJspPage</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>IterationTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp" target="classFrame">JspContext</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp" target="classFrame">JspEngineInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp" target="classFrame">JspException</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp" target="classFrame">JspFactory</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext" target="classFrame">JspFragment</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp" target="classFrame"><I>JspPage</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>JspTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp" target="classFrame">JspTagException</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp" target="classFrame">JspWriter</A>
+<BR>
+<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp" target="classFrame">PageContext</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext" target="classFrame">PageData</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>SimpleTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">SimpleTagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp" target="classFrame">SkipPageException</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>Tag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagAdapter</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagAttributeInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagData</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagExtraInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagFileInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagLibraryInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagLibraryValidator</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagVariableInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>TryCatchFinally</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext" target="classFrame">ValidationMessage</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">VariableInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el" target="classFrame"><I>VariableResolver</I></A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-noframe.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-noframe.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/allclasses-noframe.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+All Classes (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><I>BodyTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><I>DynamicAttributes</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A>
+<BR>
+<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><I>FunctionMapper</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><I>HttpJspPage</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><I>IterationTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><I>JspPage</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><I>JspTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>
+<BR>
+<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<BR>
+<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><I>SimpleTag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><I>Tag</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><I>TryCatchFinally</I></A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>
+<BR>
+<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<BR>
+<A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><I>VariableResolver</I></A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/constant-values.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/constant-values.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/constant-values.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,430 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Constant Field Values (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#javax.servlet">javax.servlet.*</A>
+</UL>
+
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD ALIGN="left"><FONT SIZE="+2">
+<B>javax.servlet.*</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.JspWriter.DEFAULT_BUFFER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/JspWriter.html#DEFAULT_BUFFER">DEFAULT_BUFFER</A></CODE></TD>
+<TD ALIGN="right"><CODE>-1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.JspWriter.NO_BUFFER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/JspWriter.html#NO_BUFFER">NO_BUFFER</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.JspWriter.UNBOUNDED_BUFFER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/JspWriter.html#UNBOUNDED_BUFFER">UNBOUNDED_BUFFER</A></CODE></TD>
+<TD ALIGN="right"><CODE>-2</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.APPLICATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#APPLICATION">APPLICATION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspApplication"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.APPLICATION_SCOPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#APPLICATION_SCOPE">APPLICATION_SCOPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>4</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.CONFIG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#CONFIG">CONFIG</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspConfig"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.EXCEPTION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#EXCEPTION">EXCEPTION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspException"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.OUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#OUT">OUT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspOut"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.PAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#PAGE">PAGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspPage"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.PAGE_SCOPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#PAGE_SCOPE">PAGE_SCOPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.PAGECONTEXT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#PAGECONTEXT">PAGECONTEXT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspPageContext"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.REQUEST"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#REQUEST">REQUEST</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspRequest"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.REQUEST_SCOPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#REQUEST_SCOPE">REQUEST_SCOPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.RESPONSE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#RESPONSE">RESPONSE</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspResponse"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.SESSION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#SESSION">SESSION</A></CODE></TD>
+<TD ALIGN="right"><CODE>"javax.servlet.jsp.jspSession"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.PageContext.SESSION_SCOPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/PageContext.html#SESSION_SCOPE">SESSION_SCOPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_BUFFERED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_BUFFERED">EVAL_BODY_BUFFERED</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_TAG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">EVAL_BODY_TAG</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.IterationTag.EVAL_BODY_AGAIN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.Tag.EVAL_PAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>6</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.Tag.SKIP_BODY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.Tag.SKIP_PAGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>5</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.TagAttributeInfo.ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#ID">ID</A></CODE></TD>
+<TD ALIGN="right"><CODE>"id"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_EMPTY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_EMPTY">BODY_CONTENT_EMPTY</A></CODE></TD>
+<TD ALIGN="right"><CODE>"EMPTY"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_JSP"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_JSP">BODY_CONTENT_JSP</A></CODE></TD>
+<TD ALIGN="right"><CODE>"JSP"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_SCRIPTLESS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_SCRIPTLESS">BODY_CONTENT_SCRIPTLESS</A></CODE></TD>
+<TD ALIGN="right"><CODE>"SCRIPTLESS"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_TAG_DEPENDENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_TAG_DEPENDENT">BODY_CONTENT_TAG_DEPENDENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>"TAGDEPENDENT"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.VariableInfo.AT_BEGIN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#AT_BEGIN">AT_BEGIN</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.VariableInfo.AT_END"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#AT_END">AT_END</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.jsp.tagext.VariableInfo.NESTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#NESTED">NESTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/deprecated-list.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/deprecated-list.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/deprecated-list.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,149 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Deprecated List (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Fields</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_TAG</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED
+ or IterationTag.EVAL_BODY_AGAIN.</I>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/help-doc.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/help-doc.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/help-doc.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+API Help (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Overview</H3>
+<BLOCKQUOTE>
+
+<P>
+The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
+<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+<H3>
+Use</H3>
+<BLOCKQUOTE>
+Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</BLOCKQUOTE>
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index-all.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index-all.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index-all.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1273 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Index (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#___">_</A> <HR>
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#APPLICATION"><B>APPLICATION</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store ServletContext in PageContext name table.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#APPLICATION_SCOPE"><B>APPLICATION_SCOPE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Application scope: named reference remains available in the 
+ ServletContext until it is reclaimed.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#AT_BEGIN"><B>AT_BEGIN</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Scope information that scripting variable is visible after start tag.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#AT_END"><B>AT_END</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Scope information that scripting variable is visible after end tag.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#autoFlush"><B>autoFlush</B></A> - 
+Variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Whether the JspWriter is autoflushing.
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_EMPTY"><B>BODY_CONTENT_EMPTY</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Static constant for getBodyContent() when it is empty.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_JSP"><B>BODY_CONTENT_JSP</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Static constant for getBodyContent() when it is JSP.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_SCRIPTLESS"><B>BODY_CONTENT_SCRIPTLESS</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Static constant for getBodyContent() when it is scriptless.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_TAG_DEPENDENT"><B>BODY_CONTENT_TAG_DEPENDENT</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Static constant for getBodyContent() when it is Tag dependent.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><B>BodyContent</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>.<DD>An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#BodyContent(javax.servlet.jsp.JspWriter)"><B>BodyContent(JspWriter)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Protected constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>.<DD>The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>BodyTagSupport</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>.<DD>A base class for defining tag handlers implementing BodyTag.<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#BodyTagSupport()"><B>BodyTagSupport()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Default constructor, all subclasses are required to only define
+ a public constructor with the same signature, and to call the
+ superclass constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#bodyContent"><B>bodyContent</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>The current BodyContent for this BodyTag.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#bufferSize"><B>bufferSize</B></A> - 
+Variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>The size of the buffer used by the JspWriter.
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#CONFIG"><B>CONFIG</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store ServletConfig in PageContext name table.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#canBeRequestTime()"><B>canBeRequestTime()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Whether this attribute can hold a request-time value.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#clear()"><B>clear()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Clear the contents of the buffer.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#clearBody()"><B>clearBody()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Clear the body without throwing any exceptions.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#clearBuffer()"><B>clearBuffer()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Clears the current contents of the buffer.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#close()"><B>close()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Close the stream, flushing it first.
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#DEFAULT_BUFFER"><B>DEFAULT_BUFFER</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Constant indicating that the Writer is buffered and is using the
+ implementation default buffer size.
+<DT><A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>DynamicAttributes</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext">DynamicAttributes</A>.<DD>For a tag to declare that it accepts dynamic attributes, it must implement
+ this interface.<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#doAfterBody()"><B>doAfterBody()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>After the body evaluation: do not reevaluate and continue with the page.
+<DT><A HREF="javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()"><B>doAfterBody()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>
+<DD>Process body (re)evaluation.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#doAfterBody()"><B>doAfterBody()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Default processing for a body.
+<DT><A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html#doCatch(java.lang.Throwable)"><B>doCatch(Throwable)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</A>
+<DD>Invoked if a Throwable occurs while evaluating the BODY
+ inside a tag or in any of the following methods:
+ Tag.doStartTag(), Tag.doEndTag(),
+ IterationTag.doAfterBody() and BodyTag.doInitBody().
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#doEndTag()"><B>doEndTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Default processing of the end tag returning EVAL_PAGE.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#doEndTag()"><B>doEndTag()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Process the end tag for this instance.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#doEndTag()"><B>doEndTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Must not be called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#doEndTag()"><B>doEndTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Default processing of the end tag returning EVAL_PAGE.
+<DT><A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html#doFinally()"><B>doFinally()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</A>
+<DD>Invoked in all cases after doEndTag() for any class implementing
+ Tag, IterationTag or BodyTag.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTag.html#doInitBody()"><B>doInitBody()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>
+<DD>Prepare for evaluation of the body.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#doInitBody()"><B>doInitBody()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Prepare for evaluation of the body just before the first body evaluation:
+ no action.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#doStartTag()"><B>doStartTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Default processing of the start tag returning EVAL_BODY_BUFFERED.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#doStartTag()"><B>doStartTag()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Process the start tag for this instance.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#doStartTag()"><B>doStartTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Must not be called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#doStartTag()"><B>doStartTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Default processing of the start tag, returning SKIP_BODY.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html#doTag()"><B>doTag()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>
+<DD>Called by the container to invoke this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#doTag()"><B>doTag()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Default processing of the tag does nothing.
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><B>ELException</B></A> - exception javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>.<DD>Represents any of the exception conditions that arise during the
+ operation evaluation of the evaluator.<DT><A HREF="javax/servlet/jsp/el/ELException.html#ELException()"><B>ELException()</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<DD>Creates an ELException with no detail message.
+<DT><A HREF="javax/servlet/jsp/el/ELException.html#ELException(java.lang.String)"><B>ELException(String)</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<DD>Creates an ELException with the provided detail message.
+<DT><A HREF="javax/servlet/jsp/el/ELException.html#ELException(java.lang.Throwable)"><B>ELException(Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<DD>Creates an ELException with the given root cause.
+<DT><A HREF="javax/servlet/jsp/el/ELException.html#ELException(java.lang.String, java.lang.Throwable)"><B>ELException(String, Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<DD>Creates an ELException with the given detail message and root cause.
+<DT><A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><B>ELParseException</B></A> - exception javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A>.<DD>Represents a parsing error encountered while parsing an EL expression.<DT><A HREF="javax/servlet/jsp/el/ELParseException.html#ELParseException()"><B>ELParseException()</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A>
+<DD>Creates an ELParseException with no detail message.
+<DT><A HREF="javax/servlet/jsp/el/ELParseException.html#ELParseException(java.lang.String)"><B>ELParseException(String)</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A>
+<DD>Creates an ELParseException with the provided detail message.
+<DT><A HREF="javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN"><B>EVAL_BODY_AGAIN</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>
+<DD>Request the reevaluation of some body.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_BUFFERED"><B>EVAL_BODY_BUFFERED</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>
+<DD>Request the creation of new buffer, a BodyContent on which to
+ evaluate the body of this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE"><B>EVAL_BODY_INCLUDE</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Evaluate body into existing out stream.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG"><B>EVAL_BODY_TAG</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED
+ or IterationTag.EVAL_BODY_AGAIN.</I>
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE"><B>EVAL_PAGE</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Continue evaluating the page.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#EXCEPTION"><B>EXCEPTION</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store uncaught exception in ServletRequest attribute 
+ list and PageContext name table.
+<DT><A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><B>ErrorData</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>.<DD>Contains information about an error, for error pages.<DT><A HREF="javax/servlet/jsp/ErrorData.html#ErrorData(java.lang.Throwable, int, java.lang.String, java.lang.String)"><B>ErrorData(Throwable, int, String, String)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<DD>Creates a new ErrorData object.
+<DT><A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><B>Expression</B></A> - class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A>.<DD>The abstract class for a prepared expression.<DT><A HREF="javax/servlet/jsp/el/Expression.html#Expression()"><B>Expression()</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A>
+<DD>&nbsp;
+<DT><A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><B>ExpressionEvaluator</B></A> - class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A>.<DD>The abstract base class for an expression-language evaluator.<DT><A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html#ExpressionEvaluator()"><B>ExpressionEvaluator()</B></A> - 
+Constructor for class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A>
+<DD>&nbsp;
+<DT><A HREF="javax/servlet/jsp/el/Expression.html#evaluate(javax.servlet.jsp.el.VariableResolver)"><B>evaluate(VariableResolver)</B></A> - 
+Method in class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A>
+<DD>Evaluates an expression that was previously prepared.
+<DT><A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html#evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)"><B>evaluate(String, Class, VariableResolver, FunctionMapper)</B></A> - 
+Method in class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A>
+<DD>Evaluates an expression.
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>FunctionInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>.<DD>Information for a function in a Tag Library.<DT><A HREF="javax/servlet/jsp/tagext/FunctionInfo.html#FunctionInfo(java.lang.String, java.lang.String, java.lang.String)"><B>FunctionInfo(String, String, String)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>
+<DD>Constructor for FunctionInfo.
+<DT><A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><B>FunctionMapper</B></A> - interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>.<DD>The interface to a map between EL function names and methods.<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.JspTag, java.lang.Class)"><B>findAncestorWithClass(JspTag, Class)</B></A> - 
+Static method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Find the instance of a given class type that is closest to a given
+ instance.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)"><B>findAncestorWithClass(Tag, Class)</B></A> - 
+Static method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Find the instance of a given class type that is closest to a given
+ instance.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#findAttribute(java.lang.String)"><B>findAttribute(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Searches for the named attribute in page, request, session (if valid),
+ and application scope(s) in order and returns the value associated or
+ null.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#flush()"><B>flush()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Flush the stream.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#flush()"><B>flush()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Redefined flush() so it is not legal.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#forward(java.lang.String)"><B>forward(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ This method is used to re-direct, or "forward" the current 
+ ServletRequest and ServletResponse to another active component in 
+ the application.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#functions"><B>functions</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the functions that are defined in this tag library.
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#getAdaptee()"><B>getAdaptee()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Gets the tag that is being adapted to the Tag interface.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Returns the object associated with the name in the page scope or null
+ if not found.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String, int)"><B>getAttribute(String, int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Return the object associated with the name in the specified
+ scope or null if not found.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>The value of the attribute.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getAttributeNamesInScope(int)"><B>getAttributeNamesInScope(int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Enumerate all the attributes in a given scope.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#getAttributeString(java.lang.String)"><B>getAttributeString(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Get the value for a given attribute.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Enumerates the attributes.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getAttributes()"><B>getAttributes()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Attribute information (in the TLD) on this tag.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getAttributesScope(java.lang.String)"><B>getAttributesScope(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Get the scope where a given attribute is defined.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#getBodyContent()"><B>getBodyContent()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Get current bodyContent.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getBodyContent()"><B>getBodyContent()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>The bodycontent information for this tag.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#getBufferSize()"><B>getBufferSize()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>This method returns the size of the buffer used by the JspWriter.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#getClassName()"><B>getClassName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>The body of the &lt;variable-class&gt; element.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#getClassName()"><B>getClassName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Returns the type of this variable.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#getDeclare()"><B>getDeclare()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>The body of the &lt;declare&gt; element.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#getDeclare()"><B>getDeclare()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Returns whether this is a new variable.
+<DT><A HREF="javax/servlet/jsp/JspFactory.html#getDefaultFactory()"><B>getDefaultFactory()</B></A> - 
+Static method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>Returns the default factory for this implementation.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getDisplayName()"><B>getDisplayName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Get the displayName.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#getEnclosingWriter()"><B>getEnclosingWriter()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Get the enclosing JspWriter.
+<DT><A HREF="javax/servlet/jsp/JspFactory.html#getEngineInfo()"><B>getEngineInfo()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>
+ called to get implementation-specific information on the current JSP engine.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getErrorData()"><B>getErrorData()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Provides convenient access to error information.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getException()"><B>getException()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The current value of the exception object (an Exception).
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getExpressionEvaluator()"><B>getExpressionEvaluator()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Provides programmatic access to the ExpressionEvaluator.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunction(java.lang.String)"><B>getFunction(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Get the FunctionInfo for a given function name, looking through all the
+ functions in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/FunctionInfo.html#getFunctionClass()"><B>getFunctionClass()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>
+<DD>The class of the function.
+<DT><A HREF="javax/servlet/jsp/tagext/FunctionInfo.html#getFunctionSignature()"><B>getFunctionSignature()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>
+<DD>The signature of the function.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunctions()"><B>getFunctions()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the functions that are defined in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#getId()"><B>getId()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>The value of the tag's id attribute.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#getId()"><B>getId()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>The value of the id attribute of this tag; or null.
+<DT><A HREF="javax/servlet/jsp/tagext/ValidationMessage.html#getId()"><B>getId()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>
+<DD>Get the jsp:id.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#getIdAttribute(javax.servlet.jsp.tagext.TagAttributeInfo[])"><B>getIdAttribute(TagAttributeInfo[])</B></A> - 
+Static method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Convenience static method that goes through an array of TagAttributeInfo
+ objects and looks for "id".
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getInfoString()"><B>getInfoString()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>The information string for the tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getInfoString()"><B>getInfoString()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Information (documentation) for this TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html#getInitParameters()"><B>getInitParameters()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<DD>Get the init parameters data as an immutable Map.
+<DT><A HREF="javax/servlet/jsp/tagext/PageData.html#getInputStream()"><B>getInputStream()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>
+<DD>Returns an input stream on the XML view of a JSP page.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspBody()"><B>getJspBody()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Returns the body passed in by the container via setJspBody.
+<DT><A HREF="javax/servlet/jsp/tagext/JspFragment.html#getJspContext()"><B>getJspContext()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>
+<DD>Returns the JspContext that is bound to this JspFragment.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspContext()"><B>getJspContext()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Returns the page context passed in by the container via 
+ setJspContext.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getLargeIcon()"><B>getLargeIcon()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Get the path to the large icon.
+<DT><A HREF="javax/servlet/jsp/tagext/ValidationMessage.html#getMessage()"><B>getMessage()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>
+<DD>Get the localized validation message.
+<DT><A HREF="javax/servlet/jsp/tagext/FunctionInfo.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>
+<DD>The name of the function.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>The name of this attribute.
+<DT><A HREF="javax/servlet/jsp/tagext/TagFileInfo.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>
+<DD>The unique action name of this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#getNameFromAttribute()"><B>getNameFromAttribute()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>The body of the &lt;name-from-attribute&gt; element.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#getNameGiven()"><B>getNameGiven()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>The body of the &lt;name-given&gt; element.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getOut()"><B>getOut()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>The current value of the out object (a JspWriter).
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getPage()"><B>getPage()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The current value of the page object (In a Servlet environment, 
+ this is an instance of javax.servlet.Servlet).
+<DT><A HREF="javax/servlet/jsp/JspFactory.html#getPageContext(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)"><B>getPageContext(Servlet, ServletRequest, ServletResponse, String, boolean, int, boolean)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>
+ obtains an instance of an implementation dependent 
+ javax.servlet.jsp.PageContext abstract class for the calling Servlet
+ and currently pending request and response.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html#getParent()"><B>getParent()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>
+<DD>Returns the parent of this tag, for collaboration purposes.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#getParent()"><B>getParent()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Returns the parent of this tag, for collaboration purposes.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#getParent()"><B>getParent()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Get the parent (closest enclosing tag handler) for this tag handler.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#getParent()"><B>getParent()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Returns the parent of this tag, which is always
+ getAdaptee().getParent().
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#getParent()"><B>getParent()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>The Tag instance most closely enclosing this tag instance.
+<DT><A HREF="javax/servlet/jsp/tagext/TagFileInfo.html#getPath()"><B>getPath()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>
+<DD>Where to find the .tag file implementing this action.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getPrefixString()"><B>getPrefixString()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The prefix assigned to this taglib from the taglib directive
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#getPreviousOut()"><B>getPreviousOut()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Get surrounding out JspWriter.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#getReader()"><B>getReader()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Return the value of this BodyContent as a Reader.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getReliableURN()"><B>getReliableURN()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The "reliable" URN indicated in the TLD (the uri element).
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#getRemaining()"><B>getRemaining()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>This method returns the number of unused bytes in the buffer.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getRequest()"><B>getRequest()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The current value of the request object (a ServletRequest).
+<DT><A HREF="javax/servlet/jsp/ErrorData.html#getRequestURI()"><B>getRequestURI()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<DD>Returns the request URI.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getRequiredVersion()"><B>getRequiredVersion()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>A string describing the required version of the JSP container.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getResponse()"><B>getResponse()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The current value of the response object (a ServletResponse).
+<DT><A HREF="javax/servlet/jsp/JspException.html#getRootCause()"><B>getRootCause()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<DD>Returns the exception that caused this JSP exception.
+<DT><A HREF="javax/servlet/jsp/el/ELException.html#getRootCause()"><B>getRootCause()</B></A> - 
+Method in class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A>
+<DD>Returns the root cause.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#getScope()"><B>getScope()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>The body of the &lt;scope&gt; element.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#getScope()"><B>getScope()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Returns the lexical scope of the variable.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getServletConfig()"><B>getServletConfig()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The ServletConfig instance.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The ServletContext instance.
+<DT><A HREF="javax/servlet/jsp/ErrorData.html#getServletName()"><B>getServletName()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<DD>Returns the name of the servlet invoked.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#getSession()"><B>getSession()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>The current value of the session object (an HttpSession).
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getShortName()"><B>getShortName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The preferred short name (prefix) as indicated in the TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getSmallIcon()"><B>getSmallIcon()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Get the path to the small icon.
+<DT><A HREF="javax/servlet/jsp/JspEngineInfo.html#getSpecificationVersion()"><B>getSpecificationVersion()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A>
+<DD>Return the version number of the JSP specification that is supported by
+ this JSP engine.
+<DT><A HREF="javax/servlet/jsp/ErrorData.html#getStatusCode()"><B>getStatusCode()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<DD>Returns the status code of the error.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#getString()"><B>getString()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Return the value of the BodyContent as a String.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getTag(java.lang.String)"><B>getTag(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Get the TagInfo for a given tag name, looking through all the
+ tags in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getTagClassName()"><B>getTagClassName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Name of the class that provides the handler for this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getTagExtraInfo()"><B>getTagExtraInfo()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>The instance (if any) for extra tag information.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFile(java.lang.String)"><B>getTagFile(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Get the TagFileInfo for a given tag name, looking through all the
+ tag files in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFiles()"><B>getTagFiles()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the tag files that are defined in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#getTagInfo()"><B>getTagInfo()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>Get the TagInfo for this class.
+<DT><A HREF="javax/servlet/jsp/tagext/TagFileInfo.html#getTagInfo()"><B>getTagInfo()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>
+<DD>Returns information about this tag, parsed from the directives 
+ in the tag file.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getTagLibrary()"><B>getTagLibrary()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>The instance of TabLibraryInfo we belong to.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getTagName()"><B>getTagName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>The name of the Tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getTagVariableInfos()"><B>getTagVariableInfos()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Get TagVariableInfo objects associated with this TagInfo.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getTags()"><B>getTags()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the tags that are defined in this tag library.
+<DT><A HREF="javax/servlet/jsp/ErrorData.html#getThrowable()"><B>getThrowable()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A>
+<DD>Returns the Throwable that caused the error.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#getTypeName()"><B>getTypeName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>The type (as a String) of this attribute.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#getURI()"><B>getURI()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The value of the uri attribute from the taglib directive for 
+ this library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#getValue(java.lang.String)"><B>getValue(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Get a the value associated with a key.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#getValues()"><B>getValues()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Enumerate the keys for the values kept by this tag handler.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#getVarName()"><B>getVarName()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Returns the name of the scripting variable.
+<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)"><B>getVariableInfo(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>information on scripting variables defined by the tag associated with
+ this TagExtraInfo instance.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)"><B>getVariableInfo(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Information on the scripting objects created by this tag at runtime.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#getVariableResolver()"><B>getVariableResolver()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Returns an instance of a VariableResolver that provides access to the
+ implicit objects specified in the JSP specification using this JspContext
+ as the context object.
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>HttpJspPage</B></A> - interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp">HttpJspPage</A>.<DD>The HttpJspPage interface describes the interaction that a JSP Page
+ Implementation Class must satisfy when using the HTTP protocol.<DT><A HREF="javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Exception)"><B>handlePageException(Exception)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Throwable)"><B>handlePageException(Throwable)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#hasDynamicAttributes()"><B>hasDynamicAttributes()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Get dynamicAttributes associated with this TagInfo.
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#ID"><B>ID</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>"id" is wired in to be ID.
+<DT><A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>IterationTag</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>.<DD>The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#id"><B>id</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>The value of the id attribute of this tag; or null.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#include(java.lang.String)"><B>include(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#include(java.lang.String, boolean)"><B>include(String, boolean)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#info"><B>info</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Information (documentation) for this TLD.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#initialize(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)"><B>initialize(Servlet, ServletRequest, ServletResponse, String, boolean, int, boolean)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ The initialize method is called to initialize an uninitialized PageContext
+ so that it may be used by a JSP Implementation class to service an
+ incoming request and response within it's _jspService() method.
+<DT><A HREF="javax/servlet/jsp/tagext/JspFragment.html#invoke(java.io.Writer)"><B>invoke(Writer)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>
+<DD>Executes the fragment and directs all output to the given Writer,
+ or the JspWriter returned by the getOut() method of the JspContext
+ associated with the fragment if out is null.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#isAutoFlush()"><B>isAutoFlush()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>This method indicates whether the JspWriter is autoFlushing.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#isFragment()"><B>isFragment()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Whether this attribute is of type JspFragment.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#isRequired()"><B>isRequired()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Whether this attribute is required.
+<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#isValid(javax.servlet.jsp.tagext.TagData)"><B>isValid(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>Translation-time validation of the attributes.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#isValid(javax.servlet.jsp.tagext.TagData)"><B>isValid(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Translation-time validation of the attributes.
+</DL>
+<HR>
+<A NAME="_J_"><!-- --></A><H2>
+<B>J</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>JspContext</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>.<DD>
+ <code>JspContext</code> serves as the base class for the 
+ PageContext class and abstracts all information that is not specific
+ to servlets.<DT><A HREF="javax/servlet/jsp/JspContext.html#JspContext()"><B>JspContext()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>JspEngineInfo</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A>.<DD>The JspEngineInfo is an abstract class that provides information on the
+ current JSP engine.<DT><A HREF="javax/servlet/jsp/JspEngineInfo.html#JspEngineInfo()"><B>JspEngineInfo()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><B>JspException</B></A> - exception javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>.<DD>A generic exception known to the JSP engine; uncaught
+ JspExceptions will result in an invocation of the errorpage
+ machinery.<DT><A HREF="javax/servlet/jsp/JspException.html#JspException()"><B>JspException()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<DD>Construct a JspException.
+<DT><A HREF="javax/servlet/jsp/JspException.html#JspException(java.lang.String)"><B>JspException(String)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<DD>Constructs a new JSP exception with the
+ specified message.
+<DT><A HREF="javax/servlet/jsp/JspException.html#JspException(java.lang.String, java.lang.Throwable)"><B>JspException(String, Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<DD>Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<DT><A HREF="javax/servlet/jsp/JspException.html#JspException(java.lang.Throwable)"><B>JspException(Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>
+<DD>Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.
+<DT><A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>JspFactory</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>.<DD>
+ The JspFactory is an abstract class that defines a number of factory
+ methods available to a JSP page at runtime for the purposes of creating
+ instances of various interfaces and classes used to support the JSP 
+ implementation.<DT><A HREF="javax/servlet/jsp/JspFactory.html#JspFactory()"><B>JspFactory()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>JspFragment</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>.<DD>Encapsulates a portion of JSP code in an object that 
+ can be invoked as many times as needed.<DT><A HREF="javax/servlet/jsp/tagext/JspFragment.html#JspFragment()"><B>JspFragment()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>
+<DD>&nbsp;
+<DT><A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><B>JspPage</B></A> - interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A>.<DD>The JspPage interface describes the generic interaction that a JSP Page
+ Implementation class must satisfy; pages that use the HTTP protocol
+ are described by the HttpJspPage interface.<DT><A HREF="javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>JspTag</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>.<DD>Serves as a base class for Tag and SimpleTag.<DT><A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>JspTagException</B></A> - exception javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>.<DD>Exception to be used by a Tag Handler to indicate some unrecoverable
+ error.<DT><A HREF="javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.String)"><B>JspTagException(String)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>
+<DD>Constructs a new JspTagException with the specified message.
+<DT><A HREF="javax/servlet/jsp/JspTagException.html#JspTagException()"><B>JspTagException()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>
+<DD>Constructs a new JspTagException with no message.
+<DT><A HREF="javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.String, java.lang.Throwable)"><B>JspTagException(String, Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>
+<DD>Constructs a new JspTagException when the JSP Tag
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<DT><A HREF="javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.Throwable)"><B>JspTagException(Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>
+<DD>Constructs a new JSP Tag exception when the JSP Tag
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>JspWriter</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>.<DD>
+ The actions and template data in a JSP page is written using the
+ JspWriter object that is referenced by the implicit variable out which
+ is initialized automatically using methods in the PageContext object.<DT><A HREF="javax/servlet/jsp/JspWriter.html#JspWriter(int, boolean)"><B>JspWriter(int, boolean)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Protected constructor.
+<DT><A HREF="javax/servlet/jsp/package-summary.html"><B>javax.servlet.jsp</B></A> - package javax.servlet.jsp<DD>Classes and interfaces for the Core JSP 2.0 API.<DT><A HREF="javax/servlet/jsp/el/package-summary.html"><B>javax.servlet.jsp.el</B></A> - package javax.servlet.jsp.el<DD>Classes and interfaces for the JSP 2.0 Expression Language API.<DT><A HREF="javax/servlet/jsp/tagext/package-summary.html"><B>javax.servlet.jsp.tagext</B></A> - package javax.servlet.jsp.tagext<DD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.<DT><A HREF="javax/servlet/jsp/JspPage.html#jspDestroy()"><B>jspDestroy()</B></A> - 
+Method in interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A>
+<DD>The jspDestroy() method is invoked when the JSP page is about to be
+ destroyed.
+<DT><A HREF="javax/servlet/jsp/JspPage.html#jspInit()"><B>jspInit()</B></A> - 
+Method in interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A>
+<DD>The jspInit() method is invoked when the JSP page is initialized.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#jspversion"><B>jspversion</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The version of the JSP specification this tag library is written to.
+</DL>
+<HR>
+<A NAME="_N_"><!-- --></A><H2>
+<B>N</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#NESTED"><B>NESTED</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Scope information that scripting variable is visible only within the
+ start/end tags.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#NO_BUFFER"><B>NO_BUFFER</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Constant indicating that the Writer is not buffering output.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#newLine()"><B>newLine()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Write a line separator.
+</DL>
+<HR>
+<A NAME="_O_"><!-- --></A><H2>
+<B>O</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#OUT"><B>OUT</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store current JspWriter in PageContext name table.
+</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#PAGE"><B>PAGE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store the Servlet in this PageContext's nametables.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#PAGECONTEXT"><B>PAGECONTEXT</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store this PageContext in it's own name table.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#PAGE_SCOPE"><B>PAGE_SCOPE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Page scope: (this is the default) the named reference remains available
+ in this PageContext until the return from the current Servlet.service()
+ invocation.
+<DT><A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><B>PageContext</B></A> - class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>.<DD>
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.<DT><A HREF="javax/servlet/jsp/PageContext.html#PageContext()"><B>PageContext()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>PageData</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>.<DD>Translation-time information on a JSP page.<DT><A HREF="javax/servlet/jsp/tagext/PageData.html#PageData()"><B>PageData()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#pageContext"><B>pageContext</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>The PageContext.
+<DT><A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html#parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)"><B>parseExpression(String, Class, FunctionMapper)</B></A> - 
+Method in class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A>
+<DD>Prepare an expression for later evaluation.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#popBody()"><B>popBody()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Return the previous JspWriter "out" saved by the matching
+ pushBody(), and update the value of the "out" attribute in
+ the page scope attribute namespace of the JspContext.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#prefix"><B>prefix</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The prefix assigned to this taglib from the taglib directive.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(boolean)"><B>print(boolean)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a boolean value.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(char)"><B>print(char)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a character.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(int)"><B>print(int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an integer.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(long)"><B>print(long)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a long integer.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(float)"><B>print(float)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a floating-point number.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(double)"><B>print(double)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a double-precision floating-point number.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(char[])"><B>print(char[])</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an array of characters.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(java.lang.String)"><B>print(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a string.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#print(java.lang.Object)"><B>print(Object)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an object.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println()"><B>println()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Terminate the current line by writing the line separator string.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(boolean)"><B>println(boolean)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a boolean value and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(char)"><B>println(char)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a character and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(int)"><B>println(int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an integer and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(long)"><B>println(long)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a long integer and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(float)"><B>println(float)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a floating-point number and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(double)"><B>println(double)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a double-precision floating-point number and then terminate the
+ line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(char[])"><B>println(char[])</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an array of characters and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(java.lang.String)"><B>println(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print a String and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#println(java.lang.Object)"><B>println(Object)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Print an Object and then terminate the line.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#pushBody(java.io.Writer)"><B>pushBody(Writer)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Return a new JspWriter object that sends output to the
+ provided Writer.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#pushBody()"><B>pushBody()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Return a new BodyContent object, save the current "out" JspWriter,
+ and update the value of the "out" attribute in the page scope
+ attribute namespace of the PageContext.
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#REQUEST"><B>REQUEST</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store ServletRequest in PageContext name table.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#REQUEST_SCOPE"><B>REQUEST_SCOPE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Request scope: the named reference remains available from the 
+ ServletRequest associated with the Servlet until the current request 
+ is completed.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#REQUEST_TIME_VALUE"><B>REQUEST_TIME_VALUE</B></A> - 
+Static variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Distinguished value for an attribute to indicate its value
+ is a request-time expression (which is not yet available because
+ TagData instances are used at translation-time).
+<DT><A HREF="javax/servlet/jsp/PageContext.html#RESPONSE"><B>RESPONSE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store ServletResponse in PageContext name table.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#release()"><B>release()</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>
+ This method shall "reset" the internal state of a PageContext, releasing
+ all internal references, and preparing the PageContext for potential
+ reuse by a later invocation of initialize().
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#release()"><B>release()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Release state.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#release()"><B>release()</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Called on a Tag handler to release state.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#release()"><B>release()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Must not be called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html#release()"><B>release()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<DD>Release any data kept by this instance for validation purposes.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#release()"><B>release()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Release state.
+<DT><A HREF="javax/servlet/jsp/JspFactory.html#releasePageContext(javax.servlet.jsp.PageContext)"><B>releasePageContext(PageContext)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>
+ called to release a previously allocated PageContext object.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Remove the object reference associated with the given name
+ from all scopes.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String, int)"><B>removeAttribute(String, int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Remove the object reference associated with the specified name
+ in the given scope.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#removeValue(java.lang.String)"><B>removeValue(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Remove a value associated with a key.
+<DT><A HREF="javax/servlet/jsp/el/FunctionMapper.html#resolveFunction(java.lang.String, java.lang.String)"><B>resolveFunction(String, String)</B></A> - 
+Method in interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>
+<DD>Resolves the specified local name and prefix into a Java.lang.Method.
+<DT><A HREF="javax/servlet/jsp/el/VariableResolver.html#resolveVariable(java.lang.String)"><B>resolveVariable(String)</B></A> - 
+Method in interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>
+<DD>Resolves the specified variable.
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/PageContext.html#SESSION"><B>SESSION</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Name used to store HttpSession in PageContext name table.
+<DT><A HREF="javax/servlet/jsp/PageContext.html#SESSION_SCOPE"><B>SESSION_SCOPE</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>
+<DD>Session scope (only valid if this page participates in a session):
+ the named reference remains available from the HttpSession (if any)
+ associated with the Servlet until the HttpSession is invalidated.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#SKIP_BODY"><B>SKIP_BODY</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Skip body evaluation.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE"><B>SKIP_PAGE</B></A> - 
+Static variable in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Skip the rest of the page.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>SimpleTag</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>.<DD>Interface for defining Simple Tag Handlers.<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>SimpleTagSupport</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>.<DD>A base class for defining tag handlers implementing SimpleTag.<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#SimpleTagSupport()"><B>SimpleTagSupport()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><B>SkipPageException</B></A> - exception javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>.<DD>Exception to indicate the calling page must cease evaluation.<DT><A HREF="javax/servlet/jsp/SkipPageException.html#SkipPageException()"><B>SkipPageException()</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>
+<DD>Creates a SkipPageException with no message.
+<DT><A HREF="javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.String)"><B>SkipPageException(String)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>
+<DD>Creates a SkipPageException with the provided message.
+<DT><A HREF="javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.String, java.lang.Throwable)"><B>SkipPageException(String, Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>
+<DD>Creates a SkipPageException with the provided message and root cause.
+<DT><A HREF="javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.Throwable)"><B>SkipPageException(Throwable)</B></A> - 
+Constructor for class javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A>
+<DD>Creates a SkipPageException with the provided root cause.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Register the name and value specified with page scope semantics.
+<DT><A HREF="javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object, int)"><B>setAttribute(String, Object, int)</B></A> - 
+Method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>
+<DD>Register the name and value specified with appropriate 
+ scope semantics.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Set the value of an attribute.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTag.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><B>setBodyContent(BodyContent)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>
+<DD>Set the bodyContent property.
+<DT><A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><B>setBodyContent(BodyContent)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>
+<DD>Prepare for evaluation of the body: stash the bodyContent away.
+<DT><A HREF="javax/servlet/jsp/JspFactory.html#setDefaultFactory(javax.servlet.jsp.JspFactory)"><B>setDefaultFactory(JspFactory)</B></A> - 
+Static method in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>
+<DD>
+ set the default factory for this implementation.
+<DT><A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html#setDynamicAttribute(java.lang.String, java.lang.String, java.lang.Object)"><B>setDynamicAttribute(String, String, Object)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext">DynamicAttributes</A>
+<DD>Called when a tag declared to accept dynamic attributes is passed
+ an attribute that is not declared in the Tag Library Descriptor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#setId(java.lang.String)"><B>setId(String)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Set the id attribute for this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html#setInitParameters(java.util.Map)"><B>setInitParameters(Map)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<DD>Set the init data in the TLD for this validator.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)"><B>setJspBody(JspFragment)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>
+<DD>Provides the body of this tag as a JspFragment object, able to be 
+ invoked zero or more times by the tag handler.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)"><B>setJspBody(JspFragment)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Stores the provided JspFragment.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html#setJspContext(javax.servlet.jsp.JspContext)"><B>setJspContext(JspContext)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>
+<DD>Called by the container to provide this tag handler with
+ the <code>JspContext</code> for this invocation.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspContext(javax.servlet.jsp.JspContext)"><B>setJspContext(JspContext)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Stores the provided JSP context in the private jspContext field.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)"><B>setPageContext(PageContext)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Set the current page context.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#setPageContext(javax.servlet.jsp.PageContext)"><B>setPageContext(PageContext)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Must not be called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#setPageContext(javax.servlet.jsp.PageContext)"><B>setPageContext(PageContext)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Set the page context.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTag.html#setParent(javax.servlet.jsp.tagext.JspTag)"><B>setParent(JspTag)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>
+<DD>Sets the parent of this tag, for collaboration purposes.
+<DT><A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html#setParent(javax.servlet.jsp.tagext.JspTag)"><B>setParent(JspTag)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>
+<DD>Sets the parent of this tag, for collaboration purposes.
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)"><B>setParent(Tag)</B></A> - 
+Method in interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>
+<DD>Set the parent (closest enclosing tag handler) of this tag handler.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#setParent(javax.servlet.jsp.tagext.Tag)"><B>setParent(Tag)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Must not be called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#setParent(javax.servlet.jsp.tagext.Tag)"><B>setParent(Tag)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Set the nesting tag of this tag.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#setTagExtraInfo(javax.servlet.jsp.tagext.TagExtraInfo)"><B>setTagExtraInfo(TagExtraInfo)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Set the instance for extra tag information.
+<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#setTagInfo(javax.servlet.jsp.tagext.TagInfo)"><B>setTagInfo(TagInfo)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>Set the TagInfo for this class.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#setTagLibrary(javax.servlet.jsp.tagext.TagLibraryInfo)"><B>setTagLibrary(TagLibraryInfo)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Set the TagLibraryInfo property.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#setValue(java.lang.String, java.lang.Object)"><B>setValue(String, Object)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Associate a value with a String key.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#shortname"><B>shortname</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The preferred short name (prefix) as indicated in the TLD.
+</DL>
+<HR>
+<A NAME="_T_"><!-- --></A><H2>
+<B>T</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>Tag</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>.<DD>The interface of a classic tag handler that does not want to manipulate 
+ its body.<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>TagAdapter</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>.<DD>Wraps any SimpleTag and exposes it using a Tag interface.<DT><A HREF="javax/servlet/jsp/tagext/TagAdapter.html#TagAdapter(javax.servlet.jsp.tagext.SimpleTag)"><B>TagAdapter(SimpleTag)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>
+<DD>Creates a new TagAdapter that wraps the given SimpleTag and 
+ returns the parent tag when getParent() is called.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagAttributeInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>.<DD>Information on the attributes of a Tag, available at translation time.<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean)"><B>TagAttributeInfo(String, boolean, String, boolean)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Constructor for TagAttributeInfo.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean, boolean)"><B>TagAttributeInfo(String, boolean, String, boolean, boolean)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>JSP 2.0 Constructor for TagAttributeInfo.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>TagData</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>.<DD>The (translation-time only) attribute/value information for a tag instance.<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#TagData(java.lang.Object[][])"><B>TagData(Object[][])</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Constructor for TagData.
+<DT><A HREF="javax/servlet/jsp/tagext/TagData.html#TagData(java.util.Hashtable)"><B>TagData(Hashtable)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>
+<DD>Constructor for a TagData.
+<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagExtraInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>.<DD>Optional class provided by the tag library author to describe additional
+ translation-time information not described in the TLD.<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#TagExtraInfo()"><B>TagExtraInfo()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagFileInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>.<DD>Tag information for a tag file in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.<DT><A HREF="javax/servlet/jsp/tagext/TagFileInfo.html#TagFileInfo(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagInfo)"><B>TagFileInfo(String, String, TagInfo)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>
+<DD>Constructor for TagFileInfo from data in the JSP 2.0 format for TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>.<DD>Tag information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])"><B>TagInfo(String, String, String, String, TagLibraryInfo, TagExtraInfo, TagAttributeInfo[])</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Constructor for TagInfo from data in the JSP 1.1 format for TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])"><B>TagInfo(String, String, String, String, TagLibraryInfo, TagExtraInfo, TagAttributeInfo[], String, String, String, TagVariableInfo[])</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Constructor for TagInfo from data in the JSP 1.2 format for TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)"><B>TagInfo(String, String, String, String, TagLibraryInfo, TagExtraInfo, TagAttributeInfo[], String, String, String, TagVariableInfo[], boolean)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Constructor for TagInfo from data in the JSP 2.0 format for TLD.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>.<DD>Translation-time information associated with a taglib directive, and its
+ underlying TLD file.<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#TagLibraryInfo(java.lang.String, java.lang.String)"><B>TagLibraryInfo(String, String)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>Constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryValidator</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>.<DD>Translation-time validator class for a JSP page.<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html#TagLibraryValidator()"><B>TagLibraryValidator()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<DD>Sole constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>TagSupport</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>.<DD>A base class for defining new tag handlers implementing Tag.<DT><A HREF="javax/servlet/jsp/tagext/TagSupport.html#TagSupport()"><B>TagSupport()</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A>
+<DD>Default constructor, all subclasses are required to define only
+ a public constructor with the same signature, and to call the
+ superclass constructor.
+<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagVariableInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>.<DD>Variable information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.<DT><A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html#TagVariableInfo(java.lang.String, java.lang.String, java.lang.String, boolean, int)"><B>TagVariableInfo(String, String, String, boolean, int)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>
+<DD>Constructor for TagVariableInfo.
+<DT><A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><B>TryCatchFinally</B></A> - interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</A>.<DD>The auxiliary interface of a Tag, IterationTag or BodyTag tag
+ handler that wants additional hooks for managing resources.<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#tagFiles"><B>tagFiles</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the tag files that are defined in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#tags"><B>tags</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>An array describing the tags that are defined in this tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#tlibversion"><B>tlibversion</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The version of the tag library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html#toString()"><B>toString()</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>
+<DD>Returns a String representation of this TagAttributeInfo, suitable
+ for debugging purposes.
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/JspWriter.html#UNBOUNDED_BUFFER"><B>UNBOUNDED_BUFFER</B></A> - 
+Static variable in class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>
+<DD>Constant indicating that the Writer is buffered and is unbounded; this
+ is used in BodyContent.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#uri"><B>uri</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The value of the uri attribute from the taglib directive for 
+ this library.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html#urn"><B>urn</B></A> - 
+Variable in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>
+<DD>The "reliable" URN indicated in the TLD.
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>ValidationMessage</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>.<DD>A validation message from either TagLibraryValidator or TagExtraInfo.<DT><A HREF="javax/servlet/jsp/tagext/ValidationMessage.html#ValidationMessage(java.lang.String, java.lang.String)"><B>ValidationMessage(String, String)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>
+<DD>Create a ValidationMessage.
+<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>VariableInfo</B></A> - class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>.<DD>Information on the scripting variables that are created/modified by
+ a tag (at run-time).<DT><A HREF="javax/servlet/jsp/tagext/VariableInfo.html#VariableInfo(java.lang.String, java.lang.String, boolean, int)"><B>VariableInfo(String, String, boolean, int)</B></A> - 
+Constructor for class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>
+<DD>Constructor
+ These objects can be created (at translation time) by the TagExtraInfo
+ instances.
+<DT><A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><B>VariableResolver</B></A> - interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>.<DD>This class is used to customize the way an ExpressionEvaluator resolves
+ variable references at evaluation time.<DT><A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html#validate(javax.servlet.jsp.tagext.TagData)"><B>validate(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>
+<DD>Translation-time validation of the attributes.
+<DT><A HREF="javax/servlet/jsp/tagext/TagInfo.html#validate(javax.servlet.jsp.tagext.TagData)"><B>validate(TagData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>
+<DD>Translation-time validation of the attributes.
+<DT><A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html#validate(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.PageData)"><B>validate(String, String, PageData)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A>
+<DD>Validate a JSP page.
+</DL>
+<HR>
+<A NAME="_W_"><!-- --></A><H2>
+<B>W</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/tagext/BodyContent.html#writeOut(java.io.Writer)"><B>writeOut(Writer)</B></A> - 
+Method in class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>
+<DD>Write the contents of this BodyContent into a Writer.
+</DL>
+<HR>
+<A NAME="___"><!-- --></A><H2>
+<B>_</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/jsp/HttpJspPage.html#_jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>_jspService(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp">HttpJspPage</A>
+<DD>The _jspService()method corresponds to the body of the JSP page.
+</DL>
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#___">_</A> 
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Mar 05 08:25:31 MST 2007-->
+<TITLE>
+JavaServer Pages API Documentation
+</TITLE>
+</HEAD>
+<FRAMESET cols="20%,80%">
+<FRAMESET rows="30%,70%">
+<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="overview-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/ErrorData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/ErrorData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/ErrorData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ErrorData (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.ErrorData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ErrorData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ErrorData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ErrorData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class ErrorData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.ErrorData</B>
+</PRE>
+<HR>
+<DL>
+<DT>public final class <B>ErrorData</B><DT>extends java.lang.Object</DL>
+
+<P>
+Contains information about an error, for error pages.
+ The information contained in this instance is meaningless if not used
+ in the context of an error page.  To indicate a JSP is an error page,
+ the page author must set the isErrorPage attribute of the page directive
+ to "true".
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/PageContext.html#getErrorData()"><CODE>PageContext.getErrorData()</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/ErrorData.html#ErrorData(java.lang.Throwable, int, java.lang.String, java.lang.String)">ErrorData</A></B>(java.lang.Throwable&nbsp;throwable,
+          int&nbsp;statusCode,
+          java.lang.String&nbsp;uri,
+          java.lang.String&nbsp;servletName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new ErrorData object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/ErrorData.html#getRequestURI()">getRequestURI</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the request URI.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/ErrorData.html#getServletName()">getServletName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the servlet invoked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/ErrorData.html#getStatusCode()">getStatusCode</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the status code of the error.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Throwable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/ErrorData.html#getThrowable()">getThrowable</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Throwable that caused the error.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ErrorData(java.lang.Throwable, int, java.lang.String, java.lang.String)"><!-- --></A><H3>
+ErrorData</H3>
+<PRE>
+public <B>ErrorData</B>(java.lang.Throwable&nbsp;throwable,
+                 int&nbsp;statusCode,
+                 java.lang.String&nbsp;uri,
+                 java.lang.String&nbsp;servletName)</PRE>
+<DL>
+<DD>Creates a new ErrorData object.
+<P>
+<DT><B>Parameters:</B><DD><CODE>throwable</CODE> - The Throwable that is the cause of the error<DD><CODE>statusCode</CODE> - The status code of the error<DD><CODE>uri</CODE> - The request URI<DD><CODE>servletName</CODE> - The name of the servlet invoked</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getThrowable()"><!-- --></A><H3>
+getThrowable</H3>
+<PRE>
+public java.lang.Throwable <B>getThrowable</B>()</PRE>
+<DL>
+<DD>Returns the Throwable that caused the error.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The Throwable that caused the error</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStatusCode()"><!-- --></A><H3>
+getStatusCode</H3>
+<PRE>
+public int <B>getStatusCode</B>()</PRE>
+<DL>
+<DD>Returns the status code of the error.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The status code of the error</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURI()"><!-- --></A><H3>
+getRequestURI</H3>
+<PRE>
+public java.lang.String <B>getRequestURI</B>()</PRE>
+<DL>
+<DD>Returns the request URI.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The request URI</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletName()"><!-- --></A><H3>
+getServletName</H3>
+<PRE>
+public java.lang.String <B>getServletName</B>()</PRE>
+<DL>
+<DD>Returns the name of the servlet invoked.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The name of the servlet invoked</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ErrorData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ErrorData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/HttpJspPage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/HttpJspPage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/HttpJspPage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,267 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+HttpJspPage (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.HttpJspPage interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpJspPage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpJspPage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpJspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Interface HttpJspPage</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A>, javax.servlet.Servlet</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpJspPage</B><DT>extends <A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A></DL>
+
+<P>
+The HttpJspPage interface describes the interaction that a JSP Page
+ Implementation Class must satisfy when using the HTTP protocol.
+
+ <p>
+ The behaviour is identical to that of the JspPage, except for the signature
+ of the _jspService method, which is now expressible in the Java type
+ system and included explicitly in the interface.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><CODE>JspPage</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/HttpJspPage.html#_jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">_jspService</A></B>(javax.servlet.http.HttpServletRequest&nbsp;request,
+            javax.servlet.http.HttpServletResponse&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The _jspService()method corresponds to the body of the JSP page.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.JspPage"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/jsp/JspPage.html#jspDestroy()">jspDestroy</A>, <A HREF="../../../javax/servlet/jsp/JspPage.html#jspInit()">jspInit</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.Servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.Servlet</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>destroy, getServletConfig, getServletInfo, init, service</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="_jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+_jspService</H3>
+<PRE>
+public void <B>_jspService</B>(javax.servlet.http.HttpServletRequest&nbsp;request,
+                        javax.servlet.http.HttpServletResponse&nbsp;response)
+                 throws javax.servlet.ServletException,
+                        java.io.IOException</PRE>
+<DL>
+<DD>The _jspService()method corresponds to the body of the JSP page. This
+ method is defined automatically by the JSP container and should never
+ be defined by the JSP page author.
+ <p>
+ If a superclass is specified using the extends attribute, that
+ superclass may choose to perform some actions in its service() method
+ before or after calling the _jspService() method.  See using the extends
+ attribute in the JSP_Engine chapter of the JSP specification.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - Provides client request information to the JSP.<DD><CODE>response</CODE> - Assists the JSP in sending a response to the client.
+<DT><B>Throws:</B>
+<DD><CODE>javax.servlet.ServletException</CODE> - Thrown if an error occurred during the 
+     processing of the JSP and that the container should take 
+     appropriate action to clean up the request.
+<DD><CODE>java.io.IOException</CODE> - Thrown if an error occurred while writing the
+     response for this page.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpJspPage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpJspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,693 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspContext (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspContext class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspContext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspContext</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspContext</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>JspContext</B><DT>extends java.lang.Object</DL>
+
+<P>
+<p>
+ <code>JspContext</code> serves as the base class for the 
+ PageContext class and abstracts all information that is not specific
+ to servlets.  This allows for Simple Tag Extensions to be used
+ outside of the context of a request/response Servlet.
+ <p>
+ The JspContext provides a number of facilities to the 
+ page/component author and page implementor, including:
+ <ul>
+ <li>a single API to manage the various scoped namespaces
+ <li>a mechanism to obtain the JspWriter for output
+ <li>a mechanism to expose page directive attributes to the 
+     scripting environment
+ </ul>
+
+ <p><B>Methods Intended for Container Generated Code</B>
+ <p>
+ The following methods enable the <B>management of nested</B> JspWriter 
+ streams to implement Tag Extensions: <code>pushBody()</code> and
+ <code>popBody()</code>
+
+ <p><B>Methods Intended for JSP authors</B>
+ <p>
+ Some methods provide <B>uniform access</B> to the diverse objects
+ representing scopes.
+ The implementation must use the underlying machinery
+ corresponding to that scope, so information can be passed back and
+ forth between the underlying environment (e.g. Servlets) and JSP pages.
+ The methods are:
+ <code>setAttribute()</code>,  <code>getAttribute()</code>,
+ <code>findAttribute()</code>,  <code>removeAttribute()</code>,
+ <code>getAttributesScope()</code> and 
+ <code>getAttributeNamesInScope()</code>.
+ 
+ <p>
+ The following methods provide <B>convenient access</B> to implicit objects:
+ <code>getOut()</code>
+
+ <p>
+ The following methods provide <B>programmatic access</b> to the 
+ Expression Language evaluator:
+ <code>getExpressionEvaluator()</code>, <code>getVariableResolver()</code>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#JspContext()">JspContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#findAttribute(java.lang.String)">findAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Searches for the named attribute in page, request, session (if valid),
+ and application scope(s) in order and returns the value associated or
+ null.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the object associated with the name in the page scope or null
+ if not found.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String, int)">getAttribute</A></B>(java.lang.String&nbsp;name,
+             int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the object associated with the name in the specified
+ scope or null if not found.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getAttributeNamesInScope(int)">getAttributeNamesInScope</A></B>(int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumerate all the attributes in a given scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getAttributesScope(java.lang.String)">getAttributesScope</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the scope where a given attribute is defined.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getExpressionEvaluator()">getExpressionEvaluator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides programmatic access to the ExpressionEvaluator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getOut()">getOut</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the out object (a JspWriter).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#getVariableResolver()">getVariableResolver</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an instance of a VariableResolver that provides access to the
+ implicit objects specified in the JSP specification using this JspContext
+ as the context object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#popBody()">popBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the previous JspWriter "out" saved by the matching
+ pushBody(), and update the value of the "out" attribute in
+ the page scope attribute namespace of the JspContext.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#pushBody(java.io.Writer)">pushBody</A></B>(java.io.Writer&nbsp;writer)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new JspWriter object that sends output to the
+ provided Writer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the object reference associated with the given name
+ from all scopes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String, int)">removeAttribute</A></B>(java.lang.String&nbsp;name,
+                int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove the object reference associated with the specified name
+ in the given scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register the name and value specified with page scope semantics.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object, int)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;value,
+             int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Register the name and value specified with appropriate 
+ scope semantics.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspContext()"><!-- --></A><H3>
+JspContext</H3>
+<PRE>
+public <B>JspContext</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public abstract void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                                  java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Register the name and value specified with page scope semantics.
+ If the value passed in is <code>null</code>, this has the same 
+ effect as calling 
+ <code>removeAttribute( name, PageContext.PAGE_SCOPE )</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to set<DD><CODE>value</CODE> - the value to associate with the name, or null if the
+     attribute is to be removed from the page scope.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object, int)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public abstract void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                                  java.lang.Object&nbsp;value,
+                                  int&nbsp;scope)</PRE>
+<DL>
+<DD>Register the name and value specified with appropriate 
+ scope semantics.  If the value passed in is <code>null</code>, 
+ this has the same effect as calling
+ <code>removeAttribute( name, scope )</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to set<DD><CODE>value</CODE> - the object to associate with the name, or null if
+     the attribute is to be removed from the specified scope.<DD><CODE>scope</CODE> - the scope with which to associate the name/object
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the scope is invalid
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the scope is 
+     PageContext.SESSION_SCOPE but the page that was requested
+     does not participate in a session or the session has been
+     invalidated.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public abstract java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the object associated with the name in the page scope or null
+ if not found.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to get
+<DT><B>Returns:</B><DD>the object associated with the name in the page scope 
+     or null if not found.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String, int)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public abstract java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name,
+                                              int&nbsp;scope)</PRE>
+<DL>
+<DD>Return the object associated with the name in the specified
+ scope or null if not found.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to set<DD><CODE>scope</CODE> - the scope with which to associate the name/object
+<DT><B>Returns:</B><DD>the object associated with the name in the specified
+     scope or null if not found.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the scope is invalid
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the scope is 
+     PageContext.SESSION_SCOPE but the page that was requested
+     does not participate in a session or the session has been
+     invalidated.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findAttribute(java.lang.String)"><!-- --></A><H3>
+findAttribute</H3>
+<PRE>
+public abstract java.lang.Object <B>findAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Searches for the named attribute in page, request, session (if valid),
+ and application scope(s) in order and returns the value associated or
+ null.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to search for
+<DT><B>Returns:</B><DD>the value associated or null
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public abstract void <B>removeAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Remove the object reference associated with the given name
+ from all scopes.  Does nothing if there is no such object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the object to remove.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String, int)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public abstract void <B>removeAttribute</B>(java.lang.String&nbsp;name,
+                                     int&nbsp;scope)</PRE>
+<DL>
+<DD>Remove the object reference associated with the specified name
+ in the given scope.  Does nothing if there is no such object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the object to remove.<DD><CODE>scope</CODE> - The scope where to look.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the scope is invalid
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the scope is 
+     PageContext.SESSION_SCOPE but the page that was requested
+     does not participate in a session or the session has been
+     invalidated.
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributesScope(java.lang.String)"><!-- --></A><H3>
+getAttributesScope</H3>
+<PRE>
+public abstract int <B>getAttributesScope</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Get the scope where a given attribute is defined.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the attribute to return the scope for
+<DT><B>Returns:</B><DD>the scope of the object associated with the name specified or 0
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - if the name is null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNamesInScope(int)"><!-- --></A><H3>
+getAttributeNamesInScope</H3>
+<PRE>
+public abstract java.util.Enumeration <B>getAttributeNamesInScope</B>(int&nbsp;scope)</PRE>
+<DL>
+<DD>Enumerate all the attributes in a given scope.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>scope</CODE> - the scope to enumerate all the attributes for
+<DT><B>Returns:</B><DD>an enumeration of names (java.lang.String) of all the 
+     attributes the specified scope
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the scope is invalid
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the scope is 
+     PageContext.SESSION_SCOPE but the page that was requested
+     does not participate in a session or the session has been
+     invalidated.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOut()"><!-- --></A><H3>
+getOut</H3>
+<PRE>
+public abstract <A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> <B>getOut</B>()</PRE>
+<DL>
+<DD>The current value of the out object (a JspWriter).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current JspWriter stream being used for client response</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExpressionEvaluator()"><!-- --></A><H3>
+getExpressionEvaluator</H3>
+<PRE>
+public abstract <A HREF="../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A> <B>getExpressionEvaluator</B>()</PRE>
+<DL>
+<DD>Provides programmatic access to the ExpressionEvaluator.
+ The JSP Container must return a valid instance of an 
+ ExpressionEvaluator that can parse EL expressions.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A valid instance of an ExpressionEvaluator.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariableResolver()"><!-- --></A><H3>
+getVariableResolver</H3>
+<PRE>
+public abstract <A HREF="../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A> <B>getVariableResolver</B>()</PRE>
+<DL>
+<DD>Returns an instance of a VariableResolver that provides access to the
+ implicit objects specified in the JSP specification using this JspContext
+ as the context object.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A valid instance of a VariableResolver.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pushBody(java.io.Writer)"><!-- --></A><H3>
+pushBody</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> <B>pushBody</B>(java.io.Writer&nbsp;writer)</PRE>
+<DL>
+<DD>Return a new JspWriter object that sends output to the
+ provided Writer.  Saves the current "out" JspWriter,
+ and updates the value of the "out" attribute in the
+ page scope attribute namespace of the JspContext.
+ <p>The returned JspWriter must implement all methods and
+ behave as though it were unbuffered.  More specifically:
+ <ul>
+   <li>clear() must throw an IOException</li>
+   <li>clearBuffer() does nothing</li>
+   <li>getBufferSize() always returns 0</li>
+   <li>getRemaining() always returns 0</li>
+ </ul>
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>writer</CODE> - The Writer for the returned JspWriter to send
+     output to.
+<DT><B>Returns:</B><DD>a new JspWriter that writes to the given Writer.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="popBody()"><!-- --></A><H3>
+popBody</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> <B>popBody</B>()</PRE>
+<DL>
+<DD>Return the previous JspWriter "out" saved by the matching
+ pushBody(), and update the value of the "out" attribute in
+ the page scope attribute namespace of the JspContext.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the saved JspWriter.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspEngineInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspEngineInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspEngineInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,272 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspEngineInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspEngineInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspEngineInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspEngineInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspEngineInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspEngineInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspEngineInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>JspEngineInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+The JspEngineInfo is an abstract class that provides information on the
+ current JSP engine.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspEngineInfo.html#JspEngineInfo()">JspEngineInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspEngineInfo.html#getSpecificationVersion()">getSpecificationVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the version number of the JSP specification that is supported by
+ this JSP engine.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspEngineInfo()"><!-- --></A><H3>
+JspEngineInfo</H3>
+<PRE>
+public <B>JspEngineInfo</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getSpecificationVersion()"><!-- --></A><H3>
+getSpecificationVersion</H3>
+<PRE>
+public abstract java.lang.String <B>getSpecificationVersion</B>()</PRE>
+<DL>
+<DD>Return the version number of the JSP specification that is supported by
+ this JSP engine.
+ <p>
+ Specification version numbers that consists of positive decimal integers
+ separated by periods ".", for example, "2.0" or "1.2.3.4.5.6.7".
+ This allows an extensible number to be used to
+ represent major, minor, micro, etc versions.
+ The version number must begin with a number.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the specification version, null is returned if it is not known</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspEngineInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspEngineInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspException (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A>, <A HREF="../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>JspException</B><DT>extends java.lang.Exception</DL>
+
+<P>
+A generic exception known to the JSP engine; uncaught
+ JspExceptions will result in an invocation of the errorpage
+ machinery.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#javax.servlet.jsp.JspException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspException.html#JspException()">JspException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a JspException.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspException.html#JspException(java.lang.String)">JspException</A></B>(java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JSP exception with the
+ specified message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspException.html#JspException(java.lang.String, java.lang.Throwable)">JspException</A></B>(java.lang.String&nbsp;message,
+             java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspException.html#JspException(java.lang.Throwable)">JspException</A></B>(java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Throwable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspException.html#getRootCause()">getRootCause</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the exception that caused this JSP exception.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspException()"><!-- --></A><H3>
+JspException</H3>
+<PRE>
+public <B>JspException</B>()</PRE>
+<DL>
+<DD>Construct a JspException.
+<P>
+</DL>
+<HR>
+
+<A NAME="JspException(java.lang.String)"><!-- --></A><H3>
+JspException</H3>
+<PRE>
+public <B>JspException</B>(java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD>Constructs a new JSP exception with the
+ specified message. The message can be written 
+ to the server log and/or displayed for the user.
+<P>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> 
+				specifying the text of 
+				the exception message</DL>
+<HR>
+
+<A NAME="JspException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+JspException</H3>
+<PRE>
+public <B>JspException</B>(java.lang.String&nbsp;message,
+                    java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> containing 
+				the text of the exception message<DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception 
+				that interfered with the servlet's
+				normal operation, making this servlet
+				exception necessary</DL>
+<HR>
+
+<A NAME="JspException(java.lang.Throwable)"><!-- --></A><H3>
+JspException</H3>
+<PRE>
+public <B>JspException</B>(java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new JSP exception when the JSP 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.  The exception's message is based on the localized
+ message of the underlying exception.
+
+ <p>This method calls the <code>getLocalizedMessage</code> method
+ on the <code>Throwable</code> exception to get a localized exception
+ message. When subclassing <code>JspException</code>, 
+ this method can be overridden to create an exception message 
+ designed for a specific locale.
+<P>
+<DT><B>Parameters:</B><DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception
+ 				that interfered with the JSP's
+				normal operation, making the JSP exception
+				necessary</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRootCause()"><!-- --></A><H3>
+getRootCause</H3>
+<PRE>
+public java.lang.Throwable <B>getRootCause</B>()</PRE>
+<DL>
+<DD>Returns the exception that caused this JSP exception.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Throwable</code> 
+				that caused this JSP exception</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspFactory.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspFactory.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspFactory.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,411 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspFactory (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspFactory class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspFactory (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFactory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspFactory</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspFactory</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>JspFactory</B><DT>extends java.lang.Object</DL>
+
+<P>
+<p>
+ The JspFactory is an abstract class that defines a number of factory
+ methods available to a JSP page at runtime for the purposes of creating
+ instances of various interfaces and classes used to support the JSP 
+ implementation.
+ <p>
+ A conformant JSP Engine implementation will, during it's initialization
+ instantiate an implementation dependent subclass of this class, and make 
+ it globally available for use by JSP implementation classes by registering
+ the instance created with this class via the
+ static <code> setDefaultFactory() </code> method.
+ <p>
+ The PageContext and the JspEngineInfo classes are the only implementation-dependent
+ classes that can be created from the factory.
+ <p>
+ JspFactory objects should not be used by JSP page authors.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#JspFactory()">JspFactory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#getDefaultFactory()">getDefaultFactory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the default factory for this implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#getEngineInfo()">getEngineInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ called to get implementation-specific information on the current JSP engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#getPageContext(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)">getPageContext</A></B>(javax.servlet.Servlet&nbsp;servlet,
+               javax.servlet.ServletRequest&nbsp;request,
+               javax.servlet.ServletResponse&nbsp;response,
+               java.lang.String&nbsp;errorPageURL,
+               boolean&nbsp;needsSession,
+               int&nbsp;buffer,
+               boolean&nbsp;autoflush)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ obtains an instance of an implementation dependent 
+ javax.servlet.jsp.PageContext abstract class for the calling Servlet
+ and currently pending request and response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#releasePageContext(javax.servlet.jsp.PageContext)">releasePageContext</A></B>(<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ called to release a previously allocated PageContext object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspFactory.html#setDefaultFactory(javax.servlet.jsp.JspFactory)">setDefaultFactory</A></B>(<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>&nbsp;deflt)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ set the default factory for this implementation.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspFactory()"><!-- --></A><H3>
+JspFactory</H3>
+<PRE>
+public <B>JspFactory</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setDefaultFactory(javax.servlet.jsp.JspFactory)"><!-- --></A><H3>
+setDefaultFactory</H3>
+<PRE>
+public static void <B>setDefaultFactory</B>(<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>&nbsp;deflt)</PRE>
+<DL>
+<DD><p>
+ set the default factory for this implementation. It is illegal for
+ any principal other than the JSP Engine runtime to call this method.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>deflt</CODE> - The default factory implementation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefaultFactory()"><!-- --></A><H3>
+getDefaultFactory</H3>
+<PRE>
+public static <A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A> <B>getDefaultFactory</B>()</PRE>
+<DL>
+<DD>Returns the default factory for this implementation.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default factory for this implementation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPageContext(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)"><!-- --></A><H3>
+getPageContext</H3>
+<PRE>
+public abstract <A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A> <B>getPageContext</B>(javax.servlet.Servlet&nbsp;servlet,
+                                           javax.servlet.ServletRequest&nbsp;request,
+                                           javax.servlet.ServletResponse&nbsp;response,
+                                           java.lang.String&nbsp;errorPageURL,
+                                           boolean&nbsp;needsSession,
+                                           int&nbsp;buffer,
+                                           boolean&nbsp;autoflush)</PRE>
+<DL>
+<DD><p>
+ obtains an instance of an implementation dependent 
+ javax.servlet.jsp.PageContext abstract class for the calling Servlet
+ and currently pending request and response.
+ </p>
+
+ <p>
+ This method is typically called early in the processing of the 
+ _jspService() method of a JSP implementation class in order to 
+ obtain a PageContext object for the request being processed.
+ </p>
+ <p>
+ Invoking this method shall result in the PageContext.initialize()
+ method being invoked. The PageContext returned is properly initialized.
+ </p>
+ <p>
+ All PageContext objects obtained via this method shall be released
+ by invoking releasePageContext().
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>servlet</CODE> - the requesting servlet<DD><CODE>request</CODE> - the current request pending on the servlet<DD><CODE>response</CODE> - the current response pending on the servlet<DD><CODE>errorPageURL</CODE> - the URL of the error page for the requesting JSP, or null<DD><CODE>needsSession</CODE> - true if the JSP participates in a session<DD><CODE>buffer</CODE> - size of buffer in bytes, PageContext.NO_BUFFER if no buffer,
+			PageContext.DEFAULT_BUFFER if implementation default.<DD><CODE>autoflush</CODE> - should the buffer autoflush to the output stream on buffer
+			overflow, or throw an IOException?
+<DT><B>Returns:</B><DD>the page context<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><CODE>PageContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="releasePageContext(javax.servlet.jsp.PageContext)"><!-- --></A><H3>
+releasePageContext</H3>
+<PRE>
+public abstract void <B>releasePageContext</B>(<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</PRE>
+<DL>
+<DD><p>
+ called to release a previously allocated PageContext object.
+ Results in PageContext.release() being invoked.
+ This method should be invoked prior to returning from the _jspService() method of a JSP implementation
+ class.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pc</CODE> - A PageContext previously obtained by getPageContext()</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEngineInfo()"><!-- --></A><H3>
+getEngineInfo</H3>
+<PRE>
+public abstract <A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A> <B>getEngineInfo</B>()</PRE>
+<DL>
+<DD><p>
+ called to get implementation-specific information on the current JSP engine.
+ </p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a JspEngineInfo object describing the current JSP engine</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFactory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspPage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspPage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspPage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspPage (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspPage interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspPage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspPage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Interface JspPage</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>javax.servlet.Servlet</DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp">HttpJspPage</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>JspPage</B><DT>extends javax.servlet.Servlet</DL>
+
+<P>
+The JspPage interface describes the generic interaction that a JSP Page
+ Implementation class must satisfy; pages that use the HTTP protocol
+ are described by the HttpJspPage interface.
+
+ <p><B>Two plus One Methods</B>
+ <p>
+ The interface defines a protocol with 3 methods; only two of
+ them: jspInit() and jspDestroy() are part of this interface as
+ the signature of the third method: _jspService() depends on
+ the specific protocol used and cannot be expressed in a generic
+ way in Java.
+ <p>
+ A class implementing this interface is responsible for invoking
+ the above methods at the appropriate time based on the
+ corresponding Servlet-based method invocations.
+ <p>
+ The jspInit() and jspDestroy() methods can be defined by a JSP
+ author, but the _jspService() method is defined automatically
+ by the JSP processor based on the contents of the JSP page.
+
+ <p><B>_jspService()</B>
+ <p>
+ The _jspService()method corresponds to the body of the JSP page. This
+ method is defined automatically by the JSP container and should never
+ be defined by the JSP page author.
+ <p>
+ If a superclass is specified using the extends attribute, that
+ superclass may choose to perform some actions in its service() method
+ before or after calling the _jspService() method.  See using the extends
+ attribute in the JSP_Engine chapter of the JSP specification.
+ <p>
+ The specific signature depends on the protocol supported by the JSP page.
+
+ <pre>
+ public void _jspService(<em>ServletRequestSubtype</em> request,
+                             <em>ServletResponseSubtype</em> response)
+        throws ServletException, IOException;
+ </pre>
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspPage.html#jspDestroy()">jspDestroy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The jspDestroy() method is invoked when the JSP page is about to be
+ destroyed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspPage.html#jspInit()">jspInit</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The jspInit() method is invoked when the JSP page is initialized.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.Servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.Servlet</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>destroy, getServletConfig, getServletInfo, init, service</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="jspInit()"><!-- --></A><H3>
+jspInit</H3>
+<PRE>
+public void <B>jspInit</B>()</PRE>
+<DL>
+<DD>The jspInit() method is invoked when the JSP page is initialized. It
+ is the responsibility of the JSP implementation (and of the class
+ mentioned by the extends attribute, if present) that at this point
+ invocations to the getServletConfig() method will return the desired
+ value.
+
+ A JSP page can override this method by including a definition for it
+ in a declaration element.
+
+ A JSP page should redefine the init() method from Servlet.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="jspDestroy()"><!-- --></A><H3>
+jspDestroy</H3>
+<PRE>
+public void <B>jspDestroy</B>()</PRE>
+<DL>
+<DD>The jspDestroy() method is invoked when the JSP page is about to be
+ destroyed.
+ 
+ A JSP page can override this method by including a definition for it
+ in a declaration element.
+
+ A JSP page should redefine the destroy() method from Servlet.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspPage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspTagException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspTagException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspTagException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspTagException (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspTagException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspTagException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspTagException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTagException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.JspException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspTagException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspException</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspTagException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>JspTagException</B><DT>extends <A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></DL>
+
+<P>
+Exception to be used by a Tag Handler to indicate some unrecoverable
+ error.
+ This error is to be caught by the top level of the JSP page and will result
+ in an error page.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#javax.servlet.jsp.JspTagException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspTagException.html#JspTagException()">JspTagException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JspTagException with no message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.String)">JspTagException</A></B>(java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JspTagException with the specified message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.String, java.lang.Throwable)">JspTagException</A></B>(java.lang.String&nbsp;message,
+                java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JspTagException when the JSP Tag
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspTagException.html#JspTagException(java.lang.Throwable)">JspTagException</A></B>(java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new JSP Tag exception when the JSP Tag
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_javax.servlet.jsp.JspException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/jsp/JspException.html#getRootCause()">getRootCause</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspTagException(java.lang.String)"><!-- --></A><H3>
+JspTagException</H3>
+<PRE>
+public <B>JspTagException</B>(java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD>Constructs a new JspTagException with the specified message.
+ The message can be written to the server log and/or displayed
+ for the user.
+<P>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> specifying the text of 
+     the exception message</DL>
+<HR>
+
+<A NAME="JspTagException()"><!-- --></A><H3>
+JspTagException</H3>
+<PRE>
+public <B>JspTagException</B>()</PRE>
+<DL>
+<DD>Constructs a new JspTagException with no message.
+<P>
+</DL>
+<HR>
+
+<A NAME="JspTagException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+JspTagException</H3>
+<PRE>
+public <B>JspTagException</B>(java.lang.String&nbsp;message,
+                       java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new JspTagException when the JSP Tag
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> containing 
+				the text of the exception message<DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception 
+				that interfered with the JSP Tag's
+				normal operation, making this JSP Tag
+				exception necessary<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<A NAME="JspTagException(java.lang.Throwable)"><!-- --></A><H3>
+JspTagException</H3>
+<PRE>
+public <B>JspTagException</B>(java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new JSP Tag exception when the JSP Tag
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.  The exception's message is based on the localized
+ message of the underlying exception.
+
+ <p>This method calls the <code>getLocalizedMessage</code> method
+ on the <code>Throwable</code> exception to get a localized exception
+ message. When subclassing <code>JspTagException</code>, 
+ this method can be overridden to create an exception message 
+ designed for a specific locale.
+<P>
+<DT><B>Parameters:</B><DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception
+ 				that interfered with the JSP Tag's
+				normal operation, making the JSP Tag 
+                          exception necessary<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspTagException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTagException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.JspException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspWriter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspWriter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/JspWriter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspWriter (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.JspWriter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspWriter (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class JspWriter</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.io.Writer
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.JspWriter</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>JspWriter</B><DT>extends java.io.Writer</DL>
+
+<P>
+<p>
+ The actions and template data in a JSP page is written using the
+ JspWriter object that is referenced by the implicit variable out which
+ is initialized automatically using methods in the PageContext object.
+<p>
+ This abstract class emulates some of the functionality found in the
+ java.io.BufferedWriter and java.io.PrintWriter classes,
+ however it differs in that it throws java.io.IOException from the print
+ methods while PrintWriter does not.
+ <p><B>Buffering</B>
+ <p>
+ The initial JspWriter object is associated with the PrintWriter object
+ of the ServletResponse in a way that depends on whether the page is or
+ is not buffered. If the page is not buffered, output written to this
+ JspWriter object will be written through to the PrintWriter directly,
+ which will be created if necessary by invoking the getWriter() method
+ on the response object. But if the page is buffered, the PrintWriter
+ object will not be created until the buffer is flushed and
+ operations like setContentType() are legal. Since this flexibility
+ simplifies programming substantially, buffering is the default for JSP
+ pages.
+ <p>
+ Buffering raises the issue of what to do when the buffer is
+ exceeded. Two approaches can be taken:
+ <ul>
+ <li>
+ Exceeding the buffer is not a fatal error; when the buffer is
+ exceeded, just flush the output.
+ <li>
+ Exceeding the buffer is a fatal error; when the buffer is exceeded,
+ raise an exception.
+ </ul>
+ <p>
+ Both approaches are valid, and thus both are supported in the JSP
+ technology. The behavior of a page is controlled by the autoFlush
+ attribute, which defaults to true. In general, JSP pages that need to
+ be sure that correct and complete data has been sent to their client
+ may want to set autoFlush to false, with a typical case being that
+ where the client is an application itself. On the other hand, JSP
+ pages that send data that is meaningful even when partially
+ constructed may want to set autoFlush to true; such as when the
+ data is sent for immediate display through a browser. Each application
+ will need to consider their specific needs.
+ <p>
+ An alternative considered was to make the buffer size unbounded; but,
+ this had the disadvantage that runaway computations would consume an
+ unbounded amount of resources.
+ <p>
+ The "out" implicit variable of a JSP implementation class is of this type.
+ If the page directive selects autoflush="true" then all the I/O operations
+ on this class shall automatically flush the contents of the buffer if an
+ overflow condition would result if the current operation were performed
+ without a flush. If autoflush="false" then all the I/O operations on this
+ class shall throw an IOException if performing the current operation would
+ result in a buffer overflow condition.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><CODE>Writer</CODE>, 
+<CODE>BufferedWriter</CODE>, 
+<CODE>PrintWriter</CODE></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#autoFlush">autoFlush</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether the JspWriter is autoflushing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#bufferSize">bufferSize</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The size of the buffer used by the JspWriter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#DEFAULT_BUFFER">DEFAULT_BUFFER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant indicating that the Writer is buffered and is using the
+ implementation default buffer size.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#NO_BUFFER">NO_BUFFER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant indicating that the Writer is not buffering output.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#UNBOUNDED_BUFFER">UNBOUNDED_BUFFER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constant indicating that the Writer is buffered and is unbounded; this
+ is used in BodyContent.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.io.Writer</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>lock</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#JspWriter(int, boolean)">JspWriter</A></B>(int&nbsp;bufferSize,
+          boolean&nbsp;autoFlush)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protected constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the contents of the buffer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#clearBuffer()">clearBuffer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the current contents of the buffer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#close()">close</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Close the stream, flushing it first.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#flush()">flush</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush the stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#getBufferSize()">getBufferSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the size of the buffer used by the JspWriter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#getRemaining()">getRemaining</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method returns the number of unused bytes in the buffer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#isAutoFlush()">isAutoFlush</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This method indicates whether the JspWriter is autoFlushing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#newLine()">newLine</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write a line separator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(boolean)">print</A></B>(boolean&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a boolean value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(char)">print</A></B>(char&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a character.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(char[])">print</A></B>(char[]&nbsp;s)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an array of characters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(double)">print</A></B>(double&nbsp;d)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a double-precision floating-point number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(float)">print</A></B>(float&nbsp;f)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a floating-point number.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(int)">print</A></B>(int&nbsp;i)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an integer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(long)">print</A></B>(long&nbsp;l)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a long integer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(java.lang.Object)">print</A></B>(java.lang.Object&nbsp;obj)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(java.lang.String)">print</A></B>(java.lang.String&nbsp;s)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a string.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()">println</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Terminate the current line by writing the line separator string.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(boolean)">println</A></B>(boolean&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a boolean value and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(char)">println</A></B>(char&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a character and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(char[])">println</A></B>(char[]&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an array of characters and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(double)">println</A></B>(double&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a double-precision floating-point number and then terminate the
+ line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(float)">println</A></B>(float&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a floating-point number and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(int)">println</A></B>(int&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an integer and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(long)">println</A></B>(long&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a long integer and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(java.lang.Object)">println</A></B>(java.lang.Object&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print an Object and then terminate the line.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/JspWriter.html#println(java.lang.String)">println</A></B>(java.lang.String&nbsp;x)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Print a String and then terminate the line.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.Writer</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>write, write, write, write, write</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NO_BUFFER"><!-- --></A><H3>
+NO_BUFFER</H3>
+<PRE>
+public static final int <B>NO_BUFFER</B></PRE>
+<DL>
+<DD>Constant indicating that the Writer is not buffering output.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.JspWriter.NO_BUFFER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_BUFFER"><!-- --></A><H3>
+DEFAULT_BUFFER</H3>
+<PRE>
+public static final int <B>DEFAULT_BUFFER</B></PRE>
+<DL>
+<DD>Constant indicating that the Writer is buffered and is using the
+ implementation default buffer size.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.JspWriter.DEFAULT_BUFFER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UNBOUNDED_BUFFER"><!-- --></A><H3>
+UNBOUNDED_BUFFER</H3>
+<PRE>
+public static final int <B>UNBOUNDED_BUFFER</B></PRE>
+<DL>
+<DD>Constant indicating that the Writer is buffered and is unbounded; this
+ is used in BodyContent.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.JspWriter.UNBOUNDED_BUFFER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="bufferSize"><!-- --></A><H3>
+bufferSize</H3>
+<PRE>
+protected int <B>bufferSize</B></PRE>
+<DL>
+<DD>The size of the buffer used by the JspWriter.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="autoFlush"><!-- --></A><H3>
+autoFlush</H3>
+<PRE>
+protected boolean <B>autoFlush</B></PRE>
+<DL>
+<DD>Whether the JspWriter is autoflushing.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspWriter(int, boolean)"><!-- --></A><H3>
+JspWriter</H3>
+<PRE>
+protected <B>JspWriter</B>(int&nbsp;bufferSize,
+                    boolean&nbsp;autoFlush)</PRE>
+<DL>
+<DD>Protected constructor.
+<P>
+<DT><B>Parameters:</B><DD><CODE>bufferSize</CODE> - the size of the buffer to be used by the JspWriter<DD><CODE>autoFlush</CODE> - whether the JspWriter should be autoflushing</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="newLine()"><!-- --></A><H3>
+newLine</H3>
+<PRE>
+public abstract void <B>newLine</B>()
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Write a line separator.  The line separator string is defined by the
+ system property <tt>line.separator</tt>, and is not necessarily a single
+ newline ('\n') character.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(boolean)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(boolean&nbsp;b)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a boolean value.  The string produced by <code><CODE>String.valueOf(boolean)</CODE></code> is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the 
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - The <code>boolean</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(char)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(char&nbsp;c)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a character.  The character is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - The <code>char</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(int)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(int&nbsp;i)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print an integer.  The string produced by <code><CODE>String.valueOf(int)</CODE></code> is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>i</CODE> - The <code>int</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing<DT><B>See Also:</B><DD><CODE>Integer.toString(int)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(long)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(long&nbsp;l)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a long integer.  The string produced by <code><CODE>String.valueOf(long)</CODE></code> is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>l</CODE> - The <code>long</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing<DT><B>See Also:</B><DD><CODE>Long.toString(long)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(float)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(float&nbsp;f)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a floating-point number.  The string produced by <code><CODE>String.valueOf(float)</CODE></code> is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>f</CODE> - The <code>float</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing<DT><B>See Also:</B><DD><CODE>Float.toString(float)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(double)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(double&nbsp;d)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a double-precision floating-point number.  The string produced by
+ <code><CODE>String.valueOf(double)</CODE></code> is written to
+ the JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>d</CODE> - The <code>double</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing<DT><B>See Also:</B><DD><CODE>Double.toString(double)</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(char[])"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(char[]&nbsp;s)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print an array of characters.  The characters are written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>s</CODE> - The array of chars to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NullPointerException</CODE> - If <code>s</code> is <code>null</code>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(java.lang.String)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(java.lang.String&nbsp;s)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print a string.  If the argument is <code>null</code> then the string
+ <code>"null"</code> is printed.  Otherwise, the string's characters are
+ written to the JspWriter's buffer or, if no buffer is used, directly
+ to the underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>s</CODE> - The <code>String</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(java.lang.Object)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public abstract void <B>print</B>(java.lang.Object&nbsp;obj)
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Print an object.  The string produced by the <code><CODE>String.valueOf(Object)</CODE></code> method is written to the
+ JspWriter's buffer or, if no buffer is used, directly to the
+ underlying writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - The <code>Object</code> to be printed
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing<DT><B>See Also:</B><DD><CODE>Object.toString()</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println()"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>()
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Terminate the current line by writing the line separator string.  The
+ line separator string is defined by the system property
+ <code>line.separator</code>, and is not necessarily a single newline
+ character (<code>'\n'</code>).
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(boolean)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(boolean&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a boolean value and then terminate the line.  This method behaves
+ as though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(boolean)"><CODE>print(boolean)</CODE></A></code> and then
+ <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the boolean to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(char)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(char&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a character and then terminate the line.  This method behaves as
+ though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(char)"><CODE>print(char)</CODE></A></code> and then <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the char to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(int)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(int&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print an integer and then terminate the line.  This method behaves as
+ though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(int)"><CODE>print(int)</CODE></A></code> and then <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the int to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(long)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(long&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a long integer and then terminate the line.  This method behaves
+ as though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(long)"><CODE>print(long)</CODE></A></code> and then
+ <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the long to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(float)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(float&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a floating-point number and then terminate the line.  This method
+ behaves as though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(float)"><CODE>print(float)</CODE></A></code> and then
+ <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the float to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(double)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(double&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a double-precision floating-point number and then terminate the
+ line.  This method behaves as though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(double)"><CODE>print(double)</CODE></A></code> and then <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the double to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(char[])"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(char[]&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print an array of characters and then terminate the line.  This method
+ behaves as though it invokes <code>print(char[])</code> and then
+ <code>println()</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the char[] to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(java.lang.String)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(java.lang.String&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print a String and then terminate the line.  This method behaves as
+ though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(java.lang.String)"><CODE>print(String)</CODE></A></code> and then
+ <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the String to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(java.lang.Object)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public abstract void <B>println</B>(java.lang.Object&nbsp;x)
+                      throws java.io.IOException</PRE>
+<DL>
+<DD>Print an Object and then terminate the line.  This method behaves as
+ though it invokes <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#print(java.lang.Object)"><CODE>print(Object)</CODE></A></code> and then
+ <code><A HREF="../../../javax/servlet/jsp/JspWriter.html#println()"><CODE>println()</CODE></A></code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>x</CODE> - the Object to write
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an error occured while writing</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public abstract void <B>clear</B>()
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Clear the contents of the buffer. If the buffer has been already
+ been flushed then the clear operation shall throw an IOException
+ to signal the fact that some data has already been irrevocably 
+ written to the client response stream.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearBuffer()"><!-- --></A><H3>
+clearBuffer</H3>
+<PRE>
+public abstract void <B>clearBuffer</B>()
+                          throws java.io.IOException</PRE>
+<DL>
+<DD>Clears the current contents of the buffer. Unlike clear(), this
+ method will not throw an IOException if the buffer has already been
+ flushed. It merely clears the current content of the buffer and
+ returns.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="flush()"><!-- --></A><H3>
+flush</H3>
+<PRE>
+public abstract void <B>flush</B>()
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Flush the stream.  If the stream has saved any characters from the
+ various write() methods in a buffer, write them immediately to their
+ intended destination.  Then, if that destination is another character or
+ byte stream, flush it.  Thus one flush() invocation will flush all the
+ buffers in a chain of Writers and OutputStreams.
+ <p>
+ The method may be invoked indirectly if the buffer size is exceeded.
+ <p>
+ Once a stream has been closed,
+ further write() or flush() invocations will cause an IOException to be
+ thrown.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public abstract void <B>close</B>()
+                    throws java.io.IOException</PRE>
+<DL>
+<DD>Close the stream, flushing it first.
+ <p>
+ This method needs not be invoked explicitly for the initial JspWriter
+ as the code generated by the JSP container will automatically
+ include a call to close().
+ <p>
+ Closing a previously-closed stream, unlike flush(), has no effect.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an I/O error occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBufferSize()"><!-- --></A><H3>
+getBufferSize</H3>
+<PRE>
+public int <B>getBufferSize</B>()</PRE>
+<DL>
+<DD>This method returns the size of the buffer used by the JspWriter.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the size of the buffer in bytes, or 0 is unbuffered.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemaining()"><!-- --></A><H3>
+getRemaining</H3>
+<PRE>
+public abstract int <B>getRemaining</B>()</PRE>
+<DL>
+<DD>This method returns the number of unused bytes in the buffer.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of bytes unused in the buffer</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isAutoFlush()"><!-- --></A><H3>
+isAutoFlush</H3>
+<PRE>
+public boolean <B>isAutoFlush</B>()</PRE>
+<DL>
+<DD>This method indicates whether the JspWriter is autoFlushing.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>if this JspWriter is auto flushing or throwing IOExceptions 
+     on buffer overflow conditions</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspWriter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/PageContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/PageContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/PageContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+PageContext (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.PageContext class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="PageContext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PageContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class PageContext</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspContext</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.PageContext</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>PageContext</B><DT>extends <A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></DL>
+
+<P>
+<p>
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.
+ <p>
+ A PageContext instance provides access to all the namespaces associated
+ with a JSP page, provides access to several page attributes, as well as
+ a layer above the implementation details.  Implicit objects are added
+ to the pageContext automatically.
+
+ <p> The <code> PageContext </code> class is an abstract class, designed to be
+ extended to provide implementation dependent implementations thereof, by
+ conformant JSP engine runtime environments. A PageContext instance is 
+ obtained by a JSP implementation class by calling the
+ JspFactory.getPageContext() method, and is released by calling
+ JspFactory.releasePageContext().
+
+ <p> An example of how PageContext, JspFactory, and other classes can be
+ used  within a JSP Page Implementation object is given elsewhere.
+
+ <p>
+ The PageContext provides a number of facilities to the page/component 
+ author and page implementor, including:
+ <ul>
+ <li>a single API to manage the various scoped namespaces
+ <li>a number of convenience API's to access various public objects
+ <li>a mechanism to obtain the JspWriter for output
+ <li>a mechanism to manage session usage by the page
+ <li>a mechanism to expose page directive attributes to the scripting 
+     environment
+ <li>mechanisms to forward or include the current request to other active 
+     components in the application
+ <li>a mechanism to handle errorpage exception processing
+ </ul>
+
+ <p><B>Methods Intended for Container Generated Code</B>
+ <p>Some methods are intended to be used by the code generated by the
+ container, not by code written by JSP page authors, or JSP tag library 
+ authors.
+ <p>The methods supporting <B>lifecycle</B> are <code>initialize()</code>
+ and <code>release()</code>
+
+ <p>
+ The following methods enable the <B>management of nested</B> JspWriter 
+ streams to implement Tag Extensions: <code>pushBody()</code>
+
+ <p><B>Methods Intended for JSP authors</B>
+ <p>
+ The following methods provide <B>convenient access</B> to implicit objects:
+ <code>getException()</code>,  <code>getPage()</code>
+ <code>getRequest()</code>,  <code>getResponse()</code>,
+ <code>getSession()</code>,  <code>getServletConfig()</code>
+ and <code>getServletContext()</code>.
+
+ <p>
+ The following methods provide support for <B>forwarding, inclusion
+ and error handling</B>:
+ <code>forward()</code>,  <code>include()</code>,
+ and  <code>handlePageException()</code>.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#APPLICATION">APPLICATION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store ServletContext in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#APPLICATION_SCOPE">APPLICATION_SCOPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Application scope: named reference remains available in the 
+ ServletContext until it is reclaimed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#CONFIG">CONFIG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store ServletConfig in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#EXCEPTION">EXCEPTION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store uncaught exception in ServletRequest attribute 
+ list and PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#OUT">OUT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store current JspWriter in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#PAGE">PAGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store the Servlet in this PageContext's nametables.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#PAGE_SCOPE">PAGE_SCOPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Page scope: (this is the default) the named reference remains available
+ in this PageContext until the return from the current Servlet.service()
+ invocation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#PAGECONTEXT">PAGECONTEXT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store this PageContext in it's own name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#REQUEST">REQUEST</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store ServletRequest in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#REQUEST_SCOPE">REQUEST_SCOPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request scope: the named reference remains available from the 
+ ServletRequest associated with the Servlet until the current request 
+ is completed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#RESPONSE">RESPONSE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store ServletResponse in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#SESSION">SESSION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name used to store HttpSession in PageContext name table.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#SESSION_SCOPE">SESSION_SCOPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Session scope (only valid if this page participates in a session):
+ the named reference remains available from the HttpSession (if any)
+ associated with the Servlet until the HttpSession is invalidated.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#PageContext()">PageContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#forward(java.lang.String)">forward</A></B>(java.lang.String&nbsp;relativeUrlPath)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ This method is used to re-direct, or "forward" the current 
+ ServletRequest and ServletResponse to another active component in 
+ the application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getErrorData()">getErrorData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides convenient access to error information.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Exception</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getException()">getException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the exception object (an Exception).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getPage()">getPage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the page object (In a Servlet environment, 
+ this is an instance of javax.servlet.Servlet).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;javax.servlet.ServletRequest</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getRequest()">getRequest</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the request object (a ServletRequest).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;javax.servlet.ServletResponse</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getResponse()">getResponse</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the response object (a ServletResponse).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;javax.servlet.ServletConfig</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getServletConfig()">getServletConfig</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ServletConfig instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;javax.servlet.ServletContext</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The ServletContext instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;javax.servlet.http.HttpSession</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the session object (an HttpSession).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Exception)">handlePageException</A></B>(java.lang.Exception&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Throwable)">handlePageException</A></B>(java.lang.Throwable&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#include(java.lang.String)">include</A></B>(java.lang.String&nbsp;relativeUrlPath)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#include(java.lang.String, boolean)">include</A></B>(java.lang.String&nbsp;relativeUrlPath,
+        boolean&nbsp;flush)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#initialize(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)">initialize</A></B>(javax.servlet.Servlet&nbsp;servlet,
+           javax.servlet.ServletRequest&nbsp;request,
+           javax.servlet.ServletResponse&nbsp;response,
+           java.lang.String&nbsp;errorPageURL,
+           boolean&nbsp;needsSession,
+           int&nbsp;bufferSize,
+           boolean&nbsp;autoFlush)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ The initialize method is called to initialize an uninitialized PageContext
+ so that it may be used by a JSP Implementation class to service an
+ incoming request and response within it's _jspService() method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#pushBody()">pushBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new BodyContent object, save the current "out" JspWriter,
+ and update the value of the "out" attribute in the page scope
+ attribute namespace of the PageContext.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/PageContext.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ This method shall "reset" the internal state of a PageContext, releasing
+ all internal references, and preparing the PageContext for potential
+ reuse by a later invocation of initialize().</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.JspContext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/jsp/JspContext.html#findAttribute(java.lang.String)">findAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String)">getAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getAttribute(java.lang.String, int)">getAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getAttributeNamesInScope(int)">getAttributeNamesInScope</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getAttributesScope(java.lang.String)">getAttributesScope</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getExpressionEvaluator()">getExpressionEvaluator</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getOut()">getOut</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#getVariableResolver()">getVariableResolver</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#popBody()">popBody</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#pushBody(java.io.Writer)">pushBody</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String)">removeAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#removeAttribute(java.lang.String, int)">removeAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A>, <A HREF="../../../javax/servlet/jsp/JspContext.html#setAttribute(java.lang.String, java.lang.Object, int)">setAttribute</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="PAGE_SCOPE"><!-- --></A><H3>
+PAGE_SCOPE</H3>
+<PRE>
+public static final int <B>PAGE_SCOPE</B></PRE>
+<DL>
+<DD>Page scope: (this is the default) the named reference remains available
+ in this PageContext until the return from the current Servlet.service()
+ invocation.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.PAGE_SCOPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="REQUEST_SCOPE"><!-- --></A><H3>
+REQUEST_SCOPE</H3>
+<PRE>
+public static final int <B>REQUEST_SCOPE</B></PRE>
+<DL>
+<DD>Request scope: the named reference remains available from the 
+ ServletRequest associated with the Servlet until the current request 
+ is completed.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.REQUEST_SCOPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SESSION_SCOPE"><!-- --></A><H3>
+SESSION_SCOPE</H3>
+<PRE>
+public static final int <B>SESSION_SCOPE</B></PRE>
+<DL>
+<DD>Session scope (only valid if this page participates in a session):
+ the named reference remains available from the HttpSession (if any)
+ associated with the Servlet until the HttpSession is invalidated.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.SESSION_SCOPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="APPLICATION_SCOPE"><!-- --></A><H3>
+APPLICATION_SCOPE</H3>
+<PRE>
+public static final int <B>APPLICATION_SCOPE</B></PRE>
+<DL>
+<DD>Application scope: named reference remains available in the 
+ ServletContext until it is reclaimed.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.APPLICATION_SCOPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PAGE"><!-- --></A><H3>
+PAGE</H3>
+<PRE>
+public static final java.lang.String <B>PAGE</B></PRE>
+<DL>
+<DD>Name used to store the Servlet in this PageContext's nametables.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.PAGE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PAGECONTEXT"><!-- --></A><H3>
+PAGECONTEXT</H3>
+<PRE>
+public static final java.lang.String <B>PAGECONTEXT</B></PRE>
+<DL>
+<DD>Name used to store this PageContext in it's own name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.PAGECONTEXT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="REQUEST"><!-- --></A><H3>
+REQUEST</H3>
+<PRE>
+public static final java.lang.String <B>REQUEST</B></PRE>
+<DL>
+<DD>Name used to store ServletRequest in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.REQUEST">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="RESPONSE"><!-- --></A><H3>
+RESPONSE</H3>
+<PRE>
+public static final java.lang.String <B>RESPONSE</B></PRE>
+<DL>
+<DD>Name used to store ServletResponse in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.RESPONSE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CONFIG"><!-- --></A><H3>
+CONFIG</H3>
+<PRE>
+public static final java.lang.String <B>CONFIG</B></PRE>
+<DL>
+<DD>Name used to store ServletConfig in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.CONFIG">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SESSION"><!-- --></A><H3>
+SESSION</H3>
+<PRE>
+public static final java.lang.String <B>SESSION</B></PRE>
+<DL>
+<DD>Name used to store HttpSession in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.SESSION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="OUT"><!-- --></A><H3>
+OUT</H3>
+<PRE>
+public static final java.lang.String <B>OUT</B></PRE>
+<DL>
+<DD>Name used to store current JspWriter in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.OUT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="APPLICATION"><!-- --></A><H3>
+APPLICATION</H3>
+<PRE>
+public static final java.lang.String <B>APPLICATION</B></PRE>
+<DL>
+<DD>Name used to store ServletContext in PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.APPLICATION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EXCEPTION"><!-- --></A><H3>
+EXCEPTION</H3>
+<PRE>
+public static final java.lang.String <B>EXCEPTION</B></PRE>
+<DL>
+<DD>Name used to store uncaught exception in ServletRequest attribute 
+ list and PageContext name table.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.jsp.PageContext.EXCEPTION">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="PageContext()"><!-- --></A><H3>
+PageContext</H3>
+<PRE>
+public <B>PageContext</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="initialize(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)"><!-- --></A><H3>
+initialize</H3>
+<PRE>
+public abstract void <B>initialize</B>(javax.servlet.Servlet&nbsp;servlet,
+                                javax.servlet.ServletRequest&nbsp;request,
+                                javax.servlet.ServletResponse&nbsp;response,
+                                java.lang.String&nbsp;errorPageURL,
+                                boolean&nbsp;needsSession,
+                                int&nbsp;bufferSize,
+                                boolean&nbsp;autoFlush)
+                         throws java.io.IOException,
+                                java.lang.IllegalStateException,
+                                java.lang.IllegalArgumentException</PRE>
+<DL>
+<DD><p>
+ The initialize method is called to initialize an uninitialized PageContext
+ so that it may be used by a JSP Implementation class to service an
+ incoming request and response within it's _jspService() method.
+
+ <p>
+ This method is typically called from JspFactory.getPageContext() in
+ order to initialize state.
+
+ <p>
+ This method is required to create an initial JspWriter, and associate
+ the "out" name in page scope with this newly created object.
+
+ <p>
+ This method should not be used by page  or tag library authors.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>servlet</CODE> - The Servlet that is associated with this PageContext<DD><CODE>request</CODE> - The currently pending request for this Servlet<DD><CODE>response</CODE> - The currently pending response for this Servlet<DD><CODE>errorPageURL</CODE> - The value of the errorpage attribute from the page 
+     directive or null<DD><CODE>needsSession</CODE> - The value of the session attribute from the 
+     page directive<DD><CODE>bufferSize</CODE> - The value of the buffer attribute from the page 
+     directive<DD><CODE>autoFlush</CODE> - The value of the autoflush attribute from the page 
+     directive
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - during creation of JspWriter
+<DD><CODE>java.lang.IllegalStateException</CODE> - if out not correctly initialized
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - If one of the given parameters
+     is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public abstract void <B>release</B>()</PRE>
+<DL>
+<DD><p>
+ This method shall "reset" the internal state of a PageContext, releasing
+ all internal references, and preparing the PageContext for potential
+ reuse by a later invocation of initialize(). This method is typically
+ called from JspFactory.releasePageContext().
+
+ <p>
+ Subclasses shall envelope this method.
+
+ <p>
+ This method should not be used by page  or tag library authors.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public abstract javax.servlet.http.HttpSession <B>getSession</B>()</PRE>
+<DL>
+<DD>The current value of the session object (an HttpSession).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the HttpSession for this PageContext or null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPage()"><!-- --></A><H3>
+getPage</H3>
+<PRE>
+public abstract java.lang.Object <B>getPage</B>()</PRE>
+<DL>
+<DD>The current value of the page object (In a Servlet environment, 
+ this is an instance of javax.servlet.Servlet).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Page implementation class instance associated 
+     with this PageContext</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequest()"><!-- --></A><H3>
+getRequest</H3>
+<PRE>
+public abstract javax.servlet.ServletRequest <B>getRequest</B>()</PRE>
+<DL>
+<DD>The current value of the request object (a ServletRequest).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The ServletRequest for this PageContext</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResponse()"><!-- --></A><H3>
+getResponse</H3>
+<PRE>
+public abstract javax.servlet.ServletResponse <B>getResponse</B>()</PRE>
+<DL>
+<DD>The current value of the response object (a ServletResponse).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ServletResponse for this PageContext</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getException()"><!-- --></A><H3>
+getException</H3>
+<PRE>
+public abstract java.lang.Exception <B>getException</B>()</PRE>
+<DL>
+<DD>The current value of the exception object (an Exception).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>any exception passed to this as an errorpage</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletConfig()"><!-- --></A><H3>
+getServletConfig</H3>
+<PRE>
+public abstract javax.servlet.ServletConfig <B>getServletConfig</B>()</PRE>
+<DL>
+<DD>The ServletConfig instance.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ServletConfig for this PageContext</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public abstract javax.servlet.ServletContext <B>getServletContext</B>()</PRE>
+<DL>
+<DD>The ServletContext instance.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ServletContext for this PageContext</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="forward(java.lang.String)"><!-- --></A><H3>
+forward</H3>
+<PRE>
+public abstract void <B>forward</B>(java.lang.String&nbsp;relativeUrlPath)
+                      throws javax.servlet.ServletException,
+                             java.io.IOException</PRE>
+<DL>
+<DD><p>
+ This method is used to re-direct, or "forward" the current 
+ ServletRequest and ServletResponse to another active component in 
+ the application.
+ </p>
+ <p>
+ If the <I> relativeUrlPath </I> begins with a "/" then the URL specified
+ is calculated relative to the DOCROOT of the <code> ServletContext </code>
+ for this JSP. If the path does not begin with a "/" then the URL 
+ specified is calculated relative to the URL of the request that was
+ mapped to the calling JSP.
+ </p>
+ <p>
+ It is only valid to call this method from a <code> Thread </code>
+ executing within a <code> _jspService(...) </code> method of a JSP.
+ </p>
+ <p>
+ Once this method has been called successfully, it is illegal for the
+ calling <code> Thread </code> to attempt to modify the <code>
+ ServletResponse </code> object.  Any such attempt to do so, shall result
+ in undefined behavior. Typically, callers immediately return from 
+ <code> _jspService(...) </code> after calling this method.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>relativeUrlPath</CODE> - specifies the relative URL path to the target 
+     resource as described above
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if <code> ServletResponse </code> is not 
+     in a state where a forward can be performed
+<DD><CODE>javax.servlet.ServletException</CODE> - if the page that was forwarded to throws
+     a ServletException
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while forwarding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="include(java.lang.String)"><!-- --></A><H3>
+include</H3>
+<PRE>
+public abstract void <B>include</B>(java.lang.String&nbsp;relativeUrlPath)
+                      throws javax.servlet.ServletException,
+                             java.io.IOException</PRE>
+<DL>
+<DD><p>
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.
+ The output of the target resources processing of the request is written
+ directly to the ServletResponse output stream.
+ </p>
+ <p>
+ The current JspWriter "out" for this JSP is flushed as a side-effect
+ of this call, prior to processing the include.
+ </p>
+ <p>
+ If the <I> relativeUrlPath </I> begins with a "/" then the URL specified
+ is calculated relative to the DOCROOT of the <code>ServletContext</code>
+ for this JSP. If the path does not begin with a "/" then the URL 
+ specified is calculated relative to the URL of the request that was
+ mapped to the calling JSP.
+ </p>
+ <p>
+ It is only valid to call this method from a <code> Thread </code>
+ executing within a <code> _jspService(...) </code> method of a JSP.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>relativeUrlPath</CODE> - specifies the relative URL path to the target 
+     resource to be included
+<DT><B>Throws:</B>
+<DD><CODE>javax.servlet.ServletException</CODE> - if the page that was forwarded to throws
+     a ServletException
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while forwarding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="include(java.lang.String, boolean)"><!-- --></A><H3>
+include</H3>
+<PRE>
+public abstract void <B>include</B>(java.lang.String&nbsp;relativeUrlPath,
+                             boolean&nbsp;flush)
+                      throws javax.servlet.ServletException,
+                             java.io.IOException</PRE>
+<DL>
+<DD><p>
+ Causes the resource specified to be processed as part of the current
+ ServletRequest and ServletResponse being processed by the calling Thread.
+ The output of the target resources processing of the request is written
+ directly to the current JspWriter returned by a call to getOut().
+ </p>
+ <p>
+ If flush is true, The current JspWriter "out" for this JSP 
+ is flushed as a side-effect of this call, prior to processing 
+ the include.  Otherwise, the JspWriter "out" is not flushed.
+ </p>
+ <p>
+ If the <i>relativeUrlPath</i> begins with a "/" then the URL specified
+ is calculated relative to the DOCROOT of the <code>ServletContext</code>
+ for this JSP. If the path does not begin with a "/" then the URL 
+ specified is calculated relative to the URL of the request that was
+ mapped to the calling JSP.
+ </p>
+ <p>
+ It is only valid to call this method from a <code> Thread </code>
+ executing within a <code> _jspService(...) </code> method of a JSP.
+ </p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>relativeUrlPath</CODE> - specifies the relative URL path to the 
+     target resource to be included<DD><CODE>flush</CODE> - True if the JspWriter is to be flushed before the include,
+     or false if not.
+<DT><B>Throws:</B>
+<DD><CODE>javax.servlet.ServletException</CODE> - if the page that was forwarded to throws
+     a ServletException
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while forwarding<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handlePageException(java.lang.Exception)"><!-- --></A><H3>
+handlePageException</H3>
+<PRE>
+public abstract void <B>handlePageException</B>(java.lang.Exception&nbsp;e)
+                                  throws javax.servlet.ServletException,
+                                         java.io.IOException</PRE>
+<DL>
+<DD><p>
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.  If forwarding is not possible (for
+ example because the response has already been committed), an
+ implementation dependent mechanism should be used to invoke
+ the error page (e.g. "including" the error page instead).
+
+ <p>
+ If no error page is defined in the page, the exception should
+ be rethrown so that the standard servlet error handling
+ takes over.
+
+ <p>
+ A JSP implementation class shall typically clean up any local state
+ prior to invoking this and will return immediately thereafter. It is
+ illegal to generate any output to the client, or to modify any 
+ ServletResponse state after invoking this call.
+
+ <p>
+ This method is kept for backwards compatiblity reasons.  Newly
+ generated code should use PageContext.handlePageException(Throwable).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - the exception to be handled
+<DT><B>Throws:</B>
+<DD><CODE>javax.servlet.ServletException</CODE> - if an error occurs while invoking the error page
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while invoking the error
+     page
+<DD><CODE>java.lang.NullPointerException</CODE> - if the exception is null<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Throwable)"><CODE>handlePageException(Throwable)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="handlePageException(java.lang.Throwable)"><!-- --></A><H3>
+handlePageException</H3>
+<PRE>
+public abstract void <B>handlePageException</B>(java.lang.Throwable&nbsp;t)
+                                  throws javax.servlet.ServletException,
+                                         java.io.IOException</PRE>
+<DL>
+<DD><p>
+ This method is intended to process an unhandled 'page' level
+ exception by forwarding the exception to the specified
+ error page for this JSP.  If forwarding is not possible (for
+ example because the response has already been committed), an
+ implementation dependent mechanism should be used to invoke
+ the error page (e.g. "including" the error page instead).
+
+ <p>
+ If no error page is defined in the page, the exception should
+ be rethrown so that the standard servlet error handling
+ takes over.
+
+ <p>
+ This method is intended to process an unhandled "page" level exception
+ by redirecting the exception to either the specified error page for this
+ JSP, or if none was specified, to perform some implementation dependent
+ action.
+
+ <p>
+ A JSP implementation class shall typically clean up any local state
+ prior to invoking this and will return immediately thereafter. It is
+ illegal to generate any output to the client, or to modify any 
+ ServletResponse state after invoking this call.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>t</CODE> - the throwable to be handled
+<DT><B>Throws:</B>
+<DD><CODE>javax.servlet.ServletException</CODE> - if an error occurs while invoking the error page
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while invoking the error
+     page
+<DD><CODE>java.lang.NullPointerException</CODE> - if the exception is null<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/PageContext.html#handlePageException(java.lang.Exception)"><CODE>handlePageException(Exception)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="pushBody()"><!-- --></A><H3>
+pushBody</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> <B>pushBody</B>()</PRE>
+<DL>
+<DD>Return a new BodyContent object, save the current "out" JspWriter,
+ and update the value of the "out" attribute in the page scope
+ attribute namespace of the PageContext.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the new BodyContent</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getErrorData()"><!-- --></A><H3>
+getErrorData</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A> <B>getErrorData</B>()</PRE>
+<DL>
+<DD>Provides convenient access to error information.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an ErrorData instance containing information about the 
+ error, as obtained from the request attributes, as per the 
+ Servlet specification.  If this is not an error page (that is,
+ if the isErrorPage attribute of the page directive is not set
+ to "true"), the information is meaningless.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PageContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/SkipPageException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/SkipPageException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/SkipPageException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,316 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+SkipPageException (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.SkipPageException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SkipPageException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SkipPageException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SkipPageException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.JspException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp</FONT>
+<BR>
+Class SkipPageException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspException</A>
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.SkipPageException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SkipPageException</B><DT>extends <A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></DL>
+
+<P>
+Exception to indicate the calling page must cease evaluation.
+ Thrown by a simple tag handler to indicate that the remainder of 
+ the page must not be evaluated.  The result is propagated back to
+ the pagein the case where one tag invokes another (as can be
+ the case with tag files).  The effect is similar to that of a 
+ Classic Tag Handler returning Tag.SKIP_PAGE from doEndTag().
+ Jsp Fragments may also throw this exception.  This exception
+ should not be thrown manually in a JSP page or tag file - the behavior is
+ undefined.  The exception is intended to be thrown inside 
+ SimpleTag handlers and in JSP fragments.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/jsp/tagext/SimpleTag.html#doTag()"><CODE>SimpleTag.doTag()</CODE></A>, 
+<A HREF="../../../javax/servlet/jsp/tagext/JspFragment.html#invoke(java.io.Writer)"><CODE>JspFragment.invoke(java.io.Writer)</CODE></A>, 
+<A HREF="../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()"><CODE>Tag.doEndTag()</CODE></A>, 
+<A HREF="../../../serialized-form.html#javax.servlet.jsp.SkipPageException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/SkipPageException.html#SkipPageException()">SkipPageException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a SkipPageException with no message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.String)">SkipPageException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a SkipPageException with the provided message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.String, java.lang.Throwable)">SkipPageException</A></B>(java.lang.String&nbsp;message,
+                  java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a SkipPageException with the provided message and root cause.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/jsp/SkipPageException.html#SkipPageException(java.lang.Throwable)">SkipPageException</A></B>(java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a SkipPageException with the provided root cause.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_javax.servlet.jsp.JspException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/jsp/JspException.html#getRootCause()">getRootCause</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SkipPageException()"><!-- --></A><H3>
+SkipPageException</H3>
+<PRE>
+public <B>SkipPageException</B>()</PRE>
+<DL>
+<DD>Creates a SkipPageException with no message.
+<P>
+</DL>
+<HR>
+
+<A NAME="SkipPageException(java.lang.String)"><!-- --></A><H3>
+SkipPageException</H3>
+<PRE>
+public <B>SkipPageException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+<DD>Creates a SkipPageException with the provided message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - the detail message</DL>
+<HR>
+
+<A NAME="SkipPageException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+SkipPageException</H3>
+<PRE>
+public <B>SkipPageException</B>(java.lang.String&nbsp;message,
+                         java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Creates a SkipPageException with the provided message and root cause.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - the detail message<DD><CODE>rootCause</CODE> - the originating cause of this exception</DL>
+<HR>
+
+<A NAME="SkipPageException(java.lang.Throwable)"><!-- --></A><H3>
+SkipPageException</H3>
+<PRE>
+public <B>SkipPageException</B>(java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Creates a SkipPageException with the provided root cause.
+<P>
+<DT><B>Parameters:</B><DD><CODE>rootCause</CODE> - the originating cause of this exception</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SkipPageException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SkipPageException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.JspException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/ErrorData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/ErrorData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/ErrorData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.ErrorData (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.ErrorData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ErrorData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.ErrorData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A></CODE></FONT></TD>
+<TD><CODE><B>PageContext.</B><B><A HREF="../../../../javax/servlet/jsp/PageContext.html#getErrorData()">getErrorData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides convenient access to error information.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ErrorData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/HttpJspPage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/HttpJspPage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/HttpJspPage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.HttpJspPage (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.HttpJspPage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpJspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.HttpJspPage</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.HttpJspPage
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpJspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspContext (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspContext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspContext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A> in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspContext()">getJspContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the page context passed in by the container via 
+ setJspContext.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></CODE></FONT></TD>
+<TD><CODE><B>JspFragment.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html#getJspContext()">getJspContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the JspContext that is bound to this JspFragment.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspContext(javax.servlet.jsp.JspContext)">setJspContext</A></B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the provided JSP context in the private jspContext field.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspContext(javax.servlet.jsp.JspContext)">setJspContext</A></B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the container to provide this tag handler with
+ the <code>JspContext</code> for this invocation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspEngineInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspEngineInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspEngineInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspEngineInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspEngineInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspEngineInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspEngineInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A></CODE></FONT></TD>
+<TD><CODE><B>JspFactory.</B><B><A HREF="../../../../javax/servlet/jsp/JspFactory.html#getEngineInfo()">getEngineInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ called to get implementation-specific information on the current JSP engine.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspEngineInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,344 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspException (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exception to be used by a Tag Handler to indicate some unrecoverable
+ error.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exception to indicate the calling page must cease evaluation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A> in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that throw <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the start tag, returning SKIP_BODY.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the end tag returning EVAL_PAGE.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing for a body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>Tag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the start tag for this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>Tag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the end tag for this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#doTag()">doTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the tag does nothing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#doTag()">doTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the container to invoke this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>JspFragment.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html#invoke(java.io.Writer)">invoke</A></B>(java.io.Writer&nbsp;out)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes the fragment and directs all output to the given Writer,
+ or the JspWriter returned by the getOut() method of the JspContext
+ associated with the fragment if out is null.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>IterationTag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process body (re)evaluation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>DynamicAttributes.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html#setDynamicAttribute(java.lang.String, java.lang.String, java.lang.Object)">setDynamicAttribute</A></B>(java.lang.String&nbsp;uri,
+                    java.lang.String&nbsp;localName,
+                    java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when a tag declared to accept dynamic attributes is passed
+ an attribute that is not declared in the Tag Library Descriptor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the start tag returning EVAL_BODY_BUFFERED.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the end tag returning EVAL_PAGE.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doInitBody()">doInitBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body just before the first body evaluation:
+ no action.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After the body evaluation: do not reevaluate and continue with the page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>BodyTag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#doInitBody()">doInitBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspFactory.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspFactory.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspFactory.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,189 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspFactory (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspFactory (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFactory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></CODE></FONT></TD>
+<TD><CODE><B>JspFactory.</B><B><A HREF="../../../../javax/servlet/jsp/JspFactory.html#getDefaultFactory()">getDefaultFactory</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the default factory for this implementation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> with parameters of type <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>JspFactory.</B><B><A HREF="../../../../javax/servlet/jsp/JspFactory.html#setDefaultFactory(javax.servlet.jsp.JspFactory)">setDefaultFactory</A></B>(<A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A>&nbsp;deflt)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ set the default factory for this implementation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFactory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspPage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspPage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspPage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.JspPage (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.JspPage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.JspPage</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp">HttpJspPage</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The HttpJspPage interface describes the interaction that a JSP Page
+ Implementation Class must satisfy when using the HTTP protocol.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspPage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspTagException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspTagException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspTagException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspTagException (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspTagException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTagException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspTagException</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.JspTagException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTagException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspWriter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspWriter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/JspWriter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.JspWriter (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.JspWriter (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.JspWriter</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B>JspContext.</B><B><A HREF="../../../../javax/servlet/jsp/JspContext.html#getOut()">getOut</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current value of the out object (a JspWriter).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B>JspContext.</B><B><A HREF="../../../../javax/servlet/jsp/JspContext.html#pushBody(java.io.Writer)">pushBody</A></B>(java.io.Writer&nbsp;writer)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new JspWriter object that sends output to the
+ provided Writer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B>JspContext.</B><B><A HREF="../../../../javax/servlet/jsp/JspContext.html#popBody()">popBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the previous JspWriter "out" saved by the matching
+ pushBody(), and update the value of the "out" attribute in
+ the page scope attribute namespace of the JspContext.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#getPreviousOut()">getPreviousOut</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get surrounding out JspWriter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B>BodyContent.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#getEnclosingWriter()">getEnclosingWriter</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the enclosing JspWriter.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#BodyContent(javax.servlet.jsp.JspWriter)">BodyContent</A></B>(<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protected constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspWriter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/PageContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/PageContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/PageContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,259 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.PageContext (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.PageContext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.PageContext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A> in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></CODE></FONT></TD>
+<TD><CODE><B>JspFactory.</B><B><A HREF="../../../../javax/servlet/jsp/JspFactory.html#getPageContext(javax.servlet.Servlet, javax.servlet.ServletRequest, javax.servlet.ServletResponse, java.lang.String, boolean, int, boolean)">getPageContext</A></B>(javax.servlet.Servlet&nbsp;servlet,
+               javax.servlet.ServletRequest&nbsp;request,
+               javax.servlet.ServletResponse&nbsp;response,
+               java.lang.String&nbsp;errorPageURL,
+               boolean&nbsp;needsSession,
+               int&nbsp;buffer,
+               boolean&nbsp;autoflush)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ obtains an instance of an implementation dependent 
+ javax.servlet.jsp.PageContext abstract class for the calling Servlet
+ and currently pending request and response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> with parameters of type <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>JspFactory.</B><B><A HREF="../../../../javax/servlet/jsp/JspFactory.html#releasePageContext(javax.servlet.jsp.PageContext)">releasePageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ called to release a previously allocated PageContext object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A> in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> declared as <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#pageContext">pageContext</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The PageContext.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pageContext)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the page context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Tag.</B><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the current page context.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/SkipPageException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/SkipPageException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/class-use/SkipPageException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.SkipPageException (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.SkipPageException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SkipPageException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.SkipPageException</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.SkipPageException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SkipPageException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ELException (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.ELException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ELException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ELException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Class ELException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.el.ELException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ELException</B><DT>extends java.lang.Exception</DL>
+
+<P>
+Represents any of the exception conditions that arise during the
+ operation evaluation of the evaluator.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#javax.servlet.jsp.el.ELException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html#ELException()">ELException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELException with no detail message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html#ELException(java.lang.String)">ELException</A></B>(java.lang.String&nbsp;pMessage)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELException with the provided detail message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html#ELException(java.lang.String, java.lang.Throwable)">ELException</A></B>(java.lang.String&nbsp;pMessage,
+            java.lang.Throwable&nbsp;pRootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELException with the given detail message and root cause.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html#ELException(java.lang.Throwable)">ELException</A></B>(java.lang.Throwable&nbsp;pRootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELException with the given root cause.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Throwable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html#getRootCause()">getRootCause</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the root cause.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ELException()"><!-- --></A><H3>
+ELException</H3>
+<PRE>
+public <B>ELException</B>()</PRE>
+<DL>
+<DD>Creates an ELException with no detail message.
+<P>
+</DL>
+<HR>
+
+<A NAME="ELException(java.lang.String)"><!-- --></A><H3>
+ELException</H3>
+<PRE>
+public <B>ELException</B>(java.lang.String&nbsp;pMessage)</PRE>
+<DL>
+<DD>Creates an ELException with the provided detail message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pMessage</CODE> - the detail message</DL>
+<HR>
+
+<A NAME="ELException(java.lang.Throwable)"><!-- --></A><H3>
+ELException</H3>
+<PRE>
+public <B>ELException</B>(java.lang.Throwable&nbsp;pRootCause)</PRE>
+<DL>
+<DD>Creates an ELException with the given root cause.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pRootCause</CODE> - the originating cause of this exception</DL>
+<HR>
+
+<A NAME="ELException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+ELException</H3>
+<PRE>
+public <B>ELException</B>(java.lang.String&nbsp;pMessage,
+                   java.lang.Throwable&nbsp;pRootCause)</PRE>
+<DL>
+<DD>Creates an ELException with the given detail message and root cause.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pMessage</CODE> - the detail message<DD><CODE>pRootCause</CODE> - the originating cause of this exception</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRootCause()"><!-- --></A><H3>
+getRootCause</H3>
+<PRE>
+public java.lang.Throwable <B>getRootCause</B>()</PRE>
+<DL>
+<DD>Returns the root cause.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the root cause of this exception</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ELException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELParseException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELParseException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ELParseException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ELParseException (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.ELParseException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ELParseException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ELParseException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELParseException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.el.ELException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Class ELParseException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ELException</A>
+              <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.el.ELParseException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ELParseException</B><DT>extends <A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></DL>
+
+<P>
+Represents a parsing error encountered while parsing an EL expression.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#javax.servlet.jsp.el.ELParseException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELParseException.html#ELParseException()">ELParseException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELParseException with no detail message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ELParseException.html#ELParseException(java.lang.String)">ELParseException</A></B>(java.lang.String&nbsp;pMessage)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an ELParseException with the provided detail message.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="methods_inherited_from_class_javax.servlet.jsp.el.ELException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/el/ELException.html#getRootCause()">getRootCause</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ELParseException()"><!-- --></A><H3>
+ELParseException</H3>
+<PRE>
+public <B>ELParseException</B>()</PRE>
+<DL>
+<DD>Creates an ELParseException with no detail message.
+<P>
+</DL>
+<HR>
+
+<A NAME="ELParseException(java.lang.String)"><!-- --></A><H3>
+ELParseException</H3>
+<PRE>
+public <B>ELParseException</B>(java.lang.String&nbsp;pMessage)</PRE>
+<DL>
+<DD>Creates an ELParseException with the provided detail message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>pMessage</CODE> - the detail message</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ELParseException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELParseException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_javax.servlet.jsp.el.ELException">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/Expression.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/Expression.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/Expression.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Expression (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.Expression class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Expression (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Expression.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Expression.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Class Expression</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.el.Expression</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>Expression</B><DT>extends java.lang.Object</DL>
+
+<P>
+<p>The abstract class for a prepared expression.</p>
+
+ <p>An instance of an Expression can be obtained via from an 
+ ExpressionEvaluator instance.</p>
+
+ <p>An Expression may or not have done a syntactic parse of the expression.
+ A client invoking the evaluate() method should be ready for the case 
+ where ELParseException exceptions are raised. </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/Expression.html#Expression()">Expression</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/Expression.html#evaluate(javax.servlet.jsp.el.VariableResolver)">evaluate</A></B>(<A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression that was previously prepared.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Expression()"><!-- --></A><H3>
+Expression</H3>
+<PRE>
+public <B>Expression</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="evaluate(javax.servlet.jsp.el.VariableResolver)"><!-- --></A><H3>
+evaluate</H3>
+<PRE>
+public abstract java.lang.Object <B>evaluate</B>(<A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver)
+                                   throws <A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></PRE>
+<DL>
+<DD>Evaluates an expression that was previously prepared.  In some 
+ implementations preparing an expression involves full syntactic 
+ validation, but others may not do so.  Evaluating the expression may 
+ raise an ELParseException as well as other ELExceptions due to 
+ run-time evaluation.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>vResolver</CODE> - A VariableResolver instance that can be used at 
+   runtime to resolve the name of implicit objects into Objects.
+<DT><B>Returns:</B><DD>The result of the expression evaluation.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></CODE> - Thrown if the expression evaluation failed.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Expression.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Expression.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ExpressionEvaluator.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ExpressionEvaluator.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/ExpressionEvaluator.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ExpressionEvaluator (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.ExpressionEvaluator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ExpressionEvaluator (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExpressionEvaluator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ExpressionEvaluator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Class ExpressionEvaluator</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.el.ExpressionEvaluator</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>ExpressionEvaluator</B><DT>extends java.lang.Object</DL>
+
+<P>
+<p>The abstract base class for an expression-language evaluator.
+ Classes that implement an expression language expose their functionality
+ via this abstract class.</p>
+
+ <p>An instance of the ExpressionEvaluator can be obtained via the 
+ JspContext / PageContext</p>
+
+ <p>The parseExpression() and evaluate() methods must be thread-safe.  
+ That is, multiple threads may call these methods on the same 
+ ExpressionEvaluator object simultaneously.  Implementations should 
+ synchronize access if they depend on transient state.  Implementations 
+ should not, however, assume that only one object of each 
+ ExpressionEvaluator type will be instantiated; global caching should 
+ therefore be static.</p>
+
+ <p>Only a single EL expression, starting with '${' and ending with
+ '}', can be parsed or evaluated at a time.  EL expressions 
+ cannot be mixed with static text.  For example, attempting to 
+ parse or evaluate "<code>abc${1+1}def${1+1}ghi</code>" or even
+ "<code>${1+1}${1+1}</code>" will cause an <code>ELException</code> to
+ be thrown.</p>
+
+ <p>The following are examples of syntactically legal EL expressions:
+
+ <ul>
+   <li><code>${person.lastName}</code></li>
+   <li><code>${8 * 8}</code></li>
+   <li><code>${my:reverse('hello')}</code></li>
+ </ul>
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#ExpressionEvaluator()">ExpressionEvaluator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)">evaluate</A></B>(java.lang.String&nbsp;expression,
+         java.lang.Class&nbsp;expectedType,
+         <A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver,
+         <A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)">parseExpression</A></B>(java.lang.String&nbsp;expression,
+                java.lang.Class&nbsp;expectedType,
+                <A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare an expression for later evaluation.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ExpressionEvaluator()"><!-- --></A><H3>
+ExpressionEvaluator</H3>
+<PRE>
+public <B>ExpressionEvaluator</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)"><!-- --></A><H3>
+parseExpression</H3>
+<PRE>
+public abstract <A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A> <B>parseExpression</B>(java.lang.String&nbsp;expression,
+                                           java.lang.Class&nbsp;expectedType,
+                                           <A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)
+                                    throws <A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></PRE>
+<DL>
+<DD>Prepare an expression for later evaluation.  This method should perform
+ syntactic validation of the expression; if in doing so it detects 
+ errors, it should raise an ELParseException.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>expression</CODE> - The expression to be evaluated.<DD><CODE>expectedType</CODE> - The expected type of the result of the evaluation<DD><CODE>fMapper</CODE> - A FunctionMapper to resolve functions found in 
+     the expression.  It can be null, in which case no functions 
+     are supported for this invocation.  The ExpressionEvaluator 
+     must not hold on to the FunctionMapper reference after 
+     returning from <code>parseExpression()</code>.  The 
+     <code>Expression</code> object returned must invoke the same 
+     functions regardless of whether the mappings in the 
+     provided <code>FunctionMapper</code> instance change between 
+     calling <code>ExpressionEvaluator.parseExpression()</code>
+     and <code>Expression.evaluate()</code>.
+<DT><B>Returns:</B><DD>The Expression object encapsulating the arguments.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></CODE> - Thrown if parsing errors were found.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)"><!-- --></A><H3>
+evaluate</H3>
+<PRE>
+public abstract java.lang.Object <B>evaluate</B>(java.lang.String&nbsp;expression,
+                                          java.lang.Class&nbsp;expectedType,
+                                          <A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver,
+                                          <A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)
+                                   throws <A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></PRE>
+<DL>
+<DD>Evaluates an expression.  This method may perform some syntactic 
+ validation and, if so, it should raise an ELParseException error if 
+ it encounters syntactic errors.  EL evaluation errors should cause 
+ an ELException to be raised.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>expression</CODE> - The expression to be evaluated.<DD><CODE>expectedType</CODE> - The expected type of the result of the evaluation<DD><CODE>vResolver</CODE> - A VariableResolver instance that can be used at 
+     runtime to resolve the name of implicit objects into Objects.<DD><CODE>fMapper</CODE> - A FunctionMapper to resolve functions found in 
+     the expression.  It can be null, in which case no functions 
+     are supported for this invocation.
+<DT><B>Returns:</B><DD>The result of the expression evaluation.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></CODE> - Thrown if the expression evaluation failed.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ExpressionEvaluator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ExpressionEvaluator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/FunctionMapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/FunctionMapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/FunctionMapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+FunctionMapper (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.FunctionMapper interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FunctionMapper (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FunctionMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionMapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Interface FunctionMapper</H2>
+<HR>
+<DL>
+<DT>public interface <B>FunctionMapper</B></DL>
+
+<P>
+<p>The interface to a map between EL function names and methods.</p>
+
+ <p>Classes implementing this interface may, for instance, consult tag library
+ information to resolve the map. </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html#resolveFunction(java.lang.String, java.lang.String)">resolveFunction</A></B>(java.lang.String&nbsp;prefix,
+                java.lang.String&nbsp;localName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves the specified local name and prefix into a Java.lang.Method.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="resolveFunction(java.lang.String, java.lang.String)"><!-- --></A><H3>
+resolveFunction</H3>
+<PRE>
+public java.lang.reflect.Method <B>resolveFunction</B>(java.lang.String&nbsp;prefix,
+                                                java.lang.String&nbsp;localName)</PRE>
+<DL>
+<DD>Resolves the specified local name and prefix into a Java.lang.Method.
+ Returns null if the prefix and local name are not found.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - the prefix of the function, or "" if no prefix.<DD><CODE>localName</CODE> - the short name of the function
+<DT><B>Returns:</B><DD>the result of the method mapping.  Null means no entry found.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FunctionMapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionMapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/VariableResolver.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/VariableResolver.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/VariableResolver.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+VariableResolver (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el.VariableResolver interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="VariableResolver (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VariableResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableResolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.el</FONT>
+<BR>
+Interface VariableResolver</H2>
+<HR>
+<DL>
+<DT>public interface <B>VariableResolver</B></DL>
+
+<P>
+<p>This class is used to customize the way an ExpressionEvaluator resolves
+ variable references at evaluation time.  For example, instances of this class can
+ implement their own variable lookup mechanisms, or introduce the
+ notion of "implicit variables" which override any other variables.
+ An instance of this class should be passed when evaluating
+ an expression.</p>
+
+ <p>An instance of this class includes the context against which resolution
+ will happen</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html#resolveVariable(java.lang.String)">resolveVariable</A></B>(java.lang.String&nbsp;pName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves the specified variable.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="resolveVariable(java.lang.String)"><!-- --></A><H3>
+resolveVariable</H3>
+<PRE>
+public java.lang.Object <B>resolveVariable</B>(java.lang.String&nbsp;pName)
+                                 throws <A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></PRE>
+<DL>
+<DD>Resolves the specified variable.
+ Returns null if the variable is not found.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pName</CODE> - the name of the variable to resolve
+<DT><B>Returns:</B><DD>the result of the variable resolution
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></CODE> - if a failure occurred while trying to resolve
+     the given variable</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VariableResolver.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableResolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.el.ELException (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.el.ELException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.el.ELException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.el"><B>javax.servlet.jsp.el</B></A></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.el"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A> in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A> in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents a parsing error encountered while parsing an EL expression.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> that throw <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>VariableResolver.</B><B><A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html#resolveVariable(java.lang.String)">resolveVariable</A></B>(java.lang.String&nbsp;pName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resolves the specified variable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)">parseExpression</A></B>(java.lang.String&nbsp;expression,
+                java.lang.Class&nbsp;expectedType,
+                <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare an expression for later evaluation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)">evaluate</A></B>(java.lang.String&nbsp;expression,
+         java.lang.Class&nbsp;expectedType,
+         <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver,
+         <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>Expression.</B><B><A HREF="../../../../../javax/servlet/jsp/el/Expression.html#evaluate(javax.servlet.jsp.el.VariableResolver)">evaluate</A></B>(<A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression that was previously prepared.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELParseException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELParseException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ELParseException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.el.ELParseException (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.el.ELParseException (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELParseException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.el.ELParseException</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.el.ELParseException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ELParseException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/Expression.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/Expression.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/Expression.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.el.Expression (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.el.Expression (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Expression.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.el.Expression</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.el"><B>javax.servlet.jsp.el</B></A></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.el"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A> in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> that return <A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)">parseExpression</A></B>(java.lang.String&nbsp;expression,
+                java.lang.Class&nbsp;expectedType,
+                <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare an expression for later evaluation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Expression.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ExpressionEvaluator.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ExpressionEvaluator.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/ExpressionEvaluator.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.el.ExpressionEvaluator (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.el.ExpressionEvaluator (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ExpressionEvaluator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.el.ExpressionEvaluator</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A> in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A></CODE></FONT></TD>
+<TD><CODE><B>JspContext.</B><B><A HREF="../../../../../javax/servlet/jsp/JspContext.html#getExpressionEvaluator()">getExpressionEvaluator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides programmatic access to the ExpressionEvaluator.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ExpressionEvaluator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/FunctionMapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/FunctionMapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/FunctionMapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.el.FunctionMapper (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.el.FunctionMapper (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionMapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.el.FunctionMapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.el"><B>javax.servlet.jsp.el</B></A></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.el"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A> in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#parseExpression(java.lang.String, java.lang.Class, javax.servlet.jsp.el.FunctionMapper)">parseExpression</A></B>(java.lang.String&nbsp;expression,
+                java.lang.Class&nbsp;expectedType,
+                <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare an expression for later evaluation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)">evaluate</A></B>(java.lang.String&nbsp;expression,
+         java.lang.Class&nbsp;expectedType,
+         <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver,
+         <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionMapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/VariableResolver.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/VariableResolver.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/class-use/VariableResolver.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:30 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.el.VariableResolver (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.el.VariableResolver (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableResolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.el.VariableResolver</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.el"><B>javax.servlet.jsp.el</B></A></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A> in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></CODE></FONT></TD>
+<TD><CODE><B>JspContext.</B><B><A HREF="../../../../../javax/servlet/jsp/JspContext.html#getVariableResolver()">getVariableResolver</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an instance of a VariableResolver that provides access to the
+ implicit objects specified in the JSP specification using this JspContext
+ as the context object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.el"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A> in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>ExpressionEvaluator.</B><B><A HREF="../../../../../javax/servlet/jsp/el/ExpressionEvaluator.html#evaluate(java.lang.String, java.lang.Class, javax.servlet.jsp.el.VariableResolver, javax.servlet.jsp.el.FunctionMapper)">evaluate</A></B>(java.lang.String&nbsp;expression,
+         java.lang.Class&nbsp;expectedType,
+         <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver,
+         <A HREF="../../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A>&nbsp;fMapper)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B>Expression.</B><B><A HREF="../../../../../javax/servlet/jsp/el/Expression.html#evaluate(javax.servlet.jsp.el.VariableResolver)">evaluate</A></B>(<A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A>&nbsp;vResolver)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluates an expression that was previously prepared.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableResolver.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.el (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../javax/servlet/jsp/el/package-summary.html" target="classFrame">javax.servlet.jsp.el</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="FunctionMapper.html" title="interface in javax.servlet.jsp.el" target="classFrame"><I>FunctionMapper</I></A>
+<BR>
+<A HREF="VariableResolver.html" title="interface in javax.servlet.jsp.el" target="classFrame"><I>VariableResolver</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Expression.html" title="class in javax.servlet.jsp.el" target="classFrame">Expression</A>
+<BR>
+<A HREF="ExpressionEvaluator.html" title="class in javax.servlet.jsp.el" target="classFrame">ExpressionEvaluator</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ELException.html" title="class in javax.servlet.jsp.el" target="classFrame">ELException</A>
+<BR>
+<A HREF="ELParseException.html" title="class in javax.servlet.jsp.el" target="classFrame">ELParseException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,217 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.el (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.el package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp.el (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package javax.servlet.jsp.el
+</H2>
+Classes and interfaces for the JSP 2.0 Expression Language API.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el">FunctionMapper</A></B></TD>
+<TD>The interface to a map between EL function names and methods.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el">VariableResolver</A></B></TD>
+<TD>This class is used to customize the way an ExpressionEvaluator resolves
+ variable references at evaluation time.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el">Expression</A></B></TD>
+<TD>The abstract class for a prepared expression.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el">ExpressionEvaluator</A></B></TD>
+<TD>The abstract base class for an expression-language evaluator.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A></B></TD>
+<TD>Represents any of the exception conditions that arise during the
+ operation evaluation of the evaluator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">ELParseException</A></B></TD>
+<TD>Represents a parsing error encountered while parsing an EL expression.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package javax.servlet.jsp.el Description
+</H2>
+
+<P>
+Classes and interfaces for the JSP 2.0 Expression Language API.
+
+<p>
+The JavaServer Pages(tm) (JSP) 2.0 specification provides a portable
+API for evaluating "EL Expressions".  As of JSP 2.0, EL expressions can
+be placed directly in the template text of JSP pages and tag files.
+<p>
+This package contains a number of classes and interfaces that describe 
+and define programmatic access to the Expression Language evaluator. 
+This API can also be used by an implementation of JSP to evaluate the 
+expressions, but other implementations, like open-coding into Java 
+bytecodes, are allowed.  This package is intended to have no dependencies 
+on other portions of the JSP 2.0 specification.
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.el Class Hierarchy (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp.el Class Hierarchy (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package javax.servlet.jsp.el
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><B>Expression</B></A><LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><B>ExpressionEvaluator</B></A><LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class java.lang.Exception<UL>
+<LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><B>ELException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><B>ELParseException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><B>FunctionMapper</B></A><LI TYPE="circle">interface javax.servlet.jsp.el.<A HREF="../../../../javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><B>VariableResolver</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-use.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-use.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/el/package-use.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Package javax.servlet.jsp.el (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package javax.servlet.jsp.el (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>javax.servlet.jsp.el</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.el"><B>javax.servlet.jsp.el</B></A></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> used by <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/ExpressionEvaluator.html#javax.servlet.jsp"><B>ExpressionEvaluator</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The abstract base class for an expression-language evaluator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/VariableResolver.html#javax.servlet.jsp"><B>VariableResolver</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is used to customize the way an ExpressionEvaluator resolves
+ variable references at evaluation time.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.el"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A> used by <A HREF="../../../../javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/ELException.html#javax.servlet.jsp.el"><B>ELException</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Represents any of the exception conditions that arise during the
+ operation evaluation of the evaluator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/Expression.html#javax.servlet.jsp.el"><B>Expression</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The abstract class for a prepared expression.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/FunctionMapper.html#javax.servlet.jsp.el"><B>FunctionMapper</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The interface to a map between EL function names and methods.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/el/class-use/VariableResolver.html#javax.servlet.jsp.el"><B>VariableResolver</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This class is used to customize the way an ExpressionEvaluator resolves
+ variable references at evaluation time.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../javax/servlet/jsp/package-summary.html" target="classFrame">javax.servlet.jsp</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="HttpJspPage.html" title="interface in javax.servlet.jsp" target="classFrame"><I>HttpJspPage</I></A>
+<BR>
+<A HREF="JspPage.html" title="interface in javax.servlet.jsp" target="classFrame"><I>JspPage</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ErrorData.html" title="class in javax.servlet.jsp" target="classFrame">ErrorData</A>
+<BR>
+<A HREF="JspContext.html" title="class in javax.servlet.jsp" target="classFrame">JspContext</A>
+<BR>
+<A HREF="JspEngineInfo.html" title="class in javax.servlet.jsp" target="classFrame">JspEngineInfo</A>
+<BR>
+<A HREF="JspFactory.html" title="class in javax.servlet.jsp" target="classFrame">JspFactory</A>
+<BR>
+<A HREF="JspWriter.html" title="class in javax.servlet.jsp" target="classFrame">JspWriter</A>
+<BR>
+<A HREF="PageContext.html" title="class in javax.servlet.jsp" target="classFrame">PageContext</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="JspException.html" title="class in javax.servlet.jsp" target="classFrame">JspException</A>
+<BR>
+<A HREF="JspTagException.html" title="class in javax.servlet.jsp" target="classFrame">JspTagException</A>
+<BR>
+<A HREF="SkipPageException.html" title="class in javax.servlet.jsp" target="classFrame">SkipPageException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/el/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package javax.servlet.jsp
+</H2>
+Classes and interfaces for the Core JSP 2.0 API.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp">HttpJspPage</A></B></TD>
+<TD>The HttpJspPage interface describes the interaction that a JSP Page
+ Implementation Class must satisfy when using the HTTP protocol.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp">JspPage</A></B></TD>
+<TD>The JspPage interface describes the generic interaction that a JSP Page
+ Implementation class must satisfy; pages that use the HTTP protocol
+ are described by the HttpJspPage interface.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp">ErrorData</A></B></TD>
+<TD>Contains information about an error, for error pages.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></B></TD>
+<TD>
+ <code>JspContext</code> serves as the base class for the 
+ PageContext class and abstracts all information that is not specific
+ to servlets.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp">JspEngineInfo</A></B></TD>
+<TD>The JspEngineInfo is an abstract class that provides information on the
+ current JSP engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp">JspFactory</A></B></TD>
+<TD>
+ The JspFactory is an abstract class that defines a number of factory
+ methods available to a JSP page at runtime for the purposes of creating
+ instances of various interfaces and classes used to support the JSP 
+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></B></TD>
+<TD>
+ The actions and template data in a JSP page is written using the
+ JspWriter object that is referenced by the implicit variable out which
+ is initialized automatically using methods in the PageContext object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></B></TD>
+<TD>
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></B></TD>
+<TD>A generic exception known to the JSP engine; uncaught
+ JspExceptions will result in an invocation of the errorpage
+ machinery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">JspTagException</A></B></TD>
+<TD>Exception to be used by a Tag Handler to indicate some unrecoverable
+ error.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></B></TD>
+<TD>Exception to indicate the calling page must cease evaluation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package javax.servlet.jsp Description
+</H2>
+
+<P>
+Classes and interfaces for the Core JSP 2.0 API.
+<p>
+The javax.servlet.jsp package contains a number of classes and
+interfaces that describe and define the contracts between a JSP page
+implementation class and the runtime environment provided for an
+instance of such a class by a conforming JSP container.
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/el/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp Class Hierarchy (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp Class Hierarchy (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/el/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package javax.servlet.jsp
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><B>ErrorData</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>JspContext</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><B>PageContext</B></A></UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>JspEngineInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>JspFactory</B></A><LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class java.lang.Exception<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><B>JspException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>JspTagException</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><B>SkipPageException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class java.io.Writer<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>JspWriter</B></A></UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface javax.servlet.Servlet<UL>
+<LI TYPE="circle">interface javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><B>JspPage</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.<A HREF="../../../javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>HttpJspPage</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/jsp/el/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-use.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-use.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/package-use.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Package javax.servlet.jsp (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package javax.servlet.jsp (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>javax.servlet.jsp</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> used by <A HREF="../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/ErrorData.html#javax.servlet.jsp"><B>ErrorData</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contains information about an error, for error pages.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspContext.html#javax.servlet.jsp"><B>JspContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>JspContext</code> serves as the base class for the 
+ PageContext class and abstracts all information that is not specific
+ to servlets.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspEngineInfo.html#javax.servlet.jsp"><B>JspEngineInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JspEngineInfo is an abstract class that provides information on the
+ current JSP engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspException.html#javax.servlet.jsp"><B>JspException</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A generic exception known to the JSP engine; uncaught
+ JspExceptions will result in an invocation of the errorpage
+ machinery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspFactory.html#javax.servlet.jsp"><B>JspFactory</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ The JspFactory is an abstract class that defines a number of factory
+ methods available to a JSP page at runtime for the purposes of creating
+ instances of various interfaces and classes used to support the JSP 
+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspPage.html#javax.servlet.jsp"><B>JspPage</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The JspPage interface describes the generic interaction that a JSP Page
+ Implementation class must satisfy; pages that use the HTTP protocol
+ are described by the HttpJspPage interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspWriter.html#javax.servlet.jsp"><B>JspWriter</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ The actions and template data in a JSP page is written using the
+ JspWriter object that is referenced by the implicit variable out which
+ is initialized automatically using methods in the PageContext object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/PageContext.html#javax.servlet.jsp"><B>PageContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> used by <A HREF="../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspContext.html#javax.servlet.jsp.tagext"><B>JspContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ <code>JspContext</code> serves as the base class for the 
+ PageContext class and abstracts all information that is not specific
+ to servlets.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspException.html#javax.servlet.jsp.tagext"><B>JspException</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A generic exception known to the JSP engine; uncaught
+ JspExceptions will result in an invocation of the errorpage
+ machinery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/JspWriter.html#javax.servlet.jsp.tagext"><B>JspWriter</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ The actions and template data in a JSP page is written using the
+ JspWriter object that is referenced by the implicit variable out which
+ is initialized automatically using methods in the PageContext object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/jsp/class-use/PageContext.html#javax.servlet.jsp.tagext"><B>PageContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ PageContext extends JspContext to provide useful context information for
+ when JSP technology is used in a Servlet environment.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyContent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyContent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyContent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,459 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+BodyContent (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.BodyContent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BodyContent (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyContent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyContent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_javax.servlet.jsp.JspWriter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class BodyContent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">java.io.Writer
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspWriter</A>
+          <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.BodyContent</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>BodyContent</B><DT>extends <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></DL>
+
+<P>
+An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.  BodyContent is a subclass of JspWriter.
+
+ <p>
+ Note that the content of BodyContent is the result of evaluation, so
+ it will not contain actions and the like, but the result of their
+ invocation.
+ 
+ <p>
+ BodyContent has methods to convert its contents into
+ a String, to read its contents, and to clear the contents.
+
+ <p>
+ The buffer size of a BodyContent object is unbounded.  A
+ BodyContent object cannot be in autoFlush mode.  It is not possible to
+ invoke flush on a BodyContent object, as there is no backing stream.
+
+ <p>
+ Instances of BodyContent are created by invoking the pushBody and
+ popBody methods of the PageContext class.  A BodyContent is enclosed
+ within another JspWriter (maybe another BodyContent object) following
+ the structure of their associated actions.
+
+ <p>
+ A BodyContent is made available to a BodyTag through a setBodyContent()
+ call.  The tag handler can use the object until after the call to
+ doEndTag().
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.JspWriter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.servlet.jsp.<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/JspWriter.html#autoFlush">autoFlush</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#bufferSize">bufferSize</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#DEFAULT_BUFFER">DEFAULT_BUFFER</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#NO_BUFFER">NO_BUFFER</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#UNBOUNDED_BUFFER">UNBOUNDED_BUFFER</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.io.Writer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.io.Writer</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>lock</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#BodyContent(javax.servlet.jsp.JspWriter)">BodyContent</A></B>(<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>&nbsp;e)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Protected constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#clearBody()">clearBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear the body without throwing any exceptions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#flush()">flush</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Redefined flush() so it is not legal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#getEnclosingWriter()">getEnclosingWriter</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the enclosing JspWriter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.io.Reader</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#getReader()">getReader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value of this BodyContent as a Reader.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#getString()">getString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the value of the BodyContent as a String.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html#writeOut(java.io.Writer)">writeOut</A></B>(java.io.Writer&nbsp;out)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Write the contents of this BodyContent into a Writer.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.JspWriter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/JspWriter.html#clear()">clear</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#clearBuffer()">clearBuffer</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#close()">close</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#getRemaining()">getRemaining</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#isAutoFlush()">isAutoFlush</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#newLine()">newLine</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(boolean)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(char)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(char[])">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(double)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(float)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(int)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(long)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(java.lang.Object)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#print(java.lang.String)">print</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println()">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(boolean)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(char)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(char[])">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(double)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(float)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(int)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(long)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(java.lang.Object)">println</A>, <A HREF="../../../../javax/servlet/jsp/JspWriter.html#println(java.lang.String)">println</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.Writer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.Writer</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>write, write, write, write, write</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BodyContent(javax.servlet.jsp.JspWriter)"><!-- --></A><H3>
+BodyContent</H3>
+<PRE>
+protected <B>BodyContent</B>(<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A>&nbsp;e)</PRE>
+<DL>
+<DD>Protected constructor.
+
+ Unbounded buffer, no autoflushing.
+<P>
+<DT><B>Parameters:</B><DD><CODE>e</CODE> - the enclosing JspWriter</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="flush()"><!-- --></A><H3>
+flush</H3>
+<PRE>
+public void <B>flush</B>()
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Redefined flush() so it is not legal.
+
+ <p>
+ It is not valid to flush a BodyContent because there is no backing
+ stream behind it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/JspWriter.html#flush()">flush</A></CODE> in class <CODE><A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - always thrown</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearBody()"><!-- --></A><H3>
+clearBody</H3>
+<PRE>
+public void <B>clearBody</B>()</PRE>
+<DL>
+<DD>Clear the body without throwing any exceptions.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReader()"><!-- --></A><H3>
+getReader</H3>
+<PRE>
+public abstract java.io.Reader <B>getReader</B>()</PRE>
+<DL>
+<DD>Return the value of this BodyContent as a Reader.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of this BodyContent as a Reader</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getString()"><!-- --></A><H3>
+getString</H3>
+<PRE>
+public abstract java.lang.String <B>getString</B>()</PRE>
+<DL>
+<DD>Return the value of the BodyContent as a String.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the BodyContent as a String</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeOut(java.io.Writer)"><!-- --></A><H3>
+writeOut</H3>
+<PRE>
+public abstract void <B>writeOut</B>(java.io.Writer&nbsp;out)
+                       throws java.io.IOException</PRE>
+<DL>
+<DD>Write the contents of this BodyContent into a Writer.
+ Subclasses may optimize common invocation patterns.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>out</CODE> - The writer into which to place the contents of
+     this body evaluation
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an I/O error occurred while writing the
+     contents of this BodyContent to the given Writer</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEnclosingWriter()"><!-- --></A><H3>
+getEnclosingWriter</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> <B>getEnclosingWriter</B>()</PRE>
+<DL>
+<DD>Get the enclosing JspWriter.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the enclosing JspWriter passed at construction time</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyContent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyContent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_javax.servlet.jsp.JspWriter">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,472 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+BodyTag (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.BodyTag interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BodyTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface BodyTag</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>BodyTag</B><DT>extends <A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></DL>
+
+<P>
+The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.
+
+ <p>
+ It is the responsibility of the tag handler to manipulate the body
+ content.  For example the tag handler may take the body content,
+ convert it into a String using the bodyContent.getString
+ method and then use it.  Or the tag handler may take the body
+ content and write it out into its enclosing JspWriter using
+ the bodyContent.writeOut method.
+
+ <p> A tag handler that implements BodyTag is treated as one that
+ implements IterationTag, except that the doStartTag method can
+ return SKIP_BODY, EVAL_BODY_INCLUDE or EVAL_BODY_BUFFERED.
+
+ <p>
+ If EVAL_BODY_INCLUDE is returned, then evaluation happens
+ as in IterationTag.
+
+ <p>
+ If EVAL_BODY_BUFFERED is returned, then a BodyContent object will be
+ created (by code generated by the JSP compiler) to capture the body
+ evaluation.
+ The code generated by the JSP compiler obtains the BodyContent object by
+ calling the pushBody method of the current pageContext, which
+ additionally has the effect of saving the previous out value.
+ The page compiler returns this object by calling the popBody
+ method of the PageContext class;
+ the call also restores the value of out.
+
+ <p>
+ The interface provides one new property with a setter method and one
+ new action method.
+
+ <p><B>Properties</B>
+ <p> There is a new property: bodyContent, to contain the BodyContent
+ object, where the JSP Page implementation object will place the
+ evaluation (and reevaluation, if appropriate) of the body.  The setter
+ method (setBodyContent) will only be invoked if doStartTag() returns
+ EVAL_BODY_BUFFERED and the corresponding action element does not have
+ an empty body.
+
+ <p><B>Methods</B>
+ <p> In addition to the setter method for the bodyContent property, there
+ is a new action method: doInitBody(), which is invoked right after
+ setBodyContent() and before the body evaluation.  This method is only
+ invoked if doStartTag() returns EVAL_BODY_BUFFERED.
+
+ <p><B>Lifecycle</B>
+ <p> Lifecycle details are described by the transition diagram below.
+ Exceptions that are thrown during the computation of doStartTag(),
+ setBodyContent(), doInitBody(), BODY, doAfterBody() interrupt the
+ execution sequence and are propagated up the stack, unless the
+ tag handler implements the TryCatchFinally interface; see that
+ interface for details.
+ <p>
+ <IMG src="doc-files/BodyTagProtocol.gif"
+      alt="Lifecycle Details Transition Diagram for BodyTag"/>
+
+ <p><B>Empty and Non-Empty Action</B>
+ <p> If the TagLibraryDescriptor file indicates that the action must
+ always have an empty element body, by an &lt;body-content&gt; entry 
+ of "empty", then the doStartTag() method must return SKIP_BODY.
+ Otherwise, the doStartTag() method may return SKIP_BODY,
+ EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
+
+ <p>Note that which methods are invoked after the doStartTag() depends on 
+ both the return value and on if the custom action element is empty
+ or not in the JSP page, not how it's declared in the TLD.
+
+ <p>
+ If SKIP_BODY is returned the body is not evaluated, and doEndTag() is
+ invoked.
+
+ <p>
+ If EVAL_BODY_INCLUDE is returned, and the custom action element is not
+ empty, setBodyContent() is not invoked,
+ doInitBody() is not invoked, the body is evaluated and
+ "passed through" to the current out, doAfterBody() is invoked
+ and then, after zero or more iterations, doEndTag() is invoked.
+ If the custom action element is empty, only doStart() and 
+ doEndTag() are invoked.
+
+ <p>
+ If EVAL_BODY_BUFFERED is returned, and the custom action element is not
+ empty, setBodyContent() is invoked,
+ doInitBody() is invoked, the body is evaluated, doAfterBody() is
+ invoked, and then, after zero or more iterations, doEndTag() is invoked.
+ If the custom action element is empty, only doStart() and doEndTag() 
+ are invoked.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_BUFFERED">EVAL_BODY_BUFFERED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request the creation of new buffer, a BodyContent on which to
+ evaluate the body of this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">EVAL_BODY_TAG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED
+ or IterationTag.EVAL_BODY_AGAIN.</I></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.IterationTag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#doInitBody()">doInitBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)">setBodyContent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bodyContent property.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.tagext.IterationTag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()">doAfterBody</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EVAL_BODY_TAG"><!-- --></A><H3>
+EVAL_BODY_TAG</H3>
+<PRE>
+public static final int <B>EVAL_BODY_TAG</B></PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java JSP API 1.2, use BodyTag.EVAL_BODY_BUFFERED
+ or IterationTag.EVAL_BODY_AGAIN.</I>
+<P>
+<DD>Deprecated constant that has the same value as EVAL_BODY_BUFFERED
+ and EVAL_BODY_AGAIN.  This name has been marked as deprecated
+ to encourage the use of the two different terms, which are much
+ more descriptive.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_TAG">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EVAL_BODY_BUFFERED"><!-- --></A><H3>
+EVAL_BODY_BUFFERED</H3>
+<PRE>
+public static final int <B>EVAL_BODY_BUFFERED</B></PRE>
+<DL>
+<DD>Request the creation of new buffer, a BodyContent on which to
+ evaluate the body of this tag.
+
+ Returned from doStartTag when it implements BodyTag.
+ This is an illegal return value for doStartTag when the class
+ does not implement BodyTag.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_BUFFERED">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><!-- --></A><H3>
+setBodyContent</H3>
+<PRE>
+public void <B>setBodyContent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</PRE>
+<DL>
+<DD>Set the bodyContent property.
+ This method is invoked by the JSP page implementation object at
+ most once per action invocation.
+ This method will be invoked before doInitBody.
+ This method will not be invoked for empty tags or for non-empty
+ tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
+
+ <p>
+ When setBodyContent is invoked, the value of the implicit object out
+ has already been changed in the pageContext object.  The BodyContent
+ object passed will have not data on it but may have been reused
+ (and cleared) from some previous invocation.
+
+ <p>
+ The BodyContent object is available and with the appropriate content
+ until after the invocation of the doEndTag method, at which case it
+ may be reused.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the BodyContent<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#doInitBody()"><CODE>doInitBody()</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()"><CODE>IterationTag.doAfterBody()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doInitBody()"><!-- --></A><H3>
+doInitBody</H3>
+<PRE>
+public void <B>doInitBody</B>()
+                throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Prepare for evaluation of the body.
+ This method is invoked by the JSP page implementation object
+ after setBodyContent and before the first time
+ the body is to be evaluated.
+ This method will not be invoked for empty tags or for non-empty
+ tags whose doStartTag() method returns SKIP_BODY or EVAL_BODY_INCLUDE.
+
+ <p>
+ The JSP container will resynchronize the values of any AT_BEGIN and
+ NESTED variables (defined by the associated TagExtraInfo or TLD) after
+ the invocation of doInitBody().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()"><CODE>IterationTag.doAfterBody()</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/BodyTagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,565 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+BodyTagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.BodyTagSupport class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="BodyTagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyTagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class BodyTagSupport</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">javax.servlet.jsp.tagext.TagSupport</A>
+      <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.BodyTagSupport</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, java.io.Serializable, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>BodyTagSupport</B><DT>extends <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A><DT>implements <A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></DL>
+
+<P>
+A base class for defining tag handlers implementing BodyTag.
+
+ <p>
+ The BodyTagSupport class implements the BodyTag interface and adds
+ additional convenience methods including getter methods for the
+ bodyContent property and methods to get at the previous out JspWriter.
+
+ <p>
+ Many tag handlers will extend BodyTagSupport and only redefine a
+ few methods.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#javax.servlet.jsp.tagext.BodyTagSupport">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#bodyContent">bodyContent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current BodyContent for this BodyTag.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.TagSupport"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#id">id</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#pageContext">pageContext</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.BodyTag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_BUFFERED">EVAL_BODY_BUFFERED</A>, <A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#EVAL_BODY_TAG">EVAL_BODY_TAG</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.IterationTag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#BodyTagSupport()">BodyTagSupport</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor, all subclasses are required to only define
+ a public constructor with the same signature, and to call the
+ superclass constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;After the body evaluation: do not reevaluate and continue with the page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the end tag returning EVAL_PAGE.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doInitBody()">doInitBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body just before the first body evaluation:
+ no action.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the start tag returning EVAL_BODY_BUFFERED.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#getBodyContent()">getBodyContent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get current bodyContent.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#getPreviousOut()">getPreviousOut</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get surrounding out JspWriter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release state.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)">setBodyContent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body: stash the bodyContent away.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.tagext.TagSupport"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)">findAncestorWithClass</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getId()">getId</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getParent()">getParent</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValue(java.lang.String)">getValue</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValues()">getValues</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#removeValue(java.lang.String)">removeValue</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setId(java.lang.String)">setId</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setValue(java.lang.String, java.lang.Object)">setValue</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="bodyContent"><!-- --></A><H3>
+bodyContent</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> <B>bodyContent</B></PRE>
+<DL>
+<DD>The current BodyContent for this BodyTag.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BodyTagSupport()"><!-- --></A><H3>
+BodyTagSupport</H3>
+<PRE>
+public <B>BodyTagSupport</B>()</PRE>
+<DL>
+<DD>Default constructor, all subclasses are required to only define
+ a public constructor with the same signature, and to call the
+ superclass constructor.
+
+ This constructor is called by the code generated by the JSP
+ translator.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doStartTag()"><!-- --></A><H3>
+doStartTag</H3>
+<PRE>
+public int <B>doStartTag</B>()
+               throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Default processing of the start tag returning EVAL_BODY_BUFFERED.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doStartTag()">doStartTag</A></CODE> in class <CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>EVAL_BODY_BUFFERED
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()"><CODE>Tag.doStartTag()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doEndTag()"><!-- --></A><H3>
+doEndTag</H3>
+<PRE>
+public int <B>doEndTag</B>()
+             throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Default processing of the end tag returning EVAL_PAGE.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doEndTag()">doEndTag</A></CODE> in class <CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>EVAL_PAGE
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()"><CODE>Tag.doEndTag()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><!-- --></A><H3>
+setBodyContent</H3>
+<PRE>
+public void <B>setBodyContent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</PRE>
+<DL>
+<DD>Prepare for evaluation of the body: stash the bodyContent away.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)">setBodyContent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the BodyContent<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doAfterBody()"><CODE>doAfterBody()</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doInitBody()"><CODE>doInitBody()</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><CODE>BodyTag.setBodyContent(javax.servlet.jsp.tagext.BodyContent)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doInitBody()"><!-- --></A><H3>
+doInitBody</H3>
+<PRE>
+public void <B>doInitBody</B>()
+                throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Prepare for evaluation of the body just before the first body evaluation:
+ no action.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#doInitBody()">doInitBody</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)"><CODE>setBodyContent(javax.servlet.jsp.tagext.BodyContent)</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doAfterBody()"><CODE>doAfterBody()</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html#doInitBody()"><CODE>BodyTag.doInitBody()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doAfterBody()"><!-- --></A><H3>
+doAfterBody</H3>
+<PRE>
+public int <B>doAfterBody</B>()
+                throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>After the body evaluation: do not reevaluate and continue with the page.
+ By default nothing is done with the bodyContent data (if any).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()">doAfterBody</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doAfterBody()">doAfterBody</A></CODE> in class <CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>SKIP_BODY
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#doInitBody()"><CODE>doInitBody()</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()"><CODE>IterationTag.doAfterBody()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()</PRE>
+<DL>
+<DD>Release state.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#release()">release</A></CODE> in class <CODE><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()"><CODE>Tag.release()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBodyContent()"><!-- --></A><H3>
+getBodyContent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> <B>getBodyContent</B>()</PRE>
+<DL>
+<DD>Get current bodyContent.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the body content.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreviousOut()"><!-- --></A><H3>
+getPreviousOut</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp">JspWriter</A> <B>getPreviousOut</B>()</PRE>
+<DL>
+<DD>Get surrounding out JspWriter.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the enclosing JspWriter, from the bodyContent.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/BodyTagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/DynamicAttributes.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/DynamicAttributes.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/DynamicAttributes.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+DynamicAttributes (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.DynamicAttributes interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DynamicAttributes (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DynamicAttributes.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicAttributes.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface DynamicAttributes</H2>
+<HR>
+<DL>
+<DT>public interface <B>DynamicAttributes</B></DL>
+
+<P>
+For a tag to declare that it accepts dynamic attributes, it must implement
+ this interface.  The entry for the tag in the Tag Library Descriptor must 
+ also be configured to indicate dynamic attributes are accepted.
+ <br>
+ For any attribute that is not declared in the Tag Library Descriptor for
+ this tag, instead of getting an error at translation time, the 
+ <code>setDynamicAttribute()</code> method is called, with the name and
+ value of the attribute.  It is the responsibility of the tag to 
+ remember the names and values of the dynamic attributes.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html#setDynamicAttribute(java.lang.String, java.lang.String, java.lang.Object)">setDynamicAttribute</A></B>(java.lang.String&nbsp;uri,
+                    java.lang.String&nbsp;localName,
+                    java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called when a tag declared to accept dynamic attributes is passed
+ an attribute that is not declared in the Tag Library Descriptor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setDynamicAttribute(java.lang.String, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setDynamicAttribute</H3>
+<PRE>
+public void <B>setDynamicAttribute</B>(java.lang.String&nbsp;uri,
+                                java.lang.String&nbsp;localName,
+                                java.lang.Object&nbsp;value)
+                         throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Called when a tag declared to accept dynamic attributes is passed
+ an attribute that is not declared in the Tag Library Descriptor.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - the namespace of the attribute, or null if in the default
+     namespace.<DD><CODE>localName</CODE> - the name of the attribute being set.<DD><CODE>value</CODE> - the value of the attribute
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if the tag handler wishes to
+     signal that it does not accept the given attribute.  The 
+     container must not call doStartTag() or doTag() for this tag.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DynamicAttributes.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicAttributes.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/FunctionInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/FunctionInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/FunctionInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+FunctionInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.FunctionInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FunctionInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FunctionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class FunctionInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.FunctionInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>FunctionInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Information for a function in a Tag Library.
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html#FunctionInfo(java.lang.String, java.lang.String, java.lang.String)">FunctionInfo</A></B>(java.lang.String&nbsp;name,
+             java.lang.String&nbsp;klass,
+             java.lang.String&nbsp;signature)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for FunctionInfo.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html#getFunctionClass()">getFunctionClass</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The class of the function.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html#getFunctionSignature()">getFunctionSignature</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The signature of the function.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the function.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="FunctionInfo(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
+FunctionInfo</H3>
+<PRE>
+public <B>FunctionInfo</B>(java.lang.String&nbsp;name,
+                    java.lang.String&nbsp;klass,
+                    java.lang.String&nbsp;signature)</PRE>
+<DL>
+<DD>Constructor for FunctionInfo.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the function<DD><CODE>klass</CODE> - The class of the function<DD><CODE>signature</CODE> - The signature of the function</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>The name of the function.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The name of the function</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctionClass()"><!-- --></A><H3>
+getFunctionClass</H3>
+<PRE>
+public java.lang.String <B>getFunctionClass</B>()</PRE>
+<DL>
+<DD>The class of the function.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The class of the function</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctionSignature()"><!-- --></A><H3>
+getFunctionSignature</H3>
+<PRE>
+public java.lang.String <B>getFunctionSignature</B>()</PRE>
+<DL>
+<DD>The signature of the function.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The signature of the function</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FunctionInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/IterationTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/IterationTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/IterationTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+IterationTag (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.IterationTag interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="IterationTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IterationTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IterationTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface IterationTag</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>IterationTag</B><DT>extends <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DL>
+
+<P>
+The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.
+
+ <p> A tag handler that implements IterationTag is treated as one that
+ implements Tag regarding  the doStartTag() and doEndTag() methods.
+ IterationTag provides a new method: <code>doAfterBody()</code>.
+
+ <p> The doAfterBody() method is invoked after every body evaluation
+ to control whether the body will be reevaluated or not.  If doAfterBody()
+ returns IterationTag.EVAL_BODY_AGAIN, then the body will be reevaluated.
+ If doAfterBody() returns Tag.SKIP_BODY, then the body will be skipped
+ and doEndTag() will be evaluated instead.
+
+ <p><B>Properties</B>
+ There are no new properties in addition to those in Tag.
+
+ <p><B>Methods</B>
+ There is one new methods: doAfterBody().
+
+ <p><B>Lifecycle</B>
+
+ <p> Lifecycle details are described by the transition diagram
+ below.  Exceptions that are thrown during the computation of
+ doStartTag(), BODY and doAfterBody() interrupt the execution
+ sequence and are propagated up the stack, unless the tag handler
+ implements the TryCatchFinally interface; see that interface for
+ details.
+
+ <p>
+ <IMG src="doc-files/IterationTagProtocol.gif"
+      alt="Lifecycle Details Transition Diagram for IterationTag"/>
+
+ <p><B>Empty and Non-Empty Action</B>
+ <p> If the TagLibraryDescriptor file indicates that the action must
+ always have an empty element body, by a &lt;body-content&gt; entry of 
+ "empty", then the doStartTag() method must return SKIP_BODY.
+
+ <p>Note that which methods are invoked after the doStartTag() depends on
+ both the return value and on if the custom action element is empty
+ or not in the JSP page, not on how it's declared in the TLD.
+
+ <p>
+ If SKIP_BODY is returned the body is not evaluated, and then doEndTag()
+ is invoked.
+
+ <p>
+ If EVAL_BODY_INCLUDE is returned, and the custom action element is not
+ empty, the body is evaluated and "passed through" to the current out, 
+ then doAfterBody() is invoked and, after zero or more iterations, 
+ doEndTag() is invoked.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Request the reevaluation of some body.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process body (re)evaluation.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="EVAL_BODY_AGAIN"><!-- --></A><H3>
+EVAL_BODY_AGAIN</H3>
+<PRE>
+public static final int <B>EVAL_BODY_AGAIN</B></PRE>
+<DL>
+<DD>Request the reevaluation of some body.
+ Returned from doAfterBody.
+
+ For compatibility with JSP 1.1, the value is carefully selected
+ to be the same as the, now deprecated, BodyTag.EVAL_BODY_TAG,
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.IterationTag.EVAL_BODY_AGAIN">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doAfterBody()"><!-- --></A><H3>
+doAfterBody</H3>
+<PRE>
+public int <B>doAfterBody</B>()
+                throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Process body (re)evaluation.  This method is invoked by the
+ JSP Page implementation object after every evaluation of
+ the body into the BodyEvaluation object. The method is
+ not invoked if there is no body evaluation.
+
+ <p>
+ If doAfterBody returns EVAL_BODY_AGAIN, a new evaluation of the
+ body will happen (followed by another invocation of doAfterBody).
+ If doAfterBody returns SKIP_BODY, no more body evaluations will occur,
+ and the doEndTag method will be invoked.
+
+ <p>
+ If this tag handler implements BodyTag and doAfterBody returns
+ SKIP_BODY, the value of out will be restored using the popBody 
+ method in pageContext prior to invoking doEndTag.
+
+ <p>
+ The method re-invocations may be lead to different actions because
+ there might have been some changes to shared state, or because
+ of external computation.
+
+ <p>
+ The JSP container will resynchronize the values of any AT_BEGIN and
+ NESTED variables (defined by the associated TagExtraInfo or TLD) after
+ the invocation of doAfterBody().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether additional evaluations of the body are desired
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/IterationTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IterationTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspFragment.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspFragment.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspFragment.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspFragment (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.JspFragment class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspFragment (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspFragment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFragment.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class JspFragment</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.JspFragment</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>JspFragment</B><DT>extends java.lang.Object</DL>
+
+<P>
+Encapsulates a portion of JSP code in an object that 
+ can be invoked as many times as needed.  JSP Fragments are defined 
+ using JSP syntax as the body of a tag for an invocation to a SimpleTag 
+ handler, or as the body of a &lt;jsp:attribute&gt; standard action
+ specifying the value of an attribute that is declared as a fragment,
+ or to be of type JspFragment in the TLD.
+ <p>
+ The definition of the JSP fragment must only contain template 
+ text and JSP action elements.  In other words, it must not contain
+ scriptlets or scriptlet expressions.  At translation time, the 
+ container generates an implementation of the JspFragment abstract class
+ capable of executing the defined fragment.
+ <p>
+ A tag handler can invoke the fragment zero or more times, or 
+ pass it along to other tags, before returning.  To communicate values
+ to/from a JSP fragment, tag handlers store/retrieve values in 
+ the JspContext associated with the fragment.
+ <p>
+ Note that tag library developers and page authors should not generate
+ JspFragment implementations manually.
+ <p>
+ <i>Implementation Note</i>: It is not necessary to generate a 
+ separate class for each fragment.  One possible implementation is 
+ to generate a single helper class for each page that implements 
+ JspFragment. Upon construction, a discriminator can be passed to 
+ select which fragment that instance will execute.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html#JspFragment()">JspFragment</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html#getJspContext()">getJspContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the JspContext that is bound to this JspFragment.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html#invoke(java.io.Writer)">invoke</A></B>(java.io.Writer&nbsp;out)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Executes the fragment and directs all output to the given Writer,
+ or the JspWriter returned by the getOut() method of the JspContext
+ associated with the fragment if out is null.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="JspFragment()"><!-- --></A><H3>
+JspFragment</H3>
+<PRE>
+public <B>JspFragment</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="invoke(java.io.Writer)"><!-- --></A><H3>
+invoke</H3>
+<PRE>
+public abstract void <B>invoke</B>(java.io.Writer&nbsp;out)
+                     throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>,
+                            java.io.IOException</PRE>
+<DL>
+<DD>Executes the fragment and directs all output to the given Writer,
+ or the JspWriter returned by the getOut() method of the JspContext
+ associated with the fragment if out is null.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>out</CODE> - The Writer to output the fragment to, or null if 
+     output should be sent to JspContext.getOut().
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - Thrown if an error occured
+     while invoking this fragment.
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></CODE> - Thrown if the page
+     that (either directly or indirectly) invoked the tag handler that
+     invoked this fragment is to cease evaluation.  The container
+     must throw this exception if a Classic Tag Handler returned
+     Tag.SKIP_PAGE or if a Simple Tag Handler threw SkipPageException.
+<DD><CODE>java.io.IOException</CODE> - If there was an error writing to the 
+     stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJspContext()"><!-- --></A><H3>
+getJspContext</H3>
+<PRE>
+public abstract <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A> <B>getJspContext</B>()</PRE>
+<DL>
+<DD>Returns the JspContext that is bound to this JspFragment.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The JspContext used by this fragment at invocation time.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspFragment.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFragment.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/JspTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,195 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+JspTag (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.JspTag interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="JspTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface JspTag</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>, <A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>JspTag</B></DL>
+
+<P>
+Serves as a base class for Tag and SimpleTag.  
+ This is mostly for organizational and type-safety purposes.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/JspTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/PageData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/PageData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/PageData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,269 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+PageData (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.PageData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="PageData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PageData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class PageData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.PageData</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>PageData</B><DT>extends java.lang.Object</DL>
+
+<P>
+Translation-time information on a JSP page.  The information
+ corresponds to the XML view of the JSP page.
+
+ <p>
+ Objects of this type are generated by the JSP translator, e.g.
+ when being pased to a TagLibraryValidator instance.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/PageData.html#PageData()">PageData</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;java.io.InputStream</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/PageData.html#getInputStream()">getInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an input stream on the XML view of a JSP page.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="PageData()"><!-- --></A><H3>
+PageData</H3>
+<PRE>
+public <B>PageData</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getInputStream()"><!-- --></A><H3>
+getInputStream</H3>
+<PRE>
+public abstract java.io.InputStream <B>getInputStream</B>()</PRE>
+<DL>
+<DD>Returns an input stream on the XML view of a JSP page.
+ The stream is encoded in UTF-8.  Recall tht the XML view of a 
+ JSP page has the include directives expanded.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An input stream on the document.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/PageData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+SimpleTag (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.SimpleTag interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SimpleTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface SimpleTag</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>SimpleTag</B><DT>extends <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></DL>
+
+<P>
+Interface for defining Simple Tag Handlers.
+ 
+ <p>Simple Tag Handlers differ from Classic Tag Handlers in that instead 
+ of supporting <code>doStartTag()</code> and <code>doEndTag()</code>, 
+ the <code>SimpleTag</code> interface provides a simple 
+ <code>doTag()</code> method, which is called once and only once for any 
+ given tag invocation.  All tag logic, iteration, body evaluations, etc. 
+ are to be performed in this single method.  Thus, simple tag handlers 
+ have the equivalent power of <code>BodyTag</code>, but with a much 
+ simpler lifecycle and interface.</p>
+
+ <p>To support body content, the <code>setJspBody()</code> 
+ method is provided.  The container invokes the <code>setJspBody()</code> 
+ method with a <code>JspFragment</code> object encapsulating the body of 
+ the tag.  The tag handler implementation can call 
+ <code>invoke()</code> on that fragment to evaluate the body as
+ many times as it needs.</p>
+
+ <p>A SimpleTag handler must have a public no-args constructor.  Most
+ SimpleTag handlers should extend SimpleTagSupport.</p>
+ 
+ <p><b>Lifecycle</b></p>
+
+ <p>The following is a non-normative, brief overview of the 
+ SimpleTag lifecycle.  Refer to the JSP Specification for details.</p>
+
+ <ol>
+   <li>A new tag handler instance is created each time by the container 
+       by calling the provided zero-args constructor.  Unlike classic
+       tag handlers, simple tag handlers are never cached and reused by
+       the JSP container.</li>
+   <li>The <code>setJspContext()</code> and <code>setParent()</code> 
+       methods are called by the container.  The <code>setParent()</code>
+       method is only called if the element is nested within another tag 
+       invocation.</li>
+   <li>The setters for each attribute defined for this tag are called
+       by the container.</li>
+   <li>If a body exists, the <code>setJspBody()</code> method is called 
+       by the container to set the body of this tag, as a 
+       <code>JspFragment</code>.  If the action element is empty in
+       the page, this method is not called at all.</li>
+   <li>The <code>doTag()</code> method is called by the container.  All
+       tag logic, iteration, body evaluations, etc. occur in this 
+       method.</li>
+   <li>The <code>doTag()</code> method returns and all variables are
+       synchronized.</li>
+ </ol>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><CODE>SimpleTagSupport</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#doTag()">doTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the container to invoke this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, for collaboration purposes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)">setJspBody</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides the body of this tag as a JspFragment object, able to be 
+ invoked zero or more times by the tag handler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspContext(javax.servlet.jsp.JspContext)">setJspContext</A></B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the container to provide this tag handler with
+ the <code>JspContext</code> for this invocation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setParent(javax.servlet.jsp.tagext.JspTag)">setParent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the parent of this tag, for collaboration purposes.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doTag()"><!-- --></A><H3>
+doTag</H3>
+<PRE>
+public void <B>doTag</B>()
+           throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>,
+                  java.io.IOException</PRE>
+<DL>
+<DD>Called by the container to invoke this tag.
+ The implementation of this method is provided by the tag library
+ developer, and handles all tag processing, body iteration, etc.
+
+ <p>
+ The JSP container will resynchronize any AT_BEGIN and AT_END
+ variables (defined by the associated tag file, TagExtraInfo, or TLD)
+ after the invocation of doTag().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - If an error occurred 
+     while processing this tag.
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></CODE> - If the page that
+     (either directly or indirectly) invoked this tag is to
+     cease evaluation.  A Simple Tag Handler generated from a 
+     tag file must throw this exception if an invoked Classic 
+     Tag Handler returned SKIP_PAGE or if an invoked Simple
+     Tag Handler threw SkipPageException or if an invoked Jsp Fragment
+     threw a SkipPageException.
+<DD><CODE>java.io.IOException</CODE> - If there was an error writing to the
+     output stream.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(javax.servlet.jsp.tagext.JspTag)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</PRE>
+<DL>
+<DD>Sets the parent of this tag, for collaboration purposes.
+ <p>
+ The container invokes this method only if this tag invocation is 
+ nested within another tag invocation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the tag that encloses this tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> <B>getParent</B>()</PRE>
+<DL>
+<DD>Returns the parent of this tag, for collaboration purposes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent of this tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJspContext(javax.servlet.jsp.JspContext)"><!-- --></A><H3>
+setJspContext</H3>
+<PRE>
+public void <B>setJspContext</B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</PRE>
+<DL>
+<DD>Called by the container to provide this tag handler with
+ the <code>JspContext</code> for this invocation.
+ An implementation should save this value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the page context for this invocation<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)"><CODE>Tag.setPageContext(javax.servlet.jsp.PageContext)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJspBody(javax.servlet.jsp.tagext.JspFragment)"><!-- --></A><H3>
+setJspBody</H3>
+<PRE>
+public void <B>setJspBody</B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</PRE>
+<DL>
+<DD>Provides the body of this tag as a JspFragment object, able to be 
+ invoked zero or more times by the tag handler. 
+ <p>
+ This method is invoked by the JSP page implementation 
+ object prior to <code>doTag()</code>.  If the action element is
+ empty in the page, this method is not called at all.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jspBody</CODE> - The fragment encapsulating the body of this tag.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleTag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/SimpleTagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,507 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+SimpleTagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.SimpleTagSupport class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SimpleTagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleTagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class SimpleTagSupport</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.SimpleTagSupport</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>SimpleTagSupport</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></DL>
+
+<P>
+A base class for defining tag handlers implementing SimpleTag.
+ <p>
+ The SimpleTagSupport class is a utility class intended to be used
+ as the base class for new simple tag handlers.  The SimpleTagSupport
+ class implements the SimpleTag interface and adds additional
+ convenience methods including getter methods for the properties in
+ SimpleTag.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#SimpleTagSupport()">SimpleTagSupport</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#doTag()">doTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the tag does nothing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.JspTag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspBody()">getJspBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the body passed in by the container via setJspBody.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspContext()">getJspContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the page context passed in by the container via 
+ setJspContext.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, for collaboration purposes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)">setJspBody</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the provided JspFragment.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspContext(javax.servlet.jsp.JspContext)">setJspContext</A></B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the provided JSP context in the private jspContext field.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setParent(javax.servlet.jsp.tagext.JspTag)">setParent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the parent of this tag, for collaboration purposes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SimpleTagSupport()"><!-- --></A><H3>
+SimpleTagSupport</H3>
+<PRE>
+public <B>SimpleTagSupport</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doTag()"><!-- --></A><H3>
+doTag</H3>
+<PRE>
+public void <B>doTag</B>()
+           throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A>,
+                  java.io.IOException</PRE>
+<DL>
+<DD>Default processing of the tag does nothing.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#doTag()">doTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - Subclasses can throw JspException to indicate
+     an error occurred while processing this tag.
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">SkipPageException</A></CODE> - If the page that
+     (either directly or indirectly) invoked this tag is to
+     cease evaluation.  A Simple Tag Handler generated from a 
+     tag file must throw this exception if an invoked Classic 
+     Tag Handler returned SKIP_PAGE or if an invoked Simple
+     Tag Handler threw SkipPageException or if an invoked Jsp Fragment
+     threw a SkipPageException.
+<DD><CODE>java.io.IOException</CODE> - Subclasses can throw IOException if there was
+     an error writing to the output stream<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#doTag()"><CODE>SimpleTag.doTag()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(javax.servlet.jsp.tagext.JspTag)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</PRE>
+<DL>
+<DD>Sets the parent of this tag, for collaboration purposes.
+ <p>
+ The container invokes this method only if this tag invocation is
+ nested within another tag invocation.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setParent(javax.servlet.jsp.tagext.JspTag)">setParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the tag that encloses this tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> <B>getParent</B>()</PRE>
+<DL>
+<DD>Returns the parent of this tag, for collaboration purposes.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent of this tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJspContext(javax.servlet.jsp.JspContext)"><!-- --></A><H3>
+setJspContext</H3>
+<PRE>
+public void <B>setJspContext</B>(<A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A>&nbsp;pc)</PRE>
+<DL>
+<DD>Stores the provided JSP context in the private jspContext field.
+ Subclasses can access the <code>JspContext</code> via 
+ <code>getJspContext()</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspContext(javax.servlet.jsp.JspContext)">setJspContext</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pc</CODE> - the page context for this invocation<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspContext(javax.servlet.jsp.JspContext)"><CODE>SimpleTag.setJspContext(javax.servlet.jsp.JspContext)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJspContext()"><!-- --></A><H3>
+getJspContext</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp">JspContext</A> <B>getJspContext</B>()</PRE>
+<DL>
+<DD>Returns the page context passed in by the container via 
+ setJspContext.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the page context for this invocation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJspBody(javax.servlet.jsp.tagext.JspFragment)"><!-- --></A><H3>
+setJspBody</H3>
+<PRE>
+public void <B>setJspBody</B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</PRE>
+<DL>
+<DD>Stores the provided JspFragment.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)">setJspBody</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jspBody</CODE> - The fragment encapsulating the body of this tag.
+     If the action element is empty in the page, this method is 
+     not called at all.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)"><CODE>SimpleTag.setJspBody(javax.servlet.jsp.tagext.JspFragment)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJspBody()"><!-- --></A><H3>
+getJspBody</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A> <B>getJspBody</B>()</PRE>
+<DL>
+<DD>Returns the body passed in by the container via setJspBody.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the fragment encapsulating the body of this tag, or
+    null if the action element is empty in the page.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findAncestorWithClass(javax.servlet.jsp.tagext.JspTag, java.lang.Class)"><!-- --></A><H3>
+findAncestorWithClass</H3>
+<PRE>
+public static final <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> <B>findAncestorWithClass</B>(<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;from,
+                                                 java.lang.Class&nbsp;klass)</PRE>
+<DL>
+<DD>Find the instance of a given class type that is closest to a given
+ instance.
+ This method uses the getParent method from the Tag and/or SimpleTag
+ interfaces.  This method is used for coordination among 
+ cooperating tags.
+
+ <p> For every instance of TagAdapter
+ encountered while traversing the ancestors, the tag handler returned by
+ <tt>TagAdapter.getAdaptee()</tt> - instead of the TagAdpater itself -
+ is compared to <tt>klass</tt>. If the tag handler matches, it - and
+ not its TagAdapter - is returned.
+
+ <p>
+ The current version of the specification only provides one formal
+ way of indicating the observable type of a tag handler: its
+ tag handler implementation class, described in the tag-class
+ subelement of the tag element.  This is extended in an
+ informal manner by allowing the tag library author to
+ indicate in the description subelement an observable type.
+ The type should be a subtype of the tag handler implementation
+ class or void.
+ This addititional constraint can be exploited by a
+ specialized container that knows about that specific tag library,
+ as in the case of the JSP standard tag library.
+
+ <p>
+ When a tag library author provides information on the
+ observable type of a tag handler, client programmatic code
+ should adhere to that constraint.  Specifically, the Class
+ passed to findAncestorWithClass should be a subtype of the
+ observable type.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>from</CODE> - The instance from where to start looking.<DD><CODE>klass</CODE> - The subclass of JspTag or interface to be matched
+<DT><B>Returns:</B><DD>the nearest ancestor that implements the interface
+ or is an instance of the class specified</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SimpleTagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/Tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/Tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/Tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,601 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Tag (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.Tag interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Tag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Tag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Tag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface Tag</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A>, <A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Tag</B><DT>extends <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></DL>
+
+<P>
+The interface of a classic tag handler that does not want to manipulate 
+ its body.  The Tag interface defines the basic protocol between a Tag 
+ handler and JSP page implementation class.  It defines the life cycle 
+ and the methods to be invoked at start and end tag.
+
+ <p><B>Properties</B></p>
+
+ <p>The Tag interface specifies the setter and getter methods for the core
+ pageContext and parent properties.</p>
+
+ <p>The JSP page implementation object invokes setPageContext and
+ setParent, in that order, before invoking doStartTag() or doEndTag().</p>
+
+ <p><B>Methods</B></p>
+
+ <p>There are two main actions: doStartTag and doEndTag.  Once all
+ appropriate properties have been initialized, the doStartTag and
+ doEndTag methods can be invoked on the tag handler.  Between these
+ invocations, the tag handler is assumed to hold a state that must
+ be preserved.  After the doEndTag invocation, the tag handler is
+ available for further invocations (and it is expected to have
+ retained its properties).</p>
+
+ <p><B>Lifecycle</B></p>
+
+ <p>Lifecycle details are described by the transition diagram below,
+ with the following comments:
+ <ul>
+ <li> [1] This transition is intended to be for releasing long-term data.
+ no guarantees are assumed on whether any properties have been retained
+ or not.
+ <li> [2] This transition happens if and only if the tag ends normally
+ without raising an exception
+ <li> [3] Some setters may be called again before a tag handler is 
+ reused.  For instance, <code>setParent()</code> is called if it's 
+ reused within the same page but at a different level, 
+ <code>setPageContext()</code> is called if it's used in another page, 
+ and attribute setters are called if the values differ or are expressed 
+ as request-time attribute values.
+ <li> Check the TryCatchFinally interface for additional details related
+ to exception handling and resource management.
+ </ul></p>
+
+ <IMG src="doc-files/TagProtocol.gif"
+      alt="Lifecycle Details Transition Diagram for Tag"/>
+ 
+ <p>Once all invocations on the tag handler
+ are completed, the release method is invoked on it.  Once a release
+ method is invoked <em>all</em> properties, including parent and
+ pageContext, are assumed to have been reset to an unspecified value.
+ The page compiler guarantees that release() will be invoked on the Tag
+ handler before the handler is released to the GC.</p>
+
+ <p><B>Empty and Non-Empty Action</B></p>
+ <p>If the TagLibraryDescriptor file indicates that the action must
+ always have an empty action, by an &lt;body-content&gt; entry of "empty",
+ then the doStartTag() method must return SKIP_BODY.</p>
+
+ <p>Otherwise, the doStartTag() method may return SKIP_BODY or
+ EVAL_BODY_INCLUDE.</p>
+
+ <p>If SKIP_BODY is returned the body, if present, is not evaluated.</p>
+ 
+ <p>If EVAL_BODY_INCLUDE is returned, the body is evaluated and
+ "passed through" to the current out.</p>
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Evaluate body into existing out stream.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Continue evaluating the page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Skip body evaluation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Skip the rest of the page.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the end tag for this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process the start tag for this instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the parent (closest enclosing tag handler) for this tag handler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called on a Tag handler to release state.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the current page context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the parent (closest enclosing tag handler) of this tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SKIP_BODY"><!-- --></A><H3>
+SKIP_BODY</H3>
+<PRE>
+public static final int <B>SKIP_BODY</B></PRE>
+<DL>
+<DD>Skip body evaluation.
+ Valid return value for doStartTag and doAfterBody.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.Tag.SKIP_BODY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EVAL_BODY_INCLUDE"><!-- --></A><H3>
+EVAL_BODY_INCLUDE</H3>
+<PRE>
+public static final int <B>EVAL_BODY_INCLUDE</B></PRE>
+<DL>
+<DD>Evaluate body into existing out stream.
+ Valid return value for doStartTag.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SKIP_PAGE"><!-- --></A><H3>
+SKIP_PAGE</H3>
+<PRE>
+public static final int <B>SKIP_PAGE</B></PRE>
+<DL>
+<DD>Skip the rest of the page.
+ Valid return value for doEndTag.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.Tag.SKIP_PAGE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="EVAL_PAGE"><!-- --></A><H3>
+EVAL_PAGE</H3>
+<PRE>
+public static final int <B>EVAL_PAGE</B></PRE>
+<DL>
+<DD>Continue evaluating the page.
+ Valid return value for doEndTag().
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.Tag.EVAL_PAGE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setPageContext(javax.servlet.jsp.PageContext)"><!-- --></A><H3>
+setPageContext</H3>
+<PRE>
+public void <B>setPageContext</B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</PRE>
+<DL>
+<DD>Set the current page context.
+ This method is invoked by the JSP page implementation object
+ prior to doStartTag().
+ <p>
+ This value is *not* reset by doEndTag() and must be explicitly reset
+ by a page implementation if it changes between calls to doStartTag().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pc</CODE> - The page context for this tag handler.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(javax.servlet.jsp.tagext.Tag)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</PRE>
+<DL>
+<DD>Set the parent (closest enclosing tag handler) of this tag handler.
+ Invoked by the JSP page implementation object prior to doStartTag().
+ <p>
+ This value is *not* reset by doEndTag() and must be explicitly reset
+ by a page implementation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>t</CODE> - The parent tag, or null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> <B>getParent</B>()</PRE>
+<DL>
+<DD>Get the parent (closest enclosing tag handler) for this tag handler.
+
+ <p>
+ The getParent() method can be used to navigate the nested tag
+ handler structure at runtime for cooperation among custom actions;
+ for example, the findAncestorWithClass() method in TagSupport
+ provides a convenient way of doing this.
+
+ <p>
+ The current version of the specification only provides one formal
+ way of indicating the observable type of a tag handler: its
+ tag handler implementation class, described in the tag-class
+ subelement of the tag element.  This is extended in an
+ informal manner by allowing the tag library author to
+ indicate in the description subelement an observable type.
+ The type should be a subtype of the tag handler implementation
+ class or void.
+ This addititional constraint can be exploited by a
+ specialized container that knows about that specific tag library,
+ as in the case of the JSP standard tag library.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current parent, or null if none.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)"><CODE>TagSupport.findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doStartTag()"><!-- --></A><H3>
+doStartTag</H3>
+<PRE>
+public int <B>doStartTag</B>()
+               throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Process the start tag for this instance.
+ This method is invoked by the JSP page implementation object.
+
+ <p>
+ The doStartTag method assumes that the properties pageContext and
+ parent have been set. It also assumes that any properties exposed as
+ attributes have been set too.  When this method is invoked, the body
+ has not yet been evaluated.
+
+ <p>
+ This method returns Tag.EVAL_BODY_INCLUDE or
+ BodyTag.EVAL_BODY_BUFFERED to indicate
+ that the body of the action should be evaluated or SKIP_BODY to
+ indicate otherwise.
+
+ <p>
+ When a Tag returns EVAL_BODY_INCLUDE the result of evaluating
+ the body (if any) is included into the current "out" JspWriter as it
+ happens and then doEndTag() is invoked.
+
+ <p>
+ BodyTag.EVAL_BODY_BUFFERED is only valid  if the tag handler
+ implements BodyTag.
+
+ <p>
+ The JSP container will resynchronize the values of any AT_BEGIN and
+ NESTED variables (defined by the associated TagExtraInfo or TLD)
+ after the invocation of doStartTag(), except for a tag handler
+ implementing BodyTag whose doStartTag() method returns
+ BodyTag.EVAL_BODY_BUFFERED.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>EVAL_BODY_INCLUDE if the tag wants to process body, SKIP_BODY 
+     if it does not want to process it.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><CODE>BodyTag</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doEndTag()"><!-- --></A><H3>
+doEndTag</H3>
+<PRE>
+public int <B>doEndTag</B>()
+             throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Process the end tag for this instance.
+ This method is invoked by the JSP page implementation object
+ on all Tag handlers.
+
+ <p>
+ This method will be called after returning from doStartTag. The
+ body of the action may or may not have been evaluated, depending on
+ the return value of doStartTag.
+
+ <p>
+ If this method returns EVAL_PAGE, the rest of the page continues
+ to be evaluated.  If this method returns SKIP_PAGE, the rest of
+ the page is not evaluated, the request is completed, and 
+ the doEndTag() methods of enclosing tags are not invoked.  If this
+ request was forwarded or included from another page (or Servlet),
+ only the current page evaluation is stopped.
+
+ <p>
+ The JSP container will resynchronize the values of any AT_BEGIN and
+ AT_END variables (defined by the associated TagExtraInfo or TLD)
+ after the invocation of doEndTag().
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>indication of whether to continue evaluating the JSP page.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurred while processing this tag</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()</PRE>
+<DL>
+<DD>Called on a Tag handler to release state.
+ The page compiler guarantees that JSP page implementation
+ objects will invoke this method on all tag handlers,
+ but there may be multiple invocations on doStartTag and doEndTag in between.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Tag.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Tag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAdapter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAdapter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAdapter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,468 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagAdapter (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagAdapter class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagAdapter (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagAdapter</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagAdapter</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>TagAdapter</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DL>
+
+<P>
+Wraps any SimpleTag and exposes it using a Tag interface.  This is used
+ to allow collaboration between classic Tag handlers and SimpleTag
+ handlers.
+ <p>
+ Because SimpleTag does not extend Tag, and because Tag.setParent()
+ only accepts a Tag instance, a classic tag handler (one
+ that implements Tag) cannot have a SimpleTag as its parent.  To remedy
+ this, a TagAdapter is created to wrap the SimpleTag parent, and the
+ adapter is passed to setParent() instead.  A classic Tag Handler can
+ call getAdaptee() to retrieve the encapsulated SimpleTag instance.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#TagAdapter(javax.servlet.jsp.tagext.SimpleTag)">TagAdapter</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>&nbsp;adaptee)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new TagAdapter that wraps the given SimpleTag and 
+ returns the parent tag when getParent() is called.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#getAdaptee()">getAdaptee</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the tag that is being adapted to the Tag interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, which is always
+ getAdaptee().getParent().</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;parentTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagAdapter(javax.servlet.jsp.tagext.SimpleTag)"><!-- --></A><H3>
+TagAdapter</H3>
+<PRE>
+public <B>TagAdapter</B>(<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>&nbsp;adaptee)</PRE>
+<DL>
+<DD>Creates a new TagAdapter that wraps the given SimpleTag and 
+ returns the parent tag when getParent() is called.
+<P>
+<DT><B>Parameters:</B><DD><CODE>adaptee</CODE> - The SimpleTag being adapted as a Tag.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setPageContext(javax.servlet.jsp.PageContext)"><!-- --></A><H3>
+setPageContext</H3>
+<PRE>
+public void <B>setPageContext</B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pc)</PRE>
+<DL>
+<DD>Must not be called.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pc</CODE> - ignored.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.UnsupportedOperationException</CODE> - Must not be called</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(javax.servlet.jsp.tagext.Tag)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;parentTag)</PRE>
+<DL>
+<DD>Must not be called.  The parent of this tag is always 
+ getAdaptee().getParent().
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>parentTag</CODE> - ignored.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.UnsupportedOperationException</CODE> - Must not be called.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> <B>getParent</B>()</PRE>
+<DL>
+<DD>Returns the parent of this tag, which is always
+ getAdaptee().getParent().  
+
+ This will either be the enclosing Tag (if getAdaptee().getParent()
+ implements Tag), or an adapter to the enclosing Tag (if 
+ getAdaptee().getParent() does not implement Tag).
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The parent of the tag being adapted.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)"><CODE>TagSupport.findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAdaptee()"><!-- --></A><H3>
+getAdaptee</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> <B>getAdaptee</B>()</PRE>
+<DL>
+<DD>Gets the tag that is being adapted to the Tag interface.
+ This should be an instance of SimpleTag in JSP 2.0, but room
+ is left for other kinds of tags in future spec versions.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the tag that is being adapted</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doStartTag()"><!-- --></A><H3>
+doStartTag</H3>
+<PRE>
+public int <B>doStartTag</B>()
+               throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Must not be called.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>always throws UnsupportedOperationException
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.UnsupportedOperationException</CODE> - Must not be called
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - never thrown<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><CODE>BodyTag</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doEndTag()"><!-- --></A><H3>
+doEndTag</H3>
+<PRE>
+public int <B>doEndTag</B>()
+             throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Must not be called.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>always throws UnsupportedOperationException
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.UnsupportedOperationException</CODE> - Must not be called
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - never thrown</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()</PRE>
+<DL>
+<DD>Must not be called.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.UnsupportedOperationException</CODE> - Must not be called</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagAdapter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAttributeInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAttributeInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagAttributeInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,476 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagAttributeInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagAttributeInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagAttributeInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagAttributeInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAttributeInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagAttributeInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagAttributeInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>TagAttributeInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Information on the attributes of a Tag, available at translation time.
+ This class is instantiated from the Tag Library Descriptor file (TLD).
+
+ <p>
+ Only the information needed to generate code is included here.  Other information
+ like SCHEMA for validation belongs elsewhere.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#ID">ID</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"id" is wired in to be ID.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean)">TagAttributeInfo</A></B>(java.lang.String&nbsp;name,
+                 boolean&nbsp;required,
+                 java.lang.String&nbsp;type,
+                 boolean&nbsp;reqTime)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagAttributeInfo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean, boolean)">TagAttributeInfo</A></B>(java.lang.String&nbsp;name,
+                 boolean&nbsp;required,
+                 java.lang.String&nbsp;type,
+                 boolean&nbsp;reqTime,
+                 boolean&nbsp;fragment)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JSP 2.0 Constructor for TagAttributeInfo.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#canBeRequestTime()">canBeRequestTime</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether this attribute can hold a request-time value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#getIdAttribute(javax.servlet.jsp.tagext.TagAttributeInfo[])">getIdAttribute</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;a)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience static method that goes through an array of TagAttributeInfo
+ objects and looks for "id".</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of this attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#getTypeName()">getTypeName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The type (as a String) of this attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#isFragment()">isFragment</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether this attribute is of type JspFragment.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#isRequired()">isRequired</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether this attribute is required.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a String representation of this TagAttributeInfo, suitable
+ for debugging purposes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ID"><!-- --></A><H3>
+ID</H3>
+<PRE>
+public static final java.lang.String <B>ID</B></PRE>
+<DL>
+<DD>"id" is wired in to be ID.  There is no real benefit in having it be something else
+ IDREFs are not handled any differently.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.TagAttributeInfo.ID">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean)"><!-- --></A><H3>
+TagAttributeInfo</H3>
+<PRE>
+public <B>TagAttributeInfo</B>(java.lang.String&nbsp;name,
+                        boolean&nbsp;required,
+                        java.lang.String&nbsp;type,
+                        boolean&nbsp;reqTime)</PRE>
+<DL>
+<DD>Constructor for TagAttributeInfo.
+ This class is to be instantiated only from the
+ TagLibrary code under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the attribute.<DD><CODE>required</CODE> - If this attribute is required in tag instances.<DD><CODE>type</CODE> - The name of the type of the attribute.<DD><CODE>reqTime</CODE> - Whether this attribute holds a request-time Attribute.</DL>
+<HR>
+
+<A NAME="TagAttributeInfo(java.lang.String, boolean, java.lang.String, boolean, boolean)"><!-- --></A><H3>
+TagAttributeInfo</H3>
+<PRE>
+public <B>TagAttributeInfo</B>(java.lang.String&nbsp;name,
+                        boolean&nbsp;required,
+                        java.lang.String&nbsp;type,
+                        boolean&nbsp;reqTime,
+                        boolean&nbsp;fragment)</PRE>
+<DL>
+<DD>JSP 2.0 Constructor for TagAttributeInfo.
+ This class is to be instantiated only from the
+ TagLibrary code under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name of the attribute.<DD><CODE>required</CODE> - If this attribute is required in tag instances.<DD><CODE>type</CODE> - The name of the type of the attribute.<DD><CODE>reqTime</CODE> - Whether this attribute holds a request-time Attribute.<DD><CODE>fragment</CODE> - Whether this attribute is of type JspFragment<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>The name of this attribute.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTypeName()"><!-- --></A><H3>
+getTypeName</H3>
+<PRE>
+public java.lang.String <B>getTypeName</B>()</PRE>
+<DL>
+<DD>The type (as a String) of this attribute.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of the attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="canBeRequestTime()"><!-- --></A><H3>
+canBeRequestTime</H3>
+<PRE>
+public boolean <B>canBeRequestTime</B>()</PRE>
+<DL>
+<DD>Whether this attribute can hold a request-time value.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>if the attribute can hold a request-time value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequired()"><!-- --></A><H3>
+isRequired</H3>
+<PRE>
+public boolean <B>isRequired</B>()</PRE>
+<DL>
+<DD>Whether this attribute is required.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>if the attribute is required.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIdAttribute(javax.servlet.jsp.tagext.TagAttributeInfo[])"><!-- --></A><H3>
+getIdAttribute</H3>
+<PRE>
+public static <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A> <B>getIdAttribute</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;a)</PRE>
+<DL>
+<DD>Convenience static method that goes through an array of TagAttributeInfo
+ objects and looks for "id".
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>a</CODE> - An array of TagAttributeInfo
+<DT><B>Returns:</B><DD>The TagAttributeInfo reference with name "id"</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFragment()"><!-- --></A><H3>
+isFragment</H3>
+<PRE>
+public boolean <B>isFragment</B>()</PRE>
+<DL>
+<DD>Whether this attribute is of type JspFragment.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>if the attribute is of type JspFragment<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public java.lang.String <B>toString</B>()</PRE>
+<DL>
+<DD>Returns a String representation of this TagAttributeInfo, suitable
+ for debugging purposes.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a String representation of this TagAttributeInfo</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagAttributeInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAttributeInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,451 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagData (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagData class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagData</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagData</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>TagData</B><DT>extends java.lang.Object<DT>implements java.lang.Cloneable</DL>
+
+<P>
+The (translation-time only) attribute/value information for a tag instance.
+
+ <p>
+ TagData is only used as an argument to the isValid, validate, and 
+ getVariableInfo methods of TagExtraInfo, which are invoked at 
+ translation time.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#REQUEST_TIME_VALUE">REQUEST_TIME_VALUE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Distinguished value for an attribute to indicate its value
+ is a request-time expression (which is not yet available because
+ TagData instances are used at translation-time).</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#TagData(java.util.Hashtable)">TagData</A></B>(java.util.Hashtable&nbsp;attrs)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for a TagData.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#TagData(java.lang.Object[][])">TagData</A></B>(java.lang.Object[][]&nbsp;atts)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagData.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;attName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumerates the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#getAttributeString(java.lang.String)">getAttributeString</A></B>(java.lang.String&nbsp;attName)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the value for a given attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#getId()">getId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the tag's id attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;attName,
+             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the value of an attribute.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="REQUEST_TIME_VALUE"><!-- --></A><H3>
+REQUEST_TIME_VALUE</H3>
+<PRE>
+public static final java.lang.Object <B>REQUEST_TIME_VALUE</B></PRE>
+<DL>
+<DD>Distinguished value for an attribute to indicate its value
+ is a request-time expression (which is not yet available because
+ TagData instances are used at translation-time).
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagData(java.lang.Object[][])"><!-- --></A><H3>
+TagData</H3>
+<PRE>
+public <B>TagData</B>(java.lang.Object[][]&nbsp;atts)</PRE>
+<DL>
+<DD>Constructor for TagData.
+
+ <p>
+ A typical constructor may be
+ <pre>
+ static final Object[][] att = {{"connection", "conn0"}, {"id", "query0"}};
+ static final TagData td = new TagData(att);
+ </pre>
+
+ All values must be Strings except for those holding the
+ distinguished object REQUEST_TIME_VALUE.
+<P>
+<DT><B>Parameters:</B><DD><CODE>atts</CODE> - the static attribute and values.  May be null.</DL>
+<HR>
+
+<A NAME="TagData(java.util.Hashtable)"><!-- --></A><H3>
+TagData</H3>
+<PRE>
+public <B>TagData</B>(java.util.Hashtable&nbsp;attrs)</PRE>
+<DL>
+<DD>Constructor for a TagData.
+
+ If you already have the attributes in a hashtable, use this
+ constructor.
+<P>
+<DT><B>Parameters:</B><DD><CODE>attrs</CODE> - A hashtable to get the values from.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getId()"><!-- --></A><H3>
+getId</H3>
+<PRE>
+public java.lang.String <B>getId</B>()</PRE>
+<DL>
+<DD>The value of the tag's id attribute.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the tag's id attribute, or null if no such
+     attribute was specified.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;attName)</PRE>
+<DL>
+<DD>The value of the attribute.
+ If a static value is specified for an attribute that accepts a
+ request-time attribute expression then that static value is returned,
+ even if the value is provided in the body of a <jsp:attribute> action.
+ The distinguished object REQUEST_TIME_VALUE is only returned if
+ the value is specified as a request-time attribute expression
+ or via the &lt;jsp:attribute&gt; action with a body that contains
+ dynamic content (scriptlets, scripting expressions, EL expressions, 
+ standard actions, or custom actions).  Returns null if the attribute 
+ is not set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attName</CODE> - the name of the attribute
+<DT><B>Returns:</B><DD>the attribute's value</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;attName,
+                         java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Set the value of an attribute.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attName</CODE> - the name of the attribute<DD><CODE>value</CODE> - the value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeString(java.lang.String)"><!-- --></A><H3>
+getAttributeString</H3>
+<PRE>
+public java.lang.String <B>getAttributeString</B>(java.lang.String&nbsp;attName)</PRE>
+<DL>
+<DD>Get the value for a given attribute.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>attName</CODE> - the name of the attribute
+<DT><B>Returns:</B><DD>the attribute value string
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.ClassCastException</CODE> - if attribute value is not a String</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public java.util.Enumeration <B>getAttributes</B>()</PRE>
+<DL>
+<DD>Enumerates the attributes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An enumeration of the attributes in a TagData</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagData.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagExtraInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagExtraInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagExtraInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagExtraInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagExtraInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagExtraInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagExtraInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagExtraInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagExtraInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagExtraInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>TagExtraInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Optional class provided by the tag library author to describe additional
+ translation-time information not described in the TLD.
+ The TagExtraInfo class is mentioned in the Tag Library Descriptor file (TLD).
+
+ <p>
+ This class can be used:
+ <ul>
+ <li> to indicate that the tag defines scripting variables
+ <li> to perform translation-time validation of the tag attributes.
+ </ul>
+
+ <p>
+ It is the responsibility of the JSP translator that the initial value
+ to be returned by calls to getTagInfo() corresponds to a TagInfo
+ object for the tag being translated. If an explicit call to
+ setTagInfo() is done, then the object passed will be returned in
+ subsequent calls to getTagInfo().
+ 
+ <p>
+ The only way to affect the value returned by getTagInfo()
+ is through a setTagInfo() call, and thus, TagExtraInfo.setTagInfo() is
+ to be called by the JSP translator, with a TagInfo object that
+ corresponds to the tag being translated. The call should happen before
+ any invocation on validate() and before any invocation on
+ getVariableInfo().
+
+ <p>
+ <tt>NOTE:</tt> It is a (translation time) error for a tag definition
+ in a TLD with one or more variable subelements to have an associated
+ TagExtraInfo implementation that returns a VariableInfo array with
+ one or more elements from a call to getVariableInfo().
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#TagExtraInfo()">TagExtraInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#getTagInfo()">getTagInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagInfo for this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;information on scripting variables defined by the tag associated with
+ this TagExtraInfo instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#isValid(javax.servlet.jsp.tagext.TagData)">isValid</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#setTagInfo(javax.servlet.jsp.tagext.TagInfo)">setTagInfo</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the TagInfo for this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagExtraInfo()"><!-- --></A><H3>
+TagExtraInfo</H3>
+<PRE>
+public <B>TagExtraInfo</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getVariableInfo(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+getVariableInfo</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[] <B>getVariableInfo</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>information on scripting variables defined by the tag associated with
+ this TagExtraInfo instance.
+ Request-time attributes are indicated as such in the TagData parameter.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - The TagData instance.
+<DT><B>Returns:</B><DD>An array of VariableInfo data, or null or a zero length array
+         if no scripting variables are to be defined.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isValid(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+isValid</H3>
+<PRE>
+public boolean <B>isValid</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>Translation-time validation of the attributes. 
+ Request-time attributes are indicated as such in the TagData parameter.
+ Note that the preferred way to do validation is with the validate()
+ method, since it can return more detailed information.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - The TagData instance.
+<DT><B>Returns:</B><DD>Whether this tag instance is valid.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#validate(javax.servlet.jsp.tagext.TagData)"><CODE>validate(javax.servlet.jsp.tagext.TagData)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validate(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[] <B>validate</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>Translation-time validation of the attributes.
+ Request-time attributes are indicated as such in the TagData parameter.
+ Because of the higher quality validation messages possible, 
+ this is the preferred way to do validation (although isValid() 
+ still works).  
+ 
+ <p>JSP 2.0 and higher containers call validate() instead of isValid().
+ The default implementation of this method is to call isValid().  If 
+ isValid() returns false, a generic ValidationMessage[] is returned
+ indicating isValid() returned false.</p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - The TagData instance.
+<DT><B>Returns:</B><DD>A null object, or zero length array if no errors, an 
+     array of ValidationMessages otherwise.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTagInfo(javax.servlet.jsp.tagext.TagInfo)"><!-- --></A><H3>
+setTagInfo</H3>
+<PRE>
+public final void <B>setTagInfo</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</PRE>
+<DL>
+<DD>Set the TagInfo for this class.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tagInfo</CODE> - The TagInfo this instance is extending</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagInfo()"><!-- --></A><H3>
+getTagInfo</H3>
+<PRE>
+public final <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A> <B>getTagInfo</B>()</PRE>
+<DL>
+<DD>Get the TagInfo for this class.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the taginfo instance this instance is extending</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagExtraInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagExtraInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagFileInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagFileInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagFileInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,328 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagFileInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagFileInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagFileInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagFileInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagFileInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagFileInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagFileInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>TagFileInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Tag information for a tag file in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html#TagFileInfo(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagInfo)">TagFileInfo</A></B>(java.lang.String&nbsp;name,
+            java.lang.String&nbsp;path,
+            <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagFileInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The unique action name of this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Where to find the .tag file implementing this action.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html#getTagInfo()">getTagInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns information about this tag, parsed from the directives 
+ in the tag file.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagFileInfo(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagInfo)"><!-- --></A><H3>
+TagFileInfo</H3>
+<PRE>
+public <B>TagFileInfo</B>(java.lang.String&nbsp;name,
+                   java.lang.String&nbsp;path,
+                   <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</PRE>
+<DL>
+<DD>Constructor for TagFileInfo from data in the JSP 2.0 format for TLD.
+ This class is to be instantiated only from the TagLibrary code
+ under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+
+ Note that, since TagLibibraryInfo reflects both TLD information
+ and taglib directive information, a TagFileInfo instance is
+ dependent on a taglib directive.  This is probably a
+ design error, which may be fixed in the future.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The unique action name of this tag<DD><CODE>path</CODE> - Where to find the .tag file implementing this 
+     action, relative to the location of the TLD file.<DD><CODE>tagInfo</CODE> - The detailed information about this tag, as parsed
+     from the directives in the tag file.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>The unique action name of this tag.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The (short) name of the tag.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public java.lang.String <B>getPath</B>()</PRE>
+<DL>
+<DD>Where to find the .tag file implementing this action.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The path of the tag file, relative to the TLD, or "." if 
+     the tag file was defined in an implicit tag file.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagInfo()"><!-- --></A><H3>
+getTagInfo</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A> <B>getTagInfo</B>()</PRE>
+<DL>
+<DD>Returns information about this tag, parsed from the directives 
+ in the tag file.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a TagInfo object containing information about this tag</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagFileInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagFileInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,853 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>TagInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Tag information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_EMPTY">BODY_CONTENT_EMPTY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static constant for getBodyContent() when it is empty.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_JSP">BODY_CONTENT_JSP</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static constant for getBodyContent() when it is JSP.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_SCRIPTLESS">BODY_CONTENT_SCRIPTLESS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static constant for getBodyContent() when it is scriptless.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#BODY_CONTENT_TAG_DEPENDENT">BODY_CONTENT_TAG_DEPENDENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Static constant for getBodyContent() when it is Tag dependent.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.1 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.2 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+        boolean&nbsp;dynamicAttributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute information (in the TLD) on this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getBodyContent()">getBodyContent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The bodycontent information for this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getDisplayName()">getDisplayName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the displayName.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getInfoString()">getInfoString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The information string for the tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getLargeIcon()">getLargeIcon</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path to the large icon.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getSmallIcon()">getSmallIcon</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the path to the small icon.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagClassName()">getTagClassName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name of the class that provides the handler for this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagExtraInfo()">getTagExtraInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instance (if any) for extra tag information.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagLibrary()">getTagLibrary</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instance of TabLibraryInfo we belong to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagName()">getTagName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The name of the Tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagVariableInfos()">getTagVariableInfos</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get TagVariableInfo objects associated with this TagInfo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information on the scripting objects created by this tag at runtime.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#hasDynamicAttributes()">hasDynamicAttributes</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get dynamicAttributes associated with this TagInfo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#isValid(javax.servlet.jsp.tagext.TagData)">isValid</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#setTagExtraInfo(javax.servlet.jsp.tagext.TagExtraInfo)">setTagExtraInfo</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tei)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the instance for extra tag information.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#setTagLibrary(javax.servlet.jsp.tagext.TagLibraryInfo)">setTagLibrary</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;tl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the TagLibraryInfo property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BODY_CONTENT_JSP"><!-- --></A><H3>
+BODY_CONTENT_JSP</H3>
+<PRE>
+public static final java.lang.String <B>BODY_CONTENT_JSP</B></PRE>
+<DL>
+<DD>Static constant for getBodyContent() when it is JSP.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_JSP">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BODY_CONTENT_TAG_DEPENDENT"><!-- --></A><H3>
+BODY_CONTENT_TAG_DEPENDENT</H3>
+<PRE>
+public static final java.lang.String <B>BODY_CONTENT_TAG_DEPENDENT</B></PRE>
+<DL>
+<DD>Static constant for getBodyContent() when it is Tag dependent.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_TAG_DEPENDENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BODY_CONTENT_EMPTY"><!-- --></A><H3>
+BODY_CONTENT_EMPTY</H3>
+<PRE>
+public static final java.lang.String <B>BODY_CONTENT_EMPTY</B></PRE>
+<DL>
+<DD>Static constant for getBodyContent() when it is empty.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_EMPTY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="BODY_CONTENT_SCRIPTLESS"><!-- --></A><H3>
+BODY_CONTENT_SCRIPTLESS</H3>
+<PRE>
+public static final java.lang.String <B>BODY_CONTENT_SCRIPTLESS</B></PRE>
+<DL>
+<DD>Static constant for getBodyContent() when it is scriptless.
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.TagInfo.BODY_CONTENT_SCRIPTLESS">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])"><!-- --></A><H3>
+TagInfo</H3>
+<PRE>
+public <B>TagInfo</B>(java.lang.String&nbsp;tagName,
+               java.lang.String&nbsp;tagClassName,
+               java.lang.String&nbsp;bodycontent,
+               java.lang.String&nbsp;infoString,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo)</PRE>
+<DL>
+<DD>Constructor for TagInfo from data in the JSP 1.1 format for TLD.
+ This class is to be instantiated only from the TagLibrary code
+ under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+
+ Note that, since TagLibibraryInfo reflects both TLD information
+ and taglib directive information, a TagInfo instance is
+ dependent on a taglib directive.  This is probably a
+ design error, which may be fixed in the future.
+<P>
+<DT><B>Parameters:</B><DD><CODE>tagName</CODE> - The name of this tag<DD><CODE>tagClassName</CODE> - The name of the tag handler class<DD><CODE>bodycontent</CODE> - Information on the body content of these tags<DD><CODE>infoString</CODE> - The (optional) string information for this tag<DD><CODE>taglib</CODE> - The instance of the tag library that contains us.<DD><CODE>tagExtraInfo</CODE> - The instance providing extra Tag info.  May be null<DD><CODE>attributeInfo</CODE> - An array of AttributeInfo data from descriptor.
+ May be null;</DL>
+<HR>
+
+<A NAME="TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])"><!-- --></A><H3>
+TagInfo</H3>
+<PRE>
+public <B>TagInfo</B>(java.lang.String&nbsp;tagName,
+               java.lang.String&nbsp;tagClassName,
+               java.lang.String&nbsp;bodycontent,
+               java.lang.String&nbsp;infoString,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+               java.lang.String&nbsp;displayName,
+               java.lang.String&nbsp;smallIcon,
+               java.lang.String&nbsp;largeIcon,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</PRE>
+<DL>
+<DD>Constructor for TagInfo from data in the JSP 1.2 format for TLD.
+ This class is to be instantiated only from the TagLibrary code
+ under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+
+ Note that, since TagLibibraryInfo reflects both TLD information
+ and taglib directive information, a TagInfo instance is
+ dependent on a taglib directive.  This is probably a
+ design error, which may be fixed in the future.
+<P>
+<DT><B>Parameters:</B><DD><CODE>tagName</CODE> - The name of this tag<DD><CODE>tagClassName</CODE> - The name of the tag handler class<DD><CODE>bodycontent</CODE> - Information on the body content of these tags<DD><CODE>infoString</CODE> - The (optional) string information for this tag<DD><CODE>taglib</CODE> - The instance of the tag library that contains us.<DD><CODE>tagExtraInfo</CODE> - The instance providing extra Tag info.  May be null<DD><CODE>attributeInfo</CODE> - An array of AttributeInfo data from descriptor.
+ May be null;<DD><CODE>displayName</CODE> - A short name to be displayed by tools<DD><CODE>smallIcon</CODE> - Path to a small icon to be displayed by tools<DD><CODE>largeIcon</CODE> - Path to a large icon to be displayed by tools<DD><CODE>tvi</CODE> - An array of a TagVariableInfo (or null)</DL>
+<HR>
+
+<A NAME="TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)"><!-- --></A><H3>
+TagInfo</H3>
+<PRE>
+public <B>TagInfo</B>(java.lang.String&nbsp;tagName,
+               java.lang.String&nbsp;tagClassName,
+               java.lang.String&nbsp;bodycontent,
+               java.lang.String&nbsp;infoString,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+               java.lang.String&nbsp;displayName,
+               java.lang.String&nbsp;smallIcon,
+               java.lang.String&nbsp;largeIcon,
+               <A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+               boolean&nbsp;dynamicAttributes)</PRE>
+<DL>
+<DD>Constructor for TagInfo from data in the JSP 2.0 format for TLD.
+ This class is to be instantiated only from the TagLibrary code
+ under request from some JSP code that is parsing a
+ TLD (Tag Library Descriptor).
+
+ Note that, since TagLibibraryInfo reflects both TLD information
+ and taglib directive information, a TagInfo instance is
+ dependent on a taglib directive.  This is probably a
+ design error, which may be fixed in the future.
+<P>
+<DT><B>Parameters:</B><DD><CODE>tagName</CODE> - The name of this tag<DD><CODE>tagClassName</CODE> - The name of the tag handler class<DD><CODE>bodycontent</CODE> - Information on the body content of these tags<DD><CODE>infoString</CODE> - The (optional) string information for this tag<DD><CODE>taglib</CODE> - The instance of the tag library that contains us.<DD><CODE>tagExtraInfo</CODE> - The instance providing extra Tag info.  May be null<DD><CODE>attributeInfo</CODE> - An array of AttributeInfo data from descriptor.
+ May be null;<DD><CODE>displayName</CODE> - A short name to be displayed by tools<DD><CODE>smallIcon</CODE> - Path to a small icon to be displayed by tools<DD><CODE>largeIcon</CODE> - Path to a large icon to be displayed by tools<DD><CODE>tvi</CODE> - An array of a TagVariableInfo (or null)<DD><CODE>dynamicAttributes</CODE> - True if supports dynamic attributes<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getTagName()"><!-- --></A><H3>
+getTagName</H3>
+<PRE>
+public java.lang.String <B>getTagName</B>()</PRE>
+<DL>
+<DD>The name of the Tag.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The (short) name of the tag.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributes()"><!-- --></A><H3>
+getAttributes</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[] <B>getAttributes</B>()</PRE>
+<DL>
+<DD>Attribute information (in the TLD) on this tag.
+ The return is an array describing the attributes of this tag, as
+ indicated in the TLD.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The array of TagAttributeInfo for this tag, or a
+         zero-length array if the tag has no attributes.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVariableInfo(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+getVariableInfo</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[] <B>getVariableInfo</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>Information on the scripting objects created by this tag at runtime.
+ This is a convenience method on the associated TagExtraInfo class.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - TagData describing this action.
+<DT><B>Returns:</B><DD>if a TagExtraInfo object is associated with this TagInfo, the
+     result of getTagExtraInfo().getVariableInfo( data ), otherwise
+     null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isValid(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+isValid</H3>
+<PRE>
+public boolean <B>isValid</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>Translation-time validation of the attributes. 
+ This is a convenience method on the associated TagExtraInfo class.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - The translation-time TagData instance.
+<DT><B>Returns:</B><DD>Whether the data is valid.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validate(javax.servlet.jsp.tagext.TagData)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[] <B>validate</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</PRE>
+<DL>
+<DD>Translation-time validation of the attributes.
+ This is a convenience method on the associated TagExtraInfo class.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>data</CODE> - The translation-time TagData instance.
+<DT><B>Returns:</B><DD>A null object, or zero length array if no errors, an
+     array of ValidationMessages otherwise.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTagExtraInfo(javax.servlet.jsp.tagext.TagExtraInfo)"><!-- --></A><H3>
+setTagExtraInfo</H3>
+<PRE>
+public void <B>setTagExtraInfo</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tei)</PRE>
+<DL>
+<DD>Set the instance for extra tag information.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tei</CODE> - the TagExtraInfo instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagExtraInfo()"><!-- --></A><H3>
+getTagExtraInfo</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A> <B>getTagExtraInfo</B>()</PRE>
+<DL>
+<DD>The instance (if any) for extra tag information.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The TagExtraInfo instance, if any.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagClassName()"><!-- --></A><H3>
+getTagClassName</H3>
+<PRE>
+public java.lang.String <B>getTagClassName</B>()</PRE>
+<DL>
+<DD>Name of the class that provides the handler for this tag.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The name of the tag handler class.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBodyContent()"><!-- --></A><H3>
+getBodyContent</H3>
+<PRE>
+public java.lang.String <B>getBodyContent</B>()</PRE>
+<DL>
+<DD>The bodycontent information for this tag.
+ If the bodycontent is not defined for this
+ tag, the default of JSP will be returned.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the body content string.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoString()"><!-- --></A><H3>
+getInfoString</H3>
+<PRE>
+public java.lang.String <B>getInfoString</B>()</PRE>
+<DL>
+<DD>The information string for the tag.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the info string, or null if 
+         not defined</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTagLibrary(javax.servlet.jsp.tagext.TagLibraryInfo)"><!-- --></A><H3>
+setTagLibrary</H3>
+<PRE>
+public void <B>setTagLibrary</B>(<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;tl)</PRE>
+<DL>
+<DD>Set the TagLibraryInfo property.
+
+ Note that a TagLibraryInfo element is dependent
+ not just on the TLD information but also on the
+ specific taglib instance used.  This means that
+ a fair amount of work needs to be done to construct
+ and initialize TagLib objects.
+
+ If used carefully, this setter can be used to avoid having to
+ create new TagInfo elements for each taglib directive.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tl</CODE> - the TagLibraryInfo to assign</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagLibrary()"><!-- --></A><H3>
+getTagLibrary</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A> <B>getTagLibrary</B>()</PRE>
+<DL>
+<DD>The instance of TabLibraryInfo we belong to.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the tag library instance we belong to</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDisplayName()"><!-- --></A><H3>
+getDisplayName</H3>
+<PRE>
+public java.lang.String <B>getDisplayName</B>()</PRE>
+<DL>
+<DD>Get the displayName.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A short name to be displayed by tools,
+         or null if not defined</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSmallIcon()"><!-- --></A><H3>
+getSmallIcon</H3>
+<PRE>
+public java.lang.String <B>getSmallIcon</B>()</PRE>
+<DL>
+<DD>Get the path to the small icon.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Path to a small icon to be displayed by tools,
+         or null if not defined</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLargeIcon()"><!-- --></A><H3>
+getLargeIcon</H3>
+<PRE>
+public java.lang.String <B>getLargeIcon</B>()</PRE>
+<DL>
+<DD>Get the path to the large icon.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Path to a large icon to be displayed by tools,
+         or null if not defined</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagVariableInfos()"><!-- --></A><H3>
+getTagVariableInfos</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[] <B>getTagVariableInfos</B>()</PRE>
+<DL>
+<DD>Get TagVariableInfo objects associated with this TagInfo.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Array of TagVariableInfo objects corresponding to
+         variables declared by this tag, or a zero length
+         array if no variables have been declared</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasDynamicAttributes()"><!-- --></A><H3>
+hasDynamicAttributes</H3>
+<PRE>
+public boolean <B>hasDynamicAttributes</B>()</PRE>
+<DL>
+<DD>Get dynamicAttributes associated with this TagInfo.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>True if tag handler supports dynamic attributes<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,761 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagLibraryInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagLibraryInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagLibraryInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagLibraryInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagLibraryInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagLibraryInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>TagLibraryInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Translation-time information associated with a taglib directive, and its
+ underlying TLD file.
+
+ Most of the information is directly from the TLD, except for
+ the prefix and the uri values used in the taglib directive
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#functions">functions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the functions that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#info">info</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information (documentation) for this TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#jspversion">jspversion</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The version of the JSP specification this tag library is written to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#prefix">prefix</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The prefix assigned to this taglib from the taglib directive.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#shortname">shortname</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The preferred short name (prefix) as indicated in the TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#tagFiles">tagFiles</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tag files that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#tags">tags</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tags that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#tlibversion">tlibversion</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The version of the tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#uri">uri</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the uri attribute from the taglib directive for 
+ this library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#urn">urn</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "reliable" URN indicated in the TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#TagLibraryInfo(java.lang.String, java.lang.String)">TagLibraryInfo</A></B>(java.lang.String&nbsp;prefix,
+               java.lang.String&nbsp;uri)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunction(java.lang.String)">getFunction</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the FunctionInfo for a given function name, looking through all the
+ functions in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunctions()">getFunctions</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the functions that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getInfoString()">getInfoString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information (documentation) for this TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getPrefixString()">getPrefixString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The prefix assigned to this taglib from the taglib directive</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getReliableURN()">getReliableURN</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The "reliable" URN indicated in the TLD (the uri element).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getRequiredVersion()">getRequiredVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A string describing the required version of the JSP container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getShortName()">getShortName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The preferred short name (prefix) as indicated in the TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTag(java.lang.String)">getTag</A></B>(java.lang.String&nbsp;shortname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagInfo for a given tag name, looking through all the
+ tags in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFile(java.lang.String)">getTagFile</A></B>(java.lang.String&nbsp;shortname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagFileInfo for a given tag name, looking through all the
+ tag files in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFiles()">getTagFiles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tag files that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTags()">getTags</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tags that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getURI()">getURI</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the uri attribute from the taglib directive for 
+ this library.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="prefix"><!-- --></A><H3>
+prefix</H3>
+<PRE>
+protected java.lang.String <B>prefix</B></PRE>
+<DL>
+<DD>The prefix assigned to this taglib from the taglib directive.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="uri"><!-- --></A><H3>
+uri</H3>
+<PRE>
+protected java.lang.String <B>uri</B></PRE>
+<DL>
+<DD>The value of the uri attribute from the taglib directive for 
+ this library.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tags"><!-- --></A><H3>
+tags</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[] <B>tags</B></PRE>
+<DL>
+<DD>An array describing the tags that are defined in this tag library.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tagFiles"><!-- --></A><H3>
+tagFiles</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[] <B>tagFiles</B></PRE>
+<DL>
+<DD>An array describing the tag files that are defined in this tag library.
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DL>
+<HR>
+
+<A NAME="functions"><!-- --></A><H3>
+functions</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[] <B>functions</B></PRE>
+<DL>
+<DD>An array describing the functions that are defined in this tag library.
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DL>
+<HR>
+
+<A NAME="tlibversion"><!-- --></A><H3>
+tlibversion</H3>
+<PRE>
+protected java.lang.String <B>tlibversion</B></PRE>
+<DL>
+<DD>The version of the tag library.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="jspversion"><!-- --></A><H3>
+jspversion</H3>
+<PRE>
+protected java.lang.String <B>jspversion</B></PRE>
+<DL>
+<DD>The version of the JSP specification this tag library is written to.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="shortname"><!-- --></A><H3>
+shortname</H3>
+<PRE>
+protected java.lang.String <B>shortname</B></PRE>
+<DL>
+<DD>The preferred short name (prefix) as indicated in the TLD.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="urn"><!-- --></A><H3>
+urn</H3>
+<PRE>
+protected java.lang.String <B>urn</B></PRE>
+<DL>
+<DD>The "reliable" URN indicated in the TLD.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="info"><!-- --></A><H3>
+info</H3>
+<PRE>
+protected java.lang.String <B>info</B></PRE>
+<DL>
+<DD>Information (documentation) for this TLD.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagLibraryInfo(java.lang.String, java.lang.String)"><!-- --></A><H3>
+TagLibraryInfo</H3>
+<PRE>
+protected <B>TagLibraryInfo</B>(java.lang.String&nbsp;prefix,
+                         java.lang.String&nbsp;uri)</PRE>
+<DL>
+<DD>Constructor.
+
+ This will invoke the constructors for TagInfo, and TagAttributeInfo
+ after parsing the TLD file.
+<P>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - the prefix actually used by the taglib directive<DD><CODE>uri</CODE> - the URI actually used by the taglib directive</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getURI()"><!-- --></A><H3>
+getURI</H3>
+<PRE>
+public java.lang.String <B>getURI</B>()</PRE>
+<DL>
+<DD>The value of the uri attribute from the taglib directive for 
+ this library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the uri attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPrefixString()"><!-- --></A><H3>
+getPrefixString</H3>
+<PRE>
+public java.lang.String <B>getPrefixString</B>()</PRE>
+<DL>
+<DD>The prefix assigned to this taglib from the taglib directive
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the prefix assigned to this taglib from the taglib directive</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getShortName()"><!-- --></A><H3>
+getShortName</H3>
+<PRE>
+public java.lang.String <B>getShortName</B>()</PRE>
+<DL>
+<DD>The preferred short name (prefix) as indicated in the TLD.
+ This may be used by authoring tools as the preferred prefix
+ to use when creating an taglib directive for this library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the preferred short name for the library</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReliableURN()"><!-- --></A><H3>
+getReliableURN</H3>
+<PRE>
+public java.lang.String <B>getReliableURN</B>()</PRE>
+<DL>
+<DD>The "reliable" URN indicated in the TLD (the uri element).
+ This may be used by authoring tools as a global identifier
+ to use when creating a taglib directive for this library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a reliable URN to a TLD like this</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInfoString()"><!-- --></A><H3>
+getInfoString</H3>
+<PRE>
+public java.lang.String <B>getInfoString</B>()</PRE>
+<DL>
+<DD>Information (documentation) for this TLD.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the info string for this tag lib</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequiredVersion()"><!-- --></A><H3>
+getRequiredVersion</H3>
+<PRE>
+public java.lang.String <B>getRequiredVersion</B>()</PRE>
+<DL>
+<DD>A string describing the required version of the JSP container.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the (minimal) required version of the JSP container.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><CODE>JspEngineInfo</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTags()"><!-- --></A><H3>
+getTags</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[] <B>getTags</B>()</PRE>
+<DL>
+<DD>An array describing the tags that are defined in this tag library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TagInfo objects corresponding to the tags defined by this
+         tag library, or a zero length array if this tag library
+         defines no tags</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagFiles()"><!-- --></A><H3>
+getTagFiles</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[] <B>getTagFiles</B>()</PRE>
+<DL>
+<DD>An array describing the tag files that are defined in this tag library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TagFileInfo objects corresponding to the tag files defined
+         by this tag library, or a zero length array if this
+         tag library defines no tags files<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTag(java.lang.String)"><!-- --></A><H3>
+getTag</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A> <B>getTag</B>(java.lang.String&nbsp;shortname)</PRE>
+<DL>
+<DD>Get the TagInfo for a given tag name, looking through all the
+ tags in this tag library.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>shortname</CODE> - The short name (no prefix) of the tag
+<DT><B>Returns:</B><DD>the TagInfo for the tag with the specified short name, or
+         null if no such tag is found</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTagFile(java.lang.String)"><!-- --></A><H3>
+getTagFile</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A> <B>getTagFile</B>(java.lang.String&nbsp;shortname)</PRE>
+<DL>
+<DD>Get the TagFileInfo for a given tag name, looking through all the
+ tag files in this tag library.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>shortname</CODE> - The short name (no prefix) of the tag
+<DT><B>Returns:</B><DD>the TagFileInfo for the specified Tag file, or null
+         if no Tag file is found<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunctions()"><!-- --></A><H3>
+getFunctions</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[] <B>getFunctions</B>()</PRE>
+<DL>
+<DD>An array describing the functions that are defined in this tag library.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the functions defined in this tag library, or a zero
+         length array if the tag library defines no functions.<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFunction(java.lang.String)"><!-- --></A><H3>
+getFunction</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A> <B>getFunction</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Get the FunctionInfo for a given function name, looking through all the
+ functions in this tag library.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - The name (no prefix) of the function
+<DT><B>Returns:</B><DD>the FunctionInfo for the function with the given name, or null
+         if no such function exists<DT><B>Since:</B></DT>
+  <DD>2.0</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagLibraryInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryValidator.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryValidator.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagLibraryValidator.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,396 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagLibraryValidator (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagLibraryValidator class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagLibraryValidator (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagLibraryValidator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryValidator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagLibraryValidator</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagLibraryValidator</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>TagLibraryValidator</B><DT>extends java.lang.Object</DL>
+
+<P>
+Translation-time validator class for a JSP page. 
+ A validator operates on the XML view associated with the JSP page.
+
+ <p>
+ The TLD file associates a TagLibraryValidator class and some init
+ arguments with a tag library.
+
+ <p>
+ The JSP container is reponsible for locating an appropriate
+ instance of the appropriate subclass by
+
+ <ul>
+ <li> new a fresh instance, or reuse an available one
+ <li> invoke the setInitParams(Map) method on the instance
+ </ul>
+
+ once initialized, the validate(String, String, PageData) method will
+ be invoked, where the first two arguments are the prefix
+ and uri for this tag library in the XML View.  The prefix is intended
+ to make it easier to produce an error message.  However, it is not
+ always accurate.  In the case where a single URI is mapped to more 
+ than one prefix in the XML view, the prefix of the first URI is provided.
+ Therefore, to provide high quality error messages in cases where the 
+ tag elements themselves are checked, the prefix parameter should be 
+ ignored and the actual prefix of the element should be used instead.  
+ TagLibraryValidators should always use the uri to identify elements 
+ as beloning to the tag library, not the prefix.
+
+ <p>
+ A TagLibraryValidator instance
+ may create auxiliary objects internally to perform
+ the validation (e.g. an XSchema validator) and may reuse it for all
+ the pages in a given translation run.
+
+ <p>
+ The JSP container is not guaranteed to serialize invocations of
+ validate() method, and TagLibraryValidators should perform any
+ synchronization they may require.
+
+ <p>
+ As of JSP 2.0, a JSP container must provide a jsp:id attribute to
+ provide higher quality validation errors.
+ The container will track the JSP pages
+ as passed to the container, and will assign to each element
+ a unique "id", which is passed as the value of the jsp:id
+ attribute.  Each XML element in the XML view available will
+ be extended with this attribute.  The TagLibraryValidator
+ can then use the attribute in one or more ValidationMessage
+ objects.  The container then, in turn, can use these
+ values to provide more precise information on the location
+ of an error.
+
+ <p>
+ The actual prefix of the <code>id</code> attribute may or may not be 
+ <code>jsp</code> but it will always map to the namespace
+ <code>http://java.sun.com/JSP/Page</code>.  A TagLibraryValidator
+ implementation must rely on the uri, not the prefix, of the <code>id</code>
+ attribute.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#TagLibraryValidator()">TagLibraryValidator</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sole constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#getInitParameters()">getInitParameters</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the init parameters data as an immutable Map.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release any data kept by this instance for validation purposes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#setInitParameters(java.util.Map)">setInitParameters</A></B>(java.util.Map&nbsp;map)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the init data in the TLD for this validator.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#validate(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.PageData)">validate</A></B>(java.lang.String&nbsp;prefix,
+         java.lang.String&nbsp;uri,
+         <A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>&nbsp;page)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validate a JSP page.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagLibraryValidator()"><!-- --></A><H3>
+TagLibraryValidator</H3>
+<PRE>
+public <B>TagLibraryValidator</B>()</PRE>
+<DL>
+<DD>Sole constructor. (For invocation by subclass constructors, 
+ typically implicit.)
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setInitParameters(java.util.Map)"><!-- --></A><H3>
+setInitParameters</H3>
+<PRE>
+public void <B>setInitParameters</B>(java.util.Map&nbsp;map)</PRE>
+<DL>
+<DD>Set the init data in the TLD for this validator.
+ Parameter names are keys, and parameter values are the values.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>map</CODE> - A Map describing the init parameters</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameters()"><!-- --></A><H3>
+getInitParameters</H3>
+<PRE>
+public java.util.Map <B>getInitParameters</B>()</PRE>
+<DL>
+<DD>Get the init parameters data as an immutable Map.
+ Parameter names are keys, and parameter values are the values.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The init parameters as an immutable map.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="validate(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.PageData)"><!-- --></A><H3>
+validate</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[] <B>validate</B>(java.lang.String&nbsp;prefix,
+                                    java.lang.String&nbsp;uri,
+                                    <A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>&nbsp;page)</PRE>
+<DL>
+<DD>Validate a JSP page.
+ This will get invoked once per unique tag library URI in the
+ XML view.  This method will return null if the page is valid; otherwise
+ the method should return an array of ValidationMessage objects.
+ An array of length zero is also interpreted as no errors.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>prefix</CODE> - the first prefix with which the tag library is 
+     associated, in the XML view.  Note that some tags may use 
+     a different prefix if the namespace is redefined.<DD><CODE>uri</CODE> - the tag library's unique identifier<DD><CODE>page</CODE> - the JspData page object
+<DT><B>Returns:</B><DD>A null object, or zero length array if no errors, an array
+ of ValidationMessages otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()</PRE>
+<DL>
+<DD>Release any data kept by this instance for validation purposes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagLibraryValidator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryValidator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,719 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagSupport class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagSupport</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagSupport</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, <A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>, java.io.Serializable, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>TagSupport</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, java.io.Serializable</DL>
+
+<P>
+A base class for defining new tag handlers implementing Tag.
+
+ <p> The TagSupport class is a utility class intended to be used as
+ the base class for new tag handlers.  The TagSupport class
+ implements the Tag and IterationTag interfaces and adds additional
+ convenience methods including getter methods for the properties in
+ Tag.  TagSupport has one static method that is included to
+ facilitate coordination among cooperating tags.
+
+ <p> Many tag handlers will extend TagSupport and only redefine a
+ few methods.
+<P>
+
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#javax.servlet.jsp.tagext.TagSupport">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#id">id</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the id attribute of this tag; or null.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#pageContext">pageContext</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The PageContext.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.IterationTag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#EVAL_BODY_AGAIN">EVAL_BODY_AGAIN</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.jsp.tagext.Tag"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_BODY_INCLUDE">EVAL_BODY_INCLUDE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#EVAL_PAGE">EVAL_PAGE</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_BODY">SKIP_BODY</A>, <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#SKIP_PAGE">SKIP_PAGE</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#TagSupport()">TagSupport</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default constructor, all subclasses are required to define only
+ a public constructor with the same signature, and to call the
+ superclass constructor.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doAfterBody()">doAfterBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing for a body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doEndTag()">doEndTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the end tag returning EVAL_PAGE.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#doStartTag()">doStartTag</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default processing of the start tag, returning SKIP_BODY.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getId()">getId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The value of the id attribute of this tag; or null.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Tag instance most closely enclosing this tag instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValue(java.lang.String)">getValue</A></B>(java.lang.String&nbsp;k)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a the value associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#getValues()">getValues</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumerate the keys for the values kept by this tag handler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#release()">release</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Release state.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#removeValue(java.lang.String)">removeValue</A></B>(java.lang.String&nbsp;k)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Remove a value associated with a key.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setId(java.lang.String)">setId</A></B>(java.lang.String&nbsp;id)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the id attribute for this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pageContext)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the page context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the nesting tag of this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html#setValue(java.lang.String, java.lang.Object)">setValue</A></B>(java.lang.String&nbsp;k,
+         java.lang.Object&nbsp;o)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Associate a value with a String key.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="id"><!-- --></A><H3>
+id</H3>
+<PRE>
+protected java.lang.String <B>id</B></PRE>
+<DL>
+<DD>The value of the id attribute of this tag; or null.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="pageContext"><!-- --></A><H3>
+pageContext</H3>
+<PRE>
+protected <A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A> <B>pageContext</B></PRE>
+<DL>
+<DD>The PageContext.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagSupport()"><!-- --></A><H3>
+TagSupport</H3>
+<PRE>
+public <B>TagSupport</B>()</PRE>
+<DL>
+<DD>Default constructor, all subclasses are required to define only
+ a public constructor with the same signature, and to call the
+ superclass constructor.
+
+ This constructor is called by the code generated by the JSP
+ translator.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)"><!-- --></A><H3>
+findAncestorWithClass</H3>
+<PRE>
+public static final <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> <B>findAncestorWithClass</B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;from,
+                                              java.lang.Class&nbsp;klass)</PRE>
+<DL>
+<DD>Find the instance of a given class type that is closest to a given
+ instance.
+ This method uses the getParent method from the Tag
+ interface.
+ This method is used for coordination among cooperating tags.
+
+ <p>
+ The current version of the specification only provides one formal
+ way of indicating the observable type of a tag handler: its
+ tag handler implementation class, described in the tag-class
+ subelement of the tag element.  This is extended in an
+ informal manner by allowing the tag library author to
+ indicate in the description subelement an observable type.
+ The type should be a subtype of the tag handler implementation
+ class or void.
+ This addititional constraint can be exploited by a
+ specialized container that knows about that specific tag library,
+ as in the case of the JSP standard tag library.
+
+ <p>
+ When a tag library author provides information on the
+ observable type of a tag handler, client programmatic code
+ should adhere to that constraint.  Specifically, the Class
+ passed to findAncestorWithClass should be a subtype of the
+ observable type.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>from</CODE> - The instance from where to start looking.<DD><CODE>klass</CODE> - The subclass of Tag or interface to be matched
+<DT><B>Returns:</B><DD>the nearest ancestor that implements the interface
+ or is an instance of the class specified</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doStartTag()"><!-- --></A><H3>
+doStartTag</H3>
+<PRE>
+public int <B>doStartTag</B>()
+               throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Default processing of the start tag, returning SKIP_BODY.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()">doStartTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>SKIP_BODY
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurs while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doStartTag()"><CODE>Tag.doStartTag()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doEndTag()"><!-- --></A><H3>
+doEndTag</H3>
+<PRE>
+public int <B>doEndTag</B>()
+             throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Default processing of the end tag returning EVAL_PAGE.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()">doEndTag</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>EVAL_PAGE
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurs while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#doEndTag()"><CODE>Tag.doEndTag()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doAfterBody()"><!-- --></A><H3>
+doAfterBody</H3>
+<PRE>
+public int <B>doAfterBody</B>()
+                throws <A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></PRE>
+<DL>
+<DD>Default processing for a body.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()">doAfterBody</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>SKIP_BODY
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A></CODE> - if an error occurs while processing this tag<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html#doAfterBody()"><CODE>IterationTag.doAfterBody()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+public void <B>release</B>()</PRE>
+<DL>
+<DD>Release state.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()">release</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#release()"><CODE>Tag.release()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setParent(javax.servlet.jsp.tagext.Tag)"><!-- --></A><H3>
+setParent</H3>
+<PRE>
+public void <B>setParent</B>(<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</PRE>
+<DL>
+<DD>Set the nesting tag of this tag.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>t</CODE> - The parent Tag.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)"><CODE>Tag.setParent(Tag)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParent()"><!-- --></A><H3>
+getParent</H3>
+<PRE>
+public <A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> <B>getParent</B>()</PRE>
+<DL>
+<DD>The Tag instance most closely enclosing this tag instance.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the parent tag instance or null<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#getParent()"><CODE>Tag.getParent()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setId(java.lang.String)"><!-- --></A><H3>
+setId</H3>
+<PRE>
+public void <B>setId</B>(java.lang.String&nbsp;id)</PRE>
+<DL>
+<DD>Set the id attribute for this tag.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>id</CODE> - The String for the id.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getId()"><!-- --></A><H3>
+getId</H3>
+<PRE>
+public java.lang.String <B>getId</B>()</PRE>
+<DL>
+<DD>The value of the id attribute of this tag; or null.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the id attribute, or null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPageContext(javax.servlet.jsp.PageContext)"><!-- --></A><H3>
+setPageContext</H3>
+<PRE>
+public void <B>setPageContext</B>(<A HREF="../../../../javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A>&nbsp;pageContext)</PRE>
+<DL>
+<DD>Set the page context.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)">setPageContext</A></CODE> in interface <CODE><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pageContext</CODE> - The PageContext.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html#setPageContext(javax.servlet.jsp.PageContext)"><CODE>Tag.setPageContext(javax.servlet.jsp.PageContext)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(java.lang.String&nbsp;k,
+                     java.lang.Object&nbsp;o)</PRE>
+<DL>
+<DD>Associate a value with a String key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>k</CODE> - The key String.<DD><CODE>o</CODE> - The value to associate.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue(java.lang.String)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.Object <B>getValue</B>(java.lang.String&nbsp;k)</PRE>
+<DL>
+<DD>Get a the value associated with a key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>k</CODE> - The string key.
+<DT><B>Returns:</B><DD>The value associated with the key, or null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeValue(java.lang.String)"><!-- --></A><H3>
+removeValue</H3>
+<PRE>
+public void <B>removeValue</B>(java.lang.String&nbsp;k)</PRE>
+<DL>
+<DD>Remove a value associated with a key.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>k</CODE> - The string key.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValues()"><!-- --></A><H3>
+getValues</H3>
+<PRE>
+public java.util.Enumeration <B>getValues</B>()</PRE>
+<DL>
+<DD>Enumerate the keys for the values kept by this tag handler.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>An enumeration of all the keys for the values set,
+     or null or an empty Enumeration if no values have been set.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagSupport.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagVariableInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagVariableInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TagVariableInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TagVariableInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TagVariableInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TagVariableInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagVariableInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagVariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class TagVariableInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.TagVariableInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>TagVariableInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Variable information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.
+
+ This object should be immutable.
+
+ This information is only available in JSP 1.2 format TLDs or above.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#TagVariableInfo(java.lang.String, java.lang.String, java.lang.String, boolean, int)">TagVariableInfo</A></B>(java.lang.String&nbsp;nameGiven,
+                java.lang.String&nbsp;nameFromAttribute,
+                java.lang.String&nbsp;className,
+                boolean&nbsp;declare,
+                int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagVariableInfo.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#getClassName()">getClassName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the &lt;variable-class&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#getDeclare()">getDeclare</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the &lt;declare&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#getNameFromAttribute()">getNameFromAttribute</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the &lt;name-from-attribute&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#getNameGiven()">getNameGiven</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the &lt;name-given&gt; element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html#getScope()">getScope</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The body of the &lt;scope&gt; element.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="TagVariableInfo(java.lang.String, java.lang.String, java.lang.String, boolean, int)"><!-- --></A><H3>
+TagVariableInfo</H3>
+<PRE>
+public <B>TagVariableInfo</B>(java.lang.String&nbsp;nameGiven,
+                       java.lang.String&nbsp;nameFromAttribute,
+                       java.lang.String&nbsp;className,
+                       boolean&nbsp;declare,
+                       int&nbsp;scope)</PRE>
+<DL>
+<DD>Constructor for TagVariableInfo.
+<P>
+<DT><B>Parameters:</B><DD><CODE>nameGiven</CODE> - value of &lt;name-given&gt;<DD><CODE>nameFromAttribute</CODE> - value of &lt;name-from-attribute&gt;<DD><CODE>className</CODE> - value of &lt;variable-class&gt;<DD><CODE>declare</CODE> - value of &lt;declare&gt;<DD><CODE>scope</CODE> - value of &lt;scope&gt;</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getNameGiven()"><!-- --></A><H3>
+getNameGiven</H3>
+<PRE>
+public java.lang.String <B>getNameGiven</B>()</PRE>
+<DL>
+<DD>The body of the &lt;name-given&gt; element.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The variable name as a constant</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNameFromAttribute()"><!-- --></A><H3>
+getNameFromAttribute</H3>
+<PRE>
+public java.lang.String <B>getNameFromAttribute</B>()</PRE>
+<DL>
+<DD>The body of the &lt;name-from-attribute&gt; element.
+ This is the name of an attribute whose (translation-time)
+ value will give the name of the variable.  One of
+ &lt;name-given&gt; or &lt;name-from-attribute&gt; is required.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The attribute whose value defines the variable name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClassName()"><!-- --></A><H3>
+getClassName</H3>
+<PRE>
+public java.lang.String <B>getClassName</B>()</PRE>
+<DL>
+<DD>The body of the &lt;variable-class&gt; element.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The name of the class of the variable or
+         'java.lang.String' if not defined in the TLD.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDeclare()"><!-- --></A><H3>
+getDeclare</H3>
+<PRE>
+public boolean <B>getDeclare</B>()</PRE>
+<DL>
+<DD>The body of the &lt;declare&gt; element.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Whether the variable is to be declared or not.
+         If not defined in the TLD, 'true' will be returned.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getScope()"><!-- --></A><H3>
+getScope</H3>
+<PRE>
+public int <B>getScope</B>()</PRE>
+<DL>
+<DD>The body of the &lt;scope&gt; element.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The scope to give the variable.  NESTED
+         scope will be returned if not defined in 
+         the TLD.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TagVariableInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagVariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TryCatchFinally.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TryCatchFinally.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/TryCatchFinally.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,302 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+TryCatchFinally (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.TryCatchFinally interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="TryCatchFinally (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TryCatchFinally.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TryCatchFinally.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Interface TryCatchFinally</H2>
+<HR>
+<DL>
+<DT>public interface <B>TryCatchFinally</B></DL>
+
+<P>
+The auxiliary interface of a Tag, IterationTag or BodyTag tag
+ handler that wants additional hooks for managing resources.
+
+ <p>This interface provides two new methods: doCatch(Throwable)
+ and doFinally().  The prototypical invocation is as follows:
+
+ <pre>
+ h = get a Tag();  // get a tag handler, perhaps from pool
+
+ h.setPageContext(pc);  // initialize as desired
+ h.setParent(null);
+ h.setFoo("foo");
+ 
+ // tag invocation protocol; see Tag.java
+ try {
+   doStartTag()...
+   ....
+   doEndTag()...
+ } catch (Throwable t) {
+   // react to exceptional condition
+   h.doCatch(t);
+ } finally {
+   // restore data invariants and release per-invocation resources
+   h.doFinally();
+ }
+ 
+ ... other invocations perhaps with some new setters
+ ...
+ h.release();  // release long-term resources
+ </pre>
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html#doCatch(java.lang.Throwable)">doCatch</A></B>(java.lang.Throwable&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked if a Throwable occurs while evaluating the BODY
+ inside a tag or in any of the following methods:
+ Tag.doStartTag(), Tag.doEndTag(),
+ IterationTag.doAfterBody() and BodyTag.doInitBody().</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html#doFinally()">doFinally</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked in all cases after doEndTag() for any class implementing
+ Tag, IterationTag or BodyTag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doCatch(java.lang.Throwable)"><!-- --></A><H3>
+doCatch</H3>
+<PRE>
+public void <B>doCatch</B>(java.lang.Throwable&nbsp;t)
+             throws java.lang.Throwable</PRE>
+<DL>
+<DD>Invoked if a Throwable occurs while evaluating the BODY
+ inside a tag or in any of the following methods:
+ Tag.doStartTag(), Tag.doEndTag(),
+ IterationTag.doAfterBody() and BodyTag.doInitBody().
+
+ <p>This method is not invoked if the Throwable occurs during
+ one of the setter methods.
+
+ <p>This method may throw an exception (the same or a new one)
+ that will be propagated further up the nest chain.  If an exception
+ is thrown, doFinally() will be invoked.
+
+ <p>This method is intended to be used to respond to an exceptional
+ condition.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>t</CODE> - The throwable exception navigating through this tag.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Throwable</CODE> - if the exception is to be rethrown further up 
+     the nest chain.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doFinally()"><!-- --></A><H3>
+doFinally</H3>
+<PRE>
+public void <B>doFinally</B>()</PRE>
+<DL>
+<DD>Invoked in all cases after doEndTag() for any class implementing
+ Tag, IterationTag or BodyTag.  This method is invoked even if
+ an exception has occurred in the BODY of the tag,
+ or in any of the following methods:
+ Tag.doStartTag(), Tag.doEndTag(),
+ IterationTag.doAfterBody() and BodyTag.doInitBody().
+
+ <p>This method is not invoked if the Throwable occurs during
+ one of the setter methods.
+
+ <p>This method should not throw an Exception.
+
+ <p>This method is intended to maintain per-invocation data
+ integrity and resource management actions.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/TryCatchFinally.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TryCatchFinally.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/ValidationMessage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/ValidationMessage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/ValidationMessage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,310 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ValidationMessage (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.ValidationMessage class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ValidationMessage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ValidationMessage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ValidationMessage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class ValidationMessage</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.ValidationMessage</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>ValidationMessage</B><DT>extends java.lang.Object</DL>
+
+<P>
+A validation message from either TagLibraryValidator or TagExtraInfo.
+ <p>
+ As of JSP 2.0, a JSP container must support a jsp:id attribute
+ to provide higher quality validation errors.
+ The container will track the JSP pages
+ as passed to the container, and will assign to each element
+ a unique "id", which is passed as the value of the jsp:id
+ attribute.  Each XML element in the XML view available will
+ be extended with this attribute.  The TagLibraryValidator
+ can then use the attribute in one or more ValidationMessage
+ objects.  The container then, in turn, can use these
+ values to provide more precise information on the location
+ of an error.
+  
+ <p>
+ The actual prefix of the <code>id</code> attribute may or may not be 
+ <code>jsp</code> but it will always map to the namespace
+ <code>http://java.sun.com/JSP/Page</code>.  A TagLibraryValidator
+ implementation must rely on the uri, not the prefix, of the <code>id</code>
+ attribute.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html#ValidationMessage(java.lang.String, java.lang.String)">ValidationMessage</A></B>(java.lang.String&nbsp;id,
+                  java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Create a ValidationMessage.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html#getId()">getId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the jsp:id.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the localized validation message.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ValidationMessage(java.lang.String, java.lang.String)"><!-- --></A><H3>
+ValidationMessage</H3>
+<PRE>
+public <B>ValidationMessage</B>(java.lang.String&nbsp;id,
+                         java.lang.String&nbsp;message)</PRE>
+<DL>
+<DD>Create a ValidationMessage.  The message String should be
+ non-null.  The value of id may be null, if the message
+ is not specific to any XML element, or if no jsp:id
+ attributes were passed on.  If non-null, the value of
+ id must be the value of a jsp:id attribute for the PageData
+ passed into the validate() method.
+<P>
+<DT><B>Parameters:</B><DD><CODE>id</CODE> - Either null, or the value of a jsp:id attribute.<DD><CODE>message</CODE> - A localized validation message.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getId()"><!-- --></A><H3>
+getId</H3>
+<PRE>
+public java.lang.String <B>getId</B>()</PRE>
+<DL>
+<DD>Get the jsp:id.
+ Null means that there is no information available.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The jsp:id information.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public java.lang.String <B>getMessage</B>()</PRE>
+<DL>
+<DD>Get the localized validation message.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>A validation message</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ValidationMessage.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ValidationMessage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/VariableInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/VariableInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/VariableInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,585 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+VariableInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext.VariableInfo class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="VariableInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VariableInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.jsp.tagext</FONT>
+<BR>
+Class VariableInfo</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.jsp.tagext.VariableInfo</B>
+</PRE>
+<HR>
+<DL>
+<DT>public class <B>VariableInfo</B><DT>extends java.lang.Object</DL>
+
+<P>
+Information on the scripting variables that are created/modified by
+ a tag (at run-time). This information is provided by TagExtraInfo
+ classes and it is used by the translation phase of JSP.
+
+ <p>
+ Scripting variables generated by a custom action have an associated 
+ scope of either AT_BEGIN, NESTED, or AT_END.
+
+ <p>
+ The class name (VariableInfo.getClassName) in the returned objects
+ is used to determine the types of the scripting variables.
+ Note that because scripting variables are assigned their values
+ from scoped attributes which cannot be of primitive types,
+ &quot;boxed&quot; types such as <code>java.lang.Integer</code> must 
+ be used instead of primitives.
+
+ <p>
+ The class name may be a Fully Qualified Class Name, or a short
+ class name.
+
+ <p>
+ If a Fully Qualified Class Name is provided, it should refer to a
+ class that should be in the CLASSPATH for the Web Application (see
+ Servlet 2.4 specification - essentially it is WEB-INF/lib and
+ WEB-INF/classes). Failure to be so will lead to a translation-time
+ error.
+
+ <p>
+ If a short class name is given in the VariableInfo objects, then
+ the class name must be that of a public class in the context of the
+ import directives of the page where the custom action appears. 
+ The class must also be in the CLASSPATH for the Web Application 
+ (see Servlet 2.4 specification - essentially it is WEB-INF/lib and
+ WEB-INF/classes). Failure to be so will lead to a translation-time
+ error.
+
+ <p><B>Usage Comments</B>
+ <p>
+ Frequently a fully qualified class name will refer to a class that
+ is known to the tag library and thus, delivered in the same JAR
+ file as the tag handlers. In most other remaining cases it will
+ refer to a class that is in the platform on which the JSP processor
+ is built (like J2EE). Using fully qualified class names in this
+ manner makes the usage relatively resistant to configuration
+ errors.
+
+ <p>
+ A short name is usually generated by the tag library based on some
+ attributes passed through from the custom action user (the author),
+ and it is thus less robust: for instance a missing import directive
+ in the referring JSP page will lead to an invalid short name class
+ and a translation error.
+
+ <p><B>Synchronization Protocol</B>
+
+ <p>
+ The result of the invocation on getVariableInfo is an array of
+ VariableInfo objects.  Each such object describes a scripting
+ variable by providing its name, its type, whether the variable is
+ new or not, and what its scope is.  Scope is best described through
+ a picture:
+
+ <p>
+ <IMG src="doc-files/VariableInfo-1.gif"
+      alt="NESTED, AT_BEGIN and AT_END Variable Scopes"/>
+
+<p>
+ The JSP 2.0 specification defines the interpretation of 3 values:
+ 
+ <ul>
+ <li> NESTED, if the scripting variable is available between
+ the start tag and the end tag of the action that defines it.
+ <li>
+ AT_BEGIN, if the scripting variable is available from the start tag
+ of the action that defines it until the end of the scope.
+ <li> AT_END, if the scripting variable is available after the end tag
+ of the action that defines it until the end of the scope.
+ </ul>
+
+ The scope value for a variable implies what methods may affect its
+ value and thus where synchronization is needed as illustrated by
+ the table below.  <b>Note:</b> the synchronization of the variable(s)
+ will occur <em>after</em> the respective method has been called.
+
+ <blockquote>
+ <table cellpadding="2" cellspacing="2" border="0" width="55%"
+        bgcolor="#999999" summary="Variable Synchronization Points">
+ <tbody>
+   <tr align="center">
+     <td valign="top" colspan="6" bgcolor="#999999"><u><b>Variable Synchronization
+     Points</b></u><br>
+     </td>
+   </tr>
+   <tr>
+     <th valign="top" bgcolor="#c0c0c0">&nbsp;</th>
+     <th valign="top" bgcolor="#c0c0c0" align="center">doStartTag()</th>
+     <th valign="top" bgcolor="#c0c0c0" align="center">doInitBody()</th>
+     <th valign="top" bgcolor="#c0c0c0" align="center">doAfterBody()</th>
+     <th valign="top" bgcolor="#c0c0c0" align="center">doEndTag()</th>
+     <th valign="top" bgcolor="#c0c0c0" align="center">doTag()</th>
+   </tr>
+   <tr>
+     <td valign="top" bgcolor="#c0c0c0"><b>Tag<br>
+     </b></td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, AT_END<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+   </tr>
+   <tr>
+     <td valign="top" bgcolor="#c0c0c0"><b>IterationTag<br>
+     </b></td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, AT_END<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+   </tr>
+   <tr>
+     <td valign="top" bgcolor="#c0c0c0"><b>BodyTag<br>
+     </b></td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<sup>1</sup><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<sup>1</sup><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, NESTED<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, AT_END<br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+   </tr>
+   <tr>
+     <td valign="top" bgcolor="#c0c0c0"><b>SimpleTag<br>
+     </b></td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff"><br>
+     </td>
+     <td valign="top" align="center" bgcolor="#ffffff">AT_BEGIN, AT_END<br>
+     </td>
+   </tr>
+ </tbody>
+ </table>
+ <sup>1</sup> Called after <code>doStartTag()</code> if 
+ <code>EVAL_BODY_INCLUDE</code> is returned, or after 
+ <code>doInitBody()</code> otherwise.
+ </blockquote>
+
+ <p><B>Variable Information in the TLD</B>
+ <p>
+ Scripting variable information can also be encoded directly for most cases
+ into the Tag Library Descriptor using the &lt;variable&gt; subelement of the
+ &lt;tag&gt; element.  See the JSP specification.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#AT_BEGIN">AT_BEGIN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scope information that scripting variable is visible after start tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#AT_END">AT_END</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scope information that scripting variable is visible after end tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#NESTED">NESTED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scope information that scripting variable is visible only within the
+ start/end tags.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#VariableInfo(java.lang.String, java.lang.String, boolean, int)">VariableInfo</A></B>(java.lang.String&nbsp;varName,
+             java.lang.String&nbsp;className,
+             boolean&nbsp;declare,
+             int&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor
+ These objects can be created (at translation time) by the TagExtraInfo
+ instances.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#getClassName()">getClassName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the type of this variable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#getDeclare()">getDeclare</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether this is a new variable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#getScope()">getScope</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the lexical scope of the variable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#getVarName()">getVarName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the scripting variable.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="NESTED"><!-- --></A><H3>
+NESTED</H3>
+<PRE>
+public static final int <B>NESTED</B></PRE>
+<DL>
+<DD>Scope information that scripting variable is visible only within the
+ start/end tags.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.VariableInfo.NESTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="AT_BEGIN"><!-- --></A><H3>
+AT_BEGIN</H3>
+<PRE>
+public static final int <B>AT_BEGIN</B></PRE>
+<DL>
+<DD>Scope information that scripting variable is visible after start tag.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.VariableInfo.AT_BEGIN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="AT_END"><!-- --></A><H3>
+AT_END</H3>
+<PRE>
+public static final int <B>AT_END</B></PRE>
+<DL>
+<DD>Scope information that scripting variable is visible after end tag.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#javax.servlet.jsp.tagext.VariableInfo.AT_END">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="VariableInfo(java.lang.String, java.lang.String, boolean, int)"><!-- --></A><H3>
+VariableInfo</H3>
+<PRE>
+public <B>VariableInfo</B>(java.lang.String&nbsp;varName,
+                    java.lang.String&nbsp;className,
+                    boolean&nbsp;declare,
+                    int&nbsp;scope)</PRE>
+<DL>
+<DD>Constructor
+ These objects can be created (at translation time) by the TagExtraInfo
+ instances.
+<P>
+<DT><B>Parameters:</B><DD><CODE>varName</CODE> - The name of the scripting variable<DD><CODE>className</CODE> - The type of this variable<DD><CODE>declare</CODE> - If true, it is a new variable (in some languages this will
+     require a declaration)<DD><CODE>scope</CODE> - Indication on the lexical scope of the variable</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getVarName()"><!-- --></A><H3>
+getVarName</H3>
+<PRE>
+public java.lang.String <B>getVarName</B>()</PRE>
+<DL>
+<DD>Returns the name of the scripting variable.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the scripting variable</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClassName()"><!-- --></A><H3>
+getClassName</H3>
+<PRE>
+public java.lang.String <B>getClassName</B>()</PRE>
+<DL>
+<DD>Returns the type of this variable.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the type of this variable</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDeclare()"><!-- --></A><H3>
+getDeclare</H3>
+<PRE>
+public boolean <B>getDeclare</B>()</PRE>
+<DL>
+<DD>Returns whether this is a new variable.
+ If so, in some languages this will require a declaration.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>whether this is a new variable.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getScope()"><!-- --></A><H3>
+getScope</H3>
+<PRE>
+public int <B>getScope</B>()</PRE>
+<DL>
+<DD>Returns the lexical scope of the variable.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the lexical scope of the variable, either AT_BEGIN, AT_END,
+    or NESTED.<DT><B>See Also:</B><DD><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#AT_BEGIN"><CODE>AT_BEGIN</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#AT_END"><CODE>AT_END</CODE></A>, 
+<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html#NESTED"><CODE>NESTED</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/VariableInfo.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyContent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyContent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyContent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.BodyContent (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.BodyContent (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyContent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.BodyContent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B>PageContext.</B><B><A HREF="../../../../../javax/servlet/jsp/PageContext.html#pushBody()">pushBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a new BodyContent object, save the current "out" JspWriter,
+ and update the value of the "out" attribute in the page scope
+ attribute namespace of the PageContext.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> declared as <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#bodyContent">bodyContent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The current BodyContent for this BodyTag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#getBodyContent()">getBodyContent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get current bodyContent.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>BodyTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)">setBodyContent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prepare for evaluation of the body: stash the bodyContent away.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>BodyTag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html#setBodyContent(javax.servlet.jsp.tagext.BodyContent)">setBodyContent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A>&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bodyContent property.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyContent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.BodyTag (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.BodyTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.BodyTag</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that implement <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/BodyTagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.BodyTagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.BodyTagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.BodyTagSupport</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.BodyTagSupport
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="BodyTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/DynamicAttributes.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/DynamicAttributes.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/DynamicAttributes.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.DynamicAttributes (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.DynamicAttributes (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicAttributes.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.DynamicAttributes</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.DynamicAttributes
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DynamicAttributes.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/FunctionInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/FunctionInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/FunctionInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.FunctionInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.FunctionInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.FunctionInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> declared as <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#functions">functions</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the functions that are defined in this tag library.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunctions()">getFunctions</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the functions that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getFunction(java.lang.String)">getFunction</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the FunctionInfo for a given function name, looking through all the
+ functions in this tag library.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FunctionInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/IterationTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/IterationTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/IterationTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.IterationTag (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.IterationTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IterationTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.IterationTag</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that implement <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining new tag handlers implementing Tag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="IterationTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspFragment.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspFragment.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspFragment.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.JspFragment (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.JspFragment (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFragment.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.JspFragment</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getJspBody()">getJspBody</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the body passed in by the container via setJspBody.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)">setJspBody</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores the provided JspFragment.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html#setJspBody(javax.servlet.jsp.tagext.JspFragment)">setJspBody</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A>&nbsp;jspBody)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides the body of this tag as a JspFragment object, able to be 
+ invoked zero or more times by the tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspFragment.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/JspTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.JspTag (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.JspTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.JspTag</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for defining Simple Tag Handlers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The interface of a classic tag handler that does not want to manipulate 
+ its body.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that implement <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing SimpleTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wraps any SimpleTag and exposes it using a Tag interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining new tag handlers implementing Tag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html#getAdaptee()">getAdaptee</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the tag that is being adapted to the Tag interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, for collaboration purposes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.JspTag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, for collaboration purposes.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#setParent(javax.servlet.jsp.tagext.JspTag)">setParent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the parent of this tag, for collaboration purposes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleTagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.JspTag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>SimpleTag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html#setParent(javax.servlet.jsp.tagext.JspTag)">setParent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A>&nbsp;parent)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the parent of this tag, for collaboration purposes.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="JspTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/PageData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/PageData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/PageData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.PageData (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.PageData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.PageData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryValidator.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#validate(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.PageData)">validate</A></B>(java.lang.String&nbsp;prefix,
+         java.lang.String&nbsp;uri,
+         <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>&nbsp;page)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validate a JSP page.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="PageData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,187 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.SimpleTag (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.SimpleTag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.SimpleTag</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that implement <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing SimpleTag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html#TagAdapter(javax.servlet.jsp.tagext.SimpleTag)">TagAdapter</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>&nbsp;adaptee)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a new TagAdapter that wraps the given SimpleTag and 
+ returns the parent tag when getParent() is called.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/SimpleTagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.SimpleTagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.SimpleTagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.SimpleTagSupport</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.SimpleTagSupport
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SimpleTagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/Tag.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/Tag.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/Tag.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.Tag (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.Tag (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Tag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.Tag</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that implement <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wraps any SimpleTag and exposes it using a Tag interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining new tag handlers implementing Tag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The Tag instance most closely enclosing this tag instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the parent of this tag, which is always
+ getAdaptee().getParent().</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B>Tag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html#getParent()">getParent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the parent (closest enclosing tag handler) for this tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html#findAncestorWithClass(javax.servlet.jsp.tagext.Tag, java.lang.Class)">findAncestorWithClass</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;from,
+                      java.lang.Class&nbsp;klass)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Find the instance of a given class type that is closest to a given
+ instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagSupport.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the nesting tag of this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagAdapter.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;parentTag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Must not be called.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Tag.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html#setParent(javax.servlet.jsp.tagext.Tag)">setParent</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the parent (closest enclosing tag handler) of this tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Tag.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAdapter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAdapter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAdapter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagAdapter (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagAdapter (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagAdapter</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.TagAdapter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAdapter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAttributeInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAttributeInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagAttributeInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagAttributeInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagAttributeInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAttributeInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagAttributeInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getAttributes()">getAttributes</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Attribute information (in the TLD) on this tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagAttributeInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#getIdAttribute(javax.servlet.jsp.tagext.TagAttributeInfo[])">getIdAttribute</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;a)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience static method that goes through an array of TagAttributeInfo
+ objects and looks for "id".</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagAttributeInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html#getIdAttribute(javax.servlet.jsp.tagext.TagAttributeInfo[])">getIdAttribute</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;a)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience static method that goes through an array of TagAttributeInfo
+ objects and looks for "id".</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.1 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.2 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+        boolean&nbsp;dynamicAttributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagAttributeInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagData.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagData.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagData.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagData (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagData (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagData</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information on the scripting objects created by this tag at runtime.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#isValid(javax.servlet.jsp.tagext.TagData)">isValid</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;information on scripting variables defined by the tag associated with
+ this TagExtraInfo instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#isValid(javax.servlet.jsp.tagext.TagData)">isValid</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagData.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagExtraInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagExtraInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagExtraInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagExtraInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagExtraInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagExtraInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagExtraInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagExtraInfo()">getTagExtraInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instance (if any) for extra tag information.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#setTagExtraInfo(javax.servlet.jsp.tagext.TagExtraInfo)">setTagExtraInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tei)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the instance for extra tag information.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.1 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.2 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+        boolean&nbsp;dynamicAttributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagExtraInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagFileInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagFileInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagFileInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagFileInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagFileInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagFileInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagFileInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> declared as <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#tagFiles">tagFiles</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tag files that are defined in this tag library.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFiles()">getTagFiles</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tag files that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTagFile(java.lang.String)">getTagFile</A></B>(java.lang.String&nbsp;shortname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagFileInfo for a given tag name, looking through all the
+ tag files in this tag library.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagFileInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,246 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Fields in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> declared as <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#tags">tags</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tags that are defined in this tag library.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTags()">getTags</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An array describing the tags that are defined in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagLibraryInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html#getTag(java.lang.String)">getTag</A></B>(java.lang.String&nbsp;shortname)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagInfo for a given tag name, looking through all the
+ tags in this tag library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagFileInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html#getTagInfo()">getTagInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns information about this tag, parsed from the directives 
+ in the tag file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#getTagInfo()">getTagInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the TagInfo for this class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#setTagInfo(javax.servlet.jsp.tagext.TagInfo)">setTagInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the TagInfo for this class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagFileInfo.html#TagFileInfo(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagInfo)">TagFileInfo</A></B>(java.lang.String&nbsp;name,
+            java.lang.String&nbsp;path,
+            <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A>&nbsp;tagInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagFileInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagLibraryInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagLibraryInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagLibraryInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagLibrary()">getTagLibrary</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The instance of TabLibraryInfo we belong to.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#setTagLibrary(javax.servlet.jsp.tagext.TagLibraryInfo)">setTagLibrary</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;tl)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the TagLibraryInfo property.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.1 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.2 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+        boolean&nbsp;dynamicAttributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryValidator.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryValidator.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagLibraryValidator.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagLibraryValidator (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagLibraryValidator (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryValidator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagLibraryValidator</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.TagLibraryValidator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagLibraryValidator.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagSupport.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagSupport.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagSupport.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagSupport (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagSupport (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagSupport</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagSupport.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagVariableInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagVariableInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TagVariableInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.TagVariableInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.TagVariableInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagVariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.TagVariableInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getTagVariableInfos()">getTagVariableInfos</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get TagVariableInfo objects associated with this TagInfo.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> with parameters of type <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[])">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 1.2 format for TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#TagInfo(java.lang.String, java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagLibraryInfo, javax.servlet.jsp.tagext.TagExtraInfo, javax.servlet.jsp.tagext.TagAttributeInfo[], java.lang.String, java.lang.String, java.lang.String, javax.servlet.jsp.tagext.TagVariableInfo[], boolean)">TagInfo</A></B>(java.lang.String&nbsp;tagName,
+        java.lang.String&nbsp;tagClassName,
+        java.lang.String&nbsp;bodycontent,
+        java.lang.String&nbsp;infoString,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A>&nbsp;taglib,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A>&nbsp;tagExtraInfo,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A>[]&nbsp;attributeInfo,
+        java.lang.String&nbsp;displayName,
+        java.lang.String&nbsp;smallIcon,
+        java.lang.String&nbsp;largeIcon,
+        <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A>[]&nbsp;tvi,
+        boolean&nbsp;dynamicAttributes)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor for TagInfo from data in the JSP 2.0 format for TLD.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TagVariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TryCatchFinally.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TryCatchFinally.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/TryCatchFinally.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.jsp.tagext.TryCatchFinally (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.jsp.tagext.TryCatchFinally (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TryCatchFinally.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.jsp.tagext.TryCatchFinally</B></H2>
+</CENTER>
+No usage of javax.servlet.jsp.tagext.TryCatchFinally
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="TryCatchFinally.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/ValidationMessage.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/ValidationMessage.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/ValidationMessage.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.ValidationMessage (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.ValidationMessage (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ValidationMessage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.ValidationMessage</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagLibraryValidator.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html#validate(java.lang.String, java.lang.String, javax.servlet.jsp.tagext.PageData)">validate</A></B>(java.lang.String&nbsp;prefix,
+         java.lang.String&nbsp;uri,
+         <A HREF="../../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A>&nbsp;page)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Validate a JSP page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#validate(javax.servlet.jsp.tagext.TagData)">validate</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time validation of the attributes.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ValidationMessage.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/VariableInfo.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/VariableInfo.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/class-use/VariableInfo.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.jsp.tagext.VariableInfo (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.jsp.tagext.VariableInfo (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.jsp.tagext.VariableInfo</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A> in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> that return <A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information on the scripting objects created by this tag at runtime.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A>[]</CODE></FONT></TD>
+<TD><CODE><B>TagExtraInfo.</B><B><A HREF="../../../../../javax/servlet/jsp/tagext/TagExtraInfo.html#getVariableInfo(javax.servlet.jsp.tagext.TagData)">getVariableInfo</A></B>(<A HREF="../../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A>&nbsp;data)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;information on scripting variables defined by the tag associated with
+ this TagExtraInfo instance.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="VariableInfo.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/BodyTagProtocol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/BodyTagProtocol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/IterationTagProtocol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/IterationTagProtocol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/TagProtocol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/TagProtocol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/VariableInfo-1.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/doc-files/VariableInfo-1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.tagext (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html" target="classFrame">javax.servlet.jsp.tagext</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BodyTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>BodyTag</I></A>
+<BR>
+<A HREF="DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>DynamicAttributes</I></A>
+<BR>
+<A HREF="IterationTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>IterationTag</I></A>
+<BR>
+<A HREF="JspTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>JspTag</I></A>
+<BR>
+<A HREF="SimpleTag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>SimpleTag</I></A>
+<BR>
+<A HREF="Tag.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>Tag</I></A>
+<BR>
+<A HREF="TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext" target="classFrame"><I>TryCatchFinally</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BodyContent.html" title="class in javax.servlet.jsp.tagext" target="classFrame">BodyContent</A>
+<BR>
+<A HREF="BodyTagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">BodyTagSupport</A>
+<BR>
+<A HREF="FunctionInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">FunctionInfo</A>
+<BR>
+<A HREF="JspFragment.html" title="class in javax.servlet.jsp.tagext" target="classFrame">JspFragment</A>
+<BR>
+<A HREF="PageData.html" title="class in javax.servlet.jsp.tagext" target="classFrame">PageData</A>
+<BR>
+<A HREF="SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">SimpleTagSupport</A>
+<BR>
+<A HREF="TagAdapter.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagAdapter</A>
+<BR>
+<A HREF="TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagAttributeInfo</A>
+<BR>
+<A HREF="TagData.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagData</A>
+<BR>
+<A HREF="TagExtraInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagExtraInfo</A>
+<BR>
+<A HREF="TagFileInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagFileInfo</A>
+<BR>
+<A HREF="TagInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagInfo</A>
+<BR>
+<A HREF="TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagLibraryInfo</A>
+<BR>
+<A HREF="TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagLibraryValidator</A>
+<BR>
+<A HREF="TagSupport.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagSupport</A>
+<BR>
+<A HREF="TagVariableInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">TagVariableInfo</A>
+<BR>
+<A HREF="ValidationMessage.html" title="class in javax.servlet.jsp.tagext" target="classFrame">ValidationMessage</A>
+<BR>
+<A HREF="VariableInfo.html" title="class in javax.servlet.jsp.tagext" target="classFrame">VariableInfo</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,306 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.tagext (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.jsp.tagext package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp.tagext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package javax.servlet.jsp.tagext
+</H2>
+Classes and interfaces for the definition of JavaServer Pages Tag Libraries.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A></B></TD>
+<TD>The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext">DynamicAttributes</A></B></TD>
+<TD>For a tag to declare that it accepts dynamic attributes, it must implement
+ this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A></B></TD>
+<TD>The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext">JspTag</A></B></TD>
+<TD>Serves as a base class for Tag and SimpleTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A></B></TD>
+<TD>Interface for defining Simple Tag Handlers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A></B></TD>
+<TD>The interface of a classic tag handler that does not want to manipulate 
+ its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext">TryCatchFinally</A></B></TD>
+<TD>The auxiliary interface of a Tag, IterationTag or BodyTag tag
+ handler that wants additional hooks for managing resources.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A></B></TD>
+<TD>An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">BodyTagSupport</A></B></TD>
+<TD>A base class for defining tag handlers implementing BodyTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext">FunctionInfo</A></B></TD>
+<TD>Information for a function in a Tag Library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext">JspFragment</A></B></TD>
+<TD>Encapsulates a portion of JSP code in an object that 
+ can be invoked as many times as needed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext">PageData</A></B></TD>
+<TD>Translation-time information on a JSP page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext">SimpleTagSupport</A></B></TD>
+<TD>A base class for defining tag handlers implementing SimpleTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext">TagAdapter</A></B></TD>
+<TD>Wraps any SimpleTag and exposes it using a Tag interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext">TagAttributeInfo</A></B></TD>
+<TD>Information on the attributes of a Tag, available at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext">TagData</A></B></TD>
+<TD>The (translation-time only) attribute/value information for a tag instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext">TagExtraInfo</A></B></TD>
+<TD>Optional class provided by the tag library author to describe additional
+ translation-time information not described in the TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext">TagFileInfo</A></B></TD>
+<TD>Tag information for a tag file in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext">TagInfo</A></B></TD>
+<TD>Tag information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext">TagLibraryInfo</A></B></TD>
+<TD>Translation-time information associated with a taglib directive, and its
+ underlying TLD file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext">TagLibraryValidator</A></B></TD>
+<TD>Translation-time validator class for a JSP page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A></B></TD>
+<TD>A base class for defining new tag handlers implementing Tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext">TagVariableInfo</A></B></TD>
+<TD>Variable information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext">ValidationMessage</A></B></TD>
+<TD>A validation message from either TagLibraryValidator or TagExtraInfo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext">VariableInfo</A></B></TD>
+<TD>Information on the scripting variables that are created/modified by
+ a tag (at run-time).</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package javax.servlet.jsp.tagext Description
+</H2>
+
+<P>
+Classes and interfaces for the definition of JavaServer Pages Tag Libraries.
+
+<p>
+The JavaServer Pages(tm) (JSP) 2.0 specification provides a portable
+mechanism for the description of tag libraries.
+<p>
+A JSP tag library contains
+<ul>
+<li>A Tag Library Descriptor</li>
+<li>A number of Tag Files or Tag handler classes defining 
+    request-time behavior</li>
+<li>Additional classes and resources used at runtime</li>
+<li>Possibly some additional classes to provide extra translation 
+    information</li>
+</ul>
+<p>
+The JSP 2.0 specification and the reference implementation both contain
+simple and moderately complex examples of actions defined using this
+mechanism.  These are available at JSP's web site, at
+<a href="http://java.sun.com/products/jsp">http://java.sun.com/products/jsp</a>.
+Some readers may want to consult those to get a quick feel for how
+the mechanisms work together.
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+javax.servlet.jsp.tagext Class Hierarchy (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.jsp.tagext Class Hierarchy (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package javax.servlet.jsp.tagext
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>FunctionInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>JspFragment</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>PageData</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>SimpleTagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>TagAdapter</B></A> (implements javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagAttributeInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>TagData</B></A> (implements java.lang.Cloneable)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagExtraInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagFileInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryValidator</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>TagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, java.io.Serializable)
+<UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>BodyTagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>)
+</UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagVariableInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>ValidationMessage</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>VariableInfo</B></A><LI TYPE="circle">class java.io.Writer<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="../../../../javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>JspWriter</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><B>BodyContent</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>DynamicAttributes</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>JspTag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>SimpleTag</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>Tag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>IterationTag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="../../../../javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><B>TryCatchFinally</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../../javax/servlet/jsp/el/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-use.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-use.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/javax/servlet/jsp/tagext/package-use.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Uses of Package javax.servlet.jsp.tagext (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package javax.servlet.jsp.tagext (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>javax.servlet.jsp.tagext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp"><B>javax.servlet.jsp</B></A></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.jsp.tagext"><B>javax.servlet.jsp.tagext</B></A></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> used by <A HREF="../../../../javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/BodyContent.html#javax.servlet.jsp"><B>BodyContent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.jsp.tagext"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A> used by <A HREF="../../../../javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/BodyContent.html#javax.servlet.jsp.tagext"><B>BodyContent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An encapsulation of the evaluation of the body of an action so it is
+ available to a tag handler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/BodyTag.html#javax.servlet.jsp.tagext"><B>BodyTag</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The BodyTag interface extends IterationTag by defining additional
+ methods that let a tag handler manipulate the content of evaluating its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/FunctionInfo.html#javax.servlet.jsp.tagext"><B>FunctionInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information for a function in a Tag Library.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/IterationTag.html#javax.servlet.jsp.tagext"><B>IterationTag</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The IterationTag interface extends Tag by defining one additional
+ method that controls the reevaluation of its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/JspFragment.html#javax.servlet.jsp.tagext"><B>JspFragment</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encapsulates a portion of JSP code in an object that 
+ can be invoked as many times as needed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/JspTag.html#javax.servlet.jsp.tagext"><B>JspTag</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Serves as a base class for Tag and SimpleTag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/PageData.html#javax.servlet.jsp.tagext"><B>PageData</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time information on a JSP page.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/SimpleTag.html#javax.servlet.jsp.tagext"><B>SimpleTag</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Interface for defining Simple Tag Handlers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/Tag.html#javax.servlet.jsp.tagext"><B>Tag</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The interface of a classic tag handler that does not want to manipulate 
+ its body.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagAttributeInfo.html#javax.servlet.jsp.tagext"><B>TagAttributeInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information on the attributes of a Tag, available at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagData.html#javax.servlet.jsp.tagext"><B>TagData</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The (translation-time only) attribute/value information for a tag instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagExtraInfo.html#javax.servlet.jsp.tagext"><B>TagExtraInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Optional class provided by the tag library author to describe additional
+ translation-time information not described in the TLD.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagFileInfo.html#javax.servlet.jsp.tagext"><B>TagFileInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tag information for a tag file in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagInfo.html#javax.servlet.jsp.tagext"><B>TagInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tag information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagLibraryInfo.html#javax.servlet.jsp.tagext"><B>TagLibraryInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Translation-time information associated with a taglib directive, and its
+ underlying TLD file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagSupport.html#javax.servlet.jsp.tagext"><B>TagSupport</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A base class for defining new tag handlers implementing Tag.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/TagVariableInfo.html#javax.servlet.jsp.tagext"><B>TagVariableInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Variable information for a tag in a Tag Library;
+ This class is instantiated from the Tag Library Descriptor file (TLD)
+ and is available only at translation time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/ValidationMessage.html#javax.servlet.jsp.tagext"><B>ValidationMessage</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A validation message from either TagLibraryValidator or TagExtraInfo.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../javax/servlet/jsp/tagext/class-use/VariableInfo.html#javax.servlet.jsp.tagext"><B>VariableInfo</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information on the scripting variables that are created/modified by
+ a tag (at run-time).</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Overview (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, JavaServer Pages API Documentation">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
+<B></B></FONT></TD>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Packages</FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="javax/servlet/jsp/package-frame.html" target="packageFrame">javax.servlet.jsp</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="javax/servlet/jsp/el/package-frame.html" target="packageFrame">javax.servlet.jsp.el</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="javax/servlet/jsp/tagext/package-frame.html" target="packageFrame">javax.servlet.jsp.tagext</A></FONT>
+<BR>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Overview (JavaServer Pages API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, JavaServer Pages API Documentation">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Overview (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+JavaServer Pages API Documentation
+</H1>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Packages</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="javax/servlet/jsp/package-summary.html">javax.servlet.jsp</A></B></TD>
+<TD>Classes and interfaces for the Core JSP 2.0 API.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="javax/servlet/jsp/el/package-summary.html">javax.servlet.jsp.el</A></B></TD>
+<TD>Classes and interfaces for the JSP 2.0 Expression Language API.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="javax/servlet/jsp/tagext/package-summary.html">javax.servlet.jsp.tagext</A></B></TD>
+<TD>Classes and interfaces for the definition of JavaServer Pages Tag Libraries.</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/overview-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Class Hierarchy (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="javax/servlet/jsp/package-tree.html">javax.servlet.jsp</A>, <A HREF="javax/servlet/jsp/el/package-tree.html">javax.servlet.jsp.el</A>, <A HREF="javax/servlet/jsp/tagext/package-tree.html">javax.servlet.jsp.tagext</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/ErrorData.html" title="class in javax.servlet.jsp"><B>ErrorData</B></A><LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/Expression.html" title="class in javax.servlet.jsp.el"><B>Expression</B></A><LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ExpressionEvaluator.html" title="class in javax.servlet.jsp.el"><B>ExpressionEvaluator</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/FunctionInfo.html" title="class in javax.servlet.jsp.tagext"><B>FunctionInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspContext.html" title="class in javax.servlet.jsp"><B>JspContext</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp"><B>PageContext</B></A></UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspEngineInfo.html" title="class in javax.servlet.jsp"><B>JspEngineInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspFactory.html" title="class in javax.servlet.jsp"><B>JspFactory</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspFragment.html" title="class in javax.servlet.jsp.tagext"><B>JspFragment</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/PageData.html" title="class in javax.servlet.jsp.tagext"><B>PageData</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>SimpleTagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext">SimpleTag</A>)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAdapter.html" title="class in javax.servlet.jsp.tagext"><B>TagAdapter</B></A> (implements javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A>)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagAttributeInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagAttributeInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagData.html" title="class in javax.servlet.jsp.tagext"><B>TagData</B></A> (implements java.lang.Cloneable)
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagExtraInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagExtraInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagFileInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagFileInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryInfo</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagLibraryValidator.html" title="class in javax.servlet.jsp.tagext"><B>TagLibraryValidator</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext"><B>TagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext">IterationTag</A>, java.io.Serializable)
+<UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext"><B>BodyTagSupport</B></A> (implements javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext">BodyTag</A>)
+</UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TagVariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>TagVariableInfo</B></A><LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class java.lang.Exception<UL>
+<LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el"><B>ELException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el"><B>ELParseException</B></A></UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp"><B>JspException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp"><B>JspTagException</B></A><LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp"><B>SkipPageException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/ValidationMessage.html" title="class in javax.servlet.jsp.tagext"><B>ValidationMessage</B></A><LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/VariableInfo.html" title="class in javax.servlet.jsp.tagext"><B>VariableInfo</B></A><LI TYPE="circle">class java.io.Writer<UL>
+<LI TYPE="circle">class javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspWriter.html" title="class in javax.servlet.jsp"><B>JspWriter</B></A><UL>
+<LI TYPE="circle">class javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext"><B>BodyContent</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/DynamicAttributes.html" title="interface in javax.servlet.jsp.tagext"><B>DynamicAttributes</B></A><LI TYPE="circle">interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/FunctionMapper.html" title="interface in javax.servlet.jsp.el"><B>FunctionMapper</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/JspTag.html" title="interface in javax.servlet.jsp.tagext"><B>JspTag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>IterationTag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/SimpleTag.html" title="interface in javax.servlet.jsp.tagext"><B>SimpleTag</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext"><B>Tag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A><LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/IterationTag.html" title="interface in javax.servlet.jsp.tagext"><B>IterationTag</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/BodyTag.html" title="interface in javax.servlet.jsp.tagext"><B>BodyTag</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">interface javax.servlet.Servlet<UL>
+<LI TYPE="circle">interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>HttpJspPage</B></A><LI TYPE="circle">interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/JspPage.html" title="interface in javax.servlet.jsp"><B>JspPage</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.jsp.<A HREF="javax/servlet/jsp/HttpJspPage.html" title="interface in javax.servlet.jsp"><B>HttpJspPage</B></A></UL>
+</UL>
+<LI TYPE="circle">interface javax.servlet.jsp.tagext.<A HREF="javax/servlet/jsp/tagext/TryCatchFinally.html" title="interface in javax.servlet.jsp.tagext"><B>TryCatchFinally</B></A><LI TYPE="circle">interface javax.servlet.jsp.el.<A HREF="javax/servlet/jsp/el/VariableResolver.html" title="interface in javax.servlet.jsp.el"><B>VariableResolver</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/package-list
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/package-list	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/package-list	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.servlet.jsp
+javax.servlet.jsp.el
+javax.servlet.jsp.tagext

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/packages.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/packages.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/packages.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+ (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title=" (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+<BR>
+
+<BR>
+
+<BR>
+<CENTER>
+The front page has been relocated.Please see:
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="index.html">Frame version</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="overview-summary.html">Non-frame version.</A></CENTER>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/resources/inherit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/resources/inherit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/serialized-form.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/serialized-form.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/serialized-form.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:31 MST 2007 -->
+<TITLE>
+Serialized Form (JavaServer Pages API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form (JavaServer Pages API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>javax.servlet.jsp</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="javax.servlet.jsp.JspException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspException</A> extends java.lang.Exception implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+rootCause</H3>
+<PRE>
+java.lang.Throwable <B>rootCause</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.jsp.JspTagException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/JspTagException.html" title="class in javax.servlet.jsp">javax.servlet.jsp.JspTagException</A> extends <A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="javax.servlet.jsp.SkipPageException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/SkipPageException.html" title="class in javax.servlet.jsp">javax.servlet.jsp.SkipPageException</A> extends <A HREF="javax/servlet/jsp/JspException.html" title="class in javax.servlet.jsp">JspException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>javax.servlet.jsp.el</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="javax.servlet.jsp.el.ELException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ELException</A> extends java.lang.Exception implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+mRootCause</H3>
+<PRE>
+java.lang.Throwable <B>mRootCause</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.jsp.el.ELParseException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/el/ELParseException.html" title="class in javax.servlet.jsp.el">javax.servlet.jsp.el.ELParseException</A> extends <A HREF="javax/servlet/jsp/el/ELException.html" title="class in javax.servlet.jsp.el">ELException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>javax.servlet.jsp.tagext</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="javax.servlet.jsp.tagext.BodyTagSupport"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/tagext/BodyTagSupport.html" title="class in javax.servlet.jsp.tagext">javax.servlet.jsp.tagext.BodyTagSupport</A> extends <A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">TagSupport</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+bodyContent</H3>
+<PRE>
+<A HREF="javax/servlet/jsp/tagext/BodyContent.html" title="class in javax.servlet.jsp.tagext">BodyContent</A> <B>bodyContent</B></PRE>
+<DL>
+<DD>The current BodyContent for this BodyTag.
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.jsp.tagext.TagSupport"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/jsp/tagext/TagSupport.html" title="class in javax.servlet.jsp.tagext">javax.servlet.jsp.tagext.TagSupport</A> extends java.lang.Object implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+parent</H3>
+<PRE>
+<A HREF="javax/servlet/jsp/tagext/Tag.html" title="interface in javax.servlet.jsp.tagext">Tag</A> <B>parent</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+values</H3>
+<PRE>
+java.util.Hashtable <B>values</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+id</H3>
+<PRE>
+java.lang.String <B>id</B></PRE>
+<DL>
+<DD>The value of the id attribute of this tag; or null.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+pageContext</H3>
+<PRE>
+<A HREF="javax/servlet/jsp/PageContext.html" title="class in javax.servlet.jsp">PageContext</A> <B>pageContext</B></PRE>
+<DL>
+<DD>The PageContext.
+<P>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/stylesheet.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/stylesheet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/jspapi/stylesheet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/logging.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/logging.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/logging.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,302 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Logging in Tomcat</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Logging in Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/logging.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Tomcat 5.5 uses 
+    <a href="http://jakarta.apache.org/commons/logging">Commons Logging</a>
+    throughout its internal code allowing the 
+    developer to choose a logging configuration that suits their needs, e.g
+    java.util.logging or 
+    <a href="http://logging.apache.org/log4j">Log4J</a>. 
+    Commons Logging provides Tomcat the ability to log
+    hierarchially across various log levels without needing to rely on a particular
+    logging implementation.
+  </p>
+  <p>
+    An important consequence for Tomcat 5.5 is that the &lt;Logger&gt; element found in 
+    previous versions to create a <code>localhost_log</code> is no longer a valid nested element 
+    of &lt;Context&gt;. Instead, the default Tomcat configuration will use java.util.logging. 
+    If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening 
+    within the Tomcat engine), then they should configure a logging system such as java.util.logging 
+    or log4j as detailed next.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="log4j"><strong>log4j</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat 5.5 has done away with <code>localhost_log</code> which you may be familiar with
+      as the runtime exception/stack trace log. These types of error are usually thrown
+      by uncaught exceptions, but are still valuable to the developer. They can now be
+      found in the <code>stdout</code> log.
+    </p>
+
+    <p>
+      If you need to setup cross-context detailed logging from within Tomcat's code, 
+      then you can use a simple log4j configuration. Note that this logging van be very 
+      verbose depending on the log level you chose to use.  Note also that a log4j logging 
+      configuration is not going to produce stack trace type logging: those stack traces
+      are output to <code>stdout</code> as discussed above.
+    </p>
+
+    <p>
+      Follow the following steps to setup a file named tomcat.log that has internal 
+      Tomcat logging output to it:
+    </p>
+
+    <p>
+      <ol>
+        <li>Create a file called log4j.properties with the following content 
+            and save it into common/classes.
+          <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            log4j.rootLogger=DEBUG, R 
+            log4j.appender.R=org.apache.log4j.RollingFileAppender 
+            log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
+            log4j.appender.R.MaxFileSize=10MB 
+            log4j.appender.R.MaxBackupIndex=10 
+            log4j.appender.R.layout=org.apache.log4j.PatternLayout 
+            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
+          </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+	</li>
+
+	<li><a href="http://logging.apache.org/log4j">Download Log4J</a> 
+            (v1.2 or later) and place the log4j jar in $CATALINA_HOME/common/lib.</li>
+
+        <li><a href="http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi">
+            Download Commons Logging</a> and place the commons-logging.jar 
+            (not commons-logging-api.jar) in $CATALINA_HOME/common/lib with 
+            the log4j jar.</li>
+
+	<li>Start Tomcat</li>
+      </ol>
+    </p>
+
+    <p>
+      This log4j configuration sets up a file called tomcat.log in your 
+      Tomcat logs folder with a maximum file size of 10MB and
+      up to 10 backups.  DEBUG level is specified which will result in the 
+      most verbose output from Tomcat.
+    </p>
+	
+    <p>
+      You can (and should) be more picky about which packages to include 
+      in the logging. Tomcat 5.5 uses defines loggers by Engine and Host names.
+      For example, for a default Catalina localhost log, add this to the
+      end of the log4j.properties above. Note that there are known issues with 
+      using this naming convention (with square brackets) in log4j XML based
+      configuration files, so we recommend you use a properties file as described
+      until a future version of log4j allows this convention.
+      
+      <ul>
+        <li>log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.core=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.session=DEBUG, R</li>
+      </ul>
+
+      Be warned a level of DEBUG will produce megabytes of logging and slow startup
+      of Tomcat. This level should be used sparingly when debugging of internal Tomcat
+      operations is required.
+    </p>
+	
+    <p>
+      Your web applications should certainly use their own log4j configuration. 
+      This is valid <i>with</i> the above configuration.  You would place a similar log4j.properties 
+      file in your web application's WEB-INF/classes folder, and log4j1.2.8.jar into
+      WEB-INF/lib. Then specify your package level logging. This is a basic setup of log4j 
+      which does *not* require Commons-Logging, 
+      and you should consult the 
+      <a href="http://logging.apache.org/log4j/docs/documentation.html">log4j documentation</a> 
+      for more options.  This page is intended only as a bootstrapping guide.
+    </p>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="java.util.logging"><strong>java.util.logging</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    In order to configure JDK logging you should have JDK 1.4+. Tomcat 5.5 is intended for
+    JDK 5.0 or later, but can be run on JDK 1.4 using a compatibility package.
+  </p>
+  <p>
+    The default implemenatation of java.util.logging provided in the JDK is too limited to be 
+    useful. A limitation of JDK Logging appears to be the inability to have per-web application logging, 
+    as the configuration is per-VM. As a result, Tomcat will, in the default configuration,
+    replace the default LogManager implementation with a container friendly implementation
+    called JULI, which addresses these shortcomings. It supports the same configuration mechanisms 
+    as the standard JDK java.util.logging, using either a programmatic approach, or properties
+    files. The main difference is that per-classloader properties files can be set (which enables easy
+    redeployment friendly webapp configuration), and the properties files support slightly extended
+    constructs which allows more freedom for defining handlers and assigning them to loggers.
+  </p>
+  <p>
+    JULI is enabled by default in Tomcat 5.5, and supports per classloader configuration, in addition to 
+    the regular global java.util.logging configuration. This means that logging can be configured at 
+    the following layers:
+    <ul>
+      <li>In the JDK's logging.properties file. Check
+      your JAVA_HOME environment setting to see which JDK Tomcat is using (or maybe JRE 5.0 as Tomcat
+      can now run on a JRE from version 5.5). The file will be in <code>$JAVA_HOME/jre/lib</code>.
+      Alternately, it can also use a global configuration file located elsewhere by using the 
+      system property <code>java.util.logging.config.file</code>, or programmatic configuration using
+      <code>java.util.logging.config.class</code>.</li>
+      <li>In each classloader using a logging.properties file. This means that it is possible to have a
+      configuration for the Tomcat core, as well as separate configurations for each webapps which will 
+      have the same lifecycle as the webapps.</li>
+    </ul>
+  </p>
+  <p>
+    The default logging.properties specifies a ConsoleHandler for routing logging to stdout and
+    also a FileHandler. A handler's log level threshold can be set using SEVERE, CONFIG, INFO, 
+    WARN, FINE, FINEST or ALL. The logging.properties shipped with JDK is set to INFO. You
+    can also target specific packages to collect logging from and specify a level. Here is how
+    you would set debugging from Tomcat. You would need to ensure the ConsoleHandler's level is also
+    set to collect this threshold, so FINEST or ALL should be set. Please refer to Sun's java.util.logging
+    documentation for the complete details.
+  </p>
+  <p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>org.apache.catalina.level=FINEST</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </p>
+  <p>
+    The configuration used by JULI is extremely similar, but uses a few extensions to allow better 
+    flexibility in assigning loggers. The main differences are:
+    <ul>
+      <li>A prefix may be added to handler names, so that multiple handlers of a single class may be 
+      instantiated. A prefix is a String which starts with a digit, and ends with '.'. For example, 
+      <code>22foobar.</code> is a valid prefix.</li>
+      <li>As in Java 5.0, loggers can define a list of handlers using the <code>loggerName.handlers</code>
+      property.</li>
+      <li>By default, loggers will not delegate to their parent if they have associated handlers. This
+      may be changed per logger using the <code>loggerName.useParentHandlers</code> property, which accepts 
+      a boolean value.</li>
+      <li>The root logger can define its set of handlers using a <code>.handlers</code> property.</li>
+      <li>System property replacement for property values which start with ${sytstemPropertyName}.</li>
+    </ul>
+  </p>
+  <p>
+    Example logging.properties file to be placed in common/classes:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, \
+           3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, \
+           java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
+   2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
+   3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = \
+   4admin.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    
+    <p>
+      Example logging.properties for the servlet-examples web application to be placed
+      in WEB-INF/classes inside the web application:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = servlet-examples.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Handler Properties"><strong>Handler Properties</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat's JULI implementation is not intended to be a fully-featured logging libary, only
+      a simple bridge to those libraries.  However, JULI does provide several properties
+      for configuring the its handlers.  These are listed below.
+    </p>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FileHandler"><strong>FileHandler</strong></a></font></td></tr><tr><td><blockquote>
+      <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+          <p>
+            The directory where the log file will be written.  The Tomcat server account
+            should have write permissions to this directory.  The default value of this
+            property is <em>logs</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+          <p>
+            The log file name prefix.  This is the portion of the log file name before the date.  
+            The default value of this property is <em>juli.</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+          <p>
+            The log file name suffix.  This is the portion of the log file name after the date.
+            The default value of this property is <em>.log</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>level</code></td><td valign="center" align="left">
+          <p>
+            The threshold level for this handler.  It must be one of the levels in the 
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Level.html">java.util.logging.Level</a> class.
+            The default value of this property is <em>ALL</em>.  Messages whose level is below
+            the specified level will not be written to the file.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>filter</code></td><td valign="center" align="left">
+          <p>
+            The fully-qualified class name of a class that implements the 
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Filter.html">java.util.logging.Filter</a> 
+            interface.  JULI will load this class and associate it with this handler to filter its messages.
+            By default, there is no Filter associated with the handler.            
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>formatter</code></td><td valign="center" align="left">
+          <p>
+            The fully-qualified class name of a class that implements the
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Formatter.html">java.util.logging.Formatter</a>
+            interface.  JULI will load this class and associate it with this handler to format its messages.
+            By default, there is no Formatter associated with the handler.
+          </p>
+        </td></tr></table>
+
+    </blockquote></td></tr></table>    
+  
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1268 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Manager App HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Manager App HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuring Manager Application Access">
+Configuring Manager Application Access</a><br>
+<a href="#Supported Manager Commands">Supported Manager Commands</a><br>
+<blockquote>
+<a href="#Deploy A New Application Remotely">Deploy A New Application Remotely</a><br>
+<a href="#Deploy A New Application from a Local Path">Deploy A New Application from a Local Path</a><br>
+<a href="#List Currently Deployed Applications">
+List Currently Deployed Applications</a><br>
+<a href="#Reload An Existing Application">Reload An Existing Application</a><br>
+<a href="#List OS and JVM Properties">List OS and JVM Properties</a><br>
+<a href="#List Available Global JNDI Resources">
+List Available Global JNDI Resources</a><br>
+<a href="#List Available Security Roles">List Available Security Roles</a><br>
+<a href="#Session Statistics">Session Statistics</a><br>
+<a href="#Start an Existing Application">Start an Existing Application</a><br>
+<a href="#Stop an Existing Application">Stop an Existing Application</a><br>
+<a href="#Undeploy an Existing Application">
+Undeploy an Existing Application</a><br>
+</blockquote>
+<a href="#Executing Manager Commands With Ant">
+Executing Manager Commands With Ant</a><br>
+<a href="#Using the JMX Proxy Servlet">
+Using the JMX Proxy Servlet</a><br>
+<blockquote>
+<a href="#What is JMX Proxy Servlet">What is JMX Proxy Servlet?</a><br>
+<a href="#JMX Query command">Query command</a><br>
+<a href="#JMX Set command">Set command</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments, it is very useful to have the capability
+to deploy a new web application, or undeploy an existing one, without having
+to shut down and restart the entire container.  In addition, you can request
+an existing application to reload itself, even if you have not declared it
+to be <code>reloadable</code> in the Tomcat 5 server
+configuration file.</p>
+
+<p>To support these capabilities, Tomcat 5 includes a web application
+(installed by default on context path <code>/manager</code>) that supports
+the following functions:</p>
+<ul>
+<li>Deploy a new web application, on a specified context path, from
+    the uploaded contents of a WAR file.</li>
+<li>Deploy a new web application, on a specified context path, from the
+    server file system.</li>
+<li>List the currently deployed web applications, as well as the
+    sessions that are currently active for those web apps.</li>
+<li>Reload an existing web application, to reflect changes in the
+    contents of <code>/WEB-INF/classes</code> or <code>/WEB-INF/lib</code>.
+    </li>
+<li>List the OS and JVM property values.</li>
+<li>List the available global JNDI resources, for use in deployment
+    tools that are preparing <code>&lt;ResourceLink&gt;</code> elements
+    nested in a <code>&lt;Context&gt;</code> deployment description.</li>
+<li>List the available security roles defined in the user database.</li>
+<li>Start a stopped application (thus making it available again).</li>
+<li>Stop an existing application (so that it becomes unavailable), but
+    do not undeploy it.</li>
+<li>Undeploy a deployed web application and delete its document base
+    directory (unless it was deployed from file system).</li>
+</ul>
+
+<p>There are two ways to configure the Manager web application
+<code>Context</code>:
+<ul>
+<li>Install the <code>manager.xml</code> context configuration file
+    in the <code>$CATALINA_HOME/conf/[enginename]/[hostname]</code> folder.
+</li>
+<li>Configure the Manager <code>Context</code> within the
+    <code>Host</code> configuration in your Tomcat <code>server.xml</code>
+    configuration. Here is an example:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+&lt;/Context&gt;
+</pre>
+</li>
+</ul>
+</p>
+
+<p>If you have Tomcat configured to support multiple virtual hosts
+(websites) you would need to configure a Manager for each.</p>
+
+<p>There are three ways to use the <code>Manager</code> web application.
+<ul>
+<li>As an application with a user interface you use in your browser.
+Here is an example URL where you can replace <code>localhost</code> with
+your website host name:  <code>http://localhost/manager/html/</code> .</li>
+<li>A minimal version using HTTP requests only which is suitable for use
+by scripts setup by system administrators.  Commands are given as part of the
+request URI, and responses are in the form of simple text that can be easily
+parsed and processed.  See <a href="#Supported Manager Commands">
+Supported Manager Commands</a> for more information.</li>
+<li>A convenient set of task definitions for the <em>Ant</em>
+(version 1.4 or later) build tool.  See
+<a href="#Executing Manager Commands With Ant">Executing Manager Commands
+With Ant</a> for more information.</li>
+</ul>
+</p>
+
+<p>Future versions of Tomcat 5 will include administrative functionality that
+is presented in (at least) the following forms:
+<ul>
+<li>As web services, so that Tomcat administration can be easily integrated
+    into remote and/or non-Java mnagement environments.</li>
+<li>As a web application with a nice user interface (built on top of the
+    web services processing layer) for easy Tomcat administration via a
+    web browser.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Manager Application Access"><strong>Configuring Manager Application Access</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+anyone on the Internet to execute the Manager application on your server.
+Therefore, the Manager application is shipped with the requirement that anyone
+who attempts to use it must authenticate themselves, using a username and
+password that have the role <strong>manager</strong> associated with them.
+Further, there is no username in the default users file
+(<conf>$CATALINA_HOME/conf/tomcat-users.xml</conf>) that is assigned this
+role.  Therefore, access to the Manager application is completely disabled
+by default.</p>
+
+<p>To enable access to the Manager web application, you must either create
+a new username/password combination and associate the role name
+<strong>manager</strong> with it, or add the <strong>manager</strong> role
+to some existing username/password combination.  Exactly where this is done
+depends on which <code>Realm</code> implementation you are using:</p>
+<ul>
+<li><em>MemoryRealm</em> - If you have not customized your
+    <code>$CATALINA_HOME/conf/server.xml</code> to select a different one,
+    Tomcat 5 defaults to an XML-format file stored at
+    <code>$CATALINA_HOME/conf/tomcat-users.xml</code>, which can be
+    edited with any text editor.  This file contains an XML
+    <code>&lt;user&gt;</code> for each individual user, which might
+    look something like this:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;user name="craigmcc" password="secret" roles="standard,manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which defines the username and password used by this individual to
+    log on, and the role names he or she is associated with.  You can
+    add the <strong>manager</strong> role to the comma-delimited
+    <code>roles</code> attribute for one or more existing users, and/or
+    create new users with that assigned role.</li>
+<li><em>JDBCRealm</em> - Your user and role information is stored in
+    a database accessed via JDBC.  Add the <strong>manager</strong> role
+    to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+<li><em>JNDIRealm</em> - Your user and role information is stored in
+    a directory server accessed via LDAP.  Add the <strong>manager</strong>
+    role to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+</ul>
+
+<p>The first time you attempt to issue one of the Manager commands
+described in the next section, you will be challenged to log on using
+BASIC authentication.  The username and password you enter do not matter,
+as long as they identify a valid user in the users database who possesses
+the role <strong>manager</strong>.</p>
+
+<p>In addition to the password restrictions the manager web application
+could be restricted by the remote IP address or host by adding a
+<code>RemoteAddrValve</code> or <code>RemoteHostValve</code>.  Here is
+an example of restricting access to the localhost by IP address:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+         &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+                allow="127.0.0.1"/&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Manager Commands"><strong>Supported Manager Commands</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>All commands that the Manager application knows how to process are
+specified in a single request URI like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://{host}:{port}/manager/{command}?{parameters}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
+and port number on which Tomcat is running, <code>{command}</code>
+represents the Manager command you wish to execute, and
+<code>{parameters}</code> represents the query parameters
+that are specific to that command.  In the illustrations below, customize
+the host and port appropriately for your installation.</p>
+
+<p>Most commands accept one or more of the following query parameters:</p>
+<ul>
+<li><strong>path</strong> - The context path (including the leading slash)
+    of the web application you are dealing with.  To select the ROOT web
+    application, specify "/".  <strong>NOTE</strong> -
+    It is not possible to perform administrative commands on the
+    Manager application itself.</li>
+<li><strong>war</strong> - URL of a web application archive (WAR) file,
+    pathname of a directory which contains the web application, or a
+    Context configuration ".xml" file.  You can use URLs in any of the
+    following formats:
+    <ul>
+    <li><strong>file:/absolute/path/to/a/directory</strong> - The absolute
+        path of a directory that contains the unpacked version of a web
+        application.  This directory will be attached to the context path
+        you specify without any changes.</li>
+    <li><strong>file:/absolute/path/to/a/webapp.war</strong> - The absolute
+        path of a web application archive (WAR) file.  This is valid
+        <strong>only</strong> for the <code>/deploy</code> command, and is
+        the only acceptable format to that command.</li>
+    <li><strong>jar:file:/absolute/path/to/a/warfile.war!/</strong> - The
+        URL to a local web application archive (WAR) file.  You can use any
+        syntax that is valid for the <code>JarURLConnection</code> class
+        for reference to an entire JAR file.</li>
+    <li><strong>file:/absolute/path/to/a/context.xml</strong> - The
+        absolute path of a web application Context configuration ".xml"
+        file which contains the Context configuration element.</li>
+    <li><strong>directory</strong> - The directory name for the web
+        applciation context in the Host's application base directory.</li>
+    <li><strong>webapp.war</strong> - The name of a web application war file
+        located in the Host's application base directory.</li>
+    </ul></li>
+</ul>
+
+<p>Each command will return a response in <code>text/plain</code> format
+(i.e. plain ASCII with no HTML markup), making it easy for both humans and
+programs to read).  The first line of the response wil begin with either
+<code>OK</code> or <code>FAIL</code>, indicating whether the requested
+command was successful or not.  In the case of failure, the rest of the first
+line will contain a description of the problem that was encountered.  Some
+commands include additional lines of information as described below.</p>
+
+<p><em>Internationalization Note</em> - The Manager application looks up
+its message strings in resource bundles, so it is possible that the strings
+have been translated for your platform.  The examples below show the English
+version of the messages.</p>
+
+<blockquote><em>
+<p><strong>WARNING:</strong>  the legacy commands <code>/install</code> and 
+<code>/remove</code> are deprecated.
+They are presently equivalent to <code>/deploy</code> and <code>/undeploy</code>,
+but could be removed in a future release.</p>
+</em></blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application Remotely"><strong>Deploy A New Application Remotely</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Upload the web application archive (WAR) file that is specified as the
+request data in this HTTP PUT request, install it into the <code>appBase</code>
+directory of our corresponding virtual host, and start it on the context path
+specified by the <code>path</code> request parameter.  If no <code>path</code>
+is specified the directory name or the war file name without the .war extension
+is used as the path.  The application can
+later be undeployed (and the corresponding application directory removed)
+by use of the <code>/undeploy</code>.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>URL parameters include:
+<ul>
+<li><code>update</code>: When set to true, any existing update will be
+    undeployed first. The default value is set to false.</li>
+<li><code>tag</code>: Specifying a tag name, this allows associating the
+    deployed webapp with a version number. The application version can
+    be later redeployed when needed using only the tag.</li>
+</ul>
+</p>
+
+<p><strong>NOTE</strong> - This command is the logical
+opposite of the <code>/undeploy</code> command.</p>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application from a Local Path"><strong>Deploy A New Application from a Local Path</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified context
+<code>path</code> (which must not be in use by any other web application).
+This command is the logical opposite of the <code>/undeploy</code> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a version of a previously deployed webapp</h3>
+
+<p>This can be used to deploy a previous version of a web application, which
+has been deployed using the <code>tag</code> attribute. Note that the work
+directory for the manager webapp will contain the previously deployed WARs;
+removing it would make the deployment fail.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;tag=footag
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Deploy a web application directory or ".war" file located on the Tomcat
+server. If no <code>path</code> is specified, the directory name or the war file
+name without the ".war" extension is used as the path. The <code>war</code>
+parameter specifies a URL (including the <code>file:</code> scheme) for either
+a directory or a web application archive (WAR) file. The supported syntax for
+a URL referring to a WAR file is described on the Javadocs page for the
+<code>java.net.JarURLConnection</code> class.  Use only URLs that refer to
+the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>/path/to/foo</code> on the Tomcat server is deployed as the
+web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;war=file:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server is deployed as the web application context named
+<code>/bar</code>. Notice that there is no <code>path</code> parameter
+so the context path defaults to the name of the web application archive
+file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Deploy a web application directory or ".war" file located in your Host
+appBase directory. If no <code>path</code> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a sub directory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/bartoo&amp;war=bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true you can deploy a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The context <code>path</code>
+is not used when deploying a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="/path/to/application/foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>When the optional <code>war</code> parameter is set to the URL
+for a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=file:/path/bar.war&amp;path=/bar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deployment Notes</h3>
+
+<p>If the Host is configured with unpackWARs=true and you deploy a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is installed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from deploying web applications using a configuration XML file and
+also prevents them from deploying application directories or ".war"
+files located outside of their Host appBase.</p>
+
+
+<h3>Deploy Response</h3>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <code>war</code> parameter must identify a
+    directory on this server that contains the "unpacked" version of a
+    web application, or the absolute URL of a web application archive (WAR)
+    file that contains this application.  Correct the value specified by
+    the <code>war</code> parameter.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the directory or web application that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is installed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be installed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to deploy a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Currently Deployed Applications"><strong>List Currently Deployed Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/list
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the context paths, current status (<code>running</code> or
+<code>stopped</code>), and number of active sessions for all currently
+deployed web applications.  A typical response immediately
+after starting Tomcat might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Listed applications for virtual host localhost
+/webdav:running:0
+/examples:running:0
+/manager:running:0
+/:running:0
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload An Existing Application"><strong>Reload An Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/reload?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not reread on a reload.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    deployed directly from a WAR file.  It only works when the web application
+    is deployed from an unpacked directory.  If you are using a WAR file,
+    you should <code>undeploy</code> and then <code>deploy</code> or
+    <code>deploy</code> with the <code>update</code> parameter the
+    application again to pick up your changes.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List OS and JVM Properties"><strong>List OS and JVM Properties</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/serverinfo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the system properties.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Global JNDI Resources"><strong>List Available Global JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/resources[?type=xxxxx]
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the global JNDI resources that are available for use in resource
+links for context configuration files.  If you specify the <code>type</code>
+request parameter, the value must be the fully qualified Java class name of
+the resource type you are interested in (for example, you would specify
+<code>javax.sql.DataSource</code> to acquire the names of all available
+JDBC data sources).  If you do not specify the <code>type</code> request
+parameter, resources of all types will be returned.</p>
+
+<p>Depending on whether the <code>type</code> request parameter is specfied
+or not, the first line of a normal response will be:</p>
+<pre>
+  OK - Listed global resources of all types
+</pre>
+<p>or</p>
+<pre>
+  OK - Listed global resources of type xxxxx
+</pre>
+<p>followed by one line for each resource.  Each line is composed of fields
+delimited by colon characters (":"), as follows:</p>
+<ul>
+<li><em>Global Resource Name</em> - The name of this global JNDI resource,
+    which would be used in the <code>global</code> attribute of a
+    <code>&lt;ResourceLink&gt;</code> element.</li>
+<li><em>Global Resource Type</em> - The fully qualified Java class name of
+    this global JNDI resource.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the global JNDI
+    resources.  Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>No global JNDI resources are available</em>
+    <blockquote>
+    <p>The Tomcat server you are running has been configured without
+    global JNDI resources.</p>
+    </blockquote></li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Security Roles"><strong>List Available Security Roles</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/roles
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>List the security role names (and corresponding descriptions) that are
+available in the <code>org.apache.catalina.UserDatabase</code> resource that
+is linked to the <code>users</code> resource reference in the web.xml file
+for the Manager web application.  This would typically be used, for example,
+by a deployment tool that wanted to create
+<code>&lt;security-role-ref&gt;</code> elements to map security role names
+used in a web application to the role names actually defined within the
+container.</p>
+
+<p>By default, the <code>users</code> resource reference is pointed at the
+global <code>UserDatabase</code> resource.  If you choose to utilize a
+different user database per virtual host, you should modify the
+<code>&lt;ResourceLink&gt;</code> element in the default
+<code>manager.xml</code> context configuration file to point at the global
+user database resource for this virtual host.</p>
+
+<p>When this command is executed, the first line of the response will be:</p>
+<pre>
+  OK - Listed security roles
+</pre>
+<p>followed by one line for each security role.  Each line is composed of
+fields delimited by colon characters (":") as follows:</p>
+<ul>
+<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+    in the user database.</li>
+<li><em>Description</em> - Description of this security role (useful in
+    creating user interfaces for selecting roles.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
+    the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
+    resource.  Check the Tomcat log files for a stack trace associated with
+    this error.</li>
+<li><em>No user database is available</em> - You have not configured a resource
+    reference for the <code>users</code> resource that points at an
+    appropriate user database instance.  Check your <code>manager.xml</code>
+    file and ensure that you have created an appropriate
+    <code>&lt;ResourceLink&gt;</code> or
+    <code>&lt;ResourceParams&gt;</code> element for this resource.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Session Statistics"><strong>Session Statistics</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/sessions?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Display the default session timeout for a web application, and the
+number of currently active sessions that fall within ten-minute ranges of
+their actual timeout times.  For example, after restarting Tomcat and then
+executing one of the JSP samples in the <code>/examples</code> web app,
+you might get something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Session information for application at context path /examples
+Default maximum session inactive interval 30 minutes
+30 - &lt;40 minutes:1 sessions
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start an Existing Application"><strong>Start an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/start?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop an Existing Application"><strong>Stop an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/stop?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy an Existing Application"><strong>Undeploy an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/undeploy?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p><strong><font color="red">WARNING</font> - This command will delete any web 
+application artifacts that exist within <code>appBase</code> directory 
+(typically "webapps") for this virtual host</strong>.
+This will delete the the application .WAR, if present, 
+the application directory resulting either from a deploy in unpacked form 
+or from .WAR expansion as well as the XML Context definition from
+<code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory. 
+If you simply want to take an application
+out of service, you should use the <code>/stop</code> command instead.</p>
+
+<p>Signal an existing application to gracefully shut itself down, and
+remove it from Tomcat (which also makes this context path available for
+reuse later).  In addition, the document root directory is removed, if it
+exists in the <code>appBase</code> directory (typically "webapps") for
+this virtual host.  This command is the logical opposite of the
+<code>/deploy</code> command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Executing Manager Commands With Ant"><strong>Executing Manager Commands With Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In addition to the ability to execute Manager commands via HTTP requests,
+as documented above, Tomcat 5 includes a convenient set of Task definitions
+for the <em>Ant</em> (version 1.4 or later) build tool.  In order to use these
+commands, you must perform the following setup operations:</p>
+<ul>
+<li>Download the binary distribution of Ant from
+    <a href="http://ant.apache.org">http://ant.apache.org</a>.
+    You must use version <strong>1.4</strong> or later.</li>
+<li>Install the Ant distribution in a convenient directory (called
+    ANT_HOME in the remainder of these instructions).</li>
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 5
+    installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
+    </li>
+<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
+    environment variable.</li>
+<li>Configure at least one username/password combination in your Tomcat
+    user database that includes the <code>manager</code> role.</li>
+</ul>
+
+<p>To use custom tasks within Ant, you must declare them first with a
+<code>&lt;taskdef&gt;</code> element.  Therefore, your <code>build.xml</code>
+file might look something like this:</p>
+
+<table border="1">
+<tr><td><pre>
+&lt;project name="My Application" default="compile" basedir="."&gt;
+
+  &lt;!-- Configure the directory into which the web application is built --&gt;
+  &lt;property name="build"    value="${basedir}/build"/&gt;
+
+  &lt;!-- Configure the context path for this application --&gt;
+  &lt;property name="path"     value="/myapp"/&gt;
+
+  &lt;!-- Configure properties to access the Manager application --&gt;
+  &lt;property name="url"      value="http://localhost:8080/manager"/&gt;
+  &lt;property name="username" value="myusername"/&gt;
+  &lt;property name="password" value="mypassword"/&gt;
+
+  &lt;!-- Configure the custom Ant tasks for the Manager application --&gt;
+  &lt;taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/&gt;
+  &lt;taskdef name="list"      classname="org.apache.catalina.ant.ListTask"/&gt;
+  &lt;taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/&gt;
+  &lt;taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/&gt;
+  &lt;taskdef name="roles"     classname="org.apache.catalina.ant.RolesTask"/&gt;
+  &lt;taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/&gt;
+  &lt;taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/&gt;
+  &lt;taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/&gt;
+
+  &lt;!-- Executable Targets --&gt;
+  &lt;target name="compile" description="Compile web application"&gt;
+    &lt;!-- ... construct web application in ${build} subdirectory, and
+            generated a ${path}.war ... --&gt;
+  &lt;/target&gt;
+
+  &lt;target name="deploy" description="Install web application"
+          depends="compile"&gt;
+    &lt;deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="${build}${path}.war"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="reload" description="Reload web application"
+          depends="compile"&gt;
+    &lt;reload  url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="undeploy" description="Remove web application"&gt;
+    &lt;undeploy url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td></tr>
+</table>
+
+<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
+application to a running instance of Tomcat, or <code>ant reload</code> to
+tell Tomcat to reload it.  Note also that most of the interesting values in
+this <code>build.xml</code> file are defined as replaceable properties, so
+you can override their values from the command line.  For example, you might
+consider it a security risk to include the real manager password in your
+<code>build.xml</code> file's source code.  To avoid this, omit the password
+property, and specify it from the command line:</p>
+<pre>
+  ant -Dpassword=secret deploy
+</pre>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tasks output capture"><strong>Tasks output capture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using <em>Ant</em> version <strong>1.6.2</strong> or later,
+the Catalina tasks offer the option to capture their output in 
+properties or external files. They support directly the following subset of the 
+<code>&lt;redirector&gt;</code> type attributes:
+</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">output</td>
+<td valign="top">Name of a file to which to write the output. If
+the error stream is not also redirected to a file or property, it will
+appear in this output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">error</td>
+<td valign="top">The file to which the standard error of the
+command should be redirected.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">logError</td>
+<td valign="top">This attribute is used when you wish to see
+error output in Ant's log and you are redirecting output to a
+file/property. The error output will not be included in the output
+file/property. If you redirect error with the <i>error</i> or <i>errorProperty</i>
+attributes, this will have no effect.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">append</td>
+<td valign="top">Whether output and error files should be
+appended to or overwritten. Defaults to <code>false</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">createemptyfiles</td>
+<td valign="top">Whether output and error files should be created
+even when empty. Defaults to <code>true</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">outputproperty</td>
+<td valign="top">The name of a property in which the output of
+the command should be stored. Unless the error stream is redirected to
+a separate file or stream, this property will include the error output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">errorproperty</td>
+<td valign="top">The name of a property in which the standard
+error of the command should be stored.</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>A couple of additional attributes can also be specified:
+</p>
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">alwaysLog</td>
+<td valign="top">This attribute is used when you wish to see the
+output you are capturing, appearing also in the Ant's log. It must not be
+used unless you are capturing task output.
+Defaults to <code>false</code>.
+<em>This attribute will be supported directly by <code>&lt;redirector&gt;</code>
+in Ant 1.6.3</em></td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">failonerror</td>
+<td valign="top">This attribute is used when you wish to avoid that
+any manager command processing error terminates the ant execution. Defaults to <code>true</code>.
+It must be set to <code>false</code>, if you want to capture error output,
+otherwise execution will terminate before anything can be captured.
+<br>
+This attribute acts only on manager command execution,
+any wrong or missing command attribute will still cause Ant execution termination.
+</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>They also support the embedded <code>&lt;redirector&gt;</code> element
+in which you can specify
+its full set of attributes, but <code>input</code>, <code>inputstring</code> and 
+<code>inputencoding</code> that, even if accepted, are not used because they have
+no meaning in this context.
+Refer to <a href="http://ant.apache.org">ant manual</a> for details on 
+<code>&lt;redirector&gt;</code> element attributes.
+</p>
+
+<p>
+Here is a sample build file extract that shows how this output redirection support
+can be used:
+</p>
+
+<table border="1">
+<tr><td><pre>
+	&lt;target name="manager.deploy"
+		depends="context.status"
+		if="context.notInstalled"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			path="${mgr.context.path}"
+			config="${mgr.context.descriptor}"/&gt;
+	&lt;/target&gt;
+
+	&lt;target name="manager.deploy.war"
+		depends="context.status"
+		if="context.deployable"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			update="${mgr.update}"
+			path="${mgr.context.path}"
+			war="${mgr.war.file}"/&gt;
+	&lt;/target&gt;
+	
+	&lt;target name="context.status"&gt;
+		&lt;property name="running" value="${mgr.context.path}:running"/&gt;
+		&lt;property name="stopped" value="${mgr.context.path}:stopped"/&gt;
+	
+		&lt;list url="${mgr.url}"
+			outputproperty="ctx.status"
+			username="${mgr.username}"
+			password="${mgr.password}"&gt;
+		&lt;/list&gt;
+		
+		&lt;condition property="context.running"&gt;
+			&lt;contains string="${ctx.status}" substring="${running}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.stopped"&gt;
+			&lt;contains string="${ctx.status}" substring="${stopped}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.notInstalled"&gt;
+			&lt;and&gt;
+				&lt;isfalse value="${context.running}"/&gt;
+				&lt;isfalse value="${context.stopped}"/&gt;
+			&lt;/and&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.deployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.notInstalled}"/&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.running}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.stopped}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.undeployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.running}"/&gt;
+				&lt;istrue value="${context.stopped}"/&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+	&lt;/target&gt;
+</pre></td></tr>
+</table>
+
+<p><strong>WARNING:</strong> even if it doesn't make many sense, and is always a bad idea,
+calling a Catalina task more than once,
+badly set Ant tasks depends chains may cause that a task be called
+more than once in the same Ant run, even if not intended to. A bit of caution should be exercised when you are
+capturing output from that task, because this could lead to something unexpected:
+<ul>
+<li>when capturing in a property you will find in it only the output from the <em>first</em> call, because
+Ant properties are immutable and once set they cannot be changed,
+</li>
+<li>when capturing in a file, each run will overwrite it and you will find in it only the <em>last</em> call
+output, unless you are using the <code>append="true"</code> attribute, in which case you will
+see the output of each task call appended to the file.
+</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JMX Proxy Servlet"><strong>Using the JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is JMX Proxy Servlet"><strong>What is JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+    The JMX Proxy Servlet is a lightweight proxy to get and set the
+    tomcat internals. (Or any class that has been exposed via an MBean)
+    Its usage is not very user friendly but the UI is
+    extremely help for integrating command line scripts for monitoring
+    and changing the internals of tomcat. You can do two things with the proxy:
+    get information and set information. For you to really understand the
+    JMX Proxy Servlet, you should have a general understanding of JMX.
+    If you don't know what JMX is, then prepare to be confused.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Query command"><strong>JMX Query command</strong></a></font></td></tr><tr><td><blockquote>
+    This takes the form:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?qry=STUFF
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    Where <code>STUFF</code> is the JMX query you wish to perform. For example,
+    here are some queries you might wish to run:
+    <ul>
+      <li>
+        <code>qry=*%3Atype%3DRequestProcessor%2C* --&gt;
+         type=RequestProcessor</code> which will locate all
+         workers which can process requests and report
+         their state.
+      </li>
+      <li>
+        <code>qry=*%3Aj2eeType=Servlet%2c* --&gt;
+            j2eeType=Servlet</code> which return all loaded servlets.
+      </li>
+      <li>
+        <code>qry=Catalina%3Atype%3DEnvironment%2Cresourcetype%3DGlobal%2Cname%3DsimpleValue --&gt;
+            Catalina:type=Environment,resourcetype=Global,name=simpleValue</code>
+            which look for a specific MBean by the given name.
+      </li>
+    </ul>
+    You'll need to experiment with this to really understand its capabilites.
+    If you provide no <code>qry</code> parameter, then all of the MBeans will
+    be displayed. We really recommend looking at the tomcat source code and
+    understand the JMX spec to get a better understanding of all the queries
+    you may run.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Set command"><strong>JMX Set command</strong></a></font></td></tr><tr><td><blockquote>
+    Now that you can query an MBean, its time to muck with Tomcat's internals!
+    The general form of the set command is :
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?set=BEANNAME&amp;att=MYATTRIBUTE&amp;val=NEWVALUE
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    So you need to provide 3 request parameters:
+    <ol>
+      <li><code>set</code>: The full bean name</li>
+      <li><code>att</code>: The attribute you wish to alter</li>
+      <li><code>val</code>: The new value </li>
+    </ol>
+    If all goes ok, then it will say OK, otherwise an error message will be
+    shown. For example, lets say we wish to turn up debugging on the fly for the
+    <code>ErrorReportValve</code>. The following will set debugging to 10.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=10
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    and my result is (YMMV):
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Result: ok
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    Here is what I see if I pass in a bad value. Here is the URL I used,
+    I try set debugging equal to 'cowbell':
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=cowbell
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    When I try that, my result is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Error: java.lang.NumberFormatException: For input string: "cowbell"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/mbeans-descriptor-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/mbeans-descriptor-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/mbeans-descriptor-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - MBean Descriptor How To</title><meta value="Amy Roh" name="author"><meta value="amyroh at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>MBean Descriptor How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/mbeans-descriptor-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5 uses JMX MBeans as the technology for implementing 
+manageability of Tomcat.</p>
+
+<p>The descriptions of JMX MBeans for Catalina are in the mbeans-descriptor.xml 
+file in each package.</p>
+
+<p>You will need to add MBean descriptions for your custom components 
+in order to avoid a "ManagedBean is not found" exception.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding MBean descriptions"><strong>Adding MBean descriptions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>You may also add MBean descriptions for custom components in 
+a mbeans-descriptor.xml file, located in the same package as the class files
+it describes.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;mbean         name="LDAPRealm"
+            className="org.apache.catalina.mbeans.ClassNameMBean"
+          description="Custom LDAPRealm"
+               domain="Catalina"
+                group="Realm"
+                 type="com.myfirm.mypackage.LDAPRealm"&gt;
+
+    &lt;attribute   name="className"
+          description="Fully qualified class name of the managed object"
+                 type="java.lang.String"
+            writeable="false"/&gt;
+
+    &lt;attribute   name="debug"
+          description="The debugging detail level for this component"
+                 type="int"/&gt;
+    .
+    .
+    .
+
+  &lt;/mbean&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/monitoring.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/monitoring.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/monitoring.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1086 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Monitoring and Managing Tomcat</title><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Monitoring and Managing Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/monitoring.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Monitoring is a very important question today. Looking inside the running
+        server, grab some statistic data or reconfigure some aspects are 
+        daliy adminstration tasks.</p>  
+  
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Enabling JMX Remote"><strong>Enabling JMX Remote</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The Sun website includes the list of options and how to configure JMX Remote on Java 5:
+        <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html">
+        http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html</a>.
+    </p>
+    <p>For quick installation you find here a short installation guide:</p>
+    <p>Add the following parameters to your tomcat startup script:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    set CATALINA_OPTS="-Dcom.sun.management.jmxremote \
+    -Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+    -Dcom.sun.management.jmxremote.ssl=false \
+    -Dcom.sun.management.jmxremote.authenticate=false"
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </p>
+    <p>
+    <ol>
+    <li>When you think authorisation is a good, add and change this :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    -Dcom.sun.management.jmxremote.authenticate=true \
+    -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
+    -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the access allow file <em>$CATALINA_BASE/conf/jmxremote.access</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole readonly
+controlRole readwrite
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the password file <em>$CATALINA_BASE/conf/jmxremote.password</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole tomcat
+controlRole tomcat
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <b>Tipp</b>: Password File must be readonly and not accessable from every 
+    other user! Remove all other users under windows to access this file.
+    </li>
+    </ol>
+    <b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
+    when you have installed a local firewall.  However, there is at least one possible
+    workaround: using a custom JMXConnectorServer.  The code for this is available
+    at <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39055">Bugzilla 39055</a>.
+    </p>
+    <p>Activate JMX MX4J Http Adaptor with Java 1.4:
+    <ol>
+      <li>Install the tomcat compat package</li>
+      <li>Install the mx4j-tools.jar at common/lib. Please, use the same MX4j 
+          version as your tomcat release</li>
+      <li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector
+      <p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;Connector port="${AJP.PORT}" 
+            handler.list="mx" 
+            mx.enabled="true" 
+            mx.httpHost="${JMX.HOST}"
+            mx.httpPort="${JMX.PORT}"
+            protocol="AJP/1.3" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      </p>
+      <p><b>Tipp</b>: With <em>${AJP.PORT}=0</em> no ajp connection where started. 
+      </p>
+      <p><b>Note</b>: MX4J JSR 160 RMI Adaptor to support JDK 1.4 currently not integrated.
+      </p>
+      </li>
+      <li>Start your tomcat and look with a browser at http://${JMX.HOST}:${JMX.PORT}</li>
+      <li>With the mx connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> 
+          you can control the access!</li>
+      <li>A complete list of all tomcat core MBeans can you find at <a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/mbean-names.html">
+        http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/mbean-names.html</a>.</li>
+    </ol>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manage Tomcat with JMX remote Ant Tasks"><strong>Manage Tomcat with JMX remote Ant Tasks</strong></a></font></td></tr><tr><td><blockquote>
+   <p>For simple tomcat ant task usage with ant 1.6.x we have integrate import and antlib support.</p>   
+   <p><b>antlib</b>Copy your catalina-ant.jar from $CATALINA_HOME/server/lib to $ANT_HOME/lib.</p>
+   <p>Following example show the JMX Accessor usage:</p>
+   <table border="1">
+   <tr><td><p><pre>
+&lt;project name="Catalina Ant JMX" 
+        xmlns:jmx="antlib:org.apache.catalina.ant.jmx" 
+        default="state"
+        basedir="."&gt;
+    &lt;property name="jmx.server.name" value="localhost" /&gt;
+    &lt;property name="jmx.server.port" value="9012" /&gt;
+    &lt;property name="cluster.server.address" value="192.168.1.75" /&gt;
+    &lt;property name="cluster.server.port" value="9025" /&gt;
+ 
+    &lt;target name="state" description="Show JMX Cluster state"&gt;
+        &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+            username="controlRole"
+            password="tomcat"/&gt;
+        &lt;jmx:get
+            name="Catalina:type=IDataSender,host=localhost,senderAddress=${cluster.server.address},senderPort=${cluster.server.port}" 
+            attribute="connected"
+            resultproperty="IDataSender.backup.connected"
+            echo="false"
+        /&gt;
+       &lt;jmx:get
+            name="Catalina:type=ClusterSender,host=localhost" 
+            attribute="senderObjectNames"
+            resultproperty="senderObjectNames"
+            echo="false"
+        /&gt;
+        &lt;!-- get current maxActiveSession from ClusterTest application
+             echo it to ant output and store at 
+             property &lt;em&gt;clustertest.maxActiveSessions.orginal&lt;/em&gt;
+        --&gt;
+       &lt;jmx:get
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            resultproperty="clustertest.maxActiveSessions.orginal"
+            echo="true"
+        /&gt;
+        &lt;!-- set maxActiveSession to 100
+        --&gt;
+        &lt;jmx:set
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            value="100"
+            type="int"
+        /&gt;
+        &lt;!-- get all sessions and split result as delimiter &lt;em&gt;SPACE&lt;/em&gt; for easy
+             access all session ids directly with ant property sessions.[0..n].
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="listSessionIds"
+            resultproperty="sessions"
+            echo="false"
+            delimiter=" "
+        /&gt;
+        &lt;!-- Access session attribute &lt;em&gt;Hello&lt;/em&gt; from first session.
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="getSessionAttribute"
+            resultproperty="Hello"
+            echo="false"
+        &gt;
+          &lt;arg value="${sessions.0}"/&gt;
+          &lt;arg value="Hello"/&gt;
+        &lt;/jmx:invoke&gt; 
+        &lt;!-- Query for all application manager.of the server from all hosts
+             and bind all attributes from all found manager mbeans.
+        --&gt;
+        &lt;jmx:query
+            name="Catalina:type=Manager,*" 
+            resultproperty="manager"
+            echo="true"
+            attributebinding="true"
+        /&gt;
+        &lt;!-- echo the create properties --&gt;
+        &lt;echo&gt;
+           senderObjectNames: ${senderObjectNames.0}
+           IDataSender.backup.connected: ${IDataSender.backup.connected}
+           session: ${sessions.0}
+           manager.length: ${manager.length}
+           manager.0.name: ${manager.0.name}
+           manager.1.name: ${manager.1.name}
+           hello: ${Hello}
+           manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
+           manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
+           manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED: ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
+           manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS: ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}
+        &lt;/echo&gt;   
+
+    &lt;/target&gt;
+ 
+&lt;/project&gt;
+   </pre></p>
+   </td></tr>
+</table>
+   <p><b>import:</b> Import the JMX Accessor Projekt with 
+   <em>&lt;import file="${CATALINA.HOME}/bin/jmxaccessor-tasks.xml" /&gt;</em> and
+   reference the tasks with <em>jmxOpen</em>, <em>jmxSet</em>, <em>jmxGet</em>,
+    <em>jmxQuery</em>, <em>jmxInvoke</em>,<em>jmxEquals</em> and <em>jmxCondition</em>. </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorOpenTask - jmx open connection task"><strong>JMXAccessorOpenTask - jmx open connection task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo the command usage (for analyse access or debugging)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to open a new jmx connection<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference, but only when property <em>jmx.if</em> exists and 
+<em>jmx.unless</em> not exists<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+            if="jmx.if"    
+            unless="jmx.unless"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p> 
+<p><b>Note</b>: All properties from <em>jmxOpen</em> task also exists at all 
+other tasks and conditions. 
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorGetTask:  get attribute value ant task"><strong>JMXAccessorGetTask:  get attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get remote mbean attribute from default jmx connection <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        resultproperty="servlets-examples.maxActiveSessions"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to get and result array and split it at separate properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=ClusterSender,host=localhost" 
+        attribute="senderObjectNames"
+        resultproperty="senderObjectNames"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Access the senderObjectNames properties with:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    ${senderObjectNames.lenght} give the number of returned sender list.
+    ${senderObjectNames.[0..N]} found all sender object names
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to get IDataSender attribute connected only when cluster is configured.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;jmx:query
+    failonerror="false"
+    name="Catalina:type=Cluster,host=${tomcat.application.host}"
+    resultproperty="cluster"
+/&gt;
+&lt;jmx:get
+    name="Catalina:type=IDataSender,host=${tomcat.application.host},senderAddress=${cluster.backup.address},senderPort=${cluster.backup.port}" 
+    attribute="connected"
+    resultproperty="datasender.connected"
+    if="cluster.0.name" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorSetTask:  set attribute value ant task"><strong>JMXAccessorSetTask:  set attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value</td>
+    <td>value that set to attribute 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>type of the attribute.
+    </td>
+    <td>java.lang.String</td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to set remote mbean attribute value<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        value="500"
+        type="int"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Examples to set multiple remote mbean attributes<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="java.lang:type=Threading"&gt; 
+			 &lt;arg name="ThreadContentionMonitoringEnabled" value="true" type="boolean"/&gt;
+			 &lt;arg name="ThreadCpuTimeEnabled" value="false" type="boolean"/&gt;
+    &lt;/jmx:set&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorInvokeTask:  invoke Mbean operation ant task"><strong>JMXAccessorInvokeTask:  invoke Mbean operation ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td>Existing Mbean operation (see Tomcat 
+        <a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/fs-admin-opers.html">
+        http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/fs-admin-opers.html</a>.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+stop an application <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="stop"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get all sessionids <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="listSessionIds"
+        resultproperty="sessions"
+        delimiter=" "        
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get remote mbean session attribute from session ${sessionid.0}<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+        operation="getSessionAttribute"
+        resultproperty="hello"&gt;
+         &lt;arg value="${sessionid.0}"/&gt;
+         &lt;arg value="Hello" /&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+Example to create a new access logger valve at vhost <em>localhost</em>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ &lt;jmx:invoke
+         name="Catalina:type=MBeanFactory" 
+         operation="createAcccesLoggerValve"
+         resultproperty="acccesLoggerObjectName"
+ &gt;
+     &lt;arg value="Catalina:type=Host,host=localhost"/&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find new Mbean with name stored at <em>${acccesLoggerObjectName}</em>
+proeprty.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorQueryTask:  query Mbean ant task"><strong>JMXAccessorQueryTask:  query Mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>JMX  ObjectName query string -- <em>Catalina:type=Manager,*</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Prefix project property name to all founded Mbeans (<em>mbeans.[0..N].objectname</em>)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attributebinduing</td>
+    <td>bind ALL MBean attributes in addition to <em>name</em>
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Get all Manager ObjectNames from all services and Hosts <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,* 
+           resultproperty="manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the Session Manager at <em>${manager.[0..N].name}</em> 
+properties and access the result object counter with ${manager.length} property.
+</p>  
+<p>
+Example to get the Manager from <em>servlet-examples</em> application an bind all mbean properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,path=/servlet-examples,host=localhost*" 
+           attributebinding="true"
+           resultproperty="manager.servletExamples" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find the manager at <em>${manager.servletExamples.0.name}</em> property
+and can access all properties from this manager with <em>${manager.servletExamples.0.[manager attribute names]</em>}.
+The result object counter from MBeans is stored ad ${manager.length} property.
+</p>  
+
+<p>
+Example to get all MBeans from a server and store inside an external xml property file<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="jmx.query"         
+            xmlns:jmx="antlib:org.apache.catalina.ant.jmx"
+            default="query-all" basedir="."&gt;
+&lt;property name="jmx.host" value="localhost"/&gt;
+&lt;property name="jmx.port" value="8050"/&gt;
+&lt;property name="jmx.username" value="controlRole"/&gt;
+&lt;property name="jmx.password" value="tomcat"/&gt;
+
+&lt;target name="query-all" description="Query all MBeans of a server"&gt;
+&lt;!-- Configure connection --&gt;
+&lt;jmx:open 
+    host="${jmx.host}"
+    port="${jmx.port}"
+    ref="jmx.server"
+    username="${jmx.username}"
+    password="${jmx.password}"/&gt;
+&lt;!-- Query MBean list --&gt;
+&lt;jmx:query 
+    name="*:*"
+    resultproperty="mbeans"
+    attributebinding="false"/&gt;
+    
+&lt;echoproperties
+    destfile="mbeans.properties"
+    prefix="mbeans."
+    format="xml"/&gt;
+    
+&lt;!-- Print results --&gt;
+&lt;echo
+    message="Number of MBeans in server ${jmx.host}:${jmx.port} is ${mbeans.length}"/&gt;
+&lt;/target&gt;
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+Now you can find all MBeans inside the file <em>mbeans.properties</em>.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCreateTask:  remote create mbean ant task"><strong>JMXAccessorCreateTask:  remote create mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>className</td>
+    <td>Existing MBean full qualified classname (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>classLoader</td>
+    <td>ObjectName of server or web application classloader <br>
+    ( <em>Catalina:type=ServerClassLoader,name=[server,common,shared]</em> or<br>
+     <em>Catalina:type=WebappClassLoader,path=/myapps,host=localhost</em>) 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to create remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:create
+             ref="${jmx.reference}"
+             name="Catalina:type=MBeanFactory"
+             className="org.apache.commons.modeler.BaseModelMBean"
+             classLoader="Catalina:type=ServerClassLoader,name=server"&gt;             
+             &lt;Arg value="org.apache.catalina.mbeans.MBeanFactory" /&gt;
+    &lt;/jmx:create&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really create and connect with <br>
+    the parent. The valve, cluster or realm Mbeans are not autconnect with there parent.<br> 
+    Use <em>MBeanFacrory</em> create operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorUnregisterTask:  remote unregister mbean ant task"><strong>JMXAccessorUnregisterTask:  remote unregister mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to unregister remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:unregister
+        name="Catalina:type=MBeanFactory" 
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really unregister. <br>
+    The Mbeans are not deregister from parent. Use <em>MBeanFacrory</em> <br>
+    remove operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCondition:  express condition"><strong>JMXAccessorCondition:  express condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection reference. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value (requiered)</td>
+    <td>Second arg for operation
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>Value type to express operation (support <em>long</em> and <em>double</em>)
+    </td>
+    <td><code>long</code></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td> express one 
+    <ul>
+    <li>==  equals</li>
+    <li>!=  not equals</li>
+    <li>&gt; greater than (&amp;gt;)</li>
+    <li>&gt;= greater than or equals (&amp;gt;=)</li>
+    <li>&lt; lesser than (&amp;lt;)</li>
+    <li>&lt;= lesser than or equals (&amp;lt;=)</li>
+    </ul>         
+    </td>
+    <td><code>==</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:condition
+                    operation="==" 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorEqualsCondition:  equals Mbean ant condition"><strong>JMXAccessorEqualsCondition:  equals Mbean ant condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:equals 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/apr.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/apr.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/apr.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,275 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Apache Portable Runtime and Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Apache Portable Runtime and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+      Tomcat can use the <a href="http://apr.apache.org/">Apache Portable Runtime</a> to 
+      provide superior scalability, performance, and better integration with native server 
+      technologies. The Apache Portable Runtime is a highly portable library that is at 
+      the heart of Apache HTTP Server 2.x. APR has many uses, including access to advanced IO
+      functionality (such as sendfile, epoll and OpenSSL), OS level functionality (random number
+      generation, system status, etc), and native process handling (shared memory, NT
+      pipes and Unix sockets).
+  </p>
+  
+  <p>
+      These features allows making Tomcat a general purpose webserver, will enable much better 
+      integration with other native web technologies, and overall make Java much more viable as
+      a full fledged webserver platform rather than simply a backend focused technology.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      APR support requires three main native components to be installed:
+      <ul>
+        <li>APR library</li>
+        <li>JNI wrappers for APR used by Tomcat (libtcnative)</li>
+        <li>OpenSSL libraries</li>
+      </ul>
+    </p>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Windows binaries are provided for tcnative-1, which is a statically compiled .dll which includes
+      OpenSSL and APR. It can be downloaded from <a href="http://tomcat.heanet.ie/native/">here</a>
+      as 32bit or AMD x86-64 binaries.
+      In security conscious production environments, it is recommended to use separate shared dlls
+      for OpenSSL, APR, and libtcnative-1, and update them as needed according to security bulletins.
+      Windows OpenSSL binaries are linked from the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a> (see related/binaries).
+    </p>
+    
+    </blockquote></td></tr></table>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Linux"><strong>Linux</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      Most Linux distributions will ship packages for APR and OpenSSL. The JNI wrapper (libtcnative) will 
+      then have to be compiled. It depends on APR, OpenSSL, and the Java headers.
+    </p>
+    
+    <p>
+      Requirements:
+      <ul>
+        <li>APR 1.2+ development headers (libapr1-dev package)</li>
+        <li>OpenSSL 0.9.7+ development headers (libssl-dev package)</li>
+        <li>JNI headers from Java compatible JDK 1.4+</li>
+        <li>GNU development environment (gcc, make)</li>
+      </ul>
+    </p>
+    
+    <p>
+      The wrapper library sources are located in the Tomcat binary bundle, in the 
+      <code>bin/tomcat-native.tar.gz</code> archive.
+      Once the build environment is installed and the source archive is extracted, the wrapper library 
+      can be compiled using (from the folder containing the configure script):
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>./configure &amp;&amp; make &amp;&amp; make install</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Components"><strong>APR Components</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    Once the libraries are properly installed and available to Java (if loading fails, the library path
+    will be displayed), the Tomcat connectors will automatically use APR. Configuration of the connectors
+    is similar to the regular connectors, but have a few extra attributes which are used to configure
+    APR components. Note that the defaults should be well tuned for most use cases, and additional
+    tweaking shouldn't be required.
+  </p>
+
+  <p>
+    When APR is enabled, the following features are also enabled in Tomcat:
+    <ul>
+      <li>Secure session ID generation by default on all platforms (platforms other than Linux required
+          random number generation using a configured entropy)</li>
+      <li>OS level statistics on memory usage and CPU usage by the Tomcat process are displayed by
+          the status servlet</li>
+    </ul>
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="APR Connectors Configuration"><strong>APR Connectors Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTP connector will use sendfile for hadling large static files (all such
+      files will be sent ansychronously using high performance kernel level calls), and will use 
+      a socket poller for keepalive, increasing scalability of the server.
+    </p>
+
+    <p>
+      The following attributes are supported in the HTTP APR connector in addition to the ones supported
+      in the regular HTTP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>firstReadTimeout</code></td><td valign="center" align="left">
+      <p>The first read of a request will be made using the specified timeout. If no data is available
+      after the specified time, the socket will be placed in the poller. The value of this attribute is
+      in ms. Setting this value to 0 or -1 will
+      increase scalability by always using a poller to handle keepalive, but will have a minor impact 
+      on latency (see the related pollTime attribute). The difference is that with 0, the first read of
+      a request will be made using a short timeout, while with -1, the first read will be made using the
+      regular socket timeout that is configured on the connector. Setting this to -2 will cause
+      the connector to not use the poller for keepalive in most situations, emulating the behavior of
+      the java.io HTTP connector.
+      The default value is -1. Note: on Windows, the actual value of firstReadTimeout will
+      be 500 + the specified value, if the specified value is strictly positive.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr><tr><td valign="center" align="left"><code>useSendfile</code></td><td valign="center" align="left">
+      <p>Use kernel level sendfile for certain static files. The default value is true.</p>
+    </td></tr><tr><td valign="center" align="left"><code>sendfileSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for sending static files asynchronously can hold 
+      at a given time. Extra connections will be closed right away without any data being sent 
+      (resulting in a zero length file on the client side). Note that in most cases, sendfile is a call
+      that will return right away (being taken care of "synchonously" by the kernel), and the sendfile
+      poller will not be used, so the amount of static files which can be sent concurrently is much larger
+      than the specified amount. The default value is 1024.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTPS"><strong>HTTPS</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the HTTPS connector will use a socket poller for keepalive, increasing 
+      scalability of the server. It also uses OpenSSL, which may be more optimized than JSSE depending
+      on the processor being used, and can be complemented with many commercial accelerator components.
+      Unlike the HTTP connector, the HTTPS connector cannot use sendfile to optimize static file
+      processing.
+    </p>
+
+    <p>
+      The HTTPS APR connector has the same basic attributes than the HTTP APR connector, but adds 
+      OpenSSL specific ones. For the full details on using OpenSSL, please refer to OpenSSL documentations
+      and the many books available for it (see the <a href="http://www.openssl.org">Official OpenSSL 
+      website</a>). The SSL specific attributes for the connector are:
+    </p>
+    
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>SSLEngine</code></td><td valign="center" align="left">
+    <p>
+      Name of the SSLEngine to use. off: Do not use SSL, on: Use SSL but no specific ENGINE.
+      The default value is off.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLProtocol</code></td><td valign="center" align="left">
+    <p>
+      Protocol which may be used for communicating with clients. The default is "all", with
+      other acceptable values being "SSLv2", "SSLv3", "TLSv1", and "SSLv2+SSLv3".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCipherSuite</code></td><td valign="center" align="left">
+    <p>
+      Ciphers which may be used for communicating with clients. The default is "ALL", with
+      other acceptable values being a list of ciphers, with ":" used as the delimiter
+      (see OpenSSL documentation for the list of ciphers supported).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><strong><code>SSLCertificateFile</code></strong></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server certificate. The format is PEM-encoded.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateKeyFile</code></td><td valign="center" align="left">
+    <p>
+      Name of the file that contains the server private key. The format is PEM-encoded.
+      The default value is the value of "SSLCertificateFile" and in this case both certificate
+      and private key have to be in this file (NOT RECOMMENDED).
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLPassword</code></td><td valign="center" align="left">
+    <p>
+      Pass phrase for the encrypted private key. If "SSLPassword" is not provided, the callback fonction
+      should prompt for the pass phrase.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyClient</code></td><td valign="center" align="left">
+    <p>
+      Ask client for certificate. The default is "none", meaning the client will not have the opportunity
+      to submit a certificate. Other acceptable values include "optional", "require" and "optionalNoCA".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLVerifyDepth</code></td><td valign="center" align="left">
+    <p>
+      Maximum verification depth for client certificates. The default is "10".
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificateFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatefile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCACertificatePath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcacertificatepath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCertificateChainFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatechainfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationFile</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationfile">the mod_ssl documentation</a>.
+    </p>
+    </td></tr><tr><td valign="center" align="left"><code>SSLCARevocationPath</code></td><td valign="center" align="left">
+    <p>
+      See <a href="http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcarevocationpath">the mod_ssl documentation</a>.
+    </p>
+    </td></tr></table>
+    
+    <p>
+    An example SSL Connector declaration can be:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Connector port="443" maxHttpHeaderSize="8192"
+               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
+               enableLookups="false" disableUploadTimeout="true"
+               acceptCount="100" scheme="https" secure="true"
+               SSLEngine="on" 
+               SSLCertificateFile="${catalina.base}/conf/localhost.crt"
+               SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" /&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    </blockquote></td></tr></table>
+	
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      When APR is enabled, the AJP connector will use a socket poller for keepalive, increasing 
+      scalability of the server. As AJP is designed around a pool of persistent (or almost
+      persistent) connections, this will reduce significantly the amount of processing threads 
+      needed by Tomcat. Unlike the HTTP connector, the AJP connector cannot use sendfile to optimize
+      static file processing.
+    </p>
+
+    <p>
+      The following attributes are supported in the AJP APR connector in addition to the ones supported
+      in the regular AJP connector:
+    </p>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>firstReadTimeout</code></td><td valign="center" align="left">
+      <p>The first read of a request will be made using the specified timeout. If no data is available
+      after the specified time, the socket will be placed in the poller. The value of this attribute is
+      in ms. Setting this value to 0 or -1 will
+      increase scalability by always using a poller to handle keepalive, but will have a minor impact 
+      on latency (see the related pollTime attribute). The difference is that with 0, the first read of
+      a request will be made using a short timeout, while with -1, the first read will be made using the
+      regular socket timeout that is configured on the connector. Setting this to -2 will cause
+      the connector to not use the poller for keepalive in most situations, emulating the behavior of
+      the java.io HTTP connector.
+      The default value is -1. Note: on Windows, the actual value of firstReadTimeout will
+      be 500 + the specified value, if the specified value is strictly positive.</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollTime</code></td><td valign="center" align="left">
+      <p>Duration of a poll call. Lowering this value will slightly decrease latency of connections 
+      being kept alive in some cases, but will use more CPU as more poll calls are being made. The
+      default value is 2000 (5ms).</p>
+    </td></tr><tr><td valign="center" align="left"><code>pollerSize</code></td><td valign="center" align="left">
+      <p>Amount of sockets that the poller responsible for polling kept alive connections can hold at a
+      given time. Extra connections will be closed right away. The default value is 8192, corresponding to
+      8192 keepalive connections.</p>
+    </td></tr></table>
+    
+    </blockquote></td></tr></table>
+	
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/balancer-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/balancer-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/balancer-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Load Balancer HOW-TO</title><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="" name="email"><meta value="Andy Oliver" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Load Balancer HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Using the JK 1.2.x native connector">
+Using the JK native connector</a><br>
+<a href="#Using Apache HTTP Server 2.x with mod_proxy">
+Using Apache HTTP Server 2.x and mod_proxy</a><br>
+<a href="#Using the balancer webapp">Using the balancer webapp</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JK 1.2.x native connector"><strong>Using the JK 1.2.x native connector</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the JK 1.2.x documentation.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Apache HTTP Server 2.x with mod_proxy"><strong>Using Apache HTTP Server 2.x with mod_proxy</strong></a></font></td></tr><tr><td><blockquote>
+
+Please refer to the mod_proxy documentation for Apache HTTP Server 2.2. This supports either
+HTTP or AJP load balancing. This new version of mod_proxy is also useable with
+Apache HTTP Server 2.0, but mod_proxy will have to be compiled separately using the code
+from Apache HTTP Server 2.2.
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the balancer webapp"><strong>Using the balancer webapp</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Tomcat 5.0.15 and later ships with a webapp named balancer.  This is
+a simple implemention of a rules-based load balancer.  It was not designed
+as a replacement for other load-balancing mechanisms used for high traffic
+environments.  Rather, it is a simple, pure Java, easily extensible, and fast
+way to direct traffic among multiple servers.
+</p>
+<p>
+Although balancer ships with Tomcat, it is not Tomcat-specific and runs
+on other containers without any modification.  The balancer webapp 
+requires a Servlet Specification 2.3 or later container if you wish 
+to use a filter to redirect traffic.  If you wish to redirect traffic
+using a servlet, you may use any servlet container.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Sample Configuration"><strong>Sample Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The default balancer installation uses a single filter, BalancerFilter,
+mapped to all requests (url-pattern /*).  The filter reads its rules
+from the location specified in the balancer deployment descriptor
+(web.xml file).  The default rules are:
+<ul>
+  <li>Redirect requests with News in the URL to www.cnn.com</li>
+  <li>Redirect requests with a parameter named paramName whose
+value is paramValue to www.yahoo.com.</li>
+  <li>Redirect all other requests to jakarta.apache.org.</li>
+</ul>
+
+Therefore, when you install tomcat, start it, and point your
+browser to http://localhost:8080/balancer, you will be redirected
+to http://jakarta.apache.org.  If you point your browser to
+http://localhost:8080/balancer/News you will be redirected to
+http://www.cnn.com.  The request for 
+http://localhost:8080/balancer/BlahBlah?paramName=paramValue will
+be redirected to http://www.yahoo.com.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Balancer Rules"><strong>Balancer Rules</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+A <i>Rule</i> in the balancer system is a combination of
+a request matching criterion and a redirection URL for
+matching requests.  Rules implement the
+org.apache.webapp.balancer.Rule interface.
+</p>
+
+<p>
+The balancer distribution contains a number of useful
+rules.  The framework is also designed for easy extensibility
+so that you can write your own rules quickly.  Rules
+should be JavaBeans (public no-args constructor, public
+setter method setXXX for property xxx), as they are
+instantiated by Jakarta Commons Digester.  Feel free
+to inquire on the tomcat-user mailing list regarding
+the availability of rules or the inclusion of your rules
+in the distribution.
+</p>
+
+<p>
+Rules are assembled into RuleChains.  Each BalancerFilter
+(or Servlet/JSP) refers to one RuleChain when making its
+redirection decisions.  Note that you are not restricted
+to having one filter mapped to /* as done in the sample
+configuration.  You can configure as many filters as
+desired, using the full filter mapping possibilities defined
+in the Servlet Specification.  Each filter will have
+its own RuleChain.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<ol>
+  <li>You write a rules configuration file containing various
+rules and redirection locations.</li>
+  <li>You define the balancer filter in your web.xml, mapping
+it as desired (/* is a common use-case) and configuring it
+with your rules configuration file.</li>
+  <li>The server is started, initializing the filter.</li>
+  <li>A request comes into the server.  The filter consults
+its rule chain to determine where to redirect the request.  Rules
+are consulted in the order in which they are defined in the rules
+configuration file.  The first matching rule will stop the
+evaluation and cause the request to be redirected.</li>
+</ol>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Comments"><strong>Comments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Please direct questions, comments, suggestions, etc. to the
+tomcat-user mailing list.  Thank you.
+</p>
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/building.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/building.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/building.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,215 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Building Tomcat</title><meta value="Remy Maucherat" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Building Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="README"><strong>README</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+This document duplicates some of the information from the BUILDING.txt file
+included in every Tomcat distribution.  You may want to consult both.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Building Tomcat from SVN is very easy, and is the first step to contributing to
+Tomcat. The following is a step by step TODO list.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download and install a Java Development Kit 1.4.x or later"><strong>Download and install a Java Development Kit 1.4.x or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+The default distribution of Tomcat 5.5.x requires a 5.0 or later JDK. Tomcat
+can be built using a 1.4.x JDK but you will need to copy the contents of the
+compat directory (created by the build process) to your build directory before
+Tomcat will start.
+</p>
+
+<p>
+The Sun JDK can be downloaded <a href="http://java.sun.com/j2se/">here</a>.
+</p>
+
+<p>
+<b>IMPORTANT</b>: Set an environment variable JAVA_HOME to the pathname of the 
+directory into which you installed the JDK release.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Install Apache Ant 1.6.2 or later"><strong>Install Apache Ant 1.6.2 or later</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download a binary distribution of Ant 1.6.2 or later from 
+<a href="http://ant.apache.org/bindownload.cgi">here</a>.
+</p>
+
+<p>
+Unpack the binary distribution into a convenient location so that the
+Ant release resides in its own directory (conventionally named
+"apache-ant-1.6.x").  For the purposes of the remainder of this document,
+the symbolic name "${ant.home}" is used to refer to the full pathname of
+ the release directory.
+</p>
+
+<p>
+Create an ANT_HOME environment variable to point the directory ${ant.home}, 
+and modify the PATH environment variable to include directory
+"${ant.home}/bin" in its list.  This makes the "ant" command line script
+available, which will be used to actually perform the build.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building Tomcat"><strong>Building Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Download the main build.xml script from <a href="build.xml">here</a>.
+</p>
+
+<p>
+Create a new directory, and copy the newly download build.xml to it. This
+  directory will be referred to as the ${tomcat.source} directory in the rest
+  of this document.
+</p>
+
+<p>
+Go to that directory, and do:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant<br>
+</code>
+</p>
+
+<p>
+NOTE: Users accessing the Internet through a proxy must use a properties
+  file to indicate to Ant the proxy configuration. Read below.
+</p>
+
+<p>
+WARNING: Running this command will checkout the Tomcat 5 sources from SVN, as
+  well as download binaries to the <code>/usr/share/java</code> directory. 
+  Make sure this is appropriate to do so on your computer. On Windows, 
+  this usually corresponds to the <code>C:\usr\share\java</code> directory, 
+  unless Cygwin is used. Read below to customize the directory used 
+  to download the binaries.
+</p>
+
+<p>
+The build can be controlled by creating a ${tomcat.source}/build.properties
+  file, and adding the following content to it:
+<code><br>
+    # ----- Proxy setup -----<br>
+    # Uncomment if using a proxy server.<br>
+    #proxy.host=proxy.domain<br>
+    #proxy.port=8080<br>
+    #proxy.use=on<br>
+<br>
+    # ----- Default Base Path for Dependent Packages -----<br>
+    # Replace this path with the directory path where<br>
+    # dependencies binaries should be downloaded.<br>
+    base.path=/usr/share/java<br>
+</code>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating and rebuilding Tomcat sources"><strong>Updating and rebuilding Tomcat sources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+It is recommended to regularly update the downloaded Tomcat 5 sources. 
+To do this, execute the following commands:
+
+<code><br>
+    cd ${tomcat.source}<br>
+    ant checkout<br>
+</code>
+</p>
+
+<p>
+For a quick rebuild of only modified code you can use:
+<code><br>
+    cd ${tomcat.source}<br>
+    ant build<br>
+</code>
+
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with Eclipse"><strong>Building with Eclipse</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<b>Important:</b>
+This is not a supported means of building Tomcat; this information is
+provided without warranty :-).
+The only supported means of building Tomcat is with the "ant build"
+described above.
+However, some developers like to work on Java code with a Java IDE,
+and the following steps have been used by some developers.
+</p>
+
+<p>
+Note that you <b>must</b> complete all the above steps to fetch
+the repositories and build some JAR files the first time.
+After you have completed the above steps, you can set up a
+series of Eclipse 4 projects.
+<b>Note</b> that this will not let you build everything under Eclipse;
+the build process requires use of Ant for the many stages that aren't
+simple Java compilations.
+However, it will allow you to view and edit the Java code,
+get warnings, reformat code, perform refactorings, run Tomcat
+under the IDE, and so on.
+</p>
+
+<p>You will want to set up your Eclipse project for building Tomcat such that
+${tomcatSource} is the Workspace folder.
+</p>
+
+<p>
+Use Windows-&gt;Preferences and then Java-&gt;Build Path-&gt;Classpath
+Variables to add two new Classpath variables:
+</p>
+
+<p>
+<table border="1">
+ <tr><td>TOMCAT_LIBS_BASE</td><td>the base path where the binary dependencies have been downloaded</td></tr>
+ <tr><td>ANT_HOME</td><td>the base path of Ant 1.6.2 or later</td></tr>
+</table>
+</p>
+
+<p>
+Use File-&gt;New Project to create a new Java project 
+for each of the binaries repository (e.g., /usr/share/java), 
+container, connectors, jasper, servletapi. 
+If you didn't already set up the Eclipse project such that ${tomcat.source} 
+is the Workspace folder, do so now: 
+tell Eclipse the external location using "Import/Export...",
+General-&gt;Existing Project into Workspace.
+</p>
+
+<p>
+Eclipse .project and .classpath files are provided in each of these
+directories so Eclipse should find all source trees and jars, and
+hopefully compile without problems. <b>Note</b> that these
+files assume you are using Eclipse with a 5.0 or later JDK; also, the
+connectors module must be built with a compiler compliance level of 5.0.
+</p>
+
+<p>
+To run Tomcat without a special IDE plug-in, you can simply use Run-&gt;Run...
+enter "org.apache.catalina.startup.Catalina" as the main class,
+"start" as program arguments, and
+"-Dcatalina.home=..." (with the name of your build directory) 
+as VM arguments.
+</p>
+
+<p>
+Note also that due to the way the Tomcat source is assembled
+from several SVN projects, you may not be able to use the Eclipse
+SVN client to update (nor to commit, if you are a committer).
+Use the external SVN client of your choice, then use the
+Eclipse PackageExplorer or Navigator "Refresh" context menu item
+to tell Eclipse that you've updated the files.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Building with other IDEs"><strong>Building with other IDEs</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The same caveats apply as for Eclipse, above.
+</p>
+
+<p>
+The same general idea should work in most IDEs; it has been reported
+to work in Idea, for example.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cgi-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cgi-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cgi-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - CGI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>CGI How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The CGI (Common Gateway Interface) defines a way for a web server to
+interact with external content-generating programs, which are often
+referred to as CGI programs or CGI scripts.
+</p>
+
+<p>Within Tomcat, CGI support can be added when you are using Tomcat as your
+HTTP server and require CGI support.  Typically this is done
+during development when you don't want to run a web server like 
+Apache httpd.
+Tomcat's CGI support is largely compatible with Apache httpd's, 
+but there are some limitations (e.g., only one cgi-bin directory).
+</p>
+
+<p>CGI support is implemented using the servlet class
+<code>org.apache.catalina.servlets.CGIServlet</code>.  Traditionally,
+this servlet is mapped to the URL pattern "/cgi-bin/*".</p>
+
+<p>By default CGI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - CGI scripts are used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code></p>
+
+<p>Rename <code>$CATALINA_BASE/server/lib/servlets-cgi.renametojar</code>
+to <code>$CATALINA_BASE/server/lib/servlets-cgi.jar</code>.</p>
+
+<p>Remove the XML comments from around the CGI servlet and servlet-mapping
+configuration in <code>$CATALINA_BASE/conf/web.xml</code>.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the CGI servlet.
+<ul>
+<li><strong>cgiPathPrefix</strong> - The CGI search path will start at
+the web application root directory + File.separator + this prefix.
+The default cgiPathPrefix is <code>WEB-INF/cgi</code></li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>executable</strong> - The of the executable to be used to
+run the script. Default is <code>perl</code>.</li>
+<li><strong>parameterEncoding</strong> - Name of the parameter encoding
+to be used with the GCI servlet. Default is
+<code>System.getProperty("file.encoding","UTF-8")</code>.</li>
+<li><strong>passShellEnvironment</strong> - Should the shell environment
+variables (if any) be passed to the CGI script? Default is
+<code>false</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/changelog.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/changelog.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/changelog.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3363 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Changelog</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Filip Hanik" name="author"><meta value="fhanik at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Changelog</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.23 (fhanik)"><strong>Tomcat 5.5.23 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41608">41608</a> Make log levels consistent when Servlet.service()
+        throws an exception. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41666">41666</a> Correct handling of boundary conditions for
+        If-Unmodified-Since and If-Modified-Since headers. Patch provided by
+        Suzuki Yuichiro. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41674">41674</a> Fix error messages when parsing context.xml that
+        incorrectly referred to web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41739">41739</a> Correct handling of servlets with a load-on-startup
+        value of zero. These are now the first servlets to be started. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Requests with multiple content-length headers are now rejected. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.22 (fhanik)"><strong>Tomcat 5.5.22 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix regression in build that prevented connectors from building.
+        (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.21 (fhanik)"><strong>Tomcat 5.5.21 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41401">41401</a>: StandardService.getConnectorNames() return array of 
+        Connector JMX objectnames. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29727">29727</a>: If env-entry values in web.xml are changed then
+        ensure new values are applied when context is reloaded. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34956">34956</a>: Ensure request and response objects passed to a
+        RequestDispatcher meet the requirements of SRV.8.2 and
+        SRV.14.2.5.1. This is disabled by default. The Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        is required to enable this test. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36274">36274</a>: When including static content with the
+        DefaultServlet also treat content types ending in xml as text.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36976">36976</a>: Don't use CATALINA_OPTS when stopping Tomcat. This
+        allows options for starting and stopping to be set on JAVA_OPTS and
+        options for starting only to be set on CATALINA_OPTS. Without this
+        fix, some startup options (eg the port for remote JMX) would cause
+        stop to fail. Based on a fix suggested by Michael Vorburger. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37070">37070</a>: Update mbean name documentation to include the
+        StandardWrapper. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37356">37356</a>: Ensure sessions time out correctly. This has been
+        fixed by removing the accessCount feature by default. This feature
+        prevents the session from timing out whilst requests that last
+        longer than the session time out are being processed. This feature
+        is enabled by setting the Java option 
+        <code>-Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true</code>
+        The feature is now implemented with synchronization which addresses
+        the thread safety issues associated with the original bug report.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37439">37439</a>: Update documentation for Engine component to add
+        the requirement that the name must be unique. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37458">37458</a>: Add syncs to the WebappClassloader to address
+        rare issues when multiple threads attempt to load the same class
+        concurrently. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37509">37509</a>: Do not remove whitespace from the end of values
+        defined in logging.properties files. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38198">38198</a>: Add reference to Context documentation from Host
+        documentation that explains how Context name is obtained from the
+        Context filename. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39088">39088</a>: Prevent infinte loops when an exception is thrown
+        that returns itself for getRootCause(). Based on a patch by Wouter
+        Zelle. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39436">39436</a>: Correct MIME type for SVG. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39627">39627</a>: JULI no longer ignores a ".level=XXX" directive
+        in logging.properties. Patch provided by Roger Keays and Richard
+        Fearn. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39724">39724</a>: Removing the last valve from a pipeline did not
+        return the pipeline to the original state. Patch provided by
+        David Gagon. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40367">40367</a>: Update JK auto configuration documentation to clarify
+        that workers.properties must also exist. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40524">40524</a>: HttpServletRequest.getAuthType() now returns
+        CLIENT_CERT rather than CLIENT-CERT for certificate authentication
+        as per the spec. Note that web.xml continues to use CLIENT-CERT to
+        specify the certificate authentication should be used. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40526">40526</a>: Add support for JPDA_OPTS to catalina.bat and add a
+        JPDA_SUSPEND environment variable to both startup scripts. Patch
+        provided by Kurt Roy. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40528">40528</a>: Add missing message localisations as provided by
+        Ben Clifford. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40585">40585</a>: Fix parameterised constructor for o.a.juli.FileHandler
+        so parameters have an effect. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40625">40625</a>: Stop CGIServlet swallowing the root cause of an
+        exception. Patch provided by Takayoshi Kimura. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40723">40723</a>: Correct table creation example in JavaDoc for
+        JDBCAccessLogValve. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40802">40802</a>: Add jsp-api.jar to fileset in catalina-tasks.xml as provided by
+        Daniel Santos. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40817">40817</a>: Correct problem where CGI scripts in the root of the
+        ROOT context threw a <code>StringIndexOutOfBoundsException</code>.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Set the <code>SCRIPT_FILENAME</code> environment variable required
+        by PHP when using the CGIServlet to execute PHP. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40823">40823</a>: Update context doc to clarify use of ROOT.xml,
+        multi-level context paths and to further discourage use of server.xml
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40844">40844</a>: Add additional syncs to JDBCRealm to resolve NPE when
+        two users try to authenticate using DIGEST authentication at the same
+        time. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40860">40860</a>: Log exceptions and other problems during parameter
+        processing. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40901">40901</a>: Encode directory listing output. Based on a patch
+        provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40929">40929</a>: Correct JavaDoc for StandardCalssLoader. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41008">41008</a>: Allow POST to be used for indexed queries with CGI
+        Servlet. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41020">41020</a>: Improve error message when custom error report Valve
+        fails to load. Also remove requirement that custom error report Valves
+        extend ValveBase. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41217">41217</a>: Set secure attribute on SSO cookie when cookie is
+        created during a secure request. Patch provided by Chris Halstead.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Ensure Accept-Language headers conform to RFC 2616. Ignore them if
+        they do not. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Make provided instances of RequestDispatcher thread safe. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix formatting of CGI variable SCRIPT_NAME. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">34643</a>: Improved documentation for per-user / per-session clientAuth
+        usage in SSL Authenticator.  Docs provided by jack and Ralf Hauser.  (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40668">40668</a>: Update release notes and readme files specific to v5.5.20 to 
+        notify users of missing MailSessionFactory in distribution, suggest workarounds,
+        and link to relevant Bugzilla issue. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37977">37977</a>: adapt BUILDING.txt and net build.xml for SVN.  Patch by
+        Christopher Sahnwaldt. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39055">39055</a>: Link to sample workaround code for using JSR160 JMX monitoring
+        with a local firewall.  Thanks to George Lindholm for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39476">39476</a>: add xml declaration to most build.xml files, as suggested by
+        Gregory S. Hoerner Sr. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40326">40326</a>: stop using File#deleteOnExit in DefaultServlet to avoid
+        JVM memory leak, as suggested by quartz. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40192">40192</a>: update setup.html notes regarding Windows tray icon. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40177">40177</a>: add more warnings to documentation about RequestDumperValve
+        character encoding.  (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39255">39255</a>: NPE in AuthenticatorBase when logging level is set to DEBUG
+        and no prinicpal found. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41437">41437</a>: Make log messages and loglevel consistent during Context
+        start. Patch provided by Suzuki Yuichiro. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38332">38332</a>: Add backlog attribute to ChannelSocket as provided by
+         Takayoshi Kimura. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Backport packetSize feature from Tomcat 6.0.x at standard coyote AJP Jk handler. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40771">40771</a>: Fix implementation of
+        SavedRequestInputFilter.doRead() so POST data may be read using a
+        Valve or Filter. Patch provided by Michael Dufel. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41017">41017</a>: Restore behaviour of MessageBytes.setString(null).
+        (remm/markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Modify StringCache to add a configurable upper bound
+        to the length of cached strings. (remm/markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38774">38774</a>: Check javax.net.ssl.keyStorePassword system property as a secondary
+        source for keystore password in JSSESocketFactory, as suggested by Ted X. Toth. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39402">39402</a>: Modify existing Vary HTTP header, rather than overwrite it, if it
+        exists when using GZip compression.  Patch by Matthew Cooke. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40241">40241</a>: Catch Exceptions instead of Throwables in Default and SSI servlets.
+        Also improve relevant logging while we're at it. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40133">40133</a>: Better error message when context name is not available on startup,
+        as suggested by Andreas Plesner Jacobsen. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39975">39975</a>: don't have static Log references to prevent
+        classloader leaks. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40104">40104</a>: When displaying JSP source after an exception, handle
+        included files. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40797">40797</a>: This was a regression as a result of the fix for
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33407">33407</a>. TLD validation was failing as a result of the use
+        of the escape character (0x1b) as a temporary replacement for \$.
+        An alternative character (0xe000) from the unicode private use range
+        is now used. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41057">41057</a>: Make jsp:plugin output XHTML compliant. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41327">41327</a>: Show full URI for a 404. Patch provided by Vijay.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41265">41265</a>: Allow JspServlet checkInterval init parameter to be
+        explicitly set to the stated default value of zero by removing the
+        code that resets it to 300 if explicitly specified as zero. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Display the JSP source when a compilation error occurs and display
+        the correct line number rather than start of a scriptlet block. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34952">34952</a>: Clarify that the Windows Installer always installs
+        a Windows service. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35968">35968</a>: Make environment entry properties input a text area.
+        Patch provided by Tristan Marly. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37588">37588</a>: Fix creation of JNDI Realm in admin application. Patch
+        provided by Terry Zhou. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38048">38048</a>: Fix memory leak assoaciated with use of expression
+        language in JSPs. Patch provided by Taras Tielkes. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39572">39572</a>: Improvements to CompressionFilter example provided by
+        Eric Hedstr&ouml;m. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40507">40507</a>: Update host-manager and servlet-examples web-apps to
+        use the servlet 2.4 xsd. Patch provided by Chris Halstead. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40581">40581</a>: Add information on the use of a symbloic link as the
+        docBase for a Context to the Context documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40633">40633</a>: Remove references to the DefaultContext from the
+        documentation. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40677">40677</a>: Update SSL documentation to indicate that PKCS11
+        keystores may be used. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40714">40714</a>: Admin webapp no longer requires a username for a
+        DataSource since it is not required in all cases. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40720">40720</a>: Fix exception in admin webapp when adding a group to
+        a user. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40874">40874</a>: Correct log4j configuration in documentation webapp.
+        Patch provided by Franck Borel. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40999">40999</a>: Add trust store configuration for SSL connectors to
+        the admin webapp. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41051">41051</a>: Add information on keystore aliases and case
+        sensitivity to SSL HOW-TO. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41182">41182</a>: Update the Jasper documentation for the classpath
+        attribute. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41493">41493</a>: Fix handling of APR connectors in Admin webapp.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=41512">41512</a>: Version number was not inserted in release notes.
+        (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40257">40257</a>: Update Manager webapp howto on remote deployment to reflect
+        need for explicit path in one specific use-case.  Thanks to Venkatesh Jayaraman. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40160">40160</a>: add reference to the Filter proposed in this Bugzilla item to the WebdavServlet.
+        While at it, give the WebdavServlet some long-overdue TLC by cleaning up some of the old data
+        structures in favor of modern (but still JDK 1.4-compliant) interfaces. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Add a virtual hosting how-to contributed by Hassan Schroeder. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add clustered SSO code and backport feature from Tomcat 6.0.x,
+        submitted by Fabien Carrion (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add better recovery at FastAsyncQueueSender. Made the startegy more robust for temporary connection problems (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.20 (fhanik)"><strong>Tomcat 5.5.20 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logic error in UserDatbaseRealm.getprincipal() that caused user
+        roles assigned via groups to be ignored. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40518">40518</a>: Use correct message when a RuntimeException is
+        thrown from the requestInitialized or requestDestroyed method of
+        a listener that implements ServletRequestListener. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31804">31804</a>: Unnested tags within a tag file are now configured
+        with the Tag represented by the containing tag file as their parent
+        tag. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33356">33356</a>: Tag attributes that contained $ followed by 1 or
+        more non-special characters and then a { character caused an
+        exception. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33407">33407</a>: The string \$ in template text was reduced to $
+        when the isELIgnored page directive was set to true. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34509">34509</a>: Tag names may now use the full range of
+        characters permitted by xsd:nmtoken. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34399">34399</a>: Disable undeploy for applications that have not
+        been deployed such as those defined in server.xml (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.19 (fhanik)"><strong>Tomcat 5.5.19 (fhanik)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Add multi attribute setting to jmx:set JMX remote ant task.
+         Patch contributed by Didier Donsez (pero)
+      </td></tr>      
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30762">30762</a>: Re-fix this bug that was re-introduced by the fix
+        to <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37264">37264</a>. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37588">37588</a>: Fix JNDI realm creation through JMX. Patch contributed by TerryZhou  (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39704">39704</a>: The use of custom classloaders failed when the context
+        was specified in server.xml. Correction of the fault will require setting
+        the new loader attribute useSystemClassLoaderAsParent to false. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40418">40418</a>: APR Endpoint socket evaluation (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31339">31339</a>: Admin app threw exceptions if a name other than Catalina
+        was configured for the Engine. Patch based on a suggestion from Amila
+        Suriarachchi. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.18 (yoavs)"><strong>Tomcat 5.5.18 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Change MD5 release signature files to have md5 (lowercase) extension instead of MD5 (uppercase),
+        as suggested by Henk Penning and specified in the
+        <a href="http://www.apache.org/dev/release-publishing.html">ASF release publishing guidelines</a>. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that ManagerBase increment expireSessions counter at background task two times. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39406">39406</a>: Fix that StandardSession#getLastAccessedTime() uses correct exception message,
+        suggested by Takayoshi Kimura. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39661">39661</a>: Add documentation on JULI FileHandler properties. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39657">39657</a>: Warn (and don't load jar) if JSP API is in webapp classloader repository, as suggested by
+          David Sanchez Crespillo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39674">39674</a>: Support JRockit JVM in service.bat script, as suggested by lizongbo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39711">39711</a>: Update Loader configuration documentation, as suggested by Stephane Bailliez. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39865">39865</a>: Add Open Office mime types to conf/web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38814">38814</a>: Align CGI handling of indexed queries, parameters and
+        POST content with other CGI providers. The changes: only provide
+        parameters on the command line for indexed queries; always provide the
+        query string via the QUERY_STRING environment variable; provide POST
+        content unmodified to stdin; and never call getParameters(). (markt) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34801">34801</a>: Partial fix that adds handling of IOExceptions during
+        long running CGI requests. Based on a patch by Chris Davey. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39689">39689</a>: Allow single quotes (') and backticks (`) as well as
+        double quotes (") to be used to delimit SSI attribute values. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=40053">40053</a>: Correct application deployment documentation so it
+        agrees with the classloader documentation regarding shared lib and
+        CATALINA_BASE. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39592">39592</a>: Stop HEAD requests for resources handled by SSI
+        servlet or filter generating stack traces in the logs. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve handling of the ';' character in the URL so that it is now
+        allowed if properly %xx encoded. (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix APR endpoint so that the acceptor thread now only processes socket
+        accepts. (remm)
+      </td></tr>
+  </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39813">39813</a>: Correct handling of new line characters in JMX
+        attributes. Patch provided by R Bramley. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37781">37781</a>: Make sure that StoreConfig save external referenced war files at context.xml correct. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39791">39791</a>: Use correct default for useNaming within a Context. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Correctly generate re-direct for admin app index.jsp to prevent login page
+        being displayed twice when cookies are disabled. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table> 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39473">39473</a>: Session timeout much shorter than setting
+         at web.xml at cluster environment, suggested by Jin Jiang. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>   
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.17 (yoavs)"><strong>Tomcat 5.5.17 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to Xerces 2.8.0 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to tcnative 1.1.3 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix SingleSignOn Valve and add Session.getLastAccessTimeInternal() without session invalidation test. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38814">38814</a>: CGIServlet correctly handles Shift_JIS output. (markt) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing REQUEST_URI environment variable to CGI environment. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=27617">27617</a>: Sync existing mime types with httpd. (keith)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38761">38761</a>: Handle relative symlinks to shell scripts as suggested by Adam Murray (keith)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38795">38795</a>: Associate more closely bind with a finally unbind in StandardContext start and
+        stop, based on a patch by Darryl Miles (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve undeployment robustness (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Expand the semaphore valve (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39021">39021</a>: Add back support for authentication only, submitted by Scott Stark (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Revert fix for <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38113">38113</a>, which does not seem a legitimate problem, and causes
+        regressions (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Correctly reset listeners when reloading a webapp (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38194">38194</a>: Don't fail silently if -force is used without CATALINA_PID, submitted by Matthew Buckett. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38154">38154</a>: Avoid NPE in FileDirContext after webapp undeploy, reported by Jamie Maher. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">38217</a>: Added cautionary note about keystore password to SSL HowTo, as suggested by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38262">38262</a>: Cleared ambiguity in host documentation, as suggested by Jeffrey Bennett. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38476">38476</a>: Modified check for null TLD stream, as suggested by Fabrizio Giustina. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38052">38052</a>: Use <i>userName</i> as userField default. User is at many databases a 
+        reserved keyword, as suggested by rik. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of non matching if-range header (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37848">37848</a>: Only output catalina.sh diagnostic messages if we have a TTY, submitted by
+          David Shaw. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38596">38596</a>: Minor performance optimization in DataSourceRealm, suggested by Sandy
+          McArthur. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Make the default cipher suites available for SSL the same as the set of cipher
+        suites enabled by default rather than the set of all cipher suites. This prevents
+        ciphers suites that do not provide confidentiality protection and/or server
+        authentication being used by default. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Move AprEndpoint.getWorkerThread inside the try/catch for the main accept loop, to guard
+        about an OOM (which would most likely doom the server anyway) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        As exhibited in the ASF's JIRA installation, it seems EINTR is a status code that should
+        be ignored as a result to a poll call (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        New APR connectors defaults (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add multiple threads for APR pollers, to work around Windows limitations (performance degrades
+        very rapidly if poller sizes over 1024 are allowed when compiling APR) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        New modes for firstReadTimeout (-1 being the new default) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Replace java.util.Stack usage with a simple array in the APR endpoint (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        tcnative jnilib.c now report correct compile flags for runtime 
+        Library.java checks like sendfile support default true/false (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38015">38015</a>: Remove misleading warnings logged in TagLibraryInfoImpl, as suggested by Andrew Houghton. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38376">38376</a>: Make sure body content stack is always properly aligned, as submitted by Tony Deigh. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Compatibility with JDT 3.2 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39292">39292</a>: Update catalina.policy at demo balancer app. Fix provided by Kerry Sainsbury (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36847">36847</a>: Fixed the manager app copy function to not overwrite fileA with fileB when fileA==fileB.
+        Fix provided by Haroon Rafique (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38508">38508</a>: Several enhancements to Host Manager application, including configurable
+          manager app support and dialog box enhancements.  Thanks to George Sexton for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37781">37781</a>: Make sure context config file is writeable, suggested by George Sexton. (yoavs,pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add at PooledSocketSender the jmx attributes inPoolSize and inUsePoolSize. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         DeltaManager set session creationTime at backup node. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add JvmRouteBinderValve documentation at cluster-howto.xml. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        JvmRouteBinderValve now supports now sessionid's from request and cookies.
+        Thanks to Brian Stansberry for reporting it. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+      	<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38779">38779</a> Fix wrong jmx message arg at SimpleTcpCluster
+          at o.a.c.cluster.tcp.mbeans-descriptors.xml, submitted by Pawel Tucholski (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that not after every "Keep Alive Socket close" a log warning is generated at TcpReplicationThread (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39178">39178</a>: Now ROOT.war deployment with FarmWarDeployer is possible (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        ReplicationValve not set primarySession flag when all backup nodes gone (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add DeltaSession.getLastAccessTimeInternal() without session invalidation test. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.16 (yoavs)"><strong>Tomcat 5.5.16 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Updated / enhanced docs to remove old FIXME references. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Required tcnative library version upgraded to 1.1.2 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to Eclipse JDT 3.1.2 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=23950">23950</a>: Context.listBindings() should return objects not
+        references. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38124">38124</a>: Add support for Windows 20xx when reading environment
+        variables in CGIServlet. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29214">29214</a>: response.containsHeader() now returns the correct
+        value for Content-Type and Content-Length headers. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow using a custom ContextConfig when using JMX embedding of Tomcat, as
+        is done by the regular deployer. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add JMX serverInfo attribute to Server MBean, that we can identify
+        the tomcat release remotely. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix the JMX MBeanFactory.createStandardHost signature at mbean-descriptors.xml (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some cases (for example with realm usage) where the container logger for a context
+        would be retrieved using the wrong classloader (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        HttpSession.getId will no longer throw an ISE when the session is invalid (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         More detailed errors for naming issues (remm)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Add documentation for the Transaction element (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add getContextPath to the internal servlet context implementation (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Only null instances loaded by the webapp CL, submitted by Matt Jensen (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Deploy folders which don't have a WEB-INF, and return an error when a context
+        file does not contain a Context element (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38653">38653</a>: Fix property name (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Slightly modify the timing of the manager start, so that it is not started by a
+        listener (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Refresh loggers used by the digester (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Use sendError instead of setStatus to send the 401 code. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't append the port for an SSL redirect if it is the default port. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Log errors when setting socket options with debug priority rather than error. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38100">38100</a>: Make certain that a valid Host name is set, or none at all. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38485">38485</a>: Fix minor regression setting connection timeout (as well as linger and
+        no delay) where the default value was always used when using the regular 
+        HTTP connector (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Pass along more of the SSL related fields to OpenSSL (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        CharChunk now implements CharSequence (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix coding error which could cause a rare crash when a poller error occurred and sockets
+        where pending being added to the keepalive poller (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix potential sync issues when restarting a poller (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update APR error reports, including the error codes (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38726">38726</a>: Remove duplicate request group field causing blank statistics for the
+        HTTP connector (remm) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix invalid length used by some AJP packets for the AJP APR connector, which could cause 
+        corruption, submitted by Rudiger Plum (jim)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38346">38346</a>: Fix problems with request.getReader().readLine(). 
+        Patch by Rainer Jung (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Local address reuse for APR Endpoints (via APR_SO_REUSEADDR) now enabled (jim)
+     </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't write out the shutdown secret file if shutdown is disabled (the default) (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when no sink is supplied. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        APR Endpoints now IPv6 aware (jim)
+     </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Downgrade "Response already committed" logging entry to DEBUG. (billbarker)
+     </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38113">38113</a>: Return the empty String for an empty query-string instead of null. (billbarker)
+     </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38389">38389</a>: Set correct JDT Compiler option to java 1.5 compliance. 
+        Patch from Olivier Thomann and Paul Hamer (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add some useful hints to jasper-howto. (pero).
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38776">38776</a>: Fix source file attribute, submitted by Olivier Thomann (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update DeltaManager session access stats  (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        DeltaSession getId will no longer throw an ISE when the session is invalid (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+          Resurrected the "suspect" property so that the logs don't fill
+          up with errors when member disappears or a connection is lost. Only useful for pooled mode (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35710">35710</a>: Add session replication for cross context session changes.
+       The portlet api need this support, see refactored ReplicationValve. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        ReplicationValve reset DeltaSession when cluster node has no backup node. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        DataSender close connection and throw exception also even if waitForAck is false.  (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Active cluster junit test again. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some XSS issues in the JSP examples. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logos in the manager webapp (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.15 (yoavs)"><strong>Tomcat 5.5.15 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32081">32081</a>: Remove the JDK requirement from the Win32 scripts. (keith)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37852">37852</a>: Fix regression where the magic role '*' was denying all access. Patch by xrcat (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37934">37934</a>: Don't ask for authentication if deny-from-all is in effect. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=15570">15570</a>: auth-constraint of * was interpretted as all
+        authenticated users rather than as all roles defined in web.xml. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       Remove leftover static logger which was used to log application level messages in
+       ApplicationContextFacade (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38012">38012</a>: Where a CGI script sets a response code, use it. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37854">37854</a>: Extension-List checking was too strict. (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       Report binding errors in the APR endpoint as strings rather than platform specific
+       status codes (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37934">37934</a>: Don't ask for authentication if deny-from-all is in effect. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38047">38047</a>: Handle the case where the Servlet attempts to read
+              the Request body from the AJP/1.3 Connector, in the case that no
+              body was sent. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38030">38030</a>: Unconditionally return EOS for an attempt to read 
+              the body of any request that doesn't send CL or TE. 
+              (remm, billbarker).
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35351">35351</a>: Fix problem using an inner class for a &lt;jsp:useBean /&gt;. (kinman).
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37929">37929</a>: Don't stop on the generic attribute methods just because the session is invalid. Patch by Pierre Delisle. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add system properties org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER and
+        org.apache.jasper.runtime.JspFactoryImpl.USE_POOL to allow configuring Jasper
+        memory usage (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37933">37933</a>: Restrict &lt;jsp:getAttribute /&gt; to only look in PAGE_SCOPE. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37808">37808</a>: Fix ArrayIndexOutOfBoundsException inside XByteBuffer. Reported by Dietmar Mueller (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37896">37896</a>DataSender starts new Socket after IOException. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Reduce memory usage at membership service. (pero)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.14 (yoavs)"><strong>Tomcat 5.5.14 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update optional native APR connector version to 1.1.1. (mturk)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update build.properties.default to get native connector from new location. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=13040">13040</a>: Fix getContext() when used to obtain a context that is a sub-context
+        of the current context. Ported from TC4. (markt) 
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37746">37746</a>: Remove extra space from StringTokenizer pattern in JspC, as suggested by
+        Eric Hedstrom. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36863">36863</a>: Strip quotes when parsing Cookie values, even for v0 Cookies. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37803">37803</a>: Don't claim that we have a string value in MessageBytes until we actually do. 
+           Patch by Doug Rand (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.13 (yoavs)"><strong>Tomcat 5.5.13 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36711">36711</a>: Unused line of code. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Removed unused SAXPath, Jaxen dependencies. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update log4j dependency to version 1.2.12, Struts to 1.2.7. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Removed JDBC 2.0 StdExt dependency (only class from there is javax.sql.XADataSource, which is
+        present in JDK 1.4 and later. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37039">37039</a>: typo on JK Quick configuration how-to. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37035">37035</a>: Add a placeholder file in the temp directory for WinZip tar.gz handling. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update JAF dependency to 1.0.2, JTA to 1.0.1b and JavaMail to 1.3.3_01. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added Eclipse .project, .classpath, and associated files to make building Tomcat from
+        Eclipse significantly easier. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td> 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37284">37284</a>: Guess JSE 5.0 location on Mac OS X, patch by Stepan Koltsov. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id="></a>: Wrong class name in antlib.xml for JkStatusUpdateTask. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36802">36802</a>: Fix problem of double-init when JMX-deploying a 
+        Context into a started Host. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36840">36840</a>: Provide information as to which web.xml is being processed on startup to
+        help debug parsing errors. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34724">34724</a>: Ability to set domain for Single-Sign-On cookie.  Patch by Oliver
+        Rossmueller. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37044">37044</a>: RealmBase.hasResourcePermission needs to access the GenericPrincipal as
+        set by the realm unless hasRole is overriden, which was no longer being done properly for
+        the JAAS realm (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37264">37264</a>: JNDI resources were no longer available when stopping listeners,
+        submitted by Bogdan Calmac (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37150">37150</a>: Turn off directory listing by default and add a warning
+        regarding enabling listing of directories with many entries. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add configurability for the amount of time that the container will wait for requests
+        to complete when unloading servlets, using the unloadDelay property. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add code to set to null fields in loaded classes when stopping a web application, as a
+        possible workaround for suspicious garbage collection behavior. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update messages and stack traces for classloading errors which may occur when removing
+        a web application, and for stopped web applications. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37319">37319</a>: Fix catalina.bat reference to CATALINA_BASE for logging.properties.  Thanks
+        to Pierre-Yves Benzaken. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36852">36852</a>: Custom classloaders don't honor Contet privileged attribute.  Thanks to
+        Matt Brinkley for the analysis and patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>Fix for a couple of (mostly silly) edge-cases in testing auth.
+           Thanks to Nam T. Nguyen for the report. (billbarker) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37060">37060</a>: Actually copy the Request headers when replaying after Form auth. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37591">37591</a>: Typo in Engine configuration reference. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37668">37668</a>: Added note about JSP recompilation to Context configuration documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37132">37132</a>: Have DigestAuthenticator Handle user names with commas.  Thanks to 
+          Robert Wille for the patch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37212">37212</a>: Better error reporting in Connector.java.  Thanks to Ralf Hauser for
+        the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Gracefully handle the case where some Socket options are disabled at 
+        the OS level for the AJP/1.3 Connector. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36366">36366</a>: Use rewritten deployer-howto page by Allistair Crossley. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36630">36630</a>: Added extra log output for class instantiation failure. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37121">37121</a>: Sendfile always needs to be given the length of data to write,
+        which fixes ranged requests. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Optimized direct byte buffers association with the socket for APR connectors. (mturk)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix hidden NPEs when using the APR connectors and there's no host header. (pero, remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Http11Protocol now register RequestProcessor at JMX and show current usage inside manager app. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        JkStatus Ant tasks for mod_jk 1.2.15. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>Connection Timeout is normal, so reduce logging to DEBUG (billbarker) 
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix crash which could occur with the HTTP APR connector when accessing request JMX objects
+        outside of the processing of the said request (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37627">37627</a>: Fix buffering issue in the HTTP APR connector when a large buffer size was
+        used for servlets (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37673">37673</a>: Fix implementation of getLocalPort and getLocalAddr in the HTTP APR connector
+        (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35252">35252</a>: Jasper PageDataImpl outputs malformed XML.  Patch by Rahul Akolkar. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37062">37062</a>: Helpful JSP exception message containing file, line numbers.  Patch by
+        Tim Fennell at http://www.tfenne.com/jasper/. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37407">37407</a>: File descriptor leak in JspReader.  Thanks to Fred for the patch.  I also
+        did some minor cleanup in the class. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37612">37612</a>: Add file location to JSP Validator error message.  Thanks to Renaud Bruyeron
+        for the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that session replace messages are logged after node recovery get all session from master node. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37896">37896</a> Fix that sendMessage signature at all DataSender subclasses must be changed.
+        Now pooled and async modes working as expected. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix that socket at o.a.c.cluster.tcp.FastAsyncSocketSender can be disconnect/connect. (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix cluster module build.xml script for new svn repository structure (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix closed socket exceptions at normal server shutdown, reported by Olve Hansen (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix closed socket exceptions inside async message transfer modes (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34984">34984</a>: HttpSessionBindingEvent.getValue() get correct value (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35916">35916</a>: send sessionCreated to SessionListener after cluster node recovery (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Used also Hashtable at DeltaSession (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Better support cluster at engine level. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36866">36866</a>: Correct attribute name in conf/server.xml documentation for Cluster element. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37261">37261</a>: Allow xerces to know where the web.xml file is so that relative entities can be resolved.
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=37529">37529</a>: Fixed race condition in ReplicationLister#stopListening.  Thanks to 
+        Chris Walker for the patch. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>Remove obsolete TagPlugin file from JSP examples (billbarker)</td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36019">36019</a>: Made clear the Host-Manager HowTo is coming soon, not ready yet. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36336">36336</a>: Check WAR extension in both upper and lower case, as suggested by
+        A. Grasoff. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35982">35982</a>: Can't delete mail sessions in admin webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36673">36673</a>: Similar to the one above, for data sources. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.12 (yoavs)"><strong>Tomcat 5.5.12 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove uneeded files in conf. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Change distribution file names from jakarta-* to apache-*. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add JMX Remote create and unregister ant tasks (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36343">36343</a>: Only normalize out backslash on Windows platforms. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow configuring standard stream redirection. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36088">36088</a>: Add RUNNING.txt and RELEASE-NOTES.txt to fulldocs distro. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36534">36534</a>: fix equals for URLs returned by ServletContext.getResource() (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36558">36558</a>: Clear IntrospectionUtils cache when stopping a webapp, as it 
+        could leak to keeping a reference to the classloader (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36113">36113</a>: Session persistence for objects with primitive types could fail in
+        some rare cases (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Full synchronization for session objects attributes collections (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35609">35609</a>: service.bat echo command when wrong arguments given [patch by Robert
+        Longson] (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34749">34749</a>: jsessionid dropped on trailing slash (/) redirect (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Add support for secret for AJP APR (remm)
+       </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE with an error message when no Java compiler is available (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Restrict System err stream capture to the Ant compiler, as the Eclipse compiler
+        does not need it (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        JSP compilation speed improvement using tag library information caching, 
+        submitted by Xingbo Gao (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Initial contribution of JSTL tag plugins supporting the core tag library of
+        JSTL, submitted by Jing Li (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36541">36541</a>: Sync all session attribute access (read and write) at DeltaSession (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36518">36518</a>: Classname typos for senders, submitted by Christoph Bachhuber-Haller (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35613">35613</a>: Added FAQ question and answer about tcpListenAddress="auto" and /etc/hosts (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Moved FAQ section for Clustering from Clustering HowTo page to its own FAQ page. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36319">36319</a>: Fix broken link to DBCP docs, submitted by Xavier Poinsard (remm)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Brand new deployer specs, submitted by Allistair Crossley (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.11 (yoavs)"><strong>Tomcat 5.5.11 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to Xerces 2.7.1 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add ready to build bin/tomcat-native.tar.gz for the APR JNI wrapper library (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35930">35930</a>: Bad logging config used by the Tomcat Windows service (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33261">33261</a>: Windows installer now checks the user type and warns non-admins as needed. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        The Windows installer will now optionally download a (32bit) Windows .dll for Tomcat native
+        from HEAnet (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Declaration of jspc Ant task to fix the deployer package (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add concurrency control valve (o.a.c.valves.SemaphoreValve). As the Tomcat distribution 
+        is not built for Java 5, the valve will have to be compiled from the sources 
+        using Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35880">35880</a>: Ignore JSSE15SocketFactory when generating JavaDoc, as it breaks
+          the JDK 1.4 JavaDoc tool. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35865">35865</a>: setclasspath.sh cannot be excutive under cygwin. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33267">33267</a>: Set working path in service installer, as suggested by Dominik
+          Drzewiecki. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34794">34794</a>: Update connector documentation to include clientAuth attribute. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35894">35894</a>, <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36228">36228</a>: Fix CNFE when starting in a sandbox. (billbarker, remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add version check for Tomcat native so that incompatible API changes are detected early (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36020">36020</a>: Allow MemoryUserDatabase to work better on write protected mediums,
+        submitted by Rainer Jung (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35978">35978</a>: Bad handling of single range requests greater than 2GB in the DefaultServlet
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35984">35984</a>: Client abort exceptions will now use getCause (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of non-file based includes with SSI, submitted by David Becker (markt)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix default ports for http and https which are set in the request when the parsed
+        hostname does not specify the port, and which were inverted (https was set as 80 
+        and http as 443). (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add missing tomcatAuthentication attribute to the AJP APR implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Check filename sendfile attribute only if sendfile is enabled. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix output buffering for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35941">35941</a>: Fix getRemoteAddr for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35942">35942</a>: Fix NPE retriving cipher suite attribute when no certificate 
+        was submitted (for example with no SSL). (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Internationalization and code cleanups for APR AJP implementation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Security exception in APR AJP implementation when running with the security
+        manager enabled. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36173">36173</a>: Add missing sync in FastHttpDateFormat.formatDate, submitted 
+        by Alexei Krainiouk (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Disable HTTP compression when sendfile is used for a resource (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        AJP secret attribute report only at trace level. (pero)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36127">36127</a>: Validation compatibility with Xerces 2.7.1, submitted 
+        by Florent Benoit (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">        
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when cluster stops (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=36218">36218</a>: MemoryRealm now support also GenericPrincipal, but 
+        JAASRealm with cluster replication still has a problem, detected by Dirk Dekok (pero)
+      </td></tr>   
+     </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.10 (yoavs)"><strong>Tomcat 5.5.10 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+         Add JMX remote ant task to control tomcat MBeanserver via ant scripts.
+         Ant lib is included at "server/lib/catalina-ant-jmx.jar" and documentation
+         is added to <a href="monitoring.html">Monitoring and Managing Tomcat How-To</a> (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34361">34361</a>: Integrate better antlib and import support for 
+        catalina manager tasks [Modified patch from Daniel Santos]  (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        StoreConfig save now the Connector.sslProtocol attribute. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Change log dir at service.bat to "$CATALINA_BASE/logs" for better multi instance support. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34237">34237</a>: Added note and links to context and host configuration
+          references in JNDI DataSources HowTo to aid the clueless. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34248">34248</a>: Update JavaMail download instructions to include JAF. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to JDT from Eclipse 3.1, with support for Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactoring, redesign and extend the cluster module
+          - Cluster can be configured as subelement from Engine and Host.
+          - Optimized performance and reduce memory usage
+          - Better JMX support
+          - add a lot of JMX stats attribute for better monitoring 
+          - add a single element default cluster configuration
+          - more config options
+             LifecycleListener
+             ClusterListener
+             more than one cluster valves
+          - better subclass support
+          - change a lot of existing cluster API's (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+         Add Apache Portable Runtime JNI wrapper and helper API (mturk)
+       </td></tr>
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Update JULI to provide support for taking over java.util.logging bootstrap configuration,
+         and move the default properties file to ${catalina.base}/conf/logging.properties (remm)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34746">34746</a>: Updated catalina.properties instructions per Bill Edwards' suggestion. (yoavs)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35090">35090</a>: Minor documentation typo fix. (yoavs)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34931">34931</a>: Rewrote ROOT/index.jsp to be XHTML strict compliant, per Richard
+           Beton's patch. (yoavs)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=20380">20380</a>: Access log timestamps now take account of Daylight Saving
+        Time (DST). (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34220">34220</a>: Provide better error message when server.xml can't be located.
+          [Modified patch from Ralf Hauser] (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Add MessageListener and LifecylceListener cluster saving to storeconfig module
+          (&lt;Cluster ... &gt;&lt;ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" &gt;) (pero)
+      </td></tr>  
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33743">33743</a>: Add additional synchronization in webapp classloader to avoid
+        possible race condition when defining a class (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33711">33711</a>: Add events on passivate and activate to cleanup SSO, and recycle
+        session objects when removing them from a manager (so that anyone keeping references
+        to it would leak a minimal amount of memory) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Re-add patch causing Session.getId to throw an ISE, and make all internal components
+        use a safe getIdInternal method (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Store principal to be exposed for Request.getUserPrincipal inside the GenericPrincipal,
+        to remove hacks from the JAAS realm (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10385">10385</a>: SSI Servlet now includes better support for files that use character
+        encodings other than the platform default.(markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove CopyParentClassLoader rule, which doesn't seem to be doing anything useful
+        anymore. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Provide an ServletFilter implementation of Server Side Includes (SSI). This was
+        submitted by David Becker under <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33106">33106</a>. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add sendfile support to default servlet, with a sendfileSize configuration attribute.
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        If APR as well as Tomcat's JNI wrapper for APR are present, use APRized protocol handlers
+        instead of the regular ones (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22617">22617</a>: When used with an EJB container and a realm that supports the concept
+        of an unauthenticated user (J2EE.3.4.3) BASIC authentication was always authenticating
+        users as the unauthenticated user without giving them a chance to supply a username and
+        password. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Prevent facade objects cloning (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add missing CGI variables to SSI servlet. Patch submitted by Fritz Schneider. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34578">34578</a>: Updated JNDIRealm comment. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34273">34273</a>: Better Bootstrap warning message. [Path from Ralf Hauser] (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34675">34675</a>: Updated Proxy-HowTo page with Servlet API calls. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34546">34546</a>: Fix problem where the "first" Valve couldn't be removed from a Pipeline. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix NPE when POST size exceeds limit defined by maxPostSize. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix FORM authentication so POSTed parameters are not assumed to be encoded with platform
+        default encoding. A side effect of this fix is that the bodies of POST requests that
+        require FORM authentication are now buffered and made available after a sucessful login. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34840">34840</a>: Better handling of external WARs redeployment, and ignore docBase specified
+        in context file if within the Host appBase (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of symbolic links when the DefaultServlet is generating directory
+        listings. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35769">35769</a>: Correct implementation of javax.naming.Context.composeName( Name, Name)
+        in multiple places. Patch provided by Laurent Simon. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34805">34805</a>: Add warning for suspicious security patterns, as suggested by Ralf Hauser. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35819">35819</a>: Use getWorkPath for deleting work directory on context destroy, as suggested
+          by Rob Steele. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add support for using "Smart Cards" as trust/keyStore. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add some Mbean attributes and operations to ChannelSocket (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Apache Portable Runtime based HTTP/1.1 protocol handler, with SSL support (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add support for simple file-based CRLs under JDK 1.5 (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add experimental NIO-Socket channel for the AJP/1.3 Connector (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34648">34648</a>: Add configuration option to enable IP-based Virtual Hosts. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor the AJP/1.3 Connector to be able to handle more advanced Actions. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix connector initialisation so sslProtocol is not required for SSL. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add bufferSize option to the AJP/1.3 Java connector to control output buffering. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Apache Portable Runtime based AJP/1.3 protocol handler (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Delay reading the inital request body packet by default for the AJP/1.3 Java connector. (billbarker)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18477">18477</a>: Allow symbolic links when precompiling JSPs (markt)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34272">34272</a>: Allow specifying the Option class used by the Jasper engine,
+        submitted by Scott Stark (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Support for Java 5.0 in JSPs (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Java 5 will be the source and target for JSPs when running on Java 5 (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34652">34652</a>: Add the ability to get SMAPs when precompiling, submitted by
+        Daryl Robbins (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34465">34465</a>: Jspc failure if there is no web.xml (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35696">35696</a>: Make certain that release is called for custom tags 
+         when tag-pooling is disabled. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35386">35386</a>: Make useBean resources use consistent spelling, from Kurt Huwig. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33522">33522</a>: Update jasper-howto to reflect use of javac switch. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35114">35114</a>: Add failOnError flag to JspC, by ziweth. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35410">35410</a>: Fixed NPE in JspWriterImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35571">35571</a>: JspC resolved uriRoot relative to Ant project basedir, if any, as suggested
+          by Jason Pettiss. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">        
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add that cluster can configure as Engine and Host element. (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add single cluster default configuration element - discussed at JAX 2005 conference Cluster Workshop. (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix resend GET_ALL_SESSIONS when wait ACK failed at receiver side (pero)
+      </td></tr>  
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        ClusterValve now remove from container element when cluster stops and added with next start again. (pero)
+      </td></tr>     
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Set timestamp only at first time inside SessionMessageImpl (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+       Set timestamp from findsessions method call, when handling GET_ALL_SESSION
+       to all SEND_SESSION_DATA and TRANSFER complete messages. (pero&gt;
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td> 
+       Drop all received message inside GET_ALL_SESSION message queue before state 
+       transfer message timestamp. (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Cluster ping now transfer cluster domain information and DeltaManager only
+        send and receive message from same domain members (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        JMX Support for McastService (Membership) (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Redesign SimpleTcpCluster message receiving to ClusterReceiverBase (pero)
+      </td></tr>      
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Cluster transfer all attributes to the generate session manager at addManager. 
+        Remove some unused attributes at SimpleTcpCluster and ReplicationTransmitter (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor DeltaManager:
+          - createSession call now ManagerBase super class method
+          - extract some long methods
+          - send GET_ALL_SESSION with session blocks
+          - don't sync sessions map when send all sessions (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add developer actions at to-do.txt (Proposal of changes) (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Small refactorings at FastAsyncSocketSender (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Redesign cluster message sending to lesser cpu and memory usage. 
+        Set at ReplicationTransmitter#compress=false as default. Change API from
+        ClusterSender, ReplicaitonTransmitter, DataSender, SimpleTcpCluster (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        DeltaManager has now JMX expireAllLocalSessions and processExipre operation 
+        for better cluster node shutdown handling (usefull for testing only) (pero)   
+      </td></tr>  
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        DataSender doWaitAckStats for better understanding wait ack problems (pero)   
+      </td></tr>  
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor DeltaManager and add counter for cluster message send/receive message (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34389">34389</a>:Porting Clustering fix pack to 5.5.10 code base.
+        Remove synchonized from DataSender.pushMessage(). Very offen the 
+        complete cluster blocking after replicated a bulk of new session messages under heavy load.
+        All cluster node standing for a lot of time and made nothing. 
+        Fix it for pooled, asynchronous and fastasyncqueue replication mode. Very bad thing, sorry! (pero)  
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add notifySessionListenersOnReplication attribute to SimpleTcpCluster to stop notify 
+        event to SessionListener at backup nodes from create and destroy replicated session (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add compress attribute to ClusterSender and ClusterReceiver interface. Now compress config
+        transfer from sender to receiver at SimpleTcpCluster. (pero) 
+      </td></tr>    
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add ClusterValve interface and implement it as ReplicationValve and JvmRouteBinderValve. Now both
+        Valves can be directly configured at server.xml Host/Cluster/Valve subelements.
+        Also this configuration are correctly handled with the StoreConfig module. (pero)  
+      </td></tr>    
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Deactivate DataSender keepAliveMaxRequestCount change default to -1. 
+        Cluster replication sockets are fast and very stable! (pero)  
+      </td></tr>          
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Setup JvmRouteBinderValve as host valve instead context valve. Refactor the API a little bit. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't increment open socket counter before socket is really open. Add socket open failures counter (pero) 
+      </td></tr>  
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add MessageListener support to cluster server.xml element (ClusterListener) to 
+        register your own cluster message receiver (pero)
+      </td></tr>  
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add LifecycleListener support to cluster server.xml element (Listener)
+        and notify those listener from start/stop cluster,
+        add/remove session manager, sending fault and start/stop member  (pero)
+      </td></tr>  
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add active backgroundProcess keepAlive timeout and request count socket close check
+        at ReplicationTransmitter.  Check frequency can be change with attribute 
+        processSenderFrequency (default 2). (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Remove useless Jdk13ReplicationListener,Jdk13ObjectReader. 
+        Add SocketReplicationListener and SocketObjectReader to have nativ socket ClusterReceiver. 
+        Also extract ClusterReceiverBase superclass for SocketReplicationListener and ReplicationListener (pero) 
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add and update some API and the <a href="cluster-howto.html">cluster howto documentation</a> (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor ReplicationValve for better understanding and small optimization (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Starting a unit test suite for cluster module - very much todo (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ant build.xml to direct compile at cluster module directory (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix some I18N messages, but a lot of work is waiting for fix (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add ReplicationValve Mbeans stats attribute getter and resetStatistics operation (pero)
+      </td></tr>
+     </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35758">35758</a>: Admin webapp mishandling digest attribute of JDBCDataSourceRealm. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34250">34250</a>: Admin webapp Commit Changes button now asks for confirmation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34818">34818</a>: Alternating row for apps in HTML manager, as suggested by Jeff
+          Domeyer. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=35379">35379</a>: Added commons-logging to build path of manager and host-manager apps,
+          to make them build with Jikes, as suggested by Aaron Isotton. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.9 (yoavs)"><strong>Tomcat 5.5.9 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add JULI, a java.util.logging implementation, used to provide sane defaults and
+        configurability equivalent to Tomcat 4.0 for Tomcat 5.5 logging (remm)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Add JULI documentation to the logging page (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add host manager webapp (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add ant JkStatusUpdateTask for remote status worker handling ( &gt;=mod_jk 1.2.9) (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33739">33739</a>: Add reference to RUNNING.txt in setup.html. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33719">33719</a>: Update reference to Ant download page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33883">33883</a>: Bad options in SSL-HowTo. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to MX4J 3.0.1 (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34139">34139</a>: Updated Realm-HowTo to specify JMX, Commons-Logging jars for RealmBase. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33325">33325</a>: Added top-level clean target to Netbuild build.xml file. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33755">33755</a>: Clarified Postgresql JNDI datasource example. [patch submitted by
+          Tom Witmer] (yoavs)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove some instances of expanded folder removal (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Don't call mkdirs if we're not going to save the configuration in StandardContext (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix context classloader binding during loader initialization (it was set to null before) (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        The webapp logger should only be retrieved when the context classloader is set to the 
+        webapp's classloader (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34170">34170</a>: Add back retry logic in JDBC realm in case of a connection failure (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22041">22041</a>: Support dynamic proxies as session objects. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix logger names for wrappers (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34006">34006</a>: If antiResourceLocking was used, HostConfig considered the path as external,
+        and web application resources were not correctly removed or tacked; also simplify the code a lot
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34016">34016</a>: Save and restore docBase when using antiResourceLocking, for compatibility with
+        the admin webapp (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33636">33636</a>: Set lastModified attribute when expanding WAR files. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32938">32938</a>: Allow Salted SHA (SSHA) passwords in JNDIRealm. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31288">31288</a>: Allow SMTP authentication for JNDI MailSessionFactory. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Harmonize processing of the context.xml defaults with the way web.xml is processed
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Ignore ';' if it is in the query string (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        private to protected for the webapp classloader (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve logging of filters and listeners startup errors (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33774">33774</a>: Retry once in JNDI realm authenticate failure regardless of the 
+        exception message (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33961">33961</a>: Don't encode '~' in context paths (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32866">32866</a>: Propagate distributable property from context to manager (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32867">32867</a>: Reset distributable attribute in context for clean reload handling (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+          Fix some RealmBase/JNDIRealm log.isXXXEnabled (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34161">34161</a>: Harmonize StandardContext.stop with ContainerBase.stop (remm)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+   
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33971">33971</a>: Set remoteHost to null when Apache doesn't send one. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix calculation of threadRatio for the ms thread pool, and fix setting the updated
+        timeout value (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update the ms thread pool so that we allocate a worker before accepting a new socket,
+        and wait a little if the pool is exhausted; this should make low maxThreads values work a 
+        lot better (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33857">33857</a>: Update information on automatic mod_jk configuration in Apache-HowTo (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix sync block placement in Mapper.addContext (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32741">32741</a>: Fix spelling of "committed" [patch from Ben Souther] (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34133">34133</a>: Make setHeader clear multi-valued headers (billbarker)
+      </td></tr>
+     </table>
+   </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34034">34034</a>: Jasper does not respect external entities (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33810">33810</a>: Incorrect recycling of BodyContent if close is called (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Per instance loggers in Jasper (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+   
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix JvmRouteBinderValve primary failover attribute to
+        org.apache.catalina.cluster.session.JvmRouteOrignalSessionID (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Change attribute name waitForAck to sendAck at ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Integrate new fastasyncqueue cluster sender mode.
+        Support queue size limitation,
+        get all queued objects and send it to the backup node,
+        no queue thread lock contention under high replication load,
+        submitted by Rainer Jung (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add compress attribute to Sender and Receiver to transfer data uncompressed. 
+        At high cluster load this option consume lesser cpu and memory.
+        Implement the compress handling to ReplicationTransmitter, ReplicationListener, 
+        XByteBuffer and Jdk13ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add doProcessingStats to synchronous, asynchronous and fastqueueasync sender modes
+        to get min, avg, max processing times as IDataSender JMX MBeans (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        TcpThreadPool use constant ACK byte array instead create 
+        new 3 byte buffer for every message ack (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor ReplicationTransmitter and ReplicationListener (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        add getCatalinaCluster() to ClusterReceiver and SimpleTcpCluster (pero)
+      </td></tr>    
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update the Api documentation (pero)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+   <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+     <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Use the standard struts taglib URIs in admin JSPs. (billbarker)
+       </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add more host parameters to create new host with host-manager (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34033">34033</a>: Fix quoting related bugs (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33713">33713</a>: Add Struts init code in frameset.jsp as well (remm)
+      </td></tr>
+     </table>
+   </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.8 (yoavs)"><strong>Tomcat 5.5.8 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33204">33204</a>: Fixed SSL HowTo page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33351">33351</a>: Fix silent uninstallation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33489">33489</a>: Missing space in uninstaller message. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Unregister host mbean and all context mbeans at remove a host, s. StandardHost.destroy() and MBeanFactory.createStandardHost/removeHost(,) detected by Thorsten Kamann (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        make it possible to restart connector, now serversocket recreated after stop,start (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        change mbean names from Mapper and ProtocolHandler to connector naming style (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add some log.isXXXEnabled (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Deregister MapperListener after remove connector (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove host only at own domain with same name at all services, detected by Thorsten Kamann (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33187">33187</a>: Remove any logging of the password in the JAAS realm,
+        submitted by Andrew Jaquith (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33033">33033</a>: Don't do anything to the response in the ErrorReportValve
+        if data has already been written (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add charset support for the URLs used by the tasks, to remove deprecation (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=26135">26135</a>: Workaround for memory leak when reloading Struts
+        based web applications by clearing the bean instrospector cache of the JVM on
+        classloader stop, submitted by Tobias Lofstrand. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Ensure that if CLASSPATH is declared on startup - it is not used. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add back use of deployOnStartup in HostConfig (remm)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+         Ant tasks docs patches, submitted by Gabriele Garuglieri. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Use NIO for the raw copying operation, as it is faster (a little under 30%), 
+         and decreases a little the impact of antiResourceLocking. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33357">33357</a>: Fix connection leaks with the DataSourceRealm, as well 
+         as improve efficiency, submitted by Dominik Drzewiecki. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Improve a little logging of servlet exceptions, which should all log the root cause. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         Add new Manager.createSession(sessionId) method, allowing the client to "specify" the session id which should be used using a cookie
+         when using emptySessionPath="true". This fixes session tracking in this case. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33368">33368</a>: Fix memory leak in swallowOutput feature which occurred when the thread pool size is
+         reduced, submitted by Rainer Jung. (remm)
+      </td></tr>
+	  <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          StoreConfig: can't save cluster Membership element (pero)
+       </td></tr>
+	  <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          StoreConfig: suppress default jkHome attribute at connector  (pero)
+      </td></tr>
+	  <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          StoreConfig: Save new dymanic properties from ReplicationTransmitter  (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33463">33463</a>: Remove attributes after context destroy. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33572">33572</a>: context.xml should be a redeploy resource, and add prioritization for
+         redeploy resources. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         PoolTcpEndpoint recreate ServerSocket after start,stop,start connector (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add some log.isXXXEnabled (pero)
+      </td></tr>
+	  <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+	    JkMX: make log4j mbean configurable with attribute log4jEnabled (pero)
+	  </td></tr>
+	  <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+	    When Tomcat runs on Windows and IE is uploading data to the server, the first read 
+	    must be at least 8KB, otherwise upload speed is extremely low, submitted by Noel 
+	    Rocher (remm)
+	  </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+ 
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33223">33223</a>: pageContext.forward and jsp:include result
+        in StringIndexOutOfBoundsException (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33373">33373</a>: Fix handling of context classloader in jspc (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33538">33538</a>: Ignore example and tag-extension elements in TagLibraryInfoImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33539">33539</a>: Better error message when an unknown element is encountered in the tag file. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33219">33219</a>: Minor JspServletWrapper code cleanup. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+  
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          Add instance based ReplicationValve statistics to Mbean descriptor (pero)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          Better I18N support to cluster session and tcp classes (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Support optional primaryIndicator at ReplicationValve to mark that 
+          request processing to existing session is at primary cluster node. 
+          Easy failover detection, when mark is not at 
+          configurable primaryIndicator attribute, submitted by Rainer Jung (pero)
+       </td></tr>
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+          Refactor all implementation from interface IDataSenders (pero)
+       </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Add some usefull attributes and operations to the all sender MBeans. (pero)
+       </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Add keepAlive and waitForAck handling to AsyncSocketSender and factor out a DataSender base class.(pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          ReplicationTransmitter: Enable and Disable autoreconnect sender and waitForAck. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          ReplicationTransmitter: transfer all properties to socket sender from server.xml configuration. (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix create and remove Host for Admin app. (pero)
+      </td></tr>
+    </table>
+   </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.7 (remm)"><strong>Tomcat 5.5.7 (remm)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add installer for mod_jk on IIS. (mturk)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        New store config module for better server.xml saving support.<br>
+        Add &lt;Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" /&gt; to your server.xml (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32081">32081</a>: Remove the JDK requirement from the Unix scripts, submitted
+        by Ben Souther (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32953">32953</a>: SERVLETAPI: XSS Issues, submitted by Mark Thomas (jfarcand)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Update to commons-digester 1.6, JDT 3.0.1, MX4J 2.1.0, Struts 1.2.6 (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+         First integration at StoreConfig to StandardServer (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32714 ">32714 </a>: Don't make the AccessLogValve final (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32694">32694</a>: Fix bad code to make docBase path aboslute in antiLocking
+        method. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32713">32713</a>: Fix resource-env-ref handling. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31201">31201</a>: Improve i18n support in DefaultServlet. This was causing
+        problems with JSP include actions and static files. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add some log.isXXXEnabled to o.a.c.core.StandardHost StandardEngine, StandardService (pero)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Feature addition to add Redirector and failOnError support for all Catalina Ant tasks,
+        submitted by Gabriele Garuglieri (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31198">31198</a>: Fix FORM and DIGEST authentication for non-ASCII
+        usernames and passwords. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Reimplement charset mapper (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add logging of exception which could occur when retrieving the password in JDBCRealm (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=25889">25889</a>: Don't execute queries twice, submitted by Tom Anderson (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32832">32832</a>: request.getSession(false) fails to return null (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28222">28222</a>: request.getRequestURL() in forwarded jsp/servlet returns
+        original url rather than new url as per SRV8.4 (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33157">33157</a>: Fix handling of the buffer length for basic authentication parsing (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32708">32708</a>: Better handling of bad encoding with the string cache. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32781">32781</a>: Fix bad initialization of the "scheme" field of the request
+        object, which would cause getScheme to return "http" for the first request. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Content length should be ignored if there is chunking (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove most deprecation problems for the AJP connector (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32746">32746</a>: Avoid JAR locking when loading classes and improve loading
+        performance by taking advantage of caching, submitted by Dominik Drzewiecki. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          correct JvmRouteSessionIDBinderListener MBean name to &lt;domain&gt;:type=Listener,name=JvmRouteSessionIDBinderListener,host=&lt;host&gt; (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          JMX support to SimpleTcpCluster, ReplicationTransmitter and all senders (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix the webDAV servlet so it can be used via any arbitrary mapping
+        (eg /webdav/*) to edit the contents of a web application. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32729">32729</a>: Stop is optional and may fail, so it needs to be in a separate try/catch (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove the remove method of the manager servlet, and use the undeploy method instead (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32777">32777</a>: Fail if application isn't configured properly, submitted by Gabriele Garuglieri
+        (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32771">32771</a>: Cannot undeploy/deploy misconfigured app after tomcat startup,
+        submitted by Gabriele Garuglieri (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28867">28867</a>: Correct manager documentation to document correct way to
+        reference the ROOT context. Submitted by Stephane Bailliez. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33085">33085</a>: Add support for setting privileged attribute of context
+        to admin webapp. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=33117">33117</a>: Fix Open bugs link broken on default homepage.
+        Patch supplied by Sander Temme. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve javadoc generation for Catalina. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.6 (yoavs)"><strong>Tomcat 5.5.6 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32532">32532</a>: updated logging documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32382">32382</a>: Index page and packaed WAR for sample webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32603">32603</a>: Updated host.xml to reflect appBase resolution. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add child to the map of the parent before starting it. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Decouple usage of the scheme and secure attributes from enabling SSL. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32502">32502</a>: memory leak in DigestAuthenticator. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28709">28709</a>: javax.servlet.http.HttpServletRequest.isRequestedSessionIdValid() returns true for an invalidated session. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32137">32137</a>: Possible thread-safety issue in RealmBase. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32585">32585</a>: Better handling for content length greater than Integer.MAX_VALUE in response. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Allow ApacheConfig and friends to live under an Engine. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Syncronize access to the Jk Request registration count. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Speed the MsgContext on its way to GC. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Keep correct thread counts in Thread pool when thread ends in an exception (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Updated Jasper-HowTo section on using Jikes, changed conf/web.xml JSPServlet to refer people to Jasper-HowTo so that we don't have these instructions in two places. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32505">32505</a>: Fix handling of an empty context parameter (which occurred every time the HTML
+        manager was used to deploy a local war without specifying also a context file). (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.5 (yoavs)"><strong>Tomcat 5.5.5 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32235">32235</a>: Sync conf/web.xml MIME types with Apache httpd. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31132">31132</a>: Better -x/-r support for OS/400 in startup scripts. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">22679</a>: Added misc note on accessing session ID to SSL-HowTo. (yoavs)
+      </td></tr>
+ 
+       <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32249">32249</a>: Updated logging documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32282">32282</a>: Modify Windows Uninstaller to only remove webapps/ROOT and webapps if user asks to remove everything. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32371">32371</a>: outdated introduction.xml page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32373">32373</a>: outdated installation.xml page. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32454">32454</a>: amended JNDI documentation for JavaMail/JavaActivationFramework usage. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32130">32130</a>: Add safety check to FileStore#keys method. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32276">32276</a>: Add developer info to Realm How-To. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32082">32082</a>: Added protected getPrincipals method to MemoryRealm for easier extension. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32023">32023</a>: CGIServlet fails to handle post message with multipart/form data. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32269">32269</a>: JNDIRealm fails with InvalidNameException to authenticate users if LDAP distinguished name (DN) contains slash or double quote character(s). (yoavs)
+      </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Move processExpiresFrequency check to ManagerBase and reflect change to all subclasses (StandardManager, PersientManagerBase, DeltaManager). (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add DIGEST authentication support to the JDBC and DataSource realms. Supports both digested and cleartext passwords. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32429">32429</a>: CGIServlet calculates number of lines received on stderr incorrectly. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32431">32431</a>: Fix typo in code that passes data to CGI script. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32430">32430</a>: Class cast exception in toString() method within CGI servlet. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add some log.isXXXEnabled checks at StandardContext and HostConfig (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Remove the last DefaultContext artifacts (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32031">32031</a>: using createConnector with "http" protocol (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add configFile attribute in JMX descriptors (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Fix autodeployer handling of a war which includes a /META-INF/context.xml, so that it is
+         correctly registered and can be reloaded correctly (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32137">32137</a>: Use of MessageDigest should be synced in DIGEST (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+         Add info log when the autodeployer reloads a context (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Small HTTP/1.1 optimizations: replace usage of Strings with constant byte arrays, and
+        simplify the code converting Strings to bytes (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Greatly reduce the amount of recycle method calls on the buffers (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>Add null OName check for Request unregistration in Jk, to remove
+           exception under JDK 1.5. (billbarker)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32292">32292</a>: Don't send keep-alive header when the protocol
+           can't be parsed. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Updated JspC usage messages to include recently added configurable parameters. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32330">32330</a>: JspC changes context classloader. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          JvmRouteBinderValve/JvmRouteSessionIDBinderListener to bind cluster session after primary node failure at first calling backup node.
+          This was an option to have session stickyness after cluster node crashed. Work only with JESSIONID cookies. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Better log support to DeltaManager to see detail information at debug level. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          Fix FarmWarDeployer based on new HostConfig deployer. (pero)
+       </td></tr>
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          FarmWarDeployer controlled WarWatcher with engine backgroundProcess call.
+          Added processDeployFrequency attribute to Deployer server.xml element. (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32019">32019</a>: Remove maxlength=64 restriction on env entry values in admin webapp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix various problems in realm docs, submitted by Phil Mocek. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add log4j docs submitted by Allistair Crossley. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td><a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=32381">32381</a>: Fix problem where EL expression is used as a
+        place holder in the admin webapp.
+        Submitted by Allistair Crossley. (billbarker)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.4 (yoavs)"><strong>Tomcat 5.5.4 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31671">31671</a>: Update web.xml files to 2.4 schema where applicable. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31912">31912</a>: Add PNG and CSS file types to replication filter default. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add processExpiresFrequency to PersistentManagerBase and made some small JDBCStore optimizations (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Register JSP monitoring mbean for each servlet that declares a jsp-file in web.xml. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31578">31578</a>: Update Manager configuration documentation. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31273">31273</a>: Add support for derefaliases in JNDIRealm. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31623">31623</a>: Better OS400 support in setclasspath.sh. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Extend background processing to most container components. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove all MX4J related code. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Update JAR list in TldConfig. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Register datasources with JMX. With DBCP, this is enough to provide JMX management and monitoring.
+        It might work well with many other data sources which might not register themselves in JMX
+        but do expose their stuff in a java bean fashion. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add the ability to force session cookies to be set to the root path "/". This should not be used
+        on large servers, otherwise tons of cookies may be sent. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Workaround for client socket exceptions occurring while running a CGI, which could cause
+        the external process to hang. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Optimize session cookie IDs conversion to String, since this is an unavoidable and uncacheable
+        operation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Add explicit error message if temp dir does not exist, and remove useless calls to initDirs. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add an optimized access log valve, supporting hardcoded support for the common and combined patterns,
+        and doing a majority of its write-to-logfile operations asynchronously. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Register an MBean to monitor and manage the StringCache, and allow invoking the reset operation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31677">31677</a>: Log warning if work dir for context can't be determined. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31903">31903</a>: Fix condition which seems to not have been properly updated after adding
+        entry.binaryContent = null a little below, submitted by Joe Zhou. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Prevent silent NPEs during StandardContext.start dealing with JMX registration of realm, submitted
+        by Keith Wannamaker. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31592">31592</a>: Support other encodings for digests. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31739">31739</a>: Minor realm-howto and AJP connector doc updates. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31753">31753</a>: Minor inconsistency between JDBC and DataSourceRealm#authenticate. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31683">31683</a>: Minor clarifications to realm documentation. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Improve i18n in TCP endpoint, and add a better error message when an exception occurs
+        in setSocketOptions. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31663">31663</a>: Use interval field as the delay for monitor thread. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove bad shutdown logic for ms pool strategy. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Sync with Cookie, by adding ' ' as a special char. If a special char is present,
+        the string will be quoted. If the client doesn't support it, the String will no be quoted anyway
+        and no IAE will be thrown. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add an optional String cache for ByteChunk.toString and CharChunk.toString. The cache is
+        unsynchronized during most of its operation, and is static after a training period. An operation
+        is provided to allow resetting the cache. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        String caching is enabled by default for ByteChunk. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31090">31090</a>: Use a URL encoded path when setting session cookies. (remm)
+      </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Add getAttributeName() to ProtocolHandler to get all attributes at runtime (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Exposed compilerSourceVM and compilerTargetVM options to JspC. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+       <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+          DeltaManager and SimpleTcpReplicationManager generate double jvmRoute (pero)
+       </td></tr>
+       <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+          Add some missing Getters and log.isXXXEnableds (pero)
+       </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31707">31707</a>: Broken JavaScript confirmation in HTML manager. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove hard-coded admin context path from admin's banner.jsp. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Major connector docs update. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31732">31732</a>: Fix Japanese localization of Manager's list output. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.3 (yoavs)"><strong>Tomcat 5.5.3 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30568">30568</a>: Incomplete setup.html documentation for launching jsvc. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Repackage naming features. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix deployer packaging. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix embed packaging. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix memory leak when Security Manager is turned on. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        When checking status codes for error handling, only check if
+        Response.isError() is true. This way, users may use setStatus() to set their own
+        error status without having the error page invoked. (in which case, the user should've
+        use sendError()) (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove Digester code for Xerces workaround. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Give proper permission to the balancer app when running under the security manager. (jfarcand)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30869">30869</a>: Make sure JAAS realm name is legal. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+          md5Helper, md5Encoder, and normalize are used by WebdavServlet,
+          not DefaultServelt so move them into WebdavServlet.
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31277">31277</a>: Clarified automatic application deployment section of Host configuration page. (yoavs)
+      </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=28631">28631</a>: JAASRealm enhancements to support custom user and role classes  use Commons-Logging. (yoavs)
+     </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31364">31364</a>: Missing resource in org.apache.catalina.core.LocalString.properties. (yoavs)
+     </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31362">31362</a>: Missing -Xdebug in catalina.bat when launching with JPDA and Security. (yoavs)
+     </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31356">31356</a>: Duplicates not counted in session generation. (yoavs)
+     </td></tr>
+     <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+       <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=30949">30949</a>: Make sure ApplicationDispatcher unwraps request/response even if include error occurs. (yoavs)
+     </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fixed StandardContext.getStartTime() to return actual start time/date instead of time (startupTime) it took to start context. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        getRequest/getResponse should return the most relevant interface, to avoid casts. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Add check for directory before considering something is a compressed WAR. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Update the connector documentation. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        When parsing a context file, ignore the "path" attribute:
+        the only place where it is acceptable is in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Digester handling fixes: always call reset in a finally block after using a digester. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove many fields from Connector, and tie the creation of the Connector to the
+        creation of the protocol handler. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove package triggers from the classloader, which seem useless when using Java 5. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Realms will now use set attribute to set themselves in their container when using JMX. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix JMX related operations with the Connector. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix save-to-XML for naming resources. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove authenticator "debug" attributes from the descriptors. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor org.apache.catalina.deploy.ContextXXX to use new super class ResourceBase. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Enable Connector.findLifecycleListener that we can listen start/stop Connector events and save the listener to xml. (pero)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove Watchdog references, as it is no longer used. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31511">31511</a>: Don't call setenv.bat if not found, in *using-launcher scripts. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31549">31549</a>: Add name to WebappClassLoader's stopped message. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Allow customized server header for Standalone. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Digester.reset now removes the error handler, the root and calls clear, to prevent
+        any memory leak. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove useless stuff in digester. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        In HTTP, add a utility method to convert strings to byte arrays, and output the server header
+        directly as bytes. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Add a master slave thread pool based on the code from Tomcat 4.0. It is less exotic than the
+        default one, and might fare better on some picky systems, such as Redhat 9. The two threadpools
+        will likely be removed once we use the Java 5 API, although more investigation is needed. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix issue with getProperty in IntrospectionUtils. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove attribute translation for SSL in the HTTP protocol handler: it will now be done in the
+        Catalina Connector class. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix handling of the "timeout" attribute of the HTTP protocol handler. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31171">31171</a>: Wrap to avoid ClassCastException in PageContextImpl. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31257">31257</a>: Added specification of endorsed dirs if forking.  Note that this is fairly useless for now in 5.5 since it uses JDT and not javac by default. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/docs.gif" class="icon" alt="docs"></td><td>
+        Document new Jasper defaults, and update the production configuration. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Copied XML encoding detection logic into JASPER, so we're no longer dependent on Xerces. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix cosmetic issue where extra CRLF would be inserted during each precompilation in web.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Allow configuring the interval following a compilation during which a JSP will not be checked
+        for modifications. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31465">31465</a>: Ensure that the compiler reads the .java file using the same encoding as that with which it was written. (markt)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31510">31510</a>: Null out response in JspWriterImpl#recycle to aid in JBoss memory leak. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to the cluster (notifyListenersOnReplication) to enable/disable the
+        notifications of attribute/context listeners upon replication of a session delta
+        Works only with the DeltaManager (fhanik)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Added flag to the cluster (Cluster/Sender/ackTimeout) to set the timeout in milliseconds
+        for a synchronous request to go through, defaults to 15000ms (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=29485">29485</a>: I broke the HTML manager when adding JavaScript confirmation, fixed now ;) (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31058">31058</a>: Ensure StatusTransformer escapes query string for XML. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Added contexts' start time (available from 'startTime' MBean attribute of StandardContext) to status page (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31264">31264</a>: the deploy task should now behave correctly. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactor the manager servlet to make calls to the deployer more robust. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the more robust String.valueOf in the form edit action of the connector. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.2 (yoavs)"><strong>Tomcat 5.5.2 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        The installer will now use the system's JRE. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix URL generation for classloaders on Windows, causing common/classes and shared/classes
+        to be unusable (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31110">31110</a>: Fix resource packaging bug for servlets (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix 5.5 regression where going through the authenticator would create a session each time. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix classname of the connector in Embedded, and remove the socket factory. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Redo server header handling again. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Cleanup a little access to the headers using a local variable and
+        use setValue for Server and Date headers. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove maxTagNesting and curTagNesting since they are unused. (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix tag files handling with JDT, which were ususable, and refactor the lifecycle handling of
+        the page loader. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.1 (yoavs)"><strong>Tomcat 5.5.1 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Tomcat 5.5 can be built on JDK 5.0. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Windows installer polish. (mladen, remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove dependency on Jakarta regexp. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow overriding the location of the default context file, similar to the default
+        web.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Backport if-else logic for SSI servlet from 4.1 (funkman)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Remove DefaultContext elements from the digester rules. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix ResourceLink handling. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Modify the auto deployer to get along with contexts which are statically defined in server.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Externalize constant strings defining the location of deployment related resources. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31052">31052</a>: BeanFactory swallows root cause of exception. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Allow using deploy Ant task with just config attribute, submitted by Michael Schuerig. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added longest time an expired session had been alive to set of monitorable session manager attributes. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added average time an expired session had been alive to set of monitorable session manager attributes. (luehe)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Clear a reference in the digester where a context would be referenced for more time than it
+        needed, until the next context deployment operation. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=31018">31018</a>: Race condition in SystemLogHandler. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Use the "compiler" parameter to allow specifying that Ant should be used. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Ignore JDT compiler warnings. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/add.gif" class="icon" alt="add"></td><td>
+        Added compilerTargetVM option support, "1.4" default. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/fix.gif" class="icon" alt="fix"></td><td>
+        Fix adding the clustering valve, so that session replication actually occurs. (fhanik)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Major documentation update with current Tomcat 5.5 changes. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Added JavaScript confirmation dialog to "dangerous" Manager servler links. (yoavs)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat 5.5.0 (yoavs)"><strong>Tomcat 5.5.0 (yoavs)</strong></a></font></td></tr><tr><td><blockquote>
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General"><strong>General</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Many updated and fixed JavaDocs. (yoavs)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Designed and tested Tomcat on J2SE 5.0 (aka JDK 1.5). (everyone)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Bundled Eclipse JDT (new dependency) to allow Tomcat to run on a JRE only, i.e. no JDK required. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Repackage commons-dbcp and its dependencies as a sigle smaller WAR, with renamed packages. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Removed dependencies on commons-digester, commons-beanutils, and commons-collections.
+        The relevant digester functionality is now merged in tomcat-util. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Catalina"><strong>Catalina</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Removed usage of org.apache.catalina.Logger, increased usage of commons-logging everywhere. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Refactored classloader code to better handle JAR and general resource locking. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Written JMX-related code to play nicely with J2SE 5.0 built-in JMX abilities. (remm, costin)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Extensively profiled and optimized the server startup performance as well as the request mapping and processing pipeline. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        The container will now always process a /META-INF/context.xml resource, unless the webapp has a specified external context file. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        New default configuration mechanism for web applications, replacing DefaultContext. This uses a
+        shared context file located in conf/context.xml. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Revamped deployer, alloying full hotdeploy (note: on Windows, this requires the anti file locking
+        features). (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Remove verbosity from the JNDI resources configuration, by allowing arbitrary attributes on the Resource element. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Simpler Valve interface, to allow smaller stack traces and reducing the amount of method calls. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Coyote"><strong>Coyote</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Jasper"><strong>Jasper</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Eclipse JDT is now the default Java compiler in Jasper. Source dependencies are now loaded from
+        the container classloader, and compilation times are much faster. (remm)
+      </td></tr>
+      <tr><td><img src="./../images/update.gif" class="icon" alt="update"></td><td>
+        Jasper development mode should now have acceptable performance for heavily accessed pages.
+        Precompiling JSPs is still significantly more efficient, however. (remm)
+      </td></tr>
+    </table>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster"><strong>Cluster</strong></a></font></td></tr><tr><td><blockquote>
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps"><strong>Webapps</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellspacing="2" cellpadding="2" border="0">
+    </table>
+  </blockquote></td></tr></table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/class-loader-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/class-loader-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/class-loader-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,242 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Class Loader HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Class Loader HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following rules cover about 95% of the decisions that application
+developers and deployers must make about where to place class and resource
+files to make them available to web applications:</p>
+<ul>
+<li>For classes and resources specific to a particular web application,
+    place unpacked classes and resources under <code>/WEB-INF/classes</code>
+    of your web application archive, or place JAR files containing those
+    classes and resources under <code>/WEB-INF/lib</code> of your web
+    application archive.</li>
+<li>For classes and resources that must be shared across all web applications,
+    place unpacked classes and resources under
+    <code>$CATALINA_BASE/shared/classes</code>, or place JAR files
+    containing those classes and resources under
+    <code>$CATALINA_BASE/shared/lib</code>.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Like many server applications, Tomcat 5 installs a variety of class loaders
+(that is, classes that implement <code>java.lang.ClassLoader</code>) to allow
+different portions of the container, and the web applications running on the
+container, to have access to different repositories of available classes and
+resources.  This mechanism is used to provide the functionality defined in the
+Servlet Specification, version 2.4 -- in particular, Sections 9.4 and 9.6.</p>
+
+<p>In a J2SE 2 (that is, J2SE 1.2 or later) environment, class loaders are
+arranged in a parent-child tree.  Normally, when a class loader is asked to
+load a particular class or resource, it delegates the request to a parent
+class loader first, and then looks in its own repositories only if the parent
+class loader(s) cannot find the requested class or resource.  The model for
+web application class loaders differs slightly from this, as discussed below,
+but the main principles are the same.</p>
+
+<p>When Tomcat 5 is started, it creates a set of class loaders that are
+organized into the following parent-child relationships, where the parent
+class loader is above the child class loader:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      Bootstrap
+          |
+       System
+          |
+       Common
+      /      \
+ Catalina   Shared
+             /   \
+        Webapp1  Webapp2 ... 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>The characteristics of each of these class loaders, including the source
+of classes and resources that they make visible, are discussed in detail in
+the following section.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Class Loader Definitions"><strong>Class Loader Definitions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>As indicated in the diagram above, Tomcat 5 creates the following class
+loaders as it is initialized:</p>
+<ul>
+<li><strong>Bootstrap</strong> - This class loader contains the basic runtime
+    classes provided by the Java Virtual Machine, plus any classes from JAR
+    files present in the System Extensions directory
+    (<code>$JAVA_HOME/jre/lib/ext</code>).  <em>NOTE</em> - Some JVMs may
+    implement this as more than one class loader, or it may not be visible
+    (as a class loader) at all.</li>
+<li><strong>System</strong> - This class loader is normally initialized from
+    the contents of the <code>CLASSPATH</code> environment variable.  All such
+    classes are visible to both Tomcat internal classes, and to web
+    applications.  However, the standard Tomcat 5 startup scripts
+    (<code>$CATALINA_HOME/bin/catalina.sh</code> or
+    <code>%CATALINA_HOME%\bin\catalina.bat</code>) totally ignore the contents
+    of the <code>CLASSPATH</code> environment variable itself, and instead
+    build the System class loader from the following repositories:
+    <ul>
+    <li><em>$CATALINA_HOME/bin/bootstrap.jar</em> - Contains the main() method
+        that is used to initialize the Tomcat 5 server, and the class loader
+        implementation classes it depends on.</li>
+    <li><em>$JAVA_HOME/lib/tools.jar</em> - Contains the "javac" compiler used
+        to convert JSP pages into servlet classes.</li>
+    <li><em>$CATALINA_HOME/bin/commons-logging-api.jar</em> - Jakarta commons 
+        logging API.</li>
+    <li><em>$CATALINA_HOME/bin/commons-daemon.jar</em> - Jakarta commons 
+        daemon API.</li>
+    <li><em>jmx.jar</em> - The JMX 1.2 implementation.</li>
+    </ul></li>
+<li><strong>Common</strong> - This class loader contains additional classes
+    that are made visible to both Tomcat internal classes and to all web
+    applications.  Normally, application classes should <strong>NOT</strong>
+    be placed here.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/common/classes</code>, as well as classes and
+    resources in JAR files under the
+    <code>$CATALINA_HOME/commons/endorsed</code>,
+    <code>$CATALINA_HOME/commons/i18n</code> and
+    <code>$CATALINA_HOME/common/lib</code> directories,
+    are made visible through this
+    class loader.  By default, that includes the following:
+    <ul>
+    <li><em>commons-el.jar</em> - Jakarta commons el, implementing the 
+        expression language used by Jasper.</li>
+    <li><em>jasper-compiler.jar</em> - The JSP 2.0 compiler.</li>
+    <li><em>jasper-compiler-jdt.jar</em> - The Eclipse JDT Java compiler.</li>
+    <li><em>jasper-runtime.jar</em> - The JSP 2.0 runtime.</li>
+    <li><em>jsp-api.jar</em> - The JSP 2.0 API.</li>
+    <li><em>naming-common.jar</em> - The JNDI implementation used by Tomcat 5
+        to represent in-memory naming contexts.</li>
+    <li><em>naming-factory.jar</em> - The JNDI implementation used by Tomcat 5
+        to resolve references to enterprise resources (EJB, connection 
+        pools).</li>
+    <li><em>naming-factory-dbcp.jar</em> - Jakarta commons DBCP, providing a
+        JDBC connection pool to web applications. The classes have been moved
+        out of their default org.apache.commons package.</li>
+    <li><em>naming-java.jar</em> - Handler for the java: namespace.</li>
+    <li><em>naming-resources.jar</em> - The specialized JNDI naming context
+        implementation used to represent the static resources of a web
+        application. This is not related to the support of the J2EE ENC, and
+        cannot be removed.</li>
+    <li><em>servlet-api.jar</em> - The Servlet 2.4 API.</li>
+    <li><em>tomcat-i18n-**.jar</em> - Optional JARs containing resource bundles
+        for other languages. As default bundles are also included in each 
+        individual JAR, they can be safely removed if no internationalization
+        of messages is needed.</li>
+    </ul></li>
+<li><strong>Catalina</strong> - This class loader is initialized to include
+    all classes and resources required to implement Tomcat 5 itself.  These
+    classes and resources are <strong>TOTALLY</strong> invisible to web
+    applications.  All unpacked classes and resources in
+    <code>$CATALINA_HOME/server/classes</code>, as well as classes and
+    resources in JAR files under
+    <code>$CATALINA_HOME/server/lib</code>, are made visible through
+    this class loader.  By default, that includes the following:
+    <ul>
+    <li><em>catalina.jar</em> - Implementation of the Catalina servlet
+        container portion of Tomcat 5.</li>
+    <li><em>catalina-ant.jar</em> - Some Ant tasks which can be used to
+        manage Tomcat using the manager web application.</li>
+    <li><em>catalina-optional.jar</em> - Some optional components of
+        Catalina.</li>
+    <li><em>commons-modeler.jar</em> - A model MBeans implementation used
+        by Tomcat to expose its internal objects through JMX.</li>
+    <li><em>servlets-xxxxx.jar</em> - The classes associated with each
+        internal servlet that provides part of Tomcat's functionality.
+        These are separated so that they can be completely removed if the
+        corresponding service is not required, or they can be subject to
+        specialized security manager permissions.</li>
+    <li><em>tomcat-coyote.jar</em> - Coyote API.</li>
+    <li><em>tomcat-http.jar</em> - Standalone Java HTTP/1.1 
+        connector.</li>
+    <li><em>tomcat-ajp.jar</em> - Classes for the Java portion of the
+        <code>AJP</code> web server connector, which allows Tomcat to
+        run behind web servers such as Apache and iPlanet iAS and iWS.</li>
+    <li><em>tomcat-util.jar</em> - Utility classes required by some
+        Tomcat connectors.</li>
+    </ul></li>
+<li><strong>Shared</strong> - This class loader is the place to put classes
+    and resources that you wish to share across <strong>ALL</strong>
+    web applications (unless Tomcat internal classes also need access,
+    in which case you should put them in the <strong>Common</strong>
+    class loader instead).  All unpacked classes and resources in
+    <code>$CATALINA_BASE/shared/classes</code>, as well as classes and
+    resources in JAR files under <code>$CATALINA_BASE/shared/lib</code>, are
+    made visible through this class loader. If multiple Tomcat instances are
+    run from the same binary using the $CATALINA_BASE environment variable,
+    then this classloader repositories are relative to $CATALINA_BASE rather
+    than $CATALINA_HOME.</li>
+<li><strong>WebappX</strong> - A class loader is created for each web
+    application that is deployed in a single Tomcat 5 instance.  All unpacked
+    classes and resources in the <code>/WEB-INF/classes</code> directory of
+    your web application archive, plus classes and resources in JAR files
+    under the <code>/WEB-INF/lib</code> directory of your web application
+    archive, are made visible to the containing web application, but to
+    no others.</li>
+</ul>
+
+<p>As mentioned above, the web application class loader diverges from the
+default Java 2 delegation model (in accordance with the recommendations in the
+Servlet Specification, version 2.3, section 9.7.2 Web Application Classloader).  
+When a request to load a
+class from the web application's <em>WebappX</em> class loader is processed,
+this class loader will look in the local repositories <strong>first</strong>,
+instead of delegating before looking.  There are exceptions. Classes which are
+part of the JRE base classes cannot be overriden. For some classes (such as
+the XML parser components in J2SE 1.4+), the J2SE 1.4 endorsed feature can be 
+used  
+(see the common classloader definition above).
+Last, any JAR containing servlet API classes will be ignored by the 
+classloader.
+All other class loaders in Tomcat 5 follow the usual delegation pattern.</p>
+
+<p>Therefore, from the perspective of a web application, class or resource
+loading looks in the following repositories, in this order:</p>
+<ul>
+<li>Bootstrap classes of your JVM</li>
+<li>System class loader classses (described above)</li>
+<li><em>/WEB-INF/classes</em> of your web application</li>
+<li><em>/WEB-INF/lib/*.jar</em> of your web application</li>
+<li><em>$CATALINA_HOME/common/classes</em></li>
+<li><em>$CATALINA_HOME/common/endorsed/*.jar</em></li>
+<li><em>$CATALINA_HOME/common/i18n/*.jar</em></li>
+<li><em>$CATALINA_HOME/common/lib/*.jar</em></li>
+<li><em>$CATALINA_BASE/shared/classes</em></li>
+<li><em>$CATALINA_BASE/shared/lib/*.jar</em></li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="XML Parsers and J2SE 1.4"><strong>XML Parsers and J2SE 1.4</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Among many other changes, the J2SE 1.4 release packages the JAXP APIs, and
+a version of Xerces, inside the JRE.  This has impacts on applications that
+wish to use their own XML parser.</p>
+
+<p>In previous versions of Tomcat 5, you could simply replace the XML parser
+in the <code>$CATALINA_HOME/common/lib</code> directory to change the parser
+used by all web applications.  However, this technique will not be effective
+when you are running on J2SE 1.4, because the usual class loader delegation
+process will always choose the implementation inside the JDK in preference
+to this one.</p>
+
+<p>JDK 1.4 supports a mechanism called the "Endorsed Standards Override
+Mechanism" to allow replacement of APIs created outside of the JCP (i.e.
+DOM and SAX from W3C).  It can also be used to update the XML parser
+implementation.  For more information, see:
+<a href="http://java.sun.com/j2se/1.4/docs/guide/standards/index.html">
+http://java.sun.com/j2se/1.4/docs/guide/standards/index.html</a>.</p>
+
+<p>Tomcat utilizes this mechanism by including the system property setting
+<code>-Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed</code> in the
+command line that starts the container.  Therefore, you can replace the
+parser that is installed in this directory, and it will get used even on a
+JDK 1.4 system.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Running under a security manager"><strong>Running under a security manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When running under a security manager the locations from which classes
+are permitted to be loaded will also depend on the contents of your policy
+file. See <a href="security-manager-howto.html">Security Manager HOW-TO</a>
+for further information.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cluster-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cluster-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/cluster-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1114 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Clustering/Session Replication HOW-TO</title><meta value="Filip Hanik" name="author"><meta value="fhanik at apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Clustering/Session Replication HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To run session replication in your Tomcat 5.5 container, the following steps
+should be completed:</p>
+<ul>
+<li>All your session attributes must implement <code>java.io.Serializable</code></li>
+<li>Uncomment the <code>Cluster</code> element in server.xml</li>
+<li>Uncomment the <code>Valve(ReplicationValve)</code> element in server.xml</li>
+<li>If your Tomcat instances are running on the same machine, make sure the <code>tcpListenPort</code>
+    attribute is unique for each instance.</li>
+<li>Make sure your <code>web.xml</code> has the <code>&lt;distributable/&gt;</code> element 
+    or set at your <code>&lt;Context distributable="true" /&gt;</code></li>
+<li>Make sure that jvmRoute attribute is set at your Engine <code>&lt;Engine name="Catalina" jvmRoute="node01" &gt;</code></li>
+<li>Make sure that all nodes have the same time and sync with NTP service!</li>
+<li>Make sure that your loadbalancer is configured for sticky session mode.</li>
+</ul>
+<p>Load balancing can be achieved through many techniques, as seen in the
+<a href="balancer-howto.html">Load Balancing</a> chapter.</p>
+<p>Note: Remember that your session state is tracked by a cookie, so your URL must look the same from the out
+   side otherwise, a new session will be created.</p>
+<p>Note: Clustering support currently requires the JDK version 1.4 or later.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To enable session replication in Tomcat, three different paths can be followed to achieve the exact same thing:</p>
+<ol>
+  <li>Using session persistence, and saving the session to a shared file system (PersistenceManager + FileStore)</li>
+  <li>Using session persistence, and saving the session to a shared database (PersistenceManager + JDBCStore)</li>
+  <li>Using in-memory-replication, using the SimpleTcpCluster that ships with Tomcat 5 (server/lib/catalina-cluster.jar)</li>
+</ol>
+
+<p>In this release of session replication, Tomcat performs an all-to-all replication of session state.
+
+   This is an algorithm that is only efficient when the clusters are small. For large clusters, the next
+   release will support a primary-secondary session replication where the session will only be stored at one
+   or maybe two backup servers. 
+   Currently you can use the domain worker attribute (mod_jk &gt; 1.2.8) to build cluster partitions
+   with the potential of very scaleable cluster solution.
+   In order to keep the network traffic down in an all-to-all environment, you can split your cluster
+   into smaller groups. This can be easily achieved by using different multicast addresses for the different groups.
+   A very simple setup would look like this:
+   </p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+        DNS Round Robin
+               |
+         Load Balancer
+          /           \
+      Cluster1      Cluster2
+      /     \        /     \
+  Tomcat1 Tomcat2  Tomcat3 Tomcat4
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>What is important to mention here, is that session replication is only the beginning of clustering.
+   Another popular concept used to implement clusters is farming, ie, you deploy your apps only to one
+   server, and the cluster will distribute the deployments across the entire cluster.
+   This is all capabilities that can go into with the FarmWarDeployer (s. cluster example at <code>server.xml</code>)</p>
+<p>In the next section will go deeper into how session replication works and how to configure it.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How it Works"><strong>How it Works</strong></a></font></td></tr><tr><td><blockquote>
+<p>To make it easy to understand how clustering works, We are gonna take you through a series of scenarios.
+   In the scenario we only plan to use two tomcat instances <code>TomcatA</code> and <code>TomcatB</code>.
+   We will cover the following sequence of events:</p>
+
+<ol>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatB</code> starts up (Wait that TomcatA start is complete)</li>
+<li><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</li>
+<li><code>TomcatA</code> crashes</li>
+<li><code>TomcatB</code> receives a request for session <code>S1</code></li>
+<li><code>TomcatA</code> starts up</li>
+<li><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</li>
+<li><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.</li>
+</ol>
+
+<p>Ok, now that we have a good sequence, we will take you through exactly what happens in the session repliction code</p>
+
+<ol>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>
+        Tomcat starts up using the standard start up sequence. When the Host object is created, a cluster object is associated with it.
+        When the contexts are parsed, if the distributable element is in place in web.xml
+        Tomcat asks the Cluster class (in this case <code>SimpleTcpCluster</code>) to create a manager
+        for the replicated context. So with clustering enabled, distributable set in web.xml
+        Tomcat will create a <code>DeltaManager</code> for that context instead of a <code>StandardManager</code>.
+        The cluster class will start up a membership service (multicast) and a replication service (tcp unicast).
+        More on the architecture further down in this document.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> starts up</b>
+    <p>
+        When TomcatB starts up, it follows the same sequence as TomcatA did with one exception.
+        The cluster is started and will establish a membership (TomcatA,TomcatB).
+        TomcatB will now request the session state from a server that already exists in the cluster,
+        in this case TomcatA. TomcatA responds to the request, and before TomcatB starts listening
+        for HTTP requests, the state has been transferred from TomcatA to TomcatB.
+        In case TomcatA doesn't respond, TomcatB will time out after 60 seconds, and issue a log
+        entry. The session state gets transferred for each web application that has distributable in
+        its web.xml. Note: To use session replication efficiently, all your tomcat instances should be
+        configured the same.
+    </p><p></p>
+</li>
+<li><B><code>TomcatA</code> receives a request, a session <code>S1</code> is created.</B>
+    <p>
+        The request coming in to TomcatA is treated exactly the same way as without session replication.
+        The action happens when the request is completed, the <code>ReplicationValve</code> will intercept
+        the request before the response is returned to the user.
+        At this point it finds that the session has been modified, and it uses TCP to replicata the
+        session to TomcatB. Once the serialized data has been handed off to the operating systems TCP logic,
+        the request returns to the user, back through the valve pipeline.
+        For each request the entire session is replicated, this allows code that modifies attributes
+        in the session without calling setAttribute or removeAttribute to be replicated.
+        a useDirtyFlag configuration parameter can be used to optimize the number of times
+        a session is replicated.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatA</code> crashes</b>
+    <p>
+        When TomcatA crashes, TomcatB receives a notification that TomcatA has dropped out
+        of the cluster. TomcatB removes TomcatA from its membership list, and TomcatA will no longer
+        be notified of any changes that occurs in TomcatB.
+        The load balancer will redirect the requests from TomcatA to TomcatB and all the sessions
+        are current.
+    </p><p></p>
+</li>
+<li><b><code>TomcatB</code> receives a request for session <code>S1</code></b>
+    <p>Nothing exciting, TomcatB will process the request as any other request.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> starts up</b>
+    <p>Upon start up, before TomcatA starts taking new request and making itself
+    available to it will follow the start up sequence described above 1) 2).
+    It will join the cluster, contact TomcatB for the current state of all the sessions.
+    And once it receives the session state, it finishes loading and opens its HTTP/mod_jk ports.
+    So no requests will make it to TomcatA until it has received the session state from TomcatB.
+    </p><p></p>
+</li>
+<li><b><code>TomcatA</code> receives a request, invalidate is called on the session (<code>S1</code>)</b>
+    <p>The invalidate is call is intercepted, and the session is queued with invalidated sessions.
+        When the request is complete, instead of sending out the session that has changed, it sends out
+        an "expire" message to TomcatB and TomcatB will invalidate the session as well.
+    </p><p></p>
+
+</li>
+<li><b><code>TomcatB</code> receives a request, for a new session (<code>S2</code>)</b>
+    <p>Same scenario as in step 3)
+    </p><p></p>
+
+
+</li>
+<li><code>TomcatA</code> The session <code>S2</code> expires due to inactivity.
+    <p>The invalidate is call is intercepted the same was as when a session is invalidated by the user,
+       and the session is queued with invalidated sessions.
+       At this point, the invalidet session will not be replicated across until
+       another request comes through the system and checks the invalid queue.
+    </p><p></p>
+</li>
+</ol>
+
+<p>Phuuuhh! :)</p>
+
+<p><b>Membership</b>
+    Clustering membership is established using very simple multicast pings.
+    Each Tomcat instance will periodically send out a multicast ping,
+    in the ping message the instance will broad cast its IP and TCP listen port
+    for replication.
+    If an instance has not received such a ping within a given timeframe, the
+    member is considered dead. Very simple, and very effective!
+    Of course, you need to enable multicasting on your system.
+</p>
+
+<p><b>TCP Replication</b>
+    Once a multicast ping has been received, the member is added to the cluster
+    Upon the next replication request, the sending instance will use the host and
+    port info and establish a TCP socket. Using this socket it sends over the serialized data.
+    The reason I choose TCP sockets is because it has built in flow control and guaranteed delivery.
+    So I know, when I send some data, it will make it there :)
+</p>
+
+<p><b>Distributed locking and pages using frames</b>
+    Tomcat does not keep session instances in sync across the cluster.
+    The implementation of such logic would be to much overhead and cause all
+    kinds of problems. If your client accesses the same session
+    simultanously using multiple requests, then the last request
+    will override the other sessions in the cluster.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Architecture"><strong>Cluster Architecture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><b>Component Levels:</b>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+         Server
+           |
+         Service
+           |
+         Engine
+           |  \ 
+           |  --- Cluster --*
+           |
+         Host
+           |
+         ------
+        /      \
+     Cluster    Context(1-N)                 
+        |             \
+        |             -- Manager
+        |                   \
+        |                   -- DeltaManager
+        |
+     -----------------------------
+     |          |         |       \
+   Receiver    Sender   Membership  \
+     \                               -- Valve
+     -- SocketReplicationListener    |      \
+     -- ReplicationListener          |       -- ReplicationValve
+                                     |       -- JvmRouteBinderValve 
+                                     |
+                                     -- LifecycleListener 
+                                     |
+                                     -- ClusterListener 
+                                     |      \
+                                     |       -- ClusterSessionListener
+                                     |       -- JvmRouteSessionIDBinderListener
+                                     |
+                                     -- Deployer 
+                                            \
+                                             -- FarmWarDeployer
+      
+      
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   Sender
+    \
+    -- ReplicationTransmitter 
+             |
+             ---------
+                      \
+                   IDataSender
+                          \
+                          |
+                          --- (sync)
+                          |  \
+                          |   -- PooledSocketSender   (pooled)
+                          |   -- SockerSender         (synchronous)
+                          |                                
+                          --- (async)
+                             \
+                              -- AsyncSocketSender     (asynchronous)
+                              -- FastAsyncSocketSender (fastasyncqueue)         
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration"><strong>Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>The cluster configuration is described in the sample server.xml file.
+What is worth to mention is that the attributes starting with mcastXXX
+are for the membership multicast ping, and the attributes starting with tcpXXX
+are for the actual TCP replication.
+</p>
+<p>
+    The membership is established by all the tomcat instances are sending broadcast messages
+    on the same multicast IP and port.
+    The TCP listen port, is the port where the session replication is received from other members.
+</p>
+<p>
+    The replication valve is used to find out when the request has been completed and initiate the
+    replication.
+</p>
+<p>
+    One of the most important performance considerations is the synchronous (pooled or not pooled) versus asynchronous replication
+    mode. In a synchronous replication mode the request doesn't return until the replicated session has been
+    sent over the wire and reinstantiated on all the other cluster nodes.
+    There are two settings for synchronous replication. Pooled or not pooled.
+    Not pooled (ie replicationMode="fastasnycqueue" or "synchronous") means that all the replication request are sent over a single
+    socket.
+    Using synchronous mode can potentially becomes a bottleneck when a lot of messages generated,
+    You can overcome this bottleneck by setting replicationMode="pooled" but then you worker threads blocks with replication .
+    What is recommended here is to increase the number of threads that handle
+    incoming replication request. This is the tcpThreadCount property in the cluster
+    section of server.xml. The pooled setting means that we are using multiple sockets, hence increases the performance.
+    Asynchronous replication, should be used if you have sticky sessions until fail over, then
+    your replicated data is not time crucial, but the request time is, at this time leave the tcpThreadCount to
+    be number-of-nodes-1.
+    During async replication, the request is returned before the data has been replicated. async replication yields shorter
+    request times, and synchronous replication guarantees the session to be replicated before the request returns.
+</p>
+<p>
+    The parameter "replicationMode" has four different settings: "pooled", "synchronous", "asynchronous" and "fastasyncqueue"
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Simple Cluster Configuration"><strong>Simple Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Simple one line configuration<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"&gt;
+             &lt;Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
+            &lt;/Host&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<br>
+The default mode configuration setup a <em>fastasyncqueue</em> mode cluster configuration with following
+parameters:
+<ul>
+    <li>Open Membership receiver at <em>228.0.0.4</em> and send to multicast udp port <em>8012</em></li>
+    <li>Send membership every 1 sec and drop member after 30sec.</li>
+    <li>Open message receiver at default ip interface at first free port between <em>8015</em> and <em>8019</em>.</li>
+    <li>Receiver message with <em>SocketReplicationListener</em> </li>
+    <li>Configure a <em>ReplicationTransmitter</em> with <em>fastasyncqueue</em> sender mode.</li>
+    <li>Add <em>ClusterSessionListener</em> and <em>ReplicationValve</em>.</li>
+</ul> 
+</p>
+<p>
+<b>NOTE</b>: Use this configuration when you need very quick a test cluster with
+at your developer machine. You can change the default attributes from cluster sub elements.
+Use following cluster attribute prefixes <em>sender.</em>,
+<b>receiver.</b>, <b>service.</b>, <b>manager.</b>, <b>valve.</b> and <b>listener.</b>.
+<br><b>Example</b> configure cluster at windows laptop with network connection and
+change receiver port range<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster                 className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+          service.mcastBindAddress="127.0.0.1" 
+            receiver.tcpListenPort="9070" 
+         receiver.tcpListenMaxPort="9075" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>    
+<br>       
+<b>WARNING</b>: When you add you sub elements, there overwrite the defaults complete.
+<br><b>Example</b> configure cluster with cluster failover jsessionid support. In this
+case you need also the defaultmode Cluster listener <em>ClusterSessionListener</em> and <em>ReplicationValve</em>.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster                 className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+          service.mcastBindAddress="127.0.0.1" 
+            receiver.tcpListenPort="9070" 
+         receiver.tcpListenMaxPort="9075" &gt;
+       &lt;ClusterListener  className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+       &lt;ClusterListener  className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+       &lt;Valve            className="org.apache.catalina.cluster.tcp.ReplicationValve"
+                            filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
+                  primaryIndicator="true" /&gt;
+	   &lt;Valve            className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+	                      enabled="true"  /&gt;
+&lt;Cluster/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div> 
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Simple Engine Cluster Configuration for all hosts"><strong>Simple Engine Cluster Configuration for all hosts</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Simple one line engine configuration<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+   &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+        &lt;Cluster      className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"/&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"/&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<br>
+See default mode configuration description as simple host cluster example before.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Complex Cluster Configuration"><strong>Complex Cluster Configuration</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<br><b>Example</b> Configure cluster with complete sub elements. Activate this node
+as master farm delopyer. Message receiver is NIO based <em>ReplicationListener</em> with six parallel
+worker threads.
+<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+       &lt;Server                 port="8011" 
+                       shutdown="SHUTDOWN" &gt;
+    &lt;GlobalNamingResources&gt;
+    &lt;Resource              name="UserDatabase" auth="Container"
+                           type="org.apache.catalina.UserDatabase"
+                    description="User database that can be updated and saved"
+                        factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+                        pathname="conf/tomcat-users.xml" /&gt;
+  &lt;/GlobalNamingResources&gt;
+    &lt;Service              name="Catalina"&gt;
+        &lt;Connector        port="9012" 
+                      protocol="AJP/1.3"
+        &lt;Connector         port="9013"
+                     maxThreads="100"
+                minSpareThreads="4"
+                maxSpareThreads="4"
+        /&gt;
+        &lt;Engine            name="Catalina" 
+                   defaultHost="localhost" 
+                        jvmRoute="node01"&gt;
+        &lt;Realm        className="org.apache.catalina.realm.UserDatabaseRealm"
+                   resourceName="UserDatabase" /&gt;
+            &lt;Host          name="localhost"
+                        appBase="webapps"&gt;
+                &lt;Cluster                  className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
+                                       doClusterLog="true"
+                                     clusterLogName="clusterlog"
+                                  manager.className="org.apache.catalina.cluster.session.DeltaManager"
+                   manager.expireSessionsOnShutdown="false"
+               manager.notifyListenersOnReplication="false"
+        manager.notifySessionListenersOnReplication="false"
+                            manager.sendAllSessions="false"
+                        manager.sendAllSessionsSize="500"
+                    manager.sendAllSessionsWaitTime="20"&gt;
+                  &lt;Membership 
+                                          className="org.apache.catalina.cluster.mcast.McastService"
+                                          mcastAddr="228.0.0.4"
+                                   mcastBindAddress="127.0.0.1" 
+                                 mcastClusterDomain="d10" 
+                                          mcastPort="45564"
+                                     mcastFrequency="1000"
+                                      mcastDropTime="30000"/&gt;
+                  &lt;Receiver 
+                                           className="org.apache.catalina.cluster.tcp.ReplicationListener"
+                                    tcpListenAddress="auto"
+                                       tcpListenPort="9015"
+                                  tcpSelectorTimeout="100"
+                                      tcpThreadCount="6"
+                  &lt;Sender
+                                           className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+                                     replicationMode="fastasyncqueue"
+                                      recoverTimeout="5000"
+                                      recoverCounter="6"
+                        doTransmitterProcessingStats="true"
+                                   doProcessingStats="true"
+                                      doWaitAckStats="true"
+                                       queueTimeWait="true"
+                                        queueDoStats="true"
+                                      queueCheckLock="true"
+                                          ackTimeout="15000"
+                                          waitForAck="true"
+                                    keepAliveTimeout="80000"
+                            keepAliveMaxRequestCount="-1"/&gt;
+                  &lt;Valve                   className="org.apache.catalina.cluster.tcp.ReplicationValve"
+                                              filter=".*\.gif;.*\.js;.*\.css;.*\.png;.*\.jpeg;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"
+                                    primaryIndicator="true" /&gt;
+                  &lt;Valve                    className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+                                             enabled="true" /&gt;	
+                  &lt;ClusterListener         className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+                  &lt;ClusterListener         className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+                  &lt;Deployer                className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
+                                            tempDir="${catalina.base}/war-temp"
+                                          deployDir="${catalina.base}/war-deploy/"
+                                           watchDir="${catalina.base}/war-listen/"
+                                       watchEnabled="true"/&gt;
+                  &lt;/Cluster&gt;
+            &lt;/Host&gt;
+        &lt;/Engine&gt;
+    &lt;/Service&gt;
+&lt;/Server&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter"><strong>Cluster Configuration for ReplicationTransmitter</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>replicationMode</td>
+    <td>replication mode (<em>synchronous</em>, <em>pooled</em>, <em>asynchronous</em> or <em>fastasyncqueue</em>)
+    </td>
+    <td><code>pooled</code></td>
+  </tr>
+
+  <tr>
+    <td>processSenderFrequency</td>
+    <td>Control the sender keepalive status and drop sender socket connection after timeout is reached.
+    Check every processSenderFrequency value engine background ticks.
+    </td>
+    <td><code>2</code></td>
+  </tr>
+
+  <tr>
+    <td>compress</td>
+    <td>compress bytes before sending (consume memory, but reduce network traffic - GZIP)</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>ackTimeout</td>
+    <td>acknowledge timeout and only usefull it waitForAck is true</td>
+    <td><code>15000 msec</code></td>
+  </tr>
+  
+  <tr>
+    <td>waitForAck</td>
+    <td>Wait for ack after data send</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>autoConnect</td>
+    <td>is sender disabled, fork a new socket</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doTransmitterProcessingStats</td>
+    <td>create processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+</table>
+</p>
+<p>
+Example to get statistic information, wait for ack at every message send and transfer at compressed mode<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="fastasyncqueue"
+      compress="true"
+      doTransmitterProcessingStats="true"
+      ackTimeout="15000"
+      waitForAck="true"
+      autoConnect="false"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+     
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter (fastayncqueue - mode)"><strong>Cluster Configuration for ReplicationTransmitter (fastayncqueue - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>recoverTimeout</td>
+    <td>recover Timeout after push message failure </td>
+    <td><code>5000 msec</code></td>
+  </tr>
+
+  <tr>
+    <td>recoverCounter</td>
+    <td>number of recover tries</td>
+    <td><code>0</code></td>
+  </tr>
+
+  <tr>
+    <td>queueDoStats</td>
+    <td>activated queue stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>queueCheckLock</td>
+    <td>check to lost locks</td>
+    <td><code>false</code></td>
+  </tr>
+  <tr>
+    <td>queueAddWaitTimeout</td>
+    <td>queue add wait time (tomcat connector thread waits)</td>
+    <td><code>10000 msec</code></td>
+  </tr>
+  <tr>
+    <td>queueRemoveWaitTimeout</td>
+    <td>queue remove wait time (queue thread waits)</td>
+    <td><code>30000 msec</code></td>
+  </tr>
+  
+  <tr>
+    <td>maxQueueLength</td>
+    <td>max queue length (default without limit)</td>
+    <td><code>-1</code></td>
+  </tr>
+  
+  <tr>
+    <td>threadPriority</td>
+    <td>change queue thread priority (1-10 ; 5 is normal)</td>
+    <td><code>5</code></td>
+  </tr>
+</table>
+  
+</p>
+<p>
+Example to get a lot of statistic information, wait for ACK and
+recover after connection failure (wait 5 secs and 6 trails (==30 secs Mcast Timeout) <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="fastasyncqueue"
+      recoverTimeout="5000"
+      recoverCounter="6"      
+      doTransmitterProcessingStats="true"
+      doProcessingStats="true"
+      queueTimeWait="true"
+      queueDoStats="true"
+      queueCheckLock="true"
+      waitForAck="true"
+      autoConnect="false"
+      keepAliveTimeout="320000"
+      keepAliveMaxRequestCount="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( asynchronous - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( asynchronous - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get a processing statistic information, resend after failure and wait for ACK<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="asynchronous"
+      doProcessingStats="true"
+      doWaitAckStats="true"
+      waitForAck="true"
+      ackTimeout="30000"
+      resend="true"
+      keepAliveTimeout="320000"
+      keepAliveMaxRequestCount="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+    
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( synchronous - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( synchronous - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>doProcessingStats</td>
+    <td>create Processing time stats</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>doWaitAckStats</td>
+    <td>create waitAck time stats</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+  
+</p>
+<p>
+Example to get a no processing statistic information, no wait for ACK, after 10000 request renew socket and autoconnect before first request is send.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="synchronous"
+      autoConnect="true"
+      keepAliveTimeout="-1"
+      keepAliveMaxRequestCount="100000"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( pooled - mode)"><strong>Cluster Configuration for ReplicationTransmitter ( pooled - mode)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>keepAliveTimeout</td>
+    <td>active socket keep alive timeout</td>
+    <td><code>60000 msec</code></td>
+  </tr>  
+
+  <tr>
+    <td>keepAliveMaxRequestCount</td>
+    <td>max request over this socket</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>maxPoolSocketLimit</td>
+    <td>max pooled sockets (Sender Sockets)</td>
+    <td><code>25</code></td>
+  </tr>
+  
+  <tr>
+    <td>resend</td>
+    <td>resend message after failure, can overwrite at message</td>
+    <td><code>false</code></td>
+  </tr>
+  
+</table>
+  
+</p>
+<p>
+Example to get a no processing statistic information, wait for ACK, after 10000 request renew socket, only 10 SockerSender available and autoconnect before first request is send.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Sender
+      className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
+      replicationMode="pooled"
+      autoConnect="true"
+      maxPoolSocketLimit="10"
+      keepAliveTimeout="-1"
+      keepAliveMaxRequestCount="10000"
+      waitForAck="true" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Cluster Configuration for ReplicationTransmitter ( DeltaManager Attribute)"><strong>Cluster Configuration for ReplicationTransmitter ( DeltaManager Attribute)</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+  
+  <tr>
+    <td>expireSessionsOnShutdown</td>
+    <td>When server stopped, expire all sessions also at backup nodes (only for testing)</td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>maxActiveSessions</td>
+    <td>Number of active sessions. (Default is no limit)</td>
+    <td><code>-1</code></td>
+  </tr>  
+
+  <tr>
+    <td>notifyListenersOnReplication</td>
+    <td>Notify application session listener to session creation 
+    and expiring events at backup nodes</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>notifySessionListenersOnReplication</td>
+    <td>Notify application session listener to attribute changes at backup nodes</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>stateTransferTimeout</td>
+    <td>Timeout that session state transfer is complete. Is attribute <code>stateTransferTimeout == -1</code> 
+        then application wait that other node send the complete session state</td>
+    <td><code>60 sec</code></td>
+  </tr>
+  
+  <tr>
+    <td>sendAllSessions</td>
+    <td>Flag to send sessions as splited blocks</td>
+    <td><code>true</code></td>
+  </tr>
+
+  <tr>
+    <td>sendAllSessionsSize</td>
+    <td>Number of serialize sessions inside a send block session message. Only useful when <code>sendAllSessions==false</code></td>
+    <td><code>1000</code></td>
+  </tr>
+
+  <tr>
+    <td>sendAllSessionsWaitTime</td>
+    <td>wait time between two session send blocks.</td>
+    <td><code>2000 msec</code></td>
+  </tr>
+
+  <tr>
+    <td>sendClusterDomainOnly</td>
+    <td>Send all session messages only to member inside same cluster domain 
+        (value od Membership attribute mcastClusterDomain). Also don't handle
+        session messages from other domains.</td>
+    <td><code>true</code></td>
+  </tr>  
+
+  <tr>
+    <td>stateTimestampDrop</td>
+    <td>DeltaManager queued Sessions messages when send GET_ALL_SESSION to other node.
+    with stateTimestampDrop all messages before state transfer message creation date (find session) are dropped.
+    Only other GET_ALL_SESSION events are handle with date before state transfer message.</td>
+    <td><code>true</code></td>
+  </tr>  
+  
+</table>
+  
+</p>
+<p>
+Example send all sessions at separate blocks. Serialize and send 100 session inside one block.
+Wait maximale two minutes before the complete backup sessions are loaded inside tomcat boot process.
+Between send blocks wait 5 secs to transfers the session block to other node. This save memory
+when you use the async modes with queues.<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;Cluster className="org.apache.catalina.tcp.SimpleTcpCluster"
+      managerClassName="org.apache.catalina.cluster.session.DeltaManager"
+      manager.stateTransferTimeout="120"
+      manager.sendAllSessions="false"
+      manager.sendAllSessionsSize="100"
+      manager.sendAllSessionsWaitTime="5000"
+      "/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+<b>Note:</b><br>
+As <em>Cluster.defaultMode=true</em> you can configure the manager attributes with prefix <em>manager.</em>. 
+<br>
+<b>Note:</b><br>
+With <em>Cluster.setProperty(&lt;String&gt;,&lt;String&gt;)</em> you can modify 
+attributes for all register managers. The method exists as MBeans operation.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Bind session after crash to failover node"><strong>Bind session after crash to failover node</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+As you configure more then two nodes at same cluster for backup, most loadbalancer
+send don't all your requests after failover to the same node.
+</p>
+<p> 
+The JvmRouteBinderValve handle tomcat jvmRoute takeover using mod_jk module after node
+failure. After a node crashed the next request going to other cluster node. The JvmRouteBinderValve 
+now detect the takeover and rewrite the jsessionid
+information to the backup cluster node. After the next response all client
+request goes direct to the backup node. The change sessionid send also to all
+other cluster nodes. Well, now the session stickyness work directly to the
+backup node, but traffic don't go back too restarted cluster nodes!<br>
+As jsessionid was created by cookie, the change JSESSIONID cookie resend with next response.
+</p>
+<p>
+You must add JvmRouteBinderValve and the corresponding cluster message listener JvmRouteSessionIDBinderListener.
+As you add the new listener you must also add the default ClusterSessionListener that receiver the normal cluster messages.
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Cluster className="org.apache.catalina.tcp.SimpleTcpCluster" &gt;
+...
+     &lt;Valve className="org.apache.catalina.cluster.session.JvmRouteBinderValve"
+               enabled="true" sessionIdAttribute="takeoverSessionid"/&gt;	
+     &lt;ClusterListener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderListener" /&gt;
+     &lt;ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener" /&gt;
+...
+&lt;Cluster&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+<b>Hint:</b><br>
+With attribute <i>sessionIdAttribute</i> you can change the request attribute name that included the old session id.
+Default attribuite name is <i>org.apache.catalina.cluster.session.JvmRouteOrignalSessionID</i>.
+</p>
+<p>
+<b>Trick:</b><br>
+You can enable this mod_jk turnover mode via JMX before you drop a node to all backup nodes!
+Set enable true on all JvmRouteBinderValve backups, disable worker at mod_jk 
+and then drop node and restart it! Then enable mod_jk Worker and disable JvmRouteBinderValves again. 
+This use case means that only requested session are migrated.
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Monitoring your Cluster with JMX"><strong>Monitoring your Cluster with JMX</strong></a></font></td></tr><tr><td><blockquote>
+<p>Monitoring is a very important question when you use a cluster. Some of the cluster objects are JMX MBeans </p>
+<p>Add the following parameter to your startup script with Java 5:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+set CATALINA_OPTS=\
+-Dcom.sun.management.jmxremote \
+-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+-Dcom.sun.management.jmxremote.ssl=false \
+-Dcom.sun.management.jmxremote.authenticate=false
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>Activate JMX with JDK 1.4:
+<ol>
+<li>Install the compat package</li>
+<li>Install the mx4j-tools.jar at common/lib (use the same mx4j version as your tomcat release)</li>
+<li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector<p></p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="${AJP.PORT}" 
+   handler.list="mx"
+   mx.enabled="true" 
+   mx.httpHost="${JMX.HOST}" 
+   mx.httpPort="${JMX.PORT}" 
+   protocol="AJP/1.3" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+<li>Start your tomcat and look with your browser to http://${JMX.HOST}:${JMX.PORT}</li>
+<li>With the connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> you can control the access!</li>
+</ol>
+</p>
+<p>
+List of Cluster Mbeans<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Name</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Engine</th>
+    <th align="center" bgcolor="aqua">MBean ObjectName - Host</th>
+  </tr>
+
+  <tr>
+    <td>Cluster</td>
+    <td>The complete cluster element</td>
+    <td><code>type=Cluster</code></td>
+    <td><code>type=Cluster,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>ClusterSender</td>
+    <td>Configuration and stats of the sender infrastructure</td>
+    <td><code>type=ClusterSender</code></td>
+    <td><code>type=ClusterSender,host=${HOST}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>ClusterReceiver</td>
+    <td>Configuration and stats of the recevier infrastructure</td>
+    <td><code>type=ClusterReceiver</code></td>
+    <td><code>type=ClusterReceiver,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ClusterMembership</td>
+    <td>Configuration and stats of the membership infrastructure</td>
+    <td><code>type=ClusterMembership</code></td>
+    <td><code>type=ClusterMembership,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>IDataSender</td>
+    <td>For every cluster member it exist a sender mbeans. 
+    It exists speziall MBeans to all replication modes</td>
+    <td><code>type=IDataSender,
+        senderAddress=${MEMBER.SENDER.IP},
+        senderPort=${MEMBER.SENDER.PORT}</code></td>
+    <td><code>type=IDataSender,host=${HOST},
+        senderAddress=${MEMBER.SENDER.IP},
+        senderPort=${MEMBER.SENDER.PORT}</code></td>
+  </tr>
+ 
+  <tr>
+    <td>DeltaManager</td>
+    <td>This manager control the sessions and handle session replication </td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+    <td><code>type=Manager,path=${APP.CONTEXT.PATH}, host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>ReplicationValve</td>
+    <td>This valve control the replication to the backup nodes</td>
+    <td><code>type=Valve,name=ReplicationValve</code></td>
+    <td><code>type=Valve,name=ReplicationValve,host=${HOST}</code></td>
+  </tr>
+
+  <tr>
+    <td>JvmRouteBinderValve</td>
+    <td>This is a cluster fallback valve to change the Session ID to the current tomcat jvmroute.</td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,
+              path=${APP.CONTEXT.PATH}</code></td>
+    <td><code>type=Valve,name=JvmRouteBinderValve,host=${HOST},
+              path=${APP.CONTEXT.PATH}</code></td>
+  </tr>
+
+</table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FAQ"><strong>FAQ</strong></a></font></td></tr><tr><td><blockquote>
+<p>Please see <a href="http://tomcat.apache.org/faq/cluster.html">the clustering section of the FAQ</a>.</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/connectors.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/connectors.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/connectors.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Connectors How To</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Connectors How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Choosing a connector to use with Tomcat can be difficult. This page will
+list the connectors which are supported with this Tomcat release, and will
+hopefully help you make the right choice according to your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="HTTP"><strong>HTTP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The HTTP connector is setup by default with Tomcat, and is ready to use. This
+connector features the lowest latency and best overall performance.</p>
+
+<p>For clustering, a HTTP load balancer <b>with support for web sessions stickiness</b>
+must be installed to direct the traffic to the Tomcat servers. Tomcat supports mod_proxy
+(on Apache HTTP Server 2.x, and included by default in Apache HTTP Server 2.2) as the load balancer. 
+It should be noted that the performance of HTTP proxying is usually lower than the 
+performance of AJP, so AJP clustering is often preferable.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="AJP"><strong>AJP</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>When using a single server, the performance when using a native webserver in 
+front of the Tomcat instance is most of the time significantly worse than a
+standalone Tomcat with its default HTTP connector, even if a large part of the web
+application is made of static files. If integration with the native webserver is 
+needed for any reason, an AJP connector will provide faster performance than 
+proxied HTTP. AJP clustering is the most efficient from the Tomcat perspective. 
+It is otherwise functionally equivalent to HTTP clustering.</p>
+
+<p>The native connectors supported with this Tomcat release are:
+<ul>
+<li>JK 1.2.x with any of the supported servers</li>
+<li>mod_proxy on Apache HTTP Server 2.x (included by default in Apache HTTP Server 2.2), 
+with AJP enabled</li>
+</ul>
+</p>
+
+<p><b>Other native connectors supporting AJP may work, but are no longer supported.</b></p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/default-servlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/default-servlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/default-servlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,273 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Default Servlet Reference</title><meta value="Tim Funk" name="author"><meta value="funkman at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Default Servlet Reference</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+This discusses different ways to manipulate the default servlet. Topics are
+<ul>
+  <li><a href="#what">What is the DefaultServlet?</a></li>
+  <li><a href="#where">Where is it declared?</a></li>
+  <li><a href="#change">What can I change?</a></li>
+  <li><a href="#dir">How do I customize directory listings?</a></li>
+  <li><a href="#secure">How do I secure directory listings?</a></li>
+
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is the DefaultServlet"><strong>What is the DefaultServlet</strong></a></font></td></tr><tr><td><blockquote>
+<a name="what"></a>
+The default servlet is the servlet which serves static resources as well
+as serves the directory listings (if directory listings are enabled).
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where is it declared?"><strong>Where is it declared?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="where"></a>
+It is declared globally in <i>$CATALINA_HOME/conf/web.xml</i>.
+By default here is it's declaration:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;servlet&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;servlet-class&gt;
+          org.apache.catalina.servlets.DefaultServlet
+        &lt;/servlet-class&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;debug&lt;/param-name&gt;
+            &lt;param-value&gt;0&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;init-param&gt;
+            &lt;param-name&gt;listings&lt;/param-name&gt;
+            &lt;param-value&gt;true&lt;/param-value&gt;
+        &lt;/init-param&gt;
+        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
+    &lt;/servlet&gt;
+
+...
+
+    &lt;servlet-mapping&gt;
+        &lt;servlet-name&gt;default&lt;/servlet-name&gt;
+        &lt;url-pattern&gt;/&lt;/url-pattern&gt;
+    &lt;/servlet-mapping&gt;
+
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+So by default, the default servlet is loaded at webapp startup and
+directory listings are enabled and debugging is turned off.
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What can I change?"><strong>What can I change?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="change"></a>
+The DefaultServlet allows the following initParamters:
+
+<table border="1">
+  <tr>
+    <th valign="top">debug</th>
+    <td valign="top">
+        Debugging level. It is not very useful unless you are a tomcat
+        developer. As
+        of this writing, useful values are 0, 1, 11, 1000.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">listings</th>
+    <td valign="top">
+        If no welcome file is present, can a directory listing be
+        shown?
+        value may be <b>true</b> or <b>false</b>
+        <br>
+        Welcome files are part of the servlet api.
+        <br>
+        <b>WARNING:</b> Listings of directories containing many entries are
+        expensive. Multiple requests for large directory listings can consume
+        significant proportions of server resources.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readmeFile</th>
+    <td valign="top">
+        If a directory listing is presented, a readme file may also
+        be presented with the listing. This file is inserted as is
+        so it may contain HTML. default value is null
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">globalXsltFile</th>
+    <td valign="top">
+        If you wish to customize your directory listing, you
+        can use an XSL transformation. This value is an absolute
+        file name which be used for all direcotory listings.
+        This can be disabled by per webapp by also declaring the
+        default servlet in your local webapp's web.xml. The format
+        of the xml is shown below.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">localXsltFile</th>
+    <td valign="top">
+        You may also customize your directory listing by directory by
+        configuring <code>localXsltFile</code>. This should be a relative
+        file name in the directory where the listing will take place.
+        This overrides <code>globalXsltFile</code>. If this value
+        is present but a file does not exist, then
+        <code>globalXsltFile</code> will be used. If
+        <code>globalXsltFile</code> does not exist, then the default
+        directory listing will be shown.
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">input</th>
+    <td valign="top">
+        Input buffer size (in bytes) when reading
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">output</th>
+    <td valign="top">
+        Output buffer size (in bytes) when writing
+        resources to be served.  [2048]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">readonly</th>
+    <td valign="top">
+        Is this context "read only", so HTTP commands like PUT and
+        DELETE are rejected?  [true]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">fileEncoding</th>
+    <td valign="top">
+        File encoding to be used when reading static resources.
+        [platform default]
+    </td>
+  </tr>
+  <tr>
+    <th valign="top">sendfileSize</th>
+    <td valign="top">
+        If the connector used supports sendfile, this represents the minimal 
+        file size in KB for which sendfile will be used. Use a negative value 
+        to always disable sendfile. [48]
+    </td>
+  </tr>
+
+</table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I customize directory listings?"><strong>How do I customize directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="dir"></a>
+<p>You can override DefaultServlet with you own implementation and use that
+in your web.xml declaration. If you
+can undertand what was just said, we will assume yo can read the code
+to DefaultServlet servlet and make the appropriate adjustments. (If not,
+then that method isn't for you)
+</p>
+<p>
+You can use either  <code>localXsltFile</code> or
+<code>globalXsltFile</code> and DefaultServlet will create
+an xml document and run it through an xsl transformation based
+on the values provided in <code>localXsltFile</code> and
+<code>globalXsltFile</code>. <code>localXsltFile</code> is first
+checked, followed by <code>globalXsltFile</code>, then default
+behaviors takes place.
+</p>
+
+<p>
+Format:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;listing&gt;
+     &lt;entries&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName1
+      &lt;/entry&gt;
+      &lt;entry type='file|dir' urlPath='aPath' size='###' date='gmt date'&gt;
+        fileName2
+      &lt;/entry&gt;
+      ...
+     &lt;/entries&gt;
+     &lt;readme&gt;&lt;/readme&gt;
+    &lt;/listing&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<ul>
+  <li>size will be missing if <code>type='dir'</code></li>
+  <li>Readme is a CDATA entry</li>
+</ul>
+</p>
+The following is a sample xsl file which mimics the default tomcat behavior:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;?xml version="1.0"?&gt;
+
+&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+  version="1.0"&gt;
+
+  &lt;xsl:output method="xhtml" encoding="iso-8859-1" indent="no"/&gt;
+
+  &lt;xsl:template match="listing"&gt;
+   &lt;html&gt;
+    &lt;head&gt;
+      &lt;title&gt;
+        Sample Directory Listing For
+        &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/title&gt;
+      &lt;style&gt;
+        h1{color : white;background-color : #0086b2;}
+        h3{color : white;background-color : #0086b2;}
+        body{font-family : sans-serif,Arial,Tahoma;
+             color : black;background-color : white;}
+        b{color : white;background-color : #0086b2;}
+        a{color : black;} HR{color : #0086b2;}
+      &lt;/style&gt;
+    &lt;/head&gt;
+    &lt;body&gt;
+      &lt;h1&gt;Sample Directory Listing For
+            &lt;xsl:value-of select="@directory"/&gt;
+      &lt;/h1&gt;
+      &lt;hr size="1" /&gt;
+      &lt;table cellspacing="0"
+                  width="100%"
+            cellpadding="5"
+                  align="center"&gt;
+        &lt;tr&gt;
+          &lt;th align="left"&gt;Filename&lt;/th&gt;
+          &lt;th align="center"&gt;Size&lt;/th&gt;
+          &lt;th align="right"&gt;Last Modified&lt;/th&gt;
+        &lt;/tr&gt;
+        &lt;xsl:apply-templates select="entries"/&gt;
+        &lt;/table&gt;
+      &lt;xsl:apply-templates select="readme"/&gt;
+      &lt;hr size="1" /&gt;
+      &lt;h3&gt;Apache Tomcat/5.0&lt;/h3&gt;
+    &lt;/body&gt;
+   &lt;/html&gt;
+  &lt;/xsl:template&gt;
+
+
+  &lt;xsl:template match="entries"&gt;
+    &lt;xsl:apply-templates select="entry"/&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="readme"&gt;
+    &lt;hr size="1" /&gt;
+    &lt;pre&gt;&lt;xsl:apply-templates/&gt;&lt;/pre&gt;
+  &lt;/xsl:template&gt;
+
+  &lt;xsl:template match="entry"&gt;
+    &lt;tr&gt;
+      &lt;td align="left"&gt;
+        &lt;xsl:variable name="urlPath" select="@urlPath"/&gt;
+        &lt;a href="{$urlPath}"&gt;
+          &lt;tt&gt;&lt;xsl:apply-templates/&gt;&lt;/tt&gt;
+        &lt;/a&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@size"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+      &lt;td align="right"&gt;
+        &lt;tt&gt;&lt;xsl:value-of select="@date"/&gt;&lt;/tt&gt;
+      &lt;/td&gt;
+    &lt;/tr&gt;
+  &lt;/xsl:template&gt;
+
+&lt;/xsl:stylesheet&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How do I secure directory listings?"><strong>How do I secure directory listings?</strong></a></font></td></tr><tr><td><blockquote>
+<a name="secure"></a>
+Use web.xml in each individual webapp. See the security section of the
+Servlet specification.
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/deployer-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/deployer-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/deployer-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,301 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Deployment</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Deployment</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+    <ul>
+        <li><a href="#Introduction">Introduction</a></li>
+        <li><a href="#Installation">Installation</a></li>
+        <li><a href="#A word on Contexts">A word on Contexts</a></li>
+        <li><a href="#Deployment on Tomcat startup">Deployment on Tomcat startup</a></li>
+        <li><a href="#Deploying on a running Tomcat server">Deploying on a running Tomcat server</a></li>
+        <li><a href="#Deploying using the Tomcat Manager">Deploying using the Tomcat Manager</a></li>
+        <li><a href="#Deploying using the Client Deployer Package">Deploying using
+            the Tomcat Client Deployer</a></li>
+    </ul>
+    
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Deployment is the term used for the process of installing a web
+            application (either a 3rd party WAR or your own custom web application) 
+            into the Tomcat server. 
+        </p>
+        <p>
+            Web application deployment may be accomplished in a number of ways
+            within the Tomcat server.
+            <ul>
+                <li>Statically; the web application is setup before Tomcat is started</li>
+                <li>
+                    Dynamically; in conjunction with the Tomcat Manager web application or 
+                    manipulating already deployed web applications
+                </li>
+            </ul>
+        </p>
+        <p>
+            The Tomcat Manager is a tool that allows URL-based web application
+            deployment features. There is also a tool called the Client Deployer,
+            which is a command shell based script that interacts with the Tomcat
+            Manager but provides additional functionality such as compiling and
+            validating web applications as well as packaging web application into
+            web application resource (WAR) files.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            There is no installation required for static deployment of web
+            applications as this is provided out of the box by Tomcat. Nor is any
+            installation required for deployment functions with the Tomcat Manager, 
+            although some configuration is required as detailed in the 
+            Tomcat Manager manual. An installation is however required if you wish
+            to use the Tomcat Client Deployer (TCD). 
+        </p>   
+        <p>
+            The TCD is not packaged with the Tomcat core 
+            distribution, and must therefore be downloaded separately from 
+            the Downloads area. The download is usually labelled 
+            <i>jakarta-tomcat-5.5.x-deployer</i>.
+        </p>
+        <p>
+            TCD has prerequisites of Apache Ant 1.6.2+ and a Java installation.
+            Your environment should define an ANT_HOME environment value pointing to
+            the root of your Ant installation, and a JAVA_HOME value pointing to
+            your Java installation. Additionally, you should ensure Ant's ant
+            command, and the Java javac compiler command run from the command shell
+            that your operating system provides.
+        </p>
+        <ol>
+            <li>Download the TCD distribution</li>
+            <li>
+                The TCD package need not be extracted into any existing Tomcat
+                installation, it can be extracted to any location.
+            </li>
+            <li>Read Using the <a href="#Deploying using the Client Deployer Package">
+            Tomcat Client Deployer</a></li>
+        </ol>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="A word on Contexts"><strong>A word on Contexts</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            In talking about deployment of web applications, the concept of a
+            <i>Context</i> is required to be understood. A Context is what Tomcat 
+            calls a web application.
+        </p>
+        <p>
+            In order to configure a Context within Tomcat a <i>Context Descriptor</i>
+            is required. A Context Descriptor is simply an XML file that contains
+            Tomcat related configuration for a Context, e.g naming resources or 
+            session manager configuration. In earlier versions of
+            Tomcat the content of a Context Descriptor configuration was often stored within
+            Tomcat's primary configuration file <i>server.xml</i> but this is now
+            discouraged (although it currently still works).
+        </p>
+        <p>        
+            Context Descriptors not only help Tomcat to know how to configure 
+            Contexts but other tools such as the Tomcat Manager and TDC often use 
+            these Context Descriptors to perform their roles properly.
+        </p>
+        <p>
+            The locations for Context Descriptors are;
+            <ol>
+                <li>$CATALINA_HOME/conf/[enginename]/[hostname]/context.xml</li>
+                <li>$CATALINA_HOME/webapps/[webappname]/META-INF/context.xml</li>
+            </ol>
+            If a Context Descriptor is not provided for a Context, Tomcat
+            automatically creates one and places it in (1) with a filename of
+            [webappname].xml although if manually created, the filename need not
+            match the web application name as Tomcat is concerned only with the
+            Context configuration contained within the Context Descriptor file(s).
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment on Tomcat startup"><strong>Deployment on Tomcat startup</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            If you are not interested in using the Tomcat Manager, or TCD, 
+            then you'll need to deploy your web applications 
+            statically to Tomcat, followed by a Tomcat startup. The location you
+            deploy web applications to for this type of deployment is called the 
+            <code>appBase</code> which is specified per Host. You either copy a
+            so-called <i>exploded web application</i>, i.e non-compressed, to this
+            location, or a compressed web application resource .WAR file.
+        </p>
+        <p>
+            The web applications present in the location specified by the Host's
+            (default Host is "localhost") <code>appBase</code> attribute (default
+            appBase is "$CATALINA_HOME/webapps") will be deployed on Tomcat startup 
+            only if the Host's <code>deployOnStartup</code> attribute is "true".
+        </p>
+        <p>
+            The following deployment sequence will occur on Tomcat startup in that
+            case:
+        </p>
+        <ol>
+            <li>Any Context Descriptors will be deployed first.</li>
+            <li>
+                Exploded web applications not referenced by any Context
+                Descriptor will then be deployed. If they have an associated 
+                .WAR file in the appBase and it is newer than the exploded web application, 
+                the exploded directory will be removed and the webapp will be 
+                redeployed from the .WAR
+            </li>
+            <li>.WAR files will be deployed</li>
+        </ol>
+        <p>
+            Note again that for each deployed web application, a 
+            Context Descriptor will be created <i>unless one exists already</i>.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying on a running Tomcat server"><strong>Deploying on a running Tomcat server</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            It is possible to deploy web applications to a running Tomcat server.
+        </p>
+        <p>
+            If the Host <code>autoDeploy</code> attribute is "true", the Host will 
+            attempt to deploy and update web applications dynamically, as needed,
+            for example if a new .WAR is dropped into the <code>appBase</code>. 
+            For this to work, the Host needs to have background processing 
+            enabled which is the default configuration.
+        </p>
+        
+        <p>
+            <code>autoDeploy</code> set to "true" and a running Tomcat allows for:
+        </p>
+        <ul>
+            <li>Deployment of .WAR files copied into the Host <code>appBase</code>.</li>
+            <li>
+                Deployment of exploded web applications which are
+                copied into the Host <code>appBase</code>.
+            </li>
+            <li>
+                Re-deployment of a web application which has already been deployed from
+                a .WAR when the new .WAR is provided. In this case the exploded 
+                web application is removed, and the .WAR is expanded again. 
+                Note that the explosion will not occur if the Host is configured 
+                so that .WARs are not exploded with a <code>unpackWARs</code>
+                attribute set to "false", in which case the web application 
+                will be simply redeployed as a compressed archive.
+            </li>
+            <li>
+                Re-deployment of a web application if the /WEB-INF/web.xml file (or any
+                other resource defined as a WatchedResource) is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if the Context Descriptor file from which
+                the web application has been deployed is updated.
+            </li>
+            <li>
+                Re-deployment of a web application if a Context Descriptor file (with a
+                filename corresponding to the Context path of the previously deployed
+                web application) is added to the 
+                <code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code>
+                directory.
+            </li>
+            <li>
+                Undeployment of a web application if its document base (docBase)
+                is deleted. Note that on Windows, this assumes that anti-locking 
+                features (see Context configuration) are enabled, otherwise it is not 
+                possible to delete the resources of a running web application.
+            </li>
+        </ul>
+        <p>
+            Note that web application reloading can also be configured in the loader, in which
+            case loaded classes will be tracked for changes.
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Tomcat Manager"><strong>Deploying using the Tomcat Manager</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            The Tomcat Manager is covered in its <a href="manager-howto.html">own manual page</a>. 
+        </p>
+    </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploying using the Client Deployer Package"><strong>Deploying using the Client Deployer Package</strong></a></font></td></tr><tr><td><blockquote>
+        <p>
+            Finally, deployment of web application may be achieved using the 
+            Tomcat Client Deployer. This is a package which can be used to 
+            validate, compile, compress to .WAR, and deploy web applications to 
+            production or development Tomcat servers. It should be noted that this feature 
+            uses the Tomcat Manager and as such the target Tomcat server should be
+            running.
+        </p>
+    
+        <p>
+            It is assumed the user will be familar with Apache Ant for using the TCD.
+            Apache Ant is a scripted build tool. The TCD comes pre-packaged with a
+            build script to use. Only a modest understanding of Apache Ant is
+            required (installation as listed earlier in this page, and familiarity
+            with using the operating system command shell and configuring
+            environment variables).
+        </p>
+        
+        <p>
+            The TCD includes Ant tasks, the Jasper page compiler for JSP compilation 
+            before deployment, as well as a task which
+            validates the web application Context Descriptor. The validator task (class
+            <code>org.apache.catalina.ant.ValidatorTask</code>) allows only one parameter:
+            the base path of an exploded web application.
+        </p>
+    
+        <p>
+            The TCD uses an exploded web application as input (see the list of the
+            properties used below). A web application that is programatically 
+            deployed with the deployer may include a Context Desciptor in 
+            <code>/META-INF/context.xml</code>.
+        </p>
+    
+        <p>
+            The TCD includes a ready-to-use Ant script, with the following targets:
+        </p>
+        <ul>
+            <li>
+                <code>compile</code> (default): Compile and validate the web 
+                application. This can be used standalone, and does not need a running
+                Tomcat server. The compiled application will only run on the associated
+                Tomcat 5.5.x server release, and is not guaranteed to work on another
+                Tomcat release, as the code generated by Jasper depends on its runtime
+                component. It should also be noted that this target will also compile
+                automatically any Java source file located in the 
+                <code>/WEB-INF/classes</code> folder of the web application.</li>
+            <li>
+                <code>deploy</code>: Deploy a web application (compiled or not) to 
+                a Tomcat server.
+            </li>
+            <li><code>undeploy</code>: Undeploy a web application</li>
+            <li><code>start</code>: Start web application</li>
+            <li><code>reload</code>: Reload web application</li>
+            <li><code>stop</code>: Stop web application</li>
+        </ul>
+        
+        <p>
+            In order for the deployment to be configured, create a file
+            called <code>deployer.properties</code> in the TCD installation
+            directory root. In this file, add the following name=value pairs per
+            line:
+        </p>
+        
+        <p>
+            Additionally, you will need to ensure that a user has been 
+            setup for the target Tomcat Manager (which TCD uses) otherwise the TCD
+            will not authenticate with the Tomcat Manager and the deployment will
+            fail. To do this, see the Tomcat Manager page.        
+        </p>
+        
+        <ul>
+            <li>
+                <code>build</code>: The build folder used will be, by default, 
+                <code>${build}/webapp/${path}</code>. After the end of the execution
+                of the <code>compile</code> target, the web application .WAR will be
+                located at <code>${build}/webapp/${path}.war</code>.
+            </li>
+            <li>
+                <code>webapp</code>: The directory containing the exploded web application 
+                which will be compiled and validated. By default, the folder is
+                <code>myapp</code>.
+            </li>
+            <li>
+                <code>path</code>: Deployed context path of the web application, 
+                by default <code>/myapp</code>.
+            </li>
+            <li>
+                <code>url</code>: Absolute URL to the Tomcat Manager web application of a 
+                running Tomcat server, which will be used to deploy and undeploy the
+                web application. By default, the deployer will attempt to access 
+                a Tomcat instance running on localhost, at 
+                <code>http://localhost:8080/manager</code>.
+            </li>
+            <li>
+                <code>username</code>: Tomcat Manager username (user should have a role of
+                manager)
+            </li>
+            <li><code>password</code>: Tomcat Manager password.</li>
+        </ul>
+    </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/developers.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/developers.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/developers.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Developers</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Developers</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Active Developers"><strong>Active Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      The list indicates the developers' main areas of interest. Feel free to
+      add to the list :) The developers email addresses are 
+      <code>[login]@apache.org</code>. Please <strong>do not</strong> contact 
+      developers directly for any support issues (please post to the 
+      tomcat-users mailing list instead, or one of the other support 
+      resources; some organizations and individual consultants also offer 
+      for pay Tomcat support, as listed on the 
+      <a href="http://jakarta.apache.org/site/vendors.html">vendors page</a>
+      on the Jakarta website).
+    </p>
+
+    <ul>
+      <li>Amy Roh (amyroh): Catalina, Admin webapp</li>
+      <li>Bill Barker (billbarker): Connectors</li>
+      <li>Costin Manolache (costin): Catalina, Connectors</li>
+      <li>Filip Hanik (fhanik): Clustering, Release Manager</li>
+      <li>Glenn Nielsen (glenn): Catalina, Connectors</li>
+      <li>Henri Gomez (hgomez): Connectors</li>
+      <li>Jan Luehe (luehe): Jasper</li>
+      <li>Jean-Francois Arcand (jfarcand): Catalina</li>
+      <li>Jean-Frederic Clere (jfclere): Connectors</li>
+      <li>Kin-Man Chung (kinman): Jasper</li>
+      <li>Mark Thomas (markt): CGI, SSI, WebDAV, bug fixing</li>
+      <li>Mladen Turk (mturk): Connectors</li>
+      <li>Peter Rossbach (pero): Catalina, Clustering, JMX</li>
+      <li>Rainer Jung (rjung): Catalina, Clustering, Connectors</li>
+      <li>Remy Maucherat (remm): Catalina, Connectors, Docs</li>
+      <li>Tim Funk (funkman): Catalina, Docs</li>
+      <li>Yoav Shapira (yoavs): Docs, JMX, Catalina, balancer</li>
+    </ul>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Retired Developers"><strong>Retired Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/html-manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/html-manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/html-manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,518 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Web Application Manager How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Web Application Manager How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments it is very useful to have the capability
+to manage your web applications without having to shut down and restart
+Tomcat.  This document is for the HTML web interface to the web application
+<a href="manager-howto.html">manager</a>.</p>
+
+<p>The interface is divided into five sections:
+<ul>
+  <li><strong>Message</strong> - Displays success and failure messages.</li>
+  <li><strong>Manager</strong> - General manager operations like list and
+      help.</li>
+  <li><strong>Applications</strong> - List of web applications and
+      commands.</li>
+  <li><strong>Deploy</strong> - Deploying web applications.</li>
+  <li><strong>Server Information</strong> - Information about the Tomcat
+      server.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Message"><strong>Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+Displays information about the success or failure of the last web application
+manager command you performed. If it succeeded <strong>OK</strong> is displayed
+and may be followed by a success message. If it failed <strong>FAIL</strong>
+is displayed followed by an error message. Common failure messages are
+documented below for each command.  The complete list of failure messages for
+each command can be found in the <a href="manager-howto.html">manager</a> web
+application documentation.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager"><strong>Manager</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Manager section has three links:
+<ul>
+  <li><strong>List Applications</strong> - Redisplay a list of web
+      applications.</li>
+  <li><strong>HTML Manager Help</strong> - A link to this document.</li>
+  <li><strong>Manager Help</strong> - A link to the comprehensive Manager
+      App HOW TO.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Applications"><strong>Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The Applications section lists information about all the installed web
+applications and provides links for managing them. For each web application
+the following is displayed:
+<ul>
+  <li><strong>Path</strong> - The web applicaton context path.</li>
+  <li><strong>Display Name</strong> - The display name for the web application
+      if it has one configured in its "web.xml" file.</li>
+  <li><strong>Running</strong> - Whether the web application is running and
+      available (true), or not running and unavailable (false).</li>
+  <li><strong>Sessions</strong> - The number of active sessions for remote
+      users of this web application.  The number of sessions is a link which
+      when submitted displays more details about session usage by the web
+      application in the Message box.</li>
+  <li><strong>Commands</strong> - Lists all commands which can be performed on
+      the web application. Only those commands which can be performed will be
+      listed as a link which can be submitted. No commands can be performed on
+      the manager web application itself. The following commands can be
+      performed:
+      <ul>
+        <li><strong>Start</strong> - Start a web application which had been
+            stopped.</li>
+        <li><strong>Stop</strong> - Stop a web application which is currently
+            running and make it unavailable.</li>
+        <li><strong>Reload</strong> - Reload the web application so that new
+            ".jar" files in <code>/WEB-INF/lib/</code> or new classes in
+            <code>/WEB-INF/classes/</code> can be used.</li>
+        <li><strong>Undeploy</strong> - Stop and then remove this web
+             application from the server.</li>
+      </ul>
+  </li>
+</ul>
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start"><strong>Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop"><strong>Stop</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload"><strong>Reload</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not checked on a reload;
+the previous web.xml configuration is used.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>             
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    installed directly from a WAR file, which happens when the host is 
+    configured to not unpack WAR files. As it only works when the web 
+    application is installed from an unpacked directory, if you are using 
+    a WAR file, you should <code>undeploy</code> and then <code>deploy</code> 
+    the application again to pick up your changes.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy"><strong>Undeploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong><font color="red">WARNING</font> - This command will delete the
+contents of the web application directory and/or ".war" file if it exists within
+the <code>appBase</code> directory (typically "webapps") for this virtual host
+</strong>.  The web application temporary work directory is also deleted.  If
+you simply want to take an application out of service, you should use the
+<code>/stop</code> command instead.</p>
+                             
+<p>Signal an existing application to gracefully shut itself down, and then
+remove it from Tomcat (which also makes this context path available for
+reuse later).  This command is the logical opposite of the
+<code>/deploy</code> Ant command, and the related deploy features available 
+in the HTML manager.</p>
+                             
+<p>If this command succeeds, you will see a Message like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+                             
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:
+<ul>                         
+<li><em>Encountered exception</em>
+    <blockquote>             
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat logs for the details.</p>
+    </blockquote></li>       
+<li><em>Invalid context path was specified</em>
+    <blockquote>             
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a zero-length string.</p>
+    </blockquote></li>       
+<li><em>No context exists for path /foo</em>
+    <blockquote>             
+    <p>There is no deployed application on the context path
+    that you specified.</p>  
+    </blockquote></li>       
+<li><em>No context path was specified</em>
+    <blockquote>             
+    The <code>path</code> parameter is required.
+    </blockquote></li>       
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy"><strong>Deploy</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Web applications can be deployed using files or directories located
+on the Tomcat server or you can upload a web application archive (WAR)
+file to the server.</p>
+
+<p>To install an application, fill in the appropriate fields for the type
+of install you want to do and then submit it using the <i>Install</i>
+button.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy directory or WAR file located on server"><strong>Deploy directory or WAR file located on server</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified <i>Context
+Path:</i> (which must not be in use by any other web application).
+This command is the logical opposite of the <em>Undeploy</em> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Install a web application directory or ".war" file located on the Tomcat
+server. If no <i>Context Path</i> is specified, the directory name or the
+war file name without the ".war" extension is used as the path. The
+<i>WAR or Directory URL</i> specifies a URL (including the <code>file:</code>
+scheme) for either a directory or a web application archive (WAR) file. The
+supported syntax for a URL referring to a WAR file is described on the Javadocs
+page for the <code>java.net.JarURLConnection</code> class.  Use only URLs that
+refer to the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>C:\path\to\foo</code> on the Tomcat server (running on Windows)
+is deployed as the web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /footoo
+WAR or Directory URL: file:C:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server (running on Unix) is deployed as the web application
+context named <code>/bar</code>. Notice that there is no <code>path</code>
+parameter so the context path defaults to the name of the web application
+archive file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Install a web application directory or ".war" file located in your Host
+appBase directory. If no <i>Context Path</i> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a subdirectory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+WAR or Directory URL: foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context Path: /bartoo
+WAR or Directory URL: bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true, you can install a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The <i>Context Path</i>
+is not used when installing a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example for Tomcat running on Windows:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="C:\path\to\application\foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Use of the <i>WAR or Directory URL</i> is optional. When used
+to select a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file for Tomcat running on Windows.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:C:/path/to/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of installing an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server (Tomcat running on Unix).
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+XML Configuration file URL: file:/path/to/context.xml
+WAR or Directory URL: jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Upload a WAR file to install"><strong>Upload a WAR file to install</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Upload a WAR file from your local system and install it into the
+appBase for your Host. The name of the WAR file without the ".war"
+extension is used as the context path name.</p>
+
+<p>Use the <i>Browse</i> button to select a WAR file to upload to the
+server from your local desktop system.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>Upload of a WAR file could fail for the following reasons:</p>
+<ul>
+<li><em>File uploaded must be a .war</em>
+    <blockquote>
+    <p>The upload install will only accept files which have the filename
+    extension of ".war".</p>
+    </blockquote></li>
+<li><em>War file already exists on server</em>
+    <blockquote>
+    <p>If a war file of the same name already exists in your Host's
+    appBase the upload will fail. Either undeploy the existing war file
+    from your Host's appBase or upload the new war file using a different
+    name.</p>
+    </blockquote></li>
+<li><em>File upload failed, no file</em>
+    <blockquote>
+    <p>The file upload failed, no file was received by the server.</p>
+    </blockquote></li>
+<li><em>Install Upload Failed, Exception:</em>
+    <blockquote>
+    <p>The war file upload or install failed with a Java Exception.
+    The exception message will be listed.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deployment Notes"><strong>Deployment Notes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If the Host is configured with unpackWARs=true and you install a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is deployed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from installing web applications using a configuration XML file and
+also prevents them from installing application directories or ".war"
+files located outside of their Host appBase.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy Message"><strong>Deploy Message</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If deployment and startup is successful, you will receive a Message
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the Message will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must either undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <i>WAR or Directory URL:</i> field must
+    identify a directory on this server that contains the "unpacked" version
+    of a web application, or the absolute URL of a web application archive
+    (WAR) file that contains this application.  Correct the value entered for
+    the <i>WAR or Directory URL:</i> field.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the <i>WAR or Directory URL:</i> field that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character, unless you are
+    referencing the ROOT web application -- in which case the context path
+    must be a "/" string.</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is deployed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be deployed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to install a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Server Information"><strong>Server Information</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section displays information about Tomcat, the operating system of
+the server Tomcat is hosted on, and the Java Virtual Machine Tomcat is
+running in.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,151 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Documentation Index</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Documentation Index</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This is the top-level entry point of the documentation bundle for the
+<strong>Apache Tomcat</strong> Servlet/JSP container.  Apache Tomcat version 5.5 
+implements the
+Servlet 2.4 and JavaServer Pages 2.0 specifications from the
+<a href="http://www.jcp.org">Java Community Process</a>, and includes many
+additional features that make it a useful platform for developing and deploying
+web applications and web services.</p>
+
+<p>Select one of the links from the navigation menu (to the left) to drill
+down to the more detailed documentation that is available.  Each available
+manual is described in more detail below.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat User Guide"><strong>Apache Tomcat User Guide</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents will assist you in downloading, installing
+Apache Tomcat 5, and using many of the Apache Tomcat features.</p>
+
+<ol>
+<li><a href="introduction.html"><strong>Introduction</strong></a> - A
+    brief, high level, overview of Apache Tomcat.</li>
+<li><a href="setup.html"><strong>Setup</strong></a> - How to install and run
+    Apache Tomcat on a variety of platforms.</li>
+<li><a href="../appdev/index.html"><strong>First web application</strong></a>
+    - An introduction to the concepts of a <em>web application</em> as defined
+    in the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    2.3 Specification</a>.  Covers basic organization of your web application
+    source tree, the structure of a web application archive, and an
+    introduction to the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>).</li>
+<li><a href="deployer-howto.html"><strong>Deployer</strong></a> -
+    Operating the Apache Tomcat Deployer to deploy, precompile, and validate web
+    applications.</li>
+<li><a href="manager-howto.html"><strong>Manager</strong></a> -
+    Operating the <code>Manager</code> web app to deploy, undeploy, and
+    redeploy applications while Apache Tomcat is running.</li>
+<li><a href="realm-howto.html"><strong>Realms and Access Control</strong></a>
+    - Description of how to configure <em>Realms</em> (databases of users,
+    passwords, and their associated roles) for use in web applications that
+    utilize <em>Container Managed Security</em>.</li>
+<li><a href="security-manager-howto.html"><strong>Security Manager</strong></a>
+    - Configuring and using a Java Security Manager to
+    support fine-grained control over the behavior of your web applications.
+    </li>
+<li><a href="jndi-resources-howto.html"><strong>JNDI Resources</strong></a>
+    - Configuring standard and custom resources in the JNDI naming context
+    that is provided to each web application.</li>
+<li><a href="jndi-datasource-examples-howto.html">
+    <strong>JDBC DataSource</strong></a>
+    - Configuring a JNDI DataSoure with a DB connection pool.
+    Examples for many popular databases.</li>
+<li><a href="class-loader-howto.html"><strong>Classloading</strong></a>
+    - Information about class loading in Apache Tomcat 5, including where to place
+    your application classes so that they are visible.</li>
+<li><a href="jasper-howto.html"><strong>JSPs</strong></a>
+    - Information about Jasper configuration, as well as the JSP compiler
+    usage.</li>
+<li><a href="ssl-howto.html"><strong>SSL</strong></a> -
+    Installing and
+    configuring SSL support so that your Apache Tomcat will serve requests using
+    the <code>https</code> protocol.</li>
+<li><a href="ssi-howto.html"><strong>SSI</strong></a> -
+    Using Server Side Includes in Apache Tomcat.</li>
+<li><a href="cgi-howto.html"><strong>CGI</strong></a> -
+    Using CGIs with Apache Tomcat.</li>
+<li><a href="proxy-howto.html"><strong>Proxy Support</strong></a> -
+    Configuring Apache Tomcat 5 to run behind a proxy server (or a web server
+    functioning as a proxy server).</li>
+<li><a href="mbeans-descriptor-howto.html"><strong>MBean Descriptor</strong></a> -
+    Configuring MBean descriptors files for custom components.</li>
+<li><a href="default-servlet.html"><strong>Default Servlet</strong></a> -
+    Configuring the default servlet and customizing directory listings.</li>
+<li><a href="cluster-howto.html"><strong>Apache Tomcat Clustering</strong></a> -
+    Enable session replication in a Apache Tomcat environment.</li>
+<li><a href="balancer-howto.html"><strong>Balancer</strong></a> -
+    Configuring, using, and extending the load balancer application.</li>
+<li><a href="connectors.html"><strong>Connectors</strong></a> -
+    Connectors available in Apache Tomcat, and native web server integration.</li>
+<li><a href="monitoring.html"><strong>Monitoring and Management</strong></a> -
+    Enabling JMX Remote support, and using tools to monitor and manage Apache Tomcat.</li>
+<li><a href="logging.html"><strong>Logging</strong></a> -
+    Configuring logging in Apache Tomcat.</li>
+<li><a href="apr.html"><strong>Apache Portable Runtime</strong></a> -
+    Using APR to provide superior performance, scalability and better
+    integration with native server technologies.</li>
+<li><a href="virtual-hosting-howto.html"><strong>Virtual Hosting</strong></a> -
+    Configuring vitual hosting in Apache Tomcat.</li>
+</ol>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reference"><strong>Reference</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are aimed at <em>System Administrators</em> who
+are responsible for installing, configuring, and operating a Apache Tomcat 5 server.
+</p>
+<ul>
+<li><a href="RELEASE-NOTES.txt"><strong>Release notes</strong></a>
+    - Known issues in this Apache Tomcat release.
+    </li>
+<li><a href="../config/index.html"><strong>Apache Tomcat Server Configuration Reference</strong></a>
+    - Reference manual that documents all available elements and attributes
+      that may be placed into a Apache Tomcat 5 <code>conf/server.xml</code> file.
+    </li>
+<li><a href="http://tomcat.apache.org/connectors-doc/index.html"><strong>JK Documentation</strong></a>
+    - Complete documentation and HOWTOs on the JK native webserver connector,
+      used to interface Apache Tomcat with servers like Apache HTTPd, IIS
+      and others.</li>
+<li><a href="../servletapi/index.html"><strong>Servlet API Javadocs</strong></a> -
+    The Servlet 2.4 API Javadocs.</li>
+<li><a href="../jspapi/index.html"><strong>JSP API Javadocs</strong></a> -
+    The JSP 2.0 API Javadocs.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache Tomcat Developers"><strong>Apache Tomcat Developers</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The following documents are for Java developers who wish to contribute to
+the development of the <em>Apache Tomcat</em> project.</p>
+<ul>
+<li><a href="building.html"><strong>Building from Source</strong></a> - 
+    Details the steps necessary to download Apache Tomcat 5 source code (and the 
+    other packages that it depends on), and build a binary distribution from 
+    those sources.
+    </li>
+<li><a href="changelog.html"><strong>Changelog</strong></a> - Details the
+    changes made to Apache Tomcat.
+    </li>
+<li><a href="status.html"><strong>Status</strong></a> - Apache Tomcat development 
+    status.
+    </li>
+<li><a href="developers.html"><strong>Developers</strong></a> - List of active
+    Apache Tomcat contributors.
+    </li>
+<li><a href="../catalina/funcspecs/index.html"><strong>Functional Specifications</strong></a>
+    - Requirements specifications for features of the <em>Catalina</em> servlet
+    container portion of Apache Tomcat 5.</li>
+<li><a href="../catalina/docs/api/index.html"><strong>Catalina Javadocs</strong></a>
+    - Javadoc API documentation for the <em>Catalina</em> servlet
+    container and its dependencies.</li>
+<li><a href="../jasper/docs/api/index.html"><strong>Jasper Javadocs</strong></a>
+    - Javadoc API documentation for the <em>Jasper</em> JSP container
+    portion of Apache Tomcat 5.</li>
+<li><a href="../architecture/index.html"><strong>Apache Tomcat Architecture</strong></a>
+    - Documentation of the Apache Tomcat Server Architecture.</li>
+    
+</ul>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/introduction.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/introduction.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/introduction.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Introduction</title><meta value="Robert Slifka" name="author"><meta value="rslifka at sfu.ca" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Introduction</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For administrators and web developers alike, there are some important bits
+of information you should familiarize yourself with before starting out. This
+document serves as a brief introduction to some of the concepts and
+terminology behind the Tomcat container. As well, where to go when you need
+help.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Terminology"><strong>Terminology</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In the course of reading these documents, you'll run across a number of
+terms; some specific to Tomcat, and others defined by the
+<a href="http://java.sun.com/products/servlet/">Servlet</a> or
+<a href="http://java.sun.com/products/jsp/">JSP</a> specifications.</p>
+
+<ul>
+<li><strong>Context</strong> - In a nutshell, a Context is a
+    web application.</li>
+<li><strong>Term2</strong> - This is it.</li>
+<li><strong>Term3</strong> - This is it!</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directories and Files"><strong>Directories and Files</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Throughout the docs, you'll notice there are numerous references to
+<strong>$CATALINA_HOME</strong>. This represents the root of your Tomcat
+installation. When we say, "This information can be found in your
+$CATALINA_HOME/README.txt file" we mean to look at the README.txt file at the
+root of your Tomcat install.</p>
+
+<p>These are some of the key tomcat directories, all relative
+to <strong>$CATALINA_HOME</strong>:</p>
+
+<ul>
+<li><strong>/bin</strong> - Startup, shutdown, and other scripts. The
+    <code>*.sh</code> files (for Unix systems) are functional duplicates of
+    the <code>*.bat</code> files (for Windows systems).  Since the Win32
+    command-line lacks certain functionality, there are some additional
+    files in here.</li>
+<li><strong>/conf</strong> - Configuration files and related DTDs.  The most
+    important file in here is server.xml.  It is the main configuration file
+    for the container.</li>
+<li><strong>/logs</strong> - Log files are here by default.</li>
+<li><strong>/webapps</strong> - This is where your webapps go.</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat"><strong>Configuring Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This section will acquaint you with the basic information used during
+the configuration of the container.</p>
+
+<p>All of the information in the configuration files is read at startup,
+meaning that any change to the files necessitates a restart of the container.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Where to Go for Help"><strong>Where to Go for Help</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>While we've done our best to ensure that these documents are clearly
+written and easy to understand, we may have missed something.  Provided
+below are various web sites and mailing lists in case you get stuck.</p>
+
+<p>As Tomcat 5 is a new release of Tomcat, keep in mind that some of the
+issues and solutions vary between the major versions of Tomcat (4.x versus
+5).  As you search around the web, there will be some documentation that
+is not relevant to Tomcat 5, but 3.x and 4.x.  Doing 3.x or 4.x things to 5
+will probably not work in most cases as the server.xml files are very
+different.</p>
+
+<ul>
+<li>Current document - most documents will list potential hangups. Be sure
+    to fully read the relevant documentation as it will save you much time
+    and effort. There's nothing like scouring the web only to find out that
+    the answer was right in front of you all along!</li>
+<li><a href="http://tomcat.apache.org/faq/">Tomcat FAQ</a> as maintained by the developers.</li>
+<li><a href="http://wiki.apache.org/tomcat/">Tomcat WIKI</a></li>
+<li>Tomcat FAQ at <a href="http://www.jguru.com/faq/home.jsp?topic=Tomcat">jGuru</a></li>
+<li>Tomcat mailing list archives - numerous sites archive the Tomcat mailing
+    lists. Since the links change over time, clicking here will search
+    <a href="http://www.google.com/search?q=tomcat+mailing+list+archives">Google</a>.
+    </li>
+<li>The TOMCAT-USER mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>. If you don't
+    get a reply, then there's a good chance that your question was probably
+    answered in the list archives or one of the FAQs.  Although questions
+    about web application development in general are sometimes asked and
+    answered, please focus your questions on Tomcat-specific issues.</li>
+<li>The TOMCAT-DEV mailing list, which you can subscribe to
+    <a href="http://tomcat.apache.org/lists.html">here</a>.  This list is
+    <strong>reserved</strong> for discussions about the development of Tomcat
+    itself.  Questions about Tomcat configuration, and the problems you run
+    into while developing and running applications, will normally be more
+    appropriate on the TOMCAT-USER list instead.</li>
+</ul>
+
+<p>And, if you think something should be in the docs, by all means let us know
+on the TOMCAT-DEV list, or send one of the doc authors email.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jasper-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jasper-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jasper-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,322 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Jasper 2 JSP Engine How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Jasper 2 JSP Engine How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuration">Configuration</a><br>
+<a href="#Production Configuration">Production Configuration</a><br>
+<a href="#Web Application Compilation">Web Application Compilation</a><br>
+<a href="#Using Jikes">Using Jikes</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5.5 uses the Jasper 2 JSP Engine to implement
+the <a href="http://java.sun.com/products/jsp/">JavaServer Pages 2.0</a>
+specification.</p>
+
+<p>Jasper 2 has been redesigned to significantly improve performance over
+the orignal Jasper.  In addition to general code improvements the following
+changes were made:
+<ul>
+<li><strong>JSP Custom Tag Pooling</strong> - The java objects instantiated
+for JSP Custom Tags can now be pooled and reused.  This significantly boosts
+the performance of JSP pages which use custom tags.</li>
+<li><strong>Background JSP compilation</strong> - If you make a change to
+a JSP page which had already been compiled Jasper 2 can recompile that
+page in the background.  The previously compiled JSP page will still be
+available to serve requests.  Once the new page has been compiled
+successfully it will replace the old page.  This helps improve availablity
+of your JSP pages on a production server.</li>
+<li><strong>Recompile JSP when included page changes</strong> - Jasper 2
+can now detect when a page included at compile time from a JSP has changed
+and then recompile the parent JSP.</li>
+<li><strong>JDT used to compile JSP pages</strong> - The
+Eclipse JDT Java compiler is now used to perform JSP java source code
+compilation. This compiler loads source dependencies from the container
+classloader. Ant and javac can still be used.</li>
+</ul>
+</p>
+
+<p>Jasper is implemented using the servlet class
+<code>org.apache.jasper.servlet.JspServlet</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>By default Jasper is configured for use when doing web application
+development.  See the section <a href="#Production Configuration">
+Production Configuration</a> for information on configuring Jasper
+for use on a production Tomcat server.</p>
+
+<p>The servlet which implements Jasper is configured using init parameters
+in your global <code>$CATALINA_BASE/conf/web.xml</code>.
+
+<ul>
+<li><strong>checkInterval</strong> - If development is false and reloading is
+true, background compiles are enabled. checkInterval is the time in seconds
+between checks to see if a JSP page needs to be recompiled. Default
+<code>300</code> seconds.</li>
+
+<li><strong>compiler</strong> - Which compiler Ant should use to compile JSP
+pages.  See the Ant documentation for more information. If the value is not set,
+then the default Eclipse JDT Java compiler will be used instead of using Ant. 
+No default value.</li>
+
+<li><strong>classdebuginfo</strong> - Should the class file be compiled with
+debugging information?  <code>true</code> or <code>false</code>, default
+<code>true</code>.
+</li>
+
+<li><strong>classpath</strong> - Defines the class path to be used to compile
+the generated servlets. This parameter only has an effect if the ServletContext
+attribute org.apache.jasper.Constants.SERVLET_CLASSPATH is not set. This
+attribute is always set when Jasper is used within Tomcat. By default the
+classpath is created dynamically based on the current web application.</li>
+
+<li><strong>compilerSourceVM</strong> - What JDK version are the source files compatible with? (Default JDK 1.4)</li>
+
+<li><strong>compilerTargetVM</strong> - What JDK version are the generated files compatible with? (Default JDK 1.4)</li>
+
+<li><strong>development</strong> - Is Jasper used in development mode (will
+check for JSP modification on every access)? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>enablePooling</strong> - Determines whether tag handler pooling is
+enabled. <code>true</code> or <code>false</code>, default <code>true</code>.
+</li>
+
+<li><strong>engineOptionsClass</strong> - Allows specifying the Options class
+used to configure Jasper. If not present, the default EmbeddedServletOptions
+will be used.
+</li>
+
+<li><strong>ieClassId</strong> - The class-id value to be sent to Internet
+Explorer when using &lt;jsp:plugin&gt; tags.   Default
+<code>clsid:8AD9C840-044E-11D1-B3E9-00805F499D93</code>.</li>
+
+<li><strong>fork</strong> - Have Ant fork JSP page compiles so they are
+performed in a seperate JVM from Tomcat? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>javaEncoding</strong> - Java file encoding to use for generating
+java source files. Default <code>UTF8</code>.</li>
+
+<li><strong>genStringAsCharArray</strong> - Should text strings be generated as char
+arrays, to improve performance in some cases? Default <code>false</code>.</li>
+
+<li><strong>keepgenerated</strong> - Should we keep the generated Java source
+code for each page instead of deleting it? <code>true</code> or
+<code>false</code>, default <code>true</code>.</li>
+
+<li><strong>mappedfile</strong> - Should we generate static content with one 
+print statement per input line, to ease debugging?
+<code>true</code> or <code>false</code>, default <code>true</code>.</li>
+
+<li><strong>modificationTestInterval</strong> - Checks for modification for a given
+JSP file (and all its dependent files) will be performed only once every specified amount
+of seconds. Setting this to 0 will cause the JSP to be checked on every access.
+Default is <code>4</code> seconds.</li>
+
+<li><strong>reloading</strong> - Should Jasper check for modified JSPs?
+<code>true</code> or <code>false</code>, default <code>false</code>.</li>
+
+<li><strong>scratchdir</strong> - What scratch directory should we use when
+compiling JSP pages? Default is the work directory for the current web
+application.</li>
+
+<li><strong>trimSpaces</strong> - Should white spaces in template text between
+actions or directives be trimmed ?, default <code>false</code>.</li>
+</ul>
+</p>
+
+<p>The Java compiler from Eclipse JDT in included as the default compiler. It is an
+advanced Java compiler which will load all dependencies from the Tomcat class loader, 
+which will help tremendously when compiling on large installations with tens of JARs.
+On fast servers, this will allow sub-second recompilation cycles for even large JSP 
+pages. This new compiler will be updated to support the Java 5 syntax as soon as
+possible.</p>
+
+<p>Apache Ant, which was used in previous Tomcat releases, can be used instead instead of 
+the new compiler by simply removing the <code>common/lib/jasper-compiler-jdt.jar</code> file, 
+and placing the <code>ant.jar</code> file from the latest Ant distribution in the 
+<code>common/lib</code> folder.  If you do this, you also need to use the "javac"
+argument to catalina.sh.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Production Configuration"><strong>Production Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The main JSP optimization which can be done is precompilation of JSPs. However,
+this might not be possible (for example, when using the jsp-property-group feature)
+or practical, in which case the configuration of the Jasper servlet becomes critical.</p>
+
+<p>When using Jasper 2 in a production Tomcat server you should consider
+making the following changes from the default configuration.
+<ul>
+<li><strong>development</strong> - To disable on access checks for JSP
+pages compilation set this to <code>false</code>.</li>
+<li><strong>genStringAsCharArray</strong> - To generate slightly more efficient 
+char arrays, set this to <code>true</code>.</li>
+<li><strong>modificationTestInterval</strong> - If development has to be set to
+<code>true</code> for any reason (such as dynamic generation of JSPs), setting
+this to a high value will improve performance a lot.</li>
+<li><strong>trimSpaces</strong> - To remove useless bytes from the response,
+set this to <code>true</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Web Application Compilation"><strong>Web Application Compilation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using Ant is the preferred way to compile web applications using JSPC. 
+Use the script given below (a similar script is included in the "deployer" 
+download) to precompile a webapp:
+</p>
+
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="Webapp Precompilation" default="all" basedir="."&gt; 
+
+  &lt;target name="jspc"&gt; 
+
+    &lt;taskdef classname="org.apache.jasper.JspC" name="jasper2" &gt; 
+      &lt;classpath id="jspc.classpath"&gt; 
+        &lt;pathelement location="${java.home}/../lib/tools.jar"/&gt; 
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+        &lt;fileset dir="${tomcat.home}/server/lib"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt; 
+    &lt;/taskdef&gt; 
+
+    &lt;jasper2 
+             validateXml="false" 
+             uriroot="${webapp.path}" 
+             webXmlFragment="${webapp.path}/WEB-INF/generated_web.xml" 
+             outputDir="${webapp.path}/WEB-INF/src" /&gt; 
+
+  &lt;/target&gt; 
+
+  &lt;target name="compile"&gt;
+
+    &lt;mkdir dir="${webapp.path}/WEB-INF/classes"/&gt;
+    &lt;mkdir dir="${webapp.path}/WEB-INF/lib"/&gt;
+
+    &lt;javac destdir="${webapp.path}/WEB-INF/classes"
+           optimize="off"
+           debug="on" failonerror="false"
+           srcdir="${webapp.path}/WEB-INF/src" 
+	   excludes="**/*.smap"&gt;
+      &lt;classpath&gt;
+        &lt;pathelement location="${webapp.path}/WEB-INF/classes"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/common/classes"/&gt;
+        &lt;fileset dir="${tomcat.home}/common/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;pathelement location="${tomcat.home}/shared/classes"/&gt;
+        &lt;fileset dir="${tomcat.home}/shared/lib"&gt;
+          &lt;include name="*.jar"/&gt;
+        &lt;/fileset&gt;
+        &lt;fileset dir="${tomcat.home}/bin"&gt; 
+          &lt;include name="*.jar"/&gt; 
+        &lt;/fileset&gt; 
+      &lt;/classpath&gt;
+      &lt;include name="**" /&gt;
+      &lt;exclude name="tags/**" /&gt;
+    &lt;/javac&gt;
+
+  &lt;/target&gt;
+
+  &lt;target name="all" depends="jspc,compile"&gt;
+  &lt;/target&gt;
+
+  &lt;target name="cleanup"&gt;
+  	&lt;delete&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/src"/&gt;
+        &lt;fileset dir="${webapp.path}/WEB-INF/classes/org/apache/jsp"/&gt;
+  	&lt;/delete&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+The following command line can be used to run the script
+(replacing the tokens with the Tomcat base path and the path to the webapp 
+which should be precompiled):<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$ANT_HOME/bin/ant -Dtomcat.home=&lt;$TOMCAT_HOME&gt; -Dwebapp.path=&lt;$WEBAPP_PATH&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>
+Then, the declarations and mappings for the servlets which were generated 
+during the precompilation must be added to the web application deployment
+descriptor. Insert the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+at the right place inside the <code>${webapp.path}/WEB-INF/web.xml</code> file.
+Restart the web application (using the manager) and test it to verify it is 
+running fine with precompiled servlets. An appropriate token placed in the
+web application deployment descriptor may also be used to automatically
+insert the generated servlet declarations and mappings using Ant filtering 
+capabilities. This is actually how all the webapps distributed with Tomcat 
+are automatically compiled as part of the build process.
+</p>
+
+<p>
+At the jasper2 task you can use the option <code>addWebXmlMappings</code> for 
+automatic merge the <code>${webapp.path}/WEB-INF/generated_web.xml</code>
+with the current web application deployment descriptor at <code>${webapp.path}/WEB-INF/web.xml</code>.
+When you want to use Java 5 feature inside your jsp's, add the following javac compiler task
+attributes: <code>source="1.5" target="1.5"</code>. For live application
+you can also compile with <code>optimize="on"</code> and without debug info
+<code>debug="off"</code>.
+</p>
+
+<p>
+When you don't want to stop the jsp generation at first jsp syntax error, use   
+<code>failOnError="false"</code>and with <code>showSuccess="true"</code>
+all successfull <i>jsp to java</i> generation are printed out. Sometimes it is
+very helpfull, when you cleanup the generate java source files at <code>${webapp.path}/WEB-INF/src</code>
+and the compile jsp servlet classes at <code>${webapp.path}/WEB-INF/classes/org/apache/jsp</code>.
+</p>
+
+<p><strong>Hints:</strong>
+<ul>
+<li> When you switch to another tomcat release, then regenerate and recompile
+your jsp's with this version again!</li>
+<li>Use java system property at server runtime to disable tag pooling <code>org.apache.jasper.runtime.JspFactoryImpl.USE_POOL=false</code>.
+and limit the buffering with <code>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true</code>. Note that changing
+from the defaults may affect performance, but depending on the application.</li>
+</ul>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using Jikes"><strong>Using Jikes</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use
+<a href="http://oss.software.ibm.com/developerworks/opensource/jikes/">
+Jikes</a> to compile JSP pages:
+<ul>
+<li>From your <a href="ant.apache.org">Ant</a> installation, copy ant.jar
+and (if it's available: Ant 1.5 and later) ant-launcher.jar to 
+<code>$CATALINA_BASE/common/lib</code>.</li>
+<li>Download and install jikes. jikes must support the -encoding option.
+Execute <code>jikes -help</code> to verify that it was built with support
+for <code>-encoding</code>.</li>
+<li>Set the init parameter <code>compiler</code> to <code>jikes</code>.</li>
+<li>Define the property <code>-Dbuild.compiler.emacs=true</code> when starting
+Tomcat by adding it to your <code>CATALINA_OPTS</code> environment variable.
+This changes how jikes outputs error messages so that it is compatible with
+Jasper.</li>
+<li>If you get an error reporting that jikes can't use UTF8 encoding, try
+setting the init parameter <code>javaEncoding</code> to
+<code>ISO-8859-1</code>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-datasource-examples-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-datasource-examples-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-datasource-examples-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,628 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - JNDI Datasource HOW-TO</title><meta value="Les Hughes" name="author"><meta value="leslie.hughes at rubus.com" name="email"><meta value="David Haraburda" name="author"><meta value="david-tomcat at haraburda.com" name="email"><meta value="Glenn Nielsen" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>JNDI Datasource HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Database Connection Pool (DBCP) Configurations">
+Database Connection Pool (DBCP) Configurations</a><br>
+<a href="#Non DBCP Solutions">Non DBCP Solutions</a><br>
+<a href="#Oracle 8i with OCI client">Oracle 8i with OCI client</a><br>
+<a href="#Common Problems">Common Problems</a><br>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>JNDI Datasource configuration is covered extensively in the
+JNDI-Resources-HOWTO.  However, feedback from <code>tomcat-user</code> has
+shown that specifics for individual configurations can be rather tricky.</p>
+
+<p>Here then are some example configurations that have been posted to
+tomcat-user for popular databases and some general tips for db useage.</p>
+
+<p>You should be aware that since these notes are derived from configuration
+and/or feedback posted to <code>tomcat-user</code> YMMV :-). Please let us
+know if you have any other tested configurations that you feel may be of use
+to the wider audience, or if you feel we can improve this section in anyway.</p>
+
+<p>
+<b>Please note that JNDI resource configuration has changed somewhat between
+Tomcat 5.0.x and Tomcat 5.5.x.</b>  You will most likely need to modify your JNDI
+resource configurations to match the syntax in the example below in order
+to make them work in Tomcat 5.5.x.
+</p>
+
+<p>
+Also, please note that JNDI DataSource configuration in general, and this 
+tutorial in particular, assumes that you have read and understood the 
+<a href="../config/context.html">Context</a> and 
+<a href="../config/host.html">Host</a> configuration references, including
+the section about Automatic Application Deployment in the latter reference.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Database Connection Pool (DBCP) Configurations"><strong>Database Connection Pool (DBCP) Configurations</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>DBCP provides support for JDBC 2.0.  On systems using a 1.4 JVM DBCP
+will support JDBC 3.0. Please let us know if you have used DBCP and its
+JDBC 3.0 features with a 1.4 JVM.
+</p>
+
+<p>See the <a href="http://jakarta.apache.org/commons/dbcp/configuration.html">
+DBCP documentation</a> for a complete list of configuration parameters.
+</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+<p>DBCP uses the Jakarta-Commons Database Connection Pool. It relies on
+number of Jakarta-Commons components:
+<ul>
+<li>Jakarta-Commons DBCP</li>
+<li>Jakarta-Commons Collections</li>
+<li>Jakarta-Commons Pool</li>
+</ul>
+These libraries are located in a single JAR at 
+<code>$CATALINA_HOME/common/lib/naming-factory-dbcp.jar</code>. However,
+only the classes needed for connection pooling have been included, and the
+packages have been renamed to avoid interfering with applications.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preventing dB connection pool leaks"><strong>Preventing dB connection pool leaks</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+A database connection pool creates and manages a pool of connections
+to a database. Recycling and reusing already existing connections
+to a dB is more efficient than opening a new connection.
+</p>
+
+<p>
+There is one problem with connection pooling.  A web application has
+to explicetely close ResultSet's, Statement's, and Connection's.
+Failure of a web application to close these resources can result in
+them never being available again for reuse, a db connection pool "leak".
+This can eventually result in your web application db connections failing
+if there are no more available connections.</p>
+
+<p>
+There is a solution to this problem.  The Jakarta-Commons DBCP can be
+configured to track and recover these abandoned dB connections.  Not
+only can it recover them, but also generate a stack trace for the code
+which opened these resources and never closed them.</p>
+
+<p>
+To configure a DBCP DataSource so that abandoned dB connections are
+removed and recycled add the following attribute to the
+<code>Resource</code> configuration for your DBCP DataSource:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+When available db connections run low DBCP will recover and recyle
+any abandoned dB connections it finds. The default is <code>false</code>.
+</p>
+
+<p>
+Use the <code>removeAbandonedTimeout</code> attribute to set the number
+of seconds a dB connection has been idle before it is considered abandoned.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            removeAbandonedTimeout="60"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+The default timeout for removing abandoned connections is 300 seconds.
+</p>
+
+<p>
+The <code>logAbandoned</code> attribute can be set to <code>true</code>
+if you want DBCP to log a stack trace of the code which abandoned the
+dB connection resources.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            logAbandoned="true"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+The default is <code>false</code>.
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MySQL DBCP Example"><strong>MySQL DBCP Example</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>0. Introduction</h3>
+<p>Versions of <a href="http://www.mysql.com/products/mysql/index.html">MySQL</a> and JDBC drivers that have been reported to work:
+<ul>
+<li>MySQL 3.23.47, MySQL 3.23.47 using InnoDB,, MySQL 3.23.58,  MySQL 4.0.1alpha</li>
+<li><a href="http://www.mysql.com/products/connector-j">Connector/J</a> 3.0.11-stable (the official JDBC Driver)</li>
+<li><a href="http://mmmysql.sourceforge.net">mm.mysql</a> 2.0.14 (an old 3rd party JDBC Driver)</li>
+</ul>
+</p>
+
+<p>Before you proceed, don't forget to copy the JDBC Driver's jar into <code>$CATALINA_HOME/common/lib</code>.</p>
+
+<h3>1. MySQL configuration</h3>
+<p>
+Ensure that you follow these instructions as variations can cause problems.
+</p>
+
+<p>Create a new test user, a new database and a single test table.
+Your MySQL user <strong>must</strong> have a password assigned. The driver
+will fail if you try to connect with an empty password.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; GRANT ALL PRIVILEGES ON *.* TO javauser at localhost 
+    -&gt;   IDENTIFIED BY 'javadude' WITH GRANT OPTION;
+mysql&gt; create database javatest;
+mysql&gt; use javatest;
+mysql&gt; create table testdata (
+    -&gt;   id int not null auto_increment primary key,
+    -&gt;   foo varchar(25), 
+    -&gt;   bar int);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<blockquote>
+<strong>Note:</strong> the above user should be removed once testing is
+complete!
+</blockquote>
+</p>
+
+<p>Next insert some test data into the testdata table.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mysql&gt; insert into testdata values(null, 'hello', 12345);
+Query OK, 1 row affected (0.00 sec)
+
+mysql&gt; select * from testdata;
++----+-------+-------+
+| ID | FOO   | BAR   |
++----+-------+-------+
+|  1 | hello | 12345 |
++----+-------+-------+
+1 row in set (0.00 sec)
+
+mysql&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2. server.xml configuration</h3>
+<p>Configure the JNDI DataSource in Tomcat by adding a declaration for your
+resource to <code>$CATALINA_HOME/conf/server.xml</code>.</p>
+<p>Add this in between the <code>&lt;/Context&gt;</code> tag of the examples
+context and the <code>&lt;/Host&gt;</code> tag closing the localhost definition.
+If there is no such tag, you can add one as illustrated in the 
+<a href="../config/context.html">Context</a> and
+<a href="../config/host.html">Host</a> configuration references, and repeated below
+for your convenience.
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/DBTest" docBase="DBTest"
+        debug="5" reloadable="true" crossContext="true"&gt;
+
+    &lt;!-- maxActive: Maximum number of dB connections in pool. Make sure you
+         configure your mysqld max_connections large enough to handle
+         all of your db connections. Set to 0 for no limit.
+         --&gt;
+
+    &lt;!-- maxIdle: Maximum number of idle dB connections to retain in pool.
+         Set to -1 for no limit.  See also the DBCP documentation on this
+         and the minEvictableIdleTimeMillis configuration parameter.
+         --&gt;
+
+    &lt;!-- maxWait: Maximum time to wait for a dB connection to become available
+         in ms, in this example 10 seconds. An Exception is thrown if
+         this timeout is exceeded.  Set to -1 to wait indefinitely.
+         --&gt;
+
+    &lt;!-- username and password: MySQL dB username and password for dB connections  --&gt;
+
+    &lt;!-- driverClassName: Class name for the old mm.mysql JDBC driver is
+         org.gjt.mm.mysql.Driver - we recommend using Connector/J though.
+         Class name for the official MySQL Connector/J driver is com.mysql.jdbc.Driver.
+         --&gt;
+    
+    &lt;!-- url: The JDBC connection url for connecting to your MySQL dB.
+         The autoReconnect=true argument to the url makes sure that the
+         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
+         connection.  mysqld by default closes idle connections after 8 hours.
+         --&gt;
+
+  &lt;Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
+               maxActive="100" maxIdle="30" maxWait="10000"
+               username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
+               url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>3. web.xml configuration</h3>
+
+<p>Now create a <code>WEB-INF/web.xml</code> for this test application.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4"&gt;
+  &lt;description&gt;MySQL Test App&lt;/description&gt;
+  &lt;resource-ref&gt;
+      &lt;description&gt;DB Connection&lt;/description&gt;
+      &lt;res-ref-name&gt;jdbc/TestDB&lt;/res-ref-name&gt;
+      &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+      &lt;res-auth&gt;Container&lt;/res-auth&gt;
+  &lt;/resource-ref&gt;
+&lt;/web-app&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>4. Test code</h3>
+<p>Now create a simple <code>test.jsp</code> page for use later.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %&gt;
+&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %&gt;
+
+&lt;sql:query var="rs" dataSource="jdbc/TestDB"&gt;
+select id, foo, bar from testdata
+&lt;/sql:query&gt;
+
+&lt;html&gt;
+  &lt;head&gt;
+    &lt;title&gt;DB Test&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+
+  &lt;h2&gt;Results&lt;/h2&gt;
+  
+&lt;c:forEach var="row" items="${rs.rows}"&gt;
+    Foo ${row.foo}&lt;br/&gt;
+    Bar ${row.bar}&lt;br/&gt;
+&lt;/c:forEach&gt;
+
+  &lt;/body&gt;
+&lt;/html&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>That JSP page makes use of <a href="http://java.sun.com/products/jsp/jstl">JSTL</a>'s SQL and Core taglibs. You can get it from Sun's <a href="http://java.sun.com/webservices/downloads/webservicespack.html">Java Web Services Developer Pack</a> or <a href="http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html">Jakarta Taglib Standard 1.1</a> project - just make sure you get a 1.1.x release. Once you have JSTL, copy <code>jstl.jar</code> and <code>standard.jar</code> to your web app's <code>WEB-INF/lib</code> directory.
+
+</p>
+
+<p>Finally deploy your web app into <code>$CATALINA_HOME/webapps</code> either
+as a warfile called <code>DBTest.war</code> or into a sub-directory called
+<code>DBTest</code></p>
+<p>Once deployed, point a browser at
+<code>http://localhost:8080/DBTest/test.jsp</code> to view the fruits of
+your hard work.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i, 9i & 10g"><strong>Oracle 8i, 9i &amp; 10g</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+
+<p>Oracle requires minimal changes from the MySQL configuration except for the
+usual gotchas :-)</p>
+<p>Drivers for older Oracle versions may be distributed as *.zip files rather
+than *.jar files. Tomcat will only use <code>*.jar</code> files installed in
+<code>$CATALINA_HOME/common/lib</code>. Therefore <code>classes111.zip</code>
+or <code>classes12.zip</code> will need to be renamed with a <code>.jar</code>
+extension. Since jarfiles are zipfiles, there is no need to unzip and jar these
+files - a simple rename will suffice.</p>
+
+<p>Some early versions of Tomcat 4.0 when used with JDK 1.4 will not load
+classes12.zip unless you unzip the file, remove the <code>javax.sql.*</code>
+class heirarchy and rejar.</p>
+
+<p>For Oracle 9i onwards you should use <code>oracle.jdbc.OracleDriver</code>
+rather than <code>oracle.jdbc.driver.OracleDriver</code> as Oracle have stated
+that <code>oracle.jdbc.driver.OracleDriver</code> is deprecated and support
+for this driver class will be discontinued in the next major release.
+</p>
+
+<h3>1.    server.xml configuration</h3>
+<p>In a similar manner to the mysql config above, you will need to define your
+Datasource in your server.xml file. Here we define a Datasource called myoracle
+using the thin driver to connect as user scott, password tiger to the sid
+called mysid. (Note: with the thin driver this sid is not the same as the
+tnsname). The schema used will be the default schema for the user scott.</p>
+
+<p>Use of the OCI driver should simply involve a changing thin to oci in the URL string.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/myoracle" auth="Container"
+              type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
+              url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
+              username="scott" password="tiger" maxActive="20" maxIdle="10"
+              maxWait="-1"/&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>2.    web.xml configuration</h3>
+<p>You should ensure that you respect the elemeent ordering defined by the DTD when you
+create you applications web.xml file.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;Oracle Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/myoracle&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<h3>3.   Code example</h3>
+<p>You can use the same example application as above (asuming you create the required DB
+instance, tables etc.) replacing the Datasource code with something like</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initContext = new InitialContext();
+Context envContext  = (Context)initContext.lookup("java:/comp/env");
+DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
+Connection conn = ds.getConnection();
+//etc.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="PostgreSQL"><strong>PostgreSQL</strong></a></font></td></tr><tr><td><blockquote>
+<h3>0.    Introduction</h3>
+<p>PostgreSQL is configured in a similar manner to Oracle.</p>
+
+<h3>1. Required files </h3>
+<p>
+Copy the Postgres JDBC jar to $CATALINA_HOME/common/lib. As with Oracle, the
+jars need to be in this directory in order for DBCP's Classloader to find
+them. This has to be done regardless of which configuration step you take next.
+</p>
+
+<h3>2. Resource configuration</h3>
+
+<p>
+You have two choices here: define a datasource that is shared across all Tomcat
+applications, or define a datasource specifically for one application.
+</p>
+
+<h4>2a. Shared resource configuration</h4>
+<p>
+Use this option if you wish to define a datasource that is shared across
+multiple Tomcat applications, or if you just prefer defining your datasource
+in this file.
+</p>
+<p><i>This author has not had success here, although others have reported so.
+Clarification would be appreciated here.</i></p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10" maxWait="-1"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<h4>2b. Application-specific resource configuration</h4>
+
+<p>
+Use this option if you wish to define a datasource specific to your application,
+not visible to other Tomcat applications. This method is less invasive to your
+Tomcat installation.
+</p>
+
+<p>
+Create a resource definition file for your application defining the
+datasource. This file must have the same name as your application, so if
+your application deploys as <code>someApp.war</code>, this filename must
+be <code>someApp.xml</code>. This file should look something like the following.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/someApp" docBase="someApp"
+   crossContext="true" reloadable="true" debug="1"&gt;
+
+&lt;Resource name="jdbc/postgres" auth="Container"
+          type="javax.sql.DataSource" driverClassName="org.postgresql.Driver"
+          url="jdbc:postgresql://127.0.0.1:5432/mydb"
+          username="myuser" password="mypasswd" maxActive="20" maxIdle="10"
+maxWait="-1"/&gt;
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>3. web.xml configuration</h3>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+ &lt;description&gt;postgreSQL Datasource example&lt;/description&gt;
+ &lt;res-ref-name&gt;jdbc/postgres&lt;/res-ref-name&gt;
+ &lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;
+ &lt;res-auth&gt;Container&lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h4>4. Accessing the datasource</h4>
+<p>
+When accessing the datasource programmatically, remember to prepend
+<code>java:/comp/env</code> to your JNDI lookup, as in the following snippet of
+code. Note also that "jdbc/postgres" can be replaced with any value you prefer, provided
+you change it in the above resource definition file as well.
+</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+InitialContext cxt = new InitialContext();
+if ( cxt == null ) {
+   throw new Exception("Uh oh -- no context!");
+}
+
+DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/postgres" );
+
+if ( ds == null ) {
+   throw new Exception("Data source not found!");
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Non-DBCP Solutions"><strong>Non-DBCP Solutions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These solutions either utilise a single connection to the database (not recommended for anything other
+than testing!) or some other pooling technology.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Oracle 8i with OCI client"><strong>Oracle 8i with OCI client</strong></a></font></td></tr><tr><td><blockquote>
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+<p>Whilst not strictly addressing the creation of a JNDI DataSource using the OCI client, these notes can be combined with the
+Oracle and DBCP solution above.</p>
+<p>
+In order to use OCI driver, you should have an Oracle client installed. You should have installed
+Oracle8i(8.1.7) client from cd,  and download the suitable JDBC/OCI
+driver(Oracle8i 8.1.7.1 JDBC/OCI Driver) from <a href="http://otn.oracle.com/">otn.oracle.com</a>. 
+</p>
+<p>
+After renaming <code>classes12.zip</code> file to <code>classes12.jar</code>
+for Tomcat, copy it into <code>$CATALINA_HOME/common/lib</code>. 
+You may also have to remove the <code>javax.sql.*</code> classes
+from this file depending upon the version of Tomcat and JDK you are using.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Putting it all together"><strong>Putting it all together</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Ensure that you have the <code>ocijdbc8.dll</code> or <code>.so</code> in your <code>$PATH</code> or <code>LD_LIBRARY_PATH</code>
+ (possibly in <code>$ORAHOME\bin</code>) and also confirm that the native library can be loaded by a simple test program 
+using <code>System.loadLibrary("ocijdbc8");</code>
+</p>
+<p>
+You should next create a simple test servlet or jsp that has these
+<strong>critical lines</strong>:
+</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+DriverManager.registerDriver(new
+oracle.jdbc.driver.OracleDriver());
+conn =
+DriverManager.getConnection("jdbc:oracle:oci8:@database","username","password");
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>
+where database is of the form <code>host:port:SID</code> Now if you try to access the URL of your 
+test servlet/jsp and what you get is a 
+<code>ServletException</code> with a root cause of <code>java.lang.UnsatisfiedLinkError:get_env_handle</code>.
+</p>
+<p>
+First, the <code>UnsatisfiedLinkError</code> indicates that you have 
+<ul>
+<li>a mismatch between your JDBC classes file and
+your Oracle client version. The giveaway here is the message stating that a needed library file cannot be
+found. For example, you may be using a classes12.zip file from Oracle Version 8.1.6 with a Version 8.1.5
+Oracle client. The classeXXXs.zip file and Oracle client software versions must match.
+</li>
+<li>A <code>$PATH</code>, <code>LD_LIBRARY_PATH</code> problem.</li>
+<li>It has been reported that ignoring the driver you have downloded from otn and using 
+the classes12.zip file from the directory <code>$ORAHOME\jdbc\lib</code> will also work.
+</li>
+</ul>
+</p>
+<p>
+Next you may experience the error <code>ORA-06401 NETCMN: invalid driver designator</code>
+</p>
+<p>
+The Oracle documentation says : "Cause: The login (connect) string contains an invalid
+driver designator. Action: Correct the string and re-submit."
+
+Change the database connect string (of the form <code>host:port:SID</code>) with this one:
+<code>(description=(address=(host=myhost)(protocol=tcp)(port=1521))(connect_data=(sid=orcl)))</code>
+</p>
+<p>
+<i>Ed. Hmm, I don't think this is really needed if you sort out your TNSNames - but I'm not an Oracle DBA :-)</i>
+</p>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Problems"><strong>Common Problems</strong></a></font></td></tr><tr><td><blockquote>
+<p>Here are some common problems encountered with a web application which
+uses a database and tips for how to solve them.</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Intermittent dB Connection Failures"><strong>Intermittent dB Connection Failures</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+Tomcat runs within a JVM.  The JVM periodically performs garbage collection
+(GC) to remove java objects which are no longer being used.  When the JVM
+performs GC execution of code within Tomcat freezes. If the maximum time
+configured for establishment of a dB connection is less than the amount
+of time garbage collection took you can get a db conneciton failure.
+</p>
+
+<p>To collect data on how long garbage collection is taking add the
+<code>-verbose:gc</code> argument to your <code>CATALINA_OPTS</code>
+environment variable when starting Tomcat.  When verbose gc is enabled
+your <code>$CATALINA_BASE/logs/catalina.out</code> log file will include
+data for every garbage collection including how long it took.</p>
+
+<p>When your JVM is tuned correctly 99% of the time a GC will take less
+than one second.  The remainder will only take a few seconds.  Rarely,
+if ever should a GC take more than 10 seconds.</p>
+
+<p>Make sure that the db connection timeout is set to 10-15 seconds.
+For the DBCP you set this using the parameter <code>maxWait</code>.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Random Connection Closed Exceptions"><strong>Random Connection Closed Exceptions</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+These can occur when one request gets a db connection from the connection
+pool and closes it twice.  When using a connection pool, closing the
+connection just returns it to the pool for reuse by another request,
+it doesn't close the connection.  And Tomcat uses multiple threads to
+handle concurrent requests. Here is an example of the sequence
+of events which could cause this error in Tomcat:
+<pre>
+  Request 1 running in Thread 1 gets a db connection.
+
+  Request 1 closes the db connection.
+
+  The JVM switches the running thread to Thread 2
+
+  Request 2 running in Thread 2 gets a db connection
+  (the same db connection just closed by Request 1).
+
+  The JVM switches the running thread back to Thread 1
+
+  Request 1 closes the db connection a second time in a finally block.
+
+  The JVM switches the running thread back to Thread 2
+
+  Request 2 Thread 2 tries to use the db connection but fails
+  because Request 1 closed it.
+</pre>
+Here is an example of properly written code to use a db connection
+obtained from a connection pool:
+<pre>
+  Connection conn = null;
+  Statement stmt = null;  // Or PreparedStatement if needed
+  ResultSet rs = null;
+  try {
+    conn = ... get connection from connection pool ...
+    stmt = conn.createStatement("select ...");
+    rs = stmt.executeQuery();
+    ... iterate through the result set ...
+    rs.close();
+    rs = null;
+    stmt.close();
+    stmt = null;
+    conn.close(); // Return to connection pool
+    conn = null;  // Make sure we don't close it twice
+  } catch (SQLException e) {
+    ... deal with errors ...
+  } finally {
+    // Always make sure result sets and statements are closed,
+    // and the connection is returned to the pool
+    if (rs != null) {
+      try { rs.close(); } catch (SQLException e) { ; }
+      rs = null;
+    }
+    if (stmt != null) {
+      try { stmt.close(); } catch (SQLException e) { ; }
+      stmt = null;
+    }
+    if (conn != null) {
+      try { conn.close(); } catch (SQLException e) { ; }
+      conn = null;
+    }
+  }
+</pre>
+</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Context versus GlobalNamingResources"><strong>Context versus GlobalNamingResources</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  Please note that although the above instructions place the JNDI declarations in a Context
+  element, it is possible and sometimes desirable to place these declarations in the 
+  <a href="../config/globalresources.html">GlobalNamingResources</a> section of the server
+  configuration file.  A resource placed in the GlobalNamingResources section will be shared
+  among the Contexts of the server.
+</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDI Resource Naming and Realm Interaction"><strong>JNDI Resource Naming and Realm Interaction</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+  In order to get Realms to work, the realm must refer to the datasource as
+  defined in the &lt;GlobalNamingResources&gt; or &lt;Context&gt; section, not a datasource as renamed
+  using &lt;ResourceLink&gt;.
+</p>
+</blockquote></td></tr></table> 
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-resources-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-resources-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/jndi-resources-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,737 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - JNDI Resources HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>JNDI Resources HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5 provides a JNDI <strong>InitialContext</strong> implementation
+instance for each web application running under it, in a manner that is 
+compatible with those provided by a 
+<a href="http://java.sun.com/j2ee">Java2 Enterprise Edition</a> application 
+server. 
+
+The J2EE standard provides a standard set of elements in 
+the <code>/WEB-INF/web.xml</code> file to reference resources; resources 
+referenced in these elements must be defined in an application-server-specific configuration. 
+</p>
+
+<p>For Tomcat 5, these entries in per-web-application 
+<code>InitialContext</code> are configured in the 
+<code><strong>&lt;Context&gt;</strong></code> elements that can be specified 
+in either <code>$CATALINA_HOME/conf/server.xml</code> or, preferably, 
+the per-web-application context XML file (either <code>META-INF/context.xml</code>).
+</p>
+
+<p>Tomcat 5 maintains a separate namespace of global resources for the 
+entire server.  These are configured in the 
+<a href="../config/globalresources.html">
+<code><strong>&lt;GlobalNameingResources&gt;</strong></code></a> element of 
+<code>$CATALINA_HOME/conf/server.xml</code>. You may expose these resources to 
+web applications by using 
+<code><strong>&lt;ResourceLink&gt;</strong></code> elements.
+</p>
+
+<p>The resources defined in these elements
+may be referenced by the following elements in the web application deployment
+descriptor (<code>/WEB-INF/web.xml</code>) of your web application:</p>
+<ul>
+<li><code><strong>&lt;env-entry&gt;</strong></code> - Environment entry, a
+    single-value parameter that can be used to configure how the application
+    will operate.</li>
+<li><code><strong>&lt;resource-ref&gt;</strong></code> - Resource reference,
+    which is typically to an object factory for resources such as a JDBC
+    <code>DataSource</code>, a JavaMail <code>Session</code>, or custom
+    object factories configured into Tomcat 5.</li>
+<li><code><strong>&lt;resource-env-ref&gt;</strong></code> - Resource
+    environment reference, a new variation of <code>resource-ref</code>
+    added in Servlet 2.4 that is simpler to configure for resources
+    that do not require authentication information.</li>
+</ul>
+
+<p>The <code>InitialContext</code> is configured as a web application is
+initially deployed, and is made available to web application components (for
+read-only access).  All configured entries and resources are placed in
+the <code>java:comp/env</code> portion of the JNDI namespace, so a typical
+access to a resource - in this case, to a JDBC <code>DataSource</code> -
+would look something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Obtain our environment naming context
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+
+// Look up our data source
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+// Allocate and use a connection from the pool
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>See the following Specifications for more information about programming APIs
+for JNDI, and for the features supported by Java2 Enterprise Edition (J2EE)
+servers, which Tomcat emulates for the services that it provides:</p>
+<ul>
+<li><a href="http://java.sun.com/products/jndi/#download">Java Naming and
+    Directory Interface</a> (included in JDK 1.4, available separately for
+    prior JDK versions)</li>
+<li><a href="http://java.sun.com/j2ee/download.html">J2EE Platform
+    Specification</a> (in particular, see Chapter 5 on <em>Naming</em>)</li>
+</ul>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring JNDI Resources"><strong>Configuring JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Each available JNDI Resource is configured based on inclusion of the
+following elements in the <code><strong>&lt;Context&gt;</strong></code>
+element:</p>
+
+<ul>
+<li><a href="../config/context.html#Environment Entries">&lt;Environment&gt;</a> -
+    Configure names and values for scalar environment entries that will be
+    exposed to the web application through the JNDI
+    <code>InitialContext</code> (equivalent to the inclusion of an
+    <code>&lt;env-entry&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="../config/context.html#Resource Definitions">&lt;Resource&gt;</a> -
+    Configure the name and data type of a resource made available to the
+    application (equivalent to the inclusion of a
+    <code>&lt;resource-ref&gt;</code> element in the web application
+    deployment descriptor).</li>
+<li><a href="../config/context.html#Resource Links">&lt;ResourceLink&gt;</a> -
+    Add a link to a resource defined in the global JNDI context. Use resource 
+    links to give a web application access to a resource defined in 
+    the<a href="../config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+    child element of the <a href="../config/server.html">&lt;Server&gt;</a>
+    element.</li>
+<li><a href="../config/context.html#Transaction">&lt;Transaction&gt;</a> -
+    Add a resource factory for instantiating the UserTransaction object 
+    instance that is available at <code>java:comp/UserTransaction</code>.</li>
+
+</ul>
+
+<p>Any number of these elements may be nested inside a
+<a href="../config/context.html">&lt;Context&gt;</a> element (to be associated
+only with that particular web application).</p>
+
+<p>In addition, the names and values of all <code>&lt;env-entry&gt;</code>
+elements included in the web application deployment descriptor
+(<code>/WEB-INF/web.xml</code>) are configured into the initial context as
+well, overriding corresponding values from <code>conf/server.xml</code>
+<strong>only</strong> if allowed by the corresponding
+<code>&lt;Environment&gt;</code> element (by setting the
+<code>override</code> attribute to "true").</p>
+
+<p>Global resources can be defined in the server-wide JNDI context, by adding
+the resource elements described above to the
+<a href="../config/globalresources.html">&lt;GlobalNamingResources&gt;</a>
+child element of the <a href="../config/server.html">&lt;Server&gt;</a>
+element and using a 
+<a href="../config/context.html#Resource Links">&lt;ResourceLink&gt;</a> to
+include it in the per-web-application context.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Standard Resource Factories"><strong>Tomcat Standard Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Tomcat 5 includes a series of standard resource factories that can
+  provide services to your web applications, but give you configuration
+  flexibility (in <code>$CATALINA_HOME/conf/server.xml</code>) without
+  modifying the web application or the deployment descriptor.  Each
+  subsection below details the configuration and usage of the standard
+  resource factories.</p>
+
+  <p>See <a href="#Adding Custom Resource Factories">Adding Custom
+  Resource Factories</a> for information about how to create, install,
+  configure, and use your own custom resource factory classes with
+  Tomcat 5.</p>
+
+  <p><em>NOTE</em> - Of the standard resource factories, only the
+  "JDBC Data Source" and "User Transaction" factories are mandated to
+  be available on other platforms, and then they are required only if
+  the platform implements the Java2 Enterprise Edition (J2EE) specs.
+  All other standard resource factories, plus custom resource factories
+  that you write yourself, are specific to Tomcat and cannot be assumed
+  to be available on other containers.</p>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Generic JavaBean Resources"><strong>Generic JavaBean Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>This resource factory can be used to create objects of <em>any</em>
+    Java class that conforms to standard JavaBeans naming conventions (i.e.
+    it has a zero-arguments constructor, and has property setters that
+    conform to the setFoo() naming pattern.  The resource factory will
+    create a new instance of the appropriate bean class every time a
+    <code>lookup()</code> for this entry is made.</p>
+
+    <p>The steps required to use this facility are described below.</p>
+
+    <h3>1.  Create Your JavaBean Class</h3>
+
+    <p>Create the JavaBean class which will be instantiated each time
+    that the resource factory is looked up.  For this example, assume
+    you create a class <code>com.mycompany.MyBean</code>, which looks
+    like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+public class MyBean {
+
+  private String foo = "Default Foo";
+
+  public String getFoo() {
+    return (this.foo);
+  }
+
+  public void setFoo(String foo) {
+    this.foo = foo;
+  }
+
+  private int bar = 0;
+
+  public int getBar() {
+    return (this.bar);
+  }
+
+  public void setBar(int bar) {
+    this.bar = bar;
+  }
+
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;/resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="org.apache.naming.factory.BeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JavaMail Sessions"><strong>JavaMail Sessions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>In many web applications, sending electronic mail messages is a
+    required part of the system's functionality.  The
+    <a href="http://java.sun.com/products/javamail">Java Mail</a> API
+    makes this process relatively straightforward, but requires many
+    configuration details that the client application must be aware of
+    (including the name of the SMTP host to be used for message sending).</p>
+
+    <p>Tomcat 5 includes a standard resource factory that will create
+    <code>javax.mail.Session</code> session instances for you, already
+    connected to the SMTP server that is configured in <code>server.xml</code>.
+    In this way, the application is totally insulated from changes in the
+    email server configuration environment - it simply asks for, and receives,
+    a preconfigured session whenever needed.</p>
+
+    <p>The steps required for this are outlined below.</p>
+
+    <h3>1.  Declare Your Resource Requirements</h3>
+
+    <p>The first thing you should do is modify the web application deployment
+    descriptor (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured sessions.  By convention, all such
+    names should resolve to the <code>mail</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for javax.mail.Session
+    instances that may be used for sending electronic mail
+    messages, preconfigured to connect to the appropriate
+    SMTP server.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    mail/Session
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.mail.Session
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>2.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+Session session = (Session) envCtx.lookup("mail/Session");
+
+Message message = new MimeMessage(session);
+message.setFrom(new InternetAddress(request.getParameter("from"));
+InternetAddress to[] = new InternetAddress[1];
+to[0] = new InternetAddress(request.getParameter("to"));
+message.setRecipients(Message.RecipientType.TO, to);
+message.setSubject(request.getParameter("subject"));
+message.setContent(request.getParameter("content"), "text/plain");
+Transport.send(message);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in
+    <code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
+
+    <h3>3.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="mail/Session" auth="Container"
+            type="javax.mail.Session"
+            mail.smtp.host="localhost"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>mail/Session</code>) must
+    match the value specified in the web application deployment descriptor.
+    Customize the value of the <code>mail.smtp.host</code> parameter to
+    point at the server that provides SMTP service for your network.</p>
+
+    <h3>4.  Install the JavaMail libraries</h3>
+
+    <p><a href="http://java.sun.com/products/javamail/downloads/index.html">
+    Download the JavaMail API</a>.  The JavaMail API requires the Java Activation
+    Framework (JAF) API as well.  The Java Activation Framework can be downloaded
+    from <a href="http://java.sun.com/products/javabeans/glasgow/jaf.html">Sun's site</a>.
+    </p>
+
+    <p>This download includes 2 vital libraries for the configuration; 
+    activation.jar and mail.jar. Unpackage both distributions and place 
+    them into $CATALINA_HOME/common/lib so that they are available to
+    Tomcat during the initialization of the mail Session Resource.
+    <strong>Note:</strong> placing these jars in both common/lib and a 
+    web application's lib folder will cause an error, so ensure you have
+    them in the $CATALINA_HOME/common/lib location only.
+    </p>
+
+    <h3>Example Application</h3>
+
+    <p>The <code>/examples</code> application included with Tomcat contains
+    an example of utilizing this resource factory.  It is accessed via the
+    "JSP Examples" link.  The source code for the servlet that actually
+    sends the mail message is in
+    <code>/WEB-INF/classes/SendMailServlet.java</code>.</p>
+
+    <p><strong>WARNING</strong> - The default configuration assumes that
+    there is an SMTP server listing on port 25 on <code>localhost</code>.
+    If this is not the case, edit the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, and modify the
+    parameter value for the <code>mail.smtp.host</code> parameter to be
+    the host name of an SMTP server on your network.</p>
+
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBC Data Sources"><strong>JDBC Data Sources</strong></a></font></td></tr><tr><td><blockquote>
+
+    <h3>0.  Introduction</h3>
+
+    <p>Many web applications need to access a database via a JDBC driver,
+    to support the functionality required by that application.  The J2EE
+    Platform Specification requires J2EE Application Servers to make
+    available a <em>DataSource</em> implementation (that is, a connection
+    pool for JDBC connections) for this purpose.  Tomcat 5 offers exactly
+    the same support, so that database-based applications you develop on
+    Tomcat using this service will run unchanged on any J2EE server.</p>
+
+    <p>For information about JDBC, you should consult the following:</p>
+    <ul>
+    <li><a href="http://java.sun.com/products/jdbc/">http://java.sun.com/products/jdbc/</a> -
+        Home page for information about Java Database Connectivity.</li>
+    <li><a href="http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html">http://java.sun.com/j2se/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame.html</a> -
+        The JDBC 2.1 API Specification.</li>
+    <li><a href="http://java.sun.com/products/jdbc/jdbc20.stdext.pdf">http://java.sun.com/products/jdbc/jdbc20.stdext.pdf</a> -
+        The JDBC 2.0 Standard Extension API (including the
+        <code>javax.sql.DataSource</code> API).  This package is now known
+        as the "JDBC Optional Package".</li>
+    <li><a href="http://java.sun.com/j2ee/download.html">http://java.sun.com/j2ee/download.html</a> -
+        The J2EE Platform Specification (covers the JDBC facilities that
+        all J2EE platforms must provide to applications).</li>
+    </ul>
+
+    <p><strong>NOTE</strong> - The default data source support in Tomcat
+    is based on the <strong>DBCP</strong> connection pool from the
+    <a href="http://jakarta.apache.org/commons">Jakarta Commons</a>
+    subproject.  However, it is possible to use any other connection pool
+    that implements <code>javax.sql.DataSource</code>, by writing your
+    own custom resource factory, as described
+    <a href="#Adding Custom Resource Factories">below</a>.</p>
+
+    <h3>1.  Install Your JDBC Driver</h3>
+
+    <p>Use of the <em>JDBC Data Sources</em> JNDI Resource Factory requires
+    that you make an appropriate JDBC driver available to both Tomcat internal
+    classes and to your web application.  This is most easily accomplished by
+    installing the driver's JAR file(s) into the
+    <code>$CATALINA_HOME/common/lib</code> directory, which makes the driver
+    available both to the resource factory and to your application.</p>
+
+    <h3>2.  Declare Your Resource Requirements</h3>
+
+    <p>Next, modify the web application deployment descriptor
+    (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under
+    which you will look up preconfigured data source.  By convention, all such
+    names should resolve to the <code>jdbc</code> subcontext (relative to the
+    standard <code>java:comp/env</code> naming context that is the root of
+    all provided resource factories.  A typical <code>web.xml</code> entry
+    might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-ref&gt;
+  &lt;description&gt;
+    Resource reference to a factory for java.sql.Connection
+    instances that may be used for talking to a particular
+    database that is configured in the server.xml file.
+  &lt;/description&gt;
+  &lt;res-ref-name&gt;
+    jdbc/EmployeeDB
+  &lt;/res-ref-name&gt;
+  &lt;res-type&gt;
+    javax.sql.DataSource
+  &lt;/res-type&gt;
+  &lt;res-auth&gt;
+    Container
+  &lt;/res-auth&gt;
+&lt;/resource-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+    <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+    <p>A typical use of this resource reference might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+DataSource ds = (DataSource)
+  envCtx.lookup("jdbc/EmployeeDB");
+
+Connection conn = ds.getConnection();
+... use this connection to access the database ...
+conn.close();
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the application uses the same resource reference name
+    that was declared in the web application deployment descriptor.  This
+    is matched up against the resource factory that is configured in
+    <code>$CATALINA_HOME/conf/server.xml</code>, as described below.</p>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an element like this to the
+    <code>/META-INF/context.xml</code> file in the web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="jdbc/EmployeeDB" auth="Container"
+            type="javax.sql.DataSource" username="dbusername" password="dbpassword"
+            driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database"
+            maxActive="8" maxIdle="4"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>jdbc/EmployeeDB</code>) must
+    match the value specified in the web application deployment descriptor.</p>
+
+    <p>This example assumes that you are using the HypersonicSQL database
+    JDBC driver.  Customize the <code>driverClassName</code> and
+    <code>driverName</code> parameters to match your actual database's
+    JDBC driver and connection URL.</p>
+
+    <p>The configuration properties for Tomcat's standard data source
+    resource factory
+    (<code>org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory</code>) are
+    as follows:</p>
+    <ul>
+    <li><strong>driverClassName</strong> - Fully qualified Java class name
+        of the JDBC driver to be used.</li>
+    <li><strong>maxActive</strong> - The maximum number of active instances
+        that can be allocated from this pool at the same time.</li>
+    <li><strong>maxIdle</strong> - The maximum number of connections that
+        can sit idle in this pool at the same time.</li>
+    <li><strong>maxWait</strong> - The maximum number of milliseconds that the
+        pool will wait (when there are no available connections) for a
+        connection to be returned before throwing an exception.</li>
+    <li><strong>password</strong> - Database password to be passed to our
+        JDBC driver.</li>
+    <li><strong>url</strong> - Connection URL to be passed to our JDBC driver.
+        (For backwards compatibility, the property <code>driverName</code>
+        is also recognized.)</li>
+    <li><strong>user</strong> - Database username to be passed to our
+        JDBC driver.</li>
+    <li><strong>validationQuery</strong> - SQL query that can be used by the
+        pool to validate connections before they are returned to the
+        application.  If specified, this query MUST be an SQL SELECT
+        statement that returns at least one row.</li>
+    </ul>
+    <p>For more details, please refer to the commons-dbcp documentation.</p>
+
+  </blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding Custom Resource Factories"><strong>Adding Custom Resource Factories</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If none of the standard resource factories meet your needs, you can
+  write your own factory and integrate it into Tomcat 5, and then configure
+  the use of this factory in the <code>conf/server.xml</code> configuration
+  file.  In the example below, we will create a factory that only knows how
+  to create <code>com.mycompany.MyBean</code> beans, from the
+  <a href="#Generic JavaBean Resources">Generic JavaBean Resources</a>
+  example, above.</p>
+
+  <h3>1.  Write A Resource Factory Class</h3>
+
+  <p>You must write a class that implements the JNDI service provider
+  <code>javax.naming.spi.ObjectFactory</code> inteface.  Every time your
+  web application calls <code>lookup()</code> on a context entry that is
+  bound to this factory, the <code>getObjectInstance()</code> method is
+  called, with the following arguments:</p>
+  <ul>
+  <li><strong>Object obj</strong> - The (possibly null) object containing
+      location or reference information that can be used in creating an
+      object.  For Tomcat, this will always be an object of type
+      <code>javax.naming.Reference</code>, which contains the class name
+      of this factory class, as well as the configuration properties
+      (from <code>conf/server.xml</code>) to use in creating objects
+      to be returned.</li>
+  <li><strong>Name name</strong> - The name to which this factory is bound
+      relative to <code>nameCtx</code>, or <code>null</code> if no name
+      is specified.</li>
+  <li><strong>Context nameCtx</strong> - The context relative to which the
+      <code>name</code> parameter is specified, or <code>null</code> if
+      <code>name</code> is relative to the default initial context.</li>
+  <li><strong>Hashtable environment</strong> - The (possibly null)
+      environment that is used in creating this object.  This is generally
+      ignored in Tomcat object factories.</li>
+  </ul>
+
+  <p>To create a resource factory that knows how to produce <code>MyBean</code>
+  instances, you might create a class like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+package com.mycompany;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.NamingException;
+import javax.naming.RefAddr;
+import javax.naming.Reference;
+import javax.naming.spi.ObjectFactory;
+
+public class MyBeanFactory implements ObjectFactory {
+
+  public Object getObjectInstance(Object obj,
+      Name name, Context nameCtx, Hashtable environment)
+      throws NamingException {
+
+      // Acquire an instance of our specified bean class
+      MyBean bean = new MyBean();
+
+      // Customize the bean properties from our attributes
+      Reference ref = (Reference) obj;
+      Enumeration addrs = ref.getAll();
+      while (addrs.hasMoreElements()) {
+          RefAddr addr = (RefAddr) addrs.nextElement();
+          String name = addr.getType();
+          String value = (String) addr.getContent();
+          if (name.equals("foo")) {
+              bean.setFoo(value);
+          } else if (name.equals("bar")) {
+              try {
+                  bean.setBar(Integer.parseInt(value));
+              } catch (NumberFormatException e) {
+                  throw new NamingException("Invalid 'bar' value " + value);
+              }
+          }
+      }
+
+      // Return the customized instance
+      return (bean);
+
+  }
+
+}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>In this example, we are unconditionally creating a new instance of
+  the <code>com.mycompany.MyBean</code> class, and populating its properties
+  based on the parameters included in the <code>&lt;ResourceParams&gt;</code>
+  element that configures this factory (see below).  You should note that any
+  parameter named <code>factory</code> should be skipped - that parameter is
+  used to specify the name of the factory class itself (in this case,
+  <code>com.mycompany.MyBeanFactory</code>) rather than a property of the
+  bean being configured.</p>
+
+  <p>For more information about <code>ObjectFactory</code>, see the
+  <a href="http://java.sun.com/products/jndi/docs.html">JNDI 1.2 Service
+  Provider Interface (SPI) Specification</a>.</p>
+
+  <p>You will need to compile this class against a class path that includes
+  all of the JAR files in the <code>$CATALINA_HOME/common/lib</code> and
+  <code>$CATALINA_HOME/server/lib</code> directories.  When you are through,
+  place the factory class (and the corresponding bean class) unpacked under
+  <code>$CATALINA_HOME/common/classes</code>, or in a JAR file inside
+  <code>$CATALINA_HOME/common/lib</code>.  In this way, the required class
+  files are visible to both Catalina internal resources and your web
+  application.</p>
+
+  <h3>2.  Declare Your Resource Requirements</h3>
+
+  <p>Next, modify your web application deployment descriptor
+  (<code>/WEB-INF/web.xml</code>) to declare the JNDI name under which
+  you will request new instances of this bean.  The simplest approach is
+  to use a <code>&lt;resource-env-ref&gt;</code> element, like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;resource-env-ref&gt;
+  &lt;description&gt;
+    Object factory for MyBean instances.
+  &lt;/description&gt;
+  &lt;resource-env-ref-name&gt;
+    bean/MyBeanFactory
+  &lt;/resource-env-ref-name&gt;
+  &lt;resource-env-ref-type&gt;
+    com.mycompany.MyBean
+  &lt;/resource-env-ref-type&gt;
+&lt;resource-env-ref&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p><strong>WARNING</strong> - Be sure you respect the element ordering
+    that is required by the DTD for web application deployment descriptors!
+    See the
+    <a href="http://java.sun.com/products/servlet/download.html">Servlet
+    Specification</a> for details.</p>
+
+  <h3>3.  Code Your Application's Use Of This Resource</h3>
+
+  <p>A typical use of this resource environment reference might look
+  like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Context initCtx = new InitialContext();
+Context envCtx = (Context) initCtx.lookup("java:comp/env");
+MyBean bean = (MyBean) envCtx.lookup("bean/MyBeanFactory");
+
+writer.println("foo = " + bean.getFoo() + ", bar = " +
+               bean.getBar());
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <h3>4.  Configure Tomcat's Resource Factory</h3>
+
+    <p>To configure Tomcat's resource factory, add an elements like this to the
+    <code>$CATALINA_HOME/conf/server.xml</code> file, nested inside the
+    <code>Context</code> element for this web application.</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context ...&gt;
+  ...
+  &lt;Resource name="bean/MyBeanFactory" auth="Container"
+            type="com.mycompany.MyBean"
+            factory="com.mycompany.MyBeanFactory"
+            bar="23"/&gt;
+  ...
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Note that the resource name (here, <code>bean/MyBeanFactory</code>
+    must match the value specified in the web application deployment
+    descriptor.  We are also initializing the value of the <code>bar</code>
+    property, which will cause <code>setBar(23)</code> to be called before
+    the new bean is returned.  Because we are not initializing the
+    <code>foo</code> property (although we could have), the bean will
+    contain whatever default value is set up by its constructor.</p>
+
+    <p>You will also note that, from the application developer's perspective,
+    the declaration of the resource environment reference, and the programming
+    used to request new instances, is identical to the approach used for the
+    <em>Generic JavaBean Resources</em> example.  This illustrates one of the
+    advantages of using JNDI resources to encapsulate functionality - you can
+    change the underlying implementation without necessarily having to
+    modify applications using the resources, as long as you maintain
+    compatible APIs.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/logging.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/logging.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/logging.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,301 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Logging in Tomcat</title><meta value="Allistair Crossley" name="author"><meta value="" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Logging in Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+  <p>
+    Tomcat 5.5 uses 
+    <a href="http://jakarta.apache.org/commons/logging">Commons Logging</a>
+    throughout its internal code allowing the 
+    developer to choose a logging configuration that suits their needs, e.g
+    java.util.logging or 
+    <a href="http://logging.apache.org/log4j">Log4J</a>. 
+    Commons Logging provides Tomcat the ability to log
+    hierarchially across various log levels without needing to rely on a particular
+    logging implementation.
+  </p>
+  <p>
+    An important consequence for Tomcat 5.5 is that the &lt;Logger&gt; element found in 
+    previous versions to create a <code>localhost_log</code> is no longer a valid nested element 
+    of &lt;Context&gt;. Instead, the default Tomcat configuration will use java.util.logging. 
+    If the developer wishes to collect detailed internal Tomcat logging (i.e what is happening 
+    within the Tomcat engine), then they should configure a logging system such as java.util.logging 
+    or log4j as detailed next.
+  </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="log4j"><strong>log4j</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat 5.5 has done away with <code>localhost_log</code> which you may be familiar with
+      as the runtime exception/stack trace log. These types of error are usually thrown
+      by uncaught exceptions, but are still valuable to the developer. They can now be
+      found in the <code>stdout</code> log.
+    </p>
+
+    <p>
+      If you need to setup cross-context detailed logging from within Tomcat's code, 
+      then you can use a simple log4j configuration. Note that this logging van be very 
+      verbose depending on the log level you chose to use.  Note also that a log4j logging 
+      configuration is not going to produce stack trace type logging: those stack traces
+      are output to <code>stdout</code> as discussed above.
+    </p>
+
+    <p>
+      Follow the following steps to setup a file named tomcat.log that has internal 
+      Tomcat logging output to it:
+    </p>
+
+    <p>
+      <ol>
+        <li>Create a file called log4j.properties with the following content 
+            and save it into common/classes.
+          <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+            log4j.rootLogger=DEBUG, R 
+            log4j.appender.R=org.apache.log4j.RollingFileAppender 
+            log4j.appender.R.File=${catalina.home}/logs/tomcat.log 
+            log4j.appender.R.MaxFileSize=10MB 
+            log4j.appender.R.MaxBackupIndex=10 
+            log4j.appender.R.layout=org.apache.log4j.PatternLayout 
+            log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
+          </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+	</li>
+
+	<li><a href="http://logging.apache.org/log4j">Download Log4J</a> 
+            (v1.2 or later) and place the log4j jar in $CATALINA_HOME/common/lib.</li>
+
+        <li><a href="http://jakarta.apache.org/site/downloads/downloads_commons-logging.cgi">
+            Download Commons Logging</a> and place the commons-logging.jar 
+            (not commons-logging-api.jar) in $CATALINA_HOME/common/lib with 
+            the log4j jar.</li>
+
+	<li>Start Tomcat</li>
+      </ol>
+    </p>
+
+    <p>
+      This log4j configuration sets up a file called tomcat.log in your 
+      Tomcat logs folder with a maximum file size of 10MB and
+      up to 10 backups.  DEBUG level is specified which will result in the 
+      most verbose output from Tomcat.
+    </p>
+	
+    <p>
+      You can (and should) be more picky about which packages to include 
+      in the logging. Tomcat 5.5 uses defines loggers by Engine and Host names.
+      For example, for a default Catalina localhost log, add this to the
+      end of the log4j.properties above. Note that there are known issues with 
+      using this naming convention (with square brackets) in log4j XML based
+      configuration files, so we recommend you use a properties file as described
+      until a future version of log4j allows this convention.
+      
+      <ul>
+        <li>log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.core=DEBUG, R</li>
+	<li>log4j.logger.org.apache.catalina.session=DEBUG, R</li>
+      </ul>
+
+      Be warned a level of DEBUG will produce megabytes of logging and slow startup
+      of Tomcat. This level should be used sparingly when debugging of internal Tomcat
+      operations is required.
+    </p>
+	
+    <p>
+      Your web applications should certainly use their own log4j configuration. 
+      This is valid <i>with</i> the above configuration.  You would place a similar log4j.properties 
+      file in your web application's WEB-INF/classes folder, and log4j1.2.8.jar into
+      WEB-INF/lib. Then specify your package level logging. This is a basic setup of log4j 
+      which does *not* require Commons-Logging, 
+      and you should consult the 
+      <a href="http://logging.apache.org/log4j/docs/documentation.html">log4j documentation</a> 
+      for more options.  This page is intended only as a bootstrapping guide.
+    </p>
+	
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="java.util.logging"><strong>java.util.logging</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>
+    In order to configure JDK logging you should have JDK 1.4+. Tomcat 5.5 is intended for
+    JDK 5.0 or later, but can be run on JDK 1.4 using a compatibility package.
+  </p>
+  <p>
+    The default implemenatation of java.util.logging provided in the JDK is too limited to be 
+    useful. A limitation of JDK Logging appears to be the inability to have per-web application logging, 
+    as the configuration is per-VM. As a result, Tomcat will, in the default configuration,
+    replace the default LogManager implementation with a container friendly implementation
+    called JULI, which addresses these shortcomings. It supports the same configuration mechanisms 
+    as the standard JDK java.util.logging, using either a programmatic approach, or properties
+    files. The main difference is that per-classloader properties files can be set (which enables easy
+    redeployment friendly webapp configuration), and the properties files support slightly extended
+    constructs which allows more freedom for defining handlers and assigning them to loggers.
+  </p>
+  <p>
+    JULI is enabled by default in Tomcat 5.5, and supports per classloader configuration, in addition to 
+    the regular global java.util.logging configuration. This means that logging can be configured at 
+    the following layers:
+    <ul>
+      <li>In the JDK's logging.properties file. Check
+      your JAVA_HOME environment setting to see which JDK Tomcat is using (or maybe JRE 5.0 as Tomcat
+      can now run on a JRE from version 5.5). The file will be in <code>$JAVA_HOME/jre/lib</code>.
+      Alternately, it can also use a global configuration file located elsewhere by using the 
+      system property <code>java.util.logging.config.file</code>, or programmatic configuration using
+      <code>java.util.logging.config.class</code>.</li>
+      <li>In each classloader using a logging.properties file. This means that it is possible to have a
+      configuration for the Tomcat core, as well as separate configurations for each webapps which will 
+      have the same lifecycle as the webapps.</li>
+    </ul>
+  </p>
+  <p>
+    The default logging.properties specifies a ConsoleHandler for routing logging to stdout and
+    also a FileHandler. A handler's log level threshold can be set using SEVERE, CONFIG, INFO, 
+    WARN, FINE, FINEST or ALL. The logging.properties shipped with JDK is set to INFO. You
+    can also target specific packages to collect logging from and specify a level. Here is how
+    you would set debugging from Tomcat. You would need to ensure the ConsoleHandler's level is also
+    set to collect this threshold, so FINEST or ALL should be set. Please refer to Sun's java.util.logging
+    documentation for the complete details.
+  </p>
+  <p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>org.apache.catalina.level=FINEST</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </p>
+  <p>
+    The configuration used by JULI is extremely similar, but uses a few extensions to allow better 
+    flexibility in assigning loggers. The main differences are:
+    <ul>
+      <li>A prefix may be added to handler names, so that multiple handlers of a single class may be 
+      instantiated. A prefix is a String which starts with a digit, and ends with '.'. For example, 
+      <code>22foobar.</code> is a valid prefix.</li>
+      <li>As in Java 5.0, loggers can define a list of handlers using the <code>loggerName.handlers</code>
+      property.</li>
+      <li>By default, loggers will not delegate to their parent if they have associated handlers. This
+      may be changed per logger using the <code>loggerName.useParentHandlers</code> property, which accepts 
+      a boolean value.</li>
+      <li>The root logger can define its set of handlers using a <code>.handlers</code> property.</li>
+      <li>System property replacement for property values which start with ${sytstemPropertyName}.</li>
+    </ul>
+  </p>
+  <p>
+    Example logging.properties file to be placed in common/classes:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, \
+           3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, \
+           java.util.logging.ConsoleHandler
+
+.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+1catalina.org.apache.juli.FileHandler.level = FINE
+1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+1catalina.org.apache.juli.FileHandler.prefix = catalina.
+
+2localhost.org.apache.juli.FileHandler.level = FINE
+2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+2localhost.org.apache.juli.FileHandler.prefix = localhost.
+
+3manager.org.apache.juli.FileHandler.level = FINE
+3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+3manager.org.apache.juli.FileHandler.prefix = manager.
+
+4admin.org.apache.juli.FileHandler.level = FINE
+4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+4admin.org.apache.juli.FileHandler.prefix = admin.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
+   2localhost.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = \
+   3manager.org.apache.juli.FileHandler
+
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = INFO
+org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = \
+   4admin.org.apache.juli.FileHandler
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#org.apache.catalina.startup.ContextConfig.level = FINE
+#org.apache.catalina.startup.HostConfig.level = FINE
+#org.apache.catalina.session.ManagerBase.level = FINE
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    
+    <p>
+      Example logging.properties for the servlet-examples web application to be placed
+      in WEB-INF/classes inside the web application:
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = servlet-examples.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Handler Properties"><strong>Handler Properties</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Tomcat's JULI implementation is not intended to be a fully-featured logging libary, only
+      a simple bridge to those libraries.  However, JULI does provide several properties
+      for configuring the its handlers.  These are listed below.
+    </p>
+    
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="FileHandler"><strong>FileHandler</strong></a></font></td></tr><tr><td><blockquote>
+      <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Attribute</font></th><th bgcolor="#023264" width="85%"><font color="#ffffff">Description</font></th></tr><tr><td valign="center" align="left"><code>directory</code></td><td valign="center" align="left">
+          <p>
+            The directory where the log file will be written.  The Tomcat server account
+            should have write permissions to this directory.  The default value of this
+            property is <em>logs</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>prefix</code></td><td valign="center" align="left">
+          <p>
+            The log file name prefix.  This is the portion of the log file name before the date.  
+            The default value of this property is <em>juli.</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>suffix</code></td><td valign="center" align="left">
+          <p>
+            The log file name suffix.  This is the portion of the log file name after the date.
+            The default value of this property is <em>.log</em>.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>level</code></td><td valign="center" align="left">
+          <p>
+            The threshold level for this handler.  It must be one of the levels in the 
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Level.html">java.util.logging.Level</a> class.
+            The default value of this property is <em>ALL</em>.  Messages whose level is below
+            the specified level will not be written to the file.
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>filter</code></td><td valign="center" align="left">
+          <p>
+            The fully-qualified class name of a class that implements the 
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Filter.html">java.util.logging.Filter</a> 
+            interface.  JULI will load this class and associate it with this handler to filter its messages.
+            By default, there is no Filter associated with the handler.            
+          </p>
+        </td></tr><tr><td valign="center" align="left"><code>formatter</code></td><td valign="center" align="left">
+          <p>
+            The fully-qualified class name of a class that implements the
+            <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/Formatter.html">java.util.logging.Formatter</a>
+            interface.  JULI will load this class and associate it with this handler to format its messages.
+            By default, there is no Formatter associated with the handler.
+          </p>
+        </td></tr></table>
+
+    </blockquote></td></tr></table>    
+  
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1267 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Manager App HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Manager App HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Introduction">Introduction</a><br>
+<a href="#Configuring Manager Application Access">
+Configuring Manager Application Access</a><br>
+<a href="#Supported Manager Commands">Supported Manager Commands</a><br>
+<blockquote>
+<a href="#Deploy A New Application Remotely">Deploy A New Application Remotely</a><br>
+<a href="#Deploy A New Application from a Local Path">Deploy A New Application from a Local Path</a><br>
+<a href="#List Currently Deployed Applications">
+List Currently Deployed Applications</a><br>
+<a href="#Reload An Existing Application">Reload An Existing Application</a><br>
+<a href="#List OS and JVM Properties">List OS and JVM Properties</a><br>
+<a href="#List Available Global JNDI Resources">
+List Available Global JNDI Resources</a><br>
+<a href="#List Available Security Roles">List Available Security Roles</a><br>
+<a href="#Session Statistics">Session Statistics</a><br>
+<a href="#Start an Existing Application">Start an Existing Application</a><br>
+<a href="#Stop an Existing Application">Stop an Existing Application</a><br>
+<a href="#Undeploy an Existing Application">
+Undeploy an Existing Application</a><br>
+</blockquote>
+<a href="#Executing Manager Commands With Ant">
+Executing Manager Commands With Ant</a><br>
+<a href="#Using the JMX Proxy Servlet">
+Using the JMX Proxy Servlet</a><br>
+<blockquote>
+<a href="#What is JMX Proxy Servlet">What is JMX Proxy Servlet?</a><br>
+<a href="#JMX Query command">Query command</a><br>
+<a href="#JMX Set command">Set command</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In many production environments, it is very useful to have the capability
+to deploy a new web application, or undeploy an existing one, without having
+to shut down and restart the entire container.  In addition, you can request
+an existing application to reload itself, even if you have not declared it
+to be <code>reloadable</code> in the Tomcat 5 server
+configuration file.</p>
+
+<p>To support these capabilities, Tomcat 5 includes a web application
+(installed by default on context path <code>/manager</code>) that supports
+the following functions:</p>
+<ul>
+<li>Deploy a new web application, on a specified context path, from
+    the uploaded contents of a WAR file.</li>
+<li>Deploy a new web application, on a specified context path, from the
+    server file system.</li>
+<li>List the currently deployed web applications, as well as the
+    sessions that are currently active for those web apps.</li>
+<li>Reload an existing web application, to reflect changes in the
+    contents of <code>/WEB-INF/classes</code> or <code>/WEB-INF/lib</code>.
+    </li>
+<li>List the OS and JVM property values.</li>
+<li>List the available global JNDI resources, for use in deployment
+    tools that are preparing <code>&lt;ResourceLink&gt;</code> elements
+    nested in a <code>&lt;Context&gt;</code> deployment description.</li>
+<li>List the available security roles defined in the user database.</li>
+<li>Start a stopped application (thus making it available again).</li>
+<li>Stop an existing application (so that it becomes unavailable), but
+    do not undeploy it.</li>
+<li>Undeploy a deployed web application and delete its document base
+    directory (unless it was deployed from file system).</li>
+</ul>
+
+<p>There are two ways to configure the Manager web application
+<code>Context</code>:
+<ul>
+<li>Install the <code>manager.xml</code> context configuration file
+    in the <code>$CATALINA_HOME/conf/[enginename]/[hostname]</code> folder.
+</li>
+<li>Configure the Manager <code>Context</code> within the
+    <code>Host</code> configuration in your Tomcat <code>server.xml</code>
+    configuration. Here is an example:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+&lt;/Context&gt;
+</pre>
+</li>
+</ul>
+</p>
+
+<p>If you have Tomcat configured to support multiple virtual hosts
+(websites) you would need to configure a Manager for each.</p>
+
+<p>There are three ways to use the <code>Manager</code> web application.
+<ul>
+<li>As an application with a user interface you use in your browser.
+Here is an example URL where you can replace <code>localhost</code> with
+your website host name:  <code>http://localhost/manager/html/</code> .</li>
+<li>A minimal version using HTTP requests only which is suitable for use
+by scripts setup by system administrators.  Commands are given as part of the
+request URI, and responses are in the form of simple text that can be easily
+parsed and processed.  See <a href="#Supported Manager Commands">
+Supported Manager Commands</a> for more information.</li>
+<li>A convenient set of task definitions for the <em>Ant</em>
+(version 1.4 or later) build tool.  See
+<a href="#Executing Manager Commands With Ant">Executing Manager Commands
+With Ant</a> for more information.</li>
+</ul>
+</p>
+
+<p>Future versions of Tomcat 5 will include administrative functionality that
+is presented in (at least) the following forms:
+<ul>
+<li>As web services, so that Tomcat administration can be easily integrated
+    into remote and/or non-Java mnagement environments.</li>
+<li>As a web application with a nice user interface (built on top of the
+    web services processing layer) for easy Tomcat administration via a
+    web browser.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Manager Application Access"><strong>Configuring Manager Application Access</strong></a></font></td></tr><tr><td><blockquote>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>It would be quite unsafe to ship Tomcat with default settings that allowed
+anyone on the Internet to execute the Manager application on your server.
+Therefore, the Manager application is shipped with the requirement that anyone
+who attempts to use it must authenticate themselves, using a username and
+password that have the role <strong>manager</strong> associated with them.
+Further, there is no username in the default users file
+(<conf>$CATALINA_HOME/conf/tomcat-users.xml</conf>) that is assigned this
+role.  Therefore, access to the Manager application is completely disabled
+by default.</p>
+
+<p>To enable access to the Manager web application, you must either create
+a new username/password combination and associate the role name
+<strong>manager</strong> with it, or add the <strong>manager</strong> role
+to some existing username/password combination.  Exactly where this is done
+depends on which <code>Realm</code> implementation you are using:</p>
+<ul>
+<li><em>MemoryRealm</em> - If you have not customized your
+    <code>$CATALINA_HOME/conf/server.xml</code> to select a different one,
+    Tomcat 5 defaults to an XML-format file stored at
+    <code>$CATALINA_HOME/conf/tomcat-users.xml</code>, which can be
+    edited with any text editor.  This file contains an XML
+    <code>&lt;user&gt;</code> for each individual user, which might
+    look something like this:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;user name="craigmcc" password="secret" roles="standard,manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which defines the username and password used by this individual to
+    log on, and the role names he or she is associated with.  You can
+    add the <strong>manager</strong> role to the comma-delimited
+    <code>roles</code> attribute for one or more existing users, and/or
+    create new users with that assigned role.</li>
+<li><em>JDBCRealm</em> - Your user and role information is stored in
+    a database accessed via JDBC.  Add the <strong>manager</strong> role
+    to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+<li><em>JNDIRealm</em> - Your user and role information is stored in
+    a directory server accessed via LDAP.  Add the <strong>manager</strong>
+    role to one or more existing users, and/or create one or more new users
+    with this role assigned, following the standard procedures for your
+    environment.</li>
+</ul>
+
+<p>The first time you attempt to issue one of the Manager commands
+described in the next section, you will be challenged to log on using
+BASIC authentication.  The username and password you enter do not matter,
+as long as they identify a valid user in the users database who possesses
+the role <strong>manager</strong>.</p>
+
+<p>In addition to the password restrictions the manager web application
+could be restricted by the remote IP address or host by adding a
+<code>RemoteAddrValve</code> or <code>RemoteHostValve</code>.  Here is
+an example of restricting access to the localhost by IP address:
+<pre>
+&lt;Context path="/manager" debug="0" privileged="true"
+         docBase="/usr/local/kinetic/tomcat5/server/webapps/manager"&gt;
+         &lt;Valve className="org.apache.catalina.valves.RemoteAddrValve"
+                allow="127.0.0.1"/&gt;
+&lt;/Context&gt;
+</pre>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Supported Manager Commands"><strong>Supported Manager Commands</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>All commands that the Manager application knows how to process are
+specified in a single request URI like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://{host}:{port}/manager/{command}?{parameters}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>where <code>{host}</code> and <code>{port}</code> represent the hostname
+and port number on which Tomcat is running, <code>{command}</code>
+represents the Manager command you wish to execute, and
+<code>{parameters}</code> represents the query parameters
+that are specific to that command.  In the illustrations below, customize
+the host and port appropriately for your installation.</p>
+
+<p>Most commands accept one or more of the following query parameters:</p>
+<ul>
+<li><strong>path</strong> - The context path (including the leading slash)
+    of the web application you are dealing with.  To select the ROOT web
+    application, specify "/".  <strong>NOTE</strong> -
+    It is not possible to perform administrative commands on the
+    Manager application itself.</li>
+<li><strong>war</strong> - URL of a web application archive (WAR) file,
+    pathname of a directory which contains the web application, or a
+    Context configuration ".xml" file.  You can use URLs in any of the
+    following formats:
+    <ul>
+    <li><strong>file:/absolute/path/to/a/directory</strong> - The absolute
+        path of a directory that contains the unpacked version of a web
+        application.  This directory will be attached to the context path
+        you specify without any changes.</li>
+    <li><strong>file:/absolute/path/to/a/webapp.war</strong> - The absolute
+        path of a web application archive (WAR) file.  This is valid
+        <strong>only</strong> for the <code>/deploy</code> command, and is
+        the only acceptable format to that command.</li>
+    <li><strong>jar:file:/absolute/path/to/a/warfile.war!/</strong> - The
+        URL to a local web application archive (WAR) file.  You can use any
+        syntax that is valid for the <code>JarURLConnection</code> class
+        for reference to an entire JAR file.</li>
+    <li><strong>file:/absolute/path/to/a/context.xml</strong> - The
+        absolute path of a web application Context configuration ".xml"
+        file which contains the Context configuration element.</li>
+    <li><strong>directory</strong> - The directory name for the web
+        applciation context in the Host's application base directory.</li>
+    <li><strong>webapp.war</strong> - The name of a web application war file
+        located in the Host's application base directory.</li>
+    </ul></li>
+</ul>
+
+<p>Each command will return a response in <code>text/plain</code> format
+(i.e. plain ASCII with no HTML markup), making it easy for both humans and
+programs to read).  The first line of the response wil begin with either
+<code>OK</code> or <code>FAIL</code>, indicating whether the requested
+command was successful or not.  In the case of failure, the rest of the first
+line will contain a description of the problem that was encountered.  Some
+commands include additional lines of information as described below.</p>
+
+<p><em>Internationalization Note</em> - The Manager application looks up
+its message strings in resource bundles, so it is possible that the strings
+have been translated for your platform.  The examples below show the English
+version of the messages.</p>
+
+<blockquote><em>
+<p><strong>WARNING:</strong>  the legacy commands <code>/install</code> and 
+<code>/remove</code> are deprecated.
+They are presently equivalent to <code>/deploy</code> and <code>/undeploy</code>,
+but could be removed in a future release.</p>
+</em></blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application Remotely"><strong>Deploy A New Application Remotely</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Upload the web application archive (WAR) file that is specified as the
+request data in this HTTP PUT request, install it into the <code>appBase</code>
+directory of our corresponding virtual host, and start it on the context path
+specified by the <code>path</code> request parameter.  If no <code>path</code>
+is specified the directory name or the war file name without the .war extension
+is used as the path.  The application can
+later be undeployed (and the corresponding application directory removed)
+by use of the <code>/undeploy</code>.</p>
+
+<p>The .WAR file may include Tomcat specific deployment configuration, by 
+including a Context configuration XML file in 
+<code>/META-INF/context.xml</code>.</p>
+
+<p>URL parameters include:
+<ul>
+<li><code>update</code>: When set to true, any existing update will be
+    undeployed first. The default value is set to false.</li>
+<li><code>tag</code>: Specifying a tag name, this allows associating the
+    deployed webapp with a version number. The application version can
+    be later redeployed when needed using only the tag.</li>
+</ul>
+</p>
+
+<p><strong>NOTE</strong> - This command is the logical
+opposite of the <code>/undeploy</code> command.</p>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Deploy A New Application from a Local Path"><strong>Deploy A New Application from a Local Path</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Deploy and start a new web application, attached to the specified context
+<code>path</code> (which must not be in use by any other web application).
+This command is the logical opposite of the <code>/undeploy</code> command.</p>
+
+<p>There are a number of different ways the deploy command can be used.</p>
+
+<h3>Deploy a version of a previously deployed webapp</h3>
+
+<p>This can be used to deploy a previous version of a web application, which
+has been deployed using the <code>tag</code> attribute. Note that the work
+directory for the manager webapp will contain the previously deployed WARs;
+removing it would make the deployment fail.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;tag=footag
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or WAR by URL</h3>
+
+<p>Deploy a web application directory or ".war" file located on the Tomcat
+server. If no <code>path</code> is specified, the directory name or the war file
+name without the ".war" extension is used as the path. The <code>war</code>
+parameter specifies a URL (including the <code>file:</code> scheme) for either
+a directory or a web application archive (WAR) file. The supported syntax for
+a URL referring to a WAR file is described on the Javadocs page for the
+<code>java.net.JarURLConnection</code> class.  Use only URLs that refer to
+the entire WAR file.</p>
+
+<p>In this example the web application located in the directory
+<code>/path/to/foo</code> on the Tomcat server is deployed as the
+web application context named <code>/footoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/footoo&amp;war=file:/path/to/foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>/path/to/bar.war</code> on the
+Tomcat server is deployed as the web application context named
+<code>/bar</code>. Notice that there is no <code>path</code> parameter
+so the context path defaults to the name of the web application archive
+file without the ".war" extension.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=jar:file:/path/to/bar.war!/
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy a Directory or War from the Host appBase</h3>
+
+<p>Deploy a web application directory or ".war" file located in your Host
+appBase directory. If no <code>path</code> is specified the directory name
+or the war file name without the ".war" extension is used as the path.</p>
+
+<p>In this example the web application located in a sub directory named
+<code>foo</code> in the Host appBase directory of the Tomcat server is
+deployed as the web application context named <code>/foo</code>. Notice
+that there is no <code>path</code> parameter so the context path defaults
+to the name of the web application directory.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?war=foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>In this example the ".war" file <code>bar.war</code> located in your
+Host appBase directory on the Tomcat server is deployed as the web
+application context named <code>/bartoo</code>.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?path=/bartoo&amp;war=bar.war
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deploy using a Context configuration ".xml" file</h3>
+
+<p>If the Host deployXML flag is set to true you can deploy a web
+application using a Context configuration ".xml" file and an optional
+".war" file or web application directory. The context <code>path</code>
+is not used when deploying a web application using a context ".xml"
+configuration file.</p>
+
+<p>A Context configuration ".xml" file can contain valid XML for a
+web application Context just as if it were configured in your
+Tomcat <code>server.xml</code> configuration file. Here is an
+example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Context path="/foobar" docBase="/path/to/application/foobar"
+         debug="0"&gt;
+
+  &lt;!-- Link to the user database we will get roles from --&gt;
+  &lt;ResourceLink name="users" global="UserDatabase"
+                type="org.apache.catalina.UserDatabase"/&gt;
+
+&lt;/Context&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>When the optional <code>war</code> parameter is set to the URL
+for a web application ".war" file or directory it overrides any
+docBase configured in the context configuration ".xml" file.</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<p>Here is an example of deploying an application using a Context
+configuration ".xml" file and a web application ".war" file located
+on the server.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/deploy?config=file:/path/context.xml&amp;war=file:/path/bar.war&amp;path=/bar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+
+<h3>Deployment Notes</h3>
+
+<p>If the Host is configured with unpackWARs=true and you deploy a war
+file, the war will be unpacked into a directory in your Host appBase
+directory.</p>
+
+<p>If the application war or directory is installed in your Host appBase
+directory and either the Host is configured with autoDeploy=true or
+liveDeploy=true, the Context path must match the directory name or
+war file name without the ".war" extension.</p>
+
+<p>For security when untrusted users can manage web applications, the
+Host deployXML flag can be set to false.  This prevents untrusted users
+from deploying web applications using a configuration XML file and
+also prevents them from deploying application directories or ".war"
+files located outside of their Host appBase.</p>
+
+
+<h3>Deploy Response</h3>
+
+<p>If installation and startup is successful, you will receive a response
+like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Deployed application at context path /foo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Application already exists at path /foo</em>
+    <blockquote>
+    <p>The context paths for all currently running web applications must be
+    unique.  Therefore, you must undeploy the existing web
+    application using this context path, or choose a different context path
+    for the new one. The <code>update</code> parameter may be specified as
+    a parameter on the URL, with a value of <code>true</code> to avoid this
+    error. In that case, an undeploy will be performed on an existing
+    application before performing the deployment.</p>
+    </blockquote></li>
+<li><em>Document base does not exist or is not a readable directory</em>
+    <blockquote>
+    <p>The URL specified by the <code>war</code> parameter must identify a
+    directory on this server that contains the "unpacked" version of a
+    web application, or the absolute URL of a web application archive (WAR)
+    file that contains this application.  Correct the value specified by
+    the <code>war</code> parameter.</p>
+    </blockquote></li>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the new web application.
+    Check the Tomcat 5 logs for the details, but likely explanations include
+    problems parsing your <code>/WEB-INF/web.xml</code> file, or missing
+    classes encountered when initializing application event listeners and
+    filters.</p>
+    </blockquote></li>
+<li><em>Invalid application URL was specified</em>
+    <blockquote>
+    <p>The URL for the directory or web application that you specified
+    was not valid.  Such URLs must start with <code>file:</code>, and URLs
+    for a WAR file must end in ".war".</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>Context path must match the directory or WAR file name:</em>
+    <blockquote>
+    If the application war or directory is installed in your Host appBase
+    directory and either the Host is configured with autoDeploy=true or
+    liveDeploy=true, the Context path must match the directory name or
+    war file name without the ".war" extension.
+    </blockquote></li>
+<li><em>Only web applications in the Host web application directory can
+     be installed</em>
+     <blockquote>
+     If the Host deployXML flag is set to false this error will happen
+     if an attempt is made to deploy a web application directory or
+      ".war" file outside of the Host appBase directory.
+     </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Currently Deployed Applications"><strong>List Currently Deployed Applications</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/list
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the context paths, current status (<code>running</code> or
+<code>stopped</code>), and number of active sessions for all currently
+deployed web applications.  A typical response immediately
+after starting Tomcat might look like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Listed applications for virtual host localhost
+/webdav:running:0
+/examples:running:0
+/manager:running:0
+/:running:0
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Reload An Existing Application"><strong>Reload An Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/reload?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to shut itself down and reload.  This can
+be useful when the web application context is not reloadable and you have
+updated classes or property files in the <code>/WEB-INF/classes</code>
+directory or when you have added or updated jar files in the
+<code>/WEB-INF/lib</code> directory.
+</p>
+<p><strong>NOTE:</strong> The <code>/WEB-INF/web.xml</code>
+web application configuration file is not reread on a reload.
+If you have made changes to your web.xml file you must stop
+then start the web application.
+</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Reloaded application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to restart the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+<li><em>Reload not supported on WAR deployed at path /foo</em>
+    <blockquote>
+    Currently, application reloading (to pick up changes to the classes or
+    <code>web.xml</code> file) is not supported when a web application is
+    deployed directly from a WAR file.  It only works when the web application
+    is deployed from an unpacked directory.  If you are using a WAR file,
+    you should <code>undeploy</code> and then <code>deploy</code> or
+    <code>deploy</code> with the <code>update</code> parameter the
+    application again to pick up your changes.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List OS and JVM Properties"><strong>List OS and JVM Properties</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/serverinfo
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Lists information about the Tomcat version, OS, and JVM properties.</p>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the system properties.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Global JNDI Resources"><strong>List Available Global JNDI Resources</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/resources[?type=xxxxx]
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the global JNDI resources that are available for use in resource
+links for context configuration files.  If you specify the <code>type</code>
+request parameter, the value must be the fully qualified Java class name of
+the resource type you are interested in (for example, you would specify
+<code>javax.sql.DataSource</code> to acquire the names of all available
+JDBC data sources).  If you do not specify the <code>type</code> request
+parameter, resources of all types will be returned.</p>
+
+<p>Depending on whether the <code>type</code> request parameter is specfied
+or not, the first line of a normal response will be:</p>
+<pre>
+  OK - Listed global resources of all types
+</pre>
+<p>or</p>
+<pre>
+  OK - Listed global resources of type xxxxx
+</pre>
+<p>followed by one line for each resource.  Each line is composed of fields
+delimited by colon characters (":"), as follows:</p>
+<ul>
+<li><em>Global Resource Name</em> - The name of this global JNDI resource,
+    which would be used in the <code>global</code> attribute of a
+    <code>&lt;ResourceLink&gt;</code> element.</li>
+<li><em>Global Resource Type</em> - The fully qualified Java class name of
+    this global JNDI resource.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to enumerate the global JNDI
+    resources.  Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>No global JNDI resources are available</em>
+    <blockquote>
+    <p>The Tomcat server you are running has been configured without
+    global JNDI resources.</p>
+    </blockquote></li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="List Available Security Roles"><strong>List Available Security Roles</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/roles
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>List the security role names (and corresponding descriptions) that are
+available in the <code>org.apache.catalina.UserDatabase</code> resource that
+is linked to the <code>users</code> resource reference in the web.xml file
+for the Manager web application.  This would typically be used, for example,
+by a deployment tool that wanted to create
+<code>&lt;security-role-ref&gt;</code> elements to map security role names
+used in a web application to the role names actually defined within the
+container.</p>
+
+<p>By default, the <code>users</code> resource reference is pointed at the
+global <code>UserDatabase</code> resource.  If you choose to utilize a
+different user database per virtual host, you should modify the
+<code>&lt;ResourceLink&gt;</code> element in the default
+<code>manager.xml</code> context configuration file to point at the global
+user database resource for this virtual host.</p>
+
+<p>When this command is executed, the first line of the response will be:</p>
+<pre>
+  OK - Listed security roles
+</pre>
+<p>followed by one line for each security role.  Each line is composed of
+fields delimited by colon characters (":") as follows:</p>
+<ul>
+<li><em>Security Role Name</em> - A security role name that is known to Tomcat
+    in the user database.</li>
+<li><em>Description</em> - Description of this security role (useful in
+    creating user interfaces for selecting roles.</li>
+</ul>
+
+<p>If an error occurs, the response will start with <code>FAIL</code> and
+include an error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Cannot resolve user database reference</em> - A JNDI error prevented
+    the successful lookup of the <code>org.apache.catalina.UserDatabase</code>
+    resource.  Check the Tomcat log files for a stack trace associated with
+    this error.</li>
+<li><em>No user database is available</em> - You have not configured a resource
+    reference for the <code>users</code> resource that points at an
+    appropriate user database instance.  Check your <code>manager.xml</code>
+    file and ensure that you have created an appropriate
+    <code>&lt;ResourceLink&gt;</code> or
+    <code>&lt;ResourceParams&gt;</code> element for this resource.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Session Statistics"><strong>Session Statistics</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/sessions?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Display the default session timeout for a web application, and the
+number of currently active sessions that fall within ten-minute ranges of
+their actual timeout times.  For example, after restarting Tomcat and then
+executing one of the JSP samples in the <code>/examples</code> web app,
+you might get something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Session information for application at context path /examples
+Default maximum session inactive interval 30 minutes
+30 - &lt;40 minutes:1 sessions
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Start an Existing Application"><strong>Start an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/start?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal a stopped application to restart, and make itself available again.
+Stopping and starting is useful, for example, if the database required by
+your application becomes temporarily unavailable.  It is usually better to
+stop the web application that relies on this database rather than letting
+users continuously encounter database exceptions.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Started application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to start the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Stop an Existing Application"><strong>Stop an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/stop?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Signal an existing application to make itself unavailable, but leave it
+deployed.  Any request that comes in while an application is
+stopped will see an HTTP error 404, and this application will show as
+"stopped" on a list applications command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Stopped application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to stop the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Undeploy an Existing Application"><strong>Undeploy an Existing Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/undeploy?path=/examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p><strong><font color="red">WARNING</font> - This command will delete any web 
+application artifacts that exist within <code>appBase</code> directory 
+(typically "webapps") for this virtual host</strong>.
+This will delete the the application .WAR, if present, 
+the application directory resulting either from a deploy in unpacked form 
+or from .WAR expansion as well as the XML Context definition from
+<code>$CATALINA_HOME/conf/[enginename]/[hostname]/</code> directory. 
+If you simply want to take an application
+out of service, you should use the <code>/stop</code> command instead.</p>
+
+<p>Signal an existing application to gracefully shut itself down, and
+remove it from Tomcat (which also makes this context path available for
+reuse later).  In addition, the document root directory is removed, if it
+exists in the <code>appBase</code> directory (typically "webapps") for
+this virtual host.  This command is the logical opposite of the
+<code>/deploy</code> command.</p>
+
+<p>If this command succeeds, you will see a response like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+OK - Undeployed application at context path /examples
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Otherwise, the response will start with <code>FAIL</code> and include an
+error message.  Possible causes for problems include:</p>
+<ul>
+<li><em>Encountered exception</em>
+    <blockquote>
+    <p>An exception was encountered trying to undeploy the web application.
+    Check the Tomcat 5 logs for the details.</p>
+    </blockquote></li>
+<li><em>Invalid context path was specified</em>
+    <blockquote>
+    <p>The context path must start with a slash character. To reference the
+    ROOT web application use "/".</p>
+    </blockquote></li>
+<li><em>No context exists for path /foo</em>
+    <blockquote>
+    <p>There is no deployed application on the context path
+    that you specified.</p>
+    </blockquote></li>
+<li><em>No context path was specified</em>
+    <blockquote>
+    The <code>path</code> parameter is required.
+    </blockquote></li>
+</ul>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Executing Manager Commands With Ant"><strong>Executing Manager Commands With Ant</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In addition to the ability to execute Manager commands via HTTP requests,
+as documented above, Tomcat 5 includes a convenient set of Task definitions
+for the <em>Ant</em> (version 1.4 or later) build tool.  In order to use these
+commands, you must perform the following setup operations:</p>
+<ul>
+<li>Download the binary distribution of Ant from
+    <a href="http://ant.apache.org">http://ant.apache.org</a>.
+    You must use version <strong>1.4</strong> or later.</li>
+<li>Install the Ant distribution in a convenient directory (called
+    ANT_HOME in the remainder of these instructions).</li>
+<li>Copy the file <code>server/lib/catalina-ant.jar</code> from your Tomcat 5
+    installation into Ant's library directory (<code>$ANT_HOME/lib</code>).
+    </li>
+<li>Add the <code>$ANT_HOME/bin</code> directory to your <code>PATH</code>
+    environment variable.</li>
+<li>Configure at least one username/password combination in your Tomcat
+    user database that includes the <code>manager</code> role.</li>
+</ul>
+
+<p>To use custom tasks within Ant, you must declare them first with a
+<code>&lt;taskdef&gt;</code> element.  Therefore, your <code>build.xml</code>
+file might look something like this:</p>
+
+<table border="1">
+<tr><td><pre>
+&lt;project name="My Application" default="compile" basedir="."&gt;
+
+  &lt;!-- Configure the directory into which the web application is built --&gt;
+  &lt;property name="build"    value="${basedir}/build"/&gt;
+
+  &lt;!-- Configure the context path for this application --&gt;
+  &lt;property name="path"     value="/myapp"/&gt;
+
+  &lt;!-- Configure properties to access the Manager application --&gt;
+  &lt;property name="url"      value="http://localhost:8080/manager"/&gt;
+  &lt;property name="username" value="myusername"/&gt;
+  &lt;property name="password" value="mypassword"/&gt;
+
+  &lt;!-- Configure the custom Ant tasks for the Manager application --&gt;
+  &lt;taskdef name="deploy"    classname="org.apache.catalina.ant.DeployTask"/&gt;
+  &lt;taskdef name="list"      classname="org.apache.catalina.ant.ListTask"/&gt;
+  &lt;taskdef name="reload"    classname="org.apache.catalina.ant.ReloadTask"/&gt;
+  &lt;taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask"/&gt;
+  &lt;taskdef name="roles"     classname="org.apache.catalina.ant.RolesTask"/&gt;
+  &lt;taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/&gt;
+  &lt;taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/&gt;
+  &lt;taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/&gt;
+
+  &lt;!-- Executable Targets --&gt;
+  &lt;target name="compile" description="Compile web application"&gt;
+    &lt;!-- ... construct web application in ${build} subdirectory, and
+            generated a ${path}.war ... --&gt;
+  &lt;/target&gt;
+
+  &lt;target name="deploy" description="Install web application"
+          depends="compile"&gt;
+    &lt;deploy url="${url}" username="${username}" password="${password}"
+            path="${path}" war="${build}${path}.war"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="reload" description="Reload web application"
+          depends="compile"&gt;
+    &lt;reload  url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+  &lt;target name="undeploy" description="Remove web application"&gt;
+    &lt;undeploy url="${url}" username="${username}" password="${password}"
+            path="${path}"/&gt;
+  &lt;/target&gt;
+
+&lt;/project&gt;
+</pre></td></tr>
+</table>
+
+<p>Now, you can execute commands like <code>ant deploy</code> to deploy the
+application to a running instance of Tomcat, or <code>ant reload</code> to
+tell Tomcat to reload it.  Note also that most of the interesting values in
+this <code>build.xml</code> file are defined as replaceable properties, so
+you can override their values from the command line.  For example, you might
+consider it a security risk to include the real manager password in your
+<code>build.xml</code> file's source code.  To avoid this, omit the password
+property, and specify it from the command line:</p>
+<pre>
+  ant -Dpassword=secret deploy
+</pre>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tasks output capture"><strong>Tasks output capture</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using <em>Ant</em> version <strong>1.6.2</strong> or later,
+the Catalina tasks offer the option to capture their output in 
+properties or external files. They support directly the following subset of the 
+<code>&lt;redirector&gt;</code> type attributes:
+</p>
+
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">output</td>
+<td valign="top">Name of a file to which to write the output. If
+the error stream is not also redirected to a file or property, it will
+appear in this output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">error</td>
+<td valign="top">The file to which the standard error of the
+command should be redirected.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">logError</td>
+<td valign="top">This attribute is used when you wish to see
+error output in Ant's log and you are redirecting output to a
+file/property. The error output will not be included in the output
+file/property. If you redirect error with the <i>error</i> or <i>errorProperty</i>
+attributes, this will have no effect.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">append</td>
+<td valign="top">Whether output and error files should be
+appended to or overwritten. Defaults to <code>false</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">createemptyfiles</td>
+<td valign="top">Whether output and error files should be created
+even when empty. Defaults to <code>true</code>.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">outputproperty</td>
+<td valign="top">The name of a property in which the output of
+the command should be stored. Unless the error stream is redirected to
+a separate file or stream, this property will include the error output.</td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">errorproperty</td>
+<td valign="top">The name of a property in which the standard
+error of the command should be stored.</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>A couple of additional attributes can also be specified:
+</p>
+<table border="1" cellpadding="2" cellspacing="0">
+<tbody>
+<tr>
+<td valign="top"><b>Attribute</b></td>
+<td valign="top"><b>Description</b></td>
+<td align="center" valign="top"><b>Required</b></td>
+</tr>
+<tr>
+<td valign="top">alwaysLog</td>
+<td valign="top">This attribute is used when you wish to see the
+output you are capturing, appearing also in the Ant's log. It must not be
+used unless you are capturing task output.
+Defaults to <code>false</code>.
+<em>This attribute will be supported directly by <code>&lt;redirector&gt;</code>
+in Ant 1.6.3</em></td>
+<td align="center" valign="top">No</td>
+</tr>
+<tr>
+<td valign="top">failonerror</td>
+<td valign="top">This attribute is used when you wish to avoid that
+any manager command processing error terminates the ant execution. Defaults to <code>true</code>.
+It must be set to <code>false</code>, if you want to capture error output,
+otherwise execution will terminate before anything can be captured.
+<br>
+This attribute acts only on manager command execution,
+any wrong or missing command attribute will still cause Ant execution termination.
+</td>
+<td align="center" valign="top">No</td>
+</tr>
+</tbody>
+</table>
+
+<p>They also support the embedded <code>&lt;redirector&gt;</code> element
+in which you can specify
+its full set of attributes, but <code>input</code>, <code>inputstring</code> and 
+<code>inputencoding</code> that, even if accepted, are not used because they have
+no meaning in this context.
+Refer to <a href="http://ant.apache.org">ant manual</a> for details on 
+<code>&lt;redirector&gt;</code> element attributes.
+</p>
+
+<p>
+Here is a sample build file extract that shows how this output redirection support
+can be used:
+</p>
+
+<table border="1">
+<tr><td><pre>
+	&lt;target name="manager.deploy"
+		depends="context.status"
+		if="context.notInstalled"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			path="${mgr.context.path}"
+			config="${mgr.context.descriptor}"/&gt;
+	&lt;/target&gt;
+
+	&lt;target name="manager.deploy.war"
+		depends="context.status"
+		if="context.deployable"&gt;
+		&lt;deploy url="${mgr.url}"
+			username="${mgr.username}"
+			password="${mgr.password}"
+			update="${mgr.update}"
+			path="${mgr.context.path}"
+			war="${mgr.war.file}"/&gt;
+	&lt;/target&gt;
+	
+	&lt;target name="context.status"&gt;
+		&lt;property name="running" value="${mgr.context.path}:running"/&gt;
+		&lt;property name="stopped" value="${mgr.context.path}:stopped"/&gt;
+	
+		&lt;list url="${mgr.url}"
+			outputproperty="ctx.status"
+			username="${mgr.username}"
+			password="${mgr.password}"&gt;
+		&lt;/list&gt;
+		
+		&lt;condition property="context.running"&gt;
+			&lt;contains string="${ctx.status}" substring="${running}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.stopped"&gt;
+			&lt;contains string="${ctx.status}" substring="${stopped}"/&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.notInstalled"&gt;
+			&lt;and&gt;
+				&lt;isfalse value="${context.running}"/&gt;
+				&lt;isfalse value="${context.stopped}"/&gt;
+			&lt;/and&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.deployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.notInstalled}"/&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.running}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+				&lt;and&gt;
+					&lt;istrue value="${context.stopped}"/&gt;
+					&lt;istrue value="${mgr.update}"/&gt;
+				&lt;/and&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+		&lt;condition property="context.undeployable"&gt;
+			&lt;or&gt;
+				&lt;istrue value="${context.running}"/&gt;
+				&lt;istrue value="${context.stopped}"/&gt;
+			&lt;/or&gt;
+		&lt;/condition&gt;
+	&lt;/target&gt;
+</pre></td></tr>
+</table>
+
+<p><strong>WARNING:</strong> even if it doesn't make many sense, and is always a bad idea,
+calling a Catalina task more than once,
+badly set Ant tasks depends chains may cause that a task be called
+more than once in the same Ant run, even if not intended to. A bit of caution should be exercised when you are
+capturing output from that task, because this could lead to something unexpected:
+<ul>
+<li>when capturing in a property you will find in it only the output from the <em>first</em> call, because
+Ant properties are immutable and once set they cannot be changed,
+</li>
+<li>when capturing in a file, each run will overwrite it and you will find in it only the <em>last</em> call
+output, unless you are using the <code>append="true"</code> attribute, in which case you will
+see the output of each task call appended to the file.
+</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Using the JMX Proxy Servlet"><strong>Using the JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is JMX Proxy Servlet"><strong>What is JMX Proxy Servlet</strong></a></font></td></tr><tr><td><blockquote>
+    The JMX Proxy Servlet is a lightweight proxy to get and set the
+    tomcat internals. (Or any class that has been exposed via an MBean)
+    Its usage is not very user friendly but the UI is
+    extremely help for integrating command line scripts for monitoring
+    and changing the internals of tomcat. You can do two things with the proxy:
+    get information and set information. For you to really understand the
+    JMX Proxy Servlet, you should have a general understanding of JMX.
+    If you don't know what JMX is, then prepare to be confused.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Query command"><strong>JMX Query command</strong></a></font></td></tr><tr><td><blockquote>
+    This takes the form:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?qry=STUFF
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    Where <code>STUFF</code> is the JMX query you wish to perform. For example,
+    here are some queries you might wish to run:
+    <ul>
+      <li>
+        <code>qry=*%3Atype%3DRequestProcessor%2C* --&gt;
+         type=RequestProcessor</code> which will locate all
+         workers which can process requests and report
+         their state.
+      </li>
+      <li>
+        <code>qry=*%3Aj2eeType=Servlet%2c* --&gt;
+            j2eeType=Servlet</code> which return all loaded servlets.
+      </li>
+      <li>
+        <code>qry=Catalina%3Atype%3DEnvironment%2Cresourcetype%3DGlobal%2Cname%3DsimpleValue --&gt;
+            Catalina:type=Environment,resourcetype=Global,name=simpleValue</code>
+            which look for a specific MBean by the given name.
+      </li>
+    </ul>
+    You'll need to experiment with this to really understand its capabilites.
+    If you provide no <code>qry</code> parameter, then all of the MBeans will
+    be displayed. We really recommend looking at the tomcat source code and
+    understand the JMX spec to get a better understanding of all the queries
+    you may run.
+  </blockquote></td></tr></table>
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMX Set command"><strong>JMX Set command</strong></a></font></td></tr><tr><td><blockquote>
+    Now that you can query an MBean, its time to muck with Tomcat's internals!
+    The general form of the set command is :
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://webserver/manager/jmxproxy/?set=BEANNAME&amp;att=MYATTRIBUTE&amp;val=NEWVALUE
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    So you need to provide 3 request parameters:
+    <ol>
+      <li><code>set</code>: The full bean name</li>
+      <li><code>att</code>: The attribute you wish to alter</li>
+      <li><code>val</code>: The new value </li>
+    </ol>
+    If all goes ok, then it will say OK, otherwise an error message will be
+    shown. For example, lets say we wish to turn up debugging on the fly for the
+    <code>ErrorReportValve</code>. The following will set debugging to 10.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=10
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    and my result is (YMMV):
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Result: ok
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    Here is what I see if I pass in a bad value. Here is the URL I used,
+    I try set debugging equal to 'cowbell':
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+http://localhost:8080/manager/jmxproxy/
+?set=Catalina%3Atype%3DValve%2Cname%3DErrorReportValve%2Chost%3Dlocalhost&amp;att=debug&amp;val=cowbell
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    When I try that, my result is
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Error: java.lang.NumberFormatException: For input string: "cowbell"
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/mbeans-descriptor-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/mbeans-descriptor-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/mbeans-descriptor-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - MBean Descriptor How To</title><meta value="Amy Roh" name="author"><meta value="amyroh at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>MBean Descriptor How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat 5 uses JMX MBeans as the technology for implementing 
+manageability of Tomcat.</p>
+
+<p>The descriptions of JMX MBeans for Catalina are in the mbeans-descriptor.xml 
+file in each package.</p>
+
+<p>You will need to add MBean descriptions for your custom components 
+in order to avoid a "ManagedBean is not found" exception.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Adding MBean descriptions"><strong>Adding MBean descriptions</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>You may also add MBean descriptions for custom components in 
+a mbeans-descriptor.xml file, located in the same package as the class files
+it describes.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;mbean         name="LDAPRealm"
+            className="org.apache.catalina.mbeans.ClassNameMBean"
+          description="Custom LDAPRealm"
+               domain="Catalina"
+                group="Realm"
+                 type="com.myfirm.mypackage.LDAPRealm"&gt;
+
+    &lt;attribute   name="className"
+          description="Fully qualified class name of the managed object"
+                 type="java.lang.String"
+            writeable="false"/&gt;
+
+    &lt;attribute   name="debug"
+          description="The debugging detail level for this component"
+                 type="int"/&gt;
+    .
+    .
+    .
+
+  &lt;/mbean&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/monitoring.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/monitoring.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/monitoring.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1085 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Monitoring and Managing Tomcat</title><meta value="Peter Rossbach" name="author"><meta value="pero at apache.org" name="email"><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Monitoring and Managing Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Monitoring is a very important question today. Looking inside the running
+        server, grab some statistic data or reconfigure some aspects are 
+        daliy adminstration tasks.</p>  
+  
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Enabling JMX Remote"><strong>Enabling JMX Remote</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>The Sun website includes the list of options and how to configure JMX Remote on Java 5:
+        <a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html">
+        http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html</a>.
+    </p>
+    <p>For quick installation you find here a short installation guide:</p>
+    <p>Add the following parameters to your tomcat startup script:
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    set CATALINA_OPTS="-Dcom.sun.management.jmxremote \
+    -Dcom.sun.management.jmxremote.port=%my.jmx.port% \
+    -Dcom.sun.management.jmxremote.ssl=false \
+    -Dcom.sun.management.jmxremote.authenticate=false"
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </p>
+    <p>
+    <ol>
+    <li>When you think authorisation is a good, add and change this :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    -Dcom.sun.management.jmxremote.authenticate=true \
+    -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
+    -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the access allow file <em>$CATALINA_BASE/conf/jmxremote.access</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole readonly
+controlRole readwrite
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </li>
+    <li>edit the password file <em>$CATALINA_BASE/conf/jmxremote.password</em> :
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+monitorRole tomcat
+controlRole tomcat
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <b>Tipp</b>: Password File must be readonly and not accessable from every 
+    other user! Remove all other users under windows to access this file.
+    </li>
+    </ol>
+    <b>Note:</b>The JSR 160 JMX-Adaptor opens a second data protocol port. That is a problem
+    when you have installed a local firewall.  However, there is at least one possible
+    workaround: using a custom JMXConnectorServer.  The code for this is available
+    at <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=39055">Bugzilla 39055</a>.
+    </p>
+    <p>Activate JMX MX4J Http Adaptor with Java 1.4:
+    <ol>
+      <li>Install the tomcat compat package</li>
+      <li>Install the mx4j-tools.jar at common/lib. Please, use the same MX4j 
+          version as your tomcat release</li>
+      <li>Configure a MX4J JMX HTTP Adaptor at your AJP Connector
+      <p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;Connector port="${AJP.PORT}" 
+            handler.list="mx" 
+            mx.enabled="true" 
+            mx.httpHost="${JMX.HOST}"
+            mx.httpPort="${JMX.PORT}"
+            protocol="AJP/1.3" /&gt;
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      </p>
+      <p><b>Tipp</b>: With <em>${AJP.PORT}=0</em> no ajp connection where started. 
+      </p>
+      <p><b>Note</b>: MX4J JSR 160 RMI Adaptor to support JDK 1.4 currently not integrated.
+      </p>
+      </li>
+      <li>Start your tomcat and look with a browser at http://${JMX.HOST}:${JMX.PORT}</li>
+      <li>With the mx connector parameter <code>mx.authMode="basic" mx.authUser="tomcat" mx.authPassword="strange"</code> 
+          you can control the access!</li>
+      <li>A complete list of all tomcat core MBeans can you find at <a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/mbean-names.html">
+        http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/mbean-names.html</a>.</li>
+    </ol>
+    </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manage Tomcat with JMX remote Ant Tasks"><strong>Manage Tomcat with JMX remote Ant Tasks</strong></a></font></td></tr><tr><td><blockquote>
+   <p>For simple tomcat ant task usage with ant 1.6.x we have integrate import and antlib support.</p>   
+   <p><b>antlib</b>Copy your catalina-ant.jar from $CATALINA_HOME/server/lib to $ANT_HOME/lib.</p>
+   <p>Following example show the JMX Accessor usage:</p>
+   <table border="1">
+   <tr><td><p><pre>
+&lt;project name="Catalina Ant JMX" 
+        xmlns:jmx="antlib:org.apache.catalina.ant.jmx" 
+        default="state"
+        basedir="."&gt;
+    &lt;property name="jmx.server.name" value="localhost" /&gt;
+    &lt;property name="jmx.server.port" value="9012" /&gt;
+    &lt;property name="cluster.server.address" value="192.168.1.75" /&gt;
+    &lt;property name="cluster.server.port" value="9025" /&gt;
+ 
+    &lt;target name="state" description="Show JMX Cluster state"&gt;
+        &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+            username="controlRole"
+            password="tomcat"/&gt;
+        &lt;jmx:get
+            name="Catalina:type=IDataSender,host=localhost,senderAddress=${cluster.server.address},senderPort=${cluster.server.port}" 
+            attribute="connected"
+            resultproperty="IDataSender.backup.connected"
+            echo="false"
+        /&gt;
+       &lt;jmx:get
+            name="Catalina:type=ClusterSender,host=localhost" 
+            attribute="senderObjectNames"
+            resultproperty="senderObjectNames"
+            echo="false"
+        /&gt;
+        &lt;!-- get current maxActiveSession from ClusterTest application
+             echo it to ant output and store at 
+             property &lt;em&gt;clustertest.maxActiveSessions.orginal&lt;/em&gt;
+        --&gt;
+       &lt;jmx:get
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            resultproperty="clustertest.maxActiveSessions.orginal"
+            echo="true"
+        /&gt;
+        &lt;!-- set maxActiveSession to 100
+        --&gt;
+        &lt;jmx:set
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            attribute="maxActiveSessions"
+            value="100"
+            type="int"
+        /&gt;
+        &lt;!-- get all sessions and split result as delimiter &lt;em&gt;SPACE&lt;/em&gt; for easy
+             access all session ids directly with ant property sessions.[0..n].
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="listSessionIds"
+            resultproperty="sessions"
+            echo="false"
+            delimiter=" "
+        /&gt;
+        &lt;!-- Access session attribute &lt;em&gt;Hello&lt;/em&gt; from first session.
+        --&gt;
+        &lt;jmx:invoke
+            name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+            operation="getSessionAttribute"
+            resultproperty="Hello"
+            echo="false"
+        &gt;
+          &lt;arg value="${sessions.0}"/&gt;
+          &lt;arg value="Hello"/&gt;
+        &lt;/jmx:invoke&gt; 
+        &lt;!-- Query for all application manager.of the server from all hosts
+             and bind all attributes from all found manager mbeans.
+        --&gt;
+        &lt;jmx:query
+            name="Catalina:type=Manager,*" 
+            resultproperty="manager"
+            echo="true"
+            attributebinding="true"
+        /&gt;
+        &lt;!-- echo the create properties --&gt;
+        &lt;echo&gt;
+           senderObjectNames: ${senderObjectNames.0}
+           IDataSender.backup.connected: ${IDataSender.backup.connected}
+           session: ${sessions.0}
+           manager.length: ${manager.length}
+           manager.0.name: ${manager.0.name}
+           manager.1.name: ${manager.1.name}
+           hello: ${Hello}
+           manager.ClusterTest.0.name: ${manager.ClusterTest.0.name}
+           manager.ClusterTest.0.activeSessions: ${manager.ClusterTest.0.activeSessions}
+           manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED: ${manager.ClusterTest.0.counterSend_EVT_SESSION_EXPIRED}
+           manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS: ${manager.ClusterTest.0.counterSend_EVT_GET_ALL_SESSIONS}
+        &lt;/echo&gt;   
+
+    &lt;/target&gt;
+ 
+&lt;/project&gt;
+   </pre></p>
+   </td></tr>
+</table>
+   <p><b>import:</b> Import the JMX Accessor Projekt with 
+   <em>&lt;import file="${CATALINA.HOME}/bin/jmxaccessor-tasks.xml" /&gt;</em> and
+   reference the tasks with <em>jmxOpen</em>, <em>jmxSet</em>, <em>jmxGet</em>,
+    <em>jmxQuery</em>, <em>jmxInvoke</em>,<em>jmxEquals</em> and <em>jmxCondition</em>. </p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorOpenTask - jmx open connection task"><strong>JMXAccessorOpenTask - jmx open connection task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo the command usage (for analyse access or debugging)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+  
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to open a new jmx connection<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            host="${jmx.server.name}"
+            port="${jmx.server.port}"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to open a jmx connection from url, with authorisation and 
+store at other reference, but only when property <em>jmx.if</em> exists and 
+<em>jmx.unless</em> not exists<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:open
+            url="service:jmx:rmi:///jndi/rmi://localhost:9024/jmxrmi"
+            ref="jmx.server.9024"
+            username="controlRole"
+            password="tomcat"    
+            if="jmx.if"    
+            unless="jmx.unless"    
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p> 
+<p><b>Note</b>: All properties from <em>jmxOpen</em> task also exists at all 
+other tasks and conditions. 
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorGetTask:  get attribute value ant task"><strong>JMXAccessorGetTask:  get attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to get remote mbean attribute from default jmx connection <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        resultproperty="servlets-examples.maxActiveSessions"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Example to get and result array and split it at separate properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:get
+        name="Catalina:type=ClusterSender,host=localhost" 
+        attribute="senderObjectNames"
+        resultproperty="senderObjectNames"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Access the senderObjectNames properties with:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    ${senderObjectNames.lenght} give the number of returned sender list.
+    ${senderObjectNames.[0..N]} found all sender object names
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+<p>
+Example to get IDataSender attribute connected only when cluster is configured.
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;jmx:query
+    failonerror="false"
+    name="Catalina:type=Cluster,host=${tomcat.application.host}"
+    resultproperty="cluster"
+/&gt;
+&lt;jmx:get
+    name="Catalina:type=IDataSender,host=${tomcat.application.host},senderAddress=${cluster.backup.address},senderPort=${cluster.backup.port}" 
+    attribute="connected"
+    resultproperty="datasender.connected"
+    if="cluster.0.name" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorSetTask:  set attribute value ant task"><strong>JMXAccessorSetTask:  set attribute value ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attribute</td>
+    <td>Existing Mbean attribute (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value</td>
+    <td>value that set to attribute 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>type of the attribute.
+    </td>
+    <td>java.lang.String</td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to set remote mbean attribute value<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        attribute="maxActiveSessions"
+        value="500"
+        type="int"
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+Examples to set multiple remote mbean attributes<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:set
+        name="java.lang:type=Threading"&gt; 
+			 &lt;arg name="ThreadContentionMonitoringEnabled" value="true" type="boolean"/&gt;
+			 &lt;arg name="ThreadCpuTimeEnabled" value="false" type="boolean"/&gt;
+    &lt;/jmx:set&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorInvokeTask:  invoke Mbean operation ant task"><strong>JMXAccessorInvokeTask:  invoke Mbean operation ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td>Existing Mbean operation (see Tomcat 
+        <a href="http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/fs-admin-opers.html">
+        http://tomcat.apache.org/tomcat-5.5-doc/catalina/funcspecs/fs-admin-opers.html</a>.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Save result at this project property
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+stop an application <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="stop"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get all sessionids <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/servlets-examples,host=localhost" 
+        operation="listSessionIds"
+        resultproperty="sessions"
+        delimiter=" "        
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the sessionid at <em>${sessions.[0..N}</em> properties and access the count
+with ${sessions.lenght} property.
+</p>  
+<p>
+Example to get remote mbean session attribute from session ${sessionid.0}<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:invoke
+        name="Catalina:type=Manager,path=/ClusterTest,host=localhost" 
+        operation="getSessionAttribute"
+        resultproperty="hello"&gt;
+         &lt;arg value="${sessionid.0}"/&gt;
+         &lt;arg value="Hello" /&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+Example to create a new access logger valve at vhost <em>localhost</em>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ &lt;jmx:invoke
+         name="Catalina:type=MBeanFactory" 
+         operation="createAcccesLoggerValve"
+         resultproperty="acccesLoggerObjectName"
+ &gt;
+     &lt;arg value="Catalina:type=Host,host=localhost"/&gt;
+ &lt;/jmx:invoke&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find new Mbean with name stored at <em>${acccesLoggerObjectName}</em>
+proeprty.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorQueryTask:  query Mbean ant task"><strong>JMXAccessorQueryTask:  query Mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>JMX  ObjectName query string -- <em>Catalina:type=Manager,*</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>resultproperty</td>
+    <td>Prefix project property name to all founded Mbeans (<em>mbeans.[0..N].objectname</em>)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>attributebinduing</td>
+    <td>bind ALL MBean attributes in addition to <em>name</em>
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>delimiter</td>
+    <td>Split result with delimiter (java.util.StringTokenizier) 
+        and use resultproperty as prefix to store tokens.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>separatearrayresults</td>
+    <td>When return value is an array, save result as property list 
+    (<em>$resultproperty.[0..N]</em> and <em>$resultproperty.lenght</em>) 
+    </td>
+    <td><code>true</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Get all Manager ObjectNames from all services and Hosts <br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,* 
+           resultproperty="manager" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the Session Manager at <em>${manager.[0..N].name}</em> 
+properties and access the result object counter with ${manager.length} property.
+</p>  
+<p>
+Example to get the Manager from <em>servlet-examples</em> application an bind all mbean properties<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+  &lt;jmx:query
+           name="Catalina:type=Manager,path=/servlet-examples,host=localhost*" 
+           attributebinding="true"
+           resultproperty="manager.servletExamples" /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find the manager at <em>${manager.servletExamples.0.name}</em> property
+and can access all properties from this manager with <em>${manager.servletExamples.0.[manager attribute names]</em>}.
+The result object counter from MBeans is stored ad ${manager.length} property.
+</p>  
+
+<p>
+Example to get all MBeans from a server and store inside an external xml property file<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;project name="jmx.query"         
+            xmlns:jmx="antlib:org.apache.catalina.ant.jmx"
+            default="query-all" basedir="."&gt;
+&lt;property name="jmx.host" value="localhost"/&gt;
+&lt;property name="jmx.port" value="8050"/&gt;
+&lt;property name="jmx.username" value="controlRole"/&gt;
+&lt;property name="jmx.password" value="tomcat"/&gt;
+
+&lt;target name="query-all" description="Query all MBeans of a server"&gt;
+&lt;!-- Configure connection --&gt;
+&lt;jmx:open 
+    host="${jmx.host}"
+    port="${jmx.port}"
+    ref="jmx.server"
+    username="${jmx.username}"
+    password="${jmx.password}"/&gt;
+&lt;!-- Query MBean list --&gt;
+&lt;jmx:query 
+    name="*:*"
+    resultproperty="mbeans"
+    attributebinding="false"/&gt;
+    
+&lt;echoproperties
+    destfile="mbeans.properties"
+    prefix="mbeans."
+    format="xml"/&gt;
+    
+&lt;!-- Print results --&gt;
+&lt;echo
+    message="Number of MBeans in server ${jmx.host}:${jmx.port} is ${mbeans.length}"/&gt;
+&lt;/target&gt;
+&lt;/project&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+Now you can find all MBeans inside the file <em>mbeans.properties</em>.
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCreateTask:  remote create mbean ant task"><strong>JMXAccessorCreateTask:  remote create mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>className</td>
+    <td>Existing MBean full qualified classname (see Tomcat mbean description above)
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>classLoader</td>
+    <td>ObjectName of server or web application classloader <br>
+    ( <em>Catalina:type=ServerClassLoader,name=[server,common,shared]</em> or<br>
+     <em>Catalina:type=WebappClassLoader,path=/myapps,host=localhost</em>) 
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to create remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:create
+             ref="${jmx.reference}"
+             name="Catalina:type=MBeanFactory"
+             className="org.apache.commons.modeler.BaseModelMBean"
+             classLoader="Catalina:type=ServerClassLoader,name=server"&gt;             
+             &lt;Arg value="org.apache.catalina.mbeans.MBeanFactory" /&gt;
+    &lt;/jmx:create&gt; 
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really create and connect with <br>
+    the parent. The valve, cluster or realm Mbeans are not autconnect with there parent.<br> 
+    Use <em>MBeanFacrory</em> create operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorUnregisterTask:  remote unregister mbean ant task"><strong>JMXAccessorUnregisterTask:  remote unregister mbean ant task</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=MBeanFactory</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>JMX Connection reference
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo command usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Example to unregister remote mbean<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    &lt;jmx:unregister
+        name="Catalina:type=MBeanFactory" 
+    /&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+<p>
+    <b>Warning</b>: A lot of tomcat mbeans can't be really unregister. <br>
+    The Mbeans are not deregister from parent. Use <em>MBeanFacrory</em> <br>
+    remove operation instead.
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorCondition:  express condition"><strong>JMXAccessorCondition:  express condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection reference. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+  <tr>
+    <td>if</td>
+    <td>Only execute if a property of the given name <b>exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>unless</td>
+    <td>Only execute if a property of the given name <b>not exists</b> in the current project.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>value (requiered)</td>
+    <td>Second arg for operation
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>type</td>
+    <td>Value type to express operation (support <em>long</em> and <em>double</em>)
+    </td>
+    <td><code>long</code></td>
+  </tr>
+
+  <tr>
+    <td>operation</td>
+    <td> express one 
+    <ul>
+    <li>==  equals</li>
+    <li>!=  not equals</li>
+    <li>&gt; greater than (&amp;gt;)</li>
+    <li>&gt;= greater than or equals (&amp;gt;=)</li>
+    <li>&lt; lesser than (&amp;lt;)</li>
+    <li>&lt;= lesser than or equals (&amp;lt;=)</li>
+    </ul>         
+    </td>
+    <td><code>==</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:condition
+                    operation="==" 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JMXAccessorEqualsCondition:  equals Mbean ant condition"><strong>JMXAccessorEqualsCondition:  equals Mbean ant condition</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+List of Attributes<br>
+<table border="1" cellpadding="5">
+
+  <tr>
+    <th align="center" bgcolor="aqua">Attribute</th>
+    <th align="center" bgcolor="aqua">Description</th>
+    <th align="center" bgcolor="aqua">Default value</th>
+  </tr>
+
+ <tr>
+    <td>url</td>
+    <td>Set jmx connection url - <em>service:jmx:rmi:///jndi/rmi://localhost:8050/jmxrmi</em>
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>host</td>
+    <td>Set the host, shortcut the very long url syntax.
+    </td>
+    <td><code>localhost</code></td>
+  </tr>
+
+  <tr>
+    <td>port</td>
+    <td>Set the remote connection port 
+    </td>
+    <td><code>8050</code></td>
+  </tr>
+
+  <tr>
+    <td>username</td>
+    <td>remote jmx connection user name.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>password</td>
+    <td>remote jmx connection password.
+    </td>
+    <td></td>
+  </tr>
+
+  <tr>
+    <td>ref</td>
+    <td>Name of the internal connection referenz. With this attribute you can
+        configure more the one connection inside the same ant projekt.
+    </td>
+    <td><code>jmx.server</code></td>
+  </tr>
+
+  <tr>
+    <td>name</td>
+    <td>Full qualified JMX ObjectName -- <em>Catalina:type=Server</em>
+    </td>
+    <td></td>
+  </tr>
+
+
+  <tr>
+    <td>echo</td>
+    <td>Echo condition usage (access and result)
+    </td>
+    <td><code>false</code></td>
+  </tr>
+
+</table>
+</p>
+<p>
+Wait for server connection and that cluster backup node is accessable<br>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+      &lt;target name="wait"&gt;
+         &lt;waitfor maxwait="${maxwait}" maxwaitunit="second" timeoutproperty="server.timeout" &gt;
+            &lt;and&gt;
+                &lt;socket server="${server.name}" port="${server.port}"/&gt;
+                &lt;http url="${url}"/&gt;
+                &lt;jmx:equals 
+                    host="localhost" 
+                    port="9014"
+                    username="controlRole"
+                    password="tomcat"
+                    name="Catalina:type=IDataSender,host=localhost,senderAddress=192.168.111.1,senderPort=9025"
+                    attribute="connected"
+                    value="true"
+                /&gt;
+            &lt;/and&gt;
+        &lt;/waitfor&gt;
+        &lt;fail if="server.timeout" message="Server ${url} don't answer inside ${maxwait} sec" /&gt;
+        &lt;echo message="Server ${url} alive" /&gt;
+    &lt;/target&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>  
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/proxy-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/proxy-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/proxy-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Proxy Support HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Proxy Support HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using standard configurations of Tomcat, web applications can ask for
+the server name and port number to which the request was directed for
+processing.  When Tomcat is running standalone with the
+<a href="../config/coyote.html">Coyote HTTP/1.1 Connector</a>, it will generally
+report the server name specified in the request, and the port number on
+which the <strong>Connector</strong> is listening.  The servlet API
+calls of interest, for this purpose, are:</p>
+<ul>
+<li><code>ServletRequest.getServerName()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getServerPort()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getLocalName()</code>: Returns the host name of the Internet Protocol (IP) interface on which the request was received.</li>
+<li><code>ServletRequest.getLocalPort()</code>:  Returns the Internet Protocol (IP) port number of the interface on which the request was received.</li>
+</ul>
+
+<p>When you are running behind a proxy server (or a web server that is
+configured to behave like a proxy server), you will sometimes prefer to
+manage the values returned by these calls.  In particular, you will
+generally want the port number to reflect that specified in the original
+request, not the one on which the <strong>Connector</strong> itself is
+listening.  You can use the <code>proxyName</code> and <code>proxyPort</code>
+attributes on the <code>&lt;Connector&gt;</code> element to configure
+these values.</p>
+
+<p>Proxy support can take many forms.  The following sections describe
+proxy configurations for several common cases.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 1.3 Proxy Support"><strong>Apache 1.3 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Apache 1.3 supports an optional module (<code>mod_proxy</code>) that
+configures the web server to act as a proxy server.  This can be used to
+forward requests for a particular web application to a Tomcat 5 instance,
+without having to configure a web connector such as <code>mod_jk</code>.
+To accomplish this, you need to perform the following tasks:</p>
+<ol>
+<li>Configure your copy of Apache so that it includes the
+    <code>mod_proxy</code> module.  If you are building from source,
+    the easiest way to do this is to include the
+    <code>--enable-module=proxy</code> directive on the
+    <code>./configure</code> command line.</li>
+<li>If not already added for you, make sure that you are loading the
+    <code>mod_proxy</code> module at Apache startup time, by using the
+    following directives in your <code>httpd.conf</code> file:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+LoadModule proxy_module  {path-to-modules}/mod_proxy.so
+AddModule  mod_proxy.c
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div></li>
+<li>Include two directives in your <code>httpd.conf</code> file for
+    each web application that you wish to forward to Tomcat 5.  For
+    example, to forward an application at context path <code>/myapp</code>:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ProxyPass         /myapp  http://localhost:8081/myapp
+ProxyPassReverse  /myapp  http://localhost:8081/myapp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which tells Apache to forward URLs of the form
+    <code>http://localhost/myapp/*</code> to the Tomcat 5 connector
+    listening on port 8081.</li>
+<li>Configure your copy of Tomcat 5 to include a special
+    <code>&lt;Connector&gt;</code> element, with appropriate
+    proxy settings, for example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="8081" ...
+              proxyName="www.mycompany.com"
+              proxyPort="80"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    which will cause servlets inside this web application to think that
+    all proxied requests were directed to <code>www.mycompany.com</code>
+    on port 80.</li>
+<li>It is legal to omit the <code>proxyName</code> attribute from the
+    <code>&lt;Connector&gt;</code> element.  If you do so, the value
+    returned by <code>request.getServerName()</code> will by the host
+    name on which Tomcat is running.  In the example above, it would be
+    <code>localhost</code>.</li>
+<li>If you also have a <code>&lt;Connector&gt;</code> listening on port
+    8080 (nested within the same <a href="../config/service.html">Service</a>
+    element), the requests to either port will share the same set of
+    virtual hosts and web applications.</li>
+<li>You might wish to use the IP filtering features of your operating
+    system to restrict connections to port 8081 (in this example) to
+    be allowed <strong>only</strong> from the server that is running
+    Apache.</li>
+<li>Alternatively, you can set up a series of web applications that are
+    only available via proxying, as follows:
+    <ul>
+    <li>Configure another <code>&lt;Service&gt;</code> that contains
+        only a <code>&lt;Connector&gt;</code> for the proxy port.</li>
+    <li>Configure appropriate <a href="../config/engine.html">Engine</a>,
+        <a href="../config/host.html">Host</a>, and
+        <a href="../config/context.html">Context</a> elements for the virtual hosts
+        and web applications accessible via proxying.</li>
+    <li>Optionally, protect port 8081 with IP filters as described
+        earlier.</li>
+    </ul></li>
+<li>When requests are proxied by Apache, the web server will be recording
+    these requests in its access log.  Therefore, you will generally want to
+    disable any access logging performed by Tomcat itself.</li>
+</ol>
+
+<p>When requests are proxied in this manner, <strong>all</strong> requests
+for the configured web applications will be processed by Tomcat (including
+requests for static content).  You can improve performance by using the
+<code>mod_jk</code> web connector instead of <code>mod_proxy</code>. 
+<code>mod_jk</code> can be configured so that the web server serves static
+content that is not processed by filters or security constraints defined
+within the web application's deployment descriptor
+(<code>/WEB-INF/web.xml</code>).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 2.0 Proxy Support"><strong>Apache 2.0 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+The same instructions hold true as for 1.3. (Except in Apache 2.0,
+you may omit <code>AddModule  mod_proxy.c</code>)
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/realm-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/realm-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/realm-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1085 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Realm Configuration HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith at mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Realm Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Quick Start">Quick Start</a><br>
+<blockquote>
+<a href="#What is a Realm?">What is a Realm?</a><br>
+<a href="#Configuring a Realm">Configuring a Realm</a><br>
+</blockquote>
+<a href="#Common Features">Common Features</a><br>
+<blockquote>
+<a href="#Digested Passwords">Digested Passwords</a><br>
+<a href="#Example Application">Example Application</a><br>
+<a href="#Manager Application">Manager Application</a><br>
+<a href="#Realm Logging">Logging Within Realms</a><br>
+</blockquote>
+<a href="#Standard Realm Implementations">
+Standard Realm Implementations</a><br>
+<blockquote>
+<a href="#JDBCRealm">JDBCRealm</a><br>
+<a href="#DataSourceRealm">DataSourceRealm</a><br>
+<a href="#JNDIRealm">JNDIRealm</a><br>
+<a href="#MemoryRealm">MemoryRealm</a><br>
+<a href="#JAASRealm">JAASRealm</a><br>
+<a href="#UserDatabaseRealm">UserDatabaseRealm</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document describes how to configure Tomcat to support <em>container
+managed security</em>, by connecting to an existing "database" of usernames,
+passwords, and user roles.  You only need to care about this if you are using
+a web application that includes one or more
+<code>&lt;security-constraint&gt;</code> elements, and a
+<code>&lt;login-config&gt;</code> element defining how users are required
+to authenticate themselves.  If you are not utilizing these features, you can
+safely skip this document.</p>
+
+<p>For fundamental background information about container managed security,
+see the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+Specification (Version 2.4)</a>, Section 12.</p>
+
+<p>For information about utilizing the <em>Single Sign On</em> feature of
+Tomcat 5 (allowing a user to authenticate themselves once across the entire
+set of web applications associated with a virtual host), see
+<a href="../config/host.html#Single Sign On">here</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is a Realm?"><strong>What is a Realm?</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A <strong>Realm</strong> is a "database" of usernames and passwords that
+identify valid users of a web application (or set of web applications), plus
+an enumeration of the list of <em>roles</em> associated with each valid user.
+You can think of roles as similar to <em>groups</em> in Unix-like operating
+systems, because access to specific web application resources is granted to
+all users possessing a particular role (rather than enumerating the list of
+associated usernames).  A particular user can have any number of roles
+associated with their username.</p>
+
+<p>Although the Servlet Specification describes a portable mechanism for
+applications to <em>declare</em> their security requirements (in the
+<code>web.xml</code> deployment descriptor), there is no portable API
+defining the interface between a servlet container and the associated user
+and role information.  In many cases, however, it is desireable to "connect"
+a servlet container to some existing authentication database or mechanism
+that already exists in the production environment.  Therefore, Tomcat 5
+defines a Java interface (<code>org.apache.catalina.Realm</code>) that
+can be implemented by "plug in" components to establish this connection.
+Five standard plug-ins are provided, supporting connections to various
+sources of authentication information:</p>
+<ul>
+<li><a href="#JDBCRealm">JDBCRealm</a> - Accesses authentication information
+    stored in a relational database, accessed via a JDBC driver.</li>
+<li><a href="#DataSourceRealm">DataSourceRealm</a> - Accesses authentication
+    information stored in a relational database, accessed via a named JNDI
+    JDBC DataSource.</li>
+<li><a href="#JNDIRealm">JNDIRealm</a> - Accesses authentication information
+    stored in an LDAP based directory server, accessed via a JNDI provider.
+    </li>
+<li><a href="#MemoryRealm">MemoryRealm</a> - Accesses authentication
+    information stored in an in-memory object collection, which is initialized
+    from an XML document (<code>conf/tomcat-users.xml</code>).</li>
+<li><a href="#JAASRealm">JAASRealm</a> - Accesses authentication information
+    through the Java Authentication &amp; Authorization Service (JAAS)
+    framework.</li>
+</ul>
+
+<p>It is also possible to write your own <code>Realm</code> implementation,
+and integrate it with Tomcat 5.  To do so, you need to:
+<ul>
+  <li>Implement <code>org.apache.catalina.Realm</code>,</li>
+  <li>Place your compiled realm in $CATALINA_HOME/server/lib,</li>
+  <li>Declare your realm as described in the "Configuring a Realm" section below,</li>
+  <li>Declare your realm to the <a href="mbeans-descriptor-howto.html">MBeans Descriptor</a>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring a Realm"><strong>Configuring a Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before getting into the details of the standard Realm implementations, it is
+important to understand, in general terms, how a Realm is configured.  In
+general, you will be adding an XML element to your <code>conf/server.xml</code>
+configuration file, that looks something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="... class name for this implementation"
+       ... other attributes for this implementation .../&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>The <code>&lt;Realm&gt;</code> element can be nested inside any one of 
+of the following <code>Container</code> elements.  The location of the
+Realm element has a direct impact on the "scope" of that Realm
+(i.e. which web applications will share the same authentication information):
+</p>
+<ul>
+<li><em>Inside an &lt;Engine&gt; element</em> - This Realm will be shared
+    across ALL web applications on ALL virtual hosts, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Host&gt;</code>
+    or <code>&lt;Context&gt;</code> element.</li>
+<li><em>Inside a &lt;Host&gt; element</em> - This Realm will be shared across
+    ALL web applications for THIS virtual host, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Context&gt;</code>
+    element.</li>
+<li><em>Inside a &lt;Context&gt; element</em> - This Realm will be used ONLY
+    for THIS web application.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Features"><strong>Common Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Digested Passwords"><strong>Digested Passwords</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For each of the standard <code>Realm</code> implementations, the
+user's password (by default) is stored in clear text.  In many
+environments, this is undesireable because casual observers of the
+authentication data can collect enough information to log on
+successfully, and impersonate other users.  To avoid this problem, the
+standard implementations support the concept of <em>digesting</em>
+user passwords.  This allows the stored version of the passwords to be
+encoded (in a form that is not easily reversible), but that the
+<code>Realm</code> implementation can still utilize for
+authentication.</p>
+
+<p>When a standard realm authenticates by retrieving the stored
+password and comparing it with the value presented by the user, you
+can select digested passwords by specifying the <code>digest</code>
+attribute on your <code>&lt;Realm&gt;</code> element.  The value for
+this attribute must be one of the digest algorithms supported by the
+<code>java.security.MessageDigest</code> class (SHA, MD2, or MD5).
+When you select this option, the contents of the password that is
+stored in the <code>Realm</code> must be the cleartext version of the
+password, as digested by the specified algorithm.</p>
+
+<p>When the <code>authenticate()</code> method of the Realm is called, the
+(cleartext) password specified by the user is itself digested by the same
+algorithm, and the result is compared with the value returned by the
+<code>Realm</code>.  An equal match implies that the cleartext version of the
+original password is the same as the one presented by the user, so that this
+user should be authorized.</p>
+
+<p>To calculate the digested value of a cleartext password, two convenience
+techniques are supported:</p>
+<ul>
+<li>If you are writing an application that needs to calculate digested
+    passwords dynamically, call the static <code>Digest()</code> method of the
+    <code>org.apache.catalina.realm.RealmBase</code> class, passing the
+    cleartext password and the digest algorithm name as arguments.  This
+    method will return the digested password.</li>
+<li>If you want to execute a command line utility to calculate the digested
+    password, simply execute
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} {cleartext-password}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    and the digested version of this cleartext password will be returned to
+    standard output.</li>
+</ul>
+
+<p>If using digested passwords with DIGEST authentication, the cleartext used
+   to generate the digest is different. In the examples above
+   <code>{cleartext-password}</code> must be replaced with 
+   <code>{username}:{realm}:{cleartext-password}</code>. For example, in a
+   development environment this might take the form
+   <code>testUser:localhost:8080:testPassword</code>.</p>
+
+<p>To use either of the above techniques, the
+<code>$CATALINA_HOME/server/lib/catalina.jar</code> file will need to be
+on your class path to make the <code>RealmBase</code> class available.  In 
+addition, you will need the JMX jar and the commons-logging jar (either 
+commons-logging-api.jar or commons-logging.jar).  Both of these are included
+with the Tomcat distribution.
+</p>
+
+<p>Non-ASCII usernames and/or passwords are supported using
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} -e {encoding} {input}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+but care is required to ensure that the non-ASCII input is
+correctly passed to the digester.
+The digester returns <code>{input}:{digest}</code>. If the input appears
+corrupted in the return, the digest will be invalid.</p>
+
+</blockquote></td></tr></table>
+
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example Application"><strong>Example Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The example application shipped with Tomcat 5 includes an area that is
+protected by a security constraint, utilizing form-based login.  To access it,
+point your browser at
+<a href="http://localhost:8080/jsp-examples/security/protected/">http://localhost:8080/jsp-examples/security/protected/</a>
+and log on with one of the usernames and passwords described for the default
+<a href="#MemoryRealm">MemoryRealm</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager Application"><strong>Manager Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use the <a href="manager-howto.html">Manager Application</a>
+to deploy and undeploy applications in a running Tomcat 5 installation, you
+MUST add the "manager" role to at least one username in your selected Realm
+implementation.  This is because the manager web application itself uses a
+security constraint that requires role "manager" to access ANY request URI
+within that application.</p>
+
+<p>For security reasons, no username in the default Realm (i.e. using
+<code>conf/tomcat-users.xml</code> is assigned the "manager" role.  Therfore,
+no one will be able to utilize the features of this application until the
+Tomcat administrator specifically assigns this role to one or more users.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm Logging"><strong>Realm Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Debugging and exception messages logged by a <code>Realm</code> will
+   be recorded by the logging configuration associated with the container
+   for the realm: its surrounding <a href="../config/context.html">Context</a>,
+   <a href="../config/host.html">Host</a>, or
+   <a href="../config/engine.html">Engine</a>.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Realm Implementations"><strong>Standard Realm Implementations</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBCRealm"><strong>JDBCRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JDBCRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JDBC driver.  There is substantial configuration flexibility
+that lets you adapt to existing table and column names, as long as your
+database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JDBCRealm, you will need to follow these steps:</p>
+<ol>
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Place a copy of the JDBC driver you will be using inside the
+    <code>$CATALINA_HOME/server/lib</code> directory (if you do not need it
+    visible to web applications) or <code>$CATALINA_HOME/common/lib</code>
+    (if it will be used both by Tomcat 5 <em>and</em> by your apps).
+    Note that <strong>only</strong> JAR files are recognized!</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JDBCRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Example <code>Realm</code> elements are included (commented out) in the
+default <code>$CATALINA_HOME/conf/server.xml</code> file.  Here's an example
+for using a MySQL database called "authority", configured with the tables
+described above, and accessed with username "dbuser" and password "dbpass":</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
+      driverName="org.gjt.mm.mysql.Driver"
+   connectionURL="jdbc:mysql://localhost/authority?user=dbuser&amp;amp;password=dbpass"
+       userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>JDBCRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="DataSourceRealm"><strong>DataSourceRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>DataSourceRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JNDI named JDBC DataSource.  There is substantial configuration
+flexibility that lets you adapt to existing table and column names, as long
+as your database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>    
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+                  
+<p>To set up Tomcat to use DataSourceRealm, you will need to follow these steps:</p>
+<ol>              
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Configure a JNDI named JDBC DataSource for your database.  Refer to the
+    <a href="jndi-datasource-examples-howto.html">JNDI DataSource Example HOW-TO</a>
+    for information on how to configure a JNDI named JDBC DataSource.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a DataSourceRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Here is an example for using a MySQL database called "authority", configured
+with the tables described above, and accessed with the JNDI JDBC DataSource with
+name "java:/comp/env/jdbc/authority".</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
+   dataSourceName="jdbc/authority"
+   userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>DataSourceRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDIRealm"><strong>JNDIRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JNDIRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in an LDAP directory
+server accessed by a JNDI provider (typically, the standard LDAP
+provider that is available with the JNDI API classes). The realm
+supports a variety of approaches to using a directory for
+authentication.</p>
+
+<h4>Connecting to the directory</h4>
+
+<p>The realm's connection to the directory is defined by the
+<strong>connectionURL</strong> configuration attribute. This is a URL
+whose format is defined by the JNDI provider. It is usually an LDAP
+URL that specifies the domain name of the directory server to connect
+to, and optionally the port number and distinguished name (DN) of the
+required root naming context.</p>
+
+<p>If you have more than one provider you can configure an
+<strong>alternateURL</strong>.  If a socket connection can not be
+made to the provider at the <strong>connectionURL</strong> an
+attempt will be made to use the <strong>alternateURL</strong>.</p>
+
+<p>When making a connection in order to search the directory and
+retrieve user and role information, the realm authenticates itself to
+the directory with the username and password specified by the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> properties. If these properties
+are not specified the connection is anonymous. This is sufficient in
+many cases.
+</p>
+
+
+<h4>Selecting the user's directory entry</h4>
+
+<p>Each user that can be authenticated must be represented in the
+directory by an individual entry that corresponds to an element in the
+initial <code>DirContext</code> defined by the
+<strong>connectionURL</strong> attribute. This user entry must have an
+attribute containing the username that is presented for
+authentication.</p>
+
+<p>Often the distinguished name of the user's entry contains the
+username presented for authentication but is otherwise the same for
+all users. In this case the <strong>userPattern</strong> attribute may
+be used to specify the DN, with "{0}" marking where
+the username should be substituted.</p>
+
+<p>Otherwise the realm must search the directory to find a unique entry
+containing the username. The following attributes configure this
+search:
+
+     <ul>
+     <li><strong>userBase</strong> - the entry that is the base of
+         the subtree containing users.  If not specified, the search
+         base is the top-level context.</li>
+
+     <li><strong>userSubtree</strong> - the search scope. Set to
+         <code>true</code> if you wish to search the entire subtree
+         rooted at the <strong>userBase</strong> entry. The default value
+         of <code>false</code> requests a single-level search
+         including only the top level.</li>
+
+     <li><strong>userSearch</strong> - pattern specifying the LDAP
+         search filter to use after substitution of the username.</li>
+
+    </ul>
+</p>
+
+
+<h4>Authenticating the user</h4>
+
+<ul>
+<li>
+<p><b>Bind mode</b></p>
+
+<p>By default the realm authenticates a user by binding to
+the directory with the DN of the entry for that user and the password
+presented by the user. If this simple bind succeeds the user is considered to
+be authenticated.</p>
+
+<p>For security reasons a directory may store a digest of the user's
+password rather than the clear text version (see <a href="#Digested Passwords">Digested Passwords</a> for more information). In that case,
+as part of the simple bind operation the directory automatically
+computes the correct digest of the plaintext password presented by the
+user before validating it against the stored value. In bind mode,
+therefore, the realm is not involved in digest processing. The
+<strong>digest</strong> attribute is not used, and will be ignored if
+set.</p>
+</li>
+
+<li>
+<p><b>Comparison mode</b></p>
+<p>Alternatively, the realm may retrieve the stored
+password from the directory and compare it explicitly with the value
+presented by the user. This mode is configured by setting the
+<strong>userPassword</strong> attribute to the name of a directory
+attribute in the user's entry that contains the password.</p>
+
+<p>Comparison mode has some disadvantages. First, the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> attributes must be configured to
+allow the realm to read users' passwords in the directory. For
+security reasons this is generally undesirable; indeed many directory
+implementations will not allow even the directory manager to read
+these passwords. In addition, the realm must handle password digests
+itself, including variations in the algorithms used and ways of
+representing password hashes in the directory. However, the realm may
+sometimes need access to the stored password, for example to support
+HTTP Digest Access Authentication (RFC 2069). (Note that HTTP digest
+authentication is different from the storage of password digests in
+the repository for user information as discussed above).
+</p>
+</li>
+</ul>
+
+<h4>Assigning roles to the user</h4>
+
+<p>The directory realm supports two approaches to the representation
+of roles in the directory:</p>
+
+<ul>
+<li>
+<p><b>Roles as explicit directory entries</b></p>
+
+<p>Roles may be represented by explicit directory entries. A role
+entry is usually an LDAP group entry with one attribute
+containing the name of the role and another whose values are the
+distinguished names or usernames of the users in that role.  The
+following attributes configure a directory search to
+find the names of roles associated with the authenticated user:</p>
+
+<ul>
+<li><strong>roleBase</strong> - the base entry for the role search.
+    If not specified, the search base is the top-level directory
+    context.</li>
+
+<li><strong>roleSubtree</strong> - the search
+    scope. Set to <code>true</code> if you wish to search the entire
+    subtree rooted at the <code>roleBase</code> entry. The default
+    value of <code>false</code> requests a single-level search
+    including the top level only.</li>
+
+<li><strong>roleSearch</strong> - the LDAP search filter for
+    selecting role entries. It optionally includes pattern
+    replacements "{0}" for the distinguished name and/or "{1}" for the
+    username of the authenticated user.</li>
+
+<li><strong>roleName</strong> - the attribute in a role entry
+     containing the name of that role.</li>
+
+</ul>
+
+</li>
+</ul>
+
+<ul>
+<li>
+<p><b>Roles as an attribute of the user entry</b></p>
+
+<p>Role names may also be held as the values of an attribute in the
+user's directory entry. Use <strong>userRoleName</strong> to specify
+the name of this attribute.</p>
+
+</li>
+</ul>
+<p>A combination of both approaches to role representation may be used.</p>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JNDIRealm, you will need to follow these steps:</p>
+<ol>
+<li>Make sure your directory server is configured with a schema that matches
+    the requirements listed above.</li>
+<li>If required, configure a username and password for use by Tomcat, that has
+    read only access to the information described above.  (Tomcat will
+    never attempt to modify this information.)</li>
+<li>Place a copy of the JNDI driver you will be using (typically
+    <code>ldap.jar</code> available with JNDI) inside the
+    <code>$CATALINA_HOME/server/lib</code> directory (if you do not need it
+    visible to web applications) or <code>$CATALINA_HOME/common/lib</code>
+    (if it will be used both by Tomcat 5 <em>and</em> by your apps).</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JNDIRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>Creation of the appropriate schema in your directory server is beyond the
+scope of this document, because it is unique to each directory server
+implementation.  In the examples below, we will assume that you are using a
+distribution of the OpenLDAP directory server (version 2.0.11 or later), which
+can be downloaded from
+<a href="http://www.openldap.org">http://www.openldap.org</a>.  Assume that
+your <code>slapd.conf</code> file contains the following settings
+(among others):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+database ldbm
+suffix dc="mycompany",dc="com"
+rootdn "cn=Manager,dc=mycompany,dc=com"
+rootpw secret
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>We will assume for <code>connectionURL</code> that the directory
+server runs on the same machine as Tomcat.  See <a href="http://java.sun.com/products/jndi/docs.html">http://java.sun.com/products/jndi/docs.html</a>
+for more information about configuring and using the JNDI LDAP
+provider.</p>
+
+<p>Next, assume that this directory server has been populated with elements
+as shown below (in LDIF format):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+# Define top-level entry
+dn: dc=mycompany,dc=com
+objectClass: dcObject
+dc:mycompany
+
+# Define an entry to contain people
+# searches for users are based on this entry
+dn: ou=people,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: people
+
+# Define a user entry for Janet Jones
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones at mycompany.com
+userPassword: janet
+
+# Define a user entry for Fred Bloggs
+dn: uid=fbloggs,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: fbloggs
+sn: bloggs
+cn: fred bloggs
+mail: f.bloggs at mycompany.com
+userPassword: fred
+
+# Define an entry to contain LDAP groups
+# searches for roles are based on this entry
+dn: ou=groups,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: groups
+
+# Define an entry for the "tomcat" role
+dn: cn=tomcat,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: tomcat
+uniqueMember: uid=jjones,ou=people,dc=mycompany,dc=com
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+
+# Define an entry for the "role1" role
+dn: cn=role1,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: role1
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>An example <code>Realm</code> element for the OpenLDAP directory
+server configured as described above might look like this, assuming
+that users use their uid (e.g. jjones) to login to the
+application and that an anonymous connection is sufficient to search
+the directory and retrieve role information:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>With this configuration, the realm will determine the user's
+distinguished name by substituting the username into the
+<code>userPattern</code>, authenticate by binding to the directory
+with this DN and the password received from the user, and search the
+directory to find the user's roles.</p>
+
+<p>Now suppose that users are expected to enter their email address
+rather than their userid when logging in. In this case the realm must
+search the directory for the user's entry. (A search is also necessary
+when user entries are held in multiple subtrees corresponding perhaps
+to different organizational units or company locations).</p>
+
+<p>Further, suppose that in addition to the group entries you want to
+use an attribute of the user's entry to hold roles. Now the entry for
+Janet Jones might read as follows:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones at mycompany.com
+memberOf: role2
+memberOf: role3
+userPassword: janet
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p> This realm configuration would satisfy the new requirements:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+          userBase="ou=people,dc=mycompany,dc=com"
+        userSearch="(mail={0})"
+      userRoleName="memberOf"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>Now when Janet Jones logs in as "j.jones at mycompany.com", the realm
+searches the directory for a unique entry with that value as its mail
+attribute and attempts to bind to the directory as
+<code>uid=jjones,ou=people,dc=mycompany,dc=com</code> with the given
+password. If authentication succeeds, she is assigned three roles:
+"role2" and "role3", the values of the "memberOf" attribute in her
+directory entry, and "tomcat", the value of the "cn" attribute in the
+only group entry of which she is a member.</p>
+
+<p>Finally, to authenticate the user by retrieving
+the password from the directory and making a local comparison in the
+realm, you might use a realm configuration like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+    connectionName="cn=Manager,dc=mycompany,dc=com"
+connectionPassword="secret"
+     connectionURL="ldap://localhost:389"
+      userPassword="userPassword"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>However, as discussed above, the default bind mode for
+authentication is usually to be preferred.</p>
+
+<h3>Additional Notes</h3>
+
+<p>JNDIRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the directory
+    (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the directory
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the directory server
+    is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MemoryRealm"><strong>MemoryRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>MemoryRealm</strong> is a simple demonstration implementation of the
+Tomcat 5 <code>Realm</code> interface.  It is not designed for production use.
+At startup time, MemoryRealm loads information about all users, and their
+corresponding roles, from an XML document (by default, this document is loaded from <code>$CATALINA_HOME/conf/tomcat-users.xml</code>).  Changes to the data
+in this file are not recognized until Tomcat is restarted.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a MemoryRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>User File Format</h3>
+
+<p>The users file (by default, <code>conf/tomcat-users.xml</code> must be an
+XML document, with a root element <code>&lt;tomcat-users&gt;</code>.  Nested
+inside the root element will be a <code>&lt;user&gt;</code> element for each
+valid user, consisting of the following attributes:</p>
+<ul>
+<li><strong>name</strong> - Username this user must log on with.</li>
+<li><strong>password</strong> - Password this user must log on with (in
+    clear text if the <code>digest</code> attribute was not set on the
+    <code>&lt;Realm&gt;</code> element, or digested appropriately as
+    described <a href="#Digested Passwords">here</a> otherwise).</li>
+<li><strong>roles</strong> - Comma-delimited list of the role names
+    associated with this user.</li>
+</ul>
+
+<h3>Example</h3>
+
+<p>The default contents of the
+<code>conf/tomcat-users.xml</code> file is:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;tomcat-users&gt;
+  &lt;user name="tomcat" password="tomcat" roles="tomcat" /&gt;
+  &lt;user name="role1"  password="tomcat" roles="role1"  /&gt;
+  &lt;user name="both"   password="tomcat" roles="tomcat,role1" /&gt;
+&lt;/tomcat-users&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>MemoryRealm operates according to the following rules:</p>
+<ul>
+<li>When Tomcat first starts up, it loads all defined users and their
+    associated information from the users file.  Changes to the data in
+    this file will <strong>not</strong> be recognized until Tomcat is
+    restarted.</li>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations.</li>
+<li>Administering the information in the users file is the responsibility
+    of your application.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="UserDatabaseRealm"><strong>UserDatabaseRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>UserDatabaseRealm</strong> is an implementation of the
+Tomcat <code>Realm</code> interface. Information about all users, and their
+corresponding roles, is obtained from a JNDI resource that implements the
+<code>UserDatabase</code> interface.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a UserDatabaseRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>The default installation of Tomcat 5 is configured with a
+UserDatabaseRealm nested inside the <code>&lt;Engine&gt;</code> element, so that
+it applies to all virtual hosts and web applications. This realm uses the
+same <code>tomcat-users.xml</code> as the MemoryRealm.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JAASRealm"><strong>JAASRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+        <p><strong>JAASRealm</strong> is an implementation of the Tomcat
+4 <code>Realm</code> interface that authenticates users through the Java
+Authentication &amp; Authorization Service (JAAS) framework, a Java
+package that is available as an optional package in Java 2 SDK 1.3 and
+is fully integrated as of SDK 1.4 .</p>
+        <p>Using JAASRealm gives the developer the ability to combine
+practically any conceivable security realm with Tomcat's CMA. </p>
+        <p>JAASRealm is prototype for Tomcat of the proposed JAAS-based
+J2EE authentication framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification
+Request 196</a> to enhance container-managed security and promote
+'pluggable' authentication mechanisms whose implementations would be
+container-independent.
+        </p>
+        <p>Based on the JAAS login module and principal (see <code>javax.security.auth.spi.LoginModule</code>
+and <code>javax.security.Principal</code>), you can develop your own
+security mechanism or wrap another third-party mechanism for
+integration with the CMA as implemented by Tomcat.
+        </p>
+
+        <h3>Quick Start</h3>
+        <p>To set up Tomcat to use JAASRealm with your own JAAS login module,
+ you will need to follow these steps:</p>
+        <ol>
+          <li>Write your own LoginModule, User and Role classes based
+on JAAS (see 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/GeneralAcnOnly.html">the
+JAAS Authentication Tutorial</a> and 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/JAASLMDevGuide.html">the JAAS Login Module 
+Developer's Guide</a>) to be managed by the JAAS Login
+Context (<code>javax.security.auth.login.LoginContext</code>)
+When developing your LoginModule, note that JAASRealm's built-in <code>CallbackHandler</code>
++only recognizes the <code>NameCallback</code> and <code>PasswordCallback</code> at present.
+          </li>
+          <li>Although not specified in JAAS, you should create
+seperate classes to distinguish between users and roles, extending <code>javax.security.Principal</code>,
+so that Tomcat can tell which Principals returned from your login
+module are users and which are roles (see <code>org.apache.catalina.realm.JAASRealm</code>).
+Regardless, the first Principal returned is <em>always</em> treated as the user Principal.
+          </li>
+          <li>Place the compiled classes on Tomcat's classpath
+          </li>
+          <li>Set up a login.config file for Java (see <a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS
+LoginConfig file</a>) and tell Tomcat where to find it by specifying
+its location to the JVM, for instance by setting the environment
+variable: <code>JAVA_OPTS=-DJAVA_OPTS=-Djava.security.auth.login.config==$CATALINA_HOME/conf/jaas.config</code></li>
+
+          <li>Configure your security-constraints in your web.xml for
+the resources you want to protect</li>
+          <li>Configure the JAASRealm module in your server.xml </li>
+          <li>Restart Tomcat 5 if it is already running.</li>
+        </ol>
+
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JAASRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="../config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>Here is an example of how your server.xml snippet should look.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JAASRealm"                 
+                appName="MyFooRealm"       
+    userClassNames="org.foobar.realm.FooUser"       
+     roleClassNames="org.foobar.realm.FooRole" 
+                      debug="99"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>It is the responsibility of your login module to create and save User and 
+Role objects representing Principals for the user 
+(<code>javax.security.auth.Subject</code>). If your login module doesn't 
+create a user object but also doesn't throw a login exception, then the 
+Tomcat CMA will break and you will be left at the 
+http://localhost:8080/myapp/j_security_check URI or at some other 
+unspecified location.</p>
+
+        <p>The flexibility of the JAAS approach is two-fold: </p>
+        <ul>
+          <li>you can carry out whatever processing you require behind
+the scenes in your own login module.</li>
+          <li>you can plug in a completely different LoginModule by changing the configuration 
+and restarting the server, without any code changes to your application.</li>
+        </ul>
+
+        <h3>Additional Notes</h3>
+        <ul>
+          <li>When a user attempts to access a protected resource for
+              the first time, Tomcat 5 will call the <code>authenticate()</code>
+              method of this <code>Realm</code>.  Thus, any changes you have made in
+              the security mechanism directly (new users, changed passwords or
+              roles, etc.) will be immediately reflected.</li>
+          <li>Once a user has been authenticated, the user (and his or
+              her associated roles) are cached within Tomcat for the duration of
+              the user's login.  For FORM-based authentication, that means until
+              the session times out or is invalidated; for BASIC authentication,
+              that means until the user closes their browser.  Any changes to the
+              security information for an already authenticated user will <strong>not</strong>
+              be reflected until the next time that user logs on again.</li>
+          <li>As with other <code>Realm</code> implementations, digested passwords
+              are supported if the <code>&lt;Realm&gt;</code> element in <code>server.xml</code>
+              contains a <code>digest</code> attribute; JAASRealm's <code>CallbackHandler</code>
+              will digest the password prior to passing it back to the <code>LoginModule</code></li>  
+        </ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/security-manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/security-manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/security-manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,356 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Security Manager HOW-TO</title><meta value="Glenn Nielsen" name="author"><meta value="glenn at voyager.apg.more.net" name="email"><meta value="Jean-Francois Arcand" name="author"><meta value="jeanfrancois.arcand at sun.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Security Manager HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The Java <strong>SecurityManager</strong> is what allows a web browser
+  to run an applet in its own sandbox to prevent untrusted code from
+  accessing files on the local file system, connecting to a host other
+  than the one the applet was loaded from, and so on.  In the same way
+  the SecurityManager protects you from an untrusted applet running in
+  your browser, use of a SecurityManager while running Tomcat can protect
+  your server from trojan servlets, JSPs, JSP beans, and tag libraries.
+  Or even inadvertent mistakes.</p>
+
+  <p>Imagine if someone who is authorized to publish JSPs on your site
+  inadvertently included the following in their JSP:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;% System.exit(1); %&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>Every time this JSP was executed by Tomcat, Tomcat would exit.
+  Using the Java SecurityManager is just one more line of defense a
+  system administrator can use to keep the server secure and reliable.</p>
+
+  <p><strong>WARNING</strong> - A security audit
+  have been conducted using the Tomcat 5 codebase. Most of the critical
+  package have been protected and a new security package protection mechanism 
+  has been implemented. Still, make sure that you are satisfied with your SecurityManager 
+  configuration before allowing untrusted users to publish web applications, 
+  JSPs, servlets, beans, or tag libraries.  <strong>However, running with a 
+  SecurityManager is definitely better than running without one.</strong></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Permissions"><strong>Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Permission classes are used to define what Permissions a class loaded
+  by Tomcat will have.  There are a number of Permission classes that are
+  a standard part of the JDK, and you can create your own Permission class
+  for use in your own web applications.  Both techniques are used in
+  Tomcat 5.</p>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Permissions"><strong>Standard Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>This is just a short summary of the standard system SecurityManager
+    Permission classes applicable to Tomcat.  See
+    <a href="http://java.sun.com/security/">http://java.sun.com/security/</a>
+    for more information.</p>
+
+    <ul>
+    <li><strong>java.util.PropertyPermission</strong> - Controls read/write
+        access to JVM properties such as <code>java.home</code>.</li>
+    <li><strong>java.lang.RuntimePermission</strong> - Controls use of
+        some System/Runtime functions like <code>exit()</code> and
+        <code>exec()</code>. Also control the package access/definition.</li>
+    <li><strong>java.io.FilePermission</strong> - Controls read/write/execute
+        access to files and directories.</li>
+    <li><strong>java.net.SocketPermission</strong> - Controls use of
+        network sockets.</li>
+    <li><strong>java.net.NetPermission</strong> - Controls use of
+        multicast network connections.</li>
+    <li><strong>java.lang.reflect.ReflectPermission</strong> - Controls
+        use of reflection to do class introspection.</li>
+    <li><strong>java.security.SecurityPermission</strong> - Controls access
+        to Security methods.</li>
+    <li><strong>java.security.AllPermission</strong> - Allows access to all
+        permissions, just as if you were running Tomcat without a
+        SecurityManager.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Custom Permissions"><strong>Tomcat Custom Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat utilizes a custom permission class called
+    <strong>org.apache.naming.JndiPermission</strong>.  This permission
+    controls read access to JNDI named file based resources.  The permission
+    name is the JNDI name and there are no actions.  A trailing "*" can be
+    used to do wild card matching for a JNDI named file resource when
+    granting permission.  For example, you might include the following
+    in your policy file:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+permission  org.apache.naming.JndiPermission  "jndi://localhost/examples/*";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>A Permission entry like this is generated dynamically for each web
+    application that is deployed, to allow it to read its own static resources
+    but disallow it from using file access to read any other files (unless
+    permissions for those files are explicitly granted).</p>
+
+    <p>Also, Tomcat always dynamically creates the following file permission:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+permission java.io.FilePermission "** your application context**", "read";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>  
+    <p>Where **your application context** equals the folder(or WAR file) under which 
+    your application has been deployed. </p>  
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat With A SecurityManager"><strong>Configuring Tomcat With A SecurityManager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Policy File Format</h3>
+
+  <p>The security policies implemented by the Java SecurityManager are
+  configured in the <code>$CATALINA_HOME/conf/catalina.policy</code> file.
+  This file completely replaces the <code>java.policy</code> file present
+  in your JDK system directories.  The <code>catalina.policy</code> file
+  can be edited by hand, or you can use the
+  <a href="http://java.sun.com/products/jdk/1.2/docs/tooldocs/solaris/policytool.html">policytool</a>
+  application that comes with Java 1.2 or later.</p>
+
+  <p>Entries in the <code>catalina.policy</code> file use the standard
+  <code>java.policy</code> file format, as follows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Example policy file entry
+
+grant [signedBy &lt;signer&gt;,] [codeBase &lt;code source&gt;] {
+  permission  &lt;class&gt;  [&lt;name&gt; [, &lt;action list&gt;]];
+};
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>The <strong>signedBy</strong> and <strong>codeBase</strong> entries are
+  optional when granting permissions.  Comment lines begin with "//" and
+  end at the end of the current line.  The <code>codeBase</code> is in the
+  form of a URL, and for a file URL can use the <code>${java.home}</code>
+  and <code>${catalina.home}</code> properties (which are expanded out to
+  the directory paths defined for them by the <code>JAVA_HOME</code> and
+  <code>CATALINA_HOME</code> environment variables).</p>
+
+  <h3>The Default Policy File</h3>
+
+  <p>The default <code>$CATALINA_HOME/conf/catalina.policy</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 5
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: security-manager-howto.xml 301460 2003-01-15 03:40:45Z glenn $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the launcher code
+grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "common" directory
+grant codeBase "file:${catalina.home}/common/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the container's core code, plus any additional
+// libraries installed in the "server" directory
+grant codeBase "file:${catalina.home}/server/-" {
+        permission java.security.AllPermission;
+};
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+        // Required for JNDI lookup of named JDBC DataSource's and
+        // javamail named MimePart DataSource used to send mail
+        permission java.util.PropertyPermission "java.home", "read";
+        permission java.util.PropertyPermission "java.naming.*", "read";
+        permission java.util.PropertyPermission "javax.sql.*", "read";
+
+        // OS Specific properties to allow read access
+	permission java.util.PropertyPermission "os.name", "read";
+	permission java.util.PropertyPermission "os.version", "read";
+	permission java.util.PropertyPermission "os.arch", "read";
+	permission java.util.PropertyPermission "file.separator", "read";
+	permission java.util.PropertyPermission "path.separator", "read";
+	permission java.util.PropertyPermission "line.separator", "read";
+
+        // JVM properties to allow read access
+        permission java.util.PropertyPermission "java.version", "read";
+        permission java.util.PropertyPermission "java.vendor", "read";
+        permission java.util.PropertyPermission "java.vendor.url", "read";
+        permission java.util.PropertyPermission "java.class.version", "read";
+	permission java.util.PropertyPermission "java.specification.version", "read";
+	permission java.util.PropertyPermission "java.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.specification.name", "read";
+
+	permission java.util.PropertyPermission "java.vm.specification.version", "read";
+	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.specification.name", "read";
+	permission java.util.PropertyPermission "java.vm.version", "read";
+	permission java.util.PropertyPermission "java.vm.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.name", "read";
+
+        // Required for getting BeanInfo
+        permission java.lang.RuntimePermission "accessClassInPackage.sun.beans.*";
+
+        // Required for OpenJMX
+        permission java.lang.RuntimePermission "getAttribute";
+
+	// Allow read of JAXP compliant XML parser debug
+	permission java.util.PropertyPermission "jaxp.debug", "read";
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <h3>Starting Tomcat With A SecurityManager</h3>
+
+  <p>Once you have configured the <code>catalina.policy</code> file for use
+  with a SecurityManager, Tomcat can be started with a SecurityManager in
+  place by using the "-security" option:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/bin/catalina.sh start -security    (Unix)
+%CATALINA_HOME%\bin\catalina start -security      (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Package Protection in Tomcat"><strong>Configuring Package Protection in Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+  <p>Starting with Tomcat 5, it is now possible to configure which Tomcat
+  internal package are protected againts package definition and access. See
+  <a href="http://java.sun.com/security/seccodeguide.html">
+    http://java.sun.com/security/seccodeguide.html</a>
+    for more information.</p>    
+
+  
+  <p><strong>WARNING</strong>: Be aware that removing the default package protection 
+  could possibly open a security hole</p>
+
+  <h3>The Default Properties File</h3>
+
+  <p>The default <code>$CATALINA_HOME/conf/catalina.properties</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,
+org.apache.jasper.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,
+org.apache.tomcat.,org.apache.jasper.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  <p>Once you have configured the <code>catalina.properties</code> file for use
+  with a SecurityManager, remember to re-start Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If your web application attempts to execute an operation that is
+  prohibited by lack of a required Permission, it will throw an
+  <code>AccessControLException</code> or a <code>SecurityException</code>
+  when the SecurityManager detects the violation.  Debugging the permission
+  that is missing can be challenging, and one option is to turn on debug
+  output of all security decisions that are made during execution.  This
+  is done by setting a system property before starting Tomcat.  The easiest
+  way to do this is via the <code>CATALINA_OPTS</code> environment variable.
+  Execute this command:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+export CATALINA_OPTS=-Djava.security.debug=all    (Unix)
+set CATALINA_OPTS=-Djava.security.debug=all       (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+  <p>before starting Tomcat.</p>
+
+  <p><strong>WARNING</strong> - This will generate <em>many megabytes</em>
+  of output!  However, it can help you track down problems by searching
+  for the word "FAILED" and determining which permission was being checked
+  for.  See the Java security documentation for more options that you can
+  specify here as well.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/setup.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/setup.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/setup.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Setup</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Setup</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document introduces several ways to set up Tomcat for running
+      on different platforms.  Please note that some advanced setup issues
+      are not covered here: the full distribution (ZIP file or tarball) 
+      includes a file called
+      RUNNING.txt which discusses these issues.  We encourage you to refer
+      to it if the information below does not answer some of your questions.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      Installing Tomcat on Windows can be done easily using the Windows 
+      installer. Its interface and functionality is similar to other wizard
+      based installers, with only a few items of interest.
+    </p>
+
+    <p>
+      <ul>
+        <li><strong>Installation as a service</strong>: Tomcat will be 
+            installed as a Windows
+            NT/2k/XP service no matter what setting is selected. Using the
+            checkbox on the component page sets the service as "auto"
+            startup, so that Tomcat is automatically started when Windows
+            starts. For optimal security, the service should be run as a
+            separate user, with reduced permissions (see the Windows Services
+            administration tool and its documentation).</li>
+        <li><strong>Java location</strong>: The installer will use the registry
+            or the JAVA_HOME environment variable to determine the base path
+            of a J2SE 5 JRE.
+            </li>
+        <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
+            will be a tray icon visible.  Note that
+            when choosing to run Tomcat at the end of installation, the tray
+            icon will be loaded at the same time.</li>
+        <li>Refer to the
+            <a href="windows-service-howto.html">Windows Service HOW-TO</a>
+            for information on how to manage Tomcat as Windows NT service.
+            </li>            
+      </ul>
+    </p>
+
+    <p>The installer will create shortcuts allowing starting and configuring 
+       Tomcat. It is important to note that the Tomcat administration web 
+       application can only be used when Tomcat is running.</p>
+
+    <p>If using a J2SE 1.4 JRE, the compatibility package must be downloaded and
+       expanded inside the folder where Tomcat was installed.</p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Unix daemon"><strong>Unix daemon</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat can be run as a daemon using the jsvc tool from the 
+       commons-daemon project. Source tarballs for jsvc are included with the
+       Tomcat binaries, and need to be compiled. Building jsvc requires
+       a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.</p>
+
+    <p>Before running the script, the <code>JAVA_HOME</code> environment
+       variable should be set to the base path of the JDK. Alternately, when
+       calling the <code>./configure</code> script, the path of the JDK may
+       be specified using the <code>--with-java</code> parameter, such as
+       <code>./configure --with-java=/usr/java</code>.</p>
+
+    <p>Using the following commands should result in a compiled jsvc binary,
+       located in the <code>$CATALINA_HOME/bin</code> folder. This assumes
+       that GNU TAR is used, and that <code>CATALINA_HOME</code> is an 
+       environment variable pointing to the base path of the Tomcat 
+       installation.</p>
+  
+    <p>Please note that you should use the GNU make (gmake) instead of
+       the native BSD make on FreeBSD systems.</p>
+
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME/bin
+    tar xvfz jsvc.tar.gz
+    cd jsvc-src
+    autoconf
+    ./configure
+    make
+    cp jsvc ..
+    cd ..
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>Tomcat can then be run as a daemon using the following commands.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME
+    ./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
+        -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
+        org.apache.catalina.startup.Bootstrap
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+    <p>jsvc has other useful parameters, such as <code>-user</code> which 
+       causes it to switch to another user after the daemon initialization is
+       complete. This allows, for example, running Tomcat as a non privileged
+       user while still being able to use privileged ports. 
+       <code>jsvc --help</code> will return the full jsvc usage 
+       information. In particular, the <code>-debug</code> option is useful
+       to debug issues running jsvc.</p>
+
+    <p>The file <code>$CATALINA_HOME/bin/jsvc/native/tomcat.sh</code> can be 
+       used as a template for starting Tomcat automatically at boot time from 
+       <code>/etc/init.d</code>.  The file is currently setup for running 
+       Tomcat 4.1.x, so it is necessary to edit it and change the classname 
+       from <code>BootstrapService</code> to <code>Bootstrap</code>.</p>
+
+    <p>Note that the Commons-Daemon JAR file must be on your runtime classpath 
+       to run Tomcat in this manner.  The Commons-Daemon JAR file is in the Class-Path 
+       entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException 
+       or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon 
+       JAR to the -cp argument when launching jsvc.</p> 
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssi-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssi-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssi-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,348 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - SSI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>SSI How To</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSI (Server Side Includes) are directives that are placed in HTML pages,
+and evaluated on the server while the pages are being served. They let you
+add dynamically generated content to an existing HTML page, without having
+to serve the entire page via a CGI program, or other dynamic technology.
+</p>
+
+<p>Within Tomcat SSI support can be added when using Tomcat as your
+HTTP server and you require SSI support.  Typically this is done
+during development when you don't want to run a web server like Apache.</p>
+
+<p>Tomcat SSI support implements the same SSI directives as Apache.  See the
+<a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for information on using SSI directives.</p>
+
+<p>SSI support is available as a servlet and as a filter. You should use one
+or the other to provide SSI support but not both.</p>
+
+<p>Servlet based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIServlet</code>.  Traditionally, this servlet
+is mapped to the URL pattern "*.shtml".</p>
+
+<p>Filter based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIFilter</code>.  Traditionally, this filter
+is mapped to the URL pattern "*.shtml", though it can be mapped to "*" as
+it will selectively enable/disable SSI processing based on mime types.  The
+contentType init param allows you to apply SSI processing to JSP pages,
+javascript, or any other content you wish.</p>
+<p>By default SSI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - SSI directives can be used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code>
+</p>
+
+<p>Rename <code>$CATALINA_BASE/server/lib/servlets-ssi.renametojar</code>
+to <code>$CATALINA_BASE/server/lib/servlets-ssi.jar</code>.</p>
+
+<p>To use the SSI servlet, remove the XML comments from around the SSI servlet
+and servlet-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>To use the SSI filter, remove the XML comments from around the SSI filter
+and filter-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Servlet Configuration"><strong>Servlet Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the SSI servlet.
+<ul>
+<li><strong>buffered</strong> - Should output from this servlet be buffered?
+(0=false, 1=true) Default 0 (false).</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+<li><strong>inputEncoding</strong> - The encoding to be assumed for SSI
+resources if one cannot be determined from the resource itself. Default is
+the default platform encoding.</li>
+<li><strong>outputEncoding</strong> - The encoding to be used for the result
+of the SSI processing. Default is UTF-8.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Filter Configuration"><strong>Filter Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several filter init parameters which can be used to
+configure the behaviour of the SSI filter.
+<ul>
+<li><strong>contentType</strong> - A regex pattern that must be matched before
+SSI processing is applied. When crafting your own pattern, don't forget that a
+mime content type may be followed by an optional character set in the form
+"mime/type; charset=set" that you must take into account.  Default is
+"text/x-server-parsed-html(;.*)?".</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directives"><strong>Directives</strong></a></font></td></tr><tr><td><blockquote>
+<p>Server Side Includes are invoked by embedding SSI directives in an HTML document
+ whose type will be processed by the SSI servlet. The directives take the form of an HTML
+ comment. The directive is replaced by the results of interpreting it before sending the
+ page to the client. The general form of a directive is: </p>
+<p> <code>&lt;!--#directive [parm=value] --&gt;</code></p>
+<p>The directives are:
+<ul>
+<li>
+<strong>config</strong> - <code>&lt;!--#config timefmt="%B %Y" --&gt;</code>
+Used to set the format of dates and other items processed by SSI
+</li>
+<li>
+<strong>echo</strong> -   <code>&lt;!--#echo var="VARIABLE_NAME" --&gt;</code>
+will be replaced bt the value of the variable.
+</li>
+<li>
+<strong>exec</strong> -  Used to run commands on the host system.
+</li>
+<li>
+<strong>include</strong> -  <code>&lt;!--#include virtual="file-name" --&gt;</code>
+inserts the contents
+</li>
+<li>
+<strong>flastmod</strong> - <code>&lt;!--#flastmod file="filename.shtml" --&gt;</code>
+Returns the time that a file was lost modified.
+</li>
+<li>
+<strong>fsize</strong> - <code>&lt;!--#fsize file="filename.shtml" --&gt;</code>
+Returns the size of a file.
+</li>
+<li>
+<strong>printenv</strong> - <code>&lt;!--#printenv --&gt;</code>
+Returns the list of all the defined variables.
+</li>
+<li>
+<strong>set</strong> - <code>&lt;!--#set var="foo" value="Bar" --&gt;</code>
+is used to assign a value to a user-defind variable.
+</li>
+<li>
+<strong>if elif endif else</strong> - Used to create conditional sections. For example:</li>
+<code>&lt;!--#config timefmt="%A" --&gt;<br>
+  &lt;!--#if expr="$DATE_LOCAL = /Monday/" --&gt;<br>
+  &lt;p&gt;Meeting at 10:00 on Mondays&lt;/p&gt;<br>
+  &lt;!--#elif expr="$DATE_LOCAL = /Friday/" --&gt;<br>
+  &lt;p&gt;Turn in your time card&lt;/p&gt;<br>
+  &lt;!--#else --&gt;<br>
+  &lt;p&gt;Yoga class at noon.&lt;/p&gt;<br>
+  &lt;!--#endif --&gt;</code>
+ </ul>
+</p>
+See the
+<p> <a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for more information on using SSI directives.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Variables"><strong>Variables</strong></a></font></td></tr><tr><td><blockquote>
+<p>The SSI servlet currently implements the following variables:
+</p>
+<table border="1">
+<tr>
+<th>Variable Name</th>
+<th>Description</th>
+</tr>
+
+<tr>
+<td>AUTH_TYPE</td>
+<td>
+  The type of authentication used for this user: BASIC, FORM, etc.</td>
+</tr>
+
+<tr>
+<td>CONTENT_LENGTH</td>
+<td>
+  The length of the data (in bytes or the number of 
+  characters) passed from a form.</td>
+</tr>
+
+<tr>
+<td>CONTENT_TYPE</td>
+<td>
+  The MIME type of the query data, such as "text/html".</td>
+</tr>
+
+<tr>
+<td>DATE_GMT</td>
+<td>
+Current date and time in GMT</td>
+</tr>
+
+<tr>
+<td>DATE_LOCAL</td>
+<td>
+Current date and time in the local time zone</td>
+</tr>
+<tr>
+<td>DOCUMENT_NAME</td>
+<td>
+The current file</td>
+</tr>
+<tr>
+<td>DOCUMENT_URI</td>
+<td>
+Virtual path to the file</td>
+</tr>
+
+<tr>
+<td>GATEWAY_INTERFACE</td>
+<td>
+  The revision of the Common Gateway Interface that the 
+  server uses if enabled: "CGI/1.1".</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT</td>
+<td>
+  A list of the MIME types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_ENCODING</td>
+<td>
+  A list of the compression types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_LANGUAGE</td>
+<td>
+  A list of the laguages that the client can accept.</td>
+</tr>
+<tr>
+<td>HTTP_CONNECTION</td>
+<td>
+  The way that the connection from the client is being managed:
+  "Close" or "Keep-Alive".</td>
+</tr>
+<tr>
+<td>HTTP_HOST</td>
+<td>
+  The web site that the client requested.</td>
+</tr>
+<tr>
+<td>HTTP_REFERER</td>
+<td>
+  The URL of the document that the client linked from.</td>
+</tr>
+<tr>
+<td>HTTP_USER_AGENT</td>
+<td>
+  The browser the client is using to issue the request.</td>
+</tr>
+<tr>
+<td>LAST_MODIFIED</td>
+<td>
+Last modification date and time for current file</td>
+</tr>
+<tr>
+<td>PATH_INFO</td>
+<td>
+  Extra path information passed to a servlet.</td>
+</tr>
+<tr>
+<td>PATH_TRANSLATED</td>
+<td>
+  The translated version of the path given by the
+  variable PATH_INFO.</td>
+</tr>
+<tr>
+<td>QUERY_STRING</td>
+<td>
+The query string that follows the "?" in the URL.
+</td>
+</tr>
+<tr>
+<td>QUERY_STRING_UNESCAPED</td>
+<td>
+Undecoded query string with all shell metacharacters escaped 
+with "\"</td>
+</tr>
+<tr>
+<td>REMOTE_ADDR</td>
+<td>
+  The remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_HOST</td>
+<td>
+  The remote hostname of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_PORT</td>
+<td>
+  The port number at remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_USER</td>
+<td>
+  The authenticated name of the user.</td>
+</tr>
+<tr>
+<td>REQUEST_METHOD</td>
+<td>
+  The method with which the information request was
+  issued: "GET", "POST" etc.</td>
+</tr>
+<tr>
+<td>REQUEST_URI</td>
+<td>
+  The web page originally requested by the client.</td>
+</tr>
+<tr>
+<td>SCRIPT_FILENAME</td>
+<td>
+  The location of the current web page on the server.</td>
+</tr>
+<tr>
+<td>SCRIPT_NAME</td>
+<td>
+  The name of the web page.</td>
+</tr>
+<tr>
+<td>SERVER_ADDR</td>
+<td>
+  The server's IP address.</td>
+</tr>
+<tr>
+<td>SERVER_NAME</td>
+<td>
+  The server's hostname or IP address.</td>
+</tr>
+<tr>
+<td>SERVER_PORT</td>
+<td>
+  The port on which the server received the request.</td>
+</tr>
+<tr>
+<td>SERVER_PROTOCOL</td>
+<td>
+  The protocol used by the server. E.g. "HTTP/1.1".</td>
+</tr>
+<tr>
+<td>SERVER_SOFTWARE</td>
+<td>
+  The name and version of the server software that is 
+  answering the client request.</td>
+</tr>
+<tr>
+<td>UNIQUE_ID</td>
+<td>
+  A token used to identify the current session if one
+  has been established.</td>
+</tr>
+</table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssl-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssl-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/ssl-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,541 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO</title><meta value="Christopher Cain" name="author"><meta value="ccain at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>SSL Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+   <p><b>IMPORTANT NOTE: This Howto refers to usage of JSSE. When using APR, Tomcat will
+   use OpenSSL, which uses a different configuration.</b></p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>To install and configure SSL support on Tomcat 5, you need to follow
+these simple steps.  For more information, read the rest of this HOW-TO.</p>
+<ol>
+<li>If you are running a 1.3 JVM, download JSSE 1.0.3 (or later) from
+   <a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a>
+   and either make it an <em>installed extension</em> on the system, or else
+   set an environment variable <code>JSSE_HOME</code> that points at the
+   directory into which you installed JSSE.  </li><br><br>
+<li>Create a certificate keystore by executing the following command:
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p></p>
+    and specify a password value of "changeit".</li><br><br>
+<li>Uncomment the "SSL HTTP/1.1 Connector" entry in
+    <code>$CATALINA_HOME/conf/server.xml</code> and tweak as necessary.</li>
+    <br><br>
+</ol>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction to SSL"><strong>Introduction to SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSL, or Secure Socket Layer, is a technology which allows web browsers and
+web servers to communicate over a secured connection.  This means that the data
+being sent is encrypted by one side, transmitted, then decrypted by the other
+side before processing.  This is a two-way process, meaning that both the
+server AND the browser encrypt all traffic before sending out data.</p>
+
+<p>Another important aspect of the SSL protocol is Authentication.  This means
+that during your initial attempt to communicate with a web server over a secure
+connection, that server will present your web browser with a set of
+credentials, in the form of a "Certificate", as proof the site is who and what
+it claims to be.  In certain cases, the server may also request a Certificate
+from your web browser, asking for proof that <em>you</em> are who you claim
+to be.  This is known as "Client Authentication," although in practice this is
+used more for business-to-business (B2B) transactions than with individual
+users.  Most SSL-enabled web servers do not request Client Authentication.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL and Tomcat"><strong>SSL and Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>It is important to note that configuring Tomcat to take advantage of
+secure sockets is usually only necessary when running it as a stand-alone
+web server.  When running Tomcat primarily as a Servlet/JSP container behind
+another web server, such as Apache or Microsoft IIS, it is usually necessary
+to configure the primary web server to handle the SSL connections from users.
+Typically, this server will negotiate all SSL-related functionality, then
+pass on any requests destined for the Tomcat container only after decrypting
+those requests.  Likewise, Tomcat will return cleartext responses, that will
+be encrypted before being returned to the user's browser.  In this environment,
+Tomcat knows that communications between the primary web server and the
+client are taking place over a secure connection (because your application
+needs to be able to ask about this), but it does not participate in the
+encryption or decryption itself.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Certificates"><strong>Certificates</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to implement SSL, a web server must have an associated Certificate
+for each external interface (IP address) that accepts secure connections.
+The theory behind this design is that a server should provide some kind of
+reasonable assurance that its owner is who you think it is, particularly
+before receiving any sensitive information.  While a broader explanation of
+Certificates is beyond the scope of this document, think of a Certificate
+as a "digital driver's license" for an Internet address.  It states what
+company the site is associated with, along with some basic contact
+information about the site owner or administrator.</p>
+
+<p>This "driver's license" is cryptographically signed by its owner, and is
+therefore extremely difficult for anyone else to forge.  For sites involved
+in e-commerce, or any other business transaction in which authentication of
+identity is important, a Certificate is typically purchased from a well-known
+<em>Certificate Authority</em> (CA) such as VeriSign or Thawte.  Such
+certificates can be electronically verified -- in effect, the Certificate
+Authority will vouch for the authenticity of the certificates that it grants,
+so you can believe that that Certificate is valid if you trust the Certificate
+Authority that granted it.</p>
+
+<p>In many cases, however, authentication is not really a concern.  An
+administrator may simply want to ensure that the data being transmitted and
+received by the server is private and cannot be snooped by anyone who may be
+eavesdropping on the connection.  Fortunately, Java provides a relatively
+simple command-line tool, called <code>keytool</code>, which can easily create
+a "self-signed" Certificate.  Self-signed Certificates are simply user
+generated Certificates which have not been officially registered with any
+well-known CA, and are therefore not really guaranteed to be authentic at all.
+Again, this may or may not even be important, depending on your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General Tips on Running SSL"><strong>General Tips on Running SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first time a user attempts to access a secured page on your site,
+he or she is typically presented with a dialog containing the details of
+the certificate (such as the company and contact name), and asked if he or she
+wishes to accept the Certificate as valid and continue with the transaction.
+Some browsers will provide an option for permanently accepting a given
+Certificate as valid, in which case the user will not be bothered with a
+prompt each time they visit your site.  Other browsers do not provide this
+option.  Once approved by the user, a Certificate will be considered valid
+for at least the entire browser session.</p>
+
+<p>Also, while the SSL protocol was designed to be as efficient as securely
+possible, encryption/decryption is a computationally expensive process from
+a performance standpoint.  It is not strictly necessary to run an entire
+web application over SSL, and indeed a developer can pick and choose which
+pages require a secure connection and which do not.  For a reasonably busy
+site, it is customary to only run certain pages under SSL, namely those
+pages where sensitive information could possibly be exchanged.  This would
+include things like login pages, personal information pages, and shopping
+cart checkouts, where credit card information could possibly be transmitted.
+Any page within an application can be requested over a secure socket by
+simply prefixing the address with <code>https:</code> instead of
+<code>http:</code>.  Any pages which absolutely <strong>require</strong>
+a secure connection should check the protocol type associated with the
+page request and take the appropriate action if <code>https</code> is not
+specified.</p>
+
+<p>Finally, using name-based virtual hosts on a secured connection can be
+problematic.  This is a design limitation of the SSL protocol itself.  The SSL
+handshake, where the client browser accepts the server certificate, must occur
+before the HTTP request is accessed.  As a result, the request information
+containing the virtual host name cannot be determined prior to authentication,
+and it is therefore not possible to assign multiple certificates to a single
+IP address.  If all virtual hosts on a single IP address need to authenticate
+against the same certificate, the addition of multiple virtual hosts should not
+interfere with normal SSL operations on the server.  Be aware, however, that
+most client browsers will compare the server's domain name against the domain
+name listed in the certificate, if any (applicable primarily to official,
+CA-signed certificates).  If the domain names do not match, these browsers will
+display a warning to the client user.  In general, only address-based virtual
+hosts are commonly used with SSL in a production environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download and Install JSSE (if needed)"><strong>Download and Install JSSE (if needed)</strong></a></font></td></tr><tr><td><blockquote>
+<p>Note that JSSE is bundled with Sun's JDK 1.4 and later, so if you're using
+JDK 1.4 and later, you can skip this step.</p>
+
+
+<p>Download the <em>Java Secure Socket Extensions</em> (JSSE) package,
+version 1.0.3 or later, from
+<a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a>.
+If you built Tomcat from source, you have probably already downloaded this
+package.</p>
+
+<p>After expanding the package, there are two ways to make it available to
+Tomcat (choose one or the other):</p>
+<ul>
+<li>Make JSSE an <em>installed extension</em> by copying all three JAR files
+    (<code>jcert.jar</code>, <code>jnet.jar</code>, and <code>jsse.jar</code>)
+    into your <code>$JAVA_HOME/jre/lib/ext</code> directory.</li>
+<li>Create a new environment variable <code>JSSE_HOME</code> that contains
+    the absolute path to the directory into which you unpacked the
+    JSSE binary distribution.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Prepare the Certificate Keystore"><strong>Prepare the Certificate Keystore</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat currently operates with <code>JKS</code>, <code>PKCS11</code> or
+<code>PKCS12</code> format keystores.  The <code>JKS</code> format
+is Java's standard "Java KeyStore" format, and is the format created by the
+<code>keytool</code> command-line utility.  This tool is included in the JDK.
+The <code>PKCS12</code> format is an internet standard, and can be manipulated
+via (among other things) OpenSSL and Microsoft's Key-Manager.
+</p>
+
+<p>Each entry in a keystore is identified by an alias string. Whilst many
+keystore implmentations treat alaises in a case insensitive manner, case
+sensitive implementations are available. The <code>PKCS11</code> specification,
+for example, requires that aliases are case sensitive. To avoid issues related
+to the case sensitivity of aliaises, it is not recommended to use aliases that
+differ only in case.
+</p>
+
+<p>To import an existing certificate into a JKS keystore, please read the
+documentation (in your JDK documentation package) about <code>keytool</code>.
+Note that openssl often adds a readable comments before the key, <code>keytool</code>does not support that, so remove the openssl comments if they exist before importing the key using <code>keytool</code>.
+</p>
+<p>To import an existing certificate signed by your own CA into a PKCS12 
+keystore using OpenSSL you would execute a command like:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
+                        -out mycert.p12 -name tomcat -CAfile myCA.crt \
+                        -caname root -chain
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+For more advanced cases, consult the <a href="http://www.openssl.org/">OpenSSL
+documententation</a>.
+</p>
+<p>To create a new keystore from scratch, containing a single self-signed
+Certificate, execute the following from a terminal command line:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>(The RSA algorithm should be preferred as a secure algorithm, and this
+also ensures general compatibility with other servers and components.)</p>
+
+<p>This command will create a new file, in the home directory of the user
+under which you run it, named "<code>.keystore</code>".  To specify a
+different location or filename, add the <code>-keystore</code> parameter,
+followed by the complete pathname to your keystore file,
+to the <code>keytool</code> command shown above.  You will also need to
+reflect this new location in the <code>server.xml</code> configuration file,
+as described later.  For example:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore \path\to\my\keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore /path/to/my/keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>After executing this command, you will first be prompted for the keystore
+password.  The default password used by Tomcat is "<code>changeit</code>"
+(all lower case), although you can specify a custom password if you like.
+You will also need to specify the custom password in the
+<code>server.xml</code> configuration file, as described later.</p>
+
+<p>Next, you will be prompted for general information about this Certificate,
+such as company, contact name, and so on.  This information will be displayed
+to users who attempt to access a secure page in your application, so make
+sure that the information provided here matches what they will expect.</p>
+
+<p>Finally, you will be prompted for the <em>key password</em>, which is the
+password specifically for this Certificate (as opposed to any other
+Certificates stored in the same keystore file).  You <strong>MUST</strong>
+use the same password here as was used for the keystore password itself.
+(Currently, the <code>keytool</code> prompt will tell you that pressing the
+ENTER key does this for you automatically.)</p>
+
+<p>If everything was successful, you now have a keystore file with a
+Certificate that can be used by your server.</p>
+
+<p><strong>Note:</strong> your private key password and keystore password
+should be the same.  If they differ, you will get an error along the lines
+of <code>java.io.IOException: Cannot recover key</code>, as documented in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla 38217</a>, 
+which contains further references for this issue.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit the Tomcat Configuration File"><strong>Edit the Tomcat Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The final step is to configure your secure socket in the
+<code>$CATALINA_HOME/conf/server.xml</code> file, where
+<code>$CATALINA_HOME</code> represents the directory into which you
+installed Tomcat 5.  An example <code>&lt;Connector&gt;</code> element
+for an SSL connector is included in the default <code>server.xml</code>
+file installed with Tomcat.  It will look something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minProcessors="5" maxProcessors="75"
+           enableLookups="true" disableUploadTimeout="true"
+           acceptCount="100" debug="0" scheme="https" secure="true";
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>You will note that the Connector element itself is commented out by default,
+so you will need to remove the comment tags around it.  Then, you can
+customize the specified attributes as necessary.  For detailed information
+about the various options, consult the
+<a href="../config/index.html">Server Configuration Reference</a>.  The
+following discussion covers only those attributes of most interest when
+setting up SSL communication.</p>
+
+<p>The <code>port</code> attribute (default value is 8443) is the TCP/IP
+port number on which Tomcat will listen for secure connections.  You can
+change this to any port number you wish (such as to the default port for
+<code>https</code> communications, which is 443).  However, special setup
+(outside the scope of this document) is necessary to run Tomcat on port
+numbers lower than 1024 on many operating systems.</p>
+
+  <blockquote><em>
+  <p>If you change the port number here, you should also change the
+  value specified for the <code>redirectPort</code> attribute on the
+  non-SSL connector.  This allows Tomcat to automatically redirect
+  users who attempt to access a page with a security constraint specifying
+  that SSL is required, as required by the Servlet 2.4 Specification.</p>
+  </em></blockquote>
+
+<p>There are addional option used to configure the SSL protocol.
+  You may need to add or change the following attribute
+values, depending on how you configured your keystore earlier:</p>
+
+<table border="1">
+  <tr>
+    <th>Attribute</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td><code>clientAuth</code></td>
+    <td>Set this value to <code>true</code> if you want Tomcat to require
+        all SSL clients to present a client Certificate in order to use
+        this socket.  Set this value to <code>want</code> if you want Tomcat
+        to request a client Certificate, but not fail if one isn't presented.
+        For using clientAuth on a per-user or per-session basis, check out
+        the tips in 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">Bugzilla 34643</a>.
+    </td>
+  </tr>
+  <tr>
+    <td><code>keystoreFile</code></td>
+    <td>Add this attribute if the keystore file you created is not in
+        the default place that Tomcat expects (a file named
+        <code>.keystore</code> in the user home directory under
+        which Tomcat is running).  You can specify an absolute pathname,
+        or a relative pathname that is resolved against the
+        <code>$CATALINA_BASE</code> environment variable.</td>
+  </tr>
+  <tr>
+    <td><code>keystorePass</code></td>
+    <td>Add this element if you used a different keystore (and Certificate)
+        password than the one Tomcat expects (<code>changeit</code>).</td>
+  </tr>
+  <tr>
+    <td><code>keystoreType</code></td>
+    <td>Add this element if using a keystore type other than
+    <code>JKS</code>.</td>
+  </tr>
+  <tr>
+    <td><code>sslProtocol</code></td>
+    <td>The encryption/decryption protocol to be used on this socket.
+        It is not recommended to change this value if you are using Sun's
+        JVM.  It is reported that IBM's 1.4.1 implementation
+        of the TLS protocol is not compatible with some popular browsers.
+        In this case, use the value <code>SSL</code>.</td>
+  </tr>
+  <tr>
+    <td><code>ciphers</code></td>
+    <td>The comma separated list of encryption ciphers that this socket is 
+        allowed to use.  By default, any available cipher is allowed.</td>
+  </tr>
+  <tr>
+    <td><code>algorithm</code></td>
+    <td>The <code>X509</code> algorithm to use.  This defaults to the Sun 
+        implementation (<code>SunX509</code>).  For IBM JVMs you should use
+        the value <code>IbmX509</code>.  For other vendors, consult the JVM
+        documentation for the correct value.
+    </td>
+  </tr>
+  <tr>
+   <td><code>truststoreFile</code></td>
+   <td>The TrustStore file to use to validate client certificates.</td>
+  </tr>
+  <tr>
+   <td><code>truststorePass</code></td>
+   <td>The password to access the TrustStore.  This defaults to the value
+       of <code>keystorePass</code>.</td>
+  </tr>
+  <tr>
+   <td><code>truststoreType</code></td>
+    <td>Add this element if your are using a different format for the 
+        TrustStore then you are using for the KeyStore.</td>
+  </tr>
+  <tr>
+   <td><code>keyAlias</code></td>
+    <td>Add this element if your have more than one key in the KeyStore.
+        If the element is not present the first key read in the KeyStore
+        will be used.</td>
+  </tr>
+</table>
+
+<p>After completing these configuration changes, you must restart Tomcat as
+you normally do, and you should be in business.  You should be able to access
+any web application supported by Tomcat via SSL.  For example, try:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+https://localhost:8443
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+
+<p>and you should see the usual Tomcat splash page (unless you have modified
+the ROOT web application).  If this does not work, the following section
+contains some troubleshooting tips.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing a Certificate from a Certificate Authority"><strong>Installing a Certificate from a Certificate Authority</strong></a></font></td></tr><tr><td><blockquote>
+<p>To obstain and install a Certificate from a Certificate Authority (like verisign.com, thawte.com 
+or trustcenter.de) you should have read the previous section and then follow these instructions:</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create a local Certificate Signing Request (CSR)"><strong>Create a local Certificate Signing Request (CSR)</strong></a></font></td></tr><tr><td><blockquote>
+<p>In order to obtain a Certificate from the Certificate Authority of your choice 
+you have to create a so called Certificate Signing Request (CSR). That CSR will be used 
+by the Certificate Authority to create a Certificate that will identify your website 
+as "secure". To create a CSR follow these steps:</p>
+<ul>
+<li>Create a local Certificate (as described in the previous section):
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -genkey -alias tomcat -keyalg RSA \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+	Note: In some cases you will have to enter the domain of your website (i.e. <code>www.myside.org</code>)
+	in the field "first- and lastname" in order to create a working Certificate. 
+</li>
+<li>The CSR is then created with:
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+<p>Now you have a file called <code>certreq.csr</code> that you can submit to the Certificate Authority (look at the
+documentation of the Certificate Authority website on how to do this). In return you get a Certificate.</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Importing the Certificate"><strong>Importing the Certificate</strong></a></font></td></tr><tr><td><blockquote>
+<p>Now that you have your Certificate you can import it into you local keystore. 
+First of all you have to import a so called Chain Certificate or Root Certificate into your keystore. 
+After that you can procede with importing your Certificate.</p>
+
+<ul>
+<li>Download a Chain Certificate from the Certificate Authority you obtained the Certificate from.<br>
+	For Verisign.com commercial certificates go to:
+            http://www.verisign.com/support/install/intermediate.html<br>
+        For Verisign.com trial certificates go to:
+            http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html
+	For Trustcenter.de go to:
+            http://www.trustcenter.de/certservices/cacerts/en/en.htm#server<br>
+	For Thawte.com go to:
+            http://www.thawte.com/certs/trustmap.html<br>
+</li>
+<li>Import the Chain Certificate into you keystore
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias root -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;filename_of_the_chain_certificate&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+<li>And finally import your new Certificate
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias tomcat -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;your_certificate_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Here is a list of common problems that you may encounter when setting up
+SSL communications, and what to do about them.</p>
+
+<ul>
+
+<li>I get "java.security.NoSuchAlgorithmException" errors in my
+    log files.
+    <blockquote>
+    <p>The JVM cannot find the JSSE JAR files.  Follow all of the directions to
+    <a href="#Download and Install JSSE">download and install JSSE</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException: {some-directory}/{some-file} not found".
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the keystore file
+    where it is looking.  By default, Tomcat expects the keystore file to
+    be named <code>.keystore</code> in the user home directory under which
+    Tomcat is running (which may or may not be the same as yours :-).  If
+    the keystore file is anywhere else, you will need to add a
+    <code>keystoreFile</code> attribute to the <code>&lt;Factory&gt;</code>
+    element in the <a href="#Edit the Tomcat Configuration File">Tomcat
+    configuration file</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException:  Keystore was tampered with, or
+    password was incorrect".
+    <blockquote>
+    <p>Assuming that someone has not <em>actually</em> tampered with
+    your keystore file, the most likely cause is that Tomcat is using
+    a different password than the one you used when you created the
+    keystore file.  To fix this, you can either go back and
+    <a href="#Prepare the Certificate Keystore">recreate the keystore
+    file</a>, or you can add or update the <code>keystorePass</code>
+    attribute on the <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration
+    file</a>.  <strong>REMINDER</strong> - Passwords are case sensitive!</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
+    available certificate or key corresponds to the SSL cipher suites which are
+    enabled."
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the alias for the server
+    key withinthe specified keystore. Check that the correct
+    <code>keystoreFile</code> and <code>keyAlias</code> are specified in the
+    <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+    <strong>REMINDER</strong> - <code>keyAlias</code> values may be case
+    sensitive!</p>
+    </blockquote></li>
+</ul>
+
+<p>If you are still having problems, a good source of information is the
+<strong>TOMCAT-USER</strong> mailing list.  You can find pointers to archives
+of previous messages on this list, as well as subscription and unsubscription
+information, at
+<a href="http://tomcat.apache.org/lists.html">http://tomcat.apache.org/lists.html</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Miscellaneous Tips and Bits"><strong>Miscellaneous Tips and Bits</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To access the SSL session ID from the request, use:<br>
+
+  <code>
+    String sslID = (String)request.getAttribute("javax.servlet.request.ssl_session");
+  </code>
+<br>
+For additional discussion on this area, please see
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">Bugzilla</a>.
+</p>
+
+<p>For tips on using clientAuth on a per-user or per-session basis, and also for
+using clientAuth with self-signed or expired client certificates, please see the
+discussion in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">Bugzilla 34643</a>.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/status.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/status.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/status.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Project Status</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Project Status</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document attempts to convey the current status of Tomcat development
+      in "big picture" terms.  This is not the place to check if an individual
+      bug report has been addressed or when an individual feature will be available.
+    </p>
+    <p>
+      This page is updated roughly once per every couple of Tomcat minor releases,
+      so for day-to-day status you should check the tomcat-user and tomcat-dev mailing
+      lists.  You can always inquire there as to the availability or status of a
+      specific feature or component.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Current Status Summary"><strong>Current Status Summary</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      <b>Tomcat 5.0.27</b> was released on June 17th, 2004.  At that time, the TOMCAT_5_0
+      branch was tagged in CVS, and work on Tomcat 5.5 began.  We have now had several
+      Tomcat 5.5 releases, including a couple of stable ones.  Accordingly, Tomcat 5.5
+      is now the focus on work.  Tomcat 5.0 is in maintenance mode and its releases
+      will become less and less frequent.
+    </p>
+    <p>
+      <b>Tomcat 5.5</b> has several major goals.  They are discussed in the tomcat-dev
+      mailing list's "5.next" thread: 
+      <a href="http://marc.theaimsgroup.com/?l=tomcat-dev&w=2&r=1&s=5.next&q=b">MARC</a>.
+      The status of some of these items is detailed below.  Once 5.5 releases are
+      available, please refer to the Changelog accompanying each release for detailed
+      changes, enhancements, and fixes.
+    </p>
+    <p>
+      <b>Tomcat 4.1.x</b> is no longer actively developed.  It is maintained to address
+      only showstopper, security, and Servlet Specification compliance issues.  Maintenance
+      for Tomcat 4.1.x will likely cease once a stable release or two of Tomcat 5.5 are out.
+      Users of Tomcat 4.1.x are strongly encouraged to upgrade to the latest stable Tomcat
+      5.0 release.
+    </p>
+    <p>
+      <b>Tomcat 4.0.x</b> is relatively old, and not actively maintained or supported.
+      It is strongly recommended that users of these releases upgrade to the latest
+      stable Tomcat 5.0 release or at least the latest stable Tomcat 4.1 release.
+    </p>
+    <p>
+      <b>Tomcat 3.3.x</b> is in roughly the same maintenance mode as Tomcat 4.1.x.
+    </p>
+    <p>
+      <b>Tomcat 3.2</b> and earlier are in roughly the same support state as Tomcat 4.0.x.
+      Users should upgrade to Tomcat 3.3.x or the latest stable Tomcat 5.0.x.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How to read the report"><strong>How to read the report</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      The columns in this report contain the following information:
+    <ul>
+      <li><b>Priority</b> - A sense of how important it is to address this 
+        issue in the short term.</li>
+      <li><b>Action Item</b> - Concise description of the action item
+        to be completed.  Where relevant, Java package names of the
+        primary classes involved are listed in [square brackets]</li>
+      <li><b>Volunteers</b> - Login of those developers who
+        have volunteered to assist in the design, implementation, testing, and
+        documentation of this action item's changes to Tomcat.</li>
+    </ul>
+      Developers can nominate
+      themselves to work on particular action items by asking a Committer to 
+      add their name address to those items.  The developers 
+      working on each item should discuss and agree upon the approach to be 
+      used for implementing the item's changes to the project source code 
+      and documentation, prior to completing those changes.  Such discussions 
+      should take place on the tomcat-dev mailing list so that everyone can 
+      stay apprised of what is going on, or chime in if they want to 
+      contribute ideas and suggestions.
+    </p>
+    
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="TODO List"><strong>TODO List</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Priority</font></th><th bgcolor="#023264" width="50%"><font color="#ffffff">Action Item</font></th><th bgcolor="#023264" width="25%"><font color="#ffffff">Volunteers</font></th><tr><td valign="center" align="left">High</td><td valign="center" align="left">
+        Refactor ClassLoaders for Tomcat 5.5 to allow container plugins.
+      </td><td valign="center" align="left">costin</td></tr><tr><td valign="center" align="left">Medium</td><td valign="center" align="left">
+        Enhance Cluster functionality for Tomcat 5.5.
+      </td><td valign="center" align="left">fhanik</td></tr><tr><td valign="center" align="left">Medium</td><td valign="center" align="left">
+        Continue fixing bugs and updating docs.
+      </td><td valign="center" align="left">everyone</td></tr></tr></table>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Open bugs"><strong>Open bugs</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      The list of the bugs which are in an unresolved state for Tomcat 5 can be
+      seen 
+      <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&resolution=LATER&resolution=REMIND&resolution=---&bugidtype=include&product=Tomcat+5&cmdtype=doit&order=Importance">here</a>.
+      Aspiring volunteers and others are strongly encouraged to attempt 
+      to comment and help resolve these issues.
+    </p>
+    
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/virtual-hosting-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/virtual-hosting-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/virtual-hosting-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Virtual Hosting and Tomcat</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Virtual Hosting and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Assumptions"><strong>Assumptions</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      For the sake of this how-to, assume you have a development host with two
+      host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
+      one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+      wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
+    </p>
+    <p>
+      Also, this how-to uses Unix-style path separators and commands; if you're
+      on Windows modify accordingly. 
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="server.xml"><strong>server.xml</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      At the simplest, edit the <a href="../config/engine.html">Engine</a> portion
+      of your <code>server.xml</code> file to look like this:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Catalina" defaultHost="ren"&gt;
+    &lt;Host name="ren"    appBase="webapps/ren"/&gt;
+    &lt;Host name="stimpy" appBase="webapps/stimpy"/&gt;
+&lt;/Engine&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    <p>
+      Consult the configuration documentation for other attributes of the
+      <a href="../config/engine.html">Engine</a> and <a href="../config/host.html">
+      Host</a>elements.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps Directory"><strong>Webapps Directory</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Create directories for each of the virtual hosts:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/webapps/ren
+mkdir $CATALINA_HOME/webapps/stimpy
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Your Contexts"><strong>Configuring Your Contexts</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Approach #1"><strong>Approach #1</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Within your Context, create a <code>META-INF</code> directory and then
+        place your Context definition in it in a file named
+        <code>context.xml</code>. i.e.
+        <code>$CATALINA_HOME/webapps/ren/ROOT/META-INF/context.xml</code>
+        This makes deployment easier, particularly if you're distributing a WAR
+        file.
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Approach #2"><strong>Approach #2</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Create a structure under <code>$CATALINA_HOME/conf/Catalina</code>
+        corresponding to your virtual hosts, e.g.:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/conf/Catalina/ren
+mkdir $CATALINA_HOME/conf/Catalina/stimpy
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      <p>
+        Note that the ending directory name "Catalina" represents the
+        <code>name</code> attribute of the
+        <a href="../config/engine.html">Engine</a> element as shown above.
+      </p>
+      <p>
+        Now, for your default webapps, add:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
+$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+      <p>
+        If you want to use the Tomcat manager webapp for each host, you'll also
+        need to add it here:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd $CATALINA_HOME/conf/Catalina
+cp localhost/manager.xml ren/
+cp localhost/manager.xml stimpy/
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Further Information"><strong>Further Information</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Consult the configuration documentation for other attributes of the
+        <a href="../config/context.html">Context</a> element.
+      </p>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/windows-service-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/windows-service-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/printer/windows-service-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Windows service HOW-TO</title><meta value="Mladen Turk" name="author"><meta value="mturk at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./../images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./../images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Windows service HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NOTICE"><strong>NOTICE</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>This section of the documentation applies to procrun 1.0, and is now obsolete.</b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat5 service application"><strong>Tomcat5 service application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat5</b> is a service application for running Tomcat5 as NT service.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat5w monitor application"><strong>Tomcat5w monitor application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat5w</b> is a GUI application for monitoring and configuring Tomcat
+    services.
+</p>    
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//ES//</th>
+        <td>Edit service configuration</td>
+        <td>This is the default operation. It is called if the no option is
+            provided but the executable is renamed to <b>servicenameW.exe</b></td>
+    </tr>
+    <tr><th>//MS//</th>
+        <td>Monitor service</td>
+        <td>Put the icon in the system try</td>
+    </tr>
+    </table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line arguments"><strong>Command line arguments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command line directive is in the form of <b>//XX//ServiceName</b>
+</p>
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//TS//</th>
+        <td>Run the service as console application</td>
+        <td>This is the default operation. It is called if the no option is
+            provided. The ServiceName is the name of the executable without
+            exe sufix, meaning Tomcat5</td>
+    </tr>
+    <tr><th>//RS//</th>
+        <td>Run the service</td>
+        <td>Called only from ServiceManager</td>
+    </tr>
+    <tr><th>//SS//</th>
+        <td>Stop the service</td>
+        <td></td>
+    </tr>
+    <tr><th>//US//</th>
+        <td>Update service parameters</td>
+        <td></td>
+    </tr>
+    <tr><th>//IS//</th>
+        <td>Install service</td>
+        <td></td>
+    </tr>
+    <tr><th>//DS//</th>
+        <td>Delete service</td>
+        <td>Stops the service if running</td>
+    </tr>        
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line parameters"><strong>Command line parameters</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command parameter is prefixed with <b>--</b>.
+    If the command line is prefixed with <b>++</b> then it's value will
+    be appended to the existing option.
+    If the environment variable with the same name as command line parameter but
+    prefixed with <code>PR_</code> exists it will take precedence.
+    For example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>set PR_CLASSPATH=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>    
+<p>is equivalent to providing
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>--Classpath=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p> as command line parameter.</p>
+<p> 
+    <table>
+    <tr>
+    <th>ParameterName</th>
+	<th>Default</th>
+	<th>Description</th>
+	</tr> 
+    <tr>
+    <td>--Description</td>
+    <td></td>
+    <td>Service name description (maximum 1024 characters)</td>
+    </tr>
+    <tr>
+    <td>--DisplayName</td>
+    <td>ServiceName</td>
+    <td>Service display name</td>
+    </tr>
+    <tr>
+    <td>--Install</td>
+    <td>procrun.exe //RS//ServiceName</td>
+    <td>Install image</td>
+    </tr>
+    <tr>
+    <td>--Startup</td>
+    <td>manual</td>
+    <td>Service startup mode can be either <b>auto</b> or <b>manual</b></td>
+    </tr>
+    <tr>
+    <td>--DependsOn</td>
+    <td></td>
+    <td>List of services that this service depend on. Dependent services
+        are separated using either <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--Environment</td>
+    <td></td>
+    <td>List of environment variables that will be provided to the service
+        in the form <b>key=value</b>. They are separated using either
+        <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--User</td>
+    <td></td>
+    <td>User account used for running executable. It is used only for
+    	StartMode <b>java</b> or <b>exe</b> and enables running applications
+    	as service under account without LogonAsService privilege.</td>
+    </tr>
+    <tr>
+    <td>--Password</td>
+    <td></td>
+    <td>Password for user account set by --User parameter</td>
+    </tr>
+    <tr>
+    <td>--JavaHome</td>
+    <td>JAVA_HOME</td>
+    <td>Set a different JAVA_HOME then defined by JAVA_HOME environment
+        variable</td>
+    </tr>
+    <tr>
+    <td>--Jvm</td>
+    <td>auto</td>
+    <td>Use either <b>auto</b> or specify the full path to the <b>jvm.dll</b>.
+        You can use the environment variable expansion here.</td>
+    </tr>
+    <tr>
+    <td>--JvmOptions</td>
+    <td>-Xrs</td>
+    <td>List of options in the form of <b>-D</b> or <b>-X</b> that will be
+        passed to the JVM. The options are separated using either
+        <b>#</b> or <b>;</b> characters.</td>
+    </tr>
+    <tr>
+    <td>--Classpath</td>
+    <td></td>
+    <td>Set the Java classpath</td>
+    </tr>
+    <tr>
+    <td>--JvmMs</td>
+    <td></td>
+    <td>Initial memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmMx</td>
+    <td></td>
+    <td>Maximum memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmSs</td>
+    <td></td>
+    <td>Thread stack size in KB</td>
+    </tr>
+    <tr>
+    <tr>
+    <td>--StartImage</td>
+    <td></td>
+    <td>Executable that will be run.</td>
+    </tr>
+    <tr>
+    <td>--StartPath</td>
+    <td></td>
+    <td>Working path for the start image executable.</td>
+    </tr>
+    <tr>
+    <td>--StartClass</td>
+    <td></td>
+    <td>Class that will be used for startup.</td>
+    </tr>
+    <tr>
+    <td>--StartParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StartImage or
+        StartClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StartMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StartMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <td>--StopImage</td>
+    <td></td>
+    <td>Executable that will be run on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopPath</td>
+    <td></td>
+    <td>Working path for the stop image executable.</td>
+    </tr>
+    <tr>
+    <td>--StopClass</td>
+    <td></td>
+    <td>Class that will be used on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StopImage or
+        StopClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StopMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StopMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <tr>
+    <td>--StopTimeout</td>
+    <td>No Timeout</td>
+    <td>Defines the timeout in seconds that procrun waits for service to
+        exit gracefully.</td>
+    </tr>
+    <tr>
+    <td>--LogPath</td>
+    <td>working path</td>
+    <td>Defines the path for logging</td>
+    </tr>
+    <tr>
+    <td>--LogPrefix</td>
+    <td>jakarta_service</td>
+    <td>Defines the service log filename</td>
+    </tr>
+    <tr>
+    <td>--LogLevel</td>
+    <td>INFO</td>
+    <td>Defines the logging level and can be either <b>error</b>,
+        <b>info</b>, <b>warn</b> or <b>debug</b></td>
+    </tr>
+    <tr>
+    <td>--StdOutput</td>
+    <td></td>
+    <td>Redirected stdout filename</td>
+    </tr>
+    <tr>
+    <td>--StdError</td>
+    <td></td>
+    <td>Redirected stderr filename</td>
+    </tr>    
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing services"><strong>Installing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The safest way to manually install the service is to use the provided <b>service.bat</b> script.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat5'
+C:\&gt; service.bat install
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+<p>
+If using tomcat5.exe, you need to use the <b>//IS//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat5'
+C:\&gt; tomcat5 //IS//Tomcat5 --DisplayName="Apache Tomcat 5" \
+C:\&gt; --Install="C:\Program Files\Tomcat\bin\tomcat5.exe" --Jvm=auto \
+C:\&gt; --StartMode=jvm --StopMode=jvm \
+C:\&gt; --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \
+C:\&gt; --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating services"><strong>Updating services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To update the service parameters, you need to use the <b>//US//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Update the service named 'Tomcat5
+C:\&gt; tomcat5 //US//Tomcat5 --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
+C:\&gt; --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Removing services"><strong>Removing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To remove the service, you need to use the <b>//DS//</b> parameter.<br>
+If the service is running it will be stopped and then deleted.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Remove the service named 'Tomcat5'
+C:\&gt; tomcat5 //DS//Tomcat5
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Debugging services"><strong>Debugging services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To run the service in console mode, you need to use the <b>//TS//</b> parameter.
+The service shutdown can be initiated by pressing <b>CTRL+C</b> or
+<b>CTRL+BREAK</b>.
+If you rename the tomcat5.exe to testservice.exe then you can just execute the
+testservice.exe and this command mode will be executed by default.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Run the service named 'Tomcat5' in console mode
+C:\&gt; tomcat5 //TS//Tomcat5 [additional arguments]
+Or simply execute:
+C:\&gt; tomcat5
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./../images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/proxy-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/proxy-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/proxy-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Proxy Support HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Proxy Support HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/proxy-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Using standard configurations of Tomcat, web applications can ask for
+the server name and port number to which the request was directed for
+processing.  When Tomcat is running standalone with the
+<a href="config/coyote.html">Coyote HTTP/1.1 Connector</a>, it will generally
+report the server name specified in the request, and the port number on
+which the <strong>Connector</strong> is listening.  The servlet API
+calls of interest, for this purpose, are:</p>
+<ul>
+<li><code>ServletRequest.getServerName()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getServerPort()</code>: Returns the host name of the server to which the request was sent.</li>
+<li><code>ServletRequest.getLocalName()</code>: Returns the host name of the Internet Protocol (IP) interface on which the request was received.</li>
+<li><code>ServletRequest.getLocalPort()</code>:  Returns the Internet Protocol (IP) port number of the interface on which the request was received.</li>
+</ul>
+
+<p>When you are running behind a proxy server (or a web server that is
+configured to behave like a proxy server), you will sometimes prefer to
+manage the values returned by these calls.  In particular, you will
+generally want the port number to reflect that specified in the original
+request, not the one on which the <strong>Connector</strong> itself is
+listening.  You can use the <code>proxyName</code> and <code>proxyPort</code>
+attributes on the <code>&lt;Connector&gt;</code> element to configure
+these values.</p>
+
+<p>Proxy support can take many forms.  The following sections describe
+proxy configurations for several common cases.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 1.3 Proxy Support"><strong>Apache 1.3 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Apache 1.3 supports an optional module (<code>mod_proxy</code>) that
+configures the web server to act as a proxy server.  This can be used to
+forward requests for a particular web application to a Tomcat 5 instance,
+without having to configure a web connector such as <code>mod_jk</code>.
+To accomplish this, you need to perform the following tasks:</p>
+<ol>
+<li>Configure your copy of Apache so that it includes the
+    <code>mod_proxy</code> module.  If you are building from source,
+    the easiest way to do this is to include the
+    <code>--enable-module=proxy</code> directive on the
+    <code>./configure</code> command line.</li>
+<li>If not already added for you, make sure that you are loading the
+    <code>mod_proxy</code> module at Apache startup time, by using the
+    following directives in your <code>httpd.conf</code> file:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+LoadModule proxy_module  {path-to-modules}/mod_proxy.so
+AddModule  mod_proxy.c
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div></li>
+<li>Include two directives in your <code>httpd.conf</code> file for
+    each web application that you wish to forward to Tomcat 5.  For
+    example, to forward an application at context path <code>/myapp</code>:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+ProxyPass         /myapp  http://localhost:8081/myapp
+ProxyPassReverse  /myapp  http://localhost:8081/myapp
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which tells Apache to forward URLs of the form
+    <code>http://localhost/myapp/*</code> to the Tomcat 5 connector
+    listening on port 8081.</li>
+<li>Configure your copy of Tomcat 5 to include a special
+    <code>&lt;Connector&gt;</code> element, with appropriate
+    proxy settings, for example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Connector port="8081" ...
+              proxyName="www.mycompany.com"
+              proxyPort="80"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    which will cause servlets inside this web application to think that
+    all proxied requests were directed to <code>www.mycompany.com</code>
+    on port 80.</li>
+<li>It is legal to omit the <code>proxyName</code> attribute from the
+    <code>&lt;Connector&gt;</code> element.  If you do so, the value
+    returned by <code>request.getServerName()</code> will by the host
+    name on which Tomcat is running.  In the example above, it would be
+    <code>localhost</code>.</li>
+<li>If you also have a <code>&lt;Connector&gt;</code> listening on port
+    8080 (nested within the same <a href="config/service.html">Service</a>
+    element), the requests to either port will share the same set of
+    virtual hosts and web applications.</li>
+<li>You might wish to use the IP filtering features of your operating
+    system to restrict connections to port 8081 (in this example) to
+    be allowed <strong>only</strong> from the server that is running
+    Apache.</li>
+<li>Alternatively, you can set up a series of web applications that are
+    only available via proxying, as follows:
+    <ul>
+    <li>Configure another <code>&lt;Service&gt;</code> that contains
+        only a <code>&lt;Connector&gt;</code> for the proxy port.</li>
+    <li>Configure appropriate <a href="config/engine.html">Engine</a>,
+        <a href="config/host.html">Host</a>, and
+        <a href="config/context.html">Context</a> elements for the virtual hosts
+        and web applications accessible via proxying.</li>
+    <li>Optionally, protect port 8081 with IP filters as described
+        earlier.</li>
+    </ul></li>
+<li>When requests are proxied by Apache, the web server will be recording
+    these requests in its access log.  Therefore, you will generally want to
+    disable any access logging performed by Tomcat itself.</li>
+</ol>
+
+<p>When requests are proxied in this manner, <strong>all</strong> requests
+for the configured web applications will be processed by Tomcat (including
+requests for static content).  You can improve performance by using the
+<code>mod_jk</code> web connector instead of <code>mod_proxy</code>. 
+<code>mod_jk</code> can be configured so that the web server serves static
+content that is not processed by filters or security constraints defined
+within the web application's deployment descriptor
+(<code>/WEB-INF/web.xml</code>).</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Apache 2.0 Proxy Support"><strong>Apache 2.0 Proxy Support</strong></a></font></td></tr><tr><td><blockquote>
+The same instructions hold true as for 1.3. (Except in Apache 2.0,
+you may omit <code>AddModule  mod_proxy.c</code>)
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/realm-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/realm-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/realm-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1086 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Realm Configuration HOW-TO</title><meta value="Craig R. McClanahan" name="author"><meta value="craigmcc at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"><meta value="Andrew R. Jaquith" name="author"><meta value="arjaquith at mindspring.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Realm Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/realm-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Table of Contents"><strong>Table of Contents</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>
+<a href="#Quick Start">Quick Start</a><br>
+<blockquote>
+<a href="#What is a Realm?">What is a Realm?</a><br>
+<a href="#Configuring a Realm">Configuring a Realm</a><br>
+</blockquote>
+<a href="#Common Features">Common Features</a><br>
+<blockquote>
+<a href="#Digested Passwords">Digested Passwords</a><br>
+<a href="#Example Application">Example Application</a><br>
+<a href="#Manager Application">Manager Application</a><br>
+<a href="#Realm Logging">Logging Within Realms</a><br>
+</blockquote>
+<a href="#Standard Realm Implementations">
+Standard Realm Implementations</a><br>
+<blockquote>
+<a href="#JDBCRealm">JDBCRealm</a><br>
+<a href="#DataSourceRealm">DataSourceRealm</a><br>
+<a href="#JNDIRealm">JNDIRealm</a><br>
+<a href="#MemoryRealm">MemoryRealm</a><br>
+<a href="#JAASRealm">JAASRealm</a><br>
+<a href="#UserDatabaseRealm">UserDatabaseRealm</a><br>
+</blockquote>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>This document describes how to configure Tomcat to support <em>container
+managed security</em>, by connecting to an existing "database" of usernames,
+passwords, and user roles.  You only need to care about this if you are using
+a web application that includes one or more
+<code>&lt;security-constraint&gt;</code> elements, and a
+<code>&lt;login-config&gt;</code> element defining how users are required
+to authenticate themselves.  If you are not utilizing these features, you can
+safely skip this document.</p>
+
+<p>For fundamental background information about container managed security,
+see the <a href="http://java.sun.com/products/servlet/download.html">Servlet
+Specification (Version 2.4)</a>, Section 12.</p>
+
+<p>For information about utilizing the <em>Single Sign On</em> feature of
+Tomcat 5 (allowing a user to authenticate themselves once across the entire
+set of web applications associated with a virtual host), see
+<a href="config/host.html#Single Sign On">here</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Overview"><strong>Overview</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="What is a Realm?"><strong>What is a Realm?</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>A <strong>Realm</strong> is a "database" of usernames and passwords that
+identify valid users of a web application (or set of web applications), plus
+an enumeration of the list of <em>roles</em> associated with each valid user.
+You can think of roles as similar to <em>groups</em> in Unix-like operating
+systems, because access to specific web application resources is granted to
+all users possessing a particular role (rather than enumerating the list of
+associated usernames).  A particular user can have any number of roles
+associated with their username.</p>
+
+<p>Although the Servlet Specification describes a portable mechanism for
+applications to <em>declare</em> their security requirements (in the
+<code>web.xml</code> deployment descriptor), there is no portable API
+defining the interface between a servlet container and the associated user
+and role information.  In many cases, however, it is desireable to "connect"
+a servlet container to some existing authentication database or mechanism
+that already exists in the production environment.  Therefore, Tomcat 5
+defines a Java interface (<code>org.apache.catalina.Realm</code>) that
+can be implemented by "plug in" components to establish this connection.
+Five standard plug-ins are provided, supporting connections to various
+sources of authentication information:</p>
+<ul>
+<li><a href="#JDBCRealm">JDBCRealm</a> - Accesses authentication information
+    stored in a relational database, accessed via a JDBC driver.</li>
+<li><a href="#DataSourceRealm">DataSourceRealm</a> - Accesses authentication
+    information stored in a relational database, accessed via a named JNDI
+    JDBC DataSource.</li>
+<li><a href="#JNDIRealm">JNDIRealm</a> - Accesses authentication information
+    stored in an LDAP based directory server, accessed via a JNDI provider.
+    </li>
+<li><a href="#MemoryRealm">MemoryRealm</a> - Accesses authentication
+    information stored in an in-memory object collection, which is initialized
+    from an XML document (<code>conf/tomcat-users.xml</code>).</li>
+<li><a href="#JAASRealm">JAASRealm</a> - Accesses authentication information
+    through the Java Authentication &amp; Authorization Service (JAAS)
+    framework.</li>
+</ul>
+
+<p>It is also possible to write your own <code>Realm</code> implementation,
+and integrate it with Tomcat 5.  To do so, you need to:
+<ul>
+  <li>Implement <code>org.apache.catalina.Realm</code>,</li>
+  <li>Place your compiled realm in $CATALINA_HOME/server/lib,</li>
+  <li>Declare your realm as described in the "Configuring a Realm" section below,</li>
+  <li>Declare your realm to the <a href="mbeans-descriptor-howto.html">MBeans Descriptor</a>.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring a Realm"><strong>Configuring a Realm</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Before getting into the details of the standard Realm implementations, it is
+important to understand, in general terms, how a Realm is configured.  In
+general, you will be adding an XML element to your <code>conf/server.xml</code>
+configuration file, that looks something like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="... class name for this implementation"
+       ... other attributes for this implementation .../&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>The <code>&lt;Realm&gt;</code> element can be nested inside any one of 
+of the following <code>Container</code> elements.  The location of the
+Realm element has a direct impact on the "scope" of that Realm
+(i.e. which web applications will share the same authentication information):
+</p>
+<ul>
+<li><em>Inside an &lt;Engine&gt; element</em> - This Realm will be shared
+    across ALL web applications on ALL virtual hosts, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Host&gt;</code>
+    or <code>&lt;Context&gt;</code> element.</li>
+<li><em>Inside a &lt;Host&gt; element</em> - This Realm will be shared across
+    ALL web applications for THIS virtual host, UNLESS it is overridden
+    by a Realm element nested inside a subordinate <code>&lt;Context&gt;</code>
+    element.</li>
+<li><em>Inside a &lt;Context&gt; element</em> - This Realm will be used ONLY
+    for THIS web application.</li>
+</ul>
+
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Common Features"><strong>Common Features</strong></a></font></td></tr><tr><td><blockquote>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Digested Passwords"><strong>Digested Passwords</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>For each of the standard <code>Realm</code> implementations, the
+user's password (by default) is stored in clear text.  In many
+environments, this is undesireable because casual observers of the
+authentication data can collect enough information to log on
+successfully, and impersonate other users.  To avoid this problem, the
+standard implementations support the concept of <em>digesting</em>
+user passwords.  This allows the stored version of the passwords to be
+encoded (in a form that is not easily reversible), but that the
+<code>Realm</code> implementation can still utilize for
+authentication.</p>
+
+<p>When a standard realm authenticates by retrieving the stored
+password and comparing it with the value presented by the user, you
+can select digested passwords by specifying the <code>digest</code>
+attribute on your <code>&lt;Realm&gt;</code> element.  The value for
+this attribute must be one of the digest algorithms supported by the
+<code>java.security.MessageDigest</code> class (SHA, MD2, or MD5).
+When you select this option, the contents of the password that is
+stored in the <code>Realm</code> must be the cleartext version of the
+password, as digested by the specified algorithm.</p>
+
+<p>When the <code>authenticate()</code> method of the Realm is called, the
+(cleartext) password specified by the user is itself digested by the same
+algorithm, and the result is compared with the value returned by the
+<code>Realm</code>.  An equal match implies that the cleartext version of the
+original password is the same as the one presented by the user, so that this
+user should be authorized.</p>
+
+<p>To calculate the digested value of a cleartext password, two convenience
+techniques are supported:</p>
+<ul>
+<li>If you are writing an application that needs to calculate digested
+    passwords dynamically, call the static <code>Digest()</code> method of the
+    <code>org.apache.catalina.realm.RealmBase</code> class, passing the
+    cleartext password and the digest algorithm name as arguments.  This
+    method will return the digested password.</li>
+<li>If you want to execute a command line utility to calculate the digested
+    password, simply execute
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} {cleartext-password}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    and the digested version of this cleartext password will be returned to
+    standard output.</li>
+</ul>
+
+<p>If using digested passwords with DIGEST authentication, the cleartext used
+   to generate the digest is different. In the examples above
+   <code>{cleartext-password}</code> must be replaced with 
+   <code>{username}:{realm}:{cleartext-password}</code>. For example, in a
+   development environment this might take the form
+   <code>testUser:localhost:8080:testPassword</code>.</p>
+
+<p>To use either of the above techniques, the
+<code>$CATALINA_HOME/server/lib/catalina.jar</code> file will need to be
+on your class path to make the <code>RealmBase</code> class available.  In 
+addition, you will need the JMX jar and the commons-logging jar (either 
+commons-logging-api.jar or commons-logging.jar).  Both of these are included
+with the Tomcat distribution.
+</p>
+
+<p>Non-ASCII usernames and/or passwords are supported using
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>java org.apache.catalina.realm.RealmBase \
+    -a {algorithm} -e {encoding} {input}
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+but care is required to ensure that the non-ASCII input is
+correctly passed to the digester.
+The digester returns <code>{input}:{digest}</code>. If the input appears
+corrupted in the return, the digest will be invalid.</p>
+
+</blockquote></td></tr></table>
+
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Example Application"><strong>Example Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The example application shipped with Tomcat 5 includes an area that is
+protected by a security constraint, utilizing form-based login.  To access it,
+point your browser at
+<a href="http://localhost:8080/jsp-examples/security/protected/">http://localhost:8080/jsp-examples/security/protected/</a>
+and log on with one of the usernames and passwords described for the default
+<a href="#MemoryRealm">MemoryRealm</a>.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Manager Application"><strong>Manager Application</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>If you wish to use the <a href="manager-howto.html">Manager Application</a>
+to deploy and undeploy applications in a running Tomcat 5 installation, you
+MUST add the "manager" role to at least one username in your selected Realm
+implementation.  This is because the manager web application itself uses a
+security constraint that requires role "manager" to access ANY request URI
+within that application.</p>
+
+<p>For security reasons, no username in the default Realm (i.e. using
+<code>conf/tomcat-users.xml</code> is assigned the "manager" role.  Therfore,
+no one will be able to utilize the features of this application until the
+Tomcat administrator specifically assigns this role to one or more users.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Realm Logging"><strong>Realm Logging</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Debugging and exception messages logged by a <code>Realm</code> will
+   be recorded by the logging configuration associated with the container
+   for the realm: its surrounding <a href="config/context.html">Context</a>,
+   <a href="config/host.html">Host</a>, or
+   <a href="config/engine.html">Engine</a>.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Realm Implementations"><strong>Standard Realm Implementations</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JDBCRealm"><strong>JDBCRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JDBCRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JDBC driver.  There is substantial configuration flexibility
+that lets you adapt to existing table and column names, as long as your
+database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JDBCRealm, you will need to follow these steps:</p>
+<ol>
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Place a copy of the JDBC driver you will be using inside the
+    <code>$CATALINA_HOME/server/lib</code> directory (if you do not need it
+    visible to web applications) or <code>$CATALINA_HOME/common/lib</code>
+    (if it will be used both by Tomcat 5 <em>and</em> by your apps).
+    Note that <strong>only</strong> JAR files are recognized!</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JDBCRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Example <code>Realm</code> elements are included (commented out) in the
+default <code>$CATALINA_HOME/conf/server.xml</code> file.  Here's an example
+for using a MySQL database called "authority", configured with the tables
+described above, and accessed with username "dbuser" and password "dbpass":</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
+      driverName="org.gjt.mm.mysql.Driver"
+   connectionURL="jdbc:mysql://localhost/authority?user=dbuser&amp;amp;password=dbpass"
+       userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>JDBCRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="DataSourceRealm"><strong>DataSourceRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>DataSourceRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in a relational database
+accessed via a JNDI named JDBC DataSource.  There is substantial configuration
+flexibility that lets you adapt to existing table and column names, as long
+as your database structure conforms to the following requirements:</p>
+<ul>
+<li>There must be a table, referenced below as the <em>users</em> table,
+    that contains one row for every valid user that this <code>Realm</code>
+    should recognize.</li>
+<li>The <em>users</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat when the user logs in.</li>
+    <li>Password to be recognized by Tomcat when the user logs in.
+        This value may in cleartext or digested - see below for more
+        information.</li>
+    </ul></li>    
+<li>There must be a table, referenced below as the <em>user roles</em> table,
+    that contains one row for every valid role that is assigned to a
+    particular user.  It is legal for a user to have zero, one, or more than
+    one valid role.</li>
+<li>The <em>user roles</em> table must contain at least two columns (it may
+    contain more if your existing applications required it):
+    <ul>
+    <li>Username to be recognized by Tomcat (same value as is specified
+        in the <em>users</em> table).</li>
+    <li>Role name of a valid role associated with this user.</li>
+    </ul></li>
+</ul>
+
+<h3>Quick Start</h3>
+                  
+<p>To set up Tomcat to use DataSourceRealm, you will need to follow these steps:</p>
+<ol>              
+<li>If you have not yet done so, create tables and columns in your database
+    that conform to the requirements described above.</li>
+<li>Configure a database username and password for use by Tomcat, that has
+    at least read only access to the tables described above.  (Tomcat will
+    never attempt to write to these tables.)</li>
+<li>Configure a JNDI named JDBC DataSource for your database.  Refer to the
+    <a href="jndi-datasource-examples-howto.html">JNDI DataSource Example HOW-TO</a>
+    for information on how to configure a JNDI named JDBC DataSource.</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a DataSourceRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>An example SQL script to create the needed tables might look something
+like this (adapt the syntax as required for your particular database):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+create table users (
+  user_name         varchar(15) not null primary key,
+  user_pass         varchar(15) not null
+);
+
+create table user_roles (
+  user_name         varchar(15) not null,
+  role_name         varchar(15) not null,
+  primary key (user_name, role_name)
+);
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Here is an example for using a MySQL database called "authority", configured
+with the tables described above, and accessed with the JNDI JDBC DataSource with
+name "java:/comp/env/jdbc/authority".</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
+   dataSourceName="jdbc/authority"
+   userTable="users" userNameCol="user_name" userCredCol="user_pass"
+   userRoleTable="user_roles" roleNameCol="role_name"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>DataSourceRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the database
+    directly (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the database
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the <em>users</em> and <em>user roles</em>
+    table is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JNDIRealm"><strong>JNDIRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>JNDIRealm</strong> is an implementation of the Tomcat 5
+<code>Realm</code> interface that looks up users in an LDAP directory
+server accessed by a JNDI provider (typically, the standard LDAP
+provider that is available with the JNDI API classes). The realm
+supports a variety of approaches to using a directory for
+authentication.</p>
+
+<h4>Connecting to the directory</h4>
+
+<p>The realm's connection to the directory is defined by the
+<strong>connectionURL</strong> configuration attribute. This is a URL
+whose format is defined by the JNDI provider. It is usually an LDAP
+URL that specifies the domain name of the directory server to connect
+to, and optionally the port number and distinguished name (DN) of the
+required root naming context.</p>
+
+<p>If you have more than one provider you can configure an
+<strong>alternateURL</strong>.  If a socket connection can not be
+made to the provider at the <strong>connectionURL</strong> an
+attempt will be made to use the <strong>alternateURL</strong>.</p>
+
+<p>When making a connection in order to search the directory and
+retrieve user and role information, the realm authenticates itself to
+the directory with the username and password specified by the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> properties. If these properties
+are not specified the connection is anonymous. This is sufficient in
+many cases.
+</p>
+
+
+<h4>Selecting the user's directory entry</h4>
+
+<p>Each user that can be authenticated must be represented in the
+directory by an individual entry that corresponds to an element in the
+initial <code>DirContext</code> defined by the
+<strong>connectionURL</strong> attribute. This user entry must have an
+attribute containing the username that is presented for
+authentication.</p>
+
+<p>Often the distinguished name of the user's entry contains the
+username presented for authentication but is otherwise the same for
+all users. In this case the <strong>userPattern</strong> attribute may
+be used to specify the DN, with "{0}" marking where
+the username should be substituted.</p>
+
+<p>Otherwise the realm must search the directory to find a unique entry
+containing the username. The following attributes configure this
+search:
+
+     <ul>
+     <li><strong>userBase</strong> - the entry that is the base of
+         the subtree containing users.  If not specified, the search
+         base is the top-level context.</li>
+
+     <li><strong>userSubtree</strong> - the search scope. Set to
+         <code>true</code> if you wish to search the entire subtree
+         rooted at the <strong>userBase</strong> entry. The default value
+         of <code>false</code> requests a single-level search
+         including only the top level.</li>
+
+     <li><strong>userSearch</strong> - pattern specifying the LDAP
+         search filter to use after substitution of the username.</li>
+
+    </ul>
+</p>
+
+
+<h4>Authenticating the user</h4>
+
+<ul>
+<li>
+<p><b>Bind mode</b></p>
+
+<p>By default the realm authenticates a user by binding to
+the directory with the DN of the entry for that user and the password
+presented by the user. If this simple bind succeeds the user is considered to
+be authenticated.</p>
+
+<p>For security reasons a directory may store a digest of the user's
+password rather than the clear text version (see <a href="#Digested Passwords">Digested Passwords</a> for more information). In that case,
+as part of the simple bind operation the directory automatically
+computes the correct digest of the plaintext password presented by the
+user before validating it against the stored value. In bind mode,
+therefore, the realm is not involved in digest processing. The
+<strong>digest</strong> attribute is not used, and will be ignored if
+set.</p>
+</li>
+
+<li>
+<p><b>Comparison mode</b></p>
+<p>Alternatively, the realm may retrieve the stored
+password from the directory and compare it explicitly with the value
+presented by the user. This mode is configured by setting the
+<strong>userPassword</strong> attribute to the name of a directory
+attribute in the user's entry that contains the password.</p>
+
+<p>Comparison mode has some disadvantages. First, the
+<strong>connectionName</strong> and
+<strong>connectionPassword</strong> attributes must be configured to
+allow the realm to read users' passwords in the directory. For
+security reasons this is generally undesirable; indeed many directory
+implementations will not allow even the directory manager to read
+these passwords. In addition, the realm must handle password digests
+itself, including variations in the algorithms used and ways of
+representing password hashes in the directory. However, the realm may
+sometimes need access to the stored password, for example to support
+HTTP Digest Access Authentication (RFC 2069). (Note that HTTP digest
+authentication is different from the storage of password digests in
+the repository for user information as discussed above).
+</p>
+</li>
+</ul>
+
+<h4>Assigning roles to the user</h4>
+
+<p>The directory realm supports two approaches to the representation
+of roles in the directory:</p>
+
+<ul>
+<li>
+<p><b>Roles as explicit directory entries</b></p>
+
+<p>Roles may be represented by explicit directory entries. A role
+entry is usually an LDAP group entry with one attribute
+containing the name of the role and another whose values are the
+distinguished names or usernames of the users in that role.  The
+following attributes configure a directory search to
+find the names of roles associated with the authenticated user:</p>
+
+<ul>
+<li><strong>roleBase</strong> - the base entry for the role search.
+    If not specified, the search base is the top-level directory
+    context.</li>
+
+<li><strong>roleSubtree</strong> - the search
+    scope. Set to <code>true</code> if you wish to search the entire
+    subtree rooted at the <code>roleBase</code> entry. The default
+    value of <code>false</code> requests a single-level search
+    including the top level only.</li>
+
+<li><strong>roleSearch</strong> - the LDAP search filter for
+    selecting role entries. It optionally includes pattern
+    replacements "{0}" for the distinguished name and/or "{1}" for the
+    username of the authenticated user.</li>
+
+<li><strong>roleName</strong> - the attribute in a role entry
+     containing the name of that role.</li>
+
+</ul>
+
+</li>
+</ul>
+
+<ul>
+<li>
+<p><b>Roles as an attribute of the user entry</b></p>
+
+<p>Role names may also be held as the values of an attribute in the
+user's directory entry. Use <strong>userRoleName</strong> to specify
+the name of this attribute.</p>
+
+</li>
+</ul>
+<p>A combination of both approaches to role representation may be used.</p>
+
+<h3>Quick Start</h3>
+
+<p>To set up Tomcat to use JNDIRealm, you will need to follow these steps:</p>
+<ol>
+<li>Make sure your directory server is configured with a schema that matches
+    the requirements listed above.</li>
+<li>If required, configure a username and password for use by Tomcat, that has
+    read only access to the information described above.  (Tomcat will
+    never attempt to modify this information.)</li>
+<li>Place a copy of the JNDI driver you will be using (typically
+    <code>ldap.jar</code> available with JNDI) inside the
+    <code>$CATALINA_HOME/server/lib</code> directory (if you do not need it
+    visible to web applications) or <code>$CATALINA_HOME/common/lib</code>
+    (if it will be used both by Tomcat 5 <em>and</em> by your apps).</li>
+<li>Set up a <code>&lt;Realm&gt;</code> element, as described below, in your
+    <code>$CATALINA_HOME/conf/server.xml</code> file.</li>
+<li>Restart Tomcat 5 if it is already running.</li>
+</ol>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JNDIRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>Creation of the appropriate schema in your directory server is beyond the
+scope of this document, because it is unique to each directory server
+implementation.  In the examples below, we will assume that you are using a
+distribution of the OpenLDAP directory server (version 2.0.11 or later), which
+can be downloaded from
+<a href="http://www.openldap.org">http://www.openldap.org</a>.  Assume that
+your <code>slapd.conf</code> file contains the following settings
+(among others):</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+database ldbm
+suffix dc="mycompany",dc="com"
+rootdn "cn=Manager,dc=mycompany,dc=com"
+rootpw secret
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>We will assume for <code>connectionURL</code> that the directory
+server runs on the same machine as Tomcat.  See <a href="http://java.sun.com/products/jndi/docs.html">http://java.sun.com/products/jndi/docs.html</a>
+for more information about configuring and using the JNDI LDAP
+provider.</p>
+
+<p>Next, assume that this directory server has been populated with elements
+as shown below (in LDIF format):</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+
+# Define top-level entry
+dn: dc=mycompany,dc=com
+objectClass: dcObject
+dc:mycompany
+
+# Define an entry to contain people
+# searches for users are based on this entry
+dn: ou=people,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: people
+
+# Define a user entry for Janet Jones
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones at mycompany.com
+userPassword: janet
+
+# Define a user entry for Fred Bloggs
+dn: uid=fbloggs,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: fbloggs
+sn: bloggs
+cn: fred bloggs
+mail: f.bloggs at mycompany.com
+userPassword: fred
+
+# Define an entry to contain LDAP groups
+# searches for roles are based on this entry
+dn: ou=groups,dc=mycompany,dc=com
+objectClass: organizationalUnit
+ou: groups
+
+# Define an entry for the "tomcat" role
+dn: cn=tomcat,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: tomcat
+uniqueMember: uid=jjones,ou=people,dc=mycompany,dc=com
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+
+# Define an entry for the "role1" role
+dn: cn=role1,ou=groups,dc=mycompany,dc=com
+objectClass: groupOfUniqueNames
+cn: role1
+uniqueMember: uid=fbloggs,ou=people,dc=mycompany,dc=com
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>An example <code>Realm</code> element for the OpenLDAP directory
+server configured as described above might look like this, assuming
+that users use their uid (e.g. jjones) to login to the
+application and that an anonymous connection is sufficient to search
+the directory and retrieve role information:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>With this configuration, the realm will determine the user's
+distinguished name by substituting the username into the
+<code>userPattern</code>, authenticate by binding to the directory
+with this DN and the password received from the user, and search the
+directory to find the user's roles.</p>
+
+<p>Now suppose that users are expected to enter their email address
+rather than their userid when logging in. In this case the realm must
+search the directory for the user's entry. (A search is also necessary
+when user entries are held in multiple subtrees corresponding perhaps
+to different organizational units or company locations).</p>
+
+<p>Further, suppose that in addition to the group entries you want to
+use an attribute of the user's entry to hold roles. Now the entry for
+Janet Jones might read as follows:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+dn: uid=jjones,ou=people,dc=mycompany,dc=com
+objectClass: inetOrgPerson
+uid: jjones
+sn: jones
+cn: janet jones
+mail: j.jones at mycompany.com
+memberOf: role2
+memberOf: role3
+userPassword: janet
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p> This realm configuration would satisfy the new requirements:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+     connectionURL="ldap://localhost:389"
+          userBase="ou=people,dc=mycompany,dc=com"
+        userSearch="(mail={0})"
+      userRoleName="memberOf"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>Now when Janet Jones logs in as "j.jones at mycompany.com", the realm
+searches the directory for a unique entry with that value as its mail
+attribute and attempts to bind to the directory as
+<code>uid=jjones,ou=people,dc=mycompany,dc=com</code> with the given
+password. If authentication succeeds, she is assigned three roles:
+"role2" and "role3", the values of the "memberOf" attribute in her
+directory entry, and "tomcat", the value of the "cn" attribute in the
+only group entry of which she is a member.</p>
+
+<p>Finally, to authenticate the user by retrieving
+the password from the directory and making a local comparison in the
+realm, you might use a realm configuration like this:</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
+    connectionName="cn=Manager,dc=mycompany,dc=com"
+connectionPassword="secret"
+     connectionURL="ldap://localhost:389"
+      userPassword="userPassword"
+       userPattern="uid={0},ou=people,dc=mycompany,dc=com"
+          roleBase="ou=groups,dc=mycompany,dc=com"
+          roleName="cn"
+        roleSearch="(uniqueMember={0})"
+/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>However, as discussed above, the default bind mode for
+authentication is usually to be preferred.</p>
+
+<h3>Additional Notes</h3>
+
+<p>JNDIRealm operates according to the following rules:</p>
+<ul>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.  Thus, any changes you have made to the directory
+    (new users, changed passwords or roles, etc.) will be immediately
+    reflected.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations. Any changes to the directory
+    information for an already authenticated user will <strong>not</strong> be
+    reflected until the next time that user logs on again.</li>
+<li>Administering the information in the directory server
+    is the responsibility of your own applications.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="MemoryRealm"><strong>MemoryRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>MemoryRealm</strong> is a simple demonstration implementation of the
+Tomcat 5 <code>Realm</code> interface.  It is not designed for production use.
+At startup time, MemoryRealm loads information about all users, and their
+corresponding roles, from an XML document (by default, this document is loaded from <code>$CATALINA_HOME/conf/tomcat-users.xml</code>).  Changes to the data
+in this file are not recognized until Tomcat is restarted.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a MemoryRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>User File Format</h3>
+
+<p>The users file (by default, <code>conf/tomcat-users.xml</code> must be an
+XML document, with a root element <code>&lt;tomcat-users&gt;</code>.  Nested
+inside the root element will be a <code>&lt;user&gt;</code> element for each
+valid user, consisting of the following attributes:</p>
+<ul>
+<li><strong>name</strong> - Username this user must log on with.</li>
+<li><strong>password</strong> - Password this user must log on with (in
+    clear text if the <code>digest</code> attribute was not set on the
+    <code>&lt;Realm&gt;</code> element, or digested appropriately as
+    described <a href="#Digested Passwords">here</a> otherwise).</li>
+<li><strong>roles</strong> - Comma-delimited list of the role names
+    associated with this user.</li>
+</ul>
+
+<h3>Example</h3>
+
+<p>The default contents of the
+<code>conf/tomcat-users.xml</code> file is:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;tomcat-users&gt;
+  &lt;user name="tomcat" password="tomcat" roles="tomcat" /&gt;
+  &lt;user name="role1"  password="tomcat" roles="role1"  /&gt;
+  &lt;user name="both"   password="tomcat" roles="tomcat,role1" /&gt;
+&lt;/tomcat-users&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<h3>Additional Notes</h3>
+
+<p>MemoryRealm operates according to the following rules:</p>
+<ul>
+<li>When Tomcat first starts up, it loads all defined users and their
+    associated information from the users file.  Changes to the data in
+    this file will <strong>not</strong> be recognized until Tomcat is
+    restarted.</li>
+<li>When a user attempts to access a protected resource for the first time,
+    Tomcat 5 will call the <code>authenticate()</code> method of this
+    <code>Realm</code>.</li>
+<li>Once a user has been authenticated, the user (and his or her associated
+    roles) are cached within Tomcat for the duration of the user's login.
+    (For FORM-based authentication, that means until the session times out or
+    is invalidated; for BASIC authentication, that means until the user
+    closes their browser).  The cached user is <strong>not</strong> saved and
+    restored across sessions serialisations.</li>
+<li>Administering the information in the users file is the responsibility
+    of your application.  Tomcat does not
+    provide any built-in capabilities to maintain users and roles.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="UserDatabaseRealm"><strong>UserDatabaseRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+<p><strong>UserDatabaseRealm</strong> is an implementation of the
+Tomcat <code>Realm</code> interface. Information about all users, and their
+corresponding roles, is obtained from a JNDI resource that implements the
+<code>UserDatabase</code> interface.</p>
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a UserDatabaseRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>The default installation of Tomcat 5 is configured with a
+UserDatabaseRealm nested inside the <code>&lt;Engine&gt;</code> element, so that
+it applies to all virtual hosts and web applications. This realm uses the
+same <code>tomcat-users.xml</code> as the MemoryRealm.</p>
+
+</blockquote></td></tr></table>
+
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="JAASRealm"><strong>JAASRealm</strong></a></font></td></tr><tr><td><blockquote>
+
+<h3>Introduction</h3>
+
+        <p><strong>JAASRealm</strong> is an implementation of the Tomcat
+4 <code>Realm</code> interface that authenticates users through the Java
+Authentication &amp; Authorization Service (JAAS) framework, a Java
+package that is available as an optional package in Java 2 SDK 1.3 and
+is fully integrated as of SDK 1.4 .</p>
+        <p>Using JAASRealm gives the developer the ability to combine
+practically any conceivable security realm with Tomcat's CMA. </p>
+        <p>JAASRealm is prototype for Tomcat of the proposed JAAS-based
+J2EE authentication framework for J2EE v1.4, based on the <a href="http://www.jcp.org/en/jsr/detail?id=196">JCP Specification
+Request 196</a> to enhance container-managed security and promote
+'pluggable' authentication mechanisms whose implementations would be
+container-independent.
+        </p>
+        <p>Based on the JAAS login module and principal (see <code>javax.security.auth.spi.LoginModule</code>
+and <code>javax.security.Principal</code>), you can develop your own
+security mechanism or wrap another third-party mechanism for
+integration with the CMA as implemented by Tomcat.
+        </p>
+
+        <h3>Quick Start</h3>
+        <p>To set up Tomcat to use JAASRealm with your own JAAS login module,
+ you will need to follow these steps:</p>
+        <ol>
+          <li>Write your own LoginModule, User and Role classes based
+on JAAS (see 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/GeneralAcnOnly.html">the
+JAAS Authentication Tutorial</a> and 
+<a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/JAASLMDevGuide.html">the JAAS Login Module 
+Developer's Guide</a>) to be managed by the JAAS Login
+Context (<code>javax.security.auth.login.LoginContext</code>)
+When developing your LoginModule, note that JAASRealm's built-in <code>CallbackHandler</code>
++only recognizes the <code>NameCallback</code> and <code>PasswordCallback</code> at present.
+          </li>
+          <li>Although not specified in JAAS, you should create
+seperate classes to distinguish between users and roles, extending <code>javax.security.Principal</code>,
+so that Tomcat can tell which Principals returned from your login
+module are users and which are roles (see <code>org.apache.catalina.realm.JAASRealm</code>).
+Regardless, the first Principal returned is <em>always</em> treated as the user Principal.
+          </li>
+          <li>Place the compiled classes on Tomcat's classpath
+          </li>
+          <li>Set up a login.config file for Java (see <a href="http://java.sun.com/j2se/1.4.1/docs/guide/security/jaas/tutorials/LoginConfigFile.html">JAAS
+LoginConfig file</a>) and tell Tomcat where to find it by specifying
+its location to the JVM, for instance by setting the environment
+variable: <code>JAVA_OPTS=-DJAVA_OPTS=-Djava.security.auth.login.config==$CATALINA_HOME/conf/jaas.config</code></li>
+
+          <li>Configure your security-constraints in your web.xml for
+the resources you want to protect</li>
+          <li>Configure the JAASRealm module in your server.xml </li>
+          <li>Restart Tomcat 5 if it is already running.</li>
+        </ol>
+
+
+<h3>Realm Element Attributes</h3>
+
+<p>To configure a JAASRealm, you must create a <code>&lt;Realm&gt;</code>
+element and nest it in your <code>$CATALINA_HOME/conf/server.xml</code> file,
+as described <a href="#Configuring a Realm">above</a>.  The attributes supported
+by this Realm are listed in the <a href="config/realm.html">Realm configuration
+documentation</a>.</p>
+
+<h3>Example</h3>
+
+<p>Here is an example of how your server.xml snippet should look.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Realm className="org.apache.catalina.realm.JAASRealm"                 
+                appName="MyFooRealm"       
+    userClassNames="org.foobar.realm.FooUser"       
+     roleClassNames="org.foobar.realm.FooRole" 
+                      debug="99"/&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>It is the responsibility of your login module to create and save User and 
+Role objects representing Principals for the user 
+(<code>javax.security.auth.Subject</code>). If your login module doesn't 
+create a user object but also doesn't throw a login exception, then the 
+Tomcat CMA will break and you will be left at the 
+http://localhost:8080/myapp/j_security_check URI or at some other 
+unspecified location.</p>
+
+        <p>The flexibility of the JAAS approach is two-fold: </p>
+        <ul>
+          <li>you can carry out whatever processing you require behind
+the scenes in your own login module.</li>
+          <li>you can plug in a completely different LoginModule by changing the configuration 
+and restarting the server, without any code changes to your application.</li>
+        </ul>
+
+        <h3>Additional Notes</h3>
+        <ul>
+          <li>When a user attempts to access a protected resource for
+              the first time, Tomcat 5 will call the <code>authenticate()</code>
+              method of this <code>Realm</code>.  Thus, any changes you have made in
+              the security mechanism directly (new users, changed passwords or
+              roles, etc.) will be immediately reflected.</li>
+          <li>Once a user has been authenticated, the user (and his or
+              her associated roles) are cached within Tomcat for the duration of
+              the user's login.  For FORM-based authentication, that means until
+              the session times out or is invalidated; for BASIC authentication,
+              that means until the user closes their browser.  Any changes to the
+              security information for an already authenticated user will <strong>not</strong>
+              be reflected until the next time that user logs on again.</li>
+          <li>As with other <code>Realm</code> implementations, digested passwords
+              are supported if the <code>&lt;Realm&gt;</code> element in <code>server.xml</code>
+              contains a <code>digest</code> attribute; JAASRealm's <code>CallbackHandler</code>
+              will digest the password prior to passing it back to the <code>LoginModule</code></li>  
+        </ul>
+
+</blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/security-manager-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/security-manager-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/security-manager-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,357 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Security Manager HOW-TO</title><meta value="Glenn Nielsen" name="author"><meta value="glenn at voyager.apg.more.net" name="email"><meta value="Jean-Francois Arcand" name="author"><meta value="jeanfrancois.arcand at sun.com" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Security Manager HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/security-manager-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Background"><strong>Background</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>The Java <strong>SecurityManager</strong> is what allows a web browser
+  to run an applet in its own sandbox to prevent untrusted code from
+  accessing files on the local file system, connecting to a host other
+  than the one the applet was loaded from, and so on.  In the same way
+  the SecurityManager protects you from an untrusted applet running in
+  your browser, use of a SecurityManager while running Tomcat can protect
+  your server from trojan servlets, JSPs, JSP beans, and tag libraries.
+  Or even inadvertent mistakes.</p>
+
+  <p>Imagine if someone who is authorized to publish JSPs on your site
+  inadvertently included the following in their JSP:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;% System.exit(1); %&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>Every time this JSP was executed by Tomcat, Tomcat would exit.
+  Using the Java SecurityManager is just one more line of defense a
+  system administrator can use to keep the server secure and reliable.</p>
+
+  <p><strong>WARNING</strong> - A security audit
+  have been conducted using the Tomcat 5 codebase. Most of the critical
+  package have been protected and a new security package protection mechanism 
+  has been implemented. Still, make sure that you are satisfied with your SecurityManager 
+  configuration before allowing untrusted users to publish web applications, 
+  JSPs, servlets, beans, or tag libraries.  <strong>However, running with a 
+  SecurityManager is definitely better than running without one.</strong></p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Permissions"><strong>Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>Permission classes are used to define what Permissions a class loaded
+  by Tomcat will have.  There are a number of Permission classes that are
+  a standard part of the JDK, and you can create your own Permission class
+  for use in your own web applications.  Both techniques are used in
+  Tomcat 5.</p>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Standard Permissions"><strong>Standard Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>This is just a short summary of the standard system SecurityManager
+    Permission classes applicable to Tomcat.  See
+    <a href="http://java.sun.com/security/">http://java.sun.com/security/</a>
+    for more information.</p>
+
+    <ul>
+    <li><strong>java.util.PropertyPermission</strong> - Controls read/write
+        access to JVM properties such as <code>java.home</code>.</li>
+    <li><strong>java.lang.RuntimePermission</strong> - Controls use of
+        some System/Runtime functions like <code>exit()</code> and
+        <code>exec()</code>. Also control the package access/definition.</li>
+    <li><strong>java.io.FilePermission</strong> - Controls read/write/execute
+        access to files and directories.</li>
+    <li><strong>java.net.SocketPermission</strong> - Controls use of
+        network sockets.</li>
+    <li><strong>java.net.NetPermission</strong> - Controls use of
+        multicast network connections.</li>
+    <li><strong>java.lang.reflect.ReflectPermission</strong> - Controls
+        use of reflection to do class introspection.</li>
+    <li><strong>java.security.SecurityPermission</strong> - Controls access
+        to Security methods.</li>
+    <li><strong>java.security.AllPermission</strong> - Allows access to all
+        permissions, just as if you were running Tomcat without a
+        SecurityManager.</li>
+    </ul>
+
+  </blockquote></td></tr></table>
+
+
+  <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat Custom Permissions"><strong>Tomcat Custom Permissions</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat utilizes a custom permission class called
+    <strong>org.apache.naming.JndiPermission</strong>.  This permission
+    controls read access to JNDI named file based resources.  The permission
+    name is the JNDI name and there are no actions.  A trailing "*" can be
+    used to do wild card matching for a JNDI named file resource when
+    granting permission.  For example, you might include the following
+    in your policy file:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+permission  org.apache.naming.JndiPermission  "jndi://localhost/examples/*";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>A Permission entry like this is generated dynamically for each web
+    application that is deployed, to allow it to read its own static resources
+    but disallow it from using file access to read any other files (unless
+    permissions for those files are explicitly granted).</p>
+
+    <p>Also, Tomcat always dynamically creates the following file permission:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+permission java.io.FilePermission "** your application context**", "read";
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>  
+    <p>Where **your application context** equals the folder(or WAR file) under which 
+    your application has been deployed. </p>  
+
+  </blockquote></td></tr></table>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Tomcat With A SecurityManager"><strong>Configuring Tomcat With A SecurityManager</strong></a></font></td></tr><tr><td><blockquote>
+
+  <h3>Policy File Format</h3>
+
+  <p>The security policies implemented by the Java SecurityManager are
+  configured in the <code>$CATALINA_HOME/conf/catalina.policy</code> file.
+  This file completely replaces the <code>java.policy</code> file present
+  in your JDK system directories.  The <code>catalina.policy</code> file
+  can be edited by hand, or you can use the
+  <a href="http://java.sun.com/products/jdk/1.2/docs/tooldocs/solaris/policytool.html">policytool</a>
+  application that comes with Java 1.2 or later.</p>
+
+  <p>Entries in the <code>catalina.policy</code> file use the standard
+  <code>java.policy</code> file format, as follows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// Example policy file entry
+
+grant [signedBy &lt;signer&gt;,] [codeBase &lt;code source&gt;] {
+  permission  &lt;class&gt;  [&lt;name&gt; [, &lt;action list&gt;]];
+};
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>The <strong>signedBy</strong> and <strong>codeBase</strong> entries are
+  optional when granting permissions.  Comment lines begin with "//" and
+  end at the end of the current line.  The <code>codeBase</code> is in the
+  form of a URL, and for a file URL can use the <code>${java.home}</code>
+  and <code>${catalina.home}</code> properties (which are expanded out to
+  the directory paths defined for them by the <code>JAVA_HOME</code> and
+  <code>CATALINA_HOME</code> environment variables).</p>
+
+  <h3>The Default Policy File</h3>
+
+  <p>The default <code>$CATALINA_HOME/conf/catalina.policy</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+// ============================================================================
+// catalina.corepolicy - Security Policy Permissions for Tomcat 5
+//
+// This file contains a default set of security policies to be enforced (by the
+// JVM) when Catalina is executed with the "-security" option.  In addition
+// to the permissions granted here, the following additional permissions are
+// granted to the codebase specific to each web application:
+//
+// * Read access to the document root directory
+//
+// $Id: security-manager-howto.xml 301460 2003-01-15 03:40:45Z glenn $
+// ============================================================================
+
+
+// ========== SYSTEM CODE PERMISSIONS =========================================
+
+
+// These permissions apply to javac
+grant codeBase "file:${java.home}/lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions
+grant codeBase "file:${java.home}/jre/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to javac when ${java.home] points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/../lib/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to all shared system extensions when
+// ${java.home} points at $JAVA_HOME/jre
+grant codeBase "file:${java.home}/lib/ext/-" {
+        permission java.security.AllPermission;
+};
+
+
+// ========== CATALINA CODE PERMISSIONS =======================================
+
+
+// These permissions apply to the launcher code
+grant codeBase "file:${catalina.home}/bin/commons-launcher.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the server startup code
+grant codeBase "file:${catalina.home}/bin/bootstrap.jar" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the servlet API classes
+// and those that are shared across all class loaders
+// located in the "common" directory
+grant codeBase "file:${catalina.home}/common/-" {
+        permission java.security.AllPermission;
+};
+
+// These permissions apply to the container's core code, plus any additional
+// libraries installed in the "server" directory
+grant codeBase "file:${catalina.home}/server/-" {
+        permission java.security.AllPermission;
+};
+
+// ========== WEB APPLICATION PERMISSIONS =====================================
+
+
+// These permissions are granted by default to all web applications
+// In addition, a web application will be given a read FilePermission
+// and JndiPermission for all files and directories in its document root.
+grant { 
+        // Required for JNDI lookup of named JDBC DataSource's and
+        // javamail named MimePart DataSource used to send mail
+        permission java.util.PropertyPermission "java.home", "read";
+        permission java.util.PropertyPermission "java.naming.*", "read";
+        permission java.util.PropertyPermission "javax.sql.*", "read";
+
+        // OS Specific properties to allow read access
+	permission java.util.PropertyPermission "os.name", "read";
+	permission java.util.PropertyPermission "os.version", "read";
+	permission java.util.PropertyPermission "os.arch", "read";
+	permission java.util.PropertyPermission "file.separator", "read";
+	permission java.util.PropertyPermission "path.separator", "read";
+	permission java.util.PropertyPermission "line.separator", "read";
+
+        // JVM properties to allow read access
+        permission java.util.PropertyPermission "java.version", "read";
+        permission java.util.PropertyPermission "java.vendor", "read";
+        permission java.util.PropertyPermission "java.vendor.url", "read";
+        permission java.util.PropertyPermission "java.class.version", "read";
+	permission java.util.PropertyPermission "java.specification.version", "read";
+	permission java.util.PropertyPermission "java.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.specification.name", "read";
+
+	permission java.util.PropertyPermission "java.vm.specification.version", "read";
+	permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.specification.name", "read";
+	permission java.util.PropertyPermission "java.vm.version", "read";
+	permission java.util.PropertyPermission "java.vm.vendor", "read";
+	permission java.util.PropertyPermission "java.vm.name", "read";
+
+        // Required for getting BeanInfo
+        permission java.lang.RuntimePermission "accessClassInPackage.sun.beans.*";
+
+        // Required for OpenJMX
+        permission java.lang.RuntimePermission "getAttribute";
+
+	// Allow read of JAXP compliant XML parser debug
+	permission java.util.PropertyPermission "jaxp.debug", "read";
+};
+
+
+// You can assign additional permissions to particular web applications by
+// adding additional "grant" entries here, based on the code base for that
+// application, /WEB-INF/classes/, or /WEB-INF/lib/ jar files.
+//
+// Different permissions can be granted to JSP pages, classes loaded from
+// the /WEB-INF/classes/ directory, all jar files in the /WEB-INF/lib/
+// directory, or even to individual jar files in the /WEB-INF/lib/ directory.
+//
+// For instance, assume that the standard "examples" application
+// included a JDBC driver that needed to establish a network connection to the
+// corresponding database and used the scrape taglib to get the weather from
+// the NOAA web server.  You might create a "grant" entries like this:
+//
+// The permissions granted to the context root directory apply to JSP pages.
+// grant codeBase "file:${catalina.home}/webapps/examples/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+//
+// The permissions granted to the context WEB-INF/classes directory
+// grant codeBase "file:${catalina.home}/webapps/examples/WEB-INF/classes/-" {
+// };
+//
+// The permission granted to your JDBC driver
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/driver.jar!/-" {
+//      permission java.net.SocketPermission "dbhost.mycompany.com:5432", "connect";
+// };
+// The permission granted to the scrape taglib
+// grant codeBase "jar:file:${catalina.home}/webapps/examples/WEB-INF/lib/scrape.jar!/-" {
+//      permission java.net.SocketPermission "*.noaa.gov:80", "connect";
+// };
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <h3>Starting Tomcat With A SecurityManager</h3>
+
+  <p>Once you have configured the <code>catalina.policy</code> file for use
+  with a SecurityManager, Tomcat can be started with a SecurityManager in
+  place by using the "-security" option:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/bin/catalina.sh start -security    (Unix)
+%CATALINA_HOME%\bin\catalina start -security      (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Package Protection in Tomcat"><strong>Configuring Package Protection in Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+  <p>Starting with Tomcat 5, it is now possible to configure which Tomcat
+  internal package are protected againts package definition and access. See
+  <a href="http://java.sun.com/security/seccodeguide.html">
+    http://java.sun.com/security/seccodeguide.html</a>
+    for more information.</p>    
+
+  
+  <p><strong>WARNING</strong>: Be aware that removing the default package protection 
+  could possibly open a security hole</p>
+
+  <h3>The Default Properties File</h3>
+
+  <p>The default <code>$CATALINA_HOME/conf/catalina.properties</code> file
+  looks like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>  
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,
+org.apache.jasper.
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, no packages are restricted for definition, and none of
+# the class loaders supplied with the JDK call checkPackageDefinition.
+#
+package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,
+org.apache.tomcat.,org.apache.jasper.
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  <p>Once you have configured the <code>catalina.properties</code> file for use
+  with a SecurityManager, remember to re-start Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+  <p>If your web application attempts to execute an operation that is
+  prohibited by lack of a required Permission, it will throw an
+  <code>AccessControLException</code> or a <code>SecurityException</code>
+  when the SecurityManager detects the violation.  Debugging the permission
+  that is missing can be challenging, and one option is to turn on debug
+  output of all security decisions that are made during execution.  This
+  is done by setting a system property before starting Tomcat.  The easiest
+  way to do this is via the <code>CATALINA_OPTS</code> environment variable.
+  Execute this command:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+export CATALINA_OPTS=-Djava.security.debug=all    (Unix)
+set CATALINA_OPTS=-Djava.security.debug=all       (Windows)
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+  <p>before starting Tomcat.</p>
+
+  <p><strong>WARNING</strong> - This will generate <em>many megabytes</em>
+  of output!  However, it can help you track down problems by searching
+  for the word "FAILED" and determining which permission was being checked
+  for.  See the Java security documentation for more options that you can
+  specify here as well.</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+All Classes (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http" target="classFrame">Cookie</A>
+<BR>
+<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet" target="classFrame"><I>Filter</I></A>
+<BR>
+<A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet" target="classFrame"><I>FilterChain</I></A>
+<BR>
+<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet" target="classFrame"><I>FilterConfig</I></A>
+<BR>
+<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet" target="classFrame">GenericServlet</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http" target="classFrame">HttpServlet</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpServletRequest</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http" target="classFrame">HttpServletRequestWrapper</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpServletResponse</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http" target="classFrame">HttpServletResponseWrapper</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSession</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionActivationListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http" target="classFrame">HttpSessionBindingEvent</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionBindingListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionContext</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http" target="classFrame">HttpSessionEvent</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http" target="classFrame">HttpUtils</A>
+<BR>
+<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet" target="classFrame"><I>RequestDispatcher</I></A>
+<BR>
+<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet" target="classFrame"><I>Servlet</I></A>
+<BR>
+<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet" target="classFrame"><I>ServletConfig</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet" target="classFrame"><I>ServletContext</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet" target="classFrame">ServletContextAttributeEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletContextAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet" target="classFrame">ServletContextEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletContextListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet" target="classFrame">ServletException</A>
+<BR>
+<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet" target="classFrame">ServletInputStream</A>
+<BR>
+<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet" target="classFrame">ServletOutputStream</A>
+<BR>
+<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequest</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet" target="classFrame">ServletRequestAttributeEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequestAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet" target="classFrame">ServletRequestEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequestListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet" target="classFrame">ServletRequestWrapper</A>
+<BR>
+<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet" target="classFrame"><I>ServletResponse</I></A>
+<BR>
+<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet" target="classFrame">ServletResponseWrapper</A>
+<BR>
+<A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet" target="classFrame"><I>SingleThreadModel</I></A>
+<BR>
+<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet" target="classFrame">UnavailableException</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-noframe.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-noframe.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/allclasses-noframe.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,108 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+All Classes (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<BR>
+<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet"><I>Filter</I></A>
+<BR>
+<A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet"><I>FilterChain</I></A>
+<BR>
+<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet"><I>FilterConfig</I></A>
+<BR>
+<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><I>HttpServletRequest</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><I>HttpServletResponse</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><I>HttpSession</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><I>HttpSessionActivationListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><I>HttpSessionAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><I>HttpSessionBindingListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><I>HttpSessionContext</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>
+<BR>
+<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><I>HttpSessionListener</I></A>
+<BR>
+<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>
+<BR>
+<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><I>RequestDispatcher</I></A>
+<BR>
+<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet"><I>Servlet</I></A>
+<BR>
+<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet"><I>ServletConfig</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><I>ServletContext</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><I>ServletContextAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><I>ServletContextListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<BR>
+<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>
+<BR>
+<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<BR>
+<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet"><I>ServletRequest</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><I>ServletRequestAttributeListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>
+<BR>
+<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><I>ServletRequestListener</I></A>
+<BR>
+<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<BR>
+<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet"><I>ServletResponse</I></A>
+<BR>
+<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<BR>
+<A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><I>SingleThreadModel</I></A>
+<BR>
+<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/constant-values.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/constant-values.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/constant-values.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,442 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Constant Field Values (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#javax.servlet">javax.servlet.*</A>
+</UL>
+
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD ALIGN="left"><FONT SIZE="+2">
+<B>javax.servlet.*</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletRequest.BASIC_AUTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletRequest.html#BASIC_AUTH">BASIC_AUTH</A></CODE></TD>
+<TD ALIGN="right"><CODE>"BASIC"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletRequest.CLIENT_CERT_AUTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletRequest.html#CLIENT_CERT_AUTH">CLIENT_CERT_AUTH</A></CODE></TD>
+<TD ALIGN="right"><CODE>"CLIENT_CERT"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletRequest.DIGEST_AUTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletRequest.html#DIGEST_AUTH">DIGEST_AUTH</A></CODE></TD>
+<TD ALIGN="right"><CODE>"DIGEST"</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletRequest.FORM_AUTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletRequest.html#FORM_AUTH">FORM_AUTH</A></CODE></TD>
+<TD ALIGN="right"><CODE>"FORM"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="0" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=3><B>javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_ACCEPTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_ACCEPTED">SC_ACCEPTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>202</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_BAD_GATEWAY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_BAD_GATEWAY">SC_BAD_GATEWAY</A></CODE></TD>
+<TD ALIGN="right"><CODE>502</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_BAD_REQUEST">SC_BAD_REQUEST</A></CODE></TD>
+<TD ALIGN="right"><CODE>400</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_CONFLICT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CONFLICT">SC_CONFLICT</A></CODE></TD>
+<TD ALIGN="right"><CODE>409</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_CONTINUE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CONTINUE">SC_CONTINUE</A></CODE></TD>
+<TD ALIGN="right"><CODE>100</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_CREATED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CREATED">SC_CREATED</A></CODE></TD>
+<TD ALIGN="right"><CODE>201</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_EXPECTATION_FAILED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_EXPECTATION_FAILED">SC_EXPECTATION_FAILED</A></CODE></TD>
+<TD ALIGN="right"><CODE>417</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_FORBIDDEN"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_FORBIDDEN">SC_FORBIDDEN</A></CODE></TD>
+<TD ALIGN="right"><CODE>403</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_FOUND"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_FOUND">SC_FOUND</A></CODE></TD>
+<TD ALIGN="right"><CODE>302</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_GATEWAY_TIMEOUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_GATEWAY_TIMEOUT">SC_GATEWAY_TIMEOUT</A></CODE></TD>
+<TD ALIGN="right"><CODE>504</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_GONE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_GONE">SC_GONE</A></CODE></TD>
+<TD ALIGN="right"><CODE>410</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_HTTP_VERSION_NOT_SUPPORTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_HTTP_VERSION_NOT_SUPPORTED">SC_HTTP_VERSION_NOT_SUPPORTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>505</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_INTERNAL_SERVER_ERROR">SC_INTERNAL_SERVER_ERROR</A></CODE></TD>
+<TD ALIGN="right"><CODE>500</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_LENGTH_REQUIRED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_LENGTH_REQUIRED">SC_LENGTH_REQUIRED</A></CODE></TD>
+<TD ALIGN="right"><CODE>411</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_METHOD_NOT_ALLOWED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_METHOD_NOT_ALLOWED">SC_METHOD_NOT_ALLOWED</A></CODE></TD>
+<TD ALIGN="right"><CODE>405</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_MOVED_PERMANENTLY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MOVED_PERMANENTLY">SC_MOVED_PERMANENTLY</A></CODE></TD>
+<TD ALIGN="right"><CODE>301</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_MOVED_TEMPORARILY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MOVED_TEMPORARILY">SC_MOVED_TEMPORARILY</A></CODE></TD>
+<TD ALIGN="right"><CODE>302</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_MULTIPLE_CHOICES"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MULTIPLE_CHOICES">SC_MULTIPLE_CHOICES</A></CODE></TD>
+<TD ALIGN="right"><CODE>300</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NO_CONTENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NO_CONTENT">SC_NO_CONTENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>204</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NON_AUTHORITATIVE_INFORMATION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NON_AUTHORITATIVE_INFORMATION">SC_NON_AUTHORITATIVE_INFORMATION</A></CODE></TD>
+<TD ALIGN="right"><CODE>203</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NOT_ACCEPTABLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_ACCEPTABLE">SC_NOT_ACCEPTABLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>406</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NOT_FOUND"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_FOUND">SC_NOT_FOUND</A></CODE></TD>
+<TD ALIGN="right"><CODE>404</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NOT_IMPLEMENTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_IMPLEMENTED">SC_NOT_IMPLEMENTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>501</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_NOT_MODIFIED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_MODIFIED">SC_NOT_MODIFIED</A></CODE></TD>
+<TD ALIGN="right"><CODE>304</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_OK"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_OK">SC_OK</A></CODE></TD>
+<TD ALIGN="right"><CODE>200</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_PARTIAL_CONTENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PARTIAL_CONTENT">SC_PARTIAL_CONTENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>206</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_PAYMENT_REQUIRED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PAYMENT_REQUIRED">SC_PAYMENT_REQUIRED</A></CODE></TD>
+<TD ALIGN="right"><CODE>402</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_PRECONDITION_FAILED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PRECONDITION_FAILED">SC_PRECONDITION_FAILED</A></CODE></TD>
+<TD ALIGN="right"><CODE>412</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PROXY_AUTHENTICATION_REQUIRED">SC_PROXY_AUTHENTICATION_REQUIRED</A></CODE></TD>
+<TD ALIGN="right"><CODE>407</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_ENTITY_TOO_LARGE">SC_REQUEST_ENTITY_TOO_LARGE</A></CODE></TD>
+<TD ALIGN="right"><CODE>413</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_REQUEST_TIMEOUT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_TIMEOUT">SC_REQUEST_TIMEOUT</A></CODE></TD>
+<TD ALIGN="right"><CODE>408</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_REQUEST_URI_TOO_LONG"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_URI_TOO_LONG">SC_REQUEST_URI_TOO_LONG</A></CODE></TD>
+<TD ALIGN="right"><CODE>414</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUESTED_RANGE_NOT_SATISFIABLE">SC_REQUESTED_RANGE_NOT_SATISFIABLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>416</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_RESET_CONTENT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_RESET_CONTENT">SC_RESET_CONTENT</A></CODE></TD>
+<TD ALIGN="right"><CODE>205</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_SEE_OTHER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SEE_OTHER">SC_SEE_OTHER</A></CODE></TD>
+<TD ALIGN="right"><CODE>303</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SERVICE_UNAVAILABLE">SC_SERVICE_UNAVAILABLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>503</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_SWITCHING_PROTOCOLS"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SWITCHING_PROTOCOLS">SC_SWITCHING_PROTOCOLS</A></CODE></TD>
+<TD ALIGN="right"><CODE>101</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_TEMPORARY_REDIRECT"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_TEMPORARY_REDIRECT">SC_TEMPORARY_REDIRECT</A></CODE></TD>
+<TD ALIGN="right"><CODE>307</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_UNAUTHORIZED">SC_UNAUTHORIZED</A></CODE></TD>
+<TD ALIGN="right"><CODE>401</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_UNSUPPORTED_MEDIA_TYPE">SC_UNSUPPORTED_MEDIA_TYPE</A></CODE></TD>
+<TD ALIGN="right"><CODE>415</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="javax.servlet.http.HttpServletResponse.SC_USE_PROXY"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="javax/servlet/http/HttpServletResponse.html#SC_USE_PROXY">SC_USE_PROXY</A></CODE></TD>
+<TD ALIGN="right"><CODE>305</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/deprecated-list.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/deprecated-list.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/deprecated-list.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Deprecated List (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Classes</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">javax.servlet.http.HttpUtils</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java(tm) Servlet API 2.3. 
+			These methods were only useful
+			with the default encoding and have been moved
+			to the request interfaces.</I>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Interfaces</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">javax.servlet.http.HttpSessionContext</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java(tm) Servlet API 2.1
+			for security reasons, with no replacement.
+			This interface will be removed in a future
+			version of this API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet">javax.servlet.SingleThreadModel</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.4, with no direct
+	replacement.</I>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Methods</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpServletResponse.html#encodeRedirectUrl(java.lang.String)">javax.servlet.http.HttpServletResponse.encodeRedirectUrl(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of version 2.1, use 
+			encodeRedirectURL(String url) instead</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)">javax.servlet.http.HttpServletResponse.encodeUrl(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of version 2.1, use encodeURL(String url) instead</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSessionContext.html#getIds()">javax.servlet.http.HttpSessionContext.getIds()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must return 
+			an empty <code>Enumeration</code> and will be removed
+			in a future version of this API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/ServletRequest.html#getRealPath(java.lang.String)">javax.servlet.ServletRequest.getRealPath(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.1 of the Java Servlet API,
+ 			use <A HREF="javax/servlet/ServletContext.html#getRealPath(java.lang.String)"><CODE>ServletContext.getRealPath(java.lang.String)</CODE></A> instead.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/UnavailableException.html#getServlet()">javax.servlet.UnavailableException.getServlet()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.2, with no replacement.
+
+ Returns the servlet that is reporting its unavailability.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/ServletContext.html#getServlet(java.lang.String)">javax.servlet.ServletContext.getServlet(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/ServletContext.html#getServletNames()">javax.servlet.ServletContext.getServletNames()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.1, with no replacement.
+
+ <p>This method was originally defined to return an 
+ <code>Enumeration</code>
+ of all the servlet names known to this context. In this version,
+ this method always returns an empty <code>Enumeration</code> and 
+ remains only to preserve binary compatibility. This method will 
+ be permanently removed in a future version of the Java Servlet API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/ServletContext.html#getServlets()">javax.servlet.ServletContext.getServlets()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.0, with no replacement.
+
+ <p>This method was originally defined to return an <code>Enumeration</code>
+ of all the servlets known to this servlet context. In this
+ version, this method always returns an empty enumeration and
+ remains only to preserve binary compatibility. This method
+ will be permanently removed in a future version of the Java
+ Servlet API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSessionContext.html#getSession(java.lang.String)">javax.servlet.http.HttpSessionContext.getSession(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must 
+			return null and will be removed in
+			a future version of this API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSession.html#getSessionContext()">javax.servlet.http.HttpSession.getSessionContext()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.1, this method is
+			deprecated and has no replacement.
+			It will be removed in a future
+			version of the Java Servlet API.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSession.html#getValue(java.lang.String)">javax.servlet.http.HttpSession.getValue(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)"><CODE>HttpSession.getAttribute(java.lang.String)</CODE></A>.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSession.html#getValueNames()">javax.servlet.http.HttpSession.getValueNames()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#getAttributeNames()"><CODE>HttpSession.getAttributeNames()</CODE></A></I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl()">javax.servlet.http.HttpServletRequest.isRequestedSessionIdFromUrl()</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.1 of the Java Servlet
+				API, use <A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()"><CODE>HttpServletRequest.isRequestedSessionIdFromURL()</CODE></A>
+				instead.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/ServletContext.html#log(java.lang.Exception, java.lang.String)">javax.servlet.ServletContext.log(Exception, String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.1, use
+ 			<A HREF="javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><CODE>ServletContext.log(String message, Throwable throwable)</CODE></A> 
+			instead.
+
+ <p>This method was originally defined to write an 
+ exception's stack trace and an explanatory error message
+ to the servlet log file.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSession.html#putValue(java.lang.String, java.lang.Object)">javax.servlet.http.HttpSession.putValue(String, Object)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>HttpSession.setAttribute(java.lang.String, java.lang.Object)</CODE></A></I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpSession.html#removeValue(java.lang.String)">javax.servlet.http.HttpSession.removeValue(String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)"><CODE>HttpSession.removeAttribute(java.lang.String)</CODE></A></I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/http/HttpServletResponse.html#setStatus(int, java.lang.String)">javax.servlet.http.HttpServletResponse.setStatus(int, String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of version 2.1, due to ambiguous meaning of the 
+ message parameter. To set a status code 
+ use <code>setStatus(int)</code>, to send an error with a description
+ use <code>sendError(int, String)</code>.
+
+ Sets the status code and message for this response.</I>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Deprecated Constructors</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/UnavailableException.html#UnavailableException(int, javax.servlet.Servlet, java.lang.String)">javax.servlet.UnavailableException(int, Servlet, String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><CODE>UnavailableException.UnavailableException(String, int)</CODE></A> instead.</I>&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="javax/servlet/UnavailableException.html#UnavailableException(javax.servlet.Servlet, java.lang.String)">javax.servlet.UnavailableException(Servlet, String)</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><CODE>UnavailableException.UnavailableException(String)</CODE></A> instead.</I>&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/help-doc.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/help-doc.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/help-doc.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,193 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+API Help (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Overview</H3>
+<BLOCKQUOTE>
+
+<P>
+The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
+<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Exceptions<LI>Errors</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+<H3>
+Use</H3>
+<BLOCKQUOTE>
+Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</BLOCKQUOTE>
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index-all.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index-all.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index-all.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1885 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Index (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <HR>
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)"><B>addCookie(Cookie)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Adds the specified cookie to the response.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#addCookie(javax.servlet.http.Cookie)"><B>addCookie(Cookie)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call addCookie(Cookie cookie)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#addDateHeader(java.lang.String, long)"><B>addDateHeader(String, long)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Adds a response header with the given name and
+ date-value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#addDateHeader(java.lang.String, long)"><B>addDateHeader(String, long)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call addDateHeader(String name, long date)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#addHeader(java.lang.String, java.lang.String)"><B>addHeader(String, String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Adds a response header with the given name and value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#addHeader(java.lang.String, java.lang.String)"><B>addHeader(String, String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to return addHeader(String name, String value)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#addIntHeader(java.lang.String, int)"><B>addIntHeader(String, int)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Adds a response header with the given name and
+ integer value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#addIntHeader(java.lang.String, int)"><B>addIntHeader(String, int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call addIntHeader(String name, int value)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletContextAttributeListener.html#attributeAdded(javax.servlet.ServletContextAttributeEvent)"><B>attributeAdded(ServletContextAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet">ServletContextAttributeListener</A>
+<DD>Notification that a new attribute was added to the servlet context.
+<DT><A HREF="javax/servlet/ServletRequestAttributeListener.html#attributeAdded(javax.servlet.ServletRequestAttributeEvent)"><B>attributeAdded(ServletRequestAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet">ServletRequestAttributeListener</A>
+<DD>Notification that a new attribute was added to the
+ servlet request.
+<DT><A HREF="javax/servlet/http/HttpSessionAttributeListener.html#attributeAdded(javax.servlet.http.HttpSessionBindingEvent)"><B>attributeAdded(HttpSessionBindingEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http">HttpSessionAttributeListener</A>
+<DD>Notification that an attribute has been added to a session.
+<DT><A HREF="javax/servlet/ServletContextAttributeListener.html#attributeRemoved(javax.servlet.ServletContextAttributeEvent)"><B>attributeRemoved(ServletContextAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet">ServletContextAttributeListener</A>
+<DD>Notification that an existing attribute has been removed from the servlet context.
+<DT><A HREF="javax/servlet/ServletRequestAttributeListener.html#attributeRemoved(javax.servlet.ServletRequestAttributeEvent)"><B>attributeRemoved(ServletRequestAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet">ServletRequestAttributeListener</A>
+<DD>Notification that an existing attribute has been removed from the
+ servlet request.
+<DT><A HREF="javax/servlet/http/HttpSessionAttributeListener.html#attributeRemoved(javax.servlet.http.HttpSessionBindingEvent)"><B>attributeRemoved(HttpSessionBindingEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http">HttpSessionAttributeListener</A>
+<DD>Notification that an attribute has been removed from a session.
+<DT><A HREF="javax/servlet/ServletContextAttributeListener.html#attributeReplaced(javax.servlet.ServletContextAttributeEvent)"><B>attributeReplaced(ServletContextAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet">ServletContextAttributeListener</A>
+<DD>Notification that an attribute on the servlet context has been replaced.
+<DT><A HREF="javax/servlet/ServletRequestAttributeListener.html#attributeReplaced(javax.servlet.ServletRequestAttributeEvent)"><B>attributeReplaced(ServletRequestAttributeEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet">ServletRequestAttributeListener</A>
+<DD>Notification that an attribute was replaced on the
+ servlet request.
+<DT><A HREF="javax/servlet/http/HttpSessionAttributeListener.html#attributeReplaced(javax.servlet.http.HttpSessionBindingEvent)"><B>attributeReplaced(HttpSessionBindingEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http">HttpSessionAttributeListener</A>
+<DD>Notification that an attribute has been replaced in a session.
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#BASIC_AUTH"><B>BASIC_AUTH</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>String identifier for Basic authentication.
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#CLIENT_CERT_AUTH"><B>CLIENT_CERT_AUTH</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>String identifier for Client Certificate authentication.
+<DT><A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><B>Cookie</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>.<DD>Creates a cookie, a small amount of information sent by a servlet to 
+ a Web browser, saved by the browser, and later sent back to the server.<DT><A HREF="javax/servlet/http/Cookie.html#Cookie(java.lang.String, java.lang.String)"><B>Cookie(String, String)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Constructs a cookie with a specified name and value.
+<DT><A HREF="javax/servlet/http/Cookie.html#clone()"><B>clone()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Overrides the standard <code>java.lang.Object.clone</code> 
+ method to return a copy of this cookie.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><B>containsHeader(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Returns a boolean indicating whether the named response header 
+ has already been set.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#containsHeader(java.lang.String)"><B>containsHeader(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call containsHeader(String name)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletContextListener.html#contextDestroyed(javax.servlet.ServletContextEvent)"><B>contextDestroyed(ServletContextEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet">ServletContextListener</A>
+<DD>Notification that the servlet context is about to be shut down.
+<DT><A HREF="javax/servlet/ServletContextListener.html#contextInitialized(javax.servlet.ServletContextEvent)"><B>contextInitialized(ServletContextEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet">ServletContextListener</A>
+<DD>Notification that the web application initialization
+ process is starting.
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#DIGEST_AUTH"><B>DIGEST_AUTH</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>String identifier for Digest authentication.
+<DT><A HREF="javax/servlet/Filter.html#destroy()"><B>destroy()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet">Filter</A>
+<DD>Called by the web container to indicate to a filter that it is being taken out of service.
+<DT><A HREF="javax/servlet/GenericServlet.html#destroy()"><B>destroy()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.
+<DT><A HREF="javax/servlet/Servlet.html#destroy()"><B>destroy()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doDelete(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.
+<DT><A HREF="javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><B>doFilter(ServletRequest, ServletResponse, FilterChain)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet">Filter</A>
+<DD>The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.
+<DT><A HREF="javax/servlet/FilterChain.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>doFilter(ServletRequest, ServletResponse)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>
+<DD>Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doGet(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doHead(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doOptions(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doPost(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doPut(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>doTrace(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#encodeRedirectURL(java.lang.String)"><B>encodeRedirectURL(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Encodes the specified URL for use in the
+ <code>sendRedirect</code> method or, if encoding is not needed,
+ returns the URL unchanged.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectURL(java.lang.String)"><B>encodeRedirectURL(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to return encodeRedirectURL(String url)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#encodeRedirectUrl(java.lang.String)"><B>encodeRedirectUrl(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, use 
+			encodeRedirectURL(String url) instead</I>
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectUrl(java.lang.String)"><B>encodeRedirectUrl(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to return encodeRedirectUrl(String url)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)"><B>encodeURL(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Encodes the specified URL by including the session ID in it,
+ or, if encoding is not needed, returns the URL unchanged.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#encodeURL(java.lang.String)"><B>encodeURL(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call encodeURL(String url)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)"><B>encodeUrl(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, use encodeURL(String url) instead</I>
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#encodeUrl(java.lang.String)"><B>encodeUrl(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call encodeUrl(String url)
+ on the wrapped response object.
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#FORM_AUTH"><B>FORM_AUTH</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>String identifier for Form authentication.
+<DT><A HREF="javax/servlet/Filter.html" title="interface in javax.servlet"><B>Filter</B></A> - interface javax.servlet.<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet">Filter</A>.<DD>A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.<DT><A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>FilterChain</B></A> - interface javax.servlet.<A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>.<DD>A FilterChain is an object provided by the servlet container to the developer
+ giving a view into the invocation chain of a filtered request for a resource.<DT><A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>FilterConfig</B></A> - interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>.<DD>A filter configuration object used by a servlet container
+ to pass information to a filter during initialization.<DT><A HREF="javax/servlet/ServletResponse.html#flushBuffer()"><B>flushBuffer()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Forces any content in the buffer to be written to the client.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#flushBuffer()"><B>flushBuffer()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call flushBuffer()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>forward(ServletRequest, ServletResponse)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A>
+<DD>Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server.
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>GenericServlet</B></A> - class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>.<DD>Defines a generic, protocol-independent
+ servlet.<DT><A HREF="javax/servlet/GenericServlet.html#GenericServlet()"><B>GenericServlet()</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Does nothing.
+<DT><A HREF="javax/servlet/ServletContext.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the servlet container attribute with the given name, 
+ or <code>null</code> if there is no attribute by that name.
+<DT><A HREF="javax/servlet/ServletRequest.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the value of the named attribute as an <code>Object</code>,
+ or <code>null</code> if no attribute of the given name exists.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to call getAttribute(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)"><B>getAttribute(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns the object bound with the specified name in this session, or
+ <code>null</code> if no object is bound under the name.
+<DT><A HREF="javax/servlet/ServletContext.html#getAttributeNames()"><B>getAttributeNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns an <code>Enumeration</code> containing the 
+ attribute names available
+ within this servlet context.
+<DT><A HREF="javax/servlet/ServletRequest.html#getAttributeNames()"><B>getAttributeNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns an <code>Enumeration</code> containing the
+ names of the attributes available to this request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getAttributeNames()"><B>getAttributeNames()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getAttributeNames()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getAttributeNames()"><B>getAttributeNames()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns an <code>Enumeration</code> of <code>String</code> objects
+ containing the names of all the objects bound to this session.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getAuthType()"><B>getAuthType()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the name of the authentication scheme used to protect
+ the servlet.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getAuthType()"><B>getAuthType()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getAuthType()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletResponse.html#getBufferSize()"><B>getBufferSize()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns the actual buffer size used for the response.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getBufferSize()"><B>getBufferSize()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getBufferSize()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getCharacterEncoding()"><B>getCharacterEncoding()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the name of the character encoding used in the body of this
+ request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getCharacterEncoding()"><B>getCharacterEncoding()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletResponse.html#getCharacterEncoding()"><B>getCharacterEncoding()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns the name of the character encoding (MIME charset)
+ used for the body sent in this response.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getCharacterEncoding()"><B>getCharacterEncoding()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/Cookie.html#getComment()"><B>getComment()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the comment describing the purpose of this cookie, or
+ <code>null</code> if the cookie has no comment.
+<DT><A HREF="javax/servlet/ServletRequest.html#getContentLength()"><B>getContentLength()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the length, in bytes, of the request body 
+ and made available by the input stream, or -1 if the
+ length is not known.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getContentLength()"><B>getContentLength()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getContentLength()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getContentType()"><B>getContentType()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the MIME type of the body of the request, or 
+ <code>null</code> if the type is not known.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getContentType()"><B>getContentType()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getContentType()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletResponse.html#getContentType()"><B>getContentType()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns the content type used for the MIME body
+ sent in this response.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getContentType()"><B>getContentType()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getContentType()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletContext.html#getContext(java.lang.String)"><B>getContext(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a <code>ServletContext</code> object that 
+ corresponds to a specified URL on the server.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getContextPath()"><B>getContextPath()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the portion of the request URI that indicates the context
+ of the request.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getContextPath()"><B>getContextPath()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getContextPath()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getCookies()"><B>getCookies()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns an array containing all of the <code>Cookie</code>
+ objects the client sent with this request.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getCookies()"><B>getCookies()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getCookies()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getCreationTime()"><B>getCreationTime()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns the time when this session was created, measured
+ in milliseconds since midnight January 1, 1970 GMT.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getDateHeader(java.lang.String)"><B>getDateHeader(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the value of the specified request header
+ as a <code>long</code> value that represents a 
+ <code>Date</code> object.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getDateHeader(java.lang.String)"><B>getDateHeader(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getDateHeader(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/Cookie.html#getDomain()"><B>getDomain()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the domain name set for this cookie.
+<DT><A HREF="javax/servlet/FilterConfig.html#getFilterName()"><B>getFilterName()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>
+<DD>Returns the filter-name of this filter as defined in the deployment descriptor.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getHeader(java.lang.String)"><B>getHeader(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the value of the specified request header
+ as a <code>String</code>.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getHeader(java.lang.String)"><B>getHeader(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getHeader(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getHeaderNames()"><B>getHeaderNames()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns an enumeration of all the header names
+ this request contains.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getHeaderNames()"><B>getHeaderNames()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getHeaderNames()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getHeaders(java.lang.String)"><B>getHeaders(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns all the values of the specified request header
+ as an <code>Enumeration</code> of <code>String</code> objects.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getHeaders(java.lang.String)"><B>getHeaders(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getHeaders(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getId()"><B>getId()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns a string containing the unique identifier assigned 
+ to this session.
+<DT><A HREF="javax/servlet/http/HttpSessionContext.html#getIds()"><B>getIds()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must return 
+			an empty <code>Enumeration</code> and will be removed
+			in a future version of this API.</I>
+<DT><A HREF="javax/servlet/FilterConfig.html#getInitParameter(java.lang.String)"><B>getInitParameter(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>
+<DD>Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.
+<DT><A HREF="javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)"><B>getInitParameter(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns a <code>String</code> containing the value of the named
+ initialization parameter, or <code>null</code> if the parameter does
+ not exist.
+<DT><A HREF="javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)"><B>getInitParameter(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>
+<DD>Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.
+<DT><A HREF="javax/servlet/ServletContext.html#getInitParameter(java.lang.String)"><B>getInitParameter(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a <code>String</code> containing the value of the named
+ context-wide initialization parameter, or <code>null</code> if the 
+ parameter does not exist.
+<DT><A HREF="javax/servlet/FilterConfig.html#getInitParameterNames()"><B>getInitParameterNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>
+<DD>Returns the names of the filter's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the filter has
+ no initialization parameters.
+<DT><A HREF="javax/servlet/GenericServlet.html#getInitParameterNames()"><B>getInitParameterNames()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns the names of the servlet's initialization parameters 
+ as an <code>Enumeration</code> of <code>String</code> objects,
+ or an empty <code>Enumeration</code> if the servlet has no
+ initialization parameters.
+<DT><A HREF="javax/servlet/ServletConfig.html#getInitParameterNames()"><B>getInitParameterNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>
+<DD>Returns the names of the servlet's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the servlet has
+ no initialization parameters.
+<DT><A HREF="javax/servlet/ServletContext.html#getInitParameterNames()"><B>getInitParameterNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the names of the context's initialization parameters as an
+ <code>Enumeration</code> of <code>String</code> objects, or an
+ empty <code>Enumeration</code> if the context has no initialization
+ parameters.
+<DT><A HREF="javax/servlet/ServletRequest.html#getInputStream()"><B>getInputStream()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Retrieves the body of the request as binary data using
+ a <A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A>.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getInputStream()"><B>getInputStream()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getInputStream()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getIntHeader(java.lang.String)"><B>getIntHeader(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the value of the specified request header
+ as an <code>int</code>.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getIntHeader(java.lang.String)"><B>getIntHeader(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getIntHeader(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getLastAccessedTime()"><B>getLastAccessedTime()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns the last time the client sent a request associated with
+ this session, as the number of milliseconds since midnight
+ January 1, 1970 GMT, and marked by the time the container received the request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)"><B>getLastModified(HttpServletRequest)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Returns the time the <code>HttpServletRequest</code>
+ object was last modified,
+ in milliseconds since midnight January 1, 1970 GMT.
+<DT><A HREF="javax/servlet/ServletRequest.html#getLocalAddr()"><B>getLocalAddr()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the Internet Protocol (IP) address of the interface on
+ which the request  was received.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getLocalAddr()"><B>getLocalAddr()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return
+ getLocalAddr() on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the host name of the Internet Protocol (IP) interface on
+ which the request was received.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getLocalName()"><B>getLocalName()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return
+ getLocalName() on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getLocalPort()"><B>getLocalPort()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the Internet Protocol (IP) port number of the interface
+ on which the request was received.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getLocalPort()"><B>getLocalPort()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return
+ getLocalPort() on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getLocale()"><B>getLocale()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the preferred <code>Locale</code> that the client will 
+ accept content in, based on the Accept-Language header.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getLocale()"><B>getLocale()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getLocale()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletResponse.html#getLocale()"><B>getLocale()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns the locale specified for this response
+ using the <A HREF="javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>ServletResponse.setLocale(java.util.Locale)</CODE></A> method.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getLocale()"><B>getLocale()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getLocale()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getLocales()"><B>getLocales()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns an <code>Enumeration</code> of <code>Locale</code> objects
+ indicating, in decreasing order starting with the preferred locale, the
+ locales that are acceptable to the client based on the Accept-Language
+ header.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getLocales()"><B>getLocales()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getLocales()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getMajorVersion()"><B>getMajorVersion()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the major version of the Java Servlet API that this
+ servlet container supports.
+<DT><A HREF="javax/servlet/http/Cookie.html#getMaxAge()"><B>getMaxAge()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the maximum age of the cookie, specified in seconds,
+ By default, <code>-1</code> indicating the cookie will persist
+ until browser shutdown.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getMaxInactiveInterval()"><B>getMaxInactiveInterval()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns the maximum time interval, in seconds, that 
+ the servlet container will keep this session open between 
+ client accesses.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getMethod()"><B>getMethod()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the name of the HTTP method with which this 
+ request was made, for example, GET, POST, or PUT.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getMethod()"><B>getMethod()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getMethod()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getMimeType(java.lang.String)"><B>getMimeType(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the MIME type of the specified file, or <code>null</code> if 
+ the MIME type is not known.
+<DT><A HREF="javax/servlet/ServletContext.html#getMinorVersion()"><B>getMinorVersion()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the minor version of the Servlet API that this
+ servlet container supports.
+<DT><A HREF="javax/servlet/ServletContextAttributeEvent.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>
+<DD>Return the name of the attribute that changed on the ServletContext.
+<DT><A HREF="javax/servlet/ServletRequestAttributeEvent.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>
+<DD>Return the name of the attribute that changed on the ServletRequest.
+<DT><A HREF="javax/servlet/http/Cookie.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the name of the cookie.
+<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html#getName()"><B>getName()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<DD>Returns the name with which the attribute is bound to or
+ unbound from the session.
+<DT><A HREF="javax/servlet/ServletContext.html#getNamedDispatcher(java.lang.String)"><B>getNamedDispatcher(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a <A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the named servlet.
+<DT><A HREF="javax/servlet/ServletResponse.html#getOutputStream()"><B>getOutputStream()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns a <A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> suitable for writing binary 
+ data in the response.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getOutputStream()"><B>getOutputStream()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getOutputStream()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the value of a request parameter as a <code>String</code>,
+ or <code>null</code> if the parameter does not exist.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getParameter(java.lang.String)"><B>getParameter(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getParameter(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getParameterMap()"><B>getParameterMap()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns a java.util.Map of the parameters of this request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getParameterMap()"><B>getParameterMap()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getParameterMap()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getParameterNames()"><B>getParameterNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns an <code>Enumeration</code> of <code>String</code>
+ objects containing the names of the parameters contained
+ in this request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getParameterNames()"><B>getParameterNames()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getParameterNames()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)"><B>getParameterValues(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns an array of <code>String</code> objects containing 
+ all of the values the given request parameter has, or 
+ <code>null</code> if the parameter does not exist.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getParameterValues(java.lang.String)"><B>getParameterValues(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getParameterValues(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/Cookie.html#getPath()"><B>getPath()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the path on the server 
+ to which the browser returns this cookie.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getPathInfo()"><B>getPathInfo()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns any extra path information associated with
+ the URL the client sent when it made this request.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getPathInfo()"><B>getPathInfo()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getPathInfo()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getPathTranslated()"><B>getPathTranslated()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns any extra path information after the servlet name
+ but before the query string, and translates it to a real
+ path.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getPathTranslated()"><B>getPathTranslated()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getPathTranslated()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getProtocol()"><B>getProtocol()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the name and version of the protocol the request uses
+ in the form <i>protocol/majorVersion.minorVersion</i>, for 
+ example, HTTP/1.1.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getProtocol()"><B>getProtocol()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getProtocol()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getQueryString()"><B>getQueryString()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the query string that is contained in the request
+ URL after the path.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getQueryString()"><B>getQueryString()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getQueryString()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getReader()"><B>getReader()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Retrieves the body of the request as character data using
+ a <code>BufferedReader</code>.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getReader()"><B>getReader()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getReader()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getRealPath(java.lang.String)"><B>getRealPath(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a <code>String</code> containing the real path 
+ for a given virtual path.
+<DT><A HREF="javax/servlet/ServletRequest.html#getRealPath(java.lang.String)"><B>getRealPath(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet API,
+ 			use <A HREF="javax/servlet/ServletContext.html#getRealPath(java.lang.String)"><CODE>ServletContext.getRealPath(java.lang.String)</CODE></A> instead.</I>
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRealPath(java.lang.String)"><B>getRealPath(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRealPath(String path)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getRemoteAddr()"><B>getRemoteAddr()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the Internet Protocol (IP) address of the client 
+ or last proxy that sent the request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRemoteAddr()"><B>getRemoteAddr()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRemoteAddr()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getRemoteHost()"><B>getRemoteHost()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the fully qualified name of the client
+ or the last proxy that sent the request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRemoteHost()"><B>getRemoteHost()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRemoteHost()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getRemotePort()"><B>getRemotePort()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the Internet Protocol (IP) source port of the client
+ or last proxy that sent the request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRemotePort()"><B>getRemotePort()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return
+ getRemotePort() on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getRemoteUser()"><B>getRemoteUser()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the login of the user making this request, if the
+ user has been authenticated, or <code>null</code> if the user 
+ has not been authenticated.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getRemoteUser()"><B>getRemoteUser()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRemoteUser()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRequest()"><B>getRequest()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>Return the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)"><B>getRequestDispatcher(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a <A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the resource located at the given path.
+<DT><A HREF="javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)"><B>getRequestDispatcher(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns a <A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts as a wrapper for
+ the resource located at the given path.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getRequestDispatcher(java.lang.String)"><B>getRequestDispatcher(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRequestDispatcher(String path)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getRequestURI()"><B>getRequestURI()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the part of this request's URL from the protocol
+ name up to the query string in the first line of the HTTP request.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getRequestURI()"><B>getRequestURI()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRequestURI()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getRequestURL()"><B>getRequestURL()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Reconstructs the URL the client used to make the request.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getRequestURL()"><B>getRequestURL()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRequestURL()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)"><B>getRequestURL(HttpServletRequest)</B></A> - 
+Static method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>
+<DD><B>Deprecated.</B>&nbsp;Reconstructs the URL the client used to make the request,
+ using information in the <code>HttpServletRequest</code> object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getRequestedSessionId()"><B>getRequestedSessionId()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the session ID specified by the client.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getRequestedSessionId()"><B>getRequestedSessionId()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getRequestedSessionId()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getResource(java.lang.String)"><B>getResource(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a URL to the resource that is mapped to a specified
+ path.
+<DT><A HREF="javax/servlet/ServletContext.html#getResourceAsStream(java.lang.String)"><B>getResourceAsStream(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the resource located at the named path as
+ an <code>InputStream</code> object.
+<DT><A HREF="javax/servlet/ServletContext.html#getResourcePaths(java.lang.String)"><B>getResourcePaths(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path
+ matches the supplied path argument.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getResponse()"><B>getResponse()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>Return the wrapped ServletResponse object.
+<DT><A HREF="javax/servlet/ServletException.html#getRootCause()"><B>getRootCause()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<DD>Returns the exception that caused this servlet exception.
+<DT><A HREF="javax/servlet/ServletRequest.html#getScheme()"><B>getScheme()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the name of the scheme used to make this request, 
+ for example,
+ <code>http</code>, <code>https</code>, or <code>ftp</code>.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getScheme()"><B>getScheme()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getScheme()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/Cookie.html#getSecure()"><B>getSecure()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns <code>true</code> if the browser is sending cookies
+ only over a secure protocol, or <code>false</code> if the
+ browser can send cookies using any protocol.
+<DT><A HREF="javax/servlet/ServletContext.html#getServerInfo()"><B>getServerInfo()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the name and version of the servlet container on which
+ the servlet is running.
+<DT><A HREF="javax/servlet/ServletRequest.html#getServerName()"><B>getServerName()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the host name of the server to which the request was sent.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getServerName()"><B>getServerName()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getServerName()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#getServerPort()"><B>getServerPort()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns the port number to which the request was sent.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#getServerPort()"><B>getServerPort()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getServerPort()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContext.html#getServlet(java.lang.String)"><B>getServlet(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I>
+<DT><A HREF="javax/servlet/UnavailableException.html#getServlet()"><B>getServlet()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, with no replacement.
+
+ Returns the servlet that is reporting its unavailability.</I>
+<DT><A HREF="javax/servlet/GenericServlet.html#getServletConfig()"><B>getServletConfig()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns this servlet's <A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object.
+<DT><A HREF="javax/servlet/Servlet.html#getServletConfig()"><B>getServletConfig()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>
+<DD>Returns a <A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object, which contains
+ initialization and startup parameters for this servlet.
+<DT><A HREF="javax/servlet/FilterConfig.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>
+<DD>Returns a reference to the <A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.
+<DT><A HREF="javax/servlet/GenericServlet.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns a reference to the <A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which this servlet
+ is running.
+<DT><A HREF="javax/servlet/ServletConfig.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>
+<DD>Returns a reference to the <A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.
+<DT><A HREF="javax/servlet/ServletContextEvent.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>
+<DD>Return the ServletContext that changed.
+<DT><A HREF="javax/servlet/ServletRequestEvent.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>
+<DD>Returns the ServletContext of this web application.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getServletContext()"><B>getServletContext()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns the ServletContext to which this session belongs.
+<DT><A HREF="javax/servlet/ServletContext.html#getServletContextName()"><B>getServletContextName()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Returns the name of this web application corresponding to this ServletContext as specified in the deployment
+ descriptor for this web application by the display-name element.
+<DT><A HREF="javax/servlet/GenericServlet.html#getServletInfo()"><B>getServletInfo()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns information about the servlet, such as 
+ author, version, and copyright.
+<DT><A HREF="javax/servlet/Servlet.html#getServletInfo()"><B>getServletInfo()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>
+<DD>Returns information about the servlet, such
+ as author, version, and copyright.
+<DT><A HREF="javax/servlet/GenericServlet.html#getServletName()"><B>getServletName()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Returns the name of this servlet instance.
+<DT><A HREF="javax/servlet/ServletConfig.html#getServletName()"><B>getServletName()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>
+<DD>Returns the name of this servlet instance.
+<DT><A HREF="javax/servlet/ServletContext.html#getServletNames()"><B>getServletNames()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no replacement.
+
+ <p>This method was originally defined to return an 
+ <code>Enumeration</code>
+ of all the servlet names known to this context. In this version,
+ this method always returns an empty <code>Enumeration</code> and 
+ remains only to preserve binary compatibility. This method will 
+ be permanently removed in a future version of the Java Servlet API.</I>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getServletPath()"><B>getServletPath()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the part of this request's URL that calls
+ the servlet.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getServletPath()"><B>getServletPath()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getServletPath()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequestEvent.html#getServletRequest()"><B>getServletRequest()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>
+<DD>Returns the ServletRequest that is changing.
+<DT><A HREF="javax/servlet/ServletContext.html#getServlets()"><B>getServlets()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.0, with no replacement.
+
+ <p>This method was originally defined to return an <code>Enumeration</code>
+ of all the servlets known to this servlet context. In this
+ version, this method always returns an empty enumeration and
+ remains only to preserve binary compatibility. This method
+ will be permanently removed in a future version of the Java
+ Servlet API.</I>
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><B>getSession(boolean)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the current <code>HttpSession</code>
+ associated with this request or, if there is no
+ current session and <code>create</code> is true, returns 
+ a new session.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getSession()"><B>getSession()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns the current session associated with this request,
+ or if the request does not have a session, creates one.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getSession(boolean)"><B>getSession(boolean)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getSession(boolean create)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getSession()"><B>getSession()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getSession()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html#getSession()"><B>getSession()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<DD>Return the session that changed.
+<DT><A HREF="javax/servlet/http/HttpSessionContext.html#getSession(java.lang.String)"><B>getSession(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must 
+			return null and will be removed in
+			a future version of this API.</I>
+<DT><A HREF="javax/servlet/http/HttpSessionEvent.html#getSession()"><B>getSession()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>
+<DD>Return the session that changed.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getSessionContext()"><B>getSessionContext()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1, this method is
+			deprecated and has no replacement.
+			It will be removed in a future
+			version of the Java Servlet API.</I>
+<DT><A HREF="javax/servlet/UnavailableException.html#getUnavailableSeconds()"><B>getUnavailableSeconds()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD>Returns the number of seconds the servlet expects to 
+ be temporarily unavailable.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#getUserPrincipal()"><B>getUserPrincipal()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns a <code>java.security.Principal</code> object containing
+ the name of the current authenticated user.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#getUserPrincipal()"><B>getUserPrincipal()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return getUserPrincipal()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletContextAttributeEvent.html#getValue()"><B>getValue()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>
+<DD>Returns the value of the attribute that has been added, removed, or replaced.
+<DT><A HREF="javax/servlet/ServletRequestAttributeEvent.html#getValue()"><B>getValue()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>
+<DD>Returns the value of the attribute that has been added, removed or 
+ replaced.
+<DT><A HREF="javax/servlet/http/Cookie.html#getValue()"><B>getValue()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the value of the cookie.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getValue(java.lang.String)"><B>getValue(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)"><CODE>HttpSession.getAttribute(java.lang.String)</CODE></A>.</I>
+<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html#getValue()"><B>getValue()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<DD>Returns the value of the attribute that has been added, removed or replaced.
+<DT><A HREF="javax/servlet/http/HttpSession.html#getValueNames()"><B>getValueNames()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#getAttributeNames()"><CODE>HttpSession.getAttributeNames()</CODE></A></I>
+<DT><A HREF="javax/servlet/http/Cookie.html#getVersion()"><B>getVersion()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Returns the version of the protocol this cookie complies 
+ with.
+<DT><A HREF="javax/servlet/ServletResponse.html#getWriter()"><B>getWriter()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns a <code>PrintWriter</code> object that
+ can send character text to the client.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#getWriter()"><B>getWriter()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return getWriter()
+ on the wrapped response object.
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>HttpServlet</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>.<DD>Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site.<DT><A HREF="javax/servlet/http/HttpServlet.html#HttpServlet()"><B>HttpServlet()</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Does nothing, because this is an abstract class.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><B>HttpServletRequest</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>.<DD>Extends the <A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> interface
+ to provide request information for HTTP servlets.<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>HttpServletRequestWrapper</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>.<DD>Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#HttpServletRequestWrapper(javax.servlet.http.HttpServletRequest)"><B>HttpServletRequestWrapper(HttpServletRequest)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>Constructs a request object wrapping the given request.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>HttpServletResponse</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>.<DD>Extends the <A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> interface to provide HTTP-specific
+ functionality in sending a response.<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>HttpServletResponseWrapper</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>.<DD>Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#HttpServletResponseWrapper(javax.servlet.http.HttpServletResponse)"><B>HttpServletResponseWrapper(HttpServletResponse)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>Constructs a response adaptor wrapping the given response.
+<DT><A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>HttpSession</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>.<DD>Provides a way to identify a user across more than one page
+ request or visit to a Web site and to store information about that user.<DT><A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>HttpSessionActivationListener</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http">HttpSessionActivationListener</A>.<DD>Objects that are bound to a session may listen to container
+ events notifying them that sessions will be passivated and that
+ session will be activated.<DT><A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>HttpSessionAttributeListener</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http">HttpSessionAttributeListener</A>.<DD>This listener interface can be implemented in order to
+ get notifications of changes to the attribute lists of sessions within
+ this web application.<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>HttpSessionBindingEvent</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>.<DD>Events of this type are either sent to an object that implements
+ <A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A> when it is bound or 
+ unbound from a session, or to a <A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A> 
+ that has been configured in the deployment descriptor when any attribute is
+ bound, unbound or replaced in a session.<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String)"><B>HttpSessionBindingEvent(HttpSession, String)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<DD>Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.
+<DT><A HREF="javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String, java.lang.Object)"><B>HttpSessionBindingEvent(HttpSession, String, Object)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>
+<DD>Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.
+<DT><A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>HttpSessionBindingListener</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http">HttpSessionBindingListener</A>.<DD>Causes an object to be notified when it is bound to
+ or unbound from a session.<DT><A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>HttpSessionContext</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A>.<DD><B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.1
+			for security reasons, with no replacement.
+			This interface will be removed in a future
+			version of this API.</I><DT><A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>HttpSessionEvent</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>.<DD>This is the class representing event notifications for
+ changes to sessions within a web application.<DT><A HREF="javax/servlet/http/HttpSessionEvent.html#HttpSessionEvent(javax.servlet.http.HttpSession)"><B>HttpSessionEvent(HttpSession)</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>
+<DD>Construct a session event from the given source.
+<DT><A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><B>HttpSessionListener</B></A> - interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http">HttpSessionListener</A>.<DD>Implementations of this interface are notified of changes to the 
+ list of active sessions in a web application.<DT><A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><B>HttpUtils</B></A> - class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>.<DD><B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.3. 
+			These methods were only useful
+			with the default encoding and have been moved
+			to the request interfaces.</I><DT><A HREF="javax/servlet/http/HttpUtils.html#HttpUtils()"><B>HttpUtils()</B></A> - 
+Constructor for class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>
+<DD><B>Deprecated.</B>&nbsp;Constructs an empty <code>HttpUtils</code> object.
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>include(ServletRequest, ServletResponse)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A>
+<DD>Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response.
+<DT><A HREF="javax/servlet/Filter.html#init(javax.servlet.FilterConfig)"><B>init(FilterConfig)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet">Filter</A>
+<DD>Called by the web container to indicate to a filter that it is being placed into
+ service.
+<DT><A HREF="javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)"><B>init(ServletConfig)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being placed into service.
+<DT><A HREF="javax/servlet/GenericServlet.html#init()"><B>init()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>A convenience method which can be overridden so that there's no need
+ to call <code>super.init(config)</code>.
+<DT><A HREF="javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)"><B>init(ServletConfig)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>
+<DD>Called by the servlet container to indicate to a servlet that the 
+ servlet is being placed into service.
+<DT><A HREF="javax/servlet/http/HttpSession.html#invalidate()"><B>invalidate()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Invalidates this session then unbinds any objects bound
+ to it.
+<DT><A HREF="javax/servlet/ServletResponse.html#isCommitted()"><B>isCommitted()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Returns a boolean indicating if the response has been
+ committed.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#isCommitted()"><B>isCommitted()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to return isCommitted()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#isNew()"><B>isNew()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Returns <code>true</code> if the client does not yet know about the
+ session or if the client chooses not to join the session.
+<DT><A HREF="javax/servlet/UnavailableException.html#isPermanent()"><B>isPermanent()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD>Returns a <code>boolean</code> indicating
+ whether the servlet is permanently unavailable.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromCookie()"><B>isRequestedSessionIdFromCookie()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Checks whether the requested session ID came in as a cookie.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromCookie()"><B>isRequestedSessionIdFromCookie()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromCookie()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()"><B>isRequestedSessionIdFromURL()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Checks whether the requested session ID came in as part of the 
+ request URL.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromURL()"><B>isRequestedSessionIdFromURL()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromURL()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl()"><B>isRequestedSessionIdFromUrl()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet
+				API, use <A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()"><CODE>HttpServletRequest.isRequestedSessionIdFromURL()</CODE></A>
+				instead.</I>
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromUrl()"><B>isRequestedSessionIdFromUrl()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromUrl()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdValid()"><B>isRequestedSessionIdValid()</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Checks whether the requested session ID is still valid.
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdValid()"><B>isRequestedSessionIdValid()</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isRequestedSessionIdValid()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletRequest.html#isSecure()"><B>isSecure()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Returns a boolean indicating whether this request was made using a
+ secure channel, such as HTTPS.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#isSecure()"><B>isSecure()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isSecure()
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpServletRequest.html#isUserInRole(java.lang.String)"><B>isUserInRole(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>
+<DD>Returns a boolean indicating whether the authenticated user is included
+ in the specified logical "role".
+<DT><A HREF="javax/servlet/http/HttpServletRequestWrapper.html#isUserInRole(java.lang.String)"><B>isUserInRole(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>
+<DD>The default behavior of this method is to return isUserInRole(String role)
+ on the wrapped request object.
+</DL>
+<HR>
+<A NAME="_J_"><!-- --></A><H2>
+<B>J</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/package-summary.html"><B>javax.servlet</B></A> - package javax.servlet<DD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.<DT><A HREF="javax/servlet/http/package-summary.html"><B>javax.servlet.http</B></A> - package javax.servlet.http<DD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.</DL>
+<HR>
+<A NAME="_L_"><!-- --></A><H2>
+<B>L</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/GenericServlet.html#log(java.lang.String)"><B>log(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Writes the specified message to a servlet log file, prepended by the
+ servlet's name.
+<DT><A HREF="javax/servlet/GenericServlet.html#log(java.lang.String, java.lang.Throwable)"><B>log(String, Throwable)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file, prepended by the servlet's name.
+<DT><A HREF="javax/servlet/ServletContext.html#log(java.lang.String)"><B>log(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Writes the specified message to a servlet log file, usually
+ an event log.
+<DT><A HREF="javax/servlet/ServletContext.html#log(java.lang.Exception, java.lang.String)"><B>log(Exception, String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, use
+ 			<A HREF="javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><CODE>ServletContext.log(String message, Throwable throwable)</CODE></A> 
+			instead.
+
+ <p>This method was originally defined to write an 
+ exception's stack trace and an explanatory error message
+ to the servlet log file.</I>
+<DT><A HREF="javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><B>log(String, Throwable)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file.
+</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpUtils.html#parsePostData(int, javax.servlet.ServletInputStream)"><B>parsePostData(int, ServletInputStream)</B></A> - 
+Static method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>
+<DD><B>Deprecated.</B>&nbsp;Parses data from an HTML form that the client sends to 
+ the server using the HTTP POST method and the 
+ <i>application/x-www-form-urlencoded</i> MIME type.
+<DT><A HREF="javax/servlet/http/HttpUtils.html#parseQueryString(java.lang.String)"><B>parseQueryString(String)</B></A> - 
+Static method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A>
+<DD><B>Deprecated.</B>&nbsp;Parses a query string passed from the client to the
+ server and builds a <code>HashTable</code> object
+ with key-value pairs.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(java.lang.String)"><B>print(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>String</code> to the client, 
+ without a carriage return-line feed (CRLF) 
+ character at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(boolean)"><B>print(boolean)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>boolean</code> value to the client,
+ with no carriage return-line feed (CRLF) 
+ character at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(char)"><B>print(char)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a character to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(int)"><B>print(int)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes an int to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(long)"><B>print(long)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>long</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(float)"><B>print(float)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>float</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#print(double)"><B>print(double)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>double</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println()"><B>println()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a carriage return-line feed (CRLF)
+ to the client.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(java.lang.String)"><B>println(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>String</code> to the client, 
+ followed by a carriage return-line feed (CRLF).
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(boolean)"><B>println(boolean)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>boolean</code> value to the client, 
+ followed by a 
+ carriage return-line feed (CRLF).
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(char)"><B>println(char)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a character to the client, followed by a carriage
+ return-line feed (CRLF).
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(int)"><B>println(int)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes an int to the client, followed by a 
+ carriage return-line feed (CRLF) character.
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(long)"><B>println(long)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>long</code> value to the client, followed by a 
+ carriage return-line feed (CRLF).
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(float)"><B>println(float)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>float</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).
+<DT><A HREF="javax/servlet/ServletOutputStream.html#println(double)"><B>println(double)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Writes a <code>double</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).
+<DT><A HREF="javax/servlet/http/HttpSession.html#putValue(java.lang.String, java.lang.Object)"><B>putValue(String, Object)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>HttpSession.setAttribute(java.lang.String, java.lang.Object)</CODE></A></I>
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>RequestDispatcher</B></A> - interface javax.servlet.<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A>.<DD>Defines an object that receives requests from the client
+ and sends them to any resource (such as a servlet, 
+ HTML file, or JSP file) on the server.<DT><A HREF="javax/servlet/ServletInputStream.html#readLine(byte[], int, int)"><B>readLine(byte[], int, int)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>
+<DD>Reads the input stream, one line at a time.
+<DT><A HREF="javax/servlet/ServletContext.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Removes the attribute with the given name from 
+ the servlet context.
+<DT><A HREF="javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Removes an attribute from this request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to call removeAttribute(String name)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)"><B>removeAttribute(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Removes the object bound with the specified name from
+ this session.
+<DT><A HREF="javax/servlet/http/HttpSession.html#removeValue(java.lang.String)"><B>removeValue(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)"><CODE>HttpSession.removeAttribute(java.lang.String)</CODE></A></I>
+<DT><A HREF="javax/servlet/ServletRequestListener.html#requestDestroyed(javax.servlet.ServletRequestEvent)"><B>requestDestroyed(ServletRequestEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet">ServletRequestListener</A>
+<DD>The request is about to go out of scope of the web application.
+<DT><A HREF="javax/servlet/ServletRequestListener.html#requestInitialized(javax.servlet.ServletRequestEvent)"><B>requestInitialized(ServletRequestEvent)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet">ServletRequestListener</A>
+<DD>The request is about to come into scope of the web application.
+<DT><A HREF="javax/servlet/ServletResponse.html#reset()"><B>reset()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Clears any data that exists in the buffer as well as the status code and
+ headers.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#reset()"><B>reset()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call reset()
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletResponse.html#resetBuffer()"><B>resetBuffer()</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Clears the content of the underlying buffer in the response without
+ clearing headers or status code.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#resetBuffer()"><B>resetBuffer()</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call resetBuffer()
+ on the wrapped response object.
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_ACCEPTED"><B>SC_ACCEPTED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (202) indicating that a request was accepted for
+ processing, but was not completed.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_BAD_GATEWAY"><B>SC_BAD_GATEWAY</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (502) indicating that the HTTP server received an
+ invalid response from a server it consulted when acting as a
+ proxy or gateway.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_BAD_REQUEST"><B>SC_BAD_REQUEST</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (400) indicating the request sent by the client was
+ syntactically incorrect.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CONFLICT"><B>SC_CONFLICT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (409) indicating that the request could not be
+ completed due to a conflict with the current state of the
+ resource.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CONTINUE"><B>SC_CONTINUE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (100) indicating the client can continue.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_CREATED"><B>SC_CREATED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (201) indicating the request succeeded and created
+ a new resource on the server.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_EXPECTATION_FAILED"><B>SC_EXPECTATION_FAILED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (417) indicating that the server could not meet the
+ expectation given in the Expect request header.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_FORBIDDEN"><B>SC_FORBIDDEN</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (403) indicating the server understood the request
+ but refused to fulfill it.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_FOUND"><B>SC_FOUND</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (302) indicating that the resource reside
+ temporarily under a different URI.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_GATEWAY_TIMEOUT"><B>SC_GATEWAY_TIMEOUT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (504) indicating that the server did not receive
+ a timely response from the upstream server while acting as
+ a gateway or proxy.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_GONE"><B>SC_GONE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (410) indicating that the resource is no longer
+ available at the server and no forwarding address is known.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_HTTP_VERSION_NOT_SUPPORTED"><B>SC_HTTP_VERSION_NOT_SUPPORTED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (505) indicating that the server does not support
+ or refuses to support the HTTP protocol version that was used
+ in the request message.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_INTERNAL_SERVER_ERROR"><B>SC_INTERNAL_SERVER_ERROR</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (500) indicating an error inside the HTTP server
+ which prevented it from fulfilling the request.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_LENGTH_REQUIRED"><B>SC_LENGTH_REQUIRED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (411) indicating that the request cannot be handled
+ without a defined <code><em>Content-Length</em></code>.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_METHOD_NOT_ALLOWED"><B>SC_METHOD_NOT_ALLOWED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (405) indicating that the method specified in the
+ <code><em>Request-Line</em></code> is not allowed for the resource
+ identified by the <code><em>Request-URI</em></code>.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MOVED_PERMANENTLY"><B>SC_MOVED_PERMANENTLY</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (301) indicating that the resource has permanently
+ moved to a new location, and that future references should use a
+ new URI with their requests.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MOVED_TEMPORARILY"><B>SC_MOVED_TEMPORARILY</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (302) indicating that the resource has temporarily
+ moved to another location, but that future references should
+ still use the original URI to access the resource.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_MULTIPLE_CHOICES"><B>SC_MULTIPLE_CHOICES</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (300) indicating that the requested resource
+ corresponds to any one of a set of representations, each with
+ its own specific location.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NON_AUTHORITATIVE_INFORMATION"><B>SC_NON_AUTHORITATIVE_INFORMATION</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (203) indicating that the meta information presented
+ by the client did not originate from the server.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_ACCEPTABLE"><B>SC_NOT_ACCEPTABLE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (406) indicating that the resource identified by the
+ request is only capable of generating response entities which have
+ content characteristics not acceptable according to the accept
+ headers sent in the request.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_FOUND"><B>SC_NOT_FOUND</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (404) indicating that the requested resource is not
+ available.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_IMPLEMENTED"><B>SC_NOT_IMPLEMENTED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (501) indicating the HTTP server does not support
+ the functionality needed to fulfill the request.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NOT_MODIFIED"><B>SC_NOT_MODIFIED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (304) indicating that a conditional GET operation
+ found that the resource was available and not modified.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_NO_CONTENT"><B>SC_NO_CONTENT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (204) indicating that the request succeeded but that
+ there was no new information to return.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_OK"><B>SC_OK</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (200) indicating the request succeeded normally.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PARTIAL_CONTENT"><B>SC_PARTIAL_CONTENT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (206) indicating that the server has fulfilled
+ the partial GET request for the resource.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PAYMENT_REQUIRED"><B>SC_PAYMENT_REQUIRED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (402) reserved for future use.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PRECONDITION_FAILED"><B>SC_PRECONDITION_FAILED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (412) indicating that the precondition given in one
+ or more of the request-header fields evaluated to false when it
+ was tested on the server.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_PROXY_AUTHENTICATION_REQUIRED"><B>SC_PROXY_AUTHENTICATION_REQUIRED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (407) indicating that the client <em>MUST</em> first
+ authenticate itself with the proxy.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUESTED_RANGE_NOT_SATISFIABLE"><B>SC_REQUESTED_RANGE_NOT_SATISFIABLE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (416) indicating that the server cannot serve the
+ requested byte range.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_ENTITY_TOO_LARGE"><B>SC_REQUEST_ENTITY_TOO_LARGE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (413) indicating that the server is refusing to process
+ the request because the request entity is larger than the server is
+ willing or able to process.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_TIMEOUT"><B>SC_REQUEST_TIMEOUT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (408) indicating that the client did not produce a
+ request within the time that the server was prepared to wait.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_REQUEST_URI_TOO_LONG"><B>SC_REQUEST_URI_TOO_LONG</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (414) indicating that the server is refusing to service
+ the request because the <code><em>Request-URI</em></code> is longer
+ than the server is willing to interpret.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_RESET_CONTENT"><B>SC_RESET_CONTENT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (205) indicating that the agent <em>SHOULD</em> reset
+ the document view which caused the request to be sent.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SEE_OTHER"><B>SC_SEE_OTHER</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (303) indicating that the response to the request
+ can be found under a different URI.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SERVICE_UNAVAILABLE"><B>SC_SERVICE_UNAVAILABLE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (503) indicating that the HTTP server is
+ temporarily overloaded, and unable to handle the request.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_SWITCHING_PROTOCOLS"><B>SC_SWITCHING_PROTOCOLS</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (101) indicating the server is switching protocols
+ according to Upgrade header.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_TEMPORARY_REDIRECT"><B>SC_TEMPORARY_REDIRECT</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (307) indicating that the requested resource 
+ resides temporarily under a different URI.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_UNAUTHORIZED"><B>SC_UNAUTHORIZED</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (401) indicating that the request requires HTTP
+ authentication.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_UNSUPPORTED_MEDIA_TYPE"><B>SC_UNSUPPORTED_MEDIA_TYPE</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (415) indicating that the server is refusing to service
+ the request because the entity of the request is in a format not
+ supported by the requested resource for the requested method.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#SC_USE_PROXY"><B>SC_USE_PROXY</B></A> - 
+Static variable in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Status code (305) indicating that the requested resource
+ <em>MUST</em> be accessed through the proxy given by the
+ <code><em>Location</em></code> field.
+<DT><A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet"><B>Servlet</B></A> - interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>.<DD>Defines methods that all servlets must implement.<DT><A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>ServletConfig</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>.<DD>A servlet configuration object used by a servlet container
+ to pass information to a servlet during initialization.<DT><A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>ServletContext</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>.<DD>Defines a set of methods that a servlet uses to communicate with its
+ servlet container, for example, to get the MIME type of a file, dispatch
+ requests, or write to a log file.<DT><A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>ServletContextAttributeEvent</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>.<DD>This is the event class for notifications about changes to the attributes of the
+  servlet context of a web application.<DT><A HREF="javax/servlet/ServletContextAttributeEvent.html#ServletContextAttributeEvent(javax.servlet.ServletContext, java.lang.String, java.lang.Object)"><B>ServletContextAttributeEvent(ServletContext, String, Object)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>
+<DD>Construct a ServletContextAttributeEvent from the given context for the
+ given attribute name and attribute value.
+<DT><A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>ServletContextAttributeListener</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet">ServletContextAttributeListener</A>.<DD>Implementations of this interface receive notifications of
+ changes to the attribute list on the servlet context of a web application.<DT><A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>ServletContextEvent</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>.<DD>This is the event class for notifications about changes to
+ the servlet context of a web application.<DT><A HREF="javax/servlet/ServletContextEvent.html#ServletContextEvent(javax.servlet.ServletContext)"><B>ServletContextEvent(ServletContext)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>
+<DD>Construct a ServletContextEvent from the given context.
+<DT><A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>ServletContextListener</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet">ServletContextListener</A>.<DD>Implementations of this interface receive notifications about
+ changes to the servlet context of the web application they are
+ part of.<DT><A HREF="javax/servlet/ServletException.html" title="class in javax.servlet"><B>ServletException</B></A> - exception javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>.<DD>Defines a general exception a servlet can throw when it
+ encounters difficulty.<DT><A HREF="javax/servlet/ServletException.html#ServletException()"><B>ServletException()</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<DD>Constructs a new servlet exception.
+<DT><A HREF="javax/servlet/ServletException.html#ServletException(java.lang.String)"><B>ServletException(String)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<DD>Constructs a new servlet exception with the
+ specified message.
+<DT><A HREF="javax/servlet/ServletException.html#ServletException(java.lang.String, java.lang.Throwable)"><B>ServletException(String, Throwable)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<DD>Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<DT><A HREF="javax/servlet/ServletException.html#ServletException(java.lang.Throwable)"><B>ServletException(Throwable)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>
+<DD>Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.
+<DT><A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>ServletInputStream</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>.<DD>Provides an input stream for reading binary data from a client
+ request, including an efficient <code>readLine</code> method
+ for reading data one line at a time.<DT><A HREF="javax/servlet/ServletInputStream.html#ServletInputStream()"><B>ServletInputStream()</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>
+<DD>Does nothing, because this is an abstract class.
+<DT><A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>ServletOutputStream</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>.<DD>Provides an output stream for sending binary data to the
+ client.<DT><A HREF="javax/servlet/ServletOutputStream.html#ServletOutputStream()"><B>ServletOutputStream()</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A>
+<DD>Does nothing, because this is an abstract class.
+<DT><A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>ServletRequest</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>.<DD>Defines an object to provide client request information to a servlet.<DT><A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>ServletRequestAttributeEvent</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>.<DD>This is the event class for notifications of changes to the 
+ attributes of the servlet request in an application.<DT><A HREF="javax/servlet/ServletRequestAttributeEvent.html#ServletRequestAttributeEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest, java.lang.String, java.lang.Object)"><B>ServletRequestAttributeEvent(ServletContext, ServletRequest, String, Object)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>
+<DD>Construct a ServletRequestAttributeEvent giving the servlet context
+ of this web application, the ServletRequest whose attributes are
+ changing and the name and value of the attribute.
+<DT><A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>ServletRequestAttributeListener</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet">ServletRequestAttributeListener</A>.<DD>A ServletRequestAttributeListener can be implemented by the
+ developer interested in being notified of request attribute
+ changes.<DT><A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>ServletRequestEvent</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>.<DD>Events of this kind indicate lifecycle
+ events for a ServletRequest.<DT><A HREF="javax/servlet/ServletRequestEvent.html#ServletRequestEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest)"><B>ServletRequestEvent(ServletContext, ServletRequest)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>
+<DD>Construct a ServletRequestEvent for the given ServletContext
+ and ServletRequest.
+<DT><A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>ServletRequestListener</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet">ServletRequestListener</A>.<DD>A ServletRequestListener can be implemented by the developer
+ interested in being notified of requests coming in and out of
+ scope in a web component.<DT><A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>ServletRequestWrapper</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>.<DD>Provides a convenient implementation of the ServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.<DT><A HREF="javax/servlet/ServletRequestWrapper.html#ServletRequestWrapper(javax.servlet.ServletRequest)"><B>ServletRequestWrapper(ServletRequest)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>Creates a ServletRequest adaptor wrapping the given request object.
+<DT><A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>ServletResponse</B></A> - interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>.<DD>Defines an object to assist a servlet in sending a response to the client.<DT><A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>ServletResponseWrapper</B></A> - class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>.<DD>Provides a convenient implementation of the ServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.<DT><A HREF="javax/servlet/ServletResponseWrapper.html#ServletResponseWrapper(javax.servlet.ServletResponse)"><B>ServletResponseWrapper(ServletResponse)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>Creates a ServletResponse adaptor wrapping the given response object.
+<DT><A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><B>SingleThreadModel</B></A> - interface javax.servlet.<A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet">SingleThreadModel</A>.<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.4, with no direct
+	replacement.</I><DT><A HREF="javax/servlet/http/HttpServletResponse.html#sendError(int, java.lang.String)"><B>sendError(int, String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sends an error response to the client using the specified
+ status.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#sendError(int)"><B>sendError(int)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sends an error response to the client using the specified status
+ code and clearing the buffer.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#sendError(int, java.lang.String)"><B>sendError(int, String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call sendError(int sc, String msg)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#sendError(int)"><B>sendError(int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call sendError(int sc)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)"><B>sendRedirect(String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sends a temporary redirect response to the client using the
+ specified redirect location URL.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#sendRedirect(java.lang.String)"><B>sendRedirect(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to return sendRedirect(String location)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>service(ServletRequest, ServletResponse)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A>
+<DD>Called by the servlet container to allow the servlet to respond to
+ a request.
+<DT><A HREF="javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>service(ServletRequest, ServletResponse)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>
+<DD>Called by the servlet container to allow the servlet to respond to 
+ a request.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><B>service(HttpServletRequest, HttpServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class.
+<DT><A HREF="javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><B>service(ServletRequest, ServletResponse)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A>
+<DD>Dispatches client requests to the protected
+ <code>service</code> method.
+<DT><A HREF="javax/servlet/http/HttpSessionListener.html#sessionCreated(javax.servlet.http.HttpSessionEvent)"><B>sessionCreated(HttpSessionEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http">HttpSessionListener</A>
+<DD>Notification that a session was created.
+<DT><A HREF="javax/servlet/http/HttpSessionListener.html#sessionDestroyed(javax.servlet.http.HttpSessionEvent)"><B>sessionDestroyed(HttpSessionEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http">HttpSessionListener</A>
+<DD>Notification that a session is about to be invalidated.
+<DT><A HREF="javax/servlet/http/HttpSessionActivationListener.html#sessionDidActivate(javax.servlet.http.HttpSessionEvent)"><B>sessionDidActivate(HttpSessionEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http">HttpSessionActivationListener</A>
+<DD>Notification that the session has just been activated.
+<DT><A HREF="javax/servlet/http/HttpSessionActivationListener.html#sessionWillPassivate(javax.servlet.http.HttpSessionEvent)"><B>sessionWillPassivate(HttpSessionEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http">HttpSessionActivationListener</A>
+<DD>Notification that the session is about to be passivated.
+<DT><A HREF="javax/servlet/ServletContext.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>
+<DD>Binds an object to a given attribute name in this servlet context.
+<DT><A HREF="javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Stores an attribute in this request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to return setAttribute(String name, Object o)
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)"><B>setAttribute(String, Object)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Binds an object to this session, using the name specified.
+<DT><A HREF="javax/servlet/ServletResponse.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Sets the preferred buffer size for the body of the response.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setBufferSize(int)"><B>setBufferSize(int)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setBufferSize(int size)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)"><B>setCharacterEncoding(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>
+<DD>Overrides the name of the character encoding used in the body of this
+ request.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#setCharacterEncoding(java.lang.String)"><B>setCharacterEncoding(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>The default behavior of this method is to set the character encoding
+ on the wrapped request object.
+<DT><A HREF="javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><B>setCharacterEncoding(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Sets the character encoding (MIME charset) of the response
+ being sent to the client, for example, to UTF-8.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setCharacterEncoding(java.lang.String)"><B>setCharacterEncoding(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setCharacterEncoding(String charset)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/Cookie.html#setComment(java.lang.String)"><B>setComment(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Specifies a comment that describes a cookie's purpose.
+<DT><A HREF="javax/servlet/ServletResponse.html#setContentLength(int)"><B>setContentLength(int)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Sets the length of the content body in the response
+ In HTTP servlets, this method sets the HTTP Content-Length header.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setContentLength(int)"><B>setContentLength(int)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setContentLength(int len)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Sets the content type of the response being sent to
+ the client, if the response has not been committed yet.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setContentType(java.lang.String)"><B>setContentType(String)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setContentType(String type)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#setDateHeader(java.lang.String, long)"><B>setDateHeader(String, long)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sets a response header with the given name and
+ date-value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#setDateHeader(java.lang.String, long)"><B>setDateHeader(String, long)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setDateHeader(String name, long date)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/Cookie.html#setDomain(java.lang.String)"><B>setDomain(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Specifies the domain within which this cookie should be presented.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#setHeader(java.lang.String, java.lang.String)"><B>setHeader(String, String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sets a response header with the given name and value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#setHeader(java.lang.String, java.lang.String)"><B>setHeader(String, String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to return setHeader(String name, String value)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#setIntHeader(java.lang.String, int)"><B>setIntHeader(String, int)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sets a response header with the given name and
+ integer value.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#setIntHeader(java.lang.String, int)"><B>setIntHeader(String, int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setIntHeader(String name, int value)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - 
+Method in interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>
+<DD>Sets the locale of the response, if the response has not been
+ committed yet.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setLocale(java.util.Locale)"><B>setLocale(Locale)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setLocale(Locale loc)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/Cookie.html#setMaxAge(int)"><B>setMaxAge(int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Sets the maximum age of the cookie in seconds.
+<DT><A HREF="javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)"><B>setMaxInactiveInterval(int)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>
+<DD>Specifies the time, in seconds, between client requests before the 
+ servlet container will invalidate this session.
+<DT><A HREF="javax/servlet/http/Cookie.html#setPath(java.lang.String)"><B>setPath(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Specifies a path for the cookie
+ to which the client should return the cookie.
+<DT><A HREF="javax/servlet/ServletRequestWrapper.html#setRequest(javax.servlet.ServletRequest)"><B>setRequest(ServletRequest)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A>
+<DD>Sets the request object being wrapped.
+<DT><A HREF="javax/servlet/ServletResponseWrapper.html#setResponse(javax.servlet.ServletResponse)"><B>setResponse(ServletResponse)</B></A> - 
+Method in class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A>
+<DD>Sets the response being wrapped.
+<DT><A HREF="javax/servlet/http/Cookie.html#setSecure(boolean)"><B>setSecure(boolean)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Indicates to the browser whether the cookie should only be sent
+ using a secure protocol, such as HTTPS or SSL.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#setStatus(int)"><B>setStatus(int)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD>Sets the status code for this response.
+<DT><A HREF="javax/servlet/http/HttpServletResponse.html#setStatus(int, java.lang.String)"><B>setStatus(int, String)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, due to ambiguous meaning of the 
+ message parameter. To set a status code 
+ use <code>setStatus(int)</code>, to send an error with a description
+ use <code>sendError(int, String)</code>.
+
+ Sets the status code and message for this response.</I>
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#setStatus(int)"><B>setStatus(int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setStatus(int sc)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/HttpServletResponseWrapper.html#setStatus(int, java.lang.String)"><B>setStatus(int, String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>
+<DD>The default behavior of this method is to call setStatus(int sc, String sm)
+ on the wrapped response object.
+<DT><A HREF="javax/servlet/http/Cookie.html#setValue(java.lang.String)"><B>setValue(String)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Assigns a new value to a cookie after the cookie is created.
+<DT><A HREF="javax/servlet/http/Cookie.html#setVersion(int)"><B>setVersion(int)</B></A> - 
+Method in class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>
+<DD>Sets the version of the cookie protocol this cookie complies
+ with.
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet"><B>UnavailableException</B></A> - exception javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>.<DD>Defines an exception that a servlet or filter throws to indicate
+ that it is permanently or temporarily unavailable.<DT><A HREF="javax/servlet/UnavailableException.html#UnavailableException(javax.servlet.Servlet, java.lang.String)"><B>UnavailableException(Servlet, String)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><CODE>UnavailableException.UnavailableException(String)</CODE></A> instead.</I>
+<DT><A HREF="javax/servlet/UnavailableException.html#UnavailableException(int, javax.servlet.Servlet, java.lang.String)"><B>UnavailableException(int, Servlet, String)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><CODE>UnavailableException.UnavailableException(String, int)</CODE></A> instead.</I>
+<DT><A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><B>UnavailableException(String)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD>Constructs a new exception with a descriptive
+ message indicating that the servlet is permanently
+ unavailable.
+<DT><A HREF="javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><B>UnavailableException(String, int)</B></A> - 
+Constructor for class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A>
+<DD>Constructs a new exception with a descriptive message
+ indicating that the servlet is temporarily unavailable
+ and giving an estimate of how long it will be unavailable.
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="javax/servlet/http/HttpSessionBindingListener.html#valueBound(javax.servlet.http.HttpSessionBindingEvent)"><B>valueBound(HttpSessionBindingEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http">HttpSessionBindingListener</A>
+<DD>Notifies the object that it is being bound to
+ a session and identifies the session.
+<DT><A HREF="javax/servlet/http/HttpSessionBindingListener.html#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)"><B>valueUnbound(HttpSessionBindingEvent)</B></A> - 
+Method in interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http">HttpSessionBindingListener</A>
+<DD>Notifies the object that it is being unbound
+ from a session and identifies the session.
+</DL>
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> 
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Mon Mar 05 08:25:23 MST 2007-->
+<TITLE>
+Servlet API Documentation
+</TITLE>
+</HEAD>
+<FRAMESET cols="20%,80%">
+<FRAMESET rows="30%,70%">
+<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="overview-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Filter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Filter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Filter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,324 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Filter (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.Filter interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Filter (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface Filter</H2>
+<HR>
+<DL>
+<DT>public interface <B>Filter</B></DL>
+
+<P>
+A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.
+ <br><br>
+ Filters perform filtering in the <code>doFilter</code> method. Every Filter has access to 
+ a FilterConfig object from which it can obtain its initialization parameters, a
+ reference to the ServletContext which it can use, for example, to load resources
+ needed for filtering tasks.
+ <p>
+ Filters are configured in the deployment descriptor of a web application
+ <p>
+ Examples that have been identified for this design are<br>
+ 1) Authentication Filters <br>
+ 2) Logging and Auditing Filters <br>
+ 3) Image conversion Filters <br>
+ 4) Data compression Filters <br>
+ 5) Encryption Filters <br>
+ 6) Tokenizing Filters <br>
+ 7) Filters that trigger resource access events <br>
+ 8) XSL/T filters <br>
+ 9) Mime-type chain Filter <br>
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.3</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Filter.html#destroy()">destroy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the web container to indicate to a filter that it is being taken out of service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+         <A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Filter.html#init(javax.servlet.FilterConfig)">init</A></B>(<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>&nbsp;filterConfig)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the web container to indicate to a filter that it is being placed into
+ service.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="init(javax.servlet.FilterConfig)"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>(<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>&nbsp;filterConfig)
+          throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>Called by the web container to indicate to a filter that it is being placed into
+ service. The servlet container calls the init method exactly once after instantiating the
+ filter. The init method must complete successfully before the filter is asked to do any
+ filtering work. <br><br>
+
+ The web container cannot place the filter into service if the init method either<br>
+ 1.Throws a ServletException <br>
+ 2.Does not return within a time period defined by the web container
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><!-- --></A><H3>
+doFilter</H3>
+<PRE>
+public void <B>doFilter</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                     <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+                     <A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)
+              throws java.io.IOException,
+                     <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain. The FilterChain passed in to this
+ method allows the Filter to pass on the request and response to the next entity in the
+ chain.<p>
+ A typical implementation of this method would follow the following pattern:- <br>
+ 1. Examine the request<br>
+ 2. Optionally wrap the request object with a custom implementation to
+ filter content or headers for input filtering <br>
+ 3. Optionally wrap the response object with a custom implementation to
+ filter content or headers for output filtering <br>
+ 4. a) <strong>Either</strong> invoke the next entity in the chain using the FilterChain object (<code>chain.doFilter()</code>), <br>   
+ 4. b) <strong>or</strong> not pass on the request/response pair to the next entity in the filter chain to block the request processing<br>
+ 5. Directly set headers on the response after invocation of the next entity in the filter chain.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="destroy()"><!-- --></A><H3>
+destroy</H3>
+<PRE>
+public void <B>destroy</B>()</PRE>
+<DL>
+<DD>Called by the web container to indicate to a filter that it is being taken out of service. This 
+ method is only called once all threads within the filter's doFilter method have exited or after
+ a timeout period has passed. After the web container calls this method, it will not call the
+ doFilter method again on this instance of the filter. <br><br>
+ 
+ This method gives the filter an opportunity to clean up any resources that are being held (for
+ example, memory, file handles, threads) and make sure that any persistent state is synchronized
+ with the filter's current state in memory.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Filter.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterChain.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterChain.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterChain.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,236 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+FilterChain (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.FilterChain interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FilterChain (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterChain.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterChain.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface FilterChain</H2>
+<HR>
+<DL>
+<DT>public interface <B>FilterChain</B></DL>
+
+<P>
+A FilterChain is an object provided by the servlet container to the developer
+ giving a view into the invocation chain of a filtered request for a resource. Filters
+ use the FilterChain to invoke the next filter in the chain, or if the calling filter
+ is the last filter in the chain, to invoke the resource at the end of the chain.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet"><CODE>Filter</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/FilterChain.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">doFilter</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+doFilter</H3>
+<PRE>
+public void <B>doFilter</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                     <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)
+              throws java.io.IOException,
+                     <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - the request to pass along the chain.<DD><CODE>response</CODE> - the response to pass along the chain.
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE><DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterChain.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterChain.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterConfig.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterConfig.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/FilterConfig.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+FilterConfig (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.FilterConfig interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="FilterConfig (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface FilterConfig</H2>
+<HR>
+<DL>
+<DT>public interface <B>FilterConfig</B></DL>
+
+<P>
+A filter configuration object used by a servlet container
+ to pass information to a filter during initialization.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet"><CODE>Filter</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/FilterConfig.html#getFilterName()">getFilterName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the filter-name of this filter as defined in the deployment descriptor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/FilterConfig.html#getInitParameter(java.lang.String)">getInitParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/FilterConfig.html#getInitParameterNames()">getInitParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the names of the filter's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the filter has
+ no initialization parameters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/FilterConfig.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getFilterName()"><!-- --></A><H3>
+getFilterName</H3>
+<PRE>
+public java.lang.String <B>getFilterName</B>()</PRE>
+<DL>
+<DD>Returns the filter-name of this filter as defined in the deployment descriptor.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> object, used
+			by the caller to interact with its servlet 
+                  container<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameter(java.lang.String)"><!-- --></A><H3>
+getInitParameter</H3>
+<PRE>
+public java.lang.String <B>getInitParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name
+			of the initialization parameter
+<DT><B>Returns:</B><DD>a <code>String</code> containing the value 
+			of the initialization parameter</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameterNames()"><!-- --></A><H3>
+getInitParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getInitParameterNames</B>()</PRE>
+<DL>
+<DD>Returns the names of the filter's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the filter has
+ no initialization parameters.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of <code>String</code> 
+			objects containing the names of the filter's 
+			initialization parameters</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/FilterConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/GenericServlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/GenericServlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/GenericServlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,655 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+GenericServlet (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.GenericServlet class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="GenericServlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GenericServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GenericServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class GenericServlet</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.GenericServlet</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>GenericServlet</B><DT>extends java.lang.Object<DT>implements <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>, java.io.Serializable</DL>
+
+<P>
+Defines a generic, protocol-independent
+ servlet. To write an HTTP servlet for use on the
+ Web, extend <A HREF="../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><CODE>HttpServlet</CODE></A> instead.
+
+ <p><code>GenericServlet</code> implements the <code>Servlet</code>
+ and <code>ServletConfig</code> interfaces. <code>GenericServlet</code>
+ may be directly extended by a servlet, although it's more common to extend
+ a protocol-specific subclass such as <code>HttpServlet</code>.
+
+ <p><code>GenericServlet</code> makes writing servlets
+ easier. It provides simple versions of the lifecycle methods 
+ <code>init</code> and <code>destroy</code> and of the methods 
+ in the <code>ServletConfig</code> interface. <code>GenericServlet</code>
+ also implements the <code>log</code> method, declared in the
+ <code>ServletContext</code> interface. 
+
+ <p>To write a generic servlet, you need only
+ override the abstract <code>service</code> method.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#javax.servlet.GenericServlet">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#GenericServlet()">GenericServlet</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#destroy()">destroy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)">getInitParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the value of the named
+ initialization parameter, or <code>null</code> if the parameter does
+ not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getInitParameterNames()">getInitParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the names of the servlet's initialization parameters 
+ as an <code>Enumeration</code> of <code>String</code> objects,
+ or an empty <code>Enumeration</code> if the servlet has no
+ initialization parameters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getServletConfig()">getServletConfig</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this servlet's <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which this servlet
+ is running.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getServletInfo()">getServletInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns information about the servlet, such as 
+ author, version, and copyright.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#getServletName()">getServletName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this servlet instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#init()">init</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A convenience method which can be overridden so that there's no need
+ to call <code>super.init(config)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the
+ servlet is being placed into service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#log(java.lang.String)">log</A></B>(java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified message to a servlet log file, prepended by the
+ servlet's name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#log(java.lang.String, java.lang.Throwable)">log</A></B>(java.lang.String&nbsp;message,
+    java.lang.Throwable&nbsp;t)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file, prepended by the servlet's name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to
+ a request.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="GenericServlet()"><!-- --></A><H3>
+GenericServlet</H3>
+<PRE>
+public <B>GenericServlet</B>()</PRE>
+<DL>
+<DD>Does nothing. All of the servlet initialization
+ is done by one of the <code>init</code> methods.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="destroy()"><!-- --></A><H3>
+destroy</H3>
+<PRE>
+public void <B>destroy</B>()</PRE>
+<DL>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.  See <A HREF="../../javax/servlet/Servlet.html#destroy()"><CODE>Servlet.destroy()</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/Servlet.html#destroy()">destroy</A></CODE> in interface <CODE><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameter(java.lang.String)"><!-- --></A><H3>
+getInitParameter</H3>
+<PRE>
+public java.lang.String <B>getInitParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the value of the named
+ initialization parameter, or <code>null</code> if the parameter does
+ not exist.  See <A HREF="../../javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)"><CODE>ServletConfig.getInitParameter(java.lang.String)</CODE></A>.
+
+ <p>This method is supplied for convenience. It gets the 
+ value of the named parameter from the servlet's 
+ <code>ServletConfig</code> object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)">getInitParameter</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name 
+				of the initialization parameter
+<DT><B>Returns:</B><DD>String 		a <code>String</code> containing the value
+				of the initialization parameter</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameterNames()"><!-- --></A><H3>
+getInitParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getInitParameterNames</B>()</PRE>
+<DL>
+<DD>Returns the names of the servlet's initialization parameters 
+ as an <code>Enumeration</code> of <code>String</code> objects,
+ or an empty <code>Enumeration</code> if the servlet has no
+ initialization parameters.  See <A HREF="../../javax/servlet/ServletConfig.html#getInitParameterNames()"><CODE>ServletConfig.getInitParameterNames()</CODE></A>.
+
+ <p>This method is supplied for convenience. It gets the 
+ parameter names from the servlet's <code>ServletConfig</code> object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletConfig.html#getInitParameterNames()">getInitParameterNames</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>Enumeration 	an enumeration of <code>String</code>
+				objects containing the names of 
+				the servlet's initialization parameters</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletConfig()"><!-- --></A><H3>
+getServletConfig</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A> <B>getServletConfig</B>()</PRE>
+<DL>
+<DD>Returns this servlet's <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/Servlet.html#getServletConfig()">getServletConfig</A></CODE> in interface <CODE><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>ServletConfig 	the <code>ServletConfig</code> object
+				that initialized this servlet<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)"><CODE>Servlet.init(javax.servlet.ServletConfig)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which this servlet
+ is running.  See <A HREF="../../javax/servlet/ServletConfig.html#getServletContext()"><CODE>ServletConfig.getServletContext()</CODE></A>.
+
+ <p>This method is supplied for convenience. It gets the 
+ context from the servlet's <code>ServletConfig</code> object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletConfig.html#getServletContext()">getServletContext</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>ServletContext 	the <code>ServletContext</code> object
+				passed to this servlet by the <code>init</code>
+				method<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletInfo()"><!-- --></A><H3>
+getServletInfo</H3>
+<PRE>
+public java.lang.String <B>getServletInfo</B>()</PRE>
+<DL>
+<DD>Returns information about the servlet, such as 
+ author, version, and copyright. 
+ By default, this method returns an empty string.  Override this method
+ to have it return a meaningful value.  See <A HREF="../../javax/servlet/Servlet.html#getServletInfo()"><CODE>Servlet.getServletInfo()</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/Servlet.html#getServletInfo()">getServletInfo</A></CODE> in interface <CODE><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>String 		information about this servlet, by default an
+ 				empty string</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init(javax.servlet.ServletConfig)"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>(<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)
+          throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being placed into service.  See <A HREF="../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)"><CODE>Servlet.init(javax.servlet.ServletConfig)</CODE></A>.
+
+ <p>This implementation stores the <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A>
+ object it receives from the servlet container for later use.
+ When overriding this form of the method, call 
+ <code>super.init(config)</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)">init</A></CODE> in interface <CODE><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>config</CODE> - the <code>ServletConfig</code> object
+					that contains configutation
+					information for this servlet
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if an exception occurs that
+					interrupts the servlet's normal
+					operation<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><CODE>UnavailableException</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>()
+          throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>A convenience method which can be overridden so that there's no need
+ to call <code>super.init(config)</code>.
+
+ <p>Instead of overriding <A HREF="../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)"><CODE>init(ServletConfig)</CODE></A>, simply override
+ this method and it will be called by
+ <code>GenericServlet.init(ServletConfig config)</code>.
+ The <code>ServletConfig</code> object can still be retrieved via <A HREF="../../javax/servlet/GenericServlet.html#getServletConfig()"><CODE>getServletConfig()</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if an exception occurs that
+					interrupts the servlet's
+					normal operation</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="log(java.lang.String)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD>Writes the specified message to a servlet log file, prepended by the
+ servlet's name.  See <A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String)"><CODE>ServletContext.log(String)</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> specifying
+			the message to be written to the log file</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="log(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(java.lang.String&nbsp;message,
+                java.lang.Throwable&nbsp;t)</PRE>
+<DL>
+<DD>Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file, prepended by the servlet's name.
+ See <A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><CODE>ServletContext.log(String, Throwable)</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> that describes
+				the error or exception<DD><CODE>t</CODE> - the <code>java.lang.Throwable</code> error
+ 				or exception</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+service</H3>
+<PRE>
+public abstract void <B>service</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+                             <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)
+                      throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                             java.io.IOException</PRE>
+<DL>
+<DD>Called by the servlet container to allow the servlet to respond to
+ a request.  See <A HREF="../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</CODE></A>.
+ 
+ <p>This method is declared abstract so subclasses, such as 
+ <code>HttpServlet</code>, must override it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></CODE> in interface <CODE><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <code>ServletRequest</code> object
+			that contains the client's request<DD><CODE>res</CODE> - the <code>ServletResponse</code> object
+			that will contain the servlet's response
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if an exception occurs that
+					interferes with the servlet's
+					normal operation occurred
+<DD><CODE>java.io.IOException</CODE> - if an input or output
+					exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletName()"><!-- --></A><H3>
+getServletName</H3>
+<PRE>
+public java.lang.String <B>getServletName</B>()</PRE>
+<DL>
+<DD>Returns the name of this servlet instance.
+ See <A HREF="../../javax/servlet/ServletConfig.html#getServletName()"><CODE>ServletConfig.getServletName()</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletConfig.html#getServletName()">getServletName</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of this servlet instance</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/GenericServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GenericServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/RequestDispatcher.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/RequestDispatcher.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/RequestDispatcher.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+RequestDispatcher (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.RequestDispatcher interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="RequestDispatcher (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RequestDispatcher.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="RequestDispatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface RequestDispatcher</H2>
+<HR>
+<DL>
+<DT>public interface <B>RequestDispatcher</B></DL>
+
+<P>
+Defines an object that receives requests from the client
+ and sends them to any resource (such as a servlet, 
+ HTML file, or JSP file) on the server. The servlet
+ container creates the <code>RequestDispatcher</code> object,
+ which is used as a wrapper around a server resource located
+ at a particular path or given by a particular name.
+
+ <p>This interface is intended to wrap servlets,
+ but a servlet container can create <code>RequestDispatcher</code>
+ objects to wrap any type of resource.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)"><CODE>ServletContext.getRequestDispatcher(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletContext.html#getNamedDispatcher(java.lang.String)"><CODE>ServletContext.getNamedDispatcher(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)"><CODE>ServletRequest.getRequestDispatcher(java.lang.String)</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">forward</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">include</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+forward</H3>
+<PRE>
+public void <B>forward</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                    <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)
+             throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                    java.io.IOException</PRE>
+<DL>
+<DD>Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server. This method allows
+ one servlet to do preliminary processing of
+ a request and another resource to generate
+ the response.
+
+ <p>For a <code>RequestDispatcher</code> obtained via 
+ <code>getRequestDispatcher()</code>, the <code>ServletRequest</code> 
+ object has its path elements and parameters adjusted to match
+ the path of the target resource.
+
+ <p><code>forward</code> should be called before the response has been 
+ committed to the client (before response body output has been flushed).  
+ If the response already has been committed, this method throws
+ an <code>IllegalStateException</code>.
+ Uncommitted output in the response buffer is automatically cleared 
+ before the forward.
+
+ <p>The request and response parameters must be either the same
+ objects as were passed to the calling servlet's service method or be
+ subclasses of the <A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><CODE>ServletRequestWrapper</CODE></A> or <A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><CODE>ServletResponseWrapper</CODE></A> classes
+ that wrap them.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - a <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> object
+				that represents the request the client
+ 				makes of the servlet<DD><CODE>response</CODE> - a <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> object
+				that represents the response the servlet
+				returns to the client
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the target resource throws this exception
+<DD><CODE>java.io.IOException</CODE> - if the target resource throws this exception
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the response was already committed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+include</H3>
+<PRE>
+public void <B>include</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                    <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)
+             throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                    java.io.IOException</PRE>
+<DL>
+<DD>Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response. In essence, this method enables 
+ programmatic server-side includes.
+
+ <p>The <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> object has its path elements
+ and parameters remain unchanged from the caller's. The included
+ servlet cannot change the response status code or set headers;
+ any attempt to make a change is ignored.
+
+ <p>The request and response parameters must be either the same
+ objects as were passed to the calling servlet's service method or be
+ subclasses of the <A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><CODE>ServletRequestWrapper</CODE></A> or <A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><CODE>ServletResponseWrapper</CODE></A> classes
+ that wrap them.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>request</CODE> - a <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> object 
+					that contains the client's request<DD><CODE>response</CODE> - a <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> object 
+ 					that contains the servlet's response
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the included resource throws this exception
+<DD><CODE>java.io.IOException</CODE> - if the included resource throws this exception</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/RequestDispatcher.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="RequestDispatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Servlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Servlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/Servlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,418 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Servlet (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.Servlet interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Servlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Servlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Servlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface Servlet</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>Servlet</B></DL>
+
+<P>
+Defines methods that all servlets must implement.
+
+ <p>A servlet is a small Java program that runs within a Web server.
+ Servlets receive and respond to requests from Web clients,
+ usually across HTTP, the HyperText Transfer Protocol. 
+
+ <p>To implement this interface, you can write a generic servlet
+ that extends
+ <code>javax.servlet.GenericServlet</code> or an HTTP servlet that
+ extends <code>javax.servlet.http.HttpServlet</code>.
+
+ <p>This interface defines methods to initialize a servlet,
+ to service requests, and to remove a servlet from the server.
+ These are known as life-cycle methods and are called in the
+ following sequence:
+ <ol>
+ <li>The servlet is constructed, then initialized with the <code>init</code> method.
+ <li>Any calls from clients to the <code>service</code> method are handled.
+ <li>The servlet is taken out of service, then destroyed with the 
+ <code>destroy</code> method, then garbage collected and finalized.
+ </ol>
+
+ <p>In addition to the life-cycle methods, this interface
+ provides the <code>getServletConfig</code> method, which the servlet 
+ can use to get any startup information, and the <code>getServletInfo</code>
+ method, which allows the servlet to return basic information about itself,
+ such as author, version, and copyright.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><CODE>GenericServlet</CODE></A>, 
+<A HREF="../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><CODE>HttpServlet</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Servlet.html#destroy()">destroy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Servlet.html#getServletConfig()">getServletConfig</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object, which contains
+ initialization and startup parameters for this servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Servlet.html#getServletInfo()">getServletInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns information about the servlet, such
+ as author, version, and copyright.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the 
+ servlet is being placed into service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to 
+ a request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="init(javax.servlet.ServletConfig)"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>(<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)
+          throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD>Called by the servlet container to indicate to a servlet that the 
+ servlet is being placed into service.
+
+ <p>The servlet container calls the <code>init</code>
+ method exactly once after instantiating the servlet.
+ The <code>init</code> method must complete successfully
+ before the servlet can receive any requests.
+
+ <p>The servlet container cannot place the servlet into service
+ if the <code>init</code> method
+ <ol>
+ <li>Throws a <code>ServletException</code>
+ <li>Does not return within a time period defined by the Web server
+ </ol>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>config</CODE> - a <code>ServletConfig</code> object 
+					containing the servlet's
+ 					configuration and initialization parameters
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if an exception has occurred that
+					interferes with the servlet's normal
+					operation<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><CODE>UnavailableException</CODE></A>, 
+<A HREF="../../javax/servlet/Servlet.html#getServletConfig()"><CODE>getServletConfig()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletConfig()"><!-- --></A><H3>
+getServletConfig</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A> <B>getServletConfig</B>()</PRE>
+<DL>
+<DD>Returns a <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object, which contains
+ initialization and startup parameters for this servlet.
+ The <code>ServletConfig</code> object returned is the one 
+ passed to the <code>init</code> method. 
+
+ <p>Implementations of this interface are responsible for storing the 
+ <code>ServletConfig</code> object so that this 
+ method can return it. The <A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><CODE>GenericServlet</CODE></A>
+ class, which implements this interface, already does this.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>ServletConfig</code> object
+			that initializes this servlet<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)"><CODE>init(javax.servlet.ServletConfig)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+service</H3>
+<PRE>
+public void <B>service</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+                    <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)
+             throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                    java.io.IOException</PRE>
+<DL>
+<DD>Called by the servlet container to allow the servlet to respond to 
+ a request.
+
+ <p>This method is only called after the servlet's <code>init()</code>
+ method has completed successfully.
+ 
+ <p>  The status code of the response always should be set for a servlet 
+ that throws or sends an error.
+
+ 
+ <p>Servlets typically run inside multithreaded servlet containers
+ that can handle multiple requests concurrently. Developers must 
+ be aware to synchronize access to any shared resources such as files,
+ network connections, and as well as the servlet's class and instance 
+ variables. 
+ More information on multithreaded programming in Java is available in 
+ <a href="http://java.sun.com/Series/Tutorial/java/threads/multithreaded.html">
+ the Java tutorial on multi-threaded programming</a>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <code>ServletRequest</code> object that contains
+			the client's request<DD><CODE>res</CODE> - the <code>ServletResponse</code> object that contains
+			the servlet's response
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if an exception occurs that interferes
+					with the servlet's normal operation
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletInfo()"><!-- --></A><H3>
+getServletInfo</H3>
+<PRE>
+public java.lang.String <B>getServletInfo</B>()</PRE>
+<DL>
+<DD>Returns information about the servlet, such
+ as author, version, and copyright.
+ 
+ <p>The string that this method returns should
+ be plain text and not markup of any kind (such as HTML, XML,
+ etc.).
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing servlet information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="destroy()"><!-- --></A><H3>
+destroy</H3>
+<PRE>
+public void <B>destroy</B>()</PRE>
+<DL>
+<DD>Called by the servlet container to indicate to a servlet that the
+ servlet is being taken out of service.  This method is
+ only called once all threads within the servlet's
+ <code>service</code> method have exited or after a timeout
+ period has passed. After the servlet container calls this 
+ method, it will not call the <code>service</code> method again
+ on this servlet.
+
+ <p>This method gives the servlet an opportunity 
+ to clean up any resources that are being held (for example, memory,
+ file handles, threads) and make sure that any persistent state is
+ synchronized with the servlet's current state in memory.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Servlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Servlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletConfig.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletConfig.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletConfig.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,310 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletConfig (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletConfig interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletConfig (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletConfig</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletConfig</B></DL>
+
+<P>
+A servlet configuration object used by a servlet container
+ to pass information to a servlet during initialization.
+<P>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)">getInitParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletConfig.html#getInitParameterNames()">getInitParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the names of the servlet's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the servlet has
+ no initialization parameters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletConfig.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletConfig.html#getServletName()">getServletName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this servlet instance.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getServletName()"><!-- --></A><H3>
+getServletName</H3>
+<PRE>
+public java.lang.String <B>getServletName</B>()</PRE>
+<DL>
+<DD>Returns the name of this servlet instance.
+ The name may be provided via server administration, assigned in the 
+ web application deployment descriptor, or for an unregistered (and thus
+ unnamed) servlet instance it will be the servlet's class name.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the servlet instance</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Returns a reference to the <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> object, used
+			by the caller to interact with its servlet 
+                  container<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameter(java.lang.String)"><!-- --></A><H3>
+getInitParameter</H3>
+<PRE>
+public java.lang.String <B>getInitParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the value of the 
+ named initialization parameter, or <code>null</code> if 
+ the parameter does not exist.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name
+			of the initialization parameter
+<DT><B>Returns:</B><DD>a <code>String</code> containing the value 
+			of the initialization parameter</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameterNames()"><!-- --></A><H3>
+getInitParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getInitParameterNames</B>()</PRE>
+<DL>
+<DD>Returns the names of the servlet's initialization parameters
+ as an <code>Enumeration</code> of <code>String</code> objects, 
+ or an empty <code>Enumeration</code> if the servlet has
+ no initialization parameters.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of <code>String</code> 
+			objects containing the names of the servlet's 
+			initialization parameters</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletConfig.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1063 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletContext (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletContext interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletContext (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletContext</H2>
+<HR>
+<DL>
+<DT>public interface <B>ServletContext</B></DL>
+
+<P>
+Defines a set of methods that a servlet uses to communicate with its
+ servlet container, for example, to get the MIME type of a file, dispatch
+ requests, or write to a log file.
+
+ <p>There is one context per "web application" per Java Virtual Machine.  (A
+ "web application" is a collection of servlets and content installed under a
+ specific subset of the server's URL namespace such as <code>/catalog</code>
+ and possibly installed via a <code>.war</code> file.) 
+
+ <p>In the case of a web
+ application marked "distributed" in its deployment descriptor, there will
+ be one context instance for each virtual machine.  In this situation, the 
+ context cannot be used as a location to share global information (because
+ the information won't be truly global).  Use an external resource like 
+ a database instead.
+
+ <p>The <code>ServletContext</code> object is contained within 
+ the <A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object, which the Web server provides the
+ servlet when the servlet is initialized.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/Servlet.html#getServletConfig()"><CODE>Servlet.getServletConfig()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletConfig.html#getServletContext()"><CODE>ServletConfig.getServletContext()</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the servlet container attribute with the given name, 
+ or <code>null</code> if there is no attribute by that name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getAttributeNames()">getAttributeNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Enumeration</code> containing the 
+ attribute names available
+ within this servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getContext(java.lang.String)">getContext</A></B>(java.lang.String&nbsp;uripath)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>ServletContext</code> object that 
+ corresponds to a specified URL on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getInitParameter(java.lang.String)">getInitParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the value of the named
+ context-wide initialization parameter, or <code>null</code> if the 
+ parameter does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getInitParameterNames()">getInitParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the names of the context's initialization parameters as an
+ <code>Enumeration</code> of <code>String</code> objects, or an
+ empty <code>Enumeration</code> if the context has no initialization
+ parameters.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getMajorVersion()">getMajorVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the major version of the Java Servlet API that this
+ servlet container supports.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getMimeType(java.lang.String)">getMimeType</A></B>(java.lang.String&nbsp;file)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the MIME type of the specified file, or <code>null</code> if 
+ the MIME type is not known.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getMinorVersion()">getMinorVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the minor version of the Servlet API that this
+ servlet container supports.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getNamedDispatcher(java.lang.String)">getNamedDispatcher</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the named servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getRealPath(java.lang.String)">getRealPath</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>String</code> containing the real path 
+ for a given virtual path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the resource located at the given path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.net.URL</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getResource(java.lang.String)">getResource</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a URL to the resource that is mapped to a specified
+ path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.InputStream</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getResourceAsStream(java.lang.String)">getResourceAsStream</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the resource located at the named path as
+ an <code>InputStream</code> object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Set</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getResourcePaths(java.lang.String)">getResourcePaths</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path
+ matches the supplied path argument.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getServerInfo()">getServerInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name and version of the servlet container on which
+ the servlet is running.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getServlet(java.lang.String)">getServlet</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getServletContextName()">getServletContextName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of this web application corresponding to this ServletContext as specified in the deployment
+ descriptor for this web application by the display-name element.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getServletNames()">getServletNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no replacement.
+
+ <p>This method was originally defined to return an 
+ <code>Enumeration</code>
+ of all the servlet names known to this context. In this version,
+ this method always returns an empty <code>Enumeration</code> and 
+ remains only to preserve binary compatibility. This method will 
+ be permanently removed in a future version of the Java Servlet API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#getServlets()">getServlets</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.0, with no replacement.
+
+ <p>This method was originally defined to return an <code>Enumeration</code>
+ of all the servlets known to this servlet context. In this
+ version, this method always returns an empty enumeration and
+ remains only to preserve binary compatibility. This method
+ will be permanently removed in a future version of the Java
+ Servlet API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#log(java.lang.Exception, java.lang.String)">log</A></B>(java.lang.Exception&nbsp;exception,
+    java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, use
+ 			<A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><CODE>log(String message, Throwable throwable)</CODE></A> 
+			instead.
+
+ <p>This method was originally defined to write an 
+ exception's stack trace and an explanatory error message
+ to the servlet log file.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String)">log</A></B>(java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes the specified message to a servlet log file, usually
+ an event log.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)">log</A></B>(java.lang.String&nbsp;message,
+    java.lang.Throwable&nbsp;throwable)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the attribute with the given name from 
+ the servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContext.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;object)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds an object to a given attribute name in this servlet context.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getContext(java.lang.String)"><!-- --></A><H3>
+getContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getContext</B>(java.lang.String&nbsp;uripath)</PRE>
+<DL>
+<DD>Returns a <code>ServletContext</code> object that 
+ corresponds to a specified URL on the server.
+
+ <p>This method allows servlets to gain
+ access to the context for various parts of the server, and as
+ needed obtain <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> objects from the context.
+ The given path must be begin with "/", is interpreted relative 
+ to the server's document root and is matched against the context roots of
+ other web applications hosted on this container.
+ 
+ <p>In a security conscious environment, the servlet container may
+ return <code>null</code> for a given URL.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uripath</CODE> - a <code>String</code> specifying the context path of
+			another web application in the container.
+<DT><B>Returns:</B><DD>the <code>ServletContext</code> object that
+			corresponds to the named URL, or null if either
+                        none exists or the container wishes to restrict 
+ 			this access.<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMajorVersion()"><!-- --></A><H3>
+getMajorVersion</H3>
+<PRE>
+public int <B>getMajorVersion</B>()</PRE>
+<DL>
+<DD>Returns the major version of the Java Servlet API that this
+ servlet container supports. All implementations that comply
+ with Version 2.4 must have this method
+ return the integer 2.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>2</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMinorVersion()"><!-- --></A><H3>
+getMinorVersion</H3>
+<PRE>
+public int <B>getMinorVersion</B>()</PRE>
+<DL>
+<DD>Returns the minor version of the Servlet API that this
+ servlet container supports. All implementations that comply
+ with Version 2.4 must have this method
+ return the integer 4.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>4</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMimeType(java.lang.String)"><!-- --></A><H3>
+getMimeType</H3>
+<PRE>
+public java.lang.String <B>getMimeType</B>(java.lang.String&nbsp;file)</PRE>
+<DL>
+<DD>Returns the MIME type of the specified file, or <code>null</code> if 
+ the MIME type is not known. The MIME type is determined
+ by the configuration of the servlet container, and may be specified
+ in a web application deployment descriptor. Common MIME
+ types are <code>"text/html"</code> and <code>"image/gif"</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - a <code>String</code> specifying the name
+			of a file
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the file's MIME type</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourcePaths(java.lang.String)"><!-- --></A><H3>
+getResourcePaths</H3>
+<PRE>
+public java.util.Set <B>getResourcePaths</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>Returns a directory-like listing of all the paths to resources within the web application whose longest sub-path
+ matches the supplied path argument. Paths indicating subdirectory paths end with a '/'. The returned paths are all 
+ relative to the root of the web application and have a leading '/'. For example, for a web application 
+ containing<br><br>
+
+ /welcome.html<br>
+ /catalog/index.html<br>
+ /catalog/products.html<br>
+ /catalog/offers/books.html<br>
+ /catalog/offers/music.html<br>
+ /customer/login.jsp<br>
+ /WEB-INF/web.xml<br>
+ /WEB-INF/classes/com.acme.OrderServlet.class,<br><br>
+
+ getResourcePaths("/") returns {"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}<br>
+ getResourcePaths("/catalog/") returns {"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}.<br>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - the partial path used to match the resources,
+				which must start with a /
+<DT><B>Returns:</B><DD>a Set containing the directory listing, or null if there are no resources in the web application whose path
+ begins with the supplied path.<DT><B>Since:</B></DT>
+  <DD>Servlet 2.3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResource(java.lang.String)"><!-- --></A><H3>
+getResource</H3>
+<PRE>
+public java.net.URL <B>getResource</B>(java.lang.String&nbsp;path)
+                         throws java.net.MalformedURLException</PRE>
+<DL>
+<DD>Returns a URL to the resource that is mapped to a specified
+ path. The path must begin with a "/" and is interpreted
+ as relative to the current context root.
+
+ <p>This method allows the servlet container to make a resource 
+ available to servlets from any source. Resources 
+ can be located on a local or remote
+ file system, in a database, or in a <code>.war</code> file. 
+
+ <p>The servlet container must implement the URL handlers
+ and <code>URLConnection</code> objects that are necessary
+ to access the resource.
+
+ <p>This method returns <code>null</code>
+ if no resource is mapped to the pathname.
+
+ <p>Some containers may allow writing to the URL returned by
+ this method using the methods of the URL class.
+
+ <p>The resource content is returned directly, so be aware that 
+ requesting a <code>.jsp</code> page returns the JSP source code.
+ Use a <code>RequestDispatcher</code> instead to include results of 
+ an execution.
+
+ <p>This method has a different purpose than
+ <code>java.lang.Class.getResource</code>,
+ which looks up resources based on a class loader. This
+ method does not use class loaders.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying
+						the path to the resource
+<DT><B>Returns:</B><DD>the resource located at the named path,
+ 						or <code>null</code> if there is no resource
+						at that path
+<DT><B>Throws:</B>
+<DD><CODE>java.net.MalformedURLException</CODE> - if the pathname is not given in 
+ 						the correct form</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceAsStream(java.lang.String)"><!-- --></A><H3>
+getResourceAsStream</H3>
+<PRE>
+public java.io.InputStream <B>getResourceAsStream</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>Returns the resource located at the named path as
+ an <code>InputStream</code> object.
+
+ <p>The data in the <code>InputStream</code> can be 
+ of any type or length. The path must be specified according
+ to the rules given in <code>getResource</code>.
+ This method returns <code>null</code> if no resource exists at
+ the specified path. 
+ 
+ <p>Meta-information such as content length and content type
+ that is available via <code>getResource</code>
+ method is lost when using this method.
+
+ <p>The servlet container must implement the URL handlers
+ and <code>URLConnection</code> objects necessary to access
+ the resource.
+
+ <p>This method is different from 
+ <code>java.lang.Class.getResourceAsStream</code>,
+ which uses a class loader. This method allows servlet containers 
+ to make a resource available
+ to a servlet from any location, without using a class loader.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying the path
+			to the resource
+<DT><B>Returns:</B><DD>the <code>InputStream</code> returned to the 
+			servlet, or <code>null</code> if no resource
+			exists at the specified path</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestDispatcher(java.lang.String)"><!-- --></A><H3>
+getRequestDispatcher</H3>
+<PRE>
+public <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A> <B>getRequestDispatcher</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the resource located at the given path.
+ A <code>RequestDispatcher</code> object can be used to forward 
+ a request to the resource or to include the resource in a response.
+ The resource can be dynamic or static.
+
+ <p>The pathname must begin with a "/" and is interpreted as relative
+ to the current context root.  Use <code>getContext</code> to obtain
+ a <code>RequestDispatcher</code> for resources in foreign contexts.
+ This method returns <code>null</code> if the <code>ServletContext</code>
+ cannot return a <code>RequestDispatcher</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying the pathname
+			to the resource
+<DT><B>Returns:</B><DD>a <code>RequestDispatcher</code> object
+			that acts as a wrapper for the resource
+			at the specified path, or <code>null</code> if 
+			the <code>ServletContext</code> cannot return
+			a <code>RequestDispatcher</code><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A>, 
+<A HREF="../../javax/servlet/ServletContext.html#getContext(java.lang.String)"><CODE>getContext(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNamedDispatcher(java.lang.String)"><!-- --></A><H3>
+getNamedDispatcher</H3>
+<PRE>
+public <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A> <B>getNamedDispatcher</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the named servlet.
+
+ <p>Servlets (and JSP pages also) may be given names via server 
+ administration or via a web application deployment descriptor.
+ A servlet instance can determine its name using 
+ <A HREF="../../javax/servlet/ServletConfig.html#getServletName()"><CODE>ServletConfig.getServletName()</CODE></A>.
+
+ <p>This method returns <code>null</code> if the 
+ <code>ServletContext</code>
+ cannot return a <code>RequestDispatcher</code> for any reason.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name
+			of a servlet to wrap
+<DT><B>Returns:</B><DD>a <code>RequestDispatcher</code> object
+			that acts as a wrapper for the named servlet,
+			or <code>null</code> if the <code>ServletContext</code>
+			cannot return a <code>RequestDispatcher</code><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A>, 
+<A HREF="../../javax/servlet/ServletContext.html#getContext(java.lang.String)"><CODE>getContext(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletConfig.html#getServletName()"><CODE>ServletConfig.getServletName()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServlet(java.lang.String)"><!-- --></A><H3>
+getServlet</H3>
+<PRE>
+public <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A> <B>getServlet</B>(java.lang.String&nbsp;name)
+                   throws <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I>
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServlets()"><!-- --></A><H3>
+getServlets</H3>
+<PRE>
+public java.util.Enumeration <B>getServlets</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.0, with no replacement.
+
+ <p>This method was originally defined to return an <code>Enumeration</code>
+ of all the servlets known to this servlet context. In this
+ version, this method always returns an empty enumeration and
+ remains only to preserve binary compatibility. This method
+ will be permanently removed in a future version of the Java
+ Servlet API.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletNames()"><!-- --></A><H3>
+getServletNames</H3>
+<PRE>
+public java.util.Enumeration <B>getServletNames</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no replacement.
+
+ <p>This method was originally defined to return an 
+ <code>Enumeration</code>
+ of all the servlet names known to this context. In this version,
+ this method always returns an empty <code>Enumeration</code> and 
+ remains only to preserve binary compatibility. This method will 
+ be permanently removed in a future version of the Java Servlet API.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="log(java.lang.String)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD>Writes the specified message to a servlet log file, usually
+ an event log. The name and type of the servlet log file is 
+ specific to the servlet container.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> specifying the 
+			message to be written to the log file</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="log(java.lang.Exception, java.lang.String)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(java.lang.Exception&nbsp;exception,
+                java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, use
+ 			<A HREF="../../javax/servlet/ServletContext.html#log(java.lang.String, java.lang.Throwable)"><CODE>log(String message, Throwable throwable)</CODE></A> 
+			instead.
+
+ <p>This method was originally defined to write an 
+ exception's stack trace and an explanatory error message
+ to the servlet log file.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="log(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(java.lang.String&nbsp;message,
+                java.lang.Throwable&nbsp;throwable)</PRE>
+<DL>
+<DD>Writes an explanatory message and a stack trace
+ for a given <code>Throwable</code> exception
+ to the servlet log file. The name and type of the servlet log 
+ file is specific to the servlet container, usually an event log.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> that 
+				describes the error or exception<DD><CODE>throwable</CODE> - the <code>Throwable</code> error 
+				or exception</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRealPath(java.lang.String)"><!-- --></A><H3>
+getRealPath</H3>
+<PRE>
+public java.lang.String <B>getRealPath</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the real path 
+ for a given virtual path. For example, the path "/index.html"
+ returns the absolute file path on the server's filesystem would be
+ served by a request for "http://host/contextPath/index.html",
+ where contextPath is the context path of this ServletContext..
+
+ <p>The real path returned will be in a form
+ appropriate to the computer and operating system on
+ which the servlet container is running, including the
+ proper path separators. This method returns <code>null</code>
+ if the servlet container cannot translate the virtual path
+ to a real path for any reason (such as when the content is
+ being made available from a <code>.war</code> archive).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying a virtual path
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the real path,
+                  or null if the translation cannot be performed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerInfo()"><!-- --></A><H3>
+getServerInfo</H3>
+<PRE>
+public java.lang.String <B>getServerInfo</B>()</PRE>
+<DL>
+<DD>Returns the name and version of the servlet container on which
+ the servlet is running. 
+
+ <p>The form of the returned string is 
+ <i>servername</i>/<i>versionnumber</i>.
+ For example, the JavaServer Web Development Kit may return the string
+ <code>JavaServer Web Dev Kit/1.0</code>.
+
+ <p>The servlet container may return other optional information 
+ after the primary string in parentheses, for example,
+ <code>JavaServer Web Dev Kit/1.0 (JDK 1.1.6; Windows NT 4.0 x86)</code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing at least the 
+			servlet container name and version number</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameter(java.lang.String)"><!-- --></A><H3>
+getInitParameter</H3>
+<PRE>
+public java.lang.String <B>getInitParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a <code>String</code> containing the value of the named
+ context-wide initialization parameter, or <code>null</code> if the 
+ parameter does not exist.
+
+ <p>This method can make available configuration information useful
+ to an entire "web application".  For example, it can provide a 
+ webmaster's email address or the name of a system that holds 
+ critical data.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> containing the name of the
+                  parameter whose value is requested
+<DT><B>Returns:</B><DD>a <code>String</code> containing at least the 
+			servlet container name and version number<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)"><CODE>ServletConfig.getInitParameter(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInitParameterNames()"><!-- --></A><H3>
+getInitParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getInitParameterNames</B>()</PRE>
+<DL>
+<DD>Returns the names of the context's initialization parameters as an
+ <code>Enumeration</code> of <code>String</code> objects, or an
+ empty <code>Enumeration</code> if the context has no initialization
+ parameters.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of <code>String</code> 
+                  objects containing the names of the context's
+                  initialization parameters<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletConfig.html#getInitParameter(java.lang.String)"><CODE>ServletConfig.getInitParameter(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the servlet container attribute with the given name, 
+ or <code>null</code> if there is no attribute by that name.
+ An attribute allows a servlet container to give the
+ servlet additional information not
+ already provided by this interface. See your
+ server documentation for information about its attributes.
+ A list of supported attributes can be retrieved using
+ <code>getAttributeNames</code>.
+
+ <p>The attribute is returned as a <code>java.lang.Object</code>
+ or some subclass.
+ Attribute names should follow the same convention as package
+ names. The Java Servlet API specification reserves names
+ matching <code>java.*</code>, <code>javax.*</code>,
+ and <code>sun.*</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name 
+			of the attribute
+<DT><B>Returns:</B><DD>an <code>Object</code> containing the value 
+			of the attribute, or <code>null</code>
+			if no attribute exists matching the given
+			name<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html#getAttributeNames()"><CODE>getAttributeNames()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNames()"><!-- --></A><H3>
+getAttributeNames</H3>
+<PRE>
+public java.util.Enumeration <B>getAttributeNames</B>()</PRE>
+<DL>
+<DD>Returns an <code>Enumeration</code> containing the 
+ attribute names available
+ within this servlet context. Use the
+ <A HREF="../../javax/servlet/ServletContext.html#getAttribute(java.lang.String)"><CODE>getAttribute(java.lang.String)</CODE></A> method with an attribute name
+ to get the value of an attribute.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of attribute 
+			names<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContext.html#getAttribute(java.lang.String)"><CODE>getAttribute(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                         java.lang.Object&nbsp;object)</PRE>
+<DL>
+<DD>Binds an object to a given attribute name in this servlet context. If
+ the name specified is already used for an attribute, this
+ method will replace the attribute with the new to the new attribute.
+ <p>If listeners are configured on the <code>ServletContext</code> the  
+ container notifies them accordingly.
+ <p>
+ If a null value is passed, the effect is the same as calling 
+ <code>removeAttribute()</code>.
+ 
+ <p>Attribute names should follow the same convention as package
+ names. The Java Servlet API specification reserves names
+ matching <code>java.*</code>, <code>javax.*</code>, and
+ <code>sun.*</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name 
+			of the attribute<DD><CODE>object</CODE> - an <code>Object</code> representing the
+			attribute to be bound</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public void <B>removeAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Removes the attribute with the given name from 
+ the servlet context. After removal, subsequent calls to
+ <A HREF="../../javax/servlet/ServletContext.html#getAttribute(java.lang.String)"><CODE>getAttribute(java.lang.String)</CODE></A> to retrieve the attribute's value
+ will return <code>null</code>.
+
+ <p>If listeners are configured on the <code>ServletContext</code> the 
+ container notifies them accordingly.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name 
+ 			of the attribute to be removed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContextName()"><!-- --></A><H3>
+getServletContextName</H3>
+<PRE>
+public java.lang.String <B>getServletContextName</B>()</PRE>
+<DL>
+<DD>Returns the name of this web application corresponding to this ServletContext as specified in the deployment
+ descriptor for this web application by the display-name element.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The name of the web application or null if no name has been declared in the deployment descriptor.<DT><B>Since:</B></DT>
+  <DD>Servlet 2.3</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletContextAttributeEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletContextAttributeEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletContextAttributeEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextAttributeEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletContextAttributeEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">javax.servlet.ServletContextEvent</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletContextAttributeEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletContextAttributeEvent</B><DT>extends <A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A></DL>
+
+<P>
+This is the event class for notifications about changes to the attributes of the
+  servlet context of a web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><CODE>ServletContextAttributeListener</CODE></A>, 
+<A HREF="../../serialized-form.html#javax.servlet.ServletContextAttributeEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeEvent.html#ServletContextAttributeEvent(javax.servlet.ServletContext, java.lang.String, java.lang.Object)">ServletContextAttributeEvent</A></B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source,
+                             java.lang.String&nbsp;name,
+                             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletContextAttributeEvent from the given context for the
+ given attribute name and attribute value.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeEvent.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of the attribute that changed on the ServletContext.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeEvent.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the attribute that has been added, removed, or replaced.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletContextEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../javax/servlet/ServletContextEvent.html#getServletContext()">getServletContext</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletContextAttributeEvent(javax.servlet.ServletContext, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+ServletContextAttributeEvent</H3>
+<PRE>
+public <B>ServletContextAttributeEvent</B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source,
+                                    java.lang.String&nbsp;name,
+                                    java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Construct a ServletContextAttributeEvent from the given context for the
+ given attribute name and attribute value.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>Return the name of the attribute that changed on the ServletContext.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.Object <B>getValue</B>()</PRE>
+<DL>
+<DD>Returns the value of the attribute that has been added, removed, or replaced.
+ If the attribute was added, this is the value of the attribute. If the attribute was
+ removed, this is the value of the removed attribute. If the attribute was replaced, this
+ is the old value of the attribute.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextAttributeEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletContextAttributeListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletContextAttributeListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletContextAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletContextAttributeListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletContextAttributeListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+Implementations of this interface receive notifications of
+ changes to the attribute list on the servlet context of a web application. 
+ To receive notification events, the implementation class
+ must be configured in the deployment descriptor for the web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><CODE>ServletContextAttributeEvent</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeListener.html#attributeAdded(javax.servlet.ServletContextAttributeEvent)">attributeAdded</A></B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a new attribute was added to the servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeListener.html#attributeRemoved(javax.servlet.ServletContextAttributeEvent)">attributeRemoved</A></B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an existing attribute has been removed from the servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextAttributeListener.html#attributeReplaced(javax.servlet.ServletContextAttributeEvent)">attributeReplaced</A></B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute on the servlet context has been replaced.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="attributeAdded(javax.servlet.ServletContextAttributeEvent)"><!-- --></A><H3>
+attributeAdded</H3>
+<PRE>
+public void <B>attributeAdded</B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</PRE>
+<DL>
+<DD>Notification that a new attribute was added to the servlet context. Called after the attribute is added.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeRemoved(javax.servlet.ServletContextAttributeEvent)"><!-- --></A><H3>
+attributeRemoved</H3>
+<PRE>
+public void <B>attributeRemoved</B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</PRE>
+<DL>
+<DD>Notification that an existing attribute has been removed from the servlet context. Called after the attribute is removed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeReplaced(javax.servlet.ServletContextAttributeEvent)"><!-- --></A><H3>
+attributeReplaced</H3>
+<PRE>
+public void <B>attributeReplaced</B>(<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</PRE>
+<DL>
+<DD>Notification that an attribute on the servlet context has been replaced. Called after the attribute is replaced.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletContextEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletContextEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletContextEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletContextEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletContextEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletContextEvent</B><DT>extends java.util.EventObject</DL>
+
+<P>
+This is the event class for notifications about changes to
+ the servlet context of a web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><CODE>ServletContextListener</CODE></A>, 
+<A HREF="../../serialized-form.html#javax.servlet.ServletContextEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextEvent.html#ServletContextEvent(javax.servlet.ServletContext)">ServletContextEvent</A></B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletContextEvent from the given context.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextEvent.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the ServletContext that changed.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletContextEvent(javax.servlet.ServletContext)"><!-- --></A><H3>
+ServletContextEvent</H3>
+<PRE>
+public <B>ServletContextEvent</B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source)</PRE>
+<DL>
+<DD>Construct a ServletContextEvent from the given context.
+<P>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - - the ServletContext that is sending the event.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Return the ServletContext that changed.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ServletContext that sent the event.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletContextListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletContextListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletContextListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletContextListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletContextListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletContextListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+Implementations of this interface receive notifications about
+ changes to the servlet context of the web application they are
+ part of.
+ To receive notification events, the implementation class
+ must be configured in the deployment descriptor for the web
+ application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><CODE>ServletContextEvent</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextListener.html#contextDestroyed(javax.servlet.ServletContextEvent)">contextDestroyed</A></B>(<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the servlet context is about to be shut down.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletContextListener.html#contextInitialized(javax.servlet.ServletContextEvent)">contextInitialized</A></B>(<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the web application initialization
+ process is starting.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="contextInitialized(javax.servlet.ServletContextEvent)"><!-- --></A><H3>
+contextInitialized</H3>
+<PRE>
+public void <B>contextInitialized</B>(<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</PRE>
+<DL>
+<DD>Notification that the web application initialization
+ process is starting.
+ All ServletContextListeners are notified of context
+ initialization before any filter or servlet in the web
+ application is initialized.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contextDestroyed(javax.servlet.ServletContextEvent)"><!-- --></A><H3>
+contextDestroyed</H3>
+<PRE>
+public void <B>contextDestroyed</B>(<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</PRE>
+<DL>
+<DD>Notification that the servlet context is about to be shut down.
+ All servlets and filters have been destroy()ed before any
+ ServletContextListeners are notified of context
+ destruction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletContextListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletException (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletException (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletException</B><DT>extends java.lang.Exception</DL>
+
+<P>
+Defines a general exception a servlet can throw when it
+ encounters difficulty.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#javax.servlet.ServletException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletException.html#ServletException()">ServletException</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new servlet exception.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletException.html#ServletException(java.lang.String)">ServletException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new servlet exception with the
+ specified message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletException.html#ServletException(java.lang.String, java.lang.Throwable)">ServletException</A></B>(java.lang.String&nbsp;message,
+                 java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletException.html#ServletException(java.lang.Throwable)">ServletException</A></B>(java.lang.Throwable&nbsp;rootCause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Throwable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletException.html#getRootCause()">getRootCause</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the exception that caused this servlet exception.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletException()"><!-- --></A><H3>
+ServletException</H3>
+<PRE>
+public <B>ServletException</B>()</PRE>
+<DL>
+<DD>Constructs a new servlet exception.
+<P>
+</DL>
+<HR>
+
+<A NAME="ServletException(java.lang.String)"><!-- --></A><H3>
+ServletException</H3>
+<PRE>
+public <B>ServletException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+<DD>Constructs a new servlet exception with the
+ specified message. The message can be written 
+ to the server log and/or displayed for the user.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> 
+				specifying the text of 
+				the exception message</DL>
+<HR>
+
+<A NAME="ServletException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+ServletException</H3>
+<PRE>
+public <B>ServletException</B>(java.lang.String&nbsp;message,
+                        java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message 
+ about the "root cause" exception that interfered with its 
+ normal operation, including a description message.
+<P>
+<DT><B>Parameters:</B><DD><CODE>message</CODE> - a <code>String</code> containing 
+				the text of the exception message<DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception 
+				that interfered with the servlet's
+				normal operation, making this servlet
+				exception necessary</DL>
+<HR>
+
+<A NAME="ServletException(java.lang.Throwable)"><!-- --></A><H3>
+ServletException</H3>
+<PRE>
+public <B>ServletException</B>(java.lang.Throwable&nbsp;rootCause)</PRE>
+<DL>
+<DD>Constructs a new servlet exception when the servlet 
+ needs to throw an exception and include a message
+ about the "root cause" exception that interfered with its
+ normal operation.  The exception's message is based on the localized
+ message of the underlying exception.
+
+ <p>This method calls the <code>getLocalizedMessage</code> method
+ on the <code>Throwable</code> exception to get a localized exception
+ message. When subclassing <code>ServletException</code>, 
+ this method can be overridden to create an exception message 
+ designed for a specific locale.
+<P>
+<DT><B>Parameters:</B><DD><CODE>rootCause</CODE> - the <code>Throwable</code> exception
+ 				that interfered with the servlet's
+				normal operation, making the servlet exception
+				necessary</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRootCause()"><!-- --></A><H3>
+getRootCause</H3>
+<PRE>
+public java.lang.Throwable <B>getRootCause</B>()</PRE>
+<DL>
+<DD>Returns the exception that caused this servlet exception.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Throwable</code> 
+				that caused this servlet exception</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletInputStream.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletInputStream.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletInputStream.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,307 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletInputStream (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletInputStream class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletInputStream (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletInputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletInputStream</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.io.InputStream
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletInputStream</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>ServletInputStream</B><DT>extends java.io.InputStream</DL>
+
+<P>
+Provides an input stream for reading binary data from a client
+ request, including an efficient <code>readLine</code> method
+ for reading data one line at a time. With some protocols, such
+ as HTTP POST and PUT, a <code>ServletInputStream</code>
+ object can be used to read data sent from the client.
+
+ <p>A <code>ServletInputStream</code> object is normally retrieved via
+ the <A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>ServletRequest.getInputStream()</CODE></A> method.
+
+
+ <p>This is an abstract class that a servlet container implements.
+ Subclasses of this class
+ must implement the <code>java.io.InputStream.read()</code> method.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletInputStream.html#ServletInputStream()">ServletInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing, because this is an abstract class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletInputStream.html#readLine(byte[], int, int)">readLine</A></B>(byte[]&nbsp;b,
+         int&nbsp;off,
+         int&nbsp;len)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reads the input stream, one line at a time.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.InputStream"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.InputStream</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>available, close, mark, markSupported, read, read, read, reset, skip</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletInputStream()"><!-- --></A><H3>
+ServletInputStream</H3>
+<PRE>
+protected <B>ServletInputStream</B>()</PRE>
+<DL>
+<DD>Does nothing, because this is an abstract class.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="readLine(byte[], int, int)"><!-- --></A><H3>
+readLine</H3>
+<PRE>
+public int <B>readLine</B>(byte[]&nbsp;b,
+                    int&nbsp;off,
+                    int&nbsp;len)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Reads the input stream, one line at a time. Starting at an
+ offset, reads bytes into an array, until it reads a certain number
+ of bytes or reaches a newline character, which it reads into the
+ array as well.
+
+ <p>This method returns -1 if it reaches the end of the input
+ stream before reading the maximum number of bytes.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - an array of bytes into which data is read<DD><CODE>off</CODE> - an integer specifying the character at which
+				this method begins reading<DD><CODE>len</CODE> - an integer specifying the maximum number of 
+				bytes to read
+<DT><B>Returns:</B><DD>an integer specifying the actual number of bytes 
+				read, or -1 if the end of the stream is reached
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception has occurred</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletInputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletOutputStream.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletOutputStream.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletOutputStream.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,673 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletOutputStream (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletOutputStream class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletOutputStream (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletOutputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletOutputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletOutputStream</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.io.OutputStream
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletOutputStream</B>
+</PRE>
+<HR>
+<DL>
+<DT>public abstract class <B>ServletOutputStream</B><DT>extends java.io.OutputStream</DL>
+
+<P>
+Provides an output stream for sending binary data to the
+ client. A <code>ServletOutputStream</code> object is normally retrieved 
+ via the <A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>ServletResponse.getOutputStream()</CODE></A> method.
+
+ <p>This is an abstract class that the servlet container implements.
+ Subclasses of this class
+ must implement the <code>java.io.OutputStream.write(int)</code>
+ method.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#ServletOutputStream()">ServletOutputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing, because this is an abstract class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(boolean)">print</A></B>(boolean&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>boolean</code> value to the client,
+ with no carriage return-line feed (CRLF) 
+ character at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(char)">print</A></B>(char&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a character to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(double)">print</A></B>(double&nbsp;d)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>double</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(float)">print</A></B>(float&nbsp;f)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>float</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(int)">print</A></B>(int&nbsp;i)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an int to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(long)">print</A></B>(long&nbsp;l)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>long</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#print(java.lang.String)">print</A></B>(java.lang.String&nbsp;s)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>String</code> to the client, 
+ without a carriage return-line feed (CRLF) 
+ character at the end.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println()">println</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a carriage return-line feed (CRLF)
+ to the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(boolean)">println</A></B>(boolean&nbsp;b)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>boolean</code> value to the client, 
+ followed by a 
+ carriage return-line feed (CRLF).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(char)">println</A></B>(char&nbsp;c)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a character to the client, followed by a carriage
+ return-line feed (CRLF).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(double)">println</A></B>(double&nbsp;d)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>double</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(float)">println</A></B>(float&nbsp;f)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>float</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(int)">println</A></B>(int&nbsp;i)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes an int to the client, followed by a 
+ carriage return-line feed (CRLF) character.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(long)">println</A></B>(long&nbsp;l)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>long</code> value to the client, followed by a 
+ carriage return-line feed (CRLF).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletOutputStream.html#println(java.lang.String)">println</A></B>(java.lang.String&nbsp;s)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Writes a <code>String</code> to the client, 
+ followed by a carriage return-line feed (CRLF).</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.io.OutputStream"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.io.OutputStream</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>close, flush, write, write, write</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletOutputStream()"><!-- --></A><H3>
+ServletOutputStream</H3>
+<PRE>
+protected <B>ServletOutputStream</B>()</PRE>
+<DL>
+<DD>Does nothing, because this is an abstract class.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="print(java.lang.String)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(java.lang.String&nbsp;s)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>String</code> to the client, 
+ without a carriage return-line feed (CRLF) 
+ character at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>s</CODE> - the <code>String</code> to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(boolean)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(boolean&nbsp;b)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>boolean</code> value to the client,
+ with no carriage return-line feed (CRLF) 
+ character at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the <code>boolean</code> value 
+				to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(char)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(char&nbsp;c)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a character to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - the character to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(int)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(int&nbsp;i)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes an int to the client,
+ with no carriage return-line feed (CRLF) 
+ at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>i</CODE> - the int to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(long)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(long&nbsp;l)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>long</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>l</CODE> - the <code>long</code> value 
+				to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception 
+				occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(float)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(float&nbsp;f)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>float</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>f</CODE> - the <code>float</code> value
+				to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="print(double)"><!-- --></A><H3>
+print</H3>
+<PRE>
+public void <B>print</B>(double&nbsp;d)
+           throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>double</code> value to the client,
+ with no carriage return-line feed (CRLF) at the end.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>d</CODE> - the <code>double</code> value
+				to send to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println()"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>()
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a carriage return-line feed (CRLF)
+ to the client.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(java.lang.String)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(java.lang.String&nbsp;s)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>String</code> to the client, 
+ followed by a carriage return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>s</CODE> - the <code>String</code> to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(boolean)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(boolean&nbsp;b)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>boolean</code> value to the client, 
+ followed by a 
+ carriage return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>b</CODE> - the <code>boolean</code> value 
+				to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(char)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(char&nbsp;c)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a character to the client, followed by a carriage
+ return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>c</CODE> - the character to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(int)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(int&nbsp;i)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes an int to the client, followed by a 
+ carriage return-line feed (CRLF) character.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>i</CODE> - the int to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(long)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(long&nbsp;l)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>long</code> value to the client, followed by a 
+ carriage return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>l</CODE> - the <code>long</code> value to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(float)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(float&nbsp;f)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>float</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>f</CODE> - the <code>float</code> value 
+				to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception 
+				occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="println(double)"><!-- --></A><H3>
+println</H3>
+<PRE>
+public void <B>println</B>(double&nbsp;d)
+             throws java.io.IOException</PRE>
+<DL>
+<DD>Writes a <code>double</code> value to the client, 
+ followed by a carriage return-line feed (CRLF).
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>d</CODE> - the <code>double</code> value
+				to write to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletOutputStream.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletOutputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequest.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequest.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequest.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1078 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequest (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequest interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequest (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletRequest</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A>, <A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletRequest</B></DL>
+
+<P>
+Defines an object to provide client request information to a servlet.  The
+ servlet container creates a <code>ServletRequest</code> object and passes
+ it as an argument to the servlet's <code>service</code> method.
+
+ <p>A <code>ServletRequest</code> object provides data including
+ parameter name and values, attributes, and an input stream.
+ Interfaces that extend <code>ServletRequest</code> can provide
+ additional protocol-specific data (for example, HTTP data is
+ provided by <A HREF="../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the named attribute as an <code>Object</code>,
+ or <code>null</code> if no attribute of the given name exists.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getAttributeNames()">getAttributeNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Enumeration</code> containing the
+ names of the attributes available to this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getCharacterEncoding()">getCharacterEncoding</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the character encoding used in the body of this
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getContentLength()">getContentLength</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the length, in bytes, of the request body 
+ and made available by the input stream, or -1 if the
+ length is not known.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getContentType()">getContentType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the MIME type of the body of the request, or 
+ <code>null</code> if the type is not known.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getInputStream()">getInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the body of the request as binary data using
+ a <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getLocalAddr()">getLocalAddr</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Internet Protocol (IP) address of the interface on
+ which the request  was received.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Locale</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getLocale()">getLocale</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the preferred <code>Locale</code> that the client will 
+ accept content in, based on the Accept-Language header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getLocales()">getLocales</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Enumeration</code> of <code>Locale</code> objects
+ indicating, in decreasing order starting with the preferred locale, the
+ locales that are acceptable to the client based on the Accept-Language
+ header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host name of the Internet Protocol (IP) interface on
+ which the request was received.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getLocalPort()">getLocalPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Internet Protocol (IP) port number of the interface
+ on which the request was received.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)">getParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of a request parameter as a <code>String</code>,
+ or <code>null</code> if the parameter does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getParameterMap()">getParameterMap</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a java.util.Map of the parameters of this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getParameterNames()">getParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Enumeration</code> of <code>String</code>
+ objects containing the names of the parameters contained
+ in this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)">getParameterValues</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array of <code>String</code> objects containing 
+ all of the values the given request parameter has, or 
+ <code>null</code> if the parameter does not exist.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getProtocol()">getProtocol</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name and version of the protocol the request uses
+ in the form <i>protocol/majorVersion.minorVersion</i>, for 
+ example, HTTP/1.1.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.BufferedReader</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getReader()">getReader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the body of the request as character data using
+ a <code>BufferedReader</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getRealPath(java.lang.String)">getRealPath</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet API,
+ 			use <A HREF="../../javax/servlet/ServletContext.html#getRealPath(java.lang.String)"><CODE>ServletContext.getRealPath(java.lang.String)</CODE></A> instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getRemoteAddr()">getRemoteAddr</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Internet Protocol (IP) address of the client 
+ or last proxy that sent the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getRemoteHost()">getRemoteHost</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the fully qualified name of the client
+ or the last proxy that sent the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getRemotePort()">getRemotePort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Internet Protocol (IP) source port of the client
+ or last proxy that sent the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts as a wrapper for
+ the resource located at the given path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getScheme()">getScheme</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the scheme used to make this request, 
+ for example,
+ <code>http</code>, <code>https</code>, or <code>ftp</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getServerName()">getServerName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host name of the server to which the request was sent.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#getServerPort()">getServerPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the port number to which the request was sent.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#isSecure()">isSecure</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a boolean indicating whether this request was made using a
+ secure channel, such as HTTPS.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes an attribute from this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;o)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stores an attribute in this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></B>(java.lang.String&nbsp;env)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrides the name of the character encoding used in the body of this
+ request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the value of the named attribute as an <code>Object</code>,
+ or <code>null</code> if no attribute of the given name exists. 
+
+ <p> Attributes can be set two ways.  The servlet container may set
+ attributes to make available custom information about a request.
+ For example, for requests made using HTTPS, the attribute
+ <code>javax.servlet.request.X509Certificate</code> can be used to
+ retrieve information on the certificate of the client.  Attributes
+ can also be set programatically using 
+ <A HREF="../../javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>setAttribute(java.lang.String, java.lang.Object)</CODE></A>.  This allows information to be
+ embedded into a request before a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> call.
+
+ <p>Attribute names should follow the same conventions as package
+ names. This specification reserves names matching <code>java.*</code>,
+ <code>javax.*</code>, and <code>sun.*</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name of 
+			the attribute
+<DT><B>Returns:</B><DD>an <code>Object</code> containing the value 
+			of the attribute, or <code>null</code> if
+			the attribute does not exist</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNames()"><!-- --></A><H3>
+getAttributeNames</H3>
+<PRE>
+public java.util.Enumeration <B>getAttributeNames</B>()</PRE>
+<DL>
+<DD>Returns an <code>Enumeration</code> containing the
+ names of the attributes available to this request. 
+ This method returns an empty <code>Enumeration</code>
+ if the request has no attributes available to it.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of strings 
+			containing the names 
+ 			of the request's attributes</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCharacterEncoding()"><!-- --></A><H3>
+getCharacterEncoding</H3>
+<PRE>
+public java.lang.String <B>getCharacterEncoding</B>()</PRE>
+<DL>
+<DD>Returns the name of the character encoding used in the body of this
+ request. This method returns <code>null</code> if the request
+ does not specify a character encoding
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name of 
+			the character encoding, or <code>null</code>
+			if the request does not specify a character encoding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCharacterEncoding(java.lang.String)"><!-- --></A><H3>
+setCharacterEncoding</H3>
+<PRE>
+public void <B>setCharacterEncoding</B>(java.lang.String&nbsp;env)
+                          throws java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>Overrides the name of the character encoding used in the body of this
+ request. This method must be called prior to reading request parameters
+ or reading input using getReader().
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>env</CODE> - a <code>String</code> containing the name of 
+			the character encoding.
+<DT><B>Throws:</B>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE> - if this is not a valid encoding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentLength()"><!-- --></A><H3>
+getContentLength</H3>
+<PRE>
+public int <B>getContentLength</B>()</PRE>
+<DL>
+<DD>Returns the length, in bytes, of the request body 
+ and made available by the input stream, or -1 if the
+ length is not known. For HTTP servlets, same as the value
+ of the CGI variable CONTENT_LENGTH.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer containing the length of the 
+ 			request body or -1 if the length is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentType()"><!-- --></A><H3>
+getContentType</H3>
+<PRE>
+public java.lang.String <B>getContentType</B>()</PRE>
+<DL>
+<DD>Returns the MIME type of the body of the request, or 
+ <code>null</code> if the type is not known. For HTTP servlets, 
+ same as the value of the CGI variable CONTENT_TYPE.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the MIME type of 
+ 			the request, or null if the type is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInputStream()"><!-- --></A><H3>
+getInputStream</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A> <B>getInputStream</B>()
+                                  throws java.io.IOException</PRE>
+<DL>
+<DD>Retrieves the body of the request as binary data using
+ a <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A>.  Either this method or 
+ <A HREF="../../javax/servlet/ServletRequest.html#getReader()"><CODE>getReader()</CODE></A> may be called to read the body, not both.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A> object containing
+ 				the body of the request
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the <A HREF="../../javax/servlet/ServletRequest.html#getReader()"><CODE>getReader()</CODE></A> method
+ 					 has already been called for this request
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameter(java.lang.String)"><!-- --></A><H3>
+getParameter</H3>
+<PRE>
+public java.lang.String <B>getParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the value of a request parameter as a <code>String</code>,
+ or <code>null</code> if the parameter does not exist. Request parameters
+ are extra information sent with the request.  For HTTP servlets,
+ parameters are contained in the query string or posted form data.
+
+ <p>You should only use this method when you are sure the
+ parameter has only one value. If the parameter might have
+ more than one value, use <A HREF="../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)"><CODE>getParameterValues(java.lang.String)</CODE></A>.
+
+ <p>If you use this method with a multivalued
+ parameter, the value returned is equal to the first value
+ in the array returned by <code>getParameterValues</code>.
+
+ <p>If the parameter data was sent in the request body, such as occurs
+ with an HTTP POST request, then reading the body directly via <A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>getInputStream()</CODE></A> or <A HREF="../../javax/servlet/ServletRequest.html#getReader()"><CODE>getReader()</CODE></A> can interfere
+ with the execution of this method.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the 
+			name of the parameter
+<DT><B>Returns:</B><DD>a <code>String</code> representing the 
+			single value of the parameter<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)"><CODE>getParameterValues(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterNames()"><!-- --></A><H3>
+getParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getParameterNames</B>()</PRE>
+<DL>
+<DD>Returns an <code>Enumeration</code> of <code>String</code>
+ objects containing the names of the parameters contained
+ in this request. If the request has 
+ no parameters, the method returns an 
+ empty <code>Enumeration</code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of <code>String</code>
+			objects, each <code>String</code> containing
+ 			the name of a request parameter; or an 
+			empty <code>Enumeration</code> if the
+			request has no parameters</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterValues(java.lang.String)"><!-- --></A><H3>
+getParameterValues</H3>
+<PRE>
+public java.lang.String[] <B>getParameterValues</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns an array of <code>String</code> objects containing 
+ all of the values the given request parameter has, or 
+ <code>null</code> if the parameter does not exist.
+
+ <p>If the parameter has a single value, the array has a length
+ of 1.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> containing the name of 
+			the parameter whose value is requested
+<DT><B>Returns:</B><DD>an array of <code>String</code> objects 
+			containing the parameter's values<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)"><CODE>getParameter(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterMap()"><!-- --></A><H3>
+getParameterMap</H3>
+<PRE>
+public java.util.Map <B>getParameterMap</B>()</PRE>
+<DL>
+<DD>Returns a java.util.Map of the parameters of this request.
+ Request parameters
+ are extra information sent with the request.  For HTTP servlets,
+ parameters are contained in the query string or posted form data.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an immutable java.util.Map containing parameter names as 
+ keys and parameter values as map values. The keys in the parameter
+ map are of type String. The values in the parameter map are of type
+ String array.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProtocol()"><!-- --></A><H3>
+getProtocol</H3>
+<PRE>
+public java.lang.String <B>getProtocol</B>()</PRE>
+<DL>
+<DD>Returns the name and version of the protocol the request uses
+ in the form <i>protocol/majorVersion.minorVersion</i>, for 
+ example, HTTP/1.1. For HTTP servlets, the value
+ returned is the same as the value of the CGI variable 
+ <code>SERVER_PROTOCOL</code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the protocol 
+			name and version number</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getScheme()"><!-- --></A><H3>
+getScheme</H3>
+<PRE>
+public java.lang.String <B>getScheme</B>()</PRE>
+<DL>
+<DD>Returns the name of the scheme used to make this request, 
+ for example,
+ <code>http</code>, <code>https</code>, or <code>ftp</code>.
+ Different schemes have different rules for constructing URLs,
+ as noted in RFC 1738.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the scheme used to make this request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerName()"><!-- --></A><H3>
+getServerName</H3>
+<PRE>
+public java.lang.String <B>getServerName</B>()</PRE>
+<DL>
+<DD>Returns the host name of the server to which the request was sent.
+ It is the value of the part before ":" in the <code>Host</code>
+ header value, if any, or the resolved server name, or the server IP address.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerPort()"><!-- --></A><H3>
+getServerPort</H3>
+<PRE>
+public int <B>getServerPort</B>()</PRE>
+<DL>
+<DD>Returns the port number to which the request was sent.
+ It is the value of the part after ":" in the <code>Host</code>
+ header value, if any, or the server port where the client connection
+ was accepted on.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReader()"><!-- --></A><H3>
+getReader</H3>
+<PRE>
+public java.io.BufferedReader <B>getReader</B>()
+                                 throws java.io.IOException</PRE>
+<DL>
+<DD>Retrieves the body of the request as character data using
+ a <code>BufferedReader</code>.  The reader translates the character
+ data according to the character encoding used on the body.
+ Either this method or <A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>getInputStream()</CODE></A> may be called to read the
+ body, not both.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>BufferedReader</code>
+						containing the body of the request
+<DT><B>Throws:</B>
+<DD><CODE>UnsupportedEncodingException</CODE> - if the character set encoding
+ 						used is not supported and the 
+						text cannot be decoded
+<DD><CODE>java.lang.IllegalStateException</CODE> - if <A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>getInputStream()</CODE></A> method
+ 						has been called on this request
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>getInputStream()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteAddr()"><!-- --></A><H3>
+getRemoteAddr</H3>
+<PRE>
+public java.lang.String <B>getRemoteAddr</B>()</PRE>
+<DL>
+<DD>Returns the Internet Protocol (IP) address of the client 
+ or last proxy that sent the request.
+ For HTTP servlets, same as the value of the 
+ CGI variable <code>REMOTE_ADDR</code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the 
+			IP address of the client that sent the request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteHost()"><!-- --></A><H3>
+getRemoteHost</H3>
+<PRE>
+public java.lang.String <B>getRemoteHost</B>()</PRE>
+<DL>
+<DD>Returns the fully qualified name of the client
+ or the last proxy that sent the request.
+ If the engine cannot or chooses not to resolve the hostname 
+ (to improve performance), this method returns the dotted-string form of 
+ the IP address. For HTTP servlets, same as the value of the CGI variable 
+ <code>REMOTE_HOST</code>.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the fully 
+			qualified name of the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                         java.lang.Object&nbsp;o)</PRE>
+<DL>
+<DD>Stores an attribute in this request.
+ Attributes are reset between requests.  This method is most
+ often used in conjunction with <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A>.
+
+ <p>Attribute names should follow the same conventions as
+ package names. Names beginning with <code>java.*</code>,
+ <code>javax.*</code>, and <code>com.sun.*</code>, are
+ reserved for use by Sun Microsystems.
+<br> If the object passed in is null, the effect is the same as
+ calling <A HREF="../../javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)"><CODE>removeAttribute(java.lang.String)</CODE></A>.
+ <br> It is warned that when the request is dispatched from the
+ servlet resides in a different web application by
+ <code>RequestDispatcher</code>, the object set by this method
+ may not be correctly retrieved in the caller servlet.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying 
+					the name of the attribute<DD><CODE>o</CODE> - the <code>Object</code> to be stored</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public void <B>removeAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Removes an attribute from this request.  This method is not
+ generally needed as attributes only persist as long as the request
+ is being handled.
+
+ <p>Attribute names should follow the same conventions as
+ package names. Names beginning with <code>java.*</code>,
+ <code>javax.*</code>, and <code>com.sun.*</code>, are
+ reserved for use by Sun Microsystems.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying 
+					the name of the attribute to remove</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocale()"><!-- --></A><H3>
+getLocale</H3>
+<PRE>
+public java.util.Locale <B>getLocale</B>()</PRE>
+<DL>
+<DD>Returns the preferred <code>Locale</code> that the client will 
+ accept content in, based on the Accept-Language header.
+ If the client request doesn't provide an Accept-Language header,
+ this method returns the default locale for the server.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the preferred <code>Locale</code> for the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocales()"><!-- --></A><H3>
+getLocales</H3>
+<PRE>
+public java.util.Enumeration <B>getLocales</B>()</PRE>
+<DL>
+<DD>Returns an <code>Enumeration</code> of <code>Locale</code> objects
+ indicating, in decreasing order starting with the preferred locale, the
+ locales that are acceptable to the client based on the Accept-Language
+ header.
+ If the client request doesn't provide an Accept-Language header,
+ this method returns an <code>Enumeration</code> containing one 
+ <code>Locale</code>, the default locale for the server.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of preferred 
+                  <code>Locale</code> objects for the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSecure()"><!-- --></A><H3>
+isSecure</H3>
+<PRE>
+public boolean <B>isSecure</B>()</PRE>
+<DL>
+<DD>Returns a boolean indicating whether this request was made using a
+ secure channel, such as HTTPS.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a boolean indicating if the request was made using a
+                  secure channel</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestDispatcher(java.lang.String)"><!-- --></A><H3>
+getRequestDispatcher</H3>
+<PRE>
+public <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A> <B>getRequestDispatcher</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>Returns a <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts as a wrapper for
+ the resource located at the given path.  
+ A <code>RequestDispatcher</code> object can be used to forward
+ a request to the resource or to include the resource in a response.
+ The resource can be dynamic or static.
+
+ <p>The pathname specified may be relative, although it cannot extend
+ outside the current servlet context.  If the path begins with 
+ a "/" it is interpreted as relative to the current context root.  
+ This method returns <code>null</code> if the servlet container
+ cannot return a <code>RequestDispatcher</code>.
+
+ <p>The difference between this method and <A HREF="../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)"><CODE>ServletContext.getRequestDispatcher(java.lang.String)</CODE></A> is that this method can take a
+ relative path.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying the pathname
+                  to the resource. If it is relative, it must be
+                  relative against the current servlet.
+<DT><B>Returns:</B><DD>a <code>RequestDispatcher</code> object
+                  that acts as a wrapper for the resource
+                  at the specified path, or <code>null</code>
+                  if the servlet container cannot return a
+                  <code>RequestDispatcher</code><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A>, 
+<A HREF="../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)"><CODE>ServletContext.getRequestDispatcher(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRealPath(java.lang.String)"><!-- --></A><H3>
+getRealPath</H3>
+<PRE>
+public java.lang.String <B>getRealPath</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet API,
+ 			use <A HREF="../../javax/servlet/ServletContext.html#getRealPath(java.lang.String)"><CODE>ServletContext.getRealPath(java.lang.String)</CODE></A> instead.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemotePort()"><!-- --></A><H3>
+getRemotePort</H3>
+<PRE>
+public int <B>getRemotePort</B>()</PRE>
+<DL>
+<DD>Returns the Internet Protocol (IP) source port of the client
+ or last proxy that sent the request.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public java.lang.String <B>getLocalName</B>()</PRE>
+<DL>
+<DD>Returns the host name of the Internet Protocol (IP) interface on
+ which the request was received.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the host
+		name of the IP on which the request was received.<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalAddr()"><!-- --></A><H3>
+getLocalAddr</H3>
+<PRE>
+public java.lang.String <B>getLocalAddr</B>()</PRE>
+<DL>
+<DD>Returns the Internet Protocol (IP) address of the interface on
+ which the request  was received.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the
+		IP address on which the request was received.<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalPort()"><!-- --></A><H3>
+getLocalPort</H3>
+<PRE>
+public int <B>getLocalPort</B>()</PRE>
+<DL>
+<DD>Returns the Internet Protocol (IP) port number of the interface
+ on which the request was received.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequestAttributeEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequestAttributeEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequestAttributeEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestAttributeEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletRequestAttributeEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">javax.servlet.ServletRequestEvent</A>
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletRequestAttributeEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletRequestAttributeEvent</B><DT>extends <A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A></DL>
+
+<P>
+This is the event class for notifications of changes to the 
+ attributes of the servlet request in an application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.4</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><CODE>ServletRequestAttributeListener</CODE></A>, 
+<A HREF="../../serialized-form.html#javax.servlet.ServletRequestAttributeEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeEvent.html#ServletRequestAttributeEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest, java.lang.String, java.lang.Object)">ServletRequestAttributeEvent</A></B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                             <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                             java.lang.String&nbsp;name,
+                             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestAttributeEvent giving the servlet context
+ of this web application, the ServletRequest whose attributes are
+ changing and the name and value of the attribute.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeEvent.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the name of the attribute that changed on the ServletRequest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeEvent.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the attribute that has been added, removed or 
+ replaced.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletRequestEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../javax/servlet/ServletRequestEvent.html#getServletContext()">getServletContext</A>, <A HREF="../../javax/servlet/ServletRequestEvent.html#getServletRequest()">getServletRequest</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletRequestAttributeEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+ServletRequestAttributeEvent</H3>
+<PRE>
+public <B>ServletRequestAttributeEvent</B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                                    <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                                    java.lang.String&nbsp;name,
+                                    java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Construct a ServletRequestAttributeEvent giving the servlet context
+ of this web application, the ServletRequest whose attributes are
+ changing and the name and value of the attribute.
+<P>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the ServletContext that is sending the event.<DD><CODE>request</CODE> - the ServletRequest that is sending the event.<DD><CODE>name</CODE> - the name of the request attribute.<DD><CODE>value</CODE> - the value of the request attribute.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>Return the name of the attribute that changed on the ServletRequest.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name of the changed request attribute</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.Object <B>getValue</B>()</PRE>
+<DL>
+<DD>Returns the value of the attribute that has been added, removed or 
+ replaced. If the attribute was added, this is the value of the 
+ attribute. If the attribute was removed, this is the value of the 
+ removed attribute. If the attribute was replaced, this is the old 
+ value of the attribute.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the value of the changed request attribute</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestAttributeEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,289 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequestAttributeListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequestAttributeListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequestAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletRequestAttributeListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletRequestAttributeListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+A ServletRequestAttributeListener can be implemented by the
+ developer interested in being notified of request attribute
+ changes. Notifications will be generated while the request
+ is within the scope of the web application in which the listener
+ is registered. A request is defined as coming into scope when
+ it is about to enter the first servlet or filter in each web
+ application, as going out of scope when it exits the last servlet
+ or the first filter in the chain.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.4</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeListener.html#attributeAdded(javax.servlet.ServletRequestAttributeEvent)">attributeAdded</A></B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a new attribute was added to the
+ servlet request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeListener.html#attributeRemoved(javax.servlet.ServletRequestAttributeEvent)">attributeRemoved</A></B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an existing attribute has been removed from the
+ servlet request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestAttributeListener.html#attributeReplaced(javax.servlet.ServletRequestAttributeEvent)">attributeReplaced</A></B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute was replaced on the
+ servlet request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="attributeAdded(javax.servlet.ServletRequestAttributeEvent)"><!-- --></A><H3>
+attributeAdded</H3>
+<PRE>
+public void <B>attributeAdded</B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</PRE>
+<DL>
+<DD>Notification that a new attribute was added to the
+ servlet request. Called after the attribute is added.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeRemoved(javax.servlet.ServletRequestAttributeEvent)"><!-- --></A><H3>
+attributeRemoved</H3>
+<PRE>
+public void <B>attributeRemoved</B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</PRE>
+<DL>
+<DD>Notification that an existing attribute has been removed from the
+ servlet request. Called after the attribute is removed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeReplaced(javax.servlet.ServletRequestAttributeEvent)"><!-- --></A><H3>
+attributeReplaced</H3>
+<PRE>
+public void <B>attributeReplaced</B>(<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</PRE>
+<DL>
+<DD>Notification that an attribute was replaced on the
+ servlet request. Called after the attribute is replaced.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequestEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequestEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequestEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletRequestEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletRequestEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletRequestEvent</B><DT>extends java.util.EventObject</DL>
+
+<P>
+Events of this kind indicate lifecycle
+ events for a ServletRequest.
+ The source of the event
+ is the ServletContext of this web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.4</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><CODE>ServletRequestListener</CODE></A>, 
+<A HREF="../../serialized-form.html#javax.servlet.ServletRequestEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestEvent.html#ServletRequestEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest)">ServletRequestEvent</A></B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                    <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestEvent for the given ServletContext
+ and ServletRequest.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestEvent.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletContext of this web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestEvent.html#getServletRequest()">getServletRequest</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletRequest that is changing.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletRequestEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest)"><!-- --></A><H3>
+ServletRequestEvent</H3>
+<PRE>
+public <B>ServletRequestEvent</B>(<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                           <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</PRE>
+<DL>
+<DD>Construct a ServletRequestEvent for the given ServletContext
+ and ServletRequest.
+<P>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the ServletContext of the web application.<DD><CODE>request</CODE> - the ServletRequest that is sending the event.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getServletRequest()"><!-- --></A><H3>
+getServletRequest</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> <B>getServletRequest</B>()</PRE>
+<DL>
+<DD>Returns the ServletRequest that is changing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Returns the ServletContext of this web application.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,257 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequestListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequestListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequestListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletRequestListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletRequestListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+A ServletRequestListener can be implemented by the developer
+ interested in being notified of requests coming in and out of
+ scope in a web component. A request is defined as coming into
+ scope when it is about to enter the first servlet or filter
+ in each web application, as going out of scope when it exits
+ the last servlet or the first filter in the chain.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>Servlet 2.4</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestListener.html#requestDestroyed(javax.servlet.ServletRequestEvent)">requestDestroyed</A></B>(<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request is about to go out of scope of the web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestListener.html#requestInitialized(javax.servlet.ServletRequestEvent)">requestInitialized</A></B>(<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request is about to come into scope of the web application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="requestDestroyed(javax.servlet.ServletRequestEvent)"><!-- --></A><H3>
+requestDestroyed</H3>
+<PRE>
+public void <B>requestDestroyed</B>(<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</PRE>
+<DL>
+<DD>The request is about to go out of scope of the web application.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="requestInitialized(javax.servlet.ServletRequestEvent)"><!-- --></A><H3>
+requestInitialized</H3>
+<PRE>
+public void <B>requestInitialized</B>(<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</PRE>
+<DL>
+<DD>The request is about to come into scope of the web application.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletRequestWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletRequestWrapper (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletRequestWrapper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletRequestWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletRequestWrapper</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletRequestWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletRequestWrapper</B><DT>extends java.lang.Object<DT>implements <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></DL>
+
+<P>
+Provides a convenient implementation of the ServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.
+ This class implements the Wrapper or Decorator pattern. Methods default to
+ calling through to the wrapped request object.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#ServletRequestWrapper(javax.servlet.ServletRequest)">ServletRequestWrapper</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a ServletRequest adaptor wrapping the given request object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call getAttribute(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getAttributeNames()">getAttributeNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getAttributeNames()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getCharacterEncoding()">getCharacterEncoding</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getContentLength()">getContentLength</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getContentLength()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getContentType()">getContentType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getContentType()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getInputStream()">getInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getInputStream()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getLocalAddr()">getLocalAddr</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return
+ getLocalAddr() on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Locale</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getLocale()">getLocale</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getLocale()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getLocales()">getLocales</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getLocales()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getLocalName()">getLocalName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return
+ getLocalName() on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getLocalPort()">getLocalPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return
+ getLocalPort() on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getParameter(java.lang.String)">getParameter</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getParameter(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Map</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getParameterMap()">getParameterMap</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getParameterMap()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getParameterNames()">getParameterNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getParameterNames()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getParameterValues(java.lang.String)">getParameterValues</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getParameterValues(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getProtocol()">getProtocol</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getProtocol()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.BufferedReader</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getReader()">getReader</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getReader()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRealPath(java.lang.String)">getRealPath</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRealPath(String path)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRemoteAddr()">getRemoteAddr</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRemoteAddr()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRemoteHost()">getRemoteHost</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRemoteHost()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRemotePort()">getRemotePort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return
+ getRemotePort() on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRequest()">getRequest</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRequestDispatcher(String path)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getScheme()">getScheme</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getScheme()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getServerName()">getServerName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getServerName()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#getServerPort()">getServerPort</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getServerPort()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#isSecure()">isSecure</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isSecure()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call removeAttribute(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;o)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return setAttribute(String name, Object o)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></B>(java.lang.String&nbsp;enc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to set the character encoding
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletRequestWrapper.html#setRequest(javax.servlet.ServletRequest)">setRequest</A></B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the request object being wrapped.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletRequestWrapper(javax.servlet.ServletRequest)"><!-- --></A><H3>
+ServletRequestWrapper</H3>
+<PRE>
+public <B>ServletRequestWrapper</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</PRE>
+<DL>
+<DD>Creates a ServletRequest adaptor wrapping the given request object.
+<P>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the request is null</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getRequest()"><!-- --></A><H3>
+getRequest</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> <B>getRequest</B>()</PRE>
+<DL>
+<DD>Return the wrapped request object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRequest(javax.servlet.ServletRequest)"><!-- --></A><H3>
+setRequest</H3>
+<PRE>
+public void <B>setRequest</B>(<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</PRE>
+<DL>
+<DD>Sets the request object being wrapped.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the request is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to call getAttribute(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getAttribute(java.lang.String)">getAttribute</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name of 
+			the attribute
+<DT><B>Returns:</B><DD>an <code>Object</code> containing the value 
+			of the attribute, or <code>null</code> if
+			the attribute does not exist</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNames()"><!-- --></A><H3>
+getAttributeNames</H3>
+<PRE>
+public java.util.Enumeration <B>getAttributeNames</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getAttributeNames()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getAttributeNames()">getAttributeNames</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of strings 
+			containing the names 
+ 			of the request's attributes</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCharacterEncoding()"><!-- --></A><H3>
+getCharacterEncoding</H3>
+<PRE>
+public java.lang.String <B>getCharacterEncoding</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getCharacterEncoding()">getCharacterEncoding</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name of 
+			the character encoding, or <code>null</code>
+			if the request does not specify a character encoding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCharacterEncoding(java.lang.String)"><!-- --></A><H3>
+setCharacterEncoding</H3>
+<PRE>
+public void <B>setCharacterEncoding</B>(java.lang.String&nbsp;enc)
+                          throws java.io.UnsupportedEncodingException</PRE>
+<DL>
+<DD>The default behavior of this method is to set the character encoding
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>enc</CODE> - a <code>String</code> containing the name of 
+			the character encoding.
+<DT><B>Throws:</B>
+<DD><CODE>java.io.UnsupportedEncodingException</CODE> - if this is not a valid encoding</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentLength()"><!-- --></A><H3>
+getContentLength</H3>
+<PRE>
+public int <B>getContentLength</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getContentLength()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getContentLength()">getContentLength</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer containing the length of the 
+ 			request body or -1 if the length is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentType()"><!-- --></A><H3>
+getContentType</H3>
+<PRE>
+public java.lang.String <B>getContentType</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getContentType()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getContentType()">getContentType</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the MIME type of 
+ 			the request, or null if the type is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInputStream()"><!-- --></A><H3>
+getInputStream</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A> <B>getInputStream</B>()
+                                  throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to return getInputStream()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getInputStream()">getInputStream</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A> object containing
+ 				the body of the request
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameter(java.lang.String)"><!-- --></A><H3>
+getParameter</H3>
+<PRE>
+public java.lang.String <B>getParameter</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getParameter(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)">getParameter</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the 
+			name of the parameter
+<DT><B>Returns:</B><DD>a <code>String</code> representing the 
+			single value of the parameter<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)"><CODE>ServletRequest.getParameterValues(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterMap()"><!-- --></A><H3>
+getParameterMap</H3>
+<PRE>
+public java.util.Map <B>getParameterMap</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getParameterMap()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getParameterMap()">getParameterMap</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an immutable java.util.Map containing parameter names as 
+ keys and parameter values as map values. The keys in the parameter
+ map are of type String. The values in the parameter map are of type
+ String array.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterNames()"><!-- --></A><H3>
+getParameterNames</H3>
+<PRE>
+public java.util.Enumeration <B>getParameterNames</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getParameterNames()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getParameterNames()">getParameterNames</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of <code>String</code>
+			objects, each <code>String</code> containing
+ 			the name of a request parameter; or an 
+			empty <code>Enumeration</code> if the
+			request has no parameters</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getParameterValues(java.lang.String)"><!-- --></A><H3>
+getParameterValues</H3>
+<PRE>
+public java.lang.String[] <B>getParameterValues</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getParameterValues(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)">getParameterValues</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> containing the name of 
+			the parameter whose value is requested
+<DT><B>Returns:</B><DD>an array of <code>String</code> objects 
+			containing the parameter's values<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)"><CODE>ServletRequest.getParameter(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProtocol()"><!-- --></A><H3>
+getProtocol</H3>
+<PRE>
+public java.lang.String <B>getProtocol</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getProtocol()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getProtocol()">getProtocol</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the protocol 
+			name and version number</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getScheme()"><!-- --></A><H3>
+getScheme</H3>
+<PRE>
+public java.lang.String <B>getScheme</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getScheme()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getScheme()">getScheme</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the scheme used to make this request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerName()"><!-- --></A><H3>
+getServerName</H3>
+<PRE>
+public java.lang.String <B>getServerName</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getServerName()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getServerName()">getServerName</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the name 
+			of the server</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServerPort()"><!-- --></A><H3>
+getServerPort</H3>
+<PRE>
+public int <B>getServerPort</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getServerPort()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getServerPort()">getServerPort</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReader()"><!-- --></A><H3>
+getReader</H3>
+<PRE>
+public java.io.BufferedReader <B>getReader</B>()
+                                 throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to return getReader()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getReader()">getReader</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>BufferedReader</code>
+						containing the body of the request
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletRequest.html#getInputStream()"><CODE>ServletRequest.getInputStream()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteAddr()"><!-- --></A><H3>
+getRemoteAddr</H3>
+<PRE>
+public java.lang.String <B>getRemoteAddr</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRemoteAddr()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getRemoteAddr()">getRemoteAddr</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the 
+			IP address of the client that sent the request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteHost()"><!-- --></A><H3>
+getRemoteHost</H3>
+<PRE>
+public java.lang.String <B>getRemoteHost</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRemoteHost()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getRemoteHost()">getRemoteHost</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the fully 
+			qualified name of the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                         java.lang.Object&nbsp;o)</PRE>
+<DL>
+<DD>The default behavior of this method is to return setAttribute(String name, Object o)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying 
+					the name of the attribute<DD><CODE>o</CODE> - the <code>Object</code> to be stored</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public void <B>removeAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to call removeAttribute(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)">removeAttribute</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying 
+					the name of the attribute to remove</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocale()"><!-- --></A><H3>
+getLocale</H3>
+<PRE>
+public java.util.Locale <B>getLocale</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getLocale()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getLocale()">getLocale</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the preferred <code>Locale</code> for the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocales()"><!-- --></A><H3>
+getLocales</H3>
+<PRE>
+public java.util.Enumeration <B>getLocales</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getLocales()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getLocales()">getLocales</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of preferred 
+                  <code>Locale</code> objects for the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSecure()"><!-- --></A><H3>
+isSecure</H3>
+<PRE>
+public boolean <B>isSecure</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isSecure()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#isSecure()">isSecure</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a boolean indicating if the request was made using a
+                  secure channel</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestDispatcher(java.lang.String)"><!-- --></A><H3>
+getRequestDispatcher</H3>
+<PRE>
+public <A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A> <B>getRequestDispatcher</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRequestDispatcher(String path)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>path</CODE> - a <code>String</code> specifying the pathname
+                  to the resource. If it is relative, it must be
+                  relative against the current servlet.
+<DT><B>Returns:</B><DD>a <code>RequestDispatcher</code> object
+                  that acts as a wrapper for the resource
+                  at the specified path, or <code>null</code>
+                  if the servlet container cannot return a
+                  <code>RequestDispatcher</code><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A>, 
+<A HREF="../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)"><CODE>ServletContext.getRequestDispatcher(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRealPath(java.lang.String)"><!-- --></A><H3>
+getRealPath</H3>
+<PRE>
+public java.lang.String <B>getRealPath</B>(java.lang.String&nbsp;path)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRealPath(String path)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getRealPath(java.lang.String)">getRealPath</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemotePort()"><!-- --></A><H3>
+getRemotePort</H3>
+<PRE>
+public int <B>getRemotePort</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return
+ getRemotePort() on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getRemotePort()">getRemotePort</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalName()"><!-- --></A><H3>
+getLocalName</H3>
+<PRE>
+public java.lang.String <B>getLocalName</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return
+ getLocalName() on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getLocalName()">getLocalName</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the host
+		name of the IP on which the request was received.<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalAddr()"><!-- --></A><H3>
+getLocalAddr</H3>
+<PRE>
+public java.lang.String <B>getLocalAddr</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return
+ getLocalAddr() on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getLocalAddr()">getLocalAddr</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the
+		IP address on which the request was received.<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalPort()"><!-- --></A><H3>
+getLocalPort</H3>
+<PRE>
+public int <B>getLocalPort</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return
+ getLocalPort() on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletRequest.html#getLocalPort()">getLocalPort</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the port number<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletRequestWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponse.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponse.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponse.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,769 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletResponse (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletResponse interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletResponse (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface ServletResponse</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A>, <A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>ServletResponse</B></DL>
+
+<P>
+Defines an object to assist a servlet in sending a response to the client.
+ The servlet container creates a <code>ServletResponse</code> object and
+ passes it as an argument to the servlet's <code>service</code> method.
+
+ <p>To send binary data in a MIME body response, use
+ the <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> returned by <A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>getOutputStream()</CODE></A>.
+ To send character data, use the <code>PrintWriter</code> object 
+ returned by <A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>getWriter()</CODE></A>. To mix binary and text data,
+ for example, to create a multipart response, use a
+ <code>ServletOutputStream</code> and manage the character sections
+ manually.
+
+ <p>The charset for the MIME body response can be specified
+ explicitly using the <A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A> and
+ <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A> methods, or implicitly
+ using the <A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A> method.
+ Explicit specifications take precedence over
+ implicit specifications. If no charset is specified, ISO-8859-1 will be
+ used. The <code>setCharacterEncoding</code>,
+ <code>setContentType</code>, or <code>setLocale</code> method must
+ be called before <code>getWriter</code> and before committing
+ the response for the character encoding to be used.
+ 
+ <p>See the Internet RFCs such as 
+ <a href="http://www.ietf.org/rfc/rfc2045.txt">
+ RFC 2045</a> for more information on MIME. Protocols such as SMTP
+ and HTTP define profiles of MIME, and those standards
+ are still evolving.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()">flushBuffer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forces any content in the buffer to be written to the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()">getBufferSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the actual buffer size used for the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getCharacterEncoding()">getCharacterEncoding</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the character encoding (MIME charset)
+ used for the body sent in this response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getContentType()">getContentType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the content type used for the MIME body
+ sent in this response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Locale</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getLocale()">getLocale</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the locale specified for this response
+ using the <A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A> method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()">getOutputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> suitable for writing binary 
+ data in the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.PrintWriter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#getWriter()">getWriter</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>PrintWriter</code> object that
+ can send character text to the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#isCommitted()">isCommitted</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a boolean indicating if the response has been
+ committed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears any data that exists in the buffer as well as the status code and
+ headers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#resetBuffer()">resetBuffer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clears the content of the underlying buffer in the response without
+ clearing headers or status code.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;size)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the preferred buffer size for the body of the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></B>(java.lang.String&nbsp;charset)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the character encoding (MIME charset) of the response
+ being sent to the client, for example, to UTF-8.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#setContentLength(int)">setContentLength</A></B>(int&nbsp;len)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the length of the content body in the response
+ In HTTP servlets, this method sets the HTTP Content-Length header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)">setContentType</A></B>(java.lang.String&nbsp;type)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the content type of the response being sent to
+ the client, if the response has not been committed yet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)">setLocale</A></B>(java.util.Locale&nbsp;loc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the locale of the response, if the response has not been
+ committed yet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getCharacterEncoding()"><!-- --></A><H3>
+getCharacterEncoding</H3>
+<PRE>
+public java.lang.String <B>getCharacterEncoding</B>()</PRE>
+<DL>
+<DD>Returns the name of the character encoding (MIME charset)
+ used for the body sent in this response.
+ The character encoding may have been specified explicitly
+ using the <A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A> or
+ <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A> methods, or implicitly using the
+ <A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A> method. Explicit specifications take
+ precedence over implicit specifications. Calls made
+ to these methods after <code>getWriter</code> has been
+ called or after the response has been committed have no
+ effect on the character encoding. If no character encoding
+ has been specified, <code>ISO-8859-1</code> is returned.
+ <p>See RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
+ for more information about character encoding and MIME.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			name of the character encoding, for
+			example, <code>UTF-8</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentType()"><!-- --></A><H3>
+getContentType</H3>
+<PRE>
+public java.lang.String <B>getContentType</B>()</PRE>
+<DL>
+<DD>Returns the content type used for the MIME body
+ sent in this response. The content type proper must
+ have been specified using <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A>
+ before the response is committed. If no content type
+ has been specified, this method returns null.
+ If a content type has been specified and a
+ character encoding has been explicitly or implicitly
+ specified as described in <A HREF="../../javax/servlet/ServletResponse.html#getCharacterEncoding()"><CODE>getCharacterEncoding()</CODE></A>,
+ the charset parameter is included in the string returned.
+ If no character encoding has been specified, the
+ charset parameter is omitted.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			content type, for example,
+			<code>text/html; charset=UTF-8</code>,
+			or null<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOutputStream()"><!-- --></A><H3>
+getOutputStream</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A> <B>getOutputStream</B>()
+                                    throws java.io.IOException</PRE>
+<DL>
+<DD>Returns a <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> suitable for writing binary 
+ data in the response. The servlet container does not encode the
+ binary data.  
+
+ <p> Calling flush() on the ServletOutputStream commits the response.
+
+ Either this method or <A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>getWriter()</CODE></A> may 
+ be called to write the body, not both.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> for writing binary data
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the <code>getWriter</code> method
+ 					has been called on this response
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>getWriter()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getWriter()"><!-- --></A><H3>
+getWriter</H3>
+<PRE>
+public java.io.PrintWriter <B>getWriter</B>()
+                              throws java.io.IOException</PRE>
+<DL>
+<DD>Returns a <code>PrintWriter</code> object that
+ can send character text to the client.
+ The <code>PrintWriter</code> uses the character
+ encoding returned by <A HREF="../../javax/servlet/ServletResponse.html#getCharacterEncoding()"><CODE>getCharacterEncoding()</CODE></A>.
+ If the response's character encoding has not been
+ specified as described in <code>getCharacterEncoding</code>
+ (i.e., the method just returns the default value 
+ <code>ISO-8859-1</code>), <code>getWriter</code>
+ updates it to <code>ISO-8859-1</code>.
+ <p>Calling flush() on the <code>PrintWriter</code>
+ commits the response.
+ <p>Either this method or <A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>getOutputStream()</CODE></A> may be called
+ to write the body, not both.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>PrintWriter</code> object that 
+			can return character data to the client
+<DT><B>Throws:</B>
+<DD><CODE>UnsupportedEncodingException</CODE> - if the character encoding returned
+			by <code>getCharacterEncoding</code> cannot be used
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the <code>getOutputStream</code>
+ 			method has already been called for this 
+			response object
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>getOutputStream()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCharacterEncoding(java.lang.String)"><!-- --></A><H3>
+setCharacterEncoding</H3>
+<PRE>
+public void <B>setCharacterEncoding</B>(java.lang.String&nbsp;charset)</PRE>
+<DL>
+<DD>Sets the character encoding (MIME charset) of the response
+ being sent to the client, for example, to UTF-8.
+ If the character encoding has already been set by
+ <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A> or <A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A>,
+ this method overrides it.
+ Calling <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A> with the <code>String</code>
+ of <code>text/html</code> and calling
+ this method with the <code>String</code> of <code>UTF-8</code>
+ is equivalent with calling
+ <code>setContentType</code> with the <code>String</code> of
+ <code>text/html; charset=UTF-8</code>.
+ <p>This method can be called repeatedly to change the character
+ encoding.
+ This method has no effect if it is called after
+ <code>getWriter</code> has been
+ called or after the response has been committed.
+ <p>Containers must communicate the character encoding used for
+ the servlet response's writer to the client if the protocol
+ provides a way for doing so. In the case of HTTP, the character
+ encoding is communicated as part of the <code>Content-Type</code>
+ header for text media types. Note that the character encoding
+ cannot be communicated via HTTP headers if the servlet does not
+ specify a content type; however, it is still used to encode text
+ written via the servlet response's writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>charset</CODE> - a String specifying only the character set
+ 			defined by IANA Character Sets
+			(http://www.iana.org/assignments/character-sets)<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>#setLocale</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentLength(int)"><!-- --></A><H3>
+setContentLength</H3>
+<PRE>
+public void <B>setContentLength</B>(int&nbsp;len)</PRE>
+<DL>
+<DD>Sets the length of the content body in the response
+ In HTTP servlets, this method sets the HTTP Content-Length header.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>len</CODE> - an integer specifying the length of the 
+ 			content being returned to the client; sets
+			the Content-Length header</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentType(java.lang.String)"><!-- --></A><H3>
+setContentType</H3>
+<PRE>
+public void <B>setContentType</B>(java.lang.String&nbsp;type)</PRE>
+<DL>
+<DD>Sets the content type of the response being sent to
+ the client, if the response has not been committed yet.
+ The given content type may include a character encoding
+ specification, for example, <code>text/html;charset=UTF-8</code>.
+ The response's character encoding is only set from the given
+ content type if this method is called before <code>getWriter</code>
+ is called.
+ <p>This method may be called repeatedly to change content type and
+ character encoding.
+ This method has no effect if called after the response
+ has been committed. It does not set the response's character
+ encoding if it is called after <code>getWriter</code>
+ has been called or after the response has been committed.
+ <p>Containers must communicate the content type and the character
+ encoding used for the servlet response's writer to the client if
+ the protocol provides a way for doing so. In the case of HTTP,
+ the <code>Content-Type</code> header is used.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - a <code>String</code> specifying the MIME 
+			type of the content<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>getOutputStream()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>getWriter()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBufferSize(int)"><!-- --></A><H3>
+setBufferSize</H3>
+<PRE>
+public void <B>setBufferSize</B>(int&nbsp;size)</PRE>
+<DL>
+<DD>Sets the preferred buffer size for the body of the response.  
+ The servlet container will use a buffer at least as large as 
+ the size requested.  The actual buffer size used can be found
+ using <code>getBufferSize</code>.
+
+ <p>A larger buffer allows more content to be written before anything is
+ actually sent, thus providing the servlet with more time to set
+ appropriate status codes and headers.  A smaller buffer decreases 
+ server memory load and allows the client to start receiving data more
+ quickly.
+
+ <p>This method must be called before any response body content is
+ written; if content has been written or the response object has
+ been committed, this method throws an 
+ <code>IllegalStateException</code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - the preferred buffer size
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called after
+						content has been written<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBufferSize()"><!-- --></A><H3>
+getBufferSize</H3>
+<PRE>
+public int <B>getBufferSize</B>()</PRE>
+<DL>
+<DD>Returns the actual buffer size used for the response.  If no buffering
+ is used, this method returns 0.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the actual buffer size used<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="flushBuffer()"><!-- --></A><H3>
+flushBuffer</H3>
+<PRE>
+public void <B>flushBuffer</B>()
+                 throws java.io.IOException</PRE>
+<DL>
+<DD>Forces any content in the buffer to be written to the client.  A call
+ to this method automatically commits the response, meaning the status 
+ code and headers will be written.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetBuffer()"><!-- --></A><H3>
+resetBuffer</H3>
+<PRE>
+public void <B>resetBuffer</B>()</PRE>
+<DL>
+<DD>Clears the content of the underlying buffer in the response without
+ clearing headers or status code. If the 
+ response has been committed, this method throws an 
+ <code>IllegalStateException</code>.
+<P>
+<DD><DL>
+<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCommitted()"><!-- --></A><H3>
+isCommitted</H3>
+<PRE>
+public boolean <B>isCommitted</B>()</PRE>
+<DL>
+<DD>Returns a boolean indicating if the response has been
+ committed.  A committed response has already had its status 
+ code and headers written.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a boolean indicating if the response has been
+  		committed<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()</PRE>
+<DL>
+<DD>Clears any data that exists in the buffer as well as the status code and
+ headers.  If the response has been committed, this method throws an 
+ <code>IllegalStateException</code>.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if the response has already been
+                                   committed<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>isCommitted()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLocale(java.util.Locale)"><!-- --></A><H3>
+setLocale</H3>
+<PRE>
+public void <B>setLocale</B>(java.util.Locale&nbsp;loc)</PRE>
+<DL>
+<DD>Sets the locale of the response, if the response has not been
+ committed yet. It also sets the response's character encoding
+ appropriately for the locale, if the character encoding has not
+ been explicitly set using <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A> or
+ <A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A>, <code>getWriter</code> hasn't
+ been called yet, and the response hasn't been committed yet.
+ If the deployment descriptor contains a 
+ <code>locale-encoding-mapping-list</code> element, and that
+ element provides a mapping for the given locale, that mapping
+ is used. Otherwise, the mapping from locale to character
+ encoding is container dependent.
+ <p>This method may be called repeatedly to change locale and
+ character encoding. The method has no effect if called after the
+ response has been committed. It does not set the response's
+ character encoding if it is called after <A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A>
+ has been called with a charset specification, after
+ <A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A> has been called, after
+ <code>getWriter</code> has been called, or after the response
+ has been committed.
+ <p>Containers must communicate the locale and the character encoding
+ used for the servlet response's writer to the client if the protocol
+ provides a way for doing so. In the case of HTTP, the locale is
+ communicated via the <code>Content-Language</code> header,
+ the character encoding as part of the <code>Content-Type</code>
+ header for text media types. Note that the character encoding
+ cannot be communicated via HTTP headers if the servlet does not
+ specify a content type; however, it is still used to encode text
+ written via the servlet response's writer.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>loc</CODE> - the locale of the response<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getLocale()"><CODE>getLocale()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>setContentType(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>setCharacterEncoding(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocale()"><!-- --></A><H3>
+getLocale</H3>
+<PRE>
+public java.util.Locale <B>getLocale</B>()</PRE>
+<DL>
+<DD>Returns the locale specified for this response
+ using the <A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A> method. Calls made to
+ <code>setLocale</code> after the response is committed
+ have no effect. If no locale has been specified,
+ the container's default locale is returned.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>setLocale(java.util.Locale)</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponseWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponseWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/ServletResponseWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,753 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ServletResponseWrapper (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.ServletResponseWrapper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ServletResponseWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletResponseWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class ServletResponseWrapper</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.ServletResponseWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>ServletResponseWrapper</B><DT>extends java.lang.Object<DT>implements <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></DL>
+
+<P>
+Provides a convenient implementation of the ServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.
+ This class implements the Wrapper or Decorator pattern. Methods default to
+ calling through to the wrapped response object.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#ServletResponseWrapper(javax.servlet.ServletResponse)">ServletResponseWrapper</A></B>(<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a ServletResponse adaptor wrapping the given response object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#flushBuffer()">flushBuffer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call flushBuffer()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getBufferSize()">getBufferSize</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getBufferSize()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getCharacterEncoding()">getCharacterEncoding</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getContentType()">getContentType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getContentType()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Locale</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getLocale()">getLocale</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getLocale()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getOutputStream()">getOutputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getOutputStream()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getResponse()">getResponse</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the wrapped ServletResponse object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.io.PrintWriter</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#getWriter()">getWriter</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getWriter()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#isCommitted()">isCommitted</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isCommitted()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call reset()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#resetBuffer()">resetBuffer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call resetBuffer()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setBufferSize(int)">setBufferSize</A></B>(int&nbsp;size)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setBufferSize(int size)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></B>(java.lang.String&nbsp;charset)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setCharacterEncoding(String charset)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setContentLength(int)">setContentLength</A></B>(int&nbsp;len)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setContentLength(int len)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setContentType(java.lang.String)">setContentType</A></B>(java.lang.String&nbsp;type)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setContentType(String type)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setLocale(java.util.Locale)">setLocale</A></B>(java.util.Locale&nbsp;loc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setLocale(Locale loc)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/ServletResponseWrapper.html#setResponse(javax.servlet.ServletResponse)">setResponse</A></B>(<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the response being wrapped.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="ServletResponseWrapper(javax.servlet.ServletResponse)"><!-- --></A><H3>
+ServletResponseWrapper</H3>
+<PRE>
+public <B>ServletResponseWrapper</B>(<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</PRE>
+<DL>
+<DD>Creates a ServletResponse adaptor wrapping the given response object.
+<P>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the response is null.</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getResponse()"><!-- --></A><H3>
+getResponse</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A> <B>getResponse</B>()</PRE>
+<DL>
+<DD>Return the wrapped ServletResponse object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResponse(javax.servlet.ServletResponse)"><!-- --></A><H3>
+setResponse</H3>
+<PRE>
+public void <B>setResponse</B>(<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</PRE>
+<DL>
+<DD>Sets the response being wrapped.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the response is null.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCharacterEncoding(java.lang.String)"><!-- --></A><H3>
+setCharacterEncoding</H3>
+<PRE>
+public void <B>setCharacterEncoding</B>(java.lang.String&nbsp;charset)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setCharacterEncoding(String charset)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>charset</CODE> - a String specifying only the character set
+ 			defined by IANA Character Sets
+			(http://www.iana.org/assignments/character-sets)<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>#setLocale</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCharacterEncoding()"><!-- --></A><H3>
+getCharacterEncoding</H3>
+<PRE>
+public java.lang.String <B>getCharacterEncoding</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getCharacterEncoding()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getCharacterEncoding()">getCharacterEncoding</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			name of the character encoding, for
+			example, <code>UTF-8</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOutputStream()"><!-- --></A><H3>
+getOutputStream</H3>
+<PRE>
+public <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A> <B>getOutputStream</B>()
+                                    throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to return getOutputStream()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()">getOutputStream</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> for writing binary data
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>ServletResponse.getWriter()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getWriter()"><!-- --></A><H3>
+getWriter</H3>
+<PRE>
+public java.io.PrintWriter <B>getWriter</B>()
+                              throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to return getWriter()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getWriter()">getWriter</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>PrintWriter</code> object that 
+			can return character data to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output exception occurred<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>ServletResponse.getOutputStream()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>ServletResponse.setCharacterEncoding(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentLength(int)"><!-- --></A><H3>
+setContentLength</H3>
+<PRE>
+public void <B>setContentLength</B>(int&nbsp;len)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setContentLength(int len)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#setContentLength(int)">setContentLength</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>len</CODE> - an integer specifying the length of the 
+ 			content being returned to the client; sets
+			the Content-Length header</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setContentType(java.lang.String)"><!-- --></A><H3>
+setContentType</H3>
+<PRE>
+public void <B>setContentType</B>(java.lang.String&nbsp;type)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setContentType(String type)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)">setContentType</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - a <code>String</code> specifying the MIME 
+			type of the content<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>ServletResponse.setLocale(java.util.Locale)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>ServletResponse.setCharacterEncoding(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getOutputStream()"><CODE>ServletResponse.getOutputStream()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getWriter()"><CODE>ServletResponse.getWriter()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContentType()"><!-- --></A><H3>
+getContentType</H3>
+<PRE>
+public java.lang.String <B>getContentType</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getContentType()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getContentType()">getContentType</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			content type, for example,
+			<code>text/html; charset=UTF-8</code>,
+			or null<DT><B>Since:</B></DT>
+  <DD>2.4</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBufferSize(int)"><!-- --></A><H3>
+setBufferSize</H3>
+<PRE>
+public void <B>setBufferSize</B>(int&nbsp;size)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setBufferSize(int size)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)">setBufferSize</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>size</CODE> - the preferred buffer size<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>ServletResponse.getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>ServletResponse.flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>ServletResponse.isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>ServletResponse.reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBufferSize()"><!-- --></A><H3>
+getBufferSize</H3>
+<PRE>
+public int <B>getBufferSize</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getBufferSize()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()">getBufferSize</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the actual buffer size used<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>ServletResponse.setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>ServletResponse.flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>ServletResponse.isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>ServletResponse.reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="flushBuffer()"><!-- --></A><H3>
+flushBuffer</H3>
+<PRE>
+public void <B>flushBuffer</B>()
+                 throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to call flushBuffer()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()">flushBuffer</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE><DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>ServletResponse.setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>ServletResponse.getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>ServletResponse.isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>ServletResponse.reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCommitted()"><!-- --></A><H3>
+isCommitted</H3>
+<PRE>
+public boolean <B>isCommitted</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isCommitted()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#isCommitted()">isCommitted</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a boolean indicating if the response has been
+  		committed<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>ServletResponse.setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>ServletResponse.getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>ServletResponse.flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>ServletResponse.reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to call reset()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>ServletResponse.setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>ServletResponse.getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#flushBuffer()"><CODE>ServletResponse.flushBuffer()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>ServletResponse.isCommitted()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resetBuffer()"><!-- --></A><H3>
+resetBuffer</H3>
+<PRE>
+public void <B>resetBuffer</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to call resetBuffer()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#resetBuffer()">resetBuffer</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setBufferSize(int)"><CODE>ServletResponse.setBufferSize(int)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#getBufferSize()"><CODE>ServletResponse.getBufferSize()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#isCommitted()"><CODE>ServletResponse.isCommitted()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#reset()"><CODE>ServletResponse.reset()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLocale(java.util.Locale)"><!-- --></A><H3>
+setLocale</H3>
+<PRE>
+public void <B>setLocale</B>(java.util.Locale&nbsp;loc)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setLocale(Locale loc)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)">setLocale</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>loc</CODE> - the locale of the response<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#getLocale()"><CODE>ServletResponse.getLocale()</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>ServletResponse.setContentType(java.lang.String)</CODE></A>, 
+<A HREF="../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)"><CODE>ServletResponse.setCharacterEncoding(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocale()"><!-- --></A><H3>
+getLocale</H3>
+<PRE>
+public java.util.Locale <B>getLocale</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getLocale()
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../javax/servlet/ServletResponse.html#getLocale()">getLocale</A></CODE> in interface <CODE><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)"><CODE>ServletResponse.setLocale(java.util.Locale)</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/ServletResponseWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/SingleThreadModel.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/SingleThreadModel.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/SingleThreadModel.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+SingleThreadModel (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.SingleThreadModel interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="SingleThreadModel (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingleThreadModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SingleThreadModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Interface SingleThreadModel</H2>
+<HR>
+<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.4, with no direct
+	replacement.</I>
+<P>
+<DL>
+<DT>public interface <B>SingleThreadModel</B></DL>
+
+<P>
+Ensures that servlets handle
+ only one request at a time. This interface has no methods.
+
+ <p>If a servlet implements this interface, you are <i>guaranteed</i>
+ that no two threads will execute concurrently in the
+ servlet's <code>service</code> method. The servlet container
+ can make this guarantee by synchronizing access to a single
+ instance of the servlet, or by maintaining a pool of servlet
+ instances and dispatching each new request to a free servlet.
+
+ <p>Note that SingleThreadModel does not solve all thread safety
+ issues.  For example, session attributes and static variables can
+ still be accessed by multiple requests on multiple threads
+ at the same time, even when SingleThreadModel servlets are used.
+ It is recommended that a developer take other means to resolve
+ those issues instead of implementing this interface, such as
+ avoiding the usage of an instance variable or synchronizing
+ the block of the code accessing those resources.
+ This interface is deprecated in Servlet API version 2.4.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/SingleThreadModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SingleThreadModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/UnavailableException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/UnavailableException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/UnavailableException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,462 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+UnavailableException (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.UnavailableException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="UnavailableException (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UnavailableException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="UnavailableException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet</FONT>
+<BR>
+Class UnavailableException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.lang.Throwable
+      <IMG SRC="../../resources/inherit.gif" ALT="extended by">java.lang.Exception
+          <IMG SRC="../../resources/inherit.gif" ALT="extended by"><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">javax.servlet.ServletException</A>
+              <IMG SRC="../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.UnavailableException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>UnavailableException</B><DT>extends <A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></DL>
+
+<P>
+Defines an exception that a servlet or filter throws to indicate
+ that it is permanently or temporarily unavailable. 
+
+ <p>When a servlet or filter is permanently unavailable, something is wrong
+ with it, and it cannot handle
+ requests until some action is taken. For example, a servlet
+ might be configured incorrectly, or a filter's state may be corrupted.
+ The component should log both the error and the corrective action
+ that is needed.
+
+ <p>A servlet or filter is temporarily unavailable if it cannot handle
+ requests momentarily due to some system-wide problem. For example,
+ a third-tier server might not be accessible, or there may be 
+ insufficient memory or disk storage to handle requests. A system
+ administrator may need to take corrective action.
+
+ <p>Servlet containers can safely treat both types of unavailable
+ exceptions in the same way. However, treating temporary unavailability
+ effectively makes the servlet container more robust. Specifically,
+ the servlet container might block requests to the servlet or filter for a period
+ of time suggested by the exception, rather than rejecting them until
+ the servlet container restarts.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../serialized-form.html#javax.servlet.UnavailableException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(int, javax.servlet.Servlet, java.lang.String)">UnavailableException</A></B>(int&nbsp;seconds,
+                     <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                     java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><CODE>UnavailableException(String, int)</CODE></A> instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(javax.servlet.Servlet, java.lang.String)">UnavailableException</A></B>(<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                     java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><CODE>UnavailableException(String)</CODE></A> instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)">UnavailableException</A></B>(java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new exception with a descriptive
+ message indicating that the servlet is permanently
+ unavailable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)">UnavailableException</A></B>(java.lang.String&nbsp;msg,
+                     int&nbsp;seconds)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new exception with a descriptive message
+ indicating that the servlet is temporarily unavailable
+ and giving an estimate of how long it will be unavailable.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#getServlet()">getServlet</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, with no replacement.
+
+ Returns the servlet that is reporting its unavailability.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#getUnavailableSeconds()">getUnavailableSeconds</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of seconds the servlet expects to 
+ be temporarily unavailable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../javax/servlet/UnavailableException.html#isPermanent()">isPermanent</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>boolean</code> indicating
+ whether the servlet is permanently unavailable.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../javax/servlet/ServletException.html#getRootCause()">getRootCause</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Throwable</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="UnavailableException(javax.servlet.Servlet, java.lang.String)"><!-- --></A><H3>
+UnavailableException</H3>
+<PRE>
+public <B>UnavailableException</B>(<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                            java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><CODE>UnavailableException(String)</CODE></A> instead.</I>
+<P>
+<DT><B>Parameters:</B><DD><CODE>servlet</CODE> - the <code>Servlet</code> instance that is
+                  unavailable<DD><CODE>msg</CODE> - a <code>String</code> specifying the
+                  descriptive message</DL>
+<HR>
+
+<A NAME="UnavailableException(int, javax.servlet.Servlet, java.lang.String)"><!-- --></A><H3>
+UnavailableException</H3>
+<PRE>
+public <B>UnavailableException</B>(int&nbsp;seconds,
+                            <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                            java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><CODE>UnavailableException(String, int)</CODE></A> instead.</I>
+<P>
+<DT><B>Parameters:</B><DD><CODE>seconds</CODE> - an integer specifying the number of seconds
+ 			the servlet expects to be unavailable; if
+			zero or negative, indicates that the servlet
+			can't make an estimate<DD><CODE>servlet</CODE> - the <code>Servlet</code> that is unavailable<DD><CODE>msg</CODE> - a <code>String</code> specifying the descriptive 
+			message, which can be written to a log file or 
+			displayed for the user.</DL>
+<HR>
+
+<A NAME="UnavailableException(java.lang.String)"><!-- --></A><H3>
+UnavailableException</H3>
+<PRE>
+public <B>UnavailableException</B>(java.lang.String&nbsp;msg)</PRE>
+<DL>
+<DD>Constructs a new exception with a descriptive
+ message indicating that the servlet is permanently
+ unavailable.
+<P>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> specifying the
+                  descriptive message</DL>
+<HR>
+
+<A NAME="UnavailableException(java.lang.String, int)"><!-- --></A><H3>
+UnavailableException</H3>
+<PRE>
+public <B>UnavailableException</B>(java.lang.String&nbsp;msg,
+                            int&nbsp;seconds)</PRE>
+<DL>
+<DD>Constructs a new exception with a descriptive message
+ indicating that the servlet is temporarily unavailable
+ and giving an estimate of how long it will be unavailable.
+ 
+ <p>In some cases, the servlet cannot make an estimate. For
+ example, the servlet might know that a server it needs is
+ not running, but not be able to report how long it will take
+ to be restored to functionality. This can be indicated with
+ a negative or zero value for the <code>seconds</code> argument.
+<P>
+<DT><B>Parameters:</B><DD><CODE>msg</CODE> - a <code>String</code> specifying the
+                  descriptive message, which can be written
+                  to a log file or displayed for the user.<DD><CODE>seconds</CODE> - an integer specifying the number of seconds
+ 			the servlet expects to be unavailable; if
+			zero or negative, indicates that the servlet
+			can't make an estimate</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="isPermanent()"><!-- --></A><H3>
+isPermanent</H3>
+<PRE>
+public boolean <B>isPermanent</B>()</PRE>
+<DL>
+<DD>Returns a <code>boolean</code> indicating
+ whether the servlet is permanently unavailable.
+ If so, something is wrong with the servlet, and the
+ system administrator must take some corrective action.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the servlet is
+			permanently unavailable; <code>false</code>
+			if the servlet is available or temporarily
+			unavailable</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServlet()"><!-- --></A><H3>
+getServlet</H3>
+<PRE>
+public <A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A> <B>getServlet</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, with no replacement.
+
+ Returns the servlet that is reporting its unavailability.</I>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>Servlet</code> object that is 
+			throwing the <code>UnavailableException</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUnavailableSeconds()"><!-- --></A><H3>
+getUnavailableSeconds</H3>
+<PRE>
+public int <B>getUnavailableSeconds</B>()</PRE>
+<DL>
+<DD>Returns the number of seconds the servlet expects to 
+ be temporarily unavailable.  
+
+ <p>If this method returns a negative number, the servlet
+ is permanently unavailable or cannot provide an estimate of
+ how long it will be unavailable. No effort is
+ made to correct for the time elapsed since the exception was
+ first reported.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the number of seconds
+			the servlet will be temporarily unavailable,
+			or a negative number if the servlet is permanently
+			unavailable or cannot make an estimate</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/UnavailableException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="UnavailableException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Filter.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Filter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Filter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.Filter (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.Filter (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/Filter.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.Filter</B></H2>
+</CENTER>
+No usage of javax.servlet.Filter
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/Filter.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Filter.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterChain.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterChain.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterChain.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,179 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.FilterChain (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.FilterChain (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterChain.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.FilterChain</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+         <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterChain.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterConfig.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterConfig.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/FilterConfig.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.FilterConfig (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.FilterConfig (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.FilterConfig</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#init(javax.servlet.FilterConfig)">init</A></B>(<A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>&nbsp;filterConfig)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the web container to indicate to a filter that it is being placed into
+ service.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="FilterConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/GenericServlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/GenericServlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/GenericServlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.GenericServlet (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.GenericServlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GenericServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.GenericServlet</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="GenericServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/RequestDispatcher.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/RequestDispatcher.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/RequestDispatcher.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.RequestDispatcher (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.RequestDispatcher (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="RequestDispatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.RequestDispatcher</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequestWrapper.</B><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRequestDispatcher(String path)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequest.</B><B><A HREF="../../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts as a wrapper for
+ the resource located at the given path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContext.</B><B><A HREF="../../../javax/servlet/ServletContext.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A></B>(java.lang.String&nbsp;path)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the resource located at the given path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContext.</B><B><A HREF="../../../javax/servlet/ServletContext.html#getNamedDispatcher(java.lang.String)">getNamedDispatcher</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><CODE>RequestDispatcher</CODE></A> object that acts
+ as a wrapper for the named servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="RequestDispatcher.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Servlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Servlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/Servlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.Servlet (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.Servlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Servlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.Servlet</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that implement <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a generic, protocol-independent
+ servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></FONT></TD>
+<TD><CODE><B>UnavailableException.</B><B><A HREF="../../../javax/servlet/UnavailableException.html#getServlet()">getServlet</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, with no replacement.
+
+ Returns the servlet that is reporting its unavailability.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContext.</B><B><A HREF="../../../javax/servlet/ServletContext.html#getServlet(java.lang.String)">getServlet</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/UnavailableException.html#UnavailableException(javax.servlet.Servlet, java.lang.String)">UnavailableException</A></B>(<A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                     java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String)"><CODE>UnavailableException.UnavailableException(String)</CODE></A> instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/UnavailableException.html#UnavailableException(int, javax.servlet.Servlet, java.lang.String)">UnavailableException</A></B>(int&nbsp;seconds,
+                     <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>&nbsp;servlet,
+                     java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.2, use <A HREF="../../../javax/servlet/UnavailableException.html#UnavailableException(java.lang.String, int)"><CODE>UnavailableException.UnavailableException(String, int)</CODE></A> instead.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Servlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletConfig.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletConfig.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletConfig.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletConfig (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletConfig (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletConfig</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that implement <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a generic, protocol-independent
+ servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#getServletConfig()">getServletConfig</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object, which contains
+ initialization and startup parameters for this servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#getServletConfig()">getServletConfig</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this servlet's <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><CODE>ServletConfig</CODE></A> object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the 
+ servlet is being placed into service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the
+ servlet is being placed into service.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletConfig.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,293 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletContext (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletContext (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletContext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequestEvent.</B><B><A HREF="../../../javax/servlet/ServletRequestEvent.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletContext of this web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContextEvent.</B><B><A HREF="../../../javax/servlet/ServletContextEvent.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the ServletContext that changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContext.</B><B><A HREF="../../../javax/servlet/ServletContext.html#getContext(java.lang.String)">getContext</A></B>(java.lang.String&nbsp;uripath)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>ServletContext</code> object that 
+ corresponds to a specified URL on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>ServletConfig.</B><B><A HREF="../../../javax/servlet/ServletConfig.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which this servlet
+ is running.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>FilterConfig.</B><B><A HREF="../../../javax/servlet/FilterConfig.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a reference to the <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><CODE>ServletContext</CODE></A> in which the caller
+ is executing.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestEvent.html#ServletRequestEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest)">ServletRequestEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                    <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestEvent for the given ServletContext
+ and ServletRequest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html#ServletRequestAttributeEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest, java.lang.String, java.lang.Object)">ServletRequestAttributeEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                             <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                             java.lang.String&nbsp;name,
+                             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestAttributeEvent giving the servlet context
+ of this web application, the ServletRequest whose attributes are
+ changing and the name and value of the attribute.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletContextEvent.html#ServletContextEvent(javax.servlet.ServletContext)">ServletContextEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletContextEvent from the given context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletContextAttributeEvent.html#ServletContextAttributeEvent(javax.servlet.ServletContext, java.lang.String, java.lang.Object)">ServletContextAttributeEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;source,
+                             java.lang.String&nbsp;name,
+                             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletContextAttributeEvent from the given context for the
+ given attribute name and attribute value.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that return <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B>HttpSession.</B><B><A HREF="../../../javax/servlet/http/HttpSession.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletContext to which this session belongs.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletContextAttributeEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletContextAttributeEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletContextAttributeEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletContextAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletContextAttributeListener.html#attributeAdded(javax.servlet.ServletContextAttributeEvent)">attributeAdded</A></B>(<A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a new attribute was added to the servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletContextAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletContextAttributeListener.html#attributeRemoved(javax.servlet.ServletContextAttributeEvent)">attributeRemoved</A></B>(<A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an existing attribute has been removed from the servlet context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletContextAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletContextAttributeListener.html#attributeReplaced(javax.servlet.ServletContextAttributeEvent)">attributeReplaced</A></B>(<A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A>&nbsp;scab)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute on the servlet context has been replaced.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletContextAttributeListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletContextAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletContextAttributeListener</B></H2>
+</CENTER>
+No usage of javax.servlet.ServletContextAttributeListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletContextEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletContextEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletContextEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the event class for notifications about changes to the attributes of the
+  servlet context of a web application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletContextListener.</B><B><A HREF="../../../javax/servlet/ServletContextListener.html#contextInitialized(javax.servlet.ServletContextEvent)">contextInitialized</A></B>(<A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the web application initialization
+ process is starting.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletContextListener.</B><B><A HREF="../../../javax/servlet/ServletContextListener.html#contextDestroyed(javax.servlet.ServletContextEvent)">contextDestroyed</A></B>(<A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A>&nbsp;sce)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the servlet context is about to be shut down.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletContextListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletContextListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletContextListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletContextListener</B></H2>
+</CENTER>
+No usage of javax.servlet.ServletContextListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletContextListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,418 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletException (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletException (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an exception that a servlet or filter throws to indicate
+ that it is permanently or temporarily unavailable.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that throw <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE></FONT></TD>
+<TD><CODE><B>ServletContext.</B><B><A HREF="../../../javax/servlet/ServletContext.html#getServlet(java.lang.String)">getServlet</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1, with no direct replacement.
+
+ <p>This method was originally defined to retrieve a servlet
+ from a <code>ServletContext</code>. In this version, this method 
+ always returns <code>null</code> and remains only to preserve 
+ binary compatibility. This method will be permanently removed 
+ in a future version of the Java Servlet API.
+
+ <p>In lieu of this method, servlets can share information using the 
+ <code>ServletContext</code> class and can perform shared business logic
+ by invoking methods on common non-servlet classes.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the 
+ servlet is being placed into service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to 
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">forward</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">include</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)">init</A></B>(<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>&nbsp;config)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to indicate to a servlet that the
+ servlet is being placed into service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#init()">init</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A convenience method which can be overridden so that there's no need
+ to call <code>super.init(config)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>FilterChain.</B><B><A HREF="../../../javax/servlet/FilterChain.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#init(javax.servlet.FilterConfig)">init</A></B>(<A HREF="../../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A>&nbsp;filterConfig)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the web container to indicate to a filter that it is being placed into
+ service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+         <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that throw <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doHead</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPut</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doDelete</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+         <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doOptions</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+          <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doTrace</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatches client requests to the protected
+ <code>service</code> method.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletInputStream.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletInputStream.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletInputStream.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletInputStream (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletInputStream (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletInputStream</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequestWrapper.</B><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html#getInputStream()">getInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getInputStream()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequest.</B><B><A HREF="../../../javax/servlet/ServletRequest.html#getInputStream()">getInputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retrieves the body of the request as binary data using
+ a <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><CODE>ServletInputStream</CODE></A>.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.Hashtable</CODE></FONT></TD>
+<TD><CODE><B>HttpUtils.</B><B><A HREF="../../../javax/servlet/http/HttpUtils.html#parsePostData(int, javax.servlet.ServletInputStream)">parsePostData</A></B>(int&nbsp;len,
+              <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>&nbsp;in)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Parses data from an HTML form that the client sends to 
+ the server using the HTTP POST method and the 
+ <i>application/x-www-form-urlencoded</i> MIME type.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletInputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletOutputStream.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletOutputStream.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletOutputStream.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,185 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletOutputStream (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletOutputStream (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletOutputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletOutputStream</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></CODE></FONT></TD>
+<TD><CODE><B>ServletResponseWrapper.</B><B><A HREF="../../../javax/servlet/ServletResponseWrapper.html#getOutputStream()">getOutputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getOutputStream()
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></CODE></FONT></TD>
+<TD><CODE><B>ServletResponse.</B><B><A HREF="../../../javax/servlet/ServletResponse.html#getOutputStream()">getOutputStream</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A> suitable for writing binary 
+ data in the response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletOutputStream.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequest.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequest.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequest.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,380 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletRequest (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletRequest (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletRequest</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that implement <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the ServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequestWrapper.</B><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRequest()">getRequest</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></CODE></FONT></TD>
+<TD><CODE><B>ServletRequestEvent.</B><B><A HREF="../../../javax/servlet/ServletRequestEvent.html#getServletRequest()">getServletRequest</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletRequest that is changing.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestWrapper.</B><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html#setRequest(javax.servlet.ServletRequest)">setRequest</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the request object being wrapped.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to 
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">forward</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">include</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>FilterChain.</B><B><A HREF="../../../javax/servlet/FilterChain.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+         <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestWrapper.html#ServletRequestWrapper(javax.servlet.ServletRequest)">ServletRequestWrapper</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a ServletRequest adaptor wrapping the given request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestEvent.html#ServletRequestEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest)">ServletRequestEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                    <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestEvent for the given ServletContext
+ and ServletRequest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html#ServletRequestAttributeEvent(javax.servlet.ServletContext, javax.servlet.ServletRequest, java.lang.String, java.lang.Object)">ServletRequestAttributeEvent</A></B>(<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A>&nbsp;sc,
+                             <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+                             java.lang.String&nbsp;name,
+                             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a ServletRequestAttributeEvent giving the servlet context
+ of this web application, the ServletRequest whose attributes are
+ changing and the name and value of the attribute.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extends the <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> interface
+ to provide request information for HTTP servlets.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatches client requests to the protected
+ <code>service</code> method.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,194 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletRequestAttributeEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletRequestAttributeEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletRequestAttributeEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletRequestAttributeListener.html#attributeAdded(javax.servlet.ServletRequestAttributeEvent)">attributeAdded</A></B>(<A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a new attribute was added to the
+ servlet request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletRequestAttributeListener.html#attributeRemoved(javax.servlet.ServletRequestAttributeEvent)">attributeRemoved</A></B>(<A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an existing attribute has been removed from the
+ servlet request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestAttributeListener.</B><B><A HREF="../../../javax/servlet/ServletRequestAttributeListener.html#attributeReplaced(javax.servlet.ServletRequestAttributeEvent)">attributeReplaced</A></B>(<A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A>&nbsp;srae)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute was replaced on the
+ servlet request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletRequestAttributeListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletRequestAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletRequestAttributeListener</B></H2>
+</CENTER>
+No usage of javax.servlet.ServletRequestAttributeListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,200 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletRequestEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletRequestEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletRequestEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the event class for notifications of changes to the 
+ attributes of the servlet request in an application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestListener.</B><B><A HREF="../../../javax/servlet/ServletRequestListener.html#requestDestroyed(javax.servlet.ServletRequestEvent)">requestDestroyed</A></B>(<A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request is about to go out of scope of the web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletRequestListener.</B><B><A HREF="../../../javax/servlet/ServletRequestListener.html#requestInitialized(javax.servlet.ServletRequestEvent)">requestInitialized</A></B>(<A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A>&nbsp;sre)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The request is about to come into scope of the web application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletRequestListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletRequestListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletRequestListener</B></H2>
+</CENTER>
+No usage of javax.servlet.ServletRequestListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletRequestWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletRequestWrapper (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletRequestWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletRequestWrapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponse.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponse.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponse.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.ServletResponse (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.ServletResponse (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.ServletResponse</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A> in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that implement <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the ServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> that return <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></CODE></FONT></TD>
+<TD><CODE><B>ServletResponseWrapper.</B><B><A HREF="../../../javax/servlet/ServletResponseWrapper.html#getResponse()">getResponse</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the wrapped ServletResponse object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>ServletResponseWrapper.</B><B><A HREF="../../../javax/servlet/ServletResponseWrapper.html#setResponse(javax.servlet.ServletResponse)">setResponse</A></B>(<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the response being wrapped.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Servlet.</B><B><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to 
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#forward(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">forward</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forwards a request from
+ a servlet to another resource (servlet, JSP file, or
+ HTML file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>RequestDispatcher.</B><B><A HREF="../../../javax/servlet/RequestDispatcher.html#include(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">include</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Includes the content of a resource (servlet, JSP page,
+ HTML file) in the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>GenericServlet.</B><B><A HREF="../../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the servlet container to allow the servlet to respond to
+ a request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>FilterChain.</B><B><A HREF="../../../javax/servlet/FilterChain.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes the next filter in the chain to be invoked, or if the calling filter is the last filter
+ in the chain, causes the resource at the end of the chain to be invoked.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>Filter.</B><B><A HREF="../../../javax/servlet/Filter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;request,
+         <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response,
+         <A HREF="../../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A>&nbsp;chain)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The <code>doFilter</code> method of the Filter is called by the container
+ each time a request/response pair is passed through the chain due
+ to a client request for a resource at the end of the chain.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../javax/servlet/package-summary.html">javax.servlet</A> with parameters of type <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/ServletResponseWrapper.html#ServletResponseWrapper(javax.servlet.ServletResponse)">ServletResponseWrapper</A></B>(<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a ServletResponse adaptor wrapping the given response object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subinterfaces of <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extends the <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> interface to provide HTTP-specific
+ functionality in sending a response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatches client requests to the protected
+ <code>service</code> method.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponseWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponseWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/ServletResponseWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.ServletResponseWrapper (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.ServletResponseWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.ServletResponseWrapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A> in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/SingleThreadModel.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/SingleThreadModel.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/SingleThreadModel.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.SingleThreadModel (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.SingleThreadModel (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SingleThreadModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.SingleThreadModel</B></H2>
+</CENTER>
+No usage of javax.servlet.SingleThreadModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="SingleThreadModel.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/UnavailableException.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/UnavailableException.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/class-use/UnavailableException.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.UnavailableException (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.UnavailableException (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="UnavailableException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.UnavailableException</B></H2>
+</CENTER>
+No usage of javax.servlet.UnavailableException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="UnavailableException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/Cookie.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/Cookie.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/Cookie.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,782 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Cookie (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.Cookie class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Cookie (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Cookie.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cookie.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class Cookie</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.Cookie</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.lang.Cloneable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>Cookie</B><DT>extends java.lang.Object<DT>implements java.lang.Cloneable</DL>
+
+<P>
+Creates a cookie, a small amount of information sent by a servlet to 
+ a Web browser, saved by the browser, and later sent back to the server.
+ A cookie's value can uniquely 
+ identify a client, so cookies are commonly used for session management.
+ 
+ <p>A cookie has a name, a single value, and optional attributes
+ such as a comment, path and domain qualifiers, a maximum age, and a
+ version number. Some Web browsers have bugs in how they handle the 
+ optional attributes, so use them sparingly to improve the interoperability 
+ of your servlets.
+
+ <p>The servlet sends cookies to the browser by using the
+ <A HREF="../../../javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)"><CODE>HttpServletResponse.addCookie(javax.servlet.http.Cookie)</CODE></A> method, which adds
+ fields to HTTP response headers to send cookies to the 
+ browser, one at a time. The browser is expected to 
+ support 20 cookies for each Web server, 300 cookies total, and
+ may limit cookie size to 4 KB each.
+ 
+ <p>The browser returns cookies to the servlet by adding 
+ fields to HTTP request headers. Cookies can be retrieved
+ from a request by using the <A HREF="../../../javax/servlet/http/HttpServletRequest.html#getCookies()"><CODE>HttpServletRequest.getCookies()</CODE></A> method.
+ Several cookies might have the same name but different path attributes.
+ 
+ <p>Cookies affect the caching of the Web pages that use them. 
+ HTTP 1.0 does not cache pages that use cookies created with
+ this class. This class does not support the cache control
+ defined with HTTP 1.1.
+
+ <p>This class supports both the Version 0 (by Netscape) and Version 1 
+ (by RFC 2109) cookie specifications. By default, cookies are
+ created using Version 0 to ensure the best interoperability.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#Cookie(java.lang.String, java.lang.String)">Cookie</A></B>(java.lang.String&nbsp;name,
+       java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a cookie with a specified name and value.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#clone()">clone</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overrides the standard <code>java.lang.Object.clone</code> 
+ method to return a copy of this cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getComment()">getComment</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the comment describing the purpose of this cookie, or
+ <code>null</code> if the cookie has no comment.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getDomain()">getDomain</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the domain name set for this cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getMaxAge()">getMaxAge</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum age of the cookie, specified in seconds,
+ By default, <code>-1</code> indicating the cookie will persist
+ until browser shutdown.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getPath()">getPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the path on the server 
+ to which the browser returns this cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getSecure()">getSecure</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the browser is sending cookies
+ only over a secure protocol, or <code>false</code> if the
+ browser can send cookies using any protocol.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#getVersion()">getVersion</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the version of the protocol this cookie complies 
+ with.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setComment(java.lang.String)">setComment</A></B>(java.lang.String&nbsp;purpose)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies a comment that describes a cookie's purpose.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setDomain(java.lang.String)">setDomain</A></B>(java.lang.String&nbsp;pattern)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the domain within which this cookie should be presented.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setMaxAge(int)">setMaxAge</A></B>(int&nbsp;expiry)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the maximum age of the cookie in seconds.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setPath(java.lang.String)">setPath</A></B>(java.lang.String&nbsp;uri)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies a path for the cookie
+ to which the client should return the cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setSecure(boolean)">setSecure</A></B>(boolean&nbsp;flag)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates to the browser whether the cookie should only be sent
+ using a secure protocol, such as HTTPS or SSL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setValue(java.lang.String)">setValue</A></B>(java.lang.String&nbsp;newValue)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assigns a new value to a cookie after the cookie is created.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/Cookie.html#setVersion(int)">setVersion</A></B>(int&nbsp;v)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the version of the cookie protocol this cookie complies
+ with.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="Cookie(java.lang.String, java.lang.String)"><!-- --></A><H3>
+Cookie</H3>
+<PRE>
+public <B>Cookie</B>(java.lang.String&nbsp;name,
+              java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>Constructs a cookie with a specified name and value.
+
+ <p>The name must conform to RFC 2109. That means it can contain 
+ only ASCII alphanumeric characters and cannot contain commas, 
+ semicolons, or white space or begin with a $ character. The cookie's
+ name cannot be changed after creation.
+
+ <p>The value can be anything the server chooses to send. Its
+ value is probably of interest only to the server. The cookie's
+ value can be changed after creation with the
+ <code>setValue</code> method.
+
+ <p>By default, cookies are created according to the Netscape
+ cookie specification. The version can be changed with the 
+ <code>setVersion</code> method.
+<P>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name of the cookie<DD><CODE>value</CODE> - a <code>String</code> specifying the value of the cookie
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the cookie name contains illegal characters
+					(for example, a comma, space, or semicolon)
+					or it is one of the tokens reserved for use
+					by the cookie protocol<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setValue(java.lang.String)"><CODE>setValue(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/Cookie.html#setVersion(int)"><CODE>setVersion(int)</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="setComment(java.lang.String)"><!-- --></A><H3>
+setComment</H3>
+<PRE>
+public void <B>setComment</B>(java.lang.String&nbsp;purpose)</PRE>
+<DL>
+<DD>Specifies a comment that describes a cookie's purpose.
+ The comment is useful if the browser presents the cookie 
+ to the user. Comments
+ are not supported by Netscape Version 0 cookies.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>purpose</CODE> - a <code>String</code> specifying the comment 
+				to display to the user<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getComment()"><CODE>getComment()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getComment()"><!-- --></A><H3>
+getComment</H3>
+<PRE>
+public java.lang.String <B>getComment</B>()</PRE>
+<DL>
+<DD>Returns the comment describing the purpose of this cookie, or
+ <code>null</code> if the cookie has no comment.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the comment,
+				or <code>null</code> if none<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setComment(java.lang.String)"><CODE>setComment(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDomain(java.lang.String)"><!-- --></A><H3>
+setDomain</H3>
+<PRE>
+public void <B>setDomain</B>(java.lang.String&nbsp;pattern)</PRE>
+<DL>
+<DD>Specifies the domain within which this cookie should be presented.
+
+ <p>The form of the domain name is specified by RFC 2109. A domain
+ name begins with a dot (<code>.foo.com</code>) and means that
+ the cookie is visible to servers in a specified Domain Name System
+ (DNS) zone (for example, <code>www.foo.com</code>, but not 
+ <code>a.b.foo.com</code>). By default, cookies are only returned
+ to the server that sent them.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pattern</CODE> - a <code>String</code> containing the domain name
+				within which this cookie is visible;
+				form is according to RFC 2109<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getDomain()"><CODE>getDomain()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDomain()"><!-- --></A><H3>
+getDomain</H3>
+<PRE>
+public java.lang.String <B>getDomain</B>()</PRE>
+<DL>
+<DD>Returns the domain name set for this cookie. The form of 
+ the domain name is set by RFC 2109.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the domain name<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setDomain(java.lang.String)"><CODE>setDomain(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxAge(int)"><!-- --></A><H3>
+setMaxAge</H3>
+<PRE>
+public void <B>setMaxAge</B>(int&nbsp;expiry)</PRE>
+<DL>
+<DD>Sets the maximum age of the cookie in seconds.
+
+ <p>A positive value indicates that the cookie will expire
+ after that many seconds have passed. Note that the value is
+ the <i>maximum</i> age when the cookie will expire, not the cookie's
+ current age.
+
+ <p>A negative value means
+ that the cookie is not stored persistently and will be deleted
+ when the Web browser exits. A zero value causes the cookie
+ to be deleted.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>expiry</CODE> - an integer specifying the maximum age of the
+ 				cookie in seconds; if negative, means
+				the cookie is not stored; if zero, deletes
+				the cookie<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getMaxAge()"><CODE>getMaxAge()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxAge()"><!-- --></A><H3>
+getMaxAge</H3>
+<PRE>
+public int <B>getMaxAge</B>()</PRE>
+<DL>
+<DD>Returns the maximum age of the cookie, specified in seconds,
+ By default, <code>-1</code> indicating the cookie will persist
+ until browser shutdown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the maximum age of the
+				cookie in seconds; if negative, means
+				the cookie persists until browser shutdown<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setMaxAge(int)"><CODE>setMaxAge(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPath(java.lang.String)"><!-- --></A><H3>
+setPath</H3>
+<PRE>
+public void <B>setPath</B>(java.lang.String&nbsp;uri)</PRE>
+<DL>
+<DD>Specifies a path for the cookie
+ to which the client should return the cookie.
+
+ <p>The cookie is visible to all the pages in the directory
+ you specify, and all the pages in that directory's subdirectories. 
+ A cookie's path must include the servlet that set the cookie,
+ for example, <i>/catalog</i>, which makes the cookie
+ visible to all directories on the server under <i>/catalog</i>.
+
+ <p>Consult RFC 2109 (available on the Internet) for more
+ information on setting path names for cookies.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uri</CODE> - a <code>String</code> specifying a path<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getPath()"><CODE>getPath()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPath()"><!-- --></A><H3>
+getPath</H3>
+<PRE>
+public java.lang.String <B>getPath</B>()</PRE>
+<DL>
+<DD>Returns the path on the server 
+ to which the browser returns this cookie. The
+ cookie is visible to all subpaths on the server.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying a path that contains
+			a servlet name, for example, <i>/catalog</i><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setPath(java.lang.String)"><CODE>setPath(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSecure(boolean)"><!-- --></A><H3>
+setSecure</H3>
+<PRE>
+public void <B>setSecure</B>(boolean&nbsp;flag)</PRE>
+<DL>
+<DD>Indicates to the browser whether the cookie should only be sent
+ using a secure protocol, such as HTTPS or SSL.
+
+ <p>The default value is <code>false</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>flag</CODE> - if <code>true</code>, sends the cookie from the browser
+			to the server only when using a secure protocol;
+			if <code>false</code>, sent on any protocol<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getSecure()"><CODE>getSecure()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSecure()"><!-- --></A><H3>
+getSecure</H3>
+<PRE>
+public boolean <B>getSecure</B>()</PRE>
+<DL>
+<DD>Returns <code>true</code> if the browser is sending cookies
+ only over a secure protocol, or <code>false</code> if the
+ browser can send cookies using any protocol.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the browser uses a secure protocol;
+ 			 otherwise, <code>true</code><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setSecure(boolean)"><CODE>setSecure(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>Returns the name of the cookie. The name cannot be changed after
+ creation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the cookie's name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValue(java.lang.String)"><!-- --></A><H3>
+setValue</H3>
+<PRE>
+public void <B>setValue</B>(java.lang.String&nbsp;newValue)</PRE>
+<DL>
+<DD>Assigns a new value to a cookie after the cookie is created.
+ If you use a binary value, you may want to use BASE64 encoding.
+
+ <p>With Version 0 cookies, values should not contain white 
+ space, brackets, parentheses, equals signs, commas,
+ double quotes, slashes, question marks, at signs, colons,
+ and semicolons. Empty values may not behave the same way
+ on all browsers.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>newValue</CODE> - a <code>String</code> specifying the new value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getValue()"><CODE>getValue()</CODE></A>, 
+<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><CODE>Cookie</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.String <B>getValue</B>()</PRE>
+<DL>
+<DD>Returns the value of the cookie.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the cookie's
+				present value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setValue(java.lang.String)"><CODE>setValue(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><CODE>Cookie</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getVersion()"><!-- --></A><H3>
+getVersion</H3>
+<PRE>
+public int <B>getVersion</B>()</PRE>
+<DL>
+<DD>Returns the version of the protocol this cookie complies 
+ with. Version 1 complies with RFC 2109, 
+ and version 0 complies with the original
+ cookie specification drafted by Netscape. Cookies provided
+ by a browser use and identify the browser's cookie version.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>0 if the cookie complies with the
+				original Netscape specification; 1
+				if the cookie complies with RFC 2109<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#setVersion(int)"><CODE>setVersion(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setVersion(int)"><!-- --></A><H3>
+setVersion</H3>
+<PRE>
+public void <B>setVersion</B>(int&nbsp;v)</PRE>
+<DL>
+<DD>Sets the version of the cookie protocol this cookie complies
+ with. Version 0 complies with the original Netscape cookie
+ specification. Version 1 complies with RFC 2109.
+
+ <p>Since RFC 2109 is still somewhat new, consider
+ version 1 as experimental; do not use it yet on production sites.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>v</CODE> - 0 if the cookie should comply with 
+				the original Netscape specification;
+				1 if the cookie should comply with RFC 2109<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/Cookie.html#getVersion()"><CODE>getVersion()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clone()"><!-- --></A><H3>
+clone</H3>
+<PRE>
+public java.lang.Object <B>clone</B>()</PRE>
+<DL>
+<DD>Overrides the standard <code>java.lang.Object.clone</code> 
+ method to return a copy of this cookie.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Cookie.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cookie.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,846 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpServlet (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpServlet class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpServlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpServlet</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">javax.servlet.GenericServlet</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpServlet</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, <A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, <A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public abstract class <B>HttpServlet</B><DT>extends <A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A><DT>implements java.io.Serializable</DL>
+
+<P>
+Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site. A subclass of
+ <code>HttpServlet</code> must override at least 
+ one method, usually one of these:
+
+ <ul>
+ <li> <code>doGet</code>, if the servlet supports HTTP GET requests
+ <li> <code>doPost</code>, for HTTP POST requests
+ <li> <code>doPut</code>, for HTTP PUT requests
+ <li> <code>doDelete</code>, for HTTP DELETE requests
+ <li> <code>init</code> and <code>destroy</code>, 
+ to manage resources that are held for the life of the servlet
+ <li> <code>getServletInfo</code>, which the servlet uses to
+ provide information about itself 
+ </ul>
+
+ <p>There's almost no reason to override the <code>service</code>
+ method. <code>service</code> handles standard HTTP
+ requests by dispatching them to the handler methods
+ for each HTTP request type (the <code>do</code><i>XXX</i>
+ methods listed above).
+
+ <p>Likewise, there's almost no reason to override the 
+ <code>doOptions</code> and <code>doTrace</code> methods.
+ 
+ <p>Servlets typically run on multithreaded servers,
+ so be aware that a servlet must handle concurrent
+ requests and be careful to synchronize access to shared resources.
+ Shared resources include in-memory data such as
+ instance or class variables and external objects
+ such as files, database connections, and network 
+ connections.
+ See the
+ <a href="http://java.sun.com/Series/Tutorial/java/threads/multithreaded.html">
+ Java Tutorial on Multithreaded Programming</a> for more
+ information on handling multiple threads in a Java program.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#javax.servlet.http.HttpServlet">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#HttpServlet()">HttpServlet</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Does nothing, because this is an abstract class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doDelete</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+         <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doHead</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doOptions</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+          <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPut</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doTrace</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)">getLastModified</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time the <code>HttpServletRequest</code>
+ object was last modified,
+ in milliseconds since midnight January 1, 1970 GMT.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+        <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dispatches client requests to the protected
+ <code>service</code> method.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.GenericServlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/GenericServlet.html#destroy()">destroy</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getInitParameter(java.lang.String)">getInitParameter</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getInitParameterNames()">getInitParameterNames</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getServletConfig()">getServletConfig</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getServletContext()">getServletContext</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getServletInfo()">getServletInfo</A>, <A HREF="../../../javax/servlet/GenericServlet.html#getServletName()">getServletName</A>, <A HREF="../../../javax/servlet/GenericServlet.html#init()">init</A>, <A HREF="../../../javax/servlet/GenericServlet.html#init(javax.servlet.ServletConfig)">init</A>, <A HREF="../../../javax/servlet/GenericServlet.html#log(java.lang.String)">log</A>, <A HREF="../../../javax/servlet/GenericServlet.html#log(java.lang.String, java.lang.Throwable)">log</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpServlet()"><!-- --></A><H3>
+HttpServlet</H3>
+<PRE>
+public <B>HttpServlet</B>()</PRE>
+<DL>
+<DD>Does nothing, because this is an abstract class.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doGet</H3>
+<PRE>
+protected void <B>doGet</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                     <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+              throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                     java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request. 
+
+ <p>Overriding this method to support a GET request also
+ automatically supports an HTTP HEAD request. A HEAD
+ request is a GET request that returns no body in the
+ response, only the request header fields.
+
+ <p>When overriding this method, read the request data,
+ write the response headers, get the response's writer or 
+ output stream object, and finally, write the response data.
+ It's best to include content type and encoding. When using
+ a <code>PrintWriter</code> object to return the response,
+ set the content type before accessing the
+ <code>PrintWriter</code> object.
+
+ <p>The servlet container must write the headers before
+ committing the response, because in HTTP the headers must be sent
+ before the response body.
+
+ <p>Where possible, set the Content-Length header (with the
+ <A HREF="../../../javax/servlet/ServletResponse.html#setContentLength(int)"><CODE>ServletResponse.setContentLength(int)</CODE></A> method),
+ to allow the servlet container to use a persistent connection 
+ to return its response to the client, improving performance.
+ The content length is automatically set if the entire response fits
+ inside the response buffer.
+
+ <p>When using HTTP 1.1 chunked encoding (which means that the response
+ has a Transfer-Encoding header), do not set the Content-Length header.
+
+ <p>The GET method should be safe, that is, without
+ any side effects for which users are held responsible.
+ For example, most form queries have no side effects.
+ If a client request is intended to change stored data,
+ the request should use some other HTTP method.
+
+ <p>The GET method should also be idempotent, meaning
+ that it can be safely repeated. Sometimes making a
+ method safe also makes it idempotent. For example, 
+ repeating queries is both safe and idempotent, but
+ buying a product online or modifying data is neither
+ safe nor idempotent. 
+
+ <p>If the request is incorrectly formatted, <code>doGet</code>
+ returns an HTTP "Bad Request" message.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - an <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client has made
+			of the servlet<DD><CODE>resp</CODE> - an <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet sends
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error is 
+				detected when the servlet handles
+				the GET request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the GET
+					could not be handled<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>ServletResponse.setContentType(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastModified(javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
+getLastModified</H3>
+<PRE>
+protected long <B>getLastModified</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</PRE>
+<DL>
+<DD>Returns the time the <code>HttpServletRequest</code>
+ object was last modified,
+ in milliseconds since midnight January 1, 1970 GMT.
+ If the time is unknown, this method returns a negative
+ number (the default).
+
+ <p>Servlets that support HTTP GET requests and can quickly determine
+ their last modification time should override this method.
+ This makes browser and proxy caches work more effectively,
+ reducing the load on server and network resources.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <code>HttpServletRequest</code> 
+			object that is sent to the servlet
+<DT><B>Returns:</B><DD>a <code>long</code> integer specifying
+			the time the <code>HttpServletRequest</code>
+			object was last modified, in milliseconds
+			since midnight, January 1, 1970 GMT, or
+			-1 if the time is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doHead</H3>
+<PRE>
+protected void <B>doHead</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+               throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                      java.io.IOException</PRE>
+<DL>
+<DD><p>Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.
+ The client sends a HEAD request when it wants
+ to see only the headers of a response, such as
+ Content-Type or Content-Length. The HTTP HEAD
+ method counts the output bytes in the response
+ to set the Content-Length header accurately.
+
+ <p>If you override this method, you can avoid computing
+ the response body and just set the response headers
+ directly to improve performance. Make sure that the
+ <code>doHead</code> method you write is both safe
+ and idempotent (that is, protects itself from being
+ called multiple times for one HTTP HEAD request).
+
+ <p>If the HTTP HEAD request is incorrectly formatted,
+ <code>doHead</code> returns an HTTP "Bad Request"
+ message.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the request object that is passed
+			to the servlet<DD><CODE>resp</CODE> - the response object that the servlet
+			uses to return the headers to the clien
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the HEAD
+					could not be handled</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doPost</H3>
+<PRE>
+protected void <B>doPost</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                      <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+               throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                      java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.
+
+ The HTTP POST method allows the client to send
+ data of unlimited length to the Web server a single time
+ and is useful when posting information such as
+ credit card numbers.
+
+ <p>When overriding this method, read the request data,
+ write the response headers, get the response's writer or output
+ stream object, and finally, write the response data. It's best 
+ to include content type and encoding. When using a
+ <code>PrintWriter</code> object to return the response, set the 
+ content type before accessing the <code>PrintWriter</code> object. 
+
+ <p>The servlet container must write the headers before committing the
+ response, because in HTTP the headers must be sent before the 
+ response body.
+
+ <p>Where possible, set the Content-Length header (with the
+ <A HREF="../../../javax/servlet/ServletResponse.html#setContentLength(int)"><CODE>ServletResponse.setContentLength(int)</CODE></A> method),
+ to allow the servlet container to use a persistent connection 
+ to return its response to the client, improving performance.
+ The content length is automatically set if the entire response fits
+ inside the response buffer.  
+
+ <p>When using HTTP 1.1 chunked encoding (which means that the response
+ has a Transfer-Encoding header), do not set the Content-Length header. 
+
+ <p>This method does not need to be either safe or idempotent.
+ Operations requested through POST can have side effects for
+ which the user can be held accountable, for example, 
+ updating stored data or buying items online.
+
+ <p>If the HTTP POST request is incorrectly formatted,
+ <code>doPost</code> returns an HTTP "Bad Request" message.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - an <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client has made
+			of the servlet<DD><CODE>resp</CODE> - an <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet sends
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error is 
+				detected when the servlet handles
+				the request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the POST
+					could not be handled<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><CODE>ServletOutputStream</CODE></A>, 
+<A HREF="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)"><CODE>ServletResponse.setContentType(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doPut</H3>
+<PRE>
+protected void <B>doPut</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                     <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+              throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                     java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.
+
+ The PUT operation allows a client to 
+ place a file on the server and is similar to 
+ sending a file by FTP.
+
+ <p>When overriding this method, leave intact
+ any content headers sent with the request (including
+ Content-Length, Content-Type, Content-Transfer-Encoding,
+ Content-Encoding, Content-Base, Content-Language, Content-Location,
+ Content-MD5, and Content-Range). If your method cannot
+ handle a content header, it must issue an error message
+ (HTTP 501 - Not Implemented) and discard the request.
+ For more information on HTTP 1.1, see RFC 2616
+ <a href="http://www.ietf.org/rfc/rfc2616.txt"></a>.
+
+ <p>This method does not need to be either safe or idempotent.
+ Operations that <code>doPut</code> performs can have side
+ effects for which the user can be held accountable. When using
+ this method, it may be useful to save a copy of the
+ affected URL in temporary storage.
+
+ <p>If the HTTP PUT request is incorrectly formatted,
+ <code>doPut</code> returns an HTTP "Bad Request" message.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>resp</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				PUT request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the PUT
+					cannot be handled</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doDelete</H3>
+<PRE>
+protected void <B>doDelete</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                        <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+                 throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                        java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.
+
+ The DELETE operation allows a client to remove a document
+ or Web page from the server.
+ 
+ <p>This method does not need to be either safe
+ or idempotent. Operations requested through
+ DELETE can have side effects for which users
+ can be held accountable. When using
+ this method, it may be useful to save a copy of the
+ affected URL in temporary storage.
+
+ <p>If the HTTP DELETE request is incorrectly formatted,
+ <code>doDelete</code> returns an HTTP "Bad Request"
+ message.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>resp</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				DELETE request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the
+					DELETE cannot be handled</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doOptions</H3>
+<PRE>
+protected void <B>doOptions</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                         <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+                  throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                         java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.
+
+ The OPTIONS request determines which HTTP methods 
+ the server supports and
+ returns an appropriate header. For example, if a servlet
+ overrides <code>doGet</code>, this method returns the
+ following header:
+
+ <p><code>Allow: GET, HEAD, TRACE, OPTIONS</code>
+
+ <p>There's no need to override this method unless the
+ servlet implements new HTTP methods, beyond those 
+ implemented by HTTP 1.1.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>resp</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				OPTIONS request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the
+					OPTIONS cannot be handled</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+doTrace</H3>
+<PRE>
+protected void <B>doTrace</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+                throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                       java.io.IOException</PRE>
+<DL>
+<DD>Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.
+
+ A TRACE returns the headers sent with the TRACE
+ request to the client, so that they can be used in
+ debugging. There's no need to override this method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>resp</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				TRACE request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the request for the
+					TRACE cannot be handled</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+service</H3>
+<PRE>
+protected void <B>service</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+                       <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)
+                throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                       java.io.IOException</PRE>
+<DL>
+<DD>Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class. This method is an HTTP-specific version of the 
+ <A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</CODE></A> method. There's no
+ need to override this method.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>resp</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				HTTP request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the HTTP request
+					cannot be handled<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><!-- --></A><H3>
+service</H3>
+<PRE>
+public void <B>service</B>(<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>&nbsp;req,
+                    <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>&nbsp;res)
+             throws <A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A>,
+                    java.io.IOException</PRE>
+<DL>
+<DD>Dispatches client requests to the protected
+ <code>service</code> method. There's no need to
+ override this method.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/GenericServlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">service</A></CODE> in class <CODE><A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A> object that
+			contains the request the client made of
+			the servlet<DD><CODE>res</CODE> - the <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A> object that
+			contains the response the servlet returns
+			to the client
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - if an input or output error occurs
+				while the servlet is handling the
+				HTTP request
+<DD><CODE><A HREF="../../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></CODE> - if the HTTP request cannot
+					be handled<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/Servlet.html#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><CODE>Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServlet.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequest.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequest.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequest.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpServletRequest (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpServletRequest interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpServletRequest (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletRequest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpServletRequest</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpServletRequest</B><DT>extends <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></DL>
+
+<P>
+Extends the <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> interface
+ to provide request information for HTTP servlets. 
+
+ <p>The servlet container creates an <code>HttpServletRequest</code> 
+ object and passes it as an argument to the servlet's service
+ methods (<code>doGet</code>, <code>doPost</code>, etc).
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#BASIC_AUTH">BASIC_AUTH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String identifier for Basic authentication.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#CLIENT_CERT_AUTH">CLIENT_CERT_AUTH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String identifier for Client Certificate authentication.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#DIGEST_AUTH">DIGEST_AUTH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String identifier for Digest authentication.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#FORM_AUTH">FORM_AUTH</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String identifier for Form authentication.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getAuthType()">getAuthType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the authentication scheme used to protect
+ the servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getContextPath()">getContextPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the portion of the request URI that indicates the context
+ of the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getCookies()">getCookies</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing all of the <code>Cookie</code>
+ objects the client sent with this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getDateHeader(java.lang.String)">getDateHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the specified request header
+ as a <code>long</code> value that represents a 
+ <code>Date</code> object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeader(java.lang.String)">getHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the specified request header
+ as a <code>String</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeaderNames()">getHeaderNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an enumeration of all the header names
+ this request contains.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeaders(java.lang.String)">getHeaders</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns all the values of the specified request header
+ as an <code>Enumeration</code> of <code>String</code> objects.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getIntHeader(java.lang.String)">getIntHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the specified request header
+ as an <code>int</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getMethod()">getMethod</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name of the HTTP method with which this 
+ request was made, for example, GET, POST, or PUT.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getPathInfo()">getPathInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns any extra path information associated with
+ the URL the client sent when it made this request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getPathTranslated()">getPathTranslated</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns any extra path information after the servlet name
+ but before the query string, and translates it to a real
+ path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getQueryString()">getQueryString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the query string that is contained in the request
+ URL after the path.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRemoteUser()">getRemoteUser</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the login of the user making this request, if the
+ user has been authenticated, or <code>null</code> if the user 
+ has not been authenticated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestedSessionId()">getRequestedSessionId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the session ID specified by the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestURI()">getRequestURI</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the part of this request's URL from the protocol
+ name up to the query string in the first line of the HTTP request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.StringBuffer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestURL()">getRequestURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reconstructs the URL the client used to make the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getServletPath()">getServletPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the part of this request's URL that calls
+ the servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current session associated with this request,
+ or if the request does not have a session, creates one.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)">getSession</A></B>(boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current <code>HttpSession</code>
+ associated with this request or, if there is no
+ current session and <code>create</code> is true, returns 
+ a new session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.security.Principal</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getUserPrincipal()">getUserPrincipal</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a <code>java.security.Principal</code> object containing
+ the name of the current authenticated user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromCookie()">isRequestedSessionIdFromCookie</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the requested session ID came in as a cookie.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl()">isRequestedSessionIdFromUrl</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet
+				API, use <A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()"><CODE>isRequestedSessionIdFromURL()</CODE></A>
+				instead.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()">isRequestedSessionIdFromURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the requested session ID came in as part of the 
+ request URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdValid()">isRequestedSessionIdValid</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Checks whether the requested session ID is still valid.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isUserInRole(java.lang.String)">isUserInRole</A></B>(java.lang.String&nbsp;role)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a boolean indicating whether the authenticated user is included
+ in the specified logical "role".</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletRequest"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletRequest.html#getAttribute(java.lang.String)">getAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getAttributeNames()">getAttributeNames</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getContentLength()">getContentLength</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getInputStream()">getInputStream</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalAddr()">getLocalAddr</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocales()">getLocales</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalName()">getLocalName</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalPort()">getLocalPort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)">getParameter</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterMap()">getParameterMap</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterNames()">getParameterNames</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)">getParameterValues</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getProtocol()">getProtocol</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getReader()">getReader</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRealPath(java.lang.String)">getRealPath</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemoteAddr()">getRemoteAddr</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemoteHost()">getRemoteHost</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemotePort()">getRemotePort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getScheme()">getScheme</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getServerName()">getServerName</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getServerPort()">getServerPort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#isSecure()">isSecure</A>, <A HREF="../../../javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)">removeAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="BASIC_AUTH"><!-- --></A><H3>
+BASIC_AUTH</H3>
+<PRE>
+public static final java.lang.String <B>BASIC_AUTH</B></PRE>
+<DL>
+<DD>String identifier for Basic authentication. Value "BASIC"
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletRequest.BASIC_AUTH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="FORM_AUTH"><!-- --></A><H3>
+FORM_AUTH</H3>
+<PRE>
+public static final java.lang.String <B>FORM_AUTH</B></PRE>
+<DL>
+<DD>String identifier for Form authentication. Value "FORM"
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletRequest.FORM_AUTH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CLIENT_CERT_AUTH"><!-- --></A><H3>
+CLIENT_CERT_AUTH</H3>
+<PRE>
+public static final java.lang.String <B>CLIENT_CERT_AUTH</B></PRE>
+<DL>
+<DD>String identifier for Client Certificate authentication. Value "CLIENT_CERT"
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletRequest.CLIENT_CERT_AUTH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DIGEST_AUTH"><!-- --></A><H3>
+DIGEST_AUTH</H3>
+<PRE>
+public static final java.lang.String <B>DIGEST_AUTH</B></PRE>
+<DL>
+<DD>String identifier for Digest authentication. Value "DIGEST"
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletRequest.DIGEST_AUTH">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getAuthType()"><!-- --></A><H3>
+getAuthType</H3>
+<PRE>
+public java.lang.String <B>getAuthType</B>()</PRE>
+<DL>
+<DD>Returns the name of the authentication scheme used to protect
+ the servlet. All servlet containers support basic, form and client 
+ certificate authentication, and may additionally support digest 
+ authentication.
+ If the servlet is not authenticated <code>null</code> is returned. 
+
+ <p>Same as the value of the CGI variable AUTH_TYPE.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>one of the static members BASIC_AUTH, 
+			FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH
+			(suitable for == comparison) or
+			the container-specific string indicating
+			the authentication scheme, or
+			<code>null</code> if the request was 
+			not authenticated.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCookies()"><!-- --></A><H3>
+getCookies</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[] <B>getCookies</B>()</PRE>
+<DL>
+<DD>Returns an array containing all of the <code>Cookie</code>
+ objects the client sent with this request.
+ This method returns <code>null</code> if no cookies were sent.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of all the <code>Cookies</code>
+			included with this request, or <code>null</code>
+			if the request has no cookies</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDateHeader(java.lang.String)"><!-- --></A><H3>
+getDateHeader</H3>
+<PRE>
+public long <B>getDateHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the value of the specified request header
+ as a <code>long</code> value that represents a 
+ <code>Date</code> object. Use this method with
+ headers that contain dates, such as
+ <code>If-Modified-Since</code>. 
+
+ <p>The date is returned as
+ the number of milliseconds since January 1, 1970 GMT.
+ The header name is case insensitive.
+
+ <p>If the request did not have a header of the
+ specified name, this method returns -1. If the header
+ can't be converted to a date, the method throws
+ an <code>IllegalArgumentException</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				name of the header
+<DT><B>Returns:</B><DD>a <code>long</code> value
+				representing the date specified
+				in the header expressed as
+				the number of milliseconds
+				since January 1, 1970 GMT,
+				or -1 if the named header
+				was not included with the
+				request
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - If the header value
+							can't be converted
+							to a date</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeader(java.lang.String)"><!-- --></A><H3>
+getHeader</H3>
+<PRE>
+public java.lang.String <B>getHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the value of the specified request header
+ as a <code>String</code>. If the request did not include a header
+ of the specified name, this method returns <code>null</code>.
+ If there are multiple headers with the same name, this method
+ returns the first head in the request.
+ The header name is case insensitive. You can use
+ this method with any request header.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				header name
+<DT><B>Returns:</B><DD>a <code>String</code> containing the
+				value of the requested
+				header, or <code>null</code>
+				if the request does not
+				have a header of that name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeaders(java.lang.String)"><!-- --></A><H3>
+getHeaders</H3>
+<PRE>
+public java.util.Enumeration <B>getHeaders</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns all the values of the specified request header
+ as an <code>Enumeration</code> of <code>String</code> objects.
+
+ <p>Some headers, such as <code>Accept-Language</code> can be sent
+ by clients as several headers each with a different value rather than
+ sending the header as a comma separated list.
+
+ <p>If the request did not include any headers
+ of the specified name, this method returns an empty
+ <code>Enumeration</code>.
+ The header name is case insensitive. You can use
+ this method with any request header.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				header name
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> containing
+                  	the values of the requested header. If
+                  	the request does not have any headers of
+                  	that name return an empty
+                  	enumeration. If 
+                  	the container does not allow access to
+                  	header information, return null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeaderNames()"><!-- --></A><H3>
+getHeaderNames</H3>
+<PRE>
+public java.util.Enumeration <B>getHeaderNames</B>()</PRE>
+<DL>
+<DD>Returns an enumeration of all the header names
+ this request contains. If the request has no
+ headers, this method returns an empty enumeration.
+
+ <p>Some servlet containers do not allow
+ servlets to access headers using this method, in
+ which case this method returns <code>null</code>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an enumeration of all the
+				header names sent with this
+				request; if the request has
+				no headers, an empty enumeration;
+				if the servlet container does not
+				allow servlets to use this method,
+				<code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIntHeader(java.lang.String)"><!-- --></A><H3>
+getIntHeader</H3>
+<PRE>
+public int <B>getIntHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the value of the specified request header
+ as an <code>int</code>. If the request does not have a header
+ of the specified name, this method returns -1. If the
+ header cannot be converted to an integer, this method
+ throws a <code>NumberFormatException</code>.
+
+ <p>The header name is case insensitive.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name
+				of a request header
+<DT><B>Returns:</B><DD>an integer expressing the value 
+ 				of the request header or -1
+				if the request doesn't have a
+				header of this name
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.NumberFormatException</CODE> - If the header value
+							can't be converted
+							to an <code>int</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMethod()"><!-- --></A><H3>
+getMethod</H3>
+<PRE>
+public java.lang.String <B>getMethod</B>()</PRE>
+<DL>
+<DD>Returns the name of the HTTP method with which this 
+ request was made, for example, GET, POST, or PUT.
+ Same as the value of the CGI variable REQUEST_METHOD.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> 
+				specifying the name
+				of the method with which
+				this request was made</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPathInfo()"><!-- --></A><H3>
+getPathInfo</H3>
+<PRE>
+public java.lang.String <B>getPathInfo</B>()</PRE>
+<DL>
+<DD>Returns any extra path information associated with
+ the URL the client sent when it made this request.
+ The extra path information follows the servlet path
+ but precedes the query string and will start with
+ a "/" character.
+
+ <p>This method returns <code>null</code> if there
+ was no extra path information.
+
+ <p>Same as the value of the CGI variable PATH_INFO.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code>, decoded by the
+			web container, specifying 
+			extra path information that comes
+			after the servlet path but before
+			the query string in the request URL;
+			or <code>null</code> if the URL does not have
+			any extra path information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPathTranslated()"><!-- --></A><H3>
+getPathTranslated</H3>
+<PRE>
+public java.lang.String <B>getPathTranslated</B>()</PRE>
+<DL>
+<DD>Returns any extra path information after the servlet name
+ but before the query string, and translates it to a real
+ path. Same as the value of the CGI variable PATH_TRANSLATED.
+
+ <p>If the URL does not have any extra path information,
+ this method returns <code>null</code> or the servlet container
+ cannot translate the virtual path to a real path for any reason
+ (such as when the web application is executed from an archive).
+
+ The web container does not decode this string.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			real path, or <code>null</code> if
+			the URL does not have any extra path
+			information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContextPath()"><!-- --></A><H3>
+getContextPath</H3>
+<PRE>
+public java.lang.String <B>getContextPath</B>()</PRE>
+<DL>
+<DD>Returns the portion of the request URI that indicates the context
+ of the request.  The context path always comes first in a request
+ URI.  The path starts with a "/" character but does not end with a "/"
+ character.  For servlets in the default (root) context, this method
+ returns "". The container does not decode this string.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			portion of the request URI that indicates the context
+			of the request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQueryString()"><!-- --></A><H3>
+getQueryString</H3>
+<PRE>
+public java.lang.String <B>getQueryString</B>()</PRE>
+<DL>
+<DD>Returns the query string that is contained in the request
+ URL after the path. This method returns <code>null</code>
+ if the URL does not have a query string. Same as the value
+ of the CGI variable QUERY_STRING.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the query
+			string or <code>null</code> if the URL 
+			contains no query string. The value is not
+			decoded by the container.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteUser()"><!-- --></A><H3>
+getRemoteUser</H3>
+<PRE>
+public java.lang.String <B>getRemoteUser</B>()</PRE>
+<DL>
+<DD>Returns the login of the user making this request, if the
+ user has been authenticated, or <code>null</code> if the user 
+ has not been authenticated.
+ Whether the user name is sent with each subsequent request
+ depends on the browser and type of authentication. Same as the 
+ value of the CGI variable REMOTE_USER.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the login
+			of the user making this request, or <code>null</code>
+			if the user login is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUserInRole(java.lang.String)"><!-- --></A><H3>
+isUserInRole</H3>
+<PRE>
+public boolean <B>isUserInRole</B>(java.lang.String&nbsp;role)</PRE>
+<DL>
+<DD>Returns a boolean indicating whether the authenticated user is included
+ in the specified logical "role".  Roles and role membership can be
+ defined using deployment descriptors.  If the user has not been
+ authenticated, the method returns <code>false</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>role</CODE> - a <code>String</code> specifying the name
+				of the role
+<DT><B>Returns:</B><DD>a <code>boolean</code> indicating whether
+			the user making this request belongs to a given role;
+			<code>false</code> if the user has not been 
+			authenticated</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserPrincipal()"><!-- --></A><H3>
+getUserPrincipal</H3>
+<PRE>
+public java.security.Principal <B>getUserPrincipal</B>()</PRE>
+<DL>
+<DD>Returns a <code>java.security.Principal</code> object containing
+ the name of the current authenticated user. If the user has not been
+ authenticated, the method returns <code>null</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>java.security.Principal</code> containing
+			the name of the user making this request;
+			<code>null</code> if the user has not been 
+			authenticated</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestedSessionId()"><!-- --></A><H3>
+getRequestedSessionId</H3>
+<PRE>
+public java.lang.String <B>getRequestedSessionId</B>()</PRE>
+<DL>
+<DD>Returns the session ID specified by the client. This may
+ not be the same as the ID of the current valid session
+ for this request.
+ If the client did not specify a session ID, this method returns
+ <code>null</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the session
+			ID, or <code>null</code> if the request did
+			not specify a session ID<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdValid()"><CODE>isRequestedSessionIdValid()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURI()"><!-- --></A><H3>
+getRequestURI</H3>
+<PRE>
+public java.lang.String <B>getRequestURI</B>()</PRE>
+<DL>
+<DD>Returns the part of this request's URL from the protocol
+ name up to the query string in the first line of the HTTP request.
+ The web container does not decode this String.
+ For example:
+
+ 
+
+ <table summary="Examples of Returned Values">
+ <tr align=left><th>First line of HTTP request      </th>
+ <th>     Returned Value</th>
+ <tr><td>POST /some/path.html HTTP/1.1<td><td>/some/path.html
+ <tr><td>GET http://foo.bar/a.html HTTP/1.0
+ <td><td>/a.html
+ <tr><td>HEAD /xyz?a=b HTTP/1.1<td><td>/xyz
+ </table>
+
+ <p>To reconstruct an URL with a scheme and host, use
+ <A HREF="../../../javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)"><CODE>HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest)</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing
+			the part of the URL from the 
+			protocol name up to the query string<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)"><CODE>HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURL()"><!-- --></A><H3>
+getRequestURL</H3>
+<PRE>
+public java.lang.StringBuffer <B>getRequestURL</B>()</PRE>
+<DL>
+<DD>Reconstructs the URL the client used to make the request.
+ The returned URL contains a protocol, server name, port
+ number, and server path, but it does not include query
+ string parameters.
+
+ <p>Because this method returns a <code>StringBuffer</code>,
+ not a string, you can modify the URL easily, for example,
+ to append query parameters.
+
+ <p>This method is useful for creating redirect messages
+ and for reporting errors.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>StringBuffer</code> object containing
+			the reconstructed URL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletPath()"><!-- --></A><H3>
+getServletPath</H3>
+<PRE>
+public java.lang.String <B>getServletPath</B>()</PRE>
+<DL>
+<DD>Returns the part of this request's URL that calls
+ the servlet. This path starts with a "/" character
+ and includes either the servlet name or a path to
+ the servlet, but does not include any extra path
+ information or a query string. Same as the value of
+ the CGI variable SCRIPT_NAME.
+
+ <p>This method will return an empty string ("") if the
+ servlet used to process this request was matched using
+ the "/*" pattern.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing
+			the name or path of the servlet being
+			called, as specified in the request URL,
+			decoded, or an empty string if the servlet
+			used to process the request is matched
+			using the "/*" pattern.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession(boolean)"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>(boolean&nbsp;create)</PRE>
+<DL>
+<DD>Returns the current <code>HttpSession</code>
+ associated with this request or, if there is no
+ current session and <code>create</code> is true, returns 
+ a new session.
+
+ <p>If <code>create</code> is <code>false</code>
+ and the request has no valid <code>HttpSession</code>,
+ this method returns <code>null</code>.
+
+ <p>To make sure the session is properly maintained,
+ you must call this method before 
+ the response is committed. If the container is using cookies
+ to maintain session integrity and is asked to create a new session
+ when the response is committed, an IllegalStateException is thrown.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>create</CODE> - <code>true</code> to create
+			a new session for this request if necessary; 
+			<code>false</code> to return <code>null</code>
+			if there's no current session
+<DT><B>Returns:</B><DD>the <code>HttpSession</code> associated 
+			with this request or <code>null</code> if
+ 			<code>create</code> is <code>false</code>
+			and the request has no valid session<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession()"><CODE>getSession()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>()</PRE>
+<DL>
+<DD>Returns the current session associated with this request,
+ or if the request does not have a session, creates one.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>HttpSession</code> associated
+			with this request<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdValid()"><!-- --></A><H3>
+isRequestedSessionIdValid</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdValid</B>()</PRE>
+<DL>
+<DD>Checks whether the requested session ID is still valid.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if this
+				request has an id for a valid session
+				in the current session context;
+				<code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestedSessionId()"><CODE>getRequestedSessionId()</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>getSession(boolean)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><CODE>HttpSessionContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromCookie()"><!-- --></A><H3>
+isRequestedSessionIdFromCookie</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromCookie</B>()</PRE>
+<DL>
+<DD>Checks whether the requested session ID came in as a cookie.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the session ID
+				came in as a
+				cookie; otherwise, <code>false</code><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromURL()"><!-- --></A><H3>
+isRequestedSessionIdFromURL</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromURL</B>()</PRE>
+<DL>
+<DD>Checks whether the requested session ID came in as part of the 
+ request URL.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the session ID
+				came in as part of a URL; otherwise,
+				<code>false</code><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromUrl()"><!-- --></A><H3>
+isRequestedSessionIdFromUrl</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromUrl</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1 of the Java Servlet
+				API, use <A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()"><CODE>isRequestedSessionIdFromURL()</CODE></A>
+				instead.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletRequest.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequestWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequestWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletRequestWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1050 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpServletRequestWrapper (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpServletRequestWrapper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpServletRequestWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletRequestWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpServletRequestWrapper</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">javax.servlet.ServletRequestWrapper</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpServletRequestWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>, <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>HttpServletRequestWrapper</B><DT>extends <A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A><DT>implements <A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></DL>
+
+<P>
+Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.
+ This class implements the Wrapper or Decorator pattern. Methods default to
+ calling through to the wrapped request object.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><CODE>HttpServletRequest</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.http.HttpServletRequest"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#BASIC_AUTH">BASIC_AUTH</A>, <A HREF="../../../javax/servlet/http/HttpServletRequest.html#CLIENT_CERT_AUTH">CLIENT_CERT_AUTH</A>, <A HREF="../../../javax/servlet/http/HttpServletRequest.html#DIGEST_AUTH">DIGEST_AUTH</A>, <A HREF="../../../javax/servlet/http/HttpServletRequest.html#FORM_AUTH">FORM_AUTH</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#HttpServletRequestWrapper(javax.servlet.http.HttpServletRequest)">HttpServletRequestWrapper</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a request object wrapping the given request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getAuthType()">getAuthType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getAuthType()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getContextPath()">getContextPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getContextPath()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getCookies()">getCookies</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getCookies()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getDateHeader(java.lang.String)">getDateHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getDateHeader(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getHeader(java.lang.String)">getHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getHeader(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getHeaderNames()">getHeaderNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getHeaderNames()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getHeaders(java.lang.String)">getHeaders</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getHeaders(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getIntHeader(java.lang.String)">getIntHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getIntHeader(String name)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getMethod()">getMethod</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getMethod()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getPathInfo()">getPathInfo</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getPathInfo()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getPathTranslated()">getPathTranslated</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getPathTranslated()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getQueryString()">getQueryString</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getQueryString()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getRemoteUser()">getRemoteUser</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRemoteUser()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getRequestedSessionId()">getRequestedSessionId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRequestedSessionId()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getRequestURI()">getRequestURI</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRequestURI()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.StringBuffer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getRequestURL()">getRequestURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getRequestURL()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getServletPath()">getServletPath</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getServletPath()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getSession()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getSession(boolean)">getSession</A></B>(boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getSession(boolean create)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.security.Principal</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#getUserPrincipal()">getUserPrincipal</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getUserPrincipal()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromCookie()">isRequestedSessionIdFromCookie</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isRequestedSessionIdFromCookie()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromUrl()">isRequestedSessionIdFromUrl</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isRequestedSessionIdFromUrl()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdFromURL()">isRequestedSessionIdFromURL</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isRequestedSessionIdFromURL()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#isRequestedSessionIdValid()">isRequestedSessionIdValid</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isRequestedSessionIdValid()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html#isUserInRole(java.lang.String)">isUserInRole</A></B>(java.lang.String&nbsp;role)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return isUserInRole(String role)
+ on the wrapped request object.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletRequestWrapper"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletRequestWrapper.html#getAttribute(java.lang.String)">getAttribute</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getAttributeNames()">getAttributeNames</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getContentLength()">getContentLength</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getInputStream()">getInputStream</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getLocalAddr()">getLocalAddr</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getLocales()">getLocales</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getLocalName()">getLocalName</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getLocalPort()">getLocalPort</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getParameter(java.lang.String)">getParameter</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getParameterMap()">getParameterMap</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getParameterNames()">getParameterNames</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getParameterValues(java.lang.String)">getParameterValues</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getProtocol()">getProtocol</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getReader()">getReader</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRealPath(java.lang.String)">getRealPath</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRemoteAddr()">getRemoteAddr</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRemoteHost()">getRemoteHost</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRemotePort()">getRemotePort</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRequest()">getRequest</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getScheme()">getScheme</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getServerName()">getServerName</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#getServerPort()">getServerPort</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#isSecure()">isSecure</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#removeAttribute(java.lang.String)">removeAttribute</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletRequestWrapper.html#setRequest(javax.servlet.ServletRequest)">setRequest</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletRequest"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletRequest.html#getAttribute(java.lang.String)">getAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getAttributeNames()">getAttributeNames</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getContentLength()">getContentLength</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getInputStream()">getInputStream</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalAddr()">getLocalAddr</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocales()">getLocales</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalName()">getLocalName</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getLocalPort()">getLocalPort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameter(java.lang.String)">getParameter</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterMap()">getParameterMap</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterNames()">getParameterNames</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getParameterValues(java.lang.String)">getParameterValues</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getProtocol()">getProtocol</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getReader()">getReader</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRealPath(java.lang.String)">getRealPath</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemoteAddr()">getRemoteAddr</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemoteHost()">getRemoteHost</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRemotePort()">getRemotePort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getRequestDispatcher(java.lang.String)">getRequestDispatcher</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getScheme()">getScheme</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getServerName()">getServerName</A>, <A HREF="../../../javax/servlet/ServletRequest.html#getServerPort()">getServerPort</A>, <A HREF="../../../javax/servlet/ServletRequest.html#isSecure()">isSecure</A>, <A HREF="../../../javax/servlet/ServletRequest.html#removeAttribute(java.lang.String)">removeAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A>, <A HREF="../../../javax/servlet/ServletRequest.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpServletRequestWrapper(javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
+HttpServletRequestWrapper</H3>
+<PRE>
+public <B>HttpServletRequestWrapper</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</PRE>
+<DL>
+<DD>Constructs a request object wrapping the given request.
+<P>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the request is null</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getAuthType()"><!-- --></A><H3>
+getAuthType</H3>
+<PRE>
+public java.lang.String <B>getAuthType</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getAuthType()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getAuthType()">getAuthType</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>one of the static members BASIC_AUTH, 
+			FORM_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH
+			(suitable for == comparison) or
+			the container-specific string indicating
+			the authentication scheme, or
+			<code>null</code> if the request was 
+			not authenticated.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCookies()"><!-- --></A><H3>
+getCookies</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[] <B>getCookies</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getCookies()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getCookies()">getCookies</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of all the <code>Cookies</code>
+			included with this request, or <code>null</code>
+			if the request has no cookies</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDateHeader(java.lang.String)"><!-- --></A><H3>
+getDateHeader</H3>
+<PRE>
+public long <B>getDateHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getDateHeader(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getDateHeader(java.lang.String)">getDateHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				name of the header
+<DT><B>Returns:</B><DD>a <code>long</code> value
+				representing the date specified
+				in the header expressed as
+				the number of milliseconds
+				since January 1, 1970 GMT,
+				or -1 if the named header
+				was not included with the
+				request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeader(java.lang.String)"><!-- --></A><H3>
+getHeader</H3>
+<PRE>
+public java.lang.String <B>getHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getHeader(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeader(java.lang.String)">getHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				header name
+<DT><B>Returns:</B><DD>a <code>String</code> containing the
+				value of the requested
+				header, or <code>null</code>
+				if the request does not
+				have a header of that name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeaders(java.lang.String)"><!-- --></A><H3>
+getHeaders</H3>
+<PRE>
+public java.util.Enumeration <B>getHeaders</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getHeaders(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeaders(java.lang.String)">getHeaders</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the
+				header name
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> containing
+                  	the values of the requested header. If
+                  	the request does not have any headers of
+                  	that name return an empty
+                  	enumeration. If 
+                  	the container does not allow access to
+                  	header information, return null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeaderNames()"><!-- --></A><H3>
+getHeaderNames</H3>
+<PRE>
+public java.util.Enumeration <B>getHeaderNames</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getHeaderNames()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getHeaderNames()">getHeaderNames</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an enumeration of all the
+				header names sent with this
+				request; if the request has
+				no headers, an empty enumeration;
+				if the servlet container does not
+				allow servlets to use this method,
+				<code>null</code></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIntHeader(java.lang.String)"><!-- --></A><H3>
+getIntHeader</H3>
+<PRE>
+public int <B>getIntHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getIntHeader(String name)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getIntHeader(java.lang.String)">getIntHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a <code>String</code> specifying the name
+				of a request header
+<DT><B>Returns:</B><DD>an integer expressing the value 
+ 				of the request header or -1
+				if the request doesn't have a
+				header of this name</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMethod()"><!-- --></A><H3>
+getMethod</H3>
+<PRE>
+public java.lang.String <B>getMethod</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getMethod()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getMethod()">getMethod</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> 
+				specifying the name
+				of the method with which
+				this request was made</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPathInfo()"><!-- --></A><H3>
+getPathInfo</H3>
+<PRE>
+public java.lang.String <B>getPathInfo</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getPathInfo()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getPathInfo()">getPathInfo</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code>, decoded by the
+			web container, specifying 
+			extra path information that comes
+			after the servlet path but before
+			the query string in the request URL;
+			or <code>null</code> if the URL does not have
+			any extra path information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPathTranslated()"><!-- --></A><H3>
+getPathTranslated</H3>
+<PRE>
+public java.lang.String <B>getPathTranslated</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getPathTranslated()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getPathTranslated()">getPathTranslated</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			real path, or <code>null</code> if
+			the URL does not have any extra path
+			information</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getContextPath()"><!-- --></A><H3>
+getContextPath</H3>
+<PRE>
+public java.lang.String <B>getContextPath</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getContextPath()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getContextPath()">getContextPath</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the
+			portion of the request URI that indicates the context
+			of the request</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getQueryString()"><!-- --></A><H3>
+getQueryString</H3>
+<PRE>
+public java.lang.String <B>getQueryString</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getQueryString()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getQueryString()">getQueryString</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing the query
+			string or <code>null</code> if the URL 
+			contains no query string. The value is not
+			decoded by the container.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRemoteUser()"><!-- --></A><H3>
+getRemoteUser</H3>
+<PRE>
+public java.lang.String <B>getRemoteUser</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRemoteUser()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRemoteUser()">getRemoteUser</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the login
+			of the user making this request, or <code>null</code>
+			if the user login is not known</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUserInRole(java.lang.String)"><!-- --></A><H3>
+isUserInRole</H3>
+<PRE>
+public boolean <B>isUserInRole</B>(java.lang.String&nbsp;role)</PRE>
+<DL>
+<DD>The default behavior of this method is to return isUserInRole(String role)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isUserInRole(java.lang.String)">isUserInRole</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>role</CODE> - a <code>String</code> specifying the name
+				of the role
+<DT><B>Returns:</B><DD>a <code>boolean</code> indicating whether
+			the user making this request belongs to a given role;
+			<code>false</code> if the user has not been 
+			authenticated</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUserPrincipal()"><!-- --></A><H3>
+getUserPrincipal</H3>
+<PRE>
+public java.security.Principal <B>getUserPrincipal</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getUserPrincipal()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getUserPrincipal()">getUserPrincipal</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>java.security.Principal</code> containing
+			the name of the user making this request;
+			<code>null</code> if the user has not been 
+			authenticated</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestedSessionId()"><!-- --></A><H3>
+getRequestedSessionId</H3>
+<PRE>
+public java.lang.String <B>getRequestedSessionId</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRequestedSessionId()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestedSessionId()">getRequestedSessionId</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> specifying the session
+			ID, or <code>null</code> if the request did
+			not specify a session ID<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdValid()"><CODE>HttpServletRequest.isRequestedSessionIdValid()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURI()"><!-- --></A><H3>
+getRequestURI</H3>
+<PRE>
+public java.lang.String <B>getRequestURI</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRequestURI()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestURI()">getRequestURI</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing
+			the part of the URL from the 
+			protocol name up to the query string<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)"><CODE>HttpUtils.getRequestURL(javax.servlet.http.HttpServletRequest)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURL()"><!-- --></A><H3>
+getRequestURL</H3>
+<PRE>
+public java.lang.StringBuffer <B>getRequestURL</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getRequestURL()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestURL()">getRequestURL</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>StringBuffer</code> object containing
+			the reconstructed URL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletPath()"><!-- --></A><H3>
+getServletPath</H3>
+<PRE>
+public java.lang.String <B>getServletPath</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getServletPath()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getServletPath()">getServletPath</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>String</code> containing
+			the name or path of the servlet being
+			called, as specified in the request URL,
+			decoded, or an empty string if the servlet
+			used to process the request is matched
+			using the "/*" pattern.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession(boolean)"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>(boolean&nbsp;create)</PRE>
+<DL>
+<DD>The default behavior of this method is to return getSession(boolean create)
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)">getSession</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>create</CODE> - <code>true</code> to create
+			a new session for this request if necessary; 
+			<code>false</code> to return <code>null</code>
+			if there's no current session
+<DT><B>Returns:</B><DD>the <code>HttpSession</code> associated 
+			with this request or <code>null</code> if
+ 			<code>create</code> is <code>false</code>
+			and the request has no valid session<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession()"><CODE>HttpServletRequest.getSession()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return getSession()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession()">getSession</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <code>HttpSession</code> associated
+			with this request<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>HttpServletRequest.getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdValid()"><!-- --></A><H3>
+isRequestedSessionIdValid</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdValid</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isRequestedSessionIdValid()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdValid()">isRequestedSessionIdValid</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if this
+				request has an id for a valid session
+				in the current session context;
+				<code>false</code> otherwise<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getRequestedSessionId()"><CODE>HttpServletRequest.getRequestedSessionId()</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>HttpServletRequest.getSession(boolean)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><CODE>HttpSessionContext</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromCookie()"><!-- --></A><H3>
+isRequestedSessionIdFromCookie</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromCookie</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromCookie()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromCookie()">isRequestedSessionIdFromCookie</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the session ID
+				came in as a
+				cookie; otherwise, <code>false</code><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>HttpServletRequest.getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromURL()"><!-- --></A><H3>
+isRequestedSessionIdFromURL</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromURL</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromURL()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromURL()">isRequestedSessionIdFromURL</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the session ID
+				came in as part of a URL; otherwise,
+				<code>false</code><DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)"><CODE>HttpServletRequest.getSession(boolean)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRequestedSessionIdFromUrl()"><!-- --></A><H3>
+isRequestedSessionIdFromUrl</H3>
+<PRE>
+public boolean <B>isRequestedSessionIdFromUrl</B>()</PRE>
+<DL>
+<DD>The default behavior of this method is to return isRequestedSessionIdFromUrl()
+ on the wrapped request object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html#isRequestedSessionIdFromUrl()">isRequestedSessionIdFromUrl</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletRequestWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponse.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponse.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponse.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1732 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpServletResponse (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpServletResponse interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpServletResponse (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpServletResponse</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpServletResponse</B><DT>extends <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></DL>
+
+<P>
+Extends the <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> interface to provide HTTP-specific
+ functionality in sending a response.  For example, it has methods
+ to access HTTP headers and cookies.
+
+ <p>The servlet container creates an <code>HttpServletResponse</code> object
+ and passes it as an argument to the servlet's service methods
+ (<code>doGet</code>, <code>doPost</code>, etc).
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_ACCEPTED">SC_ACCEPTED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (202) indicating that a request was accepted for
+ processing, but was not completed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_BAD_GATEWAY">SC_BAD_GATEWAY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (502) indicating that the HTTP server received an
+ invalid response from a server it consulted when acting as a
+ proxy or gateway.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_BAD_REQUEST">SC_BAD_REQUEST</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (400) indicating the request sent by the client was
+ syntactically incorrect.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CONFLICT">SC_CONFLICT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (409) indicating that the request could not be
+ completed due to a conflict with the current state of the
+ resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CONTINUE">SC_CONTINUE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (100) indicating the client can continue.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CREATED">SC_CREATED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (201) indicating the request succeeded and created
+ a new resource on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_EXPECTATION_FAILED">SC_EXPECTATION_FAILED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (417) indicating that the server could not meet the
+ expectation given in the Expect request header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_FORBIDDEN">SC_FORBIDDEN</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (403) indicating the server understood the request
+ but refused to fulfill it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_FOUND">SC_FOUND</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (302) indicating that the resource reside
+ temporarily under a different URI.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_GATEWAY_TIMEOUT">SC_GATEWAY_TIMEOUT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (504) indicating that the server did not receive
+ a timely response from the upstream server while acting as
+ a gateway or proxy.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_GONE">SC_GONE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (410) indicating that the resource is no longer
+ available at the server and no forwarding address is known.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_HTTP_VERSION_NOT_SUPPORTED">SC_HTTP_VERSION_NOT_SUPPORTED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (505) indicating that the server does not support
+ or refuses to support the HTTP protocol version that was used
+ in the request message.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_INTERNAL_SERVER_ERROR">SC_INTERNAL_SERVER_ERROR</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (500) indicating an error inside the HTTP server
+ which prevented it from fulfilling the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_LENGTH_REQUIRED">SC_LENGTH_REQUIRED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (411) indicating that the request cannot be handled
+ without a defined <code><em>Content-Length</em></code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_METHOD_NOT_ALLOWED">SC_METHOD_NOT_ALLOWED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (405) indicating that the method specified in the
+ <code><em>Request-Line</em></code> is not allowed for the resource
+ identified by the <code><em>Request-URI</em></code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MOVED_PERMANENTLY">SC_MOVED_PERMANENTLY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (301) indicating that the resource has permanently
+ moved to a new location, and that future references should use a
+ new URI with their requests.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MOVED_TEMPORARILY">SC_MOVED_TEMPORARILY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (302) indicating that the resource has temporarily
+ moved to another location, but that future references should
+ still use the original URI to access the resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MULTIPLE_CHOICES">SC_MULTIPLE_CHOICES</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (300) indicating that the requested resource
+ corresponds to any one of a set of representations, each with
+ its own specific location.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NO_CONTENT">SC_NO_CONTENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (204) indicating that the request succeeded but that
+ there was no new information to return.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NON_AUTHORITATIVE_INFORMATION">SC_NON_AUTHORITATIVE_INFORMATION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (203) indicating that the meta information presented
+ by the client did not originate from the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_ACCEPTABLE">SC_NOT_ACCEPTABLE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (406) indicating that the resource identified by the
+ request is only capable of generating response entities which have
+ content characteristics not acceptable according to the accept
+ headers sent in the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_FOUND">SC_NOT_FOUND</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (404) indicating that the requested resource is not
+ available.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_IMPLEMENTED">SC_NOT_IMPLEMENTED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (501) indicating the HTTP server does not support
+ the functionality needed to fulfill the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_MODIFIED">SC_NOT_MODIFIED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (304) indicating that a conditional GET operation
+ found that the resource was available and not modified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_OK">SC_OK</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (200) indicating the request succeeded normally.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PARTIAL_CONTENT">SC_PARTIAL_CONTENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (206) indicating that the server has fulfilled
+ the partial GET request for the resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PAYMENT_REQUIRED">SC_PAYMENT_REQUIRED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (402) reserved for future use.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PRECONDITION_FAILED">SC_PRECONDITION_FAILED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (412) indicating that the precondition given in one
+ or more of the request-header fields evaluated to false when it
+ was tested on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PROXY_AUTHENTICATION_REQUIRED">SC_PROXY_AUTHENTICATION_REQUIRED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (407) indicating that the client <em>MUST</em> first
+ authenticate itself with the proxy.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_ENTITY_TOO_LARGE">SC_REQUEST_ENTITY_TOO_LARGE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (413) indicating that the server is refusing to process
+ the request because the request entity is larger than the server is
+ willing or able to process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_TIMEOUT">SC_REQUEST_TIMEOUT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (408) indicating that the client did not produce a
+ request within the time that the server was prepared to wait.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_URI_TOO_LONG">SC_REQUEST_URI_TOO_LONG</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (414) indicating that the server is refusing to service
+ the request because the <code><em>Request-URI</em></code> is longer
+ than the server is willing to interpret.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUESTED_RANGE_NOT_SATISFIABLE">SC_REQUESTED_RANGE_NOT_SATISFIABLE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (416) indicating that the server cannot serve the
+ requested byte range.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_RESET_CONTENT">SC_RESET_CONTENT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (205) indicating that the agent <em>SHOULD</em> reset
+ the document view which caused the request to be sent.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SEE_OTHER">SC_SEE_OTHER</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (303) indicating that the response to the request
+ can be found under a different URI.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SERVICE_UNAVAILABLE">SC_SERVICE_UNAVAILABLE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (503) indicating that the HTTP server is
+ temporarily overloaded, and unable to handle the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SWITCHING_PROTOCOLS">SC_SWITCHING_PROTOCOLS</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (101) indicating the server is switching protocols
+ according to Upgrade header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_TEMPORARY_REDIRECT">SC_TEMPORARY_REDIRECT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (307) indicating that the requested resource 
+ resides temporarily under a different URI.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_UNAUTHORIZED">SC_UNAUTHORIZED</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (401) indicating that the request requires HTTP
+ authentication.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_UNSUPPORTED_MEDIA_TYPE">SC_UNSUPPORTED_MEDIA_TYPE</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (415) indicating that the server is refusing to service
+ the request because the entity of the request is in a format not
+ supported by the requested resource for the requested method.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_USE_PROXY">SC_USE_PROXY</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Status code (305) indicating that the requested resource
+ <em>MUST</em> be accessed through the proxy given by the
+ <code><em>Location</em></code> field.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)">addCookie</A></B>(<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified cookie to the response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addDateHeader(java.lang.String, long)">addDateHeader</A></B>(java.lang.String&nbsp;name,
+              long&nbsp;date)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a response header with the given name and
+ date-value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addHeader(java.lang.String, java.lang.String)">addHeader</A></B>(java.lang.String&nbsp;name,
+          java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a response header with the given name and value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addIntHeader(java.lang.String, int)">addIntHeader</A></B>(java.lang.String&nbsp;name,
+             int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a response header with the given name and
+ integer value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)">containsHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a boolean indicating whether the named response header 
+ has already been set.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeRedirectUrl(java.lang.String)">encodeRedirectUrl</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of version 2.1, use 
+			encodeRedirectURL(String url) instead</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeRedirectURL(java.lang.String)">encodeRedirectURL</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encodes the specified URL for use in the
+ <code>sendRedirect</code> method or, if encoding is not needed,
+ returns the URL unchanged.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)">encodeUrl</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of version 2.1, use encodeURL(String url) instead</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)">encodeURL</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Encodes the specified URL by including the session ID in it,
+ or, if encoding is not needed, returns the URL unchanged.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int)">sendError</A></B>(int&nbsp;sc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends an error response to the client using the specified status
+ code and clearing the buffer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int, java.lang.String)">sendError</A></B>(int&nbsp;sc,
+          java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends an error response to the client using the specified
+ status.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)">sendRedirect</A></B>(java.lang.String&nbsp;location)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sends a temporary redirect response to the client using the
+ specified redirect location URL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setDateHeader(java.lang.String, long)">setDateHeader</A></B>(java.lang.String&nbsp;name,
+              long&nbsp;date)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a response header with the given name and
+ date-value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setHeader(java.lang.String, java.lang.String)">setHeader</A></B>(java.lang.String&nbsp;name,
+          java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a response header with the given name and value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setIntHeader(java.lang.String, int)">setIntHeader</A></B>(java.lang.String&nbsp;name,
+             int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets a response header with the given name and
+ integer value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setStatus(int)">setStatus</A></B>(int&nbsp;sc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the status code for this response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setStatus(int, java.lang.String)">setStatus</A></B>(int&nbsp;sc,
+          java.lang.String&nbsp;sm)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of version 2.1, due to ambiguous meaning of the 
+ message parameter. To set a status code 
+ use <code>setStatus(int)</code>, to send an error with a description
+ use <code>sendError(int, String)</code>.
+
+ Sets the status code and message for this response.</I></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletResponse"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletResponse.html#flushBuffer()">flushBuffer</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getOutputStream()">getOutputStream</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getWriter()">getWriter</A>, <A HREF="../../../javax/servlet/ServletResponse.html#isCommitted()">isCommitted</A>, <A HREF="../../../javax/servlet/ServletResponse.html#reset()">reset</A>, <A HREF="../../../javax/servlet/ServletResponse.html#resetBuffer()">resetBuffer</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setContentLength(int)">setContentLength</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)">setContentType</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)">setLocale</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="SC_CONTINUE"><!-- --></A><H3>
+SC_CONTINUE</H3>
+<PRE>
+public static final int <B>SC_CONTINUE</B></PRE>
+<DL>
+<DD>Status code (100) indicating the client can continue.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_CONTINUE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_SWITCHING_PROTOCOLS"><!-- --></A><H3>
+SC_SWITCHING_PROTOCOLS</H3>
+<PRE>
+public static final int <B>SC_SWITCHING_PROTOCOLS</B></PRE>
+<DL>
+<DD>Status code (101) indicating the server is switching protocols
+ according to Upgrade header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_SWITCHING_PROTOCOLS">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_OK"><!-- --></A><H3>
+SC_OK</H3>
+<PRE>
+public static final int <B>SC_OK</B></PRE>
+<DL>
+<DD>Status code (200) indicating the request succeeded normally.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_OK">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_CREATED"><!-- --></A><H3>
+SC_CREATED</H3>
+<PRE>
+public static final int <B>SC_CREATED</B></PRE>
+<DL>
+<DD>Status code (201) indicating the request succeeded and created
+ a new resource on the server.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_CREATED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_ACCEPTED"><!-- --></A><H3>
+SC_ACCEPTED</H3>
+<PRE>
+public static final int <B>SC_ACCEPTED</B></PRE>
+<DL>
+<DD>Status code (202) indicating that a request was accepted for
+ processing, but was not completed.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_ACCEPTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NON_AUTHORITATIVE_INFORMATION"><!-- --></A><H3>
+SC_NON_AUTHORITATIVE_INFORMATION</H3>
+<PRE>
+public static final int <B>SC_NON_AUTHORITATIVE_INFORMATION</B></PRE>
+<DL>
+<DD>Status code (203) indicating that the meta information presented
+ by the client did not originate from the server.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NON_AUTHORITATIVE_INFORMATION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NO_CONTENT"><!-- --></A><H3>
+SC_NO_CONTENT</H3>
+<PRE>
+public static final int <B>SC_NO_CONTENT</B></PRE>
+<DL>
+<DD>Status code (204) indicating that the request succeeded but that
+ there was no new information to return.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NO_CONTENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_RESET_CONTENT"><!-- --></A><H3>
+SC_RESET_CONTENT</H3>
+<PRE>
+public static final int <B>SC_RESET_CONTENT</B></PRE>
+<DL>
+<DD>Status code (205) indicating that the agent <em>SHOULD</em> reset
+ the document view which caused the request to be sent.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_RESET_CONTENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_PARTIAL_CONTENT"><!-- --></A><H3>
+SC_PARTIAL_CONTENT</H3>
+<PRE>
+public static final int <B>SC_PARTIAL_CONTENT</B></PRE>
+<DL>
+<DD>Status code (206) indicating that the server has fulfilled
+ the partial GET request for the resource.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_PARTIAL_CONTENT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_MULTIPLE_CHOICES"><!-- --></A><H3>
+SC_MULTIPLE_CHOICES</H3>
+<PRE>
+public static final int <B>SC_MULTIPLE_CHOICES</B></PRE>
+<DL>
+<DD>Status code (300) indicating that the requested resource
+ corresponds to any one of a set of representations, each with
+ its own specific location.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_MULTIPLE_CHOICES">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_MOVED_PERMANENTLY"><!-- --></A><H3>
+SC_MOVED_PERMANENTLY</H3>
+<PRE>
+public static final int <B>SC_MOVED_PERMANENTLY</B></PRE>
+<DL>
+<DD>Status code (301) indicating that the resource has permanently
+ moved to a new location, and that future references should use a
+ new URI with their requests.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_MOVED_PERMANENTLY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_MOVED_TEMPORARILY"><!-- --></A><H3>
+SC_MOVED_TEMPORARILY</H3>
+<PRE>
+public static final int <B>SC_MOVED_TEMPORARILY</B></PRE>
+<DL>
+<DD>Status code (302) indicating that the resource has temporarily
+ moved to another location, but that future references should
+ still use the original URI to access the resource.
+
+ This definition is being retained for backwards compatibility.
+ SC_FOUND is now the preferred definition.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_MOVED_TEMPORARILY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_FOUND"><!-- --></A><H3>
+SC_FOUND</H3>
+<PRE>
+public static final int <B>SC_FOUND</B></PRE>
+<DL>
+<DD>Status code (302) indicating that the resource reside
+ temporarily under a different URI. Since the redirection might
+ be altered on occasion, the client should continue to use the
+ Request-URI for future requests.(HTTP/1.1) To represent the
+ status code (302), it is recommended to use this variable.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_FOUND">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_SEE_OTHER"><!-- --></A><H3>
+SC_SEE_OTHER</H3>
+<PRE>
+public static final int <B>SC_SEE_OTHER</B></PRE>
+<DL>
+<DD>Status code (303) indicating that the response to the request
+ can be found under a different URI.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_SEE_OTHER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NOT_MODIFIED"><!-- --></A><H3>
+SC_NOT_MODIFIED</H3>
+<PRE>
+public static final int <B>SC_NOT_MODIFIED</B></PRE>
+<DL>
+<DD>Status code (304) indicating that a conditional GET operation
+ found that the resource was available and not modified.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NOT_MODIFIED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_USE_PROXY"><!-- --></A><H3>
+SC_USE_PROXY</H3>
+<PRE>
+public static final int <B>SC_USE_PROXY</B></PRE>
+<DL>
+<DD>Status code (305) indicating that the requested resource
+ <em>MUST</em> be accessed through the proxy given by the
+ <code><em>Location</em></code> field.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_USE_PROXY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_TEMPORARY_REDIRECT"><!-- --></A><H3>
+SC_TEMPORARY_REDIRECT</H3>
+<PRE>
+public static final int <B>SC_TEMPORARY_REDIRECT</B></PRE>
+<DL>
+<DD>Status code (307) indicating that the requested resource 
+ resides temporarily under a different URI. The temporary URI
+ <em>SHOULD</em> be given by the <code><em>Location</em></code> 
+ field in the response.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_TEMPORARY_REDIRECT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_BAD_REQUEST"><!-- --></A><H3>
+SC_BAD_REQUEST</H3>
+<PRE>
+public static final int <B>SC_BAD_REQUEST</B></PRE>
+<DL>
+<DD>Status code (400) indicating the request sent by the client was
+ syntactically incorrect.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_UNAUTHORIZED"><!-- --></A><H3>
+SC_UNAUTHORIZED</H3>
+<PRE>
+public static final int <B>SC_UNAUTHORIZED</B></PRE>
+<DL>
+<DD>Status code (401) indicating that the request requires HTTP
+ authentication.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_PAYMENT_REQUIRED"><!-- --></A><H3>
+SC_PAYMENT_REQUIRED</H3>
+<PRE>
+public static final int <B>SC_PAYMENT_REQUIRED</B></PRE>
+<DL>
+<DD>Status code (402) reserved for future use.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_PAYMENT_REQUIRED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_FORBIDDEN"><!-- --></A><H3>
+SC_FORBIDDEN</H3>
+<PRE>
+public static final int <B>SC_FORBIDDEN</B></PRE>
+<DL>
+<DD>Status code (403) indicating the server understood the request
+ but refused to fulfill it.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_FORBIDDEN">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NOT_FOUND"><!-- --></A><H3>
+SC_NOT_FOUND</H3>
+<PRE>
+public static final int <B>SC_NOT_FOUND</B></PRE>
+<DL>
+<DD>Status code (404) indicating that the requested resource is not
+ available.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NOT_FOUND">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_METHOD_NOT_ALLOWED"><!-- --></A><H3>
+SC_METHOD_NOT_ALLOWED</H3>
+<PRE>
+public static final int <B>SC_METHOD_NOT_ALLOWED</B></PRE>
+<DL>
+<DD>Status code (405) indicating that the method specified in the
+ <code><em>Request-Line</em></code> is not allowed for the resource
+ identified by the <code><em>Request-URI</em></code>.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_METHOD_NOT_ALLOWED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NOT_ACCEPTABLE"><!-- --></A><H3>
+SC_NOT_ACCEPTABLE</H3>
+<PRE>
+public static final int <B>SC_NOT_ACCEPTABLE</B></PRE>
+<DL>
+<DD>Status code (406) indicating that the resource identified by the
+ request is only capable of generating response entities which have
+ content characteristics not acceptable according to the accept
+ headers sent in the request.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NOT_ACCEPTABLE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_PROXY_AUTHENTICATION_REQUIRED"><!-- --></A><H3>
+SC_PROXY_AUTHENTICATION_REQUIRED</H3>
+<PRE>
+public static final int <B>SC_PROXY_AUTHENTICATION_REQUIRED</B></PRE>
+<DL>
+<DD>Status code (407) indicating that the client <em>MUST</em> first
+ authenticate itself with the proxy.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_PROXY_AUTHENTICATION_REQUIRED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_REQUEST_TIMEOUT"><!-- --></A><H3>
+SC_REQUEST_TIMEOUT</H3>
+<PRE>
+public static final int <B>SC_REQUEST_TIMEOUT</B></PRE>
+<DL>
+<DD>Status code (408) indicating that the client did not produce a
+ request within the time that the server was prepared to wait.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_REQUEST_TIMEOUT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_CONFLICT"><!-- --></A><H3>
+SC_CONFLICT</H3>
+<PRE>
+public static final int <B>SC_CONFLICT</B></PRE>
+<DL>
+<DD>Status code (409) indicating that the request could not be
+ completed due to a conflict with the current state of the
+ resource.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_CONFLICT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_GONE"><!-- --></A><H3>
+SC_GONE</H3>
+<PRE>
+public static final int <B>SC_GONE</B></PRE>
+<DL>
+<DD>Status code (410) indicating that the resource is no longer
+ available at the server and no forwarding address is known.
+ This condition <em>SHOULD</em> be considered permanent.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_GONE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_LENGTH_REQUIRED"><!-- --></A><H3>
+SC_LENGTH_REQUIRED</H3>
+<PRE>
+public static final int <B>SC_LENGTH_REQUIRED</B></PRE>
+<DL>
+<DD>Status code (411) indicating that the request cannot be handled
+ without a defined <code><em>Content-Length</em></code>.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_LENGTH_REQUIRED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_PRECONDITION_FAILED"><!-- --></A><H3>
+SC_PRECONDITION_FAILED</H3>
+<PRE>
+public static final int <B>SC_PRECONDITION_FAILED</B></PRE>
+<DL>
+<DD>Status code (412) indicating that the precondition given in one
+ or more of the request-header fields evaluated to false when it
+ was tested on the server.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_PRECONDITION_FAILED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_REQUEST_ENTITY_TOO_LARGE"><!-- --></A><H3>
+SC_REQUEST_ENTITY_TOO_LARGE</H3>
+<PRE>
+public static final int <B>SC_REQUEST_ENTITY_TOO_LARGE</B></PRE>
+<DL>
+<DD>Status code (413) indicating that the server is refusing to process
+ the request because the request entity is larger than the server is
+ willing or able to process.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_REQUEST_URI_TOO_LONG"><!-- --></A><H3>
+SC_REQUEST_URI_TOO_LONG</H3>
+<PRE>
+public static final int <B>SC_REQUEST_URI_TOO_LONG</B></PRE>
+<DL>
+<DD>Status code (414) indicating that the server is refusing to service
+ the request because the <code><em>Request-URI</em></code> is longer
+ than the server is willing to interpret.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_REQUEST_URI_TOO_LONG">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_UNSUPPORTED_MEDIA_TYPE"><!-- --></A><H3>
+SC_UNSUPPORTED_MEDIA_TYPE</H3>
+<PRE>
+public static final int <B>SC_UNSUPPORTED_MEDIA_TYPE</B></PRE>
+<DL>
+<DD>Status code (415) indicating that the server is refusing to service
+ the request because the entity of the request is in a format not
+ supported by the requested resource for the requested method.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_REQUESTED_RANGE_NOT_SATISFIABLE"><!-- --></A><H3>
+SC_REQUESTED_RANGE_NOT_SATISFIABLE</H3>
+<PRE>
+public static final int <B>SC_REQUESTED_RANGE_NOT_SATISFIABLE</B></PRE>
+<DL>
+<DD>Status code (416) indicating that the server cannot serve the
+ requested byte range.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_REQUESTED_RANGE_NOT_SATISFIABLE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_EXPECTATION_FAILED"><!-- --></A><H3>
+SC_EXPECTATION_FAILED</H3>
+<PRE>
+public static final int <B>SC_EXPECTATION_FAILED</B></PRE>
+<DL>
+<DD>Status code (417) indicating that the server could not meet the
+ expectation given in the Expect request header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_EXPECTATION_FAILED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_INTERNAL_SERVER_ERROR"><!-- --></A><H3>
+SC_INTERNAL_SERVER_ERROR</H3>
+<PRE>
+public static final int <B>SC_INTERNAL_SERVER_ERROR</B></PRE>
+<DL>
+<DD>Status code (500) indicating an error inside the HTTP server
+ which prevented it from fulfilling the request.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_NOT_IMPLEMENTED"><!-- --></A><H3>
+SC_NOT_IMPLEMENTED</H3>
+<PRE>
+public static final int <B>SC_NOT_IMPLEMENTED</B></PRE>
+<DL>
+<DD>Status code (501) indicating the HTTP server does not support
+ the functionality needed to fulfill the request.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_NOT_IMPLEMENTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_BAD_GATEWAY"><!-- --></A><H3>
+SC_BAD_GATEWAY</H3>
+<PRE>
+public static final int <B>SC_BAD_GATEWAY</B></PRE>
+<DL>
+<DD>Status code (502) indicating that the HTTP server received an
+ invalid response from a server it consulted when acting as a
+ proxy or gateway.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_BAD_GATEWAY">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_SERVICE_UNAVAILABLE"><!-- --></A><H3>
+SC_SERVICE_UNAVAILABLE</H3>
+<PRE>
+public static final int <B>SC_SERVICE_UNAVAILABLE</B></PRE>
+<DL>
+<DD>Status code (503) indicating that the HTTP server is
+ temporarily overloaded, and unable to handle the request.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_GATEWAY_TIMEOUT"><!-- --></A><H3>
+SC_GATEWAY_TIMEOUT</H3>
+<PRE>
+public static final int <B>SC_GATEWAY_TIMEOUT</B></PRE>
+<DL>
+<DD>Status code (504) indicating that the server did not receive
+ a timely response from the upstream server while acting as
+ a gateway or proxy.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_GATEWAY_TIMEOUT">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="SC_HTTP_VERSION_NOT_SUPPORTED"><!-- --></A><H3>
+SC_HTTP_VERSION_NOT_SUPPORTED</H3>
+<PRE>
+public static final int <B>SC_HTTP_VERSION_NOT_SUPPORTED</B></PRE>
+<DL>
+<DD>Status code (505) indicating that the server does not support
+ or refuses to support the HTTP protocol version that was used
+ in the request message.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#javax.servlet.http.HttpServletResponse.SC_HTTP_VERSION_NOT_SUPPORTED">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="addCookie(javax.servlet.http.Cookie)"><!-- --></A><H3>
+addCookie</H3>
+<PRE>
+public void <B>addCookie</B>(<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</PRE>
+<DL>
+<DD>Adds the specified cookie to the response.  This method can be called
+ multiple times to set more than one cookie.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cookie</CODE> - the Cookie to return to the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsHeader(java.lang.String)"><!-- --></A><H3>
+containsHeader</H3>
+<PRE>
+public boolean <B>containsHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns a boolean indicating whether the named response header 
+ has already been set.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the header name
+<DT><B>Returns:</B><DD><code>true</code> if the named response header 
+			has already been set; 
+ 			<code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeURL(java.lang.String)"><!-- --></A><H3>
+encodeURL</H3>
+<PRE>
+public java.lang.String <B>encodeURL</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>Encodes the specified URL by including the session ID in it,
+ or, if encoding is not needed, returns the URL unchanged.
+ The implementation of this method includes the logic to
+ determine whether the session ID needs to be encoded in the URL.
+ For example, if the browser supports cookies, or session
+ tracking is turned off, URL encoding is unnecessary.
+ 
+ <p>For robust session tracking, all URLs emitted by a servlet 
+ should be run through this
+ method.  Otherwise, URL rewriting cannot be used with browsers
+ which do not support cookies.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed;
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeRedirectURL(java.lang.String)"><!-- --></A><H3>
+encodeRedirectURL</H3>
+<PRE>
+public java.lang.String <B>encodeRedirectURL</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>Encodes the specified URL for use in the
+ <code>sendRedirect</code> method or, if encoding is not needed,
+ returns the URL unchanged.  The implementation of this method
+ includes the logic to determine whether the session ID
+ needs to be encoded in the URL.  Because the rules for making
+ this determination can differ from those used to decide whether to
+ encode a normal link, this method is separated from the
+ <code>encodeURL</code> method.
+ 
+ <p>All URLs sent to the <code>HttpServletResponse.sendRedirect</code>
+ method should be run through this method.  Otherwise, URL
+ rewriting cannot be used with browsers which do not support
+ cookies.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed;
+ 			the unchanged URL otherwise.<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)"><CODE>sendRedirect(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)"><CODE>encodeUrl(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeUrl(java.lang.String)"><!-- --></A><H3>
+encodeUrl</H3>
+<PRE>
+public java.lang.String <B>encodeUrl</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, use encodeURL(String url) instead</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed; 
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeRedirectUrl(java.lang.String)"><!-- --></A><H3>
+encodeRedirectUrl</H3>
+<PRE>
+public java.lang.String <B>encodeRedirectUrl</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, use 
+			encodeRedirectURL(String url) instead</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed; 
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendError(int, java.lang.String)"><!-- --></A><H3>
+sendError</H3>
+<PRE>
+public void <B>sendError</B>(int&nbsp;sc,
+                      java.lang.String&nbsp;msg)
+               throws java.io.IOException</PRE>
+<DL>
+<DD>Sends an error response to the client using the specified
+ status.  The server defaults to creating the
+ response to look like an HTML-formatted server error page
+ containing the specified message, setting the content type
+ to "text/html", leaving cookies and other headers unmodified.
+
+ If an error-page declaration has been made for the web application
+ corresponding to the status code passed in, it will be served back in 
+ preference to the suggested msg parameter. 
+
+ <p>If the response has already been committed, this method throws 
+ an IllegalStateException.
+ After using this method, the response should be considered
+ to be committed and should not be written to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the error status code<DD><CODE>msg</CODE> - the descriptive message
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs
+<DD><CODE>java.lang.IllegalStateException</CODE> - If the response was committed</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendError(int)"><!-- --></A><H3>
+sendError</H3>
+<PRE>
+public void <B>sendError</B>(int&nbsp;sc)
+               throws java.io.IOException</PRE>
+<DL>
+<DD>Sends an error response to the client using the specified status
+ code and clearing the buffer. 
+ <p>If the response has already been committed, this method throws 
+ an IllegalStateException.
+ After using this method, the response should be considered
+ to be committed and should not be written to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the error status code
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs
+<DD><CODE>java.lang.IllegalStateException</CODE> - If the response was committed
+						before this method call</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendRedirect(java.lang.String)"><!-- --></A><H3>
+sendRedirect</H3>
+<PRE>
+public void <B>sendRedirect</B>(java.lang.String&nbsp;location)
+                  throws java.io.IOException</PRE>
+<DL>
+<DD>Sends a temporary redirect response to the client using the
+ specified redirect location URL.  This method can accept relative URLs;
+ the servlet container must convert the relative URL to an absolute URL
+ before sending the response to the client. If the location is relative 
+ without a leading '/' the container interprets it as relative to
+ the current request URI. If the location is relative with a leading
+ '/' the container interprets it as relative to the servlet container root.
+
+ <p>If the response has already been committed, this method throws 
+ an IllegalStateException.
+ After using this method, the response should be considered
+ to be committed and should not be written to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>location</CODE> - the redirect location URL
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs
+<DD><CODE>java.lang.IllegalStateException</CODE> - If the response was committed or
+ if a partial URL is given and cannot be converted into a valid URL</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDateHeader(java.lang.String, long)"><!-- --></A><H3>
+setDateHeader</H3>
+<PRE>
+public void <B>setDateHeader</B>(java.lang.String&nbsp;name,
+                          long&nbsp;date)</PRE>
+<DL>
+<DD>Sets a response header with the given name and
+ date-value.  The date is specified in terms of
+ milliseconds since the epoch.  If the header had already
+ been set, the new value overwrites the previous one.  The
+ <code>containsHeader</code> method can be used to test for the
+ presence of a header before setting its value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header to set<DD><CODE>date</CODE> - the assigned date value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addDateHeader(java.lang.String, long)"><CODE>addDateHeader(java.lang.String, long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDateHeader(java.lang.String, long)"><!-- --></A><H3>
+addDateHeader</H3>
+<PRE>
+public void <B>addDateHeader</B>(java.lang.String&nbsp;name,
+                          long&nbsp;date)</PRE>
+<DL>
+<DD>Adds a response header with the given name and
+ date-value.  The date is specified in terms of
+ milliseconds since the epoch.  This method allows response headers 
+ to have multiple values.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header to set<DD><CODE>date</CODE> - the additional date value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setDateHeader(java.lang.String, long)"><CODE>setDateHeader(java.lang.String, long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setHeader(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setHeader</H3>
+<PRE>
+public void <B>setHeader</B>(java.lang.String&nbsp;name,
+                      java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>Sets a response header with the given name and value.
+ If the header had already been set, the new value overwrites the
+ previous one.  The <code>containsHeader</code> method can be
+ used to test for the presence of a header before setting its
+ value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the header value  If it contains octet string,
+		it should be encoded according to RFC 2047
+		(http://www.ietf.org/rfc/rfc2047.txt)<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addHeader(java.lang.String, java.lang.String)"><CODE>addHeader(java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHeader(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addHeader</H3>
+<PRE>
+public void <B>addHeader</B>(java.lang.String&nbsp;name,
+                      java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>Adds a response header with the given name and value.
+ This method allows response headers to have multiple values.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the additional header value   If it contains
+		octet string, it should be encoded
+		according to RFC 2047
+		(http://www.ietf.org/rfc/rfc2047.txt)<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setHeader(java.lang.String, java.lang.String)"><CODE>setHeader(java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIntHeader(java.lang.String, int)"><!-- --></A><H3>
+setIntHeader</H3>
+<PRE>
+public void <B>setIntHeader</B>(java.lang.String&nbsp;name,
+                         int&nbsp;value)</PRE>
+<DL>
+<DD>Sets a response header with the given name and
+ integer value.  If the header had already been set, the new value
+ overwrites the previous one.  The <code>containsHeader</code>
+ method can be used to test for the presence of a header before
+ setting its value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the assigned integer value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addIntHeader(java.lang.String, int)"><CODE>addIntHeader(java.lang.String, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addIntHeader(java.lang.String, int)"><!-- --></A><H3>
+addIntHeader</H3>
+<PRE>
+public void <B>addIntHeader</B>(java.lang.String&nbsp;name,
+                         int&nbsp;value)</PRE>
+<DL>
+<DD>Adds a response header with the given name and
+ integer value.  This method allows response headers to have multiple
+ values.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the assigned integer value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setIntHeader(java.lang.String, int)"><CODE>setIntHeader(java.lang.String, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int&nbsp;sc)</PRE>
+<DL>
+<DD>Sets the status code for this response.  This method is used to
+ set the return status code when there is no error (for example,
+ for the status codes SC_OK or SC_MOVED_TEMPORARILY).  If there
+ is an error, and the caller wishes to invoke an error-page defined
+ in the web application, the <code>sendError</code> method should be used
+ instead.
+ <p> The container clears the buffer and sets the Location header, preserving
+ cookies and other headers.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the status code<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int, java.lang.String)"><CODE>sendError(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int, java.lang.String)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int&nbsp;sc,
+                      java.lang.String&nbsp;sm)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of version 2.1, due to ambiguous meaning of the 
+ message parameter. To set a status code 
+ use <code>setStatus(int)</code>, to send an error with a description
+ use <code>sendError(int, String)</code>.
+
+ Sets the status code and message for this response.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the status code<DD><CODE>sm</CODE> - the status message</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletResponse.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponseWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponseWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpServletResponseWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,777 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpServletResponseWrapper (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpServletResponseWrapper class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpServletResponseWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletResponseWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpServletResponseWrapper</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">javax.servlet.ServletResponseWrapper</A>
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpServletResponseWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>, <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>HttpServletResponseWrapper</B><DT>extends <A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A><DT>implements <A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></DL>
+
+<P>
+Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.
+ This class implements the Wrapper or Decorator pattern. Methods default to
+ calling through to the wrapped response object.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><CODE>HttpServletResponse</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_javax.servlet.http.HttpServletResponse"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_ACCEPTED">SC_ACCEPTED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_BAD_GATEWAY">SC_BAD_GATEWAY</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_BAD_REQUEST">SC_BAD_REQUEST</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CONFLICT">SC_CONFLICT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CONTINUE">SC_CONTINUE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_CREATED">SC_CREATED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_EXPECTATION_FAILED">SC_EXPECTATION_FAILED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_FORBIDDEN">SC_FORBIDDEN</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_FOUND">SC_FOUND</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_GATEWAY_TIMEOUT">SC_GATEWAY_TIMEOUT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_GONE">SC_GONE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_HTTP_VERSION_NOT_SUPPORTED">SC_HTTP_VERSION_NOT_SUPPORTED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_INTERNAL_SERVER_ERROR">SC_INTERNAL_SERVER_ERROR</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_LENGTH_REQUIRED">SC_LENGTH_REQUIRED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_METHOD_NOT_ALLOWED">SC_METHOD_NOT_ALLOWED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MOVED_PERMANENTLY">SC_MOVED_PERMANENTLY</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MOVED_TEMPORARILY">SC_MOVED_TEMPORARILY</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_MULTIPLE_CHOICES">SC_MULTIPLE_CHOICES</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NO_CONTENT">SC_NO_CONTENT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NON_AUTHORITATIVE_INFORMATION">SC_NON_AUTHORITATIVE_INFORMATION</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_ACCEPTABLE">SC_NOT_ACCEPTABLE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_FOUND">SC_NOT_FOUND</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_IMPLEMENTED">SC_NOT_IMPLEMENTED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_NOT_MODIFIED">SC_NOT_MODIFIED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_OK">SC_OK</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PARTIAL_CONTENT">SC_PARTIAL_CONTENT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PAYMENT_REQUIRED">SC_PAYMENT_REQUIRED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PRECONDITION_FAILED">SC_PRECONDITION_FAILED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_PROXY_AUTHENTICATION_REQUIRED">SC_PROXY_AUTHENTICATION_REQUIRED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_ENTITY_TOO_LARGE">SC_REQUEST_ENTITY_TOO_LARGE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_TIMEOUT">SC_REQUEST_TIMEOUT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUEST_URI_TOO_LONG">SC_REQUEST_URI_TOO_LONG</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_REQUESTED_RANGE_NOT_SATISFIABLE">SC_REQUESTED_RANGE_NOT_SATISFIABLE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_RESET_CONTENT">SC_RESET_CONTENT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SEE_OTHER">SC_SEE_OTHER</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SERVICE_UNAVAILABLE">SC_SERVICE_UNAVAILABLE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_SWITCHING_PROTOCOLS">SC_SWITCHING_PROTOCOLS</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_TEMPORARY_REDIRECT">SC_TEMPORARY_REDIRECT</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_UNAUTHORIZED">SC_UNAUTHORIZED</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_UNSUPPORTED_MEDIA_TYPE">SC_UNSUPPORTED_MEDIA_TYPE</A>, <A HREF="../../../javax/servlet/http/HttpServletResponse.html#SC_USE_PROXY">SC_USE_PROXY</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#HttpServletResponseWrapper(javax.servlet.http.HttpServletResponse)">HttpServletResponseWrapper</A></B>(<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a response adaptor wrapping the given response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#addCookie(javax.servlet.http.Cookie)">addCookie</A></B>(<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call addCookie(Cookie cookie)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#addDateHeader(java.lang.String, long)">addDateHeader</A></B>(java.lang.String&nbsp;name,
+              long&nbsp;date)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call addDateHeader(String name, long date)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#addHeader(java.lang.String, java.lang.String)">addHeader</A></B>(java.lang.String&nbsp;name,
+          java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return addHeader(String name, String value)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#addIntHeader(java.lang.String, int)">addIntHeader</A></B>(java.lang.String&nbsp;name,
+             int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call addIntHeader(String name, int value)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#containsHeader(java.lang.String)">containsHeader</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call containsHeader(String name)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectUrl(java.lang.String)">encodeRedirectUrl</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return encodeRedirectUrl(String url)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#encodeRedirectURL(java.lang.String)">encodeRedirectURL</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return encodeRedirectURL(String url)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#encodeUrl(java.lang.String)">encodeUrl</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call encodeUrl(String url)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#encodeURL(java.lang.String)">encodeURL</A></B>(java.lang.String&nbsp;url)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call encodeURL(String url)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#sendError(int)">sendError</A></B>(int&nbsp;sc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call sendError(int sc)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#sendError(int, java.lang.String)">sendError</A></B>(int&nbsp;sc,
+          java.lang.String&nbsp;msg)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call sendError(int sc, String msg)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#sendRedirect(java.lang.String)">sendRedirect</A></B>(java.lang.String&nbsp;location)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return sendRedirect(String location)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#setDateHeader(java.lang.String, long)">setDateHeader</A></B>(java.lang.String&nbsp;name,
+              long&nbsp;date)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setDateHeader(String name, long date)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#setHeader(java.lang.String, java.lang.String)">setHeader</A></B>(java.lang.String&nbsp;name,
+          java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return setHeader(String name, String value)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#setIntHeader(java.lang.String, int)">setIntHeader</A></B>(java.lang.String&nbsp;name,
+             int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setIntHeader(String name, int value)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#setStatus(int)">setStatus</A></B>(int&nbsp;sc)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setStatus(int sc)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html#setStatus(int, java.lang.String)">setStatus</A></B>(int&nbsp;sc,
+          java.lang.String&nbsp;sm)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call setStatus(int sc, String sm)
+ on the wrapped response object.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletResponseWrapper"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class javax.servlet.<A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletResponseWrapper.html#flushBuffer()">flushBuffer</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getOutputStream()">getOutputStream</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getResponse()">getResponse</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#getWriter()">getWriter</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#isCommitted()">isCommitted</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#reset()">reset</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#resetBuffer()">resetBuffer</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setContentLength(int)">setContentLength</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setContentType(java.lang.String)">setContentType</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setLocale(java.util.Locale)">setLocale</A>, <A HREF="../../../javax/servlet/ServletResponseWrapper.html#setResponse(javax.servlet.ServletResponse)">setResponse</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_javax.servlet.ServletResponse"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from interface javax.servlet.<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../javax/servlet/ServletResponse.html#flushBuffer()">flushBuffer</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getBufferSize()">getBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getCharacterEncoding()">getCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getContentType()">getContentType</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getLocale()">getLocale</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getOutputStream()">getOutputStream</A>, <A HREF="../../../javax/servlet/ServletResponse.html#getWriter()">getWriter</A>, <A HREF="../../../javax/servlet/ServletResponse.html#isCommitted()">isCommitted</A>, <A HREF="../../../javax/servlet/ServletResponse.html#reset()">reset</A>, <A HREF="../../../javax/servlet/ServletResponse.html#resetBuffer()">resetBuffer</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setBufferSize(int)">setBufferSize</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setCharacterEncoding(java.lang.String)">setCharacterEncoding</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setContentLength(int)">setContentLength</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setContentType(java.lang.String)">setContentType</A>, <A HREF="../../../javax/servlet/ServletResponse.html#setLocale(java.util.Locale)">setLocale</A></CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpServletResponseWrapper(javax.servlet.http.HttpServletResponse)"><!-- --></A><H3>
+HttpServletResponseWrapper</H3>
+<PRE>
+public <B>HttpServletResponseWrapper</B>(<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</PRE>
+<DL>
+<DD>Constructs a response adaptor wrapping the given response.
+<P>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the response is null</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="addCookie(javax.servlet.http.Cookie)"><!-- --></A><H3>
+addCookie</H3>
+<PRE>
+public void <B>addCookie</B>(<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</PRE>
+<DL>
+<DD>The default behavior of this method is to call addCookie(Cookie cookie)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)">addCookie</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cookie</CODE> - the Cookie to return to the client</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="containsHeader(java.lang.String)"><!-- --></A><H3>
+containsHeader</H3>
+<PRE>
+public boolean <B>containsHeader</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>The default behavior of this method is to call containsHeader(String name)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)">containsHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the header name
+<DT><B>Returns:</B><DD><code>true</code> if the named response header 
+			has already been set; 
+ 			<code>false</code> otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeURL(java.lang.String)"><!-- --></A><H3>
+encodeURL</H3>
+<PRE>
+public java.lang.String <B>encodeURL</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>The default behavior of this method is to call encodeURL(String url)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeURL(java.lang.String)">encodeURL</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed;
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeRedirectURL(java.lang.String)"><!-- --></A><H3>
+encodeRedirectURL</H3>
+<PRE>
+public java.lang.String <B>encodeRedirectURL</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>The default behavior of this method is to return encodeRedirectURL(String url)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeRedirectURL(java.lang.String)">encodeRedirectURL</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed;
+ 			the unchanged URL otherwise.<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)"><CODE>HttpServletResponse.sendRedirect(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)"><CODE>HttpServletResponse.encodeUrl(java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeUrl(java.lang.String)"><!-- --></A><H3>
+encodeUrl</H3>
+<PRE>
+public java.lang.String <B>encodeUrl</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>The default behavior of this method is to call encodeUrl(String url)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeUrl(java.lang.String)">encodeUrl</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed; 
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="encodeRedirectUrl(java.lang.String)"><!-- --></A><H3>
+encodeRedirectUrl</H3>
+<PRE>
+public java.lang.String <B>encodeRedirectUrl</B>(java.lang.String&nbsp;url)</PRE>
+<DL>
+<DD>The default behavior of this method is to return encodeRedirectUrl(String url)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#encodeRedirectUrl(java.lang.String)">encodeRedirectUrl</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>url</CODE> - the url to be encoded.
+<DT><B>Returns:</B><DD>the encoded URL if encoding is needed; 
+ 			the unchanged URL otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendError(int, java.lang.String)"><!-- --></A><H3>
+sendError</H3>
+<PRE>
+public void <B>sendError</B>(int&nbsp;sc,
+                      java.lang.String&nbsp;msg)
+               throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to call sendError(int sc, String msg)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int, java.lang.String)">sendError</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the error status code<DD><CODE>msg</CODE> - the descriptive message
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendError(int)"><!-- --></A><H3>
+sendError</H3>
+<PRE>
+public void <B>sendError</B>(int&nbsp;sc)
+               throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to call sendError(int sc)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int)">sendError</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the error status code
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sendRedirect(java.lang.String)"><!-- --></A><H3>
+sendRedirect</H3>
+<PRE>
+public void <B>sendRedirect</B>(java.lang.String&nbsp;location)
+                  throws java.io.IOException</PRE>
+<DL>
+<DD>The default behavior of this method is to return sendRedirect(String location)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendRedirect(java.lang.String)">sendRedirect</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>location</CODE> - the redirect location URL
+<DT><B>Throws:</B>
+<DD><CODE>java.io.IOException</CODE> - If an input or output exception occurs</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDateHeader(java.lang.String, long)"><!-- --></A><H3>
+setDateHeader</H3>
+<PRE>
+public void <B>setDateHeader</B>(java.lang.String&nbsp;name,
+                          long&nbsp;date)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setDateHeader(String name, long date)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setDateHeader(java.lang.String, long)">setDateHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header to set<DD><CODE>date</CODE> - the assigned date value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>HttpServletResponse.containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addDateHeader(java.lang.String, long)"><CODE>HttpServletResponse.addDateHeader(java.lang.String, long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addDateHeader(java.lang.String, long)"><!-- --></A><H3>
+addDateHeader</H3>
+<PRE>
+public void <B>addDateHeader</B>(java.lang.String&nbsp;name,
+                          long&nbsp;date)</PRE>
+<DL>
+<DD>The default behavior of this method is to call addDateHeader(String name, long date)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addDateHeader(java.lang.String, long)">addDateHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header to set<DD><CODE>date</CODE> - the additional date value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setDateHeader(java.lang.String, long)"><CODE>HttpServletResponse.setDateHeader(java.lang.String, long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setHeader(java.lang.String, java.lang.String)"><!-- --></A><H3>
+setHeader</H3>
+<PRE>
+public void <B>setHeader</B>(java.lang.String&nbsp;name,
+                      java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>The default behavior of this method is to return setHeader(String name, String value)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setHeader(java.lang.String, java.lang.String)">setHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the header value  If it contains octet string,
+		it should be encoded according to RFC 2047
+		(http://www.ietf.org/rfc/rfc2047.txt)<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>HttpServletResponse.containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addHeader(java.lang.String, java.lang.String)"><CODE>HttpServletResponse.addHeader(java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addHeader(java.lang.String, java.lang.String)"><!-- --></A><H3>
+addHeader</H3>
+<PRE>
+public void <B>addHeader</B>(java.lang.String&nbsp;name,
+                      java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>The default behavior of this method is to return addHeader(String name, String value)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addHeader(java.lang.String, java.lang.String)">addHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the additional header value   If it contains
+		octet string, it should be encoded
+		according to RFC 2047
+		(http://www.ietf.org/rfc/rfc2047.txt)<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setHeader(java.lang.String, java.lang.String)"><CODE>HttpServletResponse.setHeader(java.lang.String, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIntHeader(java.lang.String, int)"><!-- --></A><H3>
+setIntHeader</H3>
+<PRE>
+public void <B>setIntHeader</B>(java.lang.String&nbsp;name,
+                         int&nbsp;value)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setIntHeader(String name, int value)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setIntHeader(java.lang.String, int)">setIntHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the assigned integer value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#containsHeader(java.lang.String)"><CODE>HttpServletResponse.containsHeader(java.lang.String)</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpServletResponse.html#addIntHeader(java.lang.String, int)"><CODE>HttpServletResponse.addIntHeader(java.lang.String, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addIntHeader(java.lang.String, int)"><!-- --></A><H3>
+addIntHeader</H3>
+<PRE>
+public void <B>addIntHeader</B>(java.lang.String&nbsp;name,
+                         int&nbsp;value)</PRE>
+<DL>
+<DD>The default behavior of this method is to call addIntHeader(String name, int value)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#addIntHeader(java.lang.String, int)">addIntHeader</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the header<DD><CODE>value</CODE> - the assigned integer value<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setIntHeader(java.lang.String, int)"><CODE>HttpServletResponse.setIntHeader(java.lang.String, int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int&nbsp;sc)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setStatus(int sc)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setStatus(int)">setStatus</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the status code<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpServletResponse.html#sendError(int, java.lang.String)"><CODE>HttpServletResponse.sendError(int, java.lang.String)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int, java.lang.String)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int&nbsp;sc,
+                      java.lang.String&nbsp;sm)</PRE>
+<DL>
+<DD>The default behavior of this method is to call setStatus(int sc, String sm)
+ on the wrapped response object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html#setStatus(int, java.lang.String)">setStatus</A></CODE> in interface <CODE><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>sc</CODE> - the status code<DD><CODE>sm</CODE> - the status message</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpServletResponseWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSession.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSession.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSession.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,754 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSession (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSession interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSession (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSession</H2>
+<HR>
+<DL>
+<DT>public interface <B>HttpSession</B></DL>
+
+<P>
+Provides a way to identify a user across more than one page
+ request or visit to a Web site and to store information about that user.
+
+ <p>The servlet container uses this interface to create a session
+ between an HTTP client and an HTTP server. The session persists
+ for a specified time period, across more than one connection or
+ page request from the user. A session usually corresponds to one 
+ user, who may visit a site many times. The server can maintain a 
+ session in many ways such as using cookies or rewriting URLs.
+
+ <p>This interface allows servlets to 
+ <ul>
+ <li>View and manipulate information about a session, such as
+     the session identifier, creation time, and last accessed time
+ <li>Bind objects to sessions, allowing user information to persist 
+     across multiple user connections
+ </ul>
+
+ <p>When an application stores an object in or removes an object from a
+ session, the session checks whether the object implements
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A>. If it does, 
+ the servlet notifies the object that it has been bound to or unbound 
+ from the session. Notifications are sent after the binding methods complete. 
+ For session that are invalidated or expire, notifications are sent after
+ the session has been invalidated or expired.
+
+ <p> When container migrates a session between VMs in a distributed container
+ setting, all session attributes implementing the <A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionActivationListener</CODE></A>
+ interface are notified.
+ 
+ <p>A servlet should be able to handle cases in which
+ the client does not choose to join a session, such as when cookies are
+ intentionally turned off. Until the client joins the session,
+ <code>isNew</code> returns <code>true</code>.  If the client chooses 
+ not to join
+ the session, <code>getSession</code> will return a different session
+ on each request, and <code>isNew</code> will always return
+ <code>true</code>.
+
+ <p>Session information is scoped only to the current web application
+ (<code>ServletContext</code>), so information stored in one context
+ will not be directly visible in another.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><CODE>HttpSessionContext</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)">getAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the object bound with the specified name in this session, or
+ <code>null</code> if no object is bound under the name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getAttributeNames()">getAttributeNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an <code>Enumeration</code> of <code>String</code> objects
+ containing the names of all the objects bound to this session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getCreationTime()">getCreationTime</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time when this session was created, measured
+ in milliseconds since midnight January 1, 1970 GMT.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getId()">getId</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a string containing the unique identifier assigned 
+ to this session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getLastAccessedTime()">getLastAccessedTime</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the last time the client sent a request associated with
+ this session, as the number of milliseconds since midnight
+ January 1, 1970 GMT, and marked by the time the container received the request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getMaxInactiveInterval()">getMaxInactiveInterval</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the maximum time interval, in seconds, that 
+ the servlet container will keep this session open between 
+ client accesses.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getServletContext()">getServletContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the ServletContext to which this session belongs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getSessionContext()">getSessionContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.1, this method is
+			deprecated and has no replacement.
+			It will be removed in a future
+			version of the Java Servlet API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getValue(java.lang.String)">getValue</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)"><CODE>getAttribute(java.lang.String)</CODE></A>.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#getValueNames()">getValueNames</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#getAttributeNames()"><CODE>getAttributeNames()</CODE></A></I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#invalidate()">invalidate</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalidates this session then unbinds any objects bound
+ to it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#isNew()">isNew</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the client does not yet know about the
+ session or if the client chooses not to join the session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#putValue(java.lang.String, java.lang.Object)">putValue</A></B>(java.lang.String&nbsp;name,
+         java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>setAttribute(java.lang.String, java.lang.Object)</CODE></A></I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)">removeAttribute</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the object bound with the specified name from
+ this session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#removeValue(java.lang.String)">removeValue</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)"><CODE>removeAttribute(java.lang.String)</CODE></A></I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)">setAttribute</A></B>(java.lang.String&nbsp;name,
+             java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds an object to this session, using the name specified.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)">setMaxInactiveInterval</A></B>(int&nbsp;interval)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Specifies the time, in seconds, between client requests before the 
+ servlet container will invalidate this session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getCreationTime()"><!-- --></A><H3>
+getCreationTime</H3>
+<PRE>
+public long <B>getCreationTime</B>()</PRE>
+<DL>
+<DD>Returns the time when this session was created, measured
+ in milliseconds since midnight January 1, 1970 GMT.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>long</code> specifying
+ 					when this session was created,
+					expressed in 
+					milliseconds since 1/1/1970 GMT
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getId()"><!-- --></A><H3>
+getId</H3>
+<PRE>
+public java.lang.String <B>getId</B>()</PRE>
+<DL>
+<DD>Returns a string containing the unique identifier assigned 
+ to this session. The identifier is assigned 
+ by the servlet container and is implementation dependent.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a string specifying the identifier
+					assigned to this session
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastAccessedTime()"><!-- --></A><H3>
+getLastAccessedTime</H3>
+<PRE>
+public long <B>getLastAccessedTime</B>()</PRE>
+<DL>
+<DD>Returns the last time the client sent a request associated with
+ this session, as the number of milliseconds since midnight
+ January 1, 1970 GMT, and marked by the time the container received the request. 
+
+ <p>Actions that your application takes, such as getting or setting
+ a value associated with the session, do not affect the access
+ time.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <code>long</code>
+					representing the last time 
+					the client sent a request associated
+					with this session, expressed in 
+					milliseconds since 1/1/1970 GMT
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getServletContext()"><!-- --></A><H3>
+getServletContext</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A> <B>getServletContext</B>()</PRE>
+<DL>
+<DD>Returns the ServletContext to which this session belongs.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The ServletContext object for the web application<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxInactiveInterval(int)"><!-- --></A><H3>
+setMaxInactiveInterval</H3>
+<PRE>
+public void <B>setMaxInactiveInterval</B>(int&nbsp;interval)</PRE>
+<DL>
+<DD>Specifies the time, in seconds, between client requests before the 
+ servlet container will invalidate this session.  A negative time
+ indicates the session should never timeout.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>interval</CODE> - An integer specifying the number
+ 				of seconds</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxInactiveInterval()"><!-- --></A><H3>
+getMaxInactiveInterval</H3>
+<PRE>
+public int <B>getMaxInactiveInterval</B>()</PRE>
+<DL>
+<DD>Returns the maximum time interval, in seconds, that 
+ the servlet container will keep this session open between 
+ client accesses. After this interval, the servlet container
+ will invalidate the session.  The maximum time interval can be set
+ with the <code>setMaxInactiveInterval</code> method.
+ A negative time indicates the session should never timeout.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an integer specifying the number of
+			seconds this session remains open
+			between client requests<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSession.html#setMaxInactiveInterval(int)"><CODE>setMaxInactiveInterval(int)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSessionContext()"><!-- --></A><H3>
+getSessionContext</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A> <B>getSessionContext</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.1, this method is
+			deprecated and has no replacement.
+			It will be removed in a future
+			version of the Java Servlet API.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttribute(java.lang.String)"><!-- --></A><H3>
+getAttribute</H3>
+<PRE>
+public java.lang.Object <B>getAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the object bound with the specified name in this session, or
+ <code>null</code> if no object is bound under the name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a string specifying the name of the object
+<DT><B>Returns:</B><DD>the object with the specified name
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue(java.lang.String)"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.Object <B>getValue</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#getAttribute(java.lang.String)"><CODE>getAttribute(java.lang.String)</CODE></A>.</I>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - a string specifying the name of the object
+<DT><B>Returns:</B><DD>the object with the specified name
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAttributeNames()"><!-- --></A><H3>
+getAttributeNames</H3>
+<PRE>
+public java.util.Enumeration <B>getAttributeNames</B>()</PRE>
+<DL>
+<DD>Returns an <code>Enumeration</code> of <code>String</code> objects
+ containing the names of all the objects bound to this session.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an <code>Enumeration</code> of 
+				<code>String</code> objects specifying the
+				names of all the objects bound to
+				this session
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueNames()"><!-- --></A><H3>
+getValueNames</H3>
+<PRE>
+public java.lang.String[] <B>getValueNames</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#getAttributeNames()"><CODE>getAttributeNames()</CODE></A></I>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array of <code>String</code>
+					objects specifying the
+					names of all the objects bound to
+					this session
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAttribute(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setAttribute</H3>
+<PRE>
+public void <B>setAttribute</B>(java.lang.String&nbsp;name,
+                         java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Binds an object to this session, using the name specified.
+ If an object of the same name is already bound to the session,
+ the object is replaced.
+
+ <p>After this method executes, and if the new object
+ implements <code>HttpSessionBindingListener</code>,
+ the container calls 
+ <code>HttpSessionBindingListener.valueBound</code>. The container then   
+ notifies any <code>HttpSessionAttributeListener</code>s in the web 
+ application.
+
+ <p>If an object was already bound to this session of this name
+ that implements <code>HttpSessionBindingListener</code>, its 
+ <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+
+ <p>If the value passed in is null, this has the same effect as calling 
+ <code>removeAttribute()<code>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name to which the object is bound;
+					cannot be null<DD><CODE>value</CODE> - the object to be bound
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putValue(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+putValue</H3>
+<PRE>
+public void <B>putValue</B>(java.lang.String&nbsp;name,
+                     java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#setAttribute(java.lang.String, java.lang.Object)"><CODE>setAttribute(java.lang.String, java.lang.Object)</CODE></A></I>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name to which the object is bound;
+					cannot be null<DD><CODE>value</CODE> - the object to be bound; cannot be null
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeAttribute(java.lang.String)"><!-- --></A><H3>
+removeAttribute</H3>
+<PRE>
+public void <B>removeAttribute</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Removes the object bound with the specified name from
+ this session. If the session does not have an object
+ bound with the specified name, this method does nothing.
+
+ <p>After this method executes, and if the object
+ implements <code>HttpSessionBindingListener</code>,
+ the container calls 
+ <code>HttpSessionBindingListener.valueUnbound</code>. The container
+ then notifies any <code>HttpSessionAttributeListener</code>s in the web 
+ application.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the object to
+						remove from this session
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeValue(java.lang.String)"><!-- --></A><H3>
+removeValue</H3>
+<PRE>
+public void <B>removeValue</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Version 2.2, this method is
+ 			replaced by <A HREF="../../../javax/servlet/http/HttpSession.html#removeAttribute(java.lang.String)"><CODE>removeAttribute(java.lang.String)</CODE></A></I>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the object to
+						remove from this session
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="invalidate()"><!-- --></A><H3>
+invalidate</H3>
+<PRE>
+public void <B>invalidate</B>()</PRE>
+<DL>
+<DD>Invalidates this session then unbinds any objects bound
+ to it.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					already invalidated session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNew()"><!-- --></A><H3>
+isNew</H3>
+<PRE>
+public boolean <B>isNew</B>()</PRE>
+<DL>
+<DD>Returns <code>true</code> if the client does not yet know about the
+ session or if the client chooses not to join the session.  For 
+ example, if the server used only cookie-based sessions, and
+ the client had disabled the use of cookies, then a session would
+ be new on each request.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD><code>true</code> if the 
+					server has created a session, 
+					but the client has not yet joined
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if this method is called on an
+					already invalidated session</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionActivationListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionActivationListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionActivationListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionActivationListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionActivationListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionActivationListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionActivationListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionActivationListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSessionActivationListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpSessionActivationListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+Objects that are bound to a session may listen to container
+ events notifying them that sessions will be passivated and that
+ session will be activated. A container that migrates session between VMs
+ or persists sessions is required to notify all attributes bound to sessions
+ implementing HttpSessionActivationListener.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html#sessionDidActivate(javax.servlet.http.HttpSessionEvent)">sessionDidActivate</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the session has just been activated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html#sessionWillPassivate(javax.servlet.http.HttpSessionEvent)">sessionWillPassivate</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the session is about to be passivated.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="sessionWillPassivate(javax.servlet.http.HttpSessionEvent)"><!-- --></A><H3>
+sessionWillPassivate</H3>
+<PRE>
+public void <B>sessionWillPassivate</B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that the session is about to be passivated.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sessionDidActivate(javax.servlet.http.HttpSessionEvent)"><!-- --></A><H3>
+sessionDidActivate</H3>
+<PRE>
+public void <B>sessionDidActivate</B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that the session has just been activated.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionActivationListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionActivationListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,278 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionAttributeListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionAttributeListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSessionAttributeListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpSessionAttributeListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+This listener interface can be implemented in order to
+ get notifications of changes to the attribute lists of sessions within
+ this web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeAdded(javax.servlet.http.HttpSessionBindingEvent)">attributeAdded</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been added to a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeRemoved(javax.servlet.http.HttpSessionBindingEvent)">attributeRemoved</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been removed from a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeReplaced(javax.servlet.http.HttpSessionBindingEvent)">attributeReplaced</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been replaced in a session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="attributeAdded(javax.servlet.http.HttpSessionBindingEvent)"><!-- --></A><H3>
+attributeAdded</H3>
+<PRE>
+public void <B>attributeAdded</B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that an attribute has been added to a session. Called after the attribute is added.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeRemoved(javax.servlet.http.HttpSessionBindingEvent)"><!-- --></A><H3>
+attributeRemoved</H3>
+<PRE>
+public void <B>attributeRemoved</B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that an attribute has been removed from a session. Called after the attribute is removed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="attributeReplaced(javax.servlet.http.HttpSessionBindingEvent)"><!-- --></A><H3>
+attributeReplaced</H3>
+<PRE>
+public void <B>attributeReplaced</B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that an attribute has been replaced in a session. Called after the attribute is replaced.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionAttributeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,394 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionBindingEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionBindingEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionBindingEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionBindingEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpSessionBindingEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">javax.servlet.http.HttpSessionEvent</A>
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpSessionBindingEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>HttpSessionBindingEvent</B><DT>extends <A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A></DL>
+
+<P>
+Events of this type are either sent to an object that implements
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A> when it is bound or 
+ unbound from a session, or to a <A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A> 
+ that has been configured in the deployment descriptor when any attribute is
+ bound, unbound or replaced in a session.
+
+ <p>The session binds the object by a call to
+ <code>HttpSession.setAttribute</code> and unbinds the object
+ by a call to <code>HttpSession.removeAttribute</code>.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><CODE>HttpSession</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A>, 
+<A HREF="../../../serialized-form.html#javax.servlet.http.HttpSessionBindingEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String)">HttpSessionBindingEvent</A></B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                        java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String, java.lang.Object)">HttpSessionBindingEvent</A></B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                        java.lang.String&nbsp;name,
+                        java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the name with which the attribute is bound to or
+ unbound from the session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the session that changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getValue()">getValue</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the value of the attribute that has been added, removed or replaced.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String)"><!-- --></A><H3>
+HttpSessionBindingEvent</H3>
+<PRE>
+public <B>HttpSessionBindingEvent</B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                               java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Constructs an event that notifies an object that it
+ has been bound to or unbound from a session. 
+ To receive the event, the object must implement
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the session to which the object is bound or unbound<DD><CODE>name</CODE> - the name with which the object is bound or unbound<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getName()"><CODE>getName()</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getSession()"><CODE>getSession()</CODE></A></DL>
+<HR>
+
+<A NAME="HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+HttpSessionBindingEvent</H3>
+<PRE>
+public <B>HttpSessionBindingEvent</B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                               java.lang.String&nbsp;name,
+                               java.lang.Object&nbsp;value)</PRE>
+<DL>
+<DD>Constructs an event that notifies an object that it
+ has been bound to or unbound from a session. 
+ To receive the event, the object must implement
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A>.
+<P>
+<DT><B>Parameters:</B><DD><CODE>session</CODE> - the session to which the object is bound or unbound<DD><CODE>name</CODE> - the name with which the object is bound or unbound<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getName()"><CODE>getName()</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html#getSession()"><CODE>getSession()</CODE></A></DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>()</PRE>
+<DL>
+<DD>Return the session that changed.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../javax/servlet/http/HttpSessionEvent.html#getSession()">getSession</A></CODE> in class <CODE><A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>Returns the name with which the attribute is bound to or
+ unbound from the session.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a string specifying the name with which
+			the object is bound to or unbound from
+			the session</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValue()"><!-- --></A><H3>
+getValue</H3>
+<PRE>
+public java.lang.Object <B>getValue</B>()</PRE>
+<DL>
+<DD>Returns the value of the attribute that has been added, removed or replaced.
+ If the attribute was added (or bound), this is the value of the attribute. If the attribute was
+ removed (or unbound), this is the value of the removed attribute. If the attribute was replaced, this
+ is the old value of the attribute.
+<P>
+<DD><DL>
+<DT><B>Since:</B></DT>
+  <DD>2.3</DD>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionBindingEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionBindingListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,265 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionBindingListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionBindingListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionBindingListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionBindingListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSessionBindingListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpSessionBindingListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+Causes an object to be notified when it is bound to
+ or unbound from a session. The object is notified
+ by an <A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><CODE>HttpSessionBindingEvent</CODE></A> object. This may be as a result
+ of a servlet programmer explicitly unbinding an attribute from a session,
+ due to a session being invalidated, or due to a session timing out.
+<P>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><CODE>HttpSession</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><CODE>HttpSessionBindingEvent</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html#valueBound(javax.servlet.http.HttpSessionBindingEvent)">valueBound</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notifies the object that it is being bound to
+ a session and identifies the session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)">valueUnbound</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notifies the object that it is being unbound
+ from a session and identifies the session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="valueBound(javax.servlet.http.HttpSessionBindingEvent)"><!-- --></A><H3>
+valueBound</H3>
+<PRE>
+public void <B>valueBound</B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</PRE>
+<DL>
+<DD>Notifies the object that it is being bound to
+ a session and identifies the session.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>event</CODE> - the event that identifies the
+				session<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)"><CODE>valueUnbound(javax.servlet.http.HttpSessionBindingEvent)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueUnbound(javax.servlet.http.HttpSessionBindingEvent)"><!-- --></A><H3>
+valueUnbound</H3>
+<PRE>
+public void <B>valueUnbound</B>(<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</PRE>
+<DL>
+<DD>Notifies the object that it is being unbound
+ from a session and identifies the session.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>event</CODE> - the event that identifies
+				the session<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html#valueBound(javax.servlet.http.HttpSessionBindingEvent)"><CODE>valueBound(javax.servlet.http.HttpSessionBindingEvent)</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionBindingListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionContext (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionContext interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionContext (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSessionContext</H2>
+<HR>
+<B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.1
+			for security reasons, with no replacement.
+			This interface will be removed in a future
+			version of this API.</I>
+<P>
+<DL>
+<DT>public interface <B>HttpSessionContext</B></DL>
+
+<P>
+<DL>
+<DT><B>Version:</B></DT>
+  <DD>$Version$</DD>
+<DT><B>Author:</B></DT>
+  <DD>Various</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><CODE>HttpSession</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><CODE>HttpSessionBindingEvent</CODE></A>, 
+<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionContext.html#getIds()">getIds</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must return 
+			an empty <code>Enumeration</code> and will be removed
+			in a future version of this API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionContext.html#getSession(java.lang.String)">getSession</A></B>(java.lang.String&nbsp;sessionId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must 
+			return null and will be removed in
+			a future version of this API.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getSession(java.lang.String)"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>(java.lang.String&nbsp;sessionId)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must 
+			return null and will be removed in
+			a future version of this API.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIds()"><!-- --></A><H3>
+getIds</H3>
+<PRE>
+public java.util.Enumeration <B>getIds</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must return 
+			an empty <code>Enumeration</code> and will be removed
+			in a future version of this API.</I>
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionEvent (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionEvent class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpSessionEvent</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by">java.util.EventObject
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpSessionEvent</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A></DD>
+</DL>
+<HR>
+<DL>
+<DT>public class <B>HttpSessionEvent</B><DT>extends java.util.EventObject</DL>
+
+<P>
+This is the class representing event notifications for
+ changes to sessions within a web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#javax.servlet.http.HttpSessionEvent">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="fields_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Fields inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>source</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionEvent.html#HttpSessionEvent(javax.servlet.http.HttpSession)">HttpSessionEvent</A></B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;source)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a session event from the given source.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionEvent.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the session that changed.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.util.EventObject"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.util.EventObject</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>getSource, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpSessionEvent(javax.servlet.http.HttpSession)"><!-- --></A><H3>
+HttpSessionEvent</H3>
+<PRE>
+public <B>HttpSessionEvent</B>(<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;source)</PRE>
+<DL>
+<DD>Construct a session event from the given source.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public <A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> <B>getSession</B>()</PRE>
+<DL>
+<DD>Return the session that changed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionEvent.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_java.util.EventObject">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpSessionListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpSessionListener (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpSessionListener interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpSessionListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Interface HttpSessionListener</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD>java.util.EventListener</DD>
+</DL>
+<HR>
+<DL>
+<DT>public interface <B>HttpSessionListener</B><DT>extends java.util.EventListener</DL>
+
+<P>
+Implementations of this interface are notified of changes to the 
+ list of active sessions in a web application.
+ To receive notification events, the implementation class
+ must be configured in the deployment descriptor for the web application.
+<P>
+
+<P>
+<DL>
+<DT><B>Since:</B></DT>
+  <DD>v 2.3</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><CODE>HttpSessionEvent</CODE></A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionListener.html#sessionCreated(javax.servlet.http.HttpSessionEvent)">sessionCreated</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a session was created.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpSessionListener.html#sessionDestroyed(javax.servlet.http.HttpSessionEvent)">sessionDestroyed</A></B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a session is about to be invalidated.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="sessionCreated(javax.servlet.http.HttpSessionEvent)"><!-- --></A><H3>
+sessionCreated</H3>
+<PRE>
+public void <B>sessionCreated</B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that a session was created.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>se</CODE> - the notification event</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="sessionDestroyed(javax.servlet.http.HttpSessionEvent)"><!-- --></A><H3>
+sessionDestroyed</H3>
+<PRE>
+public void <B>sessionDestroyed</B>(<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</PRE>
+<DL>
+<DD>Notification that a session is about to be invalidated.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>se</CODE> - the notification event</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpSessionListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpUtils.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpUtils.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/HttpUtils.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+HttpUtils (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http.HttpUtils class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="HttpUtils (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpUtils.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+javax.servlet.http</FONT>
+<BR>
+Class HttpUtils</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by"><B>javax.servlet.http.HttpUtils</B>
+</PRE>
+<HR>
+<B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.3. 
+			These methods were only useful
+			with the default encoding and have been moved
+			to the request interfaces.</I>
+<P>
+<DL>
+<DT>public class <B>HttpUtils</B><DT>extends java.lang.Object</DL>
+
+<P>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpUtils.html#HttpUtils()">HttpUtils</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Constructs an empty <code>HttpUtils</code> object.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.StringBuffer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)">getRequestURL</A></B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Reconstructs the URL the client used to make the request,
+ using information in the <code>HttpServletRequest</code> object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.Hashtable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpUtils.html#parsePostData(int, javax.servlet.ServletInputStream)">parsePostData</A></B>(int&nbsp;len,
+              <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>&nbsp;in)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Parses data from an HTML form that the client sends to 
+ the server using the HTTP POST method and the 
+ <i>application/x-www-form-urlencoded</i> MIME type.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.util.Hashtable</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../javax/servlet/http/HttpUtils.html#parseQueryString(java.lang.String)">parseQueryString</A></B>(java.lang.String&nbsp;s)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Parses a query string passed from the client to the
+ server and builds a <code>HashTable</code> object
+ with key-value pairs.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TD><B>Methods inherited from class java.lang.Object</B></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="HttpUtils()"><!-- --></A><H3>
+HttpUtils</H3>
+<PRE>
+public <B>HttpUtils</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<DD>Constructs an empty <code>HttpUtils</code> object.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TD>
+</TR>
+</TABLE>
+
+<A NAME="parseQueryString(java.lang.String)"><!-- --></A><H3>
+parseQueryString</H3>
+<PRE>
+public static java.util.Hashtable <B>parseQueryString</B>(java.lang.String&nbsp;s)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<DD>Parses a query string passed from the client to the
+ server and builds a <code>HashTable</code> object
+ with key-value pairs. 
+ The query string should be in the form of a string
+ packaged by the GET or POST method, that is, it
+ should have key-value pairs in the form <i>key=value</i>,
+ with each pair separated from the next by a &amp; character.
+
+ <p>A key can appear more than once in the query string
+ with different values. However, the key appears only once in 
+ the hashtable, with its value being
+ an array of strings containing the multiple values sent
+ by the query string.
+ 
+ <p>The keys and values in the hashtable are stored in their
+ decoded form, so
+ any + characters are converted to spaces, and characters
+ sent in hexadecimal notation (like <i>%xx</i>) are
+ converted to ASCII characters.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>s</CODE> - a string containing the query to be parsed
+<DT><B>Returns:</B><DD>a <code>HashTable</code> object built
+ 			from the parsed key-value pairs
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the query string 
+						is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="parsePostData(int, javax.servlet.ServletInputStream)"><!-- --></A><H3>
+parsePostData</H3>
+<PRE>
+public static java.util.Hashtable <B>parsePostData</B>(int&nbsp;len,
+                                                <A HREF="../../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A>&nbsp;in)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<DD>Parses data from an HTML form that the client sends to 
+ the server using the HTTP POST method and the 
+ <i>application/x-www-form-urlencoded</i> MIME type.
+
+ <p>The data sent by the POST method contains key-value
+ pairs. A key can appear more than once in the POST data
+ with different values. However, the key appears only once in 
+ the hashtable, with its value being
+ an array of strings containing the multiple values sent
+ by the POST method.
+
+ <p>The keys and values in the hashtable are stored in their
+ decoded form, so
+ any + characters are converted to spaces, and characters
+ sent in hexadecimal notation (like <i>%xx</i>) are
+ converted to ASCII characters.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>len</CODE> - an integer specifying the length,
+			in characters, of the 
+			<code>ServletInputStream</code>
+			object that is also passed to this
+			method<DD><CODE>in</CODE> - the <code>ServletInputStream</code>
+			object that contains the data sent
+			from the client
+<DT><B>Returns:</B><DD>a <code>HashTable</code> object built
+			from the parsed key-value pairs
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the data
+			sent by the POST method is invalid</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRequestURL(javax.servlet.http.HttpServletRequest)"><!-- --></A><H3>
+getRequestURL</H3>
+<PRE>
+public static java.lang.StringBuffer <B>getRequestURL</B>(<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</PRE>
+<DL>
+<DD><B>Deprecated.</B>&nbsp;<DD>Reconstructs the URL the client used to make the request,
+ using information in the <code>HttpServletRequest</code> object.
+ The returned URL contains a protocol, server name, port
+ number, and server path, but it does not include query
+ string parameters.
+ 
+ <p>Because this method returns a <code>StringBuffer</code>,
+ not a string, you can modify the URL easily, for example,
+ to append query parameters.
+
+ <p>This method is useful for creating redirect messages
+ and for reporting errors.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>req</CODE> - a <code>HttpServletRequest</code> object
+			containing the client's request
+<DT><B>Returns:</B><DD>a <code>StringBuffer</code> object containing
+			the reconstructed URL</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/HttpUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpUtils.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/Cookie.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/Cookie.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/Cookie.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.Cookie (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.Cookie (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cookie.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.Cookie</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that return <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[]</CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequestWrapper.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html#getCookies()">getCookies</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getCookies()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>[]</CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequest.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequest.html#getCookies()">getCookies</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing all of the <code>Cookie</code>
+ objects the client sent with this request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServletResponseWrapper.</B><B><A HREF="../../../../javax/servlet/http/HttpServletResponseWrapper.html#addCookie(javax.servlet.http.Cookie)">addCookie</A></B>(<A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to call addCookie(Cookie cookie)
+ on the wrapped response object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServletResponse.</B><B><A HREF="../../../../javax/servlet/http/HttpServletResponse.html#addCookie(javax.servlet.http.Cookie)">addCookie</A></B>(<A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A>&nbsp;cookie)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds the specified cookie to the response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Cookie.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServlet.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServlet.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServlet.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpServlet (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpServlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpServlet</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpServlet
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServlet.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequest.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequest.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequest.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,300 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpServletRequest (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpServletRequest (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpServletRequest</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.StringBuffer</CODE></FONT></TD>
+<TD><CODE><B>HttpUtils.</B><B><A HREF="../../../../javax/servlet/http/HttpUtils.html#getRequestURL(javax.servlet.http.HttpServletRequest)">getRequestURL</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Reconstructs the URL the client used to make the request,
+ using information in the <code>HttpServletRequest</code> object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;long</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#getLastModified(javax.servlet.http.HttpServletRequest)">getLastModified</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time the <code>HttpServletRequest</code>
+ object was last modified,
+ in milliseconds since midnight January 1, 1970 GMT.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doHead</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPut</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doDelete</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+         <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doOptions</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+          <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doTrace</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">service</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html#HttpServletRequestWrapper(javax.servlet.http.HttpServletRequest)">HttpServletRequestWrapper</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;request)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a request object wrapping the given request.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequest.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequestWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequestWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletRequestWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpServletRequestWrapper (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpServletRequestWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpServletRequestWrapper</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpServletRequestWrapper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletRequestWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponse.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponse.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponse.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpServletResponse (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpServletResponse (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpServletResponse</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Classes in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that implement <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doGet</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method) to
+ allow a servlet to handle a GET request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doHead(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doHead</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives an HTTP HEAD request from the protected
+ <code>service</code> method and handles the
+ request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPost</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+       <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a POST request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doPut(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doPut</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+      <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a PUT request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doDelete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doDelete</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+         <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a DELETE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doOptions(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doOptions</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+          <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a OPTIONS request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#doTrace(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">doTrace</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Called by the server (via the <code>service</code> method)
+ to allow a servlet to handle a TRACE request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected &nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpServlet.</B><B><A HREF="../../../../javax/servlet/http/HttpServlet.html#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)">service</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>&nbsp;req,
+        <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;resp)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Receives standard HTTP requests from the public
+ <code>service</code> method and dispatches
+ them to the <code>do</code><i>XXX</i> methods defined in 
+ this class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpServletResponseWrapper.html#HttpServletResponseWrapper(javax.servlet.http.HttpServletResponse)">HttpServletResponseWrapper</A></B>(<A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>&nbsp;response)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a response adaptor wrapping the given response.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponse.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponseWrapper.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponseWrapper.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpServletResponseWrapper.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpServletResponseWrapper (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpServletResponseWrapper (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpServletResponseWrapper</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpServletResponseWrapper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpServletResponseWrapper.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSession.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSession.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSession.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSession (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSession (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSession</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that return <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpSessionEvent.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionEvent.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the session that changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpSessionContext.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionContext.html#getSession(java.lang.String)">getSession</A></B>(java.lang.String&nbsp;sessionId)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.1 with
+			no replacement. This method must 
+			return null and will be removed in
+			a future version of this API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpSessionBindingEvent.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the session that changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequestWrapper.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html#getSession(boolean)">getSession</A></B>(boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getSession(boolean create)
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequestWrapper.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequestWrapper.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The default behavior of this method is to return getSession()
+ on the wrapped request object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequest.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequest.html#getSession(boolean)">getSession</A></B>(boolean&nbsp;create)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current <code>HttpSession</code>
+ associated with this request or, if there is no
+ current session and <code>create</code> is true, returns 
+ a new session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></CODE></FONT></TD>
+<TD><CODE><B>HttpServletRequest.</B><B><A HREF="../../../../javax/servlet/http/HttpServletRequest.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the current session associated with this request,
+ or if the request does not have a session, creates one.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Constructors in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpSessionEvent.html#HttpSessionEvent(javax.servlet.http.HttpSession)">HttpSessionEvent</A></B>(<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;source)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a session event from the given source.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String)">HttpSessionBindingEvent</A></B>(<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                        java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html#HttpSessionBindingEvent(javax.servlet.http.HttpSession, java.lang.String, java.lang.Object)">HttpSessionBindingEvent</A></B>(<A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A>&nbsp;session,
+                        java.lang.String&nbsp;name,
+                        java.lang.Object&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an event that notifies an object that it
+ has been bound to or unbound from a session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSession.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionActivationListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionActivationListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionActivationListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSessionActivationListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSessionActivationListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionActivationListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSessionActivationListener</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpSessionActivationListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionActivationListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionAttributeListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionAttributeListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionAttributeListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSessionAttributeListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSessionAttributeListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSessionAttributeListener</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpSessionAttributeListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionAttributeListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpSessionBindingEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpSessionBindingEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpSessionBindingEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionBindingListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingListener.html#valueBound(javax.servlet.http.HttpSessionBindingEvent)">valueBound</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notifies the object that it is being bound to
+ a session and identifies the session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionBindingListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingListener.html#valueUnbound(javax.servlet.http.HttpSessionBindingEvent)">valueUnbound</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;event)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notifies the object that it is being unbound
+ from a session and identifies the session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionAttributeListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeAdded(javax.servlet.http.HttpSessionBindingEvent)">attributeAdded</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been added to a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionAttributeListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeRemoved(javax.servlet.http.HttpSessionBindingEvent)">attributeRemoved</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been removed from a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionAttributeListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html#attributeReplaced(javax.servlet.http.HttpSessionBindingEvent)">attributeReplaced</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that an attribute has been replaced in a session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionBindingListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSessionBindingListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSessionBindingListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSessionBindingListener</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpSessionBindingListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionBindingListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionContext.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionContext.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionContext.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSessionContext (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSessionContext (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSessionContext</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> that return <A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A></CODE></FONT></TD>
+<TD><CODE><B>HttpSession.</B><B><A HREF="../../../../javax/servlet/http/HttpSession.html#getSessionContext()">getSessionContext</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Version 2.1, this method is
+			deprecated and has no replacement.
+			It will be removed in a future
+			version of the Java Servlet API.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionContext.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionEvent.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionEvent.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionEvent.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpSessionEvent (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpSessionEvent (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpSessionEvent</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Uses of <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Subclasses of <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A> in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Events of this type are either sent to an object that implements
+ <A HREF="../../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A> when it is bound or 
+ unbound from a session, or to a <A HREF="../../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A> 
+ that has been configured in the deployment descriptor when any attribute is
+ bound, unbound or replaced in a session.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2>Methods in <A HREF="../../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> with parameters of type <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionListener.html#sessionCreated(javax.servlet.http.HttpSessionEvent)">sessionCreated</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a session was created.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionListener.html#sessionDestroyed(javax.servlet.http.HttpSessionEvent)">sessionDestroyed</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that a session is about to be invalidated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionActivationListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionActivationListener.html#sessionWillPassivate(javax.servlet.http.HttpSessionEvent)">sessionWillPassivate</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the session is about to be passivated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B>HttpSessionActivationListener.</B><B><A HREF="../../../../javax/servlet/http/HttpSessionActivationListener.html#sessionDidActivate(javax.servlet.http.HttpSessionEvent)">sessionDidActivate</A></B>(<A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A>&nbsp;se)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Notification that the session has just been activated.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionEvent.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionListener.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionListener.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpSessionListener.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Interface javax.servlet.http.HttpSessionListener (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Interface javax.servlet.http.HttpSessionListener (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>javax.servlet.http.HttpSessionListener</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpSessionListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpSessionListener.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpUtils.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpUtils.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/class-use/HttpUtils.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Class javax.servlet.http.HttpUtils (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Class javax.servlet.http.HttpUtils (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpUtils.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>javax.servlet.http.HttpUtils</B></H2>
+</CENTER>
+No usage of javax.servlet.http.HttpUtils
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="HttpUtils.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet.http (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../javax/servlet/http/package-summary.html" target="classFrame">javax.servlet.http</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="HttpServletRequest.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpServletRequest</I></A>
+<BR>
+<A HREF="HttpServletResponse.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpServletResponse</I></A>
+<BR>
+<A HREF="HttpSession.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSession</I></A>
+<BR>
+<A HREF="HttpSessionActivationListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionActivationListener</I></A>
+<BR>
+<A HREF="HttpSessionAttributeListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionAttributeListener</I></A>
+<BR>
+<A HREF="HttpSessionBindingListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionBindingListener</I></A>
+<BR>
+<A HREF="HttpSessionContext.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionContext</I></A>
+<BR>
+<A HREF="HttpSessionListener.html" title="interface in javax.servlet.http" target="classFrame"><I>HttpSessionListener</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Cookie.html" title="class in javax.servlet.http" target="classFrame">Cookie</A>
+<BR>
+<A HREF="HttpServlet.html" title="class in javax.servlet.http" target="classFrame">HttpServlet</A>
+<BR>
+<A HREF="HttpServletRequestWrapper.html" title="class in javax.servlet.http" target="classFrame">HttpServletRequestWrapper</A>
+<BR>
+<A HREF="HttpServletResponseWrapper.html" title="class in javax.servlet.http" target="classFrame">HttpServletResponseWrapper</A>
+<BR>
+<A HREF="HttpSessionBindingEvent.html" title="class in javax.servlet.http" target="classFrame">HttpSessionBindingEvent</A>
+<BR>
+<A HREF="HttpSessionEvent.html" title="class in javax.servlet.http" target="classFrame">HttpSessionEvent</A>
+<BR>
+<A HREF="HttpUtils.html" title="class in javax.servlet.http" target="classFrame">HttpUtils</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,254 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet.http (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet.http package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.http (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package javax.servlet.http
+</H2>
+The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A></B></TD>
+<TD>Extends the <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> interface
+ to provide request information for HTTP servlets.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A></B></TD>
+<TD>Extends the <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> interface to provide HTTP-specific
+ functionality in sending a response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http">HttpSession</A></B></TD>
+<TD>Provides a way to identify a user across more than one page
+ request or visit to a Web site and to store information about that user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http">HttpSessionActivationListener</A></B></TD>
+<TD>Objects that are bound to a session may listen to container
+ events notifying them that sessions will be passivated and that
+ session will be activated.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http">HttpSessionAttributeListener</A></B></TD>
+<TD>This listener interface can be implemented in order to
+ get notifications of changes to the attribute lists of sessions within
+ this web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http">HttpSessionBindingListener</A></B></TD>
+<TD>Causes an object to be notified when it is bound to
+ or unbound from a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http">HttpSessionContext</A></B></TD>
+<TD><B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.1
+			for security reasons, with no replacement.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http">HttpSessionListener</A></B></TD>
+<TD>Implementations of this interface are notified of changes to the 
+ list of active sessions in a web application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http">Cookie</A></B></TD>
+<TD>Creates a cookie, a small amount of information sent by a servlet to 
+ a Web browser, saved by the browser, and later sent back to the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">HttpServlet</A></B></TD>
+<TD>Provides an abstract class to be subclassed to create
+ an HTTP servlet suitable for a Web site.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http">HttpServletRequestWrapper</A></B></TD>
+<TD>Provides a convenient implementation of the HttpServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http">HttpServletResponseWrapper</A></B></TD>
+<TD>Provides a convenient implementation of the HttpServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">HttpSessionBindingEvent</A></B></TD>
+<TD>Events of this type are either sent to an object that implements
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A> when it is bound or 
+ unbound from a session, or to a <A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A> 
+ that has been configured in the deployment descriptor when any attribute is
+ bound, unbound or replaced in a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A></B></TD>
+<TD>This is the class representing event notifications for
+ changes to sessions within a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http">HttpUtils</A></B></TD>
+<TD><B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.3.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package javax.servlet.http Description
+</H2>
+
+<P>
+The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/package-summary.html"><B>PREV PACKAGE</B></A>&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,174 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet.http Class Hierarchy (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet.http Class Hierarchy (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package javax.servlet.http
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><B>Cookie</B></A> (implements java.lang.Cloneable)
+<LI TYPE="circle">class java.util.EventObject (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>HttpSessionEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>HttpSessionBindingEvent</B></A></UL>
+</UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>GenericServlet</B></A> (implements java.io.Serializable, javax.servlet.<A HREF="../../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, javax.servlet.<A HREF="../../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>HttpServlet</B></A> (implements java.io.Serializable)
+</UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><B>HttpUtils</B></A><LI TYPE="circle">class javax.servlet.<A HREF="../../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>ServletRequestWrapper</B></A> (implements javax.servlet.<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>HttpServletRequestWrapper</B></A> (implements javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>)
+</UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>ServletResponseWrapper</B></A> (implements javax.servlet.<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>HttpServletResponseWrapper</B></A> (implements javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>)
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface java.util.EventListener<UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>HttpSessionActivationListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>HttpSessionAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>HttpSessionBindingListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><B>HttpSessionListener</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>HttpSession</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>HttpSessionContext</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>ServletRequest</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><B>HttpServletRequest</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>ServletResponse</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="../../../javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>HttpServletResponse</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../javax/servlet/package-tree.html"><B>PREV</B></A>&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-use.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-use.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/http/package-use.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Package javax.servlet.http (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package javax.servlet.http (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>javax.servlet.http</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A> used by <A HREF="../../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/Cookie.html#javax.servlet.http"><B>Cookie</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a cookie, a small amount of information sent by a servlet to 
+ a Web browser, saved by the browser, and later sent back to the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpServletRequest.html#javax.servlet.http"><B>HttpServletRequest</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extends the <A HREF="../../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><CODE>ServletRequest</CODE></A> interface
+ to provide request information for HTTP servlets.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpServletResponse.html#javax.servlet.http"><B>HttpServletResponse</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Extends the <A HREF="../../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><CODE>ServletResponse</CODE></A> interface to provide HTTP-specific
+ functionality in sending a response.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpSession.html#javax.servlet.http"><B>HttpSession</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a way to identify a user across more than one page
+ request or visit to a Web site and to store information about that user.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpSessionBindingEvent.html#javax.servlet.http"><B>HttpSessionBindingEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Events of this type are either sent to an object that implements
+ <A HREF="../../../javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionBindingListener</CODE></A> when it is bound or 
+ unbound from a session, or to a <A HREF="../../../javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><CODE>HttpSessionAttributeListener</CODE></A> 
+ that has been configured in the deployment descriptor when any attribute is
+ bound, unbound or replaced in a session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpSessionContext.html#javax.servlet.http"><B>HttpSessionContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;<I>As of Java(tm) Servlet API 2.1
+			for security reasons, with no replacement.
+			This interface will be removed in a future
+			version of this API.</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../javax/servlet/http/class-use/HttpSessionEvent.html#javax.servlet.http"><B>HttpSessionEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the class representing event notifications for
+ changes to sessions within a web application.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../javax/servlet/package-summary.html" target="classFrame">javax.servlet</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Filter.html" title="interface in javax.servlet" target="classFrame"><I>Filter</I></A>
+<BR>
+<A HREF="FilterChain.html" title="interface in javax.servlet" target="classFrame"><I>FilterChain</I></A>
+<BR>
+<A HREF="FilterConfig.html" title="interface in javax.servlet" target="classFrame"><I>FilterConfig</I></A>
+<BR>
+<A HREF="RequestDispatcher.html" title="interface in javax.servlet" target="classFrame"><I>RequestDispatcher</I></A>
+<BR>
+<A HREF="Servlet.html" title="interface in javax.servlet" target="classFrame"><I>Servlet</I></A>
+<BR>
+<A HREF="ServletConfig.html" title="interface in javax.servlet" target="classFrame"><I>ServletConfig</I></A>
+<BR>
+<A HREF="ServletContext.html" title="interface in javax.servlet" target="classFrame"><I>ServletContext</I></A>
+<BR>
+<A HREF="ServletContextAttributeListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletContextAttributeListener</I></A>
+<BR>
+<A HREF="ServletContextListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletContextListener</I></A>
+<BR>
+<A HREF="ServletRequest.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequest</I></A>
+<BR>
+<A HREF="ServletRequestAttributeListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequestAttributeListener</I></A>
+<BR>
+<A HREF="ServletRequestListener.html" title="interface in javax.servlet" target="classFrame"><I>ServletRequestListener</I></A>
+<BR>
+<A HREF="ServletResponse.html" title="interface in javax.servlet" target="classFrame"><I>ServletResponse</I></A>
+<BR>
+<A HREF="SingleThreadModel.html" title="interface in javax.servlet" target="classFrame"><I>SingleThreadModel</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="GenericServlet.html" title="class in javax.servlet" target="classFrame">GenericServlet</A>
+<BR>
+<A HREF="ServletContextAttributeEvent.html" title="class in javax.servlet" target="classFrame">ServletContextAttributeEvent</A>
+<BR>
+<A HREF="ServletContextEvent.html" title="class in javax.servlet" target="classFrame">ServletContextEvent</A>
+<BR>
+<A HREF="ServletInputStream.html" title="class in javax.servlet" target="classFrame">ServletInputStream</A>
+<BR>
+<A HREF="ServletOutputStream.html" title="class in javax.servlet" target="classFrame">ServletOutputStream</A>
+<BR>
+<A HREF="ServletRequestAttributeEvent.html" title="class in javax.servlet" target="classFrame">ServletRequestAttributeEvent</A>
+<BR>
+<A HREF="ServletRequestEvent.html" title="class in javax.servlet" target="classFrame">ServletRequestEvent</A>
+<BR>
+<A HREF="ServletRequestWrapper.html" title="class in javax.servlet" target="classFrame">ServletRequestWrapper</A>
+<BR>
+<A HREF="ServletResponseWrapper.html" title="class in javax.servlet" target="classFrame">ServletResponseWrapper</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ServletException.html" title="class in javax.servlet" target="classFrame">ServletException</A>
+<BR>
+<A HREF="UnavailableException.html" title="class in javax.servlet" target="classFrame">UnavailableException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,312 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="javax.servlet package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../javax/servlet/http/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package javax.servlet
+</H2>
+The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet">Filter</A></B></TD>
+<TD>A filter is an object that performs filtering tasks on either the request to a resource (a servlet or static content), or on the response from a resource, or both.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet">FilterChain</A></B></TD>
+<TD>A FilterChain is an object provided by the servlet container to the developer
+ giving a view into the invocation chain of a filtered request for a resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet">FilterConfig</A></B></TD>
+<TD>A filter configuration object used by a servlet container
+ to pass information to a filter during initialization.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet">RequestDispatcher</A></B></TD>
+<TD>Defines an object that receives requests from the client
+ and sends them to any resource (such as a servlet, 
+ HTML file, or JSP file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A></B></TD>
+<TD>Defines methods that all servlets must implement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A></B></TD>
+<TD>A servlet configuration object used by a servlet container
+ to pass information to a servlet during initialization.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet">ServletContext</A></B></TD>
+<TD>Defines a set of methods that a servlet uses to communicate with its
+ servlet container, for example, to get the MIME type of a file, dispatch
+ requests, or write to a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet">ServletContextAttributeListener</A></B></TD>
+<TD>Implementations of this interface receive notifications of
+ changes to the attribute list on the servlet context of a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet">ServletContextListener</A></B></TD>
+<TD>Implementations of this interface receive notifications about
+ changes to the servlet context of the web application they are
+ part of.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A></B></TD>
+<TD>Defines an object to provide client request information to a servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet">ServletRequestAttributeListener</A></B></TD>
+<TD>A ServletRequestAttributeListener can be implemented by the
+ developer interested in being notified of request attribute
+ changes.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet">ServletRequestListener</A></B></TD>
+<TD>A ServletRequestListener can be implemented by the developer
+ interested in being notified of requests coming in and out of
+ scope in a web component.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A></B></TD>
+<TD>Defines an object to assist a servlet in sending a response to the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet">SingleThreadModel</A></B></TD>
+<TD><B>Deprecated.</B>&nbsp;<I>As of Java Servlet API 2.4, with no direct
+	replacement.</I></TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A></B></TD>
+<TD>Defines a generic, protocol-independent
+ servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">ServletContextAttributeEvent</A></B></TD>
+<TD>This is the event class for notifications about changes to the attributes of the
+  servlet context of a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A></B></TD>
+<TD>This is the event class for notifications about changes to
+ the servlet context of a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet">ServletInputStream</A></B></TD>
+<TD>Provides an input stream for reading binary data from a client
+ request, including an efficient <code>readLine</code> method
+ for reading data one line at a time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet">ServletOutputStream</A></B></TD>
+<TD>Provides an output stream for sending binary data to the
+ client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">ServletRequestAttributeEvent</A></B></TD>
+<TD>This is the event class for notifications of changes to the 
+ attributes of the servlet request in an application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A></B></TD>
+<TD>Events of this kind indicate lifecycle
+ events for a ServletRequest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet">ServletRequestWrapper</A></B></TD>
+<TD>Provides a convenient implementation of the ServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet">ServletResponseWrapper</A></B></TD>
+<TD>Provides a convenient implementation of the ServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A></B></TD>
+<TD>Defines a general exception a servlet can throw when it
+ encounters difficulty.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet">UnavailableException</A></B></TD>
+<TD>Defines an exception that a servlet or filter throws to indicate
+ that it is permanently or temporarily unavailable.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package javax.servlet Description
+</H2>
+
+<P>
+The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;<A HREF="../../javax/servlet/http/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+javax.servlet Class Hierarchy (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="javax.servlet Class Hierarchy (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../javax/servlet/http/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package javax.servlet
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class java.util.EventObject (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>ServletContextEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>ServletContextAttributeEvent</B></A></UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>ServletRequestEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>ServletRequestAttributeEvent</B></A></UL>
+</UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>GenericServlet</B></A> (implements java.io.Serializable, javax.servlet.<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, javax.servlet.<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>)
+<LI TYPE="circle">class java.io.InputStream<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>ServletInputStream</B></A></UL>
+<LI TYPE="circle">class java.io.OutputStream<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>ServletOutputStream</B></A></UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>ServletRequestWrapper</B></A> (implements javax.servlet.<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>)
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>ServletResponseWrapper</B></A> (implements javax.servlet.<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>)
+<LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class java.lang.Exception<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/ServletException.html" title="class in javax.servlet"><B>ServletException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="../../javax/servlet/UnavailableException.html" title="class in javax.servlet"><B>UnavailableException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface java.util.EventListener<UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>ServletContextAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>ServletContextListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>ServletRequestAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>ServletRequestListener</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/Filter.html" title="interface in javax.servlet"><B>Filter</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>FilterChain</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>FilterConfig</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>RequestDispatcher</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/Servlet.html" title="interface in javax.servlet"><B>Servlet</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>ServletConfig</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>ServletContext</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>ServletRequest</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>ServletResponse</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="../../javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><B>SingleThreadModel</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;<A HREF="../../javax/servlet/http/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-use.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-use.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/javax/servlet/package-use.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,349 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Uses of Package javax.servlet (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Uses of Package javax.servlet (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>javax.servlet</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Packages that use <A HREF="../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet"><B>javax.servlet</B></A></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#javax.servlet.http"><B>javax.servlet.http</B></A></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../javax/servlet/package-summary.html">javax.servlet</A> used by <A HREF="../../javax/servlet/package-summary.html">javax.servlet</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/FilterChain.html#javax.servlet"><B>FilterChain</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A FilterChain is an object provided by the servlet container to the developer
+ giving a view into the invocation chain of a filtered request for a resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/FilterConfig.html#javax.servlet"><B>FilterConfig</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A filter configuration object used by a servlet container
+ to pass information to a filter during initialization.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/RequestDispatcher.html#javax.servlet"><B>RequestDispatcher</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an object that receives requests from the client
+ and sends them to any resource (such as a servlet, 
+ HTML file, or JSP file) on the server.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/Servlet.html#javax.servlet"><B>Servlet</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines methods that all servlets must implement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletConfig.html#javax.servlet"><B>ServletConfig</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A servlet configuration object used by a servlet container
+ to pass information to a servlet during initialization.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletContext.html#javax.servlet"><B>ServletContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a set of methods that a servlet uses to communicate with its
+ servlet container, for example, to get the MIME type of a file, dispatch
+ requests, or write to a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletContextAttributeEvent.html#javax.servlet"><B>ServletContextAttributeEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the event class for notifications about changes to the attributes of the
+  servlet context of a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletContextEvent.html#javax.servlet"><B>ServletContextEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the event class for notifications about changes to
+ the servlet context of a web application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletException.html#javax.servlet"><B>ServletException</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a general exception a servlet can throw when it
+ encounters difficulty.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletInputStream.html#javax.servlet"><B>ServletInputStream</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an input stream for reading binary data from a client
+ request, including an efficient <code>readLine</code> method
+ for reading data one line at a time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletOutputStream.html#javax.servlet"><B>ServletOutputStream</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an output stream for sending binary data to the
+ client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletRequest.html#javax.servlet"><B>ServletRequest</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an object to provide client request information to a servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletRequestAttributeEvent.html#javax.servlet"><B>ServletRequestAttributeEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This is the event class for notifications of changes to the 
+ attributes of the servlet request in an application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletRequestEvent.html#javax.servlet"><B>ServletRequestEvent</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Events of this kind indicate lifecycle
+ events for a ServletRequest.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletResponse.html#javax.servlet"><B>ServletResponse</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an object to assist a servlet in sending a response to the client.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="javax.servlet.http"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+Classes in <A HREF="../../javax/servlet/package-summary.html">javax.servlet</A> used by <A HREF="../../javax/servlet/http/package-summary.html">javax.servlet.http</A></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/GenericServlet.html#javax.servlet.http"><B>GenericServlet</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a generic, protocol-independent
+ servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/Servlet.html#javax.servlet.http"><B>Servlet</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines methods that all servlets must implement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletConfig.html#javax.servlet.http"><B>ServletConfig</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A servlet configuration object used by a servlet container
+ to pass information to a servlet during initialization.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletContext.html#javax.servlet.http"><B>ServletContext</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a set of methods that a servlet uses to communicate with its
+ servlet container, for example, to get the MIME type of a file, dispatch
+ requests, or write to a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletException.html#javax.servlet.http"><B>ServletException</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines a general exception a servlet can throw when it
+ encounters difficulty.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletInputStream.html#javax.servlet.http"><B>ServletInputStream</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an input stream for reading binary data from a client
+ request, including an efficient <code>readLine</code> method
+ for reading data one line at a time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletRequest.html#javax.servlet.http"><B>ServletRequest</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an object to provide client request information to a servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletRequestWrapper.html#javax.servlet.http"><B>ServletRequestWrapper</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the ServletRequest interface that
+ can be subclassed by developers wishing to adapt the request to a Servlet.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletResponse.html#javax.servlet.http"><B>ServletResponse</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Defines an object to assist a servlet in sending a response to the client.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../javax/servlet/class-use/ServletResponseWrapper.html#javax.servlet.http"><B>ServletResponseWrapper</B></A></B>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a convenient implementation of the ServletResponse interface that
+ can be subclassed by developers wishing to adapt the response from a Servlet.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-frame.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-frame.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-frame.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Overview (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, Servlet API Documentation">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
+<B></B></FONT></TD>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Packages</FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="javax/servlet/package-frame.html" target="packageFrame">javax.servlet</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="javax/servlet/http/package-frame.html" target="packageFrame">javax.servlet.http</A></FONT>
+<BR>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-summary.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-summary.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-summary.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Overview (Servlet API Documentation)
+</TITLE>
+
+<META NAME="keywords" CONTENT="Overview, Servlet API Documentation">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Overview (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Servlet API Documentation
+</H1>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Packages</B></FONT></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="javax/servlet/package-summary.html">javax.servlet</A></B></TD>
+<TD>The javax.servlet package contains a number of classes and interfaces that
+describe and define the contracts between a servlet class and the
+runtime environment provided for an instance of such a class by a
+conforming servlet container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="javax/servlet/http/package-summary.html">javax.servlet.http</A></B></TD>
+<TD>The javax.servlet.http package contains a number of classes and interfaces
+that describe and define the contracts between a servlet class
+running under the HTTP protocol and the runtime environment provided
+for an instance of such a class by a conforming servlet container.</TD>
+</TR>
+</TABLE>
+
+<P>
+&nbsp;<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-tree.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-tree.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/overview-tree.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,188 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:22 MST 2007 -->
+<TITLE>
+Class Hierarchy (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="javax/servlet/package-tree.html">javax.servlet</A>, <A HREF="javax/servlet/http/package-tree.html">javax.servlet.http</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">class java.lang.Object<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/Cookie.html" title="class in javax.servlet.http"><B>Cookie</B></A> (implements java.lang.Cloneable)
+<LI TYPE="circle">class java.util.EventObject (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http"><B>HttpSessionEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http"><B>HttpSessionBindingEvent</B></A></UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet"><B>ServletContextEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet"><B>ServletContextAttributeEvent</B></A></UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet"><B>ServletRequestEvent</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet"><B>ServletRequestAttributeEvent</B></A></UL>
+</UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet"><B>GenericServlet</B></A> (implements java.io.Serializable, javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A>, javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet">ServletConfig</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http"><B>HttpServlet</B></A> (implements java.io.Serializable)
+</UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpUtils.html" title="class in javax.servlet.http"><B>HttpUtils</B></A><LI TYPE="circle">class java.io.InputStream<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletInputStream.html" title="class in javax.servlet"><B>ServletInputStream</B></A></UL>
+<LI TYPE="circle">class java.io.OutputStream<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletOutputStream.html" title="class in javax.servlet"><B>ServletOutputStream</B></A></UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletRequestWrapper.html" title="class in javax.servlet"><B>ServletRequestWrapper</B></A> (implements javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequestWrapper.html" title="class in javax.servlet.http"><B>HttpServletRequestWrapper</B></A> (implements javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http">HttpServletRequest</A>)
+</UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletResponseWrapper.html" title="class in javax.servlet"><B>ServletResponseWrapper</B></A> (implements javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet">ServletResponse</A>)
+<UL>
+<LI TYPE="circle">class javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponseWrapper.html" title="class in javax.servlet.http"><B>HttpServletResponseWrapper</B></A> (implements javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http">HttpServletResponse</A>)
+</UL>
+<LI TYPE="circle">class java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">class java.lang.Exception<UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/ServletException.html" title="class in javax.servlet"><B>ServletException</B></A><UL>
+<LI TYPE="circle">class javax.servlet.<A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet"><B>UnavailableException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">interface java.util.EventListener<UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionActivationListener.html" title="interface in javax.servlet.http"><B>HttpSessionActivationListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionAttributeListener.html" title="interface in javax.servlet.http"><B>HttpSessionAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionBindingListener.html" title="interface in javax.servlet.http"><B>HttpSessionBindingListener</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionListener.html" title="interface in javax.servlet.http"><B>HttpSessionListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletContextAttributeListener.html" title="interface in javax.servlet"><B>ServletContextAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletContextListener.html" title="interface in javax.servlet"><B>ServletContextListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletRequestAttributeListener.html" title="interface in javax.servlet"><B>ServletRequestAttributeListener</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletRequestListener.html" title="interface in javax.servlet"><B>ServletRequestListener</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/Filter.html" title="interface in javax.servlet"><B>Filter</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/FilterChain.html" title="interface in javax.servlet"><B>FilterChain</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/FilterConfig.html" title="interface in javax.servlet"><B>FilterConfig</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSession.html" title="interface in javax.servlet.http"><B>HttpSession</B></A><LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpSessionContext.html" title="interface in javax.servlet.http"><B>HttpSessionContext</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/RequestDispatcher.html" title="interface in javax.servlet"><B>RequestDispatcher</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet"><B>Servlet</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletConfig.html" title="interface in javax.servlet"><B>ServletConfig</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletContext.html" title="interface in javax.servlet"><B>ServletContext</B></A><LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet"><B>ServletRequest</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletRequest.html" title="interface in javax.servlet.http"><B>HttpServletRequest</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/ServletResponse.html" title="interface in javax.servlet"><B>ServletResponse</B></A><UL>
+<LI TYPE="circle">interface javax.servlet.http.<A HREF="javax/servlet/http/HttpServletResponse.html" title="interface in javax.servlet.http"><B>HttpServletResponse</B></A></UL>
+<LI TYPE="circle">interface javax.servlet.<A HREF="javax/servlet/SingleThreadModel.html" title="interface in javax.servlet"><B>SingleThreadModel</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/package-list
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/package-list	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/package-list	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+javax.servlet
+javax.servlet.http

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/packages.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/packages.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/packages.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+ (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title=" (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+<BR>
+
+<BR>
+
+<BR>
+<CENTER>
+The front page has been relocated.Please see:
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="index.html">Frame version</A>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="overview-summary.html">Non-frame version.</A></CENTER>
+
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/resources/inherit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/resources/inherit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/serialized-form.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/serialized-form.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/serialized-form.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,410 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.4.2_12) on Mon Mar 05 08:25:23 MST 2007 -->
+<TITLE>
+Serialized Form (Servlet API Documentation)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form (Servlet API Documentation)";
+}
+</SCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>javax.servlet</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="javax.servlet.GenericServlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">javax.servlet.GenericServlet</A> extends java.lang.Object implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="javax.servlet.ServletContextAttributeEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/ServletContextAttributeEvent.html" title="class in javax.servlet">javax.servlet.ServletContextAttributeEvent</A> extends <A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">ServletContextEvent</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+java.lang.String <B>name</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+value</H3>
+<PRE>
+java.lang.Object <B>value</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.ServletContextEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/ServletContextEvent.html" title="class in javax.servlet">javax.servlet.ServletContextEvent</A> extends java.util.EventObject implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="javax.servlet.ServletException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">javax.servlet.ServletException</A> extends java.lang.Exception implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+rootCause</H3>
+<PRE>
+java.lang.Throwable <B>rootCause</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.ServletRequestAttributeEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/ServletRequestAttributeEvent.html" title="class in javax.servlet">javax.servlet.ServletRequestAttributeEvent</A> extends <A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">ServletRequestEvent</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+java.lang.String <B>name</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+value</H3>
+<PRE>
+java.lang.Object <B>value</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.ServletRequestEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/ServletRequestEvent.html" title="class in javax.servlet">javax.servlet.ServletRequestEvent</A> extends java.util.EventObject implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+request</H3>
+<PRE>
+<A HREF="javax/servlet/ServletRequest.html" title="interface in javax.servlet">ServletRequest</A> <B>request</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.UnavailableException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/UnavailableException.html" title="class in javax.servlet">javax.servlet.UnavailableException</A> extends <A HREF="javax/servlet/ServletException.html" title="class in javax.servlet">ServletException</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+servlet</H3>
+<PRE>
+<A HREF="javax/servlet/Servlet.html" title="interface in javax.servlet">Servlet</A> <B>servlet</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+permanent</H3>
+<PRE>
+boolean <B>permanent</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+seconds</H3>
+<PRE>
+int <B>seconds</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>javax.servlet.http</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="javax.servlet.http.HttpServlet"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/http/HttpServlet.html" title="class in javax.servlet.http">javax.servlet.http.HttpServlet</A> extends <A HREF="javax/servlet/GenericServlet.html" title="class in javax.servlet">GenericServlet</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="javax.servlet.http.HttpSessionBindingEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/http/HttpSessionBindingEvent.html" title="class in javax.servlet.http">javax.servlet.http.HttpSessionBindingEvent</A> extends <A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">HttpSessionEvent</A> implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TD COLSPAN=1><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TD>
+</TR>
+</TABLE>
+
+<H3>
+name</H3>
+<PRE>
+java.lang.String <B>name</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<H3>
+value</H3>
+<PRE>
+java.lang.Object <B>value</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="javax.servlet.http.HttpSessionEvent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TD COLSPAN=2><FONT SIZE="+2">
+<B>Class <A HREF="javax/servlet/http/HttpSessionEvent.html" title="class in javax.servlet.http">javax.servlet.http.HttpSessionEvent</A> extends java.util.EventObject implements Serializable</B></FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Package</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Use</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright &copy; 1999-2002 The Apache Software Foundation.  All Rights Reserved.
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/stylesheet.css
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/stylesheet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/servletapi/stylesheet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/setup.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/setup.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/setup.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Tomcat Setup</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Tomcat Setup</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/setup.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document introduces several ways to set up Tomcat for running
+      on different platforms.  Please note that some advanced setup issues
+      are not covered here: the full distribution (ZIP file or tarball) 
+      includes a file called
+      RUNNING.txt which discusses these issues.  We encourage you to refer
+      to it if the information below does not answer some of your questions.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Windows"><strong>Windows</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>
+      Installing Tomcat on Windows can be done easily using the Windows 
+      installer. Its interface and functionality is similar to other wizard
+      based installers, with only a few items of interest.
+    </p>
+
+    <p>
+      <ul>
+        <li><strong>Installation as a service</strong>: Tomcat will be 
+            installed as a Windows
+            NT/2k/XP service no matter what setting is selected. Using the
+            checkbox on the component page sets the service as "auto"
+            startup, so that Tomcat is automatically started when Windows
+            starts. For optimal security, the service should be run as a
+            separate user, with reduced permissions (see the Windows Services
+            administration tool and its documentation).</li>
+        <li><strong>Java location</strong>: The installer will use the registry
+            or the JAVA_HOME environment variable to determine the base path
+            of a J2SE 5 JRE.
+            </li>
+        <li><strong>Tray icon</strong>: When Tomcat is run as a service, there
+            will be a tray icon visible.  Note that
+            when choosing to run Tomcat at the end of installation, the tray
+            icon will be loaded at the same time.</li>
+        <li>Refer to the
+            <a href="windows-service-howto.html">Windows Service HOW-TO</a>
+            for information on how to manage Tomcat as Windows NT service.
+            </li>            
+      </ul>
+    </p>
+
+    <p>The installer will create shortcuts allowing starting and configuring 
+       Tomcat. It is important to note that the Tomcat administration web 
+       application can only be used when Tomcat is running.</p>
+
+    <p>If using a J2SE 1.4 JRE, the compatibility package must be downloaded and
+       expanded inside the folder where Tomcat was installed.</p>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Unix daemon"><strong>Unix daemon</strong></a></font></td></tr><tr><td><blockquote>
+
+    <p>Tomcat can be run as a daemon using the jsvc tool from the 
+       commons-daemon project. Source tarballs for jsvc are included with the
+       Tomcat binaries, and need to be compiled. Building jsvc requires
+       a C ANSI compiler (such as GCC), GNU Autoconf, and a JDK.</p>
+
+    <p>Before running the script, the <code>JAVA_HOME</code> environment
+       variable should be set to the base path of the JDK. Alternately, when
+       calling the <code>./configure</code> script, the path of the JDK may
+       be specified using the <code>--with-java</code> parameter, such as
+       <code>./configure --with-java=/usr/java</code>.</p>
+
+    <p>Using the following commands should result in a compiled jsvc binary,
+       located in the <code>$CATALINA_HOME/bin</code> folder. This assumes
+       that GNU TAR is used, and that <code>CATALINA_HOME</code> is an 
+       environment variable pointing to the base path of the Tomcat 
+       installation.</p>
+  
+    <p>Please note that you should use the GNU make (gmake) instead of
+       the native BSD make on FreeBSD systems.</p>
+
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME/bin
+    tar xvfz jsvc.tar.gz
+    cd jsvc-src
+    autoconf
+    ./configure
+    make
+    cp jsvc ..
+    cd ..
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>Tomcat can then be run as a daemon using the following commands.</p>
+
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+    cd $CATALINA_HOME
+    ./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
+        -outfile ./logs/catalina.out -errfile ./logs/catalina.err \
+        org.apache.catalina.startup.Bootstrap
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+    <p>jsvc has other useful parameters, such as <code>-user</code> which 
+       causes it to switch to another user after the daemon initialization is
+       complete. This allows, for example, running Tomcat as a non privileged
+       user while still being able to use privileged ports. 
+       <code>jsvc --help</code> will return the full jsvc usage 
+       information. In particular, the <code>-debug</code> option is useful
+       to debug issues running jsvc.</p>
+
+    <p>The file <code>$CATALINA_HOME/bin/jsvc/native/tomcat.sh</code> can be 
+       used as a template for starting Tomcat automatically at boot time from 
+       <code>/etc/init.d</code>.  The file is currently setup for running 
+       Tomcat 4.1.x, so it is necessary to edit it and change the classname 
+       from <code>BootstrapService</code> to <code>Bootstrap</code>.</p>
+
+    <p>Note that the Commons-Daemon JAR file must be on your runtime classpath 
+       to run Tomcat in this manner.  The Commons-Daemon JAR file is in the Class-Path 
+       entry of the bootstrap.jar manifest, but if you get a ClassNotFoundException 
+       or a NoClassDefFoundError for a Commons-Daemon class, add the Commons-Daemon 
+       JAR to the -cp argument when launching jsvc.</p> 
+
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssi-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssi-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssi-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,349 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - SSI How To</title><meta value="Glenn L. Nielsen" name="author"><meta value="glenn at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>SSI How To</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ssi-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction"><strong>Introduction</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSI (Server Side Includes) are directives that are placed in HTML pages,
+and evaluated on the server while the pages are being served. They let you
+add dynamically generated content to an existing HTML page, without having
+to serve the entire page via a CGI program, or other dynamic technology.
+</p>
+
+<p>Within Tomcat SSI support can be added when using Tomcat as your
+HTTP server and you require SSI support.  Typically this is done
+during development when you don't want to run a web server like Apache.</p>
+
+<p>Tomcat SSI support implements the same SSI directives as Apache.  See the
+<a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for information on using SSI directives.</p>
+
+<p>SSI support is available as a servlet and as a filter. You should use one
+or the other to provide SSI support but not both.</p>
+
+<p>Servlet based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIServlet</code>.  Traditionally, this servlet
+is mapped to the URL pattern "*.shtml".</p>
+
+<p>Filter based SSI support is implemented using the class
+<code>org.apache.catalina.ssi.SSIFilter</code>.  Traditionally, this filter
+is mapped to the URL pattern "*.shtml", though it can be mapped to "*" as
+it will selectively enable/disable SSI processing based on mime types.  The
+contentType init param allows you to apply SSI processing to JSP pages,
+javascript, or any other content you wish.</p>
+<p>By default SSI support is disabled in Tomcat.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installation"><strong>Installation</strong></a></font></td></tr><tr><td><blockquote>
+
+<p><strong>CAUTION</strong> - SSI directives can be used to execute programs
+external to the Tomcat JVM. If you are using the Java SecurityManager this
+will bypass your security policy configuration in <code>catalina.policy.</code>
+</p>
+
+<p>Rename <code>$CATALINA_BASE/server/lib/servlets-ssi.renametojar</code>
+to <code>$CATALINA_BASE/server/lib/servlets-ssi.jar</code>.</p>
+
+<p>To use the SSI servlet, remove the XML comments from around the SSI servlet
+and servlet-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+<p>To use the SSI filter, remove the XML comments from around the SSI filter
+and filter-mapping configuration in
+<code>$CATALINA_BASE/conf/web.xml</code>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Servlet Configuration"><strong>Servlet Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several servlet init parameters which can be used to
+configure the behaviour of the SSI servlet.
+<ul>
+<li><strong>buffered</strong> - Should output from this servlet be buffered?
+(0=false, 1=true) Default 0 (false).</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+<li><strong>inputEncoding</strong> - The encoding to be assumed for SSI
+resources if one cannot be determined from the resource itself. Default is
+the default platform encoding.</li>
+<li><strong>outputEncoding</strong> - The encoding to be used for the result
+of the SSI processing. Default is UTF-8.</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Filter Configuration"><strong>Filter Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>There are several filter init parameters which can be used to
+configure the behaviour of the SSI filter.
+<ul>
+<li><strong>contentType</strong> - A regex pattern that must be matched before
+SSI processing is applied. When crafting your own pattern, don't forget that a
+mime content type may be followed by an optional character set in the form
+"mime/type; charset=set" that you must take into account.  Default is
+"text/x-server-parsed-html(;.*)?".</li>
+<li><strong>debug</strong> - Debugging detail level for messages logged
+by this servlet. Default 0.</li>
+<li><strong>expires</strong> - The number of seconds before a page with SSI
+directives will expire. Default behaviour is for all SSI directives to be
+evaluated for every request.</li>
+<li><strong>isVirtualWebappRelative</strong> - Should "virtual" SSI directive
+paths be interpreted as relative to the context root, instead of the server
+root? (0=false, 1=true) Default 0 (false).</li>
+</ul>
+</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Directives"><strong>Directives</strong></a></font></td></tr><tr><td><blockquote>
+<p>Server Side Includes are invoked by embedding SSI directives in an HTML document
+ whose type will be processed by the SSI servlet. The directives take the form of an HTML
+ comment. The directive is replaced by the results of interpreting it before sending the
+ page to the client. The general form of a directive is: </p>
+<p> <code>&lt;!--#directive [parm=value] --&gt;</code></p>
+<p>The directives are:
+<ul>
+<li>
+<strong>config</strong> - <code>&lt;!--#config timefmt="%B %Y" --&gt;</code>
+Used to set the format of dates and other items processed by SSI
+</li>
+<li>
+<strong>echo</strong> -   <code>&lt;!--#echo var="VARIABLE_NAME" --&gt;</code>
+will be replaced bt the value of the variable.
+</li>
+<li>
+<strong>exec</strong> -  Used to run commands on the host system.
+</li>
+<li>
+<strong>include</strong> -  <code>&lt;!--#include virtual="file-name" --&gt;</code>
+inserts the contents
+</li>
+<li>
+<strong>flastmod</strong> - <code>&lt;!--#flastmod file="filename.shtml" --&gt;</code>
+Returns the time that a file was lost modified.
+</li>
+<li>
+<strong>fsize</strong> - <code>&lt;!--#fsize file="filename.shtml" --&gt;</code>
+Returns the size of a file.
+</li>
+<li>
+<strong>printenv</strong> - <code>&lt;!--#printenv --&gt;</code>
+Returns the list of all the defined variables.
+</li>
+<li>
+<strong>set</strong> - <code>&lt;!--#set var="foo" value="Bar" --&gt;</code>
+is used to assign a value to a user-defind variable.
+</li>
+<li>
+<strong>if elif endif else</strong> - Used to create conditional sections. For example:</li>
+<code>&lt;!--#config timefmt="%A" --&gt;<br>
+  &lt;!--#if expr="$DATE_LOCAL = /Monday/" --&gt;<br>
+  &lt;p&gt;Meeting at 10:00 on Mondays&lt;/p&gt;<br>
+  &lt;!--#elif expr="$DATE_LOCAL = /Friday/" --&gt;<br>
+  &lt;p&gt;Turn in your time card&lt;/p&gt;<br>
+  &lt;!--#else --&gt;<br>
+  &lt;p&gt;Yoga class at noon.&lt;/p&gt;<br>
+  &lt;!--#endif --&gt;</code>
+ </ul>
+</p>
+See the
+<p> <a href="http://httpd.apache.org/docs/howto/ssi.html#basicssidirectives">
+Apache Introduction to SSI</a> for more information on using SSI directives.</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Variables"><strong>Variables</strong></a></font></td></tr><tr><td><blockquote>
+<p>The SSI servlet currently implements the following variables:
+</p>
+<table border="1">
+<tr>
+<th>Variable Name</th>
+<th>Description</th>
+</tr>
+
+<tr>
+<td>AUTH_TYPE</td>
+<td>
+  The type of authentication used for this user: BASIC, FORM, etc.</td>
+</tr>
+
+<tr>
+<td>CONTENT_LENGTH</td>
+<td>
+  The length of the data (in bytes or the number of 
+  characters) passed from a form.</td>
+</tr>
+
+<tr>
+<td>CONTENT_TYPE</td>
+<td>
+  The MIME type of the query data, such as "text/html".</td>
+</tr>
+
+<tr>
+<td>DATE_GMT</td>
+<td>
+Current date and time in GMT</td>
+</tr>
+
+<tr>
+<td>DATE_LOCAL</td>
+<td>
+Current date and time in the local time zone</td>
+</tr>
+<tr>
+<td>DOCUMENT_NAME</td>
+<td>
+The current file</td>
+</tr>
+<tr>
+<td>DOCUMENT_URI</td>
+<td>
+Virtual path to the file</td>
+</tr>
+
+<tr>
+<td>GATEWAY_INTERFACE</td>
+<td>
+  The revision of the Common Gateway Interface that the 
+  server uses if enabled: "CGI/1.1".</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT</td>
+<td>
+  A list of the MIME types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_ENCODING</td>
+<td>
+  A list of the compression types that the client can accept.</td>
+</tr>
+
+<tr>
+<td>HTTP_ACCEPT_LANGUAGE</td>
+<td>
+  A list of the laguages that the client can accept.</td>
+</tr>
+<tr>
+<td>HTTP_CONNECTION</td>
+<td>
+  The way that the connection from the client is being managed:
+  "Close" or "Keep-Alive".</td>
+</tr>
+<tr>
+<td>HTTP_HOST</td>
+<td>
+  The web site that the client requested.</td>
+</tr>
+<tr>
+<td>HTTP_REFERER</td>
+<td>
+  The URL of the document that the client linked from.</td>
+</tr>
+<tr>
+<td>HTTP_USER_AGENT</td>
+<td>
+  The browser the client is using to issue the request.</td>
+</tr>
+<tr>
+<td>LAST_MODIFIED</td>
+<td>
+Last modification date and time for current file</td>
+</tr>
+<tr>
+<td>PATH_INFO</td>
+<td>
+  Extra path information passed to a servlet.</td>
+</tr>
+<tr>
+<td>PATH_TRANSLATED</td>
+<td>
+  The translated version of the path given by the
+  variable PATH_INFO.</td>
+</tr>
+<tr>
+<td>QUERY_STRING</td>
+<td>
+The query string that follows the "?" in the URL.
+</td>
+</tr>
+<tr>
+<td>QUERY_STRING_UNESCAPED</td>
+<td>
+Undecoded query string with all shell metacharacters escaped 
+with "\"</td>
+</tr>
+<tr>
+<td>REMOTE_ADDR</td>
+<td>
+  The remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_HOST</td>
+<td>
+  The remote hostname of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_PORT</td>
+<td>
+  The port number at remote IP address of the user making the request.</td>
+</tr>
+<tr>
+<td>REMOTE_USER</td>
+<td>
+  The authenticated name of the user.</td>
+</tr>
+<tr>
+<td>REQUEST_METHOD</td>
+<td>
+  The method with which the information request was
+  issued: "GET", "POST" etc.</td>
+</tr>
+<tr>
+<td>REQUEST_URI</td>
+<td>
+  The web page originally requested by the client.</td>
+</tr>
+<tr>
+<td>SCRIPT_FILENAME</td>
+<td>
+  The location of the current web page on the server.</td>
+</tr>
+<tr>
+<td>SCRIPT_NAME</td>
+<td>
+  The name of the web page.</td>
+</tr>
+<tr>
+<td>SERVER_ADDR</td>
+<td>
+  The server's IP address.</td>
+</tr>
+<tr>
+<td>SERVER_NAME</td>
+<td>
+  The server's hostname or IP address.</td>
+</tr>
+<tr>
+<td>SERVER_PORT</td>
+<td>
+  The port on which the server received the request.</td>
+</tr>
+<tr>
+<td>SERVER_PROTOCOL</td>
+<td>
+  The protocol used by the server. E.g. "HTTP/1.1".</td>
+</tr>
+<tr>
+<td>SERVER_SOFTWARE</td>
+<td>
+  The name and version of the server software that is 
+  answering the client request.</td>
+</tr>
+<tr>
+<td>UNIQUE_ID</td>
+<td>
+  A token used to identify the current session if one
+  has been established.</td>
+</tr>
+</table>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssl-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssl-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/ssl-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,542 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO</title><meta value="Christopher Cain" name="author"><meta value="ccain at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>SSL Configuration HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/ssl-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Quick Start"><strong>Quick Start</strong></a></font></td></tr><tr><td><blockquote>
+
+   <p><b>IMPORTANT NOTE: This Howto refers to usage of JSSE. When using APR, Tomcat will
+   use OpenSSL, which uses a different configuration.</b></p>
+
+    <blockquote><em>
+    <p>The description below uses the variable name $CATALINA_HOME
+    to refer to the directory into which you have installed Tomcat 5,
+    and is the base directory against which most relative paths are
+    resolved.  However, if you have configured Tomcat 5 for multiple
+    instances by setting a CATALINA_BASE directory, you should use
+    $CATALINA_BASE instead of $CATALINA_HOME for each of these
+    references.</p>
+    </em></blockquote>
+
+<p>To install and configure SSL support on Tomcat 5, you need to follow
+these simple steps.  For more information, read the rest of this HOW-TO.</p>
+<ol>
+<li>If you are running a 1.3 JVM, download JSSE 1.0.3 (or later) from
+   <a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a>
+   and either make it an <em>installed extension</em> on the system, or else
+   set an environment variable <code>JSSE_HOME</code> that points at the
+   directory into which you installed JSSE.  </li><br><br>
+<li>Create a certificate keystore by executing the following command:
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p></p>
+    and specify a password value of "changeit".</li><br><br>
+<li>Uncomment the "SSL HTTP/1.1 Connector" entry in
+    <code>$CATALINA_HOME/conf/server.xml</code> and tweak as necessary.</li>
+    <br><br>
+</ol>
+
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Introduction to SSL"><strong>Introduction to SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>SSL, or Secure Socket Layer, is a technology which allows web browsers and
+web servers to communicate over a secured connection.  This means that the data
+being sent is encrypted by one side, transmitted, then decrypted by the other
+side before processing.  This is a two-way process, meaning that both the
+server AND the browser encrypt all traffic before sending out data.</p>
+
+<p>Another important aspect of the SSL protocol is Authentication.  This means
+that during your initial attempt to communicate with a web server over a secure
+connection, that server will present your web browser with a set of
+credentials, in the form of a "Certificate", as proof the site is who and what
+it claims to be.  In certain cases, the server may also request a Certificate
+from your web browser, asking for proof that <em>you</em> are who you claim
+to be.  This is known as "Client Authentication," although in practice this is
+used more for business-to-business (B2B) transactions than with individual
+users.  Most SSL-enabled web servers do not request Client Authentication.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="SSL and Tomcat"><strong>SSL and Tomcat</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>It is important to note that configuring Tomcat to take advantage of
+secure sockets is usually only necessary when running it as a stand-alone
+web server.  When running Tomcat primarily as a Servlet/JSP container behind
+another web server, such as Apache or Microsoft IIS, it is usually necessary
+to configure the primary web server to handle the SSL connections from users.
+Typically, this server will negotiate all SSL-related functionality, then
+pass on any requests destined for the Tomcat container only after decrypting
+those requests.  Likewise, Tomcat will return cleartext responses, that will
+be encrypted before being returned to the user's browser.  In this environment,
+Tomcat knows that communications between the primary web server and the
+client are taking place over a secure connection (because your application
+needs to be able to ask about this), but it does not participate in the
+encryption or decryption itself.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Certificates"><strong>Certificates</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>In order to implement SSL, a web server must have an associated Certificate
+for each external interface (IP address) that accepts secure connections.
+The theory behind this design is that a server should provide some kind of
+reasonable assurance that its owner is who you think it is, particularly
+before receiving any sensitive information.  While a broader explanation of
+Certificates is beyond the scope of this document, think of a Certificate
+as a "digital driver's license" for an Internet address.  It states what
+company the site is associated with, along with some basic contact
+information about the site owner or administrator.</p>
+
+<p>This "driver's license" is cryptographically signed by its owner, and is
+therefore extremely difficult for anyone else to forge.  For sites involved
+in e-commerce, or any other business transaction in which authentication of
+identity is important, a Certificate is typically purchased from a well-known
+<em>Certificate Authority</em> (CA) such as VeriSign or Thawte.  Such
+certificates can be electronically verified -- in effect, the Certificate
+Authority will vouch for the authenticity of the certificates that it grants,
+so you can believe that that Certificate is valid if you trust the Certificate
+Authority that granted it.</p>
+
+<p>In many cases, however, authentication is not really a concern.  An
+administrator may simply want to ensure that the data being transmitted and
+received by the server is private and cannot be snooped by anyone who may be
+eavesdropping on the connection.  Fortunately, Java provides a relatively
+simple command-line tool, called <code>keytool</code>, which can easily create
+a "self-signed" Certificate.  Self-signed Certificates are simply user
+generated Certificates which have not been officially registered with any
+well-known CA, and are therefore not really guaranteed to be authentic at all.
+Again, this may or may not even be important, depending on your needs.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="General Tips on Running SSL"><strong>General Tips on Running SSL</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The first time a user attempts to access a secured page on your site,
+he or she is typically presented with a dialog containing the details of
+the certificate (such as the company and contact name), and asked if he or she
+wishes to accept the Certificate as valid and continue with the transaction.
+Some browsers will provide an option for permanently accepting a given
+Certificate as valid, in which case the user will not be bothered with a
+prompt each time they visit your site.  Other browsers do not provide this
+option.  Once approved by the user, a Certificate will be considered valid
+for at least the entire browser session.</p>
+
+<p>Also, while the SSL protocol was designed to be as efficient as securely
+possible, encryption/decryption is a computationally expensive process from
+a performance standpoint.  It is not strictly necessary to run an entire
+web application over SSL, and indeed a developer can pick and choose which
+pages require a secure connection and which do not.  For a reasonably busy
+site, it is customary to only run certain pages under SSL, namely those
+pages where sensitive information could possibly be exchanged.  This would
+include things like login pages, personal information pages, and shopping
+cart checkouts, where credit card information could possibly be transmitted.
+Any page within an application can be requested over a secure socket by
+simply prefixing the address with <code>https:</code> instead of
+<code>http:</code>.  Any pages which absolutely <strong>require</strong>
+a secure connection should check the protocol type associated with the
+page request and take the appropriate action if <code>https</code> is not
+specified.</p>
+
+<p>Finally, using name-based virtual hosts on a secured connection can be
+problematic.  This is a design limitation of the SSL protocol itself.  The SSL
+handshake, where the client browser accepts the server certificate, must occur
+before the HTTP request is accessed.  As a result, the request information
+containing the virtual host name cannot be determined prior to authentication,
+and it is therefore not possible to assign multiple certificates to a single
+IP address.  If all virtual hosts on a single IP address need to authenticate
+against the same certificate, the addition of multiple virtual hosts should not
+interfere with normal SSL operations on the server.  Be aware, however, that
+most client browsers will compare the server's domain name against the domain
+name listed in the certificate, if any (applicable primarily to official,
+CA-signed certificates).  If the domain names do not match, these browsers will
+display a warning to the client user.  In general, only address-based virtual
+hosts are commonly used with SSL in a production environment.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuration"><strong>Configuration</strong></a></font></td></tr><tr><td><blockquote>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Download and Install JSSE (if needed)"><strong>Download and Install JSSE (if needed)</strong></a></font></td></tr><tr><td><blockquote>
+<p>Note that JSSE is bundled with Sun's JDK 1.4 and later, so if you're using
+JDK 1.4 and later, you can skip this step.</p>
+
+
+<p>Download the <em>Java Secure Socket Extensions</em> (JSSE) package,
+version 1.0.3 or later, from
+<a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a>.
+If you built Tomcat from source, you have probably already downloaded this
+package.</p>
+
+<p>After expanding the package, there are two ways to make it available to
+Tomcat (choose one or the other):</p>
+<ul>
+<li>Make JSSE an <em>installed extension</em> by copying all three JAR files
+    (<code>jcert.jar</code>, <code>jnet.jar</code>, and <code>jsse.jar</code>)
+    into your <code>$JAVA_HOME/jre/lib/ext</code> directory.</li>
+<li>Create a new environment variable <code>JSSE_HOME</code> that contains
+    the absolute path to the directory into which you unpacked the
+    JSSE binary distribution.</li>
+</ul>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Prepare the Certificate Keystore"><strong>Prepare the Certificate Keystore</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Tomcat currently operates with <code>JKS</code>, <code>PKCS11</code> or
+<code>PKCS12</code> format keystores.  The <code>JKS</code> format
+is Java's standard "Java KeyStore" format, and is the format created by the
+<code>keytool</code> command-line utility.  This tool is included in the JDK.
+The <code>PKCS12</code> format is an internet standard, and can be manipulated
+via (among other things) OpenSSL and Microsoft's Key-Manager.
+</p>
+
+<p>Each entry in a keystore is identified by an alias string. Whilst many
+keystore implmentations treat alaises in a case insensitive manner, case
+sensitive implementations are available. The <code>PKCS11</code> specification,
+for example, requires that aliases are case sensitive. To avoid issues related
+to the case sensitivity of aliaises, it is not recommended to use aliases that
+differ only in case.
+</p>
+
+<p>To import an existing certificate into a JKS keystore, please read the
+documentation (in your JDK documentation package) about <code>keytool</code>.
+Note that openssl often adds a readable comments before the key, <code>keytool</code>does not support that, so remove the openssl comments if they exist before importing the key using <code>keytool</code>.
+</p>
+<p>To import an existing certificate signed by your own CA into a PKCS12 
+keystore using OpenSSL you would execute a command like:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>openssl pkcs12 -export -in mycert.crt -inkey mykey.key \
+                        -out mycert.p12 -name tomcat -CAfile myCA.crt \
+                        -caname root -chain
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+For more advanced cases, consult the <a href="http://www.openssl.org/">OpenSSL
+documententation</a>.
+</p>
+<p>To create a new keystore from scratch, containing a single self-signed
+Certificate, execute the following from a terminal command line:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>(The RSA algorithm should be preferred as a secure algorithm, and this
+also ensures general compatibility with other servers and components.)</p>
+
+<p>This command will create a new file, in the home directory of the user
+under which you run it, named "<code>.keystore</code>".  To specify a
+different location or filename, add the <code>-keystore</code> parameter,
+followed by the complete pathname to your keystore file,
+to the <code>keytool</code> command shown above.  You will also need to
+reflect this new location in the <code>server.xml</code> configuration file,
+as described later.  For example:</p>
+<p>Windows:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore \path\to\my\keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+<p>Unix:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA \
+  -keystore /path/to/my/keystore
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>After executing this command, you will first be prompted for the keystore
+password.  The default password used by Tomcat is "<code>changeit</code>"
+(all lower case), although you can specify a custom password if you like.
+You will also need to specify the custom password in the
+<code>server.xml</code> configuration file, as described later.</p>
+
+<p>Next, you will be prompted for general information about this Certificate,
+such as company, contact name, and so on.  This information will be displayed
+to users who attempt to access a secure page in your application, so make
+sure that the information provided here matches what they will expect.</p>
+
+<p>Finally, you will be prompted for the <em>key password</em>, which is the
+password specifically for this Certificate (as opposed to any other
+Certificates stored in the same keystore file).  You <strong>MUST</strong>
+use the same password here as was used for the keystore password itself.
+(Currently, the <code>keytool</code> prompt will tell you that pressing the
+ENTER key does this for you automatically.)</p>
+
+<p>If everything was successful, you now have a keystore file with a
+Certificate that can be used by your server.</p>
+
+<p><strong>Note:</strong> your private key password and keystore password
+should be the same.  If they differ, you will get an error along the lines
+of <code>java.io.IOException: Cannot recover key</code>, as documented in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=38217">Bugzilla 38217</a>, 
+which contains further references for this issue.</p>
+
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Edit the Tomcat Configuration File"><strong>Edit the Tomcat Configuration File</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>The final step is to configure your secure socket in the
+<code>$CATALINA_HOME/conf/server.xml</code> file, where
+<code>$CATALINA_HOME</code> represents the directory into which you
+installed Tomcat 5.  An example <code>&lt;Connector&gt;</code> element
+for an SSL connector is included in the default <code>server.xml</code>
+file installed with Tomcat.  It will look something like this:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;
+&lt;!--
+&lt;Connector 
+           port="8443" minProcessors="5" maxProcessors="75"
+           enableLookups="true" disableUploadTimeout="true"
+           acceptCount="100" debug="0" scheme="https" secure="true";
+           clientAuth="false" sslProtocol="TLS"/&gt;
+--&gt;
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>You will note that the Connector element itself is commented out by default,
+so you will need to remove the comment tags around it.  Then, you can
+customize the specified attributes as necessary.  For detailed information
+about the various options, consult the
+<a href="config/index.html">Server Configuration Reference</a>.  The
+following discussion covers only those attributes of most interest when
+setting up SSL communication.</p>
+
+<p>The <code>port</code> attribute (default value is 8443) is the TCP/IP
+port number on which Tomcat will listen for secure connections.  You can
+change this to any port number you wish (such as to the default port for
+<code>https</code> communications, which is 443).  However, special setup
+(outside the scope of this document) is necessary to run Tomcat on port
+numbers lower than 1024 on many operating systems.</p>
+
+  <blockquote><em>
+  <p>If you change the port number here, you should also change the
+  value specified for the <code>redirectPort</code> attribute on the
+  non-SSL connector.  This allows Tomcat to automatically redirect
+  users who attempt to access a page with a security constraint specifying
+  that SSL is required, as required by the Servlet 2.4 Specification.</p>
+  </em></blockquote>
+
+<p>There are addional option used to configure the SSL protocol.
+  You may need to add or change the following attribute
+values, depending on how you configured your keystore earlier:</p>
+
+<table border="1">
+  <tr>
+    <th>Attribute</th>
+    <th>Description</th>
+  </tr>
+  <tr>
+    <td><code>clientAuth</code></td>
+    <td>Set this value to <code>true</code> if you want Tomcat to require
+        all SSL clients to present a client Certificate in order to use
+        this socket.  Set this value to <code>want</code> if you want Tomcat
+        to request a client Certificate, but not fail if one isn't presented.
+        For using clientAuth on a per-user or per-session basis, check out
+        the tips in 
+        <a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">Bugzilla 34643</a>.
+    </td>
+  </tr>
+  <tr>
+    <td><code>keystoreFile</code></td>
+    <td>Add this attribute if the keystore file you created is not in
+        the default place that Tomcat expects (a file named
+        <code>.keystore</code> in the user home directory under
+        which Tomcat is running).  You can specify an absolute pathname,
+        or a relative pathname that is resolved against the
+        <code>$CATALINA_BASE</code> environment variable.</td>
+  </tr>
+  <tr>
+    <td><code>keystorePass</code></td>
+    <td>Add this element if you used a different keystore (and Certificate)
+        password than the one Tomcat expects (<code>changeit</code>).</td>
+  </tr>
+  <tr>
+    <td><code>keystoreType</code></td>
+    <td>Add this element if using a keystore type other than
+    <code>JKS</code>.</td>
+  </tr>
+  <tr>
+    <td><code>sslProtocol</code></td>
+    <td>The encryption/decryption protocol to be used on this socket.
+        It is not recommended to change this value if you are using Sun's
+        JVM.  It is reported that IBM's 1.4.1 implementation
+        of the TLS protocol is not compatible with some popular browsers.
+        In this case, use the value <code>SSL</code>.</td>
+  </tr>
+  <tr>
+    <td><code>ciphers</code></td>
+    <td>The comma separated list of encryption ciphers that this socket is 
+        allowed to use.  By default, any available cipher is allowed.</td>
+  </tr>
+  <tr>
+    <td><code>algorithm</code></td>
+    <td>The <code>X509</code> algorithm to use.  This defaults to the Sun 
+        implementation (<code>SunX509</code>).  For IBM JVMs you should use
+        the value <code>IbmX509</code>.  For other vendors, consult the JVM
+        documentation for the correct value.
+    </td>
+  </tr>
+  <tr>
+   <td><code>truststoreFile</code></td>
+   <td>The TrustStore file to use to validate client certificates.</td>
+  </tr>
+  <tr>
+   <td><code>truststorePass</code></td>
+   <td>The password to access the TrustStore.  This defaults to the value
+       of <code>keystorePass</code>.</td>
+  </tr>
+  <tr>
+   <td><code>truststoreType</code></td>
+    <td>Add this element if your are using a different format for the 
+        TrustStore then you are using for the KeyStore.</td>
+  </tr>
+  <tr>
+   <td><code>keyAlias</code></td>
+    <td>Add this element if your have more than one key in the KeyStore.
+        If the element is not present the first key read in the KeyStore
+        will be used.</td>
+  </tr>
+</table>
+
+<p>After completing these configuration changes, you must restart Tomcat as
+you normally do, and you should be in business.  You should be able to access
+any web application supported by Tomcat via SSL.  For example, try:</p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+https://localhost:8443
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+
+<p>and you should see the usual Tomcat splash page (unless you have modified
+the ROOT web application).  If this does not work, the following section
+contains some troubleshooting tips.</p>
+
+</blockquote></td></tr></table>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing a Certificate from a Certificate Authority"><strong>Installing a Certificate from a Certificate Authority</strong></a></font></td></tr><tr><td><blockquote>
+<p>To obstain and install a Certificate from a Certificate Authority (like verisign.com, thawte.com 
+or trustcenter.de) you should have read the previous section and then follow these instructions:</p>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Create a local Certificate Signing Request (CSR)"><strong>Create a local Certificate Signing Request (CSR)</strong></a></font></td></tr><tr><td><blockquote>
+<p>In order to obtain a Certificate from the Certificate Authority of your choice 
+you have to create a so called Certificate Signing Request (CSR). That CSR will be used 
+by the Certificate Authority to create a Certificate that will identify your website 
+as "secure". To create a CSR follow these steps:</p>
+<ul>
+<li>Create a local Certificate (as described in the previous section):
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -genkey -alias tomcat -keyalg RSA \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+	Note: In some cases you will have to enter the domain of your website (i.e. <code>www.myside.org</code>)
+	in the field "first- and lastname" in order to create a working Certificate. 
+</li>
+<li>The CSR is then created with:
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr \
+	-keystore &lt;your_keystore_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+<p>Now you have a file called <code>certreq.csr</code> that you can submit to the Certificate Authority (look at the
+documentation of the Certificate Authority website on how to do this). In return you get a Certificate.</p>
+</blockquote></td></tr></table>
+
+<table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Importing the Certificate"><strong>Importing the Certificate</strong></a></font></td></tr><tr><td><blockquote>
+<p>Now that you have your Certificate you can import it into you local keystore. 
+First of all you have to import a so called Chain Certificate or Root Certificate into your keystore. 
+After that you can procede with importing your Certificate.</p>
+
+<ul>
+<li>Download a Chain Certificate from the Certificate Authority you obtained the Certificate from.<br>
+	For Verisign.com commercial certificates go to:
+            http://www.verisign.com/support/install/intermediate.html<br>
+        For Verisign.com trial certificates go to:
+            http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html
+	For Trustcenter.de go to:
+            http://www.trustcenter.de/certservices/cacerts/en/en.htm#server<br>
+	For Thawte.com go to:
+            http://www.thawte.com/certs/trustmap.html<br>
+</li>
+<li>Import the Chain Certificate into you keystore
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias root -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;filename_of_the_chain_certificate&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+<li>And finally import your new Certificate
+	<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>keytool -import -alias tomcat -keystore &lt;your_keystore_filename&gt; \
+	-trustcacerts -file &lt;your_certificate_filename&gt;</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</li>
+</ul>
+</blockquote></td></tr></table>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Troubleshooting"><strong>Troubleshooting</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>Here is a list of common problems that you may encounter when setting up
+SSL communications, and what to do about them.</p>
+
+<ul>
+
+<li>I get "java.security.NoSuchAlgorithmException" errors in my
+    log files.
+    <blockquote>
+    <p>The JVM cannot find the JSSE JAR files.  Follow all of the directions to
+    <a href="#Download and Install JSSE">download and install JSSE</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException: {some-directory}/{some-file} not found".
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the keystore file
+    where it is looking.  By default, Tomcat expects the keystore file to
+    be named <code>.keystore</code> in the user home directory under which
+    Tomcat is running (which may or may not be the same as yours :-).  If
+    the keystore file is anywhere else, you will need to add a
+    <code>keystoreFile</code> attribute to the <code>&lt;Factory&gt;</code>
+    element in the <a href="#Edit the Tomcat Configuration File">Tomcat
+    configuration file</a>.</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.io.FileNotFoundException:  Keystore was tampered with, or
+    password was incorrect".
+    <blockquote>
+    <p>Assuming that someone has not <em>actually</em> tampered with
+    your keystore file, the most likely cause is that Tomcat is using
+    a different password than the one you used when you created the
+    keystore file.  To fix this, you can either go back and
+    <a href="#Prepare the Certificate Keystore">recreate the keystore
+    file</a>, or you can add or update the <code>keystorePass</code>
+    attribute on the <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration
+    file</a>.  <strong>REMINDER</strong> - Passwords are case sensitive!</p>
+    </blockquote></li>
+
+<li>When Tomcat starts up, I get an exception like
+    "java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No
+    available certificate or key corresponds to the SSL cipher suites which are
+    enabled."
+    <blockquote>
+    <p>A likely explanation is that Tomcat cannot find the alias for the server
+    key withinthe specified keystore. Check that the correct
+    <code>keystoreFile</code> and <code>keyAlias</code> are specified in the
+    <code>&lt;Connector&gt;</code> element in the
+    <a href="#Edit the Tomcat Configuration File">Tomcat configuration file</a>.
+    <strong>REMINDER</strong> - <code>keyAlias</code> values may be case
+    sensitive!</p>
+    </blockquote></li>
+</ul>
+
+<p>If you are still having problems, a good source of information is the
+<strong>TOMCAT-USER</strong> mailing list.  You can find pointers to archives
+of previous messages on this list, as well as subscription and unsubscription
+information, at
+<a href="http://tomcat.apache.org/lists.html">http://tomcat.apache.org/lists.html</a>.</p>
+
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Miscellaneous Tips and Bits"><strong>Miscellaneous Tips and Bits</strong></a></font></td></tr><tr><td><blockquote>
+
+<p>To access the SSL session ID from the request, use:<br>
+
+  <code>
+    String sslID = (String)request.getAttribute("javax.servlet.request.ssl_session");
+  </code>
+<br>
+For additional discussion on this area, please see
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=22679">Bugzilla</a>.
+</p>
+
+<p>For tips on using clientAuth on a per-user or per-session basis, and also for
+using clientAuth with self-signed or expired client certificates, please see the
+discussion in 
+<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=34643">Bugzilla 34643</a>.
+</p>
+
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/status.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/status.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/status.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Project Status</title><meta value="Remy Maucherat" name="author"><meta value="remm at apache.org" name="email"><meta value="Yoav Shapira" name="author"><meta value="yoavs at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Project Status</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/status.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Preface"><strong>Preface</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      This document attempts to convey the current status of Tomcat development
+      in "big picture" terms.  This is not the place to check if an individual
+      bug report has been addressed or when an individual feature will be available.
+    </p>
+    <p>
+      This page is updated roughly once per every couple of Tomcat minor releases,
+      so for day-to-day status you should check the tomcat-user and tomcat-dev mailing
+      lists.  You can always inquire there as to the availability or status of a
+      specific feature or component.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Current Status Summary"><strong>Current Status Summary</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      <b>Tomcat 5.0.27</b> was released on June 17th, 2004.  At that time, the TOMCAT_5_0
+      branch was tagged in CVS, and work on Tomcat 5.5 began.  We have now had several
+      Tomcat 5.5 releases, including a couple of stable ones.  Accordingly, Tomcat 5.5
+      is now the focus on work.  Tomcat 5.0 is in maintenance mode and its releases
+      will become less and less frequent.
+    </p>
+    <p>
+      <b>Tomcat 5.5</b> has several major goals.  They are discussed in the tomcat-dev
+      mailing list's "5.next" thread: 
+      <a href="http://marc.theaimsgroup.com/?l=tomcat-dev&w=2&r=1&s=5.next&q=b">MARC</a>.
+      The status of some of these items is detailed below.  Once 5.5 releases are
+      available, please refer to the Changelog accompanying each release for detailed
+      changes, enhancements, and fixes.
+    </p>
+    <p>
+      <b>Tomcat 4.1.x</b> is no longer actively developed.  It is maintained to address
+      only showstopper, security, and Servlet Specification compliance issues.  Maintenance
+      for Tomcat 4.1.x will likely cease once a stable release or two of Tomcat 5.5 are out.
+      Users of Tomcat 4.1.x are strongly encouraged to upgrade to the latest stable Tomcat
+      5.0 release.
+    </p>
+    <p>
+      <b>Tomcat 4.0.x</b> is relatively old, and not actively maintained or supported.
+      It is strongly recommended that users of these releases upgrade to the latest
+      stable Tomcat 5.0 release or at least the latest stable Tomcat 4.1 release.
+    </p>
+    <p>
+      <b>Tomcat 3.3.x</b> is in roughly the same maintenance mode as Tomcat 4.1.x.
+    </p>
+    <p>
+      <b>Tomcat 3.2</b> and earlier are in roughly the same support state as Tomcat 4.0.x.
+      Users should upgrade to Tomcat 3.3.x or the latest stable Tomcat 5.0.x.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="How to read the report"><strong>How to read the report</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      The columns in this report contain the following information:
+    <ul>
+      <li><b>Priority</b> - A sense of how important it is to address this 
+        issue in the short term.</li>
+      <li><b>Action Item</b> - Concise description of the action item
+        to be completed.  Where relevant, Java package names of the
+        primary classes involved are listed in [square brackets]</li>
+      <li><b>Volunteers</b> - Login of those developers who
+        have volunteered to assist in the design, implementation, testing, and
+        documentation of this action item's changes to Tomcat.</li>
+    </ul>
+      Developers can nominate
+      themselves to work on particular action items by asking a Committer to 
+      add their name address to those items.  The developers 
+      working on each item should discuss and agree upon the approach to be 
+      used for implementing the item's changes to the project source code 
+      and documentation, prior to completing those changes.  Such discussions 
+      should take place on the tomcat-dev mailing list so that everyone can 
+      stay apprised of what is going on, or chime in if they want to 
+      contribute ideas and suggestions.
+    </p>
+    
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="TODO List"><strong>TODO List</strong></a></font></td></tr><tr><td><blockquote>
+
+    <table cellpadding="5" border="1"><tr><th bgcolor="#023264" width="15%"><font color="#ffffff">Priority</font></th><th bgcolor="#023264" width="50%"><font color="#ffffff">Action Item</font></th><th bgcolor="#023264" width="25%"><font color="#ffffff">Volunteers</font></th><tr><td valign="center" align="left">High</td><td valign="center" align="left">
+        Refactor ClassLoaders for Tomcat 5.5 to allow container plugins.
+      </td><td valign="center" align="left">costin</td></tr><tr><td valign="center" align="left">Medium</td><td valign="center" align="left">
+        Enhance Cluster functionality for Tomcat 5.5.
+      </td><td valign="center" align="left">fhanik</td></tr><tr><td valign="center" align="left">Medium</td><td valign="center" align="left">
+        Continue fixing bugs and updating docs.
+      </td><td valign="center" align="left">everyone</td></tr></tr></table>
+
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Open bugs"><strong>Open bugs</strong></a></font></td></tr><tr><td><blockquote>
+    
+    <p>
+      The list of the bugs which are in an unresolved state for Tomcat 5 can be
+      seen 
+      <a href="http://issues.apache.org/bugzilla/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=RESOLVED&resolution=LATER&resolution=REMIND&resolution=---&bugidtype=include&product=Tomcat+5&cmdtype=doit&order=Importance">here</a>.
+      Aspiring volunteers and others are strongly encouraged to attempt 
+      to comment and help resolve these issues.
+    </p>
+    
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/virtual-hosting-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/virtual-hosting-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/virtual-hosting-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Virtual Hosting and Tomcat</title></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Virtual Hosting and Tomcat</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/virtual-hosting-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Assumptions"><strong>Assumptions</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      For the sake of this how-to, assume you have a development host with two
+      host names, <code>ren</code> and <code>stimpy</code>. Let's also assume
+      one instance of Tomcat running, so <code>$CATALINA_HOME</code> refers to
+      wherever it's installed, perhaps <code>/usr/local/tomcat</code>.
+    </p>
+    <p>
+      Also, this how-to uses Unix-style path separators and commands; if you're
+      on Windows modify accordingly. 
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="server.xml"><strong>server.xml</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      At the simplest, edit the <a href="config/engine.html">Engine</a> portion
+      of your <code>server.xml</code> file to look like this:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+&lt;Engine name="Catalina" defaultHost="ren"&gt;
+    &lt;Host name="ren"    appBase="webapps/ren"/&gt;
+    &lt;Host name="stimpy" appBase="webapps/stimpy"/&gt;
+&lt;/Engine&gt;
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    <p>
+      Consult the configuration documentation for other attributes of the
+      <a href="config/engine.html">Engine</a> and <a href="config/host.html">
+      Host</a>elements.
+    </p>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Webapps Directory"><strong>Webapps Directory</strong></a></font></td></tr><tr><td><blockquote>
+    <p>
+      Create directories for each of the virtual hosts:
+    </p>
+    <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/webapps/ren
+mkdir $CATALINA_HOME/webapps/stimpy
+    </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+  </blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Configuring Your Contexts"><strong>Configuring Your Contexts</strong></a></font></td></tr><tr><td><blockquote>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Approach #1"><strong>Approach #1</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Within your Context, create a <code>META-INF</code> directory and then
+        place your Context definition in it in a file named
+        <code>context.xml</code>. i.e.
+        <code>$CATALINA_HOME/webapps/ren/ROOT/META-INF/context.xml</code>
+        This makes deployment easier, particularly if you're distributing a WAR
+        file.
+      </p>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Approach #2"><strong>Approach #2</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Create a structure under <code>$CATALINA_HOME/conf/Catalina</code>
+        corresponding to your virtual hosts, e.g.:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+mkdir $CATALINA_HOME/conf/Catalina/ren
+mkdir $CATALINA_HOME/conf/Catalina/stimpy
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      <p>
+        Note that the ending directory name "Catalina" represents the
+        <code>name</code> attribute of the
+        <a href="config/engine.html">Engine</a> element as shown above.
+      </p>
+      <p>
+        Now, for your default webapps, add:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+$CATALINA_HOME/conf/Catalina/ren/ROOT.xml
+$CATALINA_HOME/conf/Catalina/stimpy/ROOT.xml
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+      <p>
+        If you want to use the Tomcat manager webapp for each host, you'll also
+        need to add it here:
+      </p>
+      <div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+cd $CATALINA_HOME/conf/Catalina
+cp localhost/manager.xml ren/
+cp localhost/manager.xml stimpy/
+      </pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+    </blockquote></td></tr></table>
+    <table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#828DA6"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Further Information"><strong>Further Information</strong></a></font></td></tr><tr><td><blockquote>
+      <p>
+        Consult the configuration documentation for other attributes of the
+        <a href="config/context.html">Context</a> element.
+      </p>
+    </blockquote></td></tr></table>
+  </blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/windows-service-howto.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/windows-service-howto.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/tomcat-docs/windows-service-howto.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,332 @@
+<html><head><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>The Apache Tomcat 5.5 Servlet/JSP Container - Windows service HOW-TO</title><meta value="Mladen Turk" name="author"><meta value="mturk at apache.org" name="email"></head><body vlink="#525D76" alink="#525D76" link="#525D76" text="#000000" bgcolor="#ffffff"><table cellspacing="0" width="100%" border="0"><!--PAGE HEADER--><tr><td><!--PROJECT LOGO--><a href="http://tomcat.apache.org/"><img border="0" alt="
+      The Apache Tomcat Servlet/JSP Container
+    " align="right" src="./images/tomcat.gif"></a></td><td><font face="arial,helvetica,sanserif"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1></font></td><td><!--APACHE LOGO--><a href="http://www.apache.org/"><img border="0" alt="Apache Logo" align="right" src="./images/asf-logo.gif"></a></td></tr></table><table cellspacing="4" width="100%" border="0"><!--HEADER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><tr><!--LEFT SIDE NAVIGATION--><td nowrap="true" valign="top" width="20%"><p><strong>Links</strong></p><ul><li><a href="index.html">Docs Home</a></li><li><a href="http://tomcat.apache.org/faq">FAQ</a></li></ul><p><strong>User Guide</strong></p><ul><li><a href="introduction.html">1) Introduction</a></li><li><a href="setup.html">2) Setup</a></li><li><a href="appdev/index.html">3) First webapp</a></li><li><a href="deployer-howto.html">4) Deployer</a></li><li><a href="manager-howto.html">5) Manager</a></li><li><a href="realm-howto.html">6) Realms and AAA</a></li><li><a href="security-manager-howto.html">7) Security Manager</a></li><li><a href="jndi-resources-howto.html">8) JNDI Resources</a></li><li><a href="jndi-datasource-examples-howto.html">9) JDBC DataSources</a></li><li><a href="class-loader-howto.html">10) Classloading</a></li><li><a href="jasper-howto.html">11) JSPs</a></li><li><a href="ssl-howto.html">12) SSL</a></li><li><a href="ssi-howto.html">13) SSI</a></li><li><a href="cgi-howto.html">14) CGI</a></li><li><a href="proxy-howto.html">15) Proxy Support</a></li><li><a href="mbeans-descriptor-howto.html">16) MBean Descriptor</a></li><li><a href="default-servlet.html">17) Default Servlet</a></li><li><a href="cluster-howto.html">18) Clustering</a></li><li><a href="balancer-howto.html">19) Load Balancer</a></li><li><a href="connectors.html">20) Connectors</a></li><li><a href="monitoring.html">21) Monitoring and Management</a></li><li><a href="logging.html">22) Logging</a></li><li><a href="apr.html">23) APR</a></li><li><a href="virtual-hosting-howto.html">24) Virtual Hosting</a></li></ul><p><strong>Reference</strong></p><ul><li><a href="RELEASE-NOTES.txt">Release Notes</a></li><li><a href="config/index.html">Apache Tomcat Configuration</a></li><li><a href="http://tomcat.apache.org/connectors-doc/">JK 1.2 Documentation</a></li><li><a href="servletapi/index.html">Servlet API Javadocs</a></li><li><a href="jspapi/index.html">JSP API Javadocs</a></li></ul><p><strong>Apache Tomcat Development</strong></p><ul><li><a href="building.html">Building</a></li><li><a href="changelog.html">Changelog</a></li><li><a href="status.html">Status</a></li><li><a href="developers.html">Developers</a></li><li><a href="catalina/funcspecs/index.html">Functional Specs.</a></li><li><a href="catalina/docs/api/index.html">Apache Tomcat Javadocs</a></li><li><a href="jasper/docs/api/index.html">Apache Jasper Javadocs</a></li><li><a href="architecture/index.html">Architecture</a></li></ul></td><!--RIGHT SIDE MAIN BODY--><td align="left" valign="top" width="80%"><table cellspacing="4" width="100%" border="0"><tr><td valign="top" align="left"><h1>The Apache Tomcat 5.5 Servlet/JSP Container</h1><h2>Windows service HOW-TO</h2></td><td nowrap="true" valign="top" align="right"><small><a href="printer/windows-service-howto.html"><img alt="Printer Friendly Version" border="0" src="./images/printer.gif"><br>print-friendly<br>version
+                    </a></small></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="NOTICE"><strong>NOTICE</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>This section of the documentation applies to procrun 1.0, and is now obsolete.</b>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat5 service application"><strong>Tomcat5 service application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat5</b> is a service application for running Tomcat5 as NT service.
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Tomcat5w monitor application"><strong>Tomcat5w monitor application</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    <b>Tomcat5w</b> is a GUI application for monitoring and configuring Tomcat
+    services.
+</p>    
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//ES//</th>
+        <td>Edit service configuration</td>
+        <td>This is the default operation. It is called if the no option is
+            provided but the executable is renamed to <b>servicenameW.exe</b></td>
+    </tr>
+    <tr><th>//MS//</th>
+        <td>Monitor service</td>
+        <td>Put the icon in the system try</td>
+    </tr>
+    </table>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line arguments"><strong>Command line arguments</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command line directive is in the form of <b>//XX//ServiceName</b>
+</p>
+    <p>The available command line options are:</p>
+<p> 
+    <table>
+    <tr><th>//TS//</th>
+        <td>Run the service as console application</td>
+        <td>This is the default operation. It is called if the no option is
+            provided. The ServiceName is the name of the executable without
+            exe sufix, meaning Tomcat5</td>
+    </tr>
+    <tr><th>//RS//</th>
+        <td>Run the service</td>
+        <td>Called only from ServiceManager</td>
+    </tr>
+    <tr><th>//SS//</th>
+        <td>Stop the service</td>
+        <td></td>
+    </tr>
+    <tr><th>//US//</th>
+        <td>Update service parameters</td>
+        <td></td>
+    </tr>
+    <tr><th>//IS//</th>
+        <td>Install service</td>
+        <td></td>
+    </tr>
+    <tr><th>//DS//</th>
+        <td>Delete service</td>
+        <td>Stops the service if running</td>
+    </tr>        
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Command line parameters"><strong>Command line parameters</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+    Each command parameter is prefixed with <b>--</b>.
+    If the command line is prefixed with <b>++</b> then it's value will
+    be appended to the existing option.
+    If the environment variable with the same name as command line parameter but
+    prefixed with <code>PR_</code> exists it will take precedence.
+    For example:
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>set PR_CLASSPATH=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>    
+<p>is equivalent to providing
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>--Classpath=xx.jar</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p> as command line parameter.</p>
+<p> 
+    <table>
+    <tr>
+    <th>ParameterName</th>
+	<th>Default</th>
+	<th>Description</th>
+	</tr> 
+    <tr>
+    <td>--Description</td>
+    <td></td>
+    <td>Service name description (maximum 1024 characters)</td>
+    </tr>
+    <tr>
+    <td>--DisplayName</td>
+    <td>ServiceName</td>
+    <td>Service display name</td>
+    </tr>
+    <tr>
+    <td>--Install</td>
+    <td>procrun.exe //RS//ServiceName</td>
+    <td>Install image</td>
+    </tr>
+    <tr>
+    <td>--Startup</td>
+    <td>manual</td>
+    <td>Service startup mode can be either <b>auto</b> or <b>manual</b></td>
+    </tr>
+    <tr>
+    <td>--DependsOn</td>
+    <td></td>
+    <td>List of services that this service depend on. Dependent services
+        are separated using either <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--Environment</td>
+    <td></td>
+    <td>List of environment variables that will be provided to the service
+        in the form <b>key=value</b>. They are separated using either
+        <b>#</b> or <b>;</b> characters</td>
+    </tr>
+    <tr>
+    <td>--User</td>
+    <td></td>
+    <td>User account used for running executable. It is used only for
+    	StartMode <b>java</b> or <b>exe</b> and enables running applications
+    	as service under account without LogonAsService privilege.</td>
+    </tr>
+    <tr>
+    <td>--Password</td>
+    <td></td>
+    <td>Password for user account set by --User parameter</td>
+    </tr>
+    <tr>
+    <td>--JavaHome</td>
+    <td>JAVA_HOME</td>
+    <td>Set a different JAVA_HOME then defined by JAVA_HOME environment
+        variable</td>
+    </tr>
+    <tr>
+    <td>--Jvm</td>
+    <td>auto</td>
+    <td>Use either <b>auto</b> or specify the full path to the <b>jvm.dll</b>.
+        You can use the environment variable expansion here.</td>
+    </tr>
+    <tr>
+    <td>--JvmOptions</td>
+    <td>-Xrs</td>
+    <td>List of options in the form of <b>-D</b> or <b>-X</b> that will be
+        passed to the JVM. The options are separated using either
+        <b>#</b> or <b>;</b> characters.</td>
+    </tr>
+    <tr>
+    <td>--Classpath</td>
+    <td></td>
+    <td>Set the Java classpath</td>
+    </tr>
+    <tr>
+    <td>--JvmMs</td>
+    <td></td>
+    <td>Initial memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmMx</td>
+    <td></td>
+    <td>Maximum memory pool size in MB</td>
+    </tr>
+    <tr>
+    <td>--JvmSs</td>
+    <td></td>
+    <td>Thread stack size in KB</td>
+    </tr>
+    <tr>
+    <tr>
+    <td>--StartImage</td>
+    <td></td>
+    <td>Executable that will be run.</td>
+    </tr>
+    <tr>
+    <td>--StartPath</td>
+    <td></td>
+    <td>Working path for the start image executable.</td>
+    </tr>
+    <tr>
+    <td>--StartClass</td>
+    <td></td>
+    <td>Class that will be used for startup.</td>
+    </tr>
+    <tr>
+    <td>--StartParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StartImage or
+        StartClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StartMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StartMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <td>--StopImage</td>
+    <td></td>
+    <td>Executable that will be run on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopPath</td>
+    <td></td>
+    <td>Working path for the stop image executable.</td>
+    </tr>
+    <tr>
+    <td>--StopClass</td>
+    <td></td>
+    <td>Class that will be used on Stop service signal.</td>
+    </tr>
+    <tr>
+    <td>--StopParams</td>
+    <td></td>
+    <td>List of parameters that will be passed to either StopImage or
+        StopClass. Parameters are separated using either <b>#</b> or
+        <b>;</b> character.</td>
+    </tr>
+    <tr>
+    <td>--StopMethod</td>
+    <td>Main</td>
+    <td>Method name if differs then main</td>
+    </tr>
+    <tr>
+    <td>--StopMode</td>
+    <td>executable</td>
+    <td>Can one of <b>jvm</b> <b>java</b> or <b>exe</b></td>
+    </tr>
+    <tr>
+    <td>--StopTimeout</td>
+    <td>No Timeout</td>
+    <td>Defines the timeout in seconds that procrun waits for service to
+        exit gracefully.</td>
+    </tr>
+    <tr>
+    <td>--LogPath</td>
+    <td>working path</td>
+    <td>Defines the path for logging</td>
+    </tr>
+    <tr>
+    <td>--LogPrefix</td>
+    <td>jakarta_service</td>
+    <td>Defines the service log filename</td>
+    </tr>
+    <tr>
+    <td>--LogLevel</td>
+    <td>INFO</td>
+    <td>Defines the logging level and can be either <b>error</b>,
+        <b>info</b>, <b>warn</b> or <b>debug</b></td>
+    </tr>
+    <tr>
+    <td>--StdOutput</td>
+    <td></td>
+    <td>Redirected stdout filename</td>
+    </tr>
+    <tr>
+    <td>--StdError</td>
+    <td></td>
+    <td>Redirected stderr filename</td>
+    </tr>    
+    </table>
+</p> 
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Installing services"><strong>Installing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+The safest way to manually install the service is to use the provided <b>service.bat</b> script.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat5'
+C:\&gt; service.bat install
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+<p>
+If using tomcat5.exe, you need to use the <b>//IS//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Install the service named 'Tomcat5'
+C:\&gt; tomcat5 //IS//Tomcat5 --DisplayName="Apache Tomcat 5" \
+C:\&gt; --Install="C:\Program Files\Tomcat\bin\tomcat5.exe" --Jvm=auto \
+C:\&gt; --StartMode=jvm --StopMode=jvm \
+C:\&gt; --StartClass=org.apache.catalina.startup.Bootstrap --StartParams=start \
+C:\&gt; --StopClass=org.apache.catalina.startup.Bootstrap --StopParams=stop
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Updating services"><strong>Updating services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To update the service parameters, you need to use the <b>//US//</b> parameter.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Update the service named 'Tomcat5
+C:\&gt; tomcat5 //US//Tomcat5 --Description="Apache Tomcat Server - http://tomcat.apache.org/ " \
+C:\&gt; --Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Removing services"><strong>Removing services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To remove the service, you need to use the <b>//DS//</b> parameter.<br>
+If the service is running it will be stopped and then deleted.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Remove the service named 'Tomcat5'
+C:\&gt; tomcat5 //DS//Tomcat5
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table><table cellpadding="2" cellspacing="0" border="0"><tr><td bgcolor="#525D76"><font face="arial,helvetica.sanserif" color="#ffffff"><a name="Debugging services"><strong>Debugging services</strong></a></font></td></tr><tr><td><blockquote>
+<p>
+To run the service in console mode, you need to use the <b>//TS//</b> parameter.
+The service shutdown can be initiated by pressing <b>CTRL+C</b> or
+<b>CTRL+BREAK</b>.
+If you rename the tomcat5.exe to testservice.exe then you can just execute the
+testservice.exe and this command mode will be executed by default.
+</p>
+<p>
+<div align="left"><table border="0" cellpadding="0" cellspacing="4"><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#ffffff"><pre>
+Run the service named 'Tomcat5' in console mode
+C:\&gt; tomcat5 //TS//Tomcat5 [additional arguments]
+Or simply execute:
+C:\&gt; tomcat5
+</pre></td><td width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr><tr><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td><td height="1" width="1" bgcolor="#023264"><img border="0" hspace="0" vspace="0" height="1" width="1" src="./images/void.gif"></td></tr></table></div>
+</p>
+</blockquote></td></tr></table></td></tr><!--FOOTER SEPARATOR--><tr><td colspan="2"><hr size="1" noshade="noshade"></td></tr><!--PAGE FOOTER--><tr><td colspan="2"><div align="center"><font size="-1" color="#525D76"><em>
+        Copyright &copy; 1999-2006, Apache Software Foundation
+        </em></font></div></td></tr></table></body></html>
\ No newline at end of file

Added: cs/trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/webdav/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
+    version="2.4">
+
+  <display-name>Webdav Content Management</display-name>
+  <description>
+     Webdav Content Management
+  </description>
+
+  <servlet>
+    <servlet-name>webdav</servlet-name>
+    <servlet-class>org.apache.catalina.servlets.WebdavServlet</servlet-class>
+    <init-param>
+      <param-name>debug</param-name>
+      <param-value>0</param-value>
+    </init-param>
+    <init-param>
+      <param-name>listings</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <!-- Uncomment this to enable read and write access -->
+<!--
+    <init-param>
+      <param-name>readonly</param-name>
+      <param-value>false</param-value>
+    </init-param>
+-->
+    <!--load-on-startup>1</load-on-startup-->
+  </servlet>
+
+  <!-- The mapping for the webdav servlet -->
+  <!-- Using /* as the mapping ensures that jasper, welcome files etc are
+       over-ridden and all requests are processed by the webdav servlet.
+       This also overcomes a number of issues with some webdav clients
+       (including MS Webfolders) that do not respond correctly
+ to the
+       redirects (302) that result from using a mapping of / -->
+  <servlet-mapping>
+    <servlet-name>webdav</servlet-name>
+    <url-pattern>/*</url-pattern>
+  </servlet-mapping>
+
+  <!-- ================ Security Constraints for Testing =============== -->
+
+<!--
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>The Entire Web Application</web-resource-name>
+      <url-pattern>/*</url-pattern>
+    </web-resource-collection>
+    <auth-constraint>
+      <role-name>tomcat</role-name>
+    </auth-constraint>
+  </security-constraint>
+
+  <login-config>
+    <auth-method>BASIC</auth-method>
+    <realm-name>Tomcat Supported Realm</realm-name>
+  </login-config>
+
+  <security-role>
+    <description>
+      An example role defined in "conf/tomcat-users.xml"
+    </description>
+    <role-name>tomcat</role-name>
+  </security-role>
+-->
+
+  <welcome-file-list>
+    <welcome-file/>
+  </welcome-file-list>  
+
+</web-app>

Added: cs/trunk/apps-local/apache-tomcat/webapps/webdav/index.html
===================================================================
--- cs/trunk/apps-local/apache-tomcat/webapps/webdav/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/webapps/webdav/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="GENERATOR" content="Mozilla/4.72 [en] (WinNT; U) [Netscape]">
+<meta name="Author" content="Anil K. Vijendran">
+<title>Tomcat WebDAV support</title>
+</head>
+<body bgcolor="#FFFFFF">
+<img SRC="tomcat.gif" height=92 width=130 align=LEFT><b><font face="Arial, Helvetica, sans-serif"><font size=+3>Tomcat</font></font></b> 
+<br>
+<b><font face="Arial, Helvetica, sans-serif"><font size=-1>WebDAV support</font></font></b>
+<p>This is the home page for the webdav context. This page is located at:
+<ul>
+<li>
+<font face="Courier New, Courier,mono">$TOMCAT_HOME/webapps/webdav/index.html</font></li>
+</ul>
+
+<p>Tomcat includes built-in support for WebDAV level 2, which enables 
+remote authoring of the website. You can test these capabilities using a WebDAV
+client like MS WebFolders (included with IE 4.0 and up), MS Office 2000, DAV
+Explorer (others are listed on the webpages linked below), and point to the
+<b>/webdav</b> path of the server.
+
+<p>This test context is DAV enabled, but has been set up in read-only mode for
+safety reasons. It can be put in read-write mode by editing the web 
+application descriptor file (WEB-INF/web.xml).
+
+<p>To add remote authoring to your web application, you need to make the following
+changes:
+<ul>
+<li>Add the webDAV servlet to your web application. See the web application
+deployment descriptor for an example. Don't forget to make it read/write.
+<li>Add a servlet mapping for the webDAV servlet with a url pattern of "/webdav/*"
+to your web.xml.
+<li>Add an appropriate security constraint to prevent unauthorised changes to your
+web application.
+<li>You can then edit your web application using a webDAV client using a url
+like <font face="Courier New, Courier,mono">http://host:port/webapp/webdav</font></li>
+</ul>
+
+<p>Working WebDAV clients include :
+<ul>
+<li>Adobe GoLive 5.0 (and other WebDAV-enabled Adobe products, like
+  Photoshop)</li>
+<li>Cadaver 0.15</li>
+<li>DAV Explorer 0.60 and 0.70</li>
+<li>Internet Explorer 5 (Windows 2000)</li>
+<li>Internet Explorer 5.5 (Windows 2000)</li>
+<li>Jakarta Slide 1.0 WebDAV client library</li>
+<li>Office 2000 (Windows 2000)</li>
+<li>SkunkDAV 1.0</li>
+<li>Xythos Drive</li>
+</ul>
+
+<p>WebDAV links:</p>
+<ul>
+<li><b><a href="http://www.webdav.org">General info on WebDAV</a></b></li>
+<li><b><a href="http://www.ics.uci.edu/pub/ietf/webdav/">WebDAV working 
+group</a></b></li>
+<li><b><a href="http://www.webdav.org/projects/">WebDAV clients</a></b></li>
+<li><b>
+<a href="http://jakarta.apache.org/slide/">The Jakarta Slide Project</a>
+</b></li>
+</ul>
+
+
+<hr>
+<p align="right"><font size=-1><img src="tomcat-power.gif" width="77" height="80"></font><br>
+&nbsp;
+<font size=-1>Copyright &copy; 1999-2001 Apache Software Foundation</font><br>
+<font size=-1>All Rights Reserved</font> <br>
+&nbsp;</p>
+<p align="right">&nbsp;</p>
+</body>
+</html>

Added: cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat-power.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat-power.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/webapps/webdav/tomcat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/_/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/_/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/admin/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/admin/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/balancer/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/balancer/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/index_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import javax.portlet.PortletURL;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+
+public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html;charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+ PortletURL purl = new PortletURLImpl(request, response, true); 
+      out.write('\n');
+ System.err.println("url = " + purl); 
+      out.write('\n');
+ response.sendRedirect(purl.toString()); 
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/authmodules_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,976 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import javax.portlet.RenderRequest;
+import java.util.Iterator;
+import java.util.List;
+
+public final class authmodules_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      java.lang.String services = null;
+      synchronized (request) {
+        services = (java.lang.String) _jspx_page_context.getAttribute("services", PageContext.REQUEST_SCOPE);
+        if (services == null){
+          services = new java.lang.String();
+          _jspx_page_context.setAttribute("services", services, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ RenderRequest pReq = (RenderRequest) pageContext.getAttribute("renderRequest"); 
+      out.write('\n');
+ List authModules = (List) request.getAttribute("authModules"); 
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_AUTHMODULES_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+ if (authModules.size() == 1) { 
+              out.write("\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005fmessagebox_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              //  ui:frame
+              org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+              _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+              if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005fframe_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("\n");
+                  out.write("            ");
+ Iterator it = authModules.iterator(); 
+                  out.write("\n");
+                  out.write("            ");
+ while (it.hasNext()) {
+                LoginAuthModule authModule = (LoginAuthModule) it.next(); 
+                  out.write("\n");
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablerow
+                  org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                  _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+                  int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                          _jspx_th_ui_005ftext_005f4.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                      out.write("\n");
+                      out.write("                ");
+ if (authModules.size() == 1) { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:checkbox
+                          org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                          _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                          _jspx_th_ui_005fcheckbox_005f0.setBeanId("authModCB");
+                          _jspx_th_ui_005fcheckbox_005f0.setDisabled(true);
+                          _jspx_th_ui_005fcheckbox_005f0.setSelected(true);
+                          _jspx_th_ui_005fcheckbox_005f0.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+                          if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                      out.write("\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:checkbox
+                          org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                          _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                          _jspx_th_ui_005fcheckbox_005f1.setBeanId("authModCB");
+                          _jspx_th_ui_005fcheckbox_005f1.setSelected( authModule.isModuleActive() );
+                          _jspx_th_ui_005fcheckbox_005f1.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                          if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:textfield
+                          org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                          _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                          _jspx_th_ui_005ftextfield_005f0.setName( authModule.getModuleName() );
+                          _jspx_th_ui_005ftextfield_005f0.setValue( String.valueOf(authModule.getModulePriority()) );
+                          _jspx_th_ui_005ftextfield_005f0.setSize(3);
+                          int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                          if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f8.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+                          _jspx_th_ui_005ftext_005f5.setValue( authModule.getModuleDescription(pReq.getLocale()) );
+                          int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                  out.write("\n");
+                  out.write("\n");
+                  out.write("            ");
+ } 
+                  out.write("\n");
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f1 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fmessagebox_005f1.setKey("LOGIN_AUTHMODULES_ONEREQ");
+    int _jspx_eval_ui_005fmessagebox_005f1 = _jspx_th_ui_005fmessagebox_005f1.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+    _jspx_th_ui_005ftablerow_005f0.setZebra(true);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_MODULE_NAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_MODULE_ISACTIVE");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LOGIN_MODULE_PRIORITY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_MODULE_DESC");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveAuthModules");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,410 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class errorconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ Boolean sendMail = (Boolean) request.getAttribute("sendMail"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_ERROR_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        <p>\n");
+              out.write("            ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f0.setBeanId("errorRB");
+              _jspx_th_ui_005fradiobutton_005f0.setValue("NOMAIL");
+              _jspx_th_ui_005fradiobutton_005f0.setSelected( !sendMail.booleanValue() );
+              int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+              out.write("\n");
+              out.write("            ");
+              if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("        </p>\n");
+              out.write("\n");
+              out.write("        <p>\n");
+              out.write("            ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f1.setBeanId("errorRB");
+              _jspx_th_ui_005fradiobutton_005f1.setValue("MAIL");
+              _jspx_th_ui_005fradiobutton_005f1.setSelected( sendMail.booleanValue() );
+              int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+              out.write("\n");
+              out.write("            ");
+              if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("        </p>\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CONFIG_ERROR_STACKTRACE_MSG");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_CONFIG_ERROR_MAIL_MSG");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("configErrorSettings");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,816 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class loginconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      java.lang.String services = null;
+      synchronized (request) {
+        services = (java.lang.String) _jspx_page_context.getAttribute("services", PageContext.REQUEST_SCOPE);
+        if (services == null){
+          services = new java.lang.String();
+          _jspx_page_context.setAttribute("services", services, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write("\n");
+      out.write("\n");
+      out.write("<script type=\"text/javascript\">\n");
+      out.write("    function checkUserCreate(elem, id) {\n");
+      out.write("        if (elem) {\n");
+      out.write("            document.getElementById(id).checked = true;\n");
+      out.write("        }\n");
+      out.write("    }\n");
+      out.write("\n");
+      out.write("    function checkAllowUsers(elem, id) {\n");
+      out.write("        if (!elem) {\n");
+      out.write("            document.getElementById(id).checked = false;\n");
+      out.write("        }\n");
+      out.write("    }\n");
+      out.write("\n");
+      out.write("    function checkSavePass(elem, id) {\n");
+      out.write("        document.getElementById(id).checked = elem;\n");
+      out.write("    }\n");
+      out.write("    //  End -->\n");
+      out.write("</script>\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        <ul style=\"list-style-type: none;\">\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                <ul style=\"list-style-type: none;\">\n");
+              out.write("                    <li>\n");
+              out.write("                        ");
+              if (_jspx_meth_ui_005fcheckbox_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                        ");
+              if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                    </li>\n");
+              out.write("                </ul>\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005fcheckbox_005f2(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005fcheckbox_005f3(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005fcheckbox_005f4(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005fcheckbox_005f5(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                <br/>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("            <li>\n");
+              out.write("                ");
+ Boolean isUsernameLogin = (Boolean) request.getAttribute("isUsernameLogin"); 
+              out.write("\n");
+              out.write("                ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f0.setBeanId("loginRB");
+              _jspx_th_ui_005fradiobutton_005f0.setValue("TRUE");
+              _jspx_th_ui_005fradiobutton_005f0.setSelected( (isUsernameLogin == Boolean.TRUE) );
+              int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("                ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f1.setBeanId("loginRB");
+              _jspx_th_ui_005fradiobutton_005f1.setValue("FALSE");
+              _jspx_th_ui_005fradiobutton_005f1.setSelected( (isUsernameLogin == Boolean.FALSE) );
+              int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+              out.write("\n");
+              out.write("                ");
+              if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("            </li>\n");
+              out.write("        </ul>\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f0.setId("allowCreateCB");
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("acctCB");
+    _jspx_th_ui_005fcheckbox_005f0.setValue("TRUE");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("checkAllowUsers( this.checked, 'userApprovalCB' )");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CONFIG_ALLOW");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f1.setId("userApprovalCB");
+    _jspx_th_ui_005fcheckbox_005f1.setOnClick("checkUserCreate( this.checked, 'allowCreateCB' )");
+    _jspx_th_ui_005fcheckbox_005f1.setBeanId("acctApproval");
+    _jspx_th_ui_005fcheckbox_005f1.setValue("FALSE");
+    int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_ACCOUNT_APPROVAL");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f2 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f2.setId("notifyCB");
+    _jspx_th_ui_005fcheckbox_005f2.setOnClick("checkUserCreate( this.checked, 'savePassCB' )");
+    _jspx_th_ui_005fcheckbox_005f2.setBeanId("notifyCB");
+    _jspx_th_ui_005fcheckbox_005f2.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f2 = _jspx_th_ui_005fcheckbox_005f2.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f2.setKey("LOGIN_CONFIG_NOTIFY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f3 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f3.setBeanId("supportx509CB");
+    _jspx_th_ui_005fcheckbox_005f3.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f3 = _jspx_th_ui_005fcheckbox_005f3.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_CONFIG_X509");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f4 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f4.setBeanId("remUserCB");
+    _jspx_th_ui_005fcheckbox_005f4.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f4 = _jspx_th_ui_005fcheckbox_005f4.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f4.setKey("LOGIN_REMUSER");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f5 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f5.setId("savePassCB");
+    _jspx_th_ui_005fcheckbox_005f5.setOnClick("checkSavePass( this.checked, 'notifyCB' )");
+    _jspx_th_ui_005fcheckbox_005f5.setBeanId("savepassCB");
+    _jspx_th_ui_005fcheckbox_005f5.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f5 = _jspx_th_ui_005fcheckbox_005f5.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f5.setKey("LOGIN_CONFIG_PASSWD");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f6.setStyle("alert");
+    _jspx_th_ui_005ftext_005f6.setKey("LOGIN_CONFIG_PASSWD1");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("LOGIN_TRIES_MSG");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("numTriesTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f8.setKey("LOGIN_USERNAME");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f9.setKey("LOGIN_EMAIL");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("setLoginSettings");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1033 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class mailconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_SMTP");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("CONFIG_MAILHOST");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f1.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("mailServerTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("CONFIG_MAILPORT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("mailPortTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f2.setKey("CONFIG_MAILFROM");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("mailFromTF");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f3.setKey("CONFIG_MAILADMIN");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f7.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("adminTF");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveMailConfig");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2303 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class msgconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f1(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f2(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f3(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_FORGET");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(50);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("forgotHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:<br> <span style=\"font-size: smaller; color: red\">(links will be placed in the body automatically)</span>");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextarea_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f0 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextarea_005f0.setCols(50);
+    _jspx_th_ui_005ftextarea_005f0.setBeanId("forgotBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f0 = _jspx_th_ui_005ftextarea_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                        ");
+        if (_jspx_meth_ui_005factionparam_005f0(_jspx_th_ui_005factionsubmit_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f0);
+    _jspx_th_ui_005factionparam_005f0.setName("type");
+    _jspx_th_ui_005factionparam_005f0.setValue("forgot");
+    int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f1.setParent(null);
+    int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+    if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005fgroup_005f1.setKey("LOGIN_CONFIG_ACTIVATE");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftextfield_005f1.setSize(50);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("activateHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextarea_005f1(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f1 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftextarea_005f1.setCols(50);
+    _jspx_th_ui_005ftextarea_005f1.setBeanId("activateBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f1 = _jspx_th_ui_005ftextarea_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                        ");
+        if (_jspx_meth_ui_005factionparam_005f1(_jspx_th_ui_005factionsubmit_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f1 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f1);
+    _jspx_th_ui_005factionparam_005f1.setName("type");
+    _jspx_th_ui_005factionparam_005f1.setValue("activate");
+    int _jspx_eval_ui_005factionparam_005f1 = _jspx_th_ui_005factionparam_005f1.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f2 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f2.setParent(null);
+    int _jspx_eval_ui_005fform_005f2 = _jspx_th_ui_005fform_005f2.doStartTag();
+    if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f2(_jspx_th_ui_005fform_005f2, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f2 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f2);
+    _jspx_th_ui_005fgroup_005f2.setKey("LOGIN_CONFIG_APPROVED");
+    int _jspx_eval_ui_005fgroup_005f2 = _jspx_th_ui_005fgroup_005f2.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f2(_jspx_th_ui_005fgroup_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f2 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f2);
+    int _jspx_eval_ui_005fframe_005f2 = _jspx_th_ui_005fframe_005f2.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f8(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftextfield_005f2.setSize(50);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("approvedHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextarea_005f2(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f2 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftextarea_005f2.setCols(50);
+    _jspx_th_ui_005ftextarea_005f2.setBeanId("approvedBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f2 = _jspx_th_ui_005ftextarea_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f15(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f15.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                        ");
+        if (_jspx_meth_ui_005factionparam_005f2(_jspx_th_ui_005factionsubmit_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f2 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f2);
+    _jspx_th_ui_005factionparam_005f2.setName("type");
+    _jspx_th_ui_005factionparam_005f2.setValue("approved");
+    int _jspx_eval_ui_005factionparam_005f2 = _jspx_th_ui_005factionparam_005f2.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f3(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f3 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f3.setParent(null);
+    int _jspx_eval_ui_005fform_005f3 = _jspx_th_ui_005fform_005f3.doStartTag();
+    if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f3(_jspx_th_ui_005fform_005f3, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f3 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f3);
+    _jspx_th_ui_005fgroup_005f3.setKey("LOGIN_CONFIG_DENIED");
+    int _jspx_eval_ui_005fgroup_005f3 = _jspx_th_ui_005fgroup_005f3.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f3(_jspx_th_ui_005fgroup_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f3 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f3);
+    int _jspx_eval_ui_005fframe_005f3 = _jspx_th_ui_005fframe_005f3.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f10(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f11(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f17(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f17(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f17.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005ftextfield_005f3.setSize(50);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("deniedHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f10 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f10 = _jspx_th_ui_005ftablerow_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f10.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f19(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f20(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f19(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f19 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f19.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f19.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    int _jspx_eval_ui_005ftablecell_005f19 = _jspx_th_ui_005ftablecell_005f19.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f19.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f19.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f19.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f19.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f20(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f20 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f20.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f20.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    int _jspx_eval_ui_005ftablecell_005f20 = _jspx_th_ui_005ftablecell_005f20.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f20.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f20.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextarea_005f3(_jspx_th_ui_005ftablecell_005f20, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f20.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f20.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f20);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f20);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f20, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f3 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f20);
+    _jspx_th_ui_005ftextarea_005f3.setCols(50);
+    _jspx_th_ui_005ftextarea_005f3.setBeanId("deniedBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f3 = _jspx_th_ui_005ftextarea_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f11 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f11 = _jspx_th_ui_005ftablerow_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f11.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f21(_jspx_th_ui_005ftablerow_005f11, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f22(_jspx_th_ui_005ftablerow_005f11, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f21(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f21 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f21.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f21.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f11);
+    int _jspx_eval_ui_005ftablecell_005f21 = _jspx_th_ui_005ftablecell_005f21.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f21.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f21.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f21, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f21.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f21.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f21);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f21);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f21, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f21);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                        ");
+        if (_jspx_meth_ui_005factionparam_005f3(_jspx_th_ui_005factionsubmit_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f3 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f3);
+    _jspx_th_ui_005factionparam_005f3.setName("type");
+    _jspx_th_ui_005factionparam_005f3.setValue("denied");
+    int _jspx_eval_ui_005factionparam_005f3 = _jspx_th_ui_005factionparam_005f3.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f22(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f22 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f22.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f22.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f11);
+    int _jspx_eval_ui_005ftablecell_005f22 = _jspx_th_ui_005ftablecell_005f22.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f22.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f22);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f22);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/config/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,251 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftabbedpane;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftabbedpane = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftabbedpane.release();
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005ftabbedpane_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftabbedpane_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tabbedpane
+    org.gridsphere.provider.portletui.tags.TabbedPaneTag _jspx_th_ui_005ftabbedpane_005f0 = (org.gridsphere.provider.portletui.tags.TabbedPaneTag) _005fjspx_005ftagPool_005fui_005ftabbedpane.get(org.gridsphere.provider.portletui.tags.TabbedPaneTag.class);
+    _jspx_th_ui_005ftabbedpane_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftabbedpane_005f0.setParent(null);
+    int _jspx_eval_ui_005ftabbedpane_005f0 = _jspx_th_ui_005ftabbedpane_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftabbedpane_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftabbedpane_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftab_005f0(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftab_005f1(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftab_005f2(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftab_005f3(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftab_005f4(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005ftabbedpane_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftabbedpane_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftabbedpane.reuse(_jspx_th_ui_005ftabbedpane_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftabbedpane.reuse(_jspx_th_ui_005ftabbedpane_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f0 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f0.setLabel("loginconfig");
+    _jspx_th_ui_005ftab_005f0.setKey("CONFIG_LOGIN_TAB");
+    _jspx_th_ui_005ftab_005f0.setPage("/jsp/admin/config/loginconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f0 = _jspx_th_ui_005ftab_005f0.doStartTag();
+    if (_jspx_th_ui_005ftab_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f1 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f1.setLabel("authmodules");
+    _jspx_th_ui_005ftab_005f1.setKey("CONFIG_AUTH_TAB");
+    _jspx_th_ui_005ftab_005f1.setPage("/jsp/admin/config/authmodules.jsp");
+    int _jspx_eval_ui_005ftab_005f1 = _jspx_th_ui_005ftab_005f1.doStartTag();
+    if (_jspx_th_ui_005ftab_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f2 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f2.setLabel("mailconfig");
+    _jspx_th_ui_005ftab_005f2.setKey("CONFIG_MAIL_TAB");
+    _jspx_th_ui_005ftab_005f2.setPage("/jsp/admin/config/mailconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f2 = _jspx_th_ui_005ftab_005f2.doStartTag();
+    if (_jspx_th_ui_005ftab_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f3 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f3.setLabel("msgconfig");
+    _jspx_th_ui_005ftab_005f3.setKey("CONFIG_MSG_TAB");
+    _jspx_th_ui_005ftab_005f3.setPage("/jsp/admin/config/msgconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f3 = _jspx_th_ui_005ftab_005f3.doStartTag();
+    if (_jspx_th_ui_005ftab_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f4 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f4.setLabel("errconfig");
+    _jspx_th_ui_005ftab_005f4.setKey("CONFIG_ERR_TAB");
+    _jspx_th_ui_005ftab_005f4.setPage("/jsp/admin/config/errorconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f4 = _jspx_th_ui_005ftab_005f4.doStartTag();
+    if (_jspx_th_ui_005ftab_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f4);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/layout/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1492 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String actionURI = null;
+      synchronized (request) {
+        actionURI = (java.lang.String) _jspx_page_context.getAttribute("actionURI", PageContext.REQUEST_SCOPE);
+        if (actionURI == null){
+          actionURI = new java.lang.String();
+          _jspx_page_context.setAttribute("actionURI", actionURI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String layoutlabel = null;
+      synchronized (request) {
+        layoutlabel = (java.lang.String) _jspx_page_context.getAttribute("layoutlabel", PageContext.REQUEST_SCOPE);
+        if (layoutlabel == null){
+          layoutlabel = new java.lang.String();
+          _jspx_page_context.setAttribute("layoutlabel", layoutlabel, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String pageName = null;
+      synchronized (request) {
+        pageName = (java.lang.String) _jspx_page_context.getAttribute("pageName", PageContext.REQUEST_SCOPE);
+        if (pageName == null){
+          pageName = new java.lang.String();
+          _jspx_page_context.setAttribute("pageName", pageName, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+ String pane = (String) request.getAttribute("pane"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>\n");
+      out.write("    ");
+      if (_jspx_meth_ui_005ftext_005f4(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("    &nbsp;<b>");
+      out.print( pageName );
+      out.write("\n");
+      out.write("</b></h3>\n");
+      out.write("\n");
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f1.setParent(null);
+      int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f1.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005fform_005f2(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f3 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f3.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+          int _jspx_eval_ui_005fframe_005f3 = _jspx_th_ui_005fframe_005f3.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f3.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  _jspx_th_ui_005ftablecell_005f5.setWidth("60%");
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      out.write("\n");
+                      out.write("                ");
+                      out.print( pane );
+                      out.write("\n");
+                      out.write("                ");
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f3.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:form
+          org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f3 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+          _jspx_th_ui_005fform_005f3.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fform_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+          int _jspx_eval_ui_005fform_005f3 = _jspx_th_ui_005fform_005f3.doStartTag();
+          if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fform_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fform_005f3.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              //  ui:frame
+              org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f4 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+              _jspx_th_ui_005fframe_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fframe_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f3);
+              int _jspx_eval_ui_005fframe_005f4 = _jspx_th_ui_005fframe_005f4.doStartTag();
+              if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005fframe_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005fframe_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablerow
+                  org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                  _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f4);
+                  int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                      int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+ if (!controlUI.equals("")) { 
+                          out.write("\n");
+                          out.write("                    ");
+                          org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,  controlUI + ".jsp" , out, false);
+                          out.write("\n");
+                          out.write("                    ");
+ } 
+                          out.write("\n");
+                          out.write("                    ");
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005fframe_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005fframe_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+              out.write("\n");
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fform_005f3.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fform_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f1);
+      out.write("\n");
+      out.write("\n");
+      out.write("<hr/>\n");
+      out.write("\n");
+      out.write("*\n");
+      if (_jspx_meth_ui_005ftext_005f8(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("&nbsp; <b>$CATALINA_HOME/webapps");
+      out.print( request.getContextPath() );
+      out.write("/WEB-INF/CustomPortal/layouts/{guest.xml,\n");
+      out.write("    loggedin.xml}</b>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_CUSTOMIZE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("layoutsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("selectLayout");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LAYOUT_DISPLAY");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_SEL_THEME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("themesLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("selectTheme");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    _jspx_th_ui_005fgroup_005f0.setKey("LAYOUT_PAGE_DETAILS");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fform_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+    if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_EDIT_TITLE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("titleTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_EDIT_KEYWORDS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("keywordsTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("savePageDetails");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent(null);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_EDIT_COMPS");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f2 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    int _jspx_eval_ui_005fform_005f2 = _jspx_th_ui_005fform_005f2.doStartTag();
+    if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fframe_005f2(_jspx_th_ui_005fform_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f2 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f2);
+    int _jspx_eval_ui_005fframe_005f2 = _jspx_th_ui_005fframe_005f2.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005flistbox_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write(' ');
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        if (_jspx_meth_ui_005fcheckbox_005f1(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f5.setKey("LAYOUT_SEL_TOPS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f2 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005flistbox_005f2.setBeanId("navigationLB");
+    int _jspx_eval_ui_005flistbox_005f2 = _jspx_th_ui_005flistbox_005f2.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f6.setKey("LAYOUT_SEL_SHOW_MODES");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("showModesCB");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f7.setKey("LAYOUT_SEL_SHOW_STATES");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f1.setBeanId("showStatesCB");
+    int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveNav");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("compHF");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent(null);
+    _jspx_th_ui_005ftext_005f8.setKey("LAYOUT_EDIT_MSG");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1393 @@
+package org.apache.jsp.jsp.admin.portlets;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.services.core.tomcat.TomcatWebAppDescription;
+import java.util.List;
+
+public final class listPortletApps_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setKey("PORTLET_CURRENT");
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+ List result = (List) request.getAttribute("result"); 
+              out.write("\n");
+              out.write("        ");
+ for (int i = 0; i < result.size(); i++) { 
+              out.write("\n");
+              out.write("        ");
+ TomcatWebAppDescription description = (TomcatWebAppDescription) result.get(i); 
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005factionlink_005f0.setAction("displayWebapp");
+                      _jspx_th_ui_005factionlink_005f0.setValue( description.getContextPath() );
+                      int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f0.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f0);
+                          _jspx_th_ui_005factionparam_005f0.setName("appname");
+                          _jspx_th_ui_005factionparam_005f0.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f0.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f0);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                      _jspx_th_ui_005ftext_005f6.setValue( description.getDescription() );
+                      int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f8.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+                      _jspx_th_ui_005ftext_005f7.setValue( description.getRunning() );
+                      int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f9.setAlign("center");
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                      _jspx_th_ui_005ftext_005f8.setValue( description.getSessions() );
+                      int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f10.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (request.getContextPath().equalsIgnoreCase("/" + description.getContextPath())) { 
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                ");
+ if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { 
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f1.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f1.setKey("PORTLET_START");
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005factionparam_005f1(_jspx_th_ui_005factionlink_005f1, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f2 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f2.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f2.setName("context");
+                          _jspx_th_ui_005factionparam_005f2.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f2 = _jspx_th_ui_005factionparam_005f2.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f2 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f2.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f2.setKey("PORTLET_STOP");
+                      int _jspx_eval_ui_005factionlink_005f2 = _jspx_th_ui_005factionlink_005f2.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f2.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005factionparam_005f3(_jspx_th_ui_005factionlink_005f2, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f4 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f4.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f2);
+                          _jspx_th_ui_005factionparam_005f4.setName("context");
+                          _jspx_th_ui_005factionparam_005f4.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f4 = _jspx_th_ui_005factionparam_005f4.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f4);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f4);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f2.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f2);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f2);
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f3 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f3.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f3.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f3.setKey("PORTLET_RELOAD");
+                      int _jspx_eval_ui_005factionlink_005f3 = _jspx_th_ui_005factionlink_005f3.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f3.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005factionparam_005f5(_jspx_th_ui_005factionlink_005f3, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f6 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f6.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f3);
+                          _jspx_th_ui_005factionparam_005f6.setName("context");
+                          _jspx_th_ui_005factionparam_005f6.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f6 = _jspx_th_ui_005factionparam_005f6.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f6);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f6);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f3.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f3);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f3);
+                      out.write("\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                &nbsp;&nbsp;\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f4 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f4.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f4.setKey("PORTLET_REMOVE");
+                      int _jspx_eval_ui_005factionlink_005f4 = _jspx_th_ui_005factionlink_005f4.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f4.doInitBody();
+                        }
+                        do {
+                          out.write("&nbsp;&nbsp;\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005factionparam_005f7(_jspx_th_ui_005factionlink_005f4, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f8 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f8.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f4);
+                          _jspx_th_ui_005factionparam_005f8.setName("context");
+                          _jspx_th_ui_005factionparam_005f8.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f8 = _jspx_th_ui_005factionparam_005f8.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f8);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f8);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f4.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f4);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f4);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f11.setAlign("center");
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (description.getStatus().equals(PortletStatus.SUCCESS)) { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif" );
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f1 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fimage_005f1.setSrc( request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif" );
+                      int _jspx_eval_ui_005fimage_005f1 = _jspx_th_ui_005fimage_005f1.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f1);
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005ftext_005f13.setStyle("underline");
+                      _jspx_th_ui_005ftext_005f13.setId( description.getContextPath() );
+                      _jspx_th_ui_005ftext_005f13.setKey("FAILURE");
+                      int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:tooltip
+                      org.gridsphere.provider.portletui.tags.TooltipTag _jspx_th_ui_005ftooltip_005f0 = (org.gridsphere.provider.portletui.tags.TooltipTag) _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.get(org.gridsphere.provider.portletui.tags.TooltipTag.class);
+                      _jspx_th_ui_005ftooltip_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftooltip_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005ftooltip_005f0.setName( description.getContextPath() );
+                      _jspx_th_ui_005ftooltip_005f0.setId( description.getContextPath() + "tooltip" );
+                      _jspx_th_ui_005ftooltip_005f0.setValue( description.getStatusMessage() );
+                      int _jspx_eval_ui_005ftooltip_005f0 = _jspx_th_ui_005ftooltip_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftooltip_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.reuse(_jspx_th_ui_005ftooltip_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.reuse(_jspx_th_ui_005ftooltip_005f0);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("PORTLET_VIEW_DETAILS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f1.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("PORTLET_DESC");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("PORTLET_RUNNING");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("80");
+    _jspx_th_ui_005ftablecell_005f3.setAlign("center");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("PORTLET_SESSIONS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("PORTLET_ACTIONS");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("PORTLET_STATUS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f9.setKey("PORTLET_GS_MSG");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f1 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+    _jspx_th_ui_005factionparam_005f1.setName("operation");
+    _jspx_th_ui_005factionparam_005f1.setValue("start");
+    int _jspx_eval_ui_005factionparam_005f1 = _jspx_th_ui_005factionparam_005f1.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f10.setKey("PORTLET_STOP");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f11.setKey("PORTLET_START");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f3 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f2);
+    _jspx_th_ui_005factionparam_005f3.setName("operation");
+    _jspx_th_ui_005factionparam_005f3.setValue("stop");
+    int _jspx_eval_ui_005factionparam_005f3 = _jspx_th_ui_005factionparam_005f3.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f5 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f3);
+    _jspx_th_ui_005factionparam_005f5.setName("operation");
+    _jspx_th_ui_005factionparam_005f5.setValue("reload");
+    int _jspx_eval_ui_005factionparam_005f5 = _jspx_th_ui_005factionparam_005f5.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f7 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f4);
+    _jspx_th_ui_005factionparam_005f7.setName("operation");
+    _jspx_th_ui_005factionparam_005f7.setValue("remove");
+    int _jspx_eval_ui_005factionparam_005f7 = _jspx_th_ui_005factionparam_005f7.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005ftext_005f12.setKey("SUCCESS");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,261 @@
+package org.apache.jsp.jsp.admin.portlets;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class viewPortletApp_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String webappname = null;
+      synchronized (_jspx_page_context) {
+        webappname = (java.lang.String) _jspx_page_context.getAttribute("webappname", PageContext.PAGE_SCOPE);
+        if (webappname == null){
+          webappname = new java.lang.String();
+          _jspx_page_context.setAttribute("webappname", webappname, PageContext.PAGE_SCOPE);
+        }
+      }
+      out.write("\n");
+      out.write("\n");
+      out.write("<h2>\n");
+      out.write("    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("    ");
+      out.print( request.getAttribute("webappname") );
+      out.write("\n");
+      out.write("</h2>\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>\n");
+      out.write("    ");
+      if (_jspx_meth_ui_005frenderlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("</h3>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("PORTLET_DISPLAY_PORTLETS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005fpanel_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpanel_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:panel
+    org.gridsphere.provider.portletui.tags.PanelTag _jspx_th_ui_005fpanel_005f0 = (org.gridsphere.provider.portletui.tags.PanelTag) _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PanelTag.class);
+    _jspx_th_ui_005fpanel_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpanel_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fpanel_005f0.setBeanId("panel");
+    int _jspx_eval_ui_005fpanel_005f0 = _jspx_th_ui_005fpanel_005f0.doStartTag();
+    if (_jspx_th_ui_005fpanel_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpanel_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpanel_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent(null);
+    _jspx_th_ui_005frenderlink_005f0.setRender("listPortlets");
+    _jspx_th_ui_005frenderlink_005f0.setKey("PORTLET_LIST_APPS");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,902 @@
+package org.apache.jsp.jsp.admin.roles;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.role.PortletRole;
+import java.util.List;
+
+public final class doViewRolesList_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fname;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable_005fzebra;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fname = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable_005fzebra = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fname.release();
+    _005fjspx_005ftagPool_005fui_005ftable_005fzebra.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ List coreRoles = (List) request.getAttribute("coreRoleList"); 
+      out.write('\n');
+ List<PortletRole> roleList = (List<PortletRole>) request.getAttribute("roleList"); 
+      out.write('\n');
+ List<PortletRole> defRoles = (List<PortletRole>) request.getAttribute("defRoles"); 
+      out.write("\n");
+      out.write("<h3>\n");
+      out.write("    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("</h3>\n");
+      out.write("\n");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("\n");
+      out.write("<p/>\n");
+      out.write("\n");
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fname.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setName("roleform");
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable_005fzebra.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005ftable_005f0.setZebra(true);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+ if (roleList.size() > 2) { 
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (roleList.size() > 3) { 
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n");
+                  out.write("            ");
+ } 
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+ for (PortletRole role : roleList) { 
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (defRoles.contains(role)) { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005fcheckbox_005f1.setName("rolesDefCB");
+                      _jspx_th_ui_005fcheckbox_005f1.setValue( role.getName() );
+                      _jspx_th_ui_005fcheckbox_005f1.setSelected(true);
+                      int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                      out.write("\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f2 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005fcheckbox_005f2.setName("rolesDefCB");
+                      _jspx_th_ui_005fcheckbox_005f2.setValue( role.getName() );
+                      int _jspx_eval_ui_005fcheckbox_005f2 = _jspx_th_ui_005fcheckbox_005f2.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                  out.write("\n");
+                  out.write("            ");
+ if (roleList.size() > 2) { 
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (!coreRoles.contains(role.getName().toUpperCase())) { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f3 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f3.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                      _jspx_th_ui_005fcheckbox_005f3.setName("rolesCB");
+                      _jspx_th_ui_005fcheckbox_005f3.setValue( role.getName() );
+                      int _jspx_eval_ui_005fcheckbox_005f3 = _jspx_th_ui_005fcheckbox_005f3.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n");
+                  out.write("            ");
+ } 
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005factionlink_005f1.setAction("doEditRole");
+                      _jspx_th_ui_005factionlink_005f1.setValue( role.getName() );
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f0.setName("roleName");
+                          _jspx_th_ui_005factionparam_005f0.setValue( role.getName() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                      _jspx_th_ui_005ftext_005f5.setValue( role.getDescription() );
+                      int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n");
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable_005fzebra.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable_005fzebra.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("    ");
+ if (roleList.size() > 2) { 
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("    ");
+ } 
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("ROLE_SHOW_ROLES");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setCssStyle("text-decoration: underline; font-weight: bold;");
+    _jspx_th_ui_005factionlink_005f0.setAction("doEditRole");
+    _jspx_th_ui_005factionlink_005f0.setKey("ROLE_CREATE_ROLE");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setStyle("bold");
+    _jspx_th_ui_005ftext_005f1.setKey("ROLE_EDIT_DEFAULT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005fcheckbox_005f0.setName("all");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("GridSphere_CheckAll(document.roleform.rolesCB, this)");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setStyle("bold");
+    _jspx_th_ui_005ftext_005f2.setKey("DELETE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setStyle("bold");
+    _jspx_th_ui_005ftext_005f3.setKey("ROLE_EDIT_USERS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f4.setStyle("bold");
+    _jspx_th_ui_005ftext_005f4.setKey("ROLEDESC");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveDefaultRoles");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("ROLE_SAVE_DEFAULT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doDeleteRole");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1693 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.user.User;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+public final class doViewUserList_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fname;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable_005fbeanId;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fname = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fname.release();
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ List<User> userList = (List<User>) request.getAttribute("userList"); 
+      out.write("\n");
+      out.write("\n");
+      out.write("<h3>\n");
+      out.write("    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("</h3>\n");
+      out.write("\n");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("<p/>\n");
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+if (!userList.isEmpty()) { 
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fname.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f1.setParent(null);
+      _jspx_th_ui_005fform_005f1.setName("myform");
+      int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f1.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+          _jspx_th_ui_005ftable_005f1.setBeanId("userTable");
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              _jspx_th_ui_005ftablerow_005f1.setHeader(true);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                      _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/images/editor.png" );
+                      _jspx_th_ui_005fimage_005f0.setAlt("Edit");
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n");
+              out.write("        ");
+ for (User user : userList) { 
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fcheckbox_005f1.setName("usersCB");
+                      _jspx_th_ui_005fcheckbox_005f1.setValue( user.getID() );
+                      int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f12.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+                      _jspx_th_ui_005factionlink_005f1.setCssStyle("text-decoration: underline;");
+                      _jspx_th_ui_005factionlink_005f1.setAction("doEditUser");
+                      _jspx_th_ui_005factionlink_005f1.setValue( user.getFullName() );
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f0.setName("userID");
+                          _jspx_th_ui_005factionparam_005f0.setValue( user.getID() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+                      _jspx_th_ui_005ftext_005f11.setValue( user.getUserName() );
+                      int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f14.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                <a href=\"");
+                      out.print( "mailto:" + user.getEmailAddress() );
+                      out.write('"');
+                      out.write('>');
+                      out.print( user.getEmailAddress() );
+                      out.write("\n");
+                      out.write("                </a>\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f15.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+                      _jspx_th_ui_005ftext_005f12.setValue( user.getOrganization() );
+                      int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f16.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+                      _jspx_th_ui_005ftext_005f13.setValue( (user.getNumLogins()).toString() );
+                      int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f16);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f16);
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f17.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+ if (user.getLastLoginTime() == null) { 
+                      out.write("\n");
+                      out.write("                ");
+                      if (_jspx_meth_ui_005ftext_005f14(_jspx_th_ui_005ftablecell_005f17, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f15 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f15.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+                      _jspx_th_ui_005ftext_005f15.setValue( new SimpleDateFormat("MMM d yyyy hh:mm a").format(user.getLastLoginTime()).toString() );
+                      int _jspx_eval_ui_005ftext_005f15 = _jspx_th_ui_005ftext_005f15.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+                      out.write("\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+            return;
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+      out.write('\n');
+      out.write('\n');
+ } else { 
+      out.write('\n');
+      if (_jspx_meth_ui_005ftext_005f16(_jspx_page_context))
+        return;
+      out.write('\n');
+ } 
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("USER_SHOW_USERS");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setCssStyle("text-decoration: underline; font-weight: bold;");
+    _jspx_th_ui_005factionlink_005f0.setAction("doNewUser");
+    _jspx_th_ui_005factionlink_005f0.setKey("USER_CREATE_USER");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fform_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                &nbsp;&nbsp;\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                &nbsp;&nbsp;\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                &nbsp;&nbsp;\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("USER_PER_PAGE");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("usersPageLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("USER_SEARCH_EMAIL");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(15);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userEmailTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setKey("USER_SEARCH_ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftextfield_005f1.setSize(10);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("userOrgTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("filterUserList");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("USER_VIEW");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f0.setName("all");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("GridSphere_CheckAll(document.myform.usersCB, this)");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("SELECT");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("USER_EDIT_USER");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f6.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftext_005f7.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f8.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftext_005f9.setKey("NUMLOGINS");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f10.setKey("LASTLOGINDATE");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f17, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f14 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+    _jspx_th_ui_005ftext_005f14.setValue("--");
+    int _jspx_eval_ui_005ftext_005f14 = _jspx_th_ui_005ftext_005f14.doStartTag();
+    if (_jspx_th_ui_005ftext_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doDeleteUser");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("USER_DELETE_USER");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doComposeEmail");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("USER_SEND_EMAIL");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f16(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f16 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f16.setParent(null);
+    _jspx_th_ui_005ftext_005f16.setStyle("alert");
+    _jspx_th_ui_005ftext_005f16.setKey("USER_NO_RESULTS");
+    int _jspx_eval_ui_005ftext_005f16 = _jspx_th_ui_005ftext_005f16.doStartTag();
+    if (_jspx_th_ui_005ftext_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/config_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,360 @@
+package org.apache.jsp.jsp.content;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class config_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("\n");
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("CM_BACKUP");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        <br/>\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("CM_BACKUP_HELP");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("backupContent");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("CM_BACKUPCONTENT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f1.setKey("CM_IMPORT");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        <br/>\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        <br/>\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("CM_IMPORT_HELP");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("filelist");
+    _jspx_th_ui_005flistbox_005f0.setSize(20);
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("importContent");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CM_IMPORTCONTENT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/content/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,937 @@
+package org.apache.jsp.jsp.content;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import java.util.List;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.release();
+    _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ List<ContentDocument> contentDocs = (List<ContentDocument>) request.getAttribute("contentDocs"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("\n");
+          out.write("    <p/>\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  _jspx_th_ui_005ftablecell_005f0.setValign("top");
+                  int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f0.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:group
+                      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+                      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+                      _jspx_th_ui_005fgroup_005f0.setKey("CM_AVAILDOCUMENTS");
+                      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+                      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005fgroup_005f0.doInitBody();
+                        }
+                        do {
+                          out.write("\n");
+                          out.write("\n");
+                          out.write("                    ");
+                          //  ui:table
+                          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+                          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+                          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+                          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftable_005f1.doInitBody();
+                            }
+                            do {
+                              out.write("\n");
+                              out.write("                        ");
+                              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                              return;
+                              out.write("\n");
+                              out.write("\n");
+                              out.write("                        ");
+ for (ContentDocument content : contentDocs) { 
+                              out.write("\n");
+                              out.write("                        ");
+                              //  ui:tablerow
+                              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+                              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                              }
+                              do {
+                              out.write("\n");
+                              out.write("                            ");
+                              //  ui:tablecell
+                              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                              _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                              int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                              }
+                              do {
+                              out.write("\n");
+                              out.write("                                ");
+                              //  ui:checkbox
+                              org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                              _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                              _jspx_th_ui_005fcheckbox_005f0.setName("nodeCB");
+                              _jspx_th_ui_005fcheckbox_005f0.setValue( content.getUuid() );
+                              int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+                              if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                              out.write("\n");
+                              out.write("                            ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                              out.write("\n");
+                              out.write("                            ");
+                              //  ui:tablecell
+                              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                              _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                              int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                              }
+                              do {
+                              out.write("\n");
+                              out.write("                                ");
+                              //  ui:renderlink
+                              org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+                              _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                              _jspx_th_ui_005frenderlink_005f0.setRender("showNode");
+                              _jspx_th_ui_005frenderlink_005f0.setValue( content.getTitle() );
+                              int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005frenderlink_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005frenderlink_005f0.doInitBody();
+                              }
+                              do {
+                              out.write("\n");
+                              out.write("                                    ");
+                              //  ui:param
+                              org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005fparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                              _jspx_th_ui_005fparam_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005fparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005frenderlink_005f0);
+                              _jspx_th_ui_005fparam_005f0.setName("nodeId");
+                              _jspx_th_ui_005fparam_005f0.setValue( content.getUuid() );
+                              int _jspx_eval_ui_005fparam_005f0 = _jspx_th_ui_005fparam_005f0.doStartTag();
+                              if (_jspx_th_ui_005fparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fparam_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fparam_005f0);
+                              out.write("\n");
+                              out.write("                                ");
+                              int evalDoAfterBody = _jspx_th_ui_005frenderlink_005f0.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.reuse(_jspx_th_ui_005frenderlink_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.reuse(_jspx_th_ui_005frenderlink_005f0);
+                              out.write("\n");
+                              out.write("                            ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                              out.write("\n");
+                              out.write("                        ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                              out.write("\n");
+                              out.write("                        ");
+ } 
+                              out.write("\n");
+                              out.write("\n");
+                              out.write("                    ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                            } while (true);
+                            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                            }
+                          }
+                          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+                          out.write("\n");
+                          out.write("\n");
+                          out.write("                    ");
+                          out.write("\n");
+                          out.write("                    <br/>\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          if (_jspx_meth_ui_005frenderlink_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                            return;
+                          out.write("\n");
+                          out.write("                    ");
+                          out.write("\n");
+                          out.write("                ");
+                          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f0);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f0);
+                  out.write("\n");
+                  out.write("            ");
+ if (request.getAttribute("showContent") != null) { 
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+ } 
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005frenderlink_005f2(_jspx_page_context))
+        return;
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("uuid");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    _jspx_th_ui_005ftablerow_005f1.setHeader(true);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f0.setKey("DELETE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("EDIT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("removeNode");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f1 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005frenderlink_005f1.setCssStyle("font-weight: bold; text-decoration: underline;");
+    _jspx_th_ui_005frenderlink_005f1.setRender("showNode");
+    _jspx_th_ui_005frenderlink_005f1.setValue("New Document");
+    int _jspx_eval_ui_005frenderlink_005f1 = _jspx_th_ui_005frenderlink_005f1.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f5.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005fgroup_005f1.setKey("CM_DOCUMENT");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                    ");
+        if (_jspx_meth_ui_005frichtexteditor_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("                ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("CM_DOCUMENT_TITLE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("title");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("saveDocument");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CM_CREATEUPDATEDOCUMENT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frichtexteditor_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:richtexteditor
+    org.gridsphere.provider.portletui.tags.RichTextEditorTag _jspx_th_ui_005frichtexteditor_005f0 = (org.gridsphere.provider.portletui.tags.RichTextEditorTag) _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RichTextEditorTag.class);
+    _jspx_th_ui_005frichtexteditor_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frichtexteditor_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005frichtexteditor_005f0.setBeanId("content");
+    _jspx_th_ui_005frichtexteditor_005f0.setCols(80);
+    _jspx_th_ui_005frichtexteditor_005f0.setRows(30);
+    int _jspx_eval_ui_005frichtexteditor_005f0 = _jspx_th_ui_005frichtexteditor_005f0.doStartTag();
+    if (_jspx_th_ui_005frichtexteditor_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005frichtexteditor_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005frichtexteditor_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f2 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f2.setParent(null);
+    _jspx_th_ui_005frenderlink_005f2.setCssStyle("font-weight: bold; text-decoration: underline;");
+    _jspx_th_ui_005frenderlink_005f2.setPortletMode("EDIT");
+    _jspx_th_ui_005frenderlink_005f2.setValue("Content Settings");
+    int _jspx_eval_ui_005frenderlink_005f2 = _jspx_th_ui_005frenderlink_005f2.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f2);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/date/date_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+package org.apache.jsp.jsp.date;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class date_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      java.lang.String date = null;
+      synchronized (request) {
+        date = (java.lang.String) _jspx_page_context.getAttribute("date", PageContext.REQUEST_SCOPE);
+        if (date == null){
+          date = new java.lang.String();
+          _jspx_page_context.setAttribute("date", date, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("<table>\n");
+      out.write("    <tr><td align=\"center\">\n");
+      out.write("        ");
+      out.print( date );
+      out.write("\n");
+      out.write("    </td></tr>\n");
+      out.write("</table>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/locale/viewlocale_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+package org.apache.jsp.jsp.locale;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.util.Locale;
+
+public final class viewlocale_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005faction.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ Locale locale = (Locale) request.getAttribute("locale"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005faction.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setAction("selectLang");
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+ String flag =  request.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; 
+          out.write("\n");
+          out.write("    <table>\n");
+          out.write("        <tr>\n");
+          out.write("            <td>\n");
+          out.write("                ");
+          //  ui:image
+          org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+          _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fimage_005f0.setSrc( flag );
+          _jspx_th_ui_005fimage_005f0.setAlt( locale.getDisplayLanguage() );
+          _jspx_th_ui_005fimage_005f0.setTitle( locale.getDisplayLanguage() );
+          int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+          if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+          out.write("\n");
+          out.write("            </td>\n");
+          out.write("            <td>\n");
+          out.write("                ");
+          if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("            </td>\n");
+          out.write("            <td>\n");
+          out.write("                <noscript>\n");
+          out.write("                    <p>\n");
+          out.write("                        ");
+          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("                    </p>\n");
+          out.write("                </noscript>\n");
+          out.write("            </td>\n");
+          out.write("        </tr>\n");
+          out.write("    </table>\n");
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("localeLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("selectLang");
+    _jspx_th_ui_005factionsubmit_005f0.setValue("ok");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/login_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1050 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+
+public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fsecure;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fsecure = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fsecure.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String certificate = null;
+      synchronized (request) {
+        certificate = (java.lang.String) _jspx_page_context.getAttribute("certificate", PageContext.REQUEST_SCOPE);
+        if (certificate == null){
+          certificate = new java.lang.String();
+          _jspx_page_context.setAttribute("certificate", certificate, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String useSecureLogin = null;
+      synchronized (request) {
+        useSecureLogin = (java.lang.String) _jspx_page_context.getAttribute("useSecureLogin", PageContext.REQUEST_SCOPE);
+        if (useSecureLogin == null){
+          useSecureLogin = new java.lang.String();
+          _jspx_page_context.setAttribute("useSecureLogin", useSecureLogin, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fsecure.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setSecure( Boolean.valueOf(useSecureLogin).booleanValue() );
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          out.write("\n");
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+ if (request.getAttribute("certificate") != null && ((String) request.getAttribute("certificate")).length() > 0) { 
+          out.write("\n");
+          out.write("    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f1.setWidth("160");
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      out.print( certificate );
+                      out.write("\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n");
+          out.write("    ");
+ } else { 
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+ if (request.getAttribute("useUserName") != null) { 
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  _jspx_th_ui_005ftablecell_005f3.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      java.lang.String userkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                      _jspx_th_ui_005ftext_005f2.setVar("userkey");
+                      _jspx_th_ui_005ftext_005f2.setKey("USER_NAME_BLANK");
+                      int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                        return;
+                      }
+                      userkey = (java.lang.String) _jspx_page_context.findAttribute("userkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                      out.write("\n");
+                      out.write("                <input class=\"checkNotEmpty#\" type=\"text\" name=\"username\" size=\"15\" maxlength=\"50\"/>\n");
+                      out.write("                <input type=\"hidden\" name=\"val#username#checkNotEmpty\" value=\"");
+                      out.print( userkey );
+                      out.write("\"/>\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+ } else { 
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  _jspx_th_ui_005ftablecell_005f6.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      java.lang.String emailkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005ftext_005f4.setVar("emailkey");
+                      _jspx_th_ui_005ftext_005f4.setKey("USER_EMAIL_BLANK");
+                      int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                        return;
+                      }
+                      emailkey = (java.lang.String) _jspx_page_context.findAttribute("emailkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                      out.write("\n");
+                      out.write("                <input class=\"checkNotEmpty#\" type=\"text\" name=\"username\" size=\"25\" maxlength=\"50\"/>\n");
+                      out.write("                <input type=\"hidden\" name=\"val#username#checkNotEmpty\" value=\"");
+                      out.print( emailkey );
+                      out.write("\"/>\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("\n");
+              out.write("        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                  _jspx_th_ui_005ftablecell_005f9.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("                ");
+                      //  ui:text
+                      java.lang.String passkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                      _jspx_th_ui_005ftext_005f6.setVar("passkey");
+                      _jspx_th_ui_005ftext_005f6.setKey("USER_PASSWORD_BLANK");
+                      int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                        return;
+                      }
+                      passkey = (java.lang.String) _jspx_page_context.findAttribute("passkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                      out.write("\n");
+                      out.write("                ");
+ if (request.getAttribute("useUserName") != null) { 
+                      out.write("\n");
+                      out.write("                <input class=\"checkNotEmpty#\" type=\"password\" name=\"password\" size=\"15\" maxlength=\"50\"/>\n");
+                      out.write("                ");
+ } else { 
+                      out.write("\n");
+                      out.write("                <input class=\"checkNotEmpty#\" type=\"password\" name=\"password\" size=\"25\" maxlength=\"50\"/>\n");
+                      out.write("                ");
+ } 
+                      out.write("\n");
+                      out.write("                <input type=\"hidden\" name=\"val#password#checkNotEmpty\" value=\"");
+                      out.print( passkey );
+                      out.write("\"/>\n");
+                      out.write("            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n");
+                  out.write("            ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+ if (request.getAttribute("remUser") != null) { 
+          out.write("\n");
+          out.write("    <p>\n");
+          out.write("        <input type=\"checkbox\" name=\"remlogin\" value=\"yes\"/>\n");
+          out.write("        ");
+          if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("    </p>\n");
+          out.write("    ");
+ } 
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+ } 
+          out.write("\n");
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+          //  ui:actionsubmit
+          org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+          _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005factionsubmit_005f0.setCssStyle("margin-right: 30px;");
+          _jspx_th_ui_005factionsubmit_005f0.setAction( SportletProperties.LOGIN );
+          _jspx_th_ui_005factionsubmit_005f0.setKey("LOGIN_ACTION");
+          int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+          if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005factionsubmit_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005factionsubmit_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("        ");
+ if (request.getParameter("cid") != null) { 
+              out.write("\n");
+              out.write("        ");
+              //  ui:actionparam
+              org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+              _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f0);
+              _jspx_th_ui_005factionparam_005f0.setName("queryString");
+              _jspx_th_ui_005factionparam_005f0.setValue( request.getParameter("cid") );
+              int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+              if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+              out.write("\n");
+              out.write("        ");
+ } 
+              out.write("\n");
+              out.write("    ");
+              int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+          out.write("\n");
+          out.write("\n");
+          out.write("    ");
+ if ((request.getAttribute("dispPass") != null) && ((request.getAttribute("certificate") == null) || ((String) request.getAttribute("certificate")).length() == 0)) { 
+          out.write("\n");
+          out.write("    ");
+          if (_jspx_meth_ui_005frenderlink_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("    ");
+ } 
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fsecure.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fsecure.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("160");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CERTIFICATE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_NAME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_EMAIL_NAME");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f5.setKey("LOGIN_PASS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("LOGIN_REMEMBER_ME");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005frenderlink_005f0.setRender("displayForgotPassword");
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_FORGOT_PASSWORD");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/login/loginnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+public final class loginnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n");
+      out.write("\n");
+      out.write("<div class=\"gridsphere-navbar\">\n");
+      out.write("    <ul>\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005frenderlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("        ");
+ PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            if (Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue()) {
+        
+      out.write("\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005frenderlink_005f1(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("        ");
+ } 
+      out.write("\n");
+      out.write("    </ul>\n");
+      out.write("</div>\n");
+      out.write("\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent(null);
+    _jspx_th_ui_005frenderlink_005f0.setLayout("login");
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_ACTION");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f1 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f1.setParent(null);
+    _jspx_th_ui_005frenderlink_005f1.setLayout("register");
+    _jspx_th_ui_005frenderlink_005f1.setKey("SIGNUP_REGISTER");
+    _jspx_th_ui_005frenderlink_005f1.setLabel("signup");
+    _jspx_th_ui_005frenderlink_005f1.setRender("doNewUser");
+    int _jspx_eval_ui_005frenderlink_005f1 = _jspx_th_ui_005frenderlink_005f1.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/profile/viewuser_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2106 @@
+package org.apache.jsp.jsp.profile;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.role.PortletRole;
+import javax.portlet.RenderRequest;
+import java.util.Locale;
+
+public final class viewuser_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.release();
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String logintime = null;
+      synchronized (request) {
+        logintime = (java.lang.String) _jspx_page_context.getAttribute("logintime", PageContext.REQUEST_SCOPE);
+        if (logintime == null){
+          logintime = new java.lang.String();
+          _jspx_page_context.setAttribute("logintime", logintime, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ Locale locale = (Locale) request.getAttribute("locale"); 
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); 
+      out.write('\n');
+ String flag = req.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; 
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("<div style=\"margin: 0px 0px 0px 15%;\">\n");
+      out.write("\n");
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write('\n');
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n");
+          out.write("\n");
+          out.write("\n");
+          out.write("<h3>");
+          if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("&nbsp;&nbsp;&nbsp;");
+          if (_jspx_meth_ui_005factionlink_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("</h3>\n");
+          out.write("\n");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n");
+              out.write("    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("        ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("            <b>");
+                      out.print( logintime );
+                      out.write("</b>\n");
+                      out.write("        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n");
+                  out.write("    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n");
+              out.write("\n");
+              out.write("    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("        ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("            ");
+ if (req.isUserInRole(PortletRole.ADMIN.getName())) { 
+                      out.write("\n");
+                      out.write("            ");
+                      if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("            ");
+ } else { 
+                      out.write("\n");
+                      out.write("            ");
+                      if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("            ");
+ } 
+                      out.write("\n");
+                      out.write("        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n");
+                  out.write("    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f7.doInitBody();
+                }
+                do {
+                  out.write("\n");
+                  out.write("        ");
+                  if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+                    return;
+                  out.write("\n");
+                  out.write("        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+                  int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f15.doInitBody();
+                    }
+                    do {
+                      out.write("\n");
+                      out.write("            ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+                      _jspx_th_ui_005fimage_005f0.setSrc( flag );
+                      _jspx_th_ui_005fimage_005f0.setAlt( locale.getDisplayLanguage() );
+                      _jspx_th_ui_005fimage_005f0.setTitle( locale.getDisplayLanguage() );
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n");
+                      out.write("            ");
+                      if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+                        return;
+                      out.write("\n");
+                      out.write("        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                  out.write("\n");
+                  out.write("    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f8(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n");
+              out.write("    ");
+              if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write('\n');
+              out.write('\n');
+              out.write('\n');
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write('\n');
+          out.write('\n');
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write("\n");
+      out.write("\n");
+      out.write("</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("PROFILE_SETTINGS");
+    _jspx_th_ui_005ftext_005f0.setStyle("bold");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionlink_005f0.setAction("doEditPassword");
+    _jspx_th_ui_005factionlink_005f0.setValue("Change password");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("PROFILE_LASTLOGIN");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userNameTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005fvalidator_005f0(_jspx_th_ui_005ftextfield_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f0 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f0);
+    _jspx_th_ui_005fvalidator_005f0.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f0.setKey("USER_NAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f0 = _jspx_th_ui_005fvalidator_005f0.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setBeanId("userName");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("firstName");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005fvalidator_005f1(_jspx_th_ui_005ftextfield_005f1, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f1 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f1);
+    _jspx_th_ui_005fvalidator_005f1.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f1.setKey("USER_GIVENNAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f1 = _jspx_th_ui_005fvalidator_005f1.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f5.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("lastName");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f2.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005fvalidator_005f2(_jspx_th_ui_005ftextfield_005f2, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f2 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f2);
+    _jspx_th_ui_005fvalidator_005f2.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f2.setKey("USER_FAMILYNAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f2 = _jspx_th_ui_005fvalidator_005f2.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f6.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("organization");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f7.setKey("USER_ROLES");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005ftext_005f8.setBeanId("userRoles");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f9.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftextfield_005f4(_jspx_th_ui_005ftablecell_005f13, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f13, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f4 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+    _jspx_th_ui_005ftextfield_005f4.setSize(30);
+    _jspx_th_ui_005ftextfield_005f4.setBeanId("emailTF");
+    int _jspx_eval_ui_005ftextfield_005f4 = _jspx_th_ui_005ftextfield_005f4.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftext_005f10.setKey("LOCALE");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("userlocale");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f8.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f17(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    _jspx_th_ui_005ftablecell_005f16.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f16.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f16, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f16, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+    _jspx_th_ui_005ftext_005f11.setKey("TIMEZONE");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f17(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f17.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f17, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f17, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("timezones");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f19(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005ftext_005f12.setKey("LAYOUT_SELECT_THEME");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f19(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f19 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f19.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f19.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f19 = _jspx_th_ui_005ftablecell_005f19.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f19.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f19.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("            ");
+        if (_jspx_meth_ui_005flistbox_005f2(_jspx_th_ui_005ftablecell_005f19, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f19.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f19.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f19, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f2 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f19);
+    _jspx_th_ui_005flistbox_005f2.setBeanId("themeLB");
+    int _jspx_eval_ui_005flistbox_005f2 = _jspx_th_ui_005flistbox_005f2.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftablerow_005f10(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f10 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f10 = _jspx_th_ui_005ftablerow_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f10.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("        ");
+        if (_jspx_meth_ui_005ftablecell_005f20(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f20(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f20 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f20.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f20.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    _jspx_th_ui_005ftablecell_005f20.setAlign("center");
+    int _jspx_eval_ui_005ftablecell_005f20 = _jspx_th_ui_005ftablecell_005f20.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f20.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f20.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f20, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f20.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f20.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f20);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f20);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f20, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f20);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveAll");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnguestnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,119 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class returnguestnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n");
+      out.write("\n");
+      out.write("<div class=\"gridsphere-navbar\">\n");
+      out.write("    <ul>\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("    </ul>\n");
+      out.write("</div>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setLayout("guest");
+    _jspx_th_ui_005factionlink_005f0.setValue("Home");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/returnnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,314 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.services.core.user.User;
+import javax.portlet.RenderRequest;
+
+public final class returnnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhasrole_005frole;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); 
+      out.write("\n");
+      out.write("\n");
+      out.write("<div class=\"gridsphere-navbar\">\n");
+      out.write("    <ul>\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("            , ");
+      out.print( username );
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("        ");
+      if (_jspx_meth_ui_005fhasrole_005f0(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005factionlink_005f3(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      if (_jspx_meth_ui_005factionlink_005f4(_jspx_page_context))
+        return;
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("        <li>\n");
+      out.write("            ");
+      //  ui:actionlink
+      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f5 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+      _jspx_th_ui_005factionlink_005f5.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005factionlink_005f5.setParent(null);
+      _jspx_th_ui_005factionlink_005f5.setAction( SportletProperties.LOGOUT );
+      _jspx_th_ui_005factionlink_005f5.setKey("LOGOUT");
+      int _jspx_eval_ui_005factionlink_005f5 = _jspx_th_ui_005factionlink_005f5.doStartTag();
+      if (_jspx_th_ui_005factionlink_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f5);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f5);
+      out.write("\n");
+      out.write("        </li>\n");
+      out.write("    </ul>\n");
+      out.write("</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_SUCCESS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhasrole_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hasrole
+    org.gridsphere.provider.portletui.tags.HasRoleTag _jspx_th_ui_005fhasrole_005f0 = (org.gridsphere.provider.portletui.tags.HasRoleTag) _005fjspx_005ftagPool_005fui_005fhasrole_005frole.get(org.gridsphere.provider.portletui.tags.HasRoleTag.class);
+    _jspx_th_ui_005fhasrole_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhasrole_005f0.setParent(null);
+    _jspx_th_ui_005fhasrole_005f0.setRole("ADMIN");
+    int _jspx_eval_ui_005fhasrole_005f0 = _jspx_th_ui_005fhasrole_005f0.doStartTag();
+    if (_jspx_eval_ui_005fhasrole_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      do {
+        out.write("\n");
+        out.write("            <li>\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005factionlink_005f0(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            </li>\n");
+        out.write("            <li>\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005factionlink_005f1(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            </li>\n");
+        out.write("            <li>\n");
+        out.write("                ");
+        if (_jspx_meth_ui_005factionlink_005f2(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("            </li>\n");
+        out.write("        ");
+        int evalDoAfterBody = _jspx_th_ui_005fhasrole_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+    }
+    if (_jspx_th_ui_005fhasrole_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhasrole_005frole.reuse(_jspx_th_ui_005fhasrole_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole.reuse(_jspx_th_ui_005fhasrole_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f0.setLayout("admin");
+    _jspx_th_ui_005factionlink_005f0.setValue("Administration");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f1.setLayout("content");
+    _jspx_th_ui_005factionlink_005f1.setValue("Content");
+    int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f2 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f2.setLayout("layout");
+    _jspx_th_ui_005factionlink_005f2.setValue("Layout");
+    int _jspx_eval_ui_005factionlink_005f2 = _jspx_th_ui_005factionlink_005f2.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f3(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f3 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f3.setParent(null);
+    _jspx_th_ui_005factionlink_005f3.setLayout("profile");
+    _jspx_th_ui_005factionlink_005f3.setValue("Profile");
+    int _jspx_eval_ui_005factionlink_005f3 = _jspx_th_ui_005factionlink_005f3.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f4(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f4 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f4.setParent(null);
+    _jspx_th_ui_005factionlink_005f4.setLayout("loggedin");
+    _jspx_th_ui_005factionlink_005f4.setValue("Home");
+    int _jspx_eval_ui_005factionlink_005f4 = _jspx_th_ui_005factionlink_005f4.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f4);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/edit_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,280 @@
+package org.apache.jsp.jsp.rss;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class edit_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n");
+      out.write("\n");
+      out.write("<br>\n");
+      out.write("\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    <br/>\n");
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("feedsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("removeFeed");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("RSS_DELETE_FEED");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("RSS_ENTERFEEDURL");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("newfeedurl");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("saveFeed");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("RSS_ADD_FEED");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/rss/viewRSS_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,358 @@
+package org.apache.jsp.jsp.rss;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import com.sun.syndication.feed.synd.SyndContent;
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+import java.util.Date;
+import java.util.Iterator;
+
+public final class viewRSS_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005faction.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("\r\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("<br>\r\n");
+      out.write("\r\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write("\r\n");
+      out.write("\r\n");
+ SyndFeed feed = (SyndFeed) request.getAttribute("rssfeed");
+
+    if (feed != null) {
+
+      out.write("\r\n");
+      out.write("\r\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\r\n");
+      out.write("\r\n");
+      out.write("<br>\r\n");
+      out.write("\r\n");
+
+
+    Iterator entryIter = feed.getEntries().iterator();
+    while (entryIter.hasNext()) {
+        SyndEntry entry = (SyndEntry) entryIter.next();
+        String entryLink = entry.getLink();
+        String entryTitle = entry.getTitle();
+        Date entryDate = entry.getPublishedDate();
+        SyndContent content = entry.getDescription();
+        String value = content.getValue();
+
+
+
+      out.write('\r');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel(entryTitle);
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\r\n");
+          out.write("    ");
+          //  ui:text
+          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+          _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          _jspx_th_ui_005ftext_005f0.setCssStyle("font-size: x-small;  font-weight: italic");
+          int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftext_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftext_005f0.doInitBody();
+            }
+            do {
+              out.print(entryDate);
+              out.write("<br/>");
+              int evalDoAfterBody = _jspx_th_ui_005ftext_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f0);
+          out.write("\r\n");
+          out.write("    <p/>\r\n");
+          out.write("    ");
+          out.print(value);
+          out.write("\r\n");
+          out.write("    <p/>\r\n");
+          out.write("    ");
+          //  ui:text
+          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+          _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          _jspx_th_ui_005ftext_005f1.setCssStyle("font-size: x-small;");
+          int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftext_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftext_005f1.doInitBody();
+            }
+            do {
+              out.write("<a href=\"");
+              out.print(entryLink);
+              out.write("\">\r\n");
+              out.write("        ");
+              if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftext_005f1, _jspx_page_context))
+                return;
+              out.write("\r\n");
+              out.write("    </a>");
+              int evalDoAfterBody = _jspx_th_ui_005ftext_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f1);
+          out.write('\r');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write("\r\n");
+      out.write("\r\n");
+
+
+
+    }
+
+      out.write("\r\n");
+      out.write("\r\n");
+
+
+    }
+
+
+      out.write("\r\n");
+      out.write("\r\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005faction.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    _jspx_th_ui_005fform_005f0.setAction("selectFeed");
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\r\n");
+        out.write("    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\r');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setSubmitOnChange(true);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("feedsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftext_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftext_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("RSS_READ_FULL_STORY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/createAdmin_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,152 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class createAdmin_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("<div style=\"padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;\">\n");
+      out.write("\n");
+      out.write("    <h1>GridSphere Setup</h1>\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("    <h2>Create a Portal Administrator</h2>\n");
+      out.write("\n");
+      out.write("The portal administrator has access to all administrative capabilities of the portal including adding/editing users, roles\n");
+      out.write("and layouts. After creating an account, you will be able to login using the provided user name and password.\n");
+      out.write("\n");
+      out.write("    <p/>\n");
+      out.write("\n");
+      out.write("    ");
+ String errMsg = (String)request.getAttribute("error");
+           if (errMsg != null) { 
+      out.write("\n");
+      out.write("\n");
+      out.write("        <fieldset><span style=\"color: red; \">");
+      out.print( errMsg );
+      out.write("</span></fieldset>\n");
+      out.write("\n");
+      out.write("        ");
+   } 
+      out.write("\n");
+      out.write("\n");
+      out.write("    <p/>\n");
+      out.write("\n");
+      out.write("<form action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=admin\" method=\"POST\">\n");
+      out.write("\n");
+      out.write("   <table>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"username\">User Name:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"text\" name=\"username\" id=\"username\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"firstname\">First Name:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"text\" name=\"firstname\" id=\"firstname\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"lastname\">Last Name:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"text\" name=\"lastname\" id=\"lastname\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"email\">Email Address:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"text\" name=\"email\" id=\"email\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"organization\">Organization:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"text\" name=\"organization\" id=\"organization\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"password\">Password:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"password\" name=\"password\" id=\"password\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("       <tr>\n");
+      out.write("           <td align=\"right\">\n");
+      out.write("               <label for=\"password2\">Confirm Password:</label>\n");
+      out.write("           </td>\n");
+      out.write("           <td align=\"left\">\n");
+      out.write("                <input type=\"password\" name=\"password2\" id=\"password2\">\n");
+      out.write("           </td>\n");
+      out.write("       </tr>\n");
+      out.write("\n");
+      out.write("   </table>\n");
+      out.write("\n");
+      out.write("  <p/>\n");
+      out.write("\n");
+      out.write("    <input type=\"submit\" value=\"Create Account\"/>\n");
+      out.write("\n");
+      out.write("</form>\n");
+      out.write("</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/org/apache/jsp/jsp/setup/selectDatabase_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,235 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class selectDatabase_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n");
+      out.write("\n");
+      out.write("<script type=\"text/javascript\">\n");
+      out.write("<!--\n");
+      out.write("function SelectDriver() {\n");
+      out.write("    var dbtype = document.dbform.dbtype.value;\n");
+      out.write("    var connURL =\"\";\n");
+      out.write("    var driver = \"\";\n");
+      out.write("    var dialect = \"\";\n");
+      out.write("    if (dbtype == \"postgresql\") {\n");
+      out.write("        connURL = \"jdbc:postgresql://localhost:5432/gridsphere\";\n");
+      out.write("        dialect = \"org.hibernate.dialect.PostgreSQLDialect\";\n");
+      out.write("        driver = \"org.postgresql.Driver\";\n");
+      out.write("    } else if (dbtype == \"mysql\") {\n");
+      out.write("        connURL = \"jdbc:mysql://localhost:3306/gridsphere\";\n");
+      out.write("        dialect = \"org.hibernate.dialect.MySQLDialect\";\n");
+      out.write("        driver = \"com.mysql.jdbc.Driver\";\n");
+      out.write("    } else if (dbtype == \"oracle\") {\n");
+      out.write("        connURL = \"jdbc:oracle:thin:@localhost:1521:gridsphere\";\n");
+      out.write("        dialect = \"org.hibernate.dialect.Oracle9Dialect\";\n");
+      out.write("        driver = \"oracle.jdbc.driver.OracleDriver\";\n");
+      out.write("    } else if (dbtype == \"ms\") {\n");
+      out.write("        connURL = \"jdbc:sqlserver://localhost:1681/gridsphere\";\n");
+      out.write("        dialect = \"org.hibernate.dialect.SQLServerDialect\";\n");
+      out.write("        driver = \"com.microsoft.sqlserver.jdbc.SQLServerDriver\";\n");
+      out.write("    }\n");
+      out.write("    document.dbform.databaseURL.value = connURL;\n");
+      out.write("    document.dbform.driverClass.value = driver;\n");
+      out.write("    document.dbform.dialect.value = dialect;\n");
+      out.write("\n");
+      out.write("    //alert(dbtype);\n");
+      out.write("}\n");
+      out.write("\n");
+      out.write("function DisplayWait( formName ) {\n");
+      out.write("\n");
+      out.write("    var waitDiv = document.getElementById(\"content\");\n");
+      out.write("\n");
+      out.write("    waitDiv.innerHTML = '<div style=\"position: absolute; padding: 20px; border: solid 5px; background-color: white; left: 300px; width: 300px; z-index: 5;\">  Please wait... database is being created!</div>';\n");
+      out.write("\n");
+      out.write("    document.dbform.custom.disabled = true;\n");
+      out.write("    document.simple.standard.disabled = true;\n");
+      out.write("    document[formName].submit();\n");
+      out.write("}\n");
+      out.write("\n");
+      out.write("// -->\n");
+      out.write("</script>\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("<div style=\"padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;\">\n");
+      out.write("\n");
+      out.write("    <h1>GridSphere Setup</h1>\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("    ");
+ String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { 
+      out.write("\n");
+      out.write("\n");
+      out.write("    <fieldset><span style=\"color: red; \">");
+      out.print( errMsg );
+      out.write("</span></fieldset>\n");
+      out.write("           \n");
+      out.write("    ");
+   } 
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("    <h2>Choose a Database Configuration</h2>\n");
+      out.write("\n");
+      out.write("    Select where GridSphere should store its data\n");
+      out.write("\n");
+      out.write("    <p/>\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("    <fieldset>\n");
+      out.write("        <legend>Embedded Database</legend>\n");
+      out.write("\n");
+      out.write("        The embedded database is provided by GridSphere and is <b>recommended for evaluation and\n");
+      out.write("        demonstration purposes</b>. Production systems should consider using an external database for improved scalability and reliability.\n");
+      out.write("        (This option will create a HSQL database in the gridsphere web application).\n");
+      out.write("        <p/>\n");
+      out.write("        <form method=\"POST\" name=\"simple\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=default\">\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("            <input type=\"submit\" name=\"standard\" value=\"Embedded Database >>\" onclick=\"DisplayWait( this.form.name )\"/>\n");
+      out.write("\n");
+      out.write("        </form>\n");
+      out.write("\n");
+      out.write("    </fieldset>\n");
+      out.write("\n");
+      out.write("    <p/>\n");
+      out.write("\n");
+      out.write("\n");
+      out.write("    <div id=\"content\"></div>\n");
+      out.write("\n");
+      out.write("    <fieldset>\n");
+      out.write("        <legend>External Database</legend>\n");
+      out.write("\n");
+      out.write("        If you wish the portal to store its data in an external database, please provide the necessary connection values.\n");
+      out.write("        This is <b>recommended for production systems</b>. You must also make sure the JDBC driver (JAR) is placed in the\n");
+      out.write("        application classloader of the servlet container. (In the case of Tomcat, place JAR file in <b>$TOMCAT/common/lib</b>\n");
+      out.write("        directory.\n");
+      out.write("        <p/>\n");
+      out.write("        <form name=\"dbform\" method=\"POST\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=custom\">\n");
+      out.write("\n");
+      out.write("            <table>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"dbtype\">Choose your database:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <select name=\"dbtype\" id=\"dbtype\" onchange=\"SelectDriver()\">\n");
+      out.write("                            <option value=\"postgresql\">PostgreSQL</option>\n");
+      out.write("                            <option value=\"mysql\">MySQL</option>\n");
+      out.write("                            <option value=\"oracle\">Oracle 9/10g</option>\n");
+      out.write("                            <option value=\"ms\">MS SQL Server</option>\n");
+      out.write("                            <option value=\"other\">Other</option>\n");
+      out.write("                        </select>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"connection\">Enter a Database URL:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <input type=\"text\" name=\"databaseURL\" id=\"connection\" size=\"40\"/>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"connection\">Enter the driver class name:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <input type=\"text\" name=\"driverClass\" id=\"driverclass\" size=\"40\"/>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"connection\">Enter the Hibernate dialect:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <input type=\"text\" name=\"dialect\" id=\"dialect\" size=\"40\"/>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"username\">Enter the User Name:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <input type=\"text\" name=\"username\" id=\"username\"/>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("                <tr>\n");
+      out.write("                    <td align=\"right\">\n");
+      out.write("                        <label for=\"password\">Enter the Password:</label>\n");
+      out.write("                    </td>\n");
+      out.write("                    <td align=\"left\">\n");
+      out.write("                        <input type=\"password\" name=\"password\" id=\"password\"/>\n");
+      out.write("                    </td>\n");
+      out.write("                </tr>\n");
+      out.write("            </table>\n");
+      out.write("            <p/>\n");
+      out.write("            <input type=\"submit\" name=\"custom\" value=\"External Database >>\" onsubmit=\"DisplayWait( this.form.name )\"/>\n");
+      out.write("        </form>\n");
+      out.write("\n");
+      out.write("    </fieldset>\n");
+      out.write("\n");
+      out.write("</div>\n");
+      out.write("\n");
+      out.write("<script type=\"text/javascript\">\n");
+      out.write("<!--\n");
+      out.write("    SelectDriver();\n");
+      out.write("// -->\n");
+      out.write("</script>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/gridsphere/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/host-manager/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/host-manager/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/images/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/images/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/jsp-examples/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/jsp-examples/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/manager/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/manager/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.java
===================================================================
--- cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/org/apache/jsp/hello_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class hello_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<html>\n");
+      out.write("<head>\n");
+      out.write("<title>Sample Application JSP Page</title>\n");
+      out.write("</head>\n");
+      out.write("<body bgcolor=white>\n");
+      out.write("\n");
+      out.write("<table border=\"0\">\n");
+      out.write("<tr>\n");
+      out.write("<td align=center>\n");
+      out.write("<img src=\"images/tomcat.gif\">\n");
+      out.write("</td>\n");
+      out.write("<td>\n");
+      out.write("<h1>Sample Application JSP Page</h1>\n");
+      out.write("This is the output of a JSP page that is part of the Hello, World\n");
+      out.write("application.  It displays several useful values from the request\n");
+      out.write("we are currently processing.\n");
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("</table>\n");
+      out.write("\n");
+      out.write("<table border=\"0\" border=\"100%\">\n");
+      out.write("<tr>\n");
+      out.write("  <th align=\"right\">Context Path:</th>\n");
+      out.write("  <td align=\"left\">");
+      out.print( request.getContextPath() );
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("<tr>\n");
+      out.write("  <th align=\"right\">Path Information:</th>\n");
+      out.write("  <td align=\"left\">");
+      out.print( request.getPathInfo() );
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("<tr>\n");
+      out.write("  <th align=\"right\">Query String:</th>\n");
+      out.write("  <td align=\"left\">");
+      out.print( request.getQueryString() );
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("<tr>\n");
+      out.write("  <th align=\"right\">Request Method:</th>\n");
+      out.write("  <td align=\"left\">");
+      out.print( request.getMethod() );
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("<tr>\n");
+      out.write("  <th align=\"right\">Servlet Path:</th>\n");
+      out.write("  <td align=\"left\">");
+      out.print( request.getServletPath() );
+      out.write("</td>\n");
+      out.write("</tr>\n");
+      out.write("</table>\n");
+      out.write("</body>\n");
+      out.write("</html>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/sample/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/servlets-examples/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/servlets-examples/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/simplegrid_cig/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/simplegrid_cig/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/tomcat-docs/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/tomcat-docs/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/webdav/tldCache.ser
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/apache-tomcat/work/Catalina/localhost/webdav/tldCache.ser
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/.cvsignore
===================================================================
--- cs/trunk/apps-local/gridsphere/.cvsignore	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/.cvsignore	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+build

Added: cs/trunk/apps-local/gridsphere/ChangeLog.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/ChangeLog.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/ChangeLog.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,341 @@
+ChangeLog.txt
+=============
+
+Release Notes - GridSphere Portal Framework - Version 3.0.6
+
+Bug
+
+[GPF-372] - Exceptions while saving top-level navigation in guest-layout
+[GPF-375] - Editing user creates a new one
+[GPF-377] - Calendar widget causes security warning in IE
+[GPF-378] - Deleting one subtab deletes all subtabs
+
+Improvement
+
+[GPF-358] - Sort (and separate) "Add portlets" listbox values
+[GPF-386] - Sort List of available content document
+
+New Feature
+
+[GPF-384] - provide layout settings to not display modes or states in portlets
+
+
+
+Release Notes - GridSphere Portal Framework - Version 3.0.5
+
+    * [GPF-352] - Could not use gridsphere.useprecompiledjsp=true
+    * [GPF-366] - if rss feeds not available gs hangs at login for a little while
+    * [GPF-365] - jsp precompiling with changed deploy context does not work
+
+
+Changes since GS 3.0.3
+======================
+
+    * [GPF-343] - No logo because of wrong path to image
+    * [GPF-347] - ant new-project does not work
+    * [GPF-350] - Portal does not startup in windows
+
+
+Changes since GS 3.0.1
+======================
+
+Bug
+
+    * [GPF-341] - class and style don't work for ActionFormTag
+    * [GPF-342] - normal action creation using res.createActionURL does not trigger an action
+
+Improvement
+
+    * [GPF-340] - tab links should be render URLs for bookmarkability
+
+
+Changes since GridSphere 2.2.X
+==============================
+
+Bug
+
+    * [GPF-57] - DataTag did not work or is not documented correctly
+    * [GPF-267] - Portal should not allow users to attempt to connect to portlets thru URL mappings
+    * [GPF-277] - Can not deploy portlets through web interface
+    * [GPF-287] - <ui:form> automatically adds <p></p> after it
+    * [GPF-289] - deploy as ROOT context in Tomcat
+    * [GPF-315] - Wrong translation of ui:group-attribute "width"
+    * [GPF-323] - Layout options disappear
+    * [GPF-324] - Can't create new tab.
+    * [GPF-325] - Stack Trace: On layout portlet
+    * [GPF-326] - New subTab function doesn't work
+    * [GPF-327] - Portlet required role save deletes portlet in tab.
+    * [GPF-332] - Images got mangled by ant script
+    * [GPF-335] - NDAR Portal Login Attempts Linked to browser session
+    * [GPF-336] - request.getContextPath not returning correct path
+    * [GPF-339] - getValue of textfield and textarea should format user input and convert >, < to &gt;, &lt;
+
+Improvement
+
+    * [GPF-254] - Rename SportletServiceFactory to PortletServiceFactory
+    * [GPF-255] - Make PortletServiceException a type of RuntimeException
+    * [GPF-256] - Do not support existing LayoutManagerPortlet
+    * [GPF-257] - Do not support existing user layout manager portlet
+    * [GPF-258] - Save portal configuration settings in a properties file
+    * [GPF-259] - No longer support group manager portlet
+    * [GPF-260] - Get rid of the gridlab namespace
+    * [GPF-261] - Refactor PersistenceManagerFactory to PersistenceManagerService as a portlet service
+    * [GPF-262] - upgrade castor XML library to 1.0.2
+    * [GPF-274] - no longer load layouts from each webapp
+    * [GPF-278] - make URLs prettier
+    * [GPF-284] - upgrade PM to use Hibernate3
+    * [GPF-298] - Eliminate old style portlet API
+    * [GPF-299] - Add HibernateFilter to GS in order to support OpenSessionInView pattern
+    * [GPF-300] - Provide setup page where admin can configure database and create admin account
+    * [GPF-305] - add javascript handlers to all tags that use them
+    * [GPF-312] - JSP precompiling
+    * [GPF-317] - Provide gridsphere.host property that can be customized if needed
+    * [GPF-319] - Make deep copies of layouts by using clone instead of serialization
+    * [GPF-333] - Alternative path for database configuration file (hibernate.properties)
+
+New Feature
+
+    * [GPF-101] - Support JSP precompiling
+    * [GPF-248] - add content manager service to manage html fragments
+    * [GPF-268] - Provide ability for a tab to include arbitrary JSP for creating title
+    * [GPF-269] - Add attributes to tab component to not render the tab outline, set alignment and padding
+    * [GPF-276] - Add Captcha support for new user registration
+    * [GPF-294] - Add Tooltip UI tag
+    * [GPF-295] - Add Dialog UI tag
+    * [GPF-297] - Add support for portal filters
+    * [GPF-301] - Package GridSphere as a WAR
+    * [GPF-302] - store account creation date for user
+    * [GPF-303] - track number of times a user has logged in
+    * [GPF-306] - add PortletLink tag to create new draggable Yahoo container with an AJAX enabled portlet
+    * [GPF-313] - add ability to configure whether username or email address is used for logging in
+    * [GPF-314] - add ability to send email to multiple users from UserManagerPortlet
+    * [GPF-316] - Add renderlink and rendersubmit tags
+    * [GPF-321] - Add BODY_ONUNLOAD property to set <body onunload javascript events
+    * [GPF-334] - allow default roles, so a new or existing user is placed in default roles
+    * [GPF-338] - GridSphere UI Tag for creating an input type="image" needed
+
+
+Changes since GridSphere 2.2.4
+==============================
+
+Bug
+
+    * [GPF-251] -  Delete a user's role if not selected in the UserManagerPortlet
+
+Changes since GridSphere 2.2.0
+==============================
+
+Bug
+   
+    * [GPF-245] - Error message when saving gridsphere-generated layout
+    * [GPF-249] - Can't delete User
+    * [GPF-250] - ClassCast exception when trying to retrieve "user.role" attribute from JSR 168 portlet
+
+Changes since GridSphere 2.1.2
+==============================
+
+Bug
+
+    * [GPF-151] - New group layout disappears
+    * [GPF-179] - File Download does not work for any JSR Portlet
+    * [GPF-184] - Test with Oracle 10G - ERROR
+    * [GPF-186] - The page of a new group is blank
+    * [GPF-188] - Eliminate GUEST role
+    * [GPF-191] - can't add more than one portlet to user tab
+    * [GPF-198] - ListBoxBean does not support cssStyle
+    * [GPF-208] - jsp with two tables, one with zebra="true", shows incorrectly
+    * [GPF-213] - TextAreaBean does not support cssStyle
+    * [GPF-214] - Configuring a different portal URL does not work
+    * [GPF-215] - reload, start and stop portlet
+    * [GPF-216] - if a query string is passed into path when creating request dispatcher, the params are not included as render params
+    * [GPF-217] - when user logs out, the SessionManagerPortlet still shows user as logged in
+    * [GPF-218] - date is not displayed anymore on the bottom of the pages
+    * [GPF-225] - parameters are not being passed if <jsp:include page="some.jsp?foo=bar"> is used
+    * [GPF-226] - PortletSession.invalidate() does not be invoked when a user clicks "logout"
+    * [GPF-234] - Portlet file download doesn't work
+    * [GPF-236] - Sortable <table> elements exibit funny behavior
+    * [GPF-241] - POrtletSession.PORTLET_SCOPE should be tied to the portlet window id and not the portlet id
+
+New Feature
+
+    * [GPF-89] - add onClick to actionsubmit tag
+    * [GPF-185] - please add ability to link to outside sites from tabs/subtabs
+    * [GPF-187] - Spanish localization
+    * [GPF-193] - Add ability to add external javascript library to page and onLoad attribute to BODY tag
+    * [GPF-201] - incorporate AJAX support for rendering only selected layout components    * [GPF-202] - Certificate login for gridsphere portal    * [GPF-203] - Provide option to email errors to a portal admin
+    * [GPF-209] - Add configuration option to enable users to be subscribed to all known groups
+    * [GPF-210] - provide config option to track/count all actions in portlets
+    * [GPF-211] - Add Text Editor widget tag
+    * [GPF-212] - Add calendar widget tag
+    * [GPF-222] - Disabling "Remember me" option
+    * [GPF-231] - add support for paginated tables
+    * [GPF-235] - Add validator tag/bean
+    * [GPF-239] - Add the ability to support custom window states per portlet
+
+Improvement
+
+    * [GPF-189] - Eliminate GuestUser
+    * [GPF-190] - Eliminate user services
+    * [GPF-194] - Provide more information when DBTask fails.
+    * [GPF-196] - Update commons-fileupload-1.0 to 1.1
+    * [GPF-200] - Adding id attribute to tags
+    * [GPF-204] - Allow admins to approve accounts
+    * [GPF-207] - Tags doc: there is no attribute name in textarea.
+    * [GPF-229] - use gzip compression to stream page
+    * [GPF-238] - allow portal deployer to configure http/https ports used when generating links
+    * [GPF-240] - Provide mechanism to forward to a particular portlet/component after logging in
+
+Changes since GridSphere 2.1.2
+==============================
+
+Bug
+
+    * [GPF-151] - New group layout disappears
+    * [GPF-184] - Test with Oracle 10G - ERROR
+    * [GPF-186] - The page of a new group is blank
+    * [GPF-188] - Eliminate GUEST role
+    * [GPF-191] - can't add more than one portlet to user tab
+    * [GPF-208] - jsp with two tables, one with zebra="true", shows incorrectly
+    * [GPF-213] - TextAreaBean does not support cssStyle
+    * [GPF-214] - Configuring a different portal URL does not work
+    * [GPF-215] - reload, start and stop portlet
+    * [GPF-216] - if a query string is passed into path when creating request dispatcher, the params are not included as render params
+    * [GPF-217] - when user logs out, the SessionManagerPortlet still shows user as logged in
+    * [GPF-218] - date is not displayed anymore on the bottom of the pages
+    * [GPF-225] - parameters are not being passed if <jsp:include page="some.jsp?foo=bar"> is used
+    * [GPF-226] - PortletSession.invalidate() does not be invoked when a user clicks "logout"
+    * [GPF-234] - Portlet file download doesn't work
+    * [GPF-236] - Sortable <table> elements exibit funny behavior
+    * [GPF-241] - POrtletSession.PORTLET_SCOPE should be tied to the portlet window id and not the portlet id
+
+New Feature
+
+    * [GPF-89] - add onClick to actionsubmit tag
+    * [GPF-187] - Spanish localization
+    * [GPF-193] - Add ability to add external javascript library to page and onLoad attribute to BODY tag
+    * [GPF-209] - Add configuration option to enable users to be subscribed to all known groups
+    * [GPF-210] - provide config option to track/count all actions in portlets
+    * [GPF-211] - Add Text Editor widget tag
+    * [GPF-212] - Add calendar widget tag
+    * [GPF-222] - Disabling "Remember me" option
+    * [GPF-231] - add support for paginated tables
+    * [GPF-235] - Add validator tag/bean
+    * [GPF-239] - Add the ability to support custom window states per portlet
+
+Improvement
+
+    * [GPF-189] - Eliminate GuestUser
+    * [GPF-190] - Eliminate user services
+    * [GPF-194] - Provide more information when DBTask fails.
+    * [GPF-196] - Update commons-fileupload-1.0 to 1.1
+    * [GPF-229] - use gzip compression to stream page
+    * [GPF-238] - allow portal deployer to configure http/https ports used when generating links
+    * [GPF-240] - Provide mechanism to forward to a particular portlet/component after logging in
+
+Changes since GridSphere 2.1.0
+==============================
+
+Release Notes - GridSphere Portal Framework - Version 2.1.2
+
+** Bug
+    * [GPF-177] - setFileDownloadEvent in ActionPortlet broken
+    * [GPF-178] - TableTag sorting and zebra not working
+    * [GPF-181] - NPE when removing a portlet web application
+
+** Improvement
+    * [GPF-180] - Create a GS setup portlet where an admin name and password gets created
+
+Changes since GridSphere 2.0.4
+==============================
+
+Release Notes - GridSphere Portal Framework - Version 2.1
+
+** Bug
+    * [GPF-80] - Problems with Internet Explorer
+    * [GPF-154] - org.gridsphere.portlet.Client must extends java.io.Serializable
+    * [GPF-161] - PortletSession.SESSION_SCOPE is not unique
+
+** New Feature
+    * [GPF-155] - Allow user accounts to be disabled
+    * [GPF-160] - load in multiple service descriptors
+    * [GPF-164] - configurable page refresh frequency
+    * [GPF-166] - Add arbitrary roles
+    * [GPF-167] - track user operations in the portal
+    * [GPF-169] - Support for Apache Portals Bridges
+    * [GPF-171] - Create a PortletTag so legacy JSP in existing portals could include a portlet
+
+
+** Improvement
+    * [GPF-156] - allow developers to easily import their own stylesheets
+    * [GPF-157] - localization of error strings in authmodules
+    * [GPF-163] - Japanese localize
+    * [GPF-165] - Croatian localization
+    * [GPF-168] - Support for different rendered outpu
+    * [GPF-170] - Support for OC4J
+
+Changes since GridSphere 2.0.2
+==============================
+
++ Log4J configuration specified in web.xml, uses log4j-sandbox.jar in shared/lib of Tomcat
++ Added floating window state support
++ Added ActionMenu/ActionMenuItem/ActionPane tags
++ Added new "hidden" group type
+
+Changes since GridSphere 2.0
+============================
+
++ Added session manager portlet
++ Numerous bugfixes, see bugs.gridsphere.org for online ChangeLog
+
+Changes since Gridsphere 1.1.1
+==============================
+
++ Implementation of JSR 168 portlet API that is 100% sun tck compliant. The 
+ model uses existing gridsphere portlet called PortletServlet as a controller
+ for JSR 168 portlets. Both portlet apis are still being supported. The 
+ underlying impl code is portlet/impl for gridsphere and portlet/jsrimpl for 
+ JSR implementation. 
++ Added checkXXXRole methods to ActionPortlet to allow action methods to do
+ role checking to avoid security vulnerabilities with file manager and banner 
+ portlet
++ Improved tags overall and enhanced table tag to be sortable and break 
+  into pages of data
++ ActionPortlet model for JSR portlets
++ Updated templating build system to develop JSR portlets
++ Added create TCK user/layout code to GS portal and layout engine to 
+ run thru compliance tests. Ant target/task deploytck creates gs style portlet WAR's out of existing TCK WAR files.
++ Added out-of-the-box windows support
++ Changed themes to be imageless
++ Added support for messaging a portaluser (e.g. via AIM, Mail...)
++ Added reporting on databaseproblems
++ general bugfixing
+
+
+
+Changes since GridSphere 1.0
+============================
+
++ NPE fix to PanelBean so that beans can be created and used in PanelTag
++ Added cellpadding and border attributes to Table, Frame, Panel tags/beans
++ Added subscription and layout manager portlets and layout manager service
++ Added portlet manager portlet in admin tab to restart webapps
++ Made required-group an optional attribute in layout.xml descriptor
++ Fixes to portlet messaging 
++ Layouts are added and subtracted dynamically when user selects groups
++ Persistence DB uses separate databases per webapp
++ provider.jar also placed into WEB-INF/lib of webapp and not shared/lib
++ make user account creation configurable via config'ing the LoginPortlet
++ Fixed readonly attributes in input type portlet ui tags
++ PortletGroup can be public or private and is supported in GroupManagerPortlet
++ LoginPortlet configure mode can disallow anonymous account registration
++ More localized text in properties files 
++ Added Administrator's docbook guide
++ Added Messaging/Notification Portlet and settings in the Profileportlet
++ BeanContainer now supports sorting by the value of the BaseComponentBeans
++ Upgraded docbook-xsl to 1.64 and docbook-xml to 4.3.CR1
++ GridSphere libs are placed in build/lib and not lib now
++ Improved image tag/bean and can be nested inside actionlink tag
++ Added LocalePortlet to display available locales at the top of portal
++ layout descriptors support localization of titles used in tabs
++ Added Group Manager portlet to ADMIN layout to allow admins to ad/remove users to/from groups
+

Added: cs/trunk/apps-local/gridsphere/INSTALL.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/INSTALL.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/INSTALL.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+$Id: INSTALL.txt 4923 2006-07-11 18:46:14Z novotny $
+
+	Building the GridSphere Distribution
+==================================================
+
+
+Requirements
+------------
+
+1) Building the GridSphere distribution requires JDK 1.4.2 
+(JDK 1.4.1 ships with a broken xalan.jar). You will also need Ant 1.6+ 
+available at http://jakarta.apache.org/ant. 
+
+2) You will also need a Tomcat 4.1+ or Tomcat 5.0.25+ servlet container 
+available at http://jakarta.apache.org/tomcat. In addition to providing
+a hosting environment for GridSphere, Tomcat provides some of the required 
+XML (JAR) libraries that are needed for compilation.
+
+Compiling and Deploying
+-----------------------
+
+The Ant build script, build.xml, uses the build.properties file to specify any
+compilation options. Edit build.properties appropriately for your needs.
+
+At this point, simply invoking "ant install" will deploy the GridSphere portlet 
+container to Tomcat using the default database. Please see the User Guide for more details on configuring the database.
+
+
+The build.xml supports the following basic tasks:
+
+install -- builds and deploys GridSphere, makes the documentation and
+           installs the database
+
+clean -- removes the build and dist directories including all the
+	 compiled classes
+
+update -- updates the existing source code from CVS
+
+compile -- compiles the GridSphere source code 
+
+deploy -- deploys the GridSphere framework and all portlets to a
+	  Tomcat servlet container located at $CATALINA_HOME
+
+create-database - creates a new, fresh database with original
+                 GridSphere settings, this wipes out your current database!
+
+docs -- builds the Javadoc documentation from the source code
+
+To see all the targets invoke "ant --projecthelp".
+
+2) Read the documentation found at  
+http://www.gridsphere.org/gridsphere/gridsphere?cid=docs
+for more information on using and developing portlets with  GridSphere.
+
+3) Startup Tomcat and then go to http://127.0.0.1:8080/gridsphere/gridsphere
+to see the portal!
+
+Errors & Troubleshooting
+------------------------
+
+If you experience problems, please subscribe to the mailing lists and consider filing bugs at http://bugs.gridsphere.org
+
+Thanks,
+
+The GridSphere Team		http://www.gridsphere.org
+
+

Added: cs/trunk/apps-local/gridsphere/LICENSE.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/LICENSE.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/LICENSE.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,202 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2002-2006 Team GridSphere
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+

Added: cs/trunk/apps-local/gridsphere/README.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+$Id: README.txt 5232 2006-09-01 08:58:44Z novotny $
+
+	Welcome to GridSphere! 
+========================================
+
+Please follow the instructions in the INSTALL file to build GridSphere.
+
+You can also check the online web site 
+(http://www.gridsphere.org) which contains the most up to date 
+information including slides, white papers, and other documentation on 
+using GridSphere and developing portlets. Please check out the slides
+available at http://www.gridsphere.org/gridsphere/gridsphere?cid=docs which
+describe how to set and install GridSphere as well as portlet development 
+and deployment
+
+In addition, please subscribe to the following mail lists from the mailman
+interface at http://lists.gridsphere.org/mailman/listinfo:
+
+gridsphere-users -- Mail list used for the discussion of developing portals using the GridSphere framework
+
+gridsphere-dev -- Mail list used for the discussion of GridSphere framework development
+
+gridsphere-cvs -- Mail list used to receive CVS notifications
+
+To report bugs, please use the bugtracker at http://bugs.gridsphere.org
+
+ Thank you.
+
+The GridSphere Team	http://www.gridsphere.org
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+CLOSED=Close
+FLOATING=Float
+
+GUEST=Guest
+USER=User
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Do you really wish to remove this portlet?
+OK=OK
+CANCEL=Cancel
+ADDPORTLETS=Add portlets:
+ADD=Add
+NOPORTLETS=-- No portlets available --
+
+SHOW_PAGES=Show pages
+PAGE=Page&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=Show all
+PREVIOUS=Previous
+NEXT=Next
+
+PORTAL_ERROR_SUBJECT=An error occurred in the portal!
+PORTAL_ERROR_BODY=Below is the provided error information including time of error and the user (if any) that caused it:
+
+ADDCONTENT=Add content:
+NOCONTENT=-- No content available --
+DELETE=Delete
+
+NEW_TAB=New tab
+NEW_SUBTAB=New subtab
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=\u062a\u0647\u064a\u0626\u0629
+EDIT=\u062a\u062d\u0631\u064a\u0631
+HELP=\u0645\u0633\u0627\u0639\u062f\u0629
+VIEW=\u0639\u0631\u0636
+
+NORMAL=\u0639\u0627\u062f\u064a
+MINIMIZED=\u062a\u0635\u063a\u064a\u0631
+MAXIMIZED=\u062a\u0643\u0628\u064a\u0631
+RESIZING=\u062a\u062d\u062c\u064a\u0645
+CLOSED=\u0625\u063a\u0644\u0627\u0642
+
+UNSUBSCRIBE_MESSAGE=\u0647\u0644 \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u062d\u0630\u0641 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c\u061f
+OK=\u0645\u0648\u0627\u0641\u0642
+CANCEL=\u0625\u0627\u0644\u063a\u0627\u0621
+ADDPORTLETS=\u0625\u0636\u0627\u0641\u0629 \u0628\u0631\u0627\u0645\u062c:
+ADD=\u0625\u0636\u0627\u0641\u0629
+NOPORTLETS= -- \u0644\u0627 \u062a\u0648\u062c\u062f \u0628\u0631\u0627\u0645\u062c --
+
+UI_DATAGRID_START=\u0627\u0644\u0628\u062f\u0627\u064a\u0629
+UI_DATAGRID_PREV=\u0627\u0644\u0633\u0627\u0628\u0642
+UI_DATAGRID_NEXT=\u0627\u0644\u062a\u0627\u0644\u064a
+UI_DATAGRID_END=\u0627\u0644\u0646\u0647\u0627\u064a\u0629
+UI_DATAGRID_SHOWING=\u0627\u0644\u0639\u0631\u0636
+UI_DATAGRID_SHOWING2=\u0645\u0646
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+CONFIG=Konfigurace
+EDIT=Upravit
+HELP=Pomoc
+VIEW=Zobrazen\u00ed
+
+NORMAL=Norm\u00e1ln\u00ed velikost
+MINIMIZED=Minimalizovat
+MAXIMIZED=Maximalizovat
+RESIZING=Zm\u011bnit velikost
+
+UNSUBSCRIBE_MESSAGE=Opravdu chcete odstranit tento portlet ?
+OK=Ano
+CANCEL=Storno
+ADDPORTLETS=P\u0159idat portlety:
+ADD=P\u0159idat
+NOPORTLETS=-- \u017d\u00e1dn\u00e9 portlety k dispozici --

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+CONFIG=Konfiguration 
+EDIT=Einstellungen 
+HELP=Hilfe 
+VIEW=Zurueck 
+
+NORMAL=Normal 
+MINIMIZED=Minimieren 
+MAXIMIZED=Maximieren 
+RESIZING=Groesse anpassen
+
+GUEST=G
+USER=U
+ADMIN=A
+SUPER=S
+
+UNSUBSCRIBE_MESSAGE=Sind Sie sicher dass dieses Portlet entfernt werden soll?
+OK=OK
+CANCEL=Abbruch
+ADDPORTLETS=Portlets hinzuf\u00fcgen:
+ADD=Hinzuf\u00fcgen
+NOPORTLETS=-- Keine Portlets verf\u00fcgbar --
+
+
+UI_DATAGRID_START=Anfang
+UI_DATAGRID_PREV=Vorherige
+UI_DATAGRID_NEXT=N\u00e4chste
+UI_DATAGRID_END=Ende
+UI_DATAGRID_SHOWING=Anzeige von:
+UI_DATAGRID_SHOWING2=bis
+
+SHOW_PAGES=Seiten anzeigen
+PAGE=Seite
+OUT_OF_PAGES=von
+SHOW_ALL=Alle anzeigen
+
+PORTAL_ERROR_SUBJECT=Es ist ein Fehler im Portal aufgetreten!
+PORTAL_ERROR_BODY=Unten sind Informationen zum Fehler, zur Zeit und (falls vorhanden) zum Benutzer, der diesen verursacht hat.

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+CLOSED=Close
+FLOATING=Float
+
+GUEST=Guest
+USER=User
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Do you really wish to remove this portlet?
+OK=OK
+CANCEL=Cancel
+ADDPORTLETS=Add portlets:
+ADD=Add
+NOPORTLETS=-- No portlets available --
+
+SHOW_PAGES=Show pages
+PAGE=Page&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=Show all
+PREVIOUS=Previous
+NEXT=Next
+
+PORTAL_ERROR_SUBJECT=An error occurred in the portal!
+PORTAL_ERROR_BODY=Below is the provided error information including time of error and the user (if any) that caused it:
+
+ADDCONTENT=Add content:
+NOCONTENT=-- No content available --
+DELETE=Delete
+
+NEW_TAB=New tab
+NEW_SUBTAB=New subtab
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+PORTLET_UNAVAILABLE=Portlet no disponible
+
+CONFIG=Configurar
+EDIT=Editar
+HELP=Ayuda
+VIEW=Ver
+
+NORMAL=Normal
+MINIMIZED=Minimizar
+MAXIMIZED=Maximizar
+RESIZING=Redimensionar
+CLOSED=Cerrar
+FLOATING=Flotante
+
+GUEST=Invitado
+USER=Usuario
+ADMIN=Administrador
+SUPER=Super Usuario
+
+UNSUBSCRIBE_MESSAGE=\u00bfRealmente desea usted quitar este portlet?
+OK=OK
+CANCEL=Cancelar
+ADDPORTLETS=Agregar portlets:
+ADD=Agregar
+NOPORTLETS=-- Ning\u00fan portlets disponible --
+
+UI_DATAGRID_START=Primero
+UI_DATAGRID_PREV=Anterior
+UI_DATAGRID_NEXT=Siguiente
+UI_DATAGRID_END=Ultimo
+UI_DATAGRID_SHOWING=Exposici\u00f3n
+UI_DATAGRID_SHOWING2=off
+
+SHOW_PAGES=Mostrar P\u00e1ginas
+PAGE=Pagina&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;fuera de&nbsp;
+SHOW_ALL=Mostrar Todas

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+CONFIG=Configurer
+EDIT=Edition
+HELP=Aide
+VIEW=Visualisation
+
+NORMAL=Normal
+MINIMIZED=Minimiser
+MAXIMIZED=Maximiser
+RESIZING=Redimensionner
+
+CANCEL=Annuler
+ADDPORTLETS=Ajouter portlets:
+ADD=Ajouter
+NOPORTLETS=-- Pas de portlets disponible --

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+PORTLET_UNAVAILABLE=Portlet nedostupan
+
+CONFIG=Izmjeni postavke
+EDIT=Izmjeni
+HELP=Pomo\u0107
+VIEW=Prika\u017ei
+
+NORMAL=Normalna veli\u010dina
+MINIMIZED=Smanji
+MAXIMIZED=Pove\u0107aj
+RESIZING=Promijeni veli\u010dinu
+CLOSED=Zatvori
+FLOATING=Lebdi
+
+GUEST=Gost
+USER=Korisnik
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Da li ste sigurni da \u017eelite obrisati portlet?
+OK=OK
+CANCEL=Odustani
+ADDPORTLETS=Dodaj portlete:
+ADD=Dodaj
+NOPORTLETS=-- Nema raspolo\u017eivih portleta --
+
+UI_DATAGRID_START=Pokreni
+UI_DATAGRID_PREV=Prethodni
+UI_DATAGRID_NEXT=Sljede\u0107i
+UI_DATAGRID_END=Zaustavi
+UI_DATAGRID_SHOWING=Prikazan
+UI_DATAGRID_SHOWING2=od
+
+SHOW_PAGES=Prika\u017ei stranice
+PAGE=Stranica&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;od&nbsp;
+SHOW_ALL=Prika\u017ei sve
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+PORTLET_UNAVAILABLE=Portlet nem el\u00e9rhet\u0151
+
+CONFIG=Be\u00E1ll\u00EDt\u00E1sok
+EDIT=Szerkeszt\u00E9s
+HELP=Seg\u00EDts\u00E9g
+VIEW=N\u00E9zet
+
+NORMAL=Alap\u00E9rtelmeyett m\u00E9ret
+MINIMIZED=Minimaliz\u00E1l\u00E1s
+MAXIMIZED=Maximaliz\u00E1l\u00E1s
+RESIZING=\u00C1tm\u00E9retez\u00E9s
+CLOSED=Bez\u00e1r\u00e1s
+
+UNSUBSCRIBE_MESSAGE=T\u00e9nyleg le akarod t\u00f6r\u00f6lni ezt a portletet?
+OK=OK
+CANCEL=M\u00e9gse
+ADDPORTLETS=Portletek hozz\u00e1ad\u00e1sa:
+ADD=Hozz\u00e1ad
+NOPORTLETS=-- Nincsennek el\u00e9rhet\u0151 portletek --
+
+UI_DATAGRID_START=Eleje
+UI_DATAGRID_PREV=El\u0151z\u0151
+UI_DATAGRID_NEXT=K\u00f6vetkez\u0151
+UI_DATAGRID_END=V\u00e9ge
+UI_DATAGRID_SHOWING=Mutatni
+UI_DATAGRID_SHOWING2=a
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+PORTLET_UNAVAILABLE=Portlet non disponibile
+
+CONFIG=Configura
+EDIT=Modifica
+HELP=Aiuto
+VIEW=Vista
+
+NORMAL=Normale
+MINIMIZED=Minimizza
+MAXIMIZED=Massimizza
+RESIZING=Ridimensiona
+
+UNSUBSCRIBE_MESSAGE=Vuoi davvero rimuovere questa portle?
+OK=OK
+CANCEL=Cancella
+ADDPORTLETS=Aggiungi portlets:
+ADD=Aggiungi
+NOPORTLETS=-- Nessuna portlet disponibile --
+
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+PORTLET_UNAVAILABLE=Portlet\u304c\u4f7f\u3048\u307e\u305b\u3093
+
+CONFIG=\u8a2d\u5b9a
+EDIT=\u7de8\u96c6
+HELP=\u30d8\u30eb\u30d7
+VIEW=\u8868\u793a
+
+NORMAL=\u6a19\u6e96
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u30ea\u30b5\u30a4\u30ba
+CLOSED=\u9589\u3058\u308b
+FLOATING=\u6d6e\u52d5
+
+GUEST=\u30b2\u30b9\u30c8
+USER=\u30e6\u30fc\u30b6\u30fc
+ADMIN=\u30a2\u30c9\u30df\u30f3
+SUPER=\u30b9\u30fc\u30d1\u30fc
+
+UNSUBSCRIBE_MESSAGE=\u672c\u5f53\u306b\u3053\u306eportlet\u3092\u524a\u9664\u3057\u3066\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+OK=OK
+CANCEL=\u30ad\u30e3\u30f3\u30bb\u30eb
+ADDPORTLETS=portlet\u8ffd\u52a0:
+ADD=\u8ffd\u52a0
+NOPORTLETS=-- \u5229\u7528\u53ef\u80fd\u306aportlet\u304c\u3042\u308a\u307e\u305b\u3093 --
+
+UI_DATAGRID_START=\u30b9\u30bf\u30fc\u30c8
+UI_DATAGRID_PREV=\u623b\u308b
+UI_DATAGRID_NEXT=\u6b21
+UI_DATAGRID_END=\u7d42\u308f\u308a
+UI_DATAGRID_SHOWING=\u8868\u793a\u4e2d
+UI_DATAGRID_SHOWING2=of
+
+SHOW_PAGES=\u30da\u30fc\u30b8\u8868\u793a
+PAGE=\u30da\u30fc\u30b8&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=\u5168\u8868\u793a
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+CONFIG=Instellingen
+EDIT=Bewerken
+HELP=Help
+VIEW=Beeld
+
+NORMAL=Standaard
+MINIMIZED=Minimaal
+MAXIMIZED=Maximaal
+RESIZING=Formaat wijzigen
+CLOSED=Sluit
+
+UNSUBSCRIBE_MESSAGE=Weet u zeker dat u deze portlet wilt verwijderen?
+OK=OK
+CANCEL=Annuleer
+ADDPORTLETS=Voeg portlets toe:
+ADD=Voeg toe
+NOPORTLETS=-- Geen portlets beschikbaar --
+
+UI_DATAGRID_START=Start
+UI_DATAGRID_PREV=Vorige
+UI_DATAGRID_NEXT=Volgende
+UI_DATAGRID_END=Einde
+UI_DATAGRID_SHOWING=Tonen
+UI_DATAGRID_SHOWING2=van
+
+PORTLET_UNAVAILABLE=Portlet niet beschikbaar
+PAGE=Pagina
+OUT_OF_PAGES=Out of Pages
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+CONFIG=Konfiguracja
+EDIT=Edycja
+HELP=Pomoc
+VIEW=Widok
+
+NORMAL=Normalne
+MINIMIZED=Minimalizuj
+MAXIMIZED=Maksymalizuj
+RESIZING=Rozmiar
+
+UNSUBSCRIBE_MESSAGE = Czy chcesz usun\u0105\u0107 portlet?
+OK = OK
+CANCEL = Zako\u0144cz
+ADDPORTLETS = Dodaj portlet
+ADD = Dodaj
+NOPORTLETS = \u017baden portlet nie jest dost\u0119pny
+
+

Added: cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/gridsphere/resources/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+PORTLET_UNAVAILABLE=\u95e8\u4ef6\u65e0\u6cd5\u83b7\u5f97
+
+CONFIG=\u914d\u7f6e
+EDIT=\u7f16\u8f91
+HELP=\u5e2e\u52a9
+VIEW=\u663e\u793a
+
+NORMAL=\u6b63\u5e38
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u6539\u53d8\u5927\u5c0f
+CLOSED=\u5173\u95ed
+
+GUEST=\u6e38\u5ba2
+USER=\u7528\u6237
+ADMIN=\u7ba1\u7406\u5458
+SUPER=\u8d85\u7ea7\u7ba1\u7406\u5458
+
+UNSUBSCRIBE_MESSAGE=\u60a8\u771f\u5e0c\u671b\u53bb\u6389\u8fd9\u4e2a\u95e8\u4ef6?
+OK=\u786e\u8ba4
+CANCEL=\u53d6\u6d88
+ADDPORTLETS=\u6dfb\u52a0\u95e8\u4ef6:
+ADD=\u6dfb\u52a0
+NOPORTLETS=-- \u6ca1\u6709\u53ef\u7528\u7684\u95e8\u4ef6 --
+
+UI_DATAGRID_START=\u9996\u9875
+UI_DATAGRID_PREV=\u4e0a\u9875
+UI_DATAGRID_NEXT=\u4e0b\u9875
+UI_DATAGRID_END=\u5c3e\u9875
+UI_DATAGRID_SHOWING=\u5217\u51fa
+UI_DATAGRID_SHOWING2=\u7684
+
+SHOW_PAGES=\u5206\u9875\u9762\u663e\u793a
+PAGE=\u5f53\u524d\u9875\u9762\u4e3a:
+OUT_OF_PAGES=&nbsp;&nbsp;\u9875\u9762\u603b\u6570\u4e3a:
+SHOW_ALL=\u663e\u793a\u6240\u6709

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionRequest.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionRequest.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionResponse.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ActionResponse.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/GenericPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/GenericPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortalContext.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortalContext.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/Portlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/Portlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletConfig.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletConfig.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletContext.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletContext.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletMode.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletMode.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletModeException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletModeException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletPreferences.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletPreferences.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequest.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequest.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequestDispatcher.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletRequestDispatcher.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletResponse.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletResponse.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSecurityException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSecurityException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSession.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSession.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSessionUtil.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletSessionUtil.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletURL.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PortletURL.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PreferencesValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/PreferencesValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ReadOnlyException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ReadOnlyException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderRequest.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderRequest.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderResponse.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/RenderResponse.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/UnavailableException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/UnavailableException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ValidatorException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/ValidatorException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowState.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowState.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowStateException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/javax/portlet/WindowStateException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters/portal-filters-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters/portal-filters-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/filters/portal-filters-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<?xml version="1.0" ?>
+<!--
+
+    Authentication modules mapping file
+
+    $Id: auth-modules-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterCollection">
+        <map-to xml="portal-filters"/>
+        <field name="PortalFilterList" type="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterDefinition" collection="vector">
+            <bind-xml name="filter"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterDefinition">
+        <field name="Name" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="Descriptions" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="Implementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="auth-config"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Key" type="string">
+            <bind-xml name="key" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BaseComponentLifecycle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BaseComponentLifecycle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BasePortletComponent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/BasePortletComponent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentIdentifier.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentIdentifier.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentLifecycle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/ComponentLifecycle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletBar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletBar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletColumnLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletColumnLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletComponent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletComponent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContainer.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContainer.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletContent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrame.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrame.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameRegistry.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletFrameRegistry.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutEngine.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletLayoutEngine.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletMenu.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletMenu.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletNavMenu.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletNavMenu.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPage.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPage.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPageFactory.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletPageFactory.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletRowLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletRowLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletStaticContent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletStaticContent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTab.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTab.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTabbedPane.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTabbedPane.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTableLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTableLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$Link.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$Link.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletModeLink.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletModeLink.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletStateLink.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar$PortletStateLink.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/PortletTitleBar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/SelectionContainer.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/SelectionContainer.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/ComponentAction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/ComponentAction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletComponentEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletComponentEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent$FrameAction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent$FrameAction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletFrameListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent$TabAction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent$TabAction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTabListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent$TitleBarAction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent$TitleBarAction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletTitleBarListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletWindowEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/PortletWindowEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletFrameEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletFrameEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTabEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTabEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletWindowEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/event/impl/PortletWindowEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/layout-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/layout-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/layout-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,204 @@
+<?xml version="1.0" ?>
+
+<!--
+
+    Portlet Layout mapping file controls mappings between layout descriptors and
+    org.gridsphere.layout.* classes
+
+    $Id: layout-mapping.xml 5127 2006-08-24 07:21:25Z novotny $
+
+-->
+
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.layout.PortletPage" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="page"/>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+        <field name="PortletHeader" type="org.gridsphere.layout.PortletContainer">
+            <bind-xml name="header"/>
+        </field>
+        <field name="PortletFooter" type="org.gridsphere.layout.PortletContainer">
+            <bind-xml name="footer"/>
+        </field>
+        <field name="Editable" type="boolean">
+            <bind-xml name="editable" node="attribute"/>
+        </field>
+        <field name="DisplayModes" type="boolean">
+            <bind-xml name="display-modes" node="attribute"/>
+        </field>
+        <field name="DisplayStates" type="boolean">
+            <bind-xml name="display-states" node="attribute"/>
+        </field>
+        <field name="Title" type="string">
+            <bind-xml name="title" node="attribute"/>
+        </field>
+        <field name="Keywords" type="string">
+            <bind-xml name="keywords" node="attribute"/>
+        </field>
+        <field name="Icon" type="string">
+            <bind-xml name="icon" node="attribute"/>
+        </field>
+        <field name="Refresh" type="int">
+            <bind-xml name="refresh" node="attribute"/>
+        </field>
+        <field name="RenderKit" type="string">
+            <bind-xml name="renderkit" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.BasePortletComponent">
+        <field name="Label" type="string">
+            <bind-xml name="label" node="attribute"/>
+        </field>
+        <field name="Width" type="string">
+            <bind-xml name="width" node="attribute"/>
+        </field>
+        <field name="Visible" type="boolean">
+            <bind-xml name="visible" node="attribute"/>
+        </field>
+        <field name="CanModify" type="boolean">
+            <bind-xml name="can-modify" node="attribute"/>
+        </field>
+        <field name="RequiredRole" type="string">
+            <bind-xml name="required-role" node="attribute"/>
+        </field>
+        <field name="Style" type="string">
+            <bind-xml name="style" node="attribute"/>
+        </field>
+    </class>
+
+
+    <class name="org.gridsphere.layout.PortletContainer">
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletFrameLayout" extends="org.gridsphere.layout.BasePortletComponent">
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTableLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="table"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletRowLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="row"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletColumnLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="column"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletBar" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="bar"/>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletFrame" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="frame"/>
+        <field name="PortletClass" type="string">
+            <bind-xml name="portlet-class"/>
+        </field>
+        <field name="Transparent" type="boolean">
+            <bind-xml name="transparent" node="attribute"/>
+        </field>
+        <field name="InnerPadding" type="string">
+            <bind-xml name="inner-padding" node="attribute"/>
+        </field>
+        <field name="OuterPadding" type="string">
+            <bind-xml name="outer-padding" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletContent" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="content"/>
+        <field name="Include" type="string">
+            <bind-xml name="include" node="attribute"/>
+        </field>
+        <field name="Border" type="boolean">
+            <bind-xml name="border" node="attribute"/>
+        </field>
+        <field name="Context" type="string">
+            <bind-xml name="context" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletStaticContent" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="static-content"/>
+        <field name="Include" type="string">
+            <bind-xml name="include" node="attribute"/>
+        </field>
+        <field name="Encoding" type="string">
+            <bind-xml name="encoding" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="title"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTabbedPane" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="tabbed-pane"/>
+        <field name="PortletTabs" type="org.gridsphere.layout.PortletTab" collection="arraylist">
+            <bind-xml name="tab"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletMenu" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="menu"/>
+        <field name="PortletTabs" type="org.gridsphere.layout.PortletTab" collection="arraylist">
+            <bind-xml name="tab"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTab" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="tab"/>
+        <field name="Titles" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description"
+               collection="arraylist">
+            <bind-xml name="title"/>
+        </field>
+        <field name="Url" type="string">
+            <bind-xml name="url" node="attribute"/>
+        </field>
+        <field name="TabOrder" type="integer">
+            <bind-xml name="order" node="attribute"/>
+        </field>
+        <field name="Outline" type="boolean">
+            <bind-xml name="outline" node="attribute"/>
+        </field>
+        <field name="Align" type="string">
+            <bind-xml name="align" node="attribute"/>
+        </field>
+        <field name="Padding" type="string">
+            <bind-xml name="padding" node="attribute"/>
+        </field>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.SelectionContainer" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="selection-container"/>
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+        <field name="DefaultLabel" type="string">
+            <bind-xml name="default"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/BaseRender.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/BaseRender.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/FrameView.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/FrameView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/Render.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/Render.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TabbedPaneView.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TabbedPaneView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TableLayoutView.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/TableLayoutView.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Bar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Bar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/ColumnLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/ColumnLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Container.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Container.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Frame.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Frame.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Menu.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Menu.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Page.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/Page.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/RowLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/RowLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TabbedPane.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TabbedPane.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TableLayout.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TableLayout.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TitleBar.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/layout/view/brush/TitleBar.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionRequestImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionRequestImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionResponseImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/ActionResponseImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/Enumerator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/Enumerator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/GridSphereParameters.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/GridSphereParameters.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortalContextImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortalContextImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$DefaultResourceBundle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$DefaultResourceBundle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$ResourceBundleImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl$ResourceBundleImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletConfigImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletContextImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletContextImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletPreferencesImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletPreferencesImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletRequestImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletResponseImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletResponseImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletSessionImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletSessionImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletURLImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PortletURLImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PreferencesValidatorImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/PreferencesValidatorImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderRequestImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderRequestImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderResponseImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/RenderResponseImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/SportletProperties.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/SportletProperties.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl$StoredServletOutputStreamImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl$StoredServletOutputStreamImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/StoredPortletResponseImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/portlet.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/portlet.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/impl/portlet.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+# Gridsphere portlet api properties
+gridsphere.release=GridSphere 3.1alpha
+portletapi.majorversion=1
+portletapi.minorversion=0
+
+

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceNotFoundException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceNotFoundException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceUnavailableException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/PortletServiceUnavailableException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceConfig.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceConfig.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceFactory.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceFactory.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceProvider.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/PortletServiceProvider.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/Description.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/Description.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" ?>
+<!--
+
+    Portlet Services mapping file controls mappings between layout descriptors and
+    org.gridsphere.portlet.service.* classes
+
+    $Id: portlet-services-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection">
+        <map-to xml="portlet-services"/>
+        <field name="PortletServicesList" type="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition" collection="vector">
+            <bind-xml name="service"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition">
+        <field name="ServiceName" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="ServiceDescription" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="ServiceInterface" type="string">
+            <bind-xml name="interface"/>
+        </field>
+        <field name="UserRequired" type="boolean">
+            <bind-xml name="user-required"/>
+        </field>
+        <field name="ServiceImplementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="service-config"/>
+        </field>
+        <field name="LoadOnStartup" type="boolean">
+            <bind-xml name="load-on-startup"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/ApplicationPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/ApplicationPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/Client.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/Client.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletAction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletAction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletPhase.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletPhase.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletRender.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/DefaultPortletRender.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/GridSphereEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/GridSphereEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcher.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcher.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcherException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletDispatcherException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletPreferencesManager.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletPreferencesManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletSessionListener.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletSessionListener.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletStatus.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletStatus.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletWebApplication.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/PortletWebApplication.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ClientImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/ClientImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletInvoker.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletInvoker.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletSessionManager.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletSessionManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Description.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Description.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParam.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParam.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Keywords.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Keywords.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Name.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Name.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$5.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$6.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$7.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor$7.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletName.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletName.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$10.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$10.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$11.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$11.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$5.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$5.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$6.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$6.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$7.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$7.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$8.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$8.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$9.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor$9.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Preference.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Preference.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleName.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleName.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor$4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Supports.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Supports.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Title.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Title.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$3.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor$3.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Value.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/Value.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowState.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowState.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mapping xmlns="http://castor.exolab.org/" xmlns:cst="http://castor.exolab.org/">
+    <description>Castor generated mapping file</description>
+
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Portlet</description>
+        <map-to cst:xml="portlet" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="portletName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletName" cst:required="true">
+            <bind-xml name="portlet-name" node="element"/>
+        </field>
+        <field cst:name="displayName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.DisplayName" cst:collection="array">
+            <bind-xml name="display-name" node="element"/>
+        </field>
+        <field cst:name="portletClass" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletClass" cst:required="true">
+            <bind-xml name="portlet-class" node="element"/>
+        </field>
+        <field cst:name="initParam"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.InitParam" cst:collection="array">
+            <bind-xml name="init-param" node="element"/>
+        </field>
+        <field cst:name="expirationCache" cst:type="org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache">
+            <bind-xml name="expiration-cache" node="element"/>
+        </field>
+        <field cst:name="supports"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Supports"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="supports" node="element"/>
+        </field>
+        <field cst:name="supportedLocale"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale" cst:collection="array">
+            <bind-xml name="supported-locale" node="element"/>
+        </field>
+        <field cst:name="resourceBundle"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle">
+            <bind-xml name="resource-bundle" node="element"/>
+        </field>
+        <field cst:name="portletInfo" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo">
+            <bind-xml name="portlet-info" node="element"/>
+        </field>
+        <field cst:name="portletPreferences" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences">
+            <bind-xml name="portlet-preferences" node="element"/>
+        </field>
+        <field cst:name="securityRoleRef"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef" cst:collection="array">
+            <bind-xml name="security-role-ref" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint</description>
+        <map-to cst:xml="security-constraint" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="displayName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.DisplayName" cst:collection="array">
+            <bind-xml name="display-name" node="element"/>
+        </field>
+        <field cst:name="portletCollection"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletCollection" cst:required="true">
+            <bind-xml name="portlet-collection" node="element"/>
+        </field>
+        <field cst:name="userDataConstraint"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint" cst:required="true">
+            <bind-xml name="user-data-constraint" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Description">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Description</description>
+        <map-to cst:xml="description" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="lang" cst:type="java.lang.String">
+            <bind-xml name="xml:lang" node="attribute"/>
+        </field>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Keywords">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Keywords</description>
+        <map-to cst:xml="keywords" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType">
+        <description>Default mapping for class
+            org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType
+        </description>
+        <map-to cst:xml="transport-guarantee" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale</description>
+        <map-to cst:xml="supported-locale" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Supports">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Supports</description>
+        <map-to cst:xml="supports" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="mimeType"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.MimeType" cst:required="true">
+            <bind-xml name="mime-type" node="element"/>
+        </field>
+        <field cst:name="portletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletMode" cst:collection="array">
+            <bind-xml name="portlet-mode" node="element"/>
+        </field>
+        <field cst:name="windowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.WindowState" cst:collection="array">
+            <bind-xml name="window-state" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle</description>
+        <map-to cst:xml="resource-bundle" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.UserAttribute">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.UserAttribute</description>
+        <map-to cst:xml="user-attribute" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Value">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Value</description>
+        <map-to cst:xml="value" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode</description>
+        <map-to cst:xml="custom-portlet-mode" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="portletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletMode" cst:required="true">
+            <bind-xml name="portlet-mode" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.RoleLink">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.RoleLink</description>
+        <map-to cst:xml="role-link" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.RoleName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.RoleName</description>
+        <map-to cst:xml="role-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.DisplayName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.DisplayName</description>
+        <map-to cst:xml="display-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="lang" cst:type="java.lang.String">
+            <bind-xml name="xml:lang" node="attribute"/>
+        </field>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.MimeType">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.MimeType</description>
+        <map-to cst:xml="mime-type" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache</description>
+        <map-to cst:xml="expiration-cache" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="int">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletMode">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletMode</description>
+        <map-to cst:xml="portlet-mode" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ShortTitle">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ShortTitle</description>
+        <map-to cst:xml="short-title" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState</description>
+        <map-to cst:xml="custom-window-state" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="windowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.WindowState" cst:required="true">
+            <bind-xml name="window-state" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Name">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Name</description>
+        <map-to cst:xml="name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint</description>
+        <map-to cst:xml="user-data-constraint" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="transportGuarantee"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType" cst:required="true">
+            <bind-xml name="transport-guarantee" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletCollection">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletCollection</description>
+        <map-to cst:xml="portlet-collection" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="portletName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletName"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="portlet-name" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Title">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Title</description>
+        <map-to cst:xml="title" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.WindowState">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.WindowState</description>
+        <map-to cst:xml="window-state" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType</description>
+        <map-to cst:xml="read-only" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletClass">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletClass</description>
+        <map-to cst:xml="portlet-class" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletName</description>
+        <map-to cst:xml="portlet-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+<!--
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice</description>
+        <map-to cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="portletTypeChoiceSequence"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence" cst:required="true">
+            <bind-xml name="-error-if-this-is-used-" node="element"/>
+        </field>
+        <field cst:name="portletInfo"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo" cst:required="true">
+            <bind-xml name="portlet-info" node="element"/>
+        </field>
+    </class>
+-->
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef</description>
+        <map-to cst:xml="security-role-ref" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="roleName" cst:type="org.gridsphere.portletcontainer.impl.descriptor.RoleName" cst:required="true">
+            <bind-xml name="role-name" node="element"/>
+        </field>
+        <field cst:name="roleLink" cst:type="org.gridsphere.portletcontainer.impl.descriptor.RoleLink">
+            <bind-xml name="role-link" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator</description>
+        <map-to cst:xml="preferences-validator" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Preference">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Preference</description>
+        <map-to cst:xml="preference" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+        <field cst:name="value"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Value" cst:collection="array">
+            <bind-xml name="value" node="element"/>
+        </field>
+        <field cst:name="readOnly" cst:type="org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType">
+            <bind-xml name="read-only" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences</description>
+        <map-to cst:xml="portlet-preferences" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="preference"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Preference" cst:collection="array">
+            <bind-xml name="preference" node="element"/>
+        </field>
+        <field cst:name="preferencesValidator" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator">
+            <bind-xml name="preferences-validator" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletApp">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletApp</description>
+        <map-to cst:xml="portlet-app" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="version" cst:type="java.lang.String" cst:required="true">
+            <bind-xml name="version" node="attribute"/>
+        </field>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="portlet"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="portlet" node="element"/>
+        </field>
+        <field cst:name="customPortletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode" cst:collection="array">
+            <bind-xml name="custom-portlet-mode" node="element"/>
+        </field>
+        <field cst:name="customWindowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState" cst:collection="array">
+            <bind-xml name="custom-window-state" node="element"/>
+        </field>
+        <field cst:name="userAttribute"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.UserAttribute" cst:collection="array">
+            <bind-xml name="user-attribute" node="element"/>
+        </field>
+        <field cst:name="securityConstraint"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint" cst:collection="array">
+            <bind-xml name="security-constraint" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.InitParam">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.InitParam</description>
+        <map-to cst:xml="init-param" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+        <field cst:name="value"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Value" cst:required="true">
+            <bind-xml name="value" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletInfo</description>
+        <map-to cst:xml="portlet-info" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="title"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Title" cst:required="true">
+            <bind-xml name="title" node="element"/>
+        </field>
+        <field cst:name="shortTitle" cst:type="org.gridsphere.portletcontainer.impl.descriptor.ShortTitle">
+            <bind-xml name="short-title" node="element"/>
+        </field>
+        <field cst:name="keywords" cst:type="org.gridsphere.portletcontainer.impl.descriptor.Keywords">
+            <bind-xml name="keywords" node="element"/>
+        </field>
+    </class>
+</mapping>

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/about/AboutPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/about/AboutPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/config/ConfigPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/config/ConfigPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/date/DatePortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/date/DatePortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/locale/LocalePortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/locale/LocalePortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/login/LoginPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/login/LoginPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/news/NewsPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/news/NewsPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/registration/SignupPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/registration/SignupPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/rss/RSSPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/rss/RSSPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/user/ProfileManagerPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/portlets/core/user/ProfileManagerPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/ActionFormEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/ActionFormEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/FormEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/FormEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/RenderFormEvent.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/RenderFormEvent.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/ActionPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/ActionPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/PortletServlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/PortletServlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag$TEI.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag$TEI.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionComponentBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionComponentBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionLinkBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionLinkBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionSubmitBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ActionSubmitBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseComponentBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BaseComponentBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BeanContainer.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/BeanContainer.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CalendarBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CalendarBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CheckBoxBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/CheckBoxBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/DialogBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/DialogBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FileInputBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FileInputBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FrameBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/FrameBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/GroupBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/GroupBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/HiddenFieldBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/HiddenFieldBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ImageBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ImageBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/IncludeBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/IncludeBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/InputBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/InputBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxItemBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ListBoxItemBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageBoxBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageBoxBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageStyle.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/MessageStyle.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PanelBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PanelBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ParamBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ParamBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PasswordBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PasswordBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PortletBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/PortletBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RadioButtonBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RadioButtonBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderLinkBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderLinkBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderSubmitBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RenderSubmitBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RichTextEditorBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/RichTextEditorBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/SelectElementBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/SelectElementBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TabBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TabBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableCellBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableCellBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableRowBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TableRowBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TagBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TagBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextAreaBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextAreaBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextEditorBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextEditorBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextFieldBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TextFieldBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TooltipBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TooltipBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeNodeBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/TreeNodeBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ValidatorBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/beans/ValidatorBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DataSource.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DataSource.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultDataSource.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultDataSource.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultListModel.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultListModel.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultTableModel.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/DefaultTableModel.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/SelectListModel.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/model/SelectListModel.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionBodyTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionBodyTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionComponentTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionComponentTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionFormTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionFormTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionLinkTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionLinkTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionMenuTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionPaneTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionPaneTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionSubmitTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionSubmitTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag$TEI.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag$TEI.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ActionTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseBeanTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseBeanTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseComponentTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/BaseComponentTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CalendarTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CalendarTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CheckboxTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/CheckboxTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ContainerTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ContainerTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogButtonTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogButtonTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogLinkTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogLinkTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/DialogTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileFormTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileFormTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileInputTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FileInputTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FrameTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/FrameTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/GroupTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/GroupTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HasRoleTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HasRoleTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HiddenFieldTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/HiddenFieldTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ImageTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ImageTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/IncludeTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/IncludeTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/InputTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/InputTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxItemTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxItemTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListBoxTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ListTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/MessageBoxTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/MessageBoxTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PanelTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PanelTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ParamTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ParamTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PasswordTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PasswordTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletLinkTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletLinkTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/PortletTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RadioButtonTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RadioButtonTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderLinkTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderLinkTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderSubmitTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RenderSubmitTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RichTextEditorTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/RichTextEditorTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabbedPaneTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TabbedPaneTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableCellTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableCellTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableRowTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableRowTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TableTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextAreaTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextAreaTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextEditorTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextEditorTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextFieldTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextFieldTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TextTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TooltipTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TooltipTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TreeTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/TreeTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ValidatorTag.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/tags/ValidatorTag.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/BaseValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/BaseValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/LengthValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/LengthValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/RequiredValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/RequiredValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/StringRangeValidator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/StringRangeValidator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/Validator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/provider/portletui/validator/Validator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/CacheService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/CacheService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheObject.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheObject.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheSweeperTask.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl$CacheSweeperTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/cache/impl/CacheServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/ChartService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/ChartService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/DatasetUtilities.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/DatasetUtilities.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/impl/ChartServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/charts/impl/ChartServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentFile.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentFile.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/ContentManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentFileImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentFileImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/SettingsService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/SettingsService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/BasePortalFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/BasePortalFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterConfig.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterConfig.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/PortalFilterService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentDocument.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentDocument.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/ContentException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRNode.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRNode.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/JCRService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/BackupTask.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/BackupTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/LocaleService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/LocaleService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailMessage.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailMessage.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/MailService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/impl/MailServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/mail/impl/MailServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerXml.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/PersistenceManagerXml.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/QueryFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/QueryFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Session.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Session.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Transaction.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/Transaction.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/CreateDatabase.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/CreateDatabase.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/SessionImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/SessionImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/TransactionImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/persistence/impl/TransactionImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/PortalConfigService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/PortalConfigService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletRegistryService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/PortletRegistryService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$WebappComparator.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl$WebappComparator.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/Request.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/Request.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/RequestService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/RequestService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/GenericRequest.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/GenericRequest.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$RequestSweeperTask.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl$RequestSweeperTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/request/impl/RequestServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/RssService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/RssService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/impl/RssServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/rss/impl/RssServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileInfo.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileInfo.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileLocationID.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/FileLocationID.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/SecureDirectoryService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/SecureDirectoryService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthModuleService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthModuleService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthenticationException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthenticationException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthorizationException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/AuthorizationException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<?xml version="1.0" ?>
+<!--
+
+    Authentication modules mapping file
+
+    $Id: auth-modules-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleCollection">
+        <map-to xml="auth-modules"/>
+        <field name="AuthModulesList" type="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition" collection="vector">
+            <bind-xml name="auth-module"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition">
+        <field name="ModuleName" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="ModuleDescriptions" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="ModuleErrors" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="error"/>
+        </field>
+        <field name="ModulePriority" type="integer">
+            <bind-xml name="priority"/>
+        </field>
+        <field name="ModuleActive" type="boolean">
+            <bind-xml name="active"/>
+        </field>
+        <field name="ModuleImplementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="auth-config"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Key" type="string">
+            <bind-xml name="key" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/GroupManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/GroupManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup$Type.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup$Type.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/PortletGroup.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/UserGroup.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/group/impl/UserGroup.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/InvalidPasswordException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/InvalidPasswordException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/Password.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/Password.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordEditor.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordEditor.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordNotFoundException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/PasswordNotFoundException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/PortletRole.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/PortletRole.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/RoleManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/RoleManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/UserRole.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/security/role/impl/UserRole.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/TimerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/TimerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/impl/TimerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/timer/impl/TimerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerException.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerException.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppResult.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/TomcatWebAppResult.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/User.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/User.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserManagerService.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserManagerService.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserPrincipal.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/UserPrincipal.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/utils/DateUtil.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/services/core/utils/DateUtil.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereServlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/GridSphereServlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/SetupServlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/servlets/SetupServlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DBTask.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DBTask.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$1.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$1.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$WARFilenameFilter.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK$WARFilenameFilter.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/DeployGridSphereTCK.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/log4j.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/log4j.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/classes/org/gridsphere/tools/log4j.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+# Set root category priority to ERROR and its only appender to A1.
+log4j.rootCategory=ERROR, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] (%F:%L) %-5p %c %x - %m%n
+
+# Add packages to log
+log4j.logger.org.gridsphere=DEBUG

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/index_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/index_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/about/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/about/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/authmodules_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/errorconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/loginconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/mailconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/msgconfig_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/config/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/bar_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/bar_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/content_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/content_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/frame_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/frame_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/menu_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/menu_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/subtab_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/subtab_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/tab_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/tab_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/layout/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/roles/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUser_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/doViewUser_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/admin/users/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/config_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/config_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/content/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/date/date_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/date/date_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/custom_005ferror_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/custom_005ferror_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/database_005ferror_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/database_005ferror_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/error_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/error_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/init_005ferror_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/init_005ferror_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/notfound_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/notfound_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/unauthorized_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/errors/unauthorized_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/index_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/index_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/locale/viewlocale_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/locale/viewlocale_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/createaccount_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/createaccount_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/forgotpassword_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/forgotpassword_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/login_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/login_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/loginnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/loginnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/newpassword_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/newpassword_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/welcome_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/login/welcome_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/logout/logoutnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/logout/logoutnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/admin_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/admin_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/news/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/editpassword_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/editpassword_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/help_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/help_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/profilenav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/profilenav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/viewuser_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/profile/viewuser_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/redirect_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/redirect_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnguestnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnguestnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnnav_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/returnnav_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/edit_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/edit_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/viewRSS_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/rss/viewRSS_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/createAdmin_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/createAdmin_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/selectDatabase_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/updateDatabase_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/updateDatabase_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/view_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/setup/view_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/approve_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/approve_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/confirmsave_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/confirmsave_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/createaccount_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/createaccount_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/deny_jsp.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/jsp/classes/org/apache/jsp/jsp/signup/deny_jsp.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/index_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/index_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/index_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+package org.apache.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import javax.portlet.PortletURL;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+
+public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html;charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+ PortletURL purl = new PortletURLImpl(request, response, true); 
+      out.write('\n');
+ System.err.println("url = " + purl); 
+      out.write('\n');
+ response.sendRedirect(purl.toString()); 
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/about/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,963 @@
+package org.apache.jsp.jsp.about;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+
+    String version = (String) request.getAttribute("version");
+    String deployedPath = (String) request.getAttribute("path");
+
+      out.write("\n\n<div id=\"gsinfo\" style=\"text-align: center\">\n    <h1>\n        ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n        :\n        ");
+      out.print( version );
+      out.write("\n    </h1>\n</div>\n");
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel("System Information");
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.print( System.getProperty("java.vendor"));
+                      out.write(' ');
+                      out.print( System.getProperty("java.version"));
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.print( deployedPath);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.print( System.getProperty("java.home"));
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                <ul>");
+
+                    String path = System.getProperty("java.class.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                
+                      out.write("\n                    <li>");
+                      out.print( elements[i]);
+                      out.write("\n                    </li>\n                    ");
+
+                        }
+                    
+                      out.write("\n                </ul>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n                <ul>");
+
+                    String path = System.getProperty("java.library.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                
+                      out.write("\n                    <li>");
+                      out.print( elements[i]);
+                      out.write("\n                    </li>\n                    ");
+
+                        }
+                    
+                      out.write("\n                </ul>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.print( System.getProperty("os.name"));
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f6.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+                  int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                    }
+                    do {
+                      out.print( System.getProperty("os.arch"));
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f7.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+                  int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f15.doInitBody();
+                    }
+                    do {
+                      out.print( System.getProperty("os.version"));
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write("\n\n<div id=\"gsinfo\" style=\"text-align: center\">\n    ");
+      if (_jspx_meth_ui_005ftext_005f1(_jspx_page_context))
+        return;
+      out.write("\n    Jason Novotny, Michael Russell &amp; Oliver Wehrens\n</div>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("ABOUT_GRIDSPHERE_VERSION");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("Java Version");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("GridSphere");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("Java Home");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("Java Classpath");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("Java Librarypath");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("OS Name");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("OS Arch");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("OS Version");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent(null);
+    _jspx_th_ui_005ftext_005f1.setKey("ABOUT_GRIDSPHERE_WRITTEN_BY");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/authmodules_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/authmodules_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/authmodules_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,914 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import javax.portlet.RenderRequest;
+import java.util.Iterator;
+import java.util.List;
+
+public final class authmodules_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      java.lang.String services = null;
+      synchronized (request) {
+        services = (java.lang.String) _jspx_page_context.getAttribute("services", PageContext.REQUEST_SCOPE);
+        if (services == null){
+          services = new java.lang.String();
+          _jspx_page_context.setAttribute("services", services, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ RenderRequest pReq = (RenderRequest) pageContext.getAttribute("renderRequest"); 
+      out.write('\n');
+ List authModules = (List) request.getAttribute("authModules"); 
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_AUTHMODULES_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+ if (authModules.size() == 1) { 
+              out.write("\n        ");
+              if (_jspx_meth_ui_005fmessagebox_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n        ");
+ } 
+              out.write("\n\n        ");
+              //  ui:frame
+              org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+              _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+              if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005fframe_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n\n            ");
+ Iterator it = authModules.iterator(); 
+                  out.write("\n            ");
+ while (it.hasNext()) {
+                LoginAuthModule authModule = (LoginAuthModule) it.next(); 
+                  out.write("\n\n            ");
+                  //  ui:tablerow
+                  org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                  _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+                  int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                          _jspx_th_ui_005ftext_005f4.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                      out.write("\n                ");
+ if (authModules.size() == 1) { 
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:checkbox
+                          org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                          _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                          _jspx_th_ui_005fcheckbox_005f0.setBeanId("authModCB");
+                          _jspx_th_ui_005fcheckbox_005f0.setDisabled(true);
+                          _jspx_th_ui_005fcheckbox_005f0.setSelected(true);
+                          _jspx_th_ui_005fcheckbox_005f0.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+                          if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fdisabled_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:checkbox
+                          org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                          _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                          _jspx_th_ui_005fcheckbox_005f1.setBeanId("authModCB");
+                          _jspx_th_ui_005fcheckbox_005f1.setSelected( authModule.isModuleActive() );
+                          _jspx_th_ui_005fcheckbox_005f1.setValue( authModule.getModuleName() );
+                          int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                          if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                      out.write("\n                ");
+ } 
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:textfield
+                          org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                          _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                          _jspx_th_ui_005ftextfield_005f0.setName( authModule.getModuleName() );
+                          _jspx_th_ui_005ftextfield_005f0.setValue( String.valueOf(authModule.getModulePriority()) );
+                          _jspx_th_ui_005ftextfield_005f0.setSize(3);
+                          int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                          if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fname_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                      int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f8.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+                          _jspx_th_ui_005ftext_005f5.setValue( authModule.getModuleDescription(pReq.getLocale()) );
+                          int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                  out.write("\n\n            ");
+ } 
+                  out.write("\n\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f1 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fmessagebox_005f1.setKey("LOGIN_AUTHMODULES_ONEREQ");
+    int _jspx_eval_ui_005fmessagebox_005f1 = _jspx_th_ui_005fmessagebox_005f1.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+    _jspx_th_ui_005ftablerow_005f0.setZebra(true);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fzebra_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_MODULE_NAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_MODULE_ISACTIVE");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LOGIN_MODULE_PRIORITY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_MODULE_DESC");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveAuthModules");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/errorconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,392 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class errorconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ Boolean sendMail = (Boolean) request.getAttribute("sendMail"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_ERROR_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        <p>\n            ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f0.setBeanId("errorRB");
+              _jspx_th_ui_005fradiobutton_005f0.setValue("NOMAIL");
+              _jspx_th_ui_005fradiobutton_005f0.setSelected( !sendMail.booleanValue() );
+              int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+              out.write("\n            ");
+              if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n        </p>\n\n        <p>\n            ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f1.setBeanId("errorRB");
+              _jspx_th_ui_005fradiobutton_005f1.setValue("MAIL");
+              _jspx_th_ui_005fradiobutton_005f1.setSelected( sendMail.booleanValue() );
+              int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+              out.write("\n            ");
+              if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n        </p>\n        ");
+              if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CONFIG_ERROR_STACKTRACE_MSG");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_CONFIG_ERROR_MAIL_MSG");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("configErrorSettings");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/loginconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,745 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class loginconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      java.lang.String services = null;
+      synchronized (request) {
+        services = (java.lang.String) _jspx_page_context.getAttribute("services", PageContext.REQUEST_SCOPE);
+        if (services == null){
+          services = new java.lang.String();
+          _jspx_page_context.setAttribute("services", services, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write("\n\n<script type=\"text/javascript\">\n    function checkUserCreate(elem, id) {\n        if (elem) {\n            document.getElementById(id).checked = true;\n        }\n    }\n\n    function checkAllowUsers(elem, id) {\n        if (!elem) {\n            document.getElementById(id).checked = false;\n        }\n    }\n\n    function checkSavePass(elem, id) {\n        document.getElementById(id).checked = elem;\n    }\n    //  End -->\n</script>\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:group
+          org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+          _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_MSG");
+          int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+          if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fgroup_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        <ul style=\"list-style-type: none;\">\n            <li>\n                ");
+              if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                <ul style=\"list-style-type: none;\">\n                    <li>\n                        ");
+              if (_jspx_meth_ui_005fcheckbox_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                        ");
+              if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                    </li>\n                </ul>\n            </li>\n            <li>\n                ");
+              if (_jspx_meth_ui_005fcheckbox_005f2(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                ");
+              if (_jspx_meth_ui_005fcheckbox_005f3(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                ");
+              if (_jspx_meth_ui_005fcheckbox_005f4(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                ");
+              if (_jspx_meth_ui_005fcheckbox_005f5(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                <br/>\n                ");
+              if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                ");
+              if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n            <li>\n                ");
+ Boolean isUsernameLogin = (Boolean) request.getAttribute("isUsernameLogin"); 
+              out.write("\n                ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f0.setBeanId("loginRB");
+              _jspx_th_ui_005fradiobutton_005f0.setValue("TRUE");
+              _jspx_th_ui_005fradiobutton_005f0.setSelected( (isUsernameLogin == Boolean.TRUE) );
+              int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n                ");
+              //  ui:radiobutton
+              org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+              _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+              _jspx_th_ui_005fradiobutton_005f1.setBeanId("loginRB");
+              _jspx_th_ui_005fradiobutton_005f1.setValue("FALSE");
+              _jspx_th_ui_005fradiobutton_005f1.setSelected( (isUsernameLogin == Boolean.FALSE) );
+              int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+              if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+              out.write("\n                ");
+              if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n            </li>\n        </ul>\n        ");
+              if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f0.setId("allowCreateCB");
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("acctCB");
+    _jspx_th_ui_005fcheckbox_005f0.setValue("TRUE");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("checkAllowUsers( this.checked, 'userApprovalCB' )");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CONFIG_ALLOW");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f1.setId("userApprovalCB");
+    _jspx_th_ui_005fcheckbox_005f1.setOnClick("checkUserCreate( this.checked, 'allowCreateCB' )");
+    _jspx_th_ui_005fcheckbox_005f1.setBeanId("acctApproval");
+    _jspx_th_ui_005fcheckbox_005f1.setValue("FALSE");
+    int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_ACCOUNT_APPROVAL");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f2 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f2.setId("notifyCB");
+    _jspx_th_ui_005fcheckbox_005f2.setOnClick("checkUserCreate( this.checked, 'savePassCB' )");
+    _jspx_th_ui_005fcheckbox_005f2.setBeanId("notifyCB");
+    _jspx_th_ui_005fcheckbox_005f2.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f2 = _jspx_th_ui_005fcheckbox_005f2.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f2.setKey("LOGIN_CONFIG_NOTIFY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f3 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f3.setBeanId("supportx509CB");
+    _jspx_th_ui_005fcheckbox_005f3.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f3 = _jspx_th_ui_005fcheckbox_005f3.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_CONFIG_X509");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f4 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f4.setBeanId("remUserCB");
+    _jspx_th_ui_005fcheckbox_005f4.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f4 = _jspx_th_ui_005fcheckbox_005f4.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f4.setKey("LOGIN_REMUSER");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f5 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fcheckbox_005f5.setId("savePassCB");
+    _jspx_th_ui_005fcheckbox_005f5.setOnClick("checkSavePass( this.checked, 'notifyCB' )");
+    _jspx_th_ui_005fcheckbox_005f5.setBeanId("savepassCB");
+    _jspx_th_ui_005fcheckbox_005f5.setValue("TRUE");
+    int _jspx_eval_ui_005fcheckbox_005f5 = _jspx_th_ui_005fcheckbox_005f5.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fonClick_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f5.setKey("LOGIN_CONFIG_PASSWD");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f6.setStyle("alert");
+    _jspx_th_ui_005ftext_005f6.setKey("LOGIN_CONFIG_PASSWD1");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("LOGIN_TRIES_MSG");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("numTriesTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f8.setKey("LOGIN_USERNAME");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f9.setKey("LOGIN_EMAIL");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("setLoginSettings");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/mailconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,985 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class mailconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_SMTP");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("CONFIG_MAILHOST");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f1.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("mailServerTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("CONFIG_MAILPORT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("mailPortTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f2.setKey("CONFIG_MAILFROM");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("mailFromTF");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f3.setKey("CONFIG_MAILADMIN");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f7.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("adminTF");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveMailConfig");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/msgconfig_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2208 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class msgconfig_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f1(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f2(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f3(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("LOGIN_CONFIG_FORGET");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(50);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("forgotHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:<br> <span style=\"font-size: smaller; color: red\">(links will be placed in the body automatically)</span>");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextarea_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f0 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextarea_005f0.setCols(50);
+    _jspx_th_ui_005ftextarea_005f0.setBeanId("forgotBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f0 = _jspx_th_ui_005ftextarea_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                        ");
+        if (_jspx_meth_ui_005factionparam_005f0(_jspx_th_ui_005factionsubmit_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f0);
+    _jspx_th_ui_005factionparam_005f0.setName("type");
+    _jspx_th_ui_005factionparam_005f0.setValue("forgot");
+    int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f1.setParent(null);
+    int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+    if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f1.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005fgroup_005f1.setKey("LOGIN_CONFIG_ACTIVATE");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftextfield_005f1.setSize(50);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("activateHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextarea_005f1(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f1 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftextarea_005f1.setCols(50);
+    _jspx_th_ui_005ftextarea_005f1.setBeanId("activateBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f1 = _jspx_th_ui_005ftextarea_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                        ");
+        if (_jspx_meth_ui_005factionparam_005f1(_jspx_th_ui_005factionsubmit_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f1 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f1);
+    _jspx_th_ui_005factionparam_005f1.setName("type");
+    _jspx_th_ui_005factionparam_005f1.setValue("activate");
+    int _jspx_eval_ui_005factionparam_005f1 = _jspx_th_ui_005factionparam_005f1.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f2 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f2.setParent(null);
+    int _jspx_eval_ui_005fform_005f2 = _jspx_th_ui_005fform_005f2.doStartTag();
+    if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f2.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f2(_jspx_th_ui_005fform_005f2, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f2 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f2);
+    _jspx_th_ui_005fgroup_005f2.setKey("LOGIN_CONFIG_APPROVED");
+    int _jspx_eval_ui_005fgroup_005f2 = _jspx_th_ui_005fgroup_005f2.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f2.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f2(_jspx_th_ui_005fgroup_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f2 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f2);
+    int _jspx_eval_ui_005fframe_005f2 = _jspx_th_ui_005fframe_005f2.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f8(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftextfield_005f2.setSize(50);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("approvedHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextarea_005f2(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f2 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftextarea_005f2.setCols(50);
+    _jspx_th_ui_005ftextarea_005f2.setBeanId("approvedBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f2 = _jspx_th_ui_005ftextarea_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f15(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f15.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                        ");
+        if (_jspx_meth_ui_005factionparam_005f2(_jspx_th_ui_005factionsubmit_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f2 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f2);
+    _jspx_th_ui_005factionparam_005f2.setName("type");
+    _jspx_th_ui_005factionparam_005f2.setValue("approved");
+    int _jspx_eval_ui_005factionparam_005f2 = _jspx_th_ui_005factionparam_005f2.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f3(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f3 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f3.setParent(null);
+    int _jspx_eval_ui_005fform_005f3 = _jspx_th_ui_005fform_005f3.doStartTag();
+    if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f3.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f3(_jspx_th_ui_005fform_005f3, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f3 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f3);
+    _jspx_th_ui_005fgroup_005f3.setKey("LOGIN_CONFIG_DENIED");
+    int _jspx_eval_ui_005fgroup_005f3 = _jspx_th_ui_005fgroup_005f3.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f3.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f3(_jspx_th_ui_005fgroup_005f3, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f3 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f3);
+    int _jspx_eval_ui_005fframe_005f3 = _jspx_th_ui_005fframe_005f3.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f3.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f10(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f11(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f17(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f17(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f17.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail subject:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005ftextfield_005f3.setSize(50);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("deniedHeaderTF");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f10 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f10 = _jspx_th_ui_005ftablerow_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f10.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f19(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f20(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f19(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f19 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f19.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f19.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    int _jspx_eval_ui_005ftablecell_005f19 = _jspx_th_ui_005ftablecell_005f19.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f19.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f19.doInitBody();
+      }
+      do {
+        out.write("Enter e-mail body:");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f19.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f19.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f20(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f20 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f20.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f20.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    int _jspx_eval_ui_005ftablecell_005f20 = _jspx_th_ui_005ftablecell_005f20.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f20.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f20.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextarea_005f3(_jspx_th_ui_005ftablecell_005f20, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f20.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f20.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f20);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f20);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f20, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f3 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f20);
+    _jspx_th_ui_005ftextarea_005f3.setCols(50);
+    _jspx_th_ui_005ftextarea_005f3.setBeanId("deniedBodyTA");
+    int _jspx_eval_ui_005ftextarea_005f3 = _jspx_th_ui_005ftextarea_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f11 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f11 = _jspx_th_ui_005ftablerow_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f11.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f21(_jspx_th_ui_005ftablerow_005f11, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f22(_jspx_th_ui_005ftablerow_005f11, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f21(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f21 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f21.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f21.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f11);
+    int _jspx_eval_ui_005ftablecell_005f21 = _jspx_th_ui_005ftablecell_005f21.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f21.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f21.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f21, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f21.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f21 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f21.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f21);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f21);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f21, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f21);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveMailMessage");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005factionsubmit_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005factionsubmit_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                        ");
+        if (_jspx_meth_ui_005factionparam_005f3(_jspx_th_ui_005factionsubmit_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005factionsubmit_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionsubmit_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f3 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f3);
+    _jspx_th_ui_005factionparam_005f3.setName("type");
+    _jspx_th_ui_005factionparam_005f3.setValue("denied");
+    int _jspx_eval_ui_005factionparam_005f3 = _jspx_th_ui_005factionparam_005f3.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f22(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f22 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f22.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f22.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f11);
+    int _jspx_eval_ui_005ftablecell_005f22 = _jspx_th_ui_005ftablecell_005f22.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f22.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f22);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f22);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/config/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,246 @@
+package org.apache.jsp.jsp.admin.config;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftabbedpane;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftabbedpane = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftabbedpane.release();
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005ftabbedpane_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftabbedpane_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tabbedpane
+    org.gridsphere.provider.portletui.tags.TabbedPaneTag _jspx_th_ui_005ftabbedpane_005f0 = (org.gridsphere.provider.portletui.tags.TabbedPaneTag) _005fjspx_005ftagPool_005fui_005ftabbedpane.get(org.gridsphere.provider.portletui.tags.TabbedPaneTag.class);
+    _jspx_th_ui_005ftabbedpane_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftabbedpane_005f0.setParent(null);
+    int _jspx_eval_ui_005ftabbedpane_005f0 = _jspx_th_ui_005ftabbedpane_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftabbedpane_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftabbedpane_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftab_005f0(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftab_005f1(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftab_005f2(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftab_005f3(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftab_005f4(_jspx_th_ui_005ftabbedpane_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005ftabbedpane_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftabbedpane_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftabbedpane_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftabbedpane.reuse(_jspx_th_ui_005ftabbedpane_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftabbedpane.reuse(_jspx_th_ui_005ftabbedpane_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f0 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f0.setLabel("loginconfig");
+    _jspx_th_ui_005ftab_005f0.setKey("CONFIG_LOGIN_TAB");
+    _jspx_th_ui_005ftab_005f0.setPage("/jsp/admin/config/loginconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f0 = _jspx_th_ui_005ftab_005f0.doStartTag();
+    if (_jspx_th_ui_005ftab_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f1 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f1.setLabel("authmodules");
+    _jspx_th_ui_005ftab_005f1.setKey("CONFIG_AUTH_TAB");
+    _jspx_th_ui_005ftab_005f1.setPage("/jsp/admin/config/authmodules.jsp");
+    int _jspx_eval_ui_005ftab_005f1 = _jspx_th_ui_005ftab_005f1.doStartTag();
+    if (_jspx_th_ui_005ftab_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f2 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f2.setLabel("mailconfig");
+    _jspx_th_ui_005ftab_005f2.setKey("CONFIG_MAIL_TAB");
+    _jspx_th_ui_005ftab_005f2.setPage("/jsp/admin/config/mailconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f2 = _jspx_th_ui_005ftab_005f2.doStartTag();
+    if (_jspx_th_ui_005ftab_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f3 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f3.setLabel("msgconfig");
+    _jspx_th_ui_005ftab_005f3.setKey("CONFIG_MSG_TAB");
+    _jspx_th_ui_005ftab_005f3.setPage("/jsp/admin/config/msgconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f3 = _jspx_th_ui_005ftab_005f3.doStartTag();
+    if (_jspx_th_ui_005ftab_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftab_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftabbedpane_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tab
+    org.gridsphere.provider.portletui.tags.TabTag _jspx_th_ui_005ftab_005f4 = (org.gridsphere.provider.portletui.tags.TabTag) _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TabTag.class);
+    _jspx_th_ui_005ftab_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftab_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftabbedpane_005f0);
+    _jspx_th_ui_005ftab_005f4.setLabel("errconfig");
+    _jspx_th_ui_005ftab_005f4.setKey("CONFIG_ERR_TAB");
+    _jspx_th_ui_005ftab_005f4.setPage("/jsp/admin/config/errorconfig.jsp");
+    int _jspx_eval_ui_005ftab_005f4 = _jspx_th_ui_005ftab_005f4.doStartTag();
+    if (_jspx_th_ui_005ftab_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftab_005fpage_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005ftab_005f4);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/bar_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/bar_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/bar_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,434 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class bar_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    _jspx_th_ui_005fgroup_005f0.setKey("LAYOUT_EDIT_BAR");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftable_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                Select column layout:\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("colsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveBar");
+    _jspx_th_ui_005factionsubmit_005f0.setValue("Save");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f1.setValue("Cancel");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/content_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/content_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/content_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,704 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.layout.PortletContent;
+
+public final class content_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ PortletContent content = (PortletContent) request.getAttribute("portletComp"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f0.setParent(null);
+      _jspx_th_ui_005ftext_005f0.setVar("msg");
+      _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_EDIT_CONTENT");
+      int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+      if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+        return;
+      }
+      msg = (java.lang.String) _jspx_page_context.findAttribute("msg");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      out.write('\n');
+ String label = msg + " <b>" + content.getFileName() + "</b>"; 
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel( label);
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f2.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+                      _jspx_th_ui_005ftextfield_005f0.setBeanId("labelTF");
+                      _jspx_th_ui_005ftextfield_005f0.setValue( content.getLabel() );
+                      int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005ftable_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_SEL_CONTENT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("contentLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_SEL_ROLES");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("rolesLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_SEL_BOOKMARKING");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveContent");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("OK");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/frame_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/frame_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/frame_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,852 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.layout.PortletFrame;
+
+public final class frame_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ PortletFrame frame = (PortletFrame) request.getAttribute("portletComp"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f0.setParent(null);
+      _jspx_th_ui_005ftext_005f0.setVar("msg");
+      _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_EDIT_FRAME");
+      int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+      if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+        return;
+      }
+      msg = (java.lang.String) _jspx_page_context.findAttribute("msg");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      out.write('\n');
+ String label = msg + " <b>" + frame.getPortletName() + "</b>"; 
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel( label);
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f2.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+                      _jspx_th_ui_005ftextfield_005f0.setBeanId("labelTF");
+                      _jspx_th_ui_005ftextfield_005f0.setValue( frame.getLabel() );
+                      int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n                :\n                ");
+                      if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:radiobutton
+                      org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+                      _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                      _jspx_th_ui_005fradiobutton_005f0.setBeanId("istitleRB");
+                      _jspx_th_ui_005fradiobutton_005f0.setSelected( (request.getAttribute("isTitle") != null) );
+                      _jspx_th_ui_005fradiobutton_005f0.setValue("yes");
+                      int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+                      if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:radiobutton
+                      org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+                      _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                      _jspx_th_ui_005fradiobutton_005f1.setBeanId("istitleRB");
+                      _jspx_th_ui_005fradiobutton_005f1.setSelected( (request.getAttribute("isTitle") == null) );
+                      _jspx_th_ui_005fradiobutton_005f1.setValue("no");
+                      int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+                      if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005ftable_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_SEL_PORTLETS");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("portletsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_SEL_ROLES");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("rolesLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_SEL_BOOKMARKING");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_DISP_TB");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f5.setKey("YES");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f6.setKey("NO");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveFrame");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("OK");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<p>\n    <b>Using the Layout Manager portlet</b>\n</p>\n\n<p>\n    The Layout Manager portlet lets you customize your theme and entire portal layout.\n    Various options are provided to allow you to rename, create and delete portlet tab titles\n    and sub tab titles. Portlets within a subtab can be arranged into table layouts with\n    the desired columns and rows. Only those portlets to which you are subscribed may be added.\n</p>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/menu_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/menu_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/menu_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1025 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.layout.PortletTab;
+
+public final class menu_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg1 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f0.setParent(null);
+      _jspx_th_ui_005ftext_005f0.setVar("msg1");
+      _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_CREATE_MENU");
+      int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+      if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+        return;
+      }
+      msg1 = (java.lang.String) _jspx_page_context.findAttribute("msg1");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg2 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f1.setParent(null);
+      _jspx_th_ui_005ftext_005f1.setVar("msg2");
+      _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_EDIT_MENU");
+      int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+      if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+        return;
+      }
+      msg2 = (java.lang.String) _jspx_page_context.findAttribute("msg2");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      out.write('\n');
+      out.write('\n');
+ PortletTab tab = (PortletTab) request.getAttribute("portletComp"); 
+      out.write('\n');
+ String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel( label );
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f2.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+                      _jspx_th_ui_005ftextfield_005f0.setBeanId("nameTF");
+                      _jspx_th_ui_005ftextfield_005f0.setValue( tab.getTitle("en") );
+                      int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005ftextfield_005f1.setBeanId("labelTF");
+                      _jspx_th_ui_005ftextfield_005f1.setValue( tab.getLabel() );
+                      int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f2 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f2.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f2 = _jspx_th_ui_005ftable_005f2.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f2.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f2);
+              int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f4(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f5(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f2.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setBeanId("moveLeftButton");
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doMoveTabLeft");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LAYOUT_MV_LEFT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setBeanId("moveRightButton");
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doMoveTabRight");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("LAYOUT_MV_RIGHT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_EDIT_TABNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_SEL_ROLES");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("rolesLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_SEL_BOOKMARKING");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("LAYOUT_SEL_COLLAYOUT");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("colsLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doSaveNewTab");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveTab");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f4 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f4.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f4.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f4 = _jspx_th_ui_005factionsubmit_005f4.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f5 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f5.setAction("doDeleteTab");
+    _jspx_th_ui_005factionsubmit_005f5.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f5 = _jspx_th_ui_005factionsubmit_005f5.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/subtab_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/subtab_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/subtab_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1025 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.layout.PortletTab;
+
+public final class subtab_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg1 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f0.setParent(null);
+      _jspx_th_ui_005ftext_005f0.setVar("msg1");
+      _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_CREATE_SUBTAB");
+      int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+      if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+        return;
+      }
+      msg1 = (java.lang.String) _jspx_page_context.findAttribute("msg1");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg2 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f1.setParent(null);
+      _jspx_th_ui_005ftext_005f1.setVar("msg2");
+      _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_EDIT_SUBTAB");
+      int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+      if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+        return;
+      }
+      msg2 = (java.lang.String) _jspx_page_context.findAttribute("msg2");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      out.write('\n');
+      out.write('\n');
+ PortletTab tab = (PortletTab) request.getAttribute("portletComp"); 
+      out.write('\n');
+ String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel( label );
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f2.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+                      _jspx_th_ui_005ftextfield_005f0.setBeanId("nameTF");
+                      _jspx_th_ui_005ftextfield_005f0.setValue( tab.getTitle("en") );
+                      int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005ftextfield_005f1.setBeanId("labelTF");
+                      _jspx_th_ui_005ftextfield_005f1.setValue( tab.getLabel() );
+                      int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f2 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f2.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f2 = _jspx_th_ui_005ftable_005f2.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f2.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f2);
+              int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f4(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f5(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f2.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setBeanId("moveLeftButton");
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doMoveTabLeft");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LAYOUT_MV_LEFT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setBeanId("moveRightButton");
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doMoveTabRight");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("LAYOUT_MV_RIGHT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_EDIT_SUBTABNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_SEL_ROLES");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("rolesLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_SEL_BOOKMARKING");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("LAYOUT_SEL_COLLAYOUT");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("colsLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doSaveNewTab");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveTab");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f4 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f4.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f4.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f4 = _jspx_th_ui_005factionsubmit_005f4.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f5 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f5.setAction("doDeleteTab");
+    _jspx_th_ui_005factionsubmit_005f5.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f5 = _jspx_th_ui_005factionsubmit_005f5.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/tab_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/tab_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/tab_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1036 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletTab;
+import org.gridsphere.layout.PortletTableLayout;
+
+public final class tab_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ PortletTab tab = (PortletTab) request.getAttribute("portletComp"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg1 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f0.setParent(null);
+      _jspx_th_ui_005ftext_005f0.setVar("msg1");
+      _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_CREATE_TAB");
+      int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+      if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+        return;
+      }
+      msg1 = (java.lang.String) _jspx_page_context.findAttribute("msg1");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      out.write('\n');
+      //  ui:text
+      java.lang.String msg2 = null;
+      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+      _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005ftext_005f1.setParent(null);
+      _jspx_th_ui_005ftext_005f1.setVar("msg2");
+      _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_EDIT_TAB2");
+      int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+      if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+        return;
+      }
+      msg2 = (java.lang.String) _jspx_page_context.findAttribute("msg2");
+      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      out.write('\n');
+      out.write('\n');
+ String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel( label );
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f2.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+                      _jspx_th_ui_005ftextfield_005f0.setBeanId("nameTF");
+                      _jspx_th_ui_005ftextfield_005f0.setValue( tab.getTitle("en") );
+                      int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+                      //  ui:textfield
+                      org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+                      _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005ftextfield_005f1.setBeanId("labelTF");
+                      _jspx_th_ui_005ftextfield_005f1.setValue( tab.getLabel() );
+                      int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+                      if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n        ");
+ // in case this is a single level tab
+            PortletComponent c = tab.getPortletComponent();
+            if (c instanceof PortletTableLayout) { 
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                return;
+              out.write("\n        ");
+ } 
+              out.write("\n        ");
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f2 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f2.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005ftable_005f2 = _jspx_th_ui_005ftable_005f2.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f2.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f2);
+              int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getAttribute("isnewtab") != null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f4(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005factionsubmit_005f5(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f2.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f2);
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setBeanId("moveLeftButton");
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doMoveTabLeft");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LAYOUT_MV_LEFT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setBeanId("moveRightButton");
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doMoveTabRight");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("LAYOUT_MV_RIGHT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fbeanId_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_EDIT_TABNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_SEL_ROLES");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("rolesLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_SEL_BOOKMARKING");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("LAYOUT_SEL_COLLAYOUT");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("colsLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doSaveNewTab");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveTab");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f4 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f4.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f4.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f4 = _jspx_th_ui_005factionsubmit_005f4.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f5 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005factionsubmit_005f5.setAction("doDeleteTab");
+    _jspx_th_ui_005factionsubmit_005f5.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f5 = _jspx_th_ui_005factionsubmit_005f5.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f5);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/layout/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1410 @@
+package org.apache.jsp.jsp.admin.layout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String actionURI = null;
+      synchronized (request) {
+        actionURI = (java.lang.String) _jspx_page_context.getAttribute("actionURI", PageContext.REQUEST_SCOPE);
+        if (actionURI == null){
+          actionURI = new java.lang.String();
+          _jspx_page_context.setAttribute("actionURI", actionURI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String controlUI = null;
+      synchronized (request) {
+        controlUI = (java.lang.String) _jspx_page_context.getAttribute("controlUI", PageContext.REQUEST_SCOPE);
+        if (controlUI == null){
+          controlUI = new java.lang.String();
+          _jspx_page_context.setAttribute("controlUI", controlUI, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String layoutlabel = null;
+      synchronized (request) {
+        layoutlabel = (java.lang.String) _jspx_page_context.getAttribute("layoutlabel", PageContext.REQUEST_SCOPE);
+        if (layoutlabel == null){
+          layoutlabel = new java.lang.String();
+          _jspx_page_context.setAttribute("layoutlabel", layoutlabel, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String pageName = null;
+      synchronized (request) {
+        pageName = (java.lang.String) _jspx_page_context.getAttribute("pageName", PageContext.REQUEST_SCOPE);
+        if (pageName == null){
+          pageName = new java.lang.String();
+          _jspx_page_context.setAttribute("pageName", pageName, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+ String pane = (String) request.getAttribute("pane"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n<h3>\n    ");
+      if (_jspx_meth_ui_005ftext_005f4(_jspx_page_context))
+        return;
+      out.write("\n    &nbsp;<b>");
+      out.print( pageName );
+      out.write("\n</b></h3>\n\n");
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f1.setParent(null);
+      int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f1.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005fform_005f2(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+            return;
+          out.write("\n\n\n    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f3 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f3.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+          int _jspx_eval_ui_005fframe_005f3 = _jspx_th_ui_005fframe_005f3.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f3.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  _jspx_th_ui_005ftablecell_005f5.setWidth("60%");
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      out.write("\n                ");
+                      out.print( pane );
+                      out.write("\n                ");
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f3.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+          out.write("\n\n    ");
+          //  ui:form
+          org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f3 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+          _jspx_th_ui_005fform_005f3.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fform_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+          int _jspx_eval_ui_005fform_005f3 = _jspx_th_ui_005fform_005f3.doStartTag();
+          if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fform_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fform_005f3.doInitBody();
+            }
+            do {
+              out.write("\n\n        ");
+              //  ui:frame
+              org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f4 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+              _jspx_th_ui_005fframe_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005fframe_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f3);
+              int _jspx_eval_ui_005fframe_005f4 = _jspx_th_ui_005fframe_005f4.doStartTag();
+              if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005fframe_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005fframe_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablerow
+                  org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                  _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f4);
+                  int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                      int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                        }
+                        do {
+                          out.write("\n\n                    ");
+                          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+ if (!controlUI.equals("")) { 
+                          out.write("\n                    ");
+                          org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,  controlUI + ".jsp" , out, false);
+                          out.write("\n                    ");
+ } 
+                          out.write("\n                    ");
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005fframe_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005fframe_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fform_005f3.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fform_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fform_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f3);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f1);
+      out.write("\n\n<hr/>\n\n*\n");
+      if (_jspx_meth_ui_005ftext_005f8(_jspx_page_context))
+        return;
+      out.write("\n&nbsp; <b>$CATALINA_HOME/webapps");
+      out.print( request.getContextPath() );
+      out.write("/WEB-INF/CustomPortal/layouts/{guest.xml,\n    loggedin.xml}</b>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LAYOUT_CUSTOMIZE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("layoutsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("selectLayout");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LAYOUT_DISPLAY");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("LAYOUT_SEL_THEME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("themesLB");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("selectTheme");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    _jspx_th_ui_005fgroup_005f0.setKey("LAYOUT_PAGE_DETAILS");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fform_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+    if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("LAYOUT_EDIT_TITLE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("titleTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("LAYOUT_EDIT_KEYWORDS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("keywordsTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("savePageDetails");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent(null);
+    _jspx_th_ui_005ftext_005f4.setKey("LAYOUT_EDIT_COMPS");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f2 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    int _jspx_eval_ui_005fform_005f2 = _jspx_th_ui_005fform_005f2.doStartTag();
+    if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f2.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f2(_jspx_th_ui_005fform_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f2 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f2);
+    int _jspx_eval_ui_005fframe_005f2 = _jspx_th_ui_005fframe_005f2.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005flistbox_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write(' ');
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        if (_jspx_meth_ui_005fcheckbox_005f1(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f3(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f5.setKey("LAYOUT_SEL_TOPS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f2 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005flistbox_005f2.setBeanId("navigationLB");
+    int _jspx_eval_ui_005flistbox_005f2 = _jspx_th_ui_005flistbox_005f2.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f6.setKey("LAYOUT_SEL_SHOW_MODES");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("showModesCB");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f7.setKey("LAYOUT_SEL_SHOW_STATES");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f1.setBeanId("showStatesCB");
+    int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f3 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005factionsubmit_005f3.setAction("doSaveNav");
+    _jspx_th_ui_005factionsubmit_005f3.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f3 = _jspx_th_ui_005factionsubmit_005f3.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("compHF");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent(null);
+    _jspx_th_ui_005ftext_005f8.setKey("LAYOUT_EDIT_MSG");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.admin.portlets;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<p>\n    <b>Using the Portlet Manager portlet</b>\n</p>\n\n<p>\n    The Portlet Manager portlet allows a portal administrator to stop and start and deploy portlet web\n    applications to GridSphere. Once a portlet has been stopped it is no longer accessible. A new portlet\n    web application may be deployed but it assumes that the WAR has already been placed into the Tomcat\n    webapps directory. File uploading of portlet applications doesn't work currently due to a Tomcat\n    cross context loading problem. In addition, only those portlets that contain no \"portlet services\" that\n    are placed in the shared library directory of Tomcat will work, since shared libraries cannot be\n    properly reloaded.\n</p>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/listPortletApps_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1293 @@
+package org.apache.jsp.jsp.admin.portlets;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.services.core.tomcat.TomcatWebAppDescription;
+import java.util.List;
+
+public final class listPortletApps_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setKey("PORTLET_CURRENT");
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+ List result = (List) request.getAttribute("result"); 
+              out.write("\n        ");
+ for (int i = 0; i < result.size(); i++) { 
+              out.write("\n        ");
+ TomcatWebAppDescription description = (TomcatWebAppDescription) result.get(i); 
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005factionlink_005f0.setAction("displayWebapp");
+                      _jspx_th_ui_005factionlink_005f0.setValue( description.getContextPath() );
+                      int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f0.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f0);
+                          _jspx_th_ui_005factionparam_005f0.setName("appname");
+                          _jspx_th_ui_005factionparam_005f0.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f0.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                      _jspx_th_ui_005ftext_005f6.setValue( description.getDescription() );
+                      int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f8.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+                      _jspx_th_ui_005ftext_005f7.setValue( description.getRunning() );
+                      int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f9.setAlign("center");
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                      _jspx_th_ui_005ftext_005f8.setValue( description.getSessions() );
+                      int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f10.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (request.getContextPath().equalsIgnoreCase("/" + description.getContextPath())) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+ if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { 
+                      out.write("\n                &nbsp;&nbsp;\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f1.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f1.setKey("PORTLET_START");
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          if (_jspx_meth_ui_005factionparam_005f1(_jspx_th_ui_005factionlink_005f1, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f2 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f2.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f2.setName("context");
+                          _jspx_th_ui_005factionparam_005f2.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f2 = _jspx_th_ui_005factionparam_005f2.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f2);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n                &nbsp;&nbsp;\n                &nbsp;&nbsp;\n                ");
+                      if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n                &nbsp;&nbsp;\n                ");
+ } else { 
+                      out.write("\n                &nbsp;&nbsp;\n                ");
+                      if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+                        return;
+                      out.write("\n                &nbsp;&nbsp;\n                &nbsp;&nbsp;\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f2 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f2.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f2.setKey("PORTLET_STOP");
+                      int _jspx_eval_ui_005factionlink_005f2 = _jspx_th_ui_005factionlink_005f2.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f2.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          if (_jspx_meth_ui_005factionparam_005f3(_jspx_th_ui_005factionlink_005f2, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f4 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f4.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f2);
+                          _jspx_th_ui_005factionparam_005f4.setName("context");
+                          _jspx_th_ui_005factionparam_005f4.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f4 = _jspx_th_ui_005factionparam_005f4.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f4);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f4);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f2.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f2);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f2);
+                      out.write("\n                &nbsp;&nbsp;\n                ");
+ } 
+                      out.write("\n                &nbsp;&nbsp;\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f3 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f3.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f3.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f3.setKey("PORTLET_RELOAD");
+                      int _jspx_eval_ui_005factionlink_005f3 = _jspx_th_ui_005factionlink_005f3.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f3.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          if (_jspx_meth_ui_005factionparam_005f5(_jspx_th_ui_005factionlink_005f3, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f6 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f6.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f3);
+                          _jspx_th_ui_005factionparam_005f6.setName("context");
+                          _jspx_th_ui_005factionparam_005f6.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f6 = _jspx_th_ui_005factionparam_005f6.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f6);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f6);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f3.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f3);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f3);
+                      out.write("\n                &nbsp;&nbsp;\n                &nbsp;&nbsp;\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f4 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                      _jspx_th_ui_005factionlink_005f4.setAction("doPortletManager");
+                      _jspx_th_ui_005factionlink_005f4.setKey("PORTLET_REMOVE");
+                      int _jspx_eval_ui_005factionlink_005f4 = _jspx_th_ui_005factionlink_005f4.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f4.doInitBody();
+                        }
+                        do {
+                          out.write("&nbsp;&nbsp;\n                    ");
+                          if (_jspx_meth_ui_005factionparam_005f7(_jspx_th_ui_005factionlink_005f4, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f8 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f8.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f4);
+                          _jspx_th_ui_005factionparam_005f8.setName("context");
+                          _jspx_th_ui_005factionparam_005f8.setValue( description.getContextPath() );
+                          int _jspx_eval_ui_005factionparam_005f8 = _jspx_th_ui_005factionparam_005f8.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f8);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f8);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f4.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f4);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction.reuse(_jspx_th_ui_005factionlink_005f4);
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f11.setAlign("center");
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (description.getStatus().equals(PortletStatus.SUCCESS)) { 
+                      out.write("\n                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif" );
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f1 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fimage_005f1.setSrc( request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif" );
+                      int _jspx_eval_ui_005fimage_005f1 = _jspx_th_ui_005fimage_005f1.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f1);
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005ftext_005f13.setStyle("underline");
+                      _jspx_th_ui_005ftext_005f13.setId( description.getContextPath() );
+                      _jspx_th_ui_005ftext_005f13.setKey("FAILURE");
+                      int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fid_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                      out.write("\n                ");
+                      //  ui:tooltip
+                      org.gridsphere.provider.portletui.tags.TooltipTag _jspx_th_ui_005ftooltip_005f0 = (org.gridsphere.provider.portletui.tags.TooltipTag) _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.get(org.gridsphere.provider.portletui.tags.TooltipTag.class);
+                      _jspx_th_ui_005ftooltip_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftooltip_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005ftooltip_005f0.setName( description.getContextPath() );
+                      _jspx_th_ui_005ftooltip_005f0.setId( description.getContextPath() + "tooltip" );
+                      _jspx_th_ui_005ftooltip_005f0.setValue( description.getStatusMessage() );
+                      int _jspx_eval_ui_005ftooltip_005f0 = _jspx_th_ui_005ftooltip_005f0.doStartTag();
+                      if (_jspx_th_ui_005ftooltip_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.reuse(_jspx_th_ui_005ftooltip_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftooltip_005fvalue_005fname_005fid_005fnobody.reuse(_jspx_th_ui_005ftooltip_005f0);
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n\n        ");
+ } 
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("PORTLET_VIEW_DETAILS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f1.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("PORTLET_DESC");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("PORTLET_RUNNING");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("80");
+    _jspx_th_ui_005ftablecell_005f3.setAlign("center");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth_005falign.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setKey("PORTLET_SESSIONS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("250");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("PORTLET_ACTIONS");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("PORTLET_STATUS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f9.setKey("PORTLET_GS_MSG");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f1 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+    _jspx_th_ui_005factionparam_005f1.setName("operation");
+    _jspx_th_ui_005factionparam_005f1.setValue("start");
+    int _jspx_eval_ui_005factionparam_005f1 = _jspx_th_ui_005factionparam_005f1.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f10.setKey("PORTLET_STOP");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f11.setKey("PORTLET_START");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f3 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f2);
+    _jspx_th_ui_005factionparam_005f3.setName("operation");
+    _jspx_th_ui_005factionparam_005f3.setValue("stop");
+    int _jspx_eval_ui_005factionparam_005f3 = _jspx_th_ui_005factionparam_005f3.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f5 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f3);
+    _jspx_th_ui_005factionparam_005f5.setName("operation");
+    _jspx_th_ui_005factionparam_005f5.setValue("reload");
+    int _jspx_eval_ui_005factionparam_005f5 = _jspx_th_ui_005factionparam_005f5.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionparam_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005factionlink_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionparam
+    org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f7 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+    _jspx_th_ui_005factionparam_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionparam_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f4);
+    _jspx_th_ui_005factionparam_005f7.setName("operation");
+    _jspx_th_ui_005factionparam_005f7.setValue("remove");
+    int _jspx_eval_ui_005factionparam_005f7 = _jspx_th_ui_005factionparam_005f7.doStartTag();
+    if (_jspx_th_ui_005factionparam_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005ftext_005f12.setKey("SUCCESS");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/portlets/viewPortletApp_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+package org.apache.jsp.jsp.admin.portlets;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class viewPortletApp_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String webappname = null;
+      synchronized (_jspx_page_context) {
+        webappname = (java.lang.String) _jspx_page_context.getAttribute("webappname", PageContext.PAGE_SCOPE);
+        if (webappname == null){
+          webappname = new java.lang.String();
+          _jspx_page_context.setAttribute("webappname", webappname, PageContext.PAGE_SCOPE);
+        }
+      }
+      out.write("\n\n<h2>\n    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n    ");
+      out.print( request.getAttribute("webappname") );
+      out.write("\n</h2>\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n<h3>\n    ");
+      if (_jspx_meth_ui_005frenderlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n</h3>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("PORTLET_DISPLAY_PORTLETS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fpanel_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpanel_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:panel
+    org.gridsphere.provider.portletui.tags.PanelTag _jspx_th_ui_005fpanel_005f0 = (org.gridsphere.provider.portletui.tags.PanelTag) _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PanelTag.class);
+    _jspx_th_ui_005fpanel_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpanel_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fpanel_005f0.setBeanId("panel");
+    int _jspx_eval_ui_005fpanel_005f0 = _jspx_th_ui_005fpanel_005f0.doStartTag();
+    if (_jspx_th_ui_005fpanel_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpanel_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpanel_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpanel_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent(null);
+    _jspx_th_ui_005frenderlink_005f0.setRender("listPortlets");
+    _jspx_th_ui_005frenderlink_005f0.setKey("PORTLET_LIST_APPS");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doEditRole_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1470 @@
+package org.apache.jsp.jsp.admin.roles;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.user.User;
+import java.util.List;
+
+public final class doEditRole_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fname;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable_005fbeanId;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fname = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fname.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+ List<User> userList = (List<User>)request.getAttribute("userList"); 
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ if (request.getAttribute("canEdit") == null) { 
+      out.write('\n');
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ } 
+      out.write('\n');
+ if (request.getAttribute("newrole") == null) { 
+      out.write('\n');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f1.setParent(null);
+      _jspx_th_ui_005fgroup_005f1.setKey("ROLE_EDITUSER_MSG");
+      int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f1.doInitBody();
+        }
+        do {
+          out.write('\n');
+          //  ui:form
+          org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fname.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+          _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fform_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+          _jspx_th_ui_005fform_005f1.setName("roleform");
+          int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+          if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fform_005f1.doInitBody();
+            }
+            do {
+              out.write("\n   ");
+              if (_jspx_meth_ui_005fhiddenfield_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+                return;
+              out.write("\n    ");
+ if (request.getAttribute("nousers") == null) { 
+              out.write("\n    ");
+              if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+                return;
+              out.write("\n    ");
+ } 
+              out.write("\n    <p/>\n    ");
+ if (!userList.isEmpty()) { 
+              out.write("\n    ");
+              //  ui:table
+              org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+              _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+              _jspx_th_ui_005ftable_005f1.setBeanId("userTable");
+              int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftable_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+ for (User user : userList) { 
+                  out.write("\n        ");
+                  //  ui:tablerow
+                  org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                  _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+                  int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                      int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                        }
+                        do {
+                          out.write("\n                ");
+                          //  ui:checkbox
+                          org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                          _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                          _jspx_th_ui_005fcheckbox_005f1.setName("userCB");
+                          _jspx_th_ui_005fcheckbox_005f1.setValue( user.getID() );
+                          int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                          if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                          out.write("\n            ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                      out.write("\n            ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                      int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f10.doInitBody();
+                        }
+                        do {
+                          out.write("\n                ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+                          _jspx_th_ui_005ftext_005f8.setValue( user.getFullName() );
+                          int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                          out.write("\n            ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+                      out.write("\n            ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                      int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                        }
+                        do {
+                          out.write("\n                ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                          _jspx_th_ui_005ftext_005f9.setValue( user.getUserName() );
+                          int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+                          out.write("\n            ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                      out.write("\n            ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                      int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f12.doInitBody();
+                        }
+                        do {
+                          out.write("\n                <a href=\"");
+                          out.print( "mailto:" + user.getEmailAddress() );
+                          out.write('"');
+                          out.write('>');
+                          out.print( user.getEmailAddress() );
+                          out.write("\n                </a>\n            ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                      out.write("\n            ");
+                      //  ui:tablecell
+                      org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                      _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                      int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+                      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                        }
+                        do {
+                          out.write("\n                ");
+                          //  ui:text
+                          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                          _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+                          _jspx_th_ui_005ftext_005f10.setValue( user.getOrganization() );
+                          int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+                          if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+                          out.write("\n            ");
+                          int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                  out.write("\n        ");
+ } 
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+              out.write("\n\n    ");
+              if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+                return;
+              out.write("\n    ");
+ } 
+              out.write('\n');
+              out.write('\n');
+              int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      out.write('\n');
+      out.write('\n');
+ } 
+      out.write("\n\n<h3>");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("</h3>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    _jspx_th_ui_005fgroup_005f0.setKey("ROLE_EDIT_MSG");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write('\n');
+        if (_jspx_meth_ui_005fform_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fhiddenfield_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("roleHF");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f1 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f1.setBeanId("isNewRoleHF");
+    int _jspx_eval_ui_005fhiddenfield_005f1 = _jspx_th_ui_005fhiddenfield_005f1.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("ROLENAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setSize(10);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("roleNameTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("ROLEDESC");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("roleDescTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveRole");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("ROLE_SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f2 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005fhiddenfield_005f2.setBeanId("roleHF");
+    int _jspx_eval_ui_005fhiddenfield_005f2 = _jspx_th_ui_005fhiddenfield_005f2.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f2.setKey("ROLE_ADD_USER");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("addusersLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doAddUser");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("ROLE_ADD_USER_ACTION");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    _jspx_th_ui_005ftablerow_005f2.setHeader(true);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f0.setName("all");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("GridSphere_CheckAll(document.roleform.userCB, this)");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f3.setKey("SELECT");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f4.setKey("FULLNAME");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f5.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftext_005f6.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f7.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doRemoveUser");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("ROLE_REMOVE_USER");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setAction("doReturn");
+    _jspx_th_ui_005factionlink_005f0.setKey("ROLE_SHOW_ROLES");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/doViewRolesList_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,839 @@
+package org.apache.jsp.jsp.admin.roles;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.role.PortletRole;
+import java.util.List;
+
+public final class doViewRolesList_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fname;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable_005fzebra;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fname = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable_005fzebra = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fname.release();
+    _005fjspx_005ftagPool_005fui_005ftable_005fzebra.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ List coreRoles = (List) request.getAttribute("coreRoleList"); 
+      out.write('\n');
+ List<PortletRole> roleList = (List<PortletRole>) request.getAttribute("roleList"); 
+      out.write('\n');
+ List<PortletRole> defRoles = (List<PortletRole>) request.getAttribute("defRoles"); 
+      out.write("\n<h3>\n    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n</h3>\n\n");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n<p/>\n\n");
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fname.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setName("roleform");
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable_005fzebra.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005ftable_005f0.setZebra(true);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              _jspx_th_ui_005ftablerow_005f0.setHeader(true);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+ if (roleList.size() > 2) { 
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (roleList.size() > 3) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+                        return;
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n            ");
+ } 
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n\n        ");
+ for (PortletRole role : roleList) { 
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (defRoles.contains(role)) { 
+                      out.write("\n                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005fcheckbox_005f1.setName("rolesDefCB");
+                      _jspx_th_ui_005fcheckbox_005f1.setValue( role.getName() );
+                      _jspx_th_ui_005fcheckbox_005f1.setSelected(true);
+                      int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fselected_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f2 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                      _jspx_th_ui_005fcheckbox_005f2.setName("rolesDefCB");
+                      _jspx_th_ui_005fcheckbox_005f2.setValue( role.getName() );
+                      int _jspx_eval_ui_005fcheckbox_005f2 = _jspx_th_ui_005fcheckbox_005f2.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f2);
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                  out.write("\n            ");
+ if (roleList.size() > 2) { 
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (!coreRoles.contains(role.getName().toUpperCase())) { 
+                      out.write("\n                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f3 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f3.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                      _jspx_th_ui_005fcheckbox_005f3.setName("rolesCB");
+                      _jspx_th_ui_005fcheckbox_005f3.setValue( role.getName() );
+                      int _jspx_eval_ui_005fcheckbox_005f3 = _jspx_th_ui_005fcheckbox_005f3.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f3);
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n            ");
+ } 
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005factionlink_005f1.setAction("doEditRole");
+                      _jspx_th_ui_005factionlink_005f1.setValue( role.getName() );
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f0.setName("roleName");
+                          _jspx_th_ui_005factionparam_005f0.setValue( role.getName() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                      _jspx_th_ui_005ftext_005f5.setValue( role.getDescription() );
+                      int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n        ");
+ } 
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable_005fzebra.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable_005fzebra.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+ if (roleList.size() > 2) { 
+          out.write("\n    ");
+          if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+ } 
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("ROLE_SHOW_ROLES");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setCssStyle("text-decoration: underline; font-weight: bold;");
+    _jspx_th_ui_005factionlink_005f0.setAction("doEditRole");
+    _jspx_th_ui_005factionlink_005f0.setKey("ROLE_CREATE_ROLE");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setStyle("bold");
+    _jspx_th_ui_005ftext_005f1.setKey("ROLE_EDIT_DEFAULT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005fcheckbox_005f0.setName("all");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("GridSphere_CheckAll(document.roleform.rolesCB, this)");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setStyle("bold");
+    _jspx_th_ui_005ftext_005f2.setKey("DELETE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setStyle("bold");
+    _jspx_th_ui_005ftext_005f3.setKey("ROLE_EDIT_USERS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f4.setStyle("bold");
+    _jspx_th_ui_005ftext_005f4.setKey("ROLEDESC");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveDefaultRoles");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("ROLE_SAVE_DEFAULT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doDeleteRole");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/roles/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.admin.roles;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<p>\n    <b>Using the Role Manager portlet</b>\n</p>\n\n<p>\n    The Role Manager portlet is used for managing roles in the portal. Roles can be added, modified and deleted except\n    for\n    the core GridSphere roles, <i>USER</i> and <i>ADMIN</i>  that also match the core\n    role priority levels supported by the portal. A Guest role priority is reserved for non-logged in users, User role\n    priority is used for any logged in user, Admin is generally used for some kind of administrator functionality and\n    super would have essentially have no access restrictions. Roles can also be defined by an individual webapp by\n    specifying a <i>roles.xml<</i> role descriptor. See the GridSphere reference Guide for more information.\n</p>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doSendEmail_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,349 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class doSendEmail_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n\n<h3>\n    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n</h3>\n\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("USER_COMPOSE_EMAIL");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n    <table id=\"form-table\">\n        <tbody>\n            <tr>\n                <td style=\"font-weight:bold; text-align: right;\" width=\"10%\">\n                 ");
+        if (_jspx_meth_ui_005fradiobutton_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                    To:\n                 ");
+        if (_jspx_meth_ui_005fradiobutton_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                    Bcc:\n                </td>\n                <td>\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                </td>\n            </tr>\n\n            <tr valign=\"top\">\n                <td style=\"font-weight:bold; text-align: right;\" width=\"10%\">\n                    From:\n                </td>\n                <td>\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                </td>\n            </tr>\n\n            <tr valign=\"top\">\n                <td style=\"font-weight:bold; text-align: right;\" width=\"10%\">\n                    Subject:\n                </td>\n                <td>\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                </td>\n            </tr>\n\n            <tr valign=\"top\">\n                <td style=\"font-weight:bold; text-align: right;\" width=\"10%\">\n                    Message:\n                </td>\n                <td>\n                    ");
+        if (_jspx_meth_ui_005ftextarea_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                </td>\n            </tr>\n\n            <tr valign=\"top\">\n                <td>\n                </td>\n                <td>\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                </td>\n            </tr>\n        </tbody>\n    </table>\n\n\n");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fradiobutton_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:radiobutton
+    org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f0 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+    _jspx_th_ui_005fradiobutton_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fradiobutton_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fradiobutton_005f0.setBeanId("toRB");
+    _jspx_th_ui_005fradiobutton_005f0.setValue("TO");
+    _jspx_th_ui_005fradiobutton_005f0.setSelected(true);
+    int _jspx_eval_ui_005fradiobutton_005f0 = _jspx_th_ui_005fradiobutton_005f0.doStartTag();
+    if (_jspx_th_ui_005fradiobutton_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fselected_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fradiobutton_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:radiobutton
+    org.gridsphere.provider.portletui.tags.RadioButtonTag _jspx_th_ui_005fradiobutton_005f1 = (org.gridsphere.provider.portletui.tags.RadioButtonTag) _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RadioButtonTag.class);
+    _jspx_th_ui_005fradiobutton_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fradiobutton_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fradiobutton_005f1.setBeanId("toRB");
+    _jspx_th_ui_005fradiobutton_005f1.setValue("BCC");
+    int _jspx_eval_ui_005fradiobutton_005f1 = _jspx_th_ui_005fradiobutton_005f1.doStartTag();
+    if (_jspx_th_ui_005fradiobutton_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fradiobutton_005fvalue_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fradiobutton_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("emailAddressTF");
+    _jspx_th_ui_005ftextfield_005f0.setSize(90);
+    _jspx_th_ui_005ftextfield_005f0.setId("emailAddress");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fid_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("senderTF");
+    _jspx_th_ui_005ftextfield_005f1.setValue("");
+    _jspx_th_ui_005ftextfield_005f1.setSize(90);
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("subjectTF");
+    _jspx_th_ui_005ftextfield_005f2.setValue("");
+    _jspx_th_ui_005ftextfield_005f2.setSize(90);
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fvalue_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextarea_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textarea
+    org.gridsphere.provider.portletui.tags.TextAreaTag _jspx_th_ui_005ftextarea_005f0 = (org.gridsphere.provider.portletui.tags.TextAreaTag) _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextAreaTag.class);
+    _jspx_th_ui_005ftextarea_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextarea_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextarea_005f0.setBeanId("bodyTA");
+    _jspx_th_ui_005ftextarea_005f0.setCols(74);
+    _jspx_th_ui_005ftextarea_005f0.setRows(10);
+    int _jspx_eval_ui_005ftextarea_005f0 = _jspx_th_ui_005ftextarea_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextarea_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextarea_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextarea_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSendEmail");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("USER_SEND");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doListUsers");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserEdit_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1993 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class doViewUserEdit_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n\n<h3>\n    ");
+ if (request.getAttribute("newuser") != null) { 
+      out.write("\n    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n    ");
+ } else { 
+      out.write("\n    ");
+      if (_jspx_meth_ui_005ftext_005f1(_jspx_page_context))
+        return;
+      out.write("\n    ");
+ } 
+      out.write("\n\n</h3>\n\n<p>\n    ");
+ if ((request.getAttribute("savePass") != null) && (request.getAttribute("newuser") == null)) { 
+      out.write("\n    ");
+      if (_jspx_meth_ui_005ftext_005f2(_jspx_page_context))
+        return;
+      out.write("\n    ");
+ } 
+      out.write("\n</p>\n");
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n<p>\n    ");
+          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+          if (_jspx_meth_ui_005fhiddenfield_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n</p>\n");
+          if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+ if (request.getAttribute("certSupport") != null) { 
+          out.write('\n');
+          if (_jspx_meth_ui_005fframe_005f2(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+ } 
+          out.write('\n');
+          out.write('\n');
+ if (request.getAttribute("savePass") != null) { 
+          out.write('\n');
+          if (_jspx_meth_ui_005fframe_005f3(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+ } 
+          out.write('\n');
+          out.write('\n');
+ if (request.getAttribute("newuser") != null) { 
+          out.write('\n');
+          if (_jspx_meth_ui_005fcheckbox_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+ } 
+          out.write("\n<p/>\n");
+          if (_jspx_meth_ui_005fframe_005f4(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("USER_EDIT_USER_MSG");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent(null);
+    _jspx_th_ui_005ftext_005f1.setKey("USER_NEW_USER_MSG");
+    _jspx_th_ui_005ftext_005f1.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent(null);
+    _jspx_th_ui_005ftext_005f2.setStyle("alert");
+    _jspx_th_ui_005ftext_005f2.setKey("USER_PASS_BLANK_MSG");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("userID");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f1 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f1.setBeanId("newuser");
+    int _jspx_eval_ui_005fhiddenfield_005f1 = _jspx_th_ui_005fhiddenfield_005f1.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f3.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userName");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f4.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("firstName");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f5.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("lastName");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f6.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("emailAddress");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f7.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f4(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f4 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftextfield_005f4.setBeanId("organization");
+    int _jspx_eval_ui_005ftextfield_005f4 = _jspx_th_ui_005ftextfield_005f4.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    _jspx_th_ui_005ftablecell_005f10.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f8.setKey("USER_ACCOUNT_STATUS");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("accountCB");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fframe_005f1.setBeanId("roleFrame");
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f2 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f2 = _jspx_th_ui_005fframe_005f2.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f2.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f2, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f2);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    _jspx_th_ui_005ftablecell_005f12.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f9.setKey("CERTIFICATE");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f5(_jspx_th_ui_005ftablecell_005f13, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f13, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f5 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+    _jspx_th_ui_005ftextfield_005f5.setBeanId("certificate");
+    int _jspx_eval_ui_005ftextfield_005f5 = _jspx_th_ui_005ftextfield_005f5.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f3 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f3 = _jspx_th_ui_005fframe_005f3.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f3.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f8(_jspx_th_ui_005fframe_005f3, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f15(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    _jspx_th_ui_005ftablecell_005f14.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftext_005f10.setKey("PASSWORD");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f15.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005fpassword_005f0(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f0 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005fpassword_005f0.setBeanId("password");
+    int _jspx_eval_ui_005fpassword_005f0 = _jspx_th_ui_005fpassword_005f0.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f3);
+    int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f8.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f17(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    _jspx_th_ui_005ftablecell_005f16.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f16.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f16, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f16, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+    _jspx_th_ui_005ftext_005f11.setKey("CONFIRM_PASS");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f17(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f17.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005fpassword_005f1(_jspx_th_ui_005ftablecell_005f17, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f17, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f1 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+    _jspx_th_ui_005fpassword_005f1.setBeanId("confirmPassword");
+    int _jspx_eval_ui_005fpassword_005f1 = _jspx_th_ui_005fpassword_005f1.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fcheckbox_005f1.setBeanId("emailUserCB");
+    int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f12.setKey("USER_EMAIL_USER");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f4 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f4 = _jspx_th_ui_005fframe_005f4.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f4.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f4, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f4);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doConfirmEditUser");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("USER_SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doReturn");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserList_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1598 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.user.User;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+public final class doViewUserList_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fname;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable_005fbeanId;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fname = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fname.release();
+    _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+ List<User> userList = (List<User>) request.getAttribute("userList"); 
+      out.write("\n\n<h3>\n    ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n</h3>\n\n");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n<p/>\n");
+      if (_jspx_meth_ui_005fgroup_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+if (!userList.isEmpty()) { 
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f1 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fname.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f1.setParent(null);
+      _jspx_th_ui_005fform_005f1.setName("myform");
+      int _jspx_eval_ui_005fform_005f1 = _jspx_th_ui_005fform_005f1.doStartTag();
+      if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f1.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+          _jspx_th_ui_005ftable_005f1.setBeanId("userTable");
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              _jspx_th_ui_005ftablerow_005f1.setHeader(true);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                      _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/images/editor.png" );
+                      _jspx_th_ui_005fimage_005f0.setAlt("Edit");
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+                        return;
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n        ");
+ for (User user : userList) { 
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:checkbox
+                      org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f1 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                      _jspx_th_ui_005fcheckbox_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fcheckbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005fcheckbox_005f1.setName("usersCB");
+                      _jspx_th_ui_005fcheckbox_005f1.setValue( user.getID() );
+                      int _jspx_eval_ui_005fcheckbox_005f1 = _jspx_th_ui_005fcheckbox_005f1.doStartTag();
+                      if (_jspx_th_ui_005fcheckbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f12.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:actionlink
+                      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+                      _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+                      _jspx_th_ui_005factionlink_005f1.setCssStyle("text-decoration: underline;");
+                      _jspx_th_ui_005factionlink_005f1.setAction("doEditUser");
+                      _jspx_th_ui_005factionlink_005f1.setValue( user.getFullName() );
+                      int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+                      if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005factionlink_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005factionlink_005f1.doInitBody();
+                        }
+                        do {
+                          out.write("\n                    ");
+                          //  ui:actionparam
+                          org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                          _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionlink_005f1);
+                          _jspx_th_ui_005factionparam_005f0.setName("userID");
+                          _jspx_th_ui_005factionparam_005f0.setValue( user.getID() );
+                          int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+                          if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005factionlink_005f1.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005factionlink_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionlink_005f1);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+                      _jspx_th_ui_005ftext_005f11.setValue( user.getUserName() );
+                      int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f14.doInitBody();
+                    }
+                    do {
+                      out.write("\n                <a href=\"");
+                      out.print( "mailto:" + user.getEmailAddress() );
+                      out.write('"');
+                      out.write('>');
+                      out.print( user.getEmailAddress() );
+                      out.write("\n                </a>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f15.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+                      _jspx_th_ui_005ftext_005f12.setValue( user.getOrganization() );
+                      int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f16.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+                      _jspx_th_ui_005ftext_005f13.setValue( (user.getNumLogins()).toString() );
+                      int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f16);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f16);
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f17.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+ if (user.getLastLoginTime() == null) { 
+                      out.write("\n                ");
+                      if (_jspx_meth_ui_005ftext_005f14(_jspx_th_ui_005ftablecell_005f17, _jspx_page_context))
+                        return;
+                      out.write("\n                ");
+ } else { 
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f15 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f15.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+                      _jspx_th_ui_005ftext_005f15.setValue( new SimpleDateFormat("MMM d yyyy hh:mm a").format(user.getLastLoginTime()).toString() );
+                      int _jspx_eval_ui_005ftext_005f15 = _jspx_th_ui_005ftext_005f15.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+                      out.write("\n                ");
+ } 
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n        ");
+ } 
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable_005fbeanId.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+            return;
+          out.write("\n    ");
+          if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005fform_005f1, _jspx_page_context))
+            return;
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f1.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fname.reuse(_jspx_th_ui_005fform_005f1);
+      out.write('\n');
+      out.write('\n');
+ } else { 
+      out.write('\n');
+      if (_jspx_meth_ui_005ftext_005f16(_jspx_page_context))
+        return;
+      out.write('\n');
+ } 
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setKey("USER_SHOW_USERS");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setCssStyle("text-decoration: underline; font-weight: bold;");
+    _jspx_th_ui_005factionlink_005f0.setAction("doNewUser");
+    _jspx_th_ui_005factionlink_005f0.setKey("USER_CREATE_USER");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent(null);
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fform_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                &nbsp;&nbsp;\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                &nbsp;&nbsp;\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                &nbsp;&nbsp;\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("USER_PER_PAGE");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("usersPageLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("USER_SEARCH_EMAIL");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(15);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userEmailTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setKey("USER_SEARCH_ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftextfield_005f1.setSize(10);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("userOrgTF");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("filterUserList");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("USER_VIEW");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005fcheckbox_005f0.setName("all");
+    _jspx_th_ui_005fcheckbox_005f0.setOnClick("GridSphere_CheckAll(document.myform.usersCB, this)");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fonClick_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("SELECT");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f5.setKey("USER_EDIT_USER");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f6.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftext_005f7.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f8.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftext_005f9.setKey("NUMLOGINS");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f10.setKey("LASTLOGINDATE");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f17, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f14 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+    _jspx_th_ui_005ftext_005f14.setValue("--");
+    int _jspx_eval_ui_005ftext_005f14 = _jspx_th_ui_005ftext_005f14.doStartTag();
+    if (_jspx_th_ui_005ftext_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doDeleteUser");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("USER_DELETE_USER");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f1);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doComposeEmail");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("USER_SEND_EMAIL");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f16(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f16 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f16.setParent(null);
+    _jspx_th_ui_005ftext_005f16.setStyle("alert");
+    _jspx_th_ui_005ftext_005f16.setKey("USER_NO_RESULTS");
+    int _jspx_eval_ui_005ftext_005f16 = _jspx_th_ui_005ftext_005f16.doStartTag();
+    if (_jspx_th_ui_005ftext_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUserView_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1595 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.user.User;
+
+public final class doViewUserView_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/jsp/admin/users/doViewUser.jsp");
+  }
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n    <h3>");
+          if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("</h3>\n\n    ");
+          out.write("\n\n\n\n");
+          //  portlet:defineObjects
+          org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f1 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+          _jspx_th_portlet_005fdefineObjects_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_portlet_005fdefineObjects_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_portlet_005fdefineObjects_005f1 = _jspx_th_portlet_005fdefineObjects_005f1.doStartTag();
+          renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+          renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+          portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+          if (_jspx_th_portlet_005fdefineObjects_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f1);
+            return;
+          }
+          renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+          renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+          portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+          _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f1);
+          out.write('\n');
+          out.write('\n');
+          java.lang.String role = null;
+          synchronized (request) {
+            role = (java.lang.String) _jspx_page_context.getAttribute("role", PageContext.REQUEST_SCOPE);
+            if (role == null){
+              role = new java.lang.String();
+              _jspx_page_context.setAttribute("role", role, PageContext.REQUEST_SCOPE);
+            }
+          }
+          out.write('\n');
+          java.lang.String createdate = null;
+          synchronized (request) {
+            createdate = (java.lang.String) _jspx_page_context.getAttribute("createdate", PageContext.REQUEST_SCOPE);
+            if (createdate == null){
+              createdate = new java.lang.String();
+              _jspx_page_context.setAttribute("createdate", createdate, PageContext.REQUEST_SCOPE);
+            }
+          }
+          out.write('\n');
+          out.write('\n');
+ User user = (User) request.getAttribute("user"); 
+          out.write('\n');
+          out.write('\n');
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+                      _jspx_th_ui_005ftext_005f2.setValue( user.getUserName() );
+                      _jspx_th_ui_005ftext_005f2.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                      _jspx_th_ui_005ftext_005f4.setValue( user.getFirstName() );
+                      _jspx_th_ui_005ftext_005f4.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                      _jspx_th_ui_005ftext_005f6.setValue( user.getLastName() );
+                      _jspx_th_ui_005ftext_005f6.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                      _jspx_th_ui_005ftext_005f8.setValue( user.getEmailAddress() );
+                      _jspx_th_ui_005ftext_005f8.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                      _jspx_th_ui_005ftext_005f10.setValue( user.getOrganization() );
+                      _jspx_th_ui_005ftext_005f10.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+                  int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                      _jspx_th_ui_005ftext_005f12.setValue( role );
+                      _jspx_th_ui_005ftext_005f12.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f6.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+                  int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f14 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f14.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+                      _jspx_th_ui_005ftext_005f14.setValue( createdate );
+                      _jspx_th_ui_005ftext_005f14.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f14 = _jspx_th_ui_005ftext_005f14.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+              out.write("\n\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write('\n');
+              out.write('\n');
+ String certattr = (String) user.getAttribute("user.certificate");
+    if (certattr != null) { 
+              out.write("\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f8.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+                  int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f17.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f17 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f17.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+                      _jspx_th_ui_005ftext_005f17.setValue( certattr );
+                      _jspx_th_ui_005ftext_005f17.setStyle("plain");
+                      int _jspx_eval_ui_005ftext_005f17 = _jspx_th_ui_005ftext_005f17.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f17);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f17);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+              out.write('\n');
+ } 
+              out.write('\n');
+              out.write('\n');
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write("\n\n    ");
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("userID");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("USER_VIEW_USER");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f3.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f5.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f7.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f9.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    _jspx_th_ui_005ftablecell_005f10.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f11.setKey("USER_ROLES");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    _jspx_th_ui_005ftablecell_005f12.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f13(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f13.setKey("USER_CREATEDATE");
+    int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+    if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f15(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    _jspx_th_ui_005ftablecell_005f14.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f15(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f15 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftext_005f15.setKey("USER_ACCOUNT_STATUS");
+    int _jspx_eval_ui_005ftext_005f15 = _jspx_th_ui_005ftext_005f15.doStartTag();
+    if (_jspx_th_ui_005ftext_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f15.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("accountCB");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    _jspx_th_ui_005ftablecell_005f16.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f16.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f16(_jspx_th_ui_005ftablecell_005f16, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f16, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f16 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+    _jspx_th_ui_005ftext_005f16.setKey("USER_CERTIFICATE");
+    int _jspx_eval_ui_005ftext_005f16 = _jspx_th_ui_005ftext_005f16.doStartTag();
+    if (_jspx_th_ui_005ftext_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f2(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doReturn");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("USER_LIST_USERS");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doEditUser");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("USER_EDIT_USER");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f2 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005factionsubmit_005f2.setAction("doDeleteUser");
+    _jspx_th_ui_005factionsubmit_005f2.setKey("USER_DELETE_USER");
+    int _jspx_eval_ui_005factionsubmit_005f2 = _jspx_th_ui_005factionsubmit_005f2.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f2);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUser_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUser_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/doViewUser_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1313 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.user.User;
+
+public final class doViewUser_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String role = null;
+      synchronized (request) {
+        role = (java.lang.String) _jspx_page_context.getAttribute("role", PageContext.REQUEST_SCOPE);
+        if (role == null){
+          role = new java.lang.String();
+          _jspx_page_context.setAttribute("role", role, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String createdate = null;
+      synchronized (request) {
+        createdate = (java.lang.String) _jspx_page_context.getAttribute("createdate", PageContext.REQUEST_SCOPE);
+        if (createdate == null){
+          createdate = new java.lang.String();
+          _jspx_page_context.setAttribute("createdate", createdate, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ User user = (User) request.getAttribute("user"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:frame
+      org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+      _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fframe_005f0.setParent(null);
+      int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fframe_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+              int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+                  _jspx_th_ui_005ftext_005f1.setValue( user.getUserName() );
+                  _jspx_th_ui_005ftext_005f1.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+              int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                  _jspx_th_ui_005ftext_005f3.setValue( user.getFirstName() );
+                  _jspx_th_ui_005ftext_005f3.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f2.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+              int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f5.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+                  _jspx_th_ui_005ftext_005f5.setValue( user.getLastName() );
+                  _jspx_th_ui_005ftext_005f5.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f3.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+              int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f7.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+                  _jspx_th_ui_005ftext_005f7.setValue( user.getEmailAddress() );
+                  _jspx_th_ui_005ftext_005f7.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f4.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+              int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                  _jspx_th_ui_005ftext_005f9.setValue( user.getOrganization() );
+                  _jspx_th_ui_005ftext_005f9.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f5.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+              int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f11.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+                  _jspx_th_ui_005ftext_005f11.setValue( role );
+                  _jspx_th_ui_005ftext_005f11.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+          out.write("\n\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f6.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+              int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f13.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f13 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f13.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+                  _jspx_th_ui_005ftext_005f13.setValue( createdate );
+                  _jspx_th_ui_005ftext_005f13.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f13 = _jspx_th_ui_005ftext_005f13.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f13);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+          out.write("\n\n    ");
+          if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+ String certattr = (String) user.getAttribute("user.certificate");
+    if (certattr != null) { 
+          out.write("\n    ");
+          //  ui:tablerow
+          org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+          _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+          int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+          if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftablerow_005f8.doInitBody();
+            }
+            do {
+              out.write("\n            ");
+              if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+                return;
+              out.write("\n            ");
+              //  ui:tablecell
+              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+              _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+              int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+              if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablecell_005f17.doInitBody();
+                }
+                do {
+                  out.write("\n                ");
+                  //  ui:text
+                  org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f16 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                  _jspx_th_ui_005ftext_005f16.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftext_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+                  _jspx_th_ui_005ftext_005f16.setValue( certattr );
+                  _jspx_th_ui_005ftext_005f16.setStyle("plain");
+                  int _jspx_eval_ui_005ftext_005f16 = _jspx_th_ui_005ftext_005f16.doStartTag();
+                  if (_jspx_th_ui_005ftext_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f16);
+                  out.write("\n            ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+          out.write('\n');
+ } 
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f6.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f8.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    _jspx_th_ui_005ftablecell_005f10.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f10.setKey("USER_ROLES");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    _jspx_th_ui_005ftablecell_005f12.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f12.setKey("USER_CREATEDATE");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f15(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    _jspx_th_ui_005ftablecell_005f14.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f14(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f14 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftext_005f14.setKey("USER_ACCOUNT_STATUS");
+    int _jspx_eval_ui_005ftext_005f14 = _jspx_th_ui_005ftext_005f14.doStartTag();
+    if (_jspx_th_ui_005ftext_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f15.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005fcheckbox_005f0(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fcheckbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:checkbox
+    org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+    _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005fcheckbox_005f0.setBeanId("accountCB");
+    int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+    if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    _jspx_th_ui_005ftablecell_005f16.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f16.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f15(_jspx_th_ui_005ftablecell_005f16, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f15(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f16, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f15 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f15.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+    _jspx_th_ui_005ftext_005f15.setKey("USER_CERTIFICATE");
+    int _jspx_eval_ui_005ftext_005f15 = _jspx_th_ui_005ftext_005f15.doStartTag();
+    if (_jspx_th_ui_005ftext_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f15);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/admin/users/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.admin.users;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<p>\n    <b>Using the User Administration portlet</b>\n</p>\n\n<p>\n    The User Administration portlet is used for managing portal users. Portal users can be created and deleted\n    by filling out the provided form registration. Once an account is created the new portal user may login\n    with the provided password.\n</p>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/config_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/config_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/config_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,345 @@
+package org.apache.jsp.jsp.content;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class config_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n\n    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f0.setKey("CM_BACKUP");
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        <br/>\n        ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("CM_BACKUP_HELP");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("backupContent");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("CM_BACKUPCONTENT");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fgroup_005f1.setKey("CM_IMPORT");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        <br/>\n        ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        <br/>\n        ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftext_005f1.setKey("CM_IMPORT_HELP");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("filelist");
+    _jspx_th_ui_005flistbox_005f0.setSize(20);
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("importContent");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CM_IMPORTCONTENT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.content;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<h2>Help for Content Management</h2>\n\nUse the editor to create new/edit/delete documents. If you want to link to another page within your GridSphere\ninstallation\nyou can use the following syntax:\n\n<pre>\n    [[This is my link|layoutname|id]\n</pre>\n\nThis will render a link named 'This is my link' to the fragment with the id 'id' in the layout 'layoutname'. This can be\na tab or a portlet. The id\nis defined in the Layout administration.");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/content/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,879 @@
+package org.apache.jsp.jsp.content;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import java.util.List;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005fkey;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow_005fheader;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.release();
+    _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ List<ContentDocument> contentDocs = (List<ContentDocument>) request.getAttribute("contentDocs"); 
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n    <p/>\n\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  _jspx_th_ui_005ftablecell_005f0.setValign("top");
+                  int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f0.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      out.write("\n                ");
+                      //  ui:group
+                      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+                      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+                      _jspx_th_ui_005fgroup_005f0.setKey("CM_AVAILDOCUMENTS");
+                      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+                      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.pushBody();
+                          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                          _jspx_th_ui_005fgroup_005f0.doInitBody();
+                        }
+                        do {
+                          out.write("\n\n                    ");
+                          //  ui:table
+                          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+                          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+                          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+                          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+                          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftable_005f1.doInitBody();
+                            }
+                            do {
+                              out.write("\n                        ");
+                              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+                              return;
+                              out.write("\n\n                        ");
+ for (ContentDocument content : contentDocs) { 
+                              out.write("\n                        ");
+                              //  ui:tablerow
+                              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+                              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+                              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                              }
+                              do {
+                              out.write("\n                            ");
+                              //  ui:tablecell
+                              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                              _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                              int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                              }
+                              do {
+                              out.write("\n                                ");
+                              //  ui:checkbox
+                              org.gridsphere.provider.portletui.tags.CheckboxTag _jspx_th_ui_005fcheckbox_005f0 = (org.gridsphere.provider.portletui.tags.CheckboxTag) _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.CheckboxTag.class);
+                              _jspx_th_ui_005fcheckbox_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005fcheckbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                              _jspx_th_ui_005fcheckbox_005f0.setName("nodeCB");
+                              _jspx_th_ui_005fcheckbox_005f0.setValue( content.getUuid() );
+                              int _jspx_eval_ui_005fcheckbox_005f0 = _jspx_th_ui_005fcheckbox_005f0.doStartTag();
+                              if (_jspx_th_ui_005fcheckbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005fcheckbox_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fcheckbox_005f0);
+                              out.write("\n                            ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                              out.write("\n                            ");
+                              //  ui:tablecell
+                              org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                              _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                              int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005ftablecell_005f4.doInitBody();
+                              }
+                              do {
+                              out.write("\n                                ");
+                              //  ui:renderlink
+                              org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+                              _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+                              _jspx_th_ui_005frenderlink_005f0.setRender("showNode");
+                              _jspx_th_ui_005frenderlink_005f0.setValue( content.getTitle() );
+                              int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.pushBody();
+                              _jspx_th_ui_005frenderlink_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                              _jspx_th_ui_005frenderlink_005f0.doInitBody();
+                              }
+                              do {
+                              out.write("\n                                    ");
+                              //  ui:param
+                              org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005fparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+                              _jspx_th_ui_005fparam_005f0.setPageContext(_jspx_page_context);
+                              _jspx_th_ui_005fparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005frenderlink_005f0);
+                              _jspx_th_ui_005fparam_005f0.setName("nodeId");
+                              _jspx_th_ui_005fparam_005f0.setValue( content.getUuid() );
+                              int _jspx_eval_ui_005fparam_005f0 = _jspx_th_ui_005fparam_005f0.doStartTag();
+                              if (_jspx_th_ui_005fparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fparam_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005fparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005fparam_005f0);
+                              out.write("\n                                ");
+                              int evalDoAfterBody = _jspx_th_ui_005frenderlink_005f0.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005frenderlink_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.reuse(_jspx_th_ui_005frenderlink_005f0);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender.reuse(_jspx_th_ui_005frenderlink_005f0);
+                              out.write("\n                            ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+                              out.write("\n                        ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                              } while (true);
+                              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                              }
+                              }
+                              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                              return;
+                              }
+                              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                              out.write("\n                        ");
+ } 
+                              out.write("\n\n                    ");
+                              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+                              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                              break;
+                            } while (true);
+                            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                              out = _jspx_page_context.popBody();
+                            }
+                          }
+                          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+                            return;
+                          }
+                          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+                          out.write("\n\n                    ");
+                          out.write("\n                    <br/>\n                    ");
+                          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          if (_jspx_meth_ui_005frenderlink_005f1(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+                            return;
+                          out.write("\n                    ");
+                          out.write("\n                ");
+                          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+                          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                            break;
+                        } while (true);
+                        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                          out = _jspx_page_context.popBody();
+                        }
+                      }
+                      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f0);
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f0);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f0);
+                  out.write("\n            ");
+ if (request.getAttribute("showContent") != null) { 
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+ } 
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005frenderlink_005f2(_jspx_page_context))
+        return;
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("uuid");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    _jspx_th_ui_005ftablerow_005f1.setHeader(true);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow_005fheader.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftext_005f0.setKey("DELETE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("EDIT");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("removeNode");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("DELETE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f1 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005frenderlink_005f1.setCssStyle("font-weight: bold; text-decoration: underline;");
+    _jspx_th_ui_005frenderlink_005f1.setRender("showNode");
+    _jspx_th_ui_005frenderlink_005f1.setValue("New Document");
+    int _jspx_eval_ui_005frenderlink_005f1 = _jspx_th_ui_005frenderlink_005f1.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005frender_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f5.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fgroup_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f1 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005fkey.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005fgroup_005f1.setKey("CM_DOCUMENT");
+    int _jspx_eval_ui_005fgroup_005f1 = _jspx_th_ui_005fgroup_005f1.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005frichtexteditor_005f0(_jspx_th_ui_005fgroup_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup_005fkey.reuse(_jspx_th_ui_005fgroup_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("CM_DOCUMENT_TITLE");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("title");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("saveDocument");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CM_CREATEUPDATEDOCUMENT");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frichtexteditor_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:richtexteditor
+    org.gridsphere.provider.portletui.tags.RichTextEditorTag _jspx_th_ui_005frichtexteditor_005f0 = (org.gridsphere.provider.portletui.tags.RichTextEditorTag) _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.RichTextEditorTag.class);
+    _jspx_th_ui_005frichtexteditor_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frichtexteditor_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f1);
+    _jspx_th_ui_005frichtexteditor_005f0.setBeanId("content");
+    _jspx_th_ui_005frichtexteditor_005f0.setCols(80);
+    _jspx_th_ui_005frichtexteditor_005f0.setRows(30);
+    int _jspx_eval_ui_005frichtexteditor_005f0 = _jspx_th_ui_005frichtexteditor_005f0.doStartTag();
+    if (_jspx_th_ui_005frichtexteditor_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005frichtexteditor_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frichtexteditor_005frows_005fcols_005fbeanId_005fnobody.reuse(_jspx_th_ui_005frichtexteditor_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f2(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f2 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f2.setParent(null);
+    _jspx_th_ui_005frenderlink_005f2.setCssStyle("font-weight: bold; text-decoration: underline;");
+    _jspx_th_ui_005frenderlink_005f2.setPortletMode("EDIT");
+    _jspx_th_ui_005frenderlink_005f2.setValue("Content Settings");
+    int _jspx_eval_ui_005frenderlink_005f2 = _jspx_th_ui_005frenderlink_005f2.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005fvalue_005fportletMode_005fcssStyle_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f2);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date/date_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date/date_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/date/date_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+package org.apache.jsp.jsp.date;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class date_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      java.lang.String date = null;
+      synchronized (request) {
+        date = (java.lang.String) _jspx_page_context.getAttribute("date", PageContext.REQUEST_SCOPE);
+        if (date == null){
+          date = new java.lang.String();
+          _jspx_page_context.setAttribute("date", date, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write("\n\n\n<table>\n    <tr><td align=\"center\">\n        ");
+      out.print( date );
+      out.write("\n    </td></tr>\n</table>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/custom_005ferror_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/custom_005ferror_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/custom_005ferror_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+
+public final class custom_005ferror_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+ Throwable error = (Throwable)request.getAttribute("error"); 
+      out.write('\n');
+ String lastFrame = (String)request.getAttribute("lastFrame"); 
+      out.write('\n');
+      out.write('\n');
+ if (error != null) { 
+      out.write('\n');
+      //  ui:messagebox
+      org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+      _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+      _jspx_th_ui_005fmessagebox_005f0.setStyle( MessageStyle.MSG_ALERT );
+      _jspx_th_ui_005fmessagebox_005f0.setValue("An error occurred!");
+      int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+      if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      out.write('\n');
+      out.write('\n');
+ if (error.getMessage() != null) { 
+      out.write("\nError message:    ");
+      out.print( error.getMessage() );
+      out.write('\n');
+ } 
+      out.write("\n\n<p>\n    <b>Stack Trace:</b><br/>\n    ");
+ error.printStackTrace(new java.io.PrintWriter(out)); 
+      out.write("\n</p>\n\n");
+ } else { 
+      out.write('\n');
+      out.write('\n');
+      //  ui:messagebox
+      org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f1 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+      _jspx_th_ui_005fmessagebox_005f1.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fmessagebox_005f1.setParent(null);
+      _jspx_th_ui_005fmessagebox_005f1.setStyle( MessageStyle.MSG_ALERT );
+      _jspx_th_ui_005fmessagebox_005f1.setKey("PORTAL_ERROR_MSG");
+      int _jspx_eval_ui_005fmessagebox_005f1 = _jspx_th_ui_005fmessagebox_005f1.doStartTag();
+      if (_jspx_th_ui_005fmessagebox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+      out.write('\n');
+      out.write('\n');
+      out.print( lastFrame );
+      out.write('\n');
+ } 
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/database_005ferror_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/database_005ferror_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/database_005ferror_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class database_005ferror_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/jsp/errors/../../WEB-INF/CustomPortal/content/pageheader.html");
+  }
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      java.lang.String error = null;
+      synchronized (request) {
+        error = (java.lang.String) _jspx_page_context.getAttribute("error", PageContext.REQUEST_SCOPE);
+        if (error == null){
+          error = new java.lang.String();
+          _jspx_page_context.setAttribute("error", error, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.write("<div class=\"gridsphere-layout-logo\">\n    <img src=\"/gridsphere/images/gridsphere_logo.png\" alt=\"Gridsphere logo\"/>\n</div>");
+      out.write('\n');
+      out.write('\n');
+      out.print( error );
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/error_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/error_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/error_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class error_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    Throwable exception = org.apache.jasper.runtime.JspRuntimeLibrary.getThrowable(request);
+    if (exception != null) {
+      response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+    }
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n<div style=\"padding: 0px 0px 5px 0px; margin: 10px\">\n<h2>Unexpected server error!</h2>\n\n<b>HTTP Status Code:</b>  <b style=\"color: red;\">");
+      out.print( request.getAttribute("javax.servlet.error.status_code") );
+      out.write("</b>\n<p/>\n<b>Originating URI:</b> <b style=\"color: red;\">");
+      out.print( request.getAttribute("javax.servlet.error.request_uri") );
+      out.write("</b>\n\n\n<p/>\n\n\n    <table style=\"border-collapse: collapse; width: 50em; border: 1px solid black;\"><caption>Stack Trace</caption>\n        <thead><tr><th scope=\"col\">Class</th><th scope=\"col\">Method</th><th scope=\"col\">Line #</th></tr></thead>\n  ");
+ Throwable t = (Throwable)request.getAttribute("javax.servlet.error.exception");
+     StackTraceElement[] elem = t.getStackTrace();
+     for (int i = 0; i < 10; i++) {
+      
+      out.write("\n<tr>\n  <td>");
+      out.print( elem[i].getClassName() );
+      out.write(" </td> <td> ");
+      out.print( elem[i].getMethodName() );
+      out.write(" </td> <td> ");
+      out.print( elem[i].getLineNumber() );
+      out.write("  </td>\n </tr>\n    ");
+
+     }
+     
+      out.write("\n   </table>\n\n</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/init_005ferror_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/init_005ferror_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/init_005ferror_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class init_005ferror_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/CustomPortal/content/pageheader.html");
+  }
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      java.lang.Throwable error = null;
+      synchronized (request) {
+        error = (java.lang.Throwable) _jspx_page_context.getAttribute("error", PageContext.REQUEST_SCOPE);
+        if (error == null){
+          error = new java.lang.Throwable();
+          _jspx_page_context.setAttribute("error", error, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      out.write("<div class=\"gridsphere-layout-logo\">\n    <img src=\"/gridsphere/images/gridsphere_logo.png\" alt=\"Gridsphere logo\"/>\n</div>");
+      out.write("\n\n<h2>GridSphere portal failed to initialize!</h2>\n\n<p>\n    <br/>\n    ");
+      out.print( error.getMessage() );
+      out.write("\n    <b>Stack Trace:</b><br/>\n    ");
+ error.printStackTrace(new java.io.PrintWriter(out)); 
+      out.write("\n</p>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/notfound_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/notfound_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/notfound_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class notfound_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/CustomPortal/content/pageheader.html");
+  }
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<div class=\"gridsphere-layout-logo\">\n    <img src=\"/gridsphere/images/gridsphere_logo.png\" alt=\"Gridsphere logo\"/>\n</div>");
+      out.write("\n\n<h2>Page not found!</h2>\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/unauthorized_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/unauthorized_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/errors/unauthorized_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+package org.apache.jsp.jsp.errors;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class unauthorized_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  static {
+    _jspx_dependants = new java.util.ArrayList(1);
+    _jspx_dependants.add("/WEB-INF/CustomPortal/content/pageheader.html");
+  }
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<div class=\"gridsphere-layout-logo\">\n    <img src=\"/gridsphere/images/gridsphere_logo.png\" alt=\"Gridsphere logo\"/>\n</div>");
+      out.write("\n\n\n<h2>Unauthorized Access!</h2>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/index_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/index_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/index_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html;charset=UTF-8");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (true) {
+        _jspx_page_context.forward( request.getServletPath() );
+        return;
+      }
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale/viewlocale_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale/viewlocale_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/locale/viewlocale_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,188 @@
+package org.apache.jsp.jsp.locale;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import java.util.Locale;
+
+public final class viewlocale_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005faction.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ Locale locale = (Locale) request.getAttribute("locale"); 
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005faction.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setAction("selectLang");
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+ String flag =  request.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; 
+          out.write("\n    <table>\n        <tr>\n            <td>\n                ");
+          //  ui:image
+          org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+          _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fimage_005f0.setSrc( flag );
+          _jspx_th_ui_005fimage_005f0.setAlt( locale.getDisplayLanguage() );
+          _jspx_th_ui_005fimage_005f0.setTitle( locale.getDisplayLanguage() );
+          int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+          if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+          out.write("\n            </td>\n            <td>\n                ");
+          if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n            </td>\n            <td>\n                <noscript>\n                    <p>\n                        ");
+          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n                    </p>\n                </noscript>\n            </td>\n        </tr>\n    </table>\n");
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("localeLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("selectLang");
+    _jspx_th_ui_005factionsubmit_005f0.setValue("ok");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/createaccount_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/createaccount_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/createaccount_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1497 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class createaccount_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+ if (request.getAttribute("savePass") != null) { 
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n        ");
+ } 
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write("\n\n    ");
+          //  ui:image
+          org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+          _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/Captcha.jpg" );
+          int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+          if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005frenderlink_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n\n    ");
+          if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n    ");
+          if (_jspx_meth_ui_005ftextfield_005f5(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n    ");
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(15);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userName");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setSize(15);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("firstName");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f2.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f2.setSize(15);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("lastName");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f3.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f3.setSize(15);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("emailAddress");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f4.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f4(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f4 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftextfield_005f4.setSize(15);
+    _jspx_th_ui_005ftextfield_005f4.setBeanId("organization");
+    int _jspx_eval_ui_005ftextfield_005f4 = _jspx_th_ui_005ftextfield_005f4.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    _jspx_th_ui_005ftablecell_005f10.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f5.setKey("PASSWORD");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fpassword_005f0(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f0 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005fpassword_005f0.setSize(15);
+    _jspx_th_ui_005fpassword_005f0.setBeanId("password");
+    int _jspx_eval_ui_005fpassword_005f0 = _jspx_th_ui_005fpassword_005f0.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    _jspx_th_ui_005ftablecell_005f12.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f6.setKey("CONFIRM_PASS");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fpassword_005f1(_jspx_th_ui_005ftablecell_005f13, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f13, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f1 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+    _jspx_th_ui_005fpassword_005f1.setSize(15);
+    _jspx_th_ui_005fpassword_005f1.setBeanId("confirmPassword");
+    int _jspx_eval_ui_005fpassword_005f1 = _jspx_th_ui_005fpassword_005f1.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_CANT_READ");
+    _jspx_th_ui_005frenderlink_005f0.setRender("doNewUser");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("CAPTCHA_TEXT");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f5 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f5.setSize(10);
+    _jspx_th_ui_005ftextfield_005f5.setBeanId("captchaTF");
+    int _jspx_eval_ui_005ftextfield_005f5 = _jspx_th_ui_005ftextfield_005f5.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doConfirmEditUser");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doViewUser");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/forgotpassword_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/forgotpassword_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/forgotpassword_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,612 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class forgotpassword_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005fmessagebox_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftable_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005ftable_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f1 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f1.setKey("LOGIN_FORGOT_TEXT");
+    int _jspx_eval_ui_005fmessagebox_005f1 = _jspx_th_ui_005fmessagebox_005f1.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_REQUEST_EMAIL");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("emailTF");
+    _jspx_th_ui_005ftextfield_005f0.setSize(25);
+    _jspx_th_ui_005ftextfield_005f0.setMaxlength(40);
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fmaxlength_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftable_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:table
+    org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+    _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftable_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005ftable_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("notifyUser");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("OK");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005frendersubmit_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frendersubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:rendersubmit
+    org.gridsphere.provider.portletui.tags.RenderSubmitTag _jspx_th_ui_005frendersubmit_005f0 = (org.gridsphere.provider.portletui.tags.RenderSubmitTag) _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderSubmitTag.class);
+    _jspx_th_ui_005frendersubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frendersubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005frendersubmit_005f0.setRender("doViewUser");
+    _jspx_th_ui_005frendersubmit_005f0.setKey("CANCEL");
+    int _jspx_eval_ui_005frendersubmit_005f0 = _jspx_th_ui_005frendersubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005frendersubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/login_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/login_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/login_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,962 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+
+public final class login_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005fsecure;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftable;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005fsecure = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftable = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005fsecure.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftable.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.release();
+    _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String certificate = null;
+      synchronized (request) {
+        certificate = (java.lang.String) _jspx_page_context.getAttribute("certificate", PageContext.REQUEST_SCOPE);
+        if (certificate == null){
+          certificate = new java.lang.String();
+          _jspx_page_context.setAttribute("certificate", certificate, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      java.lang.String useSecureLogin = null;
+      synchronized (request) {
+        useSecureLogin = (java.lang.String) _jspx_page_context.getAttribute("useSecureLogin", PageContext.REQUEST_SCOPE);
+        if (useSecureLogin == null){
+          useSecureLogin = new java.lang.String();
+          _jspx_page_context.setAttribute("useSecureLogin", useSecureLogin, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005fsecure.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      _jspx_th_ui_005fform_005f0.setSecure( Boolean.valueOf(useSecureLogin).booleanValue() );
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n    ");
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n    ");
+          out.write("\n\n\n    ");
+ if (request.getAttribute("certificate") != null && ((String) request.getAttribute("certificate")).length() > 0) { 
+          out.write("\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f0 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f0 = _jspx_th_ui_005ftable_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005ftable_005f0, _jspx_page_context))
+                return;
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  _jspx_th_ui_005ftablecell_005f1.setWidth("160");
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      out.print( certificate );
+                      out.write("\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f0);
+          out.write("\n    ");
+ } else { 
+          out.write("\n\n    ");
+          //  ui:table
+          org.gridsphere.provider.portletui.tags.TableTag _jspx_th_ui_005ftable_005f1 = (org.gridsphere.provider.portletui.tags.TableTag) _005fjspx_005ftagPool_005fui_005ftable.get(org.gridsphere.provider.portletui.tags.TableTag.class);
+          _jspx_th_ui_005ftable_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftable_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005ftable_005f1 = _jspx_th_ui_005ftable_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftable_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftable_005f1.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+ if (request.getAttribute("useUserName") != null) { 
+              out.write("\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f2.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+                  _jspx_th_ui_005ftablecell_005f3.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      java.lang.String userkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+                      _jspx_th_ui_005ftext_005f2.setVar("userkey");
+                      _jspx_th_ui_005ftext_005f2.setKey("USER_NAME_BLANK");
+                      int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                        return;
+                      }
+                      userkey = (java.lang.String) _jspx_page_context.findAttribute("userkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+                      out.write("\n                <input class=\"checkNotEmpty#\" type=\"text\" name=\"username\" size=\"15\" maxlength=\"50\"/>\n                <input type=\"hidden\" name=\"val#username#checkNotEmpty\" value=\"");
+                      out.print( userkey );
+                      out.write("\"/>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+              out.write("\n\n        ");
+ } else { 
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f3.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+                  _jspx_th_ui_005ftablecell_005f6.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f6.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      java.lang.String emailkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+                      _jspx_th_ui_005ftext_005f4.setVar("emailkey");
+                      _jspx_th_ui_005ftext_005f4.setKey("USER_EMAIL_BLANK");
+                      int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                        return;
+                      }
+                      emailkey = (java.lang.String) _jspx_page_context.findAttribute("emailkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+                      out.write("\n                <input class=\"checkNotEmpty#\" type=\"text\" name=\"username\" size=\"25\" maxlength=\"50\"/>\n                <input type=\"hidden\" name=\"val#username#checkNotEmpty\" value=\"");
+                      out.print( emailkey );
+                      out.write("\"/>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+              out.write("\n        ");
+ } 
+              out.write("\n\n        ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f1);
+              int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f4.doInitBody();
+                }
+                do {
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n            ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+                  _jspx_th_ui_005ftablecell_005f9.setWidth("60");
+                  int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f9.doInitBody();
+                    }
+                    do {
+                      out.write("\n                ");
+                      //  ui:text
+                      java.lang.String passkey = null;
+                      org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+                      _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+                      _jspx_th_ui_005ftext_005f6.setVar("passkey");
+                      _jspx_th_ui_005ftext_005f6.setKey("USER_PASSWORD_BLANK");
+                      int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+                      if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                        return;
+                      }
+                      passkey = (java.lang.String) _jspx_page_context.findAttribute("passkey");
+                      _005fjspx_005ftagPool_005fui_005ftext_005fvar_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+                      out.write("\n                ");
+ if (request.getAttribute("useUserName") != null) { 
+                      out.write("\n                <input class=\"checkNotEmpty#\" type=\"password\" name=\"password\" size=\"15\" maxlength=\"50\"/>\n                ");
+ } else { 
+                      out.write("\n                <input class=\"checkNotEmpty#\" type=\"password\" name=\"password\" size=\"25\" maxlength=\"50\"/>\n                ");
+ } 
+                      out.write("\n                <input type=\"hidden\" name=\"val#password#checkNotEmpty\" value=\"");
+                      out.print( passkey );
+                      out.write("\"/>\n            ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f9);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f9);
+                  out.write("\n            ");
+                  if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005ftable_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftable_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftable_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftable.reuse(_jspx_th_ui_005ftable_005f1);
+          out.write("\n\n    ");
+ if (request.getAttribute("remUser") != null) { 
+          out.write("\n    <p>\n        <input type=\"checkbox\" name=\"remlogin\" value=\"yes\"/>\n        ");
+          if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    </p>\n    ");
+ } 
+          out.write("\n\n    ");
+ } 
+          out.write("\n\n\n    ");
+          //  ui:actionsubmit
+          org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+          _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005factionsubmit_005f0.setCssStyle("margin-right: 30px;");
+          _jspx_th_ui_005factionsubmit_005f0.setAction( SportletProperties.LOGIN );
+          _jspx_th_ui_005factionsubmit_005f0.setKey("LOGIN_ACTION");
+          int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+          if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005factionsubmit_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005factionsubmit_005f0.doInitBody();
+            }
+            do {
+              out.write("\n        ");
+ if (request.getParameter("cid") != null) { 
+              out.write("\n        ");
+              //  ui:actionparam
+              org.gridsphere.provider.portletui.tags.ParamTag _jspx_th_ui_005factionparam_005f0 = (org.gridsphere.provider.portletui.tags.ParamTag) _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.get(org.gridsphere.provider.portletui.tags.ParamTag.class);
+              _jspx_th_ui_005factionparam_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005factionparam_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005factionsubmit_005f0);
+              _jspx_th_ui_005factionparam_005f0.setName("queryString");
+              _jspx_th_ui_005factionparam_005f0.setValue( request.getParameter("cid") );
+              int _jspx_eval_ui_005factionparam_005f0 = _jspx_th_ui_005factionparam_005f0.doStartTag();
+              if (_jspx_th_ui_005factionparam_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005factionparam_005fvalue_005fname_005fnobody.reuse(_jspx_th_ui_005factionparam_005f0);
+              out.write("\n        ");
+ } 
+              out.write("\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005factionsubmit_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005factionsubmit_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005fcssStyle_005faction.reuse(_jspx_th_ui_005factionsubmit_005f0);
+          out.write("\n\n    ");
+ if ((request.getAttribute("dispPass") != null) && ((request.getAttribute("certificate") == null) || ((String) request.getAttribute("certificate")).length() == 0)) { 
+          out.write("\n    ");
+          if (_jspx_meth_ui_005frenderlink_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    ");
+ } 
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform_005fsecure.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform_005fsecure.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftable_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftable_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("160");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_CERTIFICATE");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("LOGIN_NAME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftext_005f3.setKey("LOGIN_EMAIL_NAME");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("100");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f5.setKey("LOGIN_PASS");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fnobody.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("LOGIN_REMEMBER_ME");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005frenderlink_005f0.setRender("displayForgotPassword");
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_FORGOT_PASSWORD");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/loginnav_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/loginnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/loginnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,144 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+public final class loginnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n\n<div class=\"gridsphere-navbar\">\n    <ul>\n        <li>\n            ");
+      if (_jspx_meth_ui_005frenderlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n        </li>\n        ");
+ PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            if (Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue()) {
+        
+      out.write("\n        <li>\n            ");
+      if (_jspx_meth_ui_005frenderlink_005f1(_jspx_page_context))
+        return;
+      out.write("\n        </li>\n        ");
+ } 
+      out.write("\n    </ul>\n</div>\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent(null);
+    _jspx_th_ui_005frenderlink_005f0.setLayout("login");
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_ACTION");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f1(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f1 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f1.setParent(null);
+    _jspx_th_ui_005frenderlink_005f1.setLayout("register");
+    _jspx_th_ui_005frenderlink_005f1.setKey("SIGNUP_REGISTER");
+    _jspx_th_ui_005frenderlink_005f1.setLabel("signup");
+    _jspx_th_ui_005frenderlink_005f1.setRender("doNewUser");
+    int _jspx_eval_ui_005frenderlink_005f1 = _jspx_th_ui_005frenderlink_005f1.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005frender_005flayout_005flabel_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/newpassword_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/newpassword_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/newpassword_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,616 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class newpassword_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup.release();
+    _005fjspx_005ftagPool_005fui_005fframe_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n    <h3>\n        ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    </h3>\n\n    <p>\n        ");
+        if (_jspx_meth_ui_005fhiddenfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    </p>\n    ");
+        if (_jspx_meth_ui_005fgroup_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("PROFILE_UPDATE_PASS");
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhiddenfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hiddenfield
+    org.gridsphere.provider.portletui.tags.HiddenFieldTag _jspx_th_ui_005fhiddenfield_005f0 = (org.gridsphere.provider.portletui.tags.HiddenFieldTag) _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.HiddenFieldTag.class);
+    _jspx_th_ui_005fhiddenfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhiddenfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fhiddenfield_005f0.setBeanId("reqid");
+    int _jspx_eval_ui_005fhiddenfield_005f0 = _jspx_th_ui_005fhiddenfield_005f0.doStartTag();
+    if (_jspx_th_ui_005fhiddenfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhiddenfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fhiddenfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fgroup_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:group
+    org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+    _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fgroup_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+    if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fgroup_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        <p>\n            ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fgroup_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        </p>\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fgroup.reuse(_jspx_th_ui_005fgroup_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe_005fwidth.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005fframe_005f0.setWidth("50%");
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe_005fwidth.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe_005fwidth.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("PASSWORD");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005fpassword_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f0 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005fpassword_005f0.setBeanId("password");
+    int _jspx_eval_ui_005fpassword_005f0 = _jspx_th_ui_005fpassword_005f0.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("CONFIRM_PASS");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005fpassword_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f1 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005fpassword_005f1.setBeanId("confirmPassword");
+    int _jspx_eval_ui_005fpassword_005f1 = _jspx_th_ui_005fpassword_005f1.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fgroup_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSavePass");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/welcome_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/welcome_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/login/welcome_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+package org.apache.jsp.jsp.login;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import javax.portlet.RenderRequest;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.services.core.user.User;
+
+public final class welcome_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); 
+      out.write("\n\n<span style=\"text-align: right; margin: 10px 10px 0px 0px; float:right; \">\n");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write(',');
+      out.write(' ');
+      out.print( username );
+      out.write("</span>\n\n<div style=\"clear: both;\"/>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_SUCCESS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout/logoutnav_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout/logoutnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/logout/logoutnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+package org.apache.jsp.jsp.logout;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+
+public final class logoutnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      //  ui:actionlink
+      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+      _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005factionlink_005f0.setParent(null);
+      _jspx_th_ui_005factionlink_005f0.setCssStyle("font-size: 10px; text-decoration: underline;");
+      _jspx_th_ui_005factionlink_005f0.setAction( SportletProperties.LOGOUT );
+      _jspx_th_ui_005factionlink_005f0.setKey("LOGOUT");
+      int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+      if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005fcssStyle_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/admin_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/admin_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/admin_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,222 @@
+package org.apache.jsp.jsp.news;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class admin_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("NEWS_DOCUMENT");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("document");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setKey("NEWS_SAVE");
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSave");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/news/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+package org.apache.jsp.jsp.news;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      java.lang.String document = null;
+      synchronized (request) {
+        document = (java.lang.String) _jspx_page_context.getAttribute("document", PageContext.REQUEST_SCOPE);
+        if (document == null){
+          document = new java.lang.String();
+          _jspx_page_context.setAttribute("document", document, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+      out.print(document);
+      out.write('\n');
+      out.write('\n');
+      out.write(' ');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/editpassword_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/editpassword_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/editpassword_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,858 @@
+package org.apache.jsp.jsp.profile;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.role.PortletRole;
+import javax.portlet.RenderRequest;
+import java.util.Locale;
+
+public final class editpassword_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String logintime = null;
+      synchronized (request) {
+        logintime = (java.lang.String) _jspx_page_context.getAttribute("logintime", PageContext.REQUEST_SCOPE);
+        if (logintime == null){
+          logintime = new java.lang.String();
+          _jspx_page_context.setAttribute("logintime", logintime, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ Locale locale = (Locale) request.getAttribute("locale"); 
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); 
+      out.write("\n\n\n<div style=\"width: 400px; margin: 0px 0px 0px 15%;\">\n\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\n\n</div>\n\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write('\n');
+        if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n\n<h3>");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("</h3>\n\n        ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setValue("Change Password");
+    _jspx_th_ui_005ftext_005f0.setStyle("bold");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fvalue_005fstyle_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("ORIG_PASSWORD");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f1.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005fpassword_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f0 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005fpassword_005f0.setBeanId("origPassword");
+    _jspx_th_ui_005fpassword_005f0.setSize(20);
+    int _jspx_eval_ui_005fpassword_005f0 = _jspx_th_ui_005fpassword_005f0.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("NEW_PASSWORD");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f3.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005fpassword_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f1 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005fpassword_005f1.setBeanId("password");
+    _jspx_th_ui_005fpassword_005f1.setSize(20);
+    int _jspx_eval_ui_005fpassword_005f1 = _jspx_th_ui_005fpassword_005f1.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                    ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n                ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f3.setKey("CONFIRM_PASS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f5.setWidth("150");
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005fpassword_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f2 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005fpassword_005f2.setBeanId("confirmPassword");
+    _jspx_th_ui_005fpassword_005f2.setSize(20);
+    int _jspx_eval_ui_005fpassword_005f2 = _jspx_th_ui_005fpassword_005f2.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSavePass");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doCancel");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("CANCEL");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/help_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/help_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/help_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp.profile;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class help_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<p>\n    <b>Using the Profile Manager portlet</b>\n</p>\n\n<p>\n    The Profile Manager portlet allows users the ability to customize their personal settings\n    including profile information, preferred locale, and group membership. The view mode displays\n    the existing user profile information and can be edited by selecting the portlets edit mode.\n    Administrators can configure the possible locale selections in configure mode.\n</p>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/profilenav_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/profilenav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/profilenav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+package org.apache.jsp.jsp.profile;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class profilenav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n<a style=\"font-size: 10px; text-decoration: underline;\" href=\"");
+      out.print( request.getContextPath() );
+      out.print( request.getServletPath());
+      out.write("/ProfileManager\">Profile</a>\n\n\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/viewuser_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/viewuser_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/profile/viewuser_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1995 @@
+package org.apache.jsp.jsp.profile;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.services.core.security.role.PortletRole;
+import javax.portlet.RenderRequest;
+import java.util.Locale;
+
+public final class viewuser_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005falign;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.release();
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      java.lang.String logintime = null;
+      synchronized (request) {
+        logintime = (java.lang.String) _jspx_page_context.getAttribute("logintime", PageContext.REQUEST_SCOPE);
+        if (logintime == null){
+          logintime = new java.lang.String();
+          _jspx_page_context.setAttribute("logintime", logintime, PageContext.REQUEST_SCOPE);
+        }
+      }
+      out.write('\n');
+      out.write('\n');
+ Locale locale = (Locale) request.getAttribute("locale"); 
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); 
+      out.write('\n');
+ String flag = req.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; 
+      out.write("\n\n\n<div style=\"margin: 0px 0px 0px 15%;\">\n\n");
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write('\n');
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n\n<h3>");
+          if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("&nbsp;&nbsp;&nbsp;");
+          if (_jspx_meth_ui_005factionlink_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("</h3>\n\n");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f0.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+                  int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f1.doInitBody();
+                    }
+                    do {
+                      out.write("\n            <b>");
+                      out.print( logintime );
+                      out.write("</b>\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+              out.write("\n\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f1.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+                  int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f3.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+ if (req.isUserInRole(PortletRole.ADMIN.getName())) { 
+                      out.write("\n            ");
+                      if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n            ");
+ } else { 
+                      out.write("\n            ");
+                      if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+                        return;
+                      out.write("\n            ");
+ } 
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              //  ui:tablerow
+              org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+              _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+              _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+              int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+              if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.pushBody();
+                  _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                  _jspx_th_ui_005ftablerow_005f7.doInitBody();
+                }
+                do {
+                  out.write("\n        ");
+                  if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+                    return;
+                  out.write("\n        ");
+                  //  ui:tablecell
+                  org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f15 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+                  _jspx_th_ui_005ftablecell_005f15.setPageContext(_jspx_page_context);
+                  _jspx_th_ui_005ftablecell_005f15.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+                  int _jspx_eval_ui_005ftablecell_005f15 = _jspx_th_ui_005ftablecell_005f15.doStartTag();
+                  if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.pushBody();
+                      _jspx_th_ui_005ftablecell_005f15.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+                      _jspx_th_ui_005ftablecell_005f15.doInitBody();
+                    }
+                    do {
+                      out.write("\n            ");
+                      //  ui:image
+                      org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+                      _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+                      _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+                      _jspx_th_ui_005fimage_005f0.setSrc( flag );
+                      _jspx_th_ui_005fimage_005f0.setAlt( locale.getDisplayLanguage() );
+                      _jspx_th_ui_005fimage_005f0.setTitle( locale.getDisplayLanguage() );
+                      int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+                      if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                        _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                        return;
+                      }
+                      _005fjspx_005ftagPool_005fui_005fimage_005ftitle_005fsrc_005falt_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+                      out.write("\n            ");
+                      if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005ftablecell_005f15, _jspx_page_context))
+                        return;
+                      out.write("\n        ");
+                      int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f15.doAfterBody();
+                      if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                        break;
+                    } while (true);
+                    if (_jspx_eval_ui_005ftablecell_005f15 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                      out = _jspx_page_context.popBody();
+                    }
+                  }
+                  if (_jspx_th_ui_005ftablecell_005f15.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                    return;
+                  }
+                  _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f15);
+                  out.write("\n    ");
+                  int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+                  if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                    break;
+                } while (true);
+                if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+                  out = _jspx_page_context.popBody();
+                }
+              }
+              if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+                _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+                return;
+              }
+              _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f8(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n    ");
+              if (_jspx_meth_ui_005ftablerow_005f9(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write('\n');
+              out.write('\n');
+              out.write('\n');
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write('\n');
+          out.write('\n');
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write("\n\n</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("PROFILE_SETTINGS");
+    _jspx_th_ui_005ftext_005f0.setStyle("bold");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionlink_005f0.setAction("doEditPassword");
+    _jspx_th_ui_005factionlink_005f0.setValue("Change password");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f1.setKey("PROFILE_LASTLOGIN");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f2.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userNameTF");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fvalidator_005f0(_jspx_th_ui_005ftextfield_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f0 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f0);
+    _jspx_th_ui_005fvalidator_005f0.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f0.setKey("USER_NAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f0 = _jspx_th_ui_005fvalidator_005f0.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftext_005f3.setBeanId("userName");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f4.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("firstName");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fvalidator_005f1(_jspx_th_ui_005ftextfield_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f1 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f1);
+    _jspx_th_ui_005fvalidator_005f1.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f1.setKey("USER_GIVENNAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f1 = _jspx_th_ui_005fvalidator_005f1.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f5.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("lastName");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftextfield_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftextfield_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fvalidator_005f2(_jspx_th_ui_005ftextfield_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftextfield_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftextfield_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fvalidator_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftextfield_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:validator
+    org.gridsphere.provider.portletui.tags.ValidatorTag _jspx_th_ui_005fvalidator_005f2 = (org.gridsphere.provider.portletui.tags.ValidatorTag) _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.ValidatorTag.class);
+    _jspx_th_ui_005fvalidator_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fvalidator_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftextfield_005f2);
+    _jspx_th_ui_005fvalidator_005f2.setType("checkNotEmpty");
+    _jspx_th_ui_005fvalidator_005f2.setKey("USER_FAMILYNAME_BLANK");
+    int _jspx_eval_ui_005fvalidator_005f2 = _jspx_th_ui_005fvalidator_005f2.doStartTag();
+    if (_jspx_th_ui_005fvalidator_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fvalidator_005ftype_005fkey_005fnobody.reuse(_jspx_th_ui_005fvalidator_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f6.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("organization");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f7.setKey("USER_ROLES");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f8(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f8 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005ftext_005f8.setBeanId("userRoles");
+    int _jspx_eval_ui_005ftext_005f8 = _jspx_th_ui_005ftext_005f8.doStartTag();
+    if (_jspx_th_ui_005ftext_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftext_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f9(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f9 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f9.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f9 = _jspx_th_ui_005ftext_005f9.doStartTag();
+    if (_jspx_th_ui_005ftext_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftextfield_005f4(_jspx_th_ui_005ftablecell_005f13, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f13, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f4 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+    _jspx_th_ui_005ftextfield_005f4.setSize(30);
+    _jspx_th_ui_005ftextfield_005f4.setBeanId("emailTF");
+    int _jspx_eval_ui_005ftextfield_005f4 = _jspx_th_ui_005ftextfield_005f4.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f10(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f10 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005ftext_005f10.setKey("LOCALE");
+    int _jspx_eval_ui_005ftext_005f10 = _jspx_th_ui_005ftext_005f10.doStartTag();
+    if (_jspx_th_ui_005ftext_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f15, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f15);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("userlocale");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f8 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f8 = _jspx_th_ui_005ftablerow_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f8.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f16(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f17(_jspx_th_ui_005ftablerow_005f8, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f16(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f16 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f16.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f16.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    _jspx_th_ui_005ftablecell_005f16.setValign("top");
+    int _jspx_eval_ui_005ftablecell_005f16 = _jspx_th_ui_005ftablecell_005f16.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f16.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f16.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f11(_jspx_th_ui_005ftablecell_005f16, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f16.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f16 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f16.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f16);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fvalign.reuse(_jspx_th_ui_005ftablecell_005f16);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f16, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f11 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f16);
+    _jspx_th_ui_005ftext_005f11.setKey("TIMEZONE");
+    int _jspx_eval_ui_005ftext_005f11 = _jspx_th_ui_005ftext_005f11.doStartTag();
+    if (_jspx_th_ui_005ftext_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f17(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f17 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f17.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f17.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f8);
+    int _jspx_eval_ui_005ftablecell_005f17 = _jspx_th_ui_005ftablecell_005f17.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f17.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f17.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005flistbox_005f1(_jspx_th_ui_005ftablecell_005f17, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f17.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f17 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f17.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f17);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f17, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f1 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f17);
+    _jspx_th_ui_005flistbox_005f1.setBeanId("timezones");
+    int _jspx_eval_ui_005flistbox_005f1 = _jspx_th_ui_005flistbox_005f1.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f9 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f9 = _jspx_th_ui_005ftablerow_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f9.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f18(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f19(_jspx_th_ui_005ftablerow_005f9, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f18(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f18 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f18.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f18.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f18 = _jspx_th_ui_005ftablecell_005f18.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f18.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f18.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftext_005f12(_jspx_th_ui_005ftablecell_005f18, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f18.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f18 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f18.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f18);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f18, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f12 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f18);
+    _jspx_th_ui_005ftext_005f12.setKey("LAYOUT_SELECT_THEME");
+    int _jspx_eval_ui_005ftext_005f12 = _jspx_th_ui_005ftext_005f12.doStartTag();
+    if (_jspx_th_ui_005ftext_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f19(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f19 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f19.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f19.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f9);
+    int _jspx_eval_ui_005ftablecell_005f19 = _jspx_th_ui_005ftablecell_005f19.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f19.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f19.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005flistbox_005f2(_jspx_th_ui_005ftablecell_005f19, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f19.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f19 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f19.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f19);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f19, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f2 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f19);
+    _jspx_th_ui_005flistbox_005f2.setBeanId("themeLB");
+    int _jspx_eval_ui_005flistbox_005f2 = _jspx_th_ui_005flistbox_005f2.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f10(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f10 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f10 = _jspx_th_ui_005ftablerow_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f10.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f20(_jspx_th_ui_005ftablerow_005f10, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f20(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f20 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005falign.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f20.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f20.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f10);
+    _jspx_th_ui_005ftablecell_005f20.setAlign("center");
+    int _jspx_eval_ui_005ftablecell_005f20 = _jspx_th_ui_005ftablecell_005f20.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f20.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f20.doInitBody();
+      }
+      do {
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005ftablecell_005f20, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f20.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f20 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f20.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f20);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005falign.reuse(_jspx_th_ui_005ftablecell_005f20);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f20, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f20);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("doSaveAll");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/redirect_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/redirect_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/redirect_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class redirect_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n<head>\n\n    <!-- use this when you want to just hardcode server name and do a redirect -->\n    <!-- <meta http-equiv=\"refresh\" content=\"1;url=http://127.0.0.1:8080/gridsphere/gridsphere\">  -->\n</head>\n\n<body>\n<h1>Unauthorized Access</h1>\nAccess to servlets that are accessed via http://host/webAppPrefix/servlet/ has been disabled!\n</body>\n</html>\n\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnguestnav_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnguestnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnguestnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class returnguestnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n\n<div class=\"gridsphere-navbar\">\n    <ul>\n        <li>\n            ");
+      if (_jspx_meth_ui_005factionlink_005f0(_jspx_page_context))
+        return;
+      out.write("\n        </li>\n    </ul>\n</div>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent(null);
+    _jspx_th_ui_005factionlink_005f0.setLayout("guest");
+    _jspx_th_ui_005factionlink_005f0.setValue("Home");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnnav_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnnav_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/returnnav_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,280 @@
+package org.apache.jsp.jsp;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.services.core.user.User;
+import javax.portlet.RenderRequest;
+
+public final class returnnav_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fhasrole_005frole;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n\n\n\n\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+ RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); 
+      out.write("\n\n<div class=\"gridsphere-navbar\">\n    <ul>\n        <li>\n            ");
+      if (_jspx_meth_ui_005ftext_005f0(_jspx_page_context))
+        return;
+      out.write("\n            , ");
+      out.print( username );
+      out.write("\n        </li>\n        ");
+      if (_jspx_meth_ui_005fhasrole_005f0(_jspx_page_context))
+        return;
+      out.write("\n        <li>\n            ");
+      if (_jspx_meth_ui_005factionlink_005f3(_jspx_page_context))
+        return;
+      out.write("\n        </li>\n        <li>\n            ");
+      if (_jspx_meth_ui_005factionlink_005f4(_jspx_page_context))
+        return;
+      out.write("\n        </li>\n        <li>\n            ");
+      //  ui:actionlink
+      org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f5 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+      _jspx_th_ui_005factionlink_005f5.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005factionlink_005f5.setParent(null);
+      _jspx_th_ui_005factionlink_005f5.setAction( SportletProperties.LOGOUT );
+      _jspx_th_ui_005factionlink_005f5.setKey("LOGOUT");
+      int _jspx_eval_ui_005factionlink_005f5 = _jspx_th_ui_005factionlink_005f5.doStartTag();
+      if (_jspx_th_ui_005factionlink_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f5);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005factionlink_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionlink_005f5);
+      out.write("\n        </li>\n    </ul>\n</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent(null);
+    _jspx_th_ui_005ftext_005f0.setStyle("nostyle");
+    _jspx_th_ui_005ftext_005f0.setKey("LOGIN_SUCCESS");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fstyle_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fhasrole_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:hasrole
+    org.gridsphere.provider.portletui.tags.HasRoleTag _jspx_th_ui_005fhasrole_005f0 = (org.gridsphere.provider.portletui.tags.HasRoleTag) _005fjspx_005ftagPool_005fui_005fhasrole_005frole.get(org.gridsphere.provider.portletui.tags.HasRoleTag.class);
+    _jspx_th_ui_005fhasrole_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fhasrole_005f0.setParent(null);
+    _jspx_th_ui_005fhasrole_005f0.setRole("ADMIN");
+    int _jspx_eval_ui_005fhasrole_005f0 = _jspx_th_ui_005fhasrole_005f0.doStartTag();
+    if (_jspx_eval_ui_005fhasrole_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      do {
+        out.write("\n            <li>\n                ");
+        if (_jspx_meth_ui_005factionlink_005f0(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            </li>\n            <li>\n                ");
+        if (_jspx_meth_ui_005factionlink_005f1(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            </li>\n            <li>\n                ");
+        if (_jspx_meth_ui_005factionlink_005f2(_jspx_th_ui_005fhasrole_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            </li>\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005fhasrole_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+    }
+    if (_jspx_th_ui_005fhasrole_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fhasrole_005frole.reuse(_jspx_th_ui_005fhasrole_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fhasrole_005frole.reuse(_jspx_th_ui_005fhasrole_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f0 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f0.setLayout("admin");
+    _jspx_th_ui_005factionlink_005f0.setValue("Administration");
+    int _jspx_eval_ui_005factionlink_005f0 = _jspx_th_ui_005factionlink_005f0.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f1 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f1.setLayout("content");
+    _jspx_th_ui_005factionlink_005f1.setValue("Content");
+    int _jspx_eval_ui_005factionlink_005f1 = _jspx_th_ui_005factionlink_005f1.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fhasrole_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f2 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fhasrole_005f0);
+    _jspx_th_ui_005factionlink_005f2.setLayout("layout");
+    _jspx_th_ui_005factionlink_005f2.setValue("Layout");
+    int _jspx_eval_ui_005factionlink_005f2 = _jspx_th_ui_005factionlink_005f2.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f3(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f3 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f3.setParent(null);
+    _jspx_th_ui_005factionlink_005f3.setLayout("profile");
+    _jspx_th_ui_005factionlink_005f3.setValue("Profile");
+    int _jspx_eval_ui_005factionlink_005f3 = _jspx_th_ui_005factionlink_005f3.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionlink_005f4(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionlink
+    org.gridsphere.provider.portletui.tags.ActionLinkTag _jspx_th_ui_005factionlink_005f4 = (org.gridsphere.provider.portletui.tags.ActionLinkTag) _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionLinkTag.class);
+    _jspx_th_ui_005factionlink_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionlink_005f4.setParent(null);
+    _jspx_th_ui_005factionlink_005f4.setLayout("loggedin");
+    _jspx_th_ui_005factionlink_005f4.setValue("Home");
+    int _jspx_eval_ui_005factionlink_005f4 = _jspx_th_ui_005factionlink_005f4.doStartTag();
+    if (_jspx_th_ui_005factionlink_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionlink_005fvalue_005flayout_005fnobody.reuse(_jspx_th_ui_005factionlink_005f4);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/edit_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/edit_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/edit_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,270 @@
+package org.apache.jsp.jsp.rss;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class edit_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\n\n<br>\n\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    <br/>\n\n    ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("feedsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setAction("removeFeed");
+    _jspx_th_ui_005factionsubmit_005f0.setKey("RSS_DELETE_FEED");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("RSS_ENTERFEEDURL");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("newfeedurl");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("saveFeed");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("RSS_ADD_FEED");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/viewRSS_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/viewRSS_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/rss/viewRSS_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+package org.apache.jsp.jsp.rss;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+import com.sun.syndication.feed.synd.SyndContent;
+import com.sun.syndication.feed.synd.SyndEntry;
+import com.sun.syndication.feed.synd.SyndFeed;
+import java.util.Date;
+import java.util.Iterator;
+
+public final class viewRSS_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform_005faction;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fgroup_005flabel;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform_005faction = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform_005faction.release();
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fgroup_005flabel.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n");
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write("\r\n\r\n<br>\r\n\r\n");
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write("\r\n\r\n");
+ SyndFeed feed = (SyndFeed) request.getAttribute("rssfeed");
+
+    if (feed != null) {
+
+      out.write("\r\n\r\n");
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write("\r\n\r\n<br>\r\n\r\n");
+
+
+    Iterator entryIter = feed.getEntries().iterator();
+    while (entryIter.hasNext()) {
+        SyndEntry entry = (SyndEntry) entryIter.next();
+        String entryLink = entry.getLink();
+        String entryTitle = entry.getTitle();
+        Date entryDate = entry.getPublishedDate();
+        SyndContent content = entry.getDescription();
+        String value = content.getValue();
+
+
+
+      out.write('\r');
+      out.write('\n');
+      //  ui:group
+      org.gridsphere.provider.portletui.tags.GroupTag _jspx_th_ui_005fgroup_005f0 = (org.gridsphere.provider.portletui.tags.GroupTag) _005fjspx_005ftagPool_005fui_005fgroup_005flabel.get(org.gridsphere.provider.portletui.tags.GroupTag.class);
+      _jspx_th_ui_005fgroup_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fgroup_005f0.setParent(null);
+      _jspx_th_ui_005fgroup_005f0.setLabel(entryTitle);
+      int _jspx_eval_ui_005fgroup_005f0 = _jspx_th_ui_005fgroup_005f0.doStartTag();
+      if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fgroup_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fgroup_005f0.doInitBody();
+        }
+        do {
+          out.write("\r\n    ");
+          //  ui:text
+          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+          _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          _jspx_th_ui_005ftext_005f0.setCssStyle("font-size: x-small;  font-weight: italic");
+          int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+          if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftext_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftext_005f0.doInitBody();
+            }
+            do {
+              out.print(entryDate);
+              out.write("<br/>");
+              int evalDoAfterBody = _jspx_th_ui_005ftext_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftext_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f0);
+          out.write("\r\n    <p/>\r\n    ");
+          out.print(value);
+          out.write("\r\n    <p/>\r\n    ");
+          //  ui:text
+          org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+          _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fgroup_005f0);
+          _jspx_th_ui_005ftext_005f1.setCssStyle("font-size: x-small;");
+          int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+          if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005ftext_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005ftext_005f1.doInitBody();
+            }
+            do {
+              out.write("<a href=\"");
+              out.print(entryLink);
+              out.write("\">\r\n        ");
+              if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftext_005f1, _jspx_page_context))
+                return;
+              out.write("\r\n    </a>");
+              int evalDoAfterBody = _jspx_th_ui_005ftext_005f1.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005ftext_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f1);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005ftext_005fcssStyle.reuse(_jspx_th_ui_005ftext_005f1);
+          out.write('\r');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fgroup_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fgroup_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fgroup_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fgroup_005flabel.reuse(_jspx_th_ui_005fgroup_005f0);
+      out.write("\r\n\r\n");
+
+
+
+    }
+
+      out.write("\r\n\r\n");
+
+
+    }
+
+
+      out.write("\r\n\r\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform_005faction.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    _jspx_th_ui_005fform_005f0.setAction("selectFeed");
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\r\n    ");
+        if (_jspx_meth_ui_005flistbox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\r');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform_005faction.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005flistbox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:listbox
+    org.gridsphere.provider.portletui.tags.ListBoxTag _jspx_th_ui_005flistbox_005f0 = (org.gridsphere.provider.portletui.tags.ListBoxTag) _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.ListBoxTag.class);
+    _jspx_th_ui_005flistbox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005flistbox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005flistbox_005f0.setSubmitOnChange(true);
+    _jspx_th_ui_005flistbox_005f0.setBeanId("feedsLB");
+    int _jspx_eval_ui_005flistbox_005f0 = _jspx_th_ui_005flistbox_005f0.doStartTag();
+    if (_jspx_th_ui_005flistbox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005flistbox_005fsubmitOnChange_005fbeanId_005fnobody.reuse(_jspx_th_ui_005flistbox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftext_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftext_005f1);
+    _jspx_th_ui_005ftext_005f2.setKey("RSS_READ_FULL_STORY");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/createAdmin_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/createAdmin_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/createAdmin_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class createAdmin_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n<div style=\"padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;\">\n\n    <h1>GridSphere Setup</h1>\n\n\n    <h2>Create a Portal Administrator</h2>\n\nThe portal administrator has access to all administrative capabilities of the portal including adding/editing users, roles\nand layouts. After creating an account, you will be able to login using the provided user name and password.\n\n    <p/>\n\n    ");
+ String errMsg = (String)request.getAttribute("error");
+           if (errMsg != null) { 
+      out.write("\n\n        <fieldset><span style=\"color: red; \">");
+      out.print( errMsg );
+      out.write("</span></fieldset>\n\n        ");
+   } 
+      out.write("\n\n    <p/>\n\n<form action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=admin\" method=\"POST\">\n\n   <table>\n       <tr>\n           <td align=\"right\">\n               <label for=\"username\">User Name:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"text\" name=\"username\" id=\"username\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n               <label for=\"firstname\">First Name:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"text\" name=\"firstname\" id=\"firstname\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n               <label for=\"lastname\">Last Name:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"text\" name=\"lastname\" id=\"lastname\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n               <label for=\"email\">Email Address:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"text\" name=\"email\" id=\"email\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n");
+      out.write("               <label for=\"organization\">Organization:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"text\" name=\"organization\" id=\"organization\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n               <label for=\"password\">Password:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"password\" name=\"password\" id=\"password\">\n           </td>\n       </tr>\n       <tr>\n           <td align=\"right\">\n               <label for=\"password2\">Confirm Password:</label>\n           </td>\n           <td align=\"left\">\n                <input type=\"password\" name=\"password2\" id=\"password2\">\n           </td>\n       </tr>\n\n   </table>\n\n  <p/>\n\n    <input type=\"submit\" value=\"Create Account\"/>\n\n</form>\n</div>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/selectDatabase_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/selectDatabase_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/selectDatabase_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class selectDatabase_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n<script type=\"text/javascript\">\n<!--\nfunction SelectDriver() {\n    var dbtype = document.dbform.dbtype.value;\n    var connURL =\"\";\n    var driver = \"\";\n    var dialect = \"\";\n    if (dbtype == \"postgresql\") {\n        connURL = \"jdbc:postgresql://localhost:5432/gridsphere\";\n        dialect = \"org.hibernate.dialect.PostgreSQLDialect\";\n        driver = \"org.postgresql.Driver\";\n    } else if (dbtype == \"mysql\") {\n        connURL = \"jdbc:mysql://localhost:3306/gridsphere\";\n        dialect = \"org.hibernate.dialect.MySQLDialect\";\n        driver = \"com.mysql.jdbc.Driver\";\n    } else if (dbtype == \"oracle\") {\n        connURL = \"jdbc:oracle:thin:@localhost:1521:gridsphere\";\n        dialect = \"org.hibernate.dialect.Oracle9Dialect\";\n        driver = \"oracle.jdbc.driver.OracleDriver\";\n    } else if (dbtype == \"ms\") {\n        connURL = \"jdbc:sqlserver://localhost:1681/gridsphere\";\n        dialect = \"org.hibernate.dialect.SQLServerDialect\";\n        driver = \"com.microsoft.sqlserver.jdbc.SQLServerDriver\";\n    }\n    document.dbform.databaseURL.value = connURL;\n");
+      out.write("    document.dbform.driverClass.value = driver;\n    document.dbform.dialect.value = dialect;\n\n    //alert(dbtype);\n}\n\nfunction DisplayWait( formName ) {\n\n    var waitDiv = document.getElementById(\"content\");\n\n    waitDiv.innerHTML = '<div style=\"position: absolute; padding: 20px; border: solid 5px; background-color: white; left: 300px; width: 300px; z-index: 5;\">  Please wait... database is being created!</div>';\n\n    document.dbform.custom.disabled = true;\n    document.simple.standard.disabled = true;\n    document[formName].submit();\n}\n\n// -->\n</script>\n\n\n\n<div style=\"padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;\">\n\n    <h1>GridSphere Setup</h1>\n\n\n\n    ");
+ String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { 
+      out.write("\n\n    <fieldset><span style=\"color: red; \">");
+      out.print( errMsg );
+      out.write("</span></fieldset>\n           \n    ");
+   } 
+      out.write("\n\n\n\n\n    <h2>Choose a Database Configuration</h2>\n\n    Select where GridSphere should store its data\n\n    <p/>\n\n\n    <fieldset>\n        <legend>Embedded Database</legend>\n\n        The embedded database is provided by GridSphere and is <b>recommended for evaluation and\n        demonstration purposes</b>. Production systems should consider using an external database for improved scalability and reliability.\n        (This option will create a HSQL database in the gridsphere web application).\n        <p/>\n        <form method=\"POST\" name=\"simple\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=default\">\n\n\n            <input type=\"submit\" name=\"standard\" value=\"Embedded Database >>\" onclick=\"DisplayWait( this.form.name )\"/>\n\n        </form>\n\n    </fieldset>\n\n    <p/>\n\n\n    <div id=\"content\"></div>\n\n    <fieldset>\n        <legend>External Database</legend>\n\n        If you wish the portal to store its data in an external database, please provide the necessary connection values.\n        This is <b>recommended for production systems</b>. You must also make sure the JDBC driver (JAR) is placed in the\n        application classloader of the servlet container. (In the case of Tomcat, place JAR file in <b>$TOMCAT/common/lib</b>\n        directory.\n        <p/>\n        <form name=\"dbform\" method=\"POST\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=custom\">\n\n            <table>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"dbtype\">Choose your database:</label>\n                    </td>\n                    <td align=\"left\">\n                        <select name=\"dbtype\" id=\"dbtype\" onchange=\"SelectDriver()\">\n                            <option value=\"postgresql\">PostgreSQL</option>\n                            <option value=\"mysql\">MySQL</option>\n                            <option value=\"oracle\">Oracle 9/10g</option>\n                            <option value=\"ms\">MS SQL Server</option>\n                            <option value=\"other\">Other</option>\n                        </select>\n                    </td>\n                </tr>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"connection\">Enter a Database URL:</label>\n                    </td>\n                    <td align=\"left\">\n                        <input type=\"text\" name=\"databaseURL\" id=\"connection\" size=\"40\"/>\n");
+      out.write("                    </td>\n                </tr>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"connection\">Enter the driver class name:</label>\n                    </td>\n                    <td align=\"left\">\n                        <input type=\"text\" name=\"driverClass\" id=\"driverclass\" size=\"40\"/>\n                    </td>\n                </tr>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"connection\">Enter the Hibernate dialect:</label>\n                    </td>\n                    <td align=\"left\">\n                        <input type=\"text\" name=\"dialect\" id=\"dialect\" size=\"40\"/>\n                    </td>\n                </tr>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"username\">Enter the User Name:</label>\n                    </td>\n                    <td align=\"left\">\n                        <input type=\"text\" name=\"username\" id=\"username\"/>\n                    </td>\n");
+      out.write("                </tr>\n                <tr>\n                    <td align=\"right\">\n                        <label for=\"password\">Enter the Password:</label>\n                    </td>\n                    <td align=\"left\">\n                        <input type=\"password\" name=\"password\" id=\"password\"/>\n                    </td>\n                </tr>\n            </table>\n            <p/>\n            <input type=\"submit\" name=\"custom\" value=\"External Database >>\" onsubmit=\"DisplayWait( this.form.name )\"/>\n        </form>\n\n    </fieldset>\n\n</div>\n\n<script type=\"text/javascript\">\n<!--\n    SelectDriver();\n// -->\n</script>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/updateDatabase_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/updateDatabase_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/updateDatabase_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class updateDatabase_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n<div style=\"padding-top: 3px; margin: 0px 0px 0px 10px; padding-left: 8px; padding-right:\n 5px; padding-bottom: 1px;\">\n\n    <h1>GridSphere Update</h1>\n\n    ");
+ String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { 
+      out.write("\n\n    <fieldset><span style=\"color: red; \">");
+      out.print( errMsg );
+      out.write("</span></fieldset>\n           \n    ");
+   } 
+      out.write("\n\n    GridSphere has detected that a new version of the portal has been installed! To continue, the existing database schemas\n    must be updated. You should first make a back-up of your existing database before completing this step.\n    <p/>\n    Do you wish to proceed?\n    <p/>\n\n        <form method=\"POST\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup?install=update\">\n\n\n            <input type=\"submit\" value=\"Update Database >>\"/>\n\n        </form>\n\n</div>\n");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/view_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/view_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/setup/view_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+package org.apache.jsp.jsp.setup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class view_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write("\n\n<h1>GridSphere Setup</h1>\n\n\n<form method=\"POST\" action=\"");
+      out.print( request.getContextPath() );
+      out.write("/setup\">\n\n\nSelect a database type:\n\n<select name=\"dbtype\" id=\"dbtype\">\n    <option selected=\"selected\" value=\"org.hibernate.dialect.HSQLDialect\">HsqlDB (default)</option>\n    <option value=\"org.hibernate.dialect.PostgreSQLDialect\">Postgres</option>\n    <option value=\"org.hibernate.dialect.MySQLDialect\">MySQL</option>\n    <option value=\"org.hibernate.dialect.Oracle9Dialect\">Oracle 9/10g</option>\n</select>\n\nPlease provide the connection URL:\n\n<input type=\"text\" name=\"connectionURL\" id=\"connection\"/>\n\nPlease provide the user name\n\n<input type=\"text\" name=\"username\" id=\"username\"/>\n\nPlease provide the password\n\n<input type=\"password\" name=\"password\" id=\"password\"/>\n\n\n    <input type=\"submit\" value=\"Enter\"/>\n\n</form>");
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/approve_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/approve_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/approve_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,256 @@
+package org.apache.jsp.jsp.signup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class approve_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fframe_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent(null);
+    _jspx_th_ui_005fmessagebox_005f0.setKey("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent(null);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n    ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005frenderlink_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frenderlink_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:renderlink
+    org.gridsphere.provider.portletui.tags.RenderLinkTag _jspx_th_ui_005frenderlink_005f0 = (org.gridsphere.provider.portletui.tags.RenderLinkTag) _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderLinkTag.class);
+    _jspx_th_ui_005frenderlink_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frenderlink_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005frenderlink_005f0.setLayout("login");
+    _jspx_th_ui_005frenderlink_005f0.setKey("LOGIN_ACTION");
+    int _jspx_eval_ui_005frenderlink_005f0 = _jspx_th_ui_005frenderlink_005f0.doStartTag();
+    if (_jspx_th_ui_005frenderlink_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frenderlink_005flayout_005fkey_005fnobody.reuse(_jspx_th_ui_005frenderlink_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/confirmsave_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/confirmsave_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/confirmsave_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,294 @@
+package org.apache.jsp.jsp.signup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class confirmsave_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n\n    ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005frendersubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frendersubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:rendersubmit
+    org.gridsphere.provider.portletui.tags.RenderSubmitTag _jspx_th_ui_005frendersubmit_005f0 = (org.gridsphere.provider.portletui.tags.RenderSubmitTag) _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderSubmitTag.class);
+    _jspx_th_ui_005frendersubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frendersubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005frendersubmit_005f0.setRender("doNewUser");
+    _jspx_th_ui_005frendersubmit_005f0.setKey("OK");
+    int _jspx_eval_ui_005frendersubmit_005f0 = _jspx_th_ui_005frendersubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005frendersubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/createaccount_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/createaccount_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/createaccount_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1472 @@
+package org.apache.jsp.jsp.signup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class createaccount_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.release();
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      //  ui:form
+      org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+      _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_ui_005fform_005f0.setParent(null);
+      int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.pushBody();
+          _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+          _jspx_th_ui_005fform_005f0.doInitBody();
+        }
+        do {
+          out.write("\n\n    ");
+          if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n\n    ");
+          //  ui:frame
+          org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+          _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+          if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.pushBody();
+              _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+              _jspx_th_ui_005fframe_005f0.doInitBody();
+            }
+            do {
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f1(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f2(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f3(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f4(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+ if (request.getAttribute("savePass") != null) { 
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f5(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n\n        ");
+              if (_jspx_meth_ui_005ftablerow_005f6(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+                return;
+              out.write("\n        ");
+ } 
+              out.write("\n\n    ");
+              int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+              if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+                break;
+            } while (true);
+            if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+              out = _jspx_page_context.popBody();
+            }
+          }
+          if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+          out.write("\n\n    ");
+          //  ui:image
+          org.gridsphere.provider.portletui.tags.ImageTag _jspx_th_ui_005fimage_005f0 = (org.gridsphere.provider.portletui.tags.ImageTag) _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.get(org.gridsphere.provider.portletui.tags.ImageTag.class);
+          _jspx_th_ui_005fimage_005f0.setPageContext(_jspx_page_context);
+          _jspx_th_ui_005fimage_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+          _jspx_th_ui_005fimage_005f0.setSrc( request.getContextPath() + "/Captcha.jpg" );
+          int _jspx_eval_ui_005fimage_005f0 = _jspx_th_ui_005fimage_005f0.doStartTag();
+          if (_jspx_th_ui_005fimage_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+            _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+            return;
+          }
+          _005fjspx_005ftagPool_005fui_005fimage_005fsrc_005fnobody.reuse(_jspx_th_ui_005fimage_005f0);
+          out.write("\n    ");
+          if (_jspx_meth_ui_005factionsubmit_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n\n    ");
+          if (_jspx_meth_ui_005ftext_005f7(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n    ");
+          if (_jspx_meth_ui_005ftextfield_005f5(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write("\n    <p/>\n    ");
+          if (_jspx_meth_ui_005fframe_005f1(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+            return;
+          out.write('\n');
+          out.write('\n');
+          int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+          if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+            break;
+        } while (true);
+        if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+          out = _jspx_page_context.popBody();
+        }
+      }
+      if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+        return;
+      }
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setBeanId("msg");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f1(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    _jspx_th_ui_005ftablecell_005f0.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f0 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005ftext_005f0.setKey("USERNAME");
+    int _jspx_eval_ui_005ftext_005f0 = _jspx_th_ui_005ftext_005f0.doStartTag();
+    if (_jspx_th_ui_005ftext_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f1 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f1 = _jspx_th_ui_005ftablecell_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f1.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f0(_jspx_th_ui_005ftablecell_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f0 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f1);
+    _jspx_th_ui_005ftextfield_005f0.setSize(15);
+    _jspx_th_ui_005ftextfield_005f0.setBeanId("userName");
+    int _jspx_eval_ui_005ftextfield_005f0 = _jspx_th_ui_005ftextfield_005f0.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f1 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f1 = _jspx_th_ui_005ftablerow_005f1.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f1.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f2(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f3(_jspx_th_ui_005ftablerow_005f1, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f2 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    _jspx_th_ui_005ftablecell_005f2.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f2 = _jspx_th_ui_005ftablecell_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f2.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f1(_jspx_th_ui_005ftablecell_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f1 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f2);
+    _jspx_th_ui_005ftext_005f1.setKey("GIVENNAME");
+    int _jspx_eval_ui_005ftext_005f1 = _jspx_th_ui_005ftext_005f1.doStartTag();
+    if (_jspx_th_ui_005ftext_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f3 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f1);
+    int _jspx_eval_ui_005ftablecell_005f3 = _jspx_th_ui_005ftablecell_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f3.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f1(_jspx_th_ui_005ftablecell_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f1 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f3);
+    _jspx_th_ui_005ftextfield_005f1.setSize(15);
+    _jspx_th_ui_005ftextfield_005f1.setBeanId("firstName");
+    int _jspx_eval_ui_005ftextfield_005f1 = _jspx_th_ui_005ftextfield_005f1.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f2 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f2 = _jspx_th_ui_005ftablerow_005f2.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f2.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f2.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f4(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f5(_jspx_th_ui_005ftablerow_005f2, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f2.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f2 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f4 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    _jspx_th_ui_005ftablecell_005f4.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f4 = _jspx_th_ui_005ftablecell_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f4.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f2(_jspx_th_ui_005ftablecell_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f2 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f4);
+    _jspx_th_ui_005ftext_005f2.setKey("FAMILYNAME");
+    int _jspx_eval_ui_005ftext_005f2 = _jspx_th_ui_005ftext_005f2.doStartTag();
+    if (_jspx_th_ui_005ftext_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f2, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f5 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f2);
+    int _jspx_eval_ui_005ftablecell_005f5 = _jspx_th_ui_005ftablecell_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f5.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f2(_jspx_th_ui_005ftablecell_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f2(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f2 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f2.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f2.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f5);
+    _jspx_th_ui_005ftextfield_005f2.setSize(15);
+    _jspx_th_ui_005ftextfield_005f2.setBeanId("lastName");
+    int _jspx_eval_ui_005ftextfield_005f2 = _jspx_th_ui_005ftextfield_005f2.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f2.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f2);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f3 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f3 = _jspx_th_ui_005ftablerow_005f3.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f3.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f3.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f6(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f7(_jspx_th_ui_005ftablerow_005f3, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f3.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f3 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f6 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    _jspx_th_ui_005ftablecell_005f6.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f6 = _jspx_th_ui_005ftablecell_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f6.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f3(_jspx_th_ui_005ftablecell_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f3 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f6);
+    _jspx_th_ui_005ftext_005f3.setKey("EMAILADDRESS");
+    int _jspx_eval_ui_005ftext_005f3 = _jspx_th_ui_005ftext_005f3.doStartTag();
+    if (_jspx_th_ui_005ftext_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f3, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f7 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f3);
+    int _jspx_eval_ui_005ftablecell_005f7 = _jspx_th_ui_005ftablecell_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f7.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f3(_jspx_th_ui_005ftablecell_005f7, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f3(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f3 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f3.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f3.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f7);
+    _jspx_th_ui_005ftextfield_005f3.setSize(15);
+    _jspx_th_ui_005ftextfield_005f3.setBeanId("emailAddress");
+    int _jspx_eval_ui_005ftextfield_005f3 = _jspx_th_ui_005ftextfield_005f3.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f3.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f3);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f4 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f4 = _jspx_th_ui_005ftablerow_005f4.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f4.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f4.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f8(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f9(_jspx_th_ui_005ftablerow_005f4, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f4.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f4 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f8(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f8 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f8.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f8.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    _jspx_th_ui_005ftablecell_005f8.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f8 = _jspx_th_ui_005ftablecell_005f8.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f8.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f8.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f4(_jspx_th_ui_005ftablecell_005f8, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f8.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f8 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f8.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f8);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f8, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f4 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f8);
+    _jspx_th_ui_005ftext_005f4.setKey("ORGANIZATION");
+    int _jspx_eval_ui_005ftext_005f4 = _jspx_th_ui_005ftext_005f4.doStartTag();
+    if (_jspx_th_ui_005ftext_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f9(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f4, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f9 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f9.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f9.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f4);
+    int _jspx_eval_ui_005ftablecell_005f9 = _jspx_th_ui_005ftablecell_005f9.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f9.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f9.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftextfield_005f4(_jspx_th_ui_005ftablecell_005f9, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f9.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f9 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f9.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f9);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f4(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f9, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f4 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f4.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f4.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f9);
+    _jspx_th_ui_005ftextfield_005f4.setSize(15);
+    _jspx_th_ui_005ftextfield_005f4.setBeanId("organization");
+    int _jspx_eval_ui_005ftextfield_005f4 = _jspx_th_ui_005ftextfield_005f4.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f4.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f4);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f5 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f5 = _jspx_th_ui_005ftablerow_005f5.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f5.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f5.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f10(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f11(_jspx_th_ui_005ftablerow_005f5, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f5.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f5 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f10(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f10 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f10.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f10.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    _jspx_th_ui_005ftablecell_005f10.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f10 = _jspx_th_ui_005ftablecell_005f10.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f10.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f10.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f5(_jspx_th_ui_005ftablecell_005f10, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f10.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f10 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f10.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f10);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f10, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f5 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f10);
+    _jspx_th_ui_005ftext_005f5.setKey("PASSWORD");
+    int _jspx_eval_ui_005ftext_005f5 = _jspx_th_ui_005ftext_005f5.doStartTag();
+    if (_jspx_th_ui_005ftext_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f11(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f5, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f11 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f11.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f11.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f5);
+    int _jspx_eval_ui_005ftablecell_005f11 = _jspx_th_ui_005ftablecell_005f11.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f11.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f11.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fpassword_005f0(_jspx_th_ui_005ftablecell_005f11, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f11.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f11 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f11.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f11);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f11, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f0 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f11);
+    _jspx_th_ui_005fpassword_005f0.setSize(15);
+    _jspx_th_ui_005fpassword_005f0.setBeanId("organization");
+    int _jspx_eval_ui_005fpassword_005f0 = _jspx_th_ui_005fpassword_005f0.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f6 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f6 = _jspx_th_ui_005ftablerow_005f6.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f6.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f6.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f12(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f13(_jspx_th_ui_005ftablerow_005f6, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f6.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f6 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f12(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f12 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f12.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f12.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    _jspx_th_ui_005ftablecell_005f12.setWidth("200");
+    int _jspx_eval_ui_005ftablecell_005f12 = _jspx_th_ui_005ftablecell_005f12.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f12.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f12.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005ftext_005f6(_jspx_th_ui_005ftablecell_005f12, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f12.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f12 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f12.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell_005fwidth.reuse(_jspx_th_ui_005ftablecell_005f12);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f6(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f12, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f6 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f6.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f6.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f12);
+    _jspx_th_ui_005ftext_005f6.setKey("CONFIRM_PASS");
+    int _jspx_eval_ui_005ftext_005f6 = _jspx_th_ui_005ftext_005f6.doStartTag();
+    if (_jspx_th_ui_005ftext_005f6.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f6);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f13(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f6, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f13 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f13.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f13.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f6);
+    int _jspx_eval_ui_005ftablecell_005f13 = _jspx_th_ui_005ftablecell_005f13.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f13.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f13.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005fpassword_005f1(_jspx_th_ui_005ftablecell_005f13, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f13.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f13 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f13.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f13);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fpassword_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f13, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:password
+    org.gridsphere.provider.portletui.tags.PasswordTag _jspx_th_ui_005fpassword_005f1 = (org.gridsphere.provider.portletui.tags.PasswordTag) _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.PasswordTag.class);
+    _jspx_th_ui_005fpassword_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fpassword_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f13);
+    _jspx_th_ui_005fpassword_005f1.setSize(15);
+    _jspx_th_ui_005fpassword_005f1.setBeanId("confirmPassword");
+    int _jspx_eval_ui_005fpassword_005f1 = _jspx_th_ui_005fpassword_005f1.doStartTag();
+    if (_jspx_th_ui_005fpassword_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fpassword_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005fpassword_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f0 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005factionsubmit_005f0.setKey("LOGIN_CANT_READ");
+    _jspx_th_ui_005factionsubmit_005f0.setAction("cantRead");
+    int _jspx_eval_ui_005factionsubmit_005f0 = _jspx_th_ui_005factionsubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftext_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:text
+    org.gridsphere.provider.portletui.tags.TextTag _jspx_th_ui_005ftext_005f7 = (org.gridsphere.provider.portletui.tags.TextTag) _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.TextTag.class);
+    _jspx_th_ui_005ftext_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftext_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftext_005f7.setKey("CAPTCHA_TEXT");
+    int _jspx_eval_ui_005ftext_005f7 = _jspx_th_ui_005ftext_005f7.doStartTag();
+    if (_jspx_th_ui_005ftext_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftext_005fkey_005fnobody.reuse(_jspx_th_ui_005ftext_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftextfield_005f5(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:textfield
+    org.gridsphere.provider.portletui.tags.TextFieldTag _jspx_th_ui_005ftextfield_005f5 = (org.gridsphere.provider.portletui.tags.TextFieldTag) _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.get(org.gridsphere.provider.portletui.tags.TextFieldTag.class);
+    _jspx_th_ui_005ftextfield_005f5.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftextfield_005f5.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005ftextfield_005f5.setSize(10);
+    _jspx_th_ui_005ftextfield_005f5.setBeanId("captchaTF");
+    int _jspx_eval_ui_005ftextfield_005f5 = _jspx_th_ui_005ftextfield_005f5.doStartTag();
+    if (_jspx_th_ui_005ftextfield_005f5.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftextfield_005fsize_005fbeanId_005fnobody.reuse(_jspx_th_ui_005ftextfield_005f5);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f1 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f1 = _jspx_th_ui_005fframe_005f1.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f1.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f1.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f7(_jspx_th_ui_005fframe_005f1, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f1.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f1 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f1);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f7(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f1, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f7 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f7.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f7.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f1);
+    int _jspx_eval_ui_005ftablerow_005f7 = _jspx_th_ui_005ftablerow_005f7.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f7.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f7.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f14(_jspx_th_ui_005ftablerow_005f7, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f7.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f7 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f7.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f7);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f14(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f7, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f14 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f14.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f14.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f7);
+    int _jspx_eval_ui_005ftablecell_005f14 = _jspx_th_ui_005ftablecell_005f14.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f14.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f14.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005factionsubmit_005f1(_jspx_th_ui_005ftablecell_005f14, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f14.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f14 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f14.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f14);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005factionsubmit_005f1(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f14, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:actionsubmit
+    org.gridsphere.provider.portletui.tags.ActionSubmitTag _jspx_th_ui_005factionsubmit_005f1 = (org.gridsphere.provider.portletui.tags.ActionSubmitTag) _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.get(org.gridsphere.provider.portletui.tags.ActionSubmitTag.class);
+    _jspx_th_ui_005factionsubmit_005f1.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005factionsubmit_005f1.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f14);
+    _jspx_th_ui_005factionsubmit_005f1.setAction("doSaveAccount");
+    _jspx_th_ui_005factionsubmit_005f1.setKey("SAVE");
+    int _jspx_eval_ui_005factionsubmit_005f1 = _jspx_th_ui_005factionsubmit_005f1.doStartTag();
+    if (_jspx_th_ui_005factionsubmit_005f1.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005factionsubmit_005fkey_005faction_005fnobody.reuse(_jspx_th_ui_005factionsubmit_005f1);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/deny_jsp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/deny_jsp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/source/org/apache/jsp/jsp/signup/deny_jsp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,294 @@
+package org.apache.jsp.jsp.signup;
+
+import javax.servlet.*;
+import javax.servlet.http.*;
+import javax.servlet.jsp.*;
+
+public final class deny_jsp extends org.apache.jasper.runtime.HttpJspBase
+    implements org.apache.jasper.runtime.JspSourceDependent {
+
+  private static java.util.List _jspx_dependants;
+
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fform;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005fframe;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablerow;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005ftablecell;
+  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody;
+
+  public Object getDependants() {
+    return _jspx_dependants;
+  }
+
+  public void _jspInit() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fform = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005fframe = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablerow = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005ftablecell = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody = org.apache.jasper.runtime.TagHandlerPool.getTagHandlerPool(getServletConfig());
+  }
+
+  public void _jspDestroy() {
+    _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fform.release();
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.release();
+    _005fjspx_005ftagPool_005fui_005fframe.release();
+    _005fjspx_005ftagPool_005fui_005ftablerow.release();
+    _005fjspx_005ftagPool_005fui_005ftablecell.release();
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.release();
+  }
+
+  public void _jspService(HttpServletRequest request, HttpServletResponse response)
+        throws java.io.IOException, ServletException {
+
+    JspFactory _jspxFactory = null;
+    PageContext pageContext = null;
+    HttpSession session = null;
+    ServletContext application = null;
+    ServletConfig config = null;
+    JspWriter out = null;
+    Object page = this;
+    JspWriter _jspx_out = null;
+    PageContext _jspx_page_context = null;
+
+
+    try {
+      _jspxFactory = JspFactory.getDefaultFactory();
+      response.setContentType("text/html");
+      pageContext = _jspxFactory.getPageContext(this, request, response,
+      			null, true, 8192, true);
+      _jspx_page_context = pageContext;
+      application = pageContext.getServletContext();
+      config = pageContext.getServletConfig();
+      session = pageContext.getSession();
+      out = pageContext.getOut();
+      _jspx_out = out;
+
+      out.write('\n');
+      out.write('\n');
+      out.write('\n');
+      //  portlet:defineObjects
+      javax.portlet.RenderRequest renderRequest = null;
+      javax.portlet.RenderResponse renderResponse = null;
+      javax.portlet.PortletConfig portletConfig = null;
+      org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag _jspx_th_portlet_005fdefineObjects_005f0 = (org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag) _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.get(org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag.class);
+      _jspx_th_portlet_005fdefineObjects_005f0.setPageContext(_jspx_page_context);
+      _jspx_th_portlet_005fdefineObjects_005f0.setParent(null);
+      int _jspx_eval_portlet_005fdefineObjects_005f0 = _jspx_th_portlet_005fdefineObjects_005f0.doStartTag();
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      if (_jspx_th_portlet_005fdefineObjects_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+        _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+        return;
+      }
+      renderRequest = (javax.portlet.RenderRequest) _jspx_page_context.findAttribute("renderRequest");
+      renderResponse = (javax.portlet.RenderResponse) _jspx_page_context.findAttribute("renderResponse");
+      portletConfig = (javax.portlet.PortletConfig) _jspx_page_context.findAttribute("portletConfig");
+      _005fjspx_005ftagPool_005fportlet_005fdefineObjects_005fnobody.reuse(_jspx_th_portlet_005fdefineObjects_005f0);
+      out.write('\n');
+      out.write('\n');
+      if (_jspx_meth_ui_005fform_005f0(_jspx_page_context))
+        return;
+      out.write('\n');
+      out.write('\n');
+    } catch (Throwable t) {
+      if (!(t instanceof SkipPageException)){
+        out = _jspx_out;
+        if (out != null && out.getBufferSize() != 0)
+          out.clearBuffer();
+        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
+      }
+    } finally {
+      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
+    }
+  }
+
+  private boolean _jspx_meth_ui_005fform_005f0(PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:form
+    org.gridsphere.provider.portletui.tags.ActionFormTag _jspx_th_ui_005fform_005f0 = (org.gridsphere.provider.portletui.tags.ActionFormTag) _005fjspx_005ftagPool_005fui_005fform.get(org.gridsphere.provider.portletui.tags.ActionFormTag.class);
+    _jspx_th_ui_005fform_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fform_005f0.setParent(null);
+    int _jspx_eval_ui_005fform_005f0 = _jspx_th_ui_005fform_005f0.doStartTag();
+    if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fform_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fform_005f0.doInitBody();
+      }
+      do {
+        out.write("\n\n    ");
+        if (_jspx_meth_ui_005fmessagebox_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write("\n\n\n    ");
+        if (_jspx_meth_ui_005fframe_005f0(_jspx_th_ui_005fform_005f0, _jspx_page_context))
+          return true;
+        out.write('\n');
+        out.write('\n');
+        int evalDoAfterBody = _jspx_th_ui_005fform_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fform_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fform_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fform.reuse(_jspx_th_ui_005fform_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fmessagebox_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:messagebox
+    org.gridsphere.provider.portletui.tags.MessageBoxTag _jspx_th_ui_005fmessagebox_005f0 = (org.gridsphere.provider.portletui.tags.MessageBoxTag) _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.MessageBoxTag.class);
+    _jspx_th_ui_005fmessagebox_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fmessagebox_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    _jspx_th_ui_005fmessagebox_005f0.setKey("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+    int _jspx_eval_ui_005fmessagebox_005f0 = _jspx_th_ui_005fmessagebox_005f0.doStartTag();
+    if (_jspx_th_ui_005fmessagebox_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fmessagebox_005fkey_005fnobody.reuse(_jspx_th_ui_005fmessagebox_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005fframe_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fform_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:frame
+    org.gridsphere.provider.portletui.tags.FrameTag _jspx_th_ui_005fframe_005f0 = (org.gridsphere.provider.portletui.tags.FrameTag) _005fjspx_005ftagPool_005fui_005fframe.get(org.gridsphere.provider.portletui.tags.FrameTag.class);
+    _jspx_th_ui_005fframe_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005fframe_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fform_005f0);
+    int _jspx_eval_ui_005fframe_005f0 = _jspx_th_ui_005fframe_005f0.doStartTag();
+    if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005fframe_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005fframe_005f0.doInitBody();
+      }
+      do {
+        out.write("\n        ");
+        if (_jspx_meth_ui_005ftablerow_005f0(_jspx_th_ui_005fframe_005f0, _jspx_page_context))
+          return true;
+        out.write("\n    ");
+        int evalDoAfterBody = _jspx_th_ui_005fframe_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005fframe_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005fframe_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005fframe.reuse(_jspx_th_ui_005fframe_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablerow_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005fframe_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablerow
+    org.gridsphere.provider.portletui.tags.TableRowTag _jspx_th_ui_005ftablerow_005f0 = (org.gridsphere.provider.portletui.tags.TableRowTag) _005fjspx_005ftagPool_005fui_005ftablerow.get(org.gridsphere.provider.portletui.tags.TableRowTag.class);
+    _jspx_th_ui_005ftablerow_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablerow_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005fframe_005f0);
+    int _jspx_eval_ui_005ftablerow_005f0 = _jspx_th_ui_005ftablerow_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablerow_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablerow_005f0.doInitBody();
+      }
+      do {
+        out.write("\n            ");
+        if (_jspx_meth_ui_005ftablecell_005f0(_jspx_th_ui_005ftablerow_005f0, _jspx_page_context))
+          return true;
+        out.write("\n        ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablerow_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablerow_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablerow_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablerow.reuse(_jspx_th_ui_005ftablerow_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005ftablecell_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablerow_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:tablecell
+    org.gridsphere.provider.portletui.tags.TableCellTag _jspx_th_ui_005ftablecell_005f0 = (org.gridsphere.provider.portletui.tags.TableCellTag) _005fjspx_005ftagPool_005fui_005ftablecell.get(org.gridsphere.provider.portletui.tags.TableCellTag.class);
+    _jspx_th_ui_005ftablecell_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005ftablecell_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablerow_005f0);
+    int _jspx_eval_ui_005ftablecell_005f0 = _jspx_th_ui_005ftablecell_005f0.doStartTag();
+    if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.SKIP_BODY) {
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.pushBody();
+        _jspx_th_ui_005ftablecell_005f0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
+        _jspx_th_ui_005ftablecell_005f0.doInitBody();
+      }
+      do {
+        out.write("\n                ");
+        if (_jspx_meth_ui_005frendersubmit_005f0(_jspx_th_ui_005ftablecell_005f0, _jspx_page_context))
+          return true;
+        out.write("\n            ");
+        int evalDoAfterBody = _jspx_th_ui_005ftablecell_005f0.doAfterBody();
+        if (evalDoAfterBody != javax.servlet.jsp.tagext.BodyTag.EVAL_BODY_AGAIN)
+          break;
+      } while (true);
+      if (_jspx_eval_ui_005ftablecell_005f0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
+        out = _jspx_page_context.popBody();
+      }
+    }
+    if (_jspx_th_ui_005ftablecell_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005ftablecell.reuse(_jspx_th_ui_005ftablecell_005f0);
+    return false;
+  }
+
+  private boolean _jspx_meth_ui_005frendersubmit_005f0(javax.servlet.jsp.tagext.JspTag _jspx_th_ui_005ftablecell_005f0, PageContext _jspx_page_context)
+          throws Throwable {
+    PageContext pageContext = _jspx_page_context;
+    JspWriter out = _jspx_page_context.getOut();
+    //  ui:rendersubmit
+    org.gridsphere.provider.portletui.tags.RenderSubmitTag _jspx_th_ui_005frendersubmit_005f0 = (org.gridsphere.provider.portletui.tags.RenderSubmitTag) _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.get(org.gridsphere.provider.portletui.tags.RenderSubmitTag.class);
+    _jspx_th_ui_005frendersubmit_005f0.setPageContext(_jspx_page_context);
+    _jspx_th_ui_005frendersubmit_005f0.setParent((javax.servlet.jsp.tagext.Tag) _jspx_th_ui_005ftablecell_005f0);
+    _jspx_th_ui_005frendersubmit_005f0.setRender("doNewUser");
+    _jspx_th_ui_005frendersubmit_005f0.setKey("OK");
+    int _jspx_eval_ui_005frendersubmit_005f0 = _jspx_th_ui_005frendersubmit_005f0.doStartTag();
+    if (_jspx_th_ui_005frendersubmit_005f0.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
+      _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+      return true;
+    }
+    _005fjspx_005ftagPool_005fui_005frendersubmit_005frender_005fkey_005fnobody.reuse(_jspx_th_ui_005frendersubmit_005f0);
+    return false;
+  }
+}

Added: cs/trunk/apps-local/gridsphere/build/jsp/web.inc
===================================================================
--- cs/trunk/apps-local/gridsphere/build/jsp/web.inc	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/jsp/web.inc	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,672 @@
+
+<!--
+Automatically created by Apache Jakarta Tomcat JspC.
+Place this fragment in the web.xml before all icon, display-name,
+description, distributable, and context-param elements.
+-->
+
+    <servlet>
+        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.returnnav_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.returnnav_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.index_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.index_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.redirect_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.redirect_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.returnguestnav_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.returnguestnav_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.logout.logoutnav_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.logout.logoutnav_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.signup.createaccount_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.signup.createaccount_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.signup.deny_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.signup.deny_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.signup.approve_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.signup.approve_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.signup.confirmsave_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.signup.confirmsave_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.about.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.about.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.rss.viewRSS_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.rss.viewRSS_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.rss.edit_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.rss.edit_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.date.date_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.date.date_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.setup.selectDatabase_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.setup.selectDatabase_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.setup.createAdmin_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.setup.createAdmin_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.setup.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.setup.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.setup.updateDatabase_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.setup.updateDatabase_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.news.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.news.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.news.admin_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.news.admin_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.login_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.login_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.newpassword_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.newpassword_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.loginnav_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.loginnav_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.forgotpassword_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.forgotpassword_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.welcome_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.welcome_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.login.createaccount_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.login.createaccount_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.profile.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.profile.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.profile.editpassword_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.profile.editpassword_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.profile.profilenav_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.profile.profilenav_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.profile.viewuser_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.profile.viewuser_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.database_005ferror_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.database_005ferror_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.error_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.error_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.init_005ferror_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.init_005ferror_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.custom_005ferror_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.custom_005ferror_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.notfound_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.notfound_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.errors.unauthorized_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.errors.unauthorized_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.locale.viewlocale_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.locale.viewlocale_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.doEditRole_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.roles.doEditRole_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.roles.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.doViewRolesList_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.roles.doViewRolesList_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.listPortletApps_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.portlets.listPortletApps_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.viewPortletApp_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.portlets.viewPortletApp_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.portlets.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.msgconfig_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.msgconfig_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.errorconfig_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.errorconfig_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.authmodules_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.authmodules_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.mailconfig_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.mailconfig_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.config.loginconfig_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.config.loginconfig_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doSendEmail_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.doSendEmail_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserView_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.doViewUserView_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserList_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.doViewUserList_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserEdit_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.doViewUserEdit_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUser_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.users.doViewUser_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.bar_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.bar_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.content_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.content_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.menu_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.menu_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.frame_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.frame_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.subtab_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.subtab_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.tab_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.admin.layout.tab_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.content.config_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.content.config_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.content.help_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.content.help_jsp</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>org.apache.jsp.jsp.content.view_jsp</servlet-name>
+        <servlet-class>org.apache.jsp.jsp.content.view_jsp</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
+        <url-pattern>/index.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.returnnav_jsp</servlet-name>
+        <url-pattern>/jsp/returnnav.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.index_jsp</servlet-name>
+        <url-pattern>/jsp/index.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.redirect_jsp</servlet-name>
+        <url-pattern>/jsp/redirect.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.returnguestnav_jsp</servlet-name>
+        <url-pattern>/jsp/returnguestnav.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.logout.logoutnav_jsp</servlet-name>
+        <url-pattern>/jsp/logout/logoutnav.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.signup.createaccount_jsp</servlet-name>
+        <url-pattern>/jsp/signup/createaccount.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.signup.deny_jsp</servlet-name>
+        <url-pattern>/jsp/signup/deny.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.signup.approve_jsp</servlet-name>
+        <url-pattern>/jsp/signup/approve.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.signup.confirmsave_jsp</servlet-name>
+        <url-pattern>/jsp/signup/confirmsave.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.about.view_jsp</servlet-name>
+        <url-pattern>/jsp/about/view.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.rss.viewRSS_jsp</servlet-name>
+        <url-pattern>/jsp/rss/viewRSS.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.rss.edit_jsp</servlet-name>
+        <url-pattern>/jsp/rss/edit.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.date.date_jsp</servlet-name>
+        <url-pattern>/jsp/date/date.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.setup.selectDatabase_jsp</servlet-name>
+        <url-pattern>/jsp/setup/selectDatabase.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.setup.createAdmin_jsp</servlet-name>
+        <url-pattern>/jsp/setup/createAdmin.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.setup.view_jsp</servlet-name>
+        <url-pattern>/jsp/setup/view.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.setup.updateDatabase_jsp</servlet-name>
+        <url-pattern>/jsp/setup/updateDatabase.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.news.view_jsp</servlet-name>
+        <url-pattern>/jsp/news/view.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.news.admin_jsp</servlet-name>
+        <url-pattern>/jsp/news/admin.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.login_jsp</servlet-name>
+        <url-pattern>/jsp/login/login.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.newpassword_jsp</servlet-name>
+        <url-pattern>/jsp/login/newpassword.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.loginnav_jsp</servlet-name>
+        <url-pattern>/jsp/login/loginnav.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.forgotpassword_jsp</servlet-name>
+        <url-pattern>/jsp/login/forgotpassword.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.welcome_jsp</servlet-name>
+        <url-pattern>/jsp/login/welcome.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.login.createaccount_jsp</servlet-name>
+        <url-pattern>/jsp/login/createaccount.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.profile.help_jsp</servlet-name>
+        <url-pattern>/jsp/profile/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.profile.editpassword_jsp</servlet-name>
+        <url-pattern>/jsp/profile/editpassword.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.profile.profilenav_jsp</servlet-name>
+        <url-pattern>/jsp/profile/profilenav.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.profile.viewuser_jsp</servlet-name>
+        <url-pattern>/jsp/profile/viewuser.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.database_005ferror_jsp</servlet-name>
+        <url-pattern>/jsp/errors/database_error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.error_jsp</servlet-name>
+        <url-pattern>/jsp/errors/error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.init_005ferror_jsp</servlet-name>
+        <url-pattern>/jsp/errors/init_error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.custom_005ferror_jsp</servlet-name>
+        <url-pattern>/jsp/errors/custom_error.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.notfound_jsp</servlet-name>
+        <url-pattern>/jsp/errors/notfound.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.errors.unauthorized_jsp</servlet-name>
+        <url-pattern>/jsp/errors/unauthorized.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.locale.viewlocale_jsp</servlet-name>
+        <url-pattern>/jsp/locale/viewlocale.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.doEditRole_jsp</servlet-name>
+        <url-pattern>/jsp/admin/roles/doEditRole.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.help_jsp</servlet-name>
+        <url-pattern>/jsp/admin/roles/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.roles.doViewRolesList_jsp</servlet-name>
+        <url-pattern>/jsp/admin/roles/doViewRolesList.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.listPortletApps_jsp</servlet-name>
+        <url-pattern>/jsp/admin/portlets/listPortletApps.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.viewPortletApp_jsp</servlet-name>
+        <url-pattern>/jsp/admin/portlets/viewPortletApp.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.portlets.help_jsp</servlet-name>
+        <url-pattern>/jsp/admin/portlets/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.msgconfig_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/msgconfig.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.errorconfig_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/errorconfig.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.authmodules_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/authmodules.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.mailconfig_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/mailconfig.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.view_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/view.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.config.loginconfig_jsp</servlet-name>
+        <url-pattern>/jsp/admin/config/loginconfig.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.help_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doSendEmail_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/doSendEmail.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserView_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/doViewUserView.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserList_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/doViewUserList.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUserEdit_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/doViewUserEdit.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.users.doViewUser_jsp</servlet-name>
+        <url-pattern>/jsp/admin/users/doViewUser.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.view_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/view.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.bar_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/bar.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.content_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/content.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.menu_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/menu.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.frame_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/frame.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.help_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.subtab_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/subtab.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.admin.layout.tab_jsp</servlet-name>
+        <url-pattern>/jsp/admin/layout/tab.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.content.config_jsp</servlet-name>
+        <url-pattern>/jsp/content/config.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.content.help_jsp</servlet-name>
+        <url-pattern>/jsp/content/help.jsp</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>org.apache.jsp.jsp.content.view_jsp</servlet-name>
+        <url-pattern>/jsp/content/view.jsp</url-pattern>
+    </servlet-mapping>
+
+<!--
+All session-config, mime-mapping, welcome-file-list, error-page, taglib,
+resource-ref, security-constraint, login-config, security-role,
+env-entry, and ejb-ref elements should follow this fragment.
+-->

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-ant-tools-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-ant-tools-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-core-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-core-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-coreportlets-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-coreportlets-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-jsp-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-jsp-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-locale-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-locale-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-api-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portal-api-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portletservlet-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-portletservlet-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-provider-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-provider-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-service-framework-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/lib/gridsphere-service-framework-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/LICENSE.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/LICENSE.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/LICENSE.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,202 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright 2002-2006 Team GridSphere
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/context.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<Context path="/gridsphere" debug="0" reloadable="false" crossContext="true"/>
+
+<!-- 
+
+<Context path="/gridsphere" debug="0" reloadable="false" crossContext="true">
+        <Manager className="org.apache.catalina.session.StandardManager" pathname=""/>
+</Context>
+
+-->

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portlet.tld
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portlet</short-name>
+    <uri>http://java.sun.com/portlet</uri>
+    <display-name>Portlet API</display-name>
+    <description>GridSphere JSR-168 Portlet API Tag library</description>
+
+    <tag>
+        <name>defineObjects</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag</tag-class>
+        <tei-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag$TEI</tei-class>
+        <body-content>empty</body-content>
+        <description>
+            Initializes Core Portlet Objects: RenderRequest, RenderResponse, PortletConfig
+        </description>
+    </tag>
+
+    <tag>
+        <name>renderURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.RenderURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides a render hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>actionURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.ActionURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides action hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>namespace</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.NamespaceTag</tag-class>
+        <body-content>empty</body-content>
+    </tag>
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+</taglib>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portletui.tld
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2453 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portletui</short-name>
+    <uri>/portletUI</uri>
+    <display-name>Portlet UI Tags</display-name>
+    <description>GridSphere Visual Portlet UI Tag Library</description>
+
+    <tag>
+        <name>hasrole</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HasRoleTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            requires the user have the minimum role specified to display content
+        </description>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- @DEPRECATED@ -->
+    <tag>
+        <name>actionparam</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet action link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionsubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imageSrc</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>calendar</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CalendarTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a calendar input widget
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>checkbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CheckboxTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input checkbox tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialogbutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogButtonTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialoglink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileform</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileinput</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileInputTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input file upload tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>form</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>trackme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>exturl</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSubmit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onReset</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>frame</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FrameTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table frame
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>type</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>hiddenfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HiddenFieldTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a hidden text field
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>image</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ImageTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Displays an image
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>src</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>alt</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>include</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.IncludeTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes pages from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actioncomponent</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionComponentTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes action components from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>list</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a list
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            makes a listbox
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>submitOnChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>multiple</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listboxitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxItemTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a listbox item
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>messagebox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.MessageBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an message box
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imagesource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>panel</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PanelTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table pane which contains tableframes
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>password</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PasswordTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>radiobutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RadioButtonTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input radio button tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>renderlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet render link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>rendersubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tabbedpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabbedPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tabbed pane
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tab</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tab
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>table</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>background</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>filter</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>numentries</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tablerow</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableRowTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table row
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>tablecell</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableCellTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table cell
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>colspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>text</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextTag</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textarea</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextAreaTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>texteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays simple text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>viewsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>richtexteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RichTextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a rich text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tree</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TreeTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a tree
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextFieldTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanidsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tooltip</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TooltipTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript tooltip courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action pane
+        </description>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionbody</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionBodyTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action body
+        </description>
+    </tag>
+
+
+    <tag>
+        <name>actionmenu</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu
+        </description>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsible</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsed</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionmenuitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuItemTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu item
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>info</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>group</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.GroupTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a grouping around other items
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>validator</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ValidatorTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Provides a validator tag that can be used inside of a TextFieldTag
+        </description>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portlet</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a portlet
+        </description>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>innerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>outerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>transparent</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portletlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+</taglib>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/README.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+$Id: README.txt 5232 2006-09-01 08:58:44Z novotny $
+
+	Welcome to GridSphere! 
+========================================
+
+Please follow the instructions in the INSTALL file to build GridSphere.
+
+You can also check the online web site 
+(http://www.gridsphere.org) which contains the most up to date 
+information including slides, white papers, and other documentation on 
+using GridSphere and developing portlets. Please check out the slides
+available at http://www.gridsphere.org/gridsphere/gridsphere?cid=docs which
+describe how to set and install GridSphere as well as portlet development 
+and deployment
+
+In addition, please subscribe to the following mail lists from the mailman
+interface at http://lists.gridsphere.org/mailman/listinfo:
+
+gridsphere-users -- Mail list used for the discussion of developing portals using the GridSphere framework
+
+gridsphere-dev -- Mail list used for the discussion of GridSphere framework development
+
+gridsphere-cvs -- Mail list used to receive CVS notifications
+
+To report bugs, please use the bugtracker at http://bugs.gridsphere.org
+
+ Thank you.
+
+The GridSphere Team	http://www.gridsphere.org
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+<h1>Message of the Day</h1>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<div style="padding: 0px 40px;">
+    <h3>Welcome to GridSphere!</h3>
+
+    <p>
+        Thank you for downloading and installing the
+        GridSphere portal.
+    </p>
+
+    <p>
+        Below you will find links to documents relating to GridSphere installation, administration and portlet
+        development.
+    </p>
+    <ul>
+        <li>
+            GridSphere User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/UsersGuide/UsersGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portal Administrator's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/AdminGuide/AdminGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portlet Reference Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/ReferenceGuide/ReferenceGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Tag Library User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/TagGuide/TagGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Frequently Asked Questions
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/FAQ/FAQ.html"
+               target="_blank">(HTML)</a>
+        <li>
+            GridSphere JavaDoc API
+            <a href="http://www.gridsphere.org/gridsphere/docs-3.1/javadocs/index.html"
+               target="_blank">(HTML)</a>
+        </li>
+    </ul>
+    <p>
+        Please join the forums and/or mailing lists for more involvement:
+    </p>
+    <ul>
+        <li><a target="_blank" href="http://forums.gridsphere.org">GridSphere Forums</a> Online forums for discussions
+            related to GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-dev">Developers List</a>
+            Discussions relating to overall GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-users">Users List</a>
+            Discussions on installing and configuring GridSphere.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-svn">SVN List</a> SVN
+            commit information. Very useful if you're a developer.
+        </li>
+    </ul>
+    <p>
+        and please submit bug reports to <a href="http://bugs.gridsphere.org">GridSphere (Jira) bugtracker</a>
+    </p>
+</div>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+<div style="float: right;
+            padding-left: 5px; padding-top: 5px; padding-bottom: 5px">
+
+    <a href="http://www.gridsphere.org">
+        <img height="25" src="/gridsphere/images/PoweredByGridSphere.jpg" alt="PoweredByGridSphere Logo"/>
+    </a>
+
+</div>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+<div class="gridsphere-layout-logo">
+    <img src="/gridsphere/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+
+Configuring the Database
+------------------------
+
+This file contains the hibernate.properties file which configures the 
+database settings used by GridSphere. The default is to use the HsqlDB
+database, a pure java SQL database. 
+
+The default HsqlDB is contained in the file "gridsphere" by default 
+
+To use another database, configure the hibernate.properties file and place 
+the required JDBC driver jar file in the $CATALINA_HOME/common/lib directory
+of Tomcat. Next, invoke the "ant deploy" followed by "ant create-database" 
+commands in the gridsphere directory.
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+hibernate.show_sql=false
+hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
+hibernate.connection.pool_size=40
+hibernate.connection.autocommit=true
+hibernate.connection.shutdown=true
+hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
+
+###########################
+### C3P0 Connection Pool###
+###########################
+hibernate.c3p0.max_size=10
+hibernate.c3p0.min_size=2
+hibernate.c3p0.timeout=5000
+hibernate.c3p0.max_statements=0
+hibernate.c3p0.idle_test_period=3000
+hibernate.c3p0.acquire_increment=2
+#hibernate.c3p0.validate=false
+
+## HSQL
+
+# driver and database provided by gridsphere
+
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+#hibernate.connection.username=sa
+#hibernate.connection.password=
+#hibernate.connection.url=jdbc:hsqldb:/home/cigtg/apps-local/apache-tomcat/webapps/gridsphere/WEB-INF/CustomPortal/database/gridsphere
+##hibernate.connection.url=jdbc:hsqldb:hsql://localhost
+#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+## This will replace the keywords true and false with the literals 1 and 0 in the translated SQL
+#hibernate.query.substitutions=true 1, false 0, yes 'Y', no 'N'
+
+#
+# Below are some templates for other databaseconfigurations.
+#
+# Please make sure you downloaded the correct jdbc driver for
+# your database. Those are NOT provided with gridsphere!
+# Also make sure you have the correct database url and username/password
+#
+
+
+## MySQL
+
+# download jdbc driver from http://www.mysql.com/downloads/api-jdbc.html
+
+hibernate.dialect org.hibernate.dialect.MySQLDialect
+hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+hibernate.connection.driver_class com.mysql.jdbc.Driver
+hibernate.connection.url jdbc:mysql:///gridsphere
+hibernate.connection.username root
+hibernate.connection.password cigmysql
+
+## Mckoi SQL
+
+# download driver and database from http://mckoi.com/database/index.html#Download
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi://localhost/
+#hibernate.connection.username admin_user
+#hibernate.connection.password aupass00
+
+## PostgreSQL
+
+# download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="admindb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/createAdmin.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="setupdb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/selectDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="updatedb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/updateDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5092 2006-08-19 04:17:21Z novotny $
+-->
+
+<page label="admin"
+      title="GridSphere Administration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="configTab" required-role="ADMIN">
+            <title lang="en">Configuration</title>
+            <table label="configTL">
+                <row>
+                    <column width="100%">
+                        <frame label="config">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.config.ConfigPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="portlets" required-role="ADMIN">
+            <title lang="en">Portlets</title>
+            <table label="portletTL">
+                <row>
+                    <column width="100%">
+                        <frame label="portletmanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="users" required-role="ADMIN">
+            <title lang="en">Users</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="usermanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.users.UserManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="roles" required-role="ADMIN">
+            <title lang="en">Roles</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rolemanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                    <column width="20%"/>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>
+                            org.gridsphere.portlets.core.date.DatePortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Content Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="contentmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Error Layout Descriptor
+
+    This descriptor defines the error layout configuration
+
+    $Id: error.xml 5922 2006-12-27 19:03:58Z novotny $
+-->
+
+<page label="error"
+      title="GridSphere Error"
+      editable="false">
+
+    <header>
+        <table>
+            <row>
+                <column width="80%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <content include="/jsp/errors/error.jsp"/>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: guest.xml 6067 2007-02-15 16:40:29Z novotny $
+-->
+
+<page label="guest"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/login/loginnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <content include="jcr://main"/>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Layout Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="layoutmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Logged In User Layout Descriptor
+
+This descriptor defines the user's portal layout upon logging into the portal
+
+$Id$
+-->
+
+<page label="user"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.icon"
+      editable="true"
+      required-role="USER">
+
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="home">
+            <title lang="en">Home</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rss">
+                            <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="login"
+      title="Login"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="login" outer-padding="5% 35%">
+                        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="profile"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="USER">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <title lang="en">Profile</title>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="profilemanager">
+                        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="register"
+      title="Registration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="signup" outer-padding="5% 30%">
+                        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<Repository>
+    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+        <param name="path" value="${rep.home}/repository"/>
+    </FileSystem>
+    <Security appName="Jackrabbit">
+        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
+        </AccessManager>
+
+        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
+            <param name="anonymousId" value="anonymous"/>
+        </LoginModule>
+    </Security>
+
+    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
+    <Workspace name="${wsp.name}">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+            <param name="useCompoundFile" value="true"/>
+            <param name="minMergeDocs" value="100"/>
+            <param name="volatileIdleTime" value="3"/>
+            <param name="maxMergeDocs" value="100000"/>
+            <param name="mergeFactor" value="10"/>
+            <param name="bufferSize" value="10"/>
+            <param name="cacheSize" value="1000"/>
+            <param name="forceConsistencyCheck" value="false"/>
+            <param name="autoRepair" value="true"/>
+            <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
+            <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
+            <param name="idleTime" value="-1"/>
+            <param name="respectDocumentOrder" value="true"/>
+        </SearchIndex>
+    </Workspace>
+    <Versioning rootPath="${rep.home}/version">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${rep.home}/version"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+    </Versioning>
+    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+        <param name="path" value="${rep.home}/repository/index"/>
+    </SearchIndex>
+
+</Repository>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+# can be used to define the port number used for HTTP connections
+gridsphere.port.http=
+
+# can be used to define the port number used for HTTPS connections
+gridsphere.port.https=
+
+# optional can be used to hardcode a host name
+gridsphere.host=
+
+# The following 2 params determine the URL of the gridsphere portal, default is gridsphere/gridsphere
+# This is the name of the gridsphere webapp that is deployed, default is gridsphere
+# Some examples:
+#   http://<host name>/myorg/portal
+#               gridsphere.deploy=myorg, gridsphere.context=portal
+#
+#   http://<host name>/portal
+#               gridsphere.deploy=ROOT, gridsphere.context=portal
+
+gridsphere.deploy=gridsphere
+
+gridsphere.context=gridsphere
+
+# should the login page use https?
+USE_HTTPS_LOGIN=false
+
+# after logging in should a user be redirected to use HTTPS?
+USE_HTTPS_REDIRECT=false
+
+MAIL_SERVER=localhost
+
+MAIL_PORT=25
+
+MAIL_ADDRESS=no-reply at gridsphere.org
+
+PORTAL_ADMIN_EMAIL=no-reply at gridsphere.org
+
+ENABLE_ERROR_HANDLING=false
+
+DEFAULT_THEME=default
+
+SAVE_PASSWORDS=true
+
+SUPPORT_X509_AUTH=false
+
+SEND_USER_FORGET_PASSWD=true
+
+REMEMBER_USER=true
+
+ACCOUNT_NUMTRIES=-1
+
+CAN_USER_CREATE_ACCOUNT=false
+
+ADMIN_ACCOUNT_APPROVAL=false
+
+# use username (true) or email address (false) in login portlet?
+USE_USERNAME_FOR_LOGIN=true
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+
+Initialized Portlet Web Applications
+------------------------------------
+
+When deployed, GridSphere requires access to deployed portlet web applications. Since portlets are
+packaged according to the web application repository (WAR) format defined in the Java 2.3
+Servlet Specification, the names of the WAR files or web applications needs to be added as an empty file
+whose filename is defined by the name of portlet web application to this directory. The filename may
+contain an additional integer suffix ".#" to ensure a priority when the container will load the portlet
+application. By default, you will see *gridsphere.1* which instructs the container to load the set of
+core gridsphere portlets first. Add other portlet applications to load in this directory.
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/GridSphereServices.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,186 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify GridSphere Portlet Services
+
+
+    $Id: GridSphereServices.xml 6274 2007-05-30 13:57:24Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Persistence Manager Service</name>
+        <description lang="en">Provides JDBC Persistence Capabilities using Hibernate</description>
+        <interface>org.gridsphere.services.core.persistence.PersistenceManagerService</interface>
+        <implementation>org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portlet Manager Service</name>
+        <description lang="en">Provides Administration Capabilities for Portlet Web Applications</description>
+        <interface>org.gridsphere.services.core.registry.PortletManagerService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Tomcat Manager Service</name>
+        <description lang="en">Provides Portlet Reloading Capabilities uisng Tomcat manager webapp</description>
+        <interface>org.gridsphere.services.core.tomcat.TomcatManagerService</interface>
+        <implementation>org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>RSS Service</name>
+        <description lang="en">Provides RSS Service</description>
+        <interface>org.gridsphere.services.core.rss.RssService</interface>
+        <implementation>org.gridsphere.services.core.rss.impl.RssServiceImpl</implementation>
+        <service-config>
+            <param-name>cache_time</param-name>
+            <param-value>10</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Portlet Registry Service</name>
+        <description lang="en">Provides Portlet Registry</description>
+        <interface>org.gridsphere.services.core.registry.PortletRegistryService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Authentication Module Service</name>
+        <description lang="en">Provides Authentication Modules</description>
+        <interface>org.gridsphere.services.core.security.auth.AuthModuleService</interface>
+        <implementation>org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Config Service</name>
+        <description lang="en">Provides GridSphere portal configuration settings</description>
+        <interface>org.gridsphere.services.core.portal.PortalConfigService</interface>
+        <implementation>org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Filter Service</name>
+        <description lang="en">Provides portal filters</description>
+        <interface>org.gridsphere.services.core.filter.PortalFilterService</interface>
+        <implementation>org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Content Manager Service</name>
+        <description lang="en">Provides Content Management Capabilities</description>
+        <interface>org.gridsphere.services.core.content.ContentManagerService</interface>
+        <implementation>org.gridsphere.services.core.content.impl.ContentManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Role Manager Service</name>
+        <description lang="en">Provides Role Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.role.RoleManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Group Manager Service</name>
+        <description lang="en">Provides Group Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.group.GroupManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>User Account Manager Service</name>
+        <description lang="en">Provides User Administration Capabilities</description>
+        <interface>org.gridsphere.services.core.user.UserManagerService</interface>
+        <implementation>org.gridsphere.services.core.user.impl.UserManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Password Manager Service</name>
+        <description lang="en">Provides Password Management Capabilities</description>
+        <interface>org.gridsphere.services.core.security.password.PasswordManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>JCR Service</name>
+        <description lang="en">Java Content Repository Service</description>
+        <interface>org.gridsphere.services.core.jcr.JCRService</interface>
+        <implementation>org.gridsphere.services.core.jcr.impl.JCRServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Generic Request Service</name>
+        <description lang="en">Provides Generic Request Capabilities</description>
+        <interface>org.gridsphere.services.core.request.RequestService</interface>
+        <implementation>org.gridsphere.services.core.request.impl.RequestServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Layout Manager Service</name>
+        <description lang="en">Provides Layout Management Capabilities</description>
+        <interface>org.gridsphere.services.core.layout.LayoutManagerService</interface>
+        <implementation>org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Mail Service</name>
+        <description lang="en">Simple e-mail service</description>
+        <interface>org.gridsphere.services.core.mail.MailService</interface>
+        <implementation>org.gridsphere.services.core.mail.impl.MailServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Locale Service</name>
+        <description lang="en">Manages supported list of locales</description>
+        <interface>org.gridsphere.services.core.locale.LocaleService</interface>
+        <implementation>org.gridsphere.services.core.locale.impl.LocaleServiceImpl</implementation>
+        <service-config>
+            <param-name>display-locale</param-name>
+            <param-value>en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Timer Service</name>
+        <description lang="en">Timer Service</description>
+        <interface>org.gridsphere.services.core.timer.TimerService</interface>
+        <implementation>org.gridsphere.services.core.timer.impl.TimerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Cache Service</name>
+        <description lang="en">Cache Service</description>
+        <interface>org.gridsphere.services.core.cache.CacheService</interface>
+        <implementation>org.gridsphere.services.core.cache.impl.CacheServiceImpl</implementation>
+        <service-config>
+            <param-name>isCachingOn</param-name>
+            <param-value>true</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Secure Directory Service</name>
+        <description lang="en">Provides Secure Directory Capabilities</description>
+        <interface>org.gridsphere.services.core.secdir.SecureDirectoryService</interface>
+        <implementation>org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Chart Service</name>
+        <description lang="en">Provides chart generation and management capabilities</description>
+        <interface>org.gridsphere.services.core.charts.ChartService</interface>
+        <implementation>org.gridsphere.services.core.charts.impl.ChartServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Settings Service</name>
+        <description lang="en">GridSphere settings service</description>
+        <interface>org.gridsphere.services.core.customization.SettingsService</interface>
+        <implementation>org.gridsphere.services.core.customization.impl.SettingsServiceImpl</implementation>
+    </service>
+
+</portlet-services>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/authmodules.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Authentication Modules
+
+    This descriptor defines the authentication modules supported
+
+    $Id: authmodules.xml 6192 2007-03-08 14:47:55Z wehrens $
+-->
+
+<auth-modules>
+
+    <auth-module>
+        <name>GridSphere Password</name>
+        <description lang="en">Hashed password based authentication using GridSphere database</description>
+        <description lang="ja">GridSphereデータベースを用いたハッシュベースのパスワード認証</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule</implementation>
+        <active>true</active>
+        <priority>100</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Password is not provided</error>
+        <error key="key2" lang="en">Incorrect password provided</error>
+        <error key="key1" lang="ja">パスワードが入力されていません</error>
+        <error key="key2" lang="ja">間違ったパスワードが入力されました</error>
+        <error key="key1" lang="es">No fué proporcionada la Contraseña</error>
+        <error key="key2" lang="es">La contraseña proporcionada, es incorrecta</error>
+    </auth-module>
+
+    <auth-module>
+        <name>GridSphere JAAS</name>
+        <description lang="en">Use the Java Authentication and Authorization Framework</description>
+        <description lang="ja">Java認証&授権フレームワーク(Java Authentication and Authorization Framework)を使用</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule</implementation>
+        <active>false</active>
+        <priority>40</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Account Expired</error>
+        <error key="key2" lang="en">Credentials Expired</error>
+        <error key="key3" lang="en">Unexpected Error</error>
+        <error key="key1" lang="ja">アカウント失効</error>
+        <error key="key2" lang="ja">信用証明書失効</error>
+        <error key="key3" lang="ja">予期せぬエラー</error>
+        <error key="key1" lang="es">La cuenta ha expiradi</error>
+        <error key="key2" lang="es">Credenciales expiradas</error>
+        <error key="key3" lang="es">Error Inesperado</error>
+    </auth-module>
+
+</auth-modules>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/filters.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Portal Filters
+
+    This descriptor defines the portal filters supported
+
+    $Id$
+-->
+
+<portal-filters>
+
+    <filter>
+        <name>GridSphere Cookie Filter</name>
+        <description lang="en">GridSphere "Remember Me" functionality used in Login Portlet</description>
+        <implementation>org.gridsphere.services.core.filter.impl.RememberMeCookieFilter</implementation>
+        <active>true</active>
+        <!-- configure cookie expiration time in seconds -->
+        <filter-param>
+            <param-name>COOKIE_EXPIRATION_TIME</param-name>
+            <param-value>604800</param-value>
+        </filter-param>
+    </filter>
+
+</portal-filters>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry" table="authentry">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleClassName" column="moduleclassname"  type="string"/>
+        <property name="UserId"          column="userid"           type="string"/>
+
+        <map name="attributes"       table="authmoduleattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition" table="authmoddef">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleName" column="authmodulename"  type="string"/>
+        <property name="ModuleImplementation" column="authmoduleclassname"  type="string"/>
+        <property name="ModulePriority" column="authmodulepriority"  type="integer"/>
+        <property name="ModuleActive" column="authmoduleactive"  type="boolean"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.password.impl.PasswordImpl"
+        table="gspassword"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="value" type="string" column="value"/>
+        <property name="hint" type="string" column="hint"/>
+        <property name="lifetime" column="lifetime"/>
+        <property name="dateExpires" column="dateexpires"/>
+        <property name="dateCreated" column="datecreated"/>
+        <property name="dateLastModified" column="datelastmodified"/>
+    <!--    <property name="userName" column="username"/>  -->
+        <many-to-one
+            name="sportletUser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+    </class>
+
+            
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"
+        table="persistencepreferenceattribute"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="name" type="string" column="name"/>
+
+        <property name="readOnly" type="boolean" column="readonly"/>
+
+        <list name="values" table="portletprefattrvalues" lazy="false">
+            <cache usage="read-write"/>
+            <key column="value_oid"/>
+            <index/>
+            <element column="value" type="string"/>
+        </list>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+        name="org.gridsphere.services.core.security.group.PortletGroup"
+        table="sportletgroup"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="Name" type="string" column="name"/>
+        <property name="Description" type="string" column="description"/>
+        <property name="Public" type="boolean" column="ispublic"/>
+        <property name="Core" type="boolean" column="iscore"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PortletPreferencesImpl"
+        table="portletpreferencesimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="userId" type="string" column="userid"/>
+        <property name="portletId" type="string" column="portletid"/>
+
+        <map name="attributes" table="portletprefattr" cascade="all">
+            <cache usage="read-write"/>
+            <key column="attribute_oid"/>
+            <index column="attribute_ndx" type="string"/>
+            <many-to-many column="attr_oid" class="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+            name="org.gridsphere.services.core.security.role.PortletRole"
+            table="portletrole"
+            >
+        <cache usage="read-write"/>
+        <id
+                name="oid"
+                column="gsoid"
+                type="java.lang.String"
+                length="32"
+                >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="Name" type="string" column="rolename" not-null="true"/>
+        <property name="Description" type="string" column="description" not-null="true"/>
+        <property name="IsDefault" type="java.lang.Integer" column="isdefault"/>
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.user.impl.UserImpl"
+        table="sportletuserimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="UserID" type="string" column="userid"/>
+        <property name="LastName" type="string" column="familyname"/>
+        <property name="FullName" type="string" column="fullname"/>
+        <property name="FirstName" type="string" column="givenname"/>
+        <property name="EmailAddress" type="string" column="emailaddress"/>
+        <property name="Organization" type="string" column="organization"/>
+        <property name="NumLogins" type="integer" column="numlogins"/>
+        <property name="LastLoginTime" column="lastlogintime"/>
+        <map name="attributes" table="sportletuserattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.request.impl.GenericRequest"
+        table="gsrequest"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="userID" type="string" column="userid"/>
+        <property name="label" type="string" column="label"/>
+        <property name="lifetime" type="timestamp" column="lifetime"/>
+        <map name="attributes" table="requestattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.group.impl.UserGroup"
+        table="grouprequestimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="group"
+            column="sportletgroup"
+            class="org.gridsphere.services.core.security.group.PortletGroup">
+        </many-to-one>
+        <!-- deprecated -->
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+        <!-- deprecated -->
+        <property name="roleName" type="string" column="roleName"/>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.role.impl.UserRole"
+        table="userroles"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/portlet.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <description xml:lang="en">GridSphere Configuration</description>
+        <portlet-name>ConfigPortlet</portlet-name>
+        <display-name xml:lang="en">GridSphere Configuration</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.config.ConfigPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>GridSphere Configuration</title>
+            <short-title>Configuration</short-title>
+            <keywords>gridsphere configuration</keywords>
+        </portlet-info>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">برنامج يزود خدمة التاريخ</description>
+        <description xml:lang="en">Portlet provides date capabilities</description>
+        <description xml:lang="es">Portlet proporciona las capacidades de la fecha</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnost dohvata datuma</description>
+        <description xml:lang="ja">Portletは日時機能を提供します</description>
+        <description xml:lang="nl">Portlet biedt datum functionaliteiten</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>DatePortlet</portlet-name>
+        <display-name xml:lang="en">DatePortlet</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <resource-bundle>Date.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">البرنامج الذي يمكن من الدخول للنظام</description>
+        <description xml:lang="cs">Portlet pro přihlášení uživatele do systému</description>
+        <description xml:lang="de">Anmelden Portlet ermöglicht das Anmelden</description>
+        <description xml:lang="en">Portlet provides login capabilities</description>
+        <description xml:lang="es">Portlet proporciona capacidades de conexión</description>
+        <description xml:lang="fr">Ce Portlet permet de faire un login</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnosti ulaza korisnika u portal</description>
+        <description xml:lang="hu">A portlet a portálba való bejelentkezésre szolgál</description>
+        <description xml:lang="it">La Portlet fornisce funzionalità di login</description>
+        <description xml:lang="ja"></description>
+        <description xml:lang="nl">Portlet biedt login mogelijkheden</description>
+        <description xml:lang="pl">Portlet umożliwia zalogowanie się</description>
+        <description xml:lang="zh">门件提供了登录功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Login</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Login.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Portlet provides registration capabilities</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>Signup</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <resource-bundle>Signup.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">إختيار اللغة</description>
+        <description xml:lang="cs">Vybírá místní nastavení</description>
+        <description xml:lang="de">Wählt eine Spracheinstellungen</description>
+        <description xml:lang="en">Selects a locale</description>
+        <description xml:lang="es">Seleccione un lugar</description>
+        <description xml:lang="fr">Sélectionne un locale</description>
+        <description xml:lang="hr">Portlet omogućava administriranje jezika</description>
+        <description xml:lang="hu">Nyelv választása</description>
+        <description xml:lang="it">Seleziona una localizzazione</description>
+        <description xml:lang="ja">言語を選択して下さい</description>
+        <description xml:lang="nl">Selecteer een landinstelling</description>
+        <description xml:lang="pl">Wybór lokalizacji</description>
+        <description xml:lang="zh">选择一门语言</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>LocalePortlet</portlet-name>
+        <display-name xml:lang="en">Locale Portlet</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Locale.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <description xml:lang="en">Displays RSS feeds</description>
+        <portlet-name>RSSPortlet</portlet-name>
+        <display-name xml:lang="en">News Portlet</display-name>
+        <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>News</title>
+            <short-title>News</short-title>
+            <keywords>RSS, news</keywords>
+        </portlet-info>
+        <portlet-preferences>
+            <preference>
+                <name>feedurl</name>
+                <value>http://rss.news.yahoo.com/rss/topstories</value>
+                <value>http://rss.cnn.com/rss/cnn_topstories.rss</value>
+                <value>http://digg.com/rss/index.xml</value>
+                <value>http://www.theserverside.com/rss/theserverside-rss2.xml</value>
+                <read-only>false</read-only>
+            </preference>
+        </portlet-preferences>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Displays Message of the Day</description>
+        <portlet-name>Message of the Day</portlet-name>
+        <display-name xml:lang="en">Message of the Day</display-name>
+        <portlet-class>org.gridsphere.portlets.core.news.NewsPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Message of the Day</title>
+            <short-title>Message</short-title>
+            <keywords>Message of the day, news</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">About GridSphere</description>
+        <portlet-name>AboutGridSphere</portlet-name>
+        <display-name xml:lang="en">About GridSphere</display-name>
+        <portlet-class>org.gridsphere.portlets.core.about.AboutPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>About</title>
+            <short-title>About GridSphere</short-title>
+            <keywords>about, gridsphere</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Content Repository Management</description>
+        <portlet-name>ContentManagement</portlet-name>
+        <display-name xml:lang="en">Content Repository Management</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Content Management</title>
+            <short-title>Content Mgmnt</short-title>
+            <keywords>jcr, content, jsr170</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="ar">يمكن مدير النظام من إدارة حسابات المستخدمين</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat uživatelské účty</description>
+        <description xml:lang="de">Ermöglicht das Administrieren von Nutzerkonten</description>
+        <description xml:lang="en">Enables portal administrators to administer user accounts</description>
+        <description xml:lang="es">Permite a administradores del portal, administrar cuentas de usuario</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les comptes usagers</description>
+        <description xml:lang="hr">Portlet omogućava administriranje korisnika</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, a felhasználók adminisztrációját
+        </description>
+        <description xml:lang="it">Permette agli gestire del portale di amministrare gli account utente</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie kontami użytkowników</description>
+        <description xml:lang="zh">使门户网站管理者能够管理用户帐号</description>
+        <portlet-name>UserAccountManager</portlet-name>
+        <display-name xml:lang="en">User Account Manager</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.users.UserManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>UserManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Enables portal administrators to manage security roles</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren los Roles de seguridad
+        </description>
+        <description xml:lang="hr">Portlet omogućava administriranje uloga</description>
+        <description xml:lang="ja">ポータル管理者にセキュリティ権限管理機能を提供します</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>RoleManager</portlet-name>
+        <display-name xml:lang="en">Role Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <resource-bundle>RoleManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">تعديل ملف المستخدمين</description>
+        <description xml:lang="cs">Nastavuje profily uživatelů</description>
+        <description xml:lang="de">Anpassung der Benutzerprofile</description>
+        <description xml:lang="en">Customizes users profile</description>
+        <description xml:lang="es">Personalizacion de Perfiles de Usuarios</description>
+        <description xml:lang="fr">Permet de gérer les profiles</description>
+        <description xml:lang="hr">Portlet omogućava administriranje profila</description>
+        <description xml:lang="hu">Lehetővé teszi a felhasználók számára, saját beállításaik szerkesztését</description>
+        <description xml:lang="it">Personalizza il profilo utente</description>
+        <description xml:lang="ja">ユーザープロファイルをカスタマイズ</description>
+        <description xml:lang="nl">Beheer gebruikersprofielen</description>
+        <description xml:lang="pl">Dostosowywanie profili użytkownika</description>
+        <description xml:lang="zh">定制用户成形</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>ProfileManager</portlet-name>
+        <display-name xml:lang="en">Profile Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>ProfileManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن مدير النظام لإدارة البرامج</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat portlety</description>
+        <description xml:lang="de">Ermöglicht Portal-Administratoren Portlets zu verwalten</description>
+        <description xml:lang="en">Enables portal administrators to manage portlets</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren el portlets</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les applications</description>
+        <description xml:lang="hr">Portlet omogućava administriranje portleta</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, portletek kezelését</description>
+        <description xml:lang="it">Consente agli amministratori del portale di gestire le portlet</description>
+        <description xml:lang="ja">ポータル管理者にportletの管理機能を提供する</description>
+        <description xml:lang="nl">Portal administratoren kunnen portlets beheren</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie portletami</description>
+        <description xml:lang="zh">使门户网站管理者管理门件</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Portlet Application Manager</portlet-name>
+        <display-name xml:lang="en">Portlet Application Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supports>
+            <mime-type>text/plain</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>PortletApplicationManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن المستخدم لتعديل التنسيق</description>
+        <description xml:lang="cs">Poskytuje uživatelem nastavitelné umístění portletů</description>
+        <description xml:lang="de">Ermöglicht die benutzerspezifische Anpassung der Darstellung</description>
+        <description xml:lang="en">Provides administrative layout customization</description>
+        <description xml:lang="es">Proporciona la personalizacion del esquema administrativo</description>
+        <description xml:lang="fr">Permet a l'usager de modifier le layout</description>
+        <description xml:lang="hr">Portlet omogućava administriranje izgleda</description>
+        <description xml:lang="hu">Lehetővé teszi a portletekből egyéni weblapok felépítését</description>
+        <description xml:lang="it">Consente la personalizzazione del layout utente</description>
+        <description xml:lang="ja">管理上のレイアウトカスタマイズ</description>
+        <description xml:lang="nl">Gebruikers kunnen hun eigen layout bepalen</description>
+        <description xml:lang="pl">Udostępnia użytkownikowi dostosowywanie układów graficznych</description>
+        <description xml:lang="zh">提供了用户版面定制化功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Layout Manager</portlet-name>
+        <display-name xml:lang="en">Layout Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>LayoutManager.Portlet</resource-bundle>
+    </portlet>
+
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>config</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Last Name</description>
+        <name>user.name.last</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User First Name</description>
+        <name>user.name.first</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+</portlet-app>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ $Id: web.xml 6104 2007-02-21 08:30:48Z wehrens $
+-->
+<!DOCTYPE web-app
+        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+        "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+
+<web-app>
+
+    <display-name>GridSphere Portlet Container</display-name>
+
+    <description>
+        GridSphere Portlet Container
+    </description>
+
+    <!-- this is needed for clustering of multiple Tomcats -->
+    <distributable/>
+
+    <filter>
+        <filter-name>GridSphere Filter</filter-name>
+        <filter-class>org.gridsphere.servlets.GridSphereFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>GridSphere Filter</filter-name>
+        <url-pattern>/gridsphere/*</url-pattern>
+    </filter-mapping>
+
+    <listener>
+        <listener-class>org.gridsphere.servlets.GridSphereServlet</listener-class>
+    </listener>
+
+
+    <servlet>
+        <servlet-name>gridsphere</servlet-name>
+        <servlet-class>org.gridsphere.servlets.GridSphereServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>setup</servlet-name>
+        <servlet-class>org.gridsphere.servlets.SetupServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Captcha</servlet-name>
+        <display-name>Captcha</display-name>
+        <servlet-class>nl.captcha.servlet.CaptchaServlet</servlet-class>
+    </servlet>
+
+    <!-- PRECOMPILED JSP (if any)-->
+
+    
+
+    <servlet-mapping>
+        <servlet-name>gridsphere</servlet-name>
+        <url-pattern>/gs/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>setup</servlet-name>
+        <url-pattern>/setup/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>PortletServlet</servlet-name>
+        <url-pattern>/jsr/gridsphere</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>Captcha</servlet-name>
+        <url-pattern>/Captcha.jpg</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+    <mime-mapping>
+        <extension>wbmp</extension>
+        <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wml</extension>
+        <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wmls</extension>
+        <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+    <!-- the 401 page -->
+    <error-page>
+        <error-code>401</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 403 page -->
+    <error-page>
+        <error-code>403</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 404 page -->
+    <error-page>
+        <error-code>404</error-code>
+        <location>/ErrorLayout&amp;errorPage=notfound.jsp</location>
+    </error-page>
+
+
+    <!-- for internal errors -->
+    <!--
+    <error-page>
+        <exception-type>java.lang.Throwable</exception-type>
+        <location>/gridsphere?gs_PageLayout=ErrorLayout&amp;errorPage=error.jsp</location>
+    </error-page>
+    -->
+
+</web-app>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/SimpleTextEditor.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+.ste .bar { background: #ECE9D8; padding: 3px; border: #ACA899 1px; border-style: solid solid none solid; }
+.ste .frame { border: 1px solid; border-color: #716F64 #ECE9D8 #ECE9D8 #716F64; }
+.ste .frame iframe { width: 500px; height: 300px; }
+.ste img { border: 0; }
+.ste .button { padding: 1px; border: #ECE9D8 1px solid; }
+.ste .button-hover { padding: 1px; border: 1px solid; border-color: #ffffff #ACA899 #ACA899 #ffffff; }
+.ste .button-click { padding: 1px; border: 1px solid; border-color: #ACA899 #ffffff #ffffff #ACA899; }
+.ste .separator { width: 0px; height: 18px; border-left: #aca899 1px solid; border-right: #ffffff 1px solid; margin: 0 5px; }
+.ste .source { padding-top: 5px; }
+
+.cal {
+  width: 20px;
+  height: 20px;
+  margin: 0;
+  padding: 0;
+  border: 0;
+  background: transparent url(../images/calendar/scw.gif) no-repeat center top;
+  text-indent: -1000em;
+  cursor: pointer; /* hand-shaped cursor */
+  cursor: hand; /* for IE 5.x */
+}
+
+
+.scw       {padding:1px;vertical-align:middle;}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/ResizePanel.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+.panel {
+	overflow:visible;
+}
+
+.panel .bd {
+	overflow:auto;
+}
+
+.panel .ft {
+	padding:0px;
+	height:4px;
+	font-size:4px;
+	background-color:#CCC;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/container.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/container.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/container.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,211 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+.overlay {
+	position:absolute;
+	display:block;
+}
+
+.tt {
+	visibility:hidden;
+	position:absolute;
+	color:#333;
+	background-color:#FDFFB4;
+	font-family:arial,helvetica,verdana,sans-serif;
+	padding:2px;
+	border:1px solid #FCC90D;
+	font:100% sans-serif;
+	width:auto;
+}
+
+* html body.masked select {
+	visibility:hidden;
+}
+
+* html div.panel-container select {
+	visibility:inherit;
+}
+
+* html div.drag select {
+	visibility:hidden;
+}
+
+* html div.hide-select select {
+	visibility:hidden;
+}
+
+.mask {
+	z-index:0;   
+	display:none;
+	position:absolute;
+	top:0;
+	left:0;
+	-moz-opacity: 0.5;
+	opacity:.50;
+	filter: alpha(opacity=50);
+	background-color:#CCC;
+}
+
+.hide-scrollbars * {
+	overflow:hidden;
+}
+
+.hide-scrollbars textarea, .hide-scrollbars select {
+	overflow:hidden;
+	display:none;
+}
+
+.show-scrollbars textarea, .show-scrollbars select {
+	overflow:visible;
+}
+
+.panel-container {
+	position:absolute;
+	background-color:transparent;
+	z-index:6;
+	visibility:hidden;
+	overflow:visible;
+	width:auto;
+}
+
+.panel-container.matte {
+	padding:3px;
+	background-color:#FFF;
+}
+
+.panel-container.matte .underlay {
+	display:none;
+}
+
+.panel-container.shadow {
+	padding:0px;
+	background-color:transparent;
+}
+
+.panel-container.shadow .underlay {
+	visibility:inherit;
+	position:absolute;
+	background-color:#CCC;
+	top:3px;left:3px;
+	z-index:0;
+	width:100%;
+	height:100%;
+	-moz-opacity: 0.7;
+	opacity:.70;
+	filter:alpha(opacity=70);
+	zoom:1;
+}
+
+.panel {
+	visibility:hidden;
+	border-collapse:separate;
+	position:relative;
+	left:0px;top:0px;
+	font:1em Arial;
+	background-color:#FFF;
+	border:1px solid #000;
+	z-index:1;
+	overflow:hidden;
+}
+
+.panel .hd {
+	background-color:#3d77cb;
+	color:#FFF;
+	font-size:100%;
+	line-height:100%;
+	border:1px solid #FFF;
+	border-bottom:1px solid #000;
+	font-weight:bold;
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd {
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd p {
+	margin:0 0 1em;
+}
+
+.panel .close {
+	position:absolute;
+	top:5px;
+	right:4px;
+	z-index:6;
+	height:12px;
+	width:12px;
+	margin:0px;
+	padding:0px;
+	background-repeat:no-repeat;
+	cursor:pointer;
+	visibility:inherit;
+}
+
+.panel .close.nonsecure {
+	background-image:url(http://us.i1.yimg.com/us.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .close.secure {
+	background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .ft {
+	padding:4px;
+	overflow:hidden;
+}
+
+.simple-dialog .bd .icon {
+	background-repeat:no-repeat;
+	width:16px;
+	height:16px;
+	margin-right:10px;
+	float:left;
+}
+
+.dialog .ft, .simple-dialog .ft {
+	padding-bottom:5px;
+	padding-right:5px;
+	text-align:right;
+}
+
+.dialog form, .simple-dialog form {
+	margin:0;
+}
+
+.button-group button {
+	font:100 76% verdana;
+	text-decoration:none;
+	background-color: #E4E4E4;
+	color: #333;
+	cursor: hand;
+	vertical-align: middle;
+	border: 2px solid #797979;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+	margin:2px;
+	padding:2px;
+}
+
+.button-group button.default {
+	font-weight:bold;
+}
+
+.button-group button:hover, .button-group button.hover { 
+	border:2px solid #90A029;
+	background-color:#EBF09E;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+}
+
+.button-group button:active { 
+	border:2px solid #E4E4E4;
+	background-color:#BBB;
+	border-top-color:#333;
+	border-left-color:#333;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/fonts.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+
+/**
+ * 84.5% for !IE, keywords for IE
+ * Percents could work for IE, but for backCompat purposes, we are using
+ keywords.
+ * x-small is for IE < 6 and IE6 quirks mode.
+ *
+ */
+body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-
+small;}
+table {font-size:inherit;font:100%;}
+
+/**
+ * 99% for safari; 100% is too large
+ */
+select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
+
+/**
+ * Bump up !IE to get to 13px equivalent
+ */
+pre, code {font:115% monospace;*font-size:100%;}
+
+/**
+ * Default line-height based on font-size rather than "computed-value"
+ * see: http://www.w3.org/TR/CSS21/visudet.html#line-height
+ */
+body * {line-height:1.22em;}
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/menu.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,299 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/* Menu styles */
+
+div.yuimenu {
+
+    z-index:1;
+    visibility:hidden;
+    background-color:#f6f7ee;
+    border:solid 1px #c4c4be;
+    padding:1px;
+    
+}
+
+
+/* MenuBar Styles */
+
+div.yuimenubar {
+
+    background-color:#f6f7ee;
+    
+}
+
+/*
+    Application of "zoom:1" triggers "haslayout" in IE so that the module's
+    body clears its floated elements
+*/
+div.yuimenubar div.bd {
+
+    zoom:1;
+
+}
+
+/*
+    Clear the module body for other browsers
+*/
+div.yuimenubar div.bd:after {
+
+    content:'.';
+    display:block;
+    clear:both;
+    visibility:hidden;
+    height:0;
+
+}
+
+
+/* Matches the group title (H6) inside a Menu or MenuBar instance */
+
+div.yuimenu h6,
+div.yuimenubar h6 { 
+
+    font-size:100%;
+    font-weight:normal;    
+    margin:0;
+    border:solid 1px #c4c4be;
+    color:#b9b9b9;    
+
+}
+
+div.yuimenubar h6 {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    padding:4px 12px;
+    border-width:0 1px 0 0;
+    
+}
+
+div.yuimenu h6 {
+
+    float:none;
+    display:block;
+    border-width:1px 0 0 0;
+    padding:5px 10px 0 10px;
+
+}
+
+
+/* Matches the UL inside a Menu or MenuBar instance */
+
+div.yuimenubar ul {
+
+    list-style-type:none;
+    margin:0;
+    padding:0;
+
+}
+
+div.yuimenu ul {
+
+    list-style-type:none;
+    border:solid 1px #c4c4be;
+    border-width:1px 0 0 0;
+    margin:0;
+    padding:10px 0;
+
+}
+
+
+div.yuimenu ul.first-of-type, 
+div.yuimenu ul.hastitle,
+div.yuimenu h6.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* MenuItem and MenuBarItem styles */
+
+div.yuimenu li,
+div.yuimenubar li {
+
+    font-size:85%;
+    cursor:pointer;
+    cursor:hand;
+    white-space:nowrap;
+    text-align:left;
+
+}
+
+div.yuimenu li.yuimenuitem {
+
+    padding:2px 24px;
+    
+}
+
+div.yuimenu li li,
+div.yuimenubar li li {
+
+    font-size:100%;
+
+}
+
+
+/* Matches the help text for a menu item */
+
+div.yuimenu li em {
+
+    font-style:normal;
+    margin:0 0 0 40px;
+
+}
+
+div.yuimenu li a em {
+
+    margin:0;
+
+}
+
+div.yuimenu li a,
+div.yuimenubar li a {
+    
+    /*
+        "zoom:1" triggers "haslayout" in IE to ensure that the mouseover and 
+        mouseout events bubble to the parent LI in IE.
+    */
+    zoom:1;
+    color:#000;
+    text-decoration:none;
+    
+}
+
+div.yuimenu li.hassubmenu,
+div.yuimenu li.hashelptext {
+
+    text-align:right;
+
+}
+
+div.yuimenu li.hassubmenu a.hassubmenu,
+div.yuimenu li.hashelptext a.hashelptext {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    text-align:left;
+
+}
+
+
+/* Matches focused and selected menu items */
+
+div.yuimenu li.selected,
+div.yuimenubar li.selected {
+
+    background-color:#8c8ad0;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenubar li.selected a.selected {
+
+    text-decoration:underline;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenu li.selected em.selected, 
+div.yuimenubar li.selected a.selected {
+
+    color:#fff;
+
+}
+
+
+/* Matches disabled menu items */
+
+div.yuimenu li.disabled, 
+div.yuimenubar li.disabled {
+
+    cursor:default;
+
+}
+
+div.yuimenu li.disabled a.disabled,
+div.yuimenu li.disabled em.disabled,
+div.yuimenubar li.disabled a.disabled {
+
+    color:#b9b9b9;
+    cursor:default;
+    
+}
+
+div.yuimenubar li.yuimenubaritem {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    border-width:0 0 0 1px;
+    border-style:solid;
+    border-color:#c4c4be;
+    padding:4px 24px;
+    margin:0;
+
+}
+
+div.yuimenubar li.yuimenubaritem.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* Matches the submenu indicator for menu items */
+
+div.yuimenubar li.yuimenubaritem img {
+
+    height:8px;
+    width:8px;
+    margin:0 0 0 10px;
+    vertical-align:middle;
+
+}
+
+div.yuimenu li.yuimenuitem img {
+
+    height:8px;
+    width:8px;
+    margin:0 -16px 0 10px;
+    border:0;
+
+    *margin-left:0;
+    *border-left-width:10px;
+    *border-style:solid;
+    *border-color:#f6f7ee;
+
+}
+
+div.yuimenu li.yuimenuitem.selected img.selected {
+
+    *border-color:#8c8ad0;
+
+}
+
+div.yuimenu li.checked {
+
+    position:relative;
+
+}
+
+div.yuimenu li.checked img.checked {
+
+    height:8px;
+    width:8px;
+    margin:0;
+    border:0;
+    position:absolute;
+    left:6px;
+    _left:-16px; /* Underscore hack b/c this is for IE 5.5 and IE 6 only */
+    top:.5em;
+    
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/reset.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
+table{border-collapse:collapse;border-spacing:0;}
+fieldset,img{border:0;}
+address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
+ol,ul {list-style:none;}
+caption,th {text-align:left;}
+h1,h2,h3,h4,h5,h6{font-size:100%;}
+q:before,q:after{content:'';}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/error.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/error.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/error.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+
+<p>An error ccoured!</p>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/test.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/test.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/test.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	<title>GridSphere AJAX Test Portal</title>
+	<meta name='keywords' content='gridsphere' />
+	<meta http-equiv="Pragma" content="no-cache" />
+	<link type="text/css" href="/gridsphere/themes/standard/default/css/default.css" rel="stylesheet"/>
+	<link rel="stylesheet" type="text/css" href="/gridsphere/css/SimpleTextEditor.css"/>
+	<link rel="icon" href="images/favicon.ico" type="imge/x-icon"/>
+	<link rel="shortcut icon" href="/gridsphere/images/favicon.ico" type="image/x-icon"/>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/SimpleTextEditor.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/scw.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/validation.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/yahoo.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/connection.js"></script>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere_ajax.js"></script>
+	</head>
+	<body onload="GridSphereAjaxHandler.loadPortlets();">
+<div id="page">
+<!-- START MODERN TABLE --><div class="header" ><!-- START MODERN ROW --><div class="row" >
+<div class="column" style="width: 85%"><div id="page-logo" style="padding-top: 3px; padding-left: 8px; padding-right: 5px; padding-bottom: 1px;">
+<img src="/gridsphere/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
+</div>
+<div class="column" style="width: 15%">
+
+</div></div><!-- END MODERN ROW -->
+</div><!-- END MODERN TABLE -->
+
+
+
+Welcome to the site!
+
+<!-- add a portlet!!! -->
+<div id="portlet#demo#AJAXHelloPortlet"></div>
+
+
+
+
+
+
+
+
+
+</div>
+</body></html>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor/help.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor/help.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/html/texteditor/help.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Help</title>
+    <style type="text/css">
+    body { background: #ECE9D8; margin: 1em; padding: 0; }
+    h1 { font-size: 125%; }
+    h2 { font-size: 100%; }
+    p, ul { margin: 0.5em 0; padding: 0; }
+    ul { list-style-type: none; }
+    </style>
+</head>
+<body>
+
+    <h1>Help</h1>
+
+    <h2>Buttons:</h2>
+
+    <ul>
+        <li>Insert Link - works only on selected text</li>
+    </ul>
+
+    <h2>Keyboard shortcuts:</h2>
+
+    <ul>
+        <li>ctrl+c - copy</li>
+        <li>ctrl+v - paste</li>
+        <li>ctrl+x - cut</li>
+        <li>ctrl+z - undo</li>
+        <li>ctrl+shift+z - redo</li>
+        <li>shift+enter - break</li>
+    </ul>
+
+    <hr>
+    
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/PoweredByGridSphere.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/PoweredByGridSphere.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/calendar/scw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/calendar/scw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/editor.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/editor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/favicon.ico
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/favicon.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ar.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/cs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/de.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/de.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_UK.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_UK.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_US.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/en_US.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/hu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/it.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/it.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ja.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/ja.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/nl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/nl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/pl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/pl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/zh.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/flags/zh.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridlablogo.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridlablogo.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/gridsphere_logo.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/center.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/center.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ul.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/ul.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/images/texteditor/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/index.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="javax.portlet.PortletURL" %>
+<%@ page import="org.gridsphere.portlet.impl.PortletURLImpl" %>
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+
+<% PortletURL purl = new PortletURLImpl(request, response, true); %>
+<% System.err.println("url = " + purl); %>
+<% response.sendRedirect(purl.toString()); %>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jaas.config
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jaas.config	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jaas.config	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+Jackrabbit {
+org.apache.jackrabbit.core.security.SimpleLoginModule required
+	anonymousId="anonymous";
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/SimpleTextEditor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// +----------------------------------------------------------------+
+// | SimpleTextEditor 1.0
+// | Author: Cezary Tomczak [www.gosu.pl]
+// |
+// | Free for any use as long as all copyright messages are intact.
+// | Copyright (c) 2003,2004 Cezary Tomczak All rights reserved.
+// | Redistribution and use in source and binary forms, with or without modification,
+// | are permitted provided that the following conditions are met:
+// |
+// |  - Redistributions of source code must retain the above copyright notice,
+// |    this list of conditions and the following disclaimer.
+// |  - Redistributions in binary form must reproduce the above copyright notice,
+// |    this list of conditions and the following disclaimer in the documentation
+// |    and/or other materials provided with the distribution.
+// |  - Neither the name of the Cezary Tomczak nor the names of its contributors
+// |    may be used to endorse or promote products derived from this software
+// |    without specific prior written permission.
+// |
+// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+// | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+// | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// +----------------------------------------------------------------+
+
+function SimpleTextEditor(id, name, showViewSource, objectId) {
+    if (!id || !objectId || !name) { alert("SimpleTextEditor.constructor(id, name, showViewSource, objectId) failed, four arguments are required"); }
+    var self = this;
+    this.id = id;
+    this.objectId = objectId;
+    this.frame;
+    this.showViewSource = showViewSource;
+    this.viewSource = false;
+    this.name = name;
+    this.path = ""; // with slash at the end
+    this.cssFile = "";
+    this.charset = "iso-8859-1";
+
+    this.editorHtml = "";
+    this.frameHtml = "";
+
+    this.textareaValue = "";
+
+    this.browser = {
+        "ie": Boolean(document.body.currentStyle),
+        "gecko" : (navigator.userAgent.toLowerCase().indexOf("gecko") != -1)
+    };
+
+    this.init = function() {
+        if (document.getElementById && document.createElement && document.designMode && (this.browser.ie || this.browser.gecko)) {
+            // EDITOR
+            if (!document.getElementById(this.id)) { alert("SimpleTextEditor "+this.objectId+".init() failed, element '"+this.id+"' does not exist"); return; }
+            this.textareaValue = document.getElementById(this.id).value;
+            var ste = document.createElement("div");
+            document.getElementById(this.id).parentNode.replaceChild(ste, document.getElementById(this.id));
+            ste.id = this.id+"-ste";
+            ste.innerHTML = this.editorHtml ? this.editorHtml : this.getEditorHtml();
+            // BUTTONS
+            var buttons = ste.getElementsByTagName("td");
+            for (var i = 0; i < buttons.length; ++i) {
+                if (buttons[i].className == "button") {
+                    buttons[i].id = this.id+'-button-'+i;
+                    buttons[i].onmouseover = function() { this.className = "button-hover"; }
+                    buttons[i].onmouseout = function() { this.className = this.className.replace(/button-hover(\s)?/, "button"); }
+                    buttons[i].onclick = function(id) { return function() { this.className = "button-hover button-click"; setTimeout(function(){ document.getElementById(id).className = document.getElementById(id).className.replace(/(\s)?button-click/, ""); }, 100); } }(buttons[i].id);
+                }
+            }
+            // FRAME
+            if (this.browser.ie) {
+                this.frame = frames[this.id+"-frame"];
+            } else if (this.browser.gecko) {
+                this.frame = document.getElementById(this.id+"-frame").contentWindow;
+            }
+            this.frame.document.designMode = "on";
+            this.frame.document.open();
+            this.frame.document.write(this.frameHtml ? this.frameHtml : this.getFrameHtml());
+            this.frame.document.close();
+            insertHtmlFromTextarea();
+        }
+    };
+
+    function lockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']([^"']*)["']/g, 'href="simpletexteditor://simpletexteditor/$1"');
+    }
+
+    function unlockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']simpletexteditor:\/\/simpletexteditor\/([^"']*)["']/g, 'href="$1"');
+    }
+
+    function insertHtmlFromTextarea() {
+        try { self.frame.document.body.innerHTML = lockUrls(self.textareaValue); } catch (e) { setTimeout(insertHtmlFromTextarea, 10); }
+    }
+
+    this.getEditorHtml = function() {
+        var html = "";
+        html += '<input type="hidden" id="'+this.id+'" name="'+this.name+'" value="">';
+        html += '<table class="ste" cellspacing="0" cellpadding="0">';
+        html += '<tr><td class="bar"><table id="'+this.id+'-buttons" cellspacing="0" cellpadding="0"><tr>';
+        html += '<td><select onchange="'+this.objectId+'.execCommand(\'formatblock\', this.value);"><option value="">Normal</option><option value="<h1>">Heading 1</option><option value="<h2>">Heading 2</option><option value="<h3>">Heading 3</option><option value="<p>">Paragraph</option><option value="<pre>">Preformatted</option></select></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/bold.gif" width="20" height="20" alt="Bold" title="Bold" onclick="'+this.objectId+'.execCommand(\'bold\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/italic.gif" width="20" height="20" alt="Italic" title="Italic" onclick="'+this.objectId+'.execCommand(\'italic\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/underline.gif" width="20" height="20" alt="Underline" title="Underline" onclick="'+this.objectId+'.execCommand(\'underline\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/left.gif" width="20" height="20" alt="Align Left" title="Align Left" onclick="'+this.objectId+'.execCommand(\'justifyleft\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/center.gif" width="20" height="20" alt="Center" title="Center" onclick="'+this.objectId+'.execCommand(\'justifycenter\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/right.gif" width="20" height="20" alt="Align Right" title="Align Right" onclick="'+this.objectId+'.execCommand(\'justifyright\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ol.gif" width="20" height="20" alt="Ordered List" title="Ordered List" onclick="'+this.objectId+'.execCommand(\'insertorderedlist\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ul.gif" width="20" height="20" alt="Unordered List" title="Unordered List" onclick="'+this.objectId+'.execCommand(\'insertunorderedlist\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/outdent.gif" width="20" height="20" alt="Outdent" title="Outdent" onclick="'+this.objectId+'.execCommand(\'outdent\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/indent.gif" width="20" height="20" alt="Indent" title="Indent" onclick="'+this.objectId+'.execCommand(\'indent\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/link.gif" width="20" height="20" alt="Insert Link" title="Insert Link" onclick="'+this.objectId+'.execCommand(\'createlink\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/image.gif" width="20" height="20" alt="Insert Image" title="Insert Image" onclick="'+this.objectId+'.execCommand(\'insertimage\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/help.gif" width="20" height="20" alt="Help" title="Help" onclick="'+this.objectId+'.openWindow(\''+this.path+'html/texteditor/help.html\', \'300\', \'300\')"></td>';
+        html += '</tr></table></td></tr>';
+        html += '<tr><td class="frame"><iframe id="'+this.id+'-frame" frameborder="0"></iframe></td></tr>';
+        if (this.showViewSource) { html += '<tr><td class="source"><input id="'+this.id+'-viewSource" type="checkbox" onclick="'+this.objectId+'.toggleSource()"> View Source</td></tr>'; }
+        html += '</table>';
+        return html;
+    };
+
+    this.getFrameHtml = function() {
+        var html = "";
+        html += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
+        html += '<html><head>';
+        html += '<meta http-equiv="Content-Type" content="text/html; charset='+this.charset+'">';
+        html += '<title>SimpleTextEditor frame</title>';
+        html += '<style type="text/css">pre { background-color: #eeeeee; padding: 0.75em 1.5em; border: 1px solid #dddddd; }</style>';
+        if (this.cssFile) { html += '<link rel="stylesheet" type="text/css" href="'+this.cssFile+'">'; }
+        html += '<style type="text/css">html,body { cursor: text; } body { margin: 0.5em; padding: 0; }</style>';
+        html += '</head><body></body></html>';
+        return html;
+    };
+
+    this.openWindow = function(url, width, height) {
+        var x = (screen.width/2-width/2);
+        var y = (screen.height/2-height/2);
+        window.open(url, "", "scrollbars=yes,width="+width+",height="+height+",screenX="+(x)+",screenY="+y+",left="+x+",top="+y);
+    };
+
+    this.toggleSource = function() {
+        var html, text;
+        if (this.browser.ie) {
+            if (!this.viewSource) {
+                html = this.frame.document.body.innerHTML;
+                this.frame.document.body.innerText = unlockUrls(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                text = this.frame.document.body.innerText;
+                this.frame.document.body.innerHTML = lockUrls(text);
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        } else if (this.browser.gecko) {
+            if (!this.viewSource) {
+                html = document.createTextNode(this.frame.document.body.innerHTML);
+                this.frame.document.body.innerHTML = "";
+                this.frame.document.body.appendChild(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                html = this.frame.document.body.ownerDocument.createRange();
+                html.selectNodeContents(this.frame.document.body);
+                this.frame.document.body.innerHTML = html.toString();
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        }
+        document.getElementById(this.id+"-viewSource").checked = this.viewSource ? "checked" : "";
+        document.getElementById(this.id+"-viewSource").blur();
+    };
+
+    this.execCommand = function(cmd, value) {
+        if (cmd == "createlink" && !value) {
+            var url = prompt("Enter URL:", "");
+            if (url) {
+                this.frame.focus();
+                this.frame.document.execCommand("unlink", false, null);
+                if (this.browser.ie) this.frame.document.execCommand(cmd, false, "simpletexteditor://simpletexteditor/"+url);
+                else if (this.browser.gecko) this.frame.document.execCommand(cmd, false, url);
+                this.frame.focus();
+            }
+        } else if (cmd == "insertimage" && !value) {
+            var imageUrl = prompt("Enter Image URL:", "");
+            if (imageUrl) {
+                this.frame.focus();
+                this.frame.document.execCommand(cmd, false, imageUrl);
+                this.frame.focus();
+            }
+        } else {
+            this.frame.focus();
+            this.frame.document.execCommand(cmd, false, value);
+            this.frame.focus();
+        }
+    };
+
+    this.isOn = function() {
+        return Boolean(this.frame);
+    };
+
+    this.getContent = function() {
+        try { return unlockUrls(this.frame.document.body.innerHTML); } catch(e) { alert("SimpleTextEditor "+this.objectId+".getContent() failed"); }
+    };
+
+    this.submit = function() {
+        if (this.isOn()) {
+            if (this.viewSource) { this.toggleSource(); }
+            document.getElementById(this.id).value = this.getContent();
+        }
+    };
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,438 @@
+  /**************************************************************************
+   * GridSphere Object Functions
+   **************************************************************************/
+
+  /**
+   * Checks if an object with given name exists in form
+   */
+  function GridSphere_Object_existsInForm(form, name) {
+
+    // alert("Testing whether object [" + name + "] exists in form [" + form.name + "]");
+
+    for (var i = 0; i < form.elements.length; ++i) {
+
+      if (form.elements[i].name == name) {
+
+        // alert("Object " + name + " exists");
+
+        return true;
+      }
+    }
+
+    // alert("Object does not exist");
+
+    return false;
+  }
+
+  /**************************************************************************
+   * GridSphere Form Functions
+   **************************************************************************/
+
+  /**
+   * Submits the given action for the given form
+   */
+  function GridSphere_Form_submitAction(form, action) {
+    form.action=action;
+    form.submit();
+  }
+
+  /**************************************************************************
+   * GridSphere Check Box List Functions
+   **************************************************************************/
+  function GridSphere_CheckAll(checkname, exby) {
+    for (i = 0; i < checkname.length; i++) checkname[i].checked = exby.checked;
+  }
+
+  function GridSphere_CheckBoxList_checkAll(list) {
+
+      if (list[0].checked) {
+
+        // alert("GridSphere CheckBoxList Check All True");
+
+        for (i = 1; i < list.length; i++) {
+
+          list[i].checked = true;
+        }
+
+        // Select first list value if none selected yet
+        if (list[0].value == "") {
+
+          if (list.length > 1) {
+
+            list[0].value = list[1].value;
+          }
+        }
+
+      } else {
+
+        // alert("GridSphere CheckBoxList Check All False");
+
+        GridSphere_CheckBoxList_clear(list);
+      }
+  }
+
+  function GridSphere_CheckBoxList_clear(list) {
+
+    // alert("GridSphere CheckBoxList Clear");
+
+      for (i = 0; i < list.length; i++) {
+
+        list[i].checked = false;
+      }
+
+      // Clear selected value
+      list[0].value = "";
+  }
+
+  function GridSphere_CheckBoxList_checkOne(list)
+  {
+    // alert("GridSphere CheckBoxList Check One");
+
+      // Uncheck "all" option
+      list[0].checked = false;
+
+      // Uncheck those that don't match selection
+      for (i = 1; i < list.length; i++) {
+
+        if (list[i].value != list[0].value) {
+
+          list[i].checked = false;
+        }
+      }
+  }
+
+  function GridSphere_CheckBoxList_onClick(list, newSelection)
+  {
+    // alert("GridSphere CheckBoxList On Click");
+
+      if (newSelection.checked) {
+
+        // Save selection only if none made yet
+        if (list[0].value == "") {
+
+          list[0].value = newSelection.value;
+        }
+
+      } else {
+
+        // If saved selection was this one
+        if (list[0].value == newSelection.value) {
+
+          var found = false;
+
+          // Set selection to first checked item other than this
+          for (i = 1; i < list.length && !found; i++) {
+
+            if (list[i].checked) {
+
+              if (list[i].value != item.value) {
+
+                list[0].value = list[i].value;
+
+                found = true;
+              }
+            }
+          }
+
+          // If we didn't find a checked value
+          if (!found) {
+
+            // Set selection to none
+            list[0].value = "";
+          }
+        }
+      }
+
+      // alert("GridSphere CheckBoxList new selection: " + selection.value);
+  }
+
+  function GridSphere_CheckBoxList_validateCheckOneOrMore(list)
+  {
+    // alert("GridSphere CheckBoxList Validate Check One Or More");
+
+      // alert("Performing validate check one or more on " + list.name);
+
+      return (list[0].value != "");
+  }
+
+ function GridSphere_SelectSubmit( aform ) {
+    aform.submit();
+ }
+
+
+ function GridSphere_popup(mylink, windowname) {
+    if (! window.focus)return true;
+    var href;
+    if (typeof(mylink) == 'string')
+        href=mylink;
+    else
+        href=mylink.href;
+        window.open(href, windowname, 'width=800,height=600,scrollbars=yes,resizable=yes');
+    return false;
+ }
+
+
+// This code made publicly available from 
+// http://www.kryogenix.org/code/browser/sorttable/sorttable.js 
+// under MIT license - JN Mar 14 2004
+/* Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/* Modification of sorttable.js
+ * http://www.kryogenix.org/code/browser/sorttable/
+ * Original code by Stuart Langridge, November 2003
+ * Modified by Andy Edmonds, December 2003
+ *  Added alternateRowColors to color alternating rows
+ */
+
+addEvent(window, "load", sortables_init);
+
+var SORT_COLUMN_INDEX;
+
+function sortables_init() {
+    // Find all tables with class sortable and make them sortable
+    if (!document.getElementsByTagName) return;
+    tbls = document.getElementsByTagName("table");
+    for (ti=0;ti<tbls.length;ti++) {
+        thisTbl = tbls[ti];
+        if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) && (thisTbl.id)) {
+            //initTable(thisTbl.id);
+            ts_makeSortable(thisTbl);
+        }
+    }
+    alternateRowColors();
+}
+
+function ts_makeSortable(table) {
+    if (table.rows && table.rows.length > 0) {
+        var firstRow = table.rows[0];
+    }
+    if (!firstRow) return;
+
+    // We have a first row: assume it's the header, and make its contents clickable links
+    for (var i=0;i<firstRow.cells.length;i++) {
+        var cell = firstRow.cells[i];
+        var txt = ts_getInnerText(cell);
+        cell.innerHTML = '<a href="#" style="color: black; " class="sortheader" onclick="ts_resortTable(this);return false;">'+txt+'<span class="sortarrow">&nbsp;&nbsp;&nbsp;</span></a>';
+    }
+}
+
+function ts_getInnerText(el) {
+	if (typeof el == "string") return el;
+	if (typeof el == "undefined") { return el };
+	if (el.innerText) return el.innerText;	//Not needed but it is faster
+	var str = "";
+
+	var cs = el.childNodes;
+	var l = cs.length;
+	for (var i = 0; i < l; i++) {
+		switch (cs[i].nodeType) {
+			case 1: //ELEMENT_NODE
+				str += ts_getInnerText(cs[i]);
+				break;
+			case 3:	//TEXT_NODE
+				str += cs[i].nodeValue;
+				break;
+		}
+	}
+	return str;
+}
+
+function ts_resortTable(lnk) {
+    // get the span
+    var span;
+    for (var ci=0;ci<lnk.childNodes.length;ci++) {
+        if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span') span = lnk.childNodes[ci];
+    }
+    var spantext = ts_getInnerText(span);
+    var td = lnk.parentNode;
+    var column = td.cellIndex;
+    var table = getParent(td,'TABLE');
+
+    // Work out a type for the column
+    if (table.rows.length <= 1) return;
+    var itm = ts_getInnerText(table.rows[1].cells[column]);
+    sortfn = ts_sort_caseinsensitive;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^[�$]/)) sortfn = ts_sort_currency;
+    if (itm.match(/^[\d\.]+$/)) sortfn = ts_sort_numeric;
+    SORT_COLUMN_INDEX = column;
+    var firstRow = new Array();
+    var newRows = new Array();
+    for (i=0;i<table.rows[0].length;i++) { firstRow[i] = table.rows[0][i]; }
+    for (j=1;j<table.rows.length;j++) { newRows[j-1] = table.rows[j]; }
+
+    newRows.sort(sortfn);
+
+    if (span.getAttribute("sortdir") == 'down') {
+        ARROW = '&nbsp;&nbsp;&uarr;';
+        newRows.reverse();
+        span.setAttribute('sortdir','up');
+    } else {
+        ARROW = '&nbsp;&nbsp;&darr;';
+        span.setAttribute('sortdir','down');
+    }
+
+    // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
+    // don't do sortbottom rows
+    for (i=0;i<newRows.length;i++) { if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1))) table.tBodies[0].appendChild(newRows[i]);}
+    // do sortbottom rows only
+    for (i=0;i<newRows.length;i++) { if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1)) table.tBodies[0].appendChild(newRows[i]);}
+
+    // Delete any other arrows there may be showing
+    var allspans = document.getElementsByTagName("span");
+    for (var ci=0;ci<allspans.length;ci++) {
+        if (allspans[ci].className == 'sortarrow') {
+            if (getParent(allspans[ci],"table") == getParent(lnk,"table")) { // in the same table as us?
+                allspans[ci].innerHTML = '&nbsp;&nbsp;&nbsp;';
+            }
+        }
+    }
+
+    span.innerHTML = ARROW;
+		alternateRowColors();
+}
+
+function getParent(el, pTagName) {
+	if (el == null) return null;
+	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())	// Gecko bug, supposed to be uppercase
+		return el;
+	else
+		return getParent(el.parentNode, pTagName);
+}
+function ts_sort_date(a,b) {
+    // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa.length == 10) {
+        dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2);
+    } else {
+        yr = aa.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt1 = yr+aa.substr(3,2)+aa.substr(0,2);
+    }
+    if (bb.length == 10) {
+        dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2);
+    } else {
+        yr = bb.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt2 = yr+bb.substr(3,2)+bb.substr(0,2);
+    }
+    if (dt1==dt2) return 0;
+    if (dt1<dt2) return -1;
+    return 1;
+}
+
+function ts_sort_currency(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    return parseFloat(aa) - parseFloat(bb);
+}
+
+function ts_sort_numeric(a,b) {
+    aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(aa)) aa = 0;
+    bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(bb)) bb = 0;
+    return aa-bb;
+}
+
+function ts_sort_caseinsensitive(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+function ts_sort_default(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+
+function addEvent(elm, evType, fn, useCapture)
+// addEvent and removeEvent
+// cross-browser event handling for IE5+,  NS6 and Mozilla
+// By Scott Andrew
+{
+  if (elm.addEventListener){
+    elm.addEventListener(evType, fn, useCapture);
+    return true;
+  } else if (elm.attachEvent){
+    var r = elm.attachEvent("on"+evType, fn);
+    return r;
+  } else {
+    //alert("Handler could not be removed");
+  }
+}
+
+function origalternateRowColors() {
+	var className = 'sortable';
+	var rowcolor = '#dddddd';
+	var defaultrowcolor = '#ffffff';
+	var rows, arow;
+	var tables = document.getElementsByTagName("table");
+	var rowCount = 0;
+	for(var i=0;i<tables.length;i++) {
+		//dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+		if(tables.item(i).className == className) {
+			atable = tables.item(i);
+			rows = atable.getElementsByTagName("tr");
+			for(var j=0;j<rows.length;j++) {
+				arow = rows.item(j);
+				if(arow.nodeName == "TR") {
+					if(rowCount % 2) {
+						arow.style.backgroundColor = rowcolor;
+					} else {
+						// default case
+						arow.style.backgroundColor = defaultrowcolor;
+					}
+					rowCount++;
+				}
+			}
+			rowCount = 0;
+		}
+	}
+}
+
+
+  function alternateRowColors() {
+      var className = 'sortable';
+      var rows, arow;
+      var tables = document.getElementsByTagName("table");
+      var rowCount = 0;
+      for(var i=0;i<tables.length;i++) {
+          //dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+          if(tables.item(i).className == className) {
+              atable = tables.item(i);
+              rows = atable.getElementsByTagName("tr");
+              for(var j=1;j<rows.length;j++) {
+                  arow = rows.item(j);
+                  if(arow.nodeName == "TR") {
+                      if(rowCount % 2) {
+                          arow.setAttribute('class', 'portlet-section-alternate');
+
+                      } else {
+                          // default case
+                          arow.setAttribute('class', 'portlet-section-body');
+                      }
+                      rowCount++;
+                  }
+              }
+              rowCount = 0;
+          }
+      }
+  }
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere_ajax.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,167 @@
+
+var GridSphereAjaxHandler = {
+
+    handleSuccess:function(o) {
+        var cid = o.argument[0];
+        //alert(cid);
+        if(o.responseText != undefined){
+            //alert(o.responseText);
+            // create a temporary div element to store the responseText...
+            var serverResponse = document.createElement("div");
+            // ... and store the responseText inside it
+            serverResponse.innerHTML = o.responseText;
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            document.getElementById(cid).innerHTML = tempPageElements[0].innerHTML;
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one
+            alert(o.responseText);
+            document.getElementById(cid).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(mycid, action) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById(mycid);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&cid=" + encodeURIComponent(mycid) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ mycid ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    returnPortlet:function(portlet) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById("portlet#" + portlet);
+        var formElements = pageElements.getElementsByTagName("form");
+        if (formElements) YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&portlet=" + encodeURIComponent(portlet) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ "portlet#" + portlet ], scope:this},
+                postData);
+
+         //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    loadPortlets:function() {
+        var portlets = [];
+        var j = 0;
+        var divElements = document.getElementsByTagName("div");
+        for (var i = 0; i < divElements.length; i++) {
+            var anid = divElements[i].id;
+            var startIdx = anid.indexOf("portlet");
+            var lastIdx = anid.indexOf('#', startIdx);
+            if (startIdx >= 0) {
+                var portlet = anid.substring(lastIdx+1);
+                var webIdx = anid.indexOf('#', lastIdx);
+                this.returnPortlet(portlet);
+            }
+        }
+    }
+
+};
+
+var GridSphereAjaxHandler2 = {
+
+    handleSuccess:function(o) {
+        var name = o.argument[0];
+        //alert(name);
+        if(o.responseText != undefined) {
+            //alert(o.responseText);
+
+            // check to see if entire HTML has been transferred back
+
+            var fragment = o.responseText;
+
+            // check for a redirect!
+            if (fragment.substring(0,4) == "http") {
+                window.location = fragment;
+                return;
+            }
+
+            // create a temporary div element to store the responseText..
+            var tmpDiv = document.createElement("div");
+            // ... and store the responseText inside it
+
+            tmpDiv.innerHTML = fragment;
+
+            var frame = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-content', 'div', tmpDiv);
+            var titlebar = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-title', 'div', tmpDiv);
+            var panel = document.getElementById(name);
+            var title = YAHOO.util.Dom.getElementsByClassName('hd', 'div', panel);
+            var body = YAHOO.util.Dom.getElementsByClassName('bd', 'div', panel);
+            body[0].innerHTML = frame[0].innerHTML;
+            title[0].innerHTML = titlebar[0].innerHTML; // + "<a style=\"position:absolute; top:5px; right:4px; z-index:6; height:12px; width:12px; margin:0px; padding:0px; background-repeat:no-repeat; cursor:pointer; visibility:inherit;\" href=\"#\" onclick=\"YAHOO." + name + ".panel.hide();\">close</a>";
+
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            //var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            //document.getElementById(name).innerHTML = tempPageElements[0].innerHTML;
+            //window.eval("YAHOO." + name + ".panel.show()");
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one           
+            //alert("failure! " + o.statusText);
+            //alert(o.getResponseHeader());
+
+            document.getElementById(name).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(portlet, name, action) {
+
+        var pageElements = document.getElementById(name);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var extra =  YAHOO.util.Connect._sFormData;
+       
+        if (action != null) {
+            extra += action;
+        }
+        if (extra == null) {
+            extra = "";
+        } else {
+            extra = "&" + extra;
+        }
+
+        var sUrl = "/gridsphere/gs" + "?ajax=true&compname=" + name + "&portlet=" + encodeURIComponent(portlet) + extra;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ name ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    }
+
+};

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/scw.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/scw.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/scw.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1937 @@
+// *****************************************************************************
+//      Simple Calendar Widget - Cross-Browser Javascript pop-up calendar.
+//
+//   Copyright (C) 2005-2006  Anthony Garrett
+//
+//   This library is free software; you can redistribute it and/or
+//   modify it under the terms of the GNU Lesser General Public
+//   License as published by the Free Software Foundation; either
+//   version 2.1 of the License, or (at your option) any later version.
+//
+//   This library is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//   Lesser General Public License for more details.
+//
+//   You should have received a copy of the GNU Lesser General Public
+//   License along with this library; if not, it is available at
+//   the GNU web site (http://www.gnu.org/) or by writing to the
+//   Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+//   Boston, MA  02110-1301  USA
+//
+// *****************************************************************************
+//
+// Contact:   Sorry, I can't offer support for this but if you find a problem
+//            (or just want to tell me how useful you find it), please send
+//            me an email at scwfeedback at tarrget.info (Note the two Rs in
+//            tarrget).  I will try to fix problems quickly but this is a
+//            spare time thing for me.
+//
+// Credits:   I wrote this from scratch myself but I couldn't have done it
+//            without the superb "JavaScript The Definitive Guide" by David
+//            Flanagan (Pub. O'Reilly ISBN 0-596-00048-0).  I also recognise
+//            a contribution from my experience with PopCalendar 4.1 by
+//            Liming(Victor) Weng.
+//
+// Link back: Please give me credit and link back to my page.  To ensure that
+//            search engines give my page a higher ranking you can add the
+//            following HTML to any indexed page on your web site:
+//
+//            <A HREF="http://www.tarrget.info/calendar/scw.htm">
+//              Simple Calendar Widget by Anthony Garrett
+//            </A>
+//
+// Features:  Easily customised
+//                  (output date format, colours, language, year range and
+//                   week start day)
+//            Accepts a date as input
+//                  (see comments below for formats).
+//            Cross-browser code tested against;
+//                  Internet Explorer 6.0.28     Mozilla  1.7.1
+//                  Opera             7.52+      Firefox  0.9.1+
+//                  Konqueror         3.4.0      Flock    0.4.9
+//
+// How to add the Calendar to your page:
+//            This script needs to be defined for your page so, immediately
+//            after the BODY tag add the following line;
+//
+//                  <script type='Text/JavaScript' src='scw.js'></script>
+//
+//            Your root directory of the web site should also contain an empty
+//            file called "scwblank.html". See
+//                  http://www.tarrget.info/calendar/IEnightmare.html
+//            for a full explanation.
+//
+// How to use the Calendar once it is defined for your page:
+//
+//            Simply choose an event to trigger the calendar (like an onClick
+//            or an onMouseOver) and an element to work on (for the calendar
+//            to take its initial date from and write its output date to) then
+//            write it like this;
+//
+//                  <<event>>="scwShow(<<element>>,this);"
+//
+//            e.g. onClick="scwShow(scwID('myElement'),this);"
+//            or   onMouseOver="scwShow(this,this);"
+//
+//            NOTE: The "this" keyword causes the script to fail when the
+//                  triggered calendar is using an anchor tag. The following
+//                  syntax works;
+//
+//                  <a id="<<ID>>"
+//                     href="javascript:
+//                              scwShow(<<element>>,scwID('<<ID>>'));">
+//                      <<your text>>
+//                  </a>
+//
+//            If you are using a text node then specify the text's parent node
+//            in the function call. The date should be the only text under that
+//            node;
+//
+//            e.g.  <p onclick="scwShow(this,this);"><<date>></p>
+//
+//            You can also disable days of the week by adding arguments to the
+//            call to scwShow.  The values should be Sunday = 0 through to
+//            Saturday = 6.  A call to scwShow with Friday and Monday disabled
+//            would look something like this;
+//
+//                  scwShow(<<element>>,this,5,1);
+//
+//            Finally you can use the following technique to run a function
+//            when the calendar closes:
+//
+//                  scwNextAction=<<function>>.runsAfterSCW(this,<<arguments>>);
+//                  scwShow(<<element>>,this <<,optional arguments above>>);
+//
+//            Where <<function>> is a function defined on the calling page
+//            and <<arguments>> is the list of arguments being passed to that
+//            function.
+//
+//            ------------------------------------------------------------------
+//            Here's an extremely trivial but fully functioning example page
+//            showing two of the ways to trigger the calendar;
+//
+//            <html>
+//                <head><title>Basic Example</title></head>
+//                <body>
+//                    <script type='text/JavaScript' src='scw.js'></script>
+//                    <p onclick='scwShow(this,this);'>06-Dec-2006</p>
+//                    <input onclick='scwShow(this,this);' value='07-Dec-2006' />
+//                    <br/><br/>
+//                    <a id='aTest'
+//                       href='javascript:scwShow(scwID("aTest"),this);'>
+//                        08-Dec-2006
+//                    </a>
+//                </body>
+//            </html>
+//
+// *****************************************************************************
+//
+// See http://www.tarrget.info/calendar/scw.htm for a complete version history
+//
+// Version   Date        By               Description
+// =======   ====        ===============  ===========
+//   3.56    2006-12-13  Anthony Garrett  Fixed accidental disabling of the last
+//                                         day of the last month in the calendar.
+//                                        Added options to disable and hide days
+//                                         that are out of the currently displayed
+//                                         month. Thanks to Ruslan Androsyuk for
+//                                         this feature request.
+//                                        Applied the IFRAME backing to IE 7
+//                                         in order to improve rendering when
+//                                         the calendar overlays graphically
+//                                         dynamic objects.  Thanks to Shaun
+//                                         Plumb for reporting this issue.
+//                                        Allowed date input/output to be a
+//                                         text node.  Thanks to John Navratil
+//                                         for this suggestion (and others).
+//                                        Applied a work-around for Opera's
+//                                         buggy selectIndex setting.
+// *****************************************************************************
+
+// ************************************
+// Start of Simple Calendar Widget Code
+// ************************************
+
+// This date is used throughout to determine today's date.
+
+var scwDateNow = new Date(Date.parse(new Date().toDateString()));
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// Customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+// Set the bounds for the calendar here...
+// If you want the year to roll forward you can use something like this...
+//      var scwBaseYear = scwDateNow.getFullYear()-5;
+// alternatively, hard code a date like this...
+//      var scwBaseYear = 1990;
+
+var scwBaseYear = scwDateNow.getFullYear() - 10;
+
+// How many years do want to be valid and to show in the drop-down list?
+
+var scwDropDownYears = 20;
+
+// All language-dependent changes can be made here...
+
+// If you wish to work in a single language (other than English) then
+// just replace the English (in the function scwSetLanguage below) with
+// your own text.
+
+// Using multiple languages:
+// In order to keep this script to a resonable size I have not included
+// languages here.  You can set language fields in a function that you
+// should call  scwSetLanguage  the script will use your languages.
+// I have included all the translations that have been sent to me in
+// such a function on the demonstration page.
+
+var scwLanguage;
+
+function scwSetDefaultLanguage()
+{
+    try
+    {
+        scwSetLanguage();
+    }
+    catch (exception)
+    {// English
+        scwToday = 'Today:';
+        scwDrag = 'click here to drag';
+        scwArrMonthNames = ['Jan','Feb','Mar','Apr','May','Jun',
+                'Jul','Aug','Sep','Oct','Nov','Dec'];
+        scwArrWeekInits = ['S','M','T','W','T','F','S'];
+        scwInvalidDateMsg = 'The entered date is invalid.\n';
+        scwOutOfRangeMsg = 'The entered date is out of range.';
+        scwDoesNotExistMsg = 'The entered date does not exist.';
+        scwInvalidAlert = ['Invalid date (',') ignored.'];
+        scwDateDisablingError = ['Error ',' is not a Date object.'];
+        scwRangeDisablingError = ['Error ',
+                ' should consist of two elements.'];
+    }
+}
+
+// Note:  Always start the scwArrWeekInits array with your string for
+//        Sunday whatever scwWeekStart (below) is set to.
+
+// scwWeekStart determines the start of the week in the display
+// Set it to: 0 (Zero) for Sunday, 1 (One) for Monday etc..
+
+var scwWeekStart = 1;
+
+// The week start day for the display is taken as the week start
+// for week numbering.  This ensures that only one week number
+// applies to one line of the calendar table.
+// [ISO 8601 begins the week with Day 1 = Monday.]
+
+// If you want to see week numbering on the calendar, set
+// this to true.  If not, false.
+
+var scwWeekNumberDisplay = false;
+
+// Week numbering rules are generally based on a day in the week
+// that determines the first week of the year.  ISO 8601 uses
+// Thursday (day four when Sunday is day zero).  You can alter
+// the base day here.
+
+// See http://www.cl.cam.ac.uk/~mgk25/iso-time.html for more information
+
+var scwWeekNumberBaseDay = 4;
+
+// Each of the calendar's alert message types can be disabled
+// independently here.
+
+var scwShowInvalidDateMsg = true,
+        scwShowOutOfRangeMsg = true,
+        scwShowDoesNotExistMsg = true,
+        scwShowInvalidAlert = true,
+        scwShowDateDisablingError = true,
+        scwShowRangeDisablingError = true;
+
+// Set the allowed input date delimiters here...
+// E.g. To set the rising slash, hyphen, full-stop (aka stop or point),
+//      comma and space as delimiters use
+//              var scwArrDelimiters   = ['/','-','.',',',' '];
+
+var scwArrDelimiters = ['/','-','.',',',' '];
+
+// Set the format for the displayed 'Today' date and for the output
+// date here.
+//
+// The format is described using delimiters of your choice (as set
+// in scwArrDelimiters above) and case insensitive letters D, M and Y.
+//
+// Definition               Returns
+// ----------               -------
+// D            date in the month without zero filling
+// DD           date in the month left zero filled
+// M            month number without zero filling
+// MM           month number left zero filled
+// MMM          month string from scwArrMonthNames
+// YY           year number in two digits
+// YYYY         year number in four digits
+
+// Displayed "Today" date format
+
+var scwDateDisplayFormat = 'dd-mm-yy';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// Output date format
+
+var scwDateOutputFormat = 'DD MMM, YYYY';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// The input date is fully parsed so a format is not required,
+// but there is no way to differentiate the sequence reliably.
+//
+// e.g. Is 05/08/03     5th August 2003,
+//                      8th May    2003 or even
+//                      3rd August 2005?
+//
+// So, you have to state how the code should interpret input dates.
+//
+// The sequence should always contain one D, one M and one Y only,
+// in any order.
+
+var scwDateInputSequence = 'DMY';
+// e.g. 'MDY' for the US
+
+// Note: Because the user may select a date then trigger the
+//       calendar again to select another, it is necessary to
+//       have the input date sequence in the same order as the
+//       output display format.  To allow the flexibility of having
+//       a full input date and a partial (e.g. only Month and Year)
+//       output, the input sequence is set separately.
+//
+//       The same reason determines that the delimiters used should
+//       be in scwArrDelimiters.
+
+// scwZindex controls how the pop-up calendar interacts with the rest
+// of the page.  It is usually adequate to leave it as 1 (One) but I
+// have made it available here to help anyone who needs to alter the
+// level in order to ensure that the calendar displays correctly in
+// relation to all other elements on the page.
+
+var scwZindex = 1;
+
+// Personally I like the fact that entering 31-Sep-2005 displays
+// 1-Oct-2005, however you may want that to be an error.  If so,
+// set scwBlnStrict = true.  That will cause an error message to
+// display and the selected month is displayed without a selected
+// day. Thanks to Brad Allan for his feedback prompting this feature.
+
+var scwBlnStrict = false;
+
+// If you wish to disable any displayed day, e.g. Every Monday,
+// you can do it by setting the following array.  The array elements
+// match the displayed cells.
+//
+// You could put something like the following in your calling page
+// to disable all weekend days;
+//
+//  for (var i=0;i<scwEnabledDay.length;i++)
+//      {if (i%7%6==0) scwEnabledDay[i] = false;}
+//
+// The above approach will allow you to disable days of the week
+// for the whole of your page easily.  If you need to set different
+// disabled days for a number of date input fields on your page
+// there is an easier way: You can pass additional arguments to
+// scwShow. The syntax is described at the top of this script in
+// the section:
+//    "How to use the Calendar once it is defined for your page:"
+//
+// It is possible to use these two approaches in combination.
+
+var scwEnabledDay = [true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true];
+
+// You can disable any specific date (e.g. 24-Jan-2006 or Today) by
+// creating an element of the array scwDisabledDates as a date object
+// with the value you want to disable.  Date ranges can be disabled
+// by placing an array of two values (Start and End) into an element
+// of this array.
+
+var scwDisabledDates = new Array();
+
+// e.g. To disable 10-Dec-2005:
+//          scwDisabledDates[0] = new Date(2005,11,10);
+//
+//      or a range from 2004-Dec-25 to 2005-Jan-01:
+//          scwDisabledDates[1] = [new Date(2004,11,25),new Date(2005,0,1)];
+//
+// Remember that Javascript months are Zero-based.
+
+// The disabling by date and date range does prevent the current day
+// from being selected.  Disabling days of the week does not so you can set
+// the scwActiveToday value to false to prevent selection.
+
+var scwActiveToday = true;
+
+// Dates that are out of the displayed month are shown at the start
+// (unless the month starts on the first day of the week) and end of each
+// month.
+//
+// Set scwOutOfMonthDisable to  true  to disable these dates (or  false
+// to allow their selection).
+//
+// Set scwOutOfMonthHide    to  true  to hide    these dates (or  false
+// to make them visible).
+
+var scwOutOfMonthDisable = false;
+var scwOutOfMonthHide = false;
+
+// Dates that are out of the specified range can be displayed at the start
+// of the very first month and end of the very last.  Set
+// scwOutOfRangeDisable to  true  to disable these dates (or  false  to
+// allow their selection).
+
+var scwOutOfRangeDisable = true;
+
+// You can allow the calendar to be dragged around the screen by
+// using the setting scwAllowDrag to true.
+// I can't say I recommend it because of the danger of the user
+// forgetting which date field the calendar will update when there
+// are multiple date fields on a page.
+
+var scwAllowDrag = false;
+
+// Closing the calendar by clicking on it (rather than elsewhere on the
+// main page) can be inconvenient.  The scwClickToHide boolean value
+// controls this feature.
+
+var scwClickToHide = false;
+
+// I have made every effort to isolate the pop-up script from any
+// CSS defined on the main page but if you have anything set that
+// affects the pop-up (or you may want to change the way it looks)
+// then you can address it in the following style sheets.
+
+document.writeln(
+        '<style type="text/css">' +
+        '.scw           {padding:1px;vertical-align:middle;}' +
+        'iframe.scw     {position:absolute;z-index:' + scwZindex +
+        ';top:0px;left:0px;visibility:hidden;' +
+        'width:1px;height:1px;}' +
+        'table.scw      {padding:0px;visibility:hidden;' +
+        'position:absolute;cursor:default;' +
+        'width:200px;top:0px;left:0px;' +
+        'z-index:' + (scwZindex + 1) +
+        ';text-align:center;}' +
+        '</style>');
+
+// This style sheet can be extracted from the script and edited into regular
+// CSS (by removing all occurrences of + and '). That can be used as the
+// basis for themes. Classes are described in comments within the style
+// sheet.
+
+document.writeln(
+        '<style type="text/css">' +
+        '/* IMPORTANT:  The SCW calendar script requires all ' +
+        '               the classes defined here.' +
+        '*/' +
+        'table.scw      {padding:       1px;' +
+        'vertical-align:middle;' +
+        'border:        ridge 2px;' +
+        'font-size:     10pt;' +
+        'font-family:   Arial,Helvetica,Sans-Serif;' +
+        'font-weight:   bold;}' +
+        'td.scwDrag,' +
+        'td.scwHead                 {padding:       0px 0px;' +
+        'text-align:    center;}' +
+        'td.scwDrag                 {font-size:     8pt;}' +
+        'select.scwHead             {margin:        3px 1px;' +
+        'text-align:    center;}' +
+        'input.scwHead              {height:        22px;' +
+        'width:         22px;' +
+        'vertical-align:middle;' +
+        'text-align:    center;' +
+        'margin:        2px 1px;' +
+        'font-weight:   bold;' +
+        'font-size:     10pt;' +
+        'font-family:   fixedSys;}' +
+        'td.scwWeekNumberHead,' +
+        'td.scwWeek                 {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   bold;}' +
+        'td.scwFoot,' +
+        'td.scwFootHover,' +
+        'td.scwFoot:hover,' +
+        'td.scwFootDisabled         {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   normal;}' +
+        'table.scwCells             {text-align:    right;' +
+        'font-size:     8pt;' +
+        'width:         96%;}' +
+        'td.scwCells,' +
+        'td.scwCellsHover,' +
+        'td.scwCells:hover,' +
+        'td.scwCellsDisabled,' +
+        'td.scwCellsExMonth,' +
+        'td.scwCellsExMonthHover,' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthDisabled,' +
+        'td.scwCellsWeekend,' +
+        'td.scwCellsWeekendHover,' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendDisabled,' +
+        'td.scwInputDate,' +
+        'td.scwInputDateHover,' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateDisabled,' +
+        'td.scwWeekNo,' +
+        'td.scwWeeks                {padding:           3px;' +
+        'width:             16px;' +
+        'height:            16px;' +
+        'font-weight:       bold;' +
+        'vertical-align:    middle;}' +
+        '/* Blend the colours into your page here...    */' +
+        '/* Calendar background */' +
+        'table.scw                  {background-color:  #6666CC;}' +
+        '/* Drag Handle */' +
+        'td.scwDrag                 {background-color:  #9999CC;' +
+        'color:             #CCCCFF;}' +
+        '/* Week number heading */' +
+        'td.scwWeekNumberHead       {color:             #6666CC;}' +
+        '/* Week day headings */' +
+        'td.scwWeek                 {color:             #CCCCCC;}' +
+        '/* Week numbers */' +
+        'td.scwWeekNo               {background-color:  #776677;' +
+        'color:             #CCCCCC;}' +
+        '/* Enabled Days */' +
+        '/* Week Day */' +
+        'td.scwCells                {background-color:  #CCCCCC;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate            {background-color:  #CC9999;' +
+        'color:             #FF0000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekend         {background-color:  #CCCCCC;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth         {background-color:  #CCCCCC;' +
+        'color:             #666666;}' +
+        '/* Today selector */' +
+        'td.scwFoot                 {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '/* MouseOver/Hover formatting ' +
+        '       If you want to "turn off" any of the formatting ' +
+        '       then just set to the same as the standard format' +
+        '       above.' +
+        ' ' +
+        '       Note: The reason that the following are' +
+        '       implemented using both a class and a :hover' +
+        '       pseudoclass is because Opera handles the rendering' +
+        '       involved in the class swap very poorly and IE6 ' +
+        '       (and below) only implements pseudoclasses on the' +
+        '       anchor tag.' +
+        '*/' +
+        '/* Active cells */' +
+        'td.scwCells:hover,' +
+        'td.scwCellsHover           {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateHover       {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Weekend cells */' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Today selector */' +
+        'td.scwFoot:hover,' +
+        'td.scwFootHover            {color:             #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'font-weight:       bold;}' +
+        '/* Disabled cells */' +
+        '/* Week Day */' +
+        '/* Day matching the input date */' +
+        'td.scwInputDateDisabled    {background-color:  #999999;' +
+        'color:             #000000;}' +
+        'td.scwCellsDisabled        {background-color:  #999999;' +
+        'color:             #000000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekendDisabled {background-color:  #999999;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonthDisabled {background-color:  #999999;' +
+        'color:             #666666;}' +
+        'td.scwFootDisabled         {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '</style>'
+        );
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// End of customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+//  Variables required by both scwShow and scwShowMonth
+
+var scwTargetEle,
+        scwTriggerEle,
+        scwMonthSum = 0,
+        scwBlnFullInputDate = false,
+        scwPassEnabledDay = new Array(),
+        scwSeedDate = new Date(),
+        scwParmActiveToday = true,
+        scwWeekStart = scwWeekStart % 7,
+        scwToday,
+        scwDrag,
+        scwArrMonthNames,
+        scwArrWeekInits,
+        scwInvalidDateMsg,
+        scwOutOfRangeMsg,
+        scwDoesNotExistMsg,
+        scwInvalidAlert,
+        scwDateDisablingError,
+        scwRangeDisablingError;
+
+// Add a method to format a date into the required pattern
+
+Date.prototype.scwFormat =
+function(scwFormat)
+{
+    var charCount = 0,
+            codeChar = '',
+            result = '';
+
+    for (var i = 0; i <= scwFormat.length; i++)
+    {
+        if (i < scwFormat.length && scwFormat.charAt(i) == codeChar)
+        {// If we haven't hit the end of the string and
+            // the format string character is the same as
+            // the previous one, just clock up one to the
+            // length of the current element definition
+            charCount++;
+        }
+        else {
+            switch (codeChar)
+                    {case 'y': case 'Y':
+                result += (this.getFullYear() % Math.
+                        pow(10, charCount)).toString().
+                        scwPadLeft(charCount);
+                break;
+                case 'm': case 'M':
+            // If we find an M, check the number of them to
+            // determine whether to get the month number or
+            // the month name.
+                result += (charCount < 3)
+                        ? (this.getMonth() + 1).
+                        toString().scwPadLeft(charCount)
+                        : scwArrMonthNames[this.getMonth()];
+                break;
+                case 'd': case 'D':
+            // If we find a D, get the date and format it
+                result += this.getDate().toString().
+                        scwPadLeft(charCount);
+                break;
+                default:
+                // Copy any unrecognised characters across
+                    while (charCount-- > 0) {
+                        result += codeChar;
+                    }
+            }
+
+            if (i < scwFormat.length)
+            {// Store the character we have just worked on
+                codeChar = scwFormat.charAt(i);
+                charCount = 1;
+            }
+        }
+    }
+    return result;
+}
+
+// Add a method to left pad zeroes
+
+String.prototype.scwPadLeft =
+function(padToLength)
+{
+    var result = '';
+    for (var i = 0; i < (padToLength - this.length); i++) {
+        result += '0';
+    }
+    return (result + this);
+}
+
+// Set up a closure so that any next function can be triggered
+// after the calendar has been closed AND that function can take
+// arguments.
+
+Function.prototype.runsAfterSCW =
+function() {
+    var func = this,
+            args = new Array(arguments.length);
+
+    for (var i = 0; i < args.length; ++i)
+    {
+        args[i] = arguments[i];
+    }
+
+    return function()
+    {// concat/join the two argument arrays
+        for (var i = 0; i < arguments.length; ++i)
+        {
+            args[args.length] = arguments[i];
+        }
+
+        return (args.shift() == scwTriggerEle)
+                ? func.apply(this, args) : null;
+    }
+};
+
+// Set up some shortcuts
+
+function scwID(id) {
+    return document.getElementById(id);
+}
+
+// Use a global variable for the return value from the next action
+// IE fails to pass the function through if the target element is in
+// a form and scwNextAction is not defined.
+
+var scwNextActionReturn, scwNextAction;
+
+// ****************************************************************************
+// Start of Function Library
+//
+//  Exposed functions:
+//
+//      scwShow             Entry point for display of calendar,
+//                              called in main page.
+//      showCal             Legacy name of scwShow:
+//                              Passes only legacy arguments,
+//                              not the optional day disabling arguments.
+//
+//      scwShowMonth        Displays a month on the calendar,
+//                              Called when a month is set or changed.
+//
+//      scwBeginDrag        Controls calendar dragging.
+//
+//      scwCancel           Called when the calendar background is clicked:
+//                              Calls scwStopPropagation and may call scwHide.
+//      scwHide             Hides the calendar, called on various events.
+//      scwStopPropagation  Stops the propagation of an event.
+//
+// ****************************************************************************
+
+function showCal(scwEle, scwSourceEle) {
+    scwShow(scwEle, scwSourceEle);
+}
+function scwShow(scwEle, scwSourceEle)
+{
+    scwTriggerEle = scwSourceEle;
+
+    // Take any parameters that there might be from the third onwards as
+    // day numbers to be disabled 0 = Sunday through to 6 = Saturday.
+
+    scwParmActiveToday = true;
+
+    for (var i = 0; i < 7; i++)
+    {
+        scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = true;
+        for (var j = 2; j < arguments.length; j++)
+        {
+            if (arguments[j] == i)
+            {
+                scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = false;
+                if (scwDateNow.getDay() == i) scwParmActiveToday = false;
+            }
+        }
+    }
+
+    //   If no value is preset then the seed date is
+    //      Today (when today is in range) OR
+    //      The middle of the date range.
+
+    scwSeedDate = scwDateNow;
+
+    // Find the date and Strip space characters from start and
+    // end of date input.
+
+    if (typeof scwEle.value == 'undefined')
+    {
+        var scwChildNodes = scwEle.childNodes;
+        for (var i = 0; i < scwChildNodes.length; i++)
+            if (scwChildNodes[i].nodeType == 3)
+            {
+                var scwDateValue = scwChildNodes[i].nodeValue.replace(/^\s+/, '').replace(/\s+$/, '');
+                if (scwDateValue.length > 0)
+                {
+                    scwTriggerEle.scwTextNode = scwChildNodes[i];
+                    scwTriggerEle.scwLength = scwChildNodes[i].nodeValue.length;
+                    break;
+                }
+            }
+    }
+    else
+    {
+        var scwDateValue = scwEle.value.replace(/^\s+/, '').replace(/\s+$/, '');
+    }
+
+    // Set the language-dependent elements
+
+    scwSetDefaultLanguage();
+
+    scwID('scwDragText').innerHTML = scwDrag;
+
+    scwID('scwMonths').options.length = 0;
+    for (var i = 0; i < scwArrMonthNames.length; i++)
+        scwID('scwMonths').options[i] =
+        new Option(scwArrMonthNames[i], scwArrMonthNames[i]);
+
+    scwID('scwYears').options.length = 0;
+    for (var i = 0; i < scwDropDownYears; i++)
+        scwID('scwYears').options[i] =
+        new Option((scwBaseYear + i), (scwBaseYear + i));
+
+    for (var i = 0; i < scwArrWeekInits.length; i++)
+        scwID('scwWeekInit' + i).innerHTML =
+        scwArrWeekInits[(i + scwWeekStart) %
+                        scwArrWeekInits.length];
+
+    if (scwID('scwFoot'))
+        scwID('scwFoot').innerHTML =
+        scwToday + ' ' +
+        scwDateNow.scwFormat(scwDateDisplayFormat);
+
+    if (scwDateValue.length == 0)
+    {// If no value is entered and today is within the range,
+        // use today's date, otherwise use the middle of the valid range.
+
+        scwBlnFullInputDate = false;
+
+        if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) < scwSeedDate ||
+            (new Date(scwBaseYear, 0, 1)) > scwSeedDate
+                )
+        {
+            scwSeedDate = new Date(scwBaseYear +
+                                   Math.floor(scwDropDownYears / 2), 5, 1);
+        }
+    }
+    else
+    {
+        function scwInputFormat()
+        {
+            var scwArrSeed = new Array(),
+                    scwArrInput = scwDateValue.
+                            split(new RegExp('[\\' + scwArrDelimiters.
+                            join('\\') + ']+', 'g'));
+
+            // "Escape" all the user defined date delimiters above -
+            // several delimiters will need it and it does no harm for
+            // the others.
+
+            // Strip any empty array elements (caused by delimiters)
+            // from the beginning or end of the array. They will
+            // still appear in the output string if in the output
+            // format.
+
+            if (scwArrInput[0] != null)
+            {
+                if (scwArrInput[0].length == 0) scwArrInput.splice(0, 1);
+
+                if (scwArrInput[scwArrInput.length - 1].length == 0)
+                    scwArrInput.splice(scwArrInput.length - 1, 1);
+            }
+
+            scwBlnFullInputDate = false;
+
+            switch (scwArrInput.length)
+                    {case 1:
+            {// Year only entry
+                scwArrSeed[0] = parseInt(scwArrInput[0], 10);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+                break;
+            }
+                case 2:
+                {// Year and Month entry
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] = 1;
+                    // Day
+                    break;
+                }
+                case 3:
+                {// Day Month and Year entry
+
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/D/i)], 10);
+                    // Day
+
+                    scwBlnFullInputDate = true;
+                    break;
+                }
+                default:
+                {// A stuff-up has led to more than three elements in
+                    // the date.
+                    scwArrSeed[0] = 0;
+                    // Year
+                    scwArrSeed[1] = 0;
+                    // Month
+                    scwArrSeed[2] = 0;
+                    // Day
+                }
+            }
+
+            // These regular expressions validate the input date format
+            // to the following rules;
+            //         Day   1-31 (optional zero on single digits)
+            //         Month 1-12 (optional zero on single digits)
+            //                     or case insensitive name
+            //         Year  One, Two or four digits
+
+            // Months names are as set in the language-dependent
+            // definitions and delimiters are set just below there
+
+            var scwExpValDay = /^(0?[1-9]|[1-2]\d|3[0-1])$/,
+                    scwExpValMonth = new RegExp('^(0?[1-9]|1[0-2]|' +
+                                                scwArrMonthNames.join('|') +
+                                                ')$', 'i'),
+                    scwExpValYear = /^(\d{1,2}|\d{4})$/;
+
+            // Apply validation and report failures
+
+            if (scwExpValYear.exec(scwArrSeed[0]) == null ||
+                scwExpValMonth.exec(scwArrSeed[1]) == null ||
+                scwExpValDay.exec(scwArrSeed[2]) == null
+                    )
+            {
+                if (scwShowInvalidDateMsg)
+                    alert(scwInvalidDateMsg +
+                          scwInvalidAlert[0] + scwDateValue +
+                          scwInvalidAlert[1]);
+                scwBlnFullInputDate = false;
+                scwArrSeed[0] = scwBaseYear +
+                                Math.floor(scwDropDownYears / 2);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+            }
+
+            // Return the  Year    in scwArrSeed[0]
+            //             Month   in scwArrSeed[1]
+            //             Day     in scwArrSeed[2]
+
+            return scwArrSeed;
+        }
+
+        // Parse the string into an array using the allowed delimiters
+
+        scwArrSeedDate = scwInputFormat();
+
+        // So now we have the Year, Month and Day in an array.
+
+        //   If the year is one or two digits then the routine assumes a
+        //   year belongs in the 21st Century unless it is less than 50
+        //   in which case it assumes the 20th Century is intended.
+
+        if (scwArrSeedDate[0] < 100)
+            scwArrSeedDate[0] += (scwArrSeedDate[0] > 50) ? 1900 : 2000;
+
+        // Check whether the month is in digits or an abbreviation
+
+        if (scwArrSeedDate[1].search(/\d+/) != 0)
+        {
+            month = scwArrMonthNames.join('|').toUpperCase().
+                    search(scwArrSeedDate[1].substr(0, 3).
+                    toUpperCase());
+            scwArrSeedDate[1] = Math.floor(month / 4) + 1;
+        }
+
+        scwSeedDate = new Date(scwArrSeedDate[0],
+                scwArrSeedDate[1] - 1,
+                scwArrSeedDate[2]);
+    }
+
+    // Test that we have arrived at a valid date
+
+    if (isNaN(scwSeedDate))
+    {
+        if (scwShowInvalidDateMsg)
+            alert(scwInvalidDateMsg +
+                  scwInvalidAlert[0] + scwDateValue +
+                  scwInvalidAlert[1]);
+        scwSeedDate = new Date(scwBaseYear +
+                               Math.floor(scwDropDownYears / 2), 5, 1);
+        scwBlnFullInputDate = false;
+    }
+    else
+    {// Test that the date is within range,
+        // if not then set date to a sensible date in range.
+
+        if ((new Date(scwBaseYear, 0, 1)) > scwSeedDate)
+        {
+            if (scwBlnStrict && scwShowOutOfRangeMsg)
+                alert(scwOutOfRangeMsg);
+            scwSeedDate = new Date(scwBaseYear, 0, 1);
+            scwBlnFullInputDate = false;
+        }
+        else
+        {
+            if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) <
+                scwSeedDate)
+            {
+                if (scwBlnStrict && scwShowOutOfRangeMsg)
+                    alert(scwOutOfRangeMsg);
+                scwSeedDate = new Date(scwBaseYear +
+                                       Math.floor(scwDropDownYears) - 1,
+                        11, 1);
+                scwBlnFullInputDate = false;
+            }
+            else
+            {
+                if (scwBlnStrict && scwBlnFullInputDate &&
+                    (scwSeedDate.getDate() != scwArrSeedDate[2] ||
+                     (scwSeedDate.getMonth() + 1) != scwArrSeedDate[1] ||
+                     scwSeedDate.getFullYear() != scwArrSeedDate[0]
+                            )
+                        )
+                {
+                    if (scwShowDoesNotExistMsg) alert(scwDoesNotExistMsg);
+                    scwSeedDate = new Date(scwSeedDate.getFullYear(),
+                            scwSeedDate.getMonth() - 1, 1);
+                    scwBlnFullInputDate = false;
+                }
+            }
+        }
+    }
+
+    // Test the disabled dates for validity
+    // Give error message if not valid.
+
+    for (var i = 0; i < scwDisabledDates.length; i++)
+    {
+        if (!((typeof scwDisabledDates[i] == 'object') &&
+              (scwDisabledDates[i].constructor == Date)))
+        {
+            if ((typeof scwDisabledDates[i] == 'object') &&
+                (scwDisabledDates[i].constructor == Array))
+            {
+                var scwPass = true;
+
+                if (scwDisabledDates[i].length != 2)
+                {
+                    if (scwShowRangeDisablingError)
+                        alert(scwRangeDisablingError[0] +
+                              scwDisabledDates[i] +
+                              scwRangeDisablingError[1]);
+                    scwPass = false;
+                }
+                else
+                {
+                    for (var j = 0; j < scwDisabledDates[i].length; j++)
+                    {
+                        if (!((typeof scwDisabledDates[i][j]
+                                == 'object') &&
+                              (scwDisabledDates[i][j].constructor
+                                      == Date)))
+                        {
+                            if (scwShowRangeDisablingError)
+                                alert(scwDateDisablingError[0] +
+                                      scwDisabledDates[i][j] +
+                                      scwDateDisablingError[1]);
+                            scwPass = false;
+                        }
+                    }
+                }
+
+                if (scwPass &&
+                    (scwDisabledDates[i][0] > scwDisabledDates[i][1])
+                        )
+                {
+                    scwDisabledDates[i].reverse();
+                }
+            }
+            else
+            {
+                if (scwShowRangeDisablingError)
+                    alert(scwDateDisablingError[0] +
+                          scwDisabledDates[i] +
+                          scwDateDisablingError[1]);
+            }
+        }
+    }
+
+    // Calculate the number of months that the entered (or
+    // defaulted) month is after the start of the allowed
+    // date range.
+
+    scwMonthSum = 12 * (scwSeedDate.getFullYear() - scwBaseYear) +
+                  scwSeedDate.getMonth();
+
+    // Set the drop down boxes.
+
+    scwID('scwYears').options.selectedIndex = Math.floor(scwMonthSum / 12);
+    scwID('scwMonths').options.selectedIndex = (scwMonthSum % 12);
+
+    // Opera has a bug with this method of setting the selected index.
+    // It requires the following work-around to force SELECTs to display
+    // correctly.
+
+    if (window.opera)
+    {
+        scwID('scwMonths').style.display = 'none';
+        scwID('scwMonths').style.display = 'block';
+        scwID('scwYears').style.display = 'none';
+        scwID('scwYears').style.display = 'block';
+    }
+
+    // The bug is apparently known and "fixed for future versions"
+    // but they say they aren't going to put the fix into the 9.x
+    // series.
+
+    // Check whether or not dragging is allowed and display drag handle
+    // if necessary
+
+    scwID('scwDrag').style.display =
+    (scwAllowDrag)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-row')
+            : 'none';
+
+    // Display the month
+
+    scwShowMonth(0);
+
+    // Position the calendar box
+
+    // The object sniffing for Opera allows for the fact that Opera
+    // is the only major browser that correctly reports the position
+    // of an element in a scrollable DIV.  This is because IE and
+    // Firefox omit the DIV from the offsetParent tree.
+
+    scwTargetEle = scwEle;
+
+    var offsetTop = parseInt(scwEle.offsetTop, 10) +
+                    parseInt(scwEle.offsetHeight, 10),
+            offsetLeft = parseInt(scwEle.offsetLeft, 10);
+
+    if (!window.opera)
+    {
+        while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML')
+        {
+            offsetTop -= parseInt(scwEle.scrollTop, 10);
+            offsetLeft -= parseInt(scwEle.scrollLeft, 10);
+            scwEle = scwEle.parentNode;
+        }
+        scwEle = scwTargetEle;
+    }
+
+    do {
+        scwEle = scwEle.offsetParent;
+        offsetTop += parseInt(scwEle.offsetTop, 10);
+        offsetLeft += parseInt(scwEle.offsetLeft, 10);
+    }
+    while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML');
+
+    scwID('scw').style.top = offsetTop + 'px';
+    scwID('scw').style.left = offsetLeft + 'px';
+
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.top = offsetTop + 'px';
+        scwID('scwIframe').style.left = offsetLeft + 'px';
+        scwID('scwIframe').style.width = (scwID('scw').offsetWidth - 2) + 'px';
+        scwID('scwIframe').style.height = (scwID('scw').offsetHeight - 2) + 'px';
+        scwID('scwIframe').style.visibility = 'visible';
+    }
+
+    // Show it on the page
+
+    scwID('scw').style.visibility = 'visible';
+
+    // Ensure that Opera actually displays the value that is selected!
+
+    scwID('scwYears').options.selectedIndex = scwID('scwYears').options.selectedIndex;
+    scwID('scwMonths').options.selectedIndex = scwID('scwMonths').options.selectedIndex;
+
+    var el = (scwSourceEle.parentNode)
+            ? scwSourceEle.parentNode
+            : scwSourceEle;
+
+    if (typeof event == 'undefined')
+    {
+        el.addEventListener('click',
+                scwStopPropagation,
+                false);
+    }
+    else {
+        if (el.attachEvent)
+        {
+            el.attachEvent('onclick', scwStopPropagation);
+        }
+        else {
+            event.cancelBubble = true;
+        }
+    }
+}
+
+function scwHide()
+{
+    scwID('scw').style.visibility = 'hidden';
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.visibility = 'hidden';
+    }
+
+    if (typeof scwNextAction != 'undefined' && scwNextAction != null)
+    {
+        scwNextActionReturn = scwNextAction();
+        // Explicit null set to prevent closure causing memory leak
+        scwNextAction = null;
+    }
+}
+
+function scwCancel(scwEvt)
+{
+    if (scwClickToHide) scwHide();
+    scwStopPropagation(scwEvt);
+}
+
+function scwStopPropagation(scwEvt)
+{
+    if (scwEvt.stopPropagation)
+        scwEvt.stopPropagation();     // Capture phase
+    else   scwEvt.cancelBubble = true;
+    // Bubbling phase
+}
+
+function scwBeginDrag(event)
+{
+    var elementToDrag = scwID('scw');
+
+    var deltaX = event.clientX,
+            deltaY = event.clientY,
+            offsetEle = elementToDrag;
+
+    do {
+        deltaX -= parseInt(offsetEle.offsetLeft, 10);
+        deltaY -= parseInt(offsetEle.offsetTop, 10);
+        offsetEle = offsetEle.offsetParent;
+    }
+    while (offsetEle.tagName != 'BODY' &&
+           offsetEle.tagName != 'HTML');
+
+    if (document.addEventListener)
+    {
+        document.addEventListener('mousemove',
+                moveHandler,
+                true);
+        // Capture phase
+        document.addEventListener('mouseup',
+                upHandler,
+                true);
+        // Capture phase
+    }
+    else {
+        elementToDrag.attachEvent('onmousemove',
+                moveHandler);
+        // Bubbling phase
+        elementToDrag.attachEvent('onmouseup',
+                upHandler);
+        // Bubbling phase
+        elementToDrag.setCapture();
+    }
+
+    scwStopPropagation(event);
+
+    function moveHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        elementToDrag.style.left = (scwEvt.clientX - deltaX) + 'px';
+        elementToDrag.style.top = (scwEvt.clientY - deltaY) + 'px';
+
+        if (scwID('scwIframe'))
+        {
+            scwID('scwIframe').style.left =
+            (scwEvt.clientX - deltaX) + 'px';
+            scwID('scwIframe').style.top =
+            (scwEvt.clientY - deltaY) + 'px';
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+
+    function upHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        if (document.removeEventListener)
+        {
+            document.removeEventListener('mousemove',
+                    moveHandler,
+                    true);
+            // Capture phase
+            document.removeEventListener('mouseup',
+                    upHandler,
+                    true);
+            // Capture phase
+        }
+        else {
+            elementToDrag.detachEvent('onmouseup',
+                    upHandler);
+            // Bubbling phase
+            elementToDrag.detachEvent('onmousemove',
+                    moveHandler);
+            // Bubbling phase
+            elementToDrag.releaseCapture();
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+}
+
+function scwShowMonth(scwBias)
+{// Set the selectable Month and Year
+    // May be called: from the left and right arrows
+    //                  (shift month -1 and +1 respectively)
+    //                from the month selection list
+    //                from the year selection list
+    //                from the showCal routine
+    //                  (which initiates the display).
+
+    var scwShowDate = new Date(Date.parse(new Date().toDateString())),
+            scwStartDate = new Date();
+
+    // Set the time to the middle of the day so that the handful of
+    // regions that have daylight saving shifts that change the day
+    // of the month (i.e. turn the clock back at midnight or forward
+    // at 23:00) do not mess up the date display in the calendar.
+
+    scwShowDate.setHours(12);
+
+    scwSelYears = scwID('scwYears');
+    scwSelMonths = scwID('scwMonths');
+
+    if (scwSelYears.options.selectedIndex > -1)
+    {
+        scwMonthSum = 12 * (scwSelYears.options.selectedIndex) + scwBias;
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+    else
+    {
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+
+    scwShowDate.setFullYear(scwBaseYear + Math.floor(scwMonthSum / 12),
+            (scwMonthSum % 12),
+            1);
+
+    // If the Week numbers are displayed, shift the week day names
+    // to the right.
+    scwID('scwWeek_').style.display =
+    (scwWeekNumberDisplay)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-cell')
+            : 'none';
+
+    if ((12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) < (12 * scwDropDownYears) &&
+        (12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) > -1)
+    {
+        scwSelYears.options.selectedIndex = Math.floor(scwMonthSum / 12);
+        scwSelMonths.options.selectedIndex = (scwMonthSum % 12);
+
+        scwCurMonth = scwShowDate.getMonth();
+
+        scwShowDate.setDate((((scwShowDate.
+                getDay() - scwWeekStart) < 0) ? -6 : 1) +
+                            scwWeekStart - scwShowDate.getDay());
+
+        // This statement moved by Michael Cerveny to make version 3.55
+        var scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                scwShowDate.getMonth(),
+                scwShowDate.getDate()).valueOf();
+
+        scwStartDate = new Date(scwShowDate);
+
+        var scwFoot = scwID('scwFoot');
+
+        function scwFootOutput() {
+            scwSetOutput(scwDateNow);
+        }
+
+        if (scwDisabledDates.length == 0)
+        {
+            if (scwActiveToday && scwParmActiveToday)
+            {
+                scwFoot.onclick = scwFootOutput;
+                scwFoot.className = 'scwFoot';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = scwChangeClass;
+                    scwFoot.onmouseout = scwChangeClass;
+                }
+
+            }
+            else
+            {
+                scwFoot.onclick = null;
+                scwFoot.className = 'scwFootDisabled';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = null;
+                    scwFoot.onmouseout = null;
+                }
+
+                if (document.addEventListener)
+                {
+                    scwFoot.addEventListener('click',
+                            scwStopPropagation,
+                            false);
+                }
+                else {
+                    scwFoot.attachEvent('onclick',
+                            scwStopPropagation);
+                }
+            }
+        }
+        else
+        {
+            for (var k = 0; k < scwDisabledDates.length; k++)
+            {
+                if (!scwActiveToday || !scwParmActiveToday ||
+                    ((typeof scwDisabledDates[k] == 'object') &&
+                     (((scwDisabledDates[k].constructor == Date) &&
+                       scwDateNow.valueOf() == scwDisabledDates[k].
+                               valueOf()
+                             ) ||
+                      ((scwDisabledDates[k].constructor == Array) &&
+                       scwDateNow.valueOf() >= scwDisabledDates[k][0].
+                               valueOf() &&
+                       scwDateNow.valueOf() <= scwDisabledDates[k][1].
+                               valueOf()
+                              )
+                             )
+                            )
+                        )
+                {
+                    scwFoot.onclick = null;
+                    scwFoot.className = 'scwFootDisabled';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = null;
+                        scwFoot.onmouseout = null;
+                    }
+
+                    if (document.addEventListener)
+                    {
+                        scwFoot.addEventListener('click',
+                                scwStopPropagation,
+                                false);
+                    }
+                    else {
+                        scwFoot.attachEvent('onclick',
+                                scwStopPropagation);
+                    }
+                    break;
+                }
+                else
+                {
+                    scwFoot.onclick = scwFootOutput;
+                    scwFoot.className = 'scwFoot';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = scwChangeClass;
+                        scwFoot.onmouseout = scwChangeClass;
+                    }
+                }
+            }
+        }
+
+        function scwSetOutput(scwOutputDate)
+        {
+            if (typeof scwTargetEle.value == 'undefined')
+            {
+                scwTriggerEle.scwTextNode.
+                        replaceData(0, scwTriggerEle.scwLength,
+                        scwOutputDate.scwFormat(scwDateOutputFormat));
+            }
+            else
+            {
+                scwTargetEle.value =
+                scwOutputDate.scwFormat(scwDateOutputFormat);
+            }
+            scwHide();
+        }
+
+        function scwCellOutput(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt),
+                    scwOutputDate = new Date(scwStartDate);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            scwOutputDate.setDate(scwStartDate.getDate() +
+                                  parseInt(scwEle.id.substr(8), 10));
+
+            scwSetOutput(scwOutputDate);
+        }
+
+        function scwChangeClass(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            switch (scwEle.className)
+                    {case 'scwCells':
+                scwEle.className = 'scwCellsHover';
+                break;
+                case 'scwCellsHover':
+                    scwEle.className = 'scwCells';
+                    break;
+                case 'scwCellsExMonth':
+                    scwEle.className = 'scwCellsExMonthHover';
+                    break;
+                case 'scwCellsExMonthHover':
+                    scwEle.className = 'scwCellsExMonth';
+                    break;
+                case 'scwCellsWeekend':
+                    scwEle.className = 'scwCellsWeekendHover';
+                    break;
+                case 'scwCellsWeekendHover':
+                    scwEle.className = 'scwCellsWeekend';
+                    break;
+                case 'scwFoot':
+                    scwEle.className = 'scwFootHover';
+                    break;
+                case 'scwFootHover':
+                    scwEle.className = 'scwFoot';
+                    break;
+                case 'scwInputDate':
+                    scwEle.className = 'scwInputDateHover';
+                    break;
+                case 'scwInputDateHover':
+                    scwEle.className = 'scwInputDate';
+            }
+
+            return true;
+        }
+
+        function scwEventTrigger(scwEvt)
+        {
+            if (!scwEvt) scwEvt = event;
+            return scwEvt.target || scwEvt.srcElement;
+        }
+
+        function scwWeekNumber(scwInDate)
+        {// The base day in the week of the input date
+            var scwInDateWeekBase = new Date(scwInDate);
+
+            scwInDateWeekBase.setDate(scwInDateWeekBase.getDate()
+                    - scwInDateWeekBase.getDay()
+                    + scwWeekNumberBaseDay
+                    + ((scwInDate.getDay() >
+                        scwWeekNumberBaseDay) ? 7 : 0));
+
+            // The first Base Day in the year
+            var scwFirstBaseDay =
+                    new Date(scwInDateWeekBase.getFullYear(), 0, 1)
+
+            scwFirstBaseDay.setDate(scwFirstBaseDay.getDate()
+                    - scwFirstBaseDay.getDay()
+                    + scwWeekNumberBaseDay
+                    );
+
+            if (scwFirstBaseDay <
+                new Date(scwInDateWeekBase.getFullYear(), 0, 1))
+            {
+                scwFirstBaseDay.setDate(scwFirstBaseDay.getDate() + 7);
+            }
+
+            // Start of Week 01
+            var scwStartWeekOne = new Date(scwFirstBaseDay
+                    - scwWeekNumberBaseDay
+                    + scwInDate.getDay());
+
+            if (scwStartWeekOne > scwFirstBaseDay)
+            {
+                scwStartWeekOne.setDate(scwStartWeekOne.getDate() - 7);
+            }
+
+            // Subtract the date of the current week from the date of the
+            // first week of the year to get the number of weeks in
+            // milliseconds.  Divide by the number of milliseconds
+            // in a week then round to no decimals in order to remove
+            // the effect of daylight saving.  Add one to make the first
+            // week, week 1.  Place a string zero on the front so that
+            // week numbers are zero filled.
+
+            var scwWeekNo =
+                    '0' + (Math.round((scwInDateWeekBase -
+                                       scwFirstBaseDay) / 604800000, 0) + 1);
+
+            // Return the last two characters in the week number string
+
+            return scwWeekNo.substring(scwWeekNo.length - 2,
+                    scwWeekNo.length);
+        }
+
+        // Treewalk to display the dates.
+        // I tried to use getElementsByName but IE refused to cooperate
+        // so I resorted to this method which works for all tested
+        // browsers.
+
+        var scwCells = scwID('scwCells');
+
+        for (i = 0; i < scwCells.childNodes.length; i++)
+        {
+            var scwRows = scwCells.childNodes[i];
+            if (scwRows.nodeType == 1 && scwRows.tagName == 'TR')
+            {
+                if (scwWeekNumberDisplay)
+                {//Calculate the week number using scwShowDate
+                    scwRows.childNodes[0].innerHTML =
+                    scwWeekNumber(scwShowDate);
+                    scwRows.childNodes[0].style.display =
+                    (scwID('scwIFrame'))
+                            ? 'block'
+                            : 'table-cell';
+                }
+                else
+                {
+                    scwRows.childNodes[0].style.display = 'none';
+                }
+
+                for (j = 1; j < scwRows.childNodes.length; j++)
+                {
+                    var scwCols = scwRows.childNodes[j];
+                    if (scwCols.nodeType == 1 && scwCols.tagName == 'TD')
+                    {
+                        scwRows.childNodes[j].innerHTML =
+                        scwShowDate.getDate();
+                        var scwCell = scwRows.childNodes[j],
+                                scwDisabled =
+                                        ((scwOutOfRangeDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwBaseYear, 0, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwBaseYear +
+                                                     scwDropDownYears, 0, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                ) ||
+                                         (scwOutOfMonthDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth + 1, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                 )
+                                                ) ? true : false;
+
+                        scwCell.style.visibility =
+                        (scwOutOfMonthHide &&
+                         (scwShowDate <
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth, 1,
+                                  scwShowDate.getHours()))
+                                 ||
+                          scwShowDate >
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth + 1, 0,
+                                  scwShowDate.getHours()))
+                                 )
+                                ) ? 'hidden' : '';
+
+                        for (var k = 0; k < scwDisabledDates.length; k++)
+                        {
+                            if ((typeof scwDisabledDates[k] == 'object')
+                                    &&
+                                (scwDisabledDates[k].constructor ==
+                                 Date
+                                        )
+                                    &&
+                                scwCompareDateValue ==
+                                scwDisabledDates[k].valueOf()
+                                    )
+                            {
+                                scwDisabled = true;
+                            }
+                            else
+                            {
+                                if ((typeof scwDisabledDates[k] == 'object')
+                                        &&
+                                    (scwDisabledDates[k].constructor ==
+                                     Array
+                                            )
+                                        &&
+                                    scwCompareDateValue >=
+                                    scwDisabledDates[k][0].valueOf()
+                                        &&
+                                    scwCompareDateValue <=
+                                    scwDisabledDates[k][1].valueOf()
+                                        )
+                                {
+                                    scwDisabled = true;
+                                }
+                            }
+                        }
+
+                        if (scwDisabled ||
+                            !scwEnabledDay[j - 1 + (7 * ((i * scwCells.
+                                    childNodes.
+                                    length) / 6))] ||
+                            !scwPassEnabledDay[(j - 1 + (7 * (i * scwCells.
+                                    childNodes.
+                                    length / 6))) % 7]
+                                )
+                        {
+                            scwRows.childNodes[j].onclick = null;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover = null;
+                                scwRows.childNodes[j].onmouseout = null;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonthDisabled'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDateDisabled'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekendDisabled'
+                                    : 'scwCellsDisabled';
+                        }
+                        else
+                        {
+                            scwRows.childNodes[j].onclick = scwCellOutput;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover =
+                                scwChangeClass;
+                                scwRows.childNodes[j].onmouseout =
+                                scwChangeClass;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonth'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDate'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekend'
+                                    : 'scwCells';
+
+                        }
+
+                        scwShowDate.setDate(scwShowDate.getDate() + 1);
+                        scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                                scwShowDate.getMonth(),
+                                scwShowDate.getDate()).valueOf();
+                    }
+                }
+            }
+        }
+    }
+    // Force a re-draw to prevent Opera's poor dynamic rendering
+    // from leaving garbage in the calendar when the displayed
+    // month is changed.
+    scwID('scw').style.visibility = 'hidden';
+    scwID('scw').style.visibility = 'visible';
+}
+
+// *************************
+//  End of Function Library
+// *************************
+// ***************************
+// Start of Calendar structure
+// ***************************
+
+document.write(
+        "<!--[if IE]>" +
+        "<iframe class='scw' src='/scwblank.html' " +
+        "id='scwIframe' name='scwIframe' " +
+        "frameborder='0'>" +
+        "</iframe>" +
+        "<![endif]-->" +
+        "<table id='scw' class='scw'>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwHead' id='scwHead' width='100%' " +
+        "cellspacing='0' cellpadding='0'>" +
+        "<tr id='scwDrag' style='display:none;'>" +
+        "<td colspan='4' class='scwDrag' " +
+        "onmousedown='scwBeginDrag(event);'>" +
+        "<div id='scwDragText'></div>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scwHead' >" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadLeft' type='button' value='<' " +
+        "onclick='scwShowMonth(-1);'  /></td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwMonths' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwYears' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadRight' type='button' value='>' " +
+        "onclick='scwShowMonth(1);' /></td>" +
+        "</tr>" +
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwCells' align='center'>" +
+        "<thead>" +
+        "<tr><td class='scwWeekNumberHead' id='scwWeek_' ></td>");
+
+for (i = 0; i < 7; i++)
+    document.write("<td class='scwWeek' id='scwWeekInit" + i + "'></td>");
+
+document.write("</tr>" +
+               "</thead>" +
+               "<tbody id='scwCells' " +
+               "onClick='scwStopPropagation(event);'>");
+
+for (i = 0; i < 6; i++)
+{
+    document.write(
+            "<tr>" +
+            "<td class='scwWeekNo' id='scwWeek_" + i + "'></td>");
+    for (j = 0; j < 7; j++)
+    {
+        document.write(
+                "<td class='scwCells' id='scwCell_" + (j + (i * 7)) +
+                "'></td>");
+    }
+
+    document.write(
+            "</tr>");
+}
+
+document.write(
+        "</tbody>");
+
+if ((new Date(scwBaseYear + scwDropDownYears, 11, 32)) > scwDateNow &&
+    (new Date(scwBaseYear, 0, 0)) < scwDateNow)
+{
+    document.write(
+            "<tfoot class='scwFoot'>" +
+            "<tr class='scwFoot'>" +
+            "<td class='scwFoot' id='scwFoot' colspan='8'>" +
+            "</td>" +
+            "</tr>" +
+            "</tfoot>");
+}
+
+document.write(
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "</table>");
+
+if (document.addEventListener)
+{
+    scwID('scw').addEventListener('click', scwCancel, false);
+    scwID('scwHeadLeft').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('change', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('click', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('change', scwStopPropagation, false);
+    scwID('scwHeadRight').addEventListener('click', scwStopPropagation, false);
+}
+else {
+    scwID('scw').attachEvent('onclick', scwCancel);
+    scwID('scwHeadLeft').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onchange', scwStopPropagation);
+    scwID('scwYears').attachEvent('onclick', scwStopPropagation);
+    scwID('scwYears').attachEvent('onchange', scwStopPropagation);
+    scwID('scwHeadRight').attachEvent('onclick', scwStopPropagation);
+}
+
+// ***************************
+//  End of Calendar structure
+// ***************************
+// ****************************************
+// Start of document level event definition
+// ****************************************
+
+if (document.addEventListener)
+{
+    document.addEventListener('click', scwHide, false);
+}
+else {
+    document.attachEvent('onclick', scwHide);
+}
+
+// ****************************************
+//  End of document level event definition
+// ****************************************
+// ************************************
+//  End of Simple Calendar Widget Code
+// ************************************
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body class="mceContentBody">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Bold (Ctrl+B)',
+italic_desc : 'Italic (Ctrl+I)',
+underline_desc : 'Underline (Ctrl+U)',
+striketrough_desc : 'Strikethrough',
+justifyleft_desc : 'Align left',
+justifycenter_desc : 'Align center',
+justifyright_desc : 'Align right',
+justifyfull_desc : 'Align full',
+bullist_desc : 'Unordered list',
+numlist_desc : 'Ordered list',
+outdent_desc : 'Outdent',
+indent_desc : 'Indent',
+undo_desc : 'Undo (Ctrl+Z)',
+redo_desc : 'Redo (Ctrl+Y)',
+link_desc : 'Insert/edit link',
+unlink_desc : 'Unlink',
+image_desc : 'Insert/edit image',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : 'Insert/edit link',
+insert : 'Insert',
+update : 'Update',
+cancel : 'Cancel',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Open link in the same window',
+insert_link_target_blank : 'Open link in a new window',
+insert_image_title : 'Insert/edit image',
+insert_image_src : 'Image URL',
+insert_image_alt : 'Image description',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+Beginning with version 2.0.5 the language packs are no
+longer included with the core distribution.
+Language packs can be downloaded from the TinyMCE website:
+http://tinymce.moxiecode.com/download.php
+
+The language pack codes are based on ISO-639-1:
+http://www.loc.gov/standards/iso639-2/englangn.html
+
+Plrease try using entities if possible. Like &aring; etc for non a-z characters.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/license.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.panel_wrapper div.current {
+	height: 80px;
+}
+
+#width {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#width2 {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#size {
+	width: 100px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advhr');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):""}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'})}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />')}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'})}}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advhr');
+
+var TinyMCE_AdvancedHRPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced HR',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "advhr":
+				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceAdvanceHr command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceAdvancedHr":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme
+				template['width']  = 250;
+				template['height'] = 160;
+
+				template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
+
+				var size = "", width = "", noshade = "";
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
+					tinyMCE.hrElement = tinyMCE.selectedElement;
+
+					if (tinyMCE.hrElement) {
+						size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
+						width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
+						noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
+					}
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
+				} else {
+					if (tinyMCE.isMSIE) {
+						tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
+					} else {
+						tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
+					}
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "HR") {
+				tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	formObj.width.value  = tinyMCE.getWindowArg('width');
+	formObj.size.value   = tinyMCE.getWindowArg('size');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
+	if (tinyMCE.getWindowArg('noshade')) {
+		formObj.noshade.checked = true;
+	}
+	if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = formObj.width.value.substring(0,formObj.width.value.length-1);
+	}
+}
+
+function insertHR() {
+	var formObj = document.forms[0];
+	var width   = formObj.width.value;
+	var size    = formObj.size.value;
+	var html = '<hr';
+	if (size!='' && size!=0) {
+		html += ' size="' + size + '"';
+	}
+	if (width!='' && width!=0) {
+		html += ' width="' + width;
+		if (formObj.width2.value=='%') {
+			html += '%';
+		}
+		html += '"';
+	}
+	if (formObj.noshade.checked==true) {
+		html += ' noshade="noshade"';
+	}
+	html += ' />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Horizontale rule',
+insert_advhr_width : 'Width',
+insert_advhr_size : 'Height',
+insert_advhr_noshade : 'No shadow'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_advhr_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<link href="css/advhr.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');">
+<form onsubmit="insertHR();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<table border="0" cellpadding="4" cellspacing="0">
+                    <tr>
+                        <td><label for="width">{$lang_insert_advhr_width}</label></td>
+                        <td nowrap="nowrap">
+                            <input id="width" name="width" type="text" value="" />
+                            <select name="width2" id="width2">
+                                <option value="">px</option>
+                                <option value="%">%</option>
+                            </select>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td><label for="size">{$lang_insert_advhr_size}</label></td>
+                        <td><select id="size" name="size">
+                            <option value="">Normal</option>
+                            <option value="1">1</option>
+                            <option value="2">2</option>
+                            <option value="3">3</option>
+                            <option value="4">4</option>
+                            <option value="5">5</option>
+                        </select></td>
+                    </tr>
+                    <tr>
+                        <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
+                        <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
+                    </tr>
+            </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+/* CSS file for advimage plugin popup */
+
+.mceImageList {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.alignPreview {
+	border: 1px solid black;
+	width: 140px;
+	height: 140px;
+	overflow: hidden;
+	padding: 5px;
+}
+
+.checkbox {
+	border: 0;
+}
+
+.panel_wrapper div.current {
+	height: 305px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px
+	solid black;
+	width: 99%;
+	height: 150px;
+	overflow: auto;
+}
+
+#align, #classlist {
+	width: 150px;
+}
+
+#width, #height {
+	vertical-align: middle;
+	width: 50px;
+	text-align: center;
+}
+
+#vspace, #hspace, #border {
+	vertical-align: middle;
+	width: 30px;
+	text-align: center;
+}
+
+#classlist {
+	width: 180px;
+}
+
+input {
+	width: 280px;
+}
+
+#constrain, #onmousemovecheck {
+	width: auto;
+}
+
+#id, #dir, #lang, #usemap, #longdesc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advimage');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img"),src,i;for(i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_advimage','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advimage','mceButtonNormal');return true},_getImageSrc:function(s){var sr,p=-1;if(!s)return"";if((p=s.indexOf('this.src='))!=-1){sr=s.substring(p+10);sr=sr.substring(0,sr.indexOf('\''));return sr}return""}};tinyMCE.addPlugin("advimage",TinyMCE_AdvancedImagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advimage');
+
+var TinyMCE_AdvancedImagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced image',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "image":
+				return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvImage":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advimage/image.htm';
+				template['width']  = 480;
+				template['height'] = 380;
+
+				// Language specific width and height addons
+				template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
+
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = inst.getFocusElement();
+
+				if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
+					return true;
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var imgs = content.getElementsByTagName("img"), src, i;
+				for (i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+				tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
+
+		return true;
+	},
+
+	/**
+	 * Returns the image src from a scripted mouse over image str.
+	 *
+	 * @param {string} s String to get real src from.
+	 * @return Image src from a scripted mouse over image str.
+	 * @type string
+	 */
+	_getImageSrc : function(s) {
+		var sr, p = -1;
+
+		if (!s)
+			return "";
+
+		if ((p = s.indexOf('this.src=')) != -1) {
+			sr = s.substring(p + 10);
+			sr = sr.substring(0, sr.indexOf('\''));
+
+			return sr;
+		}
+
+		return "";
+	}
+};
+
+tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advimage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#"> 
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+						<legend>{$lang_advimage_general}</legend>
+
+						<table class="properties">
+							<tr>
+								<td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
+								<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+									<tr> 
+									  <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td> 
+									  <td id="srcbrowsercontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistsrcrow">
+								<td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
+								<td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td> 
+								<td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> 
+							</tr> 
+							<tr> 
+								<td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td> 
+								<td colspan="2"><input id="title" name="title" type="text" value="" /></td> 
+							</tr>
+						</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_tab_appearance}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr> 
+							<td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td> 
+							<td><select id="align" name="align" onchange="changeAppearance();"> 
+									<option value="">{$lang_insert_image_align_default}</option> 
+									<option value="baseline">{$lang_insert_image_align_baseline}</option> 
+									<option value="top">{$lang_insert_image_align_top}</option> 
+									<option value="middle">{$lang_insert_image_align_middle}</option> 
+									<option value="bottom">{$lang_insert_image_align_bottom}</option> 
+									<option value="texttop">{$lang_insert_image_align_texttop}</option> 
+									<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option> 
+									<option value="absbottom">{$lang_insert_image_align_absbottom}</option> 
+									<option value="left">{$lang_insert_image_align_left}</option> 
+									<option value="right">{$lang_insert_image_align_right}</option> 
+								</select> 
+							</td>
+							<td rowspan="6" valign="top">
+								<div class="alignPreview">
+									<img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
+									Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
+									nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
+									edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
+									erat volutpat.
+								</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
+							<td nowrap="nowrap">
+								<input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="changeHeight();" /> x 
+								<input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="changeWidth();" /> px
+							</td>
+						</tr>
+
+						<tr>
+							<td>&nbsp;</td>
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
+									</tr>
+								</table></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td> 
+							<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" />
+							</td>
+						</tr>
+
+						<tr> 
+							<td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td> 
+							<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td> 
+							<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td colspan="2">
+								 <select id="classlist" name="classlist">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td> 
+							<td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td> 
+						</tr>
+
+						<!-- <tr>
+							<td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td> 
+							<td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> 
+						</tr> -->
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_swap_image}</legend>
+
+					<input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
+					<label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+							<tr>
+								<td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td> 
+								<td><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> 
+									  <td id="onmouseoversrccontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistoverrow">
+								<td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
+								<td id="imagelistovercontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td> 
+								<td class="column2"><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> 
+									  <td id="onmouseoutsrccontainer">&nbsp;</td>
+									</tr> 
+								  </table></td> 
+							</tr>
+							<tr id="imagelistoutrow">
+								<td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
+								<td id="imagelistoutcontainer">&nbsp;</td>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_misc}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" onchange="changeAppearance();"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advimage_ltr}</option> 
+										<option value="rtl">{$lang_advimage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td> 
+							<td>
+								<input id="usemap" name="usemap" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
+							<td><table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+									  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
+									  <td id="longdesccontainer">&nbsp;</td>
+									</tr>
+								</table></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
+			</div>
+		</div>
+    </form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,534 @@
+/* Functions for the advimage plugin popup */
+
+var preloadImg = null;
+var orgImageWidth, orgImageHeight;
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_image_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function getImageSrc(str) {
+	var pos = -1;
+
+	if (!str)
+		return "";
+
+	if ((pos = str.indexOf('this.src=')) != -1) {
+		var src = str.substring(pos + 10);
+
+		src = src.substring(0, src.indexOf('\''));
+
+		if (tinyMCE.getParam('convert_urls'))
+			src = convertURL(src, null, true);
+
+		return src;
+	}
+
+	return "";
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html = "";
+
+	// Image list src
+	html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
+	if (html == "")
+		document.getElementById("imagelistsrcrow").style.display = 'none';
+	else
+		document.getElementById("imagelistsrccontainer").innerHTML = html;
+
+	// Image list oversrc
+	html = getImageListHTML('imagelistover','onmouseoversrc');
+	if (html == "")
+		document.getElementById("imagelistoverrow").style.display = 'none';
+	else
+		document.getElementById("imagelistovercontainer").innerHTML = html;
+
+	// Image list outsrc
+	html = getImageListHTML('imagelistout','onmouseoutsrc');
+	if (html == "")
+		document.getElementById("imagelistoutrow").style.display = 'none';
+	else
+		document.getElementById("imagelistoutcontainer").innerHTML = html;
+
+	// Src browser
+	html = getBrowserHTML('srcbrowser','src','image','advimage');
+	document.getElementById("srcbrowsercontainer").innerHTML = html;
+
+	// Over browser
+	html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
+	document.getElementById("onmouseoversrccontainer").innerHTML = html;
+
+	// Out browser
+	html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
+	document.getElementById("onmouseoutsrccontainer").innerHTML = html;
+
+	// Longdesc browser
+	html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
+	document.getElementById("longdesccontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '260px';
+
+	if (isVisible('oversrcbrowser'))
+		document.getElementById('onmouseoversrc').style.width = '260px';
+
+	if (isVisible('outsrcbrowser'))
+		document.getElementById('onmouseoutsrc').style.width = '260px';
+
+	if (isVisible('longdescbrowser'))
+		document.getElementById('longdesc').style.width = '180px';
+
+	// Check action
+	if (elm != null && elm.nodeName == "IMG")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	if (action == "update") {
+		var src = tinyMCE.getAttrib(elm, 'src');
+		var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+
+		src = convertURL(src, elm, true);
+
+		// Use mce_src if found
+		var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
+		if (mceRealSrc != "") {
+			src = mceRealSrc;
+
+			if (tinyMCE.getParam('convert_urls'))
+				src = convertURL(src, elm, true);
+		}
+
+		if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoversrc = convertURL(onmouseoversrc, elm, true);
+
+		if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
+
+		// Setup form data
+		var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
+
+		// Store away old size
+		orgImageWidth = trimSize(getStyle(elm, 'width'))
+		orgImageHeight = trimSize(getStyle(elm, 'height'));
+
+		formObj.src.value    = src;
+		formObj.alt.value    = tinyMCE.getAttrib(elm, 'alt');
+		formObj.title.value  = tinyMCE.getAttrib(elm, 'title');
+		formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
+		formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
+		formObj.width.value  = orgImageWidth;
+		formObj.height.value = orgImageHeight;
+		formObj.onmouseoversrc.value = onmouseoversrc;
+		formObj.onmouseoutsrc.value  = onmouseoutsrc;
+		formObj.id.value  = tinyMCE.getAttrib(elm, 'id');
+		formObj.dir.value  = tinyMCE.getAttrib(elm, 'dir');
+		formObj.lang.value  = tinyMCE.getAttrib(elm, 'lang');
+		formObj.longdesc.value  = tinyMCE.getAttrib(elm, 'longdesc');
+		formObj.usemap.value  = tinyMCE.getAttrib(elm, 'usemap');
+		formObj.style.value  = tinyMCE.serializeStyle(style);
+
+		// Select by the values
+		if (tinyMCE.isMSIE)
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
+		else
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
+
+		addClassesToList('classlist', 'advimage_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
+		selectByValue(formObj, 'imagelistsrc', src);
+		selectByValue(formObj, 'imagelistover', onmouseoversrc);
+		selectByValue(formObj, 'imagelistout', onmouseoutsrc);
+
+		updateStyle();
+		showPreviewImage(src, true);
+		changeAppearance();
+
+		window.focus();
+	} else
+		addClassesToList('classlist', 'advimage_styles');
+
+	// If option enabled default contrain proportions to checked
+	if (tinyMCE.getParam("advimage_constrain_proportions", true))
+		formObj.constrain.checked = true;
+
+	// Check swap image if valid data
+	if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
+		setSwapImageDisabled(false);
+	else
+		setSwapImageDisabled(true);
+}
+
+function setSwapImageDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.onmousemovecheck.checked = !state;
+
+	setBrowserDisabled('overbrowser', state);
+	setBrowserDisabled('outbrowser', state);
+
+	if (formObj.imagelistover)
+		formObj.imagelistover.disabled = state;
+
+	if (formObj.imagelistout)
+		formObj.imagelistout.disabled = state;
+
+	formObj.onmouseoversrc.disabled = state;
+	formObj.onmouseoutsrc.disabled  = state;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib, value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib == "longdesc")
+			attrib = "longDesc";
+
+		if (attrib == "width") {
+			attrib = "style.width";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "height") {
+			attrib = "style.height";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var formObj = document.forms[0];
+	var src = formObj.src.value;
+	var onmouseoversrc = formObj.onmouseoversrc.value;
+	var onmouseoutsrc = formObj.onmouseoutsrc.value;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	if (tinyMCE.getParam("accessibility_warnings")) {
+		if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
+			return;
+	}
+
+	if (onmouseoversrc && onmouseoversrc != "")
+		onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
+
+	if (onmouseoutsrc && onmouseoutsrc != "")
+		onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
+
+	if (elm != null && elm.nodeName == "IMG") {
+		setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
+		setAttrib(elm, 'mce_src', src);
+		setAttrib(elm, 'alt');
+		setAttrib(elm, 'title');
+		setAttrib(elm, 'border');
+		setAttrib(elm, 'vspace');
+		setAttrib(elm, 'hspace');
+		setAttrib(elm, 'width');
+		setAttrib(elm, 'height');
+		setAttrib(elm, 'onmouseover', onmouseoversrc);
+		setAttrib(elm, 'onmouseout', onmouseoutsrc);
+		setAttrib(elm, 'id');
+		setAttrib(elm, 'dir');
+		setAttrib(elm, 'lang');
+		setAttrib(elm, 'longdesc');
+		setAttrib(elm, 'usemap');
+		setAttrib(elm, 'style');
+		setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+		setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
+
+		//tinyMCEPopup.execCommand("mceRepaint");
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
+			inst.repaint();
+
+		// Refresh in old MSIE
+		if (tinyMCE.isMSIE5)
+			elm.outerHTML = elm.outerHTML;
+	} else {
+		var html = "<img";
+
+		html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
+		html += makeAttrib('mce_src', src);
+		html += makeAttrib('alt');
+		html += makeAttrib('title');
+		html += makeAttrib('border');
+		html += makeAttrib('vspace');
+		html += makeAttrib('hspace');
+		html += makeAttrib('width');
+		html += makeAttrib('height');
+		html += makeAttrib('onmouseover', onmouseoversrc);
+		html += makeAttrib('onmouseout', onmouseoutsrc);
+		html += makeAttrib('id');
+		html += makeAttrib('dir');
+		html += makeAttrib('lang');
+		html += makeAttrib('longdesc');
+		html += makeAttrib('usemap');
+		html += makeAttrib('style');
+		html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
+		html += makeAttrib('align', getSelectValue(formObj, 'align'));
+		html += " />";
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+	}
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function changeAppearance() {
+	var formObj = document.forms[0];
+	var img = document.getElementById('alignSampleImg');
+
+	if (img) {
+		img.align = formObj.align.value;
+		img.border = formObj.border.value;
+		img.hspace = formObj.hspace.value;
+		img.vspace = formObj.vspace.value;
+	}
+}
+
+function changeMouseMove() {
+	var formObj = document.forms[0];
+
+	setSwapImageDisabled(!formObj.onmousemovecheck.checked);
+}
+
+function updateStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (tinyMCE.getParam('inline_styles', false)) {
+		st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
+		st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
+		st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
+		st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+		st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+	} else {
+		st['width'] = st['height'] = st['border-width'] = null;
+
+		if (st['margin-top'] == st['margin-bottom'])
+			st['margin-top'] = st['margin-bottom'] = null;
+
+		if (st['margin-left'] == st['margin-right'])
+			st['margin-left'] = st['margin-right'] = null;
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function styleUpdated() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['width'])
+		formObj.width.value = st['width'].replace('px', '');
+
+	if (st['height'])
+		formObj.height.value = st['height'].replace('px', '');
+
+	if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
+		formObj.vspace.value = st['margin-top'].replace('px', '');
+
+	if (st['margin-left'] && st['margin-left'] == st['margin-right'])
+		formObj.hspace.value = st['margin-left'].replace('px', '');
+
+	if (st['border-width'])
+		formObj.border.value = st['border-width'].replace('px', '');
+}
+
+function changeHeight() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
+	formObj.height.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function changeWidth() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
+	formObj.width.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function onSelectMainImage(target_form_element, name, value) {
+	var formObj = document.forms[0];
+
+	formObj.alt.value = name;
+	formObj.title.value = name;
+
+	resetImageData();
+	showPreviewImage(formObj.elements[target_form_element].value, false);
+}
+
+function showPreviewImage(src, start) {
+	var formObj = document.forms[0];
+
+	selectByValue(document.forms[0], 'imagelistsrc', src);
+
+	var elm = document.getElementById('prev');
+	var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+	if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
+		resetImageData();
+
+	if (src == "")
+		elm.innerHTML = "";
+	else
+		elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData();" onerror="resetImageData();" />'
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	preloadImg = document.getElementById('previewImg');
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+
+	updateStyle();
+}
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getImageListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCEImageList.length; i++)
+		html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+// UK lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'General',
+tab_appearance : 'Appearance',
+tab_advanced : 'Advanced',
+general : 'General',
+title : 'Title',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+langdir : 'Language direction',
+langcode : 'Language code',
+long_desc : 'Long description link',
+style : 'Style',
+classes : 'Classes',
+ltr : 'Left to right',
+rtl : 'Right to left',
+id : 'Id',
+image_map : 'Image map',
+swap_image : 'Swap image',
+alt_image : 'Alternative image',
+mouseover : 'for mouse over',
+mouseout : 'for mouse out',
+misc : 'Miscellaneous',
+example_img : 'Appearance&nbsp;preview&nbsp;image',
+missing_alt : 'Are you sure you want to continue without including an Image Description? Without  it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+/* CSS file for advimage plugin popup */
+
+.mceLinkList, .mceAnchorList, #targetlist {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.panel_wrapper div.current {
+	height: 320px;
+}
+
+#classlist, #title, #href {
+	width: 280px;
+}
+
+#popupurl, #popupname {
+	width: 200px;
+}
+
+#popupwidth, #popupheight, #popupleft, #popuptop {
+	width: 30px;
+	vertical-align: middle;
+	text-align: center;
+}
+
+#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advlink');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink')},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"})}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advlink');
+
+var TinyMCE_AdvancedLinkPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced link',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "link":
+				return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvLink":
+				var anySelection = false;
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+				var selectedText = inst.selection.getSelectedText();
+
+				if (tinyMCE.selectedElement)
+					anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+				if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
+					var template = new Array();
+
+					template['file']   = '../../plugins/advlink/link.htm';
+					template['width']  = 480;
+					template['height'] = 400;
+
+					// Language specific width and height addons
+					template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
+				tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		if (any_selection) {
+			tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,568 @@
+/* Functions for the advlink plugin popup */
+
+var templates = {
+	"window.open" : "window.open('${url}','${target}','${options}')"
+};
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_link_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function changeClass() {
+	var formObj = document.forms[0];
+	formObj.classes.value = getSelectValue(formObj, 'classlist');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html;
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink');
+	document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink');
+	document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href');
+	document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href');
+	document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target');
+
+	// Link list
+	html = getLinkListHTML('linklisthref','href');
+	if (html == "")
+		document.getElementById("linklisthrefrow").style.display = 'none';
+	else
+		document.getElementById("linklisthrefcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '260px';
+
+	if (isVisible('popupurlbrowser'))
+		document.getElementById('popupurl').style.width = '180px';
+
+	elm = tinyMCE.getParentElement(elm, "a");
+	if (elm != null && elm.nodeName == "A")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	setPopupControlsDisabled(true);
+
+	if (action == "update") {
+		var href = tinyMCE.getAttrib(elm, 'href');
+
+		href = convertURL(href, elm, true);
+
+		// Use mce_href if found
+		var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
+		if (mceRealHref != "") {
+			href = mceRealHref;
+
+			if (tinyMCE.getParam('convert_urls'))
+				href = convertURL(href, elm, true);
+		}
+
+		var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+		// Setup form data
+		setFormValue('href', href);
+		setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+		setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+		setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+		setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
+		setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
+		setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
+		setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
+		setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+		setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+		setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+		setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+		setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
+		setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+		setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+		setFormValue('onclick', onclick);
+		setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+		setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+		setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+		setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+		setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+		setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+		setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+		setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+		setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
+		setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
+
+		// Parse onclick data
+		if (onclick != null && onclick.indexOf('window.open') != -1)
+			parseWindowOpen(onclick);
+		else
+			parseFunction(onclick);
+
+		// Select by the values
+		selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+		selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
+		selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
+		selectByValue(formObj, 'linklisthref', href);
+
+		if (href.charAt(0) == '#')
+			selectByValue(formObj, 'anchorlist', href);
+
+		addClassesToList('classlist', 'advlink_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
+		selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
+	} else
+		addClassesToList('classlist', 'advlink_styles');
+
+	window.focus();
+}
+
+function setFormValue(name, value) {
+	document.forms[0].elements[name].value = value;
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function parseWindowOpen(onclick) {
+	var formObj = document.forms[0];
+
+	// Preprocess center code
+	if (onclick.indexOf('return false;') != -1) {
+		formObj.popupreturn.checked = true;
+		onclick = onclick.replace('return false;', '');
+	} else
+		formObj.popupreturn.checked = false;
+
+	var onClickData = parseLink(onclick);
+
+	if (onClickData != null) {
+		formObj.ispopup.checked = true;
+		setPopupControlsDisabled(false);
+
+		var onClickWindowOptions = parseOptions(onClickData['options']);
+		var url = onClickData['url'];
+
+		if (tinyMCE.getParam('convert_urls'))
+			url = convertURL(url, null, true);
+
+		formObj.popupname.value = onClickData['target'];
+		formObj.popupurl.value = url;
+		formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
+		formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
+
+		formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
+		formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
+
+		if (formObj.popupleft.value.indexOf('screen') != -1)
+			formObj.popupleft.value = "c";
+
+		if (formObj.popuptop.value.indexOf('screen') != -1)
+			formObj.popuptop.value = "c";
+
+		formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
+		formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
+		formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
+		formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
+		formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
+		formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
+		formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
+
+		buildOnClick();
+	}
+}
+
+function parseFunction(onclick) {
+	var formObj = document.forms[0];
+	var onClickData = parseLink(onclick);
+
+	// TODO: Add stuff here
+}
+
+function getOption(opts, name) {
+	return typeof(opts[name]) == "undefined" ? "" : opts[name];
+}
+
+function setPopupControlsDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.popupname.disabled = state;
+	formObj.popupurl.disabled = state;
+	formObj.popupwidth.disabled = state;
+	formObj.popupheight.disabled = state;
+	formObj.popupleft.disabled = state;
+	formObj.popuptop.disabled = state;
+	formObj.popuplocation.disabled = state;
+	formObj.popupscrollbars.disabled = state;
+	formObj.popupmenubar.disabled = state;
+	formObj.popupresizable.disabled = state;
+	formObj.popuptoolbar.disabled = state;
+	formObj.popupstatus.disabled = state;
+	formObj.popupreturn.disabled = state;
+	formObj.popupdependent.disabled = state;
+
+	setBrowserDisabled('popupurlbrowser', state);
+}
+
+function parseLink(link) {
+	link = link.replace(new RegExp('&#39;', 'g'), "'");
+
+	var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
+
+	// Is function name a template function
+	var template = templates[fnName];
+	if (template) {
+		// Build regexp
+		var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
+		var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
+		var replaceStr = "";
+		for (var i=0; i<variableNames.length; i++) {
+			// Is string value
+			if (variableNames[i].indexOf("'${") != -1)
+				regExp += "'(.*)'";
+			else // Number value
+				regExp += "([0-9]*)";
+
+			replaceStr += "$" + (i+1);
+
+			// Cleanup variable name
+			variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
+
+			if (i != variableNames.length-1) {
+				regExp += "\\s*,\\s*";
+				replaceStr += "<delim>";
+			} else
+				regExp += ".*";
+		}
+
+		regExp += "\\);?";
+
+		// Build variable array
+		var variables = new Array();
+		variables["_function"] = fnName;
+		var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
+		for (var i=0; i<variableNames.length; i++)
+			variables[variableNames[i]] = variableValues[i];
+
+		return variables;
+	}
+
+	return null;
+}
+
+function parseOptions(opts) {
+	if (opts == null || opts == "")
+		return new Array();
+
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+}
+
+function buildOnClick() {
+	var formObj = document.forms[0];
+
+	if (!formObj.ispopup.checked) {
+		formObj.onclick.value = "";
+		return;
+	}
+
+	var onclick = "window.open('";
+	var url = formObj.popupurl.value;
+
+	if (tinyMCE.getParam('convert_urls'))
+		url = convertURL(url, null, true);
+
+	onclick += url + "','";
+	onclick += formObj.popupname.value + "','";
+
+	if (formObj.popuplocation.checked)
+		onclick += "location=yes,";
+
+	if (formObj.popupscrollbars.checked)
+		onclick += "scrollbars=yes,";
+
+	if (formObj.popupmenubar.checked)
+		onclick += "menubar=yes,";
+
+	if (formObj.popupresizable.checked)
+		onclick += "resizable=yes,";
+
+	if (formObj.popuptoolbar.checked)
+		onclick += "toolbar=yes,";
+
+	if (formObj.popupstatus.checked)
+		onclick += "status=yes,";
+
+	if (formObj.popupdependent.checked)
+		onclick += "dependent=yes,";
+
+	if (formObj.popupwidth.value != "")
+		onclick += "width=" + formObj.popupwidth.value + ",";
+
+	if (formObj.popupheight.value != "")
+		onclick += "height=" + formObj.popupheight.value + ",";
+
+	if (formObj.popupleft.value != "") {
+		if (formObj.popupleft.value != "c")
+			onclick += "left=" + formObj.popupleft.value + ",";
+		else
+			onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
+	}
+
+	if (formObj.popuptop.value != "") {
+		if (formObj.popuptop.value != "c")
+			onclick += "top=" + formObj.popuptop.value + ",";
+		else
+			onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
+	}
+
+	if (onclick.charAt(onclick.length-1) == ',')
+		onclick = onclick.substring(0, onclick.length-1);
+
+	onclick += "');";
+
+	if (formObj.popupreturn.checked)
+		onclick += "return false;";
+
+	// tinyMCE.debug(onclick);
+
+	formObj.onclick.value = onclick;
+
+	if (formObj.href.value == "")
+		formObj.href.value = url;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function getAnchorListHTML(id, target) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var nodes = inst.getBody().getElementsByTagName("a");
+
+	var html = "";
+
+	html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+	html += '<option value="">---</option>';
+
+	for (var i=0; i<nodes.length; i++) {
+		if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
+			html += '<option value="#' + name + '">' + name + '</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	elm = tinyMCE.getParentElement(elm, "a");
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	// Create new anchor elements
+	if (elm == null) {
+		if (tinyMCE.isSafari)
+			tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
+		else
+			tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
+
+		var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
+		for (var i=0; i<elementArray.length; i++) {
+			var elm = elementArray[i];
+
+			// Move cursor behind the new anchor
+			if (tinyMCE.isGecko) {
+				var sp = inst.getDoc().createTextNode(" ");
+
+				if (elm.nextSibling)
+					elm.parentNode.insertBefore(sp, elm.nextSibling);
+				else
+					elm.parentNode.appendChild(sp);
+
+				// Set range after link
+				var rng = inst.getDoc().createRange();
+				rng.setStartAfter(elm);
+				rng.setEndAfter(elm);
+
+				// Update selection
+				var sel = inst.getSel();
+				sel.removeAllRanges();
+				sel.addRange(rng);
+			}
+
+			setAllAttribs(elm);
+		}
+	} else
+		setAllAttribs(elm);
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAllAttribs(elm) {
+	var formObj = document.forms[0];
+	var href = formObj.href.value;
+	var target = getSelectValue(formObj, 'targetlist');
+
+	// Make anchors absolute
+	if (href.charAt(0) != '#')
+		href = convertURL(href, elm);
+
+	setAttrib(elm, 'href', href);
+	setAttrib(elm, 'mce_href', href);
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'target', target == '_self' ? '' : target);
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+	setAttrib(elm, 'rel');
+	setAttrib(elm, 'rev');
+	setAttrib(elm, 'charset');
+	setAttrib(elm, 'hreflang');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'type');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getLinkListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCELinkList.length; i++)
+		html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+function getTargetListHTML(elm_id, target_form_element) {
+	var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+	var html = '';
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+
+	html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
+	html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
+	html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
+	html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
+
+	for (var i=0; i<targets.length; i++) {
+		var key, value;
+
+		if (targets[i] == "")
+			continue;
+
+		key = targets[i].split('=')[0];
+		value = targets[i].split('=')[1];
+
+		html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,337 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advlink.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
+				<li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
+				<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_advlink_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+						  <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
+						  <td><table border="0" cellspacing="0" cellpadding="0">
+								<tr>
+								  <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
+								  <td id="hrefbrowsercontainer">&nbsp;</td>
+								</tr>
+							  </table></td>
+						</tr>
+						<tr id="linklisthrefrow">
+							<td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
+							<td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
+							<td colspan="2" id="anchorlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
+							<td id="targetlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
+							<td><input id="title" name="title" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td>
+								 <select id="classlist" name="classlist" onchange="changeClass();">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="popup_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advlink_popup_props}</legend>
+
+					<input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
+					<label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
+							<td>
+								<table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+										<td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
+										<td id="popupurlbrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
+							<td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
+								<input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /                                
+								<input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
+							</td>
+						</tr>
+					</table>
+
+					<fieldset>
+						<legend>{$lang_advlink_popup_opts}</legend>
+
+						<table border="0" cellpadding="0" cellspacing="4">
+							<tr>
+								<td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
+								<td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
+								<td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
+								<td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
+								<td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
+								<td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
+							</tr>
+						</table>
+					</fieldset>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
+							<td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
+							<td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advlink_ltr}</option> 
+										<option value="rtl">{$lang_advlink_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
+							<td><input type="text" id="hreflang" name="hreflang" value="" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
+							<td><input type="text" id="charset" name="charset" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
+							<td><input type="text" id="type" name="type" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
+							<td><select id="rel" name="rel"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="lightbox">Lightbox</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option>
+									<option value="nofollow">No Follow</option>
+									<option value="tag">Tag</option>
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
+							<td><select id="rev" name="rev"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option> 
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="events_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_event_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="onfocus">onfocus</label></td> 
+							<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onblur">onblur</label></td> 
+							<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onclick">onclick</label></td> 
+							<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="ondblclick">ondblclick</label></td> 
+							<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousedown">onmousedown</label></td> 
+							<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseup">onmouseup</label></td> 
+							<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseover">onmouseover</label></td> 
+							<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousemove">onmousemove</label></td> 
+							<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseout">onmouseout</label></td> 
+							<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeypress">onkeypress</label></td> 
+							<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeydown">onkeydown</label></td> 
+							<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeyup">onkeyup</label></td> 
+							<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('autosave');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg}return}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('autosave');
+
+var TinyMCE_AutoSavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Auto save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	// Private plugin internal methods
+
+	_beforeUnloadHandler : function() {
+		var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
+
+		if (tinyMCE.getParam("fullscreen_is_enabled"))
+			return;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			if (inst.isDirty())
+				return msg;
+		}
+
+		return;
+	}
+};
+
+window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
+
+tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_BBCodePlugin={getInfo:function(){return{longname:'BBCode Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},cleanup:function(type,content){var dialect=tinyMCE.getParam('bbcode_dialect','punbb').toLowerCase();switch(type){case"insert_to_editor":content=this['_'+dialect+'_bbcode2html'](content);break;case"get_from_editor":content=this['_'+dialect+'_html2bbcode'](content);break}return content},_punbb_html2bbcode:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/<font>(.*?)<\/font>/gi,"$1");rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/<u>/gi,"[u]");rep(/<br \/>/gi,"\n");rep(/<br\/>/gi,"\n");rep(/<br>/gi,"\n");rep(/<p>/gi,"");rep(/<\/p>/gi,"\n");rep(/&nbsp;/gi," ");rep(/&quot;/gi,"\"");rep(/&lt;/gi,"<");rep(/&gt;/gi,">");rep(/&amp;/gi,"&");rep(/&undefined;/gi,"'");return s},_punbb_bbcode2html:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/\n/gi,"<br />");rep(/\[b\]/gi,"<strong>");rep(/\[\/b\]/gi,"</strong>");rep(/\[i\]/gi,"<em>");rep(/\[\/i\]/gi,"</em>");rep(/\[u\]/gi,"<u>");rep(/\[\/u\]/gi,"</u>");rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");return s}};tinyMCE.addPlugin("bbcode",TinyMCE_BBCodePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+var TinyMCE_BBCodePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'BBCode Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	cleanup : function(type, content) {
+		var dialect = tinyMCE.getParam('bbcode_dialect', 'punbb').toLowerCase();
+
+		switch (type) {
+			case "insert_to_editor":
+				content = this['_' + dialect + '_bbcode2html'](content);
+				break;
+
+			case "get_from_editor":
+				content = this['_' + dialect + '_html2bbcode'](content);
+				break;
+		}
+
+		return content;
+	},
+
+	// Private methods
+
+	// HTML -> BBCode in PunBB dialect
+	_punbb_html2bbcode : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: <strong> to [b]
+		rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");
+		rep(/<font>(.*?)<\/font>/gi,"$1");
+		rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
+		rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");
+		rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");
+		rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");
+		rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");
+		rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");
+		rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");
+		rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");
+		rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");
+		rep(/<\/(strong|b)>/gi,"[/b]");
+		rep(/<(strong|b)>/gi,"[b]");
+		rep(/<\/(em|i)>/gi,"[/i]");
+		rep(/<(em|i)>/gi,"[i]");
+		rep(/<\/u>/gi,"[/u]");
+		rep(/<u>/gi,"[u]");
+		rep(/<br \/>/gi,"\n");
+		rep(/<br\/>/gi,"\n");
+		rep(/<br>/gi,"\n");
+		rep(/<p>/gi,"");
+		rep(/<\/p>/gi,"\n");
+		rep(/&nbsp;/gi," ");
+		rep(/&quot;/gi,"\"");
+		rep(/&lt;/gi,"<");
+		rep(/&gt;/gi,">");
+		rep(/&amp;/gi,"&");
+		rep(/&undefined;/gi,"'"); // quickfix
+
+		return s; 
+	},
+
+	// BBCode -> HTML from PunBB dialect
+	_punbb_bbcode2html : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: [b] to <strong>
+		rep(/\n/gi,"<br />");
+		rep(/\[b\]/gi,"<strong>");
+		rep(/\[\/b\]/gi,"</strong>");
+		rep(/\[i\]/gi,"<em>");
+		rep(/\[\/i\]/gi,"</em>");
+		rep(/\[u\]/gi,"<u>");
+		rep(/\[\/u\]/gi,"</u>");
+		rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
+		rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
+		rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");
+		rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");
+		rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");
+
+		return s; 
+	}
+};
+
+tinyMCE.addPlugin("bbcode", TinyMCE_BBCodePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
===================================================================

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Dummy file since cleanup is now moved to core */

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Dummy plugin since cleanup is now moved into core.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+.contextMenuIEPopup {
+	padding: 0;
+	margin: 0;
+	border: 0;
+	overflow: hidden;
+}
+
+.contextMenu {
+	position: absolute;
+	cursor: default;
+	z-index: 1000;
+	border: 1px solid #D4D0C8;
+	background-color: #FFFFFF;
+}
+
+.contextMenuItem, .contextMenuItemOver {
+}
+
+.contextMenuSeparator {
+	width: 100%;
+	background-color: #D4D0C8;
+	border: 0;
+}
+
+.contextMenuImage, .contextMenuItemDisabled {
+	border: 0;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemOver .contextMenuIcon {
+	background-color: #B6BDD2;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+}
+
+.contextMenuText {
+	font-family: Tahoma, Verdana, Arial, Helvetica;
+	font-size: 11px;
+	line-height: 20px;
+}
+
+.contextMenuItemDisabled {
+	color: #AAAAAA;
+}
+
+.contextMenuText a {
+	display: block;
+	line-height: 20px;
+	width: 100%;
+	text-decoration: none;
+	color: black;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}
+
+.contextMenuText a:hover {
+	background-color: #B6BDD2;
+	text-decoration: none !important;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css")}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst)})}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu)},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst)}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A'&&tinyMCE.getAttrib(elm,'name')=='')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true))}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.hasPlugin('flash')&&tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else if(tinyMCE.hasPlugin('media')&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm,'class')))contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_media_title","mceMedia");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false)}break}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert")}}contextMenu.show(x,y)},10);tinyMCE.cancelEvent(e);return false},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide()},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value)},100)}else cm.inst.execCommand(command,ui,value)}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){var doc,self=this;function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val}this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close()}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML=""},addSeparator:function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>'},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+='<a href="javascript:void(0);" onclick="'+onMouseDown+'" onmousedown="return false;">&#160;';html+=title;html+='&#160;</a>';html+='</div></td>';html+='</tr>';this.html+=html},show:function(x,y){var vp,width,height,yo;if(this.html=="")return;var html='';html+='<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height)}else{vp=this.getViewPort();yo=tinyMCE.isMSIE5_0?document.body.scrollTop:self.pageYOffset;this.contextMenuDiv.style.left=(x>vp.left+vp.width-width?vp.left+vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.top+vp.height-height?vp.top+vp.height-height:y)+'px';this.contextMenuDiv.style.display="block"}},getViewPort:function(){return{left:self.pageXOffset||self.document.documentElement.scrollLeft||self.document.body.scrollLeft,top:self.pageYOffset||self.document.documentElement.scrollTop||self.document.body.scrollTop,width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none"},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);")}};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,357 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
+	tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
+}
+
+var TinyMCE_ContextMenuPlugin = {
+	// Private fields
+	_contextMenu : null,
+
+	getInfo : function() {
+		return {
+			longname : 'Context menus',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Is not working on MSIE 5.0 or Opera no contextmenu event
+		if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
+			return;
+
+		TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
+			commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
+			spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
+		});
+
+		// Add hide event handles
+		tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+
+		// Attach contextmenu event
+		if (tinyMCE.isGecko) {
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
+		} else
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
+	},
+
+	// Private plugin internal methods
+
+	_onContextMenu : function(e) {
+		var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+		var targetInst, body;
+
+		// Find instance
+		if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
+			for (var n in tinyMCE.instances) {
+				var inst = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(inst))
+					continue;
+
+				if (body == inst.getBody()) {
+					targetInst = inst;
+					break;
+				}
+			}
+
+			return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
+		}
+	},
+
+	_showContextMenu : function(e, inst) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		var x, y, elm, contextMenu;
+		var pos = tinyMCE.getAbsPosition(inst.iframeElement);
+
+		x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
+		y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
+		elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+		contextMenu = this._contextMenu;
+		contextMenu.inst = inst;
+
+		// Mozilla needs some time
+		window.setTimeout(function () {
+			var theme = tinyMCE.getParam("theme");
+
+			contextMenu.clearAll();
+			var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
+
+			// Default items
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
+
+			if (sel || (elm ? (elm.nodeName == 'A' && tinyMCE.getAttrib(elm, 'name') == '') || (elm.nodeName == 'IMG') : false)) {
+				contextMenu.addSeparator();
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
+			}
+
+			// Get element
+			elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
+			if (elm) {
+				switch (elm.nodeName) {
+					case "IMG":
+						contextMenu.addSeparator();
+
+						// If flash
+						if (tinyMCE.hasPlugin('flash') && tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
+						else if (tinyMCE.hasPlugin('media') && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm, 'class')))
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_media_title", "mceMedia");
+						else
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
+						break;
+
+					case "HR":
+						contextMenu.addSeparator();
+						contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
+						break;
+
+					case "TABLE":
+					case "TD":
+						// Is table plugin loaded
+						if (inst.hasPlugin("table")) {
+							var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
+							var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
+
+							colspan = colspan == "" ? "1" : colspan;
+							rowspan = rowspan == "" ? "1" : rowspan;
+
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
+
+	/*						contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
+						}
+						break;
+				}
+			}  else {
+				// Add table specific
+				if (inst.hasPlugin("table")) {
+					contextMenu.addSeparator();
+					contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+				}
+			}
+
+			contextMenu.show(x, y);
+		}, 10);
+
+		// Cancel default handeling
+		tinyMCE.cancelEvent(e);
+		return false;
+	},
+
+	_hideContextMenu : function() {
+		if (TinyMCE_ContextMenuPlugin._contextMenu)
+			TinyMCE_ContextMenuPlugin._contextMenu.hide();
+	},
+
+	_commandHandler : function(command, value) {
+		var cm = TinyMCE_ContextMenuPlugin._contextMenu;
+
+		cm.hide();
+
+		// UI must be true on these
+		var ui = false;
+		if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
+			ui = true;
+
+		if (command == "Paste")
+			value = null;
+
+		if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
+			// Cell properties will generate access denied error is this isn't done?!
+			window.setTimeout(function() {
+				cm.inst.execCommand(command, ui, value);
+			}, 100);
+		} else
+			cm.inst.execCommand(command, ui, value);
+	}
+};
+
+tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
+
+// Context menu class
+
+function TinyMCE_ContextMenu(settings) {
+	var doc, self = this;
+
+	// Default value function
+	function defParam(key, def_val) {
+		settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
+	}
+
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+
+	// Setup contextmenu div
+	this.contextMenuDiv = document.createElement("div");
+	this.contextMenuDiv.className = "contextMenu";
+	this.contextMenuDiv.setAttribute("class", "contextMenu");
+	this.contextMenuDiv.style.display = "none";
+	this.contextMenuDiv.style.position = 'absolute';
+	this.contextMenuDiv.style.zindex = 1000;
+	this.contextMenuDiv.style.left = '0';
+	this.contextMenuDiv.style.top = '0';
+	this.contextMenuDiv.unselectable = "on";
+
+	document.body.appendChild(this.contextMenuDiv);
+
+	// Setup default values
+	defParam("commandhandler", "");
+	defParam("spacer_image", "images/spacer.gif");
+
+	this.items = new Array();
+	this.settings = settings;
+	this.html = "";
+
+	// IE Popup
+	if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+		this.pop = window.createPopup();
+		doc = this.pop.document;
+		doc.open();
+		doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
+		doc.close();
+	}
+};
+
+TinyMCE_ContextMenu.prototype = {
+	clearAll : function() {
+		this.html = "";
+		this.contextMenuDiv.innerHTML = "";
+	},
+
+	addSeparator : function() {
+		this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
+	},
+
+	addItem : function(icon, title, command, value, disabled) {
+		if (title.charAt(0) == '$')
+			title = tinyMCE.getLang(title.substring(1));
+
+		var onMouseDown = '';
+		var html = '';
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+			onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
+		else
+			onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
+
+		if (icon == "")
+			icon = this.settings['spacer_image'];
+
+		if (!disabled)
+			html += '<tr class="contextMenuItem">';
+		else
+			html += '<tr class="contextMenuItemDisabled">';
+
+		html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
+		html += '<td><div class="contextMenuText">';
+		html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
+
+		// Add text
+		html += title;
+
+		html += '&#160;</a>';
+		html += '</div></td>';
+		html += '</tr>';
+
+		// Add to main
+		this.html += html;
+	},
+
+	show : function(x, y) {
+		var vp, width, height, yo;
+
+		if (this.html == "")
+			return;
+
+		var html = '';
+
+		html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
+		html += this.html;
+		html += '</table>';
+
+		this.contextMenuDiv.innerHTML = html;
+
+		// Get dimensions
+		this.contextMenuDiv.style.display = "block";
+		width = this.contextMenuDiv.offsetWidth;
+		height = this.contextMenuDiv.offsetHeight;
+		this.contextMenuDiv.style.display = "none";
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+			// Setup popup and show
+			this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
+			this.pop.document.tinyMCE = tinyMCE;
+			this.pop.document.contextMenu = this;
+			this.pop.show(x, y, width, height);
+		} else {
+			vp = this.getViewPort();
+			yo = tinyMCE.isMSIE5_0 ? document.body.scrollTop : self.pageYOffset;
+			this.contextMenuDiv.style.left = (x > vp.left + vp.width - width ? vp.left + vp.width - width : x) + 'px';
+			this.contextMenuDiv.style.top = (y > vp.top + vp.height - height ? vp.top + vp.height - height : y) + 'px';
+			this.contextMenuDiv.style.display = "block";
+		}
+	},
+
+	getViewPort : function() {
+		return {
+			left : self.pageXOffset || self.document.documentElement.scrollLeft || self.document.body.scrollLeft,
+			top: self.pageYOffset || self.document.documentElement.scrollTop || self.document.body.scrollTop,
+			width : document.documentElement.offsetWidth || document.body.offsetWidth,
+			height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
+		};
+	},
+
+	hide : function() {
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
+			this.pop.hide();
+		else
+			this.contextMenuDiv.style.display = "none";
+	},
+
+	execCommand : function(command, value) {
+		eval(this.settings['commandhandler'] + "(command, value);");
+	}
+};

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+body {
+	overflow: hidden;
+}
+
+h1 {
+	font-size: 14px;
+	margin: 0 0 10px 0;
+}
+
+h2 {
+	font-size: 12px;
+	margin: 3px 0 3px 0;
+}
+
+h3 {
+	font-size: 11px;
+	margin: 3px 0 3px 0;
+}
+
+#log {
+	font-family: Verdana;
+	border: 1px solid gray;
+	width: 100%; height: 240px;
+	overflow: scroll;
+	white-space: nowrap;
+}
+
+#log span {
+	display: block;
+}
+
+#log span.msg {
+	float: left;
+}
+
+#log span.time {
+	float: left;
+}
+
+#log br {
+	clear: both;
+}
+
+#logfilter {
+	width: 350px;
+}
+
+#logenabled {
+	border: 0;
+}
+
+#settings_panel span, #info_panel span, #content_panel span, #command_states_panel span, #undo_redo_panel span {
+	display: block;
+	margin: 5px 0 5px 0;
+}
+
+div.data {
+	width: 100%; height: 240px;
+	overflow: scroll;
+	border: 1px solid gray;
+}
+
+#misc_panel div.data {
+	height: 270px;
+}
+
+.data input {
+	width: 265px;
+	border: 0;
+}
+
+.data h2 {
+	margin-left: 5px;
+}
+
+.data h3 {
+	margin-left: 7px;
+}
+
+.data div {
+	margin-left: 7px;
+}
+
+.data table {
+	margin: 0 0 15px 15px;
+}
+
+.data p {
+	margin: 0; padding: 0;
+	margin-top: 5px;
+	margin-left: 5px;
+}
+
+table, td {
+	border: 1px solid gray;
+	border-collapse: collapse;
+}
+
+#flip {
+	position: absolute;
+	left: 295; top: 384px;
+}
+
+.bspec {
+	color: gray;
+}
+
+.dep {
+	color: #880000;
+}
+
+.col1 {
+	width: 265px;
+}
+
+div.undodata {
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+#devkit {
+	position: absolute;
+	top: -385px; right: 0;
+	width: 640px; height: 390px;
+	border: 1px solid black;
+	z-index: 10000;
+}
+
+.devkitup {
+	top: -385px !important;
+}
+
+.devkitdown {
+	top: 0 !important;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_devkit_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/devkit.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/diff.js"></script>
+	<link href="css/devkit.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="devkit" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form action="#">
+		<h1>{$lang_devkit_title}</h1>
+
+		<div class="tabs">
+			<ul>
+				<li id="log_tab" class="current"><span><a href="javascript:mcTabs.displayTab('log_tab','log_panel');" onmousedown="return false;">{$lang_devkit_log_tab}</a></span></li>
+				<li id="info_tab"><span><a href="javascript:mcTabs.displayTab('info_tab','info_panel');" onmousedown="return false;">{$lang_devkit_info_tab}</a></span></li>
+				<li id="settings_tab"><span><a href="javascript:mcTabs.displayTab('settings_tab','settings_panel');" onmousedown="return false;">{$lang_devkit_settings_tab}</a></span></li>
+				<li id="content_tab"><span><a href="javascript:mcTabs.displayTab('content_tab','content_panel');" onmousedown="return false;">{$lang_devkit_content_tab}</a></span></li>
+				<!-- <li id="command_states_tab"><span><a href="javascript:mcTabs.displayTab('command_states_tab','command_states_panel');" onmousedown="return false;">{$lang_devkit_command_states_tab}</a></span></li> -->
+				<li id="undo_redo_tab"><span><a href="javascript:mcTabs.displayTab('undo_redo_tab','undo_redo_panel');" onmousedown="return false;">{$lang_devkit_undo_redo_tab}</a></span></li>
+				<li id="misc_tab"><span><a href="javascript:mcTabs.displayTab('misc_tab','misc_panel');" onmousedown="return false;">{$lang_devkit_misc_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="log_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_devkit_log_tab}</legend>
+
+					<div style="float: left">
+						<label>{$lang_devkit_filter} </label><input type="text" id="logfilter" name="logfilter" value="" onchange="changeFilter(this.value);" />
+					</div>
+
+					<div style="float: left">
+						<input type="checkbox" id="logenabled" name="logenabled" value="true" checked="checked" onclick="toggleLog(this.checked);" />
+					</div>
+
+					<div style="float: right">
+						<a href="javascript:clearLog();">[{$lang_devkit_clear_log}]</a>
+					</div>
+
+					<br style="clear: both" />
+
+					<div id="log">
+					</div>
+
+					<input type="checkbox" id="debug_events" name="debug_events" class="checkbox" onclick="toggleDebugEvents(this.checked);" /><label for="debug_events" onclick="toggleDebugEvents(this.form.debug_events.checked);">{$lang_devkit_debug_events}</label>
+				</fieldset>
+			</div>
+
+			<div id="info_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_info_tab}</legend>
+
+					<span><a href="javascript:renderInfo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="info" class="data">
+						<p>{$lang_devkit_info_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="settings_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_settings_tab}</legend>
+
+					<span><a href="javascript:renderSettings();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="settings" class="data">
+						<p>{$lang_devkit_settings_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="content_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_content_tab}</legend>
+
+					<span><a href="javascript:renderContent();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="content" class="data">
+						<p>{$lang_devkit_content_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="command_states_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_command_states_tab}</legend>
+
+					<span><a href="javascript:renderCommandStates();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="command_states" class="data">
+						<p>{$lang_devkit_command_states_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="undo_redo_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_undo_redo_tab}</legend>
+
+					<span><a href="javascript:renderUndoRedo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="undo_redo" class="data">
+						<p>{$lang_devkit_undo_redo_help}</p>
+					</div>
+
+					<input type="checkbox" id="undo_diff" name="undo_diff" class="checkbox" /><label for="undo_diff">{$lang_devkit_undo_diff}</label>
+				</fieldset>
+			</div>
+
+			<div id="misc_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_misc_tab}</legend>
+
+					<div class="data">
+						<p>{$lang_devkit_misc_help}</p>
+						<hr />
+						<p>Selection: <a href="#" onmousedown="return storeSelection();">[Store selection]</a> <a href="#" onmousedown="return restoreSelection();">[Restore selection]</a></p>
+						<hr />
+						<div><strong>Insert custom HTML content</strong></div>
+						<div><textarea id="htmlcont" name="htmlcont" style="width: 90%" rows="5"></textarea></div>
+						<div><a href="#" onclick="return tinyMCE.execCommand('mceInsertContent',false,document.getElementById('htmlcont').value);">[Insert content]</a></div>
+						<hr />
+						<div><strong>Eval JS:</strong></div>
+						<div><textarea id="jscont" name="jscont" style="width: 90%" rows="5">tinyMCE.execCommand('Bold',false,null);</textarea></div>
+						<div><a href="#" onclick="return parent.window.eval(document.getElementById('jscont').value);">[Evaluate]</a></div>
+					</div>
+				</fieldset>
+			</div>
+		</div>
+    </form>
+
+	<div id="flip"><a href="javascript:toggleFlip();" onmousedown="return false;"><img id="flipbtn" src="images/flip_down.gif" border="0" /></a></div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('devkit');var TinyMCE_DevKitPlugin={_logFilter:'\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',_logPadding:'',_startTime:null,_benchMark:false,_winLoaded:false,_isDebugEvents:false,getInfo:function(){return{longname:'Development Kit',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){this._setup()},_setup:function(){if(this._loaded)return;this._loaded=true;document.___TinyMCE=tinyMCE;this._logFilter=tinyMCE.getParam('devkit_log_filter',this._logFilter);this._benchMark=tinyMCE.getParam('devkit_bench_mark',false);var ifr=document.createElement('iframe');ifr.setAttribute("id","devkit");ifr.setAttribute("frameBorder","0");ifr.setAttribute("src",tinyMCE.baseURL+'/plugins/devkit/devkit.htm');document.body.appendChild(ifr);tinyMCE.importCSS(document,tinyMCE.baseURL+'/plugins/devkit/css/devkit_ui.css')},_start:function(){this._logPadding+='\u00a0';return new Date().getTime()},_end:function(st){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);if(this._benchMark)this._log("benchmark","Execution time: "+(new Date().getTime()-st))},_log:function(t){var m,a,i,e=document.getElementById('devkit'),now=new Date().getTime();if(!this._startTime)this._startTime=now;m=(this._logPadding.length>1?this._logPadding:'')+'['+(now-this._startTime)+'] ['+t+'] ';a=this._log.arguments;for(i=1;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>1)m+=', ';m+=a[i]}if(!new RegExp(this._logFilter,'gi').test(m)){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);return}if(!this._winLoaded)tinyMCE.log[tinyMCE.log.length]=m;else e.contentWindow.debug(m)},_debugEvents:function(s){var i,ld,inst,n,ev=['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive','DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved','RadioStateChange','blur','broadcast','change','click','close','command','commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit','draggesture','dragover','focus','input','keydown','keypress','keyup','load','mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden','popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference','underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate','beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint','beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut','dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave','dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout','help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel','move','moveend','movestart','paste','propertychange','readystatechange','reset','resize','resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll','selectionchange','selectstart','start','stop','submit'];if(TinyMCE_DevKitPlugin._isDebugEvents==s)return;TinyMCE_DevKitPlugin._isDebugEvents=s;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst)||inst.getDoc()==ld)continue;ld=inst.getDoc();for(i=0;i<ev.length;i++){if(s)tinyMCE.addEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent);else tinyMCE.removeEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent)}}},_debugEvent:function(e){var t;e=e?e:tinyMCE.selectedInstance.getWin().event;t=e.srcElement?e.srcElement:e.target;tinyMCE.debug(e.type,t?t.nodeName:'')},_serialize:function(o){var i,v,s=TinyMCE_DevKitPlugin._serialize;if(o==null)return'null';switch(typeof o){case'string':v='\bb\tt\nn\ff\rr\""\'\'\\\\';return'"'+o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])','g'),function(a,b){i=v.indexOf(b);if(i+1)return'\\'+v.charAt(i+1);a=b.charCodeAt().toString(16);return'\\u'+'0000'.substring(a.length)+a})+'"';case'object':if(o instanceof Array){for(i=0,v='[';i<o.length;i++)v+=(i>0?',':'')+s(o[i]);return v+']'}v='{';for(i in o)v+=typeof o[i]!='function'?(v.length>1?',"':'"')+i+'":'+s(o[i]):'';return v+'}'}return''+o}};tinyMCE.__debug=tinyMCE.debug;tinyMCE.debug=function(){var a,i,m='',now=new Date().getTime(),start=TinyMCE_DevKitPlugin._startTime;if(!start)TinyMCE_DevKitPlugin._startTime=start=now;a=this.debug.arguments;for(i=0;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>0)m+=', ';m+=a[i]}TinyMCE_DevKitPlugin._log('debug',m)};tinyMCE.dump=function(o){tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o))};tinyMCE.sleep=function(t){var s=new Date().getTime(),b;while(new Date().getTime()-s<t)b=1};tinyMCE.__execCommand=tinyMCE.execCommand;tinyMCE.execCommand=function(command,user_interface,value){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommand',command,user_interface,value);r=tinyMCE.__execCommand(command,user_interface,value);dk._end(st);return r};tinyMCE.__execInstanceCommand=tinyMCE.execInstanceCommand;tinyMCE.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execInstanceCommand',editor_id,command,user_interface,value);r=tinyMCE.__execInstanceCommand(editor_id,command,user_interface,value);dk._end(st);return r};TinyMCE_Engine.prototype.__handleEvent=TinyMCE_Engine.prototype.handleEvent;TinyMCE_Engine.prototype.handleEvent=function(e){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('handleEvent',e.type);r=tinyMCE.__handleEvent(e);dk._end(st);return r};tinyMCE.__importCSS=tinyMCE.importCSS;tinyMCE.importCSS=function(doc,css){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('importCSS',doc,css);r=tinyMCE.__importCSS(doc,css);dk._end(st);return r};tinyMCE.__triggerNodeChange=tinyMCE.triggerNodeChange;tinyMCE.triggerNodeChange=function(focus,setup_content){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('triggerNodeChange',focus,setup_content);r=tinyMCE.__triggerNodeChange(focus,setup_content);dk._end(st);return r};tinyMCE.__dispatchCallback=tinyMCE.dispatchCallback;tinyMCE.dispatchCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('dispatchCallback',i,p,n);r=tinyMCE.__dispatchCallback(i,p,n);dk._end(st);return r};tinyMCE.__executeCallback=tinyMCE.executeCallback;tinyMCE.executeCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('executeCallback',i,p,n);r=tinyMCE.__executeCallback(i,p,n);dk._end(st);return r};tinyMCE.__execCommandCallback=tinyMCE.execCommandCallback;tinyMCE.execCommandCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommandCallback',i,p,n);r=tinyMCE.__execCommandCallback(i,p,n);dk._end(st);return r};tinyMCE.addPlugin("devkit",TinyMCE_DevKitPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,325 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('devkit');
+
+var TinyMCE_DevKitPlugin = {
+	_logFilter : '\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',
+	_logPadding : '',
+	_startTime : null,
+	_benchMark : false,
+	_winLoaded : false,
+	_isDebugEvents : false,
+
+	getInfo : function() {
+		return {
+			longname : 'Development Kit',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		this._setup();
+	},
+
+	_setup : function() {
+		if (this._loaded)
+			return;
+
+		this._loaded = true;
+
+		// Register a document reference for more easy access in the FF DOM inspector
+		document.___TinyMCE = tinyMCE;
+
+		// Setup devkit by settings
+		this._logFilter = tinyMCE.getParam('devkit_log_filter', this._logFilter);
+		this._benchMark = tinyMCE.getParam('devkit_bench_mark', false);
+
+		var ifr = document.createElement('iframe');
+
+		ifr.setAttribute("id", "devkit");
+		ifr.setAttribute("frameBorder", "0");
+		ifr.setAttribute("src", tinyMCE.baseURL + '/plugins/devkit/devkit.htm');
+
+		document.body.appendChild(ifr);
+
+		// Workaround for strange IE reload bug
+		//if (tinyMCE.isRealIE)
+		//	document.getElementById('devkit').outerHTML = document.getElementById('devkit').outerHTML;
+
+		tinyMCE.importCSS(document, tinyMCE.baseURL + '/plugins/devkit/css/devkit_ui.css');
+	},
+
+	_start : function() {
+		this._logPadding += '\u00a0';
+
+		return new Date().getTime();
+	},
+
+	_end : function(st) {
+		if (this._logPadding.length > 0)
+			this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+		if (this._benchMark)
+			this._log("benchmark", "Execution time: " + (new Date().getTime() - st));
+	},
+
+	_log : function(t) {
+		var m, a, i, e = document.getElementById('devkit'), now = new Date().getTime();
+
+		if (!this._startTime)
+			this._startTime = now;
+
+		m = (this._logPadding.length > 1 ? this._logPadding : '') + '[' + (now - this._startTime) + '] [' + t + '] ';
+
+		a = this._log.arguments;
+		for (i=1; i<a.length; i++) {
+			if (typeof(a[i]) == 'undefined')
+				continue;
+
+			if (i > 1)
+				m += ', ';
+
+			m += a[i];
+		}
+
+		if (!new RegExp(this._logFilter, 'gi').test(m)) {
+			if (this._logPadding.length > 0)
+				this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+			return;
+		}
+
+		if (!this._winLoaded)
+			tinyMCE.log[tinyMCE.log.length] = m;
+		else
+			e.contentWindow.debug(m);
+	},
+
+	_debugEvents : function(s) {
+		var i, ld, inst, n, ev = ['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive',
+				'DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved',
+				'RadioStateChange','blur','broadcast','change','click','close','command',
+				'commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit',
+				'draggesture','dragover','focus','input','keydown','keypress','keyup','load',
+				'mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden',
+				'popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference',
+				'underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate',
+				'beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint',
+				'beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut',
+				'dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave',
+				'dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout',
+				'help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel',
+				'move','moveend','movestart','paste','propertychange','readystatechange','reset','resize',
+				'resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll',
+				'selectionchange','selectstart','start','stop','submit'];
+		// mousemove
+
+		if (TinyMCE_DevKitPlugin._isDebugEvents == s)
+			return;
+
+		TinyMCE_DevKitPlugin._isDebugEvents = s;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst) || inst.getDoc() == ld)
+				continue;
+
+			ld = inst.getDoc();
+
+			for (i=0; i<ev.length; i++) {
+				if (s)
+					tinyMCE.addEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+				else
+					tinyMCE.removeEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+			}
+		}
+	},
+
+	_debugEvent : function(e) {
+		var t;
+
+		e = e ? e : tinyMCE.selectedInstance.getWin().event;
+		t = e.srcElement ? e.srcElement : e.target;
+
+		tinyMCE.debug(e.type, t ? t.nodeName : '');
+	},
+
+	_serialize : function(o) {
+		var i, v, s = TinyMCE_DevKitPlugin._serialize;
+
+		if (o == null)
+			return 'null';
+
+		switch (typeof o) {
+			case 'string':
+				v = '\bb\tt\nn\ff\rr\""\'\'\\\\';
+
+				return '"' + o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])', 'g'), function(a, b) {
+					i = v.indexOf(b);
+
+					if (i+1)
+						return '\\' + v.charAt(i + 1);
+
+					a = b.charCodeAt().toString(16);
+
+					return '\\u' + '0000'.substring(a.length) + a;
+				}) + '"';
+
+			case 'object':
+				if (o instanceof Array) {
+					for (i=0, v = '['; i<o.length; i++)
+						v += (i > 0 ? ',' : '') + s(o[i]);
+
+					return v + ']';
+				}
+
+				v = '{';
+
+				for (i in o)
+					v += typeof o[i] != 'function' ? (v.length > 1 ? ',"' : '"') + i + '":' + s(o[i]) : '';
+
+				return v + '}';
+		}
+
+		return '' + o;
+	}
+};
+
+// Patch and piggy back functions
+tinyMCE.__debug = tinyMCE.debug;
+tinyMCE.debug = function() {
+	var a, i, m = '', now = new Date().getTime(), start = TinyMCE_DevKitPlugin._startTime;
+
+	if (!start)
+		TinyMCE_DevKitPlugin._startTime = start = now;
+
+	a = this.debug.arguments;
+	for (i=0; i<a.length; i++) {
+		if (typeof(a[i]) == 'undefined')
+			continue;
+
+		if (i > 0)
+			m += ', ';
+
+		m += a[i];
+	}
+
+	TinyMCE_DevKitPlugin._log('debug', m);
+};
+
+tinyMCE.dump = function(o) {
+	tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o));
+};
+
+tinyMCE.sleep = function(t) {
+	var s = new Date().getTime(), b;
+
+	while (new Date().getTime() - s < t) b=1;
+};
+
+tinyMCE.__execCommand = tinyMCE.execCommand;
+tinyMCE.execCommand = function(command, user_interface, value) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommand', command, user_interface, value);
+	r = tinyMCE.__execCommand(command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execInstanceCommand = tinyMCE.execInstanceCommand;
+tinyMCE.execInstanceCommand = function(editor_id, command, user_interface, value, focus) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execInstanceCommand', editor_id, command, user_interface, value);
+	r = tinyMCE.__execInstanceCommand(editor_id, command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+TinyMCE_Engine.prototype.__handleEvent = TinyMCE_Engine.prototype.handleEvent;
+TinyMCE_Engine.prototype.handleEvent = function(e) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('handleEvent', e.type);
+	r = tinyMCE.__handleEvent(e);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__importCSS = tinyMCE.importCSS;
+tinyMCE.importCSS = function(doc, css) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('importCSS', doc, css);
+	r = tinyMCE.__importCSS(doc, css);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__triggerNodeChange = tinyMCE.triggerNodeChange;
+tinyMCE.triggerNodeChange = function(focus, setup_content) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('triggerNodeChange', focus, setup_content);
+	r = tinyMCE.__triggerNodeChange(focus, setup_content);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__dispatchCallback = tinyMCE.dispatchCallback;
+tinyMCE.dispatchCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('dispatchCallback', i, p, n);
+	r = tinyMCE.__dispatchCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__executeCallback = tinyMCE.executeCallback;
+tinyMCE.executeCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('executeCallback', i, p, n);
+	r = tinyMCE.__executeCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execCommandCallback = tinyMCE.execCommandCallback;
+tinyMCE.execCommandCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommandCallback', i, p, n);
+	r = tinyMCE.__execCommandCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.addPlugin("devkit", TinyMCE_DevKitPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+var devkit = parent.tinyMCE.plugins['devkit'], logEnabled = true, flip = false, book = null;
+
+function init() {
+	var log, i, f = document.forms[0];
+
+	devkit._winLoaded = true;
+
+	log = tinyMCE.log;
+
+	for (i=0; i<log.length; i++)
+		debug(log[i]);
+
+	f.logfilter.value = devkit._logFilter;
+}
+
+function changeFilter(f) {
+	devkit._logFilter = f;
+}
+
+function toggleLog(s) {
+	logEnabled = s;
+}
+
+function toggleFlip() {
+	document.getElementById('flipbtn').src = flip ? 'images/flip_down.gif' : 'images/flip_up.gif';
+
+	if (flip)
+		parent.document.getElementById('devkit').className = 'devkitup';
+	else
+		parent.document.getElementById('devkit').className = 'devkitdown';
+
+	flip = !flip;
+}
+
+function debug(s) {
+	var d, l, n;
+
+	if (!logEnabled || !new RegExp(devkit._logFilter, 'gi').test(s))
+		return;
+
+	d = document;
+	l = d.getElementById('log');
+	n = d.createElement('span');
+
+	n.innerHTML = tinyMCE.xmlEncode(s);
+
+	l.appendChild(n);
+	l.scrollTop = l.scrollHeight;
+}
+
+function renderInfo() {
+	var se = document.getElementById('info'), n, sn, inst, h = '', sel, rng, instCount = 0, rc;
+
+	h += '<h2>Browser info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('navigator.userAgent', navigator.userAgent);
+	h += addRenderInfo('navigator.appName', navigator.appName);
+	h += addRenderInfo('navigator.platform', navigator.platform);
+	h += addRenderInfo('navigator.language', navigator.language, 'bspec');
+	h += addRenderInfo('navigator.browserLanguage', navigator.browserLanguage, 'bspec');
+	h += addRenderInfo('navigator.systemLanguage', navigator.systemLanguage, 'bspec');
+	h += addRenderInfo('navigator.userLanguage', navigator.userLanguage, 'bspec');
+	h += addRenderInfo('opera.buildNumber("inconspicuous")', typeof(opera) != 'undefined' && opera.buildNumber ? opera.buildNumber('inconspicuous') : null, 'bspec');
+	h += addRenderInfo('window.innerWidth', parent.window.innerWidth, 'bspec');
+	h += addRenderInfo('window.innerHeight', parent.window.innerHeight, 'bspec');
+	h += addRenderInfo('document.body.offsetWidth', parent.document.body.offsetWidth);
+	h += addRenderInfo('document.body.offsetHeight', parent.document.body.offsetHeight);
+	h += addRenderInfo('screen.width', screen.width);
+	h += addRenderInfo('screen.height', screen.height);
+	h += addRenderInfo('screen.availWidth', screen.availWidth);
+	h += addRenderInfo('screen.availHeight', screen.availHeight);
+	h += addRenderInfo('screen.colorDepth', screen.colorDepth);
+	h += addRenderInfo('screen.pixelDepth', screen.pixelDepth, 'bspec');
+	h += addRenderInfo('document.contentType', document.contentType, 'bspec');
+	h += '</table>';
+
+	h += '<h2>TinyMCE_Engine info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('baseURL', tinyMCE.baseURL);
+	h += addRenderInfo('selectedInstance.editorId', tinyMCE.selectedInstance ? tinyMCE.selectedInstance.editorId : null);
+	h += addRenderInfo('selectedElement.nodeName', tinyMCE.selectedElement ? tinyMCE.selectedElement.nodeName : null, 'dep');
+	h += addRenderInfo('loadedFiles',tinyMCE.loadedFiles.join(','));
+	h += addRenderInfo('isMSIE', tinyMCE.isMSIE);
+	h += addRenderInfo('isMSIE5', tinyMCE.isMSIE5);
+	h += addRenderInfo('isMSIE5_0', tinyMCE.isMSIE5_0);
+	h += addRenderInfo('isMSIE7', tinyMCE.isMSIE7);
+	h += addRenderInfo('isGecko', tinyMCE.isGecko);
+	h += addRenderInfo('isSafari', tinyMCE.isSafari);
+	h += addRenderInfo('isOpera', tinyMCE.isOpera);
+	h += addRenderInfo('isMac', tinyMCE.isMac);
+	h += addRenderInfo('isNS7', tinyMCE.isNS7);
+	h += addRenderInfo('isNS71', tinyMCE.isNS71);
+	h += addRenderInfo('idCounter', tinyMCE.idCounter);
+	h += addRenderInfo('currentConfig', tinyMCE.currentConfig);
+	h += addRenderInfo('majorVersion', tinyMCE.majorVersion);
+	h += addRenderInfo('minorVersion', tinyMCE.minorVersion);
+	h += addRenderInfo('releaseDate', tinyMCE.releaseDate);
+	h += addRenderInfo('documentBasePath', tinyMCE.documentBasePath);
+	h += addRenderInfo('documentURL', tinyMCE.documentURL);
+	h += '</table>';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		sel = inst.selection.getSel();
+		rng = inst.selection.getRng();
+
+		h += '<h2>TinyMCE_Control(' + (instCount++) + ') id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		h += addRenderInfo('editorId', inst.editorId);
+		h += addRenderInfo('visualAid', inst.visualAid);
+		h += addRenderInfo('foreColor', inst.foreColor);
+		h += addRenderInfo('backColor', inst.backColor);
+		h += addRenderInfo('formTargetElementId', inst.formTargetElementId);
+		h += addRenderInfo('formElement', inst.formElement ? inst.formElement.nodeName : null);
+		h += addRenderInfo('oldTargetElement', inst.oldTargetElement ? inst.oldTargetElement.nodeName : null);
+		h += addRenderInfo('linkElement', inst.linkElement ? inst.linkElement.nodeName : null, 'dep');
+		h += addRenderInfo('imgElement', inst.imgElement ? inst.imgElement.nodeName : null, 'dep');
+		h += addRenderInfo('selectedNode', inst.selectedNode ? inst.selectedNode.nodeName : null, 'dep');
+		h += addRenderInfo('targetElement', inst.targetElement ? inst.targetElement.nodeName : null);
+		h += addRenderInfo('getBody().nodeName', inst.getBody() ? inst.getBody().nodeName : null);
+		h += addRenderInfo('getBody().getAttribute("id")', inst.getBody() ? inst.getBody().getAttribute("id") : null);
+		h += addRenderInfo('getDoc().location', inst.getDoc() ? inst.getDoc().location : null);
+		h += addRenderInfo('startContent', inst.startContent);
+		h += addRenderInfo('isHidden()', inst.isHidden());
+		h += addRenderInfo('isDirty()', inst.isDirty());
+		h += addRenderInfo('undoRedo.undoLevels.length', inst.undoRedo.undoLevels.length);
+		h += addRenderInfo('undoRedo.undoIndex', inst.undoRedo.undoIndex);
+		h += addRenderInfo('selection.getSelectedHTML()', inst.selection.getSelectedHTML());
+		h += addRenderInfo('selection.isCollapsed()', inst.selection.isCollapsed() || 'false');
+		h += addRenderInfo('selection.getSelectedText()', inst.selection.getSelectedText());
+		h += addRenderInfo('selection.getFocusElement().nodeName', inst.selection.getFocusElement().nodeName);
+		h += addRenderInfo('selection.getFocusElement().outerHTML', tinyMCE.getOuterHTML(inst.selection.getFocusElement()));
+
+		if ((tinyMCE.isGecko || tinyMCE.isOpera) && sel && rng) {
+			h += addRenderInfo('selection.getSel().anchorNode.nodeName', sel.anchorNode ? sel.anchorNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().anchorOffset', sel.anchorOffset, 'bspec');
+			h += addRenderInfo('selection.getSel().focusNode.nodeName', sel.focusNode ? sel.focusNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().focusOffset', sel.focusOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().startContainer.nodeName', rng.startContainer ? rng.startContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().startOffset', rng.startOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().endContainer.nodeName', rng.endContainer ? rng.endContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().endOffset', rng.endOffset, 'bspec');
+		}
+
+		if (typeof(rng.item) != 'undefined' || typeof(rng.htmlText) != 'undefined') {
+			if (!rng.item) {
+				h += addRenderInfo('selection.getSel().type', sel.type, 'bspec');
+				h += addRenderInfo('selection.getRng().htmlText', rng.htmlText, 'bspec');
+				h += addRenderInfo('selection.getRng().text', rng.text, 'bspec');
+			} else
+				h += addRenderInfo('selection.getRng().item(0).nodeName', rng.item(0).nodeName, 'bspec');
+		}
+
+		h += '</table>';
+	}
+
+	h += '<p>Fields marked in <strong class="bspec">gray</strong> is not cross browser and should be used with care.</p>';
+	h += '<p>Fields marked <strong class="dep">red</strong> are marked deprecated and will be removed in the future.</p><br />';
+
+	se.innerHTML = h;
+}
+
+function addRenderInfo(n, v, c) {
+	return '<tr><td' + (c ? ' class="' + c + '"' : '')+ '>' + n + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v != null ? ('' + v).replace(/[\r\n]/g, '') : 'null') + '" /></td></tr>';
+}
+
+function renderSettings() {
+	var se = document.getElementById('settings'), n, sn, inst, h = '', v;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (sn in inst.settings) {
+			v = inst.settings[sn];
+
+			h += '<tr><td class="col1">' + tinyMCE.xmlEncode(sn) + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderContent() {
+	var se = document.getElementById('content'), n, inst, h = '';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+
+		h += '<h3>Start content - inst.startContent:</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.startContent) + '</div>';
+
+		h += '<h3>Raw content - inst.getBody().innerHTML or inst.getHTML(true):</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML(true)) + '</div>';
+
+		h += '<h3>Cleaned content - inst.getHTML():</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML()) + '</div>';
+
+		if (inst.serializedHTML) {
+			h += '<h3>Serialized HTML content - inst.serializedHTML:</h3>';
+			h += '<div>' + tinyMCE.xmlEncode(inst.serializedHTML) + '</div>';
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function renderCommandStates() {
+	var se = document.getElementById('command_states'), n, inst, h = '', v, ex;
+	var cmds = new Array('2D-Position','AbsolutePosition','BackColor','BlockDirLTR','BlockDirRTL','Bold','BrowseMode','Copy','CreateBookmark','CreateLink','Cut','Delete','DirLTR','DirRTL','EditMode','enableInlineTableEditing','enableObjectResizing','FontName','FontSize','ForeColor','FormatBlock','Indent','InsertButton','InsertFieldset','InsertHorizontalRule','InsertIFrame','InsertImage','InsertInputButton','InsertInputCheckbox','InsertInputFileUpload','InsertInputHidden','InsertInputImage','InsertInputPassword','InsertInputRadio','InsertInputReset','InsertInputSubmit','InsertInputText','InsertMarquee','InsertOrderedList','InsertParagraph','InsertSelectDropdown','InsertSelectListbox','InsertTextArea','InsertUnorderedList','Italic','JustifyCenter','JustifyFull','JustifyLeft','JustifyNone','JustifyRight','LiveResize','MultipleSelection','Open','Outdent','OverWrite','Paste','PlayImage','Redo','Refresh','RemoveFormat','SaveAs','SelectAll','SizeToControl','SizeToControlHeight','SizeToControlWidth','Stop','StopImage','StrikeThrough','styleWithCSS','Subscript','Superscript','UnBookmark','Underline','Undo','Unlink','Unselect'), i;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (i=0; i<cmds.length; i++) {
+			v = null;
+
+			try {
+				v = tinyMCE.isGecko || inst.getDoc().queryCommandSupported(cmds[i]);
+				v = v ? inst.queryCommandState(cmds[i]) : 'Not supported';
+			} catch (ex) {
+				v = 'Not supported';
+			}
+
+			h += '<tr><td><input type="text" value="' + tinyMCE.xmlEncode(cmds[i]) + '" /></td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderUndoRedo() {
+	var se = document.getElementById('undo_redo'), inst, n, h = '', i, le, id, d, ur;
+	var f = document.forms[0];	
+
+	if (tinyMCE.undoLevels) {
+		le = tinyMCE.undoLevels;
+
+		h += '<h2>Global undo/redo</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + tinyMCE.undoIndex + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++)
+			h += '<h3>Level: ' + i + ', Instance: ' + (le[i] ? le[i].editorId : 'null') + '</h3>';
+	}
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		ur = inst.undoRedo;
+		le = ur.undoLevels;
+
+		h += '<hr /><h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + ur.undoIndex + '</td></tr>';
+		h += '<tr><td>typingUndoIndex</td><td>' + ur.typingUndoIndex + '</td></tr>';
+		h += '<tr><td>undoRedo</td><td>' + ur.undoRedo + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++) {
+			h += '<h3>Level: ' + i + (!le[i].bookmark ? "" : " [bookmark]") + '</h3>';
+			h += '<div class="undodata">' + tinyMCE.xmlEncode(le[i].content) + '</div>';
+
+			if (i > 0 && f.undo_diff.checked) {
+				d = diff_main(i > 0 ? le[i-1].content.replace(/[\r\n]+/g, '') : null, le[i].content.replace(/[\r\n]+/g, ''), false);
+				diff_cleanup_semantic(d);
+				h += '<h3>Diff ' + (i-1) + ',' + i + '</h3><div class="undodata">' + diff_prettyhtml(d) + '</div>';
+			}
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function clearLog() {
+	document.getElementById('log').innerHTML = '';
+	devkit._startTime = null;
+}
+
+function cancelAction() {
+	parent.document.getElementById('devkit').style.display = 'none';
+}
+
+function toggleDebugEvents(s) {
+	devkit._debugEvents(s);
+}
+
+function storeSelection() {
+	book = tinyMCE.selectedInstance.selection.getBookmark();
+
+	return false;
+}
+
+function restoreSelection() {
+	tinyMCE.selectedInstance.selection.moveToBookmark(book);
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1192 @@
+// Diff_Match_Patch v1.3
+// Computes the difference between two texts to create a patch.
+// Applies the patch onto another text, allowing for errors.
+// Copyright (C) 2006 Neil Fraser
+// http://neil.fraser.name/software/diff_match_patch/
+
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License (www.gnu.org) for more details.
+
+
+// Constants.
+// Redefine these in your program to override the defaults.
+
+// Number of seconds to map a diff before giving up.  (0 for infinity)
+var DIFF_TIMEOUT = 1.0;
+// Cost of an empty edit operation in terms of edit characters.
+var DIFF_EDIT_COST = 4;
+// Tweak the relative importance (0.0 = accuracy, 1.0 = proximity)
+var MATCH_BALANCE = 0.5;
+// At what point is no match declared (0.0 = perfection, 1.0 = very loose)
+var MATCH_THRESHOLD = 0.5;
+// The min and max cutoffs used when computing text lengths.
+var MATCH_MINLENGTH = 100;
+var MATCH_MAXLENGTH = 1000;
+// Chunk size for context length.
+var PATCH_MARGIN = 4;
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Diff                                                            //
+//////////////////////////////////////////////////////////////////////
+
+// The data structure representing a diff is an array of tuples:
+// [[-1, "Hello"], [1, "Goodbye"], [0, " world."]]
+// which means: delete "Hello", add "Goodbye" and keep " world."
+
+
+function diff_main(text1, text2, checklines) {
+  // Find the differences between two texts.  Return an array of changes.
+  // If checklines is present and false, then don't run a line-level diff first to identify the changed areas.
+  // Check for equality (speedup)
+  if (text1 == text2)
+    return [[0, text1]];
+
+  if (typeof checklines == 'undefined')
+    checklines = true;
+
+  var a;
+  // Trim off common prefix (speedup)
+  a = diff_prefix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonprefix = a[2];
+
+  // Trim off common suffix (speedup)
+  a = diff_suffix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonsuffix = a[2];
+
+  var diff, i;
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+
+  if (!text1) {  // Just add some text (speedup)
+    diff = [[1, text2]];
+  } else if (!text2) { // Just delete some text (speedup)
+    diff = [[-1, text1]];
+  } else if ((i = longtext.indexOf(shorttext)) != -1) {
+    // Shorter text is inside the longer text (speedup)
+    diff = [[1, longtext.substring(0, i)], [0, shorttext], [1, longtext.substring(i+shorttext.length)]];
+    // Swap insertions for deletions if diff is reversed.
+    if (text1.length > text2.length)
+      diff[0][0] = diff[2][0] = -1;
+  } else {
+    longtext = shorttext = null; // Garbage collect
+    // Check to see if the problem can be split in two.
+    var hm = diff_halfmatch(text1, text2);
+    if (hm) {
+      // A half-match was found, sort out the return data.
+      var text1_a = hm[0];
+      var text1_b = hm[1];
+      var text2_a = hm[2];
+      var text2_b = hm[3];
+      var mid_common = hm[4];
+      // Send both pairs off for separate processing.
+      var diff_a = diff_main(text1_a, text2_a, checklines);
+      var diff_b = diff_main(text1_b, text2_b, checklines);
+      // Merge the results.
+      diff = diff_a.concat([[0, mid_common]], diff_b);
+    } else {
+      // Perform a real diff.
+      if (checklines && text1.length + text2.length < 250)
+        checklines = false; // Too trivial for the overhead.
+      if (checklines) {
+        // Scan the text on a line-by-line basis first.
+        a = diff_lines2chars(text1, text2);
+        text1 = a[0];
+        text2 = a[1];
+        var linearray = a[2];
+      }
+      diff = diff_map(text1, text2);
+      if (!diff) // No acceptable result.
+        diff = [[-1, text1], [1, text2]];
+      if (checklines) {
+        diff_chars2lines(diff, linearray); // Convert the diff back to original text.
+        diff_cleanup_semantic(diff); // Eliminate freak matches (e.g. blank lines)
+
+        // Rediff any replacement blocks, this time on character-by-character basis.
+        diff.push([0, '']);  // Add a dummy entry at the end.
+        var pointer = 0;
+        var count_delete = 0;
+        var count_insert = 0;
+        var text_delete = '';
+        var text_insert = '';
+        while(pointer < diff.length) {
+          if (diff[pointer][0] == 1) {
+            count_insert++;
+            text_insert += diff[pointer][1];
+          } else if (diff[pointer][0] == -1) {
+            count_delete++;
+            text_delete += diff[pointer][1];
+          } else {  // Upon reaching an equality, check for prior redundancies.
+            if (count_delete >= 1 && count_insert >= 1) {
+              // Delete the offending records and add the merged ones.
+              a = diff_main(text_delete, text_insert, false);
+              diff.splice(pointer - count_delete - count_insert, count_delete + count_insert);
+              pointer = pointer - count_delete - count_insert;
+              for (i=a.length-1; i>=0; i--)
+                diff.splice(pointer, 0, a[i]);
+              pointer = pointer + a.length;
+            }
+            count_insert = 0;
+            count_delete = 0;
+            text_delete = '';
+            text_insert = '';
+          }
+          pointer++;
+        }
+        diff.pop();  // Remove the dummy entry at the end.
+
+      }
+    }
+  }
+
+  if (commonprefix)
+    diff.unshift([0, commonprefix]);
+  if (commonsuffix)
+    diff.push([0, commonsuffix]);
+  diff_cleanup_merge(diff);
+  return diff;
+}
+
+
+function diff_lines2chars(text1, text2) {
+  // Split text into an array of strings.
+  // Reduce the texts to a string of hashes where each character represents one line.
+  var linearray = new Array();  // linearray[4] == "Hello\n"
+  var linehash = new Object();  // linehash["Hello\n"] == 4
+
+  // "\x00" is a valid JavaScript character, but the Venkman debugger doesn't like it (bug 335098)
+  // So we'll insert a junk entry to avoid generating a null character.
+  linearray.push('');
+
+  function diff_lines2chars_munge(text) {
+    // My first ever closure!
+    var i, line;
+    var chars = '';
+    while (text) {
+      i = text.indexOf('\n');
+      if (i == -1)
+        i = text.length;
+      line = text.substring(0, i+1);
+      text = text.substring(i+1);
+      if (linehash.hasOwnProperty ? linehash.hasOwnProperty(line) : (linehash[line] !== undefined)) {
+        chars += String.fromCharCode(linehash[line]);
+      } else {
+        linearray.push(line);
+        linehash[line] = linearray.length - 1;
+        chars += String.fromCharCode(linearray.length - 1);
+      }
+    }
+    return chars;
+  }
+
+  var chars1 = diff_lines2chars_munge(text1);
+  var chars2 = diff_lines2chars_munge(text2);
+  return [chars1, chars2, linearray];
+}
+
+
+function diff_chars2lines(diff, linearray) {
+  // Rehydrate the text in a diff from a string of line hashes to real lines of text.
+  var chars, text;
+  for (var x=0; x<diff.length; x++) {
+    chars = diff[x][1];
+    text = '';
+    for (var y=0; y<chars.length; y++)
+      text += linearray[chars.charCodeAt(y)];
+    diff[x][1] = text;
+  }
+}
+
+
+function diff_map(text1, text2) {
+  // Explore the intersection points between the two texts.
+  var now = new Date();
+  var ms_end = now.getTime() + DIFF_TIMEOUT * 1000; // Don't run for too long.
+  var max = (text1.length + text2.length) / 2;
+  var v_map1 = new Array();
+  var v_map2 = new Array();
+  var v1 = new Object();
+  var v2 = new Object();
+  v1[1] = 0;
+  v2[1] = 0;
+  var x, y;
+  var footstep; // Used to track overlapping paths.
+  var footsteps = new Object();
+  var done = false;
+  var hasOwnProperty = !!(footsteps.hasOwnProperty);
+  // If the total number of characters is odd, then the front path will collide with the reverse path.
+  var front = (text1.length + text2.length) % 2;
+  for (var d=0; d<max; d++) {
+    now = new Date();
+    if (DIFF_TIMEOUT > 0 && now.getTime() > ms_end) // Timeout reached
+      return null;
+
+    // Walk the front path one step.
+    v_map1[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v1[k-1] < v1[k+1])
+        x = v1[k+1];
+      else
+        x = v1[k-1]+1;
+      y = x - k;
+      footstep = x+","+y;
+      if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (!front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(x) == text2.charAt(y)) {
+        x++; y++;
+        footstep = x+","+y;
+        if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (!front)
+          footsteps[footstep] = d;
+      }
+      v1[k] = x;
+      v_map1[d][x+","+y] = true;
+      if (done) {
+        // Front path ran over reverse path.
+        v_map2 = v_map2.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, x), text2.substring(0, y));
+        return a.concat(diff_path2(v_map2, text1.substring(x), text2.substring(y)));
+      }
+    }
+
+    // Walk the reverse path one step.
+    v_map2[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v2[k-1] < v2[k+1])
+        x = v2[k+1];
+      else
+        x = v2[k-1]+1;
+      y = x - k;
+      footstep = (text1.length-x)+","+(text2.length-y);
+      if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(text1.length-x-1) == text2.charAt(text2.length-y-1)) {
+        x++; y++;
+        footstep = (text1.length-x)+","+(text2.length-y);
+        if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (front)
+          footsteps[footstep] = d;
+      }
+      v2[k] = x;
+      v_map2[d][x+","+y] = true;
+      if (done) {
+        // Reverse path ran over front path.
+        v_map1 = v_map1.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, text1.length-x), text2.substring(0, text2.length-y));
+        return a.concat(diff_path2(v_map2, text1.substring(text1.length-x), text2.substring(text2.length-y)));
+      }
+    }
+  }
+  // Number of diffs equals number of characters, no commonality at all.
+  return null;
+}
+
+
+function diff_path1(v_map, text1, text2) {
+  // Work from the middle back to the start to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([-1, text1.charAt(x)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[0][1] = text2.charAt(y) + path[0][1];
+        else
+          path.unshift([1, text2.charAt(y)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(x) != text2.charAt(y))
+        //  return alert("No diagonal.  Can't happen. (diff_path1)");
+        if (last_op === 0)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([0, text1.charAt(x)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_path2(v_map, text1, text2) {
+  // Work from the middle back to the end to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([-1, text1.charAt(text1.length-x-1)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[path.length-1][1] += text2.charAt(text2.length-y-1);
+        else
+          path.push([1, text2.charAt(text2.length-y-1)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(text1.length-x-1) != text2.charAt(text2.length-y-1))
+        //  return alert("No diagonal.  Can't happen. (diff_path2)");
+        if (last_op === 0)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([0, text1.charAt(text1.length-x-1)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_prefix(text1, text2) {
+  // Trim off common prefix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(0, pointermid) == text2.substring(0, pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonprefix = text1.substring(0, pointermid);
+  text1 = text1.substring(pointermid);
+  text2 = text2.substring(pointermid);
+  return [text1, text2, commonprefix];
+}
+
+
+function diff_suffix(text1, text2) {
+  // Trim off common suffix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(text1.length-pointermid) == text2.substring(text2.length-pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonsuffix = text1.substring(text1.length-pointermid);
+  text1 = text1.substring(0, text1.length-pointermid);
+  text2 = text2.substring(0, text2.length-pointermid);
+  return [text1, text2, commonsuffix];
+}
+
+
+function diff_halfmatch(text1, text2) {
+  // Do the two texts share a substring which is at least half the length of the longer text?
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+  if (longtext.length < 10 || shorttext.length < 1)
+    return null; // Pointless.
+
+  function diff_halfmatch_i(longtext, shorttext, i) {
+    // Start with a 1/4 length substring at position i as a seed.
+    var seed = longtext.substring(i, i+Math.floor(longtext.length/4));
+    var j = -1;
+    var best_common = '';
+    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;
+    while ((j = shorttext.indexOf(seed, j+1)) != -1) {
+      var my_prefix = diff_prefix(longtext.substring(i), shorttext.substring(j));
+      var my_suffix = diff_suffix(longtext.substring(0, i), shorttext.substring(0, j));
+      if (best_common.length < (my_suffix[2] + my_prefix[2]).length) {
+        best_common = my_suffix[2] + my_prefix[2];
+        best_longtext_a = my_suffix[0];
+        best_longtext_b = my_prefix[0];
+        best_shorttext_a = my_suffix[1];
+        best_shorttext_b = my_prefix[1];
+      }
+    }
+    if (best_common.length >= longtext.length/2)
+      return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];
+    else
+      return null;
+  }
+
+  // First check if the second quarter is the seed for a half-match.
+  var hm1 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/4));
+  // Check again based on the third quarter.
+  var hm2 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/2));
+  var hm;
+  if (!hm1 && !hm2)
+    return null;
+  else if (!hm2)
+    hm = hm1;
+  else if (!hm1)
+    hm = hm2;
+  else // Both matched.  Select the longest.
+    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
+
+  // A half-match was found, sort out the return data.
+  if (text1.length > text2.length) {
+    var text1_a = hm[0];
+    var text1_b = hm[1];
+    var text2_a = hm[2];
+    var text2_b = hm[3];
+  } else {
+    var text2_a = hm[0];
+    var text2_b = hm[1];
+    var text1_a = hm[2];
+    var text1_b = hm[3];
+  }
+  var mid_common = hm[4];
+  return [text1_a, text1_b, text2_a, text2_b, mid_common];
+}
+
+
+function diff_cleanup_semantic(diff) {
+  // Reduce the number of edits by eliminating semantically trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = null; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var length_changes1 = 0; // Number of characters that changed prior to the equality.
+  var length_changes2 = 0; // Number of characters that changed after the equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      equalities.push(pointer);
+      length_changes1 = length_changes2;
+      length_changes2 = 0;
+      lastequality = diff[pointer][1];
+    } else { // an insertion or deletion
+      length_changes2 += diff[pointer][1].length;
+      if (lastequality != null && (lastequality.length <= length_changes1) && (lastequality.length <= length_changes2)) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        equalities.pop();  // Throw away the previous equality;
+        pointer = equalities.length ? equalities[equalities.length-1] : -1;
+        length_changes1 = 0; // Reset the counters.
+        length_changes2 = 0;
+        lastequality = null;
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_efficiency(diff) {
+  // Reduce the number of edits by eliminating operationally trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = ''; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var pre_ins = false; // Is there an insertion operation before the last equality.
+  var pre_del = false; // Is there an deletion operation before the last equality.
+  var post_ins = false; // Is there an insertion operation after the last equality.
+  var post_del = false; // Is there an deletion operation after the last equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      if (diff[pointer][1].length < DIFF_EDIT_COST && (post_ins || post_del)) {
+        // Candidate found.
+        equalities.push(pointer);
+        pre_ins = post_ins;
+        pre_del = post_del;
+        lastequality = diff[pointer][1];
+      } else {
+        // Not a candidate, and can never become one.
+        equalities = [];
+        lastequality = '';
+      }
+      post_ins = post_del = false;
+    } else { // an insertion or deletion
+      if (diff[pointer][0] == -1)
+        post_del = true;
+      else
+        post_ins = true;
+      // Five types to be split:
+      // <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
+      // <ins>A</ins>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<ins>C</ins>
+      // <ins>A</del>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<del>C</del>
+      if (lastequality && ((pre_ins && pre_del && post_ins && post_del) || ((lastequality.length < DIFF_EDIT_COST/2) && (pre_ins + pre_del + post_ins + post_del) == 3))) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        lastequality = '';
+        if (pre_ins && pre_del) {
+          // No changes made which could affect previous entry, keep going.
+          post_ins = post_del = true;
+          equalities = [];
+        } else {
+          equalities.pop();  // Throw away the previous equality;
+          pointer = equalities.length ? equalities[equalities.length-1] : -1;
+          post_ins = post_del = false;
+        }
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_merge(diff) {
+  // Reorder and merge like edit sections.  Merge equalities.
+  // Any edit section can move as long as it doesn't cross an equality.
+  diff.push([0, '']);  // Add a dummy entry at the end.
+  var pointer = 0;
+  var count_delete = 0;
+  var count_insert = 0;
+  var text_delete = '';
+  var text_insert = '';
+  var record_insert, record_delete;
+  var my_xfix;
+  while(pointer < diff.length) {
+    if (diff[pointer][0] == 1) {
+      count_insert++;
+      text_insert += diff[pointer][1];
+      pointer++;
+    } else if (diff[pointer][0] == -1) {
+      count_delete++;
+      text_delete += diff[pointer][1];
+      pointer++;
+    } else {  // Upon reaching an equality, check for prior redundancies.
+      if (count_delete > 1 || count_insert > 1) {
+        if (count_delete > 1 && count_insert > 1) {
+          // Factor out any common prefixies.
+          my_xfix = diff_prefix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            if ((pointer - count_delete - count_insert) > 0 && diff[pointer - count_delete - count_insert - 1][0] == 0) {
+              text_insert = my_xfix[0];
+              text_delete = my_xfix[1];
+              diff[pointer - count_delete - count_insert - 1][1] += my_xfix[2];
+            }
+          }
+          // Factor out any common suffixies.
+          my_xfix = diff_suffix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            text_insert = my_xfix[0];
+            text_delete = my_xfix[1];
+            diff[pointer][1] = my_xfix[2] + diff[pointer][1];
+          }
+        }
+        // Delete the offending records and add the merged ones.
+        if (count_delete == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [1, text_insert]);
+        else if (count_insert == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete]);
+        else
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete], [1, text_insert]);
+        pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;
+      } else if (pointer != 0 && diff[pointer-1][0] == 0) {
+        // Merge this equality with the previous one.
+        diff[pointer-1][1] += diff[pointer][1];
+        diff.splice(pointer, 1);
+      } else {
+        pointer++;
+      }
+      count_insert = 0;
+      count_delete = 0;
+      text_delete = '';
+      text_insert = '';
+    }
+  }
+  if (diff[diff.length-1][1] == '')
+    diff.pop();  // Remove the dummy entry at the end.
+}
+
+
+function diff_addindex(diff) {
+  // Add an index to each tuple, represents where the tuple is located in text2.
+  // e.g. [[-1, 'h', 0], [1, 'c', 0], [0, 'at', 1]]
+  var i = 0;
+  for (var x=0; x<diff.length; x++) {
+    diff[x].push(i);
+    if (diff[x][0] != -1)
+      i += diff[x][1].length;
+  }
+}
+
+
+function diff_xindex(diff, loc) {
+  // loc is a location in text1, compute and return the equivalent location in text2.
+  // e.g. "The cat" vs "The big cat", 1->1, 5->8
+  var chars1 = 0;
+  var chars2 = 0;
+  var last_chars1 = 0;
+  var last_chars2 = 0;
+  for (var x=0; x<diff.length; x++) {
+    if (diff[x][0] != 1) // Equality or deletion.
+      chars1 += diff[x][1].length;
+    if (diff[x][0] != -1) // Equality or insertion.
+      chars2 += diff[x][1].length;
+    if (chars1 > loc) // Overshot the location.
+      break;
+    last_chars1 = chars1;
+    last_chars2 = chars2;
+  }
+  if (diff.length != x && diff[x][0] == -1) // The location was deleted.
+    return last_chars2;
+  // Add the remaining character length.
+  return last_chars2 + (loc - last_chars1);
+}
+
+
+function diff_prettyhtml(diff) {
+  // Convert a diff array into a pretty HTML report.
+  diff_addindex(diff);
+  var html = '';
+  for (var x=0; x<diff.length; x++) {
+    var m = diff[x][0]; // Mode (-1=delete, 0=copy, 1=add)
+    var t = diff[x][1]; // Text of change.
+    var i = diff[x][2]; // Index of change.
+    t = t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
+    t = t.replace(/\n/g, "&para;<BR>");
+    if (m == -1)
+      html += "<DEL STYLE='background:#FFE6E6;' TITLE='i="+i+"'>"+t+"</DEL>";
+    else if (m == 1)
+      html += "<INS STYLE='background:#E6FFE6;' TITLE='i="+i+"'>"+t+"</INS>";
+    else
+      html += "<SPAN TITLE='i="+i+"'>"+t+"</SPAN>";
+  }
+  return html;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Match                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function match_getmaxbits() {
+  // Compute the number of bits in an int.
+  // The normal answer for JavaScript is 32.
+  var maxbits = 0;
+  var oldi = 1;
+  var newi = 2;
+  while (oldi != newi) {
+    maxbits++;
+    oldi = newi;
+    newi = newi << 1;
+  }
+  return maxbits;
+}
+var MATCH_MAXBITS = match_getmaxbits();
+
+
+function match_main(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc'.
+  loc = Math.max(0, Math.min(loc, text.length-pattern.length));
+  if (text == pattern) {
+    // Shortcut (potentially not guaranteed by the algorithm)
+    return 0;
+  } else if (text.length == 0) {
+    // Nothing to match.
+    return null;
+  } else if (text.substring(loc, loc + pattern.length) == pattern) {
+    // Perfect match at the perfect spot!  (Includes case of null pattern)
+    return loc;
+  } else {
+    // Do a fuzzy compare.
+    var match = match_bitap(text, pattern, loc);
+    return match;
+  }
+}
+
+
+function match_bitap(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc' using the Bitap algorithm.
+  if (pattern.length > MATCH_MAXBITS)
+    return alert("Pattern too long for this browser.");
+
+  // Initialise the alphabet.
+  var s = match_alphabet(pattern);
+
+  var score_text_length = text.length;
+  // Coerce the text length between reasonable maximums and minimums.
+  score_text_length = Math.max(score_text_length, MATCH_MINLENGTH);
+  score_text_length = Math.min(score_text_length, MATCH_MAXLENGTH);
+
+  function match_bitap_score (e, x) {
+    // Compute and return the score for a match with e errors and x location.
+    var d = Math.abs(loc-x);
+    return (e / pattern.length / MATCH_BALANCE) + (d / score_text_length / (1.0 - MATCH_BALANCE));
+  }
+
+  // Highest score beyond which we give up.
+  var score_threshold = MATCH_THRESHOLD;
+  // Is there a nearby exact match? (speedup)
+  var best_loc = text.indexOf(pattern, loc);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+  // What about in the other direction? (speedup)
+  best_loc = text.lastIndexOf(pattern, loc+pattern.length);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+
+  // Initialise the bit arrays.
+  var r = Array();
+  var d = -1;
+  var matchmask = Math.pow(2, pattern.length-1);
+  best_loc = null;
+
+  var bin_min, bin_mid;
+  var bin_max = Math.max(loc+loc, text.length);
+  var last_rd;
+  for (var d=0; d<pattern.length; d++) {
+    // Scan for the best match; each iteration allows for one more error.
+    var rd = Array(text.length);
+
+    // Run a binary search to determine how far from 'loc' we can stray at this error level.
+    bin_min = loc;
+    bin_mid = bin_max;
+    while(bin_min < bin_mid) {
+      if (match_bitap_score(d, bin_mid) < score_threshold)
+        bin_min = bin_mid;
+      else
+        bin_max = bin_mid;
+      bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);
+    }
+    bin_max = bin_mid; // Use the result from this iteration as the maximum for the next.
+    var start = Math.max(0, loc - (bin_mid - loc) - 1);
+    var finish = Math.min(text.length-1, pattern.length + bin_mid);
+
+    if (text.charAt(finish) == pattern.charAt(pattern.length-1))
+      rd[finish] = Math.pow(2, d+1)-1;
+    else
+      rd[finish] = Math.pow(2, d)-1;
+    for (var j=finish-1; j>=start; j--) {
+      // The alphabet (s) is a sparse hash, so the following lines generate warnings.
+      if (d == 0) // First pass: exact match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)];
+      else // Subsequent passes: fuzzy match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)] | ((last_rd[j+1] << 1) | 1) | ((last_rd[j] << 1) | 1) | last_rd[j+1];
+      if (rd[j] & matchmask) {
+        var score = match_bitap_score(d, j);
+        // This match will almost certainly be better than any existing match.  But check anyway.
+        if (score <= score_threshold) {
+          // Told you so.
+          score_threshold = score;
+          best_loc = j;
+          if (j > loc) {
+            // When passing loc, don't exceed our current distance from loc.
+            start = Math.max(0, loc - (j - loc));
+          } else {
+            // Already passed loc, downhill from here on in.
+            break;
+          }
+        }
+      }
+    }
+    if (match_bitap_score(d+1, loc) > score_threshold) // No hope for a (better) match at greater error levels.
+      break;
+    last_rd = rd;
+  }
+  return best_loc;
+}
+
+
+function match_alphabet(pattern) {
+  // Initialise the alphabet for the Bitap algorithm.
+  var s = Object();
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] = 0;
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] |= Math.pow(2, pattern.length-i-1);
+  return s;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Patch                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function patch_obj() {
+  // Constructor for a patch object.
+  this.diffs = [];
+  this.start1 = null;
+  this.start2 = null;
+  this.length1 = 0;
+  this.length2 = 0;
+
+  this.toString = function() {
+    // Emmulate GNU diff's format.
+    // Header: @@ -382,8 +481,9 @@
+    // Indicies are printed as 1-based, not 0-based.
+    var coords1, coords2;
+    if (this.length1 == 0)
+      coords1 = this.start1+",0";
+    else if (this.length1 == 1)
+      coords1 = this.start1+1;
+    else
+      coords1 = (this.start1+1)+","+this.length1;
+    if (this.length2 == 0)
+      coords2 = this.start2+",0";
+    else if (this.length2 == 1)
+      coords2 = this.start2+1;
+    else
+      coords2 = (this.start2+1)+","+this.length2;
+    var txt = "@@ -"+coords1+" +"+coords2+" @@\n";
+    // Escape the body of the patch with %xx notation.
+    for (var x=0; x<this.diffs.length; x++)
+      txt += ("- +".charAt(this.diffs[x][0]+1)) + encodeURI(this.diffs[x][1]) + "\n";
+    return txt.replace(/%20/g, ' ');
+  }
+
+  this.text1 = function() {
+    // Compute and return the source text (all equalities and deletions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == -1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+
+  this.text2 = function() {
+    // Compute and return the destination text (all equalities and insertions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == 1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+}
+
+
+function patch_addcontext(patch, text) {
+  var pattern = text.substring(patch.start2, patch.start2+patch.length1);
+  var padding = 0;
+  // Increase the context until we're unique (but don't let the pattern expand beyond MATCH_MAXBITS).
+  while (text.indexOf(pattern) != text.lastIndexOf(pattern) && pattern.length < MATCH_MAXBITS-PATCH_MARGIN-PATCH_MARGIN) {
+    padding += PATCH_MARGIN;
+    pattern = text.substring(patch.start2 - padding, patch.start2+patch.length1 + padding);
+  }
+  // Add one chunk for good luck.
+  padding += PATCH_MARGIN;
+  // Add the prefix.
+  var prefix = text.substring(patch.start2 - padding, patch.start2);
+  if (prefix != '')
+    patch.diffs.unshift([0, prefix]);
+  // Add the suffix
+  var suffix = text.substring(patch.start2+patch.length1, patch.start2+patch.length1 + padding);
+  if (suffix != '')
+    patch.diffs.push([0, suffix]);
+
+  // Roll back the start points.
+  patch.start1 -= prefix.length;
+  patch.start2 -= prefix.length;
+  // Extend the lengths.
+  patch.length1 += prefix.length + suffix.length;
+  patch.length2 += prefix.length + suffix.length;
+}
+
+
+function patch_make(text1, text2, diff) {
+  // Compute a list of patches to turn text1 into text2.
+  // Use diff if provided, otherwise compute it ourselves.
+  if (typeof diff == 'undefined') {
+    diff = diff_main(text1, text2, true);
+    if (diff.length > 2) {
+      diff_cleanup_semantic(diff);
+      diff_cleanup_efficiency(diff);
+    }
+  }
+  if (diff.length == 0)
+    return []; // Get rid of the null case.
+  var patches = [];
+  var patch = new patch_obj();
+  var char_count1 = 0; // Number of characters into the text1 string.
+  var char_count2 = 0; // Number of characters into the text2 string.
+  var last_type = null;
+  var prepatch_text = text1; // Recreate the patches to determine context info.
+  var postpatch_text = text1;
+  for (var x=0; x<diff.length; x++) {
+    var diff_type = diff[x][0];
+    var diff_text = diff[x][1];
+
+    if (patch.diffs.length == 0 && diff_type != 0) {
+      // A new patch starts here.
+      patch.start1 = char_count1;
+      patch.start2 = char_count2;
+    }
+
+    if (diff_type == 1) {
+      // Insertion
+      patch.diffs.push(diff[x]);
+      patch.length2 += diff_text.length;
+      postpatch_text = postpatch_text.substring(0, char_count2) + diff_text + postpatch_text.substring(char_count2);
+    } else if (diff_type == -1) {
+      // Deletion.
+      patch.length1 += diff_text.length;
+      patch.diffs.push(diff[x]);
+      postpatch_text = postpatch_text.substring(0, char_count2) + postpatch_text.substring(char_count2 + diff_text.length);
+    } else if (diff_type == 0 && diff_text.length <= 2*PATCH_MARGIN && patch.diffs.length != 0 && diff.length != x+1) {
+      // Small equality inside a patch.
+      patch.diffs.push(diff[x]);
+      patch.length1 += diff_text.length;
+      patch.length2 += diff_text.length;
+    }
+
+    last_type = diff_type;
+    if (diff_type == 0 && diff_text.length >= 2*PATCH_MARGIN) {
+      // Time for a new patch.
+      if (patch.diffs.length != 0) {
+        patch_addcontext(patch, prepatch_text);
+        patches.push(patch);
+        var patch = new patch_obj();
+        last_type = null;
+        prepatch_text = postpatch_text;
+      }
+    }
+
+    // Update the current character count.
+    if (diff_type != 1)
+      char_count1 += diff_text.length;
+    if (diff_type != -1)
+      char_count2 += diff_text.length;
+  }
+  // Pick up the leftover patch if not empty.
+  if (patch.diffs.length != 0) {
+    patch_addcontext(patch, prepatch_text);
+    patches.push(patch);
+  }
+
+  return patches;
+}
+
+
+function patch_apply(patches, text) {
+  // Merge a set of patches onto the text.
+  // Return a patched text, as well as a list of true/false values indicating which patches were applied.
+  patch_splitmax(patches);
+  var results = [];
+  var delta = 0;
+  var expected_loc, start_loc;
+  var text1, text2;
+  var diff, mod, index1, index2;
+  for (var x=0; x<patches.length; x++) {
+    expected_loc = patches[x].start2 + delta;
+    text1 = patches[x].text1();
+    start_loc = match_main(text, text1, expected_loc);
+    if (start_loc == null) {
+      // No match found.  :(
+      results.push(false);
+    } else {
+      // Found a match.  :)
+      results.push(true);
+      delta = start_loc - expected_loc;
+      text2 = text.substring(start_loc, start_loc + text1.length);
+      if (text1 == text2) {
+        // Perfect match, just shove the replacement text in.
+        text = text.substring(0, start_loc) + patches[x].text2() + text.substring(start_loc + text1.length);
+      } else {
+        // Imperfect match.  Run a diff to get a framework of equivalent indicies.
+        diff = diff_main(text1, text2, false);
+        index1 = 0;
+        for (var y=0; y<patches[x].diffs.length; y++) {
+          mod = patches[x].diffs[y];
+          if (mod[0] != 0)
+            index2 = diff_xindex(diff, index1);
+          if (mod[0] == 1) // Insertion
+            text = text.substring(0, start_loc + index2) + mod[1] + text.substring(start_loc + index2);
+          else if (mod[0] == -1) // Deletion
+            text = text.substring(0, start_loc + index2) + text.substring(start_loc + diff_xindex(diff, index1 + mod[1].length));
+          if (mod[0] != -1)
+            index1 += mod[1].length;
+        }
+      }
+    }
+  }
+  return [text, results];
+}
+
+
+function patch_splitmax(patches) {
+  // Look through the patches and break up any which are longer than the maximum limit of the match algorithm.
+  var bigpatch, patch, patch_size, start1, start2, diff_type, diff_text, precontext, postcontext, empty;
+  for (var x=0; x<patches.length; x++) {
+    if (patches[x].length1 > MATCH_MAXBITS) {
+      bigpatch = patches[x];
+      // Remove the big old patch.
+      patches.splice(x, 1);
+      patch_size = MATCH_MAXBITS;
+      start1 = bigpatch.start1;
+      start2 = bigpatch.start2;
+      precontext = '';
+      while (bigpatch.diffs.length != 0) {
+        // Create one of several smaller patches.
+        patch = new patch_obj();
+        empty = true;
+        patch.start1 = start1 - precontext.length;
+        patch.start2 = start2 - precontext.length;
+        if (precontext  != '') {
+          patch.length1 = patch.length2 = precontext.length;
+          patch.diffs.push([0, precontext]);
+        }
+        while (bigpatch.diffs.length != 0 && patch.length1 < patch_size - PATCH_MARGIN) {
+          diff_type = bigpatch.diffs[0][0];
+          diff_text = bigpatch.diffs[0][1];
+          if (diff_type == 1) {
+            // Insertions are harmless.
+            patch.length2 += diff_text.length;
+            start2 += diff_text.length;
+            patch.diffs.push(bigpatch.diffs.shift());
+            empty = false;
+          } else {
+            // Deletion or equality.  Only take as much as we can stomach.
+            diff_text = diff_text.substring(0, patch_size - patch.length1 - PATCH_MARGIN);
+            patch.length1 += diff_text.length;
+            start1 += diff_text.length;
+            if (diff_type == 0) {
+              patch.length2 += diff_text.length;
+              start2 += diff_text.length;
+            } else {
+              empty = false;
+            }
+            patch.diffs.push([diff_type, diff_text]);
+            if (diff_text == bigpatch.diffs[0][1])
+              bigpatch.diffs.shift();
+            else
+              bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diff_text.length);
+          }
+        }
+        // Compute the head context for the next patch.
+        precontext = patch.text2();
+        precontext = precontext.substring(precontext.length - PATCH_MARGIN);
+        // Append the end context for this patch.
+        postcontext = bigpatch.text1().substring(0, PATCH_MARGIN);
+        if (postcontext  != '') {
+          patch.length1 += postcontext.length;
+          patch.length2 += postcontext.length;
+          if (patch.diffs.length > 0 && patch.diffs[patch.diffs.length-1][0] == 0)
+            patch.diffs[patch.diffs.length-1][1] += postcontext;
+          else
+            patch.diffs.push([0, postcontext]);
+        }
+        if (!empty)
+          patches.splice(x++, 0, patch);
+      }
+    }
+  }
+}
+
+
+function patch_totext(patches) {
+  // Take a list of patches and return a textual representation.
+  var text = '';
+  for (var x=0; x<patches.length; x++)
+    text += patches[x];
+  return text;
+}
+
+
+function patch_fromtext(text) {
+  // Take a textual representation of patches and return a list of patch objects.
+  var patches = [];
+  text = text.split('\n');
+  var patch, m, chars1, chars2, sign, line;
+  while (text.length != 0) {
+    m = text[0].match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/);
+    if (!m)
+      return alert("Invalid patch string:\n"+text[0]);
+    patch = new patch_obj();
+    patches.push(patch);
+    patch.start1 = parseInt(m[1]);
+    if (m[2] == '') {
+      patch.start1--;
+      patch.length1 = 1;
+    } else if (m[2] == '0') {
+      patch.length1 = 0;
+    } else {
+      patch.start1--;
+      patch.length1 = parseInt(m[2]);
+    }
+
+    patch.start2 = parseInt(m[3]);
+    if (m[4] == '') {
+      patch.start2--;
+      patch.length2 = 1;
+    } else if (m[4] == '0') {
+      patch.length2 = 0;
+    } else {
+      patch.start2--;
+      patch.length2 = parseInt(m[4]);
+    }
+    text.shift();
+
+    while (text.length != 0) {
+      sign = text[0].charAt(0);
+      line = decodeURIComponent(text[0].substring(1));
+      if (sign == '-') {
+        // Deletion.
+        patch.diffs.push([-1, line]);
+      } else if (sign == '+') {
+        // Insertion.
+        patch.diffs.push([1, line]);
+      } else if (sign == ' ') {
+        // Minor equality.
+        patch.diffs.push([0, line]);
+      } else if (sign == '@') {
+        // Start of next patch.
+        break;
+      } else if (sign == '') {
+        // Blank line?  Whatever.
+      } else {
+        // WTF?
+        return alert("Invalid patch mode: '"+sign+"'\n"+line);
+      }
+      text.shift();
+    }
+  }
+  return patches;
+}
+
+// EOF

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+// UK lang variables
+
+tinyMCE.addToLang('devkit',{
+title : 'TinyMCE Development Kit',
+info_tab : 'Info',
+settings_tab : 'Settings',
+log_tab : 'Log',
+content_tab : 'Content',
+command_states_tab : 'Commands',
+undo_redo_tab : 'Undo/Redo',
+misc_tab : 'Misc',
+filter : 'Filter:',
+clear_log : 'Clear log',
+refresh : 'Refresh',
+info_help : 'Press Refresh to view info.',
+settings_help : 'Press Refresh to display the settings array for each TinyMCE_Control instance.',
+content_help : 'Press Refresh to display the raw and cleaned HTML content for each TinyMCE_Control instance.',
+command_states_help : 'Press Refresh to display the current command states from inst.queryCommandState. This list will also mark unsupported commands.',
+undo_redo_help : 'Press Refresh to display the global and instance undo/redo levels.',
+misc_help : 'Here are various tools for debugging and development purposes.',
+debug_events : 'Debug events',
+undo_diff : 'Diff undo levels'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('directionality');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('directionality');
+
+var TinyMCE_DirectionalityPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Directionality',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "ltr":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR');
+
+			case "rtl":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceDirectionLTR":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "ltr");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+
+			case "mceDirectionRTL":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "rtl");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		if (node == null)
+			return;
+
+		var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+		if (!elm) {
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal');
+
+		var dir = getAttrib(elm, "dir");
+		if (dir == "ltr" || dir == "")
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected');
+		else
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction left to right',
+directionality_rtl_desc : 'Direction right to left'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('emotions');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('emotions');
+
+// Plucin static class
+var TinyMCE_EmotionsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Emotions',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the emotions control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "emotions":
+				return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceEmotion command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceEmotion":
+				var template = new Array();
+
+				template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
+				template['width'] = 250;
+				template['height'] = 160;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+// Register plugin
+tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_emotions_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div align="center">
+		<div class="title">{$lang_emotions_title}:<br /><br /></div>
+
+		<table border="0" cellspacing="0" cellpadding="4">
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money_mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money_mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
+		  </tr>
+		</table>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+These emotions where taken from Mozilla Thunderbird.
+I hope they don't get angry if I use them here after all this is a open source project aswell.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function insertEmotion(file_name, title) {
+	title = tinyMCE.getLang(title);
+
+	if (title == null)
+		title = "";
+
+	// XML encode
+	title = title.replace(/&/g, '&amp;');
+	title = title.replace(/\"/g, '&quot;');
+	title = title.replace(/</g, '&lt;');
+	title = title.replace(/>/g, '&gt;');
+
+	var html = '<img src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" mce_src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';
+
+	tinyMCE.execCommand('mceInsertContent', false, html);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+// UK lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Insert emotion',
+desc : 'Emotions',
+cool : 'Cool',
+cry : 'Cry',
+embarassed : 'Embarassed',
+foot_in_mouth : 'Foot in mouth',
+frown : 'Frown',
+innocent : 'Innocent',
+kiss : 'Kiss',
+laughing : 'Laughing',
+money_mouth : 'Money mouth',
+sealed : 'Sealed',
+smile : 'Smile',
+surprised : 'Surprised',
+tongue_out : 'Tongue out',
+undecided : 'Undecided',
+wink : 'Wink',
+yell : 'Yell'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+.mceItemFlash {
+	border: 1px dotted #cc0000;
+	background-image: url('../images/flash.gif');
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 100px;
+}
+
+#width, #height {
+	width: 50px;
+}
+
+#file {
+	width: 250px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('flash');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css")},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update"}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}break;case"insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}var index=0;while((startPos=content.indexOf('<embed',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("flash",TinyMCE_FlashPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('flash');
+
+var TinyMCE_FlashPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Flash',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['flash_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "flash":
+				return tinyMCE.getButtonHTML(cn, 'lang_flash_desc', '{$pluginurl}/images/flash.gif', 'mceFlash');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFlash":
+				var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
+				var template = new Array();
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+
+				template['file']   = '../../plugins/flash/flash.htm'; // Relative to theme
+				template['width']  = 430;
+				template['height'] = 175;
+
+				template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
+
+				// Is selection a image
+				if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
+					name = tinyMCE.getAttrib(focusElm, 'class');
+
+					if (name.indexOf('mceItemFlash') == -1) // Not a Flash
+						return true;
+
+					// Get rest of Flash items
+					swffile = tinyMCE.getAttrib(focusElm, 'alt');
+
+					if (tinyMCE.getParam('convert_urls'))
+						swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
+
+					swfwidth = tinyMCE.getAttrib(focusElm, 'width');
+					swfheight = tinyMCE.getAttrib(focusElm, 'height');
+					action = "update";
+				}
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
+			return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				// Force relative/absolute
+				if (tinyMCE.getParam('convert_urls')) {
+					var imgs = content.getElementsByTagName("img");
+					for (var i=0; i<imgs.length; i++) {
+						if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+							var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+							if (tinyMCE.getParam('convert_urls'))
+								src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+							imgs[i].setAttribute('alt', src);
+							imgs[i].setAttribute('title', src);
+						}
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+						var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('alt', src);
+						imgs[i].setAttribute('title', src);
+					}
+				}
+				break;
+
+			case "insert_to_editor":
+				var startPos = 0;
+				var embedList = new Array();
+
+				// Fix the embed and object elements
+				content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
+				content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
+				content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
+				content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
+
+				// Parse all embed tags
+				while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
+					var endPos = content.indexOf('>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos));
+					embedList[embedList.length] = attribs;
+				}
+
+				// Parse all object tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<object', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of object
+					endPos = content.indexOf('</object>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				// Parse all embed tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<embed', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of embed
+					endPos = content.indexOf('>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				break;
+
+			case "get_from_editor":
+				// Parse all img tags and replace them with object+embed
+				var startPos = -1;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					var endPos = content.indexOf('/>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (attribs['class'] != "mceItemFlash")
+						continue;
+
+					endPos += 2;
+
+					var embedHTML = '';
+					var wmode = tinyMCE.getParam("flash_wmode", "");
+					var quality = tinyMCE.getParam("flash_quality", "high");
+					var menu = tinyMCE.getParam("flash_menu", "false");
+
+					// Insert object + embed
+					embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
+					embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
+					embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
+					embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
+					embedHTML += '<param name="quality" value="' + quality + '" />';
+					embedHTML += '<param name="menu" value="' + menu + '" />';
+					embedHTML += '<param name="wmode" value="' + wmode + '" />';
+					embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) {
+				tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal');
+
+		return true;
+	},
+
+	// Private plugin internal functions
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "";
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue)
+				withInValue = true;
+			else if ((chr == '"' || chr == "'") && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("flash", TinyMCE_FlashPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_flash_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<link href="css/flash.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertFlash();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_flash_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+							<td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
+							  <td nowrap="nowrap">
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_flash_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
+								<td nowrap="nowrap">
+									<input type="text" id="width" name="width" value="" onfocus="this.select();" />
+									<select name="width2" id="width2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>&nbsp;x&nbsp;<input id="height" name="height" type="text"  value="" onfocus="this.select();" />
+									<select name="height2" id="height2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>
+								</td>
+							</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+var url = tinyMCE.getParam("flash_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash');
+
+	// Image list outsrc
+	var html = getFlashListHTML('filebrowser','file','flash','flash');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	var formObj = document.forms[0];
+	var swffile   = tinyMCE.getWindowArg('swffile');
+	var swfwidth  = '' + tinyMCE.getWindowArg('swfwidth');
+	var swfheight = '' + tinyMCE.getWindowArg('swfheight');
+
+	if (swfwidth.indexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = swfwidth.substring(0,swfwidth.length-1);
+	} else {
+		formObj.width2.value = "px";
+		formObj.width.value  = swfwidth;
+	}
+
+	if (swfheight.indexOf('%')!=-1) {
+		formObj.height2.value = "%";
+		formObj.height.value  = swfheight.substring(0,swfheight.length-1);
+	} else {
+		formObj.height2.value = "px";
+		formObj.height.value  = swfheight;
+	}
+
+	formObj.file.value = swffile;
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
+
+	selectByValue(formObj, 'linklist', swffile);
+
+	// Handle file browser
+	if (isVisible('filebrowser'))
+		document.getElementById('file').style.width = '230px';
+
+	// Auto select flash in list
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		for (var i=0; i<formObj.linklist.length; i++) {
+			if (formObj.linklist.options[i].value == tinyMCE.getWindowArg('swffile'))
+				formObj.linklist.options[i].selected = true;
+		}
+	}
+}
+
+function getFlashListHTML() {
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEFlashList.length; i++)
+			html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function insertFlash() {
+	var formObj = document.forms[0];
+	var html      = '';
+	var file      = formObj.file.value;
+	var width     = formObj.width.value;
+	var height    = formObj.height.value;
+	if (formObj.width2.value=='%') {
+		width = width + '%';
+	}
+	if (formObj.height2.value=='%') {
+		height = height + '%';
+	}
+
+	if (width == "")
+		width = 100;
+
+	if (height == "")
+		height = 100;
+
+	html += ''
+		+ '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" mce_src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+		+ 'width="' + width + '" height="' + height + '" '
+		+ 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCE.selectedInstance.repaint();
+
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+// UK lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Insert / edit Flash Movie',
+desc : 'Insert / edit Flash Movie',
+file : 'Flash-File (.swf)',
+size : 'Size',
+list : 'Flash files',
+props : 'Flash properties',
+general : 'General'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body onload="parent.setupIframe(document);">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/* Hide the advanced tab */
+#advanced_tab {
+	display: none;
+}
+
+#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
+	width: 280px;
+}
+
+#doctype, #docencoding {
+	width: 200px;
+}
+
+#langcode {
+	width: 30px;
+}
+
+#bgimage {
+	width: 220px;	
+}
+
+#fontface {
+	width: 240px;
+}
+
+#leftmargin, #rightmargin, #topmargin, #bottommargin {
+	width: 50px;
+}
+
+.panel_wrapper div.current {
+	height: 400px;
+}
+
+#stylesheet, #style {
+	width: 240px;
+}
+
+/* Head list classes */
+
+.headlistwrapper {
+	width: 100%;
+}
+
+.addbutton, .removebutton, .moveupbutton, .movedownbutton {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+	display: block;
+	width: 20px;
+	height: 20px;
+}
+
+.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.addbutton {
+	background-image: url('../images/add.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.removebutton {
+	background-image: url('../images/remove.gif');
+	float: left;
+}
+
+.moveupbutton {
+	background-image: url('../images/move_up.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.movedownbutton {
+	background-image: url('../images/move_down.gif');
+	float: left;
+}
+
+.selected {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.toolbar {
+	width: 100%;
+}
+
+#headlist {
+	width: 100%;
+	margin-top: 3px;
+	font-size: 11px;
+}
+
+#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
+	display: none;
+}
+
+#addmenu {
+	position: absolute;
+	border: 1px solid gray;
+	display: none;
+	z-index: 100;
+	background-color: white;
+}
+
+#addmenu a {
+	display: block;
+	width: 100%;
+	line-height: 20px;
+	text-decoration: none;
+	background-color: white;
+}
+
+#addmenu a:hover {
+	background-color: #B6BDD2;
+	color: black;
+}
+
+#addmenu span {
+	padding-left: 10px;
+	padding-right: 10px;
+}
+
+#updateElementPanel {
+	display: none;
+}
+
+#script_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#style_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#link_element  .panel_wrapper div.current {
+	height: 140px;
+}
+
+#element_script_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_comment_value {
+	width: 100%;
+	height: 120px;
+}
+
+#element_style_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
+	width: 250px;
+}
+
+.updateElementButton {
+	margin-top: 3px;
+}
+
+/* MSIE specific styles */
+
+* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
+	width: 22px;
+	height: 22px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullpage');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true}return false},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('<body'),pos2;if(pos!=-1){pos=tmp.indexOf('>',pos);pos2=tmp.lastIndexOf('</body>');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&amp;');title=title.replace(/\"/g,'&quot;');title=title.replace(/</g,'&lt;');title=title.replace(/>/g,'&gt;');tmp='';if(pi)tmp+='<?xml version="1.0" encoding="'+enc+'"?>\n';tmp+=docType+'\n';tmp+='<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="'+lang+'" xml:lang="'+lang+'">\n';tmp+='<head>\n';tmp+='\t<title>'+title+'</title>\n';tmp+='\t<meta http-equiv="Content-Type" content="text/html; charset='+enc+'" />\n';tmp+='</head>\n';tmp+='<body';if(ff!=''||fz!=''){tmp+=' style="';if(ds!='')tmp+=ds+";";if(ff!='')tmp+='font-family: '+ff+";";if(fz!='')tmp+='font-size: '+fz+";";tmp+='"'}if(dtc!='')tmp+=' text="'+dtc+'"';tmp+='>\n';inst.fullpageTopContent=tmp}}this._addToHead(inst);break;case"get_from_editor":if(inst.fullpageTopContent)content=inst.fullpageTopContent+content+"\n</body>\n</html>";break}return content},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(/<script(.*?)<\/script>/gi,'');h=h.replace(/<title(.*?)<\/title>/gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/<link([^>]*)\/>/gi,'<pre mce_type="link" $1></pre>');h=h.replace(/<body/gi,'<div mce_type="body"');h+='</div>';e.innerHTML=h;body.vLink=body.aLink=body.link=body.text='';body.style.cssText='';nl=head.getElementsByTagName('link');for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],'mce_head')=="true")nl[i].parentNode.removeChild(nl[i])}nl=e.getElementsByTagName('pre');for(i=0;i<nl.length;i++){tmp=tinyMCE.getAttrib(nl[i],'media');if(tinyMCE.getAttrib(nl[i],'mce_type')=="link"&&(tmp==""||tmp=="screen"||tmp=="all")&&tinyMCE.getAttrib(nl[i],'rel')=="stylesheet"){le=doc.createElement("link");le.rel="stylesheet";le.href=tinyMCE.getAttrib(nl[i],'href');le.setAttribute("mce_head","true");head.appendChild(le)}}nl=e.getElementsByTagName('div');if(nl.length>0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage="url('"+tmp+"')";if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,227 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullpage');
+
+var TinyMCE_FullPagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullpage',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullpage":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFullPageProperties":
+				var template = new Array();
+
+				template['file']   = '../../plugins/fullpage/fullpage.htm';
+				template['width']  = 430;
+				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+			return true;
+
+			case "mceFullPageUpdate":
+				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor":
+				var tmp = content.toLowerCase();
+				var pos = tmp.indexOf('<body'), pos2;
+
+				// Split page in header and body chunks
+				if (pos != -1) {
+					pos = tmp.indexOf('>', pos);
+					pos2 = tmp.lastIndexOf('</body>');
+					inst.fullpageTopContent = content.substring(0, pos + 1);
+					content = content.substring(pos + 1, pos2);
+					// tinyMCE.debug(inst.fullpageTopContent, content);
+				} else {
+					if (!inst.fullpageTopContent) {
+						var docType = tinyMCE.getParam("fullpage_default_doctype", '<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
+						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
+						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
+						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
+						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
+						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
+						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
+						var ds = tinyMCE.getParam("fullpage_default_style", "");
+						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
+
+						// Xml encode it
+						title = title.replace(/&/g, '&amp;');
+						title = title.replace(/\"/g, '&quot;');
+						title = title.replace(/</g, '&lt;');
+						title = title.replace(/>/g, '&gt;');
+
+						tmp = '';
+
+						// Make default chunk
+						if (pi)
+							tmp += '<?xml version="1.0" encoding="' + enc + '"?>\n';
+
+						tmp += docType + '\n';
+						tmp += '<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="' + lang + '" xml:lang="' + lang + '">\n';
+						tmp += '<head>\n';
+						tmp += '\t<title>' + title + '</title>\n';
+						tmp += '\t<meta http-equiv="Content-Type" content="text/html; charset=' + enc + '" />\n';
+						tmp += '</head>\n';
+						tmp += '<body';
+
+						if (ff != '' || fz != '') {
+							tmp += ' style="';
+
+							if (ds != '')
+								tmp += ds + ";";
+
+							if (ff != '')
+								tmp += 'font-family: ' + ff + ";";
+
+							if (fz != '')
+								tmp += 'font-size: ' + fz + ";";
+
+							tmp += '"';
+						}
+
+						if (dtc != '')
+							tmp += ' text="' + dtc + '"';
+
+						tmp += '>\n';
+
+						inst.fullpageTopContent = tmp;
+					}
+				}
+
+				this._addToHead(inst);
+
+				break;
+
+			case "get_from_editor":
+				if (inst.fullpageTopContent)
+					content = inst.fullpageTopContent + content + "\n</body>\n</html>";
+
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_addToHead : function(inst) {
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName("head")[0];
+		var body = doc.body;
+		var h = inst.fullpageTopContent;
+		var e = doc.createElement("body");
+		var nl, i, le, tmp;
+
+		// Remove stuff we don't want
+		h = h.replace(/(\r|\n)/gi, '');
+		h = h.replace(/<\?[^\>]*\>/gi, '');
+		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
+		h = h.replace(/<script(.*?)<\/script>/gi, '');
+		h = h.replace(/<title(.*?)<\/title>/gi, '');
+		h = h.replace(/<(meta|base)[^>]*>/gi, '');
+
+		// Make link and style elements into pre
+		h = h.replace(/<link([^>]*)\/>/gi, '<pre mce_type="link" $1></pre>');
+		//h = h.replace(/<style([^>]*)>(.*?)<\/style>/gi, '<pre mce_type="style" $1>$2</pre>');
+
+		// Make body a div
+		h = h.replace(/<body/gi, '<div mce_type="body"');
+		h += '</div>';
+
+		// Now crapy MSIE can parse it
+		e.innerHTML = h;
+
+		// Reset all body attributes
+		body.vLink = body.aLink = body.link = body.text = '';
+		body.style.cssText = '';
+
+		// Delete all old links
+		nl = head.getElementsByTagName('link');
+		for (i=0; i<nl.length; i++) {
+			if (tinyMCE.getAttrib(nl[i], 'mce_head') == "true")
+				nl[i].parentNode.removeChild(nl[i]);
+		}
+
+		// Add link elements
+		nl = e.getElementsByTagName('pre');
+		for (i=0; i<nl.length; i++) {
+			tmp = tinyMCE.getAttrib(nl[i], 'media');
+			if (tinyMCE.getAttrib(nl[i], 'mce_type') == "link" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(nl[i], 'rel') == "stylesheet") {
+				le = doc.createElement("link");
+
+				le.rel = "stylesheet";
+				le.href = tinyMCE.getAttrib(nl[i], 'href');
+				le.setAttribute("mce_head", "true");
+
+				head.appendChild(le);
+			}
+		}
+
+		// Add body attributes
+		nl = e.getElementsByTagName('div');
+		if (nl.length > 0) {
+			body.style.cssText = tinyMCE.getAttrib(nl[0], 'style');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '')
+				body.style.marginLeft = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '')
+				body.style.marginRight = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '')
+				body.style.marginTop = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '')
+				body.style.marginBottom = tmp + "px";
+
+			body.dir = tinyMCE.getAttrib(nl[0], 'dir');
+			body.vLink = tinyMCE.getAttrib(nl[0], 'vlink');
+			body.aLink = tinyMCE.getAttrib(nl[0], 'alink');
+			body.link = tinyMCE.getAttrib(nl[0], 'link');
+			body.text = tinyMCE.getAttrib(nl[0], 'text');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '')
+				body.style.backgroundImage = "url('" + tmp + "')";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '')
+				body.style.backgroundColor = tmp;
+		}
+	}
+};
+
+tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,577 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullpage_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mclayer.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/fullpage.js"></script>
+	<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="updateAction();return false;" name="fullpage" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{$lang_fullpage_meta_tab}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_fullpage_appearance_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="meta_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_fullpage_meta_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td nowrap="nowrap"><label for="metatitle">{$lang_fullpage_meta_title}</label>&nbsp;</td>
+							<td><input type="text" id="metatitle" name="metatitle" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metakeywords">{$lang_fullpage_meta_keywords}</label>&nbsp;</td>
+							<td><textarea id="metakeywords" name="metakeywords" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metadescription">{$lang_fullpage_meta_description}</label>&nbsp;</td>
+							<td><textarea id="metadescription" name="metadescription" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metaauthor">{$lang_fullpage_author}</label>&nbsp;</td>
+							<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metacopyright">{$lang_fullpage_copyright}</label>&nbsp;</td>
+							<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metarobots">{$lang_fullpage_meta_robots}</label>&nbsp;</td>
+							<td>
+<select id="metarobots" name="metarobots">
+			<option value="">{$lang_not_set}</option> 
+			<option value="index,follow">{$lang_fullpage_meta_index_follow}</option>
+			<option value="index,nofollow">{$lang_fullpage_meta_index_nofollow}</option>
+			<option value="noindex,follow">{$lang_fullpage_meta_noindex_follow}</option>
+			<option value="noindex,nofollow">{$lang_fullpage_meta_noindex_nofollow}</option>
+</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_langprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="docencoding">{$lang_fullpage_encoding}</label></td> 
+							<td>
+								<select id="docencoding" name="docencoding"> 
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="doctypes">{$lang_fullpage_doctypes}</label>&nbsp;</td>
+							<td>
+								<select id="doctypes" name="doctypes">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="langcode">{$lang_fullpage_langcode}</label>&nbsp;</td>
+							<td><input type="text" id="langcode" name="langcode" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="langdir">{$lang_fullpage_langdir}</label></td> 
+							<td>
+								<select id="langdir" name="langdir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_fullpage_ltr}</option> 
+										<option value="rtl">{$lang_fullpage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="xml_pi">{$lang_fullpage_xml_pi}</label>&nbsp;</td>
+							<td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_textprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="fontface">{$lang_fullpage_fontface}</label></td> 
+							<td>
+								<select id="fontface" name="fontface" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="fontsize">{$lang_fullpage_fontsize}</label></td> 
+							<td>
+								<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="textcolor">{$lang_fullpage_textcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
+										<td id="textcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_bgprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="bgimage">{$lang_fullpage_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
+										<td id="bgimage_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_fullpage_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_marginprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="leftmargin">{$lang_fullpage_left_margin}</label></td> 
+							<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="rightmargin">{$lang_fullpage_right_margin}</label></td> 
+							<td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="topmargin">{$lang_fullpage_top_margin}</label></td> 
+							<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="bottommargin">{$lang_fullpage_bottom_margin}</label></td> 
+							<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_linkprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="link_color">{$lang_fullpage_link_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
+										<td id="link_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td class="column1"><label for="visited_color">{$lang_fullpage_visited_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
+										<td id="visited_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="active_color">{$lang_fullpage_active_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
+										<td id="active_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td>&nbsp;</td>
+							<td>&nbsp;</td>
+
+<!--							<td class="column1"><label for="hover_color">{$lang_fullpage_hover_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
+										<td id="hover_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> -->
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_style}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="stylesheet">{$lang_fullpage_stylesheet}</label></td> 
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
+										<td id="stylesheet_browsercontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="style">{$lang_fullpage_style}</label></td> 
+							<td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<div id="addmenu">
+					<table border="0" cellpadding="0" cellspacing="0">
+						<tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{$lang_fullpage_add_title}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{$lang_fullpage_add_meta}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{$lang_fullpage_add_script}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{$lang_fullpage_add_style}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{$lang_fullpage_add_link}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{$lang_fullpage_add_base}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{$lang_fullpage_add_comment}</span></a></td></tr>
+					</table>
+				</div>
+
+				<fieldset>
+					<legend>{$lang_fullpage_head_elements}</legend>
+
+					<div class="headlistwrapper">
+						<div class="toolbar">
+							<div style="float: left">
+								<a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{$lang_fullpage_add}"></a>
+								<a href="#" onmousedown="return false;" class="removebutton" title="{$lang_fullpage_remove}"></a>
+							</div>
+							<div style="float: right">
+								<a href="#" onmousedown="return false;" class="moveupbutton" title="{$lang_fullpage_moveup}"></a>
+								<a href="#" onmousedown="return false;" class="movedownbutton" title="{$lang_fullpage_movedown}"></a>
+							</div>
+							<br style="clear: both" />
+						</div>
+						<select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
+							<option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
+							<option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
+							<option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
+							<option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
+							<option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
+							<option value="base_5">&lt;base href="." /&gt;</option>
+							<option value="comment_6">&lt;!-- ... --&gt;</option>
+							<option value="link_7">&lt;link href="." /&gt;</option>
+						</select>
+					</div>
+				</fieldset>
+
+				<fieldset id="meta_element">
+					<legend>{$lang_fullpage_meta_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_meta_type">{$lang_fullpage_type}</label></td> 
+							<td><select id="element_meta_type">
+										<option value="name">name</option>
+										<option value="http-equiv">http-equiv</option>
+								</select></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_name">{$lang_fullpage_name}</label></td> 
+							<td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_content">{$lang_fullpage_content}</label></td> 
+							<td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="title_element">
+					<legend>{$lang_fullpage_title_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_title">{$lang_fullpage_meta_title}</label></td> 
+							<td><input id="element_title" name="element_title" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="script_element">
+					<legend>{$lang_fullpage_script_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="script_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_script_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_script_type">
+										<option value="text/javascript">text/javascript</option>
+										<option value="text/jscript">text/jscript</option>
+										<option value="text/vbscript">text/vbscript</option>
+										<option value="text/vbs">text/vbs</option>
+										<option value="text/ecmascript">text/ecmascript</option>
+										<option value="text/xml">text/xml</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_src">{$lang_fullpage_src}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
+										<td id="script_src_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_script_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_defer">{$lang_fullpage_defer}</label></td> 
+									<td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="script_value_panel" class="panel">
+							<textarea id="element_script_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="style_element">
+					<legend>{$lang_fullpage_style_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="style_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_style_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_style_type">
+										<option value="text/css">text/css</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_style_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_style_media"></select></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="style_value_panel" class="panel">
+							<textarea id="element_style_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="base_element">
+					<legend>{$lang_fullpage_base_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_base_href">{$lang_fullpage_href}</label></td> 
+							<td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_base_target">{$lang_fullpage_target}</label></td> 
+							<td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="link_element">
+					<legend>{$lang_fullpage_link_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{$lang_fullpage_general_props}</a></span></li>
+							<li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_props}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="link_general_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_href">{$lang_fullpage_href}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
+										<td id="link_href_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_title">{$lang_fullpage_meta_title}</label></td> 
+									<td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_link_type" name="element_link_type">
+										<option value="text/css">text/css</option>
+										<option value="text/javascript">text/javascript</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_link_media" name="element_link_media"></select></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rel">{$lang_fullpage_rel}</label></td>
+									<td><select id="element_style_rel" name="element_style_rel"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="stylesheet">Stylesheet</option>
+											<option value="alternate">Alternate</option>
+											<option value="designates">Designates</option>
+											<option value="start">Start</option>
+											<option value="next">Next</option>
+											<option value="prev">Prev</option>
+											<option value="contents">Contents</option>
+											<option value="index">Index</option>
+											<option value="glossary">Glossary</option>
+											<option value="copyright">Copyright</option>
+											<option value="chapter">Chapter</option>
+											<option value="subsection">Subsection</option>
+											<option value="appendix">Appendix</option>
+											<option value="help">Help</option>
+											<option value="bookmark">Bookmark</option>
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="link_advanced_panel" class="panel">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_link_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_hreflang">{$lang_fullpage_hreflang}</label></td> 
+									<td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_target">{$lang_fullpage_target}</label></td> 
+									<td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rev">{$lang_fullpage_rev}</label></td>
+									<td><select id="element_style_rev" name="element_style_rev"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="alternate">Alternate</option> 
+											<option value="designates">Designates</option> 
+											<option value="stylesheet">Stylesheet</option> 
+											<option value="start">Start</option> 
+											<option value="next">Next</option> 
+											<option value="prev">Prev</option> 
+											<option value="contents">Contents</option> 
+											<option value="index">Index</option> 
+											<option value="glossary">Glossary</option> 
+											<option value="copyright">Copyright</option> 
+											<option value="chapter">Chapter</option> 
+											<option value="subsection">Subsection</option> 
+											<option value="appendix">Appendix</option> 
+											<option value="help">Help</option> 
+											<option value="bookmark">Bookmark</option> 
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+					</div>
+
+					<input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="comment_element">
+					<legend>{$lang_fullpage_comment_element}</legend>
+
+					<textarea id="element_comment_value"></textarea>
+
+					<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="update" value="{$lang_update}" onclick="updateAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,580 @@
+//
+
+var defaultDocTypes = 
+	'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
+	'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
+	'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
+	'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,' +
+	'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
+	'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
+	'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
+
+var defaultEncodings = 
+	'Western european (iso-8859-1)=iso-8859-1,' +
+	'Central European (iso-8859-2)=iso-8859-2,' +
+	'Unicode (UTF-8)=utf-8,' +
+	'Chinese traditional (Big5)=big5,' +
+	'Cyrillic (iso-8859-5)=iso-8859-5,' +
+	'Japanese (iso-2022-jp)=iso-2022-jp,' +
+	'Greek (iso-8859-7)=iso-8859-7,' +
+	'Korean (iso-2022-kr)=iso-2022-kr,' +
+	'ASCII (us-ascii)=us-ascii';
+
+var defaultMediaTypes = 
+	'all=all,' +
+	'screen=screen,' +
+	'print=print,' +
+	'tty=tty,' +
+	'tv=tv,' +
+	'projection=projection,' +
+	'handheld=handheld,' +
+	'braille=braille,' +
+	'aural=aural';
+
+var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
+
+var addMenuLayer = new MCLayer("addmenu");
+var lastElementType = null;
+var topDoc;
+
+function init() {
+	var f = document.forms['fullpage'];
+	var i, p, doctypes, encodings, mediaTypes, fonts;
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+
+	// Setup doctype select box
+	doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(',');
+	for (i=0; i<doctypes.length; i++) {
+		p = doctypes[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'doctypes', p[0], p[1]);
+	}
+
+	// Setup fonts select box
+	fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';');
+	for (i=0; i<fonts.length; i++) {
+		p = fonts[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'fontface', p[0], p[1]);
+	}
+
+	// Setup fontsize select box
+	fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
+	for (i=0; i<fonts.length; i++)
+		addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
+
+	// Setup mediatype select boxs
+	mediaTypes = tinyMCE.getParam("fullpage_media_types", defaultMediaTypes).split(',');
+	for (i=0; i<mediaTypes.length; i++) {
+		p = mediaTypes[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'element_style_media', p[0], p[1]);
+			addSelectValue(f, 'element_link_media', p[0], p[1]);
+		}
+	}
+
+	// Setup encodings select box
+	encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(',');
+	for (i=0; i<encodings.length; i++) {
+		p = encodings[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'docencoding', p[0], p[1]);
+			addSelectValue(f, 'element_script_charset', p[0], p[1]);
+			addSelectValue(f, 'element_link_charset', p[0], p[1]);
+		}
+	}
+
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+	document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
+	//document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
+	document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
+	document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
+	document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
+	document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
+	document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
+	document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
+	document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
+
+	// Resize some elements
+	if (isVisible('stylesheetbrowser'))
+		document.getElementById('stylesheet').style.width = '220px';
+
+	if (isVisible('link_href_browser'))
+		document.getElementById('element_link_href').style.width = '230px';
+
+	if (isVisible('bgimage_browser'))
+		document.getElementById('bgimage').style.width = '210px';
+
+	// Create iframe
+	var iframe = document.createElement('iframe');
+
+	iframe.id = 'tempFrame';
+	iframe.style.display = 'none';
+	iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm";
+
+	document.body.appendChild(iframe);
+
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function setupIframe(doc) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var hc = inst.fullpageTopContent;
+	var f = document.forms[0];
+	var xmlVer, xmlEnc, docType;
+	var nodes, i, x, name, value, tmp, l;
+
+	// Keep it from not loading/executing stuff
+	hc = hc.replace(/<script>/gi, '<script type="text/javascript">');
+	hc = hc.replace(/\ssrc=/gi, " mce_src=");
+	hc = hc.replace(/\shref=/gi, " mce_href=");
+	hc = hc.replace(/\stype=/gi, " mce_type=");
+	hc = hc.replace(/<script/gi, '<script type="text/unknown" ');
+
+	// Add end to make it DOM parseable
+	hc += '</body></html>';
+
+	topDoc = doc;
+	doc.open();
+	doc.write(hc);
+	doc.close();
+
+	// ------- Setup options for genral tab
+
+	// Parse xml and doctype
+	xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	docType = getReItem(/<\!DOCTYPE.*?>/gi, hc, 0);
+	f.langcode.value = getReItem(/lang="(.*?)"/gi, hc, 1);
+
+	// Get title
+	f.metatitle.value = tinyMCE.entityDecode(getReItem(/<title>(.*?)<\/title>/gi, hc, 1));
+
+	// Check for meta encoding
+	nodes = doc.getElementsByTagName("meta");
+	for (i=0; i<nodes.length; i++) {
+		name = tinyMCE.getAttrib(nodes[i], 'name');
+		value = tinyMCE.getAttrib(nodes[i], 'content');
+		httpEquiv = tinyMCE.getAttrib(nodes[i], 'httpEquiv');
+
+		switch (name.toLowerCase()) {
+			case "keywords":
+				f.metakeywords.value = value;
+				break;
+
+			case "description":
+				f.metadescription.value = value;
+				break;
+
+			case "author":
+				f.metaauthor.value = value;
+				break;
+
+			case "copyright":
+				f.metacopyright.value = value;
+				break;
+
+			case "robots":
+				selectByValue(f, 'metarobots', value, true, true);
+				break;
+		}
+
+		switch (httpEquiv.toLowerCase()) {
+			case "content-type":
+				tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, value, 1);
+
+				// Override XML encoding
+				if (tmp != "")
+					xmlEnc = tmp;
+
+				break;
+		}
+	}
+
+	selectByValue(f, 'doctypes', docType, true, true);
+	selectByValue(f, 'docencoding', xmlEnc, true, true);
+	selectByValue(f, 'langdir', tinyMCE.getAttrib(doc.body, 'dir'), true, true);
+
+	if (xmlVer != '')
+		f.xml_pi.checked = true;
+
+	// ------- Setup options for appearance tab
+
+	// Get primary stylesheet
+	nodes = doc.getElementsByTagName("link");
+	for (i=0; i<nodes.length; i++) {
+		l = nodes[i];
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			f.stylesheet.value = tinyMCE.getAttrib(l, 'mce_href');
+			break;
+		}
+	}
+
+	// Get from style elements
+	nodes = doc.getElementsByTagName("style");
+	for (i=0; i<nodes.length; i++) {
+		tmp = parseStyleElement(nodes[i]);
+
+		for (x=0; x<tmp.length; x++) {
+		//	if (tmp[x].rule.indexOf('a:hover') != -1 && tmp[x].data['color'])
+		//		f.hover_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:visited') != -1 && tmp[x].data['color'])
+				f.visited_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:link') != -1 && tmp[x].data['color'])
+				f.link_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:active') != -1 && tmp[x].data['color'])
+				f.active_color.value = tmp[x].data['color'];
+		}
+	}
+
+	// Get from body attribs
+
+/*	f.leftmargin.value = tinyMCE.getAttrib(doc.body, "leftmargin");
+	f.rightmargin.value = tinyMCE.getAttrib(doc.body, "rightmargin");
+	f.topmargin.value = tinyMCE.getAttrib(doc.body, "topmargin");
+	f.bottommargin.value = tinyMCE.getAttrib(doc.body, "bottommargin");*/
+	f.textcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "text"));
+	f.active_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "alink"));
+	f.link_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "link"));
+	f.visited_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "vlink"));
+	f.bgcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "bgcolor"));
+	f.bgimage.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "background"));
+
+	// Get from style info
+	var style = tinyMCE.parseStyle(tinyMCE.getAttrib(doc.body, 'style'));
+
+	if (style['font-family'])
+		selectByValue(f, 'fontface', style['font-family'], true, true);
+	else
+		selectByValue(f, 'fontface', tinyMCE.getParam("fullpage_default_fontface", ""), true, true);
+
+	if (style['font-size'])
+		selectByValue(f, 'fontsize', style['font-size'], true, true);
+	else
+		selectByValue(f, 'fontsize', tinyMCE.getParam("fullpage_default_fontsize", ""), true, true);
+
+	if (style['color'])
+		f.textcolor.value = convertRGBToHex(style['color']);
+
+	if (style['background-image'])
+		f.bgimage.value = style['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	if (style['background-color'])
+		f.bgcolor.value = convertRGBToHex(style['background-color']);
+
+	if (style['margin']) {
+		tmp = style['margin'].replace(/[^0-9 ]/g, '');
+		tmp = tmp.split(/ +/);
+		f.topmargin.value = tmp.length > 0 ? tmp[0] : '';
+		f.rightmargin.value = tmp.length > 1 ? tmp[1] : tmp[0];
+		f.bottommargin.value = tmp.length > 2 ? tmp[2] : tmp[0];
+		f.leftmargin.value = tmp.length > 3 ? tmp[3] : tmp[0];
+	}
+
+	if (style['margin-left'])
+		f.leftmargin.value = style['margin-left'].replace(/[^0-9]/g, '');
+
+	if (style['margin-right'])
+		f.rightmargin.value = style['margin-right'].replace(/[^0-9]/g, '');
+
+	if (style['margin-top'])
+		f.topmargin.value = style['margin-top'].replace(/[^0-9]/g, '');
+
+	if (style['margin-bottom'])
+		f.bottommargin.value = style['margin-bottom'].replace(/[^0-9]/g, '');
+
+	f.style.value = tinyMCE.serializeStyle(style);
+
+	updateColor('textcolor_pick', 'textcolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+	updateColor('visited_color_pick', 'visited_color');
+	updateColor('active_color_pick', 'active_color');
+	updateColor('link_color_pick', 'link_color');
+	//updateColor('hover_color_pick', 'hover_color');
+}
+
+function updateAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var f = document.forms[0];
+	var nl, i, h, v, s, head, html, l, tmp, addlink = true;
+
+	head = topDoc.getElementsByTagName('head')[0];
+
+	// Fix scripts without a type
+	nl = topDoc.getElementsByTagName('script');
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], 'mce_type') == '')
+			nl[i].setAttribute('mce_type', 'text/javascript');
+	}
+
+	// Get primary stylesheet
+	nl = topDoc.getElementsByTagName("link");
+	for (i=0; i<nl.length; i++) {
+		l = nl[i];
+
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			addlink = false;
+
+			if (f.stylesheet.value == '')
+				l.parentNode.removeChild(l);
+			else
+				l.setAttribute('mce_href', f.stylesheet.value);
+
+			break;
+		}
+	}
+
+	// Add new link
+	if (f.stylesheet.value != '') {
+		l = topDoc.createElement('link');
+
+		l.setAttribute('mce_type', 'text/css');
+		l.setAttribute('mce_href', f.stylesheet.value);
+		l.setAttribute('rel', 'stylesheet');
+
+		head.appendChild(l);
+	}
+
+	setMeta(head, 'keywords', f.metakeywords.value);
+	setMeta(head, 'description', f.metadescription.value);
+	setMeta(head, 'author', f.metaauthor.value);
+	setMeta(head, 'copyright', f.metacopyright.value);
+	setMeta(head, 'robots', getSelectValue(f, 'metarobots'));
+	setMeta(head, 'Content-Type', getSelectValue(f, 'docencoding'));
+
+	topDoc.body.dir = getSelectValue(f, 'langdir');
+	topDoc.body.style.cssText = f.style.value;
+
+	topDoc.body.setAttribute('vLink', f.visited_color.value);
+	topDoc.body.setAttribute('link', f.link_color.value);
+	topDoc.body.setAttribute('text', f.textcolor.value);
+	topDoc.body.setAttribute('aLink', f.active_color.value);
+
+	topDoc.body.style.fontFamily = getSelectValue(f, 'fontface');
+	topDoc.body.style.fontSize = getSelectValue(f, 'fontsize');
+	topDoc.body.style.backgroundColor = f.bgcolor.value;
+
+	if (f.leftmargin.value != '')
+		topDoc.body.style.marginLeft = f.leftmargin.value + 'px';
+
+	if (f.rightmargin.value != '')
+		topDoc.body.style.marginRight = f.rightmargin.value + 'px';
+
+	if (f.bottommargin.value != '')
+		topDoc.body.style.marginBottom = f.bottommargin.value + 'px';
+
+	if (f.topmargin.value != '')
+		topDoc.body.style.marginTop = f.topmargin.value + 'px';
+
+	html = topDoc.getElementsByTagName('html')[0];
+	html.setAttribute('lang', f.langcode.value);
+	html.setAttribute('xml:lang', f.langcode.value);
+
+	if (f.bgimage.value != '')
+		topDoc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
+	else
+		topDoc.body.style.backgroundImage = '';
+
+	inst.cleanup.addRuleStr('-title,meta[http-equiv|name|content],base[href|target],link[href|rel|type|title|media],style[type],script[type|language|src],html[lang|xml:lang|xmlns],body[style|dir|vlink|link|text|alink],head');
+
+	h = inst.cleanup.serializeNodeAsHTML(topDoc.documentElement);
+
+	h = h.substring(0, h.lastIndexOf('</body>'));
+
+	if (h.indexOf('<title>') == -1)
+		h = h.replace(/<head.*?>/, '$&\n' + '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+	else
+		h = h.replace(/<title>(.*?)<\/title>/, '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+
+	if ((v = getSelectValue(f, 'doctypes')) != '')
+		h = v + '\n' + h;
+
+	if (f.xml_pi.checked) {
+		s = '<?xml version="1.0"';
+
+		if ((v = getSelectValue(f, 'docencoding')) != '')
+			s += ' encoding="' + v + '"';
+
+		s += '?>\n';
+		h = s + h;
+	}
+
+	inst.fullpageTopContent = h;
+
+	tinyMCEPopup.execCommand('mceFullPageUpdate', false, '');
+	tinyMCEPopup.close();
+}
+
+function setMeta(he, k, v) {
+	var nl, i, m;
+
+	nl = he.getElementsByTagName('meta');
+	for (i=0; i<nl.length; i++) {
+		if (k == 'Content-Type' && tinyMCE.getAttrib(nl[i], 'http-equiv') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', "text/html; charset=" + v);
+
+			return;
+		}
+
+		if (tinyMCE.getAttrib(nl[i], 'name') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', v);
+			return;
+		}
+	}
+
+	if (v == '')
+		return;
+
+	m = topDoc.createElement('meta');
+
+	if (k == 'Content-Type')
+		m.httpEquiv = k;
+	else
+		m.setAttribute('name', k);
+
+	m.setAttribute('content', v);
+	he.appendChild(m);
+}
+
+function parseStyleElement(e) {
+	var v = e.innerHTML;
+	var p, i, r;
+
+	v = v.replace(/<!--/gi, '');
+	v = v.replace(/-->/gi, '');
+	v = v.replace(/[\n\r]/gi, '');
+	v = v.replace(/\s+/gi, ' ');
+
+	r = new Array();
+	p = v.split(/{|}/);
+
+	for (i=0; i<p.length; i+=2) {
+		if (p[i] != "")
+			r[r.length] = {rule : tinyMCE.trim(p[i]), data : tinyMCE.parseStyle(p[i+1])};
+	}
+
+	return r;
+}
+
+function serializeStyleElement(d) {
+	var i, s, st;
+
+	s = '<!--\n';
+
+	for (i=0; i<d.length; i++) {
+		s += d[i].rule + ' {\n';
+
+		st = tinyMCE.serializeStyle(d[i].data);
+
+		if (st != '')
+			st += ';';
+
+		s += st.replace(/;/g, ';\n');
+		s += '}\n';
+
+		if (i != d.length - 1)
+			s += '\n';
+	}
+
+	s += '\n-->';
+
+	return s;
+}
+
+function getReItem(r, s, i) {
+	var c = r.exec(s);
+
+	if (c && c.length > i)
+		return c[i];
+
+	return '';
+}
+
+function changedStyleField(field) {
+	//alert(field.id);
+}
+
+function showAddMenu() {
+	var re = document.getElementById('addbutton');
+
+	addMenuLayer.moveRelativeTo(re, 'tr');
+	if (addMenuLayer.isMSIE)
+		addMenuLayer.moveBy(2, 0);
+
+	addMenuLayer.show();
+	addMenuLayer.setAutoHide(true, hideAddMenu);
+	addMenuLayer.addCSSClass(re, 'selected');
+}
+
+function hideAddMenu(l, e, mx, my) {
+	var re = document.getElementById('addbutton');
+	addMenuLayer.removeCSSClass(re, 'selected');
+}
+
+function addHeadElm(type) {
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_insert', 'Insert', true);
+
+	le.size = 10;
+}
+
+function updateHeadElm(item) {
+	var type = item.substring(0, item.indexOf('_'));
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_update', 'Update', true);
+
+	le.size = 10;
+}
+
+function cancelElementUpdate() {
+	var le = document.getElementById('headlist');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	le.size = 26;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+// UK lang variables
+
+tinyMCE.addToLang('fullpage',{
+	title : 'Document properties',
+	desc : 'Document properties',
+	meta_tab : 'General',
+	appearance_tab : 'Appearance',
+	advanced_tab : 'Advanced',
+	meta_props : 'Meta information',
+	langprops : 'Language and encoding',
+	meta_title : 'Title',
+	meta_keywords : 'Keywords',
+	meta_description : 'Description',
+	meta_robots : 'Robots',
+	doctypes : 'Doctype',
+	langcode : 'Language code',
+	langdir : 'Language direction',
+	ltr : 'Left to right',
+	rtl : 'Right to left',
+	xml_pi : 'XML declaration',
+	encoding : 'Character encoding',
+	appearance_bgprops : 'Background properties',
+	appearance_marginprops : 'Body margins',
+	appearance_linkprops : 'Link colors',
+	appearance_textprops : 'Text properties',
+	bgcolor : 'Background color',
+	bgimage : 'Background image',
+	left_margin : 'Left margin',
+	right_margin : 'Right margin',
+	top_margin : 'Top margin',
+	bottom_margin : 'Bottom margin',
+	text_color : 'Text color',
+	font_size : 'Font size',
+	font_face : 'Font face',
+	link_color : 'Link color',
+	hover_color : 'Hover color',
+	visited_color : 'Visited color',
+	active_color : 'Active color',
+	textcolor : 'Color',
+	fontsize : 'Font size',
+	fontface : 'Font family',
+	meta_index_follow : 'Index and follow the links',
+	meta_index_nofollow : 'Index and don\'t follow the links',
+	meta_noindex_follow : 'Do not index but follow the links',
+	meta_noindex_nofollow : 'Do not index and don\'t follow the links',
+	appearance_style : 'Stylesheet and style properties',
+	stylesheet : 'Stylesheet',
+	style : 'Style',
+	author : 'Author',
+	copyright : 'Copyright',
+	add : 'Add new element',
+	remove : 'Remove selected element',
+	moveup : 'Move selected element up',
+	movedown : 'Move selected element down',
+	head_elements : 'Head elements',
+	info : 'Information',
+	info_text : '',
+	add_title : 'Title element',
+	add_meta : 'Meta element',
+	add_script : 'Script element',
+	add_style : 'Style element',
+	add_link : 'Link element',
+	add_base : 'Base element',
+	add_comment : 'Comment node',
+	title_element : 'Title element',
+	script_element : 'Script element',
+	style_element : 'Style element',
+	base_element : 'Base element',
+	link_element : 'Link element',
+	meta_element : 'Meta element',
+	comment_element : 'Comment',
+	src : 'Src',
+	language : 'Language',
+	href : 'Href',
+	target : 'Target',
+	rel : 'Rel',
+	type : 'Type',
+	charset : 'Charset',
+	defer : 'Defer',
+	media : 'Media',
+	properties : 'Properties',
+	name : 'Name',
+	value : 'Value',
+	content : 'Content',
+	rel : 'Rel',
+	rev : 'Rev',
+	hreflang : 'Href lang',
+	general_props : 'General',
+	advanced_props : 'Advanced',
+	delta_width : 0,
+	delta_height : 0
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+/* This class restores all CSS properties to that absolute positioning of fullscreen mode is correct */
+.mceFullscreenPos {
+	display: block !important;
+	position: static !important;
+	left: 0 !important;
+	top: 0 !important;
+	bottom: auto !important;
+	right: auto !important;
+	width: auto !important;
+	height: auto !important;
+	margin: 0 !important;
+	padding: 0 !important;
+	border: 0 !important;
+	overflow: visible;
+	z-index: 1 !important;
+	clear: both;
+}
+
+body.mceFullscreen {
+	overflow: hidden !important;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullscreen');var TinyMCE_FullScreenPlugin={getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['fullscreen_skip_plugin_css'])tinyMCE.importCSS(inst.getContainerWin().document,tinyMCE.baseURL+"/plugins/fullscreen/css/page.css")},getControlHTML:function(cn){switch(cn){case"fullscreen":return tinyMCE.getButtonHTML(cn,'lang_fullscreen_desc','{$pluginurl}/images/fullscreen.gif','mceFullScreen')}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst;switch(command){case"mceFullScreen":inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.getParam('fullscreen_new_window'))this._toggleFullscreenWin(inst);else this._toggleFullscreen(inst);return true}return false},_toggleFullscreenWin:function(inst){if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(inst.editorId));top.close()}else{tinyMCE.setWindowArg('editor_id',inst.editorId);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight)}catch(e){}}},_toggleFullscreen:function(inst){var ds=inst.getData('fullscreen'),editorContainer,tableElm,iframe,vp,cw,cd,re,w,h,si,blo,delta=0,cell,row,fcml,bcml;cw=inst.getContainerWin();cd=cw.document;editorContainer=cd.getElementById(inst.editorId+'_parent');tableElm=editorContainer.firstChild;iframe=inst.iframeElement;re=cd.getElementById(inst.editorId+'_resize');blo=document.getElementById('mce_fullscreen_blocker');fcm=new TinyMCE_Layer(inst.editorId+'_fcMenu');fcml=new TinyMCE_Layer(inst.editorId+'_fcMenu');bcml=new TinyMCE_Layer(inst.editorId+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_backcolor','mceMenuButton');bcml.hide()}if(!ds.enabled){if(inst.toolbarElement){delta+=inst.toolbarElement.offsetHeight;cell=tableElm.tBodies[0].insertRow(0).insertCell(-1);cell.className='mceToolbarTop';cell.nowrap=true;ds.oldToolbarParent=inst.toolbarElement.parentNode;ds.toolbarHolder=document.createTextNode('...');cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder,inst.toolbarElement))}ds.parents=[];vp=tinyMCE.getViewPort(cw);ds.scrollX=vp.left;ds.scrollY=vp.top;if(!tinyMCE.isOpera)tinyMCE.addCSSClass(cd.body,'mceFullscreen');tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.addCSSClass(n,'mceFullscreenPos');return false});if(re)re.style.display='none';vp=tinyMCE.getViewPort(cw);ds.oldWidth=iframe.style.width?iframe.style.width:iframe.offsetWidth;ds.oldHeight=iframe.style.height?iframe.style.height:iframe.offsetHeight;ds.oldTWidth=tableElm.style.width?tableElm.style.width:tableElm.offsetWidth;ds.oldTHeight=tableElm.style.height?tableElm.style.height:tableElm.offsetHeight;if(ds.oldWidth&&ds.oldWidth.indexOf)ds.oldTWidth=ds.oldWidth.indexOf('%')!=-1?ds.oldWidth:ds.oldTWidth;if(!blo&&tinyMCE.isRealIE){blo=tinyMCE.createTag(document,'iframe',{id:'mce_fullscreen_blocker',src:'about:blank',frameBorder:0,width:vp.width,height:vp.height,style:'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});document.body.appendChild(blo)}tableElm.style.position='absolute';tableElm.style.zIndex=1000;tableElm.style.left=tableElm.style.top='0';tableElm.style.width=vp.width+'px';tableElm.style.height=vp.height+'px';if(tinyMCE.isRealIE){iframe.style.width=vp.width+'px';iframe.style.height=vp.height+'px';w=iframe.parentNode.clientWidth-(tableElm.offsetWidth-vp.width);h=iframe.parentNode.clientHeight-(tableElm.offsetHeight-vp.height)}else{w=iframe.parentNode.clientWidth;h=iframe.parentNode.clientHeight}iframe.style.width=w+"px";iframe.style.height=(h+delta)+"px";tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonSelected');ds.enabled=true;inst.useCSS=false}else{if(inst.toolbarElement){row=inst.toolbarElement.parentNode.parentNode;row.parentNode.removeChild(row);ds.oldToolbarParent.replaceChild(inst.toolbarElement,ds.toolbarHolder);ds.oldToolbarParent=null;ds.toolbarHolder=null}if(blo)blo.parentNode.removeChild(blo);si=0;tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.removeCSSClass(n,'mceFullscreenPos')});if(re&&tinyMCE.getParam("theme_advanced_resizing",false))re.style.display='block';tableElm.style.position='static';tableElm.style.zIndex='';tableElm.style.width='';tableElm.style.height='';tableElm.style.width=ds.oldTWidth?ds.oldTWidth:'';tableElm.style.height=ds.oldTHeight?ds.oldTHeight:'';iframe.style.width=ds.oldWidth?ds.oldWidth:'';iframe.style.height=ds.oldHeight?ds.oldHeight:'';tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonNormal');ds.enabled=false;tinyMCE.removeCSSClass(cd.body,'mceFullscreen');cw.scrollTo(ds.scrollX,ds.scrollY);inst.useCSS=false}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam('fullscreen_is_enabled'))tinyMCE.switchClass(editor_id+'_fullscreen','mceButtonSelected');return true}};tinyMCE.addPlugin("fullscreen",TinyMCE_FullScreenPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,230 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullscreen');
+
+var TinyMCE_FullScreenPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullscreen',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['fullscreen_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getContainerWin().document, tinyMCE.baseURL + "/plugins/fullscreen/css/page.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullscreen":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceFullScreen":
+				inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.getParam('fullscreen_new_window'))
+					this._toggleFullscreenWin(inst);
+				else
+					this._toggleFullscreen(inst);
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	_toggleFullscreenWin : function(inst) {
+		if (tinyMCE.getParam('fullscreen_is_enabled')) {
+			// In fullscreen mode
+			window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(inst.editorId));
+			top.close();
+		} else {
+			tinyMCE.setWindowArg('editor_id', inst.editorId);
+
+			var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
+			try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
+		}
+	},
+
+	_toggleFullscreen : function(inst) {
+		var ds = inst.getData('fullscreen'), editorContainer, tableElm, iframe, vp, cw, cd, re, w, h, si, blo, delta = 0, cell, row, fcml, bcml;
+
+		cw = inst.getContainerWin();
+		cd = cw.document;
+		editorContainer = cd.getElementById(inst.editorId + '_parent');
+		tableElm = editorContainer.firstChild;
+		iframe = inst.iframeElement;
+		re = cd.getElementById(inst.editorId + '_resize');
+		blo = document.getElementById('mce_fullscreen_blocker');
+		fcm = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		fcml = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		bcml = new TinyMCE_Layer(inst.editorId + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+
+		if (!ds.enabled) {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				delta += inst.toolbarElement.offsetHeight;
+
+				cell = tableElm.tBodies[0].insertRow(0).insertCell(-1);
+				cell.className = 'mceToolbarTop';
+				cell.nowrap = true;
+
+				ds.oldToolbarParent = inst.toolbarElement.parentNode;
+				ds.toolbarHolder = document.createTextNode('...');
+
+				cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder, inst.toolbarElement));
+			}
+
+			ds.parents = [];
+
+			vp = tinyMCE.getViewPort(cw);
+			ds.scrollX = vp.left;
+			ds.scrollY = vp.top;
+
+			// Opera has a bug restoring scrollbars
+			if (!tinyMCE.isOpera)
+				tinyMCE.addCSSClass(cd.body, 'mceFullscreen');
+
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.addCSSClass(n, 'mceFullscreenPos');
+
+				return false;
+			});
+
+			if (re)
+				re.style.display = 'none';
+
+			vp = tinyMCE.getViewPort(cw);
+
+			ds.oldWidth = iframe.style.width ? iframe.style.width : iframe.offsetWidth;
+			ds.oldHeight = iframe.style.height ? iframe.style.height : iframe.offsetHeight;
+			ds.oldTWidth = tableElm.style.width ? tableElm.style.width : tableElm.offsetWidth;
+			ds.oldTHeight = tableElm.style.height ? tableElm.style.height : tableElm.offsetHeight;
+
+			// Handle % width
+			if (ds.oldWidth && ds.oldWidth.indexOf)
+				ds.oldTWidth = ds.oldWidth.indexOf('%') != -1 ? ds.oldWidth : ds.oldTWidth;
+
+			if (!blo && tinyMCE.isRealIE) {
+				blo = tinyMCE.createTag(document, 'iframe', {id : 'mce_fullscreen_blocker', src : 'about:blank', frameBorder : 0, width : vp.width, height : vp.height, style : 'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});
+				document.body.appendChild(blo);
+			}
+
+			tableElm.style.position = 'absolute';
+			tableElm.style.zIndex = 1000;
+			tableElm.style.left = tableElm.style.top = '0';
+
+			tableElm.style.width = vp.width + 'px';
+			tableElm.style.height = vp.height + 'px';
+
+			if (tinyMCE.isRealIE) {
+				iframe.style.width = vp.width + 'px';
+				iframe.style.height = vp.height + 'px';
+
+				// Calc new width/height based on overflow
+				w = iframe.parentNode.clientWidth - (tableElm.offsetWidth - vp.width);
+				h = iframe.parentNode.clientHeight - (tableElm.offsetHeight - vp.height);
+			} else {
+				w = iframe.parentNode.clientWidth;
+				h = iframe.parentNode.clientHeight;
+			}
+
+			iframe.style.width = w + "px";
+			iframe.style.height = (h+delta) + "px";
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonSelected');
+			ds.enabled = true;
+
+			inst.useCSS = false;
+		} else {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				row = inst.toolbarElement.parentNode.parentNode;
+
+				row.parentNode.removeChild(row);
+
+				ds.oldToolbarParent.replaceChild(inst.toolbarElement, ds.toolbarHolder);
+
+				ds.oldToolbarParent = null;
+				ds.toolbarHolder = null;
+			}
+
+			if (blo)
+				blo.parentNode.removeChild(blo);
+
+			si = 0;
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.removeCSSClass(n, 'mceFullscreenPos');
+			});
+
+			if (re && tinyMCE.getParam("theme_advanced_resizing", false))
+				re.style.display = 'block';
+
+			tableElm.style.position = 'static';
+			tableElm.style.zIndex = '';
+			tableElm.style.width = '';
+			tableElm.style.height = '';
+
+			tableElm.style.width = ds.oldTWidth ? ds.oldTWidth : '';
+			tableElm.style.height = ds.oldTHeight ? ds.oldTHeight : '';
+
+			iframe.style.width = ds.oldWidth ? ds.oldWidth : '';
+			iframe.style.height = ds.oldHeight ? ds.oldHeight : '';
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonNormal');
+			ds.enabled = false;
+
+			tinyMCE.removeCSSClass(cd.body, 'mceFullscreen');
+			cw.scrollTo(ds.scrollX, ds.scrollY);
+
+			inst.useCSS = false;
+		}
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam('fullscreen_is_enabled'))
+			tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullscreen_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
+	<script language="javascript" type="text/javascript">
+		function patchCallback(settings, key) {
+			if (settings[key])
+				settings[key] = "window.opener." + settings[key];
+		}
+
+		var settings = new Array();
+
+		// Clone array
+		for (var name in window.opener.tinyMCE.settings)
+			settings[name] = window.opener.tinyMCE.settings[name];
+
+		// Override options for fullscreen
+		for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
+			settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
+
+		// Patch callbacks, make them point to window.opener
+		patchCallback(settings, 'urlconverter_callback');
+		patchCallback(settings, 'insertlink_callback');
+		patchCallback(settings, 'insertimage_callback');
+		patchCallback(settings, 'setupcontent_callback');
+		patchCallback(settings, 'save_callback');
+		patchCallback(settings, 'onchange_callback');
+		patchCallback(settings, 'init_instance_callback');
+		patchCallback(settings, 'file_browser_callback');
+		patchCallback(settings, 'cleanup_callback');
+		patchCallback(settings, 'execcommand_callback');
+		patchCallback(settings, 'oninit');
+
+		// Set options
+		settings['mode'] = 'exact';
+		settings['elements'] = 'fullscreenarea';
+		settings['ask'] = false;
+		settings['setupcontent_callback'] = 'setupContent';
+		settings['fullscreen_is_enabled'] = true;
+		settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
+		settings['theme_advanced_resizing'] = false;
+
+		// Init
+		tinyMCE.init(settings);
+		tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
+
+		function setupContent(editor_id, body, doc) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+			var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
+
+			// Setup title
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
+			document.title = divElm.innerHTML;
+
+			// Get content
+			inst.execCommand('mceSetContent', false, content);
+		}
+
+		function unloadHandler(e) {
+			moveContent();
+		}
+
+		function moveContent() {
+			var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
+			window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
+		}
+
+		// Add onunload
+		tinyMCE.addEvent(window, "beforeunload", unloadHandler);
+
+		function doParentSubmit() {
+			moveContent();
+
+			if (window.opener.tinyMCE.selectedInstance.formElement.form)
+				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
+
+			window.close();
+
+			return false;
+		}
+	</script>
+	<base target="_self" />
+</head>
+<body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
+<form onsubmit="doParentSubmit();" style="height: 100%">
+<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_desc : 'Toggle fullscreen mode'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('iespell');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return""},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement)}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','')}else alert("Error Loading ieSpell: Exception "+e.number)}return true}return false}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('iespell');
+
+var TinyMCE_IESpellPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'IESpell (MSIE Only)',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the iespell control.
+	 */
+	getControlHTML : function(cn) {
+		// Is it the iespell control and is the brower MSIE.
+		if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
+			return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceIESpell command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle ieSpellCommand
+		if (command == "mceIESpell") {
+			try {
+				var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
+				ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
+			} catch (e) {
+				if (e.number == -2146827859) {
+					if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
+						window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
+				} else
+					alert("Error Loading ieSpell: Exception " + e.number);
+			}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Run spell checking',
+iespell_download : "ieSpell not detected. Click OK to go to download page."
+});
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/* Window classes */
+
+.mceWindow {
+	position: absolute;
+	left: 0;
+	top: 0;
+	border: 1px solid black;
+	background-color: #D4D0C8;
+}
+
+.mceWindowHead {
+	background-color: #334F8D;
+	width: 100%;
+	height: 18px;
+	cursor: move;
+	overflow: hidden;
+}
+
+.mceWindowBody {
+	clear: both;
+	background-color: white;
+}
+
+.mceWindowStatusbar {
+	background-color: #D4D0C8;
+	height: 12px;
+	border-top: 1px solid black;
+}
+
+.mceWindowTitle {
+	float: left;
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+	font-weight: bold;
+	line-height: 18px;
+	color: white;
+	margin-left: 2px;
+	overflow: hidden;
+}
+
+.mceWindowHeadTools {
+	margin-right: 2px;
+}
+
+.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	margin-top: 2px;
+}
+
+.mceWindowClose {
+	margin-left: 2px;
+}
+
+.mceWindowMinimize {
+}
+
+.mceWindowMaximize {
+}
+
+.mceWindowResize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	cursor: se-resize;
+	width: 12px;
+	height: 12px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(!(minWidth=parseInt(template['minWidth'])))minWidth=100;if(!(minHeight=parseInt(template['minHeight'])))minHeight=100;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');if(tinyMCE.hasPlugin('fullscreen')&&this.selectedInstance.getData('fullscreen').enabled)pos={absLeft:0,absTop:0};else pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/ 2) - (width /2));pos.absTop+=Math.round((elm.firstChild.clientHeight/ 2) - (height /2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop+",minWidth="+minWidth+",minHeight="+minHeight)};TinyMCE_Engine.prototype.closeWindow=function(win){var gotit=false,n,w;for(n in mcWindows.windows){w=mcWindows.windows[n];if(typeof(w)=='function')continue;if(win.name==w.id+'_iframe'){w.close();gotit=true}}if(!gotit)this.orgCloseWindow(win);tinyMCE.selectedInstance.getWin().focus()};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=1001;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.addEvent(window,"resize",mcWindows.eventDispatcher);this.addEvent(document,"scroll",mcWindows.eventDispatcher);this.doc=document};TinyMCE_Windows.prototype.getBounds=function(){if(!this.bounds){var vp=tinyMCE.getViewPort(window);var top,left,bottom,right,docEl=this.doc.documentElement;top=vp.top;left=vp.left;bottom=vp.height+top-2;right=vp.width+left-22;this.bounds=[left,top,right,bottom]}return this.bounds};TinyMCE_Windows.prototype.clampBoxPosition=function(x,y,w,h,minW,minH){var bounds=this.getBounds();x=Math.max(bounds[0],Math.min(bounds[2],x+w)-w);y=Math.max(bounds[1],Math.min(bounds[3],y+h)-h);return this.clampBoxSize(x,y,w,h,minW,minH)};TinyMCE_Windows.prototype.clampBoxSize=function(x,y,w,h,minW,minH){var bounds=this.getBounds();return[x,y,Math.max(minW,Math.min(bounds[2],x+w)-x),Math.max(minH,Math.min(bounds[3],y+h)-y)]};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;case"scroll":case"resize":if(mcWindows.clampUpdateTimeout)clearTimeout(mcWindows.clampUpdateTimeout);mcWindows.clampEventType=e.type;mcWindows.clampUpdateTimeout=setTimeout(function(){mcWindows.updateClamping()},100);break}};TinyMCE_Windows.prototype.updateClamping=function(){var clamp,oversize,etype=mcWindows.clampEventType;this.bounds=null;this.clampUpdateTimeout=null;for(var n in this.windows){win=this.windows[n];if(typeof(win)=='function'||!win.winElement)continue;clamp=mcWindows.clampBoxPosition(win.left,win.top,win.winElement.scrollWidth,win.winElement.scrollHeight,win.features.minWidth,win.features.minHeight);oversize=(clamp[2]!=win.winElement.scrollWidth||clamp[3]!=win.winElement.scrollHeight)?true:false;if(!oversize||win.features.resizable=="yes"||etype!="scroll")win.moveTo(clamp[0],clamp[1]);if(oversize&&win.features.resizable=="yes")win.resizeTo(clamp[2],clamp[3])}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,false)};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true}else e.preventDefault()};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['minwidth']="100";options['minheight']="100";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1]}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);options['minWidth']=parseInt(options['minwidth']);options['minHeight']=parseInt(options['minheight']);return options};TinyMCE_Windows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new TinyMCE_Window();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);var clamp=mcWindows.clampBoxPosition(features['left'],features['top'],features['width'],features['height'],features['minWidth'],features['minHeight']);features['left']=clamp[0];features['top']=clamp[1];if(features['resizable']=="yes"){features['width']=clamp[2];features['height']=clamp[3]}id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+='  <div id="'+id+'_title" class="mceWindowTitle"';html+='  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+='    <div class="mceWindowHeadTools">';html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';if(features['resizable']=="yes"&&features['maximizable']=="yes")html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="'+imgPath+'/window_maximize.gif" /></a>';html+='    </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>'}html+='</div>'}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html)};TinyMCE_Windows.prototype.setDocumentLock=function(state){var elm=document.getElementById('mcWindowEventBlocker');if(state){if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm)}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block"}else if(elm!=null){if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher)}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher)}window.frames[i]._hasMouseHandlers=true}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher)}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true)};TinyMCE_Windows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div"),doc;width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2}else{iframeWidth=width;iframeHeight=height+1}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){var doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close()},10)}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close()}div.style.display="block";return div};function TinyMCE_Window(){};TinyMCE_Window.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this}};TinyMCE_Window.prototype.minimize=function(){};TinyMCE_Window.prototype.maximize=function(){if(this.restoreSize){this.moveTo(this.restoreSize[0],this.restoreSize[1]);this.resizeTo(this.restoreSize[2],this.restoreSize[3]);this.updateClamping();this.restoreSize=null}else{var bounds=mcWindows.getBounds();this.restoreSize=[this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight];this.moveTo(bounds[0],bounds[1]);this.resizeTo(bounds[2]-bounds[0],bounds[3]-bounds[1])}};TinyMCE_Window.prototype.startResize=function(){mcWindows.action="resize"};TinyMCE_Window.prototype.startMove=function(e){mcWindows.action="move"};TinyMCE_Window.prototype.close=function(){if(this.frame&&this.frame['tinyMCEPopup'])this.frame['tinyMCEPopup'].restoreSelection();if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win.name!=this.name)mcWindowsNew[n]=win}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false)};TinyMCE_Window.prototype.onMouseMove=function(e){var clamp;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case"resize":clamp=mcWindows.clampBoxSize(this.left,this.top,mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX),mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY),this.features.minWidth,this.features.minHeight);this.resizeTo(clamp[2],clamp[3]);mcWindows.cancelEvent(e);break;case"move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.updateClamping();mcWindows.cancelEvent(e);break}};TinyMCE_Window.prototype.moveTo=function(x,y){this.left=x;this.top=y;this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px"};TinyMCE_Window.prototype.resizeTo=function(width,height){this.wrapperIFrameElement.style.width=(width+2)+'px';this.wrapperIFrameElement.style.height=(height+2)+'px';this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width+'px';this.winElement.style.height=height+'px';height=height-this.deltaHeight;this.containerElement.style.width=width+'px';this.iframeElement.style.width=width+'px';this.iframeElement.style.height=height+'px';this.bodyElement.style.width=width+'px';this.bodyElement.style.height=height+'px';this.headElement.style.width=width+'px';};TinyMCE_Window.prototype.updateClamping=function(){var clamp,oversize;clamp=mcWindows.clampBoxPosition(this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight,this.features.minWidth,this.features.minHeight);oversize=(clamp[2]!=this.winElement.scrollWidth||clamp[3]!=this.winElement.scrollHeight)?true:false;this.moveTo(clamp[0],clamp[1]);if(this.features.resizable=="yes"&&oversize)this.resizeTo(clamp[2],clamp[3])};function debug(msg){document.getElementById('debug').value+=msg+"\n"}TinyMCE_Window.prototype.onMouseUp=function(e){mcWindows.action="none"};TinyMCE_Window.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(winRef.name==win.id+"_iframe"){win.focus();return}}};TinyMCE_Window.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e)};var mcWindows=new TinyMCE_Windows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+var TinyMCE_InlinePopupsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Inline Popups',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	}
+};
+
+tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
+TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
+
+TinyMCE_Engine.prototype.openWindow = function(template, args) {
+	// Does the caller support inline
+	if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
+		mcWindows.selectedWindow = null;
+		args['mce_inside_iframe'] = false;
+		this.orgOpenWindow(template, args);
+		return;
+	}
+
+	var url, resizable, scrollbars;
+
+	args['mce_inside_iframe'] = true;
+	tinyMCE.windowArgs = args;
+
+	if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+		url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+	else
+		url = template['file'];
+
+	if (!(width = parseInt(template['width'])))
+		width = 320;
+
+	if (!(height = parseInt(template['height'])))
+		height = 200;
+
+	if (!(minWidth = parseInt(template['minWidth'])))
+		minWidth = 100;
+
+	if (!(minHeight = parseInt(template['minHeight'])))
+		minHeight = 100;
+
+	resizable = (args && args['resizable']) ? args['resizable'] : "no";
+	scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+	height += 18;
+
+	// Replace all args as variables in URL
+	for (var name in args) {
+		if (typeof(args[name]) == 'function')
+			continue;
+
+		url = tinyMCE.replaceVar(url, name, escape(args[name]));
+	}
+
+	var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
+
+	if (tinyMCE.hasPlugin('fullscreen') && this.selectedInstance.getData('fullscreen').enabled)
+		pos = { absLeft: 0, absTop: 0 };
+	else
+		pos = tinyMCE.getAbsPosition(elm);
+
+	// Center div in editor area
+	pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
+	pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
+
+	mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop + ",minWidth=" + minWidth + ",minHeight=" + minHeight );
+};
+
+TinyMCE_Engine.prototype.closeWindow = function(win) {
+	var gotit = false, n, w;
+	for (n in mcWindows.windows) {
+		w = mcWindows.windows[n];
+		if (typeof(w) == 'function') continue;
+		if (win.name == w.id + '_iframe') {
+			w.close();
+			gotit = true;
+		}
+	}
+	if (!gotit)
+		this.orgCloseWindow(win);
+
+	tinyMCE.selectedInstance.getWin().focus(); 
+};
+
+TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win_ref.name == win.id + "_iframe")
+			window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
+	}
+};
+
+// * * * * * TinyMCE_Windows classes below
+
+// Windows handler
+function TinyMCE_Windows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.lastSelectedWindow = null;
+	this.zindex = 1001;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+	this.idCounter = 0;
+};
+
+TinyMCE_Windows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+
+	this.addEvent(window, "resize", mcWindows.eventDispatcher);
+	this.addEvent(document, "scroll", mcWindows.eventDispatcher);
+
+	this.doc = document;
+};
+
+TinyMCE_Windows.prototype.getBounds = function() {
+	if (!this.bounds) {
+		var vp = tinyMCE.getViewPort(window);
+		var top, left, bottom, right, docEl = this.doc.documentElement;
+
+		top    = vp.top;
+		left   = vp.left;
+		bottom = vp.height + top - 2;
+		right  = vp.width  + left - 22; // TODO this number is platform dependant
+		// x1, y1, x2, y2
+		this.bounds = [left, top, right, bottom];
+	}
+	return this.bounds;
+};
+
+TinyMCE_Windows.prototype.clampBoxPosition = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	x = Math.max(bounds[0], Math.min(bounds[2], x + w) - w);
+	y = Math.max(bounds[1], Math.min(bounds[3], y + h) - h);
+
+	return this.clampBoxSize(x, y, w, h, minW, minH);
+};
+
+TinyMCE_Windows.prototype.clampBoxSize = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	return [
+		x, y,
+		Math.max(minW, Math.min(bounds[2], x + w) - x),
+		Math.max(minH, Math.min(bounds[3], y + h) - y)
+	];
+};
+
+TinyMCE_Windows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+TinyMCE_Windows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+		case "scroll":
+		case "resize":
+			if (mcWindows.clampUpdateTimeout)
+				clearTimeout(mcWindows.clampUpdateTimeout);
+			mcWindows.clampEventType = e.type;
+			mcWindows.clampUpdateTimeout =
+				setTimeout(function () {mcWindows.updateClamping()}, 100);
+			break;
+	}
+};
+
+TinyMCE_Windows.prototype.updateClamping = function () {
+	var clamp, oversize, etype = mcWindows.clampEventType;
+
+	this.bounds = null; // Recalc window bounds on resize/scroll
+	this.clampUpdateTimeout = null;
+
+	for (var n in this.windows) {
+		win = this.windows[n];
+		if (typeof(win) == 'function' || ! win.winElement) continue;
+
+		clamp = mcWindows.clampBoxPosition(
+			win.left, win.top,
+			win.winElement.scrollWidth,
+			win.winElement.scrollHeight,
+			win.features.minWidth,
+			win.features.minHeight
+		);
+		oversize = (
+			clamp[2] != win.winElement.scrollWidth ||
+			clamp[3] != win.winElement.scrollHeight
+		) ? true : false;
+
+		if (!oversize || win.features.resizable == "yes" || etype != "scroll")
+			win.moveTo(clamp[0], clamp[1]);
+		if (oversize && win.features.resizable == "yes")
+			win.resizeTo(clamp[2], clamp[3]);
+	}
+};
+
+TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, false);
+};
+
+TinyMCE_Windows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+TinyMCE_Windows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = "10";
+	options['top'] = "10";
+	options['width'] = "300";
+	options['height'] = "300";
+	options['minwidth'] = "100";
+	options['minheight'] = "100";
+	options['resizable'] = "yes";
+	options['minimizable'] = "yes";
+	options['maximizable'] = "yes";
+	options['close'] = "yes";
+	options['movable'] = "yes";
+	options['statusbar'] = "yes";
+	options['scrollbars'] = "auto";
+	options['modal'] = "no";
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	options['left'] = parseInt(options['left']);
+	options['top'] = parseInt(options['top']);
+	options['width'] = parseInt(options['width']);
+	options['height'] = parseInt(options['height']);
+	options['minWidth'] = parseInt(options['minwidth']);
+	options['minHeight'] = parseInt(options['minheight']);
+
+	return options;
+};
+
+TinyMCE_Windows.prototype.open = function(url, name, features) {
+	this.lastSelectedWindow = this.selectedWindow;
+
+	var win = new TinyMCE_Window();
+	var winDiv, html = "", id;
+	var imgPath = this.getParam("images_path");
+
+	features = this.parseFeatures(features);
+
+	// Clamp specified dimensions
+	var clamp = mcWindows.clampBoxPosition(
+		features['left'], features['top'],
+		features['width'], features['height'],
+		features['minWidth'], features['minHeight']
+	);
+
+	features['left'] = clamp[0];
+	features['top'] = clamp[1];
+
+	if (features['resizable'] == "yes") {
+		features['width'] = clamp[2];
+		features['height'] = clamp[3];
+	}
+
+	// Create div
+	id = "mcWindow_" + name;
+	win.deltaHeight = 18;
+
+	if (features['statusbar'] == "yes") {
+		win.deltaHeight += 13;
+
+		if (this.isMSIE)
+			win.deltaHeight += 1;
+	}
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-win.deltaHeight;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
+	if (features['resizable'] == "yes" && features['maximizable'] == "yes")
+		html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="' + imgPath + '/window_maximize.gif" /></a>';
+	// html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
+
+	if (features['statusbar'] == "yes") {
+		html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+
+		if (features['resizable'] == "yes") {
+			if (this.isGecko)
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
+			else
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
+		}
+
+		html += '</div>';
+	}
+
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Blocks the document events by placing a image over the whole document
+TinyMCE_Windows.prototype.setDocumentLock = function(state) {
+	var elm = document.getElementById('mcWindowEventBlocker');
+
+	if (state) {
+		if (elm == null) {
+			elm = document.createElement("div");
+
+			elm.id = "mcWindowEventBlocker";
+			elm.style.position = "absolute";
+			elm.style.left = "0";
+			elm.style.top = "0";
+
+			document.body.appendChild(elm);
+		}
+
+		elm.style.display = "none";
+
+		var imgPath = this.getParam("images_path");
+		var width = document.body.clientWidth;
+		var height = document.body.clientHeight;
+
+		elm.style.width = width;
+		elm.style.height = height;
+		elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
+
+		elm.style.zIndex = mcWindows.zindex-1;
+		elm.style.display = "block";
+	} else if (elm != null) {
+		if (mcWindows.windows.length == 0)
+			elm.parentNode.removeChild(elm);
+		else
+			elm.style.zIndex = mcWindows.zindex-1;
+	}
+};
+
+// Gets called when wrapper iframe is initialized
+TinyMCE_Windows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name;
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (win.resizeElement != null)
+		mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	// Dispatch open window event
+	var func = this.getParam("on_open_window", "");
+	if (func != "")
+		eval(func + "(win);");
+
+	win.focus();
+
+	if (win.features['modal'] == "yes")
+		mcWindows.setDocumentLock(true);
+};
+
+TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div"), doc;
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+	// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			var doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document;
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function TinyMCE_Window() {
+};
+
+TinyMCE_Window.prototype.focus = function() {
+	if (this != mcWindows.selectedWindow) {
+		this.winElement.style.zIndex = ++mcWindows.zindex;
+		mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
+		mcWindows.selectedWindow = this;
+	}
+};
+
+TinyMCE_Window.prototype.minimize = function() {
+};
+
+TinyMCE_Window.prototype.maximize = function() {
+	if (this.restoreSize) {
+		this.moveTo(this.restoreSize[0], this.restoreSize[1]);
+		this.resizeTo(this.restoreSize[2], this.restoreSize[3]);
+		this.updateClamping();
+		this.restoreSize = null;
+	} else {
+		var bounds = mcWindows.getBounds();
+		this.restoreSize = [
+			this.left, this.top,
+			this.winElement.scrollWidth,
+			this.winElement.scrollHeight
+		];
+		this.moveTo(bounds[0], bounds[1]);
+		this.resizeTo(
+			bounds[2] - bounds[0],
+			bounds[3] - bounds[1]
+		);
+	}
+};
+
+TinyMCE_Window.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+TinyMCE_Window.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+TinyMCE_Window.prototype.close = function() {
+	if (this.frame && this.frame['tinyMCEPopup'])
+		this.frame['tinyMCEPopup'].restoreSelection();
+
+	if (mcWindows.lastSelectedWindow != null)
+		mcWindows.lastSelectedWindow.focus();
+
+	var mcWindowsNew = new Array();
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win.name != this.name)
+			mcWindowsNew[n] = win;
+	}
+
+	mcWindows.windows = mcWindowsNew;
+
+	// alert(mcWindows.doc.getElementById(this.id + "_iframe"));
+
+	var e = mcWindows.doc.getElementById(this.id + "_iframe");
+	e.parentNode.removeChild(e);
+
+	var e = mcWindows.doc.getElementById(this.id + "_div");
+	e.parentNode.removeChild(e);
+
+	mcWindows.setDocumentLock(false);
+};
+
+TinyMCE_Window.prototype.onMouseMove = function(e) {
+	var clamp;
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			clamp = mcWindows.clampBoxSize(
+				this.left, this.top,
+				mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX),
+				mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY),
+				this.features.minWidth, this.features.minHeight
+			);
+
+			this.resizeTo(clamp[2], clamp[3]);
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.updateClamping();
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+TinyMCE_Window.prototype.moveTo = function (x, y) {
+	this.left = x;
+	this.top = y;
+
+	this.winElement.style.left = this.left + "px";
+	this.winElement.style.top = this.top + "px";
+};
+
+TinyMCE_Window.prototype.resizeTo = function (width, height) {
+	this.wrapperIFrameElement.style.width = (width+2) + 'px';
+	this.wrapperIFrameElement.style.height = (height+2) + 'px';
+	this.wrapperIFrameElement.width = width+2;
+	this.wrapperIFrameElement.height = height+2;
+	this.winElement.style.width = width + 'px';
+	this.winElement.style.height = height + 'px';
+
+	height = height - this.deltaHeight;
+
+	this.containerElement.style.width = width + 'px';
+	this.iframeElement.style.width = width + 'px';
+	this.iframeElement.style.height = height + 'px';
+	this.bodyElement.style.width = width + 'px';
+	this.bodyElement.style.height = height + 'px';
+	this.headElement.style.width = width + 'px';
+	//this.statusElement.style.width = width + 'px';
+};
+
+TinyMCE_Window.prototype.updateClamping = function () {
+	var clamp, oversize;
+
+	clamp = mcWindows.clampBoxPosition(
+		this.left, this.top,
+		this.winElement.scrollWidth,
+		this.winElement.scrollHeight,
+		this.features.minWidth, this.features.minHeight
+	);
+	oversize = (
+		clamp[2] != this.winElement.scrollWidth ||
+		clamp[3] != this.winElement.scrollHeight
+	) ? true : false;
+
+	this.moveTo(clamp[0], clamp[1]);
+	if (this.features.resizable == "yes" && oversize)
+		this.resizeTo(clamp[2], clamp[3]);
+};
+
+function debug(msg) {
+	document.getElementById('debug').value += msg + "\n";
+}
+
+TinyMCE_Window.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+TinyMCE_Window.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id + "_iframe") {
+			win.focus();
+			return;
+		}
+	}
+};
+
+TinyMCE_Window.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (this.resizeElement != null && elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new TinyMCE_Windows();
+
+// Initialize windows
+mcWindows.init({
+	images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
+	css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,453 @@
+/**
+ * $Id: mcwindows.js 18 2006-06-29 14:11:23Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Windows handler
+function MCWindows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.zindex = 100;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+			if (typeof(win) == 'function')
+				continue;
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+	}
+}
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = 10;
+	options['top'] = 10;
+	options['width'] = 300;
+	options['height'] = 300;
+	options['resizable'] = true;
+	options['minimizable'] = true;
+	options['maximizable'] = true;
+	options['close'] = true;
+	options['movable'] = true;
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+	var win = new MCWindow();
+	var winDiv, html = "", id;
+
+	features = this.parseFeatures(features);
+
+	// Create div
+	id = "mcWindow_" + name;
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-12-19;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
+	html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
+	html += '</div>';
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name + "_iframe";
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+	mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	this.selectedWindow = win;
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div");
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+//	iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+	this.winElement.style.zIndex = mcWindows.zindex++;
+	mcWindows.selectedWindow = this;
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+	
+};
+
+MCWindow.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+	document.body.removeChild(this.winElement);
+	mcWindows.windows[this.name] = null;
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+			height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+			width = width < 100 ? 100 : width;
+			height = height < 100 ? 100 : height;
+
+			this.wrapperIFrameElement.style.width = width+2;
+			this.wrapperIFrameElement.style.height = height+2;
+			this.wrapperIFrameElement.width = width+2;
+			this.wrapperIFrameElement.height = height+2;
+			this.winElement.style.width = width;
+			this.winElement.style.height = height;
+
+			height = height-12-19;
+
+			this.containerElement.style.width = width;
+
+			this.iframeElement.style.width = width;
+			this.iframeElement.style.height = height;
+			this.bodyElement.style.width = width;
+			this.bodyElement.style.height = height;
+			this.headElement.style.width = width;
+			//this.statusElement.style.width = width;
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.winElement.style.left = this.left + "px";
+			this.winElement.style.top = this.top + "px";
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+MCWindow.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id) {
+			win.focus();
+			return;
+		}
+	}
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
===================================================================

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('insertdatetime');var TinyMCE_InsertDateTimePlugin={getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"insertdate":return tinyMCE.getButtonHTML(cn,'lang_insertdate_desc','{$pluginurl}/images/insertdate.gif','mceInsertDate');case"inserttime":return tinyMCE.getButtonHTML(cn,'lang_inserttime_desc','{$pluginurl}/images/inserttime.gif','mceInsertTime')}return""},execCommand:function(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value}return value}function getDateTime(d,fmt){fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt}switch(command){case"mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case"mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true}return false}};tinyMCE.addPlugin("insertdatetime",TinyMCE_InsertDateTimePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('insertdatetime');
+
+var TinyMCE_InsertDateTimePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Insert date/time',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the insertdate, inserttime controls.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "insertdate":
+				return tinyMCE.getButtonHTML(cn, 'lang_insertdate_desc', '{$pluginurl}/images/insertdate.gif', 'mceInsertDate');
+
+			case "inserttime":
+				return tinyMCE.getButtonHTML(cn, 'lang_inserttime_desc', '{$pluginurl}/images/inserttime.gif', 'mceInsertTime');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceInsertDate command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		/* Adds zeros infront of value */
+		function addZeros(value, len) {
+			value = "" + value;
+
+			if (value.length < len) {
+				for (var i=0; i<(len-value.length); i++)
+					value = "0" + value;
+			}
+
+			return value;
+		}
+
+		function getDateTime(d, fmt) {
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+		}
+
+		// Handle commands
+		switch (command) {
+			case "mceInsertDate":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
+				return true;
+
+			case "mceInsertTime":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("insertdatetime", TinyMCE_InsertDateTimePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Insert date',
+inserttime_desc : 'Insert time',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('layer');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position')},handleEvent:function(e){var inst=tinyMCE.selectedInstance;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=this._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null}}return true},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i<nl.length;i++){if(new RegExp('absolute|relative|static','gi').test(nl[i].style.position)){if(state)tinyMCE.addCSSClass(nl[i],'mceVisualAid');else tinyMCE.removeCSSClass(nl[i],'mceVisualAid')}}},getControlHTML:function(cn){switch(cn){case"moveforward":return tinyMCE.getButtonHTML(cn,'lang_layer_forward_desc','{$pluginurl}/images/moveforward.gif','mceMoveForward',true);case"movebackward":return tinyMCE.getButtonHTML(cn,'lang_layer_backward_desc','{$pluginurl}/images/movebackward.gif','mceMoveBackward',true);case"absolute":return tinyMCE.getButtonHTML(cn,'lang_layer_absolute_desc','{$pluginurl}/images/absolute.gif','mceMakeAbsolute',true);case"insertlayer":return tinyMCE.getButtonHTML(cn,'lang_layer_insertlayer_desc','{$pluginurl}/images/insertlayer.gif','mceInsertLayer',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertLayer":this._insertLayer();return true;case"mceMoveForward":this._move(1);return true;case"mceMoveBackward":this._move(-1);return true;case"mceMakeAbsolute":this._toggleAbsolute();return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id);var le=this._getParentLayer(inst.getFocusElement());var p=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');tinyMCE.switchClass(editor_id+'_absolute','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonDisabled');if(p)tinyMCE.switchClass(editor_id+'_absolute','mceButtonNormal');if(le&&le.style.position.toLowerCase()=="absolute"){tinyMCE.switchClass(editor_id+'_absolute','mceButtonSelected');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonNormal');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonNormal')}},_move:function(d){var inst=tinyMCE.selectedInstance,i,z=new Array();var le=this._getParentLayer(inst.getFocusElement()),ci=-1,fi=-1;var nl=tinyMCE.selectNodes(inst.getBody(),function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)});for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else nl[ci].style.zIndex=z[ci]+1}inst.repaint()},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)})},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne)},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance;var le=this._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top=""}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst)}inst.repaint();tinyMCE.triggerNodeChange()}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,248 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('layer');
+
+var TinyMCE_LayerPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Layer',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			inst.getDoc().execCommand('2D-Position');
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+		var w = inst.getWin(), le = inst._lastStyleElm, e;
+
+		if (tinyMCE.isGecko) {
+			e = this._getParentLayer(inst.getFocusElement());
+
+			if (e) {
+				if (!inst._lastStyleElm) {
+					e.style.overflow = 'auto';
+					inst._lastStyleElm = e;
+				}
+			} else if (le) {
+				le = inst._lastStyleElm;
+				le.style.width = le.scrollWidth + 'px';
+				le.style.height = le.scrollHeight + 'px';
+				le.style.overflow = '';
+				inst._lastStyleElm = null;
+			}
+		}
+
+		return true;
+	},
+
+	handleVisualAid : function(el, deep, state, inst) {
+		var nl = inst.getDoc().getElementsByTagName("div"), i;
+
+		for (i=0; i<nl.length; i++) {
+			if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
+				if (state)
+					tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
+				else
+					tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');					
+			}
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "moveforward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/moveforward.gif', 'mceMoveForward', true);
+
+			case "movebackward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/movebackward.gif', 'mceMoveBackward', true);
+
+			case "absolute":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
+
+			case "insertlayer":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insertlayer.gif', 'mceInsertLayer', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceInsertLayer":
+				this._insertLayer();
+				return true;
+
+			case "mceMoveForward":
+				this._move(1);
+				return true;
+
+			case "mceMoveBackward":
+				this._move(-1);
+				return true;
+
+			case "mceMakeAbsolute":
+				this._toggleAbsolute();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var le = this._getParentLayer(inst.getFocusElement());
+		var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
+
+		if (p)
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
+
+		if (le && le.style.position.toLowerCase() == "absolute") {
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin specific methods
+
+	_move : function(d) {
+		var inst = tinyMCE.selectedInstance, i, z = new Array();
+		var le = this._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
+		var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+
+		// Find z-indexes
+		for (i=0; i<nl.length; i++) {
+			z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
+
+			if (ci < 0 && nl[i] == le)
+				ci = i;
+		}
+
+		if (d < 0) {
+			// Move back
+
+			// Try find a lower one
+			for (i=0; i<z.length; i++) {
+				if (z[i] < z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else {
+				if (z[ci] > 0)
+					nl[ci].style.zIndex = z[ci] - 1;
+			}
+		} else {
+			// Move forward
+
+			// Try find a higher one
+			for (i=0; i<z.length; i++) {
+				if (z[i] > z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else
+				nl[ci].style.zIndex = z[ci] + 1;
+		}
+
+		inst.repaint();
+	},
+
+	_getParentLayer : function(n) {
+		return tinyMCE.getParentNode(n, function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+	},
+
+	_insertLayer : function() {
+		var inst = tinyMCE.selectedInstance;
+		var e = tinyMCE.getParentElement(inst.getFocusElement());
+		var p = tinyMCE.getAbsPosition(e);
+		var d = inst.getDoc();
+		var ne = d.createElement('div');
+		var h = inst.selection.getSelectedHTML();
+
+		// Move div
+		ne.style.position = 'absolute';
+		ne.style.left = p.absLeft + 'px';
+		ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
+		ne.style.width = '100px';
+		ne.style.height = '100px';
+		ne.className = 'mceVisualAid';
+
+		if (!h)
+			h = tinyMCE.getLang('lang_layer_content');
+
+		ne.innerHTML = h;
+
+		// Add it
+		d.body.appendChild(ne);
+	},
+
+	_toggleAbsolute : function() {
+		var inst = tinyMCE.selectedInstance;
+		var le = this._getParentLayer(inst.getFocusElement());
+
+		if (le == null)
+			le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		if (le) {
+			if (le.style.position.toLowerCase() == "absolute") {
+				le.style.position = "";
+				le.style.left = "";
+				le.style.top = "";
+			} else {
+				le.style.position = "absolute";
+
+				if (le.style.left == "")
+					le.style.left = 20 + 'px';
+
+				if (le.style.top == "")
+					le.style.top = 20 + 'px';
+
+				if (le.style.width == "")
+					le.style.width = le.width ? (le.width + 'px') : '100px';
+
+				if (le.style.height == "")
+					le.style.height = le.height ? (le.height + 'px') : '100px';
+
+				tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+			}
+
+			inst.repaint();
+			tinyMCE.triggerNodeChange();
+		}
+	}
+};
+
+tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+// UK lang variables
+
+tinyMCE.addToLang('layer',{
+insertlayer_desc : 'Insert new layer',
+forward_desc : 'Move forward',
+backward_desc : 'Move backward',
+absolute_desc : 'Toggle absolute positioning',
+content : 'New layer...'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {
+	border: 1px dotted #cc0000;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}
+
+.mceItemShockWave {
+	background-image: url('../images/shockwave.gif');
+}
+
+.mceItemFlash {
+	background-image: url('../images/flash.gif');
+}
+
+.mceItemQuickTime {
+	background-image: url('../images/quicktime.gif');
+}
+
+.mceItemWindowsMedia {
+	background-image: url('../images/windowsmedia.gif');
+}
+
+.mceItemRealMedia {
+	background-image: url('../images/realmedia.gif');
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+#id, #name, #hspace, #vspace, #class_name, #align {
+	width: 100px;
+}
+
+#hspace, #vspace {
+	width: 50px;
+}
+
+#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode {
+	width: 100px;
+}
+
+#flash_base, #flash_flashvars {
+	width: 240px;
+}
+
+#width, #height {
+	width: 40px;
+}
+
+#src, #media_type {
+	width: 250px;
+}
+
+#class {
+	width: 120px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px solid black;
+	width: 99%;
+	height: 230px;
+	overflow: auto;
+}
+
+.panel_wrapper div.current {
+	height: 390px;
+	overflow: auto;
+}
+
+#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options {
+	display: none;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume {
+	width: 70px;
+}
+
+#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume {
+	width: 70px;
+}
+
+#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks {
+	width: 70px;
+}
+
+#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle {
+	width: 90px;
+}
+
+#qt_qtsrc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('media');var TinyMCE_MediaPlugin={getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(inst.hasPlugin('flash')&&!tinyMCE.flashWarn){alert('Flash plugin is deprecated and should not be used together with the media plugin.');tinyMCE.flashWarn=true}if(!tinyMCE.settings['media_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/media/css/content.css")},getControlHTML:function(cn){switch(cn){case"media":return tinyMCE.getButtonHTML(cn,'lang_media_desc','{$pluginurl}/images/media.gif','mceMedia')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceMedia":tinyMCE.openWindow({file:'../../plugins/media/media.htm',width:430+tinyMCE.getLang('lang_media_delta_width',0),height:470+tinyMCE.getLang('lang_media_delta_height',0)},{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content,inst){var nl,img,i,ne,d,s,ci;switch(type){case"insert_to_editor":img=tinyMCE.getParam("theme_href")+'/images/spacer.gif';content=content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,'<img class="mceItem$1" title="$2" src="'+img+'" />');content=content.replace(/<object([^>]*)>/gi,'<div class="mceItemObject" $1>');content=content.replace(/<embed([^>]*)>/gi,'<div class="mceItemObjectEmbed" $1>');content=content.replace(/<\/(object|embed)([^>]*)>/gi,'</div>');content=content.replace(/<param([^>]*)>/gi,'<div $1 class="mceItemParam"></div>');content=content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>','gi'),'class="mceItemParam"></div>');break;case"insert_to_editor_dom":d=inst.getDoc();nl=content.getElementsByTagName("img");for(i=0;i<nl.length;i++){if(/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)){nl[i].width=nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g,'$1');nl[i].height=nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g,'$1');}}nl=tinyMCE.selectElements(content,'DIV',function(n){return tinyMCE.hasCSSClass(n,'mceItemObject')});for(i=0;i<nl.length;i++){ci=tinyMCE.getAttrib(nl[i],"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash',d,nl[i]),nl[i]);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave',d,nl[i]),nl[i]);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia',d,nl[i]),nl[i]);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime',d,nl[i]),nl[i]);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia',d,nl[i]),nl[i]);break}}nl=tinyMCE.selectNodes(content,function(n){return n.className=='mceItemObjectEmbed'});for(i=0;i<nl.length;i++){switch(tinyMCE.getAttrib(nl[i],'type')){case'application/x-shockwave-flash':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemFlash');break;case'application/x-director':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemShockWave');break;case'application/x-mplayer2':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemWindowsMedia');break;case'video/quicktime':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemQuickTime');break;case'audio/x-pn-realaudio-plugin':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemRealMedia');break}}break;case"get_from_editor":var startPos=-1,endPos,attribs,chunkBefore,chunkAfter,embedHTML,at,pl,cb,mt,ex;while((startPos=content.indexOf('<img',startPos+1))!=-1){endPos=content.indexOf('/>',startPos);attribs=TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos+4,endPos));if(!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))continue;endPos+=2;at=attribs['title'];if(at){at=at.replace(/&(#39|apos);/g,"'");at=at.replace(/&#quot;/g,'"');try{pl=eval('x={'+at+'};')}catch(ex){pl={}}}if(!tinyMCE.getParam('media_use_script',false)){switch(attribs['class']){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166B1BCA-3F9C-11CF-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=tinyMCE.getParam('media_wmp6_compatible')?'05589FA1-C356-11CE-BF01-00AA0055595A':'6BF52A52-394A-11D3-B153-00C04F79FAA6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break}if(!tinyMCE.getParam("relative_urls"))pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);embedHTML=TinyMCE_MediaPlugin._getEmbed(ci,cb,mt,pl,attribs)}else{switch(attribs['class']){case'mceItemFlash':s='writeFlash';break;case'mceItemShockWave':s='writeShockWave';break;case'mceItemWindowsMedia':s='writeWindowsMedia';break;case'mceItemQuickTime':s='writeQuickTime';break;case'mceItemRealMedia':s='writeRealMedia';break}if(attribs.width)at=at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g,"width:'"+attribs.width+"'");if(attribs.height)at=at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g,"height:'"+attribs.height+"'");if(!tinyMCE.getParam("relative_urls")){pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);at=at.replace(new RegExp("src:'[^']*'","g"),"src:'"+pl.src+"'")}embedHTML='<script type="text/javascript">'+s+'({'+at+'});</script>'}chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node,'class'))){tinyMCE.switchClass(editor_id+'_media','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_media','mceButtonNormal');return true},_createImgFromEmbed:function(n,d,cl){var ne,at,i,ti='',an;ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;at=n.attributes;for(i=0;i<at.length;i++){if(at[i].specified&&at[i].nodeValue){an=at[i].nodeName.toLowerCase();if(an=='src')continue;if(an=='mce_src')an='src';if(an.indexOf('mce_')==-1&&!new RegExp('^(class|type)$').test(an))ti+=an.toLowerCase()+':\''+at[i].nodeValue+"',"}}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;n.parentNode.replaceChild(ne,n)},_createImg:function(cl,d,n){var i,nl,ti="",an,av,al=new Array();ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;al.id=tinyMCE.getAttrib(n,'id');al.name=tinyMCE.getAttrib(n,'name');al.width=tinyMCE.getAttrib(n,'width');al.height=tinyMCE.getAttrib(n,'height');al.bgcolor=tinyMCE.getAttrib(n,'bgcolor');al.align=tinyMCE.getAttrib(n,'align');al.class_name=tinyMCE.getAttrib(n,'mce_class');nl=n.getElementsByTagName('div');for(i=0;i<nl.length;i++){av=tinyMCE.getAttrib(nl[i],'value');av=av.replace(new RegExp('\\\\','g'),'\\\\');av=av.replace(new RegExp('"','g'),'\\"');av=av.replace(new RegExp("'",'g'),"\\'");an=tinyMCE.getAttrib(nl[i],'name');al[an]=av}if(al.movie){al.src=al.movie;al.movie=null}for(an in al){if(al[an]!=null&&typeof(al[an])!="function"&&al[an]!='')ti+=an.toLowerCase()+':\''+al[an]+"',"}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;return ne},_getEmbed:function(cls,cb,mt,p,at){var h='',n;p.width=at.width?at.width:p.width;p.height=at.height?at.height:p.height;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?' id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?' name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?' width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?' height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?' align="'+p.align+'"':'';h+='>';for(n in p){if(p[n]&&typeof(p[n])!="function"){h+='<param name="'+n+'" value="'+p[n]+'" />';if(n=='src'&&p[n].indexOf('://')!=-1&&mt=='application/x-mplayer2')h+='<param name="url" value="'+p[n]+'" />'}}h+='<embed type="'+mt+'"';for(n in p){if(typeof(p[n])=="function")continue;if(!(n=='url'&&mt=='application/x-mplayer2'))h+=' '+n+'="'+p[n]+'"'}h+='></embed></object>';return h},_parseAttributes:function(attribute_string){var attributeName="",endChr='"';var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue){withInValue=true;endChr=chr}else if(chr==endChr&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("media",TinyMCE_MediaPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,435 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('media');
+
+var TinyMCE_MediaPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Media',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Warn if user has flash plugin and media plugin at the same time
+		if (inst.hasPlugin('flash') && !tinyMCE.flashWarn) {
+			alert('Flash plugin is deprecated and should not be used together with the media plugin.');
+			tinyMCE.flashWarn = true;
+		}
+
+		if (!tinyMCE.settings['media_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/media/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "media":
+				return tinyMCE.getButtonHTML(cn, 'lang_media_desc', '{$pluginurl}/images/media.gif', 'mceMedia');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceMedia":
+				tinyMCE.openWindow({
+						file : '../../plugins/media/media.htm',
+						width : 430 + tinyMCE.getLang('lang_media_delta_width', 0),
+						height : 470 + tinyMCE.getLang('lang_media_delta_height', 0)
+					}, {
+						editor_id : editor_id,
+						inline : "yes"
+				});
+
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nl, img, i, ne, d, s, ci;
+
+		switch (type) {
+			case "insert_to_editor":
+				img = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+				content = content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, '<img class="mceItem$1" title="$2" src="' + img + '" />');
+				content = content.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>');
+				content = content.replace(/<embed([^>]*)>/gi, '<div class="mceItemObjectEmbed" $1>');
+				content = content.replace(/<\/(object|embed)([^>]*)>/gi, '</div>');
+				content = content.replace(/<param([^>]*)>/gi, '<div $1 class="mceItemParam"></div>');
+				content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam"></div>');
+				break;
+
+			case "insert_to_editor_dom":
+				d = inst.getDoc();
+				nl = content.getElementsByTagName("img");
+				for (i=0; i<nl.length; i++) {
+					if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)) {
+						nl[i].width = nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g, '$1');
+						nl[i].height = nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g, '$1');
+						//nl[i].align = nl[i].title.replace(/.*align:([a-z]+).*/gi, '$1');
+					}
+				}
+
+				nl = tinyMCE.selectElements(content, 'DIV', function (n) {return tinyMCE.hasCSSClass(n, 'mceItemObject');});
+				for (i=0; i<nl.length; i++) {
+					ci = tinyMCE.getAttrib(nl[i], "classid").toLowerCase().replace(/\s+/g, '');
+
+					switch (ci) {
+						case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:166b1bca-3f9c-11cf-8075-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':
+						case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':
+						case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia', d, nl[i]), nl[i]);
+							break;
+					}
+				}
+
+				// Handle embed (if any)
+				nl = tinyMCE.selectNodes(content, function (n) {return n.className == 'mceItemObjectEmbed';});
+				for (i=0; i<nl.length; i++) {
+					switch (tinyMCE.getAttrib(nl[i], 'type')) {
+						case 'application/x-shockwave-flash':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemFlash');
+							break;
+
+						case 'application/x-director':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemShockWave');
+							break;
+
+						case 'application/x-mplayer2':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemWindowsMedia');
+							break;
+
+						case 'video/quicktime':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemQuickTime');
+							break;
+
+						case 'audio/x-pn-realaudio-plugin':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemRealMedia');
+							break;
+					}
+				}
+				break;
+
+			case "get_from_editor":
+				var startPos = -1, endPos, attribs, chunkBefore, chunkAfter, embedHTML, at, pl, cb, mt, ex;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					endPos = content.indexOf('/>', startPos);
+					attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))
+						continue;
+
+					endPos += 2;
+
+					// Parse attributes
+					at = attribs['title'];
+					if (at) {
+						at = at.replace(/&(#39|apos);/g, "'");
+						at = at.replace(/&#quot;/g, '"');
+
+						try {
+							pl = eval('x={' + at + '};');
+						} catch (ex) {
+							pl = {};
+						}
+					}
+
+					// Use object/embed
+					if (!tinyMCE.getParam('media_use_script', false)) {
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'application/x-shockwave-flash';
+								break;
+
+							case 'mceItemShockWave':
+								ci = '166B1BCA-3F9C-11CF-8075-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+								mt = 'application/x-director';
+								break;
+
+							case 'mceItemWindowsMedia':
+								ci = tinyMCE.getParam('media_wmp6_compatible') ? '05589FA1-C356-11CE-BF01-00AA0055595A' : '6BF52A52-394A-11D3-B153-00C04F79FAA6';
+								cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+								mt = 'application/x-mplayer2';
+								break;
+
+							case 'mceItemQuickTime':
+								ci = '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+								cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+								mt = 'video/quicktime';
+								break;
+
+							case 'mceItemRealMedia':
+								ci = 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'audio/x-pn-realaudio-plugin';
+								break;
+						}
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls"))
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+
+						embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs);
+					} else {
+						// Use script version
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								s = 'writeFlash';
+								break;
+
+							case 'mceItemShockWave':
+								s = 'writeShockWave';
+								break;
+
+							case 'mceItemWindowsMedia':
+								s = 'writeWindowsMedia';
+								break;
+
+							case 'mceItemQuickTime':
+								s = 'writeQuickTime';
+								break;
+
+							case 'mceItemRealMedia':
+								s = 'writeRealMedia';
+								break;
+						}
+
+						if (attribs.width)
+							at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'");
+
+						if (attribs.height)
+							at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'");
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls")) {
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+							at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'");
+						}
+
+						embedHTML = '<script type="text/javascript">' + s + '({' + at + '});</script>';
+					}
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) {
+				tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal');
+
+		return true;
+	},
+
+	_createImgFromEmbed : function(n, d, cl) {
+		var ne, at, i, ti = '', an;
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		at = n.attributes;
+		for (i=0; i<at.length; i++) {
+			if (at[i].specified && at[i].nodeValue) {
+				an = at[i].nodeName.toLowerCase();
+
+				if (an == 'src')
+					continue;
+
+				if (an == 'mce_src')
+					an = 'src';
+
+				if (an.indexOf('mce_') == -1 && !new RegExp('^(class|type)$').test(an))
+					ti += an.toLowerCase() + ':\'' + at[i].nodeValue + "',";
+			}
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		n.parentNode.replaceChild(ne, n);
+	},
+
+	_createImg : function(cl, d, n) {
+		var i, nl, ti = "", an, av, al = new Array();
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		al.id = tinyMCE.getAttrib(n, 'id');
+		al.name = tinyMCE.getAttrib(n, 'name');
+		al.width = tinyMCE.getAttrib(n, 'width');
+		al.height = tinyMCE.getAttrib(n, 'height');
+		al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor');
+		al.align = tinyMCE.getAttrib(n, 'align');
+		al.class_name = tinyMCE.getAttrib(n, 'mce_class');
+
+		nl = n.getElementsByTagName('div');
+		for (i=0; i<nl.length; i++) {
+			av = tinyMCE.getAttrib(nl[i], 'value');
+			av = av.replace(new RegExp('\\\\', 'g'), '\\\\');
+			av = av.replace(new RegExp('"', 'g'), '\\"');
+			av = av.replace(new RegExp("'", 'g'), "\\'");
+			an = tinyMCE.getAttrib(nl[i], 'name');
+			al[an] = av;
+		}
+
+		if (al.movie) {
+			al.src = al.movie;
+			al.movie = null;
+		}
+
+		for (an in al) {
+			if (al[an] != null && typeof(al[an]) != "function" && al[an] != '')
+				ti += an.toLowerCase() + ':\'' + al[an] + "',";
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		return ne;
+	},
+
+	_getEmbed : function(cls, cb, mt, p, at) {
+		var h = '', n;
+
+		p.width = at.width ? at.width : p.width;
+		p.height = at.height ? at.height : p.height;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? ' id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? ' name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? ' width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? ' height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? ' align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p) {
+			if (p[n] && typeof(p[n]) != "function") {
+				h += '<param name="' + n + '" value="' + p[n] + '" />';
+
+				// Add extra url parameter if it's an absolute URL on WMP
+				if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2')
+					h += '<param name="url" value="' + p[n] + '" />';
+			}
+		}
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p) {
+			if (typeof(p[n]) == "function")
+				continue;
+
+			// Skip url parameter for embed tag on WMP
+			if (!(n == 'url' && mt == 'application/x-mplayer2'))
+				h += ' ' + n + '="' + p[n] + '"';
+		}
+
+		h += '></embed></object>';
+
+		return h;
+	},
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "", endChr = '"';
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue) {
+				withInValue = true;
+				endChr = chr;
+			} else if (chr == endChr && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("media", TinyMCE_MediaPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,572 @@
+var oldWidth, oldHeight;
+var url = tinyMCE.getParam("media_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	var pl = "", f, val;
+	var type = "flash", fe, i;
+
+	tinyMCEPopup.resizeToInnerSize();
+	f = document.forms[0]
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		pl = "x={" + fe.title + "};";
+
+		switch (tinyMCE.getAttrib(fe, 'class')) {
+			case 'mceItemFlash':
+				type = 'flash';
+				break;
+
+			case 'mceItemShockWave':
+				type = 'shockwave';
+				break;
+
+			case 'mceItemWindowsMedia':
+				type = 'wmp';
+				break;
+
+			case 'mceItemQuickTime':
+				type = 'qt';
+				break;
+
+			case 'mceItemRealMedia':
+				type = 'rmp';
+				break;
+		}
+
+		document.forms[0].insert.value = tinyMCE.getLang('lang_update', 'Insert', true); 
+	}
+
+	document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
+	document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var html = getMediaListHTML('filebrowser','src','media','media');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('filebrowsercontainer'))
+		document.getElementById('src').style.width = '230px';
+
+	// Setup form
+	if (pl != "") {
+		pl = eval(pl);
+
+		switch (type) {
+			case "flash":
+				setBool(pl, 'flash', 'play');
+				setBool(pl, 'flash', 'loop');
+				setBool(pl, 'flash', 'menu');
+				setBool(pl, 'flash', 'swliveconnect');
+				setStr(pl, 'flash', 'quality');
+				setStr(pl, 'flash', 'scale');
+				setStr(pl, 'flash', 'salign');
+				setStr(pl, 'flash', 'wmode');
+				setStr(pl, 'flash', 'base');
+				setStr(pl, 'flash', 'flashvars');
+			break;
+
+			case "qt":
+				setBool(pl, 'qt', 'loop');
+				setBool(pl, 'qt', 'autoplay');
+				setBool(pl, 'qt', 'cache');
+				setBool(pl, 'qt', 'controller');
+				setBool(pl, 'qt', 'correction');
+				setBool(pl, 'qt', 'enablejavascript');
+				setBool(pl, 'qt', 'kioskmode');
+				setBool(pl, 'qt', 'autohref');
+				setBool(pl, 'qt', 'playeveryframe');
+				setBool(pl, 'qt', 'tarsetcache');
+				setStr(pl, 'qt', 'scale');
+				setStr(pl, 'qt', 'starttime');
+				setStr(pl, 'qt', 'endtime');
+				setStr(pl, 'qt', 'tarset');
+				setStr(pl, 'qt', 'qtsrcchokespeed');
+				setStr(pl, 'qt', 'volume');
+				setStr(pl, 'qt', 'qtsrc');
+			break;
+
+			case "shockwave":
+				setBool(pl, 'shockwave', 'sound');
+				setBool(pl, 'shockwave', 'progress');
+				setBool(pl, 'shockwave', 'autostart');
+				setBool(pl, 'shockwave', 'swliveconnect');
+				setStr(pl, 'shockwave', 'swvolume');
+				setStr(pl, 'shockwave', 'swstretchstyle');
+				setStr(pl, 'shockwave', 'swstretchhalign');
+				setStr(pl, 'shockwave', 'swstretchvalign');
+			break;
+
+			case "wmp":
+				setBool(pl, 'wmp', 'autostart');
+				setBool(pl, 'wmp', 'enabled');
+				setBool(pl, 'wmp', 'enablecontextmenu');
+				setBool(pl, 'wmp', 'fullscreen');
+				setBool(pl, 'wmp', 'invokeurls');
+				setBool(pl, 'wmp', 'mute');
+				setBool(pl, 'wmp', 'stretchtofit');
+				setBool(pl, 'wmp', 'windowlessvideo');
+				setStr(pl, 'wmp', 'balance');
+				setStr(pl, 'wmp', 'baseurl');
+				setStr(pl, 'wmp', 'captioningid');
+				setStr(pl, 'wmp', 'currentmarker');
+				setStr(pl, 'wmp', 'currentposition');
+				setStr(pl, 'wmp', 'defaultframe');
+				setStr(pl, 'wmp', 'playcount');
+				setStr(pl, 'wmp', 'rate');
+				setStr(pl, 'wmp', 'uimode');
+				setStr(pl, 'wmp', 'volume');
+			break;
+
+			case "rmp":
+				setBool(pl, 'rmp', 'autostart');
+				setBool(pl, 'rmp', 'loop');
+				setBool(pl, 'rmp', 'autogotourl');
+				setBool(pl, 'rmp', 'center');
+				setBool(pl, 'rmp', 'imagestatus');
+				setBool(pl, 'rmp', 'maintainaspect');
+				setBool(pl, 'rmp', 'nojava');
+				setBool(pl, 'rmp', 'prefetch');
+				setBool(pl, 'rmp', 'shuffle');
+				setStr(pl, 'rmp', 'console');
+				setStr(pl, 'rmp', 'controls');
+				setStr(pl, 'rmp', 'numloop');
+				setStr(pl, 'rmp', 'scriptcallbacks');
+			break;
+		}
+
+		setStr(pl, null, 'src');
+		setStr(pl, null, 'id');
+		setStr(pl, null, 'name');
+		setStr(pl, null, 'vspace');
+		setStr(pl, null, 'hspace');
+		setStr(pl, null, 'bgcolor');
+		setStr(pl, null, 'align');
+		setStr(pl, null, 'width');
+		setStr(pl, null, 'height');
+
+		if ((val = tinyMCE.getAttrib(fe, "width")) != "")
+			pl.width = f.width.value = val;
+
+		if ((val = tinyMCE.getAttrib(fe, "height")) != "")
+			pl.height = f.height.value = val;
+
+		oldWidth = pl.width ? parseInt(pl.width) : 0;
+		oldHeight = pl.height ? parseInt(pl.height) : 0;
+	} else
+		oldWidth = oldHeight = 0;
+
+	selectByValue(f, 'media_type', type);
+	changedType(type);
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	TinyMCE_EditableSelects.init();
+	generatePreview();
+}
+
+function insertMedia() {
+	var fe, f = document.forms[0], h;
+
+	if (!AutoValidator.validate(f)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	f.width.value = f.width.value == "" ? 100 : f.width.value;
+	f.height.value = f.height.value == "" ? 100 : f.height.value;
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				fe.className = "mceItemFlash";
+				break;
+
+			case "shockwave":
+				fe.className = "mceItemShockWave";
+				break;
+
+			case "qt":
+				fe.className = "mceItemQuickTime";
+				break;
+
+			case "wmp":
+				fe.className = "mceItemWindowsMedia";
+				break;
+
+			case "rmp":
+				fe.className = "mceItemRealMedia";
+				break;
+		}
+
+		if (fe.width != f.width.value || fe.height != f.width.height)
+			tinyMCE.selectedInstance.repaint();
+
+		fe.title = serializeParameters();
+		fe.width = f.width.value;
+		fe.height = f.height.value;
+		fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : '');
+		fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : '');
+		fe.align = f.align.options[f.align.selectedIndex].value;
+	} else {
+		h = '<img src="' + tinyMCE.getParam("theme_href") + '/images/spacer.gif"' ;
+
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				h += ' class="mceItemFlash"';
+				break;
+
+			case "shockwave":
+				h += ' class="mceItemShockWave"';
+				break;
+
+			case "qt":
+				h += ' class="mceItemQuickTime"';
+				break;
+
+			case "wmp":
+				h += ' class="mceItemWindowsMedia"';
+				break;
+
+			case "rmp":
+				h += ' class="mceItemRealMedia"';
+				break;
+		}
+
+		h += ' title="' + serializeParameters() + '"';
+		h += ' width="' + f.width.value + '"';
+		h += ' height="' + f.height.value + '"';
+		h += ' align="' + f.align.options[f.align.selectedIndex].value + '"';
+
+		h += ' />';
+
+		tinyMCE.selectedInstance.execCommand('mceInsertContent', false, h);
+	}
+
+	tinyMCEPopup.close();
+}
+
+function getMediaListHTML() {
+	if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.src.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEMediaList.length; i++)
+			html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function getType(v) {
+	var fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'), i, c, el, x;
+
+	for (i=0; i<fo.length; i++) {
+		c = fo[i].split('=');
+
+		el = c[1].split(',');
+		for (x=0; x<el.length; x++)
+		if (v.indexOf('.' + el[x]) != -1)
+			return c[0];
+	}
+
+	return null;
+}
+
+function switchType(v) {
+	var t = getType(v), d = document, f = d.forms[0];
+
+	if (!t)
+		return;
+
+	selectByValue(d.forms[0], 'media_type', t);
+	changedType(t);
+
+	// Update qtsrc also
+	if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
+		alert(tinyMCE.getLang("lang_media_qt_stream_warn"));
+
+		if (f.qt_qtsrc.value == '')
+			f.qt_qtsrc.value = f.src.value;
+	}
+}
+
+function changedType(t) {
+	var d = document;
+
+	d.getElementById('flash_options').style.display = 'none';
+	d.getElementById('qt_options').style.display = 'none';
+	d.getElementById('shockwave_options').style.display = 'none';
+	d.getElementById('wmp_options').style.display = 'none';
+	d.getElementById('rmp_options').style.display = 'none';
+	d.getElementById(t + '_options').style.display = 'block';
+}
+
+function serializeParameters() {
+	var d = document, f = d.forms[0], s = '';
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			s += getBool('flash', 'play', true);
+			s += getBool('flash', 'loop', true);
+			s += getBool('flash', 'menu', true);
+			s += getBool('flash', 'swliveconnect', false);
+			s += getStr('flash', 'quality');
+			s += getStr('flash', 'scale');
+			s += getStr('flash', 'salign');
+			s += getStr('flash', 'wmode');
+			s += getStr('flash', 'base');
+			s += getStr('flash', 'flashvars');
+		break;
+
+		case "qt":
+			s += getBool('qt', 'loop', false);
+			s += getBool('qt', 'autoplay', false);
+			s += getBool('qt', 'cache', false);
+			s += getBool('qt', 'controller', true);
+			s += getBool('qt', 'correction', false, 'none', 'full');
+			s += getBool('qt', 'enablejavascript', false);
+			s += getBool('qt', 'kioskmode', false);
+			s += getBool('qt', 'autohref', false);
+			s += getBool('qt', 'playeveryframe', false);
+			s += getBool('qt', 'targetcache', false);
+			s += getStr('qt', 'scale');
+			s += getStr('qt', 'starttime');
+			s += getStr('qt', 'endtime');
+			s += getStr('qt', 'target');
+			s += getStr('qt', 'qtsrcchokespeed');
+			s += getStr('qt', 'volume');
+			s += getStr('qt', 'qtsrc');
+		break;
+
+		case "shockwave":
+			s += getBool('shockwave', 'sound');
+			s += getBool('shockwave', 'progress');
+			s += getBool('shockwave', 'autostart');
+			s += getBool('shockwave', 'swliveconnect');
+			s += getStr('shockwave', 'swvolume');
+			s += getStr('shockwave', 'swstretchstyle');
+			s += getStr('shockwave', 'swstretchhalign');
+			s += getStr('shockwave', 'swstretchvalign');
+		break;
+
+		case "wmp":
+			s += getBool('wmp', 'autostart', true);
+			s += getBool('wmp', 'enabled', false);
+			s += getBool('wmp', 'enablecontextmenu', true);
+			s += getBool('wmp', 'fullscreen', false);
+			s += getBool('wmp', 'invokeurls', true);
+			s += getBool('wmp', 'mute', false);
+			s += getBool('wmp', 'stretchtofit', false);
+			s += getBool('wmp', 'windowlessvideo', false);
+			s += getStr('wmp', 'balance');
+			s += getStr('wmp', 'baseurl');
+			s += getStr('wmp', 'captioningid');
+			s += getStr('wmp', 'currentmarker');
+			s += getStr('wmp', 'currentposition');
+			s += getStr('wmp', 'defaultframe');
+			s += getStr('wmp', 'playcount');
+			s += getStr('wmp', 'rate');
+			s += getStr('wmp', 'uimode');
+			s += getStr('wmp', 'volume');
+		break;
+
+		case "rmp":
+			s += getBool('rmp', 'autostart', false);
+			s += getBool('rmp', 'loop', false);
+			s += getBool('rmp', 'autogotourl', true);
+			s += getBool('rmp', 'center', false);
+			s += getBool('rmp', 'imagestatus', true);
+			s += getBool('rmp', 'maintainaspect', false);
+			s += getBool('rmp', 'nojava', false);
+			s += getBool('rmp', 'prefetch', false);
+			s += getBool('rmp', 'shuffle', false);
+			s += getStr('rmp', 'console');
+			s += getStr('rmp', 'controls');
+			s += getStr('rmp', 'numloop');
+			s += getStr('rmp', 'scriptcallbacks');
+		break;
+	}
+
+	s += getStr(null, 'id');
+	s += getStr(null, 'name');
+	s += getStr(null, 'src');
+	s += getStr(null, 'align');
+	s += getStr(null, 'bgcolor');
+	s += getInt(null, 'vspace');
+	s += getInt(null, 'hspace');
+	s += getStr(null, 'width');
+	s += getStr(null, 'height');
+
+	s = s.length > 0 ? s.substring(0, s.length - 1) : s;
+
+	return s;
+}
+
+function setBool(pl, p, n) {
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	document.forms[0].elements[p + "_" + n].checked = pl[n];
+}
+
+function setStr(pl, p, n) {
+	var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n];
+
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	if (e.type == "text")
+		e.value = pl[n];
+	else
+		selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]);
+}
+
+function getBool(p, n, d, tv, fv) {
+	var v = document.forms[0].elements[p + "_" + n].checked;
+
+	tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'";
+	fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'";
+
+	return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ',');
+}
+
+function getStr(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',");
+}
+
+function getInt(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ",");
+}
+
+function jsEncode(s) {
+	s = s.replace(new RegExp('\\\\', 'g'), '\\\\');
+	s = s.replace(new RegExp('"', 'g'), '\\"');
+	s = s.replace(new RegExp("'", 'g'), "\\'");
+
+	return s;
+}
+
+function generatePreview(c) {
+	var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh;
+
+	p.innerHTML = '<!-- x --->';
+
+	nw = parseInt(f.width.value);
+	nh = parseInt(f.height.value);
+
+	if (f.width.value != "" && f.height.value != "") {
+		if (f.constrain.checked) {
+			if (c == 'width' && oldWidth != 0) {
+				wp = nw / oldWidth;
+				nh = Math.round(wp * nh);
+				f.height.value = nh;
+			} else if (c == 'height' && oldHeight != 0) {
+				hp = nh / oldHeight;
+				nw = Math.round(hp * nw);
+				f.width.value = nw;
+			}
+		}
+	}
+
+	if (f.width.value != "")
+		oldWidth = nw;
+
+	if (f.height.value != "")
+		oldHeight = nh;
+
+	// After constrain
+	pl = serializeParameters();
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+			type = 'application/x-shockwave-flash';
+			break;
+
+		case "shockwave":
+			cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+			type = 'application/x-director';
+			break;
+
+		case "qt":
+			cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+			codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+			type = 'video/quicktime';
+			break;
+
+		case "wmp":
+			cls = tinyMCE.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'application/x-mplayer2';
+			break;
+
+		case "rmp":
+			cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'audio/x-pn-realaudio-plugin';
+			break;
+	}
+
+	if (pl == '') {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl = eval('x={' + pl + '};');
+
+	if (!pl.src) {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+	pl.width = !pl.width ? 100 : pl.width;
+	pl.height = !pl.height ? 100 : pl.height;
+	pl.id = !pl.id ? 'obj' : pl.id;
+	pl.name = !pl.name ? 'eobj' : pl.name;
+	pl.align = !pl.align ? '' : pl.align;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
+
+	for (n in pl) {
+		h += '<param name="' + n + '" value="' + pl[n] + '">';
+
+		// Add extra url parameter if it's an absolute URL
+		if (n == 'src' && pl[n].indexOf('://') != -1)
+			h += '<param name="url" value="' + pl[n] + '" />';
+	}
+
+	h += '<embed type="' + type + '" ';
+
+	for (n in pl)
+		h += n + '="' + pl[n] + '" ';
+
+	h += '></embed></object>';
+
+	p.innerHTML = "<!-- x --->" + h;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+// UK lang variables
+
+tinyMCE.addToLang('media',{
+title : 'Insert / edit embedded media',
+desc : 'Insert / edit embedded media',
+general : 'General',
+advanced : 'Advanced',
+file : 'File',
+list : 'List',
+size : 'Dimensions',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+type : 'Type',
+id : 'Id',
+name : 'Name',
+class_name : 'Class',
+vspace : 'V-Space',
+hspace : 'H-Space',
+play : 'Auto play',
+loop : 'Loop',
+menu : 'Show menu',
+quality : 'Quality',
+scale : 'Scale',
+align : 'Align',
+salign : 'SAlign',
+wmode : 'WMode',
+bgcolor : 'Background',
+base : 'Base',
+flashvars : 'Flashvars',
+liveconnect : 'SWLiveConnect',
+autohref : 'AutoHREF',
+cache : 'Cache',
+hidden : 'Hidden',
+controller : 'Controller',
+kioskmode : 'Kiosk mode',
+playeveryframe : 'Play every frame',
+targetcache : 'Target cache',
+correction : 'No correction',
+enablejavascript : 'Enable JavaScript',
+starttime : 'Start time',
+endtime : 'End time',
+href : 'Href',
+qtsrcchokespeed : 'Choke speed',
+target : 'Target',
+volume : 'Volume',
+autostart : 'Auto start',
+enabled : 'Enabled',
+fullscreen : 'Fullscreen',
+invokeurls : 'Invoke URLs',
+mute : 'Mute',
+stretchtofit : 'Stretch to fit',
+windowlessvideo : 'Windowless video',
+balance : 'Balance',
+baseurl : 'Base URL',
+captioningid : 'Captioning id',
+currentmarker : 'Current marker',
+currentposition : 'Current position',
+defaultframe : 'Default frame',
+playcount : 'Play count',
+rate : 'Rate',
+uimode : 'UI Mode',
+flash_options : 'Flash options',
+qt_options : 'Quicktime options',
+wmp_options : 'Windows media player options',
+rmp_options : 'Real media player options',
+shockwave_options : 'Shockwave options',
+autogotourl : 'Auto goto URL',
+center : 'Center',
+imagestatus : 'Image status',
+maintainaspect : 'Maintain aspect',
+nojava : 'No java',
+prefetch : 'Prefetch',
+shuffle : 'Shuffle',
+console : 'Console',
+numloop : 'Num loops',
+controls : 'Controls',
+scriptcallbacks : 'Script callbacks',
+swstretchstyle : 'Stretch style',
+swstretchhalign : 'Stretch H-Align',
+swstretchvalign : 'Stretch V-Align',
+sound : 'Sound',
+progress : 'Progress',
+qtsrc : 'QT Src',
+qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
+align_top : 'Top',
+align_right : 'Right',
+align_bottom : 'Bottom',
+align_left : 'Left',
+align_center : 'Center',
+align_top_left : 'Top left',
+align_top_right : 'Top right',
+align_bottom_left : 'Bottom left',
+align_bottom_right : 'Bottom right'
+});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,723 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_media_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/media.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<link href="css/media.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertMedia();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{$lang_media_general}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_media_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_media_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+								<td><label for="media_type">{$lang_media_type}</label></td>
+								<td>
+									<select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();">
+										<option value="flash">Flash</option>
+										<option value="qt">Quicktime</option>
+										<option value="shockwave">Shockware</option>
+										<option value="wmp">Windows Media</option>
+										<option value="rmp">Real Media</option>
+									</select>
+								</td>
+							</tr>
+							<tr>
+							<td><label for="src">{$lang_media_file}</label></td>
+							  <td>
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="src" name="src" type="text" value="" onchange="switchType(this.value);generatePreview();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_media_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td><label for="width">{$lang_media_size}</label></td>
+								<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size"  onchange="generatePreview('height');" /></td>
+										<td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_media_constrain_proportions}</label></td>
+									</tr>
+								</table>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_media_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_media_advanced}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+						<tr>
+							<td><label for="id">{$lang_media_id}</label></td>
+							<td><input type="text" id="id" name="id" onchange="generatePreview();" /></td>
+							<td><label for="name">{$lang_media_name}</label></td>
+							<td><input type="text" id="name" name="name" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_media_align}</label></td>
+							<td>
+								<select id="align" name="align" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="top">{$lang_media_align_top}</option>
+									<option value="right">{$lang_media_align_right}</option>
+									<option value="bottom">{$lang_media_align_bottom}</option>
+									<option value="left">{$lang_media_align_left}</option>
+								</select>
+							</td>
+
+							<td><label for="bgcolor">{$lang_media_bgcolor}</label></td>
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="vspace">{$lang_media_vspace}</label></td>
+							<td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td>
+							<td><label for="hspace">{$lang_media_hspace}</label></td>
+							<td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="flash_options">
+					<legend>{$lang_media_flash_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="flash_quality">{$lang_media_quality}</label></td>
+							<td>
+								<select id="flash_quality" name="flash_quality" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="high">high</option>
+									<option value="low">low</option>
+									<option value="autolow">autolow</option>
+									<option value="autohigh">autohigh</option>
+									<option value="best">best</option>
+								</select>
+							</td>
+
+							<td><label for="flash_scale">{$lang_media_scale}</label></td>
+							<td>
+								<select id="flash_scale" name="flash_scale" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="showall">showall</option>
+									<option value="noborder">noborder</option>
+									<option value="exactfit">exactfit</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_wmode">{$lang_media_wmode}</label></td>
+							<td>
+								<select id="flash_wmode" name="flash_wmode" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="window">window</option>
+									<option value="opaque">opaque</option>
+									<option value="transparent">transparent</option>
+								</select>
+							</td>
+
+							<td><label for="flash_salign">{$lang_media_salign}</label></td>
+							<td>
+								<select id="flash_salign" name="flash_salign" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="l">{$lang_media_align_left}</option>
+									<option value="t">{$lang_media_align_top}</option>
+									<option value="r">{$lang_media_align_right}</option>
+									<option value="b">{$lang_media_align_bottom}</option>
+									<option value="tl">{$lang_media_align_top_left}</option>
+									<option value="tr">{$lang_media_align_top_right}</option>
+									<option value="bl">{$lang_media_align_bottom_left}</option>
+									<option value="br">{$lang_media_align_bottom_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_play">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_menu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="flash_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+
+					<table>
+						<tr>
+							<td><label for="flash_base">{$lang_media_base}</label></td>
+							<td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_flashvars">{$lang_media_flashvars}</label></td>
+							<td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="qt_options">
+					<legend>{$lang_media_qt_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td>
+										<td><label for="qt_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" onchange="generatePreview();" /></td>
+										<td><label for="qt_autoplay">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td>
+										<td><label for="qt_cache">{$lang_media_cache}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="qt_controller">{$lang_media_controller}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td>
+										<td><label for="qt_correction">{$lang_media_correction}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td>
+										<td><label for="qt_enablejavascript">{$lang_media_enablejavascript}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td>
+										<td><label for="qt_kioskmode">{$lang_media_kioskmode}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td>
+										<td><label for="qt_autohref">{$lang_media_autohref}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td>
+										<td><label for="qt_playeveryframe">{$lang_media_playeveryframe}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td>
+										<td><label for="qt_targetcache">{$lang_media_targetcache}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_scale">{$lang_media_scale}</label></td>
+							<td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="tofit">tofit</option>
+									<option value="aspect">aspect</option>
+								</select>
+							</td>
+
+							<td colspan="2">&nbsp;</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_starttime">{$lang_media_starttime}</label></td>
+							<td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_endtime">{$lang_media_endtime}</label></td>
+							<td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_target">{$lang_media_target}</label></td>
+							<td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_href">{$lang_media_href}</label></td>
+							<td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrcchokespeed">{$lang_media_qtsrcchokespeed}</label></td>
+							<td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrc">{$lang_media_qtsrc}</label></td>
+							<td colspan="4">
+							<table border="0" cellspacing="0" cellpadding="0">
+								  <tr>
+									<td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td>
+									<td id="qtsrcfilebrowsercontainer">&nbsp;</td>
+								  </tr>
+							</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="wmp_options">
+					<legend>{$lang_media_wmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enabled">{$lang_media_enabled}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enablecontextmenu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td>
+										<td><label for="wmp_fullscreen">{$lang_media_fullscreen}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_invokeurls">{$lang_media_invokeurls}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td>
+										<td><label for="wmp_mute">{$lang_media_mute}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td>
+										<td><label for="wmp_stretchtofit">{$lang_media_stretchtofit}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td>
+										<td><label for="wmp_windowlessvideo">{$lang_media_windowlessvideo}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_balance">{$lang_media_balance}</label></td>
+							<td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_baseurl">{$lang_media_baseurl}</label></td>
+							<td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_captioningid">{$lang_media_captioningid}</label></td>
+							<td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_currentmarker">{$lang_media_currentmarker}</label></td>
+							<td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_currentposition">{$lang_media_currentposition}</label></td>
+							<td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_defaultframe">{$lang_media_defaultframe}</label></td>
+							<td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_playcount">{$lang_media_playcount}</label></td>
+							<td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_rate">{$lang_media_rate}</label></td>
+							<td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_uimode">{$lang_media_uimode}</label></td>
+							<td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+					</table>
+				</fieldset>
+
+				<fieldset id="rmp_options">
+					<legend>{$lang_media_rmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td>
+										<td><label for="rmp_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autogotourl">{$lang_media_autogotourl}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td>
+										<td><label for="rmp_center">{$lang_media_center}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_imagestatus">{$lang_media_imagestatus}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td>
+										<td><label for="rmp_maintainaspect">{$lang_media_maintainaspect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td>
+										<td><label for="rmp_nojava">{$lang_media_nojava}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td>
+										<td><label for="rmp_prefetch">{$lang_media_prefetch}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td>
+										<td><label for="rmp_shuffle">{$lang_media_shuffle}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								&nbsp;
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_console">{$lang_media_console}</label></td>
+							<td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_controls">{$lang_media_controls}</label></td>
+							<td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_numloop">{$lang_media_numloop}</label></td>
+							<td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_scriptcallbacks">{$lang_media_scriptcallbacks}</label></td>
+							<td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="shockwave_options">
+					<legend>{$lang_media_shockwave_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="shockwave_swstretchstyle">{$lang_media_swstretchstyle}</label></td>
+							<td>
+								<select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swvolume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="shockwave_swstretchhalign">{$lang_media_swstretchhalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="left">{$lang_media_align_left}</option>
+									<option value="center">{$lang_media_align_center}</option>
+									<option value="right">{$lang_media_align_right}</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swstretchvalign">{$lang_media_swstretchvalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_sound">{$lang_media_sound}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="shockwave_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_progress">{$lang_media_progress}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertMedia();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('nonbreaking');var TinyMCE_NonBreakingPlugin={getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"nonbreaking":return tinyMCE.getButtonHTML(cn,'lang_nonbreaking_desc','{$pluginurl}/images/nonbreaking.gif','mceNonBreaking',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),h;switch(command){case"mceNonBreaking":h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;</span>':'&nbsp;';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,h);return true}return false},handleEvent:function(e){var inst,h;if(!tinyMCE.isOpera&&e.type=='keydown'&&e.keyCode==9&&tinyMCE.getParam('nonbreaking_force_tab',false)){inst=tinyMCE.selectedInstance;h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>':'&nbsp;&nbsp;&nbsp;';tinyMCE.execInstanceCommand(inst.editorId,'mceInsertContent',false,h);tinyMCE.cancelEvent(e);return false}return true}};tinyMCE.addPlugin("nonbreaking",TinyMCE_NonBreakingPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('nonbreaking');
+
+var TinyMCE_NonBreakingPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Nonbreaking space',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "nonbreaking":
+				return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);
+		}
+
+		return "";
+	},
+
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), h;
+
+		switch (command) {
+			case "mceNonBreaking":
+				h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);
+				return true;
+		}
+
+		return false;
+	},
+
+	handleEvent : function(e) {
+		var inst, h;
+
+		if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {
+			inst = tinyMCE.selectedInstance;
+
+			h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';
+			tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);
+
+			tinyMCE.cancelEvent(e);
+			return false;
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('nonbreaking',{
+desc : 'Insert non-breaking space character'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+/* This is the CSS file for the noneditable elements plugin */
+
+.mceEditable {
+	/*border: 1px dotted #0000cc;*/
+}
+
+.mceNonEditable {
+	/*border: 1px dotted #cc0000;*/
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable')},handleEvent:function(e){return this._moveSelection(e,tinyMCE.selectedInstance)},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes,i,editClass,nonEditClass,editable,elm;if(tinyMCE.isGecko)return content;nodes=tinyMCE.getNodeTree(content,[],1);editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(i=0;i<nodes.length;i++){elm=nodes[i];editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isIE){if(tinyMCE.hasCSSClass(elm,editClass))elm.contentEditable=true;if(tinyMCE.hasCSSClass(elm,nonEditClass))elm.contentEditable=false}}break;case"insert_to_editor":var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(/mceItemEditable/g,editClass);content=content.replace(/mceItemNonEditable/g,nonEditClass);if(tinyMCE.isIE&&(content.indexOf(editClass)!=-1||content.indexOf(nonEditClass)!=-1)){content=content.replace(new RegExp("class=\"(.+)("+editClass+")\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"("+editClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"(.+)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"')}break;case"get_from_editor_dom":if(tinyMCE.isGecko)return content;if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable")}break}return content},_moveSelection:function(e,inst){var s,r,sc,ec,el,c=tinyMCE.getParam('noneditable_editable_class','mceNonEditable');if(!inst)return true;if(tinyMCE.isGecko){s=inst.selection.getSel();r=s.getRangeAt(0);sc=tinyMCE.getParentNode(r.startContainer,function(n){return tinyMCE.hasCSSClass(n,c)});ec=tinyMCE.getParentNode(r.endContainer,function(n){return tinyMCE.hasCSSClass(n,c)});sc&&r.setStartBefore(sc);ec&&r.setEndAfter(ec);if(sc||ec){if(e.type=='keypress'&&e.keyCode==39){el=sc||ec;}s.removeAllRanges();s.addRange(r);return tinyMCE.cancelEvent(e)}}return true},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+/**
+ * $Id: editor_plugin_src.js 205 2007-02-12 18:58:29Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_NonEditablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Non editable elements',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
+
+		// Ugly hack
+		if (tinyMCE.isMSIE5_0)
+			tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
+	},
+
+	handleEvent : function(e) {
+		return this._moveSelection(e, tinyMCE.selectedInstance);
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var nodes, i, editClass, nonEditClass, editable, elm;
+
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				nodes = tinyMCE.getNodeTree(content, [], 1);
+
+				editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				for (i=0; i<nodes.length; i++) {
+					elm = nodes[i];
+
+					// Convert contenteditable to classes
+					editable = tinyMCE.getAttrib(elm, "contenteditable");
+					if (new RegExp("true|false","gi").test(editable))
+						TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
+
+					if (tinyMCE.isIE) {
+						if (tinyMCE.hasCSSClass(elm, editClass))
+							elm.contentEditable = true;
+
+						if (tinyMCE.hasCSSClass(elm, nonEditClass))
+							elm.contentEditable = false;
+					}
+				}
+
+				break;
+
+			case "insert_to_editor":
+				var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				// Replace mceItem to new school
+				content = content.replace(/mceItemEditable/g, editClass);
+				content = content.replace(/mceItemNonEditable/g, nonEditClass);
+
+				if (tinyMCE.isIE && (content.indexOf(editClass) != -1 || content.indexOf(nonEditClass) != -1)) {
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
+				}
+
+				break;
+
+			case "get_from_editor_dom":
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
+					var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+
+					for (var i=0; i<nodes.length; i++)
+						nodes[i].removeAttribute("contenteditable");
+				}
+
+				break;
+		}
+
+		return content;
+	},
+
+	_moveSelection : function(e, inst) {
+		var s, r, sc, ec, el, c = tinyMCE.getParam('noneditable_editable_class', 'mceNonEditable');
+
+		if (!inst)
+			return true;
+
+		// Always select whole element
+		if (tinyMCE.isGecko) {
+			s = inst.selection.getSel();
+			r = s.getRangeAt(0);
+			sc = tinyMCE.getParentNode(r.startContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+			ec = tinyMCE.getParentNode(r.endContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+
+			sc && r.setStartBefore(sc);
+			ec && r.setEndAfter(ec);
+
+			if (sc || ec) {
+				if (e.type == 'keypress' && e.keyCode == 39) {
+					el = sc || ec;
+
+					// Try!!
+				}
+
+				s.removeAllRanges();
+				s.addRange(r);
+
+				return tinyMCE.cancelEvent(e);
+			}
+		}
+
+		return true;
+	},
+
+	_setEditable : function(elm, state) {
+		var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+		var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+		var className = elm.className ? elm.className : "";
+
+		if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
+			return;
+
+		if ((className = tinyMCE.getAttrib(elm, "class")) != "")
+			className += " ";
+
+		className += state ? editClass : nonEditClass;
+
+		elm.setAttribute("class", className);
+		elm.className = className;
+	}
+};
+
+tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script language="javascript">
+		function init() {
+			document.body.contentEditable = true;
+			document.designMode = 'on';
+			parent.initIframe(document);
+			window.focus();
+		}
+	</script>
+	<link href="css/blank.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="init();">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+body {
+	background-color: #FFFFFF;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+.sourceIframe {
+	border: 1px solid #808080;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('paste');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent)},handleEvent:function(e){if(!tinyMCE.isRealIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false)&&e.ctrlKey&&e.keyCode==86&&e.type=="keydown"){window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)',1);return tinyMCE.cancelEvent(e)}return true},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true)}return''},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML())}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true}return false},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false}return true},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">"}before+="<p>";content=before+content.substring(pos+7)+after}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}}tinyMCE.execCommand("mceInsertRawHTML",false,content)}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>')}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");if(tinyMCE.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi')}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"")}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'')}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);if(tinyMCE.getParam('paste_force_cleanup_wordpaste',true))window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i<s.length;i++){var c=s.charAt(i);if(l.indexOf(c)!=-1)o+='\\'+c;else o+=c}return o},_convertMiddots:function(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");var prevul;for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)==0){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType==3&&new RegExp('^\\s$','m').test(np.nodeValue)){np=np.nextSibling;continue}if(search==mdot){if(np.nodeType==1&&new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)){if(!prevul){prevul=ul;ul=document.createElement("ul");prevul.appendChild(ul)}np.innerHTML=np.innerHTML.replace(/^o/,'')}else{if(prevul){ul=prevul;prevul=null}if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}}else{if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp}p.parentNode.replaceChild(ul,p);return true}}return false},_clipboardHTML:function(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1}document.body.appendChild(div)}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html}};tinyMCE.addPlugin("paste",TinyMCE_PastePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,395 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */ 
+tinyMCE.importPluginLanguagePack('paste');
+
+var TinyMCE_PastePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Paste text/word',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
+			tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
+	},
+
+	handleEvent : function(e) {
+		// Force paste dialog if non IE browser
+		if (!tinyMCE.isRealIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false) && e.ctrlKey && e.keyCode == 86 && e.type == "keydown") {
+			window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)', 1);
+			return tinyMCE.cancelEvent(e);
+		}
+
+		return true;
+	},
+
+	getControlHTML : function(cn) { 
+		switch (cn) { 
+			case "pastetext":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
+
+			case "pasteword":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
+
+			case "selectall":
+				return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
+		} 
+
+		return ''; 
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) { 
+		switch (command) { 
+			case "mcePasteText": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
+						TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true); 
+					else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pastetext.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); 
+					}
+				} else
+					TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
+
+				return true;
+
+			case "mcePasteWord": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
+						TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML());
+					} else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pasteword.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
+					}
+				} else
+					TinyMCE_PastePlugin._insertWordContent(value);
+
+				return true;
+
+			case "mceSelectAll":
+				tinyMCE.execInstanceCommand(editor_id, 'selectall'); 
+				return true; 
+
+		} 
+
+		// Pass to next handler in chain 
+		return false; 
+	},
+
+	// Private plugin internal methods
+
+	_handlePasteEvent : function(e) {
+		switch (e.type) {
+			case "paste":
+				var html = TinyMCE_PastePlugin._clipboardHTML();
+				var r, inst = tinyMCE.selectedInstance;
+
+				// Removes italic, strong etc, the if was needed due to bug #1437114
+				if (inst && (r = inst.getRng()) && r.text.length > 0)
+					tinyMCE.execCommand('delete');
+
+				if (html && html.length > 0)
+					tinyMCE.execCommand('mcePasteWord', false, html);
+
+				tinyMCE.cancelEvent(e);
+				return false;
+		}
+
+		return true;
+	},
+
+	_insertText : function(content, bLinebreaks) { 
+		if (content && content.length > 0) {
+			if (bLinebreaks) { 
+				// Special paragraph treatment 
+				if (tinyMCE.getParam("paste_create_paragraphs", true)) {
+					var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+					for (var i=0; i<rl.length; i+=2)
+						content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+					content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi"); 
+
+					// Has paragraphs 
+					if ((pos = content.indexOf('</p><p>')) != -1) { 
+						tinyMCE.execCommand("Delete"); 
+
+						var node = tinyMCE.selectedInstance.getFocusElement(); 
+
+						// Get list of elements to break 
+						var breakElms = new Array(); 
+
+						do { 
+							if (node.nodeType == 1) { 
+								// Don't break tables and break at body 
+								if (node.nodeName == "TD" || node.nodeName == "BODY") 
+									break; 
+		
+								breakElms[breakElms.length] = node; 
+							} 
+						} while(node = node.parentNode); 
+
+						var before = "", after = "</p>"; 
+						before += content.substring(0, pos); 
+
+						for (var i=0; i<breakElms.length; i++) { 
+							before += "</" + breakElms[i].nodeName + ">"; 
+							after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; 
+						} 
+
+						before += "<p>"; 
+						content = before + content.substring(pos+7) + after; 
+					} 
+				} 
+
+				if (tinyMCE.getParam("paste_create_linebreaks", true)) {
+					content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi"); 
+				}
+			} 
+		
+			tinyMCE.execCommand("mceInsertRawHTML", false, content); 
+		}
+	},
+
+	_insertWordContent : function(content) { 
+		if (content && content.length > 0) {
+			// Cleanup Word content
+			var bull = String.fromCharCode(8226);
+			var middot = String.fromCharCode(183);
+			var cb;
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('before', content)");
+
+			var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+			for (var i=0; i<rl.length; i+=2)
+				content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
+			}
+
+			content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+			content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
+			content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
+			content = content.replace(/<o:p><\/o:p>/gi, "");
+			content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
+			content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
+
+			if (tinyMCE.getParam("paste_remove_spans", true))
+				content = content.replace(/<\/?span[^>]*>/gi, "");
+
+			if (tinyMCE.getParam("paste_remove_styles", true))
+				content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+
+			content = content.replace(/<\/?font[^>]*>/gi, "");
+
+			// Strips class attributes.
+			switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
+				case "all":
+					content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+					break;
+
+				case "mso":
+					content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
+					break;
+			}
+
+			content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
+			content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+			content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+			content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+			content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
+			content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+	//		content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
+	//		content = content.replace(/<p>&nbsp;<\/p>/gi, '');
+
+			if (!tinyMCE.settings['force_p_newlines']) {
+				content = content.replace('', '' ,'gi');
+				content = content.replace('</p>', '<br /><br />' ,'gi');
+			}
+
+			if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+				content = content.replace(/<\/?p[^>]*>/gi, "");
+			}
+
+			content = content.replace(/<\/?div[^>]*>/gi, "");
+
+			// Convert all middlot lists to UL lists
+			if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+				var div = document.createElement("div");
+				div.innerHTML = content;
+
+				// Convert all middot paragraphs to li elements
+				var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+				while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
+				while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
+				while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
+
+				content = div.innerHTML;
+			}
+
+			// Replace all headers with strong and fix some other issues
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
+				content = content.replace(/<h[1-6]>/gi, '<p><b>');
+				content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
+				content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
+				content = content.replace(/^(&nbsp;)*/gi, '');
+			}
+
+			content = content.replace(/--list--/gi, ""); // Remove --list--
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('after', content)");
+
+			// Insert cleaned content
+			tinyMCE.execCommand("mceInsertContent", false, content);
+
+			if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
+				window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
+		}
+	},
+
+	_reEscape : function(s) {
+		var l = "?.\\*[](){}+^$:";
+		var o = "";
+
+		for (var i=0; i<s.length; i++) {
+			var c = s.charAt(i);
+
+			if (l.indexOf(c) != -1)
+				o += '\\' + c;
+			else
+				o += c;
+		}
+
+		return o;
+	},
+
+	_convertMiddots : function(div, search, class_name) {
+		var mdot = String.fromCharCode(183);
+		var bull = String.fromCharCode(8226);
+
+		var nodes = div.getElementsByTagName("p");
+		var prevul;
+		for (var i=0; i<nodes.length; i++) {
+			var p = nodes[i];
+
+			// Is middot
+			if (p.innerHTML.indexOf(search) == 0) {
+				var ul = document.createElement("ul");
+
+				if (class_name)
+					ul.className = class_name;
+
+				// Add the first one
+				var li = document.createElement("li");
+				li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+				ul.appendChild(li);
+
+				// Add the rest
+				var np = p.nextSibling;
+				while (np) {
+			        // If the node is whitespace, then
+			        // ignore it and continue on.
+			        if (np.nodeType == 3 && new RegExp('^\\s$', 'm').test(np.nodeValue)) {
+			                np = np.nextSibling;
+			                continue;
+			        }
+
+					if (search == mdot) {
+					        if (np.nodeType == 1 && new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)) {
+					                // Second level of nesting
+					                if (!prevul) {
+					                        prevul = ul;
+					                        ul = document.createElement("ul");
+					                        prevul.appendChild(ul);
+					                }
+					                np.innerHTML = np.innerHTML.replace(/^o/, '');
+					        } else {
+					                // Pop the stack if we're going back up to the first level
+					                if (prevul) {
+					                        ul = prevul;
+					                        prevul = null;
+					                }
+					                // Not element or middot paragraph
+					                if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                        break;
+					        }
+					} else {
+					        // Not element or middot paragraph
+					        if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                break;
+				        }
+
+					var cp = np.nextSibling;
+					var li = document.createElement("li");
+					li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+					np.parentNode.removeChild(np);
+					ul.appendChild(li);
+					np = cp;
+				}
+
+				p.parentNode.replaceChild(ul, p);
+
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	_clipboardHTML : function() {
+		var div = document.getElementById('_TinyMCE_clipboardHTML');
+
+		if (!div) {
+			var div = document.createElement('DIV');
+			div.id = '_TinyMCE_clipboardHTML';
+
+			with (div.style) {
+				visibility = 'hidden';
+				overflow = 'hidden';
+				position = 'absolute';
+				width = 1;
+				height = 1;
+			}
+
+			document.body.appendChild(div);
+		}
+
+		div.innerHTML = '';
+		var rng = document.body.createTextRange();
+		rng.moveToElementText(div);
+		rng.execCommand('Paste');
+		var html = div.innerHTML;
+		div.innerHTML = '';
+		return html;
+	}
+};
+
+tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+function saveContent() {
+	if (document.forms[0].htmlSource.value == '') {
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteText', false, {
+		html : document.forms[0].htmlSource.value,
+		linebreaks : document.forms[0].linebreaks.checked
+	});
+
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight-80;
+		wWidth = self.innerWidth-17;
+	} else {
+		wHeight = document.body.clientHeight-80;
+		wWidth = document.body.clientWidth-17;
+	}
+
+	document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+	document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+function saveContent() {
+	var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+	if (html == ''){
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteWord', false, html);
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Fix for endless reloading in FF
+	window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+	document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+	var dir = tinyMCE.selectedInstance.settings['directionality'];
+
+	doc.body.dir = dir;
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight - 80;
+		wWidth = self.innerWidth - 18;
+	} else {
+		wHeight = document.body.clientHeight - 80;
+		wWidth = document.body.clientWidth - 18;
+	}
+
+	var elm = document.getElementById('frmData');
+	if (elm) {
+		elm.style.height = Math.abs(wHeight) + 'px';
+		elm.style.width  = Math.abs(wWidth) + 'px';
+	}
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_paste_text_desc}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+<form name="source" onsubmit="saveContent();">
+	<div style="float: left" class="title">{$lang_paste_text_desc}</div>
+
+	<div style="float: right">
+		<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
+	</div>
+
+	<br style="clear: both" />
+
+	<div>{$lang_paste_text_title}</div>
+
+	<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+		</div>
+	</div>
+</form>
+</body> 
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_paste_word_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
+	<link href="css/pasteword.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div class="title">{$lang_paste_word_desc}</div>
+
+		<div>{$lang_paste_word_title}</div>
+
+		<div id="iframecontainer"></div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('preview');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")})}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="",i;var c=tinyMCE.getContent();var pos=c.indexOf('<body'),pos2,css=tinyMCE.getParam("content_css").split(',');if(pos!=-1){pos=c.indexOf('>',pos);pos2=c.lastIndexOf('</body>');c=c.substring(pos+1,pos2)}html+=tinyMCE.getParam('doctype');html+='<html xmlns="http://www.w3.org/1999/xhtml">';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.settings['base_href']+'" />';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(i=0;i<css.length;i++)html+='<link href="'+css[i]+'" rel="stylesheet" type="text/css" />';html+='<script type="text/javascript">';html+='window.opener.TinyMCE_PreviewPlugin._setDoc(document);';html+='window.opener.TinyMCE_PreviewPlugin._setWin(window);';html+='writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';html+='writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';html+='writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';html+='writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';html+='writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';html+='writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';html+='</script>';html+='</head>';html+='<body dir="'+tinyMCE.getParam("directionality")+'" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';html+=c;html+='</body>';html+='</html>';win.document.write(html);win.document.close()}return true}return false},_setDoc:function(d){TinyMCE_PreviewPlugin._doc=d;d._embeds=new Array()},_setWin:function(d){TinyMCE_PreviewPlugin._win=d},_onLoad:function(){var nl,i,el=new Array(),d=TinyMCE_PreviewPlugin._doc,sv,ne;nl=d.getElementsByTagName("script");for(i=0;i<nl.length;i++){sv=tinyMCE.isMSIE?nl[i].innerHTML:nl[i].firstChild.nodeValue;if(new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*','g').test(sv))el[el.length]=nl[i]}for(i=0;i<el.length;i++){ne=d.createElement("div");ne.innerHTML=d._embeds[i];el[i].parentNode.insertBefore(ne.firstChild,el[i])}},_writeFlash:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('D27CDB6E-AE6D-11cf-96B8-444553540000','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','application/x-shockwave-flash',p)},_writeShockWave:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('166B1BCA-3F9C-11CF-8075-444553540000','http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0','application/x-director',p)},_writeQuickTime:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('02BF25D5-8C17-4B23-BC80-D3488ABDDC6B','http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0','video/quicktime',p)},_writeRealMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','audio/x-pn-realaudio-plugin',p)},_writeWindowsMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);p.url=p.src;TinyMCE_PreviewPlugin._writeEmbed('6BF52A52-394A-11D3-B153-00C04F79FAA6','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701','application/x-mplayer2',p)},_writeEmbed:function(cls,cb,mt,p){var h='',n,d=TinyMCE_PreviewPlugin._doc,ne,c;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?'id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?'name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?'width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?'height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?'align="'+p.align+'"':'';h+='>';for(n in p)h+='<param name="'+n+'" value="'+p[n]+'">';h+='<embed type="'+mt+'"';for(n in p)h+=n+'="'+p[n]+'" ';h+='></embed></object>';d._embeds[d._embeds.length]=h}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,205 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('preview');
+
+var TinyMCE_PreviewPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Preview',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the preview control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "preview":
+				return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mcePreview command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mcePreview":
+				var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
+				var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
+				var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
+
+				// Use a custom preview page
+				if (previewPage) {
+					var template = new Array();
+
+					template['file'] = previewPage;
+					template['width'] = previewWidth;
+					template['height'] = previewHeight;
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
+				} else {
+					var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height="  + previewHeight);
+					var html = "", i;
+					var c = tinyMCE.getContent();
+					var pos = c.indexOf('<body'), pos2, css = tinyMCE.getParam("content_css").split(',');
+
+					if (pos != -1) {
+						pos = c.indexOf('>', pos);
+						pos2 = c.lastIndexOf('</body>');
+						c = c.substring(pos + 1, pos2);
+					}
+
+					html += tinyMCE.getParam('doctype');
+					html += '<html xmlns="http://www.w3.org/1999/xhtml">';
+					html += '<head>';
+					html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
+					html += '<base href="' + tinyMCE.settings['base_href'] + '" />';
+					html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+
+					for (i=0; i<css.length; i++)
+						html += '<link href="' + css[i] + '" rel="stylesheet" type="text/css" />';
+
+					html += '<script type="text/javascript">';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setDoc(document);';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setWin(window);';
+					html += 'writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';
+					html += 'writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';
+					html += 'writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';
+					html += 'writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';
+					html += 'writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';
+					html += 'writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';
+					html += '</script>';
+					html += '</head>';
+					html += '<body dir="' + tinyMCE.getParam("directionality") + '" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';
+					html += c;
+					html += '</body>';
+					html += '</html>';
+
+					win.document.write(html);
+					win.document.close();
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	_setDoc : function(d) {
+		TinyMCE_PreviewPlugin._doc = d;
+		d._embeds = new Array();
+	},
+
+	_setWin : function(d) {
+		TinyMCE_PreviewPlugin._win = d;
+	},
+
+	_onLoad : function() {
+		var nl, i, el = new Array(), d = TinyMCE_PreviewPlugin._doc, sv, ne;
+
+		nl = d.getElementsByTagName("script");
+		for (i=0; i<nl.length; i++) {
+			sv = tinyMCE.isMSIE ? nl[i].innerHTML : nl[i].firstChild.nodeValue;
+
+			if (new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*', 'g').test(sv))
+				el[el.length] = nl[i];
+		}
+
+		for (i=0; i<el.length; i++) {
+			ne = d.createElement("div");
+			ne.innerHTML = d._embeds[i];
+			el[i].parentNode.insertBefore(ne.firstChild, el[i]);
+		}
+	},
+
+	_writeFlash : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'D27CDB6E-AE6D-11cf-96B8-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'application/x-shockwave-flash',
+			p
+		);
+	},
+
+	_writeShockWave : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'166B1BCA-3F9C-11CF-8075-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+			'application/x-director',
+			p
+		);
+	},
+
+	_writeQuickTime : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+			'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+			'video/quicktime',
+			p
+		);
+	},
+
+	_writeRealMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'audio/x-pn-realaudio-plugin',
+			p
+		);
+	},
+
+	_writeWindowsMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		p.url = p.src;
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+			'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+			'application/x-mplayer2',
+			p
+		);
+	},
+
+	_writeEmbed : function(cls, cb, mt, p) {
+		var h = '', n, d = TinyMCE_PreviewPlugin._doc, ne, c;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p)
+			h += '<param name="' + n + '" value="' + p[n] + '">';
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p)
+			h += n + '="' + p[n] + '" ';
+
+		h += '></embed></object>';
+
+		d._embeds[d._embeds.length] = h;
+	}
+};
+
+tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script language="javascript" src="../../tiny_mce_popup.js"></script>
+<script type="text/javascript" src="jscripts/embed.js"></script>
+<title>Example of a custom preview page</title>
+<link href="{$content_css}" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+Editor contents: <br />
+{$content}
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Preview'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('print');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true}return false}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme	specific language pack */
+tinyMCE.importPluginLanguagePack('print');
+
+var TinyMCE_PrintPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Print',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn)	{
+		switch (cn) {
+			case "print":
+				return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes	the	search/replace commands.
+	 */
+	execCommand : function(editor_id, element, command,	user_interface,	value) {
+		// Handle commands
+		switch (command) {
+			case "mcePrint":
+				tinyMCE.getInstanceById(editor_id).contentWindow.print();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Print'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+This is the location you place TinyMCE plugins.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('save');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave')},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true)}return true}for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true}tinyMCE.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)inst.formElement.form.submit()}else alert("Error: No form element found.");return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam("fullscreen_is_enabled")){tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');return true}if(tinyMCE.getParam("save_enablewhendirty")){var inst=tinyMCE.getInstanceById(editor_id);if(inst.isDirty()){tinyMCE.switchClass(editor_id+'_save','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled')}return true}};tinyMCE.addPlugin("save",TinyMCE_SavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('save');
+
+var TinyMCE_SavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');
+	},
+
+	/**
+	 * Returns the HTML contents of the save control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "save":
+				return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the save command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceSave":
+				if (tinyMCE.getParam("fullscreen_is_enabled"))
+					return true;
+
+				var inst = tinyMCE.selectedInstance;
+				var formObj = inst.formElement.form;
+
+				if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
+					return true;
+
+				if (formObj) {
+					tinyMCE.triggerSave();
+
+					// Use callback instead
+					var os;
+					if ((os = tinyMCE.getParam("save_onsavecallback"))) {
+						if (eval(os + '(inst);')) {
+							inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+							/*inst.undoLevels = new Array();
+							inst.undoIndex = 0;
+							inst.typingUndoIndex = -1;
+							inst.undoRedo = true;
+							inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
+							tinyMCE.triggerNodeChange(false, true);
+						}
+
+						return true;
+					}
+
+					// Disable all UI form elements that TinyMCE created
+					for (var i=0; i<formObj.elements.length; i++) {
+						var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
+
+						if (elementId.indexOf('mce_editor_') == 0)
+							formObj.elements[i].disabled = true;
+					}
+
+					tinyMCE.isNotDirty = true;
+
+					if (formObj.onsubmit == null || formObj.onsubmit() != false)
+						inst.formElement.form.submit();
+				} else
+					alert("Error: No form element found.");
+
+				return true;
+		}
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam("fullscreen_is_enabled")) {
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+			return true;
+		}
+
+		if (tinyMCE.getParam("save_enablewhendirty")) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+
+			if (inst.isDirty()) {
+				tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');
+				return true;
+			}
+
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("save", TinyMCE_SavePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Save'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/* stylesheet for advsearchreplace plugin*/
+
+.panel_wrapper { height: 85px; }
+.panel_wrapper div.current { height: 85px; }
+
+/* MS IE only styles */
+* html .panel_wrapper { height: 100px; }
+* html .panel_wrapper div.current { height: 100px; }
+
+#replaceBtn, #replaceAllBtn {
+	padding-bottom: 2px;
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0;
+	cursor: pointer;
+}
+
+#replaceBtn { background: url(../images/replace_button_bg.gif); }
+#replaceAllBtn { background: url(../images/replace_all_button_bg.gif); }

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('searchreplace');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),selectedText=inst.selection.getSelectedText(),rng;function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key]}function replaceSel(search_str,str,back){if(!inst.selection.isCollapsed()){if(tinyMCE.isRealIE)inst.selection.getRng().duplicate().pasteHTML(str);else inst.execCommand('mceInsertContent',false,str)}}if(!value)value=[];defValue("editor_id",editor_id);defValue("searchstring",selectedText);defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");defValue("resizable","no");switch(command){case"mceSearch":if(user_interface){var template=new Array();template['file']='../../plugins/searchreplace/searchreplace.htm';template['width']=380;template['height']=155+(tinyMCE.isNS7?20:0)+(tinyMCE.isMSIE?15:0);template['width']+=tinyMCE.getLang('lang_searchreplace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_delta_height',0);inst.selection.collapse(true);tinyMCE.openWindow(template,value)}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;var awin=value.win,found;if(body.innerHTML==""){awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";}inst.selection.collapse(value['backwards']);if(tinyMCE.isMSIE){var rng=inst.selection.getRng();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){awin.alert('This operation is currently not supported by this browser.');return true}if(value['replacemode']=="all"){found=false;while(rng.findText(value['string'],value['backwards']?-1:1,flags)){found=true;rng.scrollIntoView();rng.select();replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select()}else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}else{if(value['replacemode']=="all"){found=false;while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false)){found=true;replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true}return false}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('searchreplace');
+
+var TinyMCE_SearchReplacePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Search/Replace',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function (inst) {
+		inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
+		// No CTRL+R for "replace" because browsers will reload page instead of executing plugin
+	},
+
+	getControlHTML : function (cn) {
+		switch (cn) {
+			case "search" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true);
+
+			case "replace" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function (editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng;
+
+		function defValue(key, default_value) {
+			value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
+		}
+
+		function replaceSel(search_str, str, back) {
+			if (!inst.selection.isCollapsed()) {
+				if (tinyMCE.isRealIE)
+					inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE
+				else
+					inst.execCommand('mceInsertContent', false, str);
+			}
+		}
+
+		if (!value)
+			value = [];
+
+		defValue("editor_id", editor_id);
+		defValue("searchstring", selectedText);
+		defValue("replacestring", null);
+		defValue("replacemode", "none");
+		defValue("casesensitive", false);
+		defValue("backwards", false);
+		defValue("wrap", false);
+		defValue("wholeword", false);
+		defValue("inline", "yes");
+		defValue("resizable", "no");
+
+		switch (command) {
+			case "mceSearch" :
+				if (user_interface) {
+					var template = new Array();
+
+					template['file'] = '../../plugins/searchreplace/searchreplace.htm';
+					template['width'] = 380;
+					template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0);
+					template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0);
+
+					inst.selection.collapse(true);
+
+					tinyMCE.openWindow(template, value);
+				} else {
+					var win = tinyMCE.getInstanceById(editor_id).contentWindow;
+					var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
+					var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
+					var awin = value.win, found;
+
+					if (body.innerHTML == "") {
+						awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+						return true;
+					}
+
+					if (value['replacemode'] == "current") {
+						replaceSel(value['string'], value['replacestring'], value['backwards']);
+						value['replacemode'] = "none";
+						//tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value);
+						//return true;
+					}
+
+					inst.selection.collapse(value['backwards']);
+
+					if (tinyMCE.isMSIE) {
+						var rng = inst.selection.getRng();
+						var flags = 0;
+						if (value['wholeword'])
+							flags = flags | 2;
+
+						if (value['casesensitive'])
+							flags = flags | 4;
+
+						if (!rng.findText) {
+							awin.alert('This operation is currently not supported by this browser.');
+							return true;
+						}
+
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+								found = true;
+								rng.scrollIntoView();
+								rng.select();
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+							rng.scrollIntoView();
+							rng.select();
+						} else
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					} else {
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) {
+								found = true;
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					}
+				}
+
+				return true;
+
+			case "mceSearchReplace" :
+				value['replacestring'] = "";
+				tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+				return true;
+		}
+
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// start with appropiate tab
+	var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
+	mcTabs.displayTab(task + '_tab', task +'_panel');
+	manageReplaceButtons();
+	
+	var formObj = document.forms[0];
+
+	formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
+	formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
+	formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
+	formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
+	formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
+}
+
+function searchNext(replacemode) {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+
+	var formObj = document.forms[0];
+
+	if (task == "replace") {
+		// Whats the point?
+		if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
+			return false;
+	}
+
+	// Do search
+	tinyMCEPopup.execCommand('mceSearch', false, { 
+		string : formObj[task + "_panel_searchstring"].value,
+		replacestring : formObj["replace_panel_replacestring"].value,
+		replacemode : replacemode,
+		casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
+		backwards : formObj[task + "_panel_backwardsu"].checked,
+		win : window
+		}, false);
+
+	window.focus();
+
+	return false;
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function manageReplaceButtons() {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+	document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
+}
+
+function copyValues(link) {
+	// check if tab is already active
+	var tab = link;
+	while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
+	if (tab.className) return false; // tab is already active -> no need to copy any values!
+
+	// copy values from one panel to the other (if they exist there)
+	var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
+	var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
+
+	// find all elements with IDs to copy their values
+	var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
+	for (var i = 0; i < elms.length; i++) {
+		if (elms[i].id && elms[i].id != "") {
+			var checked = "undefined";
+			if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
+				checked = elms[i].checked;
+
+			// copy values if element exists in other panel
+			var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
+			var to_elm = document.getElementById(to_elm_name);
+			if (to_elm) {
+				if (checked != "undefined")
+					to_elm.checked = checked;
+				else
+					to_elm.value = elms[i].value;
+			}
+		}
+	}
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Find',
+searchreplace_searchnext_desc : 'Find again',
+searchreplace_replace_desc : 'Find/Replace',
+searchreplace_notfound : 'The search has been completed. The search string could not be found.',
+searchreplace_search_title : 'Find',
+searchreplace_replace_title : 'Find/Replace',
+searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
+searchreplace_findwhat : 'Find what',
+searchreplace_replacewith : 'Replace with',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Up',
+searchreplace_down : 'Down',
+searchreplace_case : 'Match case',
+searchreplace_findnext : 'Find&nbsp;next',
+searchreplace_replace : 'Replace',
+searchreplace_replaceall : 'Replace&nbsp;all',
+searchreplace_cancel : 'Cancel'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_searchreplace_replace_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/searchreplace.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
+<form onsubmit="return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="search_tab"><span><a href="javascript:mcTabs.displayTab('search_tab','search_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_search_desc}</a></span></li>
+			<li id="replace_tab"><span><a href="javascript:mcTabs.displayTab('replace_tab','replace_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_replace}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+
+		<div id="search_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="search_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="search_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+		<div id="replace_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="replace_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td><label for="replace_panel_replacestring">{$lang_searchreplace_replacewith}</label></td>
+					<td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="replace_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" />
+			<span id="replace_buttons">
+				<input type="button" id="replaceBtn" name="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" />
+				<input type="button" id="replaceAllBtn" name="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');;" />
+			</span>
+		</div>
+
+		<div style="float: right">	
+			<input type="button" id="cancel" name="cancel" value="{$lang_searchreplace_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+#text_font {
+	width: 250px;
+}
+
+#text_size {
+	width: 70px;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
+	width: 70px;
+}
+
+#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
+	width: 70px;
+}
+
+#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
+	width: 70px;
+}
+
+#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
+	width: 70px;
+}
+
+.panel_wrapper div.current {
+	padding-top: 10px;
+	height: 230px;
+}
+
+.delim {
+	border-left: 1px solid gray;
+}
+
+.tdelim {
+	border-bottom: 1px solid gray;	
+}
+
+#block_display {
+	width: 145px;
+}
+
+#list_type {
+	width: 115px;
+}
+
+.disabled {
+	background-color: #EEEEEE;
+}
+
+#apply {
+	font-weight: bold;
+	width: 78px;
+	height: 21px;
+	border: 0;
+	background-image: url('../images/apply_button_bg.gif');
+	cursor: pointer;
+}
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('style');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/styleprops.gif','mceStyleProps',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint()}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.nodeName=='BODY')tinyMCE.switchClass(editor_id+'_styleprops','mceButtonDisabled');else tinyMCE.switchClass(editor_id+'_styleprops','mceButtonNormal')},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e||e.nodeName=='BODY')return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText})}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,83 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('style');
+
+var TinyMCE_StylePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Style',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "styleprops":
+				return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/styleprops.gif', 'mceStyleProps', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var e, inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceStyleProps":
+				TinyMCE_StylePlugin._styleProps();
+				return true;
+
+			case "mceSetElementStyle":
+				inst = tinyMCE.getInstanceById(editor_id);
+				e = inst.selection.getFocusElement();
+
+				if (e) {
+					e.style.cssText = value;
+					inst.repaint();
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node.nodeName == 'BODY')
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonDisabled');
+		else
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonNormal');
+	},
+
+	// Private plugin specific methods
+
+	_styleProps : function() {
+		var e = tinyMCE.selectedInstance.selection.getFocusElement();
+
+		if (!e || e.nodeName == 'BODY')
+			return;
+
+		tinyMCE.openWindow({
+			file : '../../plugins/style/props.htm',
+			width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
+			height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
+		}, {
+			editor_id : tinyMCE.selectedInstance.editorId,
+			inline : "yes",
+			style_text : e.style.cssText
+		});
+	}
+};
+
+tinyMCE.addPlugin("style", TinyMCE_StylePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,633 @@
+var defaultFonts = "" + 
+	"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Courier New, Courier, mono=Courier New, Courier, mono;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + 
+	"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + 
+	"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
+
+var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
+var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
+var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
+var defaultTextStyle = "normal;italic;oblique";
+var defaultVariant = "normal;small-caps";
+var defaultLineHeight = "normal";
+var defaultAttachment = "fixed;scroll";
+var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
+var defaultPosH = "left;center;right";
+var defaultPosV = "top;center;bottom";
+var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
+var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
+var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
+var defaultBorderWidth = "thin;medium;thick";
+var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
+
+function init() {
+	var ce = document.getElementById('container'), h;
+
+	ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
+
+	h = getBrowserHTML('background_image_browser','background_image','image','advimage');
+	document.getElementById("background_image_browser").innerHTML = h;
+
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
+	document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
+	document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
+	document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
+	document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
+	document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
+
+	fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
+	fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
+	fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
+	fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
+	fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
+	fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
+	fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
+	fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
+	fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
+
+	fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
+	fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
+
+	fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
+	fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
+	fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
+	fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
+	fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
+	fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
+	fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
+
+	fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
+	fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
+	fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
+
+	fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
+
+	fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
+	fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
+
+	fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
+	fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
+
+	fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
+
+	fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
+
+	TinyMCE_EditableSelects.init();
+	setupFormData();
+	showDisabledControls();
+}
+
+function setupFormData() {
+	var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
+
+	// Setup text fields
+
+	selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
+	selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
+	selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
+	selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
+	selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
+	selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
+	selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
+	selectByValue(f, 'text_case', ce.style.textTransform, true, true);
+	selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
+	f.text_color.value = ce.style.color;
+	updateColor('text_color_pick', 'text_color');
+	f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
+	f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
+	f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
+	f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
+
+	// Setup background fields
+
+	f.background_color.value = ce.style.backgroundColor;
+	updateColor('background_color_pick', 'background_color');
+	f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
+	selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
+	selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
+	selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
+	selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
+	selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
+
+	// Setup block fields
+
+	selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
+	selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
+	selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
+	selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
+	selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
+	selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
+	f.block_text_indent.value = getNum(ce.style.textIndent);
+	selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
+	selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
+	selectByValue(f, 'block_display', ce.style.display, true, true);
+
+	// Setup box fields
+
+	f.box_width.value = getNum(ce.style.width);
+	selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
+
+	f.box_height.value = getNum(ce.style.height);
+	selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
+
+	if (tinyMCE.isGecko)
+		selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
+	else
+		selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
+
+	selectByValue(f, 'box_clear', ce.style.clear, true, true);
+
+	setupBox(f, ce, 'box_padding', 'padding', '');
+	setupBox(f, ce, 'box_margin', 'margin', '');
+
+	// Setup border fields
+
+	setupBox(f, ce, 'border_style', 'border', 'Style');
+	setupBox(f, ce, 'border_width', 'border', 'Width');
+	setupBox(f, ce, 'border_color', 'border', 'Color');
+
+	updateColor('border_color_top_pick', 'border_color_top');
+	updateColor('border_color_right_pick', 'border_color_right');
+	updateColor('border_color_bottom_pick', 'border_color_bottom');
+	updateColor('border_color_left_pick', 'border_color_left');
+
+	// Setup list fields
+
+	selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
+	selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
+	f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	// Setup box fields
+
+	selectByValue(f, 'positioning_type', ce.style.position, true, true);
+	selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
+	selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
+	f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
+
+	f.positioning_width.value = getNum(ce.style.width);
+	selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
+
+	f.positioning_height.value = getNum(ce.style.height);
+	selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
+
+	setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
+
+	s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
+	s = s.replace(/,/g, ' ');
+
+	if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = getNum(getVal(s, 1));
+		selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
+		f.positioning_clip_bottom.value = getNum(getVal(s, 2));
+		selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
+		f.positioning_clip_left.value = getNum(getVal(s, 3));
+		selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
+	} else {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
+	}
+
+//	setupBox(f, ce, '', 'border', 'Color');
+}
+
+function getMeasurement(s) {
+	return s.replace(/^([0-9]+)(.*)$/, "$2");
+}
+
+function getNum(s) {
+	if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
+		return s.replace(/[^0-9]/g, '');
+
+	return s;
+}
+
+function inStr(s, n) {
+	return new RegExp(n, 'gi').test(s);
+}
+
+function getVal(s, i) {
+	var a = tinyMCE.explode(' ', s);
+
+	if (a.length > 1)
+		return a[i];
+
+	return "";
+}
+
+function setValue(f, n, v) {
+	if (f.elements[n].type == "text")
+		f.elements[n].value = v;
+	else
+		selectByValue(f, n, v, true, true);
+}
+
+function setupBox(f, ce, fp, pr, sf, b) {
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (isSame(ce, pr, sf, b)) {
+		f.elements[fp + "_same"].checked = true;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		f.elements[fp + "_right"].value = "";
+		f.elements[fp + "_right"].disabled = true;
+		f.elements[fp + "_bottom"].value = "";
+		f.elements[fp + "_bottom"].disabled = true;
+		f.elements[fp + "_left"].value = "";
+		f.elements[fp + "_left"].disabled = true;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = true;
+			f.elements[fp + "_bottom_measurement"].disabled = true;
+			f.elements[fp + "_right_measurement"].disabled = true;
+		}
+	} else {
+		f.elements[fp + "_same"].checked = false;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
+		f.elements[fp + "_right"].disabled = false;
+
+		setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
+		f.elements[fp + "_bottom"].disabled = false;
+
+		setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
+		f.elements[fp + "_left"].disabled = false;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
+			selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
+			selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = false;
+			f.elements[fp + "_bottom_measurement"].disabled = false;
+			f.elements[fp + "_right_measurement"].disabled = false;
+		}
+	}
+}
+
+function isSame(e, pr, sf, b) {
+	var a = new Array(), i, x;
+
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (typeof(sf) == "undefined" || sf == null)
+		sf = "";
+
+	a[0] = e.style[pr + b[0] + sf];
+	a[1] = e.style[pr + b[1] + sf];
+	a[2] = e.style[pr + b[2] + sf];
+	a[3] = e.style[pr + b[3] + sf];
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+};
+
+function hasEqualValues(a) {
+	var i, x;
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+}
+
+function applyAction() {
+	var ce = document.getElementById('container');
+
+	generateCSS();
+
+	tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
+}
+
+function updateAction() {
+	applyAction();
+	tinyMCEPopup.close();
+}
+
+function generateCSS() {
+	var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
+
+	ce.style.cssText = "";
+
+	// Build text styles
+	ce.style.fontFamily = f.text_font.value;
+	ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
+	ce.style.fontStyle = f.text_style.value;
+	ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
+	ce.style.textTransform = f.text_case.value;
+	ce.style.fontWeight = f.text_weight.value;
+	ce.style.fontVariant = f.text_variant.value;
+	ce.style.color = f.text_color.value;
+
+	s = "";
+	s += f.text_underline.checked ? " underline" : "";
+	s += f.text_overline.checked ? " overline" : "";
+	s += f.text_linethrough.checked ? " line-through" : "";
+	s += f.text_blink.checked ? " blink" : "";
+	s = s.length > 0 ? s.substring(1) : s;
+
+	if (f.text_none.checked)
+		s = "none";
+
+	ce.style.textDecoration = s;
+
+	// Build background styles
+
+	ce.style.backgroundColor = f.background_color.value;
+	ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
+	ce.style.backgroundRepeat = f.background_repeat.value;
+	ce.style.backgroundAttachment = f.background_attachment.value;
+
+	if (f.background_hpos.value != "") {
+		s = "";
+		s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
+		s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
+		ce.style.backgroundPosition = s;
+	}
+
+	// Build block styles
+
+	ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
+	ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
+	ce.style.verticalAlign = f.block_vertical_alignment.value;
+	ce.style.textAlign = f.block_text_align.value;
+	ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
+	ce.style.whiteSpace = f.block_whitespace.value;
+	ce.style.display = f.block_display.value;
+
+	// Build box styles
+
+	ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
+	ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
+	ce.style.styleFloat = f.box_float.value;
+
+	if (tinyMCE.isGecko)
+		ce.style.cssFloat = f.box_float.value;
+
+	ce.style.clear = f.box_clear.value;
+
+	if (!f.box_padding_same.checked) {
+		ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
+		ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
+		ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
+		ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
+	} else
+		ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");		
+
+	if (!f.box_margin_same.checked) {
+		ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
+		ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
+		ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
+		ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
+	} else
+		ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");		
+
+	// Build border styles
+
+	if (!f.border_style_same.checked) {
+		ce.style.borderTopStyle = f.border_style_top.value;
+		ce.style.borderRightStyle = f.border_style_right.value;
+		ce.style.borderBottomStyle = f.border_style_bottom.value;
+		ce.style.borderLeftStyle = f.border_style_left.value;
+	} else
+		ce.style.borderStyle = f.border_style_top.value;
+
+	if (!f.border_width_same.checked) {
+		ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
+		ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
+		ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
+		ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
+	} else
+		ce.style.borderWidth = f.border_width_top.value;
+
+	if (!f.border_color_same.checked) {
+		ce.style.borderTopColor = f.border_color_top.value;
+		ce.style.borderRightColor = f.border_color_right.value;
+		ce.style.borderBottomColor = f.border_color_bottom.value;
+		ce.style.borderLeftColor = f.border_color_left.value;
+	} else
+		ce.style.borderColor = f.border_color_top.value;
+
+	// Build list styles
+
+	ce.style.listStyleType = f.list_type.value;
+	ce.style.listStylePosition = f.list_position.value;
+	ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
+
+	// Build positioning styles
+
+	ce.style.position = f.positioning_type.value;
+	ce.style.visibility = f.positioning_visibility.value;
+
+	if (ce.style.width == "")
+		ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
+
+	if (ce.style.height == "")
+		ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
+
+	ce.style.zIndex = f.positioning_zindex.value;
+	ce.style.overflow = f.positioning_overflow.value;
+
+	if (!f.positioning_placement_same.checked) {
+		ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
+		ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
+		ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
+	} else {
+		s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.top = s;
+		ce.style.right = s;
+		ce.style.bottom = s;
+		ce.style.left = s;
+	}
+
+	if (!f.positioning_clip_same.checked) {
+		s = "rect(";
+		s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
+		s += ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	} else {
+		s = "rect(";
+		t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
+		s += t + " ";
+		s += t + " ";
+		s += t + " ";
+		s += t + ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	}
+
+	ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
+}
+
+function isNum(s) {
+	return new RegExp('[0-9]+', 'g').test(s);
+}
+
+function showDisabledControls() {
+	var f = document.forms, i, a;
+
+	for (i=0; i<f.length; i++) {
+		for (a=0; a<f[i].elements.length; a++) {
+			if (f[i].elements[a].disabled)
+				tinyMCE.addCSSClass(f[i].elements[a], "disabled");
+			else
+				tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
+		}
+	}
+}
+
+function fillSelect(f, s, param, dval, sep, em) {
+	var i, ar, p, se;
+
+	f = document.forms[f];
+	sep = typeof(sep) == "undefined" ? ";" : sep;
+
+	if (em)
+		addSelectValue(f, s, "", "");
+
+	ar = tinyMCE.getParam(param, dval).split(sep);
+	for (i=0; i<ar.length; i++) {
+		se = false;
+
+		if (ar[i].charAt(0) == '+') {
+			ar[i] = ar[i].substring(1);
+			se = true;
+		}
+
+		p = ar[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, s, p[0], p[1]);
+
+			if (se)
+				selectByValue(f, s, p[1]);
+		} else {
+			addSelectValue(f, s, p[0], p[0]);
+
+			if (se)
+				selectByValue(f, s, p[0]);
+		}
+	}
+}
+
+function toggleSame(ce, pre) {
+	var el = document.forms[0].elements, i;
+
+	if (ce.checked) {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = true;
+		el[pre + "_bottom"].disabled = true;
+		el[pre + "_left"].disabled = true;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = true;
+			el[pre + "_bottom_measurement"].disabled = true;
+			el[pre + "_left_measurement"].disabled = true;
+		}
+	} else {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = false;
+		el[pre + "_bottom"].disabled = false;
+		el[pre + "_left"].disabled = false;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = false;
+			el[pre + "_bottom_measurement"].disabled = false;
+			el[pre + "_left_measurement"].disabled = false;
+		}
+	}
+
+	showDisabledControls();
+}
+
+function synch(fr, to) {
+	var f = document.forms[0];
+
+	f.elements[to].value = f.elements[fr].value;
+
+	if (f.elements[fr + "_measurement"])
+		selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+// UK lang variables
+
+tinyMCE.addToLang('style',{
+title : 'Edit CSS Style',
+styleinfo_desc : 'Edit CSS Style',
+apply : 'Apply',
+text_tab : 'Text',
+background_tab : 'Background',
+block_tab : 'Block',
+box_tab : 'Box',
+border_tab : 'Border',
+list_tab : 'List',
+positioning_tab : 'Positioning',
+text_props : 'Text',
+text_font : 'Font',
+text_size : 'Size',
+text_weight : 'Weight',
+text_style : 'Style',
+text_variant : 'Variant',
+text_lineheight : 'Line height',
+text_case : 'Case',
+text_color : 'Color',
+text_decoration : 'Decoration',
+text_overline : 'overline',
+text_underline : 'underline',
+text_striketrough : 'strikethrough',
+text_blink : 'blink',
+text_none : 'none',
+background_color : 'Background color',
+background_image : 'Background image',
+background_repeat : 'Repeat',
+background_attachment : 'Attachment',
+background_hpos : 'Horizontal position',
+background_vpos : 'Vertical position',
+block_wordspacing : 'Word spacing',
+block_letterspacing : 'Letter spacing',
+block_vertical_alignment : 'Vertical alignment',
+block_text_align : 'Text align',
+block_text_indent : 'Text indent',
+block_whitespace : 'Whitespace',
+block_display : 'Display',
+box_width : 'Width',
+box_height : 'Height',
+box_float : 'Float',
+box_clear : 'Clear',
+padding : 'Padding',
+same : 'Same for all',
+top : 'Top',
+right : 'Right',
+bottom : 'Bottom',
+left : 'Left',
+margin : 'Margin',
+style : 'Style',
+width : 'Width',
+height : 'Height',
+color : 'Color',
+list_type : 'Type',
+bullet_image : 'Bullet image',
+position : 'Position',
+positioning_type : 'Type',
+visibility : 'Visibility',
+zindex : 'Z-index',
+overflow : 'Overflow',
+placement : 'Placement',
+clip : 'Clip'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,729 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_style_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
+	<link href="css/props.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+
+<body id="styleprops" onLoad="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onSubmit="updateAction();return false;" action="#">
+<div class="tabs">
+	<ul>
+		<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{$lang_style_text_tab}</a></span></li>
+		<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{$lang_style_background_tab}</a></span></li>
+		<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{$lang_style_block_tab}</a></span></li>
+		<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{$lang_style_box_tab}</a></span></li>
+		<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{$lang_style_border_tab}</a></span></li>
+		<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{$lang_style_list_tab}</a></span></li>
+		<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{$lang_style_positioning_tab}</a></span></li>
+	</ul>
+</div>
+
+<div class="panel_wrapper">
+<div id="text_panel" class="panel current">
+	<table border="0" width="100%">
+		<tr>
+			<td><label for="text_font">{$lang_style_text_font}</label></td>
+			<td colspan="3">
+				<select id="text_font" name="text_font" class="mceEditableSelect" onChange="alert(this.options[this.selectedIndex].value);"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_size">{$lang_style_text_size}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="text_size_measurement" name="text_size_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_weight">{$lang_style_text_weight}</label></td>
+			<td>
+				<select id="text_weight" name="text_weight"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_style">{$lang_style_text_style}</label></td>
+			<td>
+				<select id="text_style" name="text_style" class="mceEditableSelect"></select>
+			</td>
+			<td><label for="text_variant">{$lang_style_text_variant}</label></td>
+			<td>
+				<select id="text_variant" name="text_variant"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td>
+							<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
+						</td>
+						<td>&nbsp;</td>
+      <td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_case">{$lang_style_text_case}</label></td>
+			<td>
+				<select id="text_case" name="text_case"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_color">{$lang_style_text_color}</label></td>
+			<td colspan="2">
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="text_color" name="text_color" type="text" value="" size="9" onChange="updateColor('text_color_pick','text_color');" /></td>
+						<td id="text_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td valign="top" style="vertical-align: top; padding-top: 3px;">{$lang_style_text_decoration}</td>
+			<td colspan="2">
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_underline">{$lang_style_text_underline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_overline">{$lang_style_text_overline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_linethrough">{$lang_style_text_striketrough}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_blink">{$lang_style_text_blink}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_none">{$lang_style_text_none}</label></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="background_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="background_color">{$lang_style_background_color}</label></td>
+			<td>
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="background_color" name="background_color" type="text" value="" size="9" onChange="updateColor('background_color_pick','background_color');" /></td>
+						<td id="background_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_image">{$lang_style_background_image}</label></td>
+			<td><table border="0" cellspacing="0" cellpadding="0">
+				<tr> 
+				  <td><input id="background_image" name="background_image" type="text" /></td> 
+				  <td id="background_image_browser">&nbsp;</td>
+				</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
+			<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
+			<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="block_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
+			<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
+			<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
+						<td>&nbsp;</td>
+      <td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
+			<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_display">{$lang_style_block_display}</label></td>
+			<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="box_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="box_width">{$lang_style_box_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_width_measurement" name="box_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
+		<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="box_height">{$lang_style_box_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_height_measurement" name="box_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
+		<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_padding}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_margin}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+
+<div id="border_panel" class="panel">
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr>
+	<td class="tdelim">&nbsp;</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_style}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_width}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_color}</td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
+</tr>
+
+<tr>
+	<td>{$lang_style_top}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onChange="updateColor('border_color_top_pick','border_color_top');" /></td>
+				<td id="border_color_top_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_right}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onChange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
+				<td id="border_color_right_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_bottom}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onChange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
+				<td id="border_color_bottom_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_left}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onChange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
+				<td id="border_color_left_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+</table>
+</div>
+
+<div id="list_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="list_type">{$lang_style_list_type}</label></td>
+			<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
+			<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_position">{$lang_style_position}</label></td>
+			<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="positioning_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
+		<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
+		<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_width">{$lang_style_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
+		<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_height">{$lang_style_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
+		<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_placement}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_clip}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+</div>
+
+<div class="mceActionPanel">
+	<div style="float: left">
+		<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onClick="updateAction();" /></div>
+
+		<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="{$lang_style_apply}" onClick="applyAction();" class="updateButton" /></div>
+		<br style="clear: both" />
+	</div>
+
+	<div style="float: right">
+		<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onClick="tinyMCEPopup.close();" />
+	</div>
+</div>
+</form>
+
+<div style="display: none">
+	<div id="container"></div>
+</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_cell_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
+	<link href="css/cell.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td>
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+		
+							<td><label for="celltype">{$lang_table_cell_type}</label></td>
+							<td>
+								<select id="celltype" name="celltype">
+									<option value="td">{$lang_table_td}</option>
+									<option value="th">{$lang_table_th}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td>
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+
+							<td><label for="scope">{$lang_table_scope}</label></td>
+							<td>
+								<select id="scope" name="scope">
+									<option value="">{$lang_not_set}</option>
+									<option value="col">{$lang_table_col}</option>
+									<option value="row">{$lang_table_row}</option>
+									<option value="rowgroup">{$lang_table_rowgroup}</option>
+									<option value="colgroup">{$lang_table_colgroup}</option>
+								</select>
+							</td>
+
+						</tr>
+
+						<tr>
+							<td><label for="width">{$lang_table_width}</label></td>
+							<td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td colspan="3">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="cell">{$lang_table_cell_cell}</option>
+					<option value="row">{$lang_table_cell_row}</option>
+					<option value="all">{$lang_table_cell_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+/* CSS file for cell dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#class {
+	width: 150px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+/* CSS file for row dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#rowtype,#align,#valign,#class,#height {
+	width: 150px;
+}
+
+#height {
+	width: 50px;	
+}
+
+.col2 {
+	padding-left: 20px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/* CSS file for table dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 220px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#class {
+	width: 150px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('table');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler)}inst.tableRowClipboard=null},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_table','table_delete.gif','lang_table_del','mceTableDelete'],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];var cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false))}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1",tdElm;var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal')}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal')}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance)},10)}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true}return false}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan}}function getCellPos(grid,td){var x,y;for(y=0;y<grid.length;y++){for(x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y}}}return null}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null}function getTableGrid(table){var grid=new Array(),rows=table.rows,x,y,td,sd,xstart,x2,y2;for(y=0;y<rows.length;y++){for(x=0;x<rows[y].cells.length;x++){td=rows[y].cells[x];sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(x2=xstart;x2<xstart+sd['colspan'];x2++)grid[y2][x2]=td}}}return grid}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table),cpos=getCellPos(grid,td);var cells,lastElm;if(new_tr.cells.length!=tr.childNodes.length){cells=tr.childNodes;lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td}deleteMarked(tableElm)}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node}return null}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node}}return null}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td)}while((td=nexttd)!=null)}}while((tr=next)!=null)}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR")}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm}return newTR}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value})}return true;case"mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint()}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}trElm.parentNode.insertBefore(newTR,trElm);grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex+1,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR)}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD)}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true}lastTDElm=tdElm}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex+1),tinyMCE.isGecko,true);break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm)}lastTDElm=tdElm}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan)}addRows(tdElm,trElm,rowspan)}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td}}if(rowCells.length>0)rows[rows.length]=rowCells}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td}}}if(rowCells.length>0)rows[rows.length]=rowCells}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y}x2=x;y2=y;grid[y][x]._selected=true}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true}lastRowSpan=sd['rowspan']}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true}lastColSpan=sd['colspan']}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm}if(tdElm.rowSpan>1)tdElm.rowSpan--}}}}break}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint()}return true}return false}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1073 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('table');
+
+var TinyMCE_TablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Tables',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isGecko) {
+			var doc = inst.getDoc();
+			tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
+		}
+
+		inst.tableRowClipboard = null;
+	},
+
+	/**
+	 * Returns the HTML contents of the table control.
+	 */
+	getControlHTML : function(control_name) {
+		var controls = new Array(
+			['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
+			['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
+			['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
+			['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
+			['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
+			['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
+			['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
+			['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
+			['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
+			['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
+			['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
+			['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
+
+		// Render table control
+		for (var i=0; i<controls.length; i++) {
+			var but = controls[i];
+			var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
+
+			if (but[0] == control_name)
+				return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
+		}
+
+		// Special tablecontrols
+		if (control_name == "tablecontrols") {
+			var html = "";
+
+			html += tinyMCE.getControlHTML("table");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_props");
+			html += tinyMCE.getControlHTML("cell_props");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_before");
+			html += tinyMCE.getControlHTML("row_after");
+			html += tinyMCE.getControlHTML("delete_row");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("col_before");
+			html += tinyMCE.getControlHTML("col_after");
+			html += tinyMCE.getControlHTML("delete_col");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("split_cells");
+			html += tinyMCE.getControlHTML("merge_cells");
+
+			return html;
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Is table command
+		switch (command) {
+			case "mceInsertTable":
+			case "mceTableRowProps":
+			case "mceTableCellProps":
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+			case "mceTableDelete":
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				inst.execCommand('mceBeginUndoLevel');
+				TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
+				inst.execCommand('mceEndUndoLevel');
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var colspan = "1", rowspan = "1", tdElm;
+
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Reset table controls
+		tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
+
+		// Within a td element
+		if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
+			tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
+
+			colspan = tinyMCE.getAttrib(tdElm, "colspan");
+			rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
+
+			colspan = colspan == "" ? "1" : colspan;
+			rowspan = rowspan == "" ? "1" : rowspan;
+
+			if (colspan != "1" || rowspan != "1")
+				tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
+		}
+
+		// Within a tr element
+		if (tinyMCE.getParentElement(node, "tr"))
+			tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
+
+		// Within table
+		if (tinyMCE.getParentElement(node, "table")) {
+			tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin internal methods
+
+	_mouseDownHandler : function(e) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var focusElm = tinyMCE.selectedInstance.getFocusElement();
+
+		// If press on special Mozilla create TD/TR thingie
+		if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
+			window.setTimeout(function() {
+				var tableElm = tinyMCE.getParentElement(focusElm, "table");
+				tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+			}, 10);
+		}
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	_doExecCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var focusElm = inst.getFocusElement();
+		var trElm = tinyMCE.getParentElement(focusElm, "tr");
+		var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
+		var tableElm = tinyMCE.getParentElement(focusElm, "table");
+		var doc = inst.contentWindow.document;
+		var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
+
+		// Get first TD if no TD found
+		if (trElm && tdElm == null)
+			tdElm = trElm.cells[0];
+
+		// ------- Inner functions ---------
+		function inArray(ar, v) {
+			for (var i=0; i<ar.length; i++) {
+				// Is array
+				if (ar[i].length > 0 && inArray(ar[i], v))
+					return true;
+
+				// Found value
+				if (ar[i] == v)
+					return true;
+			}
+
+			return false;
+		}
+
+		function makeTD() {
+			var newTD = doc.createElement("td");
+			newTD.innerHTML = "&nbsp;";
+		}
+
+		function getColRowSpan(td) {
+			var colspan = tinyMCE.getAttrib(td, "colspan");
+			var rowspan = tinyMCE.getAttrib(td, "rowspan");
+
+			colspan = colspan == "" ? 1 : parseInt(colspan);
+			rowspan = rowspan == "" ? 1 : parseInt(rowspan);
+
+			return {colspan : colspan, rowspan : rowspan};
+		}
+
+		function getCellPos(grid, td) {
+			var x, y;
+
+			for (y=0; y<grid.length; y++) {
+				for (x=0; x<grid[y].length; x++) {
+					if (grid[y][x] == td)
+						return {cellindex : x, rowindex : y};
+				}
+			}
+
+			return null;
+		}
+
+		function getCell(grid, row, col) {
+			if (grid[row] && grid[row][col])
+				return grid[row][col];
+
+			return null;
+		}
+
+		function getTableGrid(table) {
+			var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
+
+			for (y=0; y<rows.length; y++) {
+				for (x=0; x<rows[y].cells.length; x++) {
+					td = rows[y].cells[x];
+					sd = getColRowSpan(td);
+
+					// All ready filled
+					for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
+
+					// Fill box
+					for (y2=y; y2<y+sd['rowspan']; y2++) {
+						if (!grid[y2])
+							grid[y2] = new Array();
+
+						for (x2=xstart; x2<xstart+sd['colspan']; x2++)
+							grid[y2][x2] = td;
+					}
+				}
+			}
+
+			return grid;
+		}
+
+		function trimRow(table, tr, td, new_tr) {
+			var grid = getTableGrid(table), cpos = getCellPos(grid, td);
+			var cells, lastElm;
+
+			// Time to crop away some
+			if (new_tr.cells.length != tr.childNodes.length) {
+				cells = tr.childNodes;
+				lastElm = null;
+
+				for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
+					var remove = true;
+					var sd = getColRowSpan(td);
+
+					// Remove due to rowspan
+					if (inArray(cells, td)) {
+						new_tr.childNodes[x]._delete = true;
+					} else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
+						for (var i=x; i<x+td.colSpan; i++)
+							new_tr.childNodes[i]._delete = true;
+					}
+
+					if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
+						td.rowSpan = sd.rowspan + 1;
+
+					lastElm = td;
+				}
+
+				deleteMarked(tableElm);
+			}
+		}
+
+		function prevElm(node, name) {
+			while ((node = node.previousSibling) != null) {
+				if (node.nodeName == name)
+					return node;
+			}
+
+			return null;
+		}
+
+		function nextElm(node, names) {
+			var namesAr = names.split(',');
+
+			while ((node = node.nextSibling) != null) {
+				for (var i=0; i<namesAr.length; i++) {
+					if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
+						return node;
+				}
+			}
+
+			return null;
+		}
+
+		function deleteMarked(tbl) {
+			if (tbl.rows == 0)
+				return;
+
+			var tr = tbl.rows[0];
+			do {
+				var next = nextElm(tr, "TR");
+
+				// Delete row
+				if (tr._delete) {
+					tr.parentNode.removeChild(tr);
+					continue;
+				}
+
+				// Delete cells
+				var td = tr.cells[0];
+				if (td.cells > 1) {
+					do {
+						var nexttd = nextElm(td, "TD,TH");
+
+						if (td._delete)
+							td.parentNode.removeChild(td);
+					} while ((td = nexttd) != null);
+				}
+			} while ((tr = next) != null);
+		}
+
+		function addRows(td_elm, tr_elm, rowspan) {
+			// Add rows
+			td_elm.rowSpan = 1;
+			var trNext = nextElm(tr_elm, "TR");
+			for (var i=1; i<rowspan && trNext; i++) {
+				var newTD = doc.createElement("td");
+				newTD.innerHTML = "&nbsp;";
+
+				if (tinyMCE.isMSIE)
+					trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
+				else
+					trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
+
+				trNext = nextElm(trNext, "TR");
+			}
+		}
+
+		function copyRow(doc, table, tr) {
+			var grid = getTableGrid(table);
+			var newTR = tr.cloneNode(false);
+			var cpos = getCellPos(grid, tr.cells[0]);
+			var lastCell = null;
+			var tableBorder = tinyMCE.getAttrib(table, "border");
+			var tdElm = null;
+
+			for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+				var newTD = null;
+
+				if (lastCell != tdElm) {
+					for (var i=0; i<tr.cells.length; i++) {
+						if (tdElm == tr.cells[i]) {
+							newTD = tdElm.cloneNode(true);
+							break;
+						}
+					}
+				}
+
+				if (newTD == null) {
+					newTD = doc.createElement("td");
+					newTD.innerHTML = "&nbsp;";
+				}
+
+				// Reset col/row span
+				newTD.colSpan = 1;
+				newTD.rowSpan = 1;
+
+				newTR.appendChild(newTD);
+
+				lastCell = tdElm;
+			}
+
+			return newTR;
+		}
+
+		// ---- Commands -----
+
+		// Handle commands
+		switch (command) {
+			case "mceTableRowProps":
+				if (trElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/row.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceTableCellProps":
+				if (tdElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/cell.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceInsertTable":
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/table.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
+				}
+
+				return true;
+
+			case "mceTableDelete":
+				var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+				if (table) {
+					table.parentNode.removeChild(table);
+					inst.repaint();
+				}
+				return true;
+
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+				// No table just return (invalid command)
+				if (!tableElm)
+					return true;
+
+				// Table has a tbody use that reference
+				// Changed logic by ApTest 2005.07.12 (www.aptest.com)
+				// Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
+				if (trElm && tableElm != trElm.parentNode)
+					tableElm = trElm.parentNode;
+
+				if (tableElm && trElm) {
+					switch (command) {
+						case "mceTableCutRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							inst.execCommand("mceTableDeleteRow");
+							break;
+
+						case "mceTableCopyRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							break;
+
+						case "mceTablePasteRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							var prevTR = prevElm(trElm, "TR");
+							if (prevTR != null)
+								trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+							break;
+
+						case "mceTablePasteRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+							
+							var nextTR = nextElm(trElm, "TR");
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							trimRow(tableElm, trElm, tdElm, newTR);
+
+							if (nextTR == null)
+								trElm.parentNode.appendChild(newTR);
+							else
+								nextTR.parentNode.insertBefore(newTR, nextTR);
+
+							break;
+
+						case "mceTableInsertRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							if (newTR.hasChildNodes()) {
+								var nextTR = nextElm(trElm, "TR");
+								if (nextTR)
+									nextTR.parentNode.insertBefore(newTR, nextTR);
+								else
+									tableElm.appendChild(newTR);
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+
+							// Only one row, remove whole table
+							if (grid.length == 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Move down row spanned cells
+							var cells = trElm.cells;
+							var nextTR = nextElm(trElm, "TR");
+							for (var x=0; x<cells.length; x++) {
+								if (cells[x].rowSpan > 1) {
+									var newTD = cells[x].cloneNode(true);
+									var sd = getColRowSpan(cells[x]);
+
+									newTD.rowSpan = sd.rowspan - 1;
+
+									var nextTD = nextTR.cells[x];
+
+									if (nextTD == null)
+										nextTR.appendChild(newTD);
+									else
+										nextTR.insertBefore(newTD, nextTD);
+								}
+							}
+
+							// Delete cells
+							var lastTDElm = null;
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd.rowspan > 1) {
+										tdElm.rowSpan = sd.rowspan - 1;
+									} else {
+										trElm = tdElm.parentNode;
+
+										if (trElm.parentNode)
+											trElm._delete = true;
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							deleteMarked(tableElm);
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										tdElm.parentNode.insertBefore(newTD, tdElm);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										var nextTD = nextElm(tdElm, "TD,TH");
+										if (nextTD == null)
+											tdElm.parentNode.appendChild(newTD);
+										else
+											nextTD.parentNode.insertBefore(newTD, nextTD);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteCol":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							// Only one col, remove whole table
+							if (grid.length > 1 && grid[0].length <= 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Delete cells
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] > 1)
+										tdElm.colSpan = sd['colspan'] - 1;
+									else {
+										if (tdElm.parentNode)
+											tdElm.parentNode.removeChild(tdElm);
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							cpos.cellindex--;
+							if (cpos.cellindex < 0)
+								cpos.cellindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+					case "mceTableSplitCells":
+						if (!trElm || !tdElm)
+							return true;
+
+						var spandata = getColRowSpan(tdElm);
+
+						var colspan = spandata["colspan"];
+						var rowspan = spandata["rowspan"];
+
+						// Needs splitting
+						if (colspan > 1 || rowspan > 1) {
+							// Generate cols
+							tdElm.colSpan = 1;
+							for (var i=1; i<colspan; i++) {
+								var newTD = doc.createElement("td");
+
+								newTD.innerHTML = "&nbsp;";
+
+								trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
+
+								if (rowspan > 1)
+									addRows(newTD, trElm, rowspan);
+							}
+
+							addRows(tdElm, trElm, rowspan);
+						}
+
+						// Apply visual aids
+						tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+						break;
+
+					case "mceTableMergeCells":
+						var rows = new Array();
+						var sel = inst.getSel();
+						var grid = getTableGrid(tableElm);
+
+						if (tinyMCE.isMSIE || sel.rangeCount == 1) {
+							if (user_interface) {
+								// Setup template
+								var template = new Array();
+								var sp = getColRowSpan(tdElm);
+
+								template['file'] = '../../plugins/table/merge_cells.htm';
+								template['width'] = 250;
+								template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
+
+								// Language specific width and height addons
+								template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
+								template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
+
+								// Open window
+								tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
+
+								return true;
+							} else {
+								var numRows = parseInt(value['numrows']);
+								var numCols = parseInt(value['numcols']);
+								var cpos = getCellPos(grid, tdElm);
+
+								if (("" + numRows) == "NaN")
+									numRows = 1;
+
+								if (("" + numCols) == "NaN")
+									numCols = 1;
+
+								// Get rows and cells
+								var tRows = tableElm.rows;
+								for (var y=cpos.rowindex; y<grid.length; y++) {
+									var rowCells = new Array();
+
+									for (var x=cpos.cellindex; x<grid[y].length; x++) {
+										var td = getCell(grid, y, x);
+
+										if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
+											var cp = getCellPos(grid, td);
+
+											// Within range
+											if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
+												rowCells[rowCells.length] = td;
+										}
+									}
+
+									if (rowCells.length > 0)
+										rows[rows.length] = rowCells;
+								}
+
+								//return true;
+							}
+						} else {
+							var cells = new Array();
+							var sel = inst.getSel();
+							var lastTR = null;
+							var curRow = null;
+							var x1 = -1, y1 = -1, x2, y2;
+
+							// Only one cell selected, whats the point?
+							if (sel.rangeCount < 2)
+								return true;
+
+							// Get all selected cells
+							for (var i=0; i<sel.rangeCount; i++) {
+								var rng = sel.getRangeAt(i);
+								var tdElm = rng.startContainer.childNodes[rng.startOffset];
+
+								if (!tdElm)
+									break;
+
+								if (tdElm.nodeName == "TD")
+									cells[cells.length] = tdElm;
+							}
+
+							// Get rows and cells
+							var tRows = tableElm.rows;
+							for (var y=0; y<tRows.length; y++) {
+								var rowCells = new Array();
+
+								for (var x=0; x<tRows[y].cells.length; x++) {
+									var td = tRows[y].cells[x];
+
+									for (var i=0; i<cells.length; i++) {
+										if (td == cells[i]) {
+											rowCells[rowCells.length] = td;
+										}
+									}
+								}
+
+								if (rowCells.length > 0)
+									rows[rows.length] = rowCells;
+							}
+
+							// Find selected cells in grid and box
+							var curRow = new Array();
+							var lastTR = null;
+							for (var y=0; y<grid.length; y++) {
+								for (var x=0; x<grid[y].length; x++) {
+									grid[y][x]._selected = false;
+
+									for (var i=0; i<cells.length; i++) {
+										if (grid[y][x] == cells[i]) {
+											// Get start pos
+											if (x1 == -1) {
+												x1 = x;
+												y1 = y;
+											}
+
+											// Get end pos
+											x2 = x;
+											y2 = y;
+
+											grid[y][x]._selected = true;
+										}
+									}
+								}
+							}
+
+							// Is there gaps, if so deny
+							for (var y=y1; y<=y2; y++) {
+								for (var x=x1; x<=x2; x++) {
+									if (!grid[y][x]._selected) {
+										alert("Invalid selection for merge.");
+										return true;
+									}
+								}
+							}
+						}
+
+						// Validate selection and get total rowspan and colspan
+						var rowSpan = 1, colSpan = 1;
+
+						// Validate horizontal and get total colspan
+						var lastRowSpan = -1;
+						for (var y=0; y<rows.length; y++) {
+							var rowColSpan = 0;
+
+							for (var x=0; x<rows[y].length; x++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								rowColSpan += sd['colspan'];
+
+								if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastRowSpan = sd['rowspan'];
+							}
+
+							if (rowColSpan > colSpan)
+								colSpan = rowColSpan;
+
+							lastRowSpan = -1;
+						}
+
+						// Validate vertical and get total rowspan
+						var lastColSpan = -1;
+						for (var x=0; x<rows[0].length; x++) {
+							var colRowSpan = 0;
+
+							for (var y=0; y<rows.length; y++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								colRowSpan += sd['rowspan'];
+
+								if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastColSpan = sd['colspan'];
+							}
+
+							if (colRowSpan > rowSpan)
+								rowSpan = colRowSpan;
+
+							lastColSpan = -1;
+						}
+
+						// Setup td
+						tdElm = rows[0][0];
+						tdElm.rowSpan = rowSpan;
+						tdElm.colSpan = colSpan;
+
+						// Merge cells
+						for (var y=0; y<rows.length; y++) {
+							for (var x=0; x<rows[y].length; x++) {
+								var html = rows[y][x].innerHTML;
+								var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
+
+								if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
+									tdElm.innerHTML += html;
+
+								// Not current cell
+								if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
+									var cpos = getCellPos(grid, rows[y][x]);
+									var tr = rows[y][x].parentNode;
+
+									tr.removeChild(rows[y][x]);
+									rows[y][x]._deleted = true;
+
+									// Empty TR, remove it
+									if (!tr.hasChildNodes()) {
+										tr.parentNode.removeChild(tr);
+
+										var lastCell = null;
+										for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
+											if (cellElm != lastCell && cellElm.rowSpan > 1)
+												cellElm.rowSpan--;
+
+											lastCell = cellElm;
+										}
+
+										if (tdElm.rowSpan > 1)
+											tdElm.rowSpan--;
+									}
+								}
+							}
+						}
+
+						break;
+					}
+
+					tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+					tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+					tinyMCE.triggerNodeChange();
+					inst.repaint();
+				}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("table", TinyMCE_TablePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
+
+	// Get table cell data
+	var celltype = tdElm.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(tdElm, 'align');
+	var valign = tinyMCE.getAttrib(tdElm, 'valign');
+	var width = trimSize(getStyle(tdElm, 'width', 'width'));
+	var height = trimSize(getStyle(tdElm, 'height', 'height'));
+	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
+	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(tdElm, 'id');
+	var lang = tinyMCE.getAttrib(tdElm, 'lang');
+	var dir = tinyMCE.getAttrib(tdElm, 'dir');
+	var scope = tinyMCE.getAttrib(tdElm, 'scope');
+
+	// Setup form
+	addClassesToList('class', 'table_cell_styles');
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'celltype', celltype);
+	selectByValue(formObj, 'dir', dir);
+	selectByValue(formObj, 'scope', scope);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (getSelectValue(formObj, 'action')) {
+		case "cell":
+			var celltype = getSelectValue(formObj, 'celltype');
+			var scope = getSelectValue(formObj, 'scope');
+
+			if (tinyMCE.getParam("accessibility_warnings")) {
+				if (celltype == "th" && scope == "")
+					var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
+				else
+					var answer = true;
+
+				if (!answer)
+					return;
+			}
+
+			updateCell(tdElm);
+			break;
+
+		case "row":
+			var cell = trElm.firstChild;
+
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
+				cell = nextCell(cell);
+
+			do {
+				cell = updateCell(cell, true);
+			} while ((cell = nextCell(cell)) != null);
+
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				var cell = rows[i].firstChild;
+
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
+					cell = nextCell(cell);
+
+				do {
+					cell = updateCell(cell, true);
+				} while ((cell = nextCell(cell)) != null);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function nextCell(elm) {
+	while ((elm = elm.nextSibling) != null) {
+		if (elm.nodeName == "TD" || elm.nodeName == "TH")
+			return elm;
+	}
+
+	return null;
+}
+
+function updateCell(td, skip_id) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curCellType = td.nodeName.toLowerCase();
+	var celltype = getSelectValue(formObj, 'celltype');
+	var doc = inst.getDoc();
+
+	if (!skip_id)
+		td.setAttribute('id', formObj.id.value);
+
+	td.setAttribute('align', formObj.align.value);
+	td.setAttribute('vAlign', formObj.valign.value);
+	td.setAttribute('lang', formObj.lang.value);
+	td.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	td.setAttribute('scope', formObj.scope.value);
+	tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tinyMCE.setAttrib(td, 'width', '');
+	tinyMCE.setAttrib(td, 'height', '');
+	tinyMCE.setAttrib(td, 'bgColor', '');
+	tinyMCE.setAttrib(td, 'borderColor', '');
+	tinyMCE.setAttrib(td, 'background', '');
+
+	// Set styles
+	td.style.width = getCSSSize(formObj.width.value);
+	td.style.height = getCSSSize(formObj.height.value);
+	if (formObj.bordercolor.value != "") {
+		td.style.borderColor = formObj.bordercolor.value;
+		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
+		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
+	} else
+		td.style.borderColor = '';
+
+	td.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		td.style.backgroundImage = '';
+
+	if (curCellType != celltype) {
+		// changing to a different node type
+		var newCell = doc.createElement(celltype);
+
+		for (var c=0; c<td.childNodes.length; c++)
+			newCell.appendChild(td.childNodes[c].cloneNode(1));
+
+		for (var a=0; a<td.attributes.length; a++) {
+			var attr = td.attributes[a];
+			newCell.setAttribute(attr.name, attr.value);
+		}
+
+		td.parentNode.replaceChild(newCell, td);
+		td = newCell;
+	}
+
+	return td;
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = getCSSSize(width);
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+	st['border-color'] = formObj.bordercolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
+	formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
+}
+
+function mergeCells() {
+	var args = new Array();
+	var formObj = document.forms[0];
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	args["numcols"] = formObj.numcols.value;
+	args["numrows"] = formObj.numrows.value;
+
+	tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,200 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
+
+	// Get table row data
+	var rowtype = trElm.parentNode.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(trElm, 'align');
+	var valign = tinyMCE.getAttrib(trElm, 'valign');
+	var height = trimSize(getStyle(trElm, 'height', 'height'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
+	var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
+	var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(trElm, 'id');
+	var lang = tinyMCE.getAttrib(trElm, 'lang');
+	var dir = tinyMCE.getAttrib(trElm, 'dir');
+
+	// Setup form
+	addClassesToList('class', 'table_row_styles');
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'rowtype', rowtype);
+	selectByValue(formObj, 'dir', dir);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+	var action = getSelectValue(formObj, 'action');
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (action) {
+		case "row":
+			updateRow(trElm);
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++)
+				updateRow(rows[i], true);
+
+			break;
+
+		case "odd":
+		case "even":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
+					updateRow(rows[i], true, true);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function updateRow(tr_elm, skip_id, skip_parent) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
+	var rowtype = getSelectValue(formObj, 'rowtype');
+	var doc = inst.getDoc();
+
+	// Update row element
+	if (!skip_id)
+		tr_elm.setAttribute('id', formObj.id.value);
+
+	tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
+	tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
+	tr_elm.setAttribute('lang', formObj.lang.value);
+	tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tr_elm.setAttribute('background', '');
+	tr_elm.setAttribute('bgColor', '');
+	tr_elm.setAttribute('height', '');
+
+	// Set styles
+	tr_elm.style.height = getCSSSize(formObj.height.value);
+	tr_elm.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		tr_elm.style.backgroundImage = '';
+
+	// Setup new rowtype
+	if (curRowType != rowtype && !skip_parent) {
+		// first, clone the node we are working on
+		var newRow = tr_elm.cloneNode(1);
+
+		// next, find the parent of its new destination (creating it if necessary)
+		var theTable = tinyMCE.getParentElement(tr_elm, "table");
+		var dest = rowtype;
+		var newParent = null;
+		for (var i = 0; i < theTable.childNodes.length; i++) {
+			if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
+				newParent = theTable.childNodes[i];
+		}
+
+		if (newParent == null) {
+			newParent = doc.createElement(dest);
+
+			if (dest == "thead")
+				theTable.insertBefore(newParent, theTable.firstChild);
+			else
+				theTable.appendChild(newParent);
+		}
+
+		// append the row to the new parent
+		newParent.appendChild(newRow);
+
+		// remove the original
+		tr_elm.parentNode.removeChild(tr_elm);
+
+		// set tr_elm to the new node
+		tr_elm = newRow;
+	}
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,364 @@
+var action, orgTableWidth, orgTableHeight;
+
+function insertTable() {
+	var formObj = document.forms[0];
+	var inst = tinyMCE.selectedInstance;
+	var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption;
+	var html = '', capEl;
+	var elm = tinyMCE.tableElm;
+	var cellLimit, rowLimit, colLimit;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	tinyMCEPopup.restoreSelection();
+
+	// Get form data
+	cols = formObj.elements['cols'].value;
+	rows = formObj.elements['rows'].value;
+	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+	cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
+	cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
+	align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
+	width = formObj.elements['width'].value;
+	height = formObj.elements['height'].value;
+	bordercolor = formObj.elements['bordercolor'].value;
+	bgcolor = formObj.elements['bgcolor'].value;
+	className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
+	id = formObj.elements['id'].value;
+	summary = formObj.elements['summary'].value;
+	style = formObj.elements['style'].value;
+	dir = formObj.elements['dir'].value;
+	lang = formObj.elements['lang'].value;
+	background = formObj.elements['backgroundimage'].value;
+	caption = formObj.elements['caption'].checked;
+
+	cellLimit = tinyMCE.getParam('table_cell_limit', false);
+	rowLimit = tinyMCE.getParam('table_row_limit', false);
+	colLimit = tinyMCE.getParam('table_col_limit', false);
+
+	// Validate table size
+	if (colLimit && cols > colLimit) {
+		alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
+		return false;
+	} else if (rowLimit && rows > rowLimit) {
+		alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
+		return false;
+	} else if (cellLimit && cols * rows > cellLimit) {
+		alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
+		return false;
+	}
+
+	// Update table
+	if (action == "update") {
+		inst.execCommand('mceBeginUndoLevel');
+
+		tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
+		tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
+		tinyMCE.setAttrib(elm, 'border', border, true);
+		tinyMCE.setAttrib(elm, 'align', align);
+		tinyMCE.setAttrib(elm, 'class', className);
+		tinyMCE.setAttrib(elm, 'style', style);
+		tinyMCE.setAttrib(elm, 'id', id);
+		tinyMCE.setAttrib(elm, 'summary', summary);
+		tinyMCE.setAttrib(elm, 'dir', dir);
+		tinyMCE.setAttrib(elm, 'lang', lang);
+
+		capEl = elm.getElementsByTagName('caption')[0];
+
+		if (capEl && !caption)
+			capEl.parentNode.removeChild(capEl);
+
+		if (!capEl && caption) {
+			capEl = elm.ownerDocument.createElement('caption');
+			capEl.innerHTML = '&nbsp;';
+			elm.insertBefore(capEl, elm.firstChild);
+		}
+
+		// Not inline styles
+		if (!tinyMCE.getParam("inline_styles"))
+			tinyMCE.setAttrib(elm, 'width', width, true);
+
+		// Remove these since they are not valid XHTML
+		tinyMCE.setAttrib(elm, 'borderColor', '');
+		tinyMCE.setAttrib(elm, 'bgColor', '');
+		tinyMCE.setAttrib(elm, 'background', '');
+		tinyMCE.setAttrib(elm, 'height', '');
+
+		if (background != '')
+			elm.style.backgroundImage = "url('" + background + "')";
+		else
+			elm.style.backgroundImage = '';
+
+		if (tinyMCE.getParam("inline_styles"))
+			elm.style.borderWidth = border + "px";
+
+		if (tinyMCE.getParam("inline_styles")) {
+			if (width != '')
+				elm.style.width = getCSSSize(width);
+		}
+
+		if (bordercolor != "") {
+			elm.style.borderColor = bordercolor;
+			elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle;
+			elm.style.borderWidth = border == "" ? "1px" : border;
+		} else
+			elm.style.borderColor = '';
+
+		elm.style.backgroundColor = bgcolor;
+		elm.style.height = getCSSSize(height);
+
+		tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
+
+		// Fix for stange MSIE align bug
+		tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+		tinyMCE.triggerNodeChange();
+		inst.execCommand('mceEndUndoLevel');
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
+			inst.repaint();
+
+		tinyMCEPopup.close();
+		return true;
+	}
+
+	// Create new table
+	html += '<table';
+
+	html += makeAttrib('id', id);
+	html += makeAttrib('border', border);
+	html += makeAttrib('cellpadding', cellpadding);
+	html += makeAttrib('cellspacing', cellspacing);
+	html += makeAttrib('width', width);
+	//html += makeAttrib('height', height);
+	//html += makeAttrib('bordercolor', bordercolor);
+	//html += makeAttrib('bgcolor', bgcolor);
+	html += makeAttrib('align', align);
+	html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
+	html += makeAttrib('style', style);
+	html += makeAttrib('summary', summary);
+	html += makeAttrib('dir', dir);
+	html += makeAttrib('lang', lang);
+	html += '>';
+
+	if (caption)
+		html += '<caption>&nbsp;</caption>';
+
+	for (var y=0; y<rows; y++) {
+		html += "<tr>";
+
+		for (var x=0; x<cols; x++)
+			html += '<td>&nbsp;</td>';
+
+		html += "</tr>";
+	}
+
+	html += "</table>";
+
+	inst.execCommand('mceBeginUndoLevel');
+	inst.execCommand('mceInsertContent', false, html);
+	tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
+	inst.execCommand('mceEndUndoLevel');
+
+	tinyMCEPopup.close();
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', '');
+	var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
+	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+
+	tinyMCE.tableElm = elm;
+	action = tinyMCE.getWindowArg('action');
+	if (action == null)
+		action = tinyMCE.tableElm ? "update" : "insert";
+
+	if (tinyMCE.tableElm && action != "insert") {
+		var rowsAr = tinyMCE.tableElm.rows;
+		var cols = 0;
+		for (var i=0; i<rowsAr.length; i++)
+			if (rowsAr[i].cells.length > cols)
+				cols = rowsAr[i].cells.length;
+
+		cols = cols;
+		rows = rowsAr.length;
+
+		st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
+		border = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
+		cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
+		width = trimSize(getStyle(elm, 'width', 'width'));
+		height = trimSize(getStyle(elm, 'height', 'height'));
+		bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
+		bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
+		align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
+		className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
+		id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
+		summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
+		style = tinyMCE.serializeStyle(st);
+		dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
+		lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
+		background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+		formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0;
+
+		orgTableWidth = width;
+		orgTableHeight = height;
+
+		action = "update";
+	}
+
+	addClassesToList('class', "table_styles");
+
+	// Update form
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'class', className);
+	formObj.cols.value = cols;
+	formObj.rows.value = rows;
+	formObj.border.value = border;
+	formObj.cellpadding.value = cellpadding;
+	formObj.cellspacing.value = cellspacing;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.id.value = id;
+	formObj.summary.value = summary;
+	formObj.style.value = style;
+	formObj.dir.value = dir;
+	formObj.lang.value = lang;
+	formObj.backgroundimage.value = background;
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	// Disable some fields in update mode
+	if (action == "update") {
+		formObj.cols.disabled = true;
+		formObj.rows.disabled = true;
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBorder() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	// Update border width if the element has a color
+	if (formObj.border.value != "" && formObj.bordercolor.value != "")
+		st['border-width'] = formObj.border.value + "px";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	if (formObj.bordercolor.value != "") {
+		st['border-color'] = formObj.bordercolor.value;
+
+		// Add border-width if it's missing
+		if (!st['border-width'])
+			st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'General',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+advanced_props : 'Advanced properties',
+desc : 'Inserts a new table',
+row_before_desc : 'Insert row before',
+row_after_desc : 'Insert row after',
+delete_row_desc : 'Delete row',
+col_before_desc : 'Insert column before',
+col_after_desc : 'Insert column after',
+delete_col_desc : 'Remove column',
+rowtype : 'Row in table part',
+title : 'Insert/Modify table',
+width : 'Width',
+height : 'Height',
+cols : 'Columns',
+rows : 'Rows',
+cellspacing : 'Cellspacing',
+cellpadding : 'Cellpadding',
+border : 'Border',
+align : 'Alignment',
+align_default : 'Default',
+align_left : 'Left',
+align_right : 'Right',
+align_middle : 'Center',
+row_title : 'Table row properties',
+cell_title : 'Table cell properties',
+cell_type : 'Cell type',
+row_desc : 'Table row properties',
+cell_desc : 'Table cell properties',
+valign : 'Vertical alignment',
+align_top : 'Top',
+align_bottom : 'Bottom',
+props_desc : 'Table properties',
+bordercolor : 'Border color',
+bgcolor : 'Background color',
+merge_cells_title : 'Merge table cells',
+split_cells_desc : 'Split table cells',
+merge_cells_desc : 'Merge table cells',
+cut_row_desc : 'Cut table row',
+copy_row_desc : 'Copy table row',
+paste_row_before_desc : 'Paste table row before',
+paste_row_after_desc : 'Paste table row after',
+id : 'Id',
+style: 'Style',
+langdir : 'Language direction',
+langcode : 'Language code',
+mime : 'Target MIME type',
+ltr : 'Left to right',
+rtl : 'Right to left',
+bgimage : 'Background image',
+summary : 'Summary',
+td : "Data",
+th : "Header",
+cell_cell : 'Update current cell',
+cell_row : 'Update all cells in row',
+cell_all : 'Update all cells in table',
+row_row : 'Update current row',
+row_odd : 'Update odd rows in table',
+row_even : 'Update even rows in table',
+row_all : 'Update all rows in table',
+thead : 'Table Head',
+tbody : 'Table Body',
+tfoot : 'Table Foot',
+del : 'Delete table',
+scope : 'Scope',
+row : 'Row',
+col : 'Col',
+rowgroup : 'Row Group',
+colgroup : 'Col Group',
+col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
+row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
+cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
+missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
+caption : 'Table caption'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_merge_cells_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
+<form onsubmit="insertTable();return false;" action="#">
+	<fieldset>
+		<legend>{$lang_table_merge_cells_title}</legend>
+		  <table border="0" cellpadding="0" cellspacing="3" width="100%">
+			  <tr>
+				<td>{$lang_table_cols}:</td>
+				<td align="right"><input type="text" name="numcols" value="" class="number min1" style="width: 30px" /></td>
+				<td>
+			  </tr>
+			  <tr>
+				<td>{$lang_table_rows}:</td>
+				<td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
+			  </tr>
+		  </table>
+	</fieldset>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_row_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
+	<link href="css/row.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="rowtype">{$lang_table_rowtype}</label></td>
+							<td class="col2">
+								<select id="rowtype" name="rowtype">
+									<option value="thead">{$lang_table_thead}</option>
+									<option value="tbody">{$lang_table_tbody}</option>
+									<option value="tfoot">{$lang_table_tfoot}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td class="col2">
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td class="col2">
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td class="col2">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="row">{$lang_table_row_row}</option>
+					<option value="odd">{$lang_table_row_odd}</option>
+					<option value="even">{$lang_table_row_even}</option>
+					<option value="all">{$lang_table_row_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
+	<link href="css/table.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="insertTable();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					  <table border="0" cellpadding="4" cellspacing="0" width="100%">
+							  <tr>
+								<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
+								<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+								<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
+								<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
+								<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
+								<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
+								<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
+								<td><select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								  </select></td>
+								<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
+								<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
+							  </tr>
+							  <tr id="width_row">
+								<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
+								<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+								<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
+								<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+							  </tr>
+							  <tr id="styleSelectRow">
+								<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
+								<td colspan="3">
+								 <select id="class" name="class">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select></td>
+							  </tr>
+							  <tr>
+								<td class="column1"><label for="caption">{$lang_table_caption}</label></td> 
+								<td><input id="caption" name="caption" type="checkbox" value="true" /></td> 
+							  </tr>
+							</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="summary">{$lang_table_summary}</label></td> 
+							<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" class="advfield"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" class="advfield" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script type="text/javascript">
+		var tinyMCE = parent.tinyMCE, css = tinyMCE.getParam("content_css").split(','), i, u;
+
+		// Load content CSS files
+		for (i=0; i<css.length; i++) {
+			u = css[i];
+
+			// Fix relative
+			if (u.charAt(0) != '/' && u.indexOf('://') == -1)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			document.write('<link href="' + u + '" rel="stylesheet" type="text/css" />');
+		}
+	</script>
+</head>
+<body id="mceTemplatePreview">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+#frmbody {
+	padding: 10px;
+	background-color: #FFF;
+	border: 1px solid #CCC;
+}
+
+.frmRow {
+	margin-bottom: 10px;
+}
+
+#templatesrc {
+	border: none;
+	width: 320px;
+	height: 240px;
+}
+
+.title {
+	padding-bottom: 5px;
+}
+
+.mceActionPanel {
+	padding-top: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('template');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){var cdate,mdate,content,x=0,key,value,rvals,ds=inst.getData('template');cdate=tinyMCE.getParam("template_cdate_classes",'').split(/\s+/);mdate=tinyMCE.getParam("template_mdate_classes",'').split(/\s+/);content=tinyMCE.getParam("template_selected_content_classes",'').split(/\s+/);for(x=0;x<cdate.length;x++)TinyMCE_TemplatePlugin.functions[cdate[x]]=TinyMCE_TemplatePlugin.functions['cdate'];for(x=0;x<mdate.length;x++)TinyMCE_TemplatePlugin.functions[mdate[x]]=TinyMCE_TemplatePlugin.functions['mdate'];for(x=0;x<content.length;x++)TinyMCE_TemplatePlugin.functions[content[x]]=TinyMCE_TemplatePlugin.functions['selectedContent'];rvals=tinyMCE.getParam("template_replace_values",false);for(key in rvals){value=rvals[key];if(typeof value=="function")TinyMCE_TemplatePlugin.functions[key]=value;else TinyMCE_TemplatePlugin.functions[key]=TinyMCE_TemplatePlugin.functions['generateReplacer'](value)}rvals=tinyMCE.getParam("template_replace_values",false);ds.replace_items={};for(key in rvals)ds.replace_items[key]=rvals[key];inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');ds.currentAction="insert";ds.currentTmplNode=null},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var nodeArray,current,newTmpl,x,inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template'),telm;switch(command){case"mceTemplate":if(user_interface){tinyMCE.openWindow({file:'../../plugins/template/template.htm',width:tinyMCE.getParam('template_popup_width',750),height:tinyMCE.getParam('template_popup_height',600)},{editor_id:editor_id,resizable:"yes",scrollbars:"no",pluginObj:TinyMCE_TemplatePlugin})}else{telm=TinyMCE_TemplatePlugin._convertToNode(value.body);nodeArray=tinyMCE.selectElements(telm,'div',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});telm=nodeArray.length>0?nodeArray[0]:null;nodeArray=[];if(ds.currentAction=="insert"){if(telm){tinyMCE.execCommand('mceBeginUndoLevel');ds.currentAction="insert-new";TinyMCE_TemplatePlugin._insertTemplate(editor_id,telm,value.title,value.tsrc,true);ds.currentAction=="insert";tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}else tinyMCE.execCommand('mceInsertContent',false,this._replaceValues(value.body))}else{nodeArray=TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);current=[];newTmpl=[];tinyMCE.getNodeTree(telm,newTmpl);for(x=0;x<nodeArray.length;x++)tinyMCE.getNodeTree(nodeArray[x],current);var _test=function(elm){var replaced=true;if(elm.className){var names=elm.className.split(/\s+/),c,n;for(c=0;c<names.length;c++){if(names[c].match(/^mce/i))continue;for(n=0;n<newTmpl.length;n++){replaced=false;if(newTmpl[n].className&&newTmpl[n].className.match(new RegExp(names[c],"gi"))){newTmpl[n].innerHTML=elm.innerHTML;replaced=true;break}}}}return replaced};var cont=true;var asked=false;for(x=0;x<current.length;x++){if(!_test(current[x])){cont=(asked||confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?","Proceed?"));asked=true;if(!cont)break}};if(cont){tinyMCE.execCommand('mceBeginUndoLevel');TinyMCE_TemplatePlugin._replaceTemplateContent(current[0],editor_id,telm,value.title,value.tsrc);tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}}tinyMCE.triggerNodeChange(true)}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template');if(tinyMCE.hasCSSClass(node,TinyMCE_TemplatePlugin.TMPL_ELEMENT)||tinyMCE.hasCSSClass(node.parentNode,TinyMCE_TemplatePlugin.TMPL_ELEMENT)){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');ds.currentAction="update";ds.currentTmplNode=node;return true}ds.currentAction="insert";ds.currentTmplNode=null;tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');return false},cleanup:function(type,content,inst){var nodes=[];switch(type){case"get_from_editor":content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->');content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">(\s|&nbsp;|&#160;)?(<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->|\s)?</div>','gi'),'');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->');break;case"insert_to_editor":content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->','gi'),'<div class="'+TinyMCE_TemplatePlugin.TMPL+'">');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>');break;case"get_from_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break;case"insert_to_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break}return content},_convertToNode:function(html){var elm=document.createElement('div');elm.innerHTML=html;return elm},_prepareTemplateContent:function(elms){var x,n,nodes=[];if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++)tinyMCE.getNodeTree(elms[x],nodes,1);for(n=0;n<nodes.length;n++){tinyMCE.addCSSClass(nodes[n],TinyMCE_TemplatePlugin.TMPL_ELEMENT);TinyMCE_TemplatePlugin._applyFunctions(nodes[n],TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)}return elms},_replaceValues:function(s){var t=this,ds=tinyMCE.selectedInstance.getData('template');return s.replace(/\{\$([^\}]+)\}/g,function(a,b){var it=ds.replace_items[b];if(it){if(typeof(it)!='function')return it}return b})},_applyFunctions:function(elms,editor_event){var x,elm,names,c,f;if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++){elm=elms[x];if(elm.className){names=elm.className.split(/\s+/);for(c=0;c<names.length;c++){if(names[c]==TinyMCE_TemplatePlugin.TMPL_ELEMENT)continue;f=(TinyMCE_TemplatePlugin.functions[names[c]]?TinyMCE_TemplatePlugin.functions[names[c]]:TinyMCE_TemplatePlugin.functions['blank']);f(elm,editor_event)}}}return elms},_collectTemplateElements:function(node){var nodeArray=[],p;p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)tinyMCE.getNodeTree(p,nodeArray);return nodeArray},_replaceTemplateContent:function(currentNode,editor_id,newTemplate,title,tsrc){TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);TinyMCE_TemplatePlugin._insertTemplate(editor_id,newTemplate,title,tsrc,false)},_deleteTemplateContent:function(node){var p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)p.parentNode.removeChild(p,true)},_insertTemplate:function(editor_id,elm,title,tsrc,incComments){var html;TinyMCE_TemplatePlugin._prepareTemplateContent(elm);html='<div class="'+TinyMCE_TemplatePlugin.TMPL+'">';html+=elm.innerHTML;html+='<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,html)},functions:{blank:function(elm,editor_event){},cdate:function(elm,editor_event){var d,dsrc;if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;d=new Date();dsrc=elm.innerHTML.match(new RegExp("<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":(.*)  -->","gi"));if(dsrc)d=new Date(RegExp.$1);elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_cdate_format",tinyMCE.getLang("lang_template_def_date_format")));elm.innerHTML+="<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":"+d.toUTCString()+"  -->"},mdate:function(elm,editor_event){var d=new Date();elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_mdate_format",tinyMCE.getLang("lang_template_def_date_format")))},selectedContent:function(elm,editor_event){var ds=tinyMCE.selectedInstance.getData('template');if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;if(ds.currentAction=="insert-new"&&!tinyMCE.hasCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)){elm.innerHTML=tinyMCE.selectedInstance.selection.getSelectedHTML();tinyMCE.addCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)}},generateReplacer:function(s){return function(elm,editor_event){elm.innerHTML=""+s}}},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length<len){for(i=0;i<(len-value.length);i++)value="0"+value}return value}fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_template_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_template_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt},TMPL_ELEMENT:'mceTmplElm',TMPL:'mceTmpl',TMPL_BEGINS:'mceTmplBegins',TMPL_SEL_HTML_DONE:'mceSelHTMLDone',TMPL_ENDS:'mceTmplEnds',TMPL_DATE_SRC_ATTR:'mcetmpldtesrc',TMPL_TEMPLATE_EVENT:'prepare_template'};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,551 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('template');
+
+var TinyMCE_TemplatePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Template plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://www.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		var cdate, mdate, content, x = 0, key, value, rvals, ds = inst.getData('template');
+
+		// ensure the required elements and sttributes are added
+		//inst.cleanup.addRuleStr('*[' + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + '],div[title,tsrc]');
+
+		//setup template content functions
+		// creation date and modified date classes
+		cdate = tinyMCE.getParam("template_cdate_classes", '').split(/\s+/);
+		mdate = tinyMCE.getParam("template_mdate_classes", '').split(/\s+/);
+
+		// classes that specify where selected content should go
+		content = tinyMCE.getParam("template_selected_content_classes", '').split(/\s+/);
+
+		for (x = 0; x < cdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[cdate[x]] = TinyMCE_TemplatePlugin.functions['cdate'];	
+
+		for (x = 0; x < mdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[mdate[x]] = TinyMCE_TemplatePlugin.functions['mdate'];
+
+		for (x = 0; x < content.length; x++)
+			TinyMCE_TemplatePlugin.functions[content[x]] = TinyMCE_TemplatePlugin.functions['selectedContent'];
+
+		// special template functions for replacing template content
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		for (key in rvals) {
+			value = rvals[key];
+
+			if (typeof value == "function")
+				TinyMCE_TemplatePlugin.functions[key] = value;
+			else
+				TinyMCE_TemplatePlugin.functions[key] = TinyMCE_TemplatePlugin.functions['generateReplacer'](value);
+		}
+
+		// Setup replace_items
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		ds.replace_items = {};
+
+		for (key in rvals)
+			ds.replace_items[key] = rvals[key];
+
+		inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate');
+
+		// Setup data storage
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "template":
+				return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var nodeArray, current, newTmpl, x, inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template'), telm;
+
+		switch (command) {
+			case "mceTemplate":
+				if (user_interface) {
+					// called from toolbar button - show the popup
+					tinyMCE.openWindow({
+						file : '../../plugins/template/template.htm', // Relative to theme
+						width : tinyMCE.getParam('template_popup_width', 750),
+						height : tinyMCE.getParam('template_popup_height', 600)
+					}, {editor_id : editor_id, resizable : "yes", scrollbars : "no", pluginObj : TinyMCE_TemplatePlugin});
+				} else {
+					// internal command do the template stuff
+
+					// get the returned HTML string from the pop-up and appened it to a DIV element
+					telm = TinyMCE_TemplatePlugin._convertToNode(value.body);
+
+					// Find template body
+					nodeArray = tinyMCE.selectElements(telm, 'div', function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+					});
+
+					telm = nodeArray.length > 0 ? nodeArray[0] : null;
+					nodeArray = [];
+
+					if (ds.currentAction == "insert") {
+						//insert new template after applying all the template content functions
+
+						// Is it a template or snippet
+						if (telm) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							ds.currentAction = "insert-new";
+							TinyMCE_TemplatePlugin._insertTemplate(editor_id, telm, value.title, value.tsrc, true);
+							ds.currentAction == "insert";
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						} else
+							tinyMCE.execCommand('mceInsertContent', false, this._replaceValues(value.body));
+					} else {
+						// First collect the selected template in the editor
+						nodeArray = TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);
+						current = [];
+						newTmpl = [];
+						tinyMCE.getNodeTree(telm, newTmpl);
+
+						for (x=0; x<nodeArray.length; x++)
+							tinyMCE.getNodeTree(nodeArray[x], current);
+
+						/** 
+						 * inner function used in the loop below.
+						 * compares the supplied HTML element to the new template to:
+						 * - find a match with the new template and copy the element's content over
+						 * - find no match and indicate content will be lost
+						 */
+						var _test = function(elm) {
+							var replaced = true;
+
+							if (elm.className) {
+								var names = elm.className.split(/\s+/), c, n;
+
+								for (c = 0; c<names.length; c++) {
+									if (names[c].match(/^mce/i))
+										continue; // ignore all internal class names
+
+									for (n=0; n<newTmpl.length; n++){
+										replaced = false;
+
+										if (newTmpl[n].className && newTmpl[n].className.match(new RegExp(names[c], "gi"))) {
+											newTmpl[n].innerHTML = elm.innerHTML;
+											//if(tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR,"") != "") {
+											//	tinyMCE.setAttrib(newTmpl[n], TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR, tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR)); 
+											//}
+											replaced = true;
+											break;
+										}
+
+									}
+								}
+							}
+	
+							return replaced;
+						};
+
+						// comparison loop - first mis-match alerts user for confirmation.
+						var cont = true;
+						var asked = false;
+
+						for (x = 0; x < current.length; x++) {
+							if(!_test(current[x])) {
+								cont = (asked || confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?", "Proceed?"));
+								asked = true;
+
+								if (!cont)
+									break;
+							}
+						};
+
+						// apply replacement if allowed to
+						if (cont) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							TinyMCE_TemplatePlugin._replaceTemplateContent(current[0], editor_id, telm, value.title, value.tsrc);
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						}
+					}
+
+					tinyMCE.triggerNodeChange(true);
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template');
+
+		if (tinyMCE.hasCSSClass(node, TinyMCE_TemplatePlugin.TMPL_ELEMENT) || tinyMCE.hasCSSClass(node.parentNode, TinyMCE_TemplatePlugin.TMPL_ELEMENT)) {
+			tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected');
+			ds.currentAction = "update";
+			ds.currentTmplNode = node;
+
+			return true;
+		}
+
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+		tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal');
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nodes = [];
+
+		switch (type) {
+			case "get_from_editor":
+				// replace the opening wrapper div tag with a HTML comment
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->'
+				);
+
+				// delete any empty template wrappers
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">(\s|&nbsp;|&#160;)?(<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->|\s)?</div>', 'gi'),
+					''
+				);
+
+				// replace the closing wrapper tag
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->'
+				);
+
+				break;
+
+			case "insert_to_editor":
+				// replace HTML comment with DIV wrapper
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->', 'gi'),
+					'<div class="' + TinyMCE_TemplatePlugin.TMPL + '">'
+				);
+
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>'
+				);
+
+				break;
+
+			case "get_from_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+
+			case "insert_to_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	/**
+	 * Creates a HTML DIV element and sets the innerHTML to equal the temlate innerHTML so that the template can be manipulated as DOM nodes.
+	 *
+	 * @param {string} Template innerHTML
+	 * @return a HTML Element
+	 * @type HTMLElement
+	 */
+	_convertToNode : function(html) {
+		var elm = document.createElement('div');
+
+		elm.innerHTML = html;
+
+		return elm;
+	},
+
+	/**
+	 * pass an array of template html elements and they will have the template class name added and any template functions applied
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_prepareTemplateContent : function(elms) {
+		var x, n, nodes = [];
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for (x = 0; x<elms.length; x++)
+			tinyMCE.getNodeTree(elms[x], nodes, 1);
+
+		for (n = 0; n<nodes.length; n++) {
+			tinyMCE.addCSSClass(nodes[n], TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+			TinyMCE_TemplatePlugin._applyFunctions(nodes[n], TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT);
+		}
+
+		return elms;
+	},
+
+	_replaceValues : function(s) {
+		var t = this, ds = tinyMCE.selectedInstance.getData('template');
+
+		return s.replace(/\{\$([^\}]+)\}/g, function(a, b) {
+			var it = ds.replace_items[b];
+
+			if (it) {
+				// Only supports text for now
+				if (typeof(it) != 'function')
+					return it;
+			}
+
+			return b;
+		});
+	},
+
+	/**
+	 * Applies any special functions to the template elements
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_applyFunctions : function(elms, editor_event) {
+		var x, elm, names, c, f;
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for(x = 0; x < elms.length; x++) {
+			elm = elms[x];
+
+			if (elm.className){
+				names = elm.className.split(/\s+/);
+
+				for (c = 0; c < names.length; c++){
+					if (names[c] == TinyMCE_TemplatePlugin.TMPL_ELEMENT)
+						continue;
+
+					f = (TinyMCE_TemplatePlugin.functions[names[c]] ? TinyMCE_TemplatePlugin.functions[names[c]] : TinyMCE_TemplatePlugin.functions['blank']);
+					f(elm, editor_event);
+				}
+			}
+		}
+
+		return elms;
+	},
+
+	/**
+	 * Given one node reference this function will collect all the nodes of the template to which it belongs.
+	 * It does this by finding the parent template wrapper DIV and returning all child nodes.
+	 *
+	 * @param {HTMLElement} a HTMLElement which is part of a template
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_collectTemplateElements : function(node) {
+		var nodeArray = [], p;
+
+		p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			tinyMCE.getNodeTree(p, nodeArray);
+
+		return nodeArray;
+	},
+
+	/**
+	 * Simply calls TinyMCE_TemplatePlugin._deleteTemplateContent and then TinyMCE_TemplatePlugin._insertTemplate
+	 *
+	 * @param {HTMLElement} currently selected template node in editor
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_replaceTemplateContent : function(currentNode, editor_id, newTemplate, title, tsrc) {
+		TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);
+		TinyMCE_TemplatePlugin._insertTemplate(editor_id, newTemplate, title, tsrc, false);
+	},
+
+	/**
+	 * Deletes a template from the editor content
+	 * Finds the parent DIV wrapper and deletes it and all children
+	 * @param {HTMLElement} currently selected template node in editor
+	 */
+	_deleteTemplateContent : function(node) {
+		var p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			p.parentNode.removeChild(p, true);
+	},
+
+	/**
+	 *  Inserts a template into the specified editor
+	 *
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 */
+	_insertTemplate : function(editor_id, elm, title, tsrc, incComments) {
+		var html;
+
+		TinyMCE_TemplatePlugin._prepareTemplateContent(elm);
+
+		html = '<div class="' + TinyMCE_TemplatePlugin.TMPL + '">';
+		html += elm.innerHTML;
+		html += '<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>';
+
+		tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, html);
+	},
+
+	/**
+	 * template functions - functions for modifying template content
+	 */
+	functions : { 
+		blank : function(elm, editor_event) {},
+
+		cdate : function(elm, editor_event) {
+			var d, dsrc;
+
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			d = new Date();
+			// find out if the creation date was previously stored
+			dsrc = elm.innerHTML.match(new RegExp("<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":(.*)  -->", "gi"));
+
+			if (dsrc)
+				d = new Date(RegExp.$1);
+
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_cdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+			//now we have to store the date value in a format easily read again, in case a future template change changes the date format...
+			elm.innerHTML += "<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":" + d.toUTCString() + "  -->";
+		},
+
+		mdate : function(elm, editor_event) {
+			var d = new Date();
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_mdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+		},
+
+		/**
+		 * This will insert the currently selected editor content into the template element.
+		 * It only does this if the template inserted is a new one and if the element does not have the special class.
+		 * The special class name prevents this from happening more than once.
+		 */
+		selectedContent : function(elm, editor_event) {
+			var ds = tinyMCE.selectedInstance.getData('template');
+	
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			if (ds.currentAction == "insert-new" && !tinyMCE.hasCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)) {
+				elm.innerHTML = tinyMCE.selectedInstance.selection.getSelectedHTML();
+				tinyMCE.addCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE);
+			}
+		},
+
+		/**
+		 * When the plugin is initialised this generates the functions that insert configured strings into template elements.
+		 */
+		generateReplacer : function(s) {
+			return function(elm, editor_event) {elm.innerHTML = "" + s;};
+		}
+	},
+
+	/**
+	 * formats a date according to the format string - straight from the 'insert date/time' plugin
+	 *
+	 * @param {Date} date object
+	 * @param {string} format string
+	 * @return formatted date
+	 * @type string
+	 */
+	_getDateTime : function(d,fmt) {
+			if (!fmt)
+				return "";
+
+			function addZeros(value, len) {
+				var i;
+
+				value = "" + value;
+
+				if (value.length < len) {
+					for (i=0; i<(len-value.length); i++)
+						value = "0" + value;
+				}
+
+				return value;
+			}
+
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_template_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_template_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+	},
+
+	TMPL_ELEMENT : 'mceTmplElm',
+	TMPL : 'mceTmpl',
+	TMPL_BEGINS : 'mceTmplBegins',
+	TMPL_SEL_HTML_DONE : 'mceSelHTMLDone',
+	TMPL_ENDS : 'mceTmplEnds',
+	TMPL_DATE_SRC_ATTR : 'mcetmpldtesrc',
+	TMPL_TEMPLATE_EVENT : 'prepare_template'
+};
+
+tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+// Import external list url javascript
+var url = tinyMCE.getParam("template_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+var TPU = { //Template Popup Utils
+	currentTemplateHTML : null,
+	templates : [],
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	plugin : tinyMCE.getWindowArg('pluginObj'),
+	data : tinyMCE.selectedInstance.getData('template'),
+
+ 	init : function() {
+ 		document.forms[0].insert.value = tinyMCE.getLang('lang_' + this.data.currentAction, 'Insert', true); 
+		TPU.loadTemplatePaths();
+
+		if (this.data.currentAction == "update")
+			document.getElementById('warning').innerHTML = tinyMCE.getLang('lang_template_warning');
+
+		this.resizeInputs();
+	},
+
+ 	loadTemplatePaths : function() {
+		var tsrc, sel, x, u;
+
+ 		tsrc = tinyMCE.getParam("template_templates", false);
+ 		sel = document.getElementById('tpath');
+
+		// Setup external template list
+		if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') {
+			for (x=0, tsrc = []; x<tinyMCETemplateList.length; x++)
+				tsrc.push({title : tinyMCETemplateList[x][0], src : tinyMCETemplateList[x][1], description : tinyMCETemplateList[x][2]});
+		}
+
+		for (x=0; x<tsrc.length; x++) {
+			u = tsrc[x].src;
+
+			// Force absolute
+			if (u.indexOf('://') == -1 && u.indexOf('/') != 0)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			tsrc[x].src = u;
+		}
+
+		TPU.templates = tsrc;
+
+		for (x = 0; x < tsrc.length; x++)
+			sel.options[sel.options.length] = new Option(tsrc[x].title, tsrc[x].src);
+	},
+
+ 	selectTemplate : function(o) {
+		var x, d = window.frames['templatesrc'].document;
+
+		this.currentTemplateHTML = this.plugin._replaceValues(this.getFileContents(o.value));
+
+		// Force complete document
+		if (!/<body/gi.test(this.currentTemplateHTML)) {
+			this.currentTemplateHTML = '<html xmlns="http://www.w3.org/1999/xhtml">' + 
+				'<head>' + 
+					'<title>blank_page</title>' + 
+					'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' + 
+				'</head>' + 
+				'<body>' + 
+				this.currentTemplateHTML + 
+				'</body>' + 
+				'</html>';
+		}
+
+		// Write HTML to preview iframe
+		d.body.innerHTML = this.currentTemplateHTML;
+
+		// Display description
+ 		for (x = 0; x < TPU.templates.length; x++) {
+			if (TPU.templates[x].src == o.value) {
+				document.getElementById('tmpldesc').innerHTML = TPU.templates[x].description;
+				break;
+			}
+		}
+ 	},
+
+ 	insertTemplate : function() {
+		var sel, opt;
+
+		sel = document.getElementById('tpath');
+		opt = sel.options[sel.selectedIndex];
+
+		// Is it a template or snippet
+		if (TPU.currentTemplateHTML.indexOf('mceTmpl'))
+			tinyMCEPopup.execCommand('mceTemplate', false, {title : opt.text, tsrc : opt.value, body : TPU.currentTemplateHTML});
+		else
+			tinyMCEPopup.execCommand('mceInsertContent', false, TPU.currentTemplateHTML);
+
+		tinyMCEPopup.close();
+	},
+
+	getFileContents : function(u) {
+		var x, d, t = 'text/plain';
+
+		function g(s) {
+			x = 0;
+
+			try {
+				x = new ActiveXObject(s);
+			} catch (s) {
+			}
+
+			return x;
+		};
+
+		x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest();
+
+		// Synchronous AJAX load file
+		x.overrideMimeType && x.overrideMimeType(t);
+		x.open("GET", u, false);
+		x.send(null);
+
+		return x.responseText;
+	},
+
+	resizeInputs : function() {
+		var wHeight, wWidth, elm;
+
+		if (!self.innerWidth) {
+			wHeight = document.body.clientHeight - 160;
+			wWidth = document.body.clientWidth - 40;
+		} else {
+			wHeight = self.innerHeight - 160;
+			wWidth = self.innerWidth - 40;
+		}
+
+		elm = document.getElementById('templatesrc');
+
+		if (elm) {
+			elm.style.height = Math.abs(wHeight) + 'px';
+			elm.style.width  = Math.abs(wWidth - 5) + 'px';
+		}
+	}
+};

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+// UK lang variables
+
+tinyMCE.addToLang('template',{
+title : 'Templates',
+label : 'Template',
+desc_label : 'Description',
+desc : 'Insert predefined template content',
+select : 'Select a template',
+preview : 'Preview',
+warning : 'Warning: Updating a template with a different one may cause data loss.',
+def_date_format : '%Y-%m-%d %H:%M:%S',
+months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_template_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/template.js"></script>
+	<link href="css/template.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('TPU.init();');" onresize="TPU.resizeInputs();"> 
+	<form onsubmit="insert();return false;">
+		<div id="frmbody">
+			<div class="title">{$lang_template_desc}</div>
+			<div class="frmRow"><label for="tpath" title="{$lang_template_select}">{$lang_template_label}:</label>
+			<select id="tpath" name="tpath" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="TPU.selectTemplate(this.options[this.selectedIndex]);">
+				<option value="">{$lang_template_select}...</option>
+			</select>
+			<span id="warning"></span></div>
+			<div class="frmRow"><label for="tdesc">{$lang_template_desc_label}:</label>
+			<span id="tmpldesc"></span></div>
+			<fieldset>
+				<legend>{$lang_template_preview}</legend>
+				<iframe id="templatesrc" name="templatesrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe>
+			</fieldset>
+		</div>
+		
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="TPU.insertTemplate();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('visualchars');var TinyMCE_VisualCharsPlugin={getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.visualChars={state:false}},getControlHTML:function(cn){switch(cn){case"visualchars":return tinyMCE.getButtonHTML(cn,'lang_visualchars_desc','{$pluginurl}/images/visualchars.gif','mceVisualChars',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"mceVisualChars":this._toggleVisualChars(editor_id,inst);return true}return false},cleanup:function(type,content,inst){if(type=="insert_to_editor_dom"||type=="get_from_editor_dom"){inst.visualChars.state=true;this._toggleVisualChars(inst.editorId,inst)}return content},_toggleVisualChars:function(editor_id,inst){var nl,i,h,d=inst.getDoc(),b=inst.getBody(),nv,s=inst.selection,bo;inst.visualChars.state=!inst.visualChars.state;bo=s.getBookmark(true);tinyMCE.switchClass(editor_id+'_visualchars',inst.visualChars.state?'mceButtonSelected':'mceButtonNormal');if(inst.visualChars.state){nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1});for(i=0;i<nl.length;i++){nv=nl[i].nodeValue;nv=nv.replace(/(\u00a0+)/g,'<span class="mceItemHiddenVisualChar">$1</span>');nv=nv.replace(/\u00a0/g,'\u00b7');tinyMCE.setOuterHTML(nl[i],nv,d)}}else{nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==1&&n.nodeName=='SPAN'&&n.className=='mceItemHiddenVisualChar'});for(i=0;i<nl.length;i++)tinyMCE.setOuterHTML(nl[i],nl[i].innerHTML.replace(/(&middot;|\u00b7)/g,'&nbsp;'),d)}}};tinyMCE.addPlugin("visualchars",TinyMCE_VisualCharsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('visualchars');
+
+var TinyMCE_VisualCharsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Visual characters',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.visualChars = {
+			state : false
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "visualchars":
+				return tinyMCE.getButtonHTML(cn, 'lang_visualchars_desc', '{$pluginurl}/images/visualchars.gif', 'mceVisualChars', false);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		switch (command) {
+			case "mceVisualChars":
+				this._toggleVisualChars(editor_id, inst);
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == "insert_to_editor_dom" || type == "get_from_editor_dom") {
+			inst.visualChars.state = true;
+			this._toggleVisualChars(inst.editorId, inst);
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_toggleVisualChars : function(editor_id, inst) {
+		var nl, i, h, d = inst.getDoc(), b = inst.getBody(), nv, s = inst.selection, bo;
+
+		inst.visualChars.state = !inst.visualChars.state;
+
+		bo = s.getBookmark(true);
+
+		tinyMCE.switchClass(editor_id + '_visualchars', inst.visualChars.state ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (inst.visualChars.state) {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1;});
+
+			for (i=0; i<nl.length; i++) {
+				nv = nl[i].nodeValue;
+				nv = nv.replace(/(\u00a0+)/g, '<span class="mceItemHiddenVisualChar">$1</span>');
+				nv = nv.replace(/\u00a0/g, '\u00b7');
+				tinyMCE.setOuterHTML(nl[i], nv, d);
+			}
+		} else {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';});
+
+			for (i=0; i<nl.length; i++)
+				tinyMCE.setOuterHTML(nl[i], nl[i].innerHTML.replace(/(&middot;|\u00b7)/g, '&nbsp;'), d);
+		}
+
+		//s.moveToBookmark(bo);
+	}
+};
+
+tinyMCE.addPlugin("visualchars", TinyMCE_VisualCharsPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('visualchars',{
+desc : 'Visual control characters on/off.'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_abbr_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/abbr.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAbbr();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAbbr();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAbbr();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_acronym_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/acronym.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAcronym();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAcronym();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAcronym();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_attribs_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/attributes.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/attributes.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAction();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_attrib_tab}</a></span></li>
+			<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_events_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+						<td>
+							<select id="classlist" name="classlist" class="mceEditableSelect">
+								<option value="" selected>{$lang_not_set}</option>
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" />
+						</td> 
+					</tr>
+					<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_xhtmlxtras_attribute_label_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_xhtmlxtras_attribute_label_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_cite_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cite.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertCite();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertCite();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeCite();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 290px;
+}
+
+#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important;  cursor: default;  background-color: #B6BDD2;}
+
+img {
+	border: 0;
+}
+
+input.field, select.field {
+	width: 200px;
+}
+
+input.picker {
+	width: 179px;
+	margin-left: 5px;
+}
+
+input.disabled {
+	border-color: #F2F2F2;
+}
+
+img.picker {
+	vertical-align: text-bottom;
+	cursor: pointer;
+}
+
+h1 {
+	padding: 0 0 5px 0;
+}
+
+#remove {
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0px;
+	background-image: url('../images/remove_button_bg.gif');
+	cursor: pointer;
+	margin-left: 3px;
+}
+
+.panel_wrapper div.current {
+	height: 160px;
+}
+
+#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {
+	height: 220px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+ins {
+	border-bottom: 1px solid green;
+	text-decoration: none;
+	color: green;
+}
+
+del {
+	color: Red;
+	text-decoration: line-through;
+}
+
+cite {
+	border-bottom: 1px dashed blue;
+}
+
+acronym {
+	border-bottom: 1px dotted #CCC;
+	cursor: help;
+}
+
+abbr, html\:abbr {
+	border-bottom: 1px dashed #CCC;
+	cursor: help;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_del_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/del.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertDel();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertDel();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeDel();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('xhtmlxtras');var TinyMCE_XHTMLXtrasPlugin={getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/xhtmlxtras/css/xhtmlxtras.css")},getControlHTML:function(cn){switch(cn){case"cite":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_cite_desc','{$pluginurl}/images/cite.gif','mceCite',true);case"acronym":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_acronym_desc','{$pluginurl}/images/acronym.gif','mceAcronym',true);case"abbr":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_abbr_desc','{$pluginurl}/images/abbr.gif','mceAbbr',true);case"del":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_del_desc','{$pluginurl}/images/del.gif','mceDel',true);case"ins":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_ins_desc','{$pluginurl}/images/ins.gif','mceIns',true);case"attribs":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_attribs_desc','{$pluginurl}/images/attribs.gif','mceAttributes',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var template,inst,elm;switch(command){case"mceCite":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/cite.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAcronym":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/acronym.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAbbr":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/abbr.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceIns":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/ins.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceDel":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/del.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAttributes":inst=tinyMCE.getInstanceById(editor_id);elm=inst.getFocusElement();if(elm&&elm.nodeName!=='BODY'&&elm.className.indexOf('mceItem')==-1){tinyMCE.openWindow({file:'../../plugins/xhtmlxtras/attributes.htm',width:380,height:370},{editor_id:editor_id})}return true}return false},cleanup:function(type,content,inst){if(type=='insert_to_editor'&&tinyMCE.isIE&&!tinyMCE.isOpera){content=content.replace(/<abbr([^>]+)>/gi,'<html:ABBR $1>');content=content.replace(/<\/abbr>/gi,'</html:ABBR>')}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null)return;tinyMCE.switchClass(editor_id+'_attribs','mceButtonDisabled');if(!any_selection){tinyMCE.switchClass(editor_id+'_cite','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_acronym','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_abbr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_del','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_ins','mceButtonDisabled')}else{tinyMCE.switchClass(editor_id+'_cite','mceButtonNormal');tinyMCE.switchClass(editor_id+'_acronym','mceButtonNormal');tinyMCE.switchClass(editor_id+'_abbr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_del','mceButtonNormal');tinyMCE.switchClass(editor_id+'_ins','mceButtonNormal')}if(elm&&elm.nodeName!='BODY'&&elm.className.indexOf('mceItem')==-1)tinyMCE.switchClass(editor_id+'_attribs','mceButtonNormal');switch(node.nodeName){case"CITE":tinyMCE.switchClass(editor_id+'_cite','mceButtonSelected');return true;case"ACRONYM":tinyMCE.switchClass(editor_id+'_acronym','mceButtonSelected');return true;case"abbr":case"HTML:ABBR":case"ABBR":tinyMCE.switchClass(editor_id+'_abbr','mceButtonSelected');return true;case"DEL":tinyMCE.switchClass(editor_id+'_del','mceButtonSelected');return true;case"INS":tinyMCE.switchClass(editor_id+'_ins','mceButtonSelected');return true}return true},_anySel:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),t=inst.selection.getSelectedText(),pe;pe=tinyMCE.getParentElement(inst.getFocusElement(),'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');return pe||inst.getFocusElement().nodeName=="IMG"||(t&&t.length>0)}};tinyMCE.addPlugin("xhtmlxtras",TinyMCE_XHTMLXtrasPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('xhtmlxtras');
+
+var TinyMCE_XHTMLXtrasPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'XHTML Xtras Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/xhtmlxtras/css/xhtmlxtras.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "cite":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_cite_desc', '{$pluginurl}/images/cite.gif', 'mceCite', true);
+
+			case "acronym":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_acronym_desc', '{$pluginurl}/images/acronym.gif', 'mceAcronym', true);
+
+			case "abbr":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_abbr_desc', '{$pluginurl}/images/abbr.gif', 'mceAbbr', true);
+
+			case "del":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_del_desc', '{$pluginurl}/images/del.gif', 'mceDel', true);
+
+			case "ins":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_ins_desc', '{$pluginurl}/images/ins.gif', 'mceIns', true);
+
+			case "attribs":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_attribs_desc', '{$pluginurl}/images/attribs.gif', 'mceAttributes', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var template, inst, elm;
+
+		switch (command) {
+			case "mceCite":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/cite.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAcronym":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/acronym.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAbbr":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/abbr.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceIns":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/ins.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceDel":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/del.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAttributes":
+				inst = tinyMCE.getInstanceById(editor_id);
+				elm = inst.getFocusElement();
+
+				if (elm && elm.nodeName !== 'BODY' && elm.className.indexOf('mceItem') == -1) {
+					tinyMCE.openWindow({
+						file : '../../plugins/xhtmlxtras/attributes.htm',
+						width : 380,
+						height : 370
+					}, {editor_id : editor_id});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == 'insert_to_editor' && tinyMCE.isIE && !tinyMCE.isOpera) {
+			content = content.replace(/<abbr([^>]+)>/gi, '<html:ABBR $1>');
+			content = content.replace(/<\/abbr>/gi, '</html:ABBR>');
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index,undo_levels, visual_aid, any_selection) {
+		var elm = tinyMCE.getParentElement(node);
+
+		if (node == null)
+			return;
+
+		tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonDisabled');
+
+		if (!any_selection) {
+			// Disable the buttons
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonDisabled');
+		} else {
+			// A selection means the buttons should be active.
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonNormal');
+		}
+
+		if (elm && elm.nodeName != 'BODY' && elm.className.indexOf('mceItem') == -1)
+			tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonNormal');
+
+		switch (node.nodeName) {
+			case "CITE":
+				tinyMCE.switchClass(editor_id + '_cite', 'mceButtonSelected');
+				return true;
+
+			case "ACRONYM":
+				tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonSelected');
+				return true;
+
+			case "abbr": // IE
+			case "HTML:ABBR": // FF
+			case "ABBR":
+				tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonSelected');
+				return true;
+
+			case "DEL":
+				tinyMCE.switchClass(editor_id + '_del', 'mceButtonSelected');
+				return true;
+
+			case "INS":
+				tinyMCE.switchClass(editor_id + '_ins', 'mceButtonSelected');
+				return true;
+		}
+
+		return true;
+	},
+
+	_anySel : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), t = inst.selection.getSelectedText(), pe;
+
+		pe = tinyMCE.getParentElement(inst.getFocusElement(), 'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');
+
+		return pe || inst.getFocusElement().nodeName == "IMG" || (t && t.length > 0);
+	}
+};
+
+tinyMCE.addPlugin("xhtmlxtras", TinyMCE_XHTMLXtrasPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_ins_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/ins.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertIns();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td> 
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td> 
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertIns();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeIns();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('abbr');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAbbr() {
+	SXE.insertElement(tinyMCE.isIE && !tinyMCE.isOpera ? 'html:ABBR' : 'abbr');
+	tinyMCEPopup.close();
+}
+
+function removeAbbr() {
+	SXE.removeElement('abbr');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('acronym');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAcronym() {
+	SXE.insertElement('acronym');
+	tinyMCEPopup.close();
+}
+
+function removeAcronym() {
+	SXE.removeElement('acronym');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	var f = document.forms[0];
+	
+	var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+	setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+	setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+	setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+	setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+	setFormValue('onclick', onclick);
+	setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+	setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+	setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+	setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+	setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+	setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+	setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+	setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+	setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+	
+	className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
+		
+	addClassesToList('classlist', 'advlink_styles');
+	selectByValue(f, 'classlist', className, true);
+	
+	TinyMCE_EditableSelects.init();
+}
+
+function setFormValue(name, value) {
+	if(value && document.forms[0].elements[name]){
+		document.forms[0].elements[name].value = value;
+	}
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");	
+	tinyMCEPopup.restoreSelection();
+	
+	setAllAttribs(elm);
+	
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllAttribs(elm) {
+	var f = document.forms[0];
+
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function insertAttribute() {
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('cite');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertCite() {
+	SXE.insertElement('cite');
+	tinyMCEPopup.close();
+}
+
+function removeCite() {
+	SXE.removeElement('cite');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('del');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertDel() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'del');
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'del', 'id', '#sxe_temp_del#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeDel() {
+	SXE.removeElement('del');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function initCommonAttributes(elm) {
+	var formObj = document.forms[0];
+
+	// Setup form data for common element attributes
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	selectByValue(formObj, 'class', tinyMCE.getAttrib(elm, 'class'), true);
+	setFormValue('style', tinyMCE.getAttrib(elm, 'style'));
+	selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('onfocus', tinyMCE.getAttrib(elm, 'onfocus'));
+	setFormValue('onblur', tinyMCE.getAttrib(elm, 'onblur'));
+	setFormValue('onclick', tinyMCE.getAttrib(elm, 'onclick'));
+	setFormValue('ondblclick', tinyMCE.getAttrib(elm, 'ondblclick'));
+	setFormValue('onmousedown', tinyMCE.getAttrib(elm, 'onmousedown'));
+	setFormValue('onmouseup', tinyMCE.getAttrib(elm, 'onmouseup'));
+	setFormValue('onmouseover', tinyMCE.getAttrib(elm, 'onmouseover'));
+	setFormValue('onmousemove', tinyMCE.getAttrib(elm, 'onmousemove'));
+	setFormValue('onmouseout', tinyMCE.getAttrib(elm, 'onmouseout'));
+	setFormValue('onkeypress', tinyMCE.getAttrib(elm, 'onkeypress'));
+	setFormValue('onkeydown', tinyMCE.getAttrib(elm, 'onkeydown'));
+	setFormValue('onkeyup', tinyMCE.getAttrib(elm, 'onkeyup'));
+}
+
+function setFormValue(name, value) {
+	if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value;
+}
+
+function insertDateTime(id) {
+	document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S");
+}
+
+function getDateTime(d, fmt) {
+	fmt = fmt.replace("%D", "%m/%d/%y");
+	fmt = fmt.replace("%r", "%I:%M:%S %p");
+	fmt = fmt.replace("%Y", "" + d.getFullYear());
+	fmt = fmt.replace("%y", "" + d.getYear());
+	fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+	fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+	fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+	fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+	fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+	fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+	fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+	fmt = fmt.replace("%%", "%");
+
+	return fmt;
+}
+
+function addZeros(value, len) {
+	var i;
+
+	value = "" + value;
+
+	if (value.length < len) {
+		for (i=0; i<(len-value.length); i++)
+			value = "0" + value;
+	}
+
+	return value;
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option('Value: ' + value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+	}
+
+	return found;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class") {
+			tinyMCE.addCSSClass(elm, value);
+			return;
+		}
+
+		elm.setAttribute(attrib.toLowerCase(), value);
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllCommonAttribs(elm) {
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'class');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	/*setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');*/
+}
+
+SXE = {
+	currentAction : "insert",
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	updateElement : null
+}
+
+SXE.focusElement = SXE.inst.getFocusElement();
+
+SXE.initElementDialog = function(element_name) {
+	addClassesToList('class', 'xhtmlxtras_styles');
+	TinyMCE_EditableSelects.init();
+
+	element_name = element_name.toLowerCase();
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if (elm != null && elm.nodeName == element_name.toUpperCase()) {
+		SXE.currentAction = "update";
+	}
+
+	if (SXE.currentAction == "update") {
+		initCommonAttributes(elm);
+		SXE.updateElement = elm;
+	}
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + SXE.currentAction, 'Insert', true); 
+}
+
+SXE.insertElement = function(element_name) {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name), h, tagName;
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tagName = element_name;
+
+			if (tinyMCE.isIE && !tinyMCE.isOpera && element_name.indexOf('html:') == 0)
+				element_name = element_name.substring(5).toLowerCase();
+
+			h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
+
+			tinyMCEPopup.execCommand('mceInsertContent', false, h);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), element_name, 'id', '#sxe_temp_' + element_name + '#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+
+				elm.id = '';
+				elm.setAttribute('id', '');
+				elm.removeAttribute('id');
+
+				setAllCommonAttribs(elm);
+			}
+		}
+	} else {
+		setAllCommonAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+}
+
+SXE.removeElement = function(element_name){
+	element_name = element_name.toLowerCase();
+	elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if(elm && elm.nodeName == element_name.toUpperCase()){
+		tinyMCEPopup.execCommand('mceBeginUndoLevel');
+		tinyMCE.execCommand('mceRemoveNode', false, elm);
+		tinyMCE.triggerNodeChange();
+		tinyMCEPopup.execCommand('mceEndUndoLevel');
+	}
+}
+
+SXE.showRemoveButton = function() {
+		document.getElementById("remove").style.display = 'block';
+}
+
+SXE.containsClass = function(elm,cl) {
+	return (elm.className.indexOf(cl) > -1) ? true : false;
+}
+
+SXE.removeClass = function(elm,cl) {
+	if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) {
+		return true;
+	}
+	var classNames = elm.className.split(" ");
+	var newClassNames = "";
+	for (var x = 0, cnl = classNames.length; x < cnl; x++) {
+		if (classNames[x] != cl) {
+			newClassNames += (classNames[x] + " ");
+		}
+	}
+	elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end
+}
+
+SXE.addClass = function(elm,cl) {
+	if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
+	return true;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('ins');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertIns() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'ins');
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'ins', 'id', '#sxe_temp_ins#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeIns() {
+	SXE.removeElement('ins');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+// UK lang variables
+
+tinyMCE.addToLang('xhtmlxtras',{
+cite_desc : 'Citation',
+abbr_desc : 'Abbreviation',
+acronym_desc : 'Acronym',
+del_desc : 'Deletion',
+ins_desc : 'Insertion',
+attribute_label_title : 'Title',
+attribute_label_id : 'ID',
+attribute_label_class : 'Class',
+attribute_label_style : 'Style',
+attribute_label_cite : 'Cite',
+attribute_label_datetime : 'Date/Time',
+attribute_label_langdir : 'Text Direction',
+attribute_option_ltr : 'Left to right',
+attribute_option_rtl : 'Right to left',
+attribute_label_langcode : 'Language',
+attribute_label_tabindex : 'TabIndex',
+attribute_label_accesskey : 'AccessKey',
+attribute_label_cite : 'Cite',
+attribute_events_tab : 'Events',
+attribute_attrib_tab : 'Attributes',
+general_tab : 'General',
+attrib_tab : 'Attributes',
+events_tab : 'Events',
+fieldset_general_tab : 'General Settings',
+fieldset_attrib_tab : 'Element Attributes',
+fieldset_events_tab : 'Element Events',
+title_ins_element : 'Insertion Element',
+title_del_element : 'Deletion Element',
+title_acronym_element : 'Acronym Element',
+title_abbr_element : 'Abbreviation Element',
+title_cite_element : 'Citation Element',
+remove : 'Remove',
+not_set : '--not set--',
+insert_date : 'Insert current date/time',
+option_ltr : 'Left to right',
+option_rtl : 'Right to left',
+attribs_desc : 'Insert/Edit Attributes',
+attribs_title : 'Insert/Edit Attributes'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="100%">+ 100%</option>'+'<option value="150%">+ 150%</option>'+'<option value="200%">+ 200%</option>'+'<option value="250%">+ 250%</option>'+'</select>'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true}return false}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_ZoomPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Zoom',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the zoom control.
+	 */
+	getControlHTML : function(control_name) {
+		if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera)
+			return "";
+
+		switch (control_name) {
+			case "zoom":
+				return '<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">' + 
+						'<option value="100%">+ 100%</option>' + 
+						'<option value="150%">+ 150%</option>' + 
+						'<option value="200%">+ 200%</option>' + 
+						'<option value="250%">+ 250%</option>' + 
+						'</select>';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceZoom command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceZoom":
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/richtext.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+tinyMCE.init({
+    mode : "exact",
+    elements : "gridsphere-richtext",
+    theme : "advanced",
+    convert_urls : false
+});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_about_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
+	<base target="_self" />
+</head>
+<body id="about" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_about}</a></span></li>
+				<li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
+				<li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<h3>{$lang_about_title}</h3>
+				<p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
+				<p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
+				by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
+				<p>Copyright &copy; 2003-2007, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
+				<p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
+
+				<div id="buttoncontainer"></div>
+			</div>
+
+			<div id="plugins_panel" class="panel">
+				<div id="pluginscontainer">
+					<h3>{$lang_loaded_plugins}</h3>
+
+					<div id="plugintablecontainer">
+					</div>
+
+					<p>&nbsp;</p>
+				</div>
+			</div>
+
+			<div id="help_panel" class="panel noscroll" style="overflow: visible;">
+				<div id="iframecontainer"></div>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_anchor_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAnchor();return false;" action="#">
+
+	<table border="0" cellpadding="4" cellspacing="0">
+		<tr>
+			<td colspan="2" class="title">{$lang_insert_anchor_title}</td>
+		</tr>
+		<tr>
+			<td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
+			<td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
+		</tr>
+	</table>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_charmap_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<table align="center" border="0" cellspacing="0" cellpadding="2">
+    <tr>
+        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
+    </tr>
+    <tr>
+        <td rowspan="2" align="left" valign="top">
+            <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
+        </td>
+        <td width="100" align="center" valign="top">
+            <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
+                <tr>
+                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="bottom" style="padding-bottom: 3px;">
+            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 1px;">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_colorpicker_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
+	<link href="css/colorpicker.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div class="tabs">
+		<ul>
+			<li id="picker_tab" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{$lang_color_picker_tab}</a></span></li>
+			<li id="rgb_tab"><span><a href="#" onclick="generateWebColors();mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{$lang_web_colors_tab}</a></span></li>
+			<li id="named_tab"><span><a  href="#" onclick="generateNamedColors();javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{$lang_named_colors_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="picker_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_color_picker}</legend>
+				<div id="picker">
+					<img id="colorpicker" src="images/colors.jpg" onclick="computeColor(event)" onmousedown="isMouseDown = true;return false;" onmouseup="isMouseDown = false;" onmousemove="if (isMouseDown && isMouseOver) computeColor(event); return false;" onmouseover="isMouseOver=true;" onmouseout="isMouseOver=false;" />
+
+					<div id="light">
+						<!-- Will be filled with divs -->
+					</div>
+
+					<br style="clear: both" />
+				</div>
+			</fieldset>
+		</div>
+
+		<div id="rgb_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_web_colors}</legend>
+				<div id="webcolors">
+					<!-- Gets filled with web safe colors-->
+				</div>
+
+				<br style="clear: both" />
+			</fieldset>
+		</div>
+
+		<div id="named_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_named_colors}</legend>
+				<div id="namedcolors">
+					<!-- Gets filled with named colors-->
+				</div>
+
+				<br style="clear: both" />
+
+				<div id="colornamecontainer">
+					{$lang_color_name} <span id="colorname"></span>
+				</div>
+			</fieldset>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" onclick="insertAction();" />
+		</div>
+
+		<div id="preview"></div>
+
+		<div id="previewblock">
+			<label for="color">{$lang_color}</label> <input id="color" type="text" size="8" maxlength="8" class="text" />
+		</div>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+/* Colorpicker dialog specific CSS */
+
+#preview {
+	float: right;
+	width: 50px;
+	height: 14px;
+	line-height: 1px;
+	border: 1px solid black;
+	margin-left: 5px;
+}
+
+#colorpicker {
+	float: left;
+	cursor: crosshair;
+}
+
+#light {
+	border: 1px solid gray;
+	margin-left: 5px;
+	float: left;
+	width: 15px;
+	cursor: crosshair;
+}
+
+#light div {
+	overflow: hidden;
+}
+
+#previewblock {
+	float: right;
+	padding-left: 10px;
+	height: 20px;
+}
+
+.panel_wrapper div.current {
+	height: 175px;
+}
+
+#namedcolors {
+	width: 150px;
+}
+
+#namedcolors a {
+	display: block;
+	float: left;
+	width: 10px; height: 10px;
+	margin: 1px 1px 0 0;
+	overflow: hidden;
+}
+
+#colornamecontainer {
+	margin-top: 5px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
+/* You can extend this CSS by adding your own CSS file with the the content_css option */
+
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB !important;
+}
+
+div.mceVisualAid {
+	background-image:url('../images/spacer.gif');
+	visibility: visible !important;
+}
+
+.mceItemAnchor {
+	width: 12px;
+	line-height: 6px;
+	overflow: hidden;
+	padding-left: 12px;
+	background-image: url('../images/anchor_symbol.gif');
+	background-position: bottom;
+	background-repeat: no-repeat;
+}
+
+/* Important is needed in Gecko browsers inorder to style links */
+/*
+a {
+	color: green !important;
+}
+*/
+
+/* Style selection range colors in Gecko browsers */
+/*
+::-moz-selection {
+	background-color: red;
+	color: green;
+}
+*/
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+/* This file contains the CSS data for all popups in TinyMCE */
+
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+	margin: 8px;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+#insert, .updateButton {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/insert_button_bg.gif');
+   cursor: pointer;
+}
+
+#cancel {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/cancel_button_bg.gif');
+   cursor: pointer;
+}
+
+/* Mozilla only style */
+html>body #insert, html>body #cancel {
+	padding-bottom: 2px;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+	color: #2B6FB6;
+}
+
+table.charmap {
+	border-style: solid;
+	border-width: 1px;
+	border-color: #AAAAAA;
+}
+
+td.charmap, td.charmapOver {
+	color: #000000;
+	border-color: #AAAAAA;
+	border-style: solid;
+	border-width: 1px;
+	text-align: center;
+	font-size: 12px;
+}
+
+td.charmapOver {
+	background-color: #CCCCCC;
+	cursor: default;
+}
+
+a.charmap {
+	color: #000000;
+	text-decoration: none
+}
+
+.wordWrapCode {
+	vertical-align: middle;
+	border: 1px none #000000;
+	background-color: transparent;
+}
+
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+input.checkbox {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+	margin-left: 1px;
+}
+
+.mceButtonNormal {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceButtonOver {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+	cursor: default;
+	border: 1px solid #0A246A;
+	background-color: #8592B5;
+}
+
+.mceButtonDisabled {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceActionPanel {
+	margin-top: 5px;
+}
+
+/* Tabs classes */
+
+.tabs {
+	float: left;
+	width: 100%;
+	line-height: normal;
+	background-image: url("../images/xp/tabs_bg.gif");
+}
+
+.tabs ul {
+	margin: 0;
+	padding: 0 0 0;
+	list-style: none;
+}
+
+.tabs li {
+	float: left;
+	background: url("../images/xp/tab_bg.gif") no-repeat left top;
+	margin: 0;
+	margin-left: 0;
+	margin-right: 2px;
+	padding: 0 0 0 10px;
+	line-height: 18px;
+}
+
+.tabs li.current {
+	background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
+	margin-right: 2px;
+}
+
+.tabs span {
+	float: left;
+	display: block;
+	background: url("../images/xp/tab_end.gif") no-repeat right top;
+	padding: 0px 10px 0 0;
+}
+
+.tabs .current span {
+	background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
+}
+
+.tabs a {
+	text-decoration: none;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+}
+
+.tabs a:link, .tabs a:visited, .tabs a:hover {
+	color: black;
+}
+
+.tabs a:hover {
+}
+
+.tabs .current {
+}
+
+.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
+}
+
+.panel_wrapper div.panel {
+	display: none;
+}
+
+.panel_wrapper div.current {
+	display: block;
+	width: 100%;
+	height: 300px;
+	overflow: visible; /* Should be auto but that breaks Safari */
+}
+
+.panel_wrapper {
+	border: 1px solid #919B9C;
+	border-top: 0px;
+	padding: 10px;
+	padding-top: 5px;
+	clear: both;
+	background-color: white;
+}
+
+fieldset {
+	border: 1px solid #919B9C;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+	padding: 0;
+	margin: 0;
+	padding: 4px;
+}
+
+legend {
+	color: #2B6FB6;
+	font-weight: bold;
+}
+
+.properties {
+	width: 100%;
+}
+
+.properties .column1 {
+}
+
+.properties .column2 {
+	text-align: left;
+}
+
+a:link, a:visited {
+	color: black;
+}
+
+a:hover {
+	color: #2B6FB6;
+}
+
+#plugintable thead {
+	font-weight: bold;
+	background-color: #DDDDDD;
+}
+
+#plugintable, #about #plugintable td {
+	border: 1px solid #919B9C;
+}
+
+#plugintable {
+	width: 99%;
+	margin-top: 10px;
+}
+
+#pluginscontainer {
+	height: 290px;
+	overflow: auto;
+}
+
+/* MSIE Specific styles */
+
+* html .panel_wrapper {
+	width: 100%;
+}
+
+.column {
+	float: left;
+}
+
+h1, h2, h3, h4 {
+	color: #2B6FB6;
+	margin: 0;
+	padding: 0;
+	padding-top: 5px;
+}
+
+h3 {
+	font-size: 14px;
+}
+
+#link .panel_wrapper, #link div.current {
+	height: 125px;
+}
+
+#image .panel_wrapper, #image div.current {
+	height: 190px;
+}
+
+label.msg { display: none; }
+label.invalid { color: #EE0000; display: inline; }
+input.invalid { border: 1px solid #EE0000; }
+
+/* Disables the advanced tab in the table plugin. */
+/*
+#table #advanced_tab {
+	display: none;
+}
+*/
+
+/* Disables the border input field and label in the table plugin. */
+/*
+#table #border, #table #borderlabel {
+	display: none;
+}
+*/

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+/* This file contains the CSS data for the editor UI of TinyMCE instances */
+
+.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {border: 0; margin: 0; padding: 0; background: transparent;}
+.mceSeparatorLine {border: 0; padding: 0; margin-left: 4px; margin-right: 2px;}
+.mceSelectList {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 7pt !important; font-weight: normal; margin-top: 3px; padding: 0; display: inline; vertical-align: top; background-color: #F0F0EE;}
+.mceLabel, .mceLabelDisabled {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt;}
+.mceLabel {color: #000000;}
+.mceLabelDisabled {cursor: text; color: #999999;}
+.mceEditor {background: #F0F0EE; border: 1px solid #cccccc; padding: 0; margin: 0;}
+.mceEditorArea { font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; background: #FFFFFF; padding: 0; margin: 0; }
+.mceToolbarTop, .mceToolbarBottom {background: #F0F0EE; line-height: 1px; font-size: 1px;}
+.mceToolbarTop {border-bottom: 1px solid #cccccc; padding-bottom: 1px;}
+.mceToolbarBottom {border-top: 1px solid #cccccc;}
+.mceToolbarContainer {display: block; position: relative; left: 0; top: 0; width: 100%;}
+.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {height: 20px;}
+.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; padding: 2px; line-height: 16px; overflow: visible;}
+.mceStatusbarTop {border-bottom: 1px solid #cccccc;}
+.mceStatusbarBottom {border-top: 1px solid #cccccc;}
+.mceStatusbar {border-bottom: 1px solid #cccccc;}
+.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {text-decoration: none; font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; color: #000000;}
+.mcePathItem:hover {text-decoration: underline;}
+.mceStatusbarPathText {float: left;}
+.mceStatusbarResize {float: right; background-image: url('../images/statusbar_resize.gif'); background-repeat: no-repeat; width: 11px; height: 20px; cursor: se-resize;}
+.mceResizeBox {width: 10px; height: 10px; display: none; border: 1px dotted gray; margin: 0; padding: 0;}
+.mceEditorIframe {border: 0;}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {width: 20px; height: 20px; cursor: default; margin-top: 1px; margin-left: 1px;}
+a.mceButtonDisabled img {border: 0 !important;}
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonSelected img {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;}
+a.mceButtonDisabled img {-moz-opacity:0.3; opacity: 0.3; border: 1px solid #F0F0EE !important; cursor: default;}
+a.mceTiledButton img {background-image: url('../images/buttons.gif'); background-repeat: no-repeat;}
+
+/* Menu button CSS rules */
+
+span.mceMenuButton img, span.mceMenuButtonSelected img {border: 1px solid #F0F0EE; margin-left: 1px;}
+span.mceMenuButtonSelected img {border: 1px solid #6779AA; background-color: #B6BDD2;}
+span.mceMenuButtonSelected img.mceMenuButton {border: 1px solid #F0F0EE; background-color: transparent;}
+span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {border-left: 0; margin-left: 0;}
+span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {border-left: 0;}
+span.mceMenuButtonFocus img {border: 1px solid gray; border-right: 0; margin-left: 1px; background-color: #F5F4F2;}
+span.mceMenuButtonFocus img.mceMenuButton {border: 1px solid gray; border-left: 1px solid #F5F4F2; margin-left: 0;}
+span.mceMenuHover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {border: 1px solid #0A246A; background-color: #B6BDD2; border-left: 0;}
+
+/* Menu */
+
+.mceMenu {position: absolute; left: 0; top: 0; display: none; z-index: 1000; background-color: white; border: 1px solid gray; font-weight: normal;}
+.mceMenu a, .mceMenuTitle, .mceMenuDisabled {display: block; width: 100%; text-decoration: none; background-color: white; font-family: Tahoma, Verdana, Arial, Helvetica; font-size: 11px; line-height: 20px; color: black;}
+.mceMenu a:hover {background-color: #B6BDD2; color: black; text-decoration: none !important;}
+.mceMenu span {padding-left: 10px; padding-right: 10px; display: block; line-height: 20px;}
+.mceMenuSeparator {border-bottom: 1px solid gray; background-color: gray; height: 1px;}
+.mceMenuTitle span {padding-left: 5px;}
+.mceMenuTitle {background-color: #DDDDDD; font-weight: bold;}
+.mceMenuDisabled {color: gray;}
+span.mceMenuSelectedItem {background-image: url('../images/menu_check.gif'); background-repeat: no-repeat; background-position: 5px 8px; padding-left: 20px;}
+span.mceMenuCheckItem {padding-left: 20px;}
+span.mceMenuLine {display: block; position: absolute; left: 0; top: -1px; background-color: #F5F4F2; width: 30px; height: 1px; overflow: hidden; padding-left: 0; padding-right: 0;}
+.mceColors table, .mceColors td {margin: 0; padding: 2px;}
+a.mceMoreColors {width: auto; padding: 0; margin: 0 3px 3px 3px; text-align: center; border: 1px solid white; text-decoration: none !important;}
+.mceColorPreview {position: absolute; overflow:hidden; left: 0; top: 0; margin-left: 3px; margin-top: 15px; width: 16px; height: 4px; background-color: red;}
+a.mceMoreColors:hover {border: 1px solid #0A246A;}
+.mceColors td a {width: 9px; height: 9px; overflow: hidden; border: 1px solid #808080;}
+
+/* MSIE 6 specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+* html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+* html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+* html a.mceButtonNormal, * html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+* html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+* html .mceSelectList {margin-top: 2px;}
+* html span.mceMenuButton, * html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+* html a.mceMoreColors {width: auto;}
+* html .mceColors td a {width: 10px; height: 10px;}
+* html .mceColorPreview {margin-left: 2px; margin-top: 14px;}
+
+/* MSIE 7 specific rules */
+
+*:first-child+html a.mceButtonNormal img, *:first-child+html a.mceButtonSelected img, *:first-child+html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+*:first-child+html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+*:first-child+html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+*:first-child+html a.mceButtonNormal, *:first-child+html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+*:first-child+html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+*:first-child+html a.mceButtonNormal:hover, *:first-child+html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+*:first-child+html .mceSelectList {margin-top: 2px;}
+*:first-child+html span.mceMenuButton, *:first-child+html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+*:first-child+html span.mceMenuButton img, *:first-child+html span.mceMenuButtonSelected img, *:first-child+html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+*:first-child+html a.mceMoreColors {width: 137px;}
+*:first-child+html .mceColors td a {width: 10px; height: 10px;}
+*:first-child+html .mceColorPreview {margin: 0; padding-left: 4px; margin-top: 14px; width: 14px;}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">About TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
+that enables you to edit HTML contents in a more user friendly way. It has common 
+features that are found in most word processors and should not be difficult to 
+use.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Common buttons</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Below is a short description about each button.
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20" alt="Bold text icon" /></td>
+    <td>Bold text style (Ctrl+B).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20" alt="Italic text icon" /></td>
+    <td>Italic text style (Ctrl+I).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20" alt="Underline text icon." /></td>
+    <td>Underline text style (Ctrl+U).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20" alt="Strikethrough text icon." /></td>
+    <td>Strikethrough text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyleft.gif" width="20" height="20" alt="Align left icon." /></td>
+    <td>Align left.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifycenter.gif" width="20" height="20" alt="Align center icon." /></td>
+    <td>Align center.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyright.gif" width="20" height="20" alt="Align right icon." /></td>
+    <td>Align right.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyfull.gif" width="20" height="20" alt="Align full icon." /></td>
+    <td>Align full.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20" alt="Unordered list/bullet list icon." /></td>
+    <td>Unordered list/bullet list.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20" alt="Ordered list/numbered list icon." /></td>
+    <td>Ordered list/numbered list</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20" alt="Outdent/decrease indentation icon." /></td>
+    <td>Outdent/decrease indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20" alt="Indent/increase indentation icon." /></td>
+    <td>Indent/increase indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20" alt="Undo the last operation." /></td>
+    <td>Undo the last operation (Ctrl+Z).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20" alt="Redo the last operation icon." /></td>
+    <td>Redo the last operation (Ctrl+Y).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20" alt="Insert a new link icon." /></td>
+    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
+      link section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20" alt="Unlinks the current selection icon." /></td>
+    <td>Unlinks the current selection/removes all selected links.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20" alt="Insert a new anchor icon." /></td>
+    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20" alt="Insert a new image icon." /></td>
+    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
+      image section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20" alt="Cleanup code icon." /></td>
+    <td>Cleanup code/Removes unwanted formating. This function is useful when 
+      you copy contents from for example a office product.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20" alt="Show help icon." /></td>
+    <td>Shows this help window.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20" alt="Source code editor icon." /></td>
+    <td>Opens HTML source code editor. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table.gif" width="20" height="20" alt="Insert table icon." /></td>
+    <td>Inserts a new table at the current location. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_before.gif" width="20" height="20" alt="Adds a row above icon." /></td>
+    <td>Adds a row above the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_after.gif" width="20" height="20" alt="Adds a row under icon." /></td>
+    <td>Adds a row under the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_row.gif" width="20" height="20" alt="Remove row icon." /></td>
+    <td>Removes the row. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_before.gif" width="20" height="20" alt="Add column before icon." /></td>
+    <td>Adds a column before the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_after.gif" width="20" height="20" alt="Add column after icon." /></td>
+    <td>Adds a column after the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_col.gif" width="20" height="20" alt="Remove column icon." /></td>
+    <td>Removes the current column.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20" alt="Insert horizontal ruler icon." /></td>
+    <td>Inserts a new horizontal ruler </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20" alt="Remove formatting icon." /></td>
+    <td>Removes formatting from the selection. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20" alt="Subscript icon." /></td>
+    <td>Makes the selection to be subscript. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20" alt="Superscript icon." /></td>
+    <td>Makes the selection to be superscripted. </td>
+  </tr>
+</table>
+<br>
+<hr noshade="noshade" />
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Create accessible content</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<p>TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off. </p>
+
+<p><strong>Things you can do to make your content accessible:</strong></p>
+<ol>
+<li><strong>Include an Image Description:</strong> Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image. <br /><br /></li>
+
+<li> <strong>Add Scope to data table header cells:</strong> In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents. <br /><br /></li>
+
+<li><strong> Structure content with properly nested headings:</strong> In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content,  rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.<br /><br /></li>
+
+<li><strong> Include alternate content:</strong> Create an alternate page for non-HTML content such as Flash, Java applets, or  embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.<br /><br /></li>
+
+<li><strong> Check accessbility: </strong> When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.<br /><br /></li>
+
+</ol>
+
+<p>See the <a href="http://checker.atrc.utoronto.ca" target="_new">AChecker Web Site</a> for further details about creating content that will be accessible to all users.<br />
+</p>
+
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table of contents</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Click the links below to go to the different help sections. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
+ <li class="toc_li"><a href="create_accessible_content.htm">Create accessible content</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert anchor button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert anchor button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit anchor function.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139" alt="Anchor dialog/window" /><br>
+<br>
+There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert image button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert image button opens the window shown below.<br>
+<br>
+<img src="images/insert_image_window.gif" alt="Insert image dialog/window" /><br>
+<br>
+You simply enter a URL to the image you want to link to and enter a image description, 
+this is then displayed as an alternative text descripton of the image on the page.<br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL/path to the image.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Alternative description of image contents.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Image width/height. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Image alignment, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thickness. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Vertical space, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Horizontal space, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert link button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit link function.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159" alt="Insert link dialog/window" /><br>
+<br>
+There are two fields in this window the first one &quot;Link URL&quot; is the 
+URL of the link. The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert table button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert table button opens the window shown below. This action enables you to create tables. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229" alt="Image of table window" /><br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>Number of columns in the  table. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>Number of rows in the new table.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Cellpadding of the table . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Cellspacing of the table .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Table alignment . </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thinkness of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Width in pixels of table .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Height in pixels of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Class</strong></td>
+    <td>Style or CSS class of table.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_defColors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','forecolor',true],['forecolorpicker','forecolor.gif','lang_theme_forecolor_desc','forecolorpicker',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','HiliteColor',true],['backcolorpicker','backcolor.gif','lang_theme_backcolor_desc','backcolorpicker',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',getControlHTML:function(button_name){var i,x,but;for(i=0;i<TinyMCE_AdvancedTheme._buttons.length;i++){but=TinyMCE_AdvancedTheme._buttons[i];if(but[0]==button_name&&(button_name=="forecolor"||button_name=="backcolor"))return tinyMCE.getMenuButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3]+"Menu",but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null));if(but[0]==button_name)return tinyMCE.getButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null))}switch(button_name){case"formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}'],['div','{$lang_theme_div}'],['blockquote','{$lang_theme_blockquote}'],['code','{$lang_theme_code}'],['dt','{$lang_theme_dt}'],['dd','{$lang_theme_dd}'],['samp','{$lang_theme_samp}']];html+='<option value="">{$lang_theme_block}</option>';for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0])html+='<option value="&lt;'+lookup[x][0]+'&gt;">'+lookup[x][1]+'</option>'}}html+='</select>';return html;case"styleselect":return'<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case"fontselect":var fontHTML='<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';var iFonts='Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';var nFonts='Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';var fonts=tinyMCE.getParam("theme_advanced_fonts",nFonts).split(';');for(i=0;i<fonts.length;i++){if(fonts[i]!=''){var parts=fonts[i].split('=');fontHTML+='<option value="'+parts[1]+'">'+parts[0]+'</option>'}}fontHTML+='</select>';return fontHTML;case"fontsizeselect":return'<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="0">{$lang_theme_font_size}</option>'+'<option value="1">1 (8 pt)</option>'+'<option value="2">2 (10 pt)</option>'+'<option value="3">3 (12 pt)</option>'+'<option value="4">4 (14 pt)</option>'+'<option value="5">5 (18 pt)</option>'+'<option value="6">6 (24 pt)</option>'+'<option value="7">7 (36 pt)</option>'+'</select>';case"|":case"separator":return'<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';case"spacer":return'<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case"rowseparator":return'<br />'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case'mceHelp':tinyMCE.openWindow({file:'about.htm',width:480,height:380},{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return true;case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);")}action="update"}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class'])}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"})}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h)}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:""}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);")}action="update"}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout'])}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"forecolor":var fcp=new TinyMCE_Layer(editor_id+'_fcPreview',false),p,img,elm;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!fcp.exists()){fcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=fcp.getElement();elm._editor_id=editor_id;elm._command="forecolor";elm._switchId=editor_id+"_forecolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_forecolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));fcp.moveTo(p.absLeft,p.absTop);fcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).foreColor;fcp.show();return false;case"forecolorpicker":this._pickColor(editor_id,'forecolor');return true;case"forecolorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_fcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_text_colors','forecolor'));tinyMCE.switchClass(editor_id+'_forecolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_forecolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"HiliteColor":var bcp=new TinyMCE_Layer(editor_id+'_bcPreview',false),p,img;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!bcp.exists()){bcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=bcp.getElement();elm._editor_id=editor_id;elm._command="HiliteColor";elm._switchId=editor_id+"_backcolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_backcolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));bcp.moveTo(p.absLeft,p.absTop);bcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).backColor;bcp.show();return false;case"HiliteColorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_bcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_background_colors','HiliteColor'));tinyMCE.switchClass(editor_id+'_backcolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_backcolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"backcolorpicker":this._pickColor(editor_id,'HiliteColor');return true;case"mceColorPicker":if(user_interface){var template=[];if(!value['callback']&&!value['color'])value['color']=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=380;template['height']=250;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:value['color']})}else{var savedVal=tinyMCE.lastColorPickerValue,elm;if(savedVal['callback']){savedVal['callback'](value);return true}elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();')}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true}return false},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array(),skip;for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j]){skip=true}}if(!skip){outArray[outArray.length]=in_array[i]}}return outArray}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++){in_array[in_array.length]=add_array[i]}return in_array}var template=new Array();var deltaHeight=0;var resizing=tinyMCE.getParam("theme_advanced_resizing",false);var path=tinyMCE.getParam("theme_advanced_path",true);var statusbarHTML='<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: '+(path?"block":"none")+'">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: '+(resizing?"block":"none")+'" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='<option value="">{$lang_theme_style_select}</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>'}TinyMCE_AdvancedTheme._autoImportCSSClasses=false}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='<a href="#" accesskey="q" title="'+tinyMCE.getLang("lang_toolbar_focus")+'"';if(!tinyMCE.getParam("accessibility_focus"))toolbarHTML+=' onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"';toolbarHTML+='></a>';for(var i=1;i<100;i++){var def=defVals["theme_advanced_buttons"+i];var buttons=tinyMCE.getParam("theme_advanced_buttons"+i,def==null?'':def,true,',');if(buttons.length==0)break;buttons=removeFromArray(buttons,tinyMCE.getParam("theme_advanced_disable","",true,','));buttons=addToArray(buttons,tinyMCE.getParam("theme_advanced_buttons"+i+"_add","",true,','));buttons=addToArray(tinyMCE.getParam("theme_advanced_buttons"+i+"_add_before","",true,','),buttons);for(var b=0;b<buttons.length;b++)toolbarHTML+=tinyMCE.getControlHTML(buttons[b]);if(buttons.length>0){toolbarHTML+="<br />";deltaHeight-=23}}toolbarHTML+='<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"></a>';template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';if(toolbarLocation=="top")template['html']+='<tr><td dir="ltr" class="mceToolbarTop" align="'+toolbarAlign+'" height="1" nowrap="nowrap"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(statusbarLocation=="top"){template['html']+='<tr><td class="mceStatusbarTop" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom")template['html']+='<tr><td dir="ltr" class="mceToolbarBottom" align="'+toolbarAlign+'" height="1"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null}if(statusbarLocation=="bottom"){template['html']+='<tr><td class="mceStatusbarBottom" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='</tbody></table>';break;case"RowLayout":template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i<containers.length;i++){if(containers[i]=="mceEditor")template['html']+='<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom"}else if(i==0){pathClass="mceStatusbar"}else{deltaHeight-=2}template['html']+='<tr><td class="'+pathClass+'" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=22}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);curContainer=removeFromArray(curContainer,tinyMCE.getParam("theme_advanced_disable","",true,','));for(var j=0;j<curContainer.length;j++)curContainerHTML+=tinyMCE.getControlHTML(curContainer[j]);if(curContainer.length>0){curContainerHTML+="<br />";deltaHeight-=23}template['html']+='<tr><td class="'+curCSS+'" align="'+curAlign+'" height="1">'+curContainerHTML+'</td></tr>'}}template['html']+='</tbody></table>';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);")}break}if(resizing)template['html']+='<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);if(!template['delta_width'])template['delta_width']=0;if(!template['delta_height'])template['delta_height']=deltaHeight;return template},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true))}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink')},removeInstance:function(inst){new TinyMCE_Layer(inst.editorId+'_fcMenu').remove();new TinyMCE_Layer(inst.editorId+'_bcMenu').remove()},hideInstance:function(inst){TinyMCE_AdvancedTheme._hideMenus(inst.editorId)},_handleMenuEvent:function(e){var te=tinyMCE.isMSIE?window.event.srcElement:e.target;tinyMCE._menuButtonEvent(e.type=="mouseover"?"over":"out",document.getElementById(te._switchId));if(e.type=="click")tinyMCE.execInstanceCommand(te._editor_id,te._command)},_hideMenus:function(id){var fcml=new TinyMCE_Layer(id+'_fcMenu'),bcml=new TinyMCE_Layer(id+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(id+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(id+'_backcolor','mceMenuButton');bcml.hide()}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){var alignNode,breakOut,classNode;function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i<select_elm.options.length;i++){var ov=""+select_elm.options[i].value;if(first_index&&ov.toLowerCase().indexOf(value.toLowerCase())==0){select_elm.selectedIndex=i;return true}if(ov==value){select_elm.selectedIndex=i;return true}}}return false};if(node==null)return;var pathElm=document.getElementById(editor_id+"_path");var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();TinyMCE_AdvancedTheme._hideMenus(editor_id);if(pathElm){var parentNode=node;var path=new Array();while(parentNode!=null){if(parentNode.nodeName.toUpperCase()=="BODY"){break}if(parentNode.nodeType==1&&tinyMCE.getAttrib(parentNode,"class").indexOf('mceItemHidden')==-1){path[path.length]=parentNode}parentNode=parentNode.parentNode}var html="";for(var i=path.length-1;i>=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName.indexOf("html:")==0)nodeName=nodeName.substring(5);if(nodeName=="b"){nodeName="strong"}if(nodeName=="i"){nodeName="em"}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+tinyMCE.xmlEncode(st)+" "}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+tinyMCE.xmlEncode(face)+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+tinyMCE.xmlEncode(size)+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+tinyMCE.xmlEncode(color)+" "}if(tinyMCE.getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" "}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(tinyMCE.getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+tinyMCE.xmlEncode(src)+" "}if(path[i].nodeName=='A'&&tinyMCE.getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+tinyMCE.xmlEncode(href)+" "}className=tinyMCE.getAttrib(path[i],"class");if((nodeName=="img"||nodeName=="span")&&className.indexOf('mceItem')!=-1){nodeName=className.replace(/mceItem([a-z]+)/gi,'$1').toLowerCase();nodeData=path[i].getAttribute('title')}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+tinyMCE.xmlEncode(anchor);nodeData=""}if(tinyMCE.getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+='<a title="'+nodeData+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" target="_self" class="mcePathItem">'+nodeName+'</a>';if(i>0){html+=" &raquo; "}}pathElm.innerHTML='<a href="#" accesskey="x"></a>'+tinyMCE.getLang('lang_theme_path')+": "+html+'&#160;'}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal')}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled')}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break}}}}while(!breakOut&&classNode!=null&&(classNode=classNode.parentNode)!=null);selectElm.selectedIndex=index}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");else selectByValue(selectElm,"")}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="")}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"")}else selectByValue(selectElm,"")}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size)}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i<sizes.length;i++){if((''+sizes[i])==size){size=i;break}}}if(!selectByValue(selectElm,size))selectByValue(selectElm,"")}else selectByValue(selectElm,"0")}}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case"left":tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case"right":tinyMCE.switchClass(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case"middle":case"center":tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case"justify":tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break}}while(!breakOut&&(alignNode=alignNode.parentNode)!=null);var div=tinyMCE.getParentElement(node,"div");if(div&&div.style.textAlign=="center")tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');if(!setup_content){var ar=new Array("Bold","_bold","Italic","_italic","Strikethrough","_strikethrough","superscript","_sup","subscript","_sub");for(var i=0;i<ar.length;i+=2){if(inst.queryCommandState(ar[i]))tinyMCE.switchClass(editor_id+ar[i+1],'mceButtonSelected')}if(inst.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A"))tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected')}do{switch(node.nodeName){case"UL":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"OL":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;case"HR":tinyMCE.switchClass(editor_id+'_hr','mceButtonSelected');break;case"IMG":if(tinyMCE.getAttrib(node,'name').indexOf('mce_')!=0&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_image','mceButtonSelected')}break}}while((node=node.parentNode)!=null)},_setupCSSClasses:function(editor_id){var i,selectElm;if(!TinyMCE_AdvancedTheme._autoImportCSSClasses)return;selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(i=0;i<csses.length;i++)selectElm.options[selectElm.options.length]=new Option(csses[i],csses[i])}if(csses!=null&&csses.length>0)selectElm.setAttribute('cssImported','true')}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end))},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth<minIframeWidth){dx=minIframeWidth-inst.iframeElement.clientWidth;inst.iframeElement.style.width=(iw+dx)+"px"}}inst.useCSS=false},_resizeEventHandler:function(e){var resizer=TinyMCE_AdvancedTheme._resizer;if(!resizer.resizing)return;e=typeof(e)=="undefined"?window.event:e;var dx=e.screenX-resizer.downX;var dy=e.screenY-resizer.downY;var resizeBox=resizer.resizeBox;var editorId=resizer.editorId;switch(e.type){case"mousemove":var w,h;w=resizer.width+dx;h=resizer.height+dy;w=w<1?1:w;h=h<1?1:h;if(resizer.horizontal)resizeBox.style.width=w+"px";resizeBox.style.height=h+"px";break;case"mouseup":TinyMCE_AdvancedTheme._setResizing(e,editorId,false);TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId),resizer.width+dx,resizer.height+dy,resizer.horizontal);if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var expires=new Date();expires.setTime(expires.getTime()+3600000*24*30);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_width",""+(resizer.horizontal?resizer.width+dx:""),expires);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_height",""+(resizer.height+dy),expires)}break}},_setResizing:function(e,editor_id,state){e=typeof(e)=="undefined"?window.event:e;var resizer=TinyMCE_AdvancedTheme._resizer;var editorContainer=document.getElementById(editor_id+'_parent');var editorArea=document.getElementById(editor_id+'_parent').firstChild;var resizeBox=document.getElementById(editor_id+'_resize_box');var inst=tinyMCE.getInstanceById(editor_id);if(state){var width=editorArea.clientWidth;var height=editorArea.clientHeight;resizeBox.style.width=width+"px";resizeBox.style.height=height+"px";resizer.iframeWidth=inst.iframeElement.clientWidth;resizer.iframeHeight=inst.iframeElement.clientHeight;editorArea.style.display="none";resizeBox.style.display="block";if(!resizer.eventHandlers){if(tinyMCE.isMSIE)tinyMCE.addEvent(document,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);else tinyMCE.addEvent(window,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);tinyMCE.addEvent(document,"mouseup",TinyMCE_AdvancedTheme._resizeEventHandler);resizer.eventHandlers=true}resizer.resizing=true;resizer.downX=e.screenX;resizer.downY=e.screenY;resizer.width=parseInt(resizeBox.style.width);resizer.height=parseInt(resizeBox.style.height);resizer.editorId=editor_id;resizer.resizeBox=resizeBox;resizer.horizontal=tinyMCE.getParam("theme_advanced_resize_horizontal",true)}else{resizer.resizing=false;resizeBox.style.display="none";editorArea.style.display=tinyMCE.isMSIE&&!tinyMCE.isOpera?"block":"table";tinyMCE.execCommand('mceResetDesignMode')}},_getColorHTML:function(id,n,cm){var i,h,cl;h='<span class="mceMenuLine"></span>';cl=tinyMCE.getParam(n,TinyMCE_AdvancedTheme._defColors).split(',');h+='<table class="mceColors"><tr>';for(i=0;i<cl.length;i++){c='tinyMCE.execInstanceCommand(\''+id+'\', \''+cm+'\', false, \'#'+cl[i]+'\');';h+='<td><a href="javascript:'+c+'" style="background-color: #'+cl[i]+'" onclick="'+c+';return false;"></a></td>';if((i+1)%8==0)h+='</tr><tr>'}h+='</tr></table>';if(tinyMCE.getParam("theme_advanced_more_colors",true))h+='<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\''+id+'\',\''+cm+'\');" class="mceMoreColors">'+tinyMCE.getLang('lang_more_colors')+'</a>';return h},_pickColor:function(id,cm){var inputColor,inst=tinyMCE.selectedInstance;if(cm=='forecolor'&&inst)inputColor=inst.foreColor;if((cm=='backcolor'||cm=='HiliteColor')&&inst)inputColor=inst.backColor;tinyMCE.execCommand('mceColorPicker',true,{color:inputColor,callback:function(c){tinyMCE.execInstanceCommand(id,cm,false,c)}})},_insertImage:function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!tinyMCE.imgElement&&tinyMCE.isSafari){var html="";html+='<img src="'+src+'" alt="'+alt+'"';html+=' border="'+border+'" hspace="'+hspace+'"';html+=' vspace="'+vspace+'" width="'+width+'"';html+=' height="'+height+'" align="'+align+'" title="'+title+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" />';tinyMCE.execCommand("mceInsertContent",false,html)}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'<img src="'+tinyMCE.uniqueURL+'" />');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL)}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint()}tinyMCE.execCommand('mceEndUndoLevel')},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement)}return}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,'<a href="'+tinyMCE.uniqueURL+'">'+tinyMCE.selectedInstance.selection.getSelectedHTML()+'</a>')}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i<elementArray.length;i++){var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, elementArray[i]);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(elementArray[i],'href',thref);tinyMCE.setAttrib(elementArray[i],'mce_href',mhref);tinyMCE.setAttrib(elementArray[i],'target',target);tinyMCE.setAttrib(elementArray[i],'title',title);tinyMCE.setAttrib(elementArray[i],'onclick',onclick);tinyMCE.setAttrib(elementArray[i],'class',style_class)}tinyMCE.linkElement=elementArray[0]}if(tinyMCE.linkElement){var mhref=href;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(tinyMCE.linkElement,'href',href);tinyMCE.setAttrib(tinyMCE.linkElement,'mce_href',mhref);tinyMCE.setAttrib(tinyMCE.linkElement,'target',target);tinyMCE.setAttrib(tinyMCE.linkElement,'title',title);tinyMCE.setAttrib(tinyMCE.linkElement,'onclick',onclick);tinyMCE.setAttrib(tinyMCE.linkElement,'class',style_class)}tinyMCE.execCommand('mceEndUndoLevel')}};tinyMCE.addTheme("advanced",TinyMCE_AdvancedTheme);tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1574 @@
+/**
+ * $Id: editor_template_src.js 218 2007-02-13 11:08:01Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme specific language pack */
+tinyMCE.importThemeLanguagePack('advanced');
+
+var TinyMCE_AdvancedTheme = {
+	// Private theme fields
+	_defColors : "000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",
+	_autoImportCSSClasses : true,
+	_resizer : {},
+	_buttons : [
+		// Control id, button img, button title, command, user_interface, value
+		['bold', '{$lang_bold_img}', 'lang_bold_desc', 'Bold'],
+		['italic', '{$lang_italic_img}', 'lang_italic_desc', 'Italic'],
+		['underline', '{$lang_underline_img}', 'lang_underline_desc', 'Underline'],
+		['strikethrough', 'strikethrough.gif', 'lang_striketrough_desc', 'Strikethrough'],
+		['justifyleft', 'justifyleft.gif', 'lang_justifyleft_desc', 'JustifyLeft'],
+		['justifycenter', 'justifycenter.gif', 'lang_justifycenter_desc', 'JustifyCenter'],
+		['justifyright', 'justifyright.gif', 'lang_justifyright_desc', 'JustifyRight'],
+		['justifyfull', 'justifyfull.gif', 'lang_justifyfull_desc', 'JustifyFull'],
+		['bullist', 'bullist.gif', 'lang_bullist_desc', 'InsertUnorderedList'],
+		['numlist', 'numlist.gif', 'lang_numlist_desc', 'InsertOrderedList'],
+		['outdent', 'outdent.gif', 'lang_outdent_desc', 'Outdent'],
+		['indent', 'indent.gif', 'lang_indent_desc', 'Indent'],
+		['cut', 'cut.gif', 'lang_cut_desc', 'Cut'],
+		['copy', 'copy.gif', 'lang_copy_desc', 'Copy'],
+		['paste', 'paste.gif', 'lang_paste_desc', 'Paste'],
+		['undo', 'undo.gif', 'lang_undo_desc', 'Undo'],
+		['redo', 'redo.gif', 'lang_redo_desc', 'Redo'],
+		['link', 'link.gif', 'lang_link_desc', 'mceLink', true],
+		['unlink', 'unlink.gif', 'lang_unlink_desc', 'unlink'],
+		['image', 'image.gif', 'lang_image_desc', 'mceImage', true],
+		['cleanup', 'cleanup.gif', 'lang_cleanup_desc', 'mceCleanup'],
+		['help', 'help.gif', 'lang_help_desc', 'mceHelp'],
+		['code', 'code.gif', 'lang_theme_code_desc', 'mceCodeEditor'],
+		['hr', 'hr.gif', 'lang_theme_hr_desc', 'inserthorizontalrule'],
+		['removeformat', 'removeformat.gif', 'lang_theme_removeformat_desc', 'removeformat'],
+		['sub', 'sub.gif', 'lang_theme_sub_desc', 'subscript'],
+		['sup', 'sup.gif', 'lang_theme_sup_desc', 'superscript'],
+		['forecolor', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolor', true],
+		['forecolorpicker', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolorpicker', true],
+		['backcolor', 'backcolor.gif', 'lang_theme_backcolor_desc', 'HiliteColor', true],
+		['backcolorpicker', 'backcolor.gif', 'lang_theme_backcolor_desc', 'backcolorpicker', true],
+		['charmap', 'charmap.gif', 'lang_theme_charmap_desc', 'mceCharMap'],
+		['visualaid', 'visualaid.gif', 'lang_theme_visualaid_desc', 'mceToggleVisualAid'],
+		['anchor', 'anchor.gif', 'lang_theme_anchor_desc', 'mceInsertAnchor'],
+		['newdocument', 'newdocument.gif', 'lang_newdocument_desc', 'mceNewDocument']
+	],
+
+	_buttonMap : 'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',
+
+	/**
+	 * Returns HTML code for the specificed control.
+	 */
+	getControlHTML : function(button_name) {
+		var i, x, but;
+
+		// Lookup button in button list
+		for (i=0; i<TinyMCE_AdvancedTheme._buttons.length; i++) {
+			but = TinyMCE_AdvancedTheme._buttons[i];
+
+			if (but[0] == button_name && (button_name == "forecolor" || button_name == "backcolor"))
+				return tinyMCE.getMenuButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3] + "Menu", but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+
+			if (but[0] == button_name)
+				return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+		}
+
+		// Custom controlls other than buttons
+		switch (button_name) {
+			case "formatselect":
+				var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
+				var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
+				var lookup = [
+					['p', '{$lang_theme_paragraph}'],
+					['address', '{$lang_theme_address}'],
+					['pre', '{$lang_theme_pre}'],
+					['h1', '{$lang_theme_h1}'],
+					['h2', '{$lang_theme_h2}'],
+					['h3', '{$lang_theme_h3}'],
+					['h4', '{$lang_theme_h4}'],
+					['h5', '{$lang_theme_h5}'],
+					['h6', '{$lang_theme_h6}'],
+					['div', '{$lang_theme_div}'],
+					['blockquote', '{$lang_theme_blockquote}'],
+					['code', '{$lang_theme_code}'],
+					['dt', '{$lang_theme_dt}'],
+					['dd', '{$lang_theme_dd}'],
+					['samp', '{$lang_theme_samp}']
+				];
+
+				html += '<option value="">{$lang_theme_block}</option>';
+
+				// Build format select
+				for (var i=0; i<formats.length; i++) {
+					for (var x=0; x<lookup.length; x++) {
+						if (formats[i] == lookup[x][0])
+							html += '<option value="&lt;' + lookup[x][0] + '&gt;">' + lookup[x][1] + '</option>';
+					}
+				}
+
+				html += '</select>';
+
+				return html;
+
+			case "styleselect":
+				return '<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
+
+			case "fontselect":
+				var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
+				var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+				var nFonts = 'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';
+				var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
+				for (i=0; i<fonts.length; i++) {
+					if (fonts[i] != '') {
+						var parts = fonts[i].split('=');
+						fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
+					}
+				}
+
+				fontHTML += '</select>';
+				return fontHTML;
+
+			case "fontsizeselect":
+				return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+
+						'<option value="0">{$lang_theme_font_size}</option>'+
+						'<option value="1">1 (8 pt)</option>'+
+						'<option value="2">2 (10 pt)</option>'+
+						'<option value="3">3 (12 pt)</option>'+
+						'<option value="4">4 (14 pt)</option>'+
+						'<option value="5">5 (18 pt)</option>'+
+						'<option value="6">6 (24 pt)</option>'+
+						'<option value="7">7 (36 pt)</option>'+
+						'</select>';
+
+			case "|":
+			case "separator":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+
+			case "spacer":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
+
+			case "rowseparator":
+				return '<br />';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Theme specific execcommand handling.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case 'mceHelp':
+				tinyMCE.openWindow({
+					file : 'about.htm',
+					width : 480,
+					height : 380
+				}, {
+					tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
+					tinymce_releasedate : tinyMCE.releaseDate,
+					inline : "yes"
+				});
+			return true;
+
+			case "mceLink":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var doc = inst.getDoc();
+				var selectedText = "";
+
+				if (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = inst.getSel().toString();
+
+				if (!tinyMCE.linkElement) {
+					if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
+						return true;
+				}
+
+				var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
+
+				if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
+					tinyMCE.linkElement = tinyMCE.selectedElement;
+
+				// Is anchor not a link
+				if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
+					tinyMCE.linkElement = null;
+
+				if (tinyMCE.linkElement) {
+					href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
+					target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
+					title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
+					onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+					style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
+
+					// Try old onclick to if copy/pasted content
+					if (onclick == "")
+						onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+
+					onclick = tinyMCE.cleanupEventStr(onclick);
+
+					href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+
+					// Use mce_href if defined
+					mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href');
+					if (mceRealHref != "") {
+						href = mceRealHref;
+
+						if (tinyMCE.getParam('convert_urls'))
+							href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+					}
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'link.htm';
+				template['width'] = 310;
+				template['height'] = 200;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+
+				if (inst.settings['insertlink_callback']) {
+					var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
+					if (returnVal && returnVal['href'])
+						TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
+				} else {
+					tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceImage":
+				var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
+				var title = "", onmouseover = "", onmouseout = "", action = "insert";
+				var img = tinyMCE.imgElement;
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+					img = tinyMCE.selectedElement;
+					tinyMCE.imgElement = img;
+				}
+
+				if (img) {
+					// Is it a internal MCE visual aid image, then skip this one.
+					if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
+						return true;
+
+					src = tinyMCE.getAttrib(img, 'src');
+					alt = tinyMCE.getAttrib(img, 'alt');
+
+					// Try polling out the title
+					if (alt == "")
+						alt = tinyMCE.getAttrib(img, 'title');
+
+					// Fix width/height attributes if the styles is specified
+					if (tinyMCE.isGecko) {
+						var w = img.style.width;
+						if (w != null && w != "")
+							img.setAttribute("width", w);
+
+						var h = img.style.height;
+						if (h != null && h != "")
+							img.setAttribute("height", h);
+					}
+
+					border = tinyMCE.getAttrib(img, 'border');
+					hspace = tinyMCE.getAttrib(img, 'hspace');
+					vspace = tinyMCE.getAttrib(img, 'vspace');
+					width = tinyMCE.getAttrib(img, 'width');
+					height = tinyMCE.getAttrib(img, 'height');
+					align = tinyMCE.getAttrib(img, 'align');
+					onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
+					onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
+					title = tinyMCE.getAttrib(img, 'title');
+
+					// Is realy specified?
+					if (tinyMCE.isMSIE) {
+						width = img.attributes['width'].specified ? width : "";
+						height = img.attributes['height'].specified ? height : "";
+					}
+
+					//onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
+					//onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
+
+					src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+
+					// Use mce_src if defined
+					mceRealSrc = tinyMCE.getAttrib(img, 'mce_src');
+					if (mceRealSrc != "") {
+						src = mceRealSrc;
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+					}
+
+					//if (onmouseover != "")
+					//	onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
+
+					//if (onmouseout != "")
+					//	onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'image.htm?src={$src}';
+				template['width'] = 355;
+				template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0);
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+
+				if (inst.settings['insertimage_callback']) {
+					var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
+					if (returnVal && returnVal['src'])
+						TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
+				} else
+					tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"});
+
+				return true;
+
+			case "forecolor":
+				var fcp = new TinyMCE_Layer(editor_id + '_fcPreview', false), p, img, elm;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!fcp.exists()) {
+					fcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = fcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "forecolor";
+					elm._switchId = editor_id + "_forecolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_forecolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				fcp.moveTo(p.absLeft, p.absTop);
+				fcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).foreColor;
+				fcp.show();
+
+				return false;
+
+			case "forecolorpicker":
+				this._pickColor(editor_id, 'forecolor');
+				return true;
+
+			case "forecolorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_fcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_text_colors', 'forecolor'));
+
+				tinyMCE.switchClass(editor_id + '_forecolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_forecolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+
+			case "HiliteColor":
+				var bcp = new TinyMCE_Layer(editor_id + '_bcPreview', false), p, img;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!bcp.exists()) {
+					bcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = bcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "HiliteColor";
+					elm._switchId = editor_id + "_backcolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_backcolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				bcp.moveTo(p.absLeft, p.absTop);
+				bcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).backColor;
+				bcp.show();
+
+				return false;
+
+			case "HiliteColorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_bcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_background_colors', 'HiliteColor'));
+
+				tinyMCE.switchClass(editor_id + '_backcolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_backcolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+	
+			case "backcolorpicker":
+				this._pickColor(editor_id, 'HiliteColor');
+				return true;
+
+			case "mceColorPicker":
+				if (user_interface) {
+					var template = [];
+	
+					if (!value['callback'] && !value['color'])
+						value['color'] = value['document'].getElementById(value['element_id']).value;
+
+					template['file'] = 'color_picker.htm';
+					template['width'] = 380;
+					template['height'] = 250;
+					template['close_previous'] = "no";
+
+					template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
+
+					if (typeof(value['store_selection']) == "undefined")
+						value['store_selection'] = true;
+
+					tinyMCE.lastColorPickerValue = value;
+					tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : value['color']});
+				} else {
+					var savedVal = tinyMCE.lastColorPickerValue, elm;
+
+					if (savedVal['callback']) {
+						savedVal['callback'](value);
+						return true;
+					}
+
+					elm = savedVal['document'].getElementById(savedVal['element_id']);
+					elm.value = value;
+
+					if (elm.onchange != null && elm.onchange != '')
+						eval('elm.onchange();');
+				}
+			return true;
+
+			case "mceCodeEditor":
+				var template = new Array();
+
+				template['file'] = 'source_editor.htm';
+				template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720));
+				template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580));
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
+				return true;
+
+			case "mceCharMap":
+				var template = new Array();
+
+				template['file'] = 'charmap.htm';
+				template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0);
+				template['height'] = 250;
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceInsertAnchor":
+				var template = new Array();
+
+				template['file'] = 'anchor.htm';
+				template['width'] = 320;
+				template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceNewDocument":
+				if (confirm(tinyMCE.getLang('lang_newdocument')))
+					tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' ');
+
+				return true;
+		}
+
+		return false;
+	},
+
+	/**
+	 * Editor instance template function.
+	 */
+	getEditorTemplate : function(settings, editorId) {
+		function removeFromArray(in_array, remove_array) {
+			var outArray = new Array(), skip;
+			
+			for (var i=0; i<in_array.length; i++) {
+				skip = false;
+
+				for (var j=0; j<remove_array.length; j++) {
+					if (in_array[i] == remove_array[j]) {
+						skip = true;
+					}
+				}
+
+				if (!skip) {
+					outArray[outArray.length] = in_array[i];
+				}
+			}
+
+			return outArray;
+		}
+
+		function addToArray(in_array, add_array) {
+			for (var i=0; i<add_array.length; i++) {
+				in_array[in_array.length] = add_array[i];
+			}
+
+			return in_array;
+		}
+
+		var template = new Array();
+		var deltaHeight = 0;
+		var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
+		var path = tinyMCE.getParam("theme_advanced_path", true);
+		var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
+		var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
+
+		// Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
+		var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
+		if (settings['theme_advanced_styles']) {
+			var stylesAr = settings['theme_advanced_styles'].split(';');
+			
+			for (var i=0; i<stylesAr.length; i++) {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+			}
+
+			TinyMCE_AdvancedTheme._autoImportCSSClasses = false;
+		}
+
+		switch(layoutManager) {
+			case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
+				var toolbarHTML = "";
+				var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
+				var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
+				var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
+				var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
+				var defVals = {
+					theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
+					theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
+					theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
+				};
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="q" title="' + tinyMCE.getLang("lang_toolbar_focus") + '"';
+
+				if (!tinyMCE.getParam("accessibility_focus"))
+					toolbarHTML += ' onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"';
+
+				toolbarHTML += '></a>';
+
+				// Render rows
+				for (var i=1; i<100; i++) {
+					var def = defVals["theme_advanced_buttons" + i];
+
+					var buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
+					if (buttons.length == 0)
+						break;
+
+					buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+					buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
+					buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
+
+					for (var b=0; b<buttons.length; b++)
+						toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
+
+					if (buttons.length > 0) {
+						toolbarHTML += "<br />";
+						deltaHeight -= 23;
+					}
+				}
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"></a>';
+
+				// Setup template html
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';
+
+				if (toolbarLocation == "top")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				if (statusbarLocation == "top") {
+					template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
+
+				if (toolbarLocation == "bottom")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarBottom" align="' + toolbarAlign + '" height="1"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				// External toolbar changes
+				if (toolbarLocation == "external") {
+					var bod = document.body;
+					var elm = document.createElement ("div");
+
+					toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
+					toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId});
+
+					elm.className = "mceToolbarExternal";
+					elm.id = editorId+"_toolbar";
+					elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
+					bod.appendChild (elm);
+					// bod.style.marginTop = elm.offsetHeight + "px";
+
+					deltaHeight = 0;
+					tinyMCE.getInstanceById(editorId).toolbarElement = elm;
+
+					//template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
+				} else {
+					tinyMCE.getInstanceById(editorId).toolbarElement = null;
+				}
+
+				if (statusbarLocation == "bottom") {
+					template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '</tbody></table>';
+				//"SimpleLayout"
+			break;
+
+			case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
+
+				var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
+				var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
+				var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
+
+				//Render Containers:
+				for (var i = 0; i < containers.length; i++)
+				{
+					if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
+						template['html'] += '<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';
+					else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
+					{
+						var pathClass = "mceStatusbar";
+
+						if (i == containers.length-1)
+						{
+							pathClass = "mceStatusbarBottom";
+						}
+						else if (i == 0)
+						{
+							pathClass = "mceStatusbar";
+						}
+						else
+						{
+							deltaHeight-=2;
+						}
+
+						template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
+						deltaHeight -= 22;
+					} else { // Render normal Container
+						var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
+						var curContainerHTML = "";
+						var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
+						var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
+
+						curContainer = removeFromArray(curContainer, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+
+						for (var j=0; j<curContainer.length; j++)
+							curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
+
+						if (curContainer.length > 0) {
+							curContainerHTML += "<br />";
+							deltaHeight -= 23;
+						}
+
+						template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
+					}
+				}
+
+				template['html'] += '</tbody></table>';
+				//RowLayout
+			break;
+
+			case "CustomLayout" : //User defined layout callback...
+				var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
+
+				if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") {
+					template = eval(customLayout + "(template);");
+				}
+			break;
+		}
+
+		if (resizing)
+			template['html'] += '<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';
+
+		template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
+
+		// Set to default values
+		if (!template['delta_width'])
+			template['delta_width'] = 0;
+
+		if (!template['delta_height'])
+			template['delta_height'] = deltaHeight;
+
+		return template;
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.getParam("theme_advanced_resizing", false)) {
+			if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+				var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width");
+				var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height");
+
+				TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
+			}
+		}
+
+		inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink');
+	},
+
+	removeInstance : function(inst) {
+		new TinyMCE_Layer(inst.editorId + '_fcMenu').remove();
+		new TinyMCE_Layer(inst.editorId + '_bcMenu').remove();
+	},
+
+	hideInstance : function(inst) {
+		TinyMCE_AdvancedTheme._hideMenus(inst.editorId);
+	},
+
+	_handleMenuEvent : function(e) {
+		var te = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+		tinyMCE._menuButtonEvent(e.type == "mouseover" ? "over" : "out", document.getElementById(te._switchId));
+
+		if (e.type == "click")
+			tinyMCE.execInstanceCommand(te._editor_id, te._command);
+	},
+
+	_hideMenus : function(id) {
+		var fcml = new TinyMCE_Layer(id + '_fcMenu'), bcml = new TinyMCE_Layer(id + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(id + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(id + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+	},
+
+	/**
+	 * Node change handler.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) {
+		var alignNode, breakOut, classNode;
+
+		function selectByValue(select_elm, value, first_index) {
+			first_index = typeof(first_index) == "undefined" ? false : true;
+
+			if (select_elm) {
+				for (var i=0; i<select_elm.options.length; i++) {
+					var ov = "" + select_elm.options[i].value;
+
+					if (first_index && ov.toLowerCase().indexOf(value.toLowerCase()) == 0) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+
+					if (ov == value) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+				}
+			}
+
+			return false;
+		};
+
+		// No node provided
+		if (node == null)
+			return;
+
+		// Update path
+		var pathElm = document.getElementById(editor_id + "_path");
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var doc = inst.getDoc();
+		TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+		if (pathElm) {
+			// Get node path
+			var parentNode = node;
+			var path = new Array();
+			
+			while (parentNode != null) {
+				if (parentNode.nodeName.toUpperCase() == "BODY") {
+					break;
+				}
+
+				// Only append element nodes to path
+				if (parentNode.nodeType == 1 && tinyMCE.getAttrib(parentNode, "class").indexOf('mceItemHidden') == -1) {
+					path[path.length] = parentNode;
+				}
+
+				parentNode = parentNode.parentNode;
+			}
+
+			// Setup HTML
+			var html = "";
+			for (var i=path.length-1; i>=0; i--) {
+				var nodeName = path[i].nodeName.toLowerCase();
+				var nodeData = "";
+
+				if (nodeName.indexOf("html:") == 0)
+					nodeName = nodeName.substring(5);
+
+				if (nodeName == "b") {
+					nodeName = "strong";
+				}
+
+				if (nodeName == "i") {
+					nodeName = "em";
+				}
+
+				if (nodeName == "span") {
+					var cn = tinyMCE.getAttrib(path[i], "class");
+					if (cn != "" && cn.indexOf('mceItem') == -1)
+						nodeData += "class: " + cn + " ";
+
+					var st = tinyMCE.getAttrib(path[i], "style");
+					if (st != "") {
+						st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st));
+						nodeData += "style: " + tinyMCE.xmlEncode(st) + " ";
+					}
+				}
+
+				if (nodeName == "font") {
+					if (tinyMCE.getParam("convert_fonts_to_spans"))
+						nodeName = "span";
+
+					var face = tinyMCE.getAttrib(path[i], "face");
+					if (face != "")
+						nodeData += "font: " + tinyMCE.xmlEncode(face) + " ";
+
+					var size = tinyMCE.getAttrib(path[i], "size");
+					if (size != "")
+						nodeData += "size: " + tinyMCE.xmlEncode(size) + " ";
+
+					var color = tinyMCE.getAttrib(path[i], "color");
+					if (color != "")
+						nodeData += "color: " + tinyMCE.xmlEncode(color) + " ";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'id') != "") {
+					nodeData += "id: " + path[i].getAttribute('id') + " ";
+				}
+
+				var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+				if (className != "" && className.indexOf('mceItem') == -1)
+					nodeData += "class: " + className + " ";
+
+				if (tinyMCE.getAttrib(path[i], 'src') != "") {
+					var src = tinyMCE.getAttrib(path[i], "mce_src");
+
+					if (src == "")
+						 src = tinyMCE.getAttrib(path[i], "src");
+
+					nodeData += "src: " + tinyMCE.xmlEncode(src) + " ";
+				}
+
+				if (path[i].nodeName == 'A' && tinyMCE.getAttrib(path[i], 'href') != "") {
+					var href = tinyMCE.getAttrib(path[i], "mce_href");
+
+					if (href == "")
+						 href = tinyMCE.getAttrib(path[i], "href");
+
+					nodeData += "href: " + tinyMCE.xmlEncode(href) + " ";
+				}
+
+				className = tinyMCE.getAttrib(path[i], "class");
+				if ((nodeName == "img" || nodeName == "span") && className.indexOf('mceItem') != -1) {
+					nodeName = className.replace(/mceItem([a-z]+)/gi, '$1').toLowerCase();
+					nodeData = path[i].getAttribute('title');
+				}
+
+				if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") {
+					nodeName = "a";
+					nodeName += "#" + tinyMCE.xmlEncode(anchor);
+					nodeData = "";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'name').indexOf("mce_") != 0) {
+					var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+					if (className != "" && className.indexOf('mceItem') == -1) {
+						nodeName += "." + className;
+					}
+				}
+
+				var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');';
+				html += '<a title="' + nodeData + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" target="_self" class="mcePathItem">' + nodeName + '</a>';
+
+				if (i > 0) {
+					html += " &raquo; ";
+				}
+			}
+
+			pathElm.innerHTML = '<a href="#" accesskey="x"></a>' + tinyMCE.getLang('lang_theme_path') + ": " + html + '&#160;';
+		}
+
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal');
+
+		if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
+			tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected');
+
+		// Get link
+		var anchorLink = tinyMCE.getParentElement(node, "a", "href");
+
+		if (anchorLink || any_selection) {
+			tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+		}
+
+		// Handle visual aid
+		tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (undo_levels != -1) {
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled');
+		}
+
+		// Within li, blockquote
+		if (tinyMCE.getParentElement(node, "li,blockquote"))
+			tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal');
+
+		// Has redo levels
+		if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal');
+
+		// Has undo levels
+		if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal');
+
+		// Select class in select box
+		var selectElm = document.getElementById(editor_id + "_styleSelect");
+		
+		if (selectElm) {
+			TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);
+
+			classNode = node;
+			breakOut = false;
+			var index = 0;
+
+			do {
+				if (classNode && classNode.className) {
+					for (var i=0; i<selectElm.options.length; i++) {
+						if (selectElm.options[i].value == classNode.className) {
+							index = i;
+							breakOut = true;
+							break;
+						}
+					}
+				}
+			} while (!breakOut && classNode != null && (classNode = classNode.parentNode) != null);
+
+			selectElm.selectedIndex = index;
+		}
+
+		// Select formatblock
+		var selectElm = document.getElementById(editor_id + "_formatSelect");
+		if (selectElm) {
+			var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+
+			if (elm)
+				selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+			else
+				selectByValue(selectElm, "");
+		}
+
+		// Select fontselect
+		var selectElm = document.getElementById(editor_id + "_fontNameSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) {
+				var face = inst.queryCommandValue('FontName');
+
+				face = face == null || face == "" ? "" : face;
+
+				selectByValue(selectElm, face, face != "");
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "face");
+
+				if (elm) {
+					var family = tinyMCE.getAttrib(elm, "face");
+
+					if (family == '')
+						family = '' + elm.style.fontFamily;
+
+					if (!selectByValue(selectElm, family, family != ""))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "");
+			}
+		}
+
+		// Select fontsize
+		var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !tinyMCE.isOpera) {
+				var size = inst.queryCommandValue('FontSize');
+				selectByValue(selectElm, size == null || size == "" ? "0" : size);
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "size");
+				if (elm) {
+					var size = tinyMCE.getAttrib(elm, "size");
+
+					if (size == '') {
+						var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
+
+						size = '' + elm.style.fontSize;
+
+						for (var i=0; i<sizes.length; i++) {
+							if (('' + sizes[i]) == size) {
+								size = i;
+								break;
+							}
+						}
+					}
+
+					if (!selectByValue(selectElm, size))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "0");
+			}
+		}
+
+		// Handle align attributes
+		alignNode = node;
+		breakOut = false;
+		do {
+			if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
+				continue;
+
+			switch (alignNode.getAttribute('align').toLowerCase()) {
+				case "left":
+					tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "right":
+					tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "middle":
+				case "center":
+					tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "justify":
+					tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonSelected');
+					breakOut = true;
+				break;
+			}
+		} while (!breakOut && (alignNode = alignNode.parentNode) != null);
+
+		// Div justification
+		var div = tinyMCE.getParentElement(node, "div");
+		if (div && div.style.textAlign == "center")
+			tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+
+		// Do special text
+		if (!setup_content) {
+			// , "JustifyLeft", "_justifyleft", "JustifyCenter", "justifycenter", "JustifyRight", "justifyright", "JustifyFull", "justifyfull", "InsertUnorderedList", "bullist", "InsertOrderedList", "numlist", "InsertUnorderedList", "bullist", "Outdent", "outdent", "Indent", "indent", "subscript", "sub"
+			var ar = new Array("Bold", "_bold", "Italic", "_italic", "Strikethrough", "_strikethrough", "superscript", "_sup", "subscript", "_sub");
+			for (var i=0; i<ar.length; i+=2) {
+				if (inst.queryCommandState(ar[i]))
+					tinyMCE.switchClass(editor_id + ar[i+1], 'mceButtonSelected');
+			}
+
+			if (inst.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A"))
+				tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+		}
+
+		// Handle elements
+		do {
+			switch (node.nodeName) {
+				case "UL":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "OL":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+
+				case "HR":
+					 tinyMCE.switchClass(editor_id + '_hr', 'mceButtonSelected');
+				break;
+
+				case "IMG":
+				if (tinyMCE.getAttrib(node, 'name').indexOf('mce_') != 0 && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+					tinyMCE.switchClass(editor_id + '_image', 'mceButtonSelected');
+				}
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	},
+
+	// Private theme internal functions
+
+	// This function auto imports CSS classes into the class selection droplist
+	_setupCSSClasses : function(editor_id) {
+		var i, selectElm;
+
+		if (!TinyMCE_AdvancedTheme._autoImportCSSClasses)
+			return;
+
+		selectElm = document.getElementById(editor_id + '_styleSelect');
+
+		if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
+			var csses = tinyMCE.getCSSClasses(editor_id);
+			if (csses && selectElm)	{
+				for (i=0; i<csses.length; i++)
+					selectElm.options[selectElm.options.length] = new Option(csses[i], csses[i]);
+			}
+
+			// Only do this once
+			if (csses != null && csses.length > 0)
+				selectElm.setAttribute('cssImported', 'true');
+		}
+	},
+
+	_setCookie : function(name, value, expires, path, domain, secure) {
+		var curCookie = name + "=" + escape(value) +
+			((expires) ? "; expires=" + expires.toGMTString() : "") +
+			((path) ? "; path=" + escape(path) : "") +
+			((domain) ? "; domain=" + domain : "") +
+			((secure) ? "; secure" : "");
+
+		document.cookie = curCookie;
+	},
+
+	_getCookie : function(name) {
+		var dc = document.cookie;
+		var prefix = name + "=";
+		var begin = dc.indexOf("; " + prefix);
+
+		if (begin == -1) {
+			begin = dc.indexOf(prefix);
+
+			if (begin != 0)
+				return null;
+		} else
+			begin += 2;
+
+		var end = document.cookie.indexOf(";", begin);
+
+		if (end == -1)
+			end = dc.length;
+
+		return unescape(dc.substring(begin + prefix.length, end));
+	},
+
+	_resizeTo : function(inst, w, h, set_w) {
+		var editorContainer = document.getElementById(inst.editorId + '_parent');
+		var tableElm = editorContainer.firstChild;
+		var iframe = inst.iframeElement;
+
+		if (w == null || w == "null") {
+			set_w = false;
+			w = 0;
+		}
+
+		if (h == null || h == "null")
+			return;
+
+		w = parseInt(w);
+		h = parseInt(h);
+
+		if (tinyMCE.isGecko) {
+			w += 2;
+			h += 2;
+		}
+
+		var dx = w - tableElm.clientWidth;
+		var dy = h - tableElm.clientHeight;
+
+		w = w < 1 ? 30 : w;
+		h = h < 1 ? 30 : h;
+
+		if (set_w)
+			tableElm.style.width = w + "px";
+
+		tableElm.style.height = h + "px";
+
+		iw = iframe.clientWidth + dx;
+		ih = iframe.clientHeight + dy;
+
+		iw = iw < 1 ? 30 : iw;
+		ih = ih < 1 ? 30 : ih;
+
+		if (tinyMCE.isGecko) {
+			iw -= 2;
+			ih -= 2;
+		}
+
+		if (set_w)
+			iframe.style.width = iw + "px";
+
+		iframe.style.height = ih + "px";
+
+		// Is it to small, make it bigger again
+		if (set_w) {
+			var tableBodyElm = tableElm.firstChild;
+			var minIframeWidth = tableBodyElm.scrollWidth;
+			if (inst.iframeElement.clientWidth < minIframeWidth) {
+				dx = minIframeWidth - inst.iframeElement.clientWidth;
+
+				inst.iframeElement.style.width = (iw + dx) + "px";
+			}
+		}
+
+		// Remove pesky table controls
+		inst.useCSS = false;
+	},
+
+	/**
+	 * Handles resizing events.
+	 */
+	_resizeEventHandler : function(e) {
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+
+		// Do nothing
+		if (!resizer.resizing)
+			return;
+
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var dx = e.screenX - resizer.downX;
+		var dy = e.screenY - resizer.downY;
+		var resizeBox = resizer.resizeBox;
+		var editorId = resizer.editorId;
+
+		switch (e.type) {
+			case "mousemove":
+				var w, h;
+
+				w = resizer.width + dx;
+				h = resizer.height + dy;
+
+				w = w < 1 ? 1 : w;
+				h = h < 1 ? 1 : h;
+
+				if (resizer.horizontal)
+					resizeBox.style.width = w + "px";
+
+				resizeBox.style.height = h + "px";
+				break;
+
+			case "mouseup":
+				TinyMCE_AdvancedTheme._setResizing(e, editorId, false);
+				TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
+
+				// Expire in a month
+				if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+					var expires = new Date();
+					expires.setTime(expires.getTime() + 3600000 * 24 * 30);
+
+					// Set the cookies
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
+				}
+				break;
+		}
+	},
+
+	/**
+	 * Starts/stops the editor resizing.
+	 */
+	_setResizing : function(e, editor_id, state) {
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+		var editorContainer = document.getElementById(editor_id + '_parent');
+		var editorArea = document.getElementById(editor_id + '_parent').firstChild;
+		var resizeBox = document.getElementById(editor_id + '_resize_box');
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		if (state) {
+			// Place box over editor area
+			var width = editorArea.clientWidth;
+			var height = editorArea.clientHeight;
+
+			resizeBox.style.width = width + "px";
+			resizeBox.style.height = height + "px";
+
+			resizer.iframeWidth = inst.iframeElement.clientWidth;
+			resizer.iframeHeight = inst.iframeElement.clientHeight;
+
+			// Hide editor and show resize box
+			editorArea.style.display = "none";
+			resizeBox.style.display = "block";
+
+			// Add event handlers, only once
+			if (!resizer.eventHandlers) {
+				if (tinyMCE.isMSIE)
+					tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+				else
+					tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				resizer.eventHandlers = true;
+			}
+
+			resizer.resizing = true;
+			resizer.downX = e.screenX;
+			resizer.downY = e.screenY;
+			resizer.width = parseInt(resizeBox.style.width);
+			resizer.height = parseInt(resizeBox.style.height);
+			resizer.editorId = editor_id;
+			resizer.resizeBox = resizeBox;
+			resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
+		} else {
+			resizer.resizing = false;
+			resizeBox.style.display = "none";
+			editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table";
+			tinyMCE.execCommand('mceResetDesignMode');
+		}
+	},
+
+	_getColorHTML : function(id, n, cm) {
+		var i, h, cl;
+
+		h = '<span class="mceMenuLine"></span>';
+		cl = tinyMCE.getParam(n, TinyMCE_AdvancedTheme._defColors).split(',');
+
+		h += '<table class="mceColors"><tr>';
+		for (i=0; i<cl.length; i++) {
+			c = 'tinyMCE.execInstanceCommand(\'' + id + '\', \'' + cm + '\', false, \'#' + cl[i] + '\');';
+			h += '<td><a href="javascript:' + c + '" style="background-color: #' + cl[i] + '" onclick="' + c + ';return false;"></a></td>';
+
+			if ((i+1) % 8 == 0)
+				h += '</tr><tr>';
+		}
+
+		h += '</tr></table>';
+
+		if (tinyMCE.getParam("theme_advanced_more_colors", true))
+			h += '<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\'' + id + '\',\'' + cm + '\');" class="mceMoreColors">' + tinyMCE.getLang('lang_more_colors') + '</a>';
+
+		return h;
+	},
+
+	_pickColor : function(id, cm) {
+		var inputColor, inst = tinyMCE.selectedInstance;
+
+		if (cm == 'forecolor' && inst)
+			inputColor = inst.foreColor;
+
+		if ((cm == 'backcolor' || cm == 'HiliteColor') && inst)
+			inputColor = inst.backColor;
+
+		tinyMCE.execCommand('mceColorPicker', true, {color : inputColor, callback : function(c) {
+			tinyMCE.execInstanceCommand(id, cm, false, c);
+		}});
+	},
+
+	_insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (src == "")
+			return;
+
+		if (!tinyMCE.imgElement && tinyMCE.isSafari) {
+			var html = "";
+
+			html += '<img src="' + src + '" alt="' + alt + '"';
+			html += ' border="' + border + '" hspace="' + hspace + '"';
+			html += ' vspace="' + vspace + '" width="' + width + '"';
+			html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
+
+			tinyMCE.execCommand("mceInsertContent", false, html);
+		} else {
+			if (!tinyMCE.imgElement && tinyMCE.selectedInstance) {
+				if (tinyMCE.isSafari)
+					tinyMCE.execCommand("mceInsertContent", false, '<img src="' + tinyMCE.uniqueURL + '" />');
+				else
+					tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL);
+
+				tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL);
+			}
+		}
+
+		if (tinyMCE.imgElement) {
+			var needsRepaint = false;
+			var msrc = src;
+
+			src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
+
+			if (tinyMCE.getParam('convert_urls'))
+				msrc = src;
+
+			if (onmouseover && onmouseover != "")
+				onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
+
+			if (onmouseout && onmouseout != "")
+				onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
+
+			// Use alt as title if it's undefined
+			if (typeof(title) == "undefined")
+				title = alt;
+
+			if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align"))
+				needsRepaint = true;
+
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout);
+
+			// Fix for bug #989846 - Image resize bug
+			if (width && width != "")
+				tinyMCE.imgElement.style.pixelWidth = width;
+
+			if (height && height != "")
+				tinyMCE.imgElement.style.pixelHeight = height;
+
+			if (needsRepaint)
+				tinyMCE.selectedInstance.repaint();
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	},
+
+	_insertLink : function(href, target, title, onclick, style_class) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+			var doc = tinyMCE.selectedInstance.getDoc();
+			var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+			var newLink = false;
+
+			if (!linkElement) {
+				linkElement = doc.createElement("a");
+				newLink = true;
+			}
+
+			var mhref = href;
+			var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(linkElement, 'href', thref);
+			tinyMCE.setAttrib(linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(linkElement, 'target', target);
+			tinyMCE.setAttrib(linkElement, 'title', title);
+			tinyMCE.setAttrib(linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(linkElement, 'class', style_class);
+
+			if (newLink) {
+				linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));
+				tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement);
+			}
+
+			return;
+		}
+
+		if (!tinyMCE.linkElement && tinyMCE.selectedInstance) {
+			if (tinyMCE.isSafari) {
+				tinyMCE.execCommand("mceInsertContent", false, '<a href="' + tinyMCE.uniqueURL + '">' + tinyMCE.selectedInstance.selection.getSelectedHTML() + '</a>');
+			} else
+				tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL);
+
+			tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			for (var i=0; i<elementArray.length; i++) {
+				var mhref = href;
+				var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
+				mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+				tinyMCE.setAttrib(elementArray[i], 'href', thref);
+				tinyMCE.setAttrib(elementArray[i], 'mce_href', mhref);
+				tinyMCE.setAttrib(elementArray[i], 'target', target);
+				tinyMCE.setAttrib(elementArray[i], 'title', title);
+				tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
+				tinyMCE.setAttrib(elementArray[i], 'class', style_class);
+			}
+
+			tinyMCE.linkElement = elementArray[0];
+		}
+
+		if (tinyMCE.linkElement) {
+			var mhref = href;
+			href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'href', href);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'target', target);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'class', style_class);
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	}
+};
+
+tinyMCE.addTheme("advanced", TinyMCE_AdvancedTheme);
+
+// Add default buttons maps for advanced theme and all internal plugins
+tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
+	<base target="_self" />
+</head>
+<body id="image" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertImage();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_image_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+     <table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="src">{$lang_insert_image_src}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input id="src" name="src" type="text" value="" style="width: 200px" onchange="getImageData();"></td>
+                  <td id="srcbrowsercontainer">&nbsp;</td>
+                </tr>
+              </table></td>
+          </tr>
+		  <!-- Image list -->
+		  <script language="javascript">
+			if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="image_list">{$lang_image_list}</label></td>';
+				html += '<td><select id="image_list" name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCEImageList.length; i++)
+					html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Image list -->
+          <tr>
+            <td nowrap="nowrap"><label for="alt">{$lang_insert_image_alt}</label></td>
+            <td><input id="alt" name="alt" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="align">{$lang_insert_image_align}</label></td>
+            <td><select id="align" name="align">
+                <option value="">{$lang_insert_image_align_default}</option>
+                <option value="baseline">{$lang_insert_image_align_baseline}</option>
+                <option value="top">{$lang_insert_image_align_top}</option>
+                <option value="middle">{$lang_insert_image_align_middle}</option>
+                <option value="bottom">{$lang_insert_image_align_bottom}</option>
+                <option value="texttop">{$lang_insert_image_align_texttop}</option>
+                <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
+                <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
+                <option value="left">{$lang_insert_image_align_left}</option>
+                <option value="right">{$lang_insert_image_align_right}</option>
+              </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="width">{$lang_insert_image_dimensions}</label></td>
+            <td><input id="width" name="width" type="text" value="" size="3" maxlength="3">
+              x
+              <input id="height" name="height" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="border">{$lang_insert_image_border}</label></td>
+            <td><input id="border" name="border" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="vspace">{$lang_insert_image_vspace}</label></td>
+            <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="hspace">{$lang_insert_image_hspace}</label></td>
+            <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+function init() {
+	var inst;
+
+	tinyMCEPopup.resizeToInnerSize();
+	inst = tinyMCE.selectedInstance;
+
+	// Give FF some time
+	window.setTimeout('insertHelpIFrame();', 10);
+
+	var tcont = document.getElementById('plugintablecontainer');
+	var plugins = tinyMCE.getParam('plugins', '', true, ',');
+	if (plugins.length == 0)
+		document.getElementById('plugins_tab').style.display = 'none';
+
+	var html = "";
+	html += '<table id="plugintable">';
+	html += '<thead>';
+	html += '<tr>';
+	html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
+	html += '</tr>';
+	html += '</thead>';
+	html += '<tbody>';
+
+	for (var i=0; i<inst.plugins.length; i++) {
+		var info = getPluginInfo(inst.plugins[i]);
+
+		html += '<tr>';
+
+		if (info.infourl != null && info.infourl != '')
+			html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="mceplugin">' + info.longname + '</a></td>';
+		else
+			html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
+
+		if (info.authorurl != null && info.authorurl != '')
+			html += '<td width="35%"><a href="' + info.authorurl + '" target="mceplugin">' + info.author + '</a></td>';
+		else
+			html += '<td width="35%">' + info.author + '</td>';
+
+		html += '<td width="15%">' + info.version + '</td>';
+		html += '</tr>';
+	}
+
+	html += '</tbody>';
+	html += '</table>';
+
+	tcont.innerHTML = html;
+}
+
+function getPluginInfo(name) {
+	if (tinyMCE.plugins[name].getInfo)
+		return tinyMCE.plugins[name].getInfo();
+
+	return {
+		longname : name,
+		authorurl : '',
+		infourl : '',
+		author : '--',
+		version : '--'
+	};
+}
+
+function insertHelpIFrame() {
+	var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
+
+	document.getElementById('iframecontainer').innerHTML = html;
+
+	html = '';
+	html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
+	html += '<a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> ';
+	html += '<a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> ';
+
+	document.getElementById('buttoncontainer').innerHTML = html;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+var action, element;
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
+	var img = inst.getFocusElement();
+	action = 'insert';
+
+	if (anchor != null) {
+		element = anchor;
+		action = "update";
+	}
+
+	if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
+		element = img;
+		action = "update";
+	}
+
+	if (action == "update")
+		document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
+}
+
+function insertAnchor() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var name = document.forms[0].anchorName.value, e;
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	if (action == "update") {
+		if (element.nodeName == "IMG")
+			element.setAttribute("title", name);
+		else
+			element.setAttribute("name", name);
+	} else {
+		var rng = inst.getRng();
+
+		if (rng.collapse)
+			rng.collapse(false);
+
+		name = name.replace(/&/g, '&amp;');
+		name = name.replace(/\"/g, '&quot;');
+		name = name.replace(/</g, '&lt;');
+		name = name.replace(/>/g, '&gt;');
+
+		// Fix for bug #1447335
+		if (tinyMCE.isGecko)
+			html = '<a id="mceNewAnchor" name="' + name + '"></a>';
+		else
+			html = '<a name="' + name + '"></a>';
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+
+		// Fix for bug #1447335 force cursor after the anchor element
+		if (tinyMCE.isGecko) {
+			e = inst.getDoc().getElementById('mceNewAnchor');
+
+			if (e) {
+				inst.selection.selectNode(e, true, false, false);
+				e.removeAttribute('id');
+			}
+		}
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	}
+
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,326 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+var charmap = new Array();
+
+// for mor details please see w3c.org
+// now here is the complete list ;)
+
+charmap = [
+	['&nbsp;',    '&#160;',  true, 'no-break space'],
+	['&amp;',     '&#38;',   true, 'ampersand'],
+	['&quot;',    '&#34;',   true, 'quotation mark'],
+// finance
+	['&cent;',    '&#162;',  true, 'cent sign'],
+	['&euro;',    '&#8364;', true, 'euro sign'],
+	['&pound;',   '&#163;',  true, 'pound sign'],
+	['&yen;',     '&#165;',  true, 'yen sign'],
+// signs
+	['&copy;',    '&#169;',  true, 'copyright sign'],
+	['&reg;',     '&#174;',  true, 'registered sign'],
+	['&trade;',   '&#8482;', true, 'trade mark sign'],
+	['&permil;',  '&#8240;', true, 'per mille sign'],
+	['&micro;',   '&#181;',  true, 'micro sign'],
+	['&middot;',  '&#183;',  true, 'middle dot'],
+	['&bull;',    '&#8226;', true, 'bullet'],
+	['&hellip;',  '&#8230;', true, 'three dot leader'],
+	['&prime;',   '&#8242;', true, 'minutes / feet'],
+	['&Prime;',   '&#8243;', true, 'seconds / inches'],
+	['&sect;',    '&#167;',  true, 'section sign'],
+	['&para;',    '&#182;',  true, 'paragraph sign'],
+	['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
+// quotations
+	['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
+	['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
+	['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
+	['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
+	['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
+	['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
+	['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
+	['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
+	['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
+	['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
+	['&lt;',      '&#60;',   true, 'less-than sign'],
+	['&gt;',      '&#62;',   true, 'greater-than sign'],
+	['&le;',      '&#8804;', true, 'less-than or equal to'],
+	['&ge;',      '&#8805;', true, 'greater-than or equal to'],
+	['&ndash;',   '&#8211;', true, 'en dash'],
+	['&mdash;',   '&#8212;', true, 'em dash'],
+	['&macr;',    '&#175;',  true, 'macron'],
+	['&oline;',   '&#8254;', true, 'overline'],
+	['&curren;',  '&#164;',  true, 'currency sign'],
+	['&brvbar;',  '&#166;',  true, 'broken bar'],
+	['&uml;',     '&#168;',  true, 'diaeresis'],
+	['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
+	['&iquest;',  '&#191;',  true, 'turned question mark'],
+	['&circ;',    '&#710;',  true, 'circumflex accent'],
+	['&tilde;',   '&#732;',  true, 'small tilde'],
+	['&deg;',     '&#176;',  true, 'degree sign'],
+	['&minus;',   '&#8722;', true, 'minus sign'],
+	['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
+	['&divide;',  '&#247;',  true, 'division sign'],
+	['&frasl;',   '&#8260;', true, 'fraction slash'],
+	['&times;',   '&#215;',  true, 'multiplication sign'],
+	['&sup1;',    '&#185;',  true, 'superscript one'],
+	['&sup2;',    '&#178;',  true, 'superscript two'],
+	['&sup3;',    '&#179;',  true, 'superscript three'],
+	['&frac14;',  '&#188;',  true, 'fraction one quarter'],
+	['&frac12;',  '&#189;',  true, 'fraction one half'],
+	['&frac34;',  '&#190;',  true, 'fraction three quarters'],
+// math / logical
+	['&fnof;',    '&#402;',  true, 'function / florin'],
+	['&int;',     '&#8747;', true, 'integral'],
+	['&sum;',     '&#8721;', true, 'n-ary sumation'],
+	['&infin;',   '&#8734;', true, 'infinity'],
+	['&radic;',   '&#8730;', true, 'square root'],
+	['&sim;',     '&#8764;', false,'similar to'],
+	['&cong;',    '&#8773;', false,'approximately equal to'],
+	['&asymp;',   '&#8776;', true, 'almost equal to'],
+	['&ne;',      '&#8800;', true, 'not equal to'],
+	['&equiv;',   '&#8801;', true, 'identical to'],
+	['&isin;',    '&#8712;', false,'element of'],
+	['&notin;',   '&#8713;', false,'not an element of'],
+	['&ni;',      '&#8715;', false,'contains as member'],
+	['&prod;',    '&#8719;', true, 'n-ary product'],
+	['&and;',     '&#8743;', false,'logical and'],
+	['&or;',      '&#8744;', false,'logical or'],
+	['&not;',     '&#172;',  true, 'not sign'],
+	['&cap;',     '&#8745;', true, 'intersection'],
+	['&cup;',     '&#8746;', false,'union'],
+	['&part;',    '&#8706;', true, 'partial differential'],
+	['&forall;',  '&#8704;', false,'for all'],
+	['&exist;',   '&#8707;', false,'there exists'],
+	['&empty;',   '&#8709;', false,'diameter'],
+	['&nabla;',   '&#8711;', false,'backward difference'],
+	['&lowast;',  '&#8727;', false,'asterisk operator'],
+	['&prop;',    '&#8733;', false,'proportional to'],
+	['&ang;',     '&#8736;', false,'angle'],
+// undefined
+	['&acute;',   '&#180;',  true, 'acute accent'],
+	['&cedil;',   '&#184;',  true, 'cedilla'],
+	['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
+	['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
+	['&dagger;',  '&#8224;', true, 'dagger'],
+	['&Dagger;',  '&#8225;', true, 'double dagger'],
+// alphabetical special chars
+	['&Agrave;',  '&#192;',  true, 'A - grave'],
+	['&Aacute;',  '&#193;',  true, 'A - acute'],
+	['&Acirc;',   '&#194;',  true, 'A - circumflex'],
+	['&Atilde;',  '&#195;',  true, 'A - tilde'],
+	['&Auml;',    '&#196;',  true, 'A - diaeresis'],
+	['&Aring;',   '&#197;',  true, 'A - ring above'],
+	['&AElig;',   '&#198;',  true, 'ligature AE'],
+	['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
+	['&Egrave;',  '&#200;',  true, 'E - grave'],
+	['&Eacute;',  '&#201;',  true, 'E - acute'],
+	['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
+	['&Euml;',    '&#203;',  true, 'E - diaeresis'],
+	['&Igrave;',  '&#204;',  true, 'I - grave'],
+	['&Iacute;',  '&#205;',  true, 'I - acute'],
+	['&Icirc;',   '&#206;',  true, 'I - circumflex'],
+	['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
+	['&ETH;',     '&#208;',  true, 'ETH'],
+	['&Ntilde;',  '&#209;',  true, 'N - tilde'],
+	['&Ograve;',  '&#210;',  true, 'O - grave'],
+	['&Oacute;',  '&#211;',  true, 'O - acute'],
+	['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
+	['&Otilde;',  '&#213;',  true, 'O - tilde'],
+	['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
+	['&Oslash;',  '&#216;',  true, 'O - slash'],
+	['&OElig;',   '&#338;',  true, 'ligature OE'],
+	['&Scaron;',  '&#352;',  true, 'S - caron'],
+	['&Ugrave;',  '&#217;',  true, 'U - grave'],
+	['&Uacute;',  '&#218;',  true, 'U - acute'],
+	['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
+	['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
+	['&Yacute;',  '&#221;',  true, 'Y - acute'],
+	['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
+	['&THORN;',   '&#222;',  true, 'THORN'],
+	['&agrave;',  '&#224;',  true, 'a - grave'],
+	['&aacute;',  '&#225;',  true, 'a - acute'],
+	['&acirc;',   '&#226;',  true, 'a - circumflex'],
+	['&atilde;',  '&#227;',  true, 'a - tilde'],
+	['&auml;',    '&#228;',  true, 'a - diaeresis'],
+	['&aring;',   '&#229;',  true, 'a - ring above'],
+	['&aelig;',   '&#230;',  true, 'ligature ae'],
+	['&ccedil;',  '&#231;',  true, 'c - cedilla'],
+	['&egrave;',  '&#232;',  true, 'e - grave'],
+	['&eacute;',  '&#233;',  true, 'e - acute'],
+	['&ecirc;',   '&#234;',  true, 'e - circumflex'],
+	['&euml;',    '&#235;',  true, 'e - diaeresis'],
+	['&igrave;',  '&#236;',  true, 'i - grave'],
+	['&iacute;',  '&#237;',  true, 'i - acute'],
+	['&icirc;',   '&#238;',  true, 'i - circumflex'],
+	['&iuml;',    '&#239;',  true, 'i - diaeresis'],
+	['&eth;',     '&#240;',  true, 'eth'],
+	['&ntilde;',  '&#241;',  true, 'n - tilde'],
+	['&ograve;',  '&#242;',  true, 'o - grave'],
+	['&oacute;',  '&#243;',  true, 'o - acute'],
+	['&ocirc;',   '&#244;',  true, 'o - circumflex'],
+	['&otilde;',  '&#245;',  true, 'o - tilde'],
+	['&ouml;',    '&#246;',  true, 'o - diaeresis'],
+	['&oslash;',  '&#248;',  true, 'o slash'],
+	['&oelig;',   '&#339;',  true, 'ligature oe'],
+	['&scaron;',  '&#353;',  true, 's - caron'],
+	['&ugrave;',  '&#249;',  true, 'u - grave'],
+	['&uacute;',  '&#250;',  true, 'u - acute'],
+	['&ucirc;',   '&#251;',  true, 'u - circumflex'],
+	['&uuml;',    '&#252;',  true, 'u - diaeresis'],
+	['&yacute;',  '&#253;',  true, 'y - acute'],
+	['&thorn;',   '&#254;',  true, 'thorn'],
+	['&yuml;',    '&#255;',  true, 'y - diaeresis'],
+    ['&Alpha;',   '&#913;',  true, 'Alpha'],
+	['&Beta;',    '&#914;',  true, 'Beta'],
+	['&Gamma;',   '&#915;',  true, 'Gamma'],
+	['&Delta;',   '&#916;',  true, 'Delta'],
+	['&Epsilon;', '&#917;',  true, 'Epsilon'],
+	['&Zeta;',    '&#918;',  true, 'Zeta'],
+	['&Eta;',     '&#919;',  true, 'Eta'],
+	['&Theta;',   '&#920;',  true, 'Theta'],
+	['&Iota;',    '&#921;',  true, 'Iota'],
+	['&Kappa;',   '&#922;',  true, 'Kappa'],
+	['&Lambda;',  '&#923;',  true, 'Lambda'],
+	['&Mu;',      '&#924;',  true, 'Mu'],
+	['&Nu;',      '&#925;',  true, 'Nu'],
+	['&Xi;',      '&#926;',  true, 'Xi'],
+	['&Omicron;', '&#927;',  true, 'Omicron'],
+	['&Pi;',      '&#928;',  true, 'Pi'],
+	['&Rho;',     '&#929;',  true, 'Rho'],
+	['&Sigma;',   '&#931;',  true, 'Sigma'],
+	['&Tau;',     '&#932;',  true, 'Tau'],
+	['&Upsilon;', '&#933;',  true, 'Upsilon'],
+	['&Phi;',     '&#934;',  true, 'Phi'],
+	['&Chi;',     '&#935;',  true, 'Chi'],
+	['&Psi;',     '&#936;',  true, 'Psi'],
+	['&Omega;',   '&#937;',  true, 'Omega'],
+	['&alpha;',   '&#945;',  true, 'alpha'],
+	['&beta;',    '&#946;',  true, 'beta'],
+	['&gamma;',   '&#947;',  true, 'gamma'],
+	['&delta;',   '&#948;',  true, 'delta'],
+	['&epsilon;', '&#949;',  true, 'epsilon'],
+	['&zeta;',    '&#950;',  true, 'zeta'],
+	['&eta;',     '&#951;',  true, 'eta'],
+	['&theta;',   '&#952;',  true, 'theta'],
+	['&iota;',    '&#953;',  true, 'iota'],
+	['&kappa;',   '&#954;',  true, 'kappa'],
+	['&lambda;',  '&#955;',  true, 'lambda'],
+	['&mu;',      '&#956;',  true, 'mu'],
+	['&nu;',      '&#957;',  true, 'nu'],
+	['&xi;',      '&#958;',  true, 'xi'],
+	['&omicron;', '&#959;',  true, 'omicron'],
+	['&pi;',      '&#960;',  true, 'pi'],
+	['&rho;',     '&#961;',  true, 'rho'],
+	['&sigmaf;',  '&#962;',  true, 'final sigma'],
+	['&sigma;',   '&#963;',  true, 'sigma'],
+	['&tau;',     '&#964;',  true, 'tau'],
+	['&upsilon;', '&#965;',  true, 'upsilon'],
+	['&phi;',     '&#966;',  true, 'phi'],
+	['&chi;',     '&#967;',  true, 'chi'],
+	['&psi;',     '&#968;',  true, 'psi'],
+	['&omega;',   '&#969;',  true, 'omega'],
+// symbols
+	['&alefsym;', '&#8501;', false,'alef symbol'],
+	['&piv;',     '&#982;',  false,'pi symbol'],
+	['&real;',    '&#8476;', false,'real part symbol'],
+	['&thetasym;','&#977;',  false,'theta symbol'],
+	['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
+	['&weierp;',  '&#8472;', false,'Weierstrass p'],
+	['&image;',   '&#8465;', false,'imaginary part'],
+// arrows
+	['&larr;',    '&#8592;', true, 'leftwards arrow'],
+	['&uarr;',    '&#8593;', true, 'upwards arrow'],
+	['&rarr;',    '&#8594;', true, 'rightwards arrow'],
+	['&darr;',    '&#8595;', true, 'downwards arrow'],
+	['&harr;',    '&#8596;', true, 'left right arrow'],
+	['&crarr;',   '&#8629;', false,'carriage return'],
+	['&lArr;',    '&#8656;', false,'leftwards double arrow'],
+	['&uArr;',    '&#8657;', false,'upwards double arrow'],
+	['&rArr;',    '&#8658;', false,'rightwards double arrow'],
+	['&dArr;',    '&#8659;', false,'downwards double arrow'],
+	['&hArr;',    '&#8660;', false,'left right double arrow'],
+	['&there4;',  '&#8756;', false,'therefore'],
+	['&sub;',     '&#8834;', false,'subset of'],
+	['&sup;',     '&#8835;', false,'superset of'],
+	['&nsub;',    '&#8836;', false,'not a subset of'],
+	['&sube;',    '&#8838;', false,'subset of or equal to'],
+	['&supe;',    '&#8839;', false,'superset of or equal to'],
+	['&oplus;',   '&#8853;', false,'circled plus'],
+	['&otimes;',  '&#8855;', false,'circled times'],
+	['&perp;',    '&#8869;', false,'perpendicular'],
+	['&sdot;',    '&#8901;', false,'dot operator'],
+	['&lceil;',   '&#8968;', false,'left ceiling'],
+	['&rceil;',   '&#8969;', false,'right ceiling'],
+	['&lfloor;',  '&#8970;', false,'left floor'],
+	['&rfloor;',  '&#8971;', false,'right floor'],
+	['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
+	['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
+	['&loz;',     '&#9674;', true,'lozenge'],
+	['&spades;',  '&#9824;', false,'black spade suit'],
+	['&clubs;',   '&#9827;', true, 'black club suit'],
+	['&hearts;',  '&#9829;', true, 'black heart suit'],
+	['&diams;',   '&#9830;', true, 'black diamond suit'],
+	['&ensp;',    '&#8194;', false,'en space'],
+	['&emsp;',    '&#8195;', false,'em space'],
+	['&thinsp;',  '&#8201;', false,'thin space'],
+	['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
+	['&zwj;',     '&#8205;', false,'zero width joiner'],
+	['&lrm;',     '&#8206;', false,'left-to-right mark'],
+	['&rlm;',     '&#8207;', false,'right-to-left mark'],
+	['&shy;',     '&#173;',  false,'soft hyphen']
+];
+
+function renderCharMapHTML() {
+	var charsPerRow = 20, tdWidth=20, tdHeight=20;
+	var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+	var cols=-1;
+	for (var i=0; i<charmap.length; i++) {
+		if (charmap[i][2]==true) {
+			cols++;
+			html += ''
+				+ '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
+				+ ' onmouseover="this.className=\'charmapOver\';'
+				+ 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
+				+ ' onmouseout="this.className=\'charmap\';"'
+				+ ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+				+ charmap[i][1]
+				+ '</a></td>';
+			if ((cols+1) % charsPerRow == 0)
+				html += '</tr><tr height="' + tdHeight + '">';
+		}
+	 }
+	if (cols % charsPerRow > 0) {
+		var padd = charsPerRow - (cols % charsPerRow);
+		for (var i=0; i<padd-1; i++)
+			html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
+	}
+	html += '</tr></table>';
+	document.write(html);
+}
+
+function insertChar(chr) {
+	tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
+
+	// Refocus in window
+	if (tinyMCEPopup.isWindow)
+		window.focus();
+
+	tinyMCEPopup.close();
+}
+
+function previewChar(codeA, codeB, codeN) {
+	var elmA = document.getElementById('codeA');
+	var elmB = document.getElementById('codeB');
+	var elmV = document.getElementById('codeV');
+	var elmN = document.getElementById('codeN');
+
+	if (codeA=='#160;') {
+		elmV.innerHTML = '__';
+	} else {
+		elmV.innerHTML = '&' + codeA;
+	}
+
+	elmB.innerHTML = '&amp;' + codeA;
+	elmA.innerHTML = '&amp;' + codeB;
+	elmN.innerHTML = codeN;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
+
+var colors = new Array(
+	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+	"#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+	"#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+	"#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+	"#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+	"#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+	"#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+	"#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+	"#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+	"#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+	"#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+	"#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+	"#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+	"#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+	"#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+	"#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+	"#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+	"#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+	"#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+	"#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+	"#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+	"#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+	"#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+	"#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+	"#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+	"#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+	"#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+);
+
+var named = {
+	'#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
+	'#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown',
+	'#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue',
+	'#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod',
+	'#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen',
+	'#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue',
+	'#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue',
+	'#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen',
+	'#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey',
+	'#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory',
+	'#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue',
+	'#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen',
+	'#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey',
+	'#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
+	'#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue',
+	'#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin',
+	'#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid',
+	'#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff',
+	'#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue',
+	'#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver',
+	'#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen',
+	'#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
+	'#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen'
+};
+
+function init() {
+	var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
+
+	if (tinyMCE.isMSIE)
+		tinyMCEPopup.resizeToInnerSize();
+
+	generatePicker();
+
+	if (inputColor) {
+		changeFinalColor(inputColor);
+
+		col = convertHexToRGB(inputColor);
+
+		if (col)
+			updateLight(col.r, col.g, col.b);
+	}
+}
+
+function insertAction() {
+	var color = document.getElementById("color").value;
+
+	tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
+	tinyMCEPopup.close();
+}
+
+function showColor(color, name) {
+	if (name)
+		document.getElementById("colorname").innerHTML = name;
+
+	document.getElementById("preview").style.backgroundColor = color;
+	document.getElementById("color").value = color;
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	if (!col)
+		return col;
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return {r : r, g : g, b : b};
+	}
+
+	return null;
+}
+
+function generatePicker() {
+	var el = document.getElementById('light'), h = '', i;
+
+	for (i = 0; i < detail; i++){
+		h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
+		+ ' onclick="changeFinalColor(this.style.backgroundColor)"'
+		+ ' onmousedown="isMouseDown = true; return false;"'
+		+ ' onmouseup="isMouseDown = false;"'
+		+ ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
+		+ ' onmouseover="isMouseOver = true;"'
+		+ ' onmouseout="isMouseOver = false;"'
+		+ '></div>';
+	}
+
+	el.innerHTML = h;
+}
+
+function generateWebColors() {
+	var el = document.getElementById('webcolors'), h = '', i;
+
+	if (el.className == 'generated')
+		return;
+
+	h += '<table border="0" cellspacing="1" cellpadding="0">'
+		+ '<tr>';
+
+	for (i=0; i<colors.length; i++) {
+		h += '<td bgcolor="' + colors[i] + '">'
+			+ '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] +  '\');" onmouseover="showColor(\'' + colors[i] +  '\');">'
+			+ '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] +  '" alt="' + colors[i] +  '" /></a></td>';
+		if ((i+1) % 18 == 0)
+			h += '</tr><tr>';
+	}
+
+	h += '</table>';
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function generateNamedColors() {
+	var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
+
+	if (el.className == 'generated')
+		return;
+
+	for (n in named) {
+		v = named[n];
+		h += '<a href="javascript:selectColor();" onmouseover="showColor(\'' + n +  '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>'
+	}
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function selectColor() {
+	var color = document.getElementById("color").value;
+
+	if(window.opener)
+		window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color);
+
+	window.close();
+}
+
+function dechex(n) {
+	return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
+}
+
+function computeColor(e) {
+	var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
+
+	x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
+	y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
+
+	partWidth = document.getElementById('colorpicker').width / 6;
+	partDetail = detail / 2;
+	imHeight = document.getElementById('colorpicker').height;
+
+	r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
+	g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255	+ (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
+	b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
+
+	coef = (imHeight - y) / imHeight;
+	r = 128 + (r - 128) * coef;
+	g = 128 + (g - 128) * coef;
+	b = 128 + (b - 128) * coef;
+
+	changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
+	updateLight(r, g, b);
+}
+
+function updateLight(r, g, b) {
+	var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
+
+	for (i=0; i<detail; i++) {
+		if ((i>=0) && (i<partDetail)) {
+			finalCoef = i / partDetail;
+			finalR = dechex(255 - (255 - r) * finalCoef);
+			finalG = dechex(255 - (255 - g) * finalCoef);
+			finalB = dechex(255 - (255 - b) * finalCoef);
+		} else {
+			finalCoef = 2 - i / partDetail;
+			finalR = dechex(r * finalCoef);
+			finalG = dechex(g * finalCoef);
+			finalB = dechex(b * finalCoef);
+		}
+
+		color = finalR + finalG + finalB;
+
+		document.getElementById('gs' + i).style.backgroundColor = '#'+color;
+	}
+}
+
+function changeFinalColor(color) {
+	if (color.indexOf('#') == -1)
+		color = convertRGBToHex(color);
+
+	document.getElementById('preview').style.backgroundColor = color;
+	document.getElementById('color').value = color;
+}
+
+window.focus();
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+var url = tinyMCE.getParam("external_image_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function insertImage() {
+	var src = document.forms[0].src.value;
+	var alt = document.forms[0].alt.value;
+	var border = document.forms[0].border.value;
+	var vspace = document.forms[0].vspace.value;
+	var hspace = document.forms[0].hspace.value;
+	var width = document.forms[0].width.value;
+	var height = document.forms[0].height.value;
+	var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align);
+	tinyMCEPopup.close();
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].align.options.length; i++) {
+		if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
+			document.forms[0].align.options.selectedIndex = i;
+	}
+
+	formObj.src.value = tinyMCE.getWindowArg('src');
+	formObj.alt.value = tinyMCE.getWindowArg('alt');
+	formObj.border.value = tinyMCE.getWindowArg('border');
+	formObj.vspace.value = tinyMCE.getWindowArg('vspace');
+	formObj.hspace.value = tinyMCE.getWindowArg('hspace');
+	formObj.width.value = tinyMCE.getWindowArg('width');
+	formObj.height.value = tinyMCE.getWindowArg('height');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	// Handle file browser
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '180px';
+
+	// Auto select image in list
+	if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+		for (var i=0; i<formObj.image_list.length; i++) {
+			if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
+				formObj.image_list.options[i].selected = true;
+		}
+	}
+}
+
+var preloadImg = new Image();
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+}
+
+function getImageData() {
+	preloadImg = new Image();
+	tinyMCE.addEvent(preloadImg, "load", updateImageData);
+	tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
+	preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+var url = tinyMCE.getParam("external_link_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link');
+
+	// Handle file browser
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '180px';
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].target.options.length; i++) {
+		var option = document.forms[0].target.options[i];
+
+		if (option.value == tinyMCE.getWindowArg('target'))
+			option.selected = true;
+	}
+
+	document.forms[0].href.value = tinyMCE.getWindowArg('href');
+	document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	addClassesToList('styleSelect', 'theme_advanced_link_styles');
+	selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
+
+	// Hide css select row if no CSS classes
+	if (formObj.styleSelect && formObj.styleSelect.options.length <= 1) {
+		var sr = document.getElementById('styleSelectRow');
+		sr.style.display = 'none';
+		sr.parentNode.removeChild(sr);
+	}
+
+	// Auto select link in list
+	if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+		var formObj = document.forms[0];
+
+		for (var i=0; i<formObj.link_list.length; i++) {
+			if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
+				formObj.link_list.options[i].selected = true;
+		}
+	}
+}
+
+function insertLink() {
+	var href = document.forms[0].href.value;
+	var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
+	var title = document.forms[0].linktitle.value;
+	var style_class = document.forms[0].styleSelect ? document.forms[0].styleSelect.value : "";
+	var dummy;
+
+	if (target == '_self')
+		target = '';
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertLink(href, target, title, dummy, style_class);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+function saveContent() {
+	tinyMCE.setContent(document.getElementById('htmlSource').value);
+	tinyMCE.closeWindow(window);
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	document.getElementById('htmlSource').value = tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'));
+
+	resizeInputs();
+
+	if (tinyMCE.getParam("theme_advanced_source_editor_wrap", true)) {
+		setWrap('soft');
+		document.getElementById('wraped').checked = true;
+	}
+}
+
+function setWrap(val) {
+	var s = document.getElementById('htmlSource');
+
+	s.wrap = val;
+
+	if (tinyMCE.isGecko || tinyMCE.isOpera) {
+		var v = s.value;
+		var n = s.cloneNode(false);
+		n.setAttribute("wrap", val);
+		s.parentNode.replaceChild(n, s);
+		n.value = v;
+	}
+}
+
+function toggleWordWrap(elm) {
+	if (elm.checked)
+		setWrap('soft');
+	else
+		setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	var el = document.getElementById('htmlSource');
+
+	if (!tinyMCE.isMSIE) {
+		 wHeight = self.innerHeight - 60;
+		 wWidth = self.innerWidth - 16;
+	} else {
+		 wHeight = document.body.clientHeight - 60;
+		 wWidth = document.body.clientWidth - 16;
+	}
+
+	el.style.height = Math.abs(wHeight) + 'px';
+	el.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_blockquote : 'Blockquote',
+theme_code : 'Code',
+theme_samp : 'Code sample',
+theme_dt : 'Definition term ',
+theme_dd : 'Definition description',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close',
+toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X',
+invalid_data : 'Error: Invalid values entered, these are marked in red.',
+more_colors : 'More colors',
+color_picker_tab : 'Picker',
+color_picker : 'Color picker',
+web_colors_tab : 'Web safe',
+web_colors : 'Web safe colors',
+named_colors_tab : 'Named',
+named_colors : 'Named colors',
+color : 'Color:',
+color_name : 'Name:'
+});

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
+	<base target="_self" />
+</head>
+<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertLink();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_link_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+
+		<table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="href">{$lang_insert_link_url}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0"> 
+				  <tr> 
+					<td><input id="href" name="href" type="text" value="" style="width: 200px" /></td> 
+					<td id="hrefbrowsercontainer">&nbsp;</td>
+				  </tr> 
+				</table></td>
+          </tr>
+		  <!-- Link list -->
+		  <script language="javascript">
+			if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="link_list">{$lang_link_list}</label></td>';
+				html += '<td><select id="link_list" name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCELinkList.length; i++)
+					html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Link list -->
+          <tr>
+            <td nowrap="nowrap"><label for="target">{$lang_insert_link_target}</label></td>
+            <td><select id="target" name="target" style="width: 200px">
+                <option value="_self">{$lang_insert_link_target_same}</option>
+                <option value="_blank">{$lang_insert_link_target_blank}</option>
+				<script language="javascript">
+					var html = "";
+					var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+
+					for (var i=0; i<targets.length; i++) {
+						var key, value;
+
+						if (targets[i] == "")
+							continue;
+
+						key = targets[i].split('=')[0];
+						value = targets[i].split('=')[1];
+
+						html += '<option value="' + value + '">' + key + '</option>';
+					}
+
+					document.write(html);
+				</script>
+            </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="linktitle">{$lang_theme_insert_link_titlefield}</label></td>
+            <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr id="styleSelectRow">
+            <td><label for="styleSelect">{$lang_class_name}</label></td>
+            <td>
+			 <select id="styleSelect" name="styleSelect">
+                <option value="" selected>{$lang_theme_style_select}</option>
+             </select></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_theme_code_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div style="float: left" class="title">{$lang_theme_code_title}</div>
+
+		<div id="wrapline" style="float: right">
+			<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>
+		</div>
+
+		<br style="clear: both" />
+
+		<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px" dir="ltr" wrap="off"></textarea>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB;
+}
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;	
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+.mceSeparatorLine {
+	border: 0;
+	padding: 0;
+	margin-left: 4px;
+	margin-right: 2px;
+}
+
+.mceSelectList {
+	font-family: "MS Sans Serif";
+	font-size: 7pt;
+	font-weight: normal;
+	margin-top: 2px;
+}
+
+.mceLabel, .mceLabelDisabled {
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+}
+
+.mceLabel {
+	color: #000000;
+}
+
+.mceLabelDisabled {
+	cursor: text;
+	color: #999999;
+}
+
+.mceEditor {
+	background: #F0F0EE;
+	border: 1px solid #cccccc;
+}
+
+.mceEditorArea {
+	font-family: "MS Sans Serif";
+	background: #FFFFFF;
+}
+
+.mceToolbar {
+	background: #F0F0EE;
+	border-top: 1px solid #cccccc;
+	line-height: 1px;
+	font-size: 1px;
+	padding-bottom: 1px;
+}
+
+.mceEditorIframe {
+	border: 0;
+}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	margin-top: 1px;
+	margin-left: 1px;
+}
+
+a.mceButtonDisabled img {
+	border: 0 !important;
+}
+
+a.mceButtonNormal img, a.mceButtonSelected img {
+	border: 1px solid #F0F0EE !important;
+}
+
+a.mceButtonSelected img {
+	border: 1px solid #C0C0BB !important;
+}
+
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+a.mceButtonDisabled img {
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+a.mceTiledButton img {
+	background-image: url('../images/buttons.gif');
+	background-repeat: no-repeat;
+}
+
+/* MSIE specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
+	border: 0px !important;
+	margin-top: 2px;
+	margin-bottom: 1px;
+}
+
+* html a.mceButtonDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	border: 0px !important;
+}
+
+* html a.mceButtonDisabled {
+	border: 1px solid #F0F0EE !important;
+}
+
+* html a.mceButtonNormal, * html a.mceButtonSelected {
+	border: 1px solid #F0F0EE;
+	cursor: default;
+}
+
+* html a.mceButtonSelected {
+	border: 1px solid #C0C0BB;
+}
+
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+* html .mceSelectList {
+	margin-top: 2px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';html+='<tr><td align="center">';html+='<span id="{$editor_id}">IFRAME</span>';html+='</td></tr>';html+='<tr><td class="mceToolbar" align="center" height="1">';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList');html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList');html+='</td></tr></table>';return{delta_width:0,delta_height:20,html:html}},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break}}while((node=node.parentNode)!=null)}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+/**
+ * $Id: editor_template_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_SimpleTheme = {
+	// List of button ids in tile map
+	_buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',
+
+	getEditorTemplate : function() {
+		var html = '';
+
+		html += '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';
+		html += '<tr><td align="center">';
+		html += '<span id="{$editor_id}">IFRAME</span>';
+		html += '</td></tr>';
+		html += '<tr><td class="mceToolbar" align="center" height="1">';
+		html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold');
+		html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic');
+		html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline');
+		html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo');
+		html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList');
+		html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList');
+		html += '</td></tr></table>';
+
+		return {
+			delta_width : 0,
+			delta_height : 20,
+			html : html
+		};
+	},
+
+	handleNodeChange : function(editor_id, node) {
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+
+		// Handle elements
+		do {
+			switch (node.nodeName.toLowerCase()) {
+				case "b":
+				case "strong":
+					tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected');
+				break;
+
+				case "i":
+				case "em":
+					tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected');
+				break;
+
+				case "u":
+					tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+				break;
+
+				case "strike":
+					tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected');
+				break;
+				
+				case "ul":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "ol":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	}
+};
+
+tinyMCE.addTheme("simple", TinyMCE_SimpleTheme);
+tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+function TinyMCE_Engine(){var ua;this.majorVersion="2";this.minorVersion="1.0";this.releaseDate="2007-02-13";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.log=new Array();this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isMSIE7=this.isMSIE&&(ua.indexOf('MSIE 7')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false}this.isIE=this.isMSIE;this.isRealIE=this.isMSIE&&!this.isOpera;this.idCounter=0};TinyMCE_Engine.prototype={init:function(settings){var theme,nl,baseHREF="",i;if(this.isMSIE5_0)return;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');nl=document.getElementsByTagName('base');for(i=0;i<nl.length;i++){if(nl[i].href)baseHREF=nl[i].href}for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_dev.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1||src.indexOf('_dev')!=-1)?'_src':'';tinyMCE.gzipMode=src.indexOf('_gzip')!=-1;src=src.substring(0,src.lastIndexOf('/'));if(settings.exec_mode=="src"||settings.exec_mode=="normal")tinyMCE.srcMode=settings.exec_mode=="src"?'_src':'';if(baseHREF!=""&&src.indexOf('://')==-1)tinyMCE.baseURL=baseHREF+src;else tinyMCE.baseURL=src;break}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL}this._def("mode","none");this._def("theme","advanced");this._def("plugins","",true);this._def("language","en");this._def("docs_language",this.settings['language']);this._def("elements","");this._def("textarea_trigger","mce_editable");this._def("editor_selector","");this._def("editor_deselector","mceNoEditor");this._def("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");this._def("extended_valid_elements","");this._def("invalid_elements","");this._def("encoding","");this._def("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE_Engine.prototype.convertURL"));this._def("save_callback","");this._def("debug",false);this._def("force_br_newlines",false);this._def("force_p_newlines",true);this._def("add_form_submit_trigger",true);this._def("relative_urls",true);this._def("remove_script_host",true);this._def("focus_alert",true);this._def("document_base_url",this.documentURL);this._def("visual",true);this._def("visual_table_class","mceVisualAid");this._def("setupcontent_callback","");this._def("fix_content_duplication",true);this._def("custom_undo_redo",true);this._def("custom_undo_redo_levels",-1);this._def("custom_undo_redo_keyboard_shortcuts",true);this._def("custom_undo_redo_restore_selection",true);this._def("custom_undo_redo_global",false);this._def("verify_html",true);this._def("apply_source_formatting",false);this._def("directionality","ltr");this._def("cleanup_on_startup",false);this._def("inline_styles",false);this._def("convert_newlines_to_brs",false);this._def("auto_reset_designmode",true);this._def("entities","39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",true);this._def("entity_encoding","named");this._def("cleanup_callback","");this._def("add_unload_trigger",true);this._def("ask",false);this._def("nowrap",false);this._def("auto_resize",false);this._def("auto_focus",false);this._def("cleanup",true);this._def("remove_linebreaks",true);this._def("button_tile_map",false);this._def("submit_patch",true);this._def("browsers","msie,safari,gecko,opera",true);this._def("dialog_type","window");this._def("accessibility_warnings",true);this._def("accessibility_focus",true);this._def("merge_styles_invalid_parents","");this._def("force_hex_style_colors",true);this._def("trim_span_elements",true);this._def("convert_fonts_to_spans",false);this._def("doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",true);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');this._def("gecko_spellcheck",false);this._def("hide_selects_on_submit",true);if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.inlineStrict='A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';this.inlineTransitional='A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';this.blockElms='H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:void(091039730);';this.uniqueTag='<div id="mceTMPElement" style="display: none">TMP</div>';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup','removeInstance');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isIE||tinyMCE.isOpera)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath}else{if(this.settings.editor_css!='')this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css"}if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg)}if(this.configs.length==0){if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isRealIE){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad)}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents()}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i<p.length;i++){if(p[i].charAt(0)!='-')this.loadScript(tinyMCE.baseURL+'/plugins/'+p[i]+'/editor_plugin'+tinyMCE.srcMode+'.js')}}if(tinyMCE.getParam('entity_encoding')=='named'){settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)settings['cleanup_entities']['c'+entities[i]]=entities[i+1]}settings['index']=this.configs.length;this.configs[this.configs.length]=settings;this.loadNextScript();if(this.isIE&&!this.isOpera){try{document.execCommand('BackgroundImageCache',false,true)}catch(e){}}this.xmlEncodeAposRe=new RegExp('[<>&"\']','g');this.xmlEncodeRe=new RegExp('[<>&"]','g');},_addUnloadEvents:function(){if(tinyMCE.isIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler)}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true)})}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript()},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u}},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js")},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript()},addMenu:function(n,m){this.menus[n]=m},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},loadScript:function(url){var i;for(i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return}if(tinyMCE.settings.strict_loading_mode)this.pendingFiles[this.pendingFiles.length]=url;else document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex<this.pendingFiles.length){se=d.createElementNS('http://www.w3.org/1999/xhtml','script');se.setAttribute('language','javascript');se.setAttribute('type','text/javascript');se.setAttribute('src',this.pendingFiles[this.loadingIndex++]);d.getElementsByTagName("head")[0].appendChild(se)}else this.loadingIndex=-1;},loadCSS:function(url){var ar=url.replace(/\s+/,'').split(',');var lflen=0,csslen=0;var skip=false;var x=0,i=0,nl,le;for(x=0,csslen=ar.length;x<csslen;x++){if(ar[x]!=null&&ar[x]!='null'&&ar[x].length>0){for(i=0,lflen=this.loadedFiles.length;i<lflen;i++){if(this.loadedFiles[i]==ar[x]){skip=true;break}}if(!skip){if(tinyMCE.settings.strict_loading_mode){nl=document.getElementsByTagName("head");le=document.createElement('link');le.setAttribute('href',ar[x]);le.setAttribute('rel','stylesheet');le.setAttribute('type','text/css');nl[0].appendChild(le)}else document.write('<link href="'+ar[x]+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=ar[x]}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x<csslen;x++){css_file=css_ary[x];if(css_file!=null&&css_file!='null'&&css_file.length>0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm)}else doc.createStyleSheet(css_file)}}},confirmAdd:function(e,settings){var elm=tinyMCE.isIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true')},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid)}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document)},removeInstance:function(ti){var t=[],n,i;for(n in tinyMCE.instances){i=tinyMCE.instances[n];if(tinyMCE.isInstance(i)&&ti!=i)t[n]=i}tinyMCE.instances=t;n=[];t=tinyMCE.undoLevels;for(i=0;i<t.length;i++){if(t[i]!=ti)n.push(t[i])}tinyMCE.undoLevels=n;tinyMCE.undoIndex=n.length;tinyMCE.dispatchCallback(ti,'remove_instance_callback','removeInstance',ti);return ti},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),h,re,ot,tn;if(inst){inst.switchSettings();editor_id=inst.editorId;h=tinyMCE.getContent(editor_id);this.removeInstance(inst);tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;re=document.getElementById(editor_id+"_parent");ot=inst.oldTargetElement;tn=ot.nodeName.toLowerCase();if(tn=="textarea"||tn=="input"){re.parentNode.removeChild(re);ot.style.display="inline";ot.value=h}else{ot.innerHTML=h;ot.style.display='block';re.parentNode.insertBefore(ot,re);re.parentNode.removeChild(re)}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback)}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name)inst.getBody().innerHTML=inst.startContent}}},execInstanceCommand:function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id),r;if(inst){r=inst.selection.getRng();if(typeof(focus)=="undefined")focus=true;if(focus&&(!r||!r.item))inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();inst.select();tinyMCE.execCommand(command,user_interface,value);if(tinyMCE.isIE&&window.event!=null)tinyMCE.cancelEvent(window.event)}},execCommand:function(command,user_interface,value){var inst=tinyMCE.selectedInstance;user_interface=user_interface?user_interface:false;value=value?value:null;if(inst)inst.switchSettings();switch(command){case"Undo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex>0){tinyMCE.nextUndoRedoAction='Undo';inst=this.undoLevels[--this.undoIndex];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Undo')}}else inst.execCommand('Undo');return true;case"Redo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex<=this.undoLevels.length-1){tinyMCE.nextUndoRedoAction='Redo';inst=this.undoLevels[this.undoIndex++];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Redo')}}else inst.execCommand('Redo');return true;case'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.getWin().focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'],value['document']),value['element'],value['document']);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceToggleEditor":var inst=tinyMCE.getInstanceById(value),pe,te;if(inst){pe=document.getElementById(inst.editorId+'_parent');te=inst.oldTargetElement;if(typeof(inst.enabled)=='undefined')inst.enabled=true;inst.enabled=!inst.enabled;if(!inst.enabled){pe.style.display='none';te.value=inst.getHTML();te.style.display=inst.oldTargetDisplay;tinyMCE.dispatchCallback(inst,'hide_instance_callback','hideInstance',inst)}else{pe.style.display='block';te.style.display='none';inst.setHTML(te.value);inst.useCSS=false;tinyMCE.dispatchCallback(inst,'show_instance_callback','showInstance',inst)}}else tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceResetDesignMode":if(!tinyMCE.isIE){for(var n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="on"}catch(e){}}}return}if(inst){inst.execCommand(command,user_interface,value)}else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert'])},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings['area_width'];ah=""+tinyMCE.settings['area_height'];if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=(isNaN(aw)||aw<0)?300:aw;aw=aw+"px"}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=(isNaN(ah)||ah<0)?240:ah;ah=ah+"px"}iframe.setAttribute("id",id);iframe.setAttribute("name",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isRealIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isRealIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isRealIE)return win.frames[id];else return iframe},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id],i;var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/&lt;/g,'<');content=content.replace(/&gt;/g,'>');content=content.replace(/&quot;/g,'"');content=content.replace(/&amp;/g,'&')}tinyMCE.selectedInstance=inst;inst.switchSettings();if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm"}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo')}for(i=1;i<=6;i++)inst.addShortcut('ctrl',''+i,'','FormatBlock',false,'<h'+i+'>');inst.addShortcut('ctrl','7','','FormatBlock',false,'<p>');inst.addShortcut('ctrl','8','','FormatBlock',false,'<div>');inst.addShortcut('ctrl','9','','FormatBlock',false,'<address>');if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline')}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getBody().setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('&lt;&gt;','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else tinyMCE.setInnerHTML(inst.getBody(),content);tinyMCE.convertAllRelativeURLs(inst.getBody())}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}')}else tinyMCE._setHTML(inst.getDoc(),content)}tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch)}}inst.select();tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}if(tinyMCE.isGecko)inst.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");tinyMCE._removeInternal(inst.getBody());inst.select();tinyMCE.triggerNodeChange(false,true)},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"')}return s},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}},removeTinyMCEFormElements:function(form_obj){var i,elementId;if(!tinyMCE.getParam('hide_selects_on_submit'))return;if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form")}if(form_obj==null)return;for(i=0;i<form_obj.elements.length;i++){elementId=form_obj.elements[i].name?form_obj.elements[i].name:form_obj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)form_obj.elements[i].disabled=true}},handleEvent:function(e){var inst=tinyMCE.selectedInstance;if(typeof(tinyMCE)=="undefined")return true;if(tinyMCE.executeCallback(tinyMCE.selectedInstance,'handle_event_callback','handleEvent',e))return false;switch(e.type){case"beforedeactivate":case"blur":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand('mceEndTyping');tinyMCE.hideMenus();return;case"drop":case"beforepaste":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.setBaseHREF(null);if(tinyMCE.isRealIE){var ife=tinyMCE.selectedInstance.iframeElement;if(ife.style.height.indexOf('%')!=-1){ife._oldHeight=ife.style.height;ife.style.height=ife.clientHeight}}window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();",1);return;case"submit":tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE?window.event.srcElement:e.target);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;return;case"reset":var formObj=tinyMCE.isIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10)}return;case"keypress":if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId){tinyMCE.instances[e.target.editorId].select()}else{if(e.target.ownerDocument.editorId)tinyMCE.instances[e.target.ownerDocument.editorId].select()}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if((tinyMCE.isGecko||tinyMCE.isOpera||tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance,e)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if((tinyMCE.isGecko&&!tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if(tinyMCE.isIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false)}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="&nbsp;&nbsp;";else elm.innerHTML="&nbsp;"}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break}}if(tinyMCE.isIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(e.type=="keyup")tinyMCE.triggerNodeChange(false)}}}if(e.keyCode==17)return true;if(tinyMCE.isGecko){if(!posKey&&e.type=="keyup"&&!e.ctrlKey||(e.ctrlKey&&(e.keyCode==86||e.keyCode==88)))tinyMCE.execCommand("mceStartTyping")}else{if(!posKey&&e.type=="keyup")tinyMCE.execCommand("mceStartTyping")}if(e.type=="keydown"&&(posKey||e.ctrlKey)&&inst)inst.undoBookmark=inst.selection.getBookmark();if(e.type=="keyup"&&(posKey||e.ctrlKey))tinyMCE.execCommand("mceEndTyping");if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);if(tinyMCE.isIE&&e.ctrlKey)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);break;case"mousedown":case"mouseup":case"click":case"dblclick":case"focus":tinyMCE.hideMenus();if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.switchSettings();tinyMCE.selectedInstance.isFocused=true}var targetBody=tinyMCE.getParentElement(e.target,"html");for(var instanceName in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[instanceName]))continue;var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody().parentNode==targetBody){inst.select();tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");break}}if(!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark&&(e.type=="mouseup"||e.type=="dblclick"))tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark=tinyMCE.selectedInstance.selection.getBookmark();if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);tinyMCE.execCommand("mceEndTyping");if(e.type=="mouseup")tinyMCE.execCommand("mceAddUndoLevel");if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.instances[e.target.editorId].select();return false;break}},getButtonHTML:function(id,lang,img,cmd,ui,val){var h='',m,x,io='';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.isRealIE)io='onmouseover="tinyMCE.lastHover = this;"';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=this.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceTiledButton mceButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="background-position: '+x+'px 0" title="{$'+lang+'}" />';h+='</a>'}else{h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" />';h+='</a>'}return h},getMenuButtonHTML:function(id,lang,img,mcmd,cmd,ui,val){var h='',m,x;mcmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+mcmd+'\');';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: '+x+'px 0" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}else{if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}return h},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'')},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i<a.length;i++)this.buttonMap[a[i]]=i},submitPatch:function(){tinyMCE.removeTinyMCEFormElements(this);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;this.mceOldSubmit()},onLoad:function(){var r;if(tinyMCE.settings.strict_loading_mode&&this.loadingIndex!=-1){window.setTimeout('tinyMCE.onLoad();',1);return}if(tinyMCE.isRealIE&&window.event.type=="readystatechange"&&document.readyState!="complete")return true;if(tinyMCE.isLoaded)return true;tinyMCE.isLoaded=true;if(tinyMCE.isRealIE&&document.body){r=document.body.createTextRange();r.collapse(true);r.select()}tinyMCE.dispatchCallback(null,'onpageload','onPageLoad');for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var selector=tinyMCE.getParam("editor_selector");var deselector=tinyMCE.getParam("editor_deselector");var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE_Engine.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE_Engine.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.mceOldSubmit=form.submit;form.submit=TinyMCE_Engine.prototype.submitPatch}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case"exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(element,"class")))continue;if(trigger=="false")continue;if((tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click'])&&element){elementRefAr[elementRefAr.length]=element;continue}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i])}break;case"specific_textareas":case"textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var elm=nodeList.item(i);var trigger=elm.getAttribute(tinyMCE.settings['textarea_trigger']);if(selector!=''&&!new RegExp('\\b'+selector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if(selector!='')trigger=selector!=""?"true":"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=elm}break}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});if(element.nodeName!="TEXTAREA"&&element.nodeName!="INPUT")tinyMCE.addEvent(element,"click",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});tinyMCE.addEvent(element,"click",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});}}else tinyMCE.addMCEControl(element,elementId)}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selection.selectNode(inst.getBody(),true,true);inst.contentWindow.focus()},100)}tinyMCE.dispatchCallback(null,'oninit','onInit')}},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.isTinyMCE_Control},getParam:function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i<value.length;i++){if(value[i]&&value[i]!="")outArray[outArray.length]=value[i]}value=outArray}return value},getLang:function(name,default_value,parse_entities,va){var v=(typeof(tinyMCELang[name])=="undefined")?default_value:tinyMCELang[name],n;if(parse_entities)v=tinyMCE.entityDecode(v);if(va){for(n in va)v=this.replaceVar(v,n,va[n])}return v},entityDecode:function(s){var e=document.createElement("div");e.innerHTML=s;return e.firstChild.nodeValue},addToLang:function(prefix,ar){for(var key in ar){if(typeof(ar[key])=='function')continue;tinyMCELang[(key.indexOf('lang_')==-1?'lang_':'')+(prefix!=''?(prefix+"_"):'')+key]=ar[key]}this.loadNextScript();},triggerNodeChange:function(focus,setup_content){var elm,inst,editorId,undoIndex=-1,undoLevels=-1,doc,anySelection=false,st;if(tinyMCE.selectedInstance){inst=tinyMCE.selectedInstance;elm=(typeof(setup_content)!="undefined"&&setup_content)?tinyMCE.selectedElement:inst.getFocusElement();editorId=inst.editorId;st=inst.selection.getSelectedText();if(tinyMCE.settings.auto_resize)inst.resizeToContent();if(setup_content&&tinyMCE.isGecko&&inst.isHidden())elm=inst.getBody();inst.switchSettings();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(st&&st.length>0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content)}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus()},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");po=tinyMCE.themes[tinyMCE.settings['theme']];if(po&&po.cleanup)content=po.cleanup(type,content,inst);pl=inst.plugins;for(i=0;i<pl.length;i++){po=tinyMCE.plugins[pl[i]];if(po&&po.cleanup)content=po.cleanup(type,content,inst)}return content},setContent:function(h){if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.execCommand('mceSetContent',false,h);tinyMCE.selectedInstance.repaint()}},importThemeLanguagePack:function(name){if(typeof(name)=="undefined")name=tinyMCE.settings['theme'];tinyMCE.loadScript(tinyMCE.baseURL+'/themes/'+name+'/langs/'+tinyMCE.settings['language']+'.js')},importPluginLanguagePack:function(name){var b=tinyMCE.baseURL+'/plugins/'+name;if(this.plugins[name])b=this.plugins[name].baseURL;tinyMCE.loadScript(b+'/langs/'+tinyMCE.settings['language']+'.js')},applyTemplate:function(h,as){return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}','gi'),function(m,s){if(s.indexOf('lang_')==0&&tinyMCELang[s])return tinyMCELang[s];if(as&&as[s])return as[s];if(tinyMCE.settings[s])return tinyMCE.settings[s];if(m=='themeurl')return tinyMCE.themeURL;return m})},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v)},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args=!args?{}:args;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isIE)height+=40;else height+=20;x=parseInt(screen.width/ 2.0) - (width /2.0);y=parseInt(screen.height/ 2.0) - (height /2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus()}else{if((tinyMCE.isRealIE)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features)}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close()}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24)}win.focus()}}},closeWindow:function(win){win.close()},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i<ar.length;i++){if(ar[i]==aidClass)ar[i]="";if(ar[i]!="")classNames[classNames.length]=ar[i]}if(state)classNames[classNames.length]=aidClass;var className="";for(var i=0;i<classNames.length;i++){if(i>0)className+=" ";className+=classNames[i]}return className},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y<el.rows.length;y++){for(var x=0;x<el.rows[y].cells.length;x++){var cn=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x],"class"),state&&bo);tinyMCE.setAttrib(el.rows[y].cells[x],"class",cn)}}break;case"A":var anchorName=tinyMCE.getAttrib(el,"name");if(anchorName!=''&&state){el.title=anchorName;tinyMCE.addCSSClass(el,'mceItemAnchor')}else if(anchorName!=''&&!state)el.className='';break}if(deep&&el.hasChildNodes()){for(var i=0;i<el.childNodes.length;i++)tinyMCE.handleVisualAid(el.childNodes[i],deep,state,inst,true)}},fixGeckoBaseHREFBug:function(m,e,h){var xsrc,xhref;if(tinyMCE.isGecko){if(m==1){h=h.replace(/\ssrc=/gi," mce_tsrc=");h=h.replace(/\shref=/gi," mce_thref=");return h}else{if(!new RegExp('(src|href)=','g').test(h))return h;tinyMCE.selectElements(e,'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK',function(n){xsrc=tinyMCE.getAttrib(n,"mce_tsrc");xhref=tinyMCE.getAttrib(n,"mce_thref");if(xsrc!=""){try{n.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xsrc)}catch(e){}n.removeAttribute("mce_tsrc")}if(xhref!=""){try{n.href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xhref)}catch(e){}n.removeAttribute("mce_thref")}return false});tinyMCE.selectNodes(e,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(/\smce_tsrc=/gi," src=");n.nodeValue=n.nodeValue.replace(/\smce_thref=/gi," href=")}return false})}}return h},_setHTML:function(doc,html_content){html_content=tinyMCE.cleanupHTMLCode(html_content);try{tinyMCE.setInnerHTML(doc.body,html_content)}catch(e){if(this.isMSIE)doc.body.createTextRange().pasteHTML(html_content)}if(tinyMCE.isIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<paras.length;i++){var node=paras[i];while((node=node.parentNode)!=null){if(node.nodeName=="P")node.outerHTML=node.innerHTML}}var html=doc.body.innerHTML;tinyMCE.setInnerHTML(doc.body,html)}tinyMCE.cleanupAnchors(doc);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc)},getEditorId:function(form_element){var inst=this.getInstanceById(form_element);if(!inst)return null;return inst.editorId},getInstanceById:function(editor_id){var inst=this.instances[editor_id];if(!inst){for(var n in tinyMCE.instances){var instance=tinyMCE.instances[n];if(!tinyMCE.isInstance(instance))continue;if(instance.formTargetElementId==editor_id){inst=instance;break}}}return inst},queryInstanceCommandValue:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandValue(command);return false},queryInstanceCommandState:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandState(command);return null},setWindowArg:function(n,v){this.windowArgs[n]=v},getWindowArg:function(n,d){return(typeof(this.windowArgs[n])=="undefined")?d:this.windowArgs[n]},getCSSClasses:function(editor_id,doc){var inst=tinyMCE.getInstanceById(editor_id);if(inst&&inst.cssClasses.length>0)return inst.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;break}doc=instance.getDoc()}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc()}if(doc){var styles=doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x<styles.length;x++){var csses=null;eval("try {var csses = tinyMCE.isIE ? doc.styleSheets("+x+").rules : styles["+x+"].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i<csses.length;i++){var selectorText=csses[i].selectorText;if(selectorText){var rules=selectorText.split(',');for(var c=0;c<rules.length;c++){var rule=rules[c];while(rule.indexOf(' ')==0)rule=rule.substring(1);if(rule.indexOf(' ')!=-1||rule.indexOf(':')!=-1||rule.indexOf('mceItem')!=-1)continue;if(rule.indexOf(tinyMCE.settings['visual_table_class'])!=-1||rule.indexOf('mceEditable')!=-1||rule.indexOf('mceNonEditable')!=-1)continue;if(rule.indexOf('.')!=-1){var cssClass=rule.substring(rule.indexOf('.')+1);var addClass=true;for(var p=0;p<inst.cssClasses.length&&addClass;p++){if(inst.cssClasses[p]==cssClass)addClass=false}if(addClass)inst.cssClasses[inst.cssClasses.length]=cssClass}}}}}}}return inst.cssClasses},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str)},trim:function(s){return s.replace(/^\s*|\s*$/g,"")},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s},getControlHTML:function(c){var i,l,n,o,v,rtl=tinyMCE.getLang('lang_dir')=='rtl';l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+'</span>';return tinyMCE.replaceVar(v,"pluginurl",o.baseURL)}}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+v+'</span>';return v}return''},evalFunc:function(f,idx,a,o){o=!o?window:o;f=typeof(f)=='function'?f:o[f];return f.apply(o,Array.prototype.slice.call(a,idx))},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments)},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments)},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments)},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!=''&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i<l.length;i++){o=tinyMCE.plugins[l[i]];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}return false},xmlEncode:function(s,skip_apos){return s?(''+s).replace(!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe,function(c,b){switch(c){case'&':return'&amp;';case'"':return'&quot;';case'\'':return'&#39;';case'<':return'&lt;';case'>':return'&gt;'}return c}):s},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.foreColor=this.backColor="#999999";this.data={};this.cssClasses=[];this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i<fn.length;i++){if((fu=window['TinyMCE_'+t+"_"+fn[i]]))to[fn[i]]=fu}tinyMCE.addTheme(t,to)}this.plugins=new Array();p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(i=0;i<p.length;i++){pn=p[i];if(pn.charAt(0)=='-')pn=pn.substring(1);if(!tinyMCE.hasPlugin(pn)){fn=tinyMCE.callbacks;to={};for(x=0;x<fn.length;x++){if((fu=window['TinyMCE_'+pn+"_"+fn[x]]))to[fn[x]]=fu}tinyMCE.addPlugin(pn,to)}this.plugins[this.plugins.length]=pn}}};TinyMCE_Control.prototype={selection:null,settings:null,cleanup:null,getData:function(na){var o=this.data[na];if(!o)o=this.data[na]={};return o},hasPlugin:function(n){var i;for(i=0;i<this.plugins.length;i++){if(this.plugins[i]==n)return true}return false},addPlugin:function(n,p){if(!this.hasPlugin(n)){tinyMCE.addPlugin(n,p);this.plugins[this.plugins.length]=n}},repaint:function(){var s,b,ex;if(tinyMCE.isRealIE)return;try{s=this.selection;b=s.getBookmark(true);this.getBody().style.display='none';this.getDoc().execCommand('selectall',false,null);this.getSel().collapseToStart();this.getBody().style.display='block';s.moveToBookmark(b)}catch(ex){}},switchSettings:function(){if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index']}},select:function(){var oldInst=tinyMCE.selectedInstance;if(oldInst!=this){if(oldInst)oldInst.execCommand('mceEndTyping');tinyMCE.dispatchCallback(this,'select_instance_callback','selectInstance',this,oldInst);tinyMCE.selectedInstance=this}},getBody:function(){return this.contentBody?this.contentBody:this.getDoc().body},getDoc:function(){return this.contentWindow.document},getWin:function(){return this.contentWindow},getContainerWin:function(){return this.containerWindow?this.containerWindow:window},getViewPort:function(){return tinyMCE.getViewPort(this.getWin())},getParentNode:function(n,f){return tinyMCE.getParentNode(n,f,this.getBody())},getParentElement:function(n,na,f){return tinyMCE.getParentElement(n,na,f,this.getBody())},getParentBlockElement:function(n){return tinyMCE.getParentBlockElement(n,this.getBody())},resizeToContent:function(){var d=this.getDoc(),b=d.body,de=d.documentElement;this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+'px'},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i<scl.length;i++){if(sc.alt==scl[i].alt&&sc.ctrl==scl[i].ctrl&&sc.shift==scl[i].shift&&sc.charCode==scl[i].charCode&&sc.keyCode==scl[i].keyCode){return false}}scl[scl.length]=sc;return true},handleShortcut:function(e){var i,s,o;if(!e.altKey&&!e.ctrlKey)return false;s=this.shortcuts;for(i=0;i<s.length;i++){o=s[i];if(o.alt==e.altKey&&o.ctrl==e.ctrlKey&&(o.keyCode==e.keyCode||o.charCode==e.charCode)){if(o.cmd&&(e.type=="keydown"||(e.type=="keypress"&&!tinyMCE.isOpera)))tinyMCE.execCommand(o.cmd,o.ui,o.val);tinyMCE.cancelEvent(e);return true}}return false},autoResetDesignMode:function(){if(!tinyMCE.isIE&&this.isHidden()&&tinyMCE.getParam('auto_reset_designmode'))eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}')},isHidden:function(){var s;if(tinyMCE.isIE)return false;s=this.getSel();return(!s||!s.rangeCount||s.rangeCount==0)},isDirty:function(){return tinyMCE.trim(this.startContent)!=tinyMCE.trim(this.getBody().innerHTML)&&!tinyMCE.isNotDirty},_mergeElements:function(scmd,pa,ch,override){if(scmd=="removeformat"){pa.className="";pa.style.cssText="";ch.className="";ch.style.cssText="";return}var st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));var stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));var className=tinyMCE.getAttrib(pa,"class");className=tinyMCE.getAttrib(ch,"class");if(override){for(var n in st){if(typeof(st[n])=='function')continue;stc[n]=st[n]}}else{for(var n in stc){if(typeof(stc[n])=='function')continue;st[n]=stc[n]}}tinyMCE.setAttrib(pa,"style",tinyMCE.serializeStyle(st));tinyMCE.setAttrib(pa,"class",tinyMCE.trim(className));ch.className="";ch.style.cssText="";ch.removeAttribute("class");ch.removeAttribute("style")},_setUseCSS:function(b){var d=this.getDoc();try{d.execCommand("useCSS",false,!b)}catch(ex){}try{d.execCommand("styleWithCSS",false,b)}catch(ex){}if(!tinyMCE.getParam("table_inline_editing"))try{d.execCommand('enableInlineTableEditing',false,"false")}catch(ex){}if(!tinyMCE.getParam("object_resizing"))try{d.execCommand('enableObjectResizing',false,"false")}catch(ex){}},execCommand:function(command,user_interface,value){var doc=this.getDoc(),win=this.getWin(),focusElm=this.getFocusElement();if(!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command))this.undoBookmark=null;if(!tinyMCE.isIE&&!this.useCSS){this._setUseCSS(false);this.useCSS=true}this.contentDocument=doc;if(!/mceStartTyping|mceEndTyping/.test(command)){if(tinyMCE.execCommandCallback(this,'execcommand_callback','execCommand',this.editorId,this.getBody(),command,user_interface,value))return}if(focusElm&&focusElm.nodeName=="IMG"){var align=focusElm.getAttribute('align');var img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case"JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyCenter":img.removeAttribute('align');var div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div)}else{var div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm)}this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return}}if(tinyMCE.settings['force_br_newlines']){var alignValue="";if(doc.selection.type!="Control"){switch(command){case"JustifyLeft":alignValue="left";break;case"JustifyCenter":alignValue="center";break;case"JustifyFull":alignValue="justify";break;case"JustifyRight":alignValue="right";break}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('<div align="'+alignValue+'">'+rng.htmlText+"</div>");tinyMCE.triggerNodeChange();return}}}switch(command){case"mceRepaint":this.repaint();return true;case"unlink":if(tinyMCE.isGecko&&this.getSel().isCollapsed){focusElm=tinyMCE.getParentElement(focusElm,'A');if(focusElm)this.selection.selectNode(focusElm,false)}this.getDoc().execCommand(command,user_interface,value);tinyMCE.isGecko&&this.getSel().collapseToEnd();tinyMCE.triggerNodeChange();return true;case"InsertUnorderedList":case"InsertOrderedList":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm)}else{if(!this.cleanup.isValid(value))return true;if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'<p>');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b)}else this.getDoc().execCommand("FormatBlock",false,value)}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isIE){value.outerHTML=value.innerHTML}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML))}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return}parentNode=parentNode.parentNode}break;case"mceSetStyleInfo":case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','')}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==parentElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}else{this._setUseCSS(false);doc.execCommand("FontName",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x<elementArray.length;x++){elm=elementArray[x];if(elm){var spanElm=doc.createElement(wrapper);if(scmd=="setstyle")tinyMCE.setStyleAttrib(spanElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(spanElm,sname,svalue);if(scmd=="removeformat"){spanElm.style.cssText='';tinyMCE.setAttrib(spanElm,'class','')}if(elm.hasChildNodes()){for(var i=0;i<elm.childNodes.length;i++)spanElm.appendChild(elm.childNodes[i].cloneNode(true))}spanElm.setAttribute("mce_new","true");elm.parentNode.replaceChild(spanElm,elm);var ch=tinyMCE.getNodeTree(spanElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==spanElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false)}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('<span>','gi').test(tmp.innerHTML)){for(var x=0;x<elm.childNodes.length;x++){if(elm.parentNode!=null)elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true),elm)}elm.parentNode.removeChild(elm)}}if(scmd=="removeformat")tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"FontName":if(value==null){var s=this.getSel();if(tinyMCE.isGecko&&s.isCollapsed){var f=tinyMCE.getParentElement(this.getFocusElement(),"font");if(f!=null)this.selection.selectNode(f,false)}this.getDoc().execCommand("RemoveFormat",false,null);if(f!=null&&tinyMCE.isGecko){var r=this.getRng().cloneRange();r.collapse(true);s.removeAllRanges();s.addRange(r)}}else this.getDoc().execCommand('FontName',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"FontSize":this.getDoc().execCommand('FontSize',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"forecolor":value=value==null?this.foreColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.foreColor=value;this.getDoc().execCommand('forecolor',false,value);break;case"HiliteColor":value=value==null?this.backColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.backColor=value;if(tinyMCE.isGecko){this._setUseCSS(true);this.getDoc().execCommand('hilitecolor',false,value);this._setUseCSS(false)}else this.getDoc().execCommand('BackColor',false,value);break;case"Cut":case"Copy":case"Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isOpera&&cmdFailed)alert('Currently not supported by your browser, use keyboard shortcuts instead.');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return}else tinyMCE.triggerNodeChange();break;case"mceSetContent":if(!value)value="";value=tinyMCE.storeAwayURLs(value);value=tinyMCE._customCleanup(this,"insert_to_editor",value);if(this.getBody().nodeName=='BODY')tinyMCE._setHTML(doc,value);else this.getBody().innerHTML=value;tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,doc,this.settings,this.getBody(),false,false,false,true));tinyMCE.convertAllRelativeURLs(this.getBody());tinyMCE._removeInternal(this.getBody());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);return true;case"mceCleanup":var b=this.selection.getBookmark();tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid));tinyMCE.convertAllRelativeURLs(doc.body);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);this.repaint();this.selection.moveToBookmark(b);tinyMCE.triggerNodeChange();break;case"mceReplaceContent":if(!value)value='';this.getWin().focus();var selectedText="";if(tinyMCE.isIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=this.getSel().toString();if(selectedText.length>0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value)}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange()}}break;case"mceSetCSSClass":this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&#38;|&#160;|&#60;|&#62;)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2)}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}}catch(ex){insertHTMLFailed=true}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return}}if(!tinyMCE.isIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value)}else value=rng.createContextualFragment(value)}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value)}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node)}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng)}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}else{var rng=doc.selection.createRange(),tmpRng=null;var c=value.indexOf('<!--')!=-1;if(c)value=tinyMCE.uniqueTag+value;if(rng.item)rng.item(0).outerHTML=value;else rng.pasteHTML(value);if(c){var e=this.getDoc().getElementById('mceTMPElement');e.parentNode.removeChild(e)}}tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange();break;case"mceStartTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex==-1){this.undoRedo.typingUndoIndex=this.undoRedo.undoIndex;tinyMCE.typingUndoIndex=tinyMCE.undoIndex;this.execCommand('mceAddUndoLevel')}break;case"mceEndTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex!=-1){this.execCommand('mceAddUndoLevel');this.undoRedo.typingUndoIndex=-1}tinyMCE.typingUndoIndex=-1;break;case"mceBeginUndoLevel":this.undoRedoLevel=false;break;case"mceEndUndoLevel":this.undoRedoLevel=true;this.execCommand('mceAddUndoLevel');break;case"mceAddUndoLevel":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedoLevel){if(this.undoRedo.add())tinyMCE.triggerNodeChange(false)}break;case"Undo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.undo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"Redo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.redo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"Indent":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();if(tinyMCE.isIE){var n=tinyMCE.getParentElement(this.getFocusElement(),"blockquote");do{if(n&&n.nodeName=="BLOCKQUOTE"){n.removeAttribute("dir");n.removeAttribute("style")}}while(n!=null&&(n=n.parentNode)!=null)}break;case"RemoveFormat":case"removeformat":var text=this.selection.getSelectedText();if(tinyMCE.isOpera){this.getDoc().execCommand("RemoveFormat",false,null);return}if(tinyMCE.isIE){try{var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null)}catch(e){}this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}else{this.getDoc().execCommand(command,user_interface,value);this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);else tinyMCE.triggerNodeChange()}if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceStartTyping"&&command!="mceEndTyping")tinyMCE.execCommand("mceAddUndoLevel")},queryCommandValue:function(c){try{return this.getDoc().queryCommandValue(c)}catch(e){return null}},queryCommandState:function(c){return this.getDoc().queryCommandState(c)},_onAdd:function(replace_element,form_element_name,target_document){var hc,th,to,editorTemplate;th=this.settings['theme'];to=tinyMCE.themes[th];var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false}if(to.getEditorTemplate)editorTemplate=to.getEditorTemplate(this.settings,this.editorId);var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html='<span id="'+this.editorId+'_parent" class="mceEditorContainer">'+editorTemplate['html'];html=tinyMCE.replaceVar(html,"editor_id",this.editorId);this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;this.settings['width_style']=""+this.settings['width'];this.settings['height_style']=""+this.settings['height'];if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";else this.settings['width_style']+='px';if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";else this.settings['height_style']+='px';if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";this.settings['width_style']="100%"}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";this.settings['height_style']="100%"}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName=="TEXTAREA"||replace_element.nodeName=="INPUT")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName!="TEXTAREA"&&replace_element.nodeName!="INPUT"){this.oldTargetElement=replace_element;if(tinyMCE.settings['debug']){hc='<textarea wrap="off" id="'+form_element_name+'" name="'+form_element_name+'" cols="100" rows="15"></textarea>'}else{hc='<input type="hidden" id="'+form_element_name+'" name="'+form_element_name+'" />';this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}html+='</span>';if(tinyMCE.isGecko)html=hc+html;else html+=hc;if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}else{html+='</span>';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug']){this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isIE){if(tElm&&(tElm.nodeName=="SPAN"||tElm.nodeName=="span")){tElm=tinyMCE._createIFrame(tElm,targetDoc);dynamicIFrame=true}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName=="SPAN")tElm=tinyMCE._createIFrame(tElm,targetDoc,targetDoc.parentWindow);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);if(tinyMCE.isOpera){this.contentDocument=this.iframeElement.contentDocument;this.contentWindow=this.iframeElement.contentWindow;dynamicIFrame=true}else{this.contentDocument=tElm.window.document;this.contentWindow=tElm.window}this.getDoc().designMode="on"}var doc=this.contentDocument;if(dynamicIFrame){var html=tinyMCE.getParam('doctype')+'<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="'+tinyMCE.settings['base_href']+'" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';try{if(!this.isHidden())this.getDoc().designMode="on";doc.open();doc.write(html);doc.close()}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm"}}if(tinyMCE.isIE)window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\""+this.editorId+"\"]);",1);var parentElm=this.targetDoc.getElementById(this.editorId+'_parent');this.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.setupContent(this.editorId,true);return true},setBaseHREF:function(u){var h,b,d,nl;d=this.getDoc();nl=d.getElementsByTagName("base");b=nl.length>0?nl[0]:null;if(!b){nl=d.getElementsByTagName("head");h=nl.length>0?nl[0]:null;b=d.createElement("base");b.setAttribute('href',u);h.appendChild(b)}else{if(u==""||u==null)b.parentNode.removeChild(b);else b.setAttribute('href',u)}},getHTML:function(r){var h,d=this.getDoc(),b=this.getBody();if(r)return b.innerHTML;h=tinyMCE._cleanupHTML(this,d,this.settings,b,false,true,false,true);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(d);return h},setHTML:function(h){this.execCommand('mceSetContent',false,h);this.repaint()},getFocusElement:function(){return this.selection.getFocusElement()},getSel:function(){return this.selection.getSel()},getRng:function(){return this.selection.getRng()},triggerSave:function(skip_cleanup,skip_callback){var e,nl=[],i,s;this.switchSettings();s=tinyMCE.settings;if(tinyMCE.isRealIE){e=this.iframeElement;do{if(e.style&&e.style.display=='none'){e.style.display='block';nl[nl.length]={elm:e,type:'style'}}if(e.style&&s.hidden_tab_class.length>0&&e.className.indexOf(s.hidden_tab_class)!=-1){e.className=s.display_tab_class;nl[nl.length]={elm:e,type:'class'}}}while((e=e.parentNode)!=null)}tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(this.getDoc(),this.getBody().innerHTML);if(this.settings['cleanup']==false){tinyMCE.handleVisualAid(this.getBody(),true,false,this);tinyMCE._setEventsEnabled(this.getBody(),true)}tinyMCE._customCleanup(this,"submit_content_dom",this.contentWindow.document.body);var htm=skip_cleanup?this.getBody().innerHTML:tinyMCE._cleanupHTML(this,this.getDoc(),this.settings,this.getBody(),tinyMCE.visualAid,true,true);htm=tinyMCE._customCleanup(this,"submit_content",htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(this.formTargetElementId,htm,this.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");if(this.formElement)this.formElement.value=htm;if(tinyMCE.isSafari&&this.formElement)this.formElement.innerText=htm;for(i=0;i<nl.length;i++){if(nl[i].type=='style')nl[i].elm.style.display='none';else nl[i].elm.className=s.hidden_tab_class}}};TinyMCE_Engine.prototype.cleanupHTMLCode=function(s){s=s.replace(new RegExp('<p \\/>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<p>\\s*<\\/p>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<br>\\s*<\\/br>','gi'),'<br />');s=s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>','gi'),'<$1$2$3></$1$2>');s=s.replace(new RegExp('\\s+></','gi'),'></');s=s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>','gi'),'<$1$2 />');if(tinyMCE.isIE)s=s.replace(new RegExp('<p><hr \\/><\\/p>','gi'),"<hr>");if(tinyMCE.isIE)s=s.replace(/<!(\s*)\/>/g,'');return s};TinyMCE_Engine.prototype.parseStyle=function(str){var ar=new Array();if(str==null)return ar;var st=str.split(';');tinyMCE.clearArray(ar);for(var i=0;i<st.length;i++){if(st[i]=='')continue;var re=new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');var pa=st[i].replace(re,'$1||$2').split('||');if(pa.length==2)ar[pa[0].toLowerCase()]=pa[1]}return ar};TinyMCE_Engine.prototype.compressStyle=function(ar,pr,sf,res){var box=new Array();box[0]=ar[pr+'-top'+sf];box[1]=ar[pr+'-left'+sf];box[2]=ar[pr+'-right'+sf];box[3]=ar[pr+'-bottom'+sf];for(var i=0;i<box.length;i++){if(box[i]==null)return;for(var a=0;a<box.length;a++){if(box[a]!=box[i])return}}ar[res]=box[0];ar[pr+'-top'+sf]=null;ar[pr+'-left'+sf]=null;ar[pr+'-right'+sf]=null;ar[pr+'-bottom'+sf]=null};TinyMCE_Engine.prototype.serializeStyle=function(ar){var str="";tinyMCE.compressStyle(ar,"border","","border");tinyMCE.compressStyle(ar,"border","-width","border-width");tinyMCE.compressStyle(ar,"border","-color","border-color");tinyMCE.compressStyle(ar,"border","-style","border-style");tinyMCE.compressStyle(ar,"padding","","padding");tinyMCE.compressStyle(ar,"margin","","margin");for(var key in ar){var val=ar[key];if(typeof(val)=='function')continue;if(key.indexOf('mso-')==0)continue;if(val!=null&&val!=''){val=''+val;val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)",'gi'),"url('$1')");if(val.indexOf('url(')!=-1&&tinyMCE.getParam('convert_urls')){var m=new RegExp("url\\('(.*?)'\\)").exec(val);if(m.length>1)val="url('"+eval(tinyMCE.getParam('urlconverter_callback')+"(m[1], null, true);")+"')"}if(tinyMCE.getParam("force_hex_style_colors"))val=tinyMCE.convertRGBToHex(val,true);val=val.replace(/\"/g,'\'');if(val!="url('')")str+=key.toLowerCase()+": "+val+"; "}}if(new RegExp('; $').test(str))str=str.substring(0,str.length-2);return str};TinyMCE_Engine.prototype.convertRGBToHex=function(s,k){if(s.toLowerCase().indexOf('rgb')!=-1){var re=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");var rgb=s.replace(re,"$1,$2,$3,$4,$5").split(',');if(rgb.length==5){r=parseInt(rgb[1]).toString(16);g=parseInt(rgb[2]).toString(16);b=parseInt(rgb[3]).toString(16);r=r.length==1?'0'+r:r;g=g.length==1?'0'+g:g;b=b.length==1?'0'+b:b;s="#"+r+g+b;if(k)s=rgb[0]+s+rgb[4]}}return s};TinyMCE_Engine.prototype.convertHexToRGB=function(s){if(s.indexOf('#')!=-1){s=s.replace(new RegExp('[^0-9A-F]','gi'),'');return"rgb("+parseInt(s.substring(0,2),16)+","+parseInt(s.substring(2,4),16)+","+parseInt(s.substring(4,6),16)+")"}return s};TinyMCE_Engine.prototype.convertSpansToFonts=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var size=tinyMCE.trim(s[i].style.fontSize).toLowerCase();var fSize=0;for(var x=0;x<sizes.length;x++){if(sizes[x]==size){fSize=x+1;break}}if(fSize>0){tinyMCE.setAttrib(s[i],'size',fSize);s[i].style.fontSize=''}var fFace=s[i].style.fontFamily;if(fFace!=null&&fFace!=""){tinyMCE.setAttrib(s[i],'face',fFace);s[i].style.fontFamily=''}var fColor=s[i].style.color;if(fColor!=null&&fColor!=""){tinyMCE.setAttrib(s[i],'color',tinyMCE.convertRGBToHex(fColor));s[i].style.color=''}}};TinyMCE_Engine.prototype.convertFontsToSpans=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var fsClasses=tinyMCE.getParam('font_size_classes');if(fsClasses!='')fsClasses=fsClasses.replace(/\s+/,'').split(',');else fsClasses=null;var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var fSize,fFace,fColor;fSize=tinyMCE.getAttrib(s[i],'size');fFace=tinyMCE.getAttrib(s[i],'face');fColor=tinyMCE.getAttrib(s[i],'color');if(fSize!=""){fSize=parseInt(fSize);if(fSize>0&&fSize<8){if(fsClasses!=null)tinyMCE.setAttrib(s[i],'class',fsClasses[fSize-1]);else s[i].style.fontSize=sizes[fSize-1]}s[i].removeAttribute('size')}if(fFace!=""){s[i].style.fontFamily=fFace;s[i].removeAttribute('face')}if(fColor!=""){s[i].style.color=fColor;s[i].removeAttribute('color')}}};TinyMCE_Engine.prototype.cleanupAnchors=function(doc){var i,cn,x,an=doc.getElementsByTagName("a");for(i=an.length-1;i>=0;i--){if(tinyMCE.getAttrib(an[i],"name")!=""&&tinyMCE.getAttrib(an[i],"href")==""){cn=an[i].childNodes;for(x=cn.length-1;x>=0;x--)tinyMCE.insertAfter(cn[x],an[i])}}};TinyMCE_Engine.prototype.getContent=function(editor_id){if(typeof(editor_id)!="undefined")tinyMCE.getInstanceById(editor_id).select();if(tinyMCE.selectedInstance)return tinyMCE.selectedInstance.getHTML();return null};TinyMCE_Engine.prototype._fixListElements=function(d){var nl,x,a=['ol','ul'],i,n,p,r=new RegExp('^(OL|UL)$'),np;for(x=0;x<a.length;x++){nl=d.getElementsByTagName(a[x]);for(i=0;i<nl.length;i++){n=nl[i];p=n.parentNode;if(r.test(p.nodeName)){np=tinyMCE.prevNode(n,'LI');if(!np){np=d.createElement('li');np.innerHTML='&nbsp;';np.appendChild(n);p.insertBefore(np,p.firstChild)}else np.appendChild(n)}}}};TinyMCE_Engine.prototype._fixTables=function(d){var nl,i,n,p,np,x,t;nl=d.getElementsByTagName('table');for(i=0;i<nl.length;i++){n=nl[i];if((p=tinyMCE.getParentElement(n,'p,h1,h2,h3,h4,h5,h6'))!=null){np=p.cloneNode(false);np.removeAttribute('id');t=n;while((n=n.nextSibling))np.appendChild(n);tinyMCE.insertAfter(np,p);tinyMCE.insertAfter(t,p)}}};TinyMCE_Engine.prototype._cleanupHTML=function(inst,doc,config,elm,visual,on_save,on_submit,inn){var h,d,t1,t2,t3,t4,t5,c,s,nb;if(!tinyMCE.getParam('cleanup'))return elm.innerHTML;on_save=typeof(on_save)=='undefined'?false:on_save;c=inst.cleanup;s=inst.settings;d=c.settings.debug;if(d)t1=new Date().getTime();if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertFontsToSpans(doc);if(tinyMCE.getParam("fix_list_elements"))tinyMCE._fixListElements(doc);if(tinyMCE.getParam("fix_table_elements"))tinyMCE._fixTables(doc);tinyMCE._customCleanup(inst,on_save?"get_from_editor_dom":"insert_to_editor_dom",doc.body);if(d)t2=new Date().getTime();c.settings.on_save=on_save;c.idCount=0;c.serializationId++;c.serializedNodes=new Array();c.sourceIndex=-1;if(s.cleanup_serializer=="xml")h=c.serializeNodeAsXML(elm,inn);else h=c.serializeNodeAsHTML(elm,inn);if(d)t3=new Date().getTime();nb=tinyMCE.getParam('entity_encoding')=='numeric'?'&#160;':'&nbsp;';h=h.replace(/<\/?(body|head|html)[^>]*>/gi,'');h=h.replace(new RegExp(' (rowspan="1"|colspan="1")','g'),'');h=h.replace(/<p><hr \/><\/p>/g,'<hr />');h=h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g,'<hr />');h=h.replace(/<td>\s*<br \/>\s*<\/td>/g,'<td>'+nb+'</td>');h=h.replace(/<p>\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<br \/>$/,'');h=h.replace(/<br \/><\/p>/g,'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(new RegExp('<a>(.*?)<\\/a>','g'),'$1');h=h.replace(/<p([^>]*)>\s*<\/p>/g,'<p$1>'+nb+'</p>');if(/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))h='';if(s.preformatted){h=h.replace(/^<pre>/,'');h=h.replace(/<\/pre>$/,'');h='<pre>'+h+'</pre>'}if(tinyMCE.isGecko){h=h.replace(/<o:p _moz-userdefined="" \/>/g,'');h=h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g,'<td$1>'+nb+'</td>')}if(s.force_br_newlines)h=h.replace(/<p>(&nbsp;|&#160;)<\/p>/g,'<br />');h=tinyMCE._customCleanup(inst,on_save?"get_from_editor":"insert_to_editor",h);if(on_save){h=h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|'+s.visual_table_class+')','g'),'');h=h.replace(new RegExp(' ?class=""','g'),'')}if(s.remove_linebreaks&&!c.settings.indent)h=h.replace(/\n|\r/g,' ');if(d)t4=new Date().getTime();if(on_save&&c.settings.indent)h=c.formatHTML(h);if(on_submit&&(s.encoding=="xml"||s.encoding=="html"))h=c.xmlEncode(h);if(d)t5=new Date().getTime();if(c.settings.debug)tinyMCE.debug("Cleanup in ms: Pre="+(t2-t1)+", Serialize: "+(t3-t2)+", Post: "+(t4-t3)+", Format: "+(t5-t4)+", Sum: "+(t5-t1)+".");return h};function TinyMCE_Cleanup(){this.isIE=(navigator.appName=="Microsoft Internet Explorer");this.rules=tinyMCE.clearArray(new Array());this.settings={indent_elements:'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',newline_before_elements:'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',newline_after_elements:'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',newline_before_after_elements:'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',indent_char:'\t',indent_levels:1,entity_encoding:'raw',valid_elements:'*[*]',entities:'',url_converter:'',invalid_elements:'',verify_html:false};this.vElements=tinyMCE.clearArray(new Array());this.vElementsRe='';this.closeElementsRe=/^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;this.codeElementsRe=/^(SCRIPT|STYLE)$/;this.serializationId=0;this.mceAttribs={href:'mce_href',src:'mce_src',type:'mce_type'}}TinyMCE_Cleanup.prototype={init:function(s){var n,a,i,ir,or,st;for(n in s)this.settings[n]=s[n];s=this.settings;this.inRe=this._arrayToRe(s.indent_elements.split(','),'','^<(',')[^>]*');this.ouRe=this._arrayToRe(s.indent_elements.split(','),'','^<\\/(',')[^>]*');this.nlBeforeRe=this._arrayToRe(s.newline_before_elements.split(','),'gi','<(',')([^>]*)>');this.nlAfterRe=this._arrayToRe(s.newline_after_elements.split(','),'gi','<(',')([^>]*)>');this.nlBeforeAfterRe=this._arrayToRe(s.newline_before_after_elements.split(','),'gi','<(\\/?)(',')([^>]*)>');this.serializedNodes=[];if(s.invalid_elements!='')this.iveRe=this._arrayToRe(s.invalid_elements.toUpperCase().split(','),'g','^(',')$');else this.iveRe=null;st='';for(i=0;i<s.indent_levels;i++)st+=s.indent_char;this.inStr=st;if(!s.verify_html){s.valid_elements='*[*]';s.extended_valid_elements=''}this.fillStr=s.entity_encoding=="named"?"&nbsp;":"&#160;";this.idCount=0;this.xmlEncodeRe=new RegExp('[\u007F-\uFFFF<>&"]','g');this.xmlEncodeAposRe=new RegExp('[\u007F-\uFFFF<>&"\']','g')},addRuleStr:function(s){var r=this.parseRuleStr(s);var n;for(n in r){if(r[n])this.rules[n]=r[n]}this.vElements=tinyMCE.clearArray(new Array());for(n in this.rules){if(this.rules[n])this.vElements[this.vElements.length]=this.rules[n].tag}this.vElementsRe=this._arrayToRe(this.vElements,'')},isValid:function(n){this._setupRules();if(!n)return true;n=n.replace(/[^a-z0-9]+/gi,'').toUpperCase();return!tinyMCE.getParam('cleanup')||this.vElementsRe.test(n)},addChildRemoveRuleStr:function(s){var x,y,p,i,t,tn,ta,cl,r;if(!s)return;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r="^(";cl=this.split(/\|/,p[1]);for(i=0;i<cl.length;i++){if(cl[i]=='%istrict')r+=tinyMCE.inlineStrict;else if(cl[i]=='%itrans')r+=tinyMCE.inlineTransitional;else if(cl[i]=='%istrict_na')r+=tinyMCE.inlineStrict.substring(2);else if(cl[i]=='%itrans_na')r+=tinyMCE.inlineTransitional.substring(2);else if(cl[i]=='%btrans')r+=tinyMCE.blockElms;else if(cl[i]=='%strict')r+=tinyMCE.blockStrict;else r+=(cl[i].charAt(0)!='#'?cl[i].toUpperCase():cl[i]);r+=(i!=cl.length-1?'|':'')}r+=')$';if(this.childRules==null)this.childRules=tinyMCE.clearArray(new Array());this.childRules[tn[y]]=new RegExp(r);if(p.length>1)this.childRules[tn[y]].wrapTag=p[2]}}},parseRuleStr:function(s){var ta,p,r,a,i,x,px,t,tn,y,av,or=tinyMCE.clearArray(new Array()),dv;if(s==null||s.length==0)return or;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];if(s.length==0)continue;p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r={};r.tag=tn[y];r.forceAttribs=null;r.defaultAttribs=null;r.validAttribValues=null;px=r.tag.charAt(0);r.forceOpen=px=='+';r.removeEmpty=px=='-';r.fill=px=='#';r.tag=r.tag.replace(/\+|-|#/g,'');r.oTagName=tn[0].replace(/\+|-|#/g,'').toLowerCase();r.isWild=new RegExp('\\*|\\?|\\+','g').test(r.tag);r.validRe=new RegExp(this._wildcardToRe('^'+r.tag+'$'));if(p.length>1){r.vAttribsRe='^(';a=this.split(/\|/,p[1]);for(i=0;i<a.length;i++){t=a[i];if(t.charAt(0)=='!'){a[i]=t=t.substring(1);if(!r.reqAttribsRe)r.reqAttribsRe='\\s+('+t;else r.reqAttribsRe+='|'+t}av=new RegExp('(=|:|<)(.*?)$').exec(t);t=t.replace(new RegExp('(=|:|<).*?$'),'');if(av&&av.length>0){if(av[0].charAt(0)==':'){if(!r.forceAttribs)r.forceAttribs=tinyMCE.clearArray(new Array());r.forceAttribs[t.toLowerCase()]=av[0].substring(1)}else if(av[0].charAt(0)=='='){if(!r.defaultAttribs)r.defaultAttribs=tinyMCE.clearArray(new Array());dv=av[0].substring(1);r.defaultAttribs[t.toLowerCase()]=dv==""?"mce_empty":dv}else if(av[0].charAt(0)=='<'){if(!r.validAttribValues)r.validAttribValues=tinyMCE.clearArray(new Array());r.validAttribValues[t.toLowerCase()]=this._arrayToRe(this.split('?',av[0].substring(1)),'i')}}r.vAttribsRe+=''+t.toLowerCase()+(i!=a.length-1?'|':'');a[i]=t.toLowerCase()}if(r.reqAttribsRe)r.reqAttribsRe=new RegExp(r.reqAttribsRe+')=\"','g');r.vAttribsRe+=')$';r.vAttribsRe=this._wildcardToRe(r.vAttribsRe);r.vAttribsReIsWild=new RegExp('\\*|\\?|\\+','g').test(r.vAttribsRe);r.vAttribsRe=new RegExp(r.vAttribsRe);r.vAttribs=a.reverse();}else{r.vAttribsRe='';r.vAttribs=tinyMCE.clearArray(new Array());r.vAttribsReIsWild=false}or[r.tag]=r}}return or},serializeNodeAsXML:function(n){var s,b;if(!this.xmlDoc){if(this.isIE){try{this.xmlDoc=new ActiveXObject('MSXML2.DOMDocument')}catch(e){}if(!this.xmlDoc)try{this.xmlDoc=new ActiveXObject('Microsoft.XmlDom')}catch(e){}}else this.xmlDoc=document.implementation.createDocument('','',null);if(!this.xmlDoc)alert("Error XML Parser could not be found.")}if(this.xmlDoc.firstChild)this.xmlDoc.removeChild(this.xmlDoc.firstChild);b=this.xmlDoc.createElement("html");b=this.xmlDoc.appendChild(b);this._convertToXML(n,b);if(this.isIE)return this.xmlDoc.xml;else return new XMLSerializer().serializeToString(this.xmlDoc)},_convertToXML:function(n,xn){var xd,el,i,l,cn,at,no,hc=false;if(tinyMCE.isRealIE&&this._isDuplicate(n))return;xd=this.xmlDoc;switch(n.nodeType){case 1:hc=n.hasChildNodes();el=xd.createElement(n.nodeName.toLowerCase());at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&no.nodeValue)el.setAttribute(no.nodeName.toLowerCase(),no.nodeValue)}if(!hc&&!this.closeElementsRe.test(n.nodeName))el.appendChild(xd.createTextNode(""));xn=xn.appendChild(el);break;case 3:xn.appendChild(xd.createTextNode(n.nodeValue));return;case 8:xn.appendChild(xd.createComment(n.nodeValue));return}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)this._convertToXML(cn[i],xn)}},serializeNodeAsHTML:function(n,inn){var en,no,h='',i,l,t,st,r,cn,va=false,f=false,at,hc,cr,nn;this._setupRules();if(tinyMCE.isRealIE&&this._isDuplicate(n))return'';if(n.parentNode&&this.childRules!=null){cr=this.childRules[n.parentNode.nodeName];if(typeof(cr)!="undefined"&&!cr.test(n.nodeName)){st=true;t=null}}switch(n.nodeType){case 1:hc=n.hasChildNodes();if(st)break;if((tinyMCE.isRealIE)&&n.nodeName.indexOf('/')!=-1)break;nn=n.nodeName;if(this.settings.convert_fonts_to_spans){if(this.settings.on_save&&nn=='FONT')nn='SPAN';if(!this.settings.on_save&&nn=='SPAN')nn='FONT'}if(this.vElementsRe.test(nn)&&(!this.iveRe||!this.iveRe.test(nn))&&!inn){va=true;r=this.rules[nn];if(!r){at=this.rules;for(no in at){if(at[no]&&at[no].validRe.test(nn)){r=at[no];break}}}en=r.isWild?nn.toLowerCase():r.oTagName;f=r.fill;if(r.removeEmpty&&!hc)return"";t='<'+en;if(r.vAttribsReIsWild){at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&r.vAttribsRe.test(no.nodeName))t+=this._serializeAttribute(n,r,no.nodeName)}}else{for(i=r.vAttribs.length-1;i>-1;i--)t+=this._serializeAttribute(n,r,r.vAttribs[i])}if(!this.settings.on_save){at=this.mceAttribs;for(no in at){if(at[no])t+=this._serializeAttribute(n,r,at[no])}}if(r.reqAttribsRe&&!t.match(r.reqAttribsRe))t=null;if(t!=null&&this.closeElementsRe.test(nn))return t+' />';if(t!=null)h+=t+'>';if(this.isIE&&this.codeElementsRe.test(nn))h+=n.innerHTML}break;case 3:if(st)break;if(n.parentNode&&this.codeElementsRe.test(n.parentNode.nodeName))return this.isIE?'':n.nodeValue;return this.xmlEncode(n.nodeValue);case 8:if(st)break;return"<!--"+this._trimComment(n.nodeValue)+"-->"}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)h+=this.serializeNodeAsHTML(cn[i])}if(f&&!hc)h+=this.fillStr;if(t!=null&&va)h+='</'+en+'>';return h},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""'}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an))av=this._urlConverter(this,n,av);if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0){if(an.indexOf('on')!=0)av=this.xmlEncode(av,1);return" "+an+"="+'"'+av+'"'}return""},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi,function(a,b,c){c=c.replace(/<br\s*\/>/gi,'\n');return'<pre'+b+'>'+c+'</pre>'});h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr}li=i}return o},xmlEncode:function(s,skip_apos){var cl=this,re=!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s,skip_apos);case"named":return s.replace(re,function(c,b){b=cl.entities[c.charCodeAt(0)];return b?'&'+b+';':c});case"numeric":return s.replace(re,function(c,b){return b?'&#'+c.charCodeAt(0)+';':c})}return s},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i<l;i++){if(c[i]!='')o[i]=c[i]}return o},_trimComment:function(s){s=s.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");s=s.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");return s},_getAttrib:function(e,n,d){var v,ex,nn;if(typeof(d)=="undefined")d="";if(!e||e.nodeType!=1)return d;try{v=e.getAttribute(n,0)}catch(ex){v=e.getAttribute(n,2)}if(n=="class"&&!v)v=e.className;if(this.isIE){if(n=="http-equiv")v=e.httpEquiv;nn=e.nodeName;if(nn=="FORM"&&n=="enctype"&&v=="application/x-www-form-urlencoded")v="";if(nn=="INPUT"&&n=="size"&&v=="20")v="";if(nn=="INPUT"&&n=="maxlength"&&v=="2147483647")v=""}if(n=='style'&&v){if(!tinyMCE.isOpera)v=e.style.cssText;v=tinyMCE.serializeStyle(tinyMCE.parseStyle(v))}if(this.settings.on_save&&n.indexOf('on')!=-1&&this.settings.on_save&&v&&v!="")v=tinyMCE.cleanupEventStr(v);return(v&&v!="")?''+v:d},_urlConverter:function(c,n,v){if(!c.settings.on_save)return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,v);else if(tinyMCE.getParam('convert_urls')){if(!this.urlConverter)this.urlConverter=eval(tinyMCE.settings.urlconverter_callback);return this.urlConverter(v,n,true)}return v},_arrayToRe:function(a,op,be,af){var i,r;op=typeof(op)=="undefined"?"gi":op;be=typeof(be)=="undefined"?"^(":be;af=typeof(af)=="undefined"?")$":af;r=be;for(i=0;i<a.length;i++)r+=this._wildcardToRe(a[i])+(i!=a.length-1?"|":"");r+=af;return new RegExp(r,op)},_wildcardToRe:function(s){s=s.replace(/\?/g,'(\\S?)');s=s.replace(/\+/g,'(\\S+)');s=s.replace(/\*/g,'(\\S*)');return s},_setupEntities:function(){var n,a,i,s=this.settings;if(!this.entitiesDone){if(s.entity_encoding=="named"){n=tinyMCE.clearArray(new Array());a=this.split(',',s.entities);for(i=0;i<a.length;i+=2)n[a[i]]=a[i+1];this.entities=n}this.entitiesDone=true}},_setupRules:function(){var s=this.settings;if(!this.rulesDone){this.addRuleStr(s.valid_elements);this.addRuleStr(s.extended_valid_elements);this.addChildRemoveRuleStr(s.valid_child_elements);this.rulesDone=true}},_isDuplicate:function(n){var i;if(!this.settings.fix_content_duplication)return false;if(tinyMCE.isRealIE&&n.nodeType==1){if(n.mce_serialized==this.serializationId)return true;n.setAttribute('mce_serialized',this.serializationId)}else{for(i=0;i<this.serializedNodes.length;i++){if(this.serializedNodes[i]==n)return true}this.serializedNodes[this.serializedNodes.length]=n}return false}};TinyMCE_Engine.prototype.createTagHTML=function(tn,a,h){var o='',f=tinyMCE.xmlEncode;o='<'+tn;if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)o+=' '+f(n)+'="'+f(''+a[n])+'"'}}o+=!h?' />':'>'+h+'</'+tn+'>';return o};TinyMCE_Engine.prototype.createTag=function(d,tn,a,h){var o=d.createElement(tn);if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)tinyMCE.setAttrib(o,n,a[n])}}if(h)o.innerHTML=h;return o};TinyMCE_Engine.prototype.getElementByAttributeValue=function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0]};TinyMCE_Engine.prototype.getElementsByAttributeValue=function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=new Array();for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],a).indexOf(v)!=-1)o[o.length]=nl[i]}return o};TinyMCE_Engine.prototype.isBlockElement=function(n){return n!=null&&n.nodeType==1&&this.blockRegExp.test(n.nodeName)};TinyMCE_Engine.prototype.getParentBlockElement=function(n,r){return this.getParentNode(n,function(n){return tinyMCE.isBlockElement(n)},r);return null};TinyMCE_Engine.prototype.insertAfter=function(n,r){if(r.nextSibling)r.parentNode.insertBefore(n,r.nextSibling);else r.parentNode.appendChild(n)};TinyMCE_Engine.prototype.setInnerHTML=function(e,h){var i,nl,n;if(tinyMCE.isGecko){h=h.replace(/<embed([^>]*)>/gi,'<tmpembed$1>');h=h.replace(/<em([^>]*)>/gi,'<i$1>');h=h.replace(/<tmpembed([^>]*)>/gi,'<embed$1>');h=h.replace(/<strong([^>]*)>/gi,'<b$1>');h=h.replace(/<\/strong>/gi,'</b>');h=h.replace(/<\/em>/gi,'</i>')}if(tinyMCE.isRealIE){h=h.replace(/\s\/>/g,'>');h=h.replace(/<p([^>]*)>\u00A0?<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s+<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n)}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h)}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML};TinyMCE_Engine.prototype.setOuterHTML=function(e,h,d){var d=typeof(d)=="undefined"?e.ownerDocument:d,i,nl,t;if(tinyMCE.isIE&&e.nodeType==1)e.outerHTML=h;else{t=d.createElement("body");t.innerHTML=h;for(i=0,nl=t.childNodes;i<nl.length;i++)e.parentNode.insertBefore(nl[i].cloneNode(true),e);e.parentNode.removeChild(e)}};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i<f.length;i++){for(j=0;j<f[i].elements.length;j++){if(f[i].elements[j].name==id){e=f[i].elements[j];break}}}}return e};TinyMCE_Engine.prototype.getNodeTree=function(n,na,t,nn){return this.selectNodes(n,function(n){return(!t||n.nodeType==t)&&(!nn||n.nodeName==nn)},na?na:new Array())};TinyMCE_Engine.prototype.getParentElement=function(n,na,f,r){var re=na?new RegExp('^('+na.toUpperCase().replace(/,/g,'|')+')$'):0,v;if(f&&typeof(f)=='string')return this.getParentElement(n,na,function(no){return tinyMCE.getAttrib(no,f)!=''});return this.getParentNode(n,function(n){return((n.nodeType==1&&!re)||(re&&re.test(n.nodeName)))&&(!f||f(n))},r)};TinyMCE_Engine.prototype.getParentNode=function(n,f,r){while(n){if(n==r)return null;if(f(n))return n;n=n.parentNode}return null};TinyMCE_Engine.prototype.getAttrib=function(elm,name,dv){var v;if(typeof(dv)=="undefined")dv="";if(!elm||elm.nodeType!=1)return dv;try{v=elm.getAttribute(name,0)}catch(ex){v=elm.getAttribute(name,2)}if(name=="class"&&!v)v=elm.className;if(tinyMCE.isGecko&&name=="src"&&elm.src!=null&&elm.src!="")v=elm.src;if(tinyMCE.isGecko&&name=="href"&&elm.href!=null&&elm.href!="")v=elm.href;if(name=="http-equiv"&&tinyMCE.isIE)v=elm.httpEquiv;if(name=="style"&&!tinyMCE.isOpera)v=elm.style.cssText;return(v&&v!="")?v:dv};TinyMCE_Engine.prototype.setAttrib=function(el,name,va,fix){if(typeof(va)=="number"&&va!=null)va=""+va;if(fix){if(va==null)va="";va=va.replace(/[^0-9%]/g,'')}if(name=="style")el.style.cssText=va;if(name=="class")el.className=va;if(va!=null&&va!=""&&va!=-1)el.setAttribute(name,va);else el.removeAttribute(name)};TinyMCE_Engine.prototype.setStyleAttrib=function(e,n,v){e.style[n]=v;if(tinyMCE.isIE&&v==null||v==''){v=tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));e.style.cssText=v;e.setAttribute("style",v)}};TinyMCE_Engine.prototype.switchClass=function(ei,c){var e;if(tinyMCE.switchClassCache[ei])e=tinyMCE.switchClassCache[ei];else e=tinyMCE.switchClassCache[ei]=document.getElementById(ei);if(e){if(tinyMCE.settings.button_tile_map&&e.className&&e.className.indexOf('mceTiledButton')==0)c='mceTiledButton '+c;e.className=c}};TinyMCE_Engine.prototype.getAbsPosition=function(n,cn){var l=0,t=0;while(n&&n!=cn){l+=n.offsetLeft;t+=n.offsetTop;n=n.offsetParent}return{absLeft:l,absTop:t}};TinyMCE_Engine.prototype.prevNode=function(e,n){var a=n.split(','),i;while((e=e.previousSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.nextNode=function(e,n){var a=n.split(','),i;while((e=e.nextSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.selectElements=function(n,na,f){var i,a=[],nl,x;for(x=0,na=na.split(',');x<na.length;x++)for(i=0,nl=n.getElementsByTagName(na[x]);i<nl.length;i++)(!f||f(nl[i]))&&a.push(nl[i]);return a};TinyMCE_Engine.prototype.selectNodes=function(n,f,a){var i;if(!a)a=new Array();if(f(n))a[a.length]=n;if(n.hasChildNodes()){for(i=0;i<n.childNodes.length;i++)tinyMCE.selectNodes(n.childNodes[i],f,a)}return a};TinyMCE_Engine.prototype.addCSSClass=function(e,c,b){var o=this.removeCSSClass(e,c);return e.className=b?c+(o!=''?(' '+o):''):(o!=''?(o+' '):'')+c};TinyMCE_Engine.prototype.removeCSSClass=function(e,c){c=e.className.replace(new RegExp("(^|\\s+)"+c+"(\\s+|$)"),' ');return e.className=c!=' '?c:''};TinyMCE_Engine.prototype.hasCSSClass=function(n,c){return new RegExp('\\b'+c+'\\b','g').test(n.className)};TinyMCE_Engine.prototype.renameElement=function(e,n,d){var ne,i,ar;d=typeof(d)=="undefined"?tinyMCE.selectedInstance.getDoc():d;if(e){ne=d.createElement(n);ar=e.attributes;for(i=ar.length-1;i>-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue)}ar=e.childNodes;for(i=0;i<ar.length;i++)ne.appendChild(ar[i].cloneNode(true));e.parentNode.replaceChild(ne,e)}};TinyMCE_Engine.prototype.getViewPort=function(w){var d=w.document,m=d.compatMode=='CSS1Compat',b=d.body,de=d.documentElement;return{left:w.pageXOffset||(m?de.scrollLeft:b.scrollLeft),top:w.pageYOffset||(m?de.scrollTop:b.scrollTop),width:w.innerWidth||(m?de.clientWidth:b.clientWidth),height:w.innerHeight||(m?de.clientHeight:b.clientHeight)}};TinyMCE_Engine.prototype.getStyle=function(n,na,d){if(!n)return false;if(tinyMCE.isGecko&&n.ownerDocument.defaultView){try{return n.ownerDocument.defaultView.getComputedStyle(n,null).getPropertyValue(na)}catch(n){return null}}na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase()});if(n.currentStyle)return n.currentStyle[na];return false};TinyMCE_Engine.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break}pos=i;urlParts['host']=url_str.substring(lastPos,pos);urlParts['port']="";lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos)}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos)}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos)}}return urlParts};TinyMCE_Engine.prototype.serializeURL=function(up){var o="";if(up['protocol'])o+=up['protocol']+"://";if(up['host'])o+=up['host'];if(up['port'])o+=":"+up['port'];if(up['path'])o+=up['path'];if(up['query'])o+="?"+up['query'];if(up['anchor'])o+="#"+up['anchor'];return o};TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL=function(base_url,url_to_relative){var baseURL=this.parseURL(base_url);var targetURL=this.parseURL(url_to_relative);var strTok1;var strTok2;var breakPoint=0;var outPath="";var forceSlash=false;if(targetURL.path=="")targetURL.path="/";else forceSlash=true;base_url=baseURL.path.substring(0,baseURL.path.lastIndexOf('/'));strTok1=base_url.split('/');strTok2=targetURL.path.split('/');if(strTok1.length>=strTok2.length){for(var i=0;i<strTok1.length;i++){if(i>=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(strTok1.length<strTok2.length){for(var i=0;i<strTok2.length;i++){if(i>=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i<strTok2.length;i++){if(i!=(breakPoint-1))outPath+="/"+strTok2[i];else outPath+=strTok2[i]}targetURL.protocol=null;targetURL.host=null;targetURL.port=null;targetURL.path=outPath==""&&forceSlash?"/":outPath;var fileName=baseURL.path;var pos;if((pos=fileName.lastIndexOf('/'))!=-1)fileName=fileName.substring(pos+1);if(fileName==targetURL.path&&targetURL.anchor!="")targetURL.path="";if(targetURL.path==""&&!targetURL.anchor)targetURL.path=fileName!=""?fileName:"/";return this.serializeURL(targetURL)};TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL=function(base_url,relative_url){var baseURL=this.parseURL(base_url),baseURLParts,relURLParts;var relURL=this.parseURL(relative_url);if(relative_url==""||relative_url.indexOf('://')!=-1||/^(mailto:|javascript:|#|\/)/.test(relative_url))return relative_url;baseURLParts=baseURL['path'].split('/');relURLParts=relURL['path'].split('/');var newBaseURLParts=new Array();for(var i=baseURLParts.length-1;i>=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i]}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue}if(numBack>0){numBack--;continue}newRelURLParts[newRelURLParts.length]=relURLParts[i]}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL)};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl)}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor']}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1)}return url};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var i,elms,src,href,mhref,msrc;elms=body.getElementsByTagName("img");for(i=0;i<elms.length;i++){src=tinyMCE.getAttrib(elms[i],'src');msrc=tinyMCE.getAttrib(elms[i],'mce_src');if(msrc!="")src=msrc;if(src!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);elms[i].setAttribute("src",src)}}elms=body.getElementsByTagName("a");for(i=0;i<elms.length;i++){href=tinyMCE.getAttrib(elms[i],'href');mhref=tinyMCE.getAttrib(elms[i],'mce_href');if(mhref!="")href=mhref;if(href&&href!=""){href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],href);elms[i].setAttribute("href",href)}}};TinyMCE_Engine.prototype.clearArray=function(a){var n;for(n in a)a[n]=null;return a};TinyMCE_Engine.prototype.explode=function(d,s){var ar=s.split(d),oar=new Array(),i;for(i=0;i<ar.length;i++){if(ar[i]!="")oar[oar.length]=ar[i]}return oar};TinyMCE_Engine.prototype._setEventsEnabled=function(node,state){var evs,x,y,elms,i,event;var events=['onfocus','onblur','onclick','ondblclick','onmousedown','onmouseup','onmouseover','onmousemove','onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];evs=tinyMCE.settings['event_elements'].split(',');for(y=0;y<evs.length;y++){elms=node.getElementsByTagName(evs[y]);for(i=0;i<elms.length;i++){event="";for(x=0;x<events.length;x++){if((event=tinyMCE.getAttrib(elms[i],events[x]))!=''){event=tinyMCE.cleanupEventStr(""+event);if(!state)event="return true;"+event;else event=event.replace(/^return true;/gi,'');elms[i].removeAttribute(events[x]);elms[i].setAttribute(events[x],event)}}}}};TinyMCE_Engine.prototype._eventPatch=function(editor_id){var n,inst,win,e;if(typeof(tinyMCE)=="undefined")return true;try{if(tinyMCE.selectedInstance){win=tinyMCE.selectedInstance.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.select();win=inst.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}}catch(ex){}};TinyMCE_Engine.prototype.findEvent=function(e){var n,inst;if(e)return e;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(tinyMCE.isInstance(inst)&&inst.getWin().event)return inst.getWin().event}return null};TinyMCE_Engine.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true)};TinyMCE_Engine.prototype.addEventHandlers=function(inst){this.setEventHandlers(inst,1)};TinyMCE_Engine.prototype.setEventHandlers=function(inst,s){var doc=inst.getDoc(),ie,ot,i,f=s?tinyMCE.addEvent:tinyMCE.removeEvent;ie=['keypress','keyup','keydown','click','mouseup','mousedown','controlselect','dblclick'];ot=['keypress','keyup','keydown','click','mouseup','mousedown','focus','blur','dragdrop'];inst.switchSettings();if(tinyMCE.isIE){for(i=0;i<ie.length;i++)f(doc,ie[i],TinyMCE_Engine.prototype._eventPatch)}else{for(i=0;i<ot.length;i++)f(doc,ot[i],tinyMCE.handleEvent);try{doc.designMode="On"}catch(e){}}};TinyMCE_Engine.prototype.onMouseMove=function(){var inst,lh;if(tinyMCE.lastHover){lh=tinyMCE.lastHover;if(lh.className.indexOf('mceMenu')!=-1)tinyMCE._menuButtonEvent('out',lh);else lh.className=lh.className;tinyMCE.lastHover=null}if(!tinyMCE.hasMouseMoved){inst=tinyMCE.selectedInstance;if(inst.isFocused){inst.undoBookmark=inst.selection.getBookmark();tinyMCE.hasMouseMoved=true}}};TinyMCE_Engine.prototype.cancelEvent=function(e){if(!e)return false;if(tinyMCE.isIE){e.returnValue=false;e.cancelBubble=true}else{e.preventDefault();e.stopPropagation&&e.stopPropagation()}return false};TinyMCE_Engine.prototype.addEvent=function(o,n,h){if(n!='unload'){function clean(){var ex;try{tinyMCE.removeEvent(o,n,h);tinyMCE.removeEvent(window,'unload',clean);o=n=h=null}catch(ex){}}tinyMCE.addEvent(window,'unload',clean)}if(o.attachEvent)o.attachEvent("on"+n,h);else o.addEventListener(n,h,false)};TinyMCE_Engine.prototype.removeEvent=function(o,n,h){if(o.detachEvent)o.detachEvent("on"+n,h);else o.removeEventListener(n,h,false)};TinyMCE_Engine.prototype.addSelectAccessibility=function(e,s,w){if(!s._isAccessible){s.onkeydown=tinyMCE.accessibleEventHandler;s.onblur=tinyMCE.accessibleEventHandler;s._isAccessible=true;s._win=w}return false};TinyMCE_Engine.prototype.accessibleEventHandler=function(e){var win=this._win;e=tinyMCE.isIE?win.event:e;var elm=tinyMCE.isIE?e.srcElement:e.target;if(e.type=="blur"){if(elm.oldonchange){elm.onchange=elm.oldonchange;elm.oldonchange=null}return true}if(elm.nodeName=="SELECT"&&!elm.oldonchange){elm.oldonchange=elm.onchange;elm.onchange=null}if(e.keyCode==13||e.keyCode==32){elm.onchange=elm.oldonchange;elm.onchange();elm.oldonchange=null;tinyMCE.cancelEvent(e);return false}return true};TinyMCE_Engine.prototype._resetIframeHeight=function(){var ife;if(tinyMCE.isRealIE){ife=tinyMCE.selectedInstance.iframeElement;if(ife._oldHeight){ife.style.height=ife._oldHeight;ife.height=ife._oldHeight}}};function TinyMCE_Selection(inst){this.instance=inst};TinyMCE_Selection.prototype={getSelectedHTML:function(){var inst=this.instance;var e,r=this.getRng(),h;if(!r)return null;e=document.createElement("body");if(r.cloneContents)e.appendChild(r.cloneContents());else if(typeof(r.item)!='undefined'||typeof(r.htmlText)!='undefined')e.innerHTML=r.item?r.item(0).outerHTML:r.htmlText;else e.innerHTML=r.toString();h=tinyMCE._cleanupHTML(inst,inst.contentDocument,inst.settings,e,e,false,true,false);return h},getSelectedText:function(){var inst=this.instance;var d,r,s,t;if(tinyMCE.isIE){d=inst.getDoc();if(d.selection.type=="Text"){r=d.selection.createRange();t=r.text}else t=''}else{s=this.getSel();if(s&&s.toString)t=s.toString();else t=''}return t},getBookmark:function(simple){var inst=this.instance;var rng=this.getRng();var doc=inst.getDoc(),b=inst.getBody();var sp,le,s,e,nl,i,si,ei,w;var trng,sx,sy,xx=-999999999,vp=inst.getViewPort();sx=vp.left;sy=vp.top;if(tinyMCE.isSafari||tinyMCE.isOpera||simple)return{rng:rng,scrollX:sx,scrollY:sy};if(tinyMCE.isIE){if(rng.item){e=rng.item(0);nl=b.getElementsByTagName(e.nodeName);for(i=0;i<nl.length;i++){if(e==nl[i]){sp=i;break}}return{tag:e.nodeName,index:sp,scrollX:sx,scrollY:sy}}else{trng=doc.body.createTextRange();trng.moveToElementText(inst.getBody());trng.collapse(true);bp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(true);sp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(false);le=Math.abs(trng.move('character',xx))-sp;return{start:sp-bp,length:le,scrollX:sx,scrollY:sy}}}if(tinyMCE.isGecko){s=this.getSel();e=this.getFocusElement();if(!s)return null;if(e&&e.nodeName=='IMG'){return{start:-1,end:-1,index:sp,scrollX:sx,scrollY:sy}}if(s.anchorNode==s.focusNode&&s.anchorOffset==s.focusOffset){e=this._getPosText(b,s.anchorNode,s.focusNode);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+s.anchorOffset,end:e.end+s.focusOffset,scrollX:sx,scrollY:sy}}else{e=this._getPosText(b,rng.startContainer,rng.endContainer);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+rng.startOffset,end:e.end+rng.endOffset,scrollX:sx,scrollY:sy}}}return null},moveToBookmark:function(bookmark){var inst=this.instance;var rng,nl,i,ex,b=inst.getBody(),sd;var doc=inst.getDoc();var win=inst.getWin();var sel=this.getSel();if(!bookmark)return false;if(tinyMCE.isSafari){sel.setBaseAndExtent(bookmark.rng.startContainer,bookmark.rng.startOffset,bookmark.rng.endContainer,bookmark.rng.endOffset);return true}if(tinyMCE.isRealIE){if(bookmark.rng){try{bookmark.rng.select()}catch(ex){}return true}win.focus();if(bookmark.tag){rng=b.createControlRange();nl=b.getElementsByTagName(bookmark.tag);if(nl.length>bookmark.index){try{rng.addElement(nl[bookmark.index])}catch(ex){}}}else{try{if(bookmark.start<0)return true;rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length)}catch(ex){return true}}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}if(tinyMCE.isGecko||tinyMCE.isOpera){if(!sel)return false;if(bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng)}if(bookmark.start!=-1&&bookmark.end!=-1){try{sd=this._getTextPos(b,bookmark.start,bookmark.end);rng=doc.createRange();rng.setStart(sd.startNode,sd.startOffset);rng.setEnd(sd.endNode,sd.endOffset);sel.removeAllRanges();sel.addRange(rng);win.focus()}catch(ex){}}win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}return false},_getPosText:function(r,sn,en){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){if(n==sn)d.start=p;if(n==en){d.end=p;return d}p+=n.nodeValue?n.nodeValue.length:0}return null},_getTextPos:function(r,sp,ep){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){p+=n.nodeValue?n.nodeValue.length:0;if(p>=sp&&!d.startNode){d.startNode=n;d.startOffset=sp-(p-n.nodeValue.length)}if(p>=ep){d.endNode=n;d.endOffset=ep-(p-n.nodeValue.length);return d}}return null},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(inst.settings.auto_resize)inst.resizeToContent();if(tinyMCE.isRealIE){rng=inst.getDoc().body.createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select()}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd()}this.scrollToNode(node);return}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node)}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length)}else rng.collapse(to_start)}sel.removeAllRanges();sel.addRange(rng)}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node},scrollToNode:function(node){var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;if(pos.absLeft<vp.left||pos.absLeft>vp.left+vp.width||pos.absTop<vp.top||pos.absTop>vp.top+(vp.height-25))w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);if(inst.settings.auto_resize){cwin=inst.getContainerWin();cvp=tinyMCE.getViewPort(cwin);p=this.getAbsPosition(node);if(p.absLeft<cvp.left||p.absLeft>cvp.left+cvp.width||p.absTop<cvp.top||p.absTop>cvp.top+cvp.height)cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25)}},getAbsPosition:function(n){var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);return{absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop}},getSel:function(){var inst=this.instance;if(tinyMCE.isRealIE)return inst.getDoc().selection;return inst.contentWindow.getSelection()},getRng:function(){var s=this.getSel();if(s==null)return null;if(tinyMCE.isRealIE)return s.createRange();if(tinyMCE.isSafari&&!s.getRangeAt)return''+window.getSelection();if(s.rangeCount>0)return s.getRangeAt(0);return null},isCollapsed:function(){var r=this.getRng();if(r.item)return false;return r.boundingWidth==0||this.getSel().isCollapsed},collapse:function(b){var r=this.getRng(),s=this.getSel();if(r.select){r.collapse(b);r.select()}else{if(b)s.collapseToStart();else s.collapseToEnd()}},getFocusElement:function(){var inst=this.instance,doc,rng,sel,elm;if(tinyMCE.isRealIE){doc=inst.getDoc();rng=doc.selection.createRange();elm=rng.item?rng.item(0):rng.parentElement()}else{if(!tinyMCE.isSafari&&inst.isHidden())return inst.getBody();sel=this.getSel();rng=this.getRng();if(!sel||!rng)return null;elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset]}}}elm=tinyMCE.getParentElement(elm);}return elm}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true};TinyMCE_UndoRedo.prototype={add:function(l){var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;if(l){this.undoLevels[this.undoLevels.length]=l;return true}if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;if(tinyMCE.typingUndoIndex!=-1)tinyMCE.undoIndex=tinyMCE.typingUndoIndex}newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(i=0;i<this.undoLevels.length-1;i++)this.undoLevels[i]=this.undoLevels[i+1];this.undoLevels.length--;this.undoIndex--;}b=inst.undoBookmark;if(!b)b=inst.selection.getBookmark();this.undoIndex++;this.undoLevels[this.undoIndex]={content:newHTML,bookmark:b};ul=tinyMCE.undoLevels;for(i=tinyMCE.undoIndex+1;i<ul.length;i++){ur=ul[i].undoRedo;if(ur.undoIndex==ur.undoLevels.length-1)ur.undoIndex--;ur.undoLevels.length--}tinyMCE.undoLevels[tinyMCE.undoIndex++]=inst;tinyMCE.undoLevels.length=tinyMCE.undoIndex;this.undoLevels.length=this.undoIndex+1;return true}return false},undo:function(){var inst=this.instance;if(this.undoIndex>0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}tinyMCE.triggerNodeChange()}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);var rootElm=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;var rngBefore,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;var paraBefore,paraAfter,startChop,endChop,contents;function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()==""}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i<nodes.length;i++){if(!isEmptyHTML(nodes[i].nodeValue))return false}return true}rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;startNode=direct?sel.anchorNode:sel.focusNode;startOffset=direct?sel.anchorOffset:sel.focusOffset;endNode=direct?sel.focusNode:sel.anchorNode;endOffset=direct?sel.focusOffset:sel.anchorOffset;startNode=startNode.nodeName=="BODY"?startNode.firstChild:startNode;endNode=endNode.nodeName=="BODY"?endNode.firstChild:endNode;startBlock=inst.getParentBlockElement(startNode);endBlock=inst.getParentBlockElement(endNode);if(startBlock&&new RegExp('absolute|relative|static','gi').test(startBlock.style.position))startBlock=null;if(endBlock&&new RegExp('absolute|relative|static','gi').test(endBlock.style.position))endBlock=null;if(startBlock!=null){blockName=startBlock.nodeName;if(blockName=="TD"||blockName=="TABLE"||(blockName=="DIV"&&new RegExp('left|right','gi').test(startBlock.style.cssFloat)))blockName="P"}if(tinyMCE.getParentElement(startBlock,"OL,UL",null,body)!=null)return false;if((startBlock!=null&&startBlock.nodeName=="TABLE")||(endBlock!=null&&endBlock.nodeName=="TABLE"))startBlock=endBlock=null;paraBefore=(startBlock!=null&&startBlock.nodeName==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);paraAfter=(endBlock!=null&&endBlock.nodeName==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);if(/^(H[1-6])$/.test(blockName))paraAfter=doc.createElement("p");startChop=startNode;endChop=endNode;node=startChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;startChop=node}while((node=node.previousSibling?node.previousSibling:node.parentNode));node=endChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;endChop=node}while((node=node.nextSibling?node.nextSibling:node.parentNode));if(startChop.nodeName=="TD")startChop=startChop.firstChild;if(endChop.nodeName=="TD")endChop=endChop.lastChild;if(startBlock==null){rng.deleteContents();if(!tinyMCE.isSafari)sel.removeAllRanges();if(startChop!=rootElm&&endChop!=rootElm){rngBefore=rng.cloneRange();if(startChop==body)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);paraBefore.appendChild(rngBefore.cloneContents());if(endChop.parentNode.nodeName==blockName)endChop=endChop.parentNode;rng.setEndAfter(endChop);if(endChop.nodeName!="#text"&&endChop.nodeName!="BODY")rngBefore.setEndAfter(endChop);contents=rng.cloneContents();if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName=="BODY"))paraAfter.innerHTML=contents.firstChild.innerHTML;else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng.deleteContents();rngAfter.deleteContents();rngBefore.deleteContents();if(tinyMCE.isOpera){paraBefore.normalize();rngBefore.insertNode(paraBefore);paraAfter.normalize();rngBefore.insertNode(paraAfter)}else{paraAfter.normalize();rngBefore.insertNode(paraAfter);paraBefore.normalize();rngBefore.insertNode(paraBefore)}}else{body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";paraAfter=body.childNodes[1]}inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode)}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset)}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();if(tinyMCE.isOpera){rng.insertNode(paraBefore);rng.insertNode(paraAfter)}else{rng.insertNode(paraAfter);rng.insertNode(paraBefore)}paraAfter.normalize();paraBefore.normalize();inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){nv=sn.nodeValue;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling)}if(inst.settings.auto_resize)inst.resizeToContent();return s}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/ 2) - (ew /2);y=rep.absTop+(h/ 2) - (eh /2);break}this.moveTo(x,y)},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y)},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker()},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h)},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker()},show:function(){var el=this.getElement();if(el){el.style.display='block';this.updateBlocker()}},hide:function(){var el=this.getElement();if(el){el.style.display='none';this.updateBlocker()}},isVisible:function(){return this.getElement().style.display=='block'},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element},setBlockMode:function(s){this.blockMode=s},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display}else b.style.display='none'}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.getElementById(this.id+"_blocker");if(!b){b=d.createElement("iframe");b.setAttribute('id',this.id+"_blocker");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b)}this.blockerElement=b}return this.blockerElement},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent}return p},create:function(n,c,p,h){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;if(h)e.innerHTML=h;p.appendChild(e);return this.element=e},exists:function(){return this.doc.getElementById(this.id)!=null},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s)},remove:function(){var e=this.getElement(),b=this.getBlocker();if(e)e.parentNode.removeChild(e);if(b)b.parentNode.removeChild(b)}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class)},clear:function(){this.items=new Array()},addTitle:function(t){this.add({type:'title',text:t})},addDisabled:function(t){this.add({type:'disabled',text:t})},addSeparator:function(){this.add({type:'separator'})},addItem:function(t,js){this.add({text:t,js:js})},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='<span class="mceMenuLine"></span>';h+='<table border="0" cellpadding="0" cellspacing="0">';for(i=0;i<m.length;i++){t=tinyMCE.xmlEncode(m[i].text);c=m[i].class_name?' class="'+m[i].class_name+'"':'';switch(m[i].type){case'separator':h+='<tr class="'+s.separator_class+'"><td>';break;case'title':h+='<tr class="'+s.title_class+'"><td><span'+c+'>'+t+'</span>';break;case'disabled':h+='<tr class="'+s.disabled_class+'"><td><span'+c+'>'+t+'</span>';break;default:h+='<tr><td><a href="'+tinyMCE.xmlEncode(m[i].js)+'" onmousedown="'+tinyMCE.xmlEncode(m[i].js)+';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span'+c+'>'+t+'</span></a>'}h+='</td></tr>'}h+='</table>';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker()},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this}});if(!Function.prototype.call){Function.prototype.call=function(){var a=arguments,s=a[0],i,as='',r,o;for(i=1;i<a.length;i++)as+=(i>1?',':'')+'a['+i+']';o=s._fu;s._fu=this;r=eval('s._fu('+as+')');s._fu=o;return r}};TinyMCE_Engine.prototype.debug=function(){var m="",a,i,l=tinyMCE.log.length;for(i=0,a=this.debug.arguments;i<a.length;i++){m+=a[i];if(i<a.length-1)m+=', '}if(l<1000)tinyMCE.log[l]="[debug] "+m};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,288 @@
+// Some global instances, this will be filled later
+var tinyMCE = null, tinyMCELang = null;
+
+function TinyMCE_Popup() {
+};
+
+TinyMCE_Popup.prototype = {
+	findWin : function(w) {
+		var c;
+
+		// Check parents
+		c = w;
+		while (c && (c = c.parent) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Check openers
+		c = w;
+		while (c && (c = c.opener) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Try top
+		if (typeof(top.tinyMCE) != "undefined")
+			return top;
+
+		return null;
+	},
+
+	init : function() {
+		var win = window.opener ? window.opener : window.dialogArguments, c;
+		var inst;
+
+		if (!win)
+			win = this.findWin(window);
+
+		if (!win) {
+			alert("tinyMCE object reference not found from popup.");
+			return;
+		}
+
+		window.opener = win;
+		this.windowOpener = win;
+		this.onLoadEval = "";
+
+		// Setup parent references
+		tinyMCE = win.tinyMCE;
+		tinyMCELang = win.tinyMCELang;
+
+		inst = tinyMCE.selectedInstance;
+		this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+		this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
+
+		if (this.isWindow)
+			window.focus();
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+
+		// Setup dir
+		if (tinyMCELang['lang_dir'])
+			document.dir = tinyMCELang['lang_dir'];
+
+		// Setup title
+		var re = new RegExp('{|\\\$|}', 'g');
+		var title = document.title.replace(re, "");
+		if (typeof tinyMCELang[title] != "undefined") {
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang[title];
+			document.title = divElm.innerHTML;
+
+			if (tinyMCE.setWindowTitle != null)
+				tinyMCE.setWindowTitle(window, divElm.innerHTML);
+		}
+
+		// Output Popup CSS class
+		document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+		if (tinyMCE.getParam("popups_css_add")) {
+			c = tinyMCE.getParam("popups_css_add");
+
+			// Is relative
+			if (c.indexOf('://') == -1 && c.charAt(0) != '/')
+				c = tinyMCE.documentBasePath + "/" + c;
+
+			document.write('<link href="' + c + '" rel="stylesheet" type="text/css">');
+		}
+
+		tinyMCE.addEvent(window, "load", this.onLoad);
+	},
+
+	onLoad : function() {
+		var dir, i, elms, body = document.body;
+
+		if (tinyMCE.getWindowArg('mce_replacevariables', true))
+			body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+		dir = tinyMCE.selectedInstance.settings['directionality'];
+		if (dir == "rtl" && document.forms && document.forms.length > 0) {
+			elms = document.forms[0].elements;
+			for (i=0; i<elms.length; i++) {
+				if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+					elms[i].dir = dir;
+			}
+		}
+
+		if (body.style.display == 'none')
+			body.style.display = 'block';
+
+		// Execute real onload (Opera fix)
+		if (tinyMCEPopup.onLoadEval != "")
+			eval(tinyMCEPopup.onLoadEval);
+	},
+
+	executeOnLoad : function(str) {
+		if (tinyMCE.isOpera)
+			this.onLoadEval = str;
+		else
+			eval(str);
+	},
+
+	resizeToInnerSize : function() {
+		// Netscape 7.1 workaround
+		if (this.isWindow && tinyMCE.isNS71) {
+			window.resizeBy(0, 10);
+			return;
+		}
+
+		if (this.isWindow) {
+			var doc = document;
+			var body = doc.body;
+			var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+			if (body.style.display == 'none')
+				body.style.display = 'block';
+
+			// Remove margin
+			oldMargin = body.style.margin;
+			body.style.margin = '0';
+
+			// Create wrapper
+			wrapper = doc.createElement("div");
+			wrapper.id = 'mcBodyWrapper';
+			wrapper.style.display = 'none';
+			wrapper.style.margin = '0';
+
+			// Wrap body elements
+			nodes = doc.body.childNodes;
+			for (var i=nodes.length-1; i>=0; i--) {
+				if (wrapper.hasChildNodes())
+					wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+				else
+					wrapper.appendChild(nodes[i].cloneNode(true));
+
+				nodes[i].parentNode.removeChild(nodes[i]);
+			}
+
+			// Add wrapper
+			doc.body.appendChild(wrapper);
+
+			// Create iframe
+			iframe = document.createElement("iframe");
+			iframe.id = "mcWinIframe";
+			iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
+			iframe.width = "100%";
+			iframe.height = "100%";
+			iframe.style.margin = '0';
+
+			// Add iframe
+			doc.body.appendChild(iframe);
+
+			// Measure iframe
+			iframe = document.getElementById('mcWinIframe');
+			dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+			dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+
+			// Resize window
+			// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+			window.resizeBy(dx, dy);
+
+			// Hide iframe and show wrapper
+			body.style.margin = oldMargin;
+			iframe.style.display = 'none';
+			wrapper.style.display = 'block';
+		}
+	},
+
+	resizeToContent : function() {
+		var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+		var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+
+		if (isOpera)
+			return;
+
+		if (isMSIE) {
+			try { window.resizeTo(10, 10); } catch (e) {}
+
+			var elm = document.body;
+			var width = elm.offsetWidth;
+			var height = elm.offsetHeight;
+			var dx = (elm.scrollWidth - width) + 4;
+			var dy = elm.scrollHeight - height;
+
+			try { window.resizeBy(dx, dy); } catch (e) {}
+		} else {
+			window.scrollBy(1000, 1000);
+			if (window.scrollX > 0 || window.scrollY > 0) {
+				window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+				window.sizeToContent();
+				window.scrollTo(0, 0);
+				var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+				var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+				window.moveTo(x, y);
+			}
+		}
+	},
+
+	getWindowArg : function(name, default_value) {
+		return tinyMCE.getWindowArg(name, default_value);
+	},
+
+	restoreSelection : function() {
+		if (this.storeSelection) {
+			var inst = tinyMCE.selectedInstance;
+
+			inst.getWin().focus();
+
+			if (inst.selectionBookmark)
+				inst.selection.moveToBookmark(inst.selectionBookmark);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		this.restoreSelection();
+		inst.execCommand(command, user_interface, value);
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+	},
+
+	close : function() {
+		tinyMCE.closeWindow(window);
+	},
+
+	pickColor : function(e, element_id) {
+		tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+			element_id : element_id,
+			document : document,
+			window : window,
+			store_selection : false
+		});
+	},
+
+	openBrowser : function(element_id, type, option) {
+		var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+		var url = document.getElementById(element_id).value;
+
+		tinyMCE.setWindowArg("window", window);
+		tinyMCE.setWindowArg("document", document);
+
+		// Call to external callback
+		if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+			alert("Callback function: " + cb + " could not be found.");
+		else
+			eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+	},
+
+	importClass : function(c) {
+		window[c] = function() {};
+
+		for (var n in window.opener[c].prototype)
+			window[c].prototype[n] = window.opener[c].prototype[n];
+
+		window[c].constructor = window.opener[c].constructor;
+	}
+
+	};
+
+// Setup global instance
+var tinyMCEPopup = new TinyMCE_Popup();
+
+tinyMCEPopup.init();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7492 @@
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */
+
+function TinyMCE_Engine() {
+	var ua;
+
+	this.majorVersion = "2";
+	this.minorVersion = "1.0";
+	this.releaseDate = "2007-02-13";
+
+	this.instances = new Array();
+	this.switchClassCache = new Array();
+	this.windowArgs = new Array();
+	this.loadedFiles = new Array();
+	this.pendingFiles = new Array();
+	this.loadingIndex = 0;
+	this.configs = new Array();
+	this.currentConfig = 0;
+	this.eventHandlers = new Array();
+	this.log = new Array();
+	this.undoLevels = [];
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+
+	// Browser check
+	ua = navigator.userAgent;
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
+	this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
+	this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1);
+	this.isGecko = ua.indexOf('Gecko') != -1;
+	this.isSafari = ua.indexOf('Safari') != -1;
+	this.isOpera = ua.indexOf('Opera') != -1;
+	this.isMac = ua.indexOf('Mac') != -1;
+	this.isNS7 = ua.indexOf('Netscape/7') != -1;
+	this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
+	this.dialogCounter = 0;
+	this.plugins = new Array();
+	this.themes = new Array();
+	this.menus = new Array();
+	this.loadedPlugins = new Array();
+	this.buttonMap = new Array();
+	this.isLoaded = false;
+
+	// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those
+	if (this.isOpera) {
+		this.isMSIE = true;
+		this.isGecko = false;
+		this.isSafari =  false;
+	}
+
+	this.isIE = this.isMSIE;
+	this.isRealIE = this.isMSIE && !this.isOpera;
+
+	// TinyMCE editor id instance counter
+	this.idCounter = 0;
+};
+
+TinyMCE_Engine.prototype = {
+	init : function(settings) {
+		var theme, nl, baseHREF = "", i;
+
+		// IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. We can't support old browsers forever, sorry.
+		if (this.isMSIE5_0)
+			return;
+
+		this.settings = settings;
+
+		// Check if valid browser has execcommand support
+		if (typeof(document.execCommand) == 'undefined')
+			return;
+
+		// Get script base path
+		if (!tinyMCE.baseURL) {
+			var elements = document.getElementsByTagName('script');
+
+			// If base element found, add that infront of baseURL
+			nl = document.getElementsByTagName('base');
+			for (i=0; i<nl.length; i++) {
+				if (nl[i].href)
+					baseHREF = nl[i].href;
+			}
+
+			for (var i=0; i<elements.length; i++) {
+				if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_dev.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip") != -1)) {
+					var src = elements[i].src;
+
+					tinyMCE.srcMode = (src.indexOf('_src') != -1 || src.indexOf('_dev') != -1) ? '_src' : '';
+					tinyMCE.gzipMode = src.indexOf('_gzip') != -1;
+					src = src.substring(0, src.lastIndexOf('/'));
+
+					if (settings.exec_mode == "src" || settings.exec_mode == "normal")
+						tinyMCE.srcMode = settings.exec_mode == "src" ? '_src' : '';
+
+					// Force it absolute if page has a base href
+					if (baseHREF != "" && src.indexOf('://') == -1)
+						tinyMCE.baseURL = baseHREF + src;
+					else
+						tinyMCE.baseURL = src;
+
+					break;
+				}
+			}
+		}
+
+		// Get document base path
+		this.documentBasePath = document.location.href;
+		if (this.documentBasePath.indexOf('?') != -1)
+			this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
+		this.documentURL = this.documentBasePath;
+		this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
+
+		// If not HTTP absolute
+		if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
+			// If site absolute
+			tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
+		}
+
+		// Set default values on settings
+		this._def("mode", "none");
+		this._def("theme", "advanced");
+		this._def("plugins", "", true);
+		this._def("language", "en");
+		this._def("docs_language", this.settings['language']);
+		this._def("elements", "");
+		this._def("textarea_trigger", "mce_editable");
+		this._def("editor_selector", "");
+		this._def("editor_deselector", "mceNoEditor");
+		this._def("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");
+		this._def("extended_valid_elements", "");
+		this._def("invalid_elements", "");
+		this._def("encoding", "");
+		this._def("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE_Engine.prototype.convertURL"));
+		this._def("save_callback", "");
+		this._def("debug", false);
+		this._def("force_br_newlines", false);
+		this._def("force_p_newlines", true);
+		this._def("add_form_submit_trigger", true);
+		this._def("relative_urls", true);
+		this._def("remove_script_host", true);
+		this._def("focus_alert", true);
+		this._def("document_base_url", this.documentURL);
+		this._def("visual", true);
+		this._def("visual_table_class", "mceVisualAid");
+		this._def("setupcontent_callback", "");
+		this._def("fix_content_duplication", true);
+		this._def("custom_undo_redo", true);
+		this._def("custom_undo_redo_levels", -1);
+		this._def("custom_undo_redo_keyboard_shortcuts", true);
+		this._def("custom_undo_redo_restore_selection", true);
+		this._def("custom_undo_redo_global", false);
+		this._def("verify_html", true);
+		this._def("apply_source_formatting", false);
+		this._def("directionality", "ltr");
+		this._def("cleanup_on_startup", false);
+		this._def("inline_styles", false);
+		this._def("convert_newlines_to_brs", false);
+		this._def("auto_reset_designmode", true);
+		this._def("entities", "39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", true);
+		this._def("entity_encoding", "named");
+		this._def("cleanup_callback", "");
+		this._def("add_unload_trigger", true);
+		this._def("ask", false);
+		this._def("nowrap", false);
+		this._def("auto_resize", false);
+		this._def("auto_focus", false);
+		this._def("cleanup", true);
+		this._def("remove_linebreaks", true);
+		this._def("button_tile_map", false);
+		this._def("submit_patch", true);
+		this._def("browsers", "msie,safari,gecko,opera", true);
+		this._def("dialog_type", "window");
+		this._def("accessibility_warnings", true);
+		this._def("accessibility_focus", true);
+		this._def("merge_styles_invalid_parents", "");
+		this._def("force_hex_style_colors", true);
+		this._def("trim_span_elements", true);
+		this._def("convert_fonts_to_spans", false);
+		this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
+		this._def("font_size_classes", '');
+		this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true);
+		this._def("event_elements", 'a,img', true);
+		this._def("convert_urls", true);
+		this._def("table_inline_editing", false);
+		this._def("object_resizing", true);
+		this._def("custom_shortcuts", true);
+		this._def("convert_on_click", false);
+		this._def("content_css", '');
+		this._def("fix_list_elements", true);
+		this._def("fix_table_elements", false);
+		this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml');
+		this._def("hidden_tab_class", '');
+		this._def("display_tab_class", '');
+		this._def("gecko_spellcheck", false);
+		this._def("hide_selects_on_submit", true);
+
+		// Force strict loading mode to false on non Gecko browsers
+		if (this.isMSIE && !this.isOpera)
+			this.settings.strict_loading_mode = false;
+
+		// Browser check IE
+		if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
+			return;
+
+		// Browser check Gecko
+		if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
+			return;
+
+		// Browser check Safari
+		if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
+			return;
+
+		// Browser check Opera
+		if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1)
+			return;
+
+		// If not super absolute make it so
+		baseHREF = tinyMCE.settings['document_base_url'];
+		var h = document.location.href;
+		var p = h.indexOf('://');
+		if (p > 0 && document.location.protocol != "file:") {
+			p = h.indexOf('/', p + 3);
+			h = h.substring(0, p);
+
+			if (baseHREF.indexOf('://') == -1)
+				baseHREF = h + baseHREF;
+
+			tinyMCE.settings['document_base_url'] = baseHREF;
+			tinyMCE.settings['document_base_prefix'] = h;
+		}
+
+		// Trim away query part
+		if (baseHREF.indexOf('?') != -1)
+			baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
+
+		this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
+
+		theme = this.settings['theme'];
+		this.inlineStrict = 'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';
+		this.inlineTransitional = 'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';
+		this.blockElms = 'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';
+		this.blockRegExp = new RegExp("^(" + this.blockElms + ")$", "i");
+		this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+		this.uniqueURL = 'javascript:void(091039730);'; // Make unique URL non real URL
+		this.uniqueTag = '<div id="mceTMPElement" style="display: none">TMP</div>';
+		this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup', 'removeInstance');
+
+		// Theme url
+		this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
+
+		if (!tinyMCE.isIE || tinyMCE.isOpera)
+			this.settings['force_br_newlines'] = false;
+
+		if (tinyMCE.getParam("popups_css", false)) {
+			var cssPath = tinyMCE.getParam("popups_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['popups_css'] = cssPath;
+		} else
+			this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
+
+		if (tinyMCE.getParam("editor_css", false)) {
+			var cssPath = tinyMCE.getParam("editor_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['editor_css'] = cssPath;
+		} else {
+			if (this.settings.editor_css != '')
+				this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
+		}
+
+		if (tinyMCE.settings['debug']) {
+			var msg = "Debug: \n";
+
+			msg += "baseURL: " + this.baseURL + "\n";
+			msg += "documentBasePath: " + this.documentBasePath + "\n";
+			msg += "content_css: " + this.settings['content_css'] + "\n";
+			msg += "popups_css: " + this.settings['popups_css'] + "\n";
+			msg += "editor_css: " + this.settings['editor_css'] + "\n";
+
+			alert(msg);
+		}
+
+		// Only do this once
+		if (this.configs.length == 0) {
+			if (typeof(TinyMCECompressed) == "undefined") {
+				tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad);
+
+				if (tinyMCE.isRealIE) {
+					if (document.body)
+						tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+					else
+						tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+				}
+
+				tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
+				tinyMCE._addUnloadEvents();
+			}
+		}
+
+		this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
+		this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js');
+		this.loadCSS(this.settings['editor_css']);
+
+		// Add plugins
+		var p = tinyMCE.getParam('plugins', '', true, ',');
+		if (p.length > 0) {
+			for (var i=0; i<p.length; i++) {
+				if (p[i].charAt(0) != '-')
+					this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
+			}
+		}
+
+		// Setup entities
+		if (tinyMCE.getParam('entity_encoding') == 'named') {
+			settings['cleanup_entities'] = new Array();
+			var entities = tinyMCE.getParam('entities', '', true, ',');
+			for (var i=0; i<entities.length; i+=2)
+				settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
+		}
+
+		// Save away this config
+		settings['index'] = this.configs.length;
+		this.configs[this.configs.length] = settings;
+
+		// Start loading first one in chain
+		this.loadNextScript();
+
+		// Force flicker free CSS backgrounds in IE
+		if (this.isIE && !this.isOpera) {
+			try {
+				document.execCommand('BackgroundImageCache', false, true);
+			} catch (e) {
+			}
+		}
+
+		// Setup XML encoding regexps
+		this.xmlEncodeAposRe = new RegExp('[<>&"\']', 'g');
+		this.xmlEncodeRe = new RegExp('[<>&"]', 'g');
+//		this.xmlEncodeEnts = {'&':'&amp;','"':'&quot;',"'":'&#39;','<':'&lt;','>':'&gt;'};
+	},
+
+	_addUnloadEvents : function() {
+		if (tinyMCE.isIE) {
+			if (tinyMCE.settings['add_unload_trigger']) {
+				tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler);
+				tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler);
+			}
+		} else {
+			if (tinyMCE.settings['add_unload_trigger'])
+				tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
+		}
+	},
+
+	_def : function(key, def_val, t) {
+		var v = tinyMCE.getParam(key, def_val);
+
+		v = t ? v.replace(/\s+/g, "") : v;
+
+		this.settings[key] = v;
+	},
+
+	hasPlugin : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	addPlugin : function(n, p) {
+		var op = this.plugins[n];
+
+		// Use the previous plugin object base URL used when loading external plugins
+		p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
+		this.plugins[n] = p;
+
+		this.loadNextScript();
+	},
+
+	setPluginBaseURL : function(n, u) {
+		var op = this.plugins[n];
+
+		if (op)
+			op.baseURL = u;
+		else
+			this.plugins[n] = {baseURL : u};
+	},
+
+	loadPlugin : function(n, u) {
+		u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u;
+		u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u;
+		this.plugins[n] = {baseURL : u};
+		this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js");
+	},
+
+	hasTheme : function(n) {
+		return typeof(this.themes[n]) != "undefined" && this.themes[n] != null;
+	},
+
+	addTheme : function(n, t) {
+		this.themes[n] = t;
+
+		this.loadNextScript();
+	},
+
+	addMenu : function(n, m) {
+		this.menus[n] = m;
+	},
+
+	hasMenu : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	loadScript : function(url) {
+		var i;
+
+		for (i=0; i<this.loadedFiles.length; i++) {
+			if (this.loadedFiles[i] == url)
+				return;
+		}
+
+		if (tinyMCE.settings.strict_loading_mode)
+			this.pendingFiles[this.pendingFiles.length] = url;
+		else
+			document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
+
+		this.loadedFiles[this.loadedFiles.length] = url;
+	},
+
+	loadNextScript : function() {
+		var d = document, se;
+
+		if (!tinyMCE.settings.strict_loading_mode)
+			return;
+
+		if (this.loadingIndex < this.pendingFiles.length) {
+			se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script');
+			se.setAttribute('language', 'javascript');
+			se.setAttribute('type', 'text/javascript');
+			se.setAttribute('src', this.pendingFiles[this.loadingIndex++]);
+
+			d.getElementsByTagName("head")[0].appendChild(se);
+		} else
+			this.loadingIndex = -1; // Done with loading
+	},
+
+	loadCSS : function(url) {
+		var ar = url.replace(/\s+/, '').split(',');
+		var lflen = 0, csslen = 0;
+		var skip = false;
+		var x = 0, i = 0, nl, le;
+
+		for (x = 0,csslen = ar.length; x<csslen; x++) {
+			if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {
+				/* Make sure it doesn't exist. */
+				for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {
+					if (this.loadedFiles[i] == ar[x]) {
+						skip = true;
+						break;
+					}
+				}
+
+				if (!skip) {
+					if (tinyMCE.settings.strict_loading_mode) {
+						nl = document.getElementsByTagName("head");
+
+						le = document.createElement('link');
+						le.setAttribute('href', ar[x]);
+						le.setAttribute('rel', 'stylesheet');
+						le.setAttribute('type', 'text/css');
+
+						nl[0].appendChild(le);			
+					} else
+						document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');
+
+					this.loadedFiles[this.loadedFiles.length] = ar[x];
+				}
+			}
+		}
+	},
+
+	importCSS : function(doc, css) {
+		var css_ary = css.replace(/\s+/, '').split(',');
+		var csslen, elm, headArr, x, css_file;
+
+		for (x = 0, csslen = css_ary.length; x<csslen; x++) {
+			css_file = css_ary[x];
+
+			if (css_file != null && css_file != 'null' && css_file.length > 0) {
+				// Is relative, make absolute
+				if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/')
+					css_file = this.documentBasePath + "/" + css_file;
+
+				if (typeof(doc.createStyleSheet) == "undefined") {
+					elm = doc.createElement("link");
+
+					elm.rel = "stylesheet";
+					elm.href = css_file;
+
+					if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0)
+						headArr[0].appendChild(elm);
+				} else
+					doc.createStyleSheet(css_file);
+			}
+		}
+	},
+
+	confirmAdd : function(e, settings) {
+		var elm = tinyMCE.isIE ? event.srcElement : e.target;
+		var elementId = elm.name ? elm.name : elm.id;
+
+		tinyMCE.settings = settings;
+
+		if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])))
+			tinyMCE.addMCEControl(elm, elementId);
+
+		elm.setAttribute('mce_noask', 'true');
+	},
+
+	updateContent : function(form_element_name) {
+		// Find MCE instance linked to given form element and copy it's value
+		var formElement = document.getElementById(form_element_name);
+		for (var n in tinyMCE.instances) {
+			var inst = tinyMCE.instances[n];
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			if (inst.formElement == formElement) {
+				var doc = inst.getDoc();
+		
+				tinyMCE._setHTML(doc, inst.formElement.value);
+
+				if (!tinyMCE.isIE)
+					doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
+			}
+		}
+	},
+
+	addMCEControl : function(replace_element, form_element_name, target_document) {
+		var id = "mce_editor_" + tinyMCE.idCounter++;
+		var inst = new TinyMCE_Control(tinyMCE.settings);
+
+		inst.editorId = id;
+		this.instances[id] = inst;
+
+		inst._onAdd(replace_element, form_element_name, target_document);
+	},
+
+	removeInstance : function(ti) {
+		var t = [], n, i;
+
+		// Remove from instances
+		for (n in tinyMCE.instances) {
+			i = tinyMCE.instances[n];
+
+			if (tinyMCE.isInstance(i) && ti != i)
+					t[n] = i;
+		}
+
+		tinyMCE.instances = t;
+
+		// Remove from global undo/redo
+		n = [];
+		t = tinyMCE.undoLevels;
+
+		for (i=0; i<t.length; i++) {
+			if (t[i] != ti)
+				n.push(t[i]);
+		}
+
+		tinyMCE.undoLevels = n;
+		tinyMCE.undoIndex = n.length;
+
+		// Dispatch remove instance call
+		tinyMCE.dispatchCallback(ti, 'remove_instance_callback', 'removeInstance', ti);
+
+		return ti;
+	},
+
+	removeMCEControl : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), h, re, ot, tn;
+
+		if (inst) {
+			inst.switchSettings();
+
+			editor_id = inst.editorId;
+			h = tinyMCE.getContent(editor_id);
+
+			this.removeInstance(inst);
+
+			tinyMCE.selectedElement = null;
+			tinyMCE.selectedInstance = null;
+
+			// Remove element
+			re = document.getElementById(editor_id + "_parent");
+			ot = inst.oldTargetElement;
+			tn = ot.nodeName.toLowerCase();
+
+			if (tn == "textarea" || tn == "input") {
+				re.parentNode.removeChild(re);
+				ot.style.display = "inline";
+				ot.value = h;
+			} else {
+				ot.innerHTML = h;
+				ot.style.display = 'block';
+				re.parentNode.insertBefore(ot, re);
+				re.parentNode.removeChild(re);
+			}
+		}
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var inst, n;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		// Cleanup and set all form fields
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.triggerSave(skip_cleanup, skip_callback);
+		}
+	},
+
+	resetForm : function(form_index) {
+		var i, inst, n, formObj = document.forms[form_index];
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			for (i=0; i<formObj.elements.length; i++) {
+				if (inst.formTargetElementId == formObj.elements[i].name)
+					inst.getBody().innerHTML = inst.startContent;
+			}
+		}
+	},
+
+	execInstanceCommand : function(editor_id, command, user_interface, value, focus) {
+		var inst = tinyMCE.getInstanceById(editor_id), r;
+
+		if (inst) {
+			r = inst.selection.getRng();
+
+			if (typeof(focus) == "undefined")
+				focus = true;
+
+			// IE bug lost focus on images in absolute divs Bug #1534575
+			if (focus && (!r || !r.item))
+				inst.contentWindow.focus();
+
+			// Reset design mode if lost
+			inst.autoResetDesignMode();
+
+			this.selectedElement = inst.getFocusElement();
+			inst.select();
+			tinyMCE.execCommand(command, user_interface, value);
+
+			// Cancel event so it doesn't call onbeforeonunlaod
+			if (tinyMCE.isIE && window.event != null)
+				tinyMCE.cancelEvent(window.event);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Default input
+		user_interface = user_interface ? user_interface : false;
+		value = value ? value : null;
+
+		if (inst)
+			inst.switchSettings();
+
+		switch (command) {
+			case "Undo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex > 0) {
+						tinyMCE.nextUndoRedoAction = 'Undo';
+						inst = this.undoLevels[--this.undoIndex];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Undo');
+					}
+				} else
+					inst.execCommand('Undo');
+				return true;
+
+			case "Redo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex <= this.undoLevels.length - 1) {
+						tinyMCE.nextUndoRedoAction = 'Redo';
+						inst = this.undoLevels[this.undoIndex++];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Redo');
+					}
+				} else
+					inst.execCommand('Redo');
+
+				return true;
+
+			case 'mceFocus':
+				var inst = tinyMCE.getInstanceById(value);
+				if (inst)
+					inst.getWin().focus();
+			return;
+
+			case "mceAddControl":
+			case "mceAddEditor":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+				return;
+
+			case "mceAddFrameControl":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']);
+				return;
+
+			case "mceRemoveControl":
+			case "mceRemoveEditor":
+				tinyMCE.removeMCEControl(value);
+				return;
+
+			case "mceToggleEditor":
+				var inst = tinyMCE.getInstanceById(value), pe, te;
+
+				if (inst) {
+					pe = document.getElementById(inst.editorId + '_parent');
+					te = inst.oldTargetElement;
+
+					if (typeof(inst.enabled) == 'undefined')
+						inst.enabled = true;
+
+					inst.enabled = !inst.enabled;
+
+					if (!inst.enabled) {
+						pe.style.display = 'none';
+						te.value = inst.getHTML();
+						te.style.display = inst.oldTargetDisplay;
+						tinyMCE.dispatchCallback(inst, 'hide_instance_callback', 'hideInstance', inst);
+					} else {
+						pe.style.display = 'block';
+						te.style.display = 'none';
+						inst.setHTML(te.value);
+						inst.useCSS = false;
+						tinyMCE.dispatchCallback(inst, 'show_instance_callback', 'showInstance', inst);
+					}
+				} else
+					tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+
+				return;
+
+			case "mceResetDesignMode":
+				// Resets the designmode state of the editors in Gecko
+				if (!tinyMCE.isIE) {
+					for (var n in tinyMCE.instances) {
+						if (!tinyMCE.isInstance(tinyMCE.instances[n]))
+							continue;
+
+						try {
+							tinyMCE.instances[n].getDoc().designMode = "on";
+						} catch (e) {
+							// Ignore any errors
+						}
+					}
+				}
+
+				return;
+		}
+
+		if (inst) {
+			inst.execCommand(command, user_interface, value);
+		} else if (tinyMCE.settings['focus_alert'])
+			alert(tinyMCELang['lang_focus_alert']);
+	},
+
+	_createIFrame : function(replace_element, doc, win) {
+		var iframe, id = replace_element.getAttribute("id");
+		var aw, ah;
+
+		if (typeof(doc) == "undefined")
+			doc = document;
+
+		if (typeof(win) == "undefined")
+			win = window;
+
+		iframe = doc.createElement("iframe");
+
+		aw = "" + tinyMCE.settings['area_width'];
+		ah = "" + tinyMCE.settings['area_height'];
+
+		if (aw.indexOf('%') == -1) {
+			aw = parseInt(aw);
+			aw = (isNaN(aw) || aw < 0) ? 300 : aw;
+			aw = aw + "px";
+		}
+
+		if (ah.indexOf('%') == -1) {
+			ah = parseInt(ah);
+			ah = (isNaN(ah) || ah < 0) ? 240 : ah;
+			ah = ah + "px";
+		}
+
+		iframe.setAttribute("id", id);
+		iframe.setAttribute("name", id);
+		iframe.setAttribute("class", "mceEditorIframe");
+		iframe.setAttribute("border", "0");
+		iframe.setAttribute("frameBorder", "0");
+		iframe.setAttribute("marginWidth", "0");
+		iframe.setAttribute("marginHeight", "0");
+		iframe.setAttribute("leftMargin", "0");
+		iframe.setAttribute("topMargin", "0");
+		iframe.setAttribute("width", aw);
+		iframe.setAttribute("height", ah);
+		iframe.setAttribute("allowtransparency", "true");
+		iframe.className = 'mceEditorIframe';
+
+		if (tinyMCE.settings["auto_resize"])
+			iframe.setAttribute("scrolling", "no");
+
+		// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
+		if (tinyMCE.isRealIE)
+			iframe.setAttribute("src", this.settings['default_document']);
+
+		iframe.style.width = aw;
+		iframe.style.height = ah;
+
+		// Ugly hack for Gecko problem in strict mode
+		if (tinyMCE.settings.strict_loading_mode)
+			iframe.style.marginBottom = '-5px';
+
+		// MSIE 5.0 issue
+		if (tinyMCE.isRealIE)
+			replace_element.outerHTML = iframe.outerHTML;
+		else
+			replace_element.parentNode.replaceChild(iframe, replace_element);
+
+		if (tinyMCE.isRealIE)
+			return win.frames[id];
+		else
+			return iframe;
+	},
+
+	setupContent : function(editor_id) {
+		var inst = tinyMCE.instances[editor_id], i;
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName('head').item(0);
+		var content = inst.startContent;
+
+		// HTML values get XML encoded in strict mode
+		if (tinyMCE.settings.strict_loading_mode) {
+			content = content.replace(/&lt;/g, '<');
+			content = content.replace(/&gt;/g, '>');
+			content = content.replace(/&quot;/g, '"');
+			content = content.replace(/&amp;/g, '&');
+		}
+
+		tinyMCE.selectedInstance = inst;
+		inst.switchSettings();
+
+		// Not loaded correctly hit it again, Mozilla bug #997860
+		if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") {
+			// This part will remove the designMode status
+			// Failes first time in Firefox 1.5b2 on Mac
+			try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {}
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
+			return;
+		}
+
+		if (!head) {
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
+			return;
+		}
+
+		// Import theme specific content CSS the user specific
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
+		tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
+		tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst);
+
+		// Setup keyboard shortcuts
+		if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
+			inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
+			inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
+		}
+
+		// BlockFormat shortcuts keys
+		for (i=1; i<=6; i++)
+			inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, '<h' + i + '>');
+
+		inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '<p>');
+		inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '<div>');
+		inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '<address>');
+
+		// Add default shortcuts for gecko
+		if (tinyMCE.isGecko) {
+			inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
+			inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
+			inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
+		}
+
+		// Setup span styles
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			inst.getBody().setAttribute('id', 'mceSpanFonts');
+
+		if (tinyMCE.settings['nowrap'])
+			doc.body.style.whiteSpace = "nowrap";
+
+		doc.body.dir = this.settings['directionality'];
+		doc.editorId = editor_id;
+
+		// Add on document element in Mozilla
+		if (!tinyMCE.isIE)
+			doc.documentElement.editorId = editor_id;
+
+		inst.setBaseHREF(tinyMCE.settings['base_href']);
+
+		// Replace new line characters to BRs
+		if (tinyMCE.settings['convert_newlines_to_brs']) {
+			content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
+		}
+
+		// Open closed anchors
+	//	content = content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		// Call custom cleanup code
+		content = tinyMCE.storeAwayURLs(content);
+		content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
+
+		if (tinyMCE.isIE) {
+			// Ugly!!!
+			window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);
+
+			if (tinyMCE.settings["force_br_newlines"])
+				doc.styleSheets[0].addRule("p", "margin: 0;");
+
+			var body = inst.getBody();
+			body.editorId = editor_id;
+		}
+
+		content = tinyMCE.cleanupHTMLCode(content);
+
+		// Fix for bug #958637
+		if (!tinyMCE.isIE) {
+			var contentElement = inst.getDoc().createElement("body");
+			var doc = inst.getDoc();
+
+			contentElement.innerHTML = content;
+
+			// Remove weridness!
+			if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt'])
+				content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
+
+			if (tinyMCE.settings['cleanup_on_startup'])
+				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement));
+			else
+				tinyMCE.setInnerHTML(inst.getBody(), content);
+
+			tinyMCE.convertAllRelativeURLs(inst.getBody());
+		} else {
+			if (tinyMCE.settings['cleanup_on_startup']) {
+				tinyMCE._setHTML(inst.getDoc(), content);
+
+				// Produces permission denied error in MSIE 5.5
+				eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');
+			} else
+				tinyMCE._setHTML(inst.getDoc(), content);
+		}
+
+		// Fix for bug #957681
+		//inst.getDoc().designMode = inst.getDoc().designMode;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
+		tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc());
+
+		// Re-add design mode on mozilla
+		if (!tinyMCE.isIE)
+			tinyMCE.addEventHandlers(inst);
+
+		// Add blur handler
+		if (tinyMCE.isIE) {
+			tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch);
+			tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953
+
+			// Workaround for drag drop/copy paste base href bug
+			if (!tinyMCE.isOpera) {
+				tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove);
+				tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch);
+				tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch);
+			}
+		}
+
+		// Trigger node change, this call locks buttons for tables and so forth
+		inst.select();
+		tinyMCE.selectedElement = inst.contentWindow.document.body;
+
+		// Call custom DOM cleanup
+		tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
+		tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
+		tinyMCE._setEventsEnabled(inst.getBody(), false);
+		tinyMCE.cleanupAnchors(inst.getDoc());
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+		inst.undoRedo.add({ content : inst.startContent });
+
+		// Cleanup any mess left from storyAwayURLs
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(inst.getBody(), function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+
+		// Remove Gecko spellchecking
+		if (tinyMCE.isGecko)
+			inst.getBody().spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+		// Cleanup any mess left from storyAwayURLs
+		tinyMCE._removeInternal(inst.getBody());
+
+		inst.select();
+		tinyMCE.triggerNodeChange(false, true);
+	},
+
+	storeAwayURLs : function(s) {
+		// Remove all mce_src, mce_href and replace them with new ones
+		// s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+		// s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+
+		if (!s.match(/(mce_src|mce_href)/gi, s)) {
+			s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"');
+			s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"');
+		}
+
+		return s;
+	},
+
+	_removeInternal : function(n) {
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(n, function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+	},
+
+	removeTinyMCEFormElements : function(form_obj) {
+		var i, elementId;
+
+		// Skip form element removal
+		if (!tinyMCE.getParam('hide_selects_on_submit'))
+			return;
+
+		// Check if form is valid
+		if (typeof(form_obj) == "undefined" || form_obj == null)
+			return;
+
+		// If not a form, find the form
+		if (form_obj.nodeName != "FORM") {
+			if (form_obj.form)
+				form_obj = form_obj.form;
+			else
+				form_obj = tinyMCE.getParentElement(form_obj, "form");
+		}
+
+		// Still nothing
+		if (form_obj == null)
+			return;
+
+		// Disable all UI form elements that TinyMCE created
+		for (i=0; i<form_obj.elements.length; i++) {
+			elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+			if (elementId.indexOf('mce_editor_') == 0)
+				form_obj.elements[i].disabled = true;
+		}
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Remove odd, error
+		if (typeof(tinyMCE) == "undefined")
+			return true;
+
+		//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
+
+		if (tinyMCE.executeCallback(tinyMCE.selectedInstance, 'handle_event_callback', 'handleEvent', e))
+			return false;
+
+		switch (e.type) {
+			case "beforedeactivate": // Was added due to bug #1439953
+			case "blur":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.execCommand('mceEndTyping');
+
+				tinyMCE.hideMenus();
+
+				return;
+
+			// Workaround for drag drop/copy paste base href bug
+			case "drop":
+			case "beforepaste":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.setBaseHREF(null);
+
+				// Fixes odd MSIE bug where drag/droping elements in a iframe with height 100% breaks
+				// This logic forces the width/height to be in pixels while the user is drag/dropping
+				if (tinyMCE.isRealIE) {
+					var ife = tinyMCE.selectedInstance.iframeElement;
+
+					/*if (ife.style.width.indexOf('%') != -1) {
+						ife._oldWidth = ife.width.height;
+						ife.style.width = ife.clientWidth;
+					}*/
+
+					if (ife.style.height.indexOf('%') != -1) {
+						ife._oldHeight = ife.style.height;
+						ife.style.height = ife.clientHeight;
+					}
+				}
+
+				window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();", 1);
+				return;
+
+			case "submit":
+				tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+				tinyMCE.triggerSave();
+				tinyMCE.isNotDirty = true;
+				return;
+
+			case "reset":
+				var formObj = tinyMCE.isIE ? window.event.srcElement : e.target;
+
+				for (var i=0; i<document.forms.length; i++) {
+					if (document.forms[i] == formObj)
+						window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
+				}
+
+				return;
+
+			case "keypress":
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId) {
+					tinyMCE.instances[e.target.editorId].select();
+				} else {
+					if (e.target.ownerDocument.editorId)
+						tinyMCE.instances[e.target.ownerDocument.editorId].select();
+				}
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				// Insert P element
+				if ((tinyMCE.isGecko || tinyMCE.isOpera || tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Handle backspace
+				if ((tinyMCE.isGecko && !tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Return key pressed
+				if (tinyMCE.isIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
+					if (e.target.editorId)
+						tinyMCE.instances[e.target.editorId].select();
+
+					if (tinyMCE.selectedInstance) {
+						var sel = tinyMCE.selectedInstance.getDoc().selection;
+						var rng = sel.createRange();
+
+						if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
+							return false;
+
+						// Cancel event
+						e.returnValue = false;
+						e.cancelBubble = true;
+
+						// Insert BR element
+						rng.pasteHTML("<br />");
+						rng.collapse(false);
+						rng.select();
+
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.triggerNodeChange(false);
+						return false;
+					}
+				}
+
+				// Backspace or delete
+				if (e.keyCode == 8 || e.keyCode == 46) {
+					tinyMCE.selectedElement = e.target;
+					tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
+					tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
+					tinyMCE.triggerNodeChange(false);
+				}
+
+				return false;
+			break;
+
+			case "keyup":
+			case "keydown":
+				tinyMCE.hideMenus();
+				tinyMCE.hasMouseMoved = false;
+
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				var inst = tinyMCE.selectedInstance;
+
+				// Handle backspace
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						e.preventDefault();
+						return false;
+					}
+				}
+
+				tinyMCE.selectedElement = null;
+				tinyMCE.selectedNode = null;
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
+				tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
+				tinyMCE.selectedElement = elm;
+
+				// Update visualaids on tabs
+				if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
+					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+
+				// Fix empty elements on return/enter, check where enter occured
+				if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13)
+					tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+				// Fix empty elements on return/enter
+				if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13) {
+					var elm = tinyMCE.enterKeyElement;
+					if (elm) {
+						var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
+						var dre = new RegExp('^H[1-6]$','g'); // Add double on these
+
+						if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
+							if (dre.test(elm.nodeName))
+								elm.innerHTML = "&nbsp;&nbsp;";
+							else
+								elm.innerHTML = "&nbsp;";
+						}
+					}
+				}
+
+				// Check if it's a position key
+				var keys = tinyMCE.posKeyCodes;
+				var posKey = false;
+				for (var i=0; i<keys.length; i++) {
+					if (keys[i] == e.keyCode) {
+						posKey = true;
+						break;
+					}
+				}
+
+				// MSIE custom key handling
+				if (tinyMCE.isIE && tinyMCE.settings['custom_undo_redo']) {
+					var keys = new Array(8,46); // Backspace,Delete
+
+					for (var i=0; i<keys.length; i++) {
+						if (keys[i] == e.keyCode) {
+							if (e.type == "keyup")
+								tinyMCE.triggerNodeChange(false);
+						}
+					}
+				}
+
+				// If Ctrl key
+				if (e.keyCode == 17)
+					return true;
+
+				// Handle Undo/Redo when typing content
+
+				if (tinyMCE.isGecko) {
+					// Start typing (not a position key or ctrl key, but ctrl+x and ctrl+p is ok)
+					if (!posKey && e.type == "keyup" && !e.ctrlKey || (e.ctrlKey && (e.keyCode == 86 || e.keyCode == 88)))
+						tinyMCE.execCommand("mceStartTyping");
+				} else {
+					// IE seems to be working better with this setting
+					if (!posKey && e.type == "keyup")
+						tinyMCE.execCommand("mceStartTyping");
+				}
+
+				// Store undo bookmark
+				if (e.type == "keydown" && (posKey || e.ctrlKey) && inst)
+					inst.undoBookmark = inst.selection.getBookmark();
+
+				// End typing (position key) or some Ctrl event
+				if (e.type == "keyup" && (posKey || e.ctrlKey))
+					tinyMCE.execCommand("mceEndTyping");
+
+				if (posKey && e.type == "keyup")
+					tinyMCE.triggerNodeChange(false);
+
+				if (tinyMCE.isIE && e.ctrlKey)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+			break;
+
+			case "mousedown":
+			case "mouseup":
+			case "click":
+			case "dblclick":
+			case "focus":
+				tinyMCE.hideMenus();
+
+				if (tinyMCE.selectedInstance) {
+					tinyMCE.selectedInstance.switchSettings();
+					tinyMCE.selectedInstance.isFocused = true;
+				}
+
+				// Check instance event trigged on
+				var targetBody = tinyMCE.getParentElement(e.target, "html");
+				for (var instanceName in tinyMCE.instances) {
+					if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
+						continue;
+
+					var inst = tinyMCE.instances[instanceName];
+
+					// Reset design mode if lost (on everything just in case)
+					inst.autoResetDesignMode();
+
+					// Use HTML element since users might click outside of body element
+					if (inst.getBody().parentNode == targetBody) {
+						inst.select();
+						tinyMCE.selectedElement = e.target;
+						tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+						tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
+						break;
+					}
+				}
+
+				// Add first bookmark location
+				if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark && (e.type == "mouseup" || e.type == "dblclick"))
+					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
+
+				// Reset selected node
+				if (e.type != "focus")
+					tinyMCE.selectedNode = null;
+
+				tinyMCE.triggerNodeChange(false);
+				tinyMCE.execCommand("mceEndTyping");
+
+				if (e.type == "mouseup")
+					tinyMCE.execCommand("mceAddUndoLevel");
+
+				// Just in case
+				if (!tinyMCE.selectedInstance && e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				return false;
+			break;
+		}
+	},
+
+	getButtonHTML : function(id, lang, img, cmd, ui, val) {
+		var h = '', m, x, io = '';
+
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Patch for IE7 bug with hover out not restoring correctly
+		if (tinyMCE.isRealIE)
+			io = 'onmouseover="tinyMCE.lastHover = this;"';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = this.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			// Tiled button
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceTiledButton mceButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
+			h += '</a>';
+		} else {
+			// Normal button
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" />';
+			h += '</a>';
+		}
+
+		return h;
+	},
+
+	getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) {
+		var h = '', m, x;
+
+		mcmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + '\');';
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: ' + x + 'px 0" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		} else {
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		}
+
+		return h;
+	},
+
+	_menuButtonEvent : function(e, o) {
+		if (o.className == 'mceMenuButtonFocus')
+			return;
+
+		if (e == 'over')
+			o.className = o.className + ' mceMenuHover';
+		else
+			o.className = o.className.replace(/\s.*$/, '');
+	},
+
+	addButtonMap : function(m) {
+		var i, a = m.replace(/\s+/, '').split(',');
+
+		for (i=0; i<a.length; i++)
+			this.buttonMap[a[i]] = i;
+	},
+
+	submitPatch : function() {
+		tinyMCE.removeTinyMCEFormElements(this);
+		tinyMCE.triggerSave();
+		tinyMCE.isNotDirty = true;
+		this.mceOldSubmit();
+	},
+
+	onLoad : function() {
+		var r;
+
+		// Wait for everything to be loaded first
+		if (tinyMCE.settings.strict_loading_mode && this.loadingIndex != -1) {
+			window.setTimeout('tinyMCE.onLoad();', 1);
+			return;
+		}
+
+		if (tinyMCE.isRealIE && window.event.type == "readystatechange" && document.readyState != "complete")
+			return true;
+
+		if (tinyMCE.isLoaded)
+			return true;
+
+		tinyMCE.isLoaded = true;
+
+		// IE produces JS error if TinyMCE is placed in a frame
+		// It seems to have something to do with the selection not beeing
+		// correctly initialized in IE so this hack solves the problem
+		if (tinyMCE.isRealIE && document.body) {
+			r = document.body.createTextRange();
+			r.collapse(true);
+			r.select();
+		}
+
+		tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');
+
+		for (var c=0; c<tinyMCE.configs.length; c++) {
+			tinyMCE.settings = tinyMCE.configs[c];
+
+			var selector = tinyMCE.getParam("editor_selector");
+			var deselector = tinyMCE.getParam("editor_deselector");
+			var elementRefAr = new Array();
+
+			// Add submit triggers
+			if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
+				for (var i=0; i<document.forms.length; i++) {
+					var form = document.forms[i];
+
+					tinyMCE.addEvent(form, "submit", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.addEvent(form, "reset", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.submitTriggers = true; // Do it only once
+
+					// Patch the form.submit function
+					if (tinyMCE.settings['submit_patch']) {
+						try {
+							form.mceOldSubmit = form.submit;
+							form.submit = TinyMCE_Engine.prototype.submitPatch;
+						} catch (e) {
+							// Do nothing
+						}
+					}
+				}
+			}
+
+			// Add editor instances based on mode
+			var mode = tinyMCE.settings['mode'];
+			switch (mode) {
+				case "exact":
+					var elements = tinyMCE.getParam('elements', '', true, ',');
+
+					for (var i=0; i<elements.length; i++) {
+						var element = tinyMCE._getElementById(elements[i]);
+						var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(element, "class")))
+							continue;
+
+						if (trigger == "false")
+							continue;
+
+						if ((tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) && element) {
+							elementRefAr[elementRefAr.length] = element;
+							continue;
+						}
+
+						if (element)
+							tinyMCE.addMCEControl(element, elements[i]);
+						else if (tinyMCE.settings['debug'])
+							alert("Error: Could not find element by id or name: " + elements[i]);
+					}
+				break;
+
+				case "specific_textareas":
+				case "textareas":
+					var nodeList = document.getElementsByTagName("textarea");
+
+					for (var i=0; i<nodeList.length; i++) {
+						var elm = nodeList.item(i);
+						var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
+
+						if (selector != '' && !new RegExp('\\b' + selector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if (selector != '')
+							trigger = selector != "" ? "true" : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
+							elementRefAr[elementRefAr.length] = elm;
+					}
+				break;
+			}
+
+			for (var i=0; i<elementRefAr.length; i++) {
+				var element = elementRefAr[i];
+				var elementId = element.name ? element.name : element.id;
+
+				if (tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) {
+					// Focus breaks in Mozilla
+					if (tinyMCE.isGecko) {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+
+						if (element.nodeName != "TEXTAREA" && element.nodeName != "INPUT")
+							tinyMCE.addEvent(element, "click", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+						// tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+					} else {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						tinyMCE.addEvent(element, "click", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						// tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+					}
+				} else
+					tinyMCE.addMCEControl(element, elementId);
+			}
+
+			// Handle auto focus
+			if (tinyMCE.settings['auto_focus']) {
+				window.setTimeout(function () {
+					var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
+					inst.selection.selectNode(inst.getBody(), true, true);
+					inst.contentWindow.focus();
+				}, 100);
+			}
+
+			tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
+		}
+	},
+
+	isInstance : function(o) {
+		return o != null && typeof(o) == "object" && o.isTinyMCE_Control;
+	},
+
+	getParam : function(name, default_value, strip_whitespace, split_chr) {
+		var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+		// Fix bool values
+		if (value == "true" || value == "false")
+			return (value == "true");
+
+		if (strip_whitespace)
+			value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
+
+		if (typeof(split_chr) != "undefined" && split_chr != null) {
+			value = value.split(split_chr);
+			var outArray = new Array();
+
+			for (var i=0; i<value.length; i++) {
+				if (value[i] && value[i] != "")
+					outArray[outArray.length] = value[i];
+			}
+
+			value = outArray;
+		}
+
+		return value;
+	},
+
+	getLang : function(name, default_value, parse_entities, va) {
+		var v = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name], n;
+
+		if (parse_entities)
+			v = tinyMCE.entityDecode(v);
+
+		if (va) {
+			for (n in va)
+				v = this.replaceVar(v, n, va[n]);
+		}
+
+		return v;
+	},
+
+	entityDecode : function(s) {
+		var e = document.createElement("div");
+
+		e.innerHTML = s;
+
+		return e.firstChild.nodeValue;
+	},
+
+	addToLang : function(prefix, ar) {
+		for (var key in ar) {
+			if (typeof(ar[key]) == 'function')
+				continue;
+
+			tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
+		}
+
+		this.loadNextScript();
+
+	//	for (var key in ar)
+	//		tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
+	},
+
+	triggerNodeChange : function(focus, setup_content) {
+		var elm, inst, editorId, undoIndex = -1, undoLevels = -1, doc, anySelection = false, st;
+
+		if (tinyMCE.selectedInstance) {
+			inst = tinyMCE.selectedInstance;
+			elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+
+/*			if (elm == inst.lastTriggerEl)
+				return;
+
+			inst.lastTriggerEl = elm;*/
+
+			editorId = inst.editorId;
+			st = inst.selection.getSelectedText();
+
+			if (tinyMCE.settings.auto_resize)
+				inst.resizeToContent();
+
+			if (setup_content && tinyMCE.isGecko && inst.isHidden())
+				elm = inst.getBody();
+
+			inst.switchSettings();
+
+			if (tinyMCE.selectedElement)
+				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (st && st.length > 0);
+
+			if (tinyMCE.settings['custom_undo_redo']) {
+				undoIndex = inst.undoRedo.undoIndex;
+				undoLevels = inst.undoRedo.undoLevels.length;
+			}
+
+			tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
+		}
+
+		if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
+			this.selectedInstance.contentWindow.focus();
+	},
+
+	_customCleanup : function(inst, type, content) {
+		var pl, po, i;
+
+		// Call custom cleanup
+		var customCleanup = tinyMCE.settings['cleanup_callback'];
+		if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
+			content = eval(customCleanup + "(type, content, inst);");
+
+		// Trigger theme cleanup
+		po = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (po && po.cleanup)
+			content = po.cleanup(type, content, inst);
+
+		// Trigger plugin cleanups
+		pl = inst.plugins;
+		for (i=0; i<pl.length; i++) {
+			po = tinyMCE.plugins[pl[i]];
+
+			if (po && po.cleanup)
+				content = po.cleanup(type, content, inst);
+		}
+
+		return content;
+	},
+
+	setContent : function(h) {
+		if (tinyMCE.selectedInstance) {
+			tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
+			tinyMCE.selectedInstance.repaint();
+		}
+	},
+
+	importThemeLanguagePack : function(name) {
+		if (typeof(name) == "undefined")
+			name = tinyMCE.settings['theme'];
+
+		tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
+	},
+
+	importPluginLanguagePack : function(name) {
+		var b = tinyMCE.baseURL + '/plugins/' + name;
+
+		if (this.plugins[name])
+			b = this.plugins[name].baseURL;
+
+		tinyMCE.loadScript(b + '/langs/' + tinyMCE.settings['language'] +  '.js');
+	},
+
+	applyTemplate : function(h, as) {
+		return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}', 'gi'), function(m, s) {
+			if (s.indexOf('lang_') == 0 && tinyMCELang[s])
+				return tinyMCELang[s];
+
+			if (as && as[s])
+				return as[s];
+
+			if (tinyMCE.settings[s])
+				return tinyMCE.settings[s];
+
+			if (m == 'themeurl')
+				return tinyMCE.themeURL;
+
+			return m;
+		});
+	},
+
+	replaceVar : function(h, r, v) {
+		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
+	},
+
+	openWindow : function(template, args) {
+		var html, width, height, x, y, resizable, scrollbars, url;
+
+		args = !args ? {} : args;
+
+		args['mce_template_file'] = template['file'];
+		args['mce_width'] = template['width'];
+		args['mce_height'] = template['height'];
+		tinyMCE.windowArgs = args;
+
+		html = template['html'];
+		if (!(width = parseInt(template['width'])))
+			width = 320;
+
+		if (!(height = parseInt(template['height'])))
+			height = 200;
+
+		// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
+		if (tinyMCE.isIE)
+			height += 40;
+		else
+			height += 20;
+
+		x = parseInt(screen.width / 2.0) - (width / 2.0);
+		y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+		resizable = (args && args['resizable']) ? args['resizable'] : "no";
+		scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+		if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+			url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+		else
+			url = template['file'];
+
+		// Replace all args as variables in URL
+		for (var name in args) {
+			if (typeof(args[name]) == 'function')
+				continue;
+
+			url = tinyMCE.replaceVar(url, name, escape(args[name]));
+		}
+
+		if (html) {
+			html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
+			html = tinyMCE.applyTemplate(html, args);
+
+			var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
+			if (win == null) {
+				alert(tinyMCELang['lang_popup_blocked']);
+				return;
+			}
+
+			win.document.write(html);
+			win.document.close();
+			win.resizeTo(width, height);
+			win.focus();
+		} else {
+			if ((tinyMCE.isRealIE) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
+				height += 10;
+
+				var features = "resizable:" + resizable 
+					+ ";scroll:"
+					+ scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
+					+ width + "px;dialogHeight:" + height + "px;";
+
+				window.showModalDialog(url, window, features);
+			} else {
+				var modal = (resizable == "yes") ? "no" : "yes";
+
+				if (tinyMCE.isGecko && tinyMCE.isMac)
+					modal = "no";
+
+				if (template['close_previous'] != "no")
+					try {tinyMCE.lastWindow.close();} catch (ex) {}
+
+				var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
+				if (win == null) {
+					alert(tinyMCELang['lang_popup_blocked']);
+					return;
+				}
+
+				if (template['close_previous'] != "no")
+					tinyMCE.lastWindow = win;
+
+				eval('try { win.resizeTo(width, height); } catch(e) { }');
+
+				// Make it bigger if statusbar is forced
+				if (tinyMCE.isGecko) {
+					if (win.document.defaultView.statusbar.visible)
+						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+				}
+
+				win.focus();
+			}
+		}
+	},
+
+	closeWindow : function(win) {
+		win.close();
+	},
+
+	getVisualAidClass : function(class_name, state) {
+		var aidClass = tinyMCE.settings['visual_table_class'];
+
+		if (typeof(state) == "undefined")
+			state = tinyMCE.settings['visual'];
+
+		// Split
+		var classNames = new Array();
+		var ar = class_name.split(' ');
+		for (var i=0; i<ar.length; i++) {
+			if (ar[i] == aidClass)
+				ar[i] = "";
+
+			if (ar[i] != "")
+				classNames[classNames.length] = ar[i];
+		}
+
+		if (state)
+			classNames[classNames.length] = aidClass;
+
+		// Glue
+		var className = "";
+		for (var i=0; i<classNames.length; i++) {
+			if (i > 0)
+				className += " ";
+
+			className += classNames[i];
+		}
+
+		return className;
+	},
+
+	handleVisualAid : function(el, deep, state, inst, skip_dispatch) {
+		if (!el)
+			return;
+
+		if (!skip_dispatch)
+			tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst);
+
+		var tableElement = null;
+
+		switch (el.nodeName) {
+			case "TABLE":
+				var oldW = el.style.width;
+				var oldH = el.style.height;
+				var bo = tinyMCE.getAttrib(el, "border");
+
+				bo = bo == "" || bo == "0" ? true : false;
+
+				tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));
+
+				el.style.width = oldW;
+				el.style.height = oldH;
+
+				for (var y=0; y<el.rows.length; y++) {
+					for (var x=0; x<el.rows[y].cells.length; x++) {
+						var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], "class"), state && bo);
+						tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
+					}
+				}
+
+				break;
+
+			case "A":
+				var anchorName = tinyMCE.getAttrib(el, "name");
+
+				if (anchorName != '' && state) {
+					el.title = anchorName;
+					tinyMCE.addCSSClass(el, 'mceItemAnchor');
+				} else if (anchorName != '' && !state)
+					el.className = '';
+
+				break;
+		}
+
+		if (deep && el.hasChildNodes()) {
+			for (var i=0; i<el.childNodes.length; i++)
+				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
+		}
+	},
+
+	/*
+	applyClassesToFonts : function(doc, size) {
+		var f = doc.getElementsByTagName("font");
+		for (var i=0; i<f.length; i++) {
+			var s = tinyMCE.getAttrib(f[i], "size");
+
+			if (s != "")
+				tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
+		}
+
+		if (typeof(size) != "undefined") {
+			var css = "";
+
+			for (var x=0; x<doc.styleSheets.length; x++) {
+				for (var i=0; i<doc.styleSheets[x].rules.length; i++) {
+					if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
+						css = doc.styleSheets[x].rules[i].style.cssText;
+						break;
+					}
+				}
+
+				if (css != "")
+					break;
+			}
+
+			if (doc.styleSheets[0].rules[0].selectorText == "FONT")
+				doc.styleSheets[0].removeRule(0);
+
+			doc.styleSheets[0].addRule("FONT", css, 0);
+		}
+	},
+	*/
+
+	fixGeckoBaseHREFBug : function(m, e, h) {
+		var xsrc, xhref;
+
+		if (tinyMCE.isGecko) {
+			if (m == 1) {
+				h = h.replace(/\ssrc=/gi, " mce_tsrc=");
+				h = h.replace(/\shref=/gi, " mce_thref=");
+
+				return h;
+			} else {
+				// Why bother if there is no src or href broken
+				if (!new RegExp('(src|href)=', 'g').test(h))
+					return h;
+
+				// Restore src and href that gets messed up by Gecko
+				tinyMCE.selectElements(e, 'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK', function (n) {
+					xsrc = tinyMCE.getAttrib(n, "mce_tsrc");
+					xhref = tinyMCE.getAttrib(n, "mce_thref");
+
+					if (xsrc != "") {
+						try {
+							n.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xsrc);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_tsrc");
+					}
+
+					if (xhref != "") {
+						try {
+							n.href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xhref);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_thref");
+					}
+
+					return false;
+				});
+
+				// Restore text/comment nodes
+				tinyMCE.selectNodes(e, function(n) {
+					if (n.nodeType == 3 || n.nodeType == 8) {
+						n.nodeValue = n.nodeValue.replace(/\smce_tsrc=/gi, " src=");
+						n.nodeValue = n.nodeValue.replace(/\smce_thref=/gi, " href=");
+					}
+
+					return false;
+				});
+			}
+		}
+
+		return h;
+	},
+
+	_setHTML : function(doc, html_content) {
+		// Force closed anchors open
+		//html_content = html_content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		html_content = tinyMCE.cleanupHTMLCode(html_content);
+
+		// Try innerHTML if it fails use pasteHTML in MSIE
+		try {
+			tinyMCE.setInnerHTML(doc.body, html_content);
+		} catch (e) {
+			if (this.isMSIE)
+				doc.body.createTextRange().pasteHTML(html_content);
+		}
+
+		// Content duplication bug fix
+		if (tinyMCE.isIE && tinyMCE.settings['fix_content_duplication']) {
+			// Remove P elements in P elements
+			var paras = doc.getElementsByTagName("P");
+			for (var i=0; i<paras.length; i++) {
+				var node = paras[i];
+				while ((node = node.parentNode) != null) {
+					if (node.nodeName == "P")
+						node.outerHTML = node.innerHTML;
+				}
+			}
+
+			// Content duplication bug fix (Seems to be word crap)
+			var html = doc.body.innerHTML;
+/*
+			if (html.indexOf('="mso') != -1) {
+				for (var i=0; i<doc.body.all.length; i++) {
+					var el = doc.body.all[i];
+					el.removeAttribute("className","",0);
+					el.removeAttribute("style","",0);
+				}
+
+				html = doc.body.innerHTML;
+				html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
+				html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
+				html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
+			}*/
+
+			// Always set the htmlText output
+			tinyMCE.setInnerHTML(doc.body, html);
+		}
+
+		tinyMCE.cleanupAnchors(doc);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(doc);
+	},
+
+	getEditorId : function(form_element) {
+		var inst = this.getInstanceById(form_element);
+		if (!inst)
+			return null;
+
+		return inst.editorId;
+	},
+
+	getInstanceById : function(editor_id) {
+		var inst = this.instances[editor_id];
+		if (!inst) {
+			for (var n in tinyMCE.instances) {
+				var instance = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				if (instance.formTargetElementId == editor_id) {
+					inst = instance;
+					break;
+				}
+			}
+		}
+
+		return inst;
+	},
+
+	queryInstanceCommandValue : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandValue(command);
+
+		return false;
+	},
+
+	queryInstanceCommandState : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandState(command);
+
+		return null;
+	},
+
+	setWindowArg : function(n, v) {
+		this.windowArgs[n] = v;
+	},
+
+	getWindowArg : function(n, d) {
+		return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n];
+	},
+
+	getCSSClasses : function(editor_id, doc) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Is cached, use that
+		if (inst && inst.cssClasses.length > 0)
+			return inst.cssClasses;
+
+		if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
+			var instance;
+
+			for (var instanceName in tinyMCE.instances) {
+				instance = tinyMCE.instances[instanceName];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				break;
+			}
+
+			doc = instance.getDoc();
+		}
+
+		if (typeof(doc) == "undefined") {
+			var instance = tinyMCE.getInstanceById(editor_id);
+			doc = instance.getDoc();
+		}
+
+		if (doc) {
+			var styles = doc.styleSheets;
+
+			if (styles && styles.length > 0) {
+				for (var x=0; x<styles.length; x++) {
+					var csses = null;
+
+					// Just ignore any errors
+					eval("try {var csses = tinyMCE.isIE ? doc.styleSheets(" + x + ").rules : styles[" + x + "].cssRules;} catch(e) {}");
+					if (!csses)
+						return new Array();
+
+					for (var i=0; i<csses.length; i++) {
+						var selectorText = csses[i].selectorText;
+
+						// Can be multiple rules per selector
+						if (selectorText) {
+							var rules = selectorText.split(',');
+							for (var c=0; c<rules.length; c++) {
+								var rule = rules[c];
+
+								// Strip spaces between selectors
+								while (rule.indexOf(' ') == 0)
+									rule = rule.substring(1);
+
+								// Invalid rule
+								if (rule.indexOf(' ') != -1 || rule.indexOf(':') != -1 || rule.indexOf('mceItem') != -1)
+									continue;
+
+								if (rule.indexOf(tinyMCE.settings['visual_table_class']) != -1 || rule.indexOf('mceEditable') != -1 || rule.indexOf('mceNonEditable') != -1)
+									continue;
+
+								// Is class rule
+								if (rule.indexOf('.') != -1) {
+									var cssClass = rule.substring(rule.indexOf('.') + 1);
+									var addClass = true;
+
+									for (var p=0; p<inst.cssClasses.length && addClass; p++) {
+										if (inst.cssClasses[p] == cssClass)
+											addClass = false;
+									}
+
+									if (addClass)
+										inst.cssClasses[inst.cssClasses.length] = cssClass;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		return inst.cssClasses;
+	},
+
+	regexpReplace : function(in_str, reg_exp, replace_str, opts) {
+		if (in_str == null)
+			return in_str;
+
+		if (typeof(opts) == "undefined")
+			opts = 'g';
+
+		var re = new RegExp(reg_exp, opts);
+		return in_str.replace(re, replace_str);
+	},
+
+	trim : function(s) {
+		return s.replace(/^\s*|\s*$/g, "");
+	},
+
+	cleanupEventStr : function(s) {
+		s = "" + s;
+		s = s.replace('function anonymous()\n{\n', '');
+		s = s.replace('\n}', '');
+		s = s.replace(/^return true;/gi, ''); // Remove event blocker
+
+		return s;
+	},
+
+	getControlHTML : function(c) {
+		var i, l, n, o, v, rtl = tinyMCE.getLang('lang_dir') == 'rtl';
+
+		l = tinyMCE.plugins;
+		for (n in l) {
+			o = l[n];
+
+			if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+				if (rtl)
+					return '<span dir="rtl">' + tinyMCE.replaceVar(v, "pluginurl", o.baseURL) + '</span>';
+
+				return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
+			}
+		}
+
+		o = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+			if (rtl)
+				return '<span dir="rtl">' + v + '</span>';
+
+			return v;
+		}
+
+		return '';
+	},
+
+	evalFunc : function(f, idx, a, o) {
+		o = !o ? window : o;
+		f = typeof(f) == 'function' ? f : o[f];
+
+		return f.apply(o, Array.prototype.slice.call(a, idx));
+	},
+
+	dispatchCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
+	},
+
+	executeCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
+	},
+
+	execCommandCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
+	},
+
+	callFunc : function(ins, p, n, m, a) {
+		var l, i, on, o, s, v;
+
+		s = m == 2;
+
+		l = tinyMCE.getParam(p, '');
+
+		if (l != '' && (v = tinyMCE.evalFunc(l, 3, a)) == s && m > 0)
+			return true;
+
+		if (ins != null) {
+			for (i=0, l = ins.plugins; i<l.length; i++) {
+				o = tinyMCE.plugins[l[i]];
+
+				if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+					return true;
+			}
+		}
+
+		l = tinyMCE.themes;
+		for (on in l) {
+			o = l[on];
+
+			if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+				return true;
+		}
+
+		return false;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		return s ? ('' + s).replace(!skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe, function (c, b) {
+			switch (c) {
+				case '&':
+					return '&amp;';
+
+				case '"':
+					return '&quot;';
+
+				case '\'':
+					return '&#39;'; // &apos; is not working in MSIE
+
+				case '<':
+					return '&lt;';
+
+				case '>':
+					return '&gt;';
+			}
+
+			return c;
+		}) : s;
+	},
+
+	extend : function(p, np) {
+		var o = {};
+
+		o.parent = p;
+
+		for (n in p)
+			o[n] = p[n];
+
+		for (n in np)
+			o[n] = np[n];
+
+		return o;
+	},
+
+	hideMenus : function() {
+		var e = tinyMCE.lastSelectedMenuBtn;
+
+		if (tinyMCE.lastMenu) {
+			tinyMCE.lastMenu.hide();
+			tinyMCE.lastMenu = null;
+		}
+
+		if (e) {
+			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
+			tinyMCE.lastSelectedMenuBtn = null;
+		}
+	}
+
+	};
+
+// Global instances
+var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors
+var tinyMCE = new TinyMCE_Engine();
+var tinyMCELang = {};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */
+
+function TinyMCE_Control(settings) {
+	var t, i, to, fu, p, x, fn, fu, pn, s = settings;
+
+	this.undoRedoLevel = true;
+	this.isTinyMCE_Control = true;
+
+	// Default settings
+	this.settings = s;
+	this.settings['theme'] = tinyMCE.getParam("theme", "default");
+	this.settings['width'] = tinyMCE.getParam("width", -1);
+	this.settings['height'] = tinyMCE.getParam("height", -1);
+	this.selection = new TinyMCE_Selection(this);
+	this.undoRedo = new TinyMCE_UndoRedo(this);
+	this.cleanup = new TinyMCE_Cleanup();
+	this.shortcuts = new Array();
+	this.hasMouseMoved = false;
+	this.foreColor = this.backColor = "#999999";
+	this.data = {};
+	this.cssClasses = [];
+
+	this.cleanup.init({
+		valid_elements : s.valid_elements,
+		extended_valid_elements : s.extended_valid_elements,
+		valid_child_elements : s.valid_child_elements,
+		entities : s.entities,
+		entity_encoding : s.entity_encoding,
+		debug : s.cleanup_debug,
+		indent : s.apply_source_formatting,
+		invalid_elements : s.invalid_elements,
+		verify_html : s.verify_html,
+		fix_content_duplication : s.fix_content_duplication,
+		convert_fonts_to_spans : s.convert_fonts_to_spans
+	});
+
+	// Wrap old theme
+	t = this.settings['theme'];
+	if (!tinyMCE.hasTheme(t)) {
+		fn = tinyMCE.callbacks;
+		to = {};
+
+		for (i=0; i<fn.length; i++) {
+			if ((fu = window['TinyMCE_' + t + "_" + fn[i]]))
+				to[fn[i]] = fu;
+		}
+
+		tinyMCE.addTheme(t, to);
+	}
+
+	// Wrap old plugins
+	this.plugins = new Array();
+	p = tinyMCE.getParam('plugins', '', true, ',');
+	if (p.length > 0) {
+		for (i=0; i<p.length; i++) {
+			pn = p[i];
+
+			if (pn.charAt(0) == '-')
+				pn = pn.substring(1);
+
+			if (!tinyMCE.hasPlugin(pn)) {
+				fn = tinyMCE.callbacks;
+				to = {};
+
+				for (x=0; x<fn.length; x++) {
+					if ((fu = window['TinyMCE_' + pn + "_" + fn[x]]))
+						to[fn[x]] = fu;
+				}
+
+				tinyMCE.addPlugin(pn, to);
+			}
+
+			this.plugins[this.plugins.length] = pn; 
+		}
+	}
+};
+
+TinyMCE_Control.prototype = {
+	selection : null,
+
+	settings : null,
+
+	cleanup : null,
+
+	getData : function(na) {
+		var o = this.data[na];
+
+		if (!o)
+			o = this.data[na] = {};
+
+		return o;
+	},
+
+	hasPlugin : function(n) {
+		var i;
+
+		for (i=0; i<this.plugins.length; i++) {
+			if (this.plugins[i] == n)
+				return true;
+		}
+
+		return false;
+	},
+
+	addPlugin : function(n, p) {
+		if (!this.hasPlugin(n)) {
+			tinyMCE.addPlugin(n, p);
+			this.plugins[this.plugins.length] = n;
+		}
+	},
+
+	repaint : function() {
+		var s, b, ex;
+
+		if (tinyMCE.isRealIE)
+			return;
+
+		try {
+			s = this.selection;
+			b = s.getBookmark(true);
+			this.getBody().style.display = 'none';
+			this.getDoc().execCommand('selectall', false, null);
+			this.getSel().collapseToStart();
+			this.getBody().style.display = 'block';
+			s.moveToBookmark(b);
+		} catch (ex) {
+			// Ignore
+		}
+	},
+
+	switchSettings : function() {
+		if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
+			tinyMCE.settings = this.settings;
+			tinyMCE.currentConfig = this.settings['index'];
+		}
+	},
+
+	select : function() {
+		var oldInst = tinyMCE.selectedInstance;
+
+		if (oldInst != this) {
+			if (oldInst)
+				oldInst.execCommand('mceEndTyping');
+
+			tinyMCE.dispatchCallback(this, 'select_instance_callback', 'selectInstance', this, oldInst);
+			tinyMCE.selectedInstance = this;
+		}
+	},
+
+	getBody : function() {
+		return this.contentBody ? this.contentBody : this.getDoc().body;
+	},
+
+	getDoc : function() {
+//		return this.contentDocument ? this.contentDocument : this.contentWindow.document; // Removed due to IE 5.5 ?
+		return this.contentWindow.document;
+	},
+
+	getWin : function() {
+		return this.contentWindow;
+	},
+
+	getContainerWin : function() {
+		return this.containerWindow ? this.containerWindow : window;
+	},
+
+	getViewPort : function() {
+		return tinyMCE.getViewPort(this.getWin());
+	},
+
+	getParentNode : function(n, f) {
+		return tinyMCE.getParentNode(n, f, this.getBody());
+	},
+
+	getParentElement : function(n, na, f) {
+		return tinyMCE.getParentElement(n, na, f, this.getBody());
+	},
+
+	getParentBlockElement : function(n) {
+		return tinyMCE.getParentBlockElement(n, this.getBody());
+	},
+
+	resizeToContent : function() {
+		var d = this.getDoc(), b = d.body, de = d.documentElement;
+
+		this.iframeElement.style.height = (tinyMCE.isRealIE) ? b.scrollHeight : de.offsetHeight + 'px';
+	},
+
+	addShortcut : function(m, k, d, cmd, ui, va) {
+		var n = typeof(k) == "number", ie = tinyMCE.isIE, c, sc, i, scl = this.shortcuts;
+
+		if (!tinyMCE.getParam('custom_shortcuts'))
+			return false;
+
+		m = m.toLowerCase();
+		k = ie && !n ? k.toUpperCase() : k;
+		c = n ? null : k.charCodeAt(0);
+		d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d;
+
+		sc = {
+			alt : m.indexOf('alt') != -1,
+			ctrl : m.indexOf('ctrl') != -1,
+			shift : m.indexOf('shift') != -1,
+			charCode : c,
+			keyCode : n ? k : (ie ? c : null),
+			desc : d,
+			cmd : cmd,
+			ui : ui,
+			val : va
+		};
+
+		for (i=0; i<scl.length; i++) {
+			if (sc.alt == scl[i].alt && sc.ctrl == scl[i].ctrl && sc.shift == scl[i].shift
+				&& sc.charCode == scl[i].charCode && sc.keyCode == scl[i].keyCode) {
+				return false;
+			}
+		}
+
+		scl[scl.length] = sc;
+
+		return true;
+	},
+
+	handleShortcut : function(e) {
+		var i, s, o;
+
+		// Normal key press, then ignore it
+		if (!e.altKey && !e.ctrlKey)
+			return false;
+
+		s = this.shortcuts;
+
+		for (i=0; i<s.length; i++) {
+			o = s[i];
+
+			if (o.alt == e.altKey && o.ctrl == e.ctrlKey && (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
+				if (o.cmd && (e.type == "keydown" || (e.type == "keypress" && !tinyMCE.isOpera)))
+					tinyMCE.execCommand(o.cmd, o.ui, o.val);
+
+				tinyMCE.cancelEvent(e);
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	autoResetDesignMode : function() {
+		// Add fix for tab/style.display none/block problems in Gecko
+		if (!tinyMCE.isIE && this.isHidden() && tinyMCE.getParam('auto_reset_designmode'))
+			eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}');
+	},
+
+	isHidden : function() {
+		var s;
+
+		if (tinyMCE.isIE)
+			return false;
+
+		s = this.getSel();
+
+		// Weird, wheres that cursor selection?
+		return (!s || !s.rangeCount || s.rangeCount == 0);
+	},
+
+	isDirty : function() {
+		// Is content modified and not in a submit procedure
+		return tinyMCE.trim(this.startContent) != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
+	},
+
+	_mergeElements : function(scmd, pa, ch, override) {
+		if (scmd == "removeformat") {
+			pa.className = "";
+			pa.style.cssText = "";
+			ch.className = "";
+			ch.style.cssText = "";
+			return;
+		}
+
+		var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
+		var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
+		var className = tinyMCE.getAttrib(pa, "class");
+
+		// Removed class adding due to bug #1478272
+		className = tinyMCE.getAttrib(ch, "class");
+
+		if (override) {
+			for (var n in st) {
+				if (typeof(st[n]) == 'function')
+					continue;
+
+				stc[n] = st[n];
+			}
+		} else {
+			for (var n in stc) {
+				if (typeof(stc[n]) == 'function')
+					continue;
+
+				st[n] = stc[n];
+			}
+		}
+
+		tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
+		tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
+		ch.className = "";
+		ch.style.cssText = "";
+		ch.removeAttribute("class");
+		ch.removeAttribute("style");
+	},
+
+	_setUseCSS : function(b) {
+		var d = this.getDoc();
+
+		try {d.execCommand("useCSS", false, !b);} catch (ex) {}
+		try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}
+
+		if (!tinyMCE.getParam("table_inline_editing"))
+			try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {}
+
+		if (!tinyMCE.getParam("object_resizing"))
+			try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var doc = this.getDoc(), win = this.getWin(), focusElm = this.getFocusElement();
+
+		// Is not a undo specific command
+		if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command))
+			this.undoBookmark = null;
+
+		// Mozilla issue
+		if (!tinyMCE.isIE && !this.useCSS) {
+			this._setUseCSS(false);
+			this.useCSS = true;
+		}
+
+		//debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
+		this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
+
+		// Don't dispatch key commands
+		if (!/mceStartTyping|mceEndTyping/.test(command)) {
+			if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value))
+				return;
+		}
+
+		// Fix align on images
+		if (focusElm && focusElm.nodeName == "IMG") {
+			var align = focusElm.getAttribute('align');
+			var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
+
+			switch (command) {
+				case "JustifyLeft":
+					if (align == 'left')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'left');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyCenter":
+					img.removeAttribute('align');
+
+					// Is centered
+					var div = tinyMCE.getParentElement(focusElm, "div");
+					if (div && div.style.textAlign == "center") {
+						// Remove div
+						if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+							div.parentNode.replaceChild(img, div);
+					} else {
+						// Add div
+						var div = this.getDoc().createElement("div");
+						div.style.textAlign = 'center';
+						div.appendChild(img);
+						focusElm.parentNode.replaceChild(div, focusElm);
+					}
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyRight":
+					if (align == 'right')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'right');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+			}
+		}
+
+		if (tinyMCE.settings['force_br_newlines']) {
+			var alignValue = "";
+
+			if (doc.selection.type != "Control") {
+				switch (command) {
+						case "JustifyLeft":
+							alignValue = "left";
+							break;
+
+						case "JustifyCenter":
+							alignValue = "center";
+							break;
+
+						case "JustifyFull":
+							alignValue = "justify";
+							break;
+
+						case "JustifyRight":
+							alignValue = "right";
+							break;
+				}
+
+				if (alignValue != "") {
+					var rng = doc.selection.createRange();
+
+					if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
+						divElm.setAttribute("align", alignValue);
+					else if (rng.pasteHTML && rng.htmlText.length > 0)
+						rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
+
+					tinyMCE.triggerNodeChange();
+					return;
+				}
+			}
+		}
+
+		switch (command) {
+			case "mceRepaint":
+				this.repaint();
+				return true;
+
+			case "unlink":
+				// Unlink if caret is inside link
+				if (tinyMCE.isGecko && this.getSel().isCollapsed) {
+					focusElm = tinyMCE.getParentElement(focusElm, 'A');
+
+					if (focusElm)
+						this.selection.selectNode(focusElm, false);
+				}
+
+				this.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.isGecko && this.getSel().collapseToEnd();
+
+				tinyMCE.triggerNodeChange();
+
+				return true;
+
+			case "InsertUnorderedList":
+			case "InsertOrderedList":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Strikethrough":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "mceSelectNode":
+				this.selection.selectNode(value);
+				tinyMCE.triggerNodeChange();
+				tinyMCE.selectedNode = value;
+				break;
+
+			case "FormatBlock":
+				if (value == null || value == "") {
+					var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");
+
+					if (elm)
+						this.execCommand("mceRemoveNode", false, elm);
+				} else {
+					if (!this.cleanup.isValid(value))
+						return true;
+
+					if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value))
+						value = value.replace(/[^a-z]/gi, '');
+
+					if (tinyMCE.isIE && new RegExp('blockquote|code|samp', 'gi').test(value)) {
+						var b = this.selection.getBookmark();
+						this.getDoc().execCommand("FormatBlock", false, '<p>');
+						tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value);
+						this.selection.moveToBookmark(b);
+					} else
+						this.getDoc().execCommand("FormatBlock", false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceRemoveNode":
+				if (!value)
+					value = tinyMCE.getParentElement(this.getFocusElement());
+
+				if (tinyMCE.isIE) {
+					value.outerHTML = value.innerHTML;
+				} else {
+					var rng = value.ownerDocument.createRange();
+					rng.setStartBefore(value);
+					rng.setEndAfter(value);
+					rng.deleteContents();
+					rng.insertNode(rng.createContextualFragment(value.innerHTML));
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceSelectNodeDepth":
+				var parentNode = this.getFocusElement();
+				for (var i=0; parentNode; i++) {
+					if (parentNode.nodeName.toLowerCase() == "body")
+						break;
+
+					if (parentNode.nodeName.toLowerCase() == "#text") {
+						i--;
+						parentNode = parentNode.parentNode;
+						continue;
+					}
+
+					if (i == value) {
+						this.selection.selectNode(parentNode, false);
+						tinyMCE.triggerNodeChange();
+						tinyMCE.selectedNode = parentNode;
+						return;
+					}
+
+					parentNode = parentNode.parentNode;
+				}
+
+				break;
+
+			case "mceSetStyleInfo":
+			case "SetStyleInfo":
+				var rng = this.getRng();
+				var sel = this.getSel();
+				var scmd = value['command'];
+				var sname = value['name'];
+				var svalue = value['value'] == null ? '' : value['value'];
+				//var svalue = value['value'] == null ? '' : value['value'];
+				var wrapper = value['wrapper'] ? value['wrapper'] : "span";
+				var parentElm = null;
+				var invalidRe = new RegExp("^BODY|HTML$", "g");
+				var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null;
+
+				// Whole element selected check
+				if (tinyMCE.isIE) {
+					// Control range
+					if (rng.item)
+						parentElm = rng.item(0);
+					else {
+						var pelm = rng.parentElement();
+						var prng = doc.selection.createRange();
+						prng.moveToElementText(pelm);
+
+						if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
+							if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
+								parentElm = pelm;
+						}
+					}
+				} else {
+					var felm = this.getFocusElement();
+					if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode))
+						parentElm = felm;
+				}
+
+				// Whole element selected
+				if (parentElm && !invalidRe.test(parentElm.nodeName)) {
+					if (scmd == "setstyle")
+						tinyMCE.setStyleAttrib(parentElm, sname, svalue);
+
+					if (scmd == "setattrib")
+						tinyMCE.setAttrib(parentElm, sname, svalue);
+
+					if (scmd == "removeformat") {
+						parentElm.style.cssText = '';
+						tinyMCE.setAttrib(parentElm, 'class', '');
+					}
+
+					// Remove style/attribs from all children
+					var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
+					for (var z=0; z<ch.length; z++) {
+						if (ch[z] == parentElm)
+							continue;
+
+						if (scmd == "setstyle")
+							tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+						if (scmd == "setattrib")
+							tinyMCE.setAttrib(ch[z], sname, '');
+
+						if (scmd == "removeformat") {
+							ch[z].style.cssText = '';
+							tinyMCE.setAttrib(ch[z], 'class', '');
+						}
+					}
+				} else {
+					this._setUseCSS(false); // Bug in FF when running in fullscreen
+					doc.execCommand("FontName", false, "#mce_temp_font#");
+					var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
+
+					// Change them all
+					for (var x=0; x<elementArray.length; x++) {
+						elm = elementArray[x];
+						if (elm) {
+							var spanElm = doc.createElement(wrapper);
+
+							if (scmd == "setstyle")
+								tinyMCE.setStyleAttrib(spanElm, sname, svalue);
+
+							if (scmd == "setattrib")
+								tinyMCE.setAttrib(spanElm, sname, svalue);
+
+							if (scmd == "removeformat") {
+								spanElm.style.cssText = '';
+								tinyMCE.setAttrib(spanElm, 'class', '');
+							}
+
+							if (elm.hasChildNodes()) {
+								for (var i=0; i<elm.childNodes.length; i++)
+									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+							}
+
+							spanElm.setAttribute("mce_new", "true");
+							elm.parentNode.replaceChild(spanElm, elm);
+
+							// Remove style/attribs from all children
+							var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
+							for (var z=0; z<ch.length; z++) {
+								if (ch[z] == spanElm)
+									continue;
+
+								if (scmd == "setstyle")
+									tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+								if (scmd == "setattrib")
+									tinyMCE.setAttrib(ch[z], sname, '');
+
+								if (scmd == "removeformat") {
+									ch[z].style.cssText = '';
+									tinyMCE.setAttrib(ch[z], 'class', '');
+								}
+							}
+						}
+					}
+				}
+
+				// Cleaup wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
+
+					elm.removeAttribute("mce_new");
+
+					// Is only child a element
+					if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
+						//tinyMCE.debug("merge1" + isNew);
+						this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
+						continue;
+					}
+
+					// Is I the only child
+					if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) {
+						//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);
+						if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
+							this._mergeElements(scmd, elm.parentNode, elm, false);
+					}
+				}
+
+				// Remove empty wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isEmpty = true;
+
+					// Check if it has any attribs
+					var tmp = doc.createElement("body");
+					tmp.appendChild(elm.cloneNode(false));
+
+					// Is empty span, remove it
+					tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), '');
+					//tinyMCE.debug(tmp.innerHTML);
+					if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
+						for (var x=0; x<elm.childNodes.length; x++) {
+							if (elm.parentNode != null)
+								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
+						}
+
+						elm.parentNode.removeChild(elm);
+					}
+				}
+
+				// Re add the visual aids
+				if (scmd == "removeformat")
+					tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "FontName":
+				if (value == null) {
+					var s = this.getSel();
+
+					// Find font and select it
+					if (tinyMCE.isGecko && s.isCollapsed) {
+						var f = tinyMCE.getParentElement(this.getFocusElement(), "font");
+
+						if (f != null)
+							this.selection.selectNode(f, false);
+					}
+
+					// Remove format
+					this.getDoc().execCommand("RemoveFormat", false, null);
+
+					// Collapse range if font was found
+					if (f != null && tinyMCE.isGecko) {
+						var r = this.getRng().cloneRange();
+						r.collapse(true);
+						s.removeAllRanges();
+						s.addRange(r);
+					}
+				} else
+					this.getDoc().execCommand('FontName', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "FontSize":
+				this.getDoc().execCommand('FontSize', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "forecolor":
+				value = value == null ? this.foreColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+
+				this.foreColor = value;
+				this.getDoc().execCommand('forecolor', false, value);
+				break;
+
+			case "HiliteColor":
+				value = value == null ? this.backColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+				this.backColor = value;
+
+				if (tinyMCE.isGecko) {
+					this._setUseCSS(true);
+					this.getDoc().execCommand('hilitecolor', false, value);
+					this._setUseCSS(false);
+				} else
+					this.getDoc().execCommand('BackColor', false, value);
+				break;
+
+			case "Cut":
+			case "Copy":
+			case "Paste":
+				var cmdFailed = false;
+
+				// Try executing command
+				eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
+
+				if (tinyMCE.isOpera && cmdFailed)
+					alert('Currently not supported by your browser, use keyboard shortcuts instead.');
+
+				// Alert error in gecko if command failed
+				if (tinyMCE.isGecko && cmdFailed) {
+					// Confirm more info
+					if (confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
+						window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
+
+					return;
+				} else
+					tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetContent":
+				if (!value)
+					value = "";
+
+				// Call custom cleanup code
+				value = tinyMCE.storeAwayURLs(value);
+				value = tinyMCE._customCleanup(this, "insert_to_editor", value);
+
+				if (this.getBody().nodeName == 'BODY')
+					tinyMCE._setHTML(doc, value);
+				else
+					this.getBody().innerHTML = value;
+
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, doc, this.settings, this.getBody(), false, false, false, true));
+				tinyMCE.convertAllRelativeURLs(this.getBody());
+
+				// Cleanup any mess left from storyAwayURLs
+				tinyMCE._removeInternal(this.getBody());
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				return true;
+
+			case "mceCleanup":
+				var b = this.selection.getBookmark();
+				tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				this.repaint();
+				this.selection.moveToBookmark(b);
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceReplaceContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				this.getWin().focus();
+
+				var selectedText = "";
+
+				if (tinyMCE.isIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = this.getSel().toString();
+
+				if (selectedText.length > 0) {
+					value = tinyMCE.replaceVar(value, "selection", selectedText);
+					tinyMCE.execCommand('mceInsertContent', false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetAttribute":
+				if (typeof(value) == 'object') {
+					var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
+					var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
+
+					if (targetNode) {
+						targetNode.setAttribute(value['name'], value['value']);
+						tinyMCE.triggerNodeChange();
+					}
+				}
+			break;
+
+			case "mceSetCSSClass":
+				this.execCommand("mceSetStyleInfo", false, {command : "setattrib", name : "class", value : value});
+			break;
+
+			case "mceInsertRawHTML":
+				var key = 'tiny_mce_marker';
+
+				this.execCommand('mceBeginUndoLevel');
+
+				// Insert marker key
+				this.execCommand('mceInsertContent', false, key);
+
+				// Store away scroll pos
+				var scrollX = this.getBody().scrollLeft + this.getDoc().documentElement.scrollLeft;
+				var scrollY = this.getBody().scrollTop + this.getDoc().documentElement.scrollTop;
+
+				// Find marker and replace with RAW HTML
+				var html = this.getBody().innerHTML;
+				if ((pos = html.indexOf(key)) != -1)
+					tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
+
+				// Restore scoll pos
+				this.contentWindow.scrollTo(scrollX, scrollY);
+
+				this.execCommand('mceEndUndoLevel');
+
+				break;
+
+			case "mceInsertContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				var insertHTMLFailed = false;
+
+				// Removed since it produced problems in IE
+				// this.getWin().focus();
+
+				if (tinyMCE.isGecko || tinyMCE.isOpera) {
+					try {
+						// Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong in FF
+						if (value.indexOf('<') == -1 && !value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
+							var r = this.getRng();
+							var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value));
+							var s = this.getSel();
+							var r2 = r.cloneRange();
+
+							// Insert text at cursor position
+							s.removeAllRanges();
+							r.deleteContents();
+							r.insertNode(n);
+
+							// Move the cursor to the end of text
+							r2.selectNode(n);
+							r2.collapse(false);
+							s.removeAllRanges();
+							s.addRange(r2);
+						} else {
+							value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
+							this.getDoc().execCommand('inserthtml', false, value);
+							tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+						}
+					} catch (ex) {
+						insertHTMLFailed = true;
+					}
+
+					if (!insertHTMLFailed) {
+						tinyMCE.triggerNodeChange();
+						return;
+					}
+				}
+
+				if (!tinyMCE.isIE) {
+					var isHTML = value.indexOf('<') != -1;
+					var sel = this.getSel();
+					var rng = this.getRng();
+
+					if (isHTML) {
+						if (tinyMCE.isSafari) {
+							var tmpRng = this.getDoc().createRange();
+
+							tmpRng.setStart(this.getBody(), 0);
+							tmpRng.setEnd(this.getBody(), 0);
+
+							value = tmpRng.createContextualFragment(value);
+						} else
+							value = rng.createContextualFragment(value);
+					} else {
+						// Setup text node
+						var el = document.createElement("div");
+						el.innerHTML = value;
+						value = el.firstChild.nodeValue;
+						value = doc.createTextNode(value);
+					}
+
+					// Insert plain text in Safari
+					if (tinyMCE.isSafari && !isHTML) {
+						this.execCommand('InsertText', false, value.nodeValue);
+						tinyMCE.triggerNodeChange();
+						return true;
+					} else if (tinyMCE.isSafari && isHTML) {
+						rng.deleteContents();
+						rng.insertNode(value);
+						tinyMCE.triggerNodeChange();
+						return true;
+					}
+
+					rng.deleteContents();
+
+					// If target node is text do special treatment, (Mozilla 1.3 fix)
+					if (rng.startContainer.nodeType == 3) {
+						var node = rng.startContainer.splitText(rng.startOffset);
+						node.parentNode.insertBefore(value, node); 
+					} else
+						rng.insertNode(value);
+
+					if (!isHTML) {
+						// Removes weird selection trails
+						sel.selectAllChildren(doc.body);
+						sel.removeAllRanges();
+
+						// Move cursor to end of content
+						var rng = doc.createRange();
+
+						rng.selectNode(value);
+						rng.collapse(false);
+
+						sel.addRange(rng);
+					} else
+						rng.collapse(false);
+
+					tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+				} else {
+					var rng = doc.selection.createRange(), tmpRng = null;
+					var c = value.indexOf('<!--') != -1;
+
+					// Fix comment bug, add tag before comments
+					if (c)
+						value = tinyMCE.uniqueTag + value;
+
+					//	tmpRng = rng.duplicate(); // Store away range (Fixes Undo bookmark bug in IE)
+
+					if (rng.item)
+						rng.item(0).outerHTML = value;
+					else
+						rng.pasteHTML(value);
+
+					//if (tmpRng)
+					//	tmpRng.select(); // Restore range  (Fixes Undo bookmark bug in IE)
+
+					// Remove unique tag
+					if (c) {
+						var e = this.getDoc().getElementById('mceTMPElement');
+						e.parentNode.removeChild(e);
+					}
+				}
+
+				tinyMCE.execCommand("mceAddUndoLevel");
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceStartTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex == -1) {
+					this.undoRedo.typingUndoIndex = this.undoRedo.undoIndex;
+					tinyMCE.typingUndoIndex = tinyMCE.undoIndex;
+					this.execCommand('mceAddUndoLevel');
+				}
+				break;
+
+			case "mceEndTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex != -1) {
+					this.execCommand('mceAddUndoLevel');
+					this.undoRedo.typingUndoIndex = -1;
+				}
+
+				tinyMCE.typingUndoIndex = -1;
+				break;
+
+			case "mceBeginUndoLevel":
+				this.undoRedoLevel = false;
+				break;
+
+			case "mceEndUndoLevel":
+				this.undoRedoLevel = true;
+				this.execCommand('mceAddUndoLevel');
+				break;
+
+			case "mceAddUndoLevel":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedoLevel) {
+					if (this.undoRedo.add())
+						tinyMCE.triggerNodeChange(false);
+				}
+				break;
+
+			case "Undo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.undo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "Redo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.redo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "mceToggleVisualAid":
+				this.visualAid = !this.visualAid;
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Indent":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+
+				if (tinyMCE.isIE) {
+					var n = tinyMCE.getParentElement(this.getFocusElement(), "blockquote");
+					do {
+						if (n && n.nodeName == "BLOCKQUOTE") {
+							n.removeAttribute("dir");
+							n.removeAttribute("style");
+						}
+					} while (n != null && (n = n.parentNode) != null);
+				}
+				break;
+
+			case "RemoveFormat":
+			case "removeformat":
+				var text = this.selection.getSelectedText();
+
+				if (tinyMCE.isOpera) {
+					this.getDoc().execCommand("RemoveFormat", false, null);
+					return;
+				}
+
+				if (tinyMCE.isIE) {
+					try {
+						var rng = doc.selection.createRange();
+						rng.execCommand("RemoveFormat", false, null);
+					} catch (e) {
+						// Do nothing
+					}
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				} else {
+					this.getDoc().execCommand(command, user_interface, value);
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				}
+
+				// Remove class
+				if (text.length == 0)
+					this.execCommand("mceSetCSSClass", false, "");
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			default:
+				this.getDoc().execCommand(command, user_interface, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+				else
+					tinyMCE.triggerNodeChange();
+		}
+
+		// Add undo level after modification
+		if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
+			tinyMCE.execCommand("mceAddUndoLevel");
+	},
+
+	queryCommandValue : function(c) {
+		try {
+			return this.getDoc().queryCommandValue(c);
+		} catch (e) {
+			return null;
+		}
+	},
+
+	queryCommandState : function(c) {
+		return this.getDoc().queryCommandState(c);
+	},
+
+	_onAdd : function(replace_element, form_element_name, target_document) {
+		var hc, th, to, editorTemplate;
+
+		th = this.settings['theme'];
+		to = tinyMCE.themes[th];
+
+		var targetDoc = target_document ? target_document : document;
+
+		this.targetDoc = targetDoc;
+
+		tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
+		this.settings['themeurl'] = tinyMCE.themeURL;
+
+		if (!replace_element) {
+			alert("Error: Could not find the target element.");
+			return false;
+		}
+
+		if (to.getEditorTemplate)
+			editorTemplate = to.getEditorTemplate(this.settings, this.editorId);
+
+		var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
+		var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
+		var html = '<span id="' + this.editorId + '_parent" class="mceEditorContainer">' + editorTemplate['html'];
+
+		html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
+		this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
+
+		this.settings['old_width'] = this.settings['width'];
+		this.settings['old_height'] = this.settings['height'];
+
+		// Set default width, height
+		if (this.settings['width'] == -1)
+			this.settings['width'] = replace_element.offsetWidth;
+
+		if (this.settings['height'] == -1)
+			this.settings['height'] = replace_element.offsetHeight;
+
+		// Try the style width
+		if (this.settings['width'] == 0)
+			this.settings['width'] = replace_element.style.width;
+
+		// Try the style height
+		if (this.settings['height'] == 0)
+			this.settings['height'] = replace_element.style.height; 
+
+		// If no width/height then default to 320x240, better than nothing
+		if (this.settings['width'] == 0)
+			this.settings['width'] = 320;
+
+		if (this.settings['height'] == 0)
+			this.settings['height'] = 240;
+
+		this.settings['area_width'] = parseInt(this.settings['width']);
+		this.settings['area_height'] = parseInt(this.settings['height']);
+		this.settings['area_width'] += deltaWidth;
+		this.settings['area_height'] += deltaHeight;
+
+		this.settings['width_style'] = "" + this.settings['width'];
+		this.settings['height_style'] = "" + this.settings['height'];
+
+		// Special % handling
+		if (("" + this.settings['width']).indexOf('%') != -1)
+			this.settings['area_width'] = "100%";
+		else
+			this.settings['width_style'] += 'px';
+
+		if (("" + this.settings['height']).indexOf('%') != -1)
+			this.settings['area_height'] = "100%";
+		else
+			this.settings['height_style'] += 'px';
+
+		if (("" + replace_element.style.width).indexOf('%') != -1) {
+			this.settings['width'] = replace_element.style.width;
+			this.settings['area_width'] = "100%";
+			this.settings['width_style'] = "100%";
+		}
+
+		if (("" + replace_element.style.height).indexOf('%') != -1) {
+			this.settings['height'] = replace_element.style.height;
+			this.settings['area_height'] = "100%";
+			this.settings['height_style'] = "100%";
+		}
+
+		html = tinyMCE.applyTemplate(html);
+
+		this.settings['width'] = this.settings['old_width'];
+		this.settings['height'] = this.settings['old_height'];
+
+		this.visualAid = this.settings['visual'];
+		this.formTargetElementId = form_element_name;
+
+		// Get replace_element contents
+		if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
+			this.startContent = replace_element.value;
+		else
+			this.startContent = replace_element.innerHTML;
+
+		// If not text area or input
+		if (replace_element.nodeName != "TEXTAREA" && replace_element.nodeName != "INPUT") {
+			this.oldTargetElement = replace_element;
+
+			// Debug mode
+			if (tinyMCE.settings['debug']) {
+				hc = '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
+			} else {
+				hc = '<input type="hidden" id="' + form_element_name + '" name="' + form_element_name + '" />';
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			html += '</span>';
+
+			if (tinyMCE.isGecko)
+				html = hc + html;
+			else
+				html += hc;
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		} else {
+			html += '</span>';
+
+			// Just hide the textarea element
+			this.oldTargetElement = replace_element;
+
+			if (!tinyMCE.settings['debug']) {
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		}
+
+		// Setup iframe
+		var dynamicIFrame = false;
+		var tElm = targetDoc.getElementById(this.editorId);
+
+		if (!tinyMCE.isIE) {
+			// Node case is preserved in XML strict mode
+			if (tElm && (tElm.nodeName == "SPAN" || tElm.nodeName == "span")) {
+				tElm = tinyMCE._createIFrame(tElm, targetDoc);
+				dynamicIFrame = true;
+			}
+
+			this.targetElement = tElm;
+			this.iframeElement = tElm;
+			this.contentDocument = tElm.contentDocument;
+			this.contentWindow = tElm.contentWindow;
+
+			//this.getDoc().designMode = "on";
+		} else {
+			if (tElm && tElm.nodeName == "SPAN")
+				tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
+			else
+				tElm = targetDoc.frames[this.editorId];
+
+			this.targetElement = tElm;
+			this.iframeElement = targetDoc.getElementById(this.editorId);
+
+			if (tinyMCE.isOpera) {
+				this.contentDocument = this.iframeElement.contentDocument;
+				this.contentWindow = this.iframeElement.contentWindow;
+				dynamicIFrame = true;
+			} else {
+				this.contentDocument = tElm.window.document;
+				this.contentWindow = tElm.window;
+			}
+
+			this.getDoc().designMode = "on";
+		}
+
+		// Setup base HTML
+		var doc = this.contentDocument;
+		if (dynamicIFrame) {
+			var html = tinyMCE.getParam('doctype') + '<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
+
+			try {
+				if (!this.isHidden())
+					this.getDoc().designMode = "on";
+
+				doc.open();
+				doc.write(html);
+				doc.close();
+			} catch (e) {
+				// Failed Mozilla 1.3
+				this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
+			}
+		}
+
+		// This timeout is needed in MSIE 5.5 for some odd reason
+		// it seems that the document.frames isn't initialized yet?
+		if (tinyMCE.isIE)
+			window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + this.editorId + "\"]);", 1);
+
+		// Setup element references
+		var parentElm = this.targetDoc.getElementById(this.editorId + '_parent');
+		this.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
+
+		tinyMCE.setupContent(this.editorId, true);
+
+		return true;
+	},
+
+	setBaseHREF : function(u) {
+		var h, b, d, nl;
+
+		d = this.getDoc();
+		nl = d.getElementsByTagName("base");
+		b = nl.length > 0 ? nl[0] : null;
+
+		if (!b) {
+			nl = d.getElementsByTagName("head");
+			h = nl.length > 0 ? nl[0] : null;
+
+			b = d.createElement("base");
+			b.setAttribute('href', u);
+			h.appendChild(b);
+		} else {
+			if (u == "" || u == null)
+				b.parentNode.removeChild(b);
+			else
+				b.setAttribute('href', u);
+		}
+	},
+
+	getHTML : function(r) {
+		var h, d = this.getDoc(), b = this.getBody();
+
+		if (r)
+			return b.innerHTML;
+
+		h = tinyMCE._cleanupHTML(this, d, this.settings, b, false, true, false, true);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(d);
+
+		return h;
+	},
+
+	setHTML : function(h) {
+		this.execCommand('mceSetContent', false, h);
+		this.repaint();
+	},
+
+	getFocusElement : function() {
+		return this.selection.getFocusElement();
+	},
+
+	getSel : function() {
+		return this.selection.getSel();
+	},
+
+	getRng : function() {
+		return this.selection.getRng();
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var e, nl = [], i, s;
+
+		this.switchSettings();
+		s = tinyMCE.settings;
+
+		// Force hidden tabs visible while serializing
+		if (tinyMCE.isRealIE) {
+			e = this.iframeElement;
+
+			do {
+				if (e.style && e.style.display == 'none') {
+					e.style.display = 'block';
+					nl[nl.length] = {elm : e, type : 'style'};
+				}
+
+				if (e.style && s.hidden_tab_class.length > 0 && e.className.indexOf(s.hidden_tab_class) != -1) {
+					e.className = s.display_tab_class;
+					nl[nl.length] = {elm : e, type : 'class'};
+				}
+			} while ((e = e.parentNode) != null)
+		}
+
+		tinyMCE.settings['preformatted'] = false;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);
+
+		// Remove visual aids when cleanup is disabled
+		if (this.settings['cleanup'] == false) {
+			tinyMCE.handleVisualAid(this.getBody(), true, false, this);
+			tinyMCE._setEventsEnabled(this.getBody(), true);
+		}
+
+		tinyMCE._customCleanup(this, "submit_content_dom", this.contentWindow.document.body);
+		var htm = skip_cleanup ? this.getBody().innerHTML : tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), tinyMCE.visualAid, true, true);
+		htm = tinyMCE._customCleanup(this, "submit_content", htm);
+
+		if (!skip_callback && tinyMCE.settings['save_callback'] != "")
+			var content = eval(tinyMCE.settings['save_callback'] + "(this.formTargetElementId,htm,this.getBody());");
+
+		// Use callback content if available
+		if ((typeof(content) != "undefined") && content != null)
+			htm = content;
+
+		// Replace some weird entities (Bug: #1056343)
+		htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
+
+		if (this.formElement)
+			this.formElement.value = htm;
+
+		if (tinyMCE.isSafari && this.formElement)
+			this.formElement.innerText = htm;
+
+		// Hide them again (tabs in MSIE)
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].type == 'style')
+				nl[i].elm.style.display = 'none';
+			else
+				nl[i].elm.className = s.hidden_tab_class;
+		}
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */
+
+TinyMCE_Engine.prototype.cleanupHTMLCode = function(s) {
+	s = s.replace(new RegExp('<p \\/>', 'gi'), '<p>&nbsp;</p>');
+	s = s.replace(new RegExp('<p>\\s*<\\/p>', 'gi'), '<p>&nbsp;</p>');
+
+	// Fix close BR elements
+	s = s.replace(new RegExp('<br>\\s*<\\/br>', 'gi'), '<br />');
+
+	// Open closed tags like <b/> to <b></b>
+	s = s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>', 'gi'), '<$1$2$3></$1$2>');
+
+	// Remove trailing space <b > to <b>
+	s = s.replace(new RegExp('\\s+></', 'gi'), '></');
+
+	// Close tags <img></img> to <img/>
+	s = s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>', 'gi'), '<$1$2 />');
+
+	// Weird MSIE bug, <p><hr /></p> breaks runtime?
+	if (tinyMCE.isIE)
+		s = s.replace(new RegExp('<p><hr \\/><\\/p>', 'gi'), "<hr>");
+
+	// Weird tags will make IE error #bug: 1538495
+	if (tinyMCE.isIE)
+		s = s.replace(/<!(\s*)\/>/g, '');
+
+	// Convert relative anchors to absolute URLs ex: #something to file.htm#something
+	// Removed: Since local document anchors should never be forced absolute example edit.php?id=something
+	//if (tinyMCE.getParam('convert_urls'))
+	//	s = s.replace(new RegExp('(href=\"{0,1})(\\s*#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.parseStyle = function(str) {
+	var ar = new Array();
+
+	if (str == null)
+		return ar;
+
+	var st = str.split(';');
+
+	tinyMCE.clearArray(ar);
+
+	for (var i=0; i<st.length; i++) {
+		if (st[i] == '')
+			continue;
+
+		var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
+		var pa = st[i].replace(re, '$1||$2').split('||');
+//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
+		if (pa.length == 2)
+			ar[pa[0].toLowerCase()] = pa[1];
+	}
+
+	return ar;
+};
+
+TinyMCE_Engine.prototype.compressStyle = function(ar, pr, sf, res) {
+	var box = new Array();
+
+	box[0] = ar[pr + '-top' + sf];
+	box[1] = ar[pr + '-left' + sf];
+	box[2] = ar[pr + '-right' + sf];
+	box[3] = ar[pr + '-bottom' + sf];
+
+	for (var i=0; i<box.length; i++) {
+		if (box[i] == null)
+			return;
+
+		for (var a=0; a<box.length; a++) {
+			if (box[a] != box[i])
+				return;
+		}
+	}
+
+	// They are all the same
+	ar[res] = box[0];
+	ar[pr + '-top' + sf] = null;
+	ar[pr + '-left' + sf] = null;
+	ar[pr + '-right' + sf] = null;
+	ar[pr + '-bottom' + sf] = null;
+};
+
+TinyMCE_Engine.prototype.serializeStyle = function(ar) {
+	var str = "";
+
+	// Compress box
+	tinyMCE.compressStyle(ar, "border", "", "border");
+	tinyMCE.compressStyle(ar, "border", "-width", "border-width");
+	tinyMCE.compressStyle(ar, "border", "-color", "border-color");
+	tinyMCE.compressStyle(ar, "border", "-style", "border-style");
+	tinyMCE.compressStyle(ar, "padding", "", "padding");
+	tinyMCE.compressStyle(ar, "margin", "", "margin");
+
+	for (var key in ar) {
+		var val = ar[key];
+
+		if (typeof(val) == 'function')
+			continue;
+
+		if (key.indexOf('mso-') == 0)
+			continue;
+
+		if (val != null && val != '') {
+			val = '' + val; // Force string
+
+			// Fix style URL
+			val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
+
+			// Convert URL
+			if (val.indexOf('url(') != -1 && tinyMCE.getParam('convert_urls')) {
+				var m = new RegExp("url\\('(.*?)'\\)").exec(val);
+
+				if (m.length > 1)
+					val = "url('" + eval(tinyMCE.getParam('urlconverter_callback') + "(m[1], null, true);") + "')";
+			}
+
+			// Force HEX colors
+			if (tinyMCE.getParam("force_hex_style_colors"))
+				val = tinyMCE.convertRGBToHex(val, true);
+
+			val = val.replace(/\"/g, '\'');
+
+			if (val != "url('')")
+				str += key.toLowerCase() + ": " + val + "; ";
+		}
+	}
+
+	if (new RegExp('; $').test(str))
+		str = str.substring(0, str.length - 2);
+
+	return str;
+};
+
+TinyMCE_Engine.prototype.convertRGBToHex = function(s, k) {
+	if (s.toLowerCase().indexOf('rgb') != -1) {
+		var re = new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)", "gi");
+		var rgb = s.replace(re, "$1,$2,$3,$4,$5").split(',');
+		if (rgb.length == 5) {
+			r = parseInt(rgb[1]).toString(16);
+			g = parseInt(rgb[2]).toString(16);
+			b = parseInt(rgb[3]).toString(16);
+
+			r = r.length == 1 ? '0' + r : r;
+			g = g.length == 1 ? '0' + g : g;
+			b = b.length == 1 ? '0' + b : b;
+
+			s = "#" + r + g + b;
+
+			if (k)
+				s = rgb[0] + s + rgb[4];
+		}
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertHexToRGB = function(s) {
+	if (s.indexOf('#') != -1) {
+		s = s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+		return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) + ")";
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertSpansToFonts = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+	/*var h = doc.body.innerHTML;
+	h = h.replace(/<span/gi, '<font');
+	h = h.replace(/<\/span/gi, '</font');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
+		var fSize = 0;
+
+		for (var x=0; x<sizes.length; x++) {
+			if (sizes[x] == size) {
+				fSize = x + 1;
+				break;
+			}
+		}
+
+		if (fSize > 0) {
+			tinyMCE.setAttrib(s[i], 'size', fSize);
+			s[i].style.fontSize = '';
+		}
+
+		var fFace = s[i].style.fontFamily;
+		if (fFace != null && fFace != "") {
+			tinyMCE.setAttrib(s[i], 'face', fFace);
+			s[i].style.fontFamily = '';
+		}
+
+		var fColor = s[i].style.color;
+		if (fColor != null && fColor != "") {
+			tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
+			s[i].style.color = '';
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.convertFontsToSpans = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+/*	var h = doc.body.innerHTML;
+	h = h.replace(/<font/gi, '<span');
+	h = h.replace(/<\/font/gi, '</span');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var fsClasses = tinyMCE.getParam('font_size_classes');
+	if (fsClasses != '')
+		fsClasses = fsClasses.replace(/\s+/, '').split(',');
+	else
+		fsClasses = null;
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var fSize, fFace, fColor;
+
+		fSize = tinyMCE.getAttrib(s[i], 'size');
+		fFace = tinyMCE.getAttrib(s[i], 'face');
+		fColor = tinyMCE.getAttrib(s[i], 'color');
+
+		if (fSize != "") {
+			fSize = parseInt(fSize);
+
+			if (fSize > 0 && fSize < 8) {
+				if (fsClasses != null)
+					tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
+				else
+					s[i].style.fontSize = sizes[fSize-1];
+			}
+
+			s[i].removeAttribute('size');
+		}
+
+		if (fFace != "") {
+			s[i].style.fontFamily = fFace;
+			s[i].removeAttribute('face');
+		}
+
+		if (fColor != "") {
+			s[i].style.color = fColor;
+			s[i].removeAttribute('color');
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.cleanupAnchors = function(doc) {
+	var i, cn, x, an = doc.getElementsByTagName("a");
+
+	// Loops backwards due to bug #1467987
+	for (i=an.length-1; i>=0; i--) {
+		if (tinyMCE.getAttrib(an[i], "name") != "" && tinyMCE.getAttrib(an[i], "href") == "") {
+			cn = an[i].childNodes;
+
+			for (x=cn.length-1; x>=0; x--)
+				tinyMCE.insertAfter(cn[x], an[i]);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.getContent = function(editor_id) {
+	if (typeof(editor_id) != "undefined")
+		 tinyMCE.getInstanceById(editor_id).select();
+
+	if (tinyMCE.selectedInstance)
+		return tinyMCE.selectedInstance.getHTML();
+
+	return null;
+};
+
+TinyMCE_Engine.prototype._fixListElements = function(d) {
+	var nl, x, a = ['ol', 'ul'], i, n, p, r = new RegExp('^(OL|UL)$'), np;
+
+	for (x=0; x<a.length; x++) {
+		nl = d.getElementsByTagName(a[x]);
+
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+			p = n.parentNode;
+
+			if (r.test(p.nodeName)) {
+				np = tinyMCE.prevNode(n, 'LI');
+
+				if (!np) {
+					np = d.createElement('li');
+					np.innerHTML = '&nbsp;';
+					np.appendChild(n);
+					p.insertBefore(np, p.firstChild);
+				} else
+					np.appendChild(n);
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._fixTables = function(d) {
+	var nl, i, n, p, np, x, t;
+
+	nl = d.getElementsByTagName('table');
+	for (i=0; i<nl.length; i++) {
+		n = nl[i];
+
+		if ((p = tinyMCE.getParentElement(n, 'p,h1,h2,h3,h4,h5,h6')) != null) {
+			np = p.cloneNode(false);
+			np.removeAttribute('id');
+
+			t = n;
+
+			while ((n = n.nextSibling))
+				np.appendChild(n);
+
+			tinyMCE.insertAfter(np, p);
+			tinyMCE.insertAfter(t, p);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._cleanupHTML = function(inst, doc, config, elm, visual, on_save, on_submit, inn) {
+	var h, d, t1, t2, t3, t4, t5, c, s, nb;
+
+	if (!tinyMCE.getParam('cleanup'))
+		return elm.innerHTML;
+
+	on_save = typeof(on_save) == 'undefined' ? false : on_save;
+
+	c = inst.cleanup;
+	s = inst.settings;
+	d = c.settings.debug;
+
+	if (d)
+		t1 = new Date().getTime();
+
+	if (tinyMCE.getParam("convert_fonts_to_spans"))
+		tinyMCE.convertFontsToSpans(doc);
+
+	if (tinyMCE.getParam("fix_list_elements"))
+		tinyMCE._fixListElements(doc);
+
+	if (tinyMCE.getParam("fix_table_elements"))
+		tinyMCE._fixTables(doc);
+
+	// Call custom cleanup code
+	tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
+
+	if (d)
+		t2 = new Date().getTime();
+
+	c.settings.on_save = on_save;
+	//for (var i=0; i<100; i++)
+
+	c.idCount = 0;
+	c.serializationId++;
+	c.serializedNodes = new Array();
+	c.sourceIndex = -1;
+
+	if (s.cleanup_serializer == "xml")
+		h = c.serializeNodeAsXML(elm, inn);
+	else
+		h = c.serializeNodeAsHTML(elm, inn);
+
+	if (d)
+		t3 = new Date().getTime();
+
+	// Post processing
+	nb = tinyMCE.getParam('entity_encoding') == 'numeric' ? '&#160;' : '&nbsp;';
+	h = h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
+	h = h.replace(new RegExp(' (rowspan="1"|colspan="1")', 'g'), '');
+	h = h.replace(/<p><hr \/><\/p>/g, '<hr />');
+	h = h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
+	h = h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>' + nb + '</td>');
+	h = h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<br \/>$/, ''); // Remove last BR for Gecko
+	h = h.replace(/<br \/><\/p>/g, '</p>'); // Remove last BR in P tags for Gecko
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(new RegExp('<a>(.*?)<\\/a>', 'g'), '$1');
+	h = h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>' + nb + '</p>');
+
+	// Clean body
+	if (/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
+		h = '';
+
+	// If preformatted
+	if (s.preformatted) {
+		h = h.replace(/^<pre>/, '');
+		h = h.replace(/<\/pre>$/, '');
+		h = '<pre>' + h + '</pre>';
+	}
+
+	// Gecko specific processing
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<o:p _moz-userdefined="" \/>/g, '');
+		h = h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>' + nb + '</td>');
+	}
+
+	if (s.force_br_newlines)
+		h = h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');
+
+	// Call custom cleanup code
+	h = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", h);
+
+	// Remove internal classes
+	if (on_save) {
+		h = h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + s.visual_table_class + ')', 'g'), '');
+		h = h.replace(new RegExp(' ?class=""', 'g'), '');
+	}
+
+	if (s.remove_linebreaks && !c.settings.indent)
+		h = h.replace(/\n|\r/g, ' ');
+
+	if (d)
+		t4 = new Date().getTime();
+
+	if (on_save && c.settings.indent)
+		h = c.formatHTML(h);
+
+	// If encoding (not recommended option)
+	if (on_submit && (s.encoding == "xml" || s.encoding == "html"))
+		h = c.xmlEncode(h);
+
+	if (d)
+		t5 = new Date().getTime();
+
+	if (c.settings.debug)
+		tinyMCE.debug("Cleanup in ms: Pre=" + (t2-t1) + ", Serialize: " + (t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + (t5-t1) + ".");
+
+	return h;
+};
+
+function TinyMCE_Cleanup() {
+	this.isIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.rules = tinyMCE.clearArray(new Array());
+
+	// Default config
+	this.settings = {
+		indent_elements : 'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
+		newline_before_elements : 'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',
+		newline_after_elements : 'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
+		newline_before_after_elements : 'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',
+		indent_char : '\t',
+		indent_levels : 1,
+		entity_encoding : 'raw',
+		valid_elements : '*[*]',
+		entities : '',
+		url_converter : '',
+		invalid_elements : '',
+		verify_html : false
+	};
+
+	this.vElements = tinyMCE.clearArray(new Array());
+	this.vElementsRe = '';
+	this.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;
+	this.codeElementsRe = /^(SCRIPT|STYLE)$/;
+	this.serializationId = 0;
+	this.mceAttribs = {
+		href : 'mce_href',
+		src : 'mce_src',
+		type : 'mce_type'
+	};
+}
+
+TinyMCE_Cleanup.prototype = {
+	init : function(s) {
+		var n, a, i, ir, or, st;
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		// Setup code formating
+		s = this.settings;
+
+		// Setup regexps
+		this.inRe = this._arrayToRe(s.indent_elements.split(','), '', '^<(', ')[^>]*');
+		this.ouRe = this._arrayToRe(s.indent_elements.split(','), '', '^<\\/(', ')[^>]*');
+		this.nlBeforeRe = this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlAfterRe = this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlBeforeAfterRe = this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', '<(\\/?)(', ')([^>]*)>');
+		this.serializedNodes = [];
+
+		if (s.invalid_elements != '')
+			this.iveRe = this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', ')$');
+		else
+			this.iveRe = null;
+
+		// Setup separator
+		st = '';
+		for (i=0; i<s.indent_levels; i++)
+			st += s.indent_char;
+
+		this.inStr = st;
+
+		// If verify_html if false force *[*]
+		if (!s.verify_html) {
+			s.valid_elements = '*[*]';
+			s.extended_valid_elements = '';
+		}
+
+		this.fillStr = s.entity_encoding == "named" ? "&nbsp;" : "&#160;";
+		this.idCount = 0;
+		this.xmlEncodeRe = new RegExp('[\u007F-\uFFFF<>&"]', 'g');
+		this.xmlEncodeAposRe = new RegExp('[\u007F-\uFFFF<>&"\']', 'g');
+	},
+
+	addRuleStr : function(s) {
+		var r = this.parseRuleStr(s);
+		var n;
+
+		for (n in r) {
+			if (r[n])
+				this.rules[n] = r[n];
+		}
+
+		this.vElements = tinyMCE.clearArray(new Array());
+
+		for (n in this.rules) {
+			if (this.rules[n])
+				this.vElements[this.vElements.length] = this.rules[n].tag;
+		}
+
+		this.vElementsRe = this._arrayToRe(this.vElements, '');
+	},
+
+	isValid : function(n) {
+		this._setupRules(); // Will initialize cleanup rules
+
+		// Empty is true since it removes formatting
+		if (!n)
+			return true;
+
+		// Clean the name up a bit
+		n = n.replace(/[^a-z0-9]+/gi, '').toUpperCase();
+
+		return !tinyMCE.getParam('cleanup') || this.vElementsRe.test(n);
+	},
+
+	addChildRemoveRuleStr : function(s) {
+		var x, y, p, i, t, tn, ta, cl, r;
+
+		if (!s)
+			return;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+
+			// Split tag/children
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = "^(";
+
+				// Build regex
+				cl = this.split(/\|/, p[1]);
+				for (i=0; i<cl.length; i++) {
+					if (cl[i] == '%istrict')
+						r += tinyMCE.inlineStrict;
+					else if (cl[i] == '%itrans')
+						r += tinyMCE.inlineTransitional;
+					else if (cl[i] == '%istrict_na')
+						r += tinyMCE.inlineStrict.substring(2);
+					else if (cl[i] == '%itrans_na')
+						r += tinyMCE.inlineTransitional.substring(2);
+					else if (cl[i] == '%btrans')
+						r += tinyMCE.blockElms;
+					else if (cl[i] == '%strict')
+						r += tinyMCE.blockStrict;
+					else
+						r += (cl[i].charAt(0) != '#' ? cl[i].toUpperCase() : cl[i]);
+
+					r += (i != cl.length - 1 ? '|' : '');
+				}
+
+				r += ')$';
+//tinyMCE.debug(t + "=" + r);
+				if (this.childRules == null)
+					this.childRules = tinyMCE.clearArray(new Array());
+
+				this.childRules[tn[y]] = new RegExp(r);
+
+				if (p.length > 1)
+					this.childRules[tn[y]].wrapTag = p[2];
+			}
+		}
+	},
+
+	parseRuleStr : function(s) {
+		var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
+
+		if (s == null || s.length == 0)
+			return or;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+			if (s.length == 0)
+				continue;
+
+			// Split tag/attrs
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = {};
+
+				r.tag = tn[y];
+				r.forceAttribs = null;
+				r.defaultAttribs = null;
+				r.validAttribValues = null;
+
+				// Handle prefixes
+				px = r.tag.charAt(0);
+				r.forceOpen = px == '+';
+				r.removeEmpty = px == '-';
+				r.fill = px == '#';
+				r.tag = r.tag.replace(/\+|-|#/g, '');
+				r.oTagName = tn[0].replace(/\+|-|#/g, '').toLowerCase();
+				r.isWild = new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
+				r.validRe = new RegExp(this._wildcardToRe('^' + r.tag + '$'));
+
+				// Setup valid attributes
+				if (p.length > 1) {
+					r.vAttribsRe = '^(';
+					a = this.split(/\|/, p[1]);
+
+					for (i=0; i<a.length; i++) {
+						t = a[i];
+
+						if (t.charAt(0) == '!') {
+							a[i] = t = t.substring(1);
+
+							if (!r.reqAttribsRe)
+								r.reqAttribsRe = '\\s+(' + t;
+							else
+								r.reqAttribsRe += '|' + t;
+						}
+
+						av = new RegExp('(=|:|<)(.*?)$').exec(t);
+						t = t.replace(new RegExp('(=|:|<).*?$'), '');
+						if (av && av.length > 0) {
+							if (av[0].charAt(0) == ':') {
+								if (!r.forceAttribs)
+									r.forceAttribs = tinyMCE.clearArray(new Array());
+
+								r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
+							} else if (av[0].charAt(0) == '=') {
+								if (!r.defaultAttribs)
+									r.defaultAttribs = tinyMCE.clearArray(new Array());
+
+								dv = av[0].substring(1);
+
+								r.defaultAttribs[t.toLowerCase()] = dv == "" ? "mce_empty" : dv;
+							} else if (av[0].charAt(0) == '<') {
+								if (!r.validAttribValues)
+									r.validAttribValues = tinyMCE.clearArray(new Array());
+
+								r.validAttribValues[t.toLowerCase()] = this._arrayToRe(this.split('?', av[0].substring(1)), 'i');
+							}
+						}
+
+						r.vAttribsRe += '' + t.toLowerCase() + (i != a.length - 1 ? '|' : '');
+
+						a[i] = t.toLowerCase();
+					}
+
+					if (r.reqAttribsRe)
+						r.reqAttribsRe = new RegExp(r.reqAttribsRe + ')=\"', 'g');
+
+					r.vAttribsRe += ')$';
+					r.vAttribsRe = this._wildcardToRe(r.vAttribsRe);
+					r.vAttribsReIsWild = new RegExp('\\*|\\?|\\+', 'g').test(r.vAttribsRe);
+					r.vAttribsRe = new RegExp(r.vAttribsRe);
+					r.vAttribs = a.reverse();
+
+					//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
+				} else {
+					r.vAttribsRe = '';
+					r.vAttribs = tinyMCE.clearArray(new Array());
+					r.vAttribsReIsWild = false;
+				}
+
+				or[r.tag] = r;
+			}
+		}
+
+		return or;
+	},
+
+	serializeNodeAsXML : function(n) {
+		var s, b;
+
+		if (!this.xmlDoc) {
+			if (this.isIE) {
+				try {this.xmlDoc = new ActiveXObject('MSXML2.DOMDocument');} catch (e) {}
+
+				if (!this.xmlDoc)
+					try {this.xmlDoc = new ActiveXObject('Microsoft.XmlDom');} catch (e) {}
+			} else
+				this.xmlDoc = document.implementation.createDocument('', '', null);
+
+			if (!this.xmlDoc)
+				alert("Error XML Parser could not be found.");
+		}
+
+		if (this.xmlDoc.firstChild)
+			this.xmlDoc.removeChild(this.xmlDoc.firstChild);
+
+		b = this.xmlDoc.createElement("html");
+		b = this.xmlDoc.appendChild(b);
+
+		this._convertToXML(n, b);
+
+		if (this.isIE)
+			return this.xmlDoc.xml;
+		else
+			return new XMLSerializer().serializeToString(this.xmlDoc);
+	},
+
+	_convertToXML : function(n, xn) {
+		var xd, el, i, l, cn, at, no, hc = false;
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return;
+
+		xd = this.xmlDoc;
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				el = xd.createElement(n.nodeName.toLowerCase());
+
+				at = n.attributes;
+				for (i=at.length-1; i>-1; i--) {
+					no = at[i];
+
+					if (no.specified && no.nodeValue)
+						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
+				}
+
+				if (!hc && !this.closeElementsRe.test(n.nodeName))
+					el.appendChild(xd.createTextNode(""));
+
+				xn = xn.appendChild(el);
+				break;
+
+			case 3: // Text
+				xn.appendChild(xd.createTextNode(n.nodeValue));
+				return;
+
+			case 8: // Comment
+				xn.appendChild(xd.createComment(n.nodeValue));
+				return;
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				this._convertToXML(cn[i], xn);
+		}
+	},
+
+	serializeNodeAsHTML : function(n, inn) {
+		var en, no, h = '', i, l, t, st, r, cn, va = false, f = false, at, hc, cr, nn;
+
+		this._setupRules(); // Will initialize cleanup rules
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return '';
+
+		// Skip non valid child elements
+		if (n.parentNode && this.childRules != null) {
+			cr = this.childRules[n.parentNode.nodeName];
+
+			if (typeof(cr) != "undefined" && !cr.test(n.nodeName)) {
+				st = true;
+				t = null;
+			}
+		}
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				if (st)
+					break;
+
+				// MSIE sometimes produces <//tag>
+				if ((tinyMCE.isRealIE) && n.nodeName.indexOf('/') != -1)
+					break;
+
+				nn = n.nodeName;
+
+				// Convert fonts to spans
+				if (this.settings.convert_fonts_to_spans) {
+					// On get content FONT -> SPAN
+					if (this.settings.on_save && nn == 'FONT')
+						nn = 'SPAN';
+
+					// On insert content SPAN -> FONT
+					if (!this.settings.on_save && nn == 'SPAN')
+						nn = 'FONT';
+				}
+
+				if (this.vElementsRe.test(nn) && (!this.iveRe || !this.iveRe.test(nn)) && !inn) {
+					va = true;
+
+					r = this.rules[nn];
+					if (!r) {
+						at = this.rules;
+						for (no in at) {
+							if (at[no] && at[no].validRe.test(nn)) {
+								r = at[no];
+								break;
+							}
+						}
+					}
+
+					en = r.isWild ? nn.toLowerCase() : r.oTagName;
+					f = r.fill;
+
+					if (r.removeEmpty && !hc)
+						return "";
+
+					t = '<' + en;
+
+					if (r.vAttribsReIsWild) {
+						// Serialize wildcard attributes
+						at = n.attributes;
+						for (i=at.length-1; i>-1; i--) {
+							no = at[i];
+							if (no.specified && r.vAttribsRe.test(no.nodeName))
+								t += this._serializeAttribute(n, r, no.nodeName);
+						}
+					} else {
+						// Serialize specific attributes
+						for (i=r.vAttribs.length-1; i>-1; i--)
+							t += this._serializeAttribute(n, r, r.vAttribs[i]);
+					}
+
+					// Serialize mce_ atts
+					if (!this.settings.on_save) {
+						at = this.mceAttribs;
+
+						for (no in at) {
+							if (at[no])
+								t += this._serializeAttribute(n, r, at[no]);
+						}
+					}
+
+					// Check for required attribs
+					if (r.reqAttribsRe && !t.match(r.reqAttribsRe))
+						t = null;
+
+					// Close these
+					if (t != null && this.closeElementsRe.test(nn))
+						return t + ' />';
+
+					if (t != null)
+						h += t + '>';
+
+					if (this.isIE && this.codeElementsRe.test(nn))
+						h += n.innerHTML;
+				}
+			break;
+
+			case 3: // Text
+				if (st)
+					break;
+
+				if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
+					return this.isIE ? '' : n.nodeValue;
+
+				return this.xmlEncode(n.nodeValue);
+
+			case 8: // Comment
+				if (st)
+					break;
+
+				return "<!--" + this._trimComment(n.nodeValue) + "-->";
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				h += this.serializeNodeAsHTML(cn[i]);
+		}
+
+		// Fill empty nodes
+		if (f && !hc)
+			h += this.fillStr;
+
+		// End element
+		if (t != null && va)
+			h += '</' + en + '>';
+
+		return h;
+	},
+
+	_serializeAttribute : function(n, r, an) {
+		var av = '', t, os = this.settings.on_save;
+
+		if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0))
+			return '';
+
+		if (os && this.mceAttribs[an])
+			av = this._getAttrib(n, this.mceAttribs[an]);
+
+		if (av.length == 0)
+			av = this._getAttrib(n, an);
+
+		if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) {
+			av = t;
+
+			if (av == "mce_empty")
+				return " " + an + '=""';
+		}
+
+		if (r.forceAttribs && (t = r.forceAttribs[an]))
+			av = t;
+
+		if (os && av.length != 0 && /^(src|href|longdesc)$/.test(an))
+			av = this._urlConverter(this, n, av);
+
+		if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av))
+			return "";
+
+		if (av.length != 0 && av == "{$uid}")
+			av = "uid_" + (this.idCount++);
+
+		if (av.length != 0) {
+			if (an.indexOf('on') != 0)
+				av = this.xmlEncode(av, 1);
+
+			return " " + an + "=" + '"' + av + '"';
+		}
+
+		return "";
+	},
+
+	formatHTML : function(h) {
+		var s = this.settings, p = '', i = 0, li = 0, o = '', l;
+
+		// Replace BR in pre elements to \n
+		h = h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi, function (a, b, c) {
+			c = c.replace(/<br\s*\/>/gi, '\n');
+			return '<pre' + b + '>' + c + '</pre>';
+		});
+
+		h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :)
+		h = '\n' + h;
+		h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting
+		h = h.replace(this.nlBeforeRe, '\n<$1$2>');
+		h = h.replace(this.nlAfterRe, '<$1$2>\n');
+		h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
+		h += '\n';
+
+		//tinyMCE.debug(h);
+
+		while ((i = h.indexOf('\n', i + 1)) != -1) {
+			if ((l = h.substring(li + 1, i)).length != 0) {
+				if (this.ouRe.test(l) && p.length >= s.indent_levels)
+					p = p.substring(s.indent_levels);
+
+				o += p + l + '\n';
+	
+				if (this.inRe.test(l))
+					p += this.inStr;
+			}
+
+			li = i;
+		}
+
+		//tinyMCE.debug(h);
+
+		return o;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		var cl = this, re = !skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe;
+
+		this._setupEntities(); // Will intialize lookup table
+
+		switch (this.settings.entity_encoding) {
+			case "raw":
+				return tinyMCE.xmlEncode(s, skip_apos);
+
+			case "named":
+				return s.replace(re, function (c, b) {
+					b = cl.entities[c.charCodeAt(0)];
+
+					return b ? '&' + b + ';' : c;
+				});
+
+			case "numeric":
+				return s.replace(re, function (c, b) {
+					return b ? '&#' + c.charCodeAt(0) + ';' : c;
+				});
+		}
+
+		return s;
+	},
+
+	split : function(re, s) {
+		var c = s.split(re);
+		var i, l, o = new Array();
+
+		for (i=0, l=c.length; i<l; i++) {
+			if (c[i] != '')
+				o[i] = c[i];
+		}
+
+		return o;
+	},
+
+	_trimComment : function(s) {
+		// Remove mce_src, mce_href
+		s = s.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+		s = s.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+
+		return s;
+	},
+
+	_getAttrib : function(e, n, d) {
+		var v, ex, nn;
+
+		if (typeof(d) == "undefined")
+			d = "";
+
+		if (!e || e.nodeType != 1)
+			return d;
+
+		try {
+			v = e.getAttribute(n, 0);
+		} catch (ex) {
+			// IE 7 may cast exception on invalid attributes
+			v = e.getAttribute(n, 2);
+		}
+
+		if (n == "class" && !v)
+			v = e.className;
+
+		if (this.isIE) {
+			if (n == "http-equiv")
+				v = e.httpEquiv;
+
+			nn = e.nodeName;
+
+			// Skip the default values that IE returns
+			if (nn == "FORM" && n == "enctype" && v == "application/x-www-form-urlencoded")
+				v = "";
+
+			if (nn == "INPUT" && n == "size" && v == "20")
+				v = "";
+
+			if (nn == "INPUT" && n == "maxlength" && v == "2147483647")
+				v = "";
+		}
+
+		if (n == 'style' && v) {
+			if (!tinyMCE.isOpera)
+				v = e.style.cssText;
+
+			v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
+		}
+
+		if (this.settings.on_save && n.indexOf('on') != -1 && this.settings.on_save && v && v != "")
+			v = tinyMCE.cleanupEventStr(v);
+
+		return (v && v != "") ? '' + v : d;
+	},
+
+	_urlConverter : function(c, n, v) {
+		if (!c.settings.on_save)
+			return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
+		else if (tinyMCE.getParam('convert_urls')) {
+			if (!this.urlConverter)
+				this.urlConverter = eval(tinyMCE.settings.urlconverter_callback);
+
+			return this.urlConverter(v, n, true);
+		}
+
+		return v;
+	},
+
+	_arrayToRe : function(a, op, be, af) {
+		var i, r;
+
+		op = typeof(op) == "undefined" ? "gi" : op;
+		be = typeof(be) == "undefined" ? "^(" : be;
+		af = typeof(af) == "undefined" ? ")$" : af;
+
+		r = be;
+
+		for (i=0; i<a.length; i++)
+			r += this._wildcardToRe(a[i]) + (i != a.length-1 ? "|" : "");
+
+		r += af;
+
+		return new RegExp(r, op);
+	},
+
+	_wildcardToRe : function(s) {
+		s = s.replace(/\?/g, '(\\S?)');
+		s = s.replace(/\+/g, '(\\S+)');
+		s = s.replace(/\*/g, '(\\S*)');
+
+		return s;
+	},
+
+	_setupEntities : function() {
+		var n, a, i, s = this.settings;
+
+		// Setup entities
+		if (!this.entitiesDone) {
+			if (s.entity_encoding == "named") {
+				n = tinyMCE.clearArray(new Array());
+				a = this.split(',', s.entities);
+				for (i=0; i<a.length; i+=2)
+					n[a[i]] = a[i+1];
+
+				this.entities = n;
+			}
+
+			this.entitiesDone = true;
+		}
+	},
+
+	_setupRules : function() {
+		var s = this.settings;
+
+		// Setup default rule
+		if (!this.rulesDone) {
+			this.addRuleStr(s.valid_elements);
+			this.addRuleStr(s.extended_valid_elements);
+			this.addChildRemoveRuleStr(s.valid_child_elements);
+
+			this.rulesDone = true;
+		}
+	},
+
+	_isDuplicate : function(n) {
+		var i;
+
+		if (!this.settings.fix_content_duplication)
+			return false;
+
+		if (tinyMCE.isRealIE && n.nodeType == 1) {
+			// Mark elements
+			if (n.mce_serialized == this.serializationId)
+				return true;
+
+			n.setAttribute('mce_serialized', this.serializationId);
+		} else {
+			// Search lookup table for text nodes  and comments
+			for (i=0; i<this.serializedNodes.length; i++) {
+				if (this.serializedNodes[i] == n)
+					return true;
+			}
+
+			this.serializedNodes[this.serializedNodes.length] = n;
+		}
+
+		return false;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */
+
+TinyMCE_Engine.prototype.createTagHTML = function(tn, a, h) {
+	var o = '', f = tinyMCE.xmlEncode;
+
+	o = '<' + tn;
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				o += ' ' + f(n) + '="' + f('' + a[n]) + '"';
+		}
+	}
+
+	o += !h ? ' />' : '>' + h + '</' + tn + '>';
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.createTag = function(d, tn, a, h) {
+	var o = d.createElement(tn);
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				tinyMCE.setAttrib(o, n, a[n]);
+		}
+	}
+
+	if (h)
+		o.innerHTML = h;
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) {
+	return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
+};
+
+TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) {
+	var i, nl = n.getElementsByTagName(e), o = new Array();
+
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
+			o[o.length] = nl[i];
+	}
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.isBlockElement = function(n) {
+	return n != null && n.nodeType == 1 && this.blockRegExp.test(n.nodeName);
+};
+
+TinyMCE_Engine.prototype.getParentBlockElement = function(n, r) {
+	return this.getParentNode(n, function(n) {
+		return tinyMCE.isBlockElement(n);
+	}, r);
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.insertAfter = function(n, r){
+	if (r.nextSibling)
+		r.parentNode.insertBefore(n, r.nextSibling);
+	else
+		r.parentNode.appendChild(n);
+};
+
+TinyMCE_Engine.prototype.setInnerHTML = function(e, h) {
+	var i, nl, n;
+
+	// Convert all strong/em to b/i in Gecko
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<embed([^>]*)>/gi, '<tmpembed$1>');
+		h = h.replace(/<em([^>]*)>/gi, '<i$1>');
+		h = h.replace(/<tmpembed([^>]*)>/gi, '<embed$1>');
+		h = h.replace(/<strong([^>]*)>/gi, '<b$1>');
+		h = h.replace(/<\/strong>/gi, '</b>');
+		h = h.replace(/<\/em>/gi, '</i>');
+	}
+
+	if (tinyMCE.isRealIE) {
+		// Since MSIE handles invalid HTML better that valid XHTML we
+		// need to make some things invalid. <hr /> gets converted to <hr>.
+		h = h.replace(/\s\/>/g, '>');
+
+		// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones
+		h = h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s+<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+
+		// Remove first comment
+		e.innerHTML = tinyMCE.uniqueTag + h;
+		e.firstChild.removeNode(true);
+
+		// Remove weird auto generated empty paragraphs unless it's supposed to be there
+		nl = e.getElementsByTagName("p");
+		for (i=nl.length-1; i>=0; i--) {
+			n = nl[i];
+
+			if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep)
+				n.parentNode.removeChild(n);
+		}
+	} else {
+		h = this.fixGeckoBaseHREFBug(1, e, h);
+		e.innerHTML = h;
+		this.fixGeckoBaseHREFBug(2, e, h);
+	}
+};
+
+TinyMCE_Engine.prototype.getOuterHTML = function(e) {
+	if (tinyMCE.isIE)
+		return e.outerHTML;
+
+	var d = e.ownerDocument.createElement("body");
+	d.appendChild(e.cloneNode(true));
+	return d.innerHTML;
+};
+
+TinyMCE_Engine.prototype.setOuterHTML = function(e, h, d) {
+	var d = typeof(d) == "undefined" ? e.ownerDocument : d, i, nl, t;
+
+	if (tinyMCE.isIE && e.nodeType == 1)
+		e.outerHTML = h;
+	else {
+		t = d.createElement("body");
+		t.innerHTML = h;
+
+		for (i=0, nl=t.childNodes; i<nl.length; i++)
+			e.parentNode.insertBefore(nl[i].cloneNode(true), e);
+
+		e.parentNode.removeChild(e);
+	}
+};
+
+TinyMCE_Engine.prototype._getElementById = function(id, d) {
+	var e, i, j, f;
+
+	if (typeof(d) == "undefined")
+		d = document;
+
+	e = d.getElementById(id);
+	if (!e) {
+		f = d.forms;
+
+		for (i=0; i<f.length; i++) {
+			for (j=0; j<f[i].elements.length; j++) {
+				if (f[i].elements[j].name == id) {
+					e = f[i].elements[j];
+					break;
+				}
+			}
+		}
+	}
+
+	return e;
+};
+
+TinyMCE_Engine.prototype.getNodeTree = function(n, na, t, nn) {
+	return this.selectNodes(n, function(n) {
+		return (!t || n.nodeType == t) && (!nn || n.nodeName == nn);
+	}, na ? na : new Array());
+};
+
+TinyMCE_Engine.prototype.getParentElement = function(n, na, f, r) {
+	var re = na ? new RegExp('^(' + na.toUpperCase().replace(/,/g, '|') + ')$') : 0, v;
+
+	// Compatiblity with old scripts where f param was a attribute string
+	if (f && typeof(f) == 'string')
+		return this.getParentElement(n, na, function(no) {return tinyMCE.getAttrib(no, f) != '';});
+
+	return this.getParentNode(n, function(n) {
+		return ((n.nodeType == 1 && !re) || (re && re.test(n.nodeName))) && (!f || f(n));
+	}, r);
+};
+
+TinyMCE_Engine.prototype.getParentNode = function(n, f, r) {
+	while (n) {
+		if (n == r)
+			return null;
+
+		if (f(n))
+			return n;
+
+		n = n.parentNode;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.getAttrib = function(elm, name, dv) {
+	var v;
+
+	if (typeof(dv) == "undefined")
+		dv = "";
+
+	// Not a element
+	if (!elm || elm.nodeType != 1)
+		return dv;
+
+	try {
+		v = elm.getAttribute(name, 0);
+	} catch (ex) {
+		// IE 7 may cast exception on invalid attributes
+		v = elm.getAttribute(name, 2);
+	}
+
+	// Try className for class attrib
+	if (name == "class" && !v)
+		v = elm.className;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "src" && elm.src != null && elm.src != "")
+		v = elm.src;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "href" && elm.href != null && elm.href != "")
+		v = elm.href;
+
+	if (name == "http-equiv" && tinyMCE.isIE)
+		v = elm.httpEquiv;
+
+	if (name == "style" && !tinyMCE.isOpera)
+		v = elm.style.cssText;
+
+	return (v && v != "") ? v : dv;
+};
+
+TinyMCE_Engine.prototype.setAttrib = function(el, name, va, fix) {
+	if (typeof(va) == "number" && va != null)
+		va = "" + va;
+
+	if (fix) {
+		if (va == null)
+			va = "";
+
+		va = va.replace(/[^0-9%]/g, '');
+	}
+
+	if (name == "style")
+		el.style.cssText = va;
+
+	if (name == "class")
+		el.className = va;
+
+	if (va != null && va != "" && va != -1)
+		el.setAttribute(name, va);
+	else
+		el.removeAttribute(name);
+};
+
+TinyMCE_Engine.prototype.setStyleAttrib = function(e, n, v) {
+	e.style[n] = v;
+
+	// Style attrib deleted in IE
+	if (tinyMCE.isIE && v == null || v == '') {
+		v = tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));
+		e.style.cssText = v;
+		e.setAttribute("style", v);
+	}
+};
+
+TinyMCE_Engine.prototype.switchClass = function(ei, c) {
+	var e;
+
+	if (tinyMCE.switchClassCache[ei])
+		e = tinyMCE.switchClassCache[ei];
+	else
+		e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
+
+	if (e) {
+		// Keep tile mode
+		if (tinyMCE.settings.button_tile_map && e.className && e.className.indexOf('mceTiledButton') == 0)
+			c = 'mceTiledButton ' + c;
+
+		e.className = c;
+	}
+};
+
+TinyMCE_Engine.prototype.getAbsPosition = function(n, cn) {
+	var l = 0, t = 0;
+
+	while (n && n != cn) {
+		l += n.offsetLeft;
+		t += n.offsetTop;
+		n = n.offsetParent;
+	}
+
+	return {absLeft : l, absTop : t};
+};
+
+TinyMCE_Engine.prototype.prevNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.previousSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.nextNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.nextSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.selectElements = function(n, na, f) {
+	var i, a = [], nl, x;
+
+	for (x=0, na = na.split(','); x<na.length; x++)
+		for (i=0, nl = n.getElementsByTagName(na[x]); i<nl.length; i++)
+			(!f || f(nl[i])) && a.push(nl[i]);
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.selectNodes = function(n, f, a) {
+	var i;
+
+	if (!a)
+		a = new Array();
+
+	if (f(n))
+		a[a.length] = n;
+
+	if (n.hasChildNodes()) {
+		for (i=0; i<n.childNodes.length; i++)
+			tinyMCE.selectNodes(n.childNodes[i], f, a);
+	}
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.addCSSClass = function(e, c, b) {
+	var o = this.removeCSSClass(e, c);
+	return e.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+};
+
+TinyMCE_Engine.prototype.removeCSSClass = function(e, c) {
+	c = e.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+	return e.className = c != ' ' ? c : '';
+};
+
+TinyMCE_Engine.prototype.hasCSSClass = function(n, c) {
+	return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
+};
+
+TinyMCE_Engine.prototype.renameElement = function(e, n, d) {
+	var ne, i, ar;
+
+	d = typeof(d) == "undefined" ? tinyMCE.selectedInstance.getDoc() : d;
+
+	if (e) {
+		ne = d.createElement(n);
+
+		ar = e.attributes;
+		for (i=ar.length-1; i>-1; i--) {
+			if (ar[i].specified && ar[i].nodeValue)
+				ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
+		}
+
+		ar = e.childNodes;
+		for (i=0; i<ar.length; i++)
+			ne.appendChild(ar[i].cloneNode(true));
+
+		e.parentNode.replaceChild(ne, e);
+	}
+};
+
+TinyMCE_Engine.prototype.getViewPort = function(w) {
+	var d = w.document, m = d.compatMode == 'CSS1Compat', b = d.body, de = d.documentElement;
+
+	return {
+		left : w.pageXOffset || (m ? de.scrollLeft : b.scrollLeft),
+		top : w.pageYOffset || (m ? de.scrollTop : b.scrollTop),
+		width : w.innerWidth || (m ? de.clientWidth : b.clientWidth),
+		height : w.innerHeight || (m ? de.clientHeight : b.clientHeight)
+	};
+};
+
+TinyMCE_Engine.prototype.getStyle = function(n, na, d) {
+	if (!n)
+		return false;
+
+	// Gecko
+	if (tinyMCE.isGecko && n.ownerDocument.defaultView) {
+		try {
+			return n.ownerDocument.defaultView.getComputedStyle(n, null).getPropertyValue(na);
+		} catch (n) {
+			// Old safari might fail
+			return null;
+		}
+	}
+
+	// Camelcase it, if needed
+	na = na.replace(/-(\D)/g, function(a, b){
+		return b.toUpperCase();
+	});
+
+	// IE & Opera
+	if (n.currentStyle)
+		return n.currentStyle[na];
+
+	return false;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */
+
+TinyMCE_Engine.prototype.parseURL = function(url_str) {
+	var urlParts = new Array();
+
+	if (url_str) {
+		var pos, lastPos;
+
+		// Parse protocol part
+		pos = url_str.indexOf('://');
+		if (pos != -1) {
+			urlParts['protocol'] = url_str.substring(0, pos);
+			lastPos = pos + 3;
+		}
+
+		// Find port or path start
+		for (var i=lastPos; i<url_str.length; i++) {
+			var chr = url_str.charAt(i);
+
+			if (chr == ':')
+				break;
+
+			if (chr == '/')
+				break;
+		}
+		pos = i;
+
+		// Get host
+		urlParts['host'] = url_str.substring(lastPos, pos);
+
+		// Get port
+		urlParts['port'] = "";
+		lastPos = pos;
+		if (url_str.charAt(pos) == ':') {
+			pos = url_str.indexOf('/', lastPos);
+			urlParts['port'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get path
+		lastPos = pos;
+		pos = url_str.indexOf('?', lastPos);
+
+		if (pos == -1)
+			pos = url_str.indexOf('#', lastPos);
+
+		if (pos == -1)
+			pos = url_str.length;
+
+		urlParts['path'] = url_str.substring(lastPos, pos);
+
+		// Get query
+		lastPos = pos;
+		if (url_str.charAt(pos) == '?') {
+			pos = url_str.indexOf('#');
+			pos = (pos == -1) ? url_str.length : pos;
+			urlParts['query'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get anchor
+		lastPos = pos;
+		if (url_str.charAt(pos) == '#') {
+			pos = url_str.length;
+			urlParts['anchor'] = url_str.substring(lastPos+1, pos);
+		}
+	}
+
+	return urlParts;
+};
+
+TinyMCE_Engine.prototype.serializeURL = function(up) {
+	var o = "";
+
+	if (up['protocol'])
+		o += up['protocol'] + "://";
+
+	if (up['host'])
+		o += up['host'];
+
+	if (up['port'])
+		o += ":" + up['port'];
+
+	if (up['path'])
+		o += up['path'];
+
+	if (up['query'])
+		o += "?" + up['query'];
+
+	if (up['anchor'])
+		o += "#" + up['anchor'];
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
+	var baseURL = this.parseURL(base_url);
+	var targetURL = this.parseURL(url_to_relative);
+	var strTok1;
+	var strTok2;
+	var breakPoint = 0;
+	var outPath = "";
+	var forceSlash = false;
+
+	if (targetURL.path == "")
+		targetURL.path = "/";
+	else
+		forceSlash = true;
+
+	// Crop away last path part
+	base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
+	strTok1 = base_url.split('/');
+	strTok2 = targetURL.path.split('/');
+
+	if (strTok1.length >= strTok2.length) {
+		for (var i=0; i<strTok1.length; i++) {
+			if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (strTok1.length < strTok2.length) {
+		for (var i=0; i<strTok2.length; i++) {
+			if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (breakPoint == 1)
+		return targetURL.path;
+
+	for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
+		outPath += "../";
+
+	for (var i=breakPoint-1; i<strTok2.length; i++) {
+		if (i != (breakPoint-1))
+			outPath += "/" + strTok2[i];
+		else
+			outPath += strTok2[i];
+	}
+
+	targetURL.protocol = null;
+	targetURL.host = null;
+	targetURL.port = null;
+	targetURL.path = outPath == "" && forceSlash ? "/" : outPath;
+
+	// Remove document prefix from local anchors
+	var fileName = baseURL.path;
+	var pos;
+
+	if ((pos = fileName.lastIndexOf('/')) != -1)
+		fileName = fileName.substring(pos + 1);
+
+	// Is local anchor
+	if (fileName == targetURL.path && targetURL.anchor != "")
+		targetURL.path = "";
+
+	// If empty and not local anchor force filename or slash
+	if (targetURL.path == "" && !targetURL.anchor)
+		targetURL.path = fileName != "" ? fileName : "/";
+
+	return this.serializeURL(targetURL);
+};
+
+TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
+	var baseURL = this.parseURL(base_url), baseURLParts, relURLParts;
+	var relURL = this.parseURL(relative_url);
+
+	if (relative_url == "" || relative_url.indexOf('://') != -1 || /^(mailto:|javascript:|#|\/)/.test(relative_url))
+		return relative_url;
+
+	// Split parts
+	baseURLParts = baseURL['path'].split('/');
+	relURLParts = relURL['path'].split('/');
+
+	// Remove empty chunks
+	var newBaseURLParts = new Array();
+	for (var i=baseURLParts.length-1; i>=0; i--) {
+		if (baseURLParts[i].length == 0)
+			continue;
+
+		newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+	}
+	baseURLParts = newBaseURLParts.reverse();
+
+	// Merge relURLParts chunks
+	var newRelURLParts = new Array();
+	var numBack = 0;
+	for (var i=relURLParts.length-1; i>=0; i--) {
+		if (relURLParts[i].length == 0 || relURLParts[i] == ".")
+			continue;
+
+		if (relURLParts[i] == '..') {
+			numBack++;
+			continue;
+		}
+
+		if (numBack > 0) {
+			numBack--;
+			continue;
+		}
+
+		newRelURLParts[newRelURLParts.length] = relURLParts[i];
+	}
+
+	relURLParts = newRelURLParts.reverse();
+
+	// Remove end from absolute path
+	var len = baseURLParts.length-numBack;
+	var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
+	var start = "", end = "";
+
+	// Build output URL
+	relURL.protocol = baseURL.protocol;
+	relURL.host = baseURL.host;
+	relURL.port = baseURL.port;
+
+	// Re-add trailing slash if it's removed
+	if (relURL.path.charAt(relURL.path.length-1) == "/")
+		absPath += "/";
+
+	relURL.path = absPath;
+
+	return this.serializeURL(relURL);
+};
+
+TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) {
+	var prot = document.location.protocol;
+	var host = document.location.hostname;
+	var port = document.location.port;
+
+	// Pass through file protocol
+	if (prot == "file:")
+		return url;
+
+	// Something is wrong, remove weirdness
+	url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
+
+	// Mailto link or anchor (Pass through)
+	if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+		return url;
+
+	// Fix relative/Mozilla
+	if (!tinyMCE.isIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
+		return tinyMCE.settings['base_href'] + url;
+
+	// Handle relative URLs
+	if (on_save && tinyMCE.getParam('relative_urls')) {
+		var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+		if (curl.charAt(0) == '/')
+			curl = tinyMCE.settings['document_base_prefix'] + curl;
+
+		var urlParts = tinyMCE.parseURL(curl);
+		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
+
+		// Force relative
+		if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port']))
+			return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl);
+	}
+
+	// Handle absolute URLs
+	if (!tinyMCE.getParam('relative_urls')) {
+		var urlParts = tinyMCE.parseURL(url);
+		var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
+
+		// Force absolute URLs from relative URLs
+		url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+
+		// If anchor and path is the same page
+		if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
+			return "#" + urlParts['anchor'];
+	}
+
+	// Remove current domain
+	if (tinyMCE.getParam('remove_script_host')) {
+		var start = "", portPart = "";
+
+		if (port != "")
+			portPart = ":" + port;
+
+		start = prot + "//" + host + portPart + "/";
+
+		if (url.indexOf(start) == 0)
+			url = url.substring(start.length-1);
+	}
+
+	return url;
+};
+
+TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) {
+	var i, elms, src, href, mhref, msrc;
+
+	// Convert all image URL:s to absolute URL
+	elms = body.getElementsByTagName("img");
+	for (i=0; i<elms.length; i++) {
+		src = tinyMCE.getAttrib(elms[i], 'src');
+
+		msrc = tinyMCE.getAttrib(elms[i], 'mce_src');
+		if (msrc != "")
+			src = msrc;
+
+		if (src != "") {
+			src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+			elms[i].setAttribute("src", src);
+		}
+	}
+
+	// Convert all link URL:s to absolute URL
+	elms = body.getElementsByTagName("a");
+	for (i=0; i<elms.length; i++) {
+		href = tinyMCE.getAttrib(elms[i], 'href');
+
+		mhref = tinyMCE.getAttrib(elms[i], 'mce_href');
+		if (mhref != "")
+			href = mhref;
+
+		if (href && href != "") {
+			href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
+			elms[i].setAttribute("href", href);
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */
+
+TinyMCE_Engine.prototype.clearArray = function(a) {
+	var n;
+
+	for (n in a)
+		a[n] = null;
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.explode = function(d, s) {
+	var ar = s.split(d), oar = new Array(), i;
+
+	for (i = 0; i<ar.length; i++) {
+		if (ar[i] != "")
+			oar[oar.length] = ar[i];
+	}
+
+	return oar;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */
+
+TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
+	var evs, x, y, elms, i, event;
+	var events = ['onfocus','onblur','onclick','ondblclick',
+				'onmousedown','onmouseup','onmouseover','onmousemove',
+				'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];
+
+	evs = tinyMCE.settings['event_elements'].split(',');
+	for (y=0; y<evs.length; y++){
+		elms = node.getElementsByTagName(evs[y]);
+		for (i=0; i<elms.length; i++) {
+			event = "";
+
+			for (x=0; x<events.length; x++) {
+				if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
+					event = tinyMCE.cleanupEventStr("" + event);
+
+					if (!state)
+						event = "return true;" + event;
+					else
+						event = event.replace(/^return true;/gi, '');
+
+					elms[i].removeAttribute(events[x]);
+					elms[i].setAttribute(events[x], event);
+				}
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
+	var n, inst, win, e;
+
+	// Remove odd, error
+	if (typeof(tinyMCE) == "undefined")
+		return true;
+
+	try {
+		// Try selected instance first
+		if (tinyMCE.selectedInstance) {
+			win = tinyMCE.selectedInstance.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+
+		// Search for it
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.select();
+			win = inst.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+	} catch (ex) {
+		// Ignore error if iframe is pointing to external URL
+	}
+};
+
+TinyMCE_Engine.prototype.findEvent = function(e) {
+	var n, inst;
+
+	if (e)
+		return e;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (tinyMCE.isInstance(inst) && inst.getWin().event)
+			return inst.getWin().event;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.unloadHandler = function() {
+	tinyMCE.triggerSave(true, true);
+};
+
+TinyMCE_Engine.prototype.addEventHandlers = function(inst) {
+	this.setEventHandlers(inst, 1);
+};
+
+TinyMCE_Engine.prototype.setEventHandlers = function(inst, s) {
+	var doc = inst.getDoc(), ie, ot, i, f = s ? tinyMCE.addEvent : tinyMCE.removeEvent;
+
+	ie = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'controlselect', 'dblclick'];
+	ot = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'focus', 'blur', 'dragdrop'];
+
+	inst.switchSettings();
+
+	if (tinyMCE.isIE) {
+		for (i=0; i<ie.length; i++)
+			f(doc, ie[i], TinyMCE_Engine.prototype._eventPatch);
+	} else {
+		for (i=0; i<ot.length; i++)
+			f(doc, ot[i], tinyMCE.handleEvent);
+
+		// Force designmode
+		try {
+			doc.designMode = "On";
+		} catch (e) {
+			// Ignore
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.onMouseMove = function() {
+	var inst, lh;
+
+	// Fix for IE7 bug where it's not restoring hover on anchors correctly
+	if (tinyMCE.lastHover) {
+		lh = tinyMCE.lastHover;
+
+		// Call out on menus and refresh class on normal buttons
+		if (lh.className.indexOf('mceMenu') != -1)
+			tinyMCE._menuButtonEvent('out', lh);
+		else
+			lh.className = lh.className;
+
+		tinyMCE.lastHover = null;
+	}
+
+	if (!tinyMCE.hasMouseMoved) {
+		inst = tinyMCE.selectedInstance;
+
+		// Workaround for bug #1437457 (Odd MSIE bug)
+		if (inst.isFocused) {
+			inst.undoBookmark = inst.selection.getBookmark();
+			tinyMCE.hasMouseMoved = true;
+		}
+	}
+
+//	tinyMCE.cancelEvent(inst.getWin().event);
+//	return false;
+};
+
+TinyMCE_Engine.prototype.cancelEvent = function(e) {
+	if (!e)
+		return false;
+
+	if (tinyMCE.isIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else {
+		e.preventDefault();
+		e.stopPropagation && e.stopPropagation();
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
+	// Add cleanup for all non unload events
+	if (n != 'unload') {
+		function clean() {
+			var ex;
+
+			try {
+				tinyMCE.removeEvent(o, n, h);
+				tinyMCE.removeEvent(window, 'unload', clean);
+				o = n = h = null;
+			} catch (ex) {
+				// IE may produce access denied exception on unload
+			}
+		}
+
+		// Add memory cleaner
+		tinyMCE.addEvent(window, 'unload', clean);
+	}
+
+	if (o.attachEvent)
+		o.attachEvent("on" + n, h);
+	else
+		o.addEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.removeEvent = function(o, n, h) {
+	if (o.detachEvent)
+		o.detachEvent("on" + n, h);
+	else
+		o.removeEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
+	// Add event handlers 
+	if (!s._isAccessible) {
+		s.onkeydown = tinyMCE.accessibleEventHandler;
+		s.onblur = tinyMCE.accessibleEventHandler;
+		s._isAccessible = true;
+		s._win = w;
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
+	var win = this._win;
+	e = tinyMCE.isIE ? win.event : e;
+	var elm = tinyMCE.isIE ? e.srcElement : e.target;
+
+	// Unpiggyback onchange on blur
+	if (e.type == "blur") {
+		if (elm.oldonchange) {
+			elm.onchange = elm.oldonchange;
+			elm.oldonchange = null;
+		}
+
+		return true;
+	}
+
+	// Piggyback onchange
+	if (elm.nodeName == "SELECT" && !elm.oldonchange) {
+		elm.oldonchange = elm.onchange;
+		elm.onchange = null;
+	}
+
+	// Execute onchange and remove piggyback
+	if (e.keyCode == 13 || e.keyCode == 32) {
+		elm.onchange = elm.oldonchange;
+		elm.onchange();
+		elm.oldonchange = null;
+
+		tinyMCE.cancelEvent(e);
+		return false;
+	}
+
+	return true;
+};
+
+TinyMCE_Engine.prototype._resetIframeHeight = function() {
+	var ife;
+
+	if (tinyMCE.isRealIE) {
+		ife = tinyMCE.selectedInstance.iframeElement;
+
+/*		if (ife._oldWidth) {
+			ife.style.width = ife._oldWidth;
+			ife.width = ife._oldWidth;
+		}*/
+
+		if (ife._oldHeight) {
+			ife.style.height = ife._oldHeight;
+			ife.height = ife._oldHeight;
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */
+
+function TinyMCE_Selection(inst) {
+	this.instance = inst;
+};
+
+TinyMCE_Selection.prototype = {
+	getSelectedHTML : function() {
+		var inst = this.instance;
+		var e, r = this.getRng(), h;
+
+		if (!r)
+			return null;
+
+		e = document.createElement("body");
+
+		if (r.cloneContents)
+			e.appendChild(r.cloneContents());
+		else if (typeof(r.item) != 'undefined' || typeof(r.htmlText) != 'undefined')
+			e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
+		else
+			e.innerHTML = r.toString(); // Failed, use text for now
+
+		h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
+
+		// When editing always use fonts internaly
+		//if (tinyMCE.getParam("convert_fonts_to_spans"))
+		//	tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		return h;
+	},
+
+	getSelectedText : function() {
+		var inst = this.instance;
+		var d, r, s, t;
+
+		if (tinyMCE.isIE) {
+			d = inst.getDoc();
+
+			if (d.selection.type == "Text") {
+				r = d.selection.createRange();
+				t = r.text;
+			} else
+				t = '';
+		} else {
+			s = this.getSel();
+
+			if (s && s.toString)
+				t = s.toString();
+			else
+				t = '';
+		}
+
+		return t;
+	},
+
+	getBookmark : function(simple) {
+		var inst = this.instance;
+		var rng = this.getRng();
+		var doc = inst.getDoc(), b = inst.getBody();
+		var sp, le, s, e, nl, i, si, ei, w;
+		var trng, sx, sy, xx = -999999999, vp = inst.getViewPort();
+
+		sx = vp.left;
+		sy = vp.top;
+
+		if (tinyMCE.isSafari || tinyMCE.isOpera || simple)
+			return {rng : rng, scrollX : sx, scrollY : sy};
+
+		if (tinyMCE.isIE) {
+			if (rng.item) {
+				e = rng.item(0);
+
+				nl = b.getElementsByTagName(e.nodeName);
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}
+
+				return {
+					tag : e.nodeName,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				trng = doc.body.createTextRange();
+				trng.moveToElementText(inst.getBody());
+				trng.collapse(true);
+				bp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(true);
+				sp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(false);
+				le = Math.abs(trng.move('character', xx)) - sp;
+
+				return {
+					start : sp - bp,
+					length : le,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		if (tinyMCE.isGecko) {
+			s = this.getSel();
+			e = this.getFocusElement();
+
+			if (!s)
+				return null;
+
+			if (e && e.nodeName == 'IMG') {
+				/*nl = b.getElementsByTagName('IMG');
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}*/
+
+				return {
+					start : -1,
+					end : -1,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+
+			// Caret or selection
+			if (s.anchorNode == s.focusNode && s.anchorOffset == s.focusOffset) {
+				e = this._getPosText(b, s.anchorNode, s.focusNode);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + s.anchorOffset,
+					end : e.end + s.focusOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				e = this._getPosText(b, rng.startContainer, rng.endContainer);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + rng.startOffset,
+					end : e.end + rng.endOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		return null;
+	},
+
+	moveToBookmark : function(bookmark) {
+		var inst = this.instance;
+		var rng, nl, i, ex, b = inst.getBody(), sd;
+		var doc = inst.getDoc();
+		var win = inst.getWin();
+		var sel = this.getSel();
+
+		if (!bookmark)
+			return false;
+
+		if (tinyMCE.isSafari) {
+			sel.setBaseAndExtent(bookmark.rng.startContainer, bookmark.rng.startOffset, bookmark.rng.endContainer, bookmark.rng.endOffset);
+			return true;
+		}
+
+		if (tinyMCE.isRealIE) {
+			if (bookmark.rng) {
+				try {
+					bookmark.rng.select();
+				} catch (ex) {
+					// Ignore
+				}
+
+				return true;
+			}
+
+			win.focus();
+
+			if (bookmark.tag) {
+				rng = b.createControlRange();
+
+				nl = b.getElementsByTagName(bookmark.tag);
+
+				if (nl.length > bookmark.index) {
+					try {
+						rng.addElement(nl[bookmark.index]);
+					} catch (ex) {
+						// Might be thrown if the node no longer exists
+					}
+				}
+			} else {
+				// Try/catch needed since this operation breaks when TinyMCE is placed in hidden divs/tabs
+				try {
+					// Incorrect bookmark
+					if (bookmark.start < 0)
+						return true;
+
+					rng = inst.getSel().createRange();
+					rng.moveToElementText(inst.getBody());
+					rng.collapse(true);
+					rng.moveStart('character', bookmark.start);
+					rng.moveEnd('character', bookmark.length);
+				} catch (ex) {
+					return true;
+				}
+			}
+
+			rng.select();
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		if (tinyMCE.isGecko || tinyMCE.isOpera) {
+			if (!sel)
+				return false;
+
+			if (bookmark.rng) {
+				sel.removeAllRanges();
+				sel.addRange(bookmark.rng);
+			}
+
+			if (bookmark.start != -1 && bookmark.end != -1) {
+				try {
+					sd = this._getTextPos(b, bookmark.start, bookmark.end);
+					rng = doc.createRange();
+					rng.setStart(sd.startNode, sd.startOffset);
+					rng.setEnd(sd.endNode, sd.endOffset);
+					sel.removeAllRanges();
+					sel.addRange(rng);
+					win.focus();
+				} catch (ex) {
+					// Ignore
+				}
+			}
+
+			/*
+			if (typeof(bookmark.index) != 'undefined') {
+				tinyMCE.selectElements(b, 'IMG', function (n) {
+					if (bookmark.index-- == 0) {
+						// Select image in Gecko here
+					}
+
+					return false;
+				});
+			}
+			*/
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		return false;
+	},
+
+	_getPosText : function(r, sn, en) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			if (n == sn)
+				d.start = p;
+
+			if (n == en) {
+				d.end = p;
+				return d;
+			}
+
+			p += n.nodeValue ? n.nodeValue.length : 0;
+		}
+
+		return null;
+	},
+
+	_getTextPos : function(r, sp, ep) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			p += n.nodeValue ? n.nodeValue.length : 0;
+
+			if (p >= sp && !d.startNode) {
+				d.startNode = n;
+				d.startOffset = sp - (p - n.nodeValue.length);
+			}
+
+			if (p >= ep) {
+				d.endNode = n;
+				d.endOffset = ep - (p - n.nodeValue.length);
+
+				return d;
+			}
+		}
+
+		return null;
+	},
+
+	selectNode : function(node, collapse, select_text_node, to_start) {
+		var inst = this.instance, sel, rng, nodes;
+
+		if (!node)
+			return;
+
+		if (typeof(collapse) == "undefined")
+			collapse = true;
+
+		if (typeof(select_text_node) == "undefined")
+			select_text_node = false;
+
+		if (typeof(to_start) == "undefined")
+			to_start = true;
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		if (tinyMCE.isRealIE) {
+			rng = inst.getDoc().body.createTextRange();
+
+			try {
+				rng.moveToElementText(node);
+
+				if (collapse)
+					rng.collapse(to_start);
+
+				rng.select();
+			} catch (e) {
+				// Throws illigal agrument in MSIE some times
+			}
+		} else {
+			sel = this.getSel();
+
+			if (!sel)
+				return;
+
+			if (tinyMCE.isSafari) {
+				sel.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+				if (collapse) {
+					if (to_start)
+						sel.collapseToStart();
+					else
+						sel.collapseToEnd();
+				}
+
+				this.scrollToNode(node);
+
+				return;
+			}
+
+			rng = inst.getDoc().createRange();
+
+			if (select_text_node) {
+				// Find first textnode in tree
+				nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+				if (nodes.length > 0)
+					rng.selectNodeContents(nodes[0]);
+				else
+					rng.selectNodeContents(node);
+			} else
+				rng.selectNode(node);
+
+			if (collapse) {
+				// Special treatment of textnode collapse
+				if (!to_start && node.nodeType == 3) {
+					rng.setStart(node, node.nodeValue.length);
+					rng.setEnd(node, node.nodeValue.length);
+				} else
+					rng.collapse(to_start);
+			}
+
+			sel.removeAllRanges();
+			sel.addRange(rng);
+		}
+
+		this.scrollToNode(node);
+
+		// Set selected element
+		tinyMCE.selectedElement = null;
+		if (node.nodeType == 1)
+			tinyMCE.selectedElement = node;
+	},
+
+	scrollToNode : function(node) {
+		var inst = this.instance, w = inst.getWin(), vp = inst.getViewPort(), pos = tinyMCE.getAbsPosition(node), cvp, p, cwin;
+
+		// Only scroll if out of visible area
+		if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25))
+			w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25);
+
+		// Scroll container window
+		if (inst.settings.auto_resize) {
+			cwin = inst.getContainerWin();
+			cvp = tinyMCE.getViewPort(cwin);
+			p = this.getAbsPosition(node);
+
+			if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || p.absTop < cvp.top || p.absTop > cvp.top + cvp.height)
+				cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25);
+		}
+	},
+
+	getAbsPosition : function(n) {
+		var pos = tinyMCE.getAbsPosition(n), ipos = tinyMCE.getAbsPosition(this.instance.iframeElement);
+
+		return {
+			absLeft : ipos.absLeft + pos.absLeft,
+			absTop : ipos.absTop + pos.absTop
+		};
+	},
+
+	getSel : function() {
+		var inst = this.instance;
+
+		if (tinyMCE.isRealIE)
+			return inst.getDoc().selection;
+
+		return inst.contentWindow.getSelection();
+	},
+
+	getRng : function() {
+		var s = this.getSel();
+
+		if (s == null)
+			return null;
+
+		if (tinyMCE.isRealIE)
+			return s.createRange();
+
+		if (tinyMCE.isSafari && !s.getRangeAt)
+			return '' + window.getSelection();
+
+		if (s.rangeCount > 0)
+			return s.getRangeAt(0);
+
+		return null;
+	},
+
+	isCollapsed : function() {
+		var r = this.getRng();
+
+		if (r.item)
+			return false;
+
+		return r.boundingWidth == 0 || this.getSel().isCollapsed;
+	},
+
+	collapse : function(b) {
+		var r = this.getRng(), s = this.getSel();
+
+		if (r.select) {
+			r.collapse(b);
+			r.select();
+		} else {
+			if (b)
+				s.collapseToStart();
+			else
+				s.collapseToEnd();
+		}
+	},
+
+	getFocusElement : function() {
+		var inst = this.instance, doc, rng, sel, elm;
+
+		if (tinyMCE.isRealIE) {
+			doc = inst.getDoc();
+			rng = doc.selection.createRange();
+
+	//		if (rng.collapse)
+	//			rng.collapse(true);
+
+			elm = rng.item ? rng.item(0) : rng.parentElement();
+		} else {
+			if (!tinyMCE.isSafari && inst.isHidden())
+				return inst.getBody();
+
+			sel = this.getSel();
+			rng = this.getRng();
+
+			if (!sel || !rng)
+				return null;
+
+			elm = rng.commonAncestorContainer;
+			//elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
+
+			// Handle selection a image or other control like element such as anchors
+			if (!rng.collapsed) {
+				// Is selection small
+				if (rng.startContainer == rng.endContainer) {
+					if (rng.startOffset - rng.endOffset < 2) {
+						if (rng.startContainer.hasChildNodes())
+							elm = rng.startContainer.childNodes[rng.startOffset];
+					}
+				}
+			}
+
+			// Get the element parent of the node
+			elm = tinyMCE.getParentElement(elm);
+
+			//if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
+			//	elm = tinyMCE.selectedElement;
+		}
+
+		return elm;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */
+
+function TinyMCE_UndoRedo(inst) {
+	this.instance = inst;
+	this.undoLevels = new Array();
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+	this.undoRedo = true;
+};
+
+TinyMCE_UndoRedo.prototype = {
+	add : function(l) {
+		var b, customUndoLevels, newHTML, inst = this.instance, i, ul, ur;
+
+		if (l) {
+			this.undoLevels[this.undoLevels.length] = l;
+			return true;
+		}
+
+		if (this.typingUndoIndex != -1) {
+			this.undoIndex = this.typingUndoIndex;
+
+			if (tinyMCE.typingUndoIndex != -1)
+				tinyMCE.undoIndex = tinyMCE.typingUndoIndex;
+		}
+
+		newHTML = tinyMCE.trim(inst.getBody().innerHTML);
+		if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) {
+			//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content);
+
+			tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst);
+
+			// Time to compress
+			customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
+			if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
+				for (i=0; i<this.undoLevels.length-1; i++)
+					this.undoLevels[i] = this.undoLevels[i+1];
+
+				this.undoLevels.length--;
+				this.undoIndex--;
+
+				// Todo: Implement global undo/redo logic here
+			}
+
+			b = inst.undoBookmark;
+
+			if (!b)
+				b = inst.selection.getBookmark();
+
+			this.undoIndex++;
+			this.undoLevels[this.undoIndex] = {
+				content : newHTML,
+				bookmark : b
+			};
+
+			// Remove all above from global undo/redo
+			ul = tinyMCE.undoLevels;
+			for (i=tinyMCE.undoIndex + 1; i<ul.length; i++) {
+				ur = ul[i].undoRedo;
+
+				if (ur.undoIndex == ur.undoLevels.length -1)
+					ur.undoIndex--;
+
+				ur.undoLevels.length--;
+			}
+
+			// Add global undo level
+			tinyMCE.undoLevels[tinyMCE.undoIndex++] = inst;
+			tinyMCE.undoLevels.length = tinyMCE.undoIndex;
+
+			this.undoLevels.length = this.undoIndex + 1;
+
+			return true;
+		}
+
+		return false;
+	},
+
+	undo : function() {
+		var inst = this.instance;
+
+		// Do undo
+		if (this.undoIndex > 0) {
+			this.undoIndex--;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+	},
+
+	redo : function() {
+		var inst = this.instance;
+
+		tinyMCE.execCommand("mceEndTyping");
+
+		if (this.undoIndex < (this.undoLevels.length-1)) {
+			this.undoIndex++;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+
+		tinyMCE.triggerNodeChange();
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */
+
+var TinyMCE_ForceParagraphs = {
+	_insertPara : function(inst, e) {
+		var doc = inst.getDoc(), sel = inst.getSel(), body = inst.getBody(), win = inst.contentWindow, rng = sel.getRangeAt(0);
+		var rootElm = doc.documentElement, blockName = "P", startNode, endNode, startBlock, endBlock;
+		var rngBefore, rngAfter, direct, startNode, startOffset, endNode, endOffset, b = tinyMCE.isOpera ? inst.selection.getBookmark() : null;
+		var paraBefore, paraAfter, startChop, endChop, contents;
+
+		function isEmpty(para) {
+			function isEmptyHTML(html) {
+				return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
+			}
+
+			// Check for images
+			if (para.getElementsByTagName("img").length > 0)
+				return false;
+
+			// Check for tables
+			if (para.getElementsByTagName("table").length > 0)
+				return false;
+
+			// Check for HRs
+			if (para.getElementsByTagName("hr").length > 0)
+				return false;
+
+			// Check all textnodes
+			var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+			for (var i=0; i<nodes.length; i++) {
+				if (!isEmptyHTML(nodes[i].nodeValue))
+					return false;
+			}
+
+			// No images, no tables, no hrs, no text content then it's empty
+			return true;
+		}
+
+	//	tinyMCE.debug(body.innerHTML);
+
+	//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
+
+		// Setup before range
+		rngBefore = doc.createRange();
+		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+		rngBefore.collapse(true);
+
+		// Setup after range
+		rngAfter = doc.createRange();
+		rngAfter.setStart(sel.focusNode, sel.focusOffset);
+		rngAfter.collapse(true);
+
+		// Setup start/end points
+		direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
+		startNode = direct ? sel.anchorNode : sel.focusNode;
+		startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+		endNode = direct ? sel.focusNode : sel.anchorNode;
+		endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+		startNode = startNode.nodeName == "BODY" ? startNode.firstChild : startNode;
+		endNode = endNode.nodeName == "BODY" ? endNode.firstChild : endNode;
+
+		// Get block elements
+		startBlock = inst.getParentBlockElement(startNode);
+		endBlock = inst.getParentBlockElement(endNode);
+
+		// If absolute force paragraph generation within
+		if (startBlock && new RegExp('absolute|relative|static', 'gi').test(startBlock.style.position))
+			startBlock = null;
+
+		if (endBlock && new RegExp('absolute|relative|static', 'gi').test(endBlock.style.position))
+			endBlock = null;
+
+		// Use current block name
+		if (startBlock != null) {
+			blockName = startBlock.nodeName;
+
+			// Use P instead
+			if (blockName == "TD" || blockName == "TABLE" || (blockName == "DIV" && new RegExp('left|right', 'gi').test(startBlock.style.cssFloat)))
+				blockName = "P";
+		}
+
+		// Within a list use normal behaviour
+		if (tinyMCE.getParentElement(startBlock, "OL,UL", null, body) != null)
+			return false;
+
+		// Within a table create new paragraphs
+		if ((startBlock != null && startBlock.nodeName == "TABLE") || (endBlock != null && endBlock.nodeName == "TABLE"))
+			startBlock = endBlock = null;
+
+		// Setup new paragraphs
+		paraBefore = (startBlock != null && startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+		paraAfter = (endBlock != null && endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+		// Is header, then force paragraph under
+		if (/^(H[1-6])$/.test(blockName))
+			paraAfter = doc.createElement("p");
+
+		// Setup chop nodes
+		startChop = startNode;
+		endChop = endNode;
+
+		// Get startChop node
+		node = startChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			startChop = node;
+		} while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+		// Get endChop node
+		node = endChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			endChop = node;
+		} while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+		// Fix when only a image is within the TD
+		if (startChop.nodeName == "TD")
+			startChop = startChop.firstChild;
+
+		if (endChop.nodeName == "TD")
+			endChop = endChop.lastChild;
+
+		// If not in a block element
+		if (startBlock == null) {
+			// Delete selection
+			rng.deleteContents();
+
+			if (!tinyMCE.isSafari)
+				sel.removeAllRanges();
+
+			if (startChop != rootElm && endChop != rootElm) {
+				// Insert paragraph before
+				rngBefore = rng.cloneRange();
+
+				if (startChop == body)
+					rngBefore.setStart(startChop, 0);
+				else
+					rngBefore.setStartBefore(startChop);
+
+				paraBefore.appendChild(rngBefore.cloneContents());
+
+				// Insert paragraph after
+				if (endChop.parentNode.nodeName == blockName)
+					endChop = endChop.parentNode;
+
+				// If not after image
+				//if (rng.startContainer.nodeName != "BODY" && rng.endContainer.nodeName != "BODY")
+					rng.setEndAfter(endChop);
+
+				if (endChop.nodeName != "#text" && endChop.nodeName != "BODY")
+					rngBefore.setEndAfter(endChop);
+
+				contents = rng.cloneContents();
+				if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == "BODY"))
+					paraAfter.innerHTML = contents.firstChild.innerHTML;
+				else
+					paraAfter.appendChild(contents);
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraBefore))
+					paraBefore.innerHTML = "&nbsp;";
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraAfter))
+					paraAfter.innerHTML = "&nbsp;";
+
+				// Delete old contents
+				rng.deleteContents();
+				rngAfter.deleteContents();
+				rngBefore.deleteContents();
+
+				// Insert new paragraphs
+				if (tinyMCE.isOpera) {
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+				} else {
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+				}
+
+				//tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
+			} else {
+				body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
+				paraAfter = body.childNodes[1];
+			}
+
+			inst.selection.moveToBookmark(b);
+			inst.selection.selectNode(paraAfter, true, true);
+
+			return true;
+		}
+
+		// Place first part within new paragraph
+		if (startChop.nodeName == blockName)
+			rngBefore.setStart(startChop, 0);
+		else
+			rngBefore.setStartBefore(startChop);
+
+		rngBefore.setEnd(startNode, startOffset);
+		paraBefore.appendChild(rngBefore.cloneContents());
+
+		// Place secound part within new paragraph
+		rngAfter.setEndAfter(endChop);
+		rngAfter.setStart(endNode, endOffset);
+		contents = rngAfter.cloneContents();
+
+		if (contents.firstChild && contents.firstChild.nodeName == blockName) {
+	/*		var nodes = contents.firstChild.childNodes;
+			for (var i=0; i<nodes.length; i++) {
+				//tinyMCE.debug(nodes[i].nodeName);
+				if (nodes[i].nodeName != "BODY")
+					paraAfter.appendChild(nodes[i]);
+			}
+	*/
+			paraAfter.innerHTML = contents.firstChild.innerHTML;
+		} else
+			paraAfter.appendChild(contents);
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraBefore))
+			paraBefore.innerHTML = "&nbsp;";
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraAfter))
+			paraAfter.innerHTML = "&nbsp;";
+
+		// Create a range around everything
+		rng = doc.createRange();
+
+		if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
+			rng.setStartBefore(startChop.parentNode);
+		} else {
+			if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
+				rng.setStartBefore(rngBefore.startContainer);
+			else
+				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+		}
+
+		if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
+			rng.setEndAfter(endChop.parentNode);
+		else
+			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+		// Delete all contents and insert new paragraphs
+		rng.deleteContents();
+
+		if (tinyMCE.isOpera) {
+			rng.insertNode(paraBefore);
+			rng.insertNode(paraAfter);
+		} else {
+			rng.insertNode(paraAfter);
+			rng.insertNode(paraBefore);
+		}
+
+		//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
+
+		// Normalize
+		paraAfter.normalize();
+		paraBefore.normalize();
+
+		inst.selection.moveToBookmark(b);
+		inst.selection.selectNode(paraAfter, true, true);
+
+		return true;
+	},
+
+	_handleBackSpace : function(inst) {
+		var r = inst.getRng(), sn = r.startContainer, nv, s = false;
+
+		// Added body check for bug #1527787
+		if (sn && sn.nextSibling && sn.nextSibling.nodeName == "BR" && sn.parentNode.nodeName != "BODY") {
+			nv = sn.nodeValue;
+
+			// Handle if a backspace is pressed after a space character #bug 1466054 removed since fix for #1527787
+			/*if (nv != null && nv.length >= r.startOffset && nv.charAt(r.startOffset - 1) == ' ')
+				s = true;*/
+
+			// Only remove BRs if we are at the end of line #bug 1464152
+			if (nv != null && r.startOffset == nv.length)
+				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
+		}
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		return s;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */
+
+function TinyMCE_Layer(id, bm) {
+	this.id = id;
+	this.blockerElement = null;
+	this.events = false;
+	this.element = null;
+	this.blockMode = typeof(bm) != 'undefined' ? bm : true;
+	this.doc = document;
+};
+
+TinyMCE_Layer.prototype = {
+	moveRelativeTo : function(re, p) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var e = this.getElement();
+		var ew = parseInt(e.offsetWidth);
+		var eh = parseInt(e.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				x = rep.absLeft;
+				y = rep.absTop;
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				x = rep.absLeft;
+				y = rep.absTop + h;
+				break;
+
+			case "br":
+				x = rep.absLeft + w;
+				y = rep.absTop + h;
+				break;
+
+			case "cc":
+				x = rep.absLeft + (w / 2) - (ew / 2);
+				y = rep.absTop + (h / 2) - (eh / 2);
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(x, y) {
+		var e = this.getElement();
+		this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	resizeBy : function(w, h) {
+		var e = this.getElement();
+		this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
+	},
+
+	resizeTo : function(w, h) {
+		var e = this.getElement();
+
+		if (w != null)
+			e.style.width = w + "px";
+
+		if (h != null)
+			e.style.height = h + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'block';
+			this.updateBlocker();
+		}
+	},
+
+	hide : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'none';
+			this.updateBlocker();
+		}
+	},
+
+	isVisible : function() {
+		return this.getElement().style.display == 'block';
+	},
+
+	getElement : function() {
+		if (!this.element)
+			this.element = this.doc.getElementById(this.id);
+
+		return this.element;
+	},
+
+	setBlockMode : function(s) {
+		this.blockMode = s;
+	},
+
+	updateBlocker : function() {
+		var e, b, x, y, w, h;
+
+		b = this.getBlocker();
+		if (b) {
+			if (this.blockMode) {
+				e = this.getElement();
+				x = this.parseInt(e.style.left);
+				y = this.parseInt(e.style.top);
+				w = this.parseInt(e.offsetWidth);
+				h = this.parseInt(e.offsetHeight);
+
+				b.style.left = x + 'px';
+				b.style.top = y + 'px';
+				b.style.width = w + 'px';
+				b.style.height = h + 'px';
+				b.style.display = e.style.display;
+			} else
+				b.style.display = 'none';
+		}
+	},
+
+	getBlocker : function() {
+		var d, b;
+
+		if (!this.blockerElement && this.blockMode) {
+			d = this.doc;
+			b = d.getElementById(this.id + "_blocker");
+
+			if (!b) {
+				b = d.createElement("iframe");
+
+				b.setAttribute('id', this.id + "_blocker");
+				b.style.cssText = 'display: none; position: absolute; left: 0; top: 0';
+				b.src = 'javascript:false;';
+				b.frameBorder = '0';
+				b.scrolling = 'no';
+	
+				d.body.appendChild(b);
+			}
+
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	create : function(n, c, p, h) {
+		var d = this.doc, e = d.createElement(n);
+
+		e.setAttribute('id', this.id);
+
+		if (c)
+			e.className = c;
+
+		if (!p)
+			p = d.body;
+
+		if (h)
+			e.innerHTML = h;
+
+		p.appendChild(e);
+
+		return this.element = e;
+	},
+
+	exists : function() {
+		return this.doc.getElementById(this.id) != null;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	},
+
+	remove : function() {
+		var e = this.getElement(), b = this.getBlocker();
+
+		if (e)
+			e.parentNode.removeChild(e);
+
+		if (b)
+			b.parentNode.removeChild(b);
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */
+
+function TinyMCE_Menu() {
+	var id;
+
+	if (typeof(tinyMCE.menuCounter) == "undefined")
+		tinyMCE.menuCounter = 0;
+
+	id = "mc_menu_" + tinyMCE.menuCounter++;
+
+	TinyMCE_Layer.call(this, id, true);
+
+	this.id = id;
+	this.items = new Array();
+	this.needsUpdate = true;
+};
+
+TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, {
+	init : function(s) {
+		var n;
+
+		// Default params
+		this.settings = {
+			separator_class : 'mceMenuSeparator',
+			title_class : 'mceMenuTitle',
+			disabled_class : 'mceMenuDisabled',
+			menu_class : 'mceMenu',
+			drop_menu : true
+		};
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		this.create('div', this.settings.menu_class);
+	},
+
+	clear : function() {
+		this.items = new Array();
+	},
+
+	addTitle : function(t) {
+		this.add({type : 'title', text : t});
+	},
+
+	addDisabled : function(t) {
+		this.add({type : 'disabled', text : t});
+	},
+
+	addSeparator : function() {
+		this.add({type : 'separator'});
+	},
+
+	addItem : function(t, js) {
+		this.add({text : t, js : js});
+	},
+
+	add : function(mi) {
+		this.items[this.items.length] = mi;
+		this.needsUpdate = true;
+	},
+
+	update : function() {
+		var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings;
+
+		if (this.settings.drop_menu)
+			h += '<span class="mceMenuLine"></span>';
+
+		h += '<table border="0" cellpadding="0" cellspacing="0">';
+
+		for (i=0; i<m.length; i++) {
+			t = tinyMCE.xmlEncode(m[i].text);
+			c = m[i].class_name ? ' class="' + m[i].class_name + '"' : '';
+
+			switch (m[i].type) {
+				case 'separator':
+					h += '<tr class="' + s.separator_class + '"><td>';
+					break;
+
+				case 'title':
+					h += '<tr class="' + s.title_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				case 'disabled':
+					h += '<tr class="' + s.disabled_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				default:
+					h += '<tr><td><a href="' + tinyMCE.xmlEncode(m[i].js) + '" onmousedown="' + tinyMCE.xmlEncode(m[i].js) + ';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span' + c +'>' + t + '</span></a>';
+			}
+
+			h += '</td></tr>';
+		}
+
+		h += '</table>';
+
+		e.innerHTML = h;
+
+		this.needsUpdate = false;
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var nl, i;
+
+		if (tinyMCE.lastMenu == this)
+			return;
+
+		if (this.needsUpdate)
+			this.update();
+
+		if (tinyMCE.lastMenu && tinyMCE.lastMenu != this)
+			tinyMCE.lastMenu.hide();
+
+		TinyMCE_Layer.prototype.show.call(this);
+
+		if (!tinyMCE.isOpera) {
+			// Accessibility stuff
+/*			nl = this.getElement().getElementsByTagName("a");
+			if (nl.length > 0)
+				nl[0].focus();*/
+		}
+
+		tinyMCE.lastMenu = this;
+	}
+
+	});
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Compatibility.class.js */
+
+if (!Function.prototype.call) {
+	Function.prototype.call = function() {
+		var a = arguments, s = a[0], i, as = '', r, o;
+
+		for (i=1; i<a.length; i++)
+			as += (i > 1 ? ',' : '') + 'a[' + i + ']';
+
+		o = s._fu;
+		s._fu = this;
+		r = eval('s._fu(' + as + ')');
+		s._fu = o;
+
+		return r;
+	};
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */
+
+TinyMCE_Engine.prototype.debug = function() {
+	var m = "", a, i, l = tinyMCE.log.length;
+
+	for (i=0, a = this.debug.arguments; i<a.length; i++) {
+		m += a[i];
+
+		if (i<a.length-1)
+			m += ', ';
+	}
+
+	if (l < 1000)
+		tinyMCE.log[l] = "[debug] " + m;
+};
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+/**
+ * $Id: editable_selects.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Makes select boxes editable.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_EditableSelects = {
+	editSelectElm : null,
+
+	init : function() {
+		var nl = document.getElementsByTagName("select"), i, d = document, o;
+
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].className.indexOf('mceEditableSelect') != -1) {
+				o = new Option('(value)', '__mce_add_custom__');
+
+				o.className = 'mceAddSelectValue';
+
+				nl[i].options[nl[i].options.length] = o;
+				nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);');
+			}
+		}
+	},
+
+	onChangeEditableSelect : function(se) {
+		var d = document, ne;
+
+		if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
+			ne = d.createElement("input");
+			ne.id = se.id + "_custom";
+			ne.name = se.name + "_custom";
+			ne.type = "text";
+
+			ne.style.width = se.clientWidth;
+			se.parentNode.insertBefore(ne, se);
+			se.style.display = 'none';
+			ne.focus();
+			ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
+			TinyMCE_EditableSelects.editSelectElm = se;
+		}
+	},
+
+	onBlurEditableSelectInput : function() {
+		var se = TinyMCE_EditableSelects.editSelectElm;
+
+		if (se) {
+			if (se.previousSibling.value != '') {
+				addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
+				selectByValue(document.forms[0], se.id, se.previousSibling.value);
+			} else
+				selectByValue(document.forms[0], se.id, '');
+
+			se.style.display = 'inline';
+			se.parentNode.removeChild(se.previousSibling);
+			TinyMCE_EditableSelects.editSelectElm = null;
+		}
+	}
+};

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: form_utils.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form utilitiy functions.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var themeBaseURL = tinyMCE.baseURL + '/themes/' + tinyMCE.getParam("theme");
+
+function getColorPickerHTML(id, target_form_element) {
+	var h = "";
+
+	h += '<a id="' + id + '_link" href="javascript:void(0);" onkeydown="pickColor(event,\'' + target_form_element +'\');" onmousedown="pickColor(event,\'' + target_form_element +'\');return false;">';
+	h += '<img id="' + id + '" src="' + themeBaseURL + '/images/color.gif"';
+	h += ' onmouseover="this.className=\'mceButtonOver\'"';
+	h += ' onmouseout="this.className=\'mceButtonNormal\'"';
+	h += ' onmousedown="this.className=\'mceButtonDown\'"';
+	h += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	h += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return h;
+}
+
+function pickColor(e, target_form_element) {
+	if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
+		tinyMCEPopup.pickColor(e, target_form_element);
+}
+
+function updateColor(img_id, form_element_id) {
+	document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+	var img = document.getElementById(id);
+	var lnk = document.getElementById(id + "_link");
+
+	if (lnk) {
+		if (state) {
+			lnk.setAttribute("realhref", lnk.getAttribute("href"));
+			lnk.removeAttribute("href");
+			tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+		} else {
+			lnk.setAttribute("href", lnk.getAttribute("realhref"));
+			tinyMCE.switchClass(img, 'mceButtonNormal', false);
+		}
+	}
+}
+
+function getBrowserHTML(id, target_form_element, type, prefix) {
+	var option = prefix + "_" + type + "_browser_callback";
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+	if (cb == null)
+		return "";
+
+	var html = "";
+
+	html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
+	html += '<img id="' + id + '" src="' + themeBaseURL + '/images/browse.gif"';
+	html += ' onmouseover="this.className=\'mceButtonOver\';"';
+	html += ' onmouseout="this.className=\'mceButtonNormal\';"';
+	html += ' onmousedown="this.className=\'mceButtonDown\';"';
+	html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return html;
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+	var img = document.getElementById(img_id);
+
+	if (img.className != "mceButtonDisabled")
+		tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option(value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+		sel.selectedIndex = sel.options.length - 1;
+	}
+
+	return found;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function addSelectValue(form_obj, field_name, name, value) {
+	var s = form_obj.elements[field_name];
+	var o = new Option(name, value);
+	s.options[s.options.length] = o;
+}
+
+function addClassesToList(list_id, specific_option) {
+	// Setup class droplist
+	var styleSelectElm = document.getElementById(list_id);
+	var styles = tinyMCE.getParam('theme_advanced_styles', false);
+	styles = tinyMCE.getParam(specific_option, styles);
+
+	if (styles) {
+		var stylesAr = styles.split(';');
+
+		for (var i=0; i<stylesAr.length; i++) {
+			if (stylesAr != "") {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
+			}
+		}
+	} else {
+		// Use auto impored classes
+		var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
+		for (var i=0; i<csses.length; i++)
+			styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
+	}
+}
+
+function isVisible(element_id) {
+	var elm = document.getElementById(element_id);
+
+	return elm && elm.style.display != "none";
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return "rgb(" + r + "," + g + "," + b + ")";
+	}
+
+	return col;
+}
+
+function trimSize(size) {
+	return size.replace(new RegExp('[^0-9%]', 'gi'), '');
+}
+
+function getCSSSize(size) {
+	size = trimSize(size);
+
+	if (size == "")
+		return "";
+
+	return size.indexOf('%') != -1 ? size : size + "px";
+}
+
+function getStyle(elm, attrib, style) {
+	var val = tinyMCE.getAttrib(elm, attrib);
+
+	if (val != '')
+		return '' + val;
+
+	if (typeof(style) == 'undefined')
+		style = attrib;
+
+	val = eval('elm.style.' + style);
+
+	return val == null ? '' : '' + val;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: mclayer.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode floating layer script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCLayer(id) {
+	this.id = id;
+	this.settings = new Array();
+	this.blockerElement = null;
+	this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
+	this.events = false;
+	this.autoHideCallback = null;
+}
+
+MCLayer.prototype = {
+	moveRelativeTo : function(re, p, a) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				break;
+
+			case "br":
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(dx, dy) {
+		var e = this.getElement();
+		var x = parseInt(e.style.left);
+		var y = parseInt(e.style.top);
+
+		e.style.left = (x + dx) + "px";
+		e.style.top = (y + dy) + "px";
+
+		this.updateBlocker();
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		MCLayer.visibleLayer = this;
+
+		this.getElement().style.display = 'block';
+		this.updateBlocker();
+	},
+
+	hide : function() {
+		this.getElement().style.display = 'none';
+		this.updateBlocker();
+	},
+
+	setAutoHide : function(s, cb) {
+		this.autoHideCallback = cb;
+		this.registerEventHandlers();
+	},
+
+	getElement : function() {
+		return document.getElementById(this.id);
+	},
+
+	updateBlocker : function() {
+		if (!this.isMSIE)
+			return;
+
+		var e = this.getElement();
+		var b = this.getBlocker();
+		var x = this.parseInt(e.style.left);
+		var y = this.parseInt(e.style.top);
+		var w = this.parseInt(e.offsetWidth);
+		var h = this.parseInt(e.offsetHeight);
+
+		b.style.left = x + 'px';
+		b.style.top = y + 'px';
+		b.style.width = w + 'px';
+		b.style.height = h + 'px';
+		b.style.display = e.style.display;
+	},
+
+	getBlocker : function() {
+		if (!this.blockerElement) {
+			var d = document, b = d.createElement("iframe");
+
+			b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
+			b.src = 'javascript:false;';
+			b.frameBorder = '0';
+			b.scrolling = 'no';
+
+			d.body.appendChild(b);
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	registerEventHandlers : function() {
+		if (!this.events) {
+			var d = document;
+
+			this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
+
+			this.events = true;
+		}
+	},
+
+	addEvent : function(o, n, h) {
+		if (o.attachEvent)
+			o.attachEvent("on" + n, h);
+		else
+			o.addEventListener(n, h, false);
+	},
+
+	onMouseDown : function(e) {
+		e = typeof(e) == "undefined" ? window.event : e;
+		var b = document.body;
+		var l = MCLayer.visibleLayer;
+
+		if (l) {
+			var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
+			var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
+			var el = l.getElement();
+			var x = parseInt(el.style.left);
+			var y = parseInt(el.style.top);
+			var w = parseInt(el.offsetWidth);
+			var h = parseInt(el.offsetHeight);
+
+			if (!(mx > x && mx < x + w && my > y && my < y + h)) {
+				MCLayer.visibleLayer = null;
+
+				if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
+					return true;
+
+				l.hide();
+			}
+		}
+	},
+
+	addCSSClass : function(e, c) {
+		this.removeCSSClass(e, c);
+		var a = this.explode(' ', e.className);
+		a[a.length] = c;
+		e.className = a.join(' ');
+	},
+
+	removeCSSClass : function(e, c) {
+		var a = this.explode(' ', e.className), i;
+
+		for (i=0; i<a.length; i++) {
+			if (a[i] == c)
+				a[i] = '';
+		}
+
+		e.className = a.join(' ');
+	},
+
+	explode : function(d, s) {
+		var ar = s.split(d);
+		var oar = new Array();
+
+		for (var i = 0; i<ar.length; i++) {
+			if (ar[i] != "")
+				oar[oar.length] = ar[i];
+		}
+
+		return oar;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	}
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+/**
+ * $Id: mctabs.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+	this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+	this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+	var panelElm = document.getElementById(panel_id);
+	var panelContainerElm = panelElm ? panelElm.parentNode : null;
+	var tabElm = document.getElementById(tab_id);
+	var tabContainerElm = tabElm ? tabElm.parentNode : null;
+	var selectionClass = this.getParam('selection_class', 'current');
+
+	if (tabElm && tabContainerElm) {
+		var nodes = tabContainerElm.childNodes;
+
+		// Hide all other tabs
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "LI")
+				nodes[i].className = '';
+		}
+
+		// Show selected tab
+		tabElm.className = 'current';
+	}
+
+	if (panelElm && panelContainerElm) {
+		var nodes = panelContainerElm.childNodes;
+
+		// Hide all other panels
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "DIV")
+				nodes[i].className = 'panel';
+		}
+
+		// Show selected panel
+		panelElm.className = 'current';
+	}
+};
+
+MCTabs.prototype.getAnchor = function() {
+	var pos, url = document.location.href;
+
+	if ((pos = url.lastIndexOf('#')) != -1)
+		return url.substring(pos + 1);
+
+	return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+/**
+ * $Id: validate.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form validation methods.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/**
+	// String validation:
+
+	if (!Validator.isEmail('myemail'))
+		alert('Invalid email.');
+
+	// Form validation:
+
+	var f = document.forms['myform'];
+
+	if (!Validator.isEmail(f.myemail))
+		alert('Invalid email.');
+*/
+
+var Validator = {
+	isEmail : function(s) {
+		return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
+	},
+
+	isAbsUrl : function(s) {
+		return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$');
+	},
+
+	isSize : function(s) {
+		return this.test(s, '^[0-9]+(px|%)?$');
+	},
+
+	isId : function(s) {
+		return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$');
+	},
+
+	isEmpty : function(s) {
+		var nl, i;
+
+		if (s.nodeName == 'SELECT' && s.selectedIndex < 1)
+			return true;
+
+		if (s.type == 'checkbox' && !s.checked)
+			return true;
+
+		if (s.type == 'radio') {
+			for (i=0, nl = s.form.elements; i<nl.length; i++) {
+				if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
+					return false;
+			}
+
+			return true;
+		}
+
+		return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
+	},
+
+	isNumber : function(s, d) {
+		return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
+	},
+
+	test : function(s, p) {
+		s = s.nodeType == 1 ? s.value : s;
+
+		return s == '' || new RegExp(p).test(s);
+	}
+};
+
+var AutoValidator = {
+	settings : {
+		id_cls : 'id',
+		int_cls : 'int',
+		url_cls : 'url',
+		number_cls : 'number',
+		email_cls : 'email',
+		size_cls : 'size',
+		required_cls : 'required',
+		invalid_cls : 'invalid',
+		min_cls : 'min',
+		max_cls : 'max'
+	},
+
+	init : function(s) {
+		var n;
+
+		for (n in s)
+			this.settings[n] = s[n];
+	},
+
+	validate : function(f) {
+		var i, nl, s = this.settings, c = 0;
+
+		nl = this.tags(f, 'label');
+		for (i=0; i<nl.length; i++)
+			this.removeClass(nl[i], s.invalid_cls);
+
+		c += this.validateElms(f, 'input');
+		c += this.validateElms(f, 'select');
+		c += this.validateElms(f, 'textarea');
+
+		return c == 3;
+	},
+
+	invalidate : function(n) {
+		this.mark(n.form, n);
+	},
+
+	reset : function(e) {
+		var t = new Array('label', 'input', 'select', 'textarea');
+		var i, j, nl, s = this.settings;
+
+		if (e == null)
+			return;
+
+		for (i=0; i<t.length; i++) {
+			nl = this.tags(e.form ? e.form : e, t[i]);
+			for (j=0; j<nl.length; j++)
+				this.removeClass(nl[j], s.invalid_cls);
+		}
+	},
+
+	validateElms : function(f, e) {
+		var nl, i, n, s = this.settings, st = true, va = Validator, v;
+
+		nl = this.tags(f, e);
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+
+			this.removeClass(n, s.invalid_cls);
+
+			if (this.hasClass(n, s.required_cls) && va.isEmpty(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.number_cls) && !va.isNumber(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.email_cls) && !va.isEmail(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.size_cls) && !va.isSize(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.id_cls) && !va.isId(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.min_cls, true)) {
+				v = this.getNum(n, s.min_cls);
+
+				if (isNaN(v) || parseInt(n.value) < parseInt(v))
+					st = this.mark(f, n);
+			}
+
+			if (this.hasClass(n, s.max_cls, true)) {
+				v = this.getNum(n, s.max_cls);
+
+				if (isNaN(v) || parseInt(n.value) > parseInt(v))
+					st = this.mark(f, n);
+			}
+		}
+
+		return st;
+	},
+
+	hasClass : function(n, c, d) {
+		return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
+	},
+
+	getNum : function(n, c) {
+		c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
+		c = c.replace(/[^0-9]/g, '');
+
+		return c;
+	},
+
+	addClass : function(n, c, b) {
+		var o = this.removeClass(n, c);
+		n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+	},
+
+	removeClass : function(n, c) {
+		c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+		return n.className = c != ' ' ? c : '';
+	},
+
+	tags : function(f, s) {
+		return f.getElementsByTagName(s);
+	},
+
+	mark : function(f, n) {
+		var s = this.settings;
+
+		this.addClass(n, s.invalid_cls);
+		this.markLabels(f, n, s.invalid_cls);
+
+		return false;
+	},
+
+	markLabels : function(f, n, ic) {
+		var nl, i;
+
+		nl = this.tags(f, "label");
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id)
+				this.addClass(nl[i], ic);
+		}
+
+		return null;
+	}
+};

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/LICENSE.TXT
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+The License
+
+Copyright (c) 2006, SilverStripe Limited - www.silverstripe.com
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of SilverStripe nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-bottom.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-bottom.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-repeater.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/i-repeater.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/index.html
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+
+<head>
+    <title>SilverStripe Tree Control</title>
+    <link rel="stylesheet" type="text/css" media="all" href="tree.css"/>
+    <script type="text/javascript" src="tree.js"></script>
+</head>
+
+<style>
+    html {
+        background-color: #DDD;
+    }
+
+    body {
+        font-size: 80%;
+        font-family: Arial, Helvetica, sans-serif;
+        width: 50em;
+        margin: 0 auto 3.5em auto;
+        padding: 1em;
+        background-color: white;
+        border-left: 1px #CCC solid;
+        border-right: 1px #CCC solid;
+    }
+
+    ul.tree a {
+        font-size: 0.8em;
+
+    }
+
+    code {
+        display: block;
+        font-size: 1.2em;
+        margin: 2em 5em;
+        padding: 0.5em;
+        border: 1px #CCC solid;
+        background-color: #EEE;
+    }
+
+    #version {
+        float: right;
+        font-style: italic;
+        margin-top: -4em;
+    }
+
+    dt {
+        margin: 1.2em 0 0.2em 0;
+        font-weight: bold;
+        font-size: 1.1em
+    }
+
+    dd {
+        margin: 0;
+    }
+
+    h2 {
+        margin-top: 4em;
+        border-bottom: 1px #CCC dotted;
+    }
+
+    #footer {
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 3em;
+    }
+
+    #footer div {
+        margin: auto;
+        width: 52em;
+        height: 3em;
+        background-color: #777;
+        color: white;
+    }
+
+    #footer a {
+        color: white;
+    }
+
+    #footer p.left {
+        float: left;
+        margin: 0.75em 1em;
+    }
+
+    #footer p.right {
+        float: right;
+        margin: 0.75em 1em;
+    }
+
+</style>
+
+<body>
+
+<h1>SilverStripe Tree Control</h1>
+
+<p>This tree control was put together by <a href="sam at silverstripe.com">Sam Minn&eacute;e</a> at
+    <a href="http://www.silverstripe.com/blog">SilverStripe</a> in New Zealand. We've put it out there
+    for everyone to enjoy. Check out <a href="http://www.silverstripe.com/blog">our blog</a> if you're
+    wondering what we're up to.</p>
+
+<p>This file came from <a
+        href="http://www.silverstripe.com/downloads/tree/">http://www.silverstripe.com/downloads/tree/</a>.
+    If you found this file elsewhere, check out that page: we might have posted an updated version.</p>
+
+<p>
+    <b>Quick-links:</b>
+    <a href="#Demo">Demo</a> | <a href="#Usage">Usage</a> | <a href="#Download">Download</a> | <a href="#HowItWorks">How
+    it Works</a>
+</p>
+
+<h2 id="Demo">Demo</h2>
+
+<p>Here's a basic demo of the tree control. Our styling is fairly basic, but with updated CSS and
+    images you can do whatever you like. Just for fun, try changing the text size.</p>
+
+<ul class="tree">
+    <li><a href="#">item 1</a>
+        <ul>
+            <li><a href="#">item 1.1</a></li>
+            <li class="closed"><a href="#">item 1.2</a>
+                <ul>
+                    <li><a href="#">item 1.2.1</a></li>
+                    <li><a href="#">item 1.2.2</a></li>
+                    <li><a href="#">item 1.2.3</a></li>
+                </ul>
+            </li>
+            <li><a href="#">item 1.3</a></li>
+        </ul>
+    </li>
+    <li><a href="#">item 2</a>
+        <ul>
+            <li><a href="#">item 2.1</a></li>
+            <li><a href="#">item 2.2</a></li>
+            <li><a href="#">item 2.3</a></li>
+        </ul>
+    </li>
+</ul>
+
+<h2 id="Download">Download</h2>
+
+<p><a href="../tree.zip">Download everything you need here</a> - tree.zip, 11kb</p>
+
+<h2 id="Usage">Usage</h2>
+
+<p>The first thing to do is include the appropriate JavaScript and CSS files:</p>
+
+<code>
+    &lt;link rel="stylesheet" type="text/css" media="all" href="tree.css" /&gt;<br/>
+    &lt;script type="text/javascript" src="tree.js"&gt;&lt;/script&gt;
+</code>
+
+<p>Then, create the HTML for you tree. This is basically a nested set of bullet pointed links. The
+    "tree" class at the top is what the script will look for. Note that you can make a tree ndoe closed
+    to begin with by adding class="closed".</p>
+
+<p>Here's the HTML code that I inserted to create the demo tree above.</p>
+
+<code>
+    &lt;ul class="tree"&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li class="closed"&gt;&lt;a href="#"&gt;item 1.2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;/ul&gt;
+</code>
+
+<p>Your tree is now complete!</p>
+
+<h2 id="HowItWorks">How it works</h2>
+
+Obviously, this isn't a complete detail of everything that's going on, but it gives you an insight into
+the overall process.
+
+<dl>
+    <dt>Starting the script</dt>
+    <dd>In simple situations, creating an auto-loading script is a simple matter of setting window.onload
+        to a function. But what if there's more than one script? To this end, we created an appendLoader()
+        function that will execute multiple loader functions, including a previously defined loader function
+    </dd>
+
+    <dt>Finding the tree content</dt>
+    <dd>Rather than write a piece of script to define we're your tree is, we've tried to make the script
+        as automatic as possible - it finds all ULs with a class name containing "tree".
+    </dd>
+
+    <dt>Augmenting the HTML</dt>
+    <dd>Unfortunately, an LI containing an A isn't sufficient for doing all of the necessary tree styling.
+        Rather than force people to put non-semantic HTML into their file, the script generates extra &lt;span&gt; tags.
+        So, the following HTML:
+
+        <code>
+            &lt;li&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/li&gt;
+        </code>
+
+        Is turned into the more ungainly, and yet more easily styled:
+
+        <code>
+            &lt;li&gt;&lt;span class="a"&gt;&lt;span class="b"&gt;&lt;span class="c"&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
+        </code>
+
+        Additionally, some helper classes are applied to the &lt;li&gt; and &lt;span class="a"&gt; elements:
+        <ul>
+            <li>"last" is applied to the last node of any subtree.
+            <li>"children" is applied to any node that has children.
+        </ul>
+    </dd>
+
+    <dt>Styling it up</dt>
+    <dd>Why the heck do we need 5 styling elements? Basically, because there are 5 background-images to apply:
+        <ul>
+            <li><b>li:</b> A repeating vertical line is shown. Nested &lt;li&gt; tags
+                give us the multiple vertical lines that we need.
+            </li>
+            <li><b>span.a:</b> We overlay the vertical line with 'L' and 'T' elements as needed.</li>
+            <li><b>span.b:</b> We overlay '+' or '-' signs on nodes with children.</li>
+            <li><b>span.c:</b> This is needed to fix up the vertical line.</li>
+            <li><b>a:</b> Finally, we apply the page icon.</li>
+        </ul>
+    </dd>
+
+    <dt>Opening / closing nodes</dt>
+    <dd>Having come this far, the "dynamic" aspect of the tree control is very trivial. We set a "closed"
+        class on the &lt;li&gt; and &lt;span class="a"&gt; elements, and our CSS takes care of hiding the
+        children, changing the - to a + and changing the folder icon.
+    </dd>
+</dl>
+
+<div id="footer">
+    <div>
+        <p class="left"><a href="http://www.silverstripe.com/downloads/tree">SilverStripe Tree Control</a>: v0.1, 30 Oct
+            2005</p>
+
+        <p class="right">Copyright &copy; 2005 <a href="http://www.silverstripe.com/blog">SilverStripe Limited</a></p>
+    </div>
+</div>
+</html>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/l.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/l.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/minus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/minus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-file.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-file.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-foldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-foldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-openfoldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/page-openfoldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/plus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/plus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/t.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/t.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,135 @@
+/*
+ * CSS for Standard tree layout
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+ */
+
+ul.tree {
+    width: auto;
+    padding-left: 0px;
+    margin-left: 0px;
+}
+
+ul.tree img {
+    border: none;
+}
+
+ul.tree, ul.tree ul {
+    padding-left: 0;
+}
+
+ul.tree ul {
+    margin-left: 16px;
+
+}
+
+ul.tree li.closed ul {
+    display: none;
+}
+
+ul.tree li {
+    list-style: none;
+    background: url( i-repeater.gif ) 0 0 repeat-y;
+    display: block;
+    width: auto; /* background-color:#FFFFFF; */
+}
+
+ul.tree li.last {
+    list-style: none;
+    background-image: none;
+}
+
+/* Span-A: I/L/I glpyhs */
+ul.tree span.a {
+    background: url( t.gif ) 0 50% no-repeat;
+    display: block;
+}
+
+ul.tree span.a.last {
+    background: url( l.gif ) 0 50% no-repeat;
+}
+
+/* Span-B: Plus/Minus icon */
+ul.tree span.b {
+}
+
+ul.tree span.a.children span.b {
+    background: url( minus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+ul.tree li.closed span.a.children span.b {
+    background: url( plus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+/* Span-C: Spacing and extending tree line below the icon */
+ul.tree span.c {
+    margin-left: 16px;
+}
+
+ul.tree span.a.children span.c {
+    background: url( i-bottom.gif ) 0 50% no-repeat;
+}
+
+ul.tree span.a.spanClosed span.c {
+    background-image: none;
+}
+
+/* Anchor tag: Page icon */
+ul.tree a {
+    white-space: nowrap;
+    overflow: hidden;
+
+    padding: 10px 0px 10px 18px;
+    line-height: 16px;
+
+    background: url( page-file.png ) 0 50% no-repeat;
+}
+
+ul.tree span.a.children a {
+    background-image: url( page-openfoldericon.png );
+}
+
+ul.tree span.a.children.spanClosed a {
+    background-image: url( page-foldericon.png );
+}
+
+/* Unformatted tree */
+ul.tree.unformatted li {
+    background-image: none;
+    padding-left: 16px;
+}
+
+ul.tree.unformatted li li {
+    background-image: none;
+    padding-left: 0px;
+}
+
+/*
+ * Divs, by default store vertically aligned data
+ */
+
+ul.tree li div {
+    float: right;
+    clear: right;
+    height: 1em;
+    margin-top: -26px;
+}
+
+/* As inside DIVs should be treated normally */
+ul.tree div a {
+    padding: 0;
+    background-image: none;
+    min-height: auto;
+    height: auto;
+}
+
+ul.tree li A:link, ul.tree li A:hover, ul.tree li A:visited {
+    color: #111111;
+}
+
+ul.tree li .over {
+    background-color: pink;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,196 @@
+/*
+ * Content-seperated javascript tree widget
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+*/
+
+/*
+ * Initialise all trees identified by <ul class="tree">
+ */
+function autoInit_trees() {
+    var candidates = document.getElementsByTagName('ul');
+    for (var i = 0; i < candidates.length; i++) {
+        if (candidates[i].className && candidates[i].className.indexOf('tree') != -1) {
+            initTree(candidates[i]);
+            candidates[i].className = candidates[i].className.replace(/ ?unformatted ?/, ' ');
+        }
+    }
+}
+
+/*
+* Initialise a tree node, converting all its LIs appropriately
+*/
+function initTree(el) {
+    var i,j;
+    var spanA, spanB, spanC;
+    var startingPoint, stoppingPoint, childUL;
+
+    // Find all LIs to process
+    for (i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName && el.childNodes[i].tagName.toLowerCase() == 'li') {
+            var li = el.childNodes[i];
+
+            // Create our extra spans
+            spanA = document.createElement('span');
+            spanB = document.createElement('span');
+            spanC = document.createElement('span');
+            spanA.appendChild(spanB);
+            spanB.appendChild(spanC);
+            spanA.className = 'a ' + li.className.replace('closed', 'spanClosed');
+            spanA.onMouseOver = function() {
+            }
+            spanB.className = 'b';
+            spanB.onclick = treeToggle;
+            spanC.className = 'c';
+
+
+            // Find the UL within the LI, if it exists
+            stoppingPoint = li.childNodes.length;
+            startingPoint = 0;
+            childUL = null;
+            for (j = 0; j < li.childNodes.length; j++) {
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'div') {
+                    startingPoint = j + 1;
+                    continue;
+                }
+
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'ul') {
+                    childUL = li.childNodes[j];
+                    stoppingPoint = j;
+                    break;
+                }
+            }
+
+            // Move all the nodes up until that point into spanC
+            for (j = startingPoint; j < stoppingPoint; j++) {
+                spanC.appendChild(li.childNodes[startingPoint]);
+            }
+
+            // Insert the outermost extra span into the tree
+            if (li.childNodes.length > startingPoint) li.insertBefore(spanA, li.childNodes[startingPoint]);
+            else li.appendChild(spanA);
+
+            // Process the children
+            if (childUL != null) {
+                if (initTree(childUL)) {
+                    addClass(li, 'children', 'closed');
+                    addClass(spanA, 'children', 'spanClosed');
+                }
+            }
+        }
+    }
+
+    if (li) {
+        // li and spanA will still be set to the last item
+
+        addClass(li, 'last', 'closed');
+        addClass(spanA, 'last', 'spanClosed');
+        return true;
+    } else {
+        return false;
+    }
+
+}
+
+
+/*
+* +/- toggle the tree, where el is the <span class="b"> node
+* force, will force it to "open" or "close"
+*/
+function treeToggle(el, force) {
+    el = this;
+
+    while (el != null && (!el.tagName || el.tagName.toLowerCase() != "li")) el = el.parentNode;
+
+    // Get UL within the LI
+    var childSet = findChildWithTag(el, 'ul');
+    var topSpan = findChildWithTag(el, 'span');
+
+    if (force != null) {
+
+        if (force == "open") {
+            treeOpen(topSpan, el)
+        }
+        else if (force == "close") {
+            treeClose(topSpan, el)
+        }
+
+    }
+
+    else if (childSet != null) {
+        // Is open, close it
+        if (!el.className.match(/(^| )closed($| )/)) {
+            treeClose(topSpan, el)
+            // Is closed, open it
+        } else {
+            treeOpen(topSpan, el)
+        }
+    }
+}
+
+
+function treeOpen(a, b) {
+    removeClass(a, 'spanClosed');
+    removeClass(b, 'closed');
+}
+
+
+function treeClose(a, b) {
+    addClass(a, 'spanClosed');
+    addClass(b, 'closed');
+}
+
+/*
+ * Find the a child of el of type tag
+ */
+function findChildWithTag(el, tag) {
+    for (var i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName != null && el.childNodes[i].tagName.toLowerCase() == tag) return el.childNodes[i];
+    }
+    return null;
+}
+
+/*
+ * Functions to add and remove class names
+ * Mac IE hates unnecessary spaces
+ */
+function addClass(el, cls, forceBefore) {
+    if (forceBefore != null && el.className.match(new RegExp('(^| )' + forceBefore))) {
+        el.className = el.className.replace(new RegExp("( |^)" + forceBefore), '$1' + cls + ' ' + forceBefore);
+
+    } else if (!el.className.match(new RegExp('(^| )' + cls + '($| )'))) {
+        el.className += ' ' + cls;
+        el.className = el.className.replace(/(^ +)|( +$)/g, '');
+    }
+}
+function removeClass(el, cls) {
+    var old = el.className;
+    var newCls = ' ' + el.className + ' ';
+    newCls = newCls.replace(new RegExp(' (' + cls + ' +)+', 'g'), ' ');
+    el.className = newCls.replace(/(^ +)|( +$)/g, '');
+}
+
+/*
+* Handlers for automated loading
+*/
+_LOADERS = Array();
+
+function callAllLoaders() {
+    var i, loaderFunc;
+    for (i = 0; i < _LOADERS.length; i++) {
+        loaderFunc = _LOADERS[i];
+        if (loaderFunc != callAllLoaders) loaderFunc();
+    }
+}
+
+function appendLoader(loaderFunc) {
+    if (window.onload && window.onload != callAllLoaders)
+        _LOADERS[_LOADERS.length] = window.onload;
+
+    window.onload = callAllLoaders;
+
+    _LOADERS[_LOADERS.length] = loaderFunc;
+}
+
+appendLoader(autoInit_trees);

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/validation.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/validation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/validation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// ************************************
+// A variety of validation routines
+//
+//  All routines return true or false
+//
+// checkDate -- checks if valid date
+// checkDigit -- checks if character provided is a single digit
+// checkNotEmpty  -- checks if empty
+// checkEmail -- check if valid email
+// checkNumber -- check if number
+// checkNumberLessThan -- check if number is less than a provided number
+// checkNumberGreaterThan -- check if number is greater than a provided number
+// checkPhone -- checks if a 10 digit phone number
+// checkCreditCardNumber -- checks if valid card number using Luhn's formula
+// checkCreditCardType -- checks if the credit card type is valid based on the credit card number
+//                         Master Card, Visa, American Express
+// ************************************
+
+
+
+/*
+    Checks if the string is a valid date formatted as...
+    mm dd yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy
+
+    http://codylindley.com/blogstuff/js/validation/
+*/
+function checkDate(str){
+	var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/
+	if (!re.test(str)) return false;
+	var result = str.match(re);
+	var m = parseInt(result[1]);
+	var d = parseInt(result[2]);
+	var y = parseInt(result[3]);
+	if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
+	if(m == 2){
+		var days = ((y % 4) == 0) ? 29 : 28;
+	}else if(m == 4 || m == 6 || m == 9 || m == 11){
+		var days = 30;
+	}else{
+		var days = 31;
+	}
+	return (d >= 1 && d <= days);
+}
+
+/*
+ Check if character supplied is a digit
+*/
+function checkDigit(c) {
+    if (c.length != 1) return false;
+    var strAllowed = "1234567890";
+    return (strAllowed.indexOf (c) != -1);
+}
+
+/*
+ Check for empty string, return true if empty, false otherwise
+*/
+function checkNotEmpty(strng) {
+    return (strng != "");
+}
+
+/*
+ Email checking-- comes from Apple's example validation code
+ http://developer.apple.com/internet/webcontent/examples/validate_source.html
+*/
+function checkEmail(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // test email for an @ followed by characters and a .
+    var emailFilter=/^.+ at .+\..{2,3}$/;
+    if (!(emailFilter.test(strng))) {
+        return false;
+    }
+    else {
+        //test email for illegal characters
+        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
+        if (strng.match(illegalChars)) {
+            return false;
+        }
+    }
+    return true;
+}
+
+/*
+ Check if this is a number
+ */
+function checkNumber(num) {
+    return (!(isNaN(parseInt(num))));
+}
+
+function checkNumberGreaterThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num > compareNum);
+}
+
+function checkNumberLessThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num < compareNum);
+}
+
+/*
+ phone number - strip out delimiters and check for 10 digits -- also from Apple
+*/
+function checkPhone(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // check that phone number doesn't contain illegal chars
+    var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
+    if (isNaN(parseInt(stripped))) {
+        return false;
+    }
+    // check length of phone number
+    if (!(stripped.length == 10)) {
+        return false;
+    }
+    return true;
+}
+
+/*
+ Check if this credit card number is valid
+*/
+function checkCreditCardNumber (strNum) {
+    var nCheck = 0;
+    var bEven = false;
+
+    for (n = strNum.length - 1; n >= 0; n--) {
+        var cDigit = strNum.charAt (n);
+        if (isDigit (cDigit)) {
+            var nDigit = parseInt(cDigit, 10);
+            if (bEven) {
+                if ((nDigit *= 2) > 9)
+                    nDigit -= 9;
+            }
+            nCheck += nDigit;
+            bEven = ! bEven;
+        } else if (cDigit != ' ' && cDigit != '.' && cDigit != '-') {
+            return false;
+        }
+    }
+    return (nCheck % 10) == 0;
+}
+
+/*
+ Check if this credit card type is valid
+*/
+function checkCreditCardType(strNum, type) {
+    var nLen = 0;
+    for (n = 0; n < strNum.length; n++) {
+        if (isDigit (strNum.substring (n,n+1)))
+            ++nLen;
+    }
+    if (type == 'Visa')
+        return ((strNum.substring(0,1) == '4') && (nLen == 13 || nLen == 16));
+    else if (type == 'Amex')
+        return ((strNum.substring(0,2) == '34' || strNum.substring(0,2) == '37') && (nLen == 15));
+    else if (type == 'Master Card')
+        return ((strNum.substring(0,2) == '51' || strNum.substring(0,2) == '52'
+                || strNum.substring(0,2) == '53' || strNum.substring(0,2) == '54'
+                || strNum.substring(0,2) == '55') && (nLen == 16));
+    else
+        return false;
+
+}
+
+function validate( myform ) {
+    var inputFields = document.getElementById(myform.id).getElementsByTagName("input");
+    var valid = true;
+    var checkFunc = "";
+    var message = "";
+    for (i = 0; i < inputFields.length; i++) {
+        var checkFuncStr = inputFields[i].className;
+        var startIdx = 0;
+        var endIdx = checkFuncStr.length;
+        var done = false;
+        do {
+            startIdx = checkFuncStr.indexOf('check', startIdx);
+            if (startIdx >= 0) {
+                var lastIdx = checkFuncStr.indexOf('#', startIdx);
+                if (lastIdx > 0) {
+                    checkFunc = checkFuncStr.substring(startIdx, lastIdx);
+                    startIdx = lastIdx;
+                    var myfunc = checkFunc + "('" + inputFields[i].value + "')";
+                    valid = eval(myfunc);
+                    if (!valid) {
+                        var validateName = "val#" + inputFields[i].name + "#" + checkFunc;
+                        var hiddenField = document.getElementById(myform.id).elements[validateName];
+                        message = hiddenField.value;
+                        displayError( myform, message);
+                        return false;
+                    }
+                }
+            } else {
+                done = true;
+            }
+            if (startIdx >= endIdx - 5) done = true;
+        } while (!done)
+    }
+    return true;
+}
+
+function displayError( myform, message) {
+    var msgDiv = null;
+    var form = document.getElementById(myform.id);
+    var divs = form.getElementsByTagName("div");
+    for (i = 0; i < divs.length; i++) {
+        var errorDiv = divs[i].className;
+        if (errorDiv == "ui-messagebox-portlet-msg-error") {
+            msgDiv = divs[i];
+            msgDiv.childNodes[0].textContent = message;
+        }
+    }
+    if (!msgDiv) {
+        msgDiv = document.createElement("div");
+        msgDiv.className = "ui-messagebox-portlet-msg-error";
+        var msgSpan = document.createElement("span");
+        msgSpan.className = "portlet-msg-error";
+        var txt = document.createTextNode(message);
+        msgSpan.appendChild(txt);
+        msgDiv.appendChild(msgSpan);
+        form.insertBefore(msgDiv, form.childNodes[0]);
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/README
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/README	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/README	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+YUI Library Release Notes
+
+*** version 0.11.4 ***
+
+This update contains some priority bug fixes to the following components:
+
+* Yahoo
+* Container
+* Drag and Drop
+* Event
+
+Additional details can be found in the README files for each updated component.
+
+*** version 0.11.3 ***
+
+This update contains general fixes to the YUI library and additions to the YUI
+cheatsheets under docs/assets.  Please see the README file for each component in
+the build directory for updates and fixes since version 0.11.2.
+
+*** version 0.11.2 ***
+
+This update contains a high-priority fix to Drag and Drop that prevents text
+selection.  Additional details can be found in the README file for:
+
+* Drag and Drop
+
+*** version 0.11.1 ***
+
+Release 0.11.1 addresses some high-priority bugs reported in the recently
+released version 0.11.0. Additional details can be found in the README files for
+each updated component:
+
+* Animation
+* Dom
+* Drag and Drop
+* Connection Manager
+* Container
+
+*** version 0.11.0 ***
+
+This version introduces the Logger widget.  The YUI cheatsheets for version
+0.11.0 and 0.10.0 are also included in this distribution under docs/assets.
+
+Please see the README file for each component in the build directory for
+updates and fixes since version 0.10.0.
+
+*** version 0.10.0 ***
+
+In this release, the directory structure has been modified to provide more
+component organization.  This is the new format:
+
+yui/
+  |
+  -- build/
+  | |
+  | -- dom/
+  | |
+  | | -- assets/
+  | |
+  | | -- dom.js
+  | |
+  -- docs/
+  | |
+  | -- dom/
+  | |
+  -- examples/
+  | |
+  | -- dom/
+  | |
+  | | -- img/
+
+Notice there are three immediate directories under the
+root YUI.  They are:
+
+*build/*
+This directory contains the source files for each YUI component, and each
+component is presented as a sub-directory under build/.  Notice that there are
+generally two source files: component.js and component-min.js.  The "component"
+source is the raw, commented build and "component-min" is the minified version
+of the same file with comments and whitespace removed.  With some components,
+there is an assets sub-directory.  CSS and image dependencies for each
+component are stored in its assets sub-directory.
+
+Note: If a component makes use of images, the image source path in the
+component's CSS file will point to Akamai.  The physical images are also
+available in the assets/ directory for local availability.  Please modify the
+CSS image references if you wish to use your own image assets.
+
+*docs/*
+This directory contains the jsdoc-generated API reference for every YUI
+component.  Each component is presented as a sub-directory under docs/.
+
+*examples/*
+This directory contains functional examples for each component in the YUI
+Library.  The examples are not part of the formal distribution; rather,
+they provide demonstrations of each component in use.  Each example uses YUI
+Library source files from the build/ directory, while all example-specific
+dependencies are stored in sub-directories (e.g. examples/dom/img).
+Some components, including the AutoComplete Control and Connection Manager,
+make use of PHP to implement certain examples.
+
+For example:
+In yui/examples/dom, the dom.js source file and all YUI .js dependencies
+are drawn from yui/build/ directories.  All other example-specific sources are
+stored as sub-directories: yui/examples/dom/css and yui/examples/dom/img.
+
+Each functional example is also available and functional on
+developer.yahoo.com/yui/.  They reproduced here as part of the distribution
+for your convenience.
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/ResizePanel.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+YAHOO.widget.ResizePanel = function(el, userConfig) {
+    if (arguments.length > 0) {
+        YAHOO.widget.ResizePanel.superclass.constructor.call(this, el, userConfig);
+    }
+}
+
+YAHOO.extend(YAHOO.widget.ResizePanel, YAHOO.widget.Panel);
+
+YAHOO.widget.ResizePanel.prototype.init = function(el, userConfig) {
+    YAHOO.widget.ResizePanel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+    this.beforeInitEvent.fire(YAHOO.widget.ResizePanel);
+
+    this.resizeHandle = document.createElement("DIV");
+    this.resizeHandle.id = this.id + "_r";
+
+    this.resizeHandle.style.position = "absolute";
+    this.resizeHandle.style.width = "25px";
+    this.resizeHandle.style.height = "4px";
+    this.resizeHandle.style.right = "0";
+    this.resizeHandle.style.bottom = "0";
+    this.resizeHandle.style.padding = "0";
+    this.resizeHandle.style.margin = "0";
+    this.resizeHandle.style.zIndex = "1";
+
+    this.resizeHandle.style.backgroundColor = "#666";
+    this.resizeHandle.style.cursor = "se-resize";
+    this.resizeHandle.style.fontSize = "2px";
+
+    this.beforeRenderEvent.subscribe(function() {
+        if (! this.footer) {
+            this.setFooter("");
+        }
+    },
+            this, true
+            );
+    this.renderEvent.subscribe(function() {
+        var me = this;
+
+        me.innerElement.appendChild(me.resizeHandle);
+
+        this.ddResize = new YAHOO.util.DragDrop(this.resizeHandle.id, this.id);
+        this.ddResize.setHandleElId(this.resizeHandle.id);
+
+        var headerHeight = me.header.offsetHeight;
+
+        this.ddResize.onMouseDown = function(e) {
+
+            this.startWidth = me.innerElement.offsetWidth;
+            this.startHeight = me.innerElement.offsetHeight;
+
+            me.cfg.setProperty("width", this.startWidth + "px");
+            me.cfg.setProperty("height", this.startHeight + "px");
+
+            this.startPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            me.innerElement.style.overflow = "hidden";
+            me.body.style.overflow = "auto";
+        }
+
+        this.ddResize.onDrag = function(e) {
+            var newPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            var offsetX = newPos[0] - this.startPos[0];
+            var offsetY = newPos[1] - this.startPos[1];
+
+            var newWidth = Math.max(this.startWidth + offsetX, 10);
+            var newHeight = Math.max(this.startHeight + offsetY, 10);
+
+            me.cfg.setProperty("width", newWidth + "px");
+            me.cfg.setProperty("height", newHeight + "px");
+
+            var bodyHeight = (newHeight - 5 - me.footer.offsetHeight - me.header.offsetHeight - 3);
+            if (bodyHeight < 0) {
+                bodyHeight = 0;
+            }
+
+            me.body.style.height =  bodyHeight + "px";
+
+            var innerHeight = me.innerElement.offsetHeight;
+            var innerWidth = me.innerElement.offsetWidth;
+
+            if (innerHeight < headerHeight) {
+                me.innerElement.style.height = headerHeight + "px";
+            }
+
+            if (innerWidth < 20) {
+                me.innerElement.style.width = "20px";
+            }
+        }
+
+    }, this, true);
+
+    if (userConfig) {
+        this.cfg.applyConfig(userConfig, true);
+    }
+
+    this.initEvent.fire(YAHOO.widget.ResizePanel);
+}
+
+YAHOO.widget.ResizePanel.prototype.toString = function() {
+    return "ResizePanel " + this.id;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/animation.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1255 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+/**
+ *
+ * Base class for animated DOM objects.
+ * @class Base animation class that provides the interface for building animated effects.
+ * <p>Usage: var myAnim = new YAHOO.util.Anim(el, { width: { from: 10, to: 100 } }, 1, YAHOO.util.Easing.easeOut);</p>
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+
+YAHOO.util.Anim = function(el, attributes, duration, method) {
+   if (el) {
+      this.init(el, attributes, duration, method);
+   }
+};
+
+YAHOO.util.Anim.prototype = {
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   toString: function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Anim " + id);
+   },
+
+   patterns: { // cached for performance
+      noNegatives:      /width|height|opacity|padding/i, // keep at zero or above
+      offsetAttribute:  /^((width|height)|(top|left))$/, // use offsetValue as default
+      defaultUnit:      /width|height|top$|bottom$|left$|right$/i, // use 'px' by default
+      offsetUnit:       /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i // IE may return these, so convert these to offset
+   },
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   doMethod: function(attr, start, end) {
+      return this.method(this.currentFrame, start, end - start, this.totalFrames);
+   },
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   setAttribute: function(attr, val, unit) {
+      if ( this.patterns.noNegatives.test(attr) ) {
+         val = (val > 0) ? val : 0;
+      }
+
+      YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit);
+   },
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   getAttribute: function(attr) {
+      var el = this.getEl();
+      var val = YAHOO.util.Dom.getStyle(el, attr);
+
+      if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) {
+         return parseFloat(val);
+      }
+
+      var a = this.patterns.offsetAttribute.exec(attr) || [];
+      var pos = !!( a[3] ); // top or left
+      var box = !!( a[2] ); // width or height
+
+      // use offsets for width/height and abs pos top/left
+      if ( box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
+         val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)];
+      } else { // default to zero for other 'auto'
+         val = 0;
+      }
+
+      return val;
+   },
+
+   /**
+    * Returns the unit to use when none is supplied.
+    * Applies the "defaultUnit" test to decide whether to use pixels or not
+    * @param {attr} attr The name of the attribute.
+    * @return {String} The default unit to be used.
+    */
+   getDefaultUnit: function(attr) {
+       if ( this.patterns.defaultUnit.test(attr) ) {
+         return 'px';
+       }
+
+       return '';
+   },
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   setRuntimeAttribute: function(attr) {
+      var start;
+      var end;
+      var attributes = this.attributes;
+
+      this.runtimeAttributes[attr] = {};
+
+      var isset = function(prop) {
+         return (typeof prop !== 'undefined');
+      };
+
+      if ( !isset(attributes[attr]['to']) && !isset(attributes[attr]['by']) ) {
+         return false; // note return; nothing to animate to
+      }
+
+      start = ( isset(attributes[attr]['from']) ) ? attributes[attr]['from'] : this.getAttribute(attr);
+
+      // To beats by, per SMIL 2.1 spec
+      if ( isset(attributes[attr]['to']) ) {
+         end = attributes[attr]['to'];
+      } else if ( isset(attributes[attr]['by']) ) {
+         if (start.constructor == Array) {
+            end = [];
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + attributes[attr]['by'][i];
+            }
+         } else {
+            end = start + attributes[attr]['by'];
+         }
+      }
+
+      this.runtimeAttributes[attr].start = start;
+      this.runtimeAttributes[attr].end = end;
+
+      // set units if needed
+      this.runtimeAttributes[attr].unit = ( isset(attributes[attr].unit) ) ? attributes[attr]['unit'] : this.getDefaultUnit(attr);
+   },
+
+   /**
+    * @param {String or HTMLElement} el Reference to the element that will be animated
+    * @param {Object} attributes The attribute(s) to be animated.
+    * Each attribute is an object with at minimum a "to" or "by" member defined.
+    * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+    * All attribute names use camelCase.
+    * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+    * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+    */
+   init: function(el, attributes, duration, method) {
+      /**
+       * Whether or not the animation is running.
+       * @private
+       * @type Boolean
+       */
+      var isAnimated = false;
+
+      /**
+       * A Date object that is created when the animation begins.
+       * @private
+       * @type Date
+       */
+      var startTime = null;
+
+      /**
+       * The number of frames this animation was able to execute.
+       * @private
+       * @type Int
+       */
+      var actualFrames = 0;
+
+      /**
+       * The element to be animated.
+       * @private
+       * @type HTMLElement
+       */
+      el = YAHOO.util.Dom.get(el);
+
+      /**
+       * The collection of attributes to be animated.
+       * Each attribute must have at least a "to" or "by" defined in order to animate.
+       * If "to" is supplied, the animation will end with the attribute at that value.
+       * If "by" is supplied, the animation will end at that value plus its starting value.
+       * If both are supplied, "to" is used, and "by" is ignored.
+       * @member YAHOO#util#Anim
+       * Optional additional member include "from" (the value the attribute should start animating from, defaults to current value), and "unit" (the units to apply to the values).
+       * @type Object
+       */
+      this.attributes = attributes || {};
+
+      /**
+       * The length of the animation.  Defaults to "1" (second).
+       * @type Number
+       */
+      this.duration = duration || 1;
+
+      /**
+       * The method that will provide values to the attribute(s) during the animation.
+       * Defaults to "YAHOO.util.Easing.easeNone".
+       * @type Function
+       */
+      this.method = method || YAHOO.util.Easing.easeNone;
+
+      /**
+       * Whether or not the duration should be treated as seconds.
+       * Defaults to true.
+       * @type Boolean
+       */
+      this.useSeconds = true; // default to seconds
+
+      /**
+       * The location of the current animation on the timeline.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.currentFrame = 0;
+
+      /**
+       * The total number of frames to be executed.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.totalFrames = YAHOO.util.AnimMgr.fps;
+
+
+      /**
+       * Returns a reference to the animated element.
+       * @return {HTMLElement}
+       */
+      this.getEl = function() { return el; };
+
+      /**
+       * Checks whether the element is currently animated.
+       * @return {Boolean} current value of isAnimated.
+       */
+      this.isAnimated = function() {
+         return isAnimated;
+      };
+
+      /**
+       * Returns the animation start time.
+       * @return {Date} current value of startTime.
+       */
+      this.getStartTime = function() {
+         return startTime;
+      };
+
+      this.runtimeAttributes = {};
+
+
+
+      /**
+       * Starts the animation by registering it with the animation manager.
+       */
+      this.animate = function() {
+         if ( this.isAnimated() ) { return false; }
+
+         this.currentFrame = 0;
+
+         this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration;
+
+         YAHOO.util.AnimMgr.registerElement(this);
+      };
+
+      /**
+       * Stops the animation.  Normally called by AnimMgr when animation completes.
+       */
+      this.stop = function() {
+         YAHOO.util.AnimMgr.stop(this);
+      };
+
+      var onStart = function() {
+         this.onStart.fire();
+         for (var attr in this.attributes) {
+            this.setRuntimeAttribute(attr);
+         }
+
+         isAnimated = true;
+         actualFrames = 0;
+         startTime = new Date();
+      };
+
+      /**
+       * Feeds the starting and ending values for each animated attribute to doMethod once per frame, then applies the resulting value to the attribute(s).
+       * @private
+       */
+
+      var onTween = function() {
+         var data = {
+            duration: new Date() - this.getStartTime(),
+            currentFrame: this.currentFrame
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', currentFrame: ' + data.currentFrame
+            );
+         };
+
+         this.onTween.fire(data);
+
+         var runtimeAttributes = this.runtimeAttributes;
+
+         for (var attr in runtimeAttributes) {
+            this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit);
+         }
+
+         actualFrames += 1;
+      };
+
+      var onComplete = function() {
+         var actual_duration = (new Date() - startTime) / 1000 ;
+
+         var data = {
+            duration: actual_duration,
+            frames: actualFrames,
+            fps: actualFrames / actual_duration
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', frames: ' + data.frames +
+               ', fps: ' + data.fps
+            );
+         };
+
+         isAnimated = false;
+         actualFrames = 0;
+         this.onComplete.fire(data);
+      };
+
+      /**
+       * Custom event that fires after onStart, useful in subclassing
+       * @private
+       */
+      this._onStart = new YAHOO.util.CustomEvent('_start', this, true);
+
+      /**
+       * Custom event that fires when animation begins
+       * Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction)
+       */
+      this.onStart = new YAHOO.util.CustomEvent('start', this);
+
+      /**
+       * Custom event that fires between each frame
+       * Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction)
+       */
+      this.onTween = new YAHOO.util.CustomEvent('tween', this);
+
+      /**
+       * Custom event that fires after onTween
+       * @private
+       */
+      this._onTween = new YAHOO.util.CustomEvent('_tween', this, true);
+
+      /**
+       * Custom event that fires when animation ends
+       * Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction)
+       */
+      this.onComplete = new YAHOO.util.CustomEvent('complete', this);
+      /**
+       * Custom event that fires after onComplete
+       * @private
+       */
+      this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true);
+
+      this._onStart.subscribe(onStart);
+      this._onTween.subscribe(onTween);
+      this._onComplete.subscribe(onComplete);
+   }
+};
+
+/**
+ * @class Handles animation queueing and threading.
+ * Used by Anim and subclasses.
+ */
+YAHOO.util.AnimMgr = new function() {
+   /**
+    * Reference to the animation Interval
+    * @private
+    * @type Int
+    */
+   var thread = null;
+
+   /**
+    * The current queue of registered animation objects.
+    * @private
+    * @type Array
+    */
+   var queue = [];
+
+   /**
+    * The number of active animations.
+    * @private
+    * @type Int
+    */
+   var tweenCount = 0;
+
+   /**
+    * Base frame rate (frames per second).
+    * Arbitrarily high for better x-browser calibration (slower browsers drop more frames).
+    * @type Int
+    *
+    */
+   this.fps = 200;
+
+   /**
+    * Interval delay in milliseconds, defaults to fastest possible.
+    * @type Int
+    *
+    */
+   this.delay = 1;
+
+   /**
+    * Adds an animation instance to the animation queue.
+    * All animation instances must be registered in order to animate.
+    * @param {object} tween The Anim instance to be be registered
+    */
+   this.registerElement = function(tween) {
+      queue[queue.length] = tween;
+      tweenCount += 1;
+      tween._onStart.fire();
+      this.start();
+   };
+
+   this.unRegister = function(tween, index) {
+      tween._onComplete.fire();
+      index = index || getIndex(tween);
+      if (index != -1) { queue.splice(index, 1); }
+
+      tweenCount -= 1;
+      if (tweenCount <= 0) { this.stop(); }
+   };
+
+   /**
+    * Starts the animation thread.
+	 * Only one thread can run at a time.
+    */
+   this.start = function() {
+      if (thread === null) { thread = setInterval(this.run, this.delay); }
+   };
+
+   /**
+    * Stops the animation thread or a specific animation instance.
+    * @param {object} tween A specific Anim instance to stop (optional)
+    * If no instance given, Manager stops thread and all animations.
+    */
+   this.stop = function(tween) {
+      if (!tween) {
+         clearInterval(thread);
+         for (var i = 0, len = queue.length; i < len; ++i) {
+            if (queue[i].isAnimated()) {
+               this.unRegister(tween, i);
+            }
+         }
+         queue = [];
+         thread = null;
+         tweenCount = 0;
+      }
+      else {
+         this.unRegister(tween);
+      }
+   };
+
+   /**
+    * Called per Interval to handle each animation frame.
+    */
+   this.run = function() {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         var tween = queue[i];
+         if ( !tween || !tween.isAnimated() ) { continue; }
+
+         if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null)
+         {
+            tween.currentFrame += 1;
+
+            if (tween.useSeconds) {
+               correctFrame(tween);
+            }
+            tween._onTween.fire();
+         }
+         else { YAHOO.util.AnimMgr.stop(tween, i); }
+      }
+   };
+
+   var getIndex = function(anim) {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         if (queue[i] == anim) {
+            return i; // note return;
+         }
+      }
+      return -1;
+   };
+
+   /**
+    * On the fly frame correction to keep animation on time.
+    * @private
+    * @param {Object} tween The Anim instance being corrected.
+    */
+   var correctFrame = function(tween) {
+      var frames = tween.totalFrames;
+      var frame = tween.currentFrame;
+      var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames);
+      var elapsed = (new Date() - tween.getStartTime());
+      var tweak = 0;
+
+      if (elapsed < tween.duration * 1000) { // check if falling behind
+         tweak = Math.round((elapsed / expected - 1) * tween.currentFrame);
+      } else { // went over duration, so jump to end
+         tweak = frames - (frame + 1);
+      }
+      if (tweak > 0 && isFinite(tweak)) { // adjust if needed
+         if (tween.currentFrame + tweak >= frames) {// dont go past last frame
+            tweak = frames - (frame + 1);
+         }
+
+         tween.currentFrame += tweak;
+      }
+   };
+};
+/**
+ *
+ * @class Used to calculate Bezier splines for any number of control points.
+ *
+ */
+YAHOO.util.Bezier = new function()
+{
+   /**
+    * Get the current position of the animated element based on t.
+    * Each point is an array of "x" and "y" values (0 = x, 1 = y)
+    * At least 2 points are required (start and end).
+    * First point is start. Last point is end.
+    * Additional control points are optional.
+    * @param {Array} points An array containing Bezier points
+    * @param {Number} t A number between 0 and 1 which is the basis for determining current position
+    * @return {Array} An array containing int x and y member data
+    */
+   this.getPosition = function(points, t)
+   {
+      var n = points.length;
+      var tmp = [];
+
+      for (var i = 0; i < n; ++i){
+         tmp[i] = [points[i][0], points[i][1]]; // save input
+      }
+
+      for (var j = 1; j < n; ++j) {
+         for (i = 0; i < n - j; ++i) {
+            tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];
+            tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];
+         }
+      }
+
+      return [ tmp[0][0], tmp[0][1] ];
+
+   };
+};
+/**
+ * @class ColorAnim subclass for color fading
+ * <p>Usage: <code>var myAnim = new Y.ColorAnim(el, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 1, Y.Easing.easeOut);</code></p>
+ * <p>Color values can be specified with either 112233, #112233, [255,255,255], or rgb(255,255,255)
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @constructor
+ * @param {HTMLElement | String} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.ColorAnim = function(el, attributes, duration,  method) {
+      YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
+   };
+
+   YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.ColorAnim.superclass;
+   var proto = Y.ColorAnim.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("ColorAnim " + id);
+   };
+
+   /**
+    * Only certain attributes should be treated as colors.
+    * @type Object
+    */
+   proto.patterns.color = /color$/i;
+   proto.patterns.rgb    = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
+   proto.patterns.hex    = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
+   proto.patterns.hex3   = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;
+
+   /**
+    * Attempts to parse the given string and return a 3-tuple.
+    * @param {String} s The string to parse.
+    * @return {Array} The 3-tuple of rgb values.
+    */
+   proto.parseColor = function(s) {
+      if (s.length == 3) { return s; }
+
+      var c = this.patterns.hex.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16) ];
+      }
+
+      c = this.patterns.rgb.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10) ];
+      }
+
+      c = this.patterns.hex3.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16) ];
+      }
+
+      return null;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var el = this.getEl();
+      if (  this.patterns.color.test(attr) ) {
+         var val = YAHOO.util.Dom.getStyle(el, attr);
+
+         if (val == 'transparent') { // bgcolor default
+            var parent = el.parentNode; // try and get from an ancestor
+            val = Y.Dom.getStyle(parent, attr);
+
+            while (parent && val == 'transparent') {
+               parent = parent.parentNode;
+               val = Y.Dom.getStyle(parent, attr);
+               if (parent.tagName.toUpperCase() == 'HTML') {
+                  val = 'ffffff';
+               }
+            }
+         }
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val;
+
+      if ( this.patterns.color.test(attr) ) {
+         val = [];
+         for (var i = 0, len = start.length; i < len; ++i) {
+            val[i] = superclass.doMethod.call(this, attr, start[i], end[i]);
+         }
+
+         val = 'rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')';
+      }
+      else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      superclass.setRuntimeAttribute.call(this, attr);
+
+      if ( this.patterns.color.test(attr) ) {
+         var attributes = this.attributes;
+         var start = this.parseColor(this.runtimeAttributes[attr].start);
+         var end = this.parseColor(this.runtimeAttributes[attr].end);
+         // fix colors if going "by"
+         if ( typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined' ) {
+            end = this.parseColor(attributes[attr].by);
+
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + end[i];
+            }
+         }
+
+         this.runtimeAttributes[attr].start = start;
+         this.runtimeAttributes[attr].end = end;
+      }
+   };
+})();/*
+TERMS OF USE - EASING EQUATIONS
+Open source under the BSD License.
+Copyright © 2001 Robert Penner All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+    * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+*/
+
+YAHOO.util.Easing = {
+
+   /**
+    * Uniform speed between points.
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeNone: function (t, b, c, d) {
+   	return c*t/d + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeIn: function (t, b, c, d) {
+   	return c*(t/=d)*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOut: function (t, b, c, d) {
+   	return -c *(t/=d)*(t-2) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBoth: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t + b;
+   	return -c/2 * ((--t)*(t-2) - 1) + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeInStrong: function (t, b, c, d) {
+   	return c*(t/=d)*t*t*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOutStrong: function (t, b, c, d) {
+   	return -c * ((t=t/d-1)*t*t*t - 1) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBothStrong: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
+   	return -c/2 * ((t-=2)*t*t*t - 2) + b;
+   },
+
+   /**
+    * snap in elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+
+   elasticIn: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   },
+
+   /**
+    * snap out elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticOut: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+   },
+
+   /**
+    * snap both elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticBoth: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   	return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
+   },
+
+   /**
+    * back easing in - backtracking slightly, then reversing direction and moving to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backIn: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*(t/=d)*t*((s+1)*t - s) + b;
+   },
+
+   /**
+    * back easing out - moving towards target, overshooting it slightly,
+    * then reversing and coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backOut: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+   },
+
+   /**
+    * back easing in/out - backtracking slightly, then reversing direction and moving to target,
+    * then overshooting target, reversing, and finally coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backBoth: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
+   	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+   },
+
+   /**
+    * bounce in
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceIn: function (t, b, c, d) {
+   	return c - YAHOO.util.Easing.bounceOut(d-t, 0, c, d) + b;
+   },
+
+   /**
+    * bounce out
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceOut: function (t, b, c, d) {
+   	if ((t/=d) < (1/2.75)) {
+   		return c*(7.5625*t*t) + b;
+   	} else if (t < (2/2.75)) {
+   		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
+   	} else if (t < (2.5/2.75)) {
+   		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
+   	} else {
+   		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
+   	}
+   },
+
+   /**
+    * bounce both
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceBoth: function (t, b, c, d) {
+   	if (t < d/2) return YAHOO.util.Easing.bounceIn(t*2, 0, c, d) * .5 + b;
+   	return YAHOO.util.Easing.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
+   }
+};
+
+/**
+ * @class Anim subclass for moving elements along a path defined by the "points" member of "attributes".  All "points" are arrays with x, y coordinates.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Motion(el, { points: { to: [800, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Motion = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Motion.superclass;
+   var proto = Y.Motion.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Motion " + id);
+   };
+
+   proto.patterns.points = /^points$/i;
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      if (  this.patterns.points.test(attr) ) {
+         unit = unit || 'px';
+         superclass.setAttribute.call(this, 'left', val[0], unit);
+         superclass.setAttribute.call(this, 'top', val[1], unit);
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+
+   /**
+    * Sets the default value to be used when "from" is not supplied.
+    * @param {String} attr The attribute being set.
+    * @param {Number} val The default value to be applied to the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      if (  this.patterns.points.test(attr) ) {
+         var val = [
+            superclass.getAttribute.call(this, 'left'),
+            superclass.getAttribute.call(this, 'top')
+         ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if ( this.patterns.points.test(attr) ) {
+         var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100;
+         val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t);
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      if ( this.patterns.points.test(attr) ) {
+         var el = this.getEl();
+         var attributes = this.attributes;
+         var start;
+         var control = attributes['points']['control'] || [];
+         var end;
+         var i, len;
+
+         if (control.length > 0 && !(control[0] instanceof Array) ) { // could be single point or array of points
+            control = [control];
+         } else { // break reference to attributes.points.control
+            var tmp = [];
+            for (i = 0, len = control.length; i< len; ++i) {
+               tmp[i] = control[i];
+            }
+            control = tmp;
+         }
+
+         if (Y.Dom.getStyle(el, 'position') == 'static') { // default to relative
+            Y.Dom.setStyle(el, 'position', 'relative');
+         }
+
+         if ( isset(attributes['points']['from']) ) {
+            Y.Dom.setXY(el, attributes['points']['from']); // set position to from point
+         }
+         else { Y.Dom.setXY( el, Y.Dom.getXY(el) ); } // set it to current position
+
+         start = this.getAttribute('points'); // get actual top & left
+
+         // TO beats BY, per SMIL 2.1 spec
+         if ( isset(attributes['points']['to']) ) {
+            end = translateValues.call(this, attributes['points']['to'], start);
+
+            var pageXY = Y.Dom.getXY(this.getEl());
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = translateValues.call(this, control[i], start);
+            }
+
+
+         } else if ( isset(attributes['points']['by']) ) {
+            end = [ start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1] ];
+
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = [ start[0] + control[i][0], start[1] + control[i][1] ];
+            }
+         }
+
+         this.runtimeAttributes[attr] = [start];
+
+         if (control.length > 0) {
+            this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control);
+         }
+
+         this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end;
+      }
+      else {
+         superclass.setRuntimeAttribute.call(this, attr);
+      }
+   };
+
+   var translateValues = function(val, start) {
+      var pageXY = Y.Dom.getXY(this.getEl());
+      val = [ val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1] ];
+
+      return val;
+   };
+
+   var isset = function(prop) {
+      return (typeof prop !== 'undefined');
+   };
+})();
+/**
+ * @class Anim subclass for scrolling elements to a position defined by the "scroll" member of "attributes".  All "scroll" members are arrays with x, y scroll positions.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Scroll(el, { scroll: { to: [0, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Scroll = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Scroll.superclass;
+   var proto = Y.Scroll.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Scroll " + id);
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if (attr == 'scroll') {
+         val = [
+            this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames),
+            this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames)
+         ];
+
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var val = null;
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         val = [ el.scrollLeft, el.scrollTop ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         el.scrollLeft = val[0];
+         el.scrollTop = val[1];
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+})();

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/connection.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ * @ class
+ */
+YAHOO.util.Connect =
+{
+/**
+   * Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @private
+   * @type array
+   */
+	_msxml_progid:[
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP',
+		'Microsoft.XMLHTTP'
+		],
+
+  /**
+   * Object literal of HTTP header(s)
+   * @private
+   * @type object
+   */
+	_http_header:{},
+
+  /**
+   * Determines if HTTP headers are set.
+   * @private
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded',
+
+ /**
+  * Property modified by setForm() to determine if the data
+  * should be submitted as an HTML form.
+  * @private
+  * @type boolean
+  */
+    _isFormSubmit:false,
+
+ /**
+  * Property modified by setForm() to determine if a file(s)
+  * upload is expected.
+  * @private
+  * @type boolean
+  */
+    _isFileUpload:false,
+
+ /**
+  * Property modified by setForm() to set a reference to the HTML
+  * form node if the desired action is file upload.
+  * @private
+  * @type object
+  */
+    _formNode:null,
+
+ /**
+  * Property modified by setForm() to set the HTML form data
+  * for each transaction.
+  * @private
+  * @type string
+  */
+    _sFormData:null,
+
+ /**
+  * Collection of polling references to the polling mechanism in handleReadyState.
+  * @private
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * Queue of timeout values for each transaction callback with a defined timeout value.
+  * @private
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @private
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * A transaction counter that increments the transaction id for each transaction.
+   * @private
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @public
+   * @param string id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+	},
+
+  /**
+   * Member to enable or disable the default POST header.
+   * @public
+   * @param boolean b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		this._use_default_post_header = b;
+	},
+
+  /**
+   * Member to modify the default polling interval.
+   * @public
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+		}
+	},
+
+  /**
+   * Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @private
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return connection object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId };
+		}
+		catch(e)
+		{
+			for(var i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http.
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with http and tId properties
+					obj = { conn:http, tId:transactionId };
+					break;
+				}
+				catch(e){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @private
+   * @return object
+   */
+	getConnectionObject:function()
+	{
+		var o;
+		var tId = this._transaction_id;
+
+		try
+		{
+			o = this.createXhrObject(tId);
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		finally
+		{
+			return o;
+		}
+	},
+
+  /**
+   * Method for initiating an asynchronous request via the XHR object.
+   * @public
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o = this.getConnectionObject();
+
+		if(!o){
+			return null;
+		}
+		else{
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o.tId, callback, uri);
+					this.releaseObject(o);
+					return;
+				}
+
+				//If the specified HTTP method is GET, setForm() will return an
+				//encoded string that is concatenated to the uri to
+				//create a querystring.
+				if(method == 'GET'){
+					uri += "?" +  this._sFormData;
+				}
+				else if(method == 'POST'){
+					//If POST data exists in addition to the HTML form data,
+					//it will be concatenated to the form data.
+					postData = (postData?this._sFormData + "&" + postData:this._sFormData);
+				}
+				this._sFormData = '';
+			}
+
+			o.conn.open(method, uri, true);
+
+			if(this._isFormSubmit || (postData && this._use_default_post_header)){
+				this.initHeader('Content-Type', this._default_post_header);
+				if(this._isFormSubmit){
+					this._isFormSubmit = false;
+				}
+			}
+
+			if(this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData?postData:null);
+
+			return o;
+		}
+	},
+
+  /**
+   * This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param callback User-defined callback object
+   * @return void
+   */
+    handleReadyState:function(o, callback)
+    {
+
+		var oConn = this;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState == 4){
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						delete oConn._timeOut[o.tId];
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param {object} callback - User-defined callback object
+   * @param {boolean} determines if the transaction was aborted.
+   * @return void
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		// If no valid callback is provided, then do not process any callback handling.
+		if(!callback){
+			this.releaseObject(o);
+			return;
+		}
+
+		var httpStatus, responseObject;
+
+		try
+		{
+			if(o.conn.status !== undefined && o.conn.status != 0){
+				httpStatus = o.conn.status;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+			// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
+			// when the o object's status and statusText properties are
+			// unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if(httpStatus >= 200 && httpStatus < 300){
+			try
+			{
+				responseObject = this.createResponseObject(o, callback.argument);
+				if(callback.success){
+					if(!callback.scope){
+						callback.success(responseObject);
+					}
+					else{
+						// If a scope property is defined, the callback will be fired from
+						// the context of the object.
+						callback.success.apply(callback.scope, [responseObject]);
+					}
+				}
+			}
+			catch(e){}
+		}
+		else{
+			try
+			{
+				switch(httpStatus){
+					// The following case labels are wininet.dll error codes that may be encountered.
+					case 12002: // Server timeout
+					case 12029: // 12029 to 12031 correspond to dropped connections.
+					case 12030:
+					case 12031:
+					case 12152: // Connection closed by server.
+					case 13030: // See above comments for variable status.
+						responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort?isAbort:false));
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+						break;
+					default:
+						responseObject = this.createResponseObject(o, callback.argument);
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+				}
+			}
+			catch(e){}
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @private
+   * @param {object} o The connection object
+   * @param {} callbackArg User-defined argument or arguments to be passed to the callback
+   * @return object
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {};
+		var headerObj = {};
+
+		try
+		{
+			var headerStr = o.conn.getAllResponseHeaders();
+			var header = headerStr.split('\n');
+			for(var i=0; i < header.length; i++){
+				var delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = header[i].substring(delimitPos + 2);
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		obj.status = o.conn.status;
+		obj.statusText = o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(typeof callbackArg !== undefined){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @private
+   * @param {int} tId Transaction Id
+   * @param callbackArg The user-defined arguments
+   * @param isAbort Determines if the exception is an abort.
+   * @return object
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0;
+		var COMM_ERROR = 'communication failure';
+		var ABORT_CODE = -1;
+		var ABORT_ERROR = 'transaction aborted';
+
+		var obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * Public method that stores the custom HTTP headers for each transaction.
+   * @public
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @return void
+   */
+	initHeader:function(label,value)
+	{
+		if(this._http_header[label] === undefined){
+			this._http_header[label] = value;
+		}
+		else{
+			// Concatenate multiple values, comma-delimited,
+			// for the same header label,
+			this._http_header[label] =  value + "," + this._http_header[label];
+		}
+
+		this._has_http_headers = true;
+	},
+
+  /**
+   * Accessor that sets the HTTP headers for each transaction.
+   * @private
+   * @param {object} o The connection object for the transaction.
+   * @return void
+   */
+	setHeader:function(o)
+	{
+		for(var prop in this._http_header){
+			if(this._http_header.hasOwnProperty(prop)){
+				o.conn.setRequestHeader(prop, this._http_header[prop]);
+			}
+		}
+		delete this._http_header;
+
+		this._http_header = {};
+		this._has_http_headers = false;
+	},
+
+  /**
+   * This method assembles the form label and value pairs and
+   * constructs an encoded string.
+   * asyncRequest() will automatically initialize the
+   * transaction with a HTTP header Content-Type of
+   * application/x-www-form-urlencoded.
+   * @public
+   * @param {string || object} form id or name attribute, or form object.
+   * @param {string} optional boolean to indicate SSL environment.
+   * @param {string || boolean} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	setForm:function(formId, isUpload, secureUri)
+	{
+		this._sFormData = '';
+		if(typeof formId == 'string'){
+			// Determine if the argument is a form id or a form name.
+			// Note form name usage is deprecated by supported
+			// here for legacy reasons.
+			var oForm = (document.getElementById(formId) || document.forms[formId]);
+		}
+		else if(typeof formId == 'object'){
+			// Treat argument as an HTML form object.
+			var oForm = formId;
+		}
+		else{
+			return;
+		}
+
+		// If the isUpload argument is true, setForm will call createFrame to initialize
+		// an iframe as the form target.
+		//
+		// The argument secureURI is also required by IE in SSL environments
+		// where the secureURI string is a fully qualified HTTP path, used to set the source
+		// of the iframe, to a stub resource in the same domain.
+		if(isUpload){
+			this.createFrame(secureUri?secureUri:null);
+			this._isFormSubmit = true;
+			this._isFileUpload = true;
+			this._formNode = oForm;
+
+			return;
+		}
+
+		var oElement, oName, oValue, oDisabled;
+		var hasSubmit = false;
+
+		// Iterate over the form elements collection to construct the
+		// label-value pairs.
+		for (var i=0; i<oForm.elements.length; i++){
+			oElement = oForm.elements[i];
+			oDisabled = oForm.elements[i].disabled;
+			oName = oForm.elements[i].name;
+			oValue = oForm.elements[i].value;
+
+			// Do not submit fields that are disabled or
+			// do not have a name attribute value.
+			if(!oDisabled && oName)
+			{
+				switch (oElement.type)
+				{
+					case 'select-one':
+					case 'select-multiple':
+						for(var j=0; j<oElement.options.length; j++){
+							if(oElement.options[j].selected){
+								if(window.ActiveXObject){
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+								else{
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+
+							}
+						}
+						break;
+					case 'radio':
+					case 'checkbox':
+						if(oElement.checked){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						}
+						break;
+					case 'file':
+						// stub case as XMLHttpRequest will only send the file path as a string.
+					case undefined:
+						// stub case for fieldset element which returns undefined.
+					case 'reset':
+						// stub case for input type reset button.
+					case 'button':
+						// stub case for input type button elements.
+						break;
+					case 'submit':
+						if(hasSubmit == false){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+							hasSubmit = true;
+						}
+						break;
+					default:
+						this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						break;
+				}
+			}
+		}
+
+		this._isFormSubmit = true;
+		this._sFormData = this._sFormData.substr(0, this._sFormData.length - 1);
+	},
+
+  /**
+   * Creates an iframe to be used for form file uploads.  It is remove from the
+   * document upon completion of the upload transaction.
+   *
+   * @private
+   * @param {string} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	createFrame:function(secureUri){
+
+		// IE does not allow the setting of id and name attributes as object
+		// properties via createElement().  A different iframe creation
+		// pattern is required for IE.
+		var frameId = 'yuiIO' + this._transaction_id;
+		if(window.ActiveXObject){
+			var io = document.createElement('<IFRAME id="' + frameId + '" name="' + frameId + '">');
+
+			// IE will throw a security exception in an SSL environment if the
+			// iframe source isn't set.
+			if(typeof secureUri == 'boolean'){
+				io.src = 'javascript:false';
+			}
+			else{
+				io.src = secureUri;
+			}
+		}
+		else{
+			var io = document.createElement('IFRAME');
+			io.id = frameId;
+			io.name = frameId;
+		}
+
+		io.style.position = 'absolute';
+		io.style.top = '-1000px';
+		io.style.left = '-1000px';
+
+		document.body.appendChild(io);
+	},
+
+  /**
+   * Uploads HTML form, including files/attachments,  targeting the
+   * iframe created in createFrame.
+   *
+   * @private
+   * @param {int} id The transaction id.
+   * @param {object} callback - User-defined callback object.
+   * @param {string} uri Fully qualified path of resource.
+   * @return void
+   */
+	uploadFile:function(id, callback, uri){
+
+		var frameId = 'yuiIO' + id;
+		var io = document.getElementById(frameId);
+
+		// Initialize the HTML form properties in case they are
+		// not defined in the HTML form.
+		this._formNode.action = uri;
+		this._formNode.enctype = 'multipart/form-data';
+		this._formNode.method = 'POST';
+		this._formNode.target = frameId;
+		this._formNode.submit();
+
+		// Reset form status properties.
+		this._formNode = null;
+		this._isFileUpload = false;
+		this._isFormSubmit = false;
+
+		// Create the upload callback handler that fires when the iframe
+		// receives the load event.  Subsequently, the event handler is detached
+		// and the iframe removed from the document.
+
+		var uploadCallback = function()
+		{
+			var obj = {};
+
+			obj.tId = id;
+			obj.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
+			obj.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
+			obj.argument = callback.argument;
+
+			if(callback.upload){
+				if(!callback.scope){
+					callback.upload(obj);
+				}
+				else{
+					callback.upload.apply(callback.scope, [obj]);
+				}
+			}
+
+			if(YAHOO.util.Event){
+				YAHOO.util.Event.removeListener(io, "load", uploadCallback);
+			}
+			else if(window.ActiveXObject){
+				io.detachEvent('onload', uploadCallback);
+			}
+			else{
+				io.removeEventListener('load', uploadCallback, false);
+			}
+			setTimeout(function(){ document.body.removeChild(io); }, 100);
+		};
+
+
+		// Bind the onload handler to the iframe to detect the file upload response.
+		if(YAHOO.util.Event){
+			YAHOO.util.Event.addListener(io, "load", uploadCallback);
+		}
+		else if(window.ActiveXObject){
+			io.attachEvent('onload', uploadCallback);
+		}
+		else{
+			io.addEventListener('load', uploadCallback, false);
+		}
+	},
+
+  /**
+   * Public method to terminate a transaction, if it has not reached readyState 4.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort was a timeout.
+   * @return void
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		if(this.isCallInProgress(o)){
+			o.conn.abort();
+			window.clearInterval(this._poll[o.tId]);
+			delete this._poll[o.tId];
+			if(isTimeout){
+				delete this._timeOut[o.tId];
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+
+			return true;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * Public method to check if the transaction is still being processed.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest
+   * @return boolean
+   */
+	isCallInProgress:function(o)
+	{
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.conn){
+			return o.conn.readyState != 4 && o.conn.readyState != 0;
+		}
+		else{
+			//The XHR object has been destroyed.
+			return false;
+		}
+	},
+
+  /**
+   * Dereference the XHR instance and the connection object after the transaction is completed.
+   * @private
+   * @param {object} o The connection object
+   * @return void
+   */
+	releaseObject:function(o)
+	{
+		//dereference the XHR instance.
+		o.conn = null;
+		//dereference the connection object.
+		o = null;
+	}
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/container.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3963 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* Config is a utility used within an object to allow the implementer to maintain a list of local configuration properties and listen for changes to those properties dynamically using CustomEvent. The initial values are also maintained so that the configuration can be reset at any given point to its initial state.
+* @param {object}	owner	The owner object to which this Config object belongs
+* @constructor
+*/
+YAHOO.util.Config = function(owner) {
+	if (owner) {
+		this.init(owner);
+	}
+};
+
+YAHOO.util.Config.prototype = {
+	
+	/**
+	* Object reference to the owner of this Config object
+	* @type object
+	*/
+	owner : null,
+
+	/**
+	* Object reference to the owner of this Config object
+	* args: key, value
+	* @type YAHOO.util.CustomEvent
+	*/
+	configChangedEvent : null,
+
+	/**
+	* Boolean flag that specifies whether a queue is currently being executed
+	* @type boolean
+	*/
+	queueInProgress : false,
+
+	/**
+	* Adds a property to the Config object's private config hash. 
+	* @param {string}	key	The configuration property's name
+	* @param {object}	propertyObject	The object containing all of this property's arguments
+	*/
+	addProperty : function(key, propertyObject){},
+
+	/**
+	* Returns a key-value configuration map of the values currently set in the Config object.
+	* @return {object} The current config, represented in a key-value map
+	*/
+	getConfig : function(){},
+
+	/**
+	* Returns the value of specified property.
+	* @param {key}		The name of the property
+	* @return {object}	The value of the specified property
+	*/
+	getProperty : function(key){},
+
+	/**
+	* Resets the specified property's value to its initial value.
+	* @param {key}		The name of the property
+	*/
+	resetProperty : function(key){},
+
+	/**
+	* Sets the value of a property. If the silent property is passed as true, the property's event will not be fired.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @param {boolean}	Whether the value should be set silently, without firing the property event.
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/
+	setProperty : function(key,value,silent){},
+
+	/**
+	* Sets the value of a property and queues its event to execute. If the event is already scheduled to execute, it is
+	* moved from its current position to the end of the queue.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/	
+	queueProperty : function(key,value){},
+
+	/**
+	* Fires the event for a property using the property's current value.
+	* @param {key}		The name of the property
+	*/
+	refireEvent : function(key){},
+
+	/**
+	* Applies a key-value object literal to the configuration, replacing any existing values, and queueing the property events.
+	* Although the values will be set, fireQueue() must be called for their associated events to execute.
+	* @param {object}	userConfig	The configuration object literal
+	* @param {boolean}	init		When set to true, the initialConfig will be set to the userConfig passed in, so that calling a reset will reset the properties to the passed values.
+	*/
+	applyConfig : function(userConfig,init){},
+
+	/**
+	* Refires the events for all configuration properties using their current values.
+	*/
+	refresh : function(){},
+
+	/**
+	* Fires the normalized list of queued property change events
+	*/
+	fireQueue : function(){},
+
+	/**
+	* Subscribes an external handler to the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	* @param {boolean}	override	Optional. If true, will override "this" within the handler to map to the scope object passed into the method.
+	*/	
+	subscribeToConfigEvent : function(key,handler,obj,override){},
+
+	/**
+	* Unsubscribes an external handler from the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	*/
+	unsubscribeFromConfigEvent: function(key,handler,obj){},
+
+	/**
+	* Validates that the value passed in is a boolean.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/	
+	checkBoolean: function(val) {
+		if (typeof val == 'boolean') {
+			return true;
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Validates that the value passed in is a number.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/
+	checkNumber: function(val) {
+		if (isNaN(val)) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+};
+
+
+/**
+* Initializes the configuration object and all of its local members.
+* @param {object}	owner	The owner object to which this Config object belongs
+*/
+YAHOO.util.Config.prototype.init = function(owner) {
+
+	this.owner = owner;
+	this.configChangedEvent = new YAHOO.util.CustomEvent("configChanged");
+	this.queueInProgress = false;
+
+	/* Private Members */
+
+	var config = {};
+	var initialConfig = {};
+	var eventQueue = [];
+
+	/**
+	* @private
+	* Fires a configuration property event using the specified value. 
+	* @param {string}	key			The configuration property's name
+	* @param {value}	object		The value of the correct type for the property
+	*/ 
+	var fireEvent = function( key, value ) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+
+		if (typeof property != 'undefined' && property.event) {
+			property.event.fire(value);
+		}	
+	};
+	/* End Private Members */
+
+	this.addProperty = function( key, propertyObject ) {
+		key = key.toLowerCase();
+
+		config[key] = propertyObject;
+
+		propertyObject.event = new YAHOO.util.CustomEvent(key);
+		propertyObject.key = key;
+
+		if (propertyObject.handler) {
+			propertyObject.event.subscribe(propertyObject.handler, this.owner, true);
+		}
+
+		this.setProperty(key, propertyObject.value, true);
+		
+		if (! propertyObject.suppressEvent) {
+			this.queueProperty(key, propertyObject.value);
+		}
+	};
+
+	this.getConfig = function() {
+		var cfg = {};
+			
+		for (var prop in config) {
+			var property = config[prop];
+			if (typeof property != 'undefined' && property.event) {
+				cfg[prop] = property.value;
+			}
+		}
+		
+		return cfg;
+	};
+
+	this.getProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.value;
+		} else {
+			return undefined;
+		}
+	};
+
+	this.resetProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			this.setProperty(key, initialConfig[key].value);
+		} else {
+			return undefined;
+		}
+	};
+
+	this.setProperty = function(key, value, silent) {
+		key = key.toLowerCase();
+
+		if (this.queueInProgress && ! silent) {
+			this.queueProperty(key,value); // Currently running through a queue... 
+			return true;
+		} else {
+			var property = config[key];
+			if (typeof property != 'undefined' && property.event) {
+				if (property.validator && ! property.validator(value)) { // validator
+					return false;
+				} else {
+					property.value = value;
+					if (! silent) {
+						fireEvent(key, value);
+						this.configChangedEvent.fire([key, value]);
+					}
+					return true;
+				}
+			} else {
+				return false;
+			}
+		}
+	};
+
+	this.queueProperty = function(key, value) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+							
+		if (typeof property != 'undefined' && property.event) {
+			if (typeof value != 'undefined' && property.validator && ! property.validator(value)) { // validator
+				return false;
+			} else {
+
+				if (typeof value != 'undefined') {
+					property.value = value;
+				} else {
+					value = property.value;
+				}
+
+				var foundDuplicate = false;
+
+				for (var i=0;i<eventQueue.length;i++) {
+					var queueItem = eventQueue[i];
+
+					if (queueItem) {
+						var queueItemKey = queueItem[0];
+						var queueItemValue = queueItem[1];
+						
+						if (queueItemKey.toLowerCase() == key) {
+							// found a dupe... push to end of queue, null current item, and break
+							eventQueue[i] = null;
+							eventQueue.push([key, (typeof value != 'undefined' ? value : queueItemValue)]);
+							foundDuplicate = true;
+							break;
+						}
+					}
+				}
+				
+				if (! foundDuplicate && typeof value != 'undefined') { // this is a refire, or a new property in the queue
+					eventQueue.push([key, value]);
+				}
+			}
+
+			if (property.supercedes) {
+				for (var s=0;s<property.supercedes.length;s++) {
+					var supercedesCheck = property.supercedes[s];
+
+					for (var q=0;q<eventQueue.length;q++) {
+						var queueItemCheck = eventQueue[q];
+
+						if (queueItemCheck) {
+							var queueItemCheckKey = queueItemCheck[0];
+							var queueItemCheckValue = queueItemCheck[1];
+							
+							if ( queueItemCheckKey.toLowerCase() == supercedesCheck.toLowerCase() ) {
+								eventQueue.push([queueItemCheckKey, queueItemCheckValue]);
+								eventQueue[q] = null;
+								break;
+							}
+						}
+					}
+				}
+			}
+
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+	this.refireEvent = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event && typeof property.value != 'undefined') {
+			if (this.queueInProgress) {
+				this.queueProperty(key);
+			} else {
+				fireEvent(key, property.value);
+			}
+		}
+	};
+
+	this.applyConfig = function(userConfig, init) {
+		if (init) {
+			initialConfig = userConfig;
+		}
+		for (var prop in userConfig) {
+			this.queueProperty(prop, userConfig[prop]);
+		}
+	};
+
+	this.refresh = function() {
+		for (var prop in config) {
+			this.refireEvent(prop);
+		}
+	};
+
+	this.fireQueue = function() {
+		this.queueInProgress = true;
+		for (var i=0;i<eventQueue.length;i++) {
+			var queueItem = eventQueue[i];
+			if (queueItem) {
+				var key = queueItem[0];
+				var value = queueItem[1];
+				
+				var property = config[key];
+				property.value = value;
+
+				fireEvent(key,value);
+			}
+		}
+		
+		this.queueInProgress = false;
+		eventQueue = [];
+	};
+
+	this.subscribeToConfigEvent = function(key, handler, obj, override) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			if (! YAHOO.util.Config.alreadySubscribed(property.event, handler, obj)) {
+				property.event.subscribe(handler, obj, override);
+			}
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+
+	this.unsubscribeFromConfigEvent = function(key, handler, obj) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.event.unsubscribe(handler, obj);
+		} else {
+			return false;
+		}
+	};
+
+	this.toString = function() {
+		var output = "Config";
+		if (this.owner) {
+			output += " [" + this.owner.toString() + "]";
+		}
+		return output;
+	};
+
+	this.outputEventQueue = function() {
+		var output = "";
+		for (var q=0;q<eventQueue.length;q++) {
+			var queueItem = eventQueue[q];
+			if (queueItem) {
+				output += queueItem[0] + "=" + queueItem[1] + ", ";
+			}
+		}
+		return output;
+	};
+};
+
+/**
+* Checks to determine if a particular function/object pair are already subscribed to the specified CustomEvent
+* @param {YAHOO.util.CustomEvent} evt	The CustomEvent for which to check the subscriptions
+* @param {Function}	fn	The function to look for in the subscribers list
+* @param {object}	obj	The execution scope object for the subscription
+* @return {boolean}	true, if the function/object pair is already subscribed to the CustomEvent passed in
+*/
+YAHOO.util.Config.alreadySubscribed = function(evt, fn, obj) {
+	for (var e=0;e<evt.subscribers.length;e++) {
+		var subsc = evt.subscribers[e];
+		if (subsc && subsc.obj == obj && subsc.fn == fn) {
+			return true;
+		}
+	}
+	return false;
+};
+
+/**
+* Module is a JavaScript representation of the Standard Module Format. Standard Module Format is a simple standard for markup containers where child nodes representing the header, body, and footer of the content are denoted using the CSS classes "hd", "bd", and "ft" respectively. Module is the base class for all other classes in the YUI Container package.
+* @param {string}	el	The element ID representing the Module <em>OR</em>
+* @param {Element}	el	The element representing the Module
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Module = function(el, userConfig) {
+	if (el) { 
+		this.init(el, userConfig); 
+	}
+};
+
+/**
+* Constant representing the prefix path to use for non-secure images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT = "http://us.i1.yimg.com/us.yimg.com/i/";
+
+/**
+* Constant representing the prefix path to use for securely served images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT_SSL = "https://a248.e.akamai.net/sec.yimg.com/i/";
+
+/**
+* Constant for the default CSS class name that represents a Module
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_MODULE = "module";
+
+/**
+* Constant representing the module header
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_HEADER = "hd";
+
+/**
+* Constant representing the module body
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_BODY = "bd";
+
+/**
+* Constant representing the module footer
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_FOOTER = "ft";
+
+/**
+* Constant representing the url for the "src" attribute of the iframe used to monitor changes to the browser's base font size
+* @type string
+* @final
+*/
+YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL = "javascript:false";
+
+YAHOO.widget.Module.prototype = {
+
+	/**
+	* The class's constructor function
+	* @type function
+	*/
+	constructor : YAHOO.widget.Module,
+
+	/**
+	* The main module element that contains the header, body, and footer
+	* @type Element
+	*/
+	element : null, 
+
+	/**
+	* The header element, denoted with CSS class "hd"
+	* @type Element
+	*/
+	header : null,
+
+	/**
+	* The body element, denoted with CSS class "bd"
+	* @type Element
+	*/
+	body : null,
+
+	/**
+	* The footer element, denoted with CSS class "ft"
+	* @type Element
+	*/
+	footer : null,
+
+	/**
+	* The id of the element
+	* @type string
+	*/
+	id : null,
+
+	/**
+	* Array of elements
+	* @type Element[]
+	*/
+	childNodesInDOM : null,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot : YAHOO.widget.Module.IMG_ROOT,
+
+	/**
+	* CustomEvent fired prior to class initalization.
+	* args: class reference of the initializing class, such as this.beforeInitEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeInitEvent : null,
+
+	/**
+	* CustomEvent fired after class initalization.
+	* args: class reference of the initializing class, such as this.initEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	initEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is appended to the DOM
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	appendEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeRenderEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	renderEvent : null,
+
+	/**
+	* CustomEvent fired when the header content of the Module is modified
+	* args: string/element representing the new header content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeHeaderEvent : null,
+
+	/**
+	* CustomEvent fired when the body content of the Module is modified
+	* args: string/element representing the new body content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeBodyEvent : null,
+
+	/**
+	* CustomEvent fired when the footer content of the Module is modified
+	* args: string/element representing the new footer content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeFooterEvent : null,
+
+	/**
+	* CustomEvent fired when the content of the Module is modified
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeContentEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is destroyed
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	destroyEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeShowEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	showEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeHideEvent : null,
+	
+	/**
+	* CustomEvent fired after the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	hideEvent : null,
+		
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initEvents : function() {
+
+		this.beforeInitEvent		= new YAHOO.util.CustomEvent("beforeInit");
+		this.initEvent				= new YAHOO.util.CustomEvent("init");
+
+		this.appendEvent			= new YAHOO.util.CustomEvent("append");
+
+		this.beforeRenderEvent		= new YAHOO.util.CustomEvent("beforeRender");
+		this.renderEvent			= new YAHOO.util.CustomEvent("render");
+
+		this.changeHeaderEvent		= new YAHOO.util.CustomEvent("changeHeader");
+		this.changeBodyEvent		= new YAHOO.util.CustomEvent("changeBody");
+		this.changeFooterEvent		= new YAHOO.util.CustomEvent("changeFooter");
+
+		this.changeContentEvent		= new YAHOO.util.CustomEvent("changeContent");
+
+		this.destroyEvent			= new YAHOO.util.CustomEvent("destroy");
+		this.beforeShowEvent		= new YAHOO.util.CustomEvent("beforeShow");
+		this.showEvent				= new YAHOO.util.CustomEvent("show");
+		this.beforeHideEvent		= new YAHOO.util.CustomEvent("beforeHide");
+		this.hideEvent				= new YAHOO.util.CustomEvent("hide");
+	}, 
+
+	/**
+	* String representing the current user-agent platform
+	* @type string
+	*/
+	platform : function() {
+					var ua = navigator.userAgent.toLowerCase();
+					if (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1) {
+						return "windows";
+					} else if (ua.indexOf("macintosh") != -1) {
+						return "mac";
+					} else {
+						return false;
+					}
+				}(),
+
+	/**
+	* String representing the current user-agent browser
+	* @type string
+	*/
+	browser : function() {
+			var ua = navigator.userAgent.toLowerCase();
+				  if (ua.indexOf('opera')!=-1) { // Opera (check first in case of spoof)
+					 return 'opera';
+				  } else if (ua.indexOf('msie 7')!=-1) { // IE7
+					 return 'ie7';
+				  } else if (ua.indexOf('msie') !=-1) { // IE
+					 return 'ie';
+				  } else if (ua.indexOf('safari')!=-1) { // Safari (check before Gecko because it includes "like Gecko")
+					 return 'safari';
+				  } else if (ua.indexOf('gecko') != -1) { // Gecko
+					 return 'gecko';
+				  } else {
+					 return false;
+				  }
+			}(),
+
+	/**
+	* Boolean representing whether or not the current browsing context is secure (https)
+	* @type boolean
+	*/
+	isSecure : function() {
+		if (window.location.href.toLowerCase().indexOf("https") === 0) {
+			return true;
+		} else {
+			return false;
+		}
+	}(),
+
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initDefaultConfig : function() {
+		// Add properties //
+
+		this.cfg.addProperty("visible", { value:true, handler:this.configVisible, validator:this.cfg.checkBoolean } );
+		this.cfg.addProperty("effect", { suppressEvent:true, supercedes:["visible"] } );
+		this.cfg.addProperty("monitorresize", { value:true, handler:this.configMonitorResize } );
+	},
+
+	/**
+	* The Module class's initialization method, which is executed for Module and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+	* @param {string}	el	The element ID representing the Module <em>OR</em>
+	* @param {Element}	el	The element representing the Module
+	* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+	*/
+	init : function(el, userConfig) {
+
+		this.initEvents();
+
+		this.beforeInitEvent.fire(YAHOO.widget.Module);
+
+		this.cfg = new YAHOO.util.Config(this);
+		
+		if (this.isSecure) {
+			this.imageRoot = YAHOO.widget.Module.IMG_ROOT_SSL;
+		}
+
+		if (typeof el == "string") {
+			var elId = el;
+
+			el = document.getElementById(el);
+			if (! el) {
+				el = document.createElement("DIV");
+				el.id = elId;
+			}
+		}
+
+		this.element = el;
+		
+		if (el.id) {
+			this.id = el.id;
+		} 
+
+		var childNodes = this.element.childNodes;
+
+		if (childNodes) {
+			for (var i=0;i<childNodes.length;i++) {
+				var child = childNodes[i];
+				switch (child.className) {
+					case YAHOO.widget.Module.CSS_HEADER:
+						this.header = child;
+						break;
+					case YAHOO.widget.Module.CSS_BODY:
+						this.body = child;
+						break;
+					case YAHOO.widget.Module.CSS_FOOTER:
+						this.footer = child;
+						break;
+				}
+			}
+		}
+
+		this.initDefaultConfig();
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Module.CSS_MODULE);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+
+		// Subscribe to the fireQueue() method of Config so that any queued configuration changes are
+		// excecuted upon render of the Module
+		if (! YAHOO.util.Config.alreadySubscribed(this.renderEvent, this.cfg.fireQueue, this.cfg)) {
+			this.renderEvent.subscribe(this.cfg.fireQueue, this.cfg, true);
+		}
+
+		this.initEvent.fire(YAHOO.widget.Module);
+	},
+
+	/**
+	* Initialized an empty DOM element that is placed out of the visible area that can be used to detect text resize.
+	*/
+	initResizeMonitor : function() {
+
+        if(this.browser != "opera") {
+
+            var resizeMonitor = document.getElementById("_yuiResizeMonitor");
+    
+            if (! resizeMonitor) {
+    
+                resizeMonitor = document.createElement("iframe");
+    
+                var bIE = (this.browser.indexOf("ie") === 0);
+    
+                if(this.isSecure && 
+                   YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL && 
+                   bIE) {
+    
+                  resizeMonitor.src = 
+                       YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;
+    
+                }                
+
+                resizeMonitor.id = "_yuiResizeMonitor";
+                resizeMonitor.style.visibility = "hidden";
+                
+                document.body.appendChild(resizeMonitor);
+    
+                resizeMonitor.style.width = "10em";
+                resizeMonitor.style.height = "10em";
+                resizeMonitor.style.position = "absolute";
+                
+                var nLeft = -1 * resizeMonitor.offsetWidth,
+                    nTop = -1 * resizeMonitor.offsetHeight;
+    
+                resizeMonitor.style.top = nTop + "px";
+                resizeMonitor.style.left =  nLeft + "px";
+                resizeMonitor.style.borderStyle = "none";
+                resizeMonitor.style.borderWidth = "0";
+                YAHOO.util.Dom.setStyle(resizeMonitor, "opacity", "0");
+                
+                resizeMonitor.style.visibility = "visible";
+    
+                if(!bIE) {
+    
+                    var doc = resizeMonitor.contentWindow.document;
+    
+                    doc.open();
+                    doc.close();
+                
+                }
+    
+            }
+    
+            if(resizeMonitor && resizeMonitor.contentWindow) {
+    
+                this.resizeMonitor = resizeMonitor;
+    
+                YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow, "resize", this.onDomResize, this, true);
+    
+            }
+        
+        }
+
+	},
+
+	/**
+	* Event handler fired when the resize monitor element is resized.
+	*/
+	onDomResize : function(e, obj) { 
+
+        var nLeft = -1 * this.resizeMonitor.offsetWidth,
+            nTop = -1 * this.resizeMonitor.offsetHeight;
+        
+        this.resizeMonitor.style.top = nTop + "px";
+        this.resizeMonitor.style.left =  nLeft + "px";
+	
+	},
+
+	/**
+	* Sets the Module's header content to the HTML specified, or appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {string}	headerContent	The HTML used to set the header <em>OR</em>
+	* @param {Element}	headerContent	The Element to append to the header
+	*/	
+	setHeader : function(headerContent) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		if (typeof headerContent == "string") {
+			this.header.innerHTML = headerContent;
+		} else {
+			this.header.innerHTML = "";
+			this.header.appendChild(headerContent);
+		}
+
+		this.changeHeaderEvent.fire(headerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the header
+	*/	
+	appendToHeader : function(element) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		this.header.appendChild(element);
+		this.changeHeaderEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's body content to the HTML specified, or appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {string}	bodyContent	The HTML used to set the body <em>OR</em>
+	* @param {Element}	bodyContent	The Element to append to the body
+	*/		
+	setBody : function(bodyContent) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		if (typeof bodyContent == "string")
+		{
+			this.body.innerHTML = bodyContent;
+		} else {
+			this.body.innerHTML = "";
+			this.body.appendChild(bodyContent);
+		}
+
+		this.changeBodyEvent.fire(bodyContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the body
+	*/
+	appendToBody : function(element) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		this.body.appendChild(element);
+		this.changeBodyEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's footer content to the HTML specified, or appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {string}	footerContent	The HTML used to set the footer <em>OR</em>
+	* @param {Element}	footerContent	The Element to append to the footer
+	*/	
+	setFooter : function(footerContent) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		if (typeof footerContent == "string") {
+			this.footer.innerHTML = footerContent;
+		} else {
+			this.footer.innerHTML = "";
+			this.footer.appendChild(footerContent);
+		}
+
+		this.changeFooterEvent.fire(footerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the footer
+	*/
+	appendToFooter : function(element) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		this.footer.appendChild(element);
+		this.changeFooterEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Renders the Module by inserting the elements that are not already in the main Module into their correct places. Optionally appends the Module to the specified node prior to the render's execution. NOTE: For Modules without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+	* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+	* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+	* @param {Element}	moduleElement	OPTIONAL. The element that represents the actual Standard Module container. 
+	* @return {boolean} Success or failure of the render
+	*/
+	render : function(appendToNode, moduleElement) {
+		this.beforeRenderEvent.fire();
+
+		if (! moduleElement) {
+			moduleElement = this.element;
+		}
+
+		var me = this;
+		var appendTo = function(element) {
+			if (typeof element == "string") {
+				element = document.getElementById(element);
+			}
+			
+			if (element) {
+				element.appendChild(me.element);
+				me.appendEvent.fire();
+			}
+		};
+
+		if (appendToNode) {
+			appendTo(appendToNode);
+		} else { // No node was passed in. If the element is not pre-marked up, this fails
+			if (! YAHOO.util.Dom.inDocument(this.element)) {
+				return false;
+			}
+		}
+
+		// Need to get everything into the DOM if it isn't already
+		
+		if (this.header && ! YAHOO.util.Dom.inDocument(this.header)) {
+			// There is a header, but it's not in the DOM yet... need to add it
+			var firstChild = moduleElement.firstChild;
+			if (firstChild) { // Insert before first child if exists
+				moduleElement.insertBefore(this.header, firstChild);
+			} else { // Append to empty body because there are no children
+				moduleElement.appendChild(this.header);
+			}
+		}
+
+		if (this.body && ! YAHOO.util.Dom.inDocument(this.body)) {
+			// There is a body, but it's not in the DOM yet... need to add it
+			if (this.footer && YAHOO.util.Dom.isAncestor(this.moduleElement, this.footer)) { // Insert before footer if exists in DOM
+				moduleElement.insertBefore(this.body, this.footer);
+			} else { // Append to element because there is no footer
+				moduleElement.appendChild(this.body);
+			}
+		}
+
+		if (this.footer && ! YAHOO.util.Dom.inDocument(this.footer)) {
+			// There is a footer, but it's not in the DOM yet... need to add it
+			moduleElement.appendChild(this.footer);
+		}
+
+		this.renderEvent.fire();
+		return true;
+	},
+
+	/**
+	* Removes the Module element from the DOM and sets all child elements to null.
+	*/
+	destroy : function() {
+		if (this.element) {
+			var parent = this.element.parentNode;
+		}
+		if (parent) {
+			parent.removeChild(this.element);
+		}
+
+		this.element = null;
+		this.header = null;
+		this.body = null;
+		this.footer = null;
+
+		this.destroyEvent.fire();
+	},
+
+	/**
+	* Shows the Module element by setting the visible configuration property to true. Also fires two events: beforeShowEvent prior to the visibility change, and showEvent after.
+	*/
+	show : function() {
+		this.cfg.setProperty("visible", true);
+	},
+
+	/**
+	* Hides the Module element by setting the visible configuration property to false. Also fires two events: beforeHideEvent prior to the visibility change, and hideEvent after.
+	*/
+	hide : function() {
+		this.cfg.setProperty("visible", false);
+	},
+
+	// BUILT-IN EVENT HANDLERS FOR MODULE //
+
+	/**
+	* Default event handler for changing the visibility property of a Module. By default, this is achieved by switching the "display" style between "block" and "none".
+	* This method is responsible for firing showEvent and hideEvent.
+	*/
+	configVisible : function(type, args, obj) {
+		var visible = args[0];
+		if (visible) {
+			this.beforeShowEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "block");
+			this.showEvent.fire();
+		} else {
+			this.beforeHideEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "none");
+			this.hideEvent.fire();
+		}
+	},
+
+	/**
+	* Default event handler for the "monitorresize" configuration property
+	*/
+	configMonitorResize : function(type, args, obj) {
+		var monitor = args[0];
+		if (monitor) {
+			this.initResizeMonitor();
+		} else {
+			YAHOO.util.Event.removeListener(this.resizeMonitor, "resize", this.onDomResize);
+			this.resizeMonitor = null;
+		}
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Module.prototype.toString = function() {
+	return "Module " + this.id;
+};
+
+/**
+* Overlay is a Module that is absolutely positioned above the page flow. It has convenience methods for positioning and sizing, as well as options for controlling zIndex and constraining the Overlay's position to the current visible viewport. Overlay also contains a dynamicly generated IFRAME which is placed beneath it for Internet Explorer 6 and 5.x so that it will be properly rendered above SELECT elements.
+* @extends YAHOO.widget.Module
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Overlay = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Overlay, YAHOO.widget.Module);
+
+/**
+* The URL of the blank image that will be placed in the iframe
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.IFRAME_SRC = "promo/m/irs/blank.gif";
+
+/**
+* Constant representing the top left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_LEFT = "tl";
+
+/**
+* Constant representing the top right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_RIGHT = "tr";
+
+/**
+* Constant representing the top bottom left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_LEFT = "bl";
+
+/**
+* Constant representing the bottom right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_RIGHT = "br";
+
+/**
+* Constant representing the default CSS class used for an Overlay
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.CSS_OVERLAY = "overlay";
+
+/**
+* CustomEvent fired before the Overlay is moved.
+* args: x,y that the Overlay will be moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.beforeMoveEvent = null;
+
+/**
+* CustomEvent fired after the Overlay is moved.
+* args: x,y that the Overlay was moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.moveEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Overlay.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Overlay);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Overlay.CSS_OVERLAY);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	if (this.platform == "mac" && this.browser == "gecko") {
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)) {
+			this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)) {
+			this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);
+		}
+	}
+
+	this.initEvent.fire(YAHOO.widget.Overlay);
+
+};
+
+/**
+* Initializes the custom events for Overlay which are fired automatically at appropriate times by the Overlay class.
+*/
+YAHOO.widget.Overlay.prototype.initEvents = function() {
+	YAHOO.widget.Overlay.superclass.initEvents.call(this);
+
+	this.beforeMoveEvent = new YAHOO.util.CustomEvent("beforeMove", this);
+	this.moveEvent = new YAHOO.util.CustomEvent("move", this);
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Overlay.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);
+
+	// Add overlay config properties //
+	this.cfg.addProperty("x", { handler:this.configX, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("y", { handler:this.configY, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("xy",{ handler:this.configXY, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("context",	{ handler:this.configContext, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("fixedcenter", { value:false, handler:this.configFixedCenter, validator:this.cfg.checkBoolean, supercedes:["iframe","visible"] } );
+
+	this.cfg.addProperty("width", { handler:this.configWidth, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("height", { handler:this.configHeight, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("zIndex", { value:null, handler:this.configzIndex } );
+
+	this.cfg.addProperty("constraintoviewport", { value:false, handler:this.configConstrainToViewport, validator:this.cfg.checkBoolean, supercedes:["iframe","x","y","xy"] } );
+	this.cfg.addProperty("iframe", { value:(this.browser == "ie" ? true : false), handler:this.configIframe, validator:this.cfg.checkBoolean, supercedes:["zIndex"] } );
+};
+
+/**
+* Moves the Overlay to the specified position. This function is identical to calling this.cfg.setProperty("xy", [x,y]);
+* @param {int}	x	The Overlay's new x position
+* @param {int}	y	The Overlay's new y position
+*/
+YAHOO.widget.Overlay.prototype.moveTo = function(x, y) {
+	this.cfg.setProperty("xy",[x,y]);
+};
+
+/**
+* Adds a special CSS class to the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "show-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "hide-scrollbars");
+};
+
+/**
+* Removes a special CSS class from the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "hide-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "show-scrollbars");
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "visible" property is changed. This method is responsible for firing showEvent and hideEvent.
+*/
+YAHOO.widget.Overlay.prototype.configVisible = function(type, args, obj) {
+	var visible = args[0];
+	var currentVis = YAHOO.util.Dom.getStyle(this.element, "visibility");
+
+	var effect = this.cfg.getProperty("effect");
+
+	var effectInstances = [];
+	if (effect) {
+		if (effect instanceof Array) {
+			for (var i=0;i<effect.length;i++) {
+				var eff = effect[i];
+				effectInstances[effectInstances.length] = eff.effect(this, eff.duration);
+			}
+		} else {
+			effectInstances[effectInstances.length] = effect.effect(this, effect.duration);
+		}
+	}
+
+	var isMacGecko = (this.platform == "mac" && this.browser == "gecko");
+
+	if (visible) { // Show
+		if (isMacGecko) {
+			this.showMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate in
+			if (visible) { // Animate in if not showing
+				if (currentVis != "visible") {
+					this.beforeShowEvent.fire();
+					for (var j=0;j<effectInstances.length;j++) {
+						var e = effectInstances[j];
+						if (j === 0 && ! YAHOO.util.Config.alreadySubscribed(e.animateInCompleteEvent,this.showEvent.fire,this.showEvent)) {
+							e.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true); // Delegate showEvent until end of animateInComplete
+						}
+						e.animateIn();
+					}
+				}
+			}
+		} else { // Show
+			if (currentVis != "visible") {
+				this.beforeShowEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "visible");
+				this.cfg.refireEvent("iframe");
+				this.showEvent.fire();
+			}
+		}
+
+	} else { // Hide
+		if (isMacGecko) {
+			this.hideMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate out if showing
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				for (var k=0;k<effectInstances.length;k++) {
+					var h = effectInstances[k];
+					if (k === 0 && ! YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)) {				
+						h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true); // Delegate hideEvent until end of animateOutComplete
+					}
+					h.animateOut();
+				}
+			}
+		} else { // Simple hide
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "hidden");
+				this.cfg.refireEvent("iframe");
+				this.hideEvent.fire();
+			}
+		}	
+	}
+};
+
+/**
+* Center event handler used for centering on scroll/resize, but only if the Overlay is visible
+*/
+YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent = function() {
+	if (this.cfg.getProperty("visible")) {
+		this.center();
+	}
+};
+
+/**
+* The default event handler fired when the "fixedcenter" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configFixedCenter = function(type, args, obj) {
+	var val = args[0];
+
+	if (val) {
+		this.center();
+			
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent, this.center, this)) {
+			this.beforeShowEvent.subscribe(this.center, this, true);
+		}
+		
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent, this, true);
+		}
+
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowScrollEvent.subscribe( this.doCenterOnDOMEvent, this, true);
+		}
+	} else {
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+		YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "zIndex" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configzIndex = function(type, args, obj) {
+	var zIndex = args[0];
+
+	var el = this.element;
+
+	if (! zIndex) {
+		zIndex = YAHOO.util.Dom.getStyle(el, "zIndex");
+		if (! zIndex || isNaN(zIndex)) {
+			zIndex = 0;
+		}
+	}
+
+	if (this.iframe) {
+		if (zIndex <= 0) {
+			zIndex = 1;
+		}
+		YAHOO.util.Dom.setStyle(this.iframe, "zIndex", (zIndex-1));
+	}
+
+	YAHOO.util.Dom.setStyle(el, "zIndex", zIndex);
+	this.cfg.setProperty("zIndex", zIndex, true);
+};
+
+/**
+* The default event handler fired when the "xy" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configXY = function(type, args, obj) {
+	var pos = args[0];
+	var x = pos[0];
+	var y = pos[1];
+
+	this.cfg.setProperty("x", x);
+	this.cfg.setProperty("y", y);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x,y]);
+};
+
+/**
+* The default event handler fired when the "x" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configX = function(type, args, obj) {
+	var x = args[0];
+	var y = this.cfg.getProperty("y");
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setX(this.element, x, true);
+	
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* The default event handler fired when the "y" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configY = function(type, args, obj) {
+	var x = this.cfg.getProperty("x");
+	var y = args[0];
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setY(this.element, y, true);
+
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* Shows the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.showIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "block";
+	}
+}
+
+/**
+* Hides the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.hideIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "none";
+	}
+}
+
+/**
+* The default event handler fired when the "iframe" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configIframe = function(type, args, obj) {
+
+	var val = args[0];
+
+	if (val) { // IFRAME shim is enabled
+
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, this.showIframe, this)) {
+			this.showEvent.subscribe(this.showIframe, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, this.hideIframe, this)) {
+			this.hideEvent.subscribe(this.hideIframe, this, true);
+		}
+
+		var x = this.cfg.getProperty("x");
+		var y = this.cfg.getProperty("y");
+
+		if (! x || ! y) {
+			this.syncPosition();
+			x = this.cfg.getProperty("x");
+			y = this.cfg.getProperty("y");
+		}
+
+		if (! isNaN(x) && ! isNaN(y)) {
+			if (! this.iframe) {
+				this.iframe = document.createElement("iframe");
+				if (this.isSecure) {
+					this.iframe.src= this.imageRoot + YAHOO.widget.Overlay.IFRAME_SRC;
+				}
+				
+				var parent = this.element.parentNode;
+				if (parent) {
+					parent.appendChild(this.iframe);
+				} else {
+					document.body.appendChild(this.iframe);
+				}
+
+				YAHOO.util.Dom.setStyle(this.iframe, "position", "absolute");
+				YAHOO.util.Dom.setStyle(this.iframe, "border", "none");
+				YAHOO.util.Dom.setStyle(this.iframe, "margin", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "padding", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "opacity", "0");
+				if (this.cfg.getProperty("visible")) {
+					this.showIframe();
+				} else {
+					this.hideIframe();
+				}
+			}
+			
+			var iframeDisplay = YAHOO.util.Dom.getStyle(this.iframe, "display");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "block";
+			}
+
+			YAHOO.util.Dom.setXY(this.iframe, [x,y]);
+
+			var width = this.element.clientWidth;
+			var height = this.element.clientHeight;
+
+			YAHOO.util.Dom.setStyle(this.iframe, "width", (width+2) + "px");
+			YAHOO.util.Dom.setStyle(this.iframe, "height", (height+2) + "px");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "none";
+			}
+		}
+	} else {
+		if (this.iframe) {
+			this.iframe.style.display = "none";
+		}
+		this.showEvent.unsubscribe(this.showIframe, this);
+		this.hideEvent.unsubscribe(this.hideIframe, this);
+	}
+};
+
+
+/**
+* The default event handler fired when the "constraintoviewport" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configConstrainToViewport = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent, this.enforceConstraints, this)) {
+			this.beforeMoveEvent.subscribe(this.enforceConstraints, this, true);
+		}
+	} else {
+		this.beforeMoveEvent.unsubscribe(this.enforceConstraints, this);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configContext = function(type, args, obj) {
+	var contextArgs = args[0];
+
+	if (contextArgs) {
+		var contextEl = contextArgs[0];
+		var elementMagnetCorner = contextArgs[1];
+		var contextMagnetCorner = contextArgs[2];
+
+		if (contextEl) {
+			if (typeof contextEl == "string") {
+				this.cfg.setProperty("context", [document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner], true);
+			}
+			
+			if (elementMagnetCorner && contextMagnetCorner) {
+				this.align(elementMagnetCorner, contextMagnetCorner);
+			}
+		}	
+	}
+};
+
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Aligns the Overlay to its context element using the specified corner points (represented by the constants TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, and BOTTOM_RIGHT.
+* @param {string} elementAlign		The string representing the corner of the Overlay that should be aligned to the context element
+* @param {string} contextAlign		The corner of the context element that the elementAlign corner should stick to.
+*/
+YAHOO.widget.Overlay.prototype.align = function(elementAlign, contextAlign) {
+	var contextArgs = this.cfg.getProperty("context");
+	if (contextArgs) {
+		var context = contextArgs[0];
+		
+		var element = this.element;
+		var me = this;
+
+		if (! elementAlign) {
+			elementAlign = contextArgs[1];
+		}
+
+		if (! contextAlign) {
+			contextAlign = contextArgs[2];
+		}
+
+		if (element && context) {
+			var elementRegion = YAHOO.util.Dom.getRegion(element);
+			var contextRegion = YAHOO.util.Dom.getRegion(context);
+
+			var doAlign = function(v,h) {
+				switch (elementAlign) {
+					case YAHOO.widget.Overlay.TOP_LEFT:
+						me.moveTo(h,v);
+						break;
+					case YAHOO.widget.Overlay.TOP_RIGHT:
+						me.moveTo(h-element.offsetWidth,v);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_LEFT:
+						me.moveTo(h,v-element.offsetHeight);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+						me.moveTo(h-element.offsetWidth,v-element.offsetHeight);
+						break;
+				}
+			};
+
+			switch (contextAlign) {
+				case YAHOO.widget.Overlay.TOP_LEFT:
+					doAlign(contextRegion.top, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.TOP_RIGHT:
+					doAlign(contextRegion.top, contextRegion.right);
+					break;		
+				case YAHOO.widget.Overlay.BOTTOM_LEFT:
+					doAlign(contextRegion.bottom, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+					doAlign(contextRegion.bottom, contextRegion.right);
+					break;
+			}
+		}
+	}
+};
+
+/**
+* The default event handler executed when the moveEvent is fired, if the "constraintoviewport" is set to true.
+*/
+YAHOO.widget.Overlay.prototype.enforceConstraints = function(type, args, obj) {
+	var pos = args[0];
+
+	var x = pos[0];
+	var y = pos[1];
+
+	var offsetHeight = this.element.offsetHeight;
+	var offsetWidth = this.element.offsetWidth;
+
+	var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+	var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var topConstraint = scrollY + 10;
+	var leftConstraint = scrollX + 10;
+	var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+	var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+	
+	if (x < leftConstraint) {
+		x = leftConstraint;
+	} else if (x > rightConstraint) {
+		x = rightConstraint;
+	}
+
+	if (y < topConstraint) {
+		y = topConstraint;
+	} else if (y > bottomConstraint) {
+		y = bottomConstraint;
+	}
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+	this.cfg.setProperty("xy", [x,y], true);
+};
+
+/**
+* Centers the container in the viewport.
+*/
+YAHOO.widget.Overlay.prototype.center = function() {
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var viewPortWidth = YAHOO.util.Dom.getClientWidth();
+	var viewPortHeight = YAHOO.util.Dom.getClientHeight();
+
+	var elementWidth = this.element.offsetWidth;
+	var elementHeight = this.element.offsetHeight;
+
+	var x = (viewPortWidth / 2) - (elementWidth / 2) + scrollX;
+	var y = (viewPortHeight / 2) - (elementHeight / 2) + scrollY;
+	
+	this.element.style.left = parseInt(x, 10) + "px";
+	this.element.style.top = parseInt(y, 10) + "px";
+	this.syncPosition();
+
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Synchronizes the Panel's "xy", "x", and "y" properties with the Panel's position in the DOM. This is primarily used to update position information during drag & drop.
+*/
+YAHOO.widget.Overlay.prototype.syncPosition = function() {
+	var pos = YAHOO.util.Dom.getXY(this.element);
+	this.cfg.setProperty("x", pos[0], true);
+	this.cfg.setProperty("y", pos[1], true);
+	this.cfg.setProperty("xy", pos, true);
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Overlay.prototype.onDomResize = function(e, obj) {
+	YAHOO.widget.Overlay.superclass.onDomResize.call(this, e, obj);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Removes the Overlay element from the DOM and sets all child elements to null.
+*/
+YAHOO.widget.Overlay.prototype.destroy = function() {
+	if (this.iframe) {
+		this.iframe.parentNode.removeChild(this.iframe);
+	}
+	
+	this.iframe = null;
+
+	YAHOO.widget.Overlay.superclass.destroy.call(this);  
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Overlay.prototype.toString = function() {
+	return "Overlay " + this.id;
+};
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window scroll
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowScrollEvent = new YAHOO.util.CustomEvent("windowScroll");
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window resize
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowResizeEvent = new YAHOO.util.CustomEvent("windowResize");
+
+/**
+* The DOM event handler used to fire the CustomEvent for window scroll
+* @type Function
+*/
+YAHOO.widget.Overlay.windowScrollHandler = function(e) {
+		YAHOO.widget.Overlay.windowScrollEvent.fire();
+};
+
+/**
+* The DOM event handler used to fire the CustomEvent for window resize
+* @type Function
+*/
+YAHOO.widget.Overlay.windowResizeHandler = function(e) {
+		YAHOO.widget.Overlay.windowResizeEvent.fire();
+};
+
+/**
+* @private
+*/
+YAHOO.widget.Overlay._initialized = null;
+
+if (YAHOO.widget.Overlay._initialized === null) {
+	YAHOO.util.Event.addListener(window, "scroll", YAHOO.widget.Overlay.windowScrollHandler);
+	YAHOO.util.Event.addListener(window, "resize", YAHOO.widget.Overlay.windowResizeHandler);
+
+	YAHOO.widget.Overlay._initialized = true;
+}
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* OverlayManager is used for maintaining the focus status of multiple Overlays.
+* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+* @constructor
+*/
+YAHOO.widget.OverlayManager = function(userConfig) {
+	this.init(userConfig);
+};
+
+/**
+* The CSS class representing a focused Overlay
+* @type string
+*/
+YAHOO.widget.OverlayManager.CSS_FOCUSED = "focused";
+
+YAHOO.widget.OverlayManager.prototype = {
+
+	constructor : YAHOO.widget.OverlayManager,
+
+	/**
+	* The array of Overlays that are currently registered
+	* @type Array
+	*/
+	overlays : null,
+
+	/**
+	* Initializes the default configuration of the OverlayManager
+	*/	
+	initDefaultConfig : function() {
+		this.cfg.addProperty("overlays", { suppressEvent:true } );
+		this.cfg.addProperty("focusevent", { value:"mousedown" } );
+	}, 
+
+	/**
+	* Returns the currently focused Overlay
+	* @return {Overlay}	The currently focused Overlay
+	*/
+	getActive : function() {},
+
+	/**
+	* Focuses the specified Overlay
+	* @param {Overlay}	The Overlay to focus
+	* @param {string}	The id of the Overlay to focus
+	*/
+	focus : function(overlay) {},
+
+	/**
+	* Removes the specified Overlay from the manager
+	* @param {Overlay}	The Overlay to remove
+	* @param {string}	The id of the Overlay to remove
+	*/
+	remove: function(overlay) {},
+
+	/**
+	* Removes focus from all registered Overlays in the manager
+	*/
+	blurAll : function() {},
+
+	/**
+	* Initializes the OverlayManager
+	* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+	* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+	*/
+	init : function(userConfig) {
+		this.cfg = new YAHOO.util.Config(this);
+
+		this.initDefaultConfig();
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		this.cfg.fireQueue();
+
+		var activeOverlay = null;
+
+		this.getActive = function() {
+			return activeOverlay;
+		};
+
+		this.focus = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				this.blurAll();
+				activeOverlay = o;
+				YAHOO.util.Dom.addClass(activeOverlay.element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+				this.overlays.sort(this.compareZIndexDesc);
+				var topZIndex = YAHOO.util.Dom.getStyle(this.overlays[0].element, "zIndex");
+				if (! isNaN(topZIndex) && this.overlays[0] != overlay) {
+					activeOverlay.cfg.setProperty("zIndex", (parseInt(topZIndex, 10) + 2));
+				}
+				this.overlays.sort(this.compareZIndexDesc);
+			}
+		};
+
+		this.remove = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				var originalZ = YAHOO.util.Dom.getStyle(o.element, "zIndex");
+				o.cfg.setProperty("zIndex", -1000, true);
+				this.overlays.sort(this.compareZIndexDesc);
+				this.overlays = this.overlays.slice(0, this.overlays.length-1);
+				o.cfg.setProperty("zIndex", originalZ, true);
+
+				o.cfg.setProperty("manager", null);
+				o.focusEvent = null;
+				o.blurEvent = null;
+				o.focus = null;
+				o.blur = null;
+			}
+		};
+
+		this.blurAll = function() {
+			activeOverlay = null;
+			for (var o=0;o<this.overlays.length;o++) {
+				YAHOO.util.Dom.removeClass(this.overlays[o].element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+			}		
+		};
+
+		var overlays = this.cfg.getProperty("overlays");
+		
+		if (! this.overlays) {
+			this.overlays = [];
+		}
+
+		if (overlays) {
+			this.register(overlays);
+			this.overlays.sort(this.compareZIndexDesc);
+		}
+	},
+
+	/**
+	* Registers an Overlay or an array of Overlays with the manager. Upon registration, the Overlay receives functions for focus and blur, along with CustomEvents for each.
+	* @param {Overlay}	overlay		An Overlay to register with the manager.
+	* @param {Overlay[]}	overlay		An array of Overlays to register with the manager.
+	* @return	{boolean}	True if any Overlays are registered.
+	*/
+	register : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			overlay.cfg.addProperty("manager", { value:this } );
+
+			overlay.focusEvent = new YAHOO.util.CustomEvent("focus");
+			overlay.blurEvent = new YAHOO.util.CustomEvent("blur");
+			
+			var mgr=this;
+
+			overlay.focus = function() {
+				mgr.focus(this);
+				this.focusEvent.fire();
+			};
+
+			overlay.blur = function() {
+				mgr.blurAll();
+				this.blurEvent.fire();
+			};
+
+			var focusOnDomEvent = function(e,obj) {
+				overlay.focus();
+			};
+			
+			var focusevent = this.cfg.getProperty("focusevent");
+			YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);
+
+			var zIndex = YAHOO.util.Dom.getStyle(overlay.element, "zIndex");
+			if (! isNaN(zIndex)) {
+				overlay.cfg.setProperty("zIndex", parseInt(zIndex, 10));
+			} else {
+				overlay.cfg.setProperty("zIndex", 0);
+			}
+			
+			this.overlays.push(overlay);
+			return true;
+		} else if (overlay instanceof Array) {
+			var regcount = 0;
+			for (var i=0;i<overlay.length;i++) {
+				if (this.register(overlay[i])) {
+					regcount++;
+				}
+			}
+			if (regcount > 0) {
+				return true;
+			}
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Attempts to locate an Overlay by instance or ID.
+	* @param {Overlay}	overlay		An Overlay to locate within the manager
+	* @param {string}	overlay		An Overlay id to locate within the manager
+	* @return	{Overlay}	The requested Overlay, if found, or null if it cannot be located.
+	*/
+	find : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			for (var o=0;o<this.overlays.length;o++) {
+				if (this.overlays[o] == overlay) {
+					return this.overlays[o];
+				}
+			}
+		} else if (typeof overlay == "string") {
+			for (var p=0;p<this.overlays.length;p++) {
+				if (this.overlays[p].id == overlay) {
+					return this.overlays[p];
+				}
+			}			
+		}
+		return null;
+	},
+
+	/**
+	* Used for sorting the manager's Overlays by z-index.
+	* @private
+	*/
+	compareZIndexDesc : function(o1, o2) {
+		var zIndex1 = o1.cfg.getProperty("zIndex");
+		var zIndex2 = o2.cfg.getProperty("zIndex");
+
+		if (zIndex1 > zIndex2) {
+			return -1;
+		} else if (zIndex1 < zIndex2) {
+			return 1;
+		} else {
+			return 0;
+		}
+	},
+
+	/**
+	* Shows all Overlays in the manager.
+	*/
+	showAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].show();
+		}
+	},
+
+	/**
+	* Hides all Overlays in the manager.
+	*/
+	hideAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].hide();
+		}
+	},
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	toString : function() {
+		return "OverlayManager";
+	}
+
+};
+
+/**
+* KeyListener is a utility that provides an easy interface for listening for keydown/keyup events fired against DOM elements.
+* @param {Element}	attachTo	The element or element ID to which the key event should be attached
+* @param {string}	attachTo	The element or element ID to which the key event should be attached
+* @param {object}	keyData		The object literal representing the key(s) to detect. Possible attributes are shift(boolean), alt(boolean), ctrl(boolean) and keys(either an int or an array of ints representing keycodes).
+* @param {function}	handler		The CustomEvent handler to fire when the key event is detected
+* @param {object}	handler		An object literal representing the handler. 
+* @param {string}	event		Optional. The event (keydown or keyup) to listen for. Defaults automatically to keydown.
+* @constructor
+*/
+YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {
+	if (! event) {
+		event = YAHOO.util.KeyListener.KEYDOWN;
+	}
+
+	var keyEvent = new YAHOO.util.CustomEvent("keyPressed");
+	
+	this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
+	this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
+
+	if (typeof attachTo == 'string') {
+		attachTo = document.getElementById(attachTo);
+	}
+
+	if (typeof handler == 'function') {
+		keyEvent.subscribe(handler);
+	} else {
+		keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);
+	}
+
+	/**
+	* Handles the key event when a key is pressed.
+	* @private
+	*/
+	function handleKeyPress(e, obj) {
+		var keyPressed = e.charCode || e.keyCode;
+		
+		if (! keyData.shift) {	
+			keyData.shift = false; 
+		}
+		if (! keyData.alt) {	
+			keyData.alt = false;
+		}
+		if (! keyData.ctrl) {
+			keyData.ctrl = false;
+		}
+
+		// check held down modifying keys first
+		if (e.shiftKey == keyData.shift && 
+			e.altKey   == keyData.alt &&
+			e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match
+
+			if (keyData.keys instanceof Array) {
+				for (var i=0;i<keyData.keys.length;i++) {
+					if (keyPressed == keyData.keys[i]) {
+						keyEvent.fire(keyPressed, e);
+						break;
+					}
+				}
+			} else {
+				if (keyPressed == keyData.keys) {
+					keyEvent.fire(keyPressed, e);
+				}
+			}
+		}
+	}
+
+	this.enable = function() {
+		if (! this.enabled) {
+			YAHOO.util.Event.addListener(attachTo, event, handleKeyPress);
+			this.enabledEvent.fire(keyData);
+		}
+		this.enabled = true;
+	};
+
+	this.disable = function() {
+		if (this.enabled) {
+			YAHOO.util.Event.removeListener(attachTo, event, handleKeyPress);
+			this.disabledEvent.fire(keyData);
+		}
+		this.enabled = false;
+	};
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	this.toString = function() {
+		return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + (attachTo.id ? "[" + attachTo.id + "]" : "");
+	};
+
+};
+
+/**
+* Constant representing the DOM "keydown" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYDOWN = "keydown";
+
+/**
+* Constant representing the DOM "keyup" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYUP = "keyup";
+
+/**
+* Boolean indicating the enabled/disabled state of the Tooltip
+* @type Booleam
+*/
+YAHOO.util.KeyListener.prototype.enabled = null;
+
+/**
+* Enables the KeyListener, by dynamically attaching the key event to the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.enable = function() {};
+
+/**
+* Disables the KeyListener, by dynamically removing the key event from the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.disable = function() {};
+
+/**
+* CustomEvent fired when the KeyListener is enabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.enabledEvent = null;
+
+/**
+* CustomEvent fired when the KeyListener is disabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.disabledEvent = null;
+
+
+/**
+* Tooltip is an implementation of Overlay that behaves like an OS tooltip, displaying when the user mouses over a particular element, and disappearing on mouse out.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Tooltip = function(el, userConfig) {
+	YAHOO.widget.Tooltip.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Tooltip, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the Tooltip CSS class
+* @type string
+* @final
+*/
+YAHOO.widget.Tooltip.CSS_TOOLTIP = "tt";
+
+/**
+* The Tooltip initialization method. This method is automatically called by the constructor. A Tooltip is automatically rendered by the init method, and it also is set to be invisible by default, and constrained to viewport by default as well.
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Tooltip. See configuration documentation for more details.
+*/
+YAHOO.widget.Tooltip.prototype.init = function(el, userConfig) {
+	if (document.readyState && document.readyState != "complete") {
+		var deferredInit = function() {
+			this.init(el, userConfig);
+		};
+		YAHOO.util.Event.addListener(window, "load", deferredInit, this, true);
+	} else {
+		YAHOO.widget.Tooltip.superclass.init.call(this, el);
+
+		this.beforeInitEvent.fire(YAHOO.widget.Tooltip);
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Tooltip.CSS_TOOLTIP);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		
+		this.cfg.queueProperty("visible",false);
+		this.cfg.queueProperty("constraintoviewport",true);
+
+		this.setBody("");
+		this.render(this.cfg.getProperty("container"));
+
+		this.initEvent.fire(YAHOO.widget.Tooltip);
+	}
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Tooltip.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);
+
+	this.cfg.addProperty("preventoverlap",		{ value:true, validator:this.cfg.checkBoolean, supercedes:["x","y","xy"] } );
+
+	this.cfg.addProperty("showdelay",			{ value:200, handler:this.configShowDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("autodismissdelay",	{ value:5000, handler:this.configAutoDismissDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("hidedelay",			{ value:250, handler:this.configHideDelay, validator:this.cfg.checkNumber } );
+
+	this.cfg.addProperty("text",				{ handler:this.configText, suppressEvent:true } );
+	this.cfg.addProperty("container",			{ value:document.body, handler:this.configContainer } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "text" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configText = function(type, args, obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+	}
+};
+
+/**
+* The default event handler fired when the "container" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContainer = function(type, args, obj) {
+	var container = args[0];
+	if (typeof container == 'string') {
+		this.cfg.setProperty("container", document.getElementById(container), true);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContext = function(type, args, obj) {
+	var context = args[0];
+	if (context) {
+		
+		// Normalize parameter into an array
+		if (! (context instanceof Array)) {
+			if (typeof context == "string") {
+				this.cfg.setProperty("context", [document.getElementById(context)], true);
+			} else { // Assuming this is an element
+				this.cfg.setProperty("context", [context], true);
+			}
+			context = this.cfg.getProperty("context");
+		}
+
+
+		// Remove any existing mouseover/mouseout listeners
+		if (this._context) {
+			for (var c=0;c<this._context.length;++c) {
+				var el = this._context[c];
+				YAHOO.util.Event.removeListener(el, "mouseover", this.onContextMouseOver);
+				YAHOO.util.Event.removeListener(el, "mousemove", this.onContextMouseMove);
+				YAHOO.util.Event.removeListener(el, "mouseout", this.onContextMouseOut);
+			}
+		}
+
+		// Add mouseover/mouseout listeners to context elements
+		this._context = context;
+		for (var d=0;d<this._context.length;++d) {
+			var el2 = this._context[d];
+			YAHOO.util.Event.addListener(el2, "mouseover", this.onContextMouseOver, this);
+			YAHOO.util.Event.addListener(el2, "mousemove", this.onContextMouseMove, this);
+			YAHOO.util.Event.addListener(el2, "mouseout", this.onContextMouseOut, this);
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+// BEGIN BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* The default event handler fired when the user moves the mouse while over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseMove = function(e, obj) {
+	obj.pageX = YAHOO.util.Event.getPageX(e);
+	obj.pageY = YAHOO.util.Event.getPageY(e);
+
+};
+
+/**
+* The default event handler fired when the user mouses over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOver = function(e, obj) {
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+	
+	var context = this;
+	YAHOO.util.Event.addListener(context, "mousemove", obj.onContextMouseMove, obj);
+
+	if (context.title) {
+		obj._tempTitle = context.title;
+		context.title = "";
+	}
+
+	/**
+	* The unique process ID associated with the thread responsible for showing the Tooltip.
+	* @type int
+	*/
+	obj.showProcId = obj.doShow(e, context);
+};
+
+/**
+* The default event handler fired when the user mouses out of the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOut = function(e, obj) {
+	var el = this;
+
+	if (obj._tempTitle) {
+		el.title = obj._tempTitle;
+		obj._tempTitle = null;
+	}
+	
+	if (obj.showProcId) {
+		clearTimeout(obj.showProcId);
+		obj.showProcId = null;
+	}
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+
+
+	obj.hideProcId = setTimeout(function() {
+				obj.hide();
+				}, obj.cfg.getProperty("hidedelay"));
+};
+
+// END BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* Processes the showing of the Tooltip by setting the timeout delay and offset of the Tooltip.
+* @param {DOMEvent} e	The current DOM event
+* @return {int}	The process ID of the timeout function associated with doShow
+*/
+YAHOO.widget.Tooltip.prototype.doShow = function(e, context) {
+	
+	var yOffset = 25;
+	if (this.browser == "opera" && context.tagName == "A") {
+		yOffset += 12;
+	}
+
+	var me = this;
+	return setTimeout(
+		function() {
+			if (me._tempTitle) {
+				me.setBody(me._tempTitle);
+			} else {
+				me.cfg.refireEvent("text");
+			}
+
+			me.moveTo(me.pageX, me.pageY + yOffset);
+			if (me.cfg.getProperty("preventoverlap")) {
+				me.preventOverlap(me.pageX, me.pageY);
+			}
+			
+			YAHOO.util.Event.removeListener(context, "mousemove", me.onContextMouseMove);
+
+			me.show();
+			me.hideProcId = me.doHide();
+		},
+	this.cfg.getProperty("showdelay"));
+};
+
+/**
+* Sets the timeout for the auto-dismiss delay, which by default is 5 seconds, meaning that a tooltip will automatically dismiss itself after 5 seconds of being displayed.
+*/
+YAHOO.widget.Tooltip.prototype.doHide = function() {
+	var me = this;
+	return setTimeout(
+		function() {
+			me.hide();
+		},
+		this.cfg.getProperty("autodismissdelay"));
+};
+
+/**
+* Fired when the Tooltip is moved, this event handler is used to prevent the Tooltip from overlapping with its context element.
+*/
+YAHOO.widget.Tooltip.prototype.preventOverlap = function(pageX, pageY) {
+	
+	var height = this.element.offsetHeight;
+	
+	var elementRegion = YAHOO.util.Dom.getRegion(this.element);
+
+	elementRegion.top -= 5;
+	elementRegion.left -= 5;
+	elementRegion.right += 5;
+	elementRegion.bottom += 5;
+
+	var mousePoint = new YAHOO.util.Point(pageX, pageY);
+	
+	if (elementRegion.contains(mousePoint)) {
+		this.cfg.setProperty("y", (pageY-height-5));
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Tooltip.prototype.toString = function() {
+	return "Tooltip " + this.id;
+};
+
+/**
+* Panel is an implementation of Overlay that behaves like an OS window, with a draggable header and an optional close icon at the top right.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Panel <em>OR</em>
+* @param {Element}	el	The element representing the Panel
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Panel. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Panel = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Panel, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the default CSS class used for a Panel
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL = "panel";
+
+/**
+* Constant representing the default CSS class used for a Panel's wrapping container
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL_CONTAINER = "panel-container";
+
+/**
+* CustomEvent fired after the modality mask is shown
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.showMaskEvent = null;
+
+/**
+* CustomEvent fired after the modality mask is hidden
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.hideMaskEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Panel.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Panel);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Panel.CSS_PANEL);
+
+	this.buildWrapper();			
+	
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		var draggable = this.cfg.getProperty("draggable");
+		if (draggable) {
+			if (! this.header) {
+				this.setHeader("&nbsp;");
+			}
+		}
+	}, this, true);
+
+	var me = this;
+
+	this.showMaskEvent.subscribe(function() {
+		var checkFocusable = function(el) {
+			if (el.tagName == "A" || el.tagName == "BUTTON" || el.tagName == "SELECT" || el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "FORM") {
+				if (! YAHOO.util.Dom.isAncestor(me.element, el)) {
+					YAHOO.util.Event.addListener(el, "focus", el.blur);
+					return true;
+				}
+			} else {
+				return false;
+			}
+		};
+		
+		this.focusableElements = YAHOO.util.Dom.getElementsBy(checkFocusable);
+	}, this, true);
+
+	this.hideMaskEvent.subscribe(function() {
+		for (var i=0;i<this.focusableElements.length;i++) {
+			var el2 = this.focusableElements[i];
+			YAHOO.util.Event.removeListener(el2, "focus", el2.blur);
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Panel);
+};
+
+/**
+* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+*/
+YAHOO.widget.Panel.prototype.initEvents = function() {
+	YAHOO.widget.Panel.superclass.initEvents.call(this);
+
+	this.showMaskEvent = new YAHOO.util.CustomEvent("showMask");
+	this.hideMaskEvent = new YAHOO.util.CustomEvent("hideMask");
+
+	this.dragEvent = new YAHOO.util.CustomEvent("drag");
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Panel's Config object (cfg).
+*/
+YAHOO.widget.Panel.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);
+
+	// Add panel config properties //
+
+	this.cfg.addProperty("close", { value:true, handler:this.configClose, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+	this.cfg.addProperty("draggable", { value:true,	handler:this.configDraggable, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("underlay", { value:"shadow", handler:this.configUnderlay, supercedes:["visible"] } );
+	this.cfg.addProperty("modal",	{ value:false, handler:this.configModal, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("keylisteners", { handler:this.configKeyListeners, suppressEvent:true, supercedes:["visible"] } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "close" property is changed. The method controls the appending or hiding of the close icon at the top right of the Panel.
+*/
+YAHOO.widget.Panel.prototype.configClose = function(type, args, obj) {
+	var val = args[0];
+
+	var doHide = function(e, obj) {
+		obj.hide();
+	};
+
+	if (val) {
+		if (! this.close) {
+			this.close = document.createElement("DIV");
+			YAHOO.util.Dom.addClass(this.close, "close");
+
+			if (this.isSecure) {
+				YAHOO.util.Dom.addClass(this.close, "secure");
+			} else {
+				YAHOO.util.Dom.addClass(this.close, "nonsecure");
+			}
+
+			this.close.innerHTML = "&nbsp;";
+			this.innerElement.appendChild(this.close);
+			YAHOO.util.Event.addListener(this.close, "click", doHide, this);	
+		} else {
+			this.close.style.display = "block";
+		}
+	} else {
+		if (this.close) {
+			this.close.style.display = "none";
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "draggable" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configDraggable = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","move");
+			this.registerDragDrop();
+		}
+	} else {
+		if (this.dd) {
+			this.dd.unreg();
+		}
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","auto");
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "underlay" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configUnderlay = function(type, args, obj) {
+	var val = args[0];
+
+	switch (val.toLowerCase()) {
+		case "shadow":
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			YAHOO.util.Dom.addClass(this.element, "shadow");
+
+			if (! this.underlay) { // create if not already in DOM
+				this.underlay = document.createElement("DIV");
+				this.underlay.className = "underlay";
+				this.underlay.innerHTML = "&nbsp;";
+				this.element.appendChild(this.underlay);
+			} 
+
+			this.sizeUnderlay();
+			break;
+		case "matte":
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.addClass(this.element, "matte");
+			break;
+		default:
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			break;
+	}
+};
+
+/**
+* The default event handler fired when the "modal" property is changed. This handler subscribes or unsubscribes to the show and hide events to handle the display or hide of the modality mask.
+*/
+YAHOO.widget.Panel.prototype.configModal = function(type, args, obj) {
+	var modal = args[0];
+
+	if (modal) {
+		this.buildMask();
+
+		if (! YAHOO.util.Config.alreadySubscribed( this.showEvent, this.showMask, this ) ) {
+			this.showEvent.subscribe(this.showMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.hideEvent, this.hideMask, this) ) {
+			this.hideEvent.subscribe(this.hideMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( YAHOO.widget.Overlay.windowResizeEvent, this.sizeMask, this ) ) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.destroyEvent, this.removeMask, this) ) {
+			this.destroyEvent.subscribe(this.removeMask, this, true);
+		}
+	} else {
+		this.beforeShowEvent.unsubscribe(this.showMask, this);
+		this.hideEvent.unsubscribe(this.hideMask, this);
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask, this);
+		this.destroyEvent.unsubscribe(this.removeMask, this);
+	}
+};
+
+/**
+* Removes the modality mask.
+*/
+YAHOO.widget.Panel.prototype.removeMask = function() {
+	if (this.mask) {
+		if (this.mask.parentNode) {
+			this.mask.parentNode.removeChild(this.mask);
+		}
+		this.mask = null;
+	}
+}
+
+/**
+* The default event handler fired when the "keylisteners" property is changed. 
+*/
+YAHOO.widget.Panel.prototype.configKeyListeners = function(type, args, obj) {
+	var listeners = args[0];
+
+	if (listeners) {
+		if (listeners instanceof Array) {
+			for (var i=0;i<listeners.length;i++) {
+				var listener = listeners[i];
+
+				if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listener.enable, listener)) {
+					this.showEvent.subscribe(listener.enable, listener, true);
+				}
+				if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listener.disable, listener)) {
+					this.hideEvent.subscribe(listener.disable, listener, true);
+					this.destroyEvent.subscribe(listener.disable, listener, true);
+				}
+			}
+		} else {
+			if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listeners.enable, listeners)) {
+				this.showEvent.subscribe(listeners.enable, listeners, true);
+			}
+			if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listeners.disable, listeners)) {
+				this.hideEvent.subscribe(listeners.disable, listeners, true);
+				this.destroyEvent.subscribe(listeners.disable, listeners, true); 
+			}
+		}
+	} 
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+
+/**
+* Builds the wrapping container around the Panel that is used for positioning the shadow and matte underlays. The container element is assigned to a  local instance variable called container, and the element is reinserted inside of it.
+*/
+YAHOO.widget.Panel.prototype.buildWrapper = function() {
+	var elementParent = this.element.parentNode;
+
+	var elementClone = this.element.cloneNode(true);
+	this.innerElement = elementClone;
+	this.innerElement.style.visibility = "inherit";
+
+	YAHOO.util.Dom.addClass(this.innerElement, YAHOO.widget.Panel.CSS_PANEL);
+
+	var wrapper = document.createElement("DIV");
+	wrapper.className = YAHOO.widget.Panel.CSS_PANEL_CONTAINER;
+	wrapper.id = elementClone.id + "_c";
+	
+	wrapper.appendChild(elementClone);
+	
+	if (elementParent) {
+		elementParent.replaceChild(wrapper, this.element);
+	}
+
+	this.element = wrapper;
+
+	// Resynchronize the local field references
+
+	var childNodes = this.innerElement.childNodes;
+	if (childNodes) {
+		for (var i=0;i<childNodes.length;i++) {
+			var child = childNodes[i];
+			switch (child.className) {
+				case YAHOO.widget.Module.CSS_HEADER:
+					this.header = child;
+					break;
+				case YAHOO.widget.Module.CSS_BODY:
+					this.body = child;
+					break;
+				case YAHOO.widget.Module.CSS_FOOTER:
+					this.footer = child;
+					break;
+			}
+		}
+	}
+
+	this.initDefaultConfig(); // We've changed the DOM, so the configuration must be re-tooled to get the DOM references right
+};
+
+/**
+* Adjusts the size of the shadow based on the size of the element.
+*/
+YAHOO.widget.Panel.prototype.sizeUnderlay = function() {
+	if (this.underlay && this.browser != "gecko" && this.browser != "safari") {
+		this.underlay.style.width = this.innerElement.offsetWidth + "px";
+		this.underlay.style.height = this.innerElement.offsetHeight + "px";
+	}
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Panel.prototype.onDomResize = function(e, obj) { 
+	YAHOO.widget.Panel.superclass.onDomResize.call(this, e, obj);
+	var me = this;
+	setTimeout(function() {
+		me.sizeUnderlay();
+	}, 0);
+};
+
+/**
+* Registers the Panel's header for drag & drop capability.
+*/
+YAHOO.widget.Panel.prototype.registerDragDrop = function() {
+	if (this.header) {
+		this.dd = new YAHOO.util.DD(this.element.id, this.id);
+
+		if (! this.header.id) {
+			this.header.id = this.id + "_h";
+		}
+		
+		var me = this;
+
+		this.dd.startDrag = function() {
+
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.addClass(me.element,"drag");
+			}
+
+			if (me.cfg.getProperty("constraintoviewport")) {
+				var offsetHeight = me.element.offsetHeight;
+				var offsetWidth = me.element.offsetWidth;
+
+				var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+				var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+				var scrollX = window.scrollX || document.documentElement.scrollLeft;
+				var scrollY = window.scrollY || document.documentElement.scrollTop;
+
+				var topConstraint = scrollY + 10;
+				var leftConstraint = scrollX + 10;
+				var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+				var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+				this.minX = leftConstraint;
+				this.maxX = rightConstraint;
+				this.constrainX = true;
+
+				this.minY = topConstraint;
+				this.maxY = bottomConstraint;
+				this.constrainY = true;
+			} else {
+				this.constrainX = false;
+				this.constrainY = false;
+			}
+
+			me.dragEvent.fire("startDrag", arguments);
+		};
+		
+		this.dd.onDrag = function() {
+			me.syncPosition();
+			me.cfg.refireEvent("iframe");
+			if (this.platform == "mac" && this.browser == "gecko") {
+				this.showMacGeckoScrollbars();
+			}
+
+			me.dragEvent.fire("onDrag", arguments);
+		};
+
+		this.dd.endDrag = function() {
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.removeClass(me.element,"drag");
+			}
+
+			me.dragEvent.fire("endDrag", arguments);
+		};
+
+		this.dd.setHandleElId(this.header.id);
+		this.dd.addInvalidHandleType("INPUT");
+		this.dd.addInvalidHandleType("SELECT");
+		this.dd.addInvalidHandleType("TEXTAREA");
+	}
+};
+
+/**
+* Builds the mask that is laid over the document when the Panel is configured to be modal.
+*/
+YAHOO.widget.Panel.prototype.buildMask = function() {
+	if (! this.mask) {
+		this.mask = document.createElement("DIV");
+		this.mask.id = this.id + "_mask";
+		this.mask.className = "mask";
+		this.mask.innerHTML = "&nbsp;";
+
+		var maskClick = function(e, obj) {
+			YAHOO.util.Event.stopEvent(e);
+		};
+
+		var firstChild = document.body.firstChild;
+		if (firstChild)	{
+			document.body.insertBefore(this.mask, document.body.firstChild);
+		} else {
+			document.body.appendChild(this.mask);
+		}
+	}
+};
+
+/**
+* Hides the modality mask.
+*/
+YAHOO.widget.Panel.prototype.hideMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		this.mask.style.display = "none";
+		this.hideMaskEvent.fire();
+		YAHOO.util.Dom.removeClass(document.body, "masked");
+	}
+};
+
+/**
+* Shows the modality mask.
+*/
+YAHOO.widget.Panel.prototype.showMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		YAHOO.util.Dom.addClass(document.body, "masked");
+		this.sizeMask();
+		this.mask.style.display = "block";
+		this.showMaskEvent.fire();
+	}
+};
+
+/**
+* Sets the size of the modality mask to cover the entire scrollable area of the document
+*/
+YAHOO.widget.Panel.prototype.sizeMask = function() {
+	if (this.mask) {
+		this.mask.style.height = YAHOO.util.Dom.getDocumentHeight()+"px";
+		this.mask.style.width = YAHOO.util.Dom.getDocumentWidth()+"px";
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Renders the Panel by inserting the elements that are not already in the main Panel into their correct places. Optionally appends the Panel to the specified node prior to the render's execution. NOTE: For Panels without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+* @return {boolean} Success or failure of the render
+*/
+YAHOO.widget.Panel.prototype.render = function(appendToNode) {
+	return YAHOO.widget.Panel.superclass.render.call(this, appendToNode, this.innerElement);
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Panel.prototype.toString = function() {
+	return "Panel " + this.id;
+};
+
+/**
+* Dialog is an implementation of Panel that can be used to submit form data. Built-in functionality for buttons with event handlers is included, and button sets can be build dynamically, or the preincluded ones for Submit/Cancel and OK/Cancel can be utilized. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Panel
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Dialog = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Dialog, YAHOO.widget.Panel);
+
+/**
+* Constant representing the default CSS class used for a Dialog
+* @type string
+* @final
+*/
+YAHOO.widget.Dialog.CSS_DIALOG = "dialog";
+
+
+/**
+* CustomEvent fired prior to submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.beforeSubmitEvent = null;
+
+/**
+* CustomEvent fired after submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.submitEvent = null;
+
+/**
+* CustomEvent fired prior to manual submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.manualSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to asynchronous submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.asyncSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to form-based submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.formSubmitEvent = null;
+
+/**
+* CustomEvent fired after cancel
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.cancelEvent = null;
+
+
+/**
+* Initializes the class's configurable properties which can be changed using the Dialog's Config object (cfg).
+*/
+YAHOO.widget.Dialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);
+
+	/**
+	* The internally maintained callback object for use with the Connection utility
+	* @type object
+	* @private
+	*/
+	this.callback = {
+		success : null,
+		failure : null,
+		argument: null
+	};
+
+	this.doSubmit = function() {
+		var method = this.cfg.getProperty("postmethod");
+		switch (method) {
+			case "async":
+				YAHOO.util.Connect.setForm(this.form);
+				var cObj = YAHOO.util.Connect.asyncRequest('POST', this.form.action, this.callback);
+				this.asyncSubmitEvent.fire();
+				break;
+			case "form":
+				this.form.submit();
+				this.formSubmitEvent.fire();
+				break;
+			case "none":
+			case "manual":
+				this.manualSubmitEvent.fire();
+				break;
+		}
+	};
+
+	// Add form dialog config properties //
+	this.cfg.addProperty("postmethod", { value:"async", validator:function(val) { 
+													if (val != "form" && val != "async" && val != "none" && val != "manual") {
+														return false;
+													} else {
+														return true;
+													}
+												} });
+
+	this.cfg.addProperty("buttons",		{ value:"none",	handler:this.configButtons } );
+};
+
+/**
+* Initializes the custom events for Dialog which are fired automatically at appropriate times by the Dialog class.
+*/
+YAHOO.widget.Dialog.prototype.initEvents = function() {
+	YAHOO.widget.Dialog.superclass.initEvents.call(this);
+	
+	this.beforeSubmitEvent	= new YAHOO.util.CustomEvent("beforeSubmit");
+	this.submitEvent		= new YAHOO.util.CustomEvent("submit");
+
+	this.manualSubmitEvent	= new YAHOO.util.CustomEvent("manualSubmit");
+	this.asyncSubmitEvent	= new YAHOO.util.CustomEvent("asyncSubmit");
+	this.formSubmitEvent	= new YAHOO.util.CustomEvent("formSubmit");
+
+	this.cancelEvent		= new YAHOO.util.CustomEvent("cancel");
+};
+
+/**
+* The Dialog initialization method, which is executed for Dialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+*/
+YAHOO.widget.Dialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Dialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Dialog.CSS_DIALOG);
+
+	this.cfg.setProperty("visible", false);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.renderEvent.subscribe(this.registerForm, this, true);
+
+	this.showEvent.subscribe(this.focusFirst, this, true);
+	this.beforeHideEvent.subscribe(this.blurButtons, this, true);
+
+	this.beforeRenderEvent.subscribe(function() {
+		var buttonCfg = this.cfg.getProperty("buttons");
+		if (buttonCfg && buttonCfg != "none") {
+			if (! this.footer) {
+				this.setFooter("");
+			}
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Dialog);
+};
+
+/**
+* Prepares the Dialog's internal FORM object, creating one if one is not currently present.
+*/
+YAHOO.widget.Dialog.prototype.registerForm = function() {
+	var form = this.element.getElementsByTagName("FORM")[0];
+
+	if (! form) {
+		var formHTML = "<form name=\"frm_" + this.id + "\" action=\"\"></form>";
+		this.body.innerHTML += formHTML;
+		form = this.element.getElementsByTagName("FORM")[0];
+	}
+
+	this.firstFormElement = function() {
+		for (var f=0;f<form.elements.length;f++ ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.lastFormElement = function() {
+		for (var f=form.elements.length-1;f>=0;f-- ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.form = form;
+
+	if (this.cfg.getProperty("modal") && this.form) {
+
+		var me = this;
+		
+		var firstElement = this.firstFormElement || this.firstButton;
+		if (firstElement) {
+			this.preventBackTab = new YAHOO.util.KeyListener(firstElement, { shift:true, keys:9 }, {fn:me.focusLast, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventBackTab.enable, this.preventBackTab, true);
+			this.hideEvent.subscribe(this.preventBackTab.disable, this.preventBackTab, true);
+		}
+
+		var lastElement = this.lastButton || this.lastFormElement;
+		if (lastElement) {
+			this.preventTabOut = new YAHOO.util.KeyListener(lastElement, { shift:false, keys:9 }, {fn:me.focusFirst, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventTabOut.enable, this.preventTabOut, true);
+			this.hideEvent.subscribe(this.preventTabOut.disable, this.preventTabOut, true);
+		}
+	}
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler for the "buttons" configuration property
+*/
+YAHOO.widget.Dialog.prototype.configButtons = function(type, args, obj) {
+	var buttons = args[0];
+	if (buttons != "none") {
+		this.buttonSpan = null;
+		this.buttonSpan = document.createElement("SPAN");
+		this.buttonSpan.className = "button-group";
+
+		for (var b=0;b<buttons.length;b++) {
+			var button = buttons[b];
+
+			var htmlButton = document.createElement("BUTTON");
+			htmlButton.setAttribute("type", "button");
+
+			if (button.isDefault) {
+				htmlButton.className = "default";
+				this.defaultHtmlButton = htmlButton;
+			}
+
+			htmlButton.appendChild(document.createTextNode(button.text));
+			YAHOO.util.Event.addListener(htmlButton, "click", button.handler, this, true);
+
+			this.buttonSpan.appendChild(htmlButton);		
+			button.htmlButton = htmlButton;
+
+			if (b === 0) {
+				this.firstButton = button.htmlButton;
+			}
+
+			if (b == (buttons.length-1)) {
+				this.lastButton = button.htmlButton;
+			}
+
+		}
+
+		this.setFooter(this.buttonSpan);
+
+		this.cfg.refireEvent("iframe");
+		this.cfg.refireEvent("underlay");
+	} else { // Do cleanup
+		if (this.buttonSpan) {
+			if (this.buttonSpan.parentNode) {
+				this.buttonSpan.parentNode.removeChild(this.buttonSpan);
+			}
+
+			this.buttonSpan = null;
+			this.firstButton = null;
+			this.lastButton = null;
+			this.defaultHtmlButton = null;
+		}
+	}
+};
+
+/**
+* The default handler fired when the "success" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnSuccess = function(type,args,obj){};
+
+/**
+* The default handler fired when the "failure" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnFailure = function(type,args,obj){};
+
+/**
+* Executes a submission of the form based on the value of the postmethod property.
+*/
+YAHOO.widget.Dialog.prototype.doSubmit = function() {};
+
+/**
+* The default event handler used to focus the first field of the form when the Dialog is shown.
+*/
+YAHOO.widget.Dialog.prototype.focusFirst = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	if (this.firstFormElement) {
+		this.firstFormElement.focus();
+	} else {
+		this.focusDefaultButton();
+	}
+};
+
+/**
+* Sets the focus to the last button in the button or form element in the Dialog
+*/
+YAHOO.widget.Dialog.prototype.focusLast = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		this.focusLastButton();
+	} else {
+		if (this.lastFormElement) {
+			this.lastFormElement.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the button that is designated as the default. By default, his handler is executed when the show event is fired.
+*/
+YAHOO.widget.Dialog.prototype.focusDefaultButton = function() {
+	if (this.defaultHtmlButton) {
+		this.defaultHtmlButton.focus();
+	}
+};
+
+/**
+* Blurs all the html buttons
+*/
+YAHOO.widget.Dialog.prototype.blurButtons = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.blur();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusFirstButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusLastButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[buttons.length-1].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Built-in function hook for writing a validation function that will be checked for a "true" value prior to a submit. This function, as implemented by default, always returns true, so it should be overridden if validation is necessary.
+*/
+YAHOO.widget.Dialog.prototype.validate = function() {
+	return true;
+};
+
+/**
+* Executes a submit of the Dialog followed by a hide, if validation is successful.
+*/
+YAHOO.widget.Dialog.prototype.submit = function() {
+	if (this.validate()) {
+		this.beforeSubmitEvent.fire();
+		this.doSubmit();
+		this.submitEvent.fire();
+		this.hide();
+		return true;
+	} else {
+		return false;
+	}
+};
+
+/**
+* Executes the cancel of the Dialog followed by a hide.
+*/
+YAHOO.widget.Dialog.prototype.cancel = function() {
+	this.cancelEvent.fire();
+	this.hide();	
+};
+
+/**
+* Returns a JSON-compatible data structure representing the data currently contained in the form.
+* @return {object} A JSON object reprsenting the data of the current form.
+*/
+YAHOO.widget.Dialog.prototype.getData = function() {
+	var form = this.form;
+	var data = {};
+
+	if (form) {
+		for (var i in this.form) {
+			var formItem = form[i];
+			if (formItem) {
+				if (formItem.tagName) { // Got a single form item
+					switch (formItem.tagName) {
+						case "INPUT":
+							switch (formItem.type) {
+								case "checkbox": 
+									data[i] = formItem.checked;
+									break;
+								case "textbox":
+								case "text":
+								case "hidden":
+									data[i] = formItem.value;
+									break;
+							}
+							break;
+						case "TEXTAREA":
+							data[i] = formItem.value;
+							break;
+						case "SELECT":
+							var val = [];
+							for (var x=0;x<formItem.options.length;x++)	{
+								var option = formItem.options[x];
+								if (option.selected) {
+									var selval = option.value;
+									if (! selval || selval === "") {
+										selval = option.text;
+									}
+									val[val.length] = selval;
+								}
+							}
+							data[i] = val;
+							break;
+					}
+				} else if (formItem[0] && formItem[0].tagName) { // this is an array of form items
+					switch (formItem[0].tagName) {
+						case "INPUT" :
+							switch (formItem[0].type) {
+								case "radio":
+									for (var r=0; r<formItem.length; r++) {
+										var radio = formItem[r];
+										if (radio.checked) {
+											data[radio.name] = radio.value;
+											break;
+										}
+									}
+									break;
+								case "checkbox":
+									var cbArray = [];
+									for (var c=0; c<formItem.length; c++) {
+										var check = formItem[c];
+										if (check.checked) {
+											cbArray[cbArray.length] = check.value;
+										}
+									}
+									data[formItem[0].name] = cbArray;
+									break;
+							}
+					}
+				}
+			}
+		}	
+	}
+	return data;
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Dialog.prototype.toString = function() {
+	return "Dialog " + this.id;
+};
+
+/**
+* SimpleDialog is a simple implementation of Dialog that can be used to submit a single value. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Dialog
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.SimpleDialog = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.SimpleDialog, YAHOO.widget.Dialog);
+
+/**
+* Constant for the standard network icon for a blocking action
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_BLOCK = "nt/ic/ut/bsc/blck16_1.gif";
+
+/**
+* Constant for the standard network icon for alarm
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_ALARM = "nt/ic/ut/bsc/alrt16_1.gif";
+
+/**
+* Constant for the standard network icon for help
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_HELP  = "nt/ic/ut/bsc/hlp16_1.gif";
+
+/**
+* Constant for the standard network icon for info
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_INFO  = "nt/ic/ut/bsc/info16_1.gif";
+
+/**
+* Constant for the standard network icon for warn
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_WARN  = "nt/ic/ut/bsc/warn16_1.gif";
+
+/**
+* Constant for the standard network icon for a tip
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_TIP   = "nt/ic/ut/bsc/tip16_1.gif";
+
+/**
+* Constant representing the default CSS class used for a SimpleDialog
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG = "simple-dialog";
+
+/**
+* Initializes the class's configurable properties which can be changed using the SimpleDialog's Config object (cfg).
+*/
+YAHOO.widget.SimpleDialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);
+
+	// Add dialog config properties //
+	this.cfg.addProperty("icon",	{ value:"none",	handler:this.configIcon, suppressEvent:true } );
+	this.cfg.addProperty("text",	{ value:"", handler:this.configText, suppressEvent:true, supercedes:["icon"] } );
+};
+
+
+/**
+* The SimpleDialog initialization method, which is executed for SimpleDialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+*/
+YAHOO.widget.SimpleDialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+	this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);
+
+	this.cfg.queueProperty("postmethod", "manual");
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		if (! this.body) {
+			this.setBody("");
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.SimpleDialog);
+
+};
+/**
+* Prepares the SimpleDialog's internal FORM object, creating one if one is not currently present, and adding the value hidden field.
+*/
+YAHOO.widget.SimpleDialog.prototype.registerForm = function() {
+	YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);
+	this.form.innerHTML += "<input type=\"hidden\" name=\"" + this.id + "\" value=\"\"/>";
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Fired when the "icon" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configIcon = function(type,args,obj) {
+	var icon = args[0];
+	if (icon && icon != "none") {
+		var iconHTML = "<img src=\"" + this.imageRoot + icon + "\" class=\"icon\" />";
+		this.body.innerHTML = iconHTML + this.body.innerHTML;
+	}
+};
+
+/**
+* Fired when the "text" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configText = function(type,args,obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+		this.cfg.refireEvent("icon");
+	}
+};
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.SimpleDialog.prototype.toString = function() {
+	return "SimpleDialog " + this.id;
+};
+
+/**
+* ContainerEffect encapsulates animation transitions that are executed when an Overlay is shown or hidden.
+* @param {Overlay}	overlay		The Overlay that the animation should be associated with
+* @param {object}	attrIn		The object literal representing the animation arguments to be used for the animate-in transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {object}	attrOut		The object literal representing the animation arguments to be used for the animate-out transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {Element}	targetElement	Optional. The target element that should be animated during the transition. Defaults to overlay.element.
+* @param {class}	Optional. The animation class to instantiate. Defaults to YAHOO.util.Anim. Other options include YAHOO.util.Motion.
+* @constructor
+*/
+YAHOO.widget.ContainerEffect = function(overlay, attrIn, attrOut, targetElement, animClass) {
+	if (! animClass) {
+		animClass = YAHOO.util.Anim;
+	}
+
+	/**
+	* The overlay to animate
+	*/
+	this.overlay = overlay;
+	/**
+	* The animation attributes to use when transitioning into view
+	*/
+	this.attrIn = attrIn;
+	/**
+	* The animation attributes to use when transitioning out of view
+	*/
+	this.attrOut = attrOut;
+	/**
+	* The target element to be animated
+	*/
+	this.targetElement = targetElement || overlay.element;
+	/**
+	* The animation class to use for animating the overlay
+	*/
+	this.animClass = animClass;
+};
+
+/**
+* Initializes the animation classes and events.
+*/
+YAHOO.widget.ContainerEffect.prototype.init = function() {
+	this.beforeAnimateInEvent = new YAHOO.util.CustomEvent("beforeAnimateIn");
+	this.beforeAnimateOutEvent = new YAHOO.util.CustomEvent("beforeAnimateOut");
+
+	this.animateInCompleteEvent = new YAHOO.util.CustomEvent("animateInComplete");
+	this.animateOutCompleteEvent = new YAHOO.util.CustomEvent("animateOutComplete");
+
+	this.animIn = new this.animClass(this.targetElement, this.attrIn.attributes, this.attrIn.duration, this.attrIn.method);
+	this.animIn.onStart.subscribe(this.handleStartAnimateIn, this);
+	this.animIn.onTween.subscribe(this.handleTweenAnimateIn, this);
+	this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn, this);
+
+	this.animOut = new this.animClass(this.targetElement, this.attrOut.attributes, this.attrOut.duration, this.attrOut.method);
+	this.animOut.onStart.subscribe(this.handleStartAnimateOut, this);
+	this.animOut.onTween.subscribe(this.handleTweenAnimateOut, this);
+	this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut, this);
+};
+
+/**
+* Triggers the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateIn = function() {
+	this.beforeAnimateInEvent.fire();
+	this.animIn.animate();
+};
+
+/**
+* Triggers the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateOut = function() {
+	this.beforeAnimateOutEvent.fire();
+	this.animOut.animate();
+};
+
+/**
+* The default onStart handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn = function(type, args, obj) { };
+/**
+* The default onTween handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn = function(type, args, obj) { };
+/**
+* The default onComplete handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn = function(type, args, obj) { };
+
+/**
+* The default onStart handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut = function(type, args, obj) { };
+/**
+* The default onTween handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut = function(type, args, obj) { };
+/**
+* The default onComplete handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut = function(type, args, obj) { };
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.ContainerEffect.prototype.toString = function() {
+	var output = "ContainerEffect";
+	if (this.overlay) {
+		output += " [" + this.overlay.toString() + "]";
+	}
+	return output;
+};
+
+/**
+* A pre-configured ContainerEffect instance that can be used for fading an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.FADE = function(overlay, dur) {
+	var fade = new YAHOO.widget.ContainerEffect(overlay, { attributes:{opacity: {from:0, to:1}}, duration:dur, method:YAHOO.util.Easing.easeIn }, { attributes:{opacity: {to:0}}, duration:dur, method:YAHOO.util.Easing.easeOut}, overlay.element );
+
+	fade.handleStartAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+		
+		if (! obj.overlay.underlay) {
+			obj.overlay.cfg.refireEvent("underlay");
+		}
+
+		if (obj.overlay.underlay) {
+			obj.initialUnderlayOpacity = YAHOO.util.Dom.getStyle(obj.overlay.underlay, "opacity");
+			obj.overlay.underlay.style.filter = null;
+		}
+
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible"); 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 0);
+	};
+
+	fade.handleCompleteAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}			
+		
+		if (obj.overlay.underlay) {
+			YAHOO.util.Dom.setStyle(obj.overlay.underlay, "opacity", obj.initialUnderlayOpacity);
+		}
+
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	fade.handleStartAnimateOut = function(type, args, obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.underlay) {
+			obj.overlay.underlay.style.filter = null;
+		}
+	};
+
+	fade.handleCompleteAnimateOut =  function(type, args, obj) { 
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}				
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 1); 
+
+		obj.overlay.cfg.refireEvent("iframe");
+
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	fade.init();
+	return fade;
+};
+
+
+/**
+* A pre-configured ContainerEffect instance that can be used for sliding an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.SLIDE = function(overlay, dur) {
+	var x = overlay.cfg.getProperty("x") || YAHOO.util.Dom.getX(overlay.element);
+	var y = overlay.cfg.getProperty("y") || YAHOO.util.Dom.getY(overlay.element);
+
+	var clientWidth = YAHOO.util.Dom.getClientWidth();
+	var offsetWidth = overlay.element.offsetWidth;
+
+	var slide = new YAHOO.widget.ContainerEffect(overlay, { 
+															attributes:{ points: { to:[x, y] } }, 
+															duration:dur, 
+															method:YAHOO.util.Easing.easeIn 
+														}, 
+														{ 
+															attributes:{ points: { to:[(clientWidth+25), y] } },
+															duration:dur, 
+															method:YAHOO.util.Easing.easeOut
+														},
+														overlay.element,
+														YAHOO.util.Motion);
+												
+
+	slide.handleStartAnimateIn = function(type,args,obj) {
+		obj.overlay.element.style.left = (-25-offsetWidth) + "px";
+		obj.overlay.element.style.top  = y + "px";
+	};
+	
+	slide.handleTweenAnimateIn = function(type, args, obj) {
+
+
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var currentX = pos[0];
+		var currentY = pos[1];
+
+		if (YAHOO.util.Dom.getStyle(obj.overlay.element, "visibility") == "hidden" && currentX < x) {
+			YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible");
+		}
+
+		obj.overlay.cfg.setProperty("xy", [currentX,currentY], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+	
+	slide.handleCompleteAnimateIn = function(type, args, obj) {
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.startX = x;
+		obj.startY = y;
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	slide.handleStartAnimateOut = function(type, args, obj) {
+		var clientWidth = YAHOO.util.Dom.getViewportWidth();
+		
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		var currentTo = obj.animOut.attributes.points.to;
+		obj.animOut.attributes.points.to = [(clientWidth+25), y];
+	};
+
+	slide.handleTweenAnimateOut = function(type, args, obj) {
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+
+	slide.handleCompleteAnimateOut = function(type, args, obj) { 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");		
+		var offsetWidth = obj.overlay.element.offsetWidth;
+
+		obj.overlay.cfg.setProperty("xy", [x,y]);
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	slide.init();
+	return slide;
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dom.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,899 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * @class Provides helper methods for DOM elements.
+ */
+YAHOO.util.Dom = function() {
+   var ua = navigator.userAgent.toLowerCase();
+   var isOpera = (ua.indexOf('opera') > -1);
+   var isSafari = (ua.indexOf('safari') > -1);
+   var isIE = (window.ActiveXObject);
+
+   var id_counter = 0;
+   var util = YAHOO.util; // internal shorthand
+   var property_cache = {}; // to cache case conversion for set/getStyle
+
+   var toCamel = function(property) {
+      var convert = function(prop) {
+         var test = /(-[a-z])/i.exec(prop);
+         return prop.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase());
+      };
+
+      while(property.indexOf('-') > -1) {
+         property = convert(property);
+      }
+
+      return property;
+      //return property.replace(/-([a-z])/gi, function(m0, m1) {return m1.toUpperCase()}) // cant use function as 2nd arg yet due to safari bug
+   };
+
+   var toHyphen = function(property) {
+      if (property.indexOf('-') > -1) { // assume hyphen
+         return property;
+      }
+
+      var converted = '';
+      for (var i = 0, len = property.length;i < len; ++i) {
+         if (property.charAt(i) == property.charAt(i).toUpperCase()) {
+            converted = converted + '-' + property.charAt(i).toLowerCase();
+         } else {
+            converted = converted + property.charAt(i);
+         }
+      }
+
+      return converted;
+      //return property.replace(/([a-z])([A-Z]+)/g, function(m0, m1, m2) {return (m1 + '-' + m2.toLowerCase())});
+   };
+
+   // improve performance by only looking up once
+   var cacheConvertedProperties = function(property) {
+      property_cache[property] = {
+         camel: toCamel(property),
+         hyphen: toHyphen(property)
+      };
+   };
+
+   return {
+      /**
+       * Returns an HTMLElement reference
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID for getting a DOM reference, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {HTMLElement/Array} A DOM reference to an HTML element or an array of HTMLElements.
+       */
+      get: function(el) {
+         if (!el) { return null; } // nothing to work with
+
+         if (typeof el != 'string' && !(el instanceof Array) ) { // assuming HTMLElement or HTMLCollection, so pass back as is
+            return el;
+         }
+
+         if (typeof el == 'string') { // ID
+            return document.getElementById(el);
+         }
+         else { // array of ID's and/or elements
+            var collection = [];
+            for (var i = 0, len = el.length; i < len; ++i) {
+               collection[collection.length] = util.Dom.get(el[i]);
+            }
+
+            return collection;
+         }
+
+         return null; // safety, should never happen
+      },
+
+      /**
+       * Normalizes currentStyle and ComputedStyle.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property whose value is returned.
+       * @return {String/Array} The current value of the style property for the element(s).
+       */
+      getStyle: function(el, property) {
+         var f = function(el) {
+            var value = null;
+            var dv = document.defaultView;
+
+            if (!property_cache[property]) {
+               cacheConvertedProperties(property);
+            }
+
+            var camel = property_cache[property]['camel'];
+            var hyphen = property_cache[property]['hyphen'];
+
+            if (property == 'opacity' && el.filters) {// IE opacity
+               value = 1;
+               try {
+                  value = el.filters.item('DXImageTransform.Microsoft.Alpha').opacity / 100;
+               } catch(e) {
+                  try {
+                     value = el.filters.item('alpha').opacity / 100;
+                  } catch(e) {}
+               }
+            } else if (el.style[camel]) { // camelCase for valid styles
+               value = el.style[camel];
+            }
+            else if (isIE && el.currentStyle && el.currentStyle[camel]) { // camelCase for currentStyle; isIE to workaround broken Opera 9 currentStyle
+               value = el.currentStyle[camel];
+            }
+            else if ( dv && dv.getComputedStyle ) { // hyphen-case for computedStyle
+               var computed = dv.getComputedStyle(el, '');
+
+               if (computed && computed.getPropertyValue(hyphen)) {
+                  value = computed.getPropertyValue(hyphen);
+               }
+            }
+
+            return value;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Wrapper for setting style properties of HTMLElements.  Normalizes "opacity" across modern browsers.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property to be set.
+       * @param {String} val The value to apply to the given property.
+       */
+      setStyle: function(el, property, val) {
+         if (!property_cache[property]) {
+            cacheConvertedProperties(property);
+         }
+
+         var camel = property_cache[property]['camel'];
+
+         var f = function(el) {
+            switch(property) {
+               case 'opacity' :
+                  if (isIE && typeof el.style.filter == 'string') { // in case not appended
+                     el.style.filter = 'alpha(opacity=' + val * 100 + ')';
+
+                     if (!el.currentStyle || !el.currentStyle.hasLayout) {
+                        el.style.zoom = 1; // when no layout or cant tell
+                     }
+                  } else {
+                     el.style.opacity = val;
+                     el.style['-moz-opacity'] = val;
+                     el.style['-khtml-opacity'] = val;
+                  }
+
+                  break;
+               default :
+                  el.style[camel] = val;
+            }
+
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       @ return {Array} The XY position of the element(s)
+       */
+      getXY: function(el) {
+         var f = function(el) {
+
+         // has to be part of document to have pageXY
+            if (el.offsetParent === null || this.getStyle(el, 'display') == 'none') {
+               return false;
+            }
+
+            var parentNode = null;
+            var pos = [];
+            var box;
+
+            if (el.getBoundingClientRect) { // IE
+               box = el.getBoundingClientRect();
+               var doc = document;
+               if ( !this.inDocument(el) && parent.document != document) {// might be in a frame, need to get its scroll
+                  doc = parent.document;
+
+                  if ( !this.isAncestor(doc.documentElement, el) ) {
+                     return false;
+                  }
+
+               }
+
+               var scrollTop = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);
+               var scrollLeft = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);
+
+               return [box.left + scrollLeft, box.top + scrollTop];
+            }
+            else { // safari, opera, & gecko
+               pos = [el.offsetLeft, el.offsetTop];
+               parentNode = el.offsetParent;
+               if (parentNode != el) {
+                  while (parentNode) {
+                     pos[0] += parentNode.offsetLeft;
+                     pos[1] += parentNode.offsetTop;
+                     parentNode = parentNode.offsetParent;
+                  }
+               }
+               if (isSafari && this.getStyle(el, 'position') == 'absolute' ) { // safari doubles in some cases
+                  pos[0] -= document.body.offsetLeft;
+                  pos[1] -= document.body.offsetTop;
+               }
+            }
+
+            if (el.parentNode) { parentNode = el.parentNode; }
+            else { parentNode = null; }
+
+            while (parentNode && parentNode.tagName.toUpperCase() != 'BODY' && parentNode.tagName.toUpperCase() != 'HTML')
+            { // account for any scrolled ancestors
+               if (util.Dom.getStyle(parentNode, 'display') != 'inline') { // work around opera inline scrollLeft/Top bug
+                  pos[0] -= parentNode.scrollLeft;
+                  pos[1] -= parentNode.scrollTop;
+               }
+
+               if (parentNode.parentNode) { parentNode = parentNode.parentNode; }
+               else { parentNode = null; }
+            }
+
+
+            return pos;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current X position of an element based on page coordinates.  The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The X position of the element(s)
+       */
+      getX: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[0];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current Y position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The Y position of the element(s)
+       */
+      getY: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[1];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @param {Array} pos Contains X & Y values for new position (coordinates are page-based)
+       * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
+       */
+      setXY: function(el, pos, noRetry) {
+         var f = function(el) {
+            var style_pos = this.getStyle(el, 'position');
+            if (style_pos == 'static') { // default to relative
+               this.setStyle(el, 'position', 'relative');
+               style_pos = 'relative';
+            }
+
+            var pageXY = this.getXY(el);
+            if (pageXY === false) { // has to be part of doc to have pageXY
+               return false;
+            }
+
+            var delta = [ // assuming pixels; if not we will have to retry
+               parseInt( this.getStyle(el, 'left'), 10 ),
+               parseInt( this.getStyle(el, 'top'), 10 )
+            ];
+
+            if ( isNaN(delta[0]) ) {// in case of 'auto'
+               delta[0] = (style_pos == 'relative') ? 0 : el.offsetLeft;
+            }
+            if ( isNaN(delta[1]) ) { // in case of 'auto'
+               delta[1] = (style_pos == 'relative') ? 0 : el.offsetTop;
+            }
+
+            if (pos[0] !== null) { el.style.left = pos[0] - pageXY[0] + delta[0] + 'px'; }
+            if (pos[1] !== null) { el.style.top = pos[1] - pageXY[1] + delta[1] + 'px'; }
+
+            var newXY = this.getXY(el);
+
+            // if retry is true, try one more time if we miss
+            if (!noRetry && (newXY[0] != pos[0] || newXY[1] != pos[1]) ) {
+               this.setXY(el, pos, true);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the X coordinate for the element(s).
+       */
+      setX: function(el, x) {
+         util.Dom.setXY(el, [x, null]);
+      },
+
+      /**
+       * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the Y coordinate for the element(s).
+       */
+      setY: function(el, y) {
+         util.Dom.setXY(el, [null, y]);
+      },
+
+      /**
+       * Returns the region position of the given element.
+       * The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {Region/Array} A Region or array of Region instances containing "top, left, bottom, right" member data.
+       */
+      getRegion: function(el) {
+         var f = function(el) {
+            var region = new YAHOO.util.Region.getRegion(el);
+            return region;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns the width of the client (viewport).
+       * Now using getViewportWidth.  This interface left intact for back compat.
+       * @return {Int} The width of the viewable area of the page.
+       */
+      getClientWidth: function() {
+         return util.Dom.getViewportWidth();
+      },
+
+      /**
+       * Returns the height of the client (viewport).
+       * Now using getViewportHeight.  This interface left intact for back compat.
+       * @return {Int} The height of the viewable area of the page.
+       */
+      getClientHeight: function() {
+         return util.Dom.getViewportHeight();
+      },
+
+      /**
+       * Returns a array of HTMLElements with the given class
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {String} className The class name to match against
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       * @return {Array} An array of elements that have the given class name
+       */
+      getElementsByClassName: function(className, tag, root) {
+         var method = function(el) { return util.Dom.hasClass(el, className) };
+         return util.Dom.getElementsBy(method, tag, root);
+      },
+
+      /**
+       * Determines whether an HTMLElement has the given className
+       * @param {String/HTMLElement/Array} el The element or collection to test
+       * @param {String} className the class name to search for
+       * @return {Boolean/Array} A boolean value or array of boolean values
+       */
+      hasClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)');
+
+         var f = function(el) {
+            return re.test(el['className']);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Adds a class name to a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to add the class to
+       * @param {String} className the class name to add to the class attribute
+       */
+      addClass: function(el, className) {
+         var f = function(el) {
+            if (this.hasClass(el, className)) { return; } // already present
+
+
+            el['className'] = [el['className'], className].join(' ');
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Removes a class name from a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} className the class name to remove from the class attribute
+       */
+      removeClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+            if (!this.hasClass(el, className)) { return; } // not present
+
+
+            var c = el['className'];
+            el['className'] = c.replace(re, ' ');
+            if ( this.hasClass(el, className) ) { // in case of multiple adjacent
+               this.removeClass(el, className);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Replace a class with another class for a given element or collection of elements.
+       * If no oldClassName is present, the newClassName is simply added.
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} oldClassName the class name to be replaced
+       * @param {String} newClassName the class name that will be replacing the old class name
+       */
+      replaceClass: function(el, oldClassName, newClassName) {
+         if (oldClassName === newClassName) { // avoid infinite loop
+            return false;
+         };
+
+         var re = new RegExp('(?:^|\\s+)' + oldClassName + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+
+            if ( !this.hasClass(el, oldClassName) ) {
+               this.addClass(el, newClassName); // just add it if nothing to replace
+               return; // note return
+            }
+
+            el['className'] = el['className'].replace(re, ' ' + newClassName + ' ');
+
+            if ( this.hasClass(el, oldClassName) ) { // in case of multiple adjacent
+               this.replaceClass(el, oldClassName, newClassName);
+            }
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Generates a unique ID
+       * @param {String/HTMLElement/Array} el (optional) An optional element array of elements to add an ID to (no ID is added if one is already present)
+       * @param {String} prefix (optional) an optional prefix to use (defaults to "yui-gen")
+       * @return {String/Array} The generated ID, or array of generated IDs (or original ID if already present on an element)
+       */
+      generateId: function(el, prefix) {
+         prefix = prefix || 'yui-gen';
+         el = el || {};
+
+         var f = function(el) {
+            if (el) {
+               el = util.Dom.get(el);
+            } else {
+               el = {}; // just generating ID in this case
+            }
+
+            if (!el.id) {
+               el.id = prefix + id_counter++;
+            } // dont override existing
+
+
+            return el.id;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is an ancestor of another HTML element in the DOM hierarchy
+       * @param {String/HTMLElement} haystack The possible ancestor
+       * @param {String/HTMLElement} needle The possible descendent
+       * @return {Boolean} Whether or not the haystack is an ancestor of needle
+       */
+      isAncestor: function(haystack, needle) {
+         haystack = util.Dom.get(haystack);
+         if (!haystack || !needle) { return false; }
+
+         var f = function(needle) {
+            if (haystack.contains && !isSafari) { // safari "contains" is broken
+               return haystack.contains(needle);
+            }
+            else if ( haystack.compareDocumentPosition ) {
+               return !!(haystack.compareDocumentPosition(needle) & 16);
+            }
+            else { // loop up and test each parent
+               var parent = needle.parentNode;
+
+               while (parent) {
+                  if (parent == haystack) {
+                     return true;
+                  }
+                  else if (!parent.tagName || parent.tagName.toUpperCase() == 'HTML') {
+                     return false;
+                  }
+
+                  parent = parent.parentNode;
+               }
+               return false;
+            }
+         };
+
+         return util.Dom.batch(needle, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is present in the current document
+       * @param {String/HTMLElement} el The element to search for
+       * @return {Boolean} Whether or not the element is present in the current document
+       */
+      inDocument: function(el) {
+         var f = function(el) {
+            return this.isAncestor(document.documentElement, el);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns a array of HTMLElements that pass the test applied by supplied boolean method
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {Function} method A boolean method to test elements with
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       */
+      getElementsBy: function(method, tag, root) {
+         tag = tag || '*';
+         root = util.Dom.get(root) || document;
+
+         var nodes = [];
+         var elements = root.getElementsByTagName(tag);
+
+         if ( !elements.length && (tag == '*' && root.all) ) {
+            elements = root.all; // IE < 6
+         }
+
+         for (var i = 0, len = elements.length; i < len; ++i)
+         {
+            if ( method(elements[i]) ) { nodes[nodes.length] = elements[i]; }
+         }
+
+
+         return nodes;
+      },
+
+      /**
+       * Returns an array of elements that have had the supplied method applied.
+       * The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) )
+       * @param {String/HTMLElement/Array} el (optional) An element or array of elements to apply the method to
+       * @param {Function} method The method to apply to the element(s)
+       * @param {Generic} (optional) o An optional arg that is passed to the supplied method
+       * @param {Boolean} (optional) override Whether or not to override the scope of "method" with "o"
+       * @return {HTMLElement/Array} The element(s) with the method applied
+       */
+      batch: function(el, method, o, override) {
+         var id = el;
+         el = util.Dom.get(el);
+
+         var scope = (override) ? o : window;
+
+         if (!el || el.tagName || !el.length) { // is null or not a collection (tagName for SELECT and others that can be both an element and a collection)
+            if (!el) {
+               return false;
+            }
+            return method.call(scope, el, o);
+         }
+
+         var collection = [];
+
+         for (var i = 0, len = el.length; i < len; ++i) {
+            if (!el[i]) {
+               id = id[i];
+            }
+            collection[collection.length] = method.call(scope, el[i], o);
+         }
+
+         return collection;
+      },
+
+      /**
+       * Returns the height of the document.
+       * @return {Int} The height of the actual document (which includes the body and its margin).
+       */
+      getDocumentHeight: function() {
+         var scrollHeight=-1,windowHeight=-1,bodyHeight=-1;
+         var marginTop = parseInt(util.Dom.getStyle(document.body, 'marginTop'), 10);
+         var marginBottom = parseInt(util.Dom.getStyle(document.body, 'marginBottom'), 10);
+
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) { // (IE, Gecko)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  scrollHeight = ((window.innerHeight && window.scrollMaxY) ?  window.innerHeight+window.scrollMaxY : -1);
+                  windowHeight = [document.documentElement.clientHeight,self.innerHeight||-1].sort(function(a, b){return(a-b);})[1];
+                  bodyHeight = document.body.offsetHeight + marginTop + marginBottom;
+                  break;
+
+               default: // Quirks
+                  scrollHeight = document.body.scrollHeight;
+                  bodyHeight = document.body.clientHeight;
+            }
+         } else { // Safari & Opera
+            scrollHeight = document.documentElement.scrollHeight;
+            windowHeight = self.innerHeight;
+            bodyHeight = document.documentElement.clientHeight;
+         }
+
+         var h = [scrollHeight,windowHeight,bodyHeight].sort(function(a, b){return(a-b);});
+         return h[2];
+      },
+
+      /**
+       * Returns the width of the document.
+       * @return {Int} The width of the actual document (which includes the body and its margin).
+       */
+      getDocumentWidth: function() {
+         var docWidth=-1,bodyWidth=-1,winWidth=-1;
+         var marginRight = parseInt(util.Dom.getStyle(document.body, 'marginRight'), 10);
+         var marginLeft = parseInt(util.Dom.getStyle(document.body, 'marginLeft'), 10);
+
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  docWidth = document.documentElement.clientWidth;
+                  bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+                  break;
+
+               default: // Quirks
+                  bodyWidth = document.body.clientWidth;
+                  docWidth = document.body.scrollWidth;
+                  break;
+            }
+         } else { // Safari
+            docWidth = document.documentElement.clientWidth;
+            bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+         }
+
+         var w = Math.max(docWidth, bodyWidth);
+         return w;
+      },
+
+      /**
+       * Returns the current height of the viewport.
+       * @return {Int} The height of the viewable area of the page (excludes scrollbars).
+       */
+      getViewportHeight: function() {
+         var height = -1;
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) {
+            switch (mode) { // (IE, Gecko)
+               case 'CSS1Compat': // Standards mode
+                  height = document.documentElement.clientHeight;
+                  break;
+
+               default: // Quirks
+                  height = document.body.clientHeight;
+            }
+         } else { // Safari, Opera
+            height = self.innerHeight;
+         }
+
+         return height;
+      },
+
+      /**
+       * Returns the current width of the viewport.
+       * @return {Int} The width of the viewable area of the page (excludes scrollbars).
+       */
+
+      getViewportWidth: function() {
+         var width = -1;
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+            case 'CSS1Compat': // Standards mode
+               width = document.documentElement.clientWidth;
+               break;
+
+            default: // Quirks
+               width = document.body.clientWidth;
+            }
+         } else { // Safari
+            width = self.innerWidth;
+         }
+         return width;
+      }
+   };
+}();
+
+/**
+ * @class A region is a representation of an object on a grid.  It is defined
+ * by the top, right, bottom, left extents, so is rectangular by default.  If
+ * other shapes are required, this class could be extended to support it.
+ *
+ * @param {int} t the top extent
+ * @param {int} r the right extent
+ * @param {int} b the bottom extent
+ * @param {int} l the left extent
+ * @constructor
+ */
+YAHOO.util.Region = function(t, r, b, l) {
+
+    /**
+     * The region's top extent
+     * @type int
+     */
+    this.top = t;
+
+    /**
+     * The region's top extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[1] = t;
+
+    /**
+     * The region's right extent
+     * @type int
+     */
+    this.right = r;
+
+    /**
+     * The region's bottom extent
+     * @type int
+     */
+    this.bottom = b;
+
+    /**
+     * The region's left extent
+     * @type int
+     */
+    this.left = l;
+
+    /**
+     * The region's left extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[0] = l;
+};
+
+/**
+ * Returns true if this region contains the region passed in
+ *
+ * @param  {Region}  region The region to evaluate
+ * @return {boolean}        True if the region is contained with this region,
+ *                          else false
+ */
+YAHOO.util.Region.prototype.contains = function(region) {
+    return ( region.left   >= this.left   &&
+             region.right  <= this.right  &&
+             region.top    >= this.top    &&
+             region.bottom <= this.bottom    );
+
+};
+
+/**
+ * Returns the area of the region
+ *
+ * @return {int} the region's area
+ */
+YAHOO.util.Region.prototype.getArea = function() {
+    return ( (this.bottom - this.top) * (this.right - this.left) );
+};
+
+/**
+ * Returns the region where the passed in region overlaps with this one
+ *
+ * @param  {Region} region The region that intersects
+ * @return {Region}        The overlap region, or null if there is no overlap
+ */
+YAHOO.util.Region.prototype.intersect = function(region) {
+    var t = Math.max( this.top,    region.top    );
+    var r = Math.min( this.right,  region.right  );
+    var b = Math.min( this.bottom, region.bottom );
+    var l = Math.max( this.left,   region.left   );
+
+    if (b >= t && r >= l) {
+        return new YAHOO.util.Region(t, r, b, l);
+    } else {
+        return null;
+    }
+};
+
+/**
+ * Returns the region representing the smallest region that can contain both
+ * the passed in region and this region.
+ *
+ * @param  {Region} region The region that to create the union with
+ * @return {Region}        The union region
+ */
+YAHOO.util.Region.prototype.union = function(region) {
+    var t = Math.min( this.top,    region.top    );
+    var r = Math.max( this.right,  region.right  );
+    var b = Math.max( this.bottom, region.bottom );
+    var l = Math.min( this.left,   region.left   );
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/**
+ * toString
+ * @return string the region properties
+ */
+YAHOO.util.Region.prototype.toString = function() {
+    return ( "Region {"    +
+             "top: "       + this.top    +
+             ", right: "   + this.right  +
+             ", bottom: "  + this.bottom +
+             ", left: "    + this.left   +
+             "}" );
+};
+
+/**
+ * Returns a region that is occupied by the DOM element
+ *
+ * @param  {HTMLElement} el The element
+ * @return {Region}         The region that the element occupies
+ * @static
+ */
+YAHOO.util.Region.getRegion = function(el) {
+    var p = YAHOO.util.Dom.getXY(el);
+
+    var t = p[1];
+    var r = p[0] + el.offsetWidth;
+    var b = p[1] + el.offsetHeight;
+    var l = p[0];
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @class
+ *
+ * A point is a region that is special in that it represents a single point on
+ * the grid.
+ *
+ * @param {int} x The X position of the point
+ * @param {int} y The Y position of the point
+ * @constructor
+ * @extends Region
+ */
+YAHOO.util.Point = function(x, y) {
+   if (x instanceof Array) { // accept output from Dom.getXY
+      y = x[1];
+      x = x[0];
+   }
+
+    /**
+     * The X position of the point, which is also the right, left and index zero (for Dom.getXY symmetry)
+     * @type int
+     */
+
+    this.x = this.right = this.left = this[0] = x;
+
+    /**
+     * The Y position of the point, which is also the top, bottom and index one (for Dom.getXY symmetry)
+     * @type int
+     */
+    this.y = this.top = this.bottom = this[1] = y;
+};
+
+YAHOO.util.Point.prototype = new YAHOO.util.Region();
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dragdrop.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2712 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * Defines the interface and base operation of items that that can be
+ * dragged or can be drop targets.  It was designed to be extended, overriding
+ * the event handlers for startDrag, onDrag, onDragOver, onDragOut.
+ * Up to three html elements can be associated with a DragDrop instance:
+ * <ul>
+ * <li>linked element: the element that is passed into the constructor.
+ * This is the element which defines the boundaries for interaction with
+ * other DragDrop objects.</li>
+ * <li>handle element(s): The drag operation only occurs if the element that
+ * was clicked matches a handle element.  By default this is the linked
+ * element, but there are times that you will want only a portion of the
+ * linked element to initiate the drag operation, and the setHandleElId()
+ * method provides a way to define this.</li>
+ * <li>drag element: this represents an the element that would be moved along
+ * with the cursor during a drag operation.  By default, this is the linked
+ * element itself as in {@link YAHOO.util.DD}.  setDragElId() lets you define
+ * a separate element that would be moved, as in {@link YAHOO.util.DDProxy}
+ * </li>
+ * </ul>
+ * This class should not be instantiated until the onload event to ensure that
+ * the associated elements are available.
+ * The following would define a DragDrop obj that would interact with any
+ * other * DragDrop obj in the "group1" group:
+ * <pre>
+ *  dd = new YAHOO.util.DragDrop("div1", "group1");
+ * </pre>
+ * Since none of the event handlers have been implemented, nothing would
+ * actually happen if you were to run the code above.  Normally you would
+ * override this class or one of the default implementations, but you can
+ * also override the methods you want on an instance of the class...
+ * <pre>
+ *  dd.onDragDrop = function(e, id) {
+ *   alert("dd was dropped on " + id);
+ *  }
+ * </pre>
+ * @constructor
+ * @param {String} id of the element that is linked to this instance
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DragDrop:
+ *                    padding, isTarget, maintainOffset, primaryButtonOnly
+ */
+YAHOO.util.DragDrop = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+YAHOO.util.DragDrop.prototype = {
+
+    /**
+     * The id of the element associated with this object.  This is what we
+     * refer to as the "linked element" because the size and position of
+     * this element is used to determine when the drag and drop objects have
+     * interacted.
+     *
+     * @type String
+     */
+    id: null,
+
+    /**
+     * Configuration attributes passed into the constructor
+     * @type object
+     */
+    config: null,
+
+    /**
+     * The id of the element that will be dragged.  By default this is same
+     * as the linked element , but could be changed to another element. Ex:
+     * YAHOO.util.DDProxy
+     *
+     * @type String
+     * @private
+     */
+    dragElId: null,
+
+    /**
+     * the id of the element that initiates the drag operation.  By default
+     * this is the linked element, but could be changed to be a child of this
+     * element.  This lets us do things like only starting the drag when the
+     * header element within the linked html element is clicked.
+     *
+     * @type String
+     * @private
+     */
+    handleElId: null,
+
+    /**
+     * An associative array of HTML tags that will be ignored if clicked.
+     * @type {string: string}
+     */
+    invalidHandleTypes: null,
+
+    /**
+     * An associative array of ids for elements that will be ignored if clicked
+     * @type {string: string}
+     */
+    invalidHandleIds: null,
+
+    /**
+     * An indexted array of css class names for elements that will be ignored
+     * if clicked.
+     * @type string[]
+     */
+    invalidHandleClasses: null,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageX: 0,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageY: 0,
+
+    /**
+     * The group defines a logical collection of DragDrop objects that are
+     * related.  Instances only get events when interacting with other
+     * DragDrop object in the same group.  This lets us define multiple
+     * groups using a single DragDrop subclass if we want.
+     * @type {string: string}
+     */
+    groups: null,
+
+    /**
+     * Individual drag/drop instances can be locked.  This will prevent
+     * onmousedown start drag.
+     *
+     * @type boolean
+     * @private
+     */
+    locked: false,
+
+    /**
+     * Lock this instance
+     */
+    lock: function() { this.locked = true; },
+
+    /**
+     * Unlock this instace
+     */
+    unlock: function() { this.locked = false; },
+
+    /**
+     * By default, all insances can be a drop target.  This can be disabled by
+     * setting isTarget to false.
+     *
+     * @type boolean
+     */
+    isTarget: true,
+
+    /**
+     * The padding configured for this drag and drop object for calculating
+     * the drop zone intersection with this object.
+     * @type int[]
+     */
+    padding: null,
+
+    /**
+     * @private
+     */
+    _domRef: null,
+
+    /**
+     * Internal typeof flag
+     * @private
+     */
+    __ygDragDrop: true,
+
+    /**
+     * Set to true when horizontal contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainX: false,
+
+    /**
+     * Set to true when vertical contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainY: false,
+
+    /**
+     * The left constraint
+     *
+     * @type int
+     * @private
+     */
+    minX: 0,
+
+    /**
+     * The right constraint
+     *
+     * @type int
+     * @private
+     */
+    maxX: 0,
+
+    /**
+     * The up constraint
+     *
+     * @type int
+     * @private
+     */
+    minY: 0,
+
+    /**
+     * The down constraint
+     *
+     * @type int
+     * @private
+     */
+    maxY: 0,
+
+    /**
+     * Maintain offsets when we resetconstraints.  Used to maintain the
+     * slider thumb value, and this needs to be fixed.
+     * @type boolean
+     */
+    maintainOffset: false,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * horizontal graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    xTicks: null,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * vertical graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    yTicks: null,
+
+    /**
+     * By default the drag and drop instance will only respond to the primary
+     * button click (left button for a right-handed mouse).  Set to true to
+     * allow drag and drop to start with any mouse click that is propogated
+     * by the browser
+     * @type boolean
+     */
+    primaryButtonOnly: true,
+
+    /**
+     * The availabe property is false until the linked dom element is accessible.
+     * @type boolean
+     */
+    available: false,
+
+    /**
+     * Code that executes immediately before the startDrag event
+     * @private
+     */
+    b4StartDrag: function(x, y) { },
+
+    /**
+     * Abstract method called after a drag/drop object is clicked
+     * and the drag or mousedown time thresholds have beeen met.
+     *
+     * @param {int} X click location
+     * @param {int} Y click location
+     */
+    startDrag: function(x, y) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDrag event
+     * @private
+     */
+    b4Drag: function(e) { },
+
+    /**
+     * Abstract method called during the onMouseMove event while dragging an
+     * object.
+     *
+     * @param {Event} e
+     */
+    onDrag: function(e) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragEnter event
+     * @private
+     */
+    // b4DragEnter: function(e) { },
+
+    /**
+     * Abstract method called when this element fist begins hovering over
+     * another DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of one or more
+     * dragdrop items being hovered over.
+     */
+    onDragEnter: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOver event
+     * @private
+     */
+    b4DragOver: function(e) { },
+
+    /**
+     * Abstract method called when this element is hovering over another
+     * DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of dd items
+     * being hovered over.
+     */
+    onDragOver: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOut event
+     * @private
+     */
+    b4DragOut: function(e) { },
+
+    /**
+     * Abstract method called when we are no longer hovering over an element
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was hovering over.  In INTERSECT mode, an array of dd items
+     * that the mouse is no longer over.
+     */
+    onDragOut: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragDrop event
+     * @private
+     */
+    b4DragDrop: function(e) { },
+
+    /**
+     * Abstract method called when this item is dropped on another DragDrop
+     * obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was dropped on.  In INTERSECT mode, an array of dd items this
+     * was dropped on.
+     */
+    onDragDrop: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the endDrag event
+     * @private
+     */
+    b4EndDrag: function(e) { },
+
+    /**
+     * Fired when we are done dragging the object
+     *
+     * @param {Event} e
+     */
+    endDrag: function(e) { /* override this */ },
+
+    /**
+     * Code executed immediately before the onMouseDown event
+
+     * @param {Event} e
+     * @private
+     */
+    b4MouseDown: function(e) {  },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mousedown
+     * @param {Event} e
+     */
+    onMouseDown: function(e) { /* override this */ },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mouseup
+     * @param {Event} e
+     */
+    onMouseUp: function(e) { /* override this */ },
+
+    /**
+     * Override the onAvailable method to do what is needed after the initial
+     * position was determined.
+     */
+    onAvailable: function () {
+    },
+
+    /**
+     * Returns a reference to the linked element
+     *
+     * @return {HTMLElement} the html element
+     */
+    getEl: function() {
+        if (!this._domRef) {
+            this._domRef = YAHOO.util.Dom.get(this.id);
+        }
+
+        return this._domRef;
+    },
+
+    /**
+     * Returns a reference to the actual element to drag.  By default this is
+     * the same as the html element, but it can be assigned to another
+     * element. An example of this can be found in YAHOO.util.DDProxy
+     *
+     * @return {HTMLElement} the html element
+     */
+    getDragEl: function() {
+        return YAHOO.util.Dom.get(this.dragElId);
+    },
+
+    /**
+     * Sets up the DragDrop object.  Must be called in the constructor of any
+     * YAHOO.util.DragDrop subclass
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    init: function(id, sGroup, config) {
+        this.initTarget(id, sGroup, config);
+        YAHOO.util.Event.addListener(this.id, "mousedown",
+                                          this.handleMouseDown, this, true);
+    },
+
+    /**
+     * Initializes Targeting functionality only... the object does not
+     * get a mousedown handler.
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    initTarget: function(id, sGroup, config) {
+
+        // configuration attributes
+        this.config = config || {};
+
+        // create a local reference to the drag and drop manager
+        this.DDM = YAHOO.util.DDM;
+        // initialize the groups array
+        this.groups = {};
+
+        // set the id
+        this.id = id;
+
+        // add to an interaction group
+        this.addToGroup((sGroup) ? sGroup : "default");
+
+        // We don't want to register this as the handle with the manager
+        // so we just set the id rather than calling the setter.
+        this.handleElId = id;
+
+        YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this, true);
+
+
+        // the linked element is the element that gets dragged by default
+        this.setDragElId(id);
+
+        // by default, clicked anchors will not start drag operations.
+        // @TODO what else should be here?  Probably form fields.
+        this.invalidHandleTypes = { A: "A" };
+        this.invalidHandleIds = {};
+        this.invalidHandleClasses = [];
+
+        this.applyConfig();
+    },
+
+    /**
+     * Applies the configuration parameters that were passed into the constructor.
+     * This is supposed to happen at each level through the inheritance chain.  So
+     * a DDProxy implentation will execute apply config on DDProxy, DD, and
+     * DragDrop in order to get all of the parameters that are available in
+     * each object.
+     */
+    applyConfig: function() {
+
+        // configurable properties:
+        //    padding, isTarget, maintainOffset, primaryButtonOnly
+        this.padding           = this.config.padding || [0, 0, 0, 0];
+        this.isTarget          = (this.config.isTarget !== false);
+        this.maintainOffset    = (this.config.maintainOffset);
+        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
+
+    },
+
+    /**
+     * Executed when the linked element is available
+     * @private
+     */
+    handleOnAvailable: function() {
+        this.available = true;
+        this.resetConstraints();
+        this.onAvailable();
+    },
+
+     /**
+     * Configures the padding for the target zone in px.  Effectively expands
+     * (or reduces) the virtual object size for targeting calculations.
+     * Supports css-style shorthand; if only one parameter is passed, all sides
+     * will have that padding, and if only two are passed, the top and bottom
+     * will have the first param, the left and right the second.
+     * @param {int} iTop    Top pad
+     * @param {int} iRight  Right pad
+     * @param {int} iBot    Bot pad
+     * @param {int} iLeft   Left pad
+     */
+    setPadding: function(iTop, iRight, iBot, iLeft) {
+        // this.padding = [iLeft, iRight, iTop, iBot];
+        if (!iRight && 0 !== iRight) {
+            this.padding = [iTop, iTop, iTop, iTop];
+        } else if (!iBot && 0 !== iBot) {
+            this.padding = [iTop, iRight, iTop, iRight];
+        } else {
+            this.padding = [iTop, iRight, iBot, iLeft];
+        }
+    },
+
+    /**
+     * Stores the initial placement of the dd element
+     */
+    setInitPosition: function(diffX, diffY) {
+        var el = this.getEl();
+
+        if (!this.DDM.verifyEl(el)) {
+            return;
+        }
+
+        var dx = diffX || 0;
+        var dy = diffY || 0;
+
+        var p = YAHOO.util.Dom.getXY( el );
+
+        this.initPageX = p[0] - dx;
+        this.initPageY = p[1] - dy;
+
+        this.lastPageX = p[0];
+        this.lastPageY = p[1];
+
+
+        this.setStartPosition(p);
+    },
+
+    /**
+     * Sets the start position of the element.  This is set when the obj
+     * is initialized, the reset when a drag is started.
+     * @param pos current position (from previous lookup)
+     * @private
+     */
+    setStartPosition: function(pos) {
+        var p = pos || YAHOO.util.Dom.getXY( this.getEl() );
+        this.deltaSetXY = null;
+
+        this.startPageX = p[0];
+        this.startPageY = p[1];
+    },
+
+    /**
+     * Add this instance to a group of related drag/drop objects.  All
+     * instances belong to at least one group, and can belong to as many
+     * groups as needed.
+     *
+     * @param sGroup {string} the name of the group
+     */
+    addToGroup: function(sGroup) {
+        this.groups[sGroup] = true;
+        this.DDM.regDragDrop(this, sGroup);
+    },
+
+    /**
+     * Remove's this instance from the supplied interaction group
+     * @param {string}  sGroup  The group to drop
+     */
+    removeFromGroup: function(sGroup) {
+        if (this.groups[sGroup]) {
+            delete this.groups[sGroup];
+        }
+
+        this.DDM.removeDDFromGroup(this, sGroup);
+    },
+
+    /**
+     * Allows you to specify that an element other than the linked element
+     * will be moved with the cursor during a drag
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setDragElId: function(id) {
+        this.dragElId = id;
+    },
+
+    /**
+     * Allows you to specify a child of the linked element that should be
+     * used to initiate the drag operation.  An example of this would be if
+     * you have a content div with text and links.  Clicking anywhere in the
+     * content area would normally start the drag operation.  Use this method
+     * to specify that an element inside of the content div is the element
+     * that starts the drag operation.
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setHandleElId: function(id) {
+        this.handleElId = id;
+        this.DDM.regHandle(this.id, id);
+    },
+
+    /**
+     * Allows you to set an element outside of the linked element as a drag
+     * handle
+     */
+    setOuterHandleElId: function(id) {
+        YAHOO.util.Event.addListener(id, "mousedown",
+                this.handleMouseDown, this, true);
+        this.setHandleElId(id);
+    },
+
+    /**
+     * Remove all drag and drop hooks for this element
+     */
+    unreg: function() {
+        YAHOO.util.Event.removeListener(this.id, "mousedown",
+                this.handleMouseDown);
+        this._domRef = null;
+        this.DDM._remove(this);
+    },
+
+    /**
+     * Returns true if this instance is locked, or the drag drop mgr is locked
+     * (meaning that all drag/drop is disabled on the page.)
+     *
+     * @return {boolean} true if this obj or all drag/drop is locked, else
+     * false
+     */
+    isLocked: function() {
+        return (this.DDM.isLocked() || this.locked);
+    },
+
+    /**
+     * Fired when this object is clicked
+     *
+     * @param {Event} e
+     * @param {YAHOO.util.DragDrop} oDD the clicked dd object (this dd obj)
+     * @private
+     */
+    handleMouseDown: function(e, oDD) {
+
+
+        var EU = YAHOO.util.Event;
+
+        var button = e.which || e.button;
+
+        if (this.primaryButtonOnly && button > 1) {
+            return;
+        }
+
+        if (this.isLocked()) {
+            return;
+        }
+
+        this.DDM.refreshCache(this.groups);
+        // var self = this;
+        // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0);
+
+        // Only process the event if we really clicked within the linked
+        // element.  The reason we make this check is that in the case that
+        // another element was moved between the clicked element and the
+        // cursor in the time between the mousedown and mouseup events. When
+        // this happens, the element gets the next mousedown event
+        // regardless of where on the screen it happened.
+        var pt = new YAHOO.util.Point(EU.getPageX(e), EU.getPageY(e));
+        if ( !this.DDM.isOverTarget(pt, this) )  {
+        } else {
+
+
+            //  check to see if the handle was clicked
+            var srcEl = EU.getTarget(e);
+
+            if (this.isValidHandleChild(srcEl) &&
+                    (this.id == this.handleElId ||
+                     this.DDM.handleWasClicked(srcEl, this.id)) ) {
+
+
+                // set the initial element position
+                this.setStartPosition();
+
+
+                this.b4MouseDown(e);
+                this.onMouseDown(e);
+                this.DDM.handleMouseDown(e, this);
+
+                this.DDM.stopEvent(e);
+            }
+        }
+    },
+
+    /**
+     * Allows you to specify a tag name that should not start a drag operation
+     * when clicked.  This is designed to facilitate embedding links within a
+     * drag handle that do something other than start the drag.
+     *
+     * @param {string} tagName the type of element to exclude
+     */
+    addInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        this.invalidHandleTypes[type] = type;
+    },
+
+    /**
+     * Lets you to specify an element id for a child of a drag handle
+     * that should not initiate a drag
+     * @param {string} id the element id of the element you wish to ignore
+     */
+    addInvalidHandleId: function(id) {
+        this.invalidHandleIds[id] = id;
+    },
+
+    /**
+     * Lets you specify a css class of elements that will not initiate a drag
+     * @param {string} cssClass the class of the elements you wish to ignore
+     */
+    addInvalidHandleClass: function(cssClass) {
+        this.invalidHandleClasses.push(cssClass);
+    },
+
+    /**
+     * Unsets an excluded tag name set by addInvalidHandleType
+     *
+     * @param {string} tagName the type of element to unexclude
+     */
+    removeInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        // this.invalidHandleTypes[type] = null;
+        delete this.invalidHandleTypes[type];
+    },
+
+    /**
+     * Unsets an invalid handle id
+     * @param {string} the id of the element to re-enable
+     */
+    removeInvalidHandleId: function(id) {
+        delete this.invalidHandleIds[id];
+    },
+
+    /**
+     * Unsets an invalid css class
+     * @param {string} the class of the element(s) you wish to re-enable
+     */
+    removeInvalidHandleClass: function(cssClass) {
+        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
+            if (this.invalidHandleClasses[i] == cssClass) {
+                delete this.invalidHandleClasses[i];
+            }
+        }
+    },
+
+    /**
+     * Checks the tag exclusion list to see if this click should be ignored
+     *
+     * @param {ygNode} node
+     * @return {boolean} true if this is a valid tag type, false if not
+     */
+    isValidHandleChild: function(node) {
+
+        var valid = true;
+        // var n = (node.nodeName == "#text") ? node.parentNode : node;
+        var nodeName;
+        try {
+            nodeName = node.nodeName.toUpperCase();
+        } catch(e) {
+            nodeName = node.nodeName;
+        }
+        valid = valid && !this.invalidHandleTypes[nodeName];
+        valid = valid && !this.invalidHandleIds[node.id];
+
+        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
+            valid = !YAHOO.util.Dom.hasClass(node, this.invalidHandleClasses[i]);
+        }
+
+
+        return valid;
+
+    },
+
+    /**
+     * Create the array of horizontal tick marks if an interval was specified
+     * in setXConstraint().
+     *
+     * @private
+     */
+    setXTicks: function(iStartX, iTickSize) {
+        this.xTicks = [];
+        this.xTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.xTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * Create the array of vertical tick marks if an interval was specified in
+     * setYConstraint().
+     *
+     * @private
+     */
+    setYTicks: function(iStartY, iTickSize) {
+        this.yTicks = [];
+        this.yTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.yTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Use
+     * this method to limit the horizontal travel of the element.  Pass in
+     * 0,0 for the parameters if you want to lock the drag to the y axis.
+     *
+     * @param {int} iLeft the number of pixels the element can move to the left
+     * @param {int} iRight the number of pixels the element can move to the
+     * right
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element
+     * should move iTickSize pixels at a time.
+     */
+    setXConstraint: function(iLeft, iRight, iTickSize) {
+        this.leftConstraint = iLeft;
+        this.rightConstraint = iRight;
+
+        this.minX = this.initPageX - iLeft;
+        this.maxX = this.initPageX + iRight;
+        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
+
+        this.constrainX = true;
+    },
+
+    /**
+     * Clears any constraints applied to this instance.  Also clears ticks
+     * since they can't exist independent of a constraint at this time.
+     */
+    clearConstraints: function() {
+        this.constrainX = false;
+        this.constrainY = false;
+        this.clearTicks();
+    },
+
+    /**
+     * Clears any tick interval defined for this instance
+     */
+    clearTicks: function() {
+        this.xTicks = null;
+        this.yTicks = null;
+        this.xTickSize = 0;
+        this.yTickSize = 0;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Set
+     * this to limit the vertical travel of the element.  Pass in 0,0 for the
+     * parameters if you want to lock the drag to the x axis.
+     *
+     * @param {int} iUp the number of pixels the element can move up
+     * @param {int} iDown the number of pixels the element can move down
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element should move iTickSize pixels at a time.
+     */
+    setYConstraint: function(iUp, iDown, iTickSize) {
+        this.topConstraint = iUp;
+        this.bottomConstraint = iDown;
+
+        this.minY = this.initPageY - iUp;
+        this.maxY = this.initPageY + iDown;
+        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
+
+        this.constrainY = true;
+
+    },
+
+    /**
+     * resetConstraints must be called if you manually reposition a dd element.
+     * @param {boolean} maintainOffset
+     */
+    resetConstraints: function() {
+
+
+        // Maintain offsets if necessary
+        if (this.initPageX || this.initPageX === 0) {
+            // figure out how much this thing has moved
+            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
+            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
+
+            this.setInitPosition(dx, dy);
+
+        // This is the first time we have detected the element's position
+        } else {
+            this.setInitPosition();
+        }
+
+        if (this.constrainX) {
+            this.setXConstraint( this.leftConstraint,
+                                 this.rightConstraint,
+                                 this.xTickSize        );
+        }
+
+        if (this.constrainY) {
+            this.setYConstraint( this.topConstraint,
+                                 this.bottomConstraint,
+                                 this.yTickSize         );
+        }
+    },
+
+    /**
+     * Normally the drag element is moved pixel by pixel, but we can specify
+     * that it move a number of pixels at a time.  This method resolves the
+     * location when we have it set up like this.
+     *
+     * @param {int} val where we want to place the object
+     * @param {int[]} tickArray sorted array of valid points
+     * @return {int} the closest tick
+     * @private
+     */
+    getTick: function(val, tickArray) {
+
+        if (!tickArray) {
+            // If tick interval is not defined, it is effectively 1 pixel,
+            // so we return the value passed to us.
+            return val;
+        } else if (tickArray[0] >= val) {
+            // The value is lower than the first tick, so we return the first
+            // tick.
+            return tickArray[0];
+        } else {
+            for (var i=0, len=tickArray.length; i<len; ++i) {
+                var next = i + 1;
+                if (tickArray[next] && tickArray[next] >= val) {
+                    var diff1 = val - tickArray[i];
+                    var diff2 = tickArray[next] - val;
+                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
+                }
+            }
+
+            // The value is larger than the last tick, so we return the last
+            // tick.
+            return tickArray[tickArray.length - 1];
+        }
+    },
+
+    /**
+     * toString method
+     * @return {string} string representation of the dd obj
+     */
+    toString: function() {
+        return ("DragDrop " + this.id);
+    }
+
+};
+
+// Only load the library once.  Rewriting the manager class would orphan
+// existing drag and drop instances.
+if (!YAHOO.util.DragDropMgr) {
+
+    /**
+     * Handles the element interaction for all DragDrop items in the
+     * window.  Generally, you will not call this class directly, but it does
+     * have helper methods that could be useful in your DragDrop
+     * implementations.  This class should not be instantiated; all methods
+     * are are static.
+     *
+     * @constructor
+     */
+    YAHOO.util.DragDropMgr = new function() {
+
+        /**
+         * Two dimensional Array of registered DragDrop objects.  The first
+         * dimension is the DragDrop item group, the second the DragDrop
+         * object.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.ids = {};
+
+        /**
+         * Array of element ids defined as drag handles.  Used to determine
+         * if the element that generated the mousedown event is actually the
+         * handle and not the html element itself.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.handleIds = {};
+
+        /**
+         * the DragDrop object that is currently being dragged
+         *
+         * @type DragDrop
+         * @private
+         **/
+        this.dragCurrent = null;
+
+        /**
+         * the DragDrop object(s) that are being hovered over
+         *
+         * @type Array
+         * @private
+         */
+        this.dragOvers = {};
+
+        /**
+         * @private
+         */
+
+        /**
+         * the X distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaX = 0;
+
+        /**
+         * the Y distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaY = 0;
+
+        /**
+         * Flag to determine if we should prevent the default behavior of the
+         * events we define. By default this is true, but this can be set to
+         * false if you need the default behavior (not recommended)
+         *
+         * @type boolean
+         */
+        this.preventDefault = true;
+
+        /**
+         * Flag to determine if we should stop the propagation of the events
+         * we generate. This is true by default but you may want to set it to
+         * false if the html element contains other features that require the
+         * mouse click.
+         *
+         * @type boolean
+         */
+        this.stopPropagation = true;
+
+        /**
+         * @private
+         */
+        this.initalized = false;
+
+        /**
+         * All drag and drop can be disabled.
+         *
+         * @private
+         */
+        this.locked = false;
+
+        /**
+         * Called the first time an element is registered.
+         *
+         * @private
+         */
+        this.init = function() {
+            this.initialized = true;
+        };
+
+        /**
+         * In point mode, drag and drop interaction is defined by the
+         * location of the cursor during the drag/drop
+         * @type int
+         */
+        this.POINT     = 0;
+
+        /**
+         * In intersect mode, drag and drop interactio nis defined by the
+         * overlap of two or more drag and drop objects.
+         * @type int
+         */
+        this.INTERSECT = 1;
+
+        /**
+         * The current drag and drop mode.  Default it point mode
+         * @type int
+         */
+        this.mode = this.POINT;
+
+        /**
+         * Runs method on all drag and drop objects
+         * @private
+         */
+        this._execOnAll = function(sMethod, args) {
+            for (var i in this.ids) {
+                for (var j in this.ids[i]) {
+                    var oDD = this.ids[i][j];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+                    oDD[sMethod].apply(oDD, args);
+                }
+            }
+        };
+
+        /**
+         * Drag and drop initialization.  Sets up the global event handlers
+         * @private
+         */
+        this._onLoad = function() {
+
+            this.init();
+
+
+            var EU = YAHOO.util.Event;
+
+            EU.on(document, "mouseup",   this.handleMouseUp, this, true);
+            EU.on(document, "mousemove", this.handleMouseMove, this, true);
+            EU.on(window,   "unload",    this._onUnload, this, true);
+            EU.on(window,   "resize",    this._onResize, this, true);
+            // EU.on(window,   "mouseout",    this._test);
+
+        };
+
+        /**
+         * Reset constraints on all drag and drop objs
+         * @private
+         */
+        this._onResize = function(e) {
+            this._execOnAll("resetConstraints", []);
+        };
+
+        /**
+         * Lock all drag and drop functionality
+         */
+        this.lock = function() { this.locked = true; };
+
+        /**
+         * Unlock all drag and drop functionality
+         */
+        this.unlock = function() { this.locked = false; };
+
+        /**
+         * Is drag and drop locked?
+         *
+         * @return {boolean} True if drag and drop is locked, false otherwise.
+         */
+        this.isLocked = function() { return this.locked; };
+
+        /**
+         * Location cache that is set for all drag drop objects when a drag is
+         * initiated, cleared when the drag is finished.
+         *
+         * @private
+         */
+        this.locationCache = {};
+
+        /**
+         * Set useCache to false if you want to force object the lookup of each
+         * drag and drop linked element constantly during a drag.
+         * @type boolean
+         */
+        this.useCache = true;
+
+        /**
+         * The number of pixels that the mouse needs to move after the
+         * mousedown before the drag is initiated.  Default=3;
+         * @type int
+         */
+        this.clickPixelThresh = 3;
+
+        /**
+         * The number of milliseconds after the mousedown event to initiate the
+         * drag if we don't get a mouseup event. Default=1000
+         * @type int
+         */
+        this.clickTimeThresh = 1000;
+
+        /**
+         * Flag that indicates that either the drag pixel threshold or the
+         * mousdown time threshold has been met
+         * @type boolean
+         * @private
+         */
+        this.dragThreshMet = false;
+
+        /**
+         * Timeout used for the click time threshold
+         * @type Object
+         * @private
+         */
+        this.clickTimeout = null;
+
+        /**
+         * The X position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startX = 0;
+
+        /**
+         * The Y position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startY = 0;
+
+        /**
+         * Each DragDrop instance must be registered with the DragDropMgr.
+         * This is executed in DragDrop.init()
+         *
+         * @param {DragDrop} oDD the DragDrop object to register
+         * @param {String} sGroup the name of the group this element belongs to
+         */
+        this.regDragDrop = function(oDD, sGroup) {
+            if (!this.initialized) { this.init(); }
+
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+            this.ids[sGroup][oDD.id] = oDD;
+        };
+
+        /**
+         * Removes the supplied dd instance from the supplied group. Executed
+         * by DragDrop.removeFromGroup.
+         * @private
+         */
+        this.removeDDFromGroup = function(oDD, sGroup) {
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+
+            var obj = this.ids[sGroup];
+            if (obj && obj[oDD.id]) {
+                delete obj[oDD.id];
+            }
+        };
+
+        /**
+         * Unregisters a drag and drop item.  This is executed in
+         * DragDrop.unreg, use that method instead of calling this directly.
+         * @private
+         */
+        this._remove = function(oDD) {
+            for (var g in oDD.groups) {
+                if (g && this.ids[g][oDD.id]) {
+                    delete this.ids[g][oDD.id];
+                }
+            }
+            delete this.handleIds[oDD.id];
+        };
+
+        /**
+         * Each DragDrop handle element must be registered.  This is done
+         * automatically when executing DragDrop.setHandleElId()
+         *
+         * @param {String} sDDId the DragDrop id this element is a handle for
+         * @param {String} sHandleId the id of the element that is the drag
+         * handle
+         */
+        this.regHandle = function(sDDId, sHandleId) {
+            if (!this.handleIds[sDDId]) {
+                this.handleIds[sDDId] = {};
+            }
+            this.handleIds[sDDId][sHandleId] = sHandleId;
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop item.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop item,
+         * false otherwise
+         */
+        this.isDragDrop = function(id) {
+            return ( this.getDDById(id) ) ? true : false;
+        };
+
+        /**
+         * Returns the drag and drop instances that are in all groups the
+         * passed in instance belongs to.
+         *
+         * @param {DragDrop} p_oDD the obj to get related data for
+         * @param {boolean} bTargetsOnly if true, only return targetable objs
+         * @return {DragDrop[]} the related instances
+         */
+        this.getRelated = function(p_oDD, bTargetsOnly) {
+            var oDDs = [];
+            for (var i in p_oDD.groups) {
+                for (j in this.ids[i]) {
+                    var dd = this.ids[i][j];
+                    if (! this.isTypeOfDD(dd)) {
+                        continue;
+                    }
+                    if (!bTargetsOnly || dd.isTarget) {
+                        oDDs[oDDs.length] = dd;
+                    }
+                }
+            }
+
+            return oDDs;
+        };
+
+        /**
+         * Returns true if the specified dd target is a legal target for
+         * the specifice drag obj
+         *
+         * @param {DragDrop} the drag obj
+         * @param {DragDrop) the target
+         * @return {boolean} true if the target is a legal target for the
+         * dd obj
+         */
+        this.isLegalTarget = function (oDD, oTargetDD) {
+            var targets = this.getRelated(oDD, true);
+            for (var i=0, len=targets.length;i<len;++i) {
+                if (targets[i].id == oTargetDD.id) {
+                    return true;
+                }
+            }
+
+            return false;
+        };
+
+        /**
+         * My goal is to be able to transparently determine if an object is
+         * typeof DragDrop, and the exact subclass of DragDrop.  typeof
+         * returns "object", oDD.constructor.toString() always returns
+         * "DragDrop" and not the name of the subclass.  So for now it just
+         * evaluates a well-known variable in DragDrop.
+         *
+         * @param {Object} the object to evaluate
+         * @return {boolean} true if typeof oDD = DragDrop
+         */
+        this.isTypeOfDD = function (oDD) {
+            return (oDD && oDD.__ygDragDrop);
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop handle for the given Drag Drop object.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop handle, false
+         * otherwise
+         */
+        this.isHandle = function(sDDId, sHandleId) {
+            return ( this.handleIds[sDDId] &&
+                            this.handleIds[sDDId][sHandleId] );
+        };
+
+        /**
+         * Returns the DragDrop instance for a given id
+         *
+         * @param {String} id the id of the DragDrop object
+         * @return {DragDrop} the drag drop object, null if it is not found
+         */
+        this.getDDById = function(id) {
+            for (var i in this.ids) {
+                if (this.ids[i][id]) {
+                    return this.ids[i][id];
+                }
+            }
+            return null;
+        };
+
+        /**
+         * Fired after a registered DragDrop object gets the mousedown event.
+         * Sets up the events required to track the object being dragged
+         *
+         * @param {Event} e the event
+         * @param oDD the DragDrop object being dragged
+         * @private
+         */
+        this.handleMouseDown = function(e, oDD) {
+
+            this.currentTarget = YAHOO.util.Event.getTarget(e);
+
+            this.dragCurrent = oDD;
+
+            var el = oDD.getEl();
+
+            // track start position
+            this.startX = YAHOO.util.Event.getPageX(e);
+            this.startY = YAHOO.util.Event.getPageY(e);
+
+            this.deltaX = this.startX - el.offsetLeft;
+            this.deltaY = this.startY - el.offsetTop;
+
+            this.dragThreshMet = false;
+
+            this.clickTimeout = setTimeout(
+                    function() {
+                        var DDM = YAHOO.util.DDM;
+                        DDM.startDrag(DDM.startX, DDM.startY);
+                    },
+                    this.clickTimeThresh );
+        };
+
+        /**
+         * Fired when either the drag pixel threshol or the mousedown hold
+         * time threshold has been met.
+         *
+         * @param x {int} the X position of the original mousedown
+         * @param y {int} the Y position of the original mousedown
+         */
+        this.startDrag = function(x, y) {
+            clearTimeout(this.clickTimeout);
+            if (this.dragCurrent) {
+                this.dragCurrent.b4StartDrag(x, y);
+                this.dragCurrent.startDrag(x, y);
+            }
+            this.dragThreshMet = true;
+        };
+
+        /**
+         * Internal function to handle the mouseup event.  Will be invoked
+         * from the context of the document.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseUp = function(e) {
+
+            if (! this.dragCurrent) {
+                return;
+            }
+
+            clearTimeout(this.clickTimeout);
+
+            if (this.dragThreshMet) {
+                this.fireEvents(e, true);
+            } else {
+            }
+
+            this.stopDrag(e);
+
+            this.stopEvent(e);
+        };
+
+        /**
+         * Utility to stop event propagation and event default, if these
+         * features are turned on.
+         *
+         * @param {Event} e the event as returned by this.getEvent()
+         */
+        this.stopEvent = function(e) {
+            if (this.stopPropagation) {
+                YAHOO.util.Event.stopPropagation(e);
+            }
+
+            if (this.preventDefault) {
+                YAHOO.util.Event.preventDefault(e);
+            }
+        };
+
+        /**
+         * Internal function to clean up event handlers after the drag
+         * operation is complete
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.stopDrag = function(e) {
+
+            // Fire the drag end event for the item that was dragged
+            if (this.dragCurrent) {
+                if (this.dragThreshMet) {
+                    this.dragCurrent.b4EndDrag(e);
+                    this.dragCurrent.endDrag(e);
+                }
+
+                this.dragCurrent.onMouseUp(e);
+            }
+
+            this.dragCurrent = null;
+            this.dragOvers = {};
+        };
+
+        /**
+         * Internal function to handle the mousemove event.  Will be invoked
+         * from the context of the html element.
+         *
+         * @TODO figure out what we can do about mouse events lost when the
+         * user drags objects beyond the window boundary.  Currently we can
+         * detect this in internet explorer by verifying that the mouse is
+         * down during the mousemove event.  Firefox doesn't give us the
+         * button state on the mousemove event.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseMove = function(e) {
+            if (! this.dragCurrent) {
+                return true;
+            }
+
+            // var button = e.which || e.button;
+
+            // check for IE mouseup outside of page boundary
+            if (YAHOO.util.Event.isIE && !e.button) {
+                this.stopEvent(e);
+                return this.handleMouseUp(e);
+            }
+
+            if (!this.dragThreshMet) {
+                var diffX = Math.abs(this.startX - YAHOO.util.Event.getPageX(e));
+                var diffY = Math.abs(this.startY - YAHOO.util.Event.getPageY(e));
+                if (diffX > this.clickPixelThresh ||
+                            diffY > this.clickPixelThresh) {
+                    this.startDrag(this.startX, this.startY);
+                }
+            }
+
+            if (this.dragThreshMet) {
+                this.dragCurrent.b4Drag(e);
+                this.dragCurrent.onDrag(e);
+                this.fireEvents(e, false);
+            }
+
+            this.stopEvent(e);
+
+            return true;
+        };
+
+        /**
+         * Iterates over all of the DragDrop elements to find ones we are
+         * hovering over or dropping on
+         *
+         * @param {Event} e the event
+         * @param {boolean} isDrop is this a drop op or a mouseover op?
+         * @private
+         */
+        this.fireEvents = function(e, isDrop) {
+            var dc = this.dragCurrent;
+
+            // If the user did the mouse up outside of the window, we could
+            // get here even though we have ended the drag.
+            if (!dc || dc.isLocked()) {
+                return;
+            }
+
+            var x = YAHOO.util.Event.getPageX(e);
+            var y = YAHOO.util.Event.getPageY(e);
+            var pt = new YAHOO.util.Point(x,y);
+
+            // cache the previous dragOver array
+            var oldOvers = [];
+
+            var outEvts   = [];
+            var overEvts  = [];
+            var dropEvts  = [];
+            var enterEvts = [];
+
+            // Check to see if the object(s) we were hovering over is no longer
+            // being hovered over so we can fire the onDragOut event
+            for (var i in this.dragOvers) {
+
+                var ddo = this.dragOvers[i];
+
+                if (! this.isTypeOfDD(ddo)) {
+                    continue;
+                }
+
+                if (! this.isOverTarget(pt, ddo, this.mode)) {
+                    outEvts.push( ddo );
+                }
+
+                oldOvers[i] = true;
+                delete this.dragOvers[i];
+            }
+
+            for (var sGroup in dc.groups) {
+
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+
+                for (i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+
+                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
+                        if (this.isOverTarget(pt, oDD, this.mode)) {
+                            // look for drop interactions
+                            if (isDrop) {
+                                dropEvts.push( oDD );
+                            // look for drag enter and drag over interactions
+                            } else {
+
+                                // initial drag over: dragEnter fires
+                                if (!oldOvers[oDD.id]) {
+                                    enterEvts.push( oDD );
+                                // subsequent drag overs: dragOver fires
+                                } else {
+                                    overEvts.push( oDD );
+                                }
+
+                                this.dragOvers[oDD.id] = oDD;
+                            }
+                        }
+                    }
+                }
+            }
+
+            if (this.mode) {
+                if (outEvts.length) {
+                    dc.b4DragOut(e, outEvts);
+                    dc.onDragOut(e, outEvts);
+                }
+
+                if (enterEvts.length) {
+                    dc.onDragEnter(e, enterEvts);
+                }
+
+                if (overEvts.length) {
+                    dc.b4DragOver(e, overEvts);
+                    dc.onDragOver(e, overEvts);
+                }
+
+                if (dropEvts.length) {
+                    dc.b4DragDrop(e, dropEvts);
+                    dc.onDragDrop(e, dropEvts);
+                }
+
+            } else {
+                // fire dragout events
+                var len = 0;
+                for (i=0, len=outEvts.length; i<len; ++i) {
+                    dc.b4DragOut(e, outEvts[i].id);
+                    dc.onDragOut(e, outEvts[i].id);
+                }
+
+                // fire enter events
+                for (i=0,len=enterEvts.length; i<len; ++i) {
+                    // dc.b4DragEnter(e, oDD.id);
+                    dc.onDragEnter(e, enterEvts[i].id);
+                }
+
+                // fire over events
+                for (i=0,len=overEvts.length; i<len; ++i) {
+                    dc.b4DragOver(e, overEvts[i].id);
+                    dc.onDragOver(e, overEvts[i].id);
+                }
+
+                // fire drop events
+                for (i=0, len=dropEvts.length; i<len; ++i) {
+                    dc.b4DragDrop(e, dropEvts[i].id);
+                    dc.onDragDrop(e, dropEvts[i].id);
+                }
+
+            }
+
+        };
+
+        /**
+         * Helper function for getting the best match from the list of drag
+         * and drop objects returned by the drag and drop events when we are
+         * in INTERSECT mode.  It returns either the first object that the
+         * cursor is over, or the object that has the greatest overlap with
+         * the dragged element.
+         *
+         * @param  {DragDrop[]} dds The array of drag and drop objects
+         * targeted
+         * @return {DragDrop}       The best single match
+         */
+        this.getBestMatch = function(dds) {
+            var winner = null;
+            // Return null if the input is not what we expect
+            //if (!dds || !dds.length || dds.length == 0) {
+               // winner = null;
+            // If there is only one item, it wins
+            //} else if (dds.length == 1) {
+
+            var len = dds.length;
+
+            if (len == 1) {
+                winner = dds[0];
+            } else {
+                // Loop through the targeted items
+                for (var i=0; i<len; ++i) {
+                    var dd = dds[i];
+                    // If the cursor is over the object, it wins.  If the
+                    // cursor is over multiple matches, the first one we come
+                    // to wins.
+                    if (dd.cursorIsOver) {
+                        winner = dd;
+                        break;
+                    // Otherwise the object with the most overlap wins
+                    } else {
+                        if (!winner ||
+                            winner.overlap.getArea() < dd.overlap.getArea()) {
+                            winner = dd;
+                        }
+                    }
+                }
+            }
+
+            return winner;
+        };
+
+        /**
+         * Refreshes the cache of the top-left and bottom-right points of the
+         * drag and drop objects in the specified group(s).  This is in the
+         * format that is stored in the drag and drop instance, so typical
+         * usage is:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache(ddinstance.groups);
+         *
+         * Alternatively:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache({group1:true, group2:true});
+         *
+         * @TODO this really should be an indexed array.  Alternatively this
+         * method could accept both.
+         *
+         * @param {Object} groups an associative array of groups to refresh
+         */
+        this.refreshCache = function(groups) {
+            for (var sGroup in groups) {
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+                for (var i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+
+                    if (this.isTypeOfDD(oDD)) {
+                    // if (this.isTypeOfDD(oDD) && oDD.isTarget) {
+                        var loc = this.getLocation(oDD);
+                        if (loc) {
+                            this.locationCache[oDD.id] = loc;
+                        } else {
+                            delete this.locationCache[oDD.id];
+                            // this will unregister the drag and drop object if
+                            // the element is not in a usable state
+                            // oDD.unreg();
+                        }
+                    }
+                }
+            }
+        };
+
+        /**
+         * This checks to make sure an element exists and is in the DOM.  The
+         * main purpose is to handle cases where innerHTML is used to remove
+         * drag and drop objects from the DOM.  IE provides an 'unspecified
+         * error' when trying to access the offsetParent of such an element
+         * @param {HTMLElement} el the element to check
+         * @return {boolean} true if the element looks usable
+         */
+        this.verifyEl = function(el) {
+            try {
+                if (el) {
+                    var parent = el.offsetParent;
+                    if (parent) {
+                        return true;
+                    }
+                }
+            } catch(e) {
+            }
+
+            return false;
+        };
+
+        /**
+         * Returns a Region object containing the drag and drop element's position
+         * and size, including the padding configured for it
+         *
+         * @param {DragDrop} oDD the drag and drop object to get the
+         *                       location for
+         * @return {YAHOO.util.Region} a Region object representing the total area
+         *                             the element occupies, including any padding
+         *                             the instance is configured for.
+         */
+        this.getLocation = function(oDD) {
+            if (! this.isTypeOfDD(oDD)) {
+                return null;
+            }
+
+            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
+
+            try {
+                pos= YAHOO.util.Dom.getXY(el);
+            } catch (e) { }
+
+            if (!pos) {
+                return null;
+            }
+
+            x1 = pos[0];
+            x2 = x1 + el.offsetWidth;
+            y1 = pos[1];
+            y2 = y1 + el.offsetHeight;
+
+            t = y1 - oDD.padding[0];
+            r = x2 + oDD.padding[1];
+            b = y2 + oDD.padding[2];
+            l = x1 - oDD.padding[3];
+
+            return new YAHOO.util.Region( t, r, b, l );
+        };
+
+        /**
+         * Checks the cursor location to see if it over the target
+         *
+         * @param {YAHOO.util.Point} pt The point to evaluate
+         * @param {DragDrop} oTarget the DragDrop object we are inspecting
+         * @return {boolean} true if the mouse is over the target
+         * @private
+         */
+        this.isOverTarget = function(pt, oTarget, intersect) {
+            // use cache if available
+            var loc = this.locationCache[oTarget.id];
+            if (!loc || !this.useCache) {
+                loc = this.getLocation(oTarget);
+                this.locationCache[oTarget.id] = loc;
+
+            }
+
+            if (!loc) {
+                return false;
+            }
+
+            oTarget.cursorIsOver = loc.contains( pt );
+
+            // DragDrop is using this as a sanity check for the initial mousedown
+            // in this case we are done.  In POINT mode, if the drag obj has no
+            // contraints, we are also done. Otherwise we need to evaluate the
+            // location of the target as related to the actual location of the
+            // dragged element.
+            var dc = this.dragCurrent;
+            if (!dc || !dc.getTargetCoord ||
+                    (!intersect && !dc.constrainX && !dc.constrainY)) {
+                return oTarget.cursorIsOver;
+            }
+
+            oTarget.overlap = null;
+
+            // Get the current location of the drag element, this is the
+            // location of the mouse event less the delta that represents
+            // where the original mousedown happened on the element.  We
+            // need to consider constraints and ticks as well.
+            var pos = dc.getTargetCoord(pt.x, pt.y);
+
+            var el = dc.getDragEl();
+            var curRegion = new YAHOO.util.Region( pos.y,
+                                                   pos.x + el.offsetWidth,
+                                                   pos.y + el.offsetHeight,
+                                                   pos.x );
+
+            var overlap = curRegion.intersect(loc);
+
+            if (overlap) {
+                oTarget.overlap = overlap;
+                return (intersect) ? true : oTarget.cursorIsOver;
+            } else {
+                return false;
+            }
+        };
+
+        /**
+         * @private
+         */
+        this._onUnload = function(e, me) {
+            this.unregAll();
+        };
+
+        /**
+         * Cleans up the drag and drop events and objects.
+         * @private
+         */
+        this.unregAll = function() {
+
+            if (this.dragCurrent) {
+                this.stopDrag();
+                this.dragCurrent = null;
+            }
+
+            this._execOnAll("unreg", []);
+
+            for (i in this.elementCache) {
+                delete this.elementCache[i];
+            }
+
+            this.elementCache = {};
+            this.ids = {};
+        };
+
+        /**
+         * A cache of DOM elements
+         * @private
+         */
+        this.elementCache = {};
+
+        /**
+         * Get the wrapper for the DOM element specified
+         *
+         * @param {String} id the id of the elment to get
+         * @return {YAHOO.util.DDM.ElementWrapper} the wrapped element
+         * @private
+         * @deprecated
+         */
+        this.getElWrapper = function(id) {
+            var oWrapper = this.elementCache[id];
+            if (!oWrapper || !oWrapper.el) {
+                oWrapper = this.elementCache[id] =
+                    new this.ElementWrapper(YAHOO.util.Dom.get(id));
+            }
+            return oWrapper;
+        };
+
+        /**
+         * Returns the actual DOM element
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The element
+         * @deprecated
+         */
+        this.getElement = function(id) {
+            return YAHOO.util.Dom.get(id);
+        };
+
+        /**
+         * Returns the style property for the DOM element (i.e.,
+         * document.getElById(id).style)
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The style property of the element
+         * @deprecated
+         */
+        this.getCss = function(id) {
+            var el = YAHOO.util.Dom.get(id);
+            return (el) ? el.style : null;
+        };
+
+        /**
+         * Inner class for cached elements
+         * @private
+         * @deprecated
+         */
+        this.ElementWrapper = function(el) {
+                /**
+                 * @private
+                 */
+                this.el = el || null;
+                /**
+                 * @private
+                 */
+                this.id = this.el && el.id;
+                /**
+                 * @private
+                 */
+                this.css = this.el && el.style;
+            };
+
+        /**
+         * Returns the X position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the X coordinate
+         * @deprecated
+         */
+        this.getPosX = function(el) {
+            return YAHOO.util.Dom.getX(el);
+        };
+
+        /**
+         * Returns the Y position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the Y coordinate
+         * @deprecated
+         */
+        this.getPosY = function(el) {
+            return YAHOO.util.Dom.getY(el);
+        };
+
+        /**
+         * Swap two nodes.  In IE, we use the native method, for others we
+         * emulate the IE behavior
+         *
+         * @param n1 the first node to swap
+         * @param n2 the other node to swap
+         */
+        this.swapNode = function(n1, n2) {
+            if (n1.swapNode) {
+                n1.swapNode(n2);
+            } else {
+                var p = n2.parentNode;
+                var s = n2.nextSibling;
+
+                if (s == n1) {
+                    p.insertBefore(n1, n2);
+                } else if (n2 == n1.nextSibling) {
+                    p.insertBefore(n2, n1);
+                } else {
+                    n1.parentNode.replaceChild(n2, n1);
+                    p.insertBefore(n1, s);
+                }
+            }
+        };
+
+        /**
+         * @private
+         */
+        this.getScroll = function () {
+            var t, l;
+            if (document.documentElement && document.documentElement.scrollTop) {
+                t = document.documentElement.scrollTop;
+                l = document.documentElement.scrollLeft;
+            } else if (document.body) {
+                t = document.body.scrollTop;
+                l = document.body.scrollLeft;
+            }
+            return { top: t, left: l };
+        };
+
+        /**
+         * Returns the specified element style property
+         * @param {HTMLElement} el          the element
+         * @param {string}      styleProp   the style property
+         * @return {string} The value of the style property
+         * @deprecated, use YAHOO.util.Dom.getStyle
+         */
+        this.getStyle = function(el, styleProp) {
+            return YAHOO.util.Dom.getStyle(el, styleProp);
+        };
+
+        /**
+         * Gets the scrollTop
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollTop = function () { return this.getScroll().top; };
+
+        /**
+         * Gets the scrollLeft
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollLeft = function () { return this.getScroll().left; };
+
+        /**
+         * Sets the x/y position of an element to the location of the
+         * target element.
+         * @param {HTMLElement} moveEl      The element to move
+         * @param {HTMLElement} targetEl    The position reference element
+         */
+        this.moveToEl = function (moveEl, targetEl) {
+            var aCoord = YAHOO.util.Dom.getXY(targetEl);
+            YAHOO.util.Dom.setXY(moveEl, aCoord);
+        };
+
+        /**
+         * Gets the client height
+         * @return {int} client height in px
+         * @deprecated
+         */
+        this.getClientHeight = function() {
+            return YAHOO.util.Dom.getClientHeight();
+        };
+
+        /**
+         * Gets the client width
+         * @return {int} client width in px
+         * @deprecated
+         */
+        this.getClientWidth = function() {
+            return YAHOO.util.Dom.getClientWidth();
+        };
+
+        /**
+         * numeric array sort function
+         */
+        this.numericSort = function(a, b) { return (a - b); };
+
+        /**
+         * @private
+         */
+        this._timeoutCount = 0;
+
+        /**
+         * Trying to make the load order less important.  Without this we get
+         * an error if this file is loaded before the Event Utility.
+         * @private
+         */
+        this._addListeners = function() {
+            var DDM = YAHOO.util.DDM;
+            if ( YAHOO.util.Event && document ) {
+                DDM._onLoad();
+            } else {
+                if (DDM._timeoutCount > 2000) {
+                } else {
+                    setTimeout(DDM._addListeners, 10);
+                    if (document && document.body) {
+                        DDM._timeoutCount += 1;
+                    }
+                }
+            }
+        };
+
+        /**
+         * Recursively searches the immediate parent and all child nodes for
+         * the handle element in order to determine wheter or not it was
+         * clicked.
+         * @param node the html element to inspect
+         */
+        this.handleWasClicked = function(node, id) {
+            if (this.isHandle(id, node.id)) {
+                return true;
+            } else {
+                // check to see if this is a text node child of the one we want
+                var p = node.parentNode;
+
+                while (p) {
+                    if (this.isHandle(id, p.id)) {
+                        return true;
+                    } else {
+                        p = p.parentNode;
+                    }
+                }
+            }
+
+            return false;
+        };
+
+    } ();
+
+    // shorter alias, save a few bytes
+    YAHOO.util.DDM = YAHOO.util.DragDropMgr;
+    YAHOO.util.DDM._addListeners();
+
+}
+
+//YAHOO.util.DragDropMgr.enableWindow = function(win) {
+    //var EU = YAHOO.util.Event;
+    //EU.on(win.document, "mouseup",   this.handleMouseUp,   this, true);
+    //EU.on(win.document, "mousemove", this.handleMouseMove, this, true);
+//};
+
+/**
+ * A DragDrop implementation where the linked element follows the
+ * mouse cursor during a drag.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the linked element
+ * @param {String} sGroup the group of related DragDrop items
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DD:
+ *                    scroll
+ */
+YAHOO.util.DD = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DD.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop);
+
+/**
+ * When set to true, the utility automatically tries to scroll the browser
+ * window wehn a drag and drop element is dragged near the viewport boundary.
+ * Defaults to true.
+ *
+ * @type boolean
+ */
+YAHOO.util.DD.prototype.scroll = true;
+
+/**
+ * Sets the pointer offset to the distance between the linked element's top
+ * left corner and the location the element was clicked
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ */
+YAHOO.util.DD.prototype.autoOffset = function(iPageX, iPageY) {
+    // var el = this.getEl();
+    // var aCoord = YAHOO.util.Dom.getXY(el);
+    // var x = iPageX - aCoord[0];
+    // var y = iPageY - aCoord[1];
+    var x = iPageX - this.startPageX;
+    var y = iPageY - this.startPageY;
+    this.setDelta(x, y);
+};
+
+/**
+ * Sets the pointer offset.  You can call this directly to force the offset to
+ * be in a particular location (e.g., pass in 0,0 to set it to the center of the
+ * object, as done in YAHOO.widget.Slider)
+ *
+ * @param {int} iDeltaX the distance from the left
+ * @param {int} iDeltaY the distance from the top
+ */
+YAHOO.util.DD.prototype.setDelta = function(iDeltaX, iDeltaY) {
+    this.deltaX = iDeltaX;
+    this.deltaY = iDeltaY;
+};
+
+/**
+ * Sets the drag element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+
+YAHOO.util.DD.prototype.setDragElPos = function(iPageX, iPageY) {
+    // the first time we do this, we are going to check to make sure
+    // the element has css positioning
+
+    var el = this.getDragEl();
+
+    // if (!this.cssVerified) {
+        // var pos = el.style.position;
+    // }
+
+    this.alignElWithMouse(el, iPageX, iPageY);
+};
+
+/**
+ * Sets the element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {HTMLElement} el the element to move
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+YAHOO.util.DD.prototype.alignElWithMouse = function(el, iPageX, iPageY) {
+    var oCoord = this.getTargetCoord(iPageX, iPageY);
+
+    // this.deltaSetXY = null;
+    if (!this.deltaSetXY) {
+        var aCoord = [oCoord.x, oCoord.y];
+        YAHOO.util.Dom.setXY(el, aCoord);
+        var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
+        var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );
+
+        this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
+
+    } else {
+        YAHOO.util.Dom.setStyle(el, "left", (oCoord.x + this.deltaSetXY[0]) + "px");
+        YAHOO.util.Dom.setStyle(el, "top",  (oCoord.y + this.deltaSetXY[1]) + "px");
+    }
+
+
+    this.cachePosition(oCoord.x, oCoord.y);
+
+    this.autoScroll(oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
+};
+
+/**
+ * Saves the most recent position so that we can reset the constraints and
+ * tick marks on-demand.  We need to know this so that we can calculate the
+ * number of pixels the element is offset from its original position.
+ */
+YAHOO.util.DD.prototype.cachePosition = function(iPageX, iPageY) {
+    if (iPageX) {
+        this.lastPageX = iPageX;
+        this.lastPageY = iPageY;
+    } else {
+        var aCoord = YAHOO.util.Dom.getXY(this.getEl());
+        this.lastPageX = aCoord[0];
+        this.lastPageY = aCoord[1];
+    }
+};
+
+/**
+ * Auto-scroll the window if the dragged object has been moved beyond the
+ * visible window boundary.
+ *
+ * @param {int} x the drag element's x position
+ * @param {int} y the drag element's y position
+ * @param {int} h the height of the drag element
+ * @param {int} w the width of the drag element
+ * @private
+ */
+YAHOO.util.DD.prototype.autoScroll = function(x, y, h, w) {
+
+    if (this.scroll) {
+        // The client height
+        var clientH = this.DDM.getClientHeight();
+
+        // The client width
+        var clientW = this.DDM.getClientWidth();
+
+        // The amt scrolled down
+        var st = this.DDM.getScrollTop();
+
+        // The amt scrolled right
+        var sl = this.DDM.getScrollLeft();
+
+        // Location of the bottom of the element
+        var bot = h + y;
+
+        // Location of the right of the element
+        var right = w + x;
+
+        // The distance from the cursor to the bottom of the visible area,
+        // adjusted so that we don't scroll if the cursor is beyond the
+        // element drag constraints
+        var toBot = (clientH + st - y - this.deltaY);
+
+        // The distance from the cursor to the right of the visible area
+        var toRight = (clientW + sl - x - this.deltaX);
+
+
+        // How close to the edge the cursor must be before we scroll
+        // var thresh = (document.all) ? 100 : 40;
+        var thresh = 40;
+
+        // How many pixels to scroll per autoscroll op.  This helps to reduce
+        // clunky scrolling. IE is more sensitive about this ... it needs this
+        // value to be higher.
+        var scrAmt = (document.all) ? 80 : 30;
+
+        // Scroll down if we are near the bottom of the visible page and the
+        // obj extends below the crease
+        if ( bot > clientH && toBot < thresh ) {
+            window.scrollTo(sl, st + scrAmt);
+        }
+
+        // Scroll up if the window is scrolled down and the top of the object
+        // goes above the top border
+        if ( y < st && st > 0 && y - st < thresh ) {
+            window.scrollTo(sl, st - scrAmt);
+        }
+
+        // Scroll right if the obj is beyond the right border and the cursor is
+        // near the border.
+        if ( right > clientW && toRight < thresh ) {
+            window.scrollTo(sl + scrAmt, st);
+        }
+
+        // Scroll left if the window has been scrolled to the right and the obj
+        // extends past the left border
+        if ( x < sl && sl > 0 && x - sl < thresh ) {
+            window.scrollTo(sl - scrAmt, st);
+        }
+    }
+};
+
+/**
+ * Finds the location the element should be placed if we want to move
+ * it to where the mouse location less the click offset would place us.
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ * @return an object that contains the coordinates (Object.x and Object.y)
+ * @private
+ */
+YAHOO.util.DD.prototype.getTargetCoord = function(iPageX, iPageY) {
+
+
+    var x = iPageX - this.deltaX;
+    var y = iPageY - this.deltaY;
+
+    if (this.constrainX) {
+        if (x < this.minX) { x = this.minX; }
+        if (x > this.maxX) { x = this.maxX; }
+    }
+
+    if (this.constrainY) {
+        if (y < this.minY) { y = this.minY; }
+        if (y > this.maxY) { y = this.maxY; }
+    }
+
+    x = this.getTick(x, this.xTicks);
+    y = this.getTick(y, this.yTicks);
+
+
+    return {x:x, y:y};
+};
+
+YAHOO.util.DD.prototype.applyConfig = function() {
+    YAHOO.util.DD.superclass.applyConfig.call(this);
+    this.scroll = (this.config.scroll !== false);
+};
+
+/**
+ * Event that fires prior to the onMouseDown event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4MouseDown = function(e) {
+    // this.resetConstraints();
+    this.autoOffset(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+/**
+ * Event that fires prior to the onDrag event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4Drag = function(e) {
+    this.setDragElPos(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+YAHOO.util.DD.prototype.toString = function() {
+    return ("DD " + this.id);
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Debugging ygDragDrop events that can be overridden
+///////////////////////////////////////////////////////////////////////////////
+/*
+YAHOO.util.DD.prototype.startDrag = function(x, y) {
+};
+
+YAHOO.util.DD.prototype.onDrag = function(e) {
+};
+
+YAHOO.util.DD.prototype.onDragEnter = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOver = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOut = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragDrop = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.endDrag = function(e) {
+};
+*/
+
+/**
+ * A DragDrop implementation that inserts an empty, bordered div into
+ * the document that follows the cursor during drag operations.  At the time of
+ * the click, the frame div is resized to the dimensions of the linked html
+ * element, and moved to the exact location of the linked element.
+ *
+ * References to the "frame" element refer to the single proxy element that
+ * was created to be dragged in place of all DDProxy elements on the
+ * page.
+ *
+ * @extends YAHOO.util.DD
+ * @constructor
+ * @param {String} id the id of the linked html element
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDProxy in addition to those in DragDrop:
+ *                   resizeFrame, centerFrame, dragElId
+ */
+YAHOO.util.DDProxy = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+        this.initFrame();
+    }
+};
+
+YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD);
+
+/**
+ * The default drag frame div id
+ * @type String
+ */
+YAHOO.util.DDProxy.dragElId = "ygddfdiv";
+
+/**
+ * By default we resize the drag frame to be the same size as the element
+ * we want to drag (this is to get the frame effect).  We can turn it off
+ * if we want a different behavior.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.resizeFrame = true;
+
+/**
+ * By default the frame is positioned exactly where the drag element is, so
+ * we use the cursor offset provided by YAHOO.util.DD.  Another option that works only if
+ * you do not have constraints on the obj is to have the drag frame centered
+ * around the cursor.  Set centerFrame to true for this effect.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.centerFrame = false;
+
+/**
+ * Create the drag frame if needed
+ */
+YAHOO.util.DDProxy.prototype.createFrame = function() {
+    var self = this;
+    var body = document.body;
+
+    if (!body || !body.firstChild) {
+        setTimeout( function() { self.createFrame(); }, 50 );
+        return;
+    }
+
+    var div = this.getDragEl();
+
+    if (!div) {
+        div    = document.createElement("div");
+        div.id = this.dragElId;
+        var s  = div.style;
+
+        s.position   = "absolute";
+        s.visibility = "hidden";
+        s.cursor     = "move";
+        s.border     = "2px solid #aaa";
+        s.zIndex     = 999;
+
+        // appendChild can blow up IE if invoked prior to the window load event
+        // while rendering a table.  It is possible there are other scenarios
+        // that would cause this to happen as well.
+        body.insertBefore(div, body.firstChild);
+    }
+};
+
+/**
+ * Initialization for the drag frame element.  Must be called in the
+ * constructor of all subclasses
+ */
+YAHOO.util.DDProxy.prototype.initFrame = function() {
+    // YAHOO.util.DDProxy.createFrame();
+    // this.setDragElId(YAHOO.util.DDProxy.dragElId);
+
+    this.createFrame();
+
+};
+
+YAHOO.util.DDProxy.prototype.applyConfig = function() {
+    YAHOO.util.DDProxy.superclass.applyConfig.call(this);
+
+    this.resizeFrame = (this.config.resizeFrame !== false);
+    this.centerFrame = (this.config.centerFrame);
+    this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId);
+
+};
+
+/**
+ * Resizes the drag frame to the dimensions of the clicked object, positions
+ * it over the object, and finally displays it
+ *
+ * @param {int} iPageX X click position
+ * @param {int} iPageY Y click position
+ * @private
+ */
+YAHOO.util.DDProxy.prototype.showFrame = function(iPageX, iPageY) {
+    var el = this.getEl();
+    var dragEl = this.getDragEl();
+    var s = dragEl.style;
+
+    this._resizeProxy();
+
+    if (this.centerFrame) {
+        this.setDelta( Math.round(parseInt(s.width,  10)/2),
+                       Math.round(parseInt(s.height, 10)/2) );
+    }
+
+    this.setDragElPos(iPageX, iPageY);
+
+    YAHOO.util.Dom.setStyle(dragEl, "visibility", "visible");
+};
+
+YAHOO.util.DDProxy.prototype._resizeProxy = function() {
+    if (this.resizeFrame) {
+        var DOM    = YAHOO.util.Dom;
+        var el     = this.getEl();
+        var dragEl = this.getDragEl();
+
+        var bt = parseInt( DOM.getStyle(dragEl, "borderTopWidth"    ), 10);
+        var br = parseInt( DOM.getStyle(dragEl, "borderRightWidth"  ), 10);
+        var bb = parseInt( DOM.getStyle(dragEl, "borderBottomWidth" ), 10);
+        var bl = parseInt( DOM.getStyle(dragEl, "borderLeftWidth"   ), 10);
+
+        if (isNaN(bt)) { bt = 0; }
+        if (isNaN(br)) { br = 0; }
+        if (isNaN(bb)) { bb = 0; }
+        if (isNaN(bl)) { bl = 0; }
+
+
+        var newWidth  = Math.max(0, el.offsetWidth  - br - bl);
+        var newHeight = Math.max(0, el.offsetHeight - bt - bb);
+
+
+        DOM.setStyle( dragEl, "width",  newWidth  + "px" );
+        DOM.setStyle( dragEl, "height", newHeight + "px" );
+    }
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4MouseDown = function(e) {
+    var x = YAHOO.util.Event.getPageX(e);
+    var y = YAHOO.util.Event.getPageY(e);
+    this.autoOffset(x, y);
+    this.setDragElPos(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4StartDrag = function(x, y) {
+    // show the drag frame
+    this.showFrame(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4EndDrag = function(e) {
+    YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden");
+};
+
+// overrides YAHOO.util.DragDrop
+// By default we try to move the element to the last location of the frame.
+// This is so that the default behavior mirrors that of YAHOO.util.DD.
+YAHOO.util.DDProxy.prototype.endDrag = function(e) {
+    var DOM = YAHOO.util.Dom;
+    var lel = this.getEl();
+    var del = this.getDragEl();
+
+    // Show the drag frame briefly so we can get its position
+    // del.style.visibility = "";
+    DOM.setStyle(del, "visibility", "");
+
+    // Hide the linked element before the move to get around a Safari
+    // rendering bug.
+    //lel.style.visibility = "hidden";
+    DOM.setStyle(lel, "visibility", "hidden");
+    YAHOO.util.DDM.moveToEl(lel, del);
+    //del.style.visibility = "hidden";
+    DOM.setStyle(del, "visibility", "hidden");
+    //lel.style.visibility = "";
+    DOM.setStyle(lel, "visibility", "");
+};
+
+YAHOO.util.DDProxy.prototype.toString = function() {
+    return ("DDProxy " + this.id);
+};
+
+/**
+ * A DragDrop implementation that does not move, but can be a drop
+ * target.  You would get the same result by simply omitting implementation
+ * for the event callbacks, but this way we reduce the processing cost of the
+ * event listener and the callbacks.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the element that is a drop target
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDTarget in addition to those in DragDrop:
+ *                  none
+ */
+
+YAHOO.util.DDTarget = function(id, sGroup, config) {
+    if (id) {
+        this.initTarget(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DDTarget.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop);
+
+YAHOO.util.DDTarget.prototype.toString = function() {
+    return ("DDTarget " + this.id);
+};
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/event.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1326 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The CustomEvent class lets you define events for your application
+ * that can be subscribed to by one or more independent component.
+ *
+ * @param {String}  type The type of event, which is passed to the callback
+ *                  when the event fires
+ * @param {Object}  oScope The context the event will fire from.  "this" will
+ *                  refer to this object in the callback.  Default value:
+ *                  the window object.  The listener can override this.
+ * @param {boolean} silent pass true to prevent the event from writing to
+ *                  the log system
+ * @namespace YAHOO.util
+ * @class CustomEvent
+ * @constructor
+ */
+YAHOO.util.CustomEvent = function(type, oScope, silent) {
+
+    /**
+     * The type of event, returned to subscribers when the event fires
+     * @property type
+     * @type string
+     */
+    this.type = type;
+
+    /**
+     * The scope the the event will fire from by default.  Defaults to the window
+     * obj
+     * @property scope
+     * @type object
+     */
+    this.scope = oScope || window;
+
+    /**
+     * By default all custom events are logged in the debug build, set silent
+     * to true to disable logging for this event.
+     * @property silent
+     * @type boolean
+     */
+    this.silent = silent;
+
+    /**
+     * The subscribers to this event
+     * @property subscribers
+     * @type Subscriber[]
+     */
+    this.subscribers = [];
+
+    if (!this.silent) {
+    }
+
+    // Only add subscribe events for events that are not generated by CustomEvent
+    //if (oScope && (oScope.constructor != this.constructor)) {
+
+        /*
+         * Custom events provide a custom event that fires whenever there is
+         * a new subscriber to the event.  This provides an opportunity to
+         * handle the case where there is a non-repeating event that has
+         * already fired has a new subscriber.
+         *
+         * type CustomEvent
+         */
+        //this.subscribeEvent =
+                //new YAHOO.util.CustomEvent("subscribe", this, true);
+
+    //}
+};
+
+YAHOO.util.CustomEvent.prototype = {
+    /**
+     * Subscribes the caller to this event
+     * @method subscribe
+     * @param {Function} fn       The function to execute
+     * @param {Object}   obj      An object to be passed along when the event fires
+     * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+     *                            scope of the listener
+     */
+    subscribe: function(fn, obj, bOverride) {
+        //if (this.subscribeEvent) {
+            //this.subscribeEvent.fire(fn, obj, bOverride);
+        //}
+
+        this.subscribers.push( new YAHOO.util.Subscriber(fn, obj, bOverride) );
+    },
+
+    /**
+     * Unsubscribes the caller from this event
+     * @method unsubscribe
+     * @param {Function} fn  The function to execute
+     * @param {Object}   obj An object to be passed along when the event fires
+     * @return {boolean} True if the subscriber was found and detached.
+     */
+    unsubscribe: function(fn, obj) {
+        var found = false;
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s && s.contains(fn, obj)) {
+                this._delete(i);
+                found = true;
+            }
+        }
+
+        return found;
+    },
+
+    /**
+     * Notifies the subscribers.  The callback functions will be executed
+     * from the scope specified when the event was created, and with the following
+     * parameters:
+     *   <pre>
+     *   - The type of event
+     *   - All of the arguments fire() was executed with as an array
+     *   - The custom object (if any) that was passed into the subscribe() method
+     *   </pre>
+     * @method fire
+     * @param {Array} an arbitrary set of parameters to pass to the handler
+     */
+    fire: function() {
+        var len=this.subscribers.length;
+        if (!len && this.silent) {
+            return;
+        }
+
+        var args = [];
+
+        for (var i=0; i<arguments.length; ++i) {
+            args.push(arguments[i]);
+        }
+
+        if (!this.silent) {
+        }
+
+        for (i=0; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s) {
+                if (!this.silent) {
+                }
+                var scope = (s.override) ? s.obj : this.scope;
+                s.fn.call(scope, this.type, args, s.obj);
+            }
+        }
+    },
+
+    /**
+     * Removes all listeners
+     * @method unsubscribeAll
+     */
+    unsubscribeAll: function() {
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            this._delete(len - 1 - i);
+        }
+    },
+
+    /**
+     * @method _delete
+     * @private
+     */
+    _delete: function(index) {
+        var s = this.subscribers[index];
+        if (s) {
+            delete s.fn;
+            delete s.obj;
+        }
+
+        // delete this.subscribers[index];
+        this.subscribers.splice(index, 1);
+    },
+
+    /**
+     * @method toString
+     */
+    toString: function() {
+         return "CustomEvent: " + "'" + this.type  + "', " +
+             "scope: " + this.scope;
+
+    }
+};
+
+/////////////////////////////////////////////////////////////////////
+
+/**
+ * Stores the subscriber information to be used when the event fires.
+ * @param {Function} fn       The function to execute
+ * @param {Object}   obj      An object to be passed along when the event fires
+ * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+ *                            scope of the listener
+ * @class Subscriber
+ * @constructor
+ */
+YAHOO.util.Subscriber = function(fn, obj, bOverride) {
+
+    /**
+     * The callback that will be execute when the event fires
+     * @property fn
+     * @type function
+     */
+    this.fn = fn;
+
+    /**
+     * An optional custom object that will passed to the callback when
+     * the event fires
+     * @property obj
+     * @type object
+     */
+    this.obj = obj || null;
+
+    /**
+     * The default execution scope for the event listener is defined when the
+     * event is created (usually the object which contains the event).
+     * By setting override to true, the execution scope becomes the custom
+     * object passed in by the subscriber
+     * @property override
+     * @type boolean
+     */
+    this.override = (bOverride);
+};
+
+/**
+ * Returns true if the fn and obj match this objects properties.
+ * Used by the unsubscribe method to match the right subscriber.
+ *
+ * @method contains
+ * @param {Function} fn the function to execute
+ * @param {Object} obj an object to be passed along when the event fires
+ * @return {boolean} true if the supplied arguments match this
+ *                   subscriber's signature.
+ */
+YAHOO.util.Subscriber.prototype.contains = function(fn, obj) {
+    return (this.fn == fn && this.obj == obj);
+};
+
+/**
+ * @method toString
+ */
+YAHOO.util.Subscriber.prototype.toString = function() {
+    return "Subscriber { obj: " + (this.obj || "")  +
+           ", override: " +  (this.override || "no") + " }";
+};
+
+// The first instance of Event will win if it is loaded more than once.
+if (!YAHOO.util.Event) {
+
+/**
+ * The event utility provides functions to add and remove event listeners,
+ * event cleansing.  It also tries to automatically remove listeners it
+ * registers during the unload event.
+ * @namespace YAHOO.util
+ * @class Event
+ */
+    YAHOO.util.Event = function() {
+
+        /**
+         * True after the onload event has fired
+         * @property loadComplete
+         * @type boolean
+         * @private
+         */
+        var loadComplete =  false;
+
+        /**
+         * Cache of wrapped listeners
+         * @property listeners
+         * @type array
+         * @private
+         */
+        var listeners = [];
+
+        /**
+         * Listeners that will be attached during the onload event
+         * @property delayedListeners
+         * @type array
+         * @private
+         */
+        var delayedListeners = [];
+
+        /**
+         * User-defined unload function that will be fired before all events
+         * are detached
+         * @property unloadListeners
+         * @type array
+         * @private
+         */
+        var unloadListeners = [];
+
+        /**
+         * Cache of DOM0 event handlers to work around issues with DOM2 events
+         * in Safari
+         * @property legacyEvents
+         * @private
+         */
+        var legacyEvents = [];
+
+        /**
+         * Listener stack for DOM0 events
+         * @property legacyHandlers
+         * @private
+         */
+        var legacyHandlers = [];
+
+        /**
+         * The number of times to poll after window.onload.  This number is
+         * increased if additional late-bound handlers are requested after
+         * the page load.
+         * @property retryCount
+         * @private
+         */
+        var retryCount = 0;
+
+        /**
+         * onAvailable listeners
+         * @property onAvailStack
+         * @private
+         */
+        var onAvailStack = [];
+
+        /**
+         * Lookup table for legacy events
+         * @property legacyMap
+         * @private
+         */
+        var legacyMap = [];
+
+        /**
+         * Counter for auto id generation
+         * @property counter
+         * @private
+         */
+        var counter = 0;
+
+        return { // PREPROCESS
+
+            /**
+             * The number of times we should look for elements that are not
+             * in the DOM at the time the event is requested after the document
+             * has been loaded.  The default is 200 at amp;50 ms, so it will poll
+             * for 10 seconds or until all outstanding handlers are bound
+             * (whichever comes first).
+             * @property POLL_RETRYS
+             * @type int
+             */
+            POLL_RETRYS: 200,
+
+            /**
+             * The poll interval in milliseconds
+             * @property POLL_INTERVAL
+             * @type int
+             */
+            POLL_INTERVAL: 50,
+
+            /**
+             * Element to bind, int constant
+             * @property EL
+             * @type int
+             */
+            EL: 0,
+
+            /**
+             * Type of event, int constant
+             * @property TYPE
+             * @type int
+             */
+            TYPE: 1,
+
+            /**
+             * Function to execute, int constant
+             * @property FN
+             * @type int
+             */
+            FN: 2,
+
+            /**
+             * Function wrapped for scope correction and cleanup, int constant
+             * @property WFN
+             * @type int
+             */
+            WFN: 3,
+
+            /**
+             * Object passed in by the user that will be returned as a
+             * parameter to the callback, int constant
+             * @property SCOPE
+             * @type int
+             */
+            SCOPE: 3,
+
+            /**
+             * Adjusted scope, either the element we are registering the event
+             * on or the custom object passed in by the listener, int constant
+             * @property ADJ_SCOPE
+             * @type int
+             */
+            ADJ_SCOPE: 4,
+
+            /**
+             * Safari detection is necessary to work around the preventDefault
+             * bug that makes it so you can't cancel a href click from the
+             * handler.  There is not a capabilities check we can use here.
+             * @property isSafari
+             * @private
+             */
+            isSafari: (/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),
+
+            /**
+             * IE detection needed to properly calculate pageX and pageY.
+             * capabilities checking didn't seem to work because another
+             * browser that does not provide the properties have the values
+             * calculated in a different manner than IE.
+             * @property isIE
+             * @private
+             */
+            isIE: (!this.isSafari && !navigator.userAgent.match(/opera/gi) &&
+                    navigator.userAgent.match(/msie/gi)),
+
+            /**
+             * @method addDelayedListener
+             * @private
+             */
+            addDelayedListener: function(el, sType, fn, oScope, bOverride) {
+                delayedListeners[delayedListeners.length] =
+                    [el, sType, fn, oScope, bOverride];
+
+                // If this happens after the inital page load, we need to
+                // reset the poll counter so that we continue to search for
+                // the element for a fixed period of time.
+                if (loadComplete) {
+                    retryCount = this.POLL_RETRYS;
+                    this.startTimeout(0);
+                    // this._tryPreloadAttach();
+                }
+            },
+
+            /**
+             * @method startTimeout
+             * @private
+             */
+            startTimeout: function(interval) {
+                var i = (interval || interval === 0) ? interval : this.POLL_INTERVAL;
+                var self = this;
+                var callback = function() { self._tryPreloadAttach(); };
+                this.timeout = setTimeout(callback, i);
+            },
+
+            /**
+             * Executes the supplied callback when the item with the supplied
+             * id is found.  This is meant to be used to execute behavior as
+             * soon as possible as the page loads.  If you use this after the
+             * initial page load it will poll for a fixed time for the element.
+             * The number of times it will poll and the frequency are
+             * configurable.  By default it will poll for 10 seconds.
+             *
+             * @method onAvailable
+             *
+             * @param {string}   p_id the id of the element to look for.
+             * @param {function} p_fn what to execute when the element is found.
+             * @param {object}   p_obj an optional object to be passed back as
+             *                   a parameter to p_fn.
+             * @param {boolean}  p_override If set to true, p_fn will execute
+             *                   in the scope of p_obj
+             *
+             */
+            onAvailable: function(p_id, p_fn, p_obj, p_override) {
+                onAvailStack.push( { id:       p_id,
+                                     fn:       p_fn,
+                                     obj:      p_obj,
+                                     override: p_override } );
+
+                retryCount = this.POLL_RETRYS;
+                this.startTimeout(0);
+                // this._tryPreloadAttach();
+            },
+
+            /**
+             * Appends an event handler
+             *
+             * @method addListener
+             *
+             * @param {Object}   el        The html element to assign the
+             *                             event to
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   oScope    An arbitrary object that will be
+             *                             passed as a parameter to the handler
+             * @param {boolean}  bOverride If true, the obj passed in becomes
+             *                             the execution scope of the listener
+             * @return {boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements
+             *                        could not have the event bound to it.
+             */
+            addListener: function(el, sType, fn, oScope, bOverride) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                // The el argument can be an array of elements or element ids.
+                if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (var i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.on(el[i],
+                                       sType,
+                                       fn,
+                                       oScope,
+                                       bOverride) && ok );
+                    }
+                    return ok;
+
+                } else if (typeof el == "string") {
+                    var oEl = this.getEl(el);
+                    // If the el argument is a string, we assume it is
+                    // actually the id of the element.  If the page is loaded
+                    // we convert el to the actual element, otherwise we
+                    // defer attaching the event until onload event fires
+
+                    // check to see if we need to delay hooking up the event
+                    // until after the page loads.
+                    if (loadComplete && oEl) {
+                        el = oEl;
+                    } else {
+                        // defer adding the event until onload fires
+                        this.addDelayedListener(el,
+                                                sType,
+                                                fn,
+                                                oScope,
+                                                bOverride);
+
+                        return true;
+                    }
+                }
+
+                // Element should be an html element or an array if we get
+                // here.
+                if (!el) {
+                    return false;
+                }
+
+                // we need to make sure we fire registered unload events
+                // prior to automatically unhooking them.  So we hang on to
+                // these instead of attaching them to the window and fire the
+                // handles explicitly during our one unload event.
+                if ("unload" == sType && oScope !== this) {
+                    unloadListeners[unloadListeners.length] =
+                            [el, sType, fn, oScope, bOverride];
+                    return true;
+                }
+
+                // if the user chooses to override the scope, we use the custom
+                // object passed in, otherwise the executing scope will be the
+                // HTML element that the event is registered on
+                var scope = (bOverride) ? oScope : el;
+
+                // wrap the function so we can return the oScope object when
+                // the event fires;
+                var wrappedFn = function(e) {
+                        return fn.call(scope, YAHOO.util.Event.getEvent(e),
+                                oScope);
+                    };
+
+                var li = [el, sType, fn, wrappedFn, scope];
+                var index = listeners.length;
+                // cache the listener so we can try to automatically unload
+                listeners[index] = li;
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+
+                    // Add a new dom0 wrapper if one is not detected for this
+                    // element
+                    if ( legacyIndex == -1 ||
+                                el != legacyEvents[legacyIndex][0] ) {
+
+                        legacyIndex = legacyEvents.length;
+                        legacyMap[el.id + sType] = legacyIndex;
+
+                        // cache the signature for the DOM0 event, and
+                        // include the existing handler for the event, if any
+                        legacyEvents[legacyIndex] =
+                            [el, sType, el["on" + sType]];
+                        legacyHandlers[legacyIndex] = [];
+
+                        el["on" + sType] =
+                            function(e) {
+                                YAHOO.util.Event.fireLegacyEvent(
+                                    YAHOO.util.Event.getEvent(e), legacyIndex);
+                            };
+                    }
+
+                    // add a reference to the wrapped listener to our custom
+                    // stack of events
+                    //legacyHandlers[legacyIndex].push(index);
+                    legacyHandlers[legacyIndex].push(li);
+
+                // DOM2 Event model
+                } else if (el.addEventListener) {
+                    el.addEventListener(sType, wrappedFn, false);
+                // IE
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, wrappedFn);
+                }
+
+                return true;
+
+            },
+
+            /**
+             * When using legacy events, the handler is routed to this object
+             * so we can fire our custom listener stack.
+             * @method fireLegacyEvent
+             * @private
+             */
+            fireLegacyEvent: function(e, legacyIndex) {
+                var ok = true;
+
+                var le = legacyHandlers[legacyIndex];
+                for (var i=0,len=le.length; i<len; ++i) {
+                    var li = le[i];
+                    if ( li && li[this.WFN] ) {
+                        var scope = li[this.ADJ_SCOPE];
+                        var ret = li[this.WFN].call(scope, e);
+                        ok = (ok && ret);
+                    }
+                }
+
+                return ok;
+            },
+
+            /**
+             * Returns the legacy event index that matches the supplied
+             * signature
+             * @method getLegacyIndex
+             * @private
+             */
+            getLegacyIndex: function(el, sType) {
+                var key = this.generateId(el) + sType;
+                if (typeof legacyMap[key] == "undefined") {
+                    return -1;
+                } else {
+                    return legacyMap[key];
+                }
+            },
+
+            /**
+             * Logic that determines when we should automatically use legacy
+             * events instead of DOM2 events.
+             * @method useLegacyEvent
+             * @private
+             */
+            useLegacyEvent: function(el, sType) {
+                if (!el.addEventListener && !el.attachEvent) {
+                    return true;
+                } else if (this.isSafari) {
+                    if ("click" == sType || "dblclick" == sType) {
+                        return true;
+                    }
+                }
+                return false;
+            },
+
+            /**
+             * Removes an event handler
+             *
+             * @method removeListener
+             *
+             * @param {Object} el the html element or the id of the element to
+             * assign the event to.
+             * @param {String} sType the type of event to remove
+             * @param {Function} fn the method the event invokes
+             * @return {boolean} true if the unbind was successful, false
+             * otherwise
+             */
+            removeListener: function(el, sType, fn, index) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                var i, len;
+
+                // The el argument can be a string
+                if (typeof el == "string") {
+                    el = this.getEl(el);
+                // The el argument can be an array of elements or element ids.
+                } else if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.removeListener(el[i], sType, fn) && ok );
+                    }
+                    return ok;
+                }
+
+                if ("unload" == sType) {
+
+                    for (i=0, len=unloadListeners.length; i<len; i++) {
+                        var li = unloadListeners[i];
+                        if (li &&
+                            li[0] == el &&
+                            li[1] == sType &&
+                            li[2] == fn) {
+                                unloadListeners.splice(i, 1);
+                                return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                var cacheItem = null;
+
+                //var index = arguments[3];
+
+                if ("undefined" == typeof index) {
+                    index = this._getCacheIndex(el, sType, fn);
+                }
+
+                if (index >= 0) {
+                    cacheItem = listeners[index];
+                }
+
+                if (!el || !cacheItem) {
+                    return false;
+                }
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+                    var llist = legacyHandlers[legacyIndex];
+                    if (llist) {
+                        for (i=0, len=llist.length; i<len; ++i) {
+                            li = llist[i];
+                            if (li &&
+                                li[this.EL] == el &&
+                                li[this.TYPE] == sType &&
+                                li[this.FN] == fn) {
+                                    llist.splice(i, 1);
+                            }
+                        }
+                    }
+
+                } else if (el.removeEventListener) {
+                    el.removeEventListener(sType, cacheItem[this.WFN], false);
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, cacheItem[this.WFN]);
+                }
+
+                // removed the wrapped handler
+                delete listeners[index][this.WFN];
+                delete listeners[index][this.FN];
+                listeners.splice(index, 1);
+
+                return true;
+
+            },
+
+            /**
+             * Returns the event's target element
+             * @method getTarget
+             * @param {Event} ev the event
+             * @param {boolean} resolveTextNode when set to true the target's
+             *                  parent will be returned if the target is a
+             *                  text node.  @deprecated, the text node is
+             *                  now resolved automatically
+             * @return {HTMLElement} the event's target
+             */
+            getTarget: function(ev, resolveTextNode) {
+                var t = ev.target || ev.srcElement;
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * In some cases, some browsers will return a text node inside
+             * the actual element that was targeted.  This normalizes the
+             * return value for getTarget and getRelatedTarget.
+             * @method resolveTextNode
+             * @param {HTMLElement} node to resolve
+             * @return  the normized node
+             */
+            resolveTextNode: function(node) {
+                if (node && node.nodeName &&
+                        "#TEXT" == node.nodeName.toUpperCase()) {
+                    return node.parentNode;
+                } else {
+                    return node;
+                }
+            },
+
+            /**
+             * Returns the event's pageX
+             * @method getPageX
+             * @param {Event} ev the event
+             * @return {int} the event's pageX
+             */
+            getPageX: function(ev) {
+                var x = ev.pageX;
+                if (!x && 0 !== x) {
+                    x = ev.clientX || 0;
+
+                    if ( this.isIE ) {
+                        x += this._getScrollLeft();
+                    }
+                }
+
+                return x;
+            },
+
+            /**
+             * Returns the event's pageY
+             * @method getPageY
+             * @param {Event} ev the event
+             * @return {int} the event's pageY
+             */
+            getPageY: function(ev) {
+                var y = ev.pageY;
+                if (!y && 0 !== y) {
+                    y = ev.clientY || 0;
+
+                    if ( this.isIE ) {
+                        y += this._getScrollTop();
+                    }
+                }
+
+                return y;
+            },
+
+            /**
+             * Returns the pageX and pageY properties as an indexed array.
+             * @method getXY
+             * @type int[]
+             */
+            getXY: function(ev) {
+                return [this.getPageX(ev), this.getPageY(ev)];
+            },
+
+            /**
+             * Returns the event's related target
+             * @method getRelatedTarget
+             * @param {Event} ev the event
+             * @return {HTMLElement} the event's relatedTarget
+             */
+            getRelatedTarget: function(ev) {
+                var t = ev.relatedTarget;
+                if (!t) {
+                    if (ev.type == "mouseout") {
+                        t = ev.toElement;
+                    } else if (ev.type == "mouseover") {
+                        t = ev.fromElement;
+                    }
+                }
+
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * Returns the time of the event.  If the time is not included, the
+             * event is modified using the current time.
+             * @method getTime
+             * @param {Event} ev the event
+             * @return {Date} the time of the event
+             */
+            getTime: function(ev) {
+                if (!ev.time) {
+                    var t = new Date().getTime();
+                    try {
+                        ev.time = t;
+                    } catch(e) {
+                        // can't set the time property
+                        return t;
+                    }
+                }
+
+                return ev.time;
+            },
+
+            /**
+             * Convenience method for stopPropagation + preventDefault
+             * @method stopEvent
+             * @param {Event} ev the event
+             */
+            stopEvent: function(ev) {
+                this.stopPropagation(ev);
+                this.preventDefault(ev);
+            },
+
+            /**
+             * Stops event propagation
+             * @method stopPropagation
+             * @param {Event} ev the event
+             */
+            stopPropagation: function(ev) {
+                if (ev.stopPropagation) {
+                    ev.stopPropagation();
+                } else {
+                    ev.cancelBubble = true;
+                }
+            },
+
+            /**
+             * Prevents the default behavior of the event
+             * @method preventDefault
+             * @param {Event} ev the event
+             */
+            preventDefault: function(ev) {
+                if (ev.preventDefault) {
+                    ev.preventDefault();
+                } else {
+                    ev.returnValue = false;
+                }
+            },
+
+            /**
+             * Finds the event in the window object, the caller's arguments, or
+             * in the arguments of another method in the callstack.  This is
+             * executed automatically for events registered through the event
+             * manager, so the implementer should not normally need to execute
+             * this function at all.
+             * @method getEvent
+             * @param {Event} the event parameter from the handler
+             * @return {Event} the event
+             */
+            getEvent: function(e) {
+                var ev = e || window.event;
+
+                if (!ev) {
+                    var c = this.getEvent.caller;
+                    while (c) {
+                        ev = c.arguments[0];
+                        if (ev && Event == ev.constructor) {
+                            break;
+                        }
+                        c = c.caller;
+                    }
+                }
+
+                return ev;
+            },
+
+            /**
+             * Returns the charcode for an event
+             * @method getCharCode
+             * @param {Event} ev the event
+             * @return {int} the event's charCode
+             */
+            getCharCode: function(ev) {
+                return ev.charCode || ((ev.type == "keypress") ? ev.keyCode : 0);
+            },
+
+            /**
+             * Locating the saved event handler data by function ref
+             *
+             * @method _getCacheIndex
+             * @private
+             */
+            _getCacheIndex: function(el, sType, fn) {
+                for (var i=0,len=listeners.length; i<len; ++i) {
+                    var li = listeners[i];
+                    if ( li                 &&
+                         li[this.FN] == fn  &&
+                         li[this.EL] == el  &&
+                         li[this.TYPE] == sType ) {
+                        return i;
+                    }
+                }
+
+                return -1;
+            },
+
+            /**
+             * Generates an unique ID for the element if it does not already
+             * have one.
+             * @method generateId
+             * @param el the element
+             * @return {string} the id of the element
+             */
+            generateId: function(el) {
+                var id = el.id;
+
+                if (!id) {
+                    id = "yuievtautoid-" + counter;
+                    ++counter;
+                    el.id = id;
+                }
+
+                return id;
+            },
+
+            /**
+             * We want to be able to use getElementsByTagName as a collection
+             * to attach a group of events to.  Unfortunately, different
+             * browsers return different types of collections.  This function
+             * tests to determine if the object is array-like.  It will also
+             * fail if the object is an array, but is empty.
+             * @method _isValidCollection
+             * @param o the object to test
+             * @return {boolean} true if the object is array-like and populated
+             * @private
+             */
+            _isValidCollection: function(o) {
+
+                return ( o                    && // o is something
+                         o.length             && // o is indexed
+                         typeof o != "string" && // o is not a string
+                         !o.tagName           && // o is not an HTML element
+                         !o.alert             && // o is not a window
+                         typeof o[0] != "undefined" );
+
+            },
+
+            /**
+             * @private
+             * @property elCache
+             * DOM element cache
+             */
+            elCache: {},
+
+            /**
+             * We cache elements bound by id because when the unload event
+             * fires, we can no longer use document.getElementById
+             * @method getEl
+             * @private
+             */
+            getEl: function(id) {
+                return document.getElementById(id);
+            },
+
+            /**
+             * Clears the element cache
+             * @deprecated
+             * @private
+             */
+            clearCache: function() { },
+
+            /**
+             * hook up any deferred listeners
+             * @method _load
+             * @private
+             */
+            _load: function(e) {
+                loadComplete = true;
+                var EU = YAHOO.util.Event;
+                EU._simpleRemove(window, "load", EU._load);
+            },
+
+            /**
+             * Polling function that runs before the onload event fires,
+             * attempting to attach to DOM Nodes as soon as they are
+             * available
+             * @method _tryPreloadAttach
+             * @private
+             */
+            _tryPreloadAttach: function() {
+
+                if (this.locked) {
+                    return false;
+                }
+
+                this.locked = true;
+
+                // keep trying until after the page is loaded.  We need to
+                // check the page load state prior to trying to bind the
+                // elements so that we can be certain all elements have been
+                // tested appropriately
+                var tryAgain = !loadComplete;
+                if (!tryAgain) {
+                    tryAgain = (retryCount > 0);
+                }
+
+                // Delayed listeners
+                var stillDelayed = [];
+
+                for (var i=0,len=delayedListeners.length; i<len; ++i) {
+                    var d = delayedListeners[i];
+                    // There may be a race condition here, so we need to
+                    // verify the array element is usable.
+                    if (d) {
+
+                        // el will be null if document.getElementById did not
+                        // work
+                        var el = this.getEl(d[this.EL]);
+
+                        if (el) {
+                            this.on(el, d[this.TYPE], d[this.FN],
+                                    d[this.SCOPE], d[this.ADJ_SCOPE]);
+                            delete delayedListeners[i];
+                        } else {
+                            stillDelayed.push(d);
+                        }
+                    }
+                }
+
+                delayedListeners = stillDelayed;
+
+                // onAvailable
+                var notAvail = [];
+                for (i=0,len=onAvailStack.length; i<len ; ++i) {
+                    var item = onAvailStack[i];
+                    if (item) {
+                        el = this.getEl(item.id);
+
+                        if (el) {
+                            var scope = (item.override) ? item.obj : el;
+                            item.fn.call(scope, item.obj);
+                            delete onAvailStack[i];
+                        } else {
+                            notAvail.push(item);
+                        }
+                    }
+                }
+
+                retryCount = (stillDelayed.length === 0 &&
+                                    notAvail.length === 0) ? 0 : retryCount - 1;
+
+                if (tryAgain) {
+                    this.startTimeout();
+                }
+
+                this.locked = false;
+
+                return true;
+
+            },
+
+            /**
+             * Removes all listeners attached to the given element via addListener.
+             * Optionally, the node's children can also be purged.
+             * Optionally, you can specify a specific type of event to remove.
+             * @method purgeElement
+             * @param {HTMLElement} el the element to purge
+             * @param {boolean} recurse recursively purge this element's children
+             * as well.  Use with caution.
+             * @param {string} sType optional type of listener to purge. If
+             * left out, all listeners will be removed
+             */
+            purgeElement: function(el, recurse, sType) {
+                var elListeners = this.getListeners(el, sType);
+                if (elListeners) {
+                    for (var i=0,len=elListeners.length; i<len ; ++i) {
+                        var l = elListeners[i];
+                        // can't use the index on the changing collection
+                        //this.removeListener(el, l.type, l.fn, l.index);
+                        this.removeListener(el, l.type, l.fn);
+                    }
+                }
+
+                if (recurse && el && el.childNodes) {
+                    for (i=0,len=el.childNodes.length; i<len ; ++i) {
+                        this.purgeElement(el.childNodes[i], recurse, sType);
+                    }
+                }
+            },
+
+            /**
+             * Returns all listeners attached to the given element via addListener.
+             * Optionally, you can specify a specific type of event to return.
+             * @method getListeners
+             * @param el {HTMLElement} the element to inspect
+             * @param sType {string} optional type of listener to return. If
+             * left out, all listeners will be returned
+             * @return {Object} the listener. Contains the following fields:
+             *    type:   (string)   the type of event
+             *    fn:     (function) the callback supplied to addListener
+             *    obj:    (object)   the custom object supplied to addListener
+             *    adjust: (boolean)  whether or not to adjust the default scope
+             *    index:  (int)      its position in the Event util listener cache
+             */
+            getListeners: function(el, sType) {
+                var elListeners = [];
+                if (listeners && listeners.length > 0) {
+                    for (var i=0,len=listeners.length; i<len ; ++i) {
+                        var l = listeners[i];
+                        if ( l  && l[this.EL] === el &&
+                                (!sType || sType === l[this.TYPE]) ) {
+                            elListeners.push({
+                                type:   l[this.TYPE],
+                                fn:     l[this.FN],
+                                obj:    l[this.SCOPE],
+                                adjust: l[this.ADJ_SCOPE],
+                                index:  i
+                            });
+                        }
+                    }
+                }
+
+                return (elListeners.length) ? elListeners : null;
+            },
+
+            /**
+             * Removes all listeners registered by pe.event.  Called
+             * automatically during the unload event.
+             * @method _unload
+             * @private
+             */
+            _unload: function(e) {
+
+                var EU = YAHOO.util.Event;
+
+                for (var i=0,len=unloadListeners.length; i<len; ++i) {
+                    var l = unloadListeners[i];
+                    if (l) {
+                        var scope = (l[EU.ADJ_SCOPE]) ? l[EU.SCOPE]: window;
+                        l[EU.FN].call(scope, EU.getEvent(e), l[EU.SCOPE] );
+                        delete unloadListeners[i];
+                        l=null;
+                    }
+                }
+
+                if (listeners && listeners.length > 0) {
+                    //for (i=0,len=listeners.length; i<len ; ++i) {
+                    var j = listeners.length;
+                    while (j) {
+                        var index = j-1;
+                        l = listeners[index];
+                        if (l) {
+                            EU.removeListener(l[EU.EL], l[EU.TYPE],
+                                    l[EU.FN], index);
+                        }
+
+                        l=null;
+
+                        j = j - 1;
+                    }
+
+                    EU.clearCache();
+                }
+
+                for (i=0,len=legacyEvents.length; i<len; ++i) {
+                    // dereference the element
+                    delete legacyEvents[i][0];
+                    // delete the array item
+                    delete legacyEvents[i];
+                }
+
+                EU._simpleRemove(window, "unload", EU._unload);
+
+            },
+
+            /**
+             * Returns scrollLeft
+             * @method _getScrollLeft
+             * @private
+             */
+            _getScrollLeft: function() {
+                return this._getScroll()[1];
+            },
+
+            /**
+             * Returns scrollTop
+             * @method _getScrollTop
+             * @private
+             */
+            _getScrollTop: function() {
+                return this._getScroll()[0];
+            },
+
+            /**
+             * Returns the scrollTop and scrollLeft.  Used to calculate the
+             * pageX and pageY in Internet Explorer
+             * @method _getScroll
+             * @private
+             */
+            _getScroll: function() {
+                var dd = document.documentElement, db = document.body;
+                if (dd && (dd.scrollTop || dd.scrollLeft)) {
+                    return [dd.scrollTop, dd.scrollLeft];
+                } else if (db) {
+                    return [db.scrollTop, db.scrollLeft];
+                } else {
+                    return [0, 0];
+                }
+            },
+
+            /**
+             * Adds a DOM event directly without the caching, cleanup, scope adj, etc
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleAdd: function (el, sType, fn, capture) {
+                if (el.addEventListener) {
+                    el.addEventListener(sType, fn, (capture));
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, fn);
+                }
+            },
+
+            /**
+             * Basic remove listener
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleRemove: function (el, sType, fn, capture) {
+                if (el.removeEventListener) {
+                    el.removeEventListener(sType, fn, (capture));
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, fn);
+                }
+            }
+        };
+
+    } ();
+
+    /**
+     * YAHOO.util.Event.on is an alias for addListener
+     * @method on
+     * @see addListener
+     */
+    YAHOO.util.Event.on = YAHOO.util.Event.addListener;
+
+    if (document && document.body) {
+        YAHOO.util.Event._load();
+    } else {
+        YAHOO.util.Event._simpleAdd(window, "load", YAHOO.util.Event._load);
+    }
+    YAHOO.util.Event._simpleAdd(window, "unload", YAHOO.util.Event._unload);
+    YAHOO.util.Event._tryPreloadAttach();
+}
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/menu.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5313 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/**
+* @class The superclass of all menu containers.
+* @constructor
+* @extends YAHOO.widget.Overlay
+* @base YAHOO.widget.Overlay
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuModule.superclass.constructor.call(
+        this,
+        p_oElement,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuModule, YAHOO.widget.Overlay);
+
+// Private globals
+
+/**
+* Private global flag indicating if the DOM event handlers have been attached
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule._initEventHandlers = true;
+
+/**
+* Private global collection of menus
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menus = {};
+
+/**
+* Private global collection of menu items
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menuItems = {};
+
+/**
+* Generic, global event handler for all of a menu's DOM-based events.  This
+* listens for events against the document object.  If the target of a given
+* event is a member of a menu or menu item's DOM, the instance's corresponding
+* Custom Event is fired.
+* @private
+* @param {Event} p_oEvent Event object passed back by the event
+* utility (YAHOO.util.Event).
+*/
+YAHOO.widget.MenuModule._onDOMEvent = function(p_oEvent) {
+
+    // Create references to the DOM and Event utilities
+
+    var Dom = YAHOO.util.Dom;
+    var Event = YAHOO.util.Event;
+
+    // The target node of the DOM event
+
+    var oTarget = Event.getTarget(p_oEvent);
+
+    // A reference to the root LI node of a menu item
+
+    var oMenuItemRootElement;
+
+    /**
+    * Finds the root DIV node of a menu and the root LI node of a menu item
+    * @private
+    * @param {HTMLElement} p_oElement An HTML element
+    */
+    function getMenuRootElement(p_oElement) {
+
+        var oParentNode;
+
+        switch(p_oElement.tagName) {
+
+            case "DIV":
+
+                oParentNode = p_oElement.parentNode;
+
+                // Check if the DIV is the inner "body" node of a menu
+                if(
+                    Dom.hasClass(p_oElement, "bd") &&
+                    oParentNode &&
+                    oParentNode.tagName == "DIV"
+                ) {
+
+                    return oParentNode;
+
+                }
+                else {
+
+                    return p_oElement;
+
+                }
+
+            break;
+
+            case "LI":
+
+                /*
+                    Capture the root LI node of the menu item and allow
+                    fall through to keep climbing up to find the item's parent
+                    root DIV
+                */
+
+                oMenuItemRootElement = p_oElement;
+
+            default:
+
+                oParentNode = p_oElement.parentNode;
+
+                if(oParentNode) {
+
+                    return getMenuRootElement(oParentNode);
+
+                }
+
+            break;
+
+        }
+
+    }
+
+    // The root DIV node of a menu
+
+    var oMenuRootElement = getMenuRootElement(oTarget);
+
+    if(oMenuRootElement && oMenuRootElement.id) {
+
+        var oMenuItem;
+        var oMenu = YAHOO.widget.MenuModule._menus[oMenuRootElement.id];
+
+        if(oMenuItemRootElement) {
+
+            var sYUIId = oMenuItemRootElement.getAttribute("yuiid");
+
+            if(sYUIId) {
+
+                oMenuItem = YAHOO.widget.MenuModule._menuItems[sYUIId];
+
+            }
+
+        }
+
+        if(oMenu) {
+
+            // Map of DOM event names to CustomEvent names
+
+            var oEventTypes =  {
+                    "click": "clickEvent",
+                    "mousedown": "mouseDownEvent",
+                    "mouseup": "mouseUpEvent",
+                    "mouseover": "mouseOverEvent",
+                    "mouseout": "mouseOutEvent",
+                    "keydown": "keyDownEvent",
+                    "keyup": "keyUpEvent",
+                    "keypress": "keyPressEvent"
+                };
+
+            var sCustomEventType = oEventTypes[p_oEvent.type];
+
+            switch(p_oEvent.type) {
+
+                case "mouseover":
+
+                    if(
+                        !oMenu._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenu.element ||
+                            Dom.isAncestor(oMenu.element, oTarget)
+                        )
+                    ) {
+
+                        oMenu.mouseOverEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOverEvent = true;
+                        oMenu._bFiredMouseOutEvent = false;
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenuItem.element ||
+                            Dom.isAncestor(oMenuItem.element, oTarget)
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        oMenuItem.mouseOverEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOverEvent = true;
+                        oMenuItem._bFiredMouseOutEvent = false;
+
+                    }
+
+                break;
+
+                case "mouseout":
+
+                    var oRelatedTarget = Event.getRelatedTarget(p_oEvent);
+                    var bMovingToSubmenu = false;
+
+                    if(oMenuItem) {
+
+                        var oSubmenu = oMenuItem.cfg.getProperty("submenu");
+
+                        if(
+                            oSubmenu &&
+                            (
+                                oRelatedTarget == oSubmenu.element ||
+                                Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                            )
+                        ) {
+
+                            bMovingToSubmenu = true;
+
+                        }
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenuItem.element &&
+                                !Dom.isAncestor(
+                                    oMenuItem.element,
+                                    oRelatedTarget
+                                )
+                            ) || bMovingToSubmenu
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        // Fire the "mouseout" Custom Event for the item
+
+                        oMenuItem.mouseOutEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOutEvent = true;
+                        oMenuItem._bFiredMouseOverEvent = false;
+
+                    }
+
+                    if(
+                        !oMenu._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenu.element &&
+                                !Dom.isAncestor(oMenu.element, oRelatedTarget)
+                            )
+                            || bMovingToSubmenu
+                        )
+                    ) {
+
+                        oMenu.mouseOutEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOutEvent = true;
+                        oMenu._bFiredMouseOverEvent = false;
+
+                    }
+
+                break;
+
+                default:
+
+                    if(oMenuItem && !oMenuItem.cfg.getProperty("disabled")) {
+
+                        oMenuItem[sCustomEventType].fire(p_oEvent);
+
+                    }
+
+                    oMenu[sCustomEventType].fire(p_oEvent);
+
+                break;
+
+            }
+
+        }
+
+    }
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuModule instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.CSS_CLASS_NAME = "yuimenu";
+
+/**
+* Constant representing the type of item to instantiate and add when parsing
+* the child nodes (either HTMLLIElement, HTMLOptGroupElement or
+* HTMLOptionElement) of a menu's DOM.  The default
+* is YAHOO.widget.MenuModuleItem.
+* @final
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.ITEM_TYPE = null;
+
+/**
+* Constant representing the tagname of the HTMLElement used to title
+* a group of items.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.GROUP_TITLE_TAG_NAME = "H6";
+
+// Private properties
+
+/**
+* The current state of a MenuModule instance's "mouseover" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOverEvent = false;
+
+/**
+* The current state of a MenuModule instance's "mouseout" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOutEvent = false;
+
+/**
+* Array of HTMLElements used to title groups of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aGroupTitleElements = null;
+
+/**
+* Multi-dimensional array of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aItemGroups = null;
+
+/**
+* An array of HTMLUListElements, each of which is the parent node of each
+* items's HTMLLIElement node.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aListElements = null;
+
+/**
+* Reference to the Event utility singleton.
+* @private
+* @type {YAHOO.util.Event}
+*/
+YAHOO.widget.MenuModule.prototype._oEventUtil = YAHOO.util.Event;
+
+/**
+* Reference to the Dom utility singleton.
+* @private
+* @type {YAHOO.util.Dom}
+*/
+YAHOO.widget.MenuModule.prototype._oDom = YAHOO.util.Dom;
+
+// Public properties
+
+/**
+* Reference to the item that has focus.
+* @private
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.activeItem = null;
+
+/**
+* Returns a MenuModule instance's parent object.
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.parent = null;
+
+/**
+* Returns the HTMLElement (either HTMLSelectElement or HTMLDivElement)
+* used create the MenuModule instance.
+* @type {HTMLSelectElement/HTMLDivElement}
+*/
+YAHOO.widget.MenuModule.prototype.srcElement = null;
+
+// Events
+
+/**
+* Fires when the mouse has entered a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOverEvent = null;
+
+/**
+* Fires when the mouse has left a MenuModule instance.  Passes back the DOM
+* Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOutEvent = null;
+
+/**
+* Fires when the user mouses down on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseDownEvent = null;
+
+/**
+* Fires when the user releases a mouse button while the mouse is over
+* a MenuModule instance.  Passes back the DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseUpEvent = null;
+
+/**
+* Fires when the user clicks the on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.clickEvent = null;
+
+/**
+* Fires when the user presses an alphanumeric key.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyPressEvent = null;
+
+/**
+* Fires when the user presses a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyDownEvent = null;
+
+/**
+* Fires when the user releases a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyUpEvent = null;
+
+/**
+* The MenuModule class's initialization method. This method is automatically
+* called  by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule.prototype.init = function(p_oElement, p_oConfig) {
+
+    var Dom = this._oDom;
+    var Event = this._oEventUtil;
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+    }
+
+    this._aItemGroups = [];
+    this._aListElements = [];
+    this._aGroupTitleElements = [];
+
+    var oElement;
+
+    if(typeof p_oElement == "string") {
+
+        oElement = document.getElementById(p_oElement);
+
+    }
+    else if(p_oElement.tagName) {
+
+        oElement = p_oElement;
+
+    }
+
+    if(oElement) {
+
+        switch(oElement.tagName) {
+
+            case "DIV":
+
+                this.srcElement = oElement;
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, oElement);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+                /*
+                    Populate the collection of item groups and item
+                    group titles
+                */
+
+                var oNode = this.body.firstChild;
+                var i = 0;
+
+                do {
+
+                    switch(oNode.tagName) {
+
+                        case this.GROUP_TITLE_TAG_NAME:
+
+                            this._aGroupTitleElements[i] = oNode;
+
+                        break;
+
+                        case "UL":
+
+                            this._aListElements[i] = oNode;
+                            this._aItemGroups[i] = [];
+                            i++;
+
+                        break;
+
+                    }
+
+                }
+                while((oNode = oNode.nextSibling));
+
+                /*
+                    Apply the "first-of-type" class to the first UL to mimic
+                    the "first-of-type" CSS3 psuedo class.
+                */
+
+                if(this._aListElements[0]) {
+
+                    Dom.addClass(this._aListElements[0], "first-of-type");
+
+                }
+
+
+
+            break;
+
+            case "SELECT":
+
+                this.srcElement = oElement;
+
+
+                /*
+                    The source element is not something that we can use
+                    outright, so we need to create a new Overlay
+                */
+
+                var sId = Dom.generateId();
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, sId);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+            break;
+
+        }
+
+    }
+    else {
+
+        /*
+            Note: we don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.MenuModule.superclass.init.call(this, p_oElement);
+
+        this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+    }
+
+    if(this.element) {
+
+        var oEl = this.element;
+        var CustomEvent = YAHOO.util.CustomEvent;
+
+        Dom.addClass(oEl, this.CSS_CLASS_NAME);
+
+        // Assign DOM event handlers
+
+        if(YAHOO.widget.MenuModule._initEventHandlers) {
+
+            var oDoc = document;
+            var onDOMEvent = YAHOO.widget.MenuModule._onDOMEvent;
+
+            Event.addListener(oDoc, "mouseover", onDOMEvent);
+            Event.addListener(oDoc, "mouseout", onDOMEvent);
+            Event.addListener(oDoc, "mousedown", onDOMEvent);
+            Event.addListener(oDoc, "mouseup", onDOMEvent);
+            Event.addListener(oDoc, "click", onDOMEvent);
+            Event.addListener(oDoc, "keydown", onDOMEvent);
+            Event.addListener(oDoc, "keyup", onDOMEvent);
+            Event.addListener(oDoc, "keypress", onDOMEvent);
+
+            YAHOO.widget.MenuModule._initEventHandlers = false;
+
+        }
+
+        // Create custom events
+
+        this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+        this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+        this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+        this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+        this.clickEvent = new CustomEvent("clickEvent", this);
+        this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+        this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+        this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+
+        // Subscribe to Custom Events
+
+        this.initEvent.subscribe(this._onInit, this, true);
+        this.beforeRenderEvent.subscribe(this._onBeforeRender, this, true);
+        this.renderEvent.subscribe(this._onRender, this, true);
+        this.showEvent.subscribe(this._onShow, this, true);
+        this.beforeHideEvent.subscribe(this._onBeforeHide, this, true);
+
+        if(p_oConfig) {
+
+            this.cfg.applyConfig(p_oConfig, true);
+
+        }
+
+        this.cfg.queueProperty("visible", false);
+
+        if(this.srcElement) {
+
+            this._initSubTree();
+
+        }
+
+        YAHOO.widget.MenuModule._menus[oEl.id] = this;
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuModule);
+
+};
+
+// Private methods
+
+/**
+* Iterates the source element's childNodes collection and uses the child
+* nodes to instantiate MenuModule and MenuModuleItem instances.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._initSubTree = function() {
+
+    var oNode;
+
+
+    switch(this.srcElement.tagName) {
+
+        case "DIV":
+
+            if(this._aListElements.length > 0) {
+
+
+                var i = this._aListElements.length - 1;
+
+                do {
+
+                    oNode = this._aListElements[i].firstChild;
+
+
+                    do {
+
+                        switch(oNode.tagName) {
+
+                            case "LI":
+
+
+                                this.addItem(new this.ITEM_TYPE(oNode), i);
+
+                            break;
+
+                        }
+
+                    }
+                    while((oNode = oNode.nextSibling));
+
+                }
+                while(i--);
+
+            }
+
+        break;
+
+        case "SELECT":
+
+
+            oNode = this.srcElement.firstChild;
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "OPTGROUP":
+                    case "OPTION":
+
+
+                        this.addItem(new this.ITEM_TYPE(oNode));
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+        break;
+
+    }
+
+};
+
+/**
+* Returns the first enabled item in a menu instance.
+* @return Returns a MenuModuleItem instance.
+* @type YAHOO.widget.MenuModuleItem
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getFirstEnabledItem = function() {
+
+    var nGroups = this._aItemGroups.length;
+    var oItem;
+    var aItemGroup;
+
+    for(var i=0; i<nGroups; i++) {
+
+        aItemGroup = this._aItemGroups[i];
+
+        if(aItemGroup) {
+
+            var nItems = aItemGroup.length;
+
+            for(var n=0; n<nItems; n++) {
+
+                oItem = aItemGroup[n];
+
+                if(
+                    !oItem.cfg.getProperty("disabled") &&
+                    oItem.element.style.display != "none"
+                ) {
+
+                    return oItem;
+
+                }
+
+                oItem = null;
+
+            }
+
+        }
+
+    }
+
+};
+
+/**
+* Determines if the value is one of the supported positions.
+* @private
+* @param {Object} p_sPosition The object to be evaluated.
+* @return Returns true if the position is supported.
+* @type Boolean
+*/
+YAHOO.widget.MenuModule.prototype._checkPosition = function(p_sPosition) {
+
+    if(typeof p_sPosition == "string") {
+
+        var sPosition = p_sPosition.toLowerCase();
+
+        return ("dynamic,static".indexOf(sPosition) != -1);
+
+    }
+
+};
+
+/**
+* Adds an item to a group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nItemIndex Optional. Index at which the item
+* should be added.
+* @return The item that was added.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._addItemToGroup =
+
+    function(p_nGroupIndex, p_oItem, p_nItemIndex) {
+
+        var Dom = this._oDom;
+        var oItem;
+
+        if(p_oItem instanceof this.ITEM_TYPE) {
+
+            oItem = p_oItem;
+
+        }
+        else if(typeof p_oItem == "string") {
+
+            oItem = new this.ITEM_TYPE(p_oItem);
+
+        }
+
+        if(oItem) {
+
+            var sYUIId = Dom.generateId();
+
+            oItem.element.setAttribute("yuiid", sYUIId);
+
+            YAHOO.widget.MenuModule._menuItems[sYUIId] = oItem;
+
+            var nGroupIndex = typeof p_nGroupIndex == "number" ?
+                    p_nGroupIndex : 0;
+
+            var aGroup = this._getItemGroup(nGroupIndex);
+
+            var oGroupItem;
+
+
+            if(!aGroup) {
+
+                aGroup = this._createItemGroup(nGroupIndex);
+
+            }
+
+            if(typeof p_nItemIndex == "number") {
+
+                var bAppend = (p_nItemIndex >= aGroup.length);
+
+
+                if(aGroup[p_nItemIndex]) {
+
+                    aGroup.splice(p_nItemIndex, 0, oItem);
+
+                }
+                else {
+
+                    aGroup[p_nItemIndex] = oItem;
+
+                }
+
+
+                oGroupItem = aGroup[p_nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        bAppend &&
+                        (
+                            !oGroupItem.element.parentNode ||
+                            oGroupItem.element.parentNode.nodeType == 11
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+                    else {
+
+
+                        /**
+                        * Returns the next sibling of an item in an array
+                        * @param {p_aArray} An array
+                        * @param {p_nStartIndex} The index to start searching
+                        * the array
+                        * @ignore
+                        * @return Returns an item in an array
+                        * @type Object
+                        */
+                        function getNextItemSibling(p_aArray, p_nStartIndex) {
+
+                            return (
+                                    p_aArray[p_nStartIndex] ||
+                                    getNextItemSibling(
+                                        p_aArray,
+                                        (p_nStartIndex+1)
+                                    )
+                                );
+
+                        }
+
+
+                        var oNextItemSibling =
+                                getNextItemSibling(aGroup, (p_nItemIndex+1));
+
+                        if(
+                            oNextItemSibling &&
+                            (
+                                !oGroupItem.element.parentNode ||
+                                oGroupItem.element.parentNode.nodeType == 11
+                            )
+                        ) {
+
+                            this._aListElements[nGroupIndex].insertBefore(
+                                    oGroupItem.element,
+                                    oNextItemSibling.element
+                                );
+
+                        }
+
+                    }
+
+
+                    oGroupItem.parent = this;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    this._updateItemProperties(nGroupIndex);
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+            else {
+
+                var nItemIndex = aGroup.length;
+
+                aGroup[nItemIndex] = oItem;
+
+
+                oGroupItem = aGroup[nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        !Dom.isAncestor(
+                            this._aListElements[nGroupIndex],
+                            oGroupItem.element
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+
+                    oGroupItem.element.setAttribute("groupindex", nGroupIndex);
+                    oGroupItem.element.setAttribute("index", nItemIndex);
+
+                    oGroupItem.parent = this;
+
+                    oGroupItem.index = nItemIndex;
+                    oGroupItem.groupIndex = nGroupIndex;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    if(nItemIndex === 0) {
+
+                        Dom.addClass(oGroupItem.element, "first-of-type");
+
+                    }
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes an item from a group by index.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {Number} p_nItemIndex Number indicating the index of the item to
+* be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByIndex =
+
+    function(p_nGroupIndex, p_nItemIndex) {
+
+        var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+        var aGroup = this._getItemGroup(nGroupIndex);
+
+        if(aGroup) {
+
+            var aArray = aGroup.splice(p_nItemIndex, 1);
+            var oItem = aArray[0];
+
+            if(oItem) {
+
+                // Update the index and className properties of each member
+
+                this._updateItemProperties(nGroupIndex);
+
+                if(aGroup.length === 0) {
+
+                    // Remove the UL
+
+                    var oUL = this._aListElements[nGroupIndex];
+
+                    if(this.body && oUL) {
+
+                        this.body.removeChild(oUL);
+
+                    }
+
+                    // Remove the group from the array of items
+
+                    this._aItemGroups.splice(nGroupIndex, 1);
+
+
+                    // Remove the UL from the array of ULs
+
+                    this._aListElements.splice(nGroupIndex, 1);
+
+
+                    /*
+                         Assign the "first-of-type" class to the new first UL
+                         in the collection
+                    */
+
+                    oUL = this._aListElements[0];
+
+                    if(oUL) {
+
+                        this._oDom.addClass(oUL, "first-of-type");
+
+                    }
+
+                }
+
+
+                // Return a reference to the item that was removed
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes a item from a group by reference.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByValue =
+
+    function(p_nGroupIndex, p_oItem) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+
+        if(aGroup) {
+
+            var nItems = aGroup.length;
+            var nItemIndex = -1;
+
+            if(nItems > 0) {
+
+                var i = nItems-1;
+
+                do {
+
+                    if(aGroup[i] == p_oItem) {
+
+                        nItemIndex = i;
+                        break;
+
+                    }
+
+                }
+                while(i--);
+
+                if(nItemIndex > -1) {
+
+                    return this._removeItemFromGroupByIndex(
+                                p_nGroupIndex,
+                                nItemIndex
+                            );
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Updates the index, groupindex, and className properties of the items
+* in the specified group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group of items to update.
+*/
+YAHOO.widget.MenuModule.prototype._updateItemProperties =
+
+    function(p_nGroupIndex) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+        var nItems = aGroup.length;
+
+        if(nItems > 0) {
+
+            var Dom = this._oDom;
+            var i = nItems - 1;
+            var oItem;
+            var oLI;
+
+            // Update the index and className properties of each member
+
+            do {
+
+                oItem = aGroup[i];
+
+                if(oItem) {
+
+                    oLI = oItem.element;
+
+                    oItem.index = i;
+                    oItem.groupIndex = p_nGroupIndex;
+
+                    oLI.setAttribute("groupindex", p_nGroupIndex);
+                    oLI.setAttribute("index", i);
+
+                    Dom.removeClass(oLI, "first-of-type");
+
+                }
+
+            }
+            while(i--);
+
+
+            if(oLI) {
+
+                Dom.addClass(oLI, "first-of-type");
+
+            }
+
+        }
+
+    };
+
+/**
+* Creates a new item group (array) and it's associated HTMLUlElement node
+* @private
+* @param {Number} p_nIndex Number indicating the group to create.
+* @return An item group.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._createItemGroup = function(p_nIndex) {
+
+    if(!this._aItemGroups[p_nIndex]) {
+
+        this._aItemGroups[p_nIndex] = [];
+
+        var oUL = document.createElement("ul");
+
+        this._aListElements[p_nIndex] = oUL;
+
+        return this._aItemGroups[p_nIndex];
+
+    }
+
+};
+
+/**
+* Returns the item group at the specified index.
+* @private
+* @param {Number} p_nIndex Number indicating the index of the item group to
+* be retrieved.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._getItemGroup = function(p_nIndex) {
+
+    var nIndex = ((typeof p_nIndex == "number") ? p_nIndex : 0);
+
+    return this._aItemGroups[nIndex];
+
+};
+
+/**
+* Subscribe's a MenuModule instance to it's parent MenuModule instance's events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen
+* for events on.
+*/
+YAHOO.widget.MenuModule.prototype._configureItemSubmenuModule =
+
+    function(p_oItem) {
+
+        var oSubmenu = p_oItem.cfg.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            /*
+                Listen for configuration changes to the parent MenuModule
+                instance so they they can be applied to the submenu.
+            */
+
+            this.cfg.configChangedEvent.subscribe(
+                this._onParentMenuModuleConfigChange,
+                oSubmenu,
+                true
+            );
+
+            this.renderEvent.subscribe(
+                this._onParentMenuModuleRender,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.beforeShowEvent.subscribe(
+                this._onSubmenuBeforeShow,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.showEvent.subscribe(this._onSubmenuShow, oSubmenu, true);
+
+            oSubmenu.hideEvent.subscribe(this._onSubmenuHide, oSubmenu, true);
+
+        }
+
+};
+
+/**
+* Subscribes a MenuModule instance to the specified item's Custom Events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen for events on.
+*/
+YAHOO.widget.MenuModule.prototype._subscribeToItemEvents = function(p_oItem) {
+
+    var aArguments = [this, p_oItem];
+
+    p_oItem.focusEvent.subscribe(this._onItemFocus, aArguments);
+
+    p_oItem.blurEvent.subscribe(this._onItemBlur, aArguments);
+
+    p_oItem.cfg.configChangedEvent.subscribe(
+        this._onItemConfigChange,
+        aArguments
+    );
+
+};
+
+/**
+* Returns the offset width of a MenuModule instance.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getOffsetWidth = function() {
+
+    var oClone = this.element.cloneNode(true);
+
+    this._oDom.setStyle(oClone, "width", "");
+
+    document.body.appendChild(oClone);
+
+    var sWidth = oClone.offsetWidth;
+
+    document.body.removeChild(oClone);
+
+    return sWidth;
+
+};
+
+// Private Custom Event handlers
+
+/**
+* "init" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onInit =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = (this.cfg.getProperty("position") == "static") ?
+                "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* "beforerender" Custom Event handler for a MenuModule instance.  Appends all
+* of the HTMLUListElement (&#60;UL&#60;s) nodes (and their child
+* HTMLLIElement (&#60;LI&#60;)) nodes and their accompanying title nodes to
+* the body of the MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+        var oEl = this.element;
+        var nListElements = this._aListElements.length;
+
+
+        if(oConfig.getProperty("position") == "static") {
+
+            oConfig.queueProperty("iframe", false);
+            oConfig.queueProperty("visible", true);
+
+        }
+
+
+        if(nListElements > 0) {
+
+            var i = 0;
+            var bFirstList = true;
+            var oUL;
+            var oGroupTitle;
+
+
+            do {
+
+                oUL = this._aListElements[i];
+
+                if(oUL) {
+
+                    if(bFirstList) {
+
+                        Dom.addClass(oUL, "first-of-type");
+                        bFirstList = false;
+
+                    }
+
+
+                    if(!Dom.isAncestor(oEl, oUL)) {
+
+                        this.appendToBody(oUL);
+
+                    }
+
+
+                    oGroupTitle = this._aGroupTitleElements[i];
+
+                    if(oGroupTitle) {
+
+                        if(!Dom.isAncestor(oEl, oGroupTitle)) {
+
+                            oUL.parentNode.insertBefore(oGroupTitle, oUL);
+
+                        }
+
+
+                        Dom.addClass(oUL, "hastitle");
+
+                    }
+
+                }
+
+                i++;
+
+            }
+            while(i < nListElements);
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var sWidth = this.element.parentNode.tagName == "BODY" ?
+                    this.element.offsetWidth : this._getOffsetWidth();
+
+            this.cfg.setProperty("width", (sWidth + "px"));
+
+        }
+
+    };
+
+/**
+* "show" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onShow =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        /*
+            Setting focus to an item in the newly visible submenu alerts the
+            contents of the submenu to the screen reader.
+        */
+
+        this.setInitialFocus();
+
+    };
+
+/**
+* "hide" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeHide =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var oActiveItem = this.activeItem;
+
+        if(oActiveItem) {
+
+            oActiveItem.blur();
+
+            if(oActiveItem.cfg.getProperty("selected")) {
+
+                oActiveItem.cfg.setProperty("selected", false);
+
+            }
+
+            var oSubmenu = oActiveItem.cfg.getProperty("submenu");
+
+            if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "configchange" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleConfigChange =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var sPropertyName = p_aArgs[0][0];
+        var oPropertyValue = p_aArgs[0][1];
+
+        switch(sPropertyName) {
+
+            case "iframe":
+            case "constraintoviewport":
+
+                p_oSubmenu.cfg.setProperty(sPropertyName, oPropertyValue);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.  Renders a
+* submenu in response to the firing of it's parent's "render" event.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleRender =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        /*
+            Set the "constraintoviewport" configuration
+            property to match the parent MenuModule
+        */
+
+        var oParentMenu = p_oSubmenu.parent.parent;
+
+        var oConfig = {
+
+                constraintoviewport:
+                    oParentMenu.cfg.getProperty("constraintoviewport"),
+
+                xy: [0,0]
+
+            };
+
+        /*
+            Only sync the "iframe" configuration property if the parent
+            MenuModule instance's position is of the same value
+        */
+
+        if(
+            this.cfg.getProperty("position") ==
+            oParentMenu.cfg.getProperty("position")
+        ) {
+
+            oConfig.iframe = oParentMenu.cfg.getProperty("iframe");
+
+        }
+
+
+        p_oSubmenu.cfg.applyConfig(oConfig);
+
+
+        if(this._oDom.inDocument(this.element)) {
+
+            this.render();
+
+        }
+        else {
+
+            this.render(this.parent.element);
+
+        }
+
+    };
+
+/**
+* "beforeshow" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuBeforeShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+        var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+        this.cfg.setProperty(
+            "context",
+            [
+                oParent.element,
+                aAlignment[0],
+                aAlignment[1]
+            ]
+        );
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "show" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "hide" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuHide =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        if(oParent.parent.cfg.getProperty("visible")) {
+
+            oParent.cfg.setProperty("selected", false);
+
+            oParent.focus();
+
+        }
+
+        oParent.submenuIndicator.alt =
+            oParent.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "focus" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemFocus =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+
+        me.activeItem = oItem;
+
+    };
+
+/**
+* "blur" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemBlur =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+        var oSubmenu = oItem.cfg.getProperty("submenu");
+
+        if(!oSubmenu || (oSubmenu && !oSubmenu.cfg.getProperty("visible"))) {
+
+            me.activeItem = null;
+
+        }
+
+    };
+
+/**
+* "configchange" YAHOO.util.CustomEvent handler for the MenuModule
+* instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemConfigChange =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var sProperty = p_aArgs[0][0];
+        var oItem = p_aObjects[1];
+
+        switch(sProperty) {
+
+            case "submenu":
+
+                var oSubmenu = p_aArgs[0][1];
+
+                if(oSubmenu) {
+
+                    me._configureItemSubmenuModule(oItem);
+
+                }
+
+            break;
+
+            case "text":
+            case "helptext":
+
+                /*
+                    A change to an item's "text" or "helptext"
+                    configuration properties requires the width of the parent
+                    MenuModule instance to be recalculated.
+                */
+
+                if(me.element.style.width) {
+
+                    var sWidth = me._getOffsetWidth() + "px";
+
+                    me._oDom.setStyle(me.element, "width", sWidth);
+
+                }
+
+            break;
+
+        }
+
+    };
+
+/**
+* The default event handler executed when the moveEvent is fired, if the
+* "constraintoviewport" configuration property is set to true.
+*/
+YAHOO.widget.MenuModule.prototype.enforceConstraints =
+
+    function(type, args, obj) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+
+        var pos = args[0];
+
+        var x = pos[0];
+        var y = pos[1];
+
+        var bod = document.getElementsByTagName('body')[0];
+        var htm = document.getElementsByTagName('html')[0];
+
+        var bodyOverflow = Dom.getStyle(bod, "overflow");
+        var htmOverflow = Dom.getStyle(htm, "overflow");
+
+        var offsetHeight = this.element.offsetHeight;
+        var offsetWidth = this.element.offsetWidth;
+
+        var viewPortWidth = Dom.getClientWidth();
+        var viewPortHeight = Dom.getClientHeight();
+
+        var scrollX = window.scrollX || document.body.scrollLeft;
+        var scrollY = window.scrollY || document.body.scrollTop;
+
+        var topConstraint = scrollY + 10;
+        var leftConstraint = scrollX + 10;
+        var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+        var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+        var aContext = oConfig.getProperty("context");
+        var oContextElement = aContext ? aContext[0] : null;
+
+
+        if (x < 10) {
+
+            x = leftConstraint;
+
+        } else if ((x + offsetWidth) > viewPortWidth) {
+
+            if(
+                oContextElement &&
+                ((x - oContextElement.offsetWidth) > offsetWidth)
+            ) {
+
+                x = (x - (oContextElement.offsetWidth + offsetWidth));
+
+            }
+            else {
+
+                x = rightConstraint;
+
+            }
+
+        }
+
+        if (y < 10) {
+
+            y = topConstraint;
+
+        } else if (y > bottomConstraint) {
+
+            if(oContextElement && (y > offsetHeight)) {
+
+                y = ((y + oContextElement.offsetHeight) - offsetHeight);
+
+            }
+            else {
+
+                y = bottomConstraint;
+
+            }
+
+        }
+
+        oConfig.setProperty("x", x, true);
+        oConfig.setProperty("y", y, true);
+
+    };
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "position" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype.configPosition =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = p_aArgs[0] == "static" ? "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* Event handler for when the "iframe" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+* @see YAHOO.widget.Overlay#configIframe
+*/
+YAHOO.widget.MenuModule.prototype.configIframe =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            YAHOO.widget.MenuModule.superclass.configIframe.call(
+                this,
+                p_sType,
+                p_aArgs,
+                p_oMenuModule
+            );
+
+        }
+
+    };
+
+// Public methods
+
+YAHOO.widget.MenuModule.prototype.toString = function() {
+
+    return ("Menu " + this.id);
+
+};
+
+/**
+* Sets the title of a group of items.
+* @param {String} p_sGroupTitle The title of the group.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the title belongs.
+*/
+YAHOO.widget.MenuModule.prototype.setItemGroupTitle =
+
+    function(p_sGroupTitle, p_nGroupIndex) {
+
+        if(typeof p_sGroupTitle == "string" && p_sGroupTitle.length > 0) {
+
+            var Dom = this._oDom;
+
+            var nGroupIndex =
+                    typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+
+            var oTitle = this._aGroupTitleElements[nGroupIndex];
+
+
+            if(oTitle) {
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+            }
+            else {
+
+                oTitle = document.createElement(this.GROUP_TITLE_TAG_NAME);
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+                this._aGroupTitleElements[nGroupIndex] = oTitle;
+
+            }
+
+
+            var i = this._aGroupTitleElements.length - 1;
+            var nFirstIndex;
+
+            do {
+
+                if(this._aGroupTitleElements[i]) {
+
+                    Dom.removeClass(
+                        this._aGroupTitleElements[i],
+                        "first-of-type"
+                    );
+
+                    nFirstIndex = i;
+
+                }
+
+            }
+            while(i--);
+
+
+            if(nFirstIndex !== null) {
+
+                Dom.addClass(
+                    this._aGroupTitleElements[nFirstIndex],
+                    "first-of-type"
+                );
+
+            }
+
+        }
+
+    };
+
+/**
+* Appends the specified item to a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was added to the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.addItem = function(p_oItem, p_nGroupIndex) {
+
+    if(p_oItem) {
+
+        return this._addItemToGroup(p_nGroupIndex, p_oItem);
+
+    }
+
+};
+
+/**
+* Inserts an item into a MenuModule instance at the specified index.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be inserted.
+* @param {Number} p_nItemIndex Number indicating the ordinal position
+* at which the item should be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was inserted into the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.insertItem =
+
+    function(p_oItem, p_nItemIndex, p_nGroupIndex) {
+
+        if(p_oItem) {
+
+            return this._addItemToGroup(p_nGroupIndex, p_oItem, p_nItemIndex);
+
+        }
+
+    };
+
+/**
+* Removes the specified item from a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem/Number} p_oObject The item or index of
+* the item to be removed.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was removed from the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.removeItem =
+
+    function(p_oObject, p_nGroupIndex) {
+
+        if(typeof p_oObject != "undefined") {
+
+            var oItem;
+
+            if(p_oObject instanceof YAHOO.widget.MenuModuleItem) {
+
+                oItem =
+                    this._removeItemFromGroupByValue(p_nGroupIndex, p_oObject);
+
+            }
+            else if(typeof p_oObject == "number") {
+
+                oItem =
+                    this._removeItemFromGroupByIndex(p_nGroupIndex, p_oObject);
+
+            }
+
+            if(oItem) {
+
+                oItem.destroy();
+
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Returns a multi-dimensional array of all of a MenuModule's items.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype.getItemGroups = function() {
+
+    return this._aItemGroups;
+
+};
+
+/**
+* Returns the item at the specified index.
+* @param {Number} p_nItemIndex Number indicating the ordinal position of the
+* item to be retrieved.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return An item.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.getItem =
+
+    function(p_nItemIndex, p_nGroupIndex) {
+
+        if(typeof p_nItemIndex == "number") {
+
+            var aGroup = this._getItemGroup(p_nGroupIndex);
+
+            if(aGroup) {
+
+                return aGroup[p_nItemIndex];
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes the MenuModule instance's element from the DOM and sets all child
+* elements to null.
+*/
+YAHOO.widget.MenuModule.prototype.destroy = function() {
+
+    // Remove Custom Event listeners
+
+    this.mouseOverEvent.unsubscribeAll();
+    this.mouseOutEvent.unsubscribeAll();
+    this.mouseDownEvent.unsubscribeAll();
+    this.mouseUpEvent.unsubscribeAll();
+    this.clickEvent.unsubscribeAll();
+    this.keyPressEvent.unsubscribeAll();
+    this.keyDownEvent.unsubscribeAll();
+    this.keyUpEvent.unsubscribeAll();
+
+    var nItemGroups = this._aItemGroups.length;
+    var nItems;
+    var oItemGroup;
+    var oItem;
+    var i;
+    var n;
+
+    // Remove all items
+
+    if(nItemGroups > 0) {
+
+        i = nItemGroups - 1;
+
+        do {
+
+            oItemGroup = this._aItemGroups[i];
+
+            if(oItemGroup) {
+
+                nItems = oItemGroup.length;
+
+                if(nItems > 0) {
+
+                    n = nItems - 1;
+
+                    do {
+
+                        oItem = this._aItemGroups[i][n];
+
+                        if(oItem) {
+
+                            oItem.destroy();
+                        }
+
+                    }
+                    while(n--);
+
+                }
+
+            }
+
+        }
+        while(i--);
+
+    }
+
+    // Continue with the superclass implementation of this method
+
+    YAHOO.widget.MenuModule.superclass.destroy.call(this);
+
+
+};
+
+/**
+* Sets focus to a MenuModule instance's first enabled item.
+*/
+YAHOO.widget.MenuModule.prototype.setInitialFocus = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.focus();
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's first
+* enabled item to "true."
+*/
+YAHOO.widget.MenuModule.prototype.setInitialSelection = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.cfg.setProperty("selected", true);
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's active
+* item to "false," blurs the item and hide's the item's submenu.
+*/
+YAHOO.widget.MenuModule.prototype.clearActiveItem = function () {
+
+    if(this.activeItem) {
+
+        var oConfig = this.activeItem.cfg;
+
+        oConfig.setProperty("selected", false);
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.hide();
+
+        }
+
+    }
+
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuModule.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuModule.superclass.initDefaultConfig.call(this);
+
+    var oConfig = this.cfg;
+
+	// Add configuration properties
+
+    oConfig.addProperty(
+        "position",
+        {
+            value: "dynamic",
+            handler: this.configPosition,
+            validator: this._checkPosition
+        }
+    );
+
+//    this.cfg.refireEvent("position");
+
+    oConfig.addProperty("submenualignment", { value: ["tl","tr"] } );
+
+};
+
+/**
+* @class The MenuModuleItem class allows you to create and modify an item for a
+* MenuModule instance.
+* @constructor
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuModuleItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuModuleItem = function(p_oObject, p_oConfig) {
+
+    if(p_oObject) {
+
+        this.init(p_oObject, p_oConfig);
+
+    }
+
+};
+
+YAHOO.widget.MenuModuleItem.prototype = {
+
+    // Constants
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator.
+    * @final
+    * @type String
+    */
+    SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_nrm_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is selected.
+    * @final
+    * @type String
+    */
+    SELECTED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_hov_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_dim_1.gif",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator.
+    * @final
+    * @type String
+    */
+    COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT: "Collapsed.  Click to expand.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when the submenu is visible.
+    * @final
+    * @type String
+    */
+    EXPANDED_SUBMENU_INDICATOR_ALT_TEXT: "Expanded.  Click to collapse.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_ALT_TEXT: "Disabled.",
+
+    /**
+    * Constant representing the CSS class(es) to be applied to the root
+    * HTMLLIElement of the MenuModuleItem.
+    * @final
+    * @type String
+    */
+    CSS_CLASS_NAME: "yuimenuitem",
+
+    /**
+    * Constant representing the type of menu to instantiate when creating
+    * submenu instances from parsing the child nodes (either HTMLSelectElement
+    * or HTMLDivElement) of the item's DOM.  The default
+    * is YAHOO.widget.MenuModule.
+    * @final
+    * @type YAHOO.widget.MenuModule
+    */
+    SUBMENU_TYPE: null,
+
+    /**
+    * Constant representing the type of item to instantiate when
+    * creating item instances from parsing the child nodes (either
+    * HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * submenu's DOM.
+    * The default is YAHOO.widget.MenuModuleItem.
+    * @final
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    SUBMENU_ITEM_TYPE: null,
+
+    /**
+    * Constant representing the prefix path to use for non-secure images
+    * @type string
+    */
+    IMG_ROOT: "http://us.i1.yimg.com/us.yimg.com/i/",
+
+
+    /**
+    * Constant representing the prefix path to use for securely served images
+    * @type string
+    */
+    IMG_ROOT_SSL: "https://a248.e.akamai.net/sec.yimg.com/i/",
+
+    // Private member variables
+
+    /**
+    * Reference to the HTMLAnchorElement of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {HTMLAnchorElement}
+    */
+    _oAnchor: null,
+
+
+    /**
+    * Reference to the text node of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {Text}
+    */
+    _oText: null,
+
+
+    /**
+    * Reference to the HTMLElement (&#60;EM&#60;) used to create the optional
+    * help text for a MenuModuleItem instance.
+    * @private
+    * @type {HTMLElement}
+    */
+    _oHelpTextEM: null,
+
+
+    /**
+    * Reference to the submenu for a MenuModuleItem instance.
+    * @private
+    * @type {YAHOO.widget.MenuModule}
+    */
+    _oSubmenu: null,
+
+
+    /**
+    * Reference to the Dom utility singleton.
+    * @private
+    * @type {YAHOO.util.Dom}
+    */
+    _oDom: YAHOO.util.Dom,
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseover" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOverEvent: false,
+
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseout" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOutEvent: false,
+
+    // Public properties
+
+	/**
+	* The class's constructor function
+	* @type YAHOO.widget.MenuModuleItem
+	*/
+	constructor: YAHOO.widget.MenuModuleItem,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot: null,
+
+	/**
+	* Boolean representing whether or not the current browsing context
+	* is secure (https)
+	* @type boolean
+	*/
+	isSecure: YAHOO.widget.Module.prototype.isSecure,
+
+    /**
+    * Returns the ordinal position of a MenuModuleItem instance in a group.
+    * @type Number
+    */
+    index: null,
+
+    /**
+    * Returns the index of the group to which a MenuModuleItem instance belongs.
+    * @type Number
+    */
+    groupIndex: null,
+
+    /**
+    * Returns the parent object for a MenuModuleItem instance.
+    * @type {YAHOO.widget.MenuModule}
+    */
+    parent: null,
+
+    /**
+    * Returns the HTMLLIElement for a MenuModuleItem instance.
+    * @type {HTMLLIElement}
+    */
+    element: null,
+
+    /**
+    * Returns the HTMLElement (either HTMLLIElement, HTMLOptGroupElement or
+    * HTMLOptionElement) used create the MenuModuleItem instance.
+    * @type {HTMLLIElement/HTMLOptGroupElement/HTMLOptionElement}
+    */
+    srcElement: null,
+
+    /**
+    * Specifies an arbitrary value for a MenuModuleItem instance.
+    * @type {Object}
+    */
+    value: null,
+
+    /**
+    * Reference to the HTMLImageElement used to create the submenu
+    * indicator for a MenuModuleItem instance.
+    * @type {HTMLImageElement}
+    */
+    submenuIndicator: null,
+
+	/**
+	* String representing the browser
+	* @type string
+	*/
+	browser: YAHOO.widget.Module.prototype.browser,
+
+    // Events
+
+    /**
+    * Fires when a MenuModuleItem instances's HTMLLIElement is removed from
+    * it's parent HTMLUListElement node.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    destroyEvent: null,
+
+    /**
+    * Fires when the mouse has entered a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOverEvent: null,
+
+    /**
+    * Fires when the mouse has left a MenuModuleItem instance.  Passes back
+    * the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOutEvent: null,
+
+    /**
+    * Fires when the user mouses down on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseDownEvent: null,
+
+    /**
+    * Fires when the user releases a mouse button while the mouse is
+    * over a MenuModuleItem instance.  Passes back the DOM Event object as
+    * an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseUpEvent: null,
+
+    /**
+    * Fires when the user clicks the on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    clickEvent: null,
+
+    /**
+    * Fires when the user presses an alphanumeric key.  Passes back the
+    * DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyPressEvent: null,
+
+    /**
+    * Fires when the user presses a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyDownEvent: null,
+
+    /**
+    * Fires when the user releases a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyUpEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance receives focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    focusEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance loses the input focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    blurEvent: null,
+
+    /**
+    * The MenuModuleItem class's initialization method. This method is
+    * automatically called by the constructor, and sets up all DOM references
+    * for pre-existing markup, and creates required markup if it is not
+    * already present.
+    * @param {String or HTMLElement} p_oObject String or HTMLElement
+    * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * source HTMLElement node.
+    * @param {Object} p_oConfig The configuration object literal containing
+    * the configuration for a MenuModuleItem instance. See the configuration
+    * class documentation for more details.
+    */
+    init: function(p_oObject, p_oConfig) {
+
+        this.imageRoot = (this.isSecure) ? this.IMG_ROOT_SSL : this.IMG_ROOT;
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.MenuModule;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+        }
+
+        // Create the config object
+
+        this.cfg = new YAHOO.util.Config(this);
+
+        this.initDefaultConfig();
+
+        var oConfig = this.cfg;
+
+        if(this._checkString(p_oObject)) {
+
+            this._createRootNodeStructure();
+
+            oConfig.setProperty("text", p_oObject);
+
+        }
+        else if(this._checkDOMNode(p_oObject)) {
+
+            switch(p_oObject.tagName) {
+
+                case "OPTION":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.text);
+
+                    this.srcElement = p_oObject;
+
+                break;
+
+                case "OPTGROUP":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.label);
+
+                    this.srcElement = p_oObject;
+
+                    this._initSubTree();
+
+                break;
+
+                case "LI":
+
+                    // Get the anchor node (if it exists)
+
+                    var oAnchor = this._getFirstElement(p_oObject, "A");
+                    var sURL = "#";
+                    var sTarget = null;
+                    var sText = null;
+
+                    // Capture the "text" and/or the "URL"
+
+                    if(oAnchor) {
+
+                        sURL = oAnchor.getAttribute("href");
+                        sTarget = oAnchor.getAttribute("target");
+
+                        if(oAnchor.innerText) {
+
+                            sText = oAnchor.innerText;
+
+                        }
+                        else {
+
+                            var oRange = oAnchor.ownerDocument.createRange();
+
+                            oRange.selectNodeContents(oAnchor);
+
+                            sText = oRange.toString();
+
+                        }
+
+                    }
+                    else {
+
+                        var oText = p_oObject.firstChild;
+
+                        sText = oText.nodeValue;
+
+                        oAnchor = document.createElement("a");
+
+                        oAnchor.setAttribute("href", sURL);
+
+                        p_oObject.replaceChild(oAnchor, oText);
+
+                        oAnchor.appendChild(oText);
+
+                    }
+
+                    this.srcElement = p_oObject;
+                    this.element = p_oObject;
+                    this._oAnchor = oAnchor;
+
+
+                    // Check if emphasis has been applied to the MenuModuleItem
+
+                    var oEmphasisNode = this._getFirstElement(oAnchor);
+                    var bEmphasis = false;
+                    var bStrongEmphasis = false;
+
+                    if(oEmphasisNode) {
+
+                        // Set a reference to the text node
+
+                        this._oText = oEmphasisNode.firstChild;
+
+                        switch(oEmphasisNode.tagName) {
+
+                            case "EM":
+
+                                bEmphasis = true;
+
+                            break;
+
+                            case "STRONG":
+
+                                bStrongEmphasis = true;
+
+                            break;
+
+                        }
+
+                    }
+                    else {
+
+                        // Set a reference to the text node
+
+                        this._oText = oAnchor.firstChild;
+
+                    }
+
+                    /*
+                        Set these properties silently to sync up the
+                        configuration object without making changes to the
+                        element's DOM
+                    */
+
+                    oConfig.setProperty("text", sText, true);
+                    oConfig.setProperty("url", sURL, true);
+                    oConfig.setProperty("target", sTarget, true);
+                    oConfig.setProperty("emphasis", bEmphasis, true);
+                    oConfig.setProperty(
+                        "strongemphasis",
+                        bStrongEmphasis,
+                        true
+                    );
+
+                    this._initSubTree();
+
+                break;
+
+            }
+
+        }
+
+        if(this.element) {
+
+            this._oDom.addClass(this.element, this.CSS_CLASS_NAME);
+
+            // Create custom events
+
+            var CustomEvent = YAHOO.util.CustomEvent;
+
+            this.destroyEvent = new CustomEvent("destroyEvent", this);
+            this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+            this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+            this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+            this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+            this.clickEvent = new CustomEvent("clickEvent", this);
+            this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+            this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+            this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+            this.focusEvent = new CustomEvent("focusEvent", this);
+            this.blurEvent = new CustomEvent("blurEvent", this);
+
+            // Subscribe to custom event
+
+            this.clickEvent.subscribe(this._onMenuModuleItemClick, this, true);
+
+            if(p_oConfig) {
+
+                oConfig.applyConfig(p_oConfig);
+
+            }
+
+            oConfig.fireQueue();
+
+        }
+
+    },
+
+    // Private methods
+
+    /**
+    * Returns an HTMLElement's first HTMLElement node
+    * @private
+    * @param {HTMLElement} p_oElement The element to be evaluated.
+    * @param {String} p_sTagName Optional. The tagname of the element.
+    * @return Returns an HTMLElement node.
+    * @type Boolean
+    */
+    _getFirstElement: function(p_oElement, p_sTagName) {
+
+        var oElement;
+
+        if(p_oElement.firstChild && p_oElement.firstChild.nodeType == 1) {
+
+            oElement = p_oElement.firstChild;
+
+        }
+        else if(
+            p_oElement.firstChild &&
+            p_oElement.firstChild.nextSibling &&
+            p_oElement.firstChild.nextSibling.nodeType == 1
+        ) {
+
+            oElement = p_oElement.firstChild.nextSibling;
+
+        }
+
+        if(p_sTagName) {
+
+            return (oElement && oElement.tagName == p_sTagName) ?
+                oElement : false;
+
+        }
+
+        return oElement;
+
+    },
+
+    /**
+    * Determines if an object is a string
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is a string.
+    * @type Boolean
+    */
+    _checkString: function(p_oObject) {
+
+        return (typeof p_oObject == "string");
+
+    },
+
+    /**
+    * Determines if an object is an HTMLElement.
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is an HTMLElement.
+    * @type Boolean
+    */
+    _checkDOMNode: function(p_oObject) {
+
+        return (p_oObject && p_oObject.tagName);
+
+    },
+
+    /**
+    * Creates the core DOM structure for a MenuModuleItem instance.
+    * @private
+    */
+    _createRootNodeStructure: function () {
+
+        this.element = document.createElement("li");
+
+        this._oText = document.createTextNode("");
+
+        this._oAnchor = document.createElement("a");
+        this._oAnchor.appendChild(this._oText);
+
+        this.cfg.refireEvent("url");
+
+        this.element.appendChild(this._oAnchor);
+
+    },
+
+    /**
+    * Iterates the source element's childNodes collection and uses the
+    * child nodes to instantiate other menus.
+    * @private
+    */
+    _initSubTree: function() {
+
+        var Menu = this.SUBMENU_TYPE;
+        var MenuModuleItem = this.SUBMENU_ITEM_TYPE;
+        var oSrcEl = this.srcElement;
+        var oConfig = this.cfg;
+
+        if(oSrcEl.childNodes.length > 0) {
+
+            var oNode = oSrcEl.firstChild;
+            var aOptions = [];
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "DIV":
+
+                        oConfig.setProperty("submenu", (new Menu(oNode)));
+
+                    break;
+
+                    case "OPTION":
+
+                        aOptions[aOptions.length] = oNode;
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+            var nOptions = aOptions.length;
+
+            if(nOptions > 0) {
+
+                oConfig.setProperty(
+                    "submenu",
+                    (new Menu(this._oDom.generateId()))
+                );
+
+                for(var n=0; n<nOptions; n++) {
+
+                    this._oSubmenu.addItem((new MenuModuleItem(aOptions[n])));
+
+                }
+
+            }
+
+        }
+
+    },
+
+    /**
+    * "click" event handler for a MenuModuleItem
+    * @private
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the event
+    * was fired.
+    * @param {YAHOO.widget.MenuItem} p_oMenuModuleItem The MenuModule instance
+    * that fired the event.
+    */
+    _onMenuModuleItemClick: function(p_sType, p_aArgs, p_oMenuModuleItem) {
+
+        var Event = YAHOO.util.Event;
+        var oEvent = p_aArgs[0];
+        var oTarget = Event.getTarget(oEvent);
+        var oSubmenu = this.cfg.getProperty("submenu");
+
+        /*
+            ACCESSIBILITY FEATURE FOR SCREEN READERS: Expand/collapse the
+            submenu when the user clicks on the submenu indicator image.
+        */
+
+        if(oTarget == this.submenuIndicator && oSubmenu) {
+
+            if(oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+            else {
+
+                var oActiveItem = this.parent.activeItem;
+
+
+                // Hide any other submenus that might be visible
+
+                if(oActiveItem && oActiveItem != this) {
+
+                    this.parent.clearActiveItem();
+
+                }
+
+                this.parent.activeItem = this;
+
+                this.cfg.setProperty("selected", true);
+
+                oSubmenu.show();
+
+            }
+
+        }
+        else {
+
+            var sURL = this.cfg.getProperty("url");
+            var bCurrentPageURL = (sURL.substr((sURL.length-1),1) == "#");
+
+            var sTarget = this.cfg.getProperty("target");
+            var bHasTarget = (sTarget && sTarget.length > 0);
+
+            // Prevent the browser from following links equal to "#"
+
+            if(oTarget.tagName == "A" && bCurrentPageURL && !bHasTarget) {
+
+                Event.preventDefault(oEvent);
+
+            }
+
+            if(oTarget.tagName != "A" && !bCurrentPageURL && !bHasTarget) {
+
+                /*
+                    Follow the URL of the item regardless of whether or
+                    not the user clicked specifically on the
+                    HTMLAnchorElement (&#60;A&#60;) node.
+                */
+
+                document.location = sURL;
+
+            }
+
+        }
+
+    },
+
+    // Event handlers for configuration properties
+
+    /**
+    * Event handler for when the "text" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configText: function(p_sType, p_aArgs, p_oItem) {
+
+        var sText = p_aArgs[0];
+
+        if(this._oText) {
+
+            this._oText.nodeValue = sText;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "helptext" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configHelpText: function(p_sType, p_aArgs, p_oItem) {
+
+        var me = this;
+        var Dom = this._oDom;
+        var oHelpText = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var aNodes = [oEl, this._oAnchor];
+        var oImg = this.submenuIndicator;
+
+        /**
+        * Adds the "hashelptext" class to the necessary nodes and refires the
+        * "selected" and "disabled" configuration events
+        * @ignore
+        */
+        function initHelpText() {
+
+            Dom.addClass(aNodes, "hashelptext");
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+
+        /**
+        * Removes the "hashelptext" class and corresponding DOM element (EM)
+        * @ignore
+        */
+        function removeHelpText() {
+
+            Dom.removeClass(aNodes, "hashelptext");
+
+            oEl.removeChild(me._oHelpTextEM);
+            me._oHelpTextEM = null;
+
+        }
+
+        if(this._checkDOMNode(oHelpText)) {
+
+            if(this._oHelpTextEM) {
+
+                this._oHelpTextEM.parentNode.replaceChild(
+                    oHelpText,
+                    this._oHelpTextEM
+                );
+
+            }
+            else {
+
+                this._oHelpTextEM = oHelpText;
+
+                oEl.insertBefore(this._oHelpTextEM, oImg);
+
+            }
+
+            initHelpText();
+
+        }
+        else if(this._checkString(oHelpText)) {
+
+            if(oHelpText.length === 0) {
+
+                removeHelpText();
+
+            }
+            else {
+
+                if(!this._oHelpTextEM) {
+
+                    this._oHelpTextEM = document.createElement("em");
+
+                    oEl.insertBefore(this._oHelpTextEM, oImg);
+
+                }
+
+                this._oHelpTextEM.innerHTML = oHelpText;
+
+                initHelpText();
+
+            }
+
+        }
+        else if(!oHelpText && this._oHelpTextEM) {
+
+            removeHelpText();
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "url" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configURL: function(p_sType, p_aArgs, p_oItem) {
+
+        var sURL = p_aArgs[0];
+
+        if(!sURL) {
+
+            sURL = "#";
+
+        }
+
+        this._oAnchor.setAttribute("href", sURL);
+
+    },
+
+    /**
+    * Event handler for when the "target" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configTarget: function(p_sType, p_aArgs, p_oItem) {
+
+        var sTarget = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+
+        if(sTarget && sTarget.length > 0) {
+
+            oAnchor.setAttribute("target", sTarget);
+
+        }
+        else {
+
+            oAnchor.removeAttribute("target");
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "emphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oEM;
+
+        if(bEmphasis && oConfig.getProperty("strongemphasis")) {
+
+            oConfig.setProperty("strongemphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bEmphasis) {
+
+                oEM = document.createElement("em");
+                oEM.appendChild(oText);
+
+                oAnchor.appendChild(oEM);
+
+            }
+            else {
+
+                oEM = this._getFirstElement(oAnchor, "EM");
+
+                oAnchor.removeChild(oEM);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "strongemphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bStrongEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oStrong;
+
+        if(bStrongEmphasis && oConfig.getProperty("emphasis")) {
+
+            oConfig.setProperty("emphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bStrongEmphasis) {
+
+                oStrong = document.createElement("strong");
+                oStrong.appendChild(oText);
+
+                oAnchor.appendChild(oStrong);
+
+            }
+            else {
+
+                oStrong = this._getFirstElement(oAnchor, "STRONG");
+
+                oAnchor.removeChild(oStrong);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "disabled" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configDisabled: function(p_sType, p_aArgs, p_oItem) {
+
+        var bDisabled = p_aArgs[0];
+        var Dom = this._oDom;
+        var oAnchor = this._oAnchor;
+        var aNodes = [this.element, oAnchor];
+        var oEM = this._oHelpTextEM;
+        var oConfig = this.cfg;
+        var oImg = this.submenuIndicator;
+        var sImageSrc;
+        var sImageAlt;
+
+        if(oEM) {
+
+            aNodes[2] = oEM;
+
+        }
+
+        if(bDisabled) {
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.setProperty("selected", false);
+
+            }
+
+            oAnchor.removeAttribute("href");
+
+            Dom.addClass(aNodes, "disabled");
+
+            sImageSrc = this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.DISABLED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+        else {
+
+            oAnchor.setAttribute("href", oConfig.getProperty("url"));
+
+            Dom.removeClass(aNodes, "disabled");
+
+            sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+
+        if(oImg) {
+
+            oImg.src = this.imageRoot + sImageSrc;
+            oImg.alt = sImageAlt;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "selected" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSelected: function(p_sType, p_aArgs, p_oItem) {
+
+        if(!this.cfg.getProperty("disabled")) {
+
+            var Dom = this._oDom;
+            var bSelected = p_aArgs[0];
+            var oEM = this._oHelpTextEM;
+            var aNodes = [this.element, this._oAnchor];
+            var oImg = this.submenuIndicator;
+            var sImageSrc;
+
+            if(oEM) {
+
+                aNodes[aNodes.length] = oEM;
+
+            }
+
+            if(oImg) {
+
+                aNodes[aNodes.length] = oImg;
+
+            }
+
+            if(bSelected) {
+
+                Dom.addClass(aNodes, "selected");
+                sImageSrc = this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+            else {
+
+                Dom.removeClass(aNodes, "selected");
+                sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+
+            if(oImg) {
+
+                oImg.src = document.images[(this.imageRoot + sImageSrc)].src;
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "submenu" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSubmenu: function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = this._oDom;
+        var oEl = this.element;
+        var oSubmenu = p_aArgs[0];
+        var oImg = this.submenuIndicator;
+        var oConfig = this.cfg;
+        var aNodes = [this.element, this._oAnchor];
+
+        if(oSubmenu) {
+
+            // Set the submenu's parent to this MenuModuleItem instance
+
+            oSubmenu.parent = this;
+
+            this._oSubmenu = oSubmenu;
+
+            if(!oImg) {
+
+                var me = this;
+
+                function preloadImage(p_sPath) {
+
+                    var sPath = me.imageRoot + p_sPath;
+
+                    if(!document.images[sPath]) {
+
+                        var oImage = document.createElement("img");
+                        oImage.src = sPath;
+                        oImage.name = sPath;
+                        oImage.id = sPath;
+                        oImage.style.display = "none";
+
+                        document.body.appendChild(oImage);
+
+                    }
+
+                }
+
+                preloadImage(this.SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH);
+
+                oImg = document.createElement("img");
+                oImg.src = (this.imageRoot + this.SUBMENU_INDICATOR_IMAGE_PATH);
+                oImg.alt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+                oEl.appendChild(oImg);
+
+                this.submenuIndicator = oImg;
+
+                Dom.addClass(aNodes, "hassubmenu");
+
+                if(oConfig.getProperty("disabled")) {
+
+                    oConfig.refireEvent("disabled");
+
+                }
+
+                if(oConfig.getProperty("selected")) {
+
+                    oConfig.refireEvent("selected");
+
+                }
+
+            }
+
+        }
+        else {
+
+            Dom.removeClass(aNodes, "hassubmenu");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            if(this._oSubmenu) {
+
+                this._oSubmenu.destroy();
+
+            }
+
+        }
+
+    },
+
+    // Public methods
+
+	/**
+	* Initializes an item's configurable properties.
+	*/
+	initDefaultConfig : function() {
+
+        var oConfig = this.cfg;
+        var CheckBoolean = oConfig.checkBoolean;
+
+        // Define the config properties
+
+        oConfig.addProperty(
+            "text",
+            {
+                value: "",
+                handler: this.configText,
+                validator: this._checkString,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("helptext", { handler: this.configHelpText });
+
+        oConfig.addProperty(
+            "url",
+            { value: "#", handler: this.configURL, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "target",
+            { handler: this.configTarget, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "emphasis",
+            {
+                value: false,
+                handler: this.configEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "strongemphasis",
+            {
+                value: false,
+                handler: this.configStrongEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "disabled",
+            {
+                value: false,
+                handler: this.configDisabled,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "selected",
+            {
+                value: false,
+                handler: this.configSelected,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("submenu", { handler: this.configSubmenu });
+
+	},
+
+    /**
+    * Finds the next enabled MenuModuleItem instance in a MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getNextEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the next item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getNextArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getNextArrayItem(p_aArray, (p_nStartIndex+1));
+
+            }
+
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oNextItem;
+
+
+            if(this.index < (aItemGroups[nGroupIndex].length - 1)) {
+
+                oNextItem = getNextArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index+1)
+                    );
+
+            }
+            else {
+
+                var nNextGroupIndex;
+
+                if(nGroupIndex < (aItemGroups.length - 1)) {
+
+                    nNextGroupIndex = nGroupIndex + 1;
+
+                }
+                else {
+
+                    nNextGroupIndex = 0;
+
+                }
+
+                var aNextGroup = getNextArrayItem(aItemGroups, nNextGroupIndex);
+
+                // Retrieve the first MenuModuleItem instance in the next group
+
+                oNextItem = getNextArrayItem(aNextGroup, 0);
+
+            }
+
+            return (
+                oNextItem.cfg.getProperty("disabled") ||
+                oNextItem.element.style.display == "none"
+            ) ?
+            oNextItem.getNextEnabledSibling() : oNextItem;
+
+        }
+
+    },
+
+    /**
+    * Finds the previous enabled MenuModuleItem instance in a
+    * MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getPreviousEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the previous item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getPreviousArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getPreviousArrayItem(p_aArray, (p_nStartIndex-1));
+
+            }
+
+            /**
+            * Get the index of the first item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getFirstItemIndex(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ?
+                    p_nStartIndex :
+                    getFirstItemIndex(p_aArray, (p_nStartIndex+1));
+
+            }
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oPreviousItem;
+
+            if(
+                this.index > getFirstItemIndex(aItemGroups[nGroupIndex], 0)
+            ) {
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index-1)
+                    );
+
+            }
+            else {
+
+                var nPreviousGroupIndex;
+
+                if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) {
+
+                    nPreviousGroupIndex = nGroupIndex - 1;
+
+                }
+                else {
+
+                    nPreviousGroupIndex = aItemGroups.length - 1;
+
+                }
+
+                var aPreviousGroup =
+                        getPreviousArrayItem(aItemGroups, nPreviousGroupIndex);
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aPreviousGroup,
+                        (aPreviousGroup.length - 1)
+                    );
+
+            }
+
+            return (
+                oPreviousItem.cfg.getProperty("disabled") ||
+                oPreviousItem.element.style.display == "none"
+            ) ?
+            oPreviousItem.getPreviousEnabledSibling() : oPreviousItem;
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to receive the focus and fires the
+    * focus event.
+    */
+    focus: function() {
+
+        var oParent = this.parent;
+        var oAnchor = this._oAnchor;
+        var oActiveItem = oParent.activeItem;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            oParent.cfg.getProperty("visible") &&
+            this.element.style.display != "none"
+        ) {
+
+            if(oActiveItem) {
+
+                oActiveItem.blur();
+
+            }
+
+            oAnchor.focus();
+
+            this.focusEvent.fire();
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to lose focus and fires the onblur event.
+    */
+    blur: function() {
+
+        var oParent = this.parent;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            this._oDom.getStyle(oParent.element, "visibility") == "visible"
+        ) {
+
+            this._oAnchor.blur();
+
+            this.blurEvent.fire();
+
+        }
+
+    },
+
+	/**
+	* Removes a MenuModuleItem instance's HTMLLIElement from it's parent
+    * HTMLUListElement node.
+	*/
+    destroy: function() {
+
+        var oEl = this.element;
+
+        if(oEl) {
+
+            // Remove CustomEvent listeners
+
+            this.mouseOverEvent.unsubscribeAll();
+            this.mouseOutEvent.unsubscribeAll();
+            this.mouseDownEvent.unsubscribeAll();
+            this.mouseUpEvent.unsubscribeAll();
+            this.clickEvent.unsubscribeAll();
+            this.keyPressEvent.unsubscribeAll();
+            this.keyDownEvent.unsubscribeAll();
+            this.keyUpEvent.unsubscribeAll();
+            this.focusEvent.unsubscribeAll();
+            this.blurEvent.unsubscribeAll();
+            this.cfg.configChangedEvent.unsubscribeAll();
+
+            // Remove the element from the parent node
+
+            var oParentNode = oEl.parentNode;
+
+            if(oParentNode) {
+
+                oParentNode.removeChild(oEl);
+
+                this.destroyEvent.fire();
+
+            }
+
+            this.destroyEvent.unsubscribeAll();
+
+        }
+
+    }
+
+};
+
+/**
+* @class Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.Menu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.Menu, YAHOO.widget.MenuModule);
+
+/**
+* The Menu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.Menu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.Menu);
+
+    // Add event handlers
+
+    this.showEvent.subscribe(this._onMenuShow, this, true);
+    this.mouseOverEvent.subscribe(this._onMenuMouseOver, this, true);
+    this.keyDownEvent.subscribe(this._onMenuKeyDown, this, true);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.Menu);
+
+};
+
+// Private event handlers
+
+/**
+* "show" Custom Event handler for a menu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The menu that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuShow =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var oParent = this.parent;
+
+        if(oParent && oParent.parent instanceof YAHOO.widget.Menu) {
+
+            var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+            this.cfg.setProperty(
+                "submenualignment",
+                [ aAlignment[0], aAlignment[1] ]
+            );
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        /*
+            If the menu is a submenu, then select the menu's parent
+            MenuItem instance
+        */
+
+        if(this.parent) {
+
+            this.parent.cfg.setProperty("selected", true);
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var oDOMEvent = p_aArgs[0];
+            var oParent = this.parent;
+
+            if(oDOMEvent.keyCode == 27) { // Esc key
+
+                this.hide();
+
+                // Set focus to the parent MenuItem if one exists
+
+                if(oParent) {
+
+                    oParent.focus();
+
+                    if(oParent.parent instanceof YAHOO.widget.Menu) {
+
+                        oParent.cfg.setProperty("selected", true);
+
+                    }
+
+                    YAHOO.util.Event.preventDefault(oDOMEvent);
+
+                }
+
+            }
+
+        }
+
+    };
+
+
+// Public event handlers
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Menu.prototype.onDomResize = function(e, obj) {
+
+    if(!this._handleResize) {
+
+        this._handleResize = true;
+        return;
+
+    }
+
+
+    var me = this;
+    var oConfig = this.cfg;
+
+    if(oConfig.getProperty("position") == "dynamic") {
+
+        oConfig.setProperty("width", (this._getOffsetWidth() + "px"));
+
+        if(this.parent && oConfig.getProperty("visible")) {
+
+            function align() {
+
+                me.align();
+
+            }
+
+            window.setTimeout(align, 0);
+
+        }
+
+    }
+
+    YAHOO.widget.Menu.superclass.onDomResize.call(this, e, obj);
+
+};
+
+/**
+* @class The MenuItem class allows you to create and modify an item for a
+* Menu instance.  MenuItem extends YAHOO.widget.MenuModuleItem to provide a
+* set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+    this.mouseOverEvent.subscribe(this._onMouseOver, this, true);
+    this.mouseOutEvent.subscribe(this._onMouseOut, this, true);
+    this.clickEvent.subscribe(this._onClick, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the path to the image to be used for the checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the selected
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the disabled
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_dim_1.gif";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_ALT_TEXT = "Checked.";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image when the item is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_ALT_TEXT =
+    "Checked. (Item disabled.)";
+
+// Private properties
+
+/**
+* Reference to the HTMLImageElement used to create the checked
+* indicator for a MenuItem instance.
+* @private
+* @type {HTMLImageElement}
+*/
+YAHOO.widget.MenuItem.prototype._checkImage = null;
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oMenuItem;
+
+
+        switch(oDOMEvent.keyCode) {
+
+            case 38:    // Up arrow
+            case 40:    // Down arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 38) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 39:    // Right arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+                else if(
+                    YAHOO.widget.MenuBarItem &&
+                    oParent.parent &&
+                    oParent.parent instanceof YAHOO.widget.MenuBarItem
+                ) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 37:    // Left arrow
+
+                // Only hide if this this is a MenuItem of a submenu
+
+                if(oParent.parent) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oActiveItem = oParent.activeItem;
+
+
+        // Hide any other submenus that might be visible
+
+        if(oActiveItem && oActiveItem != this) {
+
+            oParent.clearActiveItem();
+
+        }
+
+
+        // Select and focus the current MenuItem instance
+
+        oConfig.setProperty("selected", true);
+        this.focus();
+
+
+        // Show the submenu for this instance
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.show();
+
+        }
+
+    };
+
+/**
+* "mouseout" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOut =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oConfig = this.cfg;
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        oConfig.setProperty("selected", false);
+
+        if(oSubmenu) {
+
+            var oDOMEvent = p_aArgs[0];
+            var oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oDOMEvent);
+
+            if(
+                !(
+                    oRelatedTarget == oSubmenu.element ||
+                    YAHOO.util.Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                )
+            ) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "click" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onClick =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        function findRoot(p_oMenu) {
+
+            var oItem = p_oMenu.parent; // The parent MenuItem instance
+
+            if(oItem) {
+
+                var oParentMenu = oItem.parent;
+
+                if(
+                    oParentMenu &&
+                    (oParentMenu instanceof YAHOO.widget.Menu) &&
+                    oParentMenu.cfg.getProperty("position") == "dynamic"
+                ) {
+
+                    return findRoot(oParentMenu);
+
+                }
+
+            }
+
+            return p_oMenu;
+
+        }
+
+
+        var oRoot = findRoot(this.parent);
+        var sURL = this.cfg.getProperty("url");
+
+        if(
+            (sURL.substr((sURL.length-1),1) == "#") &&
+            oRoot &&
+            oRoot.cfg.getProperty("position") == "dynamic"
+        ) {
+
+            oRoot.hide();
+
+        }
+
+    };
+
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "checked" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configChecked =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = YAHOO.util.Dom;
+        var bChecked = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var oImg;
+
+
+        if(bChecked) {
+
+            var me = this;
+
+            function preloadImage(p_sPath) {
+
+                var sPath = me.imageRoot + p_sPath;
+
+                if(!document.images[sPath]) {
+
+                    var oImage = document.createElement("img");
+                    oImage.src = sPath;
+                    oImage.name = sPath;
+                    oImage.id = sPath;
+                    oImage.style.display = "none";
+
+                    document.body.appendChild(oImage);
+
+                }
+
+            }
+
+            preloadImage(this.CHECKED_IMAGE_PATH);
+            preloadImage(this.SELECTED_CHECKED_IMAGE_PATH);
+            preloadImage(this.DISABLED_CHECKED_IMAGE_PATH);
+
+            oImg = document.createElement("img");
+            oImg.src = (this.imageRoot + this.CHECKED_IMAGE_PATH);
+            oImg.alt = this.CHECKED_IMAGE_ALT_TEXT;
+
+            var oSubmenu = this.cfg.getProperty("submenu");
+
+            if(oSubmenu) {
+
+                oEl.insertBefore(oImg, oSubmenu.element);
+
+            }
+            else {
+
+                oEl.appendChild(oImg);
+
+            }
+
+            Dom.addClass([oEl, oImg], "checked");
+
+            this._checkImage = oImg;
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+        else {
+
+            oImg = this._checkImage;
+
+            Dom.removeClass([oEl, oImg], "checked");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            this._checkImage = null;
+
+        }
+
+    };
+
+
+/**
+* Event handler for when the "selected" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configSelected =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configSelected.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        var oConfig = this.cfg;
+
+        if(!oConfig.getProperty("disabled") && oConfig.getProperty("checked")) {
+
+            var bSelected = p_aArgs[0];
+
+            var sSrc = this.imageRoot + (bSelected ?
+                this.SELECTED_CHECKED_IMAGE_PATH : this.CHECKED_IMAGE_PATH);
+
+            this._checkImage.src = document.images[sSrc].src;
+
+        }
+
+    };
+
+/**
+* Event handler for when the "disabled" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configDisabled =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configDisabled.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        if(this.cfg.getProperty("checked")) {
+
+            var bDisabled = p_aArgs[0];
+            var sAlt = this.CHECKED_IMAGE_ALT_TEXT;
+            var sSrc = this.CHECKED_IMAGE_PATH;
+            var oImg = this._checkImage;
+
+            if(bDisabled) {
+
+                sAlt = this.DISABLED_CHECKED_IMAGE_ALT_TEXT;
+                sSrc = this.DISABLED_CHECKED_IMAGE_PATH;
+
+            }
+
+            oImg.src = document.images[(this.imageRoot + sSrc)].src;
+            oImg.alt = sAlt;
+
+        }
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuItem.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuItem.superclass.initDefaultConfig.call(this);
+
+	// Add configuration properties
+
+    this.cfg.addProperty(
+        "checked",
+        {
+            value: false,
+            handler: this.configChecked,
+            validator: this.cfg.checkBoolean,
+            suppressEvent: true,
+            supercedes:["disabled"]
+        }
+    );
+
+};
+
+/**
+* @class Creates a list of options which vary depending on the context in
+* which the menu is invoked.
+* @constructor
+* @extends YAHOO.widget.Menu
+* @base YAHOO.widget.Menu
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.ContextMenu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu);
+
+// Private properties
+
+/**
+* Array of ContextMenu instances
+* @private
+* @type {Array}
+*/
+YAHOO.widget.ContextMenu._aMenus = [];
+
+/**
+* The id(s) or element(s) that trigger the display of the ContextMenu instance
+* @private
+* @type {String/Array/HTMLElement}
+*/
+YAHOO.widget.ContextMenu.prototype._oTrigger = null;
+
+// Public properties
+
+/**
+* Returns the HTMLElement node that was the target of the "contextmenu"
+* DOM event.
+* @type HTMLElement
+*/
+YAHOO.widget.ContextMenu.prototype.contextEventTarget = null;
+
+/**
+* The ContextMenu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.ContextMenu);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+
+    this.initEvent.fire(YAHOO.widget.ContextMenu);
+
+    var aMenus = YAHOO.widget.ContextMenu._aMenus;
+
+    aMenus[aMenus.length] = this;
+
+};
+
+// Private event handlers
+
+/**
+* "click" event handler for the document object.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onDocumentClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        this.hide();
+
+    };
+
+/**
+* "click" event handler for the HTMLElement node that triggered the event.
+* Used to cancel default behaviors in Opera.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        if(p_oEvent.ctrlKey) {
+
+            YAHOO.util.Event.stopEvent(p_oEvent);
+
+        }
+
+    };
+
+/**
+* "contextmenu" event handler ("mousedown" for Opera) for the HTMLElement
+* node that triggered the event.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerContextMenu =
+
+    function(p_oEvent, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oConfig = this.cfg;
+
+        // Hide any other ContextMenu instances that might be visible
+
+        var aMenus = YAHOO.widget.ContextMenu._aMenus;
+        var i = aMenus.length - 1;
+
+        do {
+
+             aMenus[i].hide();
+
+        }
+        while(i--);
+
+
+        if(p_oEvent.type == "mousedown" && !p_oEvent.ctrlKey) {
+
+            return;
+
+        }
+
+        this.contextEventTarget = Event.getTarget(p_oEvent);
+
+
+        // Position and display the context menu
+
+        var nX = Event.getPageX(p_oEvent);
+        var nY = Event.getPageY(p_oEvent);
+
+
+        oConfig.applyConfig( { xy:[nX, nY], visible:true } );
+        oConfig.fireQueue();
+
+
+        /*
+             Prevent the browser's default context menu from appearing and
+             stop the propagation of the "contextmenu" event so that
+             other ContextMenu instances are no displayed.
+        */
+
+        Event.stopEvent(p_oEvent);
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* a ContextMenu instance's Config object (cfg).
+*/
+YAHOO.widget.ContextMenu.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this);
+
+	// Add a configuration property
+
+    this.cfg.addProperty("trigger", { handler: this.configTrigger });
+
+};
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "trigger" configuration property of
+* a MenuItem instance.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu that instance fired
+* the event.
+*/
+YAHOO.widget.ContextMenu.prototype.configTrigger =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oTrigger = p_aArgs[0];
+
+        if(oTrigger) {
+
+
+            /*
+                If there is a current "trigger" - remove the event handlers
+                from that element(s) before assigning new ones
+            */
+            if(this._oTrigger) {
+
+                Event.purgeElement(this._oTrigger);
+
+            }
+
+            this._oTrigger = oTrigger;
+
+            /*
+                Listen for the "mousedown" event in Opera b/c it does not
+                support the "contextmenu" event
+            */
+
+            var bOpera = (this.browser == "opera");
+
+            Event.addListener(
+                oTrigger,
+                (bOpera ? "mousedown" : "contextmenu"),
+                this._onTriggerContextMenu,
+                this,
+                true
+            );
+
+
+            /*
+                Assign a "click" event handler to the trigger element(s) for
+                Opera to prevent default browser behaviors.
+            */
+
+            if(bOpera) {
+
+                Event.addListener(
+                    oTrigger,
+                    "click",
+                    this._onTriggerClick,
+                    this,
+                    true
+                );
+
+            }
+
+
+            // Assign a "mousedown" event handler to the document
+
+            Event.addListener(
+                document,
+                "click",
+                this._onDocumentClick,
+                this,
+                true
+            );
+
+        }
+
+    };
+
+/**
+* @class Creates an item for a context menu instance.
+* @constructor
+* @extends YAHOO.widget.MenuItem
+* @base YAHOO.widget.MenuItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.ContextMenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem);
+
+/**
+* The ContextMenuItem class's initialization method. This method is
+* automatically called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem.prototype.init =
+
+    function(p_oObject, p_oConfig) {
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.ContextMenu;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+        }
+
+
+        /*
+            Call the init of the superclass (YAHOO.widget.MenuItem)
+            Note: We don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.ContextMenuItem.superclass.init.call(this, p_oObject);
+
+        var oConfig = this.cfg;
+
+        if(p_oConfig) {
+
+            oConfig.applyConfig(p_oConfig, true);
+
+        }
+
+        oConfig.fireQueue();
+
+    };
+
+/**
+* @class Horizontal collection of items, each of which can contain a submenu.
+* Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuBar.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBar, YAHOO.widget.MenuModule);
+
+/**
+* The MenuBar class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuBarItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.MenuModule)
+
+    YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.MenuBar);
+
+    var oConfig = this.cfg;
+
+    /*
+        Set the default value for the "position" configuration property
+        to "static"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.position)) {
+
+        oConfig.queueProperty("position", "static");
+
+    }
+
+    /*
+        Set the default value for the "submenualignment" configuration property
+        to "tl" and "bl"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.submenualignment)) {
+
+        oConfig.queueProperty("submenualignment", ["tl","bl"]);
+
+    }
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuBar);
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuBar instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBar.prototype.CSS_CLASS_NAME = "yuimenubar";
+
+/**
+* @class The MenuBarItem class allows you to create and modify an item for a
+* MenuBar instance.  MenuBarItem extends YAHOO.widget.MenuModuleItem to provide
+* a set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuBarItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuBarItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuBarItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLLIElement of the MenuBarItem.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.CSS_CLASS_NAME = "yuimenubaritem";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is selected.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_dim_1.gif";
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuBarItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuBarItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuBarItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oConfig = this.cfg;
+        var oParent = this.parent;
+
+        switch(oDOMEvent.keyCode) {
+
+            case 37:    // Left arrow
+            case 39:    // Right arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 37) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+            case 40:    // Down arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/yahoo.js
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The YAHOO object is the single global object used by YUI Library.  It
+ * contains utility function for setting up namespaces, inheritance, and
+ * logging.  YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
+ * created automatically for and used by the library.
+ * @module YAHOO
+ */
+
+/**
+ * The YAHOO global namespace object
+ * @class YAHOO
+ * @static
+ */
+if (typeof YAHOO == "undefined") {
+    YAHOO = {};
+}
+
+/**
+ * Returns the namespace specified and creates it if it doesn't exist
+ *
+ * YAHOO.namespace("property.package");
+ * YAHOO.namespace("YAHOO.property.package");
+ *
+ * Either of the above would create YAHOO.property, then
+ * YAHOO.property.package
+ *
+ * Be careful when naming packages. Reserved words may work in some browsers
+ * and not others. For instance, the following will fail in Safari:
+ *
+ * YAHOO.namespace("really.long.nested.namespace");
+ *
+ * This fails because "long" is a future reserved word in ECMAScript
+ * @method namespace
+ * @static
+ * @param  {String} ns The name of the namespace
+ * @return {Object}    A reference to the namespace object
+ */
+YAHOO.namespace = function(ns) {
+
+    if (!ns || !ns.length) {
+        return null;
+    }
+
+    var levels = ns.split(".");
+    var nsobj = YAHOO;
+
+    // YAHOO is implied, so it is ignored if it is included
+    for (var i=(levels[0] == "YAHOO") ? 1 : 0; i<levels.length; ++i) {
+        nsobj[levels[i]] = nsobj[levels[i]] || {};
+        nsobj = nsobj[levels[i]];
+    }
+
+    return nsobj;
+};
+
+/**
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is available.
+ *
+ * @method log
+ * @static
+ * @param  {string}  sMsg       The message to log.
+ * @param  {string}  sCategory  The log category for the message.  Default
+ *                              categories are "info", "warn", "error", time".
+ *                              Custom categories can be used as well. (opt)
+ * @param  {string}  sSource    The source of the the message (opt)
+ * @return {boolean}            True if the log operation was successful.
+ */
+YAHOO.log = function(sMsg, sCategory, sSource) {
+    var l = YAHOO.widget.Logger;
+    if(l && l.log) {
+        return l.log(sMsg, sCategory, sSource);
+    } else {
+        return false;
+    }
+};
+
+/**
+ * Utility to set up the prototype, constructor and superclass properties to
+ * support an inheritance strategy that can chain constructors and methods.
+ *
+ * @method extend
+ * @static
+ * @param {function} subclass   the object to modify
+ * @param {function} superclass the object to inherit
+ */
+YAHOO.extend = function(subclass, superclass) {
+    var f = function() {};
+    f.prototype = superclass.prototype;
+    subclass.prototype = new f();
+    subclass.prototype.constructor = subclass;
+    subclass.superclass = superclass.prototype;
+    if (superclass.prototype.constructor == Object.prototype.constructor) {
+        superclass.prototype.constructor = superclass;
+    }
+};
+
+YAHOO.namespace("util");
+YAHOO.namespace("widget");
+YAHOO.namespace("example");
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<%
+    String version = (String) request.getAttribute("version");
+    String deployedPath = (String) request.getAttribute("path");
+%>
+
+<div id="gsinfo" style="text-align: center">
+    <h1>
+        <ui:text key="ABOUT_GRIDSPHERE_VERSION"/>
+        :
+        <%= version %>
+    </h1>
+</div>
+<ui:group label="System Information">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>Java Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.vendor")%> <%= System.getProperty("java.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>GridSphere</ui:tablecell>
+            <ui:tablecell><%= deployedPath%>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>Java Home</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.home")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Classpath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.class.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Librarypath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.library.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Name</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.name")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Arch</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.arch")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+
+</ui:group>
+
+<div id="gsinfo" style="text-align: center">
+    <ui:text key="ABOUT_GRIDSPHERE_WRITTEN_BY"/>
+    Jason Novotny, Michael Russell &amp; Oliver Wehrens
+</div>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/authmodules.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+<%@ page import="org.gridsphere.services.core.security.auth.modules.LoginAuthModule,
+                 javax.portlet.RenderRequest,
+                 java.util.Iterator" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<% RenderRequest pReq = (RenderRequest) pageContext.getAttribute("renderRequest"); %>
+<% List authModules = (List) request.getAttribute("authModules"); %>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_AUTHMODULES_MSG">
+        <% if (authModules.size() == 1) { %>
+        <ui:messagebox key="LOGIN_AUTHMODULES_ONEREQ"/>
+        <% } %>
+
+        <ui:frame>
+            <ui:tablerow header="true" zebra="true">
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_NAME"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_ISACTIVE"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_PRIORITY"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_DESC"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% Iterator it = authModules.iterator(); %>
+            <% while (it.hasNext()) {
+                LoginAuthModule authModule = (LoginAuthModule) it.next(); %>
+
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% if (authModules.size() == 1) { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" disabled="true" selected="true"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } else { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" selected="<%= authModule.isModuleActive() %>"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } %>
+                <ui:tablecell>
+                    <ui:textfield name="<%= authModule.getModuleName() %>"
+                                  value="<%= String.valueOf(authModule.getModulePriority()) %>" size="3"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleDescription(pReq.getLocale()) %>"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% } %>
+
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveAuthModules" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% Boolean sendMail = (Boolean) request.getAttribute("sendMail"); %>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ERROR_MSG">
+        <p>
+            <ui:radiobutton beanId="errorRB" value="NOMAIL" selected="<%= !sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_STACKTRACE_MSG"/>
+        </p>
+
+        <p>
+            <ui:radiobutton beanId="errorRB" value="MAIL" selected="<%= sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_MAIL_MSG"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configErrorSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,106 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<script type="text/javascript">
+    function checkUserCreate(elem, id) {
+        if (elem) {
+            document.getElementById(id).checked = true;
+        }
+    }
+
+    function checkAllowUsers(elem, id) {
+        if (!elem) {
+            document.getElementById(id).checked = false;
+        }
+    }
+
+    function checkSavePass(elem, id) {
+        document.getElementById(id).checked = elem;
+    }
+    //  End -->
+</script>
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_MSG">
+        <ul style="list-style-type: none;">
+            <li>
+                <ui:checkbox id="allowCreateCB" beanId="acctCB" value="TRUE"
+                             onClick="checkAllowUsers( this.checked, 'userApprovalCB' )"/>
+                <ui:text key="LOGIN_CONFIG_ALLOW"/>
+            </li>
+            <li>
+                <ul style="list-style-type: none;">
+                    <li>
+                        <ui:checkbox id="userApprovalCB" onClick="checkUserCreate( this.checked, 'allowCreateCB' )"
+                                     beanId="acctApproval" value="FALSE"/>
+                        <ui:text key="LOGIN_ACCOUNT_APPROVAL"/>
+                    </li>
+                </ul>
+            </li>
+            <li>
+                <ui:checkbox id="notifyCB" onClick="checkUserCreate( this.checked, 'savePassCB' )" beanId="notifyCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_NOTIFY"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="supportx509CB" value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_X509"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="remUserCB" value="TRUE"/>
+                <ui:text key="LOGIN_REMUSER"/>
+            </li>
+            <li>
+                <ui:checkbox id="savePassCB" onClick="checkSavePass( this.checked, 'notifyCB' )" beanId="savepassCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_PASSWD"/>
+                <br/>
+                <ui:text style="alert" key="LOGIN_CONFIG_PASSWD1"/>
+            </li>
+            <li>
+                <ui:text key="LOGIN_TRIES_MSG"/>
+                <ui:textfield beanId="numTriesTF"/>
+            </li>
+            <li>
+                <% Boolean isUsernameLogin = (Boolean) request.getAttribute("isUsernameLogin"); %>
+                <ui:radiobutton beanId="loginRB" value="TRUE" selected="<%= (isUsernameLogin == Boolean.TRUE) %>"/>
+                <ui:text key="LOGIN_USERNAME"/>
+                <ui:radiobutton beanId="loginRB" value="FALSE" selected="<%= (isUsernameLogin == Boolean.FALSE) %>"/>
+                <ui:text key="LOGIN_EMAIL"/>
+            </li>
+        </ul>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="setLoginSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+
+<%--
+<ui:form>
+    <ui:group key="LOGIN_TRIES_CONFIG_MSG">
+
+        <p>
+            <ui:text key="LOGIN_TRIES_MSG"/>
+        </p>
+
+        <p>
+            <ui:textfield beanId="numTriesTF"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configAccountSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+--%>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_SMTP">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILHOST"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailServerTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILPORT"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailPortTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILFROM"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailFromTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILADMIN"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="adminTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailConfig" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_FORGET">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="forgotHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:<br> <span style="font-size: smaller; color: red">(links will be placed in the body automatically)</span></ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="forgotBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="forgot"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ACTIVATE">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="activateHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="activateBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="activate"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_APPROVED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="approvedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="approvedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="approved"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_DENIED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="deniedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="deniedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="denied"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:tabbedpane>
+    <ui:tab label="loginconfig" key="CONFIG_LOGIN_TAB" page="/jsp/admin/config/loginconfig.jsp"/>
+    <ui:tab label="authmodules" key="CONFIG_AUTH_TAB" page="/jsp/admin/config/authmodules.jsp"/>
+    <ui:tab label="mailconfig" key="CONFIG_MAIL_TAB" page="/jsp/admin/config/mailconfig.jsp"/>
+    <ui:tab label="msgconfig" key="CONFIG_MSG_TAB" page="/jsp/admin/config/msgconfig.jsp"/>
+    <ui:tab label="errconfig" key="CONFIG_ERR_TAB" page="/jsp/admin/config/errorconfig.jsp"/>
+</ui:tabbedpane>
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/bar.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+
+<ui:group key="LAYOUT_EDIT_BAR">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                Select column layout:
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveBar" value="Save"/>
+                <ui:actionsubmit action="doCancel" value="Cancel"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/content.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+<%@ page import="org.gridsphere.layout.PortletContent" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletContent content = (PortletContent) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_CONTENT"/>
+<% String label = msg + " <b>" + content.getFileName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_CONTENT"/>
+                <ui:listbox beanId="contentLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= content.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveContent" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/frame.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<%@ page import="org.gridsphere.layout.PortletFrame" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletFrame frame = (PortletFrame) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_FRAME"/>
+<% String label = msg + " <b>" + frame.getPortletName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_PORTLETS"/>
+                <ui:listbox beanId="portletsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= frame.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_DISP_TB"/>
+                :
+                <ui:text key="YES"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") != null) %>"
+                                value="yes"/>
+                <ui:text key="NO"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") == null) %>"
+                                value="no"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveFrame" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Layout Manager portlet</b>
+</p>
+
+<p>
+    The Layout Manager portlet lets you customize your theme and entire portal layout.
+    Various options are provided to allow you to rename, create and delete portlet tab titles
+    and sub tab titles. Portlets within a subtab can be arranged into table layouts with
+    the desired columns and rows. Only those portlets to which you are subscribed may be added.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/menu.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_MENU"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_MENU"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/subtab.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_SUBTAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_SUBTAB"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_SUBTABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/tab.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ page import="org.gridsphere.layout.PortletComponent" %>
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ page import="org.gridsphere.layout.PortletTableLayout" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_TAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_TAB2"/>
+
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% // in case this is a single level tab
+            PortletComponent c = tab.getPortletComponent();
+            if (c instanceof PortletTableLayout) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        <%--
+        <% if (request.getAttribute("isnewtab") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                Double tabbed pane
+                <ui:radiobutton beanId="subcompRB" selected="true" value="double"/>
+                Single tabbed pane
+                <ui:radiobutton beanId="subcompRB" value="single"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        --%>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="actionURI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="layoutlabel" class="java.lang.String" scope="request"/>
+<jsp:useBean id="pageName" class="java.lang.String" scope="request"/>
+
+
+<% String pane = (String) request.getAttribute("pane"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_CUSTOMIZE"/>
+                <ui:listbox beanId="layoutsLB"/>
+                <ui:actionsubmit action="selectLayout" key="LAYOUT_DISPLAY"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_THEME"/>
+                <ui:listbox beanId="themesLB"/>
+                <ui:actionsubmit action="selectTheme" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+</ui:form>
+
+<ui:group key="LAYOUT_PAGE_DETAILS">
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_TITLE"/>
+                    <ui:textfield beanId="titleTF"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_KEYWORDS"/>
+                    <ui:textfield beanId="keywordsTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <ui:actionsubmit action="savePageDetails" key="SAVE"/>
+    </ui:form>
+</ui:group>
+
+<h3>
+    <ui:text key="LAYOUT_EDIT_COMPS"/>
+    &nbsp;<b><%= pageName %>
+</b></h3>
+
+<ui:group>
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_SEL_TOPS"/>
+                    <ui:listbox beanId="navigationLB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_MODES"/> <ui:checkbox beanId="showModesCB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_STATES"/><ui:checkbox beanId="showStatesCB"/>
+                    <ui:actionsubmit action="doSaveNav" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:form>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell width="60%">
+                <%--     <ui:group label="<%= layoutlabel %>">  --%>
+                <%= pane %>
+                <%--     </ui:group>  --%>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+    <ui:form>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+
+                    <ui:hiddenfield beanId="compHF"/>
+                    <% if (!controlUI.equals("")) { %>
+                    <jsp:include page="<%= controlUI + ".jsp" %>"/>
+                    <% } %>
+                    <%--
+                <% if (controlUI.equals("frame")) { %>
+                <jsp:include page="frame.jsp"/>
+                <% } else if (controlUI.equals("content")) { %>
+                <jsp:include page="content.jsp"/>
+                <% } else if (controlUI.equals("tab")) { %>
+                <jsp:include page="tab.jsp"/>
+                <% } else if (controlUI.equals("subtab")) { %>
+                <jsp:include page="subtab.jsp"/>
+                <% } else if (controlUI.equals("menu")) { %>
+                <jsp:include page="menu.jsp"/>
+                <% } else if (controlUI.equals("bar")) { %>
+                <jsp:include page="bar.jsp"/>
+                <% } %>  --%>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:form>
+</ui:group>
+
+<hr/>
+
+*
+<ui:text key="LAYOUT_EDIT_MSG"/>
+&nbsp; <b>$CATALINA_HOME/webapps<%= request.getContextPath() %>/WEB-INF/CustomPortal/layouts/{guest.xml,
+    loggedin.xml}</b>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Portlet Manager portlet</b>
+</p>
+
+<p>
+    The Portlet Manager portlet allows a portal administrator to stop and start and deploy portlet web
+    applications to GridSphere. Once a portlet has been stopped it is no longer accessible. A new portlet
+    web application may be deployed but it assumes that the WAR has already been placed into the Tomcat
+    webapps directory. File uploading of portlet applications doesn't work currently due to a Tomcat
+    cross context loading problem. In addition, only those portlets that contain no "portlet services" that
+    are placed in the shared library directory of Tomcat will work, since shared libraries cannot be
+    properly reloaded.
+</p>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,229 @@
+<%@ page import="org.gridsphere.portletcontainer.PortletStatus,
+                 org.gridsphere.services.core.tomcat.TomcatWebAppDescription" %>
+<%@ page import="java.util.List" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:group key="PORTLET_CURRENT">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_VIEW_DETAILS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell width="80" align="center">
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_STATUS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List result = (List) request.getAttribute("result"); %>
+        <% for (int i = 0; i < result.size(); i++) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) result.get(i); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionlink action="displayWebapp" value="<%= description.getContextPath() %>">
+                    <ui:actionparam name="appname" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getContextPath().equalsIgnoreCase("/" + description.getContextPath())) { %>
+                <ui:text key="PORTLET_GS_MSG"/>
+                <% } else { %>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_START">
+                    <ui:actionparam name="operation" value="start"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_STOP"/>
+                &nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_START"/>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                    <ui:actionparam name="operation" value="stop"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                    <ui:actionparam name="operation" value="reload"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                    <ui:actionparam name="operation" value="remove"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <% if (description.getStatus().equals(PortletStatus.SUCCESS)) { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif" %>"/>
+                <ui:text key="SUCCESS"/>
+                <% } else { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif" %>"/>
+                <ui:text style="underline" id="<%= description.getContextPath() %>" key="FAILURE"/>
+                <ui:tooltip name="<%= description.getContextPath() %>"
+                            id="<%= description.getContextPath() + "tooltip" %>"
+                            value="<%= description.getStatusMessage() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+<%-- @TODO do we really need to show non-portlet webapps here?
+
+<ui:group key="PORTLET_NON">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_NONWEBAPP"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List results = (List) request.getAttribute("others"); %>
+        <% Iterator its = results.iterator(); %>
+        <% while (its.hasNext()) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) its.next(); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="<%= description.getContextPath() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_START">
+                <ui:actionparam name="operation" value="start"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:text key="PORTLET_STOP"/>&nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;<ui:text key="PORTLET_START"/>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                <ui:actionparam name="operation" value="stop"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                <ui:actionparam name="operation" value="reload"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                <ui:actionparam name="operation" value="remove"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+--%>
+
+<%-- @TODO@ This doesn't quite work either
+<ui:group key="PORTLET_DEPLOY_MSG">
+
+    <ui:form>
+
+                    <h3></h3><ui:text key="PORTLET_WEBAPP_MSG"/>&nbsp; </h3>
+                    <ui:textfield beanId="webappNameTF" size="20" maxlength="20"/>
+        <br>
+                    <ui:actionsubmit action="deployWebapp" key="PORTLET_DEPLOY"/>
+
+    </ui:form>
+</ui:group>
+--%>
+
+<%-- uploading portlet WAR files TBD
+
+
+<ui:group key="PORTLET_UPLOAD">
+    <ui:fileform action="uploadPortletWAR">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="50">
+                    <ui:text key="PORTLET_FILE"/>&nbsp;
+                </ui:tablecell>
+                <ui:tablecell width="60">
+                    <ui:fileinput beanId="userfile" size="20" maxlength="20"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="100">
+                    <ui:actionsubmit action="uploadPortletWAR" key="PORTLET_UPLOAD"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:fileform>
+</ui:group>
+
+ --%>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="webappname" class="java.lang.String"/>
+
+<h2>
+    <ui:text key="PORTLET_DISPLAY_PORTLETS"/>
+    <%= request.getAttribute("webappname") %>
+</h2>
+<ui:form>
+    <ui:group>
+        <ui:panel beanId="panel"/>
+    </ui:group>
+</ui:form>
+
+<h3>
+    <ui:renderlink render="listPortlets" key="PORTLET_LIST_APPS"/>
+</h3>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+<%@ page import="org.gridsphere.services.core.user.User"%>
+<%@ page import="java.util.List"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<% List<User> userList = (List<User>)request.getAttribute("userList"); %>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% if (request.getAttribute("canEdit") == null) { %>
+<ui:group key="ROLE_EDIT_MSG">
+<ui:form>
+    <ui:hiddenfield beanId="roleHF"/>
+    <ui:hiddenfield beanId="isNewRoleHF"/>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="ROLENAME"/>
+                <ui:textfield size="10" beanId="roleNameTF"/>
+            </ui:tablecell>
+
+            <ui:tablecell>
+                <ui:text key="ROLEDESC"/>
+                <ui:textfield beanId="roleDescTF"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveRole" key="ROLE_SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+</ui:group>
+
+<% } %>
+<% if (request.getAttribute("newrole") == null) { %>
+
+<ui:group key="ROLE_EDITUSER_MSG">
+<ui:form name="roleform">
+   <ui:hiddenfield beanId="roleHF"/>
+    <% if (request.getAttribute("nousers") == null) { %>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+    <ui:text key="ROLE_ADD_USER"/><ui:listbox beanId="addusersLB"/><ui:actionsubmit action="doAddUser" key="ROLE_ADD_USER_ACTION"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+    <% } %>
+    <p/>
+    <% if (!userList.isEmpty()) { %>
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.userCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell><ui:text key="FULLNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="USERNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="EMAILADDRESS"/></ui:tablecell>
+            <ui:tablecell><ui:text key="ORGANIZATION"/></ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="userCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getFullName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+
+    <ui:actionsubmit action="doRemoveUser" key="ROLE_REMOVE_USER"/>
+    <% } %>
+
+</ui:form>
+
+</ui:group>
+
+<% } %>
+
+<h3><ui:actionlink action="doReturn" key="ROLE_SHOW_ROLES"/></h3>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole, java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% List coreRoles = (List) request.getAttribute("coreRoleList"); %>
+<% List<PortletRole> roleList = (List<PortletRole>) request.getAttribute("roleList"); %>
+<% List<PortletRole> defRoles = (List<PortletRole>) request.getAttribute("defRoles"); %>
+<h3>
+    <ui:text key="ROLE_SHOW_ROLES" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doEditRole" key="ROLE_CREATE_ROLE"/>
+
+<p/>
+
+<ui:form name="roleform">
+    <ui:table zebra="true">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_DEFAULT"/>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (roleList.size() > 3) { %>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.rolesCB, this)"/>
+                <% } %>
+                <ui:text style="bold" key="DELETE"/>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_USERS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLEDESC"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% for (PortletRole role : roleList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (defRoles.contains(role)) { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>" selected="true"/>
+                <% } else { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (!coreRoles.contains(role.getName().toUpperCase())) { %>
+                <ui:checkbox name="rolesCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:actionlink action="doEditRole" value="<%= role.getName() %>">
+                    <ui:actionparam name="roleName" value="<%= role.getName() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= role.getDescription() %>"/>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doSaveDefaultRoles" key="ROLE_SAVE_DEFAULT"/>
+    <% if (roleList.size() > 2) { %>
+    <ui:actionsubmit action="doDeleteRole" key="DELETE"/>
+    <% } %>
+
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Role Manager portlet</b>
+</p>
+
+<p>
+    The Role Manager portlet is used for managing roles in the portal. Roles can be added, modified and deleted except
+    for
+    the core GridSphere roles, <i>USER</i> and <i>ADMIN</i>  that also match the core
+    role priority levels supported by the portal. A Guest role priority is reserved for non-logged in users, User role
+    priority is used for any logged in user, Admin is generally used for some kind of administrator functionality and
+    super would have essentially have no access restrictions. Roles can also be defined by an individual webapp by
+    specifying a <i>roles.xml<</i> role descriptor. See the GridSphere reference Guide for more information.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<h3>
+    <ui:text key="USER_COMPOSE_EMAIL" style="nostyle"/>
+</h3>
+
+<ui:form>
+
+    <table id="form-table">
+        <tbody>
+            <tr>
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                 <ui:radiobutton beanId="toRB" value="TO" selected="true"/>
+                    To:
+                 <ui:radiobutton beanId="toRB" value="BCC"/>
+                    Bcc:
+                </td>
+                <td>
+                    <ui:textfield beanId="emailAddressTF" size="90" id="emailAddress"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    From:
+                </td>
+                <td>
+                    <ui:textfield beanId="senderTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Subject:
+                </td>
+                <td>
+                    <ui:textfield beanId="subjectTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Message:
+                </td>
+                <td>
+                    <ui:textarea beanId="bodyTA" cols="74" rows="10"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td>
+                </td>
+                <td>
+                    <ui:actionsubmit action="doSendEmail" key="USER_SEND"/>
+                    <ui:actionsubmit action="doListUsers" key="CANCEL"/>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="role" class="java.lang.String" scope="request"/>
+<jsp:useBean id="createdate" class="java.lang.String" scope="request"/>
+
+<% User user = (User) request.getAttribute("user"); %>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getUserName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getFirstName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getLastName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getEmailAddress() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getOrganization() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= role %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_CREATEDATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= createdate %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+<% String certattr = (String) user.getAttribute("user.certificate");
+    if (certattr != null) { %>
+    <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="USER_CERTIFICATE"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= certattr %>" style="plain"/>
+            </ui:tablecell>
+    </ui:tablerow>
+<% } %>
+
+</ui:frame>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,137 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:messagebox beanId="msg"/>
+
+
+<h3>
+    <% if (request.getAttribute("newuser") != null) { %>
+    <ui:text key="USER_EDIT_USER_MSG" style="nostyle"/>
+    <% } else { %>
+    <ui:text key="USER_NEW_USER_MSG" style="nostyle"/>
+    <% } %>
+
+</h3>
+
+<p>
+    <% if ((request.getAttribute("savePass") != null) && (request.getAttribute("newuser") == null)) { %>
+    <ui:text style="alert" key="USER_PASS_BLANK_MSG"/>
+    <% } %>
+</p>
+<ui:form>
+<p>
+    <ui:hiddenfield beanId="userID"/>
+    <ui:hiddenfield beanId="newuser"/>
+</p>
+<ui:frame>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="userName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="emailAddress"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+</ui:frame>
+
+<ui:frame beanId="roleFrame"/>
+
+<% if (request.getAttribute("certSupport") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CERTIFICATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="certificate"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("savePass") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="PASSWORD"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="password"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CONFIRM_PASS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="confirmPassword"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("newuser") != null) { %>
+<ui:checkbox beanId="emailUserCB"/>
+<ui:text key="USER_EMAIL_USER"/>
+<% } %>
+<p/>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:actionsubmit action="doConfirmEditUser" key="USER_SAVE"/>
+            <ui:actionsubmit action="doReturn" key="CANCEL"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<%@ page import="org.gridsphere.services.core.user.User,
+                 java.text.SimpleDateFormat" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<% List<User> userList = (List<User>) request.getAttribute("userList"); %>
+
+<h3>
+    <ui:text key="USER_SHOW_USERS" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doNewUser" key="USER_CREATE_USER"/>
+<p/>
+<ui:group>
+    <ui:form>
+        <ui:table>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="USER_PER_PAGE"/>
+                    <ui:listbox beanId="usersPageLB"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_EMAIL"/>
+                    <ui:textfield size="15" beanId="userEmailTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_ORGANIZATION"/>
+                    <ui:textfield size="10" beanId="userOrgTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:actionsubmit action="filterUserList" key="USER_VIEW"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:table>
+    </ui:form>
+</ui:group>
+
+<%if (!userList.isEmpty()) { %>
+
+<ui:form name="myform">
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.myform.usersCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:image src="<%= request.getContextPath() + "/images/editor.png" %>" alt="Edit"/>
+                <ui:text key="USER_EDIT_USER"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="NUMLOGINS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LASTLOGINDATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="usersCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionlink cssStyle="text-decoration: underline;" action="doEditUser"
+                               value="<%= user.getFullName() %>">
+                    <ui:actionparam name="userID" value="<%= user.getID() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= (user.getNumLogins()).toString() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (user.getLastLoginTime() == null) { %>
+                <ui:text value="--"/>
+                <% } else { %>
+                <ui:text
+                        value="<%= new SimpleDateFormat("MMM d yyyy hh:mm a").format(user.getLastLoginTime()).toString() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+    <ui:actionsubmit action="doComposeEmail" key="USER_SEND_EMAIL"/>
+</ui:form>
+
+<% } else { %>
+<ui:text style="alert" key="USER_NO_RESULTS"/>
+<% } %>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:form>
+    <ui:hiddenfield beanId="userID"/>
+
+    <h3><ui:text key="USER_VIEW_USER" style="nostyle"/></h3>
+
+    <%@ include file="doViewUser.jsp" %>
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doReturn" key="USER_LIST_USERS"/>
+                <ui:actionsubmit action="doEditUser" key="USER_EDIT_USER"/>
+                <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<p>
+    <b>Using the User Administration portlet</b>
+</p>
+
+<p>
+    The User Administration portlet is used for managing portal users. Portal users can be created and deleted
+    by filling out the provided form registration. Once an account is created the new portal user may login
+    with the provided password.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/config.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+
+<ui:form>
+
+
+    <ui:group key="CM_BACKUP">
+        <ui:text key="CM_BACKUP_HELP"/>
+        <br/>
+        <ui:actionsubmit action="backupContent" key="CM_BACKUPCONTENT"/>
+    </ui:group>
+
+    <ui:group key="CM_IMPORT">
+        <ui:text key="CM_IMPORT_HELP"/>
+        <br/>
+        <ui:listbox beanId="filelist" size="20"/>
+        <br/>
+        <ui:actionsubmit action="importContent" key="CM_IMPORTCONTENT"/>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<h2>Help for Content Management</h2>
+
+Use the editor to create new/edit/delete documents. If you want to link to another page within your GridSphere
+installation
+you can use the following syntax:
+
+<pre>
+    [[This is my link|layoutname|id]
+</pre>
+
+This will render a link named 'This is my link' to the fragment with the id 'id' in the layout 'layoutname'. This can be
+a tab or a portlet. The id
+is defined in the Layout administration.
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.services.core.jcr.ContentDocument" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% List<ContentDocument> contentDocs = (List<ContentDocument>) request.getAttribute("contentDocs"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <ui:hiddenfield beanId="uuid"/>
+
+    <p/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell valign="top">
+                <%--  <ui:group key="CM_DOCUMENT">
+                  <ui:text key="CM_DOCUMENT_TITLE"/>
+                  <ui:textfield beanId="title"/>
+              </ui:group>  --%>
+                <ui:group key="CM_AVAILDOCUMENTS">
+
+                    <ui:table>
+                        <ui:tablerow header="true">
+                            <ui:tablecell>
+                                <ui:text key="DELETE"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:text key="EDIT"/>
+                            </ui:tablecell>
+                        </ui:tablerow>
+
+                        <% for (ContentDocument content : contentDocs) { %>
+                        <ui:tablerow>
+                            <ui:tablecell>
+                                <ui:checkbox name="nodeCB" value="<%= content.getUuid() %>"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:renderlink render="showNode" value="<%= content.getTitle() %>">
+                                    <ui:param name="nodeId" value="<%= content.getUuid() %>"/>
+                                </ui:renderlink>
+                            </ui:tablecell>
+                        </ui:tablerow>
+                        <% } %>
+
+                    </ui:table>
+
+                    <%-- <ui:listbox beanId="nodelist" size="20"/>
+                    <br/>
+                    <ui:actionsubmit action="showNode" key="CM_SHOWDOCUMENT"/>   --%>
+                    <br/>
+                    <ui:actionsubmit action="removeNode" key="DELETE"/>
+                    <ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" render="showNode"
+                                   value="New Document"/>
+                    <%--   <br/>
+                   <ui:actionsubmit action="clearEditor" key="CM_CLEAREDITOR"/>
+                   <br/> --%>
+                </ui:group>
+            </ui:tablecell>
+            <% if (request.getAttribute("showContent") != null) { %>
+            <ui:tablecell valign="top">
+                <ui:group key="CM_DOCUMENT">
+                    <ui:text key="CM_DOCUMENT_TITLE"/>
+                    <ui:textfield beanId="title"/>
+                    <ui:actionsubmit action="saveDocument" key="CM_CREATEUPDATEDOCUMENT"/>
+                    <ui:richtexteditor beanId="content" cols="80" rows="30"/>
+                </ui:group>
+            </ui:tablecell>
+            <% } %>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+
+<ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" portletMode="EDIT" value="Content Settings"/>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date/date.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+
+<jsp:useBean id="date" class="java.lang.String" scope="request"/>
+
+
+<table>
+    <tr><td align="center">
+        <%= date %>
+    </td></tr>
+</table>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/custom_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ page import="org.gridsphere.provider.portletui.beans.MessageStyle"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+
+
+<% Throwable error = (Throwable)request.getAttribute("error"); %>
+<% String lastFrame = (String)request.getAttribute("lastFrame"); %>
+
+<% if (error != null) { %>
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" value="An error occurred!"/>
+
+<% if (error.getMessage() != null) { %>
+Error message:    <%= error.getMessage() %>
+<% } %>
+
+<p>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>
+
+<% } else { %>
+
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" key="PORTAL_ERROR_MSG"/>
+
+<%= lastFrame %>
+<% } %>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/database_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+<jsp:useBean id="error" class="java.lang.String" scope="request"/>
+
+<%@ include file="../../WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<%= error %>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+
+<%@ page isErrorPage="true" %>
+
+<div style="padding: 0px 0px 5px 0px; margin: 10px">
+<h2>Unexpected server error!</h2>
+
+<b>HTTP Status Code:</b>  <b style="color: red;"><%= request.getAttribute("javax.servlet.error.status_code") %></b>
+<p/>
+<b>Originating URI:</b> <b style="color: red;"><%= request.getAttribute("javax.servlet.error.request_uri") %></b>
+
+
+<p/>
+
+
+    <table style="border-collapse: collapse; width: 50em; border: 1px solid black;"><caption>Stack Trace</caption>
+        <thead><tr><th scope="col">Class</th><th scope="col">Method</th><th scope="col">Line #</th></tr></thead>
+  <% Throwable t = (Throwable)request.getAttribute("javax.servlet.error.exception");
+     StackTraceElement[] elem = t.getStackTrace();
+     for (int i = 0; i < 10; i++) {
+      %>
+<tr>
+  <td><%= elem[i].getClassName() %> </td> <td> <%= elem[i].getMethodName() %> </td> <td> <%= elem[i].getLineNumber() %>  </td>
+ </tr>
+    <%
+     }
+     %>
+   </table>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/init_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<jsp:useBean id="error" class="java.lang.Throwable" scope="request"/>
+
+
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>GridSphere portal failed to initialize!</h2>
+
+<p>
+    <br/>
+    <%= error.getMessage() %>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/notfound.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>Page not found!</h2>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/unauthorized.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+
+<h2>Unauthorized Access!</h2>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/index.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+<jsp:forward page="<%= request.getServletPath() %>"/>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale/viewlocale.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+
+<ui:form action="selectLang">
+
+    <% String flag =  request.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+    <table>
+        <tr>
+            <td>
+                <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                          title="<%= locale.getDisplayLanguage() %>"/>
+            </td>
+            <td>
+                <ui:listbox beanId="localeLB"/>
+            </td>
+            <td>
+                <noscript>
+                    <p>
+                        <ui:actionsubmit action="selectLang" value="ok"/>
+                    </p>
+                </noscript>
+            </td>
+        </tr>
+    </table>
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="password"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:renderlink key="LOGIN_CANT_READ" render="doNewUser"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doConfirmEditUser" key="SAVE"/>
+                <ui:actionsubmit action="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/forgotpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:messagebox key="LOGIN_FORGOT_TEXT"/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LOGIN_REQUEST_EMAIL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:textfield beanId="emailTF" size="25" maxlength="40"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:actionsubmit action="notifyUser" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:rendersubmit render="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/login.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="certificate" class="java.lang.String" scope="request"/>
+<jsp:useBean id="useSecureLogin" class="java.lang.String" scope="request"/>
+
+<ui:form secure="<%= Boolean.valueOf(useSecureLogin).booleanValue() %>">
+    <ui:messagebox beanId="msg"/>
+
+    <%-- <ui:dialoglink titleColor="green" id="foo" name="bar" value="Click Me" header="This is a header" body="This is a body" footer="This is a footer" width="200"/> --%>
+
+
+    <% if (request.getAttribute("certificate") != null && ((String) request.getAttribute("certificate")).length() > 0) { %>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <ui:text key="LOGIN_CERTIFICATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <%= certificate %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <% } else { %>
+
+    <ui:table>
+        <% if (request.getAttribute("useUserName") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="userkey" key="USER_NAME_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="15" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= userkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+
+        <% } else { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_EMAIL_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="emailkey" key="USER_EMAIL_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="25" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= emailkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+        <% } %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="passkey" key="USER_PASSWORD_BLANK"/>
+                <% if (request.getAttribute("useUserName") != null) { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="15" maxlength="50"/>
+                <% } else { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="25" maxlength="50"/>
+                <% } %>
+                <input type="hidden" name="val#password#checkNotEmpty" value="<%= passkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+    </ui:table>
+
+    <% if (request.getAttribute("remUser") != null) { %>
+    <p>
+        <input type="checkbox" name="remlogin" value="yes"/>
+        <ui:text key="LOGIN_REMEMBER_ME"/>
+    </p>
+    <% } %>
+
+    <% } %>
+
+
+    <ui:actionsubmit cssStyle="margin-right: 30px;" action="<%= SportletProperties.LOGIN %>" key="LOGIN_ACTION">
+        <% if (request.getParameter("cid") != null) { %>
+        <ui:actionparam name="queryString" value="<%= request.getParameter("cid") %>"/>
+        <% } %>
+    </ui:actionsubmit>
+
+    <% if ((request.getAttribute("dispPass") != null) && ((request.getAttribute("certificate") == null) || ((String) request.getAttribute("certificate")).length() == 0)) { %>
+    <ui:renderlink render="displayForgotPassword" key="LOGIN_FORGOT_PASSWORD"/>
+    <% } %>
+
+</ui:form>
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/loginnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ page import="org.gridsphere.portlet.service.spi.PortletServiceFactory" %>
+<%@ page import="org.gridsphere.services.core.portal.PortalConfigService" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </li>
+        <% PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            if (Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue()) {
+        %>
+        <li>
+            <ui:renderlink layout="register" key="SIGNUP_REGISTER" label="signup" render="doNewUser"/>
+        </li>
+        <% } %>
+    </ul>
+</div>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/newpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <h3>
+        <ui:text key="PROFILE_UPDATE_PASS" style="nostyle"/>
+    </h3>
+
+    <p>
+        <ui:hiddenfield beanId="reqid"/>
+    </p>
+    <ui:group>
+        <ui:frame width="50%">
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="password"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="confirmPassword"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <p>
+            <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        </p>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/welcome.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ page import="javax.portlet.RenderRequest"%>
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<span style="text-align: right; margin: 10px 10px 0px 0px; float:right; ">
+<ui:text style="nostyle" key="LOGIN_SUCCESS"/>, <%= username %></span>
+
+<div style="clear: both;"/>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout/logoutnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:actionlink cssStyle="font-size: 10px; text-decoration: underline;" action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/admin.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:text key="NEWS_DOCUMENT"/>
+    <ui:listbox beanId="document"/>
+    <ui:actionsubmit key="NEWS_SAVE" action="doSave"/>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<jsp:useBean id="document" class="java.lang.String" scope="request"/>
+
+<%=document%>
+
+ 
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/editpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+
+
+<div style="width: 400px; margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text value="Change Password" style="bold"/></h3>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="ORIG_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="origPassword" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="NEW_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="password" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+    <ui:tablecell width="150">
+        <ui:password beanId="confirmPassword" size="20"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+    <ui:frame>
+    <ui:tablerow>
+    <ui:tablecell >
+        <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        <ui:actionsubmit action="doCancel" key="CANCEL"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+
+    </ui:form>
+
+</div>
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Profile Manager portlet</b>
+</p>
+
+<p>
+    The Profile Manager portlet allows users the ability to customize their personal settings
+    including profile information, preferred locale, and group membership. The view mode displays
+    the existing user profile information and can be edited by selecting the portlets edit mode.
+    Administrators can configure the possible locale selections in configure mode.
+</p>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/profilenav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+
+<a style="font-size: 10px; text-decoration: underline;" href="<%= request.getContextPath() %><%= request.getServletPath()%>/ProfileManager">Profile</a>
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/viewuser.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,132 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+<% String flag = req.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+
+
+<div style="margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text key="PROFILE_SETTINGS" style="bold"/>&nbsp;&nbsp;&nbsp;<ui:actionlink action="doEditPassword" value="Change password"/></h3>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="PROFILE_LASTLOGIN"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <b><%= logintime %></b>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <% if (req.isUserInRole(PortletRole.ADMIN.getName())) { %>
+            <ui:textfield beanId="userNameTF">
+                <ui:validator type="checkNotEmpty" key="USER_NAME_BLANK"/>
+            </ui:textfield>
+            <% } else { %>
+            <ui:text beanId="userName"/>
+            <% } %>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName">
+                <ui:validator type="checkNotEmpty" key="USER_GIVENNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName">
+                <ui:validator type="checkNotEmpty" key="USER_FAMILYNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text beanId="userRoles"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield size="30" beanId="emailTF"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LOCALE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                      title="<%= locale.getDisplayLanguage() %>"/>
+            <ui:listbox beanId="userlocale"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell valign="top">
+            <ui:text key="TIMEZONE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="timezones"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LAYOUT_SELECT_THEME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="themeLB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+</ui:frame>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell align="center"><ui:actionsubmit action="doSaveAll" key="SAVE"/>
+</ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/redirect.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+
+    <!-- use this when you want to just hardcode server name and do a redirect -->
+    <!-- <meta http-equiv="refresh" content="1;url=http://127.0.0.1:8080/gridsphere/gridsphere">  -->
+</head>
+
+<body>
+<h1>Unauthorized Access</h1>
+Access to servlets that are accessed via http://host/webAppPrefix/servlet/ has been disabled!
+</body>
+</html>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnguestnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:actionlink layout="guest" value="Home"/>
+        </li>
+    </ul>
+</div>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:text style="nostyle" key="LOGIN_SUCCESS"/>
+            , <%= username %>
+        </li>
+        <ui:hasrole role="ADMIN">
+            <li>
+                <ui:actionlink layout="admin" value="Administration"/>
+            </li>
+            <li>
+                <ui:actionlink layout="content" value="Content"/>
+            </li>
+            <li>
+                <ui:actionlink layout="layout" value="Layout"/>
+            </li>
+        </ui:hasrole>
+        <li>
+            <ui:actionlink layout="profile" value="Profile"/>
+        </li>
+        <li>
+            <ui:actionlink layout="loggedin" value="Home"/>
+        </li>
+        <li>
+            <ui:actionlink action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+        </li>
+    </ul>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/edit.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:listbox beanId="feedsLB"/>
+    <ui:actionsubmit action="removeFeed" key="RSS_DELETE_FEED"/>
+    <br/>
+
+    <ui:text key="RSS_ENTERFEEDURL"/>
+    <ui:textfield beanId="newfeedurl"/>
+    <ui:actionsubmit action="saveFeed" key="RSS_ADD_FEED"/>
+
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/viewRSS.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<%@ page import="com.sun.syndication.feed.synd.SyndContent" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndEntry" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndFeed" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="java.util.Iterator" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<% SyndFeed feed = (SyndFeed) request.getAttribute("rssfeed");
+
+    if (feed != null) {
+%>
+
+<ui:form action="selectFeed">
+    <ui:listbox submitOnChange="true" beanId="feedsLB"/>
+</ui:form>
+
+<br>
+
+<%
+
+    Iterator entryIter = feed.getEntries().iterator();
+    while (entryIter.hasNext()) {
+        SyndEntry entry = (SyndEntry) entryIter.next();
+        String entryLink = entry.getLink();
+        String entryTitle = entry.getTitle();
+        Date entryDate = entry.getPublishedDate();
+        SyndContent content = entry.getDescription();
+        String value = content.getValue();
+
+
+%>
+<ui:group label="<%=entryTitle%>">
+    <ui:text cssStyle="font-size: x-small;  font-weight: italic"><%=entryDate%><br/></ui:text>
+    <p/>
+    <%=value%>
+    <p/>
+    <ui:text cssStyle="font-size: x-small;"><a href="<%=entryLink%>">
+        <ui:text key="RSS_READ_FULL_STORY"/>
+    </a></ui:text>
+</ui:group>
+
+<%
+
+
+    }
+%>
+
+<%
+
+    }
+
+%>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/createAdmin.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+    <h2>Create a Portal Administrator</h2>
+
+The portal administrator has access to all administrative capabilities of the portal including adding/editing users, roles
+and layouts. After creating an account, you will be able to login using the provided user name and password.
+
+    <p/>
+
+    <% String errMsg = (String)request.getAttribute("error");
+           if (errMsg != null) { %>
+
+        <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+
+        <%   } %>
+
+    <p/>
+
+<form action="<%= request.getContextPath() %>/setup?install=admin" method="POST">
+
+   <table>
+       <tr>
+           <td align="right">
+               <label for="username">User Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="username" id="username">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="firstname">First Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="firstname" id="firstname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="lastname">Last Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="lastname" id="lastname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="email">Email Address:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="email" id="email">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="organization">Organization:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="organization" id="organization">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password">Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password" id="password">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password2">Confirm Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password2" id="password2">
+           </td>
+       </tr>
+
+   </table>
+
+  <p/>
+
+    <input type="submit" value="Create Account"/>
+
+</form>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/selectDatabase.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+
+
+<script type="text/javascript">
+<!--
+function SelectDriver() {
+    var dbtype = document.dbform.dbtype.value;
+    var connURL ="";
+    var driver = "";
+    var dialect = "";
+    if (dbtype == "postgresql") {
+        connURL = "jdbc:postgresql://localhost:5432/gridsphere";
+        dialect = "org.hibernate.dialect.PostgreSQLDialect";
+        driver = "org.postgresql.Driver";
+    } else if (dbtype == "mysql") {
+        connURL = "jdbc:mysql://localhost:3306/gridsphere";
+        dialect = "org.hibernate.dialect.MySQLDialect";
+        driver = "com.mysql.jdbc.Driver";
+    } else if (dbtype == "oracle") {
+        connURL = "jdbc:oracle:thin:@localhost:1521:gridsphere";
+        dialect = "org.hibernate.dialect.Oracle9Dialect";
+        driver = "oracle.jdbc.driver.OracleDriver";
+    } else if (dbtype == "ms") {
+        connURL = "jdbc:sqlserver://localhost:1681/gridsphere";
+        dialect = "org.hibernate.dialect.SQLServerDialect";
+        driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+    }
+    document.dbform.databaseURL.value = connURL;
+    document.dbform.driverClass.value = driver;
+    document.dbform.dialect.value = dialect;
+
+    //alert(dbtype);
+}
+
+function DisplayWait( formName ) {
+
+    var waitDiv = document.getElementById("content");
+
+    waitDiv.innerHTML = '<div style="position: absolute; padding: 20px; border: solid 5px; background-color: white; left: 300px; width: 300px; z-index: 5;">  Please wait... database is being created!</div>';
+
+    document.dbform.custom.disabled = true;
+    document.simple.standard.disabled = true;
+    document[formName].submit();
+}
+
+// -->
+</script>
+
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+
+
+
+    <h2>Choose a Database Configuration</h2>
+
+    Select where GridSphere should store its data
+
+    <p/>
+
+
+    <fieldset>
+        <legend>Embedded Database</legend>
+
+        The embedded database is provided by GridSphere and is <b>recommended for evaluation and
+        demonstration purposes</b>. Production systems should consider using an external database for improved scalability and reliability.
+        (This option will create a HSQL database in the gridsphere web application).
+        <p/>
+        <form method="POST" name="simple" action="<%= request.getContextPath() %>/setup?install=default">
+
+
+            <input type="submit" name="standard" value="Embedded Database >>" onclick="DisplayWait( this.form.name )"/>
+
+        </form>
+
+    </fieldset>
+
+    <p/>
+
+
+    <div id="content"></div>
+
+    <fieldset>
+        <legend>External Database</legend>
+
+        If you wish the portal to store its data in an external database, please provide the necessary connection values.
+        This is <b>recommended for production systems</b>. You must also make sure the JDBC driver (JAR) is placed in the
+        application classloader of the servlet container. (In the case of Tomcat, place JAR file in <b>$TOMCAT/common/lib</b>
+        directory.
+        <p/>
+        <form name="dbform" method="POST" action="<%= request.getContextPath() %>/setup?install=custom">
+
+            <table>
+                <tr>
+                    <td align="right">
+                        <label for="dbtype">Choose your database:</label>
+                    </td>
+                    <td align="left">
+                        <select name="dbtype" id="dbtype" onchange="SelectDriver()">
+                            <option value="postgresql">PostgreSQL</option>
+                            <option value="mysql">MySQL</option>
+                            <option value="oracle">Oracle 9/10g</option>
+                            <option value="ms">MS SQL Server</option>
+                            <option value="other">Other</option>
+                        </select>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter a Database URL:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="databaseURL" id="connection" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the driver class name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="driverClass" id="driverclass" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the Hibernate dialect:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="dialect" id="dialect" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="username">Enter the User Name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="username" id="username"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="password">Enter the Password:</label>
+                    </td>
+                    <td align="left">
+                        <input type="password" name="password" id="password"/>
+                    </td>
+                </tr>
+            </table>
+            <p/>
+            <input type="submit" name="custom" value="External Database >>" onsubmit="DisplayWait( this.form.name )"/>
+        </form>
+
+    </fieldset>
+
+</div>
+
+<script type="text/javascript">
+<!--
+    SelectDriver();
+// -->
+</script>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/updateDatabase.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+
+
+<div style="padding-top: 3px; margin: 0px 0px 0px 10px; padding-left: 8px; padding-right:
+ 5px; padding-bottom: 1px;">
+
+    <h1>GridSphere Update</h1>
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+    GridSphere has detected that a new version of the portal has been installed! To continue, the existing database schemas
+    must be updated. You should first make a back-up of your existing database before completing this step.
+    <p/>
+    Do you wish to proceed?
+    <p/>
+
+        <form method="POST" action="<%= request.getContextPath() %>/setup?install=update">
+
+
+            <input type="submit" value="Update Database >>"/>
+
+        </form>
+
+</div>

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+
+
+<h1>GridSphere Setup</h1>
+
+
+<form method="POST" action="<%= request.getContextPath() %>/setup">
+
+
+Select a database type:
+
+<select name="dbtype" id="dbtype">
+    <option selected="selected" value="org.hibernate.dialect.HSQLDialect">HsqlDB (default)</option>
+    <option value="org.hibernate.dialect.PostgreSQLDialect">Postgres</option>
+    <option value="org.hibernate.dialect.MySQLDialect">MySQL</option>
+    <option value="org.hibernate.dialect.Oracle9Dialect">Oracle 9/10g</option>
+</select>
+
+Please provide the connection URL:
+
+<input type="text" name="connectionURL" id="connection"/>
+
+Please provide the user name
+
+<input type="text" name="username" id="username"/>
+
+Please provide the password
+
+<input type="password" name="password" id="password"/>
+
+
+    <input type="submit" value="Enter"/>
+
+</form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/approve.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED"/>
+
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/confirmsave.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:actionsubmit key="LOGIN_CANT_READ" action="cantRead"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveAccount" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/deny.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/scwblank.html
===================================================================

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/README.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+GridSphere Theme Support
+------------------------
+
+GS supports two pluggable look and feels (PLAF)s: classic and standard. The classic PLAF remains the old (GS 2.1.2 and earlier) look and feel using a combination of nested tables and some CSS. The current default PLAF is standard which is evolving towards a much more configurable pure CSS layout. Each PLAF supports multiple themes inside each of the PLAF subdirectories. If you are interested in developing a new theme, please use the standard PLAF and have a look at the CSS files.
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/default.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/general.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px;
+    font-size: small;
+
+}
+
+* html body {
+    font-size: small; /* for IE5/Win */
+
+}
+
+html {
+    background-color: #FFFFFF;
+
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/layout.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Lucida Grande", sans-serif;
+    padding: 0px;
+    border: 0px;
+}
+
+
+#gridsphere-layout-logo {
+    float: left;
+    width: 100%;
+    padding-top: 10px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+/*    background-color: #E5ECF9;*/
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ffffff;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ffffff;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+/*
+b.rtop, b.rbottom {
+    display: block;
+    background: #E5ECF9
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #E5ECF9
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+*/
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/menunav.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,149 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+/*
+.gridsphere-menu {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    margin:0;
+    background-color: #2D5B89;
+}
+
+.gridsphere-menu ul li a, .menu ul li a:visited {
+    display:block;
+    text-decoration:none;
+    width:109px;
+    height:20px;
+    text-align:center;
+    color:#FFFFFF;
+    border-bottom:1px solid #b4bfcc;
+    line-height:20px;
+    font-size:12px;
+    overflow:hidden;
+    background-color: #2D5B89;
+    font-weight: bold;
+}
+.gridsphere-menu ul {
+    padding:0;
+    margin:0;
+    list-style-type: none;
+}
+.gridsphere-menu ul li {
+    float:left;
+    margin-right:1px;
+    position:relative;
+
+}
+
+.gridsphere-menu ul li.selected a {
+    float:left;
+    margin-right:1px;
+    position:relative;
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li ul {
+    display: none;
+}
+
+.gridsphere-menu ul li:hover a {
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li:hover ul {
+    display:block;
+    position:absolute;
+    top:20px; left:0;
+    width:109px;
+}
+*/
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/navigation.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none; /*    border-bottom: 1px solid #BBBBBB;*/
+    background: #FFFFFF;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/portlet.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/tags.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/window.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #F1B900;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #FFFFFF;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #F1B900;
+    border-bottom: 1px solid #F1B900;
+    border-left: 1px solid #F1B900;
+    clear: both;
+    padding: 5px;
+    background-color: #FFFFFF;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/default.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/general.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px; /*    font-size: small;  */
+}
+
+* html body {
+/*    font-size: small; */
+/* for IE5/Win */
+}
+
+html {
+    background-color: #52A5F2;
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/layout.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+xx/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Arial, Helvetica, Lucida Grande", sans-serif;
+    font-size: small;
+    padding: 0px;
+    border: 0px;
+}
+
+#gridsphere-layout-logo {
+    float: left;
+    padding-top: 3px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+    background-color: #FFFFFF;
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ebebeb;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ebebeb;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+
+b.rtop, b.rbottom {
+    display: block;
+    background: #52A5F2;
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #ffffff;
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+
+

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/menunav.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small;
+
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-menu-bottom-line {
+    width: 100%;
+    background: #EBEBEB url( ../images/navr_bg_menu.gif ) repeat-x top left;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/navigation.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,121 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none;
+    border-bottom: 1px solid #727377;
+    background: url( ../images/sub-tab.gif ) repeat-x;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/portlet.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/tags.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/window.css
===================================================================
--- cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #52A5F2;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #fff;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #52A5F2;
+    border-bottom: 1px solid #52A5F2;
+    border-left: 1px solid #52A5F2;
+    clear: both;
+    padding: 5px;
+    background-color: #fff;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/build/webapps/gridsphere/themes/brush/default/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/build.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/build.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+# $Id: build.properties 6274 2007-05-30 13:57:24Z wehrens $
+#
+# Configuration properties for building GridSphere
+
+gridsphere.version=3.1
+gridsphere.release=alpha
+
+# The following 2 params determine the URL of the gridsphere portal, default is gridsphere/gridsphere
+# This is the name of the gridsphere webapp that is deployed, default is gridsphere
+# Some examples:
+#   http://<host name>/myorg/portal  
+#               gridsphere.deploy=myorg, gridsphere.context=portal
+#
+#   http://<host name>/portal
+#		gridsphere.deploy=ROOT, gridsphere.context=portal
+
+gridsphere.deploy=gridsphere
+gridsphere.context=gridsphere
+
+gridsphere.build=build
+gridsphere.dist=dist
+
+# possible options are jetty, tomcat, jetty6
+gridsphere.appserver=tomcat
+
+# deploy gs with precompiled jsp's; options are true or false (or anything else)
+gridsphere.useprecompiledjsp=true
+

Added: cs/trunk/apps-local/gridsphere/build.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/build.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/build.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,239 @@
+<!--
+Build file for the GridSphere Portal source code
+
+This is a build file for use with the Jakarta Ant build tool.
+
+ Prerequisites:
+
+jakarta-ant from http://jakarta.apache.org
+
+ Build Instructions:
+Invoke "ant help"
+
+ Copyright:
+   2002,2003,2004,2005,2006,2007
+
+ - $Id: build.xml 5248 2006-09-04 13:22:40Z wehrens $
+-->
+
+<project name="GridSphere 3.X" default="help">
+
+    <!-- get environment vars -->
+    <property environment="env"/>
+
+    <property file="build.properties"/>
+
+    <property name="optimize" value="false"/>
+    <property name="debug" value="on"/>
+    <property name="deprecation" value="false"/>
+
+    <!-- Version properties -->
+    <property name="version.release" value="${gridsphere.version}${gridsphere.release}"/>
+    <property name="gridsphere.project" value="gridsphere"/>
+    <property name="gridsphere.name" value="GridSphere ${version.release}"/>
+    <property name="gridsphere.api" value="GridSphere Portal Framework API ${version.release}"/>
+
+    <!-- GridSphere build and dist directories -->
+
+    <!-- GridSphere webapps files -->
+    <property name="gswebapp.dir" value="webapps/gridsphere"/>
+
+    <property name="projects.dir" value="projects"/>
+
+    <!-- GridSphere build targets -->
+    <property name="build.lib" value="${gridsphere.build}/lib"/>
+    <property name="build.classes" value="${gridsphere.build}/classes"/>
+    <property name="build.webapps" value="${gridsphere.build}/webapps"/>
+    <property name="build.javadoc" value="${build.webapps}/${gridsphere.deploy}/docs-${gridsphere.version}"/>
+
+    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+        <classpath>
+            <pathelement location="lib/ant-contrib-0.3.jar"/>
+        </classpath>
+    </taskdef>
+
+    <!-- ============================= Include the other build files =============================== -->
+
+    <import file="config/build/build-compile.xml"/>
+    <import file="config/build/build-database.xml"/>
+    <import file="config/build/build-dist.xml"/>
+    <import file="config/build/build-docs.xml"/>
+    <import file="config/build/build-deploy.xml"/>
+    <import file="config/build/build-server-tomcat.xml"/>
+    <import file="config/build/build-update.xml"/>
+    <import file="config/build/build-jsp-compile.xml"/>
+
+    <!-- ============================= Targets ===================================================== -->
+
+    <target name="help" description="Displays this help">
+
+    </target>
+
+    <target name="setenv" description="Check for libraries and print out config information">
+        <mkdir dir="${gridsphere.build}"/>
+        <mkdir dir="${projects.dir}"/>
+        <mkdir dir="${build.classes}"/>
+        <mkdir dir="${build.lib}"/>
+        <mkdir dir="${build.webapps}"/>
+
+        <!--
+           if tomcat check first for env.CATALINA_HOME
+
+           on jetty set it to APPSERVER_HOME
+        -->
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="tomcat"/>
+            <then>
+                <property name="appserver.home" value="${env.CATALINA_HOME}"/>
+
+                <if>
+
+                    <available file="${appserver.home}/common/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 5.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/common/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+
+                </if>
+                <if>
+                    <available file="${appserver.home}/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 6.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                            <fileset dir="${appserver.home}/bin/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+                </if>
+            </then>
+        </if>
+
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="jetty"/>
+            <then>
+                <echo message="Installing for Jetty"/>
+                <property name="appserver.home" value="${env.APPSERVER_HOME}"/>
+                <path id="servletpath">
+                    <fileset dir="${appserver.home}/lib/">
+                        <exclude name="*.LICENSE"/>
+                        <include name="*.jar"/>
+                    </fileset>
+                    <fileset dir="${appserver.home}/lib/jsp-2.1/">
+                        <exclude name="*.LICENSE"/>
+                        <include name="*.jar"/>
+                    </fileset>
+
+                </path>
+            </then>
+        </if>
+
+        <path id="classpath">
+            <pathelement location="${build.classes}"/>
+            <fileset dir="lib">
+                <exclude name="*.LICENSE"/>
+                <include name="*.jar"/>
+            </fileset>
+            <fileset dir="${env.ANT_HOME}/lib">
+                <include name="*.jar"/>
+            </fileset>
+            <pathelement location="config"/>
+            <path refid="servletpath"/>
+        </path>
+
+        <echo message="GridSphere Webserver is ${gridsphere.appserver}"/>
+        <echo message="GridSphere will be deployed to ${appserver.home} as the ${gridsphere.deploy} web application"/>
+    </target>
+
+
+    <!-- =================================================================== -->
+    <!-- Cleans everything                                                   -->
+    <!-- =================================================================== -->
+    <target name="clean" description="Delete classes and existing library">
+        <delete quiet="true" dir="${gridsphere.build}"/>
+        <delete quiet="true" dir="${gridsphere.dist}"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a new portlet project "newproject" in projects directory    -->
+    <!-- =================================================================== -->
+    <target name="new-project" depends="setenv" description="Creates a new portlet project in projects directory">
+        <ant antfile="config/build/build-newproject.xml" target="new-project"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a new portlet project "newproject" in projects directory    -->
+    <!-- =================================================================== -->
+    <target name="update-project" depends="setenv" description="Updates a portlet project in projects directory">
+        <ant antfile="config/build/build-newproject.xml" target="update-project"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Prints GridSphere license agreement                                 -->
+    <!-- =================================================================== -->
+    <target name="license" description="Prints GridSphere license">
+        <loadfile property="license" srcFile="LICENSE.txt"/>
+        <echo message="${license}"/>
+        <input message="Do you agree to these terms? Hit y or n" validargs="y,n" addProperty="agreed"/>
+        <condition property="do.abort">
+            <equals arg1="n" arg2="${agreed}"/>
+        </condition>
+        <fail if="do.abort">Build aborted by user.</fail>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Deploys TCK                                                         -->
+    <!-- =================================================================== -->
+
+    <target name="deploy-tck" depends="jar">
+        <taskdef name="deploytck"
+                 classname="org.gridsphere.tools.DeployGridSphereTCK"
+                 classpathref="classpath"/>
+        <deploytck builddir="${gridsphere.build}" wardir="webapps/tck" server="${appserver.home}"/>
+    </target>
+
+
+    <!-- =================================================================== -->
+    <!-- Shows splash install screen                                         -->
+    <!-- =================================================================== -->
+
+    <target name="splash" description="Display the logo">
+        <property name="splash.dir" location="."/>
+        <splash imageurl="file:webapps/gridsphere/images/gridsphere_logo.png" showduration="0"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Builds and deploys GridSphere                                       -->
+    <!-- =================================================================== -->
+
+    <target name="install" depends="clean, license" description="Build and deploy GridSphere">
+        <echo>------------------------------------------------------------</echo>
+        <echo>-- Installing GridSphere documentation is recommended --</echo>
+        <echo>------------------------------------------------------------</echo>
+        <echo>Answering 'y' below will deploy GridSphere javadoc API.</echo>
+        <echo>If you answer 'n' you can deploy the javadoc API documentation at a later time</echo>
+        <echo>with 'ant docs'.</echo>
+        <echo>------------------------------------------------------------</echo>
+        <input message="Do you want to install GridSphere JavaDoc API? "
+               validargs="y,n" defaultvalue="y" addProperty="install.docs.agreed"/>
+        <condition property="install.docs">
+            <equals arg1="y" arg2="${install.docs.agreed}"/>
+        </condition>
+        <antcall target="answer-docs"/>
+        <antcall target="deploy"/>
+        <echo message="GridSphere successfully installed."/>
+        <echo message=" "/>
+        <echo message="+--------------------------------------------------------------------------+"/>
+        <echo message="| Please start up your webserver and go to http://server:port/gridsphere/  |"/>
+        <echo message="+--------------------------------------------------------------------------+"/>
+    </target>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-compile.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-compile.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-compile.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,156 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-compile.xml 6280 2007-06-06 11:32:24Z wehrens $
+
+-->
+
+<project name="GridSphere Jar">
+
+    <!-- Compiles the sourcecode and makes jar's. Include file to build.xm -->
+
+    <!-- =================================================================== -->
+    <!-- Compiles core framework                                             -->
+    <!-- =================================================================== -->
+    <target name="compile" depends="setenv" description="Compile core framework">
+        <echo>Compiling core framework</echo>
+        <javac srcdir="src"
+               destdir="${build.classes}"
+               classpathref="classpath"
+               debug="${debug}"
+               optimize="${optimize}"
+               deprecation="${deprecation}"/>
+    </target>
+
+    <!-- ================================================================== -->
+    <!-- Create the GridSphere Portlet Container JAR library archive        -->
+    <!-- ================================================================== -->
+    <target name="gridsphere-portal-jar" depends="compile" description="Makes gridsphere JAR">
+        <mkdir dir="${build.classes}/gridsphere"/>
+        <filter token="GRIDSPHERE_RELEASE" value="${gridsphere.name}"/>
+        <copy overwrite="true" file="config/portlet.properties"
+              todir="${build.classes}/org/gridsphere/portlet/impl/"
+              filtering="true"/>
+        <copy file="config/mapping/portlet-mapping.xml"
+              todir="${build.classes}/org/gridsphere/portletcontainer/impl/descriptor"/>
+        <jar jarfile="${build.lib}/gridsphere-portal-${gridsphere.version}.jar" basedir="${build.classes}"
+             defaultexcludes="yes">
+            <include name="org/gridsphere/portletcontainer/impl/**"/>
+            <include name="org/gridsphere/portlet/impl/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates the GridSphere portlets JAR                                 -->
+    <!-- =================================================================== -->
+    <target name="gridsphere-core-jar" depends="compile" description="Create GridSphere Core JAR">
+        <copy file="config/mapping/layout-mapping.xml"
+              todir="${build.classes}/org/gridsphere/layout/"/>
+        <copy file="config/mapping/portal-filters-mapping.xml"
+              todir="${build.classes}/org/gridsphere/filters/"/>
+        <jar jarfile="${build.lib}/gridsphere-core-${gridsphere.version}.jar" basedir="${build.classes}">
+            <!-- core portlets, GS servlet & filter, event impl -->
+            <exclude name="org/gridsphere/portlets/**"/>
+            <include name="org/gridsphere/servlets/**"/>
+            <include name="org/gridsphere/filters/**"/>
+            <!-- layout impl classes -->
+            <include name="org/gridsphere/layout/**"/>
+            <include name="org/gridsphere/layout/event/impl/**"/>
+            <exclude name="org/gridsphere/layout/event/*.class"/>
+            <exclude name="org/gridsphere/layout/PortletComponent.class"/>
+            <exclude name="org/gridsphere/layout/ComponentRender.class"/>
+            <exclude name="org/gridsphere/layout/ComponentLifecycle.class"/>
+            <!-- core service impl classes -->
+            <include name="org/gridsphere/services/**/impl/**"/>
+        </jar>
+    </target>
+
+    <target name="gridsphere-core-portlets-jar" depends="compile" description="Core Gridsphere portlets">
+        <jar jarfile="${build.lib}/gridsphere-coreportlets-${gridsphere.version}.jar" basedir="${build.classes}">
+            <include name="org/gridsphere/portlets/**"/>
+        </jar>
+    </target>
+
+    <target name="gridsphere-portlet-servlet-jar" depends="compile" description="Contains the portlet servlet">
+        <jar jarfile="${build.lib}/gridsphere-portletservlet-${gridsphere.version}.jar" basedir="${build.classes}">
+            <include name="org/gridsphere/provider/portlet/jsr/PortletServlet.class"/>
+        </jar>
+    </target>
+
+    <target name="gridsphere-locale-jar" description="Contains the locale info">
+        <jar jarfile="${build.lib}/gridsphere-locale-${gridsphere.version}.jar"
+             basedir="webapps/gridsphere/WEB-INF/classes"/>
+    </target>
+
+    <target name="gridsphere-ant-tools-jar" depends="compile" description="Create GridSphere Core JAR">
+        <copy file="config/log4j.properties"
+              todir="${build.classes}/org/gridsphere/tools"/>
+        <jar jarfile="${build.lib}/gridsphere-ant-tools-${gridsphere.version}.jar" basedir="${build.classes}">
+            <include name="org/gridsphere/tools/**"/>
+        </jar>
+    </target>
+
+
+    <target name="gridsphere-portal-api-jar" depends="compile" description="Create GridSphere Portal API JAR">
+        <echo>Creating GridSphere Portal API JAR</echo>
+        <copy todir="${build.classes}/gridsphere/resources">
+            <fileset dir="config/resources"/>
+        </copy>
+        <copy file="config/mapping/auth-modules-mapping.xml"
+              todir="${build.classes}/org/gridsphere/services/core/security/auth/modules/impl/descriptor"/>
+        <jar jarfile="${build.lib}/gridsphere-portal-api-${gridsphere.version}.jar" basedir="${build.classes}">
+            <!-- portlet container interfaces -->
+            <include name="org/gridsphere/portletcontainer/**"/>
+            <exclude name="**/impl/**"/>
+            <!-- core services interfaces -->
+            <include name="org/gridsphere/services/**"/>
+            <!-- core layout interfaces -->
+            <include name="org/gridsphere/layout/PortletComponent.class"/>
+            <include name="org/gridsphere/layout/ComponentRender.class"/>
+            <include name="org/gridsphere/layout/ComponentLifecycle.class"/>
+            <include name="org/gridsphere/layout/event/**"/>
+            <!-- JSR 168 API -->
+            <include name="javax/**"/>
+            <!-- GS properties -->
+            <include name="gridsphere/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates the GridSphere service framework JAR library archive        -->
+    <!-- =================================================================== -->
+    <target name="gridsphere-service-framework-jar" depends="compile"
+            description="Creates GS portlet service framework JAR">
+        <echo>Creating GridSphere service framework JAR</echo>
+        <copy file="config/mapping/portlet-services-mapping.xml"
+              todir="${build.classes}/org/gridsphere/portlet/service/spi/impl"/>
+        <jar jarfile="${build.lib}/gridsphere-service-framework-${gridsphere.version}.jar" basedir="${build.classes}">
+            <include name="**/portlet/service/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates the GridSphere Provider JAR                                 -->
+    <!-- =================================================================== -->
+    <target name="gridsphere-provider-jar" depends="compile" description="Create lib/gridsphere-provider.jar">
+        <copy todir="${build.classes}/gridsphere/resources">
+            <fileset dir="config/resources"/>
+        </copy>
+        <jar jarfile="${build.lib}/gridsphere-provider-${gridsphere.version}.jar" basedir="${build.classes}">
+            <include name="org/gridsphere/provider/**"/>
+            <exclude name="org/gridsphere/provider/portlet/jsr/PortletServlet.class"/>
+            <include name="gridsphere/**"/>
+            <metainf dir="webapps/gridsphere/META-INF/tlds"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates all JAR's                                                   -->
+    <!-- =================================================================== -->
+    <target name="jar"
+            depends="gridsphere-service-framework-jar, gridsphere-provider-jar, gridsphere-portal-api-jar,
+            gridsphere-core-jar, gridsphere-portal-jar, gridsphere-ant-tools-jar, gridsphere-core-portlets-jar,
+            gridsphere-portlet-servlet-jar, gridsphere-locale-jar"
+            description="Creates all jars"/>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-database.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-database.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-database.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-database.xml 6280 2007-06-06 11:32:24Z wehrens $
+
+-->
+
+
+<project name="GridSphere database">
+
+    <!-- Creates the database . Include file to build.xm -->
+
+    <!-- =================================================================== -->
+    <!-- Creates database                                                    -->
+    <!-- =================================================================== -->
+
+    <target name="create-database" depends="setenv">
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath">
+        </taskdef>
+        <dbtask
+                configdir="${appserver.home}/webapps/${gridsphere.deploy}"
+                action="CREATE"/>
+        <touch file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/database/GS_${version.release}"/>
+    </target>
+
+    <target name="update-database" depends="setenv">
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath">
+        </taskdef>
+        <dbtask
+                configdir="${appserver.home}/webapps/${gridsphere.deploy}"
+                action="UPDATE"/>
+    </target>
+
+    <target name="hsql" depends="setenv">
+        <echo message="Starting HSQLDB"/>
+        <java dir="." fork="true" classname="org.hsqldb.Server" classpathref="classpath">
+            <arg line="-database ${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/database/gridsphere"/>
+        </java>
+    </target>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-deploy.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-deploy.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-deploy.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,255 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-deploy.xml 6280 2007-06-06 11:32:24Z wehrens $
+
+-->
+
+
+<project name="GridSphere Deploy">
+
+    <!-- ++++++++++++++++++++++ -->
+    <!--- deploy -->
+
+    <target name="deploy">
+
+        <echo message="GridSphere AppServer: ${gridsphere.appserver}"/>
+
+        <!--<if>-->
+        <!--<equals arg1="${gridsphere.appserver}" arg2="jetty"/>-->
+        <!--<then>-->
+        <!--<echo message="Installing for Jetty"/>-->
+        <!--<antcall target="deploy-jetty"/>-->
+        <!--</then>-->
+        <!--</if>-->
+
+        <!--<if>-->
+        <!--<equals arg1="${gridsphere.appserver}" arg2="jetty6"/>-->
+        <!--<then>-->
+        <!--<echo message="Installing for Jetty6"/>-->
+        <!--<antcall target="deploy-jetty6"/>-->
+        <!--</then>-->
+        <!--</if>-->
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="tomcat"/>
+            <then>
+                <echo message="Installing for Tomcat"/>
+                <antcall target="deploy-tomcat"/>
+            </then>
+        </if>
+    </target>
+
+    <!-- ++++++++++++++++++++++ -->
+    <!-- deploy-common -->
+
+    <target name="copy-buildwebapp" depends="jar" description="Copies jars and webapp to the build.deploy directory">
+
+
+        <!-- copy webapp to build dir excluding files which need special handling-->
+        <filter token="GRIDSPHERE_VERSION" value="${gridsphere.version}"/>
+        <copy filtering="true" todir="${build.webapps}/${gridsphere.deploy}" encoding="UTF-8">
+            <fileset dir="${gswebapp.dir}">
+                <!--<exclude name="**/tlds/**"/>-->
+                <exclude name="index.html"/>
+                <exclude name="WEB-INF/web.xml"/>
+                <exclude name="META-INF/context.xml"/>
+                <exclude name="images/**"/>
+                <exclude name="themes/**"/>
+                <exclude name="javascript/**"/>
+                <exclude name="WEB-INF/classes/**"/>
+            </fileset>
+        </copy>
+
+        <!-- Copy images without filtering -->
+        <copy overwrite="true" filtering="false" todir="${build.webapps}/${gridsphere.deploy}">
+            <fileset dir="${gswebapp.dir}">
+                <include name="images/**"/>
+                <include name="themes/**"/>
+                <include name="javascript/**"/>
+            </fileset>
+        </copy>
+    </target>
+
+    <target name="deploy-common" depends="copy-buildwebapp"
+            description="Filters and copies all necessary files to build directory">
+
+        <!-- Copy the gridsphere web app to build directory -->
+        <pathconvert targetos="windows" dirsep="/" property="cathome">
+            <path location="${appserver.home}"/>
+        </pathconvert>
+
+
+        <filter token="GRIDSPHERE_DB"
+                value="${cathome}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/database/gridsphere"/>
+        <filter token="GRIDSPHERE_CONTEXT" value="${gridsphere.context}"/>
+        <filter token="GRIDSPHERE_DEPLOY" value="${gridsphere.deploy}"/>
+        <!-- copy the rest of the webapps dir to -->
+        <copy overwrite="true" filtering="true" todir="${build.webapps}/${gridsphere.deploy}" encoding="UTF-8">
+            <fileset dir="${gswebapp.dir}">
+                <!--<exclude name="**/tlds/**"/>-->
+                <exclude name="index.html"/>
+                <exclude name="WEB-INF/web.xml"/>
+                <exclude name="META-INF/context.xml"/>
+                <exclude name="images/**"/>
+                <exclude name="themes/**"/>
+                <exclude name="javascript/**"/>
+                <exclude name="WEB-INF/classes/**"/>
+            </fileset>
+        </copy>
+
+        <!-- Copy images without filtering -->
+        <copy overwrite="true" todir="${build.webapps}/${gridsphere.deploy}">
+            <fileset dir="${gswebapp.dir}">
+                <include name="images/**"/>
+                <include name="themes/**"/>
+                <include name="javascript/**"/>
+            </fileset>
+        </copy>
+
+        <!-- define empty filter to replace the mark in web.xml -->
+        <filter token="PRECOMPILED-JSP" value=""/>
+
+        <if>
+            <!-- if we use procompiled jsp's use the content of web.inc if it exists -->
+            <equals arg1="${gridsphere.useprecompiledjsp}" arg2="true"/>
+            <then>
+                <if>        <!-- to avoid errormsg if not found -->
+                    <available file="${gridsphere.build}/jsp/web.inc"/>
+                    <then>
+                        <loadfile property="web.inc" srcfile="${gridsphere.build}/jsp/web.inc" failonerror="false"/>
+                        <!-- redefine the filter to include web.inc -->
+                        <filter token="PRECOMPILED-JSP" value="${web.inc}"/>
+                    </then>
+                </if>
+            </then>
+        </if>
+
+
+        <!-- overwrite the following files in the build.dir again with files from the source
+             but parsed and with replaced text -->
+
+        <!-- copy web.xml and make modifications -->
+        <copy overwrite="true" tofile="${build.webapps}/${gridsphere.deploy}/WEB-INF/web.xml"
+              file="${gswebapp.dir}/WEB-INF/web.xml" filtering="true"/>
+
+        <!-- copy context.xml and replace context and deploy -->
+        <copy overwrite="true" tofile="${build.webapps}/${gridsphere.deploy}/META-INF/context.xml"
+              file="${gswebapp.dir}/META-INF/context.xml" filtering="true"/>
+
+        <!-- copy LICENSE, RELEASE-NOTES ... -->
+        <copy file="LICENSE.txt" tofile="${build.webapps}/${gridsphere.deploy}/LICENSE.txt"/>
+        <copy file="README.txt" tofile="${build.webapps}/${gridsphere.deploy}/README.txt"/>
+
+    </target>
+    <!-- ++++++++++++++++++++++ -->
+    <!-- deploy-copy -->
+
+    <target name="deploy-copy" depends="deploy-common, gridsphere-jsp-jar"
+            description="Performs deploy-common and deploys build directory to app server">
+
+        <!-- copy build.webappsdir to deployed location -->
+        <copy todir="${appserver.home}/webapps">
+            <fileset dir="${build.webapps}">
+                <exclude name="**/CustomPortal/**"/>
+            </fileset>
+        </copy>
+
+        <!-- only copy over the portal properties if not there already -->
+        <if>
+            <available type="dir" file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal"/>
+            <then/>
+            <else>
+                <filter token="GRIDSPHERE_CONTEXT" value="${gridsphere.context}"/>
+                <filter token="GRIDSPHERE_DEPLOY" value="${gridsphere.deploy}"/>
+                <copy filtering="true" todir="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal">
+                    <fileset dir="${build.webapps}/${gridsphere.deploy}/WEB-INF/CustomPortal"/>
+                </copy>
+            </else>
+        </if>
+    </target>
+
+    <!-- ========================================================= -->
+    <!-- =          JETTY                                        = -->
+    <!-- ========================================================= -->
+
+
+    <!-- deploys gridsphere to jetty -->
+    <target name="deploy-jetty" depends="deploy-copy">
+
+        <copy overwrite="true" todir="${appserver.home}/ext">
+            <fileset dir="${build.lib}">
+                <include name="gridsphere-service-framework-${gridsphere.version}.jar"/>
+                <include name="gridsphere-portal-api-${gridsphere.version}.jar"/>
+            </fileset>
+        </copy>
+
+    </target>
+
+    <!-- ========================================================= -->
+    <!-- =          JETTY6                                        = -->
+    <!-- ========================================================= -->
+
+
+    <!-- deploys gridsphere to jetty -->
+    <target name="deploy-jetty6" depends="deploy-copy">
+
+        <copy overwrite="true" todir="${appserver.home}/lib">
+            <fileset dir="${build.lib}">
+                <include name="gridsphere-service-framework-${gridsphere.version}.jar"/>
+                <include name="gridsphere-portal-api-${gridsphere.version}.jar"/>
+            </fileset>
+        </copy>
+        <copy overwrite="true" todir="${appserver.home}/lib">
+            <fileset dir="lib/">
+                <include name="log4j*.jar"/>
+                <include name="commons-logging*.jar"/>
+            </fileset>
+        </copy>
+
+    </target>
+
+    <!-- ========================================================= -->
+    <!-- =          TOMCAT                                       = -->
+    <!-- ========================================================= -->
+
+    <target name="deploy-tomcat" depends="deploy-copy">
+        <!-- Copy context file -->
+        <filter token="GRIDSPHERE_DEPLOY" value="${gridsphere.deploy}"/>
+        <if>
+            <available file="${appserver.home}/conf/Catalina" type="dir" property="tomcat5"/>
+            <then>
+                <echo message="Detected Tomcat 5"/>
+                <copy overwrite="true" todir="${appserver.home}/shared/lib">
+                    <fileset dir="lib">
+                        <exclude name="licenses/**"/>
+                        <exclude name="*.txt"/>
+                    </fileset>
+                    <fileset dir="${build.lib}">
+                        <include name="*.jar"/>
+                    </fileset>
+
+                </copy>
+            </then>
+            <else>
+                <echo message="Detected Tomcat 6"/>
+                <echo message=" "/>
+                <echo message="+---------------------------------------------------------------------------+"/>
+                <echo message="| TOMCAT 6 IS NOT YET FULLY SUPPORTED WHEN DEPLOYING OTHER PORTLET WEBAPPS  |"/>
+                <echo message="| PLEASE USE TOMCAT 5.5.x                                                   |"/>
+                <echo message="+---------------------------------------------------------------------------+"/>
+                <echo message=" "/>
+
+                <copy overwrite="true" todir="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/lib">
+                    <fileset dir="${build.lib}">
+                        <include name="gridsphere-service-framework-${gridsphere.version}.jar"/>
+                        <include name="gridsphere-portal-api-${gridsphere.version}.jar"/>
+                    </fileset>
+                </copy>
+            </else>
+        </if>
+
+
+    </target>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-dist.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-dist.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-dist.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-dist.xml 4676 2006-03-27 18:03:35Z novotny $
+
+-->
+
+<!-- =================================================================== -->
+<!-- Creates sourcetarball                                               -->
+<!-- =================================================================== -->
+<project name="GridSphere Distribution">
+
+<target name="dist" depends="clean" description="Create GridSphere source zip/tarball distributions">
+    <tar destfile="${gridsphere.project}-${version.release}-src.tar" longfile="gnu">
+        <tarfileset dir="." prefix="${gridsphere.project}-${version.release}">
+            <exclude name="**/CVS"/>
+            <exclude name="*.ipr"/>
+            <exclude name="*.iws"/>
+            <exclude name="projects"/>
+            <exclude name="${gridsphere.project}-${version.release}-src.tgz"/>
+            <exclude name="${gridsphere.project}-${version.release}-src.zip"/>
+        </tarfileset>
+    </tar>
+    <gzip src="${gridsphere.project}-${version.release}-src.tar" zipfile="${gridsphere.project}-${version.release}-src.tgz"/>
+    <delete file="${gridsphere.project}-${version.release}-src.tar"/>
+
+    <zip destfile="${gridsphere.project}-${version.release}-src.zip">
+        <zipfileset dir="." prefix="${gridsphere.project}-${version.release}">
+            <exclude name="**/CVS"/>
+            <exclude name="*.ipr"/>
+            <exclude name="*.iws"/>
+            <exclude name="projects"/>
+            <exclude name="${gridsphere.project}-${version.release}-src.zip"/>
+            <exclude name="${gridsphere.project}-${version.release}-src.tgz"/>
+        </zipfileset>
+    </zip>
+</target>
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-docs.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-docs.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-docs.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-docs.xml 5513 2006-10-10 21:10:37Z novotny $
+
+-->
+
+
+<project name="GridSphere documentation">
+
+    <!-- Generates the documentation. Include file to build.xm -->
+
+    <target name="answer-docs" description="Check whether to create GridSphere Documentation" if="install.docs">
+        <antcall target="docs"/>
+    </target>
+
+    <target name="docs" depends="javadoc" description="Create GridSphere Documentation"/>
+
+    <target name="check-javadocs">
+        <condition property="javadocs.exists">
+            <available file="${build.javadoc}/index.html"/>
+        </condition>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates all the API documentation                                   -->
+    <!-- =================================================================== -->
+    <target name="javadoc" depends="setenv, check-javadocs" description="Create GridSphere Javadocs" unless="javadocs.exists">
+        <mkdir dir="${build.javadoc}"/>
+        <javadoc packagenames="org.gridsphere.*, javax.*"
+            sourcepath="src"
+            classpathref="classpath"
+            destdir="${build.javadoc}"
+            author="true"
+            version="true"
+            splitindex="true"
+            use="true"
+            breakiterator="true"
+            maxmemory="256m"
+            windowtitle="${gridsphere.name}"
+            doctitle="${gridsphere.api}"
+            bottom="Copyright &#169; 2002-2006 GridSphere Project. All Rights Reserved.">
+
+            <group title="GridSphere Framework API"
+                packages="org.gridsphere:org.gridsphere.*"/>
+
+            <group title="GridSphere Service API"
+                packages="org.gridsphere.portlet.service:org.gridsphere.portlet.service.*,
+                          org.gridsphere.portlet.service.spi:org.gridsphere.portlet.service.spi.*"/>
+
+            <group title="JSR 168 Portlet API"
+                packages="javax.portlet:javax.portlet.*"/>
+
+            <group title="GridSphere JSR 168 Portlet API Implementation"
+                packages="org.gridsphere.portlet.impl:org.gridsphere.portlet.impl.*"/>
+
+            <group title="GridSphere Layout Component Library"
+                packages="org.gridsphere.layout:org.gridsphere.layout.*"/>
+
+            <group title="GridSphere UI Tag Library"
+                packages="org.gridsphere.tags:org.gridsphere.tags.*"/>
+
+            <group title="GridSphere Portlet Service Library"
+                packages="org.gridsphere.services:org.gridsphere.services.*"/>
+
+            <group title="GridSphere Portlets"
+                packages="org.gridsphere.portlets:org.gridsphere.portlets.*"/>
+
+        </javadoc>
+    </target>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build-jsp-compile.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-jsp-compile.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-jsp-compile.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+<project name="GridSphere JSP compile">
+
+
+    <!-- =================================================================== -->
+    <!-- Precompile JSP Pages                                                -->
+    <!-- =================================================================== -->
+
+    <!-- prolems here:
+        jspc: seems to ignore the exclude tag, so even for jsp includes java code is generated, even the web.inc
+              mapping is done
+        javac: if **/include/** is excluded from compiling, everything works in tomcat, jetty will complain about
+              missing servlets which where generatedin web.inc from jspc
+
+    -->
+
+    <target name="jsp-precompile" depends="gridsphere-provider-jar">
+
+        <taskdef name="jspc50" classname="org.apache.jasper.JspC" classpathref="classpath">
+            <classpath id="jspc50.classpath">
+                <fileset dir="${gridsphere.build}/lib/">
+                    <include name="*.jar"/>
+                </fileset>
+            </classpath>
+        </taskdef>
+
+
+        <mkdir dir="${gridsphere.build}/jsp/source"/>
+        <mkdir dir="${gridsphere.build}/jsp/classes"/>
+        <if>
+            <equals arg1="${gridsphere.useprecompiledjsp}" arg2="true"/>
+            <then>
+
+                <jspc50 outputDir="${gridsphere.build}/jsp/source"
+                        uriroot="${gridsphere.build}/webapps/${gridsphere.deploy}/"
+                        webXmlFragment="${gridsphere.build}/jsp/web.inc"
+                        validateXml="false">
+                </jspc50>
+            </then>
+        </if>
+
+    </target>
+
+    <target name="jsp-compile" depends="jsp-precompile">
+        <javac srcdir="${gridsphere.build}/jsp/source"
+               destdir="${gridsphere.build}/jsp/classes"
+               debug="true"
+               optimize="false"
+               includes="**/*.java"
+               classpath="${build.lib}/gridsphere-provider-${gridsphere.version}.jar"
+               classpathref="classpath">
+        </javac>
+
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Put JSP pages in a jar                                              -->
+    <!-- =================================================================== -->
+
+    <target name="gridsphere-jsp-jar" depends="copy-buildwebapp, jsp-compile">
+        <if>
+            <equals arg1="${gridsphere.useprecompiledjsp}" arg2="true"/>
+            <then>
+                <!-- create the jar and copy it in the webapp -->
+                <jar jarfile="${gridsphere.build}/lib/gridsphere-jsp-${gridsphere.version}.jar"
+                     basedir="${gridsphere.build}/jsp/classes/">
+                    <include name="**"/>
+                </jar>
+            </then>
+        </if>
+    </target>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/config/build/build-newproject.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-newproject.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-newproject.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+<project name="New Project" default="new-project" basedir=".">
+
+    <property file="build.properties"/>
+    <property name="version.release" value="${version.release}"/>
+
+    <target name="check-project-exists">
+        <condition property="new-project-exists">
+            <not>
+                <available file="${project.dir}/build.xml"/>
+            </not>
+        </condition>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Updates a portlet project in projects directory                     -->
+    <!-- =================================================================== -->
+    <target name="update-project" description="Updates existing project with updated build.xml script">
+        <echo>Updating a Portlet Project</echo>
+        <input message="Please enter the project web app to update inside projects/ directory"
+               addproperty="project.name"/>
+        <property name="newproject.dir" value="projects/${project.name}"/>
+        <echo message="Overwriting ${newproject.dir}/build.xml and copying existing ${newproject.dir}/build.xml to ${newproject.dir}/build.xml.bak"/>
+        <copy file="${newproject.dir}/build.xml" tofile="${newproject.dir}/build.xml.bak" overwrite="true"/>
+        <copy file="config/build/build.project.xml" tofile="${newproject.dir}/build.xml" overwrite="true"/>
+        <replace file="${newproject.dir}/build.xml"
+                 token="@GRIDSPHERE_VERSION@"
+                 value="${version.release}"/>
+        <replace file="${newproject.dir}/build.xml"
+                 token="@PROJECT_TITLE@"
+                 value="${project.title}"/>
+        <replace file="${newproject.dir}/build.xml"
+                 token="@PROJECT_NAME@"
+                 value="${project.name}"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a new portlet project  in projects directory                -->
+    <!-- =================================================================== -->
+    <target name="new-project" description="Creates a new portlet project in projects directory">
+        <echo>Creating a New Portlet Project</echo>
+        <mkdir dir="projects"/>
+        <input message="Please enter a Project Title e.g. Cool Portlets" addproperty="project.title"/>
+
+        <input message="Please enter a Project Name this will be used for your portlet web application and should be lowercase e.g. coolportlets"
+               addproperty="project.name"/>
+
+        <property name="project.dir" value="projects/${project.name}"/>
+
+        <antcall target="check-project-exists"/>
+        <fail if="${new-project-exists}"
+              message="This project already exists! Please delete the old one in ${project.dir}"/>
+        <mkdir dir="${project.dir}"/>
+
+
+        <copy file="config/build/build.project.xml" tofile="${project.dir}/build.xml"/>
+
+        <copy file="config/build/build.properties" tofile="${project.dir}/build.properties" filtering="true"/>
+
+        <replace file="${project.dir}/build.xml"
+                 token="@GRIDSPHERE_VERSION@"
+                 value="${version.release}"/>
+        <replace file="${project.dir}/build.properties"
+                 token="@PROJECT_TITLE@"
+                 value="${project.title}"/>
+        <replace file="${project.dir}/build.properties"
+                 token="@PROJECT_NAME@"
+                 value="${project.name}"/>
+        <replace file="${project.dir}/build.xml"
+                 token="@PROJECT_NAME@"
+                 value="${project.name}"/>
+
+        <mkdir dir="${project.dir}/src"/>
+        <mkdir dir="${project.dir}/lib"/>
+
+        <mkdir dir="${project.dir}/webapp"/>
+        <mkdir dir="${project.dir}/webapp/WEB-INF"/>
+        <mkdir dir="${project.dir}/webapp/WEB-INF/classes"/>
+        <copy file="config/log4j.properties" tofile="${project.dir}/webapp/WEB-INF/classes/log4j.properties"/>
+
+        <mkdir dir="${project.dir}/webapp/WEB-INF/persistence"/>
+        <copy todir="${project.dir}/webapp/WEB-INF">
+            <fileset dir="config/template"/>
+            <mapper type="glob" from="*.xml.tpl" to="*.xml"/>
+        </copy>
+        <copy file="config/template/hibernate.properties" todir="${project.dir}/webapp/WEB-INF/persistence"/>
+
+        <replace file="${project.dir}/webapp/WEB-INF/web.xml" token="@PROJECT_TITLE@"
+                 value="${project.title}"/>
+        <replace file="${project.dir}/webapp/WEB-INF/web.xml" token="@PROJECT_NAME@"
+                 value="${project.name}"/>
+
+        <mkdir dir="${project.dir}/webapp/html"/>
+        <mkdir dir="${project.dir}/webapp/jsp"/>
+
+        <echo>Creation of new portlet project ${project.title} in projects/${project.name} is complete.</echo>
+        <echo>Please edit src/ webapps/ and webapps/WEB-INF/{web.xml, PortletServices.xml} appropriately</echo>
+        <echo>Please place portlets in src/**/portlets/ directory and service in src/**/services directory for proper
+            compilation!
+        </echo>
+    </target>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/config/build/build-server-tomcat.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-server-tomcat.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-server-tomcat.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-server-tomcat.xml 4496 2006-02-08 20:27:04Z wehrens $
+
+-->
+
+<project name="tomcat">
+
+    <!-- ==================================================================== -->
+    <!-- Start Tomcat                                                         -->
+    <!-- ==================================================================== -->
+    <target name="start-tomcat">
+        <java classname="org.apache.catalina.startup.Bootstrap" fork="yes">
+            <jvmarg value="-Dcatalina.home=${gridsphere.appserver}"/>
+            <jvmarg value="-Xdebug"/>
+            <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"/>
+            <arg value="start"/>
+            <classpath>
+                <pathelement path="${java.home}/../lib/tools.jar"/>
+                <fileset dir="${gridsphere.appserver}">
+                    <include name="bin/bootstrap.jar"/>
+                </fileset>
+            </classpath>
+        </java>
+
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Stop Tomcat                                                         -->
+    <!-- =================================================================== -->
+    <target name="stop-tomcat">
+        <java classname="org.apache.catalina.startup.Bootstrap" fork="yes">
+            <jvmarg value="-Dcatalina.home=${gridsphere.appserver}"/>
+            <arg value="stop"/>
+            <classpath>
+                <fileset dir="${gridsphere.appserver}">
+                    <include name="bin/bootstrap.jar"/>
+                </fileset>
+            </classpath>
+        </java>
+    </target>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/config/build/build-update.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build-update.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build-update.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<!--
+Build include file for the GridSphere Portal source code, see build.xml
+
+ - $Id: build-update.xml 4496 2006-02-08 20:27:04Z wehrens $
+
+-->
+
+<project name="GridSphere Update">
+
+    <!-- ==================================================================== -->
+    <!-- Start Tomcat                                                         -->
+    <!-- ==================================================================== -->
+    <target name="update" depends="setenv">
+        <delete verbose="true" file="${appserver.home}/shared/lib/castor-0.9.5.3-xml.jar"/>
+        <delete verbose="true" file="${appserver.home}/shared/lib/cglib-full-2.0.1.jar"/>
+        <delete verbose="true" file="${appserver.home}/shared/lib/commons-collections-2.1.jar"/>
+        <delete verbose="true" file="${appserver.home}/shared/lib/commons-logging-1.0.3.jar"/>
+        <delete verbose="true" file="${appserver.home}/shared/lib/ehcache-0.7.jar"/>
+        <antcall target="create-database"/>
+        <antcall target="update-database"/>
+    </target>
+
+</project>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/config/build/build.project.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build.project.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build.project.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,414 @@
+<!-- =======================================================================
+
+   GridSphere @GRIDSPHERE_VERSION@ generated build file
+
+Notes:
+   This is a build file for use with the Ant build tool.
+
+Prerequisites:
+
+   jakarta-ant from http://jakarta.apache.org
+
+Build Instructions:
+   To build, invoke "ant"
+
+Copyright:
+  2002-2007
+
+- $Id: build.project.xml 6293 2007-06-26 09:09:10Z wehrens $
+
+============================================================================ -->
+
+<project name="@PROJECT_NAME@" default="help" basedir=".">
+
+    <property file="build.properties"/>
+    <property file="${gridsphere.home}/build.properties"/>
+
+    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+        <classpath>
+            <pathelement location="${gridsphere.home}/lib/ant-contrib-0.3.jar"/>
+        </classpath>
+    </taskdef>
+
+    <property name="optimize" value="false"/>
+    <property name="debug" value="on"/>
+    <property name="deprecation" value="true"/>
+
+    <property name="project" value="${project.title} ${project.version}"/>
+    <property name="project.api" value="${project.title} API ${project.version}"/>
+
+    <!-- GridSphere build targets -->
+    <property name="build.lib" value="${project.build}/lib"/>
+    <property name="build.classes" value="${project.build}/classes"/>
+    <property name="build.webapp" value="${project.build}/webapp"/>
+    <property name="build.docs" value="${project.build}/docs"/>
+    <property name="build.javadoc" value="${build.docs}/javadocs"/>
+    <property name="build.tests" value="${project.build}/tests"/>
+
+
+    <property environment="env"/>
+
+    <!-- =================================================================== -->
+    <!-- Functions                                                           -->
+    <!-- =================================================================== -->
+    <target name="setenv" description="Check for libraries and print out config information">
+
+        <!-- Make build directories -->
+        <mkdir dir="src"/>
+        <mkdir dir="lib"/>
+        <mkdir dir="${project.build}"/>
+        <mkdir dir="${build.lib}"/>
+        <mkdir dir="${build.classes}"/>
+        <mkdir dir="${build.webapp}"/>
+        <mkdir dir="${build.docs}"/>
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="tomcat"/>
+            <then>
+                <property name="appserver.home" value="${env.CATALINA_HOME}"/>
+
+                <if>
+                    <available file="${appserver.home}/common/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 5.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/common/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+                </if>
+                <if>
+                    <available file="${appserver.home}/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 6.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+                </if>
+            </then>
+        </if>
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="jetty"/>
+            <then>
+                <echo message="Installing for Jetty"/>
+                <property name="appserver.home" value="${env.APPSERVER_HOME}"/>
+                <path id="servletpath">
+                    <fileset file="${appserver.home}/lib/javax.servlet.jar"/>
+                    <fileset dir="${appserver.home}/ext/">
+                        <exclude name="*.LICENSE"/>
+                        <include name="*.jar"/>
+                    </fileset>
+                </path>
+            </then>
+        </if>
+
+        <path id="classpath">
+            <pathelement location="${build.classes}"/>
+            <fileset dir="lib">
+                <exclude name="*.LICENSE"/>
+                <include name="*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.build}/lib">
+                <include name="*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.home}/lib">
+                <include name="*.jar"/>
+            </fileset>
+
+            <path refid="servletpath"/>
+            <pathelement path="${java.class.path}"/>
+
+        </path>
+
+        <echo message="--- Build environment for ${project} ---"/>
+        <echo message="--- Flags (Note: If the {property name} is displayed,"/>
+        <echo message="           then the component is not present)"/>
+        <echo message=""/>
+
+        <echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>
+        <echo message="JAVA_HOME is set to = ${env.JAVA_HOME}"/>
+
+        <echo message="GridSphere Webserver is ${gridsphere.appserver}"/>
+        <echo message="This project will be deployed to ${appserver.home}/webapps"/>
+
+        <echo message="--- Property values ---"/>
+        <echo message="debug=${debug}"/>
+        <echo message="deprecation=${deprecation}"/>
+        <echo message="optimize=${optimize}"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Print usage information                                             -->
+    <!-- =================================================================== -->
+    <target name="help" description="shows help about useful target">
+        <echo message="target                 description"/>
+        <echo message="-----------------------------------------------------------------"/>
+        <echo message="clean                  Cleans up the build dir                       "/>
+        <echo message="compile                Compiles all the code                         "/>
+        <echo message="jar                    Create a ${project.name} JAR                  "/>
+        <echo message="war                    Create a ${project.name} WAR                  "/>
+        <echo message="docs                   Creates ${project.title} Javadoc API          "/>
+        <echo message="deploy                 Deploys ${project.title}                      "/>
+        <echo message="dist                   Builds a binary ${project.title} distribution "/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Compiles all source code in distribution                            -->
+    <!-- =================================================================== -->
+    <target name="compile-all" depends="compile" description="Compiles all source code in distribution"/>
+
+    <!-- =================================================================== -->
+    <!-- Compiles source code                                                -->
+    <!-- =================================================================== -->
+    <target name="compile" depends="setenv" description="Compile project source code">
+        <echo>Compiling project source code</echo>
+        <javac srcdir="src"
+               destdir="${build.classes}"
+               classpathref="classpath"
+               debug="${debug}"
+               optimize="${optimize}"
+               deprecation="false"/>
+    </target>
+
+    <target name="precompile-jsp" depends="setenv">
+        <taskdef name="jspc50" classname="org.apache.jasper.JspC" classpathref="classpath">
+        </taskdef>
+
+
+        <mkdir dir="${project.build}/jsp/source"/>
+        <mkdir dir="${project.build}/jsp/classes"/>
+        <if>
+            <equals arg1="${gridsphere.useprecompiledjsp}" arg2="true"/>
+            <then>
+
+                <jspc50 outputDir="${project.build}/jsp/source"
+                        uriroot="webapp/"
+                        webXmlFragment="${project.build}/jsp/web.inc"
+                        validateXml="false">
+                </jspc50>
+            </then>
+        </if>
+
+
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Database stuff                                         -->
+    <!-- =================================================================== -->
+
+    <target name="configure-database" depends="setenv">
+        <mkdir dir="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/"/>
+        <copy overwrite="true" file="webapp/WEB-INF/persistence/hibernate.properties"
+              todir="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/"/>
+        <pathconvert targetos="windows" dirsep="/" property="cathome">
+            <path location="${appserver.home}"/>
+        </pathconvert>
+        <replace file="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/hibernate.properties"
+                 token="@3RDPARTY_WEBAPP@"
+                 value="${cathome}/webapps/${project.name}"/>
+    </target>
+
+    <target name="create-database" depends="setenv, deploy">
+        <echo message="Creating database"/>
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath">
+            <classpath id="hib.classpth">
+                <pathelement location="webapp/WEB-INF/classes/"/>
+            </classpath>
+        </taskdef>
+        <dbtask
+                configdir="${appserver.home}/webapps/${project.name}"
+                action="CREATE"/>
+    </target>
+
+    <target name="update-database" depends="setenv, configure-database, deploy">
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath"/>
+        <dbtask
+                configdir="${appserver.home}/webapps/${project.name}"
+                action="UPDATE"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates all JAR libraries                                           -->
+    <!-- =================================================================== -->
+    <target name="jar" depends="portlets-jar, services-jar, services-impl-jar" description="Creates project JAR"/>
+
+    <!-- =================================================================== -->
+    <!-- Creates a portlet JAR library                                       -->
+    <!-- =================================================================== -->
+    <target name="portlets-jar" depends="compile" description="Creates portlets JAR">
+        <echo>Creating JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}.jar" basedir="${build.classes}">
+            <include name="**/portlets/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a services JAR library                                      -->
+    <!-- =================================================================== -->
+    <target name="services-jar" depends="compile" description="Creates services JAR">
+        <echo>Creating services JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}-services.jar" basedir="${build.classes}">
+            <include name="**/services/**"/>
+            <exclude name="**/impl/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a services implementation JAR                               -->
+    <!-- =================================================================== -->
+    <target name="services-impl-jar" depends="compile" description="Creates services impl JAR">
+        <echo>Creating services JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}-services-impl.jar" basedir="${build.classes}">
+            <include name="**/services/**/impl/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Cleans everything                                                   -->
+    <!-- =================================================================== -->
+    <target name="clean" description="Delete classes and existing library">
+        <delete quiet="true" dir="${project.build}"/>
+        <delete quiet="true" dir="${project.dist}"/>
+        <delete quiet="true" file="lib/${project.name}.jar"/>
+        <delete quiet="true" file="lib/${project.name}-services.jar"/>
+        <delete quiet="true" file="lib/${project.name}-services-impl.jar"/>
+    </target>
+
+    <target name="docs" depends="javadocs" description="Create project documentation"/>
+
+    <!-- =================================================================== -->
+    <!-- Creates all the API documentation                                   -->
+    <!-- =================================================================== -->
+    <target name="javadocs" depends="setenv" description="Create Javadocs">
+        <echo>Creating Javadocs</echo>
+        <delete quiet="true" dir="${build.javadoc}"/>
+        <mkdir dir="${build.javadoc}"/>
+        <javadoc sourcepath="src"
+                 classpathref="classpath"
+                 destdir="${build.javadoc}"
+                 author="true"
+                 version="true"
+                 splitindex="true"
+                 use="true"
+                 maxmemory="180m"
+                 windowtitle="${project.title}"
+                 doctitle="${project.api}">
+            <!-- bottom="Copyright &#169; 2002,2003 GridLab Project. All Rights Reserved."> -->
+        </javadoc>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates the WAR file                                                -->
+    <!-- =================================================================== -->
+    <target name="war" depends="jar" description="Create project WAR">
+        <echo>Creating project web application WAR</echo>
+
+        <mkdir dir="${project.build}/webapp/WEB-INF/lib"/>
+        <mkdir dir="${project.build}/webapp/WEB-INF/classes"/>
+
+        <copy todir="${project.build}/webapp/WEB-INF/lib">
+            <fileset dir="${gridsphere.build}/lib/">
+                <include name="gridsphere-portletservlet*.jar"/>
+            </fileset>
+        </copy>
+
+        <copy todir="${project.build}/webapp/WEB-INF/classes">
+            <fileset dir="${project.build}/classes/">
+                <include name="**/*"/>
+            </fileset>
+            <fileset dir="lib/"/>
+        </copy>
+
+        <war warfile="${project.build}/${project.name}.war" update="true"
+             webxml="webapp/WEB-INF/web.xml">
+            <fileset dir="webapp/">
+                <exclude name="WEB-INF/web.xml"/>
+            </fileset>
+            <fileset dir="${project.build}/webapp/"/>
+        </war>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Deploys portlets to a local server                                  -->
+    <!-- =================================================================== -->
+    <target name="deploy" depends="jar" description="Deploys portlet to a local server">
+        <echo>Deploying project</echo>
+
+        <!-- Copy the gridsphere web app to build directory -->
+        <property name="project.webapp" value="${appserver.home}/webapps/${project.name}"/>
+        <mkdir dir="${project.webapp}"/>
+
+        <copy overwrite="true" todir="${project.webapp}" encoding="utf-8">
+            <fileset dir="webapp"/>
+        </copy>
+
+        <mkdir dir="${project.webapp}/WEB-INF/lib"/>
+
+        <copy overwrite="true" todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${build.lib}">
+                <include name="${project.name}.jar"/>
+            </fileset>
+        </copy>
+
+        <copy todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${gridsphere.build}/lib/">
+                <include name="gridsphere-portletservlet*.jar"/>
+                <!--<include name="gridsphere-provider*.jar"/>-->
+                <!--<include name="gridsphere-portal*.jar"/>-->
+                <!--<exclude name="gridsphere-portal-api*.jar"/>-->
+            </fileset>
+            <!--<fileset dir="${gridsphere.home}/lib/">-->
+            <!--<include name="log4j*.jar"/>-->
+            <!--<include name="castor*.jar"/>-->
+            <!--<include name="xerces*.jar"/>-->
+            <!--<include name="commons-fileupload*.jar"/>-->
+            <!--<include name="commons-io*.jar"/>-->
+            <!--</fileset>-->
+        </copy>
+
+        <if>
+            <equals arg1="${project.priority}" arg2=""/>
+            <then>
+                <touch file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/portlets/${project.name}"/>
+            </then>
+            <else>
+                <touch file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/portlets/${project.name}.${project.priority}"/>
+            </else>
+        </if>
+
+        <copy todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${build.lib}">
+                <include name="${project.name}-services-impl.jar"/>
+            </fileset>
+            <fileset dir="lib">
+                <include name="*.jar"/>
+            </fileset>
+        </copy>
+
+        <if>
+            <equals arg1="${project.shared}" arg2="false"/>
+            <then>
+                <copy todir="${project.webapp}/WEB-INF/lib" file="${build.lib}/${project.name}-services.jar"/>
+            </then>
+            <else>
+                <copy todir="${appserver.home}/shared/lib" file="${build.lib}/${project.name}-services.jar"/>
+            </else>
+        </if>
+
+        <antcall target="configure-database"/>
+    </target>
+
+    <target name="install" depends="deploy">
+        <antcall target="create-database"/>
+    </target>
+
+</project>

Added: cs/trunk/apps-local/gridsphere/config/build/build.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/build/build.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/build/build.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+# $Id: build.properties 5936 2007-01-02 20:07:20Z novotny $
+#
+# Configuration properties for building @PROJECT_TITLE@
+
+project.title=@PROJECT_TITLE@
+project.name=@PROJECT_NAME@
+
+# location of gridsphere source and build directory
+gridsphere.home=../..
+gridsphere.build=${gridsphere.home}/build
+
+# @PROJECT_TITLE@ build settings
+project.version= 1.0 RC 1
+project.build=build
+project.dist=dist
+
+# if there are any dependencies, an integer must be specified here which will determine the ordering for when this app gets starting from smallest to largest- leave empty if ordering is not important
+project.priority=
+
+# if this project provides any portlet services used by another portlet application, then the value
+# should be set to true
+project.shared=false
+
+

Added: cs/trunk/apps-local/gridsphere/config/log4j.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/log4j.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/log4j.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+# Set root category priority to ERROR and its only appender to A1.
+log4j.rootCategory=ERROR, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] (%F:%L) %-5p %c %x - %m%n
+
+# Add packages to log
+log4j.logger.org.gridsphere=DEBUG

Added: cs/trunk/apps-local/gridsphere/config/mapping/action-portlet-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/action-portlet-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/action-portlet-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+<?xml version="1.0" ?>
+<!--
+
+    ActionPortlet mapping file
+
+    $Id: auth-modules-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ActionPortletCollection">
+        <map-to xml="portlet-app"/>
+        <field name="ActionPortletList" type="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ActionPortletDefinition" collection="vector">
+            <bind-xml name="actionportlet"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ActionPortletDefinition">
+        <map-to xml="actionportlet"/>
+        <field name="Name" type="string" node="attribute">
+            <bind-xml name="name"/>
+        </field>
+        <field name="ActionPageList" type="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ActionPageDefinition" collection="vector">
+            <bind-xml name="page"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ActionPageDefinition">
+        <map-to xml="page"/>
+        <field name="Name" type="string">
+            <bind-xml name="name" node="attribute"/>
+        </field>
+        <field name="Mode" type="string">
+            <bind-xml name="mode" node="attribute"/>
+        </field>
+        <field name="ClassName" type="string">
+            <bind-xml name="class" node="attribute"/>
+        </field>
+        <field name="State" type="string">
+            <bind-xml name="state" node="attribute"/>
+        </field>
+        <field name="ResultList" type="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ResultDefinition" collection="vector">
+            <bind-xml name="page"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.provider.portlet.jsr.mvc.descriptor.ResultDefinition">
+        <map-to xml="result"/>
+        <field name="Result" type="string">
+            <bind-xml name="result" node="attribute"/>
+        </field>
+        <field name="State" type="string">
+            <bind-xml name="state" node="attribute"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/config/mapping/auth-modules-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/auth-modules-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/auth-modules-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<?xml version="1.0" ?>
+<!--
+
+    Authentication modules mapping file
+
+    $Id: auth-modules-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleCollection">
+        <map-to xml="auth-modules"/>
+        <field name="AuthModulesList" type="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition" collection="vector">
+            <bind-xml name="auth-module"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition">
+        <field name="ModuleName" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="ModuleDescriptions" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="ModuleErrors" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="error"/>
+        </field>
+        <field name="ModulePriority" type="integer">
+            <bind-xml name="priority"/>
+        </field>
+        <field name="ModuleActive" type="boolean">
+            <bind-xml name="active"/>
+        </field>
+        <field name="ModuleImplementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="auth-config"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Key" type="string">
+            <bind-xml name="key" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/config/mapping/layout-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/layout-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/layout-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,204 @@
+<?xml version="1.0" ?>
+
+<!--
+
+    Portlet Layout mapping file controls mappings between layout descriptors and
+    org.gridsphere.layout.* classes
+
+    $Id: layout-mapping.xml 5127 2006-08-24 07:21:25Z novotny $
+
+-->
+
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.layout.PortletPage" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="page"/>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+        <field name="PortletHeader" type="org.gridsphere.layout.PortletContainer">
+            <bind-xml name="header"/>
+        </field>
+        <field name="PortletFooter" type="org.gridsphere.layout.PortletContainer">
+            <bind-xml name="footer"/>
+        </field>
+        <field name="Editable" type="boolean">
+            <bind-xml name="editable" node="attribute"/>
+        </field>
+        <field name="DisplayModes" type="boolean">
+            <bind-xml name="display-modes" node="attribute"/>
+        </field>
+        <field name="DisplayStates" type="boolean">
+            <bind-xml name="display-states" node="attribute"/>
+        </field>
+        <field name="Title" type="string">
+            <bind-xml name="title" node="attribute"/>
+        </field>
+        <field name="Keywords" type="string">
+            <bind-xml name="keywords" node="attribute"/>
+        </field>
+        <field name="Icon" type="string">
+            <bind-xml name="icon" node="attribute"/>
+        </field>
+        <field name="Refresh" type="int">
+            <bind-xml name="refresh" node="attribute"/>
+        </field>
+        <field name="RenderKit" type="string">
+            <bind-xml name="renderkit" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.BasePortletComponent">
+        <field name="Label" type="string">
+            <bind-xml name="label" node="attribute"/>
+        </field>
+        <field name="Width" type="string">
+            <bind-xml name="width" node="attribute"/>
+        </field>
+        <field name="Visible" type="boolean">
+            <bind-xml name="visible" node="attribute"/>
+        </field>
+        <field name="CanModify" type="boolean">
+            <bind-xml name="can-modify" node="attribute"/>
+        </field>
+        <field name="RequiredRole" type="string">
+            <bind-xml name="required-role" node="attribute"/>
+        </field>
+        <field name="Style" type="string">
+            <bind-xml name="style" node="attribute"/>
+        </field>
+    </class>
+
+
+    <class name="org.gridsphere.layout.PortletContainer">
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletFrameLayout" extends="org.gridsphere.layout.BasePortletComponent">
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTableLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="table"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletRowLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="row"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletColumnLayout" extends="org.gridsphere.layout.PortletFrameLayout">
+        <map-to xml="column"/>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletBar" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="bar"/>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletFrame" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="frame"/>
+        <field name="PortletClass" type="string">
+            <bind-xml name="portlet-class"/>
+        </field>
+        <field name="Transparent" type="boolean">
+            <bind-xml name="transparent" node="attribute"/>
+        </field>
+        <field name="InnerPadding" type="string">
+            <bind-xml name="inner-padding" node="attribute"/>
+        </field>
+        <field name="OuterPadding" type="string">
+            <bind-xml name="outer-padding" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletContent" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="content"/>
+        <field name="Include" type="string">
+            <bind-xml name="include" node="attribute"/>
+        </field>
+        <field name="Border" type="boolean">
+            <bind-xml name="border" node="attribute"/>
+        </field>
+        <field name="Context" type="string">
+            <bind-xml name="context" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletStaticContent" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="static-content"/>
+        <field name="Include" type="string">
+            <bind-xml name="include" node="attribute"/>
+        </field>
+        <field name="Encoding" type="string">
+            <bind-xml name="encoding" node="attribute"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="title"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTabbedPane" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="tabbed-pane"/>
+        <field name="PortletTabs" type="org.gridsphere.layout.PortletTab" collection="arraylist">
+            <bind-xml name="tab"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletMenu" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="menu"/>
+        <field name="PortletTabs" type="org.gridsphere.layout.PortletTab" collection="arraylist">
+            <bind-xml name="tab"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.PortletTab" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="tab"/>
+        <field name="Titles" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description"
+               collection="arraylist">
+            <bind-xml name="title"/>
+        </field>
+        <field name="Url" type="string">
+            <bind-xml name="url" node="attribute"/>
+        </field>
+        <field name="TabOrder" type="integer">
+            <bind-xml name="order" node="attribute"/>
+        </field>
+        <field name="Outline" type="boolean">
+            <bind-xml name="outline" node="attribute"/>
+        </field>
+        <field name="Align" type="string">
+            <bind-xml name="align" node="attribute"/>
+        </field>
+        <field name="Padding" type="string">
+            <bind-xml name="padding" node="attribute"/>
+        </field>
+        <field name="PortletComponent" type="org.gridsphere.layout.PortletComponent">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.layout.SelectionContainer" extends="org.gridsphere.layout.BasePortletComponent">
+        <map-to xml="selection-container"/>
+        <field name="PortletComponents" type="org.gridsphere.layout.PortletComponent" collection="arraylist">
+            <bind-xml auto-naming="deriveByClass"/>
+        </field>
+        <field name="DefaultLabel" type="string">
+            <bind-xml name="default"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/config/mapping/portal-filters-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/portal-filters-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/portal-filters-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<?xml version="1.0" ?>
+<!--
+
+    Authentication modules mapping file
+
+    $Id: auth-modules-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterCollection">
+        <map-to xml="portal-filters"/>
+        <field name="PortalFilterList" type="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterDefinition" collection="vector">
+            <bind-xml name="filter"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.services.core.filter.impl.descriptor.PortalFilterDefinition">
+        <field name="Name" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="Descriptions" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="Implementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="auth-config"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Key" type="string">
+            <bind-xml name="key" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>

Added: cs/trunk/apps-local/gridsphere/config/mapping/portlet-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/portlet-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/portlet-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mapping xmlns="http://castor.exolab.org/" xmlns:cst="http://castor.exolab.org/">
+    <description>Castor generated mapping file</description>
+
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Portlet</description>
+        <map-to cst:xml="portlet" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="portletName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletName" cst:required="true">
+            <bind-xml name="portlet-name" node="element"/>
+        </field>
+        <field cst:name="displayName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.DisplayName" cst:collection="array">
+            <bind-xml name="display-name" node="element"/>
+        </field>
+        <field cst:name="portletClass" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletClass" cst:required="true">
+            <bind-xml name="portlet-class" node="element"/>
+        </field>
+        <field cst:name="initParam"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.InitParam" cst:collection="array">
+            <bind-xml name="init-param" node="element"/>
+        </field>
+        <field cst:name="expirationCache" cst:type="org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache">
+            <bind-xml name="expiration-cache" node="element"/>
+        </field>
+        <field cst:name="supports"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Supports"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="supports" node="element"/>
+        </field>
+        <field cst:name="supportedLocale"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale" cst:collection="array">
+            <bind-xml name="supported-locale" node="element"/>
+        </field>
+        <field cst:name="resourceBundle"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle">
+            <bind-xml name="resource-bundle" node="element"/>
+        </field>
+        <field cst:name="portletInfo" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo">
+            <bind-xml name="portlet-info" node="element"/>
+        </field>
+        <field cst:name="portletPreferences" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences">
+            <bind-xml name="portlet-preferences" node="element"/>
+        </field>
+        <field cst:name="securityRoleRef"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef" cst:collection="array">
+            <bind-xml name="security-role-ref" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint</description>
+        <map-to cst:xml="security-constraint" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="displayName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.DisplayName" cst:collection="array">
+            <bind-xml name="display-name" node="element"/>
+        </field>
+        <field cst:name="portletCollection"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletCollection" cst:required="true">
+            <bind-xml name="portlet-collection" node="element"/>
+        </field>
+        <field cst:name="userDataConstraint"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint" cst:required="true">
+            <bind-xml name="user-data-constraint" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Description">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Description</description>
+        <map-to cst:xml="description" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="lang" cst:type="java.lang.String">
+            <bind-xml name="xml:lang" node="attribute"/>
+        </field>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Keywords">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Keywords</description>
+        <map-to cst:xml="keywords" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType">
+        <description>Default mapping for class
+            org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType
+        </description>
+        <map-to cst:xml="transport-guarantee" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale</description>
+        <map-to cst:xml="supported-locale" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Supports">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Supports</description>
+        <map-to cst:xml="supports" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="mimeType"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.MimeType" cst:required="true">
+            <bind-xml name="mime-type" node="element"/>
+        </field>
+        <field cst:name="portletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletMode" cst:collection="array">
+            <bind-xml name="portlet-mode" node="element"/>
+        </field>
+        <field cst:name="windowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.WindowState" cst:collection="array">
+            <bind-xml name="window-state" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle</description>
+        <map-to cst:xml="resource-bundle" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.UserAttribute">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.UserAttribute</description>
+        <map-to cst:xml="user-attribute" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Value">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Value</description>
+        <map-to cst:xml="value" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode</description>
+        <map-to cst:xml="custom-portlet-mode" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="portletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletMode" cst:required="true">
+            <bind-xml name="portlet-mode" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.RoleLink">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.RoleLink</description>
+        <map-to cst:xml="role-link" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.RoleName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.RoleName</description>
+        <map-to cst:xml="role-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.DisplayName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.DisplayName</description>
+        <map-to cst:xml="display-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="lang" cst:type="java.lang.String">
+            <bind-xml name="xml:lang" node="attribute"/>
+        </field>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.MimeType">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.MimeType</description>
+        <map-to cst:xml="mime-type" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache</description>
+        <map-to cst:xml="expiration-cache" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="int">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletMode">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletMode</description>
+        <map-to cst:xml="portlet-mode" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.ShortTitle">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.ShortTitle</description>
+        <map-to cst:xml="short-title" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState</description>
+        <map-to cst:xml="custom-window-state" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="windowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.WindowState" cst:required="true">
+            <bind-xml name="window-state" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Name">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Name</description>
+        <map-to cst:xml="name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint</description>
+        <map-to cst:xml="user-data-constraint" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="transportGuarantee"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType" cst:required="true">
+            <bind-xml name="transport-guarantee" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletCollection">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletCollection</description>
+        <map-to cst:xml="portlet-collection" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="portletName"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletName"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="portlet-name" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Title">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Title</description>
+        <map-to cst:xml="title" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.WindowState">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.WindowState</description>
+        <map-to cst:xml="window-state" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType</description>
+        <map-to cst:xml="read-only" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletClass">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletClass</description>
+        <map-to cst:xml="portlet-class" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletName">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletName</description>
+        <map-to cst:xml="portlet-name" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+<!--
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice</description>
+        <map-to cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="portletTypeChoiceSequence"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence" cst:required="true">
+            <bind-xml name="-error-if-this-is-used-" node="element"/>
+        </field>
+        <field cst:name="portletInfo"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo" cst:required="true">
+            <bind-xml name="portlet-info" node="element"/>
+        </field>
+    </class>
+-->
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef</description>
+        <map-to cst:xml="security-role-ref" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="roleName" cst:type="org.gridsphere.portletcontainer.impl.descriptor.RoleName" cst:required="true">
+            <bind-xml name="role-name" node="element"/>
+        </field>
+        <field cst:name="roleLink" cst:type="org.gridsphere.portletcontainer.impl.descriptor.RoleLink">
+            <bind-xml name="role-link" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator</description>
+        <map-to cst:xml="preferences-validator" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="content" cst:type="java.lang.String">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.Preference">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.Preference</description>
+        <map-to cst:xml="preference" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+        <field cst:name="value"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Value" cst:collection="array">
+            <bind-xml name="value" node="element"/>
+        </field>
+        <field cst:name="readOnly" cst:type="org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType">
+            <bind-xml name="read-only" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences</description>
+        <map-to cst:xml="portlet-preferences" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="preference"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Preference" cst:collection="array">
+            <bind-xml name="preference" node="element"/>
+        </field>
+        <field cst:name="preferencesValidator" cst:type="org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator">
+            <bind-xml name="preferences-validator" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletApp">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletApp</description>
+        <map-to cst:xml="portlet-app" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="version" cst:type="java.lang.String" cst:required="true">
+            <bind-xml name="version" node="attribute"/>
+        </field>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="portlet"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition"
+            cst:required="true" cst:collection="array">
+            <bind-xml name="portlet" node="element"/>
+        </field>
+        <field cst:name="customPortletMode"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode" cst:collection="array">
+            <bind-xml name="custom-portlet-mode" node="element"/>
+        </field>
+        <field cst:name="customWindowState"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState" cst:collection="array">
+            <bind-xml name="custom-window-state" node="element"/>
+        </field>
+        <field cst:name="userAttribute"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.UserAttribute" cst:collection="array">
+            <bind-xml name="user-attribute" node="element"/>
+        </field>
+        <field cst:name="securityConstraint"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint" cst:collection="array">
+            <bind-xml name="security-constraint" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.InitParam">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.InitParam</description>
+        <map-to cst:xml="init-param" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="description"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Description" cst:collection="array">
+            <bind-xml name="description" node="element"/>
+        </field>
+        <field cst:name="name"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Name" cst:required="true">
+            <bind-xml name="name" node="element"/>
+        </field>
+        <field cst:name="value"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Value" cst:required="true">
+            <bind-xml name="value" node="element"/>
+        </field>
+    </class>
+    <class cst:name="org.gridsphere.portletcontainer.impl.descriptor.PortletInfo">
+        <description>Default mapping for class org.gridsphere.portletcontainer.impl.descriptor.PortletInfo</description>
+        <map-to cst:xml="portlet-info" cst:ns-uri="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"/>
+        <field cst:name="id" cst:type="java.lang.String">
+            <bind-xml name="id" node="attribute"/>
+        </field>
+        <field cst:name="title"
+            cst:type="org.gridsphere.portletcontainer.impl.descriptor.Title" cst:required="true">
+            <bind-xml name="title" node="element"/>
+        </field>
+        <field cst:name="shortTitle" cst:type="org.gridsphere.portletcontainer.impl.descriptor.ShortTitle">
+            <bind-xml name="short-title" node="element"/>
+        </field>
+        <field cst:name="keywords" cst:type="org.gridsphere.portletcontainer.impl.descriptor.Keywords">
+            <bind-xml name="keywords" node="element"/>
+        </field>
+    </class>
+</mapping>

Added: cs/trunk/apps-local/gridsphere/config/mapping/portlet-services-mapping.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/config/mapping/portlet-services-mapping.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/mapping/portlet-services-mapping.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" ?>
+<!--
+
+    Portlet Services mapping file controls mappings between layout descriptors and
+    org.gridsphere.portlet.service.* classes
+
+    $Id: portlet-services-mapping.xml 5092 2006-08-19 04:17:21Z novotny $
+
+-->
+<!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Object Mapping DTD Version 1.0//EN" "http://castor.exolab.org/mapping.dtd">
+<mapping>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection">
+        <map-to xml="portlet-services"/>
+        <field name="PortletServicesList" type="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition" collection="vector">
+            <bind-xml name="service"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition">
+        <field name="ServiceName" type="string">
+            <bind-xml name="name"/>
+        </field>
+        <field name="ServiceDescription" type="org.gridsphere.portlet.service.spi.impl.descriptor.Description" collection="vector">
+            <bind-xml name="description"/>
+        </field>
+        <field name="ServiceInterface" type="string">
+            <bind-xml name="interface"/>
+        </field>
+        <field name="UserRequired" type="boolean">
+            <bind-xml name="user-required"/>
+        </field>
+        <field name="ServiceImplementation" type="string">
+            <bind-xml name="implementation"/>
+        </field>
+        <field name="ConfigParamList" type="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam" collection="vector">
+            <bind-xml name="service-config"/>
+        </field>
+        <field name="LoadOnStartup" type="boolean">
+            <bind-xml name="load-on-startup"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam">
+        <field name="ParamName" type="string">
+            <bind-xml name="param-name"/>
+        </field>
+        <field name="ParamValue" type="string">
+            <bind-xml name="param-value"/>
+        </field>
+    </class>
+
+    <class name="org.gridsphere.portlet.service.spi.impl.descriptor.Description">
+        <map-to xml="description"/>
+        <field name="Lang" type="string">
+            <bind-xml name="lang" node="attribute"/>
+        </field>
+        <field name="Text" type="string">
+            <bind-xml name="PCDATA" node="text"/>
+        </field>
+    </class>
+
+</mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/config/portlet.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/portlet.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/portlet.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+# Gridsphere portlet api properties
+gridsphere.release=@GRIDSPHERE_RELEASE@
+portletapi.majorversion=1
+portletapi.minorversion=0
+
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+CLOSED=Close
+FLOATING=Float
+
+GUEST=Guest
+USER=User
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Do you really wish to remove this portlet?
+OK=OK
+CANCEL=Cancel
+ADDPORTLETS=Add portlets:
+ADD=Add
+NOPORTLETS=-- No portlets available --
+
+SHOW_PAGES=Show pages
+PAGE=Page&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=Show all
+PREVIOUS=Previous
+NEXT=Next
+
+PORTAL_ERROR_SUBJECT=An error occurred in the portal!
+PORTAL_ERROR_BODY=Below is the provided error information including time of error and the user (if any) that caused it:
+
+ADDCONTENT=Add content:
+NOCONTENT=-- No content available --
+DELETE=Delete
+
+NEW_TAB=New tab
+NEW_SUBTAB=New subtab
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=\u062a\u0647\u064a\u0626\u0629
+EDIT=\u062a\u062d\u0631\u064a\u0631
+HELP=\u0645\u0633\u0627\u0639\u062f\u0629
+VIEW=\u0639\u0631\u0636
+
+NORMAL=\u0639\u0627\u062f\u064a
+MINIMIZED=\u062a\u0635\u063a\u064a\u0631
+MAXIMIZED=\u062a\u0643\u0628\u064a\u0631
+RESIZING=\u062a\u062d\u062c\u064a\u0645
+CLOSED=\u0625\u063a\u0644\u0627\u0642
+
+UNSUBSCRIBE_MESSAGE=\u0647\u0644 \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u062d\u0630\u0641 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c\u061f
+OK=\u0645\u0648\u0627\u0641\u0642
+CANCEL=\u0625\u0627\u0644\u063a\u0627\u0621
+ADDPORTLETS=\u0625\u0636\u0627\u0641\u0629 \u0628\u0631\u0627\u0645\u062c:
+ADD=\u0625\u0636\u0627\u0641\u0629
+NOPORTLETS= -- \u0644\u0627 \u062a\u0648\u062c\u062f \u0628\u0631\u0627\u0645\u062c --
+
+UI_DATAGRID_START=\u0627\u0644\u0628\u062f\u0627\u064a\u0629
+UI_DATAGRID_PREV=\u0627\u0644\u0633\u0627\u0628\u0642
+UI_DATAGRID_NEXT=\u0627\u0644\u062a\u0627\u0644\u064a
+UI_DATAGRID_END=\u0627\u0644\u0646\u0647\u0627\u064a\u0629
+UI_DATAGRID_SHOWING=\u0627\u0644\u0639\u0631\u0636
+UI_DATAGRID_SHOWING2=\u0645\u0646
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+CONFIG=Konfigurace
+EDIT=Upravit
+HELP=Pomoc
+VIEW=Zobrazen\u00ed
+
+NORMAL=Norm\u00e1ln\u00ed velikost
+MINIMIZED=Minimalizovat
+MAXIMIZED=Maximalizovat
+RESIZING=Zm\u011bnit velikost
+
+UNSUBSCRIBE_MESSAGE=Opravdu chcete odstranit tento portlet ?
+OK=Ano
+CANCEL=Storno
+ADDPORTLETS=P\u0159idat portlety:
+ADD=P\u0159idat
+NOPORTLETS=-- \u017d\u00e1dn\u00e9 portlety k dispozici --

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+CONFIG=Konfiguration 
+EDIT=Einstellungen 
+HELP=Hilfe 
+VIEW=Zurueck 
+
+NORMAL=Normal 
+MINIMIZED=Minimieren 
+MAXIMIZED=Maximieren 
+RESIZING=Groesse anpassen
+
+GUEST=G
+USER=U
+ADMIN=A
+SUPER=S
+
+UNSUBSCRIBE_MESSAGE=Sind Sie sicher dass dieses Portlet entfernt werden soll?
+OK=OK
+CANCEL=Abbruch
+ADDPORTLETS=Portlets hinzuf\u00fcgen:
+ADD=Hinzuf\u00fcgen
+NOPORTLETS=-- Keine Portlets verf\u00fcgbar --
+
+
+UI_DATAGRID_START=Anfang
+UI_DATAGRID_PREV=Vorherige
+UI_DATAGRID_NEXT=N\u00e4chste
+UI_DATAGRID_END=Ende
+UI_DATAGRID_SHOWING=Anzeige von:
+UI_DATAGRID_SHOWING2=bis
+
+SHOW_PAGES=Seiten anzeigen
+PAGE=Seite
+OUT_OF_PAGES=von
+SHOW_ALL=Alle anzeigen
+
+PORTAL_ERROR_SUBJECT=Es ist ein Fehler im Portal aufgetreten!
+PORTAL_ERROR_BODY=Unten sind Informationen zum Fehler, zur Zeit und (falls vorhanden) zum Benutzer, der diesen verursacht hat.

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+PORTLET_UNAVAILABLE=Portlet unavailable
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+CLOSED=Close
+FLOATING=Float
+
+GUEST=Guest
+USER=User
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Do you really wish to remove this portlet?
+OK=OK
+CANCEL=Cancel
+ADDPORTLETS=Add portlets:
+ADD=Add
+NOPORTLETS=-- No portlets available --
+
+SHOW_PAGES=Show pages
+PAGE=Page&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=Show all
+PREVIOUS=Previous
+NEXT=Next
+
+PORTAL_ERROR_SUBJECT=An error occurred in the portal!
+PORTAL_ERROR_BODY=Below is the provided error information including time of error and the user (if any) that caused it:
+
+ADDCONTENT=Add content:
+NOCONTENT=-- No content available --
+DELETE=Delete
+
+NEW_TAB=New tab
+NEW_SUBTAB=New subtab
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+PORTLET_UNAVAILABLE=Portlet no disponible
+
+CONFIG=Configurar
+EDIT=Editar
+HELP=Ayuda
+VIEW=Ver
+
+NORMAL=Normal
+MINIMIZED=Minimizar
+MAXIMIZED=Maximizar
+RESIZING=Redimensionar
+CLOSED=Cerrar
+FLOATING=Flotante
+
+GUEST=Invitado
+USER=Usuario
+ADMIN=Administrador
+SUPER=Super Usuario
+
+UNSUBSCRIBE_MESSAGE=\u00bfRealmente desea usted quitar este portlet?
+OK=OK
+CANCEL=Cancelar
+ADDPORTLETS=Agregar portlets:
+ADD=Agregar
+NOPORTLETS=-- Ning\u00fan portlets disponible --
+
+UI_DATAGRID_START=Primero
+UI_DATAGRID_PREV=Anterior
+UI_DATAGRID_NEXT=Siguiente
+UI_DATAGRID_END=Ultimo
+UI_DATAGRID_SHOWING=Exposici\u00f3n
+UI_DATAGRID_SHOWING2=off
+
+SHOW_PAGES=Mostrar P\u00e1ginas
+PAGE=Pagina&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;fuera de&nbsp;
+SHOW_ALL=Mostrar Todas

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+CONFIG=Configurer
+EDIT=Edition
+HELP=Aide
+VIEW=Visualisation
+
+NORMAL=Normal
+MINIMIZED=Minimiser
+MAXIMIZED=Maximiser
+RESIZING=Redimensionner
+
+CANCEL=Annuler
+ADDPORTLETS=Ajouter portlets:
+ADD=Ajouter
+NOPORTLETS=-- Pas de portlets disponible --

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+PORTLET_UNAVAILABLE=Portlet nedostupan
+
+CONFIG=Izmjeni postavke
+EDIT=Izmjeni
+HELP=Pomo\u0107
+VIEW=Prika\u017ei
+
+NORMAL=Normalna veli\u010dina
+MINIMIZED=Smanji
+MAXIMIZED=Pove\u0107aj
+RESIZING=Promijeni veli\u010dinu
+CLOSED=Zatvori
+FLOATING=Lebdi
+
+GUEST=Gost
+USER=Korisnik
+ADMIN=Admin
+SUPER=Super
+
+UNSUBSCRIBE_MESSAGE=Da li ste sigurni da \u017eelite obrisati portlet?
+OK=OK
+CANCEL=Odustani
+ADDPORTLETS=Dodaj portlete:
+ADD=Dodaj
+NOPORTLETS=-- Nema raspolo\u017eivih portleta --
+
+UI_DATAGRID_START=Pokreni
+UI_DATAGRID_PREV=Prethodni
+UI_DATAGRID_NEXT=Sljede\u0107i
+UI_DATAGRID_END=Zaustavi
+UI_DATAGRID_SHOWING=Prikazan
+UI_DATAGRID_SHOWING2=od
+
+SHOW_PAGES=Prika\u017ei stranice
+PAGE=Stranica&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;od&nbsp;
+SHOW_ALL=Prika\u017ei sve
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+PORTLET_UNAVAILABLE=Portlet nem el\u00e9rhet\u0151
+
+CONFIG=Be\u00E1ll\u00EDt\u00E1sok
+EDIT=Szerkeszt\u00E9s
+HELP=Seg\u00EDts\u00E9g
+VIEW=N\u00E9zet
+
+NORMAL=Alap\u00E9rtelmeyett m\u00E9ret
+MINIMIZED=Minimaliz\u00E1l\u00E1s
+MAXIMIZED=Maximaliz\u00E1l\u00E1s
+RESIZING=\u00C1tm\u00E9retez\u00E9s
+CLOSED=Bez\u00e1r\u00e1s
+
+UNSUBSCRIBE_MESSAGE=T\u00e9nyleg le akarod t\u00f6r\u00f6lni ezt a portletet?
+OK=OK
+CANCEL=M\u00e9gse
+ADDPORTLETS=Portletek hozz\u00e1ad\u00e1sa:
+ADD=Hozz\u00e1ad
+NOPORTLETS=-- Nincsennek el\u00e9rhet\u0151 portletek --
+
+UI_DATAGRID_START=Eleje
+UI_DATAGRID_PREV=El\u0151z\u0151
+UI_DATAGRID_NEXT=K\u00f6vetkez\u0151
+UI_DATAGRID_END=V\u00e9ge
+UI_DATAGRID_SHOWING=Mutatni
+UI_DATAGRID_SHOWING2=a
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+PORTLET_UNAVAILABLE=Portlet non disponibile
+
+CONFIG=Configura
+EDIT=Modifica
+HELP=Aiuto
+VIEW=Vista
+
+NORMAL=Normale
+MINIMIZED=Minimizza
+MAXIMIZED=Massimizza
+RESIZING=Ridimensiona
+
+UNSUBSCRIBE_MESSAGE=Vuoi davvero rimuovere questa portle?
+OK=OK
+CANCEL=Cancella
+ADDPORTLETS=Aggiungi portlets:
+ADD=Aggiungi
+NOPORTLETS=-- Nessuna portlet disponibile --
+
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+PORTLET_UNAVAILABLE=Portlet\u304c\u4f7f\u3048\u307e\u305b\u3093
+
+CONFIG=\u8a2d\u5b9a
+EDIT=\u7de8\u96c6
+HELP=\u30d8\u30eb\u30d7
+VIEW=\u8868\u793a
+
+NORMAL=\u6a19\u6e96
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u30ea\u30b5\u30a4\u30ba
+CLOSED=\u9589\u3058\u308b
+FLOATING=\u6d6e\u52d5
+
+GUEST=\u30b2\u30b9\u30c8
+USER=\u30e6\u30fc\u30b6\u30fc
+ADMIN=\u30a2\u30c9\u30df\u30f3
+SUPER=\u30b9\u30fc\u30d1\u30fc
+
+UNSUBSCRIBE_MESSAGE=\u672c\u5f53\u306b\u3053\u306eportlet\u3092\u524a\u9664\u3057\u3066\u3088\u308d\u3057\u3044\u3067\u3059\u304b?
+OK=OK
+CANCEL=\u30ad\u30e3\u30f3\u30bb\u30eb
+ADDPORTLETS=portlet\u8ffd\u52a0:
+ADD=\u8ffd\u52a0
+NOPORTLETS=-- \u5229\u7528\u53ef\u80fd\u306aportlet\u304c\u3042\u308a\u307e\u305b\u3093 --
+
+UI_DATAGRID_START=\u30b9\u30bf\u30fc\u30c8
+UI_DATAGRID_PREV=\u623b\u308b
+UI_DATAGRID_NEXT=\u6b21
+UI_DATAGRID_END=\u7d42\u308f\u308a
+UI_DATAGRID_SHOWING=\u8868\u793a\u4e2d
+UI_DATAGRID_SHOWING2=of
+
+SHOW_PAGES=\u30da\u30fc\u30b8\u8868\u793a
+PAGE=\u30da\u30fc\u30b8&nbsp;
+OUT_OF_PAGES=&nbsp;&nbsp;out of&nbsp;
+SHOW_ALL=\u5168\u8868\u793a
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+CONFIG=Instellingen
+EDIT=Bewerken
+HELP=Help
+VIEW=Beeld
+
+NORMAL=Standaard
+MINIMIZED=Minimaal
+MAXIMIZED=Maximaal
+RESIZING=Formaat wijzigen
+CLOSED=Sluit
+
+UNSUBSCRIBE_MESSAGE=Weet u zeker dat u deze portlet wilt verwijderen?
+OK=OK
+CANCEL=Annuleer
+ADDPORTLETS=Voeg portlets toe:
+ADD=Voeg toe
+NOPORTLETS=-- Geen portlets beschikbaar --
+
+UI_DATAGRID_START=Start
+UI_DATAGRID_PREV=Vorige
+UI_DATAGRID_NEXT=Volgende
+UI_DATAGRID_END=Einde
+UI_DATAGRID_SHOWING=Tonen
+UI_DATAGRID_SHOWING2=van
+
+PORTLET_UNAVAILABLE=Portlet niet beschikbaar
+PAGE=Pagina
+OUT_OF_PAGES=Out of Pages
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,18 @@
+CONFIG=Konfiguracja
+EDIT=Edycja
+HELP=Pomoc
+VIEW=Widok
+
+NORMAL=Normalne
+MINIMIZED=Minimalizuj
+MAXIMIZED=Maksymalizuj
+RESIZING=Rozmiar
+
+UNSUBSCRIBE_MESSAGE = Czy chcesz usun\u0105\u0107 portlet?
+OK = OK
+CANCEL = Zako\u0144cz
+ADDPORTLETS = Dodaj portlet
+ADD = Dodaj
+NOPORTLETS = \u017baden portlet nie jest dost\u0119pny
+
+

Added: cs/trunk/apps-local/gridsphere/config/resources/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/resources/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/resources/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+PORTLET_UNAVAILABLE=\u95e8\u4ef6\u65e0\u6cd5\u83b7\u5f97
+
+CONFIG=\u914d\u7f6e
+EDIT=\u7f16\u8f91
+HELP=\u5e2e\u52a9
+VIEW=\u663e\u793a
+
+NORMAL=\u6b63\u5e38
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u6539\u53d8\u5927\u5c0f
+CLOSED=\u5173\u95ed
+
+GUEST=\u6e38\u5ba2
+USER=\u7528\u6237
+ADMIN=\u7ba1\u7406\u5458
+SUPER=\u8d85\u7ea7\u7ba1\u7406\u5458
+
+UNSUBSCRIBE_MESSAGE=\u60a8\u771f\u5e0c\u671b\u53bb\u6389\u8fd9\u4e2a\u95e8\u4ef6?
+OK=\u786e\u8ba4
+CANCEL=\u53d6\u6d88
+ADDPORTLETS=\u6dfb\u52a0\u95e8\u4ef6:
+ADD=\u6dfb\u52a0
+NOPORTLETS=-- \u6ca1\u6709\u53ef\u7528\u7684\u95e8\u4ef6 --
+
+UI_DATAGRID_START=\u9996\u9875
+UI_DATAGRID_PREV=\u4e0a\u9875
+UI_DATAGRID_NEXT=\u4e0b\u9875
+UI_DATAGRID_END=\u5c3e\u9875
+UI_DATAGRID_SHOWING=\u5217\u51fa
+UI_DATAGRID_SHOWING2=\u7684
+
+SHOW_PAGES=\u5206\u9875\u9762\u663e\u793a
+PAGE=\u5f53\u524d\u9875\u9762\u4e3a:
+OUT_OF_PAGES=&nbsp;&nbsp;\u9875\u9762\u603b\u6570\u4e3a:
+SHOW_ALL=\u663e\u793a\u6240\u6709

Added: cs/trunk/apps-local/gridsphere/config/template/PortletServices.xml.tpl
===================================================================
--- cs/trunk/apps-local/gridsphere/config/template/PortletServices.xml.tpl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/template/PortletServices.xml.tpl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify Portlet Services
+
+    $Id: PortletServices.xml.tpl 4496 2006-02-08 20:27:04Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Example Service</name>
+        <description>Provides Capabilities</description>
+        <interface>com.mycom.ExampleService</interface>
+        <implementation>com.mycom.impl.ExampleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Secure Example Service</name>
+        <user-required>true</user-required>
+        <description>Provides Secure Capabilities</description>
+        <interface>com.mycom.SecureService</interface>
+        <implementation>com.mycom.SecureServiceImpl</implementation>
+    </service>
+
+</portlet-services>
+

Added: cs/trunk/apps-local/gridsphere/config/template/hibernate.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/config/template/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/template/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+#
+# template file for 3rd party webapp persistence
+#
+
+hibernate.show_sql=false
+hibernate.connection.poolsize=40
+
+## HSQL
+
+hibernate.dialect=org.hibernate.dialect.HSQLDialect
+hibernate.connection.username=sa
+hibernate.connection.password=
+hibernate.connection.url=jdbc:hsqldb:@3RDPARTY_WEBAPP@/WEB-INF/database/gridsphere
+hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+
+## MySQL
+
+#hibernate.dialect org.hibernate.dialect.MySQLDialect
+#hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+#hibernate.connection.url jdbc:mysql:@3RDPARTY_WEBAPP@/WEB-INF/database/gridsphere
+#hibernate.connection.username=root
+#hibernate.connection.password
+
+## Mckoi SQL
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi:@3RDPARTY_WEBAPP@/WEB-INF/database/gridsphere
+#hibernate.connection.username=admin_user
+#hibernate.connection.password=aupass00
+
+## PostgreSQL
+#download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres

Added: cs/trunk/apps-local/gridsphere/config/template/portlet.xml.tpl
===================================================================
--- cs/trunk/apps-local/gridsphere/config/template/portlet.xml.tpl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/template/portlet.xml.tpl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">This Portlet is a sample</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>SamplePortlet</portlet-name>
+        <display-name xml:lang="en">A sample Portlet</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.SamplePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place any initialization params here -->
+        <init-param>
+            <name>aname</name>
+            <value>avalue</value>
+        </init-param>
+	<!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>configure</portlet-mode>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supports>
+            <mime-type>text/wml</mime-type>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>A Sample Portlet</title>
+            <short-title>Sample</short-title>
+            <keywords>sample</keywords>
+        </portlet-info>
+        <!-- place portlet preferences here -->
+        <portlet-preferences>
+            <preference>
+                <name>myPref</name>
+                <value>avalue</value>
+                <read-only>true</read-only>
+            </preference>
+        </portlet-preferences>
+    </portlet>
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>CONFIGURE</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+    <!--
+        <security-constraint>
+            <portlet-collection>
+                <portlet-name>TimeZoneClock</portlet-name>
+            </portlet-collection>
+            <user-data-constraint>
+                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+            </user-data-constraint>
+        </security-constraint>
+    -->
+</portlet-app>

Added: cs/trunk/apps-local/gridsphere/config/template/web.xml.tpl
===================================================================
--- cs/trunk/apps-local/gridsphere/config/template/web.xml.tpl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/config/template/web.xml.tpl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+    <display-name>@PROJECT_TITLE@</display-name>
+
+    <description>
+        Provides @PROJECT_TITLE@
+    </description>
+
+    <!-- uncomment only if using in non-GridSphere container
+    <listener>
+        <listener-class>org.gridsphere.provider.portlet.jsr.PortletServlet</listener-class>
+    </listener>
+     -->
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+       <servlet-name>PortletServlet</servlet-name>
+       <url-pattern>/jsr/@PROJECT_NAME@</url-pattern>
+    </servlet-mapping>
+
+    <mime-mapping>
+      <extension>wbmp</extension>
+      <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wml</extension>
+      <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wmls</extension>
+      <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+</web-app>

Added: cs/trunk/apps-local/gridsphere/gridsphere.log
===================================================================

Added: cs/trunk/apps-local/gridsphere/lib/README.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+$Id: README.txt 4496 2006-02-08 20:27:04Z wehrens $
+
+This directory contains all the third-party libraries required for the compilation/deployment of GridSphere. All licenses are open source and cann be found in the licenses directory.
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/lib/activation.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/activation.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/ant-contrib-0.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/ant-contrib-0.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/antlr-2.7.6.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/antlr-2.7.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/asm-attrs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/asm-attrs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/asm.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/asm.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/aspectjrt.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/aspectjrt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/c3p0-0.9.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/c3p0-0.9.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/castor-1.0.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/castor-1.0.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/cglib-2.1.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/cglib-2.1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-beanutils-1.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-beanutils-1.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-fileupload-1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-fileupload-1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-httpclient-2.0.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-httpclient-2.0.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-io-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-io-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/commons-logging-1.0.4.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/commons-logging-1.0.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/concurrent-1.3.4.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/concurrent-1.3.4.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/dom4j-1.6.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/dom4j-1.6.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/ehcache-1.2.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/ehcache-1.2.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/hibernate3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/hibernate3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/hsqldb-1.7.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/hsqldb-1.7.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jackrabbit-core-1.1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jackrabbit-core-1.1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jackrabbit-jcr-commons-1.1.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jackrabbit-jcr-commons-1.1.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jakarta-oro.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jakarta-oro.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jakarta-regexp-1.2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jakarta-regexp-1.2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jcommon-0.9.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jcommon-0.9.3.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jcr-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jcr-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jdom-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jdom-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jfreechart-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jfreechart-0.9.18.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jfreechart-xml-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jfreechart-xml-0.9.18.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/jta.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/jta.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/licenses/antlr.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/antlr.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/antlr.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+
+SOFTWARE RIGHTS
+$Id: antlr.LICENSE 4496 2006-02-08 20:27:04Z wehrens $
+
+ANTLR 1989-2003 Developed by jGuru.com, 
+http://www.ANTLR.org  and http://www.jGuru.com
+
+We reserve no legal rights to the ANTLR--it is fully in the
+public domain. An individual or company may do whatever
+they wish with source code distributed with ANTLR or the
+code generated by ANTLR, including the incorporation of
+ANTLR, or its output, into commerical software.
+
+We encourage users to develop software with ANTLR. However,
+we do ask that credit is given to us for developing
+ANTLR. By "credit", we mean that if you use ANTLR or
+incorporate any source code into one of your programs
+(commercial product, research project, or otherwise) that
+you acknowledge this fact somewhere in the documentation,
+research report, etc... If you like ANTLR and have
+developed a nice tool with the output, please mention that
+you developed it using ANTLR. In addition, we ask that the
+headers remain intact in our source code. As long as these
+guidelines are kept, we expect to continue enhancing this
+system and expect to make other tools available as they are
+completed.
+
+The primary ANTLR guy:
+
+Terence Parr
+http://www.jGuru.com
+parrt at jguru.com

Added: cs/trunk/apps-local/gridsphere/lib/licenses/apache.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/apache.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/apache.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+ *
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 1999-2001 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ *    any, must include the following acknowlegement:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowlegement may appear in the software itself,
+ *    if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Commons", and "Apache Software
+ *    Foundation" must not be used to endorse or promote products derived
+ *    from this software without prior written permission. For written
+ *    permission, please contact apache at apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ *    nor may "Apache" appear in their names without prior written
+ *    permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */

Added: cs/trunk/apps-local/gridsphere/lib/licenses/aspectj.html.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/aspectj.html.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/aspectj.html.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,779 @@
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
+<meta name="ProgId" content="FrontPage.Editor.Document">
+<title>AspectJ Installation Note</title>
+</head>
+
+<BODY BGCOLOR="white">
+
+<h2 align="center"><b>AspectJ<sup>TM</sup> Compiler and Core Tools License</b></h2>
+
+<p>The AspectJ compiler and core tools are distributed under the
+Mozilla Public License version 1.1.  This license has been approved by
+the <a href="http://www.opensource.org">Open Source Initiative</a> as
+conforming to the <a href="http://www.opensource.org/osd.html">Open
+Source Definition</a>.</p>
+
+<p>More information about the history and rationale behind this
+license can be found at the
+<a href="http://www.mozilla.org/MPL/">mozilla web site</a>.</p>
+<p>This particular package is a binary-only release.&nbsp; If you
+wish, you may download the source code for these tools from
+<a href="http://aspectj.org/sources">http://aspectj.org/sources</a></p>
+<hr>
+
+
+<center><b><font size=+2>MOZILLA PUBLIC LICENSE</font></b>
+
+<br><b>Version 1.1</b>
+
+<p>
+
+<hr WIDTH="20%"></center>
+
+
+
+<p><b>1. Definitions.</b>
+
+<ul><b>1.0.1. "Commercial Use" </b>means distribution or otherwise making
+
+the Covered Code available to a third party.
+
+<p><b>1.1. ''Contributor''</b> means each entity that creates or contributes
+
+to the creation of Modifications.
+
+<p><b>1.2. ''Contributor Version''</b> means the combination of the Original
+
+Code, prior Modifications used by a Contributor, and the Modifications
+
+made by that particular Contributor.
+
+<p><b>1.3. ''Covered Code''</b> means the Original Code or Modifications
+
+or the combination of the Original Code and Modifications, in each case
+
+including portions thereof<b>.</b>
+
+<p><b>1.4. ''Electronic Distribution Mechanism''</b> means a mechanism
+
+generally accepted in the software development community for the electronic
+
+transfer of data.
+
+<p><b>1.5. ''Executable''</b> means Covered Code in any form other than
+
+Source Code.
+
+<p><b>1.6. ''Initial Developer''</b> means the individual or entity identified
+
+as the Initial Developer in the Source Code notice required by <b>Exhibit
+
+A</b>.
+
+<p><b>1.7. ''Larger Work''</b> means a work which combines Covered Code
+
+or portions thereof with code not governed by the terms of this License.
+
+<p><b>1.8. ''License''</b> means this document.
+
+<p><b>1.8.1. "Licensable"</b> means having the right to grant, to the maximum
+
+extent possible, whether at the time of the initial grant or subsequently
+
+acquired, any and all of the rights conveyed herein.
+
+<p><b>1.9. ''Modifications''</b> means any addition to or deletion from
+
+the substance or structure of either the Original Code or any previous
+
+Modifications. When Covered Code is released as a series of files, a Modification
+
+is:
+
+<ul><b>A.</b> Any addition to or deletion from the contents of a file containing
+
+Original Code or previous Modifications.
+
+<p><b>B.</b> Any new file that contains any part of the Original Code or
+
+previous Modifications.
+
+<br>&nbsp;</ul>
+
+<b>1.10. ''Original Code''</b> means Source Code of computer software code
+
+which is described in the Source Code notice required by <b>Exhibit A</b>
+
+as Original Code, and which, at the time of its release under this License
+
+is not already Covered Code governed by this License.
+
+<p><b>1.10.1. "Patent Claims"</b> means any patent claim(s), now owned
+
+or hereafter acquired, including without limitation,&nbsp; method, process,
+
+and apparatus claims, in any patent Licensable by grantor.
+
+<p><b>1.11. ''Source Code''</b> means the preferred form of the Covered
+
+Code for making modifications to it, including all modules it contains,
+
+plus any associated interface definition files, scripts used to control
+
+compilation and installation of an Executable, or source code differential
+
+comparisons against either the Original Code or another well known, available
+
+Covered Code of the Contributor's choice. The Source Code can be in a compressed
+
+or archival form, provided the appropriate decompression or de-archiving
+
+software is widely available for no charge.
+
+<p><b>1.12. "You'' (or "Your")&nbsp;</b> means an individual or a legal
+
+entity exercising rights under, and complying with all of the terms of,
+
+this License or a future version of this License issued under Section 6.1.
+
+For legal entities, "You'' includes any entity which controls, is controlled
+
+by, or is under common control with You. For purposes of this definition,
+
+"control'' means (a) the power, direct or indirect, to cause the direction
+
+or management of such entity, whether by contract or otherwise, or (b)
+
+ownership of more than fifty percent (50%) of the outstanding shares or
+
+beneficial ownership of such entity.</ul>
+
+<b>2. Source Code License.</b>
+
+<ul><b>2.1. The Initial Developer Grant.</b>
+
+<br>The Initial Developer hereby grants You a world-wide, royalty-free,
+
+non-exclusive license, subject to third party intellectual property claims:
+
+<ul><b>(a)</b>&nbsp;<b> </b>under intellectual property rights (other than
+
+patent or trademark) Licensable by Initial Developer to use, reproduce,
+
+modify, display, perform, sublicense and distribute the Original Code (or
+
+portions thereof) with or without Modifications, and/or as part of a Larger
+
+Work; and
+
+<p><b>(b)</b> under Patents Claims infringed by the making, using or selling
+
+of Original Code, to make, have made, use, practice, sell, and offer for
+
+sale, and/or otherwise dispose of the Original Code (or portions thereof).
+
+<ul>
+
+<ul>&nbsp;</ul>
+
+</ul>
+
+<b>(c) </b>the licenses granted in this Section 2.1(a) and (b) are effective
+
+on the date Initial Developer first distributes Original Code under the
+
+terms of this License.
+
+<p><b>(d) </b>Notwithstanding Section 2.1(b) above, no patent license is
+
+granted: 1) for code that You delete from the Original Code; 2) separate
+
+from the Original Code;&nbsp; or 3) for infringements caused by: i) the
+
+modification of the Original Code or ii) the combination of the Original
+
+Code with other software or devices.
+
+<br>&nbsp;</ul>
+
+<b>2.2. Contributor Grant.</b>
+
+<br>Subject to third party intellectual property claims, each Contributor
+
+hereby grants You a world-wide, royalty-free, non-exclusive license
+
+<ul>&nbsp;
+
+<br><b>(a)</b>&nbsp;<b> </b>under intellectual property rights (other than
+
+patent or trademark) Licensable by Contributor, to use, reproduce, modify,
+
+display, perform, sublicense and distribute the Modifications created by
+
+such Contributor (or portions thereof) either on an unmodified basis, with
+
+other Modifications, as Covered Code and/or as part of a Larger Work; and
+
+<p><b>(b)</b> under Patent Claims infringed by the making, using, or selling
+
+of&nbsp; Modifications made by that Contributor either alone and/or in<font color="#000000">
+
+combination with its Contributor Version (or portions of such combination),
+
+to make, use, sell, offer for sale, have made, and/or otherwise dispose
+
+of: 1) Modifications made by that Contributor (or portions thereof); and
+
+2) the combination of&nbsp; Modifications made by that Contributor with
+
+its Contributor Version (or portions of such combination).</font>
+
+<p><b>(c) </b>the licenses granted in Sections 2.2(a) and 2.2(b) are effective
+
+on the date Contributor first makes Commercial Use of the Covered Code.
+
+<p><b>(d)&nbsp;</b>&nbsp;&nbsp; Notwithstanding Section 2.2(b) above, no
+
+patent license is granted: 1) for any code that Contributor has deleted
+
+from the Contributor Version; 2)&nbsp; separate from the Contributor Version;&nbsp;
+
+3)&nbsp; for infringements caused by: i) third party modifications of Contributor
+
+Version or ii)&nbsp; the combination of Modifications made by that Contributor
+
+with other software&nbsp; (except as part of the Contributor Version) or
+
+other devices; or 4) under Patent Claims infringed by Covered Code in the
+
+absence of Modifications made by that Contributor.</ul>
+
+</ul>
+
+
+
+<p><br><b>3. Distribution Obligations.</b>
+
+<ul><b>3.1. Application of License.</b>
+
+<br>The Modifications which You create or to which You contribute are governed
+
+by the terms of this License, including without limitation Section <b>2.2</b>.
+
+The Source Code version of Covered Code may be distributed only under the
+
+terms of this License or a future version of this License released under
+
+Section <b>6.1</b>, and You must include a copy of this License with every
+
+copy of the Source Code You distribute. You may not offer or impose any
+
+terms on any Source Code version that alters or restricts the applicable
+
+version of this License or the recipients' rights hereunder. However, You
+
+may include an additional document offering the additional rights described
+
+in Section <b>3.5</b>.
+
+<p><b>3.2. Availability of Source Code.</b>
+
+<br>Any Modification which You create or to which You contribute must be
+
+made available in Source Code form under the terms of this License either
+
+on the same media as an Executable version or via an accepted Electronic
+
+Distribution Mechanism to anyone to whom you made an Executable version
+
+available; and if made available via Electronic Distribution Mechanism,
+
+must remain available for at least twelve (12) months after the date it
+
+initially became available, or at least six (6) months after a subsequent
+
+version of that particular Modification has been made available to such
+
+recipients. You are responsible for ensuring that the Source Code version
+
+remains available even if the Electronic Distribution Mechanism is maintained
+
+by a third party.
+
+<p><b>3.3. Description of Modifications.</b>
+
+<br>You must cause all Covered Code to which You contribute to contain
+
+a file documenting the changes You made to create that Covered Code and
+
+the date of any change. You must include a prominent statement that the
+
+Modification is derived, directly or indirectly, from Original Code provided
+
+by the Initial Developer and including the name of the Initial Developer
+
+in (a) the Source Code, and (b) in any notice in an Executable version
+
+or related documentation in which You describe the origin or ownership
+
+of the Covered Code.
+
+<p><b>3.4. Intellectual Property Matters</b>
+
+<ul><b>(a) Third Party Claims</b>.
+
+<br>If Contributor has knowledge that a license under a third party's intellectual
+
+property rights is required to exercise the rights granted by such Contributor
+
+under Sections 2.1 or 2.2, Contributor must include a text file with the
+
+Source Code distribution titled "LEGAL'' which describes the claim and
+
+the party making the claim in sufficient detail that a recipient will know
+
+whom to contact. If Contributor obtains such knowledge after the Modification
+
+is made available as described in Section 3.2, Contributor shall promptly
+
+modify the LEGAL file in all copies Contributor makes available thereafter
+
+and shall take other steps (such as notifying appropriate mailing lists
+
+or newsgroups) reasonably calculated to inform those who received the Covered
+
+Code that new knowledge has been obtained.
+
+<p><b>(b) Contributor APIs</b>.
+
+<br>If Contributor's Modifications include an application programming interface
+
+and Contributor has knowledge of patent licenses which are reasonably necessary
+
+to implement that API, Contributor must also include this information in
+
+the LEGAL file.
+
+<br>&nbsp;</ul>
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <b>(c)&nbsp;&nbsp;&nbsp;
+
+Representations.</b>
+
+<ul>Contributor represents that, except as disclosed pursuant to Section
+
+3.4(a) above, Contributor believes that Contributor's Modifications are
+
+Contributor's original creation(s) and/or Contributor has sufficient rights
+
+to grant the rights conveyed by this License.</ul>
+
+
+
+<p><br><b>3.5. Required Notices.</b>
+
+<br>You must duplicate the notice in <b>Exhibit A</b> in each file of the
+
+Source Code.&nbsp; If it is not possible to put such notice in a particular
+
+Source Code file due to its structure, then You must include such notice
+
+in a location (such as a relevant directory) where a user would be likely
+
+to look for such a notice.&nbsp; If You created one or more Modification(s)
+
+You may add your name as a Contributor to the notice described in <b>Exhibit
+
+A</b>.&nbsp; You must also duplicate this License in any documentation
+
+for the Source Code where You describe recipients' rights or ownership
+
+rights relating to Covered Code.&nbsp; You may choose to offer, and to
+
+charge a fee for, warranty, support, indemnity or liability obligations
+
+to one or more recipients of Covered Code. However, You may do so only
+
+on Your own behalf, and not on behalf of the Initial Developer or any Contributor.
+
+You must make it absolutely clear than any such warranty, support, indemnity
+
+or liability obligation is offered by You alone, and You hereby agree to
+
+indemnify the Initial Developer and every Contributor for any liability
+
+incurred by the Initial Developer or such Contributor as a result of warranty,
+
+support, indemnity or liability terms You offer.
+
+<p><b>3.6. Distribution of Executable Versions.</b>
+
+<br>You may distribute Covered Code in Executable form only if the requirements
+
+of Section <b>3.1-3.5</b> have been met for that Covered Code, and if You
+
+include a notice stating that the Source Code version of the Covered Code
+
+is available under the terms of this License, including a description of
+
+how and where You have fulfilled the obligations of Section <b>3.2</b>.
+
+The notice must be conspicuously included in any notice in an Executable
+
+version, related documentation or collateral in which You describe recipients'
+
+rights relating to the Covered Code. You may distribute the Executable
+
+version of Covered Code or ownership rights under a license of Your choice,
+
+which may contain terms different from this License, provided that You
+
+are in compliance with the terms of this License and that the license for
+
+the Executable version does not attempt to limit or alter the recipient's
+
+rights in the Source Code version from the rights set forth in this License.
+
+If You distribute the Executable version under a different license You
+
+must make it absolutely clear that any terms which differ from this License
+
+are offered by You alone, not by the Initial Developer or any Contributor.
+
+You hereby agree to indemnify the Initial Developer and every Contributor
+
+for any liability incurred by the Initial Developer or such Contributor
+
+as a result of any such terms You offer.
+
+<p><b>3.7. Larger Works.</b>
+
+<br>You may create a Larger Work by combining Covered Code with other code
+
+not governed by the terms of this License and distribute the Larger Work
+
+as a single product. In such a case, You must make sure the requirements
+
+of this License are fulfilled for the Covered Code.</ul>
+
+<b>4. Inability to Comply Due to Statute or Regulation.</b>
+
+<ul>If it is impossible for You to comply with any of the terms of this
+
+License with respect to some or all of the Covered Code due to statute,
+
+judicial order, or regulation then You must: (a) comply with the terms
+
+of this License to the maximum extent possible; and (b) describe the limitations
+
+and the code they affect. Such description must be included in the LEGAL
+
+file described in Section <b>3.4</b> and must be included with all distributions
+
+of the Source Code. Except to the extent prohibited by statute or regulation,
+
+such description must be sufficiently detailed for a recipient of ordinary
+
+skill to be able to understand it.</ul>
+
+<b>5. Application of this License.</b>
+
+<ul>This License applies to code to which the Initial Developer has attached
+
+the notice in <b>Exhibit A</b> and to related Covered Code.</ul>
+
+<b>6. Versions of the License.</b>
+
+<ul><b>6.1. New Versions</b>.
+
+<br>Netscape Communications Corporation (''Netscape'') may publish revised
+
+and/or new versions of the License from time to time. Each version will
+
+be given a distinguishing version number.
+
+<p><b>6.2. Effect of New Versions</b>.
+
+<br>Once Covered Code has been published under a particular version of
+
+the License, You may always continue to use it under the terms of that
+
+version. You may also choose to use such Covered Code under the terms of
+
+any subsequent version of the License published by Netscape. No one other
+
+than Netscape has the right to modify the terms applicable to Covered Code
+
+created under this License.
+
+<p><b>6.3. Derivative Works</b>.
+
+<br>If You create or use a modified version of this License (which you
+
+may only do in order to apply it to code which is not already Covered Code
+
+governed by this License), You must (a) rename Your license so that the
+
+phrases ''Mozilla'', ''MOZILLAPL'', ''MOZPL'', ''Netscape'', "MPL", ''NPL''
+
+or any confusingly similar phrase do not appear in your license (except
+
+to note that your license differs from this License) and (b) otherwise
+
+make it clear that Your version of the license contains terms which differ
+
+from the Mozilla Public License and Netscape Public License. (Filling in
+
+the name of the Initial Developer, Original Code or Contributor in the
+
+notice described in <b>Exhibit A</b> shall not of themselves be deemed
+
+to be modifications of this License.)</ul>
+
+<b>7. DISCLAIMER OF WARRANTY.</b>
+
+<ul>COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS'' BASIS, WITHOUT
+
+WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION,
+
+WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT
+
+FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY
+
+AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE
+
+PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER
+
+CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
+
+NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.</ul>
+
+<b>8. TERMINATION.</b>
+
+<ul><b>8.1.&nbsp; </b>This License and the rights granted hereunder will
+
+terminate automatically if You fail to comply with terms herein and fail
+
+to cure such breach within 30 days of becoming aware of the breach. All
+
+sublicenses to the Covered Code which are properly granted shall survive
+
+any termination of this License. Provisions which, by their nature, must
+
+remain in effect beyond the termination of this License shall survive.
+
+<p><b>8.2.&nbsp; </b>If You initiate litigation by asserting a patent infringement
+
+claim (excluding declatory judgment actions) against Initial Developer
+
+or a Contributor (the Initial Developer or Contributor against whom You
+
+file such action is referred to as "Participant")&nbsp; alleging that:
+
+<p><b>(a)&nbsp; </b>such Participant's Contributor Version directly or
+
+indirectly infringes any patent, then any and all rights granted by such
+
+Participant to You under Sections 2.1 and/or 2.2 of this License shall,
+
+upon 60 days notice from Participant terminate prospectively, unless if
+
+within 60 days after receipt of notice You either: (i)&nbsp; agree in writing
+
+to pay Participant a mutually agreeable reasonable royalty for Your past
+
+and future use of Modifications made by such Participant, or (ii) withdraw
+
+Your litigation claim with respect to the Contributor Version against such
+
+Participant.&nbsp; If within 60 days of notice, a reasonable royalty and
+
+payment arrangement are not mutually agreed upon in writing by the parties
+
+or the litigation claim is not withdrawn, the rights granted by Participant
+
+to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration
+
+of the 60 day notice period specified above.
+
+<p><b>(b)</b>&nbsp; any software, hardware, or device, other than such
+
+Participant's Contributor Version, directly or indirectly infringes any
+
+patent, then any rights granted to You by such Participant under Sections
+
+2.1(b) and 2.2(b) are revoked effective as of the date You first made,
+
+used, sold, distributed, or had made, Modifications made by that Participant.
+
+<p><b>8.3.&nbsp; </b>If You assert a patent infringement claim against
+
+Participant alleging that such Participant's Contributor Version directly
+
+or indirectly infringes any patent where such claim is resolved (such as
+
+by license or settlement) prior to the initiation of patent infringement
+
+litigation, then the reasonable value of the licenses granted by such Participant
+
+under Sections 2.1 or 2.2 shall be taken into account in determining the
+
+amount or value of any payment or license.
+
+<p><b>8.4.</b>&nbsp; In the event of termination under Sections 8.1 or
+
+8.2 above,&nbsp; all end user license agreements (excluding distributors
+
+and resellers) which have been validly granted by You or any distributor
+
+hereunder prior to termination shall survive termination.</ul>
+
+<b>9. LIMITATION OF LIABILITY.</b>
+
+<ul>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
+
+NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER,
+
+ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER
+
+OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
+
+INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+
+LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE
+
+OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN
+
+IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
+
+PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE
+
+LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
+
+OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION
+
+AND LIMITATION MAY NOT APPLY TO YOU.</ul>
+
+<b>10. U.S. GOVERNMENT END USERS.</b>
+
+<ul>The Covered Code is a ''commercial item,'' as that term is defined
+
+in 48 C.F.R. 2.101 (Oct. 1995), consisting of ''commercial computer software''
+
+and ''commercial computer software documentation,'' as such terms are used
+
+in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and
+
+48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government
+
+End Users acquire Covered Code with only those rights set forth herein.</ul>
+
+<b>11. MISCELLANEOUS.</b>
+
+<ul>This License represents the complete agreement concerning subject matter
+
+hereof. If any provision of this License is held to be unenforceable, such
+
+provision shall be reformed only to the extent necessary to make it enforceable.
+
+This License shall be governed by California law provisions (except to
+
+the extent applicable law, if any, provides otherwise), excluding its conflict-of-law
+
+provisions. With respect to disputes in which at least one party is a citizen
+
+of, or an entity chartered or registered to do business in the United States
+
+of America, any litigation relating to this License shall be subject to
+
+the jurisdiction of the Federal Courts of the Northern District of California,
+
+with venue lying in Santa Clara County, California, with the losing party
+
+responsible for costs, including without limitation, court costs and reasonable
+
+attorneys' fees and expenses. The application of the United Nations Convention
+
+on Contracts for the International Sale of Goods is expressly excluded.
+
+Any law or regulation which provides that the language of a contract shall
+
+be construed against the drafter shall not apply to this License.</ul>
+
+<b>12. RESPONSIBILITY FOR CLAIMS.</b>
+
+<ul>As between Initial Developer and the Contributors, each party is responsible
+
+for claims and damages arising, directly or indirectly, out of its utilization
+
+of rights under this License and You agree to work with Initial Developer
+
+and Contributors to distribute such responsibility on an equitable basis.
+
+Nothing herein is intended or shall be deemed to constitute any admission
+
+of liability.</ul>
+
+<b>13. MULTIPLE-LICENSED CODE.</b>
+
+<ul>Initial Developer may designate portions of the Covered Code as ?Multiple-Licensed?.&nbsp;
+
+?Multiple-Licensed? means that the Initial Developer permits you to utilize
+
+portions of the Covered Code under Your choice of the NPL or the alternative
+
+licenses, if any, specified by the Initial Developer in the file described
+
+in Exhibit A.</ul>
+
+
+
+<p><br><b>EXHIBIT A -Mozilla Public License.</b>
+
+<ul>``The contents of this file are subject to the Mozilla Public License
+
+Version 1.1 (the "License"); you may not use this file except in compliance
+
+with the License. You may obtain a copy of the License at
+
+<br>http://www.mozilla.org/MPL/
+
+<p>Software distributed under the License is distributed on an "AS IS"
+
+basis, WITHOUT WARRANTY OF
+
+<br>ANY KIND, either express or implied. See the License for the specific
+
+language governing rights and
+
+<br>limitations under the License.
+
+<p>The Original Code is AspectJ.
+
+<p>The Initial Developer of the Original Code is Xerox Corporation.
+
+Portions created by
+
+<br>Xerox Corporation are Copyright (C) 1999, 2000 Xerox Corporation.
+
+All Rights Reserved.
+
+<p>Contributor(s): ______________________________________.
+
+<p>&nbsp;
+
+</ul>
+
+
+</body>
+
+</html>

Added: cs/trunk/apps-local/gridsphere/lib/licenses/c3p0.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/c3p0.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/c3p0.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,502 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!

Added: cs/trunk/apps-local/gridsphere/lib/licenses/cactus.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/cactus.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/cactus.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/*
+ * ====================================================================
+ *
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2001-2002 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ *    any, must include the following acknowlegement:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowlegement may appear in the software itself,
+ *    if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Cactus" and "Apache Software
+ *    Foundation" must not be used to endorse or promote products
+ *    derived from this software without prior written permission. For
+ *    written permission, please contact apache at apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ *    nor may "Apache" appear in their names without prior written
+ *    permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/lib/licenses/castor.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/castor.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/castor.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+Copyright 2000-2002 (C) Intalio Inc. All Rights Reserved.
+
+Redistribution and use of this software and associated documentation
+("Software"), with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain copyright statements
+   and notices. Redistributions must also contain a copy of this
+   document.
+
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+3. The name "ExoLab" must not be used to endorse or promote products
+   derived from this Software without prior written permission of
+   Intalio Inc. For written permission, please contact info at exolab.org.
+
+4. Products derived from this Software may not be called "Castor"
+   nor may "Castor" appear in their names without prior written
+   permission of Intalio Inc. Exolab, Castor and Intalio are
+   trademarks of Intalio Inc.
+
+5. Due credit should be given to the ExoLab Project
+   (http://www.exolab.org/).
+
+THIS SOFTWARE IS PROVIDED BY INTALIO AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTALIO OR ITS
+CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGE.

Added: cs/trunk/apps-local/gridsphere/lib/licenses/commons.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/commons.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/commons.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+/*
+ * ============================================================================
+ *                   The Apache Software License, Version 1.1
+ * ============================================================================
+ * 
+ *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modifica-
+ * tion, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of  source code must  retain the above copyright  notice,
+ *    this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * 3. The end-user documentation included with the redistribution, if any, must
+ *    include  the following  acknowledgment:  "This product includes  software
+ *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+ *    Alternately, this  acknowledgment may  appear in the software itself,  if
+ *    and wherever such third-party acknowledgments normally appear.
+ * 
+ * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
+ *    endorse  or promote  products derived  from this  software without  prior
+ *    written permission. For written permission, please contact
+ *    apache at apache.org.
+ * 
+ * 5. Products  derived from this software may not  be called "Apache", nor may
+ *    "Apache" appear  in their name,  without prior written permission  of the
+ *    Apache Software Foundation.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * This software  consists of voluntary contributions made  by many individuals
+ * on  behalf of the Apache Software  Foundation.  For more  information on the 
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */

Added: cs/trunk/apps-local/gridsphere/lib/licenses/dom4j.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/dom4j.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/dom4j.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+BSD style license
+
+     Redistribution and use of this software and associated
+     documentation ("Software"), with or without modification, are
+     permitted provided that the following conditions are met:
+    1. Redistributions of source code must retain copyright statements
+       and notices. Redistributions must also contain a copy of this
+       document.
+    2. Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in
+       the documentation and/or other materials provided with the
+       distribution.
+    3. The name "DOM4J" must not be used to endorse or promote products
+       derived from this Software without prior written permission of
+       MetaStuff, Ltd. For written permission, please contact
+       dom4j-info at metastuff.com.
+    4. Products derived from this Software may not be called "DOM4J" nor
+       may "DOM4J" appear in their names without prior written permission
+       of MetaStuff, Ltd. DOM4J is a registered trademark of MetaStuff,
+       Ltd.
+    5. Due credit should be given to the DOM4J Project
+       (http://dom4j.org/).
+
+     THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS
+     IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+     FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
+     METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+     INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+     (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+     SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+     STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+     ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+     OF THE POSSIBILITY OF SUCH DAMAGE.
+
+     Copyright 2001 (C) MetaStuff, Ltd. All Rights Reserved.
+

Added: cs/trunk/apps-local/gridsphere/lib/licenses/hibernate.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/hibernate.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/hibernate.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+		     
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Added: cs/trunk/apps-local/gridsphere/lib/licenses/hsqldb.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/hsqldb.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/hsqldb.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/* Copyright (c) 2001-2002, The HSQL Development Group
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the HSQL Development Group nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG, 
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jaimbot.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jaimbot.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jaimbot.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/*------------------------------------------------------------------------------
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
+ * the specific language governing rights and limitations under the License.
+ *
+ * The Original Code is levelonelabs.com code.
+ * The Initial Developer of the Original Code is Level One Labs. Portions
+ * created by the Initial Developer are Copyright (C) 2001 the Initial
+ * Developer. All Rights Reserved.
+ *
+ *         Contributor(s):
+ *             Scott Oster      (ostersc at alum.rpi.edu)
+ *             Steve Zingelwicz (sez at po.cwru.edu)
+ *             William Gorman   (willgorman at hotmail.com)
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 2 or later (the "GPL"), or
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable
+ * instead of those above. If you wish to allow use of your version of this
+ * file only under the terms of either the GPL or the LGPL, and not to allow
+ * others to use your version of this file under the terms of the NPL, indicate
+ * your decision by deleting the provisions above and replace them with the
+ * notice and other provisions required by the GPL or the LGPL. If you do not
+ * delete the provisions above, a recipient may use your version of this file
+ * under the terms of any one of the NPL, the GPL or the LGPL.
+ *----------------------------------------------------------------------------*/

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-oro.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-oro.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-oro.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/* ====================================================================
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ *    if any, must include the following acknowledgment:
+ *       "This product includes software developed by the
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowledgment may appear in the software itself,
+ *    if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Apache" and "Apache Software Foundation", "Jakarta-Oro" 
+ *    must not be used to endorse or promote products derived from this
+ *    software without prior written permission. For written
+ *    permission, please contact apache at apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache" 
+ *    or "Jakarta-Oro", nor may "Apache" or "Jakarta-Oro" appear in their 
+ *    name, without prior written permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ * Portions of this software are based upon software originally written 
+ * by Daniel F. Savarese. We appreciate his contributions.
+ */

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-regexp.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-regexp.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jakarta-regexp.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+/*
+ * ============================================================================
+ *                   The Apache Software License, Version 1.1
+ * ============================================================================
+ * 
+ *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modifica-
+ * tion, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of  source code must  retain the above copyright  notice,
+ *    this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * 3. The end-user documentation included with the redistribution, if any, must
+ *    include  the following  acknowledgment:  "This product includes  software
+ *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+ *    Alternately, this  acknowledgment may  appear in the software itself,  if
+ *    and wherever such third-party acknowledgments normally appear.
+ * 
+ * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
+ *    endorse  or promote  products derived  from this  software without  prior
+ *    written permission. For written permission, please contact
+ *    apache at apache.org.
+ * 
+ * 5. Products  derived from this software may not  be called "Apache", nor may
+ *    "Apache" appear  in their name,  without prior written permission  of the
+ *    Apache Software Foundation.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * This software  consists of voluntary contributions made  by many individuals
+ * on  behalf of the Apache Software  Foundation.  For more  information on the 
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jdom.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jdom.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jdom.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/*-- 
+
+ $Id: jdom.LICENSE 4496 2006-02-08 20:27:04Z wehrens $
+
+ Copyright (C) 2001 Brett McLaughlin & Jason Hunter.
+ All rights reserved.
+ 
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ 
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions, and the following disclaimer.
+ 
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions, and the disclaimer that follows 
+    these conditions in the documentation and/or other materials 
+    provided with the distribution.
+
+ 3. The name "JDOM" must not be used to endorse or promote products
+    derived from this software without prior written permission.  For
+    written permission, please contact license at jdom.org.
+ 
+ 4. Products derived from this software may not be called "JDOM", nor
+    may "JDOM" appear in their name, without prior written permission
+    from the JDOM Project Management (pm at jdom.org).
+ 
+ In addition, we request (but do not require) that you include in the 
+ end-user documentation provided with the redistribution and/or in the 
+ software itself an acknowledgement equivalent to the following:
+     "This product includes software developed by the
+      JDOM Project (http://www.jdom.org/)."
+ Alternatively, the acknowledgment may be graphical using the logos 
+ available at http://www.jdom.org/images/logos.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED.  IN NO EVENT SHALL THE JDOM AUTHORS OR THE PROJECT
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+
+ This software consists of voluntary contributions made by many 
+ individuals on behalf of the JDOM Project and was originally 
+ created by Brett McLaughlin <brett at jdom.org> and 
+ Jason Hunter <jhunter at jdom.org>.  For more information on the 
+ JDOM Project, please see <http://www.jdom.org/>.
+ 
+ */
+

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jfreechart.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jfreechart.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jfreechart.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

Added: cs/trunk/apps-local/gridsphere/lib/licenses/jta.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/jta.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/jta.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+  
+Sun Microsystems, Inc. 
+Binary Code License Agreement
+
+READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE MEDIA PACKAGE.  BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU AGREE TO THE TERMS OF THIS AGREEMENT.  IF YOU ARE ACCESSING THE SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT.  IF YOU DO NOT AGREE TO ALL THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT THE END OF THIS AGREEMENT. 
+
+1.  LICENSE TO USE.  Sun grants you a non-exclusive and non-transferable license for the internal use only of the accompanying software and documentation and any error corrections provided by Sun (collectively "Software"), by the number of users and the class of computer hardware for which the corresponding fee has been paid. 
+
+2.  RESTRICTIONS.  Software is confidential and copyrighted. Title to Software and all associated intellectual property rights is retained by Sun and/or its licensors.  Except as specifically authorized in any Supplemental License Terms, you may not make copies of Software, other than a single copy of Software for archival purposes.  Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software.  Licensee acknowledges that Licensed Software is not designed or intended for use in the design, construction, operation or maintenance of any nuclear facility. Sun Microsystems, Inc. disclaims any express or implied warranty of fitness for such uses.   No right, title or interest in or to any trademark, service mark, logo or trade name of Sun or its licensors is granted under this Agreement. 
+
+3. LIMITED WARRANTY.  Sun warrants to you that for a period of ninety (90) days from the date of purchase, as evidenced by a copy of the receipt, the media on which Software is furnished (if any) will be free of defects in materials and workmanship under normal use.  Except for the foregoing, Software is provided "AS IS".  Your exclusive remedy and Sun's entire liability under this limited warranty will be at Sun's option to replace Software media or refund the fee paid for Software. 
+
+4.  DISCLAIMER OF WARRANTY.  UNLESS SPECIFIED IN THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. 
+
+5.  LIMITATION OF LIABILITY.  TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  In no event will Sun's liability to you, whether in contract, tort (including negligence), or otherwise, exceed the amount paid by you for Software under this Agreement.  The foregoing limitations will apply even if the above stated warranty fails of its essential purpose. 
+
+6.  Termination.  This Agreement is effective until terminated.  You may terminate this Agreement at any time by destroying all copies of Software.  This Agreement will terminate immediately without notice from Sun if you fail to comply with any provision of this Agreement.  Upon Termination, you must destroy all copies of Software. 
+
+7. Export Regulations. All Software and technical data delivered under this Agreement are subject to US export control laws and may be subject to export or import regulations in other countries.  You agree to comply strictly with all such laws and regulations and acknowledge that you have the responsibility to obtain such licenses to export, re-export, or import as may be required after delivery to you. 
+
+8.   U.S. Government Restricted Rights.  If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation will be only as set forth in this Agreement; this is in accordance with 48 CFR 227.7201 through 227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD acquisitions). 
+
+9.  Governing Law.  Any action related to this Agreement will be governed by California law and controlling U.S. federal law.  No choice of law rules of any jurisdiction will apply. 
+
+10.  Severability. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate. 
+
+11.  Integration.  This Agreement is the entire agreement between you and Sun relating to its subject matter.  It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement.  No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party. 
+
+JAVATM INTERFACE CLASSES 
+JAVA TRANSACTION API (JTA), VERSION 1.0.1B, MAINTENANCE RELEASE
+SUPPLEMENTAL LICENSE TERMS
+
+These supplemental license terms ("Supplemental Terms") add to or modify the terms of the Binary Code License Agreement (collectively, the "Agreement"). Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Agreement, or in any license contained within the Software. 
+
+1. Software Internal Use and Development License Grant. Subject to the terms and conditions of this Agreement, including, but not limited to Section 3 (Java Technology Restrictions) of these Supplemental Terms, Sun grants you a non-exclusive, non-transferable, limited license to reproduce internally and use internally the binary form of the Software, complete and unmodified, for the sole purpose of designing, developing and testing your Java applets and applications ("Programs"). 
+
+2. License to Distribute Software.  In addition to the license granted in Section 1 (Software Internal Use and Development License Grant) of these Supplemental Terms, subject to the terms and conditions of this Agreement, including but not limited to Section 3 (Java Technology Restrictions), Sun grants you a non-exclusive, non-transferable, limited license to reproduce and distribute the Software in binary form only, provided that you (i) distribute the Software complete and unmodified and only bundled as part of your Programs, (ii) do not distribute additional software intended to replace any component(s) of the Software, (iii) do not remove or alter any proprietary legends or notices contained in the Software, (iv) only distribute the Software subject to a license agreement that protects Sun's interests consistent with the terms contained in this Agreement, and (v) agree to defend and indemnify Sun and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. 
+
+3. Java Technology Restrictions. You may not modify the Java Platform Interface ("JPI", identified as classes contained within the "java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI.  In the event that you create an additional class and associated API(s) which (i) extends the functionality of the Java Platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers. You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation. 
+
+4. Trademarks and Logos. You acknowledge and agree as between you and Sun that Sun owns the SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, and iPLANET-related trademarks, service marks, logos and other brand designations ("Sun Marks"), and you agree to comply with the Sun Trademark and Logo Usage Requirements currently located at http://www.sun.com/policies/trademarks. Any use you make of the Sun Marks inures to Sun's benefit. 
+
+5. Source Code. Software may contain source code that is provided solely for reference purposes pursuant to the terms of this Agreement.  Source code may not be redistributed unless expressly provided for in this Agreement. 
+
+6. Termination for Infringement.  Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. 
+
+For inquiries please contact: Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054. 
+
+ 

Added: cs/trunk/apps-local/gridsphere/lib/licenses/junit.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/junit.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/junit.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+
+Common Public License Version 0.5
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
+
+b) in the case of each subsequent Contributor:
+
+i) changes to the Program, and
+
+ii) additions to the Program;
+
+where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
+
+"Contributor" means any person or entity that distributes the Program.
+
+"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
+
+"Program" means the Contributions distributed in accordance with this Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
+
+b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
+
+c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
+
+d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
+
+a) it complies with the terms and conditions of this Agreement; and
+
+b) its license agreement:
+
+i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
+
+ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
+
+iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
+
+iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
+
+When the Program is made available in source code form:
+
+a) it must be made available under this Agreement; and
+
+b) a copy of this Agreement must be included with each copy of the Program.
+
+Contributors may not remove or alter any copyright notices contained within the Program.
+
+Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
+
+

Added: cs/trunk/apps-local/gridsphere/lib/licenses/log4j.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/log4j.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/log4j.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+/*
+ * ============================================================================
+ *                   The Apache Software License, Version 1.1
+ * ============================================================================
+ * 
+ *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modifica-
+ * tion, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of  source code must  retain the above copyright  notice,
+ *    this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * 3. The end-user documentation included with the redistribution, if any, must
+ *    include  the following  acknowledgment:  "This product includes  software
+ *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+ *    Alternately, this  acknowledgment may  appear in the software itself,  if
+ *    and wherever such third-party acknowledgments normally appear.
+ * 
+ * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
+ *    endorse  or promote  products derived  from this  software without  prior
+ *    written permission. For written permission, please contact
+ *    apache at apache.org.
+ * 
+ * 5. Products  derived from this software may not  be called "Apache", nor may
+ *    "Apache" appear  in their name,  without prior written permission  of the
+ *    Apache Software Foundation.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * This software  consists of voluntary contributions made  by many individuals
+ * on  behalf of the Apache Software  Foundation.  For more  information on the 
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */

Added: cs/trunk/apps-local/gridsphere/lib/licenses/rome.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/rome.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/rome.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.


Property changes on: cs/trunk/apps-local/gridsphere/lib/licenses/rome.LICENSE
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/lib/licenses/spring.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/spring.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/spring.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,201 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: cs/trunk/apps-local/gridsphere/lib/licenses/xalan.LICENSE
===================================================================
--- cs/trunk/apps-local/gridsphere/lib/licenses/xalan.LICENSE	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/lib/licenses/xalan.LICENSE	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+/*
+ * ============================================================================
+ *                   The Apache Software License, Version 1.1
+ * ============================================================================
+ * 
+ *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without modifica-
+ * tion, are permitted provided that the following conditions are met:
+ * 
+ * 1. Redistributions of  source code must  retain the above copyright  notice,
+ *    this list of conditions and the following disclaimer.
+ * 
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 
+ * 3. The end-user documentation included with the redistribution, if any, must
+ *    include  the following  acknowledgment:  "This product includes  software
+ *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+ *    Alternately, this  acknowledgment may  appear in the software itself,  if
+ *    and wherever such third-party acknowledgments normally appear.
+ * 
+ * 4. The names "log4j" and  "Apache Software Foundation"  must not be used to
+ *    endorse  or promote  products derived  from this  software without  prior
+ *    written permission. For written permission, please contact
+ *    apache at apache.org.
+ * 
+ * 5. Products  derived from this software may not  be called "Apache", nor may
+ *    "Apache" appear  in their name,  without prior written permission  of the
+ *    Apache Software Foundation.
+ * 
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ * This software  consists of voluntary contributions made  by many individuals
+ * on  behalf of the Apache Software  Foundation.  For more  information on the 
+ * Apache Software Foundation, please see <http://www.apache.org/>.
+ *
+ */

Added: cs/trunk/apps-local/gridsphere/lib/log4j-1.2.11.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/log4j-1.2.11.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/lsimplecaptcha-20070214.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/lsimplecaptcha-20070214.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/lucene-1.4.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/lucene-1.4.3.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/mail.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/mail.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/portals-bridges-common-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/portals-bridges-common-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/radeox.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/radeox.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/rome-0.9.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/rome-0.9.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/serializer.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/serializer.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/slf4j-log4j12-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/slf4j-log4j12-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/xalan.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/xalan.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/lib/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/lib/xercesImpl.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionRequest.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionRequest.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionRequest.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,131 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>ActionRequest</CODE> represents the request sent to the portlet
+ * to handle an action.
+ * It extends the PortletRequest interface to provide action request
+ * information to portlets.<br>
+ * The portlet container creates an <CODE>ActionRequest</CODE> object and
+ * passes it as argument to the portlet's <CODE>processAction</CODE> method.
+ * 
+ * @see PortletRequest
+ * @see RenderRequest
+ */
+public interface ActionRequest extends PortletRequest {
+
+
+    /**
+     * Retrieves the body of the HTTP request from client to
+     * portal as binary data using
+     * an <CODE>InputStream</CODE>. Either this method or
+     * {@link #getReader} may be called to read the body, but not both.
+     * <p/>
+     * For HTTP POST data of type application/x-www-form-urlencoded
+     * this method throws an <code>IllegalStateException</code>
+     * as this data has been already processed by the
+     * portal/portlet-container and is available as request parameters.
+     *
+     * @return an input stream containing the body of the request
+     * @throws java.lang.IllegalStateException
+     *                             if getReader was already called, or it is a
+     *                             HTTP POST data of type application/x-www-form-urlencoded
+     * @throws java.io.IOException if an input or output exception occurred
+     */
+    public java.io.InputStream getPortletInputStream() throws java.io.IOException;
+
+
+    /**
+     * Overrides the name of the character encoding used in the body of this
+     * request. This method must be called prior to reading input
+     * using {@link #getReader} or {@link #getPortletInputStream}.
+     * <p/>
+     * This method only sets the character set for the Reader that the
+     * {@link #getReader} method returns.
+     *
+     * @param	enc	a <code>String</code> containing the name of
+     * the chararacter encoding.
+     * @exception		java.io.UnsupportedEncodingException if this is not a valid encoding
+     * @exception		java.lang.IllegalStateException if this method is called after
+     * reading request parameters or reading input using
+     * <code>getReader()</code>
+     */
+
+    public void setCharacterEncoding(String enc)
+            throws java.io.UnsupportedEncodingException;
+
+
+    /**
+     * Retrieves the body of the HTTP request from the client to the portal
+     * as character data using
+     * a <code>BufferedReader</code>.  The reader translates the character
+     * data according to the character encoding used on the body.
+     * Either this method or {@link #getPortletInputStream} may be called to read the
+     * body, not both.
+     * <p/>
+     * For HTTP POST data of type application/x-www-form-urlencoded
+     * this method throws an <code>IllegalStateException</code>
+     * as this data has been already processed by the
+     * portal/portlet-container and is available as request parameters.
+     *
+     * @throws java.io.UnsupportedEncodingException
+     *                             if the character set encoding used is
+     *                             not supported and the text cannot be decoded
+     * @throws java.lang.IllegalStateException
+     *                             if {@link #getPortletInputStream} method
+     *                             has been called on this request,  it is a
+     *                             HTTP POST data of type application/x-www-form-urlencoded.
+     * @throws java.io.IOException if an input or output exception occurred
+     * @return	a <code>BufferedReader</code>
+     * containing the body of the request
+     * @see #getPortletInputStream
+     */
+
+    public java.io.BufferedReader getReader()
+            throws java.io.UnsupportedEncodingException, java.io.IOException;
+
+
+    /**
+     * Returns the name of the character encoding used in the body of this request.
+     * This method returns <code>null</code> if the request
+     * does not specify a character encoding.
+     *
+     * @return		a <code>String</code> containing the name of
+     * the chararacter encoding, or <code>null</code>
+     * if the request does not specify a character encoding.
+     */
+
+    public java.lang.String getCharacterEncoding();
+
+
+    /**
+     * Returns the MIME type of the body of the request,
+     * or null if the type is not known.
+     *
+     * @return		a <code>String</code> containing the name
+     * of the MIME type of the request, or null
+     * if the type is not known.
+     */
+
+    public java.lang.String getContentType();
+
+
+    /**
+     * Returns the length, in bytes, of the request body
+     * which is made available by the input stream, or -1 if the
+     * length is not known.
+     *
+     * @return		an integer containing the length of the
+     * request body or -1 if the length is not known
+     */
+
+    public int getContentLength();
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionResponse.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionResponse.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/ActionResponse.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,190 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>ActionResponse</CODE> interface represents the portlet
+ * response to an action request.
+ * It extends the <CODE>PortletResponse</CODE> interface to provide specific
+ * action response functionality to portlets.<br>
+ * The portlet container creates an <CODE>ActionResponse</CODE> object and
+ * passes it as argument to the portlet's <CODE>processAction</CODE> method.
+ *
+ * @see ActionRequest
+ * @see PortletResponse
+ */
+public interface ActionResponse extends PortletResponse {
+
+    /**
+     * Sets the window state of a portlet to the given window state.
+     * <p/>
+     * Possible values are the standard window states and any custom
+     * window states supported by the portal and the portlet.
+     * Standard window states are:
+     * <ul>
+     * <li>MINIMIZED
+     * <li>NORMAL
+     * <li>MAXIMIZED
+     * </ul>
+     *
+     * @param windowState the new portlet window state
+     * @throws WindowStateException if the portlet cannot switch to the specified window state.
+     *                              To avoid this exception the portlet can check the allowed
+     *                              window states with <code>Request.isWindowStateAllowed()</code>.
+     * @throws java.lang.IllegalStateException
+     *                              if the method is invoked after <code>sendRedirect</code> has been called.
+     * @see WindowState
+     */
+
+    public void setWindowState(WindowState windowState)
+            throws WindowStateException;
+
+
+    /**
+     * Sets the portlet mode of a portlet to the given portlet mode.
+     * <p/>
+     * Possible values are the standard portlet modes and any custom
+     * portlet modes supported by the portal and the portlet. Portlets
+     * must declare in the deployment descriptor the portlet modes they
+     * support for each markup type.
+     * Standard portlet modes are:
+     * <ul>
+     * <li>EDIT
+     * <li>HELP
+     * <li>VIEW
+     * </ul>
+     * <p/>
+     * Note: The portlet may still be called in a different window
+     * state in the next render call, depending on the portlet container / portal.
+     *
+     * @param portletMode the new portlet mode
+     * @throws PortletModeException if the portlet cannot switch to this portlet mode,
+     *                              because the portlet or portal does not support it for this markup,
+     *                              or the current user is not allowed to switch to this portlet mode.
+     *                              To avoid this exception the portlet can check the allowed
+     *                              portlet modes with <code>Request.isPortletModeAllowed()</code>.
+     * @throws java.lang.IllegalStateException
+     *                              if the method is invoked after <code>sendRedirect</code> has been called.
+     */
+
+    public void setPortletMode(PortletMode portletMode)
+            throws PortletModeException;
+
+
+    /**
+     * Instructs the portlet container to send a redirect response
+     * to the client using the specified redirect location URL.
+     * <p/>
+     * This method only accepts an absolute URL (e.g.
+     * <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
+     * or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
+     * If required,
+     * the portlet container may encode the given URL before the
+     * redirection is issued to the client.
+     * <p/>
+     * The sendRedirect method can not be invoked after any of the
+     * following methods of the ActionResponse interface has been called:
+     * <ul>
+     * <li>setPortletMode
+     * <li>setWindowState
+     * <li>setRenderParameter
+     * <li>setRenderParameters
+     * </ul>
+     *
+     * @throws java.lang.IllegalStateException
+     *          if the method is invoked after any of above mentioned methods of
+     *          the ActionResponse interface has been called.
+     * @param		location	the redirect location URL
+     * @exception	java.io.IOException if an input or output exception occurs.
+     * @exception	java.lang.IllegalArgumentException if a relative path URL is given
+     */
+
+    public void sendRedirect(String location)
+            throws java.io.IOException;
+
+
+    /**
+     * Sets a parameter map for the render request.
+     * <p/>
+     * All previously set render parameters are cleared.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a new request is targeted to the portlet.
+     * <p/>
+     * The given parameters do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param parameters Map containing parameter names for
+     *                   the render phase as
+     *                   keys and parameter values as map
+     *                   values. The keys in the parameter
+     *                   map must be of type String. The values
+     *                   in the parameter map must be of type
+     *                   String array (<code>String[]</code>).
+     * @throws java.lang.IllegalStateException
+     *          if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception	java.lang.IllegalArgumentException if parameters is <code>null</code>, if
+     * any of the key/values in the Map are <code>null</code>,
+     * if any of the keys is not a String, or if any of
+     * the values is not a String array.
+     */
+
+    public void setRenderParameters(java.util.Map parameters);
+
+
+    /**
+     * Sets a String parameter for the render request.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a request is targeted to the portlet.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The given parameter do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param key   key of the render parameter
+     * @param value value of the render parameter
+     * @throws java.lang.IllegalStateException
+     *          if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception	java.lang.IllegalArgumentException if key or value are <code>null</code>.
+     */
+
+    public void setRenderParameter(String key, String value);
+
+
+    /**
+     * Sets a String array parameter for the render request.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a request is targeted to the portlet.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The given parameter do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param key    key of the render parameter
+     * @param values values of the render parameter
+     * @throws java.lang.IllegalStateException
+     *          if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception	java.lang.IllegalArgumentException if key or value are <code>null</code>.
+     */
+
+    public void setRenderParameter(String key, String[] values);
+
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/GenericPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/GenericPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/GenericPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,369 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>GenericPortlet</CODE> class provides a default implementation
+ * for the <CODE>Portlet</CODE> interface.
+ * <p/>
+ * It provides an abstract class to be subclassed to create portlets. A
+ * subclass of <CODE>GenericPortlet</CODE> should override at least
+ * one method, usually one of the following:
+ * <ul>
+ * <li>processAction, to handle action requests</li>
+ * <li>doView, to handle render requests when in VIEW mode</li>
+ * <li>doEdit, to handle render requests when in EDIT mode</li>
+ * <li>doHelp, to handle render request when in HELP mode</li>
+ * <li>init and destroy, to manage resources that are held for the life of
+ * the servlet</li>
+ * </ul>
+ * <p/>
+ * Normally there is no need to override the render or the doDispatch
+ * methods. Render handles render requests setting the title of the
+ * portlet in the response and invoking doDispatch. doDispatch dispatches
+ * the request to one of the doView, doEdit or doHelp method depending on
+ * the portlet mode indicated in the request.
+ * <p/>
+ * Portlets typically run on multithreaded servers, so please note that a
+ * portlet must handle concurrent requests and be careful to synchronize
+ * access to shared resources.  Shared resources include in-memory data
+ * such as  instance or class variables and external objects  such as
+ * files, database connections, and network  connections.
+ */
+public abstract class GenericPortlet implements Portlet, PortletConfig {
+
+    private transient PortletConfig config;
+
+    /**
+     * Does nothing.
+     */
+
+    public GenericPortlet() {
+    }
+
+
+    /**
+     * Called by the portlet container to indicate to a portlet that the
+     * portlet is being placed into service.
+     * <p/>
+     * The default implementation just stores the <code>PortletConfig</code>
+     * object.
+     * <p>The portlet container calls the <code>init</code>
+     * method exactly once after instantiating the portlet.
+     * The <code>init</code> method must complete successfully
+     * before the portlet can receive any requests.
+     * <p/>
+     * <p>The portlet container cannot place the portlet into service
+     * if the <code>init</code> method does one of the following:
+     * <ol>
+     * <li>it throws a <code>PortletException</code>
+     * <li>it does not return within a time period defined by the Web server
+     * </ol>
+     *
+     * @param config a <code>PortletConfig</code> object
+     *               containing the portlet
+     *               configuration and initialization parameters
+     * @throws PortletException     if an exception has occurred that
+     *                              interferes with the portlet normal
+     *                              operation.
+     * @throws UnavailableException if the portlet cannot perform the initialization at this time.
+     */
+
+    public void init(PortletConfig config) throws PortletException {
+        this.config = config;
+        this.init();
+    }
+
+
+    /**
+     * A convenience method which can be overridden so that there's no need
+     * to call <code>super.init(config)</code>.
+     * <p/>
+     * <p>Instead of overriding {@link #init(PortletConfig)}, simply override
+     * this method and it will be called by
+     * <code>GenericPortlet.init(PortletConfig config)</code>.
+     * The <code>PortletConfig</code> object can still be retrieved via {@link
+     * #getPortletConfig}.
+     *
+     * @throws PortletException     if an exception has occurred that
+     *                              interferes with the portlet normal
+     *                              operation.
+     * @throws UnavailableException if the portlet is unavailable to perform init
+     */
+
+    public void init() throws PortletException {
+    }
+
+
+    /**
+     * Called by the portlet container to allow the portlet to process
+     * an action request. This method is called if the client request was
+     * originated by a URL created (by the portlet) with the
+     * <code>RenderResponse.createActionURL()</code> method.
+     * <p/>
+     * The default implementation throws an exception.
+     *
+     * @param request  the action request
+     * @param response the action response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to process the action at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+    public void processAction(ActionRequest request, ActionResponse response)
+            throws PortletException, java.io.IOException {
+        throw new PortletException("processAction method not implemented");
+    }
+
+
+    /**
+     * The default implementation of this method sets the title
+     * using the <code>getTitle</code> method and invokes the
+     * <code>doDispatch</code> method.
+     *
+     * @param request  the render request
+     * @param response the render response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+    public void render(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException {
+        response.setTitle(getTitle(request));
+        doDispatch(request, response);
+    }
+
+
+    /**
+     * Used by the render method to get the title.
+     * <p/>
+     * The default implementation gets the title from the ResourceBundle
+     * of the PortletConfig of the portlet. The title is retrieved
+     * using the 'javax.portlet.title' resource name.
+     * <p/>
+     * Portlets can overwrite this method to provide dynamic
+     * titles (e.g. based on locale, client, and session information).
+     * Examples are:
+     * <UL>
+     * <LI>language-dependant titles for multi-lingual portals
+     * <LI>shorter titles for WAP phones
+     * <LI>the number of messages in a mailbox portlet
+     * </UL>
+     *
+     * @return the portlet title for this window
+     */
+    protected java.lang.String getTitle(RenderRequest request) {
+        return config.getResourceBundle(request.getLocale()).getString("javax.portlet.title");
+    }
+
+
+    /**
+     * The default implementation of this method routes the render request
+     * to a set of helper methods depending on the current portlet mode the
+     * portlet is currently in.
+     * These methods are:
+     * <ul>
+     * <li><code>doView</code> for handling <code>view</code> requests
+     * <li><code>doEdit</code> for handling <code>edit</code> requests
+     * <li><code>doHelp</code> for handling <code>help</code> requests
+     * </ul>
+     * <P>
+     * If the window state of this portlet is <code>minimized</code>, this
+     * method does not invoke any of the portlet mode rendering methods.
+     * <p/>
+     * For handling custom portlet modes the portlet should override this
+     * method.
+     *
+     * @param request  the render request
+     * @param response the render response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     * @see #doView(RenderRequest, RenderResponse)
+     * @see #doEdit(RenderRequest, RenderResponse)
+     * @see #doHelp(RenderRequest, RenderResponse)
+     */
+    protected void doDispatch(RenderRequest request,
+                              RenderResponse response) throws PortletException, java.io.IOException {
+        WindowState state = request.getWindowState();
+
+        if (!state.equals(WindowState.MINIMIZED)) {
+            PortletMode mode = request.getPortletMode();
+            if (mode.equals(PortletMode.VIEW)) {
+                doView(request, response);
+            } else if (mode.equals(PortletMode.EDIT)) {
+                doEdit(request, response);
+            } else if (mode.equals(PortletMode.HELP)) {
+                doHelp(request, response);
+            } else {
+                throw new PortletException("unknown portlet mode: " + mode);
+            }
+        }
+
+    }
+
+
+    /**
+     * Helper method to serve up the mandatory <code>view</code> mode.
+     * <p/>
+     * The default implementation throws an exception.
+     *
+     * @param request  the portlet request
+     * @param response the render response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+
+    protected void doView(RenderRequest request,
+                          RenderResponse response)
+            throws PortletException, java.io.IOException {
+        throw new PortletException("doView method not implemented");
+    }
+
+
+    /**
+     * Helper method to serve up the <code>edit</code> mode.
+     * <p/>
+     * The default implementation throws an exception.
+     *
+     * @param request  the portlet request
+     * @param response the render response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+
+    protected void doEdit(RenderRequest request,
+                          RenderResponse response)
+            throws PortletException, java.io.IOException {
+        throw new PortletException("doEdit method not implemented");
+    }
+
+    /**
+     * Helper method to serve up the <code>help</code> mode.
+     * <p/>
+     * The default implementation throws an exception.
+     *
+     * @param request  the portlet request
+     * @param response the render response
+     * @throws PortletException         if the portlet cannot fulfilling the request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+
+    protected void doHelp(RenderRequest request,
+                          RenderResponse response)
+            throws PortletException, java.io.IOException {
+        throw new PortletException("doHelp method not implemented");
+
+    }
+
+
+    /**
+     * Returns the PortletConfig object of this portlet.
+     *
+     * @return the PortletConfig object of this portlet
+     */
+
+    public PortletConfig getPortletConfig() {
+        return config;
+    }
+
+
+    /**
+     * Called by the portlet container to indicate to a portlet that the portlet
+     * is being taken out of service.
+     * <p/>
+     * The default implementation does nothing.
+     */
+
+    public void destroy() {
+        // do nothing
+    }
+
+    //-------------------------------------------------------------------------
+    // implement PortletConfig
+    //-------------------------------------------------------------------------
+
+
+    /**
+     * Returns the name of this portlet.
+     *
+     * @return the portlet name
+     * @see PortletConfig#getPortletName()
+     */
+
+    public String getPortletName() {
+        return config.getPortletName();
+    }
+
+
+    /**
+     * Returns the <code>PortletContext</code> of the portlet application
+     * the portlet is in.
+     *
+     * @return the portlet application context
+     */
+
+    public PortletContext getPortletContext() {
+        return config.getPortletContext();
+    }
+
+
+    /**
+     * Gets the resource bundle for the given locale based on the
+     * resource bundle defined in the deployment descriptor
+     * with <code>resource-bundle</code> tag or the inlined resources
+     * defined in the deployment descriptor.
+     *
+     * @return the resource bundle for the given locale
+     */
+
+    public java.util.ResourceBundle getResourceBundle(java.util.Locale locale) {
+        return config.getResourceBundle(locale);
+    }
+
+
+    /**
+     * Returns a String containing the value of the named initialization parameter,
+     * or null if the parameter does not exist.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the initialization parameter
+     * @return		a <code>String</code> containing the value
+     * of the initialization parameter
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public String getInitParameter(java.lang.String name) {
+        return config.getInitParameter(name);
+    }
+
+
+    /**
+     * Returns the names of the portlet initialization parameters as an
+     * Enumeration of String objects, or an empty Enumeration if the
+     * portlet has no initialization parameters.
+     *
+     * @return		an <code>Enumeration</code> of <code>String</code>
+     * objects containing the names of the portlet
+     * initialization parameters, or an empty Enumeration if the
+     * portlet has no initialization parameters.
+     */
+
+    public java.util.Enumeration getInitParameterNames() {
+        return config.getInitParameterNames();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortalContext.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortalContext.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortalContext.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,85 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortalContext</CODE> interface gives the portlet
+ * the ability to retrieve information about the portal calling this portlet.
+ * <p/>
+ * The portlet can only read the <CODE>PortalContext</CODE> data.
+ */
+public interface PortalContext {
+
+
+    /**
+     * Returns the portal property with the given name,
+     * or a <code>null</code> if there is
+     * no property by that name.
+     *
+     * @param name property name
+     * @return portal property with key <code>name</code>
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public java.lang.String getProperty(java.lang.String name);
+
+
+    /**
+     * Returns all portal property names, or an empty
+     * <code>Enumeration</code> if there are no property names.
+     *
+     * @return All portal property names as an
+     *         <code>Enumeration</code> of <code>String</code> objects
+     */
+    public java.util.Enumeration getPropertyNames();
+
+
+    /**
+     * Returns all supported portlet modes by the portal
+     * as an enumertation of <code>PorltetMode</code> objects.
+     * <p/>
+     * The portlet modes must at least include the
+     * standard portlet modes <code>EDIT, HELP, VIEW</code>.
+     *
+     * @return All supported portal modes by the portal
+     *         as an enumertation of <code>PorltetMode</code> objects.
+     */
+
+    public java.util.Enumeration getSupportedPortletModes();
+
+
+    /**
+     * Returns all supported window states by the portal
+     * as an enumertation of <code>WindowState</code> objects.
+     * <p/>
+     * The window states must at least include the
+     * standard window states <code> MINIMIZED, NORMAL, MAXIMIZED</code>.
+     *
+     * @return All supported window states by the portal
+     *         as an enumertation of <code>WindowState</code> objects.
+     */
+
+    public java.util.Enumeration getSupportedWindowStates();
+
+
+    /**
+     * Returns information about the portal like vendor, version, etc.
+     * <p/>
+     * The form of the returned string is <I>servername/versionnumber</I>. For
+     * example, the reference implementation Pluto may return the string
+     * <CODE>Pluto/1.0</CODE>.
+     * <p/>
+     * The portlet container may return other optional information  after the
+     * primary string in parentheses, for example, <CODE>Pluto/1.0
+     * (JDK 1.3.1; Windows NT 4.0 x86)</CODE>.
+     *
+     * @return a <CODE>String</CODE> containing at least the portal name and version number
+     */
+
+    public java.lang.String getPortalInfo();
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/Portlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/Portlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/Portlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>Portlet</CODE> interface is used by the portlet container to
+ * invoke the portlets. Every portlet has to implement this interface,
+ * either by directly implementing it, or by using an existing class
+ * implementing the Portlet interface.
+ * <P>
+ * A portlet is a Java technology-based web component. It is managed by the portlet container and
+ * processes requests and generates dynamic content as response. Portlets are used by portals as
+ * pluggable user interface components.
+ * <p/>
+ * The content generated by a portlet is called a fragment. A fragment is a piece of
+ * markup (e.g. HTML, XHTML, WML) adhering to certain rules and can be aggregated
+ * with other fragments into a complete document. The content of a portlet is normally
+ * aggregated with the content of other portlets into the portal page.
+ * <P>
+ * The portlet container instanciates portlets, manages their lifecycle
+ * and invoking them to process requests. The lifecycle consists of:
+ * <ul>
+ * <li>initializing the portlet using using the <code>init</code> method
+ * <li>request processsing
+ * <li>taking the portlet out of service using the <code>destroy</code> method
+ * </ul>
+ * <p/>
+ * Request processing is divided into two types:
+ * <ul>
+ * <li>action requests handled through the <code>processAction</code> method,
+ * to perform actions targeted to the portlet
+ * <li>render requests handled through the <code>render</code> method,
+ * to perform the render operation
+ * </ul>
+ */
+public interface Portlet {
+
+
+    /**
+     * Called by the portlet container to indicate to a portlet that the
+     * portlet is being placed into service.
+     * <p/>
+     * <p>The portlet container calls the <code>init</code>
+     * method exactly once after instantiating the portlet.
+     * The <code>init</code> method must complete successfully
+     * before the portlet can receive any requests.
+     * <p/>
+     * <p>The portlet container cannot place the portlet into service
+     * if the <code>init</code> method
+     * <ol>
+     * <li>Throws a <code>PortletException</code>
+     * <li>Does not return within a time period defined by the portlet container.
+     * </ol>
+     *
+     * @param config a <code>PortletConfig</code> object
+     *               containing the portlet's
+     *               configuration and initialization parameters
+     * @throws PortletException     if an exception has occurred that
+     *                              interferes with the portlet's normal
+     *                              operation.
+     * @throws UnavailableException if the portlet cannot perform the initialization at this time.
+     */
+
+    public void init(PortletConfig config) throws PortletException;
+
+
+    /**
+     * Called by the portlet container to allow the portlet to process
+     * an action request. This method is called if the client request was
+     * originated by a URL created (by the portlet) with the
+     * <code>RenderResponse.createActionURL()</code> method.
+     * <p/>
+     * Typically, in response to an action request, a portlet updates state
+     * based on the information sent in the action request parameters.
+     * In an action the portlet may:
+     * <ul>
+     * <li>issue a redirect
+     * <li>change its window state
+     * <li>change its portlet mode
+     * <li>modify its persistent state
+     * <li>set render parameters
+     * </ul>
+     * <p/>
+     * A client request triggered by an action URL translates into one
+     * action request and many render requests, one per portlet in the portal page.
+     * The action processing must be finished before the render requests
+     * can be issued.
+     *
+     * @param request  the action request
+     * @param response the action response
+     * @throws PortletException         if the portlet has problems fulfilling the
+     *                                  request
+     * @throws UnavailableException     if the portlet is unavailable to process the action at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+    public void processAction(ActionRequest request, ActionResponse response)
+            throws PortletException, java.io.IOException;
+
+
+    /**
+     * Called by the portlet container to allow the portlet to generate
+     * the content of the response based on its current state.
+     *
+     * @param request  the render request
+     * @param response the render response
+     * @throws PortletException         if the portlet has problems fulfilling the
+     *                                  rendering request
+     * @throws UnavailableException     if the portlet is unavailable to perform render at this time
+     * @throws PortletSecurityException if the portlet cannot fullfill this request because of security reasons
+     * @throws java.io.IOException      if the streaming causes an I/O problem
+     */
+
+    public void render(RenderRequest request, RenderResponse response)
+            throws PortletException, java.io.IOException;
+
+
+    /**
+     * Called by the portlet container to indicate to a portlet that the
+     * portlet is being taken out of service.
+     * <p/>
+     * Before the portlet container calls the destroy method, it should
+     * allow any threads that are currently processing requests within
+     * the portlet object to complete execution. To avoid
+     * waiting forever, the portlet container can optionally wait for
+     * a predefined time before destroying the portlet object.
+     * <p/>
+     * <p>This method enables the portlet to do the following:
+     * <ul>
+     * <li>clean up any resources that it holds (for example, memory,
+     * file handles, threads)
+     * <li>make sure that any persistent state is
+     * synchronized with the portlet current state in memory.
+     * </ul>
+     */
+
+    public void destroy();
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletConfig.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletConfig.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletConfig.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletConfig</CODE> interface provides the portlet with
+ * its configuration. The configuration holds information about the
+ * portlet that is valid for all users. The configuration is retrieved
+ * from the portlet definition in the deployment descriptor.
+ * The portlet can only read the configuration data.
+ * <p/>
+ * The configuration information contains the portlet name, the portlet
+ * initialization parameters, the portlet resource bundle and the portlet
+ * application context.
+ *
+ * @see Portlet
+ */
+public interface PortletConfig {
+
+
+    /**
+     * Returns the name of the portlet.
+     * <P>
+     * The name may be provided via server administration, assigned in the
+     * portlet application deployment descriptor with the <code>portlet-name</code>
+     * tag.
+     *
+     * @return the portlet name
+     */
+
+    public String getPortletName();
+
+
+    /**
+     * Returns the <code>PortletContext</code> of the portlet application
+     * the portlet is in.
+     *
+     * @return a <code>PortletContext</code> object, used by the
+     *         caller to interact with its portlet container
+     * @see PortletContext
+     */
+
+    public PortletContext getPortletContext();
+
+
+    /**
+     * Gets the resource bundle for the given locale based on the
+     * resource bundle defined in the deployment descriptor
+     * with <code>resource-bundle</code> tag or the inlined resources
+     * defined in the deployment descriptor.
+     *
+     * @param locale the locale for which to retrieve the resource bundle
+     * @return the resource bundle for the given locale
+     */
+
+    public java.util.ResourceBundle getResourceBundle(java.util.Locale locale);
+
+
+    /**
+     * Returns a String containing the value of the named initialization parameter,
+     * or null if the parameter does not exist.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the initialization parameter
+     * @return		a <code>String</code> containing the value
+     * of the initialization parameter
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public String getInitParameter(java.lang.String name);
+
+
+    /**
+     * Returns the names of the portlet initialization parameters as an
+     * <code>Enumeration</code> of String objects, or an empty <code>Enumeration</code> if the
+     * portlet has no initialization parameters.
+     *
+     * @return		an <code>Enumeration</code> of <code>String</code>
+     * objects containing the names of the portlet
+     * initialization parameters, or an empty <code>Enumeration</code> if the
+     * portlet has no initialization parameters.
+     */
+
+    public java.util.Enumeration getInitParameterNames();
+}
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletContext.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletContext.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletContext.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,399 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletContext</CODE> interface defines a portlet view
+ * of the portlet container.
+ * The <CODE>PortletContext</CODE> also makes resources available
+ * to the portlet. Using the context, a portlet can access
+ * the portlet log, and obtain URL references to resources.
+ * <p/>
+ * <p>There is one context per "portlet application" per Java Virtual Machine.  (A
+ * "portlet application" is a collection of portlets, servlets, and content installed
+ * under a specific subset of the server URL namespace, such as <code>/catalog</code>.
+ * They are possibly installed via a <code>.war</code> file.)
+ * As a web application, a portlet application also has a servlet context.
+ * The portlet context leverages most of its functionality from the
+ * servlet context of the portlet application.
+ * <p/>
+ * Attibutes stored in the context are global for <I>all</I> users and <I>all</I>
+ * components in the portlet application.
+ * <p/>
+ * In the case of a web
+ * application marked "distributed" in its deployment descriptor, there will
+ * be one context instance for each virtual machine.  In this situation, the
+ * context cannot be used as a location to share global information (because
+ * the information is not truly global). Use an external resource, such as
+ * a database to achieve sharing on a global scope.
+ */
+public interface PortletContext {
+
+    /**
+     * Returns the name and version of the portlet container in which the
+     * portlet is running.
+     * <p/>
+     * <P>
+     * The form of the returned string is <code>containername/versionnumber</code>.
+     *
+     * @return the string containing at least name and version number
+     */
+
+    public String getServerInfo();
+
+    /**
+     * Returns a {@link PortletRequestDispatcher} object that acts
+     * as a wrapper for the resource located at the given path.
+     * A <code>PortletRequestDispatcher</code> object can be used include the
+     * resource in a response. The resource can be dynamic or static.
+     * <p/>
+     * <p>The pathname must begin with a slash (<code> / </code>) and is interpreted as relative
+     * to the current context root.
+     * <p/>
+     * <p>This method returns <code>null</code> if the <code>PortletContext</code>
+     * cannot return a <code>PortletRequestDispatcher</code>
+     * for any reason.
+     *
+     * @param path a <code>String</code> specifying the pathname
+     *             to the resource
+     * @return a <code>PortletRequestDispatcher</code> object
+     *         that acts as a wrapper for the resource
+     *         at the specified path.
+     * @see PortletRequestDispatcher
+     */
+
+    public PortletRequestDispatcher getRequestDispatcher(String path);
+
+
+    /**
+     * Returns a {@link PortletRequestDispatcher} object that acts
+     * as a wrapper for the named servlet.
+     * <p/>
+     * <p>Servlets (and also JSP pages) may be given names via server
+     * administration or via a web application deployment descriptor.
+     * <p/>
+     * <p>This method returns <code>null</code> if the
+     * <code>PortletContext</code> cannot return a
+     * <code>PortletRequestDispatcher</code> for any reason.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of a servlet to be wrapped
+     * @return a <code>PortletRequestDispatcher</code> object
+     *         that acts as a wrapper for the named servlet
+     * @see PortletRequestDispatcher
+     */
+
+    public PortletRequestDispatcher getNamedDispatcher(String name);
+
+
+    /**
+     * Returns the resource located at the given path as an InputStream object.
+     * The data in the InputStream can be of any type or length. The method returns
+     * null if no resource exists at the given path.
+     * <p/>
+     * In order to access protected resources the path has to be prefixed with
+     * <code>/WEB-INF/</code> (for example <code>/WEB-INF/myportlet/myportlet.jsp</code>).
+     * Otherwise, the direct path is used
+     * (for example <code>/myportlet/myportlet.jsp</code>).
+     *
+     * @param path the path to the resource
+     * @return the input stream
+     */
+    public java.io.InputStream getResourceAsStream(String path);
+
+
+    /**
+     * Returns the major version of the Portlet API that this portlet
+     * container supports.
+     *
+     * @return the major version
+     * @see #getMinorVersion()
+     */
+
+    public int getMajorVersion();
+
+
+    /**
+     * Returns the minor version of the Portlet API that this portlet
+     * container supports.
+     *
+     * @return the minor version
+     * @see #getMajorVersion()
+     */
+
+    public int getMinorVersion();
+
+
+    /**
+     * Returns the MIME type of the specified file, or <code>null</code> if
+     * the MIME type is not known. The MIME type is determined
+     * by the configuration of the portlet container and may be specified
+     * in a web application deployment descriptor. Common MIME
+     * types are <code>text/html</code> and <code>image/gif</code>.
+     *
+     * @param file a <code>String</code> specifying the name
+     *             of a file
+     * @return a <code>String</code> specifying the MIME type of the file
+     */
+
+    public String getMimeType(String file);
+
+
+    /**
+     * Returns a <code>String</code> containing the real path
+     * for a given virtual path. For example, the path <code>/index.html</code>
+     * returns the absolute file path of the portlet container file system.
+     * <p/>
+     * <p>The real path returned will be in a form
+     * appropriate to the computer and operating system on
+     * which the portlet container is running, including the
+     * proper path separators. This method returns <code>null</code>
+     * if the portlet container cannot translate the virtual path
+     * to a real path for any reason (such as when the content is
+     * being made available from a <code>.war</code> archive).
+     *
+     * @param path a <code>String</code> specifying a virtual path
+     * @return a <code>String</code> specifying the real path,
+     *         or null if the transformation cannot be performed.
+     */
+
+    public String getRealPath(String path);
+
+
+    /**
+     * Returns a directory-like listing of all the paths to resources within
+     * the web application longest sub-path of which
+     * matches the supplied path argument. Paths indicating subdirectory paths
+     * end with a slash (<code>/</code>). The returned paths are all
+     * relative to the root of the web application and have a leading slash.
+     * For example, for a web application
+     * containing<br><br>
+     * <code>
+     * /welcome.html<br>
+     * /catalog/index.html<br>
+     * /catalog/products.html<br>
+     * /catalog/offers/books.html<br>
+     * /catalog/offers/music.html<br>
+     * /customer/login.jsp<br>
+     * /WEB-INF/web.xml<br>
+     * /WEB-INF/classes/com.acme.OrderPortlet.class,<br><br>
+     * </code>
+     * <p/>
+     * <code>getResourcePaths("/")</code> returns
+     * <code>{"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}</code><br>
+     * <code>getResourcePaths("/catalog/")</code> returns
+     * <code>{"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}</code>.<br>
+     *
+     * @param path the partial path used to match the resources, which must start with a slash
+     * @return a Set containing the directory listing, or <code>null</code> if there
+     *         are no resources in the web application of which the path
+     *         begins with the supplied path.
+     */
+
+    public java.util.Set getResourcePaths(String path);
+
+
+    /**
+     * Returns a URL to the resource that is mapped to a specified
+     * path. The path must begin with a slash (<code>/</code>) and is interpreted
+     * as relative to the current context root.
+     * <p/>
+     * <p>This method allows the portlet container to make a resource
+     * available to portlets from any source. Resources
+     * can be located on a local or remote
+     * file system, in a database, or in a <code>.war</code> file.
+     * <p/>
+     * <p>The portlet container must implement the URL handlers
+     * and <code>URLConnection</code> objects that are necessary
+     * to access the resource.
+     * <p/>
+     * <p>This method returns <code>null</code>
+     * if no resource is mapped to the pathname.
+     * <p/>
+     * <p>Some containers may allow writing to the URL returned by
+     * this method using the methods of the URL class.
+     * <p/>
+     * <p>The resource content is returned directly, so be aware that
+     * requesting a <code>.jsp</code> page returns the JSP source code.
+     * Use a <code>RequestDispatcher</code> instead to include results of
+     * an execution.
+     * <p/>
+     * <p>This method has a different purpose than
+     * <code>java.lang.Class.getResource</code>,
+     * which looks up resources based on a class loader. This
+     * method does not use class loaders.
+     *
+     * @param path a <code>String</code> specifying
+     *             the path to the resource
+     * @return the resource located at the named path,
+     *         or <code>null</code> if there is no resource
+     *         at that path
+     * @throws java.net.MalformedURLException if the pathname is not given in
+     *                                        the correct form
+     */
+
+    public java.net.URL getResource(String path) throws java.net.MalformedURLException;
+
+
+    /**
+     * Returns the portlet container attribute with the given name,
+     * or null if there is no attribute by that name.
+     * An attribute allows a portlet container to give the
+     * portlet additional information not
+     * already provided by this interface.
+     * A list of supported attributes can be retrieved using
+     * <code>getAttributeNames</code>.
+     * <p/>
+     * <p>The attribute is returned as a <code>java.lang.Object</code>
+     * or some subclass.
+     * Attribute names should follow the same convention as package
+     * names. The Java Portlet API specification reserves names
+     * matching <code>java.*</code>, <code>javax.*</code>,
+     * and <code>sun.*</code>.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the attribute
+     * @return an <code>Object</code> containing the value
+     *         of the attribute, or <code>null</code>
+     *         if no attribute exists matching the given
+     *         name
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     * @see #getAttributeNames
+     */
+
+    public java.lang.Object getAttribute(java.lang.String name);
+
+
+    /**
+     * Returns an <code>Enumeration</code> containing the attribute names
+     * available within this portlet context, or an emtpy
+     * <code>Enumeration</code> if no attributes are available. Use the
+     * {@link #getAttribute} method with an attribute name
+     * to get the value of an attribute.
+     *
+     * @return an <code>Enumeration</code> of attribute names
+     * @see		#getAttribute
+     */
+
+    public java.util.Enumeration getAttributeNames();
+
+
+    /**
+     * Returns a String containing the value of the named context-wide
+     * initialization parameter, or <code>null</code> if the parameter does not exist.
+     * This method provides configuration information which may be useful for
+     * an entire "portlet application".
+     *
+     * @return a <code>String</code> containing the value
+     *         of the initialization parameter, or
+     *         <code>null</code> if the parameter does not exist.
+     * @param	name	a <code>String</code> containing the name of the
+     * requested parameter
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     * @see #getInitParameterNames
+     */
+
+    public java.lang.String getInitParameter(java.lang.String name);
+
+
+    /**
+     * Returns the names of the context initialization parameters as an
+     * <code>Enumeration</code> of String objects, or an empty Enumeration if the context
+     * has no initialization parameters.
+     *
+     * @return an <code>Enumeration</code> of <code>String</code>
+     *         objects containing the names of the context
+     *         initialization parameters
+     * @see #getInitParameter
+     */
+
+    public java.util.Enumeration getInitParameterNames();
+
+
+    /**
+     * Writes the specified message to a portlet log file, usually an event log.
+     * The name and type of the portlet log file is specific to the portlet container.
+     * <p/>
+     * This method mapps to the <code>ServletContext.log</code> method.
+     * The portlet container may in addition log this message in a
+     * portlet container specific log file.
+     *
+     * @param msg a <code>String</code> specifying the
+     *            message to be written to the log file
+     */
+
+    public void log(java.lang.String msg);
+
+
+    /**
+     * Writes an explanatory message and a stack trace for a given
+     * Throwable exception to the portlet log file.
+     * The name and type of the portlet log file is specific to the
+     * portlet container, usually an event log.
+     * <p/>
+     * This method is mapped to the <code>ServletContext.log</code> method.
+     * The portlet container may in addition log this message in a
+     * portlet container specific log file.
+     *
+     * @param message   a <code>String</code> that
+     *                  describes the error or exception
+     * @param throwable the <code>Throwable</code> error
+     *                  or exception
+     */
+
+    public void log(java.lang.String message, java.lang.Throwable throwable);
+
+
+    /**
+     * Removes the attribute with the given name from the portlet context.
+     * After removal, subsequent calls to
+     * {@link #getAttribute} to retrieve the attribute's value
+     * will return <code>null</code>.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the attribute to be removed
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void removeAttribute(java.lang.String name);
+
+
+    /**
+     * Binds an object to a given attribute name in this portlet context.
+     * If the name specified is already used for an attribute, this method
+     * removes the old attribute and binds the name to the new attribute.
+     * <p/>
+     * If a null value is passed, the effect is the same as calling
+     * <code>removeAttribute()</code>.
+     * <p/>
+     * <p>Attribute names should follow the same convention as package
+     * names. The Java Portlet API specification reserves names
+     * matching <code>java.*</code>, <code>javax.*</code>, and
+     * <code>sun.*</code>.
+     *
+     * @param name   a <code>String</code> specifying the name
+     *               of the attribute
+     * @param object an <code>Object</code> representing the
+     *               attribute to be bound
+     * @exception	java.lang.IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void setAttribute(java.lang.String name, java.lang.Object object);
+
+
+    /**
+     * Returns the name of this portlet application correponding to this PortletContext as specified
+     * in the <code>web.xml</code> deployment descriptor for this web application by the
+     * <code>display-name</code> element.
+     *
+     * @return The name of the web application or null if no name has been declared in the deployment descriptor.
+     */
+
+    public String getPortletContextName();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletException</CODE> class defines a general exception
+ * that a portlet can throw when it is unable to perform its operation
+ * successfully.
+ */
+
+public class PortletException extends java.lang.Exception {
+
+    private Throwable _cause;
+
+
+    /**
+     * Constructs a new portlet exception.
+     */
+
+    public PortletException() {
+        super();
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text. The
+     * portlet container may use the text write it to a log.
+     *
+     * @param text the exception text
+     */
+
+    public PortletException(String text) {
+        super(text);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to do
+     * the following:
+     * <ul>
+     * <li>throw an exception
+     * <li>include the "root cause" exception
+     * <li>include a description message
+     * </ul>
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+
+    public PortletException(String text, Throwable cause) {
+        super(text, cause);
+        _cause = cause;
+        // change this when going to jdk1.4:    super (text, cause);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an
+     * exception. The exception's message is based on the localized message
+     * of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+
+    public PortletException(Throwable cause) {
+        super(cause);
+        _cause = cause;
+        // change this when going to jdk1.4:        super (cause);
+    }
+
+    /**
+     * Prints the stack trace of this exception to the standard error stream.
+     */
+    public void printStackTrace() {
+        this.printStackTrace(System.err);
+    }
+
+    /**
+     * Prints the stack trace of this exception to the specified print stream.
+     *
+     * @param out the <code>PrintStream</code> to be used for output
+     */
+    public void printStackTrace(java.io.PrintStream out) {
+        this.printStackTrace(new java.io.PrintWriter(out, true));
+    }
+
+    /**
+     * Prints the stack trace of this exception to the specified print writer.
+     *
+     * @param out the <code>PrintWriter</code> to be used for output
+     */
+    public void printStackTrace(java.io.PrintWriter out) {
+        super.printStackTrace(out);
+
+        if (getCause() != null) {
+            out.println();
+            out.print("Nested Exception is ");
+            getCause().printStackTrace(out);
+        }
+        // change this when going tojdk1.4:
+        /*
+          super.printStackTrace(out);
+
+          if( getRootCause () != null )
+          {
+              out.println();
+              out.print("Nested Exception is ");
+              getRootCause ().printStackTrace(out);
+          }
+          */
+    }
+
+    /**
+     * Returns the cause of this throwable or <code>null</code> if the
+     * cause is nonexistent or unknown.  (The cause is the throwable that
+     * caused this throwable to get thrown.)
+     * <p/>
+     * <p>This implementation returns the cause that was supplied via one of
+     * the constructors requiring a <tt>Throwable</tt>.
+     *
+     * @return the cause of this throwable or <code>null</code> if the
+     *         cause is nonexistent or unknown.
+     */
+    public Throwable getCause() {
+        return (_cause != null ? _cause : null);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletMode.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletMode.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletMode.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletMode</CODE> class represents
+ * the possible modes that a portlet can assume.
+ * <P>
+ * A portlet mode indicates the function a portlet is performing.
+ * Normally, portlets perform different tasks and create different
+ * content depending on the function they are currently performing.
+ * When invoking a portlet, the portlet container provides the
+ * current portlet mode to the portlet.
+ * <p/>
+ * Portlets can programmatically change their portlet
+ * mode when processing an action request.
+ * <P>
+ * This class defines the default portlet modes <code>EDIT, HELP, VIEW</code>.
+ * Additional portlet modes may be defined by calling the constructor
+ * of this class. If a portal/portlet-container does not support a
+ * custom portlet mode defined in the portlet application deployment descriptor,
+ * the custom portlet mode will be ignored by the portal/portlet container.
+ */
+public class PortletMode {
+
+    /**
+     * The expected functionality for a portlet in <code>VIEW</code> portlet mode
+     * is to generate markup reflecting the current state of the portlet.
+     * For example, the <code>VIEW</code> portlet mode of a portlet may
+     * include one or more screens that the user can navigate and interact
+     * with, or it may consist of static content that does not require any
+     * user interaction.
+     * <P>
+     * This mode must be supported by the portlet.
+     * <p/>
+     * The string value for this mode is <code>"view"</code>.
+     */
+    public final static PortletMode VIEW = new PortletMode("view");
+
+    /**
+     * Within the <code>EDIT</code> portlet mode, a portlet should provide
+     * content and logic that lets a user customize the behavior of the portlet.
+     * The EDIT portlet mode may include one or more screens among which
+     * users can navigate to enter their customization data.
+     * <p/>
+     * Typically, portlets in <code>EDIT</code> portlet mode will
+     * set or update portlet preferences.
+     * <P>
+     * This mode is optional.
+     * <p/>
+     * The string value for this mode is <code>"edit"</code>.
+     */
+    public final static PortletMode EDIT = new PortletMode("edit");
+
+    /**
+     * When in <code>HELP</code> portlet mode, a portlet should provide help
+     * information about the portlet. This help information could be
+     * a simple help screen explaining the entire portlet in
+     * coherent text or it could be context-sensitive help.
+     * <P>
+     * This mode is optional.
+     * <p/>
+     * The string value for this mode is <code>"help"</code>.
+     */
+    public final static PortletMode HELP = new PortletMode("help");
+
+    private String _name;
+
+    /**
+     * Creates a new portlet mode with the given name.
+     * <p/>
+     * Upper case letters in the name are converted to
+     * lower case letters.
+     *
+     * @param name The name of the portlet mode
+     */
+    public PortletMode(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("PortletMode name can not be NULL");
+        }
+        _name = name.toLowerCase();
+    }
+
+    /**
+     * Returns a String representation of this portlet mode.
+     * Portlet mode names are always lower case names.
+     *
+     * @return String representation of this portlet mode
+     */
+    public String toString() {
+        return _name;
+    }
+
+    /**
+     * Returns the hash code value for this portlet mode.
+     * The hash code is constructed by producing the
+     * hash value of the String value of this mode.
+     *
+     * @return hash code value for this portlet mode
+     */
+    public int hashCode() {
+        return _name.hashCode();
+    }
+
+    /**
+     * Compares the specified object with this portlet mode
+     * for equality. Returns <code>true</code> if the
+     * Strings <code>equals</code> method for the String
+     * representing the two portlet modes returns <code>true</code>.
+     *
+     * @param object the portlet mode to compare this portlet mode with
+     * @return true, if the specified object is equal with this portlet mode
+     */
+    public boolean equals(Object object) {
+        if (object instanceof PortletMode)
+            return _name.equals(((PortletMode) object)._name);
+        else
+            return false;
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletModeException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletModeException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletModeException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * The <CODE>PortletModeException</CODE> is thrown when a portlet
+ * tries to use or set a portlet mode that is not supported by the current
+ * runtime environment or the portlet.
+ */
+
+public class PortletModeException extends PortletException {
+
+    private transient PortletMode _mode = null;
+
+    /**
+     * Constructs a new portlet mode exception with the given text and the
+     * portlet mode that caused this exception. The
+     * portlet container may use the text and portlet mode write it to a log.
+     *
+     * @param text the exception text
+     * @param mode the mode causing the exception
+     */
+
+    public PortletModeException(String text, PortletMode mode) {
+        super(text);
+        _mode = mode;
+    }
+
+    /**
+     * Constructs a new portlet mode exception when the portlet needs to do
+     * the following:
+     * <ul>
+     * <il>throw an exception
+     * <li>include a message about the "root cause" that interfered
+     * with its normal operation
+     * <li>include a description message
+     * <li>include the portlet mode that caused this exception
+     * </ul>
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     * @param mode  the mode causing the exception
+     */
+
+    public PortletModeException(String text, Throwable cause, PortletMode mode) {
+        super(text, cause);
+        _mode = mode;
+    }
+
+    /**
+     * Constructs a new portlet mode exception when the portlet needs to throw an
+     * exception. The exception message is based on the localized message
+     * of the underlying exception and the portlet mode that caused this exception.
+     *
+     * @param cause the root cause
+     * @param mode  the mode causing the exception
+     */
+
+    public PortletModeException(Throwable cause, PortletMode mode) {
+        super(cause);
+        _mode = mode;
+    }
+
+    /**
+     * Returns the unsupported portlet mode causing this exception.
+     *
+     * @return the portlet mode that caused this exception
+     */
+
+    public PortletMode getMode() {
+        return _mode;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletPreferences.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletPreferences.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletPreferences.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,225 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletPreferences</CODE> interface allows the portlet to store
+ * configuration data. It is not the
+ * purpose of this interface to replace general purpose databases.
+ * <p/>
+ * There are two different types of preferences:
+ * <ul>
+ * <li>modifiable preferences - these preferences can be changed by the
+ * portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>).
+ * Per default every preference is modifiable.
+ * <li>read-only preferences - these preferences cannot be changed by the
+ * portlet in any standard portlet mode, but may be changed by administrative modes.
+ * Preferences are read-only, if the are defined in the
+ * deployment descriptor with <code>read-only</code> set to <code>true</code>,
+ * or if the portlet container restricts write access.
+ * </ul>
+ * <p/>
+ * Changes are persisted when the <code>store</code> method is called. The <code>store</code> method
+ * can only be invoked within the scope of a <code>processAction</code> call.
+ * Changes that are not persisted are discarded when the
+ * <code>processAction</code> or <code>render</code> method ends.
+ */
+public interface PortletPreferences {
+
+
+    /**
+     * Returns true, if the value of this key cannot be modified by the user.
+     * <p/>
+     * Modifiable preferences can be changed by the
+     * portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>).
+     * Per default every preference is modifiable.
+     * <p/>
+     * Read-only preferences cannot be changed by the
+     * portlet in any standard portlet mode, but inside of custom modes
+     * it may be allowed changing them.
+     * Preferences are read-only, if they are defined in the
+     * deployment descriptor with <code>read-only</code> set to <code>true</code>,
+     * or if the portlet container restricts write access.
+     *
+     * @return false, if the value of this key can be changed, or
+     *         if the key is not known
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>.
+     */
+    public boolean isReadOnly(String key);
+
+
+    /**
+     * Returns the first String value associated with the specified key of this preference.
+     * If there is one or more preference values associated with the given key
+     * it returns the first associated value.
+     * If there are no preference values associated with the given key, or the
+     * backing preference database is unavailable, it returns the given
+     * default value.
+     *
+     * @param key key for which the associated value is to be returned
+     * @param def the value to be returned in the event that there is no
+     *            value available associated with this <code>key</code>.
+     * @return the value associated with <code>key</code>, or <code>def</code>
+     *         if no value is associated with <code>key</code>, or the backing
+     *         store is inaccessible.
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>. (A
+     *          <code>null</code> value for <code>def</code> <i>is</i> permitted.)
+     * @see #getValues(String, String[])
+     */
+    public String getValue(String key, String def);
+
+
+    /**
+     * Returns the String array value associated with the specified key in this preference.
+     * <p/>
+     * <p>Returns the specified default if there is no value
+     * associated with the key, or if the backing store is inaccessible.
+     * <p/>
+     * <p>If the implementation supports <i>stored defaults</i> and such a
+     * default exists and is accessible, it is used in favor of the
+     * specified default.
+     *
+     * @param key key for which associated value is to be returned.
+     * @param def the value to be returned in the event that this
+     *            preference node has no value associated with <code>key</code>
+     *            or the associated value cannot be interpreted as a String array,
+     *            or the backing store is inaccessible.
+     * @return the String array value associated with
+     *         <code>key</code>, or <code>def</code> if the
+     *         associated value does not exist.
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>.  (A
+     *          <code>null</code> value for <code>def</code> <i>is</i> permitted.)
+     * @see #getValue(String,String)
+     */
+
+    public String[] getValues(String key, String[] def);
+
+
+    /**
+     * Associates the specified String value with the specified key in this
+     * preference.
+     * <p/>
+     * The key cannot be <code>null</code>, but <code>null</code> values
+     * for the value parameter are allowed.
+     *
+     * @param key   key with which the specified value is to be associated.
+     * @param value value to be associated with the specified key.
+     * @throws ReadOnlyException if this preference cannot be modified for this request
+     * @throws java.lang.IllegalArgumentException
+     *                           if key is <code>null</code>,
+     *                           or <code>key.length()</code>
+     *                           or <code>value.length</code> are to long. The maximum length
+     *                           for key and value are implementation specific.
+     * @see #setValues(String, String[])
+     */
+    public void setValue(String key, String value) throws ReadOnlyException;
+
+
+    /**
+     * Associates the specified String array value with the specified key in this
+     * preference.
+     * <p/>
+     * The key cannot be <code>null</code>, but <code>null</code> values
+     * in the values parameter are allowed.
+     *
+     * @param key    key with which the  value is to be associated
+     * @param values values to be associated with key
+     * @throws java.lang.IllegalArgumentException
+     *                           if key is <code>null</code>, or
+     *                           <code>key.length()</code>
+     *                           is to long or <code>value.size</code> is to large.  The maximum
+     *                           length for key and maximum size for value are implementation specific.
+     * @throws ReadOnlyException if this preference cannot be modified for this request
+     * @see #setValue(String,String)
+     */
+
+    public void setValues(String key, String[] values) throws ReadOnlyException;
+
+
+    /**
+     * Returns all of the keys that have an associated value,
+     * or an empty <code>Enumeration</code> if no keys are
+     * available.
+     *
+     * @return an Enumeration of the keys that have an associated value,
+     *         or an empty <code>Enumeration</code> if no keys are
+     *         available.
+     */
+    public java.util.Enumeration getNames();
+
+    /**
+     * Returns a <code>Map</code> of the preferences.
+     * <p/>
+     * The values in the returned <code>Map</code> are from type
+     * String array (<code>String[]</code>).
+     * <p/>
+     * If no preferences exist this method returns an empty <code>Map</code>.
+     *
+     * @return an immutable <code>Map</code> containing preference names as
+     *         keys and preference values as map values, or an empty <code>Map</code>
+     *         if no preference exist. The keys in the preference
+     *         map are of type String. The values in the preference map are of type
+     *         String array (<code>String[]</code>).
+     */
+
+    public java.util.Map getMap();
+
+
+    /**
+     * Resets or removes the value associated with the specified key.
+     * <p/>
+     * If this implementation supports stored defaults, and there is such
+     * a default for the specified preference, the given key will be
+     * reset to the stored default.
+     * <p/>
+     * If there is no default available the key will be removed.
+     *
+     * @param key to reset
+     * @throws java.lang.IllegalArgumentException
+     *                           if key is <code>null</code>.
+     * @throws ReadOnlyException if this preference cannot be modified for this request
+     */
+
+    public void reset(String key) throws ReadOnlyException;
+
+
+    /**
+     * Commits all changes made to the preferences via the
+     * <code>set</code> methods in the persistent store.
+     * <P>
+     * If this call returns succesfull, all changes are made
+     * persistent. If this call fails, no changes are made
+     * in the persistent store. This call is an atomic operation
+     * regardless of how many preference attributes have been modified.
+     * <P>
+     * All changes made to preferences not followed by a call
+     * to the <code>store</code> method are discarded when the
+     * portlet finishes the <code>processAction</code> method.
+     * <P>
+     * If a validator is defined for this preferences in the
+     * deployment descriptor, this validator is called before
+     * the actual store is performed to check wether the given
+     * preferences are vaild. If this check fails a
+     * <code>ValidatorException</code> is thrown.
+     *
+     * @throws java.io.IOException if changes cannot be written into
+     *                             the backend store
+     * @throws ValidatorException  if the validation performed by the
+     *                             associated validator fails
+     * @throws java.lang.IllegalStateException
+     *                             if this method is called inside a render call
+     * @see PreferencesValidator
+     */
+
+    public void store() throws java.io.IOException, ValidatorException;
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequest.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequest.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequest.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,545 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+package javax.portlet;
+
+/**
+ * The <CODE>PortletRequest</CODE> defines the base interface to provide client
+ * request information to a portlet. The portlet container uses two specialized
+ * versions of this interface when invoking a portlet, <CODE>ActionRequest</CODE>
+ * and <CODE>RenderRequest</CODE>. The portlet container creates these objects and
+ * passes them as  arguments to the portlet's <CODE>processAction</CODE> and
+ * <CODE>render</CODE> methods.
+ *
+ * @see ActionRequest
+ * @see RenderRequest
+ */
+public interface PortletRequest {
+
+    /**
+     * Used to retrieve user information attributes with the
+     * <code>getAttribute</code> call. The user information is returned
+     * as a <code>Map</code> object. The portlet must define the
+     * user information attribute it is interested in inside the
+     * <code>user-attribute</code> section of the deployment descriptor.
+     * If an attribute is not supported
+     * by the current runtime system it will not show up in the user
+     * attribute map.<BR>
+     * If the user-attribute is supported by the runtime system, but not
+     * defined for a particular user, then for that user the attribute
+     * exists in the returned map and the attribute has a <code>null</code> value.
+     * <p/>
+     * If the user-attribute is not defined for the current user it
+     * will not show up in the Map.
+     * <p/>
+     * The value is <code>javax.portlet.userinfo</code>.
+     */
+    public static final String USER_INFO = "javax.portlet.userinfo";
+
+    /**
+     * String identifier for Basic authentication. Value "BASIC".
+     */
+    public static final String BASIC_AUTH = "BASIC";
+
+    /**
+     * String identifier for Form based authentication. Value "FORM".
+     */
+    public static final String FORM_AUTH = "FORM";
+
+    /**
+     * String identifier for Certification based authentication. Value "CLIENT_CERT".
+     */
+    public static final String CLIENT_CERT_AUTH = "CLIENT_CERT";
+
+    /**
+     * String identifier for Digest based authentication. Value "DIGEST".
+     */
+    public static final String DIGEST_AUTH = "DIGEST";
+
+    /**
+     * Returns true, if the given window state is valid
+     * to be set for this portlet in the context
+     * of the current request.
+     *
+     * @param state window state to checked
+     * @return true, if it is valid for this portlet
+     *         in this request to change to the
+     *         given window state
+     */
+    public boolean isWindowStateAllowed(WindowState state);
+
+    /**
+     * Returns true, if the given portlet mode is a valid
+     * one to set for this portlet  in the context
+     * of the current request.
+     *
+     * @param mode portlet mode to check
+     * @return true, if it is valid for this portlet
+     *         in this request to change to the
+     *         given portlet mode
+     */
+    public boolean isPortletModeAllowed(PortletMode mode);
+
+    /**
+     * Returns the current portlet mode of the portlet.
+     *
+     * @return the portlet mode
+     */
+    public PortletMode getPortletMode();
+
+    /**
+     * Returns the current window state of the portlet.
+     *
+     * @return the window state
+     */
+    public WindowState getWindowState();
+
+    /**
+     * Returns the preferences object associated with the portlet.
+     *
+     * @return the portlet preferences
+     */
+    public PortletPreferences getPreferences();
+
+    /**
+     * Returns the current portlet session or, if there is no current session,
+     * creates one and returns the new session.
+     * <p/>
+     * Creating a new portlet session will result in creating
+     * a new <code>HttpSession</code> on which the portlet session is based on.
+     *
+     * @return the portlet session
+     */
+    public PortletSession getPortletSession();
+
+
+    /**
+     * Returns the current portlet session or, if there is no current session
+     * and the given flag is <CODE>true</CODE>, creates one and returns
+     * the new session.
+     * <P>
+     * If the given flag is <CODE>false</CODE> and there is no current
+     * portlet session, this method returns <CODE>null</CODE>.
+     * <p/>
+     * Creating a new portlet session will result in creating
+     * a new <code>HttpSession</code> on which the portlet session is based on.
+     *
+     * @param create <CODE>true</CODE> to create a new session, <BR>
+     *               <CODE>false</CODE> to return <CODE>null</CODE> if there
+     *               is no current session
+     * @return the portlet session
+     */
+
+    public PortletSession getPortletSession(boolean create);
+
+
+    /**
+     * Returns the value of the specified request property
+     * as a <code>String</code>. If the request did not include a property
+     * of the specified name, this method returns <code>null</code>.
+     * <p/>
+     * A portlet can access portal/portlet-container specific properties
+     * through this method and, if available, the
+     * headers of the HTTP client request.
+     * <p/>
+     * This method should only be used if the
+     * property has only one value. If the property might have
+     * more than one value, use {@link #getProperties}.
+     * <p/>
+     * If this method is used with a multivalued
+     * parameter, the value returned is equal to the first value
+     * in the Enumeration returned by <code>getProperties</code>.
+     *
+     * @param name a <code>String</code> specifying the
+     *             property name
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return			a <code>String</code> containing the
+     * value of the requested
+     * property, or <code>null</code>
+     * if the request does not
+     * have a property of that name.
+     */
+    public String getProperty(String name);
+
+    /**
+     * Returns all the values of the specified request property
+     * as a <code>Enumeration</code> of <code>String</code> objects.
+     * <p/>
+     * If the request did not include any propertys
+     * of the specified name, this method returns an empty
+     * <code>Enumeration</code>.
+     * The property name is case insensitive. You can use
+     * this method with any request property.
+     *
+     * @param name a <code>String</code> specifying the
+     *             property name
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return		a <code>Enumeration</code> containing
+     * the values of the requested property. If
+     * the request does not have any properties of
+     * that name return an empty <code>Enumeration</code>.
+     */
+    public java.util.Enumeration getProperties(String name);
+
+    /**
+     * Returns a <code>Enumeration</code> of all the property names
+     * this request contains. If the request has no
+     * properties, this method returns an empty <code>Enumeration</code>.
+     *
+     * @return			an <code>Enumeration</code> of all the
+     * property names sent with this
+     * request; if the request has
+     * no properties, an empty <code>Enumeration</code>.
+     */
+    public java.util.Enumeration getPropertyNames();
+
+    /**
+     * Returns the context of the calling portal.
+     *
+     * @return the context of the calling portal
+     */
+    public PortalContext getPortalContext();
+
+    /**
+     * Returns the name of the authentication scheme used for the
+     * connection between client and portal,
+     * for example, <code>BASIC_AUTH</code>, <code>CLIENT_CERT_AUTH</code>,
+     * a custom one or <code>null</code> if there was no authentication.
+     *
+     * @return		one of the static members <code>BASIC_AUTH</code>,
+     * <code>FORM_AUTH</code>, <code>CLIENT_CERT_AUTH</code>,
+     * <code>DIGEST_AUTH</code> (suitable for == comparison)
+     * indicating the authentication scheme,
+     * a custom one, or
+     * <code>null</code> if the request was
+     * not authenticated.
+     */
+    public java.lang.String getAuthType();
+
+    /**
+     * Returns the context path which is the path prefix associated with the deployed
+     * portlet application. If the portlet application is rooted at the
+     * base of the web server URL namespace (also known as "default" context),
+     * this path must be an empty string. Otherwise, it must be the path the
+     * portlet application is rooted to, the path must start with a '/' and
+     * it must not end with a '/' character.
+     * <p/>
+     * To encode a URL the {@link PortletResponse#encodeURL} method must be used.
+     *
+     * @return		a <code>String</code> specifying the
+     * portion of the request URL that indicates the context
+     * of the request
+     * @see PortletResponse#encodeURL
+     */
+    public String getContextPath();
+
+    /**
+     * Returns the login of the user making this request, if the user
+     * has been authenticated, or null if the user has not been authenticated.
+     *
+     * @return		a <code>String</code> specifying the login
+     * of the user making this request, or <code>null</code>
+     * if the user login is not known.
+     */
+    public java.lang.String getRemoteUser();
+
+    /**
+     * Returns a java.security.Principal object containing the name of the
+     * current authenticated user.
+     *
+     * @return		a <code>java.security.Principal</code> containing
+     * the name of the user making this request, or
+     * <code>null</code> if the user has not been
+     * authenticated.
+     */
+    public java.security.Principal getUserPrincipal();
+
+    /**
+     * Returns a boolean indicating whether the authenticated user is
+     * included in the specified logical "role".  Roles and role membership can be
+     * defined using deployment descriptors.  If the user has not been
+     * authenticated, the method returns <code>false</code>.
+     *
+     * @param role a <code>String</code> specifying the name
+     *             of the role
+     * @return		a <code>boolean</code> indicating whether
+     * the user making this request belongs to a given role;
+     * <code>false</code> if the user has not been
+     * authenticated.
+     */
+    public boolean isUserInRole(java.lang.String role);
+
+    /**
+     * Returns the value of the named attribute as an <code>Object</code>,
+     * or <code>null</code> if no attribute of the given name exists.
+     * <p/>
+     * Attribute names should follow the same conventions as package
+     * names. This specification reserves names matching <code>java.*</code>,
+     * and <code>javax.*</code>.
+     * <p/>
+     * In a distributed portlet web application the <code>Object</code>
+     * needs to be serializable.
+     *
+     * @param name a <code>String</code> specifying the name of
+     *             the attribute
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return		an <code>Object</code> containing the value
+     * of the attribute, or <code>null</code> if
+     * the attribute does not exist.
+     */
+    public Object getAttribute(String name);
+
+    /**
+     * Returns an <code>Enumeration</code> containing the
+     * names of the attributes available to this request.
+     * This method returns an empty <code>Enumeration</code>
+     * if the request has no attributes available to it.
+     *
+     * @return		an <code>Enumeration</code> of strings
+     * containing the names
+     * of the request attributes, or an empty
+     * <code>Enumeration</code> if the request
+     * has no attributes available to it.
+     */
+    public java.util.Enumeration getAttributeNames();
+
+    /**
+     * Returns the value of a request parameter as a <code>String</code>,
+     * or <code>null</code> if the parameter does not exist. Request parameters
+     * are extra information sent with the request. The returned parameter
+     * are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * Only parameters targeted to the current portlet are accessible.
+     * <p/>
+     * This method should only be used if the
+     * parameter has only one value. If the parameter might have
+     * more than one value, use {@link #getParameterValues}.
+     * <p/>
+     * If this method is used with a multivalued
+     * parameter, the value returned is equal to the first value
+     * in the array returned by <code>getParameterValues</code>.
+     *
+     * @param name a <code>String</code> specifying the
+     *             name of the parameter
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return		a <code>String</code> representing the
+     * single value of the parameter
+     * @see #getParameterValues
+     */
+    public String getParameter(String name);
+
+    /**
+     * Returns an <code>Enumeration</code> of <code>String</code>
+     * objects containing the names of the parameters contained
+     * in this request. If the request has
+     * no parameters, the method returns an
+     * empty <code>Enumeration</code>.
+     * <p/>
+     * Only parameters targeted to the current portlet are returned.
+     *
+     * @return		an <code>Enumeration</code> of <code>String</code>
+     * objects, each <code>String</code> containing
+     * the name of a request parameter; or an
+     * empty <code>Enumeration</code> if the
+     * request has no parameters.
+     */
+    public java.util.Enumeration getParameterNames();
+
+    /**
+     * Returns an array of <code>String</code> objects containing
+     * all of the values the given request parameter has, or
+     * <code>null</code> if the parameter does not exist.
+     * The returned parameters are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * If the parameter has a single value, the array has a length
+     * of 1.
+     *
+     * @param name a <code>String</code> containing the name of
+     *             the parameter the value of which is requested
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return		an array of <code>String</code> objects
+     * containing the parameter values.
+     * @see		#getParameter
+     */
+    public String[] getParameterValues(String name);
+
+    /**
+     * Returns a <code>Map</code> of the parameters of this request.
+     * Request parameters are extra information sent with the request.
+     * The returned parameters are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * The values in the returned <code>Map</code> are from type
+     * String array (<code>String[]</code>).
+     * <p/>
+     * If no parameters exist this method returns an empty <code>Map</code>.
+     *
+     * @return an immutable <code>Map</code> containing parameter names as
+     *         keys and parameter values as map values, or an empty <code>Map</code>
+     *         if no parameters exist. The keys in the parameter
+     *         map are of type String. The values in the parameter map are of type
+     *         String array (<code>String[]</code>).
+     */
+    public java.util.Map getParameterMap();
+
+    /**
+     * Returns a boolean indicating whether this request was made
+     * using a secure channel between client and the portal, such as HTTPS.
+     *
+     * @return true, if the request was made using a secure channel.
+     */
+    public boolean isSecure();
+
+    /**
+     * Stores an attribute in this request.
+     * <p/>
+     * <p>Attribute names should follow the same conventions as
+     * package names. Names beginning with <code>java.*</code>,
+     * <code>javax.*</code>, and <code>com.sun.*</code> are
+     * reserved for use by Sun Microsystems.
+     * <br> If the value passed into this method is <code>null</code>,
+     * the effect is the same as calling {@link #removeAttribute}.
+     *
+     * @param name a <code>String</code> specifying
+     *             the name of the attribute
+     * @param o    the <code>Object</code> to be stored
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+    public void setAttribute(String name, Object o);
+
+
+    /**
+     * Removes an attribute from this request.  This method is not
+     * generally needed, as attributes only persist as long as the request
+     * is being handled.
+     * <p/>
+     * <p>Attribute names should follow the same conventions as
+     * package names. Names beginning with <code>java.*</code>,
+     * <code>javax.*</code>, and <code>com.sun.*</code> are
+     * reserved for use by Sun Microsystems.
+     *
+     * @param name a <code>String</code> specifying
+     *             the name of the attribute to be removed
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+    public void removeAttribute(String name);
+
+    /**
+     * Returns the session ID indicated in the client request.
+     * This session ID may not be a valid one, it may be an old
+     * one that has expired or has been invalidated.
+     * If the client request
+     * did not specify a session ID, this method returns
+     * <code>null</code>.
+     *
+     * @return		a <code>String</code> specifying the session
+     * ID, or <code>null</code> if the request did
+     * not specify a session ID
+     * @see		#isRequestedSessionIdValid
+     */
+    public String getRequestedSessionId();
+
+    /**
+     * Checks whether the requested session ID is still valid.
+     *
+     * @return			<code>true</code> if this
+     * request has an id for a valid session
+     * in the current session context;
+     * <code>false</code> otherwise
+     * @see			#getRequestedSessionId
+     * @see			#getPortletSession
+     */
+    public boolean isRequestedSessionIdValid();
+
+    /**
+     * Returns the portal preferred content type for the response.
+     * <p/>
+     * The content type only includes the MIME type, not the
+     * character set.
+     * <p/>
+     * Only content types that the portlet has defined in its
+     * deployment descriptor are valid return values for
+     * this method call. If the portlet has defined
+     * <code>'*'</code> or <code>'* / *'</code> as supported content
+     * types, these may also be valid return values.
+     *
+     * @return preferred MIME type of the response
+     */
+    public String getResponseContentType();
+
+    /**
+     * Gets a list of content types which the portal accepts for the response.
+     * This list is ordered with the most preferable types listed first.
+     * <p/>
+     * The content type only includes the MIME type, not the
+     * character set.
+     * <p/>
+     * Only content types that the portlet has defined in its
+     * deployment descriptor are valid return values for
+     * this method call. If the portlet has defined
+     * <code>'*'</code> or <code>'* / *'</code> as supported content
+     * types, these may also be valid return values.
+     *
+     * @return ordered list of MIME types for the response
+     */
+    public java.util.Enumeration getResponseContentTypes();
+
+
+    /**
+     * Returns the preferred Locale in which the portal will accept content.
+     * The Locale may be based on the Accept-Language header of the client.
+     *
+     * @return the prefered Locale in which the portal will accept content.
+     */
+    public java.util.Locale getLocale();
+
+
+    /**
+     * Returns an Enumeration of Locale objects indicating, in decreasing
+     * order starting with the preferred locale in which the portal will
+     * accept content for this request.
+     * The Locales may be based on the Accept-Language header of the client.
+     *
+     * @return an Enumeration of Locales, in decreasing order, in which
+     *         the portal will accept content for this request
+     */
+    public java.util.Enumeration getLocales();
+
+
+    /**
+     * Returns the name of the scheme used to make this request.
+     * For example, <code>http</code>, <code>https</code>, or <code>ftp</code>.
+     * Different schemes have different rules for constructing URLs,
+     * as noted in RFC 1738.
+     *
+     * @return		a <code>String</code> containing the name
+     * of the scheme used to make this request
+     */
+    public String getScheme();
+
+
+    /**
+     * Returns the host name of the server that received the request.
+     *
+     * @return		a <code>String</code> containing the name
+     * of the server to which the request was sent
+     */
+    public String getServerName();
+
+
+    /**
+     * Returns the port number on which this request was received.
+     *
+     * @return		an integer specifying the port number
+     */
+    public int getServerPort();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequestDispatcher.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequestDispatcher.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletRequestDispatcher.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <code>PortletRequestDispatcher</code> interface
+ * defines an object that receives requests from the client
+ * and sends them to the specified resources (such as a servlet,
+ * HTML file, or JSP file) on the server. The portlet
+ * container creates the <code>PortletRequestDispatcher</code> object,
+ * which is used as a wrapper around a server resource located
+ * at a particular path or given by a particular name.
+ */
+
+public interface PortletRequestDispatcher {
+
+    /**
+     * Includes the content of a resource (servlet, JSP page,
+     * HTML file) in the response. In essence, this method enables
+     * programmatic server-side includes.
+     * <p/>
+     * The included servlet cannot set or change the response status code
+     * or set headers; any attempt to make a change is ignored.
+     *
+     * @param request  a {@link RenderRequest} object
+     *                 that contains the client request
+     * @param response a {@link RenderResponse} object
+     *                 that contains the render response
+     * @throws PortletException    if the included resource throws a ServletException,
+     *                             or other exceptions that are not Runtime-
+     *                             or IOExceptions.
+     * @throws java.io.IOException if the included resource throws this exception
+     */
+
+    public void include(RenderRequest request, RenderResponse response)
+            throws PortletException, java.io.IOException;
+
+
+}
+
+
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletResponse.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletResponse.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletResponse.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletResponse</CODE> defines the base interface to assist a
+ * portlet in creating and sending a response to the client.
+ * The portlet container uses two specialized versions of this interface
+ * when invoking a portlet, <CODE>ActionResponse</CODE> and
+ * <CODE>RenderResponse</CODE>. The  portlet container creates these
+ * objects and passes them as arguments to the portlet's <CODE>processAction</CODE>
+ * and <CODE>render</CODE> methods.
+ * 
+ * @see ActionResponse
+ * @see RenderResponse
+ */
+public interface PortletResponse {
+
+
+    /**
+     * Adds a String property to an existing key to be returned to the portal.
+     * <p/>
+     * This method allows response properties to have multiple values.
+     * <p/>
+     * Properties can be used by portlets to provide vendor specific
+     * information to the portal.
+     *
+     * @param key   the key of the property to be returned to the portal
+     * @param value the value of the property to be returned to the portal
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>.
+     */
+
+    public void addProperty(String key, String value);
+
+
+    /**
+     * Sets a String property to be returned to the portal.
+     * <p/>
+     * Properties can be used by portlets to provide vendor specific
+     * information to the portal.
+     * <p/>
+     * This method resets all properties previously added with the same key.
+     *
+     * @param key   the key of the property to be returned to the portal
+     * @param value the value of the property to be returned to the portal
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>.
+     */
+
+    public void setProperty(String key, String value);
+
+
+    /**
+     * Returns the encoded URL of the resource, like servlets,
+     * JSPs, images and other static files, at the given path.
+     * <p/>
+     * Some portal/portlet-container implementation may require
+     * those URLs to contain implementation specific data encoded
+     * in it. Because of that, portlets should use this method to
+     * create such URLs.
+     * <p/>
+     * The <code>encodeURL</code> method may include the session ID
+     * and other portal/portlet-container specific information into the URL.
+     * If encoding is not needed, it returns the URL unchanged.
+     *
+     * @param path the URI path to the resource. This must be either
+     *             an absolute URL (e.g.
+     *             <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
+     *             or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
+     * @return the encoded resource URL as string
+     * @throws java.lang.IllegalArgumentException
+     *          if path doesn't have a leading slash or is not an absolute URL
+     */
+
+    public String encodeURL(String path);
+
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSecurityException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSecurityException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSecurityException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * A portlet should throw a <CODE>PortletSecurityException</CODE>
+ * when a call fails because of security reasons.<br>
+ * Additionally it can be thrown by the portal/portlet-container.
+ */
+
+public class PortletSecurityException extends PortletException {
+
+    private PortletSecurityException() {
+    }
+
+    /**
+     * Constructs a new security exception with the given text. The
+     * portlet container may use the text write it to a log.
+     *
+     * @param text the exception text
+     */
+
+    public PortletSecurityException(String text) {
+        super(text);
+    }
+
+    /**
+     * Constructs a new portlet security exception when the portlet needs to do
+     * the following:
+     * <ul>
+     * <il>throw an exception
+     * <li>include a message about the "root cause" that interfered
+     * with its normal operation
+     * <li>include a description message
+     * </ul>
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+
+    public PortletSecurityException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new portlet security exception when the portlet needs to throw an
+     * exception. The exception message is based on the localized message
+     * of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+
+    public PortletSecurityException(Throwable cause) {
+        super(cause);
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSession.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSession.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSession.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,347 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletSession</CODE> interface provides a way to identify a user
+ * across more than one request and to store transient information about that user.
+ * <p/>
+ * A <code>PortletSession</code> is created per user client per portlet application.
+ * <p/>
+ * A portlet can bind an object attribute into a <code>PortletSession</code> by name.
+ * The <code>PortletSession</code> interface defines two scopes for storing objects:
+ * <ul>
+ * <li><code>APPLICATION_SCOPE</code>
+ * <li><code>PORTLET_SCOPE</code>
+ * </ul>
+ * All objects stored in the session using the <code>APPLICATION_SCOPE</code>
+ * must be available to all the portlets, servlets and
+ * JSPs that belongs to the same portlet application and that handles a
+ * request identified as being a part of the same session.
+ * Objects stored in the session using the <code>PORTLET_SCOPE</code> must be
+ * available to the portlet during requests for the same portlet window
+ * that the objects where stored from. Attributes stored in the
+ * <code>PORTLET_SCOPE</code> are not protected from other web components
+ * of the portlet application. They are just conveniently namespaced.
+ * <P>
+ * The portlet session is based on the <code>HttpSession</code>. Therefore all
+ * <code>HttpSession</code> listeners do apply to the portlet session and
+ * attributes set in the portlet session are visible in the <code>HttpSession</code>
+ * and vice versa.
+ */
+public interface PortletSession {
+
+    /**
+     * This constant defines an application wide scope for the session attribute.
+     * <code>APPLICATION_SCOPE</code> session attributes enable Portlets
+     * within one portlet application to share data.
+     * <p/>
+     * Portlets may need to prefix attributes set in this scope with some
+     * ID, to avoid overwriting each other's attributes in the
+     * case where two portlets of the same portlet definition
+     * are created.
+     * <p/>
+     * Value: <code>0x01</code>
+     */
+    public static final int APPLICATION_SCOPE = 0x01;
+
+    /**
+     * This constant defines the scope of the session attribute to be
+     * private to the portlet and its included resources.
+     * <p/>
+     * Value: <code>0x02</code>
+     */
+    public static final int PORTLET_SCOPE = 0x02;
+
+
+    /**
+     * Returns the object bound with the specified name in this session
+     * under the <code>PORTLET_SCOPE</code>, or <code>null</code> if no
+     * object is bound under the name in that scope.
+     *
+     * @param name a string specifying the name of the object
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on an
+     *          invalidated session.
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return			the object with the specified name for
+     * the <code>PORTLET_SCOPE</code>.
+     */
+
+    public java.lang.Object getAttribute(java.lang.String name);
+
+
+    /**
+     * Returns the object bound with the specified name in this session,
+     * or <code>null</code> if no object is bound under the name in the given scope.
+     *
+     * @param name  a string specifying the name of the object
+     * @param scope session scope of this attribute
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on an
+     *          invalidated session
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     * @return			the object with the specified name
+     */
+
+    public java.lang.Object getAttribute(java.lang.String name, int scope);
+
+
+    /**
+     * Returns an <code>Enumeration</code> of String objects containing the names of
+     * all the objects bound to this session under the <code>PORTLET_SCOPE</code>, or an
+     * empty <code>Enumeration</code> if no attributes are available.
+     *
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on an
+     *          invalidated session
+     * @return			an <code>Enumeration</code> of
+     * <code>String</code> objects specifying the
+     * names of all the objects bound to
+     * this session, or an empty <code>Enumeration</code>
+     * if no attributes are available.
+     */
+
+    public java.util.Enumeration getAttributeNames();
+
+
+    /**
+     * Returns an <code>Enumeration</code> of String objects containing the names of
+     * all the objects bound to this session in the given scope, or an
+     * empty <code>Enumeration</code> if no attributes are available in the
+     * given scope.
+     *
+     * @param scope session scope of the attribute names
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on an
+     *          invalidated session
+     * @return			an <code>Enumeration</code> of
+     * <code>String</code> objects specifying the
+     * names of all the objects bound to
+     * this session, or an empty <code>Enumeration</code>
+     * if no attributes are available in the given scope.
+     */
+
+    public java.util.Enumeration getAttributeNames(int scope);
+
+    /**
+     * Returns the time when this session was created, measured in
+     * milliseconds since midnight January 1, 1970 GMT.
+     *
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on an
+     *          invalidated session
+     * @return				a <code>long</code> specifying
+     * when this session was created,
+     * expressed in
+     * milliseconds since 1/1/1970 GMT
+     */
+
+    public long getCreationTime();
+
+
+    /**
+     * Returns a string containing the unique identifier assigned to this session.
+     *
+     * @return				a string specifying the identifier
+     * assigned to this session
+     */
+
+    public java.lang.String getId();
+
+
+    /**
+     * Returns the last time the client sent a request associated with this session,
+     * as the number of milliseconds since midnight January 1, 1970 GMT.
+     * <p/>
+     * <p>Actions that your portlet takes, such as getting or setting
+     * a value associated with the session, do not affect the access
+     * time.
+     *
+     * @return				a <code>long</code>
+     * representing the last time
+     * the client sent a request associated
+     * with this session, expressed in
+     * milliseconds since 1/1/1970 GMT
+     */
+
+    public long getLastAccessedTime();
+
+
+    /**
+     * Returns the maximum time interval, in seconds, for which the portlet container
+     * keeps this session open between client accesses. After this interval,
+     * the portlet container invalidates the session.  The maximum time
+     * interval can be set
+     * with the <code>setMaxInactiveInterval</code> method.
+     * A negative time indicates the session should never timeout.
+     *
+     * @return		an integer specifying the number of
+     * seconds this session remains open
+     * between client requests
+     * @see		#setMaxInactiveInterval
+     */
+
+    public int getMaxInactiveInterval();
+
+
+    /**
+     * Invalidates this session (all scopes) and unbinds any objects bound to it.
+     * <p/>
+     * Invalidating the portlet session will result in invalidating the underlying
+     * <code>HttpSession</code>
+     *
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has already been invalidated
+     */
+
+    public void invalidate();
+
+
+    /**
+     * Returns true if the client does not yet know about the session or
+     * if the client chooses not to join the session.
+     *
+     * @return <code>true</code> if the
+     *         server has created a session,
+     *         but the client has not joined yet.
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has already been invalidated
+     */
+
+    public boolean isNew();
+
+
+    /**
+     * Removes the object bound with the specified name under
+     * the <code>PORTLET_SCOPE</code> from
+     * this session. If the session does not have an object
+     * bound with the specified name, this method does nothing.
+     *
+     * @param name the name of the object to be
+     *             removed from this session in the
+     *             <code> PORTLET_SCOPE</code>.
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has been invalidated
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+
+    public void removeAttribute(String name);
+
+
+    /**
+     * Removes the object bound with the specified name and the given scope from
+     * this session. If the session does not have an object
+     * bound with the specified name, this method does nothing.
+     *
+     * @param name  the name of the object to be
+     *              removed from this session
+     * @param scope session scope of this attribute
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has been invalidated
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+
+    public void removeAttribute(String name, int scope);
+
+
+    /**
+     * Binds an object to this session under the <code>PORTLET_SCOPE</code>, using the name specified.
+     * If an object of the same name in this scope is already bound to the session,
+     * that object is replaced.
+     * <p/>
+     * <p>After this method has been executed, and if the new object
+     * implements <code>HttpSessionBindingListener</code>,
+     * the container calls
+     * <code>HttpSessionBindingListener.valueBound</code>. The container then
+     * notifies any <code>HttpSessionAttributeListeners</code> in the web
+     * application.
+     * <p>If an object was already bound to this session
+     * that implements <code>HttpSessionBindingListener</code>, its
+     * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+     * <p/>
+     * <p>If the value is <code>null</code>, this has the same effect as calling
+     * <code>removeAttribute()</code>.
+     *
+     * @param name  the name to which the object is bound under
+     *              the <code>PORTLET_SCOPE</code>;
+     *              this cannot be <code>null</code>.
+     * @param value the object to be bound
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has been invalidated
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+
+    public void setAttribute(java.lang.String name, java.lang.Object value);
+
+
+    /**
+     * Binds an object to this session in the given scope, using the name specified.
+     * If an object of the same name in this scope is already bound to the session,
+     * that object is replaced.
+     * <p/>
+     * <p>After this method has been executed, and if the new object
+     * implements <code>HttpSessionBindingListener</code>,
+     * the container calls
+     * <code>HttpSessionBindingListener.valueBound</code>. The container then
+     * notifies any <code>HttpSessionAttributeListeners</code> in the web
+     * application.
+     * <p>If an object was already bound to this session
+     * that implements <code>HttpSessionBindingListener</code>, its
+     * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+     * <p/>
+     * <p>If the value is <code>null</code>, this has the same effect as calling
+     * <code>removeAttribute()</code>.
+     *
+     * @param name  the name to which the object is bound;
+     *              this cannot be <code>null</code>.
+     * @param value the object to be bound
+     * @param scope session scope of this attribute
+     * @throws java.lang.IllegalStateException
+     *          if this method is called on a
+     *          session which has been invalidated
+     * @throws java.lang.IllegalArgumentException
+     *          if name is <code>null</code>.
+     */
+
+    public void setAttribute(java.lang.String name, java.lang.Object value, int scope);
+
+
+    /**
+     * Specifies the time, in seconds, between client requests, before the
+     * portlet container invalidates this session. A negative time
+     * indicates the session should never timeout.
+     *
+     * @param interval An integer specifying the number
+     *                 of seconds
+     */
+
+    public void setMaxInactiveInterval(int interval);
+
+
+    /**
+     * Returns the portlet application context associated with this session.
+     *
+     * @return the portlet application context
+     */
+
+    public PortletContext getPortletContext();
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSessionUtil.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSessionUtil.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletSessionUtil.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * The <CODE>PortletSessionUtil</CODE>  class helps identify and decode
+ * attributes in the <CODE>PORTLET_SCOPE</CODE> scope of the PortletSession
+ * when accessed through the HttpSession an from within calls to methods
+ * of the HttpSessionBindingListener interface.
+ */
+public class PortletSessionUtil {
+
+    private static final String PORTLET_SCOPE_NAMESPACE = "javax.portlet.p.";
+
+    /**
+     * Returns the attribute name of an attribute in the
+     * <code>PORTLET_SCOPE</code>. If the attribute is in the
+     * <code>APPLICATION_SCOPE</code> it returns the attribute name unchanged.
+     *
+     * @param name a string specifying the name of the
+     *             encoded portlet attribute
+     * @return			the decoded attribute name
+     */
+
+    public static java.lang.String decodeAttributeName(java.lang.String name) {
+        if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
+            int index = name.indexOf('?');
+            if (index > -1) {
+                name = name.substring(index + 1);
+            }
+        }
+        return name;
+    }
+
+
+    /**
+     * Returns the portlet attribute scope from an encoded portlet
+     * attribute.
+     * <br>Possible return values are:
+     * <ul>
+     * <li><code>PortletSession.APPLICATION_SCOPE</code></li>
+     * <li><code>PortletSession.PORTLET_SCOPE</code></li>
+     * </ul>
+     *
+     * @param name a string specifying the name of the
+     *             encoded portlet attribute
+     * @return			the decoded attribute scope
+     * @see PortletSession
+     */
+
+    public static int decodeScope(java.lang.String name) {
+        int scope = PortletSession.APPLICATION_SCOPE; // APP
+        if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
+            int index = name.indexOf('?');
+            if (index > -1) {
+                scope = PortletSession.PORTLET_SCOPE; // PORTLET
+            }
+        }
+        return scope;
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletURL.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletURL.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PortletURL.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,175 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PortletURL</CODE> interface represents a URL
+ * that reference the portlet itself.
+ * <p/>
+ * A PortletURL is created through the <CODE>RenderResponse</CODE>.
+ * Parameters, a portlet mode, a window state and a security level
+ * can be added to <CODE>PortletURL</CODE> objects. The PortletURL
+ * must be converted to a String in order to embed it into
+ * the markup generated by the portlet.
+ * <P>
+ * There are two types of PortletURLs:
+ * <ul>
+ * <li>Action URLs, they are created with <CODE>RenderResponse.createActionURL</CODE>, and
+ * trigger an action request followed by a render request.
+ * <li>Render URLs, they are created with <CODE>RenderResponse.createRenderURL</CODE>, and
+ * trigger a render request.
+ * </ul>
+ * <p/>
+ * The string reprensentation of a PortletURL does not need to be a valid
+ * URL at the time the portlet is generating its content. It may contain
+ * special tokens that will be converted to a valid URL, by the portal,
+ * before the content is returned to the client.
+ */
+public interface PortletURL {
+
+
+    /**
+     * Indicates the window state the portlet should be in, if this
+     * portlet URL triggers a request.
+     * <p/>
+     * A URL can not have more than one window state attached to it.
+     * If more than one window state is set only the last one set
+     * is attached to the URL.
+     *
+     * @param windowState the portlet window state
+     * @throws WindowStateException if the portlet cannot switch to this state,
+     *                              because the portal does not support this state, the portlet has not
+     *                              declared in its deployment descriptor that it supports this state, or the current
+     *                              user is not allowed to switch to this state.
+     *                              The <code>PortletRequest.isWindowStateAllowed()</code> method can be used
+     *                              to check if the portlet can set a given window state.
+     * @see PortletRequest#isWindowStateAllowed
+     */
+    public void setWindowState(WindowState windowState)
+            throws WindowStateException;
+
+
+    /**
+     * Indicates the portlet mode the portlet must be in, if this
+     * portlet URL triggers a request.
+     * <p/>
+     * A URL can not have more than one portlet mode attached to it.
+     * If more than one portlet mode is set only the last one set
+     * is attached to the URL.
+     *
+     * @param portletMode the portlet mode
+     * @throws PortletModeException if the portlet cannot switch to this mode,
+     *                              because the portal does not support this mode, the portlet has not
+     *                              declared in its deployment descriptor that it supports this mode for the current markup,
+     *                              or the current user is not allowed to switch to this mode.
+     *                              The <code>PortletRequest.isPortletModeAllowed()</code> method can be used
+     *                              to check if the portlet can set a given portlet mode.
+     * @see PortletRequest#isPortletModeAllowed
+     */
+    public void setPortletMode(PortletMode portletMode)
+            throws PortletModeException;
+
+
+    /**
+     * Sets the given String parameter to this URL.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param name  the parameter name
+     * @param value the parameter value
+     * @throws java.lang.IllegalArgumentException
+     *          if name or value are <code>null</code>.
+     */
+
+    public void setParameter(String name, String value);
+
+
+    /**
+     * Sets the given String array parameter to this URL.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param name   the parameter name
+     * @param values the parameter values
+     * @throws java.lang.IllegalArgumentException
+     *          if name or values are <code>null</code>.
+     */
+
+    public void setParameter(String name, String[] values);
+
+
+    /**
+     * Sets a parameter map for this URL.
+     * <p/>
+     * All previously set parameters are cleared.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally,
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param parameters Map containing parameter names for
+     *                   the render phase as
+     *                   keys and parameter values as map
+     *                   values. The keys in the parameter
+     *                   map must be of type String. The values
+     *                   in the parameter map must be of type
+     *                   String array (<code>String[]</code>).
+     * @exception	java.lang.IllegalArgumentException if parameters is <code>null</code>, if
+     * any of the key/values in the Map are <code>null</code>,
+     * if any of the keys is not a String, or if any of
+     * the values is not a String array.
+     */
+
+    public void setParameters(java.util.Map parameters);
+
+
+    /**
+     * Indicated the security setting for this URL.
+     * <p/>
+     * Secure set to <code>true</code> indicates that the portlet requests
+     * a secure connection between the client and the portlet window for
+     * this URL. Secure set to <code>false</code> indicates that the portlet
+     * does not need a secure connection for this URL. If the security is not
+     * set for a URL, it will stay the same as the current request.
+     *
+     * @param secure true, if portlet requests to have a secure connection
+     *               between its portlet window and the client; false, if
+     *               the portlet does not require a secure connection.
+     * @throws PortletSecurityException if the run-time environment does
+     *                                  not support the indicated setting
+     */
+
+    public void setSecure(boolean secure) throws PortletSecurityException;
+
+
+    /**
+     * Returns the portlet URL string representation to be embedded in the
+     * markup.<br>
+     * Note that the returned String may not be a valid URL, as it may
+     * be rewritten by the portal/portlet-container before returning the
+     * markup to the client.
+     *
+     * @return the encoded URL as a string
+     */
+
+    public String toString();
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/PreferencesValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/PreferencesValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/PreferencesValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>PreferencesValidator</CODE> allows to validate the set of
+ * preferences of the associated portlet just before they are
+ * stored in the persistent store.
+ * <p/>
+ * The portlet container invokes the <code>validate</code> method as
+ * part of the invocation of the <code>store</code> method of the
+ * <code>PortletPreferences</code>.
+ */
+public interface PreferencesValidator {
+
+    /**
+     * If the preferences values are successfully validated the call to this method
+     * must finish gracefully. Otherwise it must throw a <code>ValidatorException</code>.
+     *
+     * @param preferences preferences to validate
+     * @throws ValidatorException if the given preferences contains invalid
+     *                            settings
+     */
+
+    public void validate(PortletPreferences preferences)
+            throws ValidatorException;
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/ReadOnlyException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/ReadOnlyException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/ReadOnlyException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * The <CODE>ReadOnlyException</CODE> is thrown when a portlet tries
+ * to change the value for a read-only preference attribute.
+ */
+
+public class ReadOnlyException extends PortletException {
+
+    private ReadOnlyException() {
+    }
+
+    /**
+     * Constructs a new read-only exception with the given text. The
+     * portlet container may use the text write it to a log.
+     *
+     * @param text the exception text
+     */
+
+    public ReadOnlyException(String text) {
+        super(text);
+    }
+
+    /**
+     * Constructs a new read-only exception when the portlet needs to do
+     * the following:
+     * <ul>
+     * <il>throw an exception
+     * <li>include a message about the "root cause" that interfered
+     * with its normal operation
+     * <li>include a description message
+     * </ul>
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+
+    public ReadOnlyException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new read-only exception when the portlet needs to throw an
+     * exception. The exception message is based on the localized message
+     * of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+
+    public ReadOnlyException(Throwable cause) {
+        super(cause);
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderRequest.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderRequest.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderRequest.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>RenderRequest</CODE> represents the request sent to the portlet
+ * to handle a render.
+ * It extends the PortletRequest interface to provide render request
+ * information to portlets.<br>
+ * The portlet container creates a <CODE>RenderRequest</CODE> object and
+ * passes it as argument to the portlet's <CODE>render</CODE> method.
+ * 
+ * @see PortletRequest
+ * @see ActionRequest
+ */
+public interface RenderRequest extends PortletRequest {
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderResponse.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderResponse.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/RenderResponse.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,303 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>RenderResponse</CODE> defines an object to assist a portlet in
+ * sending a response to the portal.
+ * It extends the <CODE>PortletResponse</CODE> interface to provide specific
+ * render response functionality to portlets.<br>
+ * The portlet container creates a <CODE>RenderResponse</CODE> object and
+ * passes it as argument to the portlet's <CODE>render</CODE> method.
+ *
+ * @see RenderRequest
+ * @see PortletResponse
+ */
+public interface RenderResponse extends PortletResponse {
+
+    /**
+     * Property to set the expiration time in seconds for this
+     * response using the <code>setProperty</code> method.
+     * <P>
+     * If the expiration value is set to 0, caching is disabled
+     * for this portlet; if the value is set to -1,
+     * the cache does not expire.
+     * <p/>
+     * The value is <code>"portlet.expiration-cache"</code>.
+     */
+    public static final String EXPIRATION_CACHE = "portlet.expiration-cache";
+
+    /**
+     * Returns the MIME type that can be used to contribute
+     * markup to the render response.
+     * <p/>
+     * If no content type was set previously using the {@link #setContentType} method
+     * this method retuns <code>null</code>.
+     *
+     * @return the MIME type of the response, or <code>null</code>
+     *         if no content type is set
+     * @see #setContentType
+     */
+
+    public String getContentType();
+
+
+    /**
+     * Creates a portlet URL targeting the portlet. If no portlet mode,
+     * window state or security modifier is set in the PortletURL the
+     * current values are preserved. If a request is triggered by the
+     * PortletURL, it results in a render request.
+     * <p/>
+     * The returned URL can be further extended by adding
+     * portlet-specific parameters and portlet modes and window states.
+     * <p/>
+     * The created URL will per default not contain any parameters
+     * of the current render request.
+     *
+     * @return a portlet render URL
+     */
+    public PortletURL createRenderURL();
+
+
+    /**
+     * Creates a portlet URL targeting the portlet. If no portlet mode,
+     * window state or security modifier is set in the PortletURL the
+     * current values are preserved. If a request is triggered by the
+     * PortletURL, it results in an action request.
+     * <p/>
+     * The returned URL can be further extended by adding
+     * portlet-specific parameters and portlet modes and window states.
+     * <p/>
+     * The created URL will per default not contain any parameters
+     * of the current render request.
+     *
+     * @return a portlet action URL
+     */
+    public PortletURL createActionURL();
+
+
+    /**
+     * The value returned by this method should be prefixed or appended to
+     * elements, such as JavaScript variables or function names, to ensure
+     * they are unique in the context of the portal page.
+     *
+     * @return the namespace
+     */
+
+    public String getNamespace();
+
+
+    /**
+     * This method sets the title of the portlet.
+     * <p/>
+     * The value can be a text String
+     *
+     * @param title portlet title as text String or resource URI
+     */
+
+    public void setTitle(String title);
+
+
+    /**
+     * Sets the MIME type for the render response. The portlet must
+     * set the content type before calling {@link #getWriter} or
+     * {@link #getPortletOutputStream}.
+     * <p/>
+     * Calling <code>setContentType</code> after <code>getWriter</code>
+     * or <code>getOutputStream</code> does not change the content type.
+     *
+     * @param type the content MIME type
+     * @throws java.lang.IllegalArgumentException
+     *          if the given type is not in the list returned
+     *          by <code>PortletRequest.getResponseContentTypes</code>
+     * @see RenderRequest#getResponseContentTypes
+     * @see #getContentType
+     */
+
+    public void setContentType(String type);
+
+
+    /**
+     * Returns the name of the charset used for
+     * the MIME body sent in this response.
+     * <p/>
+     * <p>See <a href="http://ds.internic.net/rfc/rfc2045.txt">RFC 2047</a>
+     * for more information about character encoding and MIME.
+     *
+     * @return		a <code>String</code> specifying the
+     * name of the charset, for
+     * example, <code>ISO-8859-1</code>
+     */
+
+    public String getCharacterEncoding();
+
+
+    /**
+     * Returns a PrintWriter object that can send character
+     * text to the portal.
+     * <p/>
+     * Before calling this method the content type of the
+     * render response must be set using the {@link #setContentType}
+     * method.
+     * <p/>
+     * Either this method or {@link #getPortletOutputStream} may be
+     * called to write the body, not both.
+     *
+     * @return a <code>PrintWriter</code> object that
+     *         can return character data to the portal
+     * @throws java.io.IOException if an input or output exception occurred
+     * @throws java.lang.IllegalStateException
+     *                             if the <code>getPortletOutputStream</code> method
+     *                             has been called on this response,
+     *                             or if no content type was set using the
+     *                             <code>setContentType</code> method.
+     * @see #setContentType
+     * @see #getPortletOutputStream
+     */
+
+    public java.io.PrintWriter getWriter() throws java.io.IOException;
+
+
+    /**
+     * Returns the locale assigned to the response.
+     *
+     * @return Locale of this response
+     */
+
+    public java.util.Locale getLocale();
+
+
+    /**
+     * Sets the preferred buffer size for the body of the response.
+     * The portlet container will use a buffer at least as large as
+     * the size requested.
+     * <p/>
+     * This method must be called before any response body content is
+     * written; if content has been written, or the portlet container
+     * does not support buffering, this method may throw an
+     * <code>IllegalStateException</code>.
+     *
+     * @param size the preferred buffer size
+     * @throws java.lang.IllegalStateException
+     *          if this method is called after
+     *          content has been written, or the
+     *          portlet container does not support buffering
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     * @see #reset
+     */
+
+    public void setBufferSize(int size);
+
+
+    /**
+     * Returns the actual buffer size used for the response.  If no buffering
+     * is used, this method returns 0.
+     *
+     * @return	 the actual buffer size used
+     * @see #setBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     * @see #reset
+     */
+
+    public int getBufferSize();
+
+
+    /**
+     * Forces any content in the buffer to be written to the client.  A call
+     * to this method automatically commits the response.
+     *
+     * @throws java.io.IOException if an error occured when writing the output
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #isCommitted
+     * @see #reset
+     */
+
+    public void flushBuffer() throws java.io.IOException;
+
+
+    /**
+     * Clears the content of the underlying buffer in the response without
+     * clearing properties set. If the response has been committed,
+     * this method throws an <code>IllegalStateException</code>.
+     *
+     * @throws IllegalStateException if this method is called after
+     *                               response is comitted
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #isCommitted
+     * @see #reset
+     */
+
+    public void resetBuffer();
+
+
+    /**
+     * Returns a boolean indicating if the response has been
+     * committed.
+     *
+     * @return		a boolean indicating if the response has been
+     * committed
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #reset
+     */
+
+    public boolean isCommitted();
+
+
+    /**
+     * Clears any data that exists in the buffer as well as the properties set.
+     * If the response has been committed, this method throws an
+     * <code>IllegalStateException</code>.
+     *
+     * @throws java.lang.IllegalStateException
+     *          if the response has already been
+     *          committed
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     */
+
+    public void reset();
+
+
+    /**
+     * Returns a <code>OutputStream</code> suitable for writing binary
+     * data in the response. The portlet container does not encode the
+     * binary data.
+     * <p/>
+     * Before calling this method the content type of the
+     * render response must be set using the {@link #setContentType}
+     * method.
+     * <p/>
+     * Calling <code>flush()</code> on the OutputStream commits the response.
+     * <p/>
+     * Either this method or {@link #getWriter} may be called to write the body, not both.
+     *
+     * @throws java.lang.IllegalStateException
+     *                             if the <code>getWriter</code> method
+     *                             has been called on this response, or
+     *                             if no content type was set using the
+     *                             <code>setContentType</code> method.
+     * @throws java.io.IOException if an input or output exception occurred
+     * @return	a <code>OutputStream</code> for writing binary data
+     * @see #setContentType
+     * @see #getWriter
+     */
+
+    public java.io.OutputStream getPortletOutputStream() throws java.io.IOException;
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/UnavailableException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/UnavailableException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/UnavailableException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * The portlet should throw the <CODE>UnavailableException</CODE> when
+ * the portlet is either temporarily or permanently unavailable to handle requests.
+ */
+
+public class UnavailableException extends PortletException {
+
+    private boolean permanent;         // needs admin action?
+    private int seconds;           // unavailability estimate
+
+
+    /**
+     * Constructs a new exception with a descriptive
+     * message indicating that the portlet is permanently
+     * unavailable.
+     *
+     * @param text a <code>String</code> specifying the
+     *             descriptive message
+     */
+
+    public UnavailableException(String text) {
+        super(text);
+
+        permanent = true;
+    }
+
+    /**
+     * Constructs a new exception with a descriptive message
+     * indicating that the portlet is temporarily unavailable
+     * and giving an estimate of how long it will be unavailable.
+     * <p/>
+     * <p>In some cases, the portlet cannot make an estimate. For
+     * example, the portlet might know that a server it needs is
+     * not running, but it might not be able to report how long it will take
+     * to be restored to functionality. This can be indicated with
+     * a negative or zero value for the <code>seconds</code> argument.
+     *
+     * @param text    a <code>String</code> specifying the
+     *                descriptive message. This message can be written
+     *                to a log file or displayed for the user.
+     * @param seconds an integer specifying the number of seconds
+     *                for which the portlet expects to be unavailable; if
+     *                this is zero or negative, it indicates that the portlet
+     *                cannot make an estimate.
+     */
+
+    public UnavailableException(String text, int seconds) {
+        super(text);
+
+        if (seconds <= 0)
+            this.seconds = -1;
+        else
+            this.seconds = seconds;
+
+        permanent = false;
+    }
+
+    /**
+     * Returns a <code>boolean</code> indicating
+     * whether the portlet is permanently unavailable.
+     * If so, something is wrong with the portlet, and the
+     * system administrator must take some corrective action.
+     *
+     * @return		<code>true</code> if the portlet is
+     * permanently unavailable; <code>false</code>
+     * if the portlet is temporarily
+     * unavailable.
+     */
+
+    public boolean isPermanent() {
+        return permanent;
+    }
+
+
+    /**
+     * Returns the time in seconds for which the portlet can be expected to
+     * be unavailable.
+     * <p/>
+     * If the portlet is called again while it is still unavailable, it
+     * indicates the same time estimate. No effort is
+     * made to correct for the time elapsed since the exception was
+     * first reported.
+     * <p/>
+     * If this method returns zero or a negative number, the portlet
+     * is permanently unavailable or cannot provide an estimate of
+     * how long it will be unavailable.
+     *
+     * @return		an integer specifying the number of seconds
+     * the portlet will be temporarily unavailable,
+     * or zero or a negative number if the portlet is permanently
+     * unavailable or cannot make an estimate.
+     */
+
+    public int getUnavailableSeconds() {
+        return permanent ? -1 : seconds;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/ValidatorException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/ValidatorException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/ValidatorException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
+
+/**
+ * The <CODE>ValidatorException</CODE> is thrown by the
+ * <CODE>validate</CODE> method of a PreferencesValidator when
+ * the validation of a preference failed.
+ */
+
+public class ValidatorException extends PortletException {
+
+    private transient ArrayList failedKeyVector = new ArrayList();
+
+    private ValidatorException() {
+    }
+
+    /**
+     * Constructs a new validator exception with the given text. The
+     * portlet container may use the text write it to a log.
+     * <p/>
+     * The collection of failed keys may contain all failed keys, only the
+     * first key that failed validation, or may be <code>null</code>.
+     *
+     * @param text       the exception text
+     * @param failedKeys keys that failed the validation; may be <code>null</code>
+     */
+
+    public ValidatorException(String text, Collection failedKeys) {
+        super(text);
+        if (failedKeys != null)
+            failedKeyVector.addAll(failedKeys);
+    }
+
+    /**
+     * Constructs a new portlet validator exception.
+     * Used, when the portlet needs to do one of the following:
+     * <ul>
+     * <il>throw an exception
+     * <li>include a message about the "root cause" that interfered
+     * with its normal operation
+     * <li>include a description message
+     * </ul>
+     * <p/>
+     * The Collection of failed keys may contain all failed keys, only the
+     * first key that failed validation, or may be <code>null</code>.
+     *
+     * @param text       the exception text
+     * @param cause      the root cause
+     * @param failedKeys keys that failed the validation; may be <code>null</code>
+     */
+
+    public ValidatorException(String text, Throwable cause, Collection failedKeys) {
+        super(text, cause);
+        if (failedKeys != null)
+            failedKeyVector.addAll(failedKeys);
+    }
+
+    /**
+     * Constructs a new portlet validator exception when the portlet needs to throw an
+     * exception. The exception message is based on the localized message
+     * of the underlying exception.
+     * <p/>
+     * The Collection of failed keys may contain all failed keys, only the
+     * first key that failed validation, or may be <code>null</code>.
+     *
+     * @param cause      the root cause
+     * @param failedKeys keys that failed the validation; may be <code>null</code>
+     */
+
+    public ValidatorException(Throwable cause, Collection failedKeys) {
+        super(cause);
+        if (failedKeys != null)
+            failedKeyVector.addAll(failedKeys);
+    }
+
+
+    /**
+     * Returns the keys that failed the validation.
+     * <p/>
+     * The Enumeration of failed keys may contain all failed keys, only the
+     * first key that failed validation, or an empty
+     * <code>Enumeration</code> if no failed keys are available.
+     *
+     * @return the keys that failed validation, or an empty
+     *         <code>Enumeration</code> if no failed keys are available.
+     */
+
+    public Enumeration getFailedKeys() {
+        return Collections.enumeration(failedKeyVector);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowState.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowState.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowState.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,114 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+
+/**
+ * The <CODE>WindowState</CODE> class represents
+ * the possible window states that a portlet window can assume.
+ * <P>
+ * This class defines a standard set of the most basic portlet window states.
+ * Additional window states may be defined by calling the constructor of
+ * this class. If a portal/portlet-container does not support a
+ * custom window state defined in the portlet application deployment descriptor,
+ * the custom window state will be ignored by the portal/portlet container.
+ */
+
+public class WindowState {
+
+    /**
+     * The <code>NORMAL</code> window state indicates that a portlet
+     * may be sharing the page with other portlets. It may also
+     * indicate that the target device has limited display capabilities.
+     * Therefore, a portlet should restrict the size of its rendered
+     * output in this window state.
+     * <p/>
+     * The string value for this state is <code>"normal"</code>.
+     */
+    public final static WindowState NORMAL = new WindowState("normal");
+
+    /**
+     * The <code>MAXIMIZED</code> window state is an indication
+     * that a portlet may be the only portlet being rendered in the
+     * portal page, or that the portlet has more space compared to other portlets
+     * in the portal page. A portlet may generate richer content
+     * when its window state is <code>MAXIMIZED</code>.
+     * <p/>
+     * The string value for this state is <code>"maximized"</code>.
+     */
+    public final static WindowState MAXIMIZED = new WindowState("maximized");
+
+    /**
+     * When a portlet is in <code>MINIMIZED</code> window state,
+     * the portlet should only render minimal output or no output at all.
+     * <p/>
+     * The string value for this state is <code>"minimized"</code>.
+     */
+    public final static WindowState MINIMIZED = new WindowState("minimized");
+
+
+    private String _name;
+
+
+    /**
+     * Creates a new window state with the given name.
+     * <p/>
+     * Upper case letters in the name are converted to
+     * lower case letters.
+     *
+     * @param name The name of the portlet mode
+     */
+    public WindowState(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException("WindowState name can not be NULL");
+        }
+        _name = name.toLowerCase();
+    }
+
+    /**
+     * Returns a String representation of this window state.
+     * Window state names are always lower case names.
+     *
+     * @return String representation of this window state.
+     */
+
+    public String toString() {
+        return _name;
+    }
+
+
+    /**
+     * Returns the hash code value for this window state.
+     * The hash code is constructed by producing the
+     * hash value of the String value of this window state.
+     *
+     * @return hash code value for this window state
+     */
+
+    public int hashCode() {
+        return _name.hashCode();
+    }
+
+
+    /**
+     * Compares the specified object with this window state
+     * for equality. Returns <code>true</code> if the
+     * Strings <code>equals</code> method for the String
+     * representing the two window states returns <code>true</code>.
+     *
+     * @param object window state to compare this window state with.
+     * @return true, if the specified object is equal with this window state.
+     */
+
+    public boolean equals(Object object) {
+        if (object instanceof WindowState)
+            return _name.equals(((WindowState) object)._name);
+        else
+            return false;
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowStateException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowStateException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/WindowStateException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+/**
+ * Copyright 2003 IBM Corporation and Sun Microsystems, Inc.
+ * All rights reserved.
+ * Use is subject to license terms.
+ */
+
+package javax.portlet;
+
+/**
+ * * The <CODE>WindowStateException</CODE> is thrown when a portlet
+ * * tries to use a window state that is not supported by the current
+ * * runtime environment or the portlet.
+ */
+
+public class WindowStateException extends PortletException {
+
+    private transient WindowState _state = null;
+
+    /**
+     * Constructs a new portlet state exception with the given text. The
+     * portlet container may use the text write it to a log.
+     *
+     * @param text  the exception text
+     * @param state the state causing the exception
+     */
+
+    public WindowStateException(String text, WindowState state) {
+        super(text);
+        _state = state;
+    }
+
+    /**
+     * Constructs a new portlet state exception when the portlet needs to do
+     * the following:
+     * <ul>
+     * <il>throw an exception
+     * <li>include a message about the "root cause" that interfered
+     * with its normal operation
+     * <li>include a description message
+     * </ul>
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     * @param state the state causing the exception
+     */
+
+    public WindowStateException(String text, Throwable cause, WindowState state) {
+        super(text, cause);
+        _state = state;
+    }
+
+    /**
+     * Constructs a new portlet state exception when the portlet needs to throw an
+     * exception. The exception message is based on the localized message
+     * of the underlying exception.
+     *
+     * @param cause the root cause
+     * @param state the state causing the exception
+     */
+
+    public WindowStateException(Throwable cause, WindowState state) {
+        super(cause);
+        _state = state;
+    }
+
+    /**
+     * Returns the portlet state causing this exception.
+     *
+     * @return the window state causing this exception
+     */
+
+    public WindowState getState() {
+        return _state;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/license.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/license.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/license.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+Copyright © 2003 Sun Microsystems, Inc. and IBM Corporation. All rights 
+reserved.U.S. Government Rights - Commercial software.  Government 
+users are subject to the Sun Microsystems, Inc. standard license 
+agreement and applicable provisions of the FAR and its supplements.  
+Sun,  Sun Microsystems,  the Sun logo,  Java and  Jini are trademarks 
+or registered trademarks of Sun Microsystems, Inc. in the U.S. and 
+other countries.Products covered by and information contained in this 
+service manual are controlled by U.S. Export Control laws and may be 
+subject to the export or import laws in other countries.  Nuclear, 
+missile, chemical biological weapons or nuclear maritime end uses or 
+end users, whether direct or indirect, are strictly prohibited.  Export 
+or reexport to countries subject to U.S. embargo or to entities 
+identified on U.S. export exclusion lists, including, but not limited 
+to, the denied persons and specially designated nationals lists is 
+strictly prohibited.DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS 
+OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY 
+IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
+OR NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH 
+DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+
+
+Copyright © 2003 Sun Microsystems, Inc. et IBM Corporation. Tous droits 
+réservés.Sun,  Sun Microsystems,  le logo Sun,  Java et  Jini sont des 
+marques de fabrique ou des marques déposées de Sun Microsystems, Inc. 
+aux Etats-Unis et dans d'autres pays.
+Les produits qui font l'objet de ce manuel d'entretien et les 
+informations qu'il contient sont regis par la legislation americaine en 
+matiere de controle des exportations et peuvent etre soumis au droit 
+d'autres pays dans le domaine des exportations et importations. Les 
+utilisations finales, ou utilisateurs finaux, pour des armes 
+nucleaires, des missiles, des armes biologiques et chimiques ou du 
+nucleaire maritime, directement ou indirectement, sont strictement 
+interdites. Les exportations ou reexportations vers des pays sous 
+embargo des Etats-Unis, ou vers des entites figurant sur les listes 
+d'exclusion d'exportation americaines, y compris, mais de maniere non 
+exclusive, la liste de personnes qui font objet d'un ordre de ne pas 
+participer, d'une facon directe ou indirecte, aux exportations des 
+produits ou des services qui sont regi par la legislation americaine en 
+matiere de controle des exportations et la liste de ressortissants 
+specifiquement designes, sont rigoureusement interdites.LA 
+DOCUMENTATION EST FOURNIE "EN L'ETAT" ET TOUTES AUTRES CONDITIONS, 
+DECLARATIONS ET GARANTIES EXPRESSES OU TACITES SONT FORMELLEMENT 
+EXCLUES, DANS LA MESURE AUTORISEE PAR LA LOI APPLICABLE, Y COMPRIS 
+NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE A LA QUALITE MARCHANDE, A 
+L'APTITUDE A UNE UTILISATION PARTICULIERE OU A L'ABSENCE DE CONTREFACON.
+

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<HTML>
+<HEAD>
+	<TITLE>Portlet API Package description</TITLE>
+</HEAD>
+<BODY>
+The javax.portlet package defines the API for portlets.
+<p>
+A portlet is a Java technology based web component, managed by a portlet container,
+that processes requests and generates dynamic content. Portlets provide a presentation
+layer to Information Systems.
+<p>
+Portlets generate fragments of markup (e.g. HTML, XHTML, WML). A portal combines markup
+fragments generated by different portlets into a portal page.
+<p>
+A portlet container manages the lifecyle of portlets. It also provides the required runtime environment.
+<p>
+Portlets are bundled in Portlet Applications as web applications using the WAR file format.
+A portlet application consists of two deployment descriptors: one to specify
+the web application resources (web.xml) and one to specify the portlet resources
+(portlet.xml).
+<p>
+Click
+<a href="portlet.xml.txt" target="portlet">here</a>
+for an example of a portlet resources deployment descriptor (portlet.xml).
+</BODY>
+</HTML>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/javax/portlet/portlet.xml.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/src/javax/portlet/portlet.xml.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/javax/portlet/portlet.xml.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+  <portlet>
+    <description xml:lang="EN">Portlet displaying the time in different time zones</description>
+    <description xml:lang="DE">Dieses Portlet zeigt die Zeit in verschiedenen Zeitzonen an. </description>
+    <portlet-name>TimeZoneClock</portlet-name>
+    <display-name xml:lang="EN">Time Zone Clock Portlet</display-name>
+    <display-name xml:lang="DE">ZeitzonenPortlet</display-name>
+    <portlet-class>com.myco.samplets.util.zoneclock.ZoneClock</portlet-class>
+    <expiration-cache>-1</expiration-cache>
+    <supports>
+      <mime-type>text/html</mime-type>
+      <portlet-mode>config</portlet-mode>
+      <portlet-mode>edit</portlet-mode>
+      <portlet-mode>help</portlet-mode>
+    </supports>
+    <supports>
+      <mime-type>text/wml</mime-type>
+      <portlet-mode>edit</portlet-mode>
+      <portlet-mode>help</portlet-mode>
+    </supports>
+    <supported-locale>EN</supported-locale>
+    <portlet-info>
+      <title>Time Zone Clock</title>
+      <short-title>TimeZone</short-title>
+      <keywords>Time, Zone, World, Clock</keywords>
+    </portlet-info>
+    <portlet-preferences>
+      <preference>
+        <name>time-server</name>
+        <value>http://timeserver.myco.com</value>
+        <read-only>true</read-only>
+      </preference>
+      <preference>
+        <name>port</name>
+        <value>404</value>
+        <read-only>true</read-only>
+     </preference>
+     <preference>
+       <name>time-format</name>
+       <value>HH</value>
+       <value>mm</value>
+       <value>ss</value>
+     </preference>
+   </portlet-preferences>
+   <security-role-ref>
+     <role-name>trustedUser</role-name>
+     <role-link>auth-user</role-link>
+   </security-role-ref>
+  </portlet>
+  <custom-portlet-mode>
+    <description xml:lang="EN">Pre-defined custom portlet mode CONFIG</description>
+    <portlet-mode>CONFIG</portlet-mode>
+  </custom-portlet-mode>
+  <custom-window-state>
+    <description xml:lang="EN">Occupies 50% of the portal page</description>
+    <window-state>half-page</window-state>
+  </custom-window-state>
+  <user-attribute>
+    <description xml:lang="EN">Pre-defined attribute for the telephone number of the user at work.</description>
+    <name>workInfo/telephone</name>
+  </user-attribute>
+  <security-constraint>
+    <portlet-collection>
+      <portlet-name>TimeZoneClock</portlet-name>
+    </portlet-collection>
+    <user-data-constraint>
+      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+    </user-data-constraint>
+  </security-constraint>
+</portlet-app>

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BaseComponentLifecycle.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BaseComponentLifecycle.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BaseComponentLifecycle.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseComponentLifecycle.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.util.List;
+
+/**
+ * The <code>BaseComponentLifecycle</code> provides an abstract implemetation of the
+ * <code>ComponentLifecycle</code> lifecyle methods and is subclassed by the
+ * {@link BasePortletComponent}.
+ */
+public abstract class BaseComponentLifecycle implements ComponentLifecycle {
+
+    protected int COMPONENT_ID = 0;
+    protected String componentIDStr = "0";
+
+    protected BaseComponentLifecycle() {
+    }
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        this.COMPONENT_ID = list.size();
+        componentIDStr = String.valueOf(COMPONENT_ID);
+        return list;
+    }
+
+    /**
+     * Destroys this portlet component
+     */
+    public void destroy() {
+    }
+
+    /**
+     * Returns the associated portlet component id
+     *
+     * @return the portlet component id
+     */
+    public int getComponentID() {
+        return COMPONENT_ID;
+    }
+
+    /**
+     * Sets the associated portlet component id
+     *
+     * @param compId the portlet component id
+     */
+    public void setComponentID(int compId) {
+        this.COMPONENT_ID = compId;
+    }
+
+    /**
+     * Performs an action on this portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        PortletRequest req = event.getActionRequest();
+        req.setAttribute(SportletProperties.COMPONENT_ID, componentIDStr);
+    }
+
+    /**
+     * Renders the portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public abstract void doRender(GridSphereEvent event);
+
+    public Object clone() throws CloneNotSupportedException {
+        BaseComponentLifecycle b = (BaseComponentLifecycle) super.clone();
+        b.COMPONENT_ID = this.COMPONENT_ID;
+        b.componentIDStr = this.componentIDStr;
+        return b;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BasePortletComponent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BasePortletComponent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/BasePortletComponent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,254 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BasePortletComponent.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import java.io.Serializable;
+import java.net.URL;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.Vector;
+
+/**
+ * <code>BasePortletComponent</code> represents an abstract portlet component with a particular
+ * size, layout and theme and is subclasses by concrete portlet component instances.
+ */
+public abstract class BasePortletComponent extends BaseComponentLifecycle implements PortletComponent, Serializable {
+
+    protected URL LAYOUT_MAPPING_PATH = this.getClass().getResource("/org/gridsphere/layout/layout-mapping.xml");
+
+    protected PortletComponent parent = null;
+    protected String defaultWidth = "";
+    protected String width = "";
+    protected String label = "";
+    protected String style = "";
+
+    protected boolean isVisible = true;
+    protected String requiredRoleName = "";
+
+    protected List<PortletComponent> listeners = null;
+
+    protected boolean canModify = false;
+
+    protected Log log = LogFactory.getLog(PortletPageFactory.class);
+
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        listeners = new Vector<PortletComponent>();
+        defaultWidth = width;
+
+        if ((label == null) || label.equals("")) {
+            return super.init(req, list);
+        } else {
+            this.COMPONENT_ID = list.size();
+            componentIDStr = label;
+            return list;
+        }
+    }
+
+    /**
+     * Returns the portlet component label
+     *
+     * @return the portlet component label
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the portlet component label
+     *
+     * @param label the portlet component label
+     */
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    /**
+     * Allows a required role to be associated with viewing this portlet
+     *
+     * @param roleString the required portlet role expressed as a <code>String</code>
+     */
+    public void setRequiredRole(String roleString) {
+        this.requiredRoleName = roleString;
+    }
+
+    /**
+     * Allows a required role to be associated with viewing this portlet
+     *
+     * @return the required portlet role expressed as a <code>String</code>
+     */
+    public String getRequiredRole() {
+        return requiredRoleName;
+    }
+
+    /**
+     * Sets the portlet component width
+     *
+     * @param width the portlet component width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the portlet component width
+     *
+     * @return the portlet component width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    public void setCanModify(boolean canModify) {
+        this.canModify = canModify;
+    }
+
+    public boolean getCanModify() {
+        return canModify;
+    }
+
+
+    /**
+     * Returns the portlet component css.
+     *
+     * @return portlet component css
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the portlet component css
+     *
+     * @param style style to be set
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the default portlet component width
+     *
+     * @return the default portlet component width
+     */
+    public String getDefaultWidth() {
+        return defaultWidth;
+    }
+
+    /**
+     * When set to true the portlet component is visible and will be rendered
+     *
+     * @param isVisible if <code>true</code> portlet component is rendered,
+     *                  <code>false</code> otherwise
+     */
+    public void setVisible(boolean isVisible) {
+        this.isVisible = isVisible;
+    }
+
+    /**
+     * Return true if the portlet component visibility is true
+     *
+     * @return the portlet component visibility
+     */
+    public boolean getVisible() {
+        return isVisible;
+    }
+
+    public PortletComponent getParentComponent() {
+        return parent;
+    }
+
+    public void setParentComponent(PortletComponent parent) {
+        this.parent = parent;
+    }
+
+    public void remove(PortletComponent pc) {
+        if (parent != null) parent.remove(this);
+    }
+
+    public void remove() {
+        if (parent != null) parent.remove();
+    }
+
+    /**
+     * Performs an action on this portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        super.actionPerformed(event);
+    }
+
+    /**
+     * Renders the portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        PortletRequest req = event.getRenderRequest();
+        req.setAttribute(SportletProperties.COMPONENT_ID, componentIDStr);
+        req.setAttribute(SportletProperties.COMPONENT_ID_NUM, String.valueOf(COMPONENT_ID));
+    }
+
+    public void setBufferedOutput(PortletRequest req, StringBuffer sb) {
+        req.setAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID, sb);
+    }
+
+    public StringBuffer getBufferedOutput(PortletRequest req) {
+        StringBuffer sb = (StringBuffer) req.getAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID);
+        req.removeAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID);
+        return ((sb != null) ? sb : new StringBuffer());
+    }
+
+    public void addComponentListener(PortletComponent component) {
+        listeners.add(component);
+    }
+
+    public String getLocalizedText(PortletRequest req, String key) {
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        return bundle.getString(key);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        BasePortletComponent b = (BasePortletComponent) super.clone();
+        b.width = this.width;
+        b.isVisible = this.isVisible;
+        b.label = this.label;
+        b.requiredRoleName = this.requiredRoleName;
+        b.defaultWidth = defaultWidth;
+        b.canModify = canModify;
+        return b;
+    }
+
+    protected Object getRenderClass(PortletRequest req, String renderClassName) {
+        Object render = null;
+        String renderKit = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_RENDERKIT, PortletSession.APPLICATION_SCOPE);
+        try {
+            render = Class.forName("org.gridsphere.layout.view." + renderKit + "." + renderClassName).newInstance();
+        } catch (Exception e) {
+            log.error("Problems using files for renderkit: '" + renderKit + "' renderclass: " + renderClassName, e);
+        }
+        return render;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentIdentifier.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentIdentifier.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentIdentifier.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,145 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ComponentIdentifier.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import java.io.Serializable;
+
+/**
+ * A <code>ComponentIdentifier</code> contains meta information about a {@link PortletComponent}
+ */
+public class ComponentIdentifier implements Serializable, Cloneable {
+
+    private int id = -1;
+    private String label = "";
+    private String className = null;
+    private String portletClass = null;
+    private PortletComponent component = null;
+
+    /**
+     * Constructs an instance of ComponentIdentifier
+     */
+    public ComponentIdentifier() {
+    }
+
+    /**
+     * Sets the portlet component id
+     *
+     * @param id the portlet component id
+     */
+    public void setComponentID(int id) {
+        this.id = id;
+    }
+
+    /**
+     * Returns the portlet component id
+     *
+     * @return the portlet component id
+     */
+    public int getComponentID() {
+        return id;
+    }
+
+    /**
+     * Returns the component label of this component or null if none exists
+     *
+     * @return the component label of this component or null if none exists
+     */
+    public String getComponentLabel() {
+        return label;
+    }
+
+    /**
+     * Sets the component label of this component or null if none exists
+     *
+     * @param label the component label of this component or null if none exists
+     */
+    public void setComponentLabel(String label) {
+        this.label = label;
+    }
+
+    /**
+     * Returns the concrete portlet component class name
+     *
+     * @return the concrete portlet component class name
+     */
+    public String getClassName() {
+        return className;
+    }
+
+    /**
+     * Sets the concrete portlet component class name
+     *
+     * @param className the concrete portlet component class name
+     */
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    /**
+     * If this component encaspulates a portlet class  such as PortletFrame
+     * than return true
+     *
+     * @return <code>true</code> if this component encaspulates a portlet class,
+     *         <code>false</code> otherwise
+     */
+    public boolean hasPortlet() {
+        return (portletClass != null);
+    }
+
+    /**
+     * Returns the portlet class contained by this component or null if none exists
+     *
+     * @return the portlet class contained by this component or null if none exists
+     */
+    public String getPortletClass() {
+        return portletClass;
+    }
+
+    /**
+     * Sets the portlet class contained by this component
+     *
+     * @param portletClass the portlet class contained by this component
+     */
+    public void setPortletClass(String portletClass) {
+        this.portletClass = portletClass;
+    }
+
+    /**
+     * Sets the portlet component
+     *
+     * @param component the portlet component
+     */
+    public void setPortletComponent(PortletComponent component) {
+        this.component = component;
+    }
+
+    /**
+     * Returns the portlet component
+     *
+     * @return the portlet component
+     */
+    public PortletComponent getPortletComponent() {
+        return component;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        ComponentIdentifier c = (ComponentIdentifier) super.clone();
+        c.component = (this.component == null) ? null : (PortletComponent) this.component.clone();
+        c.className = (this.className == null) ? null : this.className;
+        c.id = this.id;
+        c.label = (this.label.equals(label)) ? null : this.label;
+        c.portletClass = (this.portletClass == null) ? null : this.portletClass;
+        return c;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\nid=").append(id);
+        sb.append("\nlabel=").append(label);
+        sb.append("\ntype=").append(className);
+        return sb.toString();
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentLifecycle.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentLifecycle.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/ComponentLifecycle.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ComponentLifecycle.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.util.List;
+
+/**
+ * The <code>ComponentLifecycle</code> represents the lifecycle methods required by any
+ * PortletComponent.
+ */
+public interface ComponentLifecycle extends Cloneable {
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param req  the portlet request
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list);
+
+    /**
+     * Performs an action on this portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event);
+
+    /**
+     * Renders the portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event);
+
+    public Object clone() throws CloneNotSupportedException;
+
+    /**
+     * Destroys this portlet component
+     */
+    public void destroy();
+
+    /**
+     * Returns the associated portlet component id
+     *
+     * @return the portlet component id
+     */
+    public int getComponentID();
+
+    /**
+     * Sets the associated portlet component id
+     *
+     * @param compId the portlet component id
+     */
+    public void setComponentID(int compId);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletBar.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletBar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletBar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+package org.gridsphere.layout;
+
+
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * A <code>PortletTab</code> represents the visual tab graphical interface and is contained
+ * by a {@link org.gridsphere.layout.PortletTabbedPane}. A tab contains a title and any additional
+ * portlet component, such as another tabbed pane if a double level
+ * tabbed pane is desired.
+ */
+public class PortletBar extends BasePortletComponent implements Serializable, Cloneable {
+
+    private transient Render barView = null;
+    protected PortletComponent component = null;
+
+    //protected StringBuffer tab = new StringBuffer();
+    /**
+     * Constructs an instance of PortletTab
+     */
+    public PortletBar() {
+    }
+
+    public void setPortletComponent(PortletComponent component) {
+        this.component = component;
+    }
+
+    public PortletComponent getPortletComponent() {
+        return component;
+    }
+
+    /**
+     * Initializes the portlet tab. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see org.gridsphere.layout.ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        barView = (Render) getRenderClass(req, "Bar");
+        list = super.init(req, list);
+
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+
+        list = component.init(req, list);
+        component.addComponentListener(this);
+        component.setParentComponent(this);
+
+        return list;
+    }
+
+    /**
+     * Renders the portlet tab component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        PortletRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        StringBuffer bar = new StringBuffer();
+
+
+        bar.append(barView.doStart(event, this));
+
+        if (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null) {
+            PortletURL url = res.createActionURL();
+            //url.setParameter("eatme", "yeah");
+            bar.append("<a style=\"text-decoration: underline;\" href=\"" + url.toString() + "\">Edit column layout</a>");
+        }
+        bar.append(barView.doEndBorder(event, this));
+
+
+        component.doRender(event);
+        bar.append(component.getBufferedOutput(req));
+
+        bar.append(barView.doEnd(event, this));
+
+        setBufferedOutput(req, bar);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletBar b = (PortletBar) super.clone();
+        b.component = (PortletComponent) this.component.clone();
+        return b;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletColumnLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletColumnLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletColumnLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PortletColumnLayout.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * The <code>PortletColumnLayout</code> is a concrete implementation of the <code>PortletFrameLayout</code>
+ * that organizes portlets into a column.
+ */
+public class PortletColumnLayout extends PortletFrameLayout implements Cloneable, Serializable {
+
+    private transient Render colView = null;
+
+    public PortletColumnLayout() {
+    }
+
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        colView = (Render) getRenderClass(req, "ColumnLayout");
+        return list;
+    }
+
+    public void doRender(GridSphereEvent event) {
+        //System.err.println("\t\tin render ColumnLayout");
+        StringBuffer col = new StringBuffer();
+        // starting of the gridtable
+
+        if (!components.isEmpty()) {
+            col.append(colView.doStart(event, this));
+            PortletComponent p;
+            for (int i = 0; i < components.size(); i++) {
+                p = (PortletComponent) components.get(i);
+                col.append(colView.doStartBorder(event, this));
+                if (p.getVisible()) {
+                    p.doRender(event);
+                    col.append(p.getBufferedOutput(event.getRenderRequest()));
+                }
+                col.append(colView.doEndBorder(event, this));
+            }
+            col.append(colView.doEnd(event, this));
+        }
+        setBufferedOutput(event.getRenderRequest(), col);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        return (PortletColumnLayout) super.clone();
+    }
+
+}
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletComponent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletComponent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletComponent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletComponent.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import javax.portlet.PortletRequest;
+
+
+/**
+ * The <code>PortletComponent</code> defines the interfaces provided by a portlet component.
+ */
+public interface PortletComponent extends ComponentLifecycle {
+
+    /**
+     * Returns the portlet component label
+     *
+     * @return the portlet component label
+     */
+    public String getLabel();
+
+    /**
+     * Sets the portlet component label
+     *
+     * @param label the portlet component label
+     */
+    public void setLabel(String label);
+
+    /**
+     * Sets the portlet component width
+     *
+     * @param width the portlet component width
+     */
+    public void setWidth(String width);
+
+    /**
+     * Returns the portlet component width
+     *
+     * @return the portlet component width
+     */
+    public String getWidth();
+
+    /**
+     * Returns the default portlet component width
+     *
+     * @return the default portlet component width
+     */
+    public String getDefaultWidth();
+
+    /**
+     * When set to true the portlet component is visible and will be rendered
+     *
+     * @param isVisible if <code>true</code> portlet component is rendered,
+     *                  <code>false</code> otherwise
+     */
+    public void setVisible(boolean isVisible);
+
+    /**
+     * When isVisible is true the portlet component is visible and will be rendered
+     *
+     * @return the portlet component visibility
+     */
+    public boolean getVisible();
+
+    /**
+     * Allows a required role to be associated with viewing this portlet
+     *
+     * @return the required portlet role expresses as a <code>PortletRole</code>
+     */
+    public String getRequiredRole();
+
+    /**
+     * Allows a required role to be associated with viewing this portlet
+     *
+     * @param reqRole the required portlet role expresses as a <code>PortletRole</code>
+     */
+    public void setRequiredRole(String reqRole);
+
+    public void setCanModify(boolean canModify);
+
+    public boolean getCanModify();
+
+    public void addComponentListener(PortletComponent component);
+
+    public PortletComponent getParentComponent();
+
+    public void setParentComponent(PortletComponent parent);
+
+    public void remove(PortletComponent pc);
+
+    public void remove();
+
+    public void setBufferedOutput(PortletRequest req, StringBuffer sb);
+
+    public StringBuffer getBufferedOutput(PortletRequest req);
+
+    /**
+     * Returns the portlet component css.
+     *
+     * @return portlet component css
+     */
+    public String getStyle();
+
+    /**
+     * Sets the portlet component css
+     *
+     * @param style style to be set
+     */
+    public void setStyle(String style);
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContainer.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContainer.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContainer.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:wehren at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PortletContainer.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+
+/**
+ * The <code>PortletContainer</code> acts a container for a list of one or more portlet components
+ */
+public class PortletContainer extends BasePortletComponent implements
+        Serializable, Cloneable {
+
+    protected List<PortletComponent> components = new ArrayList<PortletComponent>();
+    protected String style = null;
+    public final static String STYLE_HEADER = "STYLE_HEADER";
+    public final static String STYLE_FOOTER = "STYLE_FOOTER";
+    private transient Render containerView = null;
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+
+        list = super.init(req, list);
+
+        containerView = (Render) getRenderClass(req, "Container");
+
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+
+        Iterator it = components.iterator();
+        PortletComponent p;
+        while (it.hasNext()) {
+            p = (PortletComponent) it.next();
+            // invoke init on each component
+            list = p.init(req, list);
+            p.setParentComponent(this);
+        }
+        return list;
+    }
+
+    /**
+     * Destroys this portlet component
+     */
+    public void destroy() {
+        components = null;
+    }
+
+    /**
+     * Performs an action on this portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        super.actionPerformed(event);
+    }
+
+    /**
+     * Renders the portlet components in the frame layout
+     *
+     * @param event a gridsphere event
+     */
+
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        StringBuffer container = new StringBuffer();
+        container.append(containerView.doStartBorder(event, this));
+        PortletRequest req = event.getRenderRequest();
+
+        Iterator it = components.iterator();
+        PortletComponent comp;
+        while (it.hasNext()) {
+            comp = (PortletComponent) it.next();
+            comp.doRender(event);
+            container.append(comp.getBufferedOutput(req));
+        }
+
+        container.append(containerView.doEndBorder(event, this));
+
+        setBufferedOutput(req, container);
+    }
+
+    public String getStyle() {
+        return style;
+    }
+
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Adds a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void addPortletComponent(PortletComponent component) {
+        components.add(component);
+    }
+
+    /**
+     * Removes a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void removePortletComponent(PortletComponent component) {
+        components.remove(component);
+    }
+
+    /**
+     * Sets the list of new portlet component to the layout
+     *
+     * @param components an ArrayList of portlet components
+     */
+    public void setPortletComponents(ArrayList<PortletComponent> components) {
+        this.components = components;
+    }
+
+    /**
+     * Returns a list containing the portlet components in this layout
+     *
+     * @return a list of portlet components
+     */
+    public List getPortletComponents() {
+        return components;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletContainer f = (PortletContainer) super.clone();
+        f.components = new ArrayList<PortletComponent>(components.size());
+        for (int i = 0; i < components.size(); i++) {
+            PortletComponent comp = (PortletComponent) components.get(i);
+            f.components.add((PortletComponent)comp.clone());
+        }
+        return f;
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletContent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,218 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletContent.java 4993 2006-08-04 10:10:43Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.portlet.impl.PortletContextImpl;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.services.core.jcr.JCRService;
+
+import javax.jcr.Session;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.util.List;
+
+/**
+ * <code>PortletContent</code> is used to display the contents of an included
+ * text file located in the ui application.
+ */
+public class PortletContent extends BasePortletComponent implements Serializable, Cloneable {
+
+    private String textFile = null;
+    private String context = null;
+    private boolean border = true;
+
+    public static final String DELETE_CONTENT = "deleteContent";
+
+    /**
+     * Constructs an instance of PortletContent
+     */
+    public PortletContent() {
+    }
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+        return list;
+    }
+
+    /**
+     * Sets the text file to be included specified as a path relative to the
+     * webapp root directory e.g. /html/newtext.txt
+     *
+     * @param textFile the relative path to load a text file
+     */
+    public void setInclude(String textFile) {
+        this.textFile = textFile;
+    }
+
+    /**
+     * Returns the text file path of the included file
+     *
+     * @return the relative path of the text file
+     */
+    public String getInclude() {
+        return textFile;
+    }
+
+    /**
+     * Returns the web application context if not specified assumes included file is located in gridsphere context
+     *
+     * @return the web application context
+     */
+    public String getContext() {
+        return context;
+    }
+
+
+    /**
+     * Returns if the included content is in the border and should have no gridsphere-content div around it
+     *
+     * @return if content is in the border
+     */
+    public boolean isBorder() {
+        return border;
+    }
+
+    /**
+     * Set if the included content is in the border and should have no gridsphere-content div around it
+     *
+     * @param border if border or not
+     */
+    public void setBorder(boolean border) {
+        this.border = border;
+    }
+
+    /**
+     * Sets the web application context if not specified assumes included file is located in gridsphere context
+     *
+     * @param context the web application context
+     */
+    public void setContext(String context) {
+        this.context = context;
+    }
+
+    public String getFileName() {
+        return textFile.substring(textFile.lastIndexOf("/") + 1);
+    }
+
+    /**
+     * Renders the portlet text component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        PortletContextImpl ctext = (PortletContextImpl) event.getPortletContext();
+        ServletContext ctx = ctext.getServletContext();
+        PortletRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        StringWriter writer = new StringWriter();
+        StoredPortletResponseImpl sres = new StoredPortletResponseImpl((HttpServletRequest) req, (HttpServletResponse) res, writer);
+        StringBuffer content = new StringBuffer();
+        String textFileName = textFile.substring(textFile.lastIndexOf("/") + 1);
+        if (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null) {
+            PortletURLImpl portletURI = (PortletURLImpl) res.createRenderURL();
+            String editLink = portletURI.toString();
+            portletURI.setAction(DELETE_CONTENT);
+            String deleteLink = portletURI.toString();                                                                                               /*  getLocalizedText(req, "EDIT") */
+            content.append("<br><fieldset>");
+            content.append(textFileName);
+            content.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"");
+            content.append(editLink);
+            content.append("\">");
+            content.append("<img src=\"");
+            content.append(req.getContextPath());
+            content.append("/images/edit.gif\" alt=\"").append(getLocalizedText(req, "EDIT")).append("\"/>");
+            content.append("</a>&nbsp;&nbsp;&nbsp;<a href=\"");
+            content.append(deleteLink);
+            content.append("\">");
+            content.append("<img src=\"");
+            content.append(req.getContextPath());
+            content.append("/images/delete.gif\" alt=\"").append(getLocalizedText(req, "DELETE")).append("\"/>");
+            content.append("</a></fieldset>");
+            setBufferedOutput(req, content);
+            return;
+        }
+        if (context != null) {
+            if (!context.startsWith("/")) {
+                context = "/" + context;
+            }
+            ctx = ctx.getContext(context);
+        }
+        if (textFile != null) {
+            RequestDispatcher rd = null;
+            Session session = null;
+            try {
+                // put a URL in an iframe
+                if (textFile.startsWith("http://")) {
+                    writer.write("<iframe border=\"0\" width=\"100%\" height=\"100%\" src=\"" + textFile + "\"></iframe>");
+                } else if (textFile.startsWith("jcr://")) {
+                    JCRService jcrService = (JCRService) PortletServiceFactory.createPortletService(JCRService.class, true);
+                    if (!border) {
+                        writer.write(jcrService.getContent(textFile.substring(6, textFile.length())));
+                    } else {
+                        writer.write("<div class=\"gridsphere-content\">" + jcrService.getContent(textFile.substring(6, textFile.length())) + "</div>");
+                    }
+                } else {
+                    // do a normal dispatch
+                    rd = ctx.getRequestDispatcher(textFile);
+                    if (rd != null) {
+                        rd.include(event.getHttpServletRequest(), sres);
+                    } else {
+                        throw new PortletException("Unable to include resource: RequestDispatcher is null");
+                    }
+                }
+                content = writer.getBuffer();
+            } catch (Exception e) {
+                log.error("Unable to include : " + textFile, e);
+                content.append("Unable to include : ").append(textFile);
+            } finally {
+                if (session != null) session.logout();
+            }
+            setBufferedOutput(req, content);
+        }
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletContent t = (PortletContent) super.clone();
+        t.textFile = this.textFile;
+        t.context = this.context;
+        return t;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        sb.append("\ntext file=").append(textFile);
+        return sb.toString();
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrame.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrame.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrame.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,719 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletFrame.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletComponentEvent;
+import org.gridsphere.layout.event.PortletFrameEvent;
+import org.gridsphere.layout.event.PortletFrameListener;
+import org.gridsphere.layout.event.PortletTitleBarEvent;
+import org.gridsphere.layout.event.impl.PortletFrameEventImpl;
+import org.gridsphere.layout.view.FrameView;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.PortletInvoker;
+import org.gridsphere.services.core.cache.CacheService;
+import org.gridsphere.services.core.mail.MailMessage;
+import org.gridsphere.services.core.mail.MailService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.security.Principal;
+import java.text.DateFormat;
+import java.util.*;
+
+/**
+ * <code>PortletFrame</code> provides the visual representation of a portlet. A portlet frame
+ * contains a portlet title bar unless visible is set to false.
+ */
+public class PortletFrame extends BasePortletComponent implements Serializable, Cloneable {
+
+    public static final String FRAME_CLOSE_OK_ACTION = "close";
+
+    public static final String FRAME_CLOSE_CANCEL_ACTION = "cancelClose";
+
+    public static final String DELETE_PORTLET = "deletePortlet";
+
+    private transient CacheService cacheService = null;
+
+    private transient PortalConfigService portalConfigService = null;
+    private transient PortletRegistryService portletRegistryService = null;
+
+    private transient PortletInvoker portletInvoker = null;
+
+    // renderPortlet is true in doView and false on minimized
+    private boolean renderPortlet = true;
+    private String portletClass = null;
+
+    private PortletTitleBar titleBar = null;
+
+    private boolean transparent = false;
+    private String innerPadding = "";   // has to be empty and not 0!
+    private String outerPadding = "";   // has to be empty and not 0!
+
+    private long cacheExpiration = 0;
+
+    // keep track of the original width
+    private String originalWidth = "";
+
+    // switch to determine if the user wishes to close this portlet
+    private boolean isClosing = false;
+
+    // render params are the persistent per portlet parameters stored as key names and string[] values
+    private Map renderParams = new HashMap();
+    private boolean onlyRender = true;
+
+    private transient FrameView frameView = null;
+
+    private String lastFrame = "";
+
+    private String portletName = "Untitled";
+
+    private String windowId = "unknown";
+
+    //private Supports[] supports = null;
+
+    /**
+     * Constructs an instance of PortletFrame
+     */
+    public PortletFrame() {
+    }
+
+    public String getPortletName() {
+        return portletName;
+    }
+
+    /**
+     * Sets the portlet title bar contained by this portlet frame
+     *
+     * @param titleBar the portlet title bar
+     */
+    public void setPortletTitleBar(PortletTitleBar titleBar) {
+        this.titleBar = titleBar;
+    }
+
+    /**
+     * Returns the portlet title bar contained by this portlet frame
+     *
+     * @return the portlet title bar
+     */
+    public PortletTitleBar getPortletTitleBar() {
+        return titleBar;
+    }
+
+    /**
+     * Sets the portlet class contained by this portlet frame
+     *
+     * @param portletClass the fully qualified portlet classname
+     */
+    public void setPortletClass(String portletClass) {
+        this.portletClass = portletClass;
+    }
+
+    /**
+     * Returns the portlet class contained by this portlet frame
+     *
+     * @return the fully qualified portlet classname
+     */
+    public String getPortletClass() {
+        return portletClass;
+    }
+
+    /**
+     * Sets the inner padding of the portlet frame
+     *
+     * @param innerPadding the inner padding
+     */
+    public void setInnerPadding(String innerPadding) {
+        this.innerPadding = innerPadding;
+    }
+
+    /**
+     * Returns the inner padding of the portlet frame
+     *
+     * @return the inner padding
+     */
+    public String getInnerPadding() {
+        return innerPadding;
+    }
+
+    /**
+     * Sets the outer padding of the portlet frame
+     *
+     * @param outerPadding the outer padding
+     */
+    public void setOuterPadding(String outerPadding) {
+        this.outerPadding = outerPadding;
+    }
+
+    /**
+     * Returns the outer padding of the portlet frame
+     *
+     * @return the outer padding
+     */
+    public String getOuterPadding() {
+        return outerPadding;
+    }
+
+    /**
+     * If set to <code>true</code> the portlet is rendered transparently without a
+     * defining border and title bar. This is used for example for the LogoutPortlet
+     *
+     * @param transparent if set to <code>true</code>, portlet frame is displayed transparently, <code>false</code> otherwise
+     */
+    public void setTransparent(boolean transparent) {
+        this.transparent = transparent;
+    }
+
+    /**
+     * If set to <code>true</code> the portlet is rendered transparently without a
+     * defining border and title bar. This is used for example for the LogoutPortlet
+     *
+     * @return <code>true</code> if the portlet frame is displayed transparently, <code>false</code> otherwise
+     */
+    public boolean getTransparent() {
+        return this.transparent;
+    }
+
+    /**
+     * Initializes the portlet frame component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a <code>List</code> of component identifiers
+     * @return a <code>List</code> of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        try {
+            cacheService = (CacheService) PortletServiceFactory.createPortletService(CacheService.class, true);
+            portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            portletRegistryService = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+        } catch (PortletServiceException e) {
+            log.error("Unable to init services! ", e);
+        }
+        list = super.init(req, list);
+
+        portletInvoker = new PortletInvoker();
+        frameView = (FrameView) getRenderClass(req, "Frame");
+
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+
+        compId.setPortletClass(portletClass);
+
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+        this.originalWidth = width;
+
+        titleBar = new PortletTitleBar();
+
+        // if title bar is not assigned a label and we have one then use it
+        if ((!label.equals("")) && (titleBar.getLabel().equals(""))) titleBar.setLabel(label + "TB");
+        titleBar.setPortletClass(portletClass);
+
+        titleBar.setCanModify(canModify);
+
+        list = titleBar.init(req, list);
+        titleBar.addComponentListener(this);
+        titleBar.setParentComponent(this);
+
+        // invalidate cache
+        req.setAttribute(CacheService.NO_CACHE, "true");
+
+        if (windowId == null) windowId = componentIDStr;
+        String appID = portletRegistryService.getApplicationPortletID(portletClass);
+        ApplicationPortlet appPortlet = portletRegistryService.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            //supports = appPortlet.getSupports();
+            portletName = appPortlet.getPortletName();
+            cacheExpiration = appPortlet.getCacheExpires();
+        }
+        return list;
+    }
+
+    /**
+     * Fires a frame event notification
+     *
+     * @param event a portlet frame event
+     */
+    protected void fireFrameEvent(PortletFrameEvent event) {
+        Iterator it = listeners.iterator();
+        PortletFrameListener l;
+        while (it.hasNext()) {
+            l = (PortletFrameListener) it.next();
+            l.handleFrameEvent(event);
+        }
+    }
+
+    /**
+     * Performs an action on this portlet frame component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        super.actionPerformed(event);
+
+        HttpServletRequest request = event.getHttpServletRequest();
+        String id = request.getSession(true).getId();
+
+        // remove cached output
+        cacheService.removeCached(this.getComponentID() + portletClass + id);
+
+        PortletComponentEvent titleBarEvent = event.getLastRenderEvent();
+
+        if ((titleBarEvent != null) && (titleBarEvent instanceof PortletTitleBarEvent)) {
+
+            PortletTitleBarEvent tbEvt = (PortletTitleBarEvent) titleBarEvent;
+            if (tbEvt.hasWindowStateAction()) {
+                WindowState state = tbEvt.getState();
+
+                PortletFrameEventImpl frameEvent = null;
+                if (state.equals(WindowState.MINIMIZED)) {
+                    renderPortlet = false;
+                    frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_MINIMIZED, COMPONENT_ID);
+                } else if (state.equals(WindowState.NORMAL)) {
+                    renderPortlet = true;
+                    frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_RESTORED, COMPONENT_ID);
+                    frameEvent.setOriginalWidth(originalWidth);
+                } else if (state.equals(WindowState.MAXIMIZED)) {
+                    renderPortlet = true;
+                    frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_MAXIMIZED, COMPONENT_ID);
+                } else if (state.equals(new WindowState("CLOSE"))) {
+                    renderPortlet = true;
+                    isClosing = true;
+
+                    // check for portlet closing action
+                    if (event.hasAction()) {
+                        if (event.getAction().getName().equals(FRAME_CLOSE_OK_ACTION)) {
+                            isClosing = false;
+                            frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_CLOSED, COMPONENT_ID);
+                            request.setAttribute(SportletProperties.INIT_PAGE, "true");
+                        }
+                        if (event.getAction().getName().equals(FRAME_CLOSE_CANCEL_ACTION)) {
+                            isClosing = false;
+                        }
+                    }
+                }
+
+
+                Iterator it = listeners.iterator();
+                PortletComponent comp;
+                while (it.hasNext()) {
+                    comp = (PortletComponent) it.next();
+                    event.addNewRenderEvent(frameEvent);
+                    comp.actionPerformed(event);
+                }
+
+
+            }
+
+        } else {
+            // now perform actionPerformed on Portlet if it has an action
+            titleBar.actionPerformed(event);
+
+            request.setAttribute(SportletProperties.COMPONENT_ID, componentIDStr);
+
+            request.setAttribute(SportletProperties.PORTLET_WINDOW_ID, windowId);
+
+            ActionResponse res = event.getActionResponse();
+
+            request.setAttribute(SportletProperties.PORTLETID, portletClass);
+
+            // Override if user is a guest
+            Principal principal = event.getActionRequest().getUserPrincipal();
+            // String userName = "";
+            try {
+                if (principal == null) {
+                    res.setPortletMode(PortletMode.VIEW);
+                    //userName = "guest";
+                } else {
+                    PortletMode mode = titleBar.getPortletMode();
+                    res.setPortletMode(mode);
+                    // userName = principal.getName();
+                }
+            } catch (PortletModeException e) {
+                System.err.println("unsupported mode ");
+            }
+            titleBar.setPortletMode(event.getActionRequest().getPortletMode());
+
+            //System.err.println("in PortletFrame action invoked for " + portletClass);
+            if (event.hasAction()
+                    && (!event.getAction().getName().equals(FRAME_CLOSE_OK_ACTION))
+                    && (!event.getAction().getName().equals(FRAME_CLOSE_CANCEL_ACTION))) {
+                DefaultPortletAction action = event.getAction();
+
+                renderParams.clear();
+                onlyRender = false;
+                String pid = (String) request.getAttribute(SportletProperties.PORTLETID);
+
+                try {
+                    portletInvoker.actionPerformed(pid, action, event.getHttpServletRequest(), event.getHttpServletResponse());
+                    Throwable e = (Throwable) request.getAttribute(SportletProperties.PORTLETERROR + pid);
+                    if (e != null) {
+                        setError(event.getActionRequest(), e);
+                    }
+                } catch (Exception e) {
+                    log.error("An error occured performing action on: " + pid, e.getCause());
+                    this.setError(event.getActionRequest(), e.getCause());
+                    // catch it and keep processing
+                }
+
+                // see if mode has been set
+                PortletMode mymode = (PortletMode) request.getAttribute(SportletProperties.PORTLET_MODE);
+                //PortletMode mymode = new PortletMode(mymodeStr);
+                if (mymode != null) {
+                    //System.err.println("setting title mode to " + mymode);
+                    titleBar.setPortletMode(mymode);
+                }
+
+                // see if state has been set
+                PortletFrameEventImpl frameEvent = null;
+                WindowState mystate = (WindowState) request.getAttribute(SportletProperties.PORTLET_WINDOW);
+                if (mystate != null) {
+                    //System.err.println("setting title state to " + mystate);
+                    titleBar.setWindowState(mystate);
+
+                    if (mystate.equals(WindowState.MINIMIZED)) {
+                        renderPortlet = false;
+                    } else if (mystate.equals(WindowState.NORMAL)) {
+                        renderPortlet = true;
+                        frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_RESTORED, COMPONENT_ID);
+                        frameEvent.setOriginalWidth(originalWidth);
+                    } else if (mystate.equals(WindowState.MAXIMIZED)) {
+                        renderPortlet = true;
+                        frameEvent = new PortletFrameEventImpl(this, PortletFrameEvent.FrameAction.FRAME_MAXIMIZED, COMPONENT_ID);
+                    }
+
+                    for (PortletComponent comp : listeners) {
+                        event.addNewRenderEvent(frameEvent);
+                        comp.actionPerformed(event);
+                    }
+
+                }
+            }
+
+            // see if render params are set from actionResponse
+            Map tmpParams = (Map) request.getAttribute(SportletProperties.RENDER_PARAM_PREFIX + portletClass + "_" + componentIDStr);
+            if (tmpParams != null) renderParams = tmpParams;
+
+            addRenderParams(event.getHttpServletRequest());
+
+            for (PortletComponent comp : listeners) {
+                event.addNewRenderEvent(titleBarEvent);
+                comp.actionPerformed(event);
+            }
+        }
+    }
+
+    private void addRenderParams(HttpServletRequest req) {
+        // first get rid of existing render params
+        Iterator it;
+        if (onlyRender) {
+            it = renderParams.keySet().iterator();
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                if (key.startsWith(SportletProperties.RENDER_PARAM_PREFIX)) {
+                    if (req.getParameter(key) == null) {
+                        //System.err.println("removing existing render param " + key);
+                        it.remove();
+                    }
+                }
+            }
+        }
+        Map tmpParams = req.getParameterMap();
+        if (tmpParams != null) {
+            it = tmpParams.keySet().iterator();
+            while (it.hasNext()) {
+                String key = (String) it.next();
+                ///String[] paramValues = req.getParameterValues( key );
+                if (key.startsWith(SportletProperties.RENDER_PARAM_PREFIX)) {
+                    //System.err.println("replacing render param " + key);
+                    renderParams.put(key, tmpParams.get(key));
+                }
+            }
+        }
+    }
+
+    /**
+     * Renders the portlet frame component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+
+        RenderRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+
+        req.setAttribute(SportletProperties.PORTLET_WINDOW_ID, windowId);
+        if (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null) {
+            StringBuffer content = new StringBuffer();
+            PortletURLImpl portletURI = (PortletURLImpl) res.createActionURL();
+            String editLink = portletURI.toString();
+            portletURI.setAction(DELETE_PORTLET);                                                                                                                                                                                     /*getLocalizedText(req, "DELETE")*/
+            String deleteLink = portletURI.toString();                                                                                               /*getLocalizedText(req, "EDIT")*/
+            content.append("<br/><fieldset>");
+            content.append(portletName);
+            content.append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"");
+            content.append(editLink);
+            content.append("\">");
+            content.append("<img src=\"");
+            content.append(req.getContextPath());
+            content.append("/images/edit.gif\" alt=\"").append(getLocalizedText(req, "EDIT")).append("\"/>");
+            content.append("</a>&nbsp;&nbsp;&nbsp;<a href=\"");
+            content.append(deleteLink);
+            content.append("\">");
+            content.append("<img src=\"");
+            content.append(req.getContextPath());
+            content.append("/images/delete.gif\" alt=\"").append(getLocalizedText(req, "DELETE")).append("\"/>");
+            content.append("</a></fieldset>");
+            setBufferedOutput(req, content);
+            return;
+        }
+
+        // check permissions
+        if (!requiredRoleName.equals("") && (!req.isUserInRole(requiredRoleName))) return;
+
+        // check for render params
+        if (onlyRender) {
+            if ((event.getComponentID().equals(componentIDStr))) {
+                addRenderParams(event.getHttpServletRequest());
+            }
+        }
+        onlyRender = true;
+
+        String id = req.getPortletSession(true).getId();
+
+        StringBuffer frame = (StringBuffer) cacheService.getCached(this.getComponentID() + portletClass + id);
+        String nocache = (String) req.getAttribute(CacheService.NO_CACHE);
+        if ((frame != null) && (nocache == null)) {
+            setBufferedOutput(req, frame);
+            return;
+        }
+        frame = new StringBuffer();
+
+        req.setAttribute(SportletProperties.PORTLETID, portletClass);
+
+        StringBuffer preframe = frameView.doStart(event, this);
+        StringBuffer postframe = new StringBuffer();
+
+        // Render title bar
+        if (!transparent) {
+            titleBar.doRender(event);
+        } else {
+            req.setAttribute(SportletProperties.PORTLET_MODE, titleBar.getPortletMode());
+            req.setAttribute(SportletProperties.PREVIOUS_MODE, titleBar.getPreviousMode());
+            req.setAttribute(SportletProperties.PORTLET_WINDOW, titleBar.getWindowState());
+        }
+        super.doRender(event);
+        if (req.getAttribute(SportletProperties.RESPONSE_COMMITTED) != null) {
+            renderPortlet = false;
+        }
+
+        String appID = portletRegistryService.getApplicationPortletID(portletClass);
+        ApplicationPortlet appPortlet = portletRegistryService.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            Set<String> supportedModes = appPortlet.getSupportedModes(event.getClient().getMimeType());
+            SortedSet<String> mimeTypes = appPortlet.getSupportedMimeTypes(req.getPortletMode());
+            req.setAttribute(SportletProperties.ALLOWED_MODES, supportedModes);
+            req.setAttribute(SportletProperties.MIME_TYPES, mimeTypes);
+        }
+
+        req.setAttribute(SportletProperties.PORTLET_WINDOW_ID, windowId);
+
+        StringWriter storedWriter = new StringWriter();
+        PrintWriter writer = new PrintWriter(storedWriter);
+        if (renderPortlet) {
+            if (!transparent) {
+                postframe.append(titleBar.getBufferedOutput(req));
+            }
+
+            postframe.append(frameView.doStartBorder(event, this));
+
+            RenderResponse wrappedResponse = new StoredPortletResponseImpl(event.getHttpServletRequest(), event.getHttpServletResponse(), writer);
+
+            if (isClosing) {
+                postframe.append(frameView.doRenderCloseFrame(event, this));
+            } else {
+                //System.err.println("in portlet frame render: class= " + portletClass + " setting prev mode= " + req.getPreviousMode() + " cur mode= " + req.getMode());
+                Throwable ex = getError(req);
+                if (ex != null) {
+                    doRenderError(req, wrappedResponse, ex);
+                    postframe.append(storedWriter.toString());
+                } else if ((titleBar != null) && (titleBar.hasRenderError())) {
+                    postframe.append(titleBar.getErrorMessage());
+                } else {
+                    try {
+                        if (!renderParams.isEmpty()) {
+                            //System.err.println("PortletFrame: in " + portletClass + " sending render params");
+                            //System.err.println("in render " + portletClass + " there are render params in the frame setting in request! key= " + SportletProperties.RENDER_PARAM_PREFIX + portletClass + "_" + componentIDStr);
+                            req.setAttribute(SportletProperties.RENDER_PARAM_PREFIX + portletClass + "_" + componentIDStr, renderParams);
+                        }
+                        DefaultPortletRender render = event.getRender();
+                        portletInvoker.service((String) req.getAttribute(SportletProperties.PORTLETID), render, (HttpServletRequest) req, (HttpServletResponse) wrappedResponse);
+                        lastFrame = storedWriter.toString();
+                        postframe.append(lastFrame);
+                    } catch (Exception e) {
+                        doRenderError(req, wrappedResponse, e);
+                        postframe.append(storedWriter.toString());
+                    }
+                }
+            }
+            postframe.append(frameView.doEndBorder(event, this));
+        } else {
+            postframe.append(frameView.doRenderMinimizeFrame(event, this));
+        }
+        postframe.append(frameView.doEnd(event, this));
+
+        if (req.getAttribute(SportletProperties.RESPONSE_COMMITTED) != null) {
+            renderPortlet = true;
+        }
+
+        // piece together portlet frame + title depending on whether title was set during doXXX method
+        // or not
+        frame.append(preframe);
+        if (!transparent) {
+            String titleStr = (String) req.getAttribute(SportletProperties.PORTLET_TITLE);
+            if (titleStr == null) {
+                titleStr = titleBar.getTitle();
+            }
+            frame.append(titleBar.getPreBufferedTitle(req));
+            frame.append(titleStr);
+            frame.append(titleBar.getPostBufferedTitle(req));
+        }
+        req.removeAttribute(SportletProperties.PORTLET_TITLE);
+
+        frame.append(postframe);
+
+        setBufferedOutput(req, frame);
+
+        // check if expiration was set in render response
+        Map props = (Map) req.getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        if (props != null) {
+            List vals = (List) props.get(RenderResponse.EXPIRATION_CACHE);
+            if (vals != null) {
+                String cacheExpiryStr = (String) vals.get(0);
+                if (cacheExpiryStr != null) {
+                    try {
+                        cacheExpiration = Integer.valueOf(cacheExpiryStr).intValue();
+                    } catch (IllegalArgumentException e) {
+                        // do nothing
+                    }
+                }
+            }
+        }
+
+        if (nocache == null) {
+            if ((cacheExpiration > 0) || (cacheExpiration == -1)) {
+                cacheService.cache(this.getComponentID() + portletClass + id, frame, cacheExpiration);
+            }
+        }
+    }
+
+    public void setError(PortletRequest req, Throwable ex) {
+        req.getPortletSession(true).setAttribute(SportletProperties.PORTLETERROR + portletClass, ex, PortletSession.APPLICATION_SCOPE);
+    }
+
+    public Throwable getError(PortletRequest req) {
+        Throwable ex = (Throwable) req.getPortletSession(true).getAttribute(SportletProperties.PORTLETERROR + portletClass, PortletSession.APPLICATION_SCOPE);
+        removeError(req);
+        return ex;
+    }
+
+    public void removeError(PortletRequest req) {
+        req.getPortletSession(true).removeAttribute(SportletProperties.PORTLETERROR + portletClass, PortletSession.APPLICATION_SCOPE);
+    }
+
+    public void doRenderError(RenderRequest req, RenderResponse res, Throwable ex) {
+        Throwable cause = ex.getCause();
+        if (cause == null) {
+            cause = ex;
+        }
+        try {
+            MailService mailService = (MailService) PortletServiceFactory.createPortletService(MailService.class, true);
+            Boolean sendMail = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ENABLE_ERROR_HANDLING));
+            if (sendMail.booleanValue()) {
+                MailMessage mailToUser = new MailMessage();
+                String noreply = portalConfigService.getProperty(PortalConfigService.MAIL_FROM);
+                mailToUser.setSender(noreply);
+                String portalAdmin = portalConfigService.getProperty(PortalConfigService.PORTAL_ADMIN_EMAIL);
+                mailToUser.setEmailAddress(portalAdmin);
+                mailToUser.setSubject(getLocalizedText(req, "PORTAL_ERROR_SUBJECT"));
+                StringBuffer body = new StringBuffer();
+                body.append(getLocalizedText(req, "PORTAL_ERROR_BODY"));
+                body.append("\n\n");
+                body.append("portlet title: ");
+                body.append(titleBar.getTitle());
+                body.append("\n\n");
+                User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+                body.append(DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime()));
+                body.append("\n\n");
+                if (user != null) {
+                    body.append(user);
+                    body.append("\n\n");
+                }
+                StringWriter sw = new StringWriter();
+                PrintWriter pout = new PrintWriter(sw);
+                cause.printStackTrace(pout);
+                body.append(sw.getBuffer());
+                mailToUser.setBody(body.toString());
+
+                try {
+                    mailService.sendMail(mailToUser);
+                    req.setAttribute("lastFrame", lastFrame);
+                    PortletRequestDispatcher dispatcher = req.getPortletSession().getPortletContext().getRequestDispatcher("/jsp/errors/custom_error.jsp");
+                    dispatcher.include(req, res);
+                    return;
+                } catch (Exception e) {
+                    log.error("Unable to send mail message!", e);
+                }
+            }
+        } catch (PortletServiceException e) {
+            log.error("Unable to get instance of needed portlet services", e);
+        }
+        try {
+            req.setAttribute("error", cause);
+            PortletRequestDispatcher dispatcher = req.getPortletSession().getPortletContext().getRequestDispatcher("/jsp/errors/custom_error.jsp");
+            dispatcher.include(req, res);
+        } catch (Exception e) {
+            System.err.println("Unable to include custom error page!!");
+            e.printStackTrace();
+        }
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletFrame f = (PortletFrame) super.clone();
+        f.titleBar = (this.titleBar == null) ? null : (PortletTitleBar) this.titleBar.clone();
+        f.outerPadding = this.outerPadding;
+        f.transparent = this.transparent;
+        f.innerPadding = this.innerPadding;
+        f.portletClass = this.portletClass;
+        f.renderPortlet = this.renderPortlet;
+        return f;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        sb.append("\nportlet class=").append(portletClass);
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,297 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:wehren at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PortletFrameLayout.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletComponentEvent;
+import org.gridsphere.layout.event.PortletFrameEvent;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+
+/**
+ * The abstract <code>PortletFrameLayout</code> acts a container for the layout of portlet frame
+ * components and handles PortletFrame events.
+ * <p/>
+ * The <code>PortletTableLayout</code> is a concrete implementation of the <code>PortletFrameLayout</code>
+ * that organizes portlets into a grid with a provided number of rows and columns.
+ *
+ * @see PortletFrame
+ * @see PortletFrameEvent
+ */
+public abstract class PortletFrameLayout extends BasePortletComponent implements
+        Serializable, PortletLayout, Cloneable {
+
+    protected List<PortletComponent> components = new ArrayList<PortletComponent>();
+
+    protected boolean hasFrameMaximized = false;
+
+    public boolean hasFrameMaximized() {
+        return hasFrameMaximized;
+    }
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+        Iterator it = components.iterator();
+
+        PortletComponent p;
+        while (it.hasNext()) {
+            p = (PortletComponent) it.next();
+            if (!p.getRequiredRole().equals("") && (!req.isUserInRole(p.getRequiredRole()))) {
+                it.remove();
+            } else {
+                p.setCanModify(canModify);
+                // invoke init on each component
+                list = p.init(req, list);
+                p.addComponentListener(this);
+                p.setParentComponent(this);
+            }
+        }
+        return list;
+    }
+
+    protected void customActionPerformed(GridSphereEvent event) {
+
+    }
+
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+    }
+
+    public void actionPerformed(GridSphereEvent event) {
+
+        super.actionPerformed(event);
+
+        PortletComponentEvent compEvt = event.getLastRenderEvent();
+        if ((compEvt != null) && (compEvt instanceof PortletFrameEvent)) {
+            PortletFrameEvent frameEvent = (PortletFrameEvent) compEvt;
+            handleFrameEvent(frameEvent);
+        }
+
+        customActionPerformed(event);
+        Iterator it = listeners.iterator();
+        PortletComponent comp;
+        while (it.hasNext()) {
+            comp = (PortletComponent) it.next();
+            event.addNewRenderEvent(compEvt);
+            comp.actionPerformed(event);
+        }
+    }
+
+    public void remove(PortletComponent pc) {
+        components.remove(pc);
+        /*
+        if (getPortletComponents().isEmpty()) {
+            parent.remove(this);
+        }
+        */
+    }
+
+    /**
+     * Destroys this portlet component
+     */
+    public void destroy() {
+    }
+
+    /**
+     * Performed when a frame maximized event has been received
+     *
+     * @param event a portlet frame event
+     */
+    public void handleFrameMaximized(PortletFrameEvent event) {
+        //System.err.println("in frame layout: frame has been maximized");
+        Iterator it = components.iterator();
+        PortletComponent p;
+        int id = event.getID();
+        while (it.hasNext()) {
+            p = (PortletComponent) it.next();
+            // check for the frame that has been maximized
+            if (p.getComponentID() == id) {
+                p.setWidth("100%");
+            } else {
+                // If this is not the right frame, make it invisible
+                p.setVisible(false);
+            }
+        }
+    }
+
+    /**
+     * Performed when a frame minimized event has been received
+     *
+     * @param event a portlet frame event
+     */
+    public void handleFrameMinimized(PortletFrameEvent event) {
+        //System.err.println("in PortletFrameLayout Minimized");
+        List scomponents = Collections.synchronizedList(components);
+        synchronized (scomponents) {
+            Iterator it = scomponents.iterator();
+            PortletComponent p;
+            int id = event.getID();
+            while (it.hasNext()) {
+                p = (PortletComponent) it.next();
+                if (p.getComponentID() == id) {
+                    p.setWidth("");
+                }
+                p.setWidth(p.getDefaultWidth());
+                p.setVisible(true);
+            }
+        }
+    }
+
+
+    /**
+     * Performed when a frame restore event has been received
+     *
+     * @param event a portlet frame event
+     */
+    public void handleFrameRestore(PortletFrameEvent event) {
+        //System.err.println("in PortletFrameLayout Resized");
+        List scomponents = Collections.synchronizedList(components);
+        synchronized (scomponents) {
+            Iterator it = scomponents.iterator();
+            PortletComponent p;
+            int id = event.getID();
+            while (it.hasNext()) {
+                p = (PortletComponent) it.next();
+                if (p.getComponentID() == id) {
+                    if (p instanceof PortletFrame) {
+                        PortletFrame f = (PortletFrame) p;
+                        f.setWidth(event.getOriginalWidth());
+                    } else {
+                        p.setWidth(p.getDefaultWidth());
+                    }
+                } else {
+                    p.setVisible(true);
+                }
+            }
+        }
+    }
+
+    /**
+     * Performed when a frame close event has been received
+     *
+     * @param event a portlet frame event
+     */
+    public void handleFrameClosed(PortletFrameEvent event) {
+        //System.err.println("Portlet FrameLAyout: in frame closed");
+        List scomponents = Collections.synchronizedList(components);
+        synchronized (scomponents) {
+            Iterator it = scomponents.iterator();
+            PortletComponent p;
+            int id = event.getID();
+            while (it.hasNext()) {
+                p = (PortletComponent) it.next();
+                // check for the frame that has been closed
+                if (p.getComponentID() == id) {
+                    if (p instanceof PortletFrame) {
+                        it.remove();
+                    }
+                } else {
+                    p.setVisible(true);
+                }
+            }
+        }
+    }
+
+    /**
+     * Performed when a frame event has been received
+     *
+     * @param event a portlet frame event
+     */
+    public void handleFrameEvent(PortletFrameEvent event) {
+        if (event.getAction() == PortletFrameEvent.FrameAction.FRAME_MAXIMIZED) {
+            hasFrameMaximized = true;
+            handleFrameMaximized(event);
+        } else if (event.getAction() == PortletFrameEvent.FrameAction.FRAME_MINIMIZED) {
+            hasFrameMaximized = false;
+            handleFrameMinimized(event);
+        } else if (event.getAction() == PortletFrameEvent.FrameAction.FRAME_RESTORED) {
+            hasFrameMaximized = false;
+            handleFrameRestore(event);
+        } else if (event.getAction() == PortletFrameEvent.FrameAction.FRAME_CLOSED) {
+            hasFrameMaximized = false;
+            handleFrameClosed(event);
+        }
+    }
+
+    /**
+     * Adds a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void addPortletComponent(PortletComponent component) {
+        components.add(component);
+    }
+
+    /**
+     * Removes a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void removePortletComponent(PortletComponent component) {
+        components.remove(component);
+    }
+
+    /**
+     * Sets the list of new portlet component to the layout
+     *
+     * @param components an ArrayList of portlet components
+     */
+    public void setPortletComponents(List<PortletComponent> components) {
+        this.components = components;
+    }
+
+    /**
+     * Returns a list containing the portlet components in this layout
+     *
+     * @return a list of portlet components
+     */
+    public List<PortletComponent> getPortletComponents() {
+        return components;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletFrameLayout f = (PortletFrameLayout) super.clone();
+        f.components = new ArrayList<PortletComponent>(components.size());
+        for (int i = 0; i < components.size(); i++) {
+            PortletComponent comp = (PortletComponent) components.get(i);
+            f.components.add((PortletComponent) comp.clone());
+        }
+        return f;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        for (int i = 0; i < components.size(); i++) {
+            sb.append(components.toString());
+        }
+        return sb.toString();
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameRegistry.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameRegistry.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletFrameRegistry.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+package org.gridsphere.layout;
+
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+public class PortletFrameRegistry {
+
+    private static PortletFrameRegistry instance = new PortletFrameRegistry();
+    private static Map<String, Map<String, PortletFrame>> portlets = new HashMap<String, Map<String, PortletFrame>>();
+
+    private PortletFrameRegistry() {}
+
+    public static PortletFrameRegistry getInstance() {
+        return instance;
+    }
+
+    public PortletFrame getPortletFrame(String label, String portletId, GridSphereEvent event) {
+        String sessionId = event.getRenderRequest().getPortletSession(true).getId();
+        Map<String, PortletFrame> map = (Map<String, PortletFrame>)portlets.get(sessionId);
+        PortletFrame frame = null;
+        if (map != null) {
+            frame = (PortletFrame)map.get(label);
+            if (frame != null) return frame;
+        } else {
+            map = new HashMap<String, PortletFrame>();
+        }
+        if (portletId == null) return null;
+        frame = new PortletFrame();
+        frame.setPortletClass(portletId);
+        frame.setLabel(label);
+        frame.init(event.getRenderRequest(), new ArrayList<ComponentIdentifier>());
+        map.put(label, frame);
+        portlets.put(sessionId, map);
+        return frame;
+    }
+
+    public void removeAllPortletFrames(GridSphereEvent event) {
+        String sessionId = event.getRenderRequest().getPortletSession(true).getId();
+        portlets.remove(sessionId);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletLayout.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout;
+
+import java.util.List;
+
+
+/**
+ * The <code>PortletLayout</code> is responsible for constructing a layout appropriate
+ * to the user's layout preferences.
+ * <p/>
+ * The <code>PortletFrameLayout</code> provides an abstract implementation of a generic
+ * container
+ * The <code>PortletTableLayout</code> is a concrete implementation of the <code>PortletFrameLayout</code>
+ * that organizes portlets into a grid with a provided number of rows and columns.
+ */
+public interface PortletLayout extends PortletComponent {
+
+    /**
+     * Sets the list of new portlet component to the layout
+     *
+     * @param components an ArrayList of portlet components
+     */
+    public void setPortletComponents(List<PortletComponent> components);
+
+    /**
+     * Returns a list containing the portlet components in this layout
+     *
+     * @return a list of portlet components
+     */
+    public List<PortletComponent> getPortletComponents();
+
+    /**
+     * Adds a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void addPortletComponent(PortletComponent component);
+
+    /**
+     * Removes a new portlet component to the layout
+     *
+     * @param component a portlet component
+     */
+    public void removePortletComponent(PortletComponent component);
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: PortletLayoutDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.portletcontainer.impl.JavaXMLBindingFactory;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+
+/**
+ * The <code>PortletLayoutDescriptor</code> is responsible for marshalling and
+ * unmarshalling a container of portlet components into/from an XML descriptor
+ * using Castor XML data binding capabilities.
+ */
+public class PortletLayoutDescriptor {
+
+    /**
+     * Constructs an instance of PortletLayoutDescriptor
+     */
+    private PortletLayoutDescriptor() {
+    }
+
+    /**
+     * Loads the portlet container associated with this descriptor
+     *
+     * @param layoutDescriptorPath location of the layout.xml
+     * @param layoutMappingPath    location of the mapping file
+     * @return the portlet container
+     * @throws PersistenceManagerException if a descriptor error occurs
+     */
+    public static PortletPage loadPortletPage(String layoutDescriptorPath, URL layoutMappingPath) throws PersistenceManagerException {
+        PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(layoutDescriptorPath, layoutMappingPath);
+        PortletPage page = (PortletPage) pmXML.load();
+        page.setLayoutDescriptor(layoutDescriptorPath);
+        return page;
+    }
+
+    /**
+     * Loads the portlet tab associated with this descriptor
+     *
+     * @param descriptorPath location of the layout.xml
+     * @param mappingPath    location of the mapping file
+     * @return the portlet tab
+     * @throws PersistenceManagerException if a descriptor error occurs
+     */
+    public static PortletTabbedPane loadPortletTabs(String descriptorPath, URL mappingPath) throws PersistenceManagerException {
+        PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorPath, mappingPath);
+        return (PortletTabbedPane) pmXML.load();
+    }
+
+    /**
+     * Saves the portlet page associated with this descriptor
+     *
+     * @param pc             the portlet container to load
+     * @param descriptorPath location of the layout.xml
+     * @param mappingPath    location of the mapping file
+     * @throws PersistenceManagerException if a descriptor error occurs
+     */
+    public static void saveLayoutComponent(Object pc, String descriptorPath, URL mappingPath) throws PersistenceManagerException {
+        PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorPath, mappingPath);
+        pmXML.save(pc);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutEngine.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutEngine.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletLayoutEngine.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,247 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletLayoutEngine.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.zip.GZIPOutputStream;
+
+/**
+ * The <code>PortletLayoutEngine</code> is a singleton that is responsible for managing
+ * user's layouts. It also manages portlet web application default layout
+ * configurations that can be potentially added to a user layout
+ * via the PortletLayout Service.
+ * <p/>
+ * The portlet layout engine is a higher level manager of portlet containers
+ * that represent a users customized layout. The portlet layout engine is used
+ * by the {@link org.gridsphere.servlets.GridSphereServlet}
+ * Expect the PortletLayoutEngine methods to change possibly....
+ */
+public class PortletLayoutEngine {
+
+    protected Log log = LogFactory.getLog(PortletLayoutEngine.class);
+    private static PortletLayoutEngine instance = new PortletLayoutEngine();
+
+    private PortletPageFactory pageFactory = PortletPageFactory.getInstance();
+
+    private PortletFrameRegistry registry = PortletFrameRegistry.getInstance();
+
+    private boolean inited = false;
+
+    public static final String DEFAULT_THEME = "default";
+    public static final String DEFAULT_RENDERKIT = "brush";
+
+    /**
+     * Constructs a concrete instance of the PortletLayoutEngine
+     */
+    private PortletLayoutEngine() {
+    }
+
+    public void init(ServletContext ctx) {
+        if (!inited) {
+            pageFactory.init(ctx);
+            inited = true;
+        }
+    }
+
+    /**
+     * Returns the single instance of the PortletLayoutEngine
+     *
+     * @return the PortletLayoutEngine instance
+     */
+    public static PortletLayoutEngine getInstance() {
+        return instance;
+    }
+
+    public PortletPage getPortletPage(GridSphereEvent event) {
+
+        PortletRequest req = event.getRenderRequest();
+
+        // Check for framework errors
+        Exception portletException = (Exception) req.getAttribute(SportletProperties.ERROR);
+        if (portletException != null) {
+            PortletPage errorPage = pageFactory.createErrorPage();
+            errorPage.init(req, new ArrayList<ComponentIdentifier>());
+            return errorPage;
+        }
+
+        return pageFactory.getPortletPage(event);
+    }
+
+    public void setHeaders(GridSphereEvent event) {
+        HttpServletRequest req = event.getHttpServletRequest();
+        HttpServletResponse res = event.getHttpServletResponse();
+        res.setContentType("text/html; charset=utf-8"); // Necessary to display UTF-8 encoded characters
+        res.setHeader("Cache-Control", "no-cache"); //Forces caches to obtain a new copy of the page from the origin server
+        res.setHeader("Cache-Control", "no-store"); //Directs caches not to store the page under any circumstance
+        res.setHeader("Expires", "0"); //Causes the proxy cache to see the page as "stale"
+        res.setHeader("Pragma", "no-cache"); //HTTP 1.0 backward compatibility
+        String ae = req.getHeader("accept-encoding");
+        if (ae != null && ae.indexOf("gzip") != -1) {
+            res.setHeader("Content-Encoding", "gzip");
+        }
+    }
+
+    /**
+     * Services a portlet container instance by rendering its presentation
+     *
+     * @param event the gridsphere event
+     */
+    public void service(GridSphereEvent event) {
+        HttpServletRequest req = event.getHttpServletRequest();
+        HttpServletResponse res = event.getHttpServletResponse();
+        // set content to UTF-8 for il8n and compression if supported
+        try {
+            req.setCharacterEncoding("utf-8");
+        } catch (UnsupportedEncodingException e) {
+            log.error("UTF-8 is unsupported?!?", e);
+        }
+        PortletPage page = getPortletPage(event);
+        setHeaders(event);
+        StringBuffer pageBuffer = new StringBuffer();
+        if (req.getParameter("ajax") != null) {
+
+
+            String portlet = req.getParameter("portlet");
+            System.err.println("it's ajax: " + portlet);
+            String cid = event.getComponentID();
+            if ((cid != null) && (cid.startsWith("portlet"))) {
+                portlet = cid.substring("portlet".length() + 1);
+            }
+            if (portlet != null) {
+                PortletFrameRegistry registry = PortletFrameRegistry.getInstance();
+                int idx = portlet.indexOf("#");
+                String portletName = portlet.substring(idx + 1, portlet.length());
+                PortletFrame frame = registry.getPortletFrame(portletName, portlet, event);
+                frame.setInnerPadding("");
+                frame.setOuterPadding("");
+                frame.setTransparent(false);
+
+                req.getSession().setAttribute(SportletProperties.LAYOUT_THEME, DEFAULT_THEME);
+                req.getSession().setAttribute(SportletProperties.LAYOUT_RENDERKIT, DEFAULT_RENDERKIT);
+
+                req.setAttribute(SportletProperties.USE_AJAX, "true");
+                req.setAttribute(SportletProperties.PORTLET_NAME, portlet);
+                String compName = req.getParameter("compname");
+
+                System.err.println("compname= " + compName);
+
+                req.setAttribute(SportletProperties.COMPONENT_NAME, compName);
+
+                if (event.hasAction()) {
+                    frame.actionPerformed(event);
+                }
+                frame.doRender(event);
+                pageBuffer = frame.getBufferedOutput(event.getRenderRequest());
+                res.setContentType("text/html");
+            } else {
+                PortletComponent comp = page.getActiveComponent(cid);
+                if (comp != null) {
+                    String reqRole = comp.getRequiredRole();
+                    Principal user = event.getRenderRequest().getUserPrincipal();
+                    if (user != null) {
+                        if (req.isUserInRole(reqRole)) comp.doRender(event);
+                    } else {
+                        if (reqRole.equals("")) comp.doRender(event);
+                    }
+                    pageBuffer = comp.getBufferedOutput(event.getRenderRequest());
+                    res.setContentType("text/html");
+                }
+            }
+        } else {
+            page.doRender(event);
+            pageBuffer = page.getBufferedOutput(event.getRenderRequest());
+        }
+
+        log.info("\twriting page to output");
+        try {
+            String ae = req.getHeader("accept-encoding");
+            if (ae != null && ae.indexOf("gzip") != -1) {
+                GZIPOutputStream gzos = new GZIPOutputStream(res.getOutputStream());
+                gzos.write(pageBuffer.toString().getBytes(req.getCharacterEncoding()));
+                gzos.close();
+            } else {
+                PrintWriter out = res.getWriter();
+                out.print(pageBuffer.toString());
+            }
+        } catch (IOException e) {
+            // means the writer has already been obtained
+            log.error("Error writing page!", e);
+        }
+    }
+
+    public void doAction(GridSphereEvent event) {
+        String cid = event.getComponentID();
+        if (!cid.equals("")) {
+            PortletFrame frame = registry.getPortletFrame(cid, null, event);
+            if (frame != null) {
+                try {
+                    frame.actionPerformed(event);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+    /**
+     * Performs an action on the portlet container referenced by the
+     * gridsphere event
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        log.info("\tstart actionPerformed");
+        PortletPage page = getPortletPage(event);
+
+        if (!event.getComponentID().equals("")) {
+            page.actionPerformed(event);
+
+            // sometimes the page needs reinitializing
+            if (event.getActionRequest().getAttribute(SportletProperties.INIT_PAGE) != null) {
+                log.info("\n\n\n\n\nreiniting and saving page!!!!!\n\n\n\n\n\n");
+                page.init(event.getActionRequest(), new ArrayList<ComponentIdentifier>());
+                PortletTabbedPane pane = pageFactory.getUserTabbedPane(event.getActionRequest());
+                if (pane != null) {
+                    try {
+                        pane.save();
+                    } catch (IOException e) {
+                        log.error("Unable to save tab pane", e);
+                    }
+                }
+            }
+        }
+
+        log.info("\tend actionPerformed");
+    }
+
+    public void doRenderError(RenderResponse res, Throwable t) {
+        PrintWriter out = null;
+        try {
+            out = res.getWriter();
+        } catch (IOException e) {
+            log.error("in doRenderError: ", e);
+        }
+        out.println("<html><body>");
+        out.println("<b>An error occurred: " + t.getMessage() + "</b>");
+        t.printStackTrace(out);
+        out.println("</body></html>");
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletMenu.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletMenu.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletMenu.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletTabListener;
+import org.gridsphere.layout.view.TabbedPaneView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * The <code>PortletTabbedPane</code> represents the visual portlet tabbed pane interface
+ * and is a container for a {@link org.gridsphere.layout.PortletTab}.
+ */
+public class PortletMenu extends PortletNavMenu implements Serializable, PortletTabListener, Cloneable {
+
+
+    private transient TabbedPaneView menuView = null;
+
+    /**
+     * Constructs an instance of PortletTabbedPane
+     */
+    public PortletMenu() {
+    }
+
+
+    /**
+     * Initializes the portlet tabbed pane component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see org.gridsphere.layout.ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        menuView = (TabbedPaneView) getRenderClass(req, "Menu");
+        return super.init(req, list);
+    }
+
+    /**
+     * Renders the portlet frame component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        //super.doRender(event);
+        StringBuffer pane = new StringBuffer();
+        RenderRequest req = event.getRenderRequest();
+
+        //log.debug("in tabbed pane: my comp is=" + componentIDStr);
+        pane.append(menuView.doStart(event, this));
+
+        PortletTab tab;
+        List tabs = getPortletTabs();
+        for (int i = 0; i < tabs.size(); i++) {
+            tab = (PortletTab) tabs.get(i);
+            String tabRole = tab.getRequiredRole();
+            if (tabRole.equals("") || (req.isUserInRole(tabRole))) {
+                pane.append(menuView.doRenderTab(event, this, tab));
+            } else {
+                // if role is < required role we try selecting the next possible tab
+                //System.err.println("in PortletTabbedPane menu: role is < required role we try selecting the next possible tab");
+                if (tab.isSelected()) {
+                    int index = (i + 1);
+                    if (index < tabs.size()) {
+                        PortletTab newtab = (PortletTab) tabs.get(index);
+                        setSelectedPortletTab(newtab);
+                    }
+                }
+            }
+        }
+
+
+        if (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null) {
+            pane.append(menuView.doRenderEditTab(event, this, false));
+        }
+
+        pane.append(menuView.doEndBorder(event, this));
+
+        // render the selected tab
+        if (!tabs.isEmpty()) {
+            PortletTab selectedTab = getSelectedTab();
+            //System.err.println("selected tab= " + selectedTab.toString());
+            if (selectedTab != null) {
+                selectedTab.doRender(event);
+                pane.append(selectedTab.getBufferedOutput(req));
+            }
+        }
+
+        pane.append(menuView.doEnd(event, this));
+
+
+        setBufferedOutput(req, pane);
+
+    }
+
+
+    public Object clone() throws CloneNotSupportedException {
+        return (PortletMenu) super.clone();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletNavMenu.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletNavMenu.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletNavMenu.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,311 @@
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletComponentEvent;
+import org.gridsphere.layout.event.PortletTabEvent;
+import org.gridsphere.layout.event.PortletTabListener;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+
+import javax.portlet.PortletRequest;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * The <code>PortletTabbedPane</code> represents the visual portlet tabbed pane interface
+ * and is a container for a {@link org.gridsphere.layout.PortletTab}.
+ */
+public abstract class PortletNavMenu extends BasePortletComponent implements Serializable, PortletTabListener, Cloneable {
+
+    private List<PortletTab> tabs = new ArrayList<PortletTab>();
+
+    private String layoutDescriptor = null;
+
+    //private transient TabbedPaneView tabbedPaneView = null;
+
+    /**
+     * Constructs an instance of PortletTabbedPane
+     */
+    public PortletNavMenu() {
+    }
+
+    public void setLayoutDescriptor(String layoutDescriptor) {
+        this.layoutDescriptor = layoutDescriptor;
+    }
+
+    public String getLayoutDescriptor() {
+        return layoutDescriptor;
+    }
+
+    /**
+     * Returns the selected tab if none exists, return null
+     *
+     * @return the selected portlet tab
+     */
+    public PortletTab getSelectedTab() {
+        for (int i = 0; i < tabs.size(); i++) {
+            PortletTab tab = (PortletTab) tabs.get(i);
+            if (tab.isSelected()) {
+                return tab;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the index of the supplied tab or -1 if not found
+     *
+     * @param tab the tab to get the index of
+     * @return the index of the supplied tab
+     */
+    public int getIndexOfTab(PortletTab tab) {
+        for (int i = 0; i < tabs.size(); i++) {
+            PortletTab atab = (PortletTab) tabs.get(i);
+            if (tab.equals(atab)) return i;
+        }
+        return -1;
+    }
+
+    /**
+     * Sets the selected portlet tab in this tabbed pane
+     *
+     * @param tab the selected portlet tab
+     */
+    public void setSelectedPortletTab(PortletTab tab) {
+        PortletTab portletTab;
+        for (int i = 0; i < tabs.size(); i++) {
+            portletTab = (PortletTab) tabs.get(i);
+            if (portletTab.getComponentID() == tab.getComponentID()) {
+                //System.err.println("set tab=" + portletTab.toString());
+                portletTab.setSelected(true);
+            } else {
+                portletTab.setSelected(false);
+            }
+        }
+    }
+
+    /**
+     * Sets the selected portlet tab in this tabbed pane
+     *
+     * @param index tab the selected portlet tab index
+     */
+    public void setSelectedPortletTabIndex(int index) {
+        PortletTab portletTab;
+        for (int i = 0; i < tabs.size(); i++) {
+            portletTab = (PortletTab) tabs.get(i);
+            if (index == i) {
+                portletTab.setSelected(true);
+            } else {
+                portletTab.setSelected(false);
+            }
+        }
+    }
+
+    /**
+     * Returns the tab with the supplied title
+     *
+     * @param label the tab label
+     * @return the tab associated with this title
+     */
+    public PortletTab getPortletTab(String label) {
+        for (PortletTab tab : tabs) {
+            if (tab.getLabel().equals(label)) return tab;
+        }
+        return null;
+    }
+
+    /**
+     * Return the tab contained by this tabbed pane by index
+     *
+     * @param index the tab index
+     * @return the portlet tab
+     */
+    public PortletTab getPortletTabAt(int index) {
+        if (index >= tabs.size()) return null;
+        return (PortletTab) tabs.get(index);
+    }
+
+    public int getTabCount() {
+        return tabs.size();
+    }
+
+    public void insertTab(PortletTab tab, int index) {
+        if ((index >= 0) || index < tabs.size()) tabs.add(index, tab);
+    }
+
+    /**
+     * Adds a new portlet tab to the tabbed pane
+     *
+     * @param tab a portlet tab to add
+     */
+    public void addTab(PortletTab tab) {
+        tabs.add(tab);
+    }
+
+    /**
+     * Removes a portlet tab from the tabbed pane
+     *
+     * @param tab the portlet tab to remove
+     */
+    public void removeTab(PortletTab tab) {
+        for (int i = 0; i < tabs.size(); i++) {
+            PortletTab atab = tabs.get(i);
+            if (atab.getComponentID() == tab.getComponentID()) {
+                tabs.remove(atab);
+                i = tabs.size();
+            }
+        }
+    }
+
+    /**
+     * Removes a portlet tab from the tabbed pane at the specified index
+     *
+     * @param index the index of the tab to remove
+     */
+    public synchronized void removeTabAt(int index) {
+        tabs.remove(index);
+    }
+
+    /**
+     * Removes all portlet tabs from the tabbed pane
+     */
+    public synchronized void removeAll() {
+        for (int i = 0; i < tabs.size(); i++) {
+            tabs.remove(i);
+        }
+    }
+
+    /**
+     * Sets the portlet tabs in the tabbed pane
+     *
+     * @param tabs an ArrayList containing the portlet tabs to add
+     */
+    public void setPortletTabs(List<PortletTab> tabs) {
+        this.tabs = tabs;
+
+    }
+
+    /**
+     * Returns a list containing the portlet tabs
+     *
+     * @return a list containing the portlet tabs
+     */
+    public List<PortletTab> getPortletTabs() {
+        return tabs;
+    }
+
+    public PortletTab getLastPortletTab() {
+        return (PortletTab) tabs.get(tabs.size() - 1);
+    }
+
+    /**
+     * Initializes the portlet tabbed pane component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see org.gridsphere.layout.ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+
+        list = super.init(req, list);
+
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+
+        for (PortletTab tab : tabs) {
+            list = tab.init(req, list);
+            tab.addComponentListener(this);
+            tab.setParentComponent(this);
+        }
+
+
+        PortletTab tab = this.getSelectedTab();
+
+        if (tab == null) {
+            tab = this.getPortletTabAt(0);
+            if (tab != null) this.setSelectedPortletTab(tab);
+        }
+
+        return list;
+    }
+
+    /**
+     * Gives notification that a portlet tab event has occured
+     *
+     * @param event the portlet tab event
+     */
+    public void handlePortletTabEvent(PortletTabEvent event) {
+        if (event.getAction().equals(PortletTabEvent.TabAction.TAB_SELECTED)) {
+            PortletTab selectedTab = (PortletTab) event.getPortletComponent();
+            this.setSelectedPortletTab(selectedTab);
+        }
+    }
+
+    /**
+     * Gives notification that a portlet tab event has occured
+     *
+     * @param event the portlet tab event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+
+        super.actionPerformed(event);
+
+        PortletComponentEvent compEvt = event.getLastRenderEvent();
+        if ((compEvt != null) && (compEvt instanceof PortletTabEvent)) {
+            PortletTabEvent tabEvent = (PortletTabEvent) compEvt;
+            handlePortletTabEvent(tabEvent);
+        }
+
+        Iterator it = listeners.iterator();
+        PortletComponent comp;
+
+        while (it.hasNext()) {
+            comp = (PortletComponent) it.next();
+            event.addNewRenderEvent(compEvt);
+            comp.actionPerformed(event);
+        }
+
+    }
+
+    /**
+     * Renders the portlet frame component
+     *
+     * @param event a gridsphere event
+     */
+    public abstract void doRender(GridSphereEvent event);
+
+    public void remove(PortletComponent pc) {
+        if (pc instanceof PortletTab) {
+            tabs.remove((PortletTab) pc);
+            if (tabs.isEmpty()) parent.remove(this);
+        }
+    }
+
+    public void save() throws IOException {
+        try {
+            PortletLayoutDescriptor.saveLayoutComponent(this, layoutDescriptor, LAYOUT_MAPPING_PATH);
+        } catch (PersistenceManagerException e) {
+            throw new IOException("Unable to save user's tabbed pane: " + e.getMessage());
+        }
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletNavMenu t = (PortletNavMenu) super.clone();
+        t.style = this.style;
+        t.tabs = new ArrayList<PortletTab>(tabs.size());
+        for (int i = 0; i < tabs.size(); i++) {
+            PortletTab tab = (PortletTab) tabs.get(i);
+            t.tabs.add((PortletTab) tab.clone());
+        }
+        return t;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPage.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPage.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPage.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,528 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletPage.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.PortletInvoker;
+import org.gridsphere.services.core.cache.CacheService;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.servlet.ServletContext;
+import java.io.IOException;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The <code>PortletPage</code> is the generic container for a collection of
+ * concrete portlet components and provides lifecycle methods for traversing
+ * the tree of components and handling actions and performing rendering.
+ */
+public class PortletPage extends BasePortletComponent implements Serializable, Cloneable {
+
+    protected transient CacheService cacheService = null;
+
+    protected transient PortletInvoker portletInvoker = null;
+
+    protected PortletContainer footerContainer = null;
+    protected PortletContainer headerContainer = null;
+
+    protected PortletComponent component = null;
+
+    // The component ID's of each of the layout components
+    protected List<ComponentIdentifier> componentIdentifiers = null;
+
+    protected String keywords = "";
+    protected String title = "";
+    protected String icon = "images/favicon.ico";
+    protected int refresh = 0;
+    protected boolean editable = true;
+    protected boolean displayModes = true;
+    protected boolean displayStates = true;
+    private String layoutDescriptor = null;
+
+    private Map<String, Integer> labelsHash = null;
+
+    private transient Render pageView = null;
+
+    private String renderKit = "brush";
+
+    /**
+     * Constructs an instance of PortletPage
+     */
+    public PortletPage() {
+    }
+
+    public void setLayoutDescriptor(String layoutDescriptor) {
+        this.layoutDescriptor = layoutDescriptor;
+    }
+
+    public String getLayoutDescriptor() {
+        return layoutDescriptor;
+    }
+
+    /**
+     * Sets the portlet container title
+     *
+     * @param title the portlet container title
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * Returns the portlet container title
+     *
+     * @return the portlet container title
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * Boolean flag to determine if this layout can be customized
+     *
+     * @param editable flag to determine if this layout can be customized
+     */
+    public void setEditable(boolean editable) {
+        this.editable = editable;
+    }
+
+    /**
+     * Boolean flag to determine if this layout can be customized
+     *
+     * @return true if this layout can be customized
+     */
+    public boolean getEditable() {
+        return editable;
+    }
+
+    /**
+     * Boolean flag to determine if the portlet modes should be displayed
+     *
+     * @param displayModes flag to determine if this layout can be customized
+     */
+    public void setDisplayModes(boolean displayModes) {
+        this.displayModes = displayModes;
+    }
+
+    /**
+     * Boolean flag to determine if the portlet modes should be displayed
+     *
+     * @return true if this layout can be customized
+     */
+    public boolean getDisplayModes() {
+        return displayModes;
+    }
+
+    /**
+     * Boolean flag to determine if thie window states should be displaed
+     *
+     * @param displayStates to determine if thie window states should be displaed
+     */
+    public void setDisplayStates(boolean displayStates) {
+        this.displayStates = displayStates;
+    }
+
+    /**
+     * Boolean flag to determine if the window states should be displayed
+     *
+     * @return true if this layout can be customized
+     */
+    public boolean getDisplayStates() {
+        return displayStates;
+    }
+
+    /**
+     * Returns the favicon for the page
+     *
+     * @return the favicon for the page
+     */
+    public String getIcon() {
+        return icon;
+    }
+
+    /**
+     * Sets the favicon for the page
+     *
+     * @param icon the favicon for the page
+     */
+    public void setIcon(String icon) {
+        this.icon = icon;
+    }
+
+    /**
+     * Returns the page refresh rate
+     *
+     * @return the page refresh rate
+     */
+    public int getRefresh() {
+        return refresh;
+    }
+
+    /**
+     * Sets the page refresh rate
+     *
+     * @param refresh the page refresh rate
+     */
+    public void setRefresh(int refresh) {
+        this.refresh = refresh;
+    }
+
+    /**
+     * Returns the keywords used in rendering output
+     *
+     * @return keywords
+     */
+    public String getKeywords() {
+        return keywords;
+    }
+
+    /**
+     * Sets the keywords used in rendering output
+     *
+     * @param keywords used in rendering output
+     */
+    public void setKeywords(String keywords) {
+        this.keywords = keywords;
+    }
+
+    /**
+     * Returns the render kit
+     *
+     * @return the render kit
+     */
+    public String getRenderKit() {
+        return renderKit;
+    }
+
+    /**
+     * Sets the render kit
+     *
+     * @param renderKit the render kit
+     */
+    public void setRenderKit(String renderKit) {
+        this.renderKit = renderKit;
+    }
+
+    /**
+     * Sets the page header
+     *
+     * @param headerContainer a portlet container with header components
+     */
+    public void setPortletHeader(PortletContainer headerContainer) {
+        this.headerContainer = headerContainer;
+    }
+
+    /**
+     * Returns the page header
+     *
+     * @return a portlet container with header components
+     */
+    public PortletContainer getPortletHeader() {
+        return headerContainer;
+    }
+
+    /**
+     * Sets the page footer
+     *
+     * @param footerContainer a portlet container with footer components
+     */
+    public void setPortletFooter(PortletContainer footerContainer) {
+        this.footerContainer = footerContainer;
+    }
+
+    /**
+     * Returns the page footer
+     *
+     * @return a portlet container with footer components
+     */
+    public PortletContainer getPortletFooter() {
+        return footerContainer;
+    }
+
+    public void setPortletComponent(PortletComponent component) {
+        this.component = component;
+    }
+
+
+    public PortletComponent getPortletComponent() {
+        return component;
+    }
+
+    /**
+     * Returns the list of portlet component identifiers
+     *
+     * @return the list of portlet component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> getComponentIdentifierList() {
+        return componentIdentifiers;
+    }
+
+    /**
+     * Sets the list of portlet component identifiers
+     *
+     * @param componentIdentifiers a list of portlet component identifiers
+     * @see ComponentIdentifier
+     */
+    public void setComponentIdentifierList(List<ComponentIdentifier> componentIdentifiers) {
+        this.componentIdentifiers = componentIdentifiers;
+    }
+
+    /**
+     * Returns the associated portlet component id
+     *
+     * @return the portlet component id
+     */
+    public int getComponentID() {
+        return COMPONENT_ID;
+    }
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        componentIdentifiers = new ArrayList<ComponentIdentifier>();
+        labelsHash = new HashMap<String, Integer>();
+        try {
+            cacheService = (CacheService) PortletServiceFactory.createPortletService(CacheService.class, true);
+        } catch (PortletServiceException e) {
+            System.err.println("Unable to init Cache service! " + e.getMessage());
+        }
+        portletInvoker = new PortletInvoker();
+        list = super.init(req, list);
+
+        req.getPortletSession().setAttribute(SportletProperties.LAYOUT_RENDERKIT, renderKit, PortletSession.APPLICATION_SCOPE);
+
+        req.setAttribute(SportletProperties.DISPLAY_MODES, Boolean.valueOf(displayModes));
+        req.setAttribute(SportletProperties.DISPLAY_STATES, Boolean.valueOf(displayStates));
+
+        pageView = (Render) getRenderClass(req, "Page");
+
+        if (headerContainer != null) {
+            list = headerContainer.init(req, list);
+        }
+
+        if (component != null) {
+            list = component.init(req, list);
+        }
+
+        if (footerContainer != null) {
+            list = footerContainer.init(req, list);
+        }
+
+        componentIdentifiers = list;
+
+        // Now go thru and create a labels hash
+
+        for (ComponentIdentifier cid : componentIdentifiers) {
+            String compLabel = cid.getComponentLabel();
+            if (!compLabel.equals("")) {
+                // create a labels to integer component id mapping
+                labelsHash.put(compLabel, new Integer(cid.getComponentID()));
+            }
+        }
+
+        return componentIdentifiers;
+    }
+
+    /**
+     * Destroys this portlet container
+     */
+    public void destroy() {
+        if (headerContainer != null) headerContainer.destroy();
+        if (component != null) component.destroy();
+        if (footerContainer != null) footerContainer.destroy();
+    }
+
+    /**
+     * Performs an action by performing an action on the appropriate portlet component
+     * contained by this PortletPage
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        // if there is a layout action do it!
+        PortletRequest req = event.getActionRequest();
+
+        String cid = event.getComponentID();
+        if (cid != null) {
+            PortletComponent comp = getActiveComponent(cid);
+            if (comp != null) {
+                System.err.println("Calling action performed on " + comp.getClass().getName() + ": label=" + comp.getLabel());
+                String reqRole = comp.getRequiredRole();
+                if (reqRole.equals("") || req.isUserInRole(reqRole)) comp.actionPerformed(event);
+            }
+        }
+    }
+
+    public PortletComponent getActiveComponent(String cid) {
+        // the component id determines where in the list the portlet component is
+        // first check the hash
+
+        ComponentIdentifier compId = null;
+        int compIntId;
+        if (labelsHash.containsKey(cid)) {
+            Integer cint = (Integer) labelsHash.get(cid);
+            compIntId = cint.intValue();
+            compId = (ComponentIdentifier) componentIdentifiers.get(compIntId);
+        } else {
+            // try converting to integer
+            try {
+                compIntId = Integer.parseInt(cid);
+                // number can't exceed available components
+                if (compIntId < componentIdentifiers.size()) {
+                    compId = (ComponentIdentifier) componentIdentifiers.get(compIntId);
+                }
+            } catch (NumberFormatException e) {
+                System.err.println("unable to convert cid=" + cid);
+            } catch (ArrayIndexOutOfBoundsException e) {
+                System.err.println("unable to convert cid=" + cid);
+            }
+        }
+        return (compId != null) ? compId.getPortletComponent() : null;
+    }
+
+
+    /**
+     * Renders the portlet container by performing doRender on all portlet components
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        // handle any client logic to determin which markup to display
+
+        super.doRender(event);
+        RenderRequest req = event.getRenderRequest();
+
+        req.setAttribute(SportletProperties.DISPLAY_MODES, Boolean.valueOf(displayModes));
+        req.setAttribute(SportletProperties.DISPLAY_STATES, Boolean.valueOf(displayStates));
+
+        boolean floating = false;
+        PortletFrame f = null;
+        // In case the "floating" portlet state has been selected:
+        String wstate = req.getParameter(SportletProperties.PORTLET_WINDOW);
+        if ((wstate != null) && (wstate.equalsIgnoreCase("FLOATING"))) {
+            String cid = event.getComponentID();
+            PortletComponent comp = getActiveComponent(cid);
+
+            PortletComponent pc = comp.getParentComponent();
+            if (comp instanceof PortletFrame) {
+                f = (PortletFrame) comp;
+            } else if (pc != null) {
+                if (pc instanceof PortletFrame) {
+                    f = (PortletFrame) pc;
+                }
+            }
+
+            if (f != null) {
+                // render portlet frame in pop-up without titlebar
+                f.setTransparent(true);
+                req.setAttribute(CacheService.NO_CACHE, CacheService.NO_CACHE);
+                req.setAttribute(SportletProperties.FLOAT_STATE, "true");
+
+                String reqRole = f.getRequiredRole();
+
+                if (req.isUserInRole(reqRole) || (reqRole.equals(""))) {
+                    f.doRender(event);
+                }
+
+
+                f.setTransparent(false);
+                floating = true;
+                //writer.println(f.getBufferedOutput(req));
+            }
+        } else {
+
+            // A Portal page in 3 lines -- voila!
+            //  -------- header ---------
+            if (headerContainer != null) {
+                headerContainer.setStyle(PortletContainer.STYLE_HEADER);
+                headerContainer.doRender(event);
+                //writer.println(headerContainer.getBufferedOutput(req));
+            }
+
+            // ..| tabs | here |....
+            if (component != null) {
+
+                component.doRender(event);
+                //writer.println(tabbedPane.getBufferedOutput(req));
+            }
+            //.... the footer ..........
+            if (footerContainer != null) {
+                footerContainer.setStyle(PortletContainer.STYLE_FOOTER);
+                footerContainer.doRender(event);
+                //writer.println(footerContainer.getBufferedOutput(req));
+            }
+
+        }
+
+        StringBuffer page = new StringBuffer();
+
+        page.append(pageView.doStart(event, this));
+
+        if (floating) page.append(f.getBufferedOutput(req));
+        if (headerContainer != null) page.append(headerContainer.getBufferedOutput(req));
+        if (component != null) page.append(component.getBufferedOutput(req));
+        if (footerContainer != null) page.append(footerContainer.getBufferedOutput(req));
+
+        page.append(pageView.doEnd(event, this));
+
+        setBufferedOutput(req, page);
+
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+
+        PortletPage c = (PortletPage) super.clone();
+        c.COMPONENT_ID = this.COMPONENT_ID;
+        c.renderKit = this.renderKit;
+        c.editable = this.editable;
+        c.keywords = this.keywords;
+        c.title = title;
+        c.headerContainer = (this.headerContainer == null) ? null : (PortletContainer) this.headerContainer.clone();
+        c.footerContainer = (this.footerContainer == null) ? null : (PortletContainer) this.footerContainer.clone();
+        c.component = (this.component == null) ? null : (PortletComponent) this.component.clone();
+        return c;
+    }
+
+    public void save(ServletContext ctx) throws IOException {
+        if (component instanceof PortletTabbedPane) {
+            PortletTabbedPane tabbedPane = (PortletTabbedPane) component;
+            try {
+                // save user tab
+                PortletTabbedPane myPane = new PortletTabbedPane();
+                for (int i = 0; i < tabbedPane.getTabCount(); i++) {
+                    PortletTab tab = tabbedPane.getPortletTabAt(i);
+                    if (tab.getCanModify()) {
+                        myPane.addTab(tab);
+                    }
+                }
+                if (myPane.getTabCount() > 0) {
+                    PortletLayoutDescriptor.saveLayoutComponent(myPane, layoutDescriptor, LAYOUT_MAPPING_PATH);
+                }
+            } catch (PersistenceManagerException e) {
+                throw new IOException("Unable to save user's tabbed pane: " + e.getMessage());
+            }
+        }
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPageFactory.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPageFactory.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletPageFactory.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,516 @@
+package org.gridsphere.layout;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.PortletSessionListener;
+import org.gridsphere.portletcontainer.impl.PortletSessionManager;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.io.*;
+import java.net.URL;
+import java.util.*;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletPageFactory.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+public class PortletPageFactory implements PortletSessionListener {
+
+    private Log log = LogFactory.getLog(PortletPageFactory.class);
+
+    public static final String TCK_PAGE = "TCK";
+    //public static final String SETUP_PAGE = "SetupLayout";
+    public static final String ERROR_PAGE = "error";
+    public static final String GUEST_PAGE = "guest";
+
+    // TODO these need refactoring later on
+    public static final String TEMPLATE_PAGE = "TemplateLayout";
+    public static final String USER_PAGE = "loggedin";
+
+    private static String USER_LAYOUT_DIR = null;
+
+    public static final String DEFAULT_THEME = "default";
+
+    private static PortletPageFactory instance = null;
+    private PortletSessionManager sessionManager = PortletSessionManager.getInstance();
+    private PortalConfigService portalConfigService = null;
+
+    protected URL LAYOUT_MAPPING_PATH = getClass().getResource("/org/gridsphere/layout/layout-mapping.xml");
+
+    // Store user layouts in a hash
+    private static Map<String, PortletPage> userLayouts = new HashMap<String, PortletPage>();
+
+    // a hash of hashes to contain all the users layouts
+    private static Map<String, Map<String, PortletPage>> layouts = new HashMap<String, Map<String, PortletPage>>();
+
+    // a hash of loaded master layouts used to make copies
+    private static Map<String, PortletPage> masterLayouts = new HashMap<String, PortletPage>();
+    private static Set<String> editableLayoutIds = new HashSet<String>();
+
+
+    private ServletContext context;
+
+    private PortletPageFactory() {
+
+    }
+
+    public void init(ServletContext ctx) {
+
+        this.context = ctx;
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+
+        USER_LAYOUT_DIR = settingsService.getRealSettingsPath("layouts/users");
+
+        String layoutsDirPath = settingsService.getRealSettingsPath("layouts");
+        File layoutsDir = new File(layoutsDirPath);
+        File[] layoutFiles = layoutsDir.listFiles();
+        PortletPage page = null;
+        for (int i = 0; i < layoutFiles.length; i++) {
+            File layoutFile = layoutFiles[i];
+            String layoutFileName = layoutFile.getName();
+            if (layoutFileName.endsWith(".xml")) {
+                String layoutId = layoutFileName.substring(0, layoutFileName.indexOf(".xml"));
+                try {
+                    page = PortletLayoutDescriptor.loadPortletPage(layoutFile.getAbsolutePath(), LAYOUT_MAPPING_PATH);
+                    page.setLayoutDescriptor(layoutFile.getAbsolutePath());
+                    if (page.getEditable()) editableLayoutIds.add(layoutId);
+                    masterLayouts.put(layoutId, page);
+                } catch (Exception e) {
+                    log.error("Unable to load portlet page: " + layoutFileName, e);
+                }
+            }
+        }
+
+        String newuserLayoutPath = settingsService.getRealSettingsPath("layouts/users");
+        File userdir = new File(newuserLayoutPath);
+        if (!userdir.exists()) {
+            userdir.mkdir();
+        }
+
+        // test page creation times
+        /*
+        PortletPage copy = null;
+        PortletPage guest = masterLayouts.get(GUEST_PAGE);
+        long startTime = System.currentTimeMillis();
+        try {
+            for (int i = 0; i < 1000; i++) {
+                copy = (PortletPage) deepCopy2(guest);
+            }
+            long endTime = System.currentTimeMillis();
+            System.err.println("Serialize copy 1000 pages in = " + (endTime - startTime) + " (ms) ");
+            for (int i = 0; i < 1000; i++) {
+                copy = (PortletPage) deepCopy(guest);
+            }
+            startTime = System.currentTimeMillis();
+            System.err.println("Clone copy 1000 pages in = " + (startTime - endTime) + " (ms) ");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        */
+
+        portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+    }
+
+    public static synchronized PortletPageFactory getInstance() {
+        if (instance == null) {
+            instance = new PortletPageFactory();
+        }
+        return instance;
+    }
+
+    public void login(HttpServletRequest request) {
+
+    }
+
+    public void logout(HttpSession session) {
+        log.debug("in logout PortletPageFactory");
+        String sessionId = session.getId();
+
+        Map usersLayouts = (Map) layouts.get(sessionId);
+        if (usersLayouts != null) {
+            Iterator it = usersLayouts.keySet().iterator();
+            while (it.hasNext()) {
+                String layoutId = (String) it.next();
+                log.debug("Removing " + layoutId + " container for:" + sessionId);
+                it.remove();
+            }
+            layouts.remove(sessionId);
+        }
+        if (userLayouts.containsKey(sessionId)) {
+            log.debug("Removing user  container for:" + sessionId);
+            userLayouts.remove(sessionId);
+        }
+
+    }
+
+    public Set<String> getEditableLayoutIds() {
+        return editableLayoutIds;
+    }
+
+    public Set<String> getLayoutIds() {
+        return masterLayouts.keySet();
+    }
+
+    public PortletTabbedPane getUserTabbedPane(PortletRequest req) {
+
+        String sessionId = req.getPortletSession(true).getId();
+
+        String userLayout = USER_LAYOUT_DIR + File.separator + req.getUserPrincipal().getName();
+
+        if (userLayouts.containsKey(sessionId)) {
+            PortletPage page = (PortletPage) userLayouts.get(USER_PAGE);
+            PortletTabbedPane pane = new PortletTabbedPane();
+            pane.setLayoutDescriptor(userLayout);
+            PortletComponent comp = (PortletComponent) page.getPortletComponent();
+            PortletTabbedPane existPane = (PortletTabbedPane) comp;
+            List<PortletTab> tabs = existPane.getPortletTabs();
+            for (PortletTab tab : tabs) {
+                if (tab.getCanModify()) {
+                    pane.addTab(tab);
+                }
+            }
+            return (!pane.getPortletTabs().isEmpty() ? pane : null);
+        }
+
+        File f = new File(userLayout);
+        PortletTabbedPane pane = null;
+
+
+        if (f.exists()) {
+            try {
+                pane = PortletLayoutDescriptor.loadPortletTabs(userLayout, LAYOUT_MAPPING_PATH);
+                pane.setLayoutDescriptor(userLayout);
+                log.debug("Adding user tab to layout");
+            } catch (Exception e) {
+                log.error("Unable to make a clone of the templatePage", e);
+                return null;
+            }
+        } else {
+            return null;
+        }
+
+        // create tmp page
+        PortletPage tmpPage = new PortletPage();
+        try {
+            //tmpPage.setLayoutDescriptor(userLayout + ".tmp");
+            PortletTabbedPane tmpPane = (PortletTabbedPane) deepCopy(pane);
+            tmpPage.setPortletComponent(tmpPane);
+            this.setPageTheme(tmpPage, req);
+            tmpPage.init(req, new ArrayList<ComponentIdentifier>());
+            tmpPane.save();
+            return tmpPane;
+        } catch (Exception e) {
+            log.error("Unable to save user pane!", e);
+        }
+
+        return null;
+
+    }
+
+    public void setPageTheme(PortletPage page, PortletRequest req) {
+        String theme = null;
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+        if (user != null) theme = (String) user.getAttribute(User.THEME);
+        if (theme == null) {
+            theme = portalConfigService.getProperty(PortalConfigService.DEFAULT_THEME);
+        }
+        req.getPortletSession().setAttribute(SportletProperties.LAYOUT_THEME, theme, PortletSession.APPLICATION_SCOPE);
+    }
+
+    public PortletPage createPortletPageCopy(String layoutId) {
+        // get the master copy of the page
+        PortletPage masterPage = (PortletPage) masterLayouts.get(layoutId);
+        PortletPage copy = null;
+        // there are two cases where a master may not be there, TCK case and logged in  user
+        try {
+            copy = (PortletPage) deepCopy(masterPage);
+        } catch (Exception e) {
+            log.error("Failed to make a copy of the master page: " + layoutId);
+            return createErrorPage();
+        }
+        return copy;
+    }
+
+    public void savePortletPageMaster(PortletPage page) {
+        String layoutDesc = page.getLayoutDescriptor();
+        String layoutId = layoutDesc.substring(layoutDesc.lastIndexOf(File.separator) + 1, layoutDesc.lastIndexOf(".xml"));
+        log.debug("saving layout: " + layoutId);
+
+        try {
+            PortletLayoutDescriptor.saveLayoutComponent(page, layoutDesc, LAYOUT_MAPPING_PATH);
+            masterLayouts.put(layoutId, page);
+        } catch (Exception e) {
+            log.error("Unable to save layout descriptor: " + layoutDesc, e);
+        }
+
+        // remove any active layouts with this layoutId
+        for (Map<String, PortletPage> map : layouts.values()) {
+            Map userLayouts = (Map) map;
+            userLayouts.remove(layoutId);
+            log.debug("removing a layout: " + layoutId);
+        }
+    }
+
+
+    /**
+     * This is the primary entrance to retrieving a PortletPage
+     *
+     * @param event the gridsphere event
+     * @return a portlet page
+     */
+    public PortletPage getPortletPage(GridSphereEvent event) {
+        // first check for layout id in request parameter
+        PortletRequest req = event.getRenderRequest();
+        String layoutId = (String) req.getAttribute(SportletProperties.LAYOUT_PAGE);
+        //System.err.println("layoutId==" + layoutId);
+        if (layoutId == null) {
+            if (req.getUserPrincipal() == null) {
+                // if no reference to a layout exists, return a guest layout
+                //System.err.println("guest page");
+                layoutId = GUEST_PAGE;
+            } else {
+                //System.err.println("user page");
+                layoutId = USER_PAGE;
+            }
+            if (event.getLayoutID() != null) {
+                layoutId = event.getLayoutID();
+                // make sure if user has logged in and URL specifies guest page, then user gets directed to user page
+                if (layoutId.equals(GUEST_PAGE) && (req.getUserPrincipal() != null)) layoutId = USER_PAGE;
+            }
+
+            req.setAttribute(SportletProperties.LAYOUT_PAGE, layoutId);
+        }
+        return getPortletPageFromHash(req, layoutId);
+    }
+
+    /**
+     * This returns the page from the hashtable or creates a new one if necessary
+     *
+     * @param req      the portlet request
+     * @param layoutId the layout id
+     * @return the page
+     */
+    protected PortletPage getPortletPageFromHash(PortletRequest req, String layoutId) {
+        PortletSession session = req.getPortletSession();
+        PortletPage page = null;
+        Map<String, PortletPage> usersLayouts = (Map<String, PortletPage>) layouts.get(session.getId());
+        if (usersLayouts == null) {
+            usersLayouts = new HashMap<String, PortletPage>();
+            layouts.put(session.getId(), usersLayouts);
+        }
+
+        // now check for existing layout in hash
+        page = (PortletPage) usersLayouts.get(layoutId);
+        // only if no page exists, create a new one and place in hash
+        if (page == null) {
+            page = createPortletPage(req, layoutId);
+            String role = page.getRequiredRole();
+            if (!role.equals("") && !req.isUserInRole(role)) {
+                // use existing page
+                log.debug("User does not have proper permissions for layout=" + layoutId + "!!");
+                if (req.getUserPrincipal() == null) {
+                    // if no reference to a layout exists, return a guest layout
+                    layoutId = GUEST_PAGE;
+                } else {
+                    layoutId = USER_PAGE;
+                }
+                page = (PortletPage) usersLayouts.get(layoutId);
+                if (page == null) page = createPortletPage(req, layoutId);
+                req.setAttribute(SportletProperties.LAYOUT_PAGE, layoutId);
+            }
+            usersLayouts.put(layoutId, page);
+            log.debug("Creating new page " + layoutId + " placing in session " + session.getId());
+            sessionManager.addSessionListener(session.getId(), this);
+        }
+        setPageTheme(page, req);
+        return page;
+    }
+
+    public PortletPage createPortletPage(PortletRequest req, String layoutId) {
+        // get the master copy of the page
+
+        PortletPage masterPage = (PortletPage) masterLayouts.get(layoutId);
+        PortletPage copy = null;
+        // there are two cases where a master may not be there, TCK case and logged in  user
+        if (masterPage == null) {
+            log.info("master page is null " + layoutId);
+            if (layoutId.equals(TCK_PAGE)) {
+                copy = createTCKPage(req);
+            } else {
+                if (req.getUserPrincipal() == null) {
+                    // if no reference to a layout exists, return a guest layout
+                    return getPortletPageFromHash(req, GUEST_PAGE);
+                } else {
+                    return getPortletPageFromHash(req, USER_PAGE);
+                }
+            }
+        } else {
+            try {
+                copy = (PortletPage) deepCopy(masterPage);
+                log.info("Creating deep copy of page " + layoutId);
+            } catch (Exception e) {
+                log.error("Failed to make a copy of the master page: " + layoutId, e);
+                return createErrorPage();
+            }
+        }
+        setPageTheme(copy, req);
+        copy.init(req, new ArrayList<ComponentIdentifier>());
+        return copy;
+    }
+
+    public void removePortletPage(PortletRequest req) {
+        PortletSession session = req.getPortletSession();
+
+        String id = session.getId();
+        if (layouts.containsKey(id)) {
+            layouts.remove(id);
+        }
+        //log.debug("removed user layout: " + userLayout);
+    }
+
+    /*
+    public synchronized PortletPage shallowCopy(PortletPage page) throws CloneNotSupportedException {
+        return (PortletPage) page.clone();
+    }
+    */
+
+    public synchronized PortletTabbedPane deepCopy(PortletTabbedPane pane) throws CloneNotSupportedException {
+        return (PortletTabbedPane) deepCopy(pane);
+    }
+
+    public synchronized Object deepCopy(Object oldObj) throws Exception {
+        ObjectOutputStream oos = null;
+        ObjectInputStream ois = null;
+        try {
+            ByteArrayOutputStream bos =
+                    new ByteArrayOutputStream(); // A
+            oos = new ObjectOutputStream(bos); // B
+            // serialize and pass the object
+            oos.writeObject(oldObj);   // C
+            oos.flush();               // D
+            ByteArrayInputStream bin =
+                    new ByteArrayInputStream(bos.toByteArray()); // E
+            ois = new ObjectInputStream(bin);                  // F
+            // return the new object
+            return ois.readObject(); // G
+        } catch (Exception e) {
+            throw e;
+        } finally {
+            if (oos != null) oos.close();
+            if (ois != null) ois.close();
+        }
+    }
+
+
+    public void logStatistics() {
+        /*
+        log.debug("\n\nnumber of guest layouts: " + guests.size());
+        Iterator it = guests.keySet().iterator();
+        while (it.hasNext()) {
+            String id = (String) it.next();
+            log.debug("guest has session: " + id);
+        }
+        log.debug("number of user layouts: " + userLayouts.size());
+        it = userLayouts.keySet().iterator();
+        while (it.hasNext()) {
+            String id = (String) it.next();
+            log.debug("user has session: " + id);
+        }
+        */
+    }
+
+    // TODO
+    public PortletPage createErrorPage() {
+        return createPortletPageCopy(ERROR_PAGE);
+    }
+
+    public PortletPage createTCKPage(PortletRequest req) {
+        String[] portletNames = req.getParameterValues("portletName");
+        PortletPage page = null;
+        // Sun TCK test uses Jakarta Commons-HttpClient/2.0beta1
+
+        // if (event.getClient().getUserAgent().indexOf("HttpClient") > 0) {
+        if (portletNames != null) {
+            log.info("Creating TCK LAYOUT!");
+            String pageName = req.getParameter("pageName");
+            page = new PortletPage();
+            PortletTableLayout tableLayout = new PortletTableLayout();
+            StringTokenizer tokenizer;
+            for (int i = 0; i < portletNames.length; i++) {
+                tokenizer = new StringTokenizer(portletNames[i], "/");
+                String appName = tokenizer.nextToken();
+                String portletName = tokenizer.nextToken();
+                //String portletClass = registry.getPortletClassName(appName, portletName);
+                //if (portletClass == null) {
+                //    log.error("Unable to find portlet class for " + portletName);
+                //}
+                if (pageName == null) {
+                    pageName = "TCK_testpage_" + portletName;
+                }
+                PortletFrame frame = new PortletFrame();
+                PortletTitleBar tb = new PortletTitleBar();
+                //tb.setPortletClass(portletClass);
+                tb.setPortletClass(appName + "#" + portletName);
+                frame.setPortletTitleBar(tb);
+                //frame.setPortletClass(portletClass);
+                frame.setPortletClass(appName + "#" + portletName);
+                tableLayout.addPortletComponent(frame);
+            }
+
+            PortletTab tab = new PortletTab();
+            tab.setTitle("en", pageName);
+            tab.setPortletComponent(tableLayout);
+            PortletTabbedPane pane = new PortletTabbedPane();
+            pane.addTab(tab);
+            page.setPortletComponent(pane);
+            page.setLayoutDescriptor("/tmp/test.xml");
+            try {
+                page.save(context);
+                this.setPageTheme(page, req);
+                page.init(req, new ArrayList<ComponentIdentifier>());
+            } catch (IOException e) {
+                log.error("Unable to save TCK page to /tmp/test.xml", e);
+            }
+        }
+        //  }
+        return page;
+    }
+
+    // TODO
+    public void renameRole(PortletRequest req, String oldRole, String newRole) {
+        List<PortletPage> pages = new ArrayList<PortletPage>();
+        pages.add(masterLayouts.get("GuestUserLayout"));
+        pages.add(masterLayouts.get("LoggedInUserLayout"));
+        try {
+            for (PortletPage p : pages) {
+                PortletPage page = (PortletPage) deepCopy(p);
+                page.init(req, new ArrayList<ComponentIdentifier>());
+                List<ComponentIdentifier> compList = page.getComponentIdentifierList();
+                boolean resetLayout = false;
+                for (ComponentIdentifier compId : compList) {
+                    PortletComponent comp = compId.getPortletComponent();
+                    String reqRole = comp.getRequiredRole();
+                    if (reqRole.equalsIgnoreCase(oldRole)) {
+                        resetLayout = true;
+                        comp.setRequiredRole(newRole);
+                    }
+                }
+                if (resetLayout) savePortletPageMaster(page);
+            }
+        } catch (Exception e) {
+            log.error("Unable to load/save descriptor", e);
+        }
+
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletRowLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletRowLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletRowLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PortletRowLayout.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ *
+ */
+public class PortletRowLayout extends PortletFrameLayout implements Cloneable, Serializable {
+
+    private transient Render rowView = null;
+
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        rowView = (Render)getRenderClass(req, "RowLayout");
+        return list;
+    }
+
+    public void doRender(GridSphereEvent event) {
+        StringBuffer row = new StringBuffer();
+        PortletComponent p;
+        row.append(rowView.doStart(event, this));
+        for (int i = 0; i < components.size(); i++) {
+            p = (PortletComponent) components.get(i);
+            row.append(rowView.doStartBorder(event, p));
+            if (p.getVisible()) {
+                p.doRender(event);
+                row.append(p.getBufferedOutput(event.getRenderRequest()));
+            }
+            row.append(rowView.doEndBorder(event, this));
+        }
+
+        row.append(rowView.doEnd(event, this));
+
+
+        setBufferedOutput(event.getRenderRequest(), row);
+    }
+
+
+    public Object clone() throws CloneNotSupportedException {
+        return (PortletRowLayout) super.clone();
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        for (int i = 0; i < components.size(); i++) {
+            sb.append(components.toString());
+        }
+        return sb.toString();
+    }
+}
+ 
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletStaticContent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletStaticContent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletStaticContent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletStaticContent.java 4986 2006-08-04 09:54:38Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.RenderResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+
+/**
+ * <code>PortletContent</code> is used to display the contents of an included
+ * text file located in the ui application.
+ */
+public class PortletStaticContent extends BasePortletComponent implements Serializable, Cloneable {
+
+    private String textFile = null;
+    private String encoding = null;
+    protected StringBuffer content = null;
+
+    /**
+     * Constructs an instance of PortletContent
+     */
+    public PortletStaticContent() {
+    }
+
+    /**
+     * Sets the text file to be included specified as a path relative to the
+     * webapp root directory e.g. /html/newtext.txt
+     *
+     * @param textFile the relative path to load a text file
+     */
+    public void setInclude(String textFile) {
+        this.textFile = textFile;
+    }
+
+    /**
+     * Returns the text file path of the included file
+     *
+     * @return the relative path of the text file
+     */
+    public String getInclude() {
+        return textFile;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    /**
+     * Renders the portlet text component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+
+        PortletRequest req = event.getRenderRequest();
+        PortletResponse res = event.getRenderResponse();
+        if (textFile != null) {
+
+            // Try the localized version first
+            StringWriter writer = new StringWriter();
+            RenderResponse sres = new StoredPortletResponseImpl((HttpServletRequest) req, (HttpServletResponse) res, writer);
+            InputStream resourceStream = req.getPortletSession(true).getPortletContext().getResourceAsStream(textFile);
+            if (resourceStream != null) {
+                try {
+                    Reader reader;
+                    if (encoding != null) {
+                        reader = new BufferedReader(new InputStreamReader(resourceStream, encoding));
+                    } else {
+                        reader = new BufferedReader(new InputStreamReader(resourceStream));
+                    }
+                    writeData(reader, sres.getWriter());
+                    content = writer.getBuffer();
+                } catch (IOException e) {
+                    log.error("Unable to render static content from file: " + textFile, e);
+                    content.append("Unable to render static content from file: ").append(textFile);
+                }
+            }
+
+        }
+    }
+
+    public StringBuffer getBufferedOutput() {
+        return content;
+    }
+
+    private void writeData(Reader reader, Writer writer) {
+        try {
+            int ch;
+            while ((ch = reader.read()) != -1) {
+                writer.write(ch);
+            }
+        } catch (IOException ioex) {
+            log.error("Unable to write data:", ioex);
+        }
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletStaticContent t = (PortletStaticContent) super.clone();
+        t.textFile = this.textFile;
+        t.content = this.content;
+        t.encoding = this.encoding;
+        return t;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        sb.append("\ntext file=").append(textFile);
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTab.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTab.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTab.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,321 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTab.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletTabEvent;
+import org.gridsphere.layout.event.impl.PortletTabEventImpl;
+import org.gridsphere.portlet.service.spi.impl.descriptor.Description;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+import java.io.Serializable;
+import java.util.*;
+
+/**
+ * A <code>PortletTab</code> represents the visual tab graphical interface and is contained
+ * by a {@link PortletTabbedPane}. A tab contains a title and any additional
+ * portlet component, such as another tabbed pane if a double level
+ * tabbed pane is desired.
+ */
+public class PortletTab extends BasePortletComponent implements Serializable, Cloneable, Comparator {
+
+    public static final int DEFAULT_USERTAB_ORDER = 20;
+    private List<Description> titles = new ArrayList<Description>();
+    private transient boolean selected = false;
+    private String url = null;
+    private PortletComponent portletComponent = null;
+    private int tabOrder = 50;
+    private String align = "left";
+    private boolean outline = true;
+    private String padding = null;
+
+    //protected StringBuffer tab = new StringBuffer();
+    /**
+     * Constructs an instance of PortletTab
+     */
+    public PortletTab() {
+    }
+
+    /**
+     * Constructs an instance of PortletTab with the supplied title and
+     * portlet component.
+     *
+     * @param titles           the titles of the portlet tab
+     * @param portletComponent any portlet component to represent beneath the tab
+     */
+    public PortletTab(List<Description> titles, PortletComponent portletComponent) {
+        this.titles = titles;
+        this.portletComponent = portletComponent;
+    }
+
+    public String getAlign() {
+        return align;
+    }
+
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    public boolean getOutline() {
+        return outline;
+    }
+
+    public void setOutline(boolean outline) {
+        this.outline = outline;
+    }
+
+    public String getPadding() {
+        return padding;
+    }
+
+    public void setPadding(String padding) {
+        this.padding = padding;
+    }
+
+    public int getTabOrder() {
+        return tabOrder;
+    }
+
+    public void setTabOrder(int tabOrder) {
+        this.tabOrder = tabOrder;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+
+    public String getUrl() {
+        return url;
+    }
+
+    /**
+     * Returns the portlet tab title
+     *
+     * @return the portlet tab title
+     */
+    public List<Description> getTitles() {
+        return titles;
+    }
+
+    /**
+     * Sets the portlet tab title
+     *
+     * @param titles the portlet tab title
+     */
+    public void setTitles(List<Description> titles) {
+        this.titles = titles;
+    }
+
+    public String getTitle(String lang) {
+        if (lang == null) throw new IllegalArgumentException("lang is NULL");
+        Iterator it = titles.iterator();
+        String defTitle = null;
+        while (it.hasNext()) {
+            Description t = (Description) it.next();
+            if (t.getLang() == null) t.setLang(Locale.ENGLISH.getLanguage());
+            if (lang.equals(t.getLang())) return t.getText();
+            if (t.getLang().regionMatches(0, lang, 0, 2)) return t.getText();
+            if (t.getLang().equals(Locale.ENGLISH.getLanguage())) defTitle = t.getText();
+        }
+        return defTitle;
+    }
+
+    public void setTitle(String lang, String title) {
+        Iterator it = titles.iterator();
+        boolean found = false;
+        if (lang == null) throw new IllegalArgumentException("lang is NULL");
+        if (title == null) throw new IllegalArgumentException("title is NULL");
+
+        while (it.hasNext()) {
+            Description t = (Description) it.next();
+            if (lang.equalsIgnoreCase(t.getLang())) {
+                found = true;
+                t.setText(title);
+            }
+        }
+        if (!found) {
+            Description t = new Description();
+            t.setLang(lang);
+            t.setText(title);
+            titles.add(t);
+        }
+    }
+
+    /**
+     * Creates the portlet tab title links that are rendered by the
+     * {@link PortletTabbedPane}
+     *
+     * @param event the gridsphere event
+     * @return the tab title hyperlink
+     */
+    public String createTabTitleLink(GridSphereEvent event) {
+        super.doRender(event);
+        if (url != null) return url;
+        RenderResponse res = event.getRenderResponse();
+
+        PortletURL portletURL = res.createRenderURL();
+
+        return portletURL.toString();
+    }
+
+    /**
+     * Sets the selected flag used in determining if this tab is selected and
+     * should be rendered
+     *
+     * @param selected the selected flag is true if this tag is currently selected
+     */
+    public void setSelected(boolean selected) {
+        this.selected = selected;
+    }
+
+    /**
+     * Returns the selected flag used in determining if this tab is selected and
+     * hence rendered
+     *
+     * @return true if the tab is selected, false otherwise
+     */
+    public boolean isSelected() {
+        return selected;
+    }
+
+    /**
+     * Sets the concrete portlet component contained by the portlet tab
+     *
+     * @param portletComponent a concrete portlet component instance
+     */
+    public void setPortletComponent(PortletComponent portletComponent) {
+        this.portletComponent = portletComponent;
+    }
+
+    /**
+     * Returns the concrete portlet component contained by the portlet tab
+     *
+     * @return the concrete portlet component instance conatined by this tab
+     */
+    public PortletComponent getPortletComponent() {
+        return portletComponent;
+    }
+
+    public void removePortletComponent() {
+        this.portletComponent = null;
+    }
+
+    /**
+     * Initializes the portlet tab. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+        if (portletComponent != null) {
+            list = portletComponent.init(req, list);
+            portletComponent.addComponentListener(this);
+            portletComponent.setParentComponent(this);
+        }
+        return list;
+    }
+
+    /*
+    public void remove(PortletComponent pc, PortletRequest req) {
+        portletComponent = null;
+        parent.remove(this);
+    }
+    */
+
+    /**
+     * Performs an action on this portlet tab component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+
+        super.actionPerformed(event);
+
+        // pop last event from stack
+        event.getLastRenderEvent();
+        PortletTabEvent tabEvent = new PortletTabEventImpl(this, PortletTabEvent.TabAction.TAB_SELECTED, COMPONENT_ID);
+
+        Iterator it = listeners.iterator();
+        PortletComponent comp;
+        while (it.hasNext()) {
+            comp = (PortletComponent) it.next();
+            event.addNewRenderEvent(tabEvent);
+            comp.actionPerformed(event);
+        }
+
+    }
+
+    /**
+     * Renders the portlet tab component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        PortletRequest req = event.getRenderRequest();
+        if (portletComponent == null) return;
+        StringBuffer tab = new StringBuffer();
+        if ((requiredRoleName.equals("")) || (req.isUserInRole(requiredRoleName))) {
+            portletComponent.doRender(event);
+            tab.append(portletComponent.getBufferedOutput(req));
+        }
+        setBufferedOutput(req, tab);
+    }
+
+
+    public int compare(Object left, Object right) {
+        int leftID = ((PortletTab) left).getTabOrder();
+        int rightID = ((PortletTab) right).getTabOrder();
+        int result;
+        if (leftID < rightID) {
+            result = -1;
+        } else if (leftID > rightID) {
+            result = 1;
+        } else {
+            result = 0;
+        }
+        return result;
+    }
+
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletTab t = (PortletTab) super.clone();
+        t.tabOrder = this.tabOrder;
+        t.outline = this.outline;
+        t.padding = this.padding;
+        t.url = this.url;
+        t.portletComponent = (this.portletComponent == null) ? null : (PortletComponent) this.portletComponent.clone();
+        t.selected = this.selected;
+        t.titles = new ArrayList<Description>(titles.size());
+        for (int i = 0; i < titles.size(); i++) {
+            Description title = (Description) titles.get(i);
+            t.titles.add((Description) title.clone());
+        }
+        return t;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\ntab order=").append(tabOrder);
+        sb.append("\ntab selected=").append(selected);
+        for (Description desc : titles) {
+            sb.append("\nlang=").append(desc.getLang());
+            sb.append("\ntitle=").append(desc.getText());
+        }
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTabbedPane.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTabbedPane.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTabbedPane.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @author <a href="mailto:wehrens at aei.mpg.de">Oliver Wehrens</a>
+* @version $Id: PortletTabbedPane.java 5032 2006-08-17 18:15:06Z novotny $
+*/
+
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.event.PortletTabListener;
+import org.gridsphere.layout.view.TabbedPaneView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * The <code>PortletTabbedPane</code> represents the visual portlet tabbed pane interface
+ * and is a container for a {@link PortletTab}.
+ */
+public class PortletTabbedPane extends PortletNavMenu implements Serializable, PortletTabListener, Cloneable {
+
+    private transient TabbedPaneView tabbedPaneView = null;
+
+    /**
+     * Constructs an instance of PortletTabbedPane
+     */
+    public PortletTabbedPane() {
+    }
+
+
+    /**
+     * Initializes the portlet tabbed pane component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        tabbedPaneView = (TabbedPaneView) getRenderClass(req, "TabbedPane");
+        return super.init(req, list);
+    }
+
+    /**
+     * Renders the portlet frame component
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        //super.doRender(event);
+        StringBuffer pane = new StringBuffer();
+        RenderRequest req = event.getRenderRequest();
+
+        //log.debug("in tabbed pane: my comp is=" + componentIDStr);
+        pane.append(tabbedPaneView.doStart(event, this));
+
+        PortletTab tab;
+        List tabs = getPortletTabs();
+        for (int i = 0; i < tabs.size(); i++) {
+            tab = (PortletTab) tabs.get(i);
+            String tabRole = tab.getRequiredRole();
+            if (tabRole.equals("") || (req.isUserInRole(tabRole))) {
+                pane.append(tabbedPaneView.doRenderTab(event, this, tab));
+            } else {
+                // if role is < required role we try selecting the next possible tab
+                //System.err.println("in PortletTabbedPane menu: role is < required role we try selecting the next possible tab");
+                if (tab.isSelected()) {
+                    int index = (i + 1);
+                    if (index < tabs.size()) {
+                        PortletTab newtab = (PortletTab) tabs.get(index);
+                        setSelectedPortletTab(newtab);
+                    }
+                }
+            }
+        }
+
+        if (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null) {
+            pane.append(tabbedPaneView.doRenderEditTab(event, this, false));
+        }
+
+        pane.append(tabbedPaneView.doEndBorder(event, this));
+
+        // render the selected tab
+        if (!tabs.isEmpty()) {
+            PortletTab selectedTab = getSelectedTab();
+            //System.err.println("selected tab= " + selectedTab.toString());
+            if (selectedTab != null) {
+                selectedTab.doRender(event);
+                pane.append(selectedTab.getBufferedOutput(req));
+            }
+        }
+
+        pane.append(tabbedPaneView.doEnd(event, this));
+        setBufferedOutput(req, pane);
+
+    }
+
+
+    public Object clone() throws CloneNotSupportedException {
+        return (PortletTabbedPane) super.clone();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTableLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTableLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTableLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,270 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PortletTableLayout.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.gridsphere.layout.view.TableLayoutView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.ApplicationPortletImpl;
+import org.gridsphere.provider.portlet.jsr.PortletServlet;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import org.gridsphere.services.core.jcr.ContentException;
+import org.gridsphere.services.core.jcr.JCRService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.*;
+
+/**
+ * The <code>PortletTableLayout</code> is a concrete implementation of the <code>PortletFrameLayout</code>
+ * that organizes portlets into a grid with a provided number of columns.
+ * Portlets are arranged in column-wise order starting from the left most column.
+ */
+public class PortletTableLayout extends PortletFrameLayout implements Serializable, Cloneable {
+
+    public static final String PORTLET_COL = "gs_col";
+    public static final String PORTLET_ADD_PORTLET = "gs_addPortlet";
+    public static final String PORTLET_NO_ACTION = "gs_none";
+
+    public static final String PORTLET_ADD_CONTENT = "gs_addContent";
+
+    protected transient TableLayoutView tableView = null;
+
+    protected transient PortletRegistryService registryService;
+    protected transient JCRService contentService;
+
+    /**
+     * css Style of the table
+     */
+    protected String style = "";
+
+    /**
+     * Constructs an instance of PortletTableLayout
+     */
+    public PortletTableLayout() {
+    }
+
+    /**
+     * Returns the CSS style name for the grid-layout.
+     *
+     * @return css style name
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the CSS style name for the grid-layout.
+     * This needs to be set if you want to have transparent portlets, if there is
+     * no background there can't be a real transparent portlet.
+     * Most likely one sets just the background in that one.
+     *
+     * @param style css style of the that layout
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        try {
+            registryService = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+            contentService = (JCRService) PortletServiceFactory.createPortletService(JCRService.class, true);
+        } catch (PortletServiceException e) {
+            log.error("Unable to create instance of PortletRegistryService!");
+        }
+        tableView = (TableLayoutView) getRenderClass(req, "TableLayout");
+        return super.init(req, list);
+    }
+
+    private PortletComponent getMaximizedComponent(List<PortletComponent> components) {
+        PortletComponent p;
+        for (int i = 0; i < components.size(); i++) {
+            p = components.get(i);
+            if (p instanceof PortletLayout) {
+                PortletComponent layout = this.getMaximizedComponent(((PortletLayout) p).getPortletComponents());
+                if (layout != null) {
+                    p = layout;
+                }
+            }
+            if (p.getWidth().equals("100%")) {
+                return p;
+            }
+        }
+        return null;
+    }
+
+    protected void addPortlet(GridSphereEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+
+        String portletId = req.getParameter(PORTLET_ADD_PORTLET);
+
+        if (portletId.equals(PORTLET_NO_ACTION)) return;
+
+        String colStr = req.getParameter(PORTLET_COL);
+        int col = Integer.valueOf(colStr).intValue();
+
+        // first loop thru rows to see if one is empty for the requested column
+        if (!components.isEmpty()) {
+            Object o = components.get(0);
+            if (o instanceof PortletFrameLayout) {
+                PortletFrameLayout r = (PortletFrameLayout) o;
+                List<PortletComponent> cols = r.getPortletComponents();
+
+                Object c = cols.get(col);
+
+                if (c instanceof PortletFrameLayout) {
+                    PortletFrameLayout existingColumn = (PortletFrameLayout) c;
+
+                    if (!portletId.equals("")) {
+                        PortletFrame frame = new PortletFrame();
+                        frame.setPortletClass(portletId);
+                        existingColumn.addPortletComponent(frame);
+                    }
+                }
+            }
+        }
+        req.setAttribute(SportletProperties.INIT_PAGE, "true");
+    }
+
+    protected void addContent(GridSphereEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+
+        String textFile = req.getParameter(PORTLET_ADD_CONTENT);
+
+        if (textFile.equals(PORTLET_NO_ACTION)) return;
+
+        String colStr = req.getParameter(PORTLET_COL);
+        int col = Integer.valueOf(colStr).intValue();
+
+        // first loop thru rows to see if one is empty for the requested column
+        if (!components.isEmpty()) {
+            Object o = components.get(0);
+            if (o instanceof PortletFrameLayout) {
+                PortletFrameLayout r = (PortletFrameLayout) o;
+                List<PortletComponent> cols = r.getPortletComponents();
+
+                Object c = cols.get(col);
+
+                if (c instanceof PortletFrameLayout) {
+                    PortletFrameLayout existingColumn = (PortletFrameLayout) c;
+
+                    if (!textFile.equals("")) {
+                        PortletContent content = new PortletContent();
+                        content.setInclude("jcr://" + textFile);
+                        existingColumn.addPortletComponent(content);
+                    }
+                }
+            }
+        }
+        req.setAttribute(SportletProperties.INIT_PAGE, "true");
+    }
+
+    public void customActionPerformed(GridSphereEvent event) {
+        if (event.hasAction()) {
+            if (event.getAction().getName().equals(PORTLET_ADD_PORTLET)) {
+                addPortlet(event);
+            }
+            if (event.getAction().getName().equals(PORTLET_ADD_CONTENT)) {
+                addContent(event);
+            }
+        }
+    }
+
+    public Set<ApplicationPortlet> getAllPortletsToAdd(GridSphereEvent event) {
+        PortletRequest req = event.getRenderRequest();
+        SortedSet<ApplicationPortlet> result = new TreeSet<ApplicationPortlet>();
+        //Set<ApplicationPortlet> result = new HashSet<ApplicationPortlet>();
+        Collection<ApplicationPortlet> appColl = registryService.getAllApplicationPortlets();
+        Locale locale = req.getLocale();
+        for (ApplicationPortlet appPortlet : appColl) {
+            String concID = appPortlet.getConcretePortletID();
+            // we don't want to list PortletServlet loader!
+            if (concID.startsWith(PortletServlet.class.getName())) continue;
+            ApplicationPortletImpl api = (ApplicationPortletImpl) appPortlet;
+            api.setCompareLocale(locale);
+            result.add(appPortlet);
+        }
+        return result;
+    }
+
+    public Map<String, String> getAllContentToAdd(GridSphereEvent event) {
+        Map<String, String> allContent = new HashMap<String, String>();
+        List<ContentDocument> docs = null;
+        try {
+            docs = contentService.listChildContentDocuments("");
+            for (int i = 0; i < docs.size(); i++) {
+                ContentDocument doc = docs.get(i);
+                allContent.put(doc.getTitle(), doc.getTitle());
+            }
+        } catch (ContentException e) {
+            e.printStackTrace();
+        }
+        return allContent;
+    }
+
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        PortletRequest req = event.getRenderRequest();
+        StringBuffer table = new StringBuffer();
+        PortletComponent p;
+
+        // check if one window is maximized
+        for (int i = 0; i < components.size(); i++) {
+            p = (PortletComponent) components.get(i);
+            if (p instanceof PortletLayout) {
+                PortletComponent maxi = getMaximizedComponent(components);
+                if (maxi != null) {
+                    table.append(tableView.doStartMaximizedComponent(event, this));
+                    maxi.doRender(event);
+                    table.append(maxi.getBufferedOutput(req));
+                    table.append(tableView.doEndMaximizedComponent(event, this));
+                    if (((canModify) && (!hasFrameMaximized)) || (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null)) {
+                        table.append(tableView.doRenderSelectPortlets(event, this));
+                        table.append(tableView.doRenderSelectContent(event, this));
+                    }
+                    setBufferedOutput(req, table);
+                    return;
+                }
+            }
+        }
+
+        table.append(tableView.doStart(event, this));
+
+        for (int i = 0; i < components.size(); i++) {
+            p = (PortletComponent) components.get(i);
+            table.append(tableView.doStartBorder(event, p));
+            if (p.getVisible()) {
+                p.doRender(event);
+                table.append(p.getBufferedOutput(req));
+            }
+            table.append(tableView.doEndBorder(event, this));
+        }
+
+        req.setAttribute(SportletProperties.COMPONENT_ID, componentIDStr);
+
+        /** setup bottom add portlet and content listboxes */
+        if (((canModify) && (!hasFrameMaximized)) || (req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE) != null)) {
+
+            table.append(tableView.doRenderSelectPortlets(event, this));
+            table.append(tableView.doRenderSelectContent(event, this));
+        }
+
+        table.append(tableView.doEnd(event, this));
+        setBufferedOutput(req, table);
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletTableLayout g = (PortletTableLayout) super.clone();
+        g.style = this.style;
+        return g;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTitleBar.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTitleBar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/PortletTitleBar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,801 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTitleBar.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.event.PortletTitleBarEvent;
+import org.gridsphere.layout.event.PortletTitleBarListener;
+import org.gridsphere.layout.event.PortletWindowEvent;
+import org.gridsphere.layout.event.impl.PortletTitleBarEventImpl;
+import org.gridsphere.layout.event.impl.PortletWindowEventImpl;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.PortletInvoker;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+import org.gridsphere.services.core.security.role.PortletRole;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.security.Principal;
+import java.util.*;
+
+/**
+ * A <code>PortletTitleBar</code> represents the visual display of the portlet title bar
+ * within a portlet frame and is contained by {@link PortletFrame}.
+ * The title bar contains portlet mode and window state as well as a title.
+ */
+public class PortletTitleBar extends BasePortletComponent implements Serializable, Cloneable {
+
+    private Log log = LogFactory.getLog(PortletTitleBar.class);
+
+    private String title = "unknown title";
+    private String portletClass = null;
+
+    private transient PortletRegistryService portletRegistryService = null;
+    private transient PortletInvoker portletInvoker = null;
+
+    private transient WindowState windowState = WindowState.NORMAL;
+
+    private transient PortletMode portletMode = PortletMode.VIEW;
+    private transient PortletMode previousMode = PortletMode.VIEW;
+    private transient List<javax.portlet.WindowState> allowedWindowStates = new ArrayList<javax.portlet.WindowState>();
+
+    private transient String errorMessage = "";
+    private transient boolean hasError = false;
+    private transient boolean isActive = false;
+
+    private transient List<PortletTitleBar.PortletModeLink> modeLinks = null;
+    private transient List<PortletTitleBar.PortletStateLink> windowLinks = null;
+
+    private transient Render titleView = null;
+
+    // display modes in title bar at all?
+    private transient boolean displayModes = true;
+
+    // display states in title bar at all?
+    private transient boolean displayStates = true;
+
+    /**
+     * Link is an abstract representation of a hyperlink with an href, image and
+     * alt tags.
+     */
+    abstract class Link {
+        protected String href = "";
+        protected String imageSrc = "";
+        protected String altTag = "";
+        protected String symbol = "";
+        protected String cursor = "";
+
+        /**
+         * Returns the image source attribute in the link
+         *
+         * @return the image source attribute in the link
+         */
+        public String getImageSrc() {
+            return imageSrc;
+        }
+
+        public String getSymbol() { //WAP 2.0 Extention
+            return symbol;
+        }
+
+        /**
+         * Returns the CSS cursor style to use
+         *
+         * @return the cursor
+         */
+        public String getCursor() {
+            return cursor;
+        }
+
+        /**
+         * Sets the CSS cursor style to use
+         *
+         * @param cursor the cursor
+         */
+        public void setCursor(String cursor) {
+            this.cursor = cursor;
+        }
+
+        /**
+         * Sets the href attribute in the link
+         *
+         * @param href the href attribute in the link
+         */
+        public void setHref(String href) {
+            this.href = href;
+        }
+
+        /**
+         * Returns the href attribute in the link
+         *
+         * @return the href attribute in the link
+         */
+        public String getHref() {
+            return href;
+        }
+
+        /**
+         * Returns the alt tag attribute in the link
+         *
+         * @return the alt tag attribute in the link
+         */
+        public String getAltTag() {
+            return altTag;
+        }
+
+        /**
+         * Returns a string containing the image src, href and alt tag attributes
+         * Used primarily for debugging purposes
+         */
+        public String toString() {
+            StringBuffer sb = new StringBuffer("\n");
+            sb.append("image src: ").append(imageSrc).append("\n");
+            sb.append("href: ").append(href).append("\n");
+            sb.append("alt tag: ").append(altTag).append("\n");
+            return sb.toString();
+        }
+    }
+
+    /**
+     * PortletModeLink is a concrete instance of a Link used for creating
+     * portlet mode hyperlinks
+     */
+    public class PortletModeLink extends Link {
+
+        public static final String configImage = "images/window_configure.gif";
+        public static final String configSymbol = "c";//WAP 2.0 Extention
+        public static final String editImage = "images/window_edit.gif";
+        public static final String editSymbol = "/";//WAP 2.0 Extention
+        public static final String helpImage = "images/window_help.gif";
+        public static final String helpSymbol = "?";//WAP 2.0 Extention
+        public static final String viewImage = "images/window_view.gif";
+        public static final String viewSymbol = "V";//WAP 2.0Extention
+
+        /**
+         * Constructs an instance of PortletModeLink with the supplied portlet mode
+         *
+         * @param mode   the portlet mode
+         * @param locale the locale
+         * @throws PortletModeException if the mode is not supported
+         */
+        public PortletModeLink(PortletMode mode, Locale locale) throws PortletModeException {
+            if (mode == null) return;
+
+            ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+            String key = mode.toString().toUpperCase();
+            altTag = bundle.getString(key);
+            // Set the image src
+            if (mode.equals(new PortletMode("CONFIG"))) {
+                imageSrc = configImage;
+                symbol = configSymbol;//WAP 2.0
+            } else if (mode.equals(PortletMode.EDIT)) {
+                imageSrc = editImage;
+                symbol = editSymbol;//WAP 2.0
+            } else if (mode.equals(PortletMode.HELP)) {
+                imageSrc = helpImage;
+                symbol = helpSymbol;//WAP 2.0
+                cursor = "help";
+            } else if (mode.equals(PortletMode.VIEW)) {
+                imageSrc = viewImage;
+                symbol = viewSymbol;//WAP 2.0
+            } else {
+                throw new PortletModeException("Unsupported portlet mode: ", mode);
+            }
+        }
+    }
+
+    /**
+     * PortletStateLink is a concrete instance of a Link used for creating
+     * portlet window state hyperlinks
+     */
+    public class PortletStateLink extends Link {
+
+        public static final String closeImage = "images/window_close.gif";
+        public static final String minimizeImage = "images/window_minimize.gif";
+        public static final String maximizeImage = "images/window_maximize.gif";
+        public static final String normalImage = "images/window_normal.gif";
+        public static final String floatImage = "images/window_float.gif";
+
+        public static final String closeSymbol = "X"; //WAP 2.0
+        public static final String minimizeSymbol = "_"; //WAP 2.0
+        public static final String maximizeSymbol = "="; //WAP 2.0
+        public static final String normalSymbol = "-"; //WAP 2.0
+        public static final String floatSymbol = "^"; //WAP 2.0
+
+        /**
+         * Constructs an instance of PortletStateLink with the supplied window state
+         *
+         * @param state  the window state
+         * @param locale the client locale
+         * @throws WindowStateException if the state is unsupported
+         */
+        public PortletStateLink(WindowState state, Locale locale) throws WindowStateException {
+            if (state == null) return;
+            // Set the image src
+            if (state.equals(WindowState.MINIMIZED)) {
+                imageSrc = minimizeImage;
+                symbol = minimizeSymbol;
+            } else if (state.equals(WindowState.MAXIMIZED)) {
+                imageSrc = maximizeImage;
+                symbol = maximizeSymbol;
+            } else if (state.equals(WindowState.NORMAL)) {
+                imageSrc = normalImage;
+                symbol = normalSymbol;
+            } else if (state.equals(new WindowState("closed"))) {
+                imageSrc = closeImage;
+                symbol = closeSymbol;
+            } else if (state.equals(new WindowState("floating"))) {
+                imageSrc = floatImage;
+                symbol = floatSymbol;
+            } else {
+                throw new WindowStateException("Unsupported window state window mode: ", state);
+            }
+            ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+            String key = state.toString().toUpperCase();
+            altTag = bundle.getString(key);
+        }
+
+
+    }
+
+    /**
+     * Constructs an instance of PortletTitleBar
+     */
+    public PortletTitleBar() {
+    }
+
+    /**
+     * Sets the portlet class used to render the title bar
+     *
+     * @param portletClass the concrete portlet class
+     */
+    public void setPortletClass(String portletClass) {
+        this.portletClass = portletClass;
+    }
+
+    /**
+     * Returns the portlet class used in rendering the title bar
+     *
+     * @return the concrete portlet class
+     */
+    public String getPortletClass() {
+        return portletClass;
+    }
+
+    public boolean isActive() {
+        return isActive;
+    }
+
+    public void setActive(boolean isActive) {
+        this.isActive = isActive;
+    }
+
+    /**
+     * Returns the title of the portlet title bar
+     *
+     * @return the portlet title bar
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * Sets the title of the portlet title bar
+     *
+     * @param title the portlet title bar
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * Sets the window state of this title bar
+     *
+     * @param state the portlet window state expressed as a string
+     */
+    public void setWindowState(WindowState state) {
+        if (state != null) this.windowState = state;
+    }
+
+    /**
+     * Returns the window state of this title bar
+     *
+     * @return the portlet window state expressed as a string
+     */
+    public WindowState getWindowState() {
+        return windowState;
+    }
+
+    /**
+     * Sets the window state of this title bar
+     *
+     * @param state the portlet window state expressed as a string
+     */
+    public void setWindowStateAsString(String state) {
+        if (state != null) {
+            try {
+                this.windowState = new WindowState(state);
+            } catch (IllegalArgumentException e) {
+                // do nothing
+            }
+        }
+    }
+
+    /**
+     * Returns the window state of this title bar
+     *
+     * @return the portlet window state expressed as a string
+     */
+    public String getWindowStateAsString() {
+        return windowState.toString();
+    }
+
+    /**
+     * Sets the portlet mode of this title bar
+     *
+     * @param mode the portlet mode expressed as a string
+     */
+    public void setPortletMode(PortletMode mode) {
+        if (mode != null) this.portletMode = mode;
+    }
+
+    /**
+     * Returns the portlet mode of this title bar
+     *
+     * @return the portlet mode expressed as a string
+     */
+    public PortletMode getPortletMode() {
+        return portletMode;
+    }
+
+    /**
+     * Sets the portlet mode of this title bar
+     *
+     * @param mode the portlet mode expressed as a string
+     */
+    public void setPreviousMode(PortletMode mode) {
+        if (mode != null) this.previousMode = mode;
+    }
+
+    /**
+     * Returns the portlet mode of this title bar
+     *
+     * @return the portlet mode expressed as a string
+     */
+    public PortletMode getPreviousMode() {
+        return previousMode;
+    }
+
+    /**
+     * Sets the portlet mode of this title bar
+     *
+     * @param mode the portlet mode expressed as a string
+     */
+    public void setPortletModeAsString(String mode) {
+        if (mode == null) return;
+        try {
+            this.portletMode = new PortletMode(mode);
+        } catch (IllegalArgumentException e) {
+            // do nothing
+        }
+    }
+
+    /**
+     * Returns the portlet mode of this title bar
+     *
+     * @return the portlet mode expressed as a string
+     */
+    public String getPortletModeAsString() {
+        return portletMode.toString();
+    }
+
+    /**
+     * Indicates an error ocurred suring the processing of this title bar
+     *
+     * @return <code>true</code> if an error occured during rendering,
+     *         <code>false</code> otherwise
+     */
+    public boolean hasRenderError() {
+        return hasError;
+    }
+
+    /**
+     * Returns any errors associated with the functioning of this title bar
+     *
+     * @return any title bar errors that occured
+     */
+    public String getErrorMessage() {
+        return errorMessage;
+    }
+
+    /**
+     * Initializes the portlet title bar. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        titleView = (Render) getRenderClass(req, "TitleBar");
+        portletInvoker = new PortletInvoker();
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setPortletClass(portletClass);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+        portletRegistryService = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+        String appID = portletRegistryService.getApplicationPortletID(portletClass);
+        ApplicationPortlet appPortlet = portletRegistryService.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            allowedWindowStates = appPortlet.getAllowedWindowStates();
+            allowedWindowStates = sort(allowedWindowStates);
+            if (canModify) {
+                if (!allowedWindowStates.contains(new WindowState("CLOSED"))) {
+                    allowedWindowStates.add(new WindowState("CLOSED"));
+                }
+            }
+        }
+        displayModes = req.getAttribute(SportletProperties.DISPLAY_MODES).equals(Boolean.TRUE);
+        displayStates = req.getAttribute(SportletProperties.DISPLAY_STATES).equals(Boolean.TRUE);
+        return list;
+    }
+
+    /**
+     * Simple sorting algoritm that sorts in increasing order a <code>List</code>
+     * containing objects that implement <code>Comparator</code>
+     *
+     * @param list a <code>List</code> to be sorted
+     * @return the sorted list
+     */
+    private List<javax.portlet.WindowState> sort(List<javax.portlet.WindowState> list) {
+
+        List<javax.portlet.WindowState> tmp = new ArrayList<javax.portlet.WindowState>();
+
+        if (list.contains(WindowState.MINIMIZED)) {
+            tmp.add(WindowState.MINIMIZED);
+        }
+        if (list.contains(WindowState.NORMAL)) {
+            tmp.add(WindowState.NORMAL);
+        }
+        if (list.contains(WindowState.MAXIMIZED)) {
+            tmp.add(WindowState.MAXIMIZED);
+        }
+        if (list.contains(new WindowState("CLOSED"))) {
+            tmp.add(new WindowState("CLOSED"));
+        }
+        if (list.contains(new WindowState("FLOATING"))) {
+            tmp.add(new WindowState("FLOATING"));
+        }
+        return tmp;
+    }
+
+    /**
+     * Creates the portlet window state hyperlinks displayed in the title bar
+     *
+     * @param event the gridsphere event
+     * @return a list of window state hyperlinks
+     */
+    public List<PortletStateLink> createWindowLinks(GridSphereEvent event) {
+        super.doRender(event);
+        PortletURL portletURL;
+        RenderResponse res = event.getRenderResponse();
+
+        if (allowedWindowStates.isEmpty()) return null;
+
+        if (!displayStates) return null;
+
+        //String[] windowStates = new String[allowedWindowStates.size()];
+        List<javax.portlet.WindowState> windowStates = new ArrayList<javax.portlet.WindowState>();
+        for (WindowState state : allowedWindowStates) {
+            windowStates.add(state);
+            // remove current state from list
+            if (state.equals(windowState) && (!windowState.equals(new WindowState("closed")))) {
+                windowStates.remove(state);
+            }
+        }
+
+        // get rid of floating if window state is minimized
+        if (windowState.equals(WindowState.MINIMIZED)) {
+            windowStates.remove(new WindowState("floating"));
+        }
+
+        // Localize the window state names
+        RenderRequest req = event.getRenderRequest();
+
+        Locale locale = req.getLocale();
+
+        // create a URI for each of the window states
+        PortletStateLink stateLink;
+        List<PortletStateLink> stateLinks = new ArrayList<PortletStateLink>();
+        for (WindowState state : windowStates) {
+            portletURL = res.createActionURL();
+            try {
+                stateLink = new PortletStateLink(state, locale);
+                portletURL.setWindowState(state);
+                stateLink.setHref(portletURL.toString());
+                if (state.equals(new WindowState("floating"))) {
+                    stateLink.setHref(portletURL.toString() + "\" onclick=\"return GridSphere_popup(this, 'notes')\"");
+                }
+                stateLinks.add(stateLink);
+            } catch (WindowStateException e) {
+                log.error("a window state exception occurred! " + state);
+            }
+        }
+        return stateLinks;
+    }
+
+    /**
+     * Creates the portlet mode hyperlinks displayed in the title bar
+     *
+     * @param event the gridsphere event
+     * @return a list of portlet mode hyperlinks
+     */
+    public List<PortletTitleBar.PortletModeLink> createModeLinks(GridSphereEvent event) {
+        super.doRender(event);
+        RenderResponse res = event.getRenderResponse();
+        RenderRequest req = event.getRenderRequest();
+
+        if (!displayModes) return null;
+
+        // make modes from supported modes
+        Set<String> supportedModes = (Set<String>) req.getAttribute(SportletProperties.ALLOWED_MODES);
+        if (supportedModes == null) return null;
+
+        // Unless user is admin they should not see configure mode
+        boolean hasConfigurePermission = req.isUserInRole(PortletRole.ADMIN.getName());
+        List<String> smodes = new ArrayList<String>();
+
+        for (String mode : supportedModes) {
+            if (mode.equalsIgnoreCase("config")) {
+                if (hasConfigurePermission) {
+                    smodes.add(mode);
+                }
+            } else {
+                smodes.add(mode);
+            }
+            // remove current mode from list
+            smodes.remove(portletMode.toString());
+        }
+
+        // Localize the portlet mode names
+        Locale locale = req.getLocale();
+
+        List<PortletModeLink> portletLinks = new ArrayList<PortletModeLink>();
+        for (String mode : smodes) {
+            // create a URI for each of the portlet modes
+            PortletModeLink modeLink;
+
+            PortletURL portletURL = res.createActionURL();
+            try {
+                PortletMode pmode = new PortletMode(mode);
+                modeLink = new PortletModeLink(pmode, locale);
+                portletURL.setPortletMode(pmode);
+                modeLink.setHref(portletURL.toString());
+                portletLinks.add(modeLink);
+            } catch (PortletModeException e) {
+                log.error("Unable to get mode for : " + mode);
+            }
+        }
+        return portletLinks;
+    }
+
+    /**
+     * Performs an action on this portlet title bar component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        super.actionPerformed(event);
+        isActive = true;
+
+        HttpServletRequest req = event.getHttpServletRequest();
+        ActionResponse res = event.getActionResponse();
+
+        req.setAttribute(SportletProperties.PORTLETID, portletClass);
+
+        // Render title bar
+        Set<String> supportedModes = null;
+        String appID = portletRegistryService.getApplicationPortletID(portletClass);
+        ApplicationPortlet appPortlet = portletRegistryService.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            supportedModes = appPortlet.getSupportedModes(event.getClient().getMimeType());
+        }
+        req.setAttribute(SportletProperties.ALLOWED_MODES, supportedModes);
+
+        // pop last event off stack
+        event.getLastRenderEvent();
+
+        PortletTitleBarEvent titleBarEvent = new PortletTitleBarEventImpl(this, event, COMPONENT_ID);
+
+        Principal principal = event.getActionRequest().getUserPrincipal();
+        if (principal != null) {
+
+            if (titleBarEvent.hasAction()) {
+
+                if (titleBarEvent.hasWindowStateAction()) {
+
+                    // don't set window state if it is floating
+                    if (!titleBarEvent.getState().equals(new WindowState("floating")))
+                        windowState = titleBarEvent.getState();
+
+                    //System.err.println("setting window state= " + windowState);
+                    PortletWindowEvent winEvent = null;
+
+                    // if receive a window state that is not supported do nothing
+                    if (!allowedWindowStates.contains(windowState)) return;
+
+                    if (windowState.equals(WindowState.MAXIMIZED)) {
+                        winEvent = new PortletWindowEventImpl(req, PortletWindowEvent.WINDOW_MAXIMIZED);
+                    } else if (windowState.equals(WindowState.MINIMIZED)) {
+                        winEvent = new PortletWindowEventImpl(req, PortletWindowEvent.WINDOW_MINIMIZED);
+                    } else if (windowState.equals(WindowState.NORMAL)) {
+                        winEvent = new PortletWindowEventImpl(req, PortletWindowEvent.WINDOW_RESTORED);
+                    } else if (windowState.equals(new WindowState("CLOSED"))) {
+                        winEvent = new PortletWindowEventImpl(req, PortletWindowEvent.WINDOW_CLOSED);
+                    }
+                    if (winEvent != null) {
+                        try {
+                            portletInvoker.windowEvent((String) req.getAttribute(SportletProperties.PORTLETID), winEvent, req, (HttpServletResponse) res);
+                        } catch (Exception e) {
+                            hasError = true;
+                            errorMessage += "Failed to invoke window event method of portlet: " + portletClass;
+                        }
+                    }
+                }
+                if (titleBarEvent.hasPortletModeAction()) {
+                    /*
+                    if (titleBarEvent.getMode().equals(Portlet.Mode.CONFIGURE)) {
+                        @TODO fix me
+                        boolean hasrole = aclService.hasRequiredRole(req, portletClass, true);
+                        if (!hasrole) return;
+
+                    }*/
+                    previousMode = portletMode;
+                    portletMode = titleBarEvent.getMode();
+                    //System.err.println("mode = " + portletMode);
+                    //System.err.println("prev mode = " + previousMode);
+                }
+            }
+        }
+
+        req.setAttribute(SportletProperties.PORTLET_WINDOW, windowState);
+        try {
+            res.setPortletMode(portletMode);
+        } catch (PortletModeException e) {
+            log.error("Unable to set mode to " + portletMode);
+        }
+        req.setAttribute(SportletProperties.PREVIOUS_MODE, previousMode);
+
+        for (PortletComponent comp : listeners) {
+            event.addNewRenderEvent(titleBarEvent);
+            comp.actionPerformed(event);
+        }
+    }
+
+    /**
+     * Fires a title bar event notification
+     *
+     * @param event a portlet title bar event
+     */
+    protected void fireTitleBarEvent(PortletTitleBarEvent event) {
+        for (PortletComponent titleBarListener : listeners) {
+            ((PortletTitleBarListener) titleBarListener).handleTitleBarEvent(event);
+        }
+    }
+
+    public List<PortletTitleBar.PortletModeLink> getModeLinks() {
+        return modeLinks;
+    }
+
+    public List<PortletTitleBar.PortletStateLink> getWindowLinks() {
+        return windowLinks;
+    }
+
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        hasError = false;
+
+        // title bar: configure, edit, help, title, min, max
+        RenderRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+
+        Set<String> supportedModes = null;
+        String appID = portletRegistryService.getApplicationPortletID(portletClass);
+        ApplicationPortlet appPortlet = portletRegistryService.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            supportedModes = appPortlet.getSupportedModes(event.getClient().getMimeType());
+        }
+        req.setAttribute(SportletProperties.ALLOWED_MODES, supportedModes);
+        PortalContext portalContext = appPortlet.getPortalContext();
+        req.setAttribute(SportletProperties.PORTAL_CONTEXT, portalContext);
+
+        // get the appropriate title for this client
+
+        Locale locale = req.getLocale();
+
+        Principal principal = req.getUserPrincipal();
+        if (principal != null) {
+            if (portletClass != null) {
+                modeLinks = createModeLinks(event);
+                windowLinks = createWindowLinks(event);
+            }
+        }
+
+        //System.err.println("in title bar render portletclass=" + portletClass + ": setting prev mode= " + previousMode + " cur mode= " + portletMode);
+
+        req.setAttribute(SportletProperties.PORTLET_MODE, portletMode);
+        req.setAttribute(SportletProperties.PREVIOUS_MODE, previousMode);
+        req.setAttribute(SportletProperties.PORTLET_WINDOW, windowState);
+
+        StringBuffer preTitle = titleView.doStart(event, this);
+        req.setAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".pre", preTitle.toString());
+
+        StringBuffer postTitle = titleView.doEnd(event, this);
+        req.setAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".post", postTitle.toString());
+
+        StringWriter storedWriter = new StringWriter();
+        PrintWriter writer = new PrintWriter(storedWriter);
+        PortletResponse wrappedResponse = new StoredPortletResponseImpl((HttpServletRequest) req, (HttpServletResponse) res, writer);
+
+        try {
+            //System.err.println("invoking  doTitle:" + title);
+            portletInvoker.doTitle((String) req.getAttribute(SportletProperties.PORTLETID), (HttpServletRequest) req, (HttpServletResponse) wrappedResponse);
+            //out.println(" (" + portletMode.toString() + ") ");
+            title = storedWriter.toString();
+        } catch (Exception e) {
+            ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+            title = bundle.getString("PORTLET_UNAVAILABLE");
+            hasError = true;
+            errorMessage = portletClass + " " + title + "!\n"; //"PortletException:" + e.getMessage();
+            log.error(portletClass + " is currently unavailable:", e);
+        }
+    }
+
+    public String getPreBufferedTitle(PortletRequest req) {
+        String preTitle = (String) req.getAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".pre");
+        req.removeAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".pre");
+        return preTitle;
+    }
+
+    public String getPostBufferedTitle(PortletRequest req) {
+        String postTitle = (String) req.getAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".post");
+        req.removeAttribute(SportletProperties.RENDER_OUTPUT + COMPONENT_ID + ".post");
+        return postTitle;
+    }
+
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletTitleBar t = (PortletTitleBar) super.clone();
+        t.title = this.title;
+        t.portletClass = this.portletClass;
+        t.portletMode = new PortletMode(this.portletMode.toString());
+        t.windowState = new WindowState(this.windowState.toString());
+        t.previousMode = this.previousMode;
+        return t;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        return sb.toString();
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/SelectionContainer.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/SelectionContainer.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/SelectionContainer.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+package org.gridsphere.layout;
+
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The <code>PortletContainer</code> acts a container for a list of one or more portlet components
+ */
+public class SelectionContainer extends BasePortletComponent implements
+        Serializable, Cloneable {
+
+    protected List<PortletComponent> components = new ArrayList<PortletComponent>();
+    protected String activeLabel = null;
+    protected String defaultLabel = null;
+
+    /**
+     * Initializes the portlet component. Since the components are isolated
+     * after Castor unmarshalls from XML, the ordering is determined by a
+     * passed in List containing the previous portlet components in the tree.
+     *
+     * @param list a list of component identifiers
+     * @return a list of updated component identifiers
+     * @see org.gridsphere.layout.ComponentIdentifier
+     */
+    public List<ComponentIdentifier> init(PortletRequest req, List<ComponentIdentifier> list) {
+        list = super.init(req, list);
+        ComponentIdentifier compId = new ComponentIdentifier();
+        compId.setPortletComponent(this);
+        compId.setComponentID(list.size());
+        compId.setComponentLabel(label);
+        compId.setClassName(this.getClass().getName());
+        list.add(compId);
+
+
+        PortletComponent p;
+        for (int i = 0; i < components.size(); i++) {
+            p = (PortletComponent)components.get(i);
+            if (p.getLabel().equals(defaultLabel)) activeLabel = defaultLabel;
+            // invoke init on each component
+            list = p.init(req, list);
+            p.setParentComponent(this);
+        }
+
+        if (activeLabel == null) activeLabel = ((PortletComponent)components.get(0)).getLabel();
+        return list;
+    }
+
+    /**
+     * Sets the list of new portlet component to the layout
+     *
+     * @param components an ArrayList of portlet components
+     */
+    public void setPortletComponents(List<PortletComponent> components) {
+        this.components = components;
+    }
+
+    /**
+     * Returns a list containing the portlet components in this layout
+     *
+     * @return a list of portlet components
+     */
+    public List<PortletComponent> getPortletComponents() {
+        return components;
+    }
+
+    public String getDefaultLabel() {
+        return defaultLabel;
+    }
+
+    public void setDefaultLabel(String defaultLabel) {
+        this.defaultLabel = defaultLabel;
+    }
+
+    /**
+     * Destroys this portlet component
+     */
+    public void destroy() {
+        components = null;
+    }
+
+    /**
+     * Performs an action on this portlet component
+     *
+     * @param event a gridsphere event
+     */
+    public void actionPerformed(GridSphereEvent event) {
+        super.actionPerformed(event);
+        updateActiveLabel(event);
+    }
+
+    /**
+     * Renders the portlet components in the frame layout
+     *
+     * @param event a gridsphere event
+     */
+    public void doRender(GridSphereEvent event) {
+        super.doRender(event);
+        PortletComponent p;
+        for (int i = 0; i < components.size(); i++) {
+            p = (PortletComponent)components.get(i);
+            if (p.getLabel().equals(activeLabel)) {
+                p.doRender(event);
+                setBufferedOutput(event.getRenderRequest(), p.getBufferedOutput(event.getRenderRequest()));
+                return;
+            }
+        }
+    }
+
+    protected void updateActiveLabel(GridSphereEvent event) {
+        PortletRequest req = event.getActionRequest();
+        String selectedLabel = req.getParameter("select");
+        if (selectedLabel != null) {
+            PortletComponent comp = null;
+            for (int i = 0; i < components.size(); i++) {
+                comp = (PortletComponent)components.get(i);
+                if (comp.getLabel().equals(selectedLabel)) {
+                    activeLabel = selectedLabel;
+                    return;
+                }
+            }
+        }
+        activeLabel = defaultLabel;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        SelectionContainer f = (SelectionContainer) super.clone();
+
+        f.components = new ArrayList<PortletComponent>(components.size());
+        for (int i = 0; i < components.size(); i++) {
+            PortletComponent comp = (PortletComponent) components.get(i);
+            f.components.add((PortletComponent)comp.clone());
+        }
+        return f;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append(super.toString());
+        sb.append("activeLabel=").append(activeLabel);
+        sb.append("defaultLabel=").append(defaultLabel);
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/ComponentAction.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/ComponentAction.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/ComponentAction.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ComponentAction.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+
+/**
+ * A <code>ComponentAction</code> identifies any kind of portlet component action by integer
+ */
+public interface ComponentAction {
+
+    public int getID();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletComponentEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletComponentEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletComponentEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletComponentEvent.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+import org.gridsphere.layout.PortletComponent;
+
+import javax.portlet.PortletRequest;
+
+/**
+ * A <code>PortletComponentEvent</code> is a general portlet render event
+ */
+public interface PortletComponentEvent {
+
+    /**
+     * Returns the portlet title bar event action
+     *
+     * @return the portlet title bar event action
+     */
+    public ComponentAction getAction();
+
+    /**
+     * Returns true if this event actually triggered an action
+     *
+     * @return true if this event actually triggered an action
+     */
+    public boolean hasAction();
+
+    /**
+     * Returns the PortletComponent that was selected
+     *
+     * @return the PortletComponent that was selcted
+     */
+    public PortletComponent getPortletComponent();
+
+    /**
+     * Returns the component id of the portlet component
+     *
+     * @return the component id of the portlet component
+     */
+    public int getID();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletFrameEvent.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+/**
+ * A <code>PortletFrameEvent</code> is created by a <code>PortletFrame</code>
+ * when a window event has been triggered.
+ */
+public interface PortletFrameEvent extends PortletComponentEvent {
+
+    /**
+     * An Action defines an immutable set of known window events.
+     * <p/>
+     * <ul>
+     * <li>FRAME_MAXIMIZED</li>
+     * <li>FRAME_MINIMIZED</li>
+     * <li>FRAME_RESTORED</li>
+     * </ul>
+     */
+    public static final class FrameAction implements ComponentAction {
+
+        public static final FrameAction FRAME_MAXIMIZED = new FrameAction(1);
+        public static final FrameAction FRAME_RESTORED = new FrameAction(2);
+        public static final FrameAction FRAME_MINIMIZED = new FrameAction(3);
+        public static final FrameAction FRAME_CLOSED = new FrameAction(4);
+
+        private int action = 0;
+
+        /**
+         * Constructs an instance of Action.
+         *
+         * @param action a unique integer id
+         */
+        private FrameAction(int action) {
+            this.action = action;
+        }
+
+        public int getID() {
+            return action;
+        }
+    }
+
+    /**
+     * Returns the type of PortletFrame action received
+     *
+     * @return the PortletFrameEvent.Action
+     */
+    public ComponentAction getAction();
+
+    /**
+     * Returns the component id of  the PortletFrame that triggered the event
+     *
+     * @return the component id of  the PortletFrame
+     */
+    public int getID();
+
+    /**
+     * Used in the case of portlet frame resize when it needs to know the original width of the frame
+     *
+     * @return the portlet frame original width
+     */
+    public String getOriginalWidth();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameListener.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletFrameListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletFrameListener.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+/**
+ * The <code>PortletFrameListener</code> is an interface for an observer to register to
+ * receive notifications of changes to a portlet frame component.
+ */
+public interface PortletFrameListener {
+
+    /**
+     * Gives notification that a portlet frame event has occured
+     *
+     * @param event the portlet frame event
+     */
+    public void handleFrameEvent(PortletFrameEvent event);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTabEvent.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+
+/**
+ * A <code>PortletTabEvent</code> is triggered by a <code>PortletTab</code>
+ * when a tab has been selected.
+ */
+public interface PortletTabEvent extends PortletComponentEvent {
+
+    /**
+     * An Action defines a single tab event action:
+     * <p/>
+     * <ul><li>TAB_SELECTED</li></ul>
+     */
+    public static final class TabAction implements ComponentAction {
+
+        public static final TabAction TAB_SELECTED = new TabAction(1);
+
+        private int action = 0;
+
+        /**
+         * Action is immutable and cannot be created outside of this class
+         *
+         * @param action a unique integer id
+         */
+        private TabAction(int action) {
+            this.action = action;
+        }
+
+        public int getID() {
+            return action;
+        }
+    }
+
+    /**
+     * Returns the component id of the portlet tab
+     *
+     * @return the component id of the portlet tab
+     */
+    public int getID();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabListener.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTabListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+package org.gridsphere.layout.event;
+
+
+/**
+ * The <code>PortletTabListener</code> is an interface for an observer to register to
+ * receive notifications of changes to a portlet tab component.
+ */
+public interface PortletTabListener {
+
+    /**
+     * Gives notification that a portlet tab event has occured
+     *
+     * @param event the portlet tab event
+     */
+    public void handlePortletTabEvent(PortletTabEvent event);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTitleBarEvent.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout.event;
+
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+
+/**
+ * A <code>PortletTitleBarEvent</code> is created by a <code>PortletTitleBar</code>
+ * when a title bar event has been triggered.
+ */
+public interface PortletTitleBarEvent extends PortletComponentEvent {
+
+    /**
+     * Action is an immutable representing the window state and portlet mode
+     * of the portlet title bar.
+     */
+    public static final class TitleBarAction implements ComponentAction {
+
+        public static final TitleBarAction WINDOW_MODIFY = new TitleBarAction(1);
+
+        public static final TitleBarAction MODE_MODIFY = new TitleBarAction(5);
+
+        private int action = 0;
+
+        /**
+         * Action cannot be instantiated outside of this class
+         */
+        private TitleBarAction(int action) {
+            this.action = action;
+        }
+
+        public int getID() {
+            return action;
+        }
+    }
+
+    /**
+     * Returns the portlet title bar mode
+     *
+     * @return mode the portlet title bar mode
+     */
+    public PortletMode getMode();
+
+    /**
+     * Returns the portlet title bar window state
+     *
+     * @return the portlet title bar window state
+     */
+    public WindowState getState();
+
+    /**
+     * Returns true if this title bar event signals a window state change
+     *
+     * @return true if this title bar event signals a window state change
+     */
+    public boolean hasWindowStateAction();
+
+    /**
+     * Returns true if this title bar event signals a portlet mode change
+     *
+     * @return true if this title bar event signals a portlet mode change
+     */
+    public boolean hasPortletModeAction();
+
+    /**
+     * Returns the portlet title bar component id
+     *
+     * @return the portlet title bar component id
+     */
+    public int getID();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarListener.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletTitleBarListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTitleBarListener.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+/**
+ * The <code>PortletTitleBarListener</code> is an interface for an observer to register to
+ * receive notifications of changes to a portlet title bar component.
+ */
+public interface PortletTitleBarListener {
+
+    /**
+     * Gives notification that a portlet title bar event has occured
+     *
+     * @param event the portlet title bar event
+     */
+    public void handleTitleBarEvent(PortletTitleBarEvent event);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletWindowEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletWindowEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/PortletWindowEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,55 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: WindowEvent.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event;
+
+/**
+ * A <code>WindowEvent</code> is sent by a portlet window whenever the user or the portal interacts with its controls.
+ */
+public interface PortletWindowEvent {
+
+    /**
+     * Event identifier indicating that a portlet window will be detached.
+     * <p/>
+     * An event with this id is fired when the user has requested that the window be
+     * detached from the rest of the portlet page.
+     */
+    public static final int WINDOW_DETACHED = 0;
+
+    /**
+     * Event identifier indicating that a portlet window will be maximized.
+     * <p/>
+     * An event with this id is fired when the user has requested that the window be maximized.
+     */
+    public static final int WINDOW_MAXIMIZED = 1;
+
+    /**
+     * Event identifier indicating that a portlet window will be minimized.
+     * <p/>
+     * An event with this id is fired when the user has requested that the window be minimized.
+     */
+    public static final int WINDOW_MINIMIZED = 2;
+
+    /**
+     * Event identifier indicating that a portlet window will be restored.
+     * <p/>
+     * An event with this id is fired when the user has requested that the window be restored to its previous size.
+     */
+    public static final int WINDOW_RESTORED = 3;
+
+    /**
+     * Event identifier indicating that a portlet window is closed.
+     * <p/>
+     * An event with this id is fired when the user has requested that the window be closed.
+     */
+    public static final int WINDOW_CLOSED = 4;
+
+    /**
+     * Returns the identifier of the current window event
+     *
+     * @return the window event identifier
+     */
+    public int getEventId();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletFrameEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletFrameEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletFrameEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletFrameEventImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event.impl;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletFrame;
+import org.gridsphere.layout.event.ComponentAction;
+import org.gridsphere.layout.event.PortletFrameEvent;
+
+
+/**
+ * A <code>PortletFrameEventImpl</code> is the concrete implementation of
+ * <code>PortletFrameEvent</code>
+ */
+public class PortletFrameEventImpl implements PortletFrameEvent {
+
+    private ComponentAction action;
+    private int id;
+    private String width = "";
+    private PortletFrame frame = null;
+
+    /**
+     * Constructs an instance of PortletFrameEventImpl from an action
+     * and the component id of teh PortletFrame
+     *
+     * @param frame the portlet frame
+     * @param action a window action
+     * @param id     the component id of the PortletFrame
+     */
+    public PortletFrameEventImpl(PortletFrame frame, ComponentAction action, int id) {
+        this.frame = frame;
+        this.action = action;
+        this.id = id;
+    }
+
+    public boolean hasAction() {
+        return (action != null);
+    }
+
+    /**
+     * Returns the type of PortletFrame action received
+     *
+     * @return the window action
+     */
+    public ComponentAction getAction() {
+        return action;
+    }
+
+    public PortletComponent getPortletComponent() {
+        return frame;
+    }
+
+    /**
+     * Returns the component id of  the PortletFrame that triggered the event
+     *
+     * @return the component id of  the PortletFrame
+     */
+    public int getID() {
+        return id;
+    }
+
+    /**
+     * Used in the case of portlet frame resize when it needs to know the original width of the frame
+     *
+     * @param originalWidth the portlet frame original width
+     */
+    public void setOriginalWidth(String originalWidth) {
+        this.width = originalWidth;
+    }
+
+    /**
+     * Used in the case of portlet frame resize when it needs to know the original width of the frame
+     *
+     * @return the portlet frame original width
+     */
+    public String getOriginalWidth() {
+        return width;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTabEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTabEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTabEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTabEventImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event.impl;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletTab;
+import org.gridsphere.layout.event.ComponentAction;
+import org.gridsphere.layout.event.PortletTabEvent;
+
+/**
+ * A <code>PortletTabEventImpl</code> is the concrete implementation of
+ * <code>PortletTabEvent</code>
+ */
+public class PortletTabEventImpl implements PortletTabEvent {
+
+    private ComponentAction action;
+    private PortletTab portletTab;
+    private int id;
+
+    /**
+     * Constructs an instance of PortletTabEventImpl from a portlet tab, a
+     * tab event action and the portlet tab component id
+     *
+     * @param portletTab the portlet tab
+     * @param action     the portlet tab event action
+     * @param id         the portlet component id
+     * @see PortletTab
+     */
+    public PortletTabEventImpl(PortletTab portletTab, ComponentAction action, int id) {
+        this.action = action;
+        this.portletTab = portletTab;
+        this.id = id;
+    }
+
+    /**
+     * Returns true if this event actually triggered an action
+     *
+     * @return true if this event actually triggered an action
+     */
+    public boolean hasAction() {
+        return (action != null);
+    }
+
+    /**
+     * Returns the portlet tab event action
+     *
+     * @return the portlet tab event action
+     */
+    public ComponentAction getAction() {
+        return action;
+    }
+
+    /**
+     * Returns the PortletTab that was selected
+     *
+     * @return the PortletTab that was selcted
+     */
+    public PortletComponent getPortletComponent() {
+        return portletTab;
+    }
+
+    /**
+     * Returns the component id of the portlet tab
+     *
+     * @return the component id of the portlet tab
+     */
+    public int getID() {
+        return id;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletTitleBarEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,131 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTitleBarEventImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.layout.event.impl;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletTitleBar;
+import org.gridsphere.layout.event.ComponentAction;
+import org.gridsphere.layout.event.PortletTitleBarEvent;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * A <code>PortletTitleBarEventImpl</code> is the concrete implementation of
+ * <code>PortletTitleBarEvent</code>
+ */
+public class PortletTitleBarEventImpl implements PortletTitleBarEvent {
+
+    private ComponentAction action = null;
+    private int id;
+    private PortletTitleBar titleBar = null;
+    private boolean hasStateAction = false;
+    private boolean hasModeAction = false;
+    private PortletMode portletMode;
+    private WindowState windowState;
+
+    /**
+     * Constructs an instance of a PortletTitleBarEventImpl from a general
+     * portal event and the portlet title bar component id
+     *
+     * @param titleBar the portlet title bar
+     * @param event the GridSphereEvent
+     * @param id    the portlet title bar component id
+     */
+    public PortletTitleBarEventImpl(PortletTitleBar titleBar, GridSphereEvent event, int id) {
+        this.titleBar = titleBar;
+        HttpServletRequest request = event.getHttpServletRequest();
+        this.id = id;
+        String pMode = request.getParameter(SportletProperties.PORTLET_MODE);
+        if (pMode != null) {
+            action = PortletTitleBarEvent.TitleBarAction.MODE_MODIFY;
+            hasModeAction = true;
+            try {
+                portletMode = new PortletMode(pMode);
+            } catch (Exception e) {
+                portletMode = PortletMode.VIEW;
+            }
+        }
+        String wState = request.getParameter(SportletProperties.PORTLET_WINDOW);
+        if (wState != null) {
+            action = PortletTitleBarEvent.TitleBarAction.WINDOW_MODIFY;
+            hasStateAction = true;
+            if (wState != null) {
+                try {
+                    windowState = new WindowState(wState);
+                } catch (Exception e) {
+                    windowState = WindowState.NORMAL;
+                }
+            }
+        }
+    }
+
+    public boolean hasAction() {
+        return (action != null);
+    }
+
+    /**
+     * Returns the portlet title bar event action
+     *
+     * @return the portlet title bar event action
+     */
+    public ComponentAction getAction() {
+        return action;
+    }
+
+    /**
+     * Returns the portlet title bar mode
+     *
+     * @return mode the portlet title bar mode
+     */
+    public PortletMode getMode() {
+        return portletMode;
+    }
+
+    /**
+     * Returns the portlet title bar window state
+     *
+     * @return the portlet title bar window state
+     */
+    public WindowState getState() {
+        return windowState;
+    }
+
+    /**
+     * Returns true if this title bar event signals a window state change
+     *
+     * @return true if this title bar event signals a window state change
+     */
+    public boolean hasWindowStateAction() {
+        return hasStateAction;
+    }
+
+    /**
+     * Returns true if this title bar event signals a portlet mode change
+     *
+     * @return true if this title bar event signals a portlet mode change
+     */
+    public boolean hasPortletModeAction() {
+        return hasModeAction;
+    }
+
+    public PortletComponent getPortletComponent() {
+        return titleBar;
+    }
+
+    /**
+     * Returns the portlet title bar component id
+     *
+     * @return the portlet title bar component id
+     */
+    public int getID() {
+        return id;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletWindowEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletWindowEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/PortletWindowEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: WindowEventImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.event.impl;
+
+import org.gridsphere.layout.event.PortletWindowEvent;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.EventObject;
+
+/**
+ * A <code>WindowEventImpl</code> is the <code>WindowEvent</code> implementation
+ * that is responsible for handling window action events e.g. <code>MINIMIZED</code>,
+ * <code>MAXIMIZED</code> or <code>RESTORED</code>.
+ */
+public class PortletWindowEventImpl extends EventObject implements PortletWindowEvent {
+
+    private int event = -1;
+
+    /**
+     * Constructs an instance of <code>WindowEventImpl</code> with a provided
+     * portlet request and response
+     *
+     * @param req         the <code>PortletRequests</code>
+     * @param windowEvent the window event id
+     */
+    public PortletWindowEventImpl(HttpServletRequest req, int windowEvent) {
+        super(req);
+        this.event = windowEvent;
+    }
+
+    /**
+     * Returns the identifier of the current window event
+     *
+     * @return the window event identifier
+     */
+    public int getEventId() {
+        return event;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/impl/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Portal Layout Components Events Implementation</b>
+<p>
+Just like in AWT or Swing libraries, portlet layout components
+can receive events by implementing a listener.
+<p>
+The current component event implementations are:
+<ul>
+<li>{@link org.gridsphere.layout.event.impl.PortletFrameEventImpl}</li>
+<li>{@link org.gridsphere.layout.event.impl.PortletTabEventImpl}</li>
+<li>{@link org.gridsphere.layout.event.impl.PortletTitleBarEventImpl}</li>
+</ul>
+<p>
+
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/event/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Portal Layout Component Events API</b>
+<p>
+Just like in AWT or Swing libraries, portal layout components
+can receive events by implementing a listener.
+<p>
+The current component events are:
+<ul>
+<li>{@link org.gridsphere.layout.event.PortletFrameEvent}</li>
+<li>{@link org.gridsphere.layout.event.PortletTabEvent}</li>
+<li>{@link org.gridsphere.layout.event.PortletTitleBarEvent}</li>
+</ul>
+<p>
+The corresponding listeners are:
+<ul>
+<li>{@link org.gridsphere.layout.event.PortletFrameListener}</li>
+<li>{@link org.gridsphere.layout.event.PortletTabListener}</li>
+<li>{@link org.gridsphere.layout.event.PortletTitleBarListener}</li>
+</ul>
+<p>
+
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Portal Layout Components API</b>
+<p>
+Portal layout components are the visual graphical components that get displayed
+to a client consisting of presentation information in an appropriate markup
+language (currently just HTML).
+<p>
+Portal components are typically defined in an XML schema known as layout.xml
+and unmarshalled to Java objects using the Castor java data binding libraries.
+<p>
+All layout components implement a {@link org.gridsphere.layout.ComponentRender}
+interface responsible for rendering the presentation content. In addition, most
+concrete portal components implement a
+{@link org.gridsphere.layout.ComponentLifecycle} interface responsible
+for handling all component lifecyle methods such as initialization, shutdown,
+and performing actions.
+<p>
+GridSphere supports two pluggable look and feels (PLAF)s:
+ classic {@link org.gridsphere.layout.view.classic}
+ and standard {@link org.gridsphere.layout.view.standard}
+The classic PLAF remains the old (GS 2.1.2 and earlier) look and feel using a
+ combination of nested tables and some CSS. The current default PLAF is standard
+which is evolving towards a much more configurable pure CSS layout. Each PLAF supports
+multiple themes inside each of the PLAF subdirectories. If you are interested in developing
+a new theme, please use the standard PLAF and have a look at the CSS files.
+<p>
+The current list describes the concrete portlet components that are in use:
+<ul>
+<li>{@link org.gridsphere.layout.PortletFrame}</li>
+<li>{@link org.gridsphere.layout.PortletTableLayout}</li>
+<li>{@link org.gridsphere.layout.PortletColumnLayout}</li>
+<li>{@link org.gridsphere.layout.PortletRowLayout}</li>
+<li>{@link org.gridsphere.layout.PortletContent}</li>
+<li>{@link org.gridsphere.layout.PortletTab}</li>
+<li>{@link org.gridsphere.layout.PortletTabbedPane}</li>
+<li>{@link org.gridsphere.layout.PortletContent}</li>
+<li>{@link org.gridsphere.layout.PortletTitleBar}</li>
+</ul>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/BaseRender.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/BaseRender.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/BaseRender.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+package org.gridsphere.layout.view;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public class BaseRender implements Render {
+
+    protected static StringBuffer BLANK = new StringBuffer();
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        return BLANK;
+    }
+
+    public StringBuffer doStartBorder(GridSphereEvent event, PortletComponent comp) {
+        return BLANK;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        return BLANK;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        return BLANK;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/FrameView.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/FrameView.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/FrameView.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+package org.gridsphere.layout.view;
+
+import org.gridsphere.layout.PortletFrame;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public interface FrameView extends Render {
+
+    public StringBuffer doRenderMinimizeFrame(GridSphereEvent event, PortletFrame frame);
+
+    public StringBuffer doRenderCloseFrame(GridSphereEvent event, PortletFrame frame);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/Render.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/Render.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/Render.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+package org.gridsphere.layout.view;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public interface Render {
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp);
+
+    public StringBuffer doStartBorder(GridSphereEvent event, PortletComponent comp);
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp);
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TabbedPaneView.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TabbedPaneView.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TabbedPaneView.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+package org.gridsphere.layout.view;
+
+import org.gridsphere.layout.PortletTab;
+import org.gridsphere.layout.PortletTabbedPane;
+import org.gridsphere.layout.PortletNavMenu;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public interface TabbedPaneView extends Render {
+
+    public StringBuffer doRenderTab(GridSphereEvent event, PortletNavMenu navMenu, PortletTab tab);
+
+    public StringBuffer doRenderEditTab(GridSphereEvent event, PortletNavMenu navMenu, boolean isSelected);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TableLayoutView.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TableLayoutView.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/TableLayoutView.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+package org.gridsphere.layout.view;
+
+import org.gridsphere.layout.PortletTableLayout;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public interface TableLayoutView extends Render {
+
+    public StringBuffer doStartMaximizedComponent(GridSphereEvent event, PortletTableLayout tableLayout);
+
+    public StringBuffer doEndMaximizedComponent(GridSphereEvent event, PortletTableLayout tableLayout);
+
+    public StringBuffer doRenderSelectPortlets(GridSphereEvent event, PortletTableLayout tableLayout);
+
+    public StringBuffer doRenderSelectContent(GridSphereEvent event, PortletTableLayout tableLayout);
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Bar.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Bar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Bar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class Bar extends BaseRender implements Render {
+
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("<!-- START BAR -->")
+                .append("<div id=\"gridsphere-layout-navigation\">");
+
+        return buffer;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("<div id=\"gridsphere-menu-bottom-line\">&nbsp;</div>");
+        buffer.append("</div> <!-- end layout navigation -->");
+        buffer.append("<div id=\"gridsphere-layout-body\"> <!-- start the main portlets -->\n");
+        return buffer;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("\n</div> <!-- END gridsphere-layout-body -->\n");
+        return buffer;
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/ColumnLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/ColumnLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/ColumnLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id: ColumnLayout.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+
+public class ColumnLayout extends BaseRender implements Render {
+
+    public ColumnLayout() {
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer sb = new StringBuffer();
+        StringBuffer temp = new StringBuffer("\n<div class=\"gridsphere-layout-column\"");
+        if (!comp.getWidth().equals("")) {
+            sb.append(" width: ").append(comp.getWidth()).append(";");
+        }
+        if (!comp.getStyle().equals("")) {
+            sb.append(comp.getStyle());
+        }
+
+        if (sb.length() > 0) temp.append(" style=\"").append(sb).append("\"");
+        temp.append("> <!-- ========================== start column -->\n");
+        return temp;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        return new StringBuffer("\n</div> <!--  ========================== end column -->\n");
+    }
+
+}
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Container.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Container.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Container.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletContainer;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+/**
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id$
+ */
+public class Container extends BaseRender implements Render {
+
+
+    public StringBuffer doStartBorder(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        PortletContainer pc = (PortletContainer) comp;
+        String style = pc.getStyle();
+        if (style == null) return buffer;
+        if (style.equals(PortletContainer.STYLE_HEADER)) {
+            buffer.append("\n   <b class=\"rtop\"><b class=\"r1\"></b><b class=\"r2\"></b><b class=\"r3\"></b><b class=\"r4\"></b></b>\n");
+            buffer.append("\n   <div id=\"gridsphere-layout-head\">\n");
+        }
+        if (style.equals(PortletContainer.STYLE_FOOTER)) {
+            buffer.append("\n   <div id=\"gridsphere-layout-footer\">\n");
+        }
+        return buffer;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        PortletContainer pc = (PortletContainer) comp;
+        String style = pc.getStyle();
+        if (style == null) return buffer;
+        buffer.append("\n   </div> <!-- END gridsphere-layout-{header|footer}  -->\n");
+        if (style.equals(PortletContainer.STYLE_FOOTER)) {
+            buffer.append("\n   <b class=\"rbottom\"><b class=\"r4\"></b><b class=\"r3\"></b><b class=\"r2\"></b><b class=\"r1\"></b></b>\n");
+        }
+        return buffer;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Frame.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Frame.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Frame.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id: Frame.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletFrame;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.FrameView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+
+public class Frame extends BaseRender implements FrameView {
+
+    protected static StringBuffer END_FRAME_BORDER = new StringBuffer("</div>\n");
+    protected static StringBuffer END_FRAME = new StringBuffer("\n </div><!--- |||||||||||||| PORTLET ENDS HERE -->\n");
+    protected static StringBuffer MINIMIZE_FRAME = new StringBuffer("\n\t<div class=\"gridsphere-window-portlet-minimized\">&nbsp;</div>");
+
+    /**
+     * Constructs an instance of PortletFrame
+     */
+    public Frame() {
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        PortletFrame frame = (PortletFrame) comp;
+        ///// begin portlet frame
+        StringBuffer frameBuffer = new StringBuffer();
+        frameBuffer.append("\n<!-- |||||||||||| PORTLET STARTS HERE -->\n");
+        frameBuffer.append("<div id=\"").append(frame.getComponentID()).append("\"");
+        if (frame.getOuterPadding().equals("")) {
+            frameBuffer.append(" class=\"gridsphere-window-portlet\"");
+        } else {
+            frameBuffer.append(" style=\"padding: ").append(frame.getOuterPadding()).append(";\" class=\"gridsphere-window-portlet\" "); // this is the main div around one portlet
+        }
+        frameBuffer.append(">\n");
+        return frameBuffer;
+    }
+
+
+    public StringBuffer doStartBorder(GridSphereEvent event, PortletComponent comp) {
+        PortletFrame frame = (PortletFrame) comp;
+        StringBuffer postframe = new StringBuffer();
+        if (!frame.getTransparent()) {
+            postframe.append("\n<div ");      // now the portlet content begins
+            if (!frame.getInnerPadding().equals("")) {
+                postframe.append("style=\"padding: ").append(frame.getInnerPadding()).append(";\"");
+            }
+            postframe.append(" class=\"gridsphere-window-content\"> \n");
+        } else {
+            postframe.append("<div>\n");
+        }
+        return postframe;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        return END_FRAME_BORDER;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        return END_FRAME;
+    }
+
+    public StringBuffer doRenderMinimizeFrame(GridSphereEvent event, PortletFrame frame) {
+        return MINIMIZE_FRAME;
+    }
+
+    public StringBuffer doRenderCloseFrame(GridSphereEvent event, PortletFrame frame) {
+        StringBuffer postframe = new StringBuffer();
+        RenderResponse res = event.getRenderResponse();
+        RenderRequest req = event.getRenderRequest();
+
+        PortletURL portletURI = res.createRenderURL();
+        portletURI.setParameter(SportletProperties.COMPONENT_ID, String.valueOf(frame.getPortletTitleBar().getComponentID()));
+        portletURI.setParameter(SportletProperties.PORTLET_WINDOW, "CLOSED");
+        postframe.append("<form action=\"").append(portletURI.toString()).append("\" method=\"post\"");
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        String value = bundle.getString("UNSUBSCRIBE_MESSAGE");
+        String ok = bundle.getString("OK");
+        String cancel = bundle.getString("CANCEL");
+        postframe.append("<p><b>").append(value).append("</b></p>");
+
+        portletURI = res.createRenderURL();
+
+        portletURI.setParameter("CLOSED", Boolean.TRUE.toString());
+
+        postframe.append("<p><input class=\"portlet-form-button\" type=\"submit\" name=\"" + SportletProperties.DEFAULT_PORTLET_ACTION + "=" + PortletFrame.FRAME_CLOSE_OK_ACTION + "\" value=\"").append(ok).append("\"");
+        portletURI = res.createRenderURL();
+
+        portletURI.setParameter("CLOSED", Boolean.FALSE.toString());
+        postframe.append("<input class=\"portlet-form-button\" type=\"submit\" name=\"" + SportletProperties.DEFAULT_PORTLET_ACTION + "=" + PortletFrame.FRAME_CLOSE_CANCEL_ACTION + "\" value=\"").append(cancel).append("\"");
+        postframe.append("</p></form>");
+
+        return postframe;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Menu.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Menu.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Menu.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletMenu;
+import org.gridsphere.layout.PortletNavMenu;
+import org.gridsphere.layout.PortletTab;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.TabbedPaneView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import java.util.StringTokenizer;
+
+public class Menu extends BaseRender implements TabbedPaneView {
+
+    /**
+     * Constructs an instance of PortletTabbedPane
+     */
+    public Menu() {
+    }
+
+    /**
+     * Replace blank spaces in title with '&nbsp;'
+     *
+     * @param title the tab title
+     * @return a title without blank spaces
+     */
+    private static String replaceBlanks(String title) {
+        String result = "&nbsp;";
+        StringTokenizer st = new StringTokenizer(title);
+        while (st.hasMoreTokens()) {
+            result += st.nextToken() + "&nbsp;";
+        }
+        return result;
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer result = new StringBuffer();
+
+        result.append("\n<!-- LAYOUT NAVIGATION -->\n <div id=\"gridsphere-layout-navigation\"> \n<ul id=\"gridsphere-menu\">\n");
+        result.append("<li id=\"gridsphere-menu-border-left\">&nbsp;</li>");
+
+        return result;
+    }
+
+    public StringBuffer doRenderTab(GridSphereEvent event, PortletNavMenu tabPane, PortletTab tab) {
+        // this really creates the individual tabs
+        StringBuffer pane = new StringBuffer();
+        String link = tab.createTabTitleLink(event);
+        String lang = event.getRenderRequest().getLocale().getLanguage();
+        String title = tab.getTitle(lang);
+
+        String selected = "gridsphere-menu-nonsel";
+        if (tab.isSelected()) {
+            selected = "gridsphere-menu-sel";
+        }
+        pane.append("<li class=\"").append(selected);
+        pane.append("\"><a href=\"").append(link).append("\"><span>");
+        if (title != null) {
+            pane.append(replaceBlanks(title));
+        }
+        pane.append("</span></a></li>");
+
+        return pane;
+    }
+
+    public StringBuffer doRenderEditTab(GridSphereEvent event, PortletNavMenu menu, boolean isSelected) {
+        RenderResponse res = event.getRenderResponse();
+        RenderRequest req = event.getRenderRequest();
+
+        PortletURL portletURL = res.createActionURL();
+        portletURL.setParameter("newmenutab", "true");
+        req.setAttribute(SportletProperties.COMPONENT_ID, String.valueOf(menu.getComponentID()));
+        String link = portletURL.toString();
+        StringBuffer pane = new StringBuffer();
+
+
+        pane.append("<li><a href=\"").append(link).append("\">");
+        pane.append(replaceBlanks("New Tab"));
+        pane.append("</a></li>");
+        return pane;
+    }
+
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        PortletMenu menu = (PortletMenu) comp;
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("<li id=\"gridsphere-menu-border-right\">&nbsp;</li>");
+        buffer.append("\n</ul> <!-- END NAVIGATION (SUB) MENU -->\n");
+        buffer.append("</div><!--  END LAYOUT NAVIGATION -->");
+        buffer.append("<div id=\"gridsphere-menu-bottom-line\">&nbsp;</div>");
+//        buffer.append("<div style=\"clear: both;\"></div>");
+        buffer.append("<div id=\"gridsphere-layout-body\"> <!-- start the main portlets -->\n");
+
+        return buffer;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("\n</div> <!-- END gridsphere-layout-body -->\n");
+        return buffer;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Page.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Page.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/Page.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id: Page.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletPage;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import java.awt.*;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+public class Page extends BaseRender implements Render {
+
+    /**
+     * Constructs an instance of PortletPage
+     */
+    public Page() {
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent component) {
+
+        PortletRequest req = event.getRenderRequest();
+
+        StringBuffer page = new StringBuffer();
+
+        PortletPage portletPage = (PortletPage) component;
+        // page header
+        Locale locale = req.getLocale();
+        ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
+        // page.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
+        page.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" ");
+        page.append("\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">");
+        if (orientation.isLeftToRight()) {
+            page.append("\n<html");
+        } else {
+            page.append("\n<html dir=\"rtl\"");
+        }
+        page.append(" xmlns=\"http://www.w3.org/1999/xhtml\">");
+        page.append("\n<!-- GridSphere Release: ").append(SportletProperties.getInstance().getProperty("gridsphere.release")).append("-->");
+        page.append("\n\t<head>");
+        page.append("\n\t<title>").append(portletPage.getTitle()).append("</title>");
+
+        page.append("\n\t<meta name='keywords' content='").append(portletPage.getKeywords()).append("' />");
+        page.append("\n\t<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">");
+        page.append("\n\t<meta http-equiv=\"Pragma\" content=\"no-cache\" />");
+        page.append("\n\t<meta http-equiv=\"Expires\" content=\"-1\"/>");
+
+        if (portletPage.getRefresh() > 0)
+            page.append("\n\t<meta http-equiv=\"refresh\" content=\"").append(portletPage.getRefresh()).append("\"/>");
+        String theme = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_THEME, PortletSession.APPLICATION_SCOPE);
+        page.append("\n\t<link type=\"text/css\" href=\"").append(req.getContextPath()).append("/themes/").append(portletPage.getRenderKit()).append("/").append(theme).append("/css" + "/default.css\" rel=\"stylesheet\"/>");
+
+        // Add portlet defined stylesheet if defined
+        Map props = (Map) req.getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        if (props != null) {
+            Object cssHrefObj = props.get("CSS_HREF");
+            if ((cssHrefObj != null) && (cssHrefObj instanceof List)) {
+                List cssHref = (List) cssHrefObj;
+                Iterator it = cssHref.iterator();
+                while (it.hasNext()) {
+                    String cssLink = (String) it.next();
+                    if (cssLink != null) {
+                        page.append("\n\t<link type=\"text/css\" href=\"").append(cssLink).append("\" rel=\"stylesheet\"/>");
+                    }
+                }
+            }
+        }
+        page.append("\n\t<link rel=\"icon\" href=\"").append(req.getContextPath()).append("/").append(portletPage.getIcon()).append("\" type=\"image/x-icon\"/>");
+        page.append("\n\t<link rel=\"shortcut icon\" href=\"").append(req.getContextPath()).append("/").append(portletPage.getIcon()).append("\" type=\"image/x-icon\"/>");
+        page.append("\n\t<script type=\"text/javascript\" src=\"").append(req.getContextPath()).append("/javascript/gridsphere.js\"></script>");
+
+        page.append("\n\t<script type=\"text/javascript\" src=\"").append(req.getContextPath()).append("/javascript/validation.js\"></script>");
+        page.append("\n\t<script type=\"text/javascript\" src=\"").append(req.getContextPath()).append("/javascript/yahoo/yahoo.js\"></script>");
+        page.append("\n\t<script type=\"text/javascript\" src=\"").append(req.getContextPath()).append("/javascript/yahoo/connection.js\"></script>");
+        page.append("\n\t<script type=\"text/javascript\" src=\"").append(req.getContextPath()).append("/javascript/gridsphere_ajax.js\"></script>");
+
+        if (props != null) {
+            Object jsObj = props.get("JAVASCRIPT_SRC");
+            if ((jsObj != null) && (jsObj instanceof java.util.List)) {
+                java.util.List jsSrc = (java.util.List) jsObj;
+                Iterator it = jsSrc.iterator();
+                while (it.hasNext()) {
+                    String jsLink = (String) it.next();
+                    if (jsLink != null) {
+                        page.append("\n\t<script type=\"text/javascript\" src=\"").append(jsLink).append("\"></script>");
+                    }
+                }
+            }
+        }
+        page.append("\n\t</head>\n\t");
+        page.append("<body");
+        if (props != null) {
+            Object bodyOnLoadObj = props.get("BODY_ONLOAD");
+            if ((bodyOnLoadObj != null) && (bodyOnLoadObj instanceof List)) {
+                List onLoad = (List) bodyOnLoadObj;
+                Iterator it = onLoad.iterator();
+                page.append(" onload=");
+                while (it.hasNext()) {
+                    String onLoadFunc = (String) it.next();
+                    if (onLoadFunc != null) {
+                        page.append(onLoadFunc);
+                    }
+                }
+            }
+            Object bodyOnUnLoadObj = props.get("BODY_ONUNLOAD");
+            if ((bodyOnUnLoadObj != null) && (bodyOnUnLoadObj instanceof List)) {
+                List onUnLoad = (List) bodyOnUnLoadObj;
+                Iterator it = onUnLoad.iterator();
+                page.append(" onunload=");
+                while (it.hasNext()) {
+                    String onUnLoadFunc = (String) it.next();
+                    if (onUnLoadFunc != null) {
+                        page.append(onUnLoadFunc);
+                    }
+                }
+            }
+        }
+        page.append(">\n<div id=\"gridsphere-layout-page\">\n");
+        return page;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer end = new StringBuffer("\n</div> <!-- gridsphere-layout-page -->\n");
+        end.append("</body>\n</html>\n");
+        return end;
+    }
+
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/RowLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/RowLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/RowLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id: RowLayout.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+public class RowLayout extends BaseRender implements Render {
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent p) {
+        return new StringBuffer("\n<div class=\"gridsphere-layout-row\"> <!-- +++++++++++++++++++++++++++++++++ START ROW -->\n");
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        return new StringBuffer("\n</div> <!-- +++++++++++++++++++++++++++++++++ END ROW -->\n");
+    }
+}
+ 
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TabbedPane.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TabbedPane.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TabbedPane.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @author <a href="mailto:wehrens at aei.mpg.de">Oliver Wehrens</a>
+* @version $Id: TabbedPane.java 4496 2006-02-08 20:27:04Z wehrens $
+*/
+
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletNavMenu;
+import org.gridsphere.layout.PortletTab;
+import org.gridsphere.layout.PortletTabbedPane;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.TabbedPaneView;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import java.util.List;
+import java.util.StringTokenizer;
+
+public class TabbedPane extends BaseRender implements TabbedPaneView {
+
+    // TAB
+    protected static final StringBuffer TAB_START_MENU =
+            new StringBuffer("\n<!-- LAYOUT NAVIGATION -->\n <div id=\"gridsphere-layout-navigation\"> \n<ul id=\"gridsphere-nav\"><li id=\"gridsphere-nav-border-left\">&nbsp;</li>\n");
+    protected static final StringBuffer TAB_END_MENU =
+            new StringBuffer("\n<li id=\"gridsphere-nav-border-right\">&nbsp;</li></ul> <!-- END NAVIGATION (SUB) MENU -->\n");
+
+    // SUB TAB
+    protected static final StringBuffer TAB_START_SUBMENU =
+            new StringBuffer("\n<ul id=\"gridsphere-sub-nav\"><li id=\"gridsphere-sub-nav-border-left\">&nbsp;</li>\n");
+    protected static final StringBuffer TAB_END_SUBMENU =
+            new StringBuffer("\n<li id=\"gridsphere-sub-nav-border-right\">&nbsp;</li></ul> <!-- END NAVIGATION (SUB) MENU -->\n");
+
+    // SIDEMENU
+    protected static final StringBuffer TAB_START_SIDEMENU =
+            new StringBuffer("\n<!-- BEGIN NAVIGATION SIDE MENU -->\n")
+                    .append("<div id=\"gridsphere-layout-body\">\n")
+                    .append("<div class=\"gridsphere-layout-row\">\n ")
+                    .append("<div class=\"gridsphere-layout-column\" style=\"width: 20%\">\n")
+                    .append("<div id=\"gridsphere-layout-sidemenu\">\n")
+                    .append("<div id=\"button\">\n <ul>\n");
+
+    protected static final StringBuffer TAB_END_SIDEMENU =
+            new StringBuffer("</ul>\n</div><!-- END BUTTON -->\n</div> <!-- END SIDEMENU -->\n </div> <!-- END LAYOUT COLUMN -->\n")
+                    .append("<div class=\"gridsphere-layout-column\" style=\"width: 80%\"> <!-- START MAIN PORTLET AREA -->\n");
+
+    // TOPMENU
+    protected static final StringBuffer TAB_START_TOPMENU =
+            new StringBuffer("\n<!-- START NAVIGATION TOP MENU-->\n <div id=\"gridsphere-layout-navigation\"> \n<ul id=\"gridsphere-nav\"><li id=\"gridsphere-nav-border-left\">&nbsp;</li>\n");
+    protected static final StringBuffer TAB_END_TOPMENU =
+            new StringBuffer("\n<li id=\"gridsphere-nav-border-right\">&nbsp;</li></ul></div>\n<!-- END NAVIGATION TOP MENU -->\n");
+
+
+    private static String TAB_STYLE_MENU = "menu";
+    private static String TAB_STYLE_SUBMENU = "sub-menu";
+    private static String TAB_STYLE_SIDEMENU = "side-menu";
+    private static String TAB_STYLE_TOPMENU = "top-menu";
+
+    /**
+     * Constructs an instance of PortletTabbedPane
+     */
+    public TabbedPane() {
+    }
+
+
+    /**
+     * Creates the portlet tab link URIs that are used to send events to
+     * the portlet tabs.
+     *
+     * @param event the gridsphere event
+     * @param menu  the menu parent
+     * @return a string array of the tab hyperlinks
+     */
+    protected static String[] createTabLinks(GridSphereEvent event, PortletNavMenu menu) {
+        // Make tab links
+        String[] tabLinks = new String[menu.getPortletTabs().size()];
+        List tabs = menu.getPortletTabs();
+        for (int i = 0; i < tabs.size(); i++) {
+            PortletTab tab = (PortletTab) tabs.get(i);
+            tabLinks[i] = tab.createTabTitleLink(event);
+        }
+        return tabLinks;
+    }
+
+    /**
+     * Replace blank spaces in title with '&nbsp;'
+     *
+     * @param title the tab title
+     * @return a title without blank spaces
+     */
+    private static String replaceBlanks(String title) {
+        String result = "&nbsp;";
+        StringTokenizer st = new StringTokenizer(title);
+        while (st.hasMoreTokens()) {
+            result += st.nextToken() + "&nbsp;";
+        }
+        return result;
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        PortletTabbedPane pane = (PortletTabbedPane) comp;
+        StringBuffer result = new StringBuffer();
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_SUBMENU)) {
+            result.append(TAB_START_SUBMENU);
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_MENU)) {
+            result.append(TAB_START_MENU);
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_SIDEMENU)) {
+            result.append(TAB_START_SIDEMENU);
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_TOPMENU)) {
+            result.append(TAB_START_TOPMENU);
+        }
+
+
+        return result;
+    }
+
+    public StringBuffer doRenderTab(GridSphereEvent event, PortletNavMenu tabPane, PortletTab tab) {
+        // this really creates the individual tabs
+        StringBuffer pane = new StringBuffer();
+        String link = tab.createTabTitleLink(event);
+        String lang = event.getRenderRequest().getLocale().getLanguage();
+        String title = tab.getTitle(lang);
+
+        if (title == null) return pane;
+
+
+        if (tabPane.getStyle().equalsIgnoreCase(TAB_STYLE_SUBMENU)) {
+            pane.append("\n<li");
+            if (tab.isSelected()) {
+                pane.append(" class=\"sub-nav-sel\"");
+            }
+            pane.append(">");
+            pane.append("<a href=\"").append(link).append("\">").append(replaceBlanks(title)).append("</a></li>\n");
+        }
+        if (tabPane.getStyle().equalsIgnoreCase(TAB_STYLE_MENU) || tabPane.getStyle().equalsIgnoreCase(TAB_STYLE_TOPMENU)) {
+            String selected = "nav-nonsel";
+            if (tab.isSelected()) {
+                selected = "nav-sel";
+            }
+            if (!tab.getOutline()) {
+                selected = "";
+            }
+            String style = "";
+            if (tab.getPadding() != null) {
+                style += " padding: " + tab.getPadding() + "; ";
+            }
+            if (tab.getAlign().equals("right")) {
+                style += " float: right; ";
+            }
+            pane.append("<li class=\"").append(selected);
+            if (!style.equals("")) {
+                pane.append("\" style=\"").append(style).append("\">");
+            } else {
+                pane.append("\">");
+            }
+            pane.append("<a href=\"").append(link).append("\"><span>");
+
+            if (title != null) {
+                pane.append(replaceBlanks(title));
+            }
+
+            pane.append("</span></a></li>");
+        }
+        if (tabPane.getStyle().equalsIgnoreCase(TAB_STYLE_SIDEMENU)) {
+            String selected = "";
+            if (tab.isSelected()) {
+                selected = " class =\"selected\" ";
+            }
+            pane.append("<li ").append(selected).append("><a href=\"").append(link).append("\">").
+                    append(replaceBlanks(title)).append("</a></li>");
+        }
+        return pane;
+    }
+
+    public StringBuffer doRenderEditTab(GridSphereEvent event, PortletNavMenu tabPane, boolean isSelected) {
+        RenderResponse res = event.getRenderResponse();
+        RenderRequest req = event.getRenderRequest();
+        PortletURL portletURL = res.createActionURL();
+
+        StringBuffer pane = new StringBuffer();
+        req.setAttribute(SportletProperties.COMPONENT_ID, String.valueOf(tabPane.getComponentID()));
+        if (tabPane.getStyle().equals(TAB_STYLE_SUBMENU)) {
+            pane.append("\n<li");
+            if (isSelected) {
+                pane.append(" class=\"sub-nav-sel\"");
+            }
+            pane.append(">");
+            portletURL.setParameter("newsubtab", "true");
+            pane.append("<a href=\"").append(portletURL.toString()).append("\">").append(replaceBlanks(tabPane.getLocalizedText(req, "NEW_SUBTAB"))).append("</a></li>\n");
+        }
+        if (tabPane.getStyle().equals(TAB_STYLE_MENU)) {
+            String selected = "nav-nonsel";
+            if (isSelected) {
+                selected = "nav-sel";
+            }
+            pane.append("<li class=\"").append(selected).append("\">");
+            portletURL.setParameter("newtab", "true");
+            pane.append("<a href=\"").append(portletURL.toString()).append("\"><span>").append(replaceBlanks(tabPane.getLocalizedText(req, "NEW_TAB"))).append("</span></a></li>");
+        }
+
+        return pane;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer result = new StringBuffer();
+        PortletTabbedPane pane = (PortletTabbedPane) comp;
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_SUBMENU)) {
+            result.append(TAB_END_SUBMENU);
+            result.append("\n</div> <!--  END LAYOUT NAVIGATION -->\n<div id=\"gridsphere-layout-body\"> <!-- start the main portlets -->\n");
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_MENU)) {
+            result.append(TAB_END_MENU);
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_TOPMENU)) {
+            result.append(TAB_END_TOPMENU);
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_SIDEMENU)) {
+            result.append(TAB_END_SIDEMENU);
+        }
+        return result;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer buffer = new StringBuffer();
+        PortletTabbedPane pane = (PortletTabbedPane) comp;
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_MENU)) {
+            buffer.append("\n</div> <!-- END gridsphere-layout-body -->\n");
+        }
+        if (pane.getStyle().equalsIgnoreCase(TAB_STYLE_SIDEMENU)) {
+            buffer.append("\n </div> <!-- END LAYOUT COLUMN -->\n </div> <!-- END LAYOUT ROW --> \n</div> <!-- END LAYOUT BODY --> \n<!-- END MAIN PORTLET AREA -->");
+        }
+        return buffer;
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TableLayout.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TableLayout.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TableLayout.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,233 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: TableLayout.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletFrameLayout;
+import org.gridsphere.layout.PortletRowLayout;
+import org.gridsphere.layout.PortletTableLayout;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.TableLayoutView;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.provider.portlet.jsr.PortletServlet;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderResponse;
+import java.util.*;
+
+public class TableLayout extends BaseRender implements TableLayoutView {
+
+    protected static final StringBuffer START_MAXIMIZED =
+            // class "window-maximized" added
+            new StringBuffer("\n<!-- START MAXIMIZED MODERN TABLE COMP --><div class=\"window-maximized\">");
+
+    protected static final StringBuffer END_MAXIMIZED =
+            new StringBuffer("\n</div><!-- END MAXIMIZED MODERN TABLE COMP -->\n");
+
+    protected static final StringBuffer END_BORDER = new StringBuffer("\n");// unuseful end-border DIV removed
+
+    protected static final StringBuffer END_TABLE = new StringBuffer("</div><!-- END MODERN TABLE -->\n");
+
+    /**
+     * Constructs an instance of PortletTableLayout
+     */
+    public TableLayout() {
+    }
+
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        return new StringBuffer();
+    }
+
+    public StringBuffer doStartBorder(GridSphereEvent event, PortletComponent comp) {
+        StringBuffer table = new StringBuffer();
+        table.append("\n<!--  _____________________________________ table layout start -->\n");
+        return table;
+    }
+
+    public StringBuffer doEndBorder(GridSphereEvent event, PortletComponent comp) {
+        return new StringBuffer("\n<!-- _____________________________________ table layout end -->\n");
+    }
+
+    public StringBuffer doStartMaximizedComponent(GridSphereEvent event, PortletTableLayout tableLayout) {
+        return START_MAXIMIZED;
+    }
+
+    public StringBuffer doEndMaximizedComponent(GridSphereEvent event, PortletTableLayout tableLayout) {
+        return END_MAXIMIZED;
+    }
+
+    public StringBuffer doRenderSelectPortlets(GridSphereEvent event, PortletTableLayout tableLayout) {
+        event.getRenderRequest().setAttribute(SportletProperties.COMPONENT_ID, String.valueOf(tableLayout.getComponentID()));
+        System.err.println("in doRenderSelPortlets cid=" + (String) event.getRenderRequest().getAttribute(SportletProperties.COMPONENT_ID));
+        StringBuffer table = new StringBuffer();
+        table.append("<div class=\"gridsphere-layout-row\">");
+        List components = tableLayout.getPortletComponents();
+        if (!components.isEmpty()) {
+            Object o = components.get(0);
+            if (o instanceof PortletFrameLayout) {
+                PortletFrameLayout layout = (PortletRowLayout) o;
+                List cols = layout.getPortletComponents();
+
+                for (int j = 0; j < cols.size(); j++) {
+                    o = cols.get(j);
+                    if (o instanceof PortletFrameLayout) {
+                        PortletFrameLayout col = (PortletFrameLayout) o;
+
+                        table.append("<div class=\"gridsphere-layout-column\"");
+                        if (!col.getWidth().equals("")) {
+                            table.append(" style=\"width: ").append(col.getWidth()).append("\"");
+                        }
+                        table.append(">");
+                        // render add portlets listbox
+                        table.append(renderAddPortlets(event, j, tableLayout.getAllPortletsToAdd(event)));
+
+                        table.append("</div>");
+                    }
+                }
+            }
+        }
+        table.append("</div>");
+        return table;
+    }
+
+    public StringBuffer doRenderSelectContent(GridSphereEvent event, PortletTableLayout tableLayout) {
+        event.getRenderRequest().setAttribute(SportletProperties.COMPONENT_ID, String.valueOf(tableLayout.getComponentID()));
+        System.err.println("in doRenderSelContent cid=" + (String) event.getRenderRequest().getAttribute(SportletProperties.COMPONENT_ID));
+        StringBuffer table = new StringBuffer();
+        table.append("<div class=\"gridsphere-layout-row\">");
+        List components = tableLayout.getPortletComponents();
+        if (!components.isEmpty()) {
+            Object o = components.get(0);
+            if (o instanceof PortletFrameLayout) {
+                PortletFrameLayout layout = (PortletRowLayout) o;
+                List cols = layout.getPortletComponents();
+
+                for (int j = 0; j < cols.size(); j++) {
+                    o = cols.get(j);
+                    if (o instanceof PortletFrameLayout) {
+                        PortletFrameLayout col = (PortletFrameLayout) o;
+
+                        table.append("<div class=\"gridsphere-layout-column\"");
+                        if (!col.getWidth().equals("")) {
+                            table.append(" style=\"width: ").append(col.getWidth()).append("\"");
+                        }
+                        table.append(">");
+                        // render add portlets listbox
+                        Map availContent = tableLayout.getAllContentToAdd(event);
+                        table.append(renderAddContent(event, j, availContent));
+
+                        table.append("</div>");
+                    }
+                }
+            }
+        }
+        table.append("</div>");
+        return table;
+    }
+
+    public StringBuffer renderAddPortlets(GridSphereEvent event, int col, Set<ApplicationPortlet> availPortlets) {
+        StringBuffer table = new StringBuffer();
+
+        PortletRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        Locale locale = req.getLocale();
+
+        PortletURLImpl url = (PortletURLImpl) res.createActionURL();
+
+        System.err.println("in doRenderSel cid=" + (String) event.getRenderRequest().getAttribute(SportletProperties.COMPONENT_ID));
+
+        url.setAction(PortletTableLayout.PORTLET_ADD_PORTLET);
+        String extraMode = (String) req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE);
+        if (extraMode != null) {
+            url.setParameter("usertable", "edit");
+        }
+
+        table.append("<form action=\"").append(url.toString()).append("\"  method=\"post\" name=\"addform\"><p>");
+        table.append("<input type=\"hidden\" name=\"" + PortletTableLayout.PORTLET_COL + "\" value=\"").append(col).append("\"/>");
+
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        String addLabel = bundle.getString("ADDPORTLETS");
+        String addButton = bundle.getString("ADD");
+        String noPortletsMsg = bundle.getString("NOPORTLETS");
+
+        table.append("<b>").append(addLabel).append("</b>&nbsp;&nbsp;&nbsp;");
+        table.append("<select name=\"" + PortletTableLayout.PORTLET_ADD_PORTLET + "\">");
+
+        if (availPortlets.isEmpty()) {
+            table.append("<option value=\"" + PortletTableLayout.PORTLET_NO_ACTION + "\">").append(noPortletsMsg).append("</option>");
+        }
+
+        for (ApplicationPortlet appPortlet : availPortlets) {
+            String concID = appPortlet.getConcretePortletID();
+            // we don't want to list PortletServlet loader!
+            if (concID.startsWith(PortletServlet.class.getName())) continue;
+            String dispName = appPortlet.getDisplayName(locale);
+            table.append("<option value=\"").append(appPortlet.getConcretePortletID()).append("\">").append(appPortlet.getWebApplicationName()).append(" - ").append(dispName).append("</option>");
+        }
+
+
+        table.append("</select>");
+
+        String action = SportletProperties.DEFAULT_PORTLET_ACTION + "=addportlet";
+
+        table.append("&nbsp;&nbsp;<input type=\"submit\" name=\"").append(action).append("\" value=\"").append(addButton).append("\">");
+        table.append("</p></form>");
+        return table;
+    }
+
+    public StringBuffer renderAddContent(GridSphereEvent event, int col, Map availContent) {
+        StringBuffer table = new StringBuffer();
+
+        PortletRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        Locale locale = req.getLocale();
+
+        PortletURLImpl url = (PortletURLImpl) res.createActionURL();
+
+        System.err.println("in doRenderSel cid=" + (String) event.getRenderRequest().getAttribute(SportletProperties.COMPONENT_ID));
+
+        url.setAction(PortletTableLayout.PORTLET_ADD_CONTENT);
+        String extraMode = (String) req.getAttribute(SportletProperties.LAYOUT_EDIT_MODE);
+        if (extraMode != null) {
+            url.setParameter("usertable", "edit");
+        }
+
+        table.append("<form action=\"" + url.toString() + "\"  method=\"post\" name=\"addform\"><p>");
+        table.append("<input type=\"hidden\" name=\"" + PortletTableLayout.PORTLET_COL + "\" value=\"" + col + "\"/>");
+
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        String addLabel = bundle.getString("ADDCONTENT");
+        String addButton = bundle.getString("ADD");
+        String noPortletsMsg = bundle.getString("NOCONTENT");
+
+        table.append("<b>" + addLabel + "</b>&nbsp;&nbsp;&nbsp;");
+        table.append("<select name=\"" + PortletTableLayout.PORTLET_ADD_CONTENT + "\">");
+
+        if (availContent.isEmpty()) {
+            table.append("<option value=\"" + PortletTableLayout.PORTLET_NO_ACTION + "\">" + noPortletsMsg + "</option>");
+        }
+
+        Iterator it = availContent.keySet().iterator();
+        while (it.hasNext()) {
+            String pid = (String) it.next();
+            String dispName = (String) availContent.get(pid);
+            table.append("<option value=\"" + pid + "\">" + dispName + "</option>");
+        }
+
+        table.append("</select>");
+
+        String action = SportletProperties.DEFAULT_PORTLET_ACTION + "=addcontent";
+
+        table.append("&nbsp;&nbsp;<input type=\"submit\" name=\"" + action + "\" value=\"" + addButton + "\">");
+        table.append("</p></form>");
+        return table;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TitleBar.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TitleBar.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/brush/TitleBar.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id: TitleBar.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.layout.view.brush;
+
+import org.gridsphere.layout.PortletComponent;
+import org.gridsphere.layout.PortletTitleBar;
+import org.gridsphere.layout.view.BaseRender;
+import org.gridsphere.layout.view.Render;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import java.util.List;
+
+public class TitleBar extends BaseRender implements Render {
+
+    /**
+     * Constructs an instance of PortletTitleBar
+     */
+    public TitleBar() {
+    }
+
+    public StringBuffer doStart(GridSphereEvent event, PortletComponent comp) {
+        PortletTitleBar titleBar = (PortletTitleBar) comp;
+        StringBuffer titleBuffer = new StringBuffer();
+        // if (titleBar.isActive()) {
+        titleBuffer.append("<div class=\"gridsphere-window-title\">");
+        titleBar.setActive(false);
+        titleBuffer.append("<div class=\"gridsphere-window-title-name\">&nbsp;"); // add a space to not have it to much leftish
+        return titleBuffer;
+    }
+
+    public StringBuffer doEnd(GridSphereEvent event, PortletComponent comp) {
+        PortletTitleBar titleBar = (PortletTitleBar) comp;
+        PortletRequest req = event.getRenderRequest();
+        StringBuffer titleBuffer = new StringBuffer();
+        titleBuffer.append("</div>"); // close window title name
+        // Output window state icons
+        List<PortletTitleBar.PortletStateLink> windowLinks = titleBar.getWindowLinks();
+        titleBuffer.append("<div class=\"gridsphere-window-title-icon-right\">");
+        List<PortletTitleBar.PortletModeLink> modeLinks = titleBar.getModeLinks();
+        String renderKit = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_RENDERKIT, PortletSession.APPLICATION_SCOPE);
+        String theme = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_THEME, PortletSession.APPLICATION_SCOPE);
+        // modes
+        if (modeLinks != null) {
+            if (modeLinks.isEmpty()) {
+                titleBuffer.append("&nbsp;");
+            }
+            for (PortletTitleBar.PortletModeLink mode : modeLinks) {
+                titleBuffer.append("<a href=\"").append(mode.getHref()).append("\"><img border=\"0\" src=\"").append(req.getContextPath()).append("/themes/").append(renderKit).append("/").append(theme).append("/").append(mode.getImageSrc()).append("\" title=\"").append(mode.getAltTag()).append("\" alt=\"").append(mode.getAltTag()).append("\"");
+                if (!mode.getCursor().equals("")) {
+                    titleBuffer.append(" style=\"cursor: ").append(mode.getCursor()).append(";\"");
+                }
+                titleBuffer.append("\" /></a>"); /// Removed File.separator(s)
+            }
+        }
+
+        // states
+        if (windowLinks != null) {
+            for (PortletTitleBar.PortletStateLink state : windowLinks) {
+                titleBuffer.append("<a href=\"").append(state.getHref()).append("\"><img  border=\"0\" src=\"").append(req.getContextPath()).append("/themes/").append(renderKit).append("/").append(theme).append("/").append(state.getImageSrc()).append("\" title=\"").append(state.getAltTag()).append("\" alt=\"").append(state.getAltTag()).append("\" /></a>");
+            }
+        }
+        titleBuffer.append("</div>");    // title-icon-right
+        titleBuffer.append("</div>");   // window-title
+        return titleBuffer;
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/layout/view/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Pluggable Look and Feel (PLAF) API</b>
+<p>
+GridSphere supports two pluggable look and feels (PLAF)s:
+ {@link org.gridsphere.layout.view.classic}
+and {@link org.gridsphere.layout.view.standard}
+The classic PLAF remains the old (GS 2.1.2 and earlier) look and feel using a
+combination of nested tables and some CSS.
+The current default PLAF used by the layout components is the 'standard' PLAF which is
+evolving towards a much more configurable pure CSS layout.
+<p>
+The PLAF interfaces define the bare minimum required by the concrete look and feel classes.
+The {@link org.gridsphere.layout.view.Render} interface defines 4 methods: doStart, doStartBorder,
+doEndBorder and doEnd as we determined that these four methods seem to satisfy the majority of our currently
+used layout components. Layout components that have no border would simply return empty. To make it easier,
+a base class {@link org.gridsphere.layout.view.BaseRender} implementing the Render interface is
+provided for PLAF developers to use.
+<p>
+The current list describes the concrete portlet components that are in use:
+<ul>
+<li>{@link org.gridsphere.layout.view.Render}</li>
+<li>{@link org.gridsphere.layout.view.BaseRender}</li>
+<li>{@link org.gridsphere.layout.view.FrameView}</li>
+<li>{@link org.gridsphere.layout.view.TabbedPaneView}</li>
+<li>{@link org.gridsphere.layout.view.TableLayoutView}</li>
+</ul>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionRequestImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionRequestImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionRequestImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionRequestImpl.java 4894 2006-06-28 22:57:23Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+
+/**
+ * The <CODE>ActionRequest</CODE> represents the request sent to the portlet
+ * to handle an action.
+ * It extends the PortletRequest interface to provide action request
+ * information to portlets.<br>
+ * The portlet container creates an <CODE>ActionRequest</CODE> object and
+ * passes it as argument to the portlet's <CODE>processAction</CODE> method.
+ * 
+ * @see PortletRequest
+ * @see RenderRequest
+ */
+public class ActionRequestImpl extends PortletRequestImpl implements ActionRequest {
+
+    /**
+     * Constructor creates a proxy for a HttpServletRequest
+     * All PortletRequest objects come from request or session attributes
+     *
+     * @param req the HttpServletRequest
+     * @param portletContext the PortletContext
+     */
+    public ActionRequestImpl(HttpServletRequest req, PortletContext portletContext) {
+        super(req, portletContext);
+    }
+
+    /**
+     * Retrieves the body of the HTTP request from client to
+     * portal as binary data using
+     * an <CODE>InputStream</CODE>. Either this method or
+     * {@link #getReader} may be called to read the body, but not both.
+     * <p/>
+     * For HTTP POST data of type application/x-www-form-urlencoded
+     * this method throws an <code>IllegalStateException</code>
+     * as this data has been already processed by the
+     * portal/portlet-container and is available as request parameters.
+     *
+     * @return an input stream containing the body of the request
+     * @throws IllegalStateException if getReader was already called, or it is a
+     *                               HTTP POST data of type application/x-www-form-urlencoded
+     * @throws java.io.IOException   if an input or output exception occurred
+     */
+    public java.io.InputStream getPortletInputStream() throws IOException, IllegalStateException {
+        HttpServletRequest req = (HttpServletRequest) super.getRequest();
+        // 'POST' replaced by 'post' for XHTML 1.0 Strict compliance
+        if (req.getMethod().toUpperCase().equals("POST")) {
+            String contentType = req.getContentType();
+            if (contentType == null || contentType.equals("application/x-www-form-urlencoded")) {
+                throw new IllegalStateException("User request HTTP POST data is of type application/x-www-form-urlencoded. This data has been already processed by the portal/portlet-container and is available as request parameters.");
+            }
+        }
+        hasReader = true;
+        return super.getRequest().getInputStream();
+    }
+
+    /**
+     * Overrides the name of the character encoding used in the body of this
+     * request. This method must be called prior to reading input
+     * using {@link #getReader} or {@link #getPortletInputStream}.
+     * <p/>
+     * This method only sets the character set for the Reader that the
+     * {@link #getReader} method returns.
+     *
+     * @param	enc	a <code>String</code> containing the name of
+     * the chararacter encoding.
+     * @exception		java.io.UnsupportedEncodingException if this is not a valid encoding
+     * @exception		IllegalStateException if this method is called after
+     * reading request parameters or reading input using
+     * <code>getReader()</code>
+     */
+    public void setCharacterEncoding(String enc)
+            throws UnsupportedEncodingException, IllegalStateException {
+        if (hasReader) {
+            throw new IllegalStateException("Cannot invoke this method after using getReader or reading request parameters!");
+        }
+        super.getRequest().setCharacterEncoding(enc);
+    }
+
+    /**
+     * Retrieves the body of the HTTP request from the client to the portal
+     * as character data using
+     * a <code>BufferedReader</code>.  The reader translates the character
+     * data according to the character encoding used on the body.
+     * Either this method or {@link #getPortletInputStream} may be called to read the
+     * body, not both.
+     * <p/>
+     * For HTTP POST data of type application/x-www-form-urlencoded
+     * this method throws an <code>IllegalStateException</code>
+     * as this data has been already processed by the
+     * portal/portlet-container and is available as request parameters.
+     *
+     * @throws java.io.UnsupportedEncodingException
+     *                               if the character set encoding used is
+     *                               not supported and the text cannot be decoded
+     * @throws IllegalStateException if {@link #getPortletInputStream} method
+     *                               has been called on this request,  it is a
+     *                               HTTP POST data of type application/x-www-form-urlencoded.
+     * @throws java.io.IOException   if an input or output exception occurred
+     * @return	a <code>BufferedReader</code>
+     * containing the body of the request
+     * @see #getPortletInputStream
+     */
+    public java.io.BufferedReader getReader()
+            throws java.io.IOException {
+        hasReader = true;
+        return super.getRequest().getReader();
+    }
+
+    /**
+     * Returns the name of the character encoding used in the body of this request.
+     * This method returns <code>null</code> if the request
+     * does not specify a character encoding.
+     *
+     * @return		a <code>String</code> containing the name of
+     * the chararacter encoding, or <code>null</code>
+     * if the request does not specify a character encoding.
+     */
+    public String getCharacterEncoding() {
+        return super.getRequest().getCharacterEncoding();
+    }
+
+    /**
+     * Returns the MIME type of the body of the request,
+     * or null if the type is not known.
+     *
+     * @return		a <code>String</code> containing the name
+     * of the MIME type of the request, or null
+     * if the type is not known.
+     */
+    public String getContentType() {
+        return super.getRequest().getContentType();
+    }
+
+    /**
+     * Returns the length, in bytes, of the request body
+     * which is made available by the input stream, or -1 if the
+     * length is not known.
+     *
+     * @return		an integer containing the length of the
+     * request body or -1 if the length is not known
+     */
+    public int getContentLength() {
+        return super.getRequest().getContentLength();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionResponseImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionResponseImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/ActionResponseImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,302 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionResponseImpl.java 4889 2006-06-28 18:36:43Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+
+/**
+ * The <CODE>ActionResponse</CODE> interface represents the portlet
+ * response to an action request.
+ * It extends the <CODE>PortletResponse</CODE> interface to provide specific
+ * action response functionality to portlets.<br>
+ * The portlet container creates an <CODE>ActionResponse</CODE> object and
+ * passes it as argument to the portlet's <CODE>processAction</CODE> method.
+ *
+ * @see ActionRequest
+ * @see PortletResponse
+ */
+public class ActionResponseImpl extends PortletResponseImpl implements ActionResponse {
+
+    /**
+     * Is it still allowed to invoke the method sendRedirect() ?
+     */
+    boolean isRedirectAllowed = true;
+
+    private boolean redirected = false;
+    private String redirectLocation = null;
+    protected Map<String, String[]> renderParams = null;
+
+    /**
+     * Constructs an instance of SportletResponse using an
+     * <code>HttpServletResponse</code> as a proxy
+     *
+     * @param req the <code>HttpServletRequest</code>
+     * @param res the <code>HttpServletResponse</code>
+     */
+    public ActionResponseImpl(HttpServletRequest req, HttpServletResponse res) {
+        super(req, res);
+        renderParams = new HashMap<String, String[]>();
+    }
+
+    /**
+     * Sets the window state of a portlet to the given window state.
+     * <p/>
+     * Possible values are the standard window states and any custom
+     * window states supported by the portal and the portlet.
+     * Standard window states are:
+     * <ul>
+     * <li>MINIMIZED
+     * <li>NORMAL
+     * <li>MAXIMIZED
+     * </ul>
+     *
+     * @param windowState the new portlet window state
+     * @throws WindowStateException  if the portlet cannot switch to the specified window state.
+     *                               To avoid this exception the portlet can check the allowed
+     *                               window states with <code>Request.isWindowStateAllowed()</code>.
+     * @throws IllegalStateException if the method is invoked after <code>sendRedirect</code> has been called.
+     * @see WindowState
+     */
+    public void setWindowState(WindowState windowState)
+            throws WindowStateException, IllegalStateException {
+        if (redirected) {
+            throw new IllegalStateException("cannot invoke setWindowState after sendRedirect has been called");
+        }
+        PortalContext portalContext = (PortalContext)req.getAttribute(SportletProperties.PORTAL_CONTEXT);
+        if (portalContext != null) {
+            Enumeration e = portalContext.getSupportedWindowStates();
+            boolean found = false;
+            while (e.hasMoreElements() && (!found)) {
+                WindowState s = (WindowState) e.nextElement();
+                if (s.toString().equalsIgnoreCase(windowState.toString())) {
+                    found = true;
+                }
+            }
+            if (!found) throw new WindowStateException("Unsupported window state!", windowState);
+        } else {
+            throw new IllegalStateException("No PortalContext found!");
+        }
+
+        isRedirectAllowed = false;
+
+        req.setAttribute(SportletProperties.PORTLET_WINDOW, windowState);
+    }
+
+    /**
+     * Sets the portlet mode of a portlet to the given portlet mode.
+     * <p/>
+     * Possible values are the standard portlet modes and any custom
+     * portlet modes supported by the portal and the portlet. Portlets
+     * must declare in the deployment descriptor the portlet modes they
+     * support for each markup type.
+     * Standard portlet modes are:
+     * <ul>
+     * <li>EDIT
+     * <li>HELP
+     * <li>VIEW
+     * </ul>
+     * <p/>
+     * Note: The portlet may still be called in a different window
+     * state in the next render call, depending on the portlet container / portal.
+     *
+     * @param portletMode the new portlet mode
+     * @throws PortletModeException  if the portlet cannot switch to this portlet mode,
+     *                               because the portlet or portal does not support it for this markup,
+     *                               or the current user is not allowed to switch to this portlet mode.
+     *                               To avoid this exception the portlet can check the allowed
+     *                               portlet modes with <code>Request.isPortletModeAllowed()</code>.
+     * @throws IllegalStateException if the method is invoked after <code>sendRedirect</code> has been called.
+     */
+    public void setPortletMode(PortletMode portletMode)
+            throws PortletModeException {
+
+        if (redirected) {
+            throw new IllegalStateException("it is not allowed to invoke setPortletMode after sendRedirect has been called");
+        }
+        Set allowedModes = (Set) req.getAttribute(SportletProperties.ALLOWED_MODES);
+        if (allowedModes != null) {
+            if (!allowedModes.contains(portletMode.toString())) throw new PortletModeException("Unsupported portlet mode!", portletMode);
+            req.setAttribute(SportletProperties.PORTLET_MODE, portletMode);
+        } else {
+            throw new IllegalStateException("No list of supported modes has been provided!");
+        }
+        isRedirectAllowed = false;
+    }
+
+    /**
+     * Instructs the portlet container to send a redirect response
+     * to the client using the specified redirect location URL.
+     * <p/>
+     * This method only accepts an absolute URL (e.g.
+     * <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
+     * or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
+     * If required,
+     * the portlet container may encode the given URL before the
+     * redirection is issued to the client.
+     * <p/>
+     * The sendRedirect method can not be invoked after any of the
+     * following methods of the ActionResponse interface has been called:
+     * <ul>
+     * <li>setPortletMode
+     * <li>setWindowState
+     * <li>setRenderParameter
+     * <li>setRenderParameters
+     * </ul>
+     *
+     * @throws IllegalStateException if the method is invoked after any of above mentioned methods of
+     *                               the ActionResponse interface has been called.
+     * @param		location	the redirect location URL
+     * @exception	java.io.IOException if an input or output exception occurs.
+     * @exception	IllegalArgumentException if a relative path URL is given
+     */
+    public void sendRedirect(String location)
+            throws java.io.IOException {
+        // TODO needs work
+        if (isRedirectAllowed) {
+            if (location != null) {
+                HttpServletResponse res = (HttpServletResponse) super.getResponse();
+                if (location.indexOf("/") == -1) throw new IllegalArgumentException("Must be an absolute URL or full path URI");
+                if (location.indexOf("://") != -1) {
+                    //   provider.setAbsoluteURL(location);
+                } else {
+                    //   provider.setFullPath(location);
+                }
+                location = res.encodeRedirectURL(location.toString());
+                redirectLocation = location;
+                redirected = true;
+                req.setAttribute(SportletProperties.RESPONSE_COMMITTED, "true");
+                // Don't do actual redirect this will be done by PortletServlet
+                // res.sendRedirect(location);
+            }
+        } else {
+            throw new IllegalStateException("Can't invoke sendRedirect() after certain methods have been called");
+        }
+    }
+
+    /**
+     * Sets a parameter map for the render request.
+     * <p/>
+     * All previously set render parameters are cleared.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a new request is targeted to the portlet.
+     * <p/>
+     * The given parameters do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param parameters Map containing parameter names for
+     *                   the render phase as
+     *                   keys and parameter values as map
+     *                   values. The keys in the parameter
+     *                   map must be of type String. The values
+     *                   in the parameter map must be of type
+     *                   String array (<code>String[]</code>).
+     * @throws IllegalStateException if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception	IllegalArgumentException if parameters is <code>null</code>, if
+     * any of the key/values in the Map are <code>null</code>,
+     * if any of the keys is not a String, or if any of
+     * the values is not a String array.
+     */
+    public void setRenderParameters(java.util.Map parameters) {
+        if (redirected) {
+            throw new IllegalStateException("Can't invoke setRenderParameters() after sendRedirect() has been called");
+        }
+        if (parameters == null) {
+            throw new IllegalArgumentException("Render parameters must not be null.");
+        }
+        Map<String, String[]> params = new HashMap<String, String[]>();
+        for (Object obj : parameters.keySet()) {
+            if (!(obj instanceof String))
+                throw new IllegalArgumentException("Key must not be null and of type java.lang.String.");
+            String key = (String) obj;
+
+            Object vals = parameters.get(key);
+
+            if (!(vals instanceof String[]))
+                throw new IllegalArgumentException("Value must not be null and of type java.lang.String[].");
+            String newkey = SportletProperties.RENDER_PARAM_PREFIX + key;
+            params.put(newkey, (String[])vals);
+        }
+        renderParams.clear();
+        renderParams.putAll(params);
+        isRedirectAllowed = false;
+    }
+
+
+    /**
+     * Sets a String parameter for the render request.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a request is targeted to the portlet.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The given parameter do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param key   key of the render parameter
+     * @param value value of the render parameter
+     * @throws IllegalStateException if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception IllegalArgumentException if key or value are <code>null</code>.
+     */
+    public void setRenderParameter(String key, String value) {
+        if (redirected) {
+            throw new IllegalStateException("Can't invoke setRenderParameter() after sendRedirect() has been called");
+        }
+        if ((key == null) || (value == null)) {
+            throw new IllegalArgumentException("Render parameter key or value must not be null.");
+        }
+        renderParams.put(SportletProperties.RENDER_PARAM_PREFIX + key, new String[]{value});
+        isRedirectAllowed = false;
+    }
+
+    /**
+     * Sets a String array parameter for the render request.
+     * <p/>
+     * These parameters will be accessible in all
+     * sub-sequent render calls via the
+     * <code>PortletRequest.getParameter</code> call until
+     * a request is targeted to the portlet.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The given parameter do not need to be encoded
+     * prior to calling this method.
+     *
+     * @param key    key of the render parameter
+     * @param values values of the render parameter
+     * @throws IllegalStateException if the method is invoked after <code>sendRedirect</code> has been called.
+     * @exception	IllegalArgumentException if key or value are <code>null</code>.
+     */
+    public void setRenderParameter(String key, String[] values) {
+        if (redirected) {
+            throw new IllegalStateException("Can't invoke setRenderParameter() after sendRedirect() has been called");
+        }
+        if (key == null || values == null || values.length == 0) {
+            throw new IllegalArgumentException("Render parameter key or value  must not be null or values be an empty array.");
+        }
+        renderParams.put(SportletProperties.RENDER_PARAM_PREFIX + key, values);
+        isRedirectAllowed = false;
+    }
+
+    public Map getRenderParameters() {
+        return renderParams;
+    }
+
+    public String getRedirectLocation() {
+        return redirectLocation;
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/Enumerator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/Enumerator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/Enumerator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2003 The Apache Software Foundation.  All rights 
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer. 
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ *    any, must include the following acknowlegement:  
+ *       "This product includes software developed by the 
+ *        Apache Software Foundation (http://www.apache.org/)."
+ *    Alternately, this acknowlegement may appear in the software itself,
+ *    if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Pluto", and "Apache Software
+ *    Foundation" must not be used to endorse or promote products derived
+ *    from this software without prior written permission. For written 
+ *    permission, please contact apache at apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ *    nor may "Apache" appear in their names without prior written
+ *    permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation.  For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+/* 
+
+ */
+
+package org.gridsphere.portlet.impl;
+
+import java.util.*;
+
+
+/**
+ * Uitlity class to wraps an <code>Enumeration</code> around a
+ * Collection, i.e. <code>Iterator</code> classes.
+ */
+
+public final class Enumerator implements Enumeration {
+
+
+    // Iterator over which the Enumeration takes place
+    private Iterator iterator = null;
+
+
+    /**
+     * Returns an Enumeration over the specified Collection.
+     *
+     * @param collection Collection with values that should be enumerated
+     */
+    public Enumerator(Collection collection) {
+        this(collection.iterator());
+    }
+
+
+    /**
+     * Returns an Enumeration over the values of the
+     * specified Iterator.
+     *
+     * @param iterator Iterator to be wrapped
+     */
+    public Enumerator(Iterator iterator) {
+        super();
+        this.iterator = iterator;
+    }
+
+
+    /**
+     * Returns an Enumeration over the values of the specified Map.
+     *
+     * @param map Map with values that should be enumerated
+     */
+    public Enumerator(Map map) {
+        this(map.values().iterator());
+    }
+
+
+    /**
+     * Tests if this enumeration contains more elements.
+     *
+     * @return <code>true</code> if this enumeration contains at
+     *         least one more element to provide,
+     *         <code>false</code> otherwise.
+     */
+    public boolean hasMoreElements() {
+        return (iterator.hasNext());
+    }
+
+
+    /**
+     * Returns the next element of this enumeration.
+     *
+     * @return the next element of this enumeration
+     * @throws NoSuchElementException if no more elements exist
+     */
+    public Object nextElement() throws NoSuchElementException {
+        return (iterator.next());
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/GridSphereParameters.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/GridSphereParameters.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/GridSphereParameters.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,292 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: GridSphereParameters.java 4988 2006-08-04 09:57:48Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.*;
+
+/**
+ * GridSphereParameters is the dragon's end. A sick, twisted filter for request parameters owing to
+ * the various rules that must be obeyed in the spec. Initialized in PortletRequestImpl constructor.
+ */
+public class GridSphereParameters {
+
+    private Map<String, String[]> origParams = null;
+    private Map<String, String[]> renderParams = null;
+    private Map<String, String[]> persistParams = null;
+    private Map<String, String[]> params = null;
+    private List<String> reservedParams = null;
+
+
+    public GridSphereParameters(Map<String, String[]> origParams) {
+        this.origParams = origParams;
+    }
+
+    public void addRenderParams(Map<String, String[]> params) {
+        persistParams.putAll(params);
+    }
+
+    public Map<String, String[]> parseQueryString(String queryString, boolean checkForRenderParams) {
+
+        queryString = queryString + "&";
+
+        //System.err.println("GP: queryString= " + queryString);
+
+        StringTokenizer st = new StringTokenizer(queryString, "&");
+        Map<String, String[]> tmpParams = new HashMap<String, String[]>();
+        while (st.hasMoreTokens()) {
+            String namevar = (String) st.nextElement();
+
+            StringTokenizer st2 = new StringTokenizer(namevar, "=");
+            String name = (String) st2.nextElement();
+            String value = "";
+            if (st2.hasMoreElements()) {
+                value = (String) st2.nextElement();
+            }
+
+            try {
+                name = URLDecoder.decode(name, "UTF-8");
+                value = URLDecoder.decode(value, "UTF-8");
+            } catch (UnsupportedEncodingException e) {
+                System.err.println("name= " + " value= " + value);
+                e.printStackTrace();
+            }
+
+            if (checkForRenderParams) {
+                if (name.startsWith(SportletProperties.RENDER_PARAM_PREFIX)) {
+                    String sname = name.substring(3);
+                    if (tmpParams.containsKey(sname)) {
+                        String[] s = (String[]) tmpParams.get(sname);
+                        String[] tmp = new String[s.length + 1];
+                        System.arraycopy(s, 0, tmp, 0, s.length);
+                        tmp[s.length] = value;
+                        tmpParams.put(sname, tmp);
+                    } else {
+                        tmpParams.put(sname, new String[]{value});
+                    }
+                }
+            } else {
+                if (!reservedParams.contains(name)) {
+                    if (tmpParams.containsKey(name)) {
+                        String[] s = (String[]) tmpParams.get(name);
+                        String[] tmp = new String[s.length + 1];
+                        System.arraycopy(s, 0, tmp, 0, s.length);
+                        tmp[s.length] = value;
+                        tmpParams.put(name, tmp);
+                    } else {
+                        tmpParams.put(name, new String[]{value});
+                    }
+                }
+            }
+        }
+        return tmpParams;
+    }
+
+    private void parseRequestParams() {
+        //System.err.println("GP: parse req parms");
+        for (String paramName : origParams.keySet()) {
+            String[] paramValues = (String[]) origParams.get(paramName);
+            if (!reservedParams.contains(paramName)) {
+                if (paramName.startsWith("pr_" + SportletProperties.RENDER_PARAM_PREFIX)) continue;
+                if (paramName.startsWith(SportletProperties.RENDER_PARAM_PREFIX)) {
+                    String name = paramName.substring(3);
+                    if (!renderParams.containsKey(name)) {
+                        renderParams.put(name, paramValues);
+                    }
+                } else {
+                    if (!params.containsKey(paramName)) {
+                        params.put(paramName, paramValues);
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Parses the request for double prefixed render params that have been transmitted from the PortletFrame
+     * using JSRApplicationPortletImpl to get its dispatcher.
+     */
+    private void parsePersistParams() {
+        //System.err.println("GP: parse persist parms");
+        for (String paramName : origParams.keySet()) {
+            String[] paramValues = (String[]) origParams.get(paramName);
+            if (!reservedParams.contains(paramName)) {
+                if (paramName.startsWith("pr_" + SportletProperties.RENDER_PARAM_PREFIX)) {
+                    String name = paramName.substring(6);
+                    if (!persistParams.containsKey(name)) {
+                        persistParams.put(name, paramValues);
+                    }
+                }
+            }
+        }
+    }
+
+    public Map getParameterMap(HttpServletRequest req, String queryString) {
+        // A Magic parameter to ignore the special parsing required for JSR 168
+        if (req.getAttribute(SportletProperties.IGNORE_PARSING) != null) return origParams;
+
+        // check request string for action
+
+        params = new HashMap<String, String[]>();
+        renderParams = new HashMap<String, String[]>();
+        persistParams = new HashMap<String, String[]>();
+
+        // create reserved params list
+        reservedParams = new ArrayList<String>();
+
+
+        reservedParams.add(SportletProperties.COMPONENT_ID);
+        reservedParams.add(SportletProperties.DEFAULT_PORTLET_ACTION);
+        reservedParams.add(SportletProperties.PORTLET_MODE);
+        reservedParams.add(SportletProperties.PORTLET_WINDOW);
+
+        renderParams.putAll(parseQueryString(queryString, true));
+        params.putAll(parseQueryString(queryString, false));
+
+        String targetedCid = null;
+        String[] tCid = (String[]) origParams.get(SportletProperties.COMPONENT_ID);
+        if (tCid != null) targetedCid = tCid[0];
+
+        //System.err.println("target cid= " + targetedCid);
+
+        String mycid = (String) req.getAttribute(SportletProperties.COMPONENT_ID);
+        if (mycid == null) {
+            //System.err.println("mycid is null");
+            return origParams;
+        }
+
+        Map<String, String[]> map = new HashMap<String, String[]>();
+
+        // check for any query params from an included JSP
+        queryString = (String) req.getAttribute("javax.servlet.include.query_string");
+        if (queryString != null) {
+            //System.err.println("found query string");
+            map.putAll(parseQueryString(queryString, false));
+        }
+
+        // we need to distinguish between a render invocation abnd a render that follows an action
+        // In the first case, all params are returned. In the second case, params in action method
+        // must not be returned
+
+        //System.err.println("\nGP: in parameters  mycid= " + mycid + " targetid= " + targetedCid);
+
+        // this is a render event (meaning params are being queried in a render method)
+        if (req.getAttribute(SportletProperties.PORTLET_ACTION_METHOD) == null) {
+
+            // this is a render that has occured after an action
+            if (origParams.containsKey(SportletProperties.DEFAULT_PORTLET_ACTION)) {
+
+                //System.err.println("GP: default action not null");
+
+                // this is the portlet that was being targeted, now during a render
+                if (mycid.equals(targetedCid)) {
+                    //System.err.println("\nGP: in render event, have an action, this is the target portlet: ");
+                    parseRequestParams();
+
+                    parsePersistParams();
+                    map.putAll(persistParams);
+                    map.putAll(renderParams);
+
+                } else {
+                    //System.err.println("\nGP: in render event, have an action, this portlet is not targeted");
+                    parsePersistParams();
+                    map.putAll(persistParams);
+
+                }
+                return Collections.unmodifiableMap(map);
+            }
+        }
+
+        // this is a render triggered by a render URL or an action event
+        if (mycid.equals(targetedCid)) {
+
+            parsePersistParams();
+
+            map.putAll(persistParams);
+
+            //System.err.println("\nGP: in render, no action this IS the targeted portlet ");
+
+            parseRequestParams();
+
+            // replace any persist params with render params
+            for (Object o : renderParams.keySet()) {
+                String key = (String) o;
+                String[] paramVals = (String[]) renderParams.get(key);
+
+                if (map.containsKey(key)) {
+                    map.put(key, paramVals);
+                }
+
+            }
+
+            // a param of the same name should take precedence over a render/persist param
+            // and new render params of the same name should be added to the array
+            for (Object o1 : params.keySet()) {
+                String key = (String) o1;
+                String[] paramVals = (String[]) params.get(key);
+                if (map.containsKey(key)) {
+                    String[] vals = (String[]) map.get(key);
+                    String[] tmp = new String[vals.length + paramVals.length];
+                    System.arraycopy(paramVals, 0, tmp, 0, paramVals.length);
+                    System.arraycopy(vals, 0, tmp, paramVals.length, vals.length);
+                    map.put(key, tmp);
+                } else {
+                    map.put(key, paramVals);
+                }
+            }
+        } else {
+            //System.err.println("GP: in render, no action this is NOT the targeted portlet");
+            parsePersistParams();
+            map.putAll(persistParams);
+        }
+
+        //printAllParams(map);
+
+        return Collections.unmodifiableMap(map);
+    }
+
+
+    private void printAllParams(Map map) {
+        System.err.println("normal params");
+        for (Object o : params.keySet()) {
+            String key = (String) o;
+            String[] vals = (String[]) params.get(key);
+            System.err.print("name= " + key + " values= ");
+            for (int c = 0; c < vals.length; c++) {
+                System.err.print(vals[c] + " ");
+            }
+        }
+        System.err.println("\nrender params");
+        for (Object o1 : renderParams.keySet()) {
+            String key = (String) o1;
+            String[] vals = (String[]) renderParams.get(key);
+            System.err.print("name= " + key + " values= ");
+            for (int c = 0; c < vals.length; c++) {
+                System.err.print(vals[c] + " ");
+            }
+        }
+        System.err.println("\npersist params");
+        for (Object o2 : persistParams.keySet()) {
+            String key = (String) o2;
+            String[] vals = (String[]) persistParams.get(key);
+            System.err.print("name= " + key + " values= ");
+            for (int c = 0; c < vals.length; c++) {
+                System.err.print(vals[c] + " ");
+            }
+        }
+        System.err.println("\ngetParamaterMap: returning params for this portlet");
+        for (Object o3 : map.keySet()) {
+            String key = (String) o3;
+            String[] vals = (String[]) map.get(key);
+            System.err.print("name= " + key + " values= ");
+            for (int c = 0; c < vals.length; c++) {
+                System.err.print(vals[c] + " ");
+            }
+        }
+
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PersistencePreferenceAttribute.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,82 @@
+package org.gridsphere.portlet.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PersistencePreferenceAttribute.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class PersistencePreferenceAttribute {
+
+    private String oid = null;
+    protected boolean readonly = false;
+    protected String name = "";
+    protected List values = new ArrayList();
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public void setReadOnly(boolean readonly) {
+        this.readonly = readonly;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setValues(List values) {
+        this.values = values;
+    }
+
+    public List getValues() {
+        return values;
+    }
+
+    public boolean isReadOnly() {
+        return readonly;
+    }
+
+    public void setAValues(String[] values) {
+        this.values = new ArrayList();
+        if (values != null) {
+            for (int i = 0; i < values.length; i++) {
+                this.values.add(values[i]);
+            }
+        }
+    }
+
+    public String[] getAValues() {
+        String[] array = new String[values.size()];
+        return (String[]) this.values.toArray(array);
+    }
+
+    public void setValue(String value) {
+        setAValues(new String[]{value});
+    }
+
+    public String getValue() {
+        return (String) values.get(0);
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("oid=" +oid);
+        sb.append("\nreadonly="+ readonly);
+        sb.append("\nname=" + name);
+        for (int i = 0; i < values.size(); i++) {
+            sb.append("\nval" + i + "=" + (String)values.get(i));
+        }
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortalContextImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortalContextImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortalContextImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortalContextImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode;
+import org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState;
+import org.gridsphere.portletcontainer.impl.descriptor.PortletApp;
+
+import javax.portlet.PortalContext;
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The <CODE>PortalContext</CODE> interface gives the portlet
+ * the ability to retrieve information about the portal calling this portlet.
+ * <p/>
+ * The portlet can only read the <CODE>PortalContext</CODE> data.
+ */
+public class PortalContextImpl implements PortalContext {
+
+    private Map props = new HashMap();
+    private List windowStates = null;
+    private List portletModes = null;
+
+    public PortalContextImpl(PortletApp portletApp) {
+        windowStates = new ArrayList();
+        windowStates.add(WindowState.MAXIMIZED);
+        windowStates.add(WindowState.NORMAL);
+        windowStates.add(WindowState.MINIMIZED);
+        CustomWindowState[] customStates = portletApp.getCustomWindowState();
+
+        for (int i = 0; i < customStates.length; i++) {
+            CustomWindowState state = customStates[i];
+            windowStates.add(state);
+        }
+        portletModes = new ArrayList();
+        portletModes.add(PortletMode.EDIT);
+        portletModes.add(PortletMode.VIEW);
+        portletModes.add(PortletMode.HELP);
+        CustomPortletMode[] customModes = portletApp.getCustomPortletMode();
+        for (int i = 0; i < customModes.length; i++) {
+            CustomPortletMode mode = customModes[i];
+            portletModes.add(mode.getPortletMode());
+        }
+    }
+
+    /**
+     * Returns the portal property with the given name,
+     * or a <code>null</code> if there is
+     * no property by that name.
+     *
+     * @param name property name
+     * @return portal property with key <code>name</code>
+     * @exception	IllegalArgumentException if name is <code>null</code>.
+     */
+    public String getProperty(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        return (String) props.get(name);
+    }
+
+
+    /**
+     * Returns all portal property names, or an empty
+     * <code>Enumeration</code> if there are no property names.
+     *
+     * @return All portal property names as an
+     *         <code>Enumeration</code> of <code>String</code> objects
+     */
+    public java.util.Enumeration getPropertyNames() {
+        return new Enumerator(props.keySet());
+    }
+
+
+    /**
+     * Returns all supported portlet modes by the portal
+     * as an enumertation of <code>PortletMode</code> objects.
+     * <p/>
+     * The portlet modes must at least include the
+     * standard portlet modes <code>EDIT, HELP, VIEW</code>.
+     *
+     * @return All supported portal modes by the portal
+     *         as an enumertation of <code>PortletMode</code> objects.
+     */
+    public java.util.Enumeration getSupportedPortletModes() {
+        return new Enumerator(portletModes);
+    }
+
+
+    /**
+     * Returns all supported window states by the portal
+     * as an enumertation of <code>WindowState</code> objects.
+     * <p/>
+     * The window states must at least include the
+     * standard window states <code> MINIMIZED, NORMAL, MAXIMIZED</code>.
+     *
+     * @return All supported window states by the portal
+     *         as an enumertation of <code>WindowState</code> objects.
+     */
+    public java.util.Enumeration getSupportedWindowStates() {
+        return new Enumerator(windowStates);
+    }
+
+
+    /**
+     * Returns information about the portal like vendor, version, etc.
+     * <p/>
+     * The form of the returned string is <I>servername/versionnumber</I>.
+     * <p/>
+     * The portlet container may return other optional information  after the
+     * primary string in parentheses, for example, <CODE>GridSphere/1.0
+     * (JDK 1.3.1; Windows NT 4.0 x86)</CODE>.
+     *
+     * @return a <CODE>String</CODE> containing at least the portal name and version number
+     */
+    public String getPortalInfo() {
+        return SportletProperties.getInstance().getProperty("gridsphere.release");
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletConfigImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletConfigImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletConfigImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,229 @@
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.portletcontainer.impl.descriptor.InitParam;
+import org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition;
+import org.gridsphere.portletcontainer.impl.descriptor.PortletInfo;
+import org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale;
+
+import javax.portlet.Portlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletContext;
+import javax.servlet.ServletConfig;
+import java.util.*;
+
+/**
+ * The <CODE>PortletConfig</CODE> interface provides the portlet with
+ * its configuration. The configuration holds information about the
+ * portlet that is valid for all users. The configuration is retrieved
+ * from the portlet definition in the deployment descriptor.
+ * The portlet can only read the configuration data.
+ * <p/>
+ * The configuration information contains the portlet name, the portlet
+ * initialization parameters, the portlet resource bundle and the portlet
+ * application context.
+ *
+ * @see Portlet
+ */
+public class PortletConfigImpl implements PortletConfig {
+
+    private PortletContext context = null;
+    private ClassLoader classLoader = null;
+    private String portletName = null;
+    private ResourceBundle infoBundle = null;
+    private String resources = null;
+    private Hashtable initParams = new Hashtable();
+
+    private static class DefaultResourceBundle extends ListResourceBundle {
+        private Object[][] resources;
+
+        public DefaultResourceBundle(PortletInfo portletInfo) {
+            String title = ((portletInfo.getTitle() != null) ? portletInfo.getTitle().getContent() : "");
+            String shortTitle = ((portletInfo.getShortTitle() != null) ? portletInfo.getShortTitle().getContent() : "");
+            String keywords = ((portletInfo.getKeywords() != null) ? portletInfo.getKeywords().getContent() : "");
+            resources = new Object[][]{
+                    {"javax.portlet.title", title},
+                    {"javax.portlet.short-title", shortTitle},
+                    {"javax.portlet.keywords", keywords}
+            };
+        }
+
+        public Object[][] getContents() {
+            return resources;
+        }
+    }
+
+    private static class ResourceBundleImpl extends ResourceBundle {
+        private HashMap data;
+
+        public ResourceBundleImpl(ResourceBundle bundle, ResourceBundle defaults) {
+            data = new HashMap();
+            importData(defaults);
+            importData(bundle);
+        }
+
+        private void importData(ResourceBundle bundle) {
+            if (bundle != null) {
+                for (Enumeration e = bundle.getKeys(); e.hasMoreElements();) {
+                    String key = (String) e.nextElement();
+                    Object value = bundle.getObject(key);
+                    data.put(key, value);
+                }
+            }
+        }
+
+        protected Object handleGetObject(String key) {
+            return data.get(key);
+        }
+
+        public Enumeration getKeys() {
+            return new Enumerator(data.keySet());
+        }
+    }
+
+    /**
+     * Constructs an instance of PortletConfig from a servlet configuration
+     * object and an application portlet descriptor
+     *
+     * @param servletConfig a <code>ServletConfig</code>
+     * @param definition    a <code>PortletDefinition</code>
+     */
+    public PortletConfigImpl(ServletConfig servletConfig, PortletDefinition definition, ClassLoader classLoader) {
+
+        this.classLoader = classLoader;
+
+        // create init params
+        InitParam[] params = definition.getInitParam();
+        if (params != null) {
+            for (int i = 0; i < params.length; i++) {
+                InitParam iparam = params[i];
+                String name = iparam.getName().getContent();
+                String value = iparam.getValue().getContent();
+                if ((name != null) && (value != null)) {
+                    initParams.put(name, value);
+                }
+            }
+        }
+
+        // create portlet context
+        context = new PortletContextImpl(servletConfig.getServletContext());
+
+        // get portlet name
+        portletName = definition.getPortletName().getContent();
+
+        SupportedLocale[] locales = definition.getSupportedLocale();
+        Locale[] supportedLocales = new Locale[locales.length];
+        for (int i = 0; i < locales.length; i++) {
+            supportedLocales[i] = new Locale(locales[i].getContent());
+        }
+
+        PortletInfo portletInfo = definition.getPortletInfo();
+        if (portletInfo != null) {
+            infoBundle = new DefaultResourceBundle(portletInfo);
+
+        }
+
+        if (definition.getResourceBundle() != null) {
+            resources = definition.getResourceBundle().getContent();
+
+        }
+
+        //this.logConfig();
+    }
+
+    /**
+     * Returns the name of the portlet.
+     * <p/>
+     * The name may be provided via server administration, assigned in the
+     * portlet application deployment descriptor with the <code>portlet-name</code>
+     * tag.
+     *
+     * @return the portlet name
+     */
+    public String getPortletName() {
+        return portletName;
+    }
+
+    /**
+     * Returns the <code>PortletContext</code> of the portlet application
+     * the portlet is in.
+     *
+     * @return a <code>PortletContext</code> object, used by the
+     *         caller to interact with its portlet container
+     * @see PortletContext
+     */
+    public PortletContext getPortletContext() {
+        return context;
+    }
+
+    /**
+     * Returns the path name of this portlet context
+     *
+     * @return Returns the context path of the web application.
+     */
+    public String getContextPath() {
+        // todo fix me to confirm to servlet spec 2.5
+        return "";
+    }
+
+    /**
+     * Gets the resource bundle for the given locale based on the
+     * resource bundle defined in the deployment descriptor
+     * with <code>resource-bundle</code> tag or the inlined resources
+     * defined in the deployment descriptor.
+     *
+     * @param locale the locale for which to retrieve the resource bundle
+     * @return the resource bundle for the given locale
+     */
+    public ResourceBundle getResourceBundle(java.util.Locale locale) {
+        if (resources == null) {
+            return infoBundle;
+        }
+        ResourceBundle resourceBundle = null;
+        try {
+            resourceBundle = ResourceBundle.getBundle(resources, locale, classLoader);
+            if (infoBundle != null) {
+                return new ResourceBundleImpl(resourceBundle, infoBundle);
+            }
+        } catch (MissingResourceException e) {
+            System.err.println("Unable to find resource bundle: " + resources + " for locale: " + locale);
+            if (infoBundle != null) {
+                return infoBundle;
+            }
+            // if everything goes wrong get the english locale (which needs to be there)
+            resourceBundle = ResourceBundle.getBundle(resources, Locale.ENGLISH, classLoader);
+        }
+        return resourceBundle;
+    }
+
+    /**
+     * Returns a String containing the value of the named initialization parameter,
+     * or null if the parameter does not exist.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the initialization parameter
+     * @return a <code>String</code> containing the value
+     * of the initialization parameter
+     * @exception IllegalArgumentException if name is <code>null</code>.
+     */
+    public String getInitParameter(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        return (String) initParams.get(name);
+    }
+
+
+    /**
+     * Returns the names of the portlet initialization parameters as an
+     * <code>Enumeration</code> of String objects, or an empty <code>Enumeration</code> if the
+     * portlet has no initialization parameters.
+     *
+     * @return an <code>Enumeration</code> of <code>String</code>
+     * objects containing the names of the portlet
+     * initialization parameters, or an empty <code>Enumeration</code> if the
+     * portlet has no initialization parameters.
+     */
+    public java.util.Enumeration getInitParameterNames() {
+        return initParams.keys();
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletContextImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletContextImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletContextImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,447 @@
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletRequestDispatcher;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import java.net.MalformedURLException;
+
+
+/**
+ * The <CODE>PortletContext</CODE> interface defines a portlet view
+ * of the portlet container.
+ * The <CODE>PortletContext</CODE> also makes resources available
+ * to the portlet. Using the context, a portlet can access
+ * the portlet log, and obtain URL references to resources.
+ * <p/>
+ * <p>There is one context per "portlet application" per Java Virtual Machine.  (A
+ * "portlet application" is a collection of portlets, servlets, and content installed
+ * under a specific subset of the server URL namespace, such as <code>/catalog</code>.
+ * They are possibly installed via a <code>.war</code> file.)
+ * As a web application, a portlet application also has a servlet context.
+ * The portlet context leverages most of its functionality from the
+ * servlet context of the portlet application.
+ * <p/>
+ * Attibutes stored in the context are global for <I>all</I> users and <I>all</I>
+ * components in the portlet application.
+ * <p/>
+ * In the case of a web
+ * application marked "distributed" in its deployment descriptor, there will
+ * be one context instance for each virtual machine.  In this situation, the
+ * context cannot be used as a location to share global information (because
+ * the information is not truly global). Use an external resource, such as
+ * a database to achieve sharing on a global scope.
+ */
+public class PortletContextImpl implements PortletContext {
+
+    private ServletContext context = null;
+
+    /**
+     * Cannot instantiate uninitialized SportletContext
+     */
+    private PortletContextImpl() {
+    }
+
+    /**
+     * Constructs an instance of SportletContext from a <code>ServletConfig</code>
+     */
+    public PortletContextImpl(ServletContext context) {
+        this.context = context;
+    }
+
+    public ServletContext getServletContext() {
+        return context;
+    }
+
+    /**
+     * Returns the name and version of the portlet container in which the
+     * portlet is running.
+     * <p/>
+     * <P>
+     * The form of the returned string is <code>containername/versionnumber</code>.
+     *
+     * @return the string containing at least name and version number
+     */
+
+    public String getServerInfo() {
+        return SportletProperties.getInstance().getProperty("gridsphere.release");
+    }
+
+    /**
+     * Returns a {@link PortletRequestDispatcher} object that acts
+     * as a wrapper for the resource located at the given path.
+     * A <code>PortletRequestDispatcher</code> object can be used include the
+     * resource in a response. The resource can be dynamic or static.
+     * <p/>
+     * <p>The pathname must begin with a slash (<code> / </code>) and is interpreted as relative
+     * to the current context root.
+     * <p/>
+     * <p>This method returns <code>null</code> if the <code>PortletContext</code>
+     * cannot return a <code>PortletRequestDispatcher</code>
+     * for any reason.
+     *
+     * @param path a <code>String</code> specifying the pathname
+     *             to the resource
+     * @return a <code>PortletRequestDispatcher</code> object
+     *         that acts as a wrapper for the resource
+     *         at the specified path.
+     * @see PortletRequestDispatcher
+     */
+    public PortletRequestDispatcher getRequestDispatcher(String path) {
+        RequestDispatcher rd = context.getRequestDispatcher(path);
+        return new PortletRequestDispatcherImpl(rd, path);
+    }
+
+    /**
+     * Returns a {@link PortletRequestDispatcher} object that acts
+     * as a wrapper for the named servlet.
+     * <p/>
+     * <p>Servlets (and also JSP pages) may be given names via server
+     * administration or via a web application deployment descriptor.
+     * <p/>
+     * <p>This method returns <code>null</code> if the
+     * <code>PortletContext</code> cannot return a
+     * <code>PortletRequestDispatcher</code> for any reason.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of a servlet to be wrapped
+     * @return a <code>PortletRequestDispatcher</code> object
+     *         that acts as a wrapper for the named servlet
+     * @see PortletRequestDispatcher
+     */
+    public PortletRequestDispatcher getNamedDispatcher(String name) {
+        RequestDispatcher rd = context.getNamedDispatcher(name);
+        if (rd != null) {
+            return new PortletRequestDispatcherImpl(rd);
+        }
+        return null;
+    }
+
+
+    /**
+     * Returns the resource located at the given path as an InputStream object.
+     * The data in the InputStream can be of any type or length. The method returns
+     * null if no resource exists at the given path.
+     * <p/>
+     * In order to access protected resources the path has to be prefixed with
+     * <code>/WEB-INF/</code> (for example <code>/WEB-INF/myportlet/myportlet.jsp</code>).
+     * Otherwise, the direct path is used
+     * (for example <code>/myportlet/myportlet.jsp</code>).
+     *
+     * @param path the path to the resource
+     * @return the input stream
+     */
+    public java.io.InputStream getResourceAsStream(String path) {
+        return context.getResourceAsStream(path);
+    }
+
+    /**
+     * Returns the major version of the Portlet API that this portlet
+     * container supports.
+     *
+     * @return the major version
+     * @see #getMinorVersion()
+     */
+    public int getMajorVersion() {
+        return Integer.valueOf(SportletProperties.getInstance().getProperty("portletapi.majorversion")).intValue();
+    }
+
+    /**
+     * Returns the minor version of the Portlet API that this portlet
+     * container supports.
+     *
+     * @return the minor version
+     * @see #getMajorVersion()
+     */
+    public int getMinorVersion() {
+        return Integer.valueOf(SportletProperties.getInstance().getProperty("portletapi.minorversion")).intValue();
+    }
+
+    /**
+     * Returns the MIME type of the specified file, or <code>null</code> if
+     * the MIME type is not known. The MIME type is determined
+     * by the configuration of the portlet container and may be specified
+     * in a web application deployment descriptor. Common MIME
+     * types are <code>text/html</code> and <code>image/gif</code>.
+     *
+     * @param file a <code>String</code> specifying the name
+     *             of a file
+     * @return a <code>String</code> specifying the MIME type of the file
+     */
+    public String getMimeType(String file) {
+        return context.getMimeType(file);
+    }
+
+    /**
+     * Returns a <code>String</code> containing the real path
+     * for a given virtual path. For example, the path <code>/index.html</code>
+     * returns the absolute file path of the portlet container file system.
+     * <p/>
+     * <p>The real path returned will be in a form
+     * appropriate to the computer and operating system on
+     * which the portlet container is running, including the
+     * proper path separators. This method returns <code>null</code>
+     * if the portlet container cannot translate the virtual path
+     * to a real path for any reason (such as when the content is
+     * being made available from a <code>.war</code> archive).
+     *
+     * @param path a <code>String</code> specifying a virtual path
+     * @return a <code>String</code> specifying the real path,
+     *         or null if the transformation cannot be performed.
+     */
+    public String getRealPath(String path) {
+        return context.getRealPath(path);
+    }
+
+    /**
+     * Returns a directory-like listing of all the paths to resources within
+     * the web application longest sub-path of which
+     * matches the supplied path argument. Paths indicating subdirectory paths
+     * end with a slash (<code>/</code>). The returned paths are all
+     * relative to the root of the web application and have a leading slash.
+     * For example, for a web application
+     * containing<br><br>
+     * <code>
+     * /welcome.html<br>
+     * /catalog/index.html<br>
+     * /catalog/products.html<br>
+     * /catalog/offers/books.html<br>
+     * /catalog/offers/music.html<br>
+     * /customer/login.jsp<br>
+     * /WEB-INF/web.xml<br>
+     * /WEB-INF/classes/com.acme.OrderPortlet.class,<br><br>
+     * </code>
+     * <p/>
+     * <code>getResourcePaths("/")</code> returns
+     * <code>{"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}</code><br>
+     * <code>getResourcePaths("/catalog/")</code> returns
+     * <code>{"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}</code>.<br>
+     *
+     * @param path the partial path used to match the resources, which must start with a slash
+     * @return a Set containing the directory listing, or <code>null</code> if there
+     *         are no resources in the web application of which the path
+     *         begins with the supplied path.
+     */
+    public java.util.Set getResourcePaths(String path) {
+        return context.getResourcePaths(path);
+    }
+
+    /**
+     * Returns a URL to the resource that is mapped to a specified
+     * path. The path must begin with a slash (<code>/</code>) and is interpreted
+     * as relative to the current context root.
+     * <p/>
+     * <p>This method allows the portlet container to make a resource
+     * available to portlets from any source. Resources
+     * can be located on a local or remote
+     * file system, in a database, or in a <code>.war</code> file.
+     * <p/>
+     * <p>The portlet container must implement the URL handlers
+     * and <code>URLConnection</code> objects that are necessary
+     * to access the resource.
+     * <p/>
+     * <p>This method returns <code>null</code>
+     * if no resource is mapped to the pathname.
+     * <p/>
+     * <p>Some containers may allow writing to the URL returned by
+     * this method using the methods of the URL class.
+     * <p/>
+     * <p>The resource content is returned directly, so be aware that
+     * requesting a <code>.jsp</code> page returns the JSP source code.
+     * Use a <code>RequestDispatcher</code> instead to include results of
+     * an execution.
+     * <p/>
+     * <p>This method has a different purpose than
+     * <code>java.lang.Class.getResource</code>,
+     * which looks up resources based on a class loader. This
+     * method does not use class loaders.
+     *
+     * @param path a <code>String</code> specifying
+     *             the path to the resource
+     * @return the resource located at the named path,
+     *         or <code>null</code> if there is no resource
+     *         at that path
+     * @throws java.net.MalformedURLException if the pathname is not given in
+     *                                        the correct form
+     */
+    public java.net.URL getResource(String path) throws java.net.MalformedURLException {
+        if (path == null || !path.startsWith("/")) {
+            throw new MalformedURLException("path must start with a '/'");
+        }
+        return context.getResource(path);
+    }
+
+    /**
+     * Returns the portlet container attribute with the given name,
+     * or null if there is no attribute by that name.
+     * An attribute allows a portlet container to give the
+     * portlet additional information not
+     * already provided by this interface.
+     * A list of supported attributes can be retrieved using
+     * <code>getAttributeNames</code>.
+     * <p/>
+     * <p>The attribute is returned as a <code>java.lang.Object</code>
+     * or some subclass.
+     * Attribute names should follow the same convention as package
+     * names. The Java Portlet API specification reserves names
+     * matching <code>java.*</code>, <code>javax.*</code>,
+     * and <code>sun.*</code>.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the attribute
+     * @return an <code>Object</code> containing the value
+     *         of the attribute, or <code>null</code>
+     *         if no attribute exists matching the given
+     *         name
+     * @exception	IllegalArgumentException if name is <code>null</code>.
+     * @see #getAttributeNames
+     */
+    public Object getAttribute(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        return context.getAttribute(name);
+    }
+
+    /**
+     * Returns an <code>Enumeration</code> containing the attribute names
+     * available within this portlet context, or an emtpy
+     * <code>Enumeration</code> if no attributes are available. Use the
+     * {@link #getAttribute} method with an attribute name
+     * to get the value of an attribute.
+     *
+     * @return an <code>Enumeration</code> of attribute names
+     * @see		#getAttribute
+     */
+    public java.util.Enumeration getAttributeNames() {
+        return context.getAttributeNames();
+    }
+
+    /**
+     * Returns a String containing the value of the named context-wide
+     * initialization parameter, or <code>null</code> if the parameter does not exist.
+     * This method provides configuration information which may be useful for
+     * an entire "portlet application".
+     *
+     * @return a <code>String</code> containing the value
+     *         of the initialization parameter, or
+     *         <code>null</code> if the parameter does not exist.
+     * @param	name	a <code>String</code> containing the name of the
+     * requested parameter
+     * @exception	IllegalArgumentException if name is <code>null</code>.
+     * @see #getInitParameterNames
+     */
+    public String getInitParameter(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL!");
+        return context.getInitParameter(name);
+    }
+
+
+    /**
+     * Returns the names of the context initialization parameters as an
+     * <code>Enumeration</code> of String objects, or an empty Enumeration if the context
+     * has no initialization parameters.
+     *
+     * @return an <code>Enumeration</code> of <code>String</code>
+     *         objects containing the names of the context
+     *         initialization parameters
+     * @see #getInitParameter
+     */
+
+    public java.util.Enumeration getInitParameterNames() {
+        return context.getInitParameterNames();
+    }
+
+
+    /**
+     * Writes the specified message to a portlet log file, usually an event log.
+     * The name and type of the portlet log file is specific to the portlet container.
+     * <p/>
+     * This method mapps to the <code>ServletContext.log</code> method.
+     * The portlet container may in addition log this message in a
+     * portlet container specific log file.
+     *
+     * @param msg a <code>String</code> specifying the
+     *            message to be written to the log file
+     */
+
+    public void log(String msg) {
+        context.log(msg);
+    }
+
+
+    /**
+     * Writes an explanatory message and a stack trace for a given
+     * Throwable exception to the portlet log file.
+     * The name and type of the portlet log file is specific to the
+     * portlet container, usually an event log.
+     * <p/>
+     * This method is mapped to the <code>ServletContext.log</code> method.
+     * The portlet container may in addition log this message in a
+     * portlet container specific log file.
+     *
+     * @param message   a <code>String</code> that
+     *                  describes the error or exception
+     * @param throwable the <code>Throwable</code> error
+     *                  or exception
+     */
+
+    public void log(String message, Throwable throwable) {
+        context.log(message, throwable);
+    }
+
+
+    /**
+     * Removes the attribute with the given name from the portlet context.
+     * After removal, subsequent calls to
+     * {@link #getAttribute} to retrieve the attribute's value
+     * will return <code>null</code>.
+     *
+     * @param name a <code>String</code> specifying the name
+     *             of the attribute to be removed
+     * @exception	IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void removeAttribute(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        context.removeAttribute(name);
+    }
+
+
+    /**
+     * Binds an object to a given attribute name in this portlet context.
+     * If the name specified is already used for an attribute, this method
+     * removes the old attribute and binds the name to the new attribute.
+     * <p/>
+     * If a null value is passed, the effect is the same as calling
+     * <code>removeAttribute()</code>.
+     * <p/>
+     * <p>Attribute names should follow the same convention as package
+     * names. The Java Portlet API specification reserves names
+     * matching <code>java.*</code>, <code>javax.*</code>, and
+     * <code>sun.*</code>.
+     *
+     * @param name   a <code>String</code> specifying the name
+     *               of the attribute
+     * @param object an <code>Object</code> representing the
+     *               attribute to be bound
+     * @exception	IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void setAttribute(String name, Object object) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        context.setAttribute(name, object);
+    }
+
+
+    /**
+     * Returns the name of this portlet application correponding to this PortletContext as specified
+     * in the <code>web.xml</code> deployment descriptor for this web application by the
+     * <code>display-name</code> element.
+     *
+     * @return The name of the web application or null if no name has been declared in the deployment descriptor.
+     */
+
+    public String getPortletContextName() {
+        return context.getServletContextName();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletPreferencesImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletPreferencesImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletPreferencesImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,432 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletPreferencesImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.portletcontainer.impl.descriptor.Preference;
+import org.gridsphere.portletcontainer.impl.descriptor.Value;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+
+import javax.portlet.PortletPreferences;
+import javax.portlet.PreferencesValidator;
+import javax.portlet.ReadOnlyException;
+import javax.portlet.ValidatorException;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+
+/**
+ * The <CODE>PortletPreferences</CODE> interface allows the portlet to store
+ * configuration data. It is not the
+ * purpose of this interface to replace general purpose databases.
+ * <p/>
+ * There are two different types of preferences:
+ * <ul>
+ * <li>modifiable preferences - these preferences can be changed by the
+ * portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>).
+ * Per default every preference is modifiable.
+ * <li>read-only preferences - these preferences cannot be changed by the
+ * portlet in any standard portlet mode, but may be changed by administrative modes.
+ * Preferences are read-only, if the are defined in the
+ * deployment descriptor with <code>read-only</code> set to <code>true</code>,
+ * or if the portlet container restricts write access.
+ * </ul>
+ * <p/>
+ * Changes are persisted when the <code>store</code> method is called. The <code>store</code> method
+ * can only be invoked within the scope of a <code>processAction</code> call.
+ * Changes that are not persisted are discarded when the
+ * <code>processAction</code> or <code>render</code> method ends.
+ */
+public class PortletPreferencesImpl implements PortletPreferences {
+
+    public static final String NO_USER = "org.gridsphere.NO_USER";
+
+    private transient Map defaultPrefsMap = new HashMap();
+    private transient PreferencesValidator validator = null;
+    private transient PersistenceManagerRdbms pm = null;
+
+    private String oid = null;
+
+    /**
+     * The PortletId this data belongs to
+     */
+    private String portletId = "";
+
+    /**
+     * The unique userid this data belongs to
+     */
+    private String userId = NO_USER;
+
+    // key/value pairs
+
+    private Map attributes = new HashMap();
+
+    private boolean isRender = false;
+
+
+    public PortletPreferencesImpl() {
+    }
+
+    public void setPreferencesDesc(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences portletPrefs) {
+        if (portletPrefs != null) {
+            Preference[] prefs = portletPrefs.getPreference();
+            for (int i = 0; i < prefs.length; i++) {
+                String name = prefs[i].getName().getContent();
+                defaultPrefsMap.put(name, prefs[i]);
+            }
+            if (attributes.isEmpty()) {
+                for (int i = 0; i < prefs.length; i++) {
+                    String name = prefs[i].getName().getContent();
+                    PersistencePreferenceAttribute ppa = new PersistencePreferenceAttribute();
+                    ppa.setName(name);
+                    String[] vals = new String[prefs[i].getValueCount()];
+                    Value[] prefVals = prefs[i].getValue();
+                    for (int j = 0; j < vals.length; j++) {
+                        vals[j] = prefVals[j].getContent();
+                    }
+                    ppa.setAValues(vals);
+                    ppa.setReadOnly(Boolean.valueOf(prefs[i].getReadOnly().getContent()).booleanValue());
+                    attributes.put(ppa.getName(), ppa);
+                }
+            }
+        }
+    }
+
+    public void setPersistenceManager(PersistenceManagerRdbms pm) {
+        this.pm = pm;
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public PreferencesValidator getValidator() {
+        return validator;
+    }
+
+    public void setValidator(PreferencesValidator validator) {
+        this.validator = validator;
+    }
+
+    public void setRender(boolean isRender) {
+        this.isRender = isRender;
+    }
+
+    /**
+     * Returns true, if the value of this key cannot be modified by the user.
+     * <p/>
+     * Modifiable preferences can be changed by the
+     * portlet in any standard portlet mode (<code>EDIT, HELP, VIEW</code>).
+     * Per default every preference is modifiable.
+     * <p/>
+     * Read-only preferences cannot be changed by the
+     * portlet in any standard portlet mode, but inside of custom modes
+     * it may be allowed changing them.
+     * Preferences are read-only, if they are defined in the
+     * deployment descriptor with <code>read-only</code> set to <code>true</code>,
+     * or if the portlet container restricts write access.
+     *
+     * @return false, if the value of this key can be changed, or
+     *         if the key is not known
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>.
+     */
+    public boolean isReadOnly(String key) {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if (ppa == null) return false;
+        return ppa.isReadOnly();
+    }
+
+    /**
+     * Returns the first String value associated with the specified key of this preference.
+     * If there is one or more preference values associated with the given key
+     * it returns the first associated value.
+     * If there are no preference values associated with the given key, or the
+     * backing preference database is unavailable, it returns the given
+     * default value.
+     *
+     * @param key key for which the associated value is to be returned
+     * @param def the value to be returned in the event that there is no
+     *            value available associated with this <code>key</code>.
+     * @return the value associated with <code>key</code>, or <code>def</code>
+     *         if no value is associated with <code>key</code>, or the backing
+     *         store is inaccessible.
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>. (A
+     *          <code>null</code> value for <code>def</code> <i>is</i> permitted.)
+     * @see #getValues(java.lang.String,java.lang.String[])
+     */
+    public String getValue(String key, String def) {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if ((ppa == null) || (ppa.getAValues().length == 0)) return def;
+        return ppa.getValue();
+    }
+
+
+    /**
+     * Returns the String array value associated with the specified key in this preference.
+     * <p/>
+     * <p>Returns the specified default if there is no value
+     * associated with the key, or if the backing store is inaccessible.
+     * <p/>
+     * <p>If the implementation supports <i>stored defaults</i> and such a
+     * default exists and is accessible, it is used in favor of the
+     * specified default.
+     *
+     * @param key key for which associated value is to be returned.
+     * @param def the value to be returned in the event that this
+     *            preference node has no value associated with <code>key</code>
+     *            or the associated value cannot be interpreted as a String array,
+     *            or the backing store is inaccessible.
+     * @return the String array value associated with
+     *         <code>key</code>, or <code>def</code> if the
+     *         associated value does not exist.
+     * @throws java.lang.IllegalArgumentException
+     *          if <code>key</code> is <code>null</code>.  (A
+     *          <code>null</code> value for <code>def</code> <i>is</i> permitted.)
+     * @see #getValue(java.lang.String,java.lang.String)
+     */
+
+    public String[] getValues(String key, String[] def) {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if ((ppa == null) || (ppa.getAValues().length == 0)) return def;
+        return ppa.getAValues();
+    }
+
+    /**
+     * Associates the specified String value with the specified key in this
+     * preference.
+     * <p/>
+     * The key cannot be <code>null</code>, but <code>null</code> values
+     * for the value parameter are allowed.
+     *
+     * @param key   key with which the specified value is to be associated.
+     * @param value value to be associated with the specified key.
+     * @throws javax.portlet.ReadOnlyException
+     *          if this preference cannot be modified for this request
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>,
+     *          or <code>key.length()</code>
+     *          or <code>value.length</code> are to long. The maximum length
+     *          for key and value are implementation specific.
+     * @see #setValues(java.lang.String,java.lang.String[])
+     */
+    public void setValue(String key, String value) throws ReadOnlyException {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if (ppa == null) {
+            ppa = new PersistencePreferenceAttribute();
+            ppa.setName(key);
+            ppa.setReadOnly(false);
+            ppa.setValue(value);
+        } else {
+            if (ppa.isReadOnly()) throw new ReadOnlyException("PortletPreference is read-only!");
+            ppa.setValue(value);
+        }
+        attributes.put(key, ppa);
+    }
+
+
+    /**
+     * Associates the specified String array value with the specified key in this
+     * preference.
+     * <p/>
+     * The key cannot be <code>null</code>, but <code>null</code> values
+     * in the values parameter are allowed.
+     *
+     * @param key    key with which the  value is to be associated
+     * @param values values to be associated with key
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>, or
+     *          <code>key.length()</code>
+     *          is to long or <code>value.size</code> is to large.  The maximum
+     *          length for key and maximum size for value are implementation specific.
+     * @throws javax.portlet.ReadOnlyException
+     *          if this preference cannot be modified for this request
+     * @see #setValue(java.lang.String,java.lang.String)
+     */
+
+    public void setValues(String key, String[] values) throws ReadOnlyException {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if (ppa == null) {
+            ppa = new PersistencePreferenceAttribute();
+            ppa.setName(key);
+            ppa.setReadOnly(false);
+            ppa.setAValues(values);
+        } else {
+            if (ppa.isReadOnly()) throw new ReadOnlyException("PortletPreference is read-only!");
+            ppa.setAValues(values);
+        }
+        attributes.put(key, ppa);
+    }
+
+    /**
+     * Returns all of the keys that have an associated value,
+     * or an empty <code>Enumeration</code> if no keys are
+     * available.
+     *
+     * @return an Enumeration of the keys that have an associated value,
+     *         or an empty <code>Enumeration</code> if no keys are
+     *         available.
+     */
+    public java.util.Enumeration getNames() {
+        return new Enumerator(attributes.keySet().iterator());
+    }
+
+    /**
+     * Returns a <code>Map</code> of the preferences.
+     * <p/>
+     * The values in the returned <code>Map</code> are from type
+     * String array (<code>String[]</code>).
+     * <p/>
+     * If no preferences exist this method returns an empty <code>Map</code>.
+     *
+     * @return an immutable <code>Map</code> containing preference names as
+     *         keys and preference values as map values, or an empty <code>Map</code>
+     *         if no preference exist. The keys in the preference
+     *         map are of type String. The values in the preference map are of type
+     *         String array (<code>String[]</code>).
+     */
+    public java.util.Map getMap() {
+        Map map = new HashMap();
+        Iterator it = attributes.keySet().iterator();
+        while (it.hasNext()) {
+            String key = (String) it.next();
+            String[] vals = this.getValues(key, null);
+            map.put(key, vals);
+        }
+        return map;
+    }
+
+    /**
+     * Resets or removes the value associated with the specified key.
+     * <p/>
+     * If this implementation supports stored defaults, and there is such
+     * a default for the specified preference, the given key will be
+     * reset to the stored default.
+     * <p/>
+     * If there is no default available the key will be removed.
+     *
+     * @param key to reset
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>.
+     * @throws javax.portlet.ReadOnlyException
+     *          if this preference cannot be modified for this request
+     */
+    public void reset(String key) throws ReadOnlyException {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        PersistencePreferenceAttribute ppa = (PersistencePreferenceAttribute) attributes.get(key);
+        if (ppa != null) {
+            if (ppa.isReadOnly()) throw new ReadOnlyException("PortletPreference is read-only!");
+            Preference defaultPref = (Preference) defaultPrefsMap.get(key);
+            if (defaultPref != null) {
+                Value[] defvals = defaultPref.getValue();
+                String[] vals = new String[defvals.length];
+                for (int i = 0; i < defvals.length; i++) {
+                    vals[i] = defvals[i].getContent();
+                }
+                ppa.setAValues(vals);
+            } else {
+                attributes.remove(key);
+            }
+        }
+    }
+
+    /**
+     * Commits all changes made to the preferences via the
+     * <code>set</code> methods in the persistent store.
+     * <p/>
+     * If this call returns succesfull, all changes are made
+     * persistent. If this call fails, no changes are made
+     * in the persistent store. This call is an atomic operation
+     * regardless of how many preference attributes have been modified.
+     * <p/>
+     * All changes made to preferences not followed by a call
+     * to the <code>store</code> method are discarded when the
+     * portlet finishes the <code>processAction</code> method.
+     * <p/>
+     * If a validator is defined for this preferences in the
+     * deployment descriptor, this validator is called before
+     * the actual store is performed to check wether the given
+     * preferences are vaild. If this check fails a
+     * <code>ValidatorException</code> is thrown.
+     *
+     * @throws java.io.IOException if changes cannot be written into
+     *                             the backend store
+     * @throws javax.portlet.ValidatorException
+     *                             if the validation performed by the
+     *                             associated validator fails
+     * @throws java.lang.IllegalStateException
+     *                             if this method is called inside a render call
+     * @see javax.portlet.PreferencesValidator
+     */
+    public void store() throws java.io.IOException, ValidatorException {
+        if (isRender) throw new IllegalStateException("Cannot persist PortletPreferences in render method!");
+        if (validator != null) validator.validate(this);
+        try {
+//            if (oid!=null) pm.saveOrUpdate(this); else pm.create(this);
+            pm.saveOrUpdate(this);
+        } catch (PersistenceManagerException e) {
+            throw new IOException(e.getMessage());
+        }
+    }
+
+    /**
+     * Returns the user id of this portlet data
+     *
+     * @return the user id
+     */
+    public String getUserId() {
+        return userId;
+    }
+
+    /**
+     * Sets the user id of this portlet data
+     *
+     * @param userId the concrete portlet id
+     */
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    /**
+     * Returns the concrete portlet id of this portlet data
+     *
+     * @return the concrete portlet id
+     */
+    public String getPortletId() {
+        return portletId;
+    }
+
+    /**
+     * Sets the concrete portlet id of this portlet data
+     *
+     * @param portletId the concrete portlet id
+     */
+    public void setPortletId(String portletId) {
+        this.portletId = portletId;
+    }
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map attributes) {
+        this.attributes = attributes;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestDispatcherImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletRequestDispatcherImpl.java 4894 2006-06-28 22:57:23Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequestDispatcher;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.RequestDispatcher;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.StringTokenizer;
+
+
+/**
+ * The <code>PortletRequestDispatcher</code> interface
+ * defines an object that receives requests from the client
+ * and sends them to the specified resources (such as a servlet,
+ * HTML file, or JSP file) on the server. The portlet
+ * container creates the <code>PortletRequestDispatcher</code> object,
+ * which is used as a wrapper around a server resource located
+ * at a particular path or given by a particular name.
+ */
+
+public class PortletRequestDispatcherImpl implements PortletRequestDispatcher {
+
+    protected RequestDispatcher rd = null;
+    protected String path = null;
+
+    private PortletRequestDispatcherImpl() {
+    }
+
+    public PortletRequestDispatcherImpl(RequestDispatcher rd) {
+        this.rd = rd;
+    }
+
+    public PortletRequestDispatcherImpl(RequestDispatcher rd, String path) {
+        this.rd = rd;
+        this.path = path;
+    }
+
+    /**
+     * Includes the content of a resource (servlet, JSP page,
+     * HTML file) in the response. In essence, this method enables
+     * programmatic server-side includes.
+     * <p/>
+     * The included servlet cannot set or change the response status code
+     * or set headers; any attempt to make a change is ignored.
+     *
+     * @param request  a {@link RenderRequest} object
+     *                 that contains the client request
+     * @param response a {@link RenderResponse} object
+     *                 that contains the render response
+     * @throws PortletException    if the included resource throws a ServletException,
+     *                             or other exceptions that are not Runtime-
+     *                             or IOExceptions.
+     * @throws java.io.IOException if the included resource throws this exception
+     */
+    public void include(RenderRequest request, RenderResponse response)
+            throws PortletException, java.io.IOException {
+        if ((request instanceof PortletRequestImpl) && (response instanceof PortletResponseImpl)) {
+            try {
+                ((PortletRequestImpl) request).setIncluded(true);
+                if (path != null) {
+                    Map params = parseQueryParams(path);
+                    if (!params.isEmpty()) {
+                        ((PortletRequestImpl) request).addRenderParams(params);
+                    }
+                }
+                rd.include((PortletRequestImpl) request, (PortletResponseImpl) response);
+            } catch (java.io.IOException e) {
+                throw e;
+            } catch (javax.servlet.ServletException e) {
+                if (e.getRootCause() != null) {
+                    throw new PortletException(e.getRootCause());
+                } else {
+                    throw new PortletException(e);
+                }
+            } finally {
+                ((PortletRequestImpl) request).setIncluded(false);
+            }
+        }
+    }
+
+    /**
+     * Returns a map containing any query parameters contained in the path to obtain a request dispatcher
+     * @param path
+     * @return a map containing any query parameters contained in the path
+     */
+    private Map parseQueryParams(String path) {
+        Map map = new HashMap();
+        int idx = path.indexOf("?");
+        if (idx < 0) return map;
+        String parms = path.substring(idx+1);
+        StringTokenizer st = new StringTokenizer(parms, "&");
+        while(st.hasMoreTokens()) {
+            String pair = st.nextToken();
+            if (pair.indexOf("=") > 0) {
+                String key = pair.substring(0, pair.indexOf("="));
+                String val = pair.substring(pair.indexOf("=")+1);
+                map.put(key, new String[] {val});
+            }
+        }
+        return map;
+    }
+}
+
+
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletRequestImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,868 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletRequestImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.portletcontainer.PortletPreferencesManager;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserPrincipal;
+
+import javax.portlet.*;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpSession;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+
+
+/**
+ * The <CODE>PortletRequest</CODE> defines the base interface to provide client
+ * request information to a portlet. The portlet container uses two specialized
+ * versions of this interface when invoking a portlet, <CODE>ActionRequest</CODE>
+ * and <CODE>RenderRequest</CODE>. The portlet container creates these objects and
+ * passes them as  arguments to the portlet's <CODE>processAction</CODE> and
+ * <CODE>render</CODE> methods.
+ *
+ * @see ActionRequest
+ * @see RenderRequest
+ */
+public abstract class PortletRequestImpl extends HttpServletRequestWrapper implements PortletRequest {
+
+    protected PortletContext portletContext = null;
+    protected String contextPath = "/";
+    protected boolean hasReader = false;
+    protected boolean included = false;
+
+    private PortletSession portletSession = null;
+    protected GridSphereParameters portalParameters = null;
+
+    /**
+     * Constructor creates a proxy for a HttpServletRequest
+     * All PortletRequest objects come from request or session attributes
+     *
+     * @param req            the HttpServletRequest
+     * @param portletContext the portlet context
+     */
+    public PortletRequestImpl(HttpServletRequest req, PortletContext portletContext) {
+        super(req);
+        Map<String, String[]> origParams = new HashMap<String, String[]>();
+        this.portletContext = portletContext;
+        contextPath = this.portletContext.getRealPath("");
+        int l = contextPath.lastIndexOf(File.separator);
+        contextPath = contextPath.substring(l);
+        // handle windows file.separator "\" to "/"
+        if (contextPath.indexOf("\\") != -1) {
+            contextPath = contextPath.replace('\\', '/');
+        }
+
+        Map<String, List> map = (Map<String, List>) getHttpServletRequest().getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        if (map == null) {
+            map = new HashMap<String, List>();
+            getHttpServletRequest().setAttribute(SportletProperties.PORTAL_PROPERTIES, new HashMap());
+        }
+
+        Enumeration e = getHttpServletRequest().getHeaderNames();
+        while (e.hasMoreElements()) {
+            String name = (String) e.nextElement();
+            Enumeration headersEnum = getHttpServletRequest().getHeaders(name);
+            List<String> vals = new ArrayList<String>();
+            while (headersEnum.hasMoreElements()) {
+                String val = (String) headersEnum.nextElement();
+                vals.add(val);
+            }
+            map.put(name, vals);
+        }
+        getHttpServletRequest().setAttribute(SportletProperties.PORTAL_PROPERTIES, map);
+
+        for (Enumeration parameters = super.getParameterNames(); parameters.hasMoreElements();) {
+            String paramName = (String) parameters.nextElement();
+            String[] paramValues = (String[]) super.getParameterValues(paramName);
+            origParams.put(paramName, paramValues);
+        }
+
+        portalParameters = new GridSphereParameters(origParams);
+
+        /*
+        System.err.println("============================= PortletRequestImpl =====================================");
+        if (getAttribute(SportletProperties.PORTLET_ACTION_METHOD) != null) {
+            System.err.println("in action");
+        } else {
+            System.err.println("in render");
+        }
+        System.err.println("query string=" + super.getQueryString());
+
+        System.err.println("Actual HTTP parameters");
+        Iterator it = origParams.keySet().iterator();
+        while (it.hasNext()) {
+
+            String   paramName   = (String)it.next();
+            String[] paramValues = (String[])origParams.get(paramName);
+
+            System.err.println("\nname=" + paramName + "\nvalues=");
+            for (int i = 0; i < paramValues.length; i++) {
+                System.err.print("  " + paramValues[i]);
+            }
+        }
+
+        System.err.println("\n\nPortlet parameters for portlet " );
+        for (Enumeration parameters = getParameterNames(); parameters.hasMoreElements();) {
+            String   paramName   = (String)parameters.nextElement();
+            String[] paramValues = (String[])getParameterValues(paramName);
+            System.err.println("\nname=" + paramName + "\nvalues=");
+            for (int i = 0; i < paramValues.length; i++) {
+                System.err.print("  " + paramValues[i]);
+            }
+        }
+
+        System.err.println("\n===================================================================");
+       */
+
+    }
+
+
+    public void setIncluded(boolean included) {
+        this.included = included;
+    }
+
+    public boolean isIncluded() {
+        return included;
+    }
+
+    public void addRenderParams(Map renderParams) {
+        portalParameters.addRenderParams(renderParams);
+    }
+
+    /**
+     * Is this attribute name a reserved name (by the J2EE spec)?.
+     * Reserved names begin with "java." or "javax.".
+     *
+     * @param name the attribute name to test
+     * @return true if the supplied name is reserved
+     */
+    private boolean isNameReserved(String name) {
+        return name.startsWith("java.") || name.startsWith("javax.");
+    }
+
+    /**
+     * Returns true, if the given window state is valid
+     * to be set for this portlet in the context
+     * of the current request.
+     *
+     * @param state window state to checked
+     * @return true, if it is valid for this portlet
+     *         in this request to change to the
+     *         given window state
+     */
+    public boolean isWindowStateAllowed(WindowState state) {
+        PortalContext context = (PortalContext) getAttribute(SportletProperties.PORTAL_CONTEXT);
+        Enumeration statesEnum = context.getSupportedWindowStates();
+        while (statesEnum.hasMoreElements()) {
+            WindowState s = (WindowState) statesEnum.nextElement();
+            if (s.equals(state)) return true;
+        }
+        return false;
+    }
+
+    /**
+     * Returns true, if the given portlet mode is a valid
+     * one to set for this portlet  in the context
+     * of the current request.
+     *
+     * @param mode portlet mode to check
+     * @return true, if it is valid for this portlet
+     *         in this request to change to the
+     *         given portlet mode
+     */
+    public boolean isPortletModeAllowed(PortletMode mode) {
+        Set modesAllowed = (Set) this.getHttpServletRequest().getAttribute(SportletProperties.ALLOWED_MODES);
+        if (modesAllowed.contains(mode.toString())) return true;
+        return false;
+    }
+
+    /**
+     * Returns the current portlet mode of the portlet.
+     *
+     * @return the portlet mode
+     */
+    public PortletMode getPortletMode() {
+        return (PortletMode) getAttribute(SportletProperties.PORTLET_MODE);
+    }
+
+    /**
+     * Returns the current window state of the portlet.
+     *
+     * @return the window state
+     */
+    public WindowState getWindowState() {
+        return (WindowState) getAttribute(SportletProperties.PORTLET_WINDOW);
+    }
+
+    /**
+     * Returns the preferences object associated with the portlet.
+     *
+     * @return the portlet preferences
+     */
+    public PortletPreferences getPreferences() {
+        PortletPreferencesManager prefsManager = (PortletPreferencesManager) getAttribute(SportletProperties.PORTLET_PREFERENCES_MANAGER);
+        return prefsManager.getPortletPreferences();
+    }
+
+    /**
+     * Returns the current portlet session or, if there is no current session,
+     * creates one and returns the new session.
+     * <p/>
+     * Creating a new portlet session will result in creating
+     * a new <code>HttpSession</code> on which the portlet session is based on.
+     *
+     * @return the portlet session
+     */
+    public PortletSession getPortletSession() {
+        return getPortletSession(true);
+    }
+
+    /**
+     * Returns the current portlet session or, if there is no current session
+     * and the given flag is <CODE>true</CODE>, creates one and returns
+     * the new session.
+     * <p/>
+     * If the given flag is <CODE>false</CODE> and there is no current
+     * portlet session, this method returns <CODE>null</CODE>.
+     * <p/>
+     * Creating a new portlet session will result in creating
+     * a new <code>HttpSession</code> on which the portlet session is based on.
+     *
+     * @param create <CODE>true</CODE> to create a new session, <BR>
+     *               <CODE>false</CODE> to return <CODE>null</CODE> if there
+     *               is no current session
+     * @return the portlet session
+     */
+    public PortletSession getPortletSession(boolean create) {
+        // check if the session was invalidated
+        HttpSession httpSession = this.getHttpServletRequest().getSession(false);
+
+        if ((portletSession != null) && (httpSession == null)) {
+            portletSession = null;
+        } else if (httpSession != null) {
+            create = true;
+        }
+
+        if (create && (portletSession == null)) {
+            httpSession = this.getHttpServletRequest().getSession(create);
+            if (httpSession != null) {
+                portletSession = new PortletSessionImpl(this.getHttpServletRequest(), httpSession, portletContext);
+            }
+        }
+
+        return portletSession;
+    }
+
+    /**
+     * Returns the value of the specified request property
+     * as a <code>String</code>. If the request did not include a property
+     * of the specified name, this method returns <code>null</code>.
+     * <p/>
+     * A portlet can access portal/portlet-container specific properties
+     * through this method and, if available, the
+     * headers of the HTTP client request.
+     * <p/>
+     * This method should only be used if the
+     * property has only one value. If the property might have
+     * more than one value, use {@link #getProperties}.
+     * <p/>
+     * If this method is used with a multivalued
+     * parameter, the value returned is equal to the first value
+     * in the Enumeration returned by <code>getProperties</code>.
+     *
+     * @param name a <code>String</code> specifying the
+     *             property name
+     * @return a <code>String</code> containing the
+     *         value of the requested
+     *         property, or <code>null</code>
+     *         if the request does not
+     *         have a property of that name.
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public String getProperty(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        Map props = (Map) getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        Object o = props.get(name);
+        if (o instanceof String) {
+            return (String) o;
+        } else if (o instanceof List) {
+            List l = (List) o;
+            if (!l.isEmpty()) {
+                return (String) l.get(0);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns all the values of the specified request property
+     * as a <code>Enumeration</code> of <code>String</code> objects.
+     * <p/>
+     * If the request did not include any propertys
+     * of the specified name, this method returns an empty
+     * <code>Enumeration</code>.
+     * The property name is case insensitive. You can use
+     * this method with any request property.
+     *
+     * @param name a <code>String</code> specifying the
+     *             property name
+     * @return a <code>Enumeration</code> containing
+     *         the values of the requested property. If
+     *         the request does not have any properties of
+     *         that name return an empty <code>Enumeration</code>.
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public java.util.Enumeration getProperties(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        Map props = (Map) getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        Object o = props.get(name);
+        if (o instanceof List) {
+            List l = (List) o;
+            return new Enumerator(l.iterator());
+        }
+        return null;
+    }
+
+    /**
+     * Returns a <code>Enumeration</code> of all the property names
+     * this request contains. If the request has no
+     * properties, this method returns an empty <code>Enumeration</code>.
+     *
+     * @return an <code>Enumeration</code> of all the
+     *         property names sent with this
+     *         request; if the request has
+     *         no properties, an empty <code>Enumeration</code>.
+     */
+    public java.util.Enumeration getPropertyNames() {
+        Map props = (Map) getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        return new Enumerator(props.keySet().iterator());
+    }
+
+    /**
+     * Returns the context of the calling portal.
+     *
+     * @return the context of the calling portal
+     */
+    public PortalContext getPortalContext() {
+        return (PortalContext) getAttribute(SportletProperties.PORTAL_CONTEXT);
+    }
+
+    /**
+     * Returns the name of the authentication scheme used for the
+     * connection between client and portal,
+     * for example, <code>BASIC_AUTH</code>, <code>CLIENT_CERT_AUTH</code>,
+     * a custom one or <code>null</code> if there was no authentication.
+     *
+     * @return one of the static members <code>BASIC_AUTH</code>,
+     *         <code>FORM_AUTH</code>, <code>CLIENT_CERT_AUTH</code>,
+     *         <code>DIGEST_AUTH</code> (suitable for == comparison)
+     *         indicating the authentication scheme,
+     *         a custom one, or
+     *         <code>null</code> if the request was
+     *         not authenticated.
+     */
+    public String getAuthType() {
+        return this.getHttpServletRequest().getAuthType();
+    }
+
+    /**
+     * Returns the context path which is the path prefix associated with the deployed
+     * portlet application. If the portlet application is rooted at the
+     * base of the web server URL namespace (also known as "default" context),
+     * this path must be an empty string. Otherwise, it must be the path the
+     * portlet application is rooted to, the path must start with a '/' and
+     * it must not end with a '/' character.
+     * <p/>
+     * To encode a URL the {@link PortletResponse#encodeURL} method must be used.
+     *
+     * @return a <code>String</code> specifying the
+     *         portion of the request URL that indicates the context
+     *         of the request
+     * @see PortletResponse#encodeURL
+     */
+    public String getContextPath() {
+        return contextPath;
+        //return this.getHttpServletRequest().getContextPath();
+    }
+
+    /**
+     * Returns the login of the user making this request, if the user
+     * has been authenticated, or null if the user has not been authenticated.
+     *
+     * @return a <code>String</code> specifying the login
+     *         of the user making this request, or <code>null</code>
+     *         if the user login is not known.
+     */
+    public String getRemoteUser() {
+        UserPrincipal userPrincipal = (UserPrincipal) getAttribute(SportletProperties.PORTLET_USER_PRINCIPAL);
+        return (userPrincipal != null) ? userPrincipal.getName() : this.getHttpServletRequest().getRemoteUser();
+    }
+
+    /**
+     * Returns a java.security.Principal object containing the name of the
+     * current authenticated user.
+     *
+     * @return a <code>java.security.Principal</code> containing
+     *         the name of the user making this request, or
+     *         <code>null</code> if the user has not been
+     *         authenticated.
+     */
+    public java.security.Principal getUserPrincipal() {
+        UserPrincipal userPrincipal = (UserPrincipal) getAttribute(SportletProperties.PORTLET_USER_PRINCIPAL);
+        return (userPrincipal != null) ? userPrincipal : this.getHttpServletRequest().getUserPrincipal();
+    }
+
+    /**
+     * Returns a boolean indicating whether the authenticated user is
+     * included in the specified logical "role".  Roles and role membership can be
+     * defined using deployment descriptors.  If the user has not been
+     * authenticated, the method returns <code>false</code>.
+     *
+     * @param role a <code>String</code> specifying the name
+     *             of the role
+     * @return a <code>boolean</code> indicating whether
+     *         the user making this request belongs to a given role;
+     *         <code>false</code> if the user has not been
+     *         authenticated.
+     */
+    public boolean isUserInRole(String role) {
+        // TODO
+        // As specified in PLT-20-3, the <security-role-ref> mapping in portlet.xml must be used.
+        if (role.equals("")) return true;
+        List roles = (List) getAttribute(SportletProperties.PORTLET_ROLE);
+        return (roles != null) && (roles.contains(role) || (getUserPrincipal() != null) && this.getHttpServletRequest().isUserInRole(role));
+    }
+
+    /**
+     * Returns the value of the named attribute as an <code>Object</code>,
+     * or <code>null</code> if no attribute of the given name exists.
+     * <p/>
+     * Attribute names should follow the same conventions as package
+     * names. This specification reserves names matching <code>java.*</code>,
+     * and <code>javax.*</code>.
+     * <p/>
+     * In a distributed portlet web application the <code>Object</code>
+     * needs to be serializable.
+     *
+     * @param name a <code>String</code> specifying the name of
+     *             the attribute
+     * @return an <code>Object</code> containing the value
+     *         of the attribute, or <code>null</code> if
+     *         the attribute does not exist.
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public Object getAttribute(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        return this.getHttpServletRequest().getAttribute(name);
+    }
+
+    /**
+     * Returns an <code>Enumeration</code> containing the
+     * names of the attributes available to this request.
+     * This method returns an empty <code>Enumeration</code>
+     * if the request has no attributes available to it.
+     *
+     * @return an <code>Enumeration</code> of strings
+     *         containing the names
+     *         of the request attributes, or an empty
+     *         <code>Enumeration</code> if the request
+     *         has no attributes available to it.
+     */
+    public java.util.Enumeration getAttributeNames() {
+        return this.getHttpServletRequest().getAttributeNames();
+    }
+
+    /**
+     * Returns the value of a request parameter as a <code>String</code>,
+     * or <code>null</code> if the parameter does not exist. Request parameters
+     * are extra information sent with the request. The returned parameter
+     * are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * Only parameters targeted to the current portlet are accessible.
+     * <p/>
+     * This method should only be used if the
+     * parameter has only one value. If the parameter might have
+     * more than one value, use {@link #getParameterValues}.
+     * <p/>
+     * If this method is used with a multivalued
+     * parameter, the value returned is equal to the first value
+     * in the array returned by <code>getParameterValues</code>.
+     *
+     * @param name a <code>String</code> specifying the
+     *             name of the parameter
+     * @return a <code>String</code> representing the
+     *         single value of the parameter
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     * @see #getParameterValues
+     */
+    public String getParameter(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        hasReader = true;
+        Map map = this.getParameterMap();
+        Object val = map.get(name);
+        if (val != null) {
+            if (val instanceof String) return (String) val;
+            if (val instanceof String[]) {
+                String[] s = (String[]) val;
+                return s[0];
+            }
+            return (String) val;
+        }
+        return null;
+    }
+
+    /**
+     * Returns an <code>Enumeration</code> of <code>String</code>
+     * objects containing the names of the parameters contained
+     * in this request. If the request has
+     * no parameters, the method returns an
+     * empty <code>Enumeration</code>.
+     * <p/>
+     * Only parameters targeted to the current portlet are returned.
+     *
+     * @return an <code>Enumeration</code> of <code>String</code>
+     *         objects, each <code>String</code> containing
+     *         the name of a request parameter; or an
+     *         empty <code>Enumeration</code> if the
+     *         request has no parameters.
+     */
+    public java.util.Enumeration getParameterNames() {
+        hasReader = true;
+        return Collections.enumeration(this.getParameterMap().keySet());
+    }
+
+    /**
+     * Returns an array of <code>String</code> objects containing
+     * all of the values the given request parameter has, or
+     * <code>null</code> if the parameter does not exist.
+     * The returned parameters are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * If the parameter has a single value, the array has a length
+     * of 1.
+     *
+     * @param name a <code>String</code> containing the name of
+     *             the parameter the value of which is requested
+     * @return an array of <code>String</code> objects
+     *         containing the parameter values.
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     * @see #getParameter
+     */
+    public String[] getParameterValues(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        hasReader = true;
+        Map map = this.getParameterMap();
+        return (String[]) map.get(name);
+    }
+
+    /**
+     * Returns a <code>Map</code> of the parameters of this request.
+     * Request parameters are extra information sent with the request.
+     * The returned parameters are "x-www-form-urlencoded" decoded.
+     * <p/>
+     * The values in the returned <code>Map</code> are from type
+     * String array (<code>String[]</code>).
+     * <p/>
+     * If no parameters exist this method returns an empty <code>Map</code>.
+     *
+     * @return an immutable <code>Map</code> containing parameter names as
+     *         keys and parameter values as map values, or an empty <code>Map</code>
+     *         if no parameters exist. The keys in the parameter
+     *         map are of type String. The values in the parameter map are of type
+     *         String array (<code>String[]</code>).
+     */
+    public java.util.Map getParameterMap() {
+        hasReader = true;
+        return portalParameters.getParameterMap(getHttpServletRequest(), getQueryString());
+    }
+
+    /**
+     * Returns a boolean indicating whether this request was made
+     * using a secure channel between client and the portal, such as HTTPS.
+     *
+     * @return true, if the request was made using a secure channel.
+     */
+    public boolean isSecure() {
+        return this.getHttpServletRequest().isSecure();
+    }
+
+    /**
+     * Stores an attribute in this request.
+     * <p/>
+     * <p>Attribute names should follow the same conventions as
+     * package names. Names beginning with <code>java.*</code>,
+     * <code>javax.*</code>, and <code>com.sun.*</code> are
+     * reserved for use by Sun Microsystems.
+     * <br> If the value passed into this method is <code>null</code>,
+     * the effect is the same as calling {@link #removeAttribute}.
+     *
+     * @param name a <code>String</code> specifying
+     *             the name of the attribute
+     * @param o    the <code>Object</code> to be stored
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public void setAttribute(String name, Object o) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        if (o == null) {
+            this.removeAttribute(name);
+        } else {
+            this.getHttpServletRequest().setAttribute(name, o);
+        }
+    }
+
+    /**
+     * Removes an attribute from this request.  This method is not
+     * generally needed, as attributes only persist as long as the request
+     * is being handled.
+     * <p/>
+     * <p>Attribute names should follow the same conventions as
+     * package names. Names beginning with <code>java.*</code>,
+     * <code>javax.*</code>, and <code>com.sun.*</code> are
+     * reserved for use by Sun Microsystems.
+     *
+     * @param name a <code>String</code> specifying
+     *             the name of the attribute to be removed
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public void removeAttribute(String name) {
+        if (name == null) throw new IllegalArgumentException("name is NULL");
+        this.getHttpServletRequest().removeAttribute(name);
+    }
+
+    /**
+     * Returns the session ID indicated in the client request.
+     * This session ID may not be a valid one, it may be an old
+     * one that has expired or has been invalidated.
+     * If the client request
+     * did not specify a session ID, this method returns
+     * <code>null</code>.
+     *
+     * @return a <code>String</code> specifying the session
+     *         ID, or <code>null</code> if the request did
+     *         not specify a session ID
+     * @see #isRequestedSessionIdValid
+     */
+    public String getRequestedSessionId() {
+        return this.getHttpServletRequest().getRequestedSessionId();
+    }
+
+    /**
+     * Checks whether the requested session ID is still valid.
+     *
+     * @return <code>true</code> if this
+     *         request has an id for a valid session
+     *         in the current session context;
+     *         <code>false</code> otherwise
+     * @see #getRequestedSessionId
+     * @see #getPortletSession
+     */
+    public boolean isRequestedSessionIdValid() {
+        return this.getHttpServletRequest().isRequestedSessionIdValid();
+    }
+
+    /**
+     * Returns the portal preferred content type for the response.
+     * <p/>
+     * The content type only includes the MIME type, not the
+     * character set.
+     * <p/>
+     * Only content types that the portlet has defined in its
+     * deployment descriptor are valid return values for
+     * this method call. If the portlet has defined
+     * <code>'*'</code> or <code>'* / *'</code> as supported content
+     * types, these may also be valid return values.
+     *
+     * @return preferred MIME type of the response
+     */
+    public String getResponseContentType() {
+        SortedSet types = (SortedSet) getAttribute(SportletProperties.PORTLET_MIMETYPES);
+        if ((types == null) || (types.isEmpty())) return null;
+        return (String) types.first();
+    }
+
+    /**
+     * Gets a list of content types which the portal accepts for the response.
+     * This list is ordered with the most preferable types listed first.
+     * <p/>
+     * The content type only includes the MIME type, not the
+     * character set.
+     * <p/>
+     * Only content types that the portlet has defined in its
+     * deployment descriptor are valid return values for
+     * this method call. If the portlet has defined
+     * <code>'*'</code> or <code>'* / *'</code> as supported content
+     * types, these may also be valid return values.
+     *
+     * @return ordered list of MIME types for the response
+     */
+    public java.util.Enumeration getResponseContentTypes() {
+        SortedSet types = (SortedSet) getAttribute(SportletProperties.PORTLET_MIMETYPES);
+        if (types == null) types = new TreeSet();
+        return new Enumerator(types);
+    }
+
+    /**
+     * Returns the preferred Locale in which the portal will accept content.
+     * The Locale may be based on the Accept-Language header of the client.
+     *
+     * @return the prefered Locale in which the portal will accept content.
+     */
+    public java.util.Locale getLocale() {
+        Locale locale = (Locale) this.getPortletSession(true).getAttribute(User.LOCALE, PortletSession.APPLICATION_SCOPE);
+        if (locale != null) return locale;
+        User user = (User) this.getHttpServletRequest().getAttribute(SportletProperties.PORTLET_USER);
+        if (user != null) {
+            String loc = (String) user.getAttribute(User.LOCALE);
+            if (loc != null) {
+                locale = new Locale(loc, "", "");
+                this.getPortletSession(true).setAttribute(User.LOCALE, locale, PortletSession.APPLICATION_SCOPE);
+                return locale;
+            }
+        }
+        locale = this.getHttpServletRequest().getLocale();
+        if (locale != null) return locale;
+        return Locale.ENGLISH;
+    }
+
+
+    /**
+     * Returns an Enumeration of Locale objects indicating, in decreasing
+     * order starting with the preferred locale in which the portal will
+     * accept content for this request.
+     * The Locales may be based on the Accept-Language header of the client.
+     *
+     * @return an Enumeration of Locales, in decreasing order, in which
+     *         the portal will accept content for this request
+     */
+    public java.util.Enumeration getLocales() {
+        return this.getHttpServletRequest().getLocales();
+    }
+
+    /**
+     * Returns the name of the scheme used to make this request.
+     * For example, <code>http</code>, <code>https</code>, or <code>ftp</code>.
+     * Different schemes have different rules for constructing URLs,
+     * as noted in RFC 1738.
+     *
+     * @return a <code>String</code> containing the name
+     *         of the scheme used to make this request
+     */
+    public String getScheme() {
+        return this.getHttpServletRequest().getScheme();
+    }
+
+    /**
+     * Returns the host name of the server that received the request.
+     *
+     * @return a <code>String</code> containing the name
+     *         of the server to which the request was sent
+     */
+    public String getServerName() {
+        return this.getHttpServletRequest().getServerName();
+    }
+
+    /**
+     * Returns the port number on which this request was received.
+     *
+     * @return an integer specifying the port number
+     */
+    public int getServerPort() {
+        return this.getHttpServletRequest().getServerPort();
+    }
+
+    public int getContentLength() {
+        if (included) return 0;
+        return this.getHttpServletRequest().getContentLength();
+    }
+
+    public String getProtocol() {
+        return null;
+    }
+
+    public String getRemoteAddr() {
+        return null;
+    }
+
+    public String getRemoteHost() {
+        return null;
+    }
+
+    public String getRealPath(String s) {
+        return null;
+    }
+
+    public StringBuffer getRequestURL() {
+        return null;
+    }
+
+    public String getCharacterEncoding() {
+        return null;
+    }
+
+    public void setCharacterEncoding(String s) throws UnsupportedEncodingException {
+        // do nothing
+    }
+
+    public String getContentType() {
+        if (included) return null;
+        return this.getHttpServletRequest().getContentType();
+    }
+
+    public String getQueryString() {
+        if (included) {
+            return (String) super.getAttribute("javax.servlet.include.query_string");
+        }
+        return super.getQueryString();
+    }
+
+    public String getPathInfo() {
+        String cmd = (String) getAttribute("org.gridsphere.tomcat_hack");
+        if (cmd != null) return cmd;
+        if (included) {
+            return (String) super.getAttribute("javax.servlet.include.path_info");
+        }
+        return super.getPathInfo();
+    }
+
+    public String getRequestURI() {
+        if (included) return (String) super.getAttribute("javax.servlet.include.request_uri");
+        //return (attr != null) ? attr : super.getRequestURI();
+        return super.getRequestURI();
+    }
+
+    public String getServletPath() {
+        if (included) return (String) super.getAttribute("javax.servlet.include.servlet_path");
+        //return (attr != null) ? attr : super.getServletPath();
+        return super.getServletPath();
+    }
+
+    public String getPathTranslated() {
+        return super.getPathTranslated();
+    }
+
+    public ServletInputStream getInputStream() throws IOException {
+        if (included) return null;
+        ServletInputStream stream = getHttpServletRequest().getInputStream();
+        hasReader = true;
+        return stream;
+
+    }
+
+    public BufferedReader getReader() throws IOException {
+        if (included) return null;
+        hasReader = true;
+        return getHttpServletRequest().getReader();
+    }
+
+    private HttpServletRequest getHttpServletRequest() {
+        return (HttpServletRequest) super.getRequest();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletResponseImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletResponseImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletResponseImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletResponseImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.PortletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The <CODE>PortletResponse</CODE> defines the base interface to assist a
+ * portlet in creating and sending a response to the client.
+ * The portlet container uses two specialized versions of this interface
+ * when invoking a portlet, <CODE>ActionResponse</CODE> and
+ * <CODE>RenderResponse</CODE>. The  portlet container creates these
+ * objects and passes them as arguments to the portlet's <CODE>processAction</CODE>
+ * and <CODE>render</CODE> methods.
+ *
+ * @see javax.portlet.ActionResponse
+ * @see javax.portlet.RenderResponse
+ */
+public abstract class PortletResponseImpl extends HttpServletResponseWrapper implements PortletResponse {
+    protected HttpServletRequest req = null;
+
+    public PortletResponseImpl(HttpServletResponse res) {
+        super(res);
+    }
+
+    /**
+     * Constructs an instance of SportletResponse using an
+     * <code>HttpServletResponse</code> as a proxy
+     *
+     * @param req the <code>HttpServletRequest</code>
+     * @param res the <code>HttpServletResponse</code>
+     */
+    public PortletResponseImpl(HttpServletRequest req, HttpServletResponse res) {
+        super(res);
+        this.req = req;
+        Map map = (Map) req.getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        if (map == null) {
+            req.setAttribute(SportletProperties.PORTAL_PROPERTIES, new HashMap());
+        }
+    }
+
+    /**
+     * Adds a String property to an existing key to be returned to the portal.
+     * <p/>
+     * This method allows response properties to have multiple values.
+     * <p/>
+     * Properties can be used by portlets to provide vendor specific
+     * information to the portal.
+     *
+     * @param key   the key of the property to be returned to the portal
+     * @param value the value of the property to be returned to the portal
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>.
+     */
+    public void addProperty(String key, String value) {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        Map<String, List<String>> properties = (Map<String, List<String>>) req.getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        List<String> vals = (List<String>) properties.get(key);
+        if (vals == null) vals = new ArrayList<String>();
+        if (!vals.contains(value)) vals.add(value);
+        properties.put(key, vals);
+    }
+
+    /**
+     * Sets a String property to be returned to the portal.
+     * <p/>
+     * Properties can be used by portlets to provide vendor specific
+     * information to the portal.
+     * <p/>
+     * This method resets all properties previously added with the same key.
+     *
+     * @param key   the key of the property to be returned to the portal
+     * @param value the value of the property to be returned to the portal
+     * @throws java.lang.IllegalArgumentException
+     *          if key is <code>null</code>.
+     */
+    public void setProperty(String key, String value) {
+        if (key == null) throw new IllegalArgumentException("key is NULL");
+        Map<String, List<String>> properties = (Map<String, List<String>>) req.getAttribute(SportletProperties.PORTAL_PROPERTIES);
+        List<String> vals = new ArrayList<String>();
+        vals.add(value);
+        properties.put(key, vals);
+    }
+
+
+    /**
+     * Returns the encoded URL of the resource, like servlets,
+     * JSPs, images and other static files, at the given path.
+     * <p/>
+     * Some portal/portlet-container implementation may require
+     * those URLs to contain implementation specific data encoded
+     * in it. Because of that, portlets should use this method to
+     * create such URLs.
+     * <p/>
+     * The <code>encodeURL</code> method may include the session ID
+     * and other portal/portlet-container specific information into the URL.
+     * If encoding is not needed, it returns the URL unchanged.
+     *
+     * @param path the URI path to the resource. This must be either
+     *             an absolute URL (e.g.
+     *             <code>http://my.co/myportal/mywebap/myfolder/myresource.gif</code>)
+     *             or a full path URI (e.g. <code>/myportal/mywebap/myfolder/myresource.gif</code>).
+     * @return the encoded resource URL as string
+     * @throws java.lang.IllegalArgumentException
+     *          if path doesn't have a leading slash or is not an absolute URL
+     */
+    public String encodeURL(String path) {
+        if (path.indexOf("://") == -1 && !path.startsWith("/")) {
+            throw new IllegalArgumentException("only absolute URLs or full path URIs are allowed");
+        }
+        return this.getHttpServletResponse().encodeURL(path);
+    }
+
+
+    protected HttpServletResponse getHttpServletResponse() {
+        return (HttpServletResponse) super.getResponse();
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletSessionImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletSessionImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletSessionImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,431 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletSessionImpl.java 4939 2006-07-20 04:49:04Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletSession;
+import javax.portlet.PortletSessionUtil;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.util.Enumeration;
+import java.util.Vector;
+
+
+/**
+ * The <CODE>PortletSession</CODE> interface provides a way to identify a user
+ * across more than one request and to store transient information about that user.
+ * <p/>
+ * A <code>PortletSession</code> is created per user client per portlet application.
+ * <p/>
+ * A portlet can bind an object attribute into a <code>PortletSession</code> by name.
+ * The <code>PortletSession</code> interface defines two scopes for storing objects:
+ * <ul>
+ * <li><code>APPLICATION_SCOPE</code>
+ * <li><code>PORTLET_SCOPE</code>
+ * </ul>
+ * All objects stored in the session using the <code>APPLICATION_SCOPE</code>
+ * must be available to all the portlets, servlets and
+ * JSPs that belongs to the same portlet application and that handles a
+ * request identified as being a part of the same session.
+ * Objects stored in the session using the <code>PORTLET_SCOPE</code> must be
+ * available to the portlet during requests for the same portlet window
+ * that the objects where stored from. Attributes stored in the
+ * <code>PORTLET_SCOPE</code> are not protected from other web components
+ * of the portlet application. They are just conveniently namespaced.
+ * <P>
+ * The portlet session is based on the <code>HttpSession</code>. Therefore all
+ * <code>HttpSession</code> listeners do apply to the portlet session and
+ * attributes set in the portlet session are visible in the <code>HttpSession</code>
+ * and vice versa.
+ */
+public class PortletSessionImpl implements PortletSession, HttpSession {
+
+    private PortletContext ctx = null;
+    private HttpServletRequest request = null;
+    private HttpSession session = null;
+
+    /**
+     * Constructs an instance of SportletSession from a
+     * <code>HttpSession</code>
+     *
+     * @param request the <code>PortletRequest</code> used to get ConcretePortletID
+     * @param session the <code>HttpSession</code>
+     */
+    public PortletSessionImpl(HttpServletRequest request, HttpSession session, PortletContext ctx) {
+        this.request = request;
+        this.session = session;
+        this.ctx = ctx;
+    }
+
+
+    /**
+     * Returns the object bound with the specified name in this session
+     * under the <code>PORTLET_SCOPE</code>, or <code>null</code> if no
+     * object is bound under the name in that scope.
+     *
+     * @param name a string specifying the name of the object
+     * @throws IllegalStateException    if this method is called on an
+     *                                  invalidated session.
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     * @return			the object with the specified name for
+     * the <code>PORTLET_SCOPE</code>.
+     */
+
+    public Object getAttribute(String name) throws IllegalStateException, IllegalArgumentException {
+        return getAttribute(name, PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Returns an <code>Enumeration</code> of String objects containing the names of
+     * all the objects bound to this session under the <code>PORTLET_SCOPE</code>, or an
+     * empty <code>Enumeration</code> if no attributes are available.
+     *
+     * @throws IllegalStateException if this method is called on an
+     *                               invalidated session
+     * @return			an <code>Enumeration</code> of
+     * <code>String</code> objects specifying the
+     * names of all the objects bound to
+     * this session, or an empty <code>Enumeration</code>
+     * if no attributes are available.
+     */
+
+    public java.util.Enumeration getAttributeNames() throws IllegalStateException {
+        return getAttributeNames(PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Returns the time when this session was created, measured in
+     * milliseconds since midnight January 1, 1970 GMT.
+     *
+     * @throws IllegalStateException if this method is called on an
+     *                               invalidated session
+     * @return				a <code>long</code> specifying
+     * when this session was created,
+     * expressed in
+     * milliseconds since 1/1/1970 GMT
+     */
+
+    public long getCreationTime() throws IllegalStateException {
+        return session.getCreationTime();
+    }
+
+
+    /**
+     * Returns a string containing the unique identifier assigned to this session.
+     *
+     * @return				a string specifying the identifier
+     * assigned to this session
+     */
+
+    public String getId() {
+        return session.getId();
+    }
+
+
+    /**
+     * Returns the last time the client sent a request associated with this session,
+     * as the number of milliseconds since midnight January 1, 1970 GMT.
+     * <p/>
+     * <p>Actions that your portlet takes, such as getting or setting
+     * a value associated with the session, do not affect the access
+     * time.
+     *
+     * @return				a <code>long</code>
+     * representing the last time
+     * the client sent a request associated
+     * with this session, expressed in
+     * milliseconds since 1/1/1970 GMT
+     */
+
+    public long getLastAccessedTime() {
+        return session.getLastAccessedTime();
+    }
+
+
+    /**
+     * Returns the maximum time interval, in seconds, for which the portlet container
+     * keeps this session open between client accesses. After this interval,
+     * the portlet container invalidates the session.  The maximum time
+     * interval can be set
+     * with the <code>setMaxInactiveInterval</code> method.
+     * A negative time indicates the session should never timeout.
+     *
+     * @return		an integer specifying the number of
+     * seconds this session remains open
+     * between client requests
+     * @see		#setMaxInactiveInterval
+     */
+
+    public int getMaxInactiveInterval() {
+        return session.getMaxInactiveInterval();
+    }
+
+
+    /**
+     * Invalidates this session (all scopes) and unbinds any objects bound to it.
+     * <p/>
+     * Invalidating the portlet session will result in invalidating the underlying
+     * <code>HttpSession</code>
+     *
+     * @throws IllegalStateException if this method is called on a
+     *                               session which has already been invalidated
+     */
+    public void invalidate() throws IllegalStateException {
+        session.invalidate();
+    }
+
+
+    /**
+     * Returns true if the client does not yet know about the session or
+     * if the client chooses not to join the session.
+     *
+     * @return <code>true</code> if the
+     *         server has created a session,
+     *         but the client has not joined yet.
+     * @throws IllegalStateException if this method is called on a
+     *                               session which has already been invalidated
+     */
+
+    public boolean isNew() throws IllegalStateException {
+        return session.isNew();
+    }
+
+
+    /**
+     * Removes the object bound with the specified name under
+     * the <code>PORTLET_SCOPE</code> from
+     * this session. If the session does not have an object
+     * bound with the specified name, this method does nothing.
+     *
+     * @param name the name of the object to be
+     *             removed from this session in the
+     *             <code> PORTLET_SCOPE</code>.
+     * @throws IllegalStateException    if this method is called on a
+     *                                  session which has been invalidated
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void removeAttribute(String name) throws IllegalStateException, IllegalArgumentException {
+        removeAttribute(name, PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Binds an object to this session under the <code>PORTLET_SCOPE</code>, using the name specified.
+     * If an object of the same name in this scope is already bound to the session,
+     * that object is replaced.
+     * <p/>
+     * <p>After this method has been executed, and if the new object
+     * implements <code>HttpSessionBindingListener</code>,
+     * the container calls
+     * <code>HttpSessionBindingListener.valueBound</code>. The container then
+     * notifies any <code>HttpSessionAttributeListeners</code> in the web
+     * application.
+     * <p>If an object was already bound to this session
+     * that implements <code>HttpSessionBindingListener</code>, its
+     * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+     * <p/>
+     * <p>If the value is <code>null</code>, this has the same effect as calling
+     * <code>removeAttribute()</code>.
+     *
+     * @param name  the name to which the object is bound under
+     *              the <code>PORTLET_SCOPE</code>;
+     *              this cannot be <code>null</code>.
+     * @param value the object to be bound
+     * @throws IllegalStateException    if this method is called on a
+     *                                  session which has been invalidated
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+
+    public void setAttribute(String name, Object value) throws IllegalStateException, IllegalArgumentException {
+        setAttribute(name, value, PortletSession.PORTLET_SCOPE);
+    }
+
+
+    /**
+     * Binds an object to this session in the given scope, using the name specified.
+     * If an object of the same name in this scope is already bound to the session,
+     * that object is replaced.
+     * <p/>
+     * <p>After this method has been executed, and if the new object
+     * implements <code>HttpSessionBindingListener</code>,
+     * the container calls
+     * <code>HttpSessionBindingListener.valueBound</code>. The container then
+     * notifies any <code>HttpSessionAttributeListeners</code> in the web
+     * application.
+     * <p>If an object was already bound to this session
+     * that implements <code>HttpSessionBindingListener</code>, its
+     * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+     * <p/>
+     * <p>If the value is <code>null</code>, this has the same effect as calling
+     * <code>removeAttribute()</code>.
+     *
+     * @param name  the name to which the object is bound;
+     *              this cannot be <code>null</code>.
+     * @param value the object to be bound
+     * @param scope session scope of this attribute
+     * @throws IllegalStateException    if this method is called on a
+     *                                  session which has been invalidated
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public void setAttribute(java.lang.String name, java.lang.Object value, int scope) throws IllegalStateException {
+        if (name == null) {
+            throw new IllegalArgumentException("name must not be null");
+        }
+        if (scope == PortletSession.APPLICATION_SCOPE) {
+            session.setAttribute(name, value);
+        } else {
+            session.setAttribute("javax.portlet.p." + request.getAttribute(SportletProperties.PORTLET_WINDOW_ID) + "?" + name, value);
+        }
+    }
+
+    /**
+     * Returns the object bound with the specified name in this session,
+     * or <code>null</code> if no object is bound under the name in the given scope.
+     *
+     * @param name  a string specifying the name of the object
+     * @param scope session scope of this attribute
+     * @throws IllegalStateException    if this method is called on an
+     *                                  invalidated session
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     * @return			the object with the specified name
+     */
+    public java.lang.Object getAttribute(String name, int scope) throws java.lang.IllegalStateException {
+        if (name == null) {
+            throw new IllegalArgumentException("name must not be null");
+        }
+        if (scope == PortletSession.APPLICATION_SCOPE) {
+            return session.getAttribute(name);
+        } else {
+            Object attribute = session.getAttribute("javax.portlet.p." + (String) request.getAttribute(SportletProperties.PORTLET_WINDOW_ID) + "?" + name);
+            if (attribute == null) {
+                // not sure, if this should be done for all attributes or only javax.servlet.
+                attribute = session.getAttribute(name);
+            }
+            return attribute;
+        }
+    }
+
+    /**
+     * Returns an <code>Enumeration</code> of String objects containing the names of
+     * all the objects bound to this session in the given scope, or an
+     * empty <code>Enumeration</code> if no attributes are available in the
+     * given scope.
+     *
+     * @param scope session scope of the attribute names
+     * @throws IllegalStateException if this method is called on an
+     *                               invalidated session
+     * @return			an <code>Enumeration</code> of
+     * <code>String</code> objects specifying the
+     * names of all the objects bound to
+     * this session, or an empty <code>Enumeration</code>
+     * if no attributes are available in the given scope.
+     */
+    public java.util.Enumeration getAttributeNames(int scope) {
+        if (scope == PortletSession.APPLICATION_SCOPE) {
+            return session.getAttributeNames();
+        } else {
+            Enumeration attributes = session.getAttributeNames();
+
+            Vector portletAttributes = new Vector();
+
+            /* Fix that ONLY attributes of PORTLET_SCOPE are returned. */
+            int prefix_length = "javax.portlet.p.".length();
+            String wId = (String) request.getAttribute(SportletProperties.PORTLET_WINDOW_ID);
+
+            while (attributes.hasMoreElements()) {
+                String attribute = (String) attributes.nextElement();
+
+                int attributeScope = PortletSessionUtil.decodeScope(attribute);
+
+                if (attributeScope == PortletSession.PORTLET_SCOPE && attribute.startsWith(wId, prefix_length)) {
+                    String portletAttribute = PortletSessionUtil.decodeAttributeName(attribute);
+
+                    if (portletAttribute != null) { // it is in the portlet's namespace
+                        portletAttributes.add(portletAttribute);
+                    }
+                }
+            }
+
+            return portletAttributes.elements();
+        }
+    }
+
+    /**
+     * Removes the object bound with the specified name and the given scope from
+     * this session. If the session does not have an object
+     * bound with the specified name, this method does nothing.
+     *
+     * @param name  the name of the object to be
+     *              removed from this session
+     * @param scope session scope of this attribute
+     * @throws IllegalStateException    if this method is called on a
+     *                                  session which has been invalidated
+     * @throws IllegalArgumentException if name is <code>null</code>.
+     */
+    public void removeAttribute(String name, int scope) throws java.lang.IllegalStateException {
+        if (name == null) {
+            throw new IllegalArgumentException("name must not be null");
+        }
+        if (scope == PortletSession.APPLICATION_SCOPE) {
+            session.removeAttribute(name);
+        } else {
+            session.removeAttribute("javax.portlet.p." + (String) request.getAttribute(SportletProperties.PORTLET_WINDOW_ID) + "?" + name);
+        }
+    }
+
+
+    /**
+     * Specifies the time, in seconds, between client requests, before the
+     * portlet container invalidates this session. A negative time
+     * indicates the session should never timeout.
+     *
+     * @param interval An integer specifying the number
+     *                 of seconds
+     */
+
+    public void setMaxInactiveInterval(int interval) {
+        session.setMaxInactiveInterval(interval);
+    }
+
+
+    /**
+     * Returns the portlet application context associated with this session.
+     *
+     * @return the portlet application context
+     */
+
+    public PortletContext getPortletContext() {
+        return ctx;
+    }
+
+    // javax.servlet.http.HttpSession implementation ----------------------------------------------
+    public javax.servlet.ServletContext getServletContext() {
+        // TBD, open issue. it would be good if we could also implement the ServletContext interface at the PortletContextImpl
+        return session.getServletContext();
+    }
+
+    public javax.servlet.http.HttpSessionContext getSessionContext() {
+        return session.getSessionContext();
+    }
+
+    public Object getValue(String name) {
+        return this.getAttribute(name, PORTLET_SCOPE);
+    }
+
+    public String[] getValueNames() {
+        // TBD
+        return null;
+    }
+
+    public void putValue(String name, Object value) {
+        this.setAttribute(name, value, PORTLET_SCOPE);
+    }
+
+    public void removeValue(String name) {
+        this.removeAttribute(name, PORTLET_SCOPE);
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletURLImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletURLImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PortletURLImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,456 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletURLImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.*;
+
+
+/**
+ * The <CODE>PortletURL</CODE> interface represents a URL
+ * that reference the portlet itself.
+ * <p/>
+ * A PortletURL is created through the <CODE>RenderResponse</CODE>.
+ * Parameters, a portlet mode, a window state and a security level
+ * can be added to <CODE>PortletURL</CODE> objects. The PortletURL
+ * must be converted to a String in order to embed it into
+ * the markup generated by the portlet.
+ * <p/>
+ * There are two types of PortletURLs:
+ * <ul>
+ * <li>Action URLs, they are created with <CODE>RenderResponse.createActionURL</CODE>, and
+ * trigger an action request followed by a render request.
+ * <li>Render URLs, they are created with <CODE>RenderResponse.createRenderURL</CODE>, and
+ * trigger a render request.
+ * </ul>
+ * <p/>
+ * The string reprensentation of a PortletURL does not need to be a valid
+ * URL at the time the portlet is generating its content. It may contain
+ * special tokens that will be converted to a valid URL, by the portal,
+ * before the content is returned to the client.
+ */
+public class PortletURLImpl implements PortletURL {
+
+    private HttpServletResponse res = null;
+    private HttpServletRequest req = null;
+    private boolean isSecure = false;
+    private Map<String, Object> store = null;
+    private boolean redirect = false;
+    private boolean encoding = true;
+    private boolean isRender = false;
+    private String label = null;
+
+    private String layout = null;
+
+    private PortalConfigService configService = null;
+
+    private PortletMode mode = null;
+    private WindowState state = null;
+
+    protected PortletURLImpl() {
+    }
+
+    /**
+     * Constructs a PortletURL from a servlet request and response
+     *
+     * @param req      the servlet request
+     * @param res      the servlet response
+     * @param isRender true if this is a render url, false if an action url
+     */
+    public PortletURLImpl(HttpServletRequest req, HttpServletResponse res, boolean isRender) {
+        this.store = new HashMap<String, Object>();
+        this.res = res;
+        this.req = req;
+
+        this.isSecure = req.isSecure();
+        this.isRender = isRender;
+        configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+    }
+
+    /**
+     * Indicates the window state the portlet should be in, if this
+     * portlet URL triggers a request.
+     * <p/>
+     * A URL can not have more than one window state attached to it.
+     * If more than one window state is set only the last one set
+     * is attached to the URL.
+     *
+     * @param windowState the portlet window state
+     * @throws WindowStateException if the portlet cannot switch to this state,
+     *                              because the portal does not support this state, the portlet has not
+     *                              declared in its deployment descriptor that it supports this state, or the current
+     *                              user is not allowed to switch to this state.
+     *                              The <code>PortletRequest.isWindowStateAllowed()</code> method can be used
+     *                              to check if the portlet can set a given window state.
+     * @see PortletRequest#isWindowStateAllowed
+     */
+    public void setWindowState(WindowState windowState)
+            throws WindowStateException {
+        if (windowState == null) throw new IllegalArgumentException("Window state cannot be null");
+        boolean isSupported = false;
+        PortalContext context = (PortalContext) req.getAttribute(SportletProperties.PORTAL_CONTEXT);
+        Enumeration e = context.getSupportedWindowStates();
+        while (e.hasMoreElements()) {
+            WindowState supported = (WindowState) e.nextElement();
+            if (supported.equals(windowState)) {
+                isSupported = true;
+                break;
+            }
+        }
+
+        if (isSupported) {
+            state = windowState;
+        } else {
+            throw new WindowStateException("Illegal window state", windowState);
+        }
+
+    }
+
+    /**
+     * Indicates the portlet mode the portlet must be in, if this
+     * portlet URL triggers a request.
+     * <p/>
+     * A URL can not have more than one portlet mode attached to it.
+     * If more than one portlet mode is set only the last one set
+     * is attached to the URL.
+     *
+     * @param portletMode the portlet mode
+     * @throws PortletModeException if the portlet cannot switch to this mode,
+     *                              because the portal does not support this mode, the portlet has not
+     *                              declared in its deployment descriptor that it supports this mode for the current markup,
+     *                              or the current user is not allowed to switch to this mode.
+     *                              The <code>PortletRequest.isPortletModeAllowed()</code> method can be used
+     *                              to check if the portlet can set a given portlet mode.
+     * @see PortletRequest#isPortletModeAllowed
+     */
+    public void setPortletMode(PortletMode portletMode)
+            throws PortletModeException {
+        if (portletMode == null) throw new IllegalArgumentException("Portlet mode cannot be null");
+        Set allowedModes = (Set) req.getAttribute(SportletProperties.ALLOWED_MODES);
+        if (allowedModes.contains(portletMode.toString())) {
+            // hack to handle config mode
+            if (portletMode.toString().equals("config")) portletMode = new PortletMode("configure");
+            mode = portletMode;
+        } else {
+            throw new PortletModeException("Illegal portlet mode", portletMode);
+        }
+    }
+
+    /**
+     * Sets the given String parameter to this URL.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param name  the parameter name
+     * @param value the parameter value
+     * @throws IllegalArgumentException if name or value are <code>null</code>.
+     */
+    public void setParameter(String name, String value) {
+        if ((name == null) || !(name instanceof String))
+            throw new IllegalArgumentException("name must be a non-null string");
+        if (value == null) throw new IllegalArgumentException("value is NULL");
+        if (isRender) {
+            store.put(SportletProperties.RENDER_PARAM_PREFIX + name, value);
+        } else {
+            store.put(name, value);
+        }
+    }
+
+    /**
+     * Sets the given String array parameter to this URL.
+     * <p/>
+     * This method replaces all parameters with the given key.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param name   the parameter name
+     * @param values the parameter values
+     * @throws IllegalArgumentException if name or values are <code>null</code>.
+     */
+    public void setParameter(String name, String[] values) {
+        if ((name == null) || !(name instanceof String))
+            throw new IllegalArgumentException("name must be a non-null string");
+        if (values == null) throw new IllegalArgumentException("values is NULL");
+        if (values.length == 0) throw new IllegalArgumentException("values is NULL");
+
+        if (isRender) {
+            store.put(SportletProperties.RENDER_PARAM_PREFIX + name, values);
+        } else {
+            store.put(name, values);
+        }
+    }
+
+    /**
+     * Sets a parameter map for this URL.
+     * <p/>
+     * All previously set parameters are cleared.
+     * <p/>
+     * The <code>PortletURL</code> implementation 'x-www-form-urlencoded' encodes
+     * all  parameter names and values. Developers should not encode them.
+     * <p/>
+     * A portlet container may prefix the attribute names internally,
+     * in order to preserve a unique namespace for the portlet.
+     *
+     * @param parameters Map containing parameter names for
+     *                   the render phase as
+     *                   keys and parameter values as map
+     *                   values. The keys in the parameter
+     *                   map must be of type String. The values
+     *                   in the parameter map must be of type
+     *                   String array (<code>String[]</code>).
+     * @throws IllegalArgumentException if parameters is <code>null</code>, if
+     *                                  any of the key/values in the Map are <code>null</code>,
+     *                                  if any of the keys is not a String, or if any of
+     *                                  the values is not a String array.
+     */
+    public void setParameters(java.util.Map parameters) {
+        if (parameters == null) {
+            throw new IllegalArgumentException("parameters is NULL");
+        }
+        // All previously set parameters are cleared.
+        this.store = new HashMap<String, Object>();
+        for (Object key : parameters.keySet()) {
+            if (key == null) throw new IllegalArgumentException("a parameters key is NULL");
+            if (key instanceof String) {
+                Object values = parameters.get(key);
+                if (values == null) throw new IllegalArgumentException("a parameters value is NULL");
+                if (!(values instanceof String[])) {
+                    throw new IllegalArgumentException("a parameters value element must be a string array");
+                }
+                this.setParameter((String) key, (String[]) values);
+            } else {
+                throw new IllegalArgumentException("parameter key must be a string");
+            }
+
+        }
+    }
+
+    public void setAction(String action) {
+        store.put(SportletProperties.DEFAULT_PORTLET_ACTION, action);
+    }
+
+    public void setRender(String render) {
+        store.put(SportletProperties.DEFAULT_PORTLET_RENDER, render);
+    }
+
+    /**
+     * Sets a label for this link, which will overwrite the component id
+     *
+     * @param label the link label
+     */
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    /**
+     * Sets the layout id that identifies a layout descriptor to target
+     *
+     * @param layout the layout id that identifies a layout descriptor to target
+     */
+    public void setLayout(String layout) {
+        this.layout = layout;
+    }
+
+    /**
+     * Indicated the security setting for this URL.
+     * <p/>
+     * Secure set to <code>true</code> indicates that the portlet requests
+     * a secure connection between the client and the portlet window for
+     * this URL. Secure set to <code>false</code> indicates that the portlet
+     * does not need a secure connection for this URL. If the security is not
+     * set for a URL, it will stay the same as the current request.
+     *
+     * @param secure true, if portlet requests to have a secure connection
+     *               between its portlet window and the client; false, if
+     *               the portlet does not require a secure connection.
+     * @throws PortletSecurityException if the run-time environment does
+     *                                  not support the indicated setting
+     */
+    public void setSecure(boolean secure) throws PortletSecurityException {
+        this.isSecure = secure;
+    }
+
+    public void setEncoding(boolean encoding) {
+        this.encoding = encoding;
+    }
+
+    public boolean isEncoding() {
+        return encoding;
+    }
+
+    /**
+     * Returns the portlet URL string representation to be embedded in the
+     * markup.<br>
+     * Note that the returned String may not be a valid URL, as it may
+     * be rewritten by the portal/portlet-container before returning the
+     * markup to the client.
+     *
+     * @return the encoded URL as a string
+     */
+    public String toString() {
+        StringBuffer s = new StringBuffer();
+        String port = null;
+        if (req.isSecure() || isSecure || (req.getAttribute(SportletProperties.SSL_REQUIRED) != null)) {
+            s.append("https://");
+            port = configService.getProperty(PortalConfigService.PORTAL_SECURE_PORT);
+        } else {
+            s.append("http://");
+            port = configService.getProperty(PortalConfigService.PORTAL_PORT);
+        }
+        String hostname = configService.getProperty(PortalConfigService.PORTAL_HOST);
+
+        if (hostname == null || hostname.equals("")) hostname = req.getServerName();
+        s.append(hostname);
+        if (!port.equals("80") && (!port.equals("443"))) {
+            s.append(":");
+            s.append((!port.equals("")) ? port : String.valueOf(req.getServerPort()));
+        }
+
+        // if underlying window state is floating then set it in the URI
+        if (req.getAttribute(SportletProperties.FLOAT_STATE) != null) {
+            store.put(SportletProperties.PORTLET_WINDOW, "FLOATING");
+        }
+        String contextPath = "/" + configService.getProperty("gridsphere.deploy");
+        // handle ROOT context
+        if (contextPath.equals("/")) contextPath = "";
+        String servletPath = "/" + configService.getProperty("gridsphere.context");
+        //String servletPath = req.getServletPath();
+        String url = contextPath + servletPath;
+
+        String cid = (String) req.getAttribute(SportletProperties.COMPONENT_ID);
+        /*
+          This bit of jiggery is here only for the LayoutManager portlet currently.
+          A special param SportletProperties.EXTRA_QUERY_INFO can be used to stuff
+          some extra params into every portal generated url
+         */
+        String extraQuery = (String) req.getAttribute(SportletProperties.EXTRA_QUERY_INFO);
+        if (extraQuery != null) {
+            StringTokenizer st = new StringTokenizer(extraQuery, "&");
+            while (st.hasMoreTokens()) {
+                String cmd = (String) st.nextElement();
+                //System.err.println("cmd= " + cmd);
+
+                if (cmd.startsWith(SportletProperties.COMPONENT_ID)) {
+                    store.put(SportletProperties.COMPONENT_ID_2, cid);
+                    cid = cmd.substring(SportletProperties.COMPONENT_ID.length() + 1);
+                } else if (cmd.startsWith(SportletProperties.DEFAULT_PORTLET_ACTION)) {
+                    String action = (String) store.get(SportletProperties.DEFAULT_PORTLET_ACTION);
+                    store.put(SportletProperties.DEFAULT_PORTLET_ACTION_2, action);
+                    store.put(SportletProperties.DEFAULT_PORTLET_ACTION, cmd.substring(SportletProperties.DEFAULT_PORTLET_ACTION.length() + 1));
+
+                }
+            }
+        }
+
+        String layoutId = layout;
+        if (layoutId == null) {
+            layoutId = (String) req.getAttribute(SportletProperties.LAYOUT_PAGE);
+        }
+        if (layoutId != null) {
+            //System.err.println("layoutId=" + layoutId);
+            url += "/" + layoutId;
+            //String compVar = (String)req.getAttribute(SportletProperties.COMPONENT_ID_VAR);
+            //if (compVar == null) compVar = SportletProperties.COMPONENT_ID;
+
+            /*
+             // if a label exists, use it instead
+            if (label != null) {
+                cid = label;
+            } else{
+                cid = (String)req.getAttribute(SportletProperties.COMPONENT_ID);
+            }
+            */
+            // if a label exists, use it instead
+            if (label != null) cid = label;
+
+            if (cid != null) {
+                url += "/" + cid;
+                if (mode != null) url += "/m/" + mode.toString();
+                if (state != null) url += "/s/" + state.toString();
+                String action = (String) store.get(SportletProperties.DEFAULT_PORTLET_ACTION);
+                if (action != null) {
+                    store.remove(SportletProperties.DEFAULT_PORTLET_ACTION);
+                    url += "/a/" + action;
+                }
+                String render = (String) store.get(SportletProperties.DEFAULT_PORTLET_RENDER);
+                if (render != null) {
+                    store.remove(SportletProperties.DEFAULT_PORTLET_RENDER);
+                    url += "/r/" + render;
+                }
+            }
+            //System.err.println("url=" + layoutId);
+        }
+        ///////////// JASON ADDED ABOVE
+        Set set = store.keySet();
+        if (!set.isEmpty()) {
+            // add question mark
+            url += "?";
+
+            Iterator it = set.iterator();
+            boolean firstParam = true;
+            try {
+                while (it.hasNext()) {
+                    if (!firstParam) url += "&";
+                    String name = (String) it.next();
+
+                    String encname = null;
+                    encname = URLEncoder.encode(name, "UTF-8");
+
+                    Object val = store.get(name);
+                    if (val instanceof String[]) {
+                        String[] vals = (String[]) val;
+                        for (int j = 0; j < vals.length - 1; j++) {
+                            String encvalue = URLEncoder.encode(vals[j], "UTF-8");
+                            url += encname + "=" + encvalue + "&";
+                        }
+                        String encvalue = URLEncoder.encode(vals[vals.length - 1], "UTF-8");
+                        url += encname + "=" + encvalue;
+                    } else if (val instanceof String) {
+                        String aval = (String) store.get(name);
+                        if ((aval != null) && (!aval.equals(""))) {
+                            String encvalue = URLEncoder.encode(aval, "UTF-8");
+                            url += encname + "=" + encvalue;
+                        } else {
+                            url += encname;
+                        }
+                    }
+                    firstParam = false;
+                }
+
+            } catch (UnsupportedEncodingException e) {
+                System.err.println("Unable to support UTF-8 encoding!");
+            }
+
+            if (encoding) {
+                if (redirect) {
+                    url = res.encodeRedirectURL(url);
+                } else {
+                    url = res.encodeURL(url);
+                }
+            }
+        }
+        s.append(url);
+        //System.err.println("created URL= " + s.toString());
+        return s.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PreferencesValidatorImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PreferencesValidatorImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/PreferencesValidatorImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PreferencesValidatorImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.PortletPreferences;
+import javax.portlet.PreferencesValidator;
+import javax.portlet.ValidatorException;
+
+
+/**
+ * The <CODE>PreferencesValidator</CODE> allows to validate the set of
+ * preferences of the associated portlet just before they are
+ * stored in the persistent store.
+ * <p/>
+ * The portlet container invokes the <code>validate</code> method as
+ * part of the invocation of the <code>store</code> method of the
+ * <code>PortletPreferences</code>.
+ */
+public class PreferencesValidatorImpl implements PreferencesValidator {
+
+    /**
+     * If the preferences values are successfully validated the call to this method
+     * must finish gracefully. Otherwise it must throw a <code>ValidatorException</code>.
+     *
+     * @param preferences preferences to validate
+     * @throws ValidatorException if the given preferences contains invalid
+     *                            settings
+     */
+
+    public void validate(PortletPreferences preferences)
+            throws ValidatorException {
+        // TODO
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderRequestImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderRequestImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderRequestImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RenderRequestImpl.java 4894 2006-06-28 22:57:23Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.servlet.http.HttpServletRequest;
+
+
+/**
+ * The <CODE>RenderRequest</CODE> represents the request sent to the portlet
+ * to handle a render.
+ * It extends the PortletRequest interface to provide render request
+ * information to portlets.<br>
+ * The portlet container creates a <CODE>RenderRequest</CODE> object and
+ * passes it as argument to the portlet's <CODE>render</CODE> method.
+ * 
+ * @see PortletRequest
+ * @see ActionRequest
+ */
+public class RenderRequestImpl extends PortletRequestImpl implements RenderRequest {
+
+    /**
+     * Constructor creates a proxy for a HttpServletRequest
+     * All PortletRequest objects come from request or session attributes
+     *
+     * @param req the HttpServletRequest
+     */
+    public RenderRequestImpl(HttpServletRequest req, PortletContext portletContext) {
+        super(req, portletContext);
+    }
+
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderResponseImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderResponseImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/RenderResponseImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,365 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RenderResponseImpl.java 4988 2006-08-04 09:57:48Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.PortletURL;
+import javax.portlet.RenderResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Locale;
+import java.util.SortedSet;
+
+
+/**
+ * The <CODE>RenderResponse</CODE> defines an object to assist a portlet in
+ * sending a response to the portal.
+ * It extends the <CODE>PortletResponse</CODE> interface to provide specific
+ * render response functionality to portlets.<br>
+ * The portlet container creates a <CODE>RenderResponse</CODE> object and
+ * passes it as argument to the portlet's <CODE>render</CODE> method.
+ *
+ * @see javax.portlet.RenderRequest
+ * @see javax.portlet.PortletResponse
+ */
+public class RenderResponseImpl extends PortletResponseImpl implements RenderResponse {
+
+    protected String contentType = null;  // needed as servlet 2.3 does not have a response.getContentType
+    protected boolean hasWriter = false;
+    protected boolean hasOutputStream = false;
+
+    /**
+     * Constructs an instance of SportletResponse using an
+     * <code>HttpServletResponse</code> as a proxy
+     *
+     * @param req the <code>HttpServletRequest</code>
+     * @param res the <code>HttpServletResponse</code>
+     */
+    public RenderResponseImpl(HttpServletRequest req, HttpServletResponse res) {
+        super(req, res);
+    }
+
+    // Jakarta Pluto method
+    private String stripCharacterEncoding(String type) {
+        int xs = type.indexOf(';');
+        String strippedType;
+        if (xs == -1) {
+            strippedType = type;
+        } else {
+            strippedType = type.substring(0, xs);
+        }
+        return strippedType.trim();
+    }
+
+    /**
+     * Returns the MIME type that can be used to contribute
+     * markup to the render response.
+     * <p/>
+     * If no content type was set previously using the {@link #setContentType} method
+     * this method retuns <code>null</code>.
+     *
+     * @return the MIME type of the response, or <code>null</code>
+     *         if no content type is set
+     * @see #setContentType
+     */
+    public String getContentType() {
+        // in servlet 2.4 we could simply use this:
+        // return this._getHttpServletResponse().getContentType();
+        return contentType;
+    }
+
+
+    /**
+     * Creates a portlet URL targeting the portlet. If no portlet mode,
+     * window state or security modifier is set in the PortletURL the
+     * current values are preserved. If a request is triggered by the
+     * PortletURL, it results in a render request.
+     * <p/>
+     * The returned URL can be further extended by adding
+     * portlet-specific parameters and portlet modes and window states.
+     * <p/>
+     * The created URL will per default not contain any parameters
+     * of the current render request.
+     *
+     * @return a portlet render URL
+     */
+    public PortletURL createRenderURL() {
+        PortletURLImpl portletURL = new PortletURLImpl(req, (HttpServletResponse) this.getHttpServletResponse(), true);
+        portletURL.setRender("");
+        return portletURL;
+    }
+
+    /**
+     * Creates a portlet URL targeting the portlet. If no portlet mode,
+     * window state or security modifier is set in the PortletURL the
+     * current values are preserved. If a request is triggered by the
+     * PortletURL, it results in an action request.
+     * <p/>
+     * The returned URL can be further extended by adding
+     * portlet-specific parameters and portlet modes and window states.
+     * <p/>
+     * The created URL will per default not contain any parameters
+     * of the current render request.
+     *
+     * @return a portlet action URL
+     */
+    public PortletURL createActionURL() {
+        PortletURLImpl portletURL = new PortletURLImpl(req, this.getHttpServletResponse(), false);
+        portletURL.setAction("");
+        return portletURL;
+    }
+
+    /**
+     * The value returned by this method should be prefixed or appended to
+     * elements, such as JavaScript variables or function names, to ensure
+     * they are unique in the context of the portal page.
+     *
+     * @return the namespace
+     */
+    public String getNamespace() {
+        // this is done due to an issue with MyFaces using getNamespace
+        String pid = ((String) req.getAttribute(SportletProperties.PORTLETID)).replace('#', '_');
+        return "gridsphere_" + pid + "_" + (String) req.getAttribute(SportletProperties.COMPONENT_ID);
+    }
+
+    /**
+     * This method sets the title of the portlet.
+     * <p/>
+     * The value can be a text String
+     *
+     * @param title portlet title as text String or resource URI
+     */
+    public void setTitle(String title) {
+        if (title == null) title = "Unknown portlet title";
+        req.setAttribute(SportletProperties.PORTLET_TITLE, title);
+    }
+
+    /**
+     * Sets the MIME type for the render response. The portlet must
+     * set the content type before calling {@link #getWriter} or
+     * {@link #getPortletOutputStream}.
+     * <p/>
+     * Calling <code>setContentType</code> after <code>getWriter</code>
+     * or <code>getOutputStream</code> does not change the content type.
+     *
+     * @param type the content MIME type
+     * @throws java.lang.IllegalArgumentException
+     *          if the given type is not in the list returned
+     *          by <code>PortletRequest.getResponseContentTypes</code>
+     * @see javax.portlet.RenderRequest#getResponseContentTypes
+     * @see #getContentType
+     */
+    public void setContentType(String type) {
+        if (type == null) throw new IllegalArgumentException("supplied MIME type is null!");
+        String mimeType = stripCharacterEncoding(type);
+        SortedSet<String> types = (SortedSet<String>) req.getAttribute(SportletProperties.PORTLET_MIMETYPES);
+        if (types != null) {
+            if (!types.contains(type)) throw new IllegalArgumentException("Unsupported portlet mimeType: " + type);
+        }
+        this.getHttpServletResponse().setContentType(mimeType);
+        this.contentType = mimeType;
+    }
+
+
+    /**
+     * Returns the name of the charset used for
+     * the MIME body sent in this response.
+     * <p/>
+     * <p>See <a href="http://ds.internic.net/rfc/rfc2045.txt">RFC 2047</a>
+     * for more information about character encoding and MIME.
+     *
+     * @return a <code>String</code> specifying the
+     * name of the charset, for
+     * example, <code>ISO-8859-1</code>
+     */
+    public String getCharacterEncoding() {
+        return this.getHttpServletResponse().getCharacterEncoding();
+    }
+
+
+    /**
+     * Returns a PrintWriter object that can send character
+     * text to the portal.
+     * <p/>
+     * Before calling this method the content type of the
+     * render response must be set using the {@link #setContentType}
+     * method.
+     * <p/>
+     * Either this method or {@link #getPortletOutputStream} may be
+     * called to write the body, not both.
+     *
+     * @return a <code>PrintWriter</code> object that
+     *         can return character data to the portal
+     * @throws java.io.IOException if an input or output exception occurred
+     * @throws java.lang.IllegalStateException
+     *                             if the <code>getPortletOutputStream</code> method
+     *                             has been called on this response,
+     *                             or if no content type was set using the
+     *                             <code>setContentType</code> method.
+     * @see #setContentType
+     * @see #getPortletOutputStream
+     */
+    public java.io.PrintWriter getWriter() throws java.io.IOException {
+        if ((contentType == null) || (hasOutputStream))
+            throw new IllegalStateException("A writer has already been obtained or the content type has not been set!");
+        hasWriter = true;
+        return this.getHttpServletResponse().getWriter();
+    }
+
+
+    /**
+     * Returns the locale assigned to the response.
+     *
+     * @return Locale of this response
+     */
+    public java.util.Locale getLocale() {
+        Locale locale = (Locale) this.req.getSession(true).getAttribute(User.LOCALE);
+        if (locale != null) return locale;
+        locale = this.req.getLocale();
+        if (locale != null) return locale;
+        return Locale.ENGLISH;
+    }
+
+
+    /**
+     * Sets the preferred buffer size for the body of the response.
+     * The portlet container will use a buffer at least as large as
+     * the size requested.
+     * <p/>
+     * This method must be called before any response body content is
+     * written; if content has been written, or the portlet container
+     * does not support buffering, this method may throw an
+     * <code>IllegalStateException</code>.
+     *
+     * @param size the preferred buffer size
+     * @throws java.lang.IllegalStateException
+     *          if this method is called after
+     *          content has been written, or the
+     *          portlet container does not support buffering
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     * @see #reset
+     */
+    public void setBufferSize(int size) {
+        throw new IllegalStateException("portlet container does not support buffering");
+    }
+
+
+    /**
+     * Returns the actual buffer size used for the response.  If no buffering
+     * is used, this method returns 0.
+     *
+     * @return the actual buffer size used
+     * @see #setBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     * @see #reset
+     */
+    public int getBufferSize() {
+        return 0;
+    }
+
+
+    /**
+     * Forces any content in the buffer to be written to the client.  A call
+     * to this method automatically commits the response.
+     *
+     * @throws java.io.IOException if an error occured when writing the output
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #isCommitted
+     * @see #reset
+     */
+    public void flushBuffer() throws java.io.IOException {
+        this.getHttpServletResponse().flushBuffer();
+    }
+
+
+    /**
+     * Clears the content of the underlying buffer in the response without
+     * clearing properties set. If the response has been committed,
+     * this method throws an <code>IllegalStateException</code>.
+     *
+     * @throws java.lang.IllegalStateException
+     *          if this method is called after
+     *          response is comitted
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #isCommitted
+     * @see #reset
+     */
+    public void resetBuffer() {
+        this.getHttpServletResponse().resetBuffer();
+    }
+
+    /**
+     * Returns a boolean indicating if the response has been
+     * committed.
+     *
+     * @return a boolean indicating if the response has been
+     * committed
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #reset
+     */
+    public boolean isCommitted() {
+        return this.getHttpServletResponse().isCommitted();
+    }
+
+
+    /**
+     * Clears any data that exists in the buffer as well as the properties set.
+     * If the response has been committed, this method throws an
+     * <code>IllegalStateException</code>.
+     *
+     * @throws java.lang.IllegalStateException
+     *          if the response has already been
+     *          committed
+     * @see #setBufferSize
+     * @see #getBufferSize
+     * @see #flushBuffer
+     * @see #isCommitted
+     */
+    public void reset() {
+        this.getHttpServletResponse().reset();
+    }
+
+
+    /**
+     * Returns a <code>OutputStream</code> suitable for writing binary
+     * data in the response. The portlet container does not encode the
+     * binary data.
+     * <p/>
+     * Before calling this method the content type of the
+     * render response must be set using the {@link #setContentType}
+     * method.
+     * <p/>
+     * Calling <code>flush()</code> on the OutputStream commits the response.
+     * <p/>
+     * Either this method or {@link #getWriter} may be called to write the body, not both.
+     *
+     * @throws java.lang.IllegalStateException
+     *                             if the <code>getWriter</code> method
+     *                             has been called on this response, or
+     *                             if no content type was set using the
+     *                             <code>setContentType</code> method.
+     * @throws java.io.IOException if an input or output exception occurred
+     * @return a <code>OutputStream</code> for writing binary data
+     * @see #setContentType
+     * @see #getWriter
+     */
+    public java.io.OutputStream getPortletOutputStream() throws java.io.IOException {
+        if ((contentType == null) || (hasWriter))
+            throw new IllegalStateException("A writer has already been obtained or the content type has not been set!");
+        hasOutputStream = true;
+        return this.getHttpServletResponse().getOutputStream();
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/SportletProperties.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/SportletProperties.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/SportletProperties.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,259 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletProperties.java 5089 2006-08-18 22:54:05Z novotny $
+ */
+package org.gridsphere.portlet.impl;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+/**
+ * <code>SportletProperties</code> conatins all the "hidden" variable names
+ * that get transmitted between the portlet container and the portlets to
+ * request a particular portlet lifecycle action.
+ * <p/>
+ * SportletProperties comtains three kinds of attributes
+ * <ul>
+ * <li>Lifecycle atttributes specify the lifecycle method to invoke on a
+ * portlet</li>
+ * <li>Portlet object attributes contain the actual portlet object e.g.
+ * PortletConfig, PortletSettings which must be transferred in the
+ * servlet request.</li>
+ * <li>Portlet event objects</li>
+ * </ul>
+ */
+public class SportletProperties {
+
+    protected static Properties props = null;
+
+    private static SportletProperties instance = new SportletProperties();
+
+    /**
+     * Determines which lifecycle command to invoke
+     */
+    public static final String PORTLET_LIFECYCLE_METHOD = "org.gridsphere.portlet.portletLifecycleMethod";
+
+    // Portlet Lifecyle methods
+    /**
+     * Command to perform the init method on a portlet
+     */
+    public static final String INIT = "org.gridsphere.portlet.lifecycle.init";
+
+    /**
+     * Command to perform the destroy method on a portlet
+     */
+    public static final String DESTROY = "org.gridsphere.portlet.lifecycle.destroy";
+
+    /**
+     * Command to perform the login method on a portlet
+     */
+    public static final String LOGIN = "gs_login";
+
+    /**
+     * Command to perform the logout method on a portlet
+     */
+    public static final String LOGOUT = "gs_logout";
+
+    /**
+     * Command to perform the service method on a portlet
+     */
+    public static final String SERVICE = "org.gridsphere.portlet.lifecycle.service";
+
+
+    // Portlet events
+    /**
+     * The variable name of the ActionEvent object
+     */
+    public static final String ACTION_EVENT = "org.gridsphere.event.ActionEvent";
+
+    /**
+     * The variable name of the RenderEvent object
+     */
+    public static final String RENDER_EVENT = "org.gridsphere.event.RenderEvent";
+
+
+    /**
+     * The variable name of the WindowEvent object
+     */
+    public static final String WINDOW_EVENT = "org.gridsphere.event.WindowEvent";
+
+    /**
+     * Determines which event listener to notify
+     */
+    public static final String PORTLET_ACTION_METHOD = "org.gridsphere.portlet.lifecycle.portletActionMethod";
+
+    /**
+     * Command to perform the actionPerformed method on a portlet
+     */
+    public static final String ACTION_PERFORMED = "org.gridsphere.portlet.lifecycle.actionPerformed";
+
+    public static final String INIT_PAGE = "org.gridsphere.layout.INIT_PAGE";
+    /**
+     * Command to perform the doTitle method on a portlet
+     */
+    public static final String DO_TITLE = "org.gridsphere.portlet.lifecycle.doTitle";
+
+    public static final String COMPONENT_ID = "cid";
+
+    public static final String COMPONENT_ID_2 = "cid2";
+
+    public static final String COMPONENT_ID_VAR = "org.gridsphere.layout.COMPONENT_ID_VAR";
+
+    public static final String COMPONENT_ID_NUM = "org.gridsphere.layout.COMPONENT_ID_NUM";
+
+    public static final String COMPONENT_LABEL = "org.gridsphere.layout.COMPONENT_LABEL";
+
+    public static final String LAYOUT_EDIT_MODE = "org.gridsphere.layout.LAYOUT_EDIT_MODE";
+
+
+    public static final String LAYOUT_THEME = "org.gridsphere.layout.THEME";
+
+    public static final String LAYOUT_RENDERKIT = "org.gridsphere.layout.RENDERKIT";
+
+
+    public static final String LAYOUT_PAGE_PARAM = "gs_PageLayout";
+
+    public static final String LAYOUT_PAGE = "org.gridsphere.layout.PAGE";
+
+    public static final String IGNORE_PARSING = "org.gridsphere.portlet.impl.IGNORE_PARSING";
+
+    // Used for "action component model" in grid portlets currently
+    public static final String GP_COMPONENT_ID = "gpcompid";
+
+    public static final String DEFAULT_PORTLET_ACTION_VAR = "org.gridsphere.DEFAULT_PORTLET_ACTION_VAR";
+
+    public static final String DEFAULT_PORTLET_ACTION = "gs_action";
+
+    public static final String DEFAULT_PORTLET_ACTION_2 = "gs_action2";
+
+    public static final String DEFAULT_PORTLET_RENDER = "gs_render";
+
+    public static final String DEFAULT_PORTLET_MESSAGE = "message";
+
+    public static final String PORTLETID = "pid";
+
+    public static final String ERROR = "org.gridsphere.portlet.error";
+    // Portlet API objects
+
+    public static final String CLIENT = "org.gridsphere.portletcontainer.Client";
+
+    public static final String PORTLET_MODE = "gs_mode";
+
+    public static final String PORTLET_TITLE = "title";
+
+    public static final String PREVIOUS_MODE = "org.gridsphere.portlet.PreviousMode";
+
+    public static final String MODEMODIFIER = "org.gridsphere.portlet.ModeModifier";
+
+    public static final String PORTLET_WINDOW = "gs_state";
+
+    public static final String PORTLET_WINDOW_ID = "org.gridsphere.layout.WINDOW_ID";
+
+    public static final String PORTLET_DATA_MANAGER = "org.gridsphere.portletcontainer.PortletDataManager";
+
+    public static final String PORTLETERROR = "org.gridsphere.portlet.PortletError";
+
+    public static final String PREFIX = "up";
+
+    public static final String PORTLET_USER = "org.gridsphere.services.core.user.User";
+
+    /**
+     * The variable name of the PortletConfig object
+     */
+    public static final String PORTLET_CONFIG = "javax.portlet.config";
+
+    public static final String PORTAL_CONTEXT = "javax.portlet.context";
+
+    public static final String PORTLET_MIMETYPES = "javax.portlet.mimetypes";
+
+    public static final String PORTLET_PREFERENCES = "javax.portlet.preferences";
+
+    public static final String PORTLET_PREFERENCES_MANAGER = "org.gridsphere.portletcontainer.impl.PortletPreferencesManager";
+
+    public static final String PORTLET_GROUP = "org.gridsphere.portlet.PortletGroup";
+
+    public static final String PORTLET_ROLE = "org.gridsphere.portlet.PortletRole";
+
+    public static final String RENDER_REQUEST = "javax.portlet.request";
+
+    public static final String RENDER_RESPONSE = "javax.portlet.response";
+
+    public static final String PORTLETGROUPS = "org.gridsphere.portlet.groups";
+
+    public static final String LOCALE = "org.gridsphere.portlet.Locale";
+
+    public static final String PORTLET_SERVLET = "org.gridsphere.portlets.PortletServlet";
+
+    public static final String FILE_DOWNLOAD_NAME = "org.gridsphere.portletcontainer.FILE_DOWNLOAD_NAME";
+
+    public static final String FILE_DOWNLOAD_PATH = "org.gridsphere.portletcontainer.FILE_DOWNLOAD_PATH";
+
+    public static final String FILE_DOWNLOAD_BINARY = "org.gridsphere.portletcontainer.FILE_DOWNLOAD_BINARY";
+
+    public static final String FILE_DELETE = "org.gridsphere.portletcontainer.FILE_DELETE";
+
+    public static final String FILE_DOWNLOAD_ERROR = "org.gridsphere.portletcontainer.FILE_DOWNLOAD_ERROR";
+
+    public static final String PORTAL_PROPERTIES = "org.gridsphere.PORTAL_PROPERTIES";
+
+    public static final String ALLOWED_MODES = "org.gridsphere.ALLOWED_MODES";
+
+    public static final String MIME_TYPES = "org.gridsphere.MIME_TYPES";
+
+    public static final String RESPONSE_COMMITTED = "org.gridsphere.RESPONSE_COMMITTED";
+
+    public static final String RENDER_PARAM_PREFIX = "rp_";
+
+    public static final String RENDER_OUTPUT = "org.gridsphere.layout.RENDER_OUTPUT.";
+
+    public static final String FLOAT_STATE = "org.gridsphere.portlet.FLOAT_STATE";
+
+    public static final String DISPLAY_MODES = "org.gridsphere.layout.DISPLAY_MODES";
+
+    public static final String DISPLAY_STATES = "org.gridsphere.layout.DISPLAY_STATES";
+
+    public static final String SSL_REQUIRED = "javax.portlet.SSL_REQUIRED";
+
+    public static final String PORTLET_USER_PRINCIPAL = "org.gridsphere.services.core.user.UserPrincipal";
+
+    public static final String EXTRA_QUERY_INFO = "org.gridsphere.layout.EXTRA_QUERY_INFO";
+
+    public static final String CONTEXT_PATH = "org.gridsphere.CONTEXT_PATH";
+
+    public static final String SERVLET_PATH = "org.gridsphere.SERVLET_PATH";
+
+    public static final String PAGE_BUFFER = "org.gridsphere.PAGE_BUFFER";
+
+    public static final String USE_AJAX = "org.gridsphere.USE_AJAX";
+
+    public static final String COMPONENT_NAME = "org.gridsphere.layout.COMP_NAME";
+
+    public static final String PORTLET_NAME = "org.gridsphere.PORTLET_NAME";
+
+    public static final String PORTAL_REDIRECT_PATH = "org.gridsphere.PORTAL_REDIRECT_PATH";
+
+    private SportletProperties() {
+        if (props == null) {
+            InputStream propsStream = getClass().getResourceAsStream("/org/gridsphere/portlet/impl/portlet.properties");
+            props = new Properties();
+            try {
+                props.load(propsStream);
+            } catch (IOException e) {
+                System.err.println("Unable to load portlet.properties");
+                e.printStackTrace();
+            }
+        }
+    }
+
+    public static SportletProperties getInstance() {
+        return instance;
+    }
+
+    public String getProperty(String key) {
+        if (key == null) throw new IllegalArgumentException("property key cannot be null!");
+        return props.getProperty(key);
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/StoredPortletResponseImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/StoredPortletResponseImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/impl/StoredPortletResponseImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: StoredPortletResponseImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.impl;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.Writer;
+
+public class StoredPortletResponseImpl extends RenderResponseImpl {
+
+    private PrintWriter writer;
+
+    private class StoredServletOutputStreamImpl extends ServletOutputStream {
+
+        protected Writer writer;
+
+        public StoredServletOutputStreamImpl(Writer writer) {
+            this.writer = writer;
+        }
+
+        public void write(int b) throws IOException {
+            writer.write(b);
+        }
+
+        public String toString() {
+            return writer.toString();
+        }
+
+    }
+
+    public StoredPortletResponseImpl(HttpServletRequest request, HttpServletResponse response, Writer writer) {
+        super(request, response);
+        this.writer = new PrintWriter(writer);
+    }
+
+    /**
+     * Writes an array of bytes
+     *
+     * @param buf the array to be written
+     * @throws IOException if an I/O error occurred
+     */
+    public void write(byte[] buf) throws IOException {
+        char[] tmp = new char[buf.length];
+        for (int i = 0; i < tmp.length; i++)
+            tmp[i] = (char) (buf[i] & 0xff);
+        writer.write(tmp, 0, buf.length);
+    }
+
+    /**
+     * Writes a single byte to the output stream
+     */
+    public void write(int val) throws IOException {
+        writer.write(val);
+    }
+
+    /**
+     * Writes a subarray of bytes
+     *
+     * @param buf     the array to be written
+     * @param pOffset the offset into the array
+     * @param length  the number of bytes to write
+     * @throws IOException if an I/O error occurred
+     */
+    public void write(byte[] buf, int pOffset, int length) throws IOException {
+        char[] tmp = new char[length];
+        for (int i = 0; i < length; i++)
+            tmp[i] = (char) (buf[i + pOffset] & 0xff);
+        writer.write(tmp, 0, length);
+    }
+
+    public PrintWriter getWriter() throws IOException {
+        return writer;
+    }
+
+    public ServletOutputStream getOutputStream() throws IOException {
+        return new StoredServletOutputStreamImpl(writer);
+    }
+
+    public void flushBuffer() throws IOException {
+        writer.flush();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Portlet API</b>
+<p>
+The GridSphere Portlet API is an implementation based upon the GridLab Portal
+Technical Specification. The Portlet API presented has been based largely on
+the IBM WebSphere Portlet API 4.1.
+<p>
+In particular the portlet hierarchy is as follows:
+<p>
+Portlet implements PortletSessionListener <br>
+   ^                                      <br>
+   |                                      <br>
+PortletAdapter                            <br>
+   ^                                      <br>
+   |                                      <br>
+AbstractPortlet implements ActionListener, MessageListener, WindowListener, PortletTitleListener <br>
+
+<p>
+
+Portlet developers would subclass the AbstractPortlet and override the hook
+methods of the various Listeners for added functionality.
+<p>
+The following list is the order in which portlet lifecycle methods are invoked:
+<ol>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#init(PortletConfig)} is invoked.
+    This provides the application portlet with its initial configuration,
+    {@link org.gridsphere.portlet.PortletConfig}.
+    </li>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#initConcrete(PortletSettings)} is invoked.
+    This provides the concrete portlet instance with its initial configuration,
+    {@link org.gridsphere.portlet.PortletSettings}.
+    </li>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#login(PortletRequest)} is invoked.
+    Once a user has successfully logged in, the login() method is invoked for each of the
+    portlets in their subscription list.
+    </li>
+    <li>
+    {@link org.gridsphere.portlet.AbstractPortlet#service(PortletRequest, PortletResponse)} is invoked.
+    This services the concrete portlet instance for a particular user request.
+    This lifecycle method is invoked on concrete portlets for each and every user request.
+    </li>
+    Additionally the following lifecycle methods may be performed in the following order:
+    <ol>An appropriate portlet action method is called:
+        <ul>
+        <li>
+        {@link org.gridsphere.portlet.AbstractPortlet#actionPerformed(ActionEvent)}
+        handles a portlet action event
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.AbstractPortlet#messageReceived(MessageEvent)}
+        handles a portlet message event
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.AbstractPortlet#windowMinimized(WindowEvent)}
+        handles a portlet window minimized event
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.AbstractPortlet#windowMaximized(WindowEvent)}
+        handles a portlet window maximized event
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.AbstractPortlet#windowRestored(WindowEvent)}
+        handles a portlet window restored event
+        </li>
+        </ul>
+        An appropriate portlet render method is called:
+        <ul>
+        <li>
+        {@link org.gridsphere.portlet.PortletAdapter#doView(PortletRequest, PortletResponse)}
+        render the portlet <code>VIEW</code> mode.
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.PortletAdapter#doEdit(PortletRequest, PortletResponse)}
+        render the portlet <code>VIEW</code> mode.
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.PortletAdapter#doHelp(PortletRequest, PortletResponse)}
+        render the portlet <code>VIEW</code> mode.
+        </li>
+        <li>
+        {@link org.gridsphere.portlet.PortletAdapter#doConfigure(PortletRequest, PortletResponse)}
+        render the portlet <code>VIEW</code> mode.
+        </li>
+        </ul>
+    </ol>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#logout(PortletSession)} is invoked.
+    The logout() method is invoked for each of the portlets a user's subscription list.
+    </li>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#destroyConcrete(PortletSettings)} is invoked.
+    This destroys the concrete portlet instance.
+    </li>
+    <li>
+    {@link org.gridsphere.portlet.PortletAdapter#destroy()} is invoked.
+    This destroys the application portlet and takes it out of service.
+    </li>
+</ol>
+
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service;
+
+/**
+ * The <code>PortletService</code> interface is the base for all portlet services.
+ * Portlets can obtain portlet service instances by calling the method PortletContext.getService.
+ */
+public interface PortletService {
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceException.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.service;
+
+
+/**
+ * The <code>PortletServiceException</code> is the base class of all
+ * exceptions thrown by portlet services.
+ */
+public class PortletServiceException extends RuntimeException {
+
+    /**
+     * Constructs a new portlet exception.
+     */
+    public PortletServiceException() {
+        super();
+    }
+
+    /**
+     * Creates a new exception with the sepcified detail message.
+     *
+     * @param message a string indicating why this exception is thrown.
+     */
+    public PortletServiceException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public PortletServiceException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an exception.
+     * The exception's message is based on the localized message of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+    public PortletServiceException(Throwable cause) {
+        super(cause);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceNotFoundException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceNotFoundException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceNotFoundException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceNotFoundException.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service;
+
+/**
+ * The <code>PortletServiceNotFoundException</code> is thrown if a portlet
+ * attempts to access an service that cannot be found.
+ */
+public class PortletServiceNotFoundException extends PortletServiceException {
+
+    /**
+     * Constructs a new portlet service not found exception.
+     */
+    public PortletServiceNotFoundException() {
+        super();
+    }
+
+    /**
+     * Creates a new exception with the sepcified detail message.
+     *
+     * @param message a string indicating why this exception is thrown.
+     */
+    public PortletServiceNotFoundException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public PortletServiceNotFoundException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an exception.
+     * The exception's message is based on the localized message of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+    public PortletServiceNotFoundException(Throwable cause) {
+        super(cause);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceUnavailableException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceUnavailableException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/PortletServiceUnavailableException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceUnavailableException.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service;
+
+
+/**
+ * The <code>PortletServiceUnavailableException</code> is thrown if a portlet
+ * attempts to access an service that cannot be loaded, because an error
+ * occured during initialization.
+ */
+public class PortletServiceUnavailableException extends PortletServiceException {
+
+    /**
+     * Constructs a new portlet service unavailable exception.
+     */
+    public PortletServiceUnavailableException() {
+        super();
+    }
+
+    /**
+     * Creates a new exception with the sepcified detail message.
+     *
+     * @param message a string indicating why this exception is thrown.
+     */
+    public PortletServiceUnavailableException(String message) {
+        super(message, null);
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public PortletServiceUnavailableException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an exception.
+     * The exception's message is based on the localized message of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+    public PortletServiceUnavailableException(Throwable cause) {
+        super(cause);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Portlet Services API</b>
+<p>
+The Portlet Services API is an implementation based upon the GridLab Portal
+Technical Specification. The Portlet Services API presented was based originally
+on the IBM WebSphere Portlet API 4.1 (which in turn was based on the
+Jakarta Turbine-2 services model).
+<p>
+The two primary differences in the GridSphere Portlet Service API and
+the WebSphere 4.1 API are:
+<p>
+<ol>
+<li>The use of an XML schema for defining portlet services as opposed to a
+plain text properties file</li>
+</ol>
+More information on developing portlet services using the GridSphere Portlet
+Services API can be found in the GridSphere documentation.
+<p>
+An example portlet service descriptor file is the following:
+<code>
+<p>
+    &lt;portlet-services&gt;
+<p>
+    &lt;service&gt;    <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;Portlet Manager Service&lt;/name&gt;  <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;Provides Administration Capabilities for Portlet Web Applications&lt;/description&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;interface&gt;org.gridsphere.services.core.registry.PortletManagerService&lt;/interface&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;implementation&gt;org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl&lt;/implementation&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;service-config&gt;  <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;coreContext&lt;/param-name&gt; <br>
+            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;gsmanager, coreportlets, gridportlets&lt;/param-value&gt;  <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;/service-config&gt; <br>
+    &lt;/service&gt;   <br>
+<p>
+    &lt;service&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;name&gt;Login Service&lt;/name&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;description&gt;Provides Login Capabilities&lt;/description&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;interface&gt;org.gridsphere.services.core.user.LoginService&lt;/interface&gt; <br>
+        &nbsp;&nbsp;&nbsp;&nbsp;&lt;implementation&gt;org.gridsphere.services.core.user.impl.LoginServiceImpl&lt;/implementation&gt; <br>
+    &lt;/service&gt; <br>
+ <p>
+    ...
+ <p>
+</code>
+<p>
+The following definitions are used in defining a portlet service:
+<ul>
+<li><b>portlet name</b> - the portlet name</li>
+<li><b>description</b> - a description of the portlet service</li>
+<li><b>interface</b> - the portlet service interface class</li>
+<li><b>implementation</b> - the portlet service implementation class</li>
+<li><b>service-config</b> - specifies additional configuration requirements of
+the portlet service</li>
+    <ul>
+    <li><b>param-name</b> - specifies an initialization parameter name</li>
+    <li><b>param-value</b> - specifies an initialization parameter value</li>
+    </ul>
+</ul>
+
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceConfig.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceConfig.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceConfig.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceConfig.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.service.spi;
+
+import javax.servlet.ServletContext;
+import java.util.Enumeration;
+
+/**
+ * The <code>PortletServiceConfig</code> is the interface through which
+ * portlet services access the configuration settings from the services
+ * descriptor file.
+ */
+public interface PortletServiceConfig {
+
+    /**
+     * Returns the init parameter with the given name.
+     *
+     * @param name the name of the requested init parameter.
+     * @return the init parameter
+     */
+    public String getInitParameter(String name);
+
+    /**
+     * Returns the init parameter with the given name.
+     *
+     * @param name  the name of the init parameter.
+     * @param value the value of the init parameter
+     */
+    public void setInitParameter(String name, String value);
+
+    /**
+     * Returns the init parameter with the given name. It returns the given default
+     * value if the parameter is not found.
+     *
+     * @param name         the name of the requested init parameter.
+     * @param defaultValue the default value to return.
+     * @return the init parameter value if exists, otherwise defaultValue
+     */
+    public String getInitParameter(String name, String defaultValue);
+
+    /**
+     * Returns an enumeration with the names of all init parameters provided in the portlet service configuration.
+     *
+     * @return an enumeration of the init parameters
+     */
+    public Enumeration getInitParameterNames();
+
+    /**
+     * Returns the servlet configuration
+     *
+     * @return the servlet configuration
+     */
+    public ServletContext getServletContext();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceFactory.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceFactory.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceFactory.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,275 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceFactory.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.service.spi;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.PortletServiceNotFoundException;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.impl.PortletServiceConfigImpl;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition;
+
+import javax.servlet.ServletContext;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+
+/**
+ * The <code>PortletServiceFactory</code> provides a factory for the creation
+ * of portlet services. The <code>PortletServiceFactory</code> is also
+ * responsible for portlet service lifecycle management including
+ * initialization and shutdown.
+ */
+public class PortletServiceFactory {
+
+    private static PortletServiceFactory instance = null;
+
+    // Maintain a single copy of each service instantiated
+    // as a classname and PortletServiceProvider pair
+    private static Hashtable<String, PortletServiceProvider> initServices = new Hashtable<String, PortletServiceProvider>();
+
+    // Hash of all services key = service interface name, value = SportletServiceDefinition
+    private static Hashtable<String, PortletServiceDefinition> allServices = new Hashtable<String, PortletServiceDefinition>();
+
+    // Hash of all user services
+    private static Hashtable<String, ServletContext> serviceContexts = new Hashtable<String, ServletContext>();
+
+    // Hash of all user services
+    private static Hashtable<String, ClassLoader> classLoaders = new Hashtable<String, ClassLoader>();
+
+    private static Hashtable<String, List<String>> webappServices = new Hashtable<String, List<String>>();
+
+    //public static String servicesMappingPath = null;
+
+    public static URL servicesMappingStream = null;
+
+    /**
+     * Private constructor. Use getDefault() instead.
+     */
+    private PortletServiceFactory() {
+        servicesMappingStream = this.getClass().getResource("/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml");
+    }
+
+    public static synchronized PortletServiceFactory getInstance() {
+        if (instance == null) {
+            instance = new PortletServiceFactory();
+        }
+        return instance;
+    }
+
+    /**
+     * Umarshalls services from the descriptor file found in servicesPath
+     * using the mapping file specified
+     *
+     * @param webappName        the name of the web application
+     * @param ctx               the servlet context
+     * @param serviceCollection the collection of portlet service definitions
+     * @param loader            the class loader
+     * @throws PortletServiceException if an error occurs instantiating the service class
+     */
+    public static void addServices(String webappName, ServletContext ctx, PortletServiceCollection serviceCollection, ClassLoader loader) throws PortletServiceException {
+        Log log = LogFactory.getLog(PortletServiceFactory.class);
+
+        List<PortletServiceDefinition> services = serviceCollection.getPortletServicesList();
+        List<String> webapplist = new ArrayList<String>();
+
+        for (PortletServiceDefinition serviceDef : services) {
+            allServices.put(serviceDef.getServiceInterface(), serviceDef);
+            log.debug("adding service: " + serviceDef.getServiceInterface() + " service def: " + serviceDef.toString());
+            serviceContexts.put(serviceDef.getServiceInterface(), ctx);
+            classLoaders.put(serviceDef.getServiceInterface(), loader);
+            webapplist.add(serviceDef.getServiceInterface());
+        }
+        webappServices.put(webappName, webapplist);
+
+        for (PortletServiceDefinition serviceDef : services) {
+            if (serviceDef.isLoadOnStartup()) {
+                log.debug("loading service : " + serviceDef.getServiceInterface());
+                try {
+                    createPortletService(Class.forName(serviceDef.getServiceImplementation(), true, loader), true);
+                } catch (ClassNotFoundException e) {
+                    log.error("Unable to find class : " + serviceDef.getServiceImplementation());
+                }
+            }
+        }
+    }
+
+    /**
+     * createPortletServiceFactory instantiates the given class and initializes it.
+     *
+     * @param service          the class of the service
+     * @param useCachedService if true will us an existing service instance if one exists, false will create a new instance
+     * @return the instantiated portlet service
+     * @throws PortletServiceUnavailableException
+     *          if the portlet service is unavailable
+     * @throws PortletServiceNotFoundException
+     *          if the PortletService is not found
+     */
+    public static PortletService createPortletService(Class service,
+                                                      boolean useCachedService)
+            throws PortletServiceUnavailableException, PortletServiceNotFoundException {
+
+        Log log = LogFactory.getLog(PortletServiceFactory.class);
+
+        PortletServiceProvider psp = null;
+
+        // see if we already have an instance of this service
+        if (service == null) {
+            throw new IllegalArgumentException("Received null service class");
+        }
+
+        String serviceName = service.getName();
+        // if init'ed service exists then use it
+        if (useCachedService) {
+            psp = initServices.get(serviceName);
+            if (psp != null) return psp;
+        }
+
+        PortletServiceDefinition def = allServices.get(serviceName);
+        if (def == null) {
+            log.error("Unable to find portlet service interface: " + serviceName +
+                    " . Please check PortletServices.xml file for proper service entry");
+            throw new PortletServiceNotFoundException("Unable to find portlet service: " + serviceName);
+        }
+
+        /* Create the service implementation */
+        String serviceImpl = def.getServiceImplementation();
+        if (serviceImpl == null) {
+            log.error("Unable to find implementing portlet service: " + serviceName +
+                    " . Please check PortletServices.xml file for proper service entry");
+            throw new PortletServiceNotFoundException("Unable to find implementing portlet service for interface: " + serviceName);
+        }
+
+        ServletContext ctx = serviceContexts.get(serviceName);
+        PortletServiceConfig portletServiceConfig = new PortletServiceConfigImpl(def, ctx);
+
+        ClassLoader loader = classLoaders.get(serviceName);
+        try {
+            if (loader != null) {
+                psp = (PortletServiceProvider) Class.forName(serviceImpl, true, loader).newInstance();
+            } else {
+                psp = (PortletServiceProvider) Class.forName(serviceImpl).newInstance();
+            }
+        } catch (InstantiationException e) {
+            // InstantiationException - if this Class represents an abstract class, an interface, an array class, a primitive type, or void; or if the class has no nullary constructor; or if the instantiation fails for some other reason. 
+            log.error("Unable to create portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to create portlet service: " + serviceImpl + " Class represents an abstract class, an interface, an array class, a primitive type, or void; or if the class has no nullary constructor; or if the instantiation fails for some other reason.", e);
+        } catch (IllegalAccessException e) {
+            // IllegalAccessException - if the class or its nullary constructor is not accessible. 
+            log.error("Unable to create portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to create portlet service: " + serviceImpl + " class or its nullary constructor is not accessible.", e);
+        } catch (ClassNotFoundException e) {
+            log.error("Unable to create portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to create portlet service: " + serviceImpl + " Class not found.", e);
+        } catch (ExceptionInInitializerError e) {
+            // the initialization provoked by this method fails.
+            log.error("Unable to create portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to create portlet service: " + serviceImpl + " the initialization provoked by this method fails.", e);
+        } catch (Exception e) {
+            log.error("Unable to create portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to create portlet service: " + serviceImpl, e);
+        }
+
+        try {
+            psp.init(portletServiceConfig);
+        } catch (PortletServiceUnavailableException e) {
+            log.error("Unable to initialize portlet service: " + serviceImpl, e);
+            throw new PortletServiceUnavailableException("Unable to initialize portlet service: " + serviceImpl, e);
+        }
+
+        initServices.put(serviceName, psp);
+        return psp;
+    }
+
+    /**
+     * Destroys a portlet service identified by its class
+     *
+     * @param service the service class to shutdown
+     */
+    public static void shutdownService(Class service) {
+        Log log = LogFactory.getLog(PortletServiceFactory.class);
+        if (initServices.containsKey(service.getName())) {
+            log.info("Shutting down service: " + service.getName());
+            PortletServiceProvider psp = initServices.get(service.getName());
+            psp.destroy();
+        }
+    }
+
+    /**
+     * Shuts down all portlet services managed by this factory
+     */
+    public static void shutdownServices() {
+        Log log = LogFactory.getLog(PortletServiceFactory.class);
+
+        // Calls destroy() on all services we know about
+        log.info("Shutting down all portlet services:");
+        Enumeration<String> keys = initServices.keys();
+        while (keys.hasMoreElements()) {
+            String serviceName = keys.nextElement();
+            PortletServiceProvider psp = initServices.get(serviceName);
+            log.info("Shutting down service: " + serviceName + " impl: " + psp.getClass().getName());
+            psp.destroy();
+        }
+    }
+
+    /**
+     * Shuts down portlet services for a given webapp managed by this factory
+     *
+     * @param webappName containing the services to shutdown
+     */
+    public static void shutdownServices(String webappName) {
+        Log log = LogFactory.getLog(PortletServiceFactory.class);
+
+        // Calls destroy() on all services we know about
+        List<String> services = webappServices.get(webappName);
+        if (services == null) return;
+        log.info("Shutting down  portlet services for webapp: " + webappName);
+        List<String> remServices = new ArrayList<String>();
+        for (String iface : services) {
+            // Check standard portlet services that belong to this webapp
+            Enumeration<String> keys = initServices.keys();
+            while (keys.hasMoreElements()) {
+                String serviceName = keys.nextElement();
+                if (serviceName.equals(iface)) {
+                    PortletServiceProvider psp = initServices.get(serviceName);
+                    if (psp != null) {
+                        log.info("Shutting down service: " + serviceName + " impl: " + psp.getClass().getName());
+                        psp.destroy();
+                        remServices.add(serviceName);
+                    }
+                }
+            }
+        }
+
+        for (String serviceName : remServices) {
+            initServices.remove(serviceName);
+            allServices.remove(serviceName);
+            classLoaders.remove(serviceName);
+            serviceContexts.remove(serviceName);
+        }
+        webappServices.remove(webappName);
+    }
+
+    /*
+    public void logStatistics() {
+        Enumeration e = null;
+        if (initServices != null) {
+            log.debug("printing inited services");
+            e = initServices.keys();
+            String ser = "services:\n";
+            while (e.hasMoreElements()) {
+                String s = (String) e.nextElement();
+                ser += s + "\n";
+            }
+            log.debug(ser);
+        }
+    }
+    */
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceProvider.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceProvider.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/PortletServiceProvider.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletServiceProvider.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service.spi;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+
+/**
+ * The <code>PortletServiceProvider</code> interface must be implemented by
+ * all portlet service implementations, so that it can be instantiated and
+ * destroyed by the appropriate service factory.
+ */
+public interface PortletServiceProvider extends PortletService {
+
+    /**
+     * Initializes the portlet service.
+     * <p/>
+     * The init method is invoked by the portlet container immediately after a
+     * portlet service has been instantiated and before it is passed to the requestor.
+     *
+     * @param config the service configuration
+     * @throws PortletServiceUnavailableException
+     *          if an error occurs during initialization
+     */
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException;
+
+    /**
+     * Destroys the portlet service.
+     * <p/>
+     * The destroy method is invoked by the portlet container to destroy a portlet service.
+     * This method must free all resources allocated to the portlet service.
+     */
+    public void destroy();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/PortletServiceConfigImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletServiceConfig.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.service.spi.impl;
+
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition;
+
+import javax.servlet.ServletContext;
+import java.util.Enumeration;
+import java.util.Properties;
+
+/**
+ * The <code>SportletServiceConfig</code> provides an implementation
+ * of the <code>PortletServiceConfig</code> interface through which
+ * portlet services access the configuration settings from the services
+ * descriptor file.
+ */
+public class PortletServiceConfigImpl implements PortletServiceConfig {
+
+    private Properties configProperties;
+    private ServletContext servletContext;
+
+    /**
+     * Constructor disallows non-argument instantiation
+     */
+    private PortletServiceConfigImpl() {
+    }
+
+    /**
+     * Constructs an instance of SportletServiceConfig using the supplied
+     * service class, the configuration properties and the  servlet configuration
+     *
+     * @param def            the sportlet service definition
+     * @param servletContext the <code>ServletConfig</code>
+     */
+    public PortletServiceConfigImpl(PortletServiceDefinition def,
+                                 ServletContext servletContext) {
+        this.configProperties = def.getConfigProperties();
+        this.servletContext = servletContext;
+    }
+
+    /**
+     * Returns the init parameter with the given name.
+     *
+     * @param name the name of the requested init parameter.
+     * @return the init parameter
+     */
+    public String getInitParameter(String name) {
+        return configProperties.getProperty(name);
+    }
+
+    /**
+     * Returns the init parameter with the given name.
+     *
+     * @param name  the name of the requested init parameter.
+     * @param value the value of the init parameter
+     */
+    public void setInitParameter(String name, String value) {
+        configProperties.setProperty(name, value);
+    }
+
+    /**
+     * Returns the init parameter with the given name. It returns the given default
+     * value if the parameter is not found.
+     *
+     * @param name         the name of the requested init parameter.
+     * @param defaultValue the default value to return.
+     * @return the init parameter value if exists, otherwise defaultValue
+     */
+    public String getInitParameter(String name, String defaultValue) {
+        return configProperties.getProperty(name, defaultValue);
+    }
+
+    /**
+     * Returns an enumeration with the names of all init parameters provided in the portlet service configuration.
+     *
+     * @return an enumeration of the init parameters
+     */
+    public Enumeration getInitParameterNames() {
+        return configProperties.keys();
+    }
+
+    /**
+     * Returns the servlet context
+     *
+     * @return the servlet context
+     */
+    public ServletContext getServletContext() {
+        return servletContext;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParam.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ConfigParam.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portlet.service.spi.impl.descriptor;
+
+/**
+ * A <code>ConfigParam</code> is an attribute representation used
+ * to define attribute names and values in a descriptor by Castor.
+ */
+public class ConfigParam {
+
+    private String paramName = "";
+    private String paramValue = "";
+
+    /**
+     * Constructs an instance of ConfigParam
+     */
+    public ConfigParam() {
+    }
+
+    /**
+     * Constructs an instance of ConfigParam with a parameter name and value
+     *
+     * @param paramName  the parameter name
+     * @param paramValue the parameter value
+     */
+    public ConfigParam(String paramName, String paramValue) {
+        this.paramName = paramName;
+        this.paramValue = paramValue;
+    }
+
+    /**
+     * Returns the parameter name
+     *
+     * @return the parameter name
+     */
+    public String getParamName() {
+        return paramName;
+    }
+
+    /**
+     * Sets the parameter name
+     *
+     * @param paramName the parameter name
+     */
+    public void setParamName(String paramName) {
+        this.paramName = paramName;
+    }
+
+    /**
+     * Returns the parameter value
+     *
+     * @return the parameter value
+     */
+    public String getParamValue() {
+        return paramValue;
+    }
+
+    /**
+     * Sets the parameter value
+     *
+     * @param paramValue the parameter value
+     */
+    public void setParamValue(String paramValue) {
+        this.paramValue = paramValue;
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/ConfigParamList.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,80 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ConfigParamList.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portlet.service.spi.impl.descriptor;
+
+import java.util.*;
+
+/**
+ * A <code>ConfigParamList</code> is a container for <code>ConfigParam</code>
+ * elements that provides a <code>Hashtable</code> view.
+ */
+public class ConfigParamList {
+
+    private List<ConfigParam> configList = new ArrayList<ConfigParam>();
+    private Hashtable<String, String> configHash = new Hashtable<String, String>();
+
+    public ConfigParamList() {
+    }
+
+    /**
+     * Constructs an instance of ConfigParamList
+     *
+     * @param configList the list of configuration parameters
+     */
+    public ConfigParamList(List<ConfigParam> configList) {
+        this.configList = configList;
+    }
+
+    public void setConfigParamList(ArrayList<ConfigParam> configList) {
+        this.configList = configList;
+    }
+
+    public List<ConfigParam> getConfigParamList() {
+        return configList;
+    }
+
+    public void setConfigParams(Hashtable<String, String> configHash) {
+        this.configHash = configHash;
+        this.createConfigList();
+    }
+
+    public Hashtable<String, String> getConfigParams() {
+        this.createConfigHash();
+        return configHash;
+    }
+
+    /**
+     * Used internally to convert a <code>ConfigParam</code> list to
+     * a <code>Hashtable</code> used by clients
+     */
+    protected void createConfigHash() {
+        configHash = new Hashtable<String, String>();
+        for (ConfigParam configParam : configList) {
+            configHash.put(configParam.getParamName(), configParam.getParamValue());
+        }
+    }
+
+    /**
+     * Used internally to convert a <code>Hashtable</code> to
+     * a <code>ConfigParam</code> list used by Castor
+     */
+    protected void createConfigList() {
+        configList = new ArrayList<ConfigParam>();
+        Enumeration e = configHash.keys();
+        ConfigParam configParam = null;
+        String paramName = null;
+        String paramVal = null;
+        while (e.hasMoreElements()) {
+            paramName = (String) e.nextElement();
+            paramVal = (String) configHash.get(paramName);
+            configParam = new ConfigParam(paramName, paramVal);
+            configList.add(configParam);
+        }
+    }
+
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/Description.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/Description.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/Description.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: Description.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service.spi.impl.descriptor;
+
+import java.io.Serializable;
+import java.util.Locale;
+
+/**
+ * <code>Description</code> is used to store a locale dependent titloe or description
+ */
+public class Description implements Serializable, Cloneable {
+
+    private String lang = Locale.ENGLISH.getLanguage();
+    private String text = "";
+    private String key = "";
+
+    /**
+     * Constructs an instance of a Description
+     */
+    public Description() {
+    }
+
+    /**
+     * Sets the language locale of this text
+     *
+     * @param lang the relative path to load a text file
+     */
+    public void setLang(String lang) {
+        this.lang = lang;
+    }
+
+    /**
+     * Returns the language locale of this text
+     *
+     * @return the language locale of this text
+     */
+    public String getLang() {
+        return lang;
+    }
+
+    /**
+     * Sets the key of this text
+     *
+     * @param key the key of this text
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * Returns the key of this text
+     *
+     * @return the key of this text
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Sets the text
+     *
+     * @param text the text
+     */
+    public void setText(String text) {
+        this.text = text;
+    }
+
+    /**
+     * Returns the text
+     *
+     * @return the text
+     */
+    public String getText() {
+        return text;
+    }
+
+    public String toString() {
+        return this.text;        
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        Description t = (Description) super.clone();
+        t.lang = this.lang;
+        t.text = this.text;
+        t.key = this.key;
+        return t;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceCollection.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletServiceCollection.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlet.service.spi.impl.descriptor;
+
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * The <code>SportletServiceCollection</code> provides a list of
+ * <code>SportletServiceDefinition</code> entries.
+ */
+public class PortletServiceCollection {
+
+    private List<PortletServiceDefinition> servicesList = new Vector<PortletServiceDefinition>();
+
+    /**
+     * Sets the list of portlet service definitions
+     *
+     * @param servicesList a <code>Vector</code> containing
+     *                     portlet service definitions
+     * @see PortletServiceDefinition
+     */
+    public void setPortletServicesList(List<PortletServiceDefinition> servicesList) {
+        this.servicesList = servicesList;
+    }
+
+    /**
+     * Returns the list of portlet service definitions
+     *
+     * @return a list containing the portlet service definitions
+     * @see PortletServiceDefinition
+     */
+    public List<PortletServiceDefinition> getPortletServicesList() {
+        return servicesList;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/PortletServiceDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletServiceDefinition.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlet.service.spi.impl.descriptor;
+
+import java.util.*;
+
+/**
+ * The <code>SportletServiceDefinition</code> defines a portlet service
+ * definition that is defined in the portlet service descripor.
+ */
+public class PortletServiceDefinition {
+
+    protected String serviceName = "";
+    protected List serviceDescriptions = new Vector();
+    protected String serviceInterface = "";
+    protected String serviceImplementation = "";
+    protected boolean userRequired = false;
+    protected List<ConfigParam> configParamList = new Vector<ConfigParam>();
+    protected Properties configProps = null;
+    protected boolean loadOnStartup = false;
+
+    /**
+     * Sets the portlet service name
+     *
+     * @param serviceName the portlet service name
+     */
+    public void setServiceName(String serviceName) {
+        this.serviceName = serviceName;
+    }
+
+    /**
+     * Returns the portlet service name
+     *
+     * @return the portlet service name
+     */
+    public String getServiceName() {
+        return this.serviceName;
+    }
+
+    /**
+     * Sets the portlet service descriptions
+     *
+     * @param serviceDescriptions the list of portlet service descriptions
+     */
+    public void setServiceDescription(List serviceDescriptions) {
+        this.serviceDescriptions = serviceDescriptions;
+    }
+
+    /**
+     * Returns the portlet service descriptions
+     *
+     * @return the portlet service descriptions
+     */
+    public List getServiceDescription() {
+        return this.serviceDescriptions;
+    }
+
+    /**
+     * Sets the portlet service interface
+     *
+     * @param serviceInterface the portlet service interface
+     */
+    public void setServiceInterface(String serviceInterface) {
+        this.serviceInterface = serviceInterface;
+    }
+
+    /**
+     * Returns the portlet service interface
+     *
+     * @return the portlet service interface
+     */
+    public String getServiceInterface() {
+        return this.serviceInterface;
+    }
+
+    /**
+     * Returns the portlet service implementation
+     *
+     * @return the portlet service implementation
+     */
+    public String getServiceImplementation() {
+        return this.serviceImplementation;
+    }
+
+    /**
+     * Sets the portlet service implementation
+     *
+     * @param serviceImplementation the portlet service implementation
+     */
+    public void setServiceImplementation(String serviceImplementation) {
+        this.serviceImplementation = serviceImplementation;
+    }
+
+    /**
+     * Determines if this service is a user service or not
+     *
+     * @param userRequired if <code>true</code> then portlet service is
+     *                     an instance of a user service, <code>false</code> otherwise
+     */
+    public void setUserRequired(boolean userRequired) {
+        this.userRequired = userRequired;
+    }
+
+    /**
+     * Determines if this service is a user service or not
+     *
+     * @return <code>true</code> if portlet service is
+     *         an instance of a user service, <code>false</code> otherwise
+     */
+    public boolean getUserRequired() {
+        return this.userRequired;
+    }
+
+    /**
+     * Sets the service configuration parameter list
+     *
+     * @param configParamList the configuration parameter list
+     */
+    public void setConfigParamList(List<ConfigParam> configParamList) {
+        this.configParamList = configParamList;
+    }
+
+    /**
+     * Returns the service configuration parameter list
+     *
+     * @return the configuration parameter list
+     */
+    public List<ConfigParam> getConfigParamList() {
+        return this.configParamList;
+    }
+
+    /**
+     * Creates a properties from the  ConfigParamList
+     *
+     * @see #getConfigParamList
+     */
+    private void createProperties() {
+        configProps = new Properties();
+        Iterator it = this.configParamList.iterator();
+        ConfigParam param;
+        while (it.hasNext()) {
+            param = (ConfigParam) it.next();
+            configProps.setProperty(param.getParamName(), param.getParamValue());
+        }
+    }
+
+    /**
+     * Return the configuration properties
+     *
+     * @return the configuration properties
+     */
+    public Properties getConfigProperties() {
+        if (configProps == null)
+            createProperties();
+        return configProps;
+    }
+
+    /**
+     * Sets the configuration properties
+     *
+     * @param props the configuration properties
+     */
+    public void setConfigProperties(Properties props) {
+        Enumeration e = props.keys();
+        if (!props.isEmpty()) {
+            configParamList = new Vector<ConfigParam>();
+        }
+        while (e.hasMoreElements()) {
+            String key = (String) e.nextElement();
+            ConfigParam param = new ConfigParam(key, props.getProperty(key));
+            configParamList.add(param);
+        }
+    }
+
+    /**
+     * Returns true if this service should be initialized on startup
+     *
+     * @return true if this service should be initialized on startup
+     */
+    public boolean isLoadOnStartup() {
+        return loadOnStartup;
+    }
+
+    /**
+     * Sets whether this service should be initialized on startup
+     *
+     * @param loadOnStartup true if this service should be initialized on startup
+     */
+    public void setLoadOnStartup(boolean loadOnStartup) {
+        this.loadOnStartup = loadOnStartup;
+    }
+
+    /**
+     * Returns a <code>String</code> representation if this portlet service
+     * definition
+     *
+     * @return the service definition as a <code>String</code>
+     */
+    public String toString() {
+        StringBuffer sb = new StringBuffer("\n");
+        sb.append("service name: ").append(serviceName).append("\n");
+        sb.append("service description: ").append(this.serviceDescriptions.get(0)).append("\n");
+        sb.append("service interface: ").append(this.serviceInterface).append("\n");
+        sb.append("service implementation: ").append(this.serviceImplementation).append("\n");
+        sb.append("user required: ").append(this.userRequired).append("\n");
+        sb.append("load on startup: ").append(this.loadOnStartup).append("\n");
+        sb.append("config properties: ");
+        Iterator it = this.configParamList.iterator();
+        ConfigParam c;
+        while (it.hasNext()) {
+            c = (ConfigParam) it.next();
+            sb.append("\tname: ").append(c.getParamName()).append("\tvalue: ").append(c.getParamValue());
+        }
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/descriptor/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Service Provider Interface (SPI) Descriptor</b>
+<p>
+The SPI implementation uses Castor for XML to Java data bindings for the
+following classes:
+<ul>
+<li>{@link org.gridsphere.portlet.service.spi.impl.descriptor.SportletServiceCollection}</li>
+<li>{@link org.gridsphere.portlet.service.spi.impl.descriptor.SportletServiceDefinition}</li>
+<li>{@link org.gridsphere.portlet.service.spi.impl.descriptor.SportletServiceDescriptor}</li>
+</ul>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/impl/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Service Provider Interface (SPI) API Implementation</b>
+<p>
+The SPI implementation uses Castor for XML to Java data bindings.
+<p>
+The key interfaces included in the SPI API are:
+<ul>
+<li>{@link org.gridsphere.portlet.service.spi.PortletServiceFactory}
+ - provides a service factory interface</li>
+<li>{@link org.gridsphere.portlet.service.spi.PortletServiceConfig}
+ - provides a service configuration interface</li>
+ <li>{@link org.gridsphere.portlet.service.spi.PortletServiceProvider}
+ - provides a service provider interface for service initialization and shutdown</li>
+</ul>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlet/service/spi/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Service Provider Interface (SPI) API</b>
+<p>
+All interfaces in this Service Provider Interface (SPI) package are
+needed by all implementations of services.
+<p>
+The key interfaces included in the SPI API are:
+<ul>
+<li>{@link org.gridsphere.portlet.service.spi.PortletServiceFactory}
+ - provides a service factory interface</li>
+<li>{@link org.gridsphere.portlet.service.spi.PortletServiceConfig}
+ - provides a service configuration interface</li>
+ <li>{@link org.gridsphere.portlet.service.spi.PortletServiceProvider}
+ - provides a service provider interface for service initialization and shutdown</li>
+ </ul>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/ApplicationPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/ApplicationPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/ApplicationPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+package org.gridsphere.portletcontainer;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.portlet.PortalContext;
+import javax.portlet.Portlet;
+import javax.portlet.PortletMode;
+import java.util.Locale;
+import java.util.List;
+import java.util.SortedSet;
+import java.util.Set;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface ApplicationPortlet {
+
+    public String getWebApplicationName();
+
+    public String getApplicationPortletID();
+
+    public PortletDispatcher getPortletDispatcher(HttpServletRequest req, HttpServletResponse res);
+
+    public String getApplicationPortletName();
+
+    public String getApplicationPortletClassName();
+
+    public PortalContext getPortalContext();
+
+    public String getPortletDescription(Locale locale);
+
+    public String getPortletDisplayName(Locale locale);
+
+    public int getExpirationCache();
+
+    public Locale[] getSupportedLocales();
+
+    public PortletPreferencesManager getPortletPreferencesManager(String portletId, String userId, boolean isRender);
+
+    public Portlet getPortletInstance();
+
+    public void setApplicationPortletStatus(PortletStatus status);
+
+    public void setApplicationPortletStatusMessage(String statusMessage);
+
+    public PortletStatus getApplicationPortletStatus();
+
+    public String getApplicationPortletStatusMessage();
+
+    public String getPortletName();
+
+    public List<javax.portlet.WindowState> getAllowedWindowStates();
+
+    public Set<String> getSupportedModes(String markup);
+
+    public SortedSet<String> getSupportedMimeTypes(PortletMode mode);
+
+    public long getCacheExpires();
+
+    public String getConcretePortletID();
+
+    public String getDefaultLocale();
+
+    public String getDescription(Locale loc);
+
+    public String getDisplayName(Locale loc);
+
+    public String getRequiredRole();
+
+    public void setRequiredRole(String role);
+
+    public void save() throws IOException;
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/Client.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/Client.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/Client.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: Client.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer;
+
+/**
+ * The <code>Client</code> interface represents the client device that the user connects to the portal with.
+ * It defines methods to obtain information about clients, e.g. browsers running on PCs, WAP phones, PDAs etc.
+ */
+public interface Client {
+
+    /**
+     * Returns the name of the manufacturer of this client, or null if the name is not available.
+     *
+     * @return the manufacturer
+     */
+    public String getManufacturer();
+
+    /**
+     * Returns the name of the model of this client, or null if the name is not available.
+     *
+     * @return the model
+     */
+    public String getModel();
+
+    /**
+     * Returns the version of the model of this client, or null if the version is not available.
+     *
+     * @return the version
+     */
+    public String getVersion();
+
+    /**
+     * Returns the exact user agent that this client uses to identify itself to the portal.
+     * If the client does not send a user agent, this method returns null.
+     *
+     * @return the user agent
+     */
+    public String getUserAgent();
+
+    /**
+     * Returns the preferred mime-type that this client device supports.
+     *
+     * @return the mime-type
+     */
+    public String getMimeType();
+
+    /**
+     * Returns the preferred markup name that this client device supports.
+     *
+     * @return the name of the markup
+     */
+    public String getMarkupName();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletAction.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletAction.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletAction.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: DefaultPortletAction.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portletcontainer;
+
+import java.io.Serializable;
+
+/**
+ * The <code>DefaultPortletAction</code> is a portlet action with default parameters.
+ * You can use this portlet action to pass parameters in your action or create your own portlet action.
+ * This default implementation demonstrates how to implement it.
+ */
+public final class DefaultPortletAction extends DefaultPortletPhase implements Serializable {
+
+    public static final String DEFAULT_PORTLET_ACTION = "gs_action";
+
+    /**
+     * Constructs an instance of DefaultPortletAction with the provided name
+     *
+     * @param name the name of this action
+     */
+    public DefaultPortletAction(String name) {
+        super(name);
+    }
+
+
+    public String toString() {
+        return super.toString(DEFAULT_PORTLET_ACTION);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletPhase.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletPhase.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletPhase.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+package org.gridsphere.portletcontainer;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * The <code>DefaultPortletAction</code> is a portlet action with default parameters.
+ * You can use this portlet action to pass parameters in your action or create your own portlet action.
+ * This default implementation demonstrates how to implement it.
+ */
+public abstract class DefaultPortletPhase implements Serializable {
+
+    protected Map<String, String> store = new HashMap<String, String>();
+    protected String name;
+
+    /**
+     * Constructs an instance of DefaultPortletPhase with the provided name
+     *
+     * @param name the name of the phase
+     */
+    public DefaultPortletPhase(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the name of this action
+     *
+     * @return the name of this action
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Adds a parameters to this action
+     *
+     * @param name  the name of the parameter
+     * @param value the value of the parameter
+     */
+    public void addParameter(String name, String value) {
+        store.put(name, value);
+    }
+
+    /**
+     * Returns parameter value given a supplied name
+     *
+     * @param name the parameter name
+     * @return all parameters as a map
+     */
+    public String getParameter(String name) {
+        return (String) store.get(name);
+    }
+
+    /**
+     * Returns all parameters
+     *
+     * @return all parameters as a map
+     */
+    public Map getParameters() {
+        return store;
+    }
+
+    /**
+     * Sets all parameters
+     *
+     * @param store the parameters as a map
+     */
+    public void setParameters(Map<String, String> store) {
+        this.store = store;
+    }
+
+    /**
+     * Tests the equality of another DefaultPortletAction object
+     *
+     * @return <code>true</code> if they are equal, <code>false</code> otherwise
+     */
+    public boolean equals(Object obj) {
+        return ((obj != null) && ((DefaultPortletPhase) obj).getName().equals(this.getName()));
+    }
+
+    public int hashCode() {
+        return name.hashCode();
+    }
+
+    public String toString(String phase) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append(phase).append("=");
+        buffer.append(name);
+        Object[] parameterNames = store.keySet().toArray();
+        for (int i = 0; i < parameterNames.length; i++) {
+            String parameterName = (String) parameterNames[i];
+            String parameterValue = store.get(parameterName);
+            buffer.append("&amp;"); // special character replaced with its corresponding entity for XHTML 1.0 Strict compliance
+            buffer.append(parameterName);
+            buffer.append("=");
+            buffer.append(parameterValue);
+        }
+        return buffer.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletRender.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletRender.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/DefaultPortletRender.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+package org.gridsphere.portletcontainer;
+
+import java.io.Serializable;
+
+/**
+ * The <code>DefaultPortletRender</code> is a render event with default parameters.
+ */
+public final class DefaultPortletRender extends DefaultPortletPhase implements Serializable {
+
+    public static final String DEFAULT_PORTLET_RENDER = "gs_render";
+
+    /**
+     * Constructs an instance of DefaultPortletRender with the provided name
+     *
+     * @param name the name of the render event
+     */
+    public DefaultPortletRender(String name) {
+        super(name);
+    }
+
+    public String toString() {
+        return super.toString(DEFAULT_PORTLET_RENDER);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/GridSphereEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/GridSphereEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/GridSphereEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: GridSphereEvent.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portletcontainer;
+
+import org.gridsphere.layout.event.PortletComponentEvent;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * A <code>GridSphereEvent</code> represents a general portlet container
+ * event. The <code>GridSphereEvent</code> is passed into components that
+ * need to access the <code>PortletRequest</code>
+ * <code>PortletResponse</code> objects, such as the layout components.
+ */
+public interface GridSphereEvent {
+
+    /**
+     * Return the portlet context associated with this event
+     *
+     * @return the portlet context associated with this event
+     */
+    public PortletContext getPortletContext();
+
+    public HttpServletRequest getHttpServletRequest();
+
+    public HttpServletResponse getHttpServletResponse();
+
+    public RenderRequest getRenderRequest();
+
+    public RenderResponse getRenderResponse();
+
+    public ActionRequest getActionRequest();
+
+    public ActionResponse getActionResponse();
+
+    /**
+     * Return the portlet action event
+     *
+     * @return the portlet action event
+     */
+    public DefaultPortletAction getAction();
+
+    /**
+     * Return the portlet render event
+     *
+     * @return the portlet render event
+     */
+    public DefaultPortletRender getRender();
+
+    /**
+     * Determines if there is an action associated with this event
+     *
+     * @return <code>true</code> if there is an action associated with this
+     *         event, <code>false</code> otherwise
+     */
+    public boolean hasAction();
+
+    /**
+     * Returns the layout component id associated with this page and event
+     *
+     * @return the layout component id or empty String if none exists
+     */
+    public String getComponentID();
+
+    /**
+     * Returns the page layout id associated with this event
+     *
+     * @return page layout id or empty String if none exists
+     */
+    public String getLayoutID();
+
+    public void addNewRenderEvent(PortletComponentEvent evt);
+
+
+    public PortletComponentEvent getLastRenderEvent();
+
+    /**
+     * Returns an object representing the client device that the user connects
+     * to the portal with.
+     *
+     * @return the client device
+     */
+    public Client getClient();
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcher.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcher.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcher.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+package org.gridsphere.portletcontainer;
+
+import org.gridsphere.layout.event.PortletWindowEvent;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletDispatcher.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public interface PortletDispatcher {
+
+    /**
+     * Called by the portlet container to indicate to this portlet that it is put into service.
+     * <p/>
+     * The portlet container calls the init() method for the whole life-cycle of the portlet.
+     * The init() method must complete successfully before concrete portlets are created through
+     * the initConcrete() method.
+     * <p/>
+     * The portlet container cannot place the portlet into service if the init() method
+     * <p/>
+     * 1. throws UnavailableException
+     * 2. does not return within a time period defined by the portlet container.
+     *
+     * @param req the servlet request
+     * @param res the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void init(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Called by the portlet container to indicate to this portlet that it is taken out of service.
+     * This method is only called once all threads within the portlet's service() method have exited
+     * or after a timeout period has passed. After the portlet container calls this method,
+     * it will not call the service() method again on this portlet.
+     * <p/>
+     * This method gives the portlet an opportunity to clean up any resources that are
+     * being held (for example, memory, file handles, threads).
+     *
+     * @param req the servlet request
+     * @param res the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void destroy(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Called by the portlet container to ask this portlet to generate its markup using the given
+     * request/response pair. Depending on the mode of the portlet and the requesting client device,
+     * the markup will be different. Also, the portlet can take language preferences and/or
+     * personalized settings into account.
+     *
+     * @param render the default portlet render
+     * @param req    the servlet request
+     * @param res    the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void service(DefaultPortletRender render, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Performs a portlet login dispatch request.
+     *
+     * @param req the servlet request
+     * @param res the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void login(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Performs a portlet logout dispatch request.
+     *
+     * @param req the servlet request
+     * @param res the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void logout(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Called by the portlet container to ask this portlet to perform the required operational logic
+     * using the given portlet request.
+     * Notifies this listener that the action which the listener is watching for has been performed.
+     *
+     * @param action the default portlet action
+     * @param req    the servlet request
+     * @param res    the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void actionPerformed(DefaultPortletAction action, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Called by the portlet container to render the portlet title.
+     * The information in the portlet request (like locale, client, and session information) can
+     * but doesn't have to be considered to render dynamic titles.. Examples are
+     * <p/>
+     * language-dependant titles for multi-lingual portals
+     * shorter titles for WAP phones
+     * the number of messages in a mailbox portlet
+     * The session may be null, if the user is not logged in.
+     *
+     * @param req the servlet request
+     * @param res the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void doTitle(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Notifies this listener that a portlet window has been maximized.
+     *
+     * @param event the window event
+     * @param req   the servlet request
+     * @param res   the servlet response
+     * @throws PortletDispatcherException if an exception has occurrred during dispatching
+     */
+    public void windowEvent(PortletWindowEvent event, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcherException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcherException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletDispatcherException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @version $Id: PortletException.java 4670 2006-03-27 17:56:20Z novotny $
+*/
+package org.gridsphere.portletcontainer;
+
+import javax.servlet.ServletException;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+/**
+ * The <code>PortletException</code> class defines a general exception that a
+ * portlet can throw when it encounters an exceptional condition.
+ */
+public class PortletDispatcherException extends ServletException {
+
+    private Throwable cause = null;
+    private String text = "";
+
+    /**
+     * Constructs an instance of PortletException
+     */
+    public PortletDispatcherException() {
+        super();
+    }
+
+    /**
+     * Constructs an instance of PortletException with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param text the exception text
+     */
+    public PortletDispatcherException(String text) {
+        super(text);
+        this.text = text;
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public PortletDispatcherException(String text, Throwable cause) {
+        super(text, cause);
+        this.text = text;
+        this.cause = cause;
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an exception.
+     * The exception's message is based on the localized message of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+    public PortletDispatcherException(Throwable cause) {
+        super(cause);
+        this.cause = cause;
+        text = cause.getMessage();
+    }
+
+    /**
+     * Return the exception message
+     *
+     * @return the exception message
+     */
+    public String getMessage() {
+        return text;
+    }
+
+    public Throwable getCause() {
+        return ((cause != null) ? cause.getCause() : null);
+    }
+
+    public void printStackTrace() {
+        if (cause != null) {
+            cause.printStackTrace();
+        }
+    }
+
+    public void printStackTrace(PrintStream ps) {
+        if (text != null) ps.println(text);
+        if (cause != null) {
+            ps.println("Caused by:");
+            cause.printStackTrace(ps);
+        }
+    }
+
+    public void printStackTrace(PrintWriter pw) {
+        if (text != null) pw.println(text);
+        if (cause != null) {
+            pw.println("Caused by:");
+            cause.printStackTrace(pw);
+        }
+    }
+
+    /**
+     * Returns the exception that caused this servlet exception.
+     *
+     *
+     * @return                  the <code>Throwable</code>
+     *                          that caused this servlet exception
+     *
+     */
+
+    public Throwable getRootCause() {
+        return cause;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletPreferencesManager.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletPreferencesManager.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletPreferencesManager.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+package org.gridsphere.portletcontainer;
+
+import javax.portlet.PortletPreferences;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface PortletPreferencesManager {
+
+    public void setPortletId(String portletId);
+
+    public void setUserId(String userId);
+
+    public void setRender(boolean isRender);
+
+    public PortletPreferences getPortletPreferences();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletSessionListener.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletSessionListener.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletSessionListener.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletSessionListener.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+/**
+ * The <code>PortletSessionListener</code> provides an interface for performing
+ * login and logout functionality.
+ */
+public interface PortletSessionListener {
+
+    /**
+     * Called by the portlet container to ask the portlet to initialize a
+     * personalized user experience. In addition to initializing the session
+     * this method allows the portlet to initialize the concrete portlet
+     * instance, for example, to store attributes in the session.
+     *
+     * @param request the portlet request
+     */
+    public void login(HttpServletRequest request);
+
+    /**
+     * Called by the portlet container to indicate that a concrete portlet instance is being removed.
+     * This method gives the concrete portlet instance an opportunity to clean up any resources
+     * (for example, memory, file handles, threads), before it is removed.
+     * This happens if the user logs out, or decides to remove this portlet from a page.
+     *
+     * @param session the portlet session
+     */
+    public void logout(HttpSession session);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletStatus.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletStatus.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletStatus.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+package org.gridsphere.portletcontainer;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class PortletStatus {
+
+    public static PortletStatus SUCCESS = new PortletStatus("success");
+
+    public static PortletStatus FAILURE = new PortletStatus("failure");
+
+    private String status;
+
+    private PortletStatus(String status) {
+        this.status = status;
+    }
+
+    public boolean equals(Object o) {
+        if ((o != null) && (o instanceof PortletStatus)) {
+            return (this.status.equals(((PortletStatus) o).toString()));
+        }
+        return false;
+    }
+
+    public String toString() {
+        return status;
+    }
+    public int hashCode() {
+        return status.hashCode();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletWebApplication.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletWebApplication.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/PortletWebApplication.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletWebApplication.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer;
+
+import java.util.Collection;
+
+/**
+ * A <code>PortletWebApplication</code> represents a collection of portlets contained in a packaged WAR file. Currently
+ * under development is the notion of dynamically managing portlet web applications.
+ */
+public interface PortletWebApplication {
+
+    /**
+     * Under development. A portlet web application can unregister itself from the application server
+     */
+    public void destroy();
+
+    /**
+     * Returns the portlet web application name
+     *
+     * @return the portlet web application name
+     */
+    public String getWebApplicationName();
+
+    /**
+     * Returns the portlet web application description
+     *
+     * @return the portlet web application description
+     */
+    public String getWebApplicationDescription();
+
+    /**
+     * Returns the collection of application portlets contained by this portlet web application
+     *
+     * @return the collection of application portlets
+     */
+    public Collection<ApplicationPortlet> getAllApplicationPortlets();
+
+    public PortletStatus getWebApplicationStatus();
+
+    public String getWebApplicationStatusMessage();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ApplicationPortletImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,546 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: JSRApplicationPortletImpl.java 4985 2006-08-04 09:54:28Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.PortalContextImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletDispatcher;
+import org.gridsphere.portletcontainer.PortletPreferencesManager;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.portletcontainer.impl.descriptor.*;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+
+import javax.portlet.PortalContext;
+import javax.portlet.Portlet;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.*;
+
+/**
+ * The <code>ApplicationPortletImpl</code> is an implementation of the <code>ApplicationPortlet</code> interface
+ * that uses Castor for XML to Java data bindings.
+ * <p/>
+ * The <code>ApplicationPortlet</code> represents the portlet application instance
+ * defined in the portlet descriptor file.
+ */
+public class ApplicationPortletImpl implements ApplicationPortlet, Comparable {
+
+    private Log log = LogFactory.getLog(ApplicationPortletImpl.class);
+    private PortletDefinition portletDef = null;
+
+    private String portletClassName = null;
+    private String webAppName = null;
+
+    private Locale compareLocale = null;
+
+    private Portlet portletInstance = null;
+
+    private ServletContext context = null;
+    private PortalContext portalContext = null;
+    private javax.portlet.PreferencesValidator prefsValidator = null;
+
+    private int expiration = 0;
+
+    private Map<String, Set<String>> markupModes = new HashMap<String, Set<String>>();
+    private List<javax.portlet.WindowState> states = new ArrayList<javax.portlet.WindowState>();
+
+    private PortletDeploymentDescriptor portletDD = null;
+    private String concreteID = null;
+    private String portletName = null;
+
+    private Locale[] supportedLocales = null;
+    private Map<String, String> descsMap = null;
+    private Map<String, String> dispsMap = null;
+    private String requiredRole = "";
+
+    protected PortletStatus status = PortletStatus.SUCCESS;
+    protected String statusMessage = "JSR Portlet loaded successfully";
+
+    protected PortletPreferencesManager prefsManager = null;
+
+    /**
+     * Default constructor is private
+     */
+    protected ApplicationPortletImpl() {
+    }
+
+    /**
+     * Constructs an instance of ApplicationPortletImpl
+     *
+     * @param pdd            the <code>PortletDeploymentDescriptor</code>
+     * @param portletDef     the portlet definition
+     * @param webApplication the ui application name for this application portlet
+     * @param context        the <code>ServletContext</code> containing this application portlet
+     */
+    public ApplicationPortletImpl(PortletDeploymentDescriptor pdd, PortletDefinition portletDef, String webApplication, ServletContext context) {
+        this.portletDef = portletDef;
+        this.webAppName = webApplication;
+        this.portletClassName = portletDef.getPortletClass().getContent();
+        this.portletName = portletDef.getPortletName().getContent();
+        this.context = context;
+        PortletApp portletApp = pdd.getPortletWebApplication();
+
+        SupportedLocale[] locales = portletDef.getSupportedLocale();
+        supportedLocales = new Locale[locales.length];
+        for (int i = 0; i < locales.length; i++) {
+            supportedLocales[i] = new Locale(locales[i].getContent());
+        }
+
+        // create portal context
+        portalContext = new PortalContextImpl(pdd.getPortletWebApplication());
+
+        portletName = portletDef.getPortletName().getContent();
+        concreteID = webAppName + "#" + portletName;
+
+        // supported locales
+        supportedLocales = new Locale[portletDef.getSupportedLocaleCount()];
+        SupportedLocale[] suppLocs = portletDef.getSupportedLocale();
+        for (int i = 0; i < suppLocs.length; i++) {
+            supportedLocales[i] = new Locale(suppLocs[i].getContent(), "", "");
+        }
+
+        // portlet descriptions
+        Description[] descs = portletDef.getDescription();
+        descsMap = new HashMap<String, String>();
+        for (int i = 0; i < descs.length; i++) {
+            descsMap.put(descs[i].getLang(), descs[i].getContent());
+        }
+
+        // portlet display names
+        DisplayName[] disps = portletDef.getDisplayName();
+        dispsMap = new HashMap<String, String>();
+        for (int i = 0; i < disps.length; i++) {
+            dispsMap.put(disps[i].getLang(), disps[i].getContent());
+        }
+
+        // get required role
+        SecurityRoleRef[] secRoleRef = portletDef.getSecurityRoleRef();
+        for (int i = 0; i < secRoleRef.length; i++) {
+            requiredRole = secRoleRef[i].getRoleName().getContent();
+        }
+
+        //String id = portletDef.getPortletClass().getContent();
+        this.portletName = portletDef.getPortletName().getContent();
+        if (portletDef.getExpirationCache() != null) {
+            expiration = portletDef.getExpirationCache().getContent();
+        }
+
+        Supports[] supports = portletDef.getSupports();
+        // defined portlet modes
+        for (int i = 0; i < supports.length; i++) {
+            Set<String> modesAllowed = new HashSet<String>();
+            Supports s = (Supports) supports[i];
+            org.gridsphere.portletcontainer.impl.descriptor.PortletMode[] modes = (org.gridsphere.portletcontainer.impl.descriptor.PortletMode[]) s.getPortletMode();
+            for (int j = 0; j < modes.length; j++) {
+                org.gridsphere.portletcontainer.impl.descriptor.PortletMode m = modes[j];
+                modesAllowed.add(m.getContent());
+            }
+            modesAllowed.add(javax.portlet.PortletMode.VIEW.toString());
+            String mimeType = (String) s.getMimeType().getContent();
+
+            markupModes.put(mimeType, modesAllowed);
+
+        }
+
+        List<String> customStatesList = new ArrayList<String>();
+        CustomWindowState[] customStates = portletApp.getCustomWindowState();
+        if (customStates != null) {
+            for (int i = 0; i < customStates.length; i++) {
+                customStatesList.add(customStates[i].getWindowState().getContent());
+            }
+        }
+
+        // defined window states
+        if (!customStatesList.isEmpty()) {
+            for (int i = 0; i < supports.length; i++) {
+                Supports s = (Supports) supports[i];
+                org.gridsphere.portletcontainer.impl.descriptor.WindowState[] statesAllowed = (org.gridsphere.portletcontainer.impl.descriptor.WindowState[]) s.getWindowState();
+                if (statesAllowed != null) {
+                    for (int j = 0; j < statesAllowed.length; j++) {
+                        org.gridsphere.portletcontainer.impl.descriptor.WindowState w = statesAllowed[j];
+                        if (customStatesList.contains(w.getContent()))
+                            states.add(new javax.portlet.WindowState(w.getContent()));
+                    }
+                }
+            }
+        }
+        states.add(javax.portlet.WindowState.MAXIMIZED);
+        states.add(javax.portlet.WindowState.MINIMIZED);
+        states.add(javax.portlet.WindowState.NORMAL);
+
+
+        org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences prefDesc = portletDef.getPortletPreferences();
+        if (prefDesc != null) {
+            org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator validator = prefDesc.getPreferencesValidator();
+            if (validator != null) {
+                String validatorClass = validator.getContent();
+                if (validatorClass != null) {
+                    try {
+                        prefsValidator = (javax.portlet.PreferencesValidator) Class.forName(validatorClass).newInstance();
+                    } catch (Exception e) {
+                        log.error("Unable to create validator: " + validatorClass + "! ", e);
+                    }
+                }
+            }
+        }
+
+        prefsManager = new PortletPreferencesManagerImpl(prefDesc, prefsValidator);
+
+    }
+
+    /**
+     * Return the web application name associated with this application portlet
+     *
+     * @return the web application name
+     */
+    public String getWebApplicationName() {
+        return webAppName;
+    }
+
+    /**
+     * Returns the id of a PortletApplication
+     *
+     * @return the id of the PortletApplication
+     */
+    public String getApplicationPortletID() {
+        return webAppName + "#" + portletName;
+    }
+
+    /**
+     * Returns a PortletDispatcher for this ApplicationPortlet
+     *
+     * @return PortletDispatcher the proxy portlet for this ApplicationPortlet
+     */
+    public PortletDispatcher getPortletDispatcher(HttpServletRequest req, HttpServletResponse res) {
+
+        //System.err.println("in getPortletDispatcher: cid=" + req.getAttribute(SportletProperties.COMPONENT_ID));
+        String cid = (String) req.getAttribute(SportletProperties.COMPONENT_ID);
+        String pid = (String) req.getAttribute(SportletProperties.PORTLETID);
+        // TODO fix my hack to get any render params and pass them as queryInfo to the portlet
+        Map params = (Map) req.getAttribute(SportletProperties.RENDER_PARAM_PREFIX + pid + "_" + cid);
+        StringBuffer extraInfo = new StringBuffer();
+
+        //System.err.println("Dispatching: Looking for render params for " + SportletProperties.RENDER_PARAM_PREFIX + pid + "_" + cid);
+        if (params == null) {
+            params = new HashMap();
+        }
+
+        //params.put(SportletProperties.COMPONENT_ID, cid);
+        boolean firstParam = true;
+
+        Iterator it = params.keySet().iterator();
+        try {
+            while (it.hasNext()) {
+                if (!firstParam) {
+                    extraInfo.append("&");
+                } else {
+                    extraInfo.append("?");
+                }
+                String name = (String) it.next();
+
+                // Render parameters that are passed on from the portlet frame are persistent across client requests
+                // They are render param names already prefixed. We prefix them again so are can be selectively retrieved
+                // in the nasty request parameter filter GridSphereParameters
+
+                String encname = URLEncoder.encode("pr_" + name, "UTF-8");
+                //String encname = URLEncoder.encode(name, "UTF-8");
+
+                Object val = params.get(name);
+                if (val instanceof String[]) {
+                    String[] vals = (String[]) val;
+                    for (int j = 0; j < vals.length - 1; j++) {
+                        String encvalue = URLEncoder.encode(vals[j], "UTF-8");
+                        extraInfo.append(encname);
+                        extraInfo.append("=");
+                        extraInfo.append(encvalue);
+                        extraInfo.append("&");
+                    }
+                    String encvalue = URLEncoder.encode(vals[vals.length - 1], "UTF-8");
+                    extraInfo.append(encname);
+                    extraInfo.append("=");
+                    extraInfo.append(encvalue);
+                } else if (val instanceof String) {
+                    String aval = (String) params.get(name);
+                    if ((aval != null) && (!aval.equals(""))) {
+                        String encvalue = URLEncoder.encode(aval, "UTF-8");
+                        extraInfo.append(encname);
+                        extraInfo.append("=");
+                        extraInfo.append(encvalue);
+                    } else {
+                        extraInfo.append(encname);
+                    }
+                }
+                firstParam = false;
+            }
+        } catch (UnsupportedEncodingException e) {
+            log.error("Unsupported encoding!", e);
+        }
+
+        // before it adds ".1" to real webappName
+        //String realWebAppName = webAppName.substring(0, webAppName.length() - 2);
+
+        //System.err.println("in getPortletDispatcher of jsr query string " + "/jsr/" + webAppName  + extraInfo);
+        // TODO change dangerously hardcoded value!!!
+        RequestDispatcher rd = context.getRequestDispatcher("/jsr/" + webAppName + extraInfo.toString());
+        //RequestDispatcher rd = context.getNamedDispatcher(servletName);
+
+        if (rd == null) {
+            String msg = "Unable to create a dispatcher for portlet: " + portletName + "\n";
+            msg += "Make sure the servlet mapping: /jsr/" + webAppName + " is defined in web.xml";
+            log.error(msg);
+        }
+        return new PortletDispatcherImpl(rd);
+    }
+
+    /**
+     * Returns the name of a PortletApplication
+     *
+     * @return name of the PortletApplication
+     */
+    public String getApplicationPortletName() {
+        return portletName;
+    }
+
+    public String getApplicationPortletClassName() {
+        return portletClassName;
+    }
+
+    public PortalContext getPortalContext() {
+        return portalContext;
+    }
+
+    public String getPortletDescription(Locale locale) {
+        if (locale == null) throw new IllegalArgumentException("supplied locale cannot be null!");
+        Description[] descs = portletDef.getDescription();
+        for (int i = 0; i < descs.length; i++) {
+            if (descs[i].getLang().equals(locale.getLanguage())) {
+                return descs[i].getContent();
+            }
+        }
+        return "Unknown portlet description";
+    }
+
+    public String getPortletDisplayName(Locale locale) {
+        if (locale == null) throw new IllegalArgumentException("supplied locale cannot be null!");
+        DisplayName[] dispNames = portletDef.getDisplayName();
+        for (int i = 0; i < dispNames.length; i++) {
+            if (dispNames[i].getLang().equals(locale.getLanguage())) {
+                return dispNames[i].getContent();
+            }
+        }
+        return "Unknown portlet display name";
+    }
+
+    public int getExpirationCache() {
+        return portletDef.getExpirationCache().getContent();
+    }
+
+    public Locale[] getSupportedLocales() {
+        return supportedLocales;
+    }
+
+    public SecurityRoleRef[] getSecurityRoleRefs() {
+        return portletDef.getSecurityRoleRef();
+    }
+
+    public PortletPreferencesManager getPortletPreferencesManager(String portletId, String userId, boolean isRender) {
+        prefsManager.setPortletId(portletId);
+        prefsManager.setUserId(userId);
+        prefsManager.setRender(isRender);
+        return prefsManager;
+    }
+
+    public Portlet getPortletInstance() {
+        return portletInstance;
+    }
+
+    public void setApplicationPortletStatus(PortletStatus status) {
+        this.status = status;
+    }
+
+    public void setApplicationPortletStatusMessage(String statusMessage) {
+        this.statusMessage = statusMessage;
+    }
+
+    public PortletStatus getApplicationPortletStatus() {
+        return status;
+    }
+
+    public String getApplicationPortletStatusMessage() {
+        return statusMessage;
+    }
+
+    /**
+     * Returns the portlet application name
+     *
+     * @return the portlet application name
+     */
+    public String getPortletName() {
+        return portletName;
+    }
+
+    /**
+     * Sets the name of a PortletApplication
+     *
+     * @param portletName name of a PortletApplication
+     */
+    public void setPortletName(String portletName) {
+        this.portletName = portletName;
+    }
+
+    /**
+     * Returns the allowed window states supported by this portlet
+     *
+     * @return the <code>List</code> of
+     *         <code>WindowState</code> elements allowed for this portlet
+     */
+    public List<javax.portlet.WindowState> getAllowedWindowStates() {
+        return Collections.unmodifiableList(states);
+    }
+
+    /**
+     * Returns the supported modes for this portlet
+     *
+     * @return the supported modes for this portlet
+     */
+    public Set<String> getSupportedModes(String markup) {
+        if (markup == null) throw new IllegalArgumentException("Supplied markup cannot be null!");
+        for (String mimeType : markupModes.keySet()) {
+            int idx1 = mimeType.indexOf(markup);
+            int idx2 = markup.indexOf(mimeType);
+            if ((idx1 > 0) || (idx2 > 0) || (mimeType.equalsIgnoreCase(markup))) {
+                return markupModes.get(mimeType);
+            }
+        }
+        return new TreeSet<String>();
+    }
+
+    public SortedSet<String> getSupportedMimeTypes(javax.portlet.PortletMode mode) {
+        if (mode == null) throw new IllegalArgumentException("Supplied mode cannot be null!");
+        SortedSet<String> mimeTypes = new TreeSet<String>();
+        for (String mimeType : markupModes.keySet()) {
+            Set modes = markupModes.get(mimeType);
+            if (modes.contains(mode.toString())) {
+                mimeTypes.add(mimeType);
+            }
+        }
+        return mimeTypes;
+    }
+
+    /**
+     * returns the amount of time in seconds that a portlet's content should be cached
+     *
+     * @return the amount of time in seconds that a portlet's content should be cached
+     */
+    public long getCacheExpires() {
+        return expiration;
+    }
+
+    /**
+     * Returns the concrete portlet id
+     *
+     * @return the concrete portlet id
+     */
+    public String getConcretePortletID() {
+        return concreteID;
+    }
+
+    /**
+     * Returns the default/supported locale of a portlet
+     *
+     * @return the default locale of the portlet
+     */
+    public String getDefaultLocale() {
+        return supportedLocales[0].getLanguage();
+    }
+
+    public String getDescription(Locale loc) {
+        String desc = (String) descsMap.get(loc.getLanguage());
+        if (desc == null) {
+            desc = portletName;
+        }
+        return desc;
+    }
+
+    public String getDisplayName(Locale loc) {
+        String disp = (String) dispsMap.get(loc.getLanguage());
+        if (disp == null) {
+            disp = portletName;
+        }
+        return disp;
+    }
+
+    /**
+     * Returns the required portlet role necessary to access this portlet
+     *
+     * @return the required portlet role necessary to access this portlet
+     */
+    public String getRequiredRole() {
+        return requiredRole;
+    }
+
+    /**
+     * Sets the required portlet role necessary to access this portlet
+     *
+     * @param role the required portlet role necessary to access this portlet
+     */
+    public void setRequiredRole(String role) {
+        this.requiredRole = role;
+    }
+
+
+    /**
+     * Saves any concrete portlet changes to the descriptor
+     *
+     * @throws java.io.IOException if an I/O error occurs
+     */
+    public void save() throws IOException {
+        try {
+            portletDD.save();
+        } catch (PersistenceManagerException e) {
+            throw new IOException("Unable to save JSR concrete portlet: " + e.getMessage());
+        }
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\t JSR Application Portlet:\n");
+        sb.append("\t JSR Portlet Name: ").append(portletName).append("\n");
+        sb.append("\t Web app name: ").append(webAppName).append("\n");
+        sb.append("\t concrete ID: ").append(concreteID).append("\n");
+        sb.append("\t Status: ").append(status).append("\n");
+        sb.append("\t Status message: ").append(statusMessage).append("\n");
+        /*
+        if (portletDispatcher == null) {
+            sb.append("\t Portlet dispatcher: NULL");
+        } else {
+            sb.append("\t Portlet dispatcher: OK");
+        }
+        */
+        return sb.toString();
+    }
+
+    public void setCompareLocale(Locale loc) {
+        compareLocale = loc;
+    }
+
+    public int compareTo(Object o) {
+        ApplicationPortletImpl otherApplicationPortlet = (ApplicationPortletImpl) o;
+        if (compareLocale == null)
+            return (this.getWebApplicationName() + " - " + getDisplayName(new Locale(getDefaultLocale()))).
+                    compareToIgnoreCase(otherApplicationPortlet.getWebApplicationName() + " - " + otherApplicationPortlet.getDisplayName(new Locale(getDefaultLocale())));
+        else
+            return (this.getWebApplicationName() + " - " + getDisplayName(compareLocale)).compareToIgnoreCase(
+                    otherApplicationPortlet.getWebApplicationName() + " - " + (otherApplicationPortlet.getDisplayName(compareLocale)));
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ClientImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ClientImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/ClientImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,204 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ClientImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.gridsphere.portletcontainer.Client;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.Serializable;
+
+/**
+ * The <code>ClientImpl</code> class represents the client device that the user
+ * connects to the portal with. It defines methods to obtain information about
+ * clients, e.g. browsers running on PCs, WAP phones, PDAs etc.
+ */
+public class ClientImpl implements Client, Serializable {
+
+    public static final String[] MIME_TYPES = {"text/html", "text/vnd.wap.wml"};
+    public static final String[] MARKUP_TYPES = {"html", "wml", "chtml"};
+    public static final String[] MANUFACTURER_NAMES = {"opera", "netscape", "mozilla", "IE","4thpass","Alcatel","BlackBerry","jBrowser","M3Gate","Motorola","Sony","Nokia","Panasonic","Philips","Sagem","Samsung","Siemens","SonyEricsson","WinWAP"};
+    public static final String[] WAP_IDENTIFIER = {"4thpass","Alcatel-","BlackBerry/","jBrowser","M3GATE/","MOT-","Sony CMD","Nokia","Panasonic","PHILIPS","SAGEM-","SAMSUNG-","SIE-","SonyEricsson","WinWAP"};
+    private String manufacturer = null;
+    private String model = null;
+    private String version = null;
+    private String userAgent = null;
+    private String mimeType = null;
+    private String markupName = null;
+
+    /**
+     * Constructs an instance of ClientImpl from a servlet request
+     *
+     * @param req an <code>HttpServletRequest</code>
+     */
+    public ClientImpl(HttpServletRequest req) {
+        // get the user-agent string containg client browser information
+        userAgent = req.getHeader("user-agent");
+        //System.err.println("User-agent: " + userAgent);
+        // parse it!
+        // below are Mac OS X
+        // Netscape 6.2: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:0.9.4.1) Gecko/20020315 Netscape6/6.2.2
+        // Netscape 7.0: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0
+        // IE 5.2:       Mozilla/4.0 (compatible; MSIE 5.22; Mac_PowerPC)
+        // Mozilla 1.0:  Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20020826
+        // Opera 6.0b2:  Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0  [en]
+
+        // Compaq IPAQ: Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
+
+        String browserInfo = "Unknown browser";
+        //WAP 2.0 identifification begins here:
+        for (int identString=0;identString<15;identString++) {
+            if (userAgent == null) continue;
+            if (userAgent.indexOf(WAP_IDENTIFIER[identString])!=-1) {
+                browserInfo=MANUFACTURER_NAMES[identString+4];
+                manufacturer=MANUFACTURER_NAMES[identString+4];
+                mimeType=MIME_TYPES[0];
+                markupName=MARKUP_TYPES[1];
+            }
+        }
+        //WAP 2.0 identification ends here
+
+        if (browserInfo.equals("Unknown browser")) {//WAP 2.0
+            if (userAgent != null) {
+                int i = userAgent.indexOf(" ");
+
+                //System.err.println("mozilla version: " + mozillaVersion);
+                int j = userAgent.lastIndexOf(")");
+
+                if (j >= 0) {
+                    browserInfo = userAgent.substring(j + 1).trim();
+                }
+            }
+        }
+        //System.err.println("browser info: " + browserInfo);
+        mimeType = req.getHeader("accept");
+
+        //System.err.println("MIME types: " + mimeTypes);
+        // Netscape 6.2: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, image/png, image/jpeg, image/gif;q=0.2, text/plain;q=0.8, text/css, */*;q=0.1
+        // IE 5.2:       */*
+        // Mozilla 1.0: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1
+        // Opera 6.0b2: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
+
+        // get manufacturer
+        if (browserInfo.startsWith("Opera")) {
+            manufacturer = MANUFACTURER_NAMES[0];
+        } else if (browserInfo.startsWith("Gecko")) {
+            int i = browserInfo.indexOf(" ");
+            if (i > 0) {
+                if (browserInfo.substring(i).trim().startsWith("Netscape")) {
+                    manufacturer = MANUFACTURER_NAMES[1];
+                } else {
+                    manufacturer = MANUFACTURER_NAMES[2];
+                }
+            } else {
+                manufacturer = MANUFACTURER_NAMES[2];
+            }
+        } else {
+            manufacturer = MANUFACTURER_NAMES[3];
+        }
+
+        if (markupName==null) {//WAP 2.0
+            if (mimeType != null) {
+                int i = mimeType.indexOf("html");
+                if (i < 0) {
+                    // IE 5.2 on  Mac OS X
+                    if (mimeType.indexOf("*/*") >= 0) {
+                        mimeType = MIME_TYPES[0];
+                        markupName = MARKUP_TYPES[0];
+                    }
+                } else {
+                    mimeType = MIME_TYPES[0];
+                    markupName = MARKUP_TYPES[0];
+                }
+            }
+        }
+        // make up version for now
+        version = "1.0";
+        // make up model for now
+        model = "gridsphere model";
+
+        // if all else fails, it is html
+        if (markupName == null) markupName = MARKUP_TYPES[0];
+        if (mimeType == null) mimeType = MIME_TYPES[0];
+        
+        //logRequest(req);
+    }
+
+
+    /**
+     * Returns the name of the manufacturer of this client, or
+     * <code>null</code> if the name is not available.
+     *
+     * @return the manufacturer
+     */
+    public String getManufacturer() {
+        return manufacturer;
+    }
+
+    /**
+     * Returns the name of the model of this client, or <code>null</code>
+     * if the name is not available.
+     *
+     * @return the model
+     */
+    public String getModel() {
+        return model;
+    }
+
+    /**
+     * Returns the version of the model of this client, or <code>null</code>
+     * if the version is not available.
+     *
+     * @return the version
+     */
+    public String getVersion() {
+        return version;
+    }
+
+    /**
+     * Returns the exact user agent that this client uses to identify
+     * itself to the portal. If the client does not send a user agent,
+     * this method returns <code>null</code>
+     *
+     * @return the user agent
+     */
+    public String getUserAgent() {
+        return userAgent;
+    }
+
+    /**
+     * Returns the preferred mime-type that this client device supports.
+     *
+     * @return the mime-type
+     */
+    public String getMimeType() {
+        return mimeType;
+    }
+
+    /**
+     * Returns the preferred markup name that this client device supports.
+     *
+     * @return the name of the markup
+     */
+    public String getMarkupName() {
+        return markupName;
+    }
+
+    /**
+     * Return a <code>String</code> representation of the <code>Client</code>
+     *
+     * @return a <code>String</code> representation of the <code>Client</code>
+     */
+    public String toString() {
+        StringBuffer sb = new StringBuffer("\n");
+        sb.append("User-agent: " + userAgent + "\n");
+        sb.append("manufacturer: " + manufacturer + "\n");
+        sb.append("model: " + model + "\n");
+        sb.append("version: " + version + "\n");
+        sb.append("markup: " + markupName + "\n");
+        sb.append("mimeType: " + mimeType);
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/GridSphereEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,298 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: GridSphereEventImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.event.PortletComponentEvent;
+import org.gridsphere.portlet.impl.*;
+import org.gridsphere.portletcontainer.Client;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+/**
+ * The <code>GridSphereEventImpl</code> is an implementation of the <code>GridSphereEvent</code> interface.
+ * <p/>
+ * A <code>GridSphereEvent</code> represents a general portlet container
+ * event. The <code>GridSphereEvent</code> is passed into components that
+ * need to access the <code>PortletRequest</code>
+ * <code>PortletResponse</code> objects, such as the layout components.
+ */
+public class GridSphereEventImpl implements GridSphereEvent {
+
+    protected Log log = LogFactory.getLog(GridSphereEventImpl.class);
+
+    protected HttpServletRequest req;
+    protected HttpServletResponse res;
+
+    protected PortletContext portletContext;
+
+    protected RenderRequest renderRequest;
+    protected RenderResponse renderResponse;
+    protected ActionRequest actionRequest;
+    protected ActionResponse actionResponse;
+
+    protected String componentID = null;
+    protected String layoutID = null;
+
+    protected DefaultPortletAction action = null;
+    protected DefaultPortletRender render = null;
+
+    protected Stack<PortletComponentEvent> events = null;
+
+    public GridSphereEventImpl(PortletContext ctx, HttpServletRequest req, HttpServletResponse res) {
+
+        this.req = req;
+        this.res = res;
+        this.portletContext = ctx;
+
+        this.renderRequest = new RenderRequestImpl(req, ctx);
+        this.renderResponse = new RenderResponseImpl(req, res);
+        this.actionRequest = new ActionRequestImpl(req, ctx);
+        this.actionResponse = new ActionResponseImpl(req, res);
+
+        renderRequest.setAttribute(SportletProperties.RENDER_REQUEST, renderRequest);
+        renderRequest.setAttribute(SportletProperties.RENDER_RESPONSE, renderResponse);
+
+        events = new Stack<PortletComponentEvent>();
+
+        //req.setAttribute(SportletProperties.COMPONENT_ID, componentID);
+
+        componentID = req.getParameter(SportletProperties.COMPONENT_ID);
+        if (componentID == null) {
+            log.debug("Received a null component ID");
+            componentID = "";
+        } else {
+            log.debug("Received cid= " + componentID);
+        }
+
+        layoutID = req.getParameter(SportletProperties.LAYOUT_PAGE_PARAM);
+
+        action = createAction();
+        render = createRender();
+
+        if (action != null) {
+            log.debug("Received action event=" + action.getName());
+        } else if (render != null) {
+            log.debug("Received render event=" + render.getName());
+        }
+
+    }
+
+    public DefaultPortletAction createAction() {
+        DefaultPortletAction myaction = null;
+        String actionStr = req.getParameter(SportletProperties.DEFAULT_PORTLET_ACTION);
+        if (actionStr != null) {
+            myaction = new DefaultPortletAction(actionStr);
+            myaction.setParameters(getPhaseParams(SportletProperties.DEFAULT_PORTLET_ACTION));
+        } else {
+            Map<String, String> params = parsePhaseParams(SportletProperties.DEFAULT_PORTLET_ACTION);
+            if (params != null) {
+                actionStr = (String) params.get(SportletProperties.DEFAULT_PORTLET_ACTION);
+                params.remove(SportletProperties.DEFAULT_PORTLET_ACTION);
+                myaction = new DefaultPortletAction(actionStr);
+                myaction.setParameters(params);
+            }
+        }
+        return myaction;
+    }
+
+    public DefaultPortletRender createRender() {
+        // create empty render event by default
+        DefaultPortletRender myrender = new DefaultPortletRender("");
+        String renderStr = req.getParameter(SportletProperties.DEFAULT_PORTLET_RENDER);
+        if (renderStr != null) {
+            myrender = new DefaultPortletRender(renderStr);
+            myrender.setParameters(getPhaseParams(SportletProperties.DEFAULT_PORTLET_RENDER));
+        } else {
+            Map<String, String> params = parsePhaseParams(SportletProperties.DEFAULT_PORTLET_RENDER);
+            if (params != null) {
+                renderStr = (String) params.get(SportletProperties.DEFAULT_PORTLET_RENDER);
+                params.remove(SportletProperties.DEFAULT_PORTLET_RENDER);
+                myrender = new DefaultPortletRender(renderStr);
+                myrender.setParameters(params);
+            }
+        }
+        return myrender;
+    }
+
+    protected Map<String, String> getPhaseParams(String phase) {
+        String prefix = null;
+        String name, newname, value;
+        if (phase.equals(SportletProperties.DEFAULT_PORTLET_RENDER)) {
+            prefix = SportletProperties.RENDER_PARAM_PREFIX + req.getParameter(SportletProperties.RENDER_PARAM_PREFIX + SportletProperties.PREFIX);
+        } else {
+            prefix = req.getParameter(SportletProperties.PREFIX);
+        }
+        Enumeration e = req.getParameterNames();
+        Map<String, String> params = new HashMap<String, String>();
+        if ((prefix != null) && (e != null)) {
+            //System.err.println("prefix= " + prefix);
+            while (e.hasMoreElements()) {
+                name = ((String) e.nextElement());
+                //System.err.println("name= " + name);
+                if (name.startsWith(prefix)) {
+                    newname = name.substring(prefix.length() + 1);
+                    value = req.getParameter(name);
+                    params.put(newname, value);
+                }
+            }
+        }
+        return params;
+    }
+
+    protected Map<String, String> parsePhaseParams(String phase) {
+        /* This is where a DefaultPortletAction or a DefaultPortletRender gets put together if one exists */
+
+        Enumeration e = null;
+        String name, newname;
+        Map<String, String> params = new HashMap<String, String>();
+        e = req.getParameterNames();
+        if (e != null) {
+
+            /// Check to see if action is of form action_name generated by submit button
+            while (e.hasMoreElements()) {
+                name = (String) e.nextElement();
+                if (name.startsWith(phase)) {
+                    // check for parameter names and values
+
+                    name = name.substring(phase.length() + 1);
+
+                    StringTokenizer st = new StringTokenizer(name, "&");
+                    if (st.hasMoreTokens()) {
+                        newname = st.nextToken();
+                    } else {
+                        newname = "";
+                    }
+
+                    params.put(phase, newname);
+                    //log.debug("Received " + myaction);
+                    String paramName;
+                    String paramVal = "";
+                    Map<String, String> tmpParams = new HashMap<String, String>();
+                    String prefix = "";
+                    while (st.hasMoreTokens()) {
+                        // now check for "=" separating name and value
+                        String namevalue = st.nextToken();
+                        int hasvalue = namevalue.indexOf("=");
+                        if (hasvalue > 0) {
+                            paramName = namevalue.substring(0, hasvalue);
+                            paramVal = namevalue.substring(hasvalue + 1);
+                            if (paramName.equals(SportletProperties.PREFIX)) {
+                                prefix = paramVal;
+                            } else {
+                                tmpParams.put(paramName, paramVal);
+                            }
+                        } else {
+                            tmpParams.put(namevalue, paramVal);
+                        }
+                    }
+                    // put unprefixed params in action
+                    for (Object o : tmpParams.keySet()) {
+                        String n = (String) o;
+                        String v = (String) tmpParams.get(n);
+                        if (!prefix.equals("")) {
+                            n = n.substring(prefix.length() + 1);
+                        }
+
+                        params.put(n, v);
+                    }
+                    tmpParams = null;
+                    return params;
+                }
+
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns an object representing the client device that the user connects to the portal with.
+     *
+     * @return the client device
+     */
+    public Client getClient() {
+        Client client = (Client) this.getHttpServletRequest().getSession().getAttribute(SportletProperties.CLIENT);
+        if (client == null) {
+            client = new ClientImpl(this.getHttpServletRequest());
+            this.getHttpServletRequest().getSession().setAttribute(SportletProperties.CLIENT, client);
+        }
+        return client;
+    }
+
+    public HttpServletRequest getHttpServletRequest() {
+        return req;
+    }
+
+    public HttpServletResponse getHttpServletResponse() {
+        return res;
+    }
+
+    public RenderRequest getRenderRequest() {
+        return renderRequest;
+    }
+
+    public RenderResponse getRenderResponse() {
+        return renderResponse;
+    }
+
+    public ActionRequest getActionRequest() {
+        return actionRequest;
+    }
+
+    public ActionResponse getActionResponse() {
+        return actionResponse;
+    }
+
+    public PortletContext getPortletContext() {
+        return portletContext;
+    }
+
+    public DefaultPortletAction getAction() {
+        return action;
+    }
+
+    public DefaultPortletRender getRender() {
+        return componentID.equals(req.getAttribute(SportletProperties.COMPONENT_ID)) ? render : null;
+    }
+
+    public void setAction(DefaultPortletAction action) {
+        this.action = action;
+    }
+
+    public boolean hasAction() {
+        return (action != null);
+    }
+
+    public boolean hasMessage() {
+        return false;
+    }
+
+    public void setComponentID(String componentID) {
+        this.componentID = componentID;
+    }
+
+    public String getComponentID() {
+        return componentID;
+    }
+
+    public String getLayoutID() {
+        return layoutID;
+    }
+
+    public void addNewRenderEvent(PortletComponentEvent evt) {
+        if (evt != null) events.push(evt);
+    }
+
+    public PortletComponentEvent getLastRenderEvent() {
+        return (events.isEmpty() ? null : (PortletComponentEvent) events.pop());
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/JavaXMLBindingFactory.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+package org.gridsphere.portletcontainer.impl;
+
+
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+
+public class JavaXMLBindingFactory {
+
+    /**
+     * Returns an instance of a PersistenceManagerXML from a descriptor and mapping URL
+     *
+     * @param descriptorURL the descriptor location
+     * @param mappingURL    the mapping location
+     * @return an instance of PersistenceManagerXmlImpl
+     */
+    public static PersistenceManagerXml createPersistenceManagerXml(String descriptorURL, URL mappingURL) {
+        return new PersistenceManagerXmlImpl(descriptorURL, mappingURL);
+    }
+
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PersistenceManagerXmlImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,186 @@
+/*
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PersistenceManagerXmlImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.exolab.castor.mapping.Mapping;
+import org.exolab.castor.mapping.MappingException;
+import org.exolab.castor.xml.MarshalException;
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+import org.exolab.castor.xml.ValidationException;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+import org.xml.sax.InputSource;
+
+import java.io.*;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The PersistenceManagerXmlImpl provides easy access to marshal/unmarshal Java objects to XML files
+ */
+public class PersistenceManagerXmlImpl implements PersistenceManagerXml {
+
+    protected Log log = LogFactory.getLog(PersistenceManagerXmlImpl.class);
+
+    private List mappingPaths = new ArrayList();
+    private String descriptorPath = null;
+
+    /**
+     * PersistenceManagerXmlImpl default constructor
+     */
+    private PersistenceManagerXmlImpl() {
+    }
+
+    /**
+     * Creates an instance of PersistenceManagerXmlImpl from a descriptor and mapping URL
+     *
+     * @param descriptorPath the descriptor location
+     * @param mappingPath    the mapping location
+     */
+    public PersistenceManagerXmlImpl(String descriptorPath, String mappingPath) {
+        this.descriptorPath = descriptorPath;
+        addMappingPath(mappingPath);
+    }
+
+    /**
+     * Creates an instance of PersistenceManagerXmlImpl from a descriptor and mapping URL
+     *
+     * @param descriptorPath the descriptor location
+     * @param mappingURL    the mapping location expressed as a URL
+     */
+    public PersistenceManagerXmlImpl(String descriptorPath, URL mappingURL) {
+        this.descriptorPath = descriptorPath;
+        addMappingPath(mappingURL);
+    }
+
+    public void addMappingPath(String path) {
+        mappingPaths.add(path);
+    }
+
+    public void addMappingPath(URL path) {
+        mappingPaths.add(path);
+    }
+
+    /**
+     * Sets the mapping file path
+     *
+     * @param mappingPath the mapping file path
+     */
+    public void setMappingPath(String mappingPath) {
+        mappingPaths.clear();
+        mappingPaths.add(mappingPath);
+    }
+
+    /**
+     * Sets the mapping file url
+     *
+     * @param mappingURL the mapping url
+     */
+    public void setMappingPath(URL mappingURL) {
+        mappingPaths.clear();
+        mappingPaths.add(mappingURL);
+    }
+
+    /**
+     * Sets the descriptor file path
+     *
+     * @param descriptorPath the file path of the descriptor
+     */
+    public void setDescriptorPath(String descriptorPath) {
+        this.descriptorPath = descriptorPath;
+    }
+
+    /**
+     * Returns the filename of the mappingfile
+     *
+     * @return name of the mappingfile
+     */
+    public String getDescriptorPath() {
+        return descriptorPath;
+    }
+
+    /**
+     * Marshals the given object to an xml file
+     *
+     * @param object object to be marshalled
+     * @throws PersistenceManagerException
+     *                     if the configuration was wrong
+     */
+    public void save(Object object) throws PersistenceManagerException {
+        try {
+            Writer w = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(descriptorPath), "UTF-8"));
+            FileWriter filewriter = new FileWriter(descriptorPath);
+            Marshaller marshal = new Marshaller(w);
+            Mapping map = new Mapping();
+            for (Object mappingObj : mappingPaths) {
+                log.debug("Loading mapping path " + mappingObj);
+                if (mappingObj instanceof String) {
+                    map.loadMapping((String) mappingObj);
+                } else if (mappingObj instanceof URL) {
+                    map.loadMapping((URL) mappingObj);
+                }
+            }
+            marshal.setMapping(map);
+            marshal.marshal(object);
+            filewriter.close();
+            Class cl = object.getClass();
+            log.debug("Wrote object of type " + cl.getName() + " to XMLFile " + descriptorPath);
+        } catch (ValidationException e) {
+            throw new PersistenceManagerException("Validation Error", e);
+        } catch (MarshalException e) {
+            throw new PersistenceManagerException("Marshal Error: ", e);
+        } catch (MappingException e) {
+            throw new PersistenceManagerException("Mapping Error", e);
+        } catch (IOException e) {
+            throw new PersistenceManagerException("I/O Error", e);
+        }
+    }
+
+    /**
+     * restores an object from an xml file
+     *
+     * @return object which was unmarshalled
+     * @throws PersistenceManagerException if restore was not succsessful
+     */
+    public Object load() throws PersistenceManagerException {
+        Object object;
+        try {
+            log.debug("Using getConnectionURL() " + descriptorPath);
+            InputSource xmlSource = new InputSource(descriptorPath);
+            Mapping mapping = new Mapping();
+            for (Object mappingObj : mappingPaths) {
+                log.debug("Loading mapping path " + mappingObj);
+                if (mappingObj instanceof String) {
+                    mapping.loadMapping((String) mappingObj);
+                } else if (mappingObj instanceof URL) {
+                    mapping.loadMapping((URL) mappingObj);
+                }
+            }
+            Unmarshaller unmarshal = new Unmarshaller(mapping);
+            unmarshal.setValidation(true);
+            unmarshal.setIgnoreExtraElements(true);
+            unmarshal.setIgnoreExtraAttributes(true);
+            object = unmarshal.unmarshal(xmlSource);
+        } catch (MappingException e) {
+            throw new PersistenceManagerException("Mapping Error", e);
+        } catch (MarshalException e) {
+            throw new PersistenceManagerException("Marshal Error", e);
+        } catch (ValidationException e) {
+            throw new PersistenceManagerException("Validation Error", e);
+        } catch (IOException e) {
+            throw new PersistenceManagerException("IO Error", e);
+        }
+        return object;
+    }
+
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletDispatcherImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,183 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletDispatcher.java 4848 2006-06-10 18:06:15Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.event.PortletWindowEvent;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.portletcontainer.PortletDispatcher;
+import org.gridsphere.portletcontainer.PortletDispatcherException;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * The <code>PortletDispatcher</code> provides a mechanism for invoking portlet lifecycle methods by using a
+ * <code>RequestDispatcher</code> from the Servlet API to forward requests to other portlets (servlets).
+ *
+ * @see <code>PortletInvoker</code>
+ */
+public class PortletDispatcherImpl implements PortletDispatcher {
+
+    public static Log log = LogFactory.getLog(PortletDispatcherImpl.class);
+
+    private RequestDispatcher rd;
+
+    /**
+     * Default constructor is kept private
+     */
+    private PortletDispatcherImpl() {
+    }
+
+    /**
+     * Constructs a PortletDispatcher from a <code>RequestDispatcher</code> and an <code>ApplicationPortletConfig</code>
+     *
+     * @param rd the <code>RequestDispatcher</code>
+     */
+    public PortletDispatcherImpl(RequestDispatcher rd) {
+        this.rd = rd;
+    }
+
+    public void init(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.INIT);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to initialize servlet", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to initialize portlet: ", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        }
+    }
+
+    public void destroy(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.DESTROY);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform destroy", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform destroy: ", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        }
+    }
+
+    public void service(DefaultPortletRender render, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.RENDER_EVENT, render);
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.SERVICE);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform service", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform service", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        }
+    }
+
+    public void login(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.LOGIN);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform login", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform login", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        }
+    }
+
+    public void logout(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.LOGOUT);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform logout", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform logout", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        }
+    }
+
+    public void actionPerformed(DefaultPortletAction action, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.ACTION_EVENT, action);
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.SERVICE);
+        req.setAttribute(SportletProperties.PORTLET_ACTION_METHOD, SportletProperties.ACTION_PERFORMED);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform actionPerformed", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform actionPerformed", e);
+        } finally {
+            req.removeAttribute(SportletProperties.ACTION_EVENT);
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+            req.removeAttribute(SportletProperties.PORTLET_ACTION_METHOD);
+        }
+    }
+
+    public void doTitle(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.SERVICE);
+        req.setAttribute(SportletProperties.PORTLET_ACTION_METHOD, SportletProperties.DO_TITLE);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform doTitle", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform doTitle", e);
+        } finally {
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+            req.removeAttribute(SportletProperties.PORTLET_ACTION_METHOD);
+        }
+    }
+
+
+    public void windowEvent(PortletWindowEvent event, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        req.setAttribute(SportletProperties.WINDOW_EVENT, event);
+        req.setAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD, SportletProperties.SERVICE);
+        req.setAttribute(SportletProperties.PORTLET_ACTION_METHOD, SportletProperties.WINDOW_EVENT);
+        try {
+            include(req, res);
+        } catch (ServletException e) {
+            throw new PortletDispatcherException("Unable to perform windowEvent", e.getRootCause());
+        } catch (Exception e) {
+            throw new PortletDispatcherException("Unable to perform windowEvent", e);
+        } finally {
+            req.removeAttribute(SportletProperties.WINDOW_EVENT);
+            req.removeAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+            req.removeAttribute(SportletProperties.PORTLET_ACTION_METHOD);
+        }
+    }
+
+    /**
+     * Underlying method used by all other dispatcher methods to invoke the appropriate portlet lifecycle method
+     *
+     * @param req a <code>HttpServletRequest</code>
+     * @param res a <code>HttpServletResponse</code>
+     * @throws IOException      if an I/O error occurs
+     * @throws ServletException if a servlet exception occurs
+     */
+    protected synchronized void include(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+        rd.include(req, res);
+    }
+
+}
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletInvoker.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletInvoker.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletInvoker.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletInvoker.java 4848 2006-06-10 18:06:15Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.event.PortletWindowEvent;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.*;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * The <code>PortletInvoker</code> provides static lifecycle routines for performing portlet operations on
+ * concrete portlets.
+ *
+ * @see org.gridsphere.portletcontainer.impl.PortletDispatcherImpl
+ */
+public class PortletInvoker {
+
+    private Log log = LogFactory.getLog(PortletInvoker.class);
+    private PortletRegistryService registry = null;
+
+    public PortletInvoker() {
+        try {
+            registry = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+        } catch (PortletServiceException e) {
+            log.error("Unable to init services! ", e);
+        }
+    }
+
+    /**
+     * Performs service method on a concrete portlet instance
+     *
+     * @param concretePortletID the concrete portlet id
+     * @param render            the default portlet render
+     * @param req               the <code>HttpServletRequest</code>
+     * @param res               the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     * @throws IOException                if an I/O error occurs
+     */
+    public void service(String concretePortletID, DefaultPortletRender render, HttpServletRequest req, HttpServletResponse res) throws IOException, PortletDispatcherException {
+        log.debug("in service " + concretePortletID);
+        String appID = registry.getApplicationPortletID(concretePortletID);
+        ApplicationPortlet appPortlet = registry.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            PortletDispatcher dispatcher = appPortlet.getPortletDispatcher(req, res);
+            dispatcher.service(render, req, res);
+        } else {
+            log.info("in service: Unable to find portlet in registry: " + concretePortletID);
+        }
+    }
+
+    /**
+     * Performs action performed method on a concrete portlet instance
+     *
+     * @param concretePortletID the concrete portlet id
+     * @param action            the default portlet action
+     * @param req               the <code>HttpServletRequest</code>
+     * @param res               the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public void actionPerformed(String concretePortletID, DefaultPortletAction action, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        log.debug("in actionPerformed " + concretePortletID);
+        String appID = registry.getApplicationPortletID(concretePortletID);
+        ApplicationPortlet appPortlet = registry.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            PortletDispatcher dispatcher = appPortlet.getPortletDispatcher(req, res);
+            dispatcher.actionPerformed(action, req, res);
+        } else {
+            log.info("in actionPerformed: Unable to find portlet in registry: " + concretePortletID);
+        }
+    }
+
+    /**
+     * Performs doTitle method on a concrete portlet instance
+     *
+     * @param concretePortletID the concrete portlet id
+     * @param req               the <code>HttpServletRequest</code>
+     * @param res               the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public void doTitle(String concretePortletID, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        log.debug("in doTitle " + concretePortletID);
+        String appID = registry.getApplicationPortletID(concretePortletID);
+        ApplicationPortlet appPortlet = registry.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            PortletDispatcher dispatcher = appPortlet.getPortletDispatcher(req, res);
+            dispatcher.doTitle(req, res);
+        } else {
+            log.info("in actionPerformed: Unable to find portlet in registry: " + concretePortletID);
+        }
+    }
+
+    /**
+     * Performs window event method on a concrete portlet instance
+     *
+     * @param concretePortletID the concrete portlet id
+     * @param winEvent          the window event
+     * @param req               the <code>HttpServletRequest</code>
+     * @param res               the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public void windowEvent(String concretePortletID, PortletWindowEvent winEvent, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        log.debug("in windowEvent " + concretePortletID);
+        String appID = registry.getApplicationPortletID(concretePortletID);
+        ApplicationPortlet appPortlet = registry.getApplicationPortlet(appID);
+        if (appPortlet != null) {
+            PortletDispatcher dispatcher = appPortlet.getPortletDispatcher(req, res);
+            dispatcher.windowEvent(winEvent, req, res);
+        } else {
+            log.info("in windowEvent: Unable to find portlet in registry: " + concretePortletID);
+        }
+    }
+
+    public void initPortletWebApp(PortletWebApplicationLoader appLoader, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        // Initialize all concrete portlets for each application portlet
+        PortletDispatcher portletDispatcher = appLoader.getPortletDispatcher();
+        // initialize the application portlet
+        log.debug("initializing portlet web app " + appLoader.getWebApplicationName());
+        portletDispatcher.init(req, res);
+
+    }
+
+    /**
+     * Lohgout a portlet web application
+     *
+     * @param appLoader the web application loader
+     * @param req       the <code>HttpServletRequest</code>
+     * @param res       the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public void logoutPortletWebApp(PortletWebApplicationLoader appLoader, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        PortletDispatcher portletDispatcher = appLoader.getPortletDispatcher();
+        portletDispatcher.logout(req, res);
+    }
+
+
+    /**
+     * Shuts down a portlet web application
+     *
+     * @param webAppLoader the name of the JSR portlet web application loader
+     * @param req          the <code>HttpServletRequest</code>
+     * @param res          the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public void destroyPortletWebApp(PortletWebApplicationLoader webAppLoader, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        // First destroy all concrete portlets for each application portlet
+        log.debug("in destroyPortletWebApp " + webAppLoader.getWebApplicationName());
+        // destroy the application portlet
+        webAppLoader.getPortletDispatcher().destroy(req, res);
+    }
+
+    /**
+     * Returns the application portlet id from the supplied concrete portlet id
+     *
+     * @param concretePortletID the concrete portlet id
+     * @return the application portlet id
+     */
+    protected static String getApplicationPortletID(String concretePortletID) {
+        int i = concretePortletID.lastIndexOf(".");
+        if (i < 0) return "";
+        return concretePortletID.substring(0, i);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletPreferencesManagerImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: PortletPreferencesManager.java 5412 2006-09-28 23:44:53Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.impl.PortletPreferencesImpl;
+import org.gridsphere.portletcontainer.PortletPreferencesManager;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+
+import javax.portlet.PreferencesValidator;
+
+/**
+ * The <code>PortletPreferencesManager</code> provides a a singleton implementation of the <code>PortletDataManager</code>
+ * used for loading and storing <code>PortletData</code>.
+ */
+public class PortletPreferencesManagerImpl implements PortletPreferencesManager {
+
+    private Log log = LogFactory.getLog(PortletPreferencesManagerImpl.class);
+
+    private PersistenceManagerRdbms pm = null;
+
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences prefsDesc = null;
+    private PreferencesValidator validator = null;
+    private String userId = null;
+    private String portletId = null;
+    private boolean isRender = true;
+
+    public PortletPreferencesManagerImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences prefsDesc, PreferencesValidator validator) {
+        PersistenceManagerService pms = (PersistenceManagerService)PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pms.createGridSphereRdbms();
+        this.prefsDesc = prefsDesc;
+        this.validator = validator;
+    }
+
+    public void setPortletId(String portletId) {
+        this.portletId = portletId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    public void setRender(boolean isRender) {
+        this.isRender= isRender;
+    }
+
+
+    /**
+     * Returns the users portlet data for the specified portlet
+     *
+     * @return the PortletPreferences for this portlet or null if none exists.
+     */
+    public javax.portlet.PortletPreferences getPortletPreferences() {
+
+        PortletPreferencesImpl prefs = null;
+        if (userId == null) {
+            userId = PortletPreferencesImpl.NO_USER;
+        }
+
+        try {
+            String command =
+                    "select u from " + PortletPreferencesImpl.class.getName() + " u where u.userId='" + userId + "' and u.portletId='" + portletId + "'";
+            prefs = (PortletPreferencesImpl) pm.restore(command);
+            if (prefs == null) {
+                // we have no prefs in the db so create one from the xml...
+                log.debug("No prefs exist-- storing prefs for user: " + userId + " portlet: " + portletId);
+                prefs = new PortletPreferencesImpl();
+                prefs.setPortletId(portletId);
+                prefs.setUserId(userId);
+            } else {
+                log.debug("Retrieved prefs for user: " + userId + " portlet: " + portletId);
+            }
+            prefs.setPersistenceManager(pm);
+            if (prefsDesc != null) prefs.setPreferencesDesc(prefsDesc);
+            if (validator != null) prefs.setValidator(validator);
+            prefs.setRender(isRender);
+        } catch (Exception e) {
+            log.error("Error attempting to restore persistent preferences: ", e);
+        }
+
+        return prefs;
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletServiceDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SportletServiceDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceDefinition;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+import java.util.List;
+
+/**
+ * The <code>SportletServiceDescriptor</code> provides the portlet service
+ * descriptor class mappings that are used by Castor to unmarshall the
+ * services descriptor file.
+ */
+public class PortletServiceDescriptor {
+
+    private PortletServiceCollection services = null;
+    private PersistenceManagerXml pmXML = null;
+
+
+    private URL servicesMappingStream = getClass().getResource("/org/gridsphere/portlet/service/spi/impl/portlet-services-mapping.xml");
+
+    /**
+     * Constructor disallows non-argument instantiation
+     */
+    private PortletServiceDescriptor() {}
+
+    public PortletServiceDescriptor(String descriptorFile) throws PersistenceManagerException {
+        PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, servicesMappingStream);
+        services = (PortletServiceCollection) pmXML.load();
+    }
+
+    /**
+     * Returns the collection of portlet service definitions
+     *
+     * @return the collection of portlet service definitions
+     */
+    public PortletServiceCollection getServiceCollection() {
+        return services;
+    }
+
+    /**
+     * Sets the collection of portlet service definitions
+     *
+     * @param services the collection of portlet service definitions
+     */
+    public void setServiceCollection(PortletServiceCollection services) {
+        this.services = services;
+    }
+
+    /**
+     * Sets the service definition
+     *
+     * @param definition the service definition
+     */
+    public void setServiceDefinition(PortletServiceDefinition definition) {
+        List<PortletServiceDefinition> serviceDefs = services.getPortletServicesList();
+        for (PortletServiceDefinition def : serviceDefs) {
+            if (definition.getServiceName().equals(def.getServiceName())) {
+                def.setConfigParamList(definition.getConfigParamList());
+            }
+        }
+    }
+
+    /**
+     * Saves the portlet service descriptor
+     *
+     * @throws PersistenceManagerException if a Castor error occurs during the marshalling
+     */
+    public void save() throws PersistenceManagerException {
+        pmXML.save(services);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletSessionManager.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletSessionManager.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletSessionManager.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portletcontainer.PortletSessionListener;
+
+import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+import java.util.*;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletSessionManager.java 4985 2006-08-04 09:54:28Z novotny $
+ */
+public class PortletSessionManager implements HttpSessionListener {
+
+    private static PortletSessionManager instance = new PortletSessionManager();
+    private Log log = LogFactory.getLog(PortletSessionManager.class);
+
+    private Hashtable sessions = new Hashtable();
+    private Hashtable sessionListeners = new Hashtable();
+
+    private PortletSessionManager() {
+
+    }
+
+    public static PortletSessionManager getInstance() {
+        return instance;
+    }
+
+    public int getNumSessions() {
+        return sessions.size();        
+    }
+
+    public Set getSessions() {
+        return sessions.keySet();
+    }
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+        log.debug("sessionCreated('" + event.getSession().getId() + "')");
+        String id = event.getSession().getId();
+        sessions.put(id, event.getSession());
+        dumpSessions();
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+        log.debug("sessionDestroyed('" + event.getSession().getId() + "')");
+        HttpSession httpSession = event.getSession();
+        if (httpSession != null) {
+            String id = event.getSession().getId();
+
+            List listeners = (List) sessionListeners.get(id);
+            if (listeners != null) {
+                Iterator it = listeners.iterator();
+                while (it.hasNext()) {
+                    PortletSessionListener sessionListener = (PortletSessionListener) it.next();
+
+                        log.info("logging a session listener out: " + sessionListener.getClass());
+                        sessionListener.logout(httpSession);
+                    
+                }
+                log.info("Removing session: " + httpSession.getId());
+                sessions.remove(id);
+                sessionListeners.remove(id);
+            }
+        } else {
+            log.info("Not sure why sessionDestroyed listener provides null session id!");
+        }
+        dumpSessions();
+    }
+
+    public void addSessionListener(String sessionId, PortletSessionListener sessionListener) {
+        log.debug("adding session listener for : " + sessionId + " " + sessionListener.getClass());
+        HttpSession session = (HttpSession)sessions.get(sessionId);
+        if (session != null) {
+            List listeners = (List) sessionListeners.get(sessionId);
+            if (listeners == null) listeners = new ArrayList();
+            listeners.add(sessionListener);
+            System.err.println("adding session listener for : " + sessionId + " " + sessionListener.getClass());
+            sessionListeners.put(sessionId, listeners);
+        }
+        dumpSessions();
+    }
+
+    public void dumpSessions() {
+        log.debug("PortletSessionManager Session information:");
+        log.debug("# current sessions: " + sessions.size());
+        Set keySet = sessions.keySet();
+        Iterator it = keySet.iterator();
+        while (it.hasNext()) {
+            log.debug("session #id: " + (String)it.next());
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,230 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: JSRPortletWebApplicationImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+import org.gridsphere.portletcontainer.impl.descriptor.*;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+
+import javax.portlet.PortletException;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import java.io.File;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Collection;
+import java.util.ArrayList;
+
+/**
+ * The <code>PortletWebApplicationImpl</code> is an implementation of a <code>PortletWebApplication</code> that
+ * represents a collection of portlets contained in a packaged WAR file. Currently
+ * under development is the notion of dynamically managing portlet web applications.
+ */
+public class PortletWebApplicationImpl implements PortletWebApplication {
+
+    private Log log = LogFactory.getLog(PortletWebApplicationImpl.class);
+    private PortletApp portletWebApp = null;
+
+    protected Map<String, PortletDefinition> portletDefinitions = new Hashtable<String, PortletDefinition>();
+    protected Map<String, ApplicationPortlet> appPortlets = new Hashtable<String, ApplicationPortlet>();
+
+    protected String webApplicationName = "Unknown portlet web application";
+    protected String webAppDescription = "Unknown portlet web application description";
+
+    protected PortletStatus status = PortletStatus.SUCCESS;
+    protected String statusMessage = "Portlet web application loaded successfully";
+
+    protected RequestDispatcher rd = null;
+
+    public PortletWebApplicationImpl(ServletContext context, ClassLoader loader) {
+
+        // Make all jsr portlets have only one concrete instance
+        String realPath = context.getRealPath("");
+        int l = realPath.lastIndexOf(File.separator);
+        webApplicationName = realPath.substring(l + 1);
+
+        this.webAppDescription = context.getServletContextName();
+        try {
+            // load portlet.xml
+            loadPortlets(context, loader);
+
+            // load services.xml
+            loadServices(context, loader);
+        } catch (PortletException e) {
+            status = PortletStatus.FAILURE;
+            statusMessage = e.getMessage();
+        }
+    }
+
+
+    /**
+     * Loads collection of portlets from portlet descriptor file using the associated <code>ServletContext</code>
+     *
+     * @param ctx the <code>ServletContext</code>
+     * @param loader the classloader of the web application
+     * @throws PortletException if an error occurs loading the portlets
+     */
+    protected void loadPortlets(ServletContext ctx, ClassLoader loader) throws PortletException {
+        // load in the portlet.xml file
+        String portletXMLfile = ctx.getRealPath("/WEB-INF/portlet.xml");
+
+        PortletDeploymentDescriptor pdd = null;
+        try {
+            pdd = new PortletDeploymentDescriptor(portletXMLfile);
+        } catch (Exception e) {
+            status = PortletStatus.FAILURE;
+            statusMessage = "Unable to load portlets from: " + webApplicationName + " due to mapping error";
+            throw new PortletException(statusMessage, e);
+        }
+
+        this.portletWebApp = pdd.getPortletWebApplication();
+        // Every SportletDefinition has a PortletApplication and possibly multiple ConcretePortletConfig's
+        PortletDefinition[] portletDefs = pdd.getPortletDefinitionList();
+
+
+        // Iterate thru portlet definitions for portlet applications
+        for (int i = 0; i < portletDefs.length; i++) {
+            ApplicationPortlet portletApp = new ApplicationPortletImpl(pdd, portletDefs[i], webApplicationName, ctx);
+
+            String portletClass = portletApp.getApplicationPortletID();
+            String portletName = portletApp.getApplicationPortletName();
+            portletDefinitions.put(portletName, portletDefs[i]);
+            appPortlets.put(portletName, portletApp);
+
+            log.debug("sticking " + portletName + " class: " + portletClass + " in hash");
+        }
+
+    }
+
+    public PortletDefinition getPortletDefinition(String portletName) {
+        return portletDefinitions.get(portletName);
+    }
+
+    public void init() {}
+
+    public void destroy() {
+        portletWebApp = null;
+        appPortlets = null;
+        portletDefinitions = null;
+        rd = null;
+    }
+
+
+    public CustomPortletMode[] getCustomPortletModes() {
+        return portletWebApp.getCustomPortletMode();
+    }
+
+    public CustomWindowState[] getCustomWindowStates() {
+        return portletWebApp.getCustomWindowState();
+    }
+
+    public UserAttribute[] getUserAttributes() {
+        return portletWebApp.getUserAttribute();
+    }
+
+    public SecurityConstraint[] getSecurityConstraints() {
+        return portletWebApp.getSecurityConstraint();
+    }
+
+    /**
+     * Loads in a service descriptor file from the associated servlet context
+     *
+     * @param ctx the <code>ServletContext</code>
+     * @param loader the classloader of the web application
+     * @throws PortletException if an error occurs loading the portlets
+     */
+    protected void loadServices(ServletContext ctx, ClassLoader loader) throws PortletException {
+        // load in the portlet-services.xml file
+        String descriptorPath = ctx.getRealPath("/WEB-INF/PortletServices.xml");
+        File f = new File(descriptorPath);
+        if (f.exists()) {
+            PortletServiceDescriptor descriptor = null;
+            try {
+                System.err.println("loading from: " + descriptorPath);
+                descriptor = new PortletServiceDescriptor(descriptorPath);
+            } catch (Exception e) {
+                //log.error("error unmarshalling " + servicesPath + " using " + servicesMappingPath + " : " + e.getMessage());
+                status = PortletStatus.FAILURE;
+                statusMessage = "Error unmarshalling " + descriptorPath;
+                throw new PortletServiceException(statusMessage, e);
+            }
+            PortletServiceCollection serviceCollection = descriptor.getServiceCollection();
+            PortletServiceFactory.addServices(webApplicationName, ctx, serviceCollection, loader);
+        } else {
+            descriptorPath = ctx.getRealPath("/WEB-INF/portlet-services");
+            f = new File(descriptorPath);
+            if (f.exists()) {
+                String[] servicePaths = f.list();
+                for (int i = 0; i < servicePaths.length; i++) {
+                    servicePaths[i] = descriptorPath + File.separator + servicePaths[i];
+                }
+                for (int i = 0; i < servicePaths.length; i++) {
+                    PortletServiceDescriptor descriptor = null;
+                    try {
+                        System.err.println("loading from: " + servicePaths[i]);
+                        descriptor = new PortletServiceDescriptor(servicePaths[i]);
+                    } catch (Exception e) {
+                        status = PortletStatus.FAILURE;
+                        statusMessage = "Error unmarshalling " + servicePaths[i];
+                        throw new PortletServiceException("error unmarshalling " + servicePaths[i], e);
+                    }
+                    PortletServiceCollection serviceCollection = descriptor.getServiceCollection();
+                    PortletServiceFactory.addServices(webApplicationName, ctx, serviceCollection, loader);
+                }
+            } else {
+                log.debug("Did not find PortletServices.xml or portlet-services directory for: " + ctx.getServletContextName());
+            }
+        }
+    }
+
+    /**
+     * Returns the portlet web application name
+     *
+     * @return the portlet web application name
+     */
+    public String getWebApplicationName() {
+        return webApplicationName;
+    }
+
+    /**
+     * Returns the portlet web application description
+     *
+     * @return the portlet web application description
+     */
+    public String getWebApplicationDescription() {
+        return webAppDescription;
+    }
+
+    /**
+     * Returns the collection of application portlets contained by this portlet web application
+     *
+     * @return the collection of application portlets
+     */
+    public Collection<ApplicationPortlet> getAllApplicationPortlets() {
+        return (appPortlets != null ? appPortlets.values() : new ArrayList<ApplicationPortlet>());
+    }
+
+    public void setWebApplicationStatus(PortletStatus status) {
+        this.status = status;
+    }
+
+    public void setWebApplicationStatusMessage(String statusMessage) {
+        this.statusMessage = statusMessage;
+    }
+
+    public PortletStatus getWebApplicationStatus() {
+        return status;
+    }
+
+    public String getWebApplicationStatusMessage() {
+        return statusMessage;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/PortletWebApplicationLoader.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+package org.gridsphere.portletcontainer.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.PortletDispatcher;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+
+import javax.portlet.PortletException;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+
+/**
+ * The <code>PortletWebApplicationImpl</code> is an implementation of a <code>PortletWebApplication</code> that
+ * represents a collection of portlets contained in a packaged WAR file. Currently
+ * under development is the notion of dynamically managing portlet web applications.
+ */
+public class PortletWebApplicationLoader {
+
+    private Log log = LogFactory.getLog(PortletWebApplicationLoader.class);
+
+    protected String webApplicationName = "Unknown portlet web application";
+    protected String webAppDescription = "Unknown portlet web application description";
+
+    protected PortletStatus status = PortletStatus.SUCCESS;
+    protected String statusMessage = "Portlet web application loaded successfully";
+
+    protected PortletDispatcher portletDispatcher = null;
+
+    /**
+     * Constructs an instance of a PortletWebApplicationImpl from a supplied ui application name and corresponding
+     * <code>ServletContext</code>
+     *
+     * @param webApplicationName the the web application name
+     * @param context            the <code>ServletContext</code>
+     * @throws PortletException if an initialization exception occurs
+     */
+    public PortletWebApplicationLoader(String webApplicationName, ServletContext context) throws PortletException {
+
+        this.webApplicationName = webApplicationName;
+        // get the servlet context for the coreportlets webapp
+        String contextURIPath;
+        if (webApplicationName.startsWith("/")) {
+            contextURIPath = webApplicationName;
+            this.webApplicationName = webApplicationName.substring(1);
+        } else {
+            contextURIPath = "/" + webApplicationName;
+        }
+
+        // Get the cross context servlet context
+        ServletContext ctx = context.getContext(contextURIPath);
+        //System.err.println("contextURIPath: " + contextURIPath);
+        //System.err.println("contextName: " + ctx.getServletContextName());
+        //System.err.println("context path: " + ctx.getRealPath(""));
+
+        if (ctx == null) {
+            log.error(webApplicationName + ": Unable to get ServletContext for: " + contextURIPath);
+            throw new PortletException(webApplicationName + ": Unable to get ServletContext for: " + contextURIPath);
+        }
+        log.debug("context path: " + ctx.getRealPath(""));
+        this.webAppDescription = ctx.getServletContextName();
+
+
+        String servletName = "PortletServlet";
+        RequestDispatcher rd = ctx.getNamedDispatcher(servletName);
+        if (rd == null) {
+            String msg = "Unable to create a dispatcher for portlet: JSR Portlet Servlet\n";
+            msg += "Make sure the servletName: " + servletName + " is the servlet-name defined in web.xml";
+            throw new PortletException(msg);
+        }
+        portletDispatcher = new PortletDispatcherImpl(rd);
+
+    }
+
+    /**
+     * Under development. A portlet web application can unregister itself from the application server
+     */
+    public void destroy() {
+        PortletServiceFactory.shutdownServices(webApplicationName);
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pmservice.destroyPersistenceManagerRdbms(webApplicationName);
+    }
+
+
+    /**
+     * Returns the portlet web application name
+     *
+     * @return the ui application name
+     */
+    public String getWebApplicationName() {
+        return webApplicationName;
+    }
+
+    /**
+     * Returns the portlet web application description
+     *
+     * @return the portlet web application description
+     */
+    public String getWebApplicationDescription() {
+        return webAppDescription;
+    }
+
+    public void setWebApplicationStatus(PortletStatus status) {
+        this.status = status;
+    }
+
+    public void setWebApplicationStatusMessage(String statusMessage) {
+        this.statusMessage = statusMessage;
+    }
+
+    public PortletStatus getWebApplicationStatus() {
+        return status;
+    }
+
+    public String getWebApplicationStatusMessage() {
+        return statusMessage;
+    }
+
+    public PortletDispatcher getPortletDispatcher() {
+        return portletDispatcher;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletMode.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomPortletMode.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class CustomPortletMode.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomPortletMode extends CustomPortletModeType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomPortletMode() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomPortletModeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class CustomPortletModeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomPortletModeDescriptor extends CustomPortletModeTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomPortletModeDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new CustomPortletModeTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "custom-portlet-mode";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletModeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,259 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomPortletModeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * A custom portlet mode that one or more portlets in
+ * this portlet application supports.
+ * Used in: portlet-app
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomPortletModeType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _portletMode
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletMode _portletMode;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomPortletModeType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletModeType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'portletMode'.
+     *
+     * @return the value of field 'portletMode'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletMode getPortletMode() {
+        return this._portletMode;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletMode getPortletMode()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'portletMode'.
+     *
+     * @param portletMode the value of field 'portletMode'.
+     */
+    public void setPortletMode(org.gridsphere.portletcontainer.impl.descriptor.PortletMode portletMode) {
+        this._portletMode = portletMode;
+    } //-- void setPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomPortletModeType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletModeType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomPortletModeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,234 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomPortletModeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class CustomPortletModeTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomPortletModeTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomPortletModeTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "custom-portlet-modeType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomPortletModeType target = (CustomPortletModeType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomPortletModeType target = (CustomPortletModeType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomPortletModeType target = (CustomPortletModeType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomPortletModeType target = (CustomPortletModeType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletMode
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletMode.class, "_portletMode", "portlet-mode", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomPortletModeType target = (CustomPortletModeType) object;
+                return target.getPortletMode();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomPortletModeType target = (CustomPortletModeType) object;
+                    target.setPortletMode((org.gridsphere.portletcontainer.impl.descriptor.PortletMode) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletMode();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletMode
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletModeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.CustomPortletModeType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowState.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomWindowState.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class CustomWindowState.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomWindowState extends CustomWindowStateType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomWindowState() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomWindowStateDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class CustomWindowStateDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomWindowStateDescriptor extends CustomWindowStateTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomWindowStateDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new CustomWindowStateTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "custom-window-state";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowStateDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,259 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomWindowStateType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * A custom window state that one or more portlets in this
+ * portlet application supports.
+ * Used in: portlet-app
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomWindowStateType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _windowState
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.WindowState _windowState;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomWindowStateType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowStateType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'windowState'.
+     *
+     * @return the value of field 'windowState'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.WindowState getWindowState() {
+        return this._windowState;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowState getWindowState()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'windowState'.
+     *
+     * @param windowState the value of field 'windowState'.
+     */
+    public void setWindowState(org.gridsphere.portletcontainer.impl.descriptor.WindowState windowState) {
+        this._windowState = windowState;
+    } //-- void setWindowState(org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomWindowStateType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowStateType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/CustomWindowStateTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,234 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: CustomWindowStateTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class CustomWindowStateTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class CustomWindowStateTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public CustomWindowStateTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "custom-window-stateType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomWindowStateType target = (CustomWindowStateType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomWindowStateType target = (CustomWindowStateType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomWindowStateType target = (CustomWindowStateType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomWindowStateType target = (CustomWindowStateType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _windowState
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.WindowState.class, "_windowState", "window-state", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                CustomWindowStateType target = (CustomWindowStateType) object;
+                return target.getWindowState();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    CustomWindowStateType target = (CustomWindowStateType) object;
+                    target.setWindowState((org.gridsphere.portletcontainer.impl.descriptor.WindowState) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.WindowState();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _windowState
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowStateTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.CustomWindowStateType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Description.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Description.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Description.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Description.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Description.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Description extends DescriptionType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Description() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Description.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DescriptionDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class DescriptionDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class DescriptionDescriptor extends DescriptionTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DescriptionDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new DescriptionTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "description";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DescriptionDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Description.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,166 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DescriptionType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The description element is used to provide text describing the
+ * parent element. The description element should include any
+ * information that the portlet application war file producer
+ * wants
+ * to provide to the consumer of the portlet application war file
+ * (i.e., to the Deployer). Typically, the tools used by the
+ * portlet application war file consumer will display the
+ * description when processing the parent element that contains
+ * the
+ * description. It has an optional attribute xml:lang to indicate
+ * which language is used in the description according to
+ * RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
+ * value of this attribute is English (en).
+ * Used in: init-param, portlet, portlet-app, security-role
+ *
+ * @version $Revision: 4299 $ $Date: 2005-10-15 12:24:07 -0700 (Sat, 15 Oct 2005) $
+ */
+public class DescriptionType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+    /**
+     * In due course, we should install the relevant ISO 2- and
+     * 3-letter
+     * codes as the enumerated possible values . . .
+     */
+    private java.lang.String _lang;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DescriptionType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DescriptionType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Returns the value of field 'lang'. The field 'lang' has the
+     * following description: In due course, we should install the
+     * relevant ISO 2- and 3-letter
+     * codes as the enumerated possible values . . .
+     *
+     * @return the value of field 'lang'.
+     */
+    public java.lang.String getLang() {
+        return this._lang;
+    } //-- java.lang.String getLang()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Sets the value of field 'lang'. The field 'lang' has the
+     * following description: In due course, we should install the
+     * relevant ISO 2- and 3-letter
+     * codes as the enumerated possible values . . .
+     *
+     * @param lang the value of field 'lang'.
+     */
+    public void setLang(java.lang.String lang) {
+        this._lang = lang;
+    } //-- void setLang(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.DescriptionType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.DescriptionType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DescriptionTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DescriptionTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class DescriptionTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class DescriptionTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DescriptionTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "descriptionType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                DescriptionType target = (DescriptionType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    DescriptionType target = (DescriptionType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- _lang
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_lang", "lang", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                DescriptionType target = (DescriptionType) object;
+                return target.getLang();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    DescriptionType target = (DescriptionType) object;
+                    target.setLang((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _lang
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DescriptionTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.DescriptionType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayName.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DisplayName.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class DisplayName.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class DisplayName extends DisplayNameType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DisplayName() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayName()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.DisplayName) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.DisplayName.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DisplayNameDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class DisplayNameDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class DisplayNameDescriptor extends DisplayNameTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DisplayNameDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new DisplayNameTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "display-name";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayNameDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.DisplayName.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,163 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DisplayNameType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The display-name type contains a short name that is intended
+ * to be displayed by tools. It is used by display-name
+ * elements. The display name need not be unique.
+ * Example:
+ * ...
+ * Employee Self Service
+ * <p/>
+ * It has an optional attribute xml:lang to indicate
+ * which language is used in the description according to
+ * RFC 1766 (http://www.ietf.org/rfc/rfc1766.txt). The default
+ * value of this attribute is English (en).
+ *
+ * @version $Revision: 4299 $ $Date: 2005-10-15 12:24:07 -0700 (Sat, 15 Oct 2005) $
+ */
+public class DisplayNameType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+    /**
+     * In due course, we should install the relevant ISO 2- and
+     * 3-letter
+     * codes as the enumerated possible values . . .
+     */
+    private java.lang.String _lang;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DisplayNameType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayNameType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Returns the value of field 'lang'. The field 'lang' has the
+     * following description: In due course, we should install the
+     * relevant ISO 2- and 3-letter
+     * codes as the enumerated possible values . . .
+     *
+     * @return the value of field 'lang'.
+     */
+    public java.lang.String getLang() {
+        return this._lang;
+    } //-- java.lang.String getLang()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Sets the value of field 'lang'. The field 'lang' has the
+     * following description: In due course, we should install the
+     * relevant ISO 2- and 3-letter
+     * codes as the enumerated possible values . . .
+     *
+     * @param lang the value of field 'lang'.
+     */
+    public void setLang(java.lang.String lang) {
+        this._lang = lang;
+    } //-- void setLang(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.DisplayNameType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.DisplayNameType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/DisplayNameTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,197 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: DisplayNameTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class DisplayNameTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class DisplayNameTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public DisplayNameTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "display-nameType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                DisplayNameType target = (DisplayNameType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    DisplayNameType target = (DisplayNameType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("collapse");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- _lang
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_lang", "lang", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                DisplayNameType target = (DisplayNameType) object;
+                return target.getLang();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    DisplayNameType target = (DisplayNameType) object;
+                    target.setLang((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _lang
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayNameTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.DisplayNameType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCache.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ExpirationCache.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class ExpirationCache.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ExpirationCache extends ExpirationCacheType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ExpirationCache() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCache()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ExpirationCacheDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class ExpirationCacheDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ExpirationCacheDescriptor extends ExpirationCacheTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ExpirationCacheDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new ExpirationCacheTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "expiration-cache";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCacheDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,145 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ExpirationCacheType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Expriation-cache defines expiration-based caching for this
+ * portlet. The parameter indicates
+ * the time in seconds after which the portlet output expires.
+ * -1 indicates that the output never expires.
+ * Used in: portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ExpirationCacheType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private int _content;
+
+    /**
+     * keeps track of state for field: _content
+     */
+    private boolean _has_content;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ExpirationCacheType() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCacheType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method deleteContent
+     */
+    public void deleteContent() {
+        this._has_content = false;
+    } //-- void deleteContent()
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public int getContent() {
+        return this._content;
+    } //-- int getContent()
+
+    /**
+     * Method hasContent
+     */
+    public boolean hasContent() {
+        return this._has_content;
+    } //-- boolean hasContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(int content) {
+        this._content = content;
+        this._has_content = true;
+    } //-- void setContent(int)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ExpirationCacheType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ExpirationCacheType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ExpirationCacheTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,167 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ExpirationCacheTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.IntegerValidator;
+
+/**
+ * Class ExpirationCacheTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ExpirationCacheTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ExpirationCacheTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "expiration-cacheType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.Integer.TYPE, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                ExpirationCacheType target = (ExpirationCacheType) object;
+                if (!target.hasContent())
+                    return null;
+                return new Integer(target.getContent());
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    ExpirationCacheType target = (ExpirationCacheType) object;
+                    // if null, use delete method for optional primitives
+                    if (value == null) {
+                        target.deleteContent();
+                        return;
+                    }
+                    target.setContent(((Integer) value).intValue());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            IntegerValidator typeValidator = new IntegerValidator();
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCacheTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ExpirationCacheType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParam.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParam.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParam.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: InitParam.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class InitParam.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class InitParam extends InitParamType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public InitParam() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParam()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.InitParam) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.InitParam.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: InitParamDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class InitParamDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class InitParamDescriptor extends InitParamTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public InitParamDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new InitParamTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "init-param";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParamDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.InitParam.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,282 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: InitParamType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The init-param element contains a name/value pair as an
+ * initialization param of the portlet
+ * Used in:portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class InitParamType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _name
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Name _name;
+
+    /**
+     * Field _value
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Value _value;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public InitParamType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParamType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'name'.
+     *
+     * @return the value of field 'name'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Name getName() {
+        return this._name;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Name getName()
+
+    /**
+     * Returns the value of field 'value'.
+     *
+     * @return the value of field 'value'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Value getValue() {
+        return this._value;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Value getValue()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'name'.
+     *
+     * @param name the value of field 'name'.
+     */
+    public void setName(org.gridsphere.portletcontainer.impl.descriptor.Name name) {
+        this._name = name;
+    } //-- void setName(org.gridsphere.portletcontainer.jsr.descriptor.Name)
+
+    /**
+     * Sets the value of field 'value'.
+     *
+     * @param value the value of field 'value'.
+     */
+    public void setValue(org.gridsphere.portletcontainer.impl.descriptor.Value value) {
+        this._value = value;
+    } //-- void setValue(org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.InitParamType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.InitParamType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/InitParamTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,269 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: InitParamTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class InitParamTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class InitParamTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public InitParamTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "init-paramType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                InitParamType target = (InitParamType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    InitParamType target = (InitParamType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                InitParamType target = (InitParamType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    InitParamType target = (InitParamType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _name
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Name.class, "_name", "name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                InitParamType target = (InitParamType) object;
+                return target.getName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    InitParamType target = (InitParamType) object;
+                    target.setName((org.gridsphere.portletcontainer.impl.descriptor.Name) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Name();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _name
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _value
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Value.class, "_value", "value", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                InitParamType target = (InitParamType) object;
+                return target.getValue();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    InitParamType target = (InitParamType) object;
+                    target.setValue((org.gridsphere.portletcontainer.impl.descriptor.Value) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Value();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _value
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParamTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.InitParamType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Keywords.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Keywords.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Keywords.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Keywords.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Keywords.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Keywords extends KeywordsType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Keywords() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Keywords()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Keywords) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Keywords.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: KeywordsDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class KeywordsDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class KeywordsDescriptor extends KeywordsTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public KeywordsDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new KeywordsTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "keywords";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.KeywordsDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Keywords.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: KeywordsType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Locale specific keywords associated with this portlet.
+ * The kewords are separated by commas.
+ * Used in: portlet-info
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class KeywordsType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public KeywordsType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.KeywordsType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.KeywordsType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.KeywordsType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/KeywordsTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: KeywordsTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class KeywordsTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class KeywordsTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public KeywordsTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "keywordsType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                KeywordsType target = (KeywordsType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    KeywordsType target = (KeywordsType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.KeywordsTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.KeywordsType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: MimeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class MimeType.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class MimeType extends MimeTypeType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public MimeType() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.MimeType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.MimeType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.MimeType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: MimeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class MimeTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class MimeTypeDescriptor extends MimeTypeTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public MimeTypeDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new MimeTypeTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "mime-type";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.MimeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.MimeType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: MimeTypeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * MIME type name, e.g. "text/html".
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class MimeTypeType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public MimeTypeType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.MimeTypeType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.MimeTypeType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.MimeTypeType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/MimeTypeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: MimeTypeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class MimeTypeTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class MimeTypeTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public MimeTypeTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "mime-typeType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                MimeTypeType target = (MimeTypeType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    MimeTypeType target = (MimeTypeType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.MimeTypeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.MimeTypeType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Name.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Name.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Name.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Name.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Name.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Name extends NameType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Name() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Name()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Name) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Name.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: NameDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class NameDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class NameDescriptor extends NameTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public NameDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new NameTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "name";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.NameDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Name.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: NameType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The name element contains the name of a parameter.
+ * Used in: init-param, ...
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class NameType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public NameType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.NameType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.NameType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.NameType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/NameTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: NameTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class NameTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class NameTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public NameTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "nameType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                NameType target = (NameType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    NameType target = (NameType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.NameTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.NameType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PersistencePreference.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PersistencePreference.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class PersistencePreference {
+
+    private String oid = null;
+    private boolean readonly = false;
+    private String name = null;
+    private String[] values = null;
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public boolean isReadonly() {
+        return readonly;
+    }
+
+    public void setReadonly(boolean readonly) {
+        this.readonly = readonly;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String[] getValues() {
+        return values;
+    }
+
+    public void setValues(String[] values) {
+        this.values = values;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletApp.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletApp.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The portlet-app element is the root of the deployment descriptor
+ * for a portlet application. This element has a required
+ * attribute version
+ * to specify to which version of the schema the deployment
+ * descriptor
+ * conforms.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletApp extends PortletAppType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletApp() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletApp()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletApp) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletApp.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletAppDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletAppDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletAppDescriptor extends PortletAppTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletAppDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletAppTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-app";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletAppDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletApp.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,709 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletAppType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * Class PortletAppType.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletAppType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _version
+     */
+    private java.lang.String _version;
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _portletList
+     */
+    private java.util.ArrayList _portletList;
+
+    /**
+     * Field _customPortletModeList
+     */
+    private java.util.ArrayList _customPortletModeList;
+
+    /**
+     * Field _customWindowStateList
+     */
+    private java.util.ArrayList _customWindowStateList;
+
+    /**
+     * Field _userAttributeList
+     */
+    private java.util.ArrayList _userAttributeList;
+
+    /**
+     * Field _securityConstraintList
+     */
+    private java.util.ArrayList _securityConstraintList;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletAppType() {
+        super();
+        _portletList = new ArrayList();
+        _customPortletModeList = new ArrayList();
+        _customWindowStateList = new ArrayList();
+        _userAttributeList = new ArrayList();
+        _securityConstraintList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletAppType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addCustomPortletMode
+     *
+     * @param vCustomPortletMode
+     */
+    public void addCustomPortletMode(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode vCustomPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        _customPortletModeList.add(vCustomPortletMode);
+    } //-- void addCustomPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode)
+
+    /**
+     * Method addCustomPortletMode
+     *
+     * @param index
+     * @param vCustomPortletMode
+     */
+    public void addCustomPortletMode(int index, org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode vCustomPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        _customPortletModeList.add(index, vCustomPortletMode);
+    } //-- void addCustomPortletMode(int, org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode)
+
+    /**
+     * Method addCustomWindowState
+     *
+     * @param vCustomWindowState
+     */
+    public void addCustomWindowState(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState vCustomWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        _customWindowStateList.add(vCustomWindowState);
+    } //-- void addCustomWindowState(org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState)
+
+    /**
+     * Method addCustomWindowState
+     *
+     * @param index
+     * @param vCustomWindowState
+     */
+    public void addCustomWindowState(int index, org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState vCustomWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        _customWindowStateList.add(index, vCustomWindowState);
+    } //-- void addCustomWindowState(int, org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState)
+
+    /**
+     * Method addPortlet
+     *
+     * @param vPortlet
+     */
+    public void addPortlet(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition vPortlet)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletList.add(vPortlet);
+    } //-- void addPortlet(org.gridsphere.portletcontainer.jsr.descriptor.Portlet)
+
+    /**
+     * Method addPortlet
+     *
+     * @param index
+     * @param vPortlet
+     */
+    public void addPortlet(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition vPortlet)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletList.add(index, vPortlet);
+    } //-- void addPortlet(int, org.gridsphere.portletcontainer.jsr.descriptor.Portlet)
+
+    /**
+     * Method addSecurityConstraint
+     *
+     * @param vSecurityConstraint
+     */
+    public void addSecurityConstraint(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint vSecurityConstraint)
+            throws java.lang.IndexOutOfBoundsException {
+        _securityConstraintList.add(vSecurityConstraint);
+    } //-- void addSecurityConstraint(org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint)
+
+    /**
+     * Method addSecurityConstraint
+     *
+     * @param index
+     * @param vSecurityConstraint
+     */
+    public void addSecurityConstraint(int index, org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint vSecurityConstraint)
+            throws java.lang.IndexOutOfBoundsException {
+        _securityConstraintList.add(index, vSecurityConstraint);
+    } //-- void addSecurityConstraint(int, org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint)
+
+    /**
+     * Method addUserAttribute
+     *
+     * @param vUserAttribute
+     */
+    public void addUserAttribute(org.gridsphere.portletcontainer.impl.descriptor.UserAttribute vUserAttribute)
+            throws java.lang.IndexOutOfBoundsException {
+        _userAttributeList.add(vUserAttribute);
+    } //-- void addUserAttribute(org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute)
+
+    /**
+     * Method addUserAttribute
+     *
+     * @param index
+     * @param vUserAttribute
+     */
+    public void addUserAttribute(int index, org.gridsphere.portletcontainer.impl.descriptor.UserAttribute vUserAttribute)
+            throws java.lang.IndexOutOfBoundsException {
+        _userAttributeList.add(index, vUserAttribute);
+    } //-- void addUserAttribute(int, org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute)
+
+    /**
+     * Method clearCustomPortletMode
+     */
+    public void clearCustomPortletMode() {
+        _customPortletModeList.clear();
+    } //-- void clearCustomPortletMode()
+
+    /**
+     * Method clearCustomWindowState
+     */
+    public void clearCustomWindowState() {
+        _customWindowStateList.clear();
+    } //-- void clearCustomWindowState()
+
+    /**
+     * Method clearPortlet
+     */
+    public void clearPortlet() {
+        _portletList.clear();
+    } //-- void clearPortlet()
+
+    /**
+     * Method clearSecurityConstraint
+     */
+    public void clearSecurityConstraint() {
+        _securityConstraintList.clear();
+    } //-- void clearSecurityConstraint()
+
+    /**
+     * Method clearUserAttribute
+     */
+    public void clearUserAttribute() {
+        _userAttributeList.clear();
+    } //-- void clearUserAttribute()
+
+    /**
+     * Method enumerateCustomPortletMode
+     */
+    public java.util.Enumeration enumerateCustomPortletMode() {
+        return new org.exolab.castor.util.IteratorEnumeration(_customPortletModeList.iterator());
+    } //-- java.util.Enumeration enumerateCustomPortletMode()
+
+    /**
+     * Method enumerateCustomWindowState
+     */
+    public java.util.Enumeration enumerateCustomWindowState() {
+        return new org.exolab.castor.util.IteratorEnumeration(_customWindowStateList.iterator());
+    } //-- java.util.Enumeration enumerateCustomWindowState()
+
+    /**
+     * Method enumeratePortlet
+     */
+    public java.util.Enumeration enumeratePortlet() {
+        return new org.exolab.castor.util.IteratorEnumeration(_portletList.iterator());
+    } //-- java.util.Enumeration enumeratePortlet()
+
+    /**
+     * Method enumerateSecurityConstraint
+     */
+    public java.util.Enumeration enumerateSecurityConstraint() {
+        return new org.exolab.castor.util.IteratorEnumeration(_securityConstraintList.iterator());
+    } //-- java.util.Enumeration enumerateSecurityConstraint()
+
+    /**
+     * Method enumerateUserAttribute
+     */
+    public java.util.Enumeration enumerateUserAttribute() {
+        return new org.exolab.castor.util.IteratorEnumeration(_userAttributeList.iterator());
+    } //-- java.util.Enumeration enumerateUserAttribute()
+
+    /**
+     * Method getCustomPortletMode
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode getCustomPortletMode(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _customPortletModeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode) _customPortletModeList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode getCustomPortletMode(int)
+
+    /**
+     * Method getCustomPortletMode
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode[] getCustomPortletMode() {
+        int size = _customPortletModeList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode) _customPortletModeList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode[] getCustomPortletMode()
+
+    /**
+     * Method getCustomPortletModeCount
+     */
+    public int getCustomPortletModeCount() {
+        return _customPortletModeList.size();
+    } //-- int getCustomPortletModeCount()
+
+    /**
+     * Method getCustomWindowState
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState getCustomWindowState(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _customWindowStateList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState) _customWindowStateList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState getCustomWindowState(int)
+
+    /**
+     * Method getCustomWindowState
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState[] getCustomWindowState() {
+        int size = _customWindowStateList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState) _customWindowStateList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState[] getCustomWindowState()
+
+    /**
+     * Method getCustomWindowStateCount
+     */
+    public int getCustomWindowStateCount() {
+        return _customWindowStateList.size();
+    } //-- int getCustomWindowStateCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Method getPortlet
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition getPortlet(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition) _portletList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Portlet getPortlet(int)
+
+    /**
+     * Method getPortlet
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition[] getPortlet() {
+        int size = _portletList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition) _portletList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Portlet[] getPortlet()
+
+    /**
+     * Method getPortletCount
+     */
+    public int getPortletCount() {
+        return _portletList.size();
+    } //-- int getPortletCount()
+
+    /**
+     * Method getSecurityConstraint
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint getSecurityConstraint(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _securityConstraintList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint) _securityConstraintList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint getSecurityConstraint(int)
+
+    /**
+     * Method getSecurityConstraint
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint[] getSecurityConstraint() {
+        int size = _securityConstraintList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint) _securityConstraintList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint[] getSecurityConstraint()
+
+    /**
+     * Method getSecurityConstraintCount
+     */
+    public int getSecurityConstraintCount() {
+        return _securityConstraintList.size();
+    } //-- int getSecurityConstraintCount()
+
+    /**
+     * Method getUserAttribute
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.UserAttribute getUserAttribute(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _userAttributeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.UserAttribute) _userAttributeList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute getUserAttribute(int)
+
+    /**
+     * Method getUserAttribute
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.UserAttribute[] getUserAttribute() {
+        int size = _userAttributeList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.UserAttribute[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.UserAttribute[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.UserAttribute) _userAttributeList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute[] getUserAttribute()
+
+    /**
+     * Method getUserAttributeCount
+     */
+    public int getUserAttributeCount() {
+        return _userAttributeList.size();
+    } //-- int getUserAttributeCount()
+
+    /**
+     * Returns the value of field 'version'.
+     *
+     * @return the value of field 'version'.
+     */
+    public java.lang.String getVersion() {
+        return this._version;
+    } //-- java.lang.String getVersion()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeCustomPortletMode
+     *
+     * @param vCustomPortletMode
+     */
+    public boolean removeCustomPortletMode(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode vCustomPortletMode) {
+        boolean removed = _customPortletModeList.remove(vCustomPortletMode);
+        return removed;
+    } //-- boolean removeCustomPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode)
+
+    /**
+     * Method removeCustomWindowState
+     *
+     * @param vCustomWindowState
+     */
+    public boolean removeCustomWindowState(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState vCustomWindowState) {
+        boolean removed = _customWindowStateList.remove(vCustomWindowState);
+        return removed;
+    } //-- boolean removeCustomWindowState(org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState)
+
+    /**
+     * Method removePortlet
+     *
+     * @param vPortlet
+     */
+    public boolean removePortlet(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition vPortlet) {
+        boolean removed = _portletList.remove(vPortlet);
+        return removed;
+    } //-- boolean removePortlet(org.gridsphere.portletcontainer.jsr.descriptor.Portlet)
+
+    /**
+     * Method removeSecurityConstraint
+     *
+     * @param vSecurityConstraint
+     */
+    public boolean removeSecurityConstraint(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint vSecurityConstraint) {
+        boolean removed = _securityConstraintList.remove(vSecurityConstraint);
+        return removed;
+    } //-- boolean removeSecurityConstraint(org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint)
+
+    /**
+     * Method removeUserAttribute
+     *
+     * @param vUserAttribute
+     */
+    public boolean removeUserAttribute(org.gridsphere.portletcontainer.impl.descriptor.UserAttribute vUserAttribute) {
+        boolean removed = _userAttributeList.remove(vUserAttribute);
+        return removed;
+    } //-- boolean removeUserAttribute(org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute)
+
+    /**
+     * Method setCustomPortletMode
+     *
+     * @param index
+     * @param vCustomPortletMode
+     */
+    public void setCustomPortletMode(int index, org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode vCustomPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _customPortletModeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _customPortletModeList.set(index, vCustomPortletMode);
+    } //-- void setCustomPortletMode(int, org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode)
+
+    /**
+     * Method setCustomPortletMode
+     *
+     * @param customPortletModeArray
+     */
+    public void setCustomPortletMode(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode[] customPortletModeArray) {
+        //-- copy array
+        _customPortletModeList.clear();
+        for (int i = 0; i < customPortletModeArray.length; i++) {
+            _customPortletModeList.add(customPortletModeArray[i]);
+        }
+    } //-- void setCustomPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.CustomPortletMode)
+
+    /**
+     * Method setCustomWindowState
+     *
+     * @param index
+     * @param vCustomWindowState
+     */
+    public void setCustomWindowState(int index, org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState vCustomWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _customWindowStateList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _customWindowStateList.set(index, vCustomWindowState);
+    } //-- void setCustomWindowState(int, org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState)
+
+    /**
+     * Method setCustomWindowState
+     *
+     * @param customWindowStateArray
+     */
+    public void setCustomWindowState(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState[] customWindowStateArray) {
+        //-- copy array
+        _customWindowStateList.clear();
+        for (int i = 0; i < customWindowStateArray.length; i++) {
+            _customWindowStateList.add(customWindowStateArray[i]);
+        }
+    } //-- void setCustomWindowState(org.gridsphere.portletcontainer.jsr.descriptor.CustomWindowState)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Method setPortlet
+     *
+     * @param index
+     * @param vPortlet
+     */
+    public void setPortlet(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition vPortlet)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _portletList.set(index, vPortlet);
+    } //-- void setPortlet(int, org.gridsphere.portletcontainer.jsr.descriptor.Portlet)
+
+    /**
+     * Method setPortlet
+     *
+     * @param portletArray
+     */
+    public void setPortlet(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition[] portletArray) {
+        //-- copy array
+        _portletList.clear();
+        for (int i = 0; i < portletArray.length; i++) {
+            _portletList.add(portletArray[i]);
+        }
+    } //-- void setPortlet(org.gridsphere.portletcontainer.jsr.descriptor.Portlet)
+
+    /**
+     * Method setSecurityConstraint
+     *
+     * @param index
+     * @param vSecurityConstraint
+     */
+    public void setSecurityConstraint(int index, org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint vSecurityConstraint)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _securityConstraintList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _securityConstraintList.set(index, vSecurityConstraint);
+    } //-- void setSecurityConstraint(int, org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint)
+
+    /**
+     * Method setSecurityConstraint
+     *
+     * @param securityConstraintArray
+     */
+    public void setSecurityConstraint(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint[] securityConstraintArray) {
+        //-- copy array
+        _securityConstraintList.clear();
+        for (int i = 0; i < securityConstraintArray.length; i++) {
+            _securityConstraintList.add(securityConstraintArray[i]);
+        }
+    } //-- void setSecurityConstraint(org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint)
+
+    /**
+     * Method setUserAttribute
+     *
+     * @param index
+     * @param vUserAttribute
+     */
+    public void setUserAttribute(int index, org.gridsphere.portletcontainer.impl.descriptor.UserAttribute vUserAttribute)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _userAttributeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _userAttributeList.set(index, vUserAttribute);
+    } //-- void setUserAttribute(int, org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute)
+
+    /**
+     * Method setUserAttribute
+     *
+     * @param userAttributeArray
+     */
+    public void setUserAttribute(org.gridsphere.portletcontainer.impl.descriptor.UserAttribute[] userAttributeArray) {
+        //-- copy array
+        _userAttributeList.clear();
+        for (int i = 0; i < userAttributeArray.length; i++) {
+            _userAttributeList.add(userAttributeArray[i]);
+        }
+    } //-- void setUserAttribute(org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute)
+
+    /**
+     * Sets the value of field 'version'.
+     *
+     * @param version the value of field 'version'.
+     */
+    public void setVersion(java.lang.String version) {
+        this._version = version;
+    } //-- void setVersion(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletAppType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletAppType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletAppTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,373 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletAppTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletAppTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletAppTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletAppTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-appType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _version
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_version", "version", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getVersion();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.setVersion((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        desc.setRequired(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _version
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _portletList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition.class, "_portletList", "portlet", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getPortlet();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.addPortlet((org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _customPortletModeList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode.class, "_customPortletModeList", "custom-portlet-mode", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getCustomPortletMode();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.addCustomPortletMode((org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.CustomPortletMode();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _customPortletModeList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _customWindowStateList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState.class, "_customWindowStateList", "custom-window-state", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getCustomWindowState();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.addCustomWindowState((org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.CustomWindowState();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _customWindowStateList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _userAttributeList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.UserAttribute.class, "_userAttributeList", "user-attribute", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getUserAttribute();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.addUserAttribute((org.gridsphere.portletcontainer.impl.descriptor.UserAttribute) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.UserAttribute();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _userAttributeList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _securityConstraintList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint.class, "_securityConstraintList", "security-constraint", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletAppType target = (PortletAppType) object;
+                return target.getSecurityConstraint();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletAppType target = (PortletAppType) object;
+                    target.addSecurityConstraint((org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _securityConstraintList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletAppTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletAppType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClass.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletClass.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletName.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletClass extends PortletClassType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletClass() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletClass()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (PortletClass) Unmarshaller.unmarshal(PortletClass.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletClassDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletClassDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletClassDescriptor extends PortletClassTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletClassDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletClassTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-class";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletClassDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return PortletClass.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletClassType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The portlet-name element contains the canonical name of the
+ * portlet. Each portlet name is unique within the portlet
+ * application.
+ * Used in: portlet, portlet-mapping
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletClassType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletClassType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletClassType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (PortletClassType) Unmarshaller.unmarshal(PortletClassType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletClassTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletClassTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletClassTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletClassTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletClassTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-classType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public Object getValue(Object object)
+                    throws IllegalStateException {
+                PortletClassType target = (PortletClassType) object;
+                return target.getContent();
+            }
+
+            public void setValue(Object object, Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletClassType target = (PortletClassType) object;
+                    target.setContent((String) value);
+                } catch (Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public Object newInstance(Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletClassTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return PortletClassType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollection.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletCollection.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletCollection.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletCollection extends PortletCollectionType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletCollection() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletCollection()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletCollection) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletCollection.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletCollectionDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletCollectionDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletCollectionDescriptor extends PortletCollectionTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletCollectionDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletCollectionTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-collection";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletCollectionDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletCollection.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,214 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletCollectionType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The portlet-collectionType is used to identify a subset
+ * of portlets within a portlet application to which a
+ * security constraint applies.
+ * Used in: security-constraint
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletCollectionType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _portletNameList
+     */
+    private java.util.ArrayList _portletNameList;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletCollectionType() {
+        super();
+        _portletNameList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletCollectionType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addPortletName
+     *
+     * @param vPortletName
+     */
+    public void addPortletName(org.gridsphere.portletcontainer.impl.descriptor.PortletName vPortletName)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletNameList.add(vPortletName);
+    } //-- void addPortletName(org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Method addPortletName
+     *
+     * @param index
+     * @param vPortletName
+     */
+    public void addPortletName(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletName vPortletName)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletNameList.add(index, vPortletName);
+    } //-- void addPortletName(int, org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Method clearPortletName
+     */
+    public void clearPortletName() {
+        _portletNameList.clear();
+    } //-- void clearPortletName()
+
+    /**
+     * Method enumeratePortletName
+     */
+    public java.util.Enumeration enumeratePortletName() {
+        return new org.exolab.castor.util.IteratorEnumeration(_portletNameList.iterator());
+    } //-- java.util.Enumeration enumeratePortletName()
+
+    /**
+     * Method getPortletName
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletName getPortletName(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletName) _portletNameList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletName getPortletName(int)
+
+    /**
+     * Method getPortletName
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletName[] getPortletName() {
+        int size = _portletNameList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.PortletName[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.PortletName[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.PortletName) _portletNameList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletName[] getPortletName()
+
+    /**
+     * Method getPortletNameCount
+     */
+    public int getPortletNameCount() {
+        return _portletNameList.size();
+    } //-- int getPortletNameCount()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removePortletName
+     *
+     * @param vPortletName
+     */
+    public boolean removePortletName(org.gridsphere.portletcontainer.impl.descriptor.PortletName vPortletName) {
+        boolean removed = _portletNameList.remove(vPortletName);
+        return removed;
+    } //-- boolean removePortletName(org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Method setPortletName
+     *
+     * @param index
+     * @param vPortletName
+     */
+    public void setPortletName(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletName vPortletName)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _portletNameList.set(index, vPortletName);
+    } //-- void setPortletName(int, org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Method setPortletName
+     *
+     * @param portletNameArray
+     */
+    public void setPortletName(org.gridsphere.portletcontainer.impl.descriptor.PortletName[] portletNameArray) {
+        //-- copy array
+        _portletNameList.clear();
+        for (int i = 0; i < portletNameArray.length; i++) {
+            _portletNameList.add(portletNameArray[i]);
+        }
+    } //-- void setPortletName(org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletCollectionType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletCollectionType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletCollectionTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,164 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletCollectionTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletCollectionTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletCollectionTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletCollectionTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-collectionType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+        //-- _portletNameList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletName.class, "_portletNameList", "portlet-name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletCollectionType target = (PortletCollectionType) object;
+                return target.getPortletName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletCollectionType target = (PortletCollectionType) object;
+                    target.addPortletName((org.gridsphere.portletcontainer.impl.descriptor.PortletName) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletName();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletNameList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletCollectionTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletCollectionType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,93 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletDefinition.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Portlet.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletDefinition extends PortletDefinitionType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletDefinition() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Portlet()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDefinitionType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,939 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletDefinitionType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The portlet element contains the declarative data of a portlet.
+ * Used in: portlet-app
+ *
+ * @version $Revision: 3558 $ $Date: 2004-09-21 07:47:21 -0700 (Tue, 21 Sep 2004) $
+ */
+public class PortletDefinitionType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _portletName
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletName _portletName;
+
+    /**
+     * Field _displayNameList
+     */
+    private java.util.ArrayList _displayNameList;
+
+    /**
+     * Field _portletClass
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletClass _portletClass;
+
+    /**
+     * Field _initParamList
+     */
+    private java.util.ArrayList _initParamList;
+
+    /**
+     * Field _expirationCache
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache _expirationCache;
+
+    /**
+     * Field _supportsList
+     */
+    private java.util.ArrayList _supportsList;
+
+    /**
+     * Field _supportedLocaleList
+     */
+    private java.util.ArrayList _supportedLocaleList;
+
+    /**
+     * Field _portletInfo
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletInfo _portletInfo;
+
+    /**
+     * Field _portletPreferences
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences _portletPreferences;
+
+    /**
+     * Field _securityRoleRefList
+     */
+    private java.util.ArrayList _securityRoleRefList;
+
+    /**
+     * Field _resourceBundle
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle _resourceBundle;
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletDefinitionType() {
+        super();
+        _descriptionList = new ArrayList();
+        _displayNameList = new ArrayList();
+        _initParamList = new ArrayList();
+        _supportsList = new ArrayList();
+        _supportedLocaleList = new ArrayList();
+        _securityRoleRefList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDisplayName
+     *
+     * @param vDisplayName
+     */
+    public void addDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        _displayNameList.add(vDisplayName);
+    } //-- void addDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method addDisplayName
+     *
+     * @param index
+     * @param vDisplayName
+     */
+    public void addDisplayName(int index, org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        _displayNameList.add(index, vDisplayName);
+    } //-- void addDisplayName(int, org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method addInitParam
+     *
+     * @param vInitParam
+     */
+    public void addInitParam(org.gridsphere.portletcontainer.impl.descriptor.InitParam vInitParam)
+            throws java.lang.IndexOutOfBoundsException {
+        _initParamList.add(vInitParam);
+    } //-- void addInitParam(org.gridsphere.portletcontainer.jsr.descriptor.InitParam)
+
+    /**
+     * Method addInitParam
+     *
+     * @param index
+     * @param vInitParam
+     */
+    public void addInitParam(int index, org.gridsphere.portletcontainer.impl.descriptor.InitParam vInitParam)
+            throws java.lang.IndexOutOfBoundsException {
+        _initParamList.add(index, vInitParam);
+    } //-- void addInitParam(int, org.gridsphere.portletcontainer.jsr.descriptor.InitParam)
+
+    /**
+     * Method addSecurityRoleRef
+     *
+     * @param vSecurityRoleRef
+     */
+    public void addSecurityRoleRef(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef vSecurityRoleRef)
+            throws java.lang.IndexOutOfBoundsException {
+        _securityRoleRefList.add(vSecurityRoleRef);
+    } //-- void addSecurityRoleRef(org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef)
+
+    /**
+     * Method addSecurityRoleRef
+     *
+     * @param index
+     * @param vSecurityRoleRef
+     */
+    public void addSecurityRoleRef(int index, org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef vSecurityRoleRef)
+            throws java.lang.IndexOutOfBoundsException {
+        _securityRoleRefList.add(index, vSecurityRoleRef);
+    } //-- void addSecurityRoleRef(int, org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef)
+
+    /**
+     * Method addSupportedLocale
+     *
+     * @param vSupportedLocale
+     */
+    public void addSupportedLocale(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale vSupportedLocale)
+            throws java.lang.IndexOutOfBoundsException {
+        _supportedLocaleList.add(vSupportedLocale);
+    } //-- void addSupportedLocale(org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale)
+
+    /**
+     * Method addSupportedLocale
+     *
+     * @param index
+     * @param vSupportedLocale
+     */
+    public void addSupportedLocale(int index, org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale vSupportedLocale)
+            throws java.lang.IndexOutOfBoundsException {
+        _supportedLocaleList.add(index, vSupportedLocale);
+    } //-- void addSupportedLocale(int, org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale)
+
+    /**
+     * Method addSupports
+     *
+     * @param vSupports
+     */
+    public void addSupports(org.gridsphere.portletcontainer.impl.descriptor.Supports vSupports)
+            throws java.lang.IndexOutOfBoundsException {
+        _supportsList.add(vSupports);
+    } //-- void addSupports(org.gridsphere.portletcontainer.jsr.descriptor.Supports)
+
+    /**
+     * Method addSupports
+     *
+     * @param index
+     * @param vSupports
+     */
+    public void addSupports(int index, org.gridsphere.portletcontainer.impl.descriptor.Supports vSupports)
+            throws java.lang.IndexOutOfBoundsException {
+        _supportsList.add(index, vSupports);
+    } //-- void addSupports(int, org.gridsphere.portletcontainer.jsr.descriptor.Supports)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method clearDisplayName
+     */
+    public void clearDisplayName() {
+        _displayNameList.clear();
+    } //-- void clearDisplayName()
+
+    /**
+     * Method clearInitParam
+     */
+    public void clearInitParam() {
+        _initParamList.clear();
+    } //-- void clearInitParam()
+
+    /**
+     * Method clearSecurityRoleRef
+     */
+    public void clearSecurityRoleRef() {
+        _securityRoleRefList.clear();
+    } //-- void clearSecurityRoleRef()
+
+    /**
+     * Method clearSupportedLocale
+     */
+    public void clearSupportedLocale() {
+        _supportedLocaleList.clear();
+    } //-- void clearSupportedLocale()
+
+    /**
+     * Method clearSupports
+     */
+    public void clearSupports() {
+        _supportsList.clear();
+    } //-- void clearSupports()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method enumerateDisplayName
+     */
+    public java.util.Enumeration enumerateDisplayName() {
+        return new org.exolab.castor.util.IteratorEnumeration(_displayNameList.iterator());
+    } //-- java.util.Enumeration enumerateDisplayName()
+
+    /**
+     * Method enumerateInitParam
+     */
+    public java.util.Enumeration enumerateInitParam() {
+        return new org.exolab.castor.util.IteratorEnumeration(_initParamList.iterator());
+    } //-- java.util.Enumeration enumerateInitParam()
+
+    /**
+     * Method enumerateSecurityRoleRef
+     */
+    public java.util.Enumeration enumerateSecurityRoleRef() {
+        return new org.exolab.castor.util.IteratorEnumeration(_securityRoleRefList.iterator());
+    } //-- java.util.Enumeration enumerateSecurityRoleRef()
+
+    /**
+     * Method enumerateSupportedLocale
+     */
+    public java.util.Enumeration enumerateSupportedLocale() {
+        return new org.exolab.castor.util.IteratorEnumeration(_supportedLocaleList.iterator());
+    } //-- java.util.Enumeration enumerateSupportedLocale()
+
+    /**
+     * Method enumerateSupports
+     */
+    public java.util.Enumeration enumerateSupports() {
+        return new org.exolab.castor.util.IteratorEnumeration(_supportsList.iterator());
+    } //-- java.util.Enumeration enumerateSupports()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Method getDisplayName
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.DisplayName getDisplayName(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _displayNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.DisplayName) _displayNameList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayName getDisplayName(int)
+
+    /**
+     * Method getDisplayName
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] getDisplayName() {
+        int size = _displayNameList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.DisplayName[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.DisplayName) _displayNameList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayName[] getDisplayName()
+
+    /**
+     * Method getDisplayNameCount
+     */
+    public int getDisplayNameCount() {
+        return _displayNameList.size();
+    } //-- int getDisplayNameCount()
+
+    /**
+     * Returns the value of field 'expirationCache'.
+     *
+     * @return the value of field 'expirationCache'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache getExpirationCache() {
+        return this._expirationCache;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCache getExpirationCache()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Method getInitParam
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.InitParam getInitParam(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _initParamList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.InitParam) _initParamList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParam getInitParam(int)
+
+    /**
+     * Method getInitParam
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.InitParam[] getInitParam() {
+        int size = _initParamList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.InitParam[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.InitParam[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.InitParam) _initParamList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.InitParam[] getInitParam()
+
+    /**
+     * Method getInitParamCount
+     */
+    public int getInitParamCount() {
+        return _initParamList.size();
+    } //-- int getInitParamCount()
+
+    /**
+     * Returns the value of field 'portletClass'.
+     *
+     * @return the value of field 'portletClass'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletClass getPortletClass() {
+        return this._portletClass;
+    } //-- java.lang.String getPortletID()
+
+    /**
+     * Returns the value of field 'portletName'.
+     *
+     * @return the value of field 'portletName'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletName getPortletName() {
+        return this._portletName;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletName getPortletName()
+
+    /**
+     * Returns the value of field 'portletPreferences'.
+     *
+     * @return the value of field 'portletPreferences'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences getPortletPreferences() {
+        return this._portletPreferences;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferences getPortletPreferences()
+
+    /**
+     * Returns the value of field 'portletInfo'.
+     *
+     * @return the value of field 'portletInfo'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletInfo getPortletInfo() {
+        return this._portletInfo;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo getPortletInfo()
+
+    /**
+     * Returns the value of field 'resourceBundle'.
+     *
+     * @return the value of field 'resourceBundle'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle getResourceBundle() {
+        return this._resourceBundle;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundle getResourceBundle()
+
+    /**
+     * Method getSecurityRoleRef
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef getSecurityRoleRef(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _securityRoleRefList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef) _securityRoleRefList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef getSecurityRoleRef(int)
+
+    /**
+     * Method getSecurityRoleRef
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef[] getSecurityRoleRef() {
+        int size = _securityRoleRefList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef) _securityRoleRefList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef[] getSecurityRoleRef()
+
+    /**
+     * Method getSecurityRoleRefCount
+     */
+    public int getSecurityRoleRefCount() {
+        return _securityRoleRefList.size();
+    } //-- int getSecurityRoleRefCount()
+
+    /**
+     * Method getSupportedLocale
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale getSupportedLocale(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _supportedLocaleList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale) _supportedLocaleList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale getSupportedLocale(int)
+
+    /**
+     * Method getSupportedLocale
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale[] getSupportedLocale() {
+        int size = _supportedLocaleList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale) _supportedLocaleList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale[] getSupportedLocale()
+
+    /**
+     * Method getSupportedLocaleCount
+     */
+    public int getSupportedLocaleCount() {
+        return _supportedLocaleList.size();
+    } //-- int getSupportedLocaleCount()
+
+    /**
+     * Method getSupports
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Supports getSupports(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _supportsList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Supports) _supportsList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Supports getSupports(int)
+
+    /**
+     * Method getSupports
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Supports[] getSupports() {
+        int size = _supportsList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Supports[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Supports[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Supports) _supportsList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Supports[] getSupports()
+
+    /**
+     * Method getSupportsCount
+     */
+    public int getSupportsCount() {
+        return _supportsList.size();
+    } //-- int getSupportsCount()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method removeDisplayName
+     *
+     * @param vDisplayName
+     */
+    public boolean removeDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName) {
+        boolean removed = _displayNameList.remove(vDisplayName);
+        return removed;
+    } //-- boolean removeDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method removeInitParam
+     *
+     * @param vInitParam
+     */
+    public boolean removeInitParam(org.gridsphere.portletcontainer.impl.descriptor.InitParam vInitParam) {
+        boolean removed = _initParamList.remove(vInitParam);
+        return removed;
+    } //-- boolean removeInitParam(org.gridsphere.portletcontainer.jsr.descriptor.InitParam)
+
+    /**
+     * Method removeSecurityRoleRef
+     *
+     * @param vSecurityRoleRef
+     */
+    public boolean removeSecurityRoleRef(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef vSecurityRoleRef) {
+        boolean removed = _securityRoleRefList.remove(vSecurityRoleRef);
+        return removed;
+    } //-- boolean removeSecurityRoleRef(org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef)
+
+    /**
+     * Method removeSupportedLocale
+     *
+     * @param vSupportedLocale
+     */
+    public boolean removeSupportedLocale(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale vSupportedLocale) {
+        boolean removed = _supportedLocaleList.remove(vSupportedLocale);
+        return removed;
+    } //-- boolean removeSupportedLocale(org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale)
+
+    /**
+     * Method removeSupports
+     *
+     * @param vSupports
+     */
+    public boolean removeSupports(org.gridsphere.portletcontainer.impl.descriptor.Supports vSupports) {
+        boolean removed = _supportsList.remove(vSupports);
+        return removed;
+    } //-- boolean removeSupports(org.gridsphere.portletcontainer.jsr.descriptor.Supports)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDisplayName
+     *
+     * @param index
+     * @param vDisplayName
+     */
+    public void setDisplayName(int index, org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _displayNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _displayNameList.set(index, vDisplayName);
+    } //-- void setDisplayName(int, org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method setDisplayName
+     *
+     * @param displayNameArray
+     */
+    public void setDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] displayNameArray) {
+        //-- copy array
+        _displayNameList.clear();
+        for (int i = 0; i < displayNameArray.length; i++) {
+            _displayNameList.add(displayNameArray[i]);
+        }
+    } //-- void setDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Sets the value of field 'expirationCache'.
+     *
+     * @param expirationCache the value of field 'expirationCache'.
+     */
+    public void setExpirationCache(org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache expirationCache) {
+        this._expirationCache = expirationCache;
+    } //-- void setExpirationCache(org.gridsphere.portletcontainer.jsr.descriptor.ExpirationCache)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Method setInitParam
+     *
+     * @param index
+     * @param vInitParam
+     */
+    public void setInitParam(int index, org.gridsphere.portletcontainer.impl.descriptor.InitParam vInitParam)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _initParamList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _initParamList.set(index, vInitParam);
+    } //-- void setInitParam(int, org.gridsphere.portletcontainer.jsr.descriptor.InitParam)
+
+    /**
+     * Method setInitParam
+     *
+     * @param initParamArray
+     */
+    public void setInitParam(org.gridsphere.portletcontainer.impl.descriptor.InitParam[] initParamArray) {
+        //-- copy array
+        _initParamList.clear();
+        for (int i = 0; i < initParamArray.length; i++) {
+            _initParamList.add(initParamArray[i]);
+        }
+    } //-- void setInitParam(org.gridsphere.portletcontainer.jsr.descriptor.InitParam)
+
+    /**
+     * Sets the value of field 'portletClass'.
+     *
+     * @param portletClass the value of field 'portletClass'.
+     */
+    public void setPortletClass(org.gridsphere.portletcontainer.impl.descriptor.PortletClass portletClass) {
+        this._portletClass = portletClass;
+    } //-- void setPortletID(java.lang.String)
+
+    /**
+     * Sets the value of field 'portletName'.
+     *
+     * @param portletName the value of field 'portletName'.
+     */
+    public void setPortletName(org.gridsphere.portletcontainer.impl.descriptor.PortletName portletName) {
+        this._portletName = portletName;
+    } //-- void setPortletName(org.gridsphere.portletcontainer.jsr.descriptor.PortletName)
+
+    /**
+     * Sets the value of field 'portletPreferences'.
+     *
+     * @param portletPreferences the value of field
+     *                           'portletPreferences'.
+     */
+    public void setPortletPreferences(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences portletPreferences) {
+        this._portletPreferences = portletPreferences;
+    } //-- void setPortletPreferences(org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferences)
+
+    /**
+     * Sets the value of field 'portletInfo'.
+     *
+     * @param portletInfo the value of field
+     *                    'portletInfo'.
+     */
+    public void setPortletInfo(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo portletInfo) {
+        this._portletInfo = portletInfo;
+    } //-- void setPortletTypeChoice(org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo)
+
+    /**
+     * Sets the value of field 'resourceBundle'.
+     *
+     * @param resourceBundle the value of field 'resourceBundle'.
+     */
+    public void setResourceBundle(org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle resourceBundle) {
+        this._resourceBundle = resourceBundle;
+    } //-- void setResourceBundle(org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundle)
+
+    /**
+     * Method setSecurityRoleRef
+     *
+     * @param index
+     * @param vSecurityRoleRef
+     */
+    public void setSecurityRoleRef(int index, org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef vSecurityRoleRef)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _securityRoleRefList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _securityRoleRefList.set(index, vSecurityRoleRef);
+    } //-- void setSecurityRoleRef(int, org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef)
+
+    /**
+     * Method setSecurityRoleRef
+     *
+     * @param securityRoleRefArray
+     */
+    public void setSecurityRoleRef(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef[] securityRoleRefArray) {
+        //-- copy array
+        _securityRoleRefList.clear();
+        for (int i = 0; i < securityRoleRefArray.length; i++) {
+            _securityRoleRefList.add(securityRoleRefArray[i]);
+        }
+    } //-- void setSecurityRoleRef(org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef)
+
+    /**
+     * Method setSupportedLocale
+     *
+     * @param index
+     * @param vSupportedLocale
+     */
+    public void setSupportedLocale(int index, org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale vSupportedLocale)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _supportedLocaleList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _supportedLocaleList.set(index, vSupportedLocale);
+    } //-- void setSupportedLocale(int, org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale)
+
+    /**
+     * Method setSupportedLocale
+     *
+     * @param supportedLocaleArray
+     */
+    public void setSupportedLocale(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale[] supportedLocaleArray) {
+        //-- copy array
+        _supportedLocaleList.clear();
+        for (int i = 0; i < supportedLocaleArray.length; i++) {
+            _supportedLocaleList.add(supportedLocaleArray[i]);
+        }
+    } //-- void setSupportedLocale(org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale)
+
+    /**
+     * Method setSupports
+     *
+     * @param index
+     * @param vSupports
+     */
+    public void setSupports(int index, org.gridsphere.portletcontainer.impl.descriptor.Supports vSupports)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _supportsList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _supportsList.set(index, vSupports);
+    } //-- void setSupports(int, org.gridsphere.portletcontainer.jsr.descriptor.Supports)
+
+    /**
+     * Method setSupports
+     *
+     * @param supportsArray
+     */
+    public void setSupports(org.gridsphere.portletcontainer.impl.descriptor.Supports[] supportsArray) {
+        //-- copy array
+        _supportsList.clear();
+        for (int i = 0; i < supportsArray.length; i++) {
+            _supportsList.add(supportsArray[i]);
+        }
+    } //-- void setSupports(org.gridsphere.portletcontainer.jsr.descriptor.Supports)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletDefinitionType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletDefinitionType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDeploymentDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: PortletDeploymentDescriptor2.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+import org.gridsphere.portletcontainer.impl.JavaXMLBindingFactory;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+
+/**
+ * The <code>PortletDeploymentDescriptor</code> is responsible for
+ * marshalling/unmarshalling the XML portlet schema represntation and the
+ * associated Java classes using Castor.
+ */
+public class PortletDeploymentDescriptor {
+
+    private PersistenceManagerXml pmXML = null;
+    private PortletApp portletApp = null;
+
+    /**
+     * Constructs a PortletDeploymentDescriptor from a portlet.xml and mapping file
+     *
+     * @param portletFilePath location of the portlet.xml
+     * @throws PersistenceManagerException if the PortletDeploymentPersistenceManager cannot be created
+     */
+    public PortletDeploymentDescriptor(String portletFilePath) throws PersistenceManagerException {
+        URL portletMappingStream = this.getClass().getResource("/org/gridsphere/portletcontainer/impl/descriptor/portlet-mapping.xml");
+        pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(portletFilePath, portletMappingStream);
+        portletApp = (PortletApp) pmXML.load();
+    }
+
+    /**
+     * Returns a list of portlet definitions
+     *
+     * @return a list of portlet definitions
+     */
+    public PortletDefinition[] getPortletDefinitionList() {
+        return portletApp.getPortlet();
+    }
+
+    public PortletApp getPortletWebApplication() {
+        return portletApp;
+    }
+
+    /**
+     * Returns a list of portlet definitions
+     *
+     * @param portlets a list of portlet definitions
+     */
+    public void setPortletDefinitionList(PortletDefinition[] portlets) {
+        this.portletApp.setPortlet(portlets);
+    }
+
+
+    public void save() throws PersistenceManagerException {
+        pmXML.save(portletApp);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletDescriptor extends PortletTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletDefinition.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfo.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletInfo.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletInfo.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletInfo extends PortletInfoType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletInfo() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletInfo) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletInfoDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletInfoDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletInfoDescriptor extends PortletInfoTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletInfoDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletInfoTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-info";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfoDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletInfo.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,188 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletInfoType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletInfoType.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletInfoType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _title
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Title _title;
+
+    /**
+     * Field _shortTitle
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.ShortTitle _shortTitle;
+
+    /**
+     * Field _keywords
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Keywords _keywords;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletInfoType() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfoType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'keywords'.
+     *
+     * @return the value of field 'keywords'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Keywords getKeywords() {
+        return this._keywords;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Keywords getKeywords()
+
+    /**
+     * Returns the value of field 'shortTitle'.
+     *
+     * @return the value of field 'shortTitle'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.ShortTitle getShortTitle() {
+        return this._shortTitle;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ShortTitle getShortTitle()
+
+    /**
+     * Returns the value of field 'title'.
+     *
+     * @return the value of field 'title'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Title getTitle() {
+        return this._title;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Title getTitle()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'keywords'.
+     *
+     * @param keywords the value of field 'keywords'.
+     */
+    public void setKeywords(org.gridsphere.portletcontainer.impl.descriptor.Keywords keywords) {
+        this._keywords = keywords;
+    } //-- void setKeywords(org.gridsphere.portletcontainer.jsr.descriptor.Keywords)
+
+    /**
+     * Sets the value of field 'shortTitle'.
+     *
+     * @param shortTitle the value of field 'shortTitle'.
+     */
+    public void setShortTitle(org.gridsphere.portletcontainer.impl.descriptor.ShortTitle shortTitle) {
+        this._shortTitle = shortTitle;
+    } //-- void setShortTitle(org.gridsphere.portletcontainer.jsr.descriptor.ShortTitle)
+
+    /**
+     * Sets the value of field 'title'.
+     *
+     * @param title the value of field 'title'.
+     */
+    public void setTitle(org.gridsphere.portletcontainer.impl.descriptor.Title title) {
+        this._title = title;
+    } //-- void setTitle(org.gridsphere.portletcontainer.jsr.descriptor.Title)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletInfoType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletInfoType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletInfoTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,266 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletInfoTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletInfoTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletInfoTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletInfoTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-infoType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletInfoType target = (PortletInfoType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletInfoType target = (PortletInfoType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _title
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Title.class, "_title", "title", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletInfoType target = (PortletInfoType) object;
+                return target.getTitle();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletInfoType target = (PortletInfoType) object;
+                    target.setTitle((org.gridsphere.portletcontainer.impl.descriptor.Title) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Title();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _title
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _shortTitle
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.ShortTitle.class, "_shortTitle", "short-title", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletInfoType target = (PortletInfoType) object;
+                return target.getShortTitle();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletInfoType target = (PortletInfoType) object;
+                    target.setShortTitle((org.gridsphere.portletcontainer.impl.descriptor.ShortTitle) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.ShortTitle();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _shortTitle
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _keywords
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Keywords.class, "_keywords", "keywords", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletInfoType target = (PortletInfoType) object;
+                return target.getKeywords();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletInfoType target = (PortletInfoType) object;
+                    target.setKeywords((org.gridsphere.portletcontainer.impl.descriptor.Keywords) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Keywords();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _keywords
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfoTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletInfoType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletMode.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletMode.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletMode.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletMode extends PortletModeType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletMode() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletMode()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletMode) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletMode.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletModeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletModeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletModeDescriptor extends PortletModeTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletModeDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletModeTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-mode";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletModeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletMode.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,127 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletModeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Portlet modes. The specification pre-defines the following
+ * values
+ * as valid portlet mode constants:
+ * "edit", "help", "view".
+ * Portlet mode names are not case sensitive.
+ * Used in: custom-portlet-mode, supports
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletModeType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletModeType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletModeType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletModeType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletModeType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletModeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletModeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletModeTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletModeTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletModeTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-modeType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletModeType target = (PortletModeType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletModeType target = (PortletModeType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletModeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletModeType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletName.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletName.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletName.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletName.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletName.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletName extends PortletNameType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletName() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletName()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletName) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletName.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletNameDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletNameDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletNameDescriptor extends PortletNameTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletNameDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletNameTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-name";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletName.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletNameType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The portlet-name element contains the canonical name of the
+ * portlet. Each portlet name is unique within the portlet
+ * application.
+ * Used in: portlet, portlet-mapping
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletNameType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletNameType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletNameType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletNameType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletNameTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletNameTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletNameTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletNameTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletNameTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-nameType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletNameType target = (PortletNameType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletNameType target = (PortletNameType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletNameType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferences.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletPreferences.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletPreferences.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletPreferences extends PortletPreferencesType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletPreferences() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferences()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletPreferencesDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletPreferencesDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletPreferencesDescriptor extends PortletPreferencesTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletPreferencesDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletPreferencesTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-preferences";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferencesDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,258 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletPreferencesType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * Portlet persistent preference store.
+ * Used in: portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletPreferencesType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _preferenceList
+     */
+    private java.util.ArrayList _preferenceList;
+
+    /**
+     * Field _preferencesValidator
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator _preferencesValidator;
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletPreferencesType() {
+        super();
+        _preferenceList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferencesType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addPreference
+     *
+     * @param vPreference
+     */
+    public void addPreference(org.gridsphere.portletcontainer.impl.descriptor.Preference vPreference)
+            throws java.lang.IndexOutOfBoundsException {
+        _preferenceList.add(vPreference);
+    } //-- void addPreference(org.gridsphere.portletcontainer.jsr.descriptor.Preference)
+
+    /**
+     * Method addPreference
+     *
+     * @param index
+     * @param vPreference
+     */
+    public void addPreference(int index, org.gridsphere.portletcontainer.impl.descriptor.Preference vPreference)
+            throws java.lang.IndexOutOfBoundsException {
+        _preferenceList.add(index, vPreference);
+    } //-- void addPreference(int, org.gridsphere.portletcontainer.jsr.descriptor.Preference)
+
+    /**
+     * Method clearPreference
+     */
+    public void clearPreference() {
+        _preferenceList.clear();
+    } //-- void clearPreference()
+
+    /**
+     * Method enumeratePreference
+     */
+    public java.util.Enumeration enumeratePreference() {
+        return new org.exolab.castor.util.IteratorEnumeration(_preferenceList.iterator());
+    } //-- java.util.Enumeration enumeratePreference()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Method getPreference
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Preference getPreference(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _preferenceList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Preference) _preferenceList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Preference getPreference(int)
+
+    /**
+     * Method getPreference
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Preference[] getPreference() {
+        int size = _preferenceList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Preference[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Preference[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Preference) _preferenceList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Preference[] getPreference()
+
+    /**
+     * Method getPreferenceCount
+     */
+    public int getPreferenceCount() {
+        return _preferenceList.size();
+    } //-- int getPreferenceCount()
+
+    /**
+     * Returns the value of field 'preferencesValidator'.
+     *
+     * @return the value of field 'preferencesValidator'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator getPreferencesValidator() {
+        return this._preferencesValidator;
+    } //-- java.lang.String getPreferencesValidator()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removePreference
+     *
+     * @param vPreference
+     */
+    public boolean removePreference(org.gridsphere.portletcontainer.impl.descriptor.Preference vPreference) {
+        boolean removed = _preferenceList.remove(vPreference);
+        return removed;
+    } //-- boolean removePreference(org.gridsphere.portletcontainer.jsr.descriptor.Preference)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Method setPreference
+     *
+     * @param index
+     * @param vPreference
+     */
+    public void setPreference(int index, org.gridsphere.portletcontainer.impl.descriptor.Preference vPreference)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _preferenceList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _preferenceList.set(index, vPreference);
+    } //-- void setPreference(int, org.gridsphere.portletcontainer.jsr.descriptor.Preference)
+
+    /**
+     * Method setPreference
+     *
+     * @param preferenceArray
+     */
+    public void setPreference(org.gridsphere.portletcontainer.impl.descriptor.Preference[] preferenceArray) {
+        //-- copy array
+        _preferenceList.clear();
+        for (int i = 0; i < preferenceArray.length; i++) {
+            _preferenceList.add(preferenceArray[i]);
+        }
+    } //-- void setPreference(org.gridsphere.portletcontainer.jsr.descriptor.Preference)
+
+    /**
+     * Sets the value of field 'preferencesValidator'.
+     *
+     * @param preferencesValidator the value of field
+     *                             'preferencesValidator'.
+     */
+    public void setPreferencesValidator(org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator preferencesValidator) {
+        this._preferencesValidator = preferencesValidator;
+    } //-- void setPreferencesValidator(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletPreferencesType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferencesType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletPreferencesTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,236 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletPreferencesTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletPreferencesTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletPreferencesTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletPreferencesTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-preferencesType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletPreferencesType target = (PortletPreferencesType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletPreferencesType target = (PortletPreferencesType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _preferenceList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Preference.class, "_preferenceList", "preference", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletPreferencesType target = (PortletPreferencesType) object;
+                return target.getPreference();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletPreferencesType target = (PortletPreferencesType) object;
+                    target.addPreference((org.gridsphere.portletcontainer.impl.descriptor.Preference) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Preference();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _preferenceList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _preferencesValidator
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_preferencesValidator", "preferences-validator", org.exolab.castor.xml.NodeType.Element);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletPreferencesType target = (PortletPreferencesType) object;
+                return target.getPreferencesValidator();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletPreferencesType target = (PortletPreferencesType) object;
+                    target.setPreferencesValidator((org.gridsphere.portletcontainer.impl.descriptor.PreferencesValidator) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _preferencesValidator
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("collapse");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletPreferencesTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletPreferencesType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoice.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletTypeChoice.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletTypeChoice.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletTypeChoice implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _portletTypeChoiceSequence
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence _portletTypeChoiceSequence;
+
+    /**
+     * Field _portletInfo
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletInfo _portletInfo;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletTypeChoice() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoice()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'portletInfo'.
+     * 
+     * @return the value of field 'portletInfo'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletInfo getPortletInfo() {
+        return this._portletInfo;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo getPortletInfo()
+
+    /**
+     * Returns the value of field 'portletTypeChoiceSequence'.
+     * 
+     * @return the value of field 'portletTypeChoiceSequence'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence getPortletTypeChoiceSequence() {
+        return this._portletTypeChoiceSequence;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoiceSequence getPortletTypeChoiceSequence()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid() 
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer) 
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler) 
+
+    /**
+     * Sets the value of field 'portletInfo'.
+     * 
+     * @param portletInfo the value of field 'portletInfo'.
+     */
+    public void setPortletInfo(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo portletInfo) {
+        this._portletInfo = portletInfo;
+    } //-- void setPortletInfo(org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo)
+
+    /**
+     * Sets the value of field 'portletTypeChoiceSequence'.
+     *
+     * @param portletTypeChoiceSequence the value of field
+     *                                  'portletTypeChoiceSequence'.
+     */
+    public void setPortletTypeChoiceSequence(org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence portletTypeChoiceSequence) {
+        this._portletTypeChoiceSequence = portletTypeChoiceSequence;
+    } //-- void setPortletTypeChoiceSequence(org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoiceSequence)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader) 
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletTypeChoiceDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletTypeChoiceDescriptor.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletTypeChoiceDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletTypeChoiceDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        
+        //-- set grouping compositor
+        setCompositorAsChoice();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+        
+        //-- initialize element descriptors
+        
+        //-- _portletTypeChoiceSequence
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence.class, "_portletTypeChoiceSequence", "-error-if-this-is-used-", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletTypeChoice target = (PortletTypeChoice) object;
+                return target.getPortletTypeChoiceSequence();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletTypeChoice target = (PortletTypeChoice) object;
+                    target.setPortletTypeChoiceSequence((org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setContainer(true);
+        desc.setClassDescriptor(new org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequenceDescriptor());
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _portletTypeChoiceSequence
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletInfo
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo.class, "_portletInfo", "portlet-info", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletTypeChoice target = (PortletTypeChoice) object;
+                return target.getPortletInfo();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletTypeChoice target = (PortletTypeChoice) object;
+                    target.setPortletInfo((org.gridsphere.portletcontainer.impl.descriptor.PortletInfo) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletInfo();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _portletInfo
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoiceDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode() 
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() 
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() 
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoice.class;
+    } //-- java.lang.Class getJavaClass() 
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix() 
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI() 
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator() 
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequence.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,142 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletTypeChoiceSequence.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletTypeChoiceSequence.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletTypeChoiceSequence implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _resourceBundle
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle _resourceBundle;
+
+    /**
+     * Field _portletInfo
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletInfo _portletInfo;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletTypeChoiceSequence() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoiceSequence()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'portletInfo'.
+     * 
+     * @return the value of field 'portletInfo'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletInfo getPortletInfo() {
+        return this._portletInfo;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo getPortletInfo()
+
+    /**
+     * Returns the value of field 'resourceBundle'.
+     * 
+     * @return the value of field 'resourceBundle'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle getResourceBundle() {
+        return this._resourceBundle;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundle getResourceBundle()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid() 
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer) 
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler) 
+
+    /**
+     * Sets the value of field 'portletInfo'.
+     * 
+     * @param portletInfo the value of field 'portletInfo'.
+     */
+    public void setPortletInfo(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo portletInfo) {
+        this._portletInfo = portletInfo;
+    } //-- void setPortletInfo(org.gridsphere.portletcontainer.jsr.descriptor.PortletInfo)
+
+    /**
+     * Sets the value of field 'resourceBundle'.
+     * 
+     * @param resourceBundle the value of field 'resourceBundle'.
+     */
+    public void setResourceBundle(org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle resourceBundle) {
+        this._resourceBundle = resourceBundle;
+    } //-- void setResourceBundle(org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundle)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader) 
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeChoiceSequenceDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,196 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletTypeChoiceSequenceDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletTypeChoiceSequenceDescriptor.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletTypeChoiceSequenceDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletTypeChoiceSequenceDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+        
+        //-- initialize element descriptors
+        
+        //-- _resourceBundle
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle.class, "_resourceBundle", "resource-bundle", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletTypeChoiceSequence target = (PortletTypeChoiceSequence) object;
+                return target.getResourceBundle();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletTypeChoiceSequence target = (PortletTypeChoiceSequence) object;
+                    target.setResourceBundle((org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _resourceBundle
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletInfo
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletInfo.class, "_portletInfo", "portlet-info", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletTypeChoiceSequence target = (PortletTypeChoiceSequence) object;
+                return target.getPortletInfo();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletTypeChoiceSequence target = (PortletTypeChoiceSequence) object;
+                    target.setPortletInfo((org.gridsphere.portletcontainer.impl.descriptor.PortletInfo) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletInfo();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+        
+        //-- validation code for: _portletInfo
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeChoiceSequenceDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode() 
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() 
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() 
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletTypeChoiceSequence.class;
+    } //-- java.lang.Class getJavaClass() 
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix() 
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI() 
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator() 
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PortletTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,511 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PortletTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PortletTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PortletTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portletType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletName
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletName.class, "_portletName", "portlet-name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getPortletName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.setPortletName((org.gridsphere.portletcontainer.impl.descriptor.PortletName) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletName();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletName
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _displayNameList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.DisplayName.class, "_displayNameList", "display-name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getDisplayName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addDisplayName((org.gridsphere.portletcontainer.impl.descriptor.DisplayName) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.DisplayName();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _displayNameList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletClass
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_portletClass", "portlet-class", org.exolab.castor.xml.NodeType.Element);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getPortletClass();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.setPortletClass((org.gridsphere.portletcontainer.impl.descriptor.PortletClass) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletClass
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("collapse");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _initParamList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.InitParam.class, "_initParamList", "init-param", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getInitParam();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addInitParam((org.gridsphere.portletcontainer.impl.descriptor.InitParam) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.InitParam();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _initParamList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _expirationCache
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache.class, "_expirationCache", "expiration-cache", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getExpirationCache();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.setExpirationCache((org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.ExpirationCache();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _expirationCache
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _supportsList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Supports.class, "_supportsList", "supports", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getSupports();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addSupports((org.gridsphere.portletcontainer.impl.descriptor.Supports) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Supports();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _supportsList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _supportedLocaleList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale.class, "_supportedLocaleList", "supported-locale", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getSupportedLocale();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addSupportedLocale((org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _supportedLocaleList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+
+        //-- _portletPreferences
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences.class, "_portletPreferences", "portlet-preferences", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getPortletPreferences();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.setPortletPreferences((org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletPreferences();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletPreferences
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _securityRoleRefList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef.class, "_securityRoleRefList", "security-role-ref", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PortletDefinitionType target = (PortletDefinitionType) object;
+                return target.getSecurityRoleRef();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletDefinitionType target = (PortletDefinitionType) object;
+                    target.addSecurityRoleRef((org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _securityRoleRefList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PortletDefinitionType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Preference.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Preference.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Preference.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Preference.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Preference.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Preference extends PreferenceType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Preference() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Preference()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Preference) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Preference.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferenceDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PreferenceDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferenceDescriptor extends PreferenceTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferenceDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PreferenceTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "preference";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PreferenceDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Preference.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,284 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferenceType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+import org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType;
+
+import java.util.ArrayList;
+
+/**
+ * Persistent preference values that may be used for customization
+ * and personalization by the portlet.
+ * Used in: portlet-preferences
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferenceType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _name
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Name _name;
+
+    /**
+     * Field _valueList
+     */
+    private java.util.ArrayList _valueList;
+
+    /**
+     * Field _readOnly
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType _readOnly;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferenceType() {
+        super();
+        _readOnly = new ReadOnlyType();
+        _valueList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PreferenceType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addValue
+     *
+     * @param vValue
+     */
+    public void addValue(org.gridsphere.portletcontainer.impl.descriptor.Value vValue)
+            throws java.lang.IndexOutOfBoundsException {
+        _valueList.add(vValue);
+    } //-- void addValue(org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Method addValue
+     *
+     * @param index
+     * @param vValue
+     */
+    public void addValue(int index, org.gridsphere.portletcontainer.impl.descriptor.Value vValue)
+            throws java.lang.IndexOutOfBoundsException {
+        _valueList.add(index, vValue);
+    } //-- void addValue(int, org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Method clearValue
+     */
+    public void clearValue() {
+        _valueList.clear();
+    } //-- void clearValue()
+
+    /**
+     * Method enumerateValue
+     */
+    public java.util.Enumeration enumerateValue() {
+        return new org.exolab.castor.util.IteratorEnumeration(_valueList.iterator());
+    } //-- java.util.Enumeration enumerateValue()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'name'.
+     *
+     * @return the value of field 'name'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Name getName() {
+        return this._name;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Name getName()
+
+    /**
+     * Returns the value of field 'readOnly'.
+     *
+     * @return the value of field 'readOnly'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType getReadOnly() {
+        return this._readOnly;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.ReadOnlyType getReadOnly()
+
+    /**
+     * Method getValue
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Value getValue(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _valueList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Value) _valueList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Value getValue(int)
+
+    /**
+     * Method getValue
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Value[] getValue() {
+        int size = _valueList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Value[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Value[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Value) _valueList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Value[] getValue()
+
+    /**
+     * Method getValueCount
+     */
+    public int getValueCount() {
+        return _valueList.size();
+    } //-- int getValueCount()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeValue
+     *
+     * @param vValue
+     */
+    public boolean removeValue(org.gridsphere.portletcontainer.impl.descriptor.Value vValue) {
+        boolean removed = _valueList.remove(vValue);
+        return removed;
+    } //-- boolean removeValue(org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'name'.
+     *
+     * @param name the value of field 'name'.
+     */
+    public void setName(org.gridsphere.portletcontainer.impl.descriptor.Name name) {
+        this._name = name;
+    } //-- void setName(org.gridsphere.portletcontainer.jsr.descriptor.Name)
+
+    /**
+     * Sets the value of field 'readOnly'.
+     *
+     * @param readOnly the value of field 'readOnly'.
+     */
+    public void setReadOnly(org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType readOnly) {
+        this._readOnly = readOnly;
+    } //-- void setReadOnly(org.gridsphere.portletcontainer.jsr.descriptor.types.ReadOnlyType)
+
+    /**
+     * Method setValue
+     *
+     * @param index
+     * @param vValue
+     */
+    public void setValue(int index, org.gridsphere.portletcontainer.impl.descriptor.Value vValue)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _valueList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _valueList.set(index, vValue);
+    } //-- void setValue(int, org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Method setValue
+     *
+     * @param valueArray
+     */
+    public void setValue(org.gridsphere.portletcontainer.impl.descriptor.Value[] valueArray) {
+        //-- copy array
+        _valueList.clear();
+        for (int i = 0; i < valueArray.length; i++) {
+            _valueList.add(valueArray[i]);
+        }
+    } //-- void setValue(org.gridsphere.portletcontainer.jsr.descriptor.Value)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.PreferenceType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.PreferenceType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferenceTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,268 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferenceTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PreferenceTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferenceTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferenceTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "preferenceType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PreferenceType target = (PreferenceType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PreferenceType target = (PreferenceType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _name
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Name.class, "_name", "name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PreferenceType target = (PreferenceType) object;
+                return target.getName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PreferenceType target = (PreferenceType) object;
+                    target.setName((org.gridsphere.portletcontainer.impl.descriptor.Name) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Name();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _name
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _valueList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Value.class, "_valueList", "value", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PreferenceType target = (PreferenceType) object;
+                return target.getValue();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PreferenceType target = (PreferenceType) object;
+                    target.addValue((org.gridsphere.portletcontainer.impl.descriptor.Value) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Value();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _valueList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _readOnly
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType.class, "_readOnly", "read-only", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                PreferenceType target = (PreferenceType) object;
+                return target.getReadOnly();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PreferenceType target = (PreferenceType) object;
+                    target.setReadOnly((org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(new org.exolab.castor.xml.handlers.EnumFieldHandler(org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType.class, handler));
+        desc.setImmutable(true);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _readOnly
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PreferenceTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.PreferenceType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferencesValidator.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class PortletName.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferencesValidator extends PortletNameType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferencesValidator() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletName()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (PreferencesValidator) Unmarshaller.unmarshal(PreferencesValidator.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferencesValidatorDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class PortletNameDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferencesValidatorDescriptor extends PortletNameTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferencesValidatorDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new PortletNameTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-name";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return PortletName.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferencesValidatorType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The portlet-name element contains the canonical name of the
+ * portlet. Each portlet name is unique within the portlet
+ * application.
+ * Used in: portlet, portlet-mapping
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferencesValidatorType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferencesValidatorType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (PreferencesValidatorType) Unmarshaller.unmarshal(PreferencesValidatorType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/PreferencesValidatorTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: PreferencesValidatorTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class PortletNameTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class PreferencesValidatorTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public PreferencesValidatorTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "portlet-nameType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public Object getValue(Object object)
+                    throws IllegalStateException {
+                PortletNameType target = (PortletNameType) object;
+                return target.getContent();
+            }
+
+            public void setValue(Object object, Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    PortletNameType target = (PortletNameType) object;
+                    target.setContent((String) value);
+                } catch (Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public Object newInstance(Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletNameTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return PortletNameType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundle.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ResourceBundle.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class ResourceBundle.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ResourceBundle extends ResourceBundleType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ResourceBundle() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundle()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ResourceBundleDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class ResourceBundleDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ResourceBundleDescriptor extends ResourceBundleTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ResourceBundleDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new ResourceBundleTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "resource-bundle";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundleDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ResourceBundle.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ResourceBundleType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Filename of the resource bundle containing the language specific
+ * <p/>
+ * portlet informations in different languages.
+ * Used in: portlet-info
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ResourceBundleType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ResourceBundleType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundleType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ResourceBundleType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ResourceBundleType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ResourceBundleTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ResourceBundleTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class ResourceBundleTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ResourceBundleTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ResourceBundleTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "resource-bundleType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                ResourceBundleType target = (ResourceBundleType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    ResourceBundleType target = (ResourceBundleType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ResourceBundleTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ResourceBundleType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLink.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleLink.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class RoleLink.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleLink extends RoleLinkType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleLink() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleLink()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.RoleLink) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.RoleLink.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleLinkDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class RoleLinkDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleLinkDescriptor extends RoleLinkTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleLinkDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new RoleLinkTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "role-link";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleLinkDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.RoleLink.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,126 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleLinkType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The role-link element is a reference to a defined security role.
+ * <p/>
+ * The role-link element must contain the name of one of the
+ * security roles defined in the security-role elements.
+ * Used in: security-role-ref
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleLinkType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleLinkType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleLinkType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.RoleLinkType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.RoleLinkType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleLinkTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleLinkTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class RoleLinkTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleLinkTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleLinkTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "role-linkType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                RoleLinkType target = (RoleLinkType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    RoleLinkType target = (RoleLinkType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleLinkTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.RoleLinkType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleName.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleName.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleName.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleName.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class RoleName.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleName extends RoleNameType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleName() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleName()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (RoleName) Unmarshaller.unmarshal(RoleName.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleNameDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class RoleNameDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleNameDescriptor extends RoleNameTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleNameDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new RoleNameTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "role-name";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleNameDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return RoleName.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,126 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleNameType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The role-name element is a reference to a defined security role.
+ * <p/>
+ * The role-name element must contain the name of one of the
+ * security roles defined in the security-role elements.
+ * Used in: security-role-ref
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleNameType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleNameType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleNameType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (RoleNameType) Unmarshaller.unmarshal(RoleNameType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/RoleNameTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: RoleNameTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class RoleNameTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class RoleNameTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public RoleNameTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "role-nameType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public Object getValue(Object object)
+                    throws IllegalStateException {
+                RoleNameType target = (RoleNameType) object;
+                return target.getContent();
+            }
+
+            public void setValue(Object object, Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    RoleNameType target = (RoleNameType) object;
+                    target.setContent((String) value);
+                } catch (Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public Object newInstance(Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleNameTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public Class getJavaClass() {
+        return RoleNameType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraint.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityConstraint.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class SecurityConstraint.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityConstraint extends SecurityConstraintType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityConstraint() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraint()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityConstraintDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class SecurityConstraintDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityConstraintDescriptor extends SecurityConstraintTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityConstraintDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new SecurityConstraintTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "security-constraint";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraintDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraint.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,284 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityConstraintType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The security-constraintType is used to associate
+ * intended security constraints with one or more portlets.
+ * Used in: portlet-app
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityConstraintType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _displayNameList
+     */
+    private java.util.ArrayList _displayNameList;
+
+    /**
+     * Field _portletCollection
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.PortletCollection _portletCollection;
+
+    /**
+     * Field _userDataConstraint
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint _userDataConstraint;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityConstraintType() {
+        super();
+        _displayNameList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraintType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDisplayName
+     *
+     * @param vDisplayName
+     */
+    public void addDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        _displayNameList.add(vDisplayName);
+    } //-- void addDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method addDisplayName
+     *
+     * @param index
+     * @param vDisplayName
+     */
+    public void addDisplayName(int index, org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        _displayNameList.add(index, vDisplayName);
+    } //-- void addDisplayName(int, org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method clearDisplayName
+     */
+    public void clearDisplayName() {
+        _displayNameList.clear();
+    } //-- void clearDisplayName()
+
+    /**
+     * Method enumerateDisplayName
+     */
+    public java.util.Enumeration enumerateDisplayName() {
+        return new org.exolab.castor.util.IteratorEnumeration(_displayNameList.iterator());
+    } //-- java.util.Enumeration enumerateDisplayName()
+
+    /**
+     * Method getDisplayName
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.DisplayName getDisplayName(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _displayNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.DisplayName) _displayNameList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayName getDisplayName(int)
+
+    /**
+     * Method getDisplayName
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] getDisplayName() {
+        int size = _displayNameList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.DisplayName[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.DisplayName) _displayNameList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.DisplayName[] getDisplayName()
+
+    /**
+     * Method getDisplayNameCount
+     */
+    public int getDisplayNameCount() {
+        return _displayNameList.size();
+    } //-- int getDisplayNameCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'portletCollection'.
+     *
+     * @return the value of field 'portletCollection'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletCollection getPortletCollection() {
+        return this._portletCollection;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletCollection getPortletCollection()
+
+    /**
+     * Returns the value of field 'userDataConstraint'.
+     *
+     * @return the value of field 'userDataConstraint'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint getUserDataConstraint() {
+        return this._userDataConstraint;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraint getUserDataConstraint()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDisplayName
+     *
+     * @param vDisplayName
+     */
+    public boolean removeDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName) {
+        boolean removed = _displayNameList.remove(vDisplayName);
+        return removed;
+    } //-- boolean removeDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method setDisplayName
+     *
+     * @param index
+     * @param vDisplayName
+     */
+    public void setDisplayName(int index, org.gridsphere.portletcontainer.impl.descriptor.DisplayName vDisplayName)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _displayNameList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _displayNameList.set(index, vDisplayName);
+    } //-- void setDisplayName(int, org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Method setDisplayName
+     *
+     * @param displayNameArray
+     */
+    public void setDisplayName(org.gridsphere.portletcontainer.impl.descriptor.DisplayName[] displayNameArray) {
+        //-- copy array
+        _displayNameList.clear();
+        for (int i = 0; i < displayNameArray.length; i++) {
+            _displayNameList.add(displayNameArray[i]);
+        }
+    } //-- void setDisplayName(org.gridsphere.portletcontainer.jsr.descriptor.DisplayName)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'portletCollection'.
+     *
+     * @param portletCollection the value of field
+     *                          'portletCollection'.
+     */
+    public void setPortletCollection(org.gridsphere.portletcontainer.impl.descriptor.PortletCollection portletCollection) {
+        this._portletCollection = portletCollection;
+    } //-- void setPortletCollection(org.gridsphere.portletcontainer.jsr.descriptor.PortletCollection)
+
+    /**
+     * Sets the value of field 'userDataConstraint'.
+     *
+     * @param userDataConstraint the value of field
+     *                           'userDataConstraint'.
+     */
+    public void setUserDataConstraint(org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint userDataConstraint) {
+        this._userDataConstraint = userDataConstraint;
+    } //-- void setUserDataConstraint(org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraint)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraintType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraintType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityConstraintTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,269 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityConstraintTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class SecurityConstraintTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityConstraintTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityConstraintTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "security-constraintType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityConstraintType target = (SecurityConstraintType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityConstraintType target = (SecurityConstraintType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _displayNameList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.DisplayName.class, "_displayNameList", "display-name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityConstraintType target = (SecurityConstraintType) object;
+                return target.getDisplayName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityConstraintType target = (SecurityConstraintType) object;
+                    target.addDisplayName((org.gridsphere.portletcontainer.impl.descriptor.DisplayName) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.DisplayName();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _displayNameList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletCollection
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletCollection.class, "_portletCollection", "portlet-collection", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityConstraintType target = (SecurityConstraintType) object;
+                return target.getPortletCollection();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityConstraintType target = (SecurityConstraintType) object;
+                    target.setPortletCollection((org.gridsphere.portletcontainer.impl.descriptor.PortletCollection) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletCollection();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletCollection
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _userDataConstraint
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint.class, "_userDataConstraint", "user-data-constraint", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityConstraintType target = (SecurityConstraintType) object;
+                return target.getUserDataConstraint();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityConstraintType target = (SecurityConstraintType) object;
+                    target.setUserDataConstraint((org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _userDataConstraint
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityConstraintTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SecurityConstraintType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRef.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityRoleRef.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class SecurityRoleRef.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityRoleRef extends SecurityRoleRefType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityRoleRef() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRef()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityRoleRefDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class SecurityRoleRefDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityRoleRefDescriptor extends SecurityRoleRefTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityRoleRefDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new SecurityRoleRefTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "security-role-ref";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRefDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRef.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,291 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityRoleRefType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The security-role-ref element contains the declaration of a
+ * security role reference in the code of the web application. The
+ * <p/>
+ * declaration consists of an optional description, the security
+ * role name used in the code, and an optional link to a security
+ * role. If the security role is not specified, the Deployer must
+ * choose an appropriate security role.
+ * The value of the role name element must be the String used
+ * as the parameter to the
+ * EJBContext.isCallerInRole(String roleName) method
+ * or the HttpServletRequest.isUserInRole(String role) method.
+ * Used in: portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityRoleRefType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    protected java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    protected java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _roleName
+     */
+    protected org.gridsphere.portletcontainer.impl.descriptor.RoleName _roleName;
+
+    /**
+     * Field _roleLink
+     */
+    protected org.gridsphere.portletcontainer.impl.descriptor.RoleLink _roleLink;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityRoleRefType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRefType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'roleLink'.
+     *
+     * @return the value of field 'roleLink'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.RoleLink getRoleLink() {
+        return this._roleLink;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleLink getRoleLink()
+
+    /**
+     * Returns the value of field 'roleName'.
+     *
+     * @return the value of field 'roleName'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.RoleName getRoleName() {
+        return this._roleName;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.RoleName getRoleName()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'roleLink'.
+     *
+     * @param roleLink the value of field 'roleLink'.
+     */
+    public void setRoleLink(org.gridsphere.portletcontainer.impl.descriptor.RoleLink roleLink) {
+        this._roleLink = roleLink;
+    } //-- void setRoleLink(org.gridsphere.portletcontainer.jsr.descriptor.RoleLink)
+
+    /**
+     * Sets the value of field 'roleName'.
+     *
+     * @param roleName the value of field 'roleName'.
+     */
+    public void setRoleName(org.gridsphere.portletcontainer.impl.descriptor.RoleName roleName) {
+        this._roleName = roleName;
+    } //-- void setRoleName(org.gridsphere.portletcontainer.jsr.descriptor.RoleName)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRefType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRefType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SecurityRoleRefTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,270 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SecurityRoleRefTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.NameValidator;
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class SecurityRoleRefTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SecurityRoleRefTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SecurityRoleRefTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "security-role-refType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityRoleRefType target = (SecurityRoleRefType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityRoleRefType target = (SecurityRoleRefType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityRoleRefType target = (SecurityRoleRefType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityRoleRefType target = (SecurityRoleRefType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _roleName
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_roleName", "role-name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityRoleRefType target = (SecurityRoleRefType) object;
+                return target.getRoleName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityRoleRefType target = (SecurityRoleRefType) object;
+                    target.setRoleName(target.getRoleName());
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new java.lang.String();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _roleName
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+            NameValidator typeValidator = new NameValidator(NameValidator.NMTOKEN);
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- _roleLink
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.RoleLink.class, "_roleLink", "role-link", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SecurityRoleRefType target = (SecurityRoleRefType) object;
+                return target.getRoleLink();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SecurityRoleRefType target = (SecurityRoleRefType) object;
+                    target.setRoleLink((org.gridsphere.portletcontainer.impl.descriptor.RoleLink) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.RoleLink();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _roleLink
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SecurityRoleRefTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SecurityRoleRefType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitle.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ShortTitle.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class ShortTitle.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ShortTitle extends ShortTitleType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ShortTitle() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ShortTitle()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ShortTitle) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ShortTitle.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ShortTitleDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class ShortTitleDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ShortTitleDescriptor extends ShortTitleTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ShortTitleDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new ShortTitleTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "short-title";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ShortTitleDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ShortTitle.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ShortTitleType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Locale specific short version of the static title.
+ * Used in: portlet-info
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ShortTitleType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ShortTitleType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ShortTitleType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ShortTitleType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ShortTitleType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ShortTitleTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ShortTitleTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class ShortTitleTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ShortTitleTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ShortTitleTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "short-titleType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                ShortTitleType target = (ShortTitleType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    ShortTitleType target = (ShortTitleType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ShortTitleTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ShortTitleType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocale.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportedLocale.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class SupportedLocale.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportedLocale extends SupportedLocaleType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportedLocale() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocale()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportedLocaleDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class SupportedLocaleDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportedLocaleDescriptor extends SupportedLocaleTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportedLocaleDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new SupportedLocaleTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "supported-locale";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocaleDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SupportedLocale.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportedLocaleType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Indicated the locales the portlet supports.
+ * Used in: portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportedLocaleType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportedLocaleType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocaleType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SupportedLocaleType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SupportedLocaleType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportedLocaleTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportedLocaleTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class SupportedLocaleTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportedLocaleTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportedLocaleTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "supported-localeType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SupportedLocaleType target = (SupportedLocaleType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SupportedLocaleType target = (SupportedLocaleType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportedLocaleTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SupportedLocaleType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Supports.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Supports.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Supports.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Supports.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Supports.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Supports extends SupportsType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Supports() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Supports()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Supports) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Supports.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportsDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class SupportsDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportsDescriptor extends SupportsTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportsDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new SupportsTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "supports";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportsDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Supports.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,371 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportsType.java 4892 2006-06-28 22:56:26Z novotny $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * Supports indicates the portlet modes a
+ * portlet supports for a specific content type. All portlets must
+ * <p/>
+ * support the view mode.
+ * Used in: portlet
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportsType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _mimeType
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.MimeType _mimeType;
+
+    /**
+     * Field _portletModeList
+     */
+    private java.util.ArrayList _portletModeList;
+
+    /**
+     * Field _windowStateList
+     */
+    private java.util.ArrayList _windowStateList;
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportsType() {
+        super();
+        _portletModeList = new ArrayList();
+        _windowStateList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportsType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addPortletMode
+     *
+     * @param vPortletMode
+     */
+    public void addPortletMode(org.gridsphere.portletcontainer.impl.descriptor.PortletMode vPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletModeList.add(vPortletMode);
+    } //-- void addPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method addPortletMode
+     *
+     * @param index
+     * @param vPortletMode
+     */
+    public void addPortletMode(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletMode vPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        _portletModeList.add(index, vPortletMode);
+    } //-- void addPortletMode(int, org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method clearPortletMode
+     */
+    public void clearPortletMode() {
+        _portletModeList.clear();
+    } //-- void clearPortletMode()
+
+    /**
+     * Method enumeratePortletMode
+     */
+    public java.util.Enumeration enumeratePortletMode() {
+        return new org.exolab.castor.util.IteratorEnumeration(_portletModeList.iterator());
+    } //-- java.util.Enumeration enumeratePortletMode()
+
+    /**
+     * Method addWindowState
+     *
+     * @param vWindowState
+     */
+    public void addWindowState(org.gridsphere.portletcontainer.impl.descriptor.WindowState vWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        _windowStateList.add(vWindowState);
+    } //-- void addPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Method addWindowState
+     *
+     * @param index
+     * @param vWindowState
+     */
+    public void addWindowState(int index, org.gridsphere.portletcontainer.impl.descriptor.WindowState vWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        _windowStateList.add(index, vWindowState);
+    } //-- void addWindowState(int, org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Method clearWindowState
+     */
+    public void clearWindowState() {
+        _windowStateList.clear();
+    } //-- void clearWindowState()
+
+    /**
+     * Method enumerateWindowState
+     */
+    public java.util.Enumeration enumerateWindowState() {
+        return new org.exolab.castor.util.IteratorEnumeration(_windowStateList.iterator());
+    } //-- java.util.Enumeration enumerateWindowState()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'mimeType'.
+     *
+     * @return the value of field 'mimeType'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.MimeType getMimeType() {
+        return this._mimeType;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.MimeType getMimeType()
+
+    /**
+     * Method getWindowState
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.WindowState getWindowState(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _windowStateList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.WindowState) _windowStateList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowState getWindowState(int)
+
+    /**
+     * Method getWindowState
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.WindowState[] getWindowState() {
+        int size = _windowStateList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.WindowState[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.WindowState[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.WindowState) _windowStateList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowState[] getWindowState()
+
+    /**
+     * Method getWindowStateCount
+     */
+    public int getWindowStateCount() {
+        return _windowStateList.size();
+    } //-- int getWindowStateCount()
+
+    /**
+     * Method getPortletMode
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletMode getPortletMode(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletModeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.PortletMode) _portletModeList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletMode getPortletMode(int)
+
+    /**
+     * Method getPortletMode
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.PortletMode[] getPortletMode() {
+        int size = _portletModeList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.PortletMode[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.PortletMode[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.PortletMode) _portletModeList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.PortletMode[] getPortletMode()
+
+    /**
+     * Method getPortletModeCount
+     */
+    public int getPortletModeCount() {
+        return _portletModeList.size();
+    } //-- int getPortletModeCount()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removePortletMode
+     *
+     * @param vPortletMode
+     */
+    public boolean removePortletMode(org.gridsphere.portletcontainer.impl.descriptor.PortletMode vPortletMode) {
+        return _portletModeList.remove(vPortletMode);
+    } //-- boolean removePortletMode(org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method removeWindowState
+     *
+     * @param vWindowState
+     */
+    public boolean removeWindowState(org.gridsphere.portletcontainer.impl.descriptor.WindowState vWindowState) {
+        return _windowStateList.remove(vWindowState);
+    } //-- boolean removeWindowState(org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'mimeType'.
+     *
+     * @param mimeType the value of field 'mimeType'.
+     */
+    public void setMimeType(org.gridsphere.portletcontainer.impl.descriptor.MimeType mimeType) {
+        this._mimeType = mimeType;
+    } //-- void setMimeType(org.gridsphere.portletcontainer.jsr.descriptor.MimeType)
+
+    /**
+     * Method setPortletMode
+     *
+     * @param index
+     * @param vPortletMode
+     */
+    public void setPortletMode(int index, org.gridsphere.portletcontainer.impl.descriptor.PortletMode vPortletMode)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _portletModeList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _portletModeList.set(index, vPortletMode);
+    } //-- void setPortletMode(int, org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method setPortletMode
+     *
+     * @param portletModeArray
+     */
+    public void setPortletMode(org.gridsphere.portletcontainer.impl.descriptor.PortletMode[] portletModeArray) {
+        //-- copy array
+        _portletModeList.clear();
+        for (int i = 0; i < portletModeArray.length; i++) {
+            _portletModeList.add(portletModeArray[i]);
+        }
+    } //-- void setPortletMode(org.gridsphere.portletcontainer.jsr.descriptor.PortletMode)
+
+    /**
+     * Method setWindowState
+     *
+     * @param index
+     * @param vWindowState
+     */
+    public void setWindowState(int index, org.gridsphere.portletcontainer.impl.descriptor.WindowState vWindowState)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _windowStateList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _windowStateList.set(index, vWindowState);
+    } //-- void setWindowState(int, org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Method setWindowState
+     *
+     * @param windowStateArray
+     */
+    public void setWindowState(org.gridsphere.portletcontainer.impl.descriptor.WindowState[] windowStateArray) {
+        //-- copy array
+        _windowStateList.clear();
+        for (int i = 0; i < windowStateArray.length; i++) {
+            _windowStateList.add(windowStateArray[i]);
+        }
+    } //-- void setWindowState(org.gridsphere.portletcontainer.jsr.descriptor.WindowState)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.SupportsType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.SupportsType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/SupportsTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,234 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: SupportsTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class SupportsTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class SupportsTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public SupportsTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "supportsType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SupportsType target = (SupportsType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SupportsType target = (SupportsType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _mimeType
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.MimeType.class, "_mimeType", "mime-type", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SupportsType target = (SupportsType) object;
+                return target.getMimeType();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SupportsType target = (SupportsType) object;
+                    target.setMimeType((org.gridsphere.portletcontainer.impl.descriptor.MimeType) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.MimeType();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _mimeType
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _portletModeList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.PortletMode.class, "_portletModeList", "portlet-mode", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                SupportsType target = (SupportsType) object;
+                return target.getPortletMode();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    SupportsType target = (SupportsType) object;
+                    target.addPortletMode((org.gridsphere.portletcontainer.impl.descriptor.PortletMode) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.PortletMode();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _portletModeList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.SupportsTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.SupportsType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Title.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Title.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Title.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Title.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Title.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Title extends TitleType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Title() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Title()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Title) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Title.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: TitleDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class TitleDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class TitleDescriptor extends TitleTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public TitleDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new TitleTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "title";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.TitleDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Title.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: TitleType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Locale specific static title for this portlet.
+ * Used in: portlet-info
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class TitleType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public TitleType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.TitleType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.TitleType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.TitleType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/TitleTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: TitleTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class TitleTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class TitleTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public TitleTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "titleType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                TitleType target = (TitleType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    TitleType target = (TitleType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.TitleTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.TitleType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttribute.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserAttribute.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class UserAttribute.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserAttribute extends UserAttributeType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserAttribute() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttribute()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.UserAttribute) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.UserAttribute.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserAttributeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class UserAttributeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserAttributeDescriptor extends UserAttributeTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserAttributeDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new UserAttributeTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "user-attribute";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttributeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.UserAttribute.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,261 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserAttributeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * User attribute defines a user specific attribute that the
+ * portlet application needs. The portlet within this application
+ * can access this attribute via the request parameter USER_INFO
+ * map.
+ * Used in: portlet-app
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserAttributeType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _name
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.Name _name;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserAttributeType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttributeType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'name'.
+     *
+     * @return the value of field 'name'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Name getName() {
+        return this._name;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Name getName()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'name'.
+     *
+     * @param name the value of field 'name'.
+     */
+    public void setName(org.gridsphere.portletcontainer.impl.descriptor.Name name) {
+        this._name = name;
+    } //-- void setName(org.gridsphere.portletcontainer.jsr.descriptor.Name)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.UserAttributeType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.UserAttributeType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserAttributeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,234 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserAttributeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class UserAttributeTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserAttributeTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserAttributeTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "user-attributeType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserAttributeType target = (UserAttributeType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserAttributeType target = (UserAttributeType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserAttributeType target = (UserAttributeType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserAttributeType target = (UserAttributeType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _name
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Name.class, "_name", "name", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserAttributeType target = (UserAttributeType) object;
+                return target.getName();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserAttributeType target = (UserAttributeType) object;
+                    target.setName((org.gridsphere.portletcontainer.impl.descriptor.Name) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Name();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _name
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserAttributeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.UserAttributeType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraint.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserDataConstraint.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class UserDataConstraint.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserDataConstraint extends UserDataConstraintType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserDataConstraint() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraint()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserDataConstraintDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class UserDataConstraintDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserDataConstraintDescriptor extends UserDataConstraintTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserDataConstraintDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new UserDataConstraintTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "user-data-constraint";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraintDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraint.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,261 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserDataConstraintType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+import java.util.ArrayList;
+
+/**
+ * The user-data-constraintType is used to indicate how
+ * data communicated between the client and portlet should be
+ * protected.
+ * Used in: security-constraint
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserDataConstraintType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field _id
+     */
+    private java.lang.String _id;
+
+    /**
+     * Field _descriptionList
+     */
+    private java.util.ArrayList _descriptionList;
+
+    /**
+     * Field _transportGuarantee
+     */
+    private org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType _transportGuarantee;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserDataConstraintType() {
+        super();
+        _descriptionList = new ArrayList();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraintType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method addDescription
+     *
+     * @param vDescription
+     */
+    public void addDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(vDescription);
+    } //-- void addDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method addDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void addDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        _descriptionList.add(index, vDescription);
+    } //-- void addDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method clearDescription
+     */
+    public void clearDescription() {
+        _descriptionList.clear();
+    } //-- void clearDescription()
+
+    /**
+     * Method enumerateDescription
+     */
+    public java.util.Enumeration enumerateDescription() {
+        return new org.exolab.castor.util.IteratorEnumeration(_descriptionList.iterator());
+    } //-- java.util.Enumeration enumerateDescription()
+
+    /**
+     * Method getDescription
+     *
+     * @param index
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description getDescription(int index)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+
+        return (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description getDescription(int)
+
+    /**
+     * Method getDescription
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.Description[] getDescription() {
+        int size = _descriptionList.size();
+        org.gridsphere.portletcontainer.impl.descriptor.Description[] mArray = new org.gridsphere.portletcontainer.impl.descriptor.Description[size];
+        for (int index = 0; index < size; index++) {
+            mArray[index] = (org.gridsphere.portletcontainer.impl.descriptor.Description) _descriptionList.get(index);
+        }
+        return mArray;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Description[] getDescription()
+
+    /**
+     * Method getDescriptionCount
+     */
+    public int getDescriptionCount() {
+        return _descriptionList.size();
+    } //-- int getDescriptionCount()
+
+    /**
+     * Returns the value of field 'id'.
+     *
+     * @return the value of field 'id'.
+     */
+    public java.lang.String getId() {
+        return this._id;
+    } //-- java.lang.String getId()
+
+    /**
+     * Returns the value of field 'transportGuarantee'.
+     *
+     * @return the value of field 'transportGuarantee'.
+     */
+    public org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType getTransportGuarantee() {
+        return this._transportGuarantee;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.TransportGuaranteeType getTransportGuarantee()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method removeDescription
+     *
+     * @param vDescription
+     */
+    public boolean removeDescription(org.gridsphere.portletcontainer.impl.descriptor.Description vDescription) {
+        boolean removed = _descriptionList.remove(vDescription);
+        return removed;
+    } //-- boolean removeDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param index
+     * @param vDescription
+     */
+    public void setDescription(int index, org.gridsphere.portletcontainer.impl.descriptor.Description vDescription)
+            throws java.lang.IndexOutOfBoundsException {
+        //-- check bounds for index
+        if ((index < 0) || (index > _descriptionList.size())) {
+            throw new IndexOutOfBoundsException();
+        }
+        _descriptionList.set(index, vDescription);
+    } //-- void setDescription(int, org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Method setDescription
+     *
+     * @param descriptionArray
+     */
+    public void setDescription(org.gridsphere.portletcontainer.impl.descriptor.Description[] descriptionArray) {
+        //-- copy array
+        _descriptionList.clear();
+        for (int i = 0; i < descriptionArray.length; i++) {
+            _descriptionList.add(descriptionArray[i]);
+        }
+    } //-- void setDescription(org.gridsphere.portletcontainer.jsr.descriptor.Description)
+
+    /**
+     * Sets the value of field 'id'.
+     *
+     * @param id the value of field 'id'.
+     */
+    public void setId(java.lang.String id) {
+        this._id = id;
+    } //-- void setId(java.lang.String)
+
+    /**
+     * Sets the value of field 'transportGuarantee'.
+     *
+     * @param transportGuarantee the value of field
+     *                           'transportGuarantee'.
+     */
+    public void setTransportGuarantee(org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType transportGuarantee) {
+        this._transportGuarantee = transportGuarantee;
+    } //-- void setTransportGuarantee(org.gridsphere.portletcontainer.jsr.descriptor.types.TransportGuaranteeType)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraintType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraintType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/UserDataConstraintTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,235 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: UserDataConstraintTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class UserDataConstraintTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class UserDataConstraintTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public UserDataConstraintTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "user-data-constraintType";
+
+        //-- set grouping compositor
+        setCompositorAsSequence();
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- initialize attribute descriptors
+
+        //-- _id
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_id", "id", org.exolab.castor.xml.NodeType.Attribute);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserDataConstraintType target = (UserDataConstraintType) object;
+                return target.getId();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserDataConstraintType target = (UserDataConstraintType) object;
+                    target.setId((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _id
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize element descriptors
+
+        //-- _descriptionList
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.Description.class, "_descriptionList", "description", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserDataConstraintType target = (UserDataConstraintType) object;
+                return target.getDescription();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserDataConstraintType target = (UserDataConstraintType) object;
+                    target.addDescription((org.gridsphere.portletcontainer.impl.descriptor.Description) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return new org.gridsphere.portletcontainer.impl.descriptor.Description();
+            }
+        });
+        desc.setHandler(handler);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setMultivalued(true);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _descriptionList
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(0);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+        //-- _transportGuarantee
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType.class, "_transportGuarantee", "transport-guarantee", org.exolab.castor.xml.NodeType.Element);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                UserDataConstraintType target = (UserDataConstraintType) object;
+                return target.getTransportGuarantee();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    UserDataConstraintType target = (UserDataConstraintType) object;
+                    target.setTransportGuarantee((org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(new org.exolab.castor.xml.handlers.EnumFieldHandler(org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType.class, handler));
+        desc.setImmutable(true);
+        desc.setNameSpaceURI("http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd");
+        desc.setRequired(true);
+        desc.setMultivalued(false);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _transportGuarantee
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        fieldValidator.setMinOccurs(1);
+        { //-- local scope
+        }
+        desc.setValidator(fieldValidator);
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.UserDataConstraintTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.UserDataConstraintType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Value.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Value.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/Value.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: Value.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class Value.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class Value extends ValueType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public Value() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.Value()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.Value) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.Value.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ValueDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class ValueDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ValueDescriptor extends ValueTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ValueDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new ValueTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "value";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ValueDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.Value.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ValueType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * The value element contains the value of a parameter.
+ * Used in: init-param
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ValueType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ValueType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ValueType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.ValueType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.ValueType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/ValueTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ValueTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class ValueTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ValueTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ValueTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "valueType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                ValueType target = (ValueType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    ValueType target = (ValueType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.ValueTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.ValueType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowState.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowState.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowState.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: WindowState.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Class WindowState.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class WindowState extends WindowStateType
+        implements java.io.Serializable {
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public WindowState() {
+        super();
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowState()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.WindowState) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.WindowState.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: WindowStateDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class WindowStateDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class WindowStateDescriptor extends WindowStateTypeDescriptor {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public WindowStateDescriptor() {
+        super();
+        setExtendsWithoutFlatten(new WindowStateTypeDescriptor());
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "window-state";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowStateDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return super.getExtends();
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        if (identity == null)
+            return super.getIdentity();
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.WindowState.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,123 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: WindowStateType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.Marshaller;
+import org.exolab.castor.xml.Unmarshaller;
+
+/**
+ * Portlet window state. Window state names are not case sensitive.
+ * Used in: custom-window-state
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class WindowStateType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * internal content storage
+     */
+    private java.lang.String _content = "";
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public WindowStateType() {
+        super();
+        setContent("");
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowStateType()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this._content;
+    } //-- java.lang.String getContent()
+
+    /**
+     * Method isValid
+     */
+    public boolean isValid() {
+        try {
+            validate();
+        } catch (org.exolab.castor.xml.ValidationException vex) {
+            return false;
+        }
+        return true;
+    } //-- boolean isValid()
+
+    /**
+     * Method marshal
+     *
+     * @param out
+     */
+    public void marshal(java.io.Writer out)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, out);
+    } //-- void marshal(java.io.Writer)
+
+    /**
+     * Method marshal
+     *
+     * @param handler
+     */
+    public void marshal(org.xml.sax.ContentHandler handler)
+            throws java.io.IOException, org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+
+        Marshaller.marshal(this, handler);
+    } //-- void marshal(org.xml.sax.ContentHandler)
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param content the value of field 'content'.
+     */
+    public void setContent(java.lang.String content) {
+        this._content = content;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method unmarshal
+     *
+     * @param reader
+     */
+    public static java.lang.Object unmarshal(java.io.Reader reader)
+            throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException {
+        return (org.gridsphere.portletcontainer.impl.descriptor.WindowStateType) Unmarshaller.unmarshal(org.gridsphere.portletcontainer.impl.descriptor.WindowStateType.class, reader);
+    } //-- java.lang.Object unmarshal(java.io.Reader)
+
+    /**
+     * Method validate
+     */
+    public void validate()
+            throws org.exolab.castor.xml.ValidationException {
+        org.exolab.castor.xml.Validator validator = new org.exolab.castor.xml.Validator();
+        validator.validate(this);
+    } //-- void validate()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/WindowStateTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: WindowStateTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import org.exolab.castor.xml.validators.StringValidator;
+
+/**
+ * Class WindowStateTypeDescriptor.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class WindowStateTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public WindowStateTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "window-stateType";
+        org.exolab.castor.xml.util.XMLFieldDescriptorImpl desc = null;
+        org.exolab.castor.xml.XMLFieldHandler handler = null;
+        org.exolab.castor.xml.FieldValidator fieldValidator = null;
+        //-- _content
+        desc = new org.exolab.castor.xml.util.XMLFieldDescriptorImpl(java.lang.String.class, "_content", "PCDATA", org.exolab.castor.xml.NodeType.Text);
+        desc.setImmutable(true);
+        handler = (new org.exolab.castor.xml.XMLFieldHandler() {
+            public java.lang.Object getValue(java.lang.Object object)
+                    throws IllegalStateException {
+                WindowStateType target = (WindowStateType) object;
+                return target.getContent();
+            }
+
+            public void setValue(java.lang.Object object, java.lang.Object value)
+                    throws IllegalStateException, IllegalArgumentException {
+                try {
+                    WindowStateType target = (WindowStateType) object;
+                    target.setContent((java.lang.String) value);
+                } catch (java.lang.Exception ex) {
+                    throw new IllegalStateException(ex.toString());
+                }
+            }
+
+            public java.lang.Object newInstance(java.lang.Object parent) {
+                return null;
+            }
+        });
+        desc.setHandler(handler);
+        addFieldDescriptor(desc);
+
+        //-- validation code for: _content
+        fieldValidator = new org.exolab.castor.xml.FieldValidator();
+        { //-- local scope
+            StringValidator typeValidator = new StringValidator();
+            typeValidator.setWhiteSpace("preserve");
+            fieldValidator.setValidator(typeValidator);
+        }
+        desc.setValidator(fieldValidator);
+        //-- initialize attribute descriptors
+
+        //-- initialize element descriptors
+
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.WindowStateTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode()
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends()
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity()
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.WindowStateType.class;
+    } //-- java.lang.Class getJavaClass()
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix()
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI()
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator()
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName()
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,155 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ReadOnlyType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor.types;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import java.util.Hashtable;
+
+/**
+ * Class ReadOnlyType.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ReadOnlyType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * The true type
+     */
+    public static final int TRUE_TYPE = 0;
+
+    /**
+     * The instance of the true type
+     */
+    public static final ReadOnlyType TRUE = new ReadOnlyType(TRUE_TYPE, "true");
+
+    /**
+     * The false type
+     */
+    public static final int FALSE_TYPE = 1;
+
+    /**
+     * The instance of the false type
+     */
+    public static final ReadOnlyType FALSE = new ReadOnlyType(FALSE_TYPE, "false");
+
+    /**
+     * Field _memberTable
+     */
+    private static java.util.Hashtable _memberTable = init();
+
+    /**
+     * Field type
+     */
+    private int type = -1;
+
+    /**
+     * Field stringValue
+     */
+    private java.lang.String stringValue = null;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+    public ReadOnlyType() {
+        super();
+        this.type = FALSE_TYPE;
+        this.stringValue = "false";
+    }
+
+    private ReadOnlyType(int type, java.lang.String value) {
+        super();
+        this.type = type;
+        this.stringValue = value;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.ReadOnlyType(int, java.lang.String)
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method enumerateReturns an enumeration of all possible
+     * instances of ReadOnlyType
+     */
+    public static java.util.Enumeration enumerate() {
+        return _memberTable.elements();
+    } //-- java.util.Enumeration enumerate() 
+
+    /**
+     * Method getTypeReturns the type of this ReadOnlyType
+     */
+    public int getType() {
+        return this.type;
+    } //-- int getType()
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this.stringValue;
+    } //-- java.lang.String getContent()
+
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param stringValue the value of field 'content'.
+     */
+    public void setContent(java.lang.String stringValue) {
+        this.stringValue = stringValue;
+    } //-- void setContent(java.lang.String)
+
+
+    /**
+     * Method init
+     */
+    private static java.util.Hashtable init() {
+        Hashtable members = new Hashtable();
+        members.put("true", TRUE);
+        members.put("false", FALSE);
+        return members;
+    } //-- java.util.Hashtable init() 
+
+    /**
+     * Method toStringReturns the String representation of this
+     * ReadOnlyType
+     */
+    public java.lang.String toString() {
+        return this.stringValue;
+    } //-- java.lang.String toString() 
+
+    /**
+     * Method valueOfReturns a new ReadOnlyType based on the given
+     * String value.
+     *
+     * @param string
+     */
+    public static org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType valueOf(java.lang.String string) {
+        java.lang.Object obj = null;
+        if (string != null) obj = _memberTable.get(string);
+        if (obj == null) {
+            String err = "'" + string + "' is not a valid ReadOnlyType";
+            throw new IllegalArgumentException(err);
+        }
+        return (ReadOnlyType) obj;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.ReadOnlyType valueOf(java.lang.String)
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/ReadOnlyTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,119 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: ReadOnlyTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor.types;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class ReadOnlyTypeDescriptor.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class ReadOnlyTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public ReadOnlyTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "read-onlyType";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.ReadOnlyTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode() 
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() 
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() 
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.types.ReadOnlyType.class;
+    } //-- java.lang.Class getJavaClass() 
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix() 
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI() 
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator() 
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeType.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,164 @@
+/*
+ * This class was automatically generated with
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: TransportGuaranteeType.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor.types;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+import java.util.Hashtable;
+
+/**
+ * Class TransportGuaranteeType.
+ *
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class TransportGuaranteeType implements java.io.Serializable {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * The NONE type
+     */
+    public static final int NONE_TYPE = 0;
+
+    /**
+     * The instance of the NONE type
+     */
+    public static final TransportGuaranteeType NONE = new TransportGuaranteeType(NONE_TYPE, "NONE");
+
+    /**
+     * The INTEGRAL type
+     */
+    public static final int INTEGRAL_TYPE = 1;
+
+    /**
+     * The instance of the INTEGRAL type
+     */
+    public static final TransportGuaranteeType INTEGRAL = new TransportGuaranteeType(INTEGRAL_TYPE, "INTEGRAL");
+
+    /**
+     * The CONFIDENTIAL type
+     */
+    public static final int CONFIDENTIAL_TYPE = 2;
+
+    /**
+     * The instance of the CONFIDENTIAL type
+     */
+    public static final TransportGuaranteeType CONFIDENTIAL = new TransportGuaranteeType(CONFIDENTIAL_TYPE, "CONFIDENTIAL");
+
+    /**
+     * Field _memberTable
+     */
+    private static java.util.Hashtable _memberTable = init();
+
+    /**
+     * Field type
+     */
+    private int type = -1;
+
+    /**
+     * Field stringValue
+     */
+    private java.lang.String stringValue = null;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+    public TransportGuaranteeType() {
+        this.type = NONE_TYPE;
+        this.stringValue = "NONE";
+    }
+
+    private TransportGuaranteeType(int type, java.lang.String value) {
+        super();
+        this.type = type;
+        this.stringValue = value;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.TransportGuaranteeType(int, java.lang.String)
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method enumerateReturns an enumeration of all possible
+     * instances of TransportGuaranteeType
+     */
+    public static java.util.Enumeration enumerate() {
+        return _memberTable.elements();
+    } //-- java.util.Enumeration enumerate()
+
+    /**
+     * Method getTypeReturns the type of this TransportGuaranteeType
+     */
+    public int getType() {
+        return this.type;
+    } //-- int getType()
+
+    /**
+     * Method init
+     */
+    private static java.util.Hashtable init() {
+        Hashtable members = new Hashtable();
+        members.put("NONE", NONE);
+        members.put("INTEGRAL", INTEGRAL);
+        members.put("CONFIDENTIAL", CONFIDENTIAL);
+        return members;
+    } //-- java.util.Hashtable init()
+
+    /**
+     * Returns the value of field 'content'. The field 'content'
+     * has the following description: internal content storage
+     *
+     * @return the value of field 'content'.
+     */
+    public java.lang.String getContent() {
+        return this.stringValue;
+    } //-- java.lang.String getContent()
+
+
+    /**
+     * Sets the value of field 'content'. The field 'content' has
+     * the following description: internal content storage
+     *
+     * @param stringValue the value of field 'content'.
+     */
+    public void setContent(java.lang.String stringValue) {
+        this.stringValue = stringValue;
+    } //-- void setContent(java.lang.String)
+
+    /**
+     * Method toStringReturns the String representation of this
+     * TransportGuaranteeType
+     */
+    public java.lang.String toString() {
+        return this.stringValue;
+    } //-- java.lang.String toString()
+
+    /**
+     * Method valueOfReturns a new TransportGuaranteeType based on
+     * the given String value.
+     *
+     * @param string
+     */
+    public static org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType valueOf(java.lang.String string) {
+        java.lang.Object obj = null;
+        if (string != null) obj = _memberTable.get(string);
+        if (obj == null) {
+            String err = "'" + string + "' is not a valid TransportGuaranteeType";
+            throw new IllegalArgumentException(err);
+        }
+        return (TransportGuaranteeType) obj;
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.TransportGuaranteeType valueOf(java.lang.String)
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/descriptor/types/TransportGuaranteeTypeDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,119 @@
+/*
+ * This class was automatically generated with 
+ * <a href="http://www.castor.org">Castor 0.9.5.2</a>, using an XML
+ * Schema.
+ * $Id: TransportGuaranteeTypeDescriptor.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.portletcontainer.impl.descriptor.types;
+
+//---------------------------------/
+//- Imported classes and packages -/
+//---------------------------------/
+
+
+/**
+ * Class TransportGuaranteeTypeDescriptor.
+ * 
+ * @version $Revision: 3298 $ $Date: 2004-06-29 07:19:44 -0700 (Tue, 29 Jun 2004) $
+ */
+public class TransportGuaranteeTypeDescriptor extends org.exolab.castor.xml.util.XMLClassDescriptorImpl {
+
+
+    //--------------------------/
+    //- Class/Member Variables -/
+    //--------------------------/
+
+    /**
+     * Field nsPrefix
+     */
+    private java.lang.String nsPrefix;
+
+    /**
+     * Field nsURI
+     */
+    private java.lang.String nsURI;
+
+    /**
+     * Field xmlName
+     */
+    private java.lang.String xmlName;
+
+    /**
+     * Field identity
+     */
+    private org.exolab.castor.xml.XMLFieldDescriptor identity;
+
+
+    //----------------/
+    //- Constructors -/
+    //----------------/
+
+    public TransportGuaranteeTypeDescriptor() {
+        super();
+        nsURI = "http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
+        xmlName = "transport-guaranteeType";
+    } //-- org.gridsphere.portletcontainer.jsr.descriptor.types.TransportGuaranteeTypeDescriptor()
+
+
+    //-----------/
+    //- Methods -/
+    //-----------/
+
+    /**
+     * Method getAccessMode
+     */
+    public org.exolab.castor.mapping.AccessMode getAccessMode() {
+        return null;
+    } //-- org.exolab.castor.mapping.AccessMode getAccessMode() 
+
+    /**
+     * Method getExtends
+     */
+    public org.exolab.castor.mapping.ClassDescriptor getExtends() {
+        return null;
+    } //-- org.exolab.castor.mapping.ClassDescriptor getExtends() 
+
+    /**
+     * Method getIdentity
+     */
+    public org.exolab.castor.mapping.FieldDescriptor getIdentity() {
+        return identity;
+    } //-- org.exolab.castor.mapping.FieldDescriptor getIdentity() 
+
+    /**
+     * Method getJavaClass
+     */
+    public java.lang.Class getJavaClass() {
+        return org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType.class;
+    } //-- java.lang.Class getJavaClass() 
+
+    /**
+     * Method getNameSpacePrefix
+     */
+    public java.lang.String getNameSpacePrefix() {
+        return nsPrefix;
+    } //-- java.lang.String getNameSpacePrefix() 
+
+    /**
+     * Method getNameSpaceURI
+     */
+    public java.lang.String getNameSpaceURI() {
+        return nsURI;
+    } //-- java.lang.String getNameSpaceURI() 
+
+    /**
+     * Method getValidator
+     */
+    public org.exolab.castor.xml.TypeValidator getValidator() {
+        return this;
+    } //-- org.exolab.castor.xml.TypeValidator getValidator() 
+
+    /**
+     * Method getXMLName
+     */
+    public java.lang.String getXMLName() {
+        return xmlName;
+    } //-- java.lang.String getXMLName() 
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/impl/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Portlet Container API Implementation</b>
+<p>
+The GridSphere portlet container implementation provides implementations of the portlet container interfaces.
+The implementation makes use of the Castor portlet descriptor classes found in
+{@link org.gridsphere.portletcontainer.impl.descriptor} and uses singleton patterns for the implemtation of
+the {@link org.gridsphere.portletcontainer.PortletMessageManager} and
+{@link org.gridsphere.portletcontainer.PortletDataManager} classes.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portletcontainer/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>GridSphere Portlet Container API</b>
+<p>
+The GridSphere portlet container is responsible for the dynamic management of
+{@link org.gridsphere.portletcontainer.PortletWebApplication}s. A portlet web application is a collection
+of portlets packaged as a WAR file. Portlets are defined by a portlet descriptor file, <code>web.xml</code> located
+in the WEB-INF directory of the portlet web application. The porlet descriptor file defines one or more
+application portlets defined in {@link org.gridsphere.portletcontainer.ApplicationPortlet} each of which
+may have one or more concrete portlet definitions as defined in
+{@link org.gridsphere.portletcontainer.ConcretePortlet}. Both the application portlet and concrete portlet
+have configuration settings that are defined in the {@link org.gridsphere.portletcontainer.ApplicationPortletConfig}
+and the {@link org.gridsphere.portletcontainer.ConcretePortletConfig} respectively.
+<p>
+All portlets including the portlet web applications are registered with the
+{@link org.gridsphere.portletcontainer.PortletRegistry}, a singleton used by other components to request
+information about portlets and obtain a {@link org.gridsphere.portletcontainer.impl.SportletDispatcher}, which is
+used to invoke a lifecyle method on a chosen portlet. To make portlet invocation easy, the
+{@link org.gridsphere.portletcontainer.PortletInvoker} offers static methods that are essentially wrappers
+around the <code>PortletDispatcher</code>.
+<p>
+The GridSphere portlet container is implemented as the master
+{@link org.gridsphere.servlets.GridSphereServlet} servlet which receives all requests to the portal
+and is responsible for generating a {@link org.gridsphere.portletcontainer.GridSphereEvent} which is
+passed to the layout components for rendering the portal presentation.
+<p>
+The {@link org.gridsphere.portletcontainer.PortletDataManager} and
+{@link org.gridsphere.portletcontainer.PortletMessageManager} are singletons used to manage persistent
+{@link org.gridsphere.portlet.PortletData} and {@link org.gridsphere.portlet.PortletMessage}
+information respectively.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about/AboutPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about/AboutPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/about/AboutPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+package org.gridsphere.portlets.core.about;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+
+public class AboutPortlet extends ActionPortlet {
+
+    private String deployedPath = "";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        DEFAULT_VIEW_PAGE = "doView";
+        deployedPath = config.getPortletContext().getRealPath("");
+    }
+
+    public void doView(RenderFormEvent event) throws PortletException {
+        String release = SportletProperties.getInstance().getProperty("gridsphere.release");
+        event.getRenderRequest().setAttribute("version", release);
+        event.getRenderRequest().setAttribute("path", deployedPath);
+        setNextState(event.getRenderRequest(), "about/view.jsp");
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config/ConfigPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config/ConfigPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/config/ConfigPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+package org.gridsphere.portlets.core.admin.config;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.CheckBoxBean;
+import org.gridsphere.provider.portletui.beans.RadioButtonBean;
+import org.gridsphere.provider.portletui.beans.TextAreaBean;
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.security.auth.AuthModuleService;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.role.PortletRole;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import java.io.IOException;
+import java.util.List;
+
+public class ConfigPortlet extends ActionPortlet {
+
+    public static final String DO_VIEW = "admin/config/view.jsp"; //configure login
+
+    private PortalConfigService portalConfigService = null;
+    private AuthModuleService authModuleService = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        authModuleService = (AuthModuleService) PortletServiceFactory.createPortletService(AuthModuleService.class, true);
+        DEFAULT_VIEW_PAGE = "showConfigure";
+    }
+
+    public void showConfigure(RenderFormEvent event) {
+        PortletRequest req = event.getRenderRequest();
+        CheckBoxBean acctCB = event.getCheckBoxBean("acctCB");
+        boolean canUserCreateAccount = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue();
+
+        acctCB.setSelected(canUserCreateAccount);
+
+        Boolean sendMail = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ENABLE_ERROR_HANDLING));
+        req.setAttribute("sendMail", sendMail);
+
+        CheckBoxBean notifyCB = event.getCheckBoxBean("notifyCB");
+        notifyCB.setSelected(Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.SEND_USER_FORGET_PASSWORD)).booleanValue());
+
+        CheckBoxBean savepassCB = event.getCheckBoxBean("savepassCB");
+        savepassCB.setSelected(Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS)).booleanValue());
+
+        CheckBoxBean supportX509CB = event.getCheckBoxBean("supportx509CB");
+        supportX509CB.setSelected(Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.SUPPORT_X509_AUTH)).booleanValue());
+
+        CheckBoxBean accountApproval = event.getCheckBoxBean("acctApproval");
+        accountApproval.setSelected(Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL)).booleanValue());
+
+        CheckBoxBean remUserCB = event.getCheckBoxBean("remUserCB");
+        remUserCB.setSelected(Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.REMEMBER_USER)).booleanValue());
+
+        String numTries = portalConfigService.getProperty(PortalConfigService.LOGIN_NUMTRIES);
+        TextFieldBean numTriesTF = event.getTextFieldBean("numTriesTF");
+        if (numTries == null) {
+            numTries = "-1";
+        }
+        numTriesTF.setValue(numTries);
+
+
+        Boolean isUsernameLogin = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.USE_USERNAME_FOR_LOGIN));
+        req.setAttribute("isUsernameLogin", isUsernameLogin);
+
+        List authModules = authModuleService.getAuthModules();
+        req.setAttribute("authModules", authModules);
+
+        // configure mail settings
+        TextFieldBean serverTF = event.getTextFieldBean("mailServerTF");
+        serverTF.setValue(portalConfigService.getProperty(PortalConfigService.MAIL_SERVER));
+        TextFieldBean portTF = event.getTextFieldBean("mailPortTF");
+        portTF.setValue(portalConfigService.getProperty(PortalConfigService.MAIL_PORT));
+        TextFieldBean fromTF = event.getTextFieldBean("mailFromTF");
+        fromTF.setValue(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));
+        TextFieldBean adminTF = event.getTextFieldBean("adminTF");
+        adminTF.setValue(portalConfigService.getProperty(PortalConfigService.PORTAL_ADMIN_EMAIL));
+
+        // Portal emails to user  subject for forgotten password
+        String subjectHeader = portalConfigService.getProperty("LOGIN_FORGOT_SUBJECT");
+        if (subjectHeader == null) subjectHeader = getLocalizedText(req, "MAIL_SUBJECT_HEADER");
+        TextFieldBean forgotHeaderTF = event.getTextFieldBean("forgotHeaderTF");
+        forgotHeaderTF.setValue(subjectHeader);
+
+        String forgotMail = portalConfigService.getProperty("LOGIN_FORGOT_BODY");
+        if (forgotMail == null) forgotMail = getLocalizedText(req, "LOGIN_FORGOT_MAIL");
+        TextAreaBean forgotBodyTA = event.getTextAreaBean("forgotBodyTA");
+        forgotBodyTA.setValue(forgotMail);
+
+        // Portal emails to user  subject for account activation
+        String activateHeader = portalConfigService.getProperty("LOGIN_ACTIVATE_SUBJECT");
+        if (activateHeader == null) activateHeader = getLocalizedText(req, "LOGIN_ACTIVATE_SUBJECT");
+        TextFieldBean activateHeaderTF = event.getTextFieldBean("activateHeaderTF");
+        activateHeaderTF.setValue(activateHeader);
+
+        String activateMail = portalConfigService.getProperty("LOGIN_ACTIVATE_BODY");
+        if (activateMail == null) activateMail = getLocalizedText(req, "LOGIN_ACTIVATE_MAIL");
+        TextAreaBean activateBodyTA = event.getTextAreaBean("activateBodyTA");
+        activateBodyTA.setValue(activateMail);
+
+        // Email to user when their account has been approved
+        String approvedSubject = portalConfigService.getProperty("LOGIN_APPROVED_SUBJECT");
+        if (approvedSubject == null) approvedSubject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+        TextFieldBean approvedHeaderTF = event.getTextFieldBean("approvedHeaderTF");
+        approvedHeaderTF.setValue(approvedSubject);
+
+        String approvedBody = portalConfigService.getProperty("LOGIN_APPROVED_BODY");
+        if (approvedBody == null) approvedBody = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+        TextAreaBean approvedBodyTA = event.getTextAreaBean("approvedBodyTA");
+        approvedBodyTA.setValue(approvedBody);
+
+        // Email to user when their account has been denied
+        String subject = portalConfigService.getProperty("LOGIN_DENIED_SUBJECT");
+        if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+        TextFieldBean deniedHeaderTF = event.getTextFieldBean("deniedHeaderTF");
+        deniedHeaderTF.setValue(subject);
+
+        String body = portalConfigService.getProperty("LOGIN_DENIED_BODY");
+        if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+        TextAreaBean deniedBodyTA = event.getTextAreaBean("deniedBodyTA");
+        deniedBodyTA.setValue(body);
+
+        setNextState(req, DO_VIEW);
+    }
+
+    public void setLoginSettings(ActionFormEvent event) throws PortletException {
+        PortletRequest req = event.getActionRequest();
+
+        if (!req.isUserInRole(PortletRole.ADMIN.getName())) return;
+
+        CheckBoxBean acctCB = event.getCheckBoxBean("acctCB");
+
+        String useracct = acctCB.getSelectedValue();
+
+        boolean canUserCreateAccount = (useracct != null);
+
+        portalConfigService.setProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT, String.valueOf(canUserCreateAccount));
+
+        CheckBoxBean notifyCB = event.getCheckBoxBean("notifyCB");
+        String notify = notifyCB.getSelectedValue();
+        boolean sendForget = (notify != null);
+
+        CheckBoxBean savepassCB = event.getCheckBoxBean("savepassCB");
+        String savepass = savepassCB.getSelectedValue();
+        boolean savePasswords;
+        if (savepass != null) {
+            savePasswords = true;
+        } else {
+            // if save passwords is false than can't send notification to update password so both must be false
+            savePasswords = false;
+            sendForget = false;
+        }
+
+        CheckBoxBean supportsx509CB = event.getCheckBoxBean("supportx509CB");
+        String supportx509val = supportsx509CB.getSelectedValue();
+        boolean supportx509 = (supportx509val != null);
+        portalConfigService.setProperty(PortalConfigService.SUPPORT_X509_AUTH, Boolean.toString(supportx509));
+
+        CheckBoxBean accountApproval = event.getCheckBoxBean("acctApproval");
+        String accountApprovalval = accountApproval.getSelectedValue();
+        boolean accountApprove = (accountApprovalval != null);
+        portalConfigService.setProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL, Boolean.toString(accountApprove));
+
+        CheckBoxBean remUserCB = event.getCheckBoxBean("remUserCB");
+        boolean remUser = (remUserCB.getSelectedValue() != null);
+        portalConfigService.setProperty(PortalConfigService.REMEMBER_USER, Boolean.toString(remUser));
+
+        TextFieldBean numTriesTF = event.getTextFieldBean("numTriesTF");
+        String numTries = numTriesTF.getValue();
+        int numtries = -1;
+
+
+        RadioButtonBean isUsernameLogin = event.getRadioButtonBean("loginRB");
+        portalConfigService.setProperty(PortalConfigService.USE_USERNAME_FOR_LOGIN, isUsernameLogin.getValue());
+        try {
+            numtries = Integer.valueOf(numTries).intValue();
+            portalConfigService.setProperty(PortalConfigService.LOGIN_NUMTRIES, String.valueOf(numtries));
+
+            portalConfigService.setProperty(PortalConfigService.SAVE_PASSWORDS, Boolean.toString(savePasswords));
+            portalConfigService.setProperty(PortalConfigService.SEND_USER_FORGET_PASSWORD, Boolean.toString(sendForget));
+            portalConfigService.storeProperties();
+            createSuccessMessage(event, getLocalizedText(event.getActionRequest(), "CONFIG_SAVE_SUCCESS"));
+        } catch (IOException e) {
+            log.error("unable to save gridsphere.properties", e);
+        } catch (NumberFormatException e) {
+            // do nothing
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void configErrorSettings(ActionFormEvent event) throws PortletException {
+        PortletRequest req = event.getActionRequest();
+        if (!req.isUserInRole(PortletRole.ADMIN.getName())) return;
+
+        RadioButtonBean errorRB = event.getRadioButtonBean("errorRB");
+
+        Boolean sendMail = Boolean.FALSE;
+        if (errorRB.getSelectedValue().equals("MAIL")) sendMail = Boolean.TRUE;
+        portalConfigService.setProperty(PortalConfigService.ENABLE_ERROR_HANDLING, sendMail.toString());
+        try {
+            portalConfigService.storeProperties();
+            createSuccessMessage(event, getLocalizedText(event.getActionRequest(), "CONFIG_SAVE_SUCCESS"));
+        } catch (IOException e) {
+            log.error("Unable to save gridsphere.properties", e);
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void doSaveAuthModules(ActionFormEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+        CheckBoxBean cb = event.getCheckBoxBean("authModCB");
+
+        List activeAuthMods = cb.getSelectedValues();
+        for (int i = 0; i < activeAuthMods.size(); i++) {
+            System.err.println("active auth mod: " + (String) activeAuthMods.get(i));
+        }
+
+        List<LoginAuthModule> authModules = authModuleService.getAuthModules();
+        for (LoginAuthModule authMod : authModules) {
+            // see if a checked active auth module appears
+            if (activeAuthMods.contains(authMod.getModuleName())) {
+                authMod.setModuleActive(true);
+            } else {
+                authMod.setModuleActive(false);
+            }
+            String priority = req.getParameter(authMod.getModuleName());
+            authMod.setModulePriority(Integer.valueOf(priority).intValue());
+            authModuleService.saveAuthModule(authMod);
+        }
+        createSuccessMessage(event, getLocalizedText(req, "CONFIG_SAVE_SUCCESS"));
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+
+    public void doSaveMailConfig(ActionFormEvent event) {
+        TextFieldBean serverTF = event.getTextFieldBean("mailServerTF");
+        String mailServer = serverTF.getValue();
+        portalConfigService.setProperty(PortalConfigService.MAIL_SERVER, mailServer);
+        TextFieldBean portTF = event.getTextFieldBean("mailPortTF");
+        String mailPort = portTF.getValue();
+        portalConfigService.setProperty(PortalConfigService.MAIL_PORT, mailPort);
+        TextFieldBean fromTF = event.getTextFieldBean("mailFromTF");
+        String mailFrom = fromTF.getValue();
+        portalConfigService.setProperty(PortalConfigService.MAIL_FROM, mailFrom);
+        TextFieldBean adminTF = event.getTextFieldBean("adminTF");
+        String admin = adminTF.getValue();
+        portalConfigService.setProperty(PortalConfigService.PORTAL_ADMIN_EMAIL, admin);
+        try {
+            portalConfigService.storeProperties();
+            createSuccessMessage(event, getLocalizedText(event.getActionRequest(), "CONFIG_SAVE_SUCCESS"));
+        } catch (IOException e) {
+            log.error("Unable to save gridsphere.properties!", e);
+        }
+    }
+
+
+    public void doSaveMailMessage(ActionFormEvent event) {
+        String type = event.getAction().getParameter("type");
+        if (type != null) {
+            System.err.println("/n/n/n" + type + "/n/n/n");
+            TextFieldBean subjectTF = event.getTextFieldBean(type + "HeaderTF");
+            if (!subjectTF.getValue().equals(""))
+                portalConfigService.setProperty("LOGIN_" + type.toUpperCase() + "_SUBJECT", subjectTF.getValue());
+            System.err.println("tf=" + subjectTF.getValue());
+            TextAreaBean bodyTA = event.getTextAreaBean(type + "BodyTA");
+            if (!bodyTA.getValue().equals(""))
+                portalConfigService.setProperty("LOGIN_" + type.toUpperCase() + "_BODY", bodyTA.getValue());
+            System.err.println("ta=" + bodyTA.getValue());
+            try {
+                portalConfigService.storeProperties();
+                createSuccessMessage(event, getLocalizedText(event.getActionRequest(), "CONFIG_SAVE_SUCCESS"));
+            } catch (IOException e) {
+                log.error("Unable to save gridsphere.properties!", e);
+            }
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/content/ContentManagementPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,276 @@
+package org.gridsphere.portlets.core.admin.content;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import org.gridsphere.services.core.jcr.ContentException;
+import org.gridsphere.services.core.jcr.JCRNode;
+import org.gridsphere.services.core.jcr.JCRService;
+import org.gridsphere.services.core.jcr.impl.BackupTask;
+import org.gridsphere.services.core.timer.TimerService;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/*
+ * @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+ * @version $Id$
+ */
+
+public class ContentManagementPortlet extends ActionPortlet {
+
+    private JCRService jcrService = null;
+    private final static String defaultViewJSP = "content/view.jsp";
+    private final static String defaultConfigJSP = "content/config.jsp";
+    private TimerService timerService = null;
+    private List renderKits = new ArrayList();
+    private String backupDir = "";
+
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        jcrService = (JCRService) createPortletService(JCRService.class);
+        timerService = (TimerService) createPortletService(TimerService.class);
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        backupDir = settingsService.getRealSettingsPath("content/backupContent");
+        BackupTask backup = new BackupTask(backupDir);
+        timerService.schedule("contentbackup", backup, 1000 * 60, 1000 * 60 * 60 * 24); // 1000*60*60*24 one day
+        DEFAULT_VIEW_PAGE = "doView";
+        DEFAULT_HELP_PAGE = "content/help.jsp";
+        DEFAULT_CONFIGURE_PAGE = "doConfigure";
+        DEFAULT_EDIT_PAGE = "doEdit";
+        renderKits.add(JCRNode.RENDERKIT_HTML);
+        renderKits.add(JCRNode.RENDERKIT_RADEOX);
+        renderKits.add(JCRNode.RENDERKIT_TEXT);
+    }
+
+    protected String getUsername(PortletRequest request) {
+        Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
+        return (String) userInfo.get("user.name");
+    }
+
+    public void listNodes(RenderFormEvent event) {
+        try {
+            List<ContentDocument> list = jcrService.listChildContentDocuments("/");
+            event.getRenderRequest().setAttribute("contentDocs", list);
+        } catch (ContentException e) {
+            log.error("Could not retrieve list of content documents.", e);
+        }
+    }
+
+
+    protected void clearInputs(FormEvent event) {
+        TextFieldBean nodeid = event.getTextFieldBean("title");
+        RichTextEditorBean nodecontent = event.getRichTextEditorBean("content");
+        nodeid.setValue("");
+        nodecontent.setValue("");
+        HiddenFieldBean uuid = event.getHiddenFieldBean("uuid");
+        uuid.setValue("");
+        //setRenderKitValue(event, JCRNode.RENDERKIT_DEFAULT);
+    }
+
+    public void clearEditor(ActionFormEvent event) {
+        clearInputs(event);
+        //listNodes(event);
+        setNextState(event.getActionRequest(), defaultViewJSP);
+    }
+
+    protected void setRenderKitValue(FormEvent event, String kit) {
+        ListBoxBean renderkit = event.getListBoxBean("renderkit");
+        renderkit.clear();
+        for (int i = 0; i < renderKits.size(); i++) {
+            ListBoxItemBean item = new ListBoxItemBean();
+            String akit = (String) renderKits.get(i);
+            String aname[] = akit.split("/");
+            item.setName(akit);
+            item.setValue(aname[1]);
+            if (kit.equals(akit)) {
+                item.setSelected(true);
+            }
+            renderkit.addBean(item);
+        }
+    }
+
+    public void saveDocument(ActionFormEvent event) {
+        PortletRequest request = event.getActionRequest();
+        TextFieldBean nodeBean = event.getTextFieldBean("title");
+        String title = nodeBean.getValue();
+        RichTextEditorBean rteditor = event.getRichTextEditorBean("content");
+        String nodecontent = rteditor.getValue();
+        String uuid = event.getHiddenFieldBean("uuid").getValue();
+        //String renderkit = event.getListBoxBean("renderkit").getSelectedName();
+        String renderkit = "text/html";
+        ContentDocument doc = null;
+        String action = "";
+        try {
+            if (uuid.equals("")) {
+                // new node
+                doc = new ContentDocument();
+                action = "NEW";
+            } else {
+                // edit node
+                doc = jcrService.getDocumentByUUID(uuid);
+                action = "EDIT";
+            }
+
+            doc.setContent(nodecontent);
+            doc.setTitle(title);
+
+            jcrService.saveDocument(doc);
+            createSuccessMessage(event, getLocalizedText(request, "CM_SUCCESS_" + action + "DOCUMENT") + ": " + title + ".");
+
+        } catch (ContentException e) {
+            log.error("Err.", e);
+            createErrorMessage(event, getLocalizedText(request, "CM_ERR_COULDNOTSAVEDOCUMENT") + ": " + title + ".");
+        }
+        clearInputs(event);
+        //listNodes(event);
+        //nodeBean.setReadOnly(false);
+        setNextState(request, DEFAULT_VIEW_PAGE);
+    }
+
+    public void doView(RenderFormEvent event) throws PortletException {
+        PortletRequest request = event.getRenderRequest();
+        listNodes(event);
+        clearInputs(event);
+        //event.getTextFieldBean("title").setReadOnly(true);
+        setNextState(request, defaultViewJSP);
+    }
+
+
+    public void showNode(RenderFormEvent event) throws PortletException {
+        PortletRequest request = event.getRenderRequest();
+        //ListBoxBean nodelist = event.getListBoxBean("nodelist");
+        RichTextEditorBean content = event.getRichTextEditorBean("content");
+        TextFieldBean title = event.getTextFieldBean("title");
+        String renderkit = JCRNode.RENDERKIT_DEFAULT;
+
+        //String uuid = nodelist.getSelectedName();
+        String uuid = event.getRender().getParameter("nodeId");
+        HiddenFieldBean uuidBean = event.getHiddenFieldBean("uuid");
+        System.err.println("uuid= " + uuid);
+
+        if (uuid != null) {
+            try {
+                ContentDocument doc = jcrService.getDocumentByUUID(uuid);
+                content.setValue(doc.getContent());
+                title.setValue(doc.getTitle());
+                uuidBean.setValue(uuid);
+                request.setAttribute("showContent", "true");
+            } catch (ContentException e) {
+                log.error("Unable to retrieve content: " + uuid, e);
+                createErrorMessage(event, getLocalizedText(request, "CM_ERR_COULDNOTLOADDOCUMENT") + ": " + uuid);
+            }
+        } else {
+            title.setValue("New Title");
+            content.setValue("Please add content!");
+            request.setAttribute("showContent", "true");
+        }
+        listNodes(event);
+        setRenderKitValue(event, renderkit);
+        //event.getTextFieldBean("title").setReadOnly(true);
+        setNextState(request, defaultViewJSP);
+    }
+
+    public void removeNode(ActionFormEvent event) throws PortletException {
+        //ListBoxBean nodelist = event.getListBoxBean("nodelist");
+        //String uuid = nodelist.getSelectedName();
+        //String value = nodelist.getSelectedValue();
+        PortletRequest request = event.getActionRequest();
+
+        String[] nodes = request.getParameterValues("nodeCB");
+        if (nodes != null) {
+            for (int i = 0; i < nodes.length; i++) {
+                String uuid = nodes[i];
+                try {
+                    if (uuid != null && !uuid.equals((""))) {
+                        jcrService.removeDocumentByUuid(uuid);
+                        createSuccessMessage(event, getLocalizedText(request, "CM_DELETEDOCUMENT"));
+                    } else {
+                        createErrorMessage(event, getLocalizedText(request, "CM_ERR_SELECTNODE"));
+                    }
+                } catch (ContentException e) {
+                    log.error("Unable to delete content: " + uuid);
+                    createErrorMessage(event, getLocalizedText(request, "CM_ERR_COULDNOTLOADDOCUMENT") + ": " + uuid);
+                }
+            }
+        } else {
+            createErrorMessage(event, getLocalizedText(request, "CM_ERR_SELECTNODE"));
+        }
+        //listNodes(event);
+        clearInputs(event);
+        event.getTextFieldBean("title").setReadOnly(false);
+        setNextState(request, DEFAULT_VIEW_PAGE);
+    }
+
+    public void backupContent(ActionFormEvent event) {
+        MessageBoxBean msg = event.getMessageBoxBean("msg");
+        try {
+            jcrService.backupContent(backupDir);
+            msg.setMessageType(MessageStyle.MSG_SUCCESS);
+            msg.setKey("CM_BACKUPSUCCESS");
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("Error backing up.");
+            msg.setMessageType(MessageStyle.MSG_ERROR);
+            msg.setKey("CM_BACKUPERROR");
+        }
+        setNextState(event.getActionRequest(), "doEdit");
+    }
+
+    public void importContent(ActionFormEvent event) {
+        ListBoxBean backupList = event.getListBoxBean("filelist");
+        String filename = backupList.getSelectedName();
+        MessageBoxBean msg = event.getMessageBoxBean("msg");
+
+        try {
+            jcrService.importContent(backupDir + File.separator + filename);
+            msg.setMessageType(MessageStyle.MSG_SUCCESS);
+            msg.setKey("CM_IMPORTSUCCESS");
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            msg.setMessageType(MessageStyle.MSG_ERROR);
+            msg.setKey("CM_IMPORTERROR");
+
+        }
+        setNextState(event.getActionRequest(), "doEdit");
+    }
+
+    public void doMyEdit(FormEvent event) {
+        ListBoxBean filelist = event.getListBoxBean("filelist");
+        filelist.clear();
+        File dir = new File(backupDir);
+        File files[] = dir.listFiles();
+        for (int i = 0; i < files.length; i++) {
+            File f = files[i];
+            if (f.isFile()) {
+                ListBoxItemBean bean = new ListBoxItemBean();
+                bean.setName(f.getName());
+                bean.setValue(f.getName());
+                filelist.addBean(bean);
+            }
+        }
+    }
+
+    public void doEdit(ActionFormEvent event) {
+        doMyEdit(event);
+        setNextState(event.getActionRequest(), defaultConfigJSP);
+    }
+
+    public void doEdit(RenderFormEvent event) {
+        doMyEdit(event);
+        setNextState(event.getRenderRequest(), defaultConfigJSP);
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/layout/LayoutManagerPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1123 @@
+package org.gridsphere.portlets.core.admin.layout;
+
+import org.gridsphere.layout.*;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.GridSphereEventImpl;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.content.ContentFile;
+import org.gridsphere.services.core.content.ContentManagerService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.*;
+
+
+public class LayoutManagerPortlet extends ActionPortlet {
+
+
+    public static final String VIEW_JSP = "admin/layout/view.jsp";
+
+    private static Map<String, PortletPage> pages = new HashMap<String, PortletPage>();
+    private static RoleManagerService roleManagerService;
+    private static ContentManagerService contentManagerService;
+    private static PortalConfigService portalConfigService = null;
+    private PortletRegistryService portletRegistryService = null;
+    private PortletPageFactory pageFactory = null;
+
+    private static final String SELECTED_LAYOUT = LayoutManagerPortlet.class.getName() + ".SELECTED_LAYOUT";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);
+        contentManagerService = (ContentManagerService) createPortletService(ContentManagerService.class);
+        portletRegistryService = (PortletRegistryService) createPortletService(PortletRegistryService.class);
+        portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);
+        pageFactory = PortletPageFactory.getInstance();
+        DEFAULT_VIEW_PAGE = "doShowLayout";
+    }
+
+    public void savePageDetails(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+        String title = event.getTextFieldBean("titleTF").getValue();
+        page.setTitle(title);
+        String keywords = event.getTextFieldBean("keywordsTF").getValue();
+        page.setKeywords(keywords);
+        pageFactory.savePortletPageMaster(page);
+    }
+
+    public void editComponent(RenderFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getRenderRequest();
+        PortletResponse res = event.getRenderResponse();
+        PortletContext context = getPortletConfig().getPortletContext();
+        GridSphereEvent gsevent = new GridSphereEventImpl(context, (HttpServletRequest) req, (HttpServletResponse) res);
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+        page.actionPerformed(gsevent);
+        pages.put(sessionId, page);
+
+        setNextState(req, DEFAULT_VIEW_PAGE);
+
+    }
+
+    public PortletPage createLayout(FormEvent event, PortletRequest req) throws PortletException, IOException {
+
+        PortletSession session = req.getPortletSession();
+        String layoutId = (String) session.getAttribute(SELECTED_LAYOUT);
+
+        PortletPage page = pageFactory.createPortletPageCopy(layoutId);
+
+        pageFactory.setPageTheme(page, req);
+
+        page.init(req, new ArrayList<ComponentIdentifier>());
+
+        return page;
+    }
+
+    /*
+    public void doFinish(FormEvent event) throws PortletException, IOException {
+        PortletSession session = event.getPortletRequest().getPortletSession();
+        session.setAttribute(SportletProperties.LAYOUT_PAGE, PortletPageFactory.USER_PAGE);
+        session.removeAttribute(SELECTED_LAYOUT);
+        pages.remove(session.getId());
+    }
+    */
+
+    public void doSaveFrame(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();
+        String portletClass = event.getListBoxBean("portletsLB").getSelectedName();
+        String label = event.getTextFieldBean("labelTF").getValue();
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletFrame) {
+            PortletFrame frame = (PortletFrame) comp;
+            if (reqRole.toUpperCase().equals("NONE")) reqRole = "";
+            frame.setRequiredRole(reqRole);
+            frame.setLabel(label);
+            frame.setPortletClass(portletClass);
+            log.debug("setting frame class to " + portletClass);
+            RadioButtonBean istitleRB = event.getRadioButtonBean("istitleRB");
+            if (!istitleRB.getSelectedValue().equalsIgnoreCase("yes")) {
+                frame.setTransparent(true);
+            }
+            page.init(req, new ArrayList<ComponentIdentifier>());
+        }
+
+        pageFactory.savePortletPageMaster(page);
+
+    }
+
+    public void doSaveBar(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletBar) {
+            PortletBar bar = (PortletBar) comp;
+            ListBoxBean colsLB = event.getListBoxBean("colsLB");
+            String colTemplateNum = colsLB.getSelectedName();
+            if (colTemplateNum != null) {
+                PortletComponent c = createLayoutStrategy(colTemplateNum, bar.getPortletComponent());
+                bar.setPortletComponent(c);
+            }
+        }
+
+        pageFactory.savePortletPageMaster(page);
+    }
+
+    public void doSaveTab(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();
+        String name = event.getTextFieldBean("nameTF").getValue();
+        String label = event.getTextFieldBean("labelTF").getValue();
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletTab) {
+            PortletTab tab = (PortletTab) comp;
+            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";
+            tab.setRequiredRole(reqRole);
+            tab.setLabel(label);
+            tab.setTitle(req.getLocale().getLanguage(), name);
+            ListBoxBean colsLB = event.getListBoxBean("colsLB");
+            String colTemplateNum = colsLB.getSelectedName();
+            if (colTemplateNum != null) {
+                PortletComponent table = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());
+                tab.setPortletComponent(table);
+                PortletNavMenu parent = (PortletNavMenu) tab.getParentComponent();
+                parent.setSelectedPortletTab(tab);
+            }
+        }
+
+        pageFactory.savePortletPageMaster(page);
+    }
+
+    public void doSaveNewTab(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+        String reqRole = event.getListBoxBean("rolesLB").getSelectedName();
+        String name = event.getTextFieldBean("nameTF").getValue();
+        String label = event.getTextFieldBean("labelTF").getValue();
+        PortletComponent comp = page.getActiveComponent(activeComp);
+        //PortletComponent comp = active.getParentComponent();
+
+        log.debug("compHF=" + activeComp);
+        log.debug("comp class= " + comp.getClass());
+        log.debug("active comp = " + comp.getComponentID());
+        if (comp instanceof PortletTabbedPane) {
+            PortletTabbedPane pane = (PortletTabbedPane) comp;
+            //System.err.println("tab name " + thistab.getTitle("en"));
+            //PortletTabbedPane pane = (PortletTabbedPane)thistab.getParentComponent();
+            PortletTab tab = new PortletTab();
+            tab.setTitle(req.getLocale().getLanguage(), name);
+            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";
+            tab.setRequiredRole(reqRole);
+            tab.setLabel(label);
+            if (pane.getStyle().equals("menu")) {
+                //RadioButtonBean addSubTab = event.getRadioButtonBean("subcompRB");
+                //if (addSubTab.getSelectedValue().equals("double")) {
+                PortletTabbedPane newpane = new PortletTabbedPane();
+                newpane.setStyle("sub-menu");
+                tab.setPortletComponent(newpane);
+                /*} else {
+                    PortletRowLayout row = new PortletRowLayout();
+                    PortletColumnLayout col = new PortletColumnLayout();
+                    col.setWidth("100%");
+                    row.addPortletComponent(col);
+                    PortletTableLayout table = new PortletTableLayout();
+                    table.addPortletComponent(row);
+                    tab.setPortletComponent(table);
+                }*/
+            } else if (pane.getStyle().equals("sub-menu")) {
+                ListBoxBean colsLB = event.getListBoxBean("colsLB");
+                String colTemplateNum = colsLB.getSelectedName();
+                PortletComponent c = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());
+                tab.setPortletComponent(c);
+            }
+            pane.addTab(tab);
+            pane.setSelectedPortletTab(tab);
+
+            pageFactory.savePortletPageMaster(page);
+
+            page.init(req, new ArrayList<ComponentIdentifier>());
+            pages.put(sessionId, page);
+        } else if (comp instanceof PortletMenu) {
+            PortletMenu menu = (PortletMenu) comp;
+            //System.err.println("tab name " + thistab.getTitle("en"));
+            //PortletTabbedPane pane = (PortletTabbedPane)thistab.getParentComponent();
+            log.debug("creating new menu tab!");
+            PortletTab tab = new PortletTab();
+            tab.setTitle(req.getLocale().getLanguage(), name);
+            if (reqRole.equalsIgnoreCase("NONE")) reqRole = "";
+            tab.setRequiredRole(reqRole);
+            tab.setLabel(label);
+            ListBoxBean colsLB = event.getListBoxBean("colsLB");
+            String colTemplateNum = colsLB.getSelectedName();
+            PortletComponent c = createLayoutStrategy(colTemplateNum, tab.getPortletComponent());
+            tab.setPortletComponent(c);
+            menu.addTab(tab);
+            menu.setSelectedPortletTab(tab);
+
+            pageFactory.savePortletPageMaster(page);
+
+
+            page.init(req, new ArrayList<ComponentIdentifier>());
+
+            pages.put(sessionId, page);
+        }
+
+
+    }
+
+    public void doDeleteTab(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletTab) {
+            PortletTab tab = (PortletTab) comp;
+            PortletNavMenu menu = (PortletNavMenu) tab.getParentComponent();
+
+            int index = menu.getIndexOfTab(tab);
+
+            if (index < (menu.getTabCount() - 1)) {
+                menu.setSelectedPortletTabIndex(index + 1);
+            } else if (index > 0) {
+                menu.setSelectedPortletTabIndex(index - 1);
+            }
+            menu.removeTab(tab);
+
+        }
+
+
+        pageFactory.savePortletPageMaster(page);
+    }
+
+
+    public void doMoveTabLeft(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletTab) {
+            PortletTab tab = (PortletTab) comp;
+            PortletNavMenu pane = (PortletNavMenu) tab.getParentComponent();
+            int index = pane.getIndexOfTab(tab);
+            pane.removeTab(tab);
+            pane.insertTab(tab, index - 1);
+            pane.setSelectedPortletTabIndex(index - 1);
+        }
+
+
+        pageFactory.savePortletPageMaster(page);
+
+    }
+
+    public void doMoveTabRight(ActionFormEvent event) throws PortletException, IOException {
+        PortletRequest req = event.getActionRequest();
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+        String activeComp = compHF.getValue();
+
+        PortletComponent comp = page.getActiveComponent(activeComp);
+
+        if (comp instanceof PortletTab) {
+            PortletTab tab = (PortletTab) comp;
+            PortletNavMenu pane = (PortletNavMenu) tab.getParentComponent();
+            int index = pane.getIndexOfTab(tab);
+            pane.removeTab(tab);
+            pane.insertTab(tab, index + 1);
+            pane.setSelectedPortletTabIndex(index + 1);
+        }
+
+
+        pageFactory.savePortletPageMaster(page);
+
+    }
+
+    public void doCancel(ActionFormEvent event) throws PortletException, IOException {
+        // do nothing
+    }
+
+    public void doShowLayout(ActionFormEvent event) throws PortletException, IOException {
+        doShowLayout(event.getActionRequest(), event.getActionResponse(), event);
+    }
+
+    public void doShowLayout(RenderFormEvent event) throws PortletException, IOException {
+        RenderRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        doShowLayout(req, res, event);
+        setNextState(event.getRenderRequest(), VIEW_JSP);
+    }
+
+    public void doShowLayout(PortletRequest req, PortletResponse res, FormEvent event) throws PortletException, IOException {
+
+        PortletSession session = req.getPortletSession();
+
+        Set<String> layoutIds = pageFactory.getEditableLayoutIds();
+
+        // set guest page as the selected page
+        if (session.getAttribute(SELECTED_LAYOUT) == null) {
+            session.setAttribute(SELECTED_LAYOUT, PortletPageFactory.GUEST_PAGE);
+        }
+
+        String selectedLayout = (String) session.getAttribute(SELECTED_LAYOUT);
+        req.setAttribute("pageName", selectedLayout);
+
+        ListBoxBean layoutsLB = event.getListBoxBean("layoutsLB");
+        layoutsLB.clear();
+        for (String layoutId : layoutIds) {
+            ListBoxItemBean item = new ListBoxItemBean();
+            item.setName(layoutId);
+            item.setValue(layoutId);
+            if (layoutId.equalsIgnoreCase(selectedLayout)) item.setSelected(true);
+            layoutsLB.addBean(item);
+        }
+
+        String theme = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_THEME, PortletSession.APPLICATION_SCOPE);
+        //String theme = portalConfigService.getProperty(PortalConfigService.DEFAULT_THEME);
+        String renderkit = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_RENDERKIT, PortletSession.APPLICATION_SCOPE);
+
+
+        ListBoxBean themesLB = event.getListBoxBean("themesLB");
+
+        themesLB.clear();
+
+        String themesPath = getPortletConfig().getPortletContext().getRealPath("/themes");
+        /// retrieve the current renderkit
+        themesPath += "/" + renderkit;
+
+        String[] themes = null;
+        File f = new File(themesPath);
+        if (f.isDirectory()) {
+            themes = f.list();
+        }
+
+        for (int i = 0; i < themes.length; i++) {
+            ListBoxItemBean lb = new ListBoxItemBean();
+            lb.setValue(themes[i].trim());
+            if (themes[i].trim().equalsIgnoreCase(theme)) lb.setSelected(true);
+            themesLB.addBean(lb);
+        }
+
+        PortletContext context = getPortletConfig().getPortletContext();
+
+        // theme has to be set before it is inited
+        req.setAttribute(SportletProperties.LAYOUT_EDIT_MODE, "true");
+        String cid = (String) req.getAttribute(SportletProperties.COMPONENT_ID);
+
+        String sessionId = session.getId();
+        String extraURI = "&" + SportletProperties.COMPONENT_ID + "=" + cid +
+                "&" + SportletProperties.DEFAULT_PORTLET_ACTION + "=doShowLayout";
+
+        log.debug("extraURI= " + extraURI);
+        req.setAttribute(SportletProperties.EXTRA_QUERY_INFO, extraURI);
+
+        PortletPage page = (PortletPage) pages.get(sessionId);
+        if (page == null) page = createLayout(event, req);
+
+
+        CheckBoxBean showModesCB = event.getCheckBoxBean("showModesCB");
+        CheckBoxBean showStatesCB = event.getCheckBoxBean("showStatesCB");
+        showStatesCB.setSelected(page.getDisplayStates());
+        showModesCB.setSelected(page.getDisplayModes());
+
+        // set page details
+        event.getTextFieldBean("titleTF").setValue(page.getTitle());
+        event.getTextFieldBean("keywordsTF").setValue(page.getKeywords());
+
+        GridSphereEventImpl gsevent = new GridSphereEventImpl(context, (HttpServletRequest) req, (HttpServletResponse) res);
+        req.setAttribute(SportletProperties.IGNORE_PARSING, "true");
+
+        String controlUI = "";
+        String compid = req.getParameter(SportletProperties.COMPONENT_ID_2);
+        // put new cid in before render is called
+        if (compid != null) {
+            gsevent.setComponentID(compid);
+            System.err.println("\n\n\nfound compid2 = " + compid);
+        }
+        String action = req.getParameter(SportletProperties.DEFAULT_PORTLET_ACTION_2);
+        if (action != null) {
+            gsevent.setAction(new DefaultPortletAction(action));
+            System.err.println("found action2 = " + action);
+        }
+
+        if (req.getParameter("usertable") != null) {
+            page.init(req, new ArrayList<ComponentIdentifier>());
+            page.actionPerformed(gsevent);
+            pageFactory.savePortletPageMaster(page);
+            page.init(req, new ArrayList<ComponentIdentifier>());
+        }
+
+
+        if (compid != null) {
+
+            PortletComponent comp = page.getActiveComponent(compid);
+
+            if (comp instanceof PortletFrame) {
+                log.debug("it's a frame!");
+                PortletFrame frame = (PortletFrame) comp;
+                // don't perform action on portlet frame
+                if (action.equals(PortletFrame.DELETE_PORTLET)) {
+                    PortletComponent parent = frame.getParentComponent();
+                    parent.remove(frame);
+                    pageFactory.savePortletPageMaster(page);
+                } else {
+                    controlUI = "frame";
+                }
+                if (!frame.getTransparent()) {
+                    req.setAttribute("isTitle", "true");
+                }
+
+                ListBoxBean portletsLB = event.getListBoxBean("portletsLB");
+                Collection<ApplicationPortlet> appColl = portletRegistryService.getAllApplicationPortlets();
+                Locale loc = req.getLocale();
+
+                for (ApplicationPortlet app : appColl) {
+
+                    String concID = app.getConcretePortletID();
+                    // we don't want to list PortletServlet loader!
+                    // if (concID.startsWith(PortletServlet.class.getName())) continue;
+
+                    String dispName = app.getDisplayName(loc);
+                    String descName = app.getDescription(loc);
+                    ListBoxItemBean item = new ListBoxItemBean();
+                    item.setValue(dispName + " - " + descName);
+                    item.setName(concID);
+                    if (concID.equalsIgnoreCase(frame.getPortletClass())) item.setSelected(true);
+                    portletsLB.addBean(item);
+
+                }
+            } else if (comp instanceof PortletContent) {
+                if ((action != null) && (!action.equals(""))) {
+                    PortletContent content = (PortletContent) comp;
+                    PortletComponent parent = content.getParentComponent();
+                    parent.remove(content);
+                    pageFactory.savePortletPageMaster(page);
+                } else {
+                    controlUI = "content";
+                    ListBoxBean contentLB = event.getListBoxBean("contentLB");
+                    List contentFiles = contentManagerService.getAllContent();
+                    for (int i = 0; i < contentFiles.size(); i++) {
+                        ContentFile contentFile = (ContentFile) contentFiles.get(i);
+                        ListBoxItemBean item = new ListBoxItemBean();
+                        item.setName(contentFile.getFile().getName());
+                        item.setValue(contentFile.getFile().getName());
+                        contentLB.addBean(item);
+                    }
+                }
+            } else if (comp instanceof PortletTab) {
+                PortletTab tab = (PortletTab) comp;
+                PortletNavMenu pane = (PortletNavMenu) tab.getParentComponent();
+                if (pane.getStyle().equals("menu")) {
+                    log.debug("it's a tab!");
+                    controlUI = "tab";
+                    createColsListBox(event, req, tab.getPortletComponent());
+                } else {
+                    log.debug("it's a subtab");
+                    controlUI = "subtab";
+                    createColsListBox(event, req, tab.getPortletComponent());
+                }
+                log.debug("tab name=" + tab.getTitle(req.getLocale().getLanguage()));
+
+                // if selected tab is first tab disable 'move left' button
+                if ((pane.getIndexOfTab(tab) == 0)) {
+                    ActionSubmitBean moveLeftButton = event.getActionSubmitBean("moveLeftButton");
+                    moveLeftButton.setDisabled(true);
+                }
+                // if selected tab is last tab disable 'move right' buttom
+                if ((pane.getIndexOfTab(tab) == (pane.getTabCount() - 1))) {
+                    ActionSubmitBean moveRightButton = event.getActionSubmitBean("moveRightButton");
+                    moveRightButton.setDisabled(true);
+                }
+                log.debug("invoking action on tab/subtab");
+
+                page.actionPerformed(gsevent);
+            } else if (comp instanceof PortletBar) {
+                PortletBar bar = (PortletBar) comp;
+                controlUI = "bar";
+                createColsListBox(event, req, bar.getPortletComponent());
+
+            }
+            boolean itsanewtab = false;
+            if (req.getParameter("newtab") != null) {
+                controlUI = "tab";
+                TextFieldBean nameTF = event.getTextFieldBean("nameTF");
+                nameTF.setValue(this.getLocalizedText(req, "LAYOUT_NEW_TAB2"));
+                itsanewtab = true;
+                comp = new PortletTab();
+            } else if (req.getParameter("newsubtab") != null) {
+                controlUI = "subtab";
+                TextFieldBean nameTF = event.getTextFieldBean("nameTF");
+                nameTF.setValue(this.getLocalizedText(req, "LAYOUT_NEW_SUBTAB2"));
+                itsanewtab = true;
+                PortletTab tab = new PortletTab();
+                createColsListBox(event, req, tab.getPortletComponent());
+                comp = tab;
+            } else if (req.getParameter("newmenutab") != null) {
+                controlUI = "menu";
+                TextFieldBean nameTF = event.getTextFieldBean("nameTF");
+                nameTF.setValue(this.getLocalizedText(req, "LAYOUT_NEW_MENUTAB"));
+                itsanewtab = true;
+                PortletTab tab = new PortletTab();
+                createColsListBox(event, req, tab.getPortletComponent());
+                comp = tab;
+            }
+            if (itsanewtab) {
+                TextFieldBean labelTF = event.getTextFieldBean("labelTF");
+                labelTF.setValue("");
+                ActionSubmitBean moveLeftButton = event.getActionSubmitBean("moveLeftButton");
+                moveLeftButton.setDisabled(true);
+                ActionSubmitBean moveRightButton = event.getActionSubmitBean("moveRightButton");
+                moveRightButton.setDisabled(true);
+                req.setAttribute("isnewtab", "true");
+            }
+
+            ListBoxBean rolesLB = event.getListBoxBean("rolesLB");
+            rolesLB.clear();
+            ListBoxItemBean item = new ListBoxItemBean();
+
+            item.setValue(this.getLocalizedText(req, "LAYOUT_ROLE_NONE_REQUIRED"));
+            item.setName("NONE");
+
+            rolesLB.addBean(item);
+            List<PortletRole> roles = roleManagerService.getRoles();
+            for (PortletRole role : roles) {
+                item = new ListBoxItemBean();
+                item.setValue(role.getName());
+                item.setName(role.getName());
+                if ((comp != null) && (comp.getRequiredRole() != null)
+                        && (comp.getRequiredRole().equalsIgnoreCase(role.getName()))) item.setSelected(true);
+                rolesLB.addBean(item);
+            }
+
+            HiddenFieldBean compHF = event.getHiddenFieldBean("compHF");
+            compHF.setName("compid");
+            compHF.setValue(compid);
+
+            req.setAttribute("portletComp", comp);
+            req.setAttribute("controlUI", controlUI);
+        }
+
+        StringBuffer pageBuffer = new StringBuffer();
+        PortletComponent comp = page.getPortletComponent();
+
+        log.debug("rendering the component");
+
+
+        comp.doRender(gsevent);
+
+        pageBuffer = comp.getBufferedOutput(req);
+
+        //System.err.println(pageBuffer);
+
+        ListBoxBean navigationLB = event.getListBoxBean("navigationLB");
+        navigationLB.clear();
+        ListBoxItemBean item = new ListBoxItemBean();
+        item.setName("bar");
+        item.setValue(this.getLocalizedText(req, "LAYOUT_SINGLE_DIVIDER"));
+        if (comp instanceof PortletBar) {
+            item.setSelected(true);
+        }
+        navigationLB.addBean(item);
+        item = new ListBoxItemBean();
+        item.setName("menu");
+        item.setValue(this.getLocalizedText(req, "LAYOUT_MENUBAR"));
+        if (comp instanceof PortletMenu) {
+            item.setSelected(true);
+        }
+        navigationLB.addBean(item);
+        item = new ListBoxItemBean();
+        item.setName("pane");
+        item.setValue(this.getLocalizedText(req, "LAYOUT_TABBEDPANE"));
+        if (comp instanceof PortletTabbedPane) {
+            item.setSelected(true);
+        }
+        navigationLB.addBean(item);
+
+
+        req.setAttribute("pane", pageBuffer.toString());
+        pages.put(sessionId, page);
+
+        // put old cid back so beans/tags work!!
+        req.setAttribute(SportletProperties.COMPONENT_ID, cid);
+        // remove special layout attributes so the rest of "real" layout after this portlet renders properly
+        req.removeAttribute(SportletProperties.EXTRA_QUERY_INFO);
+        req.removeAttribute(SportletProperties.LAYOUT_EDIT_MODE);
+
+        //setNextState(req, VIEW_JSP);
+    }
+
+    public void selectLayout(ActionFormEvent event) throws PortletException, IOException {
+        ListBoxBean layoutsLB = event.getListBoxBean("layoutsLB");
+        PortletSession session = event.getActionRequest().getPortletSession();
+        session.setAttribute(SELECTED_LAYOUT, layoutsLB.getSelectedValue());
+        pages.remove(session.getId());
+    }
+
+    public void selectTheme(ActionFormEvent event) throws PortletException, IOException {
+        ListBoxBean themesLB = event.getListBoxBean("themesLB");
+        String selectedTheme = themesLB.getSelectedValue();
+        portalConfigService.setProperty(PortalConfigService.DEFAULT_THEME, selectedTheme);
+        MessageBoxBean msg = event.getMessageBoxBean("msg");
+        String value = this.getLocalizedText(event.getActionRequest(), "LAYOUT_SAVETHEMEMSG") + " " + selectedTheme;
+        msg.setValue(value);
+    }
+
+    public void doSaveNav(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+
+        String sessionId = req.getPortletSession().getId();
+        PortletPage page = (PortletPage) pages.get(sessionId);
+
+        PortletComponent navComp = page.getPortletComponent();
+        ListBoxBean navLB = event.getListBoxBean("navigationLB");
+        String name = navLB.getSelectedName();
+
+        CheckBoxBean showModesCB = event.getCheckBoxBean("showModesCB");
+        CheckBoxBean showStatesCB = event.getCheckBoxBean("showStatesCB");
+        page.setDisplayModes(showModesCB.isSelected());
+        page.setDisplayStates(showStatesCB.isSelected());
+
+        // switch to a PortletBar, no tabs whatsoever
+        if (name.equals("bar")) {
+            // the actual component matches the selected one, do nothing
+            if (!(navComp instanceof PortletBar)) {
+
+                PortletBar bar = new PortletBar();
+                // set the first menu tab component to be the bar component
+                if (navComp instanceof PortletMenu) {         // MB  -> SDB
+                    PortletMenu menu = (PortletMenu) navComp;
+                    List<PortletTab> tabs = menu.getPortletTabs();
+                    if (tabs.size() > 0) {
+                        PortletTab tab = tabs.get(0);
+                        bar.setPortletComponent(tab.getPortletComponent());
+                    } else {
+
+                    }
+                }
+                // converting tabbespane into single diver bar, we remove the all portlets since many could exist and we
+                // just have one plain layout
+                if (navComp instanceof PortletTabbedPane) {   // DTP -> SDB
+
+                    PortletTableLayout table = new PortletTableLayout();
+                    PortletRowLayout row = new PortletRowLayout();
+                    PortletColumnLayout col = new PortletColumnLayout();
+                    col.setWidth("100%");
+                    row.addPortletComponent(col);
+                    table.addPortletComponent(row);
+                    bar.setPortletComponent(table);
+
+
+                }
+                page.setPortletComponent(bar);
+            }
+
+            // switch to a menu, single row of tabs
+        } else if (name.equals("menu")) {
+            if (!(navComp instanceof PortletMenu)) {
+                PortletMenu menu = new PortletMenu();
+                if (navComp instanceof PortletBar) {  // SDB -> MB
+                    PortletBar bar = (PortletBar) navComp;
+                    PortletTab tab = new PortletTab();
+                    tab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));
+                    tab.setPortletComponent(bar.getPortletComponent());
+                    menu.addTab(tab);
+                }
+
+                if (navComp instanceof PortletTabbedPane) {   // DTP -> MB
+                    PortletTabbedPane pane = (PortletTabbedPane) navComp;
+                    List<PortletTab> tabs = pane.getPortletTabs();
+                    for (PortletTab atab : tabs) {
+                        PortletTabbedPane subpane = (PortletTabbedPane) atab.getPortletComponent();
+                        List<PortletTab> subtabs = subpane.getPortletTabs();
+                        if (subtabs.size() > 0) {
+                            for (PortletTab stab : subtabs) {
+                                menu.addTab(stab);
+                            }
+                        }
+
+                    }
+                }
+                page.setPortletComponent(menu);
+            }
+            // switch to a tabbed pane, double line of tabs
+        } else if (name.equals("pane")) {
+            if (!(navComp instanceof PortletTabbedPane)) {
+                PortletTabbedPane pane = new PortletTabbedPane();
+                pane.setStyle("menu");
+                if (navComp instanceof PortletBar) {  // SDB ->  DTP
+                    PortletTab newtab = new PortletTab();
+                    newtab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));
+                    pane.addTab(newtab);
+                    PortletTabbedPane subpane = new PortletTabbedPane();
+                    subpane.setStyle("sub-menu");
+                    newtab.setPortletComponent(subpane);
+                    PortletTab subtab = new PortletTab();
+                    subtab.setTitle(req.getLocale().getLanguage(), this.getLocalizedText(req, "LAYOUT_DEFAULT_TAB_NAME"));
+
+                    PortletTableLayout table = new PortletTableLayout();
+                    PortletRowLayout row = new PortletRowLayout();
+                    PortletColumnLayout col = new PortletColumnLayout();
+                    col.setWidth("100%");
+                    row.addPortletComponent(col);
+                    table.addPortletComponent(row);
+                    subtab.setPortletComponent(table);
+                    subpane.addTab(subtab);
+                } else if (navComp instanceof PortletMenu) { // MB -> DTP
+                    PortletMenu menu = (PortletMenu) navComp;
+                    List<PortletTab> tabs = menu.getPortletTabs();
+                    for (PortletTab atab : tabs) {
+                        PortletTab newtab = new PortletTab();
+                        newtab.setTitle(req.getLocale().getLanguage(), atab.getTitle(req.getLocale().getLanguage()));
+                        pane.addTab(newtab);
+                        PortletTabbedPane subpane = new PortletTabbedPane();
+                        subpane.setStyle("sub-menu");
+                        newtab.setPortletComponent(subpane);
+                        subpane.addTab(atab);
+                    }
+
+                }
+                page.setPortletComponent(pane);
+            }
+        }
+        pageFactory.savePortletPageMaster(page);
+        page.init(req, new ArrayList<ComponentIdentifier>());
+        pages.put(sessionId, page);
+    }
+
+    /**
+     * Modifies a portlet tab to provide the desired column layout strategy given a tab
+     * The numbering is as follows:
+     * "one"  - 1 column
+     * "two" - 2 col, 33%, 66%
+     * "three" - 2 col, 50%, 50%
+     * "four" - 2 col, 66%, 33%
+     * "five" - 3 col, 33%, 33%, 33%
+     * "six" - 3 col 25%, 50%, 25%
+     *
+     * @param strategyNum the string as one of the above
+     * @param comp        a portlet component
+     * @return the updated table layout
+     */
+    private PortletComponent createLayoutStrategy(String strategyNum, PortletComponent comp) {
+        log.debug("col strategy: " + strategyNum);
+        if ((comp != null) && (comp instanceof PortletTableLayout)) {
+            PortletTableLayout table = (PortletTableLayout) comp;
+            List rows = table.getPortletComponents();
+            if ((rows != null) && (!rows.isEmpty())) {
+                PortletComponent c = (PortletComponent) rows.get(0);
+                if (c instanceof PortletRowLayout) {
+                    PortletRowLayout row = (PortletRowLayout) c;
+                    List cols = row.getPortletComponents();
+                    System.err.println("cols size= " + cols.size());
+                    if (cols.size() == 1) {
+                        if (strategyNum.equals("one")) {
+                            return table;
+                        }
+                        if (strategyNum.equals("two")) {
+                            // deal with case where column layout needs to be extended
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = new PortletColumnLayout();
+                            oldcol.setWidth("33%");
+                            col.setWidth("66%");
+                            row.addPortletComponent(col);
+                        }
+                        if (strategyNum.equals("three")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = new PortletColumnLayout();
+                            oldcol.setWidth("50%");
+                            col.setWidth("50%");
+                            row.addPortletComponent(col);
+                        }
+                        if (strategyNum.equals("four")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = new PortletColumnLayout();
+                            oldcol.setWidth("66%");
+                            col.setWidth("33%");
+                            row.addPortletComponent(col);
+                        }
+                        if (strategyNum.equals("five")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = new PortletColumnLayout();
+                            PortletColumnLayout newcol = new PortletColumnLayout();
+                            oldcol.setWidth("33%");
+                            col.setWidth("33%");
+                            newcol.setWidth("33%");
+                            row.addPortletComponent(col);
+                            row.addPortletComponent(newcol);
+                        }
+                        if (strategyNum.equals("six")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = new PortletColumnLayout();
+                            PortletColumnLayout newcol = new PortletColumnLayout();
+                            oldcol.setWidth("25%");
+                            col.setWidth("50%");
+                            newcol.setWidth("25%");
+                            row.addPortletComponent(col);
+                            row.addPortletComponent(newcol);
+                        }
+                    }
+
+                    if (cols.size() == 2) {
+                        if (strategyNum.equals("one")) {
+                            // deal with case where column layout needs to be reduced
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(1);
+                            col.setWidth("100%");
+                            row.removePortletComponent(oldcol);
+                        }
+                        if (strategyNum.equals("two")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(1);
+                            oldcol.setWidth("33%");
+                            col.setWidth("66%");
+                        }
+                        if (strategyNum.equals("three")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(1);
+                            oldcol.setWidth("50%");
+                            col.setWidth("50%");
+                        }
+                        if (strategyNum.equals("four")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(1);
+                            oldcol.setWidth("66%");
+                            col.setWidth("33%");
+                        }
+                        if (strategyNum.equals("five")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout newcol = new PortletColumnLayout();
+                            oldcol.setWidth("33%");
+                            col.setWidth("33%");
+                            newcol.setWidth("33%");
+                            row.addPortletComponent(newcol);
+                        }
+                        if (strategyNum.equals("six")) {
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout newcol = new PortletColumnLayout();
+                            oldcol.setWidth("25%");
+                            col.setWidth("50%");
+                            newcol.setWidth("25%");
+                            row.addPortletComponent(newcol);
+                        }
+                    }
+
+                    if (cols.size() == 3) {
+                        if (strategyNum.equals("one")) {
+                            // deal with case where column layout needs to be reduced
+                            PortletColumnLayout col = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout newcol = (PortletColumnLayout) cols.get(2);
+                            PortletColumnLayout oldcol = (PortletColumnLayout) cols.get(1);
+                            col.setWidth("100%");
+                            row.removePortletComponent(oldcol);
+                            row.removePortletComponent(newcol);
+                        }
+
+                        if (strategyNum.equals("two")) {
+                            PortletColumnLayout col1 = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col2 = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout col3 = (PortletColumnLayout) cols.get(2);
+                            col1.setWidth("33%");
+                            col2.setWidth("66%");
+                            row.removePortletComponent(col3);
+
+                        }
+                        if (strategyNum.equals("three")) {
+                            PortletColumnLayout col1 = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col2 = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout col3 = (PortletColumnLayout) cols.get(2);
+                            col1.setWidth("50%");
+                            col2.setWidth("50%");
+                            row.removePortletComponent(col3);
+                        }
+                        if (strategyNum.equals("four")) {
+                            PortletColumnLayout col1 = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col2 = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout col3 = (PortletColumnLayout) cols.get(2);
+                            col1.setWidth("66%");
+                            col2.setWidth("33%");
+                            row.removePortletComponent(col3);
+                        }
+
+                        if (strategyNum.equals("five")) {
+                            PortletColumnLayout col1 = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col2 = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout col3 = (PortletColumnLayout) cols.get(2);
+                            col1.setWidth("33%");
+                            col2.setWidth("33%");
+                            col3.setWidth("33%");
+                        }
+                        if (strategyNum.equals("six")) {
+                            PortletColumnLayout col1 = (PortletColumnLayout) cols.get(0);
+                            PortletColumnLayout col2 = (PortletColumnLayout) cols.get(1);
+                            PortletColumnLayout col3 = (PortletColumnLayout) cols.get(2);
+                            col1.setWidth("25%");
+                            col2.setWidth("50%");
+                            col3.setWidth("25%");
+                        }
+
+                    }
+
+
+                }
+            }
+            System.err.println("return comp " + comp.getClass().getName());
+            return table;
+        } else {
+
+            System.err.println("creating a new table");
+            PortletTableLayout table = new PortletTableLayout();
+            PortletRowLayout row = new PortletRowLayout();
+
+            if (strategyNum.equals("one")) {
+                PortletColumnLayout col = new PortletColumnLayout();
+                col.setWidth("100%");
+                row.addPortletComponent(col);
+            }
+
+            if (strategyNum.equals("two")) {
+                PortletColumnLayout col = new PortletColumnLayout();
+                PortletColumnLayout newcol = new PortletColumnLayout();
+                col.setWidth("33%");
+                row.addPortletComponent(col);
+                col.setWidth("66%");
+                row.addPortletComponent(newcol);
+            }
+
+            if (strategyNum.equals("three")) {
+                PortletColumnLayout col = new PortletColumnLayout();
+                PortletColumnLayout newcol = new PortletColumnLayout();
+                col.setWidth("50%");
+                row.addPortletComponent(col);
+                col.setWidth("50%");
+                row.addPortletComponent(newcol);
+            }
+
+            if (strategyNum.equals("four")) {
+                PortletColumnLayout col = new PortletColumnLayout();
+                PortletColumnLayout newcol = new PortletColumnLayout();
+                col.setWidth("66%");
+                row.addPortletComponent(col);
+                col.setWidth("33%");
+                row.addPortletComponent(newcol);
+            }
+
+            if (strategyNum.equals("five")) {
+                PortletColumnLayout col1 = new PortletColumnLayout();
+                PortletColumnLayout col2 = new PortletColumnLayout();
+                PortletColumnLayout col3 = new PortletColumnLayout();
+                col1.setWidth("33%");
+                row.addPortletComponent(col1);
+                col2.setWidth("33%");
+                row.addPortletComponent(col2);
+                col2.setWidth("33%");
+                row.addPortletComponent(col3);
+            }
+            if (strategyNum.equals("six")) {
+                PortletColumnLayout col1 = new PortletColumnLayout();
+                PortletColumnLayout col2 = new PortletColumnLayout();
+                PortletColumnLayout col3 = new PortletColumnLayout();
+                col1.setWidth("25%");
+                row.addPortletComponent(col1);
+                col2.setWidth("50%");
+                row.addPortletComponent(col2);
+                col2.setWidth("25%");
+                row.addPortletComponent(col3);
+            }
+            table.addPortletComponent(row);
+            System.err.println("return table");
+            return table;
+
+        }
+
+    }
+
+
+    private void createColsListBox(FormEvent event, PortletRequest req, PortletComponent comp) {
+        // TODO  deal with column layouts
+        String colType = "one";
+
+        if ((comp != null) && (comp instanceof PortletTableLayout)) {
+            PortletTableLayout tableLayout = (PortletTableLayout) comp;
+            List rows = tableLayout.getPortletComponents();
+            if ((rows != null) && (!rows.isEmpty())) {
+                PortletComponent row = (PortletComponent) rows.get(0);
+                if (row instanceof PortletRowLayout) {
+                    PortletRowLayout r = (PortletRowLayout) row;
+                    List cols = r.getPortletComponents();
+                    if (cols.size() == 2) {
+                        PortletColumnLayout col = (PortletColumnLayout) cols.get(0);
+                        if (col.getWidth().equals("33%")) {
+                            colType = "two";
+                        }
+                        if (col.getWidth().equals("50%")) {
+                            colType = "three";
+                        }
+                        if (col.getWidth().equals("66%")) {
+                            colType = "four";
+                        }
+                    }
+                    if (cols.size() == 3) {
+                        PortletColumnLayout col = (PortletColumnLayout) cols.get(0);
+                        if (col.getWidth().equals("33%")) {
+                            colType = "five";
+                        }
+                        if (col.getWidth().equals("25%")) {
+                            colType = "six";
+                        }
+                    }
+
+                }
+            }
+        }
+
+        ListBoxBean colsLB = event.getListBoxBean("colsLB");
+        colsLB.clear();
+        ListBoxItemBean one = new ListBoxItemBean();
+        ListBoxItemBean two = new ListBoxItemBean();
+        ListBoxItemBean three = new ListBoxItemBean();
+        ListBoxItemBean four = new ListBoxItemBean();
+        ListBoxItemBean five = new ListBoxItemBean();
+        ListBoxItemBean six = new ListBoxItemBean();
+        one.setValue(this.getLocalizedText(req, "LAYOUT_ONECOL"));
+        one.setName("one");
+        if (colType.equals("one")) one.setSelected(true);
+        two.setValue(this.getLocalizedText(req, "LAYOUT_TWOCOL1"));
+        two.setName("two");
+        if (colType.equals("two")) two.setSelected(true);
+        three.setValue(this.getLocalizedText(req, "LAYOUT_TWOCOL2"));
+
+        three.setName("three");
+        if (colType.equals("three")) three.setSelected(true);
+        four.setValue(this.getLocalizedText(req, "LAYOUT_TWOCOL3"));
+        four.setName("four");
+        if (colType.equals("four")) four.setSelected(true);
+        five.setValue(this.getLocalizedText(req, "LAYOUT_THREECOL1"));
+        five.setName("five");
+        if (colType.equals("five")) five.setSelected(true);
+        six.setValue(this.getLocalizedText(req, "LAYOUT_THREECOL2"));
+        six.setName("six");
+        if (colType.equals("six")) six.setSelected(true);
+        colsLB.addBean(one);
+        colsLB.addBean(two);
+        colsLB.addBean(three);
+        colsLB.addBean(four);
+        colsLB.addBean(five);
+        colsLB.addBean(six);
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/PortletApplicationManager.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,384 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletApplicationManager.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlets.core.admin.portlets;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portlet.jsr.PortletServlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.provider.portletui.model.DefaultTableModel;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.registry.PortletManagerService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+import org.gridsphere.services.core.tomcat.TomcatManagerException;
+import org.gridsphere.services.core.tomcat.TomcatManagerService;
+import org.gridsphere.services.core.tomcat.TomcatWebAppDescription;
+import org.gridsphere.services.core.tomcat.TomcatWebAppResult;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.util.*;
+
+/**
+ * The PortletApplicationManager is a wrapper for the Tomcat manager webapp which allows dynamic
+ * ui application management and hence dynamic portlet management. This class needs to be adapted for
+ * other servlet containers.
+ */
+public class PortletApplicationManager extends ActionPortlet {
+
+    public static final String LIST_APPS_JSP = "admin/portlets/listPortletApps.jsp";
+    public static final String VIEW_APP_JSP = "admin/portlets/viewPortletApp.jsp";
+    public static final String HELP_JSP = "admin/portlets/help.jsp";
+
+    private TomcatManagerService tomcatManager;
+    private PortletManagerService portletManager = null;
+    private PortletRegistryService registry = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        portletManager = (PortletManagerService) createPortletService(PortletManagerService.class);
+        tomcatManager = (TomcatManagerService) createPortletService(TomcatManagerService.class);
+        registry = (PortletRegistryService) createPortletService(PortletRegistryService.class);
+        DEFAULT_VIEW_PAGE = "listPortlets";
+        DEFAULT_HELP_PAGE = HELP_JSP;
+    }
+
+    public void listPortlets(RenderFormEvent event) {
+
+        PortletRequest req = event.getRenderRequest();
+        PortletResponse res = event.getRenderResponse();
+        List portletapps;
+        List otherapps;
+        try {
+            portletapps = getPortletAppList(req, res);
+            otherapps = getNonPortletAppList(req, res);
+            log.info("result is OK");
+        } catch (TomcatManagerException e) {
+            log.error("Unable to retrieve list of portlets.", e);
+            MessageBoxBean msg = event.getMessageBoxBean("msg");
+            msg.setValue(e.getMessage());
+            msg.setMessageType(MessageStyle.MSG_ERROR);
+            portletapps = new ArrayList();
+            otherapps = new ArrayList();
+        }
+
+        event.getRenderRequest().setAttribute("result", portletapps);
+        event.getRenderRequest().setAttribute("others", otherapps);
+        //if (result != null) log.debug("result: " + result.getReturnCode() + " " + result.getDescription());
+        setNextState(req, LIST_APPS_JSP);
+
+    }
+
+    public void doPortletManager(ActionFormEvent event) throws PortletException {
+        log.debug("In doPortletManager");
+        DefaultPortletAction action = event.getAction();
+        PortletRequest req = event.getActionRequest();
+        PortletResponse res = event.getActionResponse();
+
+        HttpServletRequest hReq = (HttpServletRequest) req;
+        HttpServletResponse hRes = (HttpServletResponse) res;
+
+        MessageBoxBean msg = event.getMessageBoxBean("msg");
+
+
+        Map params = action.getParameters();
+        String operation = (String) params.get("operation");
+        String appName = (String) params.get("context");
+        TomcatWebAppResult result = null;
+
+        try {
+            if ((operation != null) && (appName != null)) {
+                if (operation.equals("start")) {
+                    result = tomcatManager.startWebApp(req, res, appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                    portletManager.initPortletWebApplication(appName, hReq, hRes);
+                } else if (operation.equals("stop")) {
+                    portletManager.destroyPortletWebApplication(appName, hReq, hRes);
+                    result = tomcatManager.stopWebApp(req, res, appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                } else if (operation.equals("reload")) {
+                    portletManager.destroyPortletWebApplication(appName, hReq, hRes);
+                    result = tomcatManager.stopWebApp(req, res, appName);
+                    result = tomcatManager.startWebApp(req, res, appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                    portletManager.initPortletWebApplication(appName, hReq, hRes);
+                } else if (operation.equals("remove")) {
+                    portletManager.destroyPortletWebApplication(appName, hReq, hRes);
+                    result = tomcatManager.removeWebApp(req, res, appName);
+                    log.debug("removing application tab :" + appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                } else if (operation.equals("deploy")) {
+                    result = tomcatManager.deployWebApp(req, res, appName);
+                    result = tomcatManager.startWebApp(req, res, appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                    portletManager.initPortletWebApplication(appName, hReq, hRes);
+                } else if (operation.equals("undeploy")) {
+                    result = tomcatManager.undeployWebApp(req, res, appName);
+                    this.createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_TOMCAT"));
+                    portletManager.destroyPortletWebApplication(appName, hReq, hRes);
+                }
+
+            }
+        } catch (Exception e) {
+            log.error("Portlet Manager error", e);
+            msg.setKey("PORTLET_ERR_MANAGER");
+            msg.setMessageType(MessageStyle.MSG_ERROR);
+        }
+        req.setAttribute("result", result);
+        if (result != null) log.debug("result: " + result.getReturnCode() + " " + result.getDescription());
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void uploadPortletWAR(ActionFormEvent event) throws PortletException {
+        PortletRequest req = event.getActionRequest();
+        PortletResponse res = event.getActionResponse();
+        HttpServletRequest hReq = (HttpServletRequest) req;
+        HttpServletResponse hRes = (HttpServletResponse) res;
+
+        try {
+            FileInputBean fi = event.getFileInputBean("userfile");
+
+            String fileName = fi.getFileName();
+            int fdx = fileName.lastIndexOf(File.separator);
+            if (fdx > 0) fileName = fileName.substring(fdx);
+            if (fileName.substring(0, 1).equals(File.separator)) fileName = fileName.substring(1);
+
+            log.info("filename = " + fileName);
+
+            String webappPath = getPortletContext().getRealPath("");
+            int idx = webappPath.lastIndexOf("webapps");
+
+
+            if (fileName.equals("")) return;
+
+            int isWar = fileName.indexOf(".war");
+            if (isWar > 0) {
+                String appName = fileName.substring(0, isWar);
+                log.debug("installing and initing webapp: " + appName);
+
+                webappPath = webappPath.substring(0, idx) + "webapps" + File.separator;
+                //System.err.println(webappPath + fileName);
+                fi.saveFile(webappPath + fileName);
+
+                tomcatManager.installWebApp(req, res, appName, fileName);
+
+                File pfile = new File(webappPath + appName + File.separator + "WEB-INF" + File.separator + "portlet.xml");
+                System.err.println(webappPath + appName + File.separator + "WEB-INF" + File.separator + "portlet.xml");
+                if (pfile.exists()) {
+                    //System.err.println("file exists");
+                    portletManager.initPortletWebApplication(appName, hReq, hRes);
+                }
+                // add portlet app to gridsphere portlet app directory
+                SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+                String portletAppFile = settingsService.getRealSettingsPath("portlets/" + appName);
+                File portletFile = new File(portletAppFile);
+                portletFile.createNewFile();
+                System.err.println(portletAppFile);
+                createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_DEPLOY") + " " + appName);
+            }
+            log.debug("fileinputbean value=" + fi.getValue());
+        } catch (Exception e) {
+            createErrorMessage(event, this.getLocalizedText(req, "PORTLET_ERR_DEPLOY"));
+            log.error("Unable to store uploaded file ", e);
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void deployWebapp(ActionFormEvent event) throws PortletException {
+
+        log.debug("in PortletApplicationManager: deployWebapp");
+        PortletRequest req = event.getActionRequest();
+        PortletResponse res = event.getActionResponse();
+        HttpServletRequest hReq = (HttpServletRequest) req;
+        HttpServletResponse hRes = (HttpServletResponse) res;
+
+        try {
+            TextFieldBean tf = event.getTextFieldBean("webappNameTF");
+
+            String webappName = tf.getValue();
+            if (webappName == null) return;
+            String webappPath = getPortletContext().getRealPath("");
+            int idx = webappPath.lastIndexOf(File.separator);
+            webappPath = webappPath.substring(0, idx + 1);
+            tomcatManager.installWebApp(req, res, webappName);
+
+            File pfile = new File(webappPath + webappName + File.separator + "WEB-INF" + File.separator + "portlet.xml");
+            System.err.println(webappPath + webappName + File.separator + "WEB-INF" + File.separator + "portlet.xml");
+            if (pfile.exists()) {
+                portletManager.initPortletWebApplication(webappName, hReq, hRes);
+            }
+
+            createSuccessMessage(event, this.getLocalizedText(req, "PORTLET_SUC_DEPLOY") + " " + webappName);
+        } catch (Exception e) {
+            createErrorMessage(event, this.getLocalizedText(req, "PORTLET_ERR_DEPLOY"));
+            log.error("Unable to deploy webapp  ", e);
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void displayWebapp(ActionFormEvent event) {
+        ActionRequest req = event.getActionRequest();
+        String webapp = event.getAction().getParameter("appname");
+
+        req.setAttribute("webappname", webapp);
+
+        setNextState(req, "displayWebApp");
+    }
+
+    public void displayWebApp(RenderFormEvent event) {
+        RenderRequest req = event.getRenderRequest();
+        RenderResponse res = event.getRenderResponse();
+        String webapp = (String) req.getAttribute("webappname");
+
+        PanelBean panel = event.getPanelBean("panel");
+        FrameBean frame = new FrameBean();
+        DefaultTableModel model = new DefaultTableModel();
+
+
+        TableRowBean tr = new TableRowBean();
+        tr.setHeader(true);
+        TableCellBean tc = new TableCellBean();
+        TextBean text = new TextBean();
+        text.setValue(portletManager.getPortletWebApplicationDescription(webapp));
+        tc.addBean(text);
+        tr.addBean(tc);
+        tc = new TableCellBean();
+        text = new TextBean();
+        text.setValue(this.getLocalizedText(req, "SUBSCRIPTION_DESC"));
+        tc.addBean(text);
+        tr.addBean(tc);
+
+        TableCellBean tc2 = new TableCellBean();
+        TextBean text2 = new TextBean();
+        text2.setValue(this.getLocalizedText(req, "PORTLET_STATUS"));
+        tc2.addBean(text2);
+        tr.addBean(tc2);
+        model.addTableRowBean(tr);
+
+        List appColl = registry.getApplicationPortlets(webapp);
+        if (appColl.isEmpty()) appColl = registry.getApplicationPortlets(webapp);
+        for (Object anAppColl : appColl) {
+            ApplicationPortlet app = (ApplicationPortlet) anAppColl;
+
+            System.err.println("app portlet= \n" + app.toString());
+            System.err.println("app statusmsg = " + app.getApplicationPortletStatusMessage());
+            System.err.println("app status = " + app.getApplicationPortletStatus());
+
+            // System.err.println("conc portlet= \n" + conc.toString());
+
+
+            String concID = app.getConcretePortletID();
+
+            // we don't want to list PortletServlet loader!
+            if (concID.startsWith(PortletServlet.class.getName())) continue;
+
+            TableRowBean newtr = new TableRowBean();
+            TableCellBean newtc2 = new TableCellBean();
+            TextBean tb = new TextBean();
+
+            // set 2nd column to portlet display name from concrete portlet
+            Locale loc = req.getLocale();
+            String dispName = app.getDisplayName(loc);
+            tb.setValue(dispName);
+            newtc2.addBean(tb);
+            newtr.addBean(newtc2);
+            TableCellBean newtc = new TableCellBean();
+            TextBean tb2 = new TextBean();
+
+            // set 3rd column to portlet description from concrete portlet
+
+            //tb2.setValue(conc.getPortletSettings().getDescription(loc, null));
+            tb2.setValue(app.getDescription(loc));
+            newtc.addBean(tb2);
+            newtr.addBean(newtc);
+
+            newtc = new TableCellBean();
+            //newtc.setAlign("center");
+            tb = new TextBean();
+
+
+            ImageBean img = new ImageBean();
+            if (app.getApplicationPortletStatus().equals(PortletStatus.FAILURE)) {
+                img.setSrc(req.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif");
+                newtc.addBean(img);
+                tb.setValue("&nbsp;&nbsp;&nbsp;" + getLocalizedText(req, "FAILURE"));
+                tb.setId(app.getApplicationPortletName());
+                tb.setStyle(MessageStyle.MSG_UNDERLINE);
+                TooltipBean tt = new TooltipBean();
+                tt.setName(app.getApplicationPortletName());
+                tt.setId("tt" + app.getApplicationPortletName());
+                String status = app.getApplicationPortletStatusMessage();
+                tt.setValue(status);
+                tt.setRenderResponse(res);
+                newtc.addBean(tb);
+                newtc.addBean(tt);
+            } else {
+                img.setSrc(req.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif");
+                newtc.addBean(img);
+                tb.setValue("&nbsp;&nbsp;&nbsp;" + getLocalizedText(req, "SUCCESS"));
+                newtc.addBean(tb);
+            }
+            newtr.addBean(newtc);
+            model.addTableRowBean(newtr);
+        }
+
+        frame.setTableModel(model);
+        panel.addBean(frame);
+        setNextState(req, VIEW_APP_JSP);
+    }
+
+    public List getPortletAppList(PortletRequest req, PortletResponse res) throws TomcatManagerException {
+        List webapps = portletManager.getPortletWebApplicationNames();
+
+        List l = new ArrayList();
+        TomcatWebAppResult result = tomcatManager.getWebAppList(req, res);
+        if (result != null) {
+            Iterator it = result.getWebAppDescriptions().iterator();
+            while (it.hasNext()) {
+                TomcatWebAppDescription webAppDesc = (TomcatWebAppDescription) it.next();
+                //System.err.println(webAppDesc.toString());
+                if (webapps.contains((webAppDesc.getContextPath()))) {
+                    String desc = portletManager.getPortletWebApplicationDescription(webAppDesc.getContextPath());
+                    webAppDesc.setDescription(desc);
+                    PortletWebApplication webapp = registry.getWebApplication(webAppDesc.getContextPath());
+                    if (webapp != null) {
+                        webAppDesc.setStatus(webapp.getWebApplicationStatus());
+                        webAppDesc.setStatusMessage(webapp.getWebApplicationStatusMessage());
+                    }
+                    l.add(webAppDesc);
+                }
+            }
+        }
+        return l;
+    }
+
+    public List getNonPortletAppList(PortletRequest req, PortletResponse res) throws TomcatManagerException {
+        List webapps = portletManager.getPortletWebApplicationNames();
+        List l = new ArrayList();
+        TomcatWebAppResult result = tomcatManager.getWebAppList(req, res);
+        if (result != null) {
+            Iterator it = result.getWebAppDescriptions().iterator();
+            while (it.hasNext()) {
+                TomcatWebAppDescription webAppDesc = (TomcatWebAppDescription) it.next();
+                //System.err.println(webAppDesc.toString());
+                if (!webapps.contains((webAppDesc.getContextPath()))) {
+                    //String desc = pm.getPortletWebApplicationDescription(webAppDesc.getContextPath());
+                    //webAppDesc.setDescription("");
+                    l.add(webAppDesc);
+                }
+            }
+        }
+        return l;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/portlets/SessionManagerPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+
+
+package org.gridsphere.portlets.core.admin.portlets;
+
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portletcontainer.impl.PortletSessionManager;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.servlet.http.HttpSession;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * The
+ */
+public class SessionManagerPortlet extends ActionPortlet {
+
+    private PortletSessionManager portletSessionMgr = PortletSessionManager.getInstance();
+    private UserManagerService userManager = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        try {
+            userManager = (UserManagerService)createPortletService(UserManagerService.class);
+        } catch (PortletServiceException e) {
+            log.error("Unable to get portlet manager instance", e);
+        }
+        DEFAULT_VIEW_PAGE = "showSessions";
+    }
+
+
+    public void showSessions(RenderFormEvent event) throws PortletException {
+
+        PortletRequest req = event.getRenderRequest();
+        List names = new ArrayList();
+
+        Set sessions = portletSessionMgr.getSessions();
+        Iterator it = sessions.iterator();
+        while (it.hasNext()) {
+            HttpSession session = (HttpSession)it.next();
+            String uid = (String) session.getAttribute(SportletProperties.PORTLET_USER);
+            if (uid != null) {
+                User user = userManager.getUser(uid);
+                names.add(user);
+            }
+        }
+        int numSessions = portletSessionMgr.getNumSessions();
+
+        req.setAttribute("num_sessions", String.valueOf(numSessions));
+
+        req.setAttribute("uids", names);
+        setNextState(req, "admin/session/view.jsp");
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/roles/RoleManagerPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RoleManagerPortlet.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.portlets.core.admin.roles;
+
+import org.gridsphere.layout.PortletPageFactory;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.portlet.*;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author wehrens
+ */
+public class RoleManagerPortlet extends ActionPortlet {
+
+    // JSP pages used by this portlet
+    /**
+     *
+     */
+    public static final String ROLES_LIST = "admin/roles/doViewRolesList.jsp";
+    /**
+     *
+     */
+    public static final String ROLES_EDIT = "admin/roles/doEditRole.jsp";
+    /**
+     *
+     */
+    public static final String ROLES_CREATE = "admin/roles/doCreateRole.jsp";
+
+    // Portlet services
+    private RoleManagerService roleManagerService = null;
+    private UserManagerService userManagerService = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);
+        userManagerService = (UserManagerService) createPortletService(UserManagerService.class);
+        DEFAULT_HELP_PAGE = "admin/roles/help.jsp";
+        DEFAULT_VIEW_PAGE = "doListRoles";
+    }
+
+    /**
+     * @param evt
+     * @throws javax.portlet.PortletException
+     */
+    public void doListRoles(RenderFormEvent evt)
+            throws PortletException {
+        PortletRequest req = evt.getRenderRequest();
+        List roleList = this.roleManagerService.getRoles();
+        req.setAttribute("roleList", roleList);
+        List<String> coreRolesList = new ArrayList<String>();
+        coreRolesList.add(PortletRole.USER.getName());
+        coreRolesList.add(PortletRole.ADMIN.getName());
+        req.setAttribute("coreRoleList", coreRolesList);
+        List<PortletRole> defRoles = roleManagerService.getDefaultRoles();
+        req.setAttribute("defRoles", defRoles);
+        setNextState(req, ROLES_LIST);
+    }
+
+    /**
+     * @param event
+     */
+    public void doReturn(ActionFormEvent event) {
+        setNextState(event.getActionRequest(), DEFAULT_VIEW_PAGE);
+    }
+
+    /**
+     * @param event
+     */
+    public void doShowRole(RenderFormEvent event) {
+        HiddenFieldBean roleHF = event.getHiddenFieldBean("roleHF");
+        String roleName = roleHF.getValue();
+        doPrepareRole(event, event.getRenderRequest(), event.getRenderResponse(), roleName);
+    }
+
+    /**
+     * @param event
+     */
+    public void doEditRole(ActionFormEvent event) {
+        String roleName = event.getAction().getParameter("roleName");
+        doPrepareRole(event, event.getActionRequest(), event.getActionResponse(), roleName);
+    }
+
+    /**
+     * @param event
+     */
+    public void doSaveDefaultRoles(ActionFormEvent event) {
+        ActionRequest request = event.getActionRequest();
+        String[] rolesCB = request.getParameterValues("rolesDefCB");
+        List<PortletRole> allRoles = roleManagerService.getRoles();
+        List<User> users = userManagerService.getUsers();
+        for (PortletRole role : allRoles) {
+            roleManagerService.removeDefaultRole(role);
+            for (int i = 0; i < rolesCB.length; i++) {
+                if (rolesCB[i].equals(role.getName())) {
+                    roleManagerService.addDefaultRole(role);
+                    for (User user : users) {
+                        roleManagerService.addUserToRole(user, role);
+                    }
+                    break;
+                }
+            }
+        }
+    }
+
+    /**
+     * @param event
+     * @param req
+     * @param res
+     * @param roleName
+     */
+    public void doPrepareRole(FormEvent event, PortletRequest req, PortletResponse res, String roleName) {
+        HiddenFieldBean roleHF = event.getHiddenFieldBean("roleHF");
+        PortletRole role = null;
+        List users = new ArrayList();
+        if (roleName != null) {
+            role = roleManagerService.getRole(roleName);
+
+            if (role.equals(PortletRole.ADMIN) || role.equals(PortletRole.USER)) req.setAttribute("canEdit", "false");
+            roleHF = event.getHiddenFieldBean("roleHF");
+            roleHF.setValue(roleName);
+            TextFieldBean roleNameTF = event.getTextFieldBean("roleNameTF");
+            roleNameTF.setValue(role.getName());
+            TextFieldBean roleDescTF = event.getTextFieldBean("roleDescTF");
+            roleDescTF.setValue(role.getDescription());
+
+            int numUsers = roleManagerService.getNumUsersInRole(role);
+            QueryFilter filter = event.getQueryFilter(20, numUsers);
+
+            users = roleManagerService.getUsersInRole(role, filter);
+
+            List notusers = userManagerService.getUsers();
+            for (int i = 0; i < users.size(); i++) {
+                User u = (User) users.get(i);
+                if (notusers.contains(u)) notusers.remove(u);
+            }
+
+            TableBean userTable = event.getTableBean("userTable");
+            userTable.setQueryFilter(filter);
+
+            ListBoxBean addUsersLB = event.getListBoxBean("addusersLB");
+            addUsersLB.clear();
+            if (notusers.isEmpty()) {
+                req.setAttribute("nousers", "true");
+            }
+            for (int i = 0; i < notusers.size(); i++) {
+                User user = (User) notusers.get(i);
+                ListBoxItemBean item = new ListBoxItemBean();
+                item.setName(user.getID());
+                item.setValue(user.getFullName());
+                addUsersLB.addBean(item);
+            }
+        } else {
+            HiddenFieldBean isNewRoleHF = event.getHiddenFieldBean("isNewRoleHF");
+            isNewRoleHF.setValue("true");
+            users = userManagerService.getUsers();
+            req.setAttribute("newrole", "true");
+        }
+
+        req.setAttribute("userList", users);
+
+        setNextState(req, ROLES_EDIT);
+    }
+
+    /**
+     * @param evt
+     */
+    public void doDeleteRole(ActionFormEvent evt) {
+        PortletRequest req = evt.getActionRequest();
+        String roleStr = "";
+        String[] roleNames = req.getParameterValues("rolesCB");
+        if (roleNames != null) {
+            for (int i = 0; i < roleNames.length; i++) {
+                PortletRole role = roleManagerService.getRole(roleNames[i]);
+                if (role != null) {
+                    // remove users in role first
+                    List<User> users = roleManagerService.getUsersInRole(role);
+                    if (!users.isEmpty()) {
+                        for (User user : users) {
+                            roleManagerService.deleteUserInRole(user, role);
+                        }
+                    }
+                    roleManagerService.deleteRole(role);
+                    // if role has been used in layouts, rename it to empty role
+                    PortletPageFactory pageFactory = PortletPageFactory.getInstance();
+                    pageFactory.renameRole(req, role.getName(), "");
+                    roleStr += " " + role.getName();
+                }
+            }
+            createSuccessMessage(evt, this.getLocalizedText(req, "ROLE_DELETE_MSG") + ": " + roleStr);
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    /**
+     * @param evt
+     */
+    public void doSaveRole(ActionFormEvent evt) {
+        PortletRequest req = evt.getActionRequest();
+        boolean isNewRole = false;
+        HiddenFieldBean isNewRoleHF = evt.getHiddenFieldBean("isNewRoleHF");
+        if (isNewRoleHF.getValue().equals("true")) isNewRole = true;
+
+        TextFieldBean roleNameTF = evt.getTextFieldBean("roleNameTF");
+        // check if role name is already taken
+        if ((roleManagerService.getRole(roleNameTF.getValue()) != null) && (isNewRole)) {
+            createErrorMessage(evt, this.getLocalizedText(req, "ROLE_EXISTS_MSG"));
+            setNextState(req, ROLES_EDIT);
+            return;
+        }
+        TextFieldBean roleDescTF = evt.getTextFieldBean("roleDescTF");
+
+        HiddenFieldBean roleHF = evt.getHiddenFieldBean("roleHF");
+        PortletRole role = roleManagerService.getRole(roleHF.getValue());
+        if (role != null) {
+            role.setName(roleNameTF.getValue());
+            role.setDescription(roleDescTF.getValue());
+        } else {
+            role = new PortletRole(roleNameTF.getValue());
+            role.setDescription(roleDescTF.getValue());
+        }
+        roleManagerService.saveRole(role);
+        if (isNewRole) {
+            createSuccessMessage(evt, this.getLocalizedText(req, "ROLE_CREATE_MSG") + ": " + role.getName());
+        } else {
+            createSuccessMessage(evt, this.getLocalizedText(req, "ROLE_UPDATE_MSG") + ": " + role.getName());
+            PortletPageFactory pageFactory = PortletPageFactory.getInstance();
+            String oldRole = roleHF.getValue();
+            String newRole = roleNameTF.getValue();
+            //might need to rename role in page layouts
+            if (oldRole.equalsIgnoreCase(newRole)) {
+                pageFactory.renameRole(req, oldRole, newRole);
+            }
+        }
+
+    }
+
+    /**
+     * @param event
+     */
+    public void doAddUser(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        ListBoxBean addusersLB = event.getListBoxBean("addusersLB");
+        String userid = addusersLB.getSelectedName();
+        HiddenFieldBean roleHF = event.getHiddenFieldBean("roleHF");
+        String roleName = roleHF.getValue();
+        PortletRole role = roleManagerService.getRole(roleName);
+        User user = userManagerService.getUser(userid);
+        if ((user != null) && (role != null)) {
+            roleManagerService.addUserToRole(user, role);
+        }
+        setNextState(req, "doShowRole");
+    }
+
+    /**
+     * @param event
+     */
+    public void doRemoveUser(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        HiddenFieldBean roleHF = event.getHiddenFieldBean("roleHF");
+        PortletRole role = roleManagerService.getRole(roleHF.getValue());
+        String[] users = req.getParameterValues("userCB");
+        if ((users != null) && (role != null)) {
+            for (int i = 0; i < users.length; i++) {
+                User user = userManagerService.getUser(users[i]);
+                roleManagerService.deleteUserInRole(user, role);
+            }
+
+        }
+        setNextState(req, "doShowRole");
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/admin/users/UserManagerPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,655 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: UserManagerPortlet.java 5088 2006-08-18 22:53:27Z novotny $
+ */
+package org.gridsphere.portlets.core.admin.users;
+
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.provider.portletui.model.DefaultTableModel;
+import org.gridsphere.services.core.mail.MailMessage;
+import org.gridsphere.services.core.mail.MailService;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.portlet.*;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
+
+public class UserManagerPortlet extends ActionPortlet {
+
+    // JSP pages used by this portlet
+    public static final String DO_VIEW_USER_LIST = "admin/users/doViewUserList.jsp";
+    public static final String DO_VIEW_USER_VIEW = "admin/users/doViewUserView.jsp";
+    public static final String DO_VIEW_USER_EDIT = "admin/users/doViewUserEdit.jsp";
+
+    public static final String DO_SEND_EMAIL = "admin/users/doSendEmail.jsp";
+
+    // Portlet services
+    private UserManagerService userManagerService = null;
+    private PasswordManagerService passwordManagerService = null;
+
+    private RoleManagerService roleManagerService = null;
+    private PortalConfigService portalConfigService = null;
+    private MailService mailService = null;
+
+    private String NUM_PAGES = getClass() + ".NUM_PAGES";
+    private String EMAIL_QUERY = getClass() + ".EMAIL_QUERY";
+    private String ORG_QUERY = getClass() + ".ORG_QUERY";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        this.userManagerService = (UserManagerService) createPortletService(UserManagerService.class);
+        this.roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);
+        this.passwordManagerService = (PasswordManagerService) createPortletService(PasswordManagerService.class);
+        this.mailService = (MailService) createPortletService(MailService.class);
+        this.portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);
+        DEFAULT_HELP_PAGE = "admin/users/help.jsp";
+        DEFAULT_VIEW_PAGE = "doListUsers";
+    }
+
+    public void doListUsers(ActionFormEvent evt)
+            throws PortletException {
+        setNextState(evt.getActionRequest(), DEFAULT_VIEW_PAGE);
+    }
+
+    public void doListUsers(RenderFormEvent evt)
+            throws PortletException {
+        PortletRequest req = evt.getRenderRequest();
+
+        String numPages = (String) req.getPortletSession().getAttribute(NUM_PAGES);
+        numPages = (numPages != null) ? numPages : "10";
+
+        String[] itemList = {"10", "20", "50", "100"};
+        ListBoxBean usersPageLB = evt.getListBoxBean("usersPageLB");
+        usersPageLB.clear();
+        for (int i = 0; i < itemList.length; i++) {
+            ListBoxItemBean item = new ListBoxItemBean();
+            item.setName(itemList[i]);
+            item.setValue(itemList[i]);
+            if (numPages.equals(itemList[i])) item.setSelected(true);
+            usersPageLB.addBean(item);
+        }
+
+        String likeEmail = (String) req.getPortletSession().getAttribute(EMAIL_QUERY);
+        likeEmail = (likeEmail != null) ? likeEmail : "";
+        String likeOrganization = (String) req.getPortletSession().getAttribute(ORG_QUERY);
+        likeOrganization = (likeOrganization != null) ? likeOrganization : "";
+
+        Integer maxRows = Integer.parseInt(numPages);
+
+        int numUsers = userManagerService.getNumUsers();
+
+        QueryFilter filter = evt.getQueryFilter(maxRows, numUsers);
+
+        List userList = userManagerService.getUsersByFullName(likeEmail, likeOrganization, filter);
+
+        req.setAttribute("userList", userList);
+
+        int dispPages = (numUsers / Integer.valueOf(numPages).intValue());
+        //System.err.println("numUsers= " + numUsers + " numPages= " + numPages + " dispPages= " + dispPages);
+        req.setAttribute("dispPages", Integer.valueOf(dispPages));
+
+        //System.err.println("sizeof users=" + userList.size());
+        //req.setAttribute("numUsers", Integer.valueOf(numUsers));
+        //req.setAttribute("maxRows", Integer.valueOf(maxRows));
+
+        TableBean userTable = evt.getTableBean("userTable");
+        userTable.setQueryFilter(filter);
+        //userTable.setMaxRows(maxRows);
+        //userTable.setNumEntries(numUsers);
+
+        setNextState(req, DO_VIEW_USER_LIST);
+    }
+
+    public void doReturn(ActionFormEvent event) {
+        setNextState(event.getActionRequest(), "doListUsers");
+    }
+
+    public void doViewUser(ActionFormEvent evt)
+            throws PortletException {
+        PortletRequest req = evt.getActionRequest();
+
+        String userID = evt.getAction().getParameter("userID");
+        User user = userManagerService.getUser(userID);
+        if (user != null) {
+            // should check for non-null user !
+            req.setAttribute("user", user);
+            HiddenFieldBean hf = evt.getHiddenFieldBean("userID");
+            hf.setValue(user.getID());
+
+            List userRoles = roleManagerService.getRolesForUser(user);
+            Iterator it = userRoles.iterator();
+            String userRole = "";
+            while (it.hasNext()) {
+                userRole += ((PortletRole) it.next()).getName() + ", ";
+            }
+            if (userRole.length() > 2) {
+                req.setAttribute("role", userRole.substring(0, userRole.length() - 2));
+            } else {
+                req.setAttribute("role", this.getLocalizedText(req, "ROLES_HASNOROLES"));
+            }
+
+            SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d yyyy hh:mm a");
+            String createtime = (String) user.getAttribute(User.CREATEDATE);
+            String createdate;
+            if (createtime == null) {
+                createdate = "Unknown";
+            } else {
+                createdate = dateFormat.format(Long.valueOf(createtime));
+            }
+            req.setAttribute("createdate", createdate);
+            CheckBoxBean accountCB = evt.getCheckBoxBean("accountCB");
+            String disabled = (String) user.getAttribute(User.DISABLED);
+            if ((disabled != null) && ("TRUE".equalsIgnoreCase(disabled))) {
+                accountCB.setSelected(true);
+            }
+            accountCB.setDisabled(true);
+            setNextState(req, DO_VIEW_USER_VIEW);
+        } else {
+            setNextState(req, DEFAULT_VIEW_PAGE);
+        }
+    }
+
+    public void doNewUser(ActionFormEvent evt)
+            throws PortletException {
+
+        PortletRequest req = evt.getActionRequest();
+        req.setAttribute("newuser", "true");
+        // indicate to edit JSP this is a new user
+        HiddenFieldBean hf = evt.getHiddenFieldBean("newuser");
+        hf.setValue("true");
+
+        String savePasswd = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswd.equals(Boolean.TRUE.toString())) {
+            req.setAttribute("savePass", "true");
+        }
+
+        makeRoleFrame(evt, null);
+
+        setNextState(req, DO_VIEW_USER_EDIT);
+        log.debug("in doNewUser");
+    }
+
+    /**
+     * Creates the role table
+     *
+     * @param evt  the action form event
+     * @param user the user if this is editing an existing user, null if a new user
+     */
+    private void makeRoleFrame(ActionFormEvent evt, User user) {
+        FrameBean roleFrame = evt.getFrameBean("roleFrame");
+
+        DefaultTableModel model = new DefaultTableModel();
+
+        TableRowBean tr = new TableRowBean();
+        tr.setHeader(true);
+        TableCellBean tc = new TableCellBean();
+        TextBean text = new TextBean();
+        text.setKey("USER_SELECT_ROLES");
+        tc.addBean(text);
+        tc.setWidth("100");
+        tr.addBean(tc);
+        tc = new TableCellBean();
+        text = new TextBean();
+        text.setKey("USER_ROLE_NAME");
+        tc.setWidth("200");
+        tc.addBean(text);
+        tr.addBean(tc);
+
+        model.addTableRowBean(tr);
+
+        List<PortletRole> roles = roleManagerService.getRoles();
+        List myroles = new ArrayList<PortletRole>();
+        List defaultRoles = roleManagerService.getDefaultRoles();
+        if (user != null) myroles = roleManagerService.getRolesForUser(user);
+
+        for (PortletRole role : roles) {
+            tr = new TableRowBean();
+            tc = new TableCellBean();
+            CheckBoxBean cb = new CheckBoxBean();
+            if (myroles.contains(role)) {
+                cb.setSelected(true);
+            }
+            if ((user == null) && (defaultRoles.contains(role))) cb.setSelected(true);
+            cb.setBeanId(role.getName() + "CB");
+            tc.addBean(cb);
+            tr.addBean(tc);
+            tc = new TableCellBean();
+            text = new TextBean();
+            text.setValue(role.getName());
+            tc.addBean(text);
+            tr.addBean(tc);
+            model.addTableRowBean(tr);
+        }
+        roleFrame.setTableModel(model);
+    }
+
+    public void doEditUser(ActionFormEvent evt)
+            throws PortletException {
+
+        PortletRequest req = evt.getActionRequest();
+
+        // indicate to edit JSP this is an existing user
+        HiddenFieldBean newuserHF = evt.getHiddenFieldBean("newuser");
+        newuserHF.setValue("false");
+
+        String userID = evt.getAction().getParameter("userID");
+        HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");
+        userHF.setValue(userID);
+
+        // get user
+        User user = this.userManagerService.getUser(userID);
+        if (user == null) {
+            doReturn(evt);
+            return;
+        }
+
+        makeRoleFrame(evt, user);
+
+        setUserValues(evt, user);
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            req.setAttribute("savePass", "true");
+        }
+
+        String supportX509 = portalConfigService.getProperty(PortalConfigService.SUPPORT_X509_AUTH);
+        if (supportX509.equals(Boolean.TRUE.toString())) {
+            req.setAttribute("certSupport", "true");
+        }
+
+        CheckBoxBean accountCB = evt.getCheckBoxBean("accountCB");
+        String disabled = (String) user.getAttribute(User.DISABLED);
+        if ((disabled != null) && ("TRUE".equalsIgnoreCase(disabled))) {
+            accountCB.setSelected(true);
+        }
+
+        setNextState(req, DO_VIEW_USER_EDIT);
+    }
+
+    public void doConfirmEditUser(ActionFormEvent evt)
+            throws PortletException {
+
+        PortletRequest req = evt.getActionRequest();
+
+        HiddenFieldBean hf = evt.getHiddenFieldBean("newuser");
+        String newuser = hf.getValue();
+        try {
+            User user;
+
+            log.debug("in doConfirmEditUser: " + newuser);
+            if (newuser.equals("true")) {
+                validateUser(evt, true);
+                user = saveUser(evt, null);
+                HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");
+                userHF.setValue(user.getID());
+                CheckBoxBean cb = evt.getCheckBoxBean("emailUserCB");
+                if (cb.isSelected()) mailUserConfirmation(evt, user);
+                createSuccessMessage(evt, this.getLocalizedText(req, "USER_NEW_SUCCESS"));
+            } else {
+                validateUser(evt, false);
+                // load in User values
+                HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");
+                String userID = userHF.getValue();
+                User thisuser = this.userManagerService.getUser(userID);
+                user = saveUser(evt, thisuser);
+                createSuccessMessage(evt, this.getLocalizedText(req, "USER_EDIT_SUCCESS"));
+            }
+            req.setAttribute("user", user);
+
+            setNextState(req, "doListUsers");
+        } catch (PortletException e) {
+            createErrorMessage(evt, e.getMessage());
+            String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+            if (savePasswds.equals(Boolean.TRUE.toString())) {
+                req.setAttribute("savePass", "true");
+            }
+            if (newuser.equals("true")) {
+                // setNextState(req, "doNewUser");
+            } else {
+
+            }
+            setNextState(req, DO_VIEW_USER_EDIT);
+        }
+    }
+
+    public void doDeleteUser(ActionFormEvent event)
+            throws PortletException {
+
+        ActionRequest req = event.getActionRequest();
+        String[] users = req.getParameterValues("usersCB");
+        if (users != null) {
+            for (int i = 0; i < users.length; i++) {
+                User user = this.userManagerService.getUser(users[i]);
+                this.passwordManagerService.deletePassword(user);
+                List<PortletRole> userRoles = this.roleManagerService.getRolesForUser(user);
+                for (PortletRole role : userRoles) {
+                    this.roleManagerService.deleteUserInRole(user, role);
+                }
+                this.userManagerService.deleteUser(user);
+            }
+        }
+        createSuccessMessage(event, this.getLocalizedText(req, "USER_DELETE_SUCCESS"));
+
+        /*
+        HiddenFieldBean hf = evt.getHiddenFieldBean("userID");
+        String userId = hf.getValue();
+        User user = this.userManagerService.getUser(userId);
+        if (user != null) {
+            req.setAttribute("user", user);
+            this.passwordManagerService.deletePassword(user);
+            List<PortletRole> userRoles = this.roleManagerService.getRolesForUser(user);
+            for (PortletRole role : userRoles) {
+                this.roleManagerService.deleteUserInRole(user, role);
+            }
+            this.userManagerService.deleteUser(user);
+            createSuccessMessage(evt, this.getLocalizedText(req, "USER_DELETE_SUCCESS"));
+        }
+        setNextState(req, "doListUsers");
+        */
+    }
+
+    public void doComposeEmail(ActionFormEvent event) {
+        ActionRequest req = event.getActionRequest();
+        String[] users = req.getParameterValues("usersCB");
+        if (users == null) return;
+        req.getPortletSession().setAttribute("emails", users);
+        setNextState(req, "doComposeEmail");
+    }
+
+    public void doComposeEmail(RenderFormEvent event) {
+        RenderRequest req = event.getRenderRequest();
+        String[] users = (String[]) req.getPortletSession().getAttribute("emails");
+        StringBuffer emails = new StringBuffer();
+        for (int i = 0; i < users.length; i++) {
+            User user = this.userManagerService.getUser(users[i]);
+            System.err.println(user.getEmailAddress());
+            emails.append(user.getEmailAddress()).append(", ");
+        }
+
+        String mailFrom = portalConfigService.getProperty(PortalConfigService.MAIL_FROM);
+        TextFieldBean senderTF = event.getTextFieldBean("senderTF");
+        senderTF.setValue(mailFrom);
+
+        TextFieldBean emailAddressTF = event.getTextFieldBean("emailAddressTF");
+        // chop off last , from emails CSV
+        emailAddressTF.setValue(emails.substring(0, emails.length() - 2));
+        req.getPortletSession().removeAttribute("emails");
+        setNextState(req, DO_SEND_EMAIL);
+    }
+
+    public void doSendEmail(ActionFormEvent event) {
+        ActionRequest req = event.getActionRequest();
+        MailMessage msg = new MailMessage();
+        msg.setEmailAddress(event.getTextFieldBean("emailAddressTF").getValue());
+        msg.setSender(event.getTextFieldBean("senderTF").getValue());
+        msg.setSubject(event.getTextFieldBean("subjectTF").getValue());
+        msg.setBody(event.getTextAreaBean("bodyTA").getValue());
+
+        RadioButtonBean toRB = event.getRadioButtonBean("toRB");
+        if (toRB.getValue().equals("TO")) {
+            msg.setRecipientType(MailMessage.TO);
+        } else {
+            msg.setRecipientType(MailMessage.BCC);
+        }
+        try {
+            mailService.sendMail(msg);
+            createErrorMessage(event, "Successfully sent message");
+            setNextState(req, "doListUsers");
+        } catch (PortletServiceException e) {
+            log.error("Unable to send mail message!", e);
+            createErrorMessage(event, getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+            setNextState(req, "doSendEmail");
+        }
+    }
+
+    private void setUserValues(ActionFormEvent event, User user) {
+        event.getTextFieldBean("userName").setValue(user.getUserName());
+        event.getTextFieldBean("lastName").setValue(user.getLastName());
+        event.getTextFieldBean("firstName").setValue(user.getFirstName());
+
+        //event.getTextFieldBean("fullName").setValue(user.getFullName());
+
+        event.getTextFieldBean("emailAddress").setValue(user.getEmailAddress());
+        event.getTextFieldBean("organization").setValue(user.getOrganization());
+        event.getPasswordBean("password").setValue("");
+        event.getTextFieldBean("certificate").setValue((String) user.getAttribute("user.certificate"));
+    }
+
+    private void validateUser(ActionFormEvent event, boolean newuser)
+            throws PortletException {
+        log.debug("Entering validateUser()");
+        PortletRequest req = event.getActionRequest();
+        StringBuffer message = new StringBuffer();
+        boolean isInvalid = false;
+        // Validate user name
+        String userName = event.getTextFieldBean("userName").getValue();
+        if (userName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NAME_BLANK") + "<br />");
+            isInvalid = true;
+        } else if (newuser) {
+            if (this.userManagerService.existsUserName(userName)) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_EXISTS") + "<br />");
+                isInvalid = true;
+            }
+        }
+
+        // Validate first and last name
+        String firstName = event.getTextFieldBean("firstName").getValue();
+
+        if (firstName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_GIVENNAME_BLANK") + "<br />");
+            isInvalid = true;
+        }
+
+        String lastName = event.getTextFieldBean("lastName").getValue();
+
+        if (lastName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_FAMILYNAME_BLANK") + "<br />");
+            isInvalid = true;
+        }
+
+        // Validate e-mail
+        String eMail = event.getTextFieldBean("emailAddress").getValue();
+        if (eMail.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            isInvalid = true;
+        } else if ((eMail.indexOf("@") < 0)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            isInvalid = true;
+        } else if ((eMail.indexOf(".") < 0)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            isInvalid = true;
+        }
+
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            if (isInvalidPassword(event, newuser)) {
+                isInvalid = true;
+            }
+        }
+        // Throw exception if error was found
+        if (isInvalid) {
+            throw new PortletException(message.toString());
+        }
+        log.debug("Exiting validateUser()");
+    }
+
+    private boolean isInvalidPassword(ActionFormEvent event, boolean newuser) {
+        // Validate password
+        PortletRequest req = event.getActionRequest();
+        String passwordValue = event.getPasswordBean("password").getValue();
+        String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();
+
+        // If user already exists and password unchanged, no problem
+        if (passwordValue.length() == 0 &&
+                confirmPasswordValue.length() == 0) {
+            if (newuser) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK") + "<br />");
+                return true;
+            }
+            return false;
+        }
+        // Otherwise, password must match confirmation
+        if (!passwordValue.equals(confirmPasswordValue)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_MISMATCH") + "<br />");
+            return true;
+            // If they do match, then validate password with our service
+        } else {
+            if (passwordValue.length() == 0) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));
+                return true;
+            }
+            if (passwordValue.length() < 5) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private User saveUser(ActionFormEvent event, User user) {
+        log.debug("Entering saveUser()");
+        // Account request
+
+        boolean newuserflag = false;
+        // Create edit account request
+        if (user == null) {
+            user = this.userManagerService.createUser();
+            long now = Calendar.getInstance().getTime().getTime();
+            user.setAttribute(User.CREATEDATE, String.valueOf(now));
+            newuserflag = true;
+        }
+
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            PasswordEditor editor = passwordManagerService.editPassword(user);
+            String password = event.getPasswordBean("password").getValue();
+            boolean isgood = this.isInvalidPassword(event, newuserflag);
+            if (isgood) {
+                setNextState(event.getActionRequest(), DO_VIEW_USER_EDIT);
+                return user;
+            } else {
+                if (!password.equals("")) {
+                    editor.setValue(password);
+                    passwordManagerService.savePassword(editor);
+                }
+            }
+        }
+
+        // Edit account attributes
+        editAccountRequest(event, user);
+
+        // Submit changes
+        this.userManagerService.saveUser(user);
+
+        // Save user role
+        saveUserRole(event, user);
+        log.debug("Exiting saveUser()");
+        return user;
+    }
+
+    private void editAccountRequest(ActionFormEvent event, User accountRequest) {
+        log.debug("Entering editAccountRequest()");
+        accountRequest.setUserName(event.getTextFieldBean("userName").getValue());
+        accountRequest.setFirstName(event.getTextFieldBean("firstName").getValue());
+        accountRequest.setLastName(event.getTextFieldBean("lastName").getValue());
+        accountRequest.setFullName(event.getTextFieldBean("lastName").getValue() + ", " + event.getTextFieldBean("firstName").getValue());
+        accountRequest.setEmailAddress(event.getTextFieldBean("emailAddress").getValue());
+        accountRequest.setOrganization(event.getTextFieldBean("organization").getValue());
+        if (event.getCheckBoxBean("accountCB").isSelected()) {
+            accountRequest.setAttribute(User.DISABLED, "true");
+        } else {
+            accountRequest.setAttribute(User.DISABLED, "false");
+        }
+        String certval = event.getTextFieldBean("certificate").getValue();
+        if (certval != null) accountRequest.setAttribute("user.certificate", certval);
+    }
+
+    private void saveUserRole(ActionFormEvent event, User user) {
+        log.debug("Entering saveUserRole()");
+
+        List<PortletRole> roles = roleManagerService.getRoles();
+        for (PortletRole role : roles) {
+            CheckBoxBean cb = event.getCheckBoxBean(role.getName() + "CB");
+            if (cb.isSelected()) {
+                roleManagerService.addUserToRole(user, role);
+            } else {
+                if (roleManagerService.isUserInRole(user, role))
+                    if ((!role.equals(PortletRole.ADMIN)) || (roleManagerService.getUsersInRole(PortletRole.ADMIN).size() > 1)) {
+                        roleManagerService.deleteUserInRole(user, role);
+                    } else {
+                        log.warn("Can't delete user, one user in role ADMIN necessary");
+                        createErrorMessage(event, "Unable to delete user! One user with ADMIN role is necessary");
+                    }
+            }
+            log.debug("Exiting saveUserRole()");
+        }
+    }
+
+    public void filterUserList(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        ListBoxBean usersPageLB = event.getListBoxBean("usersPageLB");
+        String numPages = usersPageLB.getSelectedValue();
+        try {
+            Integer.parseInt(numPages);
+        } catch (Exception e) {
+            numPages = "10";
+        }
+
+        TextFieldBean userEmailTF = event.getTextFieldBean("userEmailTF");
+        TextFieldBean userOrgTF = event.getTextFieldBean("userOrgTF");
+
+        req.getPortletSession().setAttribute(NUM_PAGES, numPages);
+        req.getPortletSession().setAttribute(EMAIL_QUERY, userEmailTF.getValue());
+        req.getPortletSession().setAttribute(ORG_QUERY, userOrgTF.getValue());
+
+    }
+
+    private void mailUserConfirmation(ActionFormEvent evt, User user) {
+        PortletRequest req = evt.getActionRequest();
+        MailMessage mailToUser = new MailMessage();
+        String body = portalConfigService.getProperty("LOGIN_APPROVED_BODY");
+        if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+        StringBuffer message = new StringBuffer(body);
+        String subject = portalConfigService.getProperty("LOGIN_APPROVED_SUBJECT");
+        if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+        mailToUser.setSubject(subject);
+        message.append("\n\n");
+        message.append(getLocalizedText(req, "USERNAME")).append("\t");
+        message.append(user.getUserName()).append("\n");
+        message.append(getLocalizedText(req, "GIVENNAME")).append("\t");
+        message.append(user.getFirstName()).append("\n");
+        message.append(getLocalizedText(req, "FAMILYNAME")).append("\t");
+        message.append(user.getLastName()).append("\n");
+        message.append(getLocalizedText(req, "ORGANIZATION")).append("\t");
+        message.append(user.getOrganization()).append("\n");
+        message.append(getLocalizedText(req, "EMAILADDRESS")).append("\t");
+        message.append(user.getEmailAddress()).append("\n");
+        message.append("\n");
+        message.append(getLocalizedText(req, "USER_PASSWD_MSG"));
+        message.append("\t").append(evt.getPasswordBean("password").getValue());
+        mailToUser.setBody(message.toString());
+        mailToUser.setEmailAddress(user.getEmailAddress());
+        mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));
+        try {
+            mailService.sendMail(mailToUser);
+        } catch (PortletServiceException e) {
+            log.error("Unable to send mail message!", e);
+            createErrorMessage(evt, getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+        }
+
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/DatePortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/DatePortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/DatePortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+
+package org.gridsphere.portlets.core.date;
+
+import javax.portlet.*;
+import java.io.IOException;
+import java.text.DateFormat;
+import java.util.Calendar;
+import java.util.Locale;
+import java.util.Map;
+import java.util.TimeZone;
+
+
+public class DatePortlet extends GenericPortlet {
+
+    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        Locale locale;
+        TimeZone tz;
+        String tzStr = null;
+        Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
+        tzStr = (userInfo!=null) ? (String) userInfo.get("user.timezone") : null;
+
+        if (tzStr != null) {
+            tz = TimeZone.getTimeZone(tzStr);
+        } else {
+            tz = TimeZone.getDefault();
+        }
+        locale = request.getLocale();
+        if (locale == null) {
+            locale = Locale.getDefault();
+        }
+        Calendar date = Calendar.getInstance(tz, locale);
+        DateFormat uformater = DateFormat.getDateInstance(DateFormat.LONG, locale);
+        uformater.setCalendar(date);
+        request.setAttribute("date", uformater.format(date.getTime()));
+        getPortletContext().getRequestDispatcher("/jsp/date/date.jsp").include(request, response);
+    }
+
+}


Property changes on: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/date/DatePortlet.java
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale/LocalePortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale/LocalePortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/locale/LocalePortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LocalePortlet.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.portlets.core.locale;
+
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.ListBoxBean;
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+import org.gridsphere.services.core.locale.LocaleService;
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletSession;
+import java.util.Locale;
+
+public class LocalePortlet extends ActionPortlet {
+
+    private LocaleService localeService = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        localeService = (LocaleService) createPortletService(LocaleService.class);
+        DEFAULT_VIEW_PAGE = "showLocale";
+    }
+
+
+    private ListBoxItemBean makeLocaleBean(String language, String name, Locale locale) {
+        ListBoxItemBean bean = new ListBoxItemBean();
+        String display;
+        display = language.substring(0, 1).toUpperCase() + language.substring(1);
+
+        bean.setValue(display);
+        bean.setName(name);
+
+        if (locale.getLanguage().equals(name)) {
+            bean.setSelected(true);
+        }
+        return bean;
+    }
+
+    public void showLocale(RenderFormEvent event) throws PortletException {
+        PortletRequest request = event.getRenderRequest();
+        Locale locale = request.getLocale();
+        request.setAttribute("locale", locale);
+
+        ListBoxBean localeSelector = event.getListBoxBean("localeLB");
+        localeSelector.clear();
+
+        localeSelector.setOnChange("this.form.submit()");
+        localeSelector.setSize(1);
+
+        Locale[] locales = localeService.getSupportedLocales();
+
+        for (int i = 0; i < locales.length; i++) {
+            Locale displayLocale = locales[i];
+            ListBoxItemBean localeBean = makeLocaleBean(displayLocale.getDisplayLanguage(displayLocale), displayLocale.getLanguage(), locale);
+            localeSelector.addBean(localeBean);
+        }
+        setNextState(request, "locale/viewlocale.jsp");
+    }
+
+    public void selectLang(ActionFormEvent event) throws PortletException {
+        ListBoxBean localeSelector = event.getListBoxBean("localeLB");
+        PortletSession session = event.getActionRequest().getPortletSession(true);
+        String loc = localeSelector.getSelectedValue();
+        // Javascript exploit found by PSNC and Tomek Kuczynski, check the loc to not allow a javascript attack
+        if (loc != null) {
+            Locale[] locales = localeService.getSupportedLocales();
+            boolean valid = false;
+            for (Locale l : locales) {
+                if (loc.equals(l.toString())) valid = true;
+            }
+            if (valid) {
+                Locale locale = new Locale(loc, "", "");
+                session.setAttribute(User.LOCALE, locale, PortletSession.APPLICATION_SCOPE);
+            }
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login/LoginPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login/LoginPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/login/LoginPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,496 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LoginPortlet.java 5087 2006-08-18 22:52:23Z novotny $
+ */
+package org.gridsphere.portlets.core.login;
+
+import org.gridsphere.layout.PortletPageFactory;
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.HiddenFieldBean;
+import org.gridsphere.provider.portletui.beans.PasswordBean;
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.services.core.filter.PortalFilter;
+import org.gridsphere.services.core.filter.PortalFilterService;
+import org.gridsphere.services.core.mail.MailMessage;
+import org.gridsphere.services.core.mail.MailService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.request.Request;
+import org.gridsphere.services.core.request.RequestService;
+import org.gridsphere.services.core.security.auth.AuthModuleService;
+import org.gridsphere.services.core.security.auth.AuthenticationException;
+import org.gridsphere.services.core.security.auth.AuthorizationException;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.security.cert.X509Certificate;
+import java.util.*;
+
+public class LoginPortlet extends ActionPortlet {
+
+    private static String FORGOT_PASSWORD_LABEL = "forgotpassword";
+
+    private static long REQUEST_LIFETIME = 1000 * 60 * 60 * 24 * 3; // 3 days
+
+    public static final String LOGIN_ERROR_FLAG = "LOGIN_FAILED";
+    public static final Integer LOGIN_ERROR_UNKNOWN = new Integer(-1);
+
+    public static final String DO_VIEW_USER_EDIT_LOGIN = "login/createaccount.jsp"; //edit user
+    public static final String DO_FORGOT_PASSWORD = "login/forgotpassword.jsp";
+    public static final String DO_NEW_PASSWORD = "login/newpassword.jsp";
+
+    private UserManagerService userManagerService = null;
+
+    private PortalConfigService portalConfigService = null;
+    private RequestService requestService = null;
+    private MailService mailService = null;
+    private AuthModuleService authModuleService = null;
+    private PasswordManagerService passwordManagerService = null;
+
+    private PortalFilterService portalFilterService = null;
+
+    private String newpasswordURL = null;
+    private String redirectURL = null;
+
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        userManagerService = (UserManagerService) createPortletService(UserManagerService.class);
+        requestService = (RequestService) createPortletService(RequestService.class);
+        mailService = (MailService) createPortletService(MailService.class);
+        portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);
+        portalFilterService = (PortalFilterService) createPortletService(PortalFilterService.class);
+        authModuleService = (AuthModuleService) createPortletService(AuthModuleService.class);
+        passwordManagerService = (PasswordManagerService) createPortletService(PasswordManagerService.class);
+        DEFAULT_VIEW_PAGE = "doViewUser";
+    }
+
+    public void doViewUser(RenderFormEvent event) throws PortletException {
+        log.debug("in LoginPortlet: doViewUser");
+        PortletRequest request = event.getRenderRequest();
+        RenderResponse response = event.getRenderResponse();
+
+        if (newpasswordURL == null) {
+            PortletURL url = response.createActionURL();
+            ((PortletURLImpl) url).setAction("newpassword");
+            ((PortletURLImpl) url).setLayout("login");
+            ((PortletURLImpl) url).setEncoding(false);
+            newpasswordURL = url.toString();
+        }
+
+        if (redirectURL == null) {
+            PortletURL url = response.createRenderURL();
+            ((PortletURLImpl) url).setLayout(PortletPageFactory.USER_PAGE);
+            ((PortletURLImpl) url).setEncoding(false);
+            redirectURL = url.toString();
+        }
+
+        PasswordBean pass = event.getPasswordBean("password");
+        pass.setValue("");
+
+        // Check certificates
+        String x509supported = portalConfigService.getProperty(PortalConfigService.SUPPORT_X509_AUTH);
+        if ((x509supported != null) && (x509supported.equalsIgnoreCase("true"))) {
+            X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
+            if (certs != null && certs.length > 0) {
+                request.setAttribute("certificate", certs[0].getSubjectDN().toString());
+            }
+        }
+
+        String remUser = portalConfigService.getProperty(PortalConfigService.REMEMBER_USER);
+        if ((remUser != null) && (remUser.equalsIgnoreCase("TRUE"))) {
+            request.setAttribute("remUser", "true");
+        }
+
+        Boolean useSecureLogin = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.USE_HTTPS_LOGIN));
+
+        request.setAttribute("useSecureLogin", useSecureLogin.toString());
+        boolean canUserCreateAccount = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue();
+        if (canUserCreateAccount) request.setAttribute("canUserCreateAcct", "true");
+        boolean dispUser = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.SEND_USER_FORGET_PASSWORD)).booleanValue();
+        if (dispUser) request.setAttribute("dispPass", "true");
+
+        String errorMsg = (String) request.getPortletSession(true).getAttribute(LOGIN_ERROR_FLAG);
+
+        if (errorMsg != null) {
+            createErrorMessage(event, errorMsg);
+            request.getPortletSession(true).removeAttribute(LOGIN_ERROR_FLAG);
+        }
+
+        Boolean useUserName = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.USE_USERNAME_FOR_LOGIN));
+        if (useUserName) request.setAttribute("useUserName", "true");
+
+        setNextState(request, "login/login.jsp");
+    }
+
+    public void gs_login(ActionFormEvent event) throws PortletException {
+        log.debug("in LoginPortlet: gs_login");
+        PortletRequest req = event.getActionRequest();
+
+        try {
+            login(event);
+        } catch (AuthorizationException err) {
+            log.debug(err.getMessage());
+            req.getPortletSession(true).setAttribute(LOGIN_ERROR_FLAG, err.getMessage());
+        } catch (AuthenticationException err) {
+            log.debug(err.getMessage());
+            req.getPortletSession(true).setAttribute(LOGIN_ERROR_FLAG, err.getMessage());
+        }
+
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+
+    public void notifyUser(ActionFormEvent evt) {
+        PortletRequest req = evt.getActionRequest();
+
+        User user;
+        TextFieldBean emailTF = evt.getTextFieldBean("emailTF");
+
+        if (emailTF.getValue().equals("")) {
+            createErrorMessage(evt, this.getLocalizedText(req, "LOGIN_NO_EMAIL"));
+            return;
+        } else {
+            user = userManagerService.getUserByEmail(emailTF.getValue());
+        }
+        if (user == null) {
+            createErrorMessage(evt, this.getLocalizedText(req, "LOGIN_NOEXIST"));
+            return;
+        }
+
+        // create a request
+        Request request = requestService.createRequest(FORGOT_PASSWORD_LABEL);
+        long now = Calendar.getInstance().getTime().getTime();
+
+        request.setLifetime(new Date(now + REQUEST_LIFETIME));
+        request.setUserID(user.getID());
+        requestService.saveRequest(request);
+
+        MailMessage mailToUser = new MailMessage();
+        mailToUser.setEmailAddress(emailTF.getValue());
+        String subjectHeader = portalConfigService.getProperty("LOGIN_FORGOT_SUBJECT");
+        if (subjectHeader == null) subjectHeader = getLocalizedText(req, "MAIL_SUBJECT_HEADER");
+        mailToUser.setSubject(subjectHeader);
+        StringBuffer body = new StringBuffer();
+
+        String forgotMail = portalConfigService.getProperty("LOGIN_FORGOT_BODY");
+        if (forgotMail == null) forgotMail = getLocalizedText(req, "LOGIN_FORGOT_MAIL");
+        body.append(forgotMail).append("\n\n");
+        body.append(getLocalizedText(req, "USERNAME")).append(" :").append(user.getUserName()).append("\n\n");
+
+        body.append(newpasswordURL).append("&reqid=").append(request.getOid());
+        mailToUser.setBody(body.toString());
+        mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));
+        try {
+            mailService.sendMail(mailToUser);
+            createSuccessMessage(evt, this.getLocalizedText(req, "LOGIN_SUCCESS_MAIL"));
+        } catch (PortletServiceException e) {
+            log.error("Unable to send mail message!", e);
+            createErrorMessage(evt, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+            setNextState(req, DEFAULT_VIEW_PAGE);
+        }
+    }
+
+
+    /**
+     * Handles login requests
+     *
+     * @param event a <code>GridSphereEvent</code>
+     * @throws org.gridsphere.services.core.security.auth.AuthenticationException
+     *          if auth fails
+     * @throws org.gridsphere.services.core.security.auth.AuthorizationException
+     *          if authz fails
+     */
+    protected void login(ActionFormEvent event) throws AuthenticationException, AuthorizationException {
+
+        ActionRequest req = event.getActionRequest();
+        ActionResponse res = event.getActionResponse();
+
+        User user = login(req);
+        Long now = Calendar.getInstance().getTime().getTime();
+        user.setLastLoginTime(now);
+        Integer numLogins = user.getNumLogins();
+        if (numLogins == null) numLogins = 0;
+        numLogins++;
+
+        user.setNumLogins(numLogins);
+        user.setAttribute(PortalConfigService.LOGIN_NUMTRIES, "0");
+
+        userManagerService.saveUser(user);
+
+        req.setAttribute(SportletProperties.PORTLET_USER, user);
+        req.getPortletSession(true).setAttribute(SportletProperties.PORTLET_USER, user.getID(), PortletSession.APPLICATION_SCOPE);
+
+        String query = event.getAction().getParameter("queryString");
+
+        if (query != null) {
+            //redirectURL.setParameter("cid", query);
+        }
+        //req.setAttribute(SportletProperties.LAYOUT_PAGE, PortletPageFactory.USER_PAGE);
+
+
+        String realuri = redirectURL.toString().substring("http".length());
+        Boolean useSecureRedirect = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.USE_HTTPS_REDIRECT));
+        if (useSecureRedirect.booleanValue()) {
+            realuri = "https" + realuri;
+        } else {
+            realuri = "http" + realuri;
+        }
+
+        List<PortalFilter> portalFilters = portalFilterService.getPortalFilters();
+        for (PortalFilter filter : portalFilters) {
+            filter.doAfterLogin((HttpServletRequest) req, (HttpServletResponse) res);
+        }
+
+        log.debug("in login redirecting to portal: " + realuri.toString());
+        try {
+            if (req.getParameter("ajax") != null) {
+                //res.setContentType("text/html");
+                //res.getWriter().print(realuri.toString());
+            } else {
+                res.sendRedirect(realuri.toString());
+            }
+        } catch (IOException e) {
+            log.error("Unable to perform a redirect!", e);
+        }
+    }
+
+
+    public User login(PortletRequest req)
+            throws AuthenticationException, AuthorizationException {
+
+        String loginName = req.getParameter("username");
+        String loginPassword = req.getParameter("password");
+        String certificate = null;
+
+        X509Certificate[] certs = (X509Certificate[]) req.getAttribute("javax.servlet.request.X509Certificate");
+        if (certs != null && certs.length > 0) {
+            certificate = certificateTransform(certs[0].getSubjectDN().toString());
+        }
+
+        User user = null;
+
+        // if using client certificate, then don't use login modules
+        if (certificate == null) {
+            if ((loginName == null) || (loginPassword == null)) {
+                throw new AuthorizationException(getLocalizedText(req, "LOGIN_AUTH_BLANK"));
+            }
+            // first get user
+            Boolean useUserName = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.USE_USERNAME_FOR_LOGIN));
+            if (useUserName) {
+
+                user = userManagerService.getUserByUserName(loginName);
+            } else {
+                user = userManagerService.getUserByEmail(loginName);
+            }
+
+        } else {
+
+            log.debug("Using certificate for login :" + certificate);
+            List userList = userManagerService.getUsersByAttribute("certificate", certificate, null);
+            if (!userList.isEmpty()) {
+                user = (User) userList.get(0);
+            }
+        }
+
+        if (user == null) throw new AuthorizationException(getLocalizedText(req, "LOGIN_AUTH_NOUSER"));
+
+        // tried one to many times using same name
+        int defaultNumTries = Integer.valueOf(portalConfigService.getProperty(PortalConfigService.LOGIN_NUMTRIES)).intValue();
+        int numTriesInt;
+        String numTries = (String) user.getAttribute(PortalConfigService.LOGIN_NUMTRIES);
+        if (numTries == null) {
+            numTriesInt = 1;
+        } else {
+            numTriesInt = Integer.valueOf(numTries).intValue();
+        }
+        System.err.println("num tries = " + numTriesInt);
+        if ((defaultNumTries != -1) && (numTriesInt >= defaultNumTries)) {
+            disableAccount(req);
+            throw new AuthorizationException(getLocalizedText(req, "LOGIN_TOOMANY_ATTEMPTS"));
+        }
+
+        String accountStatus = (String) user.getAttribute(User.DISABLED);
+        if ((accountStatus != null) && ("TRUE".equalsIgnoreCase(accountStatus)))
+            throw new AuthorizationException(getLocalizedText(req, "LOGIN_AUTH_DISABLED"));
+
+        // If authorized via certificates no other authorization needed
+        if (certificate != null) return user;
+
+        // second invoke the appropriate auth module
+        List<LoginAuthModule> modules = authModuleService.getActiveAuthModules();
+
+        Collections.sort(modules);
+        AuthenticationException authEx = null;
+
+        Iterator it = modules.iterator();
+        log.debug("in login: Active modules are: ");
+        boolean success = false;
+        while (it.hasNext()) {
+            success = false;
+            LoginAuthModule mod = (LoginAuthModule) it.next();
+            log.debug(mod.getModuleName());
+            try {
+                mod.checkAuthentication(user, loginPassword);
+                success = true;
+            } catch (AuthenticationException e) {
+                String errMsg = mod.getModuleError(e.getMessage(), req.getLocale());
+                if (errMsg != null) {
+                    authEx = new AuthenticationException(errMsg);
+                } else {
+                    authEx = e;
+                }
+            }
+            if (success) break;
+        }
+        if (!success) {
+
+            numTriesInt++;
+            user.setAttribute(PortalConfigService.LOGIN_NUMTRIES, String.valueOf(numTriesInt));
+            userManagerService.saveUser(user);
+
+            throw authEx;
+        }
+
+        return user;
+    }
+
+    /**
+     * Transform certificate subject from :
+     * CN=Engbert Heupers, O=sara, O=users, O=dutchgrid
+     * to :
+     * /O=dutchgrid/O=users/O=sara/CN=Engbert Heupers
+     *
+     * @param certificate string
+     * @return certificate string
+     */
+    private String certificateTransform(String certificate) {
+        String ls[] = certificate.split(", ");
+        StringBuffer res = new StringBuffer();
+        for (int i = ls.length - 1; i >= 0; i--) {
+            res.append("/");
+            res.append(ls[i]);
+        }
+        return res.toString();
+    }
+
+    protected String getLocalizedText(HttpServletRequest req, String key) {
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        return bundle.getString(key);
+    }
+
+    public void disableAccount(PortletRequest req) {
+        //PortletRequest req = event.getRenderRequest();
+        String loginName = req.getParameter("username");
+        User user = userManagerService.getUserByUserName(loginName);
+        if (user != null) {
+            user.setAttribute(User.DISABLED, "true");
+            userManagerService.saveUser(user);
+
+            MailMessage mailToUser = new MailMessage();
+            StringBuffer body = new StringBuffer();
+            body.append(getLocalizedText(req, "LOGIN_DISABLED_MSG1")).append(" ").append(getLocalizedText(req, "LOGIN_DISABLED_MSG2")).append("\n\n");
+            mailToUser.setBody(body.toString());
+            mailToUser.setSubject(getLocalizedText(req, "LOGIN_DISABLED_SUBJECT"));
+            mailToUser.setEmailAddress(user.getEmailAddress());
+
+            MailMessage mailToAdmin = new MailMessage();
+            StringBuffer body2 = new StringBuffer();
+            body2.append(getLocalizedText(req, "LOGIN_DISABLED_ADMIN_MSG")).append(" ").append(user.getUserName());
+            mailToAdmin.setBody(body2.toString());
+            mailToAdmin.setSubject(getLocalizedText(req, "LOGIN_DISABLED_SUBJECT") + " " + user.getUserName());
+            String portalAdminEmail = portalConfigService.getProperty(PortalConfigService.PORTAL_ADMIN_EMAIL);
+            mailToAdmin.setEmailAddress(portalAdminEmail);
+
+            try {
+                mailService.sendMail(mailToUser);
+                mailService.sendMail(mailToAdmin);
+            } catch (PortletServiceException e) {
+                log.error("Unable to send mail message!", e);
+                //createErrorMessage(event, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+            }
+        }
+    }
+
+    public void displayForgotPassword(RenderFormEvent event) {
+        boolean sendMail = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.SEND_USER_FORGET_PASSWORD)).booleanValue();
+        if (sendMail) {
+            PortletRequest req = event.getRenderRequest();
+            setNextState(req, DO_FORGOT_PASSWORD);
+        }
+    }
+
+
+    public void newpassword(ActionFormEvent evt) {
+        PortletRequest req = evt.getActionRequest();
+        String id = req.getParameter("reqid");
+        Request request = requestService.getRequest(id, FORGOT_PASSWORD_LABEL);
+        if (request != null) {
+            HiddenFieldBean reqid = evt.getHiddenFieldBean("reqid");
+            reqid.setValue(id);
+            setNextState(req, DO_NEW_PASSWORD);
+        } else {
+            setNextState(req, DEFAULT_VIEW_PAGE);
+        }
+    }
+
+    public void doSavePass(ActionFormEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+
+        HiddenFieldBean reqid = event.getHiddenFieldBean("reqid");
+        String id = reqid.getValue();
+        Request request = requestService.getRequest(id, FORGOT_PASSWORD_LABEL);
+        if (request != null) {
+            String uid = request.getUserID();
+            User user = userManagerService.getUser(uid);
+            passwordManagerService.editPassword(user);
+            String passwordValue = event.getPasswordBean("password").getValue();
+            String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();
+
+            if (passwordValue == null) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_NOTSET"));
+                setNextState(req, DO_NEW_PASSWORD);
+                return;
+            }
+
+            // Otherwise, password must match confirmation
+            if (!passwordValue.equals(confirmPasswordValue)) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_MISMATCH"));
+                setNextState(req, DO_NEW_PASSWORD);
+                // If they do match, then validate password with our service
+            } else {
+                if (passwordValue.length() == 0) {
+                    createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));
+                    setNextState(req, DO_NEW_PASSWORD);
+                } else if (passwordValue.length() < 5) {
+                    System.err.println("length < 5 password= " + passwordValue);
+                    createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));
+                    setNextState(req, DO_NEW_PASSWORD);
+                } else {
+                    // save password
+                    //System.err.println("saving password= " + passwordValue);
+                    PasswordEditor editPasswd = passwordManagerService.editPassword(user);
+                    editPasswd.setValue(passwordValue);
+                    editPasswd.setDateLastModified(Calendar.getInstance().getTime());
+                    passwordManagerService.savePassword(editPasswd);
+                    createSuccessMessage(event, this.getLocalizedText(req, "USER_PASSWORD_SUCCESS"));
+                    requestService.deleteRequest(request);
+                }
+            }
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news/NewsPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news/NewsPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/news/NewsPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+package org.gridsphere.portlets.core.news;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.ListBoxBean;
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import org.gridsphere.services.core.jcr.ContentException;
+import org.gridsphere.services.core.jcr.JCRService;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletMode;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.List;
+import java.util.Properties;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class NewsPortlet extends ActionPortlet {
+
+    private JCRService jcrService = null;
+    private String document = "MessageOfTheDay";
+    private String storeFileName = "motd.properties";
+    private Properties props = new Properties();
+    //private String
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        DEFAULT_VIEW_PAGE = "doView";
+        DEFAULT_EDIT_PAGE = "doConfigure";
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        storeFileName = settingsService.getRealSettingsPath("portal") + File.separator + storeFileName;
+
+        File file = new File(storeFileName);
+        props = new Properties();
+        try {
+            props.load(new FileInputStream(file));
+            document = props.getProperty("message");
+        } catch (IOException e) {
+            log.error("Could not load properties from " + storeFileName);
+        }
+        jcrService = (JCRService) createPortletService(JCRService.class);
+    }
+
+
+    public void doView(RenderFormEvent event) throws PortletException {
+        String content = jcrService.getContent(document);
+        event.getRenderRequest().setAttribute("document", content);
+        setNextState(event.getRenderRequest(), "news/view.jsp");
+    }
+
+    public void doMyConfigure(FormEvent event) throws PortletException {
+        ListBoxBean docList = event.getListBoxBean("document");
+        List<ContentDocument> allDocs = null;
+        try {
+            allDocs = jcrService.listChildContentDocuments("");
+            for (int i = 0; i < allDocs.size(); i++) {
+                ListBoxItemBean item = new ListBoxItemBean();
+                item.setValue(allDocs.get(i).getTitle());
+                item.setName(allDocs.get(i).getTitle());
+                if (allDocs.get(i).getTitle().equals(document)) item.setSelected(true);
+                docList.addBean(item);
+            }
+        } catch (ContentException e) {
+            createErrorMessage(event, "Could not get list of documents.");
+        }
+    }
+
+    public void doConfigure(ActionFormEvent event) throws PortletException {
+        doMyConfigure(event);
+        setNextState(event.getActionRequest(), "news/admin.jsp");
+    }
+
+    public void doConfigure(RenderFormEvent event) throws PortletException {
+        doMyConfigure(event);
+        setNextState(event.getRenderRequest(), "news/admin.jsp");
+    }
+
+    public void doSave(ActionFormEvent event) throws PortletException {
+        ListBoxBean cmsDocument = event.getListBoxBean("document");
+        document = cmsDocument.getSelectedName();
+        props.setProperty("message", document);
+        event.getActionResponse().setPortletMode(PortletMode.VIEW);
+        try {
+            props.store(new FileOutputStream(storeFileName), "Message of the day.");
+        } catch (IOException e) {
+            log.error("Could not save MOTD prefs to " + storeFileName);
+        }
+        setNextState(event.getActionRequest(), "doView");
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration/SignupPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration/SignupPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/registration/SignupPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,471 @@
+package org.gridsphere.portlets.core.registration;
+
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.MessageBoxBean;
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.services.core.mail.MailMessage;
+import org.gridsphere.services.core.mail.MailService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.request.Request;
+import org.gridsphere.services.core.request.RequestService;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+public class SignupPortlet extends ActionPortlet {
+
+    private static String ACTIVATE_ACCOUNT_LABEL = "activateaccount";
+
+    private static long REQUEST_LIFETIME = 1000 * 60 * 60 * 24 * 3; // 3 days
+
+    public static final String LOGIN_ERROR_FLAG = "LOGIN_FAILED";
+    public static final Integer LOGIN_ERROR_UNKNOWN = new Integer(-1);
+
+    public static final String DO_VIEW_USER_EDIT_LOGIN = "signup/createaccount.jsp"; //edit user
+
+    private UserManagerService userManagerService = null;
+    private RoleManagerService roleService = null;
+    private PasswordManagerService passwordManagerService = null;
+    private PortalConfigService portalConfigService = null;
+    private RequestService requestService = null;
+    private MailService mailService = null;
+
+    private String activateAccountURL = null;
+    private String denyAccountURL = null;
+    private String notificationURL = null;
+
+    public void init(PortletConfig config) throws PortletException {
+
+        super.init(config);
+
+        userManagerService = (UserManagerService) createPortletService(UserManagerService.class);
+        roleService = (RoleManagerService) createPortletService(RoleManagerService.class);
+        passwordManagerService = (PasswordManagerService) createPortletService(PasswordManagerService.class);
+        requestService = (RequestService) createPortletService(RequestService.class);
+        mailService = (MailService) createPortletService(MailService.class);
+        portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);
+
+        DEFAULT_VIEW_PAGE = "doNewUser";
+    }
+
+
+    protected String getLocalizedText(HttpServletRequest req, String key) {
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("gridsphere.resources.Portlet", locale);
+        return bundle.getString(key);
+    }
+
+    public void cantRead(ActionFormEvent evt) {
+
+        TextFieldBean userName = evt.getTextFieldBean("userName");
+        userName.setValue(userName.getValue());
+        TextFieldBean firstName = evt.getTextFieldBean("firstName");
+        firstName.setValue(firstName.getValue());
+        TextFieldBean lastName = evt.getTextFieldBean("lastName");
+        lastName.setValue(lastName.getValue());
+        TextFieldBean emailAddress = evt.getTextFieldBean("emailAddress");
+        emailAddress.setValue(emailAddress.getValue());
+        TextFieldBean organization = evt.getTextFieldBean("organization");
+        organization.setValue(organization.getValue());
+        TextFieldBean password = evt.getPasswordBean("password");
+        password.setValue(password.getValue());
+        TextFieldBean password2 = evt.getPasswordBean("confirmPassword");
+        password2.setValue(password2.getValue());
+
+        setNextState(evt.getActionRequest(), DEFAULT_VIEW_PAGE);
+    }
+
+    public void doNewUser(RenderFormEvent evt)
+            throws PortletException {
+
+        RenderRequest req = evt.getRenderRequest();
+        RenderResponse res = evt.getRenderResponse();
+
+        if (notificationURL == null) {
+            notificationURL = res.createActionURL().toString();
+        }
+
+        if (activateAccountURL == null) {
+            PortletURL accountURL = res.createActionURL();
+            ((PortletURLImpl) accountURL).setAction("approveAccount");
+            ((PortletURLImpl) accountURL).setLayout("register");
+            ((PortletURLImpl) accountURL).setEncoding(false);
+            activateAccountURL = accountURL.toString();
+        }
+        if (denyAccountURL == null) {
+            PortletURL denyURL = res.createActionURL();
+            ((PortletURLImpl) denyURL).setAction("denyAccount");
+            ((PortletURLImpl) denyURL).setLayout("register");
+            ((PortletURLImpl) denyURL).setEncoding(false);
+            denyAccountURL = denyURL.toString();
+        }
+
+        boolean canUserCreateAccount = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue();
+        if (!canUserCreateAccount) return;
+
+        MessageBoxBean msg = evt.getMessageBoxBean("msg");
+
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            req.setAttribute("savePass", "true");
+        }
+
+        String error = (String) req.getPortletSession(true).getAttribute("error");
+        if (error != null) {
+            msg.setValue(error);
+            req.getPortletSession(true).removeAttribute("error");
+        } else {
+            String adminApproval = portalConfigService.getProperty("ADMIN_ACCOUNT_APPROVAL");
+            if (adminApproval.equals(Boolean.TRUE.toString())) {
+                msg.setKey("LOGIN_ACCOUNT_CREATE_APPROVAL");
+            } else {
+                msg.setKey("LOGIN_CREATE_ACCT");
+            }
+        }
+        setNextState(req, DO_VIEW_USER_EDIT_LOGIN);
+        log.debug("in doViewNewUser");
+    }
+
+    public void doSaveAccount(ActionFormEvent evt)
+            throws PortletException {
+        ActionRequest req = evt.getActionRequest();
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            req.setAttribute("savePass", "true");
+        }
+
+        boolean canUserCreateAccount = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue();
+        if (!canUserCreateAccount) return;
+
+        try {
+            //check if the user is new or not
+            validateUser(evt);
+            //new and valid user and will save it
+            notifyNewUser(evt);
+
+            setNextState(req, "doConfirmSave");
+        } catch (PortletException e) {
+            //invalid user, an exception was thrown
+            //back to edit
+            log.error("Could not create account: ", e);
+            req.getPortletSession(true).setAttribute("error", e.getMessage());
+            setNextState(req, DEFAULT_VIEW_PAGE);
+        }
+    }
+
+    public void doConfirmSave(RenderFormEvent evt) {
+        MessageBoxBean msg = evt.getMessageBoxBean("msg");
+        msg.setKey("SIGNUP_CONFIRM");
+        setNextState(evt.getRenderRequest(), "signup/confirmsave.jsp");
+    }
+
+    private void validateUser(ActionFormEvent event)
+            throws PortletException {
+        log.debug("Entering validateUser()");
+        PortletRequest req = event.getActionRequest();
+
+        // Validate user name
+        String userName = event.getTextFieldBean("userName").getValue();
+        if (userName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NAME_BLANK") + "<br />");
+            throw new PortletException("user name is blank!");
+        }
+
+        if (this.userManagerService.existsUserName(userName)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_EXISTS") + "<br />");
+            throw new PortletException("user exists already");
+        }
+
+        // Validate full name
+
+        String firstName = event.getTextFieldBean("firstName").getValue();
+        if (firstName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_GIVENNAME_BLANK") + "<br />");
+            throw new PortletException("first name is blank");
+        }
+
+        String lastName = event.getTextFieldBean("lastName").getValue();
+        if (lastName.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_FAMILYNAME_BLANK") + "<br />");
+            throw new PortletException("last name is blank");
+        }
+
+        // Validate e-mail
+        String eMail = event.getTextFieldBean("emailAddress").getValue();
+        if (eMail.equals("")) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            throw new PortletException("email is blank");
+        } else if ((eMail.indexOf("@") < 0)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            throw new PortletException("email address invalid");
+        } else if ((eMail.indexOf(".") < 0)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");
+            throw new PortletException("email address invalid");
+        }
+
+        //Validate password
+
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            if (isInvalidPassword(event)) throw new PortletException("password no good!");
+        }
+
+        //retrieve the response
+        String response = event.getTextFieldBean("captchaTF").getValue();
+
+        String captchaValue = (String) req.getPortletSession(true).getAttribute(nl.captcha.servlet.Constants.SIMPLE_CAPCHA_SESSION_KEY, PortletSession.APPLICATION_SCOPE);
+        if (!response.equals(captchaValue)) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_CAPTCHA_MISMATCH"));
+            throw new PortletException("captcha challenge mismatch!");
+        }
+
+        log.debug("Exiting validateUser()");
+    }
+
+    private boolean isInvalidPassword(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        // Validate password
+        String passwordValue = event.getPasswordBean("password").getValue();
+        String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();
+
+        if (passwordValue == null) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_NOTSET"));
+            return true;
+        }
+
+        // Otherwise, password must match confirmation
+        if (!passwordValue.equals(confirmPasswordValue)) {
+            createErrorMessage(event, (this.getLocalizedText(req, "USER_PASSWORD_MISMATCH")) + "<br />");
+            return true;
+            // If they do match, then validate password with our service
+        } else {
+            passwordValue = passwordValue.trim();
+
+            if (passwordValue.length() == 0) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));
+                return true;
+            }
+            if (passwordValue.length() < 5) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private User saveUser(Request request) {
+        log.debug("Entering saveUser()");
+        // Account request
+
+        // Create edit account request
+
+        User newuser = this.userManagerService.createUser();
+
+        // Edit account attributes
+        newuser.setUserName(request.getAttribute("userName"));
+        newuser.setFirstName(request.getAttribute("firstName"));
+        newuser.setLastName(request.getAttribute("lastName"));
+        newuser.setFullName(request.getAttribute("lastName") + ", " + request.getAttribute("firstName"));
+        newuser.setEmailAddress(request.getAttribute("emailAddress"));
+        newuser.setOrganization(request.getAttribute("organization"));
+
+        long now = Calendar.getInstance().getTime().getTime();
+        newuser.setAttribute(User.CREATEDATE, String.valueOf(now));
+
+        // Submit changes
+        this.userManagerService.saveUser(newuser);
+
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            PasswordEditor editor = passwordManagerService.editPassword(newuser);
+            String password = request.getAttribute("password");
+
+            editor.setValue(password);
+            passwordManagerService.saveHashedPassword(editor);
+        }
+
+        // Save user role
+        List<PortletRole> defaultRoles = roleService.getDefaultRoles();
+        for (PortletRole role : defaultRoles) {
+            roleService.addUserToRole(newuser, role);
+        }
+
+        log.debug("Exiting saveUser()");
+        return newuser;
+    }
+
+
+    public void notifyNewUser(ActionFormEvent evt) throws PortletException {
+        ActionRequest req = evt.getActionRequest();
+        ActionResponse res = evt.getActionResponse();
+        TextFieldBean emailTF = evt.getTextFieldBean("emailAddress");
+
+        // create a request
+        Request request = requestService.createRequest(ACTIVATE_ACCOUNT_LABEL);
+        long now = Calendar.getInstance().getTime().getTime();
+
+        request.setLifetime(new Date(now + REQUEST_LIFETIME));
+
+        // request.setUserID(user.getID());
+
+        request.setAttribute("userName", evt.getTextFieldBean("userName").getValue());
+        request.setAttribute("firstName", evt.getTextFieldBean("firstName").getValue());
+        request.setAttribute("lastName", evt.getTextFieldBean("lastName").getValue());
+        request.setAttribute("emailAddress", evt.getTextFieldBean("emailAddress").getValue());
+        request.setAttribute("organization", evt.getTextFieldBean("organization").getValue());
+
+        // put hashed pass in request
+        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);
+        if (savePasswds.equals(Boolean.TRUE.toString())) {
+            String pass = evt.getPasswordBean("password").getValue();
+            pass = passwordManagerService.getHashedPassword(pass);
+            request.setAttribute("password", pass);
+        }
+
+        requestService.saveRequest(request);
+
+        MailMessage mailToUser = new MailMessage();
+        mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));
+        StringBuffer body = new StringBuffer();
+
+
+        String activateURL = activateAccountURL + "&reqid=" + request.getOid();
+
+        String denyURL = denyAccountURL + "&reqid=" + request.getOid();
+
+        // check if this account request should be approved by an administrator
+        boolean accountApproval = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL)).booleanValue();
+        if (accountApproval) {
+            String admin = portalConfigService.getProperty(PortalConfigService.PORTAL_ADMIN_EMAIL);
+            mailToUser.setEmailAddress(admin);
+            String mailSubject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT");
+            if (mailSubject == null) mailSubject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT");
+            mailToUser.setSubject(mailSubject);
+            String adminBody = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL");
+            if (adminBody == null) adminBody = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL");
+            body.append(adminBody).append("\n\n");
+            body.append(getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ALLOW")).append("\n\n");
+            body.append(activateURL).append("\n\n");
+            body.append(getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_DENY")).append("\n\n");
+            body.append(denyURL).append("\n\n");
+        } else {
+            mailToUser.setEmailAddress(emailTF.getValue());
+
+            String mailSubjectHeader = portalConfigService.getProperty("LOGIN_ACTIVATE_SUBJECT");
+            String loginActivateMail = portalConfigService.getProperty("LOGIN_ACTIVATE_BODY");
+
+            if (mailSubjectHeader == null) mailSubjectHeader = getLocalizedText(req, "LOGIN_ACTIVATE_SUBJECT");
+            mailToUser.setSubject(mailSubjectHeader);
+
+            if (loginActivateMail == null) loginActivateMail = getLocalizedText(req, "LOGIN_ACTIVATE_MAIL");
+            body.append(loginActivateMail).append("\n\n");
+            body.append(activateURL).append("\n\n");
+        }
+
+        body.append(getLocalizedText(req, "USERNAME")).append("\t");
+        body.append(evt.getTextFieldBean("userName").getValue()).append("\n");
+        body.append(getLocalizedText(req, "GIVENNAME")).append("\t");
+        body.append(evt.getTextFieldBean("firstName").getValue()).append("\n");
+        body.append(getLocalizedText(req, "FAMILYNAME")).append("\t");
+        body.append(evt.getTextFieldBean("lastName").getValue()).append("\n");
+        body.append(getLocalizedText(req, "ORGANIZATION")).append("\t");
+        body.append(evt.getTextFieldBean("organization").getValue()).append("\n");
+        body.append(getLocalizedText(req, "EMAILADDRESS")).append("\t");
+        body.append(evt.getTextFieldBean("emailAddress").getValue()).append("\n");
+
+        mailToUser.setBody(body.toString());
+
+        try {
+            mailService.sendMail(mailToUser);
+        } catch (PortletServiceException e) {
+            createErrorMessage(evt, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+            throw new PortletException("Unable to send mail message!", e);
+        }
+
+        boolean adminRequired = Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.ADMIN_ACCOUNT_APPROVAL));
+        if (adminRequired) {
+            createSuccessMessage(evt, this.getLocalizedText(req, "LOGIN_ACCT_ADMIN_MAIL"));
+        } else {
+            createSuccessMessage(evt, this.getLocalizedText(req, "LOGIN_ACCT_MAIL"));
+        }
+
+    }
+
+    private void doEmailAction(ActionFormEvent event, String msg, boolean createAccount) {
+        ActionRequest req = event.getActionRequest();
+        ActionResponse res = event.getActionResponse();
+        String id = req.getParameter("reqid");
+        User user = null;
+        Request request = requestService.getRequest(id, ACTIVATE_ACCOUNT_LABEL);
+        if (request != null) {
+            requestService.deleteRequest(request);
+
+            String subject = "";
+            String body = "";
+            if (createAccount) {
+                user = saveUser(request);
+                createSuccessMessage(event, msg + " " + user.getUserName());
+
+                // send the user an email
+                subject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+                if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+                body = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED_BODY");
+                if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+            } else {
+                createSuccessMessage(event, msg);
+
+                // send the user an email
+                subject = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+                if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+                body = portalConfigService.getProperty("LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY_BODY");
+                if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+            }
+
+            MailMessage mailToUser = new MailMessage();
+            mailToUser.setEmailAddress(user.getEmailAddress());
+            mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));
+            mailToUser.setSubject(subject);
+            StringBuffer msgbody = new StringBuffer();
+
+            msgbody.append(body).append("\n\n");
+            msgbody.append(notificationURL);
+            mailToUser.setBody(body.toString());
+
+            try {
+                mailService.sendMail(mailToUser);
+            } catch (PortletServiceException e) {
+                log.error("Error: ", e);
+                createErrorMessage(event, this.getLocalizedText(req, "LOGIN_FAILURE_MAIL"));
+            }
+        }
+        setNextState(req, DEFAULT_VIEW_PAGE);
+
+    }
+
+    public void approveAccount(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        String msg = this.getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");
+        doEmailAction(event, msg, true);
+        setNextState(req, "signup/approve.jsp");
+    }
+
+    public void denyAccount(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        String msg = this.getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY");
+        doEmailAction(event, msg, false);
+        setNextState(req, "signup/deny.jsp");
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss/RSSPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss/RSSPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/rss/RSSPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,160 @@
+package org.gridsphere.portlets.core.rss;
+
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.ListBoxBean;
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.services.core.rss.RssService;
+
+import javax.portlet.*;
+import java.io.IOException;
+
+public class RSSPortlet extends ActionPortlet {
+
+    public final static String VIEW_RSS_JSP = "rss/viewRSS.jsp";
+    private RssService rssService = null;
+    private String defaultFeed = "http://rss.cnn.com/rss/cnn_topstories.rss";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        rssService = (RssService) createPortletService(RssService.class);
+        DEFAULT_VIEW_PAGE = "doView";
+        DEFAULT_EDIT_PAGE = "doEdit";
+    }
+
+    protected SyndFeed createFeedListBox(FormEvent event, PortletRequest request, String selectedFeed) {
+
+        PortletPreferences prefs = request.getPreferences();
+        String[] feedURL = prefs.getValues("feedurl", new String[]{defaultFeed});
+
+        ListBoxBean feedsLB = event.getListBoxBean("feedsLB");
+        feedsLB.clear();
+        feedsLB.setSize(1);
+
+        SyndFeed result = null;
+        SyndFeed feed = null;
+        for (int i = 0; i < feedURL.length; i++) {
+            try {
+                feed = rssService.getFeed(feedURL[i]);
+                if (result == null) result = feed;
+            } catch (FeedException e) {
+                log.error("Could not create Feed.", e);
+                createErrorMessage(event, getLocalizedText(request, "RSS_ERR_COULDNOTCREATEFEED") + ": " + feedURL[i] + "<br/>");
+            }
+            ListBoxItemBean item = new ListBoxItemBean();
+            item.setName(feedURL[i]);
+            item.setValue((feed != null) ? feed.getTitle() : feedURL[i]);
+            if (selectedFeed != null && selectedFeed.equals(feedURL[i])) {
+                result = feed;
+                item.setSelected(true);
+            }
+            feedsLB.addBean(item);
+        }
+        return result;
+    }
+
+    public void doView(RenderFormEvent event) throws PortletException {
+        String feedurl = (String) event.getRenderRequest().getPortletSession(true).getAttribute("selectedfeed");
+        SyndFeed selectedFeed = createFeedListBox(event, event.getRenderRequest(), feedurl);
+        event.getRenderRequest().setAttribute("rssfeed", selectedFeed);
+        setNextState(event.getRenderRequest(), VIEW_RSS_JSP);
+    }
+
+    public void selectFeed(ActionFormEvent event) {
+        ListBoxBean feedsLB = event.getListBoxBean("feedsLB");
+        String selectedFeed = feedsLB.getSelectedValue();
+        event.getActionRequest().getPortletSession(true).setAttribute("selectedfeed", selectedFeed);
+    }
+
+    public void doEdit(RenderFormEvent event) {
+        createFeedListBox(event, event.getRenderRequest(), null);
+        setNextState(event.getRenderRequest(), "rss/edit.jsp");
+    }
+
+    public void doEdit(ActionFormEvent event) {
+        createFeedListBox(event, event.getActionRequest(), null);
+        setNextState(event.getActionRequest(), "rss/edit.jsp");
+    }
+
+
+    /**
+     * Save the urls into the prefs and creates messages on success and failure.
+     *
+     * @param prefs
+     * @param newURLs
+     * @param event
+     * @param successMsg
+     */
+    public void saveURLs(PortletPreferences prefs, String newURLs[], ActionFormEvent event, String successMsg) {
+        try {
+            prefs.setValues("feedurl", newURLs);
+            prefs.store();
+            createSuccessMessage(event, getLocalizedText(event.getActionRequest(), successMsg));
+        } catch (ReadOnlyException e) {
+            e.printStackTrace();
+            createErrorMessage(event, getLocalizedText(event.getActionRequest(), "RSS_ERR_COULDNOTSAVE"));
+        } catch (IOException e) {
+            e.printStackTrace();
+            createErrorMessage(event, getLocalizedText(event.getActionRequest(), "RSS_ERR_COULDNOTSAVE"));
+        } catch (ValidatorException e) {
+            e.printStackTrace();
+            createErrorMessage(event, getLocalizedText(event.getActionRequest(), "RSS_ERR_COULDNOTSAVE"));
+        }
+    }
+
+    /**
+     * Saves the new url along with the existing ones
+     *
+     * @param event
+     */
+    public void saveFeed(ActionFormEvent event) {
+        TextFieldBean newUrl = event.getTextFieldBean("newfeedurl");
+        try {
+            // cache and see if this url is valid and a feed
+            rssService.getFeed(newUrl.getValue());
+
+            PortletPreferences prefs = event.getActionRequest().getPreferences();
+            String[] feedURL = prefs.getValues("feedurl", new String[]{defaultFeed});
+            String[] newURLs = new String[feedURL.length + 1];
+            for (int i = 0; i < feedURL.length; i++) {
+                newURLs[i] = feedURL[i];
+            }
+            newURLs[feedURL.length] = newUrl.getValue();
+            saveURLs(prefs, newURLs, event, "RSS_FEED_ADDED");
+        } catch (FeedException e) {
+            createErrorMessage(event, getLocalizedText(event.getActionRequest(), "RSS_ERR_NORSSFEED"));
+        }
+        setNextState(event.getActionRequest(), DEFAULT_EDIT_PAGE);
+    }
+
+    /**
+     * Removes an url from the preferences.
+     *
+     * @param event
+     */
+    public void removeFeed(ActionFormEvent event) {
+        PortletPreferences prefs = event.getActionRequest().getPreferences();
+        String[] feedURL = prefs.getValues("feedurl", new String[]{null});
+        ListBoxBean urls = event.getListBoxBean("feedsLB");
+        if (feedURL[0] != null) {
+            String url = urls.getSelectedValue();
+            String[] newURLs = new String[feedURL.length - 1];
+            int newUrlCounter = 0;
+            for (int i = 0; i < feedURL.length; i++) {
+                if (!feedURL[i].equals(url)) {
+                    newURLs[newUrlCounter] = feedURL[i];
+                    newUrlCounter++;
+                }
+            }
+            saveURLs(prefs, newURLs, event, "RSS_FEED_DELETED");
+        } else {
+            createErrorMessage(event, getLocalizedText(event.getActionRequest(), "RSS_ERR_NORSSFEED"));
+        }
+        setNextState(event.getActionRequest(), DEFAULT_EDIT_PAGE);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user/ProfileManagerPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user/ProfileManagerPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/portlets/core/user/ProfileManagerPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,384 @@
+/*
+ * @author <a href="mailto:michael.russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: ProfileManagerPortlet.java 5062 2006-08-17 21:31:25Z novotny $
+ */
+package org.gridsphere.portlets.core.user;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.locale.LocaleService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.security.password.InvalidPasswordException;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+import org.gridsphere.services.core.utils.DateUtil;
+
+import javax.portlet.*;
+import java.io.File;
+import java.text.DateFormat;
+import java.util.*;
+
+public class ProfileManagerPortlet extends ActionPortlet {
+
+    public static String USER_PROFILE_PUBLIC = "user.publicprofile";
+
+    // JSP pages used by this portlet
+    public static final String VIEW_USER_JSP = "profile/viewuser.jsp";
+    public static final String CONFIGURE_JSP = "profile/configure.jsp";
+    public static final String HELP_JSP = "profile/help.jsp";
+    public static final String EDIT_PASSWD_JSP = "profile/editpassword.jsp";
+
+    // Portlet services
+    private UserManagerService userManagerService = null;
+    private PasswordManagerService passwordManagerService = null;
+    private RoleManagerService roleManagerService = null;
+    private LocaleService localeService = null;
+    private PortalConfigService portalConfigService = null;
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        this.userManagerService = (UserManagerService) createPortletService(UserManagerService.class);
+        this.roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);
+        this.passwordManagerService = (PasswordManagerService) createPortletService(PasswordManagerService.class);
+        this.localeService = (LocaleService) createPortletService(LocaleService.class);
+        this.portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);
+        DEFAULT_VIEW_PAGE = "doViewUser";
+        DEFAULT_HELP_PAGE = HELP_JSP;
+        DEFAULT_CONFIGURE_PAGE = "doConfigureSettings";
+    }
+
+
+    public void doViewUser(RenderFormEvent event) {
+        PortletRequest req = event.getRenderRequest();
+        setUserTable(event, req);
+
+        if (portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS).equals(Boolean.TRUE.toString())) {
+            req.setAttribute("savePass", "true");
+        }
+
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+
+        String email = user.getEmailAddress();
+        TextFieldBean emailTF = event.getTextFieldBean("emailTF");
+        emailTF.setValue(email);
+
+        CheckBoxBean privacyCB = event.getCheckBoxBean("privacyCB");
+        if ((user.getAttribute(USER_PROFILE_PUBLIC) != null) && (user.getAttribute(USER_PROFILE_PUBLIC).equals("true"))) {
+            privacyCB.setSelected(true);
+        } else {
+            privacyCB.setSelected(false);
+        }
+
+        ListBoxBean themeLB = event.getListBoxBean("themeLB");
+        String[] themes = new String[]{};
+
+        String theme = (String) user.getAttribute(User.THEME);
+        String renderkit = (String) req.getPortletSession().getAttribute(SportletProperties.LAYOUT_RENDERKIT, PortletSession.APPLICATION_SCOPE);
+        themeLB.clear();
+
+        String themesPath = getPortletContext().getRealPath("themes");
+        /// retrieve the current renderkit
+        themesPath += File.separator + renderkit;
+
+        File f = new File(themesPath);
+        if (f.isDirectory()) {
+            themes = f.list();
+        }
+
+        for (int i = 0; i < themes.length; i++) {
+            ListBoxItemBean lb = new ListBoxItemBean();
+            lb.setValue(themes[i].trim());
+            if (themes[i].trim().equalsIgnoreCase(theme)) lb.setSelected(true);
+            themeLB.addBean(lb);
+        }
+        setNextState(req, VIEW_USER_JSP);
+    }
+
+    public void doEditPassword(ActionFormEvent event) {
+        ActionRequest req = event.getActionRequest();
+        setNextState(req, EDIT_PASSWD_JSP);
+    }
+
+    public void saveTheme(ActionFormEvent event) {
+        PortletRequest req = event.getActionRequest();
+        ListBoxBean themeLB = event.getListBoxBean("themeLB");
+        String theme = themeLB.getSelectedValue();
+
+        String loginName = req.getRemoteUser();
+
+        User user = userManagerService.getUserByUserName(loginName);
+        if (user != null) {
+            user.setAttribute(User.THEME, theme);
+            userManagerService.saveUser(user);
+            req.getPortletSession().setAttribute(SportletProperties.LAYOUT_THEME, theme, PortletSession.APPLICATION_SCOPE);
+        }
+    }
+
+    public void setUserTable(FormEvent event, PortletRequest req) {
+
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+        //String uid = (String) req.getPortletSession().getAttribute(SportletProperties.PORTLET_USER, PortletSession.APPLICATION_SCOPE);
+        //User user = userManagerService.getUser(uid);
+
+        //String logintime = DateFormat.getDateTimeInstance().format(new Date(user.getLastLoginTime()));
+        req.setAttribute("logintime", DateUtil.getLocalizedDate(user,
+                req.getLocale(),
+                user.getLastLoginTime(), DateFormat.FULL, DateFormat.FULL));
+        req.setAttribute("username", user.getUserName());
+
+        if (req.isUserInRole(PortletRole.ADMIN.getName())) {
+            TextFieldBean userName = event.getTextFieldBean("userNameTF");
+            userName.setValue(user.getUserName());
+        } else {
+            TextBean userName = event.getTextBean("userName");
+            userName.setValue(user.getUserName());
+        }
+        //userName.setDisabled(disable);
+
+        TextFieldBean firstName = event.getTextFieldBean("firstName");
+        firstName.setValue(user.getFirstName());
+
+
+        TextFieldBean lastName = event.getTextFieldBean("lastName");
+        lastName.setValue(user.getLastName());
+
+        TextFieldBean organization = event.getTextFieldBean("organization");
+        organization.setValue(user.getOrganization());
+
+        TextBean userRolesTB = event.getTextBean("userRoles");
+        List userRoles = roleManagerService.getRolesForUser(user);
+        Iterator it = userRoles.iterator();
+        String userRole = "";
+        while (it.hasNext()) {
+            userRole += ((PortletRole) it.next()).getName() + ", ";
+        }
+        if (userRole.length() > 2) {
+            userRolesTB.setValue(userRole.substring(0, userRole.length() - 2));
+        } else {
+            userRolesTB.setValue(this.getLocalizedText(req, "ROLES_HASNOROLES"));
+        }
+
+        Locale locale = req.getLocale();
+
+        req.setAttribute("locale", locale);
+
+        ListBoxBean localeSelector = event.getListBoxBean("userlocale");
+        localeSelector.clear();
+        localeSelector.setSize(1);
+
+        Locale[] locales = localeService.getSupportedLocales();
+
+        for (int i = 0; i < locales.length; i++) {
+            Locale displayLocale = locales[i];
+            ListBoxItemBean localeBean = makeLocaleBean(displayLocale.getDisplayLanguage(displayLocale), displayLocale.getLanguage(), locale);
+            localeSelector.addBean(localeBean);
+        }
+
+        ListBoxBean timezoneList = event.getListBoxBean("timezones");
+        Map zones = DateUtil.getLocalizedTimeZoneNames();
+        Set keys = zones.keySet();
+        Iterator it2 = keys.iterator();
+        String userTimeZone = (String) user.getAttribute(User.TIMEZONE);
+        if (userTimeZone == null) {
+            userTimeZone = TimeZone.getDefault().getID();
+        }
+
+        while (it2.hasNext()) {
+            String zone = (String) it2.next();
+            ListBoxItemBean item = new ListBoxItemBean();
+            item.setValue((String) zones.get(zone));
+            item.setName(zone);
+            if (userTimeZone.equals(zone)) {
+                item.setSelected(true);
+            }
+            timezoneList.addBean(item);
+        }
+        timezoneList.setSize(1);
+        timezoneList.sortByValue();
+        timezoneList.setMultipleSelection(false);
+    }
+
+    public void doSavePass(ActionFormEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+
+        String origPasswd = event.getPasswordBean("origPassword").getValue();
+        String passwordValue = event.getPasswordBean("password").getValue();
+        String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();
+
+        if (origPasswd.equals("") && passwordValue.equals("") && confirmPasswordValue.equals("")) return;
+
+        try {
+            passwordManagerService.validateSuppliedPassword(user, origPasswd);
+        } catch (InvalidPasswordException e) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_INVALID"));
+            return;
+        }
+
+        if (passwordValue == null) {
+            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_NOTSET"));
+        } else
+            // Otherwise, password must match confirmation
+            if (!passwordValue.equals(confirmPasswordValue)) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_MISMATCH"));
+                // If they do match, then validate password with our service
+            } else if (passwordValue.length() == 0) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));
+            } else if (passwordValue.length() < 5) {
+                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));
+            } else {
+                // save password
+                PasswordEditor editPasswd = passwordManagerService.editPassword(user);
+                editPasswd.setValue(passwordValue);
+                editPasswd.setDateLastModified(Calendar.getInstance().getTime());
+                passwordManagerService.savePassword(editPasswd);
+                createSuccessMessage(event, this.getLocalizedText(req, "USER_PASSWORD_SUCCESS"));
+            }
+    }
+
+
+    public void doSaveUser(ActionFormEvent event) {
+
+        PortletRequest req = event.getActionRequest();
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+
+        // validate user entries to create an account request
+        User acctReq = validateUser(event);
+        if (acctReq != null) {
+            log.debug("approve account request for user: " + user.getID());
+            userManagerService.saveUser(acctReq);
+            String uid = (String) req.getPortletSession().getAttribute(SportletProperties.PORTLET_USER, PortletSession.APPLICATION_SCOPE);
+            user = userManagerService.getUser(uid);
+            req.setAttribute(SportletProperties.PORTLET_USER, user);
+            createSuccessMessage(event, this.getLocalizedText(req, "USER_UPDATE_SUCCESS"));
+        }
+    }
+
+
+    private User validateUser(ActionFormEvent event) {
+        log.debug("Entering validateUser()");
+        PortletRequest req = event.getActionRequest();
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+
+        StringBuffer message = new StringBuffer();
+        boolean isInvalid = false;
+
+        // get timezone
+        String timeZone = event.getListBoxBean("timezones").getSelectedValue();
+
+        // get timezone
+        String locale = event.getListBoxBean("userlocale").getSelectedValue();
+
+        // Validate user name
+        String userName = "";
+        if (req.isUserInRole(PortletRole.ADMIN.getName())) {
+            userName = event.getTextFieldBean("userNameTF").getValue();
+            if (userName.equals("")) {
+                message.append(this.getLocalizedText(req, "USER_NAME_BLANK")).append("<br />");
+                isInvalid = true;
+            }
+        }
+
+        // Validate first name
+        String firstName = event.getTextFieldBean("firstName").getValue();
+        if (firstName.equals("")) {
+            message.append(this.getLocalizedText(req, "USER_GIVENNAME_BLANK")).append("<br />");
+            isInvalid = true;
+        }
+        // Validate last name
+        String lastName = event.getTextFieldBean("lastName").getValue();
+        if (lastName.equals("")) {
+            message.append(this.getLocalizedText(req, "USER_FAMILYNAME_BLANK")).append("<br />");
+            isInvalid = true;
+        }
+
+        String organization = event.getTextFieldBean("organization").getValue();
+
+        // Validate e-mail
+        String eMail = event.getTextFieldBean("emailTF").getValue();
+        if (eMail.equals("")) {
+            message.append(this.getLocalizedText(req, "USER_NEED_EMAIL")).append("<br />");
+            isInvalid = true;
+        } else if ((eMail.indexOf("@") < 0)) {
+            message.append(this.getLocalizedText(req, "USER_NEED_EMAIL")).append("<br />");
+            isInvalid = true;
+        } else if ((eMail.indexOf(".") < 0)) {
+            message.append(this.getLocalizedText(req, "USER_NEED_EMAIL")).append("<br />");
+            isInvalid = true;
+        }
+
+        // Throw exception if error was found
+        if (isInvalid) {
+            createErrorMessage(event, message.toString());
+            return null;
+        }
+
+        log.debug("creating account request for user: " + user.getID());
+        user.setEmailAddress(eMail);
+        if (!userName.equals("")) user.setUserName(userName);
+
+        user.setFirstName(firstName);
+        user.setLastName(lastName);
+        user.setFullName(lastName + ", " + firstName);
+        if (locale != null) {
+            Locale loc = new Locale(locale, "", "");
+            user.setAttribute(User.LOCALE, locale);
+            req.getPortletSession(true).setAttribute(User.LOCALE, loc, PortletSession.APPLICATION_SCOPE);
+        }
+
+        if (timeZone != null) user.setAttribute(User.TIMEZONE, timeZone);
+        if (organization != null) user.setOrganization(organization);
+
+        log.debug("Exiting validateUser()");
+        return user;
+    }
+
+/*    public void savePrivacy(ActionFormEvent event) {
+        CheckBoxBean privacyCB = event.getCheckBoxBean("privacyCB");
+        ActionRequest req = event.getActionRequest();
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+        if (privacyCB.isSelected()) {
+            user.setAttribute(USER_PROFILE_PUBLIC, "true");
+        } else {
+            user.setAttribute(USER_PROFILE_PUBLIC, "false");
+        }
+        userManagerService.saveUser(user);
+    }  */
+
+    private ListBoxItemBean makeLocaleBean(String language, String name, Locale locale) {
+        ListBoxItemBean bean = new ListBoxItemBean();
+        String display;
+        display = language.substring(0, 1).toUpperCase() + language.substring(1);
+
+        bean.setValue(display);
+        bean.setName(name);
+
+        if (locale.getLanguage().equals(name)) {
+            bean.setSelected(true);
+        }
+        return bean;
+    }
+
+    public void doCancel(ActionFormEvent event) {
+        ActionRequest req = event.getActionRequest();
+        setNextState(req, DEFAULT_VIEW_PAGE);
+    }
+
+    public void doSaveAll(ActionFormEvent event) {
+        doSaveUser(event);
+        //doSavePass(event);
+        saveTheme(event);
+//        savePrivacy(event);
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/ActionFormEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/ActionFormEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/ActionFormEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionFormEvent.java 4687 2006-03-29 06:12:09Z novotny $
+ */
+package org.gridsphere.provider.event.jsr;
+
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+
+/**
+ * An <code>ActionFormEvent</code> is sent by the portlet container when an HTTP request is received that is
+ * associated with an action.
+ */
+public interface ActionFormEvent extends FormEvent {
+
+    /**
+     * Returns the event action
+     *
+     * @return the portlet action
+     */
+    public DefaultPortletAction getAction();
+
+    /**
+     * Return the action request associated with this action event
+     *
+     * @return the <code>PortletRequest</code>
+     */
+    public ActionRequest getActionRequest();
+
+    /**
+     * Return the action response associated with this action event
+     *
+     * @return the <code>PortletResponse</code>
+     */
+    public ActionResponse getActionResponse();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/FormEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/FormEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/FormEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,231 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: FormEvent.java 4709 2006-03-31 20:41:54Z novotny $
+ */
+package org.gridsphere.provider.event.jsr;
+
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.persistence.QueryFilter;
+
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * The <code>FormEvent</code> provides a decorator around a <code>ActionEvent</code> and is used in the GridSphere
+ * <code>ActionPortlet</code> model to create and store visual beans representing user interfaces.
+ */
+public interface FormEvent {
+
+    /**
+     * Return an existing <code>ActionLinkBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ActionLinkBean
+     */
+    public ActionLinkBean getActionLinkBean(String beanId);
+
+    /**
+     * Return an existing <code>ParamBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ParamBean
+     */
+    public ParamBean getParamBean(String beanId);
+
+    /**
+     * Return an existing <code>ActionSubmitBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ActionSubmitBean
+     */
+    public ActionSubmitBean getActionSubmitBean(String beanId);
+
+    /**
+     * Return an existing <code>FrameBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a FrameBean
+     */
+    public FrameBean getFrameBean(String beanId);
+
+    /**
+     * Return an existing <code>FileInputBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a FileInputBean
+     * @throws IOException if an I/O error occurs
+     */
+    public FileInputBean getFileInputBean(String beanId) throws IOException;
+
+    /**
+     * Return an existing <code>CalendarBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a CalendarBean
+     */
+    public CalendarBean getCalendarBean(String beanId);
+
+    /**
+     * Return an existing <code>CheckBoxBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a CheckBoxBean
+     */
+    public CheckBoxBean getCheckBoxBean(String beanId);
+
+    /**
+     * Return an existing <code>RadioButtonBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a RadioButtonBean
+     */
+    public RadioButtonBean getRadioButtonBean(String beanId);
+
+    /**
+     * Return an existing <code>TextFieldBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextFieldBean
+     */
+    public TextFieldBean getTextFieldBean(String beanId);
+
+    /**
+     * Return an existing <code>TextEditorBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextEditorBean
+     */
+    public TextEditorBean getTextEditorBean(String beanId);
+
+
+    /**
+     * Return an existing <code>RichTextEditroBean</code> or cerate a new one.
+     *
+     * @param beanId the bean identifier
+     * @return a RichTextEditorBean
+     */
+    public RichTextEditorBean getRichTextEditorBean(String beanId);
+
+    /**
+     * Return an existing <code>TreeBean</code> or create a new one.
+     *
+     * @param beanId bendId of the bean Idetifier
+     * @return a TreeBean
+     */
+    public TreeBean getTreeBean(String beanId);
+
+    /**
+     * Return an existing <code>HiddenFieldBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a HiddenFieldBean
+     */
+    public HiddenFieldBean getHiddenFieldBean(String beanId);
+
+    /**
+     * Return an existing <code>PasswordBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a PasswordBean
+     */
+    public PasswordBean getPasswordBean(String beanId);
+
+    /**
+     * Return an existing <code>TextAreaBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextAreaBean
+     */
+    public TextAreaBean getTextAreaBean(String beanId);
+
+    /**
+     * Return an existing <code>TextBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextBean
+     */
+    public TextBean getTextBean(String beanId);
+
+    /**
+     * Return an existing <code>ImageBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ImageBean
+     */
+    public ImageBean getImageBean(String beanId);
+
+    /**
+     * Return an existing <code>ListBoxBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ListBoxBean
+     */
+    public ListBoxBean getListBoxBean(String beanId);
+
+    /**
+     * Return an existing <code>PanelBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a PanelBean
+     */
+    public PanelBean getPanelBean(String beanId);
+
+    /**
+     * Return an existing <code>TableCellBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableCellBean
+     */
+    public TableCellBean getTableCellBean(String beanId);
+
+    /**
+     * Return an existing <code>TableRowBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableRowBean
+     */
+    public TableRowBean getTableRowBean(String beanId);
+
+    /**
+     * Return an existing <code>TableBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableBean
+     */
+    public TableBean getTableBean(String beanId);
+
+    /**
+     * Returns the collection of visual tag beans contained by this form event
+     *
+     * @return the collection of visual tag beans
+     */
+    public Map getTagBeans();
+
+    public ActionMenuBean getActionMenuBean(String beanId);
+
+    public ActionMenuItemBean getActionMenuItemBean(String beanId);
+
+    /**
+     * Return an existing <code>IncludeBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return an include bean
+     */
+    public IncludeBean getIncludeBean(String beanId);
+
+    /**
+     * Return an existing <code>MessageBoxBean</code> or create a new one
+     *
+     * @param beanId bean identifier
+     * @return a mesage box bean
+     */
+    public MessageBoxBean getMessageBoxBean(String beanId);
+
+    public QueryFilter getQueryFilter(int maxResults, int totalItems);
+
+    /**
+     * Stores any created beans into the request
+     */
+    public void store();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/RenderFormEvent.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/RenderFormEvent.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/RenderFormEvent.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RenderFormEvent.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.event.jsr;
+
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+/**
+ * A <code>RenderFormEvent</code> is sent by the portlet container when an HTTP request is
+ * received that is associated with an render event
+ */
+public interface RenderFormEvent extends FormEvent {
+
+    /**
+     * Returns the render event
+     *
+     * @return the render event
+     */
+    public DefaultPortletRender getRender();
+
+    /**
+     * Return the render request associated with this render event
+     *
+     * @return the <code>RenderRequest</code>
+     */
+    public RenderRequest getRenderRequest();
+
+    /**
+     * Return the render response associated with this render event
+     *
+     * @return the <code>RenderResponse</code>
+     */
+    public RenderResponse getRenderResponse();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/ActionFormEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionFormEventImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.event.jsr.impl;
+
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import java.util.HashMap;
+
+/**
+ * An <code>ActionFormEvent</code> is sent by the portlet container when an HTTP request is
+ * received that is associated with an action.
+ */
+public class ActionFormEventImpl extends BaseFormEventImpl implements ActionFormEvent {
+
+    private DefaultPortletAction action;
+
+    /**
+     * Constructs an instance of ActionEventImpl given an action, request and response
+     *
+     * @param action   a <code>DefaultPortletAction</code>
+     * @param request  the <code>PortletRequest</code>
+     * @param response the <code>PortletResponse</code>
+     */
+    public ActionFormEventImpl(DefaultPortletAction action, ActionRequest request, ActionResponse response) {
+        super(request, response);
+        this.action = action;
+        // Unless tagBeans is null, don't recreate them
+        if (tagBeans == null) {
+            tagBeans = new HashMap<String, TagBean>();
+            createTagBeans();
+        }
+        //logRequestParameters();
+        //logTagBeans();
+    }
+
+    /**
+     * Returns the event action
+     *
+     * @return the portlet action
+     */
+    public DefaultPortletAction getAction() {
+        return action;
+    }
+
+    /**
+     * Return the action request associated with this action event
+     *
+     * @return the <code>PortletRequest</code>
+     */
+    public ActionRequest getActionRequest() {
+        return (ActionRequest) portletRequest;
+    }
+
+    /**
+     * Return the action response associated with this action event
+     *
+     * @return the <code>PortletResponse</code>
+     */
+    public ActionResponse getActionResponse() {
+        return (ActionResponse) portletResponse;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/BaseFormEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,923 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ *
+ * @version $Id: BaseFormEventImpl.java 4709 2006-03-31 20:41:54Z novotny $
+ */
+package org.gridsphere.provider.event.jsr.impl;
+
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.FileUpload;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.commons.fileupload.servlet.ServletRequestContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.*;
+import org.gridsphere.services.core.persistence.QueryFilter;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * The <code>FormEventImpl</code> provides methods for creating/retrieving visual beans
+ * from the <code>PortletRequest</code>
+ */
+public abstract class BaseFormEventImpl {
+
+    protected transient static Log log = LogFactory.getLog(BaseFormEventImpl.class);
+
+    protected PortletRequest portletRequest;
+    protected PortletResponse portletResponse;
+    protected Locale locale = null;
+
+    protected Map<String, TagBean> tagBeans = null;
+    protected List<FileItem> fileItems = null;
+
+    protected String cid = null;
+    protected String compId = null;
+
+    protected BaseFormEventImpl() {
+
+    }
+
+    public BaseFormEventImpl(PortletRequest request, PortletResponse response) {
+        this.portletRequest = request;
+        this.portletResponse = response;
+        locale = (Locale) portletRequest.getPortletSession(true).getAttribute(SportletProperties.LOCALE);
+        if (locale == null) locale = portletRequest.getLocale();
+        if (locale == null) locale = Locale.ENGLISH;
+        cid = (String) portletRequest.getAttribute(SportletProperties.COMPONENT_ID);
+        compId = (String) portletRequest.getAttribute(SportletProperties.GP_COMPONENT_ID);
+    }
+
+    public PortletRequest getRequest() {
+        return portletRequest;
+    }
+
+    protected void configureBean(TagBean tagBean) {
+        tagBean.setLocale(locale);
+        if (cid != null) tagBean.addParam(SportletProperties.COMPONENT_ID, cid);
+        if (compId != null) tagBean.addParam(SportletProperties.GP_COMPONENT_ID, compId);
+    }
+
+    /**
+     * Return an existing <code>ActionLinkBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ActionLinkBean
+     */
+    public ActionLinkBean getActionLinkBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ActionLinkBean) tagBeans.get(beanKey);
+        }
+        ActionLinkBean al = new ActionLinkBean(beanId);
+        configureBean(al);
+        tagBeans.put(beanKey, al);
+        return al;
+    }
+
+    /**
+     * Return an existing <code>ParamBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ParamBean
+     */
+    public ParamBean getParamBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ParamBean) tagBeans.get(beanKey);
+        }
+        ParamBean ap = new ParamBean(beanId);
+        configureBean(ap);
+        tagBeans.put(beanKey, ap);
+        return ap;
+    }
+
+    /**
+     * Return an existing <code>ActionSubmitBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ActionSubmitBean
+     */
+    public ActionSubmitBean getActionSubmitBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ActionSubmitBean) tagBeans.get(beanKey);
+        }
+        ActionSubmitBean as = new ActionSubmitBean(beanId);
+        configureBean(as);
+        tagBeans.put(beanKey, as);
+        return as;
+    }
+
+    /**
+     * Return an existing <code>CheckBoxBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a CheckBoxBean
+     */
+    public CheckBoxBean getCheckBoxBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (CheckBoxBean) tagBeans.get(beanKey);
+        }
+        CheckBoxBean cb = new CheckBoxBean(beanId);
+        configureBean(cb);
+        tagBeans.put(beanKey, cb);
+        return cb;
+    }
+
+    /**
+     * Return an existing <code>CalendarBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a CalendarBean
+     */
+    public CalendarBean getCalendarBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (CalendarBean) tagBeans.get(beanKey);
+        }
+        CalendarBean ca = new CalendarBean(beanId);
+        configureBean(ca);
+        tagBeans.put(beanKey, ca);
+        return ca;
+    }
+
+    /**
+     * Return an existing <code>RadioButtonBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a RadioButtonBean
+     */
+    public RadioButtonBean getRadioButtonBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (RadioButtonBean) tagBeans.get(beanKey);
+        }
+        RadioButtonBean rb = new RadioButtonBean(beanId);
+        configureBean(rb);
+        tagBeans.put(beanKey, rb);
+        return rb;
+    }
+
+    /**
+     * Return an existing <code>PanelBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a PanelBean
+     */
+    public PanelBean getPanelBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (PanelBean) tagBeans.get(beanKey);
+        }
+        PanelBean pb = new PanelBean(beanId);
+        configureBean(pb);
+        tagBeans.put(beanKey, pb);
+        return pb;
+    }
+
+    /**
+     * Return an existing <code>TextFieldBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextFieldBean
+     */
+    public TextFieldBean getTextFieldBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        //log.debug("Checking for textfieldbean with bean key=" + beanKey);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TextFieldBean) tagBeans.get(beanKey);
+        }
+        TextFieldBean tf = new TextFieldBean(beanId);
+        configureBean(tf);
+        tagBeans.put(beanKey, tf);
+        return tf;
+    }
+
+    /**
+     * Return an existing <code>TextEditorBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextEditorBean
+     */
+    public TextEditorBean getTextEditorBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        //log.debug("Checking for texteditorbean with bean key=" + beanKey);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TextEditorBean) tagBeans.get(beanKey);
+        }
+        TextEditorBean te = new TextEditorBean(beanId);
+        configureBean(te);
+        tagBeans.put(beanKey, te);
+        return te;
+    }
+
+    /**
+     * Return an existing <code>RichTextEditorBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a RichTextEditorBean
+     */
+    public RichTextEditorBean getRichTextEditorBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (RichTextEditorBean) tagBeans.get(beanKey);
+        }
+        RichTextEditorBean rt = new RichTextEditorBean(beanId);
+        configureBean(rt);
+        tagBeans.put(beanKey, rt);
+        return rt;
+    }
+
+    /**
+     * Return an existing <code>TreeBean</code> or create a new one.
+     *
+     * @param beanId bendId of the bean Idetifier
+     * @return a TreeBean
+     */
+    public TreeBean getTreeBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TreeBean) tagBeans.get(beanKey);
+        }
+        TreeBean tr = new TreeBean(beanId);
+        configureBean(tr);
+        tagBeans.put(beanKey, tr);
+        return tr;
+
+    }
+
+    /**
+     * Return an existing <code>HiddenFieldBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a HiddenFieldBean
+     */
+    public HiddenFieldBean getHiddenFieldBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (HiddenFieldBean) tagBeans.get(beanKey);
+        }
+        HiddenFieldBean hf = new HiddenFieldBean(beanId);
+        configureBean(hf);
+        tagBeans.put(beanKey, hf);
+        return hf;
+    }
+
+    /**
+     * Return an existing <code>FileInputBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a FileInputBean
+     * @throws IOException if an error occurs
+     */
+    public FileInputBean getFileInputBean(String beanId) throws IOException {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (FileInputBean) tagBeans.get(beanKey);
+        }
+        FileInputBean fi = new FileInputBean(beanId);
+        configureBean(fi);
+        tagBeans.put(beanKey, fi);
+        return fi;
+    }
+
+    /**
+     * Return an existing <code>PasswordBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a PasswordBean
+     */
+    public PasswordBean getPasswordBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (PasswordBean) tagBeans.get(beanKey);
+        }
+        PasswordBean pb = new PasswordBean(beanId);
+        configureBean(pb);
+        tagBeans.put(beanKey, pb);
+        return pb;
+    }
+
+    /**
+     * Return an existing <code>TextAreaBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextAreaBean
+     */
+    public TextAreaBean getTextAreaBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TextAreaBean) tagBeans.get(beanKey);
+        }
+        TextAreaBean ta = new TextAreaBean(beanId);
+        configureBean(ta);
+        tagBeans.put(beanKey, ta);
+        return ta;
+    }
+
+    /**
+     * Return an existing <code>FrameBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a FrameBean
+     */
+    public FrameBean getFrameBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (FrameBean) tagBeans.get(beanKey);
+        }
+        FrameBean fb = new FrameBean(beanId);
+        configureBean(fb);
+        //System.err.println("Creating new frame bean" + beanId + " bean key= " + beanKey);
+        tagBeans.put(beanKey, fb);
+        return fb;
+    }
+
+    /**
+     * Return an existing <code>TextBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TextBean
+     */
+    public TextBean getTextBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        //log.debug("Checking for textbean with bean key=" + beanKey);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TextBean) tagBeans.get(beanKey);
+        }
+        TextBean tb = new TextBean(beanId);
+        configureBean(tb);
+        tagBeans.put(beanKey, tb);
+        return tb;
+    }
+
+    /**
+     * Return an existing <code>ImageBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ImageBean
+     */
+    public ImageBean getImageBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ImageBean) tagBeans.get(beanKey);
+        }
+        ImageBean ib = new ImageBean(beanId);
+        configureBean(ib);
+        tagBeans.put(beanKey, ib);
+        return ib;
+
+    }
+
+    /**
+     * Return an existing <code>IncludeBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a IncludeBean
+     */
+    public IncludeBean getIncludeBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (IncludeBean) tagBeans.get(beanKey);
+        }
+        IncludeBean includeBean = new IncludeBean(beanId);
+        configureBean(includeBean);
+        tagBeans.put(beanKey, includeBean);
+        return includeBean;
+    }
+
+
+    /**
+     * Return an existing <code>ActionComponentBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a IncludeBean
+     */
+    public ActionComponentBean getActionComponentBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ActionComponentBean) tagBeans.get(beanKey);
+        }
+        ActionComponentBean bean = new ActionComponentBean(beanId);
+        configureBean(bean);
+        tagBeans.put(beanKey, bean);
+        return bean;
+    }
+
+    /**
+     * Return an existing <code>TableBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableBean
+     */
+    public TableBean getTableBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TableBean) tagBeans.get(beanKey);
+        }
+        TableBean tb = new TableBean(beanId);
+        configureBean(tb);
+        tagBeans.put(beanKey, tb);
+        return tb;
+    }
+
+    /**
+     * Return an existing <code>TableRowBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableRowBean
+     */
+    public TableRowBean getTableRowBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TableRowBean) tagBeans.get(beanKey);
+        }
+        TableRowBean tr = new TableRowBean(beanId);
+        configureBean(tr);
+        tagBeans.put(beanKey, tr);
+        return tr;
+    }
+
+    /**
+     * Return an existing <code>TableCellBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a TableCellBean
+     */
+    public TableCellBean getTableCellBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (TableCellBean) tagBeans.get(beanKey);
+        }
+        TableCellBean tc = new TableCellBean(beanId);
+        configureBean(tc);
+        tagBeans.put(beanKey, tc);
+        return tc;
+    }
+
+    /**
+     * Return an existing <code>ListBoxBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ListBoxBean
+     */
+    public ListBoxBean getListBoxBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ListBoxBean) tagBeans.get(beanKey);
+        }
+        ListBoxBean lb = new ListBoxBean(beanId);
+        configureBean(lb);
+        tagBeans.put(beanKey, lb);
+        return lb;
+    }
+
+    /**
+     * Return an existing <code>ListBoxItemBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a ListBoxItemBean
+     */
+    public ListBoxItemBean getListBoxItemBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ListBoxItemBean) tagBeans.get(beanKey);
+        }
+        ListBoxItemBean lb = new ListBoxItemBean(beanId);
+        configureBean(lb);
+        tagBeans.put(beanKey, lb);
+        return lb;
+    }
+
+    /**
+     * Return an existing <code>MessageBoxBean</code> or create a new one
+     *
+     * @param beanId the bean identifier
+     * @return a IncludeBean
+     */
+    public MessageBoxBean getMessageBoxBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (MessageBoxBean) tagBeans.get(beanKey);
+        }
+        MessageBoxBean messageBoxBean = new MessageBoxBean(beanId);
+        configureBean(messageBoxBean);
+        tagBeans.put(beanKey, messageBoxBean);
+        return messageBoxBean;
+    }
+
+    /**
+     * Prints the request parameters to stdout. Generally used for debugging
+     */
+    public void logRequestParameters() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\n\n show request params\n--------------------\n");
+
+        Enumeration e = null;
+        if (portletRequest != null) {
+            e = portletRequest.getParameterNames();
+        }
+        if (e != null) {
+            while (e.hasMoreElements()) {
+                String name = (String) e.nextElement();
+                sb.append("\t\tname :").append(name);
+                String values[] = null;
+                if (portletRequest != null) {
+                    values = portletRequest.getParameterValues(name);
+                }
+                if (values != null) {
+                    if (values.length == 1) {
+                        String pval = values[0];
+                        if (!name.startsWith("ui_pb")) {
+                            sb.append("\t\t value : ").append(pval);
+                        }
+                    } else {
+                        sb.append("\t\t value :");
+                        for (int i = 0; i < values.length; i++) {
+                            sb.append("\t\t  - ").append(values[i]);
+                        }
+                    }
+                }
+            }
+        }
+        sb.append("--------------------\n");
+        log.debug(sb.toString());
+    }
+
+    /**
+     * Prints the request attributes to stdout. Generally used for debugging
+     */
+    public void logRequestAttributes() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\n\n show request attributes\n--------------------\n");
+        Enumeration e = null;
+        if (portletRequest != null) {
+            e = portletRequest.getAttributeNames();
+        }
+        if (e != null) {
+            while (e.hasMoreElements()) {
+                String name = (String) e.nextElement();
+                sb.append("name :").append(name);
+            }
+        }
+        sb.append("--------------------\n");
+        log.debug(sb.toString());
+    }
+
+    /**
+     * Parses all request parameters for visual beans.
+     * A visual bean parameter has the following encoding:
+     * ui_<visual bean element>_<bean Id>_name
+     * where <visual bean element> is a two letter encoding of the kind of
+     * visual bean that it is.
+     */
+    protected void createTagBeans() {
+        if (tagBeans == null) tagBeans = new HashMap<String, TagBean>();
+        Map<String, String[]> paramsMap;
+        // check for file upload
+        paramsMap = parseFileUpload();
+        Enumeration e = portletRequest.getParameterNames();
+        if (e != null) {
+            while (e.hasMoreElements()) {
+                String uiname = (String) e.nextElement();
+                String[] vals = null;
+                vals = portletRequest.getParameterValues(uiname);
+                paramsMap.put(uiname, vals);
+            }
+        }
+        for (String s : paramsMap.keySet()) {
+
+            String uiname = (String) s;
+            String vb = "";
+            String name;
+            String beanId = "";
+
+            if (!uiname.startsWith("ui")) continue;
+            //log.debug("found a tag bean: " + uiname);
+
+            String vbname = uiname.substring(3);
+
+
+            int idx = vbname.indexOf("_");
+
+            if (idx > 0) {
+                vb = vbname.substring(0, idx);
+            }
+
+            vbname = vbname.substring(idx + 1);
+            idx = vbname.lastIndexOf("_");
+
+            String beanKey;
+
+            if (idx > 0) {
+                beanId = vbname.substring(0, idx);
+                //log.debug("Parsing beanId...");
+                int index = beanId.lastIndexOf("%");
+                if (index > -1 && index != beanId.length()) {
+                    beanKey = beanId;
+                    beanId = beanId.substring(index + 1);
+                } else {
+                    beanKey = getBeanKey(beanId);
+                }
+                //log.debug("beanId = " + beanId);
+                //log.debug("beankey = " + beanKey);
+            } else {
+                beanKey = getBeanKey(beanId);
+
+            }
+
+            name = vbname.substring(idx + 1);
+            //log.debug("vbname: " + name);
+
+            String[] vals = (String[]) paramsMap.get(uiname);
+
+            //log.debug("Adding bean " + beanId + " with bean key " + beanKey);
+
+            if (vb.equals(TagBean.TEXTFIELD_NAME)) {
+                //log.debug("Creating a textfieldbean bean with id:" + beanId);
+                TextFieldBean bean = new TextFieldBean(beanId);
+                bean.setValue(vals[0]);
+                //log.debug("setting new value" + vals[0]);
+                bean.setName(name);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                configureBean(bean);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.FILEINPUT_NAME)) {
+                //logRequestAttributes();
+                //log.debug("Creating a fileinput bean with id:" + beanId);
+
+                FileInputBean bean;
+                FileItem fileItem = null;
+                // check whether the fileItems list contains a bean with this name
+                if (fileItems != null) {
+                    for (int i = 0; i < fileItems.size(); i++) {
+                        FileItem item = (FileItem) fileItems.get(i);
+                        // if the item is an inputfile item, and the name matches
+                        if (!item.isFormField() && item.getFieldName().equals(uiname)) {
+                            // then create a FileInputBean with this fileItem
+                            fileItem = item;
+                            break;
+                        }
+                    }
+                }
+                if (fileItem != null) {
+                    bean = new FileInputBean(beanId, fileItem);
+                } else {
+                    bean = new FileInputBean(beanId);
+                }
+                bean.setName(name);
+                configureBean(bean);
+                tagBeans.put(beanKey, bean);
+
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+            } else if (vb.equals(TagBean.CALENDAR_NAME)) {
+                //log.debug("Creating a calendarbean bean with id:" + beanId);
+                CalendarBean bean = new CalendarBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.CHECKBOX_NAME)) {
+                CheckBoxBean bean = (CheckBoxBean) tagBeans.get(beanKey);
+                if (bean == null) {
+                    //log.debug("Creating a checkbox bean with id:" + beanId);
+                    bean = new CheckBoxBean(beanId);
+                    bean.setValue(vals[0]);
+                    for (int i = 0; i < vals.length; i++) {
+                        String val = vals[i];
+                        bean.addSelectedValue(val);
+                    }
+                    bean.setName(name);
+                } else {
+                    bean.addSelectedValue(vals[0]);
+                }
+                bean.setSelected(true);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(ListBoxBean.NAME)) {
+                //log.debug("Creating a listbox bean with id:" + beanId);
+                ListBoxBean bean = new ListBoxBean(beanId);
+                bean.setName(name);
+                for (int i = 0; i < vals.length; i++) {
+                    ListBoxItemBean item = new ListBoxItemBean();
+                    item.setName(vals[i]);
+                    item.setValue(vals[i]);
+                    item.setSelected(true);
+                    //log.debug("adding an item bean: " + vals[i]);
+                    bean.addBean(item);
+                }
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                configureBean(bean);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.RADIOBUTTON_NAME)) {
+                RadioButtonBean bean = (RadioButtonBean) tagBeans.get(beanKey);
+                if (bean == null) {
+                    //log.debug("Creating a new radiobutton bean with id:" + beanId);
+                    bean = new RadioButtonBean(beanId);
+                    bean.setValue(vals[0]);
+                    bean.addSelectedValue(vals[0]);
+                    bean.setName(name);
+                } else {
+                    //log.debug("Using existing radiobutton bean with id:" + beanId);
+                    bean.addSelectedValue(vals[0]);
+                }
+                bean.setSelected(true);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.PASSWORD_NAME)) {
+                //log.debug("Creating a passwordbean bean with id:" + beanId);
+                PasswordBean bean = new PasswordBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.TEXTAREA_NAME)) {
+                //log.debug("Creating a textareabean bean with id:" + beanId);
+                TextAreaBean bean = new TextAreaBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.TEXTEDITOR_NAME)) {
+                //log.debug("Creating a textareabean bean with id:" + beanId);
+                TextEditorBean bean = new TextEditorBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+
+            } else if (vb.equals(TagBean.HIDDENFIELD_NAME)) {
+                //log.debug("Creating a hidden bean bean with id:" + beanId);
+                HiddenFieldBean bean = new HiddenFieldBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                //System.err.println("putting a bean: " + beanId + "into tagBeans with name: " + name);
+                tagBeans.put(beanKey, bean);
+            } else if (vb.equals(TagBean.RICHTEXTEDITOR_NAME)) {
+                RichTextEditorBean bean = new RichTextEditorBean(beanId);
+                bean.setValue(vals[0]);
+                bean.setName(name);
+                configureBean(bean);
+                tagBeans.put(beanKey, bean);
+            } else {
+                log.error("unable to find suitable bean type for : " + uiname);
+            }
+
+            /*
+            String values[] = request.getParameterValues(name);
+            if (values.length == 1) {
+                String pval = values[0];
+                if (pval.length() == 0) {
+                    pval = "no value";
+                }
+                System.out.println(" value : " + pval);
+            } else {
+                System.out.println(" value :");
+                for (int i = 0; i < values.length; i++) {
+                    System.out.println("            - " + values[i]);
+                }
+            }
+            */
+
+        }
+    }
+
+    protected Map<String, String[]> parseFileUpload() {
+        //log.debug("parseFileUpload");
+        Map<String, String[]> parameters = new Hashtable<String, String[]>();
+        if (portletRequest instanceof HttpServletRequest) {
+            HttpServletRequest hreq = (HttpServletRequest) portletRequest;
+            //logRequestParameters();
+            //logRequestAttributes();
+            ServletRequestContext ctx = new ServletRequestContext(hreq);
+            if (FileUpload.isMultipartContent(ctx)) {
+                FileItemFactory factory = new DiskFileItemFactory();
+                // Create a new file upload handler
+                ServletFileUpload upload = new ServletFileUpload(factory);
+                try {
+                    fileItems = upload.parseRequest(hreq);
+                } catch (Exception e) {
+                    log.error("Unable to parse multi part form!!!", e);
+                }
+                if (fileItems != null) {
+                    //log.debug("File items has size " + fileItems.size());
+                    for (int i = 0; i < fileItems.size(); i++) {
+                        FileItem item = (FileItem) fileItems.get(i);
+                        String[] tmpstr = new String[1];
+                        if (item.isFormField()) {
+                            tmpstr[0] = item.getString();
+                        } else {
+                            tmpstr[0] = "fileinput";
+                        }
+                        //log.debug("File item " + item.getFieldName() + "->" + tmpstr[0]);
+                        parameters.put(item.getFieldName(), tmpstr);
+                    }
+                }
+            }
+        }
+        return parameters;
+    }
+
+    /**
+     * Returns a bean key identifier using the component identifier
+     *
+     * @param beanId the bean identifier
+     * @return the bean key identifier
+     */
+    protected String getBeanKey(String beanId) {
+        String beanKey;
+        if (compId == null) {
+            beanKey = beanId + '_' + cid;
+        } else {
+            beanKey = compId + '%' + beanId + '_' + cid;
+        }
+        //log.debug("BaseFormEventImpl.getBeanKey(" + beanId + ") = " + beanKey);
+        return beanKey;
+    }
+
+    /**
+     * Returns the collection of visual tag beans contained by this form event
+     *
+     * @return the collection of visual tag beans
+     */
+    public Map getTagBeans() {
+        return tagBeans;
+    }
+
+    /**
+     * Stores any created beans into the request
+     */
+    public void store() {
+        Iterator it = tagBeans.keySet().iterator();
+        TagBean tagBean;
+        while (it.hasNext()) {
+            String beanKey = (String) it.next();
+            tagBean = (TagBean) tagBeans.get(beanKey);
+            //log.debug("storing bean in attribute: " + beanKey);
+            if (portletRequest != null) portletRequest.setAttribute(beanKey, tagBean);
+        }
+        //logRequestAttributes();
+    }
+
+    /**
+     * Logs all tag bean identifiers, primarily used for debugging
+     */
+    public void logTagBeans() {
+        //log.debug("in print tag beans:");
+        for (TagBean tagBean : tagBeans.values()) {
+            log.debug("tag bean id: " + tagBean.getBeanId());
+        }
+    }
+
+    public ActionMenuItemBean getActionMenuItemBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ActionMenuItemBean) tagBeans.get(beanKey);
+        }
+        ActionMenuItemBean ami = new ActionMenuItemBean(beanId);
+        configureBean(ami);
+        tagBeans.put(beanKey, ami);
+        return ami;
+    }
+
+    public ActionMenuBean getActionMenuBean(String beanId) {
+        String beanKey = getBeanKey(beanId);
+        if (tagBeans.containsKey(beanKey)) {
+            return (ActionMenuBean) tagBeans.get(beanKey);
+        }
+        ActionMenuBean am = new ActionMenuBean(beanId);
+        configureBean(am);
+        tagBeans.put(beanKey, am);
+        return am;
+    }
+
+    public QueryFilter getQueryFilter(int maxResults, int totalItems) {
+        if (portletRequest.getParameter(TableBean.SHOW_ALL) != null) return null;
+        int firstResult = 0;
+        QueryFilter queryFilter = new QueryFilter();
+        String curPage = portletRequest.getParameter(TableBean.CURRENT_PAGE);
+        if (curPage != null) {
+            firstResult = Integer.valueOf(curPage).intValue() * maxResults;
+        }
+        queryFilter.setFirstResult(firstResult);
+        queryFilter.setMaxResults(maxResults);
+        queryFilter.setTotalItems(totalItems);
+        return queryFilter;
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/jsr/impl/RenderFormEventImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RenderFormEventImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.event.jsr.impl;
+
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A <code>RenderFormEvent</code> is sent by the portlet container when an HTTP request is
+ * received that is associated with an render event
+ */
+public class RenderFormEventImpl extends BaseFormEventImpl implements RenderFormEvent {
+
+    private DefaultPortletRender render;
+
+    /**
+     * Constructs an instance of RenderFormEventImpl given a render request and response
+     *
+     * @param render   the <code>DefaultPortletRender</code>
+     * @param request  the <code>RenderRequest</code>
+     * @param response the <code>RenderResponse</code>
+     * @param tagBeans a collection of tag beans
+     */
+    public RenderFormEventImpl(DefaultPortletRender render, RenderRequest request, RenderResponse response, Map<String, TagBean> tagBeans) {
+        super(request, response);
+        this.render = render;
+        this.tagBeans = tagBeans;
+        // Unless tagBeans is null, don't recreate them
+        if (tagBeans == null) {
+            tagBeans = new HashMap<String, TagBean>();
+            createTagBeans();
+        }
+        //logRequestParameters();
+        //logTagBeans();
+    }
+
+    /**
+     * Return the render request associated with this render event
+     *
+     * @return the <code>RenderRequest</code>
+     */
+    public RenderRequest getRenderRequest() {
+        return (RenderRequest) portletRequest;
+    }
+
+    /**
+     * Return the render response associated with this render event
+     *
+     * @return the <code>RenderResponse</code>
+     */
+    public RenderResponse getRenderResponse() {
+        return (RenderResponse) portletResponse;
+    }
+
+    /**
+     * Returns the render event
+     *
+     * @return the render event
+     */
+    public DefaultPortletRender getRender() {
+        return render;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/event/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>UI Form Event API</b>
+<p>
+The {@link org.gridsphere.provider.event.FormEvent} decorates the
+{@link org.gridsphere.event.ActionEvent} by providing a forms-based library for accessing and
+creating "visual beans" that can be used by the GridSphere UI tag library to create more sophisticated
+presentation.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/ActionPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/ActionPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/ActionPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,740 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionPortlet.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.ActionRequestImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.event.jsr.impl.ActionFormEventImpl;
+import org.gridsphere.provider.event.jsr.impl.RenderFormEventImpl;
+import org.gridsphere.provider.portletui.beans.MessageBoxBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.portlet.*;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.*;
+
+/**
+ * An <code>ActionPortlet</code> provides an abstraction on top of
+ * <code>GenericPortlet</code> to develop portlets under the action provider model.
+ */
+public class ActionPortlet extends GenericPortlet {
+
+    public Log log = LogFactory.getLog(ActionPortlet.class);
+
+    // Default error page
+    protected String ERROR_PAGE = "doError";
+
+    // Default VIEW mode
+    protected String DEFAULT_VIEW_PAGE = "view.jsp";
+
+    // Default EDIT mode
+    protected String DEFAULT_EDIT_PAGE = "edit.jsp";
+
+    // Default HELP mode
+    protected String DEFAULT_HELP_PAGE = "help.jsp";
+
+    // Default CONFIGURE mode
+    protected String DEFAULT_CONFIGURE_PAGE = "configure.jsp";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+    }
+
+    protected void setFileDownloadEvent(PortletRequest req, String fileName, String path) {
+        setFileDownloadEvent(req, fileName, path, false);
+    }
+
+    protected void setFileDownloadEvent(PortletRequest req, String fileName, String path, boolean deleteFile) {
+        req.setAttribute(SportletProperties.FILE_DOWNLOAD_NAME, fileName);
+        req.setAttribute(SportletProperties.FILE_DOWNLOAD_PATH, path);
+        req.setAttribute(SportletProperties.FILE_DELETE, Boolean.valueOf(deleteFile));
+    }
+
+    protected void setFileDownloadEvent(PortletRequest req, File file) {
+        req.setAttribute(SportletProperties.FILE_DOWNLOAD_NAME, file.getName());
+        req.setAttribute(SportletProperties.FILE_DOWNLOAD_BINARY, file);
+    }
+
+    /**
+     * Sets the next display state. The state specified may be either a JSP or it can
+     * be another method name to invoke.
+     *
+     * @param request the <code>Portletrequest</code>
+     * @param state   the next display state
+     */
+    protected void setNextState(PortletRequest request, String state) {
+        String id = getUniqueId();
+        request.getPortletSession(true).setAttribute(id + ".state", state, PortletSession.PORTLET_SCOPE);
+        log.debug("in ActionPortlet in setNextState: setting state to " + state);
+    }
+
+    /**
+     * Returns the next display state. The state specified may be either a JSP or it can
+     * be another method name to invoke.
+     *
+     * @param request the <code>PortletRequest</code>
+     * @return the next display state, either the JSP to include or a method to invoke
+     */
+    protected String getNextState(PortletRequest request) {
+        String id = getUniqueId();
+        return (String) request.getPortletSession(true).getAttribute(id + ".state", PortletSession.PORTLET_SCOPE);
+    }
+
+    protected void removeNextState(PortletRequest request) {
+        String id = getUniqueId();
+        request.getPortletSession(true).removeAttribute(id + ".state", PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Sets the tag beans obtained from the FormEvent. Used internally and should not
+     * normally need to be invoked by portlet developers.
+     *
+     * @param request  the <code>PortletRequest</code>
+     * @param tagBeans a <code>Map</code> containing the portlet UI visual beans
+     */
+    protected void setTagBeans(PortletRequest request, Map tagBeans) {
+        String id = getUniqueId();
+        log.debug("saving tag beans in session " + id + ".beans");
+        request.getPortletSession(true).setAttribute(id + ".beans", tagBeans, PortletSession.PORTLET_SCOPE);
+    }
+
+    protected void removeTagBeans(PortletRequest request) {
+        String id = getUniqueId();
+        log.debug("removing tag beans from session " + id + ".beans");
+        request.getPortletSession(true).removeAttribute(id + ".beans", PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Returns the tag beans obtained from the FormEvent. Used internally and should not
+     * normally need to be invoked by portlet developers.
+     *
+     * @param request the <code>PortletRequest</code>
+     * @return the visual beans
+     */
+    protected Map<String, TagBean> getTagBeans(PortletRequest request) {
+        String id = getUniqueId();
+        log.debug("getting tag beans from session " + id + ".beans");
+        return (Map<String, TagBean>) request.getPortletSession(true).getAttribute(id + ".beans", PortletSession.PORTLET_SCOPE);
+    }
+
+    /**
+     * Uses the action name obtained from the <code>ActionEvent</code> to invoke the
+     * appropriate portlet action method.
+     *
+     * @param actionRequest  the <code>ActionRequest</code>
+     * @param actionResponse the <code>ActionResponse</code>
+     * @throws PortletException if a portlet exception occurs
+     */
+    public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException {
+        log.debug("in ActionPortlet: processAction\t\t\t");
+
+        // if cid is null (true in non-GS portlet container) then use the portlet name
+        String cid = (String) actionRequest.getAttribute(SportletProperties.COMPONENT_ID);
+        if (cid == null) actionRequest.setAttribute(SportletProperties.COMPONENT_ID, getUniqueId());
+
+        DefaultPortletAction action = (DefaultPortletAction) actionRequest.getAttribute(SportletProperties.ACTION_EVENT);
+        // In non-GS container this will need to be created
+
+        // TODO
+        if (!(actionRequest instanceof ActionRequestImpl)) {
+            //action = GridSphereEventImpl.createAction(actionRequest);
+            //System.err.println("action name" + action.getName());
+        }
+        ActionFormEvent formEvent = new ActionFormEventImpl(action, actionRequest, actionResponse);
+
+        Class[] parameterTypes = new Class[]{ActionFormEvent.class};
+        Object[] arguments = new Object[]{formEvent};
+
+        String methodName = formEvent.getAction().getName();
+        // reset next state
+        removeNextState(actionRequest);
+
+        doAction(actionRequest, actionResponse, methodName, parameterTypes, arguments);
+        //System.err.println("in processAction: befoire store cid=" + actionRequest.getAttribute(SportletProperties.COMPONENT_ID));
+
+        // If it's a POST then remove state
+        /*
+        if (((HttpServletRequest)actionRequest).getMethod().toUpperCase().equals("POST")) {
+            removeNextState(actionRequest);
+            removeTagBeans(actionRequest);
+            removeNextTitle(actionRequest);
+        }
+        */
+        setTagBeans(actionRequest, formEvent.getTagBeans());
+    }
+
+    /**
+     * Invokes the appropriate portlet action method based on the portlet action received
+     *
+     * @param request        the portlet request
+     * @param response       the portlet response
+     * @param methodName     the method name to invoke
+     * @param parameterTypes the method parameters
+     * @param arguments      the method arguments
+     * @throws PortletException if a portlet error occurs
+     */
+    protected void doAction(PortletRequest request, PortletResponse response,
+                            String methodName,
+                            Class[] parameterTypes,
+                            Object[] arguments) throws PortletException {
+
+        // Get object and class references
+        Class thisClass = this.getClass();
+        // Call method specified by action name
+        try {
+            Method method = thisClass.getMethod(methodName, parameterTypes);
+
+            method.invoke(this, arguments);
+
+            StringBuffer sb = new StringBuffer();
+            sb.append("Invoking portlet action ").append(thisClass.getName()).append("#").append(methodName);
+            if (request.getUserPrincipal() != null) {
+                sb.append(" user=").append(request.getUserPrincipal().getName());
+                sb.append(" session id=").append(request.getPortletSession().getId());
+            }
+            if (request instanceof HttpServletRequestWrapper) {
+                sb.append(" remote ip=").append(((HttpServletRequestWrapper) request).getRemoteAddr());
+                sb.append(" user agent=").append(((HttpServletRequestWrapper) request).getHeader("user-agent"));
+            }
+            log.info(sb.toString());
+
+        } catch (NoSuchMethodException e) {
+            String error = "No such method: " + methodName + "\n" + e.getMessage();
+            log.error(error, e);
+            throw new PortletException(error, e);
+        } catch (IllegalAccessException e) {
+            String error = "Error accessing action method: " + methodName + "\n" + e.getMessage();
+            log.error(error, e);
+            throw new PortletException(error, e);
+        } catch (InvocationTargetException e) {
+            String error = "Error invoking action method: " + methodName;
+            log.error(error, e.getTargetException());
+            throw new PortletException(error, e.getTargetException());
+        }
+
+    }
+
+    /**
+     * Renders the supplied JSP page.
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @param jsp      the JSP page to include
+     * @throws PortletException if a portlet exception occurs
+     */
+    public void doViewJSP(RenderRequest request, RenderResponse response, String jsp) throws PortletException {
+        log.debug("Including JSP page:" + jsp);
+        response.setContentType("text/html; charset=utf-8");
+        try {
+            if (jsp.startsWith("/")) {
+                getPortletConfig().getPortletContext().getRequestDispatcher(jsp).include(request, response);
+            } else {
+                getPortletConfig().getPortletContext().getRequestDispatcher("/jsp/" + jsp).include(request, response);
+            }
+        } catch (Exception e) {
+            throw new PortletException("Unable to include JSP", e);
+        }
+    }
+
+    /**
+     * Uses #getNextState to either render a JSP or invoke the specified render action method
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws PortletException if a portlet exception occurs
+     * @throws IOException      if an I/O error occurs
+     */
+    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        String next = getNextState(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE");
+            setNextState(request, DEFAULT_VIEW_PAGE);
+        }
+        doMode(request, response);
+    }
+
+    protected void doMode(RenderRequest request, RenderResponse response) throws PortletException {
+        String next = getNextState(request);
+        log.debug("in ActionPortlet: portlet id= " + getUniqueId() + "  next page is= " + next);
+
+        // if cid is null (true in non-GS portlet container) then use the portlet name
+        String cid = (String) request.getAttribute(SportletProperties.COMPONENT_ID);
+        if (cid == null) request.setAttribute(SportletProperties.COMPONENT_ID, getUniqueId());
+
+        DefaultPortletRender render = (DefaultPortletRender) request.getAttribute(SportletProperties.RENDER_EVENT);
+
+        Map<String, TagBean> tagBeans = getTagBeans(request);
+        RenderFormEvent formEvent = new RenderFormEventImpl(render, request, response, tagBeans);
+
+        // check to see if this render event should invoke a render method
+        if (render != null) {
+            String methodName = render.getName();
+            if (!methodName.equals("")) next = methodName;
+        }
+
+        if (next.endsWith(".jsp")) {
+            // this is necessary in case beans were modified in action method and set next state is a JSP to render which needs the beans
+            formEvent.store();
+            doViewJSP(request, response, next);
+        } else {
+            Class[] paramTypes = new Class[]{RenderFormEvent.class};
+            Object[] arguments = new Object[]{formEvent};
+
+
+            doAction(request, response, next, paramTypes, arguments);
+
+            //System.err.println("in doMode: before store cid=" + request.getAttribute(SportletProperties.COMPONENT_ID));
+            formEvent.store();
+            next = getNextState(request);
+            if ((next != null) && (next.endsWith(".jsp"))) {
+                log.debug("in doMode: next page is= " + next);
+                doViewJSP(request, response, next);
+            }
+        }
+        removeTagBeans(request);
+        removeNextState(request);
+    }
+
+    protected void doDispatch(RenderRequest request,
+                              RenderResponse response) throws PortletException, IOException {
+
+        // if cid is null (true in non-GS portlet container) then use the portlet name
+        String cid = (String) request.getAttribute(SportletProperties.COMPONENT_ID);
+        if (cid == null) request.setAttribute(SportletProperties.COMPONENT_ID, getUniqueId());
+
+        WindowState state = request.getWindowState();
+
+        try {
+            super.doDispatch(request, response);
+        } catch (PortletException e) {
+            if (!state.equals(WindowState.MINIMIZED)) {
+                PortletMode mode = request.getPortletMode();
+                if (mode.toString().equalsIgnoreCase("CONFIG")) {
+                    doConfigure(request, response);
+                    return;
+                }
+            }
+            throw e;
+        }
+
+    }
+
+    /**
+     * Simply forwards to #doView
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws PortletException    if a portlet exception occurs
+     * @throws java.io.IOException if an I/O error occurs
+     */
+    public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        log.debug("ActionPortlet: in doEdit");
+        String next = getNextState(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE");
+            setNextState(request, DEFAULT_EDIT_PAGE);
+        }
+        doMode(request, response);
+    }
+
+    /**
+     * Simply forwards to #doView
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws PortletException if a portlet exception occurs
+     * @throws IOException      if an I/O error occurs
+     */
+    public void doConfigure(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        log.debug("ActionPortlet: in doConfigure");
+        String next = getNextState(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_CONFIGURE_PAGE");
+            setNextState(request, DEFAULT_CONFIGURE_PAGE);
+        }
+        doMode(request, response);
+    }
+
+    /**
+     * Simply forwards to #doView
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws PortletException if a portlet exception occurs
+     * @throws IOException      if an I/O error occurs
+     */
+    public void doHelp(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        log.debug("ActionPortlet: in doHelp");
+        setNextState(request, DEFAULT_HELP_PAGE);
+        doView(request, response);
+    }
+
+    protected String getLocalizedText(PortletRequest req, String key) {
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("Portlet", locale);
+        return bundle.getString(key);
+    }
+
+    public String getParameter(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        return (value == null) ? "" : value;
+    }
+
+    public String getParameter(PortletRequest request, String param, String defaultValue) {
+        String value = request.getParameter(param);
+        return (value == null) ? defaultValue : value;
+    }
+
+    public String[] getParameterValues(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        return (values == null) ? new String[0] : values;
+    }
+
+    public int getParameterAsInt(PortletRequest request, String param) {
+        return getParameterAsInt(request, param, 0);
+    }
+
+    public int getParameterAsInt(PortletRequest request, String param, int defaultValue) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return defaultValue;
+        if (value.equals(""))
+            return defaultValue;
+        try {
+            return (new Integer(value)).intValue();
+        } catch (Exception e) {
+            return defaultValue;
+        }
+    }
+
+    public int[] getParameterValuesAsInt(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new int[0];
+        } else {
+            int objs[] = new int[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Integer(value)).intValue();
+                } catch (Exception e) {
+                    objs[ii] = 0;
+                }
+            }
+            return objs;
+        }
+    }
+
+    public long getParameterAsLng(PortletRequest request, String param) {
+        return getParameterAsLng(request, param, 0);
+    }
+
+    public long getParameterAsLng(PortletRequest request, String param, long defaultValue) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return defaultValue;
+        if (value.equals(""))
+            return defaultValue;
+        try {
+            return (new Long(value)).longValue();
+        } catch (Exception e) {
+            return defaultValue;
+        }
+    }
+
+    public long[] getParameterValuesAsLng(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new long[0];
+        } else {
+            long objs[] = new long[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Long(value)).longValue();
+                } catch (Exception e) {
+                    objs[ii] = 0;
+                }
+            }
+            return objs;
+        }
+    }
+
+    public float getParameterAsFlt(PortletRequest request, String param) {
+        return getParameterAsFlt(request, param, (float) 0.0);
+    }
+
+    public float getParameterAsFlt(PortletRequest request, String param, float defaultValue) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return defaultValue;
+        if (value.equals(""))
+            return defaultValue;
+        try {
+            return (new Float(value)).floatValue();
+        } catch (Exception e) {
+            return defaultValue;
+        }
+    }
+
+    public float[] getParameterValuesAsFlt(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new float[0];
+        } else {
+            float objs[] = new float[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Float(value)).floatValue();
+                } catch (Exception e) {
+                    objs[ii] = 0;
+                }
+            }
+            return objs;
+        }
+    }
+
+    public double getParameterAsDbl(PortletRequest request, String param) {
+        return getParameterAsDbl(request, param, 0.0);
+    }
+
+    public double getParameterAsDbl(PortletRequest request, String param, double defaultValue) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return defaultValue;
+        if (value.equals(""))
+            return defaultValue;
+        try {
+            return (new Double(value)).doubleValue();
+        } catch (Exception e) {
+            return defaultValue;
+        }
+    }
+
+
+    public double[] getParameterValuesAsDbl(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new double[0];
+        } else {
+            double objs[] = new double[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Double(value)).doubleValue();
+                } catch (Exception e) {
+                    objs[ii] = 0;
+                }
+            }
+            return objs;
+        }
+    }
+
+    public boolean getParameterAsBool(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        if (value == null) return false;
+        if (value.equals("")) return false;
+        if (value.equals("true")) return true;
+        return false;
+    }
+
+    public boolean[] getParameterValuesAsBool(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new boolean[0];
+        } else {
+            boolean objs[] = new boolean[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                if (value.equals("")) objs[ii] = false;
+                if (value.equals("true")) objs[ii] = true;
+                objs[ii] = false;
+            }
+            return objs;
+        }
+    }
+
+    public Integer getParameterAsInteger(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return (new Integer(0));
+        if (value.equals("")) value = "0";
+        try {
+            return (new Integer(value));
+        } catch (Exception e) {
+            return (new Integer(0));
+        }
+    }
+
+    public Integer[] getParameterValuesAsInteger(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new Integer[0];
+        } else {
+            Integer objs[] = new Integer[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Integer(value));
+                } catch (Exception e) {
+                    objs[ii] = (new Integer(0));
+                }
+            }
+            return objs;
+        }
+    }
+
+    public Float getParameterAsFloat(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return (new Float(0.0));
+        if (value.equals("")) value = "0";
+        try {
+            return (new Float(value));
+        } catch (Exception e) {
+            return (new Float(0.0));
+        }
+    }
+
+    public Float[] getParameterValuesAsFloat(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new Float[0];
+        } else {
+            Float objs[] = new Float[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Float(value));
+                } catch (Exception e) {
+                    objs[ii] = (new Float(0.0));
+                }
+            }
+            return objs;
+        }
+    }
+
+    public Double getParameterAsDouble(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        if (value == null)
+            return (new Double(0.0));
+        if (value.equals("")) value = "0";
+        try {
+            return (new Double(value));
+        } catch (Exception e) {
+            return (new Double(0.0));
+        }
+    }
+
+    public Double[] getParameterValuesAsDouble(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new Double[0];
+        } else {
+            Double objs[] = new Double[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                try {
+                    objs[ii] = (new Double(value));
+                } catch (Exception e) {
+                    objs[ii] = (new Double(0.0));
+                }
+            }
+            return objs;
+        }
+    }
+
+    public Boolean getParameterAsBoolean(PortletRequest request, String param) {
+        String value = request.getParameter(param);
+        if (value == null) return Boolean.FALSE;
+        if (value.equals("")) return Boolean.FALSE;
+        if (value.equals("true")) return Boolean.TRUE;
+        return Boolean.FALSE;
+    }
+
+    public Boolean[] getParameterValuesAsBoolean(PortletRequest request, String param) {
+        String values[] = request.getParameterValues(param);
+        if (values == null) {
+            return new Boolean[0];
+        } else {
+            Boolean objs[] = new Boolean[values.length];
+            for (int ii = 0; ii < values.length; ++ii) {
+                String value = values[ii];
+                if (value.equals("")) objs[ii] = Boolean.FALSE;
+                if (value.equals("true")) objs[ii] = Boolean.TRUE;
+                objs[ii] = Boolean.FALSE;
+            }
+            return objs;
+        }
+    }
+
+    public List<String> getParameterValuesAsList(PortletRequest request, String param) {
+        // Create list for values
+        List<String> listValues = new ArrayList<String>();
+        // Get parameter values
+        String paramValues[] = getParameterValues(request, param);
+        for (int ii = 0; ii < paramValues.length; ++ii) {
+            listValues.add(paramValues[ii]);
+        }
+        return listValues;
+    }
+
+    public Map getParameterValuesAsMap(PortletRequest request, String param) {
+        // Create list for values
+        Map<String, String> mapValues = new HashMap<String, String>();
+        // Get parameter values
+        String paramValues[] = getParameterValues(request, param);
+        for (int ii = 0; ii < paramValues.length; ++ii) {
+            String paramValue = paramValues[ii];
+            int index = paramValue.indexOf(":");
+            if (index < 0) {
+                continue;
+            }
+            String key = paramValue.substring(0, index);
+            String value = paramValue.substring(index + 1, paramValue.length());
+            mapValues.put(key, value);
+        }
+        return mapValues;
+    }
+
+    protected String getUniqueId() {
+        //log.debug("setting unique cid: " + this.getPortletConfig().getPortletName());
+        return this.getPortletConfig().getPortletName();
+    }
+
+    public PortletService createPortletService(Class serviceClass) throws PortletServiceException {
+        return PortletServiceFactory.createPortletService(serviceClass, true);
+    }
+
+    protected void createErrorMessage(FormEvent evt, String text) {
+        MessageBoxBean msgBox = evt.getMessageBoxBean("msg");
+        msgBox.setMessageType(MessageStyle.MSG_ERROR);
+        String msgOld = msgBox.getValue();
+        msgBox.setValue((msgOld != null ? msgOld : "") + "\n" + text);
+    }
+
+    protected void createSuccessMessage(FormEvent evt, String text) {
+        MessageBoxBean msg = evt.getMessageBoxBean("msg");
+        msg.setValue(text);
+        msg.setMessageType(MessageStyle.MSG_SUCCESS);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/PortletServlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/PortletServlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/PortletServlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,647 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @version $Id: PortletServlet.java 5032 2006-08-17 18:15:06Z novotny $
+*/
+package org.gridsphere.provider.portlet.jsr;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.*;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletPreferencesManager;
+import org.gridsphere.portletcontainer.PortletStatus;
+import org.gridsphere.portletcontainer.impl.ApplicationPortletImpl;
+import org.gridsphere.portletcontainer.impl.PortletWebApplicationImpl;
+import org.gridsphere.portletcontainer.impl.descriptor.*;
+import org.gridsphere.portletcontainer.impl.descriptor.types.TransportGuaranteeType;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.registry.PortletManagerService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+import org.gridsphere.services.core.security.auth.AuthModuleService;
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.*;
+import javax.servlet.Servlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.*;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.*;
+import java.util.ResourceBundle;
+
+public class PortletServlet extends HttpServlet
+        implements Servlet, ServletConfig,
+        HttpSessionAttributeListener, HttpSessionListener, HttpSessionActivationListener {
+
+    private transient Log log = LogFactory.getLog(PortletServlet.class);
+
+    private transient PortletRegistryService registryService = null;
+    private transient PortalConfigService configService = null;
+
+    private PortletWebApplicationImpl portletWebApp = null;
+
+    private PortletContext portletContext = null;
+
+    private Map<String, Portlet> portlets = null;
+    private Map<String, String> portletclasses = null;
+    private Map<String, ApplicationPortlet> portletApps = null;
+    private Map<String, PortletConfig> portletConfigHash = null;
+
+    private Map<String, String> userKeys = new HashMap<String, String>();
+    private List<String> securePortlets = new ArrayList<String>();
+
+    private transient PersistenceManagerService pms = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+
+    public void init(ServletConfig config) throws ServletException {
+        super.init(config);
+        log.info("in init of PortletServlet");
+        portlets = new Hashtable<String, Portlet>();
+        portletclasses = new Hashtable<String, String>();
+        portletApps = new Hashtable<String, ApplicationPortlet>();
+        portletConfigHash = new Hashtable<String, PortletConfig>();
+    }
+
+    public void initJSRPortletWebapp() {
+        registryService = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+        configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+
+        ServletContext ctx = this.getServletContext();
+
+        portletWebApp = new PortletWebApplicationImpl(ctx, Thread.currentThread().getContextClassLoader());
+        if (portletWebApp.getWebApplicationStatus().equals(PortletStatus.FAILURE)) return;
+
+        Collection<ApplicationPortlet> appPortlets = portletWebApp.getAllApplicationPortlets();
+        for (ApplicationPortlet appPortlet : appPortlets) {
+            String portletClass = appPortlet.getApplicationPortletClassName();
+            String portletName = appPortlet.getApplicationPortletName();
+            try {
+                // instantiate portlet classes
+                Portlet portletInstance = (Portlet) Class.forName(portletClass).newInstance();
+
+                portletApps.put(portletName, appPortlet);
+
+                //portlets.put(portletClass, portletInstance);
+                portlets.put(portletName, portletInstance);
+
+                // mappings between names and classes
+                portletclasses.put(portletClass, portletName);
+                log.debug("Creating new portlet instance: " + portletClass);
+
+                // put portlet web app in registry
+
+            } catch (Exception e) {
+                String msg = "Unable to create jsr portlet instance: " + portletClass;
+                log.error(msg, e);
+                appPortlet.setApplicationPortletStatus(PortletStatus.FAILURE);
+                appPortlet.setApplicationPortletStatusMessage(msg);
+                portletWebApp.setWebApplicationStatusMessage("FAILURE to instantiate one or more portlet instances");
+                portletWebApp.setWebApplicationStatus(PortletStatus.FAILURE);
+            } finally {
+                registryService.addWebApplication(portletWebApp);
+            }
+        }
+
+        UserAttribute[] userAttrs = portletWebApp.getUserAttributes();
+        if (userAttrs != null) {
+            String key = null;
+            for (int i = 0; i < userAttrs.length; i++) {
+                key = userAttrs[i].getName().getContent();
+                userKeys.put(key, "");
+            }
+        }
+
+        SecurityConstraint[] secConstraints = portletWebApp.getSecurityConstraints();
+        if (secConstraints != null) {
+            for (int i = 0; i < secConstraints.length; i++) {
+                PortletCollection portlets = secConstraints[i].getPortletCollection();
+                PortletName[] names = portlets.getPortletName();
+                UserDataConstraint userConstraint = secConstraints[i].getUserDataConstraint();
+                TransportGuaranteeType guaranteeType = userConstraint.getTransportGuarantee();
+                if (guaranteeType.equals(TransportGuaranteeType.NONE)) {
+                    names = null;
+                }
+                if (names != null) {
+                    for (int j = 0; j < names.length; j++) {
+                        securePortlets.add(names[j].getContent());
+                    }
+                }
+            }
+        }
+
+        // create portlet context
+        portletContext = new PortletContextImpl(ctx);
+
+        // load in any authentication modules if found-- this is a GridSphere extension
+
+        AuthModuleService authModuleService = (AuthModuleService) PortletServiceFactory.createPortletService(AuthModuleService.class, true);
+        InputStream is = getServletContext().getResourceAsStream("/WEB-INF/authmodules.xml");
+        if (is != null) {
+            String authModulePath = this.getServletContext().getRealPath("/WEB-INF/authmodules.xml");
+            authModuleService.loadAuthModules(authModulePath, Thread.currentThread().getContextClassLoader());
+            log.info("loading authentication modules from: " + authModulePath);
+        } else {
+            log.debug("no auth module descriptor found");
+        }
+
+    }
+
+    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        // if no lifecycle method exists, redirect to error page!
+        String method = (String) request.getAttribute(SportletProperties.PORTLET_LIFECYCLE_METHOD);
+        if (method == null) {
+            response.sendRedirect("/" + configService.getProperty("gridsphere.deploy") +
+                    "/" + configService.getProperty("gridsphere.context") +
+                    "?" + SportletProperties.LAYOUT_PAGE_PARAM + "=" + "ErrorLayout" + "&" + "errorPage=unauthorized.jsp");
+            return;
+        }
+
+        if (method.equals(SportletProperties.INIT)) {
+            initJSRPortletWebapp();
+            if (portletWebApp.getWebApplicationStatus().equals(PortletStatus.FAILURE)) return;
+            Set set = portlets.keySet();
+            Iterator it = set.iterator();
+            while (it.hasNext()) {
+                String portletName = (String) it.next();
+                ApplicationPortletImpl appPortlet = (ApplicationPortletImpl) portletApps.get(portletName);
+                Portlet portlet = (Portlet) portlets.get(portletName);
+                log.debug("in PortletServlet: service(): Initializing portlet " + portletName);
+                PortletDefinition portletDef = portletWebApp.getPortletDefinition(portletName);
+                PortletConfig portletConfig = new PortletConfigImpl(getServletConfig(), portletDef, Thread.currentThread().getContextClassLoader());
+                try {
+                    portlet.init(portletConfig);
+                    portletConfigHash.put(portletName, portletConfig);
+                } catch (Exception e) {
+                    appPortlet.setApplicationPortletStatus(PortletStatus.FAILURE);
+                    StringWriter sw = new StringWriter();
+                    PrintWriter pout = new PrintWriter(sw);
+                    e.printStackTrace(pout);
+                    appPortlet.setApplicationPortletStatusMessage("Unable to initialize portlet " + portletName + "\n\n" + sw.getBuffer());
+                    log.error("in PortletServlet: service(): Unable to INIT portlet " + portletName, e);
+                    // PLT.5.5.2.1 Portlet that fails to initialize must not be placed in active service
+                    it.remove();
+                    portletWebApp.setWebApplicationStatus(PortletStatus.FAILURE);
+                    portletWebApp.setWebApplicationStatusMessage("Failed to initialize one or more portlets");
+                }
+            }
+
+            PortletManagerService manager = (PortletManagerService) PortletServiceFactory.createPortletService(PortletManagerService.class, true);
+            manager.addPortletWebApplication(portletWebApp);
+            return;
+        } else if (method.equals(SportletProperties.DESTROY)) {
+            Iterator it = portlets.keySet().iterator();
+            while (it.hasNext()) {
+                String portletName = (String) it.next();
+                Portlet portlet = (Portlet) portlets.get(portletName);
+                log.debug("in PortletServlet: service(): Destroying portlet " + portletName);
+                try {
+                    portlet.destroy();
+                    it.remove();
+                } catch (RuntimeException e) {
+                    log.error("Caught exception during portlet destroy", e);
+                }
+            }
+            return;
+        } else if (method.equals(SportletProperties.LOGIN)) {
+
+        } else if (method.equals(SportletProperties.LOGOUT)) {
+            request.getSession(true).invalidate();
+        }
+
+        // There must be a portlet ID to know which portlet to service
+        String pid = (String) request.getAttribute(SportletProperties.PORTLETID);
+        String cid = (String) request.getAttribute(SportletProperties.COMPONENT_ID);
+
+        if (pid == null) {
+            // it may be in the request parameter
+            pid = request.getParameter(SportletProperties.PORTLETID);
+            if (pid == null) {
+                log.debug("in PortletServlet: service(): No PortletID found in request!");
+                return;
+            }
+            request.setAttribute(SportletProperties.PORTLETID, pid);
+        }
+
+        log.debug("have a portlet id " + pid + " component id= " + cid);
+
+        String portletName = "";
+        int idx = pid.indexOf("#");
+        Portlet portlet = null;
+        if (idx > 0) {
+            portletName = pid.substring(idx + 1);
+            // this hack uses the portletclasses hash that identifies classname to portlet mappings
+        } else {
+            portletName = (String) portletclasses.get(pid);
+        }
+        if (portletName == null) {
+            log.debug("Check the layout descriptors to make sure the portlet identified as " + pid + " matches with the class and/or portlet name of the portlet.xml");
+            return;
+        }
+        portlet = (Portlet) portlets.get(portletName);
+        request.setAttribute(SportletProperties.PORTLET_CONFIG, portletConfigHash.get(portletName));
+
+        ApplicationPortlet appPortlet = registryService.getApplicationPortlet(pid);
+
+        if (appPortlet == null) {
+            log.error("Unable to get portlet from registry identified by: " + pid);
+            return;
+        }
+
+        // perform user conversion from gridsphere to JSR model
+        User user = (User) request.getAttribute(SportletProperties.PORTLET_USER);
+        Map<String, String> userInfo = new HashMap<String, String>();
+        ;
+        String userId = null;
+        if (user != null) {
+            userId = user.getID();
+            userInfo.putAll(userKeys);
+            if (userInfo.containsKey("user.name")) userInfo.put("user.name", user.getUserName());
+            if (userInfo.containsKey("user.id")) userInfo.put("user.id", user.getID());
+            if (userInfo.containsKey("user.email")) userInfo.put("user.email", user.getEmailAddress());
+            if (userInfo.containsKey("user.organization")) userInfo.put("user.organization", user.getOrganization());
+            if (userInfo.containsKey("user.lastlogintime"))
+                userInfo.put("user.lastlogintime", String.valueOf(user.getLastLoginTime()));
+            if (userInfo.containsKey("user.name.full")) userInfo.put("user.name.full", user.getFullName());
+            if (userInfo.containsKey("user.name.first")) userInfo.put("user.name.first", user.getFirstName());
+            if (userInfo.containsKey("user.name.last")) userInfo.put("user.name.last", user.getLastName());
+            if (userInfo.containsKey("user.timezone"))
+                userInfo.put("user.timezone", (String) user.getAttribute(User.TIMEZONE));
+            if (userInfo.containsKey("user.locale"))
+                userInfo.put("user.locale", (String) user.getAttribute(User.LOCALE));
+            if (userInfo.containsKey("user.theme")) userInfo.put("user.theme", (String) user.getAttribute(User.THEME));
+
+            if (userInfo.containsKey("user.login.id")) userInfo.put("user.login.id", user.getUserName());
+
+            Enumeration e = user.getAttributeNames();
+            while (e.hasMoreElements()) {
+                String key = (String) e.nextElement();
+                if (userInfo.containsKey(key)) userInfo.put(key, (String) user.getAttribute(key));
+            }
+
+
+            request.setAttribute(PortletRequest.USER_INFO, userInfo);
+        }
+
+        // portlet preferences
+        PortalContext portalContext = appPortlet.getPortalContext();
+        request.setAttribute(SportletProperties.PORTAL_CONTEXT, portalContext);
+        if (portlet == null) {
+            log.error("in PortletServlet: service(): No portlet matching " + pid + " found!");
+            return;
+        }
+
+        request.removeAttribute(SportletProperties.SSL_REQUIRED);
+        if (securePortlets.contains(pid)) {
+            request.setAttribute(SportletProperties.SSL_REQUIRED, "true");
+        }
+
+        if (method.equals(SportletProperties.SERVICE)) {
+
+            String action = (String) request.getAttribute(SportletProperties.PORTLET_ACTION_METHOD);
+            if (action != null) {
+                log.debug("in PortletServlet: action is not NULL");
+                if (action.equals(SportletProperties.DO_TITLE)) {
+                    RenderRequest renderRequest = new RenderRequestImpl(request, portletContext);
+                    RenderResponse renderResponse = new RenderResponseImpl(request, response);
+                    renderRequest.setAttribute(SportletProperties.RENDER_REQUEST, renderRequest);
+                    renderRequest.setAttribute(SportletProperties.RENDER_RESPONSE, renderResponse);
+                    log.debug("in PortletServlet: do title " + pid);
+                    try {
+                        doTitle(portlet, renderRequest, renderResponse);
+                    } catch (Exception e) {
+                        log.error("Error during doTitle:", e);
+                        request.getSession(true).setAttribute(SportletProperties.PORTLETERROR + pid, new PortletException(e));
+                    }
+                } else if (action.equals(SportletProperties.WINDOW_EVENT)) {
+                    // do nothing
+                } else if (action.equals(SportletProperties.ACTION_PERFORMED)) {
+                    // create portlet preferences manager
+                    log.debug("in PortletServlet: do processAction " + pid);
+                    PortletPreferencesManager prefsManager = appPortlet.getPortletPreferencesManager(pid, userId, false);
+                    request.setAttribute(SportletProperties.PORTLET_PREFERENCES_MANAGER, prefsManager);
+
+                    processAction(portlet, portalContext, request, response, cid, pid);
+                }
+            } else {
+                // create portlet preferences manager
+                PortletPreferencesManager prefsManager = appPortlet.getPortletPreferencesManager(pid, userId, true);
+                request.setAttribute(SportletProperties.PORTLET_PREFERENCES_MANAGER, prefsManager);
+
+                render(portlet, request, response, pid);
+
+            }
+        } else {
+            log.error("in PortletServlet: service(): No " + SportletProperties.PORTLET_LIFECYCLE_METHOD + " found in request!");
+        }
+    }
+
+    protected void processAction(Portlet portlet, PortalContext portalContext, HttpServletRequest request, HttpServletResponse response, String cid, String pid) throws ServletException {
+
+        ActionRequestImpl actionRequest = new ActionRequestImpl(request, portletContext);
+        ActionResponse actionResponse = new ActionResponseImpl(request, response);
+
+        String webappname = portletWebApp.getWebApplicationName();
+        PersistenceManagerRdbms pm = pms.getPersistenceManagerRdbms(webappname);
+
+        try {
+
+            if (pm != null) {
+                log.debug("Starting a database transaction for webapp: " + webappname);
+                pm.beginTransaction();
+            }
+
+            log.debug("in PortletServlet: action handling portlet " + pid);
+
+            // INVOKE PORTLET ACTION
+            portlet.processAction(actionRequest, actionResponse);
+            Map params = ((ActionResponseImpl) actionResponse).getRenderParameters();
+            request.setAttribute(SportletProperties.RENDER_PARAM_PREFIX + pid + "_" + cid, params);
+            log.debug("placing render params in session : key= " + SportletProperties.RENDER_PARAM_PREFIX + pid + "_" + cid);
+
+            // Commit and cleanup
+            log.info("Committing the database transaction");
+
+            if (pm != null) pm.endTransaction();
+
+        } catch (Throwable ex) {
+            //log.error("Error during processAction:", ex);
+            request.setAttribute(SportletProperties.PORTLETERROR + pid, ex);
+
+            if (pm != null) {
+                pm.endTransaction();
+                try {
+                    if (pm != null) pm.rollbackTransaction();
+                } catch (Throwable rbEx) {
+                    log.error("Could not rollback transaction after exception!", rbEx.getCause());
+                }
+            }
+            // Let others handle it... maybe another interceptor for exceptions?
+            //throw new ServletException(ex.getCause());
+        } finally {
+            try {
+                redirect(request, response, actionRequest, actionResponse, portalContext);
+            } catch (IOException e) {
+                log.error("Unable to handle redirect", e);
+            }
+        }
+
+    }
+
+
+    protected void render(Portlet portlet, HttpServletRequest request, HttpServletResponse response, String pid) throws ServletException {
+        RenderRequest renderRequest = new RenderRequestImpl(request, portletContext);
+        RenderResponse renderResponse = new RenderResponseImpl(request, response);
+
+        renderRequest.setAttribute(SportletProperties.RENDER_REQUEST, renderRequest);
+        renderRequest.setAttribute(SportletProperties.RENDER_RESPONSE, renderResponse);
+
+        log.debug("in PortletServlet: rendering  portlet " + pid);
+        if (renderRequest.getAttribute(SportletProperties.RESPONSE_COMMITTED) == null) {
+            String webappname = portletWebApp.getWebApplicationName();
+            PersistenceManagerRdbms pm = pms.getPersistenceManagerRdbms(webappname);
+            try {
+                if (pm != null) pm.beginTransaction();
+                portlet.render(renderRequest, renderResponse);
+                if (pm != null) pm.endTransaction();
+
+            } catch (UnavailableException e) {
+                try {
+                    portlet.destroy();
+                } catch (Exception d) {
+                    log.error("in PortletServlet(): destroy caught exception: ", d);
+                }
+            } catch (Throwable ex) {
+                //log.error("in render: caught exception: ", ex);
+
+                try {
+                    if (pm != null) {
+                        log.info("Committing database transaction for webapp: " + portletWebApp.getWebApplicationName());
+                        pm.endTransaction();
+                        pm.rollbackTransaction();
+                    }
+                } catch (Throwable rbEx) {
+                    throw new ServletException("Could not rollback transaction after exception!", rbEx);
+                }
+
+                throw new ServletException(ex);
+            }
+        }
+    }
+
+    protected void doTitle(Portlet portlet, RenderRequest request, RenderResponse response) throws IOException, PortletException {
+        Portlet por = (Portlet) portlet;
+        if (por instanceof GenericPortlet) {
+            GenericPortlet genPortlet = ((GenericPortlet) portlet);
+            if (genPortlet.getPortletConfig() == null)
+                throw new PortletException("Unable to get PortletConfig from Portlet");
+            ResourceBundle resBundle = genPortlet.getPortletConfig().getResourceBundle(request.getLocale());
+            String title = resBundle.getString("javax.portlet.title");
+            response.setContentType("text/html");
+            PrintWriter out = response.getWriter();
+            out.println(title);
+        }
+    }
+
+    protected void doGet(HttpServletRequest req, HttpServletResponse res)
+            throws ServletException, IOException {
+        super.doGet(req, res);
+    }
+
+    protected void doPut(HttpServletRequest req, HttpServletResponse res)
+            throws ServletException, IOException {
+        super.doPut(req, res);
+    }
+
+    protected void doPost(HttpServletRequest req, HttpServletResponse res)
+            throws ServletException, IOException {
+        super.doPost(req, res);
+    }
+
+    protected void doTrace(HttpServletRequest req, HttpServletResponse res)
+            throws ServletException, IOException {
+        super.doTrace(req, res);
+    }
+
+    protected void doDelete(HttpServletRequest req, HttpServletResponse res)
+            throws ServletException, IOException {
+        super.doDelete(req, res);
+    }
+
+    protected void redirect(HttpServletRequest servletRequest,
+                            HttpServletResponse servletResponse,
+                            ActionRequest actionRequest,
+                            ActionResponse actionResponse, PortalContext portalContext)
+            throws IOException {
+        if (actionResponse instanceof ActionResponseImpl) {
+            ActionResponseImpl aResponse = (ActionResponseImpl) actionResponse;
+            String location = aResponse.getRedirectLocation();
+
+            if (location != null) {
+                javax.servlet.http.HttpServletResponse redirectResponse = servletResponse;
+                while (redirectResponse instanceof javax.servlet.http.HttpServletResponseWrapper) {
+                    redirectResponse = (javax.servlet.http.HttpServletResponse)
+                            ((javax.servlet.http.HttpServletResponseWrapper) redirectResponse).getResponse();
+                }
+
+                log.debug("redirecting to location= " + location);
+
+                servletRequest.setAttribute(SportletProperties.PORTAL_REDIRECT_PATH, location);
+                //redirectResponse.sendRedirect(location);
+
+            } else {
+
+                // redirect as a GET render url back to the portal
+                PortletURL url = new PortletURLImpl(servletRequest, servletResponse, true);
+                Map params = aResponse.getRenderParameters();
+                url.setParameters(params);
+                servletRequest.setAttribute(SportletProperties.PORTAL_REDIRECT_PATH, url.toString());
+            }
+
+        }
+    }
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeAdded(HttpSessionBindingEvent event) {
+
+        log.debug("attributeAdded('" + event.getSession().getId() + "', '" +
+                event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeRemoved(HttpSessionBindingEvent event) {
+
+        log.debug("attributeRemoved('" + event.getSession().getId() + "', '" +
+                event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeReplaced(HttpSessionBindingEvent event) {
+
+        log.debug("attributeReplaced('" + event.getSession().getId() + "', '" +
+                event.getName() + "', '" + event.getValue() + "')");
+
+    }
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+        log.debug("in PS sessionCreated('" + event.getSession().getId() + "')");
+        //sessionManager.sessionCreated(event);
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+        //sessionManager.sessionDestroyed(event);
+        //loginService.sessionDestroyed(event.getSession());
+        log.debug("in PS sessionDestroyed('" + event.getSession().getId() + "')");
+
+        //HttpSession session = event.getSession();
+        //User user = (User) session.getAttribute(SportletProperties.PORTLET_USER);
+        //System.err.println("user : " + user.getUserID() + " expired!");
+        //PortletLayoutEngine engine = PortletLayoutEngine.getDefault();
+        //engine.removeUser(user);
+        //engine.logoutPortlets(event);
+    }
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionDidActivate(HttpSessionEvent event) {
+        log.debug("sessionDidActivate('" + event.getSession().getId() + "')");
+        //sessionManager.sessionCreated(event);
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionWillPassivate(HttpSessionEvent event) {
+        //sessionManager.sessionDestroyed(event);
+        //loginService.sessionDestroyed(event.getSession());
+        log.debug("sessionWillPassivate('" + event.getSession().getId() + "')");
+        //HttpSession session = event.getSession();
+        //User user = (User) session.getAttribute(SportletProperties.USER);
+        //System.err.println("user : " + user.getUserID() + " expired!");
+        //PortletLayoutEngine engine = PortletLayoutEngine.getDefault();
+        //engine.removeUser(user);
+        //engine.logoutPortlets(event);
+    }
+
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/impl/ServletContextProviderImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+package org.gridsphere.provider.portlet.jsr.impl;
+
+import org.apache.portals.bridges.common.ServletContextProvider;
+import org.gridsphere.portlet.impl.PortletContextImpl;
+
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+/**
+ * ServletContextProvider
+ * 
+ * @author <a href="mailto:novotny at gridsphere.org>Jason Novotny</a>
+ * @version $Id: ServletContextProviderImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public class ServletContextProviderImpl implements ServletContextProvider {
+
+    public ServletContext getServletContext(GenericPortlet portlet) {
+        PortletContextImpl ctx = (PortletContextImpl)(portlet.getPortletContext());
+        return ctx.getServletContext();
+    }
+
+    public HttpServletRequest getHttpServletRequest(GenericPortlet portlet, PortletRequest request) {
+        return (HttpServletRequest) ((HttpServletRequestWrapper) request).getRequest();
+    }
+
+    public HttpServletResponse getHttpServletResponse(GenericPortlet portlet, PortletResponse response) {
+        return (HttpServletResponse) ((HttpServletResponseWrapper) response).getResponse();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPage.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+package org.gridsphere.provider.portlet.jsr.mvc;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+public interface ActionPage {
+
+    public String ERROR_PAGE = "org.gridsphere.provider.portlet.jsr.mvc.ActionPage.ERROR_PAGE";
+    public String SUCCESS_PAGE = "org.gridsphere.provider.portlet.jsr.mvc.ActionPage.SUCCESS_PAGE";
+
+    public void doView(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException;
+
+
+    public void doEdit(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException;
+
+    public void doHelp(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException;
+
+    public String getErrorMessage(PortletRequest request);
+
+    public String getSuccessMessage(PortletRequest request);
+
+    public void setErrorMessage(PortletRequest request, String errorMessage);
+
+    public void setSuccessMessage(PortletRequest request, String successMessage);
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/ActionPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,484 @@
+package org.gridsphere.provider.portlet.jsr.mvc;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.ActionRequestImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.event.jsr.FormEvent;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.event.jsr.impl.ActionFormEventImpl;
+import org.gridsphere.provider.event.jsr.impl.RenderFormEventImpl;
+import org.gridsphere.provider.portlet.jsr.mvc.descriptor.*;
+import org.gridsphere.provider.portletui.beans.MessageBoxBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+
+import javax.portlet.*;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.*;
+
+/**
+ * An <code>ActionPortlet</code> provides an abstraction on top of
+ * <code>AbstractPortlet</code> to develop portlets under the action provider model.
+ */
+public class ActionPortlet extends GenericPortlet {
+
+    public static Log log = LogFactory.getLog(ActionPortlet.class);
+
+    private Map viewPages = null;
+    private Map editPages = null;
+    private Map helpPages = null;
+    private Map configPages = null;
+
+    private String DEFAULT_VIEW_PAGE = null;
+    private String DEFAULT_EDIT_PAGE = null;
+    private String DEFAULT_HELP_PAGE = null;
+    private String DEFAULT_CONFIG_PAGE = null;
+
+    private String portletName = null;
+
+    private String ACTION_PAGE_LABEL = "gs_Page";
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+
+        // load in actionportlet.xml for pages
+
+        String configFile = config.getInitParameter("ACTION_PORTLET_XML");
+        if (configFile == null) configFile = "/WEB-INF/actionportlet.xml";
+
+        portletName = config.getInitParameter("PORTLET_NAME");
+
+        ActionPortletsDescriptor descriptor;
+
+        try {
+            String actionConfigDescriptor = config.getPortletContext().getRealPath(configFile);
+            descriptor = new ActionPortletsDescriptor(actionConfigDescriptor);
+        } catch (PersistenceManagerException e) {
+            throw new PortletException("Unable to load actionportlet.xml", e);
+        }
+
+        viewPages = new HashMap();
+        editPages = new HashMap();
+        helpPages = new HashMap();
+        configPages = new HashMap();
+        ActionPortletCollection actionPortletCollection = descriptor.getActionPortletCollection();
+        List actionPortletList = actionPortletCollection.getActionPortletList();
+        Iterator it = actionPortletList.iterator();
+        while (it.hasNext()) {
+            ActionPortletDefinition def = (ActionPortletDefinition) it.next();
+            String appName = def.getName();
+            if (appName.equals(portletName)) {
+                loadPages(def);
+            }
+        }
+
+    }
+
+
+    public void loadPages(ActionPortletDefinition def) {
+        List pageList = def.getPageList();
+        Iterator it = pageList.iterator();
+        while (it.hasNext()) {
+            ActionPageDefinition pageDef = (ActionPageDefinition) it.next();
+
+            String pageName = pageDef.getName();
+            String className = pageDef.getClassName();
+            if (className != null) {
+                try {
+                    ActionPage page = (ActionPage) Class.forName(className).newInstance();
+                    pageDef.setActionPage(page);
+                    if (pageDef.getMode().equalsIgnoreCase(PortletMode.VIEW.toString())) {
+                        if (DEFAULT_VIEW_PAGE == null) DEFAULT_VIEW_PAGE = pageName;
+                        viewPages.put(pageName, pageDef);
+                    } else if (pageDef.getMode().equalsIgnoreCase(PortletMode.EDIT.toString())) {
+                        if (DEFAULT_EDIT_PAGE == null) DEFAULT_EDIT_PAGE = pageName;
+                        editPages.put(pageName, pageDef);
+                    } else if (pageDef.getMode().equalsIgnoreCase(PortletMode.HELP.toString())) {
+                        if (DEFAULT_HELP_PAGE == null) DEFAULT_HELP_PAGE = pageName;
+                        helpPages.put(pageName, pageDef);
+                    } else if (pageDef.getMode().equalsIgnoreCase("CONFIG")) {
+                        if (DEFAULT_CONFIG_PAGE == null) DEFAULT_CONFIG_PAGE = pageName;
+                        configPages.put(pageName, pageDef);
+                    }
+                } catch (Exception e) {
+                    log.error("Unable to create ActionPage!", e);
+                }
+            }
+        }
+    }
+
+    protected void doDispatch(RenderRequest request,
+                              RenderResponse response) throws PortletException, IOException {
+
+        // if cid is null (true in non-GS portlet container) then use the portlet name
+        //String cid = (String)request.getAttribute(SportletProperties.COMPONENT_ID);
+        //if (cid == null) request.setAttribute(SportletProperties.COMPONENT_ID, getUniqueId());
+
+        WindowState state = request.getWindowState();
+        try {
+            super.doDispatch(request, response);
+        } catch (PortletException e) {
+            if (!state.equals(WindowState.MINIMIZED)) {
+                PortletMode mode = request.getPortletMode();
+                if (mode.toString().equalsIgnoreCase("CONFIG")) {
+                    doConfigure(request, response);
+                    return;
+                }
+            }
+            throw e;
+        }
+
+    }
+
+    public String getNextResult(PortletRequest req) {
+        PortletMode mode = req.getPortletMode();
+        return req.getParameter(ACTION_PAGE_LABEL);
+        //return (String)req.getPortletSession(true).getAttribute("org.gridsphere.provider.ActionPortlet.STATE." + mode.toString() + "." + portletName);
+    }
+
+    /*
+    public void setNextResult(PortletRequest req, String result) {
+        PortletMode mode = req.getPortletMode();
+        req.getPortletSession(true).setAttribute("org.gridsphere.provider.ActionPortlet.STATE." + mode.toString() + "." + portletName, result);
+    }*/
+
+    public ActionPageDefinition getActionPageDef(PortletRequest req) {
+        PortletMode mode = req.getPortletMode();
+        return (ActionPageDefinition) req.getPortletSession(true).getAttribute("org.gridsphere.provider.ActionPortlet.PAGE." + mode.toString() + "." + portletName);
+    }
+
+    public void setActionPageDef(PortletRequest req, ActionPageDefinition def) {
+        PortletMode mode = req.getPortletMode();
+        req.getPortletSession(true).setAttribute("org.gridsphere.provider.ActionPortlet.PAGE." + mode.toString() + "." + portletName, def);
+    }
+
+
+    /**
+     * Uses #getNextState to either render a JSP or invoke the specified render action method
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws javax.portlet.PortletException if a portlet exception occurs
+     * @throws java.io.IOException            if an I/O error occurs
+     */
+    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        String next = getNextResult(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_VIEW_PAGE");
+            next = DEFAULT_VIEW_PAGE;
+            //setNextResult(request, next);
+        }
+        ActionPageDefinition pageDef = (ActionPageDefinition) viewPages.get(next);
+        doMode(request, response, "doView", pageDef);
+    }
+
+    /**
+     * Uses #getNextState to either render a JSP or invoke the specified render action method
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws javax.portlet.PortletException if a portlet exception occurs
+     * @throws java.io.IOException            if an I/O error occurs
+     */
+    public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        String next = getNextResult(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_EDIT_PAGE");
+            next = DEFAULT_EDIT_PAGE;
+            //setNextResult(request, next);
+        }
+        ActionPageDefinition pageDef = (ActionPageDefinition) editPages.get(next);
+        doMode(request, response, "doEdit", pageDef);
+    }
+
+    /**
+     * Uses #getNextState to either render a JSP or invoke the specified render action method
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws javax.portlet.PortletException if a portlet exception occurs
+     * @throws java.io.IOException            if an I/O error occurs
+     */
+    public void doHelp(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        String next = getNextResult(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_HELP_PAGE");
+            next = DEFAULT_HELP_PAGE;
+            //setNextResult(request, next);
+        }
+        ActionPageDefinition pageDef = (ActionPageDefinition) helpPages.get(next);
+        doMode(request, response, "doHelp", pageDef);
+    }
+
+    /**
+     * Uses #getNextState to either render a JSP or invoke the specified render action method
+     *
+     * @param request  the portlet request
+     * @param response the portlet response
+     * @throws javax.portlet.PortletException if a portlet exception occurs
+     * @throws java.io.IOException            if an I/O error occurs
+     */
+    public void doConfigure(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        String next = getNextResult(request);
+        if (next == null) {
+            log.debug("in ActionPortlet: state is null-- setting to DEFAULT_CONFIG_PAGE");
+            next = DEFAULT_CONFIG_PAGE;
+            //setNextResult(request, next);
+        }
+        ActionPageDefinition pageDef = (ActionPageDefinition) helpPages.get(next);
+        doMode(request, response, "doConfigure", pageDef);
+    }
+
+    protected void doMode(RenderRequest request, RenderResponse response, String methodName, ActionPageDefinition pageDef) throws PortletException, IOException {
+        String next = getNextResult(request);
+        log.debug("in ActionPortlet: portlet id= " + getUniqueId() + " mode= " + request.getPortletMode() + " next page is= " + next);
+
+        Map tagBeans = getTagBeans(request);
+        DefaultPortletRender render = (DefaultPortletRender) request.getAttribute(SportletProperties.RENDER_EVENT);
+
+        RenderFormEvent formEvent = new RenderFormEventImpl(render, request, response, tagBeans);
+        Class[] paramTypes = new Class[]{RenderFormEvent.class};
+        Object[] arguments = new Object[]{formEvent};
+
+        setActionPageDef(request, pageDef);
+
+        ActionPage page = pageDef.getActionPage();
+        // if the page is defined invoke it
+        if (page != null) {
+            // Get object and class references
+            Class pageClass = page.getClass();
+            // Call method specified by action name
+            try {
+                Method method = pageClass.getMethod(methodName, paramTypes);
+                method.invoke(this, arguments);
+                StringBuffer sb = new StringBuffer();
+                sb.append("Invoking portlet action ").append(pageClass.getName()).append("#").append(methodName);
+            } catch (NoSuchMethodException e) {
+                String error = "No such method: " + methodName + "\n" + e.getMessage();
+                log.error(error, e);
+                // If action is not illegal do error undefined action
+                //doErrorInvalidAction(request, error);
+                throw new PortletException(e);
+            } catch (IllegalAccessException e) {
+                String error = "Error accessing action method: " + methodName + "\n" + e.getMessage();
+                log.error(error, e);
+                // If action is not illegal do error undefined action
+                //doErrorInvalidAction(request, error);
+                throw new PortletException(e);
+            } catch (InvocationTargetException e) {
+                String error = "Error invoking action method: " + methodName;
+                log.error(error, e);
+
+                // JN request.setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e.getTargetException());
+                //request.getPortletSession(true).setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e.getTargetException());
+
+                // If action is not illegal do error undefined action
+                //doErrorInvalidAction(request, error);
+                throw new PortletException(e.getTargetException());
+            }
+        }
+
+        formEvent.store();
+        String state = pageDef.getState();
+
+        // if JSP state is not null invoke it
+        if (state != null) {
+            try {
+                if (page.getErrorMessage(request) != null) {
+                    //getPortletContext().getRequestDispatcher(pageDef.getState()).include(request, response);
+                    request.getPortletSession(true).removeAttribute(ActionPage.ERROR_PAGE);
+                } else if (page.getSuccessMessage(request) != null) {
+                    //getPortletContext().getRequestDispatcher(pageDef.getState()).include(request, response);
+                    request.getPortletSession(true).removeAttribute(ActionPage.SUCCESS_PAGE);
+                }
+                getPortletContext().getRequestDispatcher(pageDef.getState()).include(request, response);
+            } catch (Exception e) {
+                // JN request.setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e);
+                //request.getPortletSession(true).setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e);
+
+                //log.error("Unable to include resource : " + e.getMessage());
+                //setNextError(request, "Unable to include resource " + jsp);
+                throw new PortletException(e);
+            }
+        }
+
+        removeTagBeans(request);
+        //removeNextTitle(request);
+        //removeNextState(request);
+    }
+
+
+    /**
+     * Sets the tag beans obtained from the FormEvent. Used internally and should not
+     * normally need to be invoked by portlet developers.
+     *
+     * @param request  the <code>PortletRequest</code>
+     * @param tagBeans a <code>Map</code> containing the portlet UI visual beans
+     */
+    protected void setTagBeans(PortletRequest request, Map tagBeans) {
+        String id = getUniqueId();
+        log.debug("saving tag beans in session " + id + ".beans");
+        request.getPortletSession(true).setAttribute(id + ".beans", tagBeans);
+    }
+
+    protected void removeTagBeans(PortletRequest request) {
+        String id = getUniqueId();
+        log.debug("removing tag beans from session " + id + ".beans");
+        request.getPortletSession(true).removeAttribute(id + ".beans");
+    }
+
+    /**
+     * Returns the tag beans obtained from the FormEvent. Used internally and should not
+     * normally need to be invoked by portlet developers.
+     *
+     * @param request the <code>PortletRequest</code>
+     * @return the visual beans
+     */
+    protected Map getTagBeans(PortletRequest request) {
+        String id = getUniqueId();
+        log.debug("getting tag beans from session " + id + ".beans");
+        return (Map) request.getPortletSession(true).getAttribute(id + ".beans");
+    }
+
+    /**
+     * Uses the action name obtained from the <code>ActionEvent</code> to invoke the
+     * appropriate portlet action method.
+     *
+     * @param actionRequest  the <code>ActionRequest</code>
+     * @param actionResponse the <code>ActionResponse</code>
+     * @throws javax.portlet.PortletException if a portlet exception occurs
+     */
+    public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException {
+        log.debug("in ActionPortlet: processAction\t\t\t");
+
+        // if cid is null (true in non-GS portlet container) then use the portlet name
+        //String cid = (String)actionRequest.getAttribute(SportletProperties.COMPONENT_ID);
+        //if (cid == null) actionRequest.setAttribute(SportletProperties.COMPONENT_ID, getUniqueId());
+
+        DefaultPortletAction action = (DefaultPortletAction) actionRequest.getAttribute(SportletProperties.ACTION_EVENT);
+        // In non-GS container this will need to be created
+        //TODO
+        if (!(actionRequest instanceof ActionRequestImpl)) {
+            //  action = GridSphereEventImpl.createAction(actionRequest);
+            //System.err.println("action name" + action.getName());
+        }
+        ActionFormEvent formEvent = new ActionFormEventImpl(action, actionRequest, actionResponse);
+
+        Class[] parameterTypes = new Class[]{ActionFormEvent.class};
+        Object[] arguments = new Object[]{formEvent};
+
+        String methodName = formEvent.getAction().getName();
+
+        doAction(actionRequest, actionResponse, methodName, parameterTypes, arguments);
+        //System.err.println("in processAction: befoire store cid=" + actionRequest.getAttribute(SportletProperties.COMPONENT_ID));
+
+        setTagBeans(actionRequest, formEvent.getTagBeans());
+    }
+
+    /**
+     * Invokes the appropriate portlet action method based on the portlet action received
+     *
+     * @param request        the portlet request
+     * @param response       the portlet response
+     * @param methodName     the method name to invoke
+     * @param parameterTypes the method parameters
+     * @param arguments      the method arguments
+     * @throws javax.portlet.PortletException if an error occurs during the method invocation
+     */
+    protected void doAction(ActionRequest request, ActionResponse response,
+                            String methodName,
+                            Class[] parameterTypes,
+                            Object[] arguments) throws PortletException {
+
+
+        ActionPageDefinition pageDef = getActionPageDef(request);
+        String result;
+        // Get object and class references
+        Class thisClass = this.getClass();
+        // Call method specified by action name
+        try {
+            Method method = thisClass.getMethod(methodName, parameterTypes);
+            result = (String) method.invoke(this, arguments);
+            StringBuffer sb = new StringBuffer();
+            sb.append("Invoking portlet action ").append(thisClass.getName()).append("#").append(methodName);
+
+            log.info(sb.toString());
+        } catch (NoSuchMethodException e) {
+            String error = "No such method: " + methodName + "\n" + e.getMessage();
+            log.error(error, e);
+            // If action is not illegal do error undefined action
+            //doErrorInvalidAction(request, error);
+            throw new PortletException(e);
+        } catch (IllegalAccessException e) {
+            String error = "Error accessing action method: " + methodName + "\n" + e.getMessage();
+            log.error(error, e);
+            // If action is not illegal do error undefined action
+            //doErrorInvalidAction(request, error);
+            throw new PortletException(e);
+        } catch (InvocationTargetException e) {
+            String error = "Error invoking action method: " + methodName;
+            log.error(error, e);
+
+            // JN request.setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e.getTargetException());
+            //request.getPortletSession(true).setAttribute(SportletProperties.PORTLETERROR + request.getAttribute(SportletProperties.PORTLETID), e.getTargetException());
+
+            // If action is not illegal do error undefined action
+            //doErrorInvalidAction(request, error);
+            throw new PortletException(e.getTargetException());
+        }
+
+        List resultList = pageDef.getResultList();
+        Iterator it = resultList.iterator();
+        while (it.hasNext()) {
+            ResultDefinition resultDef = (ResultDefinition) it.next();
+            if (resultDef.getResult().equals(result)) {
+                try {
+                    response.setRenderParameter(ACTION_PAGE_LABEL, resultDef.getState());
+                } catch (IllegalArgumentException e) {
+                    // this might happen if a redirect was given
+                }
+                //setNextResult(request, resultDef.getState());
+            }
+        }
+    }
+
+
+    protected String getLocalizedText(PortletRequest req, String key) {
+        Locale locale = req.getLocale();
+        ResourceBundle bundle = ResourceBundle.getBundle("Portlet", locale);
+        return bundle.getString(key);
+    }
+
+
+    protected String getUniqueId() {
+        //log.debug("setting unique cid: " + this.getPortletConfig().getPortletName());
+        return portletName;
+    }
+
+    public PortletService createPortletService(Class serviceClass) throws PortletServiceException {
+        return PortletServiceFactory.createPortletService(serviceClass, true);
+    }
+
+    protected void createErrorMessage(FormEvent evt, String text) {
+        MessageBoxBean msgBox = evt.getMessageBoxBean("msg");
+        msgBox.setMessageType(MessageStyle.MSG_ERROR);
+        String msgOld = msgBox.getValue();
+        msgBox.setValue((msgOld != null ? msgOld : "") + "\n" + text);
+    }
+
+    protected void createSuccessMessage(FormEvent evt, String text) {
+        MessageBoxBean msg = evt.getMessageBoxBean("msg");
+        msg.setValue(text);
+        msg.setMessageType(MessageStyle.MSG_SUCCESS);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/BaseActionPage.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+package org.gridsphere.provider.portlet.jsr.mvc;
+
+import javax.portlet.PortletException;
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+
+public class BaseActionPage implements ActionPage {
+
+
+    public void doView(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException {
+
+    }
+
+
+    public void doEdit(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException {
+
+    }
+
+    public void doHelp(RenderRequest request,
+                       RenderResponse response)
+            throws PortletException, java.io.IOException {
+
+    }
+
+    public void setErrorMessage(PortletRequest request, String errorMessage) {
+        request.getPortletSession(true).setAttribute(ERROR_PAGE, errorMessage);
+    }
+
+    public String getErrorMessage(PortletRequest request) {
+        return (String)request.getPortletSession(true).getAttribute(ERROR_PAGE);
+    }
+
+    public void setSuccessMessage(PortletRequest request, String successMessage) {
+        request.getPortletSession(true).setAttribute(SUCCESS_PAGE, successMessage);
+    }
+
+    public String getSuccessMessage(PortletRequest request) {
+        return (String)request.getPortletSession(true).getAttribute(SUCCESS_PAGE);
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPageDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr.mvc.descriptor;
+
+import org.gridsphere.provider.portlet.jsr.mvc.ActionPage;
+
+import java.util.List;
+
+public class ActionPageDefinition {
+
+
+    private String name = "";
+    private String mode = "";
+    private String className = "";
+    private ActionPage actionPage = null;
+    private String state = "";
+    private List results = null;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getMode() {
+        return mode;
+    }
+
+    public void setMode(String mode) {
+        this.mode = mode;
+    }
+
+    public String getClassName() {
+        return className;
+    }
+
+    public void setClassName(String className) {
+        this.className = className;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    public ActionPage getActionPage() {
+        return actionPage;
+    }
+
+    public void setActionPage(ActionPage actionPage) {
+        this.actionPage = actionPage;
+    }
+
+    public List getResultList() {
+        return results;
+    }
+
+    public void setResultList(List results) {
+        this.results = results;
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletCollection.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr.mvc.descriptor;
+
+import java.util.List;
+
+public class ActionPortletCollection {
+
+    private List actionPortletList = null;
+
+    public List getActionPortletList() {
+        return actionPortletList;
+    }
+
+    public void setActionPortletList(List actionPortletList) {
+        this.actionPortletList = actionPortletList;
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr.mvc.descriptor;
+
+import java.util.List;
+
+public class ActionPortletDefinition {
+
+    private String name = "";
+    private List pageList = null;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List getPageList() {
+        return pageList;
+    }
+
+    public void setPageList(List pageList) {
+        this.pageList = pageList;
+    }
+    
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ActionPortletsDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr.mvc.descriptor;
+
+import org.gridsphere.portletcontainer.impl.JavaXMLBindingFactory;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+
+/**
+ * The <code>AuthModulesDescriptor</code> 
+ */
+public class ActionPortletsDescriptor {
+
+    private ActionPortletCollection actionPortlets = null;
+    private PersistenceManagerXml pmXML = null;
+
+    /**
+     * Constructor disallows non-argument instantiation
+     */
+    private ActionPortletsDescriptor() {
+    }
+
+    public ActionPortletsDescriptor(String descriptorFile) throws PersistenceManagerException {
+        URL mappingFile = getClass().getResource("/org/gridsphere/provider/portlet/jsr/mvc/descriptor/portlet-services-mapping.xml");
+        pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, mappingFile);
+        actionPortlets = (ActionPortletCollection) pmXML.load();
+    }
+
+
+    public ActionPortletCollection getActionPortletCollection() {
+        return actionPortlets;
+    }
+
+
+    public void setActionPortletCollection(ActionPortletCollection actionPortlets) {
+        this.actionPortlets = actionPortlets;
+    }
+
+    /**
+     * Saves the auth module descriptor
+     *
+     * @throws PersistenceManagerException if a Castor error occurs during the marshalling
+     */
+    public void save() throws PersistenceManagerException {
+        pmXML.save(actionPortlets);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/jsr/mvc/descriptor/ResultDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portlet.jsr.mvc.descriptor;
+
+public class ResultDefinition {
+
+    private String result = "";
+    private String state = "";
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Action Portlet</b>
+<p>
+The GridSphere portlet provider model provides a more sophisticated model for advanced portlet development using
+the {@link org.gridsphere.provider.portlet.ActionPortlet} portlet class. the ActionPortlet extends the
+{@link org.gridsphere.portlet.AbstractPortlet} to offer additional methods for state management and
+action handling. Please see the included tutorials and other presentations for more information.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/ActionURLTagImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,114 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionURLTagImpl.java 4595 2006-03-06 00:23:28Z novotny $
+ */
+package org.gridsphere.provider.portlet.tags.jsr;
+
+import org.gridsphere.provider.portletui.beans.ActionLinkBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.provider.portletui.tags.ActionTag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * The <code>ActionLinkTag</code> provides a hyperlink element that includes a <code>DefaultPortletAction</code>
+ * and can contain nested <code>ActionParamTag</code>s
+ */
+public class ActionURLTagImpl extends ActionTag {
+
+    protected ActionLinkBean actionlink = null;
+    protected String style = MessageStyle.MSG_INFO;
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            actionlink = (ActionLinkBean) pageContext.getAttribute(getBeanKey(), PageContext.REQUEST_SCOPE);
+            if (actionlink == null) {
+                actionlink = new ActionLinkBean();
+                actionlink.setStyle(style);
+                this.setBaseComponentBean(actionlink);
+            }
+        } else {
+            actionlink = new ActionLinkBean();
+            this.setBaseComponentBean(actionlink);
+            actionlink.setStyle(style);
+        }
+
+        if (name != null) actionlink.setName(name);
+        if (anchor != null) actionlink.setAnchor(anchor);
+
+        if (key != null) {
+            actionlink.setKey(key);
+            actionlink.setValue(getLocalizedText(key));
+        }
+
+        return EVAL_BODY_BUFFERED;
+    }
+
+    public int doEndTag() throws JspException {
+        paramPrefixing = false;
+        // set action to non-null
+        if (action == null) action = "";
+
+        String actionString = createActionURI();
+        actionlink.setAction(actionString);
+
+        if ((bodyContent != null) && (value == null)) {
+            actionlink.setValue(bodyContent.getString());
+        }
+
+        if (imageBean != null) {
+            String val = actionlink.getValue();
+            if (val == null) val = "";
+            actionlink.setValue(imageBean.toStartString() + val);
+        }
+
+        if (var == null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(actionString);
+            } catch (Exception e) {
+                throw new JspException(e);
+            }
+        } else {
+            pageContext.setAttribute(var, actionString, PageContext.PAGE_SCOPE);
+        }
+        windowState = null;
+        portletMode = null;
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/DefineObjectsTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: DefineObjectsTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portlet.tags.jsr;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+
+import javax.portlet.PortletConfig;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.TagSupport;
+import javax.servlet.jsp.tagext.VariableInfo;
+
+/**
+ * The <code>DefineObjectsTag</code> sets the <code>RenderRequest</code>, <code>RenderResponse</code> and
+ * <code>PortletConfig</code> objects in the request to make them available to other tags.
+ */
+public class DefineObjectsTag extends TagSupport {
+
+    public static class TEI extends TagExtraInfo {
+
+        public VariableInfo[] getVariableInfo(TagData tagData) {
+            return new VariableInfo[]{
+                new VariableInfo("renderRequest",
+                        "javax.portlet.RenderRequest",
+                        true,
+                        VariableInfo.AT_BEGIN),
+                new VariableInfo("renderResponse",
+                        "javax.portlet.RenderResponse",
+                        true,
+                        VariableInfo.AT_BEGIN),
+                new VariableInfo("portletConfig",
+                        "javax.portlet.PortletConfig",
+                        true,
+                        VariableInfo.AT_BEGIN)
+            };
+        }
+    }
+
+    public int doStartTag() throws JspException {
+        ServletRequest req = pageContext.getRequest();
+        RenderRequest renderRequest = null;
+        HttpServletRequest hReq = null;
+        if (req instanceof HttpServletRequest) {
+            hReq = (HttpServletRequest) req;
+            renderRequest = (RenderRequest) hReq.getAttribute(SportletProperties.RENDER_REQUEST);
+            pageContext.setAttribute("renderRequest", renderRequest);
+        }
+        ServletResponse res = pageContext.getResponse();
+        if (res instanceof HttpServletResponse) {
+            RenderResponse renderResponse = (RenderResponse) hReq.getAttribute(SportletProperties.RENDER_RESPONSE);
+            renderResponse.setContentType("text/html");
+            pageContext.setAttribute("renderResponse", renderResponse);
+        }
+        PortletConfig portletConfig = (PortletConfig) hReq.getAttribute(SportletProperties.PORTLET_CONFIG);
+        pageContext.setAttribute("portletConfig", portletConfig);
+
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/NamespaceTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: NamespaceTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portlet.tags.jsr;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.TagSupport;
+import java.io.IOException;
+
+/**
+ * This tag produces a unique value for the current portlet.
+ * <p/>
+ * Supporting class for the <CODE>namespace</CODE> tag.
+ * writes a unique value for the current portlet
+ * <BR>This tag has no attributes
+ */
+public class NamespaceTag extends TagSupport {
+
+    public int doStartTag() throws JspException {
+        RenderResponse renderResponse = (RenderResponse) pageContext.getAttribute("renderResponse", PageContext.PAGE_SCOPE);
+        String namespace = renderResponse.getNamespace();
+        JspWriter writer = pageContext.getOut();
+        try {
+            writer.print(namespace);
+        } catch (IOException e) {
+            throw new JspException("namespace Tag Exception: cannot write to the output writer.", e);
+        }
+        return SKIP_BODY;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/jsr/RenderURLTagImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RenderURLTagImpl.java 4595 2006-03-06 00:23:28Z novotny $
+ */
+package org.gridsphere.provider.portlet.tags.jsr;
+
+import org.gridsphere.provider.portletui.beans.ActionLinkBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.provider.portletui.tags.ActionTag;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import java.util.ArrayList;
+
+/**
+ * The <code>ActionLinkTag</code> provides a hyperlink element that includes a <code>DefaultPortletAction</code>
+ * and can contain nested <code>ActionParamTag</code>s
+ */
+public class RenderURLTagImpl extends ActionTag {
+
+    protected ActionLinkBean actionlink = null;
+    protected String style = MessageStyle.MSG_INFO;
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            actionlink = (ActionLinkBean) pageContext.getAttribute(getBeanKey(), PageContext.REQUEST_SCOPE);
+            if (actionlink == null) {
+                actionlink = new ActionLinkBean();
+                actionlink.setStyle(style);
+                this.setBaseComponentBean(actionlink);
+            }
+        } else {
+            actionlink = new ActionLinkBean();
+            this.setBaseComponentBean(actionlink);
+            actionlink.setStyle(style);
+        }
+        if (name != null) actionlink.setName(name);
+        if (anchor != null) actionlink.setAnchor(anchor);
+
+        paramBeans = new ArrayList();
+
+        if (key != null) {
+            actionlink.setKey(key);
+            actionlink.setValue(getLocalizedText(key));
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        paramPrefixing = false;
+
+        String actionString = createRenderURI();
+        //actionlink.setAction(actionString);
+        if ((bodyContent != null) && (value == null)) {
+            actionlink.setValue(bodyContent.getString());
+        }
+
+        if (imageBean != null) {
+            String val = actionlink.getValue();
+            if (val == null) val = "";
+            actionlink.setValue(imageBean.toStartString() + val);
+        }
+        if (var == null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(actionString);
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        } else {
+            pageContext.setAttribute(var, actionString, PageContext.PAGE_SCOPE);
+        }
+        windowState = null;
+        portletMode = null;
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portlet/tags/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Portlet Tag Library</b>
+<p>
+The Portlet Tag Library provides a few tags to make portlet objects available to other tags and JSP developers
+The following tags are provided:
+<ul>
+<li>{@link org.gridsphere.provider.portlet.tags.gs.InitTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.HasRoleTag}</li>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,365 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionBean.java 4596 2006-03-06 00:24:18Z novotny $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An <code>ActionBean</code> is an abstract visual bean that is responsible for creating
+ * <code>DefaultPortletAction</code> using a supplied <code>PortletURI</code> and is used by
+ * the <code>ActionLinkBean</code> and <code>ActionSubmitBean</code>
+ */
+public abstract class ActionBean extends BaseComponentBean implements TagBean {
+
+    protected String action = null;
+    protected boolean isSecure = false;
+    protected String portletURI = null;
+    protected List<ParamBean> paramBeanList = new ArrayList<ParamBean>();
+    protected String label = null;
+    protected String layout = null;
+    protected String anchor = null;
+    protected String trackMe = null;
+    protected String extUrl = null;
+    protected String onClick = null;
+    protected String onMouseOver = null;
+    protected String onMouseOut = null;
+    protected String onSubmit = null;
+    protected String onReset = null;
+    protected boolean useAjax = false;
+
+    /**
+     * Constructs default action bean
+     */
+    public ActionBean() {
+    }
+
+    /**
+     * Constructs action bean with the supplied name
+     *
+     * @param name an identifying name
+     */
+    public ActionBean(String name) {
+        super(name);
+    }
+
+    /**
+     * Returns the action specified by the onClick attribute
+     *
+     * @return the action specified by the onClick attribute
+     */
+    public String getOnClick() {
+        return onClick;
+    }
+
+    /**
+     * Sets the action specified by the onClick attribute
+     *
+     * @param onClick the javascript action to perform
+     */
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    /**
+     * Returns the action specified by the onReset attribute
+     *
+     * @return the action specified by the onReset attribute
+     */
+    public String getOnReset() {
+        return onReset;
+    }
+
+    /**
+     * Sets the action specified by the onReset attribute
+     *
+     * @param onReset the javascript action to perform
+     */
+    public void setOnReset(String onReset) {
+        this.onReset = onReset;
+    }
+
+    /**
+     * Returns the action specified by the onMouseOver attribute
+     *
+     * @return onMouseOver the javascript onMouseOver event
+     */
+    public String getOnMouseOver() {
+        return onMouseOver;
+    }
+
+    /**
+     * Sets the action specified by the onMouseOver event
+     *
+     * @param onMouseOver the javascript onMouseOver event
+     */
+    public void setOnMouseOver(String onMouseOver) {
+        this.onMouseOver = onMouseOver;
+    }
+
+    /**
+     * Returns the action specified by the onMouseOut attribute
+     *
+     * @return onMouseOver the javascript onMouseOut event
+     */
+    public String getOnMouseOut() {
+        return onMouseOut;
+    }
+
+    /**
+     * Sets the action specified by the onMouseOut event
+     *
+     * @param onMouseOut the javascript onMouseOut event
+     */
+    public void setOnMouseOut(String onMouseOut) {
+        this.onMouseOut = onMouseOut;
+    }
+
+    /**
+     * Returns the action specified by the onSubmit attribute
+     *
+     * @return the action specified by the onSubmit attribute
+     */
+    public String getOnSubmit() {
+        return onSubmit;
+    }
+
+    /**
+     * Sets the action specified by the onSubmit attribute
+     *
+     * @param onSubmit the javascript action to perform
+     */
+    public void setOnSubmit(String onSubmit) {
+        this.onSubmit = onSubmit;
+    }
+
+    /**
+     * Returns true if this action should only retrieve the portlet fragment using AJAX (XmlHttpRequest)
+     *
+     * @return true if this action should only retrieve the portlet fragment using AJAX (XmlHttpRequest)
+     */
+    public boolean getUseAjax() {
+        return useAjax;
+    }
+
+    /**
+     * If true this action should only retrieve the portlet fragment using AJAX (XmlHttpRequest)
+     *
+     * @param useAjax true if this action should only retrieve the portlet fragment using AJAX (XmlHttpRequest)
+     */
+    public void setUseAjax(boolean useAjax) {
+        this.useAjax = useAjax;
+    }
+
+    /**
+     * Sets the label identified with the portlet component to link to
+     *
+     * @param label the action link key
+     */
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    /**
+     * Returns the label identified with the portlet component to link to
+     *
+     * @return the label
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Returns the layout id that identifies a layout descriptor to target
+     *
+     * @return the layout id that identifies a layout descriptor to target
+     */
+    public String getLayout() {
+        return layout;
+    }
+
+    /**
+     * Sets the layout id that identifies a layout descriptor to target
+     *
+     * @param layout the layout id that identifies a layout descriptor to target
+     */
+    public void setLayout(String layout) {
+        this.layout = layout;
+    }
+
+    /**
+     * Sets a label to track this action and persist in the DB
+     *
+     * @param trackMe a label for this action
+     */
+    public void setTrackme(String trackMe) {
+        this.trackMe = trackMe;
+    }
+
+    /**
+     * Returns the tracking label for this action
+     *
+     * @return the tracking label
+     */
+    public String getTrackme() {
+        return trackMe;
+    }
+
+    /**
+     * Returns the external url that this actionlink will redirect to
+     *
+     * @return the external url that this actionlink will redirect to
+     */
+    public String getExturl() {
+        return extUrl;
+    }
+
+    /**
+     * Sets the external url that this actionlink will redirect to
+     *
+     * @param extUrl the external url that this actionlink will redirect to
+     */
+    public void setExturl(String extUrl) {
+        this.extUrl = extUrl;
+    }
+
+    /**
+     * Sets the text that should be added at the end of generated URL
+     *
+     * @param anchor the action link key
+     */
+    public void setAnchor(String anchor) {
+        this.anchor = anchor;
+    }
+
+    /**
+     * Returns the anchor used to identify text that should be added at the end of generated URL
+     *
+     * @return the anchor
+     */
+    public String getAnchor() {
+        return anchor;
+    }
+
+    /**
+     * Sets the action link name used to identify an anchor
+     *
+     * @param name the action link name
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the action link name used to identify an anchor
+     *
+     * @return the action link name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * If secure is true, then use https, otherwise use http
+     *
+     * @param isSecure if true use https, otherwise use http
+     */
+    public void setSecure(boolean isSecure) {
+        this.isSecure = isSecure;
+    }
+
+    /**
+     * Returns true if this actiontag is secure e.g. https, flase otherwise
+     *
+     * @return true if this actiontag is secure, false otherwise
+     */
+    public boolean getSecure() {
+        return isSecure;
+    }
+
+    /**
+     * Sets the uri for the link
+     *
+     * @param portletURI the portlet uri
+     */
+    public void setPortletURI(String portletURI) {
+        this.portletURI = portletURI;
+    }
+
+    /**
+     * Returns the uri for the link
+     *
+     * @return returns the action
+     */
+    public String getPortletURI() {
+        return portletURI;
+    }
+
+    /**
+     * Sets the action for the link
+     *
+     * @param action the action name
+     */
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    /**
+     * Returns the action name
+     *
+     * @return returns the action name
+     */
+    public String getAction() {
+        return action;
+    }
+
+    /**
+     * Sets the list of name value parameter beans
+     *
+     * @param paramBeanList a list containing <code>ActionParamBean</code>s
+     */
+    public void setParamBeanList(List<ParamBean> paramBeanList) {
+        this.paramBeanList = paramBeanList;
+    }
+
+    /**
+     * Returns the list of name value parameter beans
+     *
+     * @return the list containing <code>ActionParamBean</code>s
+     */
+    public List<ParamBean> getParamBeanList() {
+        return paramBeanList;
+    }
+
+    /**
+     * Adds an action parameter bean
+     *
+     * @param paramBean an action parameter bean
+     */
+    public void addParamBean(ParamBean paramBean) {
+        paramBeanList.add(paramBean);
+    }
+
+    /**
+     * Creates and adds an action parameter bean
+     *
+     * @param paramName  the parameter name
+     * @param paramValue the parameter value
+     */
+    public void addParamBean(String paramName, String paramValue) {
+        ParamBean paramBean = new ParamBean(paramName, paramValue);
+        paramBeanList.add(paramBean);
+    }
+
+    /**
+     * Removes an action parameter bean
+     *
+     * @param paramBean the action parameter bean
+     */
+    public void removeParamBean(ParamBean paramBean) {
+        paramBeanList.remove(paramBean);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionComponentBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionComponentBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionComponentBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+/*
+ * @author <a href="mailto:russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: ActionComponentBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ * <p>
+ * Includes jsp pages from any web application.
+ */
+
+public class ActionComponentBean extends IncludeBean {
+
+    private transient static Log log = LogFactory.getLog(ActionComponentBean.class);
+    protected String activeCompId = "";
+
+    /**
+     * Constructs default include bean
+     */
+    public ActionComponentBean() {
+        super();
+    }
+
+    /**
+     * Constructs an include bean
+     */
+    public ActionComponentBean(String beanId) {
+        super(beanId);
+    }
+
+    public String getActiveComponentId() {
+        return activeCompId;
+    }
+
+    public void setActionComponentId(String compId) {
+        this.activeCompId = compId;
+    }
+
+    public void store() {
+        log.debug("Storing action component bean " + getBeanKey());
+        //super.store();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionLinkBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionLinkBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionLinkBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionLinkBean.java 4694 2006-03-29 20:28:46Z novotny $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An <code>ActionLinkBean</code> is a visual bean that represents a hyperlink containing a portlet action
+ */
+public class ActionLinkBean extends ActionBean implements TagBean {
+
+    protected String style = "none";
+
+    /**
+     * Constructs a default action link bean
+     */
+    public ActionLinkBean() {
+    }
+
+    /**
+     * Constructs an action link bean from a portlet request and supplied bean identifier
+     *
+     * @param beanId the bean id used to reference this ActionLinkBean
+     */
+    public ActionLinkBean(String beanId) {
+        this.beanId = beanId;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle - plain text</li>
+     * <li>error - error text</li>
+     * <li>info - default info text</li>
+     * <li>status - status text</li>
+     * <li>alert - alert text</li>
+     * <li>success - success text</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        // now do the string rendering
+        action = this.portletURI.toString();
+
+        if (anchor != null) action += "#" + anchor;
+
+        //String hlink = "<a href=\"" + action + "\"" + " onClick=\"this.href='" + action + "&amp;JavaScript=enabled'\"/>" + value + "</a>";
+        if (style.equalsIgnoreCase("error") || (style.equalsIgnoreCase("err"))) {
+            this.cssClass = MessageStyle.MSG_ERROR;
+        } else if (style.equalsIgnoreCase("status")) {
+            this.cssClass = MessageStyle.MSG_STATUS;
+        } else if (style.equalsIgnoreCase("info")) {
+            this.cssClass = MessageStyle.MSG_INFO;
+        } else if (style.equalsIgnoreCase("alert")) {
+            this.cssClass = MessageStyle.MSG_ALERT;
+        } else if (style.equalsIgnoreCase("success")) {
+            this.cssClass = MessageStyle.MSG_SUCCESS;
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_BOLD)) {
+            this.addCssStyle("font-weight: bold;");
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_ITALIC)) {
+            this.addCssStyle("font-weight: italic;");
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_UNDERLINE)) {
+            this.addCssStyle("font-weight: underline;");
+        }
+        StringBuffer sb = new StringBuffer();
+        sb.append("<a");
+        if (name != null) sb.append(" name=\"").append(name).append("\"");
+        if (id != null) sb.append(" id=\"").append(id).append("\" ");
+        if (useAjax) action = "#";
+        sb.append(" href=\"").append(action).append("\"");
+
+        sb.append(getFormattedCss());
+        if (onClick != null) sb.append(" onclick=\"").append(onClick).append("\"");
+        if (onMouseOut != null) sb.append(" onMouseOut=\"").append(onMouseOut).append("\"");
+        if (onMouseOver != null) sb.append(" onMouseOver=\"").append(onMouseOver).append("\"");
+        sb.append(">").append(value).append("</a>");
+        return sb.toString();
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.portlet.PortletURL;
+import java.util.Iterator;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ActionMenuBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class ActionMenuBean extends BeanContainer implements TagBean {
+
+    private transient static Log log = LogFactory.getLog(ActionMenuBean.class);
+
+    public final static String TYPE_ACTIONBAR = "actionbar";
+    public final static String TYPE_ACTIONTAB = "actiontab";
+    // public final static String TYPE_LINKTREE = "linktree";
+    // public final static String TYPE_DROPDOWN = "dropdown";
+    public final static String MENU_HORIZONTAL = "horizontal";
+    public final static String MENU_VERTICAL = "vertical";
+
+
+    protected String align = MENU_HORIZONTAL;
+    protected String title = null;
+    private boolean hasParentMenu = false;
+    protected String menutype = TYPE_ACTIONBAR;
+    protected boolean collapsible = false;
+    protected boolean collapsed = false;
+    protected PortletURL portletURL = null;
+
+    protected boolean previousWasMenuItem = false;
+    protected boolean hasMenuItems = false;
+    protected boolean menuDrawn = false;
+
+    public ActionMenuBean() {
+        super();
+    }
+
+    public ActionMenuBean(String beanId) {
+        super();
+        this.beanId = beanId;
+    }
+
+    public PortletURL getPortletURL() {
+        return portletURL;
+    }
+
+    public void setPortletURL(PortletURL portletURL) {
+        this.portletURL = portletURL;
+    }
+
+    public boolean isCollapsible() {
+        return collapsible;
+    }
+
+    public void setCollapsible(boolean collapsible) {
+        this.collapsible = collapsible;
+    }
+
+    public boolean isCollapsed() {
+        return collapsed;
+    }
+
+    public void setCollapsed(boolean collapsed) {
+        this.collapsed = collapsed;
+    }
+
+    public String getMenutype() {
+        return menutype;
+    }
+
+    public void setMenutype(String menutype) {
+        this.menutype = menutype;
+    }
+
+    /**
+     * Adds a BaseComponentBean. This can be a bean like a ActionLink, an ActionMenuItemBean wrapper will
+     * be created around it.
+     *
+     * @param bean to add
+     */
+    public void addMenuEntry(BaseComponentBean bean) {
+        ActionMenuItemBean amiBean = new ActionMenuItemBean();
+        amiBean.addBean(bean);
+        this.addBean(amiBean);
+
+    }
+
+    /**
+     * Gets the title of the menu.
+     *
+     * @return title of the menu
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * Sets the title of the menu.
+     *
+     * @param title title of the menu
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * Gets the alignment of the menu.
+     *
+     * @return alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the alignment of the menu.
+     *
+     * @param align alignmnet of the menu
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns true when the parent is another actionmenu.
+     *
+     * @return true/false if parent is actionmenu.
+     */
+    public boolean isHasParentMenu() {
+        return hasParentMenu;
+    }
+
+    /**
+     * Defines if parent is another Actionmenu. Is used for different coloring of the labels. Set automatically.
+     *
+     * @param hasParentMenu true/false
+     */
+    public void setHasParentMenu(boolean hasParentMenu) {
+        this.hasParentMenu = hasParentMenu;
+    }
+
+    public String toStartString() {
+        //log.debug("toStartString()");
+        StringBuffer sb = new StringBuffer();
+
+        //log.debug("menutype=" + menutype);
+
+        if (menutype.equals(TYPE_ACTIONTAB)) {
+            //log.debug("hasParentMenu=" + hasParentMenu);
+            if (hasParentMenu) {
+                //log.debug("Starting Tab Menu");
+                sb.append("<div id=\"actiontabmenu\"><ul>");
+            } else {
+                //log.debug("Starting Tab Pane");
+                sb.append("<div id=\"actiontabpane\">");
+            }
+        } else {
+            if (!hasParentMenu) {
+                // need a table for limiting the div just to the size of the longest text
+                sb.append("<table class=\"portlet-menu\" ");
+                sb.append("><tr><td>");
+            } else {
+                this.cssStyle = "margin-top: 5px;";
+            }
+
+//            sb.append("<div " + getFormattedCss() + ">");
+
+            // try to render title if there is one
+            if (title != null) {
+                sb.append("<div class=\"portlet-menu-caption\">");
+
+                sb.append(title);
+
+                sb.append("</div>");
+            }
+        }
+
+        return sb.toString();
+    }
+
+    public String toEndString() {
+
+        //log.debug("toEndString()");
+
+        StringBuffer sb = new StringBuffer();
+
+        //log.debug("menutype=" + menutype);
+
+        if (menutype.equals(TYPE_ACTIONTAB)) {
+
+            //log.debug("hasParentMenu=" + hasParentMenu);
+
+            // Iterate through child beans
+            Iterator it = container.iterator();
+            while (it.hasNext()) {
+                BaseComponentBean bean = (BaseComponentBean) it.next();
+                if (bean instanceof ActionMenuItemBean) {
+                    ActionMenuItemBean itemBean = (ActionMenuItemBean) bean;
+                    itemBean.setAlign(align);
+                    itemBean.setMenutype(menutype);
+                } else if (bean instanceof ActionMenuBean) {
+                    ActionMenuBean menuBean = (ActionMenuBean) bean;
+                    menuBean.setAlign(align);
+                    menuBean.setMenutype(menutype);
+                    menuBean.setHasParentMenu(true);
+                }
+                sb.append(bean.toStartString());
+                sb.append(bean.toEndString());
+            }
+
+            if (hasParentMenu) {
+                //log.debug("Ending Tab Menu");
+                sb.append("</ul><span id=\"actiontabclear\"></span></div>");
+            } else {
+                //log.debug("Ending Tab Pane");
+                sb.append("</div>");
+            }
+        } else {
+            if (!this.isCollapsed()) {
+
+                Iterator it = container.iterator();
+                while (it.hasNext()) {
+                    BaseComponentBean bean = (BaseComponentBean) it.next();
+                    if (bean instanceof ActionMenuItemBean) {
+                        ActionMenuItemBean itemBean = (ActionMenuItemBean) bean;
+                        // if child is actionitem set these values on them, needed for correct rendering
+                        itemBean.setAlign(this.align);
+                        itemBean.setMenutype(this.menutype);
+                    }
+                    sb.append(bean.toStartString());
+                    sb.append(bean.toEndString());
+                }
+            }
+
+//            sb.append("</div>");
+            if (hasParentMenu) {
+                sb.append("<span id=\"actiontabclear\"></span></div>");
+            } else {
+                sb.append("</td></tr></table>");
+            }
+        }
+
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionMenuItemBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.Iterator;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ActionMenuItemBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class ActionMenuItemBean extends BeanContainer {
+
+    protected boolean seperator = false;
+    protected String align = ActionMenuBean.MENU_HORIZONTAL;
+    protected String menutype = ActionMenuBean.TYPE_ACTIONBAR;
+    protected boolean isSelected = false;
+    //protected String info = null;
+
+    public ActionMenuItemBean() {
+        super();
+    }
+
+    public ActionMenuItemBean(String beanId) {
+        super();
+        this.beanId = beanId;
+    }
+
+    public String getMenutype() {
+        return menutype;
+    }
+
+    public void setMenutype(String menutype) {
+        this.menutype = menutype;
+    }
+
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the alignment of the MenuItem. If it is added to a @see ActionMenuBean the alignment from that one
+     * has will be used.
+     *
+     * @param menualign
+     */
+    public void setAlign(String menualign) {
+        this.align = menualign;
+    }
+
+    public boolean isSeperator() {
+        return seperator;
+    }
+
+    public void setSeperator(boolean seperator) {
+        this.seperator = seperator;
+    }
+
+
+    public boolean isSelected() {
+        return isSelected;
+    }
+
+    public void setSelected(boolean selected) {
+        isSelected = selected;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        if (menutype.equals(ActionMenuBean.TYPE_ACTIONTAB)) {
+            if (isSelected()) {
+                sb.append("<div id=\"actiontabselected\">");
+            }
+            sb.append("<li id=\"actiontabmenu\">");
+        } else if (menutype.equals(ActionMenuBean.TYPE_ACTIONBAR)) {
+            if (this.align.equals(ActionMenuBean.MENU_VERTICAL)) {
+                sb.append("<div style=\"display: block; margin-top: 5px;\">");
+            }
+        }
+
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+
+        Iterator it = container.iterator();
+        while (it.hasNext()) {
+            BaseComponentBean itemBean = (BaseComponentBean) it.next();
+            sb.append(itemBean.toStartString());
+            sb.append(itemBean.toEndString());
+        }
+
+        if (menutype.equals(ActionMenuBean.TYPE_ACTIONTAB)) {
+            sb.append("</li>");
+            if (isSelected()) {
+                sb.append("</div>");
+            }
+        } else if (menutype.equals(ActionMenuBean.TYPE_ACTIONBAR)) {
+            if (align.equals(ActionMenuBean.MENU_VERTICAL)) {
+                sb.append("</div>");
+            }
+        }
+
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionSubmitBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionSubmitBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ActionSubmitBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionSubmitBean.java 4603 2006-03-06 20:34:16Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An <code>ActionSubmitBean</code> is a visual bean that represents an HTML button and
+ * has an associated <code>DefaultPortletAction</code>
+ */
+public class ActionSubmitBean extends ActionBean implements TagBean {
+
+    public static final String SUBMIT_STYLE = "portlet-form-button";
+    public static final String NAME = "as";
+
+    protected String imageSrc = null;
+
+    /**
+     * Constructs a default action submit bean
+     */
+    public ActionSubmitBean() {
+        super(NAME);
+        this.cssClass = SUBMIT_STYLE;
+    }
+
+    /**
+     * Constructs an action submit bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ActionSubmitBean(String beanId) {
+        super(NAME);
+        this.cssClass = SUBMIT_STYLE;
+        this.beanId = beanId;
+    }
+
+
+    public String getImageSrc() {
+        return imageSrc;
+    }
+
+    public void setImageSrc(String imageSrc) {
+        this.imageSrc = imageSrc;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        String sname = (name == null) ? "" : name;
+        StringBuffer sb = new StringBuffer();
+
+        String inputType = "submit";
+        if (useAjax) inputType = "button";
+        if (imageSrc != null) inputType = "image";
+        sb.append("<input ");
+        if (id != null) sb.append("id=\"").append(id).append("\" ");
+        sb.append(getFormattedCss()).append("type=\"").append(inputType).append("\" ").append(checkDisabled());
+        if (imageSrc != null) sb.append("src=\"").append(imageSrc).append("\" ");
+        if (disabled) sb.append("disabled ");
+        if (action != null) sname = action;
+        if (anchor != null) sname += "#" + anchor;
+        if (onClick != null) {
+            // 'onClick' replaced by 'onclick' for XHTML 1.0 Strict compliance
+            sb.append("onclick=\"").append(onClick).append("\" ");
+        }
+        sb.append("name=\"").append(sname).append("\" value=\"").append(value).append("\"/>");
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,135 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+
+import javax.portlet.RenderResponse;
+import javax.portlet.RenderRequest;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.ResourceBundle;
+
+
+/**
+ * The abstract <code>BaseBean</code> is an implementation of the <code>TagBean</code> interface.
+ * <code>BaseBean</code> provides the basic functionality for all visual beans.
+ */
+public abstract class BaseBean implements TagBean {
+
+    protected String beanId = "";
+    protected String vbName = "undefined";
+    protected Locale locale = null;
+    protected Map params = new HashMap();
+    public RenderResponse renderResponse;
+    public RenderRequest renderRequest;
+
+    public RenderResponse getRenderResponse() {
+        return renderResponse;
+    }
+
+    public void setRenderResponse(RenderResponse renderResponse) {
+        this.renderResponse = renderResponse;
+    }
+
+
+    public RenderRequest getRenderRequest() {
+        return renderRequest;
+    }
+
+    public void setRenderRequest(RenderRequest renderRequest) {
+        this.renderRequest = renderRequest;
+    }
+
+    /**
+     * Constructs default base bean
+     */
+    public BaseBean() {
+        super();
+    }
+
+    /**
+     * Constructs a base bean for the supplied visual bean type
+     *
+     * @param vbName a name identifying the type of visual bean
+     */
+    public BaseBean(String vbName) {
+        this.vbName = vbName;
+    }
+
+    public void addParam(String name, String value) {
+        params.put(name, value);
+    }
+
+    public void removeParam(String name) {
+        params.remove(name);
+    }
+
+    protected String createTagName(String name) {
+        String sname = "";
+        String pname = (name == null) ? "" : name;
+        String compId = (String)params.get(SportletProperties.GP_COMPONENT_ID);
+        if (beanId.equals("")) return pname;
+        if (compId == null) {
+            sname = "ui_" + vbName + "_" + beanId + "_" + pname;
+        } else {
+            String cid = (String)params.get(SportletProperties.COMPONENT_ID);
+            sname = "ui_" + vbName + "_" + compId + "%" + beanId + "_" + pname + cid;
+        }
+        return sname;
+    }
+
+    public void setLocale(Locale locale) {
+        this.locale = locale;
+    }
+
+    /**
+     * Returns the bean identifier
+     *
+     * @return the bean identifier
+     */
+    public String getBeanId() {
+        return this.beanId;
+    }
+
+    /**
+     * Sets the bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public void setBeanId(String beanId) {
+        this.beanId = beanId;
+    }
+
+
+    public abstract String toStartString();
+
+    public abstract String toEndString();
+
+    public String getBeanKey() {
+        String cid = (String)params.get(SportletProperties.COMPONENT_ID);
+        String compId = (String)params.get(SportletProperties.GP_COMPONENT_ID);
+
+        String beanKey = null;
+        if (compId == null) {
+            beanKey = beanId + "_" + cid;
+        } else {
+            beanKey = compId + "%" + beanId + "_" + cid;
+        }
+        System.err.println("getBeanKey(" + beanId + ") = " + beanKey);
+        return beanKey;
+    }
+
+    protected String getLocalizedText(String key) {
+        return getLocalizedText(key, "gridsphere.resources.Portlet");
+    }
+
+    protected String getLocalizedText(String key, String base) {
+        ResourceBundle bundle = ResourceBundle.getBundle(base, locale);
+        return bundle.getString(key);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseComponentBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseComponentBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BaseComponentBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,278 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseComponentBean.java 4884 2006-06-26 23:52:48Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.Locale;
+
+/**
+ * The abstract <code>BaseComponentBean</code> defines the visual bean properties of all ui tag beans
+ */
+public abstract class BaseComponentBean extends BaseBean implements Comparable {
+
+    protected String name = null;
+    protected String value = null;
+    protected boolean readonly = false;
+    protected boolean disabled = false;
+    protected String key = null;
+
+    protected String cssStyle = null;
+    protected String cssClass = null;
+    protected String id = null;
+
+    /**
+     * Constructs a default base component bean
+     */
+    public BaseComponentBean() {
+        super();
+    }
+
+    /**
+     * Constructs a base component bean using the supplied visual bean type identifier
+     *
+     * @param vbName the supplied visual bean type identifier
+     */
+    public BaseComponentBean(String vbName) {
+        super(vbName);
+    }
+
+    /**
+     * Sets the id of the bean  (not to be confused with beanId)
+     *
+     * @param id the id of the bean
+     */
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    /**
+     * Gets the id of the bean
+     *
+     * @return id of the bean
+     */
+    public String getId() {
+        return this.id;
+    }
+
+    /**
+     * Sets the name of the bean
+     *
+     * @param name the name of the bean
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the name of the bean
+     *
+     * @return name of the bean
+     */
+    public String getName() {
+        return this.name;
+    }
+
+    /**
+     * Sets the bean value
+     *
+     * @param value the bean value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Returns the bean value
+     *
+     * @return the bean value
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Returns the key used to identify localized text
+     *
+     * @return the key used to identify localized text
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Sets the key used to identify localized text
+     *
+     * @param key the key used to identify localized text
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * Returns true if bean is in disabled state.
+     *
+     * @return state
+     */
+    public boolean isDisabled() {
+        return disabled;
+    }
+
+    /**
+     * Sets the disabled attribute of the bean to be 'flag' state
+     *
+     * @param flag is true if the bean is to be disabled, false otherwise
+     */
+    public void setDisabled(boolean flag) {
+        this.disabled = flag;
+    }
+
+    /**
+     * Returns disabled String if bean is disabled
+     *
+     * @return disabled String if bean is disabled or blank otherwise
+     */
+    protected String checkDisabled() {
+        if (disabled) {
+            // 'disabled' replaced by 'disabled="disabled"' for XHTML 1.0 Strict compliance
+            return " disabled=\"disabled\" ";
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Sets the bean to readonly
+     *
+     * @param flag is true if the bean is read-only, false otherwise
+     */
+    public void setReadOnly(boolean flag) {
+        this.readonly = flag;
+    }
+
+    /**
+     * Returns the read-only status of the bean
+     *
+     * @return true if bean is read-only, false otherwise
+     */
+    public boolean isReadOnly() {
+        return readonly;
+    }
+
+    /**
+     * Returns 'readonly' string if bean is read-only, blank string otherwise
+     *
+     * @return 'readonly' string if bean is read-only, blank string otherwise
+     */
+    protected String checkReadOnly() {
+        if (readonly) {
+            return " readonly ";
+        } else {
+            return "";
+        }
+    }
+
+    public int compareTo(Object o) {
+        BaseComponentBean otherBean = (BaseComponentBean) o;
+        return value.compareToIgnoreCase(otherBean.getValue());
+    }
+
+    /**
+     * Returns the current css style
+     *
+     * @return css style of the element
+     */
+    public String getCssStyle() {
+        return cssStyle;
+    }
+
+    /**
+     * Sets the css style of the element.
+     *
+     * @param cssStyle the css style
+     */
+    public void setCssStyle(String cssStyle) {
+        if (cssStyle != null) this.cssStyle = cssStyle;
+    }
+
+    /**
+     * Returns the current css class of the element.
+     *
+     * @return css class of the element
+     */
+    public String getCssClass() {
+        return cssClass;
+    }
+
+    /**
+     * Sets the css class of the element. If null nothing will be changed.
+     *
+     * @param cssClass the css class
+     */
+    public void setCssClass(String cssClass) {
+        if (cssClass != null) this.cssClass = cssClass;
+    }
+
+    public void clearCssClass() {
+        this.cssClass = null;
+    }
+
+    public void addCssClass(String cssClass) {
+        if (this.cssClass == null) this.cssClass = "";
+        if (cssClass != null) this.cssClass += " " + cssClass;
+    }
+
+    /**
+     * Returns the formatted css commands for inserting into html components.
+     *
+     * @return formatted css string for style/class attribute
+     */
+    protected String getFormattedCss() {
+        String result = "";
+        if (this.cssStyle != null) {
+            result = " style=\"" + this.cssStyle + "\"";
+        }
+        if (this.cssClass != null) {
+            result += " class=\"" + this.cssClass + "\"";
+        }
+        return result;
+    }
+
+    public Locale getLocale() {
+        return locale;
+    }
+
+    public void setLocale(Locale locale) {
+        this.locale = locale;
+    }
+
+    /**
+     * Adds a css style to the exiting style.
+     *
+     * @param style style to be added
+     */
+    public void addCssStyle(String style) {
+        if (cssStyle != null) {
+            cssStyle += style;
+        } else {
+            this.setCssStyle(style);
+        }
+
+    }
+
+    /**
+     * Deletes the current css style.
+     */
+    public void deleteCssStyle() {
+        cssStyle = null;
+    }
+
+    /**
+     * Deletes the current css class setting.
+     */
+    public void deleteCssClass() {
+        cssClass = null;
+    }
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BeanContainer.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BeanContainer.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/BeanContainer.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,93 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BeanContainer.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.*;
+
+/**
+ * The abstract <code>BeanContainer</code> is a container for other visual beans
+ */
+public abstract class BeanContainer extends BaseComponentBean {
+
+    public List<BaseComponentBean> container = new Vector<BaseComponentBean>();
+
+    /**
+     * Constructs a default bean container
+     */
+    public BeanContainer() {
+    }
+
+    /**
+     * Constructs a bean container with the supplied name
+     *
+     * @param name the bean container name
+     */
+    public BeanContainer(String name) {
+        super(name);
+    }
+
+    /**
+     * Adds a visual bean to the bean container
+     *
+     * @param bean a base component bean
+     */
+    public void addBean(BaseComponentBean bean) {
+        container.add(bean);
+    }
+
+    /**
+     * Adds a visual bean to the bean container
+     *
+     * @param index the position in the container to insert the bean
+     * @param bean  a base component bean
+     */
+    public void setBean(int index, BaseComponentBean bean) {
+        container.set(index, bean);
+    }
+
+    /**
+     * Removes a visual bean from the bean container
+     *
+     * @param bean the visual bean to remove
+     */
+    public void removeBean(BaseComponentBean bean) {
+        container.remove(bean);
+    }
+
+    /**
+     * Clears the list of visual beans in this container
+     */
+    public void clear() {
+        container.clear();
+    }
+
+    /**
+     * Returns the visual beans as a list of <code>BaseComponentBean</code>s
+     *
+     * @return the list of visual beans
+     */
+    public List<BaseComponentBean> getBeans() {
+        return Collections.unmodifiableList(container);
+    }
+
+    /**
+     * Sorts the List by the value of the basecomponentbeans.
+     *
+     * @see BaseComponentBean
+     */
+    public void sortByValue() {
+        SortedSet<BaseComponentBean> sorted = new TreeSet<BaseComponentBean>();
+        for (int i = 0; i < container.size(); i++) {
+            sorted.add(container.get(i));
+        }
+        List<BaseComponentBean> result = new Vector<BaseComponentBean>();
+        for (BaseComponentBean aSorted : sorted) {
+            result.add(aSorted);
+        }
+        container = result;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CalendarBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CalendarBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CalendarBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.portlet.RenderResponse;
+
+
+/**
+ * The <code>TextBean</code> represents text to be displayed
+ */
+public class CalendarBean extends InputBean implements TagBean {
+
+    public RenderResponse renderResponse;
+
+    /**
+     * Constructs a default text bean
+     */
+    public CalendarBean() {
+        super(TagBean.CALENDAR_NAME);
+        this.inputtype = "text";
+    }
+
+    /**
+     * Constructs a text bean using a supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public CalendarBean(String beanId) {
+        this();
+        this.beanId = beanId;
+    }
+
+    public RenderResponse getRenderResponse() {
+        return renderResponse;
+    }
+
+    public void setRenderResponse(RenderResponse renderResponse) {
+        this.renderResponse = renderResponse;
+    }
+
+
+    public String toStartString() {
+
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        // deal with ROOT context case
+        String contextPath = configService.getProperty("gridsphere.deploy");
+        if (!contextPath.equals("")) contextPath = "/" + contextPath;
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/scw.js");
+        StringBuffer sb = new StringBuffer();
+        sb.append("<input " + getFormattedCss() + " ");
+        sb.append("id=\"" + id + "\" ");
+        sb.append("type=\"text\" ");
+        String sname = createTagName(name);
+        sb.append("name=\"" + sname + "\" ");
+        if (value != null) sb.append("value=\"" + value + "\" ");
+        if (size != 0) sb.append("size=\"" + size + "\" ");
+        if (maxlength != 0) sb.append("maxlength=\"" + maxlength + "\" ");
+        sb.append(checkReadOnly());
+        sb.append(checkDisabled());
+        sb.append("/>");
+        sb.append("<button class=\"cal\" type=\"submit\" title=\"Calendar\" alt=\"Calendar\" onclick=\"scwShow(document.getElementById('" + id + "'),this);\">Calendar</button>");
+        return sb.toString();
+    }
+
+}
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CheckBoxBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CheckBoxBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/CheckBoxBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: CheckBoxBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>CheckBoxBean</code> provides a check box element
+ */
+public class CheckBoxBean extends SelectElementBean {
+
+    public static final String CHECKBOX_STYLE = "portlet-form-field";
+
+    /**
+     * Constructs a default check box bean
+     */
+    public CheckBoxBean() {
+        super(TagBean.CHECKBOX_NAME);
+        this.cssClass = CHECKBOX_STYLE;
+    }
+
+    /**
+     * Constructs a check box bean with a supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public CheckBoxBean(String beanId) {
+        this();
+        this.beanId = beanId;
+    }
+
+    public String toStartString() {
+        return super.toStartString("checkbox");
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/DialogBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/DialogBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/DialogBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+public class DialogBean extends BaseComponentBean {
+
+    protected String header = "";
+    protected String body = "";
+    protected String footer = "";
+    protected String width = "";
+    protected String height = "";
+    protected String titleColor = null;
+    protected Boolean isModal = false;
+    protected Boolean isClose = true;
+    protected Boolean isDraggable = true;
+    protected Boolean isResizable = false;
+    protected Boolean isLink = false;
+    protected String onClick = "";
+
+    /**
+     * Constructs a default table row bean
+     */
+    public DialogBean() {
+        super();
+    }
+
+    public Boolean getClose() {
+        return isClose;
+    }
+
+    public void setClose(Boolean close) {
+        isClose = close;
+    }
+
+    public Boolean getModal() {
+        return isModal;
+    }
+
+    public void setModal(Boolean modal) {
+        isModal = modal;
+    }
+
+    public Boolean getResizable() {
+        return isResizable;
+    }
+
+    public void setResizable(Boolean resizable) {
+        isResizable = resizable;
+    }
+
+    public Boolean getDraggable() {
+        return isDraggable;
+    }
+
+    public void setDraggable(Boolean draggable) {
+        isDraggable = draggable;
+    }
+
+
+    public String getOnClick() {
+        return onClick;
+    }
+
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    public Boolean getLink() {
+        return isLink;
+    }
+
+    public void setLink(Boolean link) {
+        isLink = link;
+    }
+
+    public String getTitleColor() {
+        return titleColor;
+    }
+
+    public void setTitleColor(String titleColor) {
+        this.titleColor = titleColor;
+    }
+
+    public String getHeader() {
+        return header;
+    }
+
+    public void setHeader(String header) {
+        this.header = header;
+    }
+
+    public String getBody() {
+        return body;
+    }
+
+    public void setBody(String body) {
+        this.body = body;
+    }
+
+    public String getFooter() {
+        return footer;
+    }
+
+    public void setFooter(String footer) {
+        this.footer = footer;
+    }
+
+    public String getWidth() {
+        return width;
+    }
+
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    public String getHeight() {
+        return height;
+    }
+
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        if (key != null) value = getLocalizedText(key);
+        value = value.replaceAll("\n", "<br>");
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        // deal with ROOT context case
+        String contextPath = configService.getProperty("gridsphere.deploy");
+        if (!contextPath.equals("")) contextPath = "/" + contextPath;
+        //renderResponse.addProperty("CSS_HREF", contextPath + "/css/yahoo/reset.css");
+        //renderResponse.addProperty("CSS_HREF", contextPath + "/css/yahoo/fonts.css");
+        renderResponse.addProperty("CSS_HREF", contextPath + "/css/yahoo/container.css");
+        if (isResizable) renderResponse.addProperty("CSS_HREF", contextPath + "/css/yahoo/ResizePanel.css");
+
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/event.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/dom.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/fonts.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/container.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/animation.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/dragdrop.js");
+        if (isResizable) renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/ResizePanel.js");
+        sb.append("<script type=\"text/javascript\">\n");
+        sb.append("YAHOO.namespace(\"").append(id).append("\");\n");
+        sb.append("function init() {\n");
+        if (!width.endsWith("px")) width += "px";
+        if (!height.endsWith("px")) height += "px";
+        String resizable = "";
+        if (isResizable.booleanValue()) resizable = "Resize";
+        sb.append("YAHOO.").append(id).append(".panel  = new YAHOO.widget.").append(resizable).append("Panel(\"").append(name).append("\", { width:\"").append(width).append("\", height:\"").append(height).append("\", fixedcenter: true, constraintoviewport: true, iframe: true, underlay:\"shadow\", close:").append(isClose).append(", modal:").append(isModal).append(", visible:false, draggable:").append(isDraggable).append("} );\n");
+        sb.append("YAHOO.").append(id).append(".panel.render( document.body );\n");
+        // sb.append("YAHOO." + name + ".panel.setHeader(\"" + header + "\");\n");
+        // sb.append("YAHOO." + name + ".panel.setBody(\"" + body + "\");\n");
+        // sb.append("YAHOO." + name + ".panel.setFooter(\"" + footer + "\");\n");
+        sb.append("}\n");
+        sb.append("YAHOO.util.Event.addListener(window, \"load\", init);");
+        sb.append("</script>");
+        if (isLink) {
+            sb.append("<a href=\"#\" ");
+            if (onClick != null) sb.append("onclick=\"").append(onClick);
+            sb.append("\">").append(value).append("</a>\n");
+        } else {
+            sb.append("<button type=\"button\" onclick=\"").append(onClick).append("\">").append(value).append("</button>\n");
+        }
+        sb.append("<div id=\"").append(id).append("\">");
+        sb.append("<div ");
+        if (titleColor != null) sb.append("style=\"background-color: ").append(titleColor).append(";\" ");
+        sb.append("class=\"hd\">").append(header).append("</div>");
+        sb.append("<div class=\"bd\">").append(body).append("</div>");
+        sb.append("<div class=\"ft\">").append(footer).append("</div></div>");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FileInputBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FileInputBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FileInputBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,138 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: FileInputBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+import org.apache.commons.fileupload.FileItem;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * A <code>FileInputBean</code> provides a file upload element
+ */
+public class FileInputBean extends InputBean implements TagBean {
+
+    public static final int MAX_UPLOAD_SIZE = -1; // unlimited file upload size
+
+    public static final String SUBMIT_STYLE = "portlet-form-button";
+
+    private FileItem savedFileItem = null;
+    private int maxUploadSize = MAX_UPLOAD_SIZE;
+
+    /**
+     * Constructs a default file input bean
+     */
+    public FileInputBean() {
+        super(TagBean.FILEINPUT_NAME);
+        this.cssClass = SUBMIT_STYLE;
+        this.inputtype = "file";
+    }
+
+    /**
+     * Constructs a file input bean from a portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public FileInputBean(String beanId) {
+        this();
+        this.beanId = beanId;
+    }
+
+    public FileInputBean(String beanId, FileItem fileItem) {
+        this(beanId);
+        savedFileItem = fileItem;
+    }
+
+    public FileItem getFileItem() {
+        return savedFileItem;
+    }
+
+    public void setFileItem(FileItem item) {
+        savedFileItem = item;
+    }
+
+    public int getMaxUploadSize() {
+        return maxUploadSize;
+    }
+
+    public void setMaxUploadSize(int maxUploadSize) {
+        this.maxUploadSize = maxUploadSize;
+    }
+
+    /**
+     * Returns the uploaded file name
+     *
+     * @return the uploaded file name
+     */
+    public String getFileName() {
+        if (savedFileItem != null) {
+            return savedFileItem.getName();
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Returns the uploaded file size
+     *
+     * @return the uploaded file size
+     */
+    public long getFileSize() {
+        if (savedFileItem != null) {
+            return savedFileItem.getSize();
+        } else {
+            return 0;
+        }
+    }
+
+    /**
+     * Saves the file to the supplied file location path
+     *
+     * @param filePath the path to save the file
+     * @throws IOException if an I/O error occurs saving the file
+     */
+    public void saveFile(String filePath) throws IOException {
+
+        String pathChar = File.separator;
+
+        // Added by Chrono to check if directory needs creating
+        int ddx = filePath.lastIndexOf(pathChar);
+        String dirPath = filePath.substring(0, ddx);
+        try {
+            File dirCreate = new File(dirPath);
+            dirCreate.mkdirs();
+        } catch (Exception e) {
+            System.err.println("Unable to create directory: " + dirPath);
+        }
+
+        // Chrono commented out necessary for windows usage (?)
+        //if (!filePath.endsWith(pathChar)) filePath += pathChar;
+
+        File file = new File(filePath);
+
+        try {
+            if (!file.exists()) file.createNewFile();
+            if (savedFileItem != null) savedFileItem.write(file);
+        } catch (Exception e) {
+            throw new IOException("Unable to save file: " + e.getMessage());
+        }
+    }
+
+
+    /**
+     * Returns with the InputStream of savedFileItem
+     *
+     * @return InputStream
+     * @throws IOException
+     */
+    public InputStream getInputStream() throws IOException {
+        return (savedFileItem != null) ? savedFileItem.getInputStream() : null;
+    }
+
+    public String toEndString() {
+        return "<input type=\"hidden\" name=\"maxfilesize\" value=\"" + maxUploadSize + "\"/>";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FrameBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FrameBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/FrameBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: FrameBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.provider.portletui.model.DefaultTableModel;
+
+/**
+ * The <code>FrameBean</code> extends <code>TableBean</code> to provide a stylized table that can also
+ * be used to render text messages.
+ */
+public class FrameBean extends TableBean implements TagBean {
+
+    public static final String FRAME_TABLE = "portlet-frame";
+    public static final String FRAME_INFO_MESSAGE = "portlet-frame-info";
+    public static final String FRAME_ALERT_MESSAGE = "portlet-frame-alert";
+    public static final String FRAME_ERROR_MESSAGE = "portlet-frame-error";
+
+    public static final String ERROR_TYPE = "error";
+    public static final String MESSAGE_TYPE = "message";
+
+    protected String textStyle = MessageStyle.MSG_INFO;
+
+    /**
+     * Constructs a default frame bean
+     */
+    public FrameBean() {
+        super(FRAME_TABLE);
+    }
+
+    /**
+     * Constructs a frame bean from a bean identifier
+     *
+     * @param beanId the frame bean identifier
+     */
+    public FrameBean(String beanId) {
+        super(FRAME_TABLE);
+        this.beanId = beanId;
+    }
+
+    /**
+     * Sets the text style
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.textStyle = style;
+    }
+
+    /**
+     * Returns the text style
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return textStyle;
+    }
+
+    /**
+     * Creates a frame to display a text message
+     */
+    protected void createMessage() {
+        defaultModel = new DefaultTableModel();
+        TableRowBean tr = new TableRowBean();
+        TableCellBean tc = new TableCellBean();
+        TextBean text = new TextBean();
+        text.setCssClass(textStyle);
+        if (key != null) {
+            text.setKey(key);
+        }
+        if (value != null) {
+            text.setValue(value);
+        }
+        tc.addBean(text);
+        tc.setCssClass(textStyle);
+        tr.addBean(tc);
+        defaultModel.addTableRowBean(tr);
+    }
+
+    public String toStartString() {
+        if ((key != null) || (value != null)) createMessage();
+        return super.toStartString();
+    }
+
+    public String toEndString() {
+        return super.toEndString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/GroupBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/GroupBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/GroupBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * The <code>GroupBean</code> provides a way to visually group elements with an optional label.
+ */
+public class GroupBean extends BaseComponentBean implements TagBean {
+
+    private String label = null;
+    private String height = null;
+    private String width = null;
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getHeight() {
+        return height;
+    }
+
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    public String getWidth() {
+        return width;
+    }
+
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+
+    public String toStartString() {
+
+        if (width != null) this.addCssStyle(" width:" + width + "; ");
+        if (height != null) this.addCssStyle(" height:" + height + "; ");
+
+        StringBuffer sb = new StringBuffer();
+        sb.append("<fieldset");
+        sb.append(getFormattedCss());
+        sb.append(">");
+        if (this.label != null) {
+            sb.append("<legend>");
+            sb.append(label);
+            sb.append("</legend>");
+        }
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "</fieldset>";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/HiddenFieldBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/HiddenFieldBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/HiddenFieldBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: HiddenFieldBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>HiddenFieldBean</code> represents a hidden field element
+ */
+public class HiddenFieldBean extends TextFieldBean {
+
+    /**
+     * Constructs a default hidden field bean
+     */
+    public HiddenFieldBean() {
+        this.vbName = TagBean.HIDDENFIELD_NAME;
+    }
+
+    /**
+     * Constructs a hidden field bean with the supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public HiddenFieldBean(String beanId) {
+        super(TagBean.HIDDENFIELD_NAME, beanId);
+    }
+
+    public String toStartString() {
+        this.inputtype = "hidden";
+        return super.toStartString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ImageBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ImageBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ImageBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,185 @@
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ImageBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>ImageBean</code> represents an image element
+ */
+public class ImageBean extends BaseComponentBean implements TagBean {
+
+    public static final String NAME = "im";
+    public String src = "";
+    public String alt = null;
+    public String title = null;
+    public String border = "0";
+    protected String width = null;
+    protected String height = null;
+    protected String align = null;
+
+    /**
+     * Constructs a default image bean
+     */
+    public ImageBean() {
+        super(NAME);
+    }
+
+    /**
+     * Constructs an image bean using a supplied  bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ImageBean(String beanId) {
+        super(NAME);
+        this.beanId = beanId;
+    }
+
+    /**
+     * Returns the image source
+     *
+     * @return the image source
+     */
+    public String getSrc() {
+        return src;
+    }
+
+    /**
+     * Sets the image source
+     *
+     * @param src the image source
+     */
+    public void setSrc(String src) {
+        this.src = src;
+    }
+
+    /**
+     * Returns the image alt tag
+     *
+     * @return the image alt tag
+     */
+    public String getAlt() {
+        return alt;
+    }
+
+    /**
+     * Sets the image alt tag
+     *
+     * @param alt the image alt tag
+     */
+    public void setAlt(String alt) {
+        this.alt = alt;
+    }
+
+    /**
+     * Returns the image title
+     *
+     * @return the image title
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * Sets the image title
+     *
+     * @param title the image title
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "top", "bottom" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "top", "bottom" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table cell width
+     *
+     * @param width the table cell width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table cell width
+     *
+     * @return the table cell width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table cell height
+     *
+     * @param height the table cell height
+     */
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    /**
+     * Returns the table cell height
+     *
+     * @return the table cell height
+     */
+    public String getHeight() {
+        return height;
+    }
+
+    /**
+     * Return the image title border
+     *
+     * @return the image title border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    /**
+     * Sets the image title border
+     *
+     * @param border the image title border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    public String toStartString() {
+        if (src.equals("")) return "";
+        StringBuffer sb = new StringBuffer();
+        // the 'border' attribute has been removed for XHTML 1.0 Strict compliance
+        sb.append("<img src=\"" + this.src + "\"");
+        if (width != null) sb.append(" width=\"" + width + "\"");
+        if (height != null) sb.append(" height=\"" + height + "\"");
+        if (align != null) sb.append(" align=\"" + align + "\"");
+        // the else case should NEVER be reached, the 'alt' attribute should ALWAYS be specified!
+        if (alt != null) sb.append(" alt=\"" + alt + "\""); else sb.append(" alt=\"image\"");
+        if (title != null) sb.append(" title=\"" + title + "\"");
+        sb.append(" />");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/IncludeBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/IncludeBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/IncludeBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+package org.gridsphere.provider.portletui.beans;
+
+
+import javax.servlet.ServletContext;
+import javax.servlet.jsp.JspWriter;
+
+/*
+ * @author <a href="mailto:russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: IncludeBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ * <p>
+ * Includes jsp pages from any web application.
+ */
+
+public class IncludeBean extends BaseBean implements TagBean {
+
+    protected ServletContext servletContext = null;
+    protected JspWriter jspWriter = null;
+    protected String page = null;
+
+    /**
+     * Constructs default include bean
+     */
+    public IncludeBean() {
+        super();
+    }
+
+    /**
+     * Constructs an include bean
+     */
+    public IncludeBean(String beanId) {
+        super(beanId);
+    }
+
+    public ServletContext getServletContext() {
+        return servletContext;
+    }
+
+    public void setServletContext(ServletContext servletContext) {
+        this.servletContext = servletContext;
+    }
+
+    public JspWriter getJspWriter() {
+        return jspWriter;
+    }
+
+    public void setJspWriter(JspWriter jspWriter) {
+        this.jspWriter = jspWriter;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/InputBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/InputBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/InputBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,347 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: InputBean.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An abstract <code>InputBean</code> provides a generic input HTML element
+ */
+public abstract class InputBean extends BaseComponentBean implements TagBean {
+
+    public static final String INPUT_STYLE = "portlet-form-input-field";
+
+    protected String inputtype = "";
+    protected int size = 0;
+    protected int maxlength = 0;
+
+    protected String onFocus = null;
+    protected String onClick = null;
+    protected String onDblClick = null;
+    protected String onChange = null;
+    protected String onBlur = null;
+    protected String onSelect = null;
+
+    protected String onmousedown = null;
+    protected String onmousemove = null;
+    protected String onmouseout = null;
+    protected String onmouseover = null;
+    protected String onmouseup = null;
+
+
+    /**
+     * Constructs a default input bean
+     */
+    public InputBean() {
+        super();
+        this.cssClass = INPUT_STYLE;
+    }
+
+    /**
+     * Constructs an input bean with a supplied name
+     *
+     * @param name the bean name
+     */
+    public InputBean(String name) {
+        super(name);
+        this.cssClass = INPUT_STYLE;
+    }
+
+    /**
+     * Returns the onChange JavaScript function
+     *
+     * @return onChange JavaScript function
+     */
+    public String getOnChange() {
+        return onChange;
+    }
+
+    /**
+     * Sets the onChange JavaScript function
+     *
+     * @param onChange the onChange JavaScript function
+     */
+    public void setOnChange(String onChange) {
+        this.onChange = onChange;
+    }
+
+    /**
+     * Returns the onBlur JavaScript function
+     *
+     * @return onBlur JavaScript function
+     */
+    public String getOnBlur() {
+        return onBlur;
+    }
+
+    /**
+     * Sets the onBlur JavaScript function
+     *
+     * @param onBlur the onBlur JavaScript function
+     */
+    public void setOnBlur(String onBlur) {
+        this.onBlur = onBlur;
+    }
+
+    /**
+     * Returns the onSelect JavaScript function
+     *
+     * @return onSelect JavaScript function
+     */
+    public String getOnSelect() {
+        return onSelect;
+    }
+
+    /**
+     * Sets the onSelect JavaScript function
+     *
+     * @param onSelect the onSelect JavaScript function
+     */
+    public void setOnSelect(String onSelect) {
+        this.onSelect = onSelect;
+    }
+
+    /**
+     * Sets the onFocus JavaScript function
+     *
+     * @param onFocus the onFocus JavaScript function
+     */
+    public void setOnFocus(String onFocus) {
+        this.onFocus = onFocus;
+    }
+
+    /**
+     * Returns the onFocus JavaScript function
+     *
+     * @return onFocus JavaScript function
+     */
+    public String getOnFocus() {
+        return onFocus;
+    }
+
+    /**
+     * Returns the onClick javascript function
+     *
+     * @return the onClick javascript function
+     */
+    public String getOnClick() {
+        return onClick;
+    }
+
+    /**
+     * Sets the onClick JavaScript function
+     *
+     * @param onClick the onFocus JavaScript function
+     */
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    /**
+     * Returns the onDblClick javascript function
+     *
+     * @return the onDblClick javascript function
+     */
+    public String getOnDblClick() {
+        return onDblClick;
+    }
+
+    /**
+     * Sets the onDblClick JavaScript function
+     *
+     * @param onDblClick the onDblClick JavaScript function
+     */
+    public void setOnDblClick(String onDblClick) {
+        this.onDblClick = onDblClick;
+    }
+
+    /**
+     * Returns the onmousedown event
+     *
+     * @return the onmousedown function
+     */
+    public String getOnMouseDown() {
+        return onmousedown;
+    }
+
+    /**
+     * Sets the onmousedown event
+     *
+     * @param onmousedown the onmousedown function
+     */
+    public void setOnMouseDown(String onmousedown) {
+        this.onmousedown = onmousedown;
+    }
+
+    /**
+     * Returns the onmousemove function
+     *
+     * @return the onmousemove function
+     */
+    public String getOnMouseMove() {
+        return onmousemove;
+    }
+
+    /**
+     * Sets the onmousemove function
+     *
+     * @param onmousemove the onmousemove function
+     */
+    public void setOnMouseMove(String onmousemove) {
+        this.onmousemove = onmousemove;
+    }
+
+    /**
+     * Returns the onmouseout function
+     *
+     * @return the onmouseout function
+     */
+    public String getOnMouseOut() {
+        return onmouseout;
+    }
+
+    /**
+     * Sets the onmouseout function
+     *
+     * @param onmouseout the onmouseout function
+     */
+    public void setOnMouseOut(String onmouseout) {
+        this.onmouseout = onmouseout;
+    }
+
+    /**
+     * Returns the onmouseover function
+     *
+     * @return the onmouseover function
+     */
+    public String getOnMouseOver() {
+        return onmouseover;
+    }
+
+    /**
+     * Sets the onmouseover javascript function
+     *
+     * @param onmouseover the onmouseover function
+     */
+    public void setOnMouseOver(String onmouseover) {
+        this.onmouseover = onmouseover;
+    }
+
+    /**
+     * Returns the onMouseUp javascript function
+     *
+     * @return the onmouseup event
+     */
+    public String getOnMouseUp() {
+        return onmouseup;
+    }
+
+    /**
+     * Sets the onMouseUp javascript function
+     *
+     * @param onmouseup a mouseup event
+     */
+    public void setOnMouseUp(String onmouseup) {
+        this.onmouseup = onmouseup;
+    }
+
+    /**
+     * Returns the size of this input element
+     *
+     * @return the size of this input element
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the size of this input element
+     *
+     * @param size the size of this input element
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns the maximum length of this input element
+     *
+     * @return the maximum length of this input element
+     */
+    public int getMaxLength() {
+        return maxlength;
+    }
+
+    /**
+     * Sets the maximum length of this input element
+     *
+     * @param maxlength the maximum length of this input element
+     */
+    public void setMaxLength(int maxlength) {
+        this.maxlength = maxlength;
+    }
+
+    public String getEncodedName() {
+        return createTagName(name);
+    }
+
+    /**
+     * Returns the bean value
+     *
+     * @return the bean value
+     */
+    public String getValue() {
+        return parseUserInput(value);
+    }
+
+    /**
+     * An attempt to parse user supplied input for any HTML arrow tags and convert them
+     *
+     * @param userInput some user supplied input
+     * @return the parsed user input text
+     */
+    private static String parseUserInput(String userInput) {
+        if (userInput == null) return null;
+        userInput = userInput.replaceAll("<", "&lt;");
+        userInput = userInput.replaceAll(">", "&gt;");
+        return userInput;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("<input ");
+        if (id != null) sb.append("id=\"").append(id).append("\" ");
+        sb.append(getFormattedCss());
+        sb.append(" type=\"");
+        sb.append(inputtype);
+        sb.append("\" ");
+        String sname = createTagName(name);
+        sb.append("name=\"");
+        sb.append(sname);
+        sb.append("\" ");
+        if (value != null) sb.append("value=\"").append(value).append("\" ");
+        if (size != 0) sb.append("size=\"").append(size).append("\" ");
+        if (maxlength != 0) sb.append("maxlength=\"").append(maxlength).append("\" ");
+        if (onFocus != null) sb.append("onfocus=\"").append(onFocus).append("\" ");
+        if (onClick != null) sb.append("onclick=\"").append(onClick).append("\" ");
+        if (onDblClick != null) sb.append("ondblclick=\"").append(onDblClick).append("\" ");
+        if (onChange != null) sb.append("onchange=\"").append(onChange).append("\" ");
+        if (onBlur != null) sb.append("onblur=\"").append(onBlur).append("\" ");
+        if (onSelect != null) sb.append("onselect=\"").append(onSelect).append("\" ");
+        if (onmouseout != null) sb.append("onmouseout=\"").append(onmouseout).append("\" ");
+        if (onmousedown != null) sb.append("onmousedown=\"").append(onmousedown).append("\" ");
+        if (onmouseup != null) sb.append("onmouseup=\"").append(onmouseup).append("\" ");
+        if (onmousemove != null) sb.append("onmousemove=\"").append(onmousemove).append("\" ");
+        if (onmouseover != null) sb.append("onmouseover=\"").append(onmouseover).append("\" ");
+
+        sb.append(checkReadOnly());
+        sb.append(checkDisabled());
+        sb.append("/>");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ListBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.List;
+
+/**
+ * A <code>ListBoxBean</code> represents a visual list box element
+ */
+public class ListBean extends BaseComponentBean implements TagBean {
+
+    public static final String NAME = "ul";
+
+    protected List list = null;
+
+    /**
+     * Constructs a default list box bean
+     */
+    public ListBean() {
+        super(NAME);
+    }
+
+    /**
+     * Constructs a list box bean with the supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ListBean(String beanId) {
+        super(NAME);
+        this.beanId = beanId;
+    }
+
+    public void setListModel(List list) {
+        this.list = list;
+    }
+
+    public List getListModel() {
+        return list;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toListString(List myList) {
+        StringBuffer sb = new StringBuffer();
+        if (!myList.isEmpty()) {
+            sb.append("<ul>");
+            for (int i = 0; i < myList.size(); i++) {
+                sb.append("<li>");
+                Object o = myList.get(i);
+                if (o instanceof String) {
+                    String s = (String) o;
+                    sb.append(s);
+                } else if (o instanceof List) {
+                    List l = (List) o;
+                    sb.append(toListString(l));
+                }
+                sb.append("</li>");
+            }
+            sb.append("</ul>");
+        }
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return toListString(list);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,253 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ListBoxBean.java 4514 2006-02-17 18:22:27Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A <code>ListBoxBean</code> represents a visual list box element
+ */
+public class ListBoxBean extends BeanContainer implements TagBean {
+
+    protected String LISTBOX_STYLE = "portlet-form-field";
+    public static final String NAME = "lb";
+
+    protected int size = 0;
+    protected boolean isMultiple = false;
+    protected String onChange = null;
+    protected String onBlur = null;
+    protected String onFocus = null;
+
+    /**
+     * Constructs a default list box bean
+     */
+    public ListBoxBean() {
+        super(NAME);
+        this.cssClass = LISTBOX_STYLE;
+    }
+
+    /**
+     * Constructs a list box bean with the supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ListBoxBean(String beanId) {
+        super(NAME);
+        this.beanId = beanId;
+        this.cssClass = LISTBOX_STYLE;
+    }
+
+    /**
+     * Returns the size of the list box
+     *
+     * @return the size of the list box
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the size of the list box
+     *
+     * @param size the size of the list box
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Sets multiple selection
+     *
+     * @param isMultiple is true if listbox provides multiple selections, false otherwise
+     */
+    public void setMultipleSelection(boolean isMultiple) {
+        this.isMultiple = isMultiple;
+    }
+
+    /**
+     * Indicates if multiple selection is provided
+     *
+     * @return true if this listbox supports multiple selection, false otherwise
+     */
+    public boolean getMultipleSelection() {
+        return isMultiple;
+    }
+
+    public void setOnChange(String onChange) {
+        this.onChange = onChange;
+    }
+
+    /**
+     * Returns the onBlur JavaScript function
+     *
+     * @return onBlur JavaScript function
+     */
+    public String getOnBlur() {
+        return onBlur;
+    }
+
+    /**
+     * Sets the onBlur JavaScript function
+     *
+     * @param onBlur the onBlur JavaScript function
+     */
+    public void setOnBlur(String onBlur) {
+        this.onBlur = onBlur;
+    }
+
+    /**
+     * Returns the onFocus JavaScript function
+     *
+     * @return onFocus JavaScript function
+     */
+    public String getOnFocus() {
+        return onChange;
+    }
+
+    /**
+     * Sets the onFocus JavaScript function
+     *
+     * @param onFocus the onFocus JavaScript function
+     */
+    public void setOnFocus(String onFocus) {
+        this.onFocus = onFocus;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+
+        String sname = createTagName(name);
+
+        sb.append("<select ").append(getFormattedCss()).append(" name='").append(sname).append("' size='").append(size).append("'");
+        if (isMultiple) {
+            sb.append(" multiple='multiple'");
+        }
+        if (disabled) {
+            // 'disabled' replaced by 'disabled="disabled"' for XHTML 1.0 Strict compliance
+            sb.append(" disabled=\"disabled\" ");
+        }
+        if (onChange != null) {
+            sb.append(" onchange='").append(onChange).append("'");
+        }
+        if (onBlur != null) {
+            sb.append(" onblur='").append(onBlur).append("'");
+        }
+        if (onFocus != null) {
+            sb.append(" onfocus='").append(onFocus).append("'");
+        }
+
+        sb.append(">");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean itemBean = (ListBoxItemBean) aContainer;
+            sb.append(itemBean.toStartString());
+            sb.append(itemBean.toEndString());
+        }
+        sb.append("</select>");
+        return sb.toString();
+    }
+
+    /**
+     * Returns the selected value of the list. This is only useful with multiple selection disabled.
+     *
+     * @return selected value of the list, null if nothing is selected
+     */
+    public String getSelectedValue() {
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean item = (ListBoxItemBean) aContainer;
+            if (item.isSelected()) {
+                return item.getValue();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns true if the listbox has a selected value, false otherwise
+     *
+     * @return true if an item is selected, otherwise false
+     */
+    public boolean hasSelectedValue() {
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean item = (ListBoxItemBean) aContainer;
+            if (item.isSelected()) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private List getSelectedNamesValues(boolean names) {
+        List<String> result = new ArrayList<String>();
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean item = (ListBoxItemBean) aContainer;
+            if (item.isSelected()) {
+                if (names) {
+                    result.add(item.getName());
+                } else {
+                    result.add(item.getValue());
+                }
+            }
+        }
+        return result;
+
+    }
+
+    /**
+     * Returns the selected values of the list.
+     *
+     * @return selected values of the list
+     */
+    public List getSelectedValues() {
+        return getSelectedNamesValues(false);
+    }
+
+    /**
+     * Returns the selected names of the list
+     *
+     * @return selected names of the list
+     */
+    public List getSelectedNames() {
+        return getSelectedNamesValues(true);
+    }
+
+    /**
+     * Returns the selected values of the list.
+     *
+     * @return selected values of the list
+     */
+    public String getSelectedName() {
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean item = (ListBoxItemBean) aContainer;
+            if (item.isSelected()) {
+                return item.getName();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns the selected items of the list
+     *
+     * @return the selected item of the list
+     */
+    public List getSelectedItems() {
+        ArrayList<ListBoxItemBean> result = new ArrayList<ListBoxItemBean>();
+        for (BaseComponentBean aContainer : container) {
+            ListBoxItemBean item = (ListBoxItemBean) aContainer;
+            if (item.isSelected()) {
+                result.add(item);
+            }
+        }
+        return result;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxItemBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxItemBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ListBoxItemBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ListBoxItemBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>ListBoxItemBean</code> defines the elements contained within a <code>ListBoxBean</code>
+ */
+public class ListBoxItemBean extends SelectElementBean {
+
+    /**
+     * Constructs a default listbox item bean
+     */
+    public ListBoxItemBean() {
+        super(TagBean.LISTBOXITEM_NAME);
+    }
+
+    /**
+     * Constructs a listbox item bean with a supplied bean identifier
+     *
+     * @param beanId the listbox item bean identifier
+     */
+    public ListBoxItemBean(String beanId) {
+        this();
+        this.beanId = beanId;
+    }
+
+    public String toStartString() {
+        String pval = (value == null) ? "" : value;
+        pval = (name == null) ? pval : name;
+        String sname = pval;
+        if (!beanId.equals("")) {
+            sname = "ui_" + vbName + "_" + beanId + "_" + pval;
+        }
+        // 'selected' replaced by 'selected="selected"' for XHTML 1.0 Strict compliance
+        return "<option value='" + sname + "' " + checkDisabled() + " " + checkSelected("selected=\"selected\"") + ">" + value + "</option>";
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageBoxBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageBoxBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageBoxBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,232 @@
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: MessageBoxBean.java 4884 2006-06-26 23:52:48Z novotny $
+ */
+
+public class MessageBoxBean extends BaseComponentBean implements TagBean {
+
+    public static final String NAME = "mb";
+
+    private List text = new ArrayList();
+    private List keys = new ArrayList();
+    private String messageType = MessageStyle.MSG_INFO;
+    private String width = null;
+    private String height = null;
+
+    public MessageBoxBean() {
+        super(NAME);
+    }
+
+    public MessageBoxBean(String beanId) {
+        super(NAME);
+        this.beanId = beanId;
+    }
+
+    /**
+     * Returns the width of the messagebox
+     *
+     * @return width of the messagebox
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the value of the message to be displayed. All other messages or deleted.
+     *
+     * @param text text to be displayed
+     */
+    public void setValue(String text) {
+        this.text = new ArrayList();
+        this.keys = new ArrayList();
+        this.text.add(text);
+    }
+
+    /**
+     * Returns the text of the messagebox.
+     *
+     * @return text of the messagebox
+     */
+    public String getValue() {
+        return getMessage(false);
+    }
+
+    /**
+     * Sets the width of the messgebox
+     *
+     * @param width witdh of the messagebox
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Gets the height of the messagebox
+     *
+     * @return height of the messagebox
+     */
+    public String getHeight() {
+        return height;
+    }
+
+    /**
+     * Sets the height of the messageboox
+     *
+     * @param height height of the messagebox
+     */
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    /**
+     * Returns the type of the message.
+     *
+     * @return type of the message
+     * @see TextBean
+     */
+    public String getMessageType() {
+        return messageType;
+    }
+
+    /**
+     * Sets the type of the message
+     *
+     * @param messageType
+     * @see TextBean
+     */
+    public void setMessageType(String messageType) {
+        this.messageType = messageType;
+    }
+
+    /**
+     * Appends text to the messagebox.
+     *
+     * @param text text to append
+     */
+    public void appendText(String text) {
+        this.text.add(text);
+    }
+
+    /**
+     * Prepends text to the current text.
+     *
+     * @param text text to prepend
+     */
+    public void prependText(String text) {
+        this.text.add(0, text);
+    }
+
+    /**
+     * Appends a localisation key to the current list of keys.
+     *
+     * @param key key to append
+     */
+    public void appendKey(String key) {
+        this.keys.add(key);
+    }
+
+    /**
+     * Prepends a localisation key to the current list of keys.
+     *
+     * @param key key to prepend
+     */
+    public void prependKey(String key) {
+        this.keys.add(0, key);
+    }
+
+    /**
+     * Removes a key from the list.
+     *
+     * @param key key to remove
+     */
+    public void removeKey(String key) {
+        this.keys.remove(key);
+    }
+
+    /**
+     * Removes the text from the list.
+     *
+     * @param text text to be removed
+     */
+    public void removeText(String text) {
+        this.text.remove(text);
+    }
+
+    /**
+     * Clears the message. This includes the text and the keys for localization.
+     */
+    public void clearMessage() {
+        this.text = new ArrayList();
+        this.keys = new ArrayList();
+    }
+
+
+    /**
+     * Returns the message text. If localized keys were specified the translated (and only those) are returned.
+     *
+     * @param format format as html output
+     * @return text of the messagebox
+     */
+    private String getMessage(boolean format) {
+        String result = null;
+
+        List list = text;
+        if (keys.size() != 0) {
+            list = keys;
+        }
+        if (list.size() != 0) {
+            StringBuffer sb = new StringBuffer();
+            for (int i = 0; i < list.size(); i++) {
+
+                String message = (String) list.get(i);
+                if (keys.size() != 0) {
+                    message = getLocalizedText(message);
+                }
+
+                if (format) {
+                    sb.append("<span class=\"");
+                    sb.append(messageType);
+                    sb.append("\">");
+                    sb.append(message);
+                    sb.append("</span>");
+                } else {
+                    sb.append(message);
+                }
+            }
+            result = sb.toString();
+        }
+        return result;
+
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        this.cssClass = "ui-messagebox-" + messageType;
+        StringBuffer sb = new StringBuffer();
+        String message = getMessage(true);
+        if (height != null) this.addCssStyle("height=\"" + height + "\"");
+        if (width != null) this.addCssStyle("width=\"" + width + "\"");
+
+        // only return something if we have a message
+        if (message != null) {
+            sb.append("<div");
+            sb.append(getFormattedCss());
+            sb.append(">");
+            sb.append(message);
+            sb.append("</div>");
+        }
+
+        return sb.toString();
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageStyle.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageStyle.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/MessageStyle.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: MessageStyle.java 4744 2006-04-10 22:16:34Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * The <code>MessageStyle</code> represents portlet text style to be displayed
+ */
+public class MessageStyle  {
+
+    // CSS definitions according to Portlet API spec. PLT.C
+    public static final String MSG_STATUS = "portlet-msg-status";
+    public static final String MSG_INFO = "portlet-msg-info";
+    public static final String MSG_ERROR = "portlet-msg-error";
+    public static final String MSG_ALERT = "portlet-msg-alert";
+    public static final String MSG_SUCCESS = "portlet-msg-success";
+    public static final String MSG_ITALIC = "italic";
+    public static final String MSG_BOLD = "bold";
+    public static final String MSG_UNDERLINE = "underline";
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PanelBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PanelBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PanelBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,224 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PanelBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>PanelBean</code> provides a stylized table that is generally used as a container for
+ * <code>FrameBean</code>s
+ */
+public class PanelBean extends BeanContainer implements TagBean {
+
+    public static final String PANEL_STYLE = "portlet-pane";
+    public static final String PANEL_WIDTH = "100%";
+    public static final String PANEL_SPACING = "1";
+    public static final String PANEL_PADDING = "1";
+    public static final String PANEL_BORDER = "0";
+
+    protected String cellSpacing = PANEL_SPACING;
+    protected String cellPadding = PANEL_PADDING;
+    protected String border = PANEL_BORDER;
+    protected String align = null;
+    protected String width = PANEL_WIDTH;
+
+    private String cols = "100%";
+    private String[] colArray = {cols};
+    private int numCols = 1;
+
+    /**
+     * Constructs a default panel bean
+     */
+    public PanelBean() {
+        this.cssClass = PANEL_STYLE;
+    }
+
+    public PanelBean(String beanId) {
+        this.cssClass = PANEL_STYLE;
+        this.beanId = beanId;
+    }
+
+    /**
+     * Sets the panel (table) width
+     *
+     * @param width the panel width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the panel (table) width
+     *
+     * @return the panel width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the number of columns in the panel
+     *
+     * @param cols the number of columns
+     */
+    public void setCols(String cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public String getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns in the panel
+     *
+     * @param numCols the number of columns
+     */
+    public void setNumCols(int numCols) {
+        this.numCols = numCols;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public int getNumCols() {
+        return numCols;
+    }
+
+    /**
+     * Sets the column array specifying column widths
+     *
+     * @param colArray the column array specifying column widths
+     */
+    public void setColArray(String[] colArray) {
+        this.colArray = colArray;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public String[] getColArray() {
+        return colArray;
+    }
+
+    /**
+     * Sets the panel (table) cell spacing
+     *
+     * @param cellSpacing the panel cell spacing
+     */
+    public void setCellSpacing(String cellSpacing) {
+        this.cellSpacing = cellSpacing;
+    }
+
+    /**
+     * Returns the panel (table) cell spacing
+     *
+     * @return the panel cell spacing
+     */
+    public String getCellSpacing() {
+        return cellSpacing;
+    }
+
+    /**
+     * Sets the panel (table) cell spacing
+     *
+     * @param cellPadding the panel cell padding
+     */
+    public void setCellPadding(String cellPadding) {
+        this.cellPadding = cellPadding;
+    }
+
+    /**
+     * Returns the panel (table) cell padding
+     *
+     * @return the panel cell padding
+     */
+    public String getCellPadding() {
+        return cellPadding;
+    }
+
+    /**
+     * Sets the table border
+     *
+     * @param border the panel border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    /**
+     * Returns the panel border
+     *
+     * @return the panel border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("<table " + getFormattedCss() + " ");
+        sb.append(" cellspacing=\"" + cellSpacing + "\" ");
+        sb.append(" cellpadding=\"" + cellPadding + "\" ");
+        sb.append(" border=\"" + border + "\" ");
+        sb.append(" width=\"" + width + "\" ");
+        if (align != null) sb.append(" layout=\"" + align + "\" ");
+        sb.append(">");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        int numRows = container.size();
+        int i = 0;
+        int j = 0;
+
+        while (i < numRows) {
+            sb.append("<tr>");
+            while ((j < numCols) && (i < numRows)) {
+                TagBean tagBean = (TagBean) container.get(i);
+                //System.err.println("in panel bean colArray " + i + " " + colArray[j]);
+                // Attribute 'width' replaced by 'style="width:"' for XHTML 1.0 Strict compliance                
+                sb.append("<td style=\"width:" + colArray[j] + "\">");
+                sb.append(tagBean.toStartString());
+                sb.append(tagBean.toEndString());
+                sb.append("</td>");
+                j++;
+                i++;
+            }
+            j = 0;
+            sb.append("</tr>");
+        }
+
+        sb.append("</table>");
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ParamBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ParamBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ParamBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,85 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionParamBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An <code>ParamBean</code> is a visual bean that represents parameters associated with a render or action link/button
+ */
+public class ParamBean extends BaseBean {
+
+    private String name = "";
+    private String value = "";
+
+    /**
+     * Constructs a default action param bean
+     */
+    public ParamBean() {
+    }
+
+    /**
+     * Constructs an action param bean from a supplied portlet request and bean identifier
+     *
+     * @param name  the action param name
+     * @param value the action param value
+     */
+    public ParamBean(String name, String value) {
+        this.name = name;
+        this.value = value;
+    }
+
+    /**
+     * Constructs an action param bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ParamBean(String beanId) {
+        this.beanId = beanId;
+    }
+
+    /**
+     * Sets the action parameter name
+     *
+     * @param name the action parameter name
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the action parameter name
+     *
+     * @return the action parameter name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Returns the action parameter value
+     *
+     * @return the action parameter value
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the action parameter value
+     *
+     * @param value the action parameter value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PasswordBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PasswordBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PasswordBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PasswordBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>PasswordBean</code> represents a password input element
+ */
+public class PasswordBean extends TextFieldBean {
+
+
+    /**
+     * Constructs a default password bean
+     */
+    public PasswordBean() {
+        this.vbName = TagBean.PASSWORD_NAME;
+        this.inputtype = "password";
+    }
+
+    /**
+     * Constructs a password bean using a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public PasswordBean(String beanId) {
+        super(TagBean.PASSWORD_NAME, beanId);
+        this.inputtype = "password";
+    }
+
+    public String toStartString() {
+        return super.toStartString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PortletBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PortletBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/PortletBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+package org.gridsphere.provider.portletui.beans;
+
+public class PortletBean extends DialogBean {
+
+    protected String theme = "default";
+    protected String renderKit = "brush";
+    protected String portletId = "";
+
+    public PortletBean() {}
+
+    public String getTheme() {
+        return theme;
+    }
+
+    public void setTheme(String theme) {
+        this.theme = theme;
+    }
+
+    public String getRenderKit() {
+        return renderKit;
+    }
+
+    public void setRenderKit(String renderKit) {
+        this.renderKit = renderKit;
+    }
+
+    public String getPortletId() {
+        return portletId;
+    }
+
+    public void setPortletId(String portletId) {
+        this.portletId = portletId;
+    }
+
+    public String toStartString() {
+        onClick = "GridSphereAjaxHandler2.startRequest('" + portletId + "', '" + name + "'); YAHOO." + name + ".panel.show();";
+        return super.toStartString();
+    }
+
+    public String toEndString() {
+        return super.toEndString();
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RadioButtonBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RadioButtonBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RadioButtonBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RadioButtonBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>RadioButtonBean</code> represents a radio button element
+ */
+public class RadioButtonBean extends SelectElementBean {
+
+    public static final String RADIO_STYLE = "portlet-form-field";
+
+    /**
+     * Constructs a default radio button bean
+     */
+    public RadioButtonBean() {
+        super(TagBean.RADIOBUTTON_NAME);
+        this.cssClass = RADIO_STYLE;
+    }
+
+    /**
+     * Constructs a radio button bean using a supplied portlet request and bean identifier
+     *
+     * @param id the bean identifier
+     */
+    public RadioButtonBean(String id) {
+        super(TagBean.RADIOBUTTON_NAME);
+        this.cssClass = RADIO_STYLE;
+        this.beanId = id;
+    }
+
+    public String toStartString() {
+        return super.toStartString("radio");
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderLinkBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderLinkBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderLinkBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An <code>ActionLinkBean</code> is a visual bean that represents a hyperlink containing a portlet action
+ */
+public class RenderLinkBean extends ActionBean implements TagBean {
+
+    protected String style = "none";
+
+    /**
+     * Constructs a default action link bean
+     */
+    public RenderLinkBean() {
+    }
+
+    /**
+     * Constructs an action link bean from a portlet request and supplied bean identifier
+     *
+     * @param beanId the bean id used to reference this ActionLinkBean
+     */
+    public RenderLinkBean(String beanId) {
+        this.beanId = beanId;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle - plain text</li>
+     * <li>error - error text</li>
+     * <li>info - default info text</li>
+     * <li>status - status text</li>
+     * <li>alert - alert text</li>
+     * <li>success - success text</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        // now do the string rendering
+        action = this.portletURI.toString();
+
+        if (anchor != null) action += "#" + anchor;
+
+        if (style.equalsIgnoreCase("error") || (style.equalsIgnoreCase("err"))) {
+            this.cssClass = MessageStyle.MSG_ERROR;
+        } else if (style.equalsIgnoreCase("status")) {
+            this.cssClass = MessageStyle.MSG_STATUS;
+        } else if (style.equalsIgnoreCase("info")) {
+            this.cssClass = MessageStyle.MSG_INFO;
+        } else if (style.equalsIgnoreCase("alert")) {
+            this.cssClass = MessageStyle.MSG_ALERT;
+        } else if (style.equalsIgnoreCase("success")) {
+            this.cssClass = MessageStyle.MSG_SUCCESS;
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_BOLD)) {
+            this.addCssStyle("font-weight: bold;");
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_ITALIC)) {
+            this.addCssStyle("font-weight: italic;");
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_UNDERLINE)) {
+            this.addCssStyle("font-weight: underline;");
+        }
+        StringBuffer sb = new StringBuffer();
+        sb.append("<a");
+        if (name != null) sb.append(" name=\"").append(name).append("\"");
+        if (id != null) sb.append(" id=\"").append(id).append("\" ");
+        if (useAjax) action = "#";
+        sb.append(" href=\"").append(action).append("\"");
+
+        sb.append(getFormattedCss());
+        if (onClick != null) sb.append(" onclick=\"").append(onClick).append("\"");
+        if (onMouseOut != null) sb.append(" onMouseOut=\"").append(onMouseOut).append("\"");
+        if (onMouseOver != null) sb.append(" onMouseOver=\"").append(onMouseOver).append("\"");
+        sb.append(">").append(value).append("</a>");
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderSubmitBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderSubmitBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RenderSubmitBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * An <code>ActionSubmitBean</code> is a visual bean that represents an HTML button and
+ * has an associated <code>DefaultPortletAction</code>
+ */
+public class RenderSubmitBean extends ActionBean implements TagBean {
+
+    public static final String SUBMIT_STYLE = "portlet-form-button";
+    public static final String NAME = "as";
+
+    /**
+     * Constructs a default action submit bean
+     */
+    public RenderSubmitBean() {
+        super(NAME);
+        this.cssClass = SUBMIT_STYLE;
+    }
+
+    /**
+     * Constructs an action submit bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public RenderSubmitBean(String beanId) {
+        super(NAME);
+        this.cssClass = SUBMIT_STYLE;
+        this.beanId = beanId;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        String sname = (name == null) ? "" : name;
+        StringBuffer sb = new StringBuffer();
+
+        String inputType = "submit";
+        if (useAjax) inputType = "button";
+        sb.append("<input " + getFormattedCss() + " type=\"" + inputType + "\" " + checkDisabled());
+
+
+        if (action != null) sname = action;
+        if (anchor != null) sname += "#" + anchor;
+        if (onClick != null) {
+            // 'onClick' replaced by 'onclick' for XHTML 1.0 Strict compliance
+            sb.append(" onclick=\"" + onClick + "\" ");
+        }
+        sb.append("name=\"" + sname + "\" value=\"" + value + "\"/>");
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RichTextEditorBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RichTextEditorBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/RichTextEditorBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class RichTextEditorBean extends BaseComponentBean implements TagBean {
+
+    private int cols = 0;
+    private int rows = 0;
+    private String value = null;
+    private String action = null;
+
+
+    /**
+     * Constructs a default text area bean
+     */
+    public RichTextEditorBean() {
+        super(TagBean.RICHTEXTEDITOR_NAME);
+    }
+
+    /**
+     * Constructs a text area bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public RichTextEditorBean(String beanId) {
+        super(TagBean.RICHTEXTEDITOR_NAME);
+        this.beanId = beanId;
+    }
+
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    /**
+     * Gets the number of columns of the TextArea.
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the TextArea.
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the textarea.
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the textarea.
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * Sets the bean value
+     *
+     * @param value the bean value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Returns the bean value
+     *
+     * @return the bean value
+     */
+    public String getValue() {
+        return value;
+    }
+
+
+    public String toStartString() {
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        // deal with ROOT context case
+        String contextPath = configService.getProperty("gridsphere.deploy");
+        if (!contextPath.equals("")) contextPath = "/" + contextPath;
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/tiny_mce/tiny_mce.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/tiny_mce/richtext.js");
+        StringBuffer sb = new StringBuffer();
+        String sname = createTagName(name);
+        sb.append("<textarea id=\"gridsphere-richtext\" name=\"" + sname + "\" cols=\"" + cols + "\" rows=\"" + rows + "\">");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        String result = (value != null) ? value : "";
+        sb.append(result + "</textarea>");
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/SelectElementBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/SelectElementBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/SelectElementBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+/**
+ * @author <a href="mailto:wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: SelectElementBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The abstract <code>SelectElementBean</code> provides a base selectable element that is subclassed by
+ * <code>RadioButtonBean</code>, <code>CheckBoxBean</code> and <code>ListBoxItemBean</code>
+ */
+public abstract class SelectElementBean extends BaseComponentBean implements TagBean {
+
+    protected boolean selected = false;
+    protected List<String> results = new ArrayList<String>();
+    protected String onClick = null;
+
+
+    public String getOnClick() {
+        return onClick;
+    }
+
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    /**
+     * Constructs a default select element bean
+     */
+    public SelectElementBean() {
+        super();
+    }
+
+    /**
+     * Constructs a select element bean from a supplied visual bean type
+     *
+     * @param vbName the visual bean type
+     */
+    public SelectElementBean(String vbName) {
+        super(vbName);
+    }
+
+    /**
+     * Returns a String used in the final markup indicating if this bean is selected or not
+     *
+     * @param select the selected String
+     * @return the String used in the final markup indicating if this bean is selected or not
+     */
+    protected String checkSelected(String select) {
+        /*  @TODO@ MPR ADDED HERE
+        if (!beanId.equals("") && value != null) {
+            for (int ii = 0; ii < results.size(); ++ii) {
+                String selectedValue = (String)results.get(ii);
+                if (value.equals(selectedValue)) {
+                    return " " + select + "='" + select + "' ";
+                }
+            }
+            return "";
+        }
+        */
+        if (selected) {
+            return " " + select + " ";
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Sets the selected status of the bean
+     *
+     * @param flag true if the bean is selected, false otherwise
+     */
+    public void setSelected(boolean flag) {
+        this.selected = flag;
+    }
+
+    /**
+     * Returns the selected status of the bean
+     *
+     * @return true if the bean is selected, false otherwise
+     */
+    public boolean isSelected() {
+        return selected;
+    }
+
+    /**
+     * Returns the selected values as a list
+     *
+     * @return selected values as a the list
+     */
+    public List<String> getSelectedValues() {
+        return results;
+    }
+
+    /**
+     * Returns the selected values as a list
+     *
+     * @return selected values as a the list
+     */
+    public String getSelectedValue() {
+        if (results.isEmpty()) {
+            return null;
+        } else {
+            return (String) results.get(0);
+        }
+    }
+
+    /**
+     * Adds a selected value to this bean
+     *
+     * @param value a selected value
+     */
+    public void addSelectedValue(String value) {
+        results.add(value);
+    }
+
+    /**
+     * Clears the selected values in this bean
+     */
+    public void clearSelectedValues() {
+        selected = false;
+        results.clear();
+    }
+
+    public String toStartString(String type) {
+        String sname = createTagName(name);
+        StringBuffer sb = new StringBuffer();
+        sb.append("<input ");
+        if (id != null) sb.append("id=").append(id).append(" ");
+        sb.append(getFormattedCss());
+        sb.append(" type='").append(type).append("' name='");
+        if (value == null) value = "";
+        sb.append(sname).append("' value='").append(value);
+        sb.append("' ").append(checkDisabled()).append(" ");
+        sb.append(checkSelected("checked=\"checked\""));
+
+        if (onClick != null) sb.append(" onclick=\"").append(onClick).append("\"");
+        sb.append(" />");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TabBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TabBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TabBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TabBean.java 4496 20060208 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+public class TabBean extends BaseComponentBean {
+
+    protected String jspPage;
+    protected boolean isActive = false;
+    protected String label = "";
+
+    /**
+     * Constructs a default table row bean
+     */
+    public TabBean() {
+        super();
+    }
+
+    public void setActive(boolean isActive) {
+        this.isActive = isActive;
+    }
+
+    public boolean getActive() {
+        return isActive;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public void setPage(String jspPage) {
+        this.jspPage = jspPage;
+    }
+
+    public String getPage() {
+        return jspPage;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        return sb.toString();
+    }
+
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,384 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableBean.java 4870 2006-06-23 15:36:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.provider.portletui.model.DefaultTableModel;
+import org.gridsphere.services.core.persistence.QueryFilter;
+
+/**
+ * A <code>TableBean</code> provides a table element
+ */
+public class TableBean extends BaseComponentBean implements TagBean {
+
+    public static final String CURRENT_PAGE = "tablepage";
+    public static final String SHOW_ALL = "showall";
+    public static final String SHOW_PAGES = "showpages";
+
+    public static final String NEXT_PAGE = "nextpage";
+    public static final String PREV_PAGE = "prevpage";
+
+    protected DefaultTableModel defaultModel = null;
+    protected String cellSpacing = null;
+    protected String cellPadding = null;
+    protected String border = null;
+    protected String background = null;
+    protected String width = null;
+    protected String align = null;
+    protected String valign = null;
+    protected int currentPage = 0;
+    protected boolean isSortable = false;
+    protected boolean isZebra = false;
+    protected String sortableId = "t1";
+    private int rowCount = 0;
+    private int maxRows = -1;
+    private boolean showall = false;
+    protected String uris = "";
+    protected String uriString = "";
+    protected String title = null;
+    protected int numEntries = 0;
+    protected boolean filter = false;
+
+    /**
+     * Constructs a default table bean
+     */
+    public TableBean() {
+        super();
+    }
+
+    /**
+     * Constructs a table bean with a supplied CSS style
+     *
+     * @param cssStyle the CSS style
+     */
+    public TableBean(String cssStyle) {
+        this.cssClass = cssStyle;
+    }
+
+    public void setQueryFilter(QueryFilter filter) {
+        this.numEntries = filter.getTotalItems();
+        this.maxRows = filter.getMaxResults();
+        this.filter = true;
+    }
+
+    /**
+     * Sets the default table model for this table
+     *
+     * @param defaultModel the table model
+     */
+    public void setTableModel(DefaultTableModel defaultModel) {
+        this.defaultModel = defaultModel;
+    }
+
+    /**
+     * Returns the default table model
+     *
+     * @return the default table model
+     */
+    public DefaultTableModel getTableModel() {
+        return defaultModel;
+    }
+
+    /**
+     * Returns true if a query filter is associated with this table
+     *
+     * @return true if a query filter is associated with this table
+     */
+    public boolean getFilter() {
+        return filter;
+    }
+
+    public void setFilter(boolean filter) {
+        this.filter = filter;
+    }
+
+    public int getNumEntries() {
+        return numEntries;
+    }
+
+    public void setNumEntries(int numEntries) {
+        this.numEntries = numEntries;
+    }
+
+    /**
+     * Sets the table width
+     *
+     * @param width the table width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table width
+     *
+     * @return the table width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Returns the table vertical alignment e.g. 'top', 'bottom'
+     *
+     * @return the table vertical alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    /**
+     * Sets the table horizontal alignment, e.g. 'top', 'bottom'
+     *
+     * @param valign the tables horizontal alignment
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Sets the table cell spacing
+     *
+     * @param cellSpacing the table cell spacing
+     */
+    public void setCellSpacing(String cellSpacing) {
+        this.cellSpacing = cellSpacing;
+    }
+
+    /**
+     * Returns the table cell spacing
+     *
+     * @return the table cell spacing
+     */
+    public String getCellSpacing() {
+        return cellSpacing;
+    }
+
+    /**
+     * Sets the table cell spacing
+     *
+     * @param cellPadding the table cell padding
+     */
+    public void setCellPadding(String cellPadding) {
+        this.cellPadding = cellPadding;
+    }
+
+    /**
+     * Returns the table cell padding
+     *
+     * @return the table cell padding
+     */
+    public String getCellPadding() {
+        return cellPadding;
+    }
+
+    /**
+     * Sets the table background
+     *
+     * @param background the table background
+     */
+    public void setBackground(String background) {
+        this.background = background;
+    }
+
+    /**
+     * Returns the table background
+     *
+     * @return the table background
+     */
+    public String getBackground() {
+        return background;
+    }
+
+    /**
+     * Sets the table border
+     *
+     * @param border the table border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    /**
+     * Returns the tableborder
+     *
+     * @return the table border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    public void setZebra(boolean isZebra) {
+        this.isZebra = isZebra;
+    }
+
+    public boolean getZebra() {
+        return isZebra;
+    }
+
+    public void setSortable(boolean isSortable) {
+        this.isSortable = isSortable;
+    }
+
+    public boolean getSortable() {
+        return isSortable;
+    }
+
+    public void setSortableID(String sortableId) {
+        this.sortableId = sortableId;
+    }
+
+    public String getSortableID() {
+        return sortableId;
+    }
+
+    public void setRowCount(int rowCount) {
+        this.rowCount = rowCount;
+    }
+
+    public int getRowCount() {
+        return rowCount;
+    }
+
+    public void setCurrentPage(int currentPage) {
+        this.currentPage = currentPage;
+    }
+
+    public int getCurrentPage() {
+        return currentPage;
+    }
+
+    public void setMaxRows(int maxRows) {
+        this.maxRows = maxRows;
+    }
+
+    public int getMaxRows() {
+        return maxRows;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public boolean isShowall() {
+        return showall;
+    }
+
+    public void setShowall(boolean showall) {
+        this.showall = showall;
+    }
+
+    public void setURIString(String uriString) {
+        this.uriString = uriString;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        if (isSortable) {
+            sb.append("<table class=\"sortable\" id=\"" + sortableId + "\" ");
+        } else {
+            sb.append("<table" + getFormattedCss());
+        }
+        if (cellSpacing != null) sb.append(" cellspacing=\"" + cellSpacing + "\" ");
+        if (cellPadding != null) sb.append(" cellpadding=\"" + cellPadding + "\" ");
+        if (border != null) sb.append(" border=\"" + border + "\" ");
+        if (width != null) sb.append(" width=\"" + width + "\" ");
+        if (align != null) sb.append(" align=\"" + align + "\" ");
+        /// Removed for XHTML 1.0 Strict compliance
+        /*
+        if (valign != null) {
+            sb.append(" valign=\"" + valign + "\" ");
+        }
+        */
+        sb.append(">");
+        if (title != null) sb.append("<caption>" + title + "</caption>");
+        if (defaultModel != null) sb.append(defaultModel.toStartString());
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("</table>");
+        String uri = "";
+        if (showall) {
+            uri = uriString;
+            sb.append("<p>"); // added for XHTML 1.0 Strict compliance
+            String showPages = TableBean.SHOW_PAGES;
+            showPages = "rp_" + showPages;
+            sb.append("<a href=\"" + uri + "&amp;" + showPages + "\">" + this.getLocalizedText("SHOW_PAGES") + "</a>");
+            sb.append("</p>"); // added for XHTML 1.0 Strict compliance
+        }
+        if (maxRows > 0) {
+            int numpages = 0;
+            // formula to figure out how many pages there should be-- if it divides evenly then
+            // use that, otherwise need to add 1
+            if (numEntries != 0) {
+                numpages = numEntries / maxRows;
+                numpages += numEntries % maxRows > 0 ? 1 : 0;
+            } else {
+                numpages = rowCount / maxRows;
+                numpages += rowCount % maxRows > 0 ? 1 : 0;
+            }
+
+            //System.err.println("numpages = " + numpages);
+            int dispPage = currentPage + 1;
+            if ((dispPage == numpages) && (numpages == 1)) return sb.toString();
+            int c = 0;
+            //System.err.println("maxrows=" + maxRows + " numEntries=" + numEntries + " rowCount=" + rowCount + " numpages=" + numpages);
+
+            sb.append("<p>"); // added for XHTML 1.0 Strict compliance  
+            sb.append(this.getLocalizedText("PAGE") + dispPage + this.getLocalizedText("OUT_OF_PAGES") + numpages);
+
+            for (int i = 0; i < numpages; i++) {
+                c = i + 1;
+                if (c == dispPage) {
+                    sb.append(" | <b>" + c + "</b>");
+                } else {
+                    // create an actionlink
+                    uris = uriString;
+                    //System.err.println("uri = " + uris);
+                    String curPage = TableBean.CURRENT_PAGE;
+                    curPage = "rp_" + curPage;
+                    uri = uris + "?" + curPage + "=" + i;
+                    sb.append(" | " + "<a href=\"" + uri + "\">" + c + "</a>");
+                }
+            }
+            if (!filter) {
+                uri = uriString;
+                sb.append(" | ");
+                String showall = TableBean.SHOW_ALL;
+                showall = "rp_" + TableBean.SHOW_ALL;
+                sb.append("<a href=\"" + uri + "?" + showall + "\">" + this.getLocalizedText("SHOW_ALL") + "</a>");
+            }
+            sb.append("</p>"); // added for XHTML 1.0 Strict compliance
+            rowCount = 0;
+        }
+
+        return sb.toString();
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableCellBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableCellBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableCellBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableCellBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * A <code>TableCellBean</code> represents a table cell and is contained by a <code>TableRowBean</code>
+ */
+public class TableCellBean extends BeanContainer implements TagBean {
+
+    protected String width = null;
+    protected String height = null;
+    protected String align = null;
+    protected String valign = null;
+    protected String colspan = null;
+    protected String rowspan = null;
+
+    //protected String TABLE_CELL_STYLE = "portlet-section-body";
+
+    /**
+     * Constructs a default table cell bean
+     */
+    public TableCellBean() {
+        super();
+        //this.cssClass = TABLE_CELL_STYLE;
+    }
+
+    public TableCellBean(BaseComponentBean compBean) {
+        super();
+        this.addBean(compBean);
+        //this.cssClass = TABLE_CELL_STYLE;
+    }
+
+    /**
+     * Constructs a table cell bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TableCellBean(String beanId) {
+        super();
+        this.beanId = beanId;
+        //this.cssClass = TABLE_CELL_STYLE;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @param valign the table vertical alignment
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Returns the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @return the table vertical alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    /**
+     * Sets the table cell width
+     *
+     * @param width the table cell width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table cell width
+     *
+     * @return the table cell width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table cell height
+     *
+     * @param height the table cell height
+     */
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    /**
+     * Returns the table cell row span
+     *
+     * @return the table cell row span
+     */
+    public String getRowspan() {
+        return rowspan;
+    }
+
+    /**
+     * Sets the table cell row span
+     *
+     * @param rowspan the table cell row span
+     */
+    public void setRowspan(String rowspan) {
+        this.rowspan = rowspan;
+    }
+
+    /**
+     * Returns the table cell col span
+     *
+     * @return the table cell col span
+     */
+    public String getColspan() {
+        return colspan;
+    }
+
+    /**
+     * Sets the table cell col span
+     *
+     * @param colspan the table cell col span
+     */
+    public void setColspan(String colspan) {
+        this.colspan = colspan;
+    }
+
+    /**
+     * Returns the table cell height
+     *
+     * @return the table cell height
+     */
+    public String getHeight() {
+        return height;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("<td ");
+        sb.append(getFormattedCss());
+        // Attribute 'width' replaced by 'style="width:"' for XHTML 1.0 Strict compliance                            
+        if (width != null) sb.append(" style=\"width:" + width + "\"");
+        if (height != null) sb.append(" height=\"" + height + "\"");
+        if (align != null) sb.append(" align=\"" + align + "\"");
+        if (valign != null) {
+            sb.append(" valign=\"" + valign + "\"");
+        }
+        if (rowspan != null) sb.append(" rowspan=\"" + rowspan + "\"");
+        if (colspan != null) sb.append(" colspan=\"" + colspan + "\"");
+        sb.append(">");
+        for (BaseComponentBean bean : container) {
+            sb.append(bean.toStartString());
+            sb.append(bean.toEndString());
+        }
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "</td>";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableRowBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableRowBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TableRowBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,136 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableRowBean.java 4884 2006-06-26 23:52:48Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.Iterator;
+
+public class TableRowBean extends BeanContainer implements TagBean {
+
+    protected boolean isHeader = false;
+    public static final String TABLE_HEADER_STYLE = "portlet-section-header";
+    public static final String TABLE_NORMAL_STYLE = "portlet-section-body";
+    public static final String TABLE_ALTERNATE_STYLE = "portlet-section-alternate";
+    public static final String TABLE_ROLLOVER_STYLE = "portlet-section-rollover";
+
+    protected String align = null;
+    protected String valign = null;
+    protected boolean isZebra = false;
+
+    /**
+     * Constructs a default table row bean
+     */
+    public TableRowBean() {
+        super();
+    }
+
+    /**
+     * Constructs a default table row bean
+     */
+    public TableRowBean(BaseComponentBean compBean) {
+        super();
+        this.addBean(compBean);
+    }
+
+    /**
+     * Constructs a table row bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TableRowBean(String beanId) {
+        super();
+        this.beanId = beanId;
+    }
+
+    /**
+     * Indicates if this table row is a header
+     *
+     * @param isHeader true if this table row is a header, false otherwise
+     */
+    public void setHeader(boolean isHeader) {
+        this.isHeader = isHeader;
+    }
+
+    /**
+     * Returns true if this table row is a header, false otherwise
+     *
+     * @return true if this table row is a header, false otherwise
+     */
+    public boolean getHeader() {
+        return isHeader;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @param valign the table vertical alignment
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Returns the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @return the table vertical alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    public void setZebra(boolean isZebra) {
+        this.isZebra = isZebra;
+    }
+
+    public boolean getZebra() {
+        return isZebra;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("<tr");
+        if (align != null) sb.append(" align=\"").append(align).append("\"");   // todo check usage of 'layout' instead of 'align' ??
+        if (valign != null) sb.append(" valign=\"" + valign + "\"");
+        if (isHeader) {
+            sb.append(" class=\"" + TABLE_HEADER_STYLE + "\"");
+        } else {
+            if (isZebra) {
+                sb.append(" onmouseover=\"this.className='" + TABLE_ROLLOVER_STYLE + "'\" onmouseout=\"this.className='" + TABLE_NORMAL_STYLE + "'\" class=\"'" + TABLE_ALTERNATE_STYLE + "'\"");
+            }
+        }
+        sb.append(getFormattedCss());
+        sb.append(">");
+        Iterator it = container.iterator();
+        while (it.hasNext()) {
+            TableCellBean cellBean = (TableCellBean) it.next();
+            sb.append(cellBean.toStartString());
+            sb.append(cellBean.toEndString());
+        }
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "</tr>";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TagBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TagBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TagBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TagBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.util.Locale;
+
+/**
+ * The <code>TagBean</code> interface describes the base methods provided by all visual ui beans
+ */
+public interface TagBean {
+
+    public static final String CALENDAR_NAME = "ca";
+
+    public static final String CHECKBOX_NAME = "cb";
+
+    public static final String FILEINPUT_NAME = "fi";
+
+    public static final String HIDDENFIELD_NAME = "hf";
+
+    public static final String LISTBOXITEM_NAME = "li";
+
+    public static final String TEXTFIELD_NAME = "tf";
+
+    public static final String TEXTAREA_NAME = "ta";
+
+    public static final String TEXTEDITOR_NAME = "te";
+
+    public static final String PASSWORD_NAME = "pb";
+
+    public static final String RADIOBUTTON_NAME = "rb";
+
+    public static final String RICHTEXTEDITOR_NAME = "rt";
+
+    /**
+     * Returns the bean identifier
+     *
+     * @return the bean identifier
+     */
+    public String getBeanId();
+
+    public void addParam(String name, String value);
+
+    public void removeParam(String name);
+
+    /**
+     * Sets the bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public void setBeanId(String beanId);
+
+    public void setLocale(Locale locale);
+
+    /**
+     * Returns the HTML representation of the bean
+     *
+     * @return html string representing the object
+     */
+    public String toStartString();
+
+    /**
+     * Returns the HTML representation of the bean
+     *
+     * @return html string representing the object
+     */
+    public String toEndString();
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextAreaBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextAreaBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextAreaBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TextAreaBean.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * The <code>TextAreaBean</code> represents a text area element
+ */
+public class TextAreaBean extends InputBean implements TagBean {
+
+    private int cols = 0;
+    private int rows = 0;
+
+    /**
+     * Constructs a default text area bean
+     */
+    public TextAreaBean() {
+        super(TagBean.TEXTAREA_NAME);
+        this.cssClass = MessageStyle.MSG_INFO;
+    }
+
+    /**
+     * Constructs a text area bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TextAreaBean(String beanId) {
+        super(TagBean.TEXTAREA_NAME);
+        this.cssClass = MessageStyle.MSG_INFO;
+        this.beanId = beanId;
+    }
+
+    /**
+     * Gets the number of columns of the TextArea.
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the TextArea.
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the textarea.
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the textarea.
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("<textarea ");
+        sb.append(getFormattedCss());
+        if (id != null) sb.append(" id=\"").append(id).append("\"");
+        String sname = createTagName(name);
+
+        sb.append("name=\"").append(sname).append("\" ");
+        if (cols != 0) sb.append(" cols=\"").append(cols).append("\" ");
+        if (rows != 0) sb.append(" rows=\"").append(rows).append("\" ");
+        sb.append(" ").append(checkDisabled());
+        sb.append(" ").append(checkReadOnly());
+        if (onFocus != null) sb.append("onfocus=\"").append(onFocus).append("\"");
+        if (onClick != null) sb.append("onclick=\"").append(onClick).append("\"");
+        if (onChange != null) sb.append("onchange=\"").append(onChange).append("\"");
+        if (onBlur != null) sb.append("onblur=\"").append(onBlur).append("\"");
+        if (onSelect != null) sb.append("onselect=\"").append(onSelect).append("\"");
+
+        sb.append(">");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        String result = (value != null) ? value : "";
+        return result + "</textarea>";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,119 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TextBean.java 4884 2006-06-26 23:52:48Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.beans;
+
+import java.awt.*;
+
+/**
+ * The <code>TextBean</code> represents text to be displayed
+ */
+public class TextBean extends BaseComponentBean implements TagBean {
+
+    public static final String NAME = "tb";
+
+    protected String style = "info";
+
+    /* @deprecated -- use MessageStyle instead */
+    // CSS definitions according to Portlet API spec. PLT.C
+    public static final String MSG_STATUS = "portlet-msg-status";
+    public static final String MSG_INFO = "portlet-msg-info";
+    public static final String MSG_ERROR = "portlet-msg-error";
+    public static final String MSG_ALERT = "portlet-msg-alert";
+    public static final String MSG_SUCCESS = "portlet-msg-success";
+    public static final String MSG_ITALIC = "italic";
+    public static final String MSG_BOLD = "bold";
+    public static final String MSG_UNDERLINE = "underline";
+
+    /**
+     * Constructs a default text bean
+     */
+    public TextBean() {
+        super(NAME);
+        this.cssClass = MessageStyle.MSG_INFO;
+    }
+
+    /**
+     * Constructs a text bean using a supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TextBean(String beanId) {
+        super(NAME);
+        this.beanId = beanId;
+        this.cssClass = MessageStyle.MSG_INFO;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle - plain text</li>
+     * <li>error - error text</li>
+     * <li>info - default info text</li>
+     * <li>status - status text</li>
+     * <li>alert - alert text</li>
+     * <li>success - success text</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    public String toStartString() {
+        return "";
+    }
+
+    public String toEndString() {
+        String text = "";
+        String dir = "ltr";
+        if (locale != null) {
+            ComponentOrientation orientation = ComponentOrientation.getOrientation(locale);
+            if (!orientation.isLeftToRight()) {
+                dir = "rtl";
+            }
+        }
+        if (value == null) return "";
+        if (style.equalsIgnoreCase("error") || (style.equalsIgnoreCase("err"))) {
+            this.cssClass = MessageStyle.MSG_ERROR;
+        } else if (style.equalsIgnoreCase("status")) {
+            this.cssClass = MessageStyle.MSG_STATUS;
+        } else if (style.equalsIgnoreCase("info")) {
+            this.cssClass = MessageStyle.MSG_INFO;
+        } else if (style.equalsIgnoreCase("alert")) {
+            this.cssClass = MessageStyle.MSG_ALERT;
+        } else if (style.equalsIgnoreCase("success")) {
+            this.cssClass = MessageStyle.MSG_SUCCESS;
+        } else if (style.equalsIgnoreCase("nostyle")) {
+            return value;
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_BOLD)) {
+            cssStyle = "font-weight: bold; ";
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_ITALIC)) {
+            cssStyle = "font-style: italic; ";
+        } else if (style.equalsIgnoreCase(MessageStyle.MSG_UNDERLINE)) {
+            cssStyle = "text-decoration: underline; ";
+        }
+        text = "<span ";
+        if (id != null) text+= "id=\"" + id + "\"";
+        text += " dir=\"" + dir + "\" " + getFormattedCss();
+        text += ">" + value + "</span>";
+        return text;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextEditorBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextEditorBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextEditorBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,144 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+/**
+ * The <code>TextEditorBean</code> represents a text editor provided
+ * by Cezary Tomczak at http://gosu.pl/dhtml/SimpleTextEditor.html
+ */
+public class TextEditorBean extends BaseComponentBean implements TagBean {
+
+    private int cols = 0;
+    private int rows = 0;
+    private String value = null;
+    private String action = null;
+    private boolean viewsource = true;
+
+    /**
+     * Constructs a default text area bean
+     */
+    public TextEditorBean() {
+        super(TagBean.TEXTEDITOR_NAME);
+    }
+
+    /**
+     * Constructs a text area bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TextEditorBean(String beanId) {
+        super(TagBean.TEXTEDITOR_NAME);
+        this.beanId = beanId;
+    }
+
+    /**
+     * Returns true if text editor should allow users to edit/view HTML source
+     *
+     * @return true if text editor should allow users to edit/view HTML source
+     */
+    public boolean getViewsource() {
+        return viewsource;
+    }
+
+    /**
+     * Set to true if text editor should allow users to edit/view HTML source
+     *
+     * @param viewsource is true if text editor should allow users to edit/view HTML source
+     */
+    public void setViewsource(boolean viewsource) {
+        this.viewsource = viewsource;
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    /**
+     * Gets the number of columns of the TextArea.
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the TextArea.
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the textarea.
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the textarea.
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    /**
+     * Sets the bean value
+     *
+     * @param value the bean value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Returns the bean value
+     *
+     * @return the bean value
+     */
+    public String getValue() {
+        return value;
+    }
+
+
+    public String toStartString() {
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        // deal with ROOT context case
+        String contextPath = configService.getProperty("gridsphere.deploy");
+        if (!contextPath.equals("")) contextPath = "/" + contextPath;
+        renderResponse.setProperty("CSS_HREF", contextPath + "/css/SimpleTextEditor.css");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/SimpleTextEditor.js");
+        StringBuffer sb = new StringBuffer();
+        sb.append("<form action=\"" + action + "\" method=\"post\">");
+        String sname = createTagName(name);
+        sb.append("<textarea id=\"body\" name=\"" + sname + "\" cols=\"" + cols + "\" rows=\"" + rows + "\">");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        StringBuffer sb = new StringBuffer();
+        String result = (value != null) ? value : "";
+        sb.append(result + "</textarea>");
+        sb.append("<script type=\"text/javascript\">");
+        String sname = createTagName(name);
+        sb.append("var ste = new SimpleTextEditor(\"body\", \"" + sname + "\", " + viewsource + ", \"ste\");");
+        sb.append("ste.init();");
+        sb.append("</script>");
+        sb.append("<input type=\"submit\" value=\"Submit\" onclick=\"ste.submit();\">");
+        sb.append("</form>");
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextFieldBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextFieldBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TextFieldBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TextFieldBean.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * The <code>TextFieldBean</code> represents a text field element
+ */
+public class TextFieldBean extends InputBean implements TagBean {
+
+    /**
+     * Constructs a default text field bean
+     */
+    public TextFieldBean() {
+        super(TagBean.TEXTFIELD_NAME);
+        this.inputtype = "text";
+    }
+
+    /**
+     * Constructs a text field bean using the supplied bean name
+     *
+     * @param beanId the bean identifier
+     */
+    public TextFieldBean(String beanId) {
+        super(TagBean.TEXTFIELD_NAME);
+        this.beanId = beanId;
+        this.inputtype = "text";
+    }
+
+    /**
+     * Constructs a text field bean using the supplied bean name and identifier
+     *
+     * @param vbName the visual bean name, a 2 character identifier
+     * @param beanId the bean identifier
+     */
+    public TextFieldBean(String vbName, String beanId) {
+        super(vbName);
+        this.inputtype = "text";
+        this.beanId = beanId;
+    }
+
+    public String toStartString() {
+        return super.toStartString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TooltipBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TooltipBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TooltipBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.portlet.RenderResponse;
+
+public class TooltipBean extends BaseComponentBean {
+
+    public String name = null;
+    public String key = null;
+    public String value = "";
+    public String id = null;
+
+    /**
+     * Constructs a default table row bean
+     */
+    public TooltipBean() {
+        super();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        if (key != null) value = getLocalizedText(key);
+        value = value.replaceAll("\n", "<br>");
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        String contextPath = "/" + configService.getProperty("gridsphere.deploy");
+        renderResponse.setProperty("CSS_HREF", contextPath + "/css/yahoo/container.css");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/dom.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/event.js");
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/yahoo/container.js");
+        sb.append("<script type=\"text/javascript\">");
+        sb.append("var " + id + " = new YAHOO.widget.Tooltip(\"" + id + "\", { context:\"" + name + "\", text:\"" + value + "\" } );");
+        sb.append("</script>");
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.portlet.PortletURL;
+import java.util.ArrayList;
+import java.util.List;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class TreeBean extends BaseComponentBean implements TagBean {
+
+    private List<TreeNodeBean> nodeList = new ArrayList<TreeNodeBean>();
+
+    public static final String NAME = "tr";
+
+    protected PortletURL portletURL = null;
+
+    private String action = null;
+
+    public TreeBean() {
+        super(TreeBean.NAME);
+    }
+
+    /**
+     * Constructs a text area bean from a supplied portlet request and bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public TreeBean(String beanId) {
+        super(TreeBean.NAME);
+        this.beanId = beanId;
+    }
+
+    public void addNode(TreeNodeBean node) {
+        nodeList.add(node);
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+
+    public PortletURL getPortletURL() {
+        return portletURL;
+    }
+
+    public void setPortletURL(PortletURL portletURL) {
+        this.portletURL = portletURL;
+    }
+
+    public List<TreeNodeBean> getNodeList() {
+        return nodeList;
+    }
+
+    public void setNodeList(List<TreeNodeBean> nodes) {
+        this.nodeList = nodes;
+    }
+
+
+    protected String createUniquePrefix(int numChars) {
+        StringBuffer s = new StringBuffer();
+        for (int i = 0; i <= numChars; i++) {
+            int nextChar = (int) (Math.random() * 62);
+            if (nextChar < 10) //0-9
+                s.append(nextChar);
+            else if (nextChar < 36) //a-z
+                s.append((char) (nextChar - 10 + 'a'));
+            else
+                s.append((char) (nextChar - 36 + 'A'));
+        }
+        return s.toString();
+    }
+
+
+    public String toStartString() {
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        // deal with ROOT context case
+        String contextPath = configService.getProperty("gridsphere.deploy");
+        if (!contextPath.equals("")) contextPath = "/" + contextPath;
+        renderResponse.addProperty("JAVASCRIPT_SRC", contextPath + "/javascript/tree/tree.js");
+        renderResponse.addProperty("CSS_HREF", contextPath + "/javascript/tree/tree.css");
+
+        String uniquePrefix = createUniquePrefix(2);
+        StringBuffer buffer = new StringBuffer();
+
+        buffer.append("\n<ul class=\"tree\"> <!-- tree start -->\n");
+
+
+        for (int i = 0; i < nodeList.size(); i++) {
+            TreeNodeBean n = nodeList.get(i);
+            if (n.getAction() == null) n.setAction(action);
+            n.setPortletURL(portletURL);
+            n.setUniquePrefix(uniquePrefix);
+            buffer.append(n.toStartString());
+        }
+
+        buffer.append("\n</ul> <!-- tree end -->\n");
+        return buffer.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeNodeBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeNodeBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/TreeNodeBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+package org.gridsphere.provider.portletui.beans;
+
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+
+import javax.portlet.PortletURL;
+import java.util.*;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class TreeNodeBean extends ActionBean implements TagBean {
+
+    // label to be displayed
+    private String label = "";
+
+    // action to be executed
+    private String action = null;
+
+    // parameters the action might have
+    private Map<String, String> parameters = new HashMap<String, String>();
+
+    private PortletURL portletURL = null;
+
+    private boolean closed = true;
+
+    private String uniquePrefix = null;
+
+    // other nodes (childs) it might have
+    private List<TreeNodeBean> nodes = new ArrayList<TreeNodeBean>();
+
+
+    public String getUniquePrefix() {
+        return uniquePrefix;
+    }
+
+    public void setUniquePrefix(String uniquePrefix) {
+        this.uniquePrefix = uniquePrefix;
+    }
+
+    public boolean isClosed() {
+        return closed;
+    }
+
+    public void setClosed(boolean closed) {
+        this.closed = closed;
+    }
+
+    public boolean hasChildren() {
+        return !nodes.isEmpty();
+    }
+
+    public void addNode(TreeNodeBean n) {
+        nodes.add(n);
+    }
+
+    public PortletURL getPortletURL() {
+        return portletURL;
+    }
+
+    public void setPortletURL(PortletURL portletURL) {
+        this.portletURL = portletURL;
+    }
+
+    public List getNodes() {
+        return nodes;
+    }
+
+    public void setNodes(List nodes) {
+        this.nodes = nodes;
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    public void setParameter(String key, String value) {
+        parameters.put(key, value);
+    }
+
+    public Map getParameters() {
+        return parameters;
+    }
+
+    public void setParameters(Map parameters) {
+        this.parameters = parameters;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+
+    public String toStartString() {
+        StringBuffer buffer = new StringBuffer();
+
+        Map newParams = new HashMap();
+        if (!parameters.isEmpty()) {
+            // add params
+            Set keys = parameters.keySet();
+            // prefix params
+            for (Object paramKey : keys) {
+                String value = parameters.get(paramKey);
+                newParams.put(uniquePrefix + "_" + paramKey, new String[]{value});
+            }
+        }
+        portletURL.setParameters(newParams);
+        portletURL.setParameter(SportletProperties.PREFIX, uniquePrefix);
+        ((PortletURLImpl) portletURL).setAction(action);
+
+        buffer.append("<li");
+        if (closed) buffer.append(" class=\"closed\" ");
+        buffer.append("><a href=\"").append(portletURL.toString()).append("\">").append(label).append("</a>");
+
+        // check if has children
+        if (hasChildren()) {
+            buffer.append("<ul>");
+            for (int i = 0; i < nodes.size(); i++) {
+                TreeNodeBean n = nodes.get(i);
+                if (n.getAction() == null) n.setAction(action);
+                n.setPortletURL(portletURL);
+                n.setUniquePrefix(uniquePrefix);
+                buffer.append(n.toStartString());
+            }
+            buffer.append("</ul>");
+        }
+        buffer.append("</li>");
+        return buffer.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ValidatorBean.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ValidatorBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/ValidatorBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+package org.gridsphere.provider.portletui.beans;
+
+/**
+ * The <code>TextBean</code> represents text to be displayed
+ */
+public class ValidatorBean extends BaseComponentBean implements TagBean {
+
+    protected String type = "";
+
+    /**
+     * Constructs a default text bean
+     */
+    public ValidatorBean() {
+
+    }
+
+    /**
+     * Constructs a text bean using a supplied bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public ValidatorBean(String beanId) {
+        this.beanId = beanId;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String toStartString() {
+        return "<input type=\"hidden\" name=\"" + "val#" + name + "#" + type + "\" value=\"" + value + "\"/>";
+    }
+
+    public String toEndString() {
+        return "";
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/beans/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>UI Beans Library</b>
+<p>
+The visual beans library provides a collection of user interface components that wrap existing HTML elements
+and provides a more object oriented approach to creating web page presentations, similar to the Java Server Faces
+(JSF) API. The following visual beans are provided:
+<ul>
+<li>{@link org.gridsphere.provider.portletui.beans.ActionParamBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.ActionLinkBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.ActionSubmitBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.CheckBoxBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.FileInputBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.FrameBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.HiddenFieldBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.ImageBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.ListBoxBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.PanelBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.PasswordBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.RadioButtonBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.TableBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.TableRowBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.TableCellBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.TextBean}</li></ul>
+<li>{@link org.gridsphere.provider.portletui.beans.TextAreaBean}</li>
+<li>{@link org.gridsphere.provider.portletui.beans.TextFieldBean}</li>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DataSource.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DataSource.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DataSource.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+package org.gridsphere.provider.portletui.model;
+
+import java.util.List;
+
+/**
+ * User: novotny
+ * Date: May 16, 2006
+ * Time: 2:45:49 PM
+ */
+
+public interface DataSource {
+
+    public void setFirstResult(int firstResult);
+
+    public int getFirstResult();
+
+    public void setMaxResults(int maxResults);
+
+    public int getMaxResults();
+
+    public List getList();
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultDataSource.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultDataSource.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultDataSource.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+package org.gridsphere.provider.portletui.model;
+
+import java.util.List;
+
+/**
+ * User: novotny
+ * Date: May 16, 2006
+ * Time: 2:45:49 PM
+ */
+public abstract class DefaultDataSource implements DataSource {
+
+    protected int firstResult = 0;
+    protected int maxResults = 0;
+
+    public DefaultDataSource() {
+    }
+
+    public void setFirstResult(int firstResult) {
+        this.firstResult = firstResult;
+    }
+
+    public int getFirstResult() {
+        return firstResult;
+    }
+
+    public void setMaxResults(int maxResults) {
+        this.maxResults = maxResults;
+    }
+
+    public int getMaxResults() {
+        return maxResults;
+    }
+
+    public abstract List getList();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultListModel.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultListModel.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultListModel.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,85 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: DefaultListModel.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.model;
+
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A <code>DefaultListModel</code> is a general tag bean container that stores tag beans in a list
+ */
+public class DefaultListModel {
+
+    protected List list = new ArrayList();
+
+    /**
+     * Adds a tag bean to the list in the supplied location
+     *
+     * @param index the list location to add the tag bean to
+     * @param bean  the tag bean
+     */
+    public void addBean(int index, TagBean bean) {
+        list.add(index, bean);
+    }
+
+    /**
+     * Adds a tag bean to the list
+     *
+     * @param bean the tag bean
+     */
+    public void addBean(TagBean bean) {
+        list.add(bean);
+    }
+
+    /**
+     * Returns true if the list is empty, false otherwise
+     *
+     * @return true if the list is empty, false otherwise
+     */
+    public boolean isEmpty() {
+        if (list.size() == 0) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * Removes a tag bean from the list at a given location
+     *
+     * @param index the location of the tag bean to remove
+     */
+    public void remove(int index) {
+        list.remove(index);
+    }
+
+    /**
+     * Returns a list iterator
+     *
+     * @return a list iterator
+     */
+    public Iterator iterator() {
+        return list.iterator();
+    }
+
+    /**
+     * Returns the size of the list
+     *
+     * @return the size of the list
+     */
+    public int size() {
+        return list.size();
+    }
+
+    /**
+     * Clears the list of all tag beans
+     */
+    public void clear() {
+        list.clear();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultTableModel.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultTableModel.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/DefaultTableModel.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: DefaultTableModel.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.model;
+
+import org.gridsphere.provider.portletui.beans.*;
+
+import java.util.*;
+
+/**
+ * A <code>DefaultTableModel</code> provides a data model used by the <code>TableBean</code>
+ */
+public class DefaultTableModel extends BaseBean implements TagBean {
+
+    protected List dataList = new Vector();
+
+    /**
+     * Constructs a default table model
+     */
+    public DefaultTableModel() {
+        dataList = new Vector();
+    }
+
+    /**
+     * Constructs a default table model from a list of <code>TableRowBean</code>s
+     *
+     * @param dataList a list of <code>TableRowBean</code>s
+     */
+    public DefaultTableModel(List dataList) {
+        this.dataList = dataList;
+    }
+
+    /**
+     * Constructs a default table model from a Map containing String name/value pairs
+     *
+     * @param paramMap a Map containing String name/value pairs
+     */
+    public DefaultTableModel(Map paramMap) {
+        TableRowBean tableRow = null;
+        TableCellBean cellbean = null;
+        Set set = paramMap.keySet();
+        Iterator it = set.iterator();
+        while (it.hasNext()) {
+            tableRow = new TableRowBean();
+            String key = (String) it.next();
+            Object obj = paramMap.get(key);
+            //if (obj instanceof List) {
+
+            //}
+            if (obj instanceof String) {
+                String value = (String) paramMap.get(key);
+                TextBean tb1 = new TextBean();
+                tb1.setValue(key);
+                cellbean = new TableCellBean();
+                cellbean.addBean(tb1);
+                tableRow.addBean(cellbean);
+                TextBean tb2 = new TextBean();
+                tb2.setValue(" " + value);
+                cellbean = new TableCellBean();
+                cellbean.addBean(tb2);
+                tableRow.addBean(cellbean);
+                dataList.add(tableRow);
+            }
+        }
+    }
+
+    /**
+     * Adds a <code>TableRowBean</code> to the model
+     *
+     * @param rowBean a <code>TableRowBean</code>
+     */
+    public void addTableRowBean(TableRowBean rowBean) {
+        dataList.add(rowBean);
+    }
+
+    /**
+     * Clears the model
+     */
+    public void clear() {
+        dataList.clear();
+    }
+
+    /**
+     * Sets the model with a list of <code>TableRowBean</code>s
+     *
+     * @param rowBeans a list of <code>TableRowBean</code>s
+     */
+    public void setTableRowBeans(List rowBeans) {
+        dataList = rowBeans;
+    }
+
+    /**
+     * Returns a list of <code>TableRowBean</code>s
+     *
+     * @return a list of <code>TableRowBean</code>s
+     */
+    public List getTableRowBeans() {
+        return dataList;
+    }
+
+    public String toStartString() {
+        StringBuffer sb = new StringBuffer();
+        Iterator it = dataList.iterator();
+        while (it.hasNext()) {
+            TableRowBean trb = (TableRowBean) it.next();
+            sb.append(trb.toStartString());
+            sb.append(trb.toEndString());
+        }
+        return sb.toString();
+    }
+
+    public String toEndString() {
+        return "";
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/SelectListModel.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/SelectListModel.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/SelectListModel.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: SelectListModel.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+package org.gridsphere.provider.portletui.model;
+
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * A <code>SelectListModel</code> is a list model that tags elements of the list as selected
+ */
+public class SelectListModel extends DefaultListModel {
+
+    /**
+     * Set an item in the list to be selected
+     *
+     * @param index the items location in the list
+     * @param flag  is true if the list item is selected, false otherwise
+     */
+    public void setSelected(int index, boolean flag) {
+        ((ListBoxItemBean) list.get(index)).setSelected(flag);
+    }
+
+    /**
+     * Deselects all items in the list
+     */
+    public void unselectAll() {
+        Iterator it = list.iterator();
+        while (it.hasNext()) {
+            ((ListBoxItemBean) it.next()).setSelected(false);
+        }
+    }
+
+    /**
+     * Return a list of selected items
+     *
+     * @return a list of selected items
+     */
+    public List getSelectedItems() {
+        Iterator it = list.iterator();
+        List selectedList = new ArrayList();
+        while (it.hasNext()) {
+            ListBoxItemBean item = (ListBoxItemBean) it.next();
+            if (item.isSelected()) {
+                selectedList.add(item);
+            }
+        }
+        return selectedList;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/model/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>UI Models API</b>
+<p>
+The Model beans provide data storage classes used by the visual beans library. The following models are supported:
+<ul>
+<li>{@link org.gridsphere.provider.portletui.model.DefaultListModel}</li>
+<li>{@link org.gridsphere.provider.portletui.model.SelectListModel}</li>
+<li>{@link org.gridsphere.provider.portletui.model.DefaultTableModel}</li>
+</ul>
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionBodyTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionBodyTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionBodyTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+/**
+ * @author <a href="mailto:michael.russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: ActionBodyTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import javax.servlet.jsp.JspException;
+
+/**
+ * Represents the body of a selection on an action menu.
+ */
+public class ActionBodyTag extends BaseComponentTag {
+
+    public int doStartTag() throws JspException {
+
+        // Print the string
+        try {
+            pageContext.getOut().print("<div id=\"actionbody\">");
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        try {
+            pageContext.getOut().print("</div>");
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionComponentTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionComponentTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionComponentTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,80 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.provider.portletui.beans.ActionComponentBean;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.PageContext;
+
+/*
+ * @author <a href="mailto:russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: ActionComponentTag.java 4666 2006-03-27 17:47:56Z novotny $
+ * <p>
+ * Includes jsp pages from any web application.
+ */
+
+public class ActionComponentTag extends IncludeTag {
+
+    private static Log log = LogFactory.getLog(ActionComponentTag.class);
+    private String activeCompId = "";
+
+    protected String getActiveComponentId() {
+        return activeCompId;
+    }
+
+    protected void setActionComponentId(String compId) {
+        this.activeCompId = compId;
+    }
+
+    protected void includePage() {
+        //log.debug("includePage(" + page + ")");
+
+        RequestDispatcher rd = servletContext.getRequestDispatcher(page);
+        ServletRequest request = pageContext.getRequest();
+        ServletResponse response = pageContext.getResponse();
+
+        String baseCompId = (String)pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID);
+
+        if (includeBean != null) {
+            //log.debug("Using active component id ");
+            activeCompId = ((ActionComponentBean) includeBean).getActiveComponentId();
+        } else {
+            //log.debug("Using request component id ");
+            activeCompId = (String)pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID);
+        }
+
+        //log.debug("Changing component id from " + baseCompId + " to " + activeCompId);
+        pageContext.setAttribute(SportletProperties.GP_COMPONENT_ID, activeCompId, PageContext.REQUEST_SCOPE);
+
+        // Include message box tag automagically
+        MessageBoxTag messageBoxTag = new MessageBoxTag();
+        messageBoxTag.setBeanId("messageBox");
+        messageBoxTag.setPageContext(pageContext);
+        try {
+            messageBoxTag.doEndTag();
+        } catch (Exception e) {
+            log.error("Unable to include message box bean ", e);
+        }
+
+        try {
+
+            // Very important here... must pass it the appropriate jsp writer!!!
+            // Or else this include won't be contained within the parent content
+            // but either before or after it.
+            //rd.include(request, new ServletResponseWrapperInclude(response, pageContext.getOut()));
+            rd.include(request, new StoredPortletResponseImpl((HttpServletRequest)request, (HttpServletResponse) response, pageContext.getOut()));
+            //rd.include(pageContext.getRequest(), pageContext.getResponse());
+        } catch (Exception e) {
+            log.error("Unable to include page ", e);
+        }
+        //log.debug("Resetting component id to " + baseCompId);
+        pageContext.setAttribute(SportletProperties.GP_COMPONENT_ID, baseCompId, PageContext.REQUEST_SCOPE);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionFormTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionFormTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionFormTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,139 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionFormTag.java 4883 2006-06-26 23:52:13Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.RenderResponseImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspTagException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import java.util.ArrayList;
+
+/**
+ * The <code>ActionFormTag</code> provides a UI form tag that can also include <code>ActionParam</code> tags
+ * nested within it.
+ */
+public class ActionFormTag extends ActionTag {
+
+    protected boolean isMultipart = false;
+    // 'POST' replaced by 'post' for XHTML 1.0 Strict compliance
+    protected String method = "post";
+
+    /**
+     * Sets the form method attribute e.g. POST
+     *
+     * @param method the form method
+     */
+    public void setMethod(String method) {
+        this.method = method;
+    }
+
+    /**
+     * Returns the form method attribute e.g. POST
+     *
+     * @return the form method
+     */
+    public String getMethod() {
+        return method;
+    }
+
+    /**
+     * Sets whether this form supports multi-part form data as in the case of file uploading
+     *
+     * @param isMultipart is true if this form supports multi-part form data, false otherwise
+     */
+    public void setMultiPartFormData(boolean isMultipart) {
+        this.isMultipart = isMultipart;
+    }
+
+    /**
+     * Returns whether this form supports multi-part form data as in the case of file uploading
+     *
+     * @return true if this form supports multi-part form data, false otherwise
+     */
+    public boolean getMultiPartFormData() {
+        return isMultipart;
+    }
+
+    public int doStartTag() throws JspException {
+        paramBeans = new ArrayList();
+        return EVAL_BODY_BUFFERED;
+    }
+
+    public int doEndTag() throws JspException {
+        try {
+            JspWriter out = pageContext.getOut();
+
+            out.print("<form ");
+            //if (onSubmit != null) out.print(" onsubmit=\"" + onSubmit + "\" ");
+
+            out.print("action=\"");
+
+            // if using JSR then create render link
+            RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+            String actionStr;
+            if (res != null) {
+                if (res instanceof RenderResponseImpl) {
+                    actionStr = createRenderURI();
+                } else {
+                    // if non-GS container this will have to be an ActionURL
+                    actionStr = createActionURI();
+                }
+            } else {
+                actionStr = createActionURI();
+            }
+
+            out.print(actionStr);
+
+
+            out.print("\" method=\"");
+            out.print(method);
+            out.print("\"");
+            if (isMultipart) {
+                out.print(" enctype=\"multipart/form-data\"");
+            }
+            if (name == null) {
+                name = "form" + this.getUniqueId("gs_formNumber");
+            }
+
+            if (this.cssStyle != null) {
+                out.print(" style=\"" + this.cssStyle + "\"");
+            }
+            if (this.cssClass != null) {
+                out.print(" class=\"" + this.cssClass + "\"");
+            }
+
+            out.print(" id=\"" + name + "\"");
+            out.print(" name=\"" + name + "\"");
+            if (onSubmit == null) {
+                out.print(" onsubmit=\"return validate( " + name + " );\" ");
+            } else {
+                out.print(" onsubmit=\"" + onSubmit + "\" ");
+            }
+            if (onReset != null) out.print(" onreset=\"" + onReset + "\" ");
+            out.println(">");
+
+            // write out rest of body
+            bodyContent.writeOut(getPreviousOut());
+            // end form
+            out.print("</form>");
+        } catch (Exception e) {
+            throw new JspTagException(e.getMessage());
+        }
+        // nulling these out is ABSOLUTELY NECESSARY or weird
+        // interactins happen with actionsubmit nested inside actionform!
+        name = null;
+        action = null;
+        return EVAL_PAGE;
+    }
+
+    public void release() {
+        super.release();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionLinkTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionLinkTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionLinkTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,187 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionLinkTag.java 4915 2006-07-10 20:51:49Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.ActionLinkBean;
+import org.gridsphere.provider.portletui.beans.ImageBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.Tag;
+
+/**
+ * The <code>ActionLinkTag</code> provides a hyperlink element that includes a <code>DefaultPortletAction</code>
+ * and can contain nested <code>ActionParamTag</code>s
+ */
+public class ActionLinkTag extends ActionTag {
+
+    protected ActionLinkBean actionlink = null;
+
+    protected String style = MessageStyle.MSG_INFO;
+    protected ImageBean imageBean = null;
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the image bean
+     *
+     * @param imageBean the image bean
+     */
+    public void setImageBean(ImageBean imageBean) {
+        this.imageBean = imageBean;
+    }
+
+    /**
+     * Returns the image bean
+     *
+     * @return the image bean
+     */
+    public ImageBean getImageBean() {
+        return imageBean;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            actionlink = (ActionLinkBean) getTagBean();
+            if (actionlink == null) {
+                actionlink = new ActionLinkBean(beanId);
+                actionlink.setStyle(style);
+                this.setBaseComponentBean(actionlink);
+            } else {
+                if (actionlink.getParamBeanList() != null) {
+                    paramBeans = actionlink.getParamBeanList();
+                }
+                if (actionlink.getAction() != null) {
+                    action = actionlink.getAction();
+                }
+                if (actionlink.getValue() != null) {
+                    value = actionlink.getValue();
+                }
+                if (actionlink.getKey() != null) {
+                    key = actionlink.getKey();
+                }
+                if (actionlink.getOnClick() != null) {
+                    onClick = actionlink.getOnClick();
+                }
+            }
+        } else {
+            actionlink = new ActionLinkBean();
+            this.setBaseComponentBean(actionlink);
+            actionlink.setStyle(style);
+        }
+
+        actionlink.setUseAjax(useAjax);
+        if (name != null) actionlink.setName(name);
+        if (anchor != null) actionlink.setAnchor(anchor);
+        if (action != null) actionlink.setAction(action);
+        if (value != null) actionlink.setValue(value);
+        if (onClick != null) actionlink.setOnClick(onClick);
+        if (style != null) actionlink.setStyle(style);
+        if (cssStyle != null) actionlink.setCssStyle(cssStyle);
+        if (cssClass != null) actionlink.setCssClass(cssClass);
+        if (layout != null) actionlink.setLayout(label);
+        if (onMouseOut != null) actionlink.setOnMouseOut(onMouseOut);
+        if (onMouseOver != null) actionlink.setOnMouseOver(onMouseOver);
+
+        Tag parent = getParent();
+        if (parent instanceof ActionMenuTag) {
+            ActionMenuTag actionMenuTag = (ActionMenuTag) parent;
+            if (!actionMenuTag.getLayout().equals("horizontal")) {
+                actionlink.setCssStyle("display: block");
+            }
+        }
+
+        if (key != null) {
+            actionlink.setKey(key);
+            actionlink.setValue(getLocalizedText(key));
+            value = actionlink.getValue();
+        }
+
+        return EVAL_BODY_BUFFERED;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            paramBeans = actionlink.getParamBeanList();
+            label = actionlink.getLabel();
+            action = actionlink.getAction();
+        }
+
+        if (action != null) {
+            actionlink.setPortletURI(createActionURI());
+        } else {
+            actionlink.setPortletURI(createRenderURI());
+        }
+        if ((bodyContent != null) && (value == null)) {
+            actionlink.setValue(bodyContent.getString());
+        }
+
+        if (pageContext.getRequest().getAttribute(SportletProperties.USE_AJAX) != null) {
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            String portlet = (String) pageContext.getRequest().getAttribute(SportletProperties.PORTLET_NAME);
+            String compname = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_NAME);
+            actionlink.setUseAjax(true);
+            actionlink.setOnClick("GridSphereAjaxHandler2.startRequest('" + portlet + "', '" + compname + "', '" + paction + "');");
+        }
+
+        if (useAjax) {
+            String cid = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_ID);
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            actionlink.setOnClick("GridSphereAjaxHandler.startRequest(" + cid + ", '" + paction + "');");
+        }
+
+        if (imageBean != null) {
+            String val = actionlink.getValue();
+            if (val == null) val = "";
+            actionlink.setValue(imageBean.toStartString() + val);
+        }
+
+        if (var == null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(actionlink.toEndString());
+            } catch (Exception e) {
+                throw new JspException(e);
+            }
+        } else {
+            pageContext.setAttribute(var, actionlink.toEndString(), PageContext.PAGE_SCOPE);
+        }
+        release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuItemTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ActionMenuItemBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.Tag;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ActionMenuItemTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+
+public class ActionMenuItemTag extends ContainerTag {
+
+    protected boolean isSelected = false;
+    protected boolean seperator = false;
+    protected ActionMenuItemBean actionMenuItemBean = null;
+
+    public boolean isSelected() {
+        return isSelected;
+    }
+
+    public void setSelected(boolean selected) {
+        isSelected = selected;
+    }
+
+    public boolean isSeperator() {
+        return seperator;
+    }
+
+    public void setSeperator(boolean seperator) {
+        this.seperator = seperator;
+    }
+
+    public int doStartTag() throws JspException {
+
+        if (!beanId.equals("")) {
+            actionMenuItemBean = (ActionMenuItemBean) getTagBean();
+            if (actionMenuItemBean == null) {
+                actionMenuItemBean = new ActionMenuItemBean();
+            }
+        } else {
+            actionMenuItemBean = new ActionMenuItemBean();
+        }
+
+        // set info if not already set and we have something to set
+        //if (info!=null && actionMenuItemBean.getInfo()==null) actionMenuItemBean.setInfo(info);
+
+        Tag parent = getParent();
+        if (parent instanceof ActionMenuTag) {
+            ActionMenuTag actionMenuTag = (ActionMenuTag) parent;
+            if (actionMenuTag.getLayout() != null) actionMenuItemBean.setAlign(actionMenuTag.getLayout());
+            if (actionMenuTag.getMenutype() != null) actionMenuItemBean.setMenutype(actionMenuTag.getMenutype());
+            actionMenuItemBean.setSelected(isSelected);
+        }
+        String beanString = actionMenuItemBean.toStartString();
+        // Print the string
+        try {
+            pageContext.getOut().print(beanString);
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(actionMenuItemBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionMenuTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,193 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.ActionMenuBean;
+
+import javax.portlet.*;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.Tag;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ActionMenuTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class ActionMenuTag extends ContainerTag {
+
+    protected ActionMenuBean actionMenuBean = null;
+    protected String layout = null;
+    protected String title = null;
+    protected String menutype = null;
+    protected boolean collapsible = false;
+    protected boolean collapsed = false;
+    protected String key = null;
+
+    public ActionMenuBean getActionMenuBean() {
+        return actionMenuBean;
+    }
+
+    public String getMenutype() {
+        return menutype;
+    }
+
+    public void setMenutype(String menutype) {
+        this.menutype = menutype;
+    }
+
+    public boolean isCollapsed() {
+        return collapsed;
+    }
+
+    public void setCollapsed(boolean collapsed) {
+        this.collapsed = collapsed;
+    }
+
+    public boolean isCollapsible() {
+        return collapsible;
+    }
+
+    public void setCollapsible(boolean collapsible) {
+        this.collapsible = collapsible;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getLayout() {
+        return layout;
+    }
+
+    public void setLayout(String layout) {
+        this.layout = layout;
+    }
+
+    /**
+     * Returns the key used to identify localized text
+     *
+     * @return the key used to identify localized text
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Sets the key used to identify localized text
+     *
+     * @param key the key used to identify localized text
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public int doStartTag() throws JspException {
+
+        // get the bean and the values
+        if (!beanId.equals("")) {
+            actionMenuBean = (ActionMenuBean) getTagBean();
+        }
+        if (actionMenuBean == null) {
+            actionMenuBean = new ActionMenuBean();
+        }
+
+        Tag parent = getParent();
+        if (parent instanceof ActionMenuTag) {
+            actionMenuBean.setHasParentMenu(true);
+            if (menutype == null) {
+                ActionMenuTag actionMenu = (ActionMenuTag)parent;
+                menutype = actionMenu.getMenutype();
+            }
+        }
+
+        if (layout == null) {
+            layout = actionMenuBean.getAlign();
+        } else {
+            actionMenuBean.setAlign(layout);
+        }
+        if (title == null) {
+            title = actionMenuBean.getTitle();
+        } else {
+            actionMenuBean.setTitle(title);
+        }
+        if (menutype == null) {
+            menutype = actionMenuBean.getMenutype();
+        } else {
+            actionMenuBean.setMenutype(menutype);
+        }
+
+
+        // TODO not working so far
+        actionMenuBean.setCollapsible(this.collapsible);
+        actionMenuBean.setCollapsed(this.collapsed);
+        // if using JSR then create render link
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        PortletURL uri = null;
+
+            uri = res.createActionURL();
+
+        actionMenuBean.setPortletURL(uri);
+//        PortletResponse res = (PortletResponse) pageContext.getAttribute("portletResponse");
+//        PortletURI uri = res.createURI();
+        // locale stuff
+        if (key != null) {
+            actionMenuBean.setTitle(getLocalizedText(key, "ActionMenu"));
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(actionMenuBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return EVAL_BODY_INCLUDE;
+
+    }
+
+    protected String createJSRActionURI(RenderResponse res) throws JspException {
+        // action is a required attribute except for FormTag
+        RenderRequest req = (RenderRequest) pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+        String windowState = req.getWindowState().toString();
+        String portletMode = req.getPortletMode().toString();
+        PortletURL actionURL = res.createRenderURL();
+        if (windowState != null) {
+            WindowState state = new WindowState(windowState);
+            try {
+                System.err.println("set state to:" + state);
+                actionURL.setWindowState(state);
+            } catch (WindowStateException e) {
+                throw new JspException("Unknown window state in renderURL tag: " + windowState);
+            }
+        }
+        if (portletMode != null) {
+            PortletMode mode = new PortletMode(portletMode);
+            try {
+                actionURL.setPortletMode(mode);
+                System.err.println("set mode to:" + mode);
+            } catch (PortletModeException e) {
+                throw new JspException("Unknown portlet mode in renderURL tag: " + portletMode);
+            }
+        }
+
+        System.err.println("printing action  URL = " + actionURL.toString());
+
+        return actionURL.toString();
+    }
+
+    public int doEndTag() throws JspException {
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(actionMenuBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionPaneTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionPaneTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionPaneTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+/**
+ * @author <a href="mailto:michael.russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: ActionPaneTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+/**
+ * Contains action menu and action body.
+ */
+public class ActionPaneTag extends ActionMenuTag {
+
+    public ActionPaneTag() {
+        super();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionSubmitTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionSubmitTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionSubmitTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,138 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionSubmitTag.java 4915 2006-07-10 20:51:49Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.ActionSubmitBean;
+import org.gridsphere.provider.portletui.beans.ParamBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * An <code>ActionSubmitTag</code> provides a button element that includes a <code>DefaultPortletAction</code> and may
+ * also include nested <code>ParamTag</code>s
+ */
+public class ActionSubmitTag extends ActionTag {
+
+    protected ActionSubmitBean actionSubmitBean = null;
+    protected String imageSrc = null;
+
+    public String getImageSrc() {
+        return imageSrc;
+    }
+
+    public void setImageSrc(String imageSrc) {
+        this.imageSrc = imageSrc;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            actionSubmitBean = (ActionSubmitBean) getTagBean();
+            if (actionSubmitBean == null) {
+                actionSubmitBean = new ActionSubmitBean(beanId);
+            } else {
+                if (actionSubmitBean.getAction() != null) {
+                    action = actionSubmitBean.getAction();
+                }
+                if (actionSubmitBean.getValue() != null) {
+                    value = actionSubmitBean.getValue();
+                }
+                if (actionSubmitBean.getKey() != null) {
+                    key = actionSubmitBean.getKey();
+                }
+                if (actionSubmitBean.getParamBeanList() != null) {
+                    paramBeans = actionSubmitBean.getParamBeanList();
+                }
+                if (actionSubmitBean.getOnClick() != null) {
+                    onClick = actionSubmitBean.getOnClick();
+                }
+            }
+        } else {
+            actionSubmitBean = new ActionSubmitBean();
+        }
+
+        if (onClick != null) actionSubmitBean.setOnClick(onClick);
+
+        actionSubmitBean.setName(createActionURI());
+        actionSubmitBean.setUseAjax(useAjax);
+
+        if (anchor != null) actionSubmitBean.setAnchor(anchor);
+        if (imageSrc != null) actionSubmitBean.setImageSrc(imageSrc);
+
+        if (key != null) {
+            actionSubmitBean.setKey(key);
+            value = getLocalizedText(key);
+        }
+
+        if (!beanId.equals("")) {
+            this.updateBaseComponentBean(actionSubmitBean);
+        } else {
+            this.setBaseComponentBean(actionSubmitBean);
+        }
+
+        if (action != null) actionSubmitBean.setAction(action);
+
+        if (cssStyle != null) {
+            actionSubmitBean.setCssStyle(cssStyle);
+        }
+        if (cssClass != null) {
+            actionSubmitBean.setCssClass(cssClass);
+        }
+
+        Object parentTag = getParent();
+        if (parentTag instanceof ContainerTag) {
+            ContainerTag containerTag = (ContainerTag) parentTag;
+            containerTag.addTagBean(actionSubmitBean);
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        for (ParamBean paramBean : paramBeans) {
+            ParamBean pbean = (ParamBean) paramBean;
+            portletPhase.addParameter(pbean.getName(), pbean.getValue());
+        }
+
+        String actionURI = createActionURI().toString();
+        actionSubmitBean.setName(actionURI);
+
+        if (portletPhase != null) actionSubmitBean.setAction(portletPhase.toString());
+
+        if (pageContext.getRequest().getAttribute(SportletProperties.USE_AJAX) != null) {
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            String portlet = (String) pageContext.getRequest().getAttribute(SportletProperties.PORTLET_NAME);
+            String compname = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_NAME);
+            actionSubmitBean.setUseAjax(true);
+            actionSubmitBean.setOnClick("GridSphereAjaxHandler2.startRequest('" + portlet + "', '" + compname + "', '" + paction + "');");
+        }
+
+        if (useAjax) {
+            String cid = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_ID);
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            actionSubmitBean.setOnClick("GridSphereAjaxHandler.startRequest('" + cid + "', '" + paction + "');");
+        }
+
+        if ((bodyContent != null) && (value == null)) {
+            actionSubmitBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(actionSubmitBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+
+        return EVAL_PAGE;
+    }
+
+    public void release() {
+        super.release();
+        actionSubmitBean = null;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ActionTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,439 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionTag.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.PortletURLImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.DefaultPortletAction;
+import org.gridsphere.portletcontainer.DefaultPortletPhase;
+import org.gridsphere.portletcontainer.DefaultPortletRender;
+import org.gridsphere.provider.portletui.beans.ImageBean;
+import org.gridsphere.provider.portletui.beans.ParamBean;
+
+import javax.portlet.*;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.TagData;
+import javax.servlet.jsp.tagext.TagExtraInfo;
+import javax.servlet.jsp.tagext.VariableInfo;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * The abstract <code>ActionTag</code> is used by other Action tags to contain <code>DefaultPortletAction</code>s
+ * and possibly <code>ActionParamTag</code>s
+ */
+public abstract class ActionTag extends BaseComponentTag {
+
+    protected String action = null;
+    protected String render = null;
+    protected String anchor = null;
+    protected String var = null;
+    protected String onClick = null;
+    protected String onSubmit = null;
+    protected String onMouseOver = null;
+    protected String onMouseOut = null;
+    protected String onReset = null;
+    protected boolean useAjax = false;
+
+    protected boolean isSecure = false;
+
+    protected String windowState = null;
+    protected String portletMode = null;
+
+    protected DefaultPortletPhase portletPhase = null;
+    protected List<ParamBean> paramBeans = new ArrayList<ParamBean>();
+    protected String label = null;
+    protected String layout = null;
+    protected ImageBean imageBean = null;
+    protected boolean paramPrefixing = true;
+
+    public static class TEI extends TagExtraInfo {
+
+        public VariableInfo[] getVariableInfo(TagData tagData) {
+            VariableInfo vi[] = null;
+            String var = tagData.getAttributeString("var");
+            if (var != null) {
+                vi = new VariableInfo[1];
+                vi[0] = new VariableInfo(var, "java.lang.String", true, VariableInfo.AT_BEGIN);
+            }
+            return vi;
+        }
+    }
+
+    /**
+     * Sets the name of the variable to export as a RenderURL object
+     *
+     * @param var the name of the variable to export as a RenderURL object
+     */
+    public void setVar(String var) {
+        this.var = var;
+    }
+
+    /**
+     * Returns the name of the exported RenderURL object
+     *
+     * @return the exported variable
+     */
+    public String getVar() {
+        return var;
+    }
+
+    /**
+     * Sets the text that should be added at the end of generated URL
+     *
+     * @param anchor the action link key
+     */
+    public void setAnchor(String anchor) {
+        this.anchor = anchor;
+    }
+
+    /**
+     * Returns the anchor used to identify text that should be added at the end of generated URL
+     *
+     * @return the anchor
+     */
+    public String getAnchor() {
+        return anchor;
+    }
+
+    /**
+     * Returns the action specified by the onClick attribute
+     *
+     * @return the action specified by the onClick attribute
+     */
+    public String getOnClick() {
+        return onClick;
+    }
+
+    /**
+     * Sets the action specified by the onClick attribute
+     *
+     * @param onClick the javascript action to perform
+     */
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    /**
+     * Returns the action specified by the onReset attribute
+     *
+     * @return the action specified by the onReset attribute
+     */
+    public String getOnReset() {
+        return onReset;
+    }
+
+    /**
+     * Sets the action specified by the onReset attribute
+     *
+     * @param onReset the javascript action to perform
+     */
+    public void setOnReset(String onReset) {
+        this.onReset = onReset;
+    }
+
+    /**
+     * Returns the action specified by the onMouseOver attribute
+     *
+     * @return onMouseOver the javascript onMouseOver event
+     */
+    public String getOnMouseOver() {
+        return onMouseOver;
+    }
+
+    /**
+     * Sets the action specified by the onMouseOver event
+     *
+     * @param onMouseOver the javascript onMouseOver event
+     */
+    public void setOnMouseOver(String onMouseOver) {
+        this.onMouseOver = onMouseOver;
+    }
+
+    /**
+     * Returns the action specified by the onMouseOut attribute
+     *
+     * @return onMouseOver the javascript onMouseOut event
+     */
+    public String getOnMouseOut() {
+        return onMouseOut;
+    }
+
+    /**
+     * Sets the action specified by the onMouseOut event
+     *
+     * @param onMouseOut the javascript onMouseOut event
+     */
+    public void setOnMouseOut(String onMouseOut) {
+        this.onMouseOut = onMouseOut;
+    }
+
+    /**
+     * Returns the action specified by the onSubmit attribute
+     *
+     * @return the action specified by the onSubmit attribute
+     */
+    public String getOnSubmit() {
+        return onSubmit;
+    }
+
+    /**
+     * Sets the action specified by the onSubmit attribute
+     *
+     * @param onSubmit the javascript action to perform
+     */
+    public void setOnSubmit(String onSubmit) {
+        this.onSubmit = onSubmit;
+    }
+
+    /**
+     * Sets the label identified with the portlet component to link to
+     *
+     * @param label the action link key
+     */
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    /**
+     * Returns the label identified with the portlet component to link to
+     *
+     * @return the label
+     */
+    public String getLabel() {
+        return label;
+    }
+
+    /**
+     * Returns the layout id that identifies a layout descriptor to target
+     *
+     * @return the layout id that identifies a layout descriptor to target
+     */
+    public String getLayout() {
+        return layout;
+    }
+
+    /**
+     * Sets the layout id that identifies a layout descriptor to target
+     *
+     * @param layout the layout id that identifies a layout descriptor to target
+     */
+    public void setLayout(String layout) {
+        this.layout = layout;
+    }
+
+    /**
+     * If secure is true, then use https, otherwise use http
+     *
+     * @param isSecure true if this actiontag is secure e.g. https, false otherwise
+     */
+    public void setSecure(boolean isSecure) {
+        this.isSecure = isSecure;
+    }
+
+    /**
+     * Returns true if this actiontag is secure e.g. https, false otherwise
+     *
+     * @return true if this actiontag is secure, false otherwise
+     */
+    public boolean getSecure() {
+        return isSecure;
+    }
+
+    public void setPortletMode(String portletMode) {
+        this.portletMode = portletMode;
+    }
+
+    public String getPortletMode() {
+        return portletMode;
+    }
+
+    public void setWindowState(String windowState) {
+        this.windowState = windowState;
+    }
+
+    public String getWindowState() {
+        return windowState;
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    public String getRender() {
+        return render;
+    }
+
+    public void setRender(String render) {
+        this.render = render;
+    }
+
+    public void addParamBean(ParamBean paramBean) {
+        paramBeans.add(paramBean);
+    }
+
+    public void removeParamBean(ParamBean paramBean) {
+        paramBeans.remove(paramBean);
+    }
+
+    public List getParamBeans() {
+        return paramBeans;
+    }
+
+    public boolean isUseAjax() {
+        return useAjax;
+    }
+
+    public void setUseAjax(boolean useAjax) {
+        this.useAjax = useAjax;
+    }
+
+    protected String createURI(PortletURL url) throws JspException {
+        // Builds a URI containing the actin and associated params
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        //RenderRequest req = (RenderRequest) pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+        // action is a required attribute except for FormTag
+        if (label != null) {
+            res.setProperty("label", label);
+            ((PortletURLImpl) url).setLabel(label);
+        }
+        if (layout != null) {
+            ((PortletURLImpl) url).setLayout(layout);
+        }
+
+        if (windowState != null) {
+            WindowState state = new WindowState(windowState);
+            try {
+                //System.err.println("set state to:" + state);
+                url.setWindowState(state);
+            } catch (WindowStateException e) {
+                throw new JspException("Unknown window state in renderURL tag: " + windowState);
+            }
+        }
+        if (portletMode != null) {
+            PortletMode mode = new PortletMode(portletMode);
+            try {
+                url.setPortletMode(mode);
+                //System.err.println("set mode to:" + mode + " url=" + url);
+            } catch (PortletModeException e) {
+                throw new JspException("Unknown portlet mode in renderURL tag: " + portletMode);
+            }
+        }
+
+        String compId = (String) pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID);
+
+        if (action != null) {
+            if (compId == null) {
+                ((PortletURLImpl) url).setAction(action);
+                portletPhase = new DefaultPortletAction(action);
+            } else {
+                ((PortletURLImpl) url).setAction(compId + "%" + action);
+                portletPhase = new DefaultPortletAction(compId + "%" + action);
+            }
+        } else {
+            if (render == null) render = "";
+            if (compId == null) {
+                ((PortletURLImpl) url).setRender(render);
+                portletPhase = new DefaultPortletRender(render);
+            } else {
+                ((PortletURLImpl) url).setRender(compId + "%" + render);
+                portletPhase = new DefaultPortletRender(compId + "%" + render);
+            }
+        }
+
+        /*
+        else {
+            if (compId == null) {
+                // since action is NULL at this point, make it an empty string
+                action = "";
+                portletAction = new DefaultPortletAction(action);
+            } else {
+                portletAction = new DefaultPortletAction(compId + "%" + action);
+            }
+        }
+        */
+
+        if (!paramBeans.isEmpty()) {
+            String id = createUniquePrefix(2);
+            Iterator it = paramBeans.iterator();
+            if (paramPrefixing) {
+                url.setParameter(SportletProperties.PREFIX, id);
+                portletPhase.addParameter(SportletProperties.PREFIX, id);
+            }
+            while (it.hasNext()) {
+                ParamBean pbean = (ParamBean) it.next();
+                //System.err.println("have param bean name= " + pbean.getName() + " value= " + pbean.getValue());
+                if (paramPrefixing) {
+                    url.setParameter(id + "_" + pbean.getName(), pbean.getValue());
+                    portletPhase.addParameter(id + "_" + pbean.getName(), pbean.getValue());
+                } else {
+                    url.setParameter(pbean.getName(), pbean.getValue());
+                    portletPhase.addParameter(pbean.getName(), pbean.getValue());
+                }
+            }
+        }
+        //System.err.println("printing action  URL = " + url.toString());
+        return url.toString();
+    }
+
+    public String createActionURI() throws JspException {
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        return createURI(res.createActionURL());
+    }
+
+    public String createRenderURI() throws JspException {
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        return createURI(res.createRenderURL());
+    }
+
+    public void release() {
+        super.release();
+        action = null;
+        anchor = null;
+        var = null;
+        onClick = null;
+        onSubmit = null;
+        onMouseOut = null;
+        onMouseOver = null;
+        useAjax = false;
+        isSecure = false;
+        windowState = null;
+        portletMode = null;
+        portletPhase = null;
+        paramBeans.clear();
+        label = null;
+        layout = null;
+        imageBean = null;
+        paramPrefixing = true;
+    }
+
+    /**
+     * A string utility that produces a string composed of
+     * <code>numChars</code> number of characters
+     *
+     * @param numChars the number of characters in the resulting <code>String</code>
+     * @return the <code>String</code>
+     */
+    protected String createUniquePrefix(int numChars) {
+        StringBuffer s = new StringBuffer();
+        for (int i = 0; i <= numChars; i++) {
+            int nextChar = (int) (Math.random() * 62);
+            if (nextChar < 10) //0-9
+                s.append(nextChar);
+            else if (nextChar < 36) //a-z
+                s.append((char) (nextChar - 10 + 'a'));
+            else
+                s.append((char) (nextChar - 36 + 'A'));
+        }
+        return s.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseBeanTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseBeanTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseBeanTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseBeanTag.java 4688 2006-03-29 06:13:00Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.BodyTagSupport;
+import java.util.Enumeration;
+
+/**
+ * The abstract <code>BaseBeanTag</code> is a base class used by all UI tags that provides support for
+ * a bean identifier and a flag for indicating whether JavaScript is enabled.
+ */
+public abstract class BaseBeanTag extends BodyTagSupport {
+
+    protected String beanId = "";
+
+    /**
+     * Returns the bean identifier
+     *
+     * @return the bean identifier
+     */
+    public String getBeanId() {
+        return beanId;
+    }
+
+    /**
+     * Sets the bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public void setBeanId(String beanId) {
+        this.beanId = beanId;
+    }
+
+    public TagBean getTagBean() {
+        //System.err.println("looking for bean: "  + getBeanKey());
+        return (TagBean) pageContext.findAttribute(getBeanKey());
+    }
+
+    /**
+     * Returns the unique bean key
+     *
+     * @return the unique bean key
+     */
+    protected String getBeanKey() {
+        String cid = (String) pageContext.findAttribute(SportletProperties.COMPONENT_ID);
+        String compId = (String) pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID);
+        String beanKey;
+        if (compId == null) {
+            beanKey = beanId + "_" + cid;
+        } else {
+            beanKey = compId + "%" + beanId + "_" + cid;
+        }
+        //System.err.println("in BaseBeanTag: getBeanKey(" + beanId + ") = " + beanKey);
+        return beanKey;
+    }
+
+    /**
+     * Prints out all request attributes. Used for debugging
+     */
+    public void debug() {
+        Enumeration e = pageContext.getAttributeNamesInScope(PageContext.REQUEST_SCOPE);
+        System.err.println("Printing attribues in request scope");
+        while (e.hasMoreElements()) {
+            System.err.println((String) e.nextElement());
+        }
+        e = pageContext.getAttributeNamesInScope(PageContext.SESSION_SCOPE);
+        System.err.println("Printing attribues in session scope");
+        while (e.hasMoreElements()) {
+            System.err.println((String) e.nextElement());
+        }
+        e = pageContext.getAttributeNamesInScope(PageContext.PAGE_SCOPE);
+        System.err.println("Printing attribues in page scope");
+        while (e.hasMoreElements()) {
+            System.err.println((String) e.nextElement());
+        }
+        e = pageContext.getAttributeNamesInScope(PageContext.APPLICATION_SCOPE);
+        System.err.println("Printing attribues in application scope");
+        while (e.hasMoreElements()) {
+            System.err.println((String) e.nextElement());
+        }
+    }
+
+    protected String getUniqueId(String varName) {
+        String uniqueId = (String) pageContext.getAttribute(varName, PageContext.REQUEST_SCOPE);
+
+        // use a counter to continually increase form number to provide unique form name
+        int ctr;
+        if (uniqueId == null) {
+            ctr = 1;
+        } else {
+            ctr = Integer.parseInt(uniqueId) + 1;
+        }
+        uniqueId = String.valueOf(ctr);
+        pageContext.setAttribute(varName, uniqueId, PageContext.REQUEST_SCOPE);
+        return uniqueId;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseComponentTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseComponentTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/BaseComponentTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,354 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseComponentTag.java 4883 2006-06-26 23:52:13Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.BaseComponentBean;
+
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.Tag;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * The abstract <code>BaseComponentTag</code> is used by all UI tags to provide CSS support and general
+ * name, value attributes
+ */
+public abstract class BaseComponentTag extends BaseBeanTag {
+
+    protected String name = null;
+    protected String value = null;
+    protected String key = null;
+    protected boolean readonly = false;
+    protected boolean disabled = false;
+    protected String cssStyle = null;
+    protected String cssClass = null;
+    protected Locale locale = null;
+    protected String id = null;
+
+    /**
+     * Sets the id of the bean  (not to be confused with beanId)
+     *
+     * @param id the id of the bean
+     */
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    /**
+     * Gets the id of the bean
+     *
+     * @return id of the bean
+     */
+    public String getId() {
+        return this.id;
+    }
+
+    /**
+     * Sets the name of the bean
+     *
+     * @param name the name of the bean
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Gets the name of the bean
+     *
+     * @return name of the bean
+     */
+    public String getName() {
+        return this.name;
+    }
+
+    /**
+     * Sets the tag value
+     *
+     * @param value the tag value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Returns the tag value
+     *
+     * @return the tag value
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Return the key used to identify the value in the properties file
+     *
+     * @return the key
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Sets the key used to identify the value in the properties file
+     *
+     * @param key the property key
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * Returns true if bean is in disabled state
+     *
+     * @return the tag state
+     */
+    public boolean isDisabled() {
+        return disabled;
+    }
+
+    /**
+     * Sets the disabled attribute of the bean to be in the 'flag' state.
+     *
+     * @param flag is true if this tag/bean is disabled
+     */
+    public void setDisabled(boolean flag) {
+        this.disabled = flag;
+    }
+
+    /**
+     * Returns disabled String if bean is disabled
+     *
+     * @return a String depending if bean is disabled
+     */
+    protected String checkDisabled() {
+        if (disabled) {
+            return " disabled='disabled' ";
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Sets the bean to read-only
+     *
+     * @param flag is true if bean is read-only, false otherwise
+     */
+    public void setReadonly(boolean flag) {
+        this.readonly = flag;
+    }
+
+    /**
+     * Returns the read-only status of the bean
+     *
+     * @return read-only status of the bean
+     */
+    public boolean isReadonly() {
+        return readonly;
+    }
+
+    /**
+     * Returns a String to use in markup if the bean is read-only
+     *
+     * @return a String to use in markup if the bean is read-only
+     */
+    protected String checkReadonly() {
+        if (readonly) {
+            return " readonly='readonly' ";
+        } else {
+            return "";
+        }
+    }
+
+    /**
+     * Returns the CSS style name of the beans
+     *
+     * @return the name of the css style
+     */
+    public String getCssStyle() {
+        return cssStyle;
+    }
+
+    /**
+     * Sets the CSS style of the beans
+     *
+     * @param style css style name to set for the beans
+     */
+    public void setCssStyle(String style) {
+        this.cssStyle = style;
+    }
+
+    /**
+     * Returns the CSS class name of the beans
+     *
+     * @return the name of the css class
+     */
+    public String getCssClass() {
+        return cssClass;
+    }
+
+    /**
+     * Sets the CSS class of the beans
+     *
+     * @param cssClass the class name to set for the beans
+     */
+    public void setCssClass(String cssClass) {
+        this.cssClass = cssClass;
+    }
+
+    public void addCssClass(String cssClass) {
+        if (this.cssClass == null) this.cssClass = "";
+        if (cssClass != null) this.cssClass += " " + cssClass;
+    }
+
+    /**
+     * Sets the base component properties of the bean
+     *
+     * @param componentBean a ui bean
+     */
+    protected void setBaseComponentBean(BaseComponentBean componentBean) {
+        componentBean.setBeanId(beanId);
+        if (id != null) componentBean.setId(id);
+        componentBean.setLocale(getLocale());
+        componentBean.addParam(SportletProperties.COMPONENT_ID, (String) pageContext.findAttribute(SportletProperties.COMPONENT_ID));
+        componentBean.addParam(SportletProperties.GP_COMPONENT_ID, (String) pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID));
+        if (cssStyle != null) componentBean.setCssStyle(cssStyle);
+        if (cssClass != null) componentBean.setCssClass(cssStyle);
+        componentBean.setDisabled(disabled);
+        componentBean.setReadOnly(readonly);
+        if (name != null) componentBean.setName(name);
+        if (value != null) componentBean.setValue(value);
+
+        componentBean.setReadOnly(readonly);
+        RenderResponse res = (RenderResponse) pageContext.getAttribute("renderResponse");
+        componentBean.setRenderResponse(res);
+        RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+        componentBean.setRenderRequest(req);
+    }
+
+    /**
+     * Updates the base component bean properties
+     *
+     * @param componentBean a ui bean
+     */
+    protected void updateBaseComponentBean(BaseComponentBean componentBean) {
+        componentBean.setLocale(getLocale());
+        if (id != null) componentBean.setId(id);
+        componentBean.addParam(SportletProperties.COMPONENT_ID, (String) pageContext.findAttribute(SportletProperties.COMPONENT_ID));
+        componentBean.addParam(SportletProperties.GP_COMPONENT_ID, (String) pageContext.findAttribute(SportletProperties.GP_COMPONENT_ID));
+        if ((cssClass != null) && componentBean.getCssClass() == null) {
+            componentBean.setCssClass(cssClass);
+        }
+        if ((cssStyle != null) && componentBean.getCssStyle() == null) {
+            componentBean.setCssStyle(cssStyle);
+        }
+        if ((name != null) && (componentBean.getName() == null)) {
+            componentBean.setName(name);
+        }
+        if ((value != null) && (componentBean.getValue() == null)) {
+            componentBean.setValue(value);
+        }
+        RenderResponse res = (RenderResponse) pageContext.getAttribute("renderResponse");
+        componentBean.setRenderResponse(res);
+        RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+        componentBean.setRenderRequest(req);
+    }
+
+    protected String getLocalizedText(String key) {
+        return getLocalizedText(key, "Portlet");
+    }
+
+    protected Locale getLocale() {
+        Locale locale = Locale.ENGLISH;
+        RenderRequest renderReq = (RenderRequest) pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+        locale = renderReq.getLocale();
+        return locale;
+    }
+
+    protected String getLocalizedText(String key, String base) {
+        Locale locale = getLocale();
+        try {
+            ResourceBundle bundle = ResourceBundle.getBundle(base, locale);
+            return bundle.getString(key);
+        } catch (Exception e) {
+            try {
+                ResourceBundle bundle = ResourceBundle.getBundle(base, Locale.ENGLISH);
+                return bundle.getString(key);
+            } catch (Exception ex) {
+                return key;
+            }
+        }
+    }
+
+    public int doStartTag() throws JspException {
+        Tag parent = getParent();
+        if (parent instanceof PanelTag) {
+            PanelTag panelTag = (PanelTag) parent;
+
+            int numCols = panelTag.getNumCols();
+
+            int thiscol = panelTag.getColumnCounter();
+            try {
+                JspWriter out = pageContext.getOut();
+                if ((thiscol % numCols) == 0) {
+                    out.println("<tr>");
+                }
+                // Attribute 'width' replaced by 'style="width:"' for XHTML 1.0 Strict compliance                
+                out.println("<td style=\"width:" + "100%" + "\">");
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public void release() {
+        name = null;
+        value = null;
+        key = null;
+        readonly = false;
+        disabled = false;
+        cssStyle = null;
+        cssClass = null;
+        locale = null;
+        id = null;
+    }
+
+    public int doEndTag() throws JspException {
+        Tag parent = getParent();
+        if (parent instanceof PanelTag) {
+            PanelTag panelTag = (PanelTag) parent;
+
+            int numCols = panelTag.getNumCols();
+            int thiscol = panelTag.getColumnCounter();
+            thiscol++;
+            panelTag.setColumnCounter(thiscol);
+            try {
+                JspWriter out = pageContext.getOut();
+                out.println("</td>");
+                if ((thiscol % numCols) == 0) {
+                    out.println("</tr>");
+                }
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+        return super.doEndTag();
+    }
+
+    /*
+    public void updatePageEndBuffer(StringBuffer buffer) {
+        RenderRequest req = (RenderRequest)pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+        StringBuffer pagebuffer = (StringBuffer)req.getAttribute(SportletProperties.PAGE_BUFFER);
+        if (pagebuffer == null) pagebuffer = new StringBuffer();
+        pagebuffer.append(buffer);
+        req.setAttribute(SportletProperties.PAGE_BUFFER, pagebuffer);
+    }
+    */
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CalendarTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CalendarTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CalendarTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.CalendarBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.portlet.RenderResponse;
+
+/**
+ * A <code>TextFieldTag</code> represents a text field element
+ */
+public class CalendarTag extends BaseComponentTag {
+
+    protected CalendarBean calendarBean = null;
+    protected int size = 0;
+    protected int maxlength = 0;
+
+    /**
+     * Returns the (html) size of the field
+     *
+     * @return size of the field
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the (html) size of the field
+     *
+     * @param size size of the field
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns the (html) max length of the field
+     *
+     * @return the max length of the field
+     */
+    public int getMaxlength() {
+        return maxlength;
+    }
+
+    /**
+     * Sets the (html) max length of the field
+     *
+     * @param maxlength the max length of the field
+     */
+    public void setMaxlength(int maxlength) {
+        this.maxlength = maxlength;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            calendarBean = (CalendarBean) getTagBean();
+            if (calendarBean == null) {
+                //log.debug("Creating new text field bean");
+                calendarBean = new CalendarBean();
+                if (maxlength != 0) calendarBean.setMaxLength(maxlength);
+                if (size != 0) calendarBean.setSize(size);
+                this.setBaseComponentBean(calendarBean);
+            } else {
+                //log.debug("Using existing text field bean");
+                if (maxlength != 0) calendarBean.setMaxLength(maxlength);
+                if (size != 0) calendarBean.setSize(size);
+                this.updateBaseComponentBean(calendarBean);
+            }
+        } else {
+            calendarBean = new CalendarBean();
+            if (maxlength != 0) calendarBean.setMaxLength(maxlength);
+            if (size != 0) calendarBean.setSize(size);
+            this.setBaseComponentBean(calendarBean);
+        }
+        RenderResponse res = (RenderResponse)pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        calendarBean.setRenderResponse(res);
+        calendarBean.setId("cal_" + pageContext.findAttribute(SportletProperties.COMPONENT_ID));
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(calendarBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CheckboxTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CheckboxTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/CheckboxTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: CheckboxTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.CheckBoxBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>CheckBoxTag</code> provides a checkbox element
+ */
+public class CheckboxTag extends BaseComponentTag {
+
+    protected CheckBoxBean checkbox = null;
+    protected boolean selected = false;
+    protected boolean selectSet = false;
+    protected String onClick = null;
+
+    /**
+     * Sets the selected status of the bean
+     *
+     * @param flag status of the bean
+     */
+    public void setSelected(boolean flag) {
+        this.selected = flag;
+        this.selectSet = true;
+    }
+
+    /**
+     * Returns the selected status of the bean
+     *
+     * @return selected status
+     */
+    public boolean isSelected() {
+        return selected;
+    }
+
+    public String getOnClick() {
+        return onClick;
+    }
+
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            checkbox = (CheckBoxBean) getTagBean();
+            if (checkbox == null) {
+                checkbox = new CheckBoxBean();
+                checkbox.setSelected(selected);
+                this.setBaseComponentBean(checkbox);
+            } else {
+                this.setBaseComponentBean(checkbox);
+            }
+        } else {
+            checkbox = new CheckBoxBean();
+            this.setBaseComponentBean(checkbox);
+        }
+        if (selectSet) checkbox.setSelected(selected);
+        if (onClick != null) checkbox.setOnClick(onClick);
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(checkbox.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ContainerTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ContainerTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ContainerTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ContainerTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.BaseComponentBean;
+import org.gridsphere.provider.portletui.beans.BeanContainer;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.servlet.jsp.JspException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The abstract <code>ContainerTag</code> provides a bean container used by other tags that are themselves containers
+ * for nested tags.
+ */
+public abstract class ContainerTag extends BaseComponentTag {
+
+    // make sure it is initalized, otherwise adding a tag throws NPE
+    protected List<TagBean> list = new ArrayList<TagBean>();
+
+    /**
+     * Adds a tag bean to the container
+     *
+     * @param tagBean a tag bean
+     */
+    public void addTagBean(TagBean tagBean) {
+        list.add(tagBean);
+    }
+
+    /**
+     * Removes a tag bean from the container
+     *
+     * @param tagBean a tag bean
+     */
+    public void removeTagBean(TagBean tagBean) {
+        list.remove(tagBean);
+    }
+
+    /**
+     * Returns a list of tag beans
+     *
+     * @return a list of tag beans
+     */
+    public List<TagBean> getTagBeans() {
+        return list;
+    }
+
+    public abstract int doStartTag() throws JspException;
+
+    public abstract int doEndTag() throws JspException;
+
+    public void doEndTag(BeanContainer beanContainer) throws JspException {
+        for (TagBean tagBean : list) {
+            BaseComponentBean bc = (BaseComponentBean)tagBean;
+            beanContainer.addBean(bc);
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogButtonTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogButtonTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogButtonTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+package org.gridsphere.provider.portletui.tags;
+
+import javax.servlet.jsp.JspException;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class DialogButtonTag extends DialogTag {
+
+    public int doStartTag() throws JspException {
+        isLink = false;
+        return super.doStartTag();
+    }
+
+    public int doEndTag() throws JspException {
+        return super.doEndTag();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogLinkTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogLinkTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogLinkTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+package org.gridsphere.provider.portletui.tags;
+
+import javax.servlet.jsp.JspException;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class DialogLinkTag extends DialogTag {
+
+    public int doStartTag() throws JspException {
+        isLink = true;
+        super.doStartTag();
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/DialogTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,166 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.DialogBean;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/**
+ * The <code>DialogTag</code> is a wrapper for the
+ * <a href="http://developer.yahoo.com/yui/container/panel/">Yahoo UI Panel</a> javascript widget
+ */
+public class DialogTag extends BaseComponentTag {
+
+    protected String body = "";
+    protected String titleColor = null;
+    protected String header = "";
+    protected String footer = "";
+    protected String width = "";
+    protected String height = "";
+    protected Boolean isModal = false;
+    protected Boolean isClose = true;
+    protected Boolean isDraggable = true;
+    protected Boolean isResizable = false;
+    protected String onClick = null;
+    protected Boolean isLink = false;
+
+    public String getWidth() {
+        return width;
+    }
+
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    public String getHeight() {
+        return height;
+    }
+
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    public Boolean getModal() {
+        return isModal;
+    }
+
+    public void setModal(Boolean modal) {
+        isModal = modal;
+    }
+
+    public Boolean getClose() {
+        return isClose;
+    }
+
+    public void setClose(Boolean close) {
+        isClose = close;
+    }
+
+    public Boolean getResizable() {
+        return isResizable;
+    }
+
+    public void setResizable(Boolean resizable) {
+        isResizable = resizable;
+    }
+
+    public Boolean getDraggable() {
+        return isDraggable;
+    }
+
+    public void setDraggable(Boolean draggable) {
+        isDraggable = draggable;
+    }
+
+    public String getTitleColor() {
+        return titleColor;
+    }
+
+    public void setTitleColor(String titleColor) {
+        this.titleColor = titleColor;
+    }
+
+    public String getBody() {
+        return body;
+    }
+
+    public void setBody(String body) {
+        this.body = body;
+    }
+
+    public String getHeader() {
+        return header;
+    }
+
+    public void setHeader(String header) {
+        this.header = header;
+    }
+
+    public String getFooter() {
+        return footer;
+    }
+
+    public void setFooter(String footer) {
+        this.footer = footer;
+    }
+
+    public void release() {
+        super.release();
+        body = "";
+        titleColor = null;
+        header = "";
+        footer = "";
+        width = "";
+        height = "";
+        isModal = false;
+        isClose = true;
+        isDraggable = true;
+        isResizable = false;
+        onClick = null;
+        isLink = false;
+    }
+
+    protected void setProperties(DialogBean dialog) {
+        if (key != null) value = getLocalizedText(key);
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+        dialog.setRenderResponse(res);
+        dialog.setId(id);
+        dialog.setWidth(width);
+        dialog.setHeight(height);
+        dialog.setHeader(header);
+        dialog.setBody(body);
+        dialog.setOnClick(onClick);
+        dialog.setFooter(footer);
+        dialog.setClose(isClose);
+        dialog.setModal(isModal);
+        dialog.setDraggable(isDraggable);
+        dialog.setResizable(isResizable);
+        dialog.setTitleColor(titleColor);
+        dialog.setLink(isLink);
+        dialog.setValue(value);
+    }
+
+    public int doStartTag() throws JspException {
+
+        DialogBean dialog = new DialogBean();
+        onClick = "YAHOO." + id + ".panel.show();";
+        setProperties(dialog);
+
+        JspWriter out;
+        try {
+            out = pageContext.getOut();
+            out.print(dialog.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileFormTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileFormTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileFormTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: FileFormTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import javax.servlet.jsp.JspException;
+
+/**
+ * A <code>FileFormTag</code> represents a specialized <code>ActionFormTag</code> to be used for uploading files using
+ * a <code>FileInputTag</code>
+ */
+public class FileFormTag extends ActionFormTag {
+
+    public int doStartTag() throws JspException {
+        this.isMultipart = true;
+        return super.doStartTag();
+    }
+
+    public int doEndTag() throws JspException {
+        return super.doEndTag();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileInputTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileInputTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FileInputTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,87 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @version $Id: FileInputTag.java 4666 2006-03-27 17:47:56Z novotny $
+*/
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.FileInputBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>FileInputTag</code> represnts a file input element to be used for uploading files
+ */
+public class FileInputTag extends BaseComponentTag {
+
+    protected FileInputBean fileInputBean = null;
+    protected int size = 0;
+    protected int maxlength = 0;
+
+    /**
+     * Returns the (html) size of the field
+     *
+     * @return size of the field
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the (html) size of the field
+     *
+     * @param size size of the field
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns the (html) maxlength of the field
+     *
+     * @return the max length of the field
+     */
+    public int getMaxlength() {
+        return maxlength;
+    }
+
+    /**
+     * Sets the (html) max length of the field
+     *
+     * @param maxlength the max length of the field
+     */
+    public void setMaxlength(int maxlength) {
+        this.maxlength = maxlength;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            fileInputBean = (FileInputBean) getTagBean();
+            if (fileInputBean == null) {
+                fileInputBean = new FileInputBean();
+                fileInputBean.setBeanId(beanId);
+                this.setBaseComponentBean(fileInputBean);
+            } else {
+                this.updateBaseComponentBean(fileInputBean);
+            }
+        } else {
+            fileInputBean = new FileInputBean();
+            this.setBaseComponentBean(fileInputBean);
+            if (maxlength != 0) fileInputBean.setMaxLength(maxlength);
+            if (size != 0) fileInputBean.setSize(size);
+        }
+
+        //debug();
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(fileInputBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return SKIP_BODY;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FrameTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FrameTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/FrameTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,206 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: FrameTag.java 4762 2006-04-14 17:07:31Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.FrameBean;
+import org.gridsphere.provider.portletui.beans.TableBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * A <code>FrameTag</code> is a stylized <code>TableTag</code> that can also be used to set text messages
+ */
+public class FrameTag extends TableTag {
+
+    protected String style = null;
+    protected String key = null;
+    protected String value = null;
+
+    public FrameTag() {
+        cssClass = FrameBean.FRAME_TABLE;
+    }
+
+    /**
+     * Sets the key used to locate localized text
+     *
+     * @param key the key
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * Returns the key used to locate localized text
+     *
+     * @return the key
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    public int doStartTag() throws JspException {
+        if (style != null) {
+            if (style.equalsIgnoreCase("error") || (style.equalsIgnoreCase("err"))) {
+                this.cssClass = FrameBean.FRAME_ERROR_MESSAGE;
+                //this.cssClass = TextBean.MSG_ERROR;
+            } else if (style.equalsIgnoreCase("status")) {
+                this.cssClass = FrameBean.FRAME_ERROR_MESSAGE;
+                //this.cssClass = TextBean.MSG_STATUS;
+            } else if (style.equalsIgnoreCase("info")) {
+                this.cssClass = FrameBean.FRAME_INFO_MESSAGE;
+                //this.cssClass = TextBean.MSG_INFO;
+            } else if (style.equalsIgnoreCase("alert")) {
+                this.cssClass = FrameBean.FRAME_ALERT_MESSAGE;
+                //this.cssClass = TextBean.MSG_ALERT;
+            } else if (style.equalsIgnoreCase("success")) {
+                this.cssClass = FrameBean.FRAME_INFO_MESSAGE;
+                //this.cssClass = TextBean.MSG_SUCCESS;
+            }
+        }
+        // get any parameter values if data is divided
+        if (maxRows > 0) {
+            String curPage = pageContext.getRequest().getParameter(TableBean.CURRENT_PAGE);
+            if (curPage != null) {
+                currentPage = Integer.valueOf(curPage).intValue();
+            }
+        }
+        if (!beanId.equals("")) {
+            tableBean = (FrameBean) getTagBean();
+            if (tableBean == null) {
+                tableBean = new FrameBean(beanId);
+                this.setBaseComponentBean(tableBean);
+
+                return SKIP_BODY;
+            } else {
+                String key = tableBean.getKey();
+                if (key != null) {
+                    tableBean.setValue(getLocalizedText(key));
+                }
+                tableBean.setCssClass(cssClass);
+                tableBean.setCssStyle(cssStyle);
+            }
+        } else {
+            tableBean = new FrameBean();
+            tableBean.setWidth(width);
+            if (cellSpacing != null) tableBean.setCellSpacing(cellSpacing);
+            if (cellPadding != null) tableBean.setCellPadding(cellPadding);
+            if (border != null) tableBean.setBorder(border);
+            if (align!=null) tableBean.setAlign(align);
+            if (align!=null) tableBean.setValign(valign);
+            tableBean.setCssClass(cssClass);
+            tableBean.setCssStyle(cssStyle);
+            if (sortable) {
+                tableBean.setSortable(sortable);
+                tableBean.setSortableID("td" + this.getUniqueId("gs_tableNum"));
+            }
+            this.setBaseComponentBean(tableBean);
+            if (key != null) {
+                tableBean.setKey(key);
+                Locale locale = pageContext.getRequest().getLocale();
+                ResourceBundle bundle = ResourceBundle.getBundle("Portlet", locale);
+                tableBean.setValue(bundle.getString(tableBean.getKey()));
+            }
+            tableBean.setMaxRows(maxRows);
+        }
+
+        tableBean.setCurrentPage(currentPage);
+        tableBean.setRowCount(rowCount);
+        tableBean.setZebra(isZebra);
+        PanelTag panelTag = (PanelTag) findAncestorWithClass(this, PanelTag.class);
+        if (panelTag != null) {
+            int numCols = panelTag.getNumCols();
+            int thiscol = panelTag.getColumnCounter();
+            try {
+                JspWriter out = pageContext.getOut();
+                if ((thiscol % numCols) == 0) {
+                    out.println("<tr valign=\"top\">");
+                }
+                // Attribute 'width' replaced by 'style="width:"' for XHTML 1.0 Strict compliance                
+                out.println("<td style=\"width:" + "100%" + "\">");
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(tableBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        tableBean.setRowCount(rowCount);
+        if (!beanId.equals("")) {
+            tableBean = (FrameBean) getTagBean();
+            if (tableBean == null) {
+                return EVAL_PAGE;
+            }
+        }
+        rowCount = 0;
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(tableBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        PanelTag panelTag = (PanelTag) findAncestorWithClass(this, PanelTag.class);
+        if (panelTag != null) {
+            int numCols = panelTag.getNumCols();
+            int thiscol = panelTag.getColumnCounter();
+            thiscol++;
+            panelTag.setColumnCounter(thiscol);
+            try {
+                JspWriter out = pageContext.getOut();
+                out.println("</td>");
+                if ((thiscol % numCols) == 0) {
+                    out.println("</tr>");
+                }
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/GroupTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/GroupTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/GroupTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.GroupBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: GroupTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class GroupTag extends BaseComponentTag {
+
+    private String label = null;
+    private String width = null;
+    private String height = null;
+    private GroupBean groupBean = null;
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getWidth() {
+        return width;
+    }
+
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    public String getHeight() {
+        return height;
+    }
+
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    public int doStartTag() throws JspException {
+        groupBean = new GroupBean();
+        groupBean.setHeight(height);
+        groupBean.setWidth(width);
+        groupBean.setLabel(label);
+        groupBean.setCssClass(cssClass);
+        groupBean.setCssStyle(cssStyle);
+        if (key != null) {
+            groupBean.setLabel(getLocalizedText(key));
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(groupBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(groupBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HasRoleTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HasRoleTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HasRoleTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: HasRoleTag.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+
+import javax.portlet.RenderRequest;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.TagSupport;
+
+/**
+ * The <code>HasRoleTag</code> can be used to selectively display presentation based upon a user's role
+ */
+public class HasRoleTag extends TagSupport {
+
+    protected String role = "";
+
+    /**
+     * Sets the user's role
+     *
+     * @param role the user's role
+     */
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    /**
+     * Returns the user's role
+     *
+     * @return the user's role
+     */
+    public String getRole() {
+        return role.toString();
+    }
+
+    public int doStartTag() throws JspException {
+        RenderRequest req = (RenderRequest) pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+        if ((req.isUserInRole(role))) {
+            return EVAL_BODY_INCLUDE;
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HiddenFieldTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HiddenFieldTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/HiddenFieldTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: HiddenFieldTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.HiddenFieldBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>HiddenFieldTag</code> represents a hidden form field element
+ */
+public class HiddenFieldTag extends BaseComponentTag {
+
+    protected HiddenFieldBean hidden = null;
+
+    public int doStartTag() throws JspException {
+
+        if (!beanId.equals("")) {
+            hidden = (HiddenFieldBean) getTagBean();
+            if (hidden == null) {
+                hidden = new HiddenFieldBean(beanId);
+                this.setBaseComponentBean(hidden);
+            } else {
+                this.updateBaseComponentBean(hidden);
+            }
+        } else {
+            hidden = new HiddenFieldBean();
+            this.setBaseComponentBean(hidden);
+        }
+
+        //debug();
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(hidden.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        super.release();
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ImageTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ImageTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ImageTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,194 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ImageTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ImageBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.Tag;
+
+/**
+ * The <code>ImageTag</code> represents an href img element
+ */
+public class ImageTag extends BaseComponentTag {
+
+    protected ImageBean urlImageBean = null;
+    protected String src = null;
+    protected String border = null;
+    protected String title = null;
+    protected String alt = null;
+    protected String width = null;
+    protected String height = null;
+    protected String align = null;
+
+    /**
+     * Returns the location of the image
+     *
+     * @return src the location of the image
+     */
+    public String getSrc() {
+        return src;
+    }
+
+    /**
+     * Sets the location of the image
+     *
+     * @param src the location of the image
+     */
+    public void setSrc(String src) {
+        this.src = src;
+    }
+
+    /**
+     * Return the image title border
+     *
+     * @return the image title border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    /**
+     * Sets the image title border
+     *
+     * @param border the image title border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    /**
+     * Return the image title
+     *
+     * @return the image title
+     */
+    public String getTitle() {
+        return title;
+    }
+
+    /**
+     * Sets the image title
+     *
+     * @param title the image title
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    /**
+     * Return the associated alt attribute
+     *
+     * @return the alt tag
+     */
+    public String getAlt() {
+        return alt;
+    }
+
+    /**
+     * Sets an alt tag to display
+     *
+     * @param alt the alt tag
+     */
+    public void setAlt(String alt) {
+        this.alt = alt;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "top", "bottom" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "top", "bottom" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table cell width
+     *
+     * @param width the table cell width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table cell width
+     *
+     * @return the table cell width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table cell height
+     *
+     * @param height the table cell height
+     */
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    /**
+     * Returns the table cell height
+     *
+     * @return the table cell height
+     */
+    public String getHeight() {
+        return height;
+    }
+
+    private void setImageBean(ImageBean urlImageBean) {
+        this.setBaseComponentBean(urlImageBean);
+        if (alt != null) urlImageBean.setAlt(alt);
+        if (title != null) urlImageBean.setTitle(title);
+        if (src != null) urlImageBean.setSrc(src);
+        if (border != null) urlImageBean.setBorder(border);
+        if (width != null) urlImageBean.setWidth(width);
+        if (height != null) urlImageBean.setHeight(height);
+        if (align != null) urlImageBean.setAlign(align);
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            urlImageBean = (ImageBean) getTagBean();
+            if (urlImageBean == null) {
+                urlImageBean = new ImageBean();
+            }
+        } else {
+            urlImageBean = new ImageBean();
+        }
+        setImageBean(urlImageBean);
+
+        Tag parent = getParent();
+        if (parent instanceof ActionLinkTag) {
+            ActionLinkTag actionTag = (ActionLinkTag) parent;
+            actionTag.setImageBean(urlImageBean);
+        } else {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(urlImageBean.toStartString());
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+        return SKIP_BODY;
+    }
+
+}
+
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/IncludeTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/IncludeTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/IncludeTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.provider.portletui.beans.IncludeBean;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+
+/*
+ * @author <a href="mailto:russell at aei.mpg.de">Michael Russell</a>
+ * @version $Id: IncludeTag.java 4666 2006-03-27 17:47:56Z novotny $
+ * <p>
+ * Includes jsp pages from any web application.
+ */
+
+public class IncludeTag extends BaseBeanTag {
+
+    private static Log log = LogFactory.getLog(IncludeTag.class);
+    protected IncludeBean includeBean = null;
+    protected ServletContext servletContext = null;
+    protected String page = null;
+
+    public ServletContext getServletContext() {
+        return servletContext;
+    }
+
+    public void setServletContext(ServletContext servletContext) {
+        this.servletContext = servletContext;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public int doStartTag() throws JspException {
+        if (beanId.equals("")) {
+            // If no bean id, create new bean
+            includeBean = new IncludeBean();
+            if (servletContext == null) {
+                // If no servlet context provided, then provide this context
+                servletContext = pageContext.getServletContext();
+            }
+        } else {
+            // Else get bean with bean id
+            includeBean = (IncludeBean) getTagBean();
+            if (includeBean == null) {
+                // If no bean with given id, exit early
+                return SKIP_BODY;
+            }
+            if (includeBean.getServletContext() == null) {
+                // If no servlet context provided, then provide this context
+                servletContext = pageContext.getServletContext();
+            } else {
+                log.debug("Using include bean context");
+                servletContext = includeBean.getServletContext();
+            }
+            page = includeBean.getPage();
+        }
+        // Set portlet request and response attributes
+        //includeBean.setJspWriter(pageContext.getOut());
+
+        includePage();
+        return SKIP_BODY;
+    }
+
+    protected void includePage() {
+        RequestDispatcher rd = servletContext.getRequestDispatcher(page);
+        try {
+            ServletRequest request = pageContext.getRequest();
+            ServletResponse response = pageContext.getResponse();
+            // Very important here... must pass it the appropriate jsp writer!!!
+            // Or else this include won't be contained within the parent content
+            // but either before or after it.
+            //rd.include(request, new ServletResponseWrapperInclude(response, pageContext.getOut()));
+            rd.include(request, new StoredPortletResponseImpl((HttpServletRequest)request, (HttpServletResponse) response, pageContext.getOut()));
+            //rd.include(pageContext.getRequest(), pageContext.getResponse());
+        } catch (Exception e) {
+            log.error("Unable to include page ", e);
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/InputTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/InputTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/InputTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,235 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ValidatorBean;
+
+import javax.servlet.jsp.JspException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A <code>TextFieldTag</code> represents a text field element
+ */
+public abstract class InputTag extends BaseComponentTag {
+
+    protected List<ValidatorBean> validatorBeans = new ArrayList<ValidatorBean>();
+
+    protected String onFocus = null;
+    protected String onClick = null;
+    protected String onDblClick = null;
+    protected String onChange = null;
+    protected String onBlur = null;
+    protected String onSelect = null;
+
+    protected String onmousedown = null;
+    protected String onmousemove = null;
+    protected String onmouseout = null;
+    protected String onmouseover = null;
+    protected String onmouseup = null;
+
+    /**
+     * Sets the onFocus JavaScript function
+     *
+     * @param onFocus the onFocus JavaScript function
+     */
+    public void setOnFocus(String onFocus) {
+        this.onFocus = onFocus;
+    }
+
+    /**
+     * Returns the onFocus JavaScript function
+     *
+     * @return onFocus JavaScript function
+     */
+    public String getOnFocus() {
+        return onFocus;
+    }
+
+    /**
+     * Returns the onClick javascript function
+     *
+     * @return the onClick javascript function
+     */
+    public String getOnClick() {
+        return onClick;
+    }
+
+    /**
+     * Sets the onClick JavaScript function
+     *
+     * @param onClick the onClick JavaScript function
+     */
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    /**
+     * Returns the onDblClick javascript function
+     *
+     * @return the onDblClick javascript function
+     */
+    public String getOnDblClick() {
+        return onDblClick;
+    }
+
+    /**
+     * Sets the onDblClick JavaScript function
+     *
+     * @param onDblClick the onDblClick JavaScript function
+     */
+    public void setOnDblClick(String onDblClick) {
+        this.onDblClick = onDblClick;
+    }
+
+    /**
+     * Returns the onChange JavaScript function
+     *
+     * @return onChange JavaScript function
+     */
+    public String getOnChange() {
+        return onChange;
+    }
+
+    /**
+     * Sets the onChange JavaScript function
+     *
+     * @param onChange the onChange JavaScript function
+     */
+    public void setOnChange(String onChange) {
+        this.onChange = onChange;
+    }
+
+    /**
+     * Returns the onBlur JavaScript function
+     *
+     * @return onBlur JavaScript function
+     */
+    public String getOnBlur() {
+        return onBlur;
+    }
+
+    /**
+     * Sets the onBlur JavaScript function
+     *
+     * @param onBlur the onBlur JavaScript function
+     */
+    public void setOnBlur(String onBlur) {
+        this.onBlur = onBlur;
+    }
+
+    /**
+     * Returns the onSelect JavaScript function
+     *
+     * @return onSelect JavaScript function
+     */
+    public String getOnSelect() {
+        return onSelect;
+    }
+
+    /**
+     * Sets the onSelect JavaScript function
+     *
+     * @param onSelect the onSelect JavaScript function
+     */
+    public void setOnSelect(String onSelect) {
+        this.onSelect = onSelect;
+    }
+
+    /**
+     * Returns the onmousedown event
+     *
+     * @return the onmousedown function
+     */
+    public String getOnMouseDown() {
+        return onmousedown;
+    }
+
+    /**
+     * Sets the onmousedown event
+     *
+     * @param onmousedown the onmousedown function
+     */
+    public void setOnMouseDown(String onmousedown) {
+        this.onmousedown = onmousedown;
+    }
+
+    /**
+     * Returns the onmousemove function
+     *
+     * @return the onmousemove function
+     */
+    public String getOnMouseMove() {
+        return onmousemove;
+    }
+
+    /**
+     * Sets the onmousemove function
+     *
+     * @param onmousemove the onmousemove function
+     */
+    public void setOnMouseMove(String onmousemove) {
+        this.onmousemove = onmousemove;
+    }
+
+    /**
+     * Returns the onmouseout function
+     *
+     * @return the onmouseout function
+     */
+    public String getOnMouseOut() {
+        return onmouseout;
+    }
+
+    /**
+     * Sets the onmouseout function
+     *
+     * @param onmouseout the onmouseout function
+     */
+    public void setOnMouseOut(String onmouseout) {
+        this.onmouseout = onmouseout;
+    }
+
+    /**
+     * Returns the onmouseover function
+     *
+     * @return the onmouseover function
+     */
+    public String getOnMouseOver() {
+        return onmouseover;
+    }
+
+    /**
+     * Sets the onmouseover javascript function
+     *
+     * @param onmouseover the onmouseover function
+     */
+    public void setOnMouseOver(String onmouseover) {
+        this.onmouseover = onmouseover;
+    }
+
+    /**
+     * Returns the onMouseUp javascript function
+     *
+     * @return the onmouseup event
+     */
+    public String getOnMouseUp() {
+        return onmouseup;
+    }
+
+    /**
+     * Sets the onMouseUp javascript function
+     *
+     * @param onmouseup a mouseup event
+     */
+    public void setOnMouseUp(String onmouseup) {
+        this.onmouseup = onmouseup;
+    }
+
+    public abstract int doStartTag() throws JspException;
+
+    public abstract int doEndTag() throws JspException;
+
+    public void addValidatorBean(ValidatorBean validatorBean) {
+        validatorBeans.add(validatorBean);
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxItemTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxItemTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxItemTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ListBoxItemTag.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.BaseComponentBean;
+import org.gridsphere.provider.portletui.beans.ListBoxBean;
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+
+import javax.servlet.jsp.JspException;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * A <code>ListBoxItemtag</code> represents a list box element
+ */
+public class ListBoxItemTag extends BaseComponentTag {
+
+    protected ListBoxItemBean listboxitem = null;
+    protected boolean selected = false;
+
+    /**
+     * Sets the element to be selected
+     *
+     * @param selected is true if the element is selected
+     */
+    public void setSelected(boolean selected) {
+        this.selected = selected;
+    }
+
+    /**
+     * Return true if this element is selected
+     *
+     * @return true if this element is selected, false otherwise
+     */
+    public boolean getSelected() {
+        return selected;
+    }
+
+    /**
+     * Checks to see if listbox tag already contains this list item
+     *
+     * @param listboxTag the listbox tag
+     * @return true if the listbox tag conatins this list item
+     */
+    protected boolean itemExists(ListBoxTag listboxTag) {
+        ListBoxBean listbox = listboxTag.getListBoxBean();
+        List<BaseComponentBean> beans = listbox.getBeans();
+        for (BaseComponentBean listboxitem : beans) {
+            if (name != null) {
+                if (name.equals(listboxitem.getName())) {
+                    listboxitem.setValue(value);
+                    return true;
+                }
+            }
+            if (value.equals(listboxitem.getValue())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Deselects an element if not multiple selection and an existing list item is already selected
+     *
+     * @param listboxTag the list box tag
+     */
+    protected void checkSelectedEntries(ListBoxTag listboxTag) {
+        if (selected) {
+            if (!listboxTag.getMultiple()) {
+                ListBoxBean listbox = listboxTag.getListBoxBean();
+                List<BaseComponentBean> beans = listbox.getBeans();
+                for (BaseComponentBean bean : beans) {
+                    ListBoxItemBean listboxitem = (ListBoxItemBean) bean;
+                    if (listboxitem.isSelected()) {
+                        selected = false;
+                    }
+                }
+            }
+        }
+    }
+
+    public int doEndTag() throws JspException {
+
+        ListBoxTag listboxTag = (ListBoxTag) getParent();
+        if (listboxTag != null) {
+            //System.err.println("Setting action param bean: " + name + " " + value);
+            ListBoxItemBean listboxitem = new ListBoxItemBean();
+            if (key != null) {
+                Locale locale = pageContext.getRequest().getLocale();
+                ResourceBundle bundle = ResourceBundle.getBundle("Portlet", locale);
+                value = bundle.getString(key);
+                listboxitem.setValue(value);
+            }
+            this.setBaseComponentBean(listboxitem);
+            // check that item doesn't already exist
+            if (!itemExists(listboxTag)) {
+                checkSelectedEntries(listboxTag);
+                listboxitem.setSelected(selected);
+                listboxTag.addTagBean(listboxitem);
+            }
+        }
+
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListBoxTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,194 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ListBoxTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ListBoxBean;
+import org.gridsphere.provider.portletui.beans.ListBoxItemBean;
+import org.gridsphere.provider.portletui.beans.TagBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import java.util.ArrayList;
+
+/**
+ * A <code>ListBoxTag</code> represents a list box element
+ */
+public class ListBoxTag extends ContainerTag {
+
+    protected ListBoxBean listbox = null;
+    protected boolean isMultiple = false;
+    protected int size = 1;
+    protected String onChange = null;
+    protected String onBlur = null;
+    protected String onFocus = null;
+    protected boolean submitOnChange = false;
+
+    /**
+     * Returns the (html) size of the field.
+     *
+     * @return size of the field
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the (html) size of the field
+     *
+     * @param size size of the field
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns true if this listbox should invoke a form submission if the selection is changed
+     *
+     * @return true if this listbox should invoke a form submission if the selection is changed
+     */
+    public boolean getSubmitOnChange() {
+        return submitOnChange;
+    }
+
+    /**
+     * Sets whether this listbox should invoke a form submission if the selection is changed
+     *
+     * @param submitOnChange if true a form submission is invoked if selection changes
+     */
+    public void setSubmitOnChange(boolean submitOnChange) {
+        this.submitOnChange = submitOnChange;
+    }
+
+    /**
+     * Returns the onChange JavaScript function
+     *
+     * @return onChange JavaScript function
+     */
+    public String getOnChange() {
+        return onChange;
+    }
+
+    /**
+     * Sets the onChange JavaScript function
+     *
+     * @param onChange the onChange JavaScript function
+     */
+    public void setOnChange(String onChange) {
+        this.onChange = onChange;
+    }
+
+    /**
+     * Returns the onBlur JavaScript function
+     *
+     * @return onBlur JavaScript function
+     */
+    public String getOnBlur() {
+        return onBlur;
+    }
+
+    /**
+     * Sets the onBlur JavaScript function
+     *
+     * @param onBlur the onBlur JavaScript function
+     */
+    public void setOnBlur(String onBlur) {
+        this.onBlur = onBlur;
+    }
+
+    /**
+     * Returns the onFocus JavaScript function
+     *
+     * @return onFocus JavaScript function
+     */
+    public String getOnFocus() {
+        return onChange;
+    }
+
+    /**
+     * Sets the onFocus JavaScript function
+     *
+     * @param onFocus the onFocus JavaScript function
+     */
+    public void setOnFocus(String onFocus) {
+        this.onFocus = onFocus;
+    }
+
+    /**
+     * Sets multiple selection
+     *
+     * @param isMultiple is true if listbox provides multiple selections, false otherwise
+     */
+    public void setMultiple(boolean isMultiple) {
+        this.isMultiple = isMultiple;
+    }
+
+    public void setListBoxBean(ListBoxBean listbox) {
+        this.listbox = listbox;
+    }
+
+    public ListBoxBean getListBoxBean() {
+        return listbox;
+    }
+
+    /**
+     * Indicates if multiple selection is provided
+     *
+     * @return true if this listbox supports multiple selection, false otherwise
+     */
+    public boolean getMultiple() {
+        return isMultiple;
+    }
+
+    public int doStartTag() throws JspException {
+        list = new ArrayList<TagBean>();
+        if (submitOnChange) onChange = "GridSphere_SelectSubmit( this.form )";
+        if (!beanId.equals("")) {
+            listbox = (ListBoxBean) getTagBean();
+            if (listbox == null) {
+                listbox = new ListBoxBean();
+                listbox.setSize(size);
+                listbox.setMultipleSelection(isMultiple);
+                this.setBaseComponentBean(listbox);
+            } else {
+                if (size != 1) listbox.setSize(size);
+                this.updateBaseComponentBean(listbox);
+            }
+        } else {
+            listbox = new ListBoxBean();
+            listbox.setSize(size);
+            listbox.setMultipleSelection(isMultiple);
+            this.setBaseComponentBean(listbox);
+        }
+
+        if (onChange != null) listbox.setOnChange(onChange);
+        if (onBlur != null) listbox.setOnBlur(onBlur);
+        if (onFocus != null) listbox.setOnFocus(onFocus);
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(listbox.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        for (TagBean aList : list) {
+            ListBoxItemBean itembean = (ListBoxItemBean) aList;
+            listbox.addBean(itembean);
+        }
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(listbox.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ListTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: ListTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ListBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>ListBoxTag</code> represents a list box element
+ */
+public class ListTag extends BaseComponentTag {
+
+    protected ListBean listBean = null;
+
+    public void setListBean(ListBean listBean) {
+        this.listBean = listBean;
+    }
+
+    public ListBean getListBean() {
+        return listBean;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            listBean = (ListBean) getTagBean();
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        if (listBean != null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(listBean.toEndString());
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        }
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/MessageBoxTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/MessageBoxTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/MessageBoxTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.MessageBoxBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: MessageBoxTag.java 4745 2006-04-10 22:17:39Z novotny $
+ */
+
+public class MessageBoxTag extends BaseComponentTag {
+
+    protected MessageBoxBean messageBoxBean = null;
+    protected String style = null;
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     * <li>bold</li>
+     * <li>italic</li>
+     * <li>underline</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            messageBoxBean = (MessageBoxBean) getTagBean();
+            if (messageBoxBean == null) {
+                messageBoxBean = new MessageBoxBean();
+                this.setBaseComponentBean(messageBoxBean);
+            } else {
+                this.updateBaseComponentBean(messageBoxBean);
+                key = messageBoxBean.getKey();
+            }
+        } else {
+            messageBoxBean = new MessageBoxBean();
+            this.setBaseComponentBean(messageBoxBean);
+        }
+        if (style != null) {
+            messageBoxBean.setMessageType(style);
+        }
+        if (key != null) {
+            messageBoxBean.setValue(getLocalizedText(key));
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(messageBoxBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PanelTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PanelTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PanelTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,227 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PanelTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.PanelBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import java.util.StringTokenizer;
+
+/**
+ * A <code>PanelTag</code> represents a stylized table that generally conatins other <code>TableTag</code> or
+ * <code>FrameTag</code> nested tags
+ */
+public class PanelTag extends BaseComponentTag {
+
+    protected String width = PanelBean.PANEL_WIDTH;
+    protected String cellSpacing = PanelBean.PANEL_SPACING;
+    protected String cellPadding = PanelBean.PANEL_PADDING;
+    protected String align = null;
+    protected String border = PanelBean.PANEL_BORDER;
+    protected String cols = "100%";
+    protected String[] colArray;
+    protected int numCols = 1;
+    protected PanelBean panelBean = null;
+    protected int counter = 0;
+
+    /**
+     * Sets the panel (table) cell spacing
+     *
+     * @param cellPadding the panel cell padding
+     */
+    public void setCellpadding(String cellPadding) {
+        this.cellPadding = cellPadding;
+    }
+
+    /**
+     * Returns the panel (table) cell padding
+     *
+     * @return the panel cell padding
+     */
+    public String getCellpadding() {
+        return cellPadding;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table border
+     *
+     * @param border the panel border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    /**
+     * Returns the panel border
+     *
+     * @return the panel border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    /**
+     * Sets the panel width
+     *
+     * @param width the panel width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the panel width
+     *
+     * @return the panel width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the number of columns in the panel
+     *
+     * @param cols the number of columns
+     */
+    public void setCols(String cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public String getCols() {
+        return cols;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public int getNumCols() {
+        return numCols;
+    }
+
+    /**
+     * Returns the number of columns in the panel
+     *
+     * @return the number of columns in the panel
+     */
+    public String[] getColArray() {
+        return colArray;
+    }
+
+    public void setColumnCounter(int counter) {
+        this.counter = counter;
+    }
+
+    public int getColumnCounter() {
+        return counter;
+    }
+
+    /**
+     * Sets the panel cell spacing
+     *
+     * @param cellSpacing the panel cell spacing
+     */
+    public void setCellSpacing(String cellSpacing) {
+        this.cellSpacing = cellSpacing;
+    }
+
+
+    /**
+     * Returns the panel cell spacing
+     *
+     * @return the panel cell spacing
+     */
+    public String getCellSpacing() {
+        return cellSpacing;
+    }
+
+    public int doStartTag() throws JspException {
+        boolean includeBody = true;
+
+        counter = 0;
+        if (!beanId.equals("")) {
+            panelBean = (PanelBean) getTagBean();
+            if (panelBean == null) {
+                panelBean = new PanelBean();
+                this.setBaseComponentBean(panelBean);
+            } else {
+                includeBody = false;
+            }
+        } else {
+            panelBean = new PanelBean();
+            this.setBaseComponentBean(panelBean);
+            panelBean.setWidth(width);
+
+            StringTokenizer st = new StringTokenizer(cols, ",");
+            numCols = st.countTokens();
+            colArray = new String[numCols];
+            int i = 0;
+            String colStr;
+            while (st.hasMoreElements()) {
+                colStr = (String) st.nextElement();
+                colArray[i++] = colStr.trim();
+            }
+
+            panelBean.setCols(cols);
+            panelBean.setColArray(colArray);
+            panelBean.setNumCols(numCols);
+            panelBean.setCellSpacing(cellSpacing);
+            panelBean.setCellPadding(cellPadding);
+            panelBean.setBorder(border);
+            panelBean.setCssClass(cssClass);
+            panelBean.setCssStyle(cssStyle);
+            if (align != null) panelBean.setAlign(align);
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+
+            out.print(panelBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        if (includeBody) {
+            return EVAL_BODY_INCLUDE;
+        } else {
+            return SKIP_BODY;
+        }
+    }
+
+    public int doEndTag() throws JspException {
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(panelBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ParamTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ParamTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ParamTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: ActionParamTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ParamBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspTagException;
+import javax.servlet.jsp.tagext.Tag;
+import javax.servlet.jsp.tagext.TagSupport;
+
+/**
+ * The <code>ParamTag</code> is used to specify action paramters (name value pairs) inside of an
+ * <code>ActionLinkTag</code>, <code>RenderLinkTag</code> or an <code>ActionSubmitTag</code>, <code>RenderSubmitTag</code>
+ */
+public class ParamTag extends TagSupport {
+
+    protected String name = "";
+    protected String value = "";
+    protected ParamBean paramBean = null;
+    protected String beanId = "";
+
+    /**
+     * Returns the bean identifier
+     *
+     * @return the bean identifier
+     */
+    public String getBeanId() {
+        return beanId;
+    }
+
+    /**
+     * Sets the bean identifier
+     *
+     * @param beanId the bean identifier
+     */
+    public void setBeanId(String beanId) {
+        this.beanId = beanId;
+    }
+
+    /**
+     * Sets the action parameter name
+     *
+     * @param name the action parameter name
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the action paramter name
+     *
+     * @return the action parameter name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Sets the action parameter value
+     *
+     * @param value the action paramter value
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * Returns the action parameter value
+     *
+     * @return the action parameter value
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the action parameter bean
+     *
+     * @param paramBean the action parameter bean
+     */
+    public void setParamBean(ParamBean paramBean) {
+        this.paramBean = paramBean;
+    }
+
+    /**
+     * Returns the action parameter bean
+     *
+     * @return the action parameter bean
+     */
+    public ParamBean getParamBean() {
+        return paramBean;
+    }
+
+    public int doStartTag() throws JspException {
+        Tag tag = getParent();
+        if (tag instanceof ActionTag) {
+            ActionTag actionTag = (ActionTag) tag;
+            paramBean = new ParamBean(name, value);
+            actionTag.addParamBean(paramBean);
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspTagException {
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PasswordTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PasswordTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PasswordTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PasswordTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.PasswordBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>PasswordTag</code> provides a password tag for represnting HTML password input elements
+ */
+public class PasswordTag extends InputTag {
+
+    protected PasswordBean passwordBean = null;
+
+    protected int size = 10;
+    protected int maxlength = 15;
+
+    /**
+     * Returns the (html) size of the field
+     *
+     * @return size of the field
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the (html) size of the field
+     *
+     * @param size size of the field
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns the (html) max length of the field
+     *
+     * @return the max length of the field
+     */
+    public int getMaxlength() {
+        return maxlength;
+    }
+
+    /**
+     * Sets the (html) max length of the field
+     *
+     * @param maxlength the max length of the field
+     */
+    public void setMaxlength(int maxlength) {
+        this.maxlength = maxlength;
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            passwordBean = (PasswordBean) getTagBean();
+            if (passwordBean == null) {
+                passwordBean = new PasswordBean();
+                this.setBaseComponentBean(passwordBean);
+            } else {
+                this.updateBaseComponentBean(passwordBean);
+            }
+        } else {
+            passwordBean = new PasswordBean();
+            passwordBean.setMaxLength(maxlength);
+            passwordBean.setSize(size);
+            this.setBaseComponentBean(passwordBean);
+        }
+
+        if (maxlength != 0) passwordBean.setMaxLength(maxlength);
+        if (size != 0) passwordBean.setSize(size);
+        if (onFocus != null) passwordBean.setOnFocus(onFocus);
+        if (onClick != null) passwordBean.setOnClick(onClick);
+        if (onChange != null) passwordBean.setOnChange(onChange);
+        if (onBlur != null) passwordBean.setOnBlur(onBlur);
+        if (onSelect != null) passwordBean.setOnSelect(onBlur);
+
+        if (cssClass != null) passwordBean.addCssClass(cssClass);
+        if (cssStyle != null) passwordBean.addCssStyle(cssStyle);
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(passwordBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletLinkTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletLinkTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletLinkTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.PortletBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class PortletLinkTag extends DialogTag {
+
+    protected String theme = "default";
+    protected String renderKit = "brush";
+    protected String portletId = "";
+
+    public String getTheme() {
+        return theme;
+    }
+
+    public void setTheme(String theme) {
+        this.theme = theme;
+    }
+
+    public String getRenderKit() {
+        return renderKit;
+    }
+
+    public void setRenderKit(String renderKit) {
+        this.renderKit = renderKit;
+    }
+
+    public String getPortletId() {
+        return portletId;
+    }
+
+    public void setPortletId(String portletId) {
+        this.portletId = portletId;
+    }
+
+    public int doStartTag() throws JspException {
+        isLink = true;
+        PortletBean portlet = new PortletBean();
+      
+        setProperties(portlet);
+
+        portlet.setRenderKit(renderKit);
+        portlet.setTheme(theme);
+        portlet.setPortletId(portletId);
+
+        JspWriter out;
+        try {
+            out = pageContext.getOut();
+            out.print(portlet.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/PortletTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,158 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletTag.java 4992 2006-08-04 10:03:27Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.layout.PortletFrame;
+import org.gridsphere.layout.PortletFrameRegistry;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.GridSphereEventImpl;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.BodyTagSupport;
+import java.io.IOException;
+
+/**
+ * The abstract <code>BaseBeanTag</code> is a base class used by all UI tags that provides support for
+ * a bean identifier and a flag for indicating whether JavaScript is enabled.
+ */
+public class PortletTag extends BodyTagSupport {
+
+    protected String label = "";
+    protected String portletId = "";
+    protected String width = "";
+    protected boolean transparent = false;
+    protected String innerPadding = "";
+    protected String outerPadding = "";
+    protected String theme = "default";
+    protected String renderKit = "brush";
+    protected String role = "";
+
+    public String getTheme() {
+        return theme;
+    }
+
+    public void setTheme(String theme) {
+        this.theme = theme;
+    }
+
+    public boolean isTransparent() {
+        return transparent;
+    }
+
+    public void setTransparent(boolean transparent) {
+        this.transparent = transparent;
+    }
+
+    public String getInnerPadding() {
+        return innerPadding;
+    }
+
+    public void setInnerPadding(String innerPadding) {
+        this.innerPadding = innerPadding;
+    }
+
+    public String getOuterPadding() {
+        return outerPadding;
+    }
+
+    public void setOuterPadding(String outerPadding) {
+        this.outerPadding = outerPadding;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getRenderKit() {
+        return renderKit;
+    }
+
+    public void setRenderKit(String renderKit) {
+        this.renderKit = renderKit;
+    }
+
+    public String getRole() {
+        return role;
+    }
+
+    public void setRole(String role) {
+        this.role = role;
+    }
+
+    /**
+     * Sets the portlet component width
+     *
+     * @param width the portlet component width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the portlet component width
+     *
+     * @return the portlet component width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+
+    public String getPortletId() {
+        return portletId;
+    }
+
+    public void setPortletId(String portletId) {
+        this.portletId = portletId;
+    }
+
+    public int doStartTag() throws JspException {
+        PortletFrameRegistry registry = PortletFrameRegistry.getInstance();
+        RenderRequest request = (RenderRequest)pageContext.getAttribute("renderRequest");
+        PortletContext ctx = (PortletContext)pageContext.getAttribute("portletContext");
+        GridSphereEvent event = new GridSphereEventImpl(ctx,
+                (HttpServletRequest)pageContext.getRequest(),
+                (HttpServletResponse)pageContext.getResponse());
+      
+        // role check
+        if ((!role.equals("")) && !request.isUserInRole(role)) return SKIP_BODY;
+
+        PortletFrame frame = registry.getPortletFrame(label, portletId, event);
+        frame.setInnerPadding(innerPadding);
+        frame.setOuterPadding(outerPadding);
+        frame.setTransparent(transparent);
+        request.getPortletSession().setAttribute(SportletProperties.LAYOUT_THEME, theme, PortletSession.APPLICATION_SCOPE);
+        request.getPortletSession().setAttribute(SportletProperties.LAYOUT_RENDERKIT, renderKit, PortletSession.APPLICATION_SCOPE);
+        frame.setRequiredRole(role);
+        JspWriter out;
+        try {
+            //if (event.hasAction())
+                frame.actionPerformed(event);
+            out = pageContext.getOut();
+            frame.doRender(event);
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new JspException(e);
+        }
+        try {
+            out.print(frame.getBufferedOutput(request));
+        } catch (IOException e) {
+            throw new JspException(e);
+        }
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RadioButtonTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RadioButtonTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RadioButtonTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: RadioButtonTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.RadioButtonBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import java.util.List;
+
+/**
+ * A <code>RadioButtonTag</code> represents a radio button element
+ */
+public class RadioButtonTag extends BaseComponentTag {
+
+    protected RadioButtonBean radiobutton = null;
+    protected boolean selected = false;
+    protected String onClick = null;
+
+    /**
+     * Sets the selected status of the bean
+     *
+     * @param flag status of the bean
+     */
+    public void setSelected(boolean flag) {
+        this.selected = flag;
+    }
+
+    /**
+     * Returns the selected status of the bean
+     *
+     * @return selected status
+     */
+    public boolean isSelected() {
+        return selected;
+    }
+
+    public String getOnClick() {
+        return onClick;
+    }
+
+    public void setOnClick(String onClick) {
+        this.onClick = onClick;
+    }
+
+    public int doStartTag() throws JspException {
+
+        if (!beanId.equals("")) {
+            radiobutton = (RadioButtonBean) getTagBean();
+            if (radiobutton == null) {
+                radiobutton = new RadioButtonBean();
+                this.setBaseComponentBean(radiobutton);
+            } else {
+                this.setBaseComponentBean(radiobutton);
+                //this.updateBaseComponentBean(radiobutton);
+                //this.overrideBaseComponentBean(radiobutton);
+            }
+            List vals = radiobutton.getSelectedValues();
+            if (vals.contains(value)) {
+                radiobutton.setSelected(true);
+            } else {
+                //if (!selected) selected = radiobutton.isSelected();
+                if (vals.isEmpty()) radiobutton.setSelected(selected);
+            }
+
+        } else {
+            radiobutton = new RadioButtonBean();
+            radiobutton.setSelected(selected);
+            this.setBaseComponentBean(radiobutton);
+        }
+
+        if (onClick !=null) radiobutton.setOnClick(onClick);
+
+        //debug();
+
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(radiobutton.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderLinkTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderLinkTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderLinkTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.ImageBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.provider.portletui.beans.RenderLinkBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.tagext.Tag;
+
+/**
+ * The <code>ActionLinkTag</code> provides a hyperlink element that includes a <code>DefaultPortletAction</code>
+ * and can contain nested <code>ActionParamTag</code>s
+ */
+public class RenderLinkTag extends ActionTag {
+
+    protected RenderLinkBean renderlink = null;
+
+    protected String style = MessageStyle.MSG_INFO;
+    protected ImageBean imageBean = null;
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the image bean
+     *
+     * @param imageBean the image bean
+     */
+    public void setImageBean(ImageBean imageBean) {
+        this.imageBean = imageBean;
+    }
+
+    /**
+     * Returns the image bean
+     *
+     * @return the image bean
+     */
+    public ImageBean getImageBean() {
+        return imageBean;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            renderlink = (RenderLinkBean) getTagBean();
+            if (renderlink == null) {
+                renderlink = new RenderLinkBean(beanId);
+                renderlink.setStyle(style);
+                this.setBaseComponentBean(renderlink);
+            } else {
+                if (renderlink.getParamBeanList() != null) {
+                    paramBeans = renderlink.getParamBeanList();
+                }
+                if (renderlink.getAction() != null) {
+                    action = renderlink.getAction();
+                }
+                if (renderlink.getValue() != null) {
+                    value = renderlink.getValue();
+                }
+                if (renderlink.getKey() != null) {
+                    key = renderlink.getKey();
+                }
+                if (renderlink.getOnClick() != null) {
+                    onClick = renderlink.getOnClick();
+                }
+            }
+        } else {
+            renderlink = new RenderLinkBean();
+            this.setBaseComponentBean(renderlink);
+            renderlink.setStyle(style);
+        }
+
+        renderlink.setUseAjax(useAjax);
+        if (name != null) renderlink.setName(name);
+        if (anchor != null) renderlink.setAnchor(anchor);
+        if (action != null) renderlink.setAction(action);
+        if (value != null) renderlink.setValue(value);
+        if (onClick != null) renderlink.setOnClick(onClick);
+        if (style != null) renderlink.setStyle(style);
+        if (cssStyle != null) renderlink.setCssStyle(cssStyle);
+        if (cssClass != null) renderlink.setCssClass(cssClass);
+        if (layout != null) renderlink.setLayout(label);
+        if (onMouseOut != null) renderlink.setOnMouseOut(onMouseOut);
+        if (onMouseOver != null) renderlink.setOnMouseOver(onMouseOver);
+
+        Tag parent = getParent();
+        if (parent instanceof ActionMenuTag) {
+            ActionMenuTag actionMenuTag = (ActionMenuTag) parent;
+            if (!actionMenuTag.getLayout().equals("horizontal")) {
+                renderlink.setCssStyle("display: block");
+            }
+        }
+
+        if (key != null) {
+            renderlink.setKey(key);
+            renderlink.setValue(getLocalizedText(key));
+            value = renderlink.getValue();
+        }
+
+        return EVAL_BODY_BUFFERED;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            paramBeans = renderlink.getParamBeanList();
+            label = renderlink.getLabel();
+            action = renderlink.getAction();
+        }
+
+        renderlink.setPortletURI(createRenderURI());
+
+        if ((bodyContent != null) && (value == null)) {
+            renderlink.setValue(bodyContent.getString());
+        }
+
+        if (pageContext.getRequest().getAttribute(SportletProperties.USE_AJAX) != null) {
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            String portlet = (String) pageContext.getRequest().getAttribute(SportletProperties.PORTLET_NAME);
+            String compname = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_NAME);
+            renderlink.setUseAjax(true);
+            renderlink.setOnClick("GridSphereAjaxHandler2.startRequest('" + portlet + "', '" + compname + "', '" + paction + "');");
+        }
+
+        if (useAjax) {
+            String cid = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_ID);
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            renderlink.setOnClick("GridSphereAjaxHandler.startRequest(" + cid + ", '" + paction + "');");
+        }
+
+        if (imageBean != null) {
+            String val = renderlink.getValue();
+            if (val == null) val = "";
+            renderlink.setValue(imageBean.toStartString() + val);
+        }
+
+        if (var == null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(renderlink.toEndString());
+            } catch (Exception e) {
+                throw new JspException(e);
+            }
+        } else {
+            pageContext.setAttribute(var, renderlink.toEndString(), PageContext.PAGE_SCOPE);
+        }
+        release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderSubmitTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderSubmitTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RenderSubmitTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.ParamBean;
+import org.gridsphere.provider.portletui.beans.RenderSubmitBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * An <code>RenderSubmitTag</code> provides a button element that includes a <code>DefaultPortletAction</code> and may
+ * also include nested <code>ActionParamTag</code>s
+ */
+public class RenderSubmitTag extends ActionTag {
+
+    protected RenderSubmitBean renderSubmitBean = null;
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            renderSubmitBean = (RenderSubmitBean) getTagBean();
+            if (renderSubmitBean == null) {
+                renderSubmitBean = new RenderSubmitBean(beanId);
+            } else {
+                if (renderSubmitBean.getAction() != null) {
+                    action = renderSubmitBean.getAction();
+                }
+                if (renderSubmitBean.getValue() != null) {
+                    value = renderSubmitBean.getValue();
+                }
+                if (renderSubmitBean.getKey() != null) {
+                    key = renderSubmitBean.getKey();
+                }
+                if (renderSubmitBean.getParamBeanList() != null) {
+                    paramBeans = renderSubmitBean.getParamBeanList();
+                }
+                if (renderSubmitBean.getOnClick() != null) {
+                    onClick = renderSubmitBean.getOnClick();
+                }
+            }
+        } else {
+            renderSubmitBean = new RenderSubmitBean();
+        }
+
+        if (onClick != null) renderSubmitBean.setOnClick(onClick);
+
+        renderSubmitBean.setName(createActionURI());
+        renderSubmitBean.setUseAjax(useAjax);
+
+        if (anchor != null) renderSubmitBean.setAnchor(anchor);
+
+        if (key != null) {
+            renderSubmitBean.setKey(key);
+            value = getLocalizedText(key);
+        }
+
+        if (!beanId.equals("")) {
+            this.updateBaseComponentBean(renderSubmitBean);
+        } else {
+            this.setBaseComponentBean(renderSubmitBean);
+        }
+
+        if (action != null) renderSubmitBean.setAction(action);
+
+        if (cssStyle != null) {
+            renderSubmitBean.setCssStyle(cssStyle);
+        }
+        if (cssClass != null) {
+            renderSubmitBean.setCssClass(cssClass);
+        }
+
+        Object parentTag = getParent();
+        if (parentTag instanceof ContainerTag) {
+            ContainerTag containerTag = (ContainerTag) parentTag;
+            containerTag.addTagBean(renderSubmitBean);
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        for (ParamBean paramBean : paramBeans) {
+            ParamBean pbean = (ParamBean) paramBean;
+            portletPhase.addParameter(pbean.getName(), pbean.getValue());
+        }
+
+        String actionURI = createActionURI().toString();
+        renderSubmitBean.setName(actionURI);
+
+        if (portletPhase != null) renderSubmitBean.setAction(portletPhase.toString());
+
+        if (pageContext.getRequest().getAttribute(SportletProperties.USE_AJAX) != null) {
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            String portlet = (String) pageContext.getRequest().getAttribute(SportletProperties.PORTLET_NAME);
+            String compname = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_NAME);
+            renderSubmitBean.setUseAjax(true);
+            renderSubmitBean.setOnClick("GridSphereAjaxHandler2.startRequest('" + portlet + "', '" + compname + "', '" + paction + "');");
+        }
+
+        if (useAjax) {
+            String cid = (String) pageContext.getRequest().getAttribute(SportletProperties.COMPONENT_ID);
+            String paction = ((!action.equals("")) ? "&" + portletPhase.toString() : "");
+            renderSubmitBean.setOnClick("GridSphereAjaxHandler.startRequest('" + cid + "', '" + paction + "');");
+        }
+
+        if ((bodyContent != null) && (value == null)) {
+            renderSubmitBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(renderSubmitBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+
+        return EVAL_PAGE;
+    }
+
+    public void release() {
+        super.release();
+        renderSubmitBean = null;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RichTextEditorTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RichTextEditorTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/RichTextEditorTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.RichTextEditorBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class RichTextEditorTag extends ActionTag {
+
+
+    protected RichTextEditorBean textEditorBean = null;
+    private int cols = 0;
+    private int rows = 0;
+
+
+    /**
+     * Returns the number of columns of the text area
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the text area
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the text area
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the text area
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            textEditorBean = (RichTextEditorBean) getTagBean();
+            if (textEditorBean == null) {
+                textEditorBean = new RichTextEditorBean();
+                textEditorBean.setRows(rows);
+                textEditorBean.setCols(cols);
+                this.setBaseComponentBean(textEditorBean);
+            } else {
+                if ((textEditorBean.getCols() == 0) && (cols != 0)) {
+                    textEditorBean.setCols(cols);
+                }
+                if ((textEditorBean.getRows() == 0) && (rows != 0)) {
+                    textEditorBean.setRows(rows);
+                }
+                this.updateBaseComponentBean(textEditorBean);
+
+            }
+        } else {
+            textEditorBean = new RichTextEditorBean();
+            textEditorBean.setRows(rows);
+            textEditorBean.setCols(cols);
+            this.setBaseComponentBean(textEditorBean);
+        }
+
+        textEditorBean.setAction(createActionURI());
+
+        //debug();
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textEditorBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        if ((bodyContent != null) && (value == null)) {
+            textEditorBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textEditorBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        super.release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TabTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+
+import org.gridsphere.provider.portletui.beans.TabBean;
+
+import javax.servlet.jsp.JspException;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class TabTag extends BaseComponentTag {
+
+    protected boolean isActive = false;
+
+    protected String label = "";
+    protected String page = null;
+
+    public void setActive(boolean isActive) {
+        this.isActive = isActive;
+    }
+
+    public boolean getActive() {
+        return isActive;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setPage(String page) {
+        this.page = page;
+    }
+
+    public String getPage() {
+        return page;
+    }
+
+    public void release() {
+        super.release();
+    }
+
+    public int doStartTag() throws JspException {
+        TabbedPaneTag tabbedPaneTag = (TabbedPaneTag) findAncestorWithClass(this, TabbedPaneTag.class);
+        if (tabbedPaneTag != null) {
+            TabBean tab = new TabBean();
+            tab.setPage(page);
+            if (key != null) {
+                value = getLocalizedText(key);
+            }
+            tab.setValue(value);
+            tab.setLabel(label);
+            tabbedPaneTag.addTabBean(tab);
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabbedPaneTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabbedPaneTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TabbedPaneTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TabbedPaneTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.provider.portletui.beans.TabBean;
+
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A <code>TabbedPaneTag</code> represents a tabbed pane</code>
+ */
+public class TabbedPaneTag extends BaseComponentTag {
+
+
+    protected String TAB_LABEL_PARAM = "ui.tab.label";
+    protected String currentPage = "";
+    protected String currentTabLabel = "";
+
+    protected List<TabBean> tabBeans = new ArrayList<TabBean>();
+
+    public void addTabBean(TabBean tabBean) {
+        tabBeans.add(tabBean);
+    }
+
+    public void setCurrentTab(String currentTab) {
+        this.currentTabLabel = currentTab;
+    }
+
+    public String getCurrentTab() {
+        return currentTabLabel;
+    }
+
+    public void setCurrentPage(String currentPage) {
+        this.currentPage = currentPage;
+    }
+
+    public int doStartTag() throws JspException {
+        super.doStartTag();
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        if (tabBeans.isEmpty()) return EVAL_PAGE;
+
+        try {
+
+            RenderRequest req = (RenderRequest) pageContext.getAttribute(SportletProperties.RENDER_REQUEST, PageContext.REQUEST_SCOPE);
+            currentTabLabel = req.getParameter(TAB_LABEL_PARAM);
+            if (currentTabLabel == null) {
+                currentTabLabel = (String) req.getPortletSession(true).getAttribute(getClass().getName());
+            }
+
+            JspWriter out = pageContext.getOut();
+            out.println("<ul class=\"ui-tab\">");
+            // if this tab is not set, then use this tab (the first tab in the sequence)
+            if (currentTabLabel == null) {
+                currentTabLabel = ((TabBean) tabBeans.get(0)).getLabel();
+            }
+
+            RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+
+            // print out all tabs
+            for (int i = 0; i < tabBeans.size(); i++) {
+                TabBean tabBean = (TabBean) tabBeans.get(i);
+                PortletURL url = res.createRenderURL();
+                url.setParameter(TAB_LABEL_PARAM, tabBean.getLabel());
+                String href = url.toString();
+
+                if (tabBean.getLabel().equals(currentTabLabel)) {
+                    req.getPortletSession(true).setAttribute(getClass().getName(), currentTabLabel);
+                    currentPage = tabBean.getPage();
+                    out.println("<li class=\"selected\">");
+                } else {
+                    out.println("<li>");
+                }
+                out.println("<a href=\"" + href + "\">" + tabBean.getValue() + "</a>");
+                out.println("</li>");
+            }
+
+            out.println("</ul>");
+
+            StringWriter writer = new StringWriter();
+            ServletResponse sres = pageContext.getResponse();
+            if (res instanceof HttpServletResponse) {
+                HttpServletResponse hres = (HttpServletResponse) sres;
+                HttpServletRequest hreq = (HttpServletRequest) pageContext.getRequest();
+                StoredPortletResponseImpl resWrapper = new StoredPortletResponseImpl(hreq, hres, writer);
+                pageContext.getServletContext().getRequestDispatcher(currentPage).include(pageContext.getRequest(), resWrapper);
+                out.println(writer.getBuffer());
+            }
+            tabBeans.clear();
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        super.release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableCellTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableCellTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableCellTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,204 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableCellTag.java 4666 2006-03-27 17:47:56Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TableCellBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>TableCellTag</code> represents a table cell element contained by a <code>TableRowTag</code>
+ */
+public class TableCellTag extends BaseComponentTag {
+
+    protected TableCellBean cellBean = null;
+    protected String width = null;
+    protected String height = null;
+    protected String align = null;
+    protected String valign = null;
+    protected String rowspan = null;
+    protected String colspan = null;
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @param valign the table vertical alignment
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Returns the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @return the table vertical alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    /**
+     * Sets the table cell width
+     *
+     * @param width the table cell width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table cell width
+     *
+     * @return the table cell width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+    /**
+     * Sets the table cell height
+     *
+     * @param height the table cell height
+     */
+    public void setHeight(String height) {
+        this.height = height;
+    }
+
+    /**
+     * Returns the table cell height
+     *
+     * @return the table cell height
+     */
+    public String getHeight() {
+        return height;
+    }
+
+    /**
+     * Returns the table cell row span
+     *
+     * @return the table cell row span
+     */
+    public String getRowspan() {
+        return rowspan;
+    }
+
+    /**
+     * Sets the table cell row span
+     *
+     * @param rowspan the table cell row span
+     */
+    public void setRowspan(String rowspan) {
+        this.rowspan = rowspan;
+    }
+
+    /**
+     * Returns the table cell col span
+     *
+     * @return the table cell col span
+     */
+    public String getColspan() {
+        return colspan;
+    }
+
+    /**
+     * Sets the table cell col span
+     *
+     * @param colspan the table cell col span
+     */
+    public void setColspan(String colspan) {
+        this.colspan = colspan;
+    }
+
+
+    /**
+     * Sets the table cell bean
+     *
+     * @param cellBean the table cell bean
+     */
+    public void setCellBean(TableCellBean cellBean) {
+        this.cellBean = cellBean;
+    }
+
+    /**
+     * Returns the table cell bean
+     *
+     * @return the table cell bean
+     */
+    public TableCellBean getCellBean() {
+        return cellBean;
+    }
+
+    public void release() {
+        cellBean = null;
+        width = null;
+        height = null;
+        align = null;
+        valign = null;
+        super.release();
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            cellBean = (TableCellBean) getTagBean();
+            if (cellBean == null) cellBean = new TableCellBean();
+        } else {
+            cellBean = new TableCellBean();
+            if (width != null) cellBean.setWidth(width);
+            if (height != null) cellBean.setHeight(height);
+            if (align != null) cellBean.setAlign(align);
+            if (valign != null) cellBean.setValign(valign);
+            if (rowspan != null) cellBean.setRowspan(rowspan);
+            if (colspan != null) cellBean.setColspan(colspan);
+            if (cssClass != null) cellBean.setCssClass(cssClass);
+            if (cssStyle != null) cellBean.setCssStyle(cssStyle);
+        }
+        /*
+        TableRowTag rowTag = (TableRowTag) getParent();
+        if (rowTag.getHeader()) {
+            cellBean.setCssClass(TableRowBean.TABLE_HEADER_STYLE);
+        } else if (rowTag.getZebra()) {
+            cellBean.setCssClass(TableRowBean.TABLE_ALTERNATE_STYLE);
+        }
+         */
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(cellBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(cellBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        super.doEndTag();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableRowTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableRowTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableRowTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableRowTag.java 4797 2006-05-17 20:49:45Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TableRowBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.tagext.Tag;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class TableRowTag extends BaseComponentTag {
+
+    protected TableRowBean rowBean = null;
+    protected boolean isHeader = false;
+    protected String align = null;
+    protected String valign = null;
+    protected boolean isZebra = false;
+
+    /**
+     * Sets the table row bean
+     *
+     * @param tableRowBean the table row bean
+     */
+    public void setTableRowBean(TableRowBean tableRowBean) {
+        rowBean = tableRowBean;
+    }
+
+    /**
+     * Returns the table row bean
+     *
+     * @return the table row bean
+     */
+    public TableRowBean getTableRowBean() {
+        return rowBean;
+    }
+
+    /**
+     * Indicates if this table row is a table header
+     *
+     * @param isHeader is true if this row is a table header
+     */
+    public void setHeader(boolean isHeader) {
+        this.isHeader = isHeader;
+    }
+
+    /**
+     * Indicates if this table row is a table header
+     *
+     * @return true if this row is a table header, false otherwise
+     */
+    public boolean getHeader() {
+        return isHeader;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Sets the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @param valign the table vertical alignment
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Returns the table vertical alignment e.g. "top", "middle", "bottom" or "baseline"
+     *
+     * @return the table vertical alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    public void setZebra(boolean isZebra) {
+        this.isZebra = isZebra;
+    }
+
+    public boolean getZebra() {
+        return isZebra;
+    }
+
+    public void release() {
+        rowBean = null;
+        isHeader = false;
+        align = null;
+        valign = null;
+        isZebra = false;
+        super.release();
+    }
+
+    public int doStartTag() throws JspException {
+
+        Tag parent = this.getParent();
+        if (parent instanceof TableTag) {
+            TableTag tableTag = (TableTag) parent;
+            int maxrows = tableTag.getMaxrows();
+            boolean filter = tableTag.getFilter();
+            // logic to determine if alternate (darkened row) should be set
+            if (tableTag.getZebra()) {
+                if ((tableTag.getRowCount() % 2) == 0) {
+                    isZebra = true;
+                } else {
+                    isZebra = false;
+                }
+            }
+
+            // logic to determine what rows to display if table is broken into pages
+            if (!isHeader) {
+                tableTag.incrementRowCount();
+            }
+
+            // need to determine which rows to display
+            int currpage = tableTag.getCurrentPage();
+            if (!isHeader) {
+                if (maxrows > 0) {
+                    if (!filter) {
+                        if ((tableTag.getRowCount() <= maxrows * currpage) || (tableTag.getRowCount() > maxrows * (currpage + 1))) {
+                            return EVAL_PAGE;
+                        }
+                    }
+                }
+            }
+        }
+
+        if (!beanId.equals("")) {
+            rowBean = (TableRowBean) getTagBean();
+            if (rowBean == null) rowBean = new TableRowBean();
+        } else {
+            rowBean = new TableRowBean();
+            rowBean.setHeader(isHeader);
+            if (align != null) rowBean.setAlign(align);
+            if (valign != null) rowBean.setValign(valign);
+            if (cssStyle != null) rowBean.setCssStyle(cssStyle);
+            if (cssClass != null) rowBean.setCssClass(cssClass);
+        }
+
+        rowBean.setZebra(isZebra);
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(rowBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(rowBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        isZebra = false;
+        super.doEndTag();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TableTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,392 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TableTag.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TableBean;
+import org.gridsphere.provider.portletui.model.DefaultTableModel;
+
+import javax.portlet.PortletModeException;
+import javax.portlet.PortletURL;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>TableTag</code> represents a table element and is defined by a <code>DefaultTableModel</code>
+ */
+public class TableTag extends BaseComponentTag {
+
+    protected TableBean tableBean = null;
+    protected String title = null;
+    protected String cellSpacing = null;
+    protected String cellPadding = null;
+    protected String border = null;
+    protected String width = null;
+    protected String align = null;
+    protected String valign = null;
+    protected String background = null;
+    protected boolean sortable = false;
+    protected boolean isZebra = false;
+    protected int rowCount = 0;
+    protected int maxRows = -1;
+    protected int currentPage = 0;
+    protected boolean isShowAll = false;
+    protected boolean filter = false;
+    protected int numEntries = 0;
+
+    /**
+     * Sets the table model associated with this table
+     *
+     * @param tableModel the table model associated with this table
+     */
+    public void setTableModel(DefaultTableModel tableModel) {
+        this.tableBean.setTableModel(tableModel);
+    }
+
+    /**
+     * Returns the table model associated with this table
+     *
+     * @return the table model associated with this table
+     */
+    public DefaultTableModel getTableModel() {
+        return tableBean.getTableModel();
+    }
+
+    /**
+     * Sets the table bean
+     *
+     * @param tableBean the table bean
+     */
+    public void setTableBean(TableBean tableBean) {
+        this.tableBean = tableBean;
+    }
+
+    /**
+     * Returns the table bean
+     *
+     * @return the table bean
+     */
+    public TableBean getTableBean() {
+        return tableBean;
+    }
+
+    /**
+     * Sets the table alignment e.g. "left", "center" or "right"
+     *
+     * @param align the table alignment
+     */
+    public void setAlign(String align) {
+        this.align = align;
+    }
+
+    /**
+     * Returns the table alignment e.g. "left", "center" or "right"
+     *
+     * @return the table alignment
+     */
+    public String getAlign() {
+        return align;
+    }
+
+    /**
+     * Returns the horizontal table alignment e.g. "center" or "bottom"
+     *
+     * @return the table horizontal alignment
+     */
+    public String getValign() {
+        return valign;
+    }
+
+    /**
+     * Returns the horizontal table alignment e.g. "center" or "bottom"
+     *
+     * @param valign alignment of the table
+     */
+    public void setValign(String valign) {
+        this.valign = valign;
+    }
+
+    /**
+     * Sets the table cell spacing
+     *
+     * @param cellSpacing the table cell spacing
+     */
+    public void setCellspacing(String cellSpacing) {
+        this.cellSpacing = cellSpacing;
+    }
+
+    /**
+     * Returns the table cell spacing
+     *
+     * @return the table cell spacing
+     */
+    public String getCellspacing() {
+        return cellSpacing;
+    }
+
+    /**
+     * Sets the panel (table) cell spacing
+     *
+     * @param cellPadding the panel cell padding
+     */
+    public void setCellpadding(String cellPadding) {
+        this.cellPadding = cellPadding;
+    }
+
+    /**
+     * Returns the panel (table) cell padding
+     *
+     * @return the panel cell padding
+     */
+    public String getCellpadding() {
+        return cellPadding;
+    }
+
+    /**
+     * Sets the table border
+     *
+     * @param border the panel border
+     */
+    public void setBorder(String border) {
+        this.border = border;
+    }
+
+    /**
+     * Returns the panel border
+     *
+     * @return the panel border
+     */
+    public String getBorder() {
+        return border;
+    }
+
+    /**
+     * Sets the table background
+     *
+     * @param background the table background
+     */
+    public void setBackground(String background) {
+        this.background = background;
+    }
+
+    /**
+     * Returns the table background
+     *
+     * @return the tabel background
+     */
+    public String getBackground() {
+        return background;
+    }
+
+    /**
+     * Returns true if a query filter is associated with this table
+     *
+     * @return true if a query filter is associated with this table
+     */
+    public boolean getFilter() {
+        return filter;
+    }
+
+    public void setFilter(boolean filter) {
+        this.filter = filter;
+    }
+
+    public int getNumentries() {
+        return numEntries;
+    }
+
+    public void setNumentries(int numEntries) {
+        this.numEntries = numEntries;
+    }
+
+    /**
+     * Sets the table width
+     *
+     * @param width the table width
+     */
+    public void setWidth(String width) {
+        this.width = width;
+    }
+
+    /**
+     * Returns the table width
+     *
+     * @return the table width
+     */
+    public String getWidth() {
+        return width;
+    }
+
+
+    public void setSortable(boolean isSortable) {
+        sortable = isSortable;
+    }
+
+    public boolean getSortable() {
+        return sortable;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public void setZebra(boolean isZebra) {
+        this.isZebra = isZebra;
+    }
+
+    public boolean getZebra() {
+        return isZebra;
+    }
+
+    public void setMaxrows(int maxRows) {
+        this.maxRows = maxRows;
+    }
+
+    public int getMaxrows() {
+        return maxRows;
+    }
+
+    public void incrementRowCount() {
+        this.rowCount++;
+        tableBean.setRowCount(rowCount);
+
+    }
+
+    public int getRowCount() {
+        return rowCount;
+    }
+
+    public void setCurrentPage(int currentPage) {
+        this.currentPage = currentPage;
+    }
+
+    public int getCurrentPage() {
+        return currentPage;
+    }
+
+
+    public void release() {
+        tableBean = null;
+        cellSpacing = null;
+        cellPadding = null;
+        title = null;
+        border = null;
+        width = null;
+        align = null;
+        valign = null;
+        background = null;
+        sortable = false;
+        isZebra = false;
+        rowCount = 0;
+        maxRows = -1;
+        currentPage = 0;
+        numEntries = 0;
+        super.release();
+    }
+
+    public int doStartTag() throws JspException {
+
+        super.doStartTag();
+
+        // get any parameter values if data is divided
+
+
+        if (!beanId.equals("")) {
+            tableBean = (TableBean) getTagBean();
+            if (tableBean == null) {
+                tableBean = new TableBean();
+                setBaseComponentBean(tableBean);
+            } else {
+                //includeBody = false;
+            }
+            maxRows = tableBean.getMaxRows();
+            numEntries = tableBean.getNumEntries();
+            filter = tableBean.getFilter();
+        } else {
+            tableBean = new TableBean();
+            this.setBaseComponentBean(tableBean);
+        }
+
+        if (maxRows > 0) {
+            String curPage = pageContext.getRequest().getParameter(TableBean.CURRENT_PAGE);
+            if (curPage != null) {
+                currentPage = Integer.valueOf(curPage).intValue();
+                tableBean.setCurrentPage(currentPage);
+            }
+            String showAll = pageContext.getRequest().getParameter(TableBean.SHOW_ALL);
+            if (showAll != null) {
+                maxRows = 0;
+                isShowAll = true;
+            }
+            String showpages = pageContext.getRequest().getParameter(TableBean.SHOW_PAGES);
+            if (showpages != null) {
+                isShowAll = false;
+            }
+        }
+
+        if (background != null) tableBean.setBackground(background);
+        if (align != null) tableBean.setAlign(align);
+        if (valign != null) tableBean.setValign(valign);
+        if (width != null) tableBean.setWidth(width);
+        if (cellSpacing != null) tableBean.setCellSpacing(cellSpacing);
+        if (cellPadding != null) tableBean.setCellPadding(cellPadding);
+        if (border != null) tableBean.setBorder(border);
+        if (cssStyle != null) tableBean.setCssStyle(cssStyle);
+        if (cssClass != null) tableBean.setCssClass(cssClass);
+        if (sortable) {
+            tableBean.setSortable(sortable);
+            tableBean.setSortableID("td" + this.getUniqueId("gs_tableNum"));
+        }
+        if (title != null) tableBean.setTitle(title);
+
+        tableBean.setRowCount(0);
+        tableBean.setMaxRows(maxRows);
+        tableBean.setZebra(isZebra);
+        tableBean.setShowall(isShowAll);
+        if (numEntries != 0) tableBean.setNumEntries(numEntries);
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(tableBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        //if (includeBody) {
+        return EVAL_BODY_INCLUDE;
+        //} else {
+        //    return SKIP_BODY;
+        //}
+    }
+
+    public int doEndTag() throws JspException {
+        tableBean.setRowCount(rowCount);
+
+        RenderResponse res = (RenderResponse) pageContext.getAttribute("renderResponse");
+        RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+        PortletURL url = res.createRenderURL();
+        try {
+            url.setPortletMode(req.getPortletMode());
+        } catch (PortletModeException e) {
+            throw new JspException(e);
+        }
+        tableBean.setURIString(url.toString());
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(tableBean.toEndString());
+            rowCount = 0;
+        } catch (Exception e) {
+            throw new JspException(e);
+        }
+        super.doEndTag();
+        release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextAreaTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextAreaTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextAreaTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TextAreaTag.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TextAreaBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>TextAreaTag</code> represents a text area element
+ */
+public class TextAreaTag extends InputTag {
+
+    protected TextAreaBean textAreaBean = null;
+    protected int cols = 0;
+    protected int rows = 0;
+    protected String onFocus = null;
+
+    /**
+     * Returns the number of columns of the text area
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the text area
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the text area
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the text area
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    public void setOnfocus(String onFocus) {
+        this.onFocus = onFocus;
+    }
+
+    public String getOnfocus() {
+        return onFocus;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            textAreaBean = (TextAreaBean) getTagBean();
+            if (textAreaBean == null) {
+                textAreaBean = new TextAreaBean();
+                textAreaBean.setRows(rows);
+                textAreaBean.setCols(cols);
+                this.setBaseComponentBean(textAreaBean);
+            } else {
+                if ((textAreaBean.getCols() == 0) && (cols != 0)) {
+                    textAreaBean.setCols(cols);
+                }
+                if ((textAreaBean.getRows() == 0) && (rows != 0)) {
+                    textAreaBean.setRows(rows);
+                }
+                this.updateBaseComponentBean(textAreaBean);
+            }
+        } else {
+            textAreaBean = new TextAreaBean();
+            textAreaBean.setRows(rows);
+            textAreaBean.setCols(cols);
+            this.setBaseComponentBean(textAreaBean);
+        }
+
+        if (onFocus != null) textAreaBean.setOnFocus(onFocus);
+        if (onClick != null) textAreaBean.setOnClick(onClick);
+        if (onChange != null) textAreaBean.setOnChange(onChange);
+        if (onBlur != null) textAreaBean.setOnBlur(onBlur);
+        if (onSelect != null) textAreaBean.setOnSelect(onBlur);
+        //debug();
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textAreaBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        if ((bodyContent != null) && (value == null)) {
+            textAreaBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textAreaBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        super.release();
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextEditorTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextEditorTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextEditorTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TextEditorBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * The <code>TextEditorTag</code> uses the SimpleTextEditor javscript provided
+ * by Cezary Tomczak at http://gosu.pl/dhtml/SimpleTextEditor.html
+ */
+public class TextEditorTag extends ActionTag {
+
+    protected TextEditorBean textEditorBean = null;
+    private int cols = 0;
+    private int rows = 0;
+    private boolean viewsource = true;
+
+    /**
+     * Returns true if text editor should allow users to edit/view HTML source
+     *
+     * @return true if text editor should allow users to edit/view HTML source
+     */
+    public boolean getViewsource() {
+        return viewsource;
+    }
+
+    /**
+     * Set to true if text editor should allow users to edit/view HTML source
+     *
+     * @param viewsource is true if text editor should allow users to edit/view HTML source
+     */
+    public void setViewsource(boolean viewsource) {
+        this.viewsource = viewsource;
+    }
+
+    /**
+     * Returns the number of columns of the text area
+     *
+     * @return number of columns
+     */
+    public int getCols() {
+        return cols;
+    }
+
+    /**
+     * Sets the number of columns of the text area
+     *
+     * @param cols number of cols
+     */
+    public void setCols(int cols) {
+        this.cols = cols;
+    }
+
+    /**
+     * Return the number of rows of the text area
+     *
+     * @return number of rows
+     */
+    public int getRows() {
+        return rows;
+    }
+
+    /**
+     * Sets the number of rows of the text area
+     *
+     * @param rows number of rows
+     */
+    public void setRows(int rows) {
+        this.rows = rows;
+    }
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            textEditorBean = (TextEditorBean) getTagBean();
+            if (textEditorBean == null) {
+                textEditorBean = new TextEditorBean();
+                textEditorBean.setRows(rows);
+                textEditorBean.setCols(cols);
+                textEditorBean.setViewsource(viewsource);
+                this.setBaseComponentBean(textEditorBean);
+            } else {
+                if ((textEditorBean.getCols() == 0) && (cols != 0)) {
+                    textEditorBean.setCols(cols);
+                }
+                if ((textEditorBean.getRows() == 0) && (rows != 0)) {
+                    textEditorBean.setRows(rows);
+                }
+                this.updateBaseComponentBean(textEditorBean);
+                this.viewsource = textEditorBean.getViewsource();
+            }
+        } else {
+            textEditorBean = new TextEditorBean();
+            textEditorBean.setRows(rows);
+            textEditorBean.setCols(cols);
+            textEditorBean.setViewsource(viewsource);
+            this.setBaseComponentBean(textEditorBean);
+        }
+
+        textEditorBean.setAction(createActionURI());
+
+        //debug();
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textEditorBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        if ((bodyContent != null) && (value == null)) {
+            textEditorBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(textEditorBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        super.release();
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextFieldTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextFieldTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextFieldTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: TextFieldTag.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.provider.portletui.beans.ValidatorBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * A <code>TextFieldTag</code> represents a text field element
+ */
+public class TextFieldTag extends InputTag {
+
+    protected TextFieldBean textFieldBean = null;
+    protected int size = 0;
+    protected int maxlength = 0;
+
+    /**
+     * Returns the (html) size of the field
+     *
+     * @return size of the field
+     */
+    public int getSize() {
+        return size;
+    }
+
+    /**
+     * Sets the (html) size of the field
+     *
+     * @param size size of the field
+     */
+    public void setSize(int size) {
+        this.size = size;
+    }
+
+    /**
+     * Returns the (html) max length of the field
+     *
+     * @return the max length of the field
+     */
+    public int getMaxlength() {
+        return maxlength;
+    }
+
+    /**
+     * Sets the (html) max length of the field
+     *
+     * @param maxlength the max length of the field
+     */
+    public void setMaxlength(int maxlength) {
+        this.maxlength = maxlength;
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            textFieldBean = (TextFieldBean) getTagBean();
+            if (textFieldBean == null) {
+                //log.debug("Creating new text field bean");
+                textFieldBean = new TextFieldBean();
+                this.setBaseComponentBean(textFieldBean);
+            } else {
+                //log.debug("Using existing text field bean");
+                this.updateBaseComponentBean(textFieldBean);
+            }
+        } else {
+            textFieldBean = new TextFieldBean();
+            this.setBaseComponentBean(textFieldBean);
+        }
+        if (maxlength != 0) textFieldBean.setMaxLength(maxlength);
+        if (size != 0) textFieldBean.setSize(size);
+        if (onFocus != null) textFieldBean.setOnFocus(onFocus);
+        if (onClick != null) textFieldBean.setOnClick(onClick);
+        if (onChange != null) textFieldBean.setOnChange(onChange);
+        if (onBlur != null) textFieldBean.setOnBlur(onBlur);
+        if (onSelect != null) textFieldBean.setOnSelect(onBlur);
+
+        if (cssClass != null) textFieldBean.addCssClass(cssClass);
+        if (cssStyle != null) textFieldBean.addCssStyle(cssStyle);
+        //debug();
+        JspWriter out;
+
+        try {
+            out = pageContext.getOut();
+            out.print(textFieldBean.toStartString());
+            // print out validators, represented as hidden fields
+            if (!validatorBeans.isEmpty()) {
+                ValidatorBean validatorBean = null;
+                for (int i = 0; i < validatorBeans.size(); i++) {
+                    validatorBean = (ValidatorBean) validatorBeans.get(i);
+                    validatorBean.setName(textFieldBean.getEncodedName());
+                    out.print(validatorBean.toStartString());
+                }
+            }
+            validatorBeans.clear();
+            cssClass = null;
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        super.release();
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TextTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,155 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: TextTag.java 4883 2006-06-26 23:52:13Z novotny $
+ */
+
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.BaseComponentBean;
+import org.gridsphere.provider.portletui.beans.MessageStyle;
+import org.gridsphere.provider.portletui.beans.TextBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+import java.util.Locale;
+
+/**
+ * A <code>TextTag</code> represents text to be displayed
+ */
+public class TextTag extends BaseComponentTag {
+
+    protected TextBean textBean = null;
+    protected String style = MessageStyle.MSG_INFO;
+    protected String var = null;
+
+    /**
+     * Sets the name of the variable to export as a RenderURL object
+     *
+     * @param var the name of the variable to export as a RenderURL object
+     */
+    public void setVar(String var) {
+        this.var = var;
+    }
+
+    /**
+     * Returns the name of the exported RenderURL object
+     *
+     * @return the exported variable
+     */
+    public String getVar() {
+        return var;
+    }
+
+    /**
+     * Sets the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     *
+     * @param style the text style
+     */
+    public void setStyle(String style) {
+        this.style = style;
+    }
+
+    /**
+     * Returns the style of the text: Available styles are
+     * <ul>
+     * <li>nostyle</li>
+     * <li>error</li>
+     * <li>info</li>
+     * <li>status</li>
+     * <li>alert</li>
+     * <li>success</li>
+     * <li>bold</li>
+     * <li>italic</li>
+     * <li>underline</li>
+     *
+     * @return the text style
+     */
+    public String getStyle() {
+        return style;
+    }
+
+    protected void setBaseComponentBean(BaseComponentBean componentBean) {
+        super.setBaseComponentBean(componentBean);
+        if (style != null) ((TextBean) componentBean).setStyle(style);
+    }
+
+    protected void updateBaseComponentBean(BaseComponentBean componentBean) {
+        super.setBaseComponentBean(componentBean);
+        if (style != null && ((TextBean) componentBean).getStyle() == null) {
+            ((TextBean) componentBean).setStyle(style);
+        }
+    }
+
+    protected void overrideBaseComponentBean(BaseComponentBean componentBean) {
+        super.setBaseComponentBean(componentBean);
+        // 1st of property defined in tag put it in bean
+        //if (style != null) ((TextBean)componentBean).setStyle(style);
+        // 2nd if property exists in bean then use it
+        if (((TextBean) componentBean).getStyle() != null) {
+            style = ((TextBean) componentBean).getStyle();
+        } else {
+            ((TextBean) componentBean).setStyle(style);
+        }
+    }
+
+    public int doStartTag() throws JspException {
+        return EVAL_BODY_BUFFERED;
+    }
+
+    public int doEndTag() throws JspException {
+        if (!beanId.equals("")) {
+            textBean = (TextBean) getTagBean();
+            if (textBean == null) {
+                textBean = new TextBean();
+                this.setBaseComponentBean(textBean);
+            } else {
+                //this.overrideBaseComponentBean(textBean);
+                this.setBaseComponentBean(textBean);
+                textBean.setStyle(style);
+                key = textBean.getValue();
+            }
+        } else {
+            textBean = new TextBean();
+            this.setBaseComponentBean(textBean);
+            textBean.setStyle(style);
+            textBean.setCssClass(this.cssClass);
+            textBean.setCssStyle(this.cssStyle);
+        }
+
+        Locale locale = getLocale();
+        textBean.setLocale(locale);
+
+        if (key != null) {
+            textBean.setValue(getLocalizedText(key));
+        }
+
+
+        if ((this.getBodyContent() != null) && (value == null)) {
+            textBean.setValue(this.getBodyContent().getString());
+        }
+
+        if (var == null) {
+            try {
+                JspWriter out = pageContext.getOut();
+                out.print(textBean.toEndString());
+            } catch (Exception e) {
+                throw new JspException(e.getMessage());
+            }
+        } else {
+            if (key != null) value = getLocalizedText(key);
+            pageContext.setAttribute(var, value, PageContext.PAGE_SCOPE);
+        }
+        super.release();
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TooltipTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TooltipTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TooltipTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.TooltipBean;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+
+/**
+ * The <code>TableRowTag</code> represents a table row element that is conatined within a <code>TableTag</code>
+ * and itself may contain <code>TableCellTag</code>s
+ */
+public class TooltipTag extends BaseComponentTag {
+
+    public void release() {
+        super.release();
+    }
+
+    public int doStartTag() throws JspException {
+        JspWriter out;
+        if (key != null) value = getLocalizedText(key);
+        try {
+            out = pageContext.getOut();
+            TooltipBean tooltip = new TooltipBean();
+            RenderResponse res = (RenderResponse) pageContext.getAttribute("renderResponse");
+            tooltip.setRenderResponse(res);
+            tooltip.setId(id);
+            tooltip.setName(name);
+            tooltip.setValue(value);
+            out.print(tooltip.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+        return SKIP_BODY;
+    }
+
+    public int doEndTag() throws JspException {
+        release();
+        return EVAL_PAGE;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TreeTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TreeTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/TreeTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.provider.portletui.beans.TreeBean;
+
+import javax.portlet.RenderResponse;
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.PageContext;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class TreeTag extends ActionTag {
+
+    protected TreeBean treeBean = null;
+
+    public int doStartTag() throws JspException {
+        if (!beanId.equals("")) {
+            treeBean = (TreeBean) getTagBean();
+            if (treeBean == null) {
+                treeBean = new TreeBean();
+                this.setBaseComponentBean(treeBean);
+            } else {
+                this.updateBaseComponentBean(treeBean);
+
+            }
+        } else {
+            treeBean = new TreeBean();
+            this.setBaseComponentBean(treeBean);
+        }
+
+        treeBean.setAction(action);
+
+        RenderResponse res = (RenderResponse) pageContext.getAttribute(SportletProperties.RENDER_RESPONSE, PageContext.REQUEST_SCOPE);
+
+        treeBean.setPortletURL(res.createActionURL());
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(treeBean.toStartString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_BODY_INCLUDE;
+    }
+
+    public int doEndTag() throws JspException {
+
+        if ((bodyContent != null) && (value == null)) {
+            treeBean.setValue(bodyContent.getString());
+        }
+
+        try {
+            JspWriter out = pageContext.getOut();
+            out.print(treeBean.toEndString());
+        } catch (Exception e) {
+            throw new JspException(e.getMessage());
+        }
+
+        return EVAL_PAGE;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ValidatorTag.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ValidatorTag.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/ValidatorTag.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+package org.gridsphere.provider.portletui.tags;
+
+import org.gridsphere.provider.portletui.beans.ValidatorBean;
+
+import javax.servlet.jsp.JspException;
+import javax.servlet.jsp.tagext.Tag;
+
+/**
+ * A <code>TextTag</code> represents text to be displayed
+ */
+public class ValidatorTag extends BaseComponentTag {
+
+    protected ValidatorBean validatorBean = null;
+    protected String type = "";
+
+    /**
+     * Sets the validator type
+     *
+     * @param type the validator type
+     */
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    /**
+     * Returns the validator type
+     *
+     * @return the validator type
+     */
+    public String getType() {
+        return type;
+    }
+
+    public int doStartTag() throws JspException {
+        Tag parent = this.getParent();
+        if (parent instanceof TextFieldTag) {
+            TextFieldTag textField = (TextFieldTag) parent;
+            if (key != null) value = this.getLocalizedText(key);
+            String tfClass = type;
+            textField.addCssClass(tfClass + "#");
+            ValidatorBean validatorBean = new ValidatorBean();
+            validatorBean.setValue(value);
+            validatorBean.setType(type);
+            textField.addValidatorBean(validatorBean);
+        }
+        super.release();
+        return SKIP_BODY;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/tags/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>UI Tag Library</b>
+<p>
+The GridSphere UI Tag Library provides a collection of visual tags used to represent stylized HTML elements. Please
+consult the tutorials and slides from the GridSphere website for more information.
+The following tags are provided:
+<ul>
+<li>{@link org.gridsphere.provider.portletui.tags.ActionFormTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ActionLinkTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ActionParamTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ActionSubmitTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.CheckboxTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.FileFormTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.FileInputTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.FrameTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.HiddenFieldTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ImageTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ListBoxTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.ListBoxItemTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.PanelTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.PasswordTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.RadioButtonTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TableTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TableRowTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TableCellTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TextAreaTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TextFieldTag}</li>
+<li>{@link org.gridsphere.provider.portletui.tags.TextTag}</li>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/BaseValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/BaseValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/BaseValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseValidator.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.validator;
+
+public class BaseValidator implements Validator {
+
+    public boolean isValid() {
+        return true;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/LengthValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/LengthValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/LengthValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LengthValidator.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.validator;
+
+public class LengthValidator extends BaseValidator {
+
+    public boolean isValid() {
+        return true;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/RequiredValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/RequiredValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/RequiredValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: RequiredValidator.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.validator;
+
+public class RequiredValidator extends BaseValidator {
+
+    public boolean isValid() {
+        return true;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/StringRangeValidator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/StringRangeValidator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/StringRangeValidator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: StringRangeValidator.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.provider.portletui.validator;
+
+public class StringRangeValidator extends BaseValidator {
+
+    private int min = 0;
+    private int max = 30;
+    private String value = null;
+
+    public void setMinLength(int min) {
+        this.min = min;
+    }
+
+    public int getMinLength() {
+        return min;
+    }
+
+    public void setMaxLength(int max) {
+        this.max = max;
+    }
+
+    public int getMaxLength() {
+        return max;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public boolean isValid() {
+        /*
+        BaseTag input = (BaseTag)getParent();
+        String name = input.getName();
+        */
+        return true;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/Validator.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/Validator.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/Validator.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: novotny
+ * Date: Jan 14, 2003
+ * Time: 10:25:56 PM
+ * To change template for new interface use
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.provider.portletui.validator;
+
+public interface Validator {
+
+    public boolean isValid();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/provider/portletui/validator/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>UI Validator API</b>
+<p>
+The Validator classes are currently under development.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/CacheService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/CacheService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/CacheService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+/*
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: CacheService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.cache;
+
+
+
+/**
+ * Simple Cache service. Caches java objects with a String key and a timeout.
+ */
+public interface CacheService {
+
+    public static final String NO_CACHE = "org.gridsphere.services.core.cache.CacheService.NO_CACHE";
+
+    public void cache(String key, Object object, long timeout);
+
+    public void removeCached(String key);
+
+    public Object getCached(String key);
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl/CacheServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl/CacheServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/cache/impl/CacheServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+/**
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: CacheServiceImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.cache.impl;
+
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.cache.CacheService;
+
+import java.util.*;
+
+/**
+ * Simple CacheService implementation
+ */
+public class CacheServiceImpl implements PortletServiceProvider, CacheService {
+
+    private Map key2object = null;
+    private boolean isCachingOn = true;
+
+    private class CacheSweeperTask extends TimerTask {
+
+        public void run() {
+            clearExpiredEntries();
+        }
+
+    }
+
+    private static class CacheObject {
+        public String key;
+        public boolean rolling;
+        public long expiration;
+        public long delay;
+        public Object cached;
+
+        public CacheObject(String key, Object cached, long delay) {
+            this.key = key;
+            this.cached = cached;
+            this.delay = delay;
+            this.expiration = System.currentTimeMillis() + delay;
+        }
+
+        public void rollExpiration() {
+            if (rolling) {
+                this.expiration = System.currentTimeMillis() + delay;
+            }
+        }
+    }
+
+    public synchronized void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        String isCachingOnStr = config.getInitParameter("isCachingOn");
+        if (!isCachingOnStr.equals("true") &&
+                !isCachingOnStr.equals("t") &&
+                !isCachingOnStr.equals("yes") &&
+                !isCachingOnStr.equals("y")) {
+            isCachingOn = false;
+        }
+        
+        key2object = new HashMap();
+        Timer timer = new Timer(true);
+        timer.schedule(new CacheSweeperTask(),  Calendar.getInstance().getTime(), 1000 * 60 ); // 1 minute intervals
+
+    }
+
+    public synchronized void destroy() {
+        key2object.clear();
+    }
+
+    public synchronized void cache(String key, Object object, long timeout) {
+        if (isCachingOn)
+            key2object.put(key.intern(), new CacheObject(key.intern(), object, timeout));
+    }
+
+    public synchronized Object getCached(String key) {
+        if (isCachingOn) {
+            CacheObject cobj = (CacheObject) key2object.get(key.intern());
+            if (cobj != null) {
+                cobj.rollExpiration();
+                return cobj.cached;
+            }
+        }
+        return null;
+    }
+
+    protected synchronized void clearExpiredEntries() {
+        //log.debug("Updating render cache");
+        Set expiredKeys = new HashSet();
+        Iterator cacheIter = key2object.values().iterator();
+        long currentTime = System.currentTimeMillis();
+        while (cacheIter.hasNext()) {
+            CacheObject cobj = (CacheObject) cacheIter.next();
+            if ((cobj.delay > 0) && (cobj.expiration < currentTime)) {
+                expiredKeys.add(cobj.key);
+            }
+        }
+        Iterator keyIter = expiredKeys.iterator();
+        while (keyIter.hasNext()) {
+            key2object.remove(keyIter.next());
+        }
+    }
+
+    public synchronized void removeCached(String key) {
+        if (isCachingOn)
+            key2object.remove(key.intern());
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/ChartService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/ChartService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/ChartService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+package org.gridsphere.services.core.charts;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.services.core.secdir.FileLocationID;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version $Id: ChartService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public interface ChartService extends PortletService {
+    public FileLocationID createChartLocationID(String userID, String category, String fileName);
+    public String getChartUrl(FileLocationID fileLocationID);
+    public String getDownloadChartUrl(FileLocationID fileLocationID, String saveAs);
+    public ChartDescriptor createPieChart(FileLocationID fileLocationID, org.jfree.data.DefaultPieDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createPie3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultPieDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createBarChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createBar3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createStackedBarChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createStackedBar3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createAreaChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createStackedAreaChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createLineChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception;
+    public ChartDescriptor createGanttChart(FileLocationID fileLocationID, org.jfree.data.gantt.TaskSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createBarXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createAreaXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createLineXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createStepAreaXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createBarXYChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createTimeSeriesChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception;
+    public ChartDescriptor createStepXYChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception;
+    public void setChartDataset(FileLocationID fileLocationID, org.jfree.data.Dataset inDataset) throws IOException, Exception;
+    public void setChartDataset(FileLocationID fileLocationID, org.jfree.data.Dataset inDataset, long datasetTimeStamp) throws IOException, Exception;
+    public ChartDescriptor getChartDescriptor(FileLocationID fileLocationID) throws IOException, Exception;
+    public void setChartDescriptor(FileLocationID fileLocationID, ChartDescriptor inChartDescriptor) throws IOException, Exception;
+    public void setChartTitle(FileLocationID fileLocationID, String title) throws IOException, Exception;
+    
+    public String[] getChartList(FileLocationID fileLocationID);
+    public File getChartImageFile(FileLocationID fileLocationID) throws IOException, Exception;
+    public File getChartDataFile(FileLocationID fileLocationID) throws IOException, Exception;
+    public boolean deleteChart(FileLocationID fileLocationID) throws IOException, Exception;
+    public boolean deleteChart(FileLocationID fileLocationID, boolean deleteDataset) throws IOException, Exception;
+    public boolean chartExists(FileLocationID fileLocationID);    
+}


Property changes on: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/ChartService.java
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/DatasetUtilities.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/DatasetUtilities.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/DatasetUtilities.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,349 @@
+package org.gridsphere.services.core.charts;
+
+import org.exolab.castor.xml.MarshalException;
+import org.exolab.castor.xml.ValidationException;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version $Id: DatasetUtilities.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class DatasetUtilities {
+
+    public static org.jfree.data.DefaultPieDataset readDefaultPieDataset(File file) throws IOException, MarshalException, ValidationException {
+        FileReader reader = new FileReader(file);
+        DefaultPieDataset dataset = (DefaultPieDataset) DefaultPieDataset.unmarshal(reader);
+        reader.close();
+        org.jfree.data.DefaultPieDataset outDataset = new org.jfree.data.DefaultPieDataset();
+        for (int i = 0; i < dataset.getItemCount(); ++i) {
+            Item item = dataset.getItem(i);
+            if (item.getValue() != null)
+                outDataset.setValue(item.getKey(), Double.parseDouble(item.getValue()));
+            else
+                outDataset.setValue(item.getKey(), null);
+        }
+        return outDataset;
+    }
+
+    public static void writeDefaultPieDataset(File file, org.jfree.data.DefaultPieDataset inDataset) throws IOException, MarshalException, ValidationException {
+        DefaultPieDataset dataset = new DefaultPieDataset();
+        List keys = inDataset.getKeys();
+        for (int i = 0; i < keys.size(); i++) {
+            String key = (String) keys.get(i);
+            Number value = inDataset.getValue(key);
+            Item item = new Item();
+            item.setKey(key);
+            if(value!=null)
+                item.setValue(value.toString());
+            dataset.addItem(item);
+        }
+        FileWriter output = new FileWriter(file);
+        dataset.marshal(output);
+        output.flush();
+        output.close();
+    }
+
+    public static org.jfree.data.DefaultCategoryDataset readDefaultCategoryDataset(File file) throws IOException, MarshalException, ValidationException {
+        FileReader reader = new FileReader(file);
+        DefaultCategoryDataset dataset = (DefaultCategoryDataset) DefaultCategoryDataset.unmarshal(reader);
+        reader.close();
+        org.jfree.data.DefaultCategoryDataset outDataset = new org.jfree.data.DefaultCategoryDataset();
+        for (int i = 0; i < dataset.getSeriesCount(); ++i) {
+            Series serie = dataset.getSeries(i);
+            for (int j = 0; j < serie.getItemCount(); ++j) {
+                Item item = serie.getItem(j);
+                if (item.getValue() != null)
+                    outDataset.addValue(Double.parseDouble(item.getValue()), serie.getName(), item.getKey());
+                else
+                    outDataset.addValue(null, serie.getName(), item.getKey());
+            }
+        }
+        return outDataset;
+    }
+
+    public static void writeDefaultCategoryDataset(File file, org.jfree.data.DefaultCategoryDataset inDataset) throws IOException, MarshalException, ValidationException {
+        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+        List rowKeys = inDataset.getRowKeys();
+        List columnKeys = inDataset.getColumnKeys();
+        for (int i = 0; i < rowKeys.size(); i++) {
+            String rowKey = (String) rowKeys.get(i);
+            Series series = new Series();
+            series.setName(rowKey);
+            for (int j = 0; j < columnKeys.size(); j++) {
+                String columnKey = (String) columnKeys.get(j);
+                Number value = inDataset.getValue(rowKey, columnKey);
+                Item item = new Item();
+                item.setKey(columnKey);
+                if(value!=null)
+                    item.setValue(value.toString());
+                series.addItem(item);
+            }
+            dataset.addSeries(series);
+        }
+        FileWriter output = new FileWriter(file);
+        dataset.marshal(output);
+        output.flush();
+        output.close();
+    }
+
+    public static org.jfree.data.XYSeriesCollection readXYSeriesCollection(File file) throws IOException, ValidationException, MarshalException {
+        FileReader reader = new FileReader(file);
+        XYSeriesCollection dataset = (XYSeriesCollection) XYSeriesCollection.unmarshal(reader);
+        reader.close();
+        org.jfree.data.XYSeriesCollection outDataset = new org.jfree.data.XYSeriesCollection();
+        if (dataset.hasIntervalWidth())
+            outDataset.setIntervalWidth(dataset.getIntervalWidth());
+        if (dataset.hasIntervalPositionFactor())
+            outDataset.setIntervalPositionFactor(dataset.getIntervalPositionFactor());
+        if (dataset.hasAutoWidth())
+            outDataset.setAutoWidth(dataset.getAutoWidth());
+        Enumeration series = dataset.enumerateXYSeries();
+        while (series.hasMoreElements()) {
+            XYSeries serie = (XYSeries) series.nextElement();
+            org.jfree.data.XYSeries outSeries = new org.jfree.data.XYSeries(serie.getName());
+            if (serie.hasMaximumItemCount())
+                outSeries.setMaximumItemCount(serie.getMaximumItemCount());
+            if (serie.getDescription() != null)
+                outSeries.setDescription(serie.getDescription());
+            for (int i = 0; i < serie.getXYSeriesItemCount(); ++i) {
+                XYSeriesItem item = serie.getXYSeriesItem(i);
+                if (item.hasYValue())
+                    outSeries.add(item.getXValue(), item.getYValue());
+                else
+                    outSeries.add(item.getXValue(), null);
+            }
+            outDataset.addSeries(outSeries);
+        }
+        return outDataset;
+    }
+
+    public static void writeXYSeriesCollection(File file, org.jfree.data.XYSeriesCollection inDataset) throws IOException, MarshalException, ValidationException {
+        XYSeriesCollection dataset = new XYSeriesCollection();
+        dataset.setIntervalWidth(inDataset.getIntervalWidth());
+        dataset.setIntervalPositionFactor(inDataset.getIntervalPositionFactor());
+        dataset.setAutoWidth(inDataset.isAutoWidth());
+        for (int i = 0; i < inDataset.getSeriesCount(); ++i) {
+            String name = inDataset.getSeriesName(i);
+            String description = inDataset.getSeries(i).getDescription();
+            int maximumItemCount = inDataset.getSeries(i).getMaximumItemCount();
+            XYSeries series = new XYSeries();
+            if (description != null)
+                series.setDescription(description);
+            if (maximumItemCount != Integer.MAX_VALUE)
+                series.setMaximumItemCount(maximumItemCount);
+            series.setName(name);
+            for (int j = 0; j < inDataset.getItemCount(i); ++j) {
+                XYSeriesItem item = new XYSeriesItem();
+                item.setXValue(inDataset.getXValue(i, j).doubleValue());
+                if (inDataset.getYValue(i, j) != null)
+                    item.setYValue(inDataset.getYValue(i, j).doubleValue());
+                series.addXYSeriesItem(item);
+            }
+            dataset.addXYSeries(series);
+        }
+        FileWriter output = new FileWriter(file);
+        dataset.marshal(output);
+        output.flush();
+        output.close();
+    }
+
+    public static org.jfree.data.time.TimeSeriesCollection readTimeSeriesCollection(File file) throws IOException, MarshalException, ValidationException, org.jfree.data.SeriesException {
+        FileReader reader = new FileReader(file);
+        TimeSeriesCollection dataset = (TimeSeriesCollection) TimeSeriesCollection.unmarshal(reader);
+        reader.close();
+        org.jfree.data.time.TimeSeriesCollection outDataset = new org.jfree.data.time.TimeSeriesCollection();
+        String xPosition = dataset.getXPosition();
+        if (xPosition != null)
+            outDataset.setXPosition(xPosition.equals("TimePeriodAnchor.START") ?
+                    org.jfree.data.time.TimePeriodAnchor.START : (
+                    xPosition.equals("TimePeriodAnchor.END") ?
+                    org.jfree.data.time.TimePeriodAnchor.END :
+                    org.jfree.data.time.TimePeriodAnchor.MIDDLE
+                    ));
+        if (dataset.hasDomainIsPointsInTime())
+            outDataset.setDomainIsPointsInTime(dataset.getDomainIsPointsInTime());
+        Enumeration series = dataset.enumerateTimeSeries();
+        while (series.hasMoreElements()) {
+            TimeSeries serie = (TimeSeries) series.nextElement();
+            org.jfree.data.time.TimeSeries outSeries = null;
+            long milliseconds = serie.getTimeSeriesItem(0).getEnd() - serie.getTimeSeriesItem(0).getStart();
+            String className = "org.jfree.data.time.";
+            if (milliseconds == (long) 999) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Second.class);
+                className += "Second";
+            } else if (milliseconds == (long) 60 * 1000 - 1) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Minute.class);
+                className += "Minute";
+            } else if (milliseconds == (long) 60 * 60 * 1000 - 1) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Hour.class);
+                className += "Hour";
+            } else if (milliseconds == (long) 24 * 60 * 60 * 1000 - 1) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Day.class);
+                className += "Day";
+            } else if (milliseconds == (long) 7 * 24 * 60 * 60 * 1000 - 1) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Week.class);
+                className += "Week";
+            } else if ((long) 27 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 32 * 24 * 60 * 60 * 1000) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Month.class);
+                className += "Month";
+            } else if ((long) 88 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 93 * 24 * 60 * 60 * 1000) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Quarter.class);
+                className += "Quarter";
+            } else if ((long) 363 * 24 * 60 * 60 * 1000 < milliseconds && milliseconds < (long) 366 * 24 * 60 * 60 * 1000) {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.Year.class);
+                className += "Year";
+            } else {
+                outSeries = new org.jfree.data.time.TimeSeries(serie.getName(), org.jfree.data.time.FixedMillisecond.class);
+                className += "FixedMillisecond";
+            }
+            if (serie.hasMaximumItemCount())
+                outSeries.setMaximumItemCount(serie.getMaximumItemCount());
+            if (serie.hasHistoryCount())
+                outSeries.setHistoryCount(serie.getHistoryCount());
+            if (serie.getDescription() != null)
+                outSeries.setDescription(serie.getDescription());
+            if (serie.getDomainDescription() != null)
+                outSeries.setDomainDescription(serie.getDomainDescription());
+            if (serie.getRangeDescription() != null)
+                outSeries.setRangeDescription(serie.getRangeDescription());
+            for (int i = 0; i < serie.getTimeSeriesItemCount(); ++i) {
+                TimeSeriesItem item = serie.getTimeSeriesItem(i);
+                try {
+                    if (item.hasValue())
+                        outSeries.add((org.jfree.data.time.RegularTimePeriod) Class.forName(className).getConstructor(new Class[]{Date.class}).newInstance(new Object[]{new Date(item.getStart())}),
+                                item.getValue());
+                    else
+                        outSeries.add((org.jfree.data.time.RegularTimePeriod) Class.forName(className).getConstructor(new Class[]{Date.class}).newInstance(new Object[]{new Date(item.getStart())}),
+                                null);
+                } catch (NoSuchMethodException e) {
+                } catch (IllegalAccessException e) {
+                } catch (InvocationTargetException e) {
+                } catch (ClassNotFoundException e) {
+                } catch (InstantiationException e) {
+                }
+            }
+            outDataset.addSeries(outSeries);
+        }
+        return outDataset;
+    }
+
+    public static void writeTimeSeriesCollection(File file, org.jfree.data.time.TimeSeriesCollection inDataset) throws IOException, MarshalException, ValidationException {
+        TimeSeriesCollection dataset = new TimeSeriesCollection();
+        dataset.setXPosition(inDataset.getXPosition().toString());
+        dataset.setDomainIsPointsInTime(inDataset.getDomainIsPointsInTime());
+        for (int i = 0; i < inDataset.getSeriesCount(); ++i) {
+            org.jfree.data.time.TimeSeries serie = inDataset.getSeries(i);
+            String name = serie.getName();
+            TimeSeries series = new TimeSeries();
+            series.setName(name);
+            String description = serie.getDescription();
+            String rangeDescription = serie.getRangeDescription();
+            String domainDescription = serie.getDomainDescription();
+            int maximumItemCount = serie.getMaximumItemCount();
+            int historyCount = serie.getHistoryCount();
+            if (description != null)
+                series.setDescription(description);
+            if (rangeDescription != null)
+                series.setRangeDescription(rangeDescription);
+            if (domainDescription != null)
+                series.setDomainDescription(domainDescription);
+            if (maximumItemCount != Integer.MAX_VALUE)
+                series.setMaximumItemCount(maximumItemCount);
+            if (historyCount != 0)
+                series.setHistoryCount(historyCount);
+            for (int j = 0; j < inDataset.getItemCount(i); ++j) {
+                org.jfree.data.time.TimeSeriesDataItem inItem = serie.getDataItem(j);
+                TimeSeriesItem item = new TimeSeriesItem();
+                item.setStart(inItem.getPeriod().getStart().getTime());
+                item.setEnd(inItem.getPeriod().getEnd().getTime());
+                if (inItem.getValue() != null)
+                    item.setValue(inItem.getValue().doubleValue());
+                series.addTimeSeriesItem(item);
+            }
+            dataset.addTimeSeries(series);
+        }
+        FileWriter output = new FileWriter(file);
+        dataset.marshal(output);
+        output.flush();
+        output.close();
+    }
+
+    public static org.jfree.data.gantt.TaskSeriesCollection readTaskSeriesCollection(File file) throws IOException, MarshalException, ValidationException{
+        FileReader reader = new FileReader(file);
+        TaskSeriesCollection dataset = (TaskSeriesCollection) TaskSeriesCollection.unmarshal(reader);
+        reader.close();
+        org.jfree.data.gantt.TaskSeriesCollection outDataset = new org.jfree.data.gantt.TaskSeriesCollection();
+        Enumeration series=dataset.enumerateTaskSeries();
+        while (series.hasMoreElements()) {
+            TaskSeries serie =  (TaskSeries) series.nextElement();
+            org.jfree.data.gantt.TaskSeries outSeries=new org.jfree.data.gantt.TaskSeries(serie.getName());
+            for(int j=0; j<serie.getTaskCount();++j){
+                Task task=serie.getTask(j);
+                org.jfree.data.gantt.Task outTask=new org.jfree.data.gantt.Task(task.getDescription(),
+                        new Date(task.getDuration().getStart()),
+                        new Date(task.getDuration().getEnd())
+                );
+                if(task.hasPercentComplete())
+                    outTask.setPercentComplete(task.getPercentComplete());
+                for(int k=0; k<task.getSubtaskCount();++k){
+                    Subtask subtask=task.getSubtask(k);
+                    org.jfree.data.gantt.Task outSubtask=new org.jfree.data.gantt.Task(task.getDescription(),
+                        new Date(subtask.getDuration().getStart()),
+                        new Date(subtask.getDuration().getEnd())
+                    );
+                    if(subtask.hasPercentComplete())
+                        outSubtask.setPercentComplete(subtask.getPercentComplete());
+                    outTask.addSubtask(outSubtask);
+                }
+                outSeries.add(outTask);
+            }
+            outDataset.add(outSeries);
+        }
+        return outDataset;
+    }
+
+    public static void writeTaskSeriesCollection(File file, org.jfree.data.gantt.TaskSeriesCollection inDataset) throws IOException, MarshalException, ValidationException{
+        TaskSeriesCollection dataset=new TaskSeriesCollection();
+        for(int i=0; i<inDataset.getRowCount();++i){
+            String serieName=inDataset.getSeriesName(i);
+            TaskSeries series=new TaskSeries();
+            series.setName(serieName);
+            for(int j=0; j<inDataset.getColumnCount();++j){
+                Task task=new Task();
+                task.setDescription((String) inDataset.getColumnKey(j));
+                for(int k=0;k<inDataset.getSubIntervalCount(i,j);++k){
+                    Subtask subtask=new Subtask();
+                    subtask.setDescription((String) inDataset.getColumnKey(j));
+                    if(inDataset.getPercentComplete(i,j,k)!=null)
+                        subtask.setPercentComplete(inDataset.getPercentComplete(i,j,k).doubleValue());
+                    Duration duration=new Duration();
+                    duration.setStart(inDataset.getStartValue(i,j,k).longValue());
+                    duration.setEnd(inDataset.getEndValue(i,j,k).longValue());
+                    subtask.setDuration(duration);
+                    task.addSubtask(subtask);
+                }
+                if(inDataset.getPercentComplete(i,j)!=null)
+                    task.setPercentComplete(inDataset.getPercentComplete(i,j).doubleValue());
+                Duration duration=new Duration();
+                duration.setStart(inDataset.getStartValue(i,j).longValue());
+                duration.setEnd(inDataset.getEndValue(i,j).longValue());
+                task.setDuration(duration);
+                series.addTask(task);
+            }
+            dataset.addTaskSeries(series);
+        }
+        FileWriter output = new FileWriter(file);
+        dataset.marshal(output);
+        output.flush();
+        output.close();
+    }
+}


Property changes on: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/DatasetUtilities.java
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/ChartServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/ChartServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/ChartServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,686 @@
+package org.gridsphere.services.core.charts.impl;
+
+import org.apache.oro.text.perl.Perl5Util;
+import org.exolab.castor.xml.MarshalException;
+import org.exolab.castor.xml.ValidationException;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.charts.*;
+import org.gridsphere.services.core.secdir.FileLocationID;
+import org.gridsphere.services.core.secdir.SecureDirectoryService;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version $Id: ChartServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+
+public class ChartServiceImpl implements ChartService, PortletServiceProvider {
+    private boolean inited = false;
+    private SecureDirectoryService secureDirectoryService;
+    private static final String CHART_SERVICE_DIRECTORY = "_chart_service_directory_";
+    private Perl5Util util = new Perl5Util();
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        if (!inited) {
+            System.setProperty("java.awt.headless", "true");
+            try {
+                secureDirectoryService = (SecureDirectoryService)PortletServiceFactory.createPortletService(SecureDirectoryService.class, true);
+            } catch (PortletServiceException e) {
+                throw new PortletServiceUnavailableException("Unable to get instance of SecureDirectoryService!", e);
+            }
+	    inited = true;
+        }
+    }
+
+    public void destroy() {
+    }
+
+    public String getChartUrl(FileLocationID fileLocationID) {
+        return getDownloadChartUrl(fileLocationID, null);
+    }
+
+    public String getDownloadChartUrl(FileLocationID fileLocationID, String saveAs) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        String chartUrl = null;
+        try {
+            refreshChart(fileLocationID);
+            ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+            Image imageInfo = chartDescriptor.getFileInfo().getImage();
+            chartUrl = (saveAs != null ? secureDirectoryService.getDownloadFileUrl(secureDirectoryService.createFileLocationID(userID,
+                    imageInfo.getAppName(),
+                    imageInfo.getFilename() + (imageInfo.getType().equals("JPEG") ? ".jpeg" : ".png")),
+                    saveAs,
+                    null) :
+                    secureDirectoryService.getFileUrl(secureDirectoryService.createFileLocationID(userID,
+                            imageInfo.getAppName(),
+                            imageInfo.getFilename() + (imageInfo.getType().equals("JPEG") ? ".jpeg" : ".png"))));
+        } catch (Exception e) {
+        }
+        return chartUrl;
+    }
+
+    public ChartDescriptor createPieChart(FileLocationID fileLocationID, org.jfree.data.DefaultPieDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Pie");
+    }
+
+    public ChartDescriptor createPie3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultPieDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Pie3D");
+    }
+
+    public ChartDescriptor createBarChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Bar");
+    }
+
+    public ChartDescriptor createBar3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Bar3D");
+    }
+
+    public ChartDescriptor createStackedBarChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "StackedBar");
+    }
+
+    public ChartDescriptor createStackedBar3DChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "StackedBar3D");
+    }
+
+    public ChartDescriptor createAreaChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Area");
+    }
+
+    public ChartDescriptor createStackedAreaChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "StackedArea");
+    }
+
+    public ChartDescriptor createLineChart(FileLocationID fileLocationID, org.jfree.data.DefaultCategoryDataset dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Line");
+    }
+
+    public ChartDescriptor createGanttChart(FileLocationID fileLocationID, org.jfree.data.gantt.TaskSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "Gantt");
+    }
+
+    public ChartDescriptor createBarXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "BarXY");
+    }
+
+    public ChartDescriptor createAreaXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "AreaXY");
+    }
+
+    public ChartDescriptor createLineXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "LineXY");
+    }
+
+    public ChartDescriptor createStepAreaXYChart(FileLocationID fileLocationID, org.jfree.data.XYSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "StepAreaXY");
+    }
+
+    public ChartDescriptor createBarXYChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "BarXY");
+    }
+
+    public ChartDescriptor createTimeSeriesChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "TimeSeries");
+    }
+
+    public ChartDescriptor createStepXYChart(FileLocationID fileLocationID, org.jfree.data.time.TimeSeriesCollection dataset) throws IOException, Exception {
+        return createChart(fileLocationID, dataset, "StepXY");
+    }
+
+    private ChartDescriptor createChart(FileLocationID fileLocationID, org.jfree.data.Dataset dataset, String type) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        if (appName.equals(CHART_SERVICE_DIRECTORY))
+            throw new IOException("AppName collides with internal chart service directory !!!");
+        ChartDescriptor chartDescriptor = null;
+        try {
+            chartDescriptor = createChartDescriptor(userID, appName, resource, type, dataset);
+            writeChartDescriptor(userID, appName, resource, chartDescriptor);
+        } catch (MarshalException e) {
+            throw new Exception("Unable to write create chart description file (MarshalException).", e);
+        } catch (ValidationException e) {
+            throw new Exception("Unable to write create chart description file (ValidationException).", e);
+        }
+        chartDescriptor.getChartInfo().setRefresh(true);
+        return chartDescriptor;
+    }
+
+    public void setChartDataset(FileLocationID fileLocationID, org.jfree.data.Dataset inDataset, long datasetTimeStamp) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        if (chartDescriptor.getFileInfo().getDataset().getTimestamp() < datasetTimeStamp)
+            setChartDataset(fileLocationID, inDataset);
+    }
+
+    public void setChartDataset(FileLocationID fileLocationID, org.jfree.data.Dataset inDataset) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        String datasetType = chartDescriptor.getFileInfo().getDataset().getType();
+        if (!inDataset.getClass().getName().equals(datasetType))
+            throw new Exception("Incompatibile dataset type (" + datasetType + ") expected.");
+        writeDataset(userID, appName, resource, inDataset);
+        chartDescriptor.getFileInfo().getDataset().setTimestamp(new Date().getTime());
+        chartDescriptor.getChartInfo().setRefresh(true);
+        writeChartDescriptor(userID, appName, resource, chartDescriptor);
+    }
+
+    public void setChartDescriptor(FileLocationID fileLocationID, ChartDescriptor inChartDescriptor) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = getChartDescriptor(fileLocationID);
+        Image inChartImage = inChartDescriptor.getFileInfo().getImage();
+        Image chartImage = chartDescriptor.getFileInfo().getImage();
+        if (!inChartImage.getAppName().equals(chartImage.getAppName()) ||
+                !inChartImage.getFilename().equals(chartImage.getFilename()) ||
+                !inChartImage.getType().equals(chartImage.getType())) {
+            try {
+                getChartImageFile(fileLocationID).delete();
+            } catch (Exception e) {
+                getChartImageFile(fileLocationID).deleteOnExit();
+            }
+            inChartDescriptor.getChartInfo().setRefresh(true);
+        }
+        Dataset inDataset = inChartDescriptor.getFileInfo().getDataset();
+        Dataset dataset = chartDescriptor.getFileInfo().getDataset();
+        if (!inDataset.getAppName().equals(dataset.getAppName()) ||
+                !inDataset.getFilename().equals(dataset.getFilename())) {
+            inDataset.setTimestamp(new Date().getTime());
+            inChartDescriptor.getChartInfo().setRefresh(true);
+        }
+//        inChartDescriptor.getChartInfo().setRefresh(true); - in getChartDescriptor(String userID, String appName, String resource) - allows to change chart settings, and refresh chart after first dataset change
+        writeChartDescriptor(userID, appName, resource, inChartDescriptor);
+    }
+
+    public ChartDescriptor getChartDescriptor(FileLocationID fileLocationID) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        chartDescriptor.getChartInfo().setRefresh(true);
+        return chartDescriptor;
+    }
+
+    public void setChartTitle(FileLocationID fileLocationID, String title) throws IOException, Exception {
+        ChartDescriptor chartDescriptor = getChartDescriptor(fileLocationID);
+        chartDescriptor.getChartInfo().setTitle(title);
+        setChartDescriptor(fileLocationID, chartDescriptor);
+    }
+
+    public String[] getChartList(FileLocationID fileLocationID) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String path = fileLocationID.getFilePath();
+        org.gridsphere.services.core.secdir.FileInfo resourceLists[] = secureDirectoryService.getFileList(secureDirectoryService.createFileLocationID(userID, CHART_SERVICE_DIRECTORY, appName + "/" + path));
+        int count = 0;
+        if (resourceLists == null)
+            return null;
+        for (int i = 0; i < resourceLists.length; ++i) {
+            if (!resourceLists[i].isDirectory())
+                ++count;
+        }
+        String chartList[] = new String[count];
+        count = 0;
+        for (int i = 0; i < resourceLists.length; ++i) {
+            if (!resourceLists[i].isDirectory()) {
+                String resource = resourceLists[i].getResource();
+                resource = util.substitute("s/\\.xml$//", resource);
+                chartList[count++] = resource;
+            }
+        }
+        return chartList;
+    }
+
+    public File getChartImageFile(FileLocationID fileLocationID) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        refreshChart(fileLocationID);
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        Image imageInfo = chartDescriptor.getFileInfo().getImage();
+        return secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID,
+                imageInfo.getAppName(),
+                imageInfo.getFilename() + (imageInfo.getType().equals("JPEG") ? ".jpeg" : ".png")));
+    }
+
+    public File getChartDataFile(FileLocationID fileLocationID) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        Dataset datasetInfo = chartDescriptor.getFileInfo().getDataset();
+        return secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID,
+                datasetInfo.getAppName(),
+                datasetInfo.getFilename() + ".xml"));
+    }
+
+    public boolean deleteChart(FileLocationID fileLocationID) throws IOException, Exception {
+        return deleteChart(fileLocationID, false);
+    }
+
+    public boolean deleteChart(FileLocationID fileLocationID, boolean deleteDataset) throws IOException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        Image imageInfo = chartDescriptor.getFileInfo().getImage();
+        secureDirectoryService.deleteFile(secureDirectoryService.createFileLocationID(userID,
+                imageInfo.getAppName(),
+                imageInfo.getFilename() + (imageInfo.getType().equals("JPEG") ? ".jpeg" : ".png")),
+                true,
+                true);
+        if (deleteDataset) {
+            Dataset dataset = chartDescriptor.getFileInfo().getDataset();
+            secureDirectoryService.deleteFile(secureDirectoryService.createFileLocationID(userID,
+                    dataset.getAppName(),
+                    dataset.getFilename() + ".xml"),
+                    true,
+                    true);
+        }
+        return secureDirectoryService.deleteFile(secureDirectoryService.createFileLocationID(userID, CHART_SERVICE_DIRECTORY, appName + "/" + resource + ".xml"), true, true);
+    }
+
+    public FileLocationID createChartLocationID(String userID, String category, String fileName) {
+        return new FileLocationID(userID, category, fileName);
+    }
+
+    public boolean chartExists(FileLocationID fileLocationID) {
+        File file = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(fileLocationID.getUserID(), CHART_SERVICE_DIRECTORY, fileLocationID.getCategory() + "/" + fileLocationID.getFilePath() + ".xml"));
+        return file.exists();
+    }
+
+    private boolean refreshChart(FileLocationID fileLocationID) throws IOException, MarshalException, ValidationException, Exception {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        ChartDescriptor chartDescriptor = readChartDescriptor(userID, appName, resource);
+        if (chartDescriptor.getChartInfo().getRefresh() == false) {
+            Image imageInfo = chartDescriptor.getFileInfo().getImage();
+//            File imageFile = getChartImageFile(userID, appName, resource);
+            Dataset datasetInfo = chartDescriptor.getFileInfo().getDataset();
+            File datasetFile = getChartDataFile(fileLocationID);
+            if ((imageInfo.getTimestamp() > datasetInfo.getTimestamp()) && (imageInfo.getTimestamp() >= datasetFile.lastModified()))
+                return false;
+        }
+        org.jfree.data.Dataset dataset = readDataset(userID, chartDescriptor.getFileInfo().getDataset().getAppName(), resource, chartDescriptor.getFileInfo().getDataset().getType());
+        org.jfree.chart.JFreeChart chart = null;
+        ChartInfo chartInfo = chartDescriptor.getChartInfo();
+        try {
+            if (chartInfo.getType().equals("Pie")) {
+                chart = org.jfree.chart.ChartFactory.createPieChart(chartInfo.getTitle(),
+                        (org.jfree.data.DefaultPieDataset) dataset,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("Pie3D")) {
+                chart = org.jfree.chart.ChartFactory.createPieChart3D(chartInfo.getTitle(),
+                        (org.jfree.data.DefaultPieDataset) dataset,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("Bar")) {
+                chart = org.jfree.chart.ChartFactory.createBarChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("Bar3D")) {
+                chart = org.jfree.chart.ChartFactory.createBarChart3D(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("StackedBar")) {
+                chart = org.jfree.chart.ChartFactory.createStackedBarChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("StackedBar3D")) {
+                chart = org.jfree.chart.ChartFactory.createStackedBarChart3D(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("BarXY")) {
+                if (dataset instanceof org.jfree.data.XYSeriesCollection)
+                    chart = org.jfree.chart.ChartFactory.createXYBarChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            false,
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.XYSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+                else
+                    chart = org.jfree.chart.ChartFactory.createXYBarChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            true,
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.time.TimeSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+            } else if (chartInfo.getType().equals("Area")) {
+                chart = org.jfree.chart.ChartFactory.createAreaChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("StackedArea")) {
+                chart = org.jfree.chart.ChartFactory.createStackedAreaChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("AreaXY")) {
+                chart = org.jfree.chart.ChartFactory.createXYAreaChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.XYSeriesCollection) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("Gantt")) {
+                chart = org.jfree.chart.ChartFactory.createGanttChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.gantt.TaskSeriesCollection) dataset,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("Line")) {
+                chart = org.jfree.chart.ChartFactory.createLineChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.DefaultCategoryDataset) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("LineXY")) {
+                chart = org.jfree.chart.ChartFactory.createXYLineChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.XYSeriesCollection) dataset,
+                        chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                        org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                        org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("TimeSeries")) {
+                chart = org.jfree.chart.ChartFactory.createTimeSeriesChart(chartInfo.getTitle(),
+                        chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                        chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                        (org.jfree.data.time.TimeSeriesCollection) dataset,
+                        chartInfo.getLegend(),
+                        false,
+                        false);
+            } else if (chartInfo.getType().equals("StepXY")) {
+                if (dataset instanceof org.jfree.data.XYSeriesCollection)
+                    chart = org.jfree.chart.ChartFactory.createXYStepChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.XYSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+                else
+                    chart = org.jfree.chart.ChartFactory.createXYStepChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.time.TimeSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+            } else if (chartInfo.getType().equals("StepAreaXY")) {
+                if (dataset instanceof org.jfree.data.XYSeriesCollection)
+                    chart = org.jfree.chart.ChartFactory.createXYStepAreaChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.XYSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+                else
+                    chart = org.jfree.chart.ChartFactory.createXYStepAreaChart(chartInfo.getTitle(),
+                            chartInfo.getPlot().getSettings().getCategory().getDomainAxisLabel(),
+                            chartInfo.getPlot().getSettings().getCategory().getRangeAxisLabel(),
+                            (org.jfree.data.time.TimeSeriesCollection) dataset,
+                            chartInfo.getPlot().getSettings().getCategory().getPlotOrientation().equals("PlotOrientation.HORIZONTAL") ?
+                            org.jfree.chart.plot.PlotOrientation.HORIZONTAL :
+                            org.jfree.chart.plot.PlotOrientation.VERTICAL,
+                            chartInfo.getLegend(),
+                            false,
+                            false);
+            }
+        } catch (ClassCastException e) {
+            throw new Exception("Incorrect dataset type.");
+        }
+        if (chartInfo.getBackgroundPaint() != null)
+            chart.setBackgroundPaint(createPaint(chartInfo.getBackgroundPaint()));
+        if (chartInfo.getSubtitle() != null)
+            chart.addSubtitle(new org.jfree.chart.title.TextTitle(chartInfo.getSubtitle().getText(),
+                    chartInfo.getSubtitle().getFont() != null ? createFont(chartInfo.getSubtitle().getFont()) : new java.awt.Font("Serif", java.awt.Font.PLAIN, 10)));
+        Plot plotInfo = chartInfo.getPlot();
+        org.jfree.chart.plot.Plot plot = chart.getPlot();
+        if (plotInfo.getBackgroundPaint() != null)
+            plot.setBackgroundPaint(createPaint(plotInfo.getBackgroundPaint()));
+        plot.setNoDataMessage(plotInfo.getNoDataMessage().getValue());
+        plot.setNoDataMessageFont(createFont(plotInfo.getNoDataMessage().getFont()));
+        plot.setNoDataMessagePaint(createPaint(plotInfo.getNoDataMessage().getPaint()));
+        plot.setForegroundAlpha(plotInfo.getForegroundAlpha());
+        try {
+            for (int i = 0; i < plotInfo.getSeriesPaintCount(); ++i) {
+                if (chartDescriptor.getFileInfo().getDataset().getType().equals("org.jfree.data.DefaultPieDataset"))
+                    ((org.jfree.chart.plot.PiePlot) chart.getPlot()).setSectionPaint(i, createPaint(plotInfo.getSeriesPaint(i)));
+                else if (chartDescriptor.getFileInfo().getDataset().getType().equals("org.jfree.data.DefaultCategoryDataset") || chartDescriptor.getFileInfo().getDataset().getType().equals("org.jfree.data.gantt.TaskSeriesCollection"))
+                    chart.getCategoryPlot().getRenderer().setSeriesPaint(i, createPaint(plotInfo.getSeriesPaint(i)));
+                else if (chartDescriptor.getFileInfo().getDataset().getType().equals("org.jfree.data.XYSeriesCollection") || chartDescriptor.getFileInfo().getDataset().getType().equals("org.jfree.data.time.TimeSeriesCollection"))
+                    chart.getXYPlot().getRenderer().setSeriesPaint(i, createPaint(plotInfo.getSeriesPaint(i)));
+            }
+        } catch (ClassCastException e) {
+        }
+        if (plotInfo.getSettings().getPie() != null)
+            try {
+                ((org.jfree.chart.plot.PiePlot) plot).setLabelGenerator(new org.jfree.chart.labels.StandardPieItemLabelGenerator(plotInfo.getSettings().getPie().getLabelGenerator()));
+            } catch (ClassCastException e) {
+            }
+        Image image = chartDescriptor.getFileInfo().getImage();
+        if (image.getType().equals("JPEG")) {
+            File chartFile = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, image.getAppName(), image.getFilename() + ".jpeg"));
+            if (chartFile == null) throw new IOException("Cannot create chartfile");
+            org.jfree.chart.ChartUtilities.saveChartAsJPEG(chartFile, image.getQuality(), chart, image.getWidth(), image.getHeight());
+        } else if (image.getType().equals("PNG")) {
+            File chartFile = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, image.getAppName(), image.getFilename() + ".png"));
+            if (chartFile == null) throw new IOException("Cannot create chartfile");
+            org.jfree.chart.ChartUtilities.saveChartAsPNG(chartFile, chart, image.getWidth(), image.getHeight());
+        } else
+            throw new IOException("Image type (" + image.getType() + ") is not supported.");
+        chartDescriptor.getFileInfo().getImage().setTimestamp(new Date().getTime());
+        chartDescriptor.getChartInfo().setRefresh(false);
+        writeChartDescriptor(userID, appName, resource, chartDescriptor);
+        return true;
+    }
+
+    private java.awt.Paint createPaint(PaintType paint) {
+        if (paint.getColor() != null)
+            return new java.awt.Color(paint.getColor().getRed(), paint.getColor().getGreen(), paint.getColor().getBlue());
+        GradientPoint gradientPoint0 = paint.getGradient().getGradientPoint(0);
+        GradientPoint gradientPoint1 = paint.getGradient().getGradientPoint(1);
+        return new java.awt.GradientPaint(gradientPoint0.getX(), gradientPoint0.getY(), new java.awt.Color(gradientPoint0.getColor().getRed(), gradientPoint0.getColor().getGreen(), gradientPoint0.getColor().getBlue()),
+                gradientPoint1.getX(), gradientPoint1.getY(), new java.awt.Color(gradientPoint1.getColor().getRed(), gradientPoint1.getColor().getGreen(), gradientPoint1.getColor().getBlue()));
+    }
+
+    private java.awt.Font createFont(FontType font) {
+        return new java.awt.Font(font.getFamily(), font.getStyle(), font.getSize());
+    }
+
+    private ChartDescriptor createChartDescriptor(String userID, String appName, String resource, String type, org.jfree.data.Dataset inDataset) throws IOException, Exception {
+        writeDataset(userID, appName, resource, inDataset);
+        Image image = new Image();
+        image.setAppName(appName);
+        image.setFilename(resource);
+        image.setTimestamp(0);
+        Dataset dataset = new Dataset();
+        dataset.setAppName(appName);
+        dataset.setFilename(resource);
+        dataset.setType(inDataset.getClass().getName());
+        dataset.setTimestamp(new Date().getTime());
+        FileInfo fileInfo = new FileInfo();
+        fileInfo.setImage(image);
+        fileInfo.setDataset(dataset);
+        NoDataMessage noDataMessage = new NoDataMessage();
+        Color color = new Color();
+        color.setRed(255);
+        Paint paint = new Paint();
+        paint.setColor(color);
+        noDataMessage.setFont(new Font());
+        noDataMessage.setPaint(paint);
+        Plot plot = new Plot();
+        plot.setNoDataMessage(noDataMessage);
+        Settings settings = new Settings();
+        if (type.equals("Pie") || type.equals("Pie3D"))
+            settings.setPie(new Pie());
+        else
+            settings.setCategory(new Category());
+        plot.setSettings(settings);
+        ChartInfo chartInfo = new ChartInfo();
+        chartInfo.setType(type);
+        chartInfo.setPlot(plot);
+        Color backgroundColor = new Color();
+        backgroundColor.setRed(238);
+        backgroundColor.setGreen(238);
+        backgroundColor.setBlue(238);
+        BackgroundPaint backgroundPaint = new BackgroundPaint();
+        backgroundPaint.setColor(backgroundColor);
+        chartInfo.setBackgroundPaint(backgroundPaint);
+        ChartDescriptor chartDescriptor = new ChartDescriptor();
+        chartDescriptor.setFileInfo(fileInfo);
+        chartDescriptor.setChartInfo(chartInfo);
+        return chartDescriptor;
+    }
+
+    private ChartDescriptor readChartDescriptor(String userID, String appName, String resource) throws IOException, MarshalException, ValidationException {
+        File file = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, CHART_SERVICE_DIRECTORY, appName + "/" + resource + ".xml"));
+        FileReader reader = new FileReader(file);
+        ChartDescriptor chartDescriptor = (ChartDescriptor) ChartDescriptor.unmarshal(reader);
+        reader.close();
+        return chartDescriptor;
+    }
+
+    private void writeChartDescriptor(String userID, String appName, String resource, ChartDescriptor chartDescriptor) throws IOException, MarshalException, ValidationException {
+        File file = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, CHART_SERVICE_DIRECTORY, appName + "/" + resource + ".xml"));
+        FileWriter writer = new FileWriter(file);
+        chartDescriptor.marshal(writer);
+        writer.flush();
+        writer.close();
+    }
+
+    private void writeDataset(String userID, String appName, String resource, org.jfree.data.Dataset inDataset) throws IOException, Exception {
+        File file = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, appName, resource + ".xml"));
+        try {
+            if (inDataset.getClass().getName().equals("org.jfree.data.DefaultPieDataset"))
+                DatasetUtilities.writeDefaultPieDataset(file, (org.jfree.data.DefaultPieDataset) inDataset);
+            else if (inDataset.getClass().getName().equals("org.jfree.data.DefaultCategoryDataset"))
+                DatasetUtilities.writeDefaultCategoryDataset(file, (org.jfree.data.DefaultCategoryDataset) inDataset);
+            else if (inDataset.getClass().getName().equals("org.jfree.data.gantt.TaskSeriesCollection"))
+                DatasetUtilities.writeTaskSeriesCollection(file, (org.jfree.data.gantt.TaskSeriesCollection) inDataset);
+            else if (inDataset.getClass().getName().equals("org.jfree.data.time.TimeSeriesCollection"))
+                DatasetUtilities.writeTimeSeriesCollection(file, (org.jfree.data.time.TimeSeriesCollection) inDataset);
+            else if (inDataset.getClass().getName().equals("org.jfree.data.XYSeriesCollection"))
+                DatasetUtilities.writeXYSeriesCollection(file, (org.jfree.data.XYSeriesCollection) inDataset);
+        } catch (MarshalException e) {
+            file.delete();
+            throw new Exception("Unable to write dataset file (MarshalException).", e);
+        } catch (ValidationException e) {
+            file.delete();
+            throw new Exception("Unable to write dataset file (ValidationException).", e);
+        }
+    }
+
+    private org.jfree.data.Dataset readDataset(String userID, String appName, String resource, String type) throws IOException, MarshalException, ValidationException, Exception {
+        File file = secureDirectoryService.getFile(secureDirectoryService.createFileLocationID(userID, appName, resource + ".xml"));
+        org.jfree.data.Dataset dataset = null;
+        if (type.equals("org.jfree.data.DefaultPieDataset"))
+            dataset = DatasetUtilities.readDefaultPieDataset(file);
+        else if (type.equals("org.jfree.data.DefaultCategoryDataset"))
+            dataset = DatasetUtilities.readDefaultCategoryDataset(file);
+        else if (type.equals("org.jfree.data.gantt.TaskSeriesCollection"))
+            dataset = DatasetUtilities.readTaskSeriesCollection(file);
+        else if (type.equals("org.jfree.data.time.TimeSeriesCollection"))
+            dataset = DatasetUtilities.readTimeSeriesCollection(file);
+        else if (type.equals("org.jfree.data.XYSeriesCollection"))
+            dataset = DatasetUtilities.readXYSeriesCollection(file);
+        else
+            throw new Exception("Unsupported dataset type.");
+        return dataset;
+    }
+}


Property changes on: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/charts/impl/ChartServiceImpl.java
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentFile.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentFile.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentFile.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+package org.gridsphere.services.core.content;
+
+import java.io.File;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface ContentFile {
+
+    public StringBuffer getContentBuffer() throws IOException;
+
+    public File getFile();
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/ContentManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+package org.gridsphere.services.core.content;
+
+import org.gridsphere.portlet.service.PortletService;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface ContentManagerService  extends PortletService {
+
+    public List<ContentFile> getAllContent();
+
+    public void addContent(ContentFile content);
+
+    public void removeContent(ContentFile content);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentFileImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentFileImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentFileImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+package org.gridsphere.services.core.content.impl;
+
+import org.gridsphere.services.core.content.ContentFile;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class ContentFileImpl implements ContentFile {
+
+    private File file = null;
+
+    public ContentFileImpl(File file) {
+        this.file = file;
+    }
+
+    public StringBuffer getContentBuffer() throws IOException {
+        BufferedReader reader = new BufferedReader(new FileReader(file));
+        String line;
+        StringBuffer content = new StringBuffer();
+        while ((line = reader.readLine()) != null) {
+            content.append(line);
+        }
+        return content;
+    }
+
+    public File getFile() {
+        return file;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/content/impl/ContentManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+package org.gridsphere.services.core.content.impl;
+
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.content.ContentFile;
+import org.gridsphere.services.core.content.ContentManagerService;
+import org.gridsphere.services.core.customization.SettingsService;
+
+import javax.servlet.ServletContext;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class ContentManagerServiceImpl implements ContentManagerService, PortletServiceProvider {
+
+    private List<ContentFile> contents = new ArrayList();
+
+    public void init(PortletServiceConfig config) {
+        ServletContext ctx = config.getServletContext();
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        String contentDirPath = settingsService.getRealSettingsPath("content");
+        File contentDir = new File(contentDirPath);
+        File[] contentFiles = contentDir.listFiles();
+        ContentFile content = null;
+        for (int i = 0; i < contentFiles.length; i++) {
+            File contentFile = contentFiles[i];
+            content = new ContentFileImpl(contentFile);
+            contents.add(content);
+        }
+    }
+
+    public void destroy() {
+
+    }
+
+    public List<ContentFile> getAllContent() {
+        return contents;
+    }
+
+    public void addContent(ContentFile content) {
+        contents.add(content);
+    }
+
+    public void removeContent(ContentFile content) {
+        contents.remove(content);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/SettingsService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/SettingsService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/SettingsService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+package org.gridsphere.services.core.customization;
+
+/**
+ * This service is used to determine where GridSphere should store it's variable settings. The path will default
+ * to $home/.gridsphere of the user who started the container or it can be set via JNDI.
+ */
+public interface SettingsService {
+
+    /**
+     * Returns the path where gridsphere stores it's settings
+     *
+     * @return path
+     */
+    String getSettingsPath();
+
+    /**
+     * Returns the path for a specific file in the settings directory
+     *
+     * @param path relative path of the file
+     * @return absolute path of the file
+     */
+    public String getRealSettingsPath(String path);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/customization/impl/SettingsServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,101 @@
+package org.gridsphere.services.core.customization.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.servlets.GridSphereServlet;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class SettingsServiceImpl implements PortletServiceProvider, SettingsService {
+
+    private Log log = LogFactory.getLog(GridSphereServlet.class);
+    private String settingsPath = System.getProperty("user.home") + File.separator + ".gridsphere";
+
+    /**
+     * Checks if the JNDI variable for storing gs settings data is set, if not the default is assumed
+     *
+     * @param config
+     * @throws PortletServiceUnavailableException
+     *
+     */
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+
+        log.debug("In Settings");
+
+        try {
+            Context initCtx = new InitialContext();
+            javax.naming.Context env = (Context) initCtx.lookup("java:comp/env");
+            settingsPath = (String) env.lookup("gridspheresettingsdir");
+            log.info("Got config settings from JNDI");
+        } catch (NamingException e) {
+            // it does not exist, which is ok as well, we just use the default
+            settingsPath = System.getProperty("user.home") + File.separator + ".gridsphere";
+        }
+        // check if the path exist, if not create it and copy the template files (from WEB-INF/CustomPortal) to it
+        File path = new File(settingsPath);
+        log.info("GridSphere Settings will be saved in: " + settingsPath);
+        if (!path.exists()) {
+            path.mkdirs();
+            log.info("GridSphere ConfigDir did not exist, created.");
+            try {
+                copyFiles(config.getServletContext().getRealPath("/WEB-INF/CustomPortal"), settingsPath);
+                log.info("Copy files to directory");
+            } catch (IOException e) {
+                log.error("Could not copy files to defined destination: " + config.getServletContext().getRealPath("/WEB-INF/CustomPortal") + " to " + settingsPath);
+            }
+
+        }
+    }
+
+    public void destroy() {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public String getSettingsPath() {
+        return settingsPath;
+    }
+
+    public String getRealSettingsPath(String path) {
+        String result = settingsPath + File.separator + path;
+        result = result.replaceAll("/", File.separator);
+        File f = new File(result);
+        if (f.isDirectory() && !result.endsWith(File.separator)) result = result + File.separator;
+        return result;
+    }
+
+
+    private void copyFiles(String strPath, String dstPath) throws IOException {
+        File src = new File(strPath);
+        File dest = new File(dstPath);
+
+        if (src.isDirectory()) {
+            //if(dest.exists()!=true)
+            dest.mkdirs();
+            String list[] = src.list();
+
+            for (int i = 0; i < list.length; i++) {
+                String dest1 = dest.getAbsolutePath() + File.separator + list[i];
+                String src1 = src.getAbsolutePath() + File.separator + list[i];
+                copyFiles(src1, dest1);
+            }
+        } else {
+            FileInputStream fin = new FileInputStream(src);
+            FileOutputStream fout = new FileOutputStream(dest);
+            int c;
+            while ((c = fin.read()) >= 0)
+                fout.write(c);
+            fin.close();
+            fout.close();
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/BasePortalFilter.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/BasePortalFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/BasePortalFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+package org.gridsphere.services.core.filter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public abstract class BasePortalFilter implements PortalFilter {
+
+    public abstract void init(PortalFilterConfig filterConfig);
+
+    public abstract void doAfterLogin(HttpServletRequest req, HttpServletResponse res);
+
+    public abstract void doAfterLogout(HttpServletRequest req, HttpServletResponse res);
+
+    public abstract void doBeforeEveryRequest(HttpServletRequest req, HttpServletResponse res);
+
+    public abstract void doAfterEveryRequest(HttpServletRequest req, HttpServletResponse res);
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilter.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+package org.gridsphere.services.core.filter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface PortalFilter {
+
+    public void init(PortalFilterConfig config);
+
+    public void doAfterLogin(HttpServletRequest req, HttpServletResponse res);
+
+    public void doAfterLogout(HttpServletRequest req, HttpServletResponse res);
+
+    public void doBeforeEveryRequest(HttpServletRequest req, HttpServletResponse res);
+
+    public void doAfterEveryRequest(HttpServletRequest req, HttpServletResponse res);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterConfig.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterConfig.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterConfig.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+package org.gridsphere.services.core.filter;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface PortalFilterConfig {
+
+    public String getInitParameter(String name);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/PortalFilterService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+package org.gridsphere.services.core.filter;
+
+import org.gridsphere.portlet.service.PortletService;
+
+import java.util.List;
+
+/**
+ * The <code>PortalFilterService</code> provides the portal with the available portal filters.
+ */
+public interface PortalFilterService extends PortletService {
+
+    public List<PortalFilter> getPortalFilters();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterConfigImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+package org.gridsphere.services.core.filter.impl;
+
+import org.gridsphere.services.core.filter.PortalFilterConfig;
+
+import javax.servlet.ServletConfig;
+import java.util.Properties;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class PortalFilterConfigImpl implements PortalFilterConfig {
+
+    private Properties configProperties;
+
+    public PortalFilterConfigImpl(Properties configProperties) {
+        this.configProperties = configProperties;
+    }
+
+    public String getInitParameter(String name) {
+        return configProperties.getProperty(name);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/PortalFilterServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+package org.gridsphere.services.core.filter.impl;
+
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.filter.PortalFilterService;
+import org.gridsphere.services.core.filter.PortalFilter;
+import org.gridsphere.services.core.filter.impl.descriptor.PortalFilterDescriptor;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.PortletServiceException;
+
+import java.util.List;
+
+/**
+ * The <code>PortalFilterService</code> provides the portal with the available portal filters.
+ */
+public class PortalFilterServiceImpl implements PortalFilterService, PortletServiceProvider {
+
+    private List<PortalFilter> portalFilters = null;
+
+    /**
+     * Initializes the portlet service.
+     * The init method is invoked by the portlet container immediately after a portlet service has
+     * been instantiated and before it is passed to the requestor.
+     *
+     * @param config the service configuration
+     * @throws org.gridsphere.portlet.service.PortletServiceUnavailableException
+     *          if an error occurs during initialization
+     */
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        String filterDescriptorPath = config.getServletContext().getRealPath("/WEB-INF/filters.xml");
+        try {
+            PortalFilterDescriptor filterDescriptor = new PortalFilterDescriptor(filterDescriptorPath);
+            portalFilters = filterDescriptor.getPortalFilters();
+        } catch (PersistenceManagerException e) {
+            //log.error("error unmarshalling " + servicesPath + " using " + servicesMappingPath + " : " + e.getMessage());
+            throw new PortletServiceException("error unmarshalling " + filterDescriptorPath, e);
+        }
+    }
+
+    /**
+     * The destroy method is invoked by the portlet container to destroy a portlet service.
+     * This method must free all resources allocated to the portlet service.
+     */
+    public void destroy() {
+    }
+
+    public List<PortalFilter> getPortalFilters() {
+        return portalFilters;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/RememberMeCookieFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,128 @@
+package org.gridsphere.services.core.filter.impl;
+
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.filter.BasePortalFilter;
+import org.gridsphere.services.core.filter.PortalFilter;
+import org.gridsphere.services.core.filter.PortalFilterConfig;
+import org.gridsphere.services.core.request.Request;
+import org.gridsphere.services.core.request.RequestService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class RememberMeCookieFilter extends BasePortalFilter implements PortalFilter {
+
+    private UserManagerService userManagerService;
+    private RequestService requestService;
+
+    private static final String COOKIE_REQUEST = "cookie-request";
+    private int COOKIE_EXPIRATION_TIME = 60 * 60 * 24 * 7;  // 1 week (in secs)
+
+    public void init(PortalFilterConfig config) {
+        userManagerService = (UserManagerService) PortletServiceFactory.createPortletService(UserManagerService.class, true);
+        requestService = (RequestService) PortletServiceFactory.createPortletService(RequestService.class, true);
+        //System.err.println(config.getInitParameter("COOKIE_EXPIRATION_TIME"));
+        //COOKIE_EXPIRATION_TIME = Integer.parseInt(config.getInitParameter("COOKIE_EXPIRATION_TIME"));
+    }
+
+    public void doAfterLogin(HttpServletRequest req, HttpServletResponse res) {
+        String remme = req.getParameter("remlogin");
+        if (remme != null) {
+            setUserCookie(req, res);
+        } else {
+            removeUserCookie(req, res);
+        }
+    }
+
+
+    public void doAfterLogout(HttpServletRequest req, HttpServletResponse res) {
+        removeUserCookie(req, res);
+    }
+
+    public void doBeforeEveryRequest(HttpServletRequest req, HttpServletResponse res) {
+        checkUserHasCookie(req);
+    }
+
+    public void doAfterEveryRequest(HttpServletRequest req, HttpServletResponse res) {
+
+    }
+
+    protected void checkUserHasCookie(HttpServletRequest req) {
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+        if (user != null) return;
+        Cookie[] cookies = req.getCookies();
+        if (cookies == null) return;
+        //System.err.println("cookie length=" + cookies.length);
+        Cookie c = null;
+        for (int i = 0; i < cookies.length; i++) {
+            c = cookies[i];
+            //System.err.println("found a cookie:");
+            //System.err.println("name=" + c.getName());
+            //System.err.println("value=" + c.getValue());
+            if (c.getName().equals("gridsphere")) {
+                String reqId = c.getValue();
+                //System.err.println("reqid = " + reqId);
+                Request genreq = requestService.getRequest(reqId, COOKIE_REQUEST);
+                if (genreq != null) {
+                    String remoteAddr = genreq.getAttribute("ipaddress");
+                    if ((remoteAddr != null) && (!remoteAddr.equals(((HttpServletRequest) req).getRemoteAddr()))) {
+                        //System.err.println("ip address of host and cookie did not match!!");
+                        return;
+                    }
+                    String uid = genreq.getUserID();
+                    User newuser = userManagerService.getUser(uid);
+                    if (newuser != null) {
+                        //System.err.println("in checkUserHasCookie-- seting user settings!!");
+                        req.setAttribute(SportletProperties.PORTLET_USER, user);
+                        req.getSession(true).setAttribute(SportletProperties.PORTLET_USER, user.getID());
+                    }
+
+                }
+            }
+        }
+    }
+
+    protected void setUserCookie(HttpServletRequest req, HttpServletResponse res) {
+        User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+        Request request = requestService.createRequest(COOKIE_REQUEST);
+        Cookie cookie = new Cookie("gridsphere", request.getOid());
+        request.setUserID(user.getID());
+        long time = Calendar.getInstance().getTime().getTime() + COOKIE_EXPIRATION_TIME * 1000;
+        request.setLifetime(new Date(time));
+        String remoteAddr = ((HttpServletRequest) req).getRemoteAddr();
+        if (remoteAddr != null) request.setAttribute("ipaddress", remoteAddr);
+        requestService.saveRequest(request);
+
+        // COOKIE_EXPIRATION_TIME is specified in secs
+        cookie.setMaxAge(COOKIE_EXPIRATION_TIME);
+        res.addCookie(cookie);
+        //System.err.println("adding a  cookie");
+    }
+
+    protected void removeUserCookie(HttpServletRequest req, HttpServletResponse res) {
+        Cookie[] cookies = req.getCookies();
+        if (cookies != null) {
+            for (int i = 0; i < cookies.length; i++) {
+                Cookie c = cookies[i];
+                if (c.getName().equals("gridsphere")) {
+                    String reqid = c.getValue();
+                    //System.err.println("reqid= " + reqid);
+                    Request request = requestService.getRequest(reqid, COOKIE_REQUEST);
+                    if (request != null) requestService.deleteRequest(request);
+                    c.setMaxAge(0);
+                    res.addCookie(c);
+                }
+            }
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterCollection.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+package org.gridsphere.services.core.filter.impl.descriptor;
+
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class PortalFilterCollection {
+
+    private List<PortalFilterDefinition> portalFilterList = new Vector<PortalFilterDefinition>();
+
+    public List<PortalFilterDefinition> getPortalFilterList() {
+        return portalFilterList;
+    }
+
+    public void setPortalFilterList(List<PortalFilterDefinition> portalFilterList) {
+        this.portalFilterList = portalFilterList;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,80 @@
+package org.gridsphere.services.core.filter.impl.descriptor;
+
+import org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam;
+import org.gridsphere.portlet.service.spi.impl.descriptor.Description;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Properties;
+import java.util.Vector;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class PortalFilterDefinition {
+
+    private String name = "";
+    private List<Description> descriptions = new Vector<Description>();
+    private String implementation = "";
+    private List<ConfigParam> configParamList = new Vector<ConfigParam>();
+    private Properties configProps;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<Description> getDescriptions() {
+        return descriptions;
+    }
+
+    public void setDescriptions(List<Description> descriptions) {
+        this.descriptions = descriptions;
+    }
+
+    public String getImplementation() {
+        return implementation;
+    }
+
+    public void setImplementation(String implementation) {
+        this.implementation = implementation;
+    }
+
+    public List<ConfigParam> getConfigParamList() {
+        return configParamList;
+    }
+
+    public void setConfigParamList(List<ConfigParam> configParamList) {
+        this.configParamList = configParamList;
+    }
+
+    /**
+     * Creates a properties from the  ConfigParamList
+     *
+     * @see #getConfigParamList
+     */
+    private void createProperties() {
+        configProps = new Properties();
+        Iterator it = this.configParamList.iterator();
+        ConfigParam param;
+        while (it.hasNext()) {
+            param = (ConfigParam) it.next();
+            configProps.setProperty(param.getParamName(), param.getParamValue());
+        }
+    }
+
+    /**
+     * Return the configuration properties
+     *
+     * @return the configuration properties
+     */
+    public Properties getConfigProperties() {
+        if (configProps == null) createProperties();
+        return configProps;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/filter/impl/descriptor/PortalFilterDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+package org.gridsphere.services.core.filter.impl.descriptor;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.filter.PortalFilter;
+import org.gridsphere.services.core.filter.PortalFilterConfig;
+import org.gridsphere.services.core.filter.impl.PortalFilterConfigImpl;
+import org.gridsphere.portletcontainer.impl.JavaXMLBindingFactory;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import javax.servlet.ServletConfig;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class PortalFilterDescriptor {
+
+    private Log log = LogFactory.getLog(PortalFilterDescriptor.class);
+    private List<PortalFilter> portalFilters = new ArrayList<PortalFilter>();
+    private URL FILTER_MAPPING_PATH = getClass().getResource("/org/gridsphere/filters/portal-filters-mapping.xml");
+
+    /**
+     * Constructor disallows non-argument instantiation
+     */
+    private PortalFilterDescriptor() {
+    }
+
+    public PortalFilterDescriptor(String descriptorFile) throws PersistenceManagerException {
+        PersistenceManagerXml pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, FILTER_MAPPING_PATH);
+        PortalFilterCollection portalFilterCollection = (PortalFilterCollection) pmXML.load();
+        List<PortalFilterDefinition> portalFilterList = portalFilterCollection.getPortalFilterList();
+        for (PortalFilterDefinition def : portalFilterList) {
+            String filterImpl = def.getImplementation();
+            try {
+                PortalFilter filterClass = (PortalFilter) Class.forName(filterImpl).newInstance();
+                PortalFilterConfig filterConfig = new PortalFilterConfigImpl(def.getConfigProperties());
+                filterClass.init(filterConfig);
+                portalFilters.add(filterClass);
+            } catch (ClassNotFoundException e) {
+                log.error("Unable to find filter class: " + filterImpl, e);
+            } catch (InstantiationException e) {
+                log.error("Unable to instantiate filter class: " + filterImpl, e);
+            } catch (IllegalAccessException e) {
+                log.error("Illegal access on filter class: " + filterImpl, e);
+            }
+        }
+    }
+
+    public List<PortalFilter> getPortalFilters() {
+        return portalFilters;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentDocument.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentDocument.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentDocument.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,104 @@
+package org.gridsphere.services.core.jcr;
+
+import java.util.Date;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class ContentDocument implements Comparable {
+
+    private String content = "";
+    private Date created = new Date();
+    private Date modified = new Date();
+    private String author = "";
+    private String modifiedBy = "";
+    private String mimeType = JCRNode.RENDERKIT_HTML;
+    private String title = "";
+    private String parentPath = null;
+    private String uuid = null;
+
+
+    public ContentDocument() {
+        super();
+        parentPath = JCRNode.GS_ROOT_CONTENTDOCUMENT_PATH;
+    }
+
+    public String getParentPath() {
+        return parentPath;
+    }
+
+    public void setParentPath(String path) {
+        this.parentPath = path;
+    }
+
+    public String getUuid() {
+        return uuid;
+    }
+
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getMimeType() {
+        return mimeType;
+    }
+
+    public void setMimeType(String mimeType) {
+        this.mimeType = mimeType;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Date getCreated() {
+        return created;
+    }
+
+    public void setCreated(Date created) {
+        this.created = created;
+    }
+
+    public Date getModified() {
+        return modified;
+    }
+
+    public void setModified(Date modified) {
+        this.modified = modified;
+    }
+
+    public String getAuthor() {
+        return author;
+    }
+
+    public void setAuthor(String author) {
+        this.author = author;
+    }
+
+    public String getModifiedBy() {
+        return modifiedBy;
+    }
+
+    public void setModifiedBy(String modifiedBy) {
+        this.modifiedBy = modifiedBy;
+    }
+
+    public int compareTo(Object o) {
+        ContentDocument cd = (ContentDocument) o;
+        return title.compareToIgnoreCase(cd.getTitle());
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/ContentException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+package org.gridsphere.services.core.jcr;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class ContentException extends Exception {
+
+    /**
+     * Constructs a new content exception.
+     */
+    public ContentException() {
+        super();
+    }
+
+    /**
+     * Creates a new content with the sepcified detail message.
+     *
+     * @param message a string indicating why this exception is thrown.
+     */
+    public ContentException(String message) {
+        super(message);
+    }
+
+    /**
+     * Constructs a new content exception with the given text.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public ContentException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new content exception when the portlet needs to throw an exception.
+     *
+     * @param cause the root cause
+     */
+    public ContentException(Throwable cause) {
+        super(cause);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRNode.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRNode.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRNode.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+package org.gridsphere.services.core.jcr;
+
+public interface JCRNode {
+
+    public final static String NAMESPACE = "http://www.gridsphere.org/jcr-content/1.0";
+    public final static String PREFIX = "gs";
+
+    // Data
+    public final static String AUTHOR = PREFIX + ":" + "author";
+    public final static String CONTENT = PREFIX + ":" + "content";
+    public final static String TITLE = PREFIX + ":" + "title";
+
+    // Metadata
+    public final static String GS_ROOT_NODE_NAME = "gridsphere";
+    public final static String GS_ROOT_NODE_PATH = "/" + GS_ROOT_NODE_NAME;
+    public final static String GS_ROOT_CONTENTDOCUMENT_NAME = "contentdocuments";
+    public final static String GS_ROOT_CONTENTDOCUMENT_PATH = "/" + GS_ROOT_NODE_NAME + "/" + GS_ROOT_CONTENTDOCUMENT_NAME;
+
+    public final static String GSID = PREFIX + ":" + "gsid";
+    public final static String MODIFIED_DATE = PREFIX + ":" + "modifieddate";
+    public final static String CREATED_DATE = PREFIX + ":" + "createddate";
+    public final static String MODIFIED_BY = PREFIX + ":" + "modifiedby";
+    public final static String RENDERKIT = PREFIX + ":" + "renderkit";
+    public final static String TYPE = PREFIX + ":" + "document";
+
+    public final static String RENDERKIT_TEXT = "text/text";
+    public final static String RENDERKIT_HTML = "text/html";
+    public final static String RENDERKIT_RADEOX = "text/radeox";
+    public final static String RENDERKIT_DEFAULT = RENDERKIT_TEXT;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/JCRService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,108 @@
+package org.gridsphere.services.core.jcr;
+
+import javax.jcr.Node;
+import javax.jcr.NodeIterator;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import javax.naming.NamingException;
+import java.io.IOException;
+import java.util.List;
+
+public interface JCRService {
+
+
+    /**
+     * Returns the content of the nodename.
+     *
+     * @param nodename
+     * @return content of the nodename
+     */
+    public String getContent(String nodename);
+
+    /**
+     * Returns a JCR session.
+     *
+     * @return jcr session
+     * @throws RepositoryException
+     * @throws NamingException
+     */
+    Session getSession() throws RepositoryException, NamingException;
+
+    /**
+     * Queryies the repository.
+     *
+     * @param query SQL query
+     * @return Nodeiterator containing the results
+     * @throws NamingException
+     * @throws RepositoryException
+     */
+    NodeIterator query(String query, Session session) throws NamingException, RepositoryException;
+
+    /**
+     * Checks if the node with a given id exists.
+     *
+     * @param gsid
+     * @return
+     * @throws NamingException
+     * @throws RepositoryException
+     */
+    boolean existsContentDocument(String gsid) throws NamingException, RepositoryException;
+
+    /**
+     * Dumps the content of the repository into one file in the specified directory. The name of the file
+     * will be something like PortalContentBackup-YEAR.MONTH.DAY-HOUR:MIN
+     *
+     * @param fullPathBackupDir Directory for backupContent
+     * @throws javax.naming.NamingException
+     * @throws java.io.IOException
+     * @throws javax.jcr.RepositoryException
+     */
+    public void backupContent(String fullPathBackupDir) throws NamingException, RepositoryException, IOException;
+
+    /**
+     * Imports the content of a file into the content repository. It will be deployed at the root level and will
+     * replace existing nodes.
+     *
+     * @param fullPathFileName file with the content information
+     * @throws javax.naming.NamingException
+     * @throws java.io.IOException
+     * @throws javax.jcr.RepositoryException
+     */
+    public void importContent(String fullPathFileName) throws NamingException, RepositoryException, IOException;
+
+    public Node getGridSphereRootNode(Session s) throws RepositoryException;
+
+    /** =============================================================================================================== */
+
+    /**
+     * Returns the document with the given path.
+     *
+     * @param path
+     * @return
+     */
+    public ContentDocument getDocument(String path) throws ContentException;
+
+    public ContentDocument getDocumentByUUID(String uuid) throws ContentException;
+
+    /**
+     * Save the given document.
+     *
+     * @param document
+     */
+    public void saveDocument(ContentDocument document) throws ContentException;
+
+    /**
+     * List documents in the path (relative to GridSphereDocRoot). Flat, non-recursive.
+     *
+     * @param path
+     * @return
+     */
+    public List<ContentDocument> listChildContentDocuments(String path) throws ContentException;
+
+
+    public void removeDocument(ContentDocument doc) throws ContentException;
+
+    public void removeDocumentByUuid(String uuid) throws ContentException;
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/BackupTask.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/BackupTask.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/BackupTask.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+package org.gridsphere.services.core.jcr.impl;
+
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.jcr.JCRService;
+
+import java.util.TimerTask;
+
+/*
+* @author <a href="mailto:wehrens at gridsphere.org">Oliver Wehrens</a>
+* @version $Id$
+*/
+public class BackupTask extends TimerTask {
+
+    private String backupDir = "";
+    private JCRService jcrService = null;
+    private static Logger log = LogManager.getLogger(BackupTask.class);
+
+    public BackupTask(String fullPathBackupDir) {
+        this.backupDir = fullPathBackupDir;
+        jcrService = (JCRService) PortletServiceFactory.createPortletService(JCRService.class, true);
+    }
+
+    public void run() {
+
+        try {
+            jcrService.backupContent(backupDir);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("PortalContentBackup to " + backupDir + " failed.");
+        }
+
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/jcr/impl/JCRServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,469 @@
+package org.gridsphere.services.core.jcr.impl;
+
+import org.apache.jackrabbit.core.RepositoryImpl;
+import org.apache.jackrabbit.core.jndi.RegistryHelper;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.jcr.ContentDocument;
+import org.gridsphere.services.core.jcr.ContentException;
+import org.gridsphere.services.core.jcr.JCRNode;
+import org.gridsphere.services.core.jcr.JCRService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.radeox.api.engine.RenderEngine;
+import org.radeox.api.engine.context.RenderContext;
+import org.radeox.engine.BaseRenderEngine;
+import org.radeox.engine.context.BaseRenderContext;
+
+import javax.jcr.*;
+import javax.jcr.query.Query;
+import javax.jcr.query.QueryManager;
+import javax.jcr.query.QueryResult;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import java.io.*;
+import java.net.URLEncoder;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+
+public class JCRServiceImpl implements PortletServiceProvider, JCRService {
+
+    private static Logger log = LogManager.getLogger(JCRServiceImpl.class);
+    private String repositoryconfigpath = "";
+    private String repositorypath = "";
+    private Repository repository = null;
+    private SimpleCredentials cred = null;
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        repositoryconfigpath = settingsService.getRealSettingsPath("portal");
+        repositorypath = settingsService.getRealSettingsPath("content");
+        log.warn("JCR Path " + repositoryconfigpath);
+
+        String repHomeDir = "repository";
+        Hashtable env = new Hashtable();
+        env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.jackrabbit.core.jndi.provider.DummyInitialContextFactory");
+        env.put(Context.PROVIDER_URL, "localhost");
+
+        InitialContext ctx;
+        try {
+            ctx = new InitialContext(env);
+            RegistryHelper.registerRepository(ctx,
+                    "repo",
+                    repositoryconfigpath + File.separator + "contentrepository.xml",
+                    repositorypath + File.separator + repHomeDir,
+                    true);
+
+            repository = (Repository) ctx.lookup("repo");
+            cred = new SimpleCredentials("userid", "".toCharArray());
+            Session s = repository.login(cred, null);
+
+            Workspace ws = s.getWorkspace();
+            Map nameSpaces = new HashMap();
+
+            log.info("Registering " + JCRNode.PREFIX + " with Namespace " + JCRNode.NAMESPACE);
+            String[] prefixes = ws.getNamespaceRegistry().getPrefixes();
+            for (String prefixe : prefixes) {
+                //System.out.println("PREFIX: " + prefixe + " " + ws.getNamespaceRegistry().getURI(prefixe));
+                nameSpaces.put(prefixe, ws.getNamespaceRegistry().getURI(prefixe));
+            }
+
+            if (!nameSpaces.containsKey(JCRNode.PREFIX))
+                ws.getNamespaceRegistry().registerNamespace(JCRNode.PREFIX, JCRNode.NAMESPACE);
+
+            Node root = s.getRootNode();
+            Node gsRootNode = null;
+            if (!root.hasNode(JCRNode.GS_ROOT_NODE_NAME)) {
+                gsRootNode = root.addNode(JCRNode.GS_ROOT_NODE_NAME);
+                s.save();
+                log.info("Adding GS Root Node with Path " + gsRootNode.getPath());
+            } else {
+                gsRootNode = root.getNode(JCRNode.GS_ROOT_NODE_NAME);
+            }
+
+            Node gsDocRootNode = null;
+            if (!gsRootNode.hasNode(JCRNode.GS_ROOT_CONTENTDOCUMENT_NAME)) {
+                gsDocRootNode = gsRootNode.addNode(JCRNode.GS_ROOT_CONTENTDOCUMENT_NAME);
+                log.info("Adding GS ContentDocument Root Node with Path " + gsDocRootNode.getPath());
+                s.save();
+            } else {
+                gsDocRootNode = gsRootNode.getNode(JCRNode.GS_ROOT_CONTENTDOCUMENT_NAME);
+            }
+
+            // load all .html files in repositorypath, create Nodes out of them (if they do not exist) and delete them
+            File repDir = new File(repositorypath);
+            String[] children = repDir.list();
+
+            if (children != null) {
+                // Create list from children array
+                List filenameList = Arrays.asList(children);
+                for (Iterator filenames = filenameList.iterator(); filenames.hasNext();) {
+                    String filename = (String) filenames.next();
+                    if (filename.endsWith(".html")) {
+                        // Get filename of file or directory
+                        String checkNodeName = filename.substring(0, filename.length() - 5);
+                        if (!existsContentDocument(checkNodeName)) {
+                            StringBuffer fileContent = new StringBuffer();
+                            try {
+                                BufferedReader in = new BufferedReader(new FileReader(repositorypath + File.separator + filename));
+                                String str;
+                                while ((str = in.readLine()) != null) {
+                                    fileContent.append(str);
+                                }
+                                in.close();
+                                ContentDocument doc = new ContentDocument();
+                                doc.setContent(fileContent.toString());
+                                doc.setTitle(checkNodeName);
+                                doc.setAuthor("System");
+                                doc.setMimeType(JCRNode.RENDERKIT_HTML);
+                                saveDocument(doc);
+                                log.info("Adding " + filename + " as document to ContentManagement.");
+//                                File deleteFile = new File(repositorypath + File.separator + filename);
+//                                deleteFile.delete();
+                            } catch (IOException e) {
+                                log.error("Could not read file " + filename);
+                            }
+
+                        }
+                    }
+                }
+            }
+            s.logout();
+        } catch (Exception e) {
+            log.error("Could not start repository!", e);
+        }
+    }
+
+    public void destroy() {
+        log.info("Shutting down content repository...");
+        // just to make sure...
+        try {
+            Session s = getSession();
+            RepositoryImpl r = (RepositoryImpl) s.getRepository();
+            s.logout();
+            r.shutdown();
+        } catch (Exception e) {
+            log.error("Error shutting down repository!", e);
+        }
+    }
+
+
+    public String getRepositoryconfigpath() {
+        return repositoryconfigpath;
+    }
+
+    public void setRepositoryconfigpath(String repositoryconfigpath) {
+        this.repositoryconfigpath = repositoryconfigpath;
+    }
+
+    public String getRepositorypath() {
+        return repositorypath;
+    }
+
+    public void setRepositorypath(String repositorypath) {
+        this.repositorypath = repositorypath;
+    }
+
+    public Session getSession() throws RepositoryException, NamingException {
+        return repository.login(cred, null);
+    }
+
+    public NodeIterator query(String query, Session session) throws NamingException, RepositoryException {
+        Workspace ws = session.getWorkspace();
+        QueryManager qm = ws.getQueryManager();
+        Query q = qm.createQuery(query, Query.SQL);
+        QueryResult res = q.execute();
+        NodeIterator it = res.getNodes();
+        return it;
+    }
+
+    public boolean existsContentDocument(String path) {
+        boolean result = false;
+        try {
+            getDocument(path);
+            result = true;
+        } catch (ContentException e) {
+            result = false;
+        }
+        return result;
+    }
+
+    public String getContent(String nodename) {
+        // handle content management
+        String output = "";
+        try {
+            ContentDocument doc = getDocument(nodename);
+            String kit = doc.getMimeType();
+            output = doc.getContent();
+            if (kit.equals(JCRNode.RENDERKIT_RADEOX)) {
+                RenderContext context = new BaseRenderContext();
+                RenderEngine engine = new BaseRenderEngine();
+                output = engine.render(output, context);
+            }
+            if (kit.equals(JCRNode.RENDERKIT_TEXT)) {
+                output = "<pre>" + output + "</pre>";
+            }
+            if (kit.equals(JCRNode.RENDERKIT_HTML)) {
+                // do some wiki markup link replacement for links to other tabs/pages within the portal
+                // [[This|myRef]] will be <a href=".../myRef">This</a>
+                PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+                String localPortalURLdeploy = portalConfigService.getProperty("gridsphere.deploy");
+                String localPortalURLcontext = portalConfigService.getProperty("gridsphere.context");
+                String patternFindLinks = "\\[{2}[A-Za-z0-9\\s]++\\|{1}[A-Za-z0-9/\\s]++\\|{1}[A-Za-z0-9/\\s]++\\]{2}";
+                for (Matcher m = Pattern.compile(patternFindLinks).matcher(output); m.find();) {
+                    String match = m.toMatchResult().group().toString();
+                    String match2 = match.substring(2, match.length() - 2); // subtract [[ and ]]
+                    String name = match2.substring(0, match2.indexOf("|")); // get the name
+                    String temp = match2.substring(match2.indexOf("|") + 1, match2.length());
+                    String layout = temp.substring(0, temp.indexOf("|"));  // layout name
+                    String id = temp.substring(temp.indexOf("|") + 1, temp.length()); // fragment id
+                    String link = "";
+                    try {
+                        link = URLEncoder.encode(id, "UTF-8");
+                    } catch (UnsupportedEncodingException e) {
+                        e.printStackTrace();
+                    }
+                    String replaceString = "<a href=\"/" + localPortalURLdeploy + "/" + localPortalURLcontext + "/"
+                            + layout + "/" + link + "\">" + name + "</a>";
+                    output = output.replace(match, replaceString);
+                }
+            }
+        } catch (ContentException e) {
+            output = "Content " + nodename + "not found!";
+        }
+        return output;
+    }
+
+    /**
+     * Checks the length of the String
+     *
+     * @param s       String to be checked
+     * @param length  length which the result should have
+     * @param filler  String to be appended/prepended
+     * @param prepend should the filler prependend (otherwise append)
+     * @return changed string
+     */
+    private String checkLength(String s, int length, String filler, boolean prepend) {
+        if (s.length() != length) {
+            for (int i = 1; i < length; i++) {
+                if (prepend) {
+                    s = filler + s;
+                } else {
+                    s = s + filler;
+                }
+            }
+        }
+        return s;
+    }
+
+    public void backupContent(String fullPathBackupDir) throws NamingException, RepositoryException, IOException {
+        File bDir = new File(fullPathBackupDir);
+        if (!bDir.exists()) {
+            bDir.mkdirs();
+        }
+        if (bDir.exists() && bDir.isDirectory()) {
+            Calendar c = new GregorianCalendar();
+            int m = c.get(Calendar.MONTH) + 1;
+            String month = checkLength(m + "", 2, "0", true);
+            String backupName = "PortalContentBackup-" + c.get(Calendar.YEAR) + "." + month + "." +
+                    checkLength(c.get(Calendar.DAY_OF_MONTH) + "", 2, "0", true) + "-" +
+                    checkLength(c.get(Calendar.HOUR_OF_DAY) + "", 2, "0", true) + ":" +
+                    checkLength(c.get(Calendar.MINUTE) + "", 2, "0", true) + ".xml";
+            String filename = fullPathBackupDir + File.separator + backupName;
+            Session s = null;
+            try {
+                s = getSession();
+                FileOutputStream x = new FileOutputStream(new File(filename));
+                s.exportSystemView("/" + JCRNode.GS_ROOT_NODE_NAME, x, false, false);
+            } catch (RepositoryException e) {
+                log.error("Repository Exception.");
+                throw new RepositoryException(e);
+            } catch (NamingException e) {
+                log.error("Naming Excpetion.");
+                throw new NamingException();
+            } catch (FileNotFoundException e) {
+                log.error("FileNotFoundException. " + filename);
+                throw new FileNotFoundException();
+            } catch (IOException e) {
+                log.error("IOException.");
+                throw new IOException("Backup failed. IOException.");
+            } finally {
+                if (s != null) s.logout();
+            }
+        } else {
+            log.error("ContentBackup failed '" + fullPathBackupDir + "' is NOT a directory (most likely a file)");
+            throw new IOException("Backup failed. Path " + fullPathBackupDir + " exists and is not a directoy.");
+        }
+    }
+
+
+    public void importContent(String fullPathFileName) throws NamingException, RepositoryException, IOException {
+        Session s = null;
+        try {
+            s = getSession();
+            FileInputStream x = new FileInputStream(new File(fullPathFileName));
+            s.importXML("/", x, javax.jcr.ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
+            x.close();
+            s.save();
+        } catch (RepositoryException e) {
+            log.error("Repository Exception.");
+            throw new RepositoryException(e);
+        } catch (NamingException e) {
+            log.error("Naming Excpetion.");
+            throw new NamingException();
+        } catch (FileNotFoundException e) {
+            log.error("FileNotFoundException. " + fullPathFileName);
+            throw new FileNotFoundException();
+        } catch (IOException e) {
+            log.error("IOException.");
+            throw new IOException("Backup failed. IOException.");
+        } finally {
+            if (s != null) s.logout();
+        }
+    }
+
+
+    public Node getGridSphereRootNode(Session s) throws RepositoryException {
+        Node n = s.getRootNode();
+        Node gsRoot = n.getNode(JCRNode.GS_ROOT_NODE_NAME);
+        return gsRoot;
+    }
+
+
+    public ContentDocument getDocument(String path) throws ContentException {
+        Session session = null;
+        ContentDocument result = null;
+        try {
+            session = getSession();
+            Node node = (Node) session.getItem(JCRNode.GS_ROOT_CONTENTDOCUMENT_PATH + "/" + path);
+            result = createDocument(node);
+        } catch (RepositoryException e) {
+            throw new ContentException("JCR Repository Error or Node does not exsit.");
+        } catch (NamingException e) {
+            throw new ContentException("JCR Naming Error or Node does not exist.");
+        } finally {
+            if (session != null) session.logout();
+        }
+
+        return result;
+    }
+
+    public void saveDocument(ContentDocument document) throws ContentException {
+        Session session = null;
+        Node node = null;
+
+        try {
+            session = getSession();
+            if (document.getUuid() == null) {
+                Node parentNode = (Node) session.getItem(document.getParentPath());
+                node = parentNode.addNode(document.getTitle());
+                node.addMixin("mix:referenceable"); // make it to have uuid's
+            } else {
+                node = session.getNodeByUUID(document.getUuid());
+            }
+            node.setProperty(JCRNode.CONTENT, document.getContent());
+            node.setProperty(JCRNode.TITLE, document.getTitle());
+            session.save();
+
+        } catch (RepositoryException e) {
+            throw new ContentException("JCR Repository Error.");
+        } catch (NamingException e) {
+            throw new ContentException("JCR Naming Error.");
+        } finally {
+            if (session != null) session.logout();
+        }
+    }
+
+    protected Node getGsDocRootNode(Session s) throws RepositoryException {
+        Node rootNode = s.getRootNode();
+        Node result = rootNode.getNode(JCRNode.GS_ROOT_NODE_NAME + "/" + JCRNode.GS_ROOT_CONTENTDOCUMENT_NAME);
+        return result;
+    }
+
+    protected ContentDocument createDocument(Node n) throws ContentException {
+        ContentDocument doc = new ContentDocument();
+        try {
+            doc.setContent(n.getProperty(JCRNode.CONTENT).getString());
+            doc.setTitle(n.getProperty(JCRNode.TITLE).getString());
+            doc.setUuid(n.getUUID());
+        } catch (RepositoryException e) {
+            throw new ContentException("Could not create document from node.");
+        }
+        return doc;
+    }
+
+    public List<ContentDocument> listChildContentDocuments(String path) throws ContentException {
+        Session session = null;
+        String childPath = JCRNode.GS_ROOT_CONTENTDOCUMENT_PATH + path;
+
+        SortedSet<ContentDocument> sorted = new TreeSet<ContentDocument>();
+        List<ContentDocument> result = new ArrayList<ContentDocument>();
+        try {
+            session = getSession();
+            Node node = (Node) session.getItem(childPath);
+            NodeIterator ni = node.getNodes();
+            while (ni.hasNext()) {
+                Node n = ni.nextNode();
+                sorted.add(createDocument(n));
+            }
+
+        } catch (RepositoryException e) {
+            throw new ContentException("JCR Repository Error.");
+        } catch (NamingException e) {
+            throw new ContentException("JCR Naming Error.");
+        } finally {
+            if (session != null) session.logout();
+        }
+
+        for (ContentDocument aSorted : sorted) {
+            result.add(aSorted);
+        }
+
+        return result;
+    }
+
+
+    public ContentDocument getDocumentByUUID(String uuid) throws ContentException {
+        Session session = null;
+        ContentDocument doc = null;
+        try {
+            session = getSession();
+            Node n = session.getNodeByUUID(uuid);
+            doc = createDocument(n);
+        } catch (RepositoryException e) {
+            throw new ContentException("JCR Repository Error.");
+        } catch (NamingException e) {
+            throw new ContentException("JCR Naming Error.");
+        } finally {
+            if (session != null) session.logout();
+        }
+        return doc;
+    }
+
+    public void removeDocument(ContentDocument doc) throws ContentException {
+        removeDocumentByUuid(doc.getUuid());
+    }
+
+    public void removeDocumentByUuid(String uuid) throws ContentException {
+        Session session = null;
+        try {
+            session = getSession();
+            Node n = session.getNodeByUUID(uuid);
+            n.remove();
+            session.save();
+        } catch (RepositoryException e) {
+            throw new ContentException("JCR Repository Error.");
+        } catch (NamingException e) {
+            throw new ContentException("JCR Naming Error.");
+        } finally {
+            if (session != null) session.logout();
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/LocaleService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/LocaleService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/LocaleService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+package org.gridsphere.services.core.locale;
+
+import org.gridsphere.portlet.service.PortletService;
+
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LocaleService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public interface LocaleService extends PortletService {
+
+    public Locale[] getSupportedLocales();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/locale/impl/LocaleServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+package org.gridsphere.services.core.locale.impl;
+
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.locale.LocaleService;
+
+import java.util.Locale;
+import java.util.StringTokenizer;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LocaleServiceImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public class LocaleServiceImpl implements PortletServiceProvider, LocaleService {
+
+    private Locale[] locales;
+
+    public void init(PortletServiceConfig config) {
+        String displayLocales = config.getInitParameter("display-locale");
+        StringTokenizer localeTokenizer = new StringTokenizer(displayLocales, ",");
+        locales = new Locale[localeTokenizer.countTokens()];
+        int i = 0;
+        while (localeTokenizer.hasMoreTokens()) {
+            String displayLocaleStr = localeTokenizer.nextToken();
+            Locale displayLocale = new Locale(displayLocaleStr, "", "");
+            locales[i] = displayLocale;
+            i++;
+        }
+    }
+
+    public Locale[] getSupportedLocales() {
+        return locales;
+    }
+
+    public void destroy() {
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailMessage.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailMessage.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailMessage.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: MailMessage.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.mail;
+
+/**
+ * The <code>MailMessage</code> utility class represents a mail message.
+ */
+public class MailMessage {
+
+    private String subject = "";
+    private String body = "";
+    private String emailAddress = "";
+    private String sender = "";
+    private String recType = TO;
+
+    public static String TO = "to";
+    public static String BCC = "bcc";
+
+    /**
+     * Constructs an empty mail message
+     */
+    public MailMessage() {
+    }
+
+    /**
+     * Constructs a mail message given a subject, sender, body and email address
+     *
+     * @param subject      the subject of the email
+     * @param body         the body of the email
+     * @param emailAddress the recipient to mail job info to
+     * @param sender       the reply-to of the mail
+     */
+    public MailMessage(String subject, String body, String emailAddress, String sender) {
+        this.subject = subject;
+        this.body = body;
+        this.emailAddress = emailAddress;
+        this.sender = sender;
+    }
+
+    /**
+     * Sets the email subject
+     *
+     * @param subject the email subject
+     */
+    public void setSubject(String subject) {
+        this.subject = subject;
+    }
+
+    /**
+     * Returns the email subject
+     *
+     * @return the email subject
+     */
+    public String getSubject() {
+        return subject;
+    }
+
+    /**
+     * Sets the email body
+     *
+     * @param body the email body
+     */
+    public void setBody(String body) {
+        this.body = body;
+    }
+
+    /**
+     * Returns the email body
+     *
+     * @return the email boody
+     */
+    public String getBody() {
+        return body;
+    }
+
+    /**
+     * Sets the email address
+     *
+     * @param emailAddress the email address
+     */
+    public void setEmailAddress(String emailAddress) {
+        this.emailAddress = emailAddress;
+    }
+
+    /**
+     * Returns the email address
+     *
+     * @return the email address
+     */
+    public String getEmailAddress() {
+        return emailAddress;
+    }
+
+    /**
+     * Sets the email sender
+     *
+     * @param sender the email sender
+     */
+    public void setSender(String sender) {
+        this.sender = sender;
+    }
+
+    /**
+     * Returns the email sender
+     *
+     * @return the email sender
+     */
+    public String getSender() {
+        return sender;
+    }
+
+    /**
+     * Return the recipient type either BCC or TO
+     *
+     * @return the recipient type
+     */
+    public String getRecipientType() {
+        return recType;
+    }
+
+    /**
+     * Sets the recipient type
+     *
+     * @param recType the recipient type either BCC or TO
+     */
+    public void setRecipientType(String recType) {
+        this.recType = recType;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("\nsubject= ").append(subject);
+        sb.append("\nemailAddress= ").append(emailAddress);
+        sb.append("\nsender= ").append(sender);
+        sb.append("\nbody= ").append(body);
+        return sb.toString();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/MailService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+package org.gridsphere.services.core.mail;
+
+import org.gridsphere.portlet.service.PortletServiceException;
+
+public interface MailService {
+
+    public void sendMail(MailMessage msg) throws PortletServiceException;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl/MailServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl/MailServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/impl/MailServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,67 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: MailServiceImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.mail.impl;
+
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.mail.MailMessage;
+import org.gridsphere.services.core.mail.MailService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.mail.Message;
+import javax.mail.Session;
+import javax.mail.Transport;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import java.util.Date;
+import java.util.Properties;
+
+/**
+ * <code>MailServiceImpl</code> is a mail utility used to send {@link org.gridsphere.services.core.mail.MailMessage}s.
+ */
+public class MailServiceImpl implements PortletServiceProvider, MailService {
+
+    private PortalConfigService portalConfigService = null;
+
+    public void init(PortletServiceConfig config) {
+        portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+    }
+
+    public void destroy() {
+    }
+
+    /**
+     * Send an email regarding job completion
+     *
+     * @param msg the MailMessage containing e-mail parameters
+     * @throws PortletServiceException if an error occurs sending the message
+     */
+    public void sendMail(MailMessage msg) throws PortletServiceException {
+        Properties props = System.getProperties();
+        String mailServiceHost = portalConfigService.getProperty(PortalConfigService.MAIL_SERVER);
+        if (mailServiceHost != null) props.put("mail.smtp.host", mailServiceHost);
+        String mailServicePort = portalConfigService.getProperty("mailport");
+        if (mailServicePort != null) props.put("mail.smtp.port", mailServicePort);
+        Session session = Session.getDefaultInstance(props, null);
+        session.setDebug(true);
+        Message mimeMessage = new MimeMessage(session);
+        System.err.println(msg.toString());
+
+        try {
+            InternetAddress from = new InternetAddress(msg.getSender());
+            InternetAddress to[] = InternetAddress.parse(msg.getEmailAddress());
+            mimeMessage.setFrom(from);
+            mimeMessage.setRecipients(Message.RecipientType.TO, to);
+            mimeMessage.setSubject(msg.getSubject());
+            mimeMessage.setSentDate(new Date());
+            mimeMessage.setText(msg.getBody());
+            Transport.send(mimeMessage);
+        } catch (Exception e) {
+            throw new PortletServiceException(e);
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/package.html
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/package.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/mail/package.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<body>
+<b>Mail Utilities</b>
+<p>
+{@link org.gridsphere.services.core.mail.MailMessage} is used to construct an
+e-mail that may be sent using the {@link org.gridsphere.services.core.mail.impl.MailServiceImpl}.
+<p>
+Underlying functionality provided by Sun JavaMail API.
+</body>
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+/*
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PersistenceManagerException.java 4496 2006-02-08 20:27:04Z wehrens $
+ *
+ * Is thrown if an RDBMS Exception occurs.
+ */
+
+package org.gridsphere.services.core.persistence;
+
+public class PersistenceManagerException extends RuntimeException {
+
+    /**
+     * Constructs a new persistence exception with the given text.
+     *
+     * @param msg the exception text
+     */
+    public PersistenceManagerException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Constructs a new persistence exception with the given text.
+     *
+     * @param text  the exception text
+     * @param cause the root cause
+     */
+    public PersistenceManagerException(String text, Throwable cause) {
+        super(text, cause);
+    }
+
+    /**
+     * Constructs a new portlet exception when the portlet needs to throw an exception.
+     * The exception's message is based on the localized message of the underlying exception.
+     *
+     * @param cause the root cause
+     */
+    public PersistenceManagerException(Throwable cause) {
+        super(cause);
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerRdbms.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,103 @@
+/*
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PersistenceManagerRdbms.java 4793 2006-05-17 20:35:20Z novotny $
+ */
+package org.gridsphere.services.core.persistence;
+
+import java.util.List;
+
+public interface PersistenceManagerRdbms {
+
+    public void setClassLoader(ClassLoader loader);
+
+    public void beginTransaction();
+
+    public void endTransaction();
+
+    public void rollbackTransaction();
+
+    /**
+     * Creates the given object in the permanent storage.
+     *
+     * @param object object to be saved
+     * @throws PersistenceManagerException if the object could not be created
+     */
+    public void create(Object object) throws PersistenceManagerException;
+
+    /**
+     * Updates the given (already existing) object in the permanent storage.
+     *
+     * @param object Object to be updated
+     * @throws PersistenceManagerException If object could not be updated
+     */
+    public void update(Object object) throws PersistenceManagerException;
+
+    /**
+     * Saves or updates the given (already existing) object in the permanent storage.
+     *
+     * @param object Object to be updated
+     * @throws PersistenceManagerException If object could not be updated
+     */
+    public void saveOrUpdate(Object object) throws PersistenceManagerException;
+
+    /**
+     * Restores an object matching the query. If multiple are found the first
+     * is returned.
+     *
+     * @param query Query describing the object which should be restored
+     * @return object Returns queried object or null if none was found
+     * @throws PersistenceManagerException
+     */
+    public Object restore(String query) throws PersistenceManagerException;
+
+    /**
+     * Restores objects from storage matching the query.
+     *
+     * @param query Query describing the objects
+     * @return list List of objects from OQL query
+     * @throws PersistenceManagerException If a persistence error occurs
+     */
+    public List restoreList(String query) throws PersistenceManagerException;
+
+    /**
+     * Restores objects from storage matching the query and the supplied query filter
+     *
+     * @param query       Query describing the objects
+     * @param queryFilter a query filter specifying a subset of the list of objects to return
+     * @return list List of objects from OQL query
+     * @throws PersistenceManagerException
+     */
+    public List restoreList(String query, QueryFilter queryFilter) throws PersistenceManagerException;
+
+    /**
+     * @param query Query describing the objects
+     * @return the number of objects returned by the query
+     * @throws PersistenceManagerException
+     */
+    public int count(String query) throws PersistenceManagerException;
+
+    /**
+     * Deletes the given object from the storage.
+     *
+     * @param object Object to be deleted.
+     * @throws PersistenceManagerException If a persistence error occurs
+     */
+    public void delete(Object object) throws PersistenceManagerException;
+
+    /**
+     * Deletes objects from the storage matching the given query.
+     *
+     * @param query Query describing the objects to be deleted
+     * @throws PersistenceManagerException If a persistence error occurs
+     */
+    public void deleteList(String query) throws PersistenceManagerException;
+
+    /**
+     * Shuts down the PersistenceManager. Used to free any ressources
+     * still used by it.
+     *
+     * @throws PersistenceManagerException
+     */
+    public void destroy();
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+package org.gridsphere.services.core.persistence;
+
+import org.gridsphere.portlet.service.PortletService;
+
+import java.util.Collection;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface PersistenceManagerService extends PortletService {
+
+    /**
+     * Create the core GridSphere persistence manager
+     *
+     * @return the core GS PersistenceManager
+     */
+    public PersistenceManagerRdbms createGridSphereRdbms();
+
+    /**
+     * Creates a new persistence manager.
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     * @return the new PersistenceManager
+     */
+    public PersistenceManagerRdbms createPersistenceManagerRdbms(String webappname);
+
+    /**
+     * Destroys a persistence manager.
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     */
+    public void destroyPersistenceManagerRdbms(String webappname);
+
+    /**
+     * Returns all persistence managers.
+     *
+     * @return all persistence managers.
+     */
+    public Collection<PersistenceManagerRdbms> getAllPersistenceManagerRdbms();
+
+    /**
+     * Return the persistence manager for the supplied webapp name
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     * @return the persistence manager for the supplied webapp name
+     */
+    public PersistenceManagerRdbms getPersistenceManagerRdbms(String webappname);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerXml.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerXml.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/PersistenceManagerXml.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PersistenceManagerXml.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.persistence;
+
+import java.net.URL;
+
+public interface PersistenceManagerXml {
+
+    public void setMappingPath(String mappingPath);
+
+    public void setMappingPath(URL mappingURL);
+
+    public void setDescriptorPath(String descriptorPath);
+
+    public String getDescriptorPath();
+
+    public void save(Object object) throws PersistenceManagerException;
+
+    public Object load() throws PersistenceManagerException;
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/QueryFilter.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/QueryFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/QueryFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+package org.gridsphere.services.core.persistence;
+
+/**
+ * A <code>QueryFilter</code> is used to provide support for table pagination
+ */
+public class QueryFilter {
+
+    private int maxResults = 0;
+    private int firstResult = 0;
+    private int totalItems = 0;
+
+    public QueryFilter() {}
+
+    public void setMaxResults(int maxResults) {
+        this.maxResults = maxResults;
+    }
+
+    public int getMaxResults() {
+        return maxResults;
+    }
+
+    public void setFirstResult(int firstResult) {
+        this.firstResult = firstResult;
+    }
+
+    public int getFirstResult() {
+        return firstResult;
+    }
+
+    public void setTotalItems(int totalItems) {
+        this.totalItems = totalItems;
+    }
+    public int getTotalItems() {
+        return totalItems;
+    }
+
+
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Session.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Session.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Session.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,178 @@
+package org.gridsphere.services.core.persistence;
+
+
+import java.sql.Connection;
+import java.util.List;
+import java.util.Iterator;
+import java.io.Serializable;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: Chongjie Zhang
+ * Date: Aug 26, 2004
+ * Time: 4:08:52 PM
+ * To change this template use Options | File Templates.
+ */
+
+public interface Session {
+    /**
+	 * Force the <tt>Session</tt> to flush. <tt>Transaction.commit()</tt> will calls
+     * this method). <i>Flushing</i> is the process of synchronising the underlying
+     *  persistent store with persistable state held in memory.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void flush() throws PersistenceManagerException;
+
+	/**
+	 *  Create a new connection. This is used by applications which
+	 * require long transactions.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void reconnect() throws PersistenceManagerException;
+
+	/**
+	 * End the <tt>Session</tt> by disconnecting from the JDBC connection and
+	 * cleaning up.
+     *
+	 * @throws PersistenceManagerException
+	 */
+	public void close() throws PersistenceManagerException;
+
+	/**
+	 * Check if the <tt>Session</tt> is still open.
+	 *
+	 * @return boolean
+	 */
+	public boolean isOpen();
+
+	/**
+	 * Check if the <tt>Session</tt> is currently connected.
+	 *
+	 * @return boolean
+	 */
+	public boolean isConnected();
+
+	/**
+	 * Does this <tt>Session</tt> contain any changes which must be
+	 * synchronized with the database? Would any SQL be executed if
+	 * we flushed this session?
+	 *
+	 * @return boolean
+	 */
+	public boolean isDirty() throws PersistenceManagerException;
+
+    /**
+     * Creates the given object in the permanent storage.
+     *
+     * @param object object to be saved
+     * @throws PersistenceManagerException if the object could not be created
+     */
+    public void create(Object object) throws PersistenceManagerException;
+
+
+	/**
+	 * <tt>Create()</tt> or <tt>update()</tt> the given instance, depending upon the value of
+	 * its identifier property. By default the instance is always saved. This behaviour may be
+	 * adjusted by specifying an <tt>unsaved-value</tt> attribute of the identifier property
+	 * mapping.
+	 *
+	 * @see Session#create(java.lang.Object)
+	 * @param object a transient instance containing new or updated state
+	 * @throws PersistenceManagerException
+	 */
+	public void createOrUpdate(Object object) throws PersistenceManagerException;
+
+	/**
+	 * Update the persistent instance with the identifier of the given transient
+	 * instance. If there is a persistent instance with the same identifier,
+	 * an exception is thrown.<br>
+	 * <br>
+	 * If the given transient instance has a <tt>null</tt> identifier, an exception
+	 * will be thrown.<br>
+	 * <br>
+	 *
+	 * @param object a transient instance containing updated state
+	 * @throws PersistenceManagerException
+	 */
+	public void update(Object object) throws PersistenceManagerException;
+
+	/**
+	 * Remove a persistent instance from the datastore. The argument may be
+	 * an instance associated with the receiving <tt>Session</tt> or a transient
+	 * instance with an identifier associated with existing persistent state.
+	 *
+	 * @param object the instance to be removed
+	 * @throws PersistenceManagerException
+	 */
+	public void delete(Object object) throws PersistenceManagerException;
+
+
+	/**
+	 * Delete all objects returned by the query.
+	 *
+	 * @param query the query string
+	 * @throws PersistenceManagerException
+	 */
+	public void delete(String query) throws PersistenceManagerException;
+
+	/**
+	 * Synchronize the state of the given instance with the underlying database.
+	 *
+	 * @param object a persistent or transient instance
+	 * @throws PersistenceManagerException
+	 */
+	public void refresh(Object object) throws PersistenceManagerException;
+
+	/**
+	 * Begin a unit of work and return the associated <tt>Transaction</tt> object.
+	 * If a new underlying transaction is required, begin the transaction. Otherwise
+	 * continue the new work in the context of the existing underlying transaction.
+	 * The class of the returned <tt>Transaction</tt> object is determined by the
+	 * property <tt>hibernate.transaction_factory</tt>.
+	 *
+	 * @return a Transaction instance
+	 * @throws PersistenceManagerException
+	 * @see Transaction
+	 */
+	public Transaction beginTransaction() throws PersistenceManagerException;
+
+    /**
+      * Restores an object matching the query. If multiple are found the first
+      * is returned.
+
+      * @param query Query describing the object which should be restored
+      * @return object Returns queried object or null if none was found
+      * @throws PersistenceManagerException
+      */
+
+    public Object restore(String query) throws PersistenceManagerException;
+
+    /**
+      * Restores objects from storage matching the query.
+      *
+      * @param query Query describing the objects
+      * @return list List of objects from OQL query
+      * @throws PersistenceManagerException If a persistence error occurs
+      */
+    public List restoreList(String query) throws PersistenceManagerException;
+
+    /**
+      * Restores objects from storage matching the query and the query filter.
+      *
+      * @param query Query describing the objects
+     * * @param queryFilter a query filter describing which subset of the list to retrieve
+      * @return list List of objects from OQL query
+      * @throws PersistenceManagerException If a persistence error occurs
+      */
+    public List restoreList(String query, QueryFilter queryFilter) throws PersistenceManagerException;
+
+    /**
+	 * Completely clear the session. Evict all loaded instances and cancel all pending
+	 * saves, updates and deletions. Do not close open iterators or instances of
+	 * <tt>ScrollableResults</tt>.
+	 */
+	public void clear();
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Transaction.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Transaction.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/Transaction.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+package org.gridsphere.services.core.persistence;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: czhang
+ * Date: Aug 26, 2004
+ * Time: 5:02:56 PM
+ * To change this template use Options | File Templates.
+ */
+
+public interface Transaction {
+    /**
+	 * Flush the associated <tt>Session</tt> and end the unit of work.
+	 * This method will commit the underlying transaction if and only
+	 * if the transaction was initiated by this object.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void commit() throws PersistenceManagerException;
+
+	/**
+	 * Force the underlying transaction to roll back.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void rollback() throws PersistenceManagerException;
+
+	/**
+	 * Was this transaction rolled back or set to rollback only?
+	 *
+	 * @return boolean
+	 * @throws PersistenceManagerException
+	 */
+	public boolean wasRolledBack() throws PersistenceManagerException;
+
+	/**
+	 * Check if this transaction was successfully committed. This method
+	 * could return <tt>false</tt> even after successful invocation
+	 * of <tt>commit()</tt>.
+	 *
+	 * @return boolean
+	 * @throws PersistenceManagerException
+	 */
+	public boolean wasCommitted() throws PersistenceManagerException;
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/CreateDatabase.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/CreateDatabase.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/CreateDatabase.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+package org.gridsphere.services.core.persistence.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.hibernate.HibernateException;
+import org.hibernate.MappingException;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.connection.DriverManagerConnectionProvider;
+import org.hibernate.tool.hbm2ddl.SchemaExport;
+import org.hibernate.tool.hbm2ddl.SchemaUpdate;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.*;
+
+/**
+ * Ant task to create/update the database.
+ */
+public class CreateDatabase {
+
+    private Log log = LogFactory.getLog(CreateDatabase.class);
+
+    public final static String ACTION_CREATE = "CREATE";
+    public final static String ACTION_UPDATE = "UPDATE";
+
+    private final static String MAPPING_ERROR =
+            "FATAL: Could not create database! Please check above errormessages! ";
+    private final static String CHECK_PROPS =
+            "Please check the hibernate.properties file! ";
+    private final static String DATABASE_CONNECTION_NOT_VALID =
+            "FATAL: Database conenction is not valid! ";
+    private final static String CONNECTION_ERROR =
+            "FATAL: Could not connect to database! ";
+    private final static String CREATION_ERROR =
+            "Could not create database!";
+    private final static String UPDATE_ERROR =
+            "Could not update database!";
+
+
+    private String hibernatePropertiesFileName = "hibernate.properties";
+
+    // where the persistence Mappings are stored
+    private String persistenceMappingDir = "";
+
+    private String action = "";
+
+    public CreateDatabase() {
+    }
+
+    public void setAction(String action) {
+        this.action = action;
+    }
+
+
+    public String getPersistenceMappingDir() {
+        return persistenceMappingDir;
+    }
+
+    public void setPersistenceMappingDir(String persistenceMappingDir) {
+        this.persistenceMappingDir = persistenceMappingDir;
+    }
+
+    public String getAction() {
+        return action;
+    }
+
+    private void createDatabase(Configuration cfg) throws PersistenceManagerException {
+        try {
+            new SchemaExport(cfg).create(false, true);
+            log.info("Successfully created DB");
+        } catch (HibernateException e) {
+            log.error("DB Error: " + CREATION_ERROR + " !", e);
+            throw new PersistenceManagerException("DB Error: " + CREATION_ERROR + " ! " + e.getMessage());
+        }
+    }
+
+    private void updateDatabase(Configuration cfg) throws PersistenceManagerException {
+        try {
+            new SchemaUpdate(cfg).execute(false, true);
+        } catch (HibernateException e) {
+            log.error("DB Error: " + UPDATE_ERROR + " !", e);
+            throw new PersistenceManagerException("DB Error: " + UPDATE_ERROR + " ! " + e.getMessage());
+        }
+    }
+
+    /**
+     * Loads properties from a given directory.
+     */
+    private Properties loadProperties() throws IOException {
+        Properties prop = new Properties();
+
+        FileInputStream fis = null;
+        String hibPath = "";
+        try {
+            SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+            hibPath = settingsService.getRealSettingsPath("database") + hibernatePropertiesFileName;
+            fis = new FileInputStream(hibPath);
+        } catch (FileNotFoundException e) {
+            // todo  I think I should fix this....oliver 
+            log.warn("This should not happen. Check the DB Config!");
+        }
+
+        prop.load(fis);
+        log.info("Using database configuration information from: " + hibPath);
+
+        return prop;
+    }
+
+    /**
+     * Test the Database connection.
+     *
+     * @param props
+     * @throws org.apache.tools.ant.BuildException
+     *
+     */
+    private void testDBConnection(Properties props) throws PersistenceManagerException {
+        DriverManagerConnectionProvider dmcp = new DriverManagerConnectionProvider();
+        try {
+            dmcp.configure(props);
+            Connection con = dmcp.getConnection();
+            dmcp.closeConnection(con);
+        } catch (HibernateException e) {
+            log.error(e);
+            throw new PersistenceManagerException(DATABASE_CONNECTION_NOT_VALID + " " + CHECK_PROPS + " " + e.getMessage(), e);
+        } catch (SQLException e) {
+            log.error(e);
+            throw new PersistenceManagerException(CONNECTION_ERROR + " " + CHECK_PROPS + " " + e.getMessage(), e);
+        }
+
+    }
+
+    /**
+     * Get a hibernate configuration.
+     *
+     * @param props
+     * @return
+     * @throws org.apache.tools.ant.BuildException
+     *
+     */
+    private Configuration getDBConfiguration(Properties props) throws PersistenceManagerException {
+        Configuration cfg = null;
+        try {
+            cfg = new Configuration();
+            cfg.setProperties(props);
+            log.debug("MappingPath is :" + persistenceMappingDir);
+            File mappingdir = new File(persistenceMappingDir);
+            String[] children = mappingdir.list();
+
+            if (children == null) {
+                // Either dir does not exist or is not a directory
+            } else {
+                // Create list from children array
+                List filenameList = Arrays.asList(children);
+                // Ensure that this list is sorted alphabetically
+                Collections.sort(filenameList);
+                for (Iterator filenames = filenameList.iterator(); filenames.hasNext();) {
+                    String filename = (String) filenames.next();
+                    if (filename.endsWith(".hbm.xml")) {
+                        // Get filename of file or directory
+                        log.debug("add hbm file :" + persistenceMappingDir + File.separator + filename);
+                        cfg.addFile(persistenceMappingDir + File.separator + filename);
+                    }
+                }
+            }
+
+        } catch (MappingException e) {
+            throw new PersistenceManagerException("DB Error: " + MAPPING_ERROR);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException("DB Error: " + MAPPING_ERROR);
+        }
+
+        return cfg;
+    }
+
+
+    public void execute() throws IOException, PersistenceManagerException {
+
+        log.info("Database:");
+        log.info("Action: " + this.action);
+
+        // try to load the properties
+        log.info("Using project database");
+        Properties properties = loadProperties();
+
+        // test the db connection
+        this.testDBConnection(properties);
+        log.info("Tested DB connection.");
+
+        // get a hibernate db Configuration
+        Configuration cfg = getDBConfiguration(properties);
+        log.info("Got DB configuration.");
+
+        if (action.equals(ACTION_CREATE)) {
+            this.createDatabase(cfg);
+        } else if (action.equals(ACTION_UPDATE)) {
+            this.updateDatabase(cfg);
+        } else {
+            throw new PersistenceManagerException("Unknown Action specified (" + this.action + ")!");
+        }
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerRdbmsImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,286 @@
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PersistenceManagerRdbmsImpl.java 4877 2006-06-26 23:13:40Z novotny $
+ */
+package org.gridsphere.services.core.persistence.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.hibernate.*;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.stat.Statistics;
+
+import javax.servlet.ServletContext;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Properties;
+
+public class PersistenceManagerRdbmsImpl implements PersistenceManagerRdbms {
+    private transient Log log = LogFactory.getLog(PersistenceManagerRdbmsImpl.class);
+
+    private ThreadLocal<Session> sessionThread = new ThreadLocal<Session>();
+
+    private SessionFactory factory = null;
+
+    private ClassLoader classLoader;
+
+    private final static int CMD_DELETE = 1;
+    private final static int CMD_DELETE_LIST = 2;
+    private final static int CMD_RESTORE = 3;
+    private final static int CMD_RESTORE_LIST = 4;
+    private final static int CMD_UPDATE = 5;
+    private final static int CMD_CREATE = 6;
+    private final static int CMD_SAVEORUPDATE = 7;
+    private final static int CMD_COUNT = 8;
+
+    private String pm = null;
+
+    public void setClassLoader(ClassLoader loader) {
+        this.classLoader = loader;
+    }
+
+    public PersistenceManagerRdbmsImpl(ServletContext context) {
+        Properties prop = new Properties();
+        pm = "gridsphere";
+        //pm = context.getRealPath("");
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+
+        String mappingPath = context.getRealPath("/WEB-INF/persistence");
+        try {
+            String hibPath = settingsService.getRealSettingsPath("database/hibernate.properties");
+            prop.load(new FileInputStream(hibPath));
+            Configuration cfg = loadConfiguration(mappingPath, prop);
+            factory = cfg.buildSessionFactory();
+        } catch (IOException e) {
+            log.error("Unable to load file: " + settingsService.getRealSettingsPath("database/hibernate.properties"));
+        } catch (HibernateException e) {
+            log.error("Could not instantiate Hibernate Factory", e);
+        }
+        log.info("Creating Hibernate RDBMS Impl using config in " + settingsService.getRealSettingsPath("database/hibernate.properties"));
+    }
+
+    public PersistenceManagerRdbmsImpl(String persistenceConfigDir) {
+        this(persistenceConfigDir, persistenceConfigDir);
+    }
+
+    public PersistenceManagerRdbmsImpl(String pathTohibernateProperties, String pathToHibernateMappings) {
+        log.info("Creating Hibernate RDBMS Impl using config in " + pathTohibernateProperties);
+        String filename = pathTohibernateProperties + File.separator + "hibernate.properties";
+        File file = new File(filename);
+        log.debug("Loading properties from :" + file);
+        Properties hibernateProperties = new Properties();
+        try {
+            FileInputStream fis = new FileInputStream(file);
+            hibernateProperties.load(fis);
+            Configuration cfg = loadConfiguration(pathToHibernateMappings, hibernateProperties);
+            factory = cfg.buildSessionFactory();
+        } catch (FileNotFoundException e) {
+            log.error("Could not find Hibernate config file. Make sure you have a file " + file);
+        } catch (IOException e) {
+            log.error("Could not load Hibernate config File", e);
+        } catch (HibernateException e) {
+            log.error("Could not instantiate Hibernate Factory", e);
+        }
+    }
+
+    /**
+     * Load the mappingfiles from the given dirctory location
+     *
+     * @param mappingPath         the file path to find hibernate mapping files
+     * @param hibernateProperties the hibernate properties
+     * @return a hibernate configuration object
+     */
+    private Configuration loadConfiguration(String mappingPath, Properties hibernateProperties) {
+        Configuration cfg = null;
+        try {
+            cfg = new Configuration();
+            cfg.setProperties(hibernateProperties);
+            File mappingdir = new File(mappingPath);
+            String[] children = mappingdir.list();
+
+            if (children != null) {
+                // Create list from children array
+                List<String> filenameList = Arrays.asList(children);
+                // Ensure that this list is sorted alphabetically
+                Collections.sort(filenameList);
+                for (String aFilenameList : filenameList) {
+                    String filename = aFilenameList;
+                    if (filename.endsWith(".hbm.xml")) {
+                        // Get filename of file or directory
+                        log.debug("add hbm file :" + mappingPath + File.separator + filename);
+                        cfg.addFile(mappingPath + File.separator + filename);
+                    }
+                }
+            }
+
+        } catch (MappingException e) {
+            log.error("Could not load Hibernate mapping files", e);
+        }
+
+        return cfg;
+    }
+
+    public void create(Object object) throws PersistenceManagerException {
+        try {
+            doTransaction(object, "", CMD_CREATE, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public void update(Object object) throws PersistenceManagerException {
+        try {
+            doTransaction(object, "", CMD_UPDATE, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public void saveOrUpdate(Object object) throws PersistenceManagerException {
+        try {
+            doTransaction(object, "", CMD_SAVEORUPDATE, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public Object restore(String query) throws PersistenceManagerException {
+        List list = restoreList(query);
+        if (list.size() == 0) return null;
+        return restoreList(query).get(0);
+    }
+
+
+    public List restoreList(String query) throws PersistenceManagerException {
+        try {
+            return (List) doTransaction(null, query, CMD_RESTORE_LIST, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public List restoreList(String query, QueryFilter queryFilter) throws PersistenceManagerException {
+        try {
+            return (List) doTransaction(null, query, CMD_RESTORE_LIST, queryFilter);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public int count(String query) throws PersistenceManagerException {
+        try {
+            Long i = (Long) doTransaction(null, query, CMD_COUNT, null);
+            return i.intValue();
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public void delete(Object object) throws PersistenceManagerException {
+        try {
+            doTransaction(object, "", CMD_DELETE, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    public void deleteList(String query) throws PersistenceManagerException {
+        try {
+            doTransaction(null, query, CMD_DELETE_LIST, null);
+        } catch (HibernateException e) {
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    private Object doTransaction(Object object, String query, int command, QueryFilter queryFilter) throws HibernateException {
+        ClassLoader currentloader = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(classLoader);
+        Object result = null;
+        Query q;
+        Session session = currentSession();
+        switch (command) {
+            case CMD_CREATE:
+                session.save(object);
+                break;
+            case CMD_DELETE:
+                session.delete(object);
+                break;
+            case CMD_DELETE_LIST:
+                session.delete(query);
+                break;
+            case CMD_UPDATE:
+                session.update(object);
+                break;
+            case CMD_SAVEORUPDATE:
+                session.saveOrUpdate(object);
+                break;
+            case CMD_RESTORE_LIST:
+
+                q = session.createQuery(query);
+                if (queryFilter != null) {
+                    q.setFirstResult(queryFilter.getFirstResult());
+                    q.setMaxResults(queryFilter.getMaxResults());
+                }
+                result = q.list();
+                break;
+            case CMD_RESTORE:
+                q = session.createQuery(query);
+                result = q.list().get(0);
+                break;
+            case CMD_COUNT:
+                q = session.createQuery(query);
+                result = q.uniqueResult();
+                break;
+        }
+        Thread.currentThread().setContextClassLoader(currentloader);
+        return result;
+    }
+
+
+    public Session currentSession() throws HibernateException {
+        Session session = sessionThread.get();
+        if (session == null) {
+            session = factory.openSession();
+            sessionThread.set(session);
+        }
+        return session;
+    }
+
+    public void beginTransaction() {
+        log.debug("begin transaction");
+        currentSession().beginTransaction();
+    }
+
+    public void endTransaction() {
+        log.debug("end transaction");
+        currentSession().getTransaction().commit();
+        currentSession().close();
+        sessionThread.set(null);
+    }
+
+    public void rollbackTransaction() {
+        if (currentSession().getTransaction().isActive()) {
+            log.debug("Trying to rollback database transaction after exception");
+            currentSession().getTransaction().rollback();
+        }
+    }
+
+    public void destroy() {
+        System.err.println("destroying pm! " + pm);
+        Statistics stats = factory.getStatistics();
+        stats.logSummary();
+        factory.close();
+        //session = null;
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/PersistenceManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,127 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: PersistenceManagerFactory.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.persistence.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+
+import javax.servlet.ServletContext;
+import java.util.*;
+
+public class PersistenceManagerServiceImpl implements PersistenceManagerService, PortletServiceProvider {
+
+    protected transient Log log = LogFactory.getLog(PersistenceManagerServiceImpl.class);
+
+    protected Map<String, PersistenceManagerRdbms> databases = new HashMap<String, PersistenceManagerRdbms>();
+
+    protected PersistenceManagerRdbms gsDB = null;
+
+    protected ServletContext context;
+
+    public void init(PortletServiceConfig config) {
+        context = config.getServletContext();
+    }
+
+    /**
+     * Create the core GridSphere persistence manager
+     *
+     * @return the core GS PersistenceManager
+     */
+    public synchronized PersistenceManagerRdbms createGridSphereRdbms() {
+        if (gsDB == null) {
+            gsDB = new PersistenceManagerRdbmsImpl(context);
+        }
+        return gsDB;
+    }
+
+    /**
+     * Creates a new persistence manager.
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     * @return the new PersistenceManager
+     */
+    public synchronized PersistenceManagerRdbms createPersistenceManagerRdbms(String webappname) {
+        String path = context.getRealPath("../" + webappname + "/WEB-INF/persistence/");
+        return createPersistenceManagerRdbms(webappname, path, path);
+    }
+
+    public synchronized PersistenceManagerRdbms createPersistenceManagerRdbms(String webappname, String pathTohibernateProperties, String pathToHibernateMappings) {
+        if (!databases.containsKey(webappname)) {
+            log.info("Creating new PM for :" + webappname);
+            PersistenceManagerRdbms pm = new PersistenceManagerRdbmsImpl(pathTohibernateProperties,
+                    pathToHibernateMappings);
+            databases.put(webappname, pm);
+        }
+        return (PersistenceManagerRdbms) databases.get(webappname);
+    }
+
+
+    /**
+     * Returns all persistence managers.
+     *
+     * @return all persistence managers.
+     */
+    public Collection<PersistenceManagerRdbms> getAllPersistenceManagerRdbms() {
+        return databases.values();
+    }
+
+    /**
+     * Return the persistence manager for the supplied webapp name
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     * @return the persistence manager for the supplied webapp name
+     */
+    public PersistenceManagerRdbms getPersistenceManagerRdbms(String webappname) {
+        return databases.get(webappname);
+    }
+
+    /**
+     * Destroys a persistence manager.
+     *
+     * @param webappname the webapp identifier for this PersistenceManager
+     */
+    public void destroyPersistenceManagerRdbms(String webappname) {
+        if (databases.containsKey(webappname)) {
+            try {
+                PersistenceManagerRdbms pm = databases.get(webappname);
+                log.info("Shutdown persistence manager for " + webappname);
+                pm.destroy();
+            } catch (PersistenceManagerException e) {
+                log.error("Unable to destroy pm manager for: " + webappname, e);
+            } finally {
+                databases.remove(webappname);
+            }
+        }
+    }
+
+    /**
+     * Destroys all persistence managers.
+     */
+    public void destroy() {
+        log.info("Shutting down PersistenceManagers ");
+        Set<String> allpms = databases.keySet();
+        Iterator<String> it = allpms.iterator();
+        while (it.hasNext()) {
+            String pmname = it.next();
+            PersistenceManagerRdbms pm = databases.get(pmname);
+            log.info("  shutdown persistencemanager for " + pmname);
+            try {
+                pm.destroy();
+            } catch (PersistenceManagerException e) {
+                log.debug("Could not shutdown PersistenceManager " + pmname);
+            } finally {
+                it.remove();
+            }
+        }
+        gsDB.destroy();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/SessionImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/SessionImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/SessionImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,282 @@
+package org.gridsphere.services.core.persistence.impl;
+
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.persistence.Transaction;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
+
+import java.util.List;
+
+public class SessionImpl  {
+
+    private Log log = LogFactory.getLog(SessionImpl.class);
+
+    private org.hibernate.Session hbSession = null;
+
+    public SessionImpl(org.hibernate.Session hbSession) {
+        this.hbSession = hbSession;
+    }
+
+    /**
+	 * Force the <tt>Session</tt> to flush. <tt>Transaction.commit()</tt> will calls
+     * this method). <i>Flushing</i> is the process of synchronising the underlying
+     * persistent store with persistable state held in memory.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void flush() throws PersistenceManagerException {
+        try {
+            this.hbSession.flush();
+        } catch (Exception e) {
+            log.error("Unable to flush hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+	 * End the <tt>Session</tt> by disconnecting from the JDBC connection and
+	 * cleaning up.
+     *
+	 * @throws PersistenceManagerException
+	 */
+	public void close() throws PersistenceManagerException {
+        try {
+            this.hbSession.close();
+        } catch (Exception e) {
+            log.error("Unable to close hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Check if the <tt>Session</tt> is still open.
+	 *
+	 * @return boolean
+	 */
+	public boolean isOpen() {
+        return this.hbSession.isOpen();
+    }
+
+	/**
+	 * Check if the <tt>Session</tt> is currently connected.
+	 *
+	 * @return boolean
+	 */
+	public boolean isConnected() {
+        return this.hbSession.isConnected();
+    }
+
+	/**
+	 * Does this <tt>Session</tt> contain any changes which must be
+	 * synchronized with the database? Would any SQL be executed if
+	 * we flushed this session?
+	 *
+	 * @return boolean
+     * @throws PersistenceManagerException
+	 */
+	public boolean isDirty() throws PersistenceManagerException {
+        try {
+            return this.hbSession.isDirty();
+        } catch (Exception e) {
+            log.error("Unable to check if hibernate session isdirty", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+     * Creates the given object in the permanent storage.
+     *
+     * @param object object to be saved
+     * @throws PersistenceManagerException if the object could not be created
+     */
+    public void create(Object object) throws PersistenceManagerException {
+        try {
+            this.hbSession.save(object);
+        } catch (Exception e) {
+            log.error("Unable to save object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+
+
+    /**
+	 * <tt>Create()</tt> or <tt>update()</tt> the given instance, depending upon the value of
+	 * its identifier property. By default the instance is always saved. This behaviour may be
+	 * adjusted by specifying an <tt>unsaved-value</tt> attribute of the identifier property
+	 * mapping.
+	 *
+	 * @see org.gridsphere.services.core.persistence.Session#create(java.lang.Object)
+	 * @param object a transient instance containing new or updated state
+	 * @throws PersistenceManagerException
+	 */
+	public void createOrUpdate(Object object) throws PersistenceManagerException {
+        try {
+            this.hbSession.saveOrUpdate(object);
+        } catch (Exception e) {
+            log.error("Unable to save or update object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Update the persistent instance with the identifier of the given transient
+	 * instance. If there is a persistent instance with the same identifier,
+	 * an exception is thrown.<br>
+	 * <br>
+	 * If the given transient instance has a <tt>null</tt> identifier, an exception
+	 * will be thrown.<br>
+	 * <br>
+	 *
+	 * @param object a transient instance containing updated state
+	 * @throw PersistenceManagerException
+	 */
+	public void update(Object object) throws PersistenceManagerException {
+        try {
+            this.hbSession.update(object);
+        } catch (Exception e) {
+            log.error("Unable to update object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Remove a persistent instance from the datastore. The argument may be
+	 * an instance associated with the receiving <tt>Session</tt> or a transient
+	 * instance with an identifier associated with existing persistent state.
+	 *
+	 * @param object the instance to be removed
+	 * @throws PersistenceManagerException
+	 */
+	public void delete(Object object) throws PersistenceManagerException {
+        try {
+            this.hbSession.delete(object);
+        } catch (Exception e) {
+            log.error("Unable to delete object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+
+	/**
+	 * Delete all objects returned by the query. 
+	 *
+	 * @param query the query string
+	 * @throws PersistenceManagerException
+	 */
+	public void delete(String query) throws PersistenceManagerException {
+        try {
+            this.hbSession.delete(query);
+        } catch (Exception e) {
+            log.error("Unable to delete object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Synchronize the state of the given instance with the underlying database.
+	 *
+	 * @param object a persistent or transient instance
+	 * @throws PersistenceManagerException
+	 */
+	public void refresh(Object object) throws PersistenceManagerException {
+        try {
+            this.hbSession.refresh(object);
+        } catch (Exception e) {
+            log.error("Unable to refresh object in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Begin a unit of work and return the associated <tt>Transaction</tt> object.
+	 * If a new underlying transaction is required, begin the transaction. Otherwise
+	 * continue the new work in the context of the existing underlying transaction.
+	 * The class of the returned <tt>Transaction</tt> object is determined by the
+	 * property <tt>hibernate.transaction_factory</tt>.
+	 *
+	 * @return a Transaction instance
+	 * @throws PersistenceManagerException
+     * @see org.gridsphere.services.core.persistence.Transaction
+     */
+    public Transaction beginTransaction() throws PersistenceManagerException {
+        try {
+            Transaction tx =  new TransactionImpl(this.hbSession.beginTransaction());
+            return tx;
+        } catch (Exception e) {
+            log.error("Unable to begin transaction in hibernate session", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+      * Restores an object matching the query. If multiple are found the first
+      * is returned.
+
+      * @param query Query describing the object which should be restored
+      * @return object Returns queried object or null if none was found
+      * @throws PersistenceManagerException
+      */
+
+    public Object restore(String query) throws PersistenceManagerException {
+        try {
+            org.hibernate.Query q = hbSession.createQuery(query);
+            List list = q.list();
+            if (list.size() == 0) {
+                return null;
+            }
+            return q.list().get(0);
+        } catch (Exception e) {
+            log.error("Unable to retrieve object in hibernate session with query " + query, e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+      * Restores objects from storage matching the query.
+      *
+      * @param query Query describing the objects
+      * @return list List of objects from OQL query
+      * @throws PersistenceManagerException If a persistence error occurs
+      */
+    public List restoreList(String query) throws PersistenceManagerException {
+        try {
+            org.hibernate.Query q = hbSession.createQuery(query);
+            return q.list();
+        } catch (Exception e) {
+            log.error("Unable to retrieve list in hibernate session with query " + query, e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+     * Restores objects from storage matching the query.
+     *
+     * @param query Query describing the objects
+     * @return list List of objects from OQL query
+     * @throws PersistenceManagerException If a persistence error occurs
+     */
+    public List restoreList(String query, QueryFilter queryFilter) throws PersistenceManagerException {
+        try {
+            org.hibernate.Query q = hbSession.createQuery(query);
+            if (queryFilter != null) {
+                queryFilter.setFirstResult(queryFilter.getFirstResult());
+                queryFilter.setMaxResults(queryFilter.getMaxResults());
+            }
+            return q.list();
+        } catch (Exception e) {
+            log.error("Unable to retrieve list in hibernate session with query " + query, e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+    /**
+	 * Completely clear the session. Evict all loaded instances and cancel all pending
+	 * saves, updates and deletions. Do not close open iterators or instances of
+	 * <tt>ScrollableResults</tt>.
+	 */
+	public void clear() {
+        this.hbSession.clear();
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/TransactionImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/TransactionImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/persistence/impl/TransactionImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+package org.gridsphere.services.core.persistence.impl;
+
+import org.gridsphere.services.core.persistence.Transaction;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.apache.commons.logging.LogFactory;
+import org.apache.commons.logging.Log;
+
+public class TransactionImpl implements Transaction {
+
+    private static Log log = LogFactory.getLog(TransactionImpl.class);
+
+    private org.hibernate.Transaction hbTransaction = null;
+
+    public TransactionImpl(org.hibernate.Transaction hbTransaction) {
+        this.hbTransaction = hbTransaction;
+    }
+
+    /**
+	 * Flush the associated <tt>Session</tt> and end the unit of work.
+	 * This method will commit the underlying transaction if and only
+	 * if the transaction was initiated by this object.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void commit() throws PersistenceManagerException {
+        try {
+            this.hbTransaction.commit();
+        } catch (Exception e) {
+            log.error("Unable to perform commit hibernate transaction", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Force the underlying transaction to roll back.
+	 *
+	 * @throws PersistenceManagerException
+	 */
+	public void rollback() throws PersistenceManagerException {
+        try {
+            this.hbTransaction.rollback();
+        } catch (Exception e) {
+            log.error("Unable to perform rollback hibernate transaction", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Was this transaction rolled back or set to rollback only?
+	 *
+	 * @return boolean
+	 * @throws PersistenceManagerException
+	 */
+	public boolean wasRolledBack() throws PersistenceManagerException {
+        try {
+            return this.hbTransaction.wasRolledBack();
+        } catch (Exception e) {
+            log.error("Unable to check if transaction was rolled back", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+
+	/**
+	 * Check if this transaction was successfully committed. This method
+	 * could return <tt>false</tt> even after successful invocation
+	 * of <tt>commit()</tt>.
+	 *
+	 * @return boolean
+	 * @throws PersistenceManagerException
+	 */
+	public boolean wasCommitted() throws PersistenceManagerException {
+        try {
+            return this.hbTransaction.wasCommitted();
+        } catch (Exception e) {
+            log.error("Unable to check if transaction was committed", e);
+            throw new PersistenceManagerException(e);
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/PortalConfigService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/PortalConfigService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/PortalConfigService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+/*
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortalConfigService.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.portal;
+
+import java.io.IOException;
+
+
+/**
+ * Portal configuration service is used to manage portal administrative settings
+ */
+public interface PortalConfigService {
+
+    public static String PORTAL_ADMIN_EMAIL = "PORTAL_ADMIN_EMAIL";
+    public static String USE_HTTPS_LOGIN = "USE_HTTPS_LOGIN";
+    public static String USE_HTTPS_REDIRECT = "USE_HTTPS_REDIRECT";
+    public static String MAIL_SERVER = "MAIL_SERVER";
+    public static String MAIL_PORT = "MAIL_PORT";
+    public static String MAIL_FROM = "MAIL_ADDRESS";
+    public static String ENABLE_ERROR_HANDLING = "ENABLE_ERROR_HANDLING";
+    public static String DEFAULT_THEME = "DEFAULT_THEME";
+    public static String SAVE_PASSWORDS = "SAVE_PASSWORDS";
+    public static String SUPPORT_X509_AUTH = "SUPPORT_X509_AUTH";
+    public static String SEND_USER_FORGET_PASSWORD = "SEND_USER_FORGET_PASSWD";
+    public static String REMEMBER_USER = "REMEMBER_USER";
+    public static String LOGIN_NUMTRIES = "ACCOUNT_NUMTRIES";
+    public static String CAN_USER_CREATE_ACCOUNT = "CAN_USER_CREATE_ACCOUNT";
+    public static String ADMIN_ACCOUNT_APPROVAL = "ADMIN_ACCOUNT_APPROVAL";
+    public static String USE_USERNAME_FOR_LOGIN = "USE_USERNAME_FOR_LOGIN";
+
+    public static String PORTAL_PORT = "gridsphere.port.http";
+    public static String PORTAL_SECURE_PORT = "gridsphere.port.https";
+    public static String PORTAL_HOST = "gridsphere.host";
+
+    public String getProperty(String key);
+
+    public void setProperty(String key, String value);
+
+    public void storeProperties() throws IOException;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/portal/impl/PortalConfigServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+/**
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortalConfigServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.portal.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.PortletPageFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.portal.PortalConfigService;
+
+import javax.servlet.ServletContext;
+import java.io.*;
+import java.util.Properties;
+
+/**
+ * Portal configuration service is used to manage portal administrative settings
+ */
+public class PortalConfigServiceImpl implements PortletServiceProvider, PortalConfigService {
+
+    private Log log = LogFactory.getLog(PortalConfigServiceImpl.class);
+
+    protected Properties props = new Properties();
+    protected ServletContext ctx = null;
+    private SettingsService settingsService = null;
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        ctx = config.getServletContext();
+        settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        try {
+            File propFile = new File(settingsService.getRealSettingsPath("portal/gridsphere.properties"));
+            props.load(new FileInputStream(propFile));
+
+            // init config params here, just make sure we do have a theme set
+            String theme = getProperty(PortalConfigService.DEFAULT_THEME);
+            if (theme == null) setProperty(PortalConfigService.DEFAULT_THEME, PortletPageFactory.DEFAULT_THEME);
+            props.store(new FileOutputStream(propFile), "GridSphere Portal Properties");
+        } catch (FileNotFoundException e) {
+            log.error("Unable to find gridsphere.properties", e);
+        } catch (IOException e) {
+            log.error("Unable to load gridsphere.properties", e);
+        }
+    }
+
+    public void destroy() {
+
+    }
+
+    public String getProperty(String key) {
+        if (key == null) throw new IllegalArgumentException("property key cannot be null!");
+        return props.getProperty(key);
+    }
+
+    public void setProperty(String key, String value) {
+        if (key == null) throw new IllegalArgumentException("property key cannot be null!");
+        if (value == null) throw new IllegalArgumentException("property value cannot be null!");
+        props.setProperty(key, value);
+    }
+
+    public void storeProperties() throws IOException {
+        FileOutputStream propertiesOutputStream = new FileOutputStream(settingsService.getRealSettingsPath("portal/gridsphere.properties"));
+        props.store(propertiesOutputStream, "GridSphere Portal Properties");
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletManagerService.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.registry;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portletcontainer.PortletDispatcherException;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+
+import javax.portlet.PortletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * The <code>PortletManagerService</code> is responsible for the initialization, installation, removal and overall
+ * management of portlet web applications.
+ */
+public interface PortletManagerService extends PortletService {
+
+    /**
+     * Initializes all known portlet web applications in order
+     *
+     * @param req                the <code>HttpServletRequest</code>
+     * @param res                the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException      if a dispatching error occurs
+     * @throws PortletException if an exception occurs initializing the portlet web application
+     */
+    public void initAllPortletWebApplications(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException, PortletException;
+
+    /**
+     * Initializes a portlet web application
+     *
+     * @param webApplicationName the name of the portlet web application
+     * @param req                the <code>HttpServletRequest</code>
+     * @param res                the <code>HttpServletresponse</code>
+     * @throws PortletDispatcherException      if a dispatching error occurs
+     * @throws PortletException if an exception occurs initializing the portlet web application
+     */
+    public void initPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException, PortletException;
+
+    /**
+     * Shuts down a currently active portlet web application from the portlet container
+     *
+     * @param webApplicationName the name of the portlet web application
+     * @param req                the <code>HttpServletRequest</code>
+     * @param res                the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException      if a dispatching error occurs
+     */
+    public void destroyPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    public void logoutPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    public void logoutAllPortletWebApplications(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException;
+
+    /**
+     * Lists all the portlet web applications known to the portlet container
+     *
+     * @return the list of web application names as <code>String</code> elements
+     */
+    public List<String> getPortletWebApplicationNames();
+
+    /**
+     * Returns the portlet web application description for the supplied web application name
+     *
+     * @param webApplicationName the name of the portlet web application
+     * @return the portlet web application description
+     */
+    public String getPortletWebApplicationDescription(String webApplicationName);
+
+    public void addPortletWebApplication(PortletWebApplication portletWebApp);
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletRegistryService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletRegistryService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/PortletRegistryService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+package org.gridsphere.services.core.registry;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface PortletRegistryService extends PortletService {
+
+    public void addWebApplication(PortletWebApplication webApp);
+    
+    public PortletWebApplication getWebApplication(String webappName);
+
+    public void addApplicationPortlet(ApplicationPortlet appPortlet);
+
+    public void removeApplicationPortlet(ApplicationPortlet applicationPortlet);
+
+    public ApplicationPortlet getApplicationPortlet(String applicationPortletID);
+
+    public Collection<ApplicationPortlet> getAllApplicationPortlets();
+
+    public List<ApplicationPortlet> getApplicationPortlets(String webApplicationName);
+
+    public String getApplicationPortletID(String concretePortletID);
+
+    public void logRegistry();
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,326 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletManager.java 4733 2006-04-10 18:29:36Z novotny $
+ */
+package org.gridsphere.services.core.registry.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletDispatcherException;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+import org.gridsphere.portletcontainer.impl.PortletInvoker;
+import org.gridsphere.portletcontainer.impl.PortletWebApplicationLoader;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.registry.PortletManagerService;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+
+import javax.portlet.PortletException;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import static java.util.Arrays.sort;
+import java.util.*;
+
+/**
+ * The <code>PortletManager</code> is a singleton responsible for maintaining the registry of portlet
+ * web applications known to the portlet container.
+ */
+public class PortletManagerServiceImpl implements PortletManagerService, PortletServiceProvider {
+
+    private Log log = LogFactory.getLog(PortletManagerServiceImpl.class);
+
+    private ServletContext context = null;
+
+    private PortletRegistryService registryService = null;
+
+    private PortletInvoker portletInvoker = null;
+
+    // A multi-valued hashtable with a webapp key and a List value containing portletAppID's
+    private List<PortletWebApplication> webapps = new Vector<PortletWebApplication>();
+
+    private Map<String, PortletWebApplicationLoader> webappLoaders = new HashMap<String, PortletWebApplicationLoader>();
+
+    // An ordered list of known portlet webapps
+    private String[] webappFiles = null;
+
+    private static String PORTLETS_PATH = "/WEB-INF/CustomPortal/portlets";
+
+    private static class WebappComparator implements Comparator {
+
+        public int compare(Object webapp1, Object webapp2) {
+
+            if (!(webapp1 instanceof String) || !(webapp2 instanceof String)) {
+                throw new ClassCastException("Can only compare string webapp names!!");
+            }
+            String _webapp1 = (String) webapp1;
+            String _webapp2 = (String) webapp2;
+
+            int a = _webapp1.lastIndexOf(".");
+
+            int b = _webapp2.lastIndexOf(".");
+
+            // check if a and b do not have a priority then use alphabetical
+            if ((a > 0) && (b > 0)) {
+                try {
+                    int a1 = Integer.valueOf(_webapp1.substring(a + 1)).intValue();
+                    int a2 = Integer.valueOf(_webapp2.substring(b + 1)).intValue();
+                    if (a1 > a2) return 1;
+                    if (a1 < a2) return -1;
+                    if (a1 == a2) return 0;
+                } catch (NumberFormatException e) {
+                    // oh well
+                }
+            }
+
+            // check if a has a priority and b does not
+            if ((a > 0) && (b < 0)) {
+                return -1;
+            }
+            // check if b has a priority and a does not
+            if ((a < 0) && (b > 0)) {
+                return 1;
+            }
+
+            // use alphabetical comparison
+            return _webapp1.compareTo(_webapp2);
+
+        }
+
+    }
+
+    /**
+     * Initializes portlet web applications that are defined by the <code>PortletManagerService</code>
+     *
+     * @param config the <code>PortletServiceConfig</code>
+     */
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+
+        registryService = (PortletRegistryService) PortletServiceFactory.createPortletService(PortletRegistryService.class, true);
+
+        portletInvoker = new PortletInvoker();
+
+        context = config.getServletContext();
+
+        // get the real path where the info is (will be) stored
+        SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+        PORTLETS_PATH = settingsService.getRealSettingsPath("portlets");
+
+        File f = new File(settingsService.getRealSettingsPath("portlets"));
+        if (f.exists() && f.isDirectory()) {
+
+            // add the portal to the top spot (usually the name is '..../gridsphere' but could be something else, look at
+            // gridsphere.properties
+            String realPath = context.getRealPath("");
+            // patch for jetty, path has always a / at the end as opposed to tomcat, so remove it
+            if (realPath.endsWith("/")) {
+                realPath = realPath.substring(0, realPath.length() - 1);
+            }
+            int l = realPath.lastIndexOf(File.separator);
+            String webappName = realPath.substring(l + 1);
+            String file = PORTLETS_PATH + "/" + webappName + ".1";
+            File myportletapp = new File(file);
+            try {
+                myportletapp.createNewFile();
+            } catch (IOException e) {
+                throw new PortletServiceUnavailableException("Unable to create blank file:" + file);
+            }
+
+            webappFiles = f.list();
+
+            // sort webapps by priority
+            sort(webappFiles, new WebappComparator());
+
+            // get rid of any priority numbers
+            String webapp = "";
+            int idx;
+            for (int i = 0; i < webappFiles.length; i++) {
+                webapp = webappFiles[i];
+                if ((idx = webapp.lastIndexOf(".")) > 0) {
+                    webappFiles[i] = webapp.substring(0, idx);
+                }
+            }
+
+        } else {
+            log.error("Portlet application " + PORTLETS_PATH + " does not exist!");
+            throw new PortletServiceUnavailableException("Portlet application " + PORTLETS_PATH + " does not exist!");
+        }
+    }
+
+    public void destroy() {
+    }
+
+    /**
+     * Adds a portlet web application to the registry
+     *
+     * @param portletWebApp the portlet web application name
+     */
+    public synchronized void addPortletWebApplication(PortletWebApplication portletWebApp) {
+        log.debug("adding webapp: " + portletWebApp.getWebApplicationName());
+        addPortletFile(portletWebApp.getWebApplicationName());
+        Collection<ApplicationPortlet> appPortlets = portletWebApp.getAllApplicationPortlets();
+
+        for (ApplicationPortlet appPortlet : appPortlets) {
+            log.debug("Adding application portlet: " + appPortlet.getApplicationPortletID());
+            registryService.addApplicationPortlet(appPortlet);
+        }
+        webapps.add(portletWebApp);
+    }
+
+    private void addPortletFile(String webappName) {
+        String portletsPath = context.getRealPath(PORTLETS_PATH);
+
+        File f = new File(portletsPath);
+        if (f.exists() && f.isDirectory()) {
+            String[] webappFiles = f.list();
+            for (int i = 0; i < webappFiles.length; i++) {
+                if (webappFiles[i].startsWith(webappName) || webappName.startsWith(webappFiles[i])) return;
+            }
+        }
+        File newfile = new File(portletsPath + File.separator + webappName);
+        try {
+            newfile.createNewFile();
+        } catch (IOException e) {
+            log.error("Unable to create portlet app file: " + newfile.getAbsolutePath());
+        }
+    }
+
+    private void removePortletFile(String webappName) {
+        String portletsPath = context.getRealPath(PORTLETS_PATH);
+        File f = new File(portletsPath);
+        if (f.exists() && f.isDirectory()) {
+            String[] webappFiles = f.list();
+            for (int i = 0; i < webappFiles.length; i++) {
+                if (webappFiles[i].startsWith(webappName) || webappName.startsWith(webappFiles[i])) {
+                    File newfile = new File(portletsPath + File.separator + webappFiles[i]);
+                    newfile.delete();
+                }
+            }
+        }
+    }
+
+    /**
+     * Initializes all known portlet web applications in order
+     *
+     * @param req the <code>HttpServletRequest</code>
+     * @param res the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     * @throws PortletException           if an exception occurs initializing the portlet web application
+     */
+    public synchronized void initAllPortletWebApplications(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException, PortletException {
+        for (int i = 0; i < webappFiles.length; i++) {
+            if (webappFiles[i].startsWith("README")) continue;
+            initPortletWebApplication(webappFiles[i], req, res);
+        }
+    }
+
+    public synchronized void initPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException, PortletException {
+        log.debug("initing web app " + webApplicationName);
+        PortletWebApplicationLoader webAppLoader = new PortletWebApplicationLoader(webApplicationName, context);
+        webappLoaders.put(webApplicationName, webAppLoader);
+        portletInvoker.initPortletWebApp(webAppLoader, req, res);
+    }
+
+    /**
+     * Shuts down a currently active portlet web application from the portlet container
+     *
+     * @param webApplicationName the name of the portlet web application
+     * @param req                the <code>HttpServletRequest</code>
+     * @param res                the <code>HttpServletResponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public synchronized void destroyPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        log.debug("in destroyPortletWebApplication: " + webApplicationName);
+        PortletWebApplicationLoader webAppLoader = webappLoaders.get(webApplicationName);
+        portletInvoker.destroyPortletWebApp(webAppLoader, req, res);
+    }
+
+    /**
+     * Logs out a portlet web application
+     *
+     * @param webApplicationName the name of the portlet web application
+     * @param req                the <code>HttpServletRequest</code>
+     * @param res                the <code>HttpServletresponse</code>
+     * @throws PortletDispatcherException if a dispatching error occurs
+     */
+    public synchronized void logoutPortletWebApplication(String webApplicationName, HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        log.debug("logout web app " + webApplicationName);
+        PortletWebApplicationLoader webAppLoader = webappLoaders.get(webApplicationName);
+        portletInvoker.logoutPortletWebApp(webAppLoader, req, res);
+    }
+
+    public synchronized void logoutAllPortletWebApplications(HttpServletRequest req, HttpServletResponse res) throws PortletDispatcherException {
+        for (int i = 0; i < webappFiles.length; i++) {
+            if (webappFiles[i].startsWith("README")) continue;
+            logoutPortletWebApplication(webappFiles[i], req, res);
+        }
+    }
+
+    /**
+     * Lists all the portlet web applications known to the portlet container
+     *
+     * @return the list of web application names as <code>String</code> elements
+     */
+    public List<String> getPortletWebApplicationNames() {
+        List<String> l = new Vector<String>();
+        // get rid of duplicates -- in the case of JSR portlets two webapps exist by the same name
+        // since the first one represents the "classical" webapp which itself adds the jsr webapp to the
+        // registry with the same name
+        for (int i = 0; i < webappFiles.length; i++) {
+            if (webappFiles[i].startsWith("README")) continue;
+            l.add(webappFiles[i]);
+        }
+
+        return l;
+    }
+
+    /**
+     * Returns the deployed web application names
+     *
+     * @return the known web application names
+     */
+    public List<String> getWebApplicationNames() {
+        List<String> l = new Vector<String>();
+        // get rid of duplicates -- in the case of JSR portlets two webapps exist by the same name
+        // since the first one represents the "classical" webapp which itself adds the jsr webapp to the
+        // registry with the same name
+        for (int i = 0; i < webapps.size(); i++) {
+            PortletWebApplication webapp = webapps.get(i);
+            String webappName = webapp.getWebApplicationName();
+            if (!l.contains(webappName)) l.add(webappName);
+        }
+        Iterator<String> it = l.iterator();
+        while (it.hasNext()) {
+            String s = it.next();
+            int idx = s.indexOf(".");
+            if (idx < 0) {
+                if (l.contains(s + ".1")) it.remove();
+            }
+        }
+        return l;
+    }
+
+    /**
+     * Returns the description of the supplied web application
+     *
+     * @param webApplicationName the web application name
+     * @return the description of this web application
+     */
+    public String getPortletWebApplicationDescription(String webApplicationName) {
+        String webappDesc = "Undefined portlet web application";
+        for (int i = 0; i < webapps.size(); i++) {
+            PortletWebApplication webApp = webapps.get(i);
+            if (webApp.getWebApplicationName().equalsIgnoreCase(webApplicationName)) {
+                return webApp.getWebApplicationDescription();
+            }
+        }
+        return webappDesc;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/registry/impl/PortletRegistryServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PortletRegistry.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.registry.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.portletcontainer.ApplicationPortlet;
+import org.gridsphere.portletcontainer.PortletWebApplication;
+import org.gridsphere.services.core.registry.PortletRegistryService;
+
+import java.util.*;
+
+/**
+ * The <code>PortletRegistry</code> is simply a static <code>Map</code> that keeps track
+ * of all the application portlets known to the container.
+ */
+public class PortletRegistryServiceImpl implements PortletRegistryService, PortletServiceProvider {
+
+    private Log log = LogFactory.getLog(PortletRegistryServiceImpl.class);
+
+    private static Map<String, ApplicationPortlet> allApplicationPortlets = null;
+    private static Map<String, PortletWebApplication> webApps = null;
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        allApplicationPortlets = new Hashtable<String, ApplicationPortlet>();
+        webApps = new Hashtable<String, PortletWebApplication>();
+    }
+
+    public void destroy() {
+        allApplicationPortlets = null;
+        webApps = null;
+    }
+
+    public void addWebApplication(PortletWebApplication webApp) {
+        log.debug("Adding PortleWebapp to registry: " + webApp.getWebApplicationName());
+        webApps.put(webApp.getWebApplicationName(), webApp);
+    }
+
+    public PortletWebApplication getWebApplication(String webappName) {
+        return webApps.get(webappName);
+    }
+
+    /**
+     * Adds an application portlet to the registry
+     *
+     * @param appPortlet an <code>ApplicationPortlet</code>
+     */
+    public void addApplicationPortlet(ApplicationPortlet appPortlet) {
+        String key = appPortlet.getApplicationPortletID();
+        if (key.indexOf("#") < 0) {
+            key = appPortlet.getWebApplicationName() + "#" + appPortlet.getApplicationPortletID();
+            log.debug("adding application portlet key to registry: " + key);
+        }
+        if (allApplicationPortlets.get(key) != null) {
+            log.debug("Replacing existing app portlet: " + key);
+        }
+        allApplicationPortlets.put(key, appPortlet);
+    }
+
+    /**
+     * Removes an application portlet from the registry
+     *
+     * @param applicationPortlet the application portlet
+     */
+    public void removeApplicationPortlet(ApplicationPortlet applicationPortlet) {
+        allApplicationPortlets.remove(applicationPortlet.getApplicationPortletID());
+    }
+
+    /**
+     * Return the application portlet with the corresponding id
+     *
+     * @param applicationPortletID the application portlet id
+     * @return an application portlet
+     */
+    public ApplicationPortlet getApplicationPortlet(String applicationPortletID) {
+        int idx = applicationPortletID.indexOf("#");
+        if (idx > 0) {
+            return (ApplicationPortlet) allApplicationPortlets.get(applicationPortletID);
+        }
+        Collection<ApplicationPortlet> coll = allApplicationPortlets.values();
+
+        for (ApplicationPortlet app : coll) {
+            if (app.getApplicationPortletID().equals(applicationPortletID)) return app;
+            if (app.getApplicationPortletClassName().equals(applicationPortletID)) return app;
+        }
+        log.debug("Unable to find " + applicationPortletID + " in registry");
+        return null;
+    }
+
+
+    /**
+     * Returns all application portlets from the registry
+     *
+     * @return the collection of application portlets
+     */
+    public Collection<ApplicationPortlet> getAllApplicationPortlets() {
+        return allApplicationPortlets.values();
+    }
+
+
+    /**
+     * Returns all application portlets from the supplied portlet web application
+     *
+     * @param webApplicationName the portlet web application name
+     * @return the list of application portlets
+     */
+    public List<ApplicationPortlet> getApplicationPortlets(String webApplicationName) {
+        List<ApplicationPortlet> webappPortlets = new Vector<ApplicationPortlet>();
+        Set<String> set = allApplicationPortlets.keySet();
+        ApplicationPortlet appPortlet;
+        for (String concretePortletID : set) {
+            appPortlet = (ApplicationPortlet) allApplicationPortlets.get(concretePortletID);
+            if (appPortlet.getWebApplicationName().equals((webApplicationName))) {
+                webappPortlets.add(appPortlet);
+            }
+        }
+        return webappPortlets;
+    }
+
+    /**
+     * Returns the application portlet id given a concrete portlet id
+     *
+     * @param concretePortletID the concrete portlet id
+     * @return the application portlet id or an empty string
+     */
+    public String getApplicationPortletID(String concretePortletID) {
+        int i = concretePortletID.lastIndexOf(".");
+        // do nothing if id is on form <web app name>#<portlet name>
+        if (concretePortletID.indexOf("#") > 0) return concretePortletID;
+        if (i < 0) return concretePortletID;
+        // check to see if it has number at the end
+        String numStr = concretePortletID.substring(i + 1);
+        String appID = "";
+        try {
+            Integer.parseInt(numStr);
+            appID = concretePortletID.substring(0, i);
+        } catch (NumberFormatException e) {
+            appID = concretePortletID;
+        }
+        return appID;
+    }
+
+    public void logRegistry() {
+        log.debug("Displaying Portlet registry contents:\n");
+        for (String s : allApplicationPortlets.keySet()) {
+            String appID = (String) s;
+            ApplicationPortlet appPortlet = (ApplicationPortlet) allApplicationPortlets.get(appID);
+            log.debug("\tApplication portlet : " + appPortlet.getApplicationPortletID() + "\n");
+            log.debug("\t" + appPortlet + "\n");
+        }
+
+
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/Request.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/Request.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/Request.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+package org.gridsphere.services.core.request;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface Request {
+    String getLabel();
+
+    void setLabel(String label);
+
+    String getOid();
+
+    void setOid(String oid);
+
+    String getUserID();
+
+    void setUserID(String userID);
+
+    Date getLifetime();
+
+    void setLifetime(Date lifetime);
+
+    Map getAttributes();
+
+    void setAttributes(Map attributes);
+
+    String getAttribute(String name);
+
+    void setAttribute(String name, String value);
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/RequestService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/RequestService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/RequestService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+/*
+ * @version: $Id: RequestService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.request;
+
+import org.gridsphere.portlet.service.PortletService;
+
+public interface RequestService extends PortletService {
+
+    public Request getRequest(String requestId, String label);
+
+    public Request createRequest(String label);
+
+    public void deleteRequest(Request request);
+
+    public void saveRequest(Request request);
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/GenericRequest.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/GenericRequest.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/GenericRequest.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,82 @@
+/*
+ * @version: $Id: GenericRequest.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.request.impl;
+
+import org.gridsphere.services.core.request.Request;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+public class GenericRequest implements Request {
+
+    private String oid = null;
+    private String userID = "";
+    private String label = "";
+    private Date lifetime = null;
+    private Map attributes = new HashMap();
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public String getUserID() {
+        return userID;
+    }
+
+    public void setUserID(String userID) {
+        this.userID = userID;
+    }
+
+    public Date getLifetime() {
+        return lifetime;
+    }
+
+    public void setLifetime(Date lifetime) {
+        this.lifetime = lifetime;
+    }
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map attributes) {
+        this.attributes = attributes;
+    }
+
+    /**
+     * Returns the value of the attribute with the given name,s
+     * or null if no attribute with the given name exists.
+     *
+     * @param name the attribute name
+     * @return the attribute value
+     */
+    public String getAttribute(String name) {
+        return (String)attributes.get(name);
+    }
+
+    /**
+     * Sets the value of the attribute with the given name,
+     *
+     * @param name  the attribute name
+     * @param value the attribute value
+     */
+    public void setAttribute(String name, String value) {
+        attributes.put(name, value);
+    }
+
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/RequestServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/RequestServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/request/impl/RequestServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+/*
+ * @version: $Id: RequestServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.request.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.request.Request;
+import org.gridsphere.services.core.request.RequestService;
+
+import java.util.*;
+
+public class RequestServiceImpl implements RequestService, PortletServiceProvider {
+
+    private static final long REQUEST_SWEEP_FREQUENCY = 5000 * 60; // 5 minute intervals
+
+    private PersistenceManagerRdbms pm = null;
+    private Log log = LogFactory.getLog(RequestServiceImpl.class);
+    private Timer timer = null;
+
+    private class RequestSweeperTask extends TimerTask {
+        public void run() {
+            clearExpiredEntries();
+        }
+    }
+
+    public void init(PortletServiceConfig config) {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+        timer = new Timer(true);
+        timer.schedule(new RequestSweeperTask(), Calendar.getInstance().getTime(), REQUEST_SWEEP_FREQUENCY);
+    }
+
+    public void destroy() {
+        timer.cancel();
+        timer = null;
+    }
+
+    public Request getRequest(String requestId, String label) {
+        Request request = null;
+        String query = "select gsreq from "
+                + GenericRequest.class.getName()
+                + " gsreq where gsreq.oid='" + requestId + "' and gsreq.label='" + label + "'";
+        try {
+            request = (Request) this.pm.restore(query);
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to retrieve request: " + requestId, e);
+        }
+        return request;
+    }
+
+    public Request createRequest(String label) {
+        Request request = new GenericRequest();
+        request.setLabel(label);
+        saveRequest(request);
+        return request;
+    }
+
+    public void saveRequest(Request request) {
+        try {
+            pm.saveOrUpdate(request);
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to create or update password for user", e);
+        }
+    }
+
+    protected void clearExpiredEntries() {
+        //log.debug("Updating generic requests");
+        Date date = Calendar.getInstance().getTime();
+        List<Request> reqs = getAllRequests();
+        for (Request req : reqs) {
+            if (req.getLifetime() == null) {
+                log.debug("deleting request with no lifetime specified " + req.getOid());
+                deleteRequest(req);
+            } else if (date.compareTo(req.getLifetime()) >= 0) {
+                log.debug("deleting request " + req.getOid());
+                deleteRequest(req);
+            }
+        }
+    }
+
+    public void deleteRequest(Request request) {
+        try {
+            pm.delete(request);
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to delete request: " + request.getOid(), e);
+        }
+
+    }
+
+    public List<Request> getAllRequests() {
+        String oql = "select gsreq from "
+                + GenericRequest.class.getName()
+                + " gsreq ";
+        try {
+            return pm.restoreList(oql);
+        } catch (PersistenceManagerException e) {
+            log.error("Error retrieving requests", e);
+            return new ArrayList();
+        }
+
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/RssService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/RssService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/RssService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+package org.gridsphere.services.core.rss;
+
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+import org.gridsphere.portlet.service.PortletService;
+
+/**
+ * Defines methods for accessing RSS feeds
+ */
+public interface RssService extends PortletService {
+
+    /**
+     * Returns an SyndFeed object containing the feed of the given URL
+     *
+     * @param url url of the feed
+     * @return com.sun.syndication.feed.synd.SyndFeed
+     */
+    SyndFeed getFeed(String url) throws FeedException;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl/RssServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl/RssServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/rss/impl/RssServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+package org.gridsphere.services.core.rss.impl;
+
+import com.sun.syndication.feed.synd.SyndFeed;
+import com.sun.syndication.io.FeedException;
+import com.sun.syndication.io.SyndFeedInput;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.rss.RssService;
+import org.xml.sax.InputSource;
+
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Implementation of the RssService.
+ * $Id$
+ */
+public class RssServiceImpl implements RssService, PortletServiceProvider {
+
+    private long CACHE_TIME = 20 * 60 * 1000; // in minutes
+    private Map<String, SyndFeed> cachedStore = new HashMap<String, SyndFeed>();
+    private Map<String, Long> cachedTime = new HashMap<String, Long>();
+
+    public SyndFeed getFeed(String url) throws FeedException {
+        SyndFeedInput input = new SyndFeedInput();
+        SyndFeed feed = null;
+        long diff = CACHE_TIME + 1;
+        // check if the url is in the cachedStore
+        if (cachedStore.containsKey(url)) {
+            Long cachedTime = (Long) this.cachedTime.get(url);
+            diff = System.currentTimeMillis() - cachedTime.longValue();
+        }
+
+
+        if (diff > CACHE_TIME) {
+            try {
+                URL rssUrl = new URL(url);
+                URLConnection c = rssUrl.openConnection();
+                c.setConnectTimeout(2000);
+                c.setReadTimeout(2000);
+                c.connect();
+                InputSource src = new InputSource(c.getInputStream());
+                feed = input.build(src);
+            } catch (IOException e) {
+                throw new FeedException("Invalid URL.");
+            }
+            cachedStore.put(url, feed);
+            cachedTime.put(url, new Long(System.currentTimeMillis()));
+        }
+        return (SyndFeed) cachedStore.get(url);
+    }
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        Long cacheTime = new Long(config.getInitParameter("cache_time"));
+        CACHE_TIME = cacheTime.longValue() * 60 * 1000;
+    }
+
+    public void destroy() {
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileInfo.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileInfo.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileInfo.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version 0.9 2004/03/30
+ */
+package org.gridsphere.services.core.secdir;
+
+public class FileInfo {
+    private String resource;
+    private boolean isDirectory;
+    private long lastModified;
+    private long length;
+
+    public FileInfo(String resource, boolean directory, long lastModified, long length) {
+        this.resource = resource;
+        isDirectory = directory;
+        this.lastModified = lastModified;
+        this.length = length;
+    }
+
+    public String getResource() {
+        return resource;
+    }
+
+    public void setResource(String resource) {
+        this.resource = resource;
+    }
+
+    public boolean isDirectory() {
+        return isDirectory;
+    }
+
+    public void setDirectory(boolean directory) {
+        isDirectory = directory;
+    }
+
+    public long getLastModified() {
+        return lastModified;
+    }
+
+    public void setLastModified(long lastModified) {
+        this.lastModified = lastModified;
+    }
+
+    public long getLength() {
+        return length;
+    }
+
+    public void setLength(long length) {
+        this.length = length;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileLocationID.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileLocationID.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/FileLocationID.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+package org.gridsphere.services.core.secdir;
+
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version $Id: FileLocationID.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public class FileLocationID {
+
+    private String userID = null;
+    private String category = null;
+    private String filePath = null;
+    private boolean shared = false;
+
+    public FileLocationID(String userID, String category, String filePath) {
+        this.userID = userID;
+        this.category = category;
+        this.filePath = filePath;
+    }
+
+    public FileLocationID(String userID, String category, String filePath, boolean shared) {
+        this.userID = userID;
+        this.category = category;
+        this.filePath = filePath;
+        this.shared = shared;
+    }
+
+    public String getFilePath() {
+        return filePath;
+    }
+
+    public void setFilePath(String filePath) {
+        this.filePath = filePath;
+    }
+
+    public String getUserID() {
+        return userID;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public boolean isShared() {
+        return shared;
+    }
+
+    public void setShared(boolean shared) {
+        this.shared = shared;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/SecureDirectoryService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/SecureDirectoryService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/SecureDirectoryService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,180 @@
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version 1.0 2004/08/16
+ */
+package org.gridsphere.services.core.secdir;
+
+import org.gridsphere.portlet.service.PortletService;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * The <code>SecureDirectoryService</code> manages a temporary secure directory used for the storage of
+ * user's persistent data. Resources are accessible by browser using URLs only when user is logged in.
+ * Every user works using separate directory based on his user ID.
+ * <p/>
+ * Parameter "category" is root of filesystem f.e. "Commander" for CommanderPortlet.
+ * More then one portlet can share one root. Number of roots is unlimited.
+ * One portlet can use unlimited amount of roots.
+ * <p/>
+ * Contributed by Tomasz Kucynski  tomasz.kuczynski at icis.pcz.pl
+ */
+
+public interface SecureDirectoryService extends PortletService {
+
+    /**
+     * Creates a file location path to store files using the following strategy:
+     * <p/>
+     * location path = "/GUEST/<category>/<fileName>"
+     * <p/>
+     * The fileName
+     *
+     * @param category a category name define root of share virtual filesystem
+     * @param fileName the name of the file, this can be any file path e.g. "context.xml"
+     *                 or "/newdir/files/context.xml"
+     * @return a constructed file location path from the supplied parameters
+     */
+    public FileLocationID createFileLocationID(String category, String fileName);
+
+    /**
+     * Creates a file location path to store files using the following strategy:
+     * <p/>
+     * location path = "/<userID>/<category>/<fileName>"
+     * <p/>
+     * The fileName
+     *
+     * @param userID   the user id
+     * @param category a category name define root of user's virtual filesystem
+     * @param fileName the name of the file, this can be any file path e.g. "context.xml"
+     *                 or "/newdir/files/context.xml"
+     * @return a constructed file location path from the supplied parameters
+     */
+    public FileLocationID createFileLocationID(String userID, String category, String fileName);
+
+    /**
+     * Returns URL that points at resource in SecureDirectory
+     *
+     * @param fileLocationID the file location id
+     * @return URL that represents the location of the file to be used in a hyperlink, etc.
+     */
+    public String getFileUrl(FileLocationID fileLocationID);
+
+    /**
+     * Returns URL that allows to download resource from SecureDirectory
+     *
+     * @param fileLocationID the file location id
+     * @param saveAs         filename for resource which will be sent to the browser
+     * @param contentType    if non-null forces the content type that should be set by HTTP server
+     * @return URL that allows to download resource using Web Browser (forces on browser save as dialog box)
+     */
+    public String getDownloadFileUrl(FileLocationID fileLocationID, String saveAs, String contentType);
+
+    /**
+     * Returns array of descriptors of resources in some path in SecureDirectory (something like ls/dir command for SecureDirectoryService)
+     *
+     * @param fileLocationID a file location id that includes a path
+     * @return array of file information
+     */
+    public FileInfo[] getFileList(FileLocationID fileLocationID);
+
+    /**
+     * Returns file object for the resource in SecureDirectory
+     *
+     * @param fileLocationID the file location id
+     * @return file object for the resource in SecureDirectory or null if resource doesn't exist
+     */
+    public File getFile(FileLocationID fileLocationID);
+
+    /**
+     * Adds resource to SecureDirectory
+     *
+     * @param fileLocationID the file location id
+     * @param inputFile      java.io.File object to add
+     * @throws java.io.IOException if fails to add resource
+     */
+    public void addFile(FileLocationID fileLocationID, File inputFile) throws IOException;
+
+    /**
+     * Adds resource to SecureDirectory
+     *
+     * @param fileLocationID the file location id
+     * @param inputStream    java.io.InputStream object to add
+     * @throws java.io.IOException if fails to add resource
+     */
+    public void addFile(FileLocationID fileLocationID, InputStream inputStream) throws IOException;
+
+    /**
+     * Removes resource in SecureDirectory
+     *
+     * @param fileLocationID the handle to the file to be deleted
+     * @return success = true / fail = false
+     */
+    public boolean deleteFile(FileLocationID fileLocationID);
+
+    /**
+     * Removes resource in SecureDirectory (allows to remove subdirectories recursively)
+     *
+     * @param fileLocationID the handle to the file to be deleted
+     * @param recursive      set to true to delete directory and its subdirectories
+     * @return success = true / fail = false
+     */
+    public boolean deleteFile(FileLocationID fileLocationID, boolean recursive);
+
+    /**
+     * Removes resource in SecureDirectory (allows to remove subdirectories recursively/allows to remove parentdirectories recursively)
+     *
+     * @param fileLocationID the handle to the file to be deleted
+     * @param recursive      set to true to delete directory and its subdirectories
+     * @param delTree        set to true to delete tree of all empty parentdirectores
+     * @return success = true / fail = false
+     */
+    public boolean deleteFile(FileLocationID fileLocationID, boolean recursive, boolean delTree);
+
+    /**
+     * Copies one resource to another one in SecureDirectory (checks if copying is save - if it is not copying directory to its subdirectory)
+     *
+     * @param srcFileLocationID source file location id
+     * @param fileDest          the name of the destination file, this can be any file path e.g. "context.xml"
+     *                          or "/newdir/files/context.xml"
+     * @return success = true / fail = false
+     */
+    public boolean copyFile(FileLocationID srcFileLocationID, String fileDest);
+
+    /**
+     * Moves one resource to another one in SecureDirectory (checks if moving is save - if it is not moving directory to its subdirectory)
+     *
+     * @param srcFileLocationID source file location id
+     * @param fileDest          the name of the destination file, this can be any file path e.g. "context.xml"
+     *                          or "/newdir/files/context.xml"
+     * @return success = true / fail = false
+     */
+    public boolean moveFile(FileLocationID srcFileLocationID, String fileDest);
+
+    /**
+     * Checks if resource exists in SecureDirectory
+     *
+     * @param fileLocationID source file location id
+     * @return exists = true / doesn't exist = false
+     */
+    public boolean fileExists(FileLocationID fileLocationID);
+
+    /**
+     * Checks if category exists for user
+     *
+     * @param userID   the user id
+     * @param category a category name define root of user's virtual filesystem
+     * @return true - category exists/false - category doesn't exist
+     */
+    public boolean categoryExistsForUser(String userID, String category);
+
+    /**
+     * Creates category for user
+     *
+     * @param userID   the user id
+     * @param category a category name define root of user's virtual filesystem
+     * @throws java.io.IOException - if method fails
+     */
+    public void createCategoryForUser(String userID, String category) throws IOException;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/secdir/impl/SecureDirectoryServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,480 @@
+/**
+ * @author <a href="mailto:tkucz at icis.pcz.pl">Tomasz Kuczynski</a>
+ * @version 0.7 2004/10/06
+ */
+package org.gridsphere.services.core.secdir.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.oro.text.perl.Perl5Util;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.secdir.FileInfo;
+import org.gridsphere.services.core.secdir.FileLocationID;
+import org.gridsphere.services.core.secdir.SecureDirectoryService;
+
+import java.io.*;
+import java.net.URLEncoder;
+import java.util.StringTokenizer;
+
+public class SecureDirectoryServiceImpl implements SecureDirectoryService, PortletServiceProvider {
+    private Perl5Util util = new Perl5Util();
+    private static boolean inited = false;
+    private final static int BUFFER_SIZE = 8 * 1024; //8 kB
+    private static String secureDirPath;
+    private static final String SECURE_SERVLET_MAPPING = "secure";
+    protected Log log = LogFactory.getLog(SecureDirectoryServiceImpl.class);
+
+    public void init(PortletServiceConfig config) {
+        if (!inited) {
+            secureDirPath = config.getServletContext().getRealPath("/WEB-INF/" + SECURE_SERVLET_MAPPING);
+            File f = new File(secureDirPath);
+            if (!f.exists()) {
+                log.debug("Creating secure directory for users: " + secureDirPath);
+                if (!f.mkdirs())
+                    log.error("Unable to create directory" + secureDirPath);
+            }
+            inited = true;
+        }
+    }
+
+    public void destroy() {
+    }
+
+    public String getFileUrl(FileLocationID fileLocationID) {
+        return getDownloadFileUrl(fileLocationID, null, null);
+    }
+
+    public String getDownloadFileUrl(FileLocationID fileLocationID, String saveAs, String contentType) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        boolean shared = fileLocationID.isShared();
+        if (userID == null || appName == null || resource == null || !inited)
+            return null;
+        String userDirectoryPath;
+        resource = util.substitute("s!\\\\!/!g", resource);
+        resource = util.substitute("s!^/!!", resource);
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + File.separator + appName + File.separator + resource;
+            File file = new File(filePath);
+            if (!file.exists() || file.isDirectory())
+                return null;
+            String queryString = "";
+            if (saveAs != null && !saveAs.equals("")) {
+                try {
+                    queryString += "saveAs=" + URLEncoder.encode(saveAs, "UTF-8");
+                } catch (Exception e) {
+                }
+            }
+            if (contentType != null && !contentType.equals("")) {
+                if (!queryString.equals(""))
+                    queryString += "&";
+                try {
+                    queryString += "contentType=" + URLEncoder.encode(contentType, "UTF-8");
+                } catch (Exception e) {
+                }
+            }
+            if(shared){
+                if (!queryString.equals(""))
+                    queryString += "&";
+                queryString += "shared=true";
+            }
+            resource = util.substitute("s!\\\\!/!g", resource);
+            String url = SECURE_SERVLET_MAPPING + "/" + appName + "/" + resource + (queryString != null && !queryString.equals("") ? "?" + queryString : "");
+            return url;
+        } else {
+            return null;
+        }
+    }
+
+    public FileInfo[] getFileList(FileLocationID fileLocationID) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String path = fileLocationID.getFilePath();
+        if (userID == null || appName == null || path == null || !inited)
+            return null;
+        String userDirectoryPath;
+        //FOR SECURITY REASONS DO NOT CHANGE THE FOLLOWING REGEXPS (UNLESS YOU KNOW WHAT YOU ARE DOING)
+        path = util.substitute("s!\\\\!/!g", path);
+        do {
+            path = util.substitute("s!^/!!", path);
+            path = util.substitute("s!\\.\\.!.!g", path);
+            path = util.substitute("s!^\\.[\\/]!!", path);
+        } while (util.match("m!^/|\\.\\.|^\\.[\\/]!", path));
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String dirPath = userDirectoryPath + File.separator + appName + File.separator + path;
+            File directory = new File(dirPath);
+            if (!directory.exists() || !directory.isDirectory())
+                return null;
+            String[] directoryList = directory.list();
+            int start = 1; //(path.length() == 0 ? 0 : 1);
+            FileInfo[] resourceList = new FileInfo[directoryList.length + start];
+            if (start == 1) {
+                resourceList[0] = new FileInfo("..", true, directory.lastModified(), 0);
+            }
+            for (int i = 0; i < directoryList.length; ++i) {
+                String resourceName = directoryList[i];
+                File file = new File(dirPath + resourceName);
+                resourceList[i + start] = new FileInfo(resourceName, file.isDirectory(), file.lastModified(), file.length());
+            }
+            return resourceList;
+        } else {
+            return null;
+        }
+    }
+
+    public File getFile(FileLocationID fileLocationID) {
+        return getFile(fileLocationID, true);
+    }
+
+    public boolean deleteFile(FileLocationID fileLocationID) {
+        return deleteFile(fileLocationID, false);
+    }
+
+    public boolean deleteFile(FileLocationID fileLocationID, boolean recursive) {
+        return deleteFile(fileLocationID, recursive, false);
+    }
+
+    public boolean deleteFile(FileLocationID fileLocationID, boolean recursive, boolean delTree) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        //FOR SECURITY REASONS DO NOT CHANGE THE FOLLOWING REGEXPS (UNLESS YOU KNOW WHAT YOU ARE DOING)
+        do {
+            resource = util.substitute("s!\\.\\.!.!g", resource);
+        } while (util.match("m!\\.\\.!", resource));
+        if (deleteFile(userID, appName, resource, delTree)) {
+            return true;
+        } else
+            return deleteDirectory(userID, appName, resource, recursive, delTree);
+    }
+
+    public boolean copyFile(FileLocationID srcFileLocationID, String fileDest) {
+        String userID = srcFileLocationID.getUserID();
+        String appName = srcFileLocationID.getCategory();
+        String resourceSource = srcFileLocationID.getFilePath();
+        if (!isInPath(resourceSource, fileDest))
+            return copyResource(userID, appName, resourceSource, fileDest);
+        return false;
+    }
+
+    public boolean moveFile(FileLocationID srcFileLocationID, String fileDest) {
+        String userID = srcFileLocationID.getUserID();
+        String appName = srcFileLocationID.getCategory();
+        String resourceSource = srcFileLocationID.getFilePath();
+        if (!isInPath(resourceSource, fileDest))
+            if (copyResource(userID, appName, resourceSource, fileDest))
+                return deleteFile(new FileLocationID(userID, appName, resourceSource), true);
+        return false;
+    }
+
+    public void addFile(FileLocationID fileLocationID, InputStream inputStream) throws IOException {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        File file = getFile(fileLocationID);
+        if (file == null)
+            throw new IOException("Unable to add file for (USERID=" + userID + ",CATEGORY=" + appName + ",FILENAME=" + resource + ") !");
+        try {
+            file.delete();
+            if (!file.createNewFile())
+                throw new IOException("Unable to add file for (USERID=" + userID + ",CATEGORY=" + appName + ",FILENAME=" + resource + ") ! Can't create file.");
+            FileOutputStream output = new FileOutputStream(file);
+            rewrite(inputStream, output);
+            output.flush();
+            output.close();
+        } catch (Exception e) {
+            throw new IOException("Unable to add file for (USERID=" + userID + ",CATEGORY=" + appName + ",FILENAME=" + resource + ") !" + e.getMessage());
+        }
+    }
+
+    public void addFile(FileLocationID fileLocationID, File inputFile) throws IOException {
+        FileInputStream input = new FileInputStream(inputFile);
+        addFile(fileLocationID, input);
+        input.close();
+    }
+
+    public boolean categoryExistsForUser(String userID, String category) {
+        if (userID == null || category == null || !inited)
+            return false;
+        //FOR SECURITY REASONS DO NOT CHANGE THE FOLLOWING REGEXP (UNLESS YOU KNOW WHAT YOU ARE DOING)
+        category = util.substitute("s![\\/.]!!g", category);
+        String userDirectoryPath;
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + "/" + category;
+            File file = new File(filePath);
+            if (!file.exists()) {
+                return false;
+            } else if (!file.isDirectory()) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public void createCategoryForUser(String userID, String category) throws IOException {
+        if (userID == null || category == null || !inited) {
+            if (!inited)
+                throw new IOException("Unable to create category for user ! SecureDirectory service is not initialized.");
+            throw new IOException("Unable to create category for user (USERID=" + userID + ",CATEGORY=" + category + ")");
+        }
+        //FOR SECURITY REASONS DO NOT CHANGE THE FOLLOWING REGEXP (UNLESS YOU KNOW WHAT YOU ARE DOING)
+        category = util.substitute("s![\\/.]!!g", category);
+        String userDirectoryPath;
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + "/" + category;
+            File file = new File(filePath);
+            if (!file.exists()) {
+                if (!file.mkdir()) {
+                    log.error("Unable to create directory for application " + filePath);
+                    throw new IOException("Unable to create category for user (USERID=" + userID + ",CATEGORY=" + category + ") ! Can't create directory.");
+                }
+            } else {
+                return;
+            }
+        } else {
+            throw new IOException("Unable to create category for user (USERID=" + userID + ",CATEGORY=" + category + ")! Can't get user directory.");
+        }
+    }
+
+    public boolean fileExists(FileLocationID fileLocationID) {
+        File file = getFile(fileLocationID, false);
+        if (file == null || !file.exists())
+            return false;
+        return true;
+    }
+
+    public FileLocationID createFileLocationID(String userID, String category, String fileName) {
+        return new FileLocationID(userID, category, fileName);
+    }
+
+    public FileLocationID createFileLocationID(String category, String fileName) {
+        return new FileLocationID("GUEST", category, fileName, true);
+    }
+
+    private File getFile(FileLocationID fileLocationID, boolean createPath) {
+        String userID = fileLocationID.getUserID();
+        String appName = fileLocationID.getCategory();
+        String resource = fileLocationID.getFilePath();
+        if (userID == null || appName == null || resource == null || !inited)
+            return null;
+        //FOR SECURITY REASONS DO NOT CHANGE THE FOLLOWING REGEXPS (UNLESS YOU KNOW WHAT YOU ARE DOING)
+        resource = util.substitute("s!\\\\!/!g", resource);
+        do {
+            resource = util.substitute("s!^/!!", resource);
+            resource = util.substitute("s!\\.\\.!.!g", resource);
+            resource = util.substitute("s!^\\.[\\/]!!", resource);
+        } while (util.match("m!^/|\\.\\.|^\\.[\\/]!", resource));
+        String userDirectoryPath;
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + File.separator + appName;
+            File file = new File(filePath);
+            if (!file.exists()) {
+                if (!file.mkdir()) {
+                    log.error("Unable to create directory for application " + filePath);
+                    return null;
+                }
+            } else if (!file.isDirectory()) {
+                return null;
+            }
+            boolean canCreate = true;
+            if (util.match("m!/!", resource)) {
+                String tmpPath = util.substitute("s!/[^/]*$!!", resource);
+                File dirTree = new File(filePath + File.separator + tmpPath);
+                if (!dirTree.exists()) {
+                    if (createPath)
+                        canCreate = dirTree.mkdirs();
+                    else
+                        return null;
+                } else if (!dirTree.isDirectory())
+                    canCreate = false;
+            }
+            if (canCreate) {
+                filePath += File.separator + resource;
+                file = new File(filePath);
+                return file;
+            } else {
+                return null;
+            }
+        } else
+            return null;
+    }
+
+    private boolean isInPath(String examineIsPath, String examineInPath) {
+        examineIsPath = util.substitute("s! !!g", examineIsPath);
+        examineInPath = util.substitute("s! !!g", examineInPath);
+        examineIsPath = util.substitute("s!\\\\|/! !g", examineIsPath);
+        examineInPath = util.substitute("s!\\\\|/! !g", examineInPath);
+        StringTokenizer stringTokenizerIs = new StringTokenizer(examineIsPath);
+        StringTokenizer stringTokenizerIn = new StringTokenizer(examineInPath);
+        while (stringTokenizerIs.hasMoreTokens()) {
+            String isToken = stringTokenizerIs.nextToken();
+            if (stringTokenizerIn.hasMoreTokens()) {
+                String inToken = stringTokenizerIn.nextToken();
+                if (!isToken.equals(inToken))
+                    return false;
+            }
+        }
+        return true;
+    }
+
+    private void rewrite(InputStream input, OutputStream output) throws IOException {
+        int numRead;
+        byte[] buf = new byte[BUFFER_SIZE];
+        while (!((numRead = input.read(buf)) < 0)) {
+            output.write(buf, 0, numRead);
+        }
+    }
+
+    private String getUserDirectoryPath(String userID) {
+        String userDirectoryPath = secureDirPath + File.separator + userID;
+        File userDirectory = new File(userDirectoryPath);
+        if (!userDirectory.exists()) {
+            log.debug("Creating directory for userID: " + userDirectoryPath);
+            if (!userDirectory.mkdir()) {
+                log.error("Unable to create directory" + userDirectoryPath);
+                return null;
+            }
+        }
+        return userDirectoryPath;
+    }
+
+    private boolean deleteDirectory(String userID, String appName, String resource, boolean recursive, boolean delTree) {
+        if (userID == null || appName == null || resource == null || !inited)
+            return false;
+        resource = util.substitute("s!\\\\!/!g", resource);
+        resource = util.substitute("s!^/!!", resource);
+        String userDirectoryPath;
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + "/" + appName;
+            File file = new File(filePath);
+            if (!file.exists()) {
+                if (!file.mkdir()) {
+                    log.error("Unable to create directory for application " + filePath);
+                    return false;
+                }
+            } else if (!file.isDirectory()) {
+                return false;
+            }
+            file = new File(filePath + File.separator + resource);
+            if (!file.isDirectory())
+                return false;
+            if (!recursive)
+                return file.delete();
+            if (!delTree)
+                return deleteDirectory(file);
+            boolean toRet = deleteDirectory(file);
+            File secureDir = new File(secureDirPath);
+            String parent = file.getParent();
+            while (parent != null) {
+                File dir = new File(parent);
+                if (dir.isDirectory()) { //just to be sure ;-)
+                    if (dir.compareTo(secureDir) == 0)
+                        break;
+                    if (!dir.delete())
+                        break;
+                } else
+                    break;
+                parent = dir.getParent();
+            }
+            return toRet;
+        } else
+            return false;
+    }
+
+    private boolean deleteDirectory(File f) {
+        File[] files = f.listFiles();
+        for (int i = 0; i < files.length; ++i) {
+            if (files[i].isDirectory()) {
+                deleteDirectory(files[i]);
+            } else {
+                files[i].delete();
+            }
+        }
+        return f.delete();
+    }
+
+    private boolean deleteFile(String userID, String appName, String resource, boolean delTree) {
+        File file = getFile(new FileLocationID(userID, appName, resource));
+        if (file == null)
+            return false;
+        if (!file.delete())
+            return false;
+        if (delTree) {
+            File secureDir = new File(secureDirPath);
+            String parent = file.getParent();
+            while (parent != null) {
+                File dir = new File(parent);
+                if (dir.isDirectory()) { //just to be sure ;-)
+                    if (dir.compareTo(secureDir) == 0)
+                        break;
+                    if (!dir.delete())
+                        break;
+                } else
+                    break;
+                parent = dir.getParent();
+            }
+        }
+        return true;
+    }
+
+    private boolean copyResource(String userID, String appName, String resourceSource, String resourceDestination) {
+        if (userID == null || appName == null || resourceSource == null || resourceDestination == null || !inited)
+            return false;
+        resourceSource = util.substitute("s!\\\\!/!g", resourceSource);
+        resourceSource = util.substitute("s!^/!!", resourceSource);
+        String userDirectoryPath;
+        if ((userDirectoryPath = getUserDirectoryPath(userID)) != null) {
+            String filePath = userDirectoryPath + File.separator + appName;
+            File file = new File(filePath);
+            if (!file.exists()) {
+                if (!file.mkdir())
+                    log.error("Unable to create directory for application " + filePath);
+                return false;
+            } else if (!file.isDirectory()) {
+                return false;
+            }
+            file = new File(filePath + File.separator + resourceSource);
+            if (!file.isDirectory()) {
+                try {
+                    addFile(new FileLocationID(userID, appName, resourceDestination), file);
+                    return true;
+                } catch (IOException e) {
+                    return false;
+                }
+            } else {
+                resourceDestination += "\\\\";
+                resourceDestination = util.substitute("s!\\\\!/!g", resourceDestination);
+                resourceDestination = util.substitute("s!^/!!", resourceDestination);
+                return copyDirectory(userID, appName, file, resourceDestination);
+            }
+        } else
+            return false;
+    }
+
+    private boolean copyDirectory(String userID, String appName, File file, String destination) {
+        File[] files = file.listFiles();
+        boolean toRet = true;
+        String directoryPath = getUserDirectoryPath(userID) + File.separator + appName + File.separator + destination;
+        File dirTree = new File(directoryPath);
+        if (!dirTree.exists())
+            if (!dirTree.mkdirs())
+                return false;
+        for (int i = 0; i < files.length; ++i) {
+            if (files[i].isDirectory()) {
+                if (!copyDirectory(userID, appName, files[i], destination + files[i].getName() + File.separator))
+                    toRet = false;
+            } else {
+                try {
+                    addFile(new FileLocationID(userID, appName, destination + files[i].getName()), files[i]);
+                } catch (IOException e) {
+                    toRet = false;
+                }
+            }
+        }
+        return toRet;
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthModuleService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthModuleService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthModuleService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LoginService.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.auth;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+
+import java.util.List;
+
+/**
+ * The <code>AuthModuleService</code> provides the portal with the available authentication
+ * modules. By default the PasswordAuthModule is selected which uses the GridSphere database
+ * to store passwords. Other authorization modules can use external directory servers such as LDAP, etc
+ */
+public interface AuthModuleService extends PortletService {
+
+    public void loadAuthModules(String authModsPath, ClassLoader classloader);
+
+    public List<LoginAuthModule> getActiveAuthModules();
+
+    public List<LoginAuthModule> getAuthModules();
+
+    public void saveAuthModule(LoginAuthModule authModule);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthenticationException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthenticationException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthenticationException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 14, 2003
+ * Time: 3:15:19 PM
+ * To change template for new class use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.auth;
+
+public class AuthenticationException extends RuntimeException {
+
+    public AuthenticationException() {
+        super();
+    }
+
+    public AuthenticationException(String msg) {
+        super(msg);
+    }
+
+
+    public AuthenticationException(String msg, Exception e) {
+        super(msg, e);
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthorizationException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthorizationException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/AuthorizationException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 14, 2003
+ * Time: 3:15:19 PM
+ * To change template for new class use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.auth;
+
+import java.util.Map;
+import java.util.TreeMap;
+
+public class AuthorizationException extends RuntimeException {
+
+    public Map invalidParameters = new TreeMap();
+
+    public AuthorizationException() {
+        super();
+    }
+
+    public AuthorizationException(String msg) {
+        super(msg);
+    }
+
+    public Map getInvalidParameters() {
+        return this.invalidParameters;
+    }
+
+    public void putInvalidParameter(String name, String explanation) {
+        this.invalidParameters.put(name, explanation);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/impl/AuthModuleServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,154 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LoginServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.auth.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.security.auth.AuthModuleService;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleCollection;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModulesDescriptor;
+
+import java.lang.reflect.Constructor;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * The <code>AuthModuleService</code> provides the portal with the available authentication
+ * modules. By default the PasswordAuthModule is selected which uses the GridSphere database
+ * to store passwords. Other authorization modules can use external directory servers such as LDAP, etc
+ */
+public class AuthModuleServiceImpl implements AuthModuleService, PortletServiceProvider {
+
+    private Log log = LogFactory.getLog(AuthModuleServiceImpl.class);
+
+    private List<LoginAuthModule> authModules = new ArrayList<LoginAuthModule>();
+
+    private PersistenceManagerRdbms pm = null;
+
+    private URL authMappingStream = getClass().getResource("/org/gridsphere/services/core/security/auth/modules/impl/descriptor/auth-modules-mapping.xml");
+
+    public AuthModuleServiceImpl() {
+    }
+
+    public List<LoginAuthModule> getAuthModules() {
+        return authModules;
+    }
+
+    public List<LoginAuthModule> getActiveAuthModules() {
+        List<LoginAuthModule> activeMods = new ArrayList<LoginAuthModule>();
+        for (LoginAuthModule authModule : authModules) {
+            if (authModule.isModuleActive()) activeMods.add(authModule);
+        }
+        return activeMods;
+    }
+
+    /**
+     * Initializes the portlet service.
+     * The init method is invoked by the portlet container immediately after a portlet service has
+     * been instantiated and before it is passed to the requestor.
+     *
+     * @param config the service configuration
+     * @throws PortletServiceUnavailableException
+     *          if an error occurs during initialization
+     */
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+    }
+
+    public void loadAuthModules(String authModsPath, ClassLoader classloader) {
+
+        AuthModulesDescriptor desc;
+        try {
+            desc = new AuthModulesDescriptor(authModsPath, authMappingStream);
+
+            AuthModuleCollection coll = desc.getCollection();
+            List modList = coll.getAuthModulesList();
+            Iterator it = modList.iterator();
+            log.info("loading auth modules:");
+            while (it.hasNext()) {
+                AuthModuleDefinition def = (AuthModuleDefinition) it.next();
+                log.info(def.toString());
+                String modClassName = def.getModuleImplementation();
+
+                // before initializing check if we know about this mod in the db
+                AuthModuleDefinition am = getAuthModuleDefinition(def.getModuleName());
+                if (am != null) {
+                    def.setModulePriority(am.getModulePriority());
+                    def.setModuleActive(am.getModuleActive());
+                } else {
+                    pm.saveOrUpdate(def);
+                }
+                Class c = Class.forName(modClassName, true, classloader);
+                Class[] parameterTypes = new Class[]{AuthModuleDefinition.class};
+                Object[] obj = new Object[]{def};
+                Constructor con = c.getConstructor(parameterTypes);
+                LoginAuthModule authModule = (LoginAuthModule) con.newInstance(obj);
+                authModules.add(authModule);
+            }
+        } catch (Exception e) {
+            log.error("Error loading auth module!", e);
+        }
+    }
+
+    public void saveAuthModule(LoginAuthModule authModule) {
+        try {
+            log.debug("saving auth module: " + authModule.getModuleName() + " " +
+                    authModule.getModulePriority() + " " + authModule.isModuleActive());
+            AuthModuleDefinition am = getAuthModuleDefinition(authModule.getModuleName());
+            if (am != null) {
+                am.setModulePriority(authModule.getModulePriority());
+                am.setModuleActive(authModule.isModuleActive());
+                pm.update(am);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    private AuthModuleDefinition getAuthModuleDefinition(String moduleName) {
+        AuthModuleDefinition am = null;
+        try {
+            am = (AuthModuleDefinition) pm.restore("select authmodule from " + AuthModuleDefinition.class.getName() +
+                    " authmodule where authmodule.ModuleName='" +
+                    moduleName + "'");
+        } catch (PersistenceManagerException e) {
+            e.printStackTrace();
+        }
+        return am;
+    }
+
+    public List getAuthModuleDefinitions() {
+        List mods = null;
+        try {
+            mods = pm.restoreList("select authmod from "
+                    + AuthModuleDefinition.class.getName()
+                    + " authmod ");
+        } catch (PersistenceManagerException e) {
+            e.printStackTrace();
+        }
+        return mods;
+    }
+
+
+    /**
+     * The destroy method is invoked by the portlet container to destroy a portlet service.
+     * This method must free all resources allocated to the portlet service.
+     */
+    public void destroy() {
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/LoginAuthModule.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+package org.gridsphere.services.core.security.auth.modules;
+
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.security.auth.AuthenticationException;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LoginAuthModule.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public interface LoginAuthModule extends Comparable {
+
+    public void setHttpServletRequest(HttpServletRequest request);
+
+    public void setAttributes(Map attributes);
+
+    public String getAttribute(String name);
+
+    public Map getAttributes();
+
+    public String getModuleName();
+
+    public String getModuleDescription(Locale locale);
+
+    public int getModulePriority();
+
+    public boolean isModuleActive();
+
+    public void setModulePriority(int priority);
+
+    public void setModuleActive(boolean isActive);
+
+    public String getModuleError(String key, Locale locale);
+
+    public abstract void checkAuthentication(User user, String password) throws AuthenticationException;
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/AuthModuleEntry.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModuleEntry.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public class AuthModuleEntry {
+
+    private String oid = null;
+    protected String moduleClassName = "";
+    protected Map attributes = new HashMap();
+    protected String userid = "";
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public void setModuleClassName(String moduleClassName) {
+        this.moduleClassName = moduleClassName;
+    }
+
+    public String getModuleClassName() {
+        return moduleClassName;
+    }
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map attributes) {
+        this.attributes = attributes;
+    }
+
+    /**
+     * Returns the value of the attribute with the given name,s
+     * or null if no attribute with the given name exists.
+     *
+     * @param name the attribute name
+     * @return the attribute value
+     */
+    public Object getAttribute(String name) {
+        return attributes.get(name);
+    }
+
+    /**
+     * Sets the value of the attribute with the given name,
+     *
+     * @param name  the attribute name
+     * @param value the attribute value
+     */
+    public void setAttribute(String name, String value) {
+        attributes.put(name, value);
+    }
+
+    public String getUserId() {
+        return userid;
+    }
+
+    public void setUserId(String userid) {
+        this.userid = userid;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/BaseAuthModule.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,112 @@
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam;
+import org.gridsphere.portlet.service.spi.impl.descriptor.Description;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.*;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: BaseAuthModule.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+public abstract class BaseAuthModule implements LoginAuthModule, Comparable {
+
+    protected Map attributes = new HashMap();
+    protected AuthModuleDefinition moduleDef = null;
+    protected HttpServletRequest request = null;
+
+    public BaseAuthModule(AuthModuleDefinition moduleDef) {
+        this.moduleDef = moduleDef;
+        List configList = moduleDef.getConfigParamList();
+        Iterator it = configList.iterator();
+        while (it.hasNext()) {
+            ConfigParam param = (ConfigParam)it.next();
+            attributes.put(param.getParamName(), param.getParamValue());
+        }        
+    }
+
+    public void setHttpServletRequest(HttpServletRequest request) {
+        this.request = request;
+    }
+
+    public String getAttribute(String name) {
+        return (String) attributes.get(name);
+    }
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map attributes) {
+        this.attributes = attributes;
+    }
+
+    public String getModuleName() {
+        return moduleDef.getModuleName();
+    }
+
+    public String getModuleError(String key, Locale locale) {
+        List modErrs = moduleDef.getModuleErrors();
+        if (locale == null) throw new IllegalArgumentException("locale is NULL");
+        Iterator it = modErrs.iterator();
+        String defTitle = null;
+        while (it.hasNext()) {
+            Description t = (Description) it.next();
+            if (t.getKey().equals(key)) {
+                if (t.getLang() == null) t.setLang(Locale.ENGLISH.getLanguage());
+                if (locale.getLanguage().equals(new Locale(t.getLang(), "", "").getLanguage())) return t.getText();
+                if (t.getLang().equals(Locale.ENGLISH.getLanguage())) defTitle = t.getText();
+            }
+        }
+        return defTitle;
+    }
+
+    public String getModuleDescription(Locale locale) {
+        List modDescs = moduleDef.getModuleDescriptions();
+        if (locale == null) throw new IllegalArgumentException("locale is NULL");
+        Iterator it = modDescs.iterator();
+        String defTitle = "";
+        while (it.hasNext()) {
+            Description t = (Description) it.next();
+            if (t.getLang() == null) t.setLang(Locale.ENGLISH.getLanguage());
+            if (locale.getLanguage().equals(new Locale(t.getLang(), "", "").getLanguage())) return t.getText();
+            if (t.getLang().equals(Locale.ENGLISH.getLanguage())) defTitle = t.getText();
+        }
+        return defTitle;
+    }
+
+    public int getModulePriority() {
+        return moduleDef.getModulePriority();
+    }
+
+    public void setModulePriority(int priority) {
+        moduleDef.setModulePriority(priority);
+    }
+
+    public boolean isModuleActive() {
+        return moduleDef.getModuleActive();
+    }
+
+    public void setModuleActive(boolean active) {
+        moduleDef.setModuleActive(active);
+    }
+    
+    public int compareTo(Object obj) {
+        if ((obj != null) && (obj instanceof LoginAuthModule)) {
+            LoginAuthModule l = (LoginAuthModule) obj;
+            if (this.moduleDef.getModulePriority() < l.getModulePriority()) {
+                return -1;
+            } else if (this.moduleDef.getModulePriority() > l.getModulePriority()) {
+                return 1;
+            } else {
+                return 0;
+            }
+        }
+        throw new ClassCastException("Unable to compare supplied object to this module");
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasAuthModule.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * @version $Id: JaasAuthModule.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.security.auth.AuthenticationException;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition;
+
+import javax.security.auth.login.*;
+
+public class JaasAuthModule extends BaseAuthModule implements LoginAuthModule {
+
+    private String contextName = "Gridsphere";
+    
+    private Log log = LogFactory.getLog(JaasAuthModule.class);
+
+    public JaasAuthModule(AuthModuleDefinition moduleDef) {
+        super(moduleDef);
+    }
+
+    public void checkAuthentication(User user, String password) throws AuthenticationException {
+
+		String username = user.getUserName();
+
+        if (log.isDebugEnabled()) log.debug("beginning authentication for '" + username + "'");
+
+		LoginContext loginContext;
+
+		// Create the LoginContext
+		try{
+			loginContext = new LoginContext(contextName, new JaasCallbackHandler(username, password));
+			if (log.isDebugEnabled()) log.debug("got loginContext");
+		} catch (SecurityException e) {
+		    if (log.isDebugEnabled()) log.debug("SecurityException: " + e);
+			throw new AuthenticationException("key4", e);
+		} catch (LoginException e) {
+		    if (log.isDebugEnabled()) log.debug("LoginException: " + e);
+      		throw new AuthenticationException("key4", e);
+		}
+
+		// Attempt login
+		try{
+			loginContext.login();
+			if (log.isDebugEnabled()) log.debug("login successful");
+		} catch (FailedLoginException e) {
+		    if (log.isDebugEnabled()) log.debug("login failed: " + e.getMessage());
+			throw new AuthenticationException("key4", e);
+		} catch (AccountExpiredException e) {
+		    if (log.isDebugEnabled()) log.debug("account expired");
+			throw new AuthenticationException("key1");
+		} catch (CredentialExpiredException e) {
+		    if (log.isDebugEnabled()) log.debug("credentials expired");
+			throw new AuthenticationException("key2", e);
+		} catch (Exception e) {
+		    if (log.isDebugEnabled()) log.debug("unexpected failure: " + e.getMessage());
+			throw new AuthenticationException("key3", e);
+		}
+
+    }
+
+    public String getContextName() {
+        return contextName;
+    }
+    public void setContextName(String contextName) {
+        if (log.isDebugEnabled()) log.debug("setting contextName = '" + contextName + "'");
+        this.contextName = contextName;
+    }
+    
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/JaasCallbackHandler.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+/**
+ * @version $Id: JaasCallbackHandler.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.security.auth.callback.*;
+import java.io.IOException;
+
+public class JaasCallbackHandler implements CallbackHandler {
+
+    protected String username = null;
+    protected String password = null;
+
+    private Log log = LogFactory.getLog(JaasCallbackHandler.class);
+
+    public JaasCallbackHandler(String username, String password) {
+        super();
+        this.username = username;
+        this.password = password;
+    }
+
+    public void handle(Callback callbacks[])
+        throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof NameCallback) {
+                if (log.isDebugEnabled()) log.debug("responding to NameCallback");
+                ((NameCallback) callbacks[i]).setName(username);
+            } else if (callbacks[i] instanceof PasswordCallback) {
+                if (log.isDebugEnabled()) log.debug("responding to PasswordCallback");
+                ((PasswordCallback) callbacks[i]).setPassword(password != null ? password.toCharArray() : new char[0]);
+            } else {
+                if (log.isDebugEnabled()) log.debug("unsupported callback: " + callbacks[i].getClass());
+                throw new UnsupportedCallbackException(callbacks[i]);
+            }
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/LDAPAuthModule.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: LDAPAuthModule.java,v 1.5 2005/06/06 12:31:12 russell Exp $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.security.auth.AuthenticationException;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.directory.DirContext;
+import javax.naming.directory.InitialDirContext;
+import java.util.Hashtable;
+
+/**
+ *
+ */
+public class LDAPAuthModule extends BaseAuthModule implements LoginAuthModule {
+
+    private static Log log = LogFactory.getLog(LDAPAuthModule.class);
+
+    private static final String SZTAKI = "ldap://n0.iit.bme.hu:389";
+    private static final String SZTAKI_DN = "ou=People, dc=ikpc, dc=iit, dc=bme, dc=hu";
+
+    public static final String GRIDLAB = "ldap://mds.gridlab.org:2135";
+
+    public static String LDAP_HOST = "LDAP_HOST";
+    public static String BASE_DN = "BASE_DN";
+
+    public LDAPAuthModule(AuthModuleDefinition authModuleDef) {
+        super(authModuleDef);
+    }
+
+    public void setLDAPHostUrl(String ldapUrl) {
+        attributes.put(LDAP_HOST, ldapUrl);
+    }
+
+    public String getLDAPHostUrl() {
+        return (String) attributes.get(LDAP_HOST);
+    }
+
+    public void setBaseDistinguishedName(String baseDN) {
+        attributes.put(BASE_DN, baseDN);
+    }
+
+    public String getBaseDistinguishedName() {
+        return (String) attributes.get(BASE_DN);
+    }
+
+    public void checkAuthentication(User user, String password) throws AuthenticationException {
+
+        Hashtable env = new Hashtable(5);
+        env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
+        env.put(Context.PROVIDER_URL, getLDAPHostUrl());
+        String name = user.getUserName();
+        try {
+
+            env.put(Context.SECURITY_AUTHENTICATION, "simple");
+            env.put(Context.SECURITY_PRINCIPAL, "uid=" + name + ", " + getBaseDistinguishedName());
+            env.put(Context.SECURITY_CREDENTIALS, password);
+
+            // Create initial context
+            DirContext ctx = new InitialDirContext(env);
+
+            // Close the context when we're done
+            ctx.close();
+        } catch (javax.naming.AuthenticationException e) {
+            throw new AuthenticationException("User: " + user.getUserName() + " unable to bind under provided name and password");
+        } catch (NamingException e) {
+            log.error("Error occurred querying LDAP: ", e);
+            throw new AuthenticationException("User " + user.getUserName() + " not authorized under provided name and password");
+        }
+
+    }
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/PasswordAuthModule.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: PasswordAuthModule.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.security.auth.AuthenticationException;
+import org.gridsphere.services.core.security.auth.modules.LoginAuthModule;
+import org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition;
+import org.gridsphere.services.core.security.password.InvalidPasswordException;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+
+public class PasswordAuthModule extends BaseAuthModule implements LoginAuthModule {
+
+    private PasswordManagerService passwordManager = null;
+
+    private Log log = LogFactory.getLog(PasswordAuthModule.class);
+
+    public PasswordAuthModule(AuthModuleDefinition moduleDef) {
+
+        super(moduleDef);
+
+        // Get instance of password manager service
+        try {
+            this.passwordManager = (PasswordManagerService)PortletServiceFactory.createPortletService(PasswordManagerService.class, true);
+        } catch (Exception e) {
+            log.error("Unable to get instance of password manager service!", e);
+        }
+    }
+
+    public void checkAuthentication(User user, String password) throws AuthenticationException {
+        log.debug("Entering authenticate");
+        // Check that password is not null
+        if (password == null) {
+            log.debug("Password is not provided.");
+            throw new AuthenticationException("key1");
+        }
+        // Check that password maps to the given user
+        try {
+            this.passwordManager.validateSuppliedPassword(user, password);
+        } catch (InvalidPasswordException e) {
+            log.debug("Incorrect password provided.");
+            throw new AuthenticationException("key2");
+        }
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleCollection.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,39 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModuleCollection.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl.descriptor;
+
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * The <code>AuthModuleCollection</code> provides a list of
+ * <code>AuthModuleDefinition</code> entries.
+ */
+public class AuthModuleCollection {
+
+    private List modulesList = new Vector();
+
+    /**
+     * Sets the list of auth module definitions
+     *
+     * @param modulesList a <code>Vector</code> containing
+     *                     auth module definitions
+     * @see AuthModuleDefinition
+     */
+    public void setAuthModulesList(List modulesList) {
+        this.modulesList = modulesList;
+    }
+
+    /**
+     * Returns the list of auth module definitions
+     *
+     * @return a list containing the auth module definitions
+     * @see AuthModuleDefinition
+     */
+    public List getAuthModulesList() {
+        return modulesList;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModuleDefinition.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,260 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModuleDefinition.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl.descriptor;
+
+import org.gridsphere.portlet.service.spi.impl.descriptor.ConfigParam;
+
+import java.util.*;
+
+/**
+ * The <code>AuthModuleDefinition</code> defines
+ */
+public class AuthModuleDefinition {
+
+    protected AuthModulesDescriptor authDescriptor = null;
+    private String oid = null;
+    protected String moduleName = "";
+    private List moduleDescriptions = new Vector();
+    private List moduleErrors = new Vector();
+
+    protected int priority = 100;
+    protected String moduleImplementation = "";
+    protected boolean moduleActive = false;
+
+    protected List configParamList = new Vector();
+    protected Map attributes = new HashMap();
+    protected Properties configProps = null;
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    /**
+     * Sets the auth module descriptor
+     *
+     * @param descriptor the auth module descriptor
+     */
+    public void setDescriptor(AuthModulesDescriptor descriptor) {
+        this.authDescriptor = descriptor;
+    }
+
+    /**
+     * Returns the auth module descriptor
+     *
+     * @return descriptor the auth module descriptor
+     */
+    public AuthModulesDescriptor getDescriptor() {
+        return authDescriptor;
+    }
+
+    /**
+     * Sets the portlet service name
+     *
+     * @param moduleName the portlet service name
+     */
+    public void setModuleName(String moduleName) {
+        this.moduleName = moduleName;
+    }
+
+    /**
+     * Returns the portlet service name
+     *
+     * @return the portlet service name
+     */
+    public String getModuleName() {
+        return this.moduleName;
+    }
+
+    /**
+     * Sets the list of module descriptions
+     *
+     * @param moduleDescriptions the list of module descriptions
+     */
+    public void setModuleDescriptions(List moduleDescriptions) {
+        this.moduleDescriptions = moduleDescriptions;
+    }
+
+    /**
+     * Returns the module descriptions
+     *
+     * @return the module descriptions
+     */
+    public List getModuleDescriptions() {
+        return this.moduleDescriptions;
+    }
+
+    /**
+     * Sets the list of module errors
+     *
+     * @param moduleErrors the list of module errors
+     */
+    public void setModuleErrors(List moduleErrors) {
+        this.moduleErrors = moduleErrors;
+    }
+
+    /**
+     * Returns the module errors
+     *
+     * @return the module errors
+     */
+    public List getModuleErrors() {
+        return this.moduleErrors;
+    }
+
+    /**
+     * Returns the portlet service implementation
+     *
+     * @return the portlet service implementation
+     */
+    public String getModuleImplementation() {
+        return this.moduleImplementation;
+    }
+
+    /**
+     * Sets the portlet service implementation
+     *
+     * @param moduleImplementation the portlet service implementation
+     */
+    public void setModuleImplementation(String moduleImplementation) {
+        this.moduleImplementation = moduleImplementation;
+    }
+
+    /**
+     * Returns the module priority
+     *
+     * @return the module priority
+     */
+    public int getModulePriority() {
+        return priority;
+    }
+
+    /**
+     * Sets the module priority
+     *
+     * @param priority
+     */
+    public void setModulePriority(int priority) {
+        this.priority = priority;
+    }
+
+    /**
+     * Returns true of this module is turned on for all users
+     *
+     * @return true of this module is turned on for all users
+     */
+    public boolean getModuleActive() {
+        return moduleActive;
+    }
+
+    /**
+     * If true, this module will be active for all users
+     *
+     * @param moduleActive if true, this module will be active for all users
+     */
+    public void setModuleActive(boolean moduleActive) {
+        this.moduleActive = moduleActive;
+    }
+
+    /**
+     * Sets the service configuration parameter list
+     *
+     * @param configParamList the configuration parameter list
+     */
+    public void setConfigParamList(List configParamList) {
+        this.configParamList = configParamList;
+    }
+
+    /**
+     * Returns the service configuration parameter list
+     *
+     * @return the configuration parameter list
+     */
+    public List getConfigParamList() {
+        return this.configParamList;
+    }
+
+    public String getAttribute(String name) {
+        return (String) attributes.get(name);
+    }
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map attributes) {
+        this.attributes = attributes;
+    }
+
+    /**
+     * Creates a properties from the  ConfigParamList
+     *
+     * @see #getConfigParamList
+     */
+    private void createProperties() {
+        configProps = new Properties();
+        Iterator it = this.configParamList.iterator();
+        ConfigParam param;
+        while (it.hasNext()) {
+            param = (ConfigParam) it.next();
+            configProps.setProperty(param.getParamName(), param.getParamValue());
+        }
+    }
+
+    /**
+     * Return the configuration properties
+     *
+     * @return the configuration properties
+     */
+    public Properties getConfigProperties() {
+        if (configProps == null)
+            createProperties();
+        return configProps;
+    }
+
+    /**
+     * Sets the configuration properties
+     *
+     * @param props the configuration properties
+     */
+    public void setConfigProperties(Properties props) {
+        Enumeration e = props.keys();
+        if (!props.isEmpty()) {
+            configParamList = new Vector();
+        }
+        while (e.hasMoreElements()) {
+            String key = (String) e.nextElement();
+            ConfigParam param = new ConfigParam(key, props.getProperty(key));
+            configParamList.add(param);
+        }
+    }
+
+    /**
+     * Returns a <code>String</code> representation if this auth module
+     * definition
+     *
+     * @return the auth module definition as a <code>String</code>
+     */
+    public String toString() {
+        StringBuffer sb = new StringBuffer("\n");
+        sb.append("auth module name: " + this.moduleName + "\n");
+        sb.append("auth module description: " + this.moduleDescriptions.get(0) + "\n");
+        //sb.append("auth module error: " + this.moduleErrors.get(0) + "\n");
+        sb.append("auth module implementation: " + this.moduleImplementation + "\n");
+        sb.append("auth module priority: " + this.priority + "\n");
+        sb.append("config properties: ");
+        Iterator it = this.configParamList.iterator();
+        ConfigParam c;
+        while (it.hasNext()) {
+            c = (ConfigParam) it.next();
+            sb.append("\tname: " + c.getParamName() + "\tvalue: " + c.getParamValue());
+        }
+        return sb.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/auth/modules/impl/descriptor/AuthModulesDescriptor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: AuthModulesDescriptor.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.auth.modules.impl.descriptor;
+
+import org.gridsphere.portletcontainer.impl.JavaXMLBindingFactory;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerXml;
+
+import java.net.URL;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * The <code>AuthModulesDescriptor</code> 
+ */
+public class AuthModulesDescriptor {
+
+    private AuthModuleCollection authModules = null;
+    private PersistenceManagerXml pmXML = null;
+
+    /**
+     * Constructor disallows non-argument instantiation
+     */
+    private AuthModulesDescriptor() {
+    }
+
+    public AuthModulesDescriptor(String descriptorFile, URL mappingFile) throws PersistenceManagerException {
+        pmXML = JavaXMLBindingFactory.createPersistenceManagerXml(descriptorFile, mappingFile);
+        authModules = (AuthModuleCollection) pmXML.load();
+    }
+
+    /**
+     * Returns the collection of auth module definitions
+     *
+     * @return the collection of auth module definitions
+     */
+    public AuthModuleCollection getCollection() {
+        return authModules;
+    }
+
+    /**
+     * Sets the collection of auth module definitions
+     *
+     * @param authModules the collection of auth module definitions
+     */
+    public void setCollection(AuthModuleCollection authModules) {
+        this.authModules = authModules;
+    }
+
+    /**
+     * Sets the auth module definition
+     *
+     * @param definition the auth module definition
+     */
+    public void setModuleDefinition(AuthModuleDefinition definition) {
+        List serviceDefs = authModules.getAuthModulesList();
+        Iterator it = serviceDefs.iterator();
+        while (it.hasNext()) {
+            AuthModuleDefinition def = (AuthModuleDefinition) it.next();
+            if (definition.getModuleName().equals(def.getModuleName())) {
+                def.setConfigParamList(definition.getConfigParamList());
+            }
+        }
+    }
+
+    /**
+     * Saves the auth module descriptor
+     *
+     * @throws PersistenceManagerException if a Castor error occurs during the marshalling
+     */
+    public void save() throws PersistenceManagerException {
+        pmXML.save(authModules);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/GroupManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/GroupManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/GroupManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 31, 2003
+ * Time: 4:06:44 AM
+ * To change template for new class use
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.group;
+
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.service.PortletService;
+
+import java.util.List;
+
+public interface GroupManagerService extends PortletService {
+
+    public List getGroups();
+
+    public void deleteGroup(PortletGroup group);
+
+    public PortletGroup getGroup(String groupName);
+
+    public void saveGroup(PortletGroup portletGroup);
+
+    public void addUserToGroup(User user, PortletGroup group);
+
+    public void deleteUserInGroup(User user, PortletGroup group);
+
+    public List getGroups(User user);
+
+    public List getUsersInGroup(PortletGroup group);
+
+    public boolean isUserInGroup(User user, PortletGroup group);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/PortletGroup.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/PortletGroup.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/PortletGroup.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,311 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: PortletGroup.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.group;
+
+import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
+
+
+/**
+ * The <code>PortletGroup</code> interface describes portlet group used by the
+ * portal.
+ */
+public class PortletGroup implements Serializable, Cloneable {
+
+    private String oid = null;
+    private String name = "";
+    private boolean isPublic = true;
+    private String description = "";
+    private boolean isCore = false;
+
+    private int type = Type.PUBLIC.getType();
+
+    private Set portletRoleList = new HashSet();
+
+    public static class Type implements Serializable, Cloneable {
+
+        public static final Type PUBLIC = new Type(1);
+        public static final Type PRIVATE = new Type(2);
+        public static final Type HIDDEN = new Type(3);
+
+        private String oid = null;
+
+        private int type = 1;
+
+        public Type() {}
+
+        public static Type getType(String groupType) {
+            if (groupType.toUpperCase().equals("PUBLIC")) return PUBLIC;
+            if (groupType.toUpperCase().equals("PRIVATE")) return PRIVATE;
+            if (groupType.toUpperCase().equals("HIDDEN")) return HIDDEN;
+            throw new IllegalArgumentException("Unknown group type specified: " + groupType);
+        }
+
+        public static Type getType(int groupType) {
+            if (groupType == 1) return PUBLIC;
+            if (groupType == 2) return PRIVATE;
+            if (groupType == 3) return HIDDEN;
+            throw new IllegalArgumentException("Unknown group type specified: " + groupType);
+        }
+
+        private Type(int type) {
+            this.type = type;
+        }
+
+        public String getOid() {
+            return oid;
+        }
+
+        public void setOid(String oid) {
+            this.oid = oid;
+        }
+
+        public void setType(int type) {
+            this.type = type;
+        }
+
+        public int getType() {
+            return type;
+        }
+
+        public Object clone() throws CloneNotSupportedException {
+            Type m = (Type) super.clone();
+            m.type = this.type;
+            return m;
+        }
+
+        public boolean equals(Object o) {
+            if ((o != null) && (o instanceof Type)) {
+                return (this.type == ((Type) o).getType());
+            }
+            return false;
+        }
+
+        public int hashCode() {
+            return type;
+        }
+
+        public String toString() {
+            return "" + type;
+        }
+
+        private Object readResolve() {
+            Type m = Type.PUBLIC;
+            switch (type) {
+                case 1:
+                    m = Type.PUBLIC;
+                    break;
+                case 2:
+                    m = Type.PRIVATE;
+                    break;
+                case 3:
+                    m = Type.HIDDEN;
+                    break;
+            }
+            return m;
+        }
+
+    }
+
+    /**
+     * Constructs an instance of SportletGroup
+     */
+    public PortletGroup() {}
+
+    /**
+     * Constructs an instance of SportletGroup with a chosen name
+     *
+     * @param groupName the name of the group
+     */
+    public PortletGroup(String groupName) {
+        super();
+        if (groupName == null) name = "Unknown Group";
+        this.name = groupName;
+    }
+
+    public PortletGroup(String groupName, String groupDescription) {
+        super();
+        if (groupName == null) name = "Unknown Group";
+        this.name = groupName;
+        this.description = groupDescription;
+    }
+
+    public Set getPortletRoleList() {
+        return portletRoleList;
+    }
+
+    public void setPortletRoleList(Set portletRoleList) {
+        this.portletRoleList = portletRoleList;
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    /**
+     * Sets the name of the group
+     *
+     * @param name the group name
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Returns the portlet group name
+     *
+     * @return the portlet group name
+     */
+    public String getName() {
+        return name;
+    }
+
+    public boolean isCore() {
+        return isCore;
+    }
+
+    public void setCore(boolean core) {
+        isCore = core;
+    }
+
+    public boolean getCore() {
+        return isCore;
+    }
+
+    /**
+     * Sets the description of the group
+     *
+     * @param description the group description
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * Returns the portlet group description
+     *
+     * @return the portlet group description
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Returns the portlet group label
+     *
+     * @return the portlet group label
+     */
+    public String getLabel() {
+        String label = null;
+        if (name.equals("")) {
+            label = "";
+        } else {
+            label = name.substring(0, 1).toUpperCase()
+                    + name.substring(1);
+        }
+        return label;
+    }
+
+    /**
+     * Returns the group id
+     *
+     * @return the group id
+     */
+    public String getID() {
+        return getOid();
+    }
+
+    /**
+     * Sets the group id
+     *
+     * @param id the group id
+     */
+    public void setID(String id) {
+        setOid(id);
+    }
+
+    /**
+     * Tests the equality of two groups
+     *
+     * @param object the <code>PortletGroup</code> to be tested
+     * @return <code>true</code> if the groups are equal, <code>false</code>
+     *         otherwise
+     */
+    public boolean equals(Object object) {
+        if (object != null && (object.getClass().equals(this.getClass()))) {
+            PortletGroup portletGroup = (PortletGroup) object;
+            return name.equals(portletGroup.getName());
+        }
+        return false;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletGroup s = (PortletGroup) super.clone();
+        s.name = this.name;
+        return s;
+    }
+
+    public boolean isPublic() {
+        return isPublic;
+    }
+
+    public void setPublic(boolean isPublic) {
+        this.isPublic = isPublic;
+    }
+
+    public boolean getPublic() {
+        return isPublic;
+    }
+
+    public void setType(Type type) {
+        this.type = type.getType();
+    }
+
+    public Type getType() {
+        return Type.getType(type);
+    }
+
+    /**
+     * @deprecated
+     *
+     * @param type the group type
+     */
+    public void setGroupType(int type) {
+        this.type = type;
+    }
+
+    /**
+     * @deprecated
+     *
+     * @return the group type
+     */
+    public int getGroupType() {
+        return type;
+    }
+
+    /**
+     * Returns a unique hashcode
+     *
+     * @return a unique hash code
+     */
+    public int hashCode() {
+        return name.hashCode();
+    }
+
+    /**
+     * Returns the group name
+     *
+     * @return the group name
+     */
+    public String toString() {
+        return name;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/GroupManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,196 @@
+/*
+ *
+ * @version: $Id: GroupManagerServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.group.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.security.group.GroupManagerService;
+import org.gridsphere.services.core.security.group.PortletGroup;
+
+import java.util.List;
+import java.util.Vector;
+
+public class GroupManagerServiceImpl implements PortletServiceProvider, GroupManagerService {
+
+    private Log log = LogFactory.getLog(GroupManagerServiceImpl.class);
+
+    private PersistenceManagerRdbms pm = null;
+
+    private String jdoGroupRequest = UserGroup.class.getName();
+    private String jdoPortletGroup = PortletGroup.class.getName();
+
+    public GroupManagerServiceImpl() {
+
+    }
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+    }
+
+    public void destroy() {
+        log.info("Calling destroy()");
+    }
+
+    public UserGroup getUserGroup(User user, PortletGroup group) {
+        if (user == null) throw new IllegalArgumentException("user cannot be null!");
+        if (group == null) throw new IllegalArgumentException("group cannot be null!");
+        String criteria = " where groupRequest.user.oid='" + user.getID() + "'"
+                + " and groupRequest.group.oid='" + group.getID() + "'";
+        return selectGroupRequestImpl(criteria);
+    }
+
+    private UserGroup selectGroupRequestImpl(String criteria) {
+        String oql = "select groupRequest from "
+                + jdoGroupRequest
+                + " groupRequest "
+                + criteria;
+        try {
+            return (UserGroup) pm.restore(oql);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error retrieving access right";
+            log.error(msg, e);
+            return null;
+        }
+    }
+
+    public void saveUserGroup(UserGroup entry) {
+        // Create or update access right
+        try {
+            pm.saveOrUpdate(entry);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error creating access right";
+            log.error(msg, e);
+        }
+    }
+
+    public void deleteUserGroup(UserGroup userGroup) {
+        try {
+            pm.delete(userGroup);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error deleting access right";
+            log.error(msg, e);
+        }
+    }
+
+    public void deleteUserInGroup(User user, PortletGroup group){
+        UserGroup ug = getUserGroup(user, group);
+        if (ug != null) deleteUserGroup(ug);
+
+    }
+
+    public List getGroups() {
+        // Execute query
+        try {
+            return pm.restoreList("select grp from " + jdoPortletGroup + " grp ");
+        } catch (PersistenceManagerException e) {
+            String msg = "Error retrieving portlet groups";
+            log.error(msg, e);
+            return new Vector();
+        }
+    }
+
+    public PortletGroup getGroup(String name) {
+        if (name == null) throw new IllegalArgumentException("group name cannot be null!");
+        return selectPortletGroup("where grp.Name='" + name + "'");
+    }
+
+    private PortletGroup selectPortletGroup(String criteria) {
+        // Build object query
+        StringBuffer oqlBuffer = new StringBuffer();
+        oqlBuffer.append("select grp from ");
+        oqlBuffer.append(jdoPortletGroup);
+        oqlBuffer.append(" grp ");
+        oqlBuffer.append(criteria);
+        // Generate object query
+        String oql = oqlBuffer.toString();
+        log.debug(oql);
+        try {
+            return (PortletGroup) pm.restore(oql);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error retrieving portlet group";
+            log.error(msg, e);
+            return null;
+        }
+    }
+
+    public boolean existsGroupWithName(String groupName) {
+        return (getGroup(groupName) != null);
+    }
+
+    public void saveGroup(PortletGroup portletGroup) {
+        if (portletGroup == null) throw new IllegalArgumentException("group cannot be null!");
+        try {
+            pm.saveOrUpdate(portletGroup);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error saving/updating portlet group " + portletGroup.getName();
+            log.error(msg, e);
+        }
+    }
+
+    public void deleteGroup(PortletGroup group) {
+        if (group == null) throw new IllegalArgumentException("group cannot be null!");
+        try {
+            pm.delete(group);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error deleting portlet group";
+            log.error(msg, e);
+        }
+    }
+
+    public List getUsersInGroup(PortletGroup group) {
+        String oql = "select groupRequest.user from "
+                + jdoGroupRequest
+                + " groupRequest where groupRequest.group.oid='"
+                + group.getID()
+                + "'";
+        try {
+            return pm.restoreList(oql);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error retrieving access right";
+            log.error(msg, e);
+            return new Vector();
+        }
+    }
+
+    public boolean isUserInGroup(User user, PortletGroup group) {
+        return (getUserGroup(user, group) != null);
+    }
+
+    public List getGroups(User user) {
+        if (user == null) throw new IllegalArgumentException("user cannot be null!");
+        String oql = "select groupRequest.group from "
+                + jdoGroupRequest
+                + " groupRequest where groupRequest.user.oid='"
+                + user.getID()
+                + "'";
+        try {
+            return pm.restoreList(oql);
+        } catch (PersistenceManagerException e) {
+            String msg = "Error retrieving access right";
+            log.error(msg, e);
+            return new Vector();
+        }
+    }
+
+    public void addUserToGroup(User user, PortletGroup group) {
+        UserGroup ug = getUserGroup(user, group);
+        if (ug == null) {
+            ug = new UserGroup();
+            ug.setUser(user);
+            ug.setGroup(group);
+            saveUserGroup(ug);
+        }
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/UserGroup.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/UserGroup.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/group/impl/UserGroup.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,87 @@
+/*
+ * @version: $Id: UserGroup.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.group.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.impl.UserImpl;
+import org.gridsphere.services.core.security.group.PortletGroup;
+import org.gridsphere.services.core.security.role.PortletRole;
+
+public class UserGroup {
+
+    protected transient static Log log = LogFactory.getLog(UserGroup.class);
+
+    private String oid = null;
+    private UserImpl user = null;
+    private PortletGroup sgroup = null;
+    // deprecated
+    private String role = "";
+    private PortletRole portletRole;
+
+    public UserGroup() {
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public String getID() {
+        return getOid();
+    }
+
+    public PortletGroup getGroup() {
+        return this.sgroup;
+    }
+
+    public void setGroup(PortletGroup group) {
+        this.sgroup = (PortletGroup) group;
+    }
+
+    /**
+     * @deprecated
+     * @return the portlet role
+     */
+    public PortletRole getRole() {
+        return portletRole;
+    }
+
+    /**
+     * @deprecated
+     * @param role the portlet role
+     */
+    public void setRole(PortletRole role) {
+        this.portletRole = role;
+    }
+
+    /**
+     * @deprecated
+     * @return the role name
+     */
+    public String getRoleName() {
+        return this.role;
+    }
+
+    /**
+     * @deprecated
+     * @param roleName the role name
+     */
+    public void setRoleName(String roleName) {
+        this.role = roleName;
+    }
+
+    public User getUser() {
+        return this.user;
+    }
+
+    public void setUser(User user) {
+        this.user = (UserImpl) user;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/InvalidPasswordException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/InvalidPasswordException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/InvalidPasswordException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 8, 2003
+ * Time: 12:09:21 PM
+ * To change template for new class use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.password;
+
+import org.gridsphere.portlet.service.PortletServiceException;
+
+public class InvalidPasswordException extends PortletServiceException {
+
+    private String explanation = "";
+
+    public InvalidPasswordException() {
+        super();
+    }
+
+    public InvalidPasswordException(String msg) {
+        super(msg);
+    }
+
+    public String getExplanation() {
+        return this.explanation;
+    }
+
+    public void setExplanation(String explanation) {
+        this.explanation = explanation;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/Password.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/Password.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/Password.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 8, 2003
+ * Time: 11:30:04 AM
+ * To change template for new interface use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.password;
+
+import org.gridsphere.services.core.user.User;
+
+import java.util.Date;
+
+public interface Password {
+
+    public User getUser();
+
+    public String getHint();
+
+    public String getValue();
+
+    public long getLifetime();
+
+    public Date getDateExpires();
+
+    public Date getDateCreated();
+
+    public Date getDateLastModified();
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordEditor.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordEditor.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordEditor.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 8, 2003
+ * Time: 11:30:04 AM
+ * To change template for new interface use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.password;
+
+import org.gridsphere.services.core.user.User;
+
+import java.util.Date;
+
+public interface PasswordEditor extends Password {
+
+    public void setUser(User user);
+
+    public void setHint(String hint);
+
+    public void setValue(String passwordValue);
+
+    public void setLifetime(long lifetime);
+
+    public void setDateExpires(Date expires);
+
+    public void setDateCreated(Date created);
+
+    public void setDateLastModified(Date date);
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+/*
+ * @version: $Id: PasswordManagerService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.password;
+
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.service.PortletService;
+
+public interface PasswordManagerService extends PortletService {
+
+    public Password getPassword(User user);
+
+    public String getHashedPassword(String pass);
+
+    public void validateSuppliedPassword(User user, String suppliedPassword)
+            throws InvalidPasswordException;
+
+    public void savePassword(Password passwordBean);
+
+    public void saveHashedPassword(Password editor);
+    
+    public void deletePassword(User user);
+
+    public PasswordEditor editPassword(User user);
+
+    public boolean hasPassword(User user);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordNotFoundException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordNotFoundException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/PasswordNotFoundException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 8, 2003
+ * Time: 12:08:01 PM
+ * To change template for new class use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.password;
+
+public class PasswordNotFoundException extends Exception {
+
+    public PasswordNotFoundException() {
+        super();
+    }
+
+    public PasswordNotFoundException(String msg) {
+        super(msg);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/**
+ * $Id: PasswordImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.password.impl;
+
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.impl.UserImpl;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+
+import java.util.Date;
+
+public class PasswordImpl implements PasswordEditor {
+
+    private String oid = null;
+    private UserImpl user;
+    // used for JSR/Tomcat/Realm
+    //private String userName;
+    private String value = "";
+    private String hint = "";
+    private long lifetime = -1;
+    private Date dateExpires = null;
+    private Date dateCreated = null;
+    private Date dateLastModified = null;
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public String getHint() {
+        return this.hint;
+    }
+
+    public void setHint(String hint) {
+        this.hint = hint;
+    }
+
+    public String getValue() {
+        return this.value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public long getLifetime() {
+        return this.lifetime;
+    }
+
+    public void setLifetime(long lifetime) {
+        this.lifetime = lifetime;
+    }
+
+    public Date getDateExpires() {
+        return this.dateExpires;
+    }
+
+    public void setDateExpires(Date dateExpires) {
+        this.dateExpires = dateExpires;
+    }
+
+    public Date getDateCreated() {
+        return this.dateCreated;
+    }
+
+    public void setDateCreated(Date dateCreated) {
+        this.dateCreated = dateCreated;
+    }
+
+    public Date getDateLastModified() {
+        return this.dateLastModified;
+    }
+
+    public void setDateLastModified(Date dateModified) {
+        this.dateLastModified = dateModified;
+    }
+
+    public User getUser() {
+        return this.user;
+    }
+
+    public void setUser(User user) {
+        this.user = (UserImpl) user;
+        //this.userName = user.getUserName();
+    }
+
+    /*
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+    */
+
+    /**
+     * Castor method for setting user object.
+     */
+    public void setSportletUser(UserImpl user) {
+        this.user = user;
+    }
+
+    /**
+     * Castor method for getting user object.
+     */
+    public UserImpl getSportletUser() {
+        return this.user;
+    }
+
+}
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/password/impl/PasswordManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/*
+ * @version: $Id: PasswordManagerServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.password.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.security.password.InvalidPasswordException;
+import org.gridsphere.services.core.security.password.Password;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.Calendar;
+
+public class PasswordManagerServiceImpl
+        implements PortletServiceProvider, PasswordManagerService {
+
+    private Log log = LogFactory.getLog(PasswordManagerServiceImpl.class);
+    private PersistenceManagerRdbms pm = null;
+    private String userPasswordImpl = PasswordImpl.class.getName();
+
+    public PasswordManagerServiceImpl() {}
+
+    public void init(PortletServiceConfig config) {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+    }
+
+    public void destroy() {}
+
+    public Password getPassword(User user) {
+        return getPasswordImpl(user);
+    }
+
+    /**
+     * This method returns the <code>PasswordImpl</code> associated with
+     * a user and is called internally by other methods in this class.
+     */
+    private PasswordImpl getPasswordImpl(User user) {
+        PasswordImpl password = null;
+        String query = "select pw from "
+                + this.userPasswordImpl
+                + " pw where pw.sportletUser.oid='" + user.getID() + "'";
+        try {
+            password = (PasswordImpl)pm.restore(query);
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to retrieve password for user", e);
+        }
+        return password;
+    }
+
+    public void validateSuppliedPassword(User user, String value)
+            throws InvalidPasswordException {
+        PasswordImpl password = getPasswordImpl(user);
+        if (password == null) {
+            log.debug("No password found for user");
+            throw new InvalidPasswordException("No password found for user!");
+        }
+        //log.debug("Stored value is " + password.getValue());
+        //log.debug("Provided value is " + value);
+
+        // MD5 hash of password value
+        try {
+            MessageDigest md5 = MessageDigest.getInstance("MD5");
+            md5.update(value.getBytes());
+            value = toHex(md5.digest());
+
+            //log.debug("Hash of value is " + value);
+            if (!password.getValue().equals(value)) {
+                throw new InvalidPasswordException("Supplied password does not match user password!");
+            }
+        } catch (NoSuchAlgorithmException e) {
+            log.error("No such algorithm: MD5", e);
+        }
+    }
+
+    public void savePassword(Password editor) {
+        try {
+            if (editor instanceof PasswordImpl) {
+                PasswordImpl pass = (PasswordImpl) editor;
+                try {
+                    MessageDigest md5 = MessageDigest.getInstance("MD5");
+                    md5.update(pass.getValue().getBytes());
+                    String value = toHex(md5.digest());
+                    pass.setValue(value);
+                } catch (NoSuchAlgorithmException e) {
+                    throw new PersistenceManagerException("Can't get MD5 algorithm! " + e.getMessage());
+                }
+                pm.saveOrUpdate(pass);
+            }
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to create or update password for user", e);
+        }
+    }
+
+    public String getHashedPassword(String pass) {
+        try {
+            MessageDigest md5 = MessageDigest.getInstance("MD5");
+            md5.update(pass.getBytes());
+            return toHex(md5.digest());
+        } catch (NoSuchAlgorithmException e) {
+            log.error("NoSuchAlgorithm MD5!", e);
+        }
+        return null;
+    }
+
+    public void saveHashedPassword(Password editor) {
+        try {
+            if (editor instanceof PasswordImpl) {
+                PasswordImpl pass = (PasswordImpl) editor;
+                pm.saveOrUpdate(pass);
+            }
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to create or update password for user", e);
+        }
+    }
+
+    public void deletePassword(User user) {
+        Password password = getPassword(user);
+        if (password != null) {
+            deletePassword(password);
+        }
+    }
+
+    private void deletePassword(Password password) {
+        try {
+            pm.delete(password);
+        } catch (PersistenceManagerException e) {
+            log.error("Unable to delete password", e);
+        }
+    }
+
+    public boolean hasPassword(User user) {
+        Password password = getPassword(user);
+        return (password != null);
+    }
+
+    public PasswordEditor editPassword(User user) {
+        PasswordImpl password = this.getPasswordImpl(user);
+        if (password == null) {
+            password = new PasswordImpl();
+            password.setUser(user);
+            password.setDateCreated(Calendar.getInstance().getTime());
+            this.savePassword(password);
+        }
+        return password;
+    }
+
+    /**
+     * Return an 8 byte representation of the 32 byte MD5 digest
+     *
+     * @param digest the message digest
+     * @return String 8 byte hexadecimal
+     */
+    private static String toHex(byte[] digest) {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < digest.length; i++) {
+            buf.append(Integer.toHexString((int) digest[i] & 0x00FF));
+        }
+        return buf.toString();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/PortletRole.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/PortletRole.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/PortletRole.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: PortletRole.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.security.role;
+
+import java.io.Serializable;
+
+/**
+ * The <code>PortletRole</code> describes the supported portlet roles used
+ * by the portal.
+ */
+public class PortletRole implements Serializable, Cloneable {
+
+    private String oid = null;
+
+    private String roleName = null;
+    private String description = "";
+    // if 0 isdefault is false
+    private Integer isDefault = 0;
+
+    private static final String USER_ROLE_STRING = "USER";
+    private static final String ADMIN_ROLE_STRING = "ADMIN";
+
+    public static final PortletRole USER = new PortletRole(USER_ROLE_STRING);
+    public static final PortletRole ADMIN = new PortletRole(ADMIN_ROLE_STRING);
+
+    public PortletRole() {
+    }
+
+    /**
+     * Constructs an instance of PortletRole
+     *
+     * @param roleName the role name
+     */
+    public PortletRole(String roleName) {
+        this.roleName = roleName;
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public void setIsDefault(Integer isDefault) {
+        this.isDefault = isDefault;
+    }
+
+    public Integer getIsDefault() {
+        return isDefault;
+    }
+
+    /**
+     * Returns the role name
+     *
+     * @return the role name
+     */
+    public String getName() {
+        return roleName;
+    }
+
+    /**
+     * Sets the role name
+     *
+     * @param roleName the role name
+     */
+    public void setName(String roleName) {
+        this.roleName = roleName;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String toString() {
+        return roleName;
+    }
+
+    public Object clone() throws CloneNotSupportedException {
+        PortletRole r = (PortletRole) super.clone();
+        r.roleName = this.roleName;
+        return r;
+    }
+
+    public boolean equals(Object object) {
+        if (object != null && (object.getClass().equals(this.getClass()))) {
+            PortletRole portletRole = (PortletRole) object;
+            return (roleName.equals(portletRole.getName()));
+        }
+        return false;
+    }
+
+    public int hashCode() {
+        return roleName.hashCode();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/RoleManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/RoleManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/RoleManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: russell
+ * Date: Jan 31, 2003
+ * Time: 4:06:44 AM
+ * To change template for new class use
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.security.role;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.user.User;
+
+import java.util.List;
+
+public interface RoleManagerService extends PortletService {
+
+    public List<PortletRole> getRoles();
+
+    public void deleteRole(PortletRole role);
+
+    public PortletRole getRole(String roleName);
+
+    public void saveRole(PortletRole role);
+
+    public boolean isUserInRole(User user, PortletRole role);
+
+    public List<PortletRole> getRolesForUser(User user);
+
+    public int getNumUsersInRole(PortletRole role);
+
+    public List<User> getUsersInRole(PortletRole role);
+
+    public List<User> getUsersInRole(PortletRole role, QueryFilter filter);
+
+    public void addUserToRole(User user, PortletRole role);
+
+    public void deleteUserInRole(User user, PortletRole role);
+
+    public List<PortletRole> getDefaultRoles();
+
+    public void addDefaultRole(PortletRole role);
+
+    public void removeDefaultRole(PortletRole role);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/RoleManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,194 @@
+/*
+ *
+ * @version: $Id: RoleManagerServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.role.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.impl.UserImpl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class RoleManagerServiceImpl implements PortletServiceProvider, RoleManagerService {
+
+    private Log log = LogFactory.getLog(RoleManagerServiceImpl.class);
+
+    private PersistenceManagerRdbms pm = null;
+
+    private String jdoUserRoles = UserRole.class.getName();
+    private String jdoUser = UserImpl.class.getName();
+
+    public RoleManagerServiceImpl() {
+    }
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+
+        // create user role if none exists
+        PortletRole userRole = getRole("USER");
+        if (userRole == null) {
+            userRole = new PortletRole();
+            userRole.setName("USER");
+            userRole.setIsDefault(1);
+            userRole.setDescription("portal user");
+            saveRole(userRole);
+        }
+
+        // create admin role if none exists
+        PortletRole adminRole = getRole("ADMIN");
+        if (adminRole == null) {
+            adminRole = new PortletRole();
+            adminRole.setName("ADMIN");
+            adminRole.setDescription("portal administrator");
+            userRole.setIsDefault(0);
+            saveRole(adminRole);
+        }
+    }
+
+    public void destroy() {
+        log.info("Calling destroy()");
+    }
+
+    public boolean isUserInRole(User user, PortletRole role) {
+        return (getUserRole(user, role) != null);
+    }
+
+    public int getNumUsersInRole(PortletRole role) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        String oql = "select count(*) from "
+                + this.jdoUserRoles;
+        return pm.count(oql);
+
+    }
+
+    public List<PortletRole> getRolesForUser(User user) {
+        if (user == null) throw new IllegalArgumentException("user can't be null");
+        List<PortletRole> roles = null;
+        String oql = "select userRole.role from "
+                + jdoUserRoles
+                + " userRole where userRole.user.oid='" + user.getID() + "'";
+        roles = pm.restoreList(oql);
+        return (roles != null) ? roles : new ArrayList<PortletRole>();
+    }
+
+    public List<User> getUsersInRole(PortletRole role) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        List<User> users = null;
+        String oql = "select userRole.user from "
+                + jdoUserRoles
+                + " userRole where userRole.role.Name='" + role.getName() + "'";
+        users = pm.restoreList(oql);
+        System.err.println(oql);
+        return (users != null) ? users : new ArrayList<User>();
+    }
+
+
+    public List<User> getUsersInRole(PortletRole role, QueryFilter filter) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        if (filter == null) throw new IllegalArgumentException("query filter cannot be null!");
+        List<User> users = null;
+        String oql = "select userRole.user from "
+                + jdoUserRoles
+                + " userRole where userRole.role.Name='" + role.getName() + "'";
+
+        users = (List<User>) pm.restoreList(oql, filter);
+        return (users != null) ? users : new ArrayList<User>();
+    }
+
+    public List<User> getUsersNotInRole(PortletRole role, QueryFilter filter) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        if (filter == null) throw new IllegalArgumentException("query filter cannot be null!");
+        List<User> users = null;
+
+        String oql = "select uzer from "
+                + this.jdoUser
+                + " uzer left join fetch userRole.user where userRole.role.Name!='" + role.getName() + "'";
+        users = (List<User>) pm.restoreList(oql, filter);
+        return (users != null) ? users : new ArrayList<User>();
+    }
+
+    public void addUserToRole(User user, PortletRole role) {
+        if (user == null) throw new IllegalArgumentException("user cannot be null!");
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        UserRole userRole = new UserRole();
+        if (role.getOid() == null) role = getRole(role.getName());
+        if (!isUserInRole(user, role)) {
+            userRole.setRole(role);
+            userRole.setUser(user);
+            pm.saveOrUpdate(userRole);
+        }
+    }
+
+    public void deleteUserInRole(User user, PortletRole role) {
+        UserRole userRole = getUserRole(user, role);
+        if (userRole != null) pm.delete(userRole);
+    }
+
+    private UserRole getUserRole(User user, PortletRole role) {
+        if (user == null) throw new IllegalArgumentException("user cannot be null!");
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        UserRole userRole = null;
+        String oql = "select userRole from "
+                + jdoUserRoles
+                + " userRole where userRole.user.oid='" + user.getID() + "'"
+                + " and userRole.role.Name='" + role.getName() + "'";
+        userRole = (UserRole) pm.restore(oql);
+        return userRole;
+    }
+
+    public List<PortletRole> getRoles() {
+        List<PortletRole> roles = null;
+        roles = pm.restoreList("select prole from " + PortletRole.class.getName() + " prole");
+        return (roles != null) ? roles : new ArrayList<PortletRole>();
+    }
+
+    public void deleteRole(PortletRole role) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        pm.delete(role);
+    }
+
+    public PortletRole getRole(String roleName) {
+        if (roleName == null) throw new IllegalArgumentException("role name cannot be null!");
+        return (PortletRole) pm.restore("select prole from " + PortletRole.class.getName() + " prole where prole.Name='" + roleName + "'");
+    }
+
+    public void saveRole(PortletRole role) {
+        if (role == null) throw new IllegalArgumentException("role cannot be null!");
+        pm.saveOrUpdate(role);
+    }
+
+    public List<PortletRole> getDefaultRoles() {
+        List<PortletRole> roles = null;
+        roles = pm.restoreList("select prole from " + PortletRole.class.getName() + " prole where prole.IsDefault=1");
+        return (roles != null) ? roles : new ArrayList<PortletRole>();
+    }
+
+    public void addDefaultRole(PortletRole role) {
+        PortletRole myrole = getRole(role.getName());
+        if (myrole != null) {
+            myrole.setIsDefault(1);
+            saveRole(myrole);
+        }
+    }
+
+    public void removeDefaultRole(PortletRole role) {
+        PortletRole myrole = getRole(role.getName());
+        if (myrole != null) {
+            myrole.setIsDefault(0);
+            saveRole(myrole);
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/UserRole.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/UserRole.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/security/role/impl/UserRole.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+/*
+ * @version: $Id: UserRole.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.security.role.impl;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.impl.UserImpl;
+import org.gridsphere.services.core.security.role.PortletRole;
+
+public class UserRole {
+
+    protected transient static Log log = LogFactory.getLog(UserRole.class);
+
+    private String oid = null;
+    private UserImpl user = null;
+    private PortletRole portletRole;
+
+    public UserRole() {
+    }
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    public String getID() {
+        return getOid();
+    }
+
+    public PortletRole getRole() {
+        return portletRole;
+    }
+
+    public void setRole(PortletRole role) {
+        this.portletRole = role;
+    }
+
+    public User getUser() {
+        return this.user;
+    }
+
+    public void setUser(User user) {
+        this.user = (UserImpl) user;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/TimerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/TimerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/TimerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+/*
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TimerService.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.timer;
+
+import java.util.Date;
+import java.util.TimerTask;
+
+/**
+ * Service to perform tasks at a given time or periodically.
+ */
+public interface TimerService {
+
+    void schedule(String timerId, TimerTask task, Date time);
+
+    void schedule(String timerId, TimerTask task, long delay, long period);
+
+    void schedule(String timerId, TimerTask task, Date firstTime, long period);
+
+    void scheduleAtFixedRate(String timerId, TimerTask task, long delay, long period);
+
+    void scheduleAtFixedRate(String timerId, TimerTask task, Date firstTime, long period);
+
+    void cancel(String timerId);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl/TimerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl/TimerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/timer/impl/TimerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+/*
+ * @author <a href="mailto:kisg at mailbox.hu">Gergely Kis</a>
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TimerServiceImpl.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.timer.impl;
+
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.timer.TimerService;
+
+import java.util.*;
+
+/**
+ * Timer Service implementation based on the java.util.Timer API.
+ */
+public class TimerServiceImpl implements PortletServiceProvider, TimerService {
+
+    private Map timerMap = new HashMap();
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+    }
+
+    public synchronized void destroy() {
+        Iterator timerIter = timerMap.values().iterator();
+        while (timerIter.hasNext()) {
+            Timer timer = (Timer) timerIter.next();
+            timer.cancel();
+        }
+
+    }
+
+    public synchronized void schedule(String timerId, TimerTask task, long delay) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.schedule(task, delay);
+    }
+
+    public synchronized void schedule(String timerId, TimerTask task, long delay, long period) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.schedule(task, delay, period);
+    }
+
+    public synchronized void cancel(String timerId) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer != null) {
+            timer.cancel();
+            timerMap.remove(timerId);
+        }
+    }
+
+    public synchronized void schedule(String timerId, TimerTask task, Date time) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.schedule(task, time);
+
+    }
+
+    public synchronized void schedule(String timerId, TimerTask task, Date firstTime, long period) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.schedule(task, firstTime, period);
+
+    }
+
+    public synchronized void scheduleAtFixedRate(String timerId, TimerTask task, long delay, long period) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.scheduleAtFixedRate(task, delay, period);
+
+    }
+
+    public synchronized void scheduleAtFixedRate(String timerId, TimerTask task, Date firstTime, long period) {
+        Timer timer = (Timer) timerMap.get(timerId);
+        if (timer == null) {
+            timer = new Timer();
+            timerMap.put(timerId, timer);
+        }
+        timer.scheduleAtFixedRate(task, firstTime, period);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerException.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerException.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerException.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TomcatManagerException.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.tomcat;
+
+public class TomcatManagerException extends Exception {
+
+    /**
+     * Constructs an instance of PortletException with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param msg the exception text
+     */
+    public TomcatManagerException(String msg) {
+        super(msg);
+    }
+
+    /**
+     * Constructs a new portlet exception with the given text.
+     * The portlet container may use the text write it to a log.
+     *
+     * @param msg   the exception text
+     * @param cause the root cause
+     */
+    public TomcatManagerException(String msg, Throwable cause) {
+        super(msg, cause);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+package org.gridsphere.services.core.tomcat;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public interface TomcatManagerService extends PortletService {
+
+    public void init(PortletServiceConfig config);
+
+    public TomcatWebAppResult getWebAppList(PortletRequest req, PortletResponse res) throws TomcatManagerException;
+
+    public TomcatWebAppResult reloadWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult removeWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult startWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult stopWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult deployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult undeployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException;
+
+    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String context, String warFile) throws TomcatManagerException;
+
+    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String warFile) throws TomcatManagerException;
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppDescription.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+package org.gridsphere.services.core.tomcat;
+
+import org.gridsphere.portletcontainer.PortletStatus;
+
+import java.util.StringTokenizer;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TomcatWebAppDescription.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+public class TomcatWebAppDescription {
+
+    public static final int UNKNOWN = 0;
+    public static final int RUNNING = 1;
+    public static final int STOPPED = 2;
+
+    private String contextPath = "";
+    private String running = "";
+    private int runningState = 0;
+    private String sessions = "";
+    private String actions = "";
+    private String description = "";
+    private PortletStatus status = PortletStatus.SUCCESS;
+    private String statusMessage = "";
+
+
+    public TomcatWebAppDescription(String line) {
+        StringTokenizer tokenizer = new StringTokenizer(line, ":");
+        if (tokenizer.countTokens() >= 3) {
+            contextPath = tokenizer.nextToken();
+            // get rid of first slash
+            contextPath = contextPath.substring(1);
+            if (contextPath.equals("")) contextPath = "/";
+            running = tokenizer.nextToken();
+            sessions = tokenizer.nextToken();
+            if (running.trim().equalsIgnoreCase("running")) runningState = RUNNING;
+            if (running.trim().equalsIgnoreCase("stopped")) runningState = STOPPED;
+            actions = "start stop reload remove";
+        }
+    }
+
+    public String getContextPath() {
+        return contextPath;
+    }
+
+    public String getSessions() {
+        return sessions;
+    }
+
+    public String getRunning() {
+        return running;
+    }
+
+    public int getRunningState() {
+        return runningState;
+    }
+
+    public String getActions() {
+        return actions;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public PortletStatus getStatus() {
+        return status;
+    }
+
+    public void setStatus(PortletStatus status) {
+        this.status = status;
+    }
+
+    public String getStatusMessage() {
+        return statusMessage;
+    }
+
+    public void setStatusMessage(String statusMessage) {
+        this.statusMessage = statusMessage;
+    }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("contextPath= " + contextPath);
+        sb.append("\nrunning= " + running);
+        sb.append("\nrunningState= " + runningState);
+        sb.append("\nsessions= " + sessions);
+        sb.append("\nactions= " + actions);
+        sb.append("\ndescription= " + description);
+        sb.append("\nstatus= " + status);
+        sb.append("\nstatus message= " + statusMessage);
+        return sb.toString();
+    }
+}
+
+

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppResult.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppResult.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/TomcatWebAppResult.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+/*
+ * Created by IntelliJ IDEA.
+ * User: novotny
+ * Date: Dec 23, 2002
+ * Time: 1:18:04 AM
+ * To change template for new class use 
+ * Code Style | Class Templates options (Tools | IDE Options).
+ */
+package org.gridsphere.services.core.tomcat;
+
+import java.util.List;
+import java.util.Vector;
+
+public class TomcatWebAppResult {
+
+    private String returnCode = "ERROR";
+    private String description = "";
+    private List webAppDescriptions = new Vector();
+
+    public TomcatWebAppResult() {
+    }
+
+    public TomcatWebAppResult(String returnCode, String description) {
+        this.returnCode = returnCode;
+        this.description = description;
+    }
+
+    public String getReturnCode() {
+        return returnCode;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void addWebAppDescriptor(String line) {
+        TomcatWebAppDescription description = new TomcatWebAppDescription(line);
+        webAppDescriptions.add(description);
+    }
+
+    public List getWebAppDescriptions() {
+        return webAppDescriptions;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/tomcat/impl/TomcatManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,128 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id: TomcatManagerWrapper.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.tomcat.impl;
+
+import org.gridsphere.portlet.impl.StoredPortletResponseImpl;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.tomcat.TomcatManagerException;
+import org.gridsphere.services.core.tomcat.TomcatManagerService;
+import org.gridsphere.services.core.tomcat.TomcatWebAppResult;
+
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.LineNumberReader;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.StringTokenizer;
+
+public class TomcatManagerServiceImpl implements TomcatManagerService, PortletServiceProvider {
+
+    private ServletContext ctx = null;
+
+    public TomcatManagerServiceImpl() {
+    }
+
+    public void init(PortletServiceConfig config) {
+        ctx = config.getServletContext();
+    }
+
+    public void destroy() {
+
+    }
+
+    public TomcatWebAppResult doCommand(PortletRequest req, PortletResponse res, String command) throws TomcatManagerException {
+        TomcatWebAppResult result = null;
+        try {
+            StringWriter writer = new StringWriter();
+            StoredPortletResponseImpl storedResponse = new StoredPortletResponseImpl((HttpServletRequest)req, (HttpServletResponse)res, writer);
+
+
+            ServletContext context = ctx.getContext("/manager");
+
+            System.err.println("" +  context.getServletContextName());
+            //context.getRequestDispatcher("/list").include((HttpServletRequest)req, storedResponse);
+            req.setAttribute("org.gridsphere.tomcat_hack", command);
+            context.getRequestDispatcher(command).include((ServletRequest)req, storedResponse);
+        
+            System.err.println(writer.getBuffer());
+            
+            LineNumberReader reader = new LineNumberReader(new StringReader(writer.getBuffer().toString()));
+            // get first line
+            // should be something like:
+            // OK - some information text
+            String line = null;
+
+            line = reader.readLine();
+            System.err.println("line= " + line);
+            StringTokenizer tokenizer = new StringTokenizer(line, "-");
+            if (tokenizer.countTokens() == 2) {
+                String rc = tokenizer.nextToken();
+                String description = tokenizer.nextToken();
+                result = new TomcatWebAppResult(rc, description);
+            }
+
+            while ((line = reader.readLine()) != null) {
+                result.addWebAppDescriptor(line);
+            }
+
+            reader.close();
+
+        } catch (Exception e) {
+            throw new TomcatManagerException("Unable to perform command: " + command, e);
+        }
+        return result;
+    }
+
+
+    public TomcatWebAppResult getWebAppList(PortletRequest req, PortletResponse res) throws TomcatManagerException {
+        return doCommand(req, res, "/list");
+    }
+
+    public TomcatWebAppResult reloadWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/reload?path=" + context);
+    }
+
+    public TomcatWebAppResult removeWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/remove?path=" + context);
+    }
+
+    public TomcatWebAppResult startWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/start?path=" + context);
+    }
+
+    public TomcatWebAppResult stopWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/stop?path=" + context);
+    }
+
+    public TomcatWebAppResult deployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/deploy?path=" + context);
+    }
+
+    public TomcatWebAppResult undeployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {
+        if (!context.startsWith("/")) context = "/" + context;
+        return doCommand(req, res, "/undeploy?path=" + context);
+    }
+
+    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String context, String warFile) throws TomcatManagerException {
+        //install?path=/foo&war=file:/path/to/foo
+        if (!context.startsWith("/")) context = "/" + context;
+	    return doCommand(req, res, "/deploy?war=" + warFile);
+    }
+
+    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String warFile) throws TomcatManagerException {
+        //install?path=/foo&war=file:/path/to/foo
+        return doCommand(req, res, "/install?war=" + warFile);
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/User.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/User.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/User.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,222 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: User.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+package org.gridsphere.services.core.user;
+
+import java.util.Enumeration;
+
+/**
+ * The <code>User</code> interface is an abstract view on the user-specific data.
+ * Apart from a set of pre-defined, fixed set of attributes,
+ * the interface gives access to user profile data.
+ */
+public interface User {
+
+    /**
+     * Users locale preference stored as an attribute with this key
+     */
+    public static final String LOCALE = "gridsphere.user.locale";
+
+    public static final String TIMEZONE = "gridsphere.user.timezone";
+
+    public static final String THEME = "gridsphere.user.theme";
+
+    public static final String DISABLED = "gridsphere.user.disabled";
+
+    public static final String CREATEDATE = "gridsphere.user.createdate";
+
+    /**
+     * Returns the value of the attribute with the given name,
+     * or null if no attribute with the given name exists.
+     *
+     * @param name the attribute name
+     * @return the attribute value
+     */
+    public Object getAttribute(String name);
+
+    /**
+     * Sets the value of the attribute with the given name,
+     *
+     * @param name  the attribute name
+     * @param value the attribute value
+     */
+    public void setAttribute(String name, String value);
+
+    /**
+     * Returns an enumeration of names of all attributes available to this
+     * request. This method returns an empty enumeration if the request has
+     * no attributes available to it.
+     *
+     * @return an enumeration of attribute names
+     */
+    public Enumeration getAttributeNames();
+
+    /**
+     * Returns the last name of the user.
+     *
+     * @return the last name
+     */
+    public String getLastName();
+
+    /**
+     * Sets the last name of the user.
+     *
+     * @param lastName the last name
+     */
+    public void setLastName(String lastName);
+
+    /**
+     * Returns the family (aka last) name of the user.
+     *
+     * @return the family name
+     */
+    public String getFirstName();
+
+    /**
+     * Sets the first name of the user.
+     *
+     * @param firstName the first name
+     */
+    public void setFirstName(String firstName);
+
+
+    /**
+     * Returns the full name of the user, or null if the full name is not
+     * available. The full name contains given names, family names and possibly
+     * a title or suffix. Therefore, the full name may be different from the
+     * concatenation of given and family name.
+     *
+     * @return the full name
+     */
+    public String getFullName();
+
+    /**
+     * Sets the full name of the user, or null if the full name is not available.
+     * The full name contains given names, family names and possibly a title or suffix.
+     * Therefore, the full name may be different from the concatenation of given and family name.
+     *
+     * @param fullName the full name
+     */
+    public void setFullName(String fullName);
+
+    /**
+     * Returns the organization affiliation association of the user
+     *
+     * @return the organization name
+     */
+    public String getOrganization();
+
+    /**
+     * Sets the organization the user belongs to
+     *
+     * @param organization the organization name
+     */
+    public void setOrganization(String organization);
+
+
+    /**
+     * Returns the given e-mail of the user or <code>null</code> if none
+     * is available.
+     *
+     * @return the email address
+     */
+    public String getEmailAddress();
+
+    /**
+     * Sets the given e-mail of the user.
+     *
+     * @param emailAddress the email address
+     */
+    public void setEmailAddress(String emailAddress);
+
+
+    /**
+     * Returns the internal unique user id.
+     *
+     * @return the internal unique user id
+     */
+    public String getID();
+
+    /**
+     * Sets the internal unique user id.
+     *
+     * @param id the internal unique id
+     */
+    public void setID(String id);
+
+
+    /**
+     * Returns the user id of the user, or <code>null</code> if the user id
+     * is not available. The userid is the user's login name
+     *
+     * @return the user id
+     * @see #getUserName
+     */
+    public String getUserID();
+
+    /**
+     * Sets the user id of the user, or null if the user id is not available.
+     *
+     * @param userID the user id
+     */
+    public void setUserID(String userID);
+
+    /**
+     * This is an alias for the getUserID method, which for all intensive
+     * purposes represents the name required for this user to login.
+     *
+     * @return String the user id
+     * @see #getUserID
+     */
+    public String getUserName();
+
+
+    /**
+     * This is an alias for the setUserID method, which for all intensive
+     * purposes represents the name required for this user to login.
+     *
+     * @param userName the user name
+     */
+    public void setUserName(String userName);
+
+    /**
+     * Returns the point of time that this user was last logged in, or
+     * <code>null</code> if this information is not available.
+     * The time is returned in number of milliseconds since January 1, 1970 GMT.
+     *
+     * @return the last login time
+     */
+    public Long getLastLoginTime();
+
+    /**
+     * Sets the point of time that this user was last logged in, or null if this
+     * information is not available. The time is returned in number of milliseconds
+     * since January 1, 1970 GMT.
+     *
+     * @param lastLoginTime the last login time
+     */
+    public void setLastLoginTime(Long lastLoginTime);
+
+    /**
+     * Returns the number of login occurences for this user
+     *
+     * @return the number of login occurences
+     */
+    public Integer getNumLogins();
+
+    /**
+     * Sets the number of logins occurences for this user
+     *
+     * @param numLogins the last login time
+     */
+    public void setNumLogins(Integer numLogins);
+
+    /**
+     * Returns a <code>String</code> representation of the User
+     *
+     * @return User information represented as a <code>String</code>
+     */
+    public String toString();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserManagerService.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserManagerService.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserManagerService.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,150 @@
+/*
+ * @version: $Id: UserManagerService.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.user;
+
+import org.gridsphere.portlet.service.PortletService;
+import org.gridsphere.services.core.persistence.QueryFilter;
+
+import java.util.List;
+
+public interface UserManagerService extends PortletService {
+
+    /**
+     * Creates a new user
+     *
+     * @return a blank user
+     */
+    public User createUser();
+
+    /**
+     * Adds a user
+     *
+     * @param user a supplied User object
+     */
+    public void saveUser(User user);
+
+    /**
+     * Delete a user
+     *
+     * @param user the user
+     */
+    public void deleteUser(User user);
+
+    /**
+     * Return the list of users in an unsorted list
+     *
+     * @param queryFilter queryFilter
+     * @return a list of users
+     */
+    public List<User> getUsers(QueryFilter queryFilter);
+
+    /**
+     * Returns the number of users.
+     *
+     * @return number of users.
+     */
+    public int getNumUsers();
+
+    /**
+     * Return the list of users in an unsorted list
+     *
+     * @return a list of users
+     */
+    public List<User> getUsers();
+
+    /**
+     * Returns a list of users by name.
+     *
+     * @param queryFilter QueryFilter
+     * @return list of users
+     */
+    public List<User> getUsersByUserName(QueryFilter queryFilter);
+
+    /**
+     * Returns a list of users by organization.
+     *
+     * @param queryFilter QueryFilter
+     * @return list of users
+     */
+    public List<User> getUsersByOrganization(QueryFilter queryFilter);
+
+    /**
+     * Returns a list of users sorted by number of login occurences
+     *
+     * @param queryFilter QueryFilter
+     * @return list of users
+     */
+    public List<User> getUsersByNumLogins(QueryFilter queryFilter);
+
+    /**
+     * Returns a list of users by full name.
+     *
+     * @param queryFilter QueryFilter
+     * @return list of users
+     */
+    public List<User> getUsersByFullName(QueryFilter queryFilter);
+
+
+    /**
+     * Returns a list of users by Email.
+     *
+     * @param queryFilter QueryFilter
+     * @return list of users
+     */
+    public List<User> getUsersByEmail(QueryFilter queryFilter);
+
+    /**
+     * Returns a list of users by Email and Organization
+     *
+     * @param likeEmail   email
+     * @param likeOrg     organization
+     * @param queryFilter queryFilter
+     * @return List of users
+     */
+    public List<User> getUsersByFullName(String likeEmail, String likeOrg, QueryFilter queryFilter);
+
+    /**
+     * Retrieves a user object with the oid of the user.
+     *
+     * @param oid the objectid of the user in question
+     * @return userobject in question
+     */
+    public User getUser(String oid);
+
+    /**
+     * Retrieves a user object with the given username from this service.
+     *
+     * @param loginName the user name or login id of the user in question
+     * @return userobject in question
+     */
+    public User getUserByUserName(String loginName);
+
+    /**
+     * Retrieves users based on attribute criteria
+     *
+     * @param attrName    the attribute name
+     * @param attrValue   the attribute value
+     * @param queryFilter queryFilter
+     * @return List of users matching the query
+     */
+    public List<User> getUsersByAttribute(String attrName, String attrValue, QueryFilter queryFilter);
+
+    /**
+     * Retrieves a user object with the given email from this service.
+     *
+     * @param email the user's email address
+     * @return User in question
+     */
+    public User getUserByEmail(String email);
+
+
+    /**
+     * Checks to see if account exists for a user
+     *
+     * @param loginName the user login ID
+     * @return true if the user exists, false otherwise
+     */
+    public boolean existsUserName(String loginName);
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserPrincipal.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserPrincipal.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/UserPrincipal.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+/*
+ * Created by Dmitry Gavrilov 05.04.2005
+ */
+package org.gridsphere.services.core.user;
+
+import java.io.Serializable;
+import java.security.Principal;
+
+/**
+ * This class represents a very simple implementation of the
+ * <code>java.security.Principal</code> interface.
+ * 
+ * @author Dmitry Gavrilov
+ */
+public class UserPrincipal implements Principal, Serializable {
+
+    /* A <code> serialVersionUID </code> value. */
+    private static final long serialVersionUID = 3546647607158846512L;
+
+    /* A name of this principal. */
+    private String principalName = null;
+
+    /**
+     * Constructs a <code>UserPrincipal</code> object with the given name.
+     * 
+     * @param userName the user name
+     *            a name of this principal.
+     * @throws IllegalArgumentException
+     *             if the name of principal is null.
+     */
+    public UserPrincipal(String userName) {
+      principalName = userName;
+    }
+
+    /**
+     * Returns a principal's name.
+     * 
+     * @return a principal's name.
+     */
+    public String getName() {
+        return principalName;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    public boolean equals(Object obj) {
+        if (!(obj instanceof UserPrincipal))
+            return false;
+        UserPrincipal other = (UserPrincipal) obj;
+        return principalName.equals(other.principalName);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    public int hashCode() {
+        return principalName.hashCode();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    public String toString() {
+        return principalName;
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,321 @@
+/*
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @author <a href="mailto:oliver at wehrens.de">Oliver Wehrens</a>
+ * @version $Id: SportletUserImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.user.impl;
+
+import org.gridsphere.services.core.user.User;
+
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+/**
+ * The <code>UserImpl</code> implements the <code>User</code> interface
+ * and is an abstract view on the user-specific data.
+ * Apart from a set of pre-defined, fixed set of attributes,
+ * the interface gives access to user profile data.
+ */
+public class UserImpl implements User {
+
+    private String oid = null;
+    // store used to maintain user attributes
+    private Map<String, String> attributes = new HashMap<String, String>();
+
+    private String UserID = "";
+    private String LastName = "";
+    private String FullName = "";
+    private String FirstName = "";
+    private String EmailAddress = "";
+    private String Organization = "";
+    private Long LastLoginTime = null;
+    private Integer numLogins = 0;
+
+    public String getOid() {
+        return oid;
+    }
+
+    public void setOid(String oid) {
+        this.oid = oid;
+    }
+
+    /**
+     * Returns the internal unique user id.
+     *
+     * @return the internal unique id
+     */
+    public String getID() {
+        return getOid();
+    }
+
+    /**
+     * Sets the internal unique user id.
+     *
+     * @param id the internal unique id
+     */
+    public void setID(String id) {
+        setOid(id);
+    }
+
+    /**
+     * Returns the user id of the user, or null if the user id is not available.
+     *
+     * @return the user id
+     */
+    public String getUserID() {
+        return UserID;
+    }
+
+    /**
+     * Sets the user id of the user, or null if the user id is not available.
+     *
+     * @param userID the user id
+     */
+    public void setUserID(String userID) {
+        this.UserID = userID;
+    }
+
+    /**
+     * This is alias for the getUserID method, which for all intensive
+     * purposes represents the name required for this user to login.
+     *
+     * @return String the user id
+     */
+    public String getUserName() {
+        return this.UserID;
+    }
+
+    /**
+     * This is an alias for the setUserID method, which for all intensive
+     * purposes represents the name required for this user to login.
+     *
+     * @param name the user id
+     */
+    public void setUserName(String name) {
+        this.UserID = name;
+    }
+
+    /**
+     * Returns the last name of the user.
+     *
+     * @return the last name
+     */
+    public String getLastName() {
+        return LastName;
+    }
+
+    /**
+     * Sets the last name of the user.
+     *
+     * @param lastName the last name
+     */
+    public void setLastName(String lastName) {
+        this.LastName = lastName;
+    }
+
+    /**
+     * Returns the full name of the user, or null if the full name is not available.
+     * The full name contains given names, family names and possibly a title or suffix.
+     * Therefore, the full name may be different from the concatenation of given and family name.
+     *
+     * @return the full name
+     */
+    public String getFullName() {
+        return FullName;
+    }
+
+    /**
+     * Sets the full name of the user, or null if the full name is not available.
+     * The full name contains given names, family names and possibly a title or suffix.
+     * Therefore, the full name may be different from the concatenation of given and family name.
+     *
+     * @param fullName the full name
+     */
+    public void setFullName(String fullName) {
+        this.FullName = fullName;
+    }
+
+    /**
+     * Returns the first name of the user
+     *
+     * @return the first name
+     */
+    public String getFirstName() {
+        return FirstName;
+    }
+
+    /**
+     * Sets the first) name of the user, or  if the given name is not available.
+     *
+     * @param firstName the first name
+     */
+    public void setFirstName(String firstName) {
+        this.FirstName = firstName;
+    }
+
+    /**
+     * Returns the given e-mail of the user or null if none is available.
+     *
+     * @return the email address
+     */
+    public String getEmailAddress() {
+        return EmailAddress;
+    }
+
+    /**
+     * Sets the given e-mail of the user.
+     *
+     * @param emailAddress the email address
+     */
+    public void setEmailAddress(String emailAddress) {
+        this.EmailAddress = emailAddress;
+    }
+
+    /**
+     * Gets the organization the user belongs to
+     *
+     * @return organization the organization
+     */
+    public String getOrganization() {
+        return Organization;
+    }
+
+    /**
+     * Sets the organization the user belongs to
+     *
+     * @param organization the organization name
+     */
+    public void setOrganization(String organization) {
+        this.Organization = organization;
+    }
+
+    /**
+     * Returns the point of time that this user was last logged in, or
+     * <code>null</code> if this information is not available. The time is
+     * returned in number of milliseconds since January 1, 1970 GMT.
+     *
+     * @return the last login time
+     */
+    public Long getLastLoginTime() {
+        return LastLoginTime;
+    }
+
+    /**
+     * Sets the point of time that this user was last logged in, or
+     * <code>null</code> if this information is not available.
+     * The time is returned in number of milliseconds since January 1, 1970 GMT.
+     *
+     * @param lastLoginTime the last login time
+     */
+    public void setLastLoginTime(Long lastLoginTime) {
+        this.LastLoginTime = lastLoginTime;
+    }
+
+
+    public Map getAttributes() {
+        return attributes;
+    }
+
+    public void setAttributes(Map<String, String> attributes) {
+        this.attributes = attributes;
+    }
+
+
+    /**
+     * Returns the value of the attribute with the given name,s
+     * or null if no attribute with the given name exists.
+     *
+     * @param name the attribute name
+     * @return the attribute value
+     */
+    public Object getAttribute(String name) {
+        return attributes.get(name);
+    }
+
+    /**
+     * Sets the value of the attribute with the given name,
+     *
+     * @param name  the attribute name
+     * @param value the attribute value
+     */
+    public void setAttribute(String name, String value) {
+        attributes.put(name, value);
+    }
+
+    /**
+     * Returns an enumeration of names of all attributes available to this request.
+     * This method returns an empty enumeration if the request has no attributes available to it.
+     *
+     * @return an enumeration of attribute names
+     */
+    public Enumeration getAttributeNames() {
+        return new Hashtable<String, String>(attributes).keys();
+    }
+
+    /**
+     * Returns an enumeration of names of all attributes available to this request.
+     * This method returns an empty enumeration if the request has no attributes available to it.
+     *
+     * @return an enumeration of attribute names
+     */
+    public Enumeration getAttributeValues() {
+        return new Hashtable<String, String>(attributes).elements();
+    }
+
+    /**
+     * Returns the number of login occurences for this user
+     *
+     * @return the number of login occurences
+     */
+    public Integer getNumLogins() {
+        return numLogins;
+    }
+
+    /**
+     * Sets the number of logins occurences for this user
+     *
+     * @param numLogins the last login time
+     */
+    public void setNumLogins(Integer numLogins) {
+        this.numLogins = numLogins;
+    }
+
+    /**
+     * Returns a string representaation of the User
+     *
+     * @return User information represented as a String
+     */
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("Last Name: ").append(LastName).append("\n");
+        sb.append("Full Name: ").append(FullName).append("\n");
+        sb.append("First Name: ").append(FirstName).append("\n");
+        sb.append("Email Address: ").append(EmailAddress).append("\n");
+        sb.append("Id: ").append(getOid()).append("\n");
+        sb.append("UserID: ").append(UserID).append("\n");
+        sb.append("LastLoginTime: ").append(LastLoginTime).append("\n");
+        return sb.toString();
+    }
+
+    public boolean equals(Object obj) {
+        boolean b = true;
+        if ((obj != null) && (obj.getClass().equals(this.getClass()))) {
+            b = (((UserImpl) obj).EmailAddress == this.EmailAddress);
+            b &= (((UserImpl) obj).LastName == this.LastName);
+            b &= (((UserImpl) obj).FirstName == this.FirstName);
+            b &= (((UserImpl) obj).FullName == this.FullName);
+            b &= (((UserImpl) obj).FullName == this.FullName);
+            b &= (((UserImpl) obj).UserID == this.UserID);
+            b &= (((UserImpl) obj).LastLoginTime == this.LastLoginTime);
+            b &= (((UserImpl) obj).Organization == this.Organization);
+        }
+        return b;
+    }
+
+    public int hashCode() {
+        return UserID.hashCode();
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/user/impl/UserManagerServiceImpl.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,209 @@
+/*
+ *
+ * @version: $Id: UserManagerServiceImpl.java 5032 2006-08-17 18:15:06Z novotny $
+ */
+package org.gridsphere.services.core.user.impl;
+
+import org.gridsphere.portlet.service.PortletServiceUnavailableException;
+import org.gridsphere.portlet.service.spi.PortletServiceConfig;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.PortletServiceProvider;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.persistence.QueryFilter;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UserManagerServiceImpl implements PortletServiceProvider, UserManagerService {
+
+    private PersistenceManagerRdbms pm = null;
+
+    private String jdoUser = UserImpl.class.getName();
+
+    public UserManagerServiceImpl() {
+    }
+
+    public void init(PortletServiceConfig config) throws PortletServiceUnavailableException {
+        PersistenceManagerService pmservice = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        pm = pmservice.createGridSphereRdbms();
+    }
+
+    public void destroy() {
+    }
+
+    /**
+     * Creates a new user
+     *
+     * @return a blank user
+     */
+    public User createUser() {
+        UserImpl user = new UserImpl();
+        saveSportletUserImpl(user);
+        return user;
+    }
+
+    /**
+     * Adds a user
+     *
+     * @param user a supplied User object
+     */
+    public void saveUser(User user) {
+        if (user instanceof UserImpl) {
+            UserImpl impl = (UserImpl) user;
+            saveSportletUserImpl(impl);
+        }
+    }
+
+    public void deleteUser(User user) {
+        if (user instanceof UserImpl) {
+            // delete user object
+            deleteSportletUserImpl((UserImpl) user);
+            // Send message if not null
+        }
+    }
+
+    public int getNumUsers() {
+        String oql = "select count(*) from "
+                + this.jdoUser;
+        return pm.count(oql);
+    }
+
+    public List<User> selectUsers(String criteria, QueryFilter queryFilter) {
+        String oql = "select uzer from "
+                + this.jdoUser
+                + " uzer "
+                + criteria;
+
+        List<User> userList = (List<User>) pm.restoreList(oql, queryFilter);
+        if (userList == null) userList = new ArrayList<User>();
+        return userList;
+    }
+
+
+    public List<User> getUsersByUserName(QueryFilter queryFilter) {
+        return selectUsers("order by uzer.UserID", queryFilter);
+    }
+
+    public List<User> getUsersByOrganization(QueryFilter queryFilter) {
+        return selectUsers("order by uzer.Organization", queryFilter);
+    }
+
+    public List<User> getUsersByFullName(QueryFilter queryFilter) {
+        return selectUsers("order by upper(uzer.FullName)", queryFilter);
+    }
+
+    public List<User> getUsersByNumLogins(QueryFilter queryFilter) {
+        return selectUsers("order by uzer.NumLogins", queryFilter);
+    }
+
+    public List<User> getUsersByFullName(String likeEmail, String likeOrg, QueryFilter queryFilter) {
+        String query = "";
+        String equery = "";
+        String oquery = "";
+        if (!likeEmail.equals("") || !likeOrg.equals("")) {
+            query += "where ";
+            if (!likeEmail.equals("")) {
+                equery = "upper(uzer.EmailAddress) like '%" + likeEmail.toUpperCase() + "%' ";
+            }
+            if (!likeOrg.equals("")) {
+                oquery = "upper(uzer.Organization) like '%" + likeOrg.toUpperCase() + "%' ";
+            }
+            if (!equery.equals("") && !oquery.equals("")) {
+                query += equery + " and " + oquery;
+            } else {
+                query += equery + oquery;
+            }
+        }
+        return selectUsers(query + " order by upper(uzer.FullName)", queryFilter);
+    }
+
+    public List<User> getUsersByEmail(QueryFilter queryFilter) {
+        return selectUsers("order by uzer.EmailAddress", queryFilter);
+    }
+
+    public List<User> getUsers(QueryFilter queryFilter) {
+        return selectUsers("", queryFilter);
+    }
+
+    public List<User> getUsers() {
+        return selectUsers("", null);
+    }
+
+    public User getUser(String id) {
+        return getSportletUserImpl(id);
+    }
+
+    public User getUserByUserName(String loginName) {
+        return getSportletUserImplByLoginName(loginName);
+    }
+
+
+    /**
+     * Retrieves a user object with the given email from this service.
+     *
+     * @param email the user's email address
+     */
+    public User getUserByEmail(String email) {
+        return selectSportletUserImpl("where uzer.EmailAddress='" + email + "'");
+    }
+
+    /**
+     * Retrieves users based on attribute criteria
+     *
+     * @param attrName  the attribute name
+     * @param attrValue the attribute value
+     */
+    public List<User> getUsersByAttribute(String attrName, String attrValue, QueryFilter queryFilter) {
+        String criteria = "where uzer.attributes['user." + attrName + "'] = '" + attrValue + "'";
+        return selectUsers(criteria, queryFilter);
+    }
+
+    private UserImpl getSportletUserImpl(String id) {
+        return selectSportletUserImpl("where uzer.oid='" + id + "'");
+    }
+
+    private UserImpl getSportletUserImplByLoginName(String loginName) {
+        return selectSportletUserImpl("where uzer.UserID='" + loginName + "'");
+    }
+
+    private UserImpl selectSportletUserImpl(String criteria) {
+        String oql = "select uzer from "
+                + jdoUser
+                + " uzer "
+                + criteria;
+        System.err.println(oql);
+        return (UserImpl) pm.restore(oql);
+    }
+
+    private void saveSportletUserImpl(UserImpl user) {
+        // Create or update user
+        pm.saveOrUpdate(user);
+    }
+
+    private void deleteSportletUserImpl(UserImpl user) {
+        pm.delete(user);
+    }
+
+    public boolean existsUserWithID(String userID) {
+        String criteria = "where uzer.oid='" + userID + "'";
+        return existsSportletUserImpl(criteria);
+    }
+
+    public boolean existsUserName(String loginName) {
+        String criteria = "where uzer.UserID='" + loginName + "'";
+        return existsSportletUserImpl(criteria);
+    }
+
+    private boolean existsSportletUserImpl(String criteria) {
+        String oql = "select uzer from "
+                + jdoUser
+                + " uzer "
+                + criteria;
+        UserImpl sui = (UserImpl) pm.restore(oql);
+        return (sui != null);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils/DateUtil.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils/DateUtil.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/services/core/utils/DateUtil.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,200 @@
+package org.gridsphere.services.core.utils;
+
+import org.gridsphere.services.core.user.User;
+
+import javax.portlet.PortletRequest;
+import javax.servlet.http.HttpServletRequest;
+import java.text.DateFormat;
+import java.util.*;
+
+
+/*
+ * @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+ * @version $Id: DateUtil.java 4496 2006-02-08 20:27:04Z wehrens $
+ */
+
+public class DateUtil {
+
+    /**
+     * Converts the given unix time stamp string to java time.
+     * @param timeStamp The time stamp string
+     * @return The resulting java date
+     */
+    public static long unixTimeStampToJavaTime(String timeStamp) {
+        if (timeStamp == null || timeStamp.equals("")) return 0;
+        return (long)(Double.parseDouble(timeStamp) * 1000);
+    }
+
+    /**
+     * Returns a localized date for the given time using the "user.timezone" attribute and the locale stored in the request.
+     * Displays the date and time formats using the <code>DateFormat.MEDIUM</code> format.
+     * @param request The portlet request
+     * @param milisec The time to display
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(PortletRequest request, long milisec) {
+        Locale locale = request.getLocale();
+        TimeZone tz = getTimeZone(request);
+        return getLocalizedDate(locale, tz, milisec, DateFormat.MEDIUM, DateFormat.MEDIUM);
+    }
+
+    /**
+     * Returns a localized date for the given time using the "user.timezone" attribute and the locale stored in the request.
+     * @param request The portlet request
+     * @param milisec The time to display
+     * @param dateFormat The date format
+     * @param timeFormat  The time format
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(PortletRequest request, long milisec, int dateFormat, int timeFormat) {
+        Locale locale = request.getLocale();
+        TimeZone tz = getTimeZone(request);
+        return getLocalizedDate(locale, tz, milisec, dateFormat, timeFormat);
+    }
+
+    /**
+     * Returns a localized date for the given time using the "user.timezone" attribute and the locale stored in the request.
+     * Displays the date and time formats using the <code>DateFormat.MEDIUM</code> format.
+     * @param request The portlet request
+     * @param milisec The time to display
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(HttpServletRequest request, long milisec) {
+        Locale locale = request.getLocale();
+        TimeZone tz = getTimeZone(request);
+        return getLocalizedDate(locale, tz, milisec, DateFormat.MEDIUM, DateFormat.MEDIUM);
+    }
+
+    /**
+     * Returns a localized date for the given time using the "user.timezone" attribute and the locale stored in the request.
+     * @param request The portlet request
+     * @param milisec The time to display
+     * @param dateFormat The date format
+     * @param timeFormat  The time format
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(HttpServletRequest request, long milisec, int dateFormat, int timeFormat) {
+        Locale locale = request.getLocale();
+        TimeZone tz = getTimeZone(request);
+        return getLocalizedDate(locale, tz, milisec, dateFormat, timeFormat);
+    }
+
+    /**
+     * Returns a localized date for the given locale and time zone.
+     * Displays the date and time formats using the <code>DateFormat.MEDIUM</code> format.
+     * @param locale The locale
+     * @param tz The time zone
+     * @param milisec The time to display
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(Locale locale, TimeZone tz, long milisec) {
+        return getLocalizedDate(locale, tz, milisec, DateFormat.MEDIUM, DateFormat.MEDIUM);
+    }
+
+
+    /**
+     * Returns a localized date for the given locale and time zone.
+     * Displays the date and time formats using the <code>DateFormat.MEDIUM</code> format.
+     * @param locale The locale
+     * @param tz The time zone
+     * @param milisec The time to display
+     * @param dateFormat The date format
+     * @param timeFormat  The time format
+     * @return The resulting date string
+     * @see DateFormat
+     */
+    public static String getLocalizedDate(Locale locale, TimeZone tz, long milisec, int dateFormat, int timeFormat) {
+        if (milisec == 0) {
+            return "";
+        }
+        if (locale == null) {
+            locale = Locale.getDefault();
+        }
+        if (tz == null) {
+            tz = TimeZone.getDefault();
+        }
+        Calendar cal = Calendar.getInstance(tz, locale);
+        cal.setTimeInMillis(milisec);
+        DateFormat uformatter = DateFormat.getDateTimeInstance(timeFormat, dateFormat, locale);
+        uformatter.setCalendar(cal);
+        return uformatter.format(cal.getTime());
+    }
+
+    /**
+     * Returns the time zone for the user.timezone portlet attribute in the given porlet request
+     * @param request the portlet request
+     * @return The time zone
+     */
+    public static TimeZone getTimeZone(PortletRequest request) {
+        Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
+        String tzStr = (String) userInfo.get(User.TIMEZONE);
+        TimeZone tz;
+        if (tzStr == null) {
+            tz = TimeZone.getDefault();
+        } else {
+            tz = TimeZone.getTimeZone(tzStr);
+        }
+        return tz;
+    }
+
+    /**
+     * Returns the time zone for the user.timezone portlet attribute in the given porlet request
+     * @param request the portlet request
+     * @return The time zone
+     */
+    public static TimeZone getTimeZone(HttpServletRequest request) {
+        Map userInfo = (Map) request.getAttribute(PortletRequest.USER_INFO);
+        String tzStr = (String) userInfo.get(User.TIMEZONE);
+        TimeZone tz;
+        if (tzStr == null) {
+            tz = TimeZone.getDefault();
+        } else {
+            tz = TimeZone.getTimeZone(tzStr);
+        }
+        return tz;
+    }
+
+    /**
+     * Returns localized date for the timezone the user is in.
+     *
+     * @param user       User
+     * @param locale     locale of the resulting output
+     * @param milisec    time to convert in milisec
+     * @param dateFormat the format for the date (DateFormat.{FULL|LONG|MEDIUM|SHORT}) @see DateFormat
+     * @param timeFormat the format for the time (DateFormat.{FULL|LONG|MEDIUM|SHORT}) @see DateFormat
+     * @return localized time string with timezones offset
+     */
+    public static String getLocalizedDate(User user, Locale locale, long milisec, int dateFormat, int timeFormat) {
+        TimeZone tz;
+        String tzStr = (String) user.getAttribute(User.TIMEZONE);
+        if (tzStr == null) {
+            tz = TimeZone.getDefault();
+        } else {
+            tz = TimeZone.getTimeZone(tzStr);
+        }
+        return getLocalizedDate(locale, tz, milisec, dateFormat, timeFormat);
+    }
+
+
+    /**
+     * Returns a map of localized nice TimeZonesNames.
+     * Does not return localized names yet.
+     *
+     * @return Map containing TimeZoneIDs as Key and localized names as values
+     */
+    public static Map getLocalizedTimeZoneNames() {
+        Map result = new HashMap();
+        String availableTZ[] = TimeZone.getAvailableIDs();
+        for (int i = 0; i < availableTZ.length; i++) {
+            if ((availableTZ[i].indexOf("/") > 1) && (!availableTZ[i].startsWith("System"))) {
+                result.put(availableTZ[i], availableTZ[i]);
+            }
+        }
+        return result;
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereFilter.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereFilter.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereFilter.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,226 @@
+/**
+ * Copyright (c) 2004 Grad-Soft Ltd, Kiev, Ukraine
+ * http://www.gradsoft.ua
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+package org.gridsphere.servlets;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.registry.PortletManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.hibernate.StaleObjectStateException;
+
+import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.util.StringTokenizer;
+
+/**
+ * GridSphereFilter is used for first time portal initialization including portlets
+ */
+public class GridSphereFilter implements Filter {
+
+    private static Boolean firstDoGet = Boolean.TRUE;
+
+    private Log log = LogFactory.getLog(GridSphereFilter.class);
+
+    private ServletContext context = null;
+
+    public void init(FilterConfig filterConfig) {
+        context = filterConfig.getServletContext();
+    }
+
+    public void destroy() {
+    }
+
+    public void doFilter(ServletRequest request, ServletResponse response,
+                         FilterChain chain)
+            throws IOException, ServletException {
+
+        log.info("START");
+        if ((request instanceof HttpServletRequest) && (response instanceof HttpServletResponse)) {
+            HttpServletRequest req = (HttpServletRequest) request;
+            HttpServletResponse res = (HttpServletResponse) response;
+
+            //PersistenceManagerService pms = null;
+
+            // If first time being called, instantiate all portlets
+
+            if (firstDoGet.equals(Boolean.TRUE)) {
+
+                SettingsService settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+                // check if database file exists
+                String release = SportletProperties.getInstance().getProperty("gridsphere.release");
+                int idx = release.lastIndexOf(" ");
+                String gsversion = release.substring(idx + 1);
+
+                //System.err.println("gsversion=" + gsversion);
+
+                String dbpath = settingsService.getRealSettingsPath("/database/GS_" + gsversion);
+
+                File dbfile = new File(dbpath);
+
+                if (!dbfile.exists()) {
+                    request.setAttribute("setup", "true");
+                    RequestDispatcher rd = request.getRequestDispatcher("/setup");
+                    rd.forward(request, response);
+                    return;
+                }
+
+                PersistenceManagerService pms = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+                PersistenceManagerRdbms pm = null;
+                boolean noAdmin = true;
+                try {
+                    log.info("Starting a database transaction");
+                    pm = pms.createGridSphereRdbms();
+                    pm.setClassLoader(Thread.currentThread().getContextClassLoader());
+                    pm.beginTransaction();
+
+                    RoleManagerService roleService = (RoleManagerService) PortletServiceFactory.createPortletService(RoleManagerService.class, true);
+                    noAdmin = roleService.getUsersInRole(PortletRole.ADMIN).isEmpty();
+
+                    pm.endTransaction();
+                } catch (StaleObjectStateException staleEx) {
+                    log.error("This interceptor does not implement optimistic concurrency control!");
+                    log.error("Your application will not work until you add compensation actions!");
+                } catch (Throwable ex) {
+                    ex.printStackTrace();
+                    pm.endTransaction();
+                    try {
+                        pm.rollbackTransaction();
+                    } catch (Throwable rbEx) {
+                        log.error("Could not rollback transaction after exception!", rbEx);
+                    }
+                }
+
+                if (noAdmin) {
+                    request.setAttribute("setup", "true");
+                    RequestDispatcher rd = request.getRequestDispatcher("/setup");
+                    rd.forward(request, response);
+                    return;
+                }
+
+                System.err.println("Initializing portlets!!!");
+                log.info("Initializing portlets");
+                try {
+                    // initialize all portlets
+                    PortletManagerService portletManager = (PortletManagerService) PortletServiceFactory.createPortletService(PortletManagerService.class, true);
+                    portletManager.initAllPortletWebApplications(req, res);
+                    firstDoGet = Boolean.FALSE;
+                } catch (Exception e) {
+                    log.error("GridSphere initialization failed!", e);
+                    RequestDispatcher rd = req.getRequestDispatcher("/jsp/errors/init_error.jsp");
+                    req.setAttribute("error", e);
+                    rd.forward(req, res);
+                    return;
+                }
+
+            }
+
+            String pathInfo = req.getPathInfo();
+            StringBuffer requestURL = req.getRequestURL();
+            String requestURI = req.getRequestURI();
+            String query = req.getQueryString();
+            log.info("\ncontext path = " + req.getContextPath() + " servlet path=" + req.getServletPath());
+            log.info("\n pathInfo= " + pathInfo + " query= " + query);
+            log.info(" requestURL= " + requestURL + " requestURI= " + requestURI + "\n");
+
+            String extraInfo = "";
+
+            // use the servlet path to determine where to forward
+            // expect servlet path = /servletpath/XXXX
+
+            String path = req.getServletPath();
+            int start = path.indexOf("/", 1);
+
+            if ((start > 0) && (path.length() - 1) > start) {
+
+                String parsePath = path.substring(start + 1);
+                //System.err.println(parsePath);
+                extraInfo = "?";
+
+                StringTokenizer st = new StringTokenizer(parsePath, "/");
+
+                if (st.hasMoreTokens()) {
+                    String layoutId = (String) st.nextElement();
+                    extraInfo += SportletProperties.LAYOUT_PAGE_PARAM + "=" + layoutId;
+                }
+                if (st.hasMoreTokens()) {
+                    String cid = (String) st.nextElement();
+                    extraInfo += "&" + SportletProperties.COMPONENT_ID + "=" + cid;
+                }
+                if (st.hasMoreTokens()) {
+                    // check for /a/ or /r/ to indicate if it's a render or action
+                    String phase = (String) st.nextElement();
+                    if (phase.equals("a")) {
+                        if (st.hasMoreTokens()) {
+                            extraInfo += "&" + SportletProperties.DEFAULT_PORTLET_ACTION + "=" + (String) st.nextElement();
+                        } else {
+                            extraInfo += "&" + SportletProperties.DEFAULT_PORTLET_ACTION + "=";
+                        }
+                    } else if (phase.equals("r")) {
+                        if (st.hasMoreTokens()) {
+                            extraInfo += "&" + SportletProperties.DEFAULT_PORTLET_RENDER + "=" + (String) st.nextElement();
+                        } else {
+                            extraInfo += "&" + SportletProperties.DEFAULT_PORTLET_RENDER + "=";
+                        }
+                    } else if (phase.equals("m")) {
+                        if (st.hasMoreTokens()) {
+                            extraInfo += "&" + SportletProperties.PORTLET_MODE + "=" + (String) st.nextElement();
+                        }
+                    } else if (phase.equals("s")) {
+                        if (st.hasMoreTokens()) {
+                            extraInfo += "&" + SportletProperties.PORTLET_WINDOW + "=" + (String) st.nextElement();
+                        }
+                    }
+                }
+                if (query != null) {
+                    extraInfo += "&" + query;
+                }
+                //String ctxPath = "/" + configService.getProperty("gridsphere.context");
+            }
+
+            //chain.doFilter(request, response);
+
+
+            String ctxPath = "/gs";
+
+            log.info("forwarded URL: " + ctxPath + extraInfo);
+
+            context.getRequestDispatcher(ctxPath + extraInfo).forward(req, res);
+
+            log.info("END");
+
+        }
+
+    }
+
+
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereServlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereServlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/GridSphereServlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,530 @@
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @version $Id: GridSphereServlet.java 4956 2006-07-26 16:15:56Z novotny $
+*/
+package org.gridsphere.servlets;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.PortletLayoutEngine;
+import org.gridsphere.layout.PortletPageFactory;
+import org.gridsphere.portlet.impl.PortletContextImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.PortletServiceException;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portlet.service.spi.impl.descriptor.PortletServiceCollection;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.PortletDispatcherException;
+import org.gridsphere.portletcontainer.impl.GridSphereEventImpl;
+import org.gridsphere.portletcontainer.impl.PortletServiceDescriptor;
+import org.gridsphere.portletcontainer.impl.PortletSessionManager;
+import org.gridsphere.services.core.filter.PortalFilter;
+import org.gridsphere.services.core.filter.PortalFilterService;
+import org.gridsphere.services.core.persistence.PersistenceManagerException;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.registry.PortletManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+import org.gridsphere.services.core.user.UserPrincipal;
+import org.gridsphere.services.core.user.impl.UserImpl;
+import org.hibernate.StaleObjectStateException;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.portlet.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.SocketException;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * The <code>GridSphereServlet</code> is the GridSphere portlet container.
+ * All portlet requests get proccessed by the GridSphereServlet before they
+ * are rendered.
+ */
+public class GridSphereServlet extends HttpServlet implements ServletContextListener, HttpSessionListener {
+
+    private Log log = LogFactory.getLog(GridSphereServlet.class);
+
+    /* GridSphere Portlet Registry Service */
+    private PortletManagerService portletManager = null;
+
+    /* GridSphere Access Control Service */
+    private RoleManagerService roleService = null;
+
+    private UserManagerService userManagerService = null;
+
+    /* GridSphere Portlet layout Engine handles rendering */
+    private PortletLayoutEngine layoutEngine = PortletLayoutEngine.getInstance();
+
+    private PortletSessionManager sessionManager = PortletSessionManager.getInstance();
+
+//    private SettingsService settingsService = null;
+
+    private PortalFilterService portalFilterService = null;
+
+    private boolean firstDoGet = true;
+
+    private boolean isTCK = false;
+
+    /**
+     * Initializes the GridSphere portlet container
+     *
+     * @param config the <code>ServletConfig</code>
+     * @throws ServletException if an error occurs during initialization
+     */
+    public final void init(ServletConfig config) throws ServletException {
+        super.init(config);
+        log.info("in init of GridSphereServlet");
+        String descriptorPath = config.getServletContext().getRealPath("/WEB-INF/GridSphereServices.xml");
+        // add core gridsphere services to ServiceFactory
+        PortletServiceDescriptor descriptor = null;
+        try {
+            log.debug("loading from: " + descriptorPath);
+            descriptor = new PortletServiceDescriptor(descriptorPath);
+            PortletServiceCollection serviceCollection = descriptor.getServiceCollection();
+            PortletServiceFactory.addServices("gridsphere", config.getServletContext(), serviceCollection, Thread.currentThread().getContextClassLoader());
+        } catch (PersistenceManagerException e) {
+            //log.error("error unmarshalling " + servicesPath + " using " + servicesMappingPath + " : " + e.getMessage());
+            throw new PortletServiceException("error unmarshalling " + descriptorPath, e);
+        }
+        PortletLayoutEngine layoutEngine = PortletLayoutEngine.getInstance();
+        layoutEngine.init(config.getServletContext());
+    }
+
+    private void initializeServices() throws PortletServiceException {
+        roleService = (RoleManagerService) PortletServiceFactory.createPortletService(RoleManagerService.class, true);
+        userManagerService = (UserManagerService) PortletServiceFactory.createPortletService(UserManagerService.class, true);
+        portletManager = (PortletManagerService) PortletServiceFactory.createPortletService(PortletManagerService.class, true);
+        portalFilterService = (PortalFilterService) PortletServiceFactory.createPortletService(PortalFilterService.class, true);
+    }
+
+
+    public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+
+        PersistenceManagerService pms = null;
+
+        pms = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+
+        PersistenceManagerRdbms pm = null;
+        try {
+            log.info("Starting a database transaction");
+
+            pm = pms.createGridSphereRdbms();
+            pm.beginTransaction();
+
+            processRequest(req, res);
+            // Commit and cleanup
+            log.info("Committing the database transaction");
+
+            pm.endTransaction();
+        } catch (StaleObjectStateException staleEx) {
+            log.error("This interceptor does not implement optimistic concurrency control!");
+            log.error("Your application will not work until you add compensation actions!");
+            // Rollback, close everything, possibly compensate for any permanent changes
+            // during the conversation, and finally restart business conversation. Maybe
+            // give the user of the application a chance to merge some of his work with
+            // fresh data... what you do here depends on your applications design.
+            //throw staleEx;
+        } catch (Throwable ex) {
+            ex.printStackTrace();
+            pm.endTransaction();
+            try {
+                pm.rollbackTransaction();
+            } catch (Throwable rbEx) {
+                log.error("Could not rollback transaction after exception!", rbEx);
+            }
+            // Let others handle it... maybe another interceptor for exceptions?
+            //throw new ServletException(ex);
+        }
+    }
+
+    /**
+     * Processes GridSphere portal framework requests
+     *
+     * @param req the <code>HttpServletRequest</code>
+     * @param res the <code>HttpServletResponse</code>
+     * @throws IOException      if an I/O error occurs
+     * @throws ServletException if a servlet error occurs
+     */
+    public void processRequest(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+
+        if (firstDoGet) {
+            initializeServices();
+            updateDatabase();
+            firstDoGet = false;
+        }
+
+        long startTime = System.currentTimeMillis();
+
+        PortletContext ctx = new PortletContextImpl(getServletContext());
+        GridSphereEvent event = new GridSphereEventImpl(ctx, req, res);
+
+        // check to see if user has been authorized by means of container managed authorization
+        checkWebContainerAuthorization(event);
+
+        List<PortalFilter> portalFilters = portalFilterService.getPortalFilters();
+        for (PortalFilter filter : portalFilters) {
+            filter.doBeforeEveryRequest(req, res);
+        }
+
+        // Used for TCK tests
+
+        if (isTCK) {
+            req.setAttribute(SportletProperties.LAYOUT_PAGE, PortletPageFactory.TCK_PAGE);
+            setTCKUser(req);
+        } else {
+            setUserAndRoles(event);
+        }
+
+        // Handle user login and logout
+        if (event.hasAction()) {
+            String actionName = event.getAction().getName();
+            if (actionName.equals(SportletProperties.LOGOUT)) {
+                logout(event);
+                long endTime = System.currentTimeMillis();
+                System.err.println("Page render time = " + (endTime - startTime) + " (ms) request= " + req.getQueryString());
+                return;
+            }
+        }
+
+        layoutEngine.actionPerformed(event);
+
+        // perform a redirect-after-POST!
+        if (event.hasAction() && req.getMethod().toUpperCase().equals("POST")) {
+            String requestURL = (String) req.getAttribute(SportletProperties.PORTAL_REDIRECT_PATH);
+            if (req.getParameter("ajax") == null) {
+                log.debug("redirect after POST to: " + requestURL);
+                res.sendRedirect(requestURL);
+                return;
+            }
+        }
+
+        // is this a file download operation?
+        if (isDownload(req)) {
+            try {
+                downloadFile(req, res);
+                return;
+            } catch (PortletException e) {
+                log.error("Unable to download file!", e);
+                req.setAttribute(SportletProperties.FILE_DOWNLOAD_ERROR, e);
+            }
+        }
+
+        // Used for TCK tests
+        if (isTCK) {
+            setTCKUser(req);
+        } else {
+            setUserAndRoles(event);
+        }
+
+        layoutEngine.service(event);
+
+        for (PortalFilter portalFilter : portalFilters) {
+            PortalFilter filter = (PortalFilter) portalFilter;
+            filter.doAfterEveryRequest(req, res);
+        }
+
+        //log.debug("Portlet service factory stats");
+        //factory.logStatistics();
+        long endTime = System.currentTimeMillis();
+        System.err.println("Page render time = " + (endTime - startTime) + " (ms) request= " + req.getQueryString());
+        sessionManager.dumpSessions();
+        System.err.println("after dump");
+
+        //event.getRenderResponse().createRenderURL();
+    }
+
+    /**
+     * Method to set the response headers to perform file downloads to a browser
+     *
+     * @param req the HttpServletRequest
+     * @param res the HttpServletResponse
+     * @throws PortletException if a portlet exception occurs
+     * @throws IOException      if an IO error occurs
+     */
+    public void downloadFile(HttpServletRequest req, HttpServletResponse res) throws PortletException, IOException {
+
+        String fileName = (String) req.getAttribute(SportletProperties.FILE_DOWNLOAD_NAME);
+        if (fileName == null) return;
+        String path = (String) req.getAttribute(SportletProperties.FILE_DOWNLOAD_PATH);
+        Boolean deleteFile = (Boolean) req.getAttribute(SportletProperties.FILE_DELETE);
+        File file = (File) req.getAttribute(SportletProperties.FILE_DOWNLOAD_BINARY);
+
+        req.removeAttribute(SportletProperties.FILE_DOWNLOAD_NAME);
+        req.removeAttribute(SportletProperties.FILE_DOWNLOAD_PATH);
+        req.removeAttribute(SportletProperties.FILE_DELETE);
+        req.removeAttribute(SportletProperties.FILE_DOWNLOAD_BINARY);
+
+        try {
+            if (file == null) {
+                file = new File(path + fileName);
+            }
+            if (deleteFile == null) deleteFile = Boolean.FALSE;
+            log.debug("in downloadFile");
+            log.debug("filename: " + fileName + " filepath= " + path);
+            FileDataSource fds = new FileDataSource(file);
+            log.debug("filename: " + fileName + " filepath= " + path + " content type=" + fds.getContentType());
+            res.setContentType(fds.getContentType());
+            res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+            res.setHeader("Content-Length", String.valueOf(file.length()));
+            DataHandler handler = new DataHandler(fds);
+            handler.writeTo(res.getOutputStream());
+            if (deleteFile.booleanValue()) {
+                file.delete();
+            }
+        } catch (FileNotFoundException e) {
+            throw new PortletException("Unable to find file!", e);
+        } catch (SecurityException e) {
+            // this gets thrown if a security policy applies to the file. see java.io.File for details.
+            throw new PortletException("A security error occurred!", e);
+        } catch (SocketException e) {
+            throw new PortletException("A socket error occurred!", e);
+        }
+    }
+
+    public boolean isDownload(HttpServletRequest req) {
+        return (req.getAttribute(SportletProperties.FILE_DOWNLOAD_NAME) != null);
+    }
+
+    public void setTCKUser(HttpServletRequest req) {
+        log.info("Setting a TCK user");
+        UserImpl u = new UserImpl();
+        u.setUserName("tckuser");
+        u.setUserID("tckuser");
+        u.setID("500");
+        req.setAttribute(SportletProperties.PORTLET_USER, u);
+        req.setAttribute(SportletProperties.PORTLET_ROLE, new ArrayList());
+        isTCK = true;
+    }
+
+    public void setUserAndRoles(GridSphereEvent event) {
+        // Retrieve user if there is one
+        HttpServletRequest req = event.getHttpServletRequest();
+        HttpSession session = req.getSession(true);
+        User user = null;
+        String uid = (String) session.getAttribute(SportletProperties.PORTLET_USER);
+        if (uid != null) {
+            user = userManagerService.getUser(uid);
+        }
+        List<String> roles = new ArrayList<String>();
+        if (user != null) {
+            UserPrincipal userPrincipal = new UserPrincipal(user.getUserName());
+            req.setAttribute(SportletProperties.PORTLET_USER_PRINCIPAL, userPrincipal);
+            List<PortletRole> proles = roleService.getRolesForUser(user);
+            for (PortletRole role : proles) {
+                roles.add(role.getName());
+            }
+        }
+
+        // set user, role and groups in request
+        req.setAttribute(SportletProperties.PORTLET_USER, user);
+        req.setAttribute(SportletProperties.PORTLET_ROLE, roles);
+    }
+
+    // Dmitry Gavrilov (2005-03-17)
+    // FIX for web container authorization
+    private void checkWebContainerAuthorization(GridSphereEvent event) {
+        PortletRequest request = event.getActionRequest();
+        PortletSession session = request.getPortletSession();
+        if (session.getAttribute(SportletProperties.PORTLET_USER) != null) return;
+        if (!(event.hasAction() && event.getAction().getName().equals(SportletProperties.LOGOUT))) {
+            Principal principal = request.getUserPrincipal();
+            if (principal != null) {
+                // fix for OC4J. it must work in Tomcat also
+                int indeDelimeter = principal.getName().lastIndexOf('/');
+                indeDelimeter = (indeDelimeter > 0) ? (indeDelimeter + 1) : 0;
+                String login = principal.getName().substring(indeDelimeter);
+                User user = userManagerService.getUserByUserName(login);
+                if (user != null) {
+                    request.setAttribute(SportletProperties.PORTLET_USER, user);
+                    session.setAttribute(SportletProperties.PORTLET_USER, user.getID(), PortletSession.APPLICATION_SCOPE);
+                }
+            }
+        }
+    }
+
+    /**
+     * Handles logout requests
+     *
+     * @param event a <code>GridSphereEvent</code>
+     */
+    protected void logout(GridSphereEvent event) {
+        log.debug("in logout of GridSphere Servlet");
+        PortletRequest req = event.getActionRequest();
+        RenderResponse res = event.getRenderResponse();
+        //removeUserCookie(event);
+
+        req.removeAttribute(SportletProperties.PORTLET_USER);
+        req.removeAttribute(SportletProperties.PORTLET_USER_PRINCIPAL);
+
+        try {
+            portletManager.logoutAllPortletWebApplications(event.getHttpServletRequest(), event.getHttpServletResponse());
+        } catch (PortletDispatcherException e) {
+            log.error("Failed to logout portlets!", e);
+        }
+
+
+        List<PortalFilter> portalFilters = portalFilterService.getPortalFilters();
+        for (PortalFilter filter : portalFilters) {
+            filter.doAfterLogout(event.getHttpServletRequest(), event.getHttpServletResponse());
+        }
+
+
+        try {
+            String url = res.createRenderURL().toString();
+            log.error("Post logout redirect to " + url);
+            event.getHttpServletResponse().sendRedirect(url);
+        } catch (IOException e) {
+            log.error("Unable to do a redirect!", e);
+        }
+    }
+
+    /**
+     * @see #doGet
+     */
+    public final void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
+        doGet(req, res);
+    }
+
+    /**
+     * Return the servlet info.
+     *
+     * @return a string with the servlet information.
+     */
+    public final String getServletInfo() {
+        return "GridSphere Servlet";
+    }
+
+    /**
+     * Shuts down the GridSphere portlet container
+     */
+    public final void destroy() {
+        log.debug("in destroy: Shutting down services");
+        // Shutdown services
+        PortletServiceFactory.shutdownServices();
+        System.gc();
+    }
+
+    /**
+     * Record the fact that a servlet context attribute was added.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeAdded(HttpSessionBindingEvent event) {
+        try {
+            log.debug("attributeAdded('" + event.getSession().getId() + "', '" +
+                    event.getName() + "', '" + event.getValue() + "')");
+        } catch (IllegalStateException e) {
+            // do nothing
+        }
+    }
+
+    /**
+     * Record the fact that a servlet context attribute was removed.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeRemoved(HttpSessionBindingEvent event) {
+        try {
+            log.debug("attributeRemoved('" + event.getSession().getId() + "', '" +
+                    event.getName() + "', '" + event.getValue() + "')");
+        } catch (IllegalStateException e) {
+            // do nothing
+        }
+
+    }
+
+    /**
+     * Record the fact that a servlet context attribute was replaced.
+     *
+     * @param event The session attribute event
+     */
+    public void attributeReplaced(HttpSessionBindingEvent event) {
+        try {
+            log.debug("attributeReplaced('" + event.getSession().getId() + "', '" +
+                    event.getName() + "', '" + event.getValue() + "')");
+        } catch (IllegalStateException e) {
+            // do nothing
+        }
+
+    }
+
+    /**
+     * Record the fact that this ui application has been destroyed.
+     *
+     * @param event The servlet context event
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+        ServletContext ctx = event.getServletContext();
+        log.debug("contextDestroyed()");
+        log.debug("contextName: " + ctx.getServletContextName());
+        log.debug("context path: " + ctx.getRealPath(""));
+    }
+
+
+    /**
+     * Record the fact that this ui application has been initialized.
+     *
+     * @param event The servlet context event
+     */
+    public void contextInitialized(ServletContextEvent event) {
+        System.err.println("in contextInitialized of GridSphereServlet");
+        ServletContext ctx = event.getServletContext();
+        log.info("contextName: " + ctx.getServletContextName());
+        log.debug("context path: " + ctx.getRealPath(""));
+
+    }
+
+    /**
+     * Record the fact that a session has been created.
+     *
+     * @param event The session event
+     */
+    public void sessionCreated(HttpSessionEvent event) {
+        System.err.println("sessionCreated('" + event.getSession().getId() + "')");
+        sessionManager.sessionCreated(event);
+    }
+
+
+    /**
+     * Record the fact that a session has been destroyed.
+     *
+     * @param event The session event
+     */
+    public void sessionDestroyed(HttpSessionEvent event) {
+        sessionManager.sessionDestroyed(event);
+        System.err.println("sessionDestroyed('" + event.getSession().getId() + "')");
+    }
+
+    public void updateDatabase() {
+        // loop thru users make sure first and last name are created from full name
+        List<User> users = userManagerService.getUsers();
+        for (User user : users) {
+            if (user.getFirstName().equals("") && user.getLastName().equals("")) {
+                String full = user.getFullName();
+                int idx = full.lastIndexOf(" ");
+                if (idx > 0) {
+                    user.setFirstName(full.substring(0, idx));
+                    user.setLastName(full.substring(idx + 1));
+                } else {
+                    user.setFirstName(full);
+                }
+                Integer numLogins = user.getNumLogins();
+                if (numLogins == null) numLogins = 0;
+                user.setNumLogins(numLogins++);
+                userManagerService.saveUser(user);
+            }
+        }
+    }
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/SetupServlet.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/SetupServlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/servlets/SetupServlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,430 @@
+package org.gridsphere.servlets;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.gridsphere.layout.PortletLayoutEngine;
+import org.gridsphere.portlet.impl.PortletContextImpl;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gridsphere.portlet.service.spi.PortletServiceFactory;
+import org.gridsphere.portletcontainer.GridSphereEvent;
+import org.gridsphere.portletcontainer.impl.GridSphereEventImpl;
+import org.gridsphere.services.core.customization.SettingsService;
+import org.gridsphere.services.core.persistence.PersistenceManagerRdbms;
+import org.gridsphere.services.core.persistence.PersistenceManagerService;
+import org.gridsphere.services.core.persistence.impl.CreateDatabase;
+import org.gridsphere.services.core.portal.PortalConfigService;
+import org.gridsphere.services.core.security.password.PasswordEditor;
+import org.gridsphere.services.core.security.password.PasswordManagerService;
+import org.gridsphere.services.core.security.role.PortletRole;
+import org.gridsphere.services.core.security.role.RoleManagerService;
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.services.core.user.UserManagerService;
+import org.hibernate.StaleObjectStateException;
+
+import javax.portlet.PortletContext;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+ * @version $Id$
+ */
+public class SetupServlet extends HttpServlet {
+
+    private Log log = LogFactory.getLog(SetupServlet.class);
+    private PortletLayoutEngine layoutEngine = PortletLayoutEngine.getInstance();
+    private RoleManagerService roleService = null;
+    private UserManagerService userManagerService = null;
+    private PasswordManagerService passwordService = null;
+    private PortalConfigService portalConfigService = null;
+    private SettingsService settingsService = null;
+
+    public void init(ServletConfig servletConfig) throws ServletException {
+        super.init(servletConfig);
+        settingsService = (SettingsService) PortletServiceFactory.createPortletService(SettingsService.class, true);
+    }
+
+    protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
+        PortletContext ctx = new PortletContextImpl(getServletContext());
+        GridSphereEventImpl event = new GridSphereEventImpl(ctx, req, res);
+
+        if (req.getAttribute("setup") == null) {
+            redirect(event);
+            return;
+        }
+
+        String error = (String) req.getSession(true).getAttribute("error");
+        if (error != null) {
+            req.setAttribute("error", error);
+            req.getSession().removeAttribute("error");
+        }
+        // check current GS release and the DB meta file
+        String release = SportletProperties.getInstance().getProperty("gridsphere.release");
+        int idx = release.lastIndexOf(" ");
+        String gsversion = release.substring(idx + 1);
+        //System.err.println("gsversion=" + gsversion);
+
+        String dbpath = settingsService.getRealSettingsPath("database");
+
+        File dbdir = new File(dbpath);
+        String[] filenames = dbdir.list();
+        String currentVersion = null;
+        for (int i = 0; i < filenames.length; i++) {
+            if (filenames[i].startsWith("GS")) currentVersion = filenames[i];
+        }
+
+        setupRoles(event);
+
+        File thisdbfile = new File(dbpath + File.separator + "GS_" + gsversion);
+
+        // if meta file exists, redirect to the portal unless admin needs to be created
+        if (thisdbfile.exists()) {
+            roleService = (RoleManagerService) PortletServiceFactory.createPortletService(RoleManagerService.class, true);
+            userManagerService = (UserManagerService) PortletServiceFactory.createPortletService(UserManagerService.class, true);
+            passwordService = (PasswordManagerService) PortletServiceFactory.createPortletService(PasswordManagerService.class, true);
+            portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+
+            PersistenceManagerService pms = null;
+
+            pms = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+            List admins = null;
+            PersistenceManagerRdbms pm = null;
+            try {
+                log.info("Starting a database transaction");
+
+                pm = pms.createGridSphereRdbms();
+                pm.beginTransaction();
+
+                admins = roleService.getUsersInRole(PortletRole.ADMIN);
+
+
+                log.info("Committing the database transaction");
+
+                pm.endTransaction();
+            } catch (StaleObjectStateException staleEx) {
+                log.error("This interceptor does not implement optimistic concurrency control!");
+                log.error("Your application will not work until you add compensation actions!");
+
+            } catch (Throwable ex) {
+                ex.printStackTrace();
+                pm.endTransaction();
+                try {
+                    pm.rollbackTransaction();
+                } catch (Throwable rbEx) {
+                    log.error("Could not rollback transaction after exception!", rbEx);
+                }
+            }
+
+
+            if (admins.isEmpty()) {
+                req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupAdmin");
+            } else {
+                redirect(event);
+                return;
+            }
+
+        } else {
+
+            // do a databse update since an old version exists
+            if (currentVersion != null) {
+                req.setAttribute(SportletProperties.LAYOUT_PAGE, "UpdateDatabase");
+            } else {
+                req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupDatabase");
+            }
+        }
+
+        layoutEngine.actionPerformed(event);
+
+        layoutEngine.service(event);
+
+    }
+
+
+    protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
+
+        PortletContext ctx = new PortletContextImpl(getServletContext());
+        GridSphereEventImpl event = new GridSphereEventImpl(ctx, req, res);
+
+        req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupDatabase");
+        try {
+            String installType = req.getParameter("install");
+            if (installType != null) {
+                if (installType.equals("default")) {
+                    createDefaultDatabase();
+                    makeDatabase();
+                    createDatabaseFile();
+                    req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupAdmin");
+                }
+                if (installType.equals("custom")) {
+                    createExternalDatabase(event);
+                    makeDatabase();
+                    createDatabaseFile();
+                    req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupAdmin");
+                }
+                if (installType.equals("update")) {
+                    req.setAttribute(SportletProperties.LAYOUT_PAGE, "UpdateDatabase");
+                    updateDatabase();
+                    removeOldDatabaseFile();
+                    createDatabaseFile();
+                }
+                if (installType.equals("admin")) {
+                    req.setAttribute(SportletProperties.LAYOUT_PAGE, "SetupAdmin");
+                    createAdmin(event);
+                }
+            }
+
+        } catch (IllegalArgumentException e) {
+            req.getSession(true).setAttribute("error", e.getMessage());
+        }
+        redirect(event);
+    }
+
+
+    private void createDefaultDatabase() {
+
+        // read in the original from the WEB-INF dir
+        InputStream hibInputStream = getServletContext().getResourceAsStream("/WEB-INF/CustomPortal/database/hibernate.properties");
+
+        // write it to the new settings location
+        String hibPath = settingsService.getRealSettingsPath("database/hibernate.properties");
+        // String hibPath = settingsService.getSettingsPath()+File.separator+"database"+File.separator+"hibernate.properties";
+        //String hibPath = getServletContext().getRealPath("/WEB-INF/CustomPortal/database/hibernate.properties");
+        try {
+            FileOutputStream hibOut = new FileOutputStream(hibPath);
+            Properties hibProps = new Properties();
+            String connURL = "jdbc:hsqldb:" + settingsService.getRealSettingsPath("database/gridsphere");
+            log.debug("using connURL= " + connURL);
+            hibProps.load(hibInputStream);
+            hibProps.setProperty("hibernate.connection.url", connURL);
+            hibProps.store(hibOut, "Hibernate Properties");
+        } catch (IOException e) {
+            log.error("Unable to load/save hibernate.properties", e);
+            throw new IllegalArgumentException("Unable to  save hibernate.properties file! Please check the log file for more details");
+        }
+
+    }
+
+    private void createExternalDatabase(GridSphereEvent event) {
+        HttpServletRequest req = event.getHttpServletRequest();
+        // get the original path as default
+        InputStream hibInputStream = getServletContext().getResourceAsStream("/WEB-INF/CustomPortal/database/hibernate.properties");
+        String hibPath = settingsService.getRealSettingsPath("database/hibernate.properties");
+
+        String dbtype = req.getParameter("dbtype");
+
+        String connURL = req.getParameter("databaseURL");
+        if ((connURL == null) || (connURL.equals("")))
+            throw new IllegalArgumentException("Please provide a value for the Database URL!");
+        String dialect = req.getParameter("dialect");
+        if ((dialect == null) || (dialect.equals("")))
+            throw new IllegalArgumentException("Please provide a value for the Hibernate Dialect!");
+        String driverClass = req.getParameter("driverClass");
+        if ((driverClass == null) || (driverClass.equals("")))
+            throw new IllegalArgumentException("Please provide a value for the Driver Class Name!");
+
+        String name = req.getParameter("username");
+        if (name == null) name = "";
+        String pass = req.getParameter("password");
+        if (pass == null) pass = "";
+
+        System.err.println("dbtype=" + dbtype);
+
+
+        try {
+            FileOutputStream hibOut = new FileOutputStream(hibPath);
+            Properties hibProps = new Properties();
+
+            System.err.println("driver class=" + driverClass);
+            System.err.println("conn url=" + connURL);
+            hibProps.load(hibInputStream);
+            hibProps.setProperty("hibernate.dialect", dialect);
+            hibProps.setProperty("hibernate.connection.username", name);
+            hibProps.setProperty("hibernate.connection.password", pass);
+            hibProps.setProperty("hibernate.connection.url", connURL);
+            hibProps.setProperty("hibernate.connection.driver_class", driverClass);
+            hibProps.store(hibOut, "Hibernate Properties");
+            hibOut.close();
+            hibInputStream.close();
+        } catch (IOException e) {
+            log.error("Unable to load/save hibernate.properties", e);
+            throw new IllegalArgumentException("Unable to  save hibernate.properties file! Please check the log file for more details");
+        }
+    }
+
+    private void makeDatabase() {
+        CreateDatabase dbtask = new CreateDatabase();
+        dbtask.setAction("CREATE");
+        // todo fix the dir
+        // dbtask.setConfigDir(getServletContext().getRealPath(""));
+        dbtask.setPersistenceMappingDir(getServletContext().getRealPath("WEB-INF/persistence"));
+        try {
+            dbtask.execute();
+        } catch (Exception e) {
+            throw new IllegalArgumentException(e.getMessage());
+        }
+    }
+
+    private void updateDatabase() {
+        CreateDatabase dbtask = new CreateDatabase();
+        dbtask.setAction("UPDATE");
+        // todo fix the dir 
+        //dbtask.setConfigDir(getServletContext().getRealPath(""));
+        dbtask.setPersistenceMappingDir(getServletContext().getRealPath("WEB-INF/persistence"));
+        try {
+            dbtask.execute();
+        } catch (Exception e) {
+            throw new IllegalArgumentException(e.getMessage());
+        }
+    }
+
+    private void createDatabaseFile() {
+
+        String release = SportletProperties.getInstance().getProperty("gridsphere.release");
+        int idx = release.lastIndexOf(" ");
+        String gsversion = release.substring(idx + 1);
+        String dbpath = settingsService.getRealSettingsPath("database/GS_" + gsversion);
+        try {
+            File dbfile = new File(dbpath);
+            dbfile.createNewFile();
+        } catch (IOException e) {
+            throw new IllegalArgumentException("Unable to create file: " + dbpath, e);
+        }
+    }
+
+
+    private void setupRoles(GridSphereEvent event) {
+
+        // Retrieve user if there is one
+        HttpServletRequest req = event.getHttpServletRequest();
+
+        List roles = new ArrayList();
+        roles.add("setup");
+
+        // set user, role and groups in request
+
+        req.setAttribute(SportletProperties.PORTLET_ROLE, roles);
+    }
+
+    private void removeOldDatabaseFile() {
+        String dbpath = settingsService.getRealSettingsPath("database");
+        File dbdir = new File(dbpath);
+        String[] filenames = dbdir.list();
+        String currentVersion = null;
+        for (int i = 0; i < filenames.length; i++) {
+            if (filenames[i].startsWith("GS")) currentVersion = filenames[i];
+        }
+        if (currentVersion != null) {
+            File f = new File(currentVersion);
+            f.delete();
+        }
+    }
+
+    private void createAdmin(GridSphereEvent event) {
+        HttpServletRequest req = event.getHttpServletRequest();
+        String username = req.getParameter("username");
+        String firstname = req.getParameter("firstname");
+        String lastname = req.getParameter("lastname");
+        String email = req.getParameter("email");
+        String org = req.getParameter("organization");
+        String passwd = req.getParameter("password");
+        String passwd2 = req.getParameter("password2");
+
+        if (username.equals("")) throw new IllegalArgumentException("Please provide a User Name!");
+        if (firstname.equals("")) throw new IllegalArgumentException("Please provide a First Name!");
+        if (lastname.equals("")) throw new IllegalArgumentException("Please provide a Last Name!");
+        if (email.equals("")) throw new IllegalArgumentException("Please provide an Email Address!");
+        if (!email.contains("@") || (!email.contains(".")))
+            throw new IllegalArgumentException("Please provide a valid Email Address!");
+        if (!passwd.equals(passwd2)) throw new IllegalArgumentException("The supplied passwords do not match!");
+        if (passwd.equals("")) throw new IllegalArgumentException("Please provide a Password!");
+
+
+        PersistenceManagerService pms = (PersistenceManagerService) PortletServiceFactory.createPortletService(PersistenceManagerService.class, true);
+        PersistenceManagerRdbms pm = pms.createGridSphereRdbms();
+
+        try {
+            log.debug("Starting a database transaction");
+            pm.beginTransaction();
+
+
+            User accountRequest = this.userManagerService.createUser();
+            accountRequest.setUserName(username);
+            accountRequest.setFirstName(firstname);
+            accountRequest.setLastName(lastname);
+            accountRequest.setFullName(lastname + ", " + firstname);
+            accountRequest.setEmailAddress(email);
+            accountRequest.setOrganization(org);
+            PasswordEditor editor = passwordService.editPassword(accountRequest);
+            editor.setValue(passwd);
+            log.debug("Saving the admin account in the DB");
+            portalConfigService.setProperty(PortalConfigService.PORTAL_ADMIN_EMAIL, accountRequest.getEmailAddress());
+            passwordService.savePassword(editor);
+            userManagerService.saveUser(accountRequest);
+
+            roleService.addUserToRole(accountRequest, PortletRole.ADMIN);
+            roleService.addUserToRole(accountRequest, PortletRole.USER);
+
+            // Commit and cleanup
+            log.debug("Committing the database transaction");
+            pm.endTransaction();
+        } catch (StaleObjectStateException staleEx) {
+            log.error("This interceptor does not implement optimistic concurrency control!");
+            log.error("Your application will not work until you add compensation actions!");
+            // Rollback, close everything, possibly compensate for any permanent changes
+            // during the conversation, and finally restart business conversation. Maybe
+            // give the user of the application a chance to merge some of his work with
+            // fresh data... what you do here depends on your applications design.
+            throw staleEx;
+        } catch (Throwable ex) {
+            // Rollback only
+            ex.printStackTrace();
+            try {
+                pm.rollbackTransaction();
+            } catch (Throwable rbEx) {
+                log.error("Could not rollback transaction after exception!", rbEx);
+            }
+
+
+        }
+    }
+
+    private void redirect(GridSphereEvent event) {
+        HttpServletRequest req = event.getHttpServletRequest();
+        HttpServletResponse res = event.getHttpServletResponse();
+        PortalConfigService configService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+        StringBuffer s = new StringBuffer();
+        String port;
+        if (req.isSecure()) {
+            s.append("https://");
+            port = configService.getProperty("gridsphere.port.https");
+        } else {
+            s.append("http://");
+            port = configService.getProperty("gridsphere.port.http");
+        }
+        s.append(req.getServerName());
+        s.append(":");
+        s.append((!port.equals("")) ? port : String.valueOf(req.getServerPort()));
+        String contextPath = "/" + configService.getProperty("gridsphere.deploy");
+        String servletPath = "/" + configService.getProperty("gridsphere.context");
+        if (contextPath.equals("/")) contextPath = "";
+        String url = contextPath + servletPath;
+        url = s.append(url).toString();
+        try {
+            res.sendRedirect(url.toString());
+        } catch (IOException e) {
+            log.error("Unable to redirect!", e);
+        }
+        log.debug("redirecting to " + url);
+    }
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DBTask.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DBTask.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DBTask.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+package org.gridsphere.tools;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+import org.gridsphere.services.core.persistence.impl.CreateDatabase;
+
+/*
+* @author <a href="mailto:novotny at gridsphere.org">Jason Novotny</a>
+* @author <a href="mailto:oliver.wehrens at aei.mpg.de">Oliver Wehrens</a>
+* @version $Id: DBTask.java 4728 2006-04-10 04:37:52Z novotny $
+*/
+
+/**
+ * Ant task to create/update the database.
+ *
+ * @deprecated
+ */
+public class DBTask extends Task {
+
+    private Log log = LogFactory.getLog(DBTask.class);
+
+    private CreateDatabase createDB = new CreateDatabase();
+
+    public void setAction(String action) {
+        createDB.setAction(action);
+    }
+
+    public void execute() throws BuildException {
+        log.info("Database:");
+
+        log.info("Action: " + createDB.getAction());
+        try {
+            createDB.execute();
+        } catch (Exception e) {
+            throw new BuildException(e);
+        }
+    }
+
+
+}

Added: cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DeployGridSphereTCK.java
===================================================================
--- cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DeployGridSphereTCK.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/src/org/gridsphere/tools/DeployGridSphereTCK.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,338 @@
+package org.gridsphere.tools;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+
+import java.io.*;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Vector;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.JarOutputStream;
+
+
+public class DeployGridSphereTCK extends Task {
+
+    private String warPath = null;
+    private String buildDir = null;
+    private String catalina = null;
+    private List portlets = new Vector();
+    private List portletapps = new Vector();
+
+    private class WARFilenameFilter implements FilenameFilter {
+
+        public boolean accept(File dir, String name) {
+            if (name.endsWith(".war")) return true;
+            return false;
+        }
+    }
+
+    public void setWarDir(String warDir) {
+        this.warPath = warDir;
+        //System.out.println("Setting configdir to: "+this.configDir);
+    }
+
+    public void setBuildDir(String buildDir) {
+        this.buildDir = buildDir;
+    }
+
+    public void setServer(String serverDir) {
+        this.catalina = serverDir;
+    }
+
+    /**
+     * Tool to transform Sun TCK portlet WAR's to GridSphere JSR model
+     */
+    public void execute() throws BuildException {
+
+        System.out.println("GridSphere tool to deploy Sun TCK portlet WAR files as ");
+        System.out.println(" GridSphere JSR portlet applications and create a test layout descriptor");
+
+        try {
+            loadWars(warPath);
+            createLayout();
+            deployPortlets();
+        } catch (IOException e) {
+            System.err.println("Error converting WARS:");
+            e.printStackTrace();
+        }
+    }
+
+    private void deployPortlets() throws IOException {
+        String portletsDir = catalina + File.separator + "webapps" + File.separator + "gridsphere" + File.separator
+                + "WEB-INF" + File.separator + "CustomPortal" + File.separator + "portlets" + File.separator;
+        File tmp = null;
+        for (int i = 0; i < portletapps.size(); i++) {
+            tmp = new File(portletsDir + portletapps.get(i));
+            tmp.createNewFile();
+        }
+    }
+
+
+    private void createLayout() throws IOException {
+
+
+        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("guest-layout-tck.xml")));
+
+        out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
+        out.println("<page-layout theme=\"xp\" title=\"GridSphere Portal\">");
+        out.println("<portlet-header/>");
+        out.print("<portlet-tabbed-pane selected=\"0\" style=\"menu\">\n" +
+                "    <portlet-tab label=\"gridsphere\">\n" +
+                "        <title lang=\"en\">GridSphere</title>");
+        System.err.println("Number of portlets: " + portlets.size());
+        for (int i = 0; i < portlets.size(); i++) {
+            System.err.println((String) portlets.get(i));
+            out.println("<portlet-frame>");
+            out.println("<portlet-class>" + (String) portlets.get(i) + "</portlet-class>");
+            out.println("</portlet-frame>");
+        }
+        out.println("</portlet-tab></portlet-tabbed-pane></page-layout");
+
+        out.close();
+
+    }
+
+    private void loadWars(String warPath) throws IOException {
+
+        File warDir = new File(warPath);
+
+        if (!warDir.isDirectory()) {
+            throw new IOException("Specified TCK directory not valid: " + warPath);
+        }
+
+        String[] warFiles = warDir.list(new WARFilenameFilter());
+
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+
+        // loop thru all WARs
+        for (int i = 0; i < warFiles.length; i++) {
+            //System.err.println(warPath + File.separator + warFiles[i].toString());
+
+            String war = warFiles[i].substring(0, warFiles[i].indexOf(".war"));
+            portletapps.add(war);
+            JarFile jarFile = new JarFile(warPath + File.separator + warFiles[i]);
+            JarOutputStream tempJar = new JarOutputStream(new FileOutputStream(System.getProperty("java.io.tmpdir") + File.separator + warFiles[i].toString()));
+
+            addGridSphereJSRDescriptor(tempJar);
+            addGridSphereTagLibs(tempJar);
+            addLogProps(tempJar);
+
+            // loop thru all jars
+            Enumeration files = jarFile.entries();
+            while (files.hasMoreElements()) {
+                JarEntry entry = (JarEntry) files.nextElement();
+
+                //System.err.println("\t\t" + entry.getName());
+                if (entry.getName().equals("WEB-INF/web.xml")) {
+                    InputStream entryStream = jarFile.getInputStream(entry);
+                    modifyWebXML(entryStream, tempJar, warFiles[i]);
+                    break;
+                }
+                if (entry.getName().equals("WEB-INF/portlet.xml")) {
+                    InputStream entryStream = jarFile.getInputStream(entry);
+                    collectPortletNames(war, entryStream);
+                }
+
+                tempJar.putNextEntry(entry);
+
+                InputStream entryStream = jarFile.getInputStream(entry);
+
+                // Read the entry and write it to the temp jar.
+                while ((bytesRead = entryStream.read(buffer)) != -1) {
+                    tempJar.write(buffer, 0, bytesRead);
+                }
+
+            }
+
+            tempJar.close();
+            jarFile.close();
+        }
+
+    }
+
+    public synchronized void modifyWebXML(InputStream webxmlStream, JarOutputStream tempJar, String warname) throws IOException {
+        BufferedReader bis = new BufferedReader(new InputStreamReader(webxmlStream));
+        String line = null;
+        String war = warname.substring(0, warname.indexOf(".war"));
+        JarEntry entry = new JarEntry("WEB-INF" + File.separator + "web.xml");
+        tempJar.putNextEntry(entry);
+
+        PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("tmp.xml")));
+        boolean hasServletEntry = false;
+        boolean domapping = false;
+        while ((line = bis.readLine()) != null) {
+            if (line.endsWith("<servlet-mapping>") && (!hasServletEntry)) {
+                out.println("  <servlet>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>");
+                out.println("  </servlet>");
+                out.println(line);
+                domapping = true;
+                hasServletEntry = true;
+            } else if (line.endsWith("<session-config>") && (!hasServletEntry)) {
+                out.println("  <servlet>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>");
+                out.println("  </servlet>");
+                out.println("  <servlet-mapping>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <url-pattern>/jsr/" + war + "</url-pattern>");
+                out.println("  </servlet-mapping>");
+                out.println(line);
+                hasServletEntry = true;
+            } else if ((line.endsWith("</web-app>")) && (!hasServletEntry)) {
+                out.println("  <servlet>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>");
+                out.println("  </servlet>");
+                out.println("  <servlet-mapping>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <url-pattern>/jsr/" + war + "</url-pattern>");
+                out.println("  </servlet-mapping>");
+                out.println("</web-app>");
+            } else if ((domapping) && (line.endsWith("<session-config>") || (line.endsWith("<web-app>")))) {
+                out.println("  <servlet-mapping>");
+                out.println("    <servlet-name>PortletServlet</servlet-name>");
+                out.println("    <url-pattern>/jsr/" + war + "</url-pattern>");
+                out.println("  </servlet-mapping>");
+                out.println(line);
+                hasServletEntry = true;
+            } else {
+                out.println(line);
+            }
+        }
+        out.close();
+        bis.close();
+
+        // Open the given file.
+
+        FileInputStream file = new FileInputStream("tmp.xml");
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+
+        try {
+
+// Read the file and write it to the jar.
+
+            while ((bytesRead = file.read(buffer)) != -1) {
+                tempJar.write(buffer, 0, bytesRead);
+            }
+
+            System.out.println(entry.getName() + " added.");
+        } finally {
+            file.close();
+        }
+
+    }
+
+
+    public void addGridSphereJSRDescriptor(JarOutputStream tempJar) throws IOException {
+
+        String fileName = "config" + File.separator + "template" + File.separator + "gridsphere-portlet-jsr.xml";
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+
+
+        // Open the given file.
+
+        FileInputStream file = new FileInputStream(fileName);
+
+        try {
+// Create a jar entry and add it to the temp jar.
+
+            JarEntry entry = new JarEntry("WEB-INF" + File.separator + "gridsphere-portlet.xml");
+            tempJar.putNextEntry(entry);
+
+// Read the file and write it to the jar.
+
+            while ((bytesRead = file.read(buffer)) != -1) {
+                tempJar.write(buffer, 0, bytesRead);
+            }
+
+            System.out.println(entry.getName() + " added.");
+
+        } finally {
+            file.close();
+        }
+    }
+
+    public void addLogProps(JarOutputStream tempJar) throws IOException {
+
+        String fileName = "config" + File.separator + "log4j.properties";
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+
+
+        // Open the given file.
+
+        FileInputStream file = new FileInputStream(fileName);
+
+        try {
+// Create a jar entry and add it to the temp jar.
+
+            JarEntry entry = new JarEntry("WEB-INF" + File.separator + "classes" + File.separator + "log4j.properties");
+            tempJar.putNextEntry(entry);
+
+// Read the file and write it to the jar.
+
+            while ((bytesRead = file.read(buffer)) != -1) {
+                tempJar.write(buffer, 0, bytesRead);
+            }
+
+            System.out.println(entry.getName() + " added.");
+
+        } finally {
+            file.close();
+        }
+    }
+
+    public void addGridSphereTagLibs(JarOutputStream tempJar) throws IOException {
+
+        String fileName = buildDir + File.separator + "lib" + File.separator + "gridsphere-ui-tags-2.1.jar";
+        byte[] buffer = new byte[1024];
+        int bytesRead;
+
+
+        // Open the given file.
+
+        FileInputStream file = new FileInputStream(fileName);
+
+        try {
+// Create a jar entry and add it to the temp jar.
+
+            JarEntry entry = new JarEntry("WEB-INF" + File.separator + "lib" + File.separator + "gridsphere-ui-tags-2.1.jar");
+            tempJar.putNextEntry(entry);
+
+// Read the file and write it to the jar.
+
+            while ((bytesRead = file.read(buffer)) != -1) {
+                tempJar.write(buffer, 0, bytesRead);
+            }
+
+            System.out.println(entry.getName() + " added.");
+
+        } finally {
+            file.close();
+        }
+    }
+
+    public void collectPortletNames(String war, InputStream portletxmlStream) throws IOException {
+        BufferedReader bis = new BufferedReader(new InputStreamReader(portletxmlStream));
+        String line = null;
+        String portlet = "";
+        while ((line = bis.readLine()) != null) {
+            //System.err.println("portlet= " + line);
+            if (line.indexOf("<portlet-name>") > 0) {
+                int d = line.indexOf("<portlet-name>");
+                String p = line.substring(d + "<portlet-name>".length());
+                int e = p.indexOf("</portlet-name>");
+                portlet = p.substring(0, e);
+                portlets.add(war + "#" + portlet);
+            }
+        }
+        bis.close();
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/context.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<Context path="/@GRIDSPHERE_DEPLOY@" debug="0" reloadable="false" crossContext="true"/>
+
+<!-- 
+
+<Context path="/@GRIDSPHERE_DEPLOY@" debug="0" reloadable="false" crossContext="true">
+        <Manager className="org.apache.catalina.session.StandardManager" pathname=""/>
+</Context>
+
+-->

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portlet.tld
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portlet.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portlet</short-name>
+    <uri>http://java.sun.com/portlet</uri>
+    <display-name>Portlet API</display-name>
+    <description>GridSphere JSR-168 Portlet API Tag library</description>
+
+    <tag>
+        <name>defineObjects</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag</tag-class>
+        <tei-class>org.gridsphere.provider.portlet.tags.jsr.DefineObjectsTag$TEI</tei-class>
+        <body-content>empty</body-content>
+        <description>
+            Initializes Core Portlet Objects: RenderRequest, RenderResponse, PortletConfig
+        </description>
+    </tag>
+
+    <tag>
+        <name>renderURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.RenderURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides a render hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>actionURL</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.ActionURLTagImpl</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            provides action hyperlink that can contain additional nested param tags
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+    <tag>
+        <name>namespace</name>
+        <tag-class>org.gridsphere.provider.portlet.tags.jsr.NamespaceTag</tag-class>
+        <body-content>empty</body-content>
+    </tag>
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+</taglib>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portletui.tld
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/META-INF/tlds/portletui.tld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2453 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE taglib
+        PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
+        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
+<taglib>
+    <tlib-version>1.0</tlib-version>
+    <jsp-version>1.2</jsp-version>
+    <short-name>portletui</short-name>
+    <uri>/portletUI</uri>
+    <display-name>Portlet UI Tags</display-name>
+    <description>GridSphere Visual Portlet UI Tag Library</description>
+
+    <tag>
+        <name>hasrole</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HasRoleTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            requires the user have the minimum role specified to display content
+        </description>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <!-- @DEPRECATED@ -->
+    <tag>
+        <name>actionparam</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>param</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ParamTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a portlet action parameter
+        </description>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet action link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionsubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imageSrc</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>calendar</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CalendarTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Creates a calendar input widget
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>checkbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.CheckboxTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input checkbox tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialogbutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogButtonTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>dialoglink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.DialogLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileform</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>fileinput</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FileInputTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input file upload tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>form</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionFormTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wrapper around HTML form tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>method</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>trackme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>exturl</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSubmit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onReset</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>frame</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.FrameTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table frame
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>type</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>hiddenfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.HiddenFieldTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a hidden text field
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>image</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ImageTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Displays an image
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>src</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>alt</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>include</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.IncludeTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes pages from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actioncomponent</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionComponentTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Includes action components from any web application
+        </description>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>servletContext</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>list</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a list
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listbox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            makes a listbox
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>submitOnChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>multiple</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>listboxitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ListBoxItemTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            makes a listbox item
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>messagebox</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.MessageBoxTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an message box
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>imagesource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>panel</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PanelTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table pane which contains tableframes
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>password</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PasswordTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onFocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>radiobutton</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RadioButtonTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Wraps HTML input radio button tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>renderlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a portlet render link
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletMode</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>windowState</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>rendersubmit</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RenderSubmitTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a submit button
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>useAjax</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>render</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>anchor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>secure</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>image</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tabbedpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabbedPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tabbed pane
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tab</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TabTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a tab
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>page</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>table</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>background</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>border</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellpadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cellspacing</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>filter</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>numentries</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>sortable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxrows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tablerow</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableRowTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table row
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>zebra</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>tablecell</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TableCellTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows table cell
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>align</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>valign</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rowspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>colspan</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>text</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextTag</tag-class>
+        <tei-class>org.gridsphere.provider.portletui.tags.ActionTag$TEI</tei-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>style</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>var</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textarea</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextAreaTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Shows text
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>texteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays simple text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>viewsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>richtexteditor</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.RichTextEditorTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a rich text editor
+        </description>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>rows</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cols</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tree</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TreeTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a tree
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>action</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>textfield</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TextFieldTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Wraps HTML input text tag
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onfocus</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>size</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>maxlength</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>disabled</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>readonly</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanidsource</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onChange</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onBlur</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onSelect</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onDblClick</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOver</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseMove</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseOut</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseDown</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>onMouseUp</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>tooltip</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.TooltipTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript tooltip courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>actionpane</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionPaneTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action pane
+        </description>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionbody</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionBodyTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action body
+        </description>
+    </tag>
+
+
+    <tag>
+        <name>actionmenu</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu
+        </description>
+        <attribute>
+            <name>title</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>layout</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>menutype</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsible</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>collapsed</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+
+    <tag>
+        <name>actionmenuitem</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ActionMenuItemTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates an action menu item
+        </description>
+        <attribute>
+            <name>beanId</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>selected</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>info</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>group</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.GroupTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Creates a grouping around other items
+        </description>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>label</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>height</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssStyle</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>cssClass</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>validator</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.ValidatorTag</tag-class>
+        <body-content>empty</body-content>
+        <description>
+            Provides a validator tag that can be used inside of a TextFieldTag
+        </description>
+        <attribute>
+            <name>type</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portlet</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a portlet
+        </description>
+        <attribute>
+            <name>label</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>innerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>outerPadding</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>role</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>transparent</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+    <tag>
+        <name>portletlink</name>
+        <tag-class>org.gridsphere.provider.portletui.tags.PortletLinkTag</tag-class>
+        <body-content>JSP</body-content>
+        <description>
+            Displays a javascript dialog courtesy of Yahoo UI
+        </description>
+        <attribute>
+            <name>value</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>close</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>modal</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>draggable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>resizable</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>header</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>body</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>footer</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>width</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>key</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>name</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>id</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>titleColor</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>theme</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>renderKit</name>
+            <required>false</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+        <attribute>
+            <name>portletId</name>
+            <required>true</required>
+            <rtexprvalue>true</rtexprvalue>
+        </attribute>
+    </tag>
+
+</taglib>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/MessageOfTheDay.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+<h1>Message of the Day</h1>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/main.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<div style="padding: 0px 40px;">
+    <h3>Welcome to GridSphere!</h3>
+
+    <p>
+        Thank you for downloading and installing the
+        GridSphere portal.
+    </p>
+
+    <p>
+        Below you will find links to documents relating to GridSphere installation, administration and portlet
+        development.
+    </p>
+    <ul>
+        <li>
+            GridSphere User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/UsersGuide/UsersGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portal Administrator's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/AdminGuide/AdminGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Portlet Reference Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/ReferenceGuide/ReferenceGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Tag Library User's Guide
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/TagGuide/TagGuide.html"
+               target="_blank">(HTML)</a>
+        </li>
+        <li>
+            GridSphere Frequently Asked Questions
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/FAQ/FAQ.html"
+               target="_blank">(HTML)</a>
+        <li>
+            GridSphere JavaDoc API
+            <a href="http://www.gridsphere.org/gridsphere/docs-@GRIDSPHERE_VERSION@/javadocs/index.html"
+               target="_blank">(HTML)</a>
+        </li>
+    </ul>
+    <p>
+        Please join the forums and/or mailing lists for more involvement:
+    </p>
+    <ul>
+        <li><a target="_blank" href="http://forums.gridsphere.org">GridSphere Forums</a> Online forums for discussions
+            related to GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-dev">Developers List</a>
+            Discussions relating to overall GridSphere and portlet development.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-users">Users List</a>
+            Discussions on installing and configuring GridSphere.
+        </li>
+        <li><a target="_blank" href="http://lists.gridsphere.org/mailman/listinfo/gridsphere-svn">SVN List</a> SVN
+            commit information. Very useful if you're a developer.
+        </li>
+    </ul>
+    <p>
+        and please submit bug reports to <a href="http://bugs.gridsphere.org">GridSphere (Jira) bugtracker</a>
+    </p>
+</div>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pagefooter.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+<div style="float: right;
+            padding-left: 5px; padding-top: 5px; padding-bottom: 5px">
+
+    <a href="http://www.gridsphere.org">
+        <img height="25" src="/@GRIDSPHERE_CONTEXT@/images/PoweredByGridSphere.jpg" alt="PoweredByGridSphere Logo"/>
+    </a>
+
+</div>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/content/pageheader.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+<div class="gridsphere-layout-logo">
+    <img src="/@GRIDSPHERE_DEPLOY@/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/README-database.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+
+Configuring the Database
+------------------------
+
+This file contains the hibernate.properties file which configures the 
+database settings used by GridSphere. The default is to use the HsqlDB
+database, a pure java SQL database. 
+
+The default HsqlDB is contained in the file "gridsphere" by default 
+
+To use another database, configure the hibernate.properties file and place 
+the required JDBC driver jar file in the $CATALINA_HOME/common/lib directory
+of Tomcat. Next, invoke the "ant deploy" followed by "ant create-database" 
+commands in the gridsphere directory.
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/database/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,72 @@
+hibernate.show_sql=false
+hibernate.connection.provider_class=org.hibernate.connection.C3P0ConnectionProvider
+hibernate.connection.pool_size=40
+hibernate.connection.autocommit=true
+hibernate.connection.shutdown=true
+hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
+
+###########################
+### C3P0 Connection Pool###
+###########################
+hibernate.c3p0.max_size=10
+hibernate.c3p0.min_size=2
+hibernate.c3p0.timeout=5000
+hibernate.c3p0.max_statements=0
+hibernate.c3p0.idle_test_period=3000
+hibernate.c3p0.acquire_increment=2
+#hibernate.c3p0.validate=false
+
+## HSQL
+
+# driver and database provided by gridsphere
+
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+#hibernate.connection.username=sa
+#hibernate.connection.password=
+#hibernate.connection.url=jdbc:hsqldb:@GRIDSPHERE_DB@
+##hibernate.connection.url=jdbc:hsqldb:hsql://localhost
+#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+## This will replace the keywords true and false with the literals 1 and 0 in the translated SQL
+#hibernate.query.substitutions=true 1, false 0, yes 'Y', no 'N'
+
+#
+# Below are some templates for other databaseconfigurations.
+#
+# Please make sure you downloaded the correct jdbc driver for
+# your database. Those are NOT provided with gridsphere!
+# Also make sure you have the correct database url and username/password
+#
+
+
+## MySQL
+
+# download jdbc driver from http://www.mysql.com/downloads/api-jdbc.html
+
+hibernate.dialect org.hibernate.dialect.MySQLDialect
+hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+hibernate.connection.driver_class com.mysql.jdbc.Driver
+hibernate.connection.url jdbc:mysql:///gridsphere
+hibernate.connection.username root
+hibernate.connection.password cigmysql
+
+## Mckoi SQL
+
+# download driver and database from http://mckoi.com/database/index.html#Download
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi://localhost/
+#hibernate.connection.username admin_user
+#hibernate.connection.password aupass00
+
+## PostgreSQL
+
+# download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupAdmin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="admindb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/createAdmin.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/SetupDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="setupdb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/selectDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/UpdateDatabase.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5319 2006-09-11 21:04:47Z novotny $
+-->
+
+<page label="updatedb"
+      title="GridSphere Portal Setup"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="setup">
+
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="70%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="70%">
+                    <content label="setup" include="/jsp/setup/updateDatabase.jsp"/>
+                </column>
+                <column width="30%"/>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/admin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 5092 2006-08-19 04:17:21Z novotny $
+-->
+
+<page label="admin"
+      title="GridSphere Administration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="configTab" required-role="ADMIN">
+            <title lang="en">Configuration</title>
+            <table label="configTL">
+                <row>
+                    <column width="100%">
+                        <frame label="config">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.config.ConfigPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="portlets" required-role="ADMIN">
+            <title lang="en">Portlets</title>
+            <table label="portletTL">
+                <row>
+                    <column width="100%">
+                        <frame label="portletmanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="users" required-role="ADMIN">
+            <title lang="en">Users</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="usermanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.users.UserManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+        <tab label="roles" required-role="ADMIN">
+            <title lang="en">Roles</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rolemanager">
+                            <portlet-class>
+                                org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet
+                            </portlet-class>
+                        </frame>
+                    </column>
+                    <column width="20%"/>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>
+                            org.gridsphere.portlets.core.date.DatePortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/content.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Content Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="contentmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet
+                        </portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/error.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Error Layout Descriptor
+
+    This descriptor defines the error layout configuration
+
+    $Id: error.xml 5922 2006-12-27 19:03:58Z novotny $
+-->
+
+<page label="error"
+      title="GridSphere Error"
+      editable="false">
+
+    <header>
+        <table>
+            <row>
+                <column width="80%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <content include="/jsp/errors/error.jsp"/>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/guest.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: guest.xml 6067 2007-02-15 16:40:29Z novotny $
+-->
+
+<page label="guest"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/login/loginnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <content include="jcr://main"/>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/layout.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="layout"
+      title="GridSphere Layout Management"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="ADMIN">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="layoutmanager">
+                        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/loggedin.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Logged In User Layout Descriptor
+
+This descriptor defines the user's portal layout upon logging into the portal
+
+$Id$
+-->
+
+<page label="user"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.icon"
+      editable="true"
+      required-role="USER">
+
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <menu>
+        <tab label="home">
+            <title lang="en">Home</title>
+            <table>
+                <row>
+                    <column width="100%">
+                        <frame label="rss">
+                            <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+                        </frame>
+                    </column>
+                </row>
+            </table>
+        </tab>
+    </menu>
+
+
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/login.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="login"
+      title="Login"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="login" outer-padding="5% 35%">
+                        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/profile.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Layout Manager Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: SetupLayout.xml 4633 2006-03-09 16:44:16Z wehrens $
+-->
+
+<page label="profile"
+      title="GridSphere Portal"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false"
+      required-role="USER">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="400px">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="510px" style="float: right;">
+                    <content include="/jsp/returnnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <bar>
+        <title lang="en">Profile</title>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="profilemanager">
+                        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table style="footer">
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/layouts/register.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+    Guest User Layout Descriptor
+
+    This descriptor defines the guest user's portal layout configuration
+
+    $Id: GuestUserLayout.xml 5189 2006-08-29 16:54:53Z novotny $
+-->
+
+<page label="register"
+      title="Registration"
+      keywords="gridsphere"
+      icon="images/favicon.ico"
+      editable="false">
+
+    <!-- Header components -->
+    <header>
+        <table>
+            <row>
+                <column width="60%">
+                    <content include="jcr://pageheader" border="false"/>
+                </column>
+                <column width="20%">
+                    <frame transparent="true" outer-padding="0px" label="locale">
+                        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="20%">
+                    <content include="/jsp/returnguestnav.jsp"/>
+                </column>
+            </row>
+        </table>
+    </header>
+
+    <!-- Tabbed Panes -->
+    <bar>
+        <table>
+            <row>
+                <column width="100%">
+                    <frame label="signup" outer-padding="5% 30%">
+                        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+                    </frame>
+                </column>
+            </row>
+        </table>
+    </bar>
+
+    <!-- Footer components (if any) -->
+    <footer>
+        <table>
+            <row>
+                <column width="50%">
+                    <frame transparent="true" outer-padding="0px" label="date">
+                        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+                    </frame>
+                </column>
+                <column width="50%">
+                    <content include="jcr://pagefooter" border="false"/>
+                </column>
+            </row>
+        </table>
+    </footer>
+
+</page>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/contentrepository.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<Repository>
+    <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+        <param name="path" value="${rep.home}/repository"/>
+    </FileSystem>
+    <Security appName="Jackrabbit">
+        <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
+        </AccessManager>
+
+        <LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
+            <param name="anonymousId" value="anonymous"/>
+        </LoginModule>
+    </Security>
+
+    <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
+    <Workspace name="${wsp.name}">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${wsp.home}"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+            <param name="path" value="${wsp.home}/index"/>
+            <param name="useCompoundFile" value="true"/>
+            <param name="minMergeDocs" value="100"/>
+            <param name="volatileIdleTime" value="3"/>
+            <param name="maxMergeDocs" value="100000"/>
+            <param name="mergeFactor" value="10"/>
+            <param name="bufferSize" value="10"/>
+            <param name="cacheSize" value="1000"/>
+            <param name="forceConsistencyCheck" value="false"/>
+            <param name="autoRepair" value="true"/>
+            <param name="analyzer" value="org.apache.lucene.analysis.standard.StandardAnalyzer"/>
+            <param name="queryClass" value="org.apache.jackrabbit.core.query.QueryImpl"/>
+            <param name="idleTime" value="-1"/>
+            <param name="respectDocumentOrder" value="true"/>
+        </SearchIndex>
+    </Workspace>
+    <Versioning rootPath="${rep.home}/version">
+        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
+            <param name="path" value="${rep.home}/version"/>
+        </FileSystem>
+        <PersistenceManager class="org.apache.jackrabbit.core.state.xml.XMLPersistenceManager"/>
+    </Versioning>
+    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+        <param name="path" value="${rep.home}/repository/index"/>
+    </SearchIndex>
+
+</Repository>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portal/gridsphere.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+# can be used to define the port number used for HTTP connections
+gridsphere.port.http=
+
+# can be used to define the port number used for HTTPS connections
+gridsphere.port.https=
+
+# optional can be used to hardcode a host name
+gridsphere.host=
+
+# The following 2 params determine the URL of the gridsphere portal, default is gridsphere/gridsphere
+# This is the name of the gridsphere webapp that is deployed, default is gridsphere
+# Some examples:
+#   http://<host name>/myorg/portal
+#               gridsphere.deploy=myorg, gridsphere.context=portal
+#
+#   http://<host name>/portal
+#               gridsphere.deploy=ROOT, gridsphere.context=portal
+
+gridsphere.deploy=@GRIDSPHERE_DEPLOY@
+
+gridsphere.context=@GRIDSPHERE_CONTEXT@
+
+# should the login page use https?
+USE_HTTPS_LOGIN=false
+
+# after logging in should a user be redirected to use HTTPS?
+USE_HTTPS_REDIRECT=false
+
+MAIL_SERVER=localhost
+
+MAIL_PORT=25
+
+MAIL_ADDRESS=no-reply at gridsphere.org
+
+PORTAL_ADMIN_EMAIL=no-reply at gridsphere.org
+
+ENABLE_ERROR_HANDLING=false
+
+DEFAULT_THEME=default
+
+SAVE_PASSWORDS=true
+
+SUPPORT_X509_AUTH=false
+
+SEND_USER_FORGET_PASSWD=true
+
+REMEMBER_USER=true
+
+ACCOUNT_NUMTRIES=-1
+
+CAN_USER_CREATE_ACCOUNT=false
+
+ADMIN_ACCOUNT_APPROVAL=false
+
+# use username (true) or email address (false) in login portlet?
+USE_USERNAME_FOR_LOGIN=true
+
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/CustomPortal/portlets/README-portlets.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+
+Initialized Portlet Web Applications
+------------------------------------
+
+When deployed, GridSphere requires access to deployed portlet web applications. Since portlets are
+packaged according to the web application repository (WAR) format defined in the Java 2.3
+Servlet Specification, the names of the WAR files or web applications needs to be added as an empty file
+whose filename is defined by the name of portlet web application to this directory. The filename may
+contain an additional integer suffix ".#" to ensure a priority when the container will load the portlet
+application. By default, you will see *gridsphere.1* which instructs the container to load the set of
+core gridsphere portlets first. Add other portlet applications to load in this directory.
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/GridSphereServices.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/GridSphereServices.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,186 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify GridSphere Portlet Services
+
+
+    $Id: GridSphereServices.xml 6274 2007-05-30 13:57:24Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Persistence Manager Service</name>
+        <description lang="en">Provides JDBC Persistence Capabilities using Hibernate</description>
+        <interface>org.gridsphere.services.core.persistence.PersistenceManagerService</interface>
+        <implementation>org.gridsphere.services.core.persistence.impl.PersistenceManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portlet Manager Service</name>
+        <description lang="en">Provides Administration Capabilities for Portlet Web Applications</description>
+        <interface>org.gridsphere.services.core.registry.PortletManagerService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Tomcat Manager Service</name>
+        <description lang="en">Provides Portlet Reloading Capabilities uisng Tomcat manager webapp</description>
+        <interface>org.gridsphere.services.core.tomcat.TomcatManagerService</interface>
+        <implementation>org.gridsphere.services.core.tomcat.impl.TomcatManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>RSS Service</name>
+        <description lang="en">Provides RSS Service</description>
+        <interface>org.gridsphere.services.core.rss.RssService</interface>
+        <implementation>org.gridsphere.services.core.rss.impl.RssServiceImpl</implementation>
+        <service-config>
+            <param-name>cache_time</param-name>
+            <param-value>10</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Portlet Registry Service</name>
+        <description lang="en">Provides Portlet Registry</description>
+        <interface>org.gridsphere.services.core.registry.PortletRegistryService</interface>
+        <implementation>org.gridsphere.services.core.registry.impl.PortletRegistryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Authentication Module Service</name>
+        <description lang="en">Provides Authentication Modules</description>
+        <interface>org.gridsphere.services.core.security.auth.AuthModuleService</interface>
+        <implementation>org.gridsphere.services.core.security.auth.impl.AuthModuleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Config Service</name>
+        <description lang="en">Provides GridSphere portal configuration settings</description>
+        <interface>org.gridsphere.services.core.portal.PortalConfigService</interface>
+        <implementation>org.gridsphere.services.core.portal.impl.PortalConfigServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Portal Filter Service</name>
+        <description lang="en">Provides portal filters</description>
+        <interface>org.gridsphere.services.core.filter.PortalFilterService</interface>
+        <implementation>org.gridsphere.services.core.filter.impl.PortalFilterServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Content Manager Service</name>
+        <description lang="en">Provides Content Management Capabilities</description>
+        <interface>org.gridsphere.services.core.content.ContentManagerService</interface>
+        <implementation>org.gridsphere.services.core.content.impl.ContentManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Role Manager Service</name>
+        <description lang="en">Provides Role Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.role.RoleManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.role.impl.RoleManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Group Manager Service</name>
+        <description lang="en">Provides Group Capabilities to Portal Users</description>
+        <interface>org.gridsphere.services.core.security.group.GroupManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.group.impl.GroupManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>User Account Manager Service</name>
+        <description lang="en">Provides User Administration Capabilities</description>
+        <interface>org.gridsphere.services.core.user.UserManagerService</interface>
+        <implementation>org.gridsphere.services.core.user.impl.UserManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Password Manager Service</name>
+        <description lang="en">Provides Password Management Capabilities</description>
+        <interface>org.gridsphere.services.core.security.password.PasswordManagerService</interface>
+        <implementation>org.gridsphere.services.core.security.password.impl.PasswordManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>JCR Service</name>
+        <description lang="en">Java Content Repository Service</description>
+        <interface>org.gridsphere.services.core.jcr.JCRService</interface>
+        <implementation>org.gridsphere.services.core.jcr.impl.JCRServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Generic Request Service</name>
+        <description lang="en">Provides Generic Request Capabilities</description>
+        <interface>org.gridsphere.services.core.request.RequestService</interface>
+        <implementation>org.gridsphere.services.core.request.impl.RequestServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Layout Manager Service</name>
+        <description lang="en">Provides Layout Management Capabilities</description>
+        <interface>org.gridsphere.services.core.layout.LayoutManagerService</interface>
+        <implementation>org.gridsphere.services.core.layout.impl.LayoutManagerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Mail Service</name>
+        <description lang="en">Simple e-mail service</description>
+        <interface>org.gridsphere.services.core.mail.MailService</interface>
+        <implementation>org.gridsphere.services.core.mail.impl.MailServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Locale Service</name>
+        <description lang="en">Manages supported list of locales</description>
+        <interface>org.gridsphere.services.core.locale.LocaleService</interface>
+        <implementation>org.gridsphere.services.core.locale.impl.LocaleServiceImpl</implementation>
+        <service-config>
+            <param-name>display-locale</param-name>
+            <param-value>en,es,cs,de,nl,fr,hr,hu,pl,it,ar,zh,ja</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Timer Service</name>
+        <description lang="en">Timer Service</description>
+        <interface>org.gridsphere.services.core.timer.TimerService</interface>
+        <implementation>org.gridsphere.services.core.timer.impl.TimerServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Cache Service</name>
+        <description lang="en">Cache Service</description>
+        <interface>org.gridsphere.services.core.cache.CacheService</interface>
+        <implementation>org.gridsphere.services.core.cache.impl.CacheServiceImpl</implementation>
+        <service-config>
+            <param-name>isCachingOn</param-name>
+            <param-value>true</param-value>
+        </service-config>
+    </service>
+
+    <service>
+        <name>Secure Directory Service</name>
+        <description lang="en">Provides Secure Directory Capabilities</description>
+        <interface>org.gridsphere.services.core.secdir.SecureDirectoryService</interface>
+        <implementation>org.gridsphere.services.core.secdir.impl.SecureDirectoryServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Chart Service</name>
+        <description lang="en">Provides chart generation and management capabilities</description>
+        <interface>org.gridsphere.services.core.charts.ChartService</interface>
+        <implementation>org.gridsphere.services.core.charts.impl.ChartServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Settings Service</name>
+        <description lang="en">GridSphere settings service</description>
+        <interface>org.gridsphere.services.core.customization.SettingsService</interface>
+        <implementation>org.gridsphere.services.core.customization.impl.SettingsServiceImpl</implementation>
+    </service>
+
+</portlet-services>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/authmodules.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/authmodules.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Authentication Modules
+
+    This descriptor defines the authentication modules supported
+
+    $Id: authmodules.xml 6192 2007-03-08 14:47:55Z wehrens $
+-->
+
+<auth-modules>
+
+    <auth-module>
+        <name>GridSphere Password</name>
+        <description lang="en">Hashed password based authentication using GridSphere database</description>
+        <description lang="ja">GridSphereデータベースを用いたハッシュベースのパスワード認証</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.PasswordAuthModule</implementation>
+        <active>true</active>
+        <priority>100</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Password is not provided</error>
+        <error key="key2" lang="en">Incorrect password provided</error>
+        <error key="key1" lang="ja">パスワードが入力されていません</error>
+        <error key="key2" lang="ja">間違ったパスワードが入力されました</error>
+        <error key="key1" lang="es">No fué proporcionada la Contraseña</error>
+        <error key="key2" lang="es">La contraseña proporcionada, es incorrecta</error>
+    </auth-module>
+
+    <auth-module>
+        <name>GridSphere JAAS</name>
+        <description lang="en">Use the Java Authentication and Authorization Framework</description>
+        <description lang="ja">Java認証&授権フレームワーク(Java Authentication and Authorization Framework)を使用</description>
+        <implementation>org.gridsphere.services.core.security.auth.modules.impl.JaasAuthModule</implementation>
+        <active>false</active>
+        <priority>40</priority>
+        <auth-config>
+            <param-name>aname</param-name>
+            <param-value>avalue</param-value>
+        </auth-config>
+        <error key="key1" lang="en">Account Expired</error>
+        <error key="key2" lang="en">Credentials Expired</error>
+        <error key="key3" lang="en">Unexpected Error</error>
+        <error key="key1" lang="ja">アカウント失効</error>
+        <error key="key2" lang="ja">信用証明書失効</error>
+        <error key="key3" lang="ja">予期せぬエラー</error>
+        <error key="key1" lang="es">La cuenta ha expiradi</error>
+        <error key="key2" lang="es">Credenciales expiradas</error>
+        <error key="key3" lang="es">Error Inesperado</error>
+    </auth-module>
+
+</auth-modules>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ContentManagement/Portlet_en.properties
===================================================================

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=\u0627\u0644\u062a\u0627\u0631\u064a\u062e
+javax.portlet.short-title=\u0627\u0644\u062a\u0627\u0631\u064a\u062e
+javax.portlet.keywords=\u0627\u0644\u062a\u0627\u0631\u064a\u062e
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=Date
+javax.portlet.short-title=Date
+javax.portlet.keywords=date
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=Fecha
+javax.portlet.short-title=Fecha
+javax.portlet.keywords=Fecha
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=Datum
+javax.portlet.short-title=Datum
+javax.portlet.keywords=Datum
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=\u65e5\u6642
+javax.portlet.short-title=\u65e5\u6642
+javax.portlet.keywords=\u65e5\u6642
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Date/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=Datum
+javax.portlet.short-title=Datum
+javax.portlet.keywords=Datum
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u0645\u062f\u064a\u0631 \u0627\u0644\u062a\u0646\u0633\u064a\u0642
+javax.portlet.short-title=\u0645\u062f\u064a\u0631 \u0627\u0644\u062a\u0646\u0633\u064a\u0642
+javax.portlet.keywords=
+\u0645\u062f\u064a\u0631 \u0627\u0644\u062a\u0646\u0633\u064a\u0642
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Spr\u00e1va um\u00edst\u011bn\u00ed portlet\u016f
+javax.portlet.short-title=Spr\u00e1va um\u00edst\u011bn\u00ed portlet\u016f
+javax.portlet.keywords=
+Spr\u00e1va um\u00edst\u011bn\u00ed portlet\u016f
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Layout Managieren
+javax.portlet.short-title=Layout Managieren
+javax.portlet.keywords=
+Layout Managieren
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Layout Manager
+javax.portlet.short-title=Layout Manager
+javax.portlet.keywords=
+Layout Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Administrador de Layout
+javax.portlet.short-title=Administrador de Layout
+javax.portlet.keywords=
+Administrador de Layout
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestionnaire de Layout
+javax.portlet.short-title=Gestionnaire de Layout
+javax.portlet.keywords=
+Gestionnaire de Layout
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj izgleda
+javax.portlet.short-title=Upravitelj izgleda
+javax.portlet.keywords=
+administriranje izgleda
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Fel\u00e9p\u00edt\u00e9s szekeszt\u0151
+javax.portlet.short-title=Fel\u00e9p\u00edt\u00e9s szekeszt\u0151
+javax.portlet.keywords=
+Fel\u00e9p\u00edt\u00e9s szekeszt\u0151
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestione Layout
+javax.portlet.short-title=Gestione Layout
+javax.portlet.keywords=
+Gestione Layout
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u30ec\u30a4\u30a2\u30a6\u30c8\u7ba1\u7406
+javax.portlet.short-title=\u30ec\u30a4\u30a2\u30a6\u30c8\u7ba1\u7406
+javax.portlet.keywords=
+\u30ec\u30a4\u30a2\u30a6\u30c8\u7ba1\u7406
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Layout Manager
+javax.portlet.short-title=Layout Manager
+javax.portlet.keywords=
+Layout Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Menad\u017cer uk\u0142ad\u00f3w graficznych
+javax.portlet.short-title=Menad\u017cer uk\u0142ad\u00f3w graficznych
+javax.portlet.keywords=
+Menad\u017cer uk\u0142ad\u00f3w graficznych
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/LayoutManager/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u3010\u7248\u9762\u7ba1\u7406\u8005\u95e8\u4ef6
+javax.portlet.short-title=\u3010\u7248\u9762\u7ba1\u7406\u8005\u95e8\u4ef6
+javax.portlet.keywords=
+\u3010\u7248\u9762\u7ba1\u7406\u8005\u95e8\u4ef6
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u0627\u0644\u0644\u063a\u0629
+javax.portlet.short-title=\u0627\u0644\u0644\u063a\u0629
+javax.portlet.keywords=
+\u0627\u0644\u0644\u063a\u0629
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Jazykov\u00e9 nastaven\u00ed
+javax.portlet.short-title=Jazykov\u00e9 nastaven\u00ed
+javax.portlet.keywords=
+Jazykov\u00e9 nastaven\u00ed
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Spracheinstellungen
+javax.portlet.short-title=Spracheinstellungen
+javax.portlet.keywords=
+Spracheinstellungen
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Locale
+javax.portlet.short-title=Locale
+javax.portlet.keywords=
+Locale
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Lugar
+javax.portlet.short-title=Lugar
+javax.portlet.keywords=
+Lugar
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Locale
+javax.portlet.short-title=Locale
+javax.portlet.keywords=
+Locale
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj jezika
+javax.portlet.short-title=Upravitelj jezika
+javax.portlet.keywords=
+Upravitelj jezika
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Nyelvv\u00e1laszt\u00e1s
+javax.portlet.short-title=Nyelvv\u00e1laszt\u00e1s
+javax.portlet.keywords=
+Nyelvv\u00e1laszt\u00e1s
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Localizzazione
+javax.portlet.short-title=Localizzazione
+javax.portlet.keywords=
+Localizzazione
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u8a00\u8a9e
+javax.portlet.short-title=\u8a00\u8a9e
+javax.portlet.keywords=
+\u8a00\u8a9e
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Landinstelling
+javax.portlet.short-title=Landinstelling
+javax.portlet.keywords=
+Landinstelling
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Lokalizacja
+javax.portlet.short-title=Lokalizacja
+javax.portlet.keywords=
+Lokalizacja
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Locale/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u8bed\u8a00
+javax.portlet.short-title=\u8bed\u8a00
+javax.portlet.keywords=
+\u8bed\u8a00
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title=\u0627\u0644\u062f\u062e\u0648\u0644
+javax.portlet.short-title=\u0627\u0644\u062f\u062e\u0648\u0644
+javax.portlet.keywords=\u0627\u0644\u062f\u062e\u0648\u0644
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = P\u0159ihl\u00e1\u0161en\u00ed
+javax.portlet.short-title = P\u0159ihl\u00e1\u0161en\u00ed
+javax.portlet.keywords = P\u0159ihl\u00e1\u0161en\u00ed

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Anmelden
+javax.portlet.short-title = Anmelden
+javax.portlet.keywords = anmelden

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Login
+javax.portlet.short-title = Login
+javax.portlet.keywords = login

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Cuenta
+javax.portlet.short-title = Entrar
+javax.portlet.keywords = Cuenta

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Login
+javax.portlet.short-title = Login
+javax.portlet.keywords = login

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Ulaz
+javax.portlet.short-title = Ulaz
+javax.portlet.keywords = ulaz

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Bejelentkezés
+javax.portlet.short-title = Bejelentkezés
+javax.portlet.keywords = bejelentkezés

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Login
+javax.portlet.short-title = Login
+javax.portlet.keywords = login

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = \u30ed\u30b0\u30a4\u30f3
+javax.portlet.short-title = \u30ed\u30b0\u30a4\u30f3
+javax.portlet.keywords = \u30ed\u30b0\u30a4\u30f3

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Login
+javax.portlet.short-title = Login
+javax.portlet.keywords = login

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Logowanie
+javax.portlet.short-title = Logowanie
+javax.portlet.keywords = logowanie

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Login/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = [\u767b\u5f55 Login]
+javax.portlet.short-title = \u767b\u5f55
+javax.portlet.keywords = \u767b\u5f55

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,643 @@
+# $Id: Portlet.properties 6246 2007-05-08 21:33:57Z wehrens $
+
+LOGIN_NAME=User Name
+LOGIN_PASS=Password
+LOGIN_SUCCESS=Welcome
+LOGIN_FAILED=Your username and/or password is incorrect. Please try again.
+LOGIN_ACTION=Login
+LOGIN_CONFIGURE=Configure Login
+LOGIN_CONFIG_MSG=Login configuration options
+LOGIN_CONFIG_ALLOW=Allow users to create new accounts on the portal?
+LOGIN_SIGNUP=Create new account
+
+NOTEPAD_EDIT=Edit Note
+NOTEPAD_CREATE=Create a Note
+NOTEPAD_DELETE=Delete this Note
+NOTEPAD_SHOWLIST=Show all Notes
+NOTEPAD_UPDATE=Update this Note
+NOTEPAD_ADD=Add this Note
+NOTEPAD_SEARCH=Search
+NOTEPAD_NOTEEXISTS=Note already exists!
+NOTEPAD_DBERROR=Database Problem! Please contact the Administrator!
+NOTEPAD_DELETE_SELECTED=Delete selected Notes
+
+MESSAGING_USERNOTONSERVICE=User has not subscribed to this service.
+MESSAGING_NOUSERSELECTED=Please select a user to send a message to.
+MESSAGING_SEND=Send
+MESSAGING_TO=to
+MESSAGING_VIA=using
+MESSAGING_SENDIT=Send it!
+MESSAGING_CHOOSESERVICETOEDIT=Choose service to edit
+MESSAGING_EDITSETTINGS=Edit settings
+MESSAGING_USERNAME=On this service send messages to
+MESSAGING_SAVESETTINGS=Save settings
+MESSAGING_DELETESETTINGS=Delete settings
+MESSAGING_CANCEL=Cancel
+MESSAGING_SERVICE_SMS=SMS
+MESSAGING_SERVICE_AIM=AOL IM
+MESSAGING_SERVICE_MAIL=EMail
+MESSAGING_NO_SERVICE_CONFIGURED=No Service configured.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Save and activate changed services
+MESSAGING_SERVICE_SAVEFAILURE=Could not save configuration!
+MESSAGING_SERVICE_RESTARTFAILURE=Could not restart the service
+MESSAGING_SERVICE_SERVICERESTARTED=Saved and activated 
+
+MESSAGING_SERVICE_CONFIGTEXT=The following messaging services are available:
+
+
+PROFILE_MESSAGING_SERVICE=Messaging Service
+PROFILE_MESSAGING_USERID=Send messages to
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=No Messaging service configured.
+PROFILE_SAVE_ERROR=Unable to save locale settings!
+PROFILE_SAVE_SUCCESS=Saved locale settings
+PROFILE_GROUPS=Groups:
+PROFILE_GROUP_DESC=Group Description:
+PROFILE_LOCALE=Preferred Locale:
+PROFILE_SAVE=Save Changes
+PROFILE_EDIT=Edit Settings for
+PROFILE_VIEW=View Settings for
+PROFILE_LASTLOGIN=Last Login Time:
+PROFILE_SETTINGS=Profile settings
+PROFILE_CONFIG_MSG=Configure supported locales by entering two letter lower-case ISO language codes in the comma separated list:
+PROFILE_LOCALES=Supported locales:
+PROFILE_PASSWORD=Password:
+PROFILE_PASSWORD2=Verify Password:
+
+LAYOUT_THEME_SAVE=Save theme
+LAYOUT_TAB_CONFIG=Tab configuration
+LAYOUT_TAB_EDIT=Edit available tab title(s):
+LAYOUT_APPLY=Apply changes
+LAYOUT_TAB_DEL=Delete tab
+LAYOUT_WARNING=Warning! this will remove all portlets from selected tab
+LAYOUT_NEW_TAB=Create new tab
+
+LAYOUT_SUBTAB_CONFIG=Subtab configuration
+LAYOUT_TAB_SELECT=Select a tab
+LAYOUT_SUBTAB_EDIT=Edit available subtab title(s):
+LAYOUT_SUBTAB_DEL=Delete subtab
+LAYOUT_NEW_SUBTAB=Create new subtab
+LAYOUT_SUBTAB_EDIT2=Enter subtab title:
+LAYOUT_PORTLET_CONF=Portlet configuration
+LAYOUT_SUBTAB_SEL=Select a subtab
+LAYOUT_TABLE=Portlet table layout
+LAYOUT_ADD_ROW=Add new table row
+LAYOUT_SAVE=Save portlet changes
+LAYOUT_CONFIG_THEMES=Configure supported themes by specifying the CSS directory name in the comma separated list:
+LAYOUT_SUPPORTED_THEMES=Supported themes:
+LAYOUT_SEL_SHOW_MODES=Show window mode icons
+LAYOUT_SEL_SHOW_STATES=Show window state icons
+
+
+USERNAME=User Name
+FAMILYNAME=Last Name
+GIVENNAME=First Name
+FULLNAME=Full Name
+EMAILADDRESS=Email Address
+ORGANIZATION=Organization
+LOCALE=Locale
+PASSWORD=Password
+CONFIRM_PASS=Confirm password
+ROLE=Role
+SAVE=Save
+CANCEL=Cancel
+OK=Ok
+APPLY=Apply Changes
+TIMEZONE=Timezone
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+
+BANNER_TITLE=Title to display:
+BANNER_FILE=File to display:
+BANNER_CONFIGURE=Display file settings have been saved
+BANNER_FAILURE=Unable to save display file settings!
+BANNER_NOFILES_START=No files listed. Please
+BANNER_NOFILES_END=upload files
+BANNER_FILE_NOTFOUND=Unable to locate file!
+BANNER_HELP=Banner Portlet Help
+BANNER_EDIT=Edit Display Page
+BANNER_NOFILE_SELECTED=No file was selected!
+
+FILE_DELETE=Delete file
+FILE_EDIT=Edit file
+FILE_SAVE=Save file
+FILE_DOWNLOAD=Download file
+FILE_UPLOAD=Upload file
+FILE_NAME=File:
+FILE_LIST=List current files:
+FILE_UPLOAD_FAIL=Unable to store uploaded file!
+FILE_UPLOAD_TOOBIG=Uploaded file exceeds the maximum allowed limit!
+FILE_SAVE_FAIL=Unable to save file:
+FILE_DISPLAY=Displaying file:
+FILE_OPEN_FAIL=Unable to open file:
+FILE_EMPTY_DIRECTORY=empty directory
+
+GROUP_ADMIN_SELECT_USER=Select the user you would like to add
+GROUP_PORTLET_GROUP=Portlet Group:
+GROUP_ADD_USER=User To Add:
+GROUP_ROLEIN_GROUP=Edit Role:
+GROUP_ADD_USERS=Add Users
+GROUP_CANCEL_ADD=Cancel Add
+GROUP_GO_BACK=Back to Group
+GROUP_LIST_GROUPS=List Groups
+GROUP_USERS_ADDED=The following users were added to
+GROUP_REMOVE_USERS=Remove Users
+GROUP_CANCEL_REMOVE=Cancel Remove
+GROUP_REMOVE_MSG=Select the users you would like to delete from group:
+GROUP_SELECTION=Selection
+GROUP_ROLE_CHANGE=Change User Role
+GROUP_REMOVE_USER=Remove User From Group
+GROUP_NAME=Group Name:
+GROUP_LABEL=Group Label:
+GROUP_ACCESS=Group Access:
+GROUP_DESCRIPTION=Group Description:
+GROUP_ACTION=Action:
+GROUP_DELETE=Delete Groups:
+GROUP_PRIVATE=private
+GROUP_PUBLIC=public
+GROUP_NOUSERS=No more users to add to this group
+GROUP_NOTIFY=This group is private. Please email the
+GROUP_ADMIN=administrator
+GROUP_MANAGE_USERS=Manage Users:
+
+PORTLET_WEBAPP=Name
+PORTLET_DESC=Description
+PORTLET_RUNNING=Running
+PORTLET_SESSIONS=Sessions
+PORTLET_ACTIONS=Actions
+PORTLET_GS_MSG=GridSphere core portlets cannot be redeployed or removed
+PORTLET_START=start
+PORTLET_STOP=stop
+PORTLET_RELOAD=reload
+PORTLET_REMOVE=remove
+PORTLET_DEPLOY_MSG=Deploy new portlet webapp
+PORTLET_WEBAPP_MSG=Enter webapp name:
+PORTLET_DEPLOY=Deploy
+PORTLET_UPLOAD=Upload Portlet WAR
+PORTLET_FILE=File:
+PORTLET_ERR_DEPLOY=Unable to deploy webapp!
+PORTLET_ERR_REGISTRY=PortletRegistry service unavailable!
+PORTLET_ERR_UPLOAD=Unable to store uploaded file!
+PORTLET_ERR_TOMCAT=A Tomcat error occurred!
+PORTLET_ERR_IO=An I/O error occurred!
+PORTLET_ERR_MANAGER=Portlet Manager error occurred!
+PORTLET_ERR_LIST=Unable to retrieve list of portlets. Make sure tomcat-users.xml has been edited according to the UserGuide.
+
+USER_CONFIRM_DELETE=Confirm Delete
+USER_CANCEL_DELETE=Cancel Delete
+USER_DELETE_MSG=The following user was deleted:
+USER_SAVE=Save User
+USER_CANCEL_EDIT=Cancel Edit
+USER_ROLE=Role In GridSphere:
+USER_NEW_USER=New User
+USER_LIST_USERS=List Users
+USER_EDIT_USER=Edit User
+USER_DELETE_USER=Delete User(s)
+USER_NAME_BLANK=User name cannot be blank
+USER_EXISTS=A user already exists with the same user name, please use a different name.
+USER_NEED_EMAIL=Please provide a valid E-mail address!
+USER_FULLNAME_BLANK=Full name cannot be blank!
+USER_FAMILYNAME_BLANK=Last name cannot be blank!
+USER_GIVENNAME_BLANK=First name cannot be blank!
+USER_PASSWORD_BLANK=Password cannot be blank!
+USER_PASSWORD_MISMATCH=Password must match confirmation!
+USER_PASSWORD_TOOSHORT=Password must have at least 5 characters!
+USER_NEW_ACCOUNT=New account created.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Please login as
+
+COMMANDER_HELP=Help mode not implemented yet
+COMMANDER_ERROR_INIT=Secure directory service unavailable !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=Uploaded file is to big
+COMMANDER_ERROR_LOAD=Unable to load file
+COMMANDER_ERROR_DIR_READ=Unable to read directory
+COMMANDER_ERROR_DIR_BACK=go to root directory
+COMMANDER_RESOURCE=resource
+COMMANDER_SIZE=size
+COMMANDER_LAST_MODIFIED=last modified
+COMMANDER_FILE_NAME=File:
+COMMANDER_FILE_UPLOAD=Upload file
+COMMANDER_DIR_FILE_NAME=Name of (file/directory)
+COMMANDER_MKDIR=new directory
+COMMANDER_TOUCH=new file
+COMMANDER_COPY=Copy
+COMMANDER_MOVE=Move
+COMMANDER_DELETE=Delete
+COMMANDER_CANCEL=Cancel
+COMMANDER_SAVE=Save
+COMMANDER_EDIT=edit
+
+# new stuff
+ORIG_PASSWORD=Enter original password:
+USER_PASSWORD_INVALID=Supplied password is invalid!
+USER_PASSWORD_NOTSET=Password is not set!
+USER_PASSWORD_SUCCESS=Successfully updated password
+USER_GROUPS_SUCCESS=Successfully updated group membership
+USER_UPDATE_SUCCESS=Successfully updated user information
+
+LOGIN_FORGOT_PASSWORD=Forgot your password?
+LOGIN_FORGOT_TEXT=Please provide your e-mail address and you will receive instructions to create a new password.
+LOGIN_REQUEST_EMAIL=Enter your e-mail address:
+LOGIN_NO_EMAIL=Please provide a valid email address!
+LOGIN_NOEXIST=No account for a user matching the supplied email exists!
+LOGIN_FORGOT_MAIL=Please follow the link below to create a new password for your account on the portal:
+
+MAIL_CONFIG_MSG=Configure portal mail settings
+MAIL_SERVER_MSG=Enter outgoing SMTP mail host (leave blank if using localhost)
+MAIL_FROM_MSG=Enter e-mail address of the portal (users can receive email from this address)
+MAIL_SUBJECT_MSG=Enter subject line for outgoing email:
+MAIL_SUBJECT_HEADER=Portal password
+
+LAYOUT_THEME=Theme configuration
+LAYOUT_SELECT_THEME=Select a theme:
+LAYOUT_TAB_NAME=Enter new tab title:
+LAYOUT_ONE_COL=One column
+LAYOUT_TWO_COL=Two columns
+LAYOUT_THREE_COL=Three columns
+CREATE=Create
+LAYOUT_DISP_TABS=Display existing tabs
+LAYOUT_SHOW_TAB=Tab name
+LAYOUT_EDIT_TAB=Edit tab name
+LAYOUT_DELETE_TAB=Delete tab
+
+DELETE=Delete
+
+
+LAYOUTMGR_EDIT_BANNER=Edit Banner
+LAYOUTMGR_EDIT_MSG=Below you can edit the portal banner HTML
+LAYOUTMGR_EDIT_THEME=Choose Default Theme
+LAYOUTMGR_THEME_MSG=Select from the list of available themes:
+LAYOUTMGR_GUEST=Guest Layout
+LAYOUTMGR_GROUPS=Group Layouts
+LAYOUTMGR_EDIT_GUEST=Edit guest layout
+LAYOUTMGR_GROUP_MSG=The following group layouts exist:
+LAYOUTMGR_GROUP_EDIT=Edit layout
+LAYOUTMGR_GROUP_DELETE=Delete layout
+LAYOUTMGR_IMPORT=Import existing application layout:
+
+GROUP_CREATE_NAME=Enter group name:
+GROUP_DESC_MSG=Enter a brief description of group:
+GROUP_VISIBILITY_MSG=Group visibility
+GROUP_VISIBILITY_DESC=Select if group should be public or private. Anyone can add themselves to a public group, while private groups require administrator approval. A hidden group is not displayed to users. Only a portal administrator may add a user to a hidden group.
+GROUP_SELECT_MSG=Select portlets that will be made available to the group. Users in this group will have the chance to add these portlets to their layout. In addition, required role levels may be associated with the portlets
+GROUP_EDIT_USERS=Edit Users
+GROUP_CREATE_NEW=Create new group
+GROUP_EDIT_DEFS=Edit default groups
+GROUP_EDIT_DEFS_MSG=Existing and future users will be added automatically to the following selection of groups
+
+PROFILE_CONFIG_MESSAGING=Configure messaging service
+PROFILE_CONFIG_GROUPS=Configure group membership
+PROFILE_UPDATE_PASS=Update password
+
+SUBSCRIPTION_SUBSCRIBE=Subscribe
+SUBSCRIPTION_DESC=Portlet description
+SUBSCRIPTION_REQROLE=Required role
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Successfully deleted layout for group:
+LAYOUTMGR_VALID_LAYOUT=Successfully updated layout. Please logout and log back in to see changes
+LAYOUTMGR_INVALID_LAYOUT=Error occurred saving layout. Check that descriptor is valid!
+
+GROUP_INVALID_NAME=Please provide a group name!
+GROUP_INVALID_DESC=Please provide a group description!
+GROUP_INVALID_PORTLETS=Please select at least one portlet to add to the group!
+GROUP_REMOVE_USERS_MSG=You must remove all users in the group before deleting it!
+GROUP_NOUSERS_SELECTED=No users were selected for removal!
+GROUP_REMOVE_GROUP_SUCCESS=Successfully deleted group:
+GROUP_REMOVE_USER_SUCCESS=Successfully removed user from groups!
+GROUP_ADD_USER_SUCCESS=Successfully added user to group:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Successfully saved default groups!
+GROUP_MODIFY_USERS=Edit users
+
+GROUP_NEWGROUP_SUCCESS=Successfully saved group information
+GROUP_VISIBILITY_MOREDESC=Please make sure a valid group administrator (with valid e-mail) is added to the group to approve membership requests.
+
+LOGIN_SUCCESS_MAIL=You will soon receive an e-mail with password update information
+LOGIN_FAILURE_MAIL=Unable to send e-mail notification!
+
+PROFILE_ROLE_DESC=Role in Group
+
+PORTLET_SUC_TOMCAT=Successfully performed operation
+PORTLET_SUC_DEPLOY=Successfully deployed webapp:
+
+USER_CREATE_USER=Create a New User
+USER_SHOW_USERS=Display Users
+USER_VIEW_USER=Display User Information
+USER_EDIT_USER_MSG=Edit User Information
+USER_PASS_BLANK_MSG=Leave password field blank to keep existing password if editing an existing user
+USER_DELETE_SUCCESS=Successfully deleted user(s)!
+USER_NEW_SUCCESS=User was successfully created!
+USER_EDIT_SUCCESS=User was successfully updated!
+
+LAYOUT_SAMETAB_ERROR=A tab with that name exists already! Please choose another
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Remember my login
+LAYOUT_NOTAB_ERROR=Please enter a tab name!
+GROUP_INFO=Group information
+GROUP_LAYOUT_HEADER=Group Layout
+GROUP_SELECT_PORTLETS=Select portlets
+GROUP_CREATE_TEMPLATE=Create Template Layout
+GROUP_CUSTOMIZE_LAYOUT=Customize Layout
+GROUP_LAYOUT_MSG=A template layout for this group will be created. Afterwards you can customize the layout using the Layout Manager Portlet.
+GROUP_TEMPLATE_MSG=The template layout creates a tab and places each portlet defined by the group within a subtab.
+GROUP_LAYOUT_CUSTOM=Customize layout using the Layout Manager Portlet and providing a layout descriptor
+GROUP_MANAGE_MSG=Manage users in group:
+LOGIN_AUTHMODULES_MSG=Configure authentication modules
+LOGIN_AUTHMODULES_ONEREQ=One active authentication module is required !
+LOGIN_MODULE_NAME=Name
+LOGIN_MODULE_DESC=Description
+LOGIN_MODULE_ISACTIVE=Is active?
+LOGIN_MODULE_PRIORITY=Priority
+
+LAYOUTMGR_EDIT_FOOTER=Edit Footer
+LAYOUTMGR_EDIT_FOOTER_MSG=Below you can edit the portal footer HTML
+
+LOGIN_ACTIVATE_MAIL=Please follow the link below to activate your account on the portal:
+MAIL_ACCT_HEADER=Portal account
+LOGIN_ACCT_MAIL=You will soon receive an e-mail with account activation information
+LOGIN_CREATE_ACCT=Please fill out your user information and an e-mail will be sent to you with activation details.
+
+GROUP_MANAGE_PORTLETS=Manage Portlets:
+GROUP_EDIT_PORTLETS=Select portlets
+
+PORTLET_CURRENT=Portlet web applications
+PORTLET_NON=Non-portlet web applications
+PORTLET_NONWEBAPP=web application
+
+SESSION_ACTIVE=Number of active sessions (guests + users):
+SESSION_USERS=Logged in users :
+
+# 2.0.3
+GROUP_DEFAULT=Default
+GROUP_HIDDEN=hidden
+
+LOGIN_CONFIG_NOTIFY=Allow users to reset password if forgotten?
+LOGIN_CONFIG_PASSWD=Save passwords in GS database?
+LOGIN_CONFIG_PASSWD1=should be selected unless PasswordAuthModule is disabled
+LOGIN_CONFIG_PASSWD2=should be selected if "Allow users to reset password" option is selected
+
+GROUP_WIZARD_1=Group Creation Wizard
+
+ROLENAME=Role Name
+ROLEPRIORITY=Role Priority
+ROLE_SHOW_ROLES=Display Roles
+ROLE_CREATE_ROLE=Create a New Role
+ROLE_DELETE_MSG=Successfully deleted role
+ROLE_EXISTS_MSG=A role by that name already exists. Please delete the old role or create a new one!
+ROLE_CREATE_MSG=New role successfully created
+ROLE_UPDATE_MSG=Existing role successfully updated
+ROLE_SAVE=Save Role
+ROLE_EDIT_MSG=Edit Role Information
+ROLEDEL=Delete Role
+
+USER_ACCOUNT_STATUS=Disable account?
+
+TRACKING_DATE=Date:
+TRACKING_USERAGENT=Client:
+TRACKING_NUMACTIONS=Total number of actions:
+TRACKING_STATS=Tracking Statistics
+TRACKING_SELECT_MSG=Please select from the following tracking labels to see more information:
+TRACKING_DOWNLOAD=Download Excel SpreadSheet
+TRACKING_DISPLAY_ACTION=Display Tracking Actions
+TRACKING_ADD_ACTION=Edit Tracking Actions
+TRACKING_CREATE_ACTION=Create New Tracking Action
+TRACKING_CREATE_MSG=Enter action name to track:
+TRACKING_ACTION=Action Name:
+TRACKING_ENABLED=Enabled:
+TRACKING_DELETE=Delete Action:
+
+LOGIN_TRIES_CONFIG_MSG=Configure number of login attempts
+LOGIN_TOOMANY_ATTEMPTS=Too many login attempts made! Your account has been disabled.
+LOGIN_TRIES_MSG=Set the number of attempts a user may try to login. If the user exceeds the limit, their account is disabled and the administrator is notified. (-1 indicates no limit)
+LOGIN_DISABLED_SUBJECT=Too many login attemps- your portal account has been disabled!
+LOGIN_DISABLED_ADMIN_MSG=Too many login attemps- the portal account has been disabled for user:
+LOGIN_DISABLED_MSG1=Your portal account has been temporarily frozen. Please contact
+LOGIN_DISABLED_MSG2=the portal administrator for help.
+
+#after 2.1.1
+SETUP_MSG=Create Portal Administrator
+SETUP_MSG2=After submission, you will be able to login using the provided user name and password
+
+# new with 3.0
+USER_ROLES=Roles:
+ROLEDESC=Role Description
+LOGIN_CONFIG_X509=Support client X.509 certificate authentication?
+LOGIN_CERTIFICATE=Login with certificate
+USER_CERTIFICATE=Certificate
+LOGIN_CONFIG_ERROR_MSG=Error handling configuration
+LOGIN_CONFIG_ERROR_STACKTRACE_MSG=Display stack trace information in portlets, useful in developer mode
+LOGIN_CONFIG_ERROR_MAIL_MSG=Mail stack traces to portal administrator, and notify users of error occurence
+PORTAL_ERROR_MSG=An unexpected error has occurred and the portal administrator has been contacted!
+LOGIN_ACCOUNT_APPROVAL=User created accounts must be approved by an administrator.
+
+LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL=The following user created an account and needs approval:
+LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT=Portal account needs approval
+LOGIN_ACCOUNT_APPROVAL_ALLOW=To APPROVE the account click the following link:
+LOGIN_ACCOUNT_APPROVAL_DENY=To DENY the account click the following link:
+LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED=Your portal account has been created
+LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY=Your portal account request was denied.
+LOGIN_ACCOUNT_CREATE_APPROVAL=Please fill out your user information
+
+TRACKING_PORTLET_LABEL=Enable portlet counter?
+TRACKING_PORTLET_COUNTER=This will collect statistics every time an action occurs for all portlets.
+RETURN=Go back
+
+ROLES_HASNOROLES=User has no roles
+
+LOGIN_REMUSER=Provide "Remember me" functionality using cookies
+GROUP_NEWLAYOUT_MSG=A template layout for this group will be created. Afterwards you can customize the layout using the Layout Manager Portlet.
+
+LOGOUT=Logout
+
+LOGIN_CONFIG_SMTP=Configure mail server
+USER_CAPTCHA_MISMATCH=Challenge text in image and supplied value do not match!
+CAPTCHA_TEXT=Enter the text displayed in the image above:
+CONFIG_LOGIN_TAB=Login Configuration
+CONFIG_AUTH_TAB=Authentication Modules
+CONFIG_MAIL_TAB=Mail Configuration
+CONFIG_MSG_TAB=Portal Notifications
+CONFIG_ERR_TAB=Error Configuration
+
+LOGIN_CONFIG_FORGET=Configure message to send when user forgets password
+LOGIN_CONFIG_ACTIVATE=Configure message to send to user to activate new account
+LOGIN_CONFIG_APPROVED=Configure message to send when user account is approved/created
+LOGIN_CONFIG_DENIED=Configure message to send when user account request is rejected
+LOGIN_ACCT_ADMIN_MAIL=You will soon receive an e-mail from the portal administrator
+LOGIN_ACTIVATE_SUBJECT=Please activate your new portal account
+NEW_PASSWORD=New password
+PROFILE_PRIVACY=Profile privacy
+PROFILE_PRIVACY_MSG=Allow profile to be made public to others?
+
+USER_PER_PAGE=Users per page
+USER_SEARCH_EMAIL=Email contains:
+USER_SEARCH_ORGANIZATION= in organization:
+USER_VIEW=Display
+
+USER_SELECT_ROLES=Select Roles
+USER_ROLE_NAME=Role name
+USER_EMAIL_USER=Email user with account information including password?
+USER_NEW_USER_MSG=Create User Information
+USER_PASSWD_MSG=Your password has been set to:
+USER_NO_RESULTS=Search query returned no results!
+ROLE_REMOVE_USER=Remove User(s)
+ROLE_EDITUSER_MSG=Edit Users with Role
+ROLE_ADD_USER=Assign this role to user:
+ROLE_ADD_USER_ACTION=Assign Role to Users
+
+PORTLET_STATUS=Deployment status
+PORTLET_DISPLAY_PORTLETS=Display portlets for application:
+SUCCESS=Successful
+FAILURE=Failure
+PORTLET_LIST_APPS=Return to list of web applications
+
+CONFIG_MAILHOST=Configure SMTP hostname:
+CONFIG_MAILPORT=Configure SMTP port:
+CONFIG_MAILFROM=Set portal reply e-mail:
+CONFIG_MAILADMIN=Set e-mail address of portal administrator:
+
+USER_CREATEDATE=Account creation date
+NUMLOGINS=Total logins
+LASTLOGINDATE=Last login
+
+LOGIN_AUTH_BLANK=Username or password is blank
+LOGIN_AUTH_NOUSER=User does not exist
+LOGIN_AUTH_DISABLED=Account has been disabled
+
+LOGIN_USERNAME=Require username for login name?
+LOGIN_EMAIL=Require email address for login name?
+LOGIN_EMAIL_NAME=Email Address
+
+USER_EMAIL_BLANK=Email Address cannot be blank!
+
+PORTLET_VIEW_DETAILS=View Portlet Details
+USER_SEND_EMAIL=Send Email
+USER_COMPOSE_EMAIL=Compose Email
+USER_SEND=Send
+
+ROLE_EDIT_USERS=Edit Users In Role
+ROLE_DELETE_ROLE=Delete Role(s)
+SELECT=Select
+ROLE_ALL_USERS=Every user has this role!
+ROLE_DEL_USERS=No user has this role!
+ROLE_DISPLAY=Display Roles
+
+CM_DOCUMENT=Document
+CM_DOCUMENT_TITLE=Title
+CM_AVAILDOCUMENTS=Available Documents
+CM_SHOWDOCUMENT=Load document into editor
+CM_DELETEDOCUMENT=Delete document
+CM_CREATEUPDATEDOCUMENT=Create/Update Document
+CM_CONTENT=Content
+CM_ERR_COULDNOTLOADDOCUMENT=Could not load document
+CM_ERR_COULDNOTLOADDOCUMENTLIST=Could not load list of documents
+CM_ERR_COULDNOTSAVEDOCUMENT=Could not save document
+CM_ERR_NONODEID=Please specify document title
+CM_ERR_SELECTNODE=Please select document
+CM_SUCCESS_NEWDOCUMENT=Create document
+CM_SUCCESS_EDITDOCUMENT=Updated document
+CM_SUCCESS_DELETEDDOCUMENT=Deleted document
+CM_CLEAREDITOR=Clear editor
+CM_BACKUP=Backup
+CM_BACKUPCONTENT=Backup Content
+CM_IMPORT=Import
+CM_IMPORTCONTENT=Import Content
+CM_BACKUPSUCCESS=Backup sucessfull. 
+CM_BACKUPERROR=Backup failed. Please consult your administrator.
+CM_IMPORTSUCCESS=Import successful.
+CM_IMPORTERROR=Import failed. Please consult your administrator.
+CM_BACKUP_HELP=This will backup all documents to a single xml file in the WEB-INF/CustomPortal/content/backupContent directory of your GridSphere web application.
+CM_IMPORT_HELP=Read this carefully! This will import all documents previously backed up. Duplicated entries will be replaced by the new ones. It will always load ALL entries. Use this in the case your repository was damaged to restore it.
+
+RSS_SELECT_FEED=Select your news feed
+RSS_READ_FULL_STORY=Read full story
+RSS_ERR_COULDNOTCREATEFEED=Could not create feed
+RSS_ERR_RSSURLNOTVALID=The following RSS URL is not valid
+RSS_ADD_FEED=Add Feed
+RSS_DELETE_FEED=Delete Feed
+RSS_FEED_ADDED=Added Feed
+RSS_FEED_DELETED=Deleted Feed
+RSS_ENTERFEEDURL=Please enter Feed URL
+RSS_ERR_NORSSFEED=No RSS feed available
+RSS_ERR_COULDNOTSAVE=Could not save feed
+RSS_NEWFEED=New Feed
+RSS_REMOVEFEED=Delete Feed
+
+
+NEWS_SAVE=Save
+NEWS_DOCUMENT=Document to be displayed
+RSS_ERR_COULDNOTREADURL=Could not read feed from
+
+LAYOUT_DISPLAY=Display
+LAYOUT_CUSTOMIZE=Select a layout to customize:
+LAYOUT_SEL_THEME=Select default theme for new users:
+LAYOUT_EDIT_TITLE=Edit page title:
+LAYOUT_EDIT_COMPS=Edit layout properties by selecting components below for page:
+LAYOUT_SEL_TOPS=Select top-level navigation:
+LAYOUT_EDIT_MSG=To refine the layout further, please edit
+LAYOUT_EDIT_BAR=Edit bar layout
+LAYOUT_EDIT_CONTENT=Edit content:
+LAYOUT_SEL_CONTENT=Select content:
+LAYOUT_SEL_ROLES=Select required role:
+LAYOUT_SEL_BOOKMARKING=Choose a label for bookmarking:
+LAYOUT_EDIT_FRAME=Edit portlet frame:
+LAYOUT_SEL_PORTLETS=Select portlet:
+LAYOUT_DISP_TB=Display titlebar?
+LAYOUT_CREATE_MENU=Create new menu
+LAYOUT_EDIT_MENU=Edit menu:
+LAYOUT_MV_LEFT=Move left
+LAYOUT_MV_RIGHT=Move right
+LAYOUT_EDIT_TABNAME=Edit tab name:
+LAYOUT_SEL_COLLAYOUT=Select column layout:
+
+LAYOUT_CREATE_SUBTAB=Create new subtab
+LAYOUT_EDIT_SUBTAB=Edit subtab:
+LAYOUT_EDIT_SUBTABNAME=Edit subtab name:
+LAYOUT_CREATE_TAB=Create new tab
+LAYOUT_EDIT_TAB2=Edit tab:
+LAYOUT_PAGE_DETAILS=Edit Page Details:
+LAYOUT_EDIT_KEYWORDS=Edit page keywords:
+
+LAYOUT_DEFAULT_TAB_NAME=Default
+
+LAYOUT_ROLE_NONE_REQUIRED=None required
+LAYOUT_SINGLE_DIVIDER=Single divider bar
+LAYOUT_MENUBAR=Menu bar
+LAYOUT_TABBEDPANE=Double tabbed pane
+LAYOUT_NEW_MENUTAB=New menu tab
+LAYOUT_NEW_SUBTAB2=New subtab
+LAYOUT_NEW_TAB2=New tab
+
+LAYOUT_ONECOL=1 column
+LAYOUT_TWOCOL1=2 columns / (33%, 66%)
+LAYOUT_TWOCOL2=2 columns / (50%, 50%)
+LAYOUT_TWOCOL3=2 columns / (66%, 33%)
+LAYOUT_THREECOL1=3 columns / (33%, 33%, 33%)
+LAYOUT_THREECOL2=3 columns / (25%, 50%, 25%)
+
+ROLE_EDIT_DEFAULT=Make Default
+ROLE_SAVE_DEFAULT=Add as default
+
+YES=yes
+NO=No
+
+ABOUT_GRIDSPHERE_VERSION=GridSphere Version
+ABOUT_GRIDSPHERE_WRITTEN_BY=GridSphere was mainly developed by
+
+LOGIN_CANT_READ=Can't read
+
+LAYOUT_SAVETHEMEMSG=Successfully saved default theme: 
+
+CONFIG_SAVE_SUCCESS=Successfully updated configuration changes!
+
+SIGNUP_REGISTER=Register
+SIGNUP_CONFIRM=Successfully registered an account! Please wait for an email with activation details!
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u0645\u062f\u064a\u0631 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+javax.portlet.short-title=\u0645\u062f\u064a\u0631 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+javax.portlet.keywords=
+\u0645\u062f\u064a\u0631 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Spr\u00e1va portletov\u00fdch aplikac\u00ed
+javax.portlet.short-title=Spr\u00e1va portletov\u00fdch aplikac\u00ed
+javax.portlet.keywords=
+Spr\u00e1va portletov\u00fdch aplikac\u00ed
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet Anwendungsverwaltung
+javax.portlet.short-title=Portlet Anwendungsverwaltung
+javax.portlet.keywords=
+Portlet Anwendungsverwaltung
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet Application Manager
+javax.portlet.short-title=Portlet Application Manager
+javax.portlet.keywords=
+Portlet Application Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet Application Manager
+javax.portlet.short-title=Portlet Application Manager
+javax.portlet.keywords=
+Portlet Application Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestionnaire d'application
+javax.portlet.short-title=Gestionnaire d'application
+javax.portlet.keywords=
+Gestionnaire d'application
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj portleta
+javax.portlet.short-title=Upravitelj portleta
+javax.portlet.keywords=
+Upravitelj portleta
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet alkalmaz\u00e1s kezel\u0151
+javax.portlet.short-title=Portlet alkalmaz\u00e1s kezel\u0151
+javax.portlet.keywords=
+Portlet alkalmaz\u00e1s kezel\u0151
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestione Applicazione Portlet
+javax.portlet.short-title=Gestione Applicazione Portlet
+javax.portlet.keywords=
+Gestione Applicazione Portlet
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7ba1\u7406
+javax.portlet.short-title=Portlet\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7ba1\u7406
+javax.portlet.keywords=
+Portlet\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u7ba1\u7406
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Portlet Toepassings Manager
+javax.portlet.short-title=Portlet Toepassings Manager
+javax.portlet.keywords=
+Portlet Toepassings Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Menad\u017cer portlet\u00f3w
+javax.portlet.short-title=Menad\u017cer portlet\u00f3w
+javax.portlet.keywords=
+Menad\u017cer portlet\u00f3w
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/PortletApplicationManager/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u3010\u95e8\u4ef6\u5e94\u7528\u8f6f\u4ef6\u7ba1\u7406\u8005 Portlet Application Manager\u3011
+javax.portlet.short-title=\u3010\u95e8\u4ef6\u5e94\u7528\u8f6f\u4ef6\u7ba1\u7406\u8005 Portlet Application Manager\u3011
+javax.portlet.keywords=
+\u3010\u95e8\u4ef6\u5e94\u7528\u8f6f\u4ef6\u7ba1\u7406\u8005 Portlet Application Manager\u3011
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,342 @@
+# $Id: Portlet_ar.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+LOGIN_PASS=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631
+LOGIN_SUCCESS=\u0645\u0631\u062d\u0628\u0627
+LOGIN_FAILED=\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0648/\u0623\u0648 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d\u0629\u060c \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649
+LOGIN_ACTION=\u062f\u062e\u0648\u0644
+LOGIN_CONFIGURE=\u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u062f\u062e\u0648\u0644
+LOGIN_CONFIG_MSG=\u0625\u062e\u062a\u064a\u0627\u0631\u0627\u062a \u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u062f\u062e\u0648\u0644
+LOGIN_CONFIG_ALLOW=\u0627\u0644\u0633\u0645\u0627\u062d \u0644\u0639\u0645\u0644 \u0633\u062c\u0644\u0627\u062a \u0644\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646\u061f
+LOGIN_SIGNUP=\u0639\u0645\u0644 \u0647\u0648\u064a\u0629 \u0645\u0633\u062a\u062e\u062f\u0645
+
+NOTEPAD_EDIT=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0647
+NOTEPAD_CREATE=\u0639\u0645\u0644 \u0645\u0644\u0627\u062d\u0638\u0647
+NOTEPAD_DELETE=\u062d\u0630\u0641 \u0647\u0630\u0647 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0647
+NOTEPAD_SHOWLIST=\u0639\u0631\u0636 \u0643\u0644 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a
+NOTEPAD_UPDATE=\u062a\u0639\u062f\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0647
+NOTEPAD_ADD=\u0625\u0636\u0627\u0641\u0629 \u0647\u0630\u0647 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0647
+NOTEPAD_SEARCH=\u0628\u062d\u062b
+NOTEPAD_NOTEEXISTS=\u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0647 \u0645\u0648\u062c\u0648\u062f\u0647 \u0645\u0646 \u0642\u0628\u0644
+NOTEPAD_DBERROR=\u0645\u0634\u0643\u0644\u0629 \u0641\u064a \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a! \u0631\u0627\u062c\u0639 \u0645\u062f\u064a\u0631 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a
+NOTEPAD_DELETE_SELECTED=\u0625\u062d\u0630\u0641 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0629 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629
+
+MESSAGING_USERNOTONSERVICE=\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u063a\u064a\u0631 \u0645\u0634\u062a\u0631\u0643 \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u062e\u062f\u0645\u0629
+MESSAGING_NOUSERSELECTED=\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0645\u0648\u062c\u0647\u0629 \u0644\u0647 \u0627\u0644\u0631\u0633\u0627\u0644\u0629
+MESSAGING_SEND=\u0623\u0631\u0633\u0644
+MESSAGING_TO=\u0625\u0644\u0649
+MESSAGING_VIA=\u0628\u0625\u0633\u062a\u062e\u062f\u0627\u0645
+MESSAGING_SENDIT=\u0623\u0631\u0633\u0644\u0647\u0627
+MESSAGING_CHOOSESERVICETOEDIT=\u0625\u062e\u062a\u0631 \u0627\u0644\u062e\u062f\u0645\u0629 \u0627\u0644\u0645\u0631\u0627\u062f \u062a\u0639\u062f\u064a\u0644\u0647\u0627
+MESSAGING_EDITSETTINGS=\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0623\u0648\u0636\u0627\u0639
+MESSAGING_USERNAME=\u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u062e\u062f\u0645\u0629 \u0623\u0631\u0633\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0625\u0644\u0649
+MESSAGING_SAVESETTINGS=\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0623\u0648\u0636\u0627\u0639
+MESSAGING_DELETESETTINGS=\u062d\u0630\u0641 \u0627\u0644\u0623\u0648\u0636\u0627\u0639
+MESSAGING_CANCEL=\u0627\u0644\u063a\u0627\u0621
+MESSAGING_SERVICE_SMS=\u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u0629 \u0644\u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0626\u0644 \u0639\u0628\u0631 \u062e\u062f\u0645\u0629 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0642\u0635\u064a\u0631\u0629
+MESSAGING_SERVICE_AIM=\u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u0629 \u0644\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0639\u0628\u0631 AOL Instant Messenger (AIM/Apple iChat)
+MESSAGING_SERVICE_MAIL=\u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u0629 \u0644\u0625\u0631\u0633\u0627\u0644 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0639\u0628\u0631 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a
+MESSAGING_NO_SERVICE_CONFIGURED=\u0644\u0627 \u062a\u0648\u062c\u062f \u062e\u062f\u0645\u0629 \u0645\u0636\u0628\u0637\u0629
+MESSAGING_OK=\u0645\u0648\u0627\u0641\u0642
+MESSAGING_SERVICE_SAVE=\u062a\u062e\u0632\u064a\u0646
+MESSAGING_SERVICE_RESTART=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062e\u062f\u0645\u0627\u062a
+MESSAGING_SERVICE_CONFIGTEXT=\u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0627\u0644\u062a\u0631\u0627\u0633\u0644\u064a\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629 \u0645\u062a\u0648\u0641\u0631\u0629:
+
+
+PROFILE_MESSAGING_SERVICE=\u062e\u062f\u0645\u0629 \u0627\u0644\u062a\u0631\u0627\u0633\u0644
+PROFILE_MESSAGING_USERID=\u0623\u0628\u0639\u062b \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0625\u0644\u0649
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=\u0644\u0627 \u062a\u0648\u062c\u062f \u062e\u062f\u0645\u0629 \u0627\u0644\u062a\u0631\u0627\u0633\u0644
+PROFILE_SAVE_ERROR=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062f\u0648\u0644\u064a\u0629
+PROFILE_SAVE_SUCCESS=\u062a\u0645 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062f\u0648\u0644\u064a\u0629
+PROFILE_GROUPS=\u0645\u062c\u0645\u0648\u0639\u0627\u062a:
+PROFILE_GROUP_DESC=\u0648\u0635\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+PROFILE_LOCALE=\u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u062f\u0648\u0644\u064a \u0627\u0644\u0645\u0641\u0636\u0644:
+PROFILE_SAVE=\u062e\u0632\u0646 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u0627\u062a
+PROFILE_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a:
+PROFILE_VIEW=\u0639\u0631\u0636 \u0627\u0644\u0625\u0639\u062f\u0627\u062f\u0627\u062a:
+PROFILE_LASTLOGIN=\u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0623\u062e\u064a\u0631
+PROFILE_SETTINGS=\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0623\u0633\u0627\u0633\u064a
+PROFILE_CONFIG_MSG=\u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062f\u0648\u0644\u064a\u0629 \u0639\u0646 \u0637\u0631\u064a\u0642 \u0625\u062f\u062e\u0627\u0644 \u062d\u0631\u0641\u064a\u0646 \u0628\u0644\u0641\u0629 ISO \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0633\u0645\u0629 \u0628\u0627\u0644\u0641\u0648\u0627\u0635\u0644:
+PROFILE_LOCALES=\u0627\u0644\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062f\u0648\u0644\u064a\u0629 \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629:
+PROFILE_PASSWORD=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631:
+PROFILE_PASSWORD2=\u062a\u0623\u0643\u064a\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631:
+
+LAYOUT_THEME_SAVE=\u062a\u062e\u0632\u064a\u0646 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646
+LAYOUT_TAB_CONFIG=\u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u0635\u0641\u062d\u0629
+LAYOUT_TAB_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0639\u0646\u0627\u0648\u064a\u0646 \u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629:
+LAYOUT_APPLY=\u0639\u0645\u0644 \u0627\u0644\u062a\u062d\u062f\u064a\u062b\u0627\u062a
+LAYOUT_TAB_DEL=\u062d\u0630\u0641 \u0635\u0641\u062d\u0629
+LAYOUT_WARNING=\u062a\u062d\u0630\u064a\u0631! \u0627\u0644\u0625\u062c\u0631\u0627\u0621 \u0633\u0648\u0641 \u064a\u062d\u0630\u0641 \u0643\u0644 \u0627\u0644\u0628\u0631\u0627\u0645\u062c \u0645\u0646 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u0629
+LAYOUT_NEW_TAB=\u0639\u0645\u0644 \u0635\u0641\u062d\u0629 \u062c\u062f\u064a\u062f\u0629
+
+LAYOUT_SUBTAB_CONFIG=\u062a\u0647\u064a\u0626\u0629 \u062a\u0641\u0631\u0639 \u0627\u0644\u0635\u0641\u062d\u0629
+LAYOUT_TAB_SELECT=\u0625\u062e\u062a\u0631 \u0635\u0641\u062d\u0629
+LAYOUT_SUBTAB_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0639\u0646\u0627\u0648\u064a\u0646 \u062a\u0641\u0631\u0639 \u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629:
+LAYOUT_SUBTAB_DEL=\u062d\u0630\u0641 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u062a\u0641\u0631\u0639\u0629
+LAYOUT_NEW_SUBTAB=\u0639\u0645\u0644 \u062a\u0641\u0631\u0639 \u0635\u0641\u062d\u0629 \u062c\u062f\u064a\u062f
+LAYOUT_SUBTAB_EDIT2=\u0623\u062f\u062e\u0644 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u062a\u0641\u0631\u0639\u0629
+LAYOUT_PORTLET_CONF=\u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+LAYOUT_SUBTAB_SEL=\u0625\u062e\u062a\u0631 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u062a\u0641\u0631\u0639\u0629
+LAYOUT_TABLE=\u0648\u0636\u0639 \u062c\u062f\u0648\u0644 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+LAYOUT_ADD_ROW=\u0623\u0636\u0641 \u0633\u0637\u0631 \u062c\u062f\u064a\u062f
+LAYOUT_SAVE=\u062a\u062e\u0632\u064a\u0646 \u062a\u0639\u062f\u064a\u0644\u0627\u062a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+LAYOUT_CONFIG_THEMES=\u062a\u0647\u064a\u0626\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646 \u0628\u062a\u062d\u062f\u064a\u062f \u0645\u062c\u0644\u062f \u0627\u0644 CSS \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0642\u0633\u0645\u0629 \u0628\u0627\u0644\u0641\u0648\u0627\u0635\u0644:
+LAYOUT_SUPPORTED_THEMES=\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646 \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629:
+
+USERNAME=\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645:
+FAMILYNAME=\u0625\u0633\u0645 \u0627\u0644\u0639\u0627\u0626\u0644\u0629:
+GIVENNAME=\u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u062b\u0627\u0646\u064a:
+FULLNAME=\u0627\u0644\u0623\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644:
+EMAILADDRESS=\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a:
+ORGANIZATION=\u0627\u0644\u0645\u0646\u0638\u0645\u0629:
+LOCALE=\u0627\u0644\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062f\u0648\u0644\u064a\u0629:
+PASSWORD=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631:
+CONFIRM_PASS=\u062a\u0623\u0643\u064a\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631:
+ROLE=\u0627\u0644\u062f\u0648\u0631:
+SAVE=\u062a\u062e\u0632\u064a\u0646
+CANCEL=\u0627\u0644\u063a\u0627\u0621
+OK=\u0645\u0648\u0627\u0641\u0642
+APPLY=\u0639\u0645\u0644 \u0627\u0644\u062a\u062d\u062f\u064a\u062b\u0627\u062a
+TIMEZONE=\u0646\u0637\u0627\u0642 \u0627\u0644\u0648\u0642\u062a:
+
+CONFIGURE=\u062a\u0647\u064a\u0626\u0629
+EDIT=\u062a\u062d\u0631\u064a\u0631
+HELP=\u0645\u0633\u0627\u0639\u062f\u0629
+VIEW=\u0639\u0631\u0636
+
+NORMAL=\u0639\u0627\u062f\u064a
+MINIMIZED=\u062a\u0635\u063a\u064a\u0631
+MAXIMIZED=\u062a\u0643\u0628\u064a\u0631
+RESIZING=\u062a\u062d\u062c\u064a\u0645
+
+BANNER_TITLE=\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0644\u0644\u0639\u0631\u0636:
+BANNER_FILE=\u0627\u0644\u0645\u0644\u0641 \u0644\u0644\u0639\u0631\u0636:
+BANNER_CONFIGURE=\u062a\u0645 \u062a\u062e\u0632\u064a\u0646 \u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0639\u0631\u0648\u0636
+BANNER_FAILURE=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u062e\u0632\u064a\u0646 \u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0639\u0631\u0648\u0636!
+BANNER_NOFILES_START=\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0644\u0641\u0627\u062a
+BANNER_NOFILES_END=\u062a\u0635\u0639\u064a\u062f \u0627\u0644\u0645\u0644\u0641
+BANNER_FILE_NOTFOUND=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0627\u0644\u0645\u0644\u0641
+BANNER_HELP=\u0645\u0633\u0627\u0639\u062f\u0629 \u0625\u0639\u0644\u0627\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+BANNER_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0645\u0639\u0631\u0648\u0636\u0629
+BANNER_NOFILE_SELECTED=\u0644\u0645 \u064a\u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631 \u0645\u0644\u0641
+
+FILE_DELETE=\u062d\u0630\u0641 \u0645\u0644\u0641
+FILE_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0645\u0644\u0641
+FILE_SAVE=\u062a\u062e\u0632\u064a\u0646 \u0645\u0644\u0641
+FILE_DOWNLOAD=\u062a\u0646\u0632\u064a\u0644 \u0645\u0644\u0641
+FILE_UPLOAD=\u062a\u0635\u0639\u064a\u062f \u0645\u0644\u0641
+FILE_NAME=\u0645\u0644\u0641:
+FILE_LIST=\u0639\u0631\u0636 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a\u0629:
+FILE_UPLOAD_FAIL=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0635\u0639\u062f!
+FILE_UPLOAD_TOOBIG=\u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0635\u0639\u062f \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u0639\u0644\u064a \u0644\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0633\u0645\u0648\u062d!
+FILE_SAVE_FAIL=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0644\u0641:
+FILE_DISPLAY=\u0639\u0631\u0636 \u0627\u0644\u0645\u0644\u0641:
+FILE_OPEN_FAIL=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0641\u062a\u062d \u0627\u0644\u0645\u0644\u0641:
+FILE_EMPTY_DIRECTORY=\u0645\u062c\u0644\u062f \u0641\u0627\u0631\u063a
+
+GROUP_ADMIN_SELECT_USER=\u0625\u062e\u062a\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0630\u064a \u062a\u0631\u064a\u062f \u0625\u0636\u0627\u0641\u062a\u0647 \u0648\u0623\u0639\u0637\u0647 \u062f\u0648\u0631
+GROUP_PORTLET_GROUP=\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c:
+GROUP_ADD_USER=\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0627\u0636\u0627\u0641\u0629:
+GROUP_ROLEIN_GROUP=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u062f\u0648\u0631:
+GROUP_ADD_USERS=\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+GROUP_CANCEL_ADD=\u0627\u0644\u063a\u0627\u0621 \u0627\u0644\u0625\u0636\u0627\u0641\u0629
+GROUP_GO_BACK=\u0627\u0644\u0639\u0648\u062f\u0629 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+GROUP_LIST_GROUPS=\u0639\u0631\u0636 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a
+GROUP_USERS_ADDED=\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0627\u0644\u062a\u0627\u0644\u064a\u064a\u0646 \u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u0644
+GROUP_REMOVE_USERS=\u062d\u0630\u0641 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+GROUP_CANCEL_REMOVE=\u0627\u0644\u063a\u0627\u0621 \u0627\u0644\u062d\u0630\u0641
+GROUP_REMOVE_MSG=\u0625\u062e\u062a\u0631 \u0627\u0644\u0645\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0627\u0644\u0645\u0631\u0627\u062f \u062d\u0630\u0641\u0647\u0645 \u0645\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_SELECTION=\u0627\u0644\u0625\u062e\u062a\u064a\u0627\u0631
+GROUP_ROLE_CHANGE=\u062a\u0639\u062f\u064a\u0644 \u062f\u0648\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+GROUP_REMOVE_USER=\u062d\u0630\u0641 \u0645\u0633\u062a\u062e\u062f\u0645 \u0645\u0646 \u0645\u062c\u0645\u0648\u0639\u0629
+GROUP_NAME=\u0625\u0633\u0645 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_LABEL=\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_ACCESS=\u0627\u0644\u0648\u0635\u0648\u0644 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_DESCRIPTION=\u0648\u0635\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_ACTION=\u0627\u0644\u0641\u0639\u0644:
+GROUP_DELETE=\u062d\u0630\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a
+GROUP_PRIVATE=\u062e\u0627\u0635
+GROUP_PUBLIC=\u0639\u0627\u0645
+GROUP_NOUSERS=\u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0644\u0625\u0636\u0627\u0641\u0629 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+GROUP_NOTIFY=\u0647\u0630\u0647 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u062e\u0627\u0635\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0645\u0631\u0627\u0633\u0644\u062a\u064a \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627
+GROUP_ADMIN=\u0627\u0644\u0645\u062f\u064a\u0631
+GROUP_MANAGE_USERS=\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+
+PORTLET_WEBAPP=\u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+PORTLET_DESC=\u0627\u0644\u0648\u0635\u0641
+PORTLET_RUNNING=\u064a\u0639\u0645\u0644
+PORTLET_SESSIONS=\u0627\u0644\u0646\u0648\u0628\u0627\u062a
+PORTLET_ACTIONS=\u0627\u0644\u0623\u0641\u0639\u0627\u0644
+PORTLET_GS_MSG=\u0628\u0631\u0627\u0645\u062c \u0627\u0644 Gridsphere \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u063a\u064a\u0631 \u0645\u0645\u0643\u0646 \u062a\u0631\u0643\u064a\u0628\u0647\u0627 \u0623\u0648 \u062d\u0630\u0641\u0647\u0627
+PORTLET_START=\u0625\u0628\u062f\u0623
+PORTLET_STOP=\u062a\u0648\u0642\u0641
+PORTLET_RELOAD=\u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644
+PORTLET_REMOVE=\u062d\u0630\u0641
+PORTLET_DEPLOY_MSG=\u062a\u0631\u0643\u064a\u0628 \u0628\u0631\u0646\u0627\u0645\u062c \u062c\u062f\u064a\u062f
+PORTLET_WEBAPP_MSG=\u0625\u062f\u062e\u0644 \u0623\u0633\u0645 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u062c\u062f\u064a\u062f:
+PORTLET_DEPLOY=\u062a\u0631\u0643\u064a\u0628
+PORTLET_UPLOAD=\u062a\u0635\u0639\u064a\u062f \u0645\u0644\u0641 WAR
+PORTLET_FILE=\u0645\u0644\u0641:
+PORTLET_ERR_DEPLOY=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u0631\u0643\u064a\u0628 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+PORTLET_ERR_REGISTRY=\u062e\u062f\u0645\u0629 PortletRegistry \u063a\u064a\u0631 \u0645\u062a\u0648\u0641\u0631\u0629
+PORTLET_ERR_UPLOAD=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0635\u0639\u062f!
+PORTLET_ERR_TOMCAT=\u062e\u0637\u0623 \u0641\u064a Tomcat
+PORTLET_ERR_IO=\u062e\u0637\u0623 \u0641\u064a I/O 
+PORTLET_ERR_LIST=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u0631\u0627\u0645\u062c. \u062a\u0623\u0643\u062f \u0645\u0646 \u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u0644\u0641 tomcat-users.xml
+
+USER_CONFIRM_DELETE=\u062a\u0623\u0643\u064a\u062f \u0627\u0644\u062d\u0630\u0641
+USER_CANCEL_DELETE=\u0627\u0644\u063a\u0627\u0621 \u0627\u0644\u062d\u0630\u0641
+USER_DELETE_MSG=\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u062a\u0627\u0644\u064a \u0645\u062d\u0630\u0648\u0641:
+USER_SAVE=\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_CANCEL_EDIT=\u0627\u0644\u063a\u0627\u0621 \u0627\u0644\u062a\u062d\u0631\u064a\u0631
+USER_ROLE=\u0627\u0644\u062f\u0648\u0631 \u0641\u064a Gridsphere
+USER_NEW_USER=\u0645\u0633\u062a\u062e\u062f\u0645 \u062c\u062f\u064a\u062f
+USER_LIST_USERS=\u0639\u0631\u0636 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+USER_EDIT_USER=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_DELETE_USER=\u062d\u0630\u0641 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_NAME_BLANK=\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0631\u0643 \u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0641\u0627\u0631\u063a\u0627
+USER_EXISTS=\u0625\u0633\u0645 \u0645\u0633\u062a\u062e\u062f\u0645 \u0645\u0643\u0631\u0631\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u062e\u0631
+USER_NEED_EMAIL=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0632\u0648\u064a\u062f \u0628\u0631\u064a\u062f \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0635\u062d\u064a\u062d
+USER_FULLNAME_BLANK=\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0631\u0643 \u0627\u0644\u0623\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644 \u0641\u0627\u0631\u063a\u0627
+USER_FAMILYNAME_BLANK=\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0631\u0643 \u0623\u0633\u0645 \u0627\u0644\u0639\u0627\u0626\u0644\u0629 \u0641\u0627\u0631\u063a\u0627
+USER_GIVENNAME_BLANK=\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0631\u0643 \u0627\u0644\u0623\u0633\u0645 \u0627\u0644\u062b\u0627\u0646\u064a \u0641\u0627\u0631\u063a
+USER_PASSWORD_BLANK=\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0631\u0643 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0641\u0627\u0631\u063a\u0629
+USER_PASSWORD_MISMATCH=\u064a\u062c\u0628 \u0623\u0646 \u062a\u062a\u0637\u0627\u0628\u0642 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0645\u0639 \u0627\u0644\u062a\u0623\u0643\u064a\u062f
+USER_PASSWORD_TOOSHORT=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u064a\u062c\u0628 \u0623\u0646 \u062a\u062a\u0643\u0648\u0646 \u0645\u0646 5 \u0623\u062d\u0631\u0641 \u0641\u0623\u0643\u0628\u0631
+USER_NEW_ACCOUNT=\u062a\u0645 \u0639\u0645\u0644 \u062d\u0633\u0627\u0628 \u062c\u062f\u064a\u062f
+# usage please login as John Smith
+USER_PLEASE_LOGIN=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062f\u062e\u0648\u0644 \u0628\u0645\u062b\u0627\u0628\u0629
+
+COMMANDER_HELP=\u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0629 \u063a\u064a\u0631 \u0645\u0646\u0641\u0630\u0647
+COMMANDER_ERROR_INIT=\u062e\u062f\u0645\u0629 \u0623\u0645\u0646 \u0627\u0644\u0645\u062c\u0644\u062f\u0627\u062a \u063a\u064a\u0631 \u0645\u062a\u0648\u0641\u0631\u0647
+COMMANDER_ERROR_UPLOAD_TO_BIG=\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0645\u0635\u0639\u062f \u0643\u0628\u064a\u0631
+COMMANDER_ERROR_LOAD=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u0644\u0641
+COMMANDER_ERROR_DIR_READ=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u062c\u0644\u062f
+COMMANDER_ERROR_DIR_BACK=\u0625\u0630\u0647\u0628 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0644\u062f \u0627\u0644\u0631\u0626\u064a\u0633\u064a
+COMMANDER_RESOURCE=\u0645\u0635\u062f\u0631
+COMMANDER_SIZE=\u062d\u062c\u0645
+COMMANDER_LAST_MODIFIED=\u0623\u062e\u0631 \u062a\u063a\u064a\u064a\u0631
+COMMANDER_FILE_NAME=\u0645\u0644\u0641:
+COMMANDER_FILE_UPLOAD=\u062a\u0635\u0639\u064a\u062f \u0645\u0644\u0641
+COMMANDER_DIR_FILE_NAME=\u0625\u0633\u0645 (\u0645\u0644\u0641/\u0645\u062c\u0644\u062f)
+COMMANDER_MKDIR=\u0645\u062c\u0644\u062f \u062c\u062f\u064a\u062f
+COMMANDER_TOUCH=\u0645\u0644\u0641 \u062c\u062f\u064a\u062f
+COMMANDER_COPY=\u0646\u0633\u062e
+COMMANDER_MOVE=\u0646\u0642\u0644
+COMMANDER_DELETE=\u062d\u0630\u0641
+COMMANDER_CANCEL=\u0627\u0644\u063a\u0627\u0621
+COMMANDER_SAVE=\u062a\u062e\u0632\u064a\u0646
+COMMANDER_EDIT=\u062a\u062d\u0631\u064a\u0631
+
+# new stuff
+ORIG_PASSWORD=\u0623\u062f\u062e\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u0623\u0635\u0644\u064a\u0629
+USER_PASSWORD_INVALID=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d\u0629
+USER_PASSWORD_NOTSET=\u0644\u0645 \u064a\u062a\u0645 \u0648\u0636\u0639 \u0643\u0644\u0645\u0629 \u0633\u0631
+USER_PASSWORD_SUCCESS=\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631
+USER_GROUPS_SUCCESS=\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0639\u0636\u0648\u064a\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+USER_UPDATE_SUCCESS=\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+
+LOGIN_FORGOT_PASSWORD=\u0646\u0633\u064a\u062a \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631\u061f
+LOGIN_FORGOT_TEXT=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0632\u0648\u064a\u062f\u0646\u0627 \u0628\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u062d\u062a\u0649 \u064a\u062a\u0633\u0646\u0649 \u0644\u0646\u0627 \u062a\u0632\u0648\u064a\u062f\u0643 \u0628\u0627\u0644\u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0627\u0632\u0645\u0629 \u0644\u0639\u0645\u0644 \u0643\u0644\u0645\u0629 \u0633\u0631 \u062c\u062f\u064a\u062f\u0629
+LOGIN_REQUEST_EMAIL=\u0623\u062f\u062e\u0644 \u0639\u0646\u0648\u0627\u0646 \u0628\u0631\u064a\u062f\u0643 \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a:
+LOGIN_NO_EMAIL=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0632\u0648\u064a\u062f\u0646\u0627 \u0628\u0628\u0631\u064a\u062f \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0635\u062d\u064a\u062d
+LOGIN_NOEXIST=\u0644\u0627 \u064a\u0648\u062c\u062f \u062d\u0633\u0627\u0628 \u064a\u0633\u062a\u062e\u062f\u0645 \u0647\u0630\u0627 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a
+LOGIN_FORGOT_MAIL=\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062a\u0628\u0627\u0639 \u0627\u0644\u0631\u0627\u0628\u0637 \u0628\u0627\u0644\u0623\u0633\u0641\u0644 \u062d\u062a\u064a \u064a\u062a\u0645 \u0639\u0645\u0644 \u0643\u0644\u0645\u0629 \u0633\u0631 \u062c\u062f\u064a\u062f\u0629 \u0644\u062d\u0633\u0627\u0628\u0643:
+
+MAIL_CONFIG_MSG=\u062a\u0647\u064a\u0626\u0629 \u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u062a\u0631\u0627\u0633\u0644 \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a
+MAIL_SERVER_MSG=\u0623\u062f\u062e\u0644 \u062e\u0627\u062f\u0645 SMTP (\u0623\u062a\u0631\u0643\u0647 \u0641\u0627\u0631\u063a\u0627 \u0625\u0630\u063a \u0643\u0627\u0646 \u0627\u0644\u062e\u0627\u062f\u0645 \u0639\u0644\u0649 \u0646\u0641\u0633 \u0627\u0644\u062c\u0647\u0627\u0632)
+MAIL_FROM_MSG=\u0623\u062f\u062e\u0644 \u0628\u0631\u064a\u062f \u0627\u0644\u0623\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u062d\u064a\u062b \u064a\u0633\u062a\u0642\u0628\u0644 \u0645\u0646\u0647 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0648\u0646 \u0631\u0633\u0627\u0626\u0644
+MAIL_SUBJECT_MSG=\u0623\u062f\u062e\u0644 \u0645\u0648\u0636\u0648\u0639 \u0644\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0635\u0627\u062f\u0631\u0629:
+MAIL_SUBJECT_HEADER=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0644\u0644 GridSphere
+
+LAYOUT_THEME=\u062a\u0647\u064a\u0626\u0629 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646
+LAYOUT_SELECT_THEME=\u0625\u062e\u062a\u0631 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646
+LAYOUT_TAB_NAME=\u0623\u062f\u062e\u0644 \u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629:
+LAYOUT_ONE_COL=\u0639\u0645\u0648\u062f \u0648\u0627\u062d\u062f
+LAYOUT_TWO_COL=\u0639\u0645\u0648\u062f\u064a\u0646
+LAYOUT_THREE_COL=\u062b\u0644\u0627\u062b\u0629 \u0623\u0639\u0645\u062f\u0629
+CREATE=\u0639\u0645\u0644
+LAYOUT_DISP_TABS=\u0639\u0631\u0636 \u0627\u0644\u0635\u0641\u062d\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629
+LAYOUT_SHOW_TAB=\u0625\u0633\u0645 \u0627\u0644\u0635\u0641\u062d\u0629
+LAYOUT_EDIT_TAB=\u062a\u062d\u0631\u064a\u0631 \u0625\u0633\u0645 \u0627\u0644\u0635\u0641\u062d\u0629
+LAYOUT_DELETE_TAB=\u062d\u0630\u0641 \u0635\u0641\u062d\u0629
+
+DELETE=\u062d\u0630\u0641
+
+
+LAYOUTMGR_EDIT_BANNER=\u062a\u062d\u0631\u064a\u0631 \u0644\u0648\u062d\u0629 \u0627\u0644\u0625\u0639\u0644\u0627\u0646
+LAYOUTMGR_EDIT_MSG=\u064a\u0645\u0643\u0646 \u062a\u062d\u0631\u064a\u0631 \u0644\u0648\u062d\u0629 \u0627\u0644\u0625\u0639\u0644\u0627\u0646 \u0641\u064a \u0627\u0644\u0623\u0633\u0641\u0644
+LAYOUTMGR_EDIT_THEME=\u0625\u062e\u062a\u0631 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646 \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a\u0629
+LAYOUTMGR_THEME_MSG=\u0625\u062e\u062a\u0631 \u0645\u0646 \u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u0623\u0644\u0648\u0627\u0646 \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629:
+LAYOUTMGR_GUEST=\u0648\u0636\u0639 \u0627\u0644\u0632\u0627\u0626\u0631
+LAYOUTMGR_GROUPS=\u0648\u0636\u0639 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+LAYOUTMGR_EDIT_GUEST=\u062a\u062d\u0631\u064a\u0631 \u0648\u0636\u0639 \u0627\u0644\u0632\u0627\u0626\u0631
+LAYOUTMGR_GROUP_MSG=\u0623\u0648\u0636\u0627\u0639 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629 \u0643\u0627\u0644\u062a\u0627\u0644\u064a:
+LAYOUTMGR_GROUP_EDIT=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0648\u0636\u0639
+LAYOUTMGR_GROUP_DELETE=\u062d\u0630\u0641 \u0648\u0636\u0639
+LAYOUTMGR_IMPORT=\u0625\u0633\u062a\u064a\u0631\u0627\u062f \u0648\u0636\u0639 \u0628\u0631\u0646\u0627\u0645\u062c \u0645\u0648\u062c\u0648\u062f:
+
+
+
+GROUP_CREATE_NAME=\u0623\u062f\u062e\u0644 \u0623\u0633\u0645 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_DESC_MSG=\u0623\u062f\u062e\u0644 \u0648\u0635\u0641 \u0645\u062e\u062a\u0635\u0631 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_VISIBILITY_MSG=\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+GROUP_VISIBILITY_DESC=\u0625\u062e\u062a\u0631 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0639\u0627\u0645\u0629 \u0623\u0648 \u062e\u0627\u0635\u0629. \u064a\u0645\u0643\u0646 \u0625\u0636\u0627\u0641\u0629 \u0623\u064a \u0634\u062e\u0635 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0639\u0627\u0645\u0629\u060c \u0648\u0644\u0643\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u062a\u062d\u062a\u0627\u062c \u062a\u0635\u0631\u064a\u062d
+GROUP_SELECT_MSG=\u0625\u062e\u062a\u0631 \u0627\u0644\u0628\u0631\u0627\u0645\u062c \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629. \u064a\u0645\u0643\u0646 \u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0628\u0631\u0627\u0645\u062c \u0644\u0635\u0641\u062d\u0627\u062a\u0647\u0645. \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0623\u0646 \u0627\u0644\u0623\u062f\u0648\u0627\u0631 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0631\u0641\u0642 \u0645\u0639 \u0627\u0644\u0628\u0631\u0627\u0645\u062c 
+GROUP_EDIT_USERS=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+GROUP_CREATE_NEW=\u0639\u0645\u0644 \u0645\u062c\u0645\u0648\u0639\u0629 \u062c\u062f\u064a\u062f\u0629
+GROUP_EDIT_DEFS=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a\u0629
+GROUP_EDIT_DEFS_MSG=\u0639\u0646\u062f \u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u062c\u062f\u062f \u0633\u0648\u0641 \u064a\u062a\u0645 \u0625\u0636\u0627\u0641\u062a\u0647\u0645 \u062a\u0644\u0642\u0627\u0626\u064a\u0627 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u062a\u0627\u0644\u064a\u0629
+
+
+PROFILE_CONFIG_MESSAGING=\u062a\u0647\u064a\u0626\u0629 \u062e\u062f\u0645\u0629 \u0627\u0644\u062a\u0631\u0627\u0633\u0644
+PROFILE_CONFIG_GROUPS=\u062a\u0647\u064a\u0626\u0629 \u0639\u0636\u0648\u064a\u0629 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+PROFILE_UPDATE_PASS=\u062a\u0639\u062f\u064a\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631
+
+SUBSCRIPTION_SUBSCRIBE=\u0625\u0634\u062a\u0631\u0643
+SUBSCRIPTION_DESC=\u0648\u0635\u0641 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c
+SUBSCRIPTION_REQROLE=\u0627\u0644\u062f\u0648\u0631 \u0627\u0644\u0645\u0637\u0644\u0648\u0628
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062d\u0630\u0641 \u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u0635\u0641\u062d\u0629:
+LAYOUTMGR_VALID_LAYOUT=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062a\u0639\u062f\u064a\u0644 \u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u0635\u0641\u062d\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062e\u0631\u0648\u062c \u062b\u0645 \u0627\u0644\u062f\u062e\u0648\u0644 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649 \u062d\u062a\u0649 \u062a\u0631\u0649 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u0627\u062a
+LAYOUTMGR_INVALID_LAYOUT=\u0647\u0646\u0627\u0643 \u062e\u0637\u0623 \u0641\u064a \u062a\u062e\u0632\u064a\u0646 \u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u0635\u0641\u062d\u0629. \u062a\u0623\u0643\u062f \u0645\u0646 \u0635\u062d\u0629 \u0627\u0644\u0648\u0635\u0641
+
+GROUP_INVALID_NAME=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0632\u0648\u064a\u062f \u0625\u0633\u0645 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629!
+GROUP_INVALID_DESC=\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0632\u0648\u064a\u062f \u0648\u0635\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629!
+GROUP_INVALID_PORTLETS=\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0628\u0631\u0646\u0627\u0645\u062c \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644 \u0644\u0625\u0636\u0627\u0641\u062a\u0647 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629!
+GROUP_REMOVE_USERS_MSG=\u064a\u062c\u0628 \u062d\u0630\u0641 \u0643\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0641\u064a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0642\u0628\u0644 \u062d\u0630\u0641\u0647\u0627!
+GROUP_NOUSERS_SELECTED=\u0644\u0645 \u064a\u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0644\u062d\u0630\u0641!
+GROUP_REMOVE_GROUP_SUCCESS=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062d\u0630\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_REMOVE_USER_SUCCESS=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062d\u0630\u0641 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0645\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629!
+GROUP_ADD_USER_SUCCESS=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629:
+GROUP_SAVE_DEFGROUPS_SUCCESS=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a\u0629!
+GROUP_MODIFY_USERS=\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+
+GROUP_NEWGROUP_SUCCESS=\u062a\u0645 \u0628\u0646\u062c\u0627\u062d \u062a\u062e\u0632\u064a\u0646 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+GROUP_VISIBILITY_MOREDESC=\u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u062a\u0623\u0643\u062f \u0645\u0646 \u0625\u0636\u0627\u0641\u0629 \u0645\u062f\u064a\u0631 \u0644\u0644\u0645\u062c\u0645\u0648\u0639\u0629 (\u0645\u0639 \u0628\u0631\u064a\u062f \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u0635\u062d\u064a\u062d) \u0644\u0625\u0639\u0637\u0627\u0621 \u062a\u0635\u0631\u064a\u062d\u0627\u062a \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0639\u0636\u0648\u064a\u0629
+
+LOGIN_SUCCESS_MAIL=\u0642\u0631\u064a\u0628\u0627 \u0633\u064a\u0635\u0644\u0643 \u0631\u0633\u0627\u0644\u0629 \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0629 \u0645\u0639 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062a\u0639\u062f\u064a\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631
+LOGIN_FAILURE_MAIL=\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0623\u0631\u0633\u0627\u0644 \u062a\u0646\u064a\u0647 \u0627\u0644\u0625\u0633\u062a\u0644\u0627\u0645
+
+PROFILE_ROLE_DESC=\u0627\u0644\u0645\u0647\u0645\u0629  \u0641\u064a \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629
+
+PORTLET_SUC_TOMCAT=\u062a\u0645\u062a \u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u0628\u0646\u062c\u0627\u062d
+PORTLET_SUC_DEPLOY=\u062a\u0645 \u062a\u0646\u0635\u064a\u0628 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0628\u0646\u062c\u0627\u062d
+
+USER_CREATE_USER=\u0639\u0645\u0644 \u0633\u062c\u0644 \u0645\u0633\u062a\u062e\u062f\u0645 \u062c\u062f\u064a\u062f
+USER_SHOW_USERS=\u0639\u0631\u0636 \u0643\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646
+USER_VIEW_USER=\u0639\u0631\u0636 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_EDIT_USER_MSG=\u062a\u0639\u062f\u064a\u0644 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_PASS_BLANK_MSG=\u0641\u064a \u062d\u0627\u0644\u0629 \u062a\u0639\u062f\u064a\u0644 \u0633\u062c\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u060c \u0623\u062a\u0631\u0643 \u062d\u0642\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0641\u0627\u0631\u063a \u062d\u062a\u0649 \u064a\u062a\u0645 \u0627\u0644\u0625\u062d\u062a\u0641\u0627\u0638 \u0628\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u0633\u0627\u0628\u0642\u0629
+USER_DELETE_SUCCESS=\u062a\u0645 \u062d\u0630\u0641 \u0633\u062c\u0644 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+USER_NEW_SUCCESS=\u062a\u0645 \u0639\u0645\u0644 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d
+USER_EDIT_SUCCESS=\u062a\u0645 \u062a\u062d\u064a\u062b \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d
+
+LAYOUT_SAMETAB_ERROR=\u0627\u0644\u0625\u0633\u0645 \u0645\u0633\u062a\u062e\u062f\u0645 \u0641\u064a \u0635\u0641\u062d\u0629 \u0623\u062e\u0631\u0649
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=\u0625\u062d\u0641\u0638 \u0647\u0648\u064a\u0629 \u0627\u0644\u062f\u062e\u0648\u0644
+
+LAYOUT_NOTAB_ERROR=\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0625\u0633\u0645 \u0644\u0644\u0635\u0641\u062d\u0629

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,290 @@
+# $Id: Portlet_cs.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=U\u017eivatelsk\u00e9 jm\u00e9no
+LOGIN_PASS=Heslo
+LOGIN_SUCCESS=V\u00edtejte
+LOGIN_FAILED=Va\u0161e u\u017eivatelsk\u00e9 jm\u00e9no nebo heslo nejsou spr\u00e1vn\u00e9. Pros\u00edm zadejte znovu.
+LOGIN_ACTION=P\u0159ihl\u00e1\u0161en\u00ed
+LOGIN_CONFIGURE=Konfigura\u010dn\u00ed p\u0159ihl\u00e1\u0161en\u00ed
+LOGIN_CONFIG_MSG=Nastaven\u00ed konfigura\u010dn\u00edho p\u0159ihl\u00e1\u0161en\u00ed
+LOGIN_CONFIG_ALLOW=Povolit u\u017eivatel\u016fm vytv\u00e1\u0159et nov\u00e9 \u00fa\u010dty na port\u00e1lu ?
+LOGIN_SIGNUP=Vytvo\u0159it nov\u00fd \u00fa\u010det
+
+NOTEPAD_EDIT=Upravit pozn\u00e1mky
+NOTEPAD_CREATE=Vytvo\u0159it pozn\u00e1mku
+NOTEPAD_DELETE=Smazat tuto pozn\u00e1mku
+NOTEPAD_SHOWLIST=Uk\u00e1zat v\u0161echny pozn\u00e1mky
+NOTEPAD_UPDATE=Aktualizovat tuto pozn\u00e1mku
+NOTEPAD_ADD=P\u0159idat tuto pozn\u00e1mku
+NOTEPAD_SEARCH=Hledat
+NOTEPAD_NOTEEXISTS=Pozn\u00e1mka ji\u017e existuje !
+NOTEPAD_DBERROR=Probl\u00e9m s datab\u00e1z\u00ed! Zavolejte, pros\u00edm, administr\u00e1tora !
+
+MESSAGING_USERNOTONSERVICE=U\u017eivatel se nep\u0159ihl\u00e1sil k odb\u011bru t\u00e9to slu\u017eby.
+MESSAGING_NOUSERSELECTED=Pros\u00edm vyberte u\u017eivatele pro zasl\u00e1n\u00ed zpr\u00e1vy.
+MESSAGING_SEND=Poslat
+MESSAGING_TO=
+MESSAGING_VIA=p\u0159es
+MESSAGING_SENDIT=Po\u0161li to!
+MESSAGING_CHOOSESERVICETOEDIT=Vyberte slu\u017ebu k \u00faprav\u011b
+MESSAGING_EDITSETTINGS=Upravit nastaven\u00ed
+MESSAGING_USERNAME=u\u017eivatelsk\u00e9 jm\u00e9no
+MESSAGING_SAVESETTINGS=Ulo\u017eit nastaven\u00ed
+MESSAGING_DELETESETTINGS=Smazat nastaven\u00ed
+MESSAGING_CANCEL=(v)Zru\u0161it
+
+PROFILE_MESSAGING_SERVICE=Slu\u017eba zas\u00edl\u00e1n\u00ed zpr\u00e1v
+PROFILE_MESSAGING_USERID=Pos\u00edlat zpr\u00e1vy u\u017eivateli
+PROFILE_SAVE_ERROR=Nepoda\u0159ilo se ulo\u017eit nastaven\u00ed jazyka !
+PROFILE_SAVE_SUCCESS=Nastaven\u00ed jazyka ulo\u017eeno.
+PROFILE_GROUPS=Skupiny:
+PROFILE_GROUP_DESC=Popis skupiny:
+PROFILE_LOCALE=Up\u0159ednost\u0148ovan\u00fd jazyk:
+PROFILE_SAVE=Ulo\u017eit zm\u011bny
+PROFILE_EDIT=Upravit nastaven\u00ed pro
+PROFILE_VIEW=Zobrazit nastaven\u00ed pro
+PROFILE_LASTLOGIN=\u010cas posledn\u00edho p\u0159ihl\u00e1\u0161en\u00ed:
+PROFILE_SETTINGS=Nastaven\u00ed profilu
+PROFILE_CONFIG_MSG=Vlo\u017ete podporovan\u00e9 jazyky zad\u00e1n\u00edm seznamu dvoup\u00edsmen\u00fdch ISO k\u00f3d\u016f jazyk\u016f odd\u011blen\u00fdch \u010d\u00e1rkami:
+PROFILE_LOCALES=Podporovan\u00e9 jazyky:
+
+SUBSCRIPTION_START=Vyberte portlety pro p\u0159id\u00e1n\u00ed nebo smaz\u00e1n\u00ed ze sv\u00e9ho seznamu.
+SUBSCRIPTION_MIDDLE=um\u00eds\u0165ovac\u00ed portlet
+SUBSCRIPTION_END= umo\u017e\u0148uje p\u0159id\u00e1vat a odeb\u00edrat portlety ze z\u00e1lo\u017eek.
+SUBSCRIPTION_APPLY=Prove\u010f zm\u011bny
+SUBSCRIPTION_SUBSCRIBE=P\u0159idat
+SUBSCRIPTION_DESC=Popis
+
+LAYOUT_DELROW=Smazat \u0159\u00e1dek
+LAYOUT_RESET=Resetovat rozlo\u017een\u00ed
+LAYOUT_RESET_WARNING=Bacha! Tohle zresetuje va\u0161e rozlo\u017een\u00ed podle role a \u010dlenstv\u00ed ve skupin\u011b.
+LAYOUT_ADDPORTLET=P\u0159idat nov\u00fd portlet
+LAYOUT_UNTITLED_TAB=Nepojmenovan\u00fd
+LAYOUT_THEME_SAVE=Ulo\u017ete barevn\u00e9 ch\u00e9ma
+LAYOUT_TAB_CONFIG=Nastaven\u00ed z\u00e1lo\u017eky
+LAYOUT_TAB_EDIT=Upravit dostupn\u00e9 titulky z\u00e1lo\u017eky:
+LAYOUT_APPLY=Prov\u00e9st zm\u011bny
+LAYOUT_TAB_DEL=Smazat z\u00e1lo\u017eku
+LAYOUT_WARNING=Pozor! Tohle odstran\u00ed v\u0161echny portlety z vybran\u00e9 z\u00e1lo\u017eky
+LAYOUT_NEW_TAB=Vytvo\u0159it novou z\u00e1lo\u017eku
+LAYOUT_TAB_EDIT2=Zadejte titulek z\u00e1lo\u017eky:
+LAYOUT_SUBTAB_CONFIG=Nastaveb\u00ed podz\u00e1lo\u017eky
+LAYOUT_TAB_SELECT=Vybrat z\u00e1lo\u017eku
+LAYOUT_SUBTAB_EDIT=Upravit dostupn\u00e9 titulky podz\u00e1lo\u017eky:
+LAYOUT_SUBTAB_DEL=Smazat podz\u00e1lo\u017eku
+LAYOUT_NEW_SUBTAB=Vytvo\u0159it podz\u00e1lo\u017eku
+LAYOUT_SUBTAB_EDIT2=Zadejte titulek podz\u00e1lo\u017eky:
+LAYOUT_PORTLET_CONF=Nastaven\u00ed portletu
+LAYOUT_SUBTAB_SEL=Vybrat podz\u00e1lo\u017eku
+LAYOUT_TABLE=Tabulkov\u00e9 rozlo\u017een\u00ed
+LAYOUT_ADD_ROW=P\u0159idat nov\u00fd \u0159\u00e1dek tabulky
+LAYOUT_SAVE=Ulo\u017eit zm\u011bny portletu
+LAYOUT_CONFIG_THEMES=Vlo\u017ete podporovan\u00e1 barevn\u00e1 sch\u00e9mata zad\u00e1n\u00edm \u010d\u00e1rkami odd\u011blen\u00e9ho seznamu adres\u00e1\u0159\u016f s CSS:
+LAYOUT_SUPPORTED_THEMES=Podporovan\u00e1 barevn\u00e1 sch\u00e9mata:
+
+USERNAME=U\u017eivatelsk\u00e9 jm\u00e9no:
+FAMILYNAME=P\u0159\u00edjmen\u00ed:
+GIVENNAME=Jm\u00e9no:
+FULLNAME=Pln\u00e9 jm\u00e9no:
+EMAILADDRESS=Emajl:
+ORGANIZATION=Organizace:
+PASSWORD=Heslo:
+CONFIRM_PASS=Potvr\u010fte heslo:
+ROLE=Role:
+SAVE=Ulo\u017eit
+CANCEL=Zru\u0161it
+OK=Ano
+APPLY=Prov\u00e9st zm\u011bny
+
+CONFIGURE=Konfigurace
+EDIT=Upravit
+HELP=Pomoc
+VIEW=Zobrazen\u00ed
+
+NORMAL=Norm\u00e1ln\u00ed velikost
+MINIMIZED=Minimalizovat
+MAXIMIZED=Maximalizovat
+RESIZING=Zm\u011bnit velikost
+
+BANNER_TITLE=Titulek k zobrazen\u00ed:
+BANNER_FILE=Soubor k zobrazen\u00ed:
+BANNER_CONFIGURE=Nastaven\u00ed bylo ulo\u017eeno
+BANNER_FAILURE=Nelze ulo\u017eit nastaven\u00ed!
+BANNER_NOFILES_START=\u017d\u00e1dn\u00e9 soubory nezad\u00e1ny. Pou\u017eijte
+BANNER_NOFILES_END=k vysl\u00e1n\u00ed soubor\u016f.
+BANNER_FILE_NOTFOUND=Soubor nebyl nalezen!
+BANNER_HELP=N\u00e1pov\u011bda portletu
+BANNER_EDIT=Upravit
+
+FILE_DELETE=Smazat soubor
+FILE_EDIT=Upravit soubor
+FILE_SAVE=Ulo\u017eit soubor
+FILE_DOWNLOAD=St\u00e1hnout soubor
+FILE_UPLOAD=Vyslat soubor
+FILE_NAME=Soubor:
+FILE_LIST=Vypsat sou\u010dasn\u00e9 soubory:
+FILE_UPLOAD_FAIL=Nelze ulo\u017eit vyslan\u00fd soubor!
+FILE_UPLOAD_TOOBIG=Vyslan\u00fd soubor je p\u0159\u00edli\u0161 velk\u00fd!
+FILE_SAVE_FAIL=Nelze ulo\u017eit soubor:
+FILE_DISPLAY=Zobrazovat soubor:
+FILE_OPEN_FAIL=Nelze otev\u0159\u00edt soubor:
+FILE_EMPTY_DIRECTORY=pr\u00e1zdn\u00fd adres\u00e1\u0159
+
+GROUP_ADMIN_SELECT_USER=Vyberte u\u017eivatele pro p\u0159id\u00e1n\u00ed a jejich role:
+GROUP_PORTLET_GROUP=Skupina portlet\u016f:
+GROUP_ADD_USER=P\u0159idat u\u017eivatele:
+GROUP_ROLEIN_GROUP=Role ve skupin\u011b:
+GROUP_ADD_USERS=P\u0159idat u\u017eivatele
+GROUP_CANCEL_ADD=Zru\u0161it p\u0159id\u00e1v\u00e1n\u00ed
+GROUP_GO_BACK=Zp\u011bt
+GROUP_LIST_GROUPS=Vypsat skupiny
+GROUP_USERS_ADDED=N\u00e1sleduj\u00edc\u00ed u\u017eivatel\u00e9 byli p\u0159id\u00e1ni do
+GROUP_REMOVE_USERS=Odstranit u\u017eivatele
+GROUP_CANCEL_REMOVE=Zru\u0161it odstran\u011bn\u00ed
+GROUP_REMOVE_MSG=Vyberte u\u017eivatele k odstran\u011bn\u00ed z
+GROUP_SELECTION=V\u00fdb\u011br
+GROUP_ROLE_CHANGE=Zm\u011bnit roli u\u017eivatele
+GROUP_REMOVE_USER=Odstranit u\u017eivatele ze skupiny
+GROUP_NAME=Jm\u00e9no skupiny:
+GROUP_LABEL=Ozna\u010den\u00ed skupiny:
+GROUP_ACCESS=P\u0159\u00edstup skupiny:
+GROUP_DESCRIPTION=Popis skupiny:
+GROUP_PRIVATE=soukrom\u00e1
+GROUP_PUBLIC=ve\u0159ejn\u00e1
+GROUP_NOUSERS=Nejsou dal\u0161\u00ed u\u017eivatel\u00e9 pro p\u0159id\u00e1n\u00ed do t\u00e9to skupiny
+GROUP_NOTIFY=Tato skupina je soukrom\u00e1. Pros\u00edm po\u0161lete emai
+GROUP_ADMIN=administr\u00e1torovi
+
+PORTLET_WEBAPP=Portletov\u00e1 pavu\u010dinov\u00e1 aplikace
+PORTLET_DESC=Popis
+PORTLET_RUNNING=B\u011b\u017e\u00ed
+PORTLET_SESSIONS=u\u017eivatelsk\u00e9 relace
+PORTLET_ACTIONS=Akce
+PORTLET_GS_MSG=portlety j\u00e1dra GridSphere nelze odstranit nebo p\u0159esunout
+PORTLET_START=Spustit
+PORTLET_STOP=Zastavit
+PORTLET_RELOAD=Znovu na\u010d\u00edst
+PORTLET_REMOVE=Odstranit
+PORTLET_DEPLOY_MSG=Um\u00edstit novou webaplikaci
+PORTLET_WEBAPP_MSG=Zadejte jm\u00e9no webaplikace:
+PORTLET_DEPLOY=Um\u00edstit
+PORTLET_UPLOAD=Zaslat WAR s portletem
+PORTLET_FILE=Soubor:
+PORTLET_ERR_DEPLOY=Nelze um\u00edstit webaplikaci!
+PORTLET_ERR_REGISTRY=Slu\u017eba PortletRegistry nen\u00ed dostupn\u00e1!
+PORTLET_ERR_UPLOAD=Nelze ulo\u017eit zaslan\u00fd soubor!
+PORTLET_ERR_TOMCAT=Stala se chyba Kocoura (Tomcatu ;-)!
+PORTLET_ERR_IO=Stala se chyba vstupu/v\u00fdstupu!
+PORTLET_ERR_LIST=Nelze z\u00edskat seznam portlet\u016f. Zkontrolujte, \u017ee tomcat-users.xml byl upraven podle popisu v u\u017eivatelsk\u00e9 p\u0159\u00edru\u010dce.
+
+USER_CONFIRM_DELETE=Potvrdit smaz\u00e1n\u00ed
+USER_CANCEL_DELETE=Zru\u0161it smaz\u00e1n\u00ed
+USER_DELETE_MSG=N\u00e1sleduj\u00edc\u00ed u\u017eivatel byl smaz\u00e1n:
+USER_SAVE=Ulo\u017eit u\u017eivatele
+USER_CANCEL_EDIT=Zru\u0161it zm\u011bny
+USER_ROLE=Role v GridSf\u00e9\u0159e
+USER_NEW_USER=Nov\u00fd u\u017eivatel
+USER_LIST_USERS=Seznam u\u017eivatel\u016f
+USER_EDIT_USER=Upravit u\u017eivatele
+USER_DELETE_USER=Smazat u\u017eivatele
+
+# new stuff
+ORIG_PASSWORD=Zadejte p\u016fvodn\u00ed heslo:
+USER_PASSWORD_INVALID=Zadan\u00e9 heslo je nespr\u00e1vn\u00e9!
+USER_PASSWORD_NOTSET=Heslo nen\u00ed nastaveno!
+USER_PASSWORD_BLANK=Heslo nem\u016f\u017ee b\u00fdt pr\u00e1zdn\u00e9!
+USER_PASSWORD_TOOSHORT=Heslo mus\u00ed b\u00fdt del\u0161\u00ed ne\u017e 5 znak\u016f!
+USER_PASSWORD_SUCCESS=Heslo \u00fasp\u011b\u0161n\u011b zm\u011bn\u011bno
+USER_GROUPS_SUCCESS=\u010clenstv\u00ed ve skupin\u011b \u00fasp\u011b\u0161n\u011b zm\u011bn\u011bno
+USER_UPDATE_SUCCESS=Informace o u\u017eivateli \u00fasp\u011b\u0161n\u011b zm\u011bn\u011bny
+
+LOGIN_FORGOT_PASSWORD=Zapom\u011bli jste heslo?
+LOGIN_FORGOT_TEXT=Pros\u00edm zadejte s\u016fj e-mail a budou v\u00e1m zasl\u00e1ny pokyny jak vytvo\u0159it nov\u00e9 heslo.
+LOGIN_REQUEST_EMAIL=Zadejte svoji e-mailovou adresu:
+LOGIN_NO_EMAIL=Pros9m zadejte platnou e-mailovou adresu!
+LOGIN_NOEXIST=Nenalezen \u00fa\u010det pro zadanou adresu!
+LOGIN_FORGOT_MAIL=Pro vytvo\u0159en\u00ed nov\u00e9ho hesla pro sv\u016fj \u00fa\u010det na port\u00e1lu klikn\u011bte, pros\u00edm, na n\u00e1sleduj\u00edc\u00ed odkaz:
+
+MAIL_CONFIG_MSG=Nastaven\u00ed elektronick\u00e9 po\u0161ty port\u00e1lu
+MAIL_SERVER_MSG=Zadjte odchoz\u00ed po\u0161tovn\u00ed SMTP server (ponechte pr\u00e1zdn\u00e9 pro localhost)
+MAIL_FROM_MSG=Zadejte e-mailovu adresu port\u00e1lu (u\u017eivatel\u00e9 mohou z t\u00e9to adresy obdr\u017eet e-maily)
+MAIL_SUBJECT_MSG=Zadejte hlavi\u010dku "v\u011bc" odchoz\u00edho e-mailu:
+MAIL_SUBJECT_HEADER=GridSphere Portal heslo
+
+LAYOUT_THEME=Nastaven\u00ed t\u00e9matu
+LAYOUT_SELECT_THEME=Zvolte t\u00e9ma:
+LAYOUT_TAB_NAME=Zadejte jm\u00e9no nov\u00e9 z\u00e1lo\u017eky:
+LAYOUT_ONE_COL=Jeden sloupec
+LAYOUT_TWO_COL=Dva sloupce
+LAYOUT_THREE_COL=T\u0159i sloupce
+CREATE=Vytvo\u0159it
+LAYOUT_DISP_TABS=Zobrazit existuj\u00edc\u00ed z\u00e1lo\u017eky
+LAYOUT_SHOW_TAB=Jm\u00e9no z\u00e1lo\u017eky
+LAYOUT_EDIT_TAB=Upravit jm\u00e9no z\u00e1lo\u017eky
+LAYOUT_DELETE_TAB=Odstranit z\u00e1lo\u017eku
+
+DELETE=Odstranit
+
+LAYOUTMGR_EDIT_BANNER=Zm\u011bnit korouhev (banner)
+LAYOUTMGR_EDIT_MSG=N\u00ed\u017ee m_u\u017eete m\u011bnit HTML port\u00e1lov\u00e9 korouhve
+LAYOUTMGR_EDIT_THEME=Vybrat v\u00fdchoz\u00ed t\u00e9ma
+LAYOUTMGR_THEME_MSG=Vyberte ze seznamu dostupn\u00fdch t\u00e9mat:
+LAYOUTMGR_GUEST=N\u00e1v\u0161t\u011bvnick\u00e9 rozlo\u017een\u00ed
+LAYOUTMGR_GROUPS=Skupinov\u00e9 rozlo\u017een\u00ed
+LAYOUTMGR_EDIT_GUEST=Upravit n\u00e1v\u0161t\u011bvnick\u00e9 rozlo\u017een\u00ed
+LAYOUTMGR_GROUP_MSG=Existuj\u00ed n\u00e1sleduj\u00edc\u00ed skupinov\u00e1 rozlo\u017een\u00ed:
+LAYOUTMGR_GROUP_EDIT=Upravit rozlo\u017een\u00ed
+LAYOUTMGR_GROUP_DELETE=Odstranit rozlo\u017een\u00ed
+LAYOUTMGR_IMPORT=Na\u010d\u00edst existuj\u00edc\u00ed rozlo\u017een\u00ed aplikace:
+
+GROUP_CREATE_NAME=Zadejte jm\u00e9no skupiny:
+GROUP_DESC_MSG=Zadejte stru\u010dn\u00fd popis skupiny:
+GROUP_VISIBILITY_MSG=Viditelnost skupiny
+GROUP_VISIBILITY_DESC=Zvolte zda m\u00e1 b\u00fdt skupina ve\u0159ejn\u00e1 \u010di soukrom\u00e1. Kdokoliv se m\u016f\u017ee p\u0159idat do ve\u0159ejn\u00e9 skupiny, naopak soukrom\u00e9 skupiny vy\u017eaduj\u00ed autorizaci
+GROUP_SELECT_MSG=Zvolte portlety dostupn\u00e9 t\u00e9to skupin\u011b. U\u017eivatel\u00e9 v t\u00e9to skupin\u011b budou moci p\u0159idat tyto portlety dosv\u00e9ho rozlo\u017een\u00ed. D\u00e1le mohou b\u00fdt s portlety spojeny po\u017eadovan\u00e9 role
+GROUP_EDIT_USERS=Zm\u011bnit u\u017eivatele
+GROUP_CREATE_NEW=Vytvo\u0159it novou skupinu
+GROUP_EDIT_DEFS=Zm\u011bnit v\u00fdchoz\u00ed skupiny
+GROUP_EDIT_DEFS_MSG=kdy\u017e jsou u\u017eivatel\u00e9 p\u0159id\u00e1ni do port\u00e1lu, mohou b\u00fdt automaticky p\u0159id\u00e1ni do n\u00e1sleduj\u00edc\u00edch skupin
+
+PROFILE_CONFIG_MESSAGING=Nastavit slu\u017ebu zpr\u00e1v
+PROFILE_CONFIG_GROUPS=Nastavit \u010dlenstv\u00ed skupin
+PROFILE_UPDATE_PASS=Zm\u011bnit heslo
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=\u00dasp\u011b\u0161n\u011b smaz\u00e1no rozlo\u017een\u00ed pro skupinu:
+LAYOUTMGR_VALID_LAYOUT=Rozlo\u017een\u00ed \u00fasp\u011b\u0161n\u011b zm\u011bn\u011bno. Pros\u00edm odhla\u0161te se a znovu p\u0159ihla\u0161te pro aktivaci zm\u011bn.
+LAYOUTMGR_INVALID_LAYOUT=Nastala chyba p\u0159i ukl\u00e1d\u00e1n\u00ed rozlo\u017een\u00ed. Zkontrolujte \u017ee popisova\u010d je spr\u00e1vn\u00fd !
+
+GROUP_INVALID_NAME=Zadejte, pros\u00edm, jm\u00e9no skupiny.
+GROUP_INVALID_DESC=Zadejte, pros\u00edm, popis skupiny.
+GROUP_INVALID_PORTLETS=Vyberte, pros\u00edm, alespo\u0148 jeden portlet pro p\u0159id\u00e1n\u00ed do skupiny.
+GROUP_REMOVE_USERS_MSG=P\u0159ed smaz\u00e1n\u00edm skupiny z n\u00ed mus\u00edte odstranit v\u0161echny u\u017eivatele.
+GROUP_NOUSERS_SELECTED=Nebyly vybr\u00e1ni \u017e\u00e1dn\u00ed u\u017eivatele\u00e9 pro odstran\u011bn\u00ed.
+GROUP_REMOVE_GROUP_SUCCESS=\u00dasp\u011b\u0161n\u011b smaz\u00e1na skupina:
+GROUP_REMOVE_USER_SUCCESS=\u00dasp\u011b\u0161n\u011b odstran\u011bn u\u017eivatel ze skupin.
+GROUP_ADD_USER_SUCCESS=\u00dasp\u011b\u0161n\u011b p\u0159id\u00e1n u\u017eivatel do skupiny:
+GROUP_SAVE_DEFGROUPS_SUCCESS=\u00dasp\u011b\u0161n\u011b ulo\u017eeny v\u00fdchoz\u00ed skupiny.
+GROUP_MODIFY_USERS=Zm\u011bnit u\u017eivatele
+
+GROUP_NEWGROUP_SUCCESS=\u00dasp\u011b\u0161n\u011b ulo\u017eeny informace o skupin\u011b
+GROUP_VISIBILITY_MOREDESC=Ujist\u011bte se, pros\u00edm, \u017ee platn\u00fd spr\u00e1vce (s platn\u00fdm e-mailem) je p\u0159id\u00e1n do skupiny kv\u016fli schvalov\u00e1n\u00ed \u017e\u00e1dost\u00ed o \u010dlenstv\u00ed.
+
+LOGIN_SUCCESS_MAIL=Brzy obdr\u017e\u00edte e-mail s informacemi o zm\u011bn\u011b hesla.
+LOGIN_FAILURE_MAIL=Nelze poslat upozorn\u011bn\u00ed e-mailem.
+
+PROFILE_ROLE_DESC=Role ve skupin\u011b
+
+PORTLET_SUC_TOMCAT=Operace \u00fasp\u011b\u0161n\u011b provedena
+PORTLET_SUC_DEPLOY=\u00dasp\u011b\u0161n\u011b um\u00edst\u011bna webaplikace:
+
+USER_CREATE_USER=Vytvo\u0159it nov\u00e9ho u\u017eivatele
+USER_SHOW_USERS=Zobrazit v\u0161echny u\u017eivatele
+USER_VIEW_USER=Zobrazit informace o u\u017eivateli
+USER_EDIT_USER_MSG=Zm\u011bnit informace o u\u017eivateli
+USER_PASS_BLANK_MSG=Ponechte pole pro heslo pr\u00e1zdn\u00e9, pokud chcete zachovat p\u016fvodn\u00ed heslo p\u0159i zm\u011bn\u00e1ch existuj\u00edc\u00edho u\u017eivatele
+USER_DELETE_SUCCESS=U\u017eivatel \u00fasp\u011b\u0161n\u011b smaz\u00e1n.
+USER_NEW_SUCCESS=U\u017eivatel \u00fasp\u011b\u0161n\u011b vytvo\u0159en.
+USER_EDIT_SUCCESS=U\u017eivatel \u00fasp\u011b\u0161n\u011b zm\u011bn\u011bn.
+
+LAYOUT_SAMETAB_ERROR=Z\u00e1lo\u017eka se setjn\u00fdm jm\u00e9nem ji\u017e existuje, pros\u00edm zvolte jin\u00e9 jm\u00e9no

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,312 @@
+# $Id: Portlet_de.properties 6086 2007-02-17 03:16:47Z novotny $
+
+
+LOGIN_NAME=Nutzername
+LOGIN_PASS=Passwort
+LOGIN_SUCCESS=Willkommen
+LOGIN_FAILED=Der Nutzername und/oder das Passwort war nicht korrekt. Bitte versuchen Sie es nocheinmal.
+LOGIN_ACTION=Anmelden
+LOGIN_CONFIGURE=Login konfigurieren
+LOGIN_CONFIG_MSG=Konfigurations Optionen f\u00fcr Login
+LOGIN_CONFIG_ALLOW=Sollen Nutzer eine neues Konto anlegenen k\u00f6nnen? 
+LOGIN_SIGNUP=Neues Konto erstellen
+
+MESSAGING_USERNOTONSERVICE=Der Nutzer hat kein Nutzernamen fuer diesen Service hinterlegt.
+MESSAGING_NOUSERSELECTED=Bitte einen Empf\u00e4nger ausw\u00e4hlen.
+MESSAGING_SEND=Senden
+MESSAGING_TO=an
+MESSAGING_VIA=\u00fcber
+MESSAGING_SENDIT=Senden!
+MESSAGING_CHOOSESERVICETOEDIT=Service zum Bearbeiten ausw\u00e4hlen
+MESSAGING_EDITSETTINGS=Einstellungen bearbeiten
+MESSAGING_USERNAME=Nachricht schicken an
+MESSAGING_SAVESETTINGS=Einstellungen speichern
+MESSAGING_DELETESETTINGS=Einstellungen l\u00f6schen
+MESSAGING_CANCEL=Abbrechen
+MESSAGING_SERVICE_SMS=Dienst um Benachrichtigungen via Short Messaging Service (SMS) zu verschicken
+MESSAGING_SERVICE_AIM=Dienst um Benachrichtigungen via AOL Instant Messenger (AIM/Apple iChat) zu verschicken
+MESSAGING_SERVICE_MAIL=Dienst um Benachrichtigungen via EMail zu verschicken
+MESSAGING_NO_SERVICE_CONFIGURED=Kein Service konfiguriert.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Speichern
+MESSAGING_SERVICE_RESTART=Selektierte Dienste neustarten
+MESSAGING_SERVICE_CONFIGTEXT=Die folgenden Textnachrichtendienste sind verf\u00fcgbar:
+
+PROFILE_MESSAGING_SERVICE=Benachrichtigungsdienst
+PROFILE_MESSAGING_USERID=Nachrichten schicken an
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Kein Benachrichtigungsservice konfiguriert.
+PROFILE_SAVE_ERROR=Locale Einstellungen konnten nicht gespeichert werden
+PROFILE_SAVE_SUCCESS=Locale Einstellungen gespeichert
+PROFILE_GROUPS=Gruppen:
+PROFILE_GROUP_DESC=Gruppen Beschreibung:
+PROFILE_LOCALE=Bevorzugte Locale:
+PROFILE_SAVE=\u00c4nderungen speichern
+PROFILE_EDIT=Einstellungen speichern f\u00fcr
+PROFILE_VIEW=Einstellungen ansehen f\u00fcr
+PROFILE_LASTLOGIN=Zeit des letzten Logins:
+PROFILE_SETTINGS=Profile Einstellungen
+PROFILE_CONFIG_MSG=Um unterst\u00fctzte Locales zu konfigurieren, bitte die zwei buchstabigen, kleingeschriebenden ISO Sprachcodes in einer komma separierten Listen eingeben:
+PROFILE_LOCALES=Unterst\u00fctzte Locales:
+PROFILE_PASSWORD=Passwort:
+PROFILE_PASSWORD2=Passwort wiederholen:
+
+LAYOUT_THEME_SAVE=Farbeschema speichern
+LAYOUT_TAB_CONFIG=Reiter konfigurieren
+LAYOUT_TAB_EDIT=Reitertitel \u00e4ndern:
+LAYOUT_APPLY=\u00c4nderungen speichern
+LAYOUT_TAB_DEL=Reiter l\u00f6schen
+LAYOUT_WARNING=Achtung! Alle Portlets vom ausgew\u00e4hlten Reiter werden gel\u00f6scht.
+LAYOUT_NEW_TAB=Reiter erstellen
+
+LAYOUT_SUBTAB_CONFIG=Unterriter konfigurieren
+LAYOUT_TAB_SELECT=Reiter ausw\u00e4hlen
+LAYOUT_SUBTAB_EDIT=Unterreitertitel \u00e4ndern
+LAYOUT_SUBTAB_DEL=Unterreiter l\u00f6schen
+LAYOUT_NEW_SUBTAB=Unterreiter erstellen
+LAYOUT_SUBTAB_EDIT2=Unterreitertitel:
+LAYOUT_PORTLET_CONF=Portlet Konfiguration
+LAYOUT_SUBTAB_SEL=Unterreiter ausw\u00e4hlen
+LAYOUT_TABLE=Portlet Tabellen Layout
+LAYOUT_ADD_ROW=Neue Tabellenzeile hinzuf\u00fcgen
+LAYOUT_SAVE=Portlet \u00c4nderungen speichern
+LAYOUT_CONFIG_THEMES=Konfiguration der unterst\u00fctzen Farbschemata als kommaseparierte Liste der CSS Verzeichnisnamen.
+LAYOUT_SUPPORTED_THEMES=Unterst\u00fctze Farbschemata:
+
+
+USERNAME=Nutzer Name:
+FAMILYNAME=Nachname:
+GIVENNAME=Vorname:
+FULLNAME=Voller Name:
+EMAILADDRESS=Email Addresse:
+ORGANIZATION=Organisation:
+PASSWORD=Passwort:
+CONFIRM_PASS=Passwort best\u00e4tigen:
+ROLE=Rolle:
+SAVE=Speichern
+CANCEL=Abbrechen
+OK=Ok
+APPLY=\u00c4nderungen \u00fcbernehmen
+
+CONFIGURE=Konfiguration
+EDIT=Einstellungen
+HELP=Hilfe
+VIEW=Zur\u00fcck
+
+NORMAL=Normal
+MINIMIZED=Minimieren
+MAXIMIZED=Maximieren
+RESIZING=Gr\u00f6\u00dfe anpassen
+
+BANNER_TITLE=Anzuzeigener Titel:
+BANNER_FILE=Anzuzeigene Datei:
+BANNER_CONFIGURE=Dateieinstellungen wurde gespeichert!
+BANNER_FAILURE=Dateieinstellungen wurden nicht gespeichert!
+BANNER_NOFILES_START=Keine Dateien gefunden. Bitte
+BANNER_NOFILES_END=benutzen um Dateien hochzuladen!
+BANNER_FILE_NOTFOUND=Datei konnte nicht gefunden werden
+BANNER_HELP=Banner Portlet Hilfe
+BANNER_EDIT=Anzeigeseite editieren
+
+
+FILE_DELETE=Datei l\u00f6schen
+FILE_EDIT=Datei bearbeiten
+FILE_SAVE=Datei speichern
+FILE_DOWNLOAD=Datei herrunterladen
+FILE_UPLOAD=Datei hochladen
+FILE_NAME=Datei:
+FILE_LIST=Verf\u00fcgbare Dateien:
+FILE_UPLOAD_FAIL=Hochgeladene Datei konnte nicht gespeichert werden!
+FILE_UPLOAD_TOOBIG=Hochgeladene Datei \u00fcberschreitet das erlaubte Limit!
+FILE_SAVE_FAIL=Datei konnte nicht gespeichert werden:
+FILE_DISPLAY=Anzuzeigene Datei:
+FILE_OPEN_FAIL=Datei konnte nicht ge\u00f6ffnet werden:
+
+GROUP_ADMIN_SELECT_USER=Bitte Nutzer und dessen Rolle ausw\u00e4hlen 
+GROUP_PORTLET_GROUP=Portlet Gruppe:
+GROUP_ADD_USER=Nutzer zum Hinzuf\u00fcgen:
+GROUP_ROLEIN_GROUP=Rolle in Gruppe:
+GROUP_ADD_USERS=Nutzer hinzuf\u00fcgen
+GROUP_CANCEL_ADD=Hinzuf\u00fcgen abbrechen
+GROUP_GO_BACK=Zur\u00fcck zur Gruppe
+GROUP_LIST_GROUPS=Gruppenliste
+GROUP_USERS_ADDED=Die Nutzer wurden der folgenden Gruppe hinzugef\u00fcgt
+GROUP_REMOVE_USERS=Nutzer entfernen
+GROUP_CANCEL_REMOVE=Entfernen abbrechen
+GROUP_REMOVE_MSG=Bitte Nutzer ausw\u00e4hlen die aus den folgenden Gruppen entfernt werden sollen
+GROUP_SELECTION=Auswahl
+GROUP_REMOVE_USERS_MSG=Diese Nutzer wurden aus folgenden Gruppen entfernt
+GROUP_ROLE_CHANGE=Nutzerrolle \u00e4ndern
+GROUP_REMOVE_USER=Nutzer aus Gruppe entfernen
+GROUP_NAME=Gruppen Name:
+GROUP_LABEL=Gruppen Label:
+GROUP_ACCESS=Gruppen Zugriff:
+GROUP_DESCRIPTION=Gruppen Beschreibung:
+GROUP_PRIVATE=Private
+GROUP_PUBLIC=\u00d6ffentlich
+GROUP_NOUSERS=Keine Nutzer die hinzugef\u00fcgt werden k\u00f6nnen
+GROUP_NOTIFY=Diese Gruppe is privat. Bitte eine EMail an den 
+GROUP_ADMIN=Administrator schicken
+
+PORTLET_WEBAPP=Portlet Application
+PORTLET_DESC=Beschreibung
+PORTLET_RUNNING=L\u00e4uft
+PORTLET_SESSIONS=Sessions
+PORTLET_ACTIONS=Actions
+PORTLET_GS_MSG=GridSphere core Portlets kann nicht neuinstalliert oder gel\u00f6scht werden
+PORTLET_START=Start
+PORTLET_STOP=Stop
+PORTLET_RELOAD=Neuladen
+PORTLET_REMOVE=Entfernen
+PORTLET_DEPLOY_MSG=Neue Portlet Webapp installieren
+PORTLET_WEBAPP_MSG=Webapp Namen eingeben:
+PORTLET_DEPLOY=Installieren
+PORTLET_UPLOAD=Portlet WAR Hochladen
+PORTLET_FILE=Datei:
+PORTLET_ERR_DEPLOY=Webapp konnte nicht installliert werden!
+PORTLET_ERR_REGISTRY=PortletRegistry Service ist nicht verf\u00fcgbar!
+PORTLET_ERR_UPLOAD=Hochgeladene Datei konnte nicht gespeichert werden!
+PORTLET_ERR_TOMCAT=Tomcat Fehler!
+PORTLET_ERR_IO=I/O Fehler!
+PORTLET_ERR_LIST=Die Liste der verf\u00fcgbaren Portlets konnte nicht gefunden werden. Bitte sicherstellen, dass die tomcat-users.xml gem\u00e4\u00df dem UsersGuide editiert wurde.
+
+USER_CONFIRM_DELETE=L\u00f6schen best\u00e4tigen
+USER_CANCEL_DELETE=L\u00f6schen abbrechen
+USER_DELETE_MSG=Der folgende Nutzer wurde gel\u00f6scht:
+USER_SAVE=Nutzer speichern
+USER_CANCEL_EDIT=Bearbeiten abbrechen
+USER_ROLE=Rolle in GridSphere:
+USER_NEW_USER=Neuer Nutzer
+USER_LIST_USERS=Nutzerliste
+USER_EDIT_USER=Nutzer bearbeiten
+USER_DELETE_USER=Nutzer l\u00f6schen
+USER_NAME_BLANK=Der Nutzername kann nicht leergelassen werden.
+USER_EXISTS=Ein Nutzer mit dem Namen existiert bereits, bitte einen anderen Namen w\u00e4hlen.
+USER_NEED_EMAIL=Bitte eine g\u00fcltige Emailadresse angeben
+USER_FULLNAME_BLANK=Bitte das Feld Voller Name ausf\u00fcllen 
+USER_FAMILYNAME_BLANK=Bitte das  Feld Nachname ausf\u00fcllen 
+USER_GIVENNAME_BLANK=Bitte das Feld Vorname ausf\u00fcllen
+USER_PASSWORD_BLANK=Bitte ein Passwort eingeben
+USER_PASSWORD_MISMATCH=Die Passw\u00f6rter m\u00fcssen \u00fcbereinstimmen
+USER_NEW_ACCOUNT=Neues Konto erstellt.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Bitte einloggen als
+
+# new stuff
+ORIG_PASSWORD=Bitte altes Passwort eingeben:
+USER_PASSWORD_INVALID=Angegebenes Passwort ist ung\u00fcltig!
+USER_PASSWORD_NOTSET=Passwort ist nicht gesetzt!
+USER_PASSWORD_TOOSHORT=Passwort muss l\u00e4nger als 5 Zeichen sein!
+USER_PASSWORD_SUCCESS=Passwort wurde erfolgreich aktualisiert
+USER_GROUPS_SUCCESS=Gruppenmitgliedschaft wurde erfolgreich aktualisiert
+USER_UPDATE_SUCCESS=Nutzerinformationen wurde erfolgreich aktualisiert
+
+LOGIN_FORGOT_PASSWORD=Passwort vergessen?
+LOGIN_FORGOT_TEXT=Um Informationen zur Passworterneuerung zu erhalten geben Sie bitte eine Email Addresse an. Diese Informationen werden dann zugeschickt. 
+LOGIN_REQUEST_EMAIL=Bitte Email Addresse angeben:
+LOGIN_NO_EMAIL=Bitte eine g\u00fcltige Emailaddresse angeben!
+LOGIN_NOEXIST=Es wurde kein Nutzerkonto f\u00fcr die angegebene Emailaddresse gefunden!
+LOGIN_FORGOT_MAIL=Bitte auf den Link klicken um ein neues Passwort f\u00fcr das Nutzerkonto im Portal zu setzen:
+
+MAIL_CONFIG_MSG=Mail Einstellungen konfigurieren
+MAIL_SERVER_MSG=Ausgehender SMTP Mailserver (leerlassen wenn es localhost ist)
+MAIL_FROM_MSG=EMail Addresse des Portals angeben (Nutzer erhalten Mail von dieser Addresse)
+MAIL_SUBJECT_MSG=Betreffzeile f\u00fcr ausgehene Mail angeben:
+MAIL_SUBJECT_HEADER=GridSphere Portal Passwort
+
+LAYOUT_THEME=Farbschema Konfiguration
+LAYOUT_SELECT_THEME=Farbschema ausw\u00e4hlen:
+LAYOUT_TAB_NAME=Neuen Reitertitel angeben:
+LAYOUT_ONE_COL=Eine Spalte
+LAYOUT_TWO_COL=Zwei Spalten
+LAYOUT_THREE_COL=Drei Spalten
+CREATE=Erstellen
+LAYOUT_DISP_TABS=Bestehende Reiter anzeigen
+LAYOUT_SHOW_TAB=Reiter Name
+LAYOUT_EDIT_TAB=Reiter Name \u00e4ndern
+LAYOUT_DELETE_TAB=Reiter l\u00f6schen
+
+DELETE=L\u00f6schen
+
+
+LAYOUTMGR_EDIT_MSG=Portal banner HTML \u00e4ndern
+LAYOUTMGR_EDIT_THEME=Standard Farbschema ausw\u00e4hlen
+LAYOUTMGR_THEME_MSG=Liste der verf\u00fcgbaren Farbschemata:
+LAYOUTMGR_GUEST=Gast Layout
+LAYOUTMGR_GROUPS=Gruppen Layouts
+LAYOUTMGR_EDIT_GUEST=Gast Layout \u00e4ndern
+LAYOUTMGR_GROUP_MSG=Die folgenden Gruppenlayouts sind vorhanden:
+LAYOUTMGR_GROUP_EDIT=Layout \u00e4ndern
+LAYOUTMGR_GROUP_DELETE=Layout l\u00f6schen
+LAYOUTMGR_IMPORT=Bestehendes Applikationslayout importieren:
+
+
+GROUP_CREATE_NAME=Gruppennamen angeben:
+GROUP_DESC_MSG=Kurzbeschreibung der Gruppe:
+GROUP_VISIBILITY_MSG=Gruppensichtbarkeit
+GROUP_VISIBILITY_DESC=Bitte ausw\u00e4hlen ob eine Gruppe privat oder \u00f6ffentlich sein soll. Jeder Nutzer kann sich zu einer \u00f6ffentlichen Gruppen selbst hinzuf\u00fcgen, private Gruppen erfordern eine Authorisation.
+GROUP_SELECT_MSG=Bitte die Portlets ausw\u00e4hlen die in dieser Gruppe verf\u00e4gbar sein sollen. Nutzer dieser Gruppe haben die M\u00f6glichkeit diese ihrem eigenem Layout hinzuf\u00e4gen. Zus\u00e4tzlich k\u00f6nnen Rollen mit den Portlets verbunden werden.
+GROUP_EDIT_USERS=Nutzer \u00e4ndern
+GROUP_CREATE_NEW=Neue Gruppen erstellen
+GROUP_EDIT_DEFS=Standard Gruppen \u00e4ndern
+GROUP_EDIT_DEFS_MSG=Neue Nutzer des Portals sollen automatisch folgenden Gruppen angeh\u00f6ren.
+
+PROFILE_CONFIG_MESSAGING=Nachrichtendienst konfigurieren
+PROFILE_CONFIG_GROUPS=Gruppenmitgliedschaft konfigurieren
+PROFILE_UPDATE_PASS=Passwort aktualisieren
+
+SUBSCRIPTION_SUBSCRIBE=Abonnieren
+SUBSCRIPTION_DESC=Portlet Beschreibung
+SUBSCRIPTION_REQROLE=Erforderte Rolle
+
+LOGIN_REMEMBER_ME=Login merken
+RSS_SELECT_FEED=RSS Feed ausw\u00e4hlen
+RSS_READ_FULL_STORY=Alles lesen
+RSS_ERR_COULDNOTCREATEFEED=Konnte Feed nicht erstellen
+RSS_ERR_RSSURLNOTVALID=RSS Url ist nicht g\u00e4ltig
+RSS_ERR_COULDNOTREADURL=Konnte Feed von folgender Url nicht lesen
+RSS_ADD_FEED=Feed Hinzuf\u00e4gen
+RSS_DELETE_FEED=Feed l\u00f6schen
+RSS_FEED_ADDED=Feed hinzugef\u00e4gt
+RSS_FEED_DELETED=Feed gelu00f6scht
+RSS_ENTERFEEDURL=Bitte die URL des Feeds eingeben
+RSS_ERR_NORSSFEED=Kein RSS Feed verf\u00e4gbar
+RSS_ERR_COULDNOTSAVE=Konnte RSS Feed nicht speichern
+RSS_REMOVEFEED=Feed l\u009aschen
+RSS_NEWFEED=Neuer Feed
+
+
+GROUP_ACTION=Aktion:
+GROUP_DELETE=Gruppe l\u009aschen
+CM_DOCUMENT=Dokument
+CM_DOCUMENT_TITLE=Titel
+CM_AVAILDOCUMENTS=Verf\u009fgbare Dokumente
+CM_SHOWDOCUMENT=Dokument laden
+CM_DELETEDOCUMENT=Dokument l\u009aschen
+CM_CREATEUPDATEDOCUMENT=Dokument speichern
+CM_CONTENT=Inhalt
+CM_ERR_COULDNOTLOADDOCUMENT=Konnte Dokument nicht laden
+CM_ERR_COULDNOTLOADDOCUMENTLIST=Konnte Liste der Dokumente nicht laden
+CM_ERR_COULDNOTSAVEDOCUMENT=Konnte Dokument nicht speichern
+CM_ERR_NONODEID=Bitte einen Dokuemnttitel angeben
+CM_ERR_SELECTNODE=Bitte Dokument ausw\u008ahlen
+CM_SUCCESS_NEWDOCUMENT=Dokument gespeichert.
+CM_SUCCESS_EDITDOCUMENT=Dokument aktualisiert
+CM_SUCCESS_DELETEDDOCUMENT=Dokument gel\u009ascht
+CM_CLEAREDITOR=Felder l\u009aschen
+CM_BACKUP=Backup
+CM_BACKUPCONTENT=Inhalte sichern
+CM_IMPORT=Import
+CM_IMPORTCONTENT=Inhalte importieren
+CM_BACKUPSUCCESS=Sicherung erfolgreich
+CM_BACKUPERROR=Sicherung fehlgschlagen. Bitte Administrator verst\u008andigen.
+CM_IMPORTSUCCESS=Import erfolgreich.
+CM_IMPORTERROR=Import fehlgeschlagen. Bitte Administrator benachrichtigen.
+CM_BACKUP_HELP=Backup wird alle Dokumente in eine einzelne Datei im Verzeichnis WEB-INF/CustomPortal/content/backupContent der GridSphere Webanwendung sichern.
+CM_IMPORT_HELP=Achtung! Ein vorher gemachte Sicherung aller Dokumente wird zur\u009fck\u009fbertragen. Alle doppelten Eintr\u008age werden druch die neuen Eintr\u008age ersetzt. Es weden immer ALLE Dokumente importiert. Bitte nur benutzen in dem Fall dass das Repositorz besch\u008adigt wurde.
+
+ABOUT_GRIDSPHERE_VERSION=GridSphere Version
+ABOUT_GRIDSPHERE_WRITTEN_BY=GridSphere wurde geschrieben von
+
+LOGIN_AUTH_BLANK=Nutzername oder Passwort ist leer
+LOGIN_AUTH_NOUSER=Benutzer existiert nicht
+LOGIN_AUTH_DISABLED=Konto wurde deaktiviert

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,643 @@
+# $Id: Portlet_en.properties 6246 2007-05-08 21:33:57Z wehrens $
+
+LOGIN_NAME=User Name
+LOGIN_PASS=Password
+LOGIN_SUCCESS=Welcome
+LOGIN_FAILED=Your username and/or password is incorrect. Please try again.
+LOGIN_ACTION=Login
+LOGIN_CONFIGURE=Configure Login
+LOGIN_CONFIG_MSG=Login configuration options
+LOGIN_CONFIG_ALLOW=Allow users to create new accounts on the portal?
+LOGIN_SIGNUP=Create new account
+
+NOTEPAD_EDIT=Edit Note
+NOTEPAD_CREATE=Create a Note
+NOTEPAD_DELETE=Delete this Note
+NOTEPAD_SHOWLIST=Show all Notes
+NOTEPAD_UPDATE=Update this Note
+NOTEPAD_ADD=Add this Note
+NOTEPAD_SEARCH=Search
+NOTEPAD_NOTEEXISTS=Note already exists!
+NOTEPAD_DBERROR=Database Problem! Please contact the Administrator!
+NOTEPAD_DELETE_SELECTED=Delete selected Notes
+
+MESSAGING_USERNOTONSERVICE=User has not subscribed to this service.
+MESSAGING_NOUSERSELECTED=Please select a user to send a message to.
+MESSAGING_SEND=Send
+MESSAGING_TO=to
+MESSAGING_VIA=using
+MESSAGING_SENDIT=Send it!
+MESSAGING_CHOOSESERVICETOEDIT=Choose service to edit
+MESSAGING_EDITSETTINGS=Edit settings
+MESSAGING_USERNAME=On this service send messages to
+MESSAGING_SAVESETTINGS=Save settings
+MESSAGING_DELETESETTINGS=Delete settings
+MESSAGING_CANCEL=Cancel
+MESSAGING_SERVICE_SMS=SMS
+MESSAGING_SERVICE_AIM=AOL IM
+MESSAGING_SERVICE_MAIL=EMail
+MESSAGING_NO_SERVICE_CONFIGURED=No Service configured.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Save and activate changed services
+MESSAGING_SERVICE_SAVEFAILURE=Could not save configuration!
+MESSAGING_SERVICE_RESTARTFAILURE=Could not restart the service
+MESSAGING_SERVICE_SERVICERESTARTED=Saved and activated 
+
+MESSAGING_SERVICE_CONFIGTEXT=The following messaging services are available:
+
+
+PROFILE_MESSAGING_SERVICE=Messaging Service
+PROFILE_MESSAGING_USERID=Send messages to
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=No Messaging service configured.
+PROFILE_SAVE_ERROR=Unable to save locale settings!
+PROFILE_SAVE_SUCCESS=Saved locale settings
+PROFILE_GROUPS=Groups:
+PROFILE_GROUP_DESC=Group Description:
+PROFILE_LOCALE=Preferred Locale:
+PROFILE_SAVE=Save Changes
+PROFILE_EDIT=Edit Settings for
+PROFILE_VIEW=View Settings for
+PROFILE_LASTLOGIN=Last Login Time:
+PROFILE_SETTINGS=Profile settings
+PROFILE_CONFIG_MSG=Configure supported locales by entering two letter lower-case ISO language codes in the comma separated list:
+PROFILE_LOCALES=Supported locales:
+PROFILE_PASSWORD=Password:
+PROFILE_PASSWORD2=Verify Password:
+
+LAYOUT_THEME_SAVE=Save theme
+LAYOUT_TAB_CONFIG=Tab configuration
+LAYOUT_TAB_EDIT=Edit available tab title(s):
+LAYOUT_APPLY=Apply changes
+LAYOUT_TAB_DEL=Delete tab
+LAYOUT_WARNING=Warning! this will remove all portlets from selected tab
+LAYOUT_NEW_TAB=Create new tab
+
+LAYOUT_SUBTAB_CONFIG=Subtab configuration
+LAYOUT_TAB_SELECT=Select a tab
+LAYOUT_SUBTAB_EDIT=Edit available subtab title(s):
+LAYOUT_SUBTAB_DEL=Delete subtab
+LAYOUT_NEW_SUBTAB=Create new subtab
+LAYOUT_SUBTAB_EDIT2=Enter subtab title:
+LAYOUT_PORTLET_CONF=Portlet configuration
+LAYOUT_SUBTAB_SEL=Select a subtab
+LAYOUT_TABLE=Portlet table layout
+LAYOUT_ADD_ROW=Add new table row
+LAYOUT_SAVE=Save portlet changes
+LAYOUT_CONFIG_THEMES=Configure supported themes by specifying the CSS directory name in the comma separated list:
+LAYOUT_SUPPORTED_THEMES=Supported themes:
+LAYOUT_SEL_SHOW_MODES=Show window mode icons
+LAYOUT_SEL_SHOW_STATES=Show window state icons
+
+
+USERNAME=User Name
+FAMILYNAME=Last Name
+GIVENNAME=First Name
+FULLNAME=Full Name
+EMAILADDRESS=Email Address
+ORGANIZATION=Organization
+LOCALE=Locale
+PASSWORD=Password
+CONFIRM_PASS=Confirm password
+ROLE=Role
+SAVE=Save
+CANCEL=Cancel
+OK=Ok
+APPLY=Apply Changes
+TIMEZONE=Timezone
+
+CONFIG=Configure
+EDIT=Edit
+HELP=Help
+VIEW=View
+
+NORMAL=Normal
+MINIMIZED=Minimize
+MAXIMIZED=Maximize
+RESIZING=Resize
+
+BANNER_TITLE=Title to display:
+BANNER_FILE=File to display:
+BANNER_CONFIGURE=Display file settings have been saved
+BANNER_FAILURE=Unable to save display file settings!
+BANNER_NOFILES_START=No files listed. Please
+BANNER_NOFILES_END=upload files
+BANNER_FILE_NOTFOUND=Unable to locate file!
+BANNER_HELP=Banner Portlet Help
+BANNER_EDIT=Edit Display Page
+BANNER_NOFILE_SELECTED=No file was selected!
+
+FILE_DELETE=Delete file
+FILE_EDIT=Edit file
+FILE_SAVE=Save file
+FILE_DOWNLOAD=Download file
+FILE_UPLOAD=Upload file
+FILE_NAME=File:
+FILE_LIST=List current files:
+FILE_UPLOAD_FAIL=Unable to store uploaded file!
+FILE_UPLOAD_TOOBIG=Uploaded file exceeds the maximum allowed limit!
+FILE_SAVE_FAIL=Unable to save file:
+FILE_DISPLAY=Displaying file:
+FILE_OPEN_FAIL=Unable to open file:
+FILE_EMPTY_DIRECTORY=empty directory
+
+GROUP_ADMIN_SELECT_USER=Select the user you would like to add
+GROUP_PORTLET_GROUP=Portlet Group:
+GROUP_ADD_USER=User To Add:
+GROUP_ROLEIN_GROUP=Edit Role:
+GROUP_ADD_USERS=Add Users
+GROUP_CANCEL_ADD=Cancel Add
+GROUP_GO_BACK=Back to Group
+GROUP_LIST_GROUPS=List Groups
+GROUP_USERS_ADDED=The following users were added to
+GROUP_REMOVE_USERS=Remove Users
+GROUP_CANCEL_REMOVE=Cancel Remove
+GROUP_REMOVE_MSG=Select the users you would like to delete from group:
+GROUP_SELECTION=Selection
+GROUP_ROLE_CHANGE=Change User Role
+GROUP_REMOVE_USER=Remove User From Group
+GROUP_NAME=Group Name:
+GROUP_LABEL=Group Label:
+GROUP_ACCESS=Group Access:
+GROUP_DESCRIPTION=Group Description:
+GROUP_ACTION=Action:
+GROUP_DELETE=Delete Groups:
+GROUP_PRIVATE=private
+GROUP_PUBLIC=public
+GROUP_NOUSERS=No more users to add to this group
+GROUP_NOTIFY=This group is private. Please email the
+GROUP_ADMIN=administrator
+GROUP_MANAGE_USERS=Manage Users:
+
+PORTLET_WEBAPP=Name
+PORTLET_DESC=Description
+PORTLET_RUNNING=Running
+PORTLET_SESSIONS=Sessions
+PORTLET_ACTIONS=Actions
+PORTLET_GS_MSG=GridSphere core portlets cannot be redeployed or removed
+PORTLET_START=start
+PORTLET_STOP=stop
+PORTLET_RELOAD=reload
+PORTLET_REMOVE=remove
+PORTLET_DEPLOY_MSG=Deploy new portlet webapp
+PORTLET_WEBAPP_MSG=Enter webapp name:
+PORTLET_DEPLOY=Deploy
+PORTLET_UPLOAD=Upload Portlet WAR
+PORTLET_FILE=File:
+PORTLET_ERR_DEPLOY=Unable to deploy webapp!
+PORTLET_ERR_REGISTRY=PortletRegistry service unavailable!
+PORTLET_ERR_UPLOAD=Unable to store uploaded file!
+PORTLET_ERR_TOMCAT=A Tomcat error occurred!
+PORTLET_ERR_IO=An I/O error occurred!
+PORTLET_ERR_MANAGER=Portlet Manager error occurred!
+PORTLET_ERR_LIST=Unable to retrieve list of portlets. Make sure tomcat-users.xml has been edited according to the UserGuide.
+
+USER_CONFIRM_DELETE=Confirm Delete
+USER_CANCEL_DELETE=Cancel Delete
+USER_DELETE_MSG=The following user was deleted:
+USER_SAVE=Save User
+USER_CANCEL_EDIT=Cancel Edit
+USER_ROLE=Role In GridSphere:
+USER_NEW_USER=New User
+USER_LIST_USERS=List Users
+USER_EDIT_USER=Edit User
+USER_DELETE_USER=Delete User(s)
+USER_NAME_BLANK=User name cannot be blank
+USER_EXISTS=A user already exists with the same user name, please use a different name.
+USER_NEED_EMAIL=Please provide a valid E-mail address!
+USER_FULLNAME_BLANK=Full name cannot be blank!
+USER_FAMILYNAME_BLANK=Last name cannot be blank!
+USER_GIVENNAME_BLANK=First name cannot be blank!
+USER_PASSWORD_BLANK=Password cannot be blank!
+USER_PASSWORD_MISMATCH=Password must match confirmation!
+USER_PASSWORD_TOOSHORT=Password must have at least 5 characters!
+USER_NEW_ACCOUNT=New account created.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Please login as
+
+COMMANDER_HELP=Help mode not implemented yet
+COMMANDER_ERROR_INIT=Secure directory service unavailable !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=Uploaded file is to big
+COMMANDER_ERROR_LOAD=Unable to load file
+COMMANDER_ERROR_DIR_READ=Unable to read directory
+COMMANDER_ERROR_DIR_BACK=go to root directory
+COMMANDER_RESOURCE=resource
+COMMANDER_SIZE=size
+COMMANDER_LAST_MODIFIED=last modified
+COMMANDER_FILE_NAME=File:
+COMMANDER_FILE_UPLOAD=Upload file
+COMMANDER_DIR_FILE_NAME=Name of (file/directory)
+COMMANDER_MKDIR=new directory
+COMMANDER_TOUCH=new file
+COMMANDER_COPY=Copy
+COMMANDER_MOVE=Move
+COMMANDER_DELETE=Delete
+COMMANDER_CANCEL=Cancel
+COMMANDER_SAVE=Save
+COMMANDER_EDIT=edit
+
+# new stuff
+ORIG_PASSWORD=Enter original password:
+USER_PASSWORD_INVALID=Supplied password is invalid!
+USER_PASSWORD_NOTSET=Password is not set!
+USER_PASSWORD_SUCCESS=Successfully updated password
+USER_GROUPS_SUCCESS=Successfully updated group membership
+USER_UPDATE_SUCCESS=Successfully updated user information
+
+LOGIN_FORGOT_PASSWORD=Forgot your password?
+LOGIN_FORGOT_TEXT=Please provide your e-mail address and you will receive instructions to create a new password.
+LOGIN_REQUEST_EMAIL=Enter your e-mail address:
+LOGIN_NO_EMAIL=Please provide a valid email address!
+LOGIN_NOEXIST=No account for a user matching the supplied email exists!
+LOGIN_FORGOT_MAIL=Please follow the link below to create a new password for your account on the portal:
+
+MAIL_CONFIG_MSG=Configure portal mail settings
+MAIL_SERVER_MSG=Enter outgoing SMTP mail host (leave blank if using localhost)
+MAIL_FROM_MSG=Enter e-mail address of the portal (users can receive email from this address)
+MAIL_SUBJECT_MSG=Enter subject line for outgoing email:
+MAIL_SUBJECT_HEADER=Portal password
+
+LAYOUT_THEME=Theme configuration
+LAYOUT_SELECT_THEME=Select a theme:
+LAYOUT_TAB_NAME=Enter new tab title:
+LAYOUT_ONE_COL=One column
+LAYOUT_TWO_COL=Two columns
+LAYOUT_THREE_COL=Three columns
+CREATE=Create
+LAYOUT_DISP_TABS=Display existing tabs
+LAYOUT_SHOW_TAB=Tab name
+LAYOUT_EDIT_TAB=Edit tab name
+LAYOUT_DELETE_TAB=Delete tab
+
+DELETE=Delete
+
+
+LAYOUTMGR_EDIT_BANNER=Edit Banner
+LAYOUTMGR_EDIT_MSG=Below you can edit the portal banner HTML
+LAYOUTMGR_EDIT_THEME=Choose Default Theme
+LAYOUTMGR_THEME_MSG=Select from the list of available themes:
+LAYOUTMGR_GUEST=Guest Layout
+LAYOUTMGR_GROUPS=Group Layouts
+LAYOUTMGR_EDIT_GUEST=Edit guest layout
+LAYOUTMGR_GROUP_MSG=The following group layouts exist:
+LAYOUTMGR_GROUP_EDIT=Edit layout
+LAYOUTMGR_GROUP_DELETE=Delete layout
+LAYOUTMGR_IMPORT=Import existing application layout:
+
+GROUP_CREATE_NAME=Enter group name:
+GROUP_DESC_MSG=Enter a brief description of group:
+GROUP_VISIBILITY_MSG=Group visibility
+GROUP_VISIBILITY_DESC=Select if group should be public or private. Anyone can add themselves to a public group, while private groups require administrator approval. A hidden group is not displayed to users. Only a portal administrator may add a user to a hidden group.
+GROUP_SELECT_MSG=Select portlets that will be made available to the group. Users in this group will have the chance to add these portlets to their layout. In addition, required role levels may be associated with the portlets
+GROUP_EDIT_USERS=Edit Users
+GROUP_CREATE_NEW=Create new group
+GROUP_EDIT_DEFS=Edit default groups
+GROUP_EDIT_DEFS_MSG=Existing and future users will be added automatically to the following selection of groups
+
+PROFILE_CONFIG_MESSAGING=Configure messaging service
+PROFILE_CONFIG_GROUPS=Configure group membership
+PROFILE_UPDATE_PASS=Update password
+
+SUBSCRIPTION_SUBSCRIBE=Subscribe
+SUBSCRIPTION_DESC=Portlet description
+SUBSCRIPTION_REQROLE=Required role
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Successfully deleted layout for group:
+LAYOUTMGR_VALID_LAYOUT=Successfully updated layout. Please logout and log back in to see changes
+LAYOUTMGR_INVALID_LAYOUT=Error occurred saving layout. Check that descriptor is valid!
+
+GROUP_INVALID_NAME=Please provide a group name!
+GROUP_INVALID_DESC=Please provide a group description!
+GROUP_INVALID_PORTLETS=Please select at least one portlet to add to the group!
+GROUP_REMOVE_USERS_MSG=You must remove all users in the group before deleting it!
+GROUP_NOUSERS_SELECTED=No users were selected for removal!
+GROUP_REMOVE_GROUP_SUCCESS=Successfully deleted group:
+GROUP_REMOVE_USER_SUCCESS=Successfully removed user from groups!
+GROUP_ADD_USER_SUCCESS=Successfully added user to group:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Successfully saved default groups!
+GROUP_MODIFY_USERS=Edit users
+
+GROUP_NEWGROUP_SUCCESS=Successfully saved group information
+GROUP_VISIBILITY_MOREDESC=Please make sure a valid group administrator (with valid e-mail) is added to the group to approve membership requests.
+
+LOGIN_SUCCESS_MAIL=You will soon receive an e-mail with password update information
+LOGIN_FAILURE_MAIL=Unable to send e-mail notification!
+
+PROFILE_ROLE_DESC=Role in Group
+
+PORTLET_SUC_TOMCAT=Successfully performed operation
+PORTLET_SUC_DEPLOY=Successfully deployed webapp:
+
+USER_CREATE_USER=Create a New User
+USER_SHOW_USERS=Display Users
+USER_VIEW_USER=Display User Information
+USER_EDIT_USER_MSG=Edit User Information
+USER_PASS_BLANK_MSG=Leave password field blank to keep existing password if editing an existing user
+USER_DELETE_SUCCESS=Successfully deleted user(s)!
+USER_NEW_SUCCESS=User was successfully created!
+USER_EDIT_SUCCESS=User was successfully updated!
+
+LAYOUT_SAMETAB_ERROR=A tab with that name exists already! Please choose another
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Remember my login
+LAYOUT_NOTAB_ERROR=Please enter a tab name!
+GROUP_INFO=Group information
+GROUP_LAYOUT_HEADER=Group Layout
+GROUP_SELECT_PORTLETS=Select portlets
+GROUP_CREATE_TEMPLATE=Create Template Layout
+GROUP_CUSTOMIZE_LAYOUT=Customize Layout
+GROUP_LAYOUT_MSG=A template layout for this group will be created. Afterwards you can customize the layout using the Layout Manager Portlet.
+GROUP_TEMPLATE_MSG=The template layout creates a tab and places each portlet defined by the group within a subtab.
+GROUP_LAYOUT_CUSTOM=Customize layout using the Layout Manager Portlet and providing a layout descriptor
+GROUP_MANAGE_MSG=Manage users in group:
+LOGIN_AUTHMODULES_MSG=Configure authentication modules
+LOGIN_AUTHMODULES_ONEREQ=One active authentication module is required !
+LOGIN_MODULE_NAME=Name
+LOGIN_MODULE_DESC=Description
+LOGIN_MODULE_ISACTIVE=Is active?
+LOGIN_MODULE_PRIORITY=Priority
+
+LAYOUTMGR_EDIT_FOOTER=Edit Footer
+LAYOUTMGR_EDIT_FOOTER_MSG=Below you can edit the portal footer HTML
+
+LOGIN_ACTIVATE_MAIL=Please follow the link below to activate your account on the portal:
+MAIL_ACCT_HEADER=Portal account
+LOGIN_ACCT_MAIL=You will soon receive an e-mail with account activation information
+LOGIN_CREATE_ACCT=Please fill out your user information and an e-mail will be sent to you with activation details.
+
+GROUP_MANAGE_PORTLETS=Manage Portlets:
+GROUP_EDIT_PORTLETS=Select portlets
+
+PORTLET_CURRENT=Portlet web applications
+PORTLET_NON=Non-portlet web applications
+PORTLET_NONWEBAPP=web application
+
+SESSION_ACTIVE=Number of active sessions (guests + users):
+SESSION_USERS=Logged in users :
+
+# 2.0.3
+GROUP_DEFAULT=Default
+GROUP_HIDDEN=hidden
+
+LOGIN_CONFIG_NOTIFY=Allow users to reset password if forgotten?
+LOGIN_CONFIG_PASSWD=Save passwords in GS database?
+LOGIN_CONFIG_PASSWD1=should be selected unless PasswordAuthModule is disabled
+LOGIN_CONFIG_PASSWD2=should be selected if "Allow users to reset password" option is selected
+
+GROUP_WIZARD_1=Group Creation Wizard
+
+ROLENAME=Role Name
+ROLEPRIORITY=Role Priority
+ROLE_SHOW_ROLES=Display Roles
+ROLE_CREATE_ROLE=Create a New Role
+ROLE_DELETE_MSG=Successfully deleted role
+ROLE_EXISTS_MSG=A role by that name already exists. Please delete the old role or create a new one!
+ROLE_CREATE_MSG=New role successfully created
+ROLE_UPDATE_MSG=Existing role successfully updated
+ROLE_SAVE=Save Role
+ROLE_EDIT_MSG=Edit Role Information
+ROLEDEL=Delete Role
+
+USER_ACCOUNT_STATUS=Disable account?
+
+TRACKING_DATE=Date:
+TRACKING_USERAGENT=Client:
+TRACKING_NUMACTIONS=Total number of actions:
+TRACKING_STATS=Tracking Statistics
+TRACKING_SELECT_MSG=Please select from the following tracking labels to see more information:
+TRACKING_DOWNLOAD=Download Excel SpreadSheet
+TRACKING_DISPLAY_ACTION=Display Tracking Actions
+TRACKING_ADD_ACTION=Edit Tracking Actions
+TRACKING_CREATE_ACTION=Create New Tracking Action
+TRACKING_CREATE_MSG=Enter action name to track:
+TRACKING_ACTION=Action Name:
+TRACKING_ENABLED=Enabled:
+TRACKING_DELETE=Delete Action:
+
+LOGIN_TRIES_CONFIG_MSG=Configure number of login attempts
+LOGIN_TOOMANY_ATTEMPTS=Too many login attempts made! Your account has been disabled.
+LOGIN_TRIES_MSG=Set the number of attempts a user may try to login. If the user exceeds the limit, their account is disabled and the administrator is notified. (-1 indicates no limit)
+LOGIN_DISABLED_SUBJECT=Too many login attemps- your portal account has been disabled!
+LOGIN_DISABLED_ADMIN_MSG=Too many login attemps- the portal account has been disabled for user:
+LOGIN_DISABLED_MSG1=Your portal account has been temporarily frozen. Please contact
+LOGIN_DISABLED_MSG2=the portal administrator for help.
+
+#after 2.1.1
+SETUP_MSG=Create Portal Administrator
+SETUP_MSG2=After submission, you will be able to login using the provided user name and password
+
+# new with 3.0
+USER_ROLES=Roles:
+ROLEDESC=Role Description
+LOGIN_CONFIG_X509=Support client X.509 certificate authentication?
+LOGIN_CERTIFICATE=Login with certificate
+USER_CERTIFICATE=Certificate
+LOGIN_CONFIG_ERROR_MSG=Error handling configuration
+LOGIN_CONFIG_ERROR_STACKTRACE_MSG=Display stack trace information in portlets, useful in developer mode
+LOGIN_CONFIG_ERROR_MAIL_MSG=Mail stack traces to portal administrator, and notify users of error occurence
+PORTAL_ERROR_MSG=An unexpected error has occurred and the portal administrator has been contacted!
+LOGIN_ACCOUNT_APPROVAL=User created accounts must be approved by an administrator.
+
+LOGIN_ACCOUNT_APPROVAL_ADMIN_MAIL=The following user created an account and needs approval:
+LOGIN_ACCOUNT_APPROVAL_ADMIN_MAILSUBJECT=Portal account needs approval
+LOGIN_ACCOUNT_APPROVAL_ALLOW=To APPROVE the account click the following link:
+LOGIN_ACCOUNT_APPROVAL_DENY=To DENY the account click the following link:
+LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED=Your portal account has been created
+LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY=Your portal account request was denied.
+LOGIN_ACCOUNT_CREATE_APPROVAL=Please fill out your user information
+
+TRACKING_PORTLET_LABEL=Enable portlet counter?
+TRACKING_PORTLET_COUNTER=This will collect statistics every time an action occurs for all portlets.
+RETURN=Go back
+
+ROLES_HASNOROLES=User has no roles
+
+LOGIN_REMUSER=Provide "Remember me" functionality using cookies
+GROUP_NEWLAYOUT_MSG=A template layout for this group will be created. Afterwards you can customize the layout using the Layout Manager Portlet.
+
+LOGOUT=Logout
+
+LOGIN_CONFIG_SMTP=Configure mail server
+USER_CAPTCHA_MISMATCH=Challenge text in image and supplied value do not match!
+CAPTCHA_TEXT=Enter the text displayed in the image above:
+CONFIG_LOGIN_TAB=Login Configuration
+CONFIG_AUTH_TAB=Authentication Modules
+CONFIG_MAIL_TAB=Mail Configuration
+CONFIG_MSG_TAB=Portal Notifications
+CONFIG_ERR_TAB=Error Configuration
+
+LOGIN_CONFIG_FORGET=Configure message to send when user forgets password
+LOGIN_CONFIG_ACTIVATE=Configure message to send to user to activate new account
+LOGIN_CONFIG_APPROVED=Configure message to send when user account is approved/created
+LOGIN_CONFIG_DENIED=Configure message to send when user account request is rejected
+LOGIN_ACCT_ADMIN_MAIL=You will soon receive an e-mail from the portal administrator
+LOGIN_ACTIVATE_SUBJECT=Please activate your new portal account
+NEW_PASSWORD=New password
+PROFILE_PRIVACY=Profile privacy
+PROFILE_PRIVACY_MSG=Allow profile to be made public to others?
+
+USER_PER_PAGE=Users per page
+USER_SEARCH_EMAIL=Email contains:
+USER_SEARCH_ORGANIZATION= in organization:
+USER_VIEW=Display
+
+USER_SELECT_ROLES=Select Roles
+USER_ROLE_NAME=Role name
+USER_EMAIL_USER=Email user with account information including password?
+USER_NEW_USER_MSG=Create User Information
+USER_PASSWD_MSG=Your password has been set to:
+USER_NO_RESULTS=Search query returned no results!
+ROLE_REMOVE_USER=Remove User(s)
+ROLE_EDITUSER_MSG=Edit Users with Role
+ROLE_ADD_USER=Assign this role to user:
+ROLE_ADD_USER_ACTION=Assign Role to Users
+
+PORTLET_STATUS=Deployment status
+PORTLET_DISPLAY_PORTLETS=Display portlets for application:
+SUCCESS=Successful
+FAILURE=Failure
+PORTLET_LIST_APPS=Return to list of web applications
+
+CONFIG_MAILHOST=Configure SMTP hostname:
+CONFIG_MAILPORT=Configure SMTP port:
+CONFIG_MAILFROM=Set portal reply e-mail:
+CONFIG_MAILADMIN=Set e-mail address of portal administrator:
+
+USER_CREATEDATE=Account creation date
+NUMLOGINS=Total logins
+LASTLOGINDATE=Last login
+
+LOGIN_AUTH_BLANK=Username or password is blank
+LOGIN_AUTH_NOUSER=User does not exist
+LOGIN_AUTH_DISABLED=Account has been disabled
+
+LOGIN_USERNAME=Require username for login name?
+LOGIN_EMAIL=Require email address for login name?
+LOGIN_EMAIL_NAME=Email Address
+
+USER_EMAIL_BLANK=Email Address cannot be blank!
+
+PORTLET_VIEW_DETAILS=View Portlet Details
+USER_SEND_EMAIL=Send Email
+USER_COMPOSE_EMAIL=Compose Email
+USER_SEND=Send
+
+ROLE_EDIT_USERS=Edit Users In Role
+ROLE_DELETE_ROLE=Delete Role(s)
+SELECT=Select
+ROLE_ALL_USERS=Every user has this role!
+ROLE_DEL_USERS=No user has this role!
+ROLE_DISPLAY=Display Roles
+
+CM_DOCUMENT=Document
+CM_DOCUMENT_TITLE=Title
+CM_AVAILDOCUMENTS=Available Documents
+CM_SHOWDOCUMENT=Load document into editor
+CM_DELETEDOCUMENT=Delete document
+CM_CREATEUPDATEDOCUMENT=Create/Update Document
+CM_CONTENT=Content
+CM_ERR_COULDNOTLOADDOCUMENT=Could not load document
+CM_ERR_COULDNOTLOADDOCUMENTLIST=Could not load list of documents
+CM_ERR_COULDNOTSAVEDOCUMENT=Could not save document
+CM_ERR_NONODEID=Please specify document title
+CM_ERR_SELECTNODE=Please select document
+CM_SUCCESS_NEWDOCUMENT=Create document
+CM_SUCCESS_EDITDOCUMENT=Updated document
+CM_SUCCESS_DELETEDDOCUMENT=Deleted document
+CM_CLEAREDITOR=Clear editor
+CM_BACKUP=Backup
+CM_BACKUPCONTENT=Backup Content
+CM_IMPORT=Import
+CM_IMPORTCONTENT=Import Content
+CM_BACKUPSUCCESS=Backup sucessfull. 
+CM_BACKUPERROR=Backup failed. Please consult your administrator.
+CM_IMPORTSUCCESS=Import successful.
+CM_IMPORTERROR=Import failed. Please consult your administrator.
+CM_BACKUP_HELP=This will backup all documents to a single xml file in the WEB-INF/CustomPortal/content/backupContent directory of your GridSphere web application.
+CM_IMPORT_HELP=Read this carefully! This will import all documents previously backed up. Duplicated entries will be replaced by the new ones. It will always load ALL entries. Use this in the case your repository was damaged to restore it.
+
+RSS_SELECT_FEED=Select your news feed
+RSS_READ_FULL_STORY=Read full story
+RSS_ERR_COULDNOTCREATEFEED=Could not create feed
+RSS_ERR_RSSURLNOTVALID=The following RSS URL is not valid
+RSS_ADD_FEED=Add Feed
+RSS_DELETE_FEED=Delete Feed
+RSS_FEED_ADDED=Added Feed
+RSS_FEED_DELETED=Deleted Feed
+RSS_ENTERFEEDURL=Please enter Feed URL
+RSS_ERR_NORSSFEED=No RSS feed available
+RSS_ERR_COULDNOTSAVE=Could not save feed
+RSS_NEWFEED=New Feed
+RSS_REMOVEFEED=Delete Feed
+
+
+NEWS_SAVE=Save
+NEWS_DOCUMENT=Document to be displayed
+RSS_ERR_COULDNOTREADURL=Could not read feed from
+
+LAYOUT_DISPLAY=Display
+LAYOUT_CUSTOMIZE=Select a layout to customize:
+LAYOUT_SEL_THEME=Select default theme for new users:
+LAYOUT_EDIT_TITLE=Edit page title:
+LAYOUT_EDIT_COMPS=Edit layout properties by selecting components below for page:
+LAYOUT_SEL_TOPS=Select top-level navigation:
+LAYOUT_EDIT_MSG=To refine the layout further, please edit
+LAYOUT_EDIT_BAR=Edit bar layout
+LAYOUT_EDIT_CONTENT=Edit content:
+LAYOUT_SEL_CONTENT=Select content:
+LAYOUT_SEL_ROLES=Select required role:
+LAYOUT_SEL_BOOKMARKING=Choose a label for bookmarking:
+LAYOUT_EDIT_FRAME=Edit portlet frame:
+LAYOUT_SEL_PORTLETS=Select portlet:
+LAYOUT_DISP_TB=Display titlebar?
+LAYOUT_CREATE_MENU=Create new menu
+LAYOUT_EDIT_MENU=Edit menu:
+LAYOUT_MV_LEFT=Move left
+LAYOUT_MV_RIGHT=Move right
+LAYOUT_EDIT_TABNAME=Edit tab name:
+LAYOUT_SEL_COLLAYOUT=Select column layout:
+
+LAYOUT_CREATE_SUBTAB=Create new subtab
+LAYOUT_EDIT_SUBTAB=Edit subtab:
+LAYOUT_EDIT_SUBTABNAME=Edit subtab name:
+LAYOUT_CREATE_TAB=Create new tab
+LAYOUT_EDIT_TAB2=Edit tab:
+LAYOUT_PAGE_DETAILS=Edit Page Details:
+LAYOUT_EDIT_KEYWORDS=Edit page keywords:
+
+LAYOUT_DEFAULT_TAB_NAME=Default
+
+LAYOUT_ROLE_NONE_REQUIRED=None required
+LAYOUT_SINGLE_DIVIDER=Single divider bar
+LAYOUT_MENUBAR=Menu bar
+LAYOUT_TABBEDPANE=Double tabbed pane
+LAYOUT_NEW_MENUTAB=New menu tab
+LAYOUT_NEW_SUBTAB2=New subtab
+LAYOUT_NEW_TAB2=New tab
+
+LAYOUT_ONECOL=1 column
+LAYOUT_TWOCOL1=2 columns / (33%, 66%)
+LAYOUT_TWOCOL2=2 columns / (50%, 50%)
+LAYOUT_TWOCOL3=2 columns / (66%, 33%)
+LAYOUT_THREECOL1=3 columns / (33%, 33%, 33%)
+LAYOUT_THREECOL2=3 columns / (25%, 50%, 25%)
+
+ROLE_EDIT_DEFAULT=Make Default
+ROLE_SAVE_DEFAULT=Add as default
+
+YES=yes
+NO=No
+
+ABOUT_GRIDSPHERE_VERSION=GridSphere Version
+ABOUT_GRIDSPHERE_WRITTEN_BY=GridSphere was mainly developed by
+
+LOGIN_CANT_READ=Can't read
+
+LAYOUT_SAVETHEMEMSG=Successfully saved default theme: 
+
+CONFIG_SAVE_SUCCESS=Successfully updated configuration changes!
+
+SIGNUP_REGISTER=Register
+SIGNUP_CONFIRM=Successfully registered an account! Please wait for an email with activation details!
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,434 @@
+# $Id: Portlet_es.properties 5772 2006-11-30 18:12:08Z novotny $
+
+LOGIN_NAME=Nombre de Usuario
+LOGIN_PASS=Contrase\u00f1a
+LOGIN_SUCCESS=Bienvenido
+LOGIN_FAILED=Su nombre de usuario y/o la contrase\u00f1a es incorrecta. Por favor intente de nuevo. 
+LOGIN_ACTION=Entrar
+LOGIN_CONFIGURE=Configurar Conexi\u00f3n
+LOGIN_CONFIG_MSG=Configurar opciones de Contrase\u00f1a
+LOGIN_CONFIG_ALLOW=\u00bfPermite a usuarios crear nuevas cuentas sobre el Portal?
+LOGIN_SIGNUP=Crear nueva cuenta
+
+NOTEPAD_EDIT=Editar Nota
+NOTEPAD_CREATE=Crear una Nota
+NOTEPAD_DELETE=Borrar esta Nota
+NOTEPAD_SHOWLIST=Ver todas las Notas
+NOTEPAD_UPDATE=Modificar esta Nota
+NOTEPAD_ADD=Agregar esta Nota
+NOTEPAD_SEARCH=Buscar
+NOTEPAD_NOTEEXISTS=\u00a1La nota ya existe!
+NOTEPAD_DBERROR=Problema con la Base de Datos! Por favor cont\u00e1ctese con el Administrador!
+NOTEPAD_DELETE_SELECTED=Suprima Notas seleccionadas
+
+MESSAGING_USERNOTONSERVICE=El usuario no se ha suscrito a este servicio.
+MESSAGING_NOUSERSELECTED=Por favor seleccione a un usuario para enviar un mensaje a.
+MESSAGING_SEND=Enviar
+MESSAGING_TO=a
+MESSAGING_VIA=usando
+MESSAGING_SENDIT=\u00a1Env\u00edelo!
+MESSAGING_CHOOSESERVICETOEDIT=Escoja el servicio a Modificar
+MESSAGING_EDITSETTINGS=Editar seteos
+MESSAGING_USERNAME=Sobre este servicio env\u00edan mensajes a
+MESSAGING_SAVESETTINGS=Guardar seteos
+MESSAGING_DELETESETTINGS=Borrar seteos
+MESSAGING_CANCEL=Cancelar
+MESSAGING_SERVICE_SMS=SMS
+MESSAGING_SERVICE_AIM=AOL IM
+MESSAGING_SERVICE_MAIL=EMail
+MESSAGING_NO_SERVICE_CONFIGURED=Servicio no Configurado.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Guarda y Activa los servicios cambiados
+MESSAGING_SERVICE_SAVEFAILURE=\u00a1No puedo Guardar la configuraci\u00f3n!
+MESSAGING_SERVICE_RESTARTFAILURE=\u00a1No puedo restablecer el servicio!
+MESSAGING_SERVICE_SERVICERESTARTED=Guardado y Activado 
+
+MESSAGING_SERVICE_CONFIGTEXT=Los siguientes servicios de mensajer\u00eda est\u00e1n disponibles:
+
+
+PROFILE_MESSAGING_SERVICE=servicio de mensajer\u00eda
+PROFILE_MESSAGING_USERID=Enviar mensajes a
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Ning\u00fan servicio de mensajer\u00eda configurado.
+PROFILE_SAVE_ERROR=\u00a1No puedo Guardar los Seteos de Lugar!
+PROFILE_SAVE_SUCCESS=Guardado seteos de Lugar
+PROFILE_GROUPS=Grupos:
+PROFILE_GROUP_DESC=Descripci\u00f3n de Grupo:
+PROFILE_LOCALE=Preferencias de Lugar:
+PROFILE_SAVE=Guardar Cambios
+PROFILE_EDIT=Modificar seteos para
+PROFILE_VIEW=Visualizar seteos para
+PROFILE_LASTLOGIN=Tiempo de la \u00faltima conexi\u00f3n
+PROFILE_SETTINGS=Ajustes de perfil
+PROFILE_CONFIG_MSG=Configurar soportes locales para entrar dos letras minusculas, codigo de lenguaje ISO en una lista separados por coma:
+PROFILE_LOCALES=Lugares soportados:
+PROFILE_PASSWORD=Contrase\u00f1a:
+PROFILE_PASSWORD2=Verifique Contrase\u00f1a:
+
+LAYOUT_THEME_SAVE=Guardar Tema
+LAYOUT_TAB_CONFIG=Configuraci\u00f3n de Tabs
+LAYOUT_TAB_EDIT=Modificar T\u00edtulo(s) de Tab(s) disponible(s):
+LAYOUT_APPLY=Aplicar cambios
+LAYOUT_TAB_DEL=Borrar Tabs
+LAYOUT_WARNING=Comentario! esto quitar\u00e1 todo el portlets de los Tabs seleccionado
+LAYOUT_NEW_TAB=Crear nuevo Tab
+
+LAYOUT_SUBTAB_CONFIG=Configurar Subtab
+LAYOUT_TAB_SELECT=Seleccionar un tab
+LAYOUT_SUBTAB_EDIT=Editar titulo(s) disponibles de un Subtab :
+LAYOUT_SUBTAB_DEL=Borrar Subtab
+LAYOUT_NEW_SUBTAB=Crear nuevo Subtab
+LAYOUT_SUBTAB_EDIT2=Escriba el T\u00edtulo del Subtab:
+LAYOUT_PORTLET_CONF=Configuracion de un Portlet
+LAYOUT_SUBTAB_SEL=Seleccionar un Subtab
+LAYOUT_TABLE=Disposicion de la tabla en el Portlet
+LAYOUT_ADD_ROW=Agregar una nueva fila a la tabla
+LAYOUT_SAVE=Guardar Cambios en portlet
+LAYOUT_CONFIG_THEMES=Configure supported themes by specifying the CSS directory name in the comma separated list:
+LAYOUT_SUPPORTED_THEMES=Temas soportados:
+
+USERNAME=Nombre de Usuario:
+FAMILYNAME=Apellido:
+GIVENNAME=Nombre Dado:
+FULLNAME=Nombre completo:
+EMAILADDRESS=Direcci\u00f3n de Correo:
+ORGANIZATION=Organizaci\u00f3n:
+LOCALE=Lugar:
+PASSWORD=Contrase\u00f1a:
+CONFIRM_PASS=Confirme Contrase\u00f1a:
+ROLE=Rol:
+SAVE=Guardar
+CANCEL=Cancelar
+OK=Ok
+APPLY=Aplicar Cambios
+TIMEZONE=Zona Horaria:
+
+CONFIGURE=Configurar
+EDIT=Modificar
+HELP=Ayuda
+VIEW=Visualizar
+
+NORMAL=Normal
+MINIMIZED=Minimizar
+MAXIMIZED=Maximizar
+RESIZING=Redimensionar
+
+BANNER_TITLE=T\u00edtulo a Mostrar:
+BANNER_FILE=Archivo a Mostrar:
+BANNER_CONFIGURE=Mostrar archivos de seteos que han sido guardados
+BANNER_FAILURE=No puedo guardar los archivos de seteos mostrados!
+BANNER_NOFILES_START=Ningunos de los archivos listados. Por favor
+BANNER_NOFILES_END=subir archivos
+BANNER_FILE_NOTFOUND=\u00a1No puedo localizar archivo!
+BANNER_HELP=Banner Portlet Ayuda
+BANNER_EDIT=Modificar la Pagina mostrada
+BANNER_NOFILE_SELECTED=\u00a1Ning\u00fan archivo fue seleccionado!
+
+FILE_DELETE=Borrar archivo
+FILE_EDIT=Modificar archivo
+FILE_SAVE=Guardar archivo
+FILE_DOWNLOAD=Bajar archivo
+FILE_UPLOAD=Subir archivo
+FILE_NAME=Archivo:
+FILE_LIST=Lista de los archivos actuales:
+FILE_UPLOAD_FAIL=No puedo guardar el archivo subido
+FILE_UPLOAD_TOOBIG=\u00a1El archivo Subido, excede el m\u00e1ximo el l\u00edmite permitido!
+FILE_SAVE_FAIL=No puedo guardar archivo:
+FILE_DISPLAY=Mostrando archivo:
+FILE_OPEN_FAIL=No puedo abrir el archivo:
+FILE_EMPTY_DIRECTORY=Carpeta vac\u00eda
+
+GROUP_ADMIN_SELECT_USER=Seleccione el usuario que le gustar\u00eda a\u00f1adir y as\u00edgnele un role
+GROUP_PORTLET_GROUP=Portlet Grupo:
+GROUP_ADD_USER=Agregar Usuario a:
+GROUP_ROLEIN_GROUP=Modificar Roles:
+GROUP_ADD_USERS=Agregar Usuarios
+GROUP_CANCEL_ADD=Cancelar Agregar
+GROUP_GO_BACK=Grupo anterior
+GROUP_LIST_GROUPS=Lista de Grupos
+GROUP_USERS_ADDED=Los usuarios siguientes fueron a\u00f1adidos
+GROUP_REMOVE_USERS=Borrar Usuarios
+GROUP_CANCEL_REMOVE=Cancelar Borrado
+GROUP_REMOVE_MSG=Seleccione a los usuarios que le gustar\u00eda suprimir del grupo:
+GROUP_SELECTION=Seleccionar
+GROUP_ROLE_CHANGE=Cambiar el Rol del Usuario
+GROUP_REMOVE_USER=Borre a un Usuario de Grupo
+GROUP_NAME=Nombre de Grupo:
+GROUP_LABEL=Etiqueta de Grupo:
+GROUP_ACCESS=Acceso al Grupo:
+GROUP_DESCRIPTION=Descripcion del Grupo:
+GROUP_ACTION=Acci\u00f3n:
+GROUP_DELETE=Borre Grupos:
+GROUP_PRIVATE=privado
+GROUP_PUBLIC=publico
+GROUP_NOUSERS=No m\u00e1s usuarios para a\u00f1adir a este grupo
+GROUP_NOTIFY=Este grupo es privado. Por favor env\u00ede por correo electr\u00f3nico el
+GROUP_ADMIN=administrador
+GROUP_MANAGE_USERS=Administracion de Usuarios:
+
+PORTLET_WEBAPP=Nombre
+PORTLET_DESC=Descripci\u00f3n
+PORTLET_RUNNING=Corriendo
+PORTLET_SESSIONS=Sesiones
+PORTLET_ACTIONS=Acci\u00f3nes
+PORTLET_GS_MSG=GridSphere core portlets no puede ser redeployedo o borrado
+PORTLET_START=inicio
+PORTLET_STOP=parar
+PORTLET_RELOAD=re-cargar
+PORTLET_REMOVE=borrar
+PORTLET_DEPLOY_MSG=Deploy de un portlet webapp
+PORTLET_WEBAPP_MSG=Escriba el nombre de webapp:
+PORTLET_DEPLOY=Deploy
+PORTLET_UPLOAD=Subir Portlet WAR
+PORTLET_FILE=Archivo:
+PORTLET_ERR_DEPLOY=No puedo hacer deploy webapp!
+PORTLET_ERR_REGISTRY=PortletRegistry service no disponible!
+PORTLET_ERR_UPLOAD=\u00a1No puedo guardar el archivo subido!
+PORTLET_ERR_TOMCAT=A Ocurrido un error de Tomcat!
+PORTLET_ERR_IO=A ocurrido un error de I/O!
+PORTLET_ERR_LIST=No puedo recuperar la lista de portlets. Aseg\u00farese que el archivo tomcat-users.xml ha sido corregido seg\u00fan el UserGuide.
+
+USER_CONFIRM_DELETE=Confirmar Borrado
+USER_CANCEL_DELETE=Cancelar Borrado
+USER_DELETE_MSG=El usuario siguiente fue suprimido:
+USER_SAVE=Guardar Usuario
+USER_CANCEL_EDIT=Cancelar Modificacion
+USER_ROLE=Roles en GridSphere:
+USER_NEW_USER=Usuario Nuevo
+USER_LIST_USERS=Lista de Usuarios
+USER_EDIT_USER=Modificar Usuarios
+USER_DELETE_USER=Borrar Usuario
+USER_NAME_BLANK=El nombre de usuario no puede estar en blanco
+USER_EXISTS=Un usuario ya existe con el mismo nombre de usuario, por favor use un nombre diferente.
+USER_NEED_EMAIL=\u00a1Por favor proporcione una Direcci\u00f3n de correo electr\u00f3nico v\u00e1lida!
+USER_FULLNAME_BLANK=\u00a1El nombre completo, no puede estar en blanco!
+USER_FAMILYNAME_BLANK=\u00a1El Apellido no puede estar en blanco!
+USER_GIVENNAME_BLANK=\u00a1El nombre dado, no puede estar en blanco!
+USER_PASSWORD_BLANK=\u00a1La contrase\u00f1a, no puede estar en blanco!
+USER_PASSWORD_MISMATCH=Password must match confirmation!
+USER_PASSWORD_TOOSHORT=\u00a1Passwort debe tener 5 car\u00e1cteres por lo menos! 
+USER_NEW_ACCOUNT=La Nueva cuenta se cre\u00f3.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Por favor conectar como 
+
+COMMANDER_HELP=Modo Ayuda, no implementado todav\u00eda
+COMMANDER_ERROR_INIT=\u00a1El servicio del directorio seguro indisponible!!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=El archivo que quiere Subir, es muy grande 
+COMMANDER_ERROR_LOAD=Incapaz de cargar el archivo 
+COMMANDER_ERROR_DIR_READ=Incapaz de cargar el directorio
+COMMANDER_ERROR_DIR_BACK=Vaya al Directorio Raiz
+COMMANDER_RESOURCE=recurso
+COMMANDER_SIZE=Tama\u00f1o
+COMMANDER_LAST_MODIFIED=Ultimo modificado
+COMMANDER_FILE_NAME=Archivo:
+COMMANDER_FILE_UPLOAD=Archivo Subido
+COMMANDER_DIR_FILE_NAME=Nombre de (archivo/directorio)
+COMMANDER_MKDIR=nuevo directorio
+COMMANDER_TOUCH=nuevo archivo
+COMMANDER_COPY=Copia
+COMMANDER_MOVE=Mover
+COMMANDER_DELETE=Borrar
+COMMANDER_CANCEL=Cancelar
+COMMANDER_SAVE=Guardar
+COMMANDER_EDIT=editar
+
+# new stuff
+ORIG_PASSWORD=Entre en la contrase\u00f1a original:
+USER_PASSWORD_INVALID=\u00a1La contrase\u00f1a proporcionada es inv\u00e1lida!
+USER_PASSWORD_NOTSET=\u00a1La contrase\u00f1a no esta seteada!
+USER_PASSWORD_SUCCESS=La contrase\u00f1a fu\u00e9 actualizada satisfactoriamente
+USER_GROUPS_SUCCESS=El n\u00famero de miembros del grupo, fu\u00e9 actualizada satisfactoriamente
+USER_UPDATE_SUCCESS=La informacion del Usuario fu\u00e9 actualizada satisfactoriamente
+
+LOGIN_FORGOT_PASSWORD=\u00bfOlvid\u00f3 su contrase\u00f1a?
+LOGIN_FORGOT_TEXT=Por favor proporcione su direcci\u00f3n del e-mail y usted recibir\u00e1 las instrucciones para crear una nueva contrase\u00f1a.
+LOGIN_REQUEST_EMAIL=Entre en su direcci\u00f3n del e-mail:
+LOGIN_NO_EMAIL=\u00a1Por favor proporcione una direcci\u00f3n del email v\u00e1lida!
+LOGIN_NOEXIST=\u00a1Ninguna cuenta de usuario que corresponder el correo electr\u00f3nico suministrado existe!
+LOGIN_FORGOT_MAIL=Por favor siga el link debajo para crear una nueva contrase\u00f1a para su cuenta sobre la entrada:
+
+MAIL_CONFIG_MSG=Configure ajustes de correo del portal
+MAIL_SERVER_MSG=Entre el Nombre de servidor de correos saliente SMTP(deje el espacio en blanco si usando el localhost )
+MAIL_FROM_MSG=Entre la direcci\u00f3n del e-mail del portal (los usuarios pueden recibir el email de esta direcci\u00f3n)
+MAIL_SUBJECT_MSG=Entre el asunto en la l\u00ednea del e-mail saliente: 
+MAIL_SUBJECT_HEADER=Contrase\u00f1a del Portal
+
+LAYOUT_THEME=Configurar el Tema
+LAYOUT_SELECT_THEME=Seleccionar el Tema:
+LAYOUT_TAB_NAME=Entre en el nuevo t\u00edtulo de la etiqueta:
+LAYOUT_ONE_COL=Una columna
+LAYOUT_TWO_COL=Dos columnas
+LAYOUT_THREE_COL=Tres columnas
+CREATE=Crear
+LAYOUT_DISP_TABS=Despliegue las etiquetas existentes 
+LAYOUT_SHOW_TAB=El nombre de la etiqueta
+LAYOUT_EDIT_TAB=Editar el nombre de la etiqueta
+LAYOUT_DELETE_TAB=Borrar la etiqueta
+
+DELETE=Borrar
+
+
+LAYOUTMGR_EDIT_BANNER=Editar Banner
+LAYOUTMGR_EDIT_MSG=Debajo usted puede corregir el banner HTML del portal
+LAYOUTMGR_EDIT_THEME=Seleccione el Tema Predefinido 
+LAYOUTMGR_THEME_MSG=Seleccione de la lista de temas disponibles:
+LAYOUTMGR_GUEST=Invitado Layout
+LAYOUTMGR_GROUPS=Grupo Layouts
+LAYOUTMGR_EDIT_GUEST=Editar Invitado layout
+LAYOUTMGR_GROUP_MSG=Los grupos Layout siguientes existen: 
+LAYOUTMGR_GROUP_EDIT=Editar layout
+LAYOUTMGR_GROUP_DELETE=Borrar layout
+LAYOUTMGR_IMPORT=Importar aplicacion existente layout:
+
+
+
+GROUP_CREATE_NAME=Entre el Nombre de Grupo:
+GROUP_DESC_MSG=Entre en una descripci\u00f3n breve de grupo:
+GROUP_VISIBILITY_MSG=Visibilidad del grupo
+GROUP_VISIBILITY_DESC=Seleccione si el grupo debe ser p\u00fablico o privado. Cualquiera puede agregarse a un grupo p\u00fablico, mientras los grupos privados requieren la aprobaci\u00f3n del administrador. Un grupo oculto no se despliega a los usuarios. S\u00f3lo un administrador del portal puede agregar a un usuario a un grupo oculto.
+GROUP_SELECT_MSG=Seleccione los Portlets que estar\u00e1n disponibles para grupo. Los usuarios en este grupo tendr\u00e1n la oportunidad de agregar estos portlets a su esquema. Adem\u00e1s, pueden asociarse los niveles del rol requeridos con el portlets 
+GROUP_EDIT_USERS=Editar Useruarios
+GROUP_CREATE_NEW=Crear nuevos grupos
+GROUP_EDIT_DEFS=Editar los grupos predefinidos
+GROUP_EDIT_DEFS_MSG=Cuando se agregan los usuarios al portal, ellos pueden agregarse autom\u00e1ticamente a la selecci\u00f3n siguiente de grupos 
+
+
+PROFILE_CONFIG_MESSAGING=Configure el servicio de mensajer\u00eda
+PROFILE_CONFIG_GROUPS=Configure el n\u00famero de miembros de grupo
+PROFILE_UPDATE_PASS=Cambie contrase\u00f1a
+
+SUBSCRIPTION_SUBSCRIBE=Subscriba
+SUBSCRIPTION_DESC=Descripcion de Portlet
+SUBSCRIPTION_REQROLE=Rol Requerido
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Layout borrado satisfactoriamente para grupo :
+LAYOUTMGR_VALID_LAYOUT=Layout actualizado satisfactoriamente. Por favor, descon\u00e9ctese y log back para ver los cambios
+LAYOUTMGR_INVALID_LAYOUT=Error al momento de guardar el layout. Verifique que el descriptor es valido!
+
+GROUP_INVALID_NAME=\u00a1Por favor proporcione un nombre de grupo!
+GROUP_INVALID_DESC=\u00a1Por favor proporcione una descripci\u00f3n de grupo!
+GROUP_INVALID_PORTLETS=\u00a1Por favor seleccione al menos un portlet para a\u00f1adir al grupo!
+GROUP_REMOVE_USERS_MSG=\u00a1Usted debe quitar a todos los usuarios en el grupo antes de la supresi\u00f3n de ello!
+GROUP_NOUSERS_SELECTED=\u00a1Ningun usuario fu\u00e9 seleccionado!
+GROUP_REMOVE_GROUP_SUCCESS=Grupo borrado satisfactoriamente:
+GROUP_REMOVE_USER_SUCCESS=\u00a1Usuario borrado satisfactoriamente de grupos!
+GROUP_ADD_USER_SUCCESS=El usuario fu\u00e9 agregado satisfactoriamente al grupo
+GROUP_SAVE_DEFGROUPS_SUCCESS=Satisfactoriamente Guardado en grupos por defecto!
+GROUP_MODIFY_USERS=Editar usuarios
+
+GROUP_NEWGROUP_SUCCESS=Satisfactoriamente Guardado informacion de grupo
+GROUP_VISIBILITY_MOREDESC=Por favor aseg\u00farese que un administrador de grupo v\u00e1lido (con el correo electr\u00f3nico v\u00e1lido) es a\u00f1adido al grupo para aprobar a los miembros que lo requeridieran.
+
+LOGIN_SUCCESS_MAIL=Usted pronto recibir\u00e1 un correo electr\u00f3nico con la informacion actualizada de su contrase\u00f1a
+LOGIN_FAILURE_MAIL=\u00a1Incapaz de enviar la notificaci\u00f3n del correo electr\u00f3nico!
+
+PROFILE_ROLE_DESC=Rol en Grupo
+
+PORTLET_SUC_TOMCAT=Operaci\u00f3n realizada satisfactoriamente
+PORTLET_SUC_DEPLOY=Satisfactoriamente deployed webapp:
+
+USER_CREATE_USER=Cree a un Nuevo Usuario
+USER_SHOW_USERS=Muestre a Todos los Usuarios
+USER_VIEW_USER=Muestra informacion del Usuario
+USER_EDIT_USER_MSG=Editar informacion del Usuario
+USER_PASS_BLANK_MSG= Deje el espacio en blanco de campo de contrase\u00f1a para guardar la contrase\u00f1a existente si edita a un usuario existente 
+USER_DELETE_SUCCESS=\u00a1El usuario fue borrado con \u00e9xito! 
+USER_NEW_SUCCESS=\u00a1El usuario fue creado con \u00e9xito! 
+USER_EDIT_SUCCESS=\u00a1El usuario fue actualizado con \u00e9xito!
+
+LAYOUT_SAMETAB_ERROR=\u00a1Una etiqueta con ese nombre ya existe! Por favor escoja otro
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Recuerde mi Conexi\u00f3n
+LAYOUT_NOTAB_ERROR=\u00a1Por favor entre en un nombre de la etiqueta!
+GROUP_INFO=Informaci\u00f3n de grupo
+GROUP_LAYOUT_HEADER=Grupo Layout
+GROUP_SELECT_PORTLETS=Seleccione portlets
+GROUP_CREATE_TEMPLATE=Crear Template Layout
+GROUP_CUSTOMIZE_LAYOUT=Personalizar Layout
+GROUP_LAYOUT_MSG=Cada grupo tiene un Layout asociado con \u00e9l. Primero usted debe crear un Layout de la plantilla. Despu\u00e9s usted puede personalizar el Layout que usa el Administrador de Layout Portlet. 
+GROUP_TEMPLATE_MSG=El esquema de la plantilla crea una etiqueta y pone cada portlet definido por el grupo dentro de un subtab.
+GROUP_LAYOUT_CUSTOM=Personalice Layout usando el Administrador de Layout Portlet y proporcionando un descriptores del Layout
+GROUP_MANAGE_MSG=Administre usuarios en grupo:
+LOGIN_AUTHMODULES_MSG=Configure los m\u00f3dulos de la autenticaci\u00f3n
+LOGIN_AUTHMODULES_ONEREQ=\u00a1Un m\u00f3dulo de la autenticaci\u00f3n activo se requiere! 
+LOGIN_MODULE_NAME=Nombre
+LOGIN_MODULE_DESC=Descripcion
+LOGIN_MODULE_ISACTIVE=Est\u00e1 activo?
+LOGIN_MODULE_PRIORITY=Prioridad
+
+LAYOUTMGR_EDIT_FOOTER=Editar Pie
+LAYOUTMGR_EDIT_FOOTER_MSG=Ud. puede editar al pie del Portal, el HTML
+
+LOGIN_ACTIVATE_MAIL=Por favor siga el link debajo activar su cuenta en el portal: 
+MAIL_ACCT_HEADER=La cuenta del portal
+LOGIN_ACCT_MAIL=Usted recibir\u00e1 un e-mail pronto con la informaci\u00f3n de activaci\u00f3n de cuenta
+LOGIN_CREATE_ACCT=Por favor rellene su informaci\u00f3n del usuario y un e-mail se enviar\u00e1 a usted con los detalles de activaci\u00f3n.
+
+GROUP_MANAGE_PORTLETS=Administracion de Portlets:
+GROUP_EDIT_PORTLETS=Selecccione portlets
+
+PORTLET_CURRENT=Portlet web applications
+PORTLET_NON=Non-portlet web applications
+PORTLET_NONWEBAPP=web application
+
+SESSION_ACTIVE=Numero de sesiones activas (invitados + usuarios):
+SESSION_USERS=Conectados en Usuarios :
+
+# 2.0.3
+GROUP_DEFAULT=Defecto
+GROUP_HIDDEN=oculto
+
+LOGIN_CONFIG_NOTIFY=\u00bfPerm\u00edtales a los usuarios restablecer la contrase\u00f1a si se olvidado?
+LOGIN_CONFIG_PASSWD=\u00bfGuarde las contrase\u00f1as en el banco de datos de GS? 
+LOGIN_CONFIG_PASSWD1=debe seleccionarse a menos que PasswordAuthModule sea inv\u00e1lido
+LOGIN_CONFIG_PASSWD2=debe seleccionarse si "les Permite a los usuarios restablecer la contrase\u00f1a" la opci\u00f3n se selecciona
+
+GROUP_WIZARD_1=Wizard para la creacion de grupo
+GROUP_WIZARD_2=Wizard para la creacion de grupo (Paso 2 of 2)
+GROUP_LAYOUT_FILE=Entre en un nombre de archivo v\u00e1lido para el descriptor del esquema: 
+GROUP_INVALID_LAYOUTFILE=\u00a1Los nombres de archivo del Layout no pueden estar en Blanco! 
+
+ROLENAME=Nombre de Rol
+ROLEPRIORITY=Prioridad del Rol
+ROLE_SHOW_ROLES=Mostrar todos los Roles
+ROLE_CREATE_ROLE=Crear nuevos Roles
+ROLE_DELETE_MSG=Rol Borrado satisfactoriamente
+ROLE_EXISTS_MSG=Un Rol con ese nombre ya existe. \u00a1Por favor anule el Rol viejo o cree uno nuevo!
+ROLE_CREATE_MSG=Nuevo Rol creado satisfactoriamente
+ROLE_SAVE=Guardar Rol
+ROLE_EDIT_MSG=Editar Informacion del Rol
+ROLEDEL=Borrar el Rol
+
+USER_ACCOUNT_STATUS=\u00bfDesactive la cuenta?
+
+TRACKING_DATE=Fecha:
+TRACKING_USERAGENT=Cliente:
+TRACKING_NUMACTIONS=Numero total de acciones:
+TRACKING_STATS=Rastreando Estad\u00edsticas
+TRACKING_SELECT_MSG=Por favor seleccione de lo siguiente que rastrea las etiquetas para ver m\u00e1s informaci\u00f3n: 
+TRACKING_DOWNLOAD=Baje la Hoja de c\u00e1lculo Excel
+TRACKING_DISPLAY_ACTION=Despliegue el Rastreador de Acciones 
+TRACKING_ADD_ACTION=Editar el rastreador de Acciones
+TRACKING_CREATE_ACTION=Crear un nuevo rastreador de accion
+TRACKING_CREATE_MSG=Entre en el nombre de acci\u00f3n para rastrear:
+TRACKING_ACTION=Nombre de la accion:
+TRACKING_ENABLED=Habilitado:
+TRACKING_DELETE=Borrar accion:
+
+LOGIN_TRIES_CONFIG_MSG=Configure n\u00famero de tentativas de conexi\u00f3n
+LOGIN_TOOMANY_ATTEMPTS=\u00a1Demasiadas tentativas de conexi\u00f3n hechas! Su cuenta ha sido deshabilitada.
+LOGIN_TRIES_MSG=Ponga el n\u00famero de tentativas que un usuario puede intentar la conexi\u00f3n. Si el usuario excede el l\u00edmite, su cuenta es deshabilitada y el administrador es notificado. (-1 indica sin l\u00edmite)
+LOGIN_DISABLED_SUBJECT=\u00a1Demasiadas tentativas de conexi\u00f3n - la cuenta del portal ha sido deshabilitado!
+LOGIN_DISABLED_ADMIN_MSG=Demasiadas tentativas de conexi\u00f3n - la cuenta del portal ha sido deshabilitada para el usuario: 
+LOGIN_DISABLED_MSG1=Su cuenta del portal ha estado temporalmente deshabilitada. Por favor avise 
+LOGIN_DISABLED_MSG2=el administrador del portal para la ayuda. 
+
+#after 2.1.1
+SETUP_MSG=Cree un Administrador del Portal 
+SETUP_MSG2=Despu\u00e9s del envio, usted podr\u00e1 conectarse con el nombre del usuario y contrase\u00f1a
+
+LOGIN_AUTH_BLANK=El Nombre de Usuario o la contrase\u00f1a, estan en Blanco
+LOGIN_AUTH_NOUSER=El Usuario no existe
+LOGIN_AUTH_DISABLED=La cuenta est\u00e1 deshabilitada
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,371 @@
+# $Id: Portlet_fr.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=Nom d'utilisateur
+LOGIN_PASS=Mot de passe
+LOGIN_SUCCESS=Bienvenue
+LOGIN_FAILED=Votre nom d'utilisateur et/ou votre mot de passe sont incorrect. S.V.P essay\u00e9 \u00e0 nouveau.
+LOGIN_ACTION=Connexion
+LOGIN_CONFIGURE=Configuration de la connexion
+LOGIN_CONFIG_MSG=Options de configuration de la connexion
+LOGIN_CONFIG_ALLOW=Permettre aux utilisateurs de cr\u00e9er de nouveaux compte pour le portail?
+LOGIN_SIGNUP=Cr\u00e9e un nouveau compte
+
+NOTEPAD_EDIT=Edition d'une note
+NOTEPAD_CREATE=Cr\u00e9er une note
+NOTEPAD_DELETE=Effacer cette note
+NOTEPAD_SHOWLIST=Afficher toutes les notes
+NOTEPAD_UPDATE=Rafra\u00eechire cette note
+NOTEPAD_ADD=Ajouter cette note
+NOTEPAD_SEARCH=Recherche
+NOTEPAD_NOTEEXISTS=Cette note existe d\u00e9j\u00e0!
+NOTEPAD_DBERROR=Probl\u00e8me de base de donn\u00e9e! S.V.P contactez votre administrateur!
+NOTEPAD_DELETE_SELECTED=Supprimer les notes s\u00e9lectionn\u00e9e
+
+MESSAGING_USERNOTONSERVICE=L'utilisateur n'a pas souscrit \u00e0 ce service.
+MESSAGING_NOUSERSELECTED=S.V.P. s\u00e9lectionnez l'utilisateur \u00e0 qui envoyer le message..
+MESSAGING_SEND=Envoyer
+MESSAGING_TO=A
+MESSAGING_VIA=via
+MESSAGING_SENDIT=L'envoyer
+MESSAGING_CHOOSESERVICETOEDIT=Choisir un service \u00e0 \u00e9diter
+MESSAGING_EDITSETTINGS=Editer les param\u00e8tres
+MESSAGING_USERNAME=A ce service envoyez les messages \u00e0
+MESSAGING_SAVESETTINGS=Sauver les param\u00e8tres
+MESSAGING_DELETESETTINGS=Supprimer les param\u00e8tres
+MESSAGING_CANCEL=Abandonner
+MESSAGING_SERVICE_SMS=Service utilis\u00e9 pour envoyer des messages via Short Messaging Service (SMS)
+MESSAGING_SERVICE_AIM=Service utilis\u00e9 pour envoyer des messages via AOL Instant Messenger (AIM/Apple iChat)
+MESSAGING_SERVICE_MAIL=Service utilis\u00e9 pour envoyer des messages via EMail
+MESSAGING_NO_SERVICE_CONFIGURED=Aucun service n'est configur\u00e9.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Sauver
+MESSAGING_SERVICE_RESTART=Red\u00e9marrer les services s\u00e9lectionn\u00e9es
+MESSAGING_SERVICE_CONFIGTEXT=Les services de messagerie suivant sont disponible:
+
+PROFILE_MESSAGING_SERVICE=Service de messagerie
+PROFILE_MESSAGING_USERID=Envoyer des messages \u00e0
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Aucun service de messagerie n'est configur\u00e9.
+PROFILE_SAVE_ERROR=Incapable de sauvegarder les param\u00e8tres locale!
+PROFILE_SAVE_SUCCESS=Param\u00e8tres locale sauvegard\u00e9s
+PROFILE_GROUPS=Groupes:
+PROFILE_GROUP_DESC=Description du groupe:
+PROFILE_LOCALE=Locale pr\u00e9f\u00e9r\u00e9e: 
+PROFILE_SAVE=Sauver les changements
+PROFILE_EDIT=Editer les param\u00e8tres pour
+PROFILE_VIEW=Afficher les param\u00e8tres pour
+PROFILE_LASTLOGIN=Derni\u00e8re connexion : 
+PROFILE_SETTINGS=Param\u00e8tres du profil
+PROFILE_CONFIG_MSG=Configurer les locales support\u00e9s en ins\u00e9rant les deux lettres en minuscules du code ISO de langage dans cette liste:
+PROFILE_LOCALES=Locales support\u00e9s:
+PROFILE_PASSWORD=Mot de passe:
+PROFILE_PASSWORD2=Confirmer le mot de passe:
+
+LAYOUT_THEME_SAVE=Sauver le th\u00e8me
+LAYOUT_TAB_CONFIG=Configurer l'onglet
+LAYOUT_TAB_EDIT=Editez les titres des onglets disponibles:
+LAYOUT_APPLY=Appliquer les changements
+LAYOUT_TAB_DEL=Supprimer cet onglet
+LAYOUT_WARNING=Attention! Ceci va enlever tous les portlets de l'onglet s\u00e9lectionn\u00e9
+LAYOUT_NEW_TAB=Cr\u00e9er un nouvel onglet
+
+LAYOUT_SUBTAB_CONFIG=Configurer l'onglet de 2\u00e8me niveau
+LAYOUT_TAB_SELECT=S\u00e9lectionner un onglet
+LAYOUT_SUBTAB_EDIT=Editer les titres des onglets de 2\u00e8me niveau disponibles: 
+LAYOUT_SUBTAB_DEL=Supprimer l'onglet de 2\u00e8me niveau
+LAYOUT_NEW_SUBTAB=Cr\u00e9er un nouvel onglet de 2\u00e8me niveau
+LAYOUT_SUBTAB_EDIT2=Entrer le titre de l'onglet de 2\u00e8me niveau:
+LAYOUT_PORTLET_CONF=Configurer le portlet
+LAYOUT_SUBTAB_SEL=Choisir un onglet de 2\u00e8me niveau
+LAYOUT_TABLE=Portlet table layout
+LAYOUT_ADD_ROW=Ajouter une nouvelle ligne \u00e0 la table
+LAYOUT_SAVE=Sauvegarder les changements du portlet
+LAYOUT_CONFIG_THEMES=Configurer les th\u00e8mes support\u00e9s en sp\u00e9cifiant dans la liste s\u00e9par\u00e9e par des virgules le r\u00e9pertoire des feuilles de styles CSS :
+LAYOUT_SUPPORTED_THEMES=Th\u00e8mes support\u00e9s:
+
+USERNAME=Nom d'utilisateur:
+FAMILYNAME=Nom de famille:
+GIVENNAME=Pr\u00e9nom:
+FULLNAME=Nom complet:
+EMAILADDRESS=Adresse e-mail:
+ORGANIZATION=Organisation:
+PASSWORD=Mot de passe:
+LOCALE=Locale:
+CONFIRM_PASS=Confirmer le mot de passe:
+ROLE=R\u00f4le:
+SAVE=Sauver
+CANCEL=Abandonner
+OK=Ok
+APPLY=Appliquer les changements
+TIMEZONE=Zone horaire:
+
+CONFIGURE=Configurer
+EDIT=Editer
+HELP=Aide
+VIEW=Vue
+
+NORMAL=Normal
+MINIMIZED=R\u00e9duire
+MAXIMIZED=Maximiser
+RESIZING=Redimensionner
+
+BANNER_TITLE=Titre \u00e0 afficher:
+BANNER_FILE=Fichier \u00e0 afficher:
+BANNER_CONFIGURE=Les param\u00e8tres affich\u00e9s du fichier de configuration ont \u00e9t\u00e9 sauv\u00e9
+BANNER_FAILURE=Impossible de sauver le ficher de configuration!
+BANNER_NOFILES_START=Pas de fichiers list\u00e9s. S.V.P
+BANNER_NOFILES_END=\u00e0 t\u00e9l\u00e9charger
+BANNER_FILE_NOTFOUND=Impossible de trouver le fichier!
+BANNER_HELP=Banner Portlet Aide
+BANNER_EDIT=Editez la page d'Affichage
+BANNER_NOFILE_SELECTED=Aucun fichier n'est s\u00e9lectionn\u00e9!
+
+FILE_DELETE=Supprimer le fichier
+FILE_EDIT=Editer le fichier
+FILE_SAVE=Sauver le fichier
+FILE_DOWNLOAD=T\u00e9l\u00e9charger le fichier
+FILE_UPLOAD=Envoyer le fichier
+FILE_NAME=Fichier:
+FILE_LIST=Afficher les fichiers courrant:
+FILE_UPLOAD_FAIL=Impossible d'enregistrer le fichier t\u00e9l\u00e9charg\u00e9!
+FILE_UPLOAD_TOOBIG=Le fichier t\u00e9l\u00e9charg\u00e9 d\u00e9passe le maximum permis!
+FILE_SAVE_FAIL=Impossible de sauver le fichier:
+FILE_DISPLAY=Afficher le fichier:
+FILE_OPEN_FAIL=Incapable d'ouvrir le fichier:
+FILE_EMPTY_DIRECTORY=R\u00e9pertoire vide
+
+GROUP_ADMIN_SELECT_USER=Choisissez l'utilisateur \u00e0 qui vous voulez ajouter et assigner un r\u00f4le:
+GROUP_PORTLET_GROUP=Groupe de Portlet:
+GROUP_ADD_USER=Utilisateur \u00e0 ajouter:
+GROUP_ROLEIN_GROUP=Editer le r\u00f4le:
+GROUP_ADD_USERS=Ajouter des utilisateurs
+GROUP_CANCEL_ADD=Abanonner l'ajout
+GROUP_GO_BACK=Retourner au groupe
+GROUP_LIST_GROUPS=Lister les groupes
+GROUP_USERS_ADDED=Les utilisateurs suivants on \u00e9t\u00e9 ajout\u00e9s \u00e0
+GROUP_REMOVE_USERS=Supprimer les utilisateurs
+GROUP_CANCEL_REMOVE=Abandonner la suppression
+GROUP_REMOVE_MSG=S\u00e9lectionnez les utilisateurs que vous voulez supprimer
+GROUP_SELECTION=S\u00e9lectionner
+GROUP_REMOVE_USERS_MSG=Les utilisateurs suivants on \u00e9t\u00e9 enlev\u00e9s
+GROUP_ROLE_CHANGE=Changer le r\u00f4le de l'utilisateur
+GROUP_REMOVE_USER=Supprimer l'utilisateur du groupe
+GROUP_NAME=Nom du groupe:
+GROUP_LABEL=Libell\u00e9 du groupe:
+GROUP_ACCESS=Accès au groupe:
+GROUP_DESCRIPTION=Description du groupe:
+GROUP_ACTION=Action:
+GROUP_DELETE=Supprimer les groupes:
+GROUP_PRIVATE=priv\u00e9
+GROUP_PUBLIC=public
+GROUP_NOUSERS=Plus d'utilisateur \u00e0 ajouter \u00e0 ce groupe
+GROUP_NOTIFY=Ce groupe est priv\u00e9. S.V.P. envoyez un e-mail \u00e0 
+GROUP_ADMIN=administrateur
+GROUP_MANAGE_USERS=G\u00e9rer les utilisateurs:
+
+PORTLET_WEBAPP=Nom
+PORTLET_DESC=Description
+PORTLET_RUNNING=Ex\u00e9cution
+PORTLET_SESSIONS=Sessions
+PORTLET_ACTIONS=Actions
+PORTLET_GS_MSG=GridSphere core portlets ne peuvent pas \u00eatre re-deploy\u00e9s ou supprim\u00e9s
+PORTLET_START=d\u00e9marrer
+PORTLET_STOP=arr\u00eater
+PORTLET_RELOAD=re-charger
+PORTLET_REMOVE=supprimer
+PORTLET_DEPLOY_MSG=D\u00e9ployer un nouveau portlet (webapp)
+PORTLET_WEBAPP_MSG=Entrer le nom du portlet:
+PORTLET_DEPLOY=D\u00e9ployer
+PORTLET_UPLOAD=T\u00e9l\u00e9charger le portlet (.war)
+PORTLET_FILE=Fichier:
+PORTLET_ERR_DEPLOY=Impossible de d\u00e9ployer le potlet!
+PORTLET_ERR_REGISTRY=Le service PortletRegistry n'est pas disponible!
+PORTLET_ERR_UPLOAD=Impossible de sauvegarder le fichier t\u00e9l\u00e9charg\u00e9!
+PORTLET_ERR_TOMCAT=Une erreur Tomcat est survenue!
+PORTLET_ERR_IO=Une erreur d'entr\u00e9e-sortie est survenue!
+PORTLET_ERR_LIST=Incapable d'extraire la liste de portlets. Soyez certain que le fichier tomcat-users.xml a \u00e9t\u00e9 \u00e9dit\u00e9 comme indiqu\u00e9 dans le guide utilisateur.
+
+USER_CONFIRM_DELETE=Confirmer la suppression
+USER_CANCEL_DELETE=Abandonner le suppression
+USER_DELETE_MSG=L'utilisateur suivant a \u00e9t\u00e9 supprim\u00e9:
+USER_SAVE=Sauver l'utilisateur
+USER_CANCEL_EDIT=Abandonner l'\u00e9dition
+USER_ROLE=R\u00f4le dans GridSphere:
+USER_NEW_USER=Nouvel utilisateur
+USER_LIST_USERS=Liste des utilisateurs
+USER_EDIT_USER=Editer l'utilisateur
+USER_DELETE_USER=Supprimer l'utilisateur
+USER_NAME_BLANK=L'utilisateur doit \u00eatre renseign\u00e9
+USER_EXISTS=Un utilisateur existe avec le m\u00eame nom, utilisez une autre nom.
+USER_NEED_EMAIL=Entrez une adresse e-mail correcte!
+USER_FULLNAME_BLANK=Le nom complet doit \u00eatre renseign\u00e9!
+USER_FAMILYNAME_BLANK=Le nom de famille doit \u00eatre renseign\u00e9!
+USER_GIVENNAME_BLANK=Le nom donn\u00e9 doit \u00eatre renseign\u00e9!
+USER_PASSWORD_MISMATCH=Le mot de passe doit \u00eatre indentique \u00e0 la conirmation!
+USER_PASSWORD_TOOSHORT=Le mot de passe doit \u00eatre d'au moins 5 caract\u00e8res!
+USER_NEW_ACCOUNT=Nouveau compte cr\u00e9\u00e9.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=S.V.P. se connecter comme
+
+COMMANDER_HELP=Le mode aide n'est pas encore mis en application
+COMMANDER_ERROR_INIT=Le service Secure directory est indisponible !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=Le fichier t\u00e9l\u00e9charg\u00e9 est trop gros
+COMMANDER_ERROR_LOAD=Impossible de charger le fichier
+COMMANDER_ERROR_DIR_READ=Impossile d'acc\u00e9der au r\u00e9pertoire
+COMMANDER_ERROR_DIR_BACK=aller au r\u00e9pertoire racine
+COMMANDER_RESOURCE=ressource
+COMMANDER_SIZE=taille
+COMMANDER_LAST_MODIFIED=derni\u00e8re modification
+COMMANDER_FILE_NAME=Fichier:
+COMMANDER_FILE_UPLOAD=Envoyer le fichier
+COMMANDER_DIR_FILE_NAME=Nom (fichier/r\u00e9pertoire)
+COMMANDER_MKDIR=nouveau r\u00e9pertoire
+COMMANDER_TOUCH=nouveau fichier
+COMMANDER_COPY=Copier
+COMMANDER_MOVE=D\u00e9placer
+COMMANDER_DELETE=Supprimer
+COMMANDER_CANCEL=Abandonner
+COMMANDER_SAVE=Sauver
+COMMANDER_EDIT=\u00e9diter
+
+# new stuff
+ORIG_PASSWORD=Entrer le mot de passe d'origine:
+USER_PASSWORD_INVALID=Le mot de passe n'est pas valide!
+USER_PASSWORD_NOTSET=Le mot de passe n'est pas actif!
+USER_PASSWORD_BLANK=Le mot de passe doit \u00eatre renseign\u00e9!
+USER_PASSWORD_SUCCESS=Mot de passe mis \u00e0 jour
+USER_GROUPS_SUCCESS=Inscription au groupe mise \u00e0 jour
+USER_UPDATE_SUCCESS=Informations de l'utilisateur mises \u00e0 jour
+
+LOGIN_FORGOT_PASSWORD=Oubli\u00e9 votre mot de passe?
+LOGIN_FORGOT_TEXT=Veuillez donner S.V.P. votre adresse e-mail et vous allez recevoir les instructions pour cr\u00e9er un nouveau mot de passe.
+LOGIN_REQUEST_EMAIL=Entrez votre adresse e-mail:
+LOGIN_NO_EMAIL=S.V.P. donnez une adresse e-mail valide!
+LOGIN_NOEXIST=Pas de compte d'utilisateur qui correspond \u00e0 l'adresse e-mail donn\u00e9e!
+LOGIN_FORGOT_MAIL=SVP suivre le lien ci-dessous pour cr\u00e9er un nouveau mot de passe pour votre compte sur le portail:
+
+MAIL_CONFIG_MSG=Configurer les param\u00e8tres d'e-mail du portail
+MAIL_SERVER_MSG=Entrer le nom du serveur SMTP sortant (laisser \u00e0 blanc si localhost)
+MAIL_FROM_MSG=Entrer l'adresse e-mail du portail (les utilisateurs peuvent recevoir des e-mails de cette adresse)
+MAIL_SUBJECT_MSG=Entrer le sujet des e-mails envoy\u221a\u00a9s:
+MAIL_SUBJECT_HEADER=Mot de passe du portail GridSphere
+
+LAYOUT_THEME=Configurer le th\u00e8me
+LAYOUT_SELECT_THEME=Choisir un  th\u00e8me:
+LAYOUT_TAB_NAME=Entrer un titre pour l'onglet:
+LAYOUT_ONE_COL=Une colonne
+LAYOUT_TWO_COL=Deux colonnes
+LAYOUT_THREE_COL=Trois colonnes
+CREATE=Cr\u00e9er
+LAYOUT_DISP_TABS=Afficher les onglets existant
+LAYOUT_SHOW_TAB=Nom de l'onglet
+LAYOUT_EDIT_TAB=Editer le nom de l'onglet
+LAYOUT_DELETE_TAB=Supprimer l'onglet
+
+DELETE=Supprimer
+
+LAYOUTMGR_EDIT_BANNER=Editer le logo
+LAYOUTMGR_EDIT_MSG=Ci-dessous vous pouvez \u00e9diter le logo du portail
+LAYOUTMGR_EDIT_THEME=Choisir le th\u00e8me par d\u00e9faut
+LAYOUTMGR_THEME_MSG=Choisir le th\u00e8me dans la liste:
+LAYOUTMGR_GUEST=Agencement pour invit\u00e9
+LAYOUTMGR_GROUPS=Agencement des groupes
+LAYOUTMGR_EDIT_GUEST=Editer l'agencement des invit\u00e9s
+LAYOUTMGR_GROUP_MSG=Agencement des groupes:
+LAYOUTMGR_GROUP_EDIT=Editer l'agencement
+LAYOUTMGR_GROUP_DELETE=Supprimer l'agencement
+LAYOUTMGR_IMPORT=Importer un agencement existant:
+
+GROUP_CREATE_NAME=Entrer le nom du groupe:
+GROUP_DESC_MSG=Entrer une br\u00e8ve description du groupe:
+GROUP_VISIBILITY_MSG=Visibilit\u00e9 du groupe
+GROUP_VISIBILITY_DESC=S\u00e9lectionnez si le groupe doit \u00eatre public ou priv\u00e9. Tous les utilisateurs peuvent s'ajouter \u00e0 un groupe public, alors qu'un groupe priv\u00e9 requier une autorisation.
+GROUP_SELECT_MSG=Choisir les portlets qui vont \u00eatre disponibles au groupe. Les utilisateurs de ce groupe vont avoir la possibilit\u00e9 d'ajouter ces portlets \u00e0 leur agencement. De plus les r\u00f4les requis peuvent \u00eatre associ\u00e9 avec les portlets.
+GROUP_EDIT_USERS=Editer les utilisateurs
+GROUP_CREATE_NEW=Cr\u00e9er un nouveau groupe
+GROUP_EDIT_DEFS=Editer le groupe par d\u00e9faut
+GROUP_EDIT_DEFS_MSG=Lorsque des utilisateurs sont ajout\u00e9 au portail ils peuvent \u00eatre ajout\u00e9 automatiquement aux groupes suivants
+
+PROFILE_CONFIG_MESSAGING=Configurer le service de messagerie
+PROFILE_CONFIG_GROUPS=Configurer l'abonnement aux groupex
+PROFILE_UPDATE_PASS=Mise \u00e0 jour du mot de passe
+
+SUBSCRIPTION_SUBSCRIBE=S'abonner
+SUBSCRIPTION_DESC=Description du portlet
+SUBSCRIPTION_REQROLE=R\u00f4le requis
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Layout suprim\u00e9 avec succ\u00e8s pour le groupe:
+LAYOUTMGR_VALID_LAYOUT=Layout mis \u00e0 jour avec succ\u00e8s. SVP sortir du syst\u00e8me et re-entrer pour voir vos changements.
+LAYOUTMGR_INVALID_LAYOUT=Une erreur est survenue lors de la sauvegarde du layout. V\u00e9rifiez que le descripteur est valide!
+
+GROUP_INVALID_NAME=SVP donner un nom de groupe!
+GROUP_INVALID_DESC=SVP donner une description du groupe!
+GROUP_INVALID_PORTLETS=SVP choisir au moins un portlet a ajout\u00e9 au groupe!
+GROUP_NOUSERS_SELECTED=Aucun utilisateur n'a \u00e9t\u00e9 s\u00e9lectionn\u00e9 pour \u00eatre enlev\u00e9!
+GROUP_REMOVE_GROUP_SUCCESS=Groupe supprim\u00e9 avec succ\u00e8s:
+GROUP_REMOVE_USER_SUCCESS=Utilisateur enlev\u00e9 du groupe!
+GROUP_ADD_USER_SUCCESS=Utilisateur ajout\u00e9 avec succ\u00e8s au groupe:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Groupe par d\u00e9faut sauvegard\u00e9 avec succ\u00e8s!
+GROUP_MODIFY_USERS=Editer les utilisateurs
+
+GROUP_NEWGROUP_SUCCESS=Informations du groupe sauvegard\u00e9 avec succ\u00e8s
+GROUP_VISIBILITY_MOREDESC=V\u00e9rifiez qu'un administrateur de groupe valide (avec une adresse e-mail valide) est ajout\u00e9 au groupe pour autoriser les demandes d'adh\u00e9sion.
+
+LOGIN_SUCCESS_MAIL=Vous allez recevoir un e-mail avec l'information de votre mot de passe mis \u00e0 jour
+LOGIN_FAILURE_MAIL=Impossible d'envoyer une notification par e-mail!
+
+PROFILE_ROLE_DESC=R\u00f4le dans le groupe
+
+PORTLET_SUC_TOMCAT=Op\u00e9ration ex\u00e9cut\u00e9e avec succ\u00e8s
+PORTLET_SUC_DEPLOY=Webapp d\u00e9ploy\u00e9e avec succ\u00e8s :
+
+USER_CREATE_USER=Cr\u00e9er un nouvel utilisateur
+USER_SHOW_USERS=Afficher tous les utilisateurs
+USER_VIEW_USER=Afficher les informations de l'utilisateur
+USER_EDIT_USER_MSG=Editer les informations de l'utilisateur
+USER_PASS_BLANK_MSG=Laisser le mot de passe blanc pour garder votre mot de passe existant
+USER_DELETE_SUCCESS=Utilisateur supprim\u00e9 avec succ\u00e8s!
+USER_NEW_SUCCESS=Utilisateur cr\u00e9\u00e9 avec succ\u00e8s!
+USER_EDIT_SUCCESS=Utilisateur mis \u00e0 jour avec succ\u00e8s!
+
+LAYOUT_SAMETAB_ERROR=Un onglet avec ce nom existe d\u00e9j\u00e0! S.V.P. choisir un autre nom
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Se souvenir de ma connexion
+LAYOUT_NOTAB_ERROR=S.V.P. entrez un nom d'onglet!
+GROUP_INFO=Informations du groupe
+GROUP_LAYOUT_HEADER=Groupe Layout
+GROUP_SELECT_PORTLETS=S\u00e9lectionner des portlets
+GROUP_CREATE_TEMPLATE=Cr\u00e9er un Template Layout
+GROUP_CUSTOMIZE_LAYOUT=Adapter le Layout
+GROUP_LAYOUT_MSG=Chaque groupe \u00e0 un layout associ\u00e9. Vous devez s\u00e9lectionner la cr\u00e9ation d'un template layout ou cr\u00e9er un custom layout \u00e0 partir du portlet Layout Manager.
+GROUP_TEMPLATE_MSG=Le template layout cr\u00e9 un onglet et place chaque portlet definie par le groupe dans un onglet de 2\u00e8me niveau.
+GROUP_LAYOUT_CUSTOM=Adapter le layout avec le Portlet Layout Manager en fournissant un descripteur de layout
+GROUP_MANAGE_MSG=G\u00e9rer les utilisateurs du groupe:
+LOGIN_AUTHMODULES_MSG=Configurer les modules d'authentification 
+LOGIN_AUTHMODULES_ONEREQ=Un module d'authentification actif est requis !
+LOGIN_MODULE_NAME=Nom
+LOGIN_MODULE_DESC=Description
+LOGIN_MODULE_ISACTIVE=Est actif?
+LOGIN_MODULE_PRIORITY=Priorit\u00e9
+
+LAYOUTMGR_EDIT_FOOTER=Editer le titre de bas de page du portail
+LAYOUTMGR_EDIT_FOOTER_MSG=Ci-dessous vous pouvez \u00e9diter le titre de bas de page du portail<br>
+
+LOGIN_ACTIVATE_MAIL=S.V.P. suivre le lien ci-dessous pour activer votre compte dans le portail:
+MAIL_ACCT_HEADER=Compte du portail
+LOGIN_ACCT_MAIL=Vous allez recevoir un e-mail avec les informations d'activation du compte
+LOGIN_CREATE_ACCT=S.V.P. entrez vos informations d'utilisateur et un e-mail va vous \u00eatre envoy\u00e9 avec les d\u00e9tails d'activation.
+
+GROUP_MANAGE_PORTLETS=G\u00e9rer les portlets:
+GROUP_EDIT_PORTLETS=S\u00e9lectionner des portlets
+
+PORTLET_CURRENT=Applications de portlet web 
+PORTLET_NON=Applications web (non portlet) 
+PORTLET_NONWEBAPP=Application web
+
+SESSION_ACTIVE=Nombre de sessions actives (invit\u00e9s + utilisateurs):
+SESSION_USERS=Utilisateurs connect\u00e9s :
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,422 @@
+# $Id: Portlet_hr.properties 5772 2006-11-30 18:12:08Z novotny $
+
+LOGIN_NAME=Korisni\u010dko ime
+LOGIN_PASS=Lozinka
+LOGIN_SUCCESS=Dobrodo\u0161li
+LOGIN_FAILED=Korisni\u010dko ime i/ili lozinka su neispravni. Poku\u0161ajte ponovno.
+LOGIN_ACTION=Ulaz
+LOGIN_CONFIGURE=Izmjeni postavke ulaza
+LOGIN_CONFIG_MSG=Postavke ulaza
+LOGIN_CONFIG_ALLOW=\u017delite li dopustiti korisnicima da dodaju nove korisnike?
+LOGIN_SIGNUP=Stvori novog korisnika
+
+NOTEPAD_EDIT=Izmjeni zapis
+NOTEPAD_CREATE=Stvori zapis
+NOTEPAD_DELETE=Obri\u0161i zapis
+NOTEPAD_SHOWLIST=Prika\u017ei sve zapise
+NOTEPAD_UPDATE=Snimi izmjene
+NOTEPAD_ADD=Dodaj zapis
+NOTEPAD_SEARCH=Tra\u017ei
+NOTEPAD_NOTEEXISTS=Zapis ve\u0107 postoji!
+NOTEPAD_DBERROR=Problem s bazom podataka! Molimo kontaktirajte administratora!
+NOTEPAD_DELETE_SELECTED=Obri\u0161i odabrane zapise
+
+MESSAGING_USERNOTONSERVICE=Korisnik nije uklju\u010dio ovu uslugu.
+MESSAGING_NOUSERSELECTED=Odaberite korisnika kojem \u017eelite poslati poruku.
+MESSAGING_SEND=Po\u0161alji
+MESSAGING_TO=primatelj
+MESSAGING_VIA=koriste\u0107i
+MESSAGING_SENDIT=Po\u0161alji!
+MESSAGING_CHOOSESERVICETOEDIT=Odaberite uslugu koju \u017eelite izmjeniti
+MESSAGING_EDITSETTINGS=Izmjeni postavke
+MESSAGING_USERNAME=Primatelj poruka
+MESSAGING_SAVESETTINGS=Snimi postavke
+MESSAGING_DELETESETTINGS=Obri\u0161i postavke
+MESSAGING_CANCEL=Odustani
+MESSAGING_SERVICE_SMS=SMS
+MESSAGING_SERVICE_AIM=AOL IM
+MESSAGING_SERVICE_MAIL=Email
+MESSAGING_NO_SERVICE_CONFIGURED=Usluga nije postavljena.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Spremi i aktiviraj odabrane usluge
+MESSAGING_SERVICE_SAVEFAILURE=Postavke trenutno ne mogu biti snimljene!
+MESSAGING_SERVICE_RESTARTFAILURE=Usluga se trenutno ne mo\u017ee ponovno pokrenuti
+MESSAGING_SERVICE_SERVICERESTARTED=Postavke spremljene, usluga aktivirana
+
+MESSAGING_SERVICE_CONFIGTEXT=Sljede\u0107e usluge za razmjenu poruka su dostupne:
+
+
+PROFILE_MESSAGING_SERVICE=Usluga razmjene poruka
+PROFILE_MESSAGING_USERID=Po\u0161alji poruku
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Usluga razmjene poruka nije postavljena.
+PROFILE_SAVE_ERROR=Odabir jezika trenutno ne mo\u017ee biti spremljen!
+PROFILE_SAVE_SUCCESS=Odabir jezika spremljen
+PROFILE_GROUPS=Grupe
+PROFILE_GROUP_DESC=Opis grupe
+PROFILE_LOCALE=Odabrani jezik:
+PROFILE_SAVE=Spremi izmjene
+PROFILE_EDIT=Izmjeni postavke za
+PROFILE_VIEW=Prika\u017ei postavke za
+PROFILE_LASTLOGIN=Vrijeme posljednjeg pristupa:
+PROFILE_SETTINGS=Postavke profila
+PROFILE_CONFIG_MSG=Izmjeni podr\u017eane jezike dodavanjem ISO koda jezika u listu.
+PROFILE_LOCALES=Podr\u017eani jezici:
+PROFILE_PASSWORD=Lozinka:
+PROFILE_PASSWORD2=Provjera lozinke:
+
+LAYOUT_THEME_SAVE=Spremi temu
+LAYOUT_TAB_CONFIG=Postavke tabova
+LAYOUT_TAB_EDIT=Izmjeni naslove postoje\u0107ih tabova:
+LAYOUT_APPLY=Spremi izmjene
+LAYOUT_TAB_DEL=Obri\u0161i tab
+LAYOUT_WARNING=Pa\u017enja! Akcija \u0107e obrisati odabrani tab
+LAYOUT_NEW_TAB=Stvori novi tab
+
+LAYOUT_SUBTAB_CONFIG=Izmjena postavki podtabova
+LAYOUT_TAB_SELECT=Odaberi tab
+LAYOUT_SUBTAB_EDIT=Izmjeni naslove raspolo\u017eivih podtabova
+LAYOUT_SUBTAB_DEL=Obri\u0161i podtab
+LAYOUT_NEW_SUBTAB=Stvori novi podatb
+LAYOUT_SUBTAB_EDIT2=Unesi naslov podtaba:
+LAYOUT_PORTLET_CONF=Postavke portleta
+LAYOUT_SUBTAB_SEL=Odaberi podtab
+LAYOUT_TABLE=Izgled tablice portleta
+LAYOUT_ADD_ROW=Dodaj novi red u tablicu
+LAYOUT_SAVE=Spremi izmjene na portletu
+LAYOUT_CONFIG_THEMES=Izmjeni podr\u017eane teme dodavanjem imena novog direktorija u listu:
+LAYOUT_SUPPORTED_THEMES=Podr\u017eane teme:
+
+USERNAME=Korisni\u010dko ime:
+FAMILYNAME=Prezime:
+GIVENNAME=Ime:
+FULLNAME=Ime i prezime:
+EMAILADDRESS=Email adresa:
+ORGANIZATION=Organizacija:
+LOCALE=Jezik:
+PASSWORD=Lozinka:
+CONFIRM_PASS=Potvrdi lozinku:
+ROLE=Uloga:
+SAVE=Spremi
+CANCEL=Odustani
+OK=Ok
+APPLY=Spremi izmjene
+TIMEZONE=Vremenska zona:
+
+CONFIGURE=Izmjeni postavke
+EDIT=Izmjeni
+HELP=Pomo\u0107
+VIEW=Prika\u017ei
+
+NORMAL=Normalna veli\u010dina
+MINIMIZED=Smanji
+MAXIMIZED=Pove\u0107aj
+RESIZING=Promijeni veli\u010dinu
+
+BANNER_TITLE=Prika\u017ei naslov:
+BANNER_FILE=Prika\u017ei datoteku:
+BANNER_CONFIGURE=Postavke prikaza su spremljene
+BANNER_FAILURE=Datoteka s postavkama se ne mo\u017ee spremiti!
+BANNER_NOFILES_START=Datoteke ne postoje. Molimo
+BANNER_NOFILES_END=snimi datoteke na portal
+BANNER_FILE_NOTFOUND=Datoteku nije mogu\u0107e prona\u0107i!
+BANNER_HELP=Pomo\u0107
+BANNER_EDIT=Izmjeni stranicu koja se prikazuje
+BANNER_NOFILE_SELECTED=Datoteka nije odabrana!
+
+FILE_DELETE=Obri\u0161i datoteku
+FILE_EDIT=Izmjeni datoteku
+FILE_SAVE=Spremi datoteku
+FILE_DOWNLOAD=Spremi datoteku na lokalno ra\u010dunalo
+FILE_UPLOAD=Spremi datoteku na portal
+FILE_NAME=Datoteka:
+FILE_LIST=Ispi\u0161i datoteke:
+FILE_UPLOAD_FAIL=Datoteka se ne mo\u017ee spremiti na portal!
+FILE_UPLOAD_TOOBIG=Datoteka prekora\u010duje ograni\u010denje!
+FILE_SAVE_FAIL=Datoteka ne mo\u017ee biti spremljena:
+FILE_DISPLAY=Prikazana datoteka:
+FILE_OPEN_FAIL=Datoteka ne mo\u017ee biti otvorena:
+FILE_EMPTY_DIRECTORY=direktorij prazan
+
+GROUP_ADMIN_SELECT_USER=Odaberite korisnika kojeg \u017eelite dodati u grupu
+GROUP_PORTLET_GROUP=Grupa portleta:
+GROUP_ADD_USER=Korisnik:
+GROUP_ROLEIN_GROUP=Izmjeni ulogu:
+GROUP_ADD_USERS=Dodaj korisnike
+GROUP_CANCEL_ADD=Odustani od dodavanja
+GROUP_GO_BACK=Povratak na popis grupa
+GROUP_LIST_GROUPS=Ispi\u0161i grupe
+GROUP_USERS_ADDED=Sljede\u0107i korisnici su dodani u
+GROUP_REMOVE_USERS=Obri\u0161i korisnike
+GROUP_CANCEL_REMOVE=Odustani od brisanja
+GROUP_REMOVE_MSG=Odaberite korisnike koje \u017eelite obrisati iz grupe:
+GROUP_SELECTION=Odabir
+GROUP_ROLE_CHANGE=Izmjeni ulogu korisnika
+GROUP_REMOVE_USER=Obri\u0161i korisnika iz grupe
+GROUP_NAME=Ime grupe:
+GROUP_LABEL=Naziv grupe:
+GROUP_ACCESS=Pristup grupe:
+GROUP_DESCRIPTION=Opis grupe:
+GROUP_ACTION=Akcija:
+GROUP_DELETE=Obri\u0161i grupe:
+GROUP_PRIVATE=privatna
+GROUP_PUBLIC=javna
+GROUP_NOUSERS=Ne postoje korisnici koje mo\u017eete dodati u grupu
+GROUP_NOTIFY=Ova grupa je privatna. Molimo po\u0161aljite email
+GROUP_ADMIN=administrator
+GROUP_MANAGE_USERS=Izmjeni korisnike:
+
+PORTLET_WEBAPP=Ime
+PORTLET_DESC=Opis
+PORTLET_RUNNING=Aktivno
+PORTLET_SESSIONS=Sjednice
+PORTLET_ACTIONS=Akcije
+PORTLET_GS_MSG=Osnovni skup GridSphere portleta ne mo\u017ee biti ponovno instaliran niti obrisan
+PORTLET_START=pokreni
+PORTLET_STOP=zaustavi
+PORTLET_RELOAD=ponovno napuni
+PORTLET_REMOVE=obri\u0161i
+PORTLET_DEPLOY_MSG=Instaliraj novi portlet
+PORTLET_WEBAPP_MSG=Unesi ime web aplikacije
+PORTLET_DEPLOY=Instaliraj
+PORTLET_UPLOAD=Spremi WAR datoteku portleta na portal
+PORTLET_FILE=Datoteka:
+PORTLET_ERR_DEPLOY=Nije mogu\u0107e instalirati web aplikaciju
+PORTLET_ERR_REGISTRY=Spremnik portleta je privremeno nedostupan
+PORTLET_ERR_UPLOAD=Nije mogu\u0107e spremiti datoteku!
+PORTLET_ERR_TOMCAT=Gre\u0161ka u Tomcat poslu\u017eitelju!
+PORTLET_ERR_IO=Gre\u0161ka u radu s lokalnim diskom!
+PORTLET_ERR_LIST=Nije mogu\u0107e dohvatiti listu portleta. Provjerite da li je Tomcat postavljen prema uputama za instalaciju.
+
+USER_CONFIRM_DELETE=Potvrdi brisanje
+USER_CANCEL_DELETE=Odustani od brisanja 
+USER_DELETE_MSG=Navedeni korisnik je izbrisan:
+USER_SAVE=Spremi izmjene
+USER_CANCEL_EDIT=Odustani od izmjena
+USER_ROLE=Uloga u Gridsphereu:
+USER_NEW_USER=Novi korisnik
+USER_LIST_USERS=Ispi\u0161i korisnike
+USER_EDIT_USER=Izmjeni korisnika
+USER_DELETE_USER=Obri\u0161i korisnika
+USER_NAME_BLANK=Korisni\u010dko ime mora biti navedeno!
+USER_EXISTS=Korisnik s odabranim imenom ve\u0107 postoji. Molimo unesite drugo ime.
+USER_NEED_EMAIL=Ispravna email adresa mora biti navedena!
+USER_FULLNAME_BLANK=Puno ime i prezime mora biti navedeno!
+USER_FAMILYNAME_BLANK=Prezime mora biti navedeno!
+USER_GIVENNAME_BLANK=Ime mora biti navedeno!
+USER_PASSWORD_BLANK=Lozinka mora biti navedena!
+USER_PASSWORD_MISMATCH=Lozinka potvrde mora odgovarati izvornoj lozinci!
+USER_PASSWORD_TOOSHORT=Lozinka mora biti dulja od 5 slova!
+USER_NEW_ACCOUNT=Novi korisnik stvoren.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Unesite korisni\u010dko ime
+
+COMMANDER_HELP=Pomo\u0107 jo\u0161 uvijek nije ostvarena
+COMMANDER_ERROR_INIT=Trenutno nije dostupan direktorij na portalu !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=Datoteka je prevelika
+COMMANDER_ERROR_LOAD=Datoteku nije mogu\u0107e u\u010ditati
+COMMANDER_ERROR_DIR_READ=Nije mogu\u0107e otvoriti direktorij
+COMMANDER_ERROR_DIR_BACK=povratak u root direktorij
+COMMANDER_RESOURCE=resurs
+COMMANDER_SIZE=veli\u010dina
+COMMANDER_LAST_MODIFIED=vrijeme posljednje izmjene
+COMMANDER_FILE_NAME=Datoteka:
+COMMANDER_FILE_UPLOAD=Spremi datoteke na portal
+COMMANDER_DIR_FILE_NAME=Ime datoteke ili direktorija
+COMMANDER_MKDIR=novi direktorij
+COMMANDER_TOUCH=nova datoteka
+COMMANDER_COPY=Presnimi
+COMMANDER_MOVE=Premjesti
+COMMANDER_DELETE=Obri\u0161i
+COMMANDER_CANCEL=Odustani
+COMMANDER_SAVE=Spremi
+COMMANDER_EDIT=izmjeni
+
+# new stuff
+ORIG_PASSWORD=Unesite izvornu lozinku:
+USER_PASSWORD_INVALID=Lozinka je neispravna!
+USER_PASSWORD_NOTSET=Lozinka nije postavljena!
+USER_PASSWORD_SUCCESS=Lozinka uspje\u0161no izmijenjena
+USER_GROUPS_SUCCESS=Postavke grupe spremljene
+USER_UPDATE_SUCCESS=Korisni\u010dke postavke spremljene
+
+LOGIN_FORGOT_PASSWORD=Zaboravili ste lozinku?
+LOGIN_FORGOT_TEXT=Unesite email adresu i primit \u0107e te upute kako stvoriti novu lozinku
+LOGIN_REQUEST_EMAIL=Unesite email adresu:
+LOGIN_NO_EMAIL=Unesite ispravnu email adresu!
+LOGIN_NOEXIST=Ne postoji korisnik s navedenom email adresom!
+LOGIN_FORGOT_MAIL=Odaberite navedeni link za stvaranje nove lozinke na portalu:
+
+MAIL_CONFIG_MSG=Izmjeni mail postavke
+MAIL_SERVER_MSG=Unesite adresu ra\u010dunala na kojem se nalazi SMTP servis (ostaviti prazno ako je SMTP na lokalnom ra\u010dunalu)
+MAIL_FROM_MSG=Unesite email adresu portala (s ove adrese \u0107e korisnici primati obavijesti)
+MAIL_SUBJECT_MSG=Unesite liniju naslova emaila:
+MAIL_SUBJECT_HEADER=Lozinka portala
+
+
+LAYOUT_THEME=Postavke teme
+LAYOUT_SELECT_THEME=Odaberi temu:
+LAYOUT_TAB_NAME=Unesite naslov taba:
+LAYOUT_ONE_COL=Jedan stupac
+LAYOUT_TWO_COL=Dva stupca
+LAYOUT_THREE_COL=Tri stupca
+CREATE=Stvori
+LAYOUT_DISP_TABS=Prika\u017ei postoje\u0107e tabove
+LAYOUT_SHOW_TAB=Ime taba
+LAYOUT_EDIT_TAB=Izmjeni ime taba
+LAYOUT_DELETE_TAB=Obri\u0161i tab
+
+DELETE=Obri\u0161i
+
+
+LAYOUTMGR_EDIT_BANNER=Izmjena naslov
+LAYOUTMGR_EDIT_MSG=Izmjenite HTML kod naslova portala
+LAYOUTMGR_EDIT_THEME=Odabir podrazumijevane teme
+LAYOUTMGR_THEME_MSG=Odaberite iz liste dostupnih tema:
+LAYOUTMGR_GUEST=Izgled za gosta
+LAYOUTMGR_GROUPS=Izgledi grupa
+LAYOUTMGR_EDIT_GUEST=Izmjeni izgled za gosta
+LAYOUTMGR_GROUP_MSG=Dostupni su sljede\u0107i izgledi grupa:
+LAYOUTMGR_GROUP_EDIT=Izmjeni izgled
+LAYOUTMGR_GROUP_DELETE=Obri\u0161i izgled
+LAYOUTMGR_IMPORT=Dodaj postoje\u0107i izgled aplikacije:
+
+
+GROUP_CREATE_NAME=Unesite ime grupe:
+GROUP_DESC_MSG=Unesite kratak opis grupe:
+GROUP_VISIBILITY_MSG=Vidljivost grupe (Skrivene grupe nisu vidljive korisnicima. Samo administrator mo\u017ee dodati nove korisnike u skrivene grupe.)
+GROUP_VISIBILITY_DESC=Odaberite da li je grupa privatna ili javna. Korisnici se sami mogu dodavati u javne grupe. Za dodavanje u privatne grupe potrebno je dobiti dopu\u0161tenje administratora grupe. Skrivene grupe nisu vidljive korisnicima. Samo administrator mo\u017ee dodati nove korisnike u skrivene grupe.
+GROUP_SELECT_MSG=Odaberite portlete koji \u0107e biti dostupni grupi. Korisnici grupe \u0107e mo\u0107i dodavati portlete svom izgledu portala. Dodatno, korisnicima \u0107e biti raspolo\u017eive uloge portleta.
+GROUP_EDIT_USERS=Izmjeni korisnike
+GROUP_CREATE_NEW=Stvori novu grupu
+GROUP_EDIT_DEFS=Izmjeni podrazumijevane grupe
+GROUP_EDIT_DEFS_MSG=Novi korisnici \u0107e automatski postati \u010dlanovi odabranih grupa
+
+
+PROFILE_CONFIG_MESSAGING=Postavke usluge razmjene poruka
+PROFILE_CONFIG_GROUPS=Postavke \u010dlanova grupe
+PROFILE_UPDATE_PASS=Obnovi lozinku
+
+SUBSCRIPTION_SUBSCRIBE=Odaberi
+SUBSCRIPTION_DESC=Opis portleta
+SUBSCRIPTION_REQROLE=Potrebna uloga
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Uspje\u0161no obrisan izgled grupe:
+LAYOUTMGR_VALID_LAYOUT=Uspje\u0161no izmijenjen izgled. Da bi vidjeli izmjene potrebno je odjaviti se i ponovno prijaviti na portal
+LAYOUTMGR_INVALID_LAYOUT=Do\u0161lo je do gre\u0161ke kod spremanja izgleda. Provjerite da li je opis izgleda ispravan!
+
+GROUP_INVALID_NAME=Navedite ime grupe!
+GROUP_INVALID_DESC=Navedite opis grupe!
+GROUP_INVALID_PORTLETS=Odaberite barem jedan portlet koji \u0107e biti dostupan grupi!
+GROUP_REMOVE_USERS_MSG=Potrebno je obrisati sve korisnike iz grupe prije brisanja!
+GROUP_NOUSERS_SELECTED=Potrebno je odabrati korisnike za brisanje iz grupe!
+GROUP_REMOVE_GROUP_SUCCESS=Uspje\u0161no obrisana grupa:
+GROUP_REMOVE_USER_SUCCESS=Uspje\u0161no obrisan korisnik iz grupa!
+GROUP_ADD_USER_SUCCESS=Uspje\u0161no dodan korisniku grupu:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Uspje\u0161no spremljene podrazumijevane grupe!
+GROUP_MODIFY_USERS=Izmjeni korisnike
+
+GROUP_NEWGROUP_SUCCESS=Uspje\u0161no spremljeni podaci o grupi
+GROUP_VISIBILITY_MOREDESC=Provjerite da li je definiran administrator grupe (s ispravnom email adresom) koji \u0107e odobravati zahtjeve za pristup grupi
+
+LOGIN_SUCCESS_MAIL=Uskoro \u0107ete primiti email s podacima o obnovi lozinke
+LOGIN_FAILURE_MAIL=Nije mogu\u0107e poslati email obavijest!
+
+PROFILE_ROLE_DESC=Uloga u grupi
+
+PORTLET_SUC_TOMCAT=Uspje\u0161no obavljena operacija
+PORTLET_SUC_DEPLOY=Uspje\u0161no instalirana web aplikacija:
+
+USER_CREATE_USER=Stvori novog korisnika
+USER_SHOW_USERS=Prika\u017ei sve korisnike
+USER_VIEW_USER=Prika\u017ei podatke o korisniku
+USER_EDIT_USER_MSG=Izmjeni podatke o korisniku
+USER_PASS_BLANK_MSG=Ostavite polje s lozinkom prazno ukoliko \u017eelite zadr\u017eati lozinku postoje\u0107eg korisnika
+USER_DELETE_SUCCESS=Korisnik je uspje\u0161no obrisan!
+USER_NEW_SUCCESS=Korisnik je uspje\u0161no stvoren!
+USER_EDIT_SUCCESS=Podaci o korisniku su uspje\u0161no izmijenjeni!
+
+LAYOUT_SAMETAB_ERROR=Tab s navedenim imenom ve\u0107 postoji! Molimo odaberite novo ime
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Zapamti korisni\u010dko ime
+LAYOUT_NOTAB_ERROR=Unesite naslov taba!
+GROUP_INFO=Podaci o grupi
+GROUP_LAYOUT_HEADER=Izgled grupe
+GROUP_SELECT_PORTLETS=Odaberi portlete
+GROUP_CREATE_TEMPLATE=Odaberi izgled predlo\u0161ka
+GROUP_CUSTOMIZE_LAYOUT=Izmjeni izgled
+GROUP_LAYOUT_MSG=Svaka grupa ima pripadni izgled. Potrebno je prvo stvoriti predlo\u017eak izgleda, a zatim prilagoditi predlo\u017eak pomo\u0107u portleta Upravitelj izgledima
+GROUP_TEMPLATE_MSG=Predlo\u017eak izgleda stvara tab i stavlja svaki portlet definiran u grupi u zasebni podtab
+GROUP_LAYOUT_CUSTOM=Izmjenite izgled koriste\u0107i portlet Upravitelj Izgleda i datoteku s opisom izgleda
+GROUP_MANAGE_MSG=Izmjeni korisnike grupe:
+LOGIN_AUTHMODULES_MSG=Postavke autentikacijskih modula
+LOGIN_AUTHMODULES_ONEREQ=Potrebno je odabrati barem jedan autentikacijski modul!
+LOGIN_MODULE_NAME=Ime
+LOGIN_MODULE_DESC=Opis
+LOGIN_MODULE_ISACTIVE=Aktiviran?
+LOGIN_MODULE_PRIORITY=Prioritet
+
+LAYOUTMGR_EDIT_FOOTER=Izmjena dna stranice
+LAYOUTMGR_EDIT_FOOTER_MSG=Izmjenite HTML kod dna stranice portala
+
+LOGIN_ACTIVATE_MAIL=Odaberite navedeni link za aktivaciju korisnika na portalu:
+MAIL_ACCT_HEADER=Korisnik na portalu:
+LOGIN_ACCT_MAIL=Uskoro \u0107e te primiti email s uputama za aktiviranje korisnika
+LOGIN_CREATE_ACCT=Molimo, unesite informacije o korisniku i bit \u0107e poslan email s uputama za aktivaciju.
+
+GROUP_MANAGE_PORTLETS=Upravljanje portletima:
+GROUP_EDIT_PORTLETS=Odaberite portlete
+
+PORTLET_CURRENT=web aplikacija - portlet
+PORTLET_NON=web aplikacija koja nije portlet
+PORTLET_NONWEBAPP=Web aplikacija
+
+SESSION_ACTIVE=Broj aktivnih sjednica (korisnici + gosti):
+SESSION_USERS=Prijavljeno korisnika:
+
+# 2.0.3
+GROUP_DEFAULT=Podrazumijevana
+GROUP_HIDDEN=skrivena
+
+LOGIN_CONFIG_NOTIFY=Dopusti korisnicima da poni\u0161te lozinku ukoliko ju zaborave?
+LOGIN_CONFIG_PASSWD=Spremi lozinke u GridSphere bazu podataka?
+LOGIN_CONFIG_PASSWD1=potrebno odabrati, osim u slu\u010daju da je modul PasswordAuthModule onemogu\u0107en
+LOGIN_CONFIG_PASSWD2=potrebno odabrati ako je odabrana opcija "Dopusti korisnicima da poni\u0161te lozinku ukoliko ju zaborave?"
+
+GROUP_WIZARD_1=\u010carobnjak za stvaranje grupe
+GROUP_WIZARD_2=\u010carobnjak za stvaranje grupe (Korak 2 od 2)
+GROUP_LAYOUT_FILE=Unesite ime datoteke koja sadr\u017ei opis izgleda
+GROUP_INVALID_LAYOUTFILE=ime datoteke izgleda ne mo\u017ee biti prazno!
+
+ROLENAME=Ime uloge
+ROLEPRIORITY=Prioritet uloge
+ROLE_SHOW_ROLES=Prika\u017ei sve uloge
+ROLE_CREATE_ROLE=Stvori novu ulogu
+ROLE_DELETE_MSG=Uloga uspje\u0161no obrisana
+ROLE_EXISTS_MSG=Uloga s navedenim imenom ve\u0107 postoji. Molimo obri\u0161ite staru ili navedite drugo ime!
+ROLE_CREATE_MSG=Nova uloga uspje\u0161no stvorena
+ROLE_SAVE=Spremi ulogu
+ROLE_EDIT_MSG=Izmjeni podatke o ulozi
+ROLEDEL=Obri\u0161i ulogu
+
+USER_ACCOUNT_STATUS=Onemogu\u0107i korisnika?
+
+TRACKING_DATE=Datum:
+TRACKING_USERAGENT=Klijent:
+TRACKING_NUMACTIONS=Ukupan broj aktivnosti:
+TRACKING_STATS=Statistike bilje\u017eenja
+TRACKING_SELECT_MSG=Odaberite naslov bilje\u017eenja za detaljnije informacije:
+TRACKING_DOWNLOAD=Spremi u obliku Excel tablice
+TRACKING_DISPLAY_ACTION=Prika\u017ei aktivnosti koje se bilje\u017ee
+TRACKING_ADD_ACTION=Izmjeni aktivnosti koje se bilje\u017ee
+TRACKING_CREATE_ACTION=Stvori novu aktivnost koja se bilje\u017ei
+TRACKING_CREATE_MSG=Unesite naziv aktivnosti:
+TRACKING_ACTION=Naziv aktivnosti:
+TRACKING_ENABLED=Omogu\u0107ena:
+TRACKING_DELETE=Obri\u0161i aktivnost:
+
+LOGIN_AUTH_BLANK=Korisni\u010dko ime ili lozinka su prazni
+LOGIN_AUTH_NOUSER=Korisnik ne postoji
+LOGIN_AUTH_DISABLED=Korisnik je onemogu\u0107en

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,294 @@
+# $Id: Portlet_hu.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=Felhaszn\u00E1l\u00F3
+LOGIN_PASS=Jelsz\u00F3
+LOGIN_SUCCESS=\u00DCdv\u00F6z\u00F6llek!
+LOGIN_FAILED=A felhaszn\u00E1l\u00F3 neved \u00E9s/vagy  jelszavad hib\u00E1s. K\u00E9rlek  pr\u00F3b\u00E1ld  \u00FAjra!
+LOGIN_ACTION=Bejelentkez\u00E9s
+LOGIN_CONFIGURE=Bejelentkez\u00e9s be\u00e1ll\u00edt\u00e1sa
+LOGIN_CONFIG_MSG=A bejelentkez\u00e9s be\u00e1ll\u00edt\u00e1s\u00e1nak lehet\u0151s\u00e9gei
+LOGIN_CONFIG_ALLOW=B\u00e1rki k\u00e9sz\u00edthet felhaszn\u00e1l\u00f3i t\u00e9masz\u00e1mot?
+LOGIN_SIGNUP=\u00DAj felhaszn\u00E1l\u00F3
+
+NOTEPAD_EDIT=Jegyzet szerkeszt\u00E9se
+NOTEPAD_CREATE=\u00DAj jegyzet szerkeszt\u00E9se
+NOTEPAD_DELETE=Jegyzet t\u00F6rl\u00E9se
+NOTEPAD_SHOWLIST=Minen jegyzet
+NOTEPAD_UPDATE=Jegyzet aktualiz\u00E1l\u00E1sa
+NOTEPAD_ADD=Jegyzet hozz\u00E1ad\u00E1sa
+NOTEPAD_SEARCH=Keres\u00E9s
+NOTEPAD_NOTEEXISTS=Jegyzet m\u00E1r l\u00E9tezik!
+NOTEPAD_DBERROR=Adatb\u00E1zis probl\u00E9ma! K\u00E9rem vegye fel a kapcsolatot az Adminisztr\u00E1torral!
+NOTEPAD_DELETE_SELECTED=Kiv\u00e1lasztott jegyzetek t\u00f6rl\u00e9se
+
+MESSAGING_USERNOTONSERVICE=A felhaszn\u00e1l\u00f3 nem iratkozott fel erre szolg\u00e1ltat\u00e1sra.
+MESSAGING_NOUSERSELECTED=K\u00e9relek v\u00e1laszd ki, az \u00fczenet c\u00edmzetj\u00e9t!
+MESSAGING_SEND=K\u00fcld\u00e9s
+MESSAGING_TO=c\u00edmzett
+MESSAGING_VIA=haszn\u00e1lva
+MESSAGING_SENDIT=K\u00fcld!
+MESSAGING_CHOOSESERVICETOEDIT=V\u00e1laszd ki melyik szolg\u00e1ltat\u00e1st k\u00edv\u00e1nod szerkeszteni
+MESSAGING_EDITSETTINGS=Be\u00e1ll\u00edt\u00e1sok szerkeszt\u00e9se
+MESSAGING_USERNAME=Ez a szolg\u00e1ltat\u00e1s \u00fczenetet k\u00fcld a
+MESSAGING_SAVESETTINGS=\u00dczenetek ment\u00e9se
+MESSAGING_DELETESETTINGS=\u00dczenetek t\u00f6rl\u00e9se
+MESSAGING_CANCEL=M\u00e9gse
+MESSAGING_SERVICE_SMS=A szolg\u00e1ltat\u00e1s R\u00f6vid Sz\u00f6veges \u00dczenetet k\u00fcld (SMS)
+MESSAGING_SERVICE_AIM=A szolg\u00e1ltat\u00e1s  AOL Instant Messenger \u00fczenetet k\u00fcld (AIM/Apple iChat) 
+MESSAGING_SERVICE_MAIL=A szolg\u00e1ltat\u00e1s elektronikus \u00fczenetet k\u00fcld (EMail)
+MESSAGING_NO_SERVICE_CONFIGURED=Nem konfigur\u00e1lt szolg\u00e1ltat\u00e1s.
+MESSAGING_OK=Ok
+
+PROFILE_MESSAGING_SERVICE=\u00dczenetk\u00fcld\u0151 Szolg\u00e1ltat\u00e1s
+PROFILE_MESSAGING_USERID=K\u00fcldj \u00fczenetet
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Nincs az \u00fczenet k\u00fcld\u0151 szolg\u00e1ltat\u00e1s konfigur\u00e1lva.
+PROFILE_SAVE_ERROR=A nyelvi be\u00E1ll\u00EDt\u00E1sok ment\u00E9se nem siker\u00FClt!
+PROFILE_SAVE_SUCCESS=Nyelvi be\u00E1ll\u00EDt\u00E9sok elmentve
+PROFILE_GROUPS=Csoportok:
+PROFILE_GROUP_DESC=Csoport Le\u00EDr\u00E1s:
+PROFILE_LOCALE=Prefer\u00E1lt nyelv: 
+PROFILE_SAVE=V\u00E1ltoz\u00E1sok ment\u00E9se
+PROFILE_EDIT=Be\u00E1ll\u00EDt\u00E1s\u00E1nak szerkeszt\u00E9se
+PROFILE_VIEW=Be\u00E1ll\u00EDt\u00E1s\u00E1nak megtekint\u00E9se
+PROFILE_LASTLOGIN=Utols\u00F3 bel\u00E9p\u00E9si id\u0151:
+PROFILE_SETTINGS=Profil be\u00E1ll\u00EDt\u00E1sai
+PROFILE_CONFIG_MSG=Konfigur\u00e1ld a t\u00e1mogatott nyelveket,azaz ad meg a kis k\u00e9t bet\u00fcs ISO nyelv k\u00f3odokat vessz\u0151vel elv\u00e1lasztva:
+PROFILE_LOCALES=T\u00e1mogatott nyelvek:
+PROFILE_PASSWORD=Jelsz\u00f3:
+PROFILE_PASSWORD2=Jelsz\u00f3 ellen\u0151rz\u00e9se:
+
+SUBSCRIPTION_START=V\u00E1laszd ki azokat a portleteket a list\u00E1b\u00F3l, melyeket 
+SUBSCRIPTION_MIDDLE=k\u00E9perny\u0151 feloszt\u00E1s portlet 
+SUBSCRIPTION_END=seg\u00EDts\u00E9g\u00E9vel panelhez hozz\u00E1rendelheted, vagy t\u00F6r\u00F6lheted a paneler\u0151l.
+SUBSCRIPTION_APPLY=V\u00E1ltoz\u00E1sok ment\u00E9se
+SUBSCRIPTION_SUBSCRIBE=Feliratkoz\u00E1s
+SUBSCRIPTION_DESC=Portlet Le\u00EDr\u00E1s
+
+LAYOUT_DELROW=Sor t\u00F6rl\u00E9se
+LAYOUT_RESET=Alap\u00e9rtelmezett kin\u00e9zet
+LAYOUT_ADDPORTLET=\u00DAj portlet hozz\u00E1ad\u00E1sa
+LAYOUT_UNTITLED_TAB=C\u00EDmtelen
+LAYOUT_THEME=T\u00E9ma konfigur\u00E1ci\u00F3ja
+LAYOUT_SELECT_THEME=V\u00E1lasz egy t\u00E9m\u00E1t:
+LAYOUT_THEME_SAVE=T\u00E9ma ment\u00E9se
+LAYOUT_TAB_CONFIG=Panel konfigur\u00E1ci\u00F3ja
+LAYOUT_TAB_EDIT=Az el\u00E9rhet\u0151 panelek nev\u00E9nek szerkeszt\u00E9se:
+LAYOUT_APPLY=V\u00E1ltoz\u00E1sok ment\u00E9se
+LAYOUT_TAB_DEL=Panel t\u00F6rl\u00E9se
+LAYOUT_WARNING=Figyelem! ez t\u00F6rli a kiv\u00E1lasztott panel \u00F6sszes portletj\u00E9t
+LAYOUT_NEW_TAB=\u00DAj panel l\u00E9trehoz\u00E1sa
+LAYOUT_TAB_EDIT2=Add meg a panel c\u00EDm\u00E9t:
+LAYOUT_SUBTAB_CONFIG=Alpanel konfigur\u00E1ci\u00F3
+LAYOUT_TAB_SELECT=V\u00E1lasz egy panelt
+LAYOUT_SUBTAB_EDIT=Az el\u00E9rhet\u0151 alpanelek nev\u00E9nek szerkeszt\u00E9se:
+LAYOUT_SUBTAB_DEL=Alpanel t\u00F6rl\u00E9se
+LAYOUT_NEW_SUBTAB=\u00DAj alpanel l\u00E9trehoz\u00E1sa
+LAYOUT_SUBTAB_EDIT2=Add meg az alpanel c\u00EDm\u00E9t:
+LAYOUT_PORTLET_CONF=Portlet konfigur\u00E1c\u00F3
+LAYOUT_SUBTAB_SEL=V\u00E1lasz egy alpanelt
+LAYOUT_TABLE=Portlet k\u00E9perny\u0151 feloszt\u00E1si t\u00E1bl\u00E1zat
+LAYOUT_ADD_ROW=\u00DAj t\u00E1blasor hozz\u00E1ad\u00E1sa
+LAYOUT_SAVE=Portlet v\u00E1ltoz\u00E1sok ment\u00E9se
+LAYOUT_CONFIG_THEMES=A CSS k\u00F6nyvt\u00E1rak nev\u00E9nek vessz\u0151kkel elv\u00E1lasztott list\u00E1j\u00E1val, add meg az el\u00E9rhet\u0151 t\u00E9m\u00E1kat:
+LAYOUT_SUPPORTED_THEMES=El\u00E9rhet\u0151 t\u00E9m\u00E1k:
+
+USERNAME=Felhaszn\u00E1l\u00F3in\u00E9v:
+FAMILYNAME=Csal\u00E1dn\u00E9v:
+GIVENNAME=Keresztn\u00E9v:
+FULLNAME=Teljes n\u00E9v:
+EMAILADDRESS=Email c\u00EDm:
+ORGANIZATION=Szervezet:
+LOCALE=Nyelv:
+PASSWORD=Jelsz\u00F3:
+CONFIRM_PASS=Jelsz\u00F3 meger\u0151s\u00EDt\u00E9s:
+ROLE=Szerep:
+SAVE=Ment\u00E9s
+CANCEL=Visszavon
+OK=Ok
+APPLY=V\u00e1ltoz\u00e1sok Alkalmaz\u00e1sa
+TIMEZONE=Id\u0151z\u00f3na:
+
+CONFIGURE=Be\u00E1ll\u00EDt\u00E1sok
+EDIT=Szerkeszt\u00E9s
+HELP=Seg\u00EDts\u00E9g
+VIEW=N\u00E9zet
+
+NORMAL=Alap\u00E9rtelmeyett m\u00E9ret
+MINIMIZED=Minimaliz\u00E1l\u00E1s
+MAXIMIZED=Maximaliz\u00E1l\u00E1s
+RESIZING=\u00C1tm\u00E9retez\u00E9s
+
+GROUP_ADMIN_SELECT_USER=V\u00e1laszd ki a felh\u00e1szn\u00e1l\u00f3t \u00e9s a hozz\u00e1 tartz\u00f3 szerepet:
+GROUP_PORTLET_GROUP=Portlet Csoport:
+GROUP_ADD_USER=Hozz\u00e1adhat\u00f3 felhaszn\u00e1l\u00f3k:
+GROUP_ROLEIN_GROUP=Szerepek a Csoportban:
+GROUP_ADD_USERS=Felhaszn\u00e1l\u00f3k hozz\u00e1ad\u00e1sa
+GROUP_CANCEL_ADD=M\u00e9gse add hozz\u00e1s
+GROUP_GO_BACK=Vissza a Csoporthoz
+GROUP_LIST_GROUPS=Csoportok List\u00e1ja
+GROUP_USERS_ADDED=A k\u00f6vetkez\u0151 felhaszn\u00e1l\u00f3k ad\u00f3dtak hozz\u00e1
+GROUP_REMOVE_USERS=Felhaszn\u00e1l\u00f3k T\u00f6rl\u00e9se
+GROUP_CANCEL_REMOVE=M\u00e9gse T\u00f6r\u00f6ld
+GROUP_REMOVE_MSG=V\u00e1laszd ki azokat a felhaszn\u00e1l\u00f3kat akiket le szeretn\u00e9l t\u00f6r\u00f6lni
+GROUP_SELECTION=Kiv\u00e1lasztott
+GROUP_ROLE_CHANGE=A felhaszn\u00e1l\u00f3 szerep\u00e9nek megv\u00e1ltoztat\u00e1sa
+GROUP_REMOVE_USER=Felhaszn\u00e1l\u00f3 T\u00f6rl\u00e9se a Csoportb\u00f3l
+GROUP_NAME=Csoport Neve:
+GROUP_LABEL=Csoport Cimk\u00e9je:
+GROUP_ACCESS=Csoport Hozz\u00e1f\u00e9r\u00e9s:
+GROUP_DESCRIPTION=Csoport Le\u00edr\u00e1s:
+GROUP_ACTION=M\u0171veletek:
+GROUP_DELETE=Csoportok T\u00f6rl\u00e9se:
+GROUP_PRIVATE=mag\u00e1n
+GROUP_PUBLIC=nyilv\u00e1nos
+GROUP_NOUSERS=Nincs t\u00f6bb ehhez a csoporthoz hozz\u00e1adhat\u00f3 felhaszn\u00e1l\u00f3
+GROUP_NOTIFY=Ez egy nem nyilv\u00e1nos csoport. K\u00e9rlek k\u00fcldj email-t a
+GROUP_ADMIN=aminisztr\u00e1tornak
+GROUP_MANAGE_USERS=Felhaszn\u00e1l\u00f3k Menedzsel\u00e9se:
+
+PORTLET_WEBAPP=Portlet alkalmaz\u00e1s
+PORTLET_DESC=Le\u00edr\u00e1s
+PORTLET_RUNNING=Futatt\u00f3
+PORTLET_SESSIONS=Kapcsolatok
+PORTLET_ACTIONS=Esem\u00e9nyek
+PORTLET_GS_MSG=GridSphere alap\u00e9rtelmezett portleteket nem lehet \u00fajratelp\u00edteni vagy t\u00f6r\u00f6lni
+PORTLET_START=ind\u00edt\u00e1s
+PORTLET_STOP=le\u00e1ll\u00edt\u00e1s
+PORTLET_RELOAD=\u00fajrat\u00f6lt\u00e9s
+PORTLET_REMOVE=t\u00f6rl\u00e9s
+PORTLET_DEPLOY_MSG=\u00daj portlet web alkalmaz\u00e1s telep\u00edt\u00e9se
+PORTLET_WEBAPP_MSG=Add meg a web alkalmaz\u00e1s nev\u00e9t:
+PORTLET_DEPLOY=Telep\u00edt\u00e9s
+PORTLET_UPLOAD=Portlet WAR csomag felt\u00f6lt\u00e9s
+PORTLET_FILE=File:
+PORTLET_ERR_DEPLOY=Nem telp\u00edthet\u0151 a web alkalmaz\u00e1s!
+PORTLET_ERR_REGISTRY=PortletRegistry szolg\u00e1ltat\u00e1s el\u00e9rhetetlen!
+PORTLET_ERR_UPLOAD=A felt\u00f6lt\u00f6tt file nem menthet\u0151 el!
+PORTLET_ERR_TOMCAT=Hiba a Tomcat keretrendszerben!
+PORTLET_ERR_IO=I/O hiba t\u00f6rt\u00e9nt!
+PORTLET_ERR_LIST=Nem lehet a portleteket kilist\u00e1zni. N\u00e9zze meg, hogy a tomcat-users.xml file a felhaszn\u00e1l\u00f3i k\u00e9zik\u00f6nyvnek megfelel\u0151en lett-e \u00e1t\u00edrva.
+
+USER_CONFIRM_DELETE=T\u00f6rl\u00e9s Meger\u0151s\u00edt\u00e9se
+USER_CANCEL_DELETE=M\u00e9gse T\u00f6rl\u00f6m
+USER_DELETE_MSG=A k\u00f6vetkez\u0151 felhaszn\u00e1l\u00f3 le lett t\u00f6r\u00f6lve:
+USER_SAVE=Felhaszn\u00e1l\u00f3 Ment\u00e9s
+USER_CANCEL_EDIT=M\u00e9gse Szerkesztem
+USER_ROLE=Szerep a GridSphere-ben:
+USER_NEW_USER=\u00daj Felhaszn\u00e1l\u00f3
+USER_LIST_USERS=Felhaszn\u00e1l\u00f3k List\u00e1ja
+USER_DELETE_USER=Felhaszn\u00e1l\u00f3 t\u00f6rl\u00e9s
+USER_NAME_BLANK=A felhaszn\u00e1l\u00f3i n\u00e9v nem lehet \u00fcres
+USER_NEED_EMAIL=K\u00e9relek adj meg egy \u00e9rv\u00e9nyes E-mail c\u00edmet !
+USER_FULLNAME_BLANK=A teljes n\u00e9v  megad\u00e1sa k\u00f6telez\u0151 !
+USER_FAMILYNAME_BLANK=A vezt\u00e9kn\u00e9v megad\u00e1sa k\u00f6telez\u0151 !
+USER_GIVENNAME_BLANK=A keresztn\u00e9v megad\u00e1sa k\u00f6telez\u0151 !
+USER_PASSWORD_MISMATCH=A jelsz\u00f3nak \u00e9s a jelsz\u00f3 ellen\u0151rz\u00e9s mez\u0151 tartalm\u00e1nak meg kell egyeznie.
+USER_NEW_ACCOUNT=Elk\u00e9sz\u00fclt az \u00faj felhaszn\u00e1l\u00f3i hozz\u00e1f\u00e9r\u00e9s.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=L\u00e9pj be 
+USER_EXISTS=Ugyanilyen nev\u0171 felhaszn\u00e1l\u00f3 m\u00e1r l\u00e9tezik a rendszerben, k\u00e9rlek v\u00e1lassz m\u00e1sik nevet!
+USER_CREATE_USER=\u00daj felhaszn\u00e1l\u00f3 l\u00e9trehoz\u00e1sa
+USER_SHOW_USERS=Felhaszn\u00e1l\u00f3k megjelen\u00edt\u00e9se
+USER_VIEW_USER=Felhaszn\u00e1l\u00f3 inform\u00e1ci\u00f3k megjelen\u00edt\u00e9se
+USER_EDIT_USER_MSG=Felhaszn\u00e1l\u00f3 inform\u00e1ci\u00f3k szerkeszt\u00e9se
+USER_PASS_BLANK_MSG=Meglev\u0151 felhaszn\u00e1l\u00f3 szerkeszt\u00e9s\u00e9n\u00e9l a r\u00e9gi jelsz\u00f3 megtart\u00e1s\u00e1hoz hagyd \u00fcresen a jelsz\u00f3 mez\u0151t
+USER_DELETE_SUCCESS=Felhaszn\u00e1l\u00f3 t\u00f6r\u00f6lve!
+USER_NEW_SUCCESS=Felhaszn\u00e1l\u00f3 l\u00e9trehozva!
+USER_EDIT_SUCCESS=Felhaszn\u00e1l\u00f3 m\u00f3dos\u00edtva!
+
+# new stuff
+ORIG_PASSWORD=Add meg az eredeti jelszavad:
+USER_PASSWORD_INVALID=A megadott jelsz\u00f3 \u00e9rv\u00e9nytelen!
+USER_PASSWORD_NOTSET=Nincs jelsz\u00f3 be\u00e1ll\u00edtva!
+USER_PASSWORD_BLANK=Jelsz\u00f3 megad\u00e1sa k\u00f6telez\u0151 !
+USER_PASSWORD_TOOSHORT=A jelsz\u00f3nak 5 karaktern\u00e9l hosszabbnak kell lennie!
+USER_PASSWORD_SUCCESS=A jelsz\u00f3 sikersen megv\u00e1ltozott.
+USER_GROUPS_SUCCESS=A csoport tags\u00e1gi inform\u00e1ci\u00f3k sikersen megv\u00e1ltoztak
+USER_UPDATE_SUCCESS=A felhaszn\u00e1l\u00f3i inform\u00e1ci\u00f3k sikeresen megv\u00e1ltoztak
+
+LOGIN_FORGOT_PASSWORD=Elfelejtetted a jelszavad?
+LOGIN_FORGOT_TEXT=K\u00e9rlek add meg e-mail c\u00edmed, amelyre hamarosan megfogod kapni mit kell tenned ahhoz, hogy \u00faj jelsz\u00f3d legyen!
+LOGIN_REQUEST_EMAIL=K\u00e9rlek add meg e-mail c\u00edmedet:
+LOGIN_NO_EMAIL=K\u00e9rlek adj meg \u00e9rv\u00e9nyes e-mail c\u00edmet!
+LOGIN_NOEXIST=Nincs a megadott e-mailhez illeszked\u0151 felhaszn\u00e1l\u00f3!
+LOGIN_FORGOT_MAIL=Megl\u00e9v\u0151 portal felhaszn\u00e1l\u00f3i fi\u00f3kodhoz \u00faj jelsz\u00f3 k\u00e9sz\u00edt\u00e9shez k\u00e9rlek k\u00f6vesd az al\u00e1bbi linket:
+
+MAIL_CONFIG_MSG=A port\u00e1l levelez\u0151fi\u00f3k konfigur\u00e1ci\u00f3ja
+MAIL_SERVER_MSG=Add meg az SMTP levelez\u0151 kiszolg\u00e1l\u00f3t (hagy \u00fcresen ha ez localhost)
+MAIL_FROM_MSG=Add meg a portal e-mail c\u00edm\u00e9t. (A felhaszn\u00e1l\u00f3k ezt a felad\u00f3 c\u00edmet l\u00e1tj\u00e1k majd a kapott levelekben)
+MAIL_SUBJECT_MSG=Add meg a kimen\u0151 levelek t\u00e1rgy\u00e1t:
+MAIL_SUBJECT_HEADER=GridSphere Portal jelsz\u00f3
+
+LAYOUT_TAB_NAME=Add meg az \u00faj lap c\u00edm\u00e9t:
+LAYOUT_ONE_COL=Egy oszlop
+LAYOUT_TWO_COL=K\u00e9t oszlop
+LAYOUT_THREE_COL=H\u00e1rom oszlop
+CREATE=K\u00e9sz\u00edtsd
+LAYOUT_DISP_TABS=Mutasd meg a l\u00e9tez\u0151 lapokat
+LAYOUT_SHOW_TAB=Lap neve
+LAYOUT_EDIT_TAB=Lap nev\u00e9nek szerkeszt\u00e9se
+LAYOUT_DELETE_TAB=Lap t\u00f6rl\u00e9se
+
+DELETE=T\u00f6rl\u00e9s
+
+
+LAYOUTMGR_EDIT_BANNER=Fejr\u00e9sz szerkeszt\u00e9se
+LAYOUTMGR_EDIT_MSG=Lentebb a port\u00e1l fejr\u00e9sz\u00e9nek HTML oldal\u00e1t tudod szerkeszteni
+LAYOUTMGR_EDIT_THEME=V\u00e1lasz Alap\u00e9rtelmezett T\u00e9m\u00e1t
+LAYOUTMGR_THEME_MSG=V\u00e1lassz az el\u00e9rhet\u0151 t\u00e9m\u00e1k list\u00e1j\u00e1b\u00f3l:
+LAYOUTMGR_GUEST=Vend\u00e9g N\u00e9zet
+LAYOUTMGR_GROUPS=Csoport N\u00e9zet
+LAYOUTMGR_EDIT_GUEST=Vend\u00e9g kin\u00e9zet szekeszt\u00e9se
+LAYOUTMGR_GROUP_MSG=A k\u00f6vetkez\u0151 csoport kin\u00e9zetek l\u00e9teznek:
+LAYOUTMGR_GROUP_EDIT=Kin\u00e9zet szerkeszt\u00e9se
+LAYOUTMGR_GROUP_DELETE=Kin\u00e9zet t\u00f6rl\u00e9se
+LAYOUTMGR_IMPORT=L\u00e9tez\u0151 alkalmaz\u00e1s kin\u00e9zetek import\u00e1l\u00e1sa:
+
+
+
+GROUP_CREATE_NAME=Add meg a csoport nevet:
+GROUP_DESC_MSG=A csoport r\u00f6vid le\u00edr\u00e1sa:
+GROUP_VISIBILITY_MSG=A csoport l\u00e1that\u00f3s\u00e1ga
+GROUP_VISIBILITY_DESC=V\u00e1laszd ki hogy a csoport nyilv\u00e1nos vagy nem nyilv\u00e1nos legyen. B\u00e1rki hozz\u00e1adhatja mag\u00e1t egy nyilv\u00e1nos csoporthoz, m\u00edg egy nem nyilv\u00e1nos csoportokhoz autentik\u00e1c\u00f3 is sz\u00fcks\u00e9ges.
+GROUP_SELECT_MSG=V\u00e1laszd ki azokat a portleteket amiket szeretn\u00e9l hogy el\u00e9rhet\u0151 legyen ennek a csoportnak. Az ebbe a csoportba tartoz\u00f3 felhaszn\u00e1l\u00f3k, ezen a portletek k\u00f6z\u00fcl v\u00e1logathatj\u00e1k \u00f6ssze mely portletek jelenjenek meg a saj\u00e1t k\u00e9perny\u0151 kin\u00e9zet\u00fck\u00f6n. Tov\u00e1bb\u00e1, sz\u00fcks\u00e9ges szerepk\u00f6r\u00f6k is \u00f6sszerendelhet\u0151ek a portletekkel.
+GROUP_EDIT_USERS=Felhaszn\u00e1l\u00f3k Szerkeszt\u00e9se
+GROUP_CREATE_NEW=\u00daj csoport l\u00e9trehoz\u00e1sa
+GROUP_EDIT_DEFS=Alap\u00e9rtelmezett csoportok szerkeszt\u00e9se
+GROUP_EDIT_DEFS_MSG=A port\u00e1l \u00faj felhaszn\u00e1l\u00f3i automatikusan hozz\u00e1adhat\u00f3ak k\u00f6vetkez\u0151 csoportokhoz.
+
+
+PROFILE_CONFIG_MESSAGING=\u00dczenetk\u00fcld\u0151 szolg\u00e1ltat\u00e1s konfigur\u00e1ci\u00f3ja
+PROFILE_CONFIG_GROUPS=Csoporttags\u00e1g konfigur\u00e1c\u00f3
+PROFILE_UPDATE_PASS=Jelsz\u00f3 v\u00e1ltoztat\u00e1s
+
+SUBSCRIPTION_REQROLE=Sz\u00fcks\u00e9ges szerepk\u00f6r
+
+LAYOUTMGR_DELETE_LAYOUT=A k\u00f6vetkez\u0151 csoport kin\u00e9zet sikeresen t\u00f6r\u00f6lve:
+LAYOUTMGR_VALID_LAYOUT=A kin\u00e9zet friss\u00edtve. A v\u00e1ltoz\u00e1sok \u00e9rv\u00e9nyes\u00edt\u00e9s\u00e9hez l\u00e9pj ki, majd vissza
+LAYOUTMGR_INVALID_LAYOUT=Hiba t\u00f6rt\u00e9nt a kin\u00e9zet ment\u00e9sekor. Ellen\u0151rizd a le\u00edr\u00f3 \u00e9rv\u00e9nyess\u00e9g\u00e9t!
+
+LAYOUT_RESET_WARNING=Figyelem! ez vissza\u00e1ll\u00edtja a kin\u00e9zetet a szerep \u00e9s csoport tags\u00e1g szerinti alap\u00e9rtelmez\u00e9sre
+
+GROUP_INVALID_NAME=Adj meg csoport nevet!
+GROUP_INVALID_DESC=Adj meg csoport le\u00edr\u00e1st!
+GROUP_INVALID_PORTLETS=V\u00e1lassz ki legal\u00e1bb egy, a csoporthoz adand\u00f3 portletet!
+GROUP_REMOVE_USERS_MSG=A csoport t\u00f6rl\u00e9s\u00e9hez el\u0151sz\u00f6r az \u00f6sszes felhaszn\u00e1l\u00f3t t\u00f6r\u00f6lni kell!
+GROUP_NOUSERS_SELECTED=Nincsenek t\u00f6rl\u00e9sre kijel\u00f6lt felhaszn\u00e1l\u00f3k!
+GROUP_REMOVE_GROUP_SUCCESS=A k\u00f6vetkez\u0151 csoport sikeresen t\u00f6r\u00f6lve:
+GROUP_REMOVE_USER_SUCCESS=A felhaszn\u00e1l\u00f3 t\u00f6rl\u0151d\u00f6tt a csoportokb\u00f3l!
+GROUP_ADD_USER_SUCCESS=A k\u00f6vetkez\u0151 felhaszn\u00e1l\u00f3k ad\u00f3dtak hozz\u00e1 a csoporthoz:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Az alap\u00e9rtelmezett csoport sikeresen elmentve!
+GROUP_MODIFY_USERS=Felhaszn\u00e1l\u00f3k szerkeszt\u00e9se
+
+GROUP_NEWGROUP_SUCCESS=A csoport inform\u00e1ci\u00f3k ment\u00e9se k\u00e9sz
+GROUP_VISIBILITY_MOREDESC=Fontos, hogy a csoportban legyen egy csoport adminisztr\u00e1tor (\u00e9rv\u00e9nyes e-mail c\u00edmmel) aki j\u00f3v\u00e1hagyja a tags\u00e1gi k\u00e9relmeket.
+
+LOGIN_SUCCESS_MAIL=Hamarosan kapsz egy e-mailt a jelsz\u00f3 v\u00e1ltoztat\u00e1shoz sz\u00fcks\u00e9ges teend\u0151kr\u00f6l
+LOGIN_FAILURE_MAIL=Hiba t\u00f6rt\u00e9nt az e-mail k\u00fcld\u00e9sekor!
+
+PROFILE_ROLE_DESC=Csoportbeli szerep
+
+PORTLET_SUC_TOMCAT=A m\u0171velet sikeresen v\u00e9get\u00e9rt
+PORTLET_SUC_DEPLOY=A k\u00f6vetkez\u0151 web alkalmaz\u00e1s sikeresen telep\u00edtve:
+
+LAYOUT_SAMETAB_ERROR=M\u00e1r l\u00e9tezik ilyen nev\u0171 lap. Adj meg m\u00e1sik nevet!
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,284 @@
+# $Id: Portlet_it.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=Nome Utente
+LOGIN_PASS=Password
+LOGIN_SUCCESS=Benvenuto
+LOGIN_FAILED=Nome utente e/o password errati. Si prega di riprovare.
+LOGIN_ACTION=Login
+LOGIN_CONFIGURE=Configura il Login
+LOGIN_CONFIG_MSG=Opzioni di configurazione del login
+LOGIN_CONFIG_ALLOW=Permettere agli utenti di creare nuovi account nel portale?
+LOGIN_SIGNUP=Crea un nuovo account
+
+NOTEPAD_EDIT=Modifica una  Nota
+NOTEPAD_CREATE=Crea una Nota
+NOTEPAD_DELETE=Elimina questa Nota
+NOTEPAD_SHOWLIST=Mostra tutte le  Note
+NOTEPAD_UPDATE=Aggiorna questa Nota
+NOTEPAD_ADD=Aggiungi questa Nota
+NOTEPAD_SEARCH=Cerca
+NOTEPAD_NOTEEXISTS=La nota esiste!
+NOTEPAD_DBERROR=Problema nel Database! Contattare l'amministratore!
+
+MESSAGING_USERNOTONSERVICE=L'utente non \u00e8 iscritto a questo servizio.
+MESSAGING_NOUSERSELECTED=Selezionare l'utente a cui spedire il messaggio.
+MESSAGING_SEND=Invia
+MESSAGING_TO=a
+MESSAGING_VIA=usando
+MESSAGING_SENDIT=Invia!
+MESSAGING_CHOOSESERVICETOEDIT=Selezionare il servizio da modificare
+MESSAGING_EDITSETTINGS=Modifica preferenze
+MESSAGING_USERNAME=Invia messaggi per questo servizio a
+MESSAGING_SAVESETTINGS=Salva preferenze
+MESSAGING_DELETESETTINGS=Elimina preferenze
+MESSAGING_CANCEL=Annulla
+
+PROFILE_MESSAGING_SERVICE=Servizio di Messageria
+PROFILE_MESSAGING_USERID=Invia messaggi a
+PROFILE_SAVE_ERROR=Impossobile salvare le impostazioni locali!
+PROFILE_SAVE_SUCCESS=Impostazioni locali salvate
+PROFILE_GROUPS=Gruppi:
+PROFILE_GROUP_DESC=Descrizione del Gruppo:
+PROFILE_LOCALE=Localizazzione preferita: 
+PROFILE_SAVE=Salva Modifiche
+PROFILE_EDIT=Modifica Impostazioni per:
+PROFILE_VIEW=Guarda Impostazioni per
+PROFILE_LASTLOGIN=Orario Ultimo Login
+PROFILE_SETTINGS=Impostazioni profilo
+PROFILE_CONFIG_MSG=Configura le localizzazione supportate immettendo i codici ISO di due lettere in minuscolo in una lista separata da virgole:
+PROFILE_LOCALES=Localizzazioni supportate:
+
+SUBSCRIPTION_START=Selezionare le portlets da aggiungere o rimuovere dalla propria lista di sottoscrizione.
+SUBSCRIPTION_MIDDLE=Portlet di layout
+SUBSCRIPTION_END= aggiunge/rimuove portlets ai/dai tabs
+SUBSCRIPTION_APPLY=Applica modifiche
+SUBSCRIPTION_SUBSCRIBE=Sottoscrivere
+SUBSCRIPTION_DESC=Descrizione
+
+LAYOUT_THEME_SAVE=Salva tema
+LAYOUT_TAB_CONFIG=Configurazione del Tab
+LAYOUT_TAB_EDIT=Modifica i titoli dei tab disponibili:
+LAYOUT_APPLY=Applica modifiche
+LAYOUT_TAB_DEL=Rimuovi tab
+LAYOUT_WARNING=Attenzione!Tutte le portlets saranno rimosse dal tab selezionato.
+LAYOUT_NEW_TAB=Crea nuovo tab
+
+USERNAME=Nome Utente:
+FAMILYNAME=Cognome:
+GIVENNAME=Nome:
+FULLNAME=Nome Esteso:
+EMAILADDRESS=Indirizzo Email:
+ORGANIZATION=Organizzazione:
+PASSWORD=Password:
+CONFIRM_PASS=Conferma Password:
+ROLE=Ruolo:
+SAVE=Salva
+CANCEL=Cancella
+OK=Ok
+APPLY=Applica Modifiche
+
+CONFIGURE=Configura
+EDIT=Modifica
+HELP=Aiuto
+VIEW=Vista
+
+NORMAL=Normale
+MINIMIZED=Minimizza
+MAXIMIZED=Massimizza
+RESIZING=Ridimensiona
+
+BANNER_TITLE=Titolo da visualizzare:
+BANNER_FILE=File da visualizzare:
+BANNER_CONFIGURE=Le Preferenze per la visualizzazione del file sono state salvate
+BANNER_FAILURE=Non \u00e8 stato possibile salvare le preferenze per la visualizzazione del file
+BANNER_NOFILES_START=Nessun file in elenco. Per favore usare
+BANNER_NOFILES_END=per inviare i files
+BANNER_FILE_NOTFOUND=Impossibile trovare il file!
+BANNER_HELP=Aiuto Titolo Portlet
+BANNER_EDIT=Modifica la pagina di visualizzazione
+
+FILE_DELETE=Cancella file
+FILE_EDIT=Modifica file
+FILE_SAVE=Salva file
+FILE_DOWNLOAD=Scarica file
+FILE_UPLOAD=Invia file
+FILE_NAME=File:
+FILE_LIST=Elenca i file correnti:
+FILE_UPLOAD_FAIL=Impossibile memorizzare il file inviato!
+FILE_UPLOAD_TOOBIG=Il file inviato supera il limite massimo concesso!
+FILE_SAVE_FAIL=Impossibile alvare il file:
+FILE_DISPLAY=Visualizzazione file:
+FILE_OPEN_FAIL=Impossibile aprire il file:
+FILE_EMPTY_DIRECTORY=directory vuota
+
+GROUP_ADMIN_SELECT_USER=Selezionare gli utenti da aggiungere e il loro ruolo in:
+GROUP_PORTLET_GROUP=Gruppo Portlet:
+GROUP_ADD_USER=Utente da Aggiungere:
+GROUP_ROLEIN_GROUP=Regola nel Gruppo:
+GROUP_ADD_USERS=Aggiungi Utenti
+GROUP_CANCEL_ADD=Annulla Aggiungi
+GROUP_GO_BACK=Ritorna al Gruppo
+GROUP_LIST_GROUPS=Elenca Gruppi
+GROUP_USERS_ADDED=Sono stati aggiunti i seguenti utenti a
+GROUP_REMOVE_USERS=Rimuovi Utenti
+GROUP_CANCEL_REMOVE=Annulla Rimuovi
+GROUP_REMOVE_MSG=Selezionare gli utenti da rimuovere
+GROUP_SELECTION=Selezione
+GROUP_ROLE_CHANGE=Cambia Regola Utente
+GROUP_REMOVE_USER=Cancella Utente dal Gruppo
+GROUP_NAME=Nome Gruppo:
+GROUP_LABEL=Etichetta Gruppo:
+GROUP_ACCESS=Accesso al gruppo:
+GROUP_DESCRIPTION=Descrizione del gruppo:
+GROUP_PRIVATE=privato
+GROUP_PUBLIC=pubblico
+GROUP_NOUSERS=non ci sono utenti da aggiungere al gruppo
+GROUP_NOTIFY=Il gruppo \u221a\u00ae privato;si prega di contattare l'
+GROUP_ADMIN=amministratore
+
+PORTLET_WEBAPP=Portlet web application
+PORTLET_DESC=Descrizione
+PORTLET_RUNNING=Attiva
+PORTLET_SESSIONS=Sessioni
+PORTLET_ACTIONS=Azioni
+PORTLET_GS_MSG=Le portlets GridSphere core non possono essere reinstallate o rimosse
+PORTLET_START=avvio
+PORTLET_STOP=stop
+PORTLET_RELOAD=Ricarica
+PORTLET_REMOVE=Cancella
+PORTLET_DEPLOY_MSG=Installa una nuova webapp per la portlet
+PORTLET_WEBAPP_MSG=Immettere il nome della webapp:
+PORTLET_DEPLOY=Installa
+PORTLET_UPLOAD=Upload Portlet WAR
+PORTLET_FILE=File:
+PORTLET_ERR_DEPLOY=Impossibile installare la webapp!
+PORTLET_ERR_REGISTRY= Servizio PortletRegistry non disponibile!
+PORTLET_ERR_UPLOAD=Impossibile salvare il file scaricato!
+PORTLET_ERR_TOMCAT=E'stato generato un errore di Tomcat!
+PORTLET_ERR_IO=Errore di I/O
+PORTLET_ERR_LIST=Impossibile ottenere la lista delle portlet. Assicurarsi che il file tomcat-users.xml \u00e8 stato modificato come riportato nella UserGuide.
+
+USER_CONFIRM_DELETE=Conferma cancellazione
+USER_CANCEL_DELETE=Annulla cancellazione
+USER_DELETE_MSG=E'stato eliminato il seguente utente:
+USER_SAVE=Salva Utente
+USER_CANCEL_EDIT=Annulla Modifica
+USER_ROLE=Ruolo In GridSphere:
+USER_NEW_USER=Nuovo Utente
+USER_LIST_USERS=Lista Utenti
+USER_EDIT_USER=Modifica Utente
+USER_DELETE_USER=Elimina Utente
+USER_NAME_BLANK=Il campo nome utente non pu\u00f2 essere vuoto
+USER_EXISTS=Un utente con lo stesso nome \u00e8 gia esistente, usarne uno differente
+USER_NEED_EMAIL=Si prega di fornire un indirizzo mail valido!
+USER_FULLNAME_BLANK=Il campo nome completo non pu\u00f2 essere vuoto!
+USER_FAMILYNAME_BLANK=Il campo cognome non pu\u00f2 esserevuoto!
+USER_GIVENNAME_BLANK=Il campo nome non pu\u00f2 essere vuoto!
+USER_PASSWORD_MISMATCH=Le password non coincidono!
+USER_NEW_ACCOUNT=Nuovo account creato
+USER_PLEASE_LOGIN=Si prega di effettuare il login come
+
+# new stuff
+ORIG_PASSWORD=Immettere la password originaria
+USER_PASSWORD_INVALID=La password inserita non \u221a\u00ae valida!
+USER_PASSWORD_NOTSET=Non \u221a stata inserita la password!
+USER_PASSWORD_BLANK=La password non pu\u221a\u2264 essere nulla!
+USER_PASSWORD_TOOSHORT=La password deve essere superiore a 5 caratteri!
+USER_PASSWORD_SUCCESS=Password aggiornata con successo
+USER_GROUPS_SUCCESS=Appartenenza al gruppo aggiornata con successo
+USER_UPDATE_SUCCESS=Informazioni utente aggiornate con successo
+
+LOGIN_FORGOT_PASSWORD=Hai dimenticato la password?
+LOGIN_FORGOT_TEXT=Per favore inserisci la tua e-mail e riceverai le istruzioni
+ per creare una nuova password
+LOGIN_REQUEST_EMAIL=Inserisci l'indirizzo e-mail
+LOGIN_NO_EMAIL=Per favore inserisci un indirizzo e-mal valido!
+LOGIN_NOEXIST=Nessun utente possiede l'e-mail inserita!
+LOGIN_FORGOT_MAIL=Per favore segui il link per creare una nuova password per il tuo account nel portale:
+
+MAIL_CONFIG_MSG=Configurazione impostazioni mail del portale
+MAIL_SERVER_MSG=Inserire il server di posta in uscita (lasciare vuoto per usare localhost)
+MAIL_FROM_MSG=Inserire l'indirizzo e-mail del portale (gli utenti possono ricevere email da questo indirizzo)
+MAIL_SUBJECT_MSG=Inserire l'oggetto per la posta in uscita
+MAIL_SUBJECT_HEADER=Password del Portale GridSphere
+
+LAYOUT_THEME=Configurazione temi
+LAYOUT_SELECT_THEME=Selezionare un tema:
+LAYOUT_TAB_NAME=Inserire il nuovo titolo del tab:
+LAYOUT_ONE_COL=Una colonna
+LAYOUT_TWO_COL=Due colonne
+LAYOUT_THREE_COL=Tre colonne
+CREATE=Crea
+LAYOUT_DISP_TABS=Visualizza tabs esistenti
+LAYOUT_SHOW_TAB=Nome del tab
+LAYOUT_EDIT_TAB=Modifica nome tab
+LAYOUT_DELETE_TAB=Elimina tab
+
+DELETE=Cancella
+
+LAYOUTMGR_EDIT_BANNER=Modifica Banner
+LAYOUTMGR_EDIT_MSG=Di seguito puoi modificare l'HTML del banner del portale
+LAYOUTMGR_EDIT_THEME=Scegli il tema di default
+LAYOUTMGR_THEME_MSG=Selezionare dalla lista dei temi disponibili:
+LAYOUTMGR_GUEST=Layout Guest
+LAYOUTMGR_GROUPS=Layouts Gruppo
+LAYOUTMGR_EDIT_GUEST=Modifica il layout Guest
+LAYOUTMGR_GROUP_MSG=Sono presenti i seguenti layouts di gruppo:
+LAYOUTMGR_GROUP_EDIT=Modifica layout
+LAYOUTMGR_GROUP_DELETE=Elimina layout
+LAYOUTMGR_IMPORT=Importa un layout applicazione esistente:
+
+GROUP_CREATE_NAME=Inserisci il nome del gruppo:
+GROUP_DESC_MSG=Immettere una breve descrizione del gruppo:
+GROUP_VISIBILITY_MSG=Visibilita del gruppo
+GROUP_VISIBILITY_DESC=Indicare se il gruppo deve essere pubblico o privato. Chiunque pu\u221a\u2264 aggiungersi ad un gruppo pubblico, mentre i gruppi privati richiedono autorizzazione
+GROUP_SELECT_MSG=Selezionare le portlets da rendere disponibili al gruppo. Gliutenti di questo gruppo potranno aggiungere queste portlets al proprio layout
+. Inoltre, alle portlets possono essere associati i ruoli richiesti
+GROUP_EDIT_USERS=Modifica Utenti
+GROUP_CREATE_NEW=Crea un nuovo gruppo
+GROUP_EDIT_DEFS=Modifica i gruppi di default
+GROUP_EDIT_DEFS_MSG=Quando gli utenti vengono aggiunti al portale possono esse
+re automaticamente aggiunti alla seguente selezione di gruppi
+
+
+PROFILE_CONFIG_MESSAGING=Configura il servizio di messagistica
+PROFILE_CONFIG_GROUPS=Configura l'appartenza al gruppo
+PROFILE_UPDATE_PASS=Aggiorna password
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=Layout per il gruppo eliminato con successo:
+LAYOUTMGR_VALID_LAYOUT=Layout aggiornato con successo. Per favore disconnettersi e riconnettersi per vedere le modifiche
+LAYOUTMGR_INVALID_LAYOUT=Errore nel salvataggio del layout. Verificare che il descrittore sia valido!
+
+GROUP_INVALID_NAME=Per favore inserire un nome di gruppo!
+GROUP_INVALID_DESC=Per favore inserire una descrizione del gruppo!
+GROUP_INVALID_PORTLETS=Per favore selezionare almeno una portlet da aggiungere al gruppo!
+GROUP_REMOVE_USERS_MSG=E' necessario rimuovere tutti gli utenti del gruppo prima di cancellarlo!
+GROUP_NOUSERS_SELECTED=Non sono stati selzionati utenti da rimuovere!
+GROUP_REMOVE_GROUP_SUCCESS=E' stato eliminato con successo il gruppo:
+GROUP_REMOVE_USER_SUCCESS=L'utente \u00e8 stato eliminato con succsso dai gruppi!
+GROUP_ADD_USER_SUCCESS=Utente aggiunto con successo al gruppo:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Gruppi di default salvati con successo!
+GROUP_MODIFY_USERS=Modifica utenti
+
+GROUP_NEWGROUP_SUCCESS=Informazione gruppo salvata con successo
+GROUP_VISIBILITY_MOREDESC=Per autorizzare le richieste di appartenenza verificare che sia presente un amministratore di gruppo valido (con una mail valida).
+
+LOGIN_SUCCESS_MAIL=Riceverai a breve una mail con le informazioni sulla password aggiornate
+LOGIN_FAILURE_MAIL=Non \u00e8 stato possibile inviare una notifica e-mail
+
+PROFILE_ROLE_DESC=Ruolo nel gruppo
+
+PORTLET_SUC_TOMCAT=Operazione terminata con successso
+PORTLET_SUC_DEPLOY=Il deploy della webapp \u00e8 stato effettuato con successo
+
+USER_CREATE_USER=Crea un nuovo utente
+USER_SHOW_USERS=Visualizza tutti gli utenti
+USER_VIEW_USER=Visualizza le informazioni sugli utenti
+USER_EDIT_USER_MSG=Modifica le informazioni sugli utenti
+USER_PASS_BLANK_MSG=Lasciare vuoto il campo password per mantenere invariata la password attuale se si vuole modificare un utente
+USER_DELETE_SUCCESS=Utente eliminato con successo!
+USER_NEW_SUCCESS=Utente creato con successo!
+USER_EDIT_SUCCESS=Utente aggiornato con successo!
+
+LAYOUT_SAMETAB_ERROR=Un tab con questo nome \u00e8 gi\u00e0 presente!Per favore selezionarne un altro

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,422 @@
+# $Id: Portlet_ja.properties 5772 2006-11-30 18:12:08Z novotny $
+
+LOGIN_NAME=\u30e6\u30fc\u30b6\u30fc\u540d
+LOGIN_PASS=\u30d1\u30b9\u30ef\u30fc\u30c9
+LOGIN_SUCCESS=\u3088\u3046\u3053\u305d
+LOGIN_FAILED=\u30e6\u30fc\u30b6\u30fc\u540d \u304a\u3088\u3073/\u307e\u305f\u306f \u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059\u3002\u518d\u5ea6\u30c8\u30e9\u30a4\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+LOGIN_ACTION=\u30ed\u30b0\u30a4\u30f3
+LOGIN_CONFIGURE=\u30ed\u30b0\u30a4\u30f3\u8a2d\u5b9a
+LOGIN_CONFIG_MSG=\u30ed\u30b0\u30a4\u30f3\u8a2d\u5b9a\u30aa\u30d7\u30b7\u30e7\u30f3
+LOGIN_CONFIG_ALLOW=\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u3067\u30e6\u30fc\u30b6\u30fc\u306b\u65b0\u30a2\u30ab\u30a6\u30f3\u30c8\u306e\u4f5c\u6210\u3092\u8a31\u53ef\u3057\u307e\u3059\u304b\uff1f
+LOGIN_SIGNUP=\u65b0\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210
+
+NOTEPAD_EDIT=\u30ce\u30fc\u30c8\u7de8\u96c6
+NOTEPAD_CREATE=\u65b0\u898f\u30ce\u30fc\u30c8\u4f5c\u6210
+NOTEPAD_DELETE=\u672c\u30ce\u30fc\u30c8\u524a\u9664
+NOTEPAD_SHOWLIST=\u5168\u30ce\u30fc\u30c8\u8868\u793a
+NOTEPAD_UPDATE=\u66f4\u65b0
+NOTEPAD_ADD=\u672c\u30ce\u30fc\u30c8\u8ffd\u52a0
+NOTEPAD_SEARCH=\u691c\u7d22
+NOTEPAD_NOTEEXISTS=\u65e2\u306b\u30ce\u30fc\u30c8\u304c\u5b58\u5728\u3057\u3066\u307e\u3059\uff01
+NOTEPAD_DBERROR=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u554f\u984c\u304c\u3042\u308a\u307e\u3059\uff01\u3002\u7ba1\u7406\u8005\u306b\u9023\u7d61\u3057\u3066\u304f\u3060\u3055\u3044\uff01
+NOTEPAD_DELETE_SELECTED=\u9078\u629e\u30ce\u30fc\u30c8\u524a\u9664
+
+MESSAGING_USERNOTONSERVICE=\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u30b5\u30fc\u30d3\u30b9\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+MESSAGING_NOUSERSELECTED=\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u308b\u30e6\u30fc\u30b6\u30fc\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+MESSAGING_SEND=\u9001\u4fe1
+MESSAGING_TO=\u9001\u308a\u5148
+MESSAGING_VIA=using
+MESSAGING_SENDIT=\u9001\u4fe1\u3057\u307e\u3057\u305f\uff01
+MESSAGING_CHOOSESERVICETOEDIT=\u7de8\u96c6\u30b5\u30fc\u30d3\u30b9\u9078\u629e
+MESSAGING_EDITSETTINGS=\u8a2d\u5b9a\u7de8\u96c6
+MESSAGING_USERNAME=\u672c\u30b5\u30fc\u30d3\u30b9\u3067\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u308a\u5148
+MESSAGING_SAVESETTINGS=\u8a2d\u5b9a\u4fdd\u5b58
+MESSAGING_DELETESETTINGS=\u8a2d\u5b9a\u524a\u9664
+MESSAGING_CANCEL=\u30ad\u30e3\u30f3\u30bb\u30eb
+MESSAGING_SERVICE_SMS=SMS
+MESSAGING_SERVICE_AIM=AOL IM
+MESSAGING_SERVICE_MAIL=\u96fb\u5b50\u30e1\u30fc\u30eb
+MESSAGING_NO_SERVICE_CONFIGURED=\u30b5\u30fc\u30d3\u30b9\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=\u5909\u66f4\u3055\u308c\u305f\u30b5\u30fc\u30d3\u30b9\u306e\u4fdd\u5b58\u3068\u6709\u52b9\u5316
+MESSAGING_SERVICE_SAVEFAILURE=\u8a2d\u5b9a\u304c\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\uff01
+MESSAGING_SERVICE_RESTARTFAILURE=\u30b5\u30fc\u30d3\u30b9\u3092\u518d\u8d77\u52d5\u3067\u304d\u307e\u305b\u3093
+MESSAGING_SERVICE_SERVICERESTARTED=\u4fdd\u5b58\u3068\u6709\u52b9\u5316\u5b8c\u4e86
+
+MESSAGING_SERVICE_CONFIGTEXT=\u4ee5\u4e0b\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u304c\u5229\u7528\u53ef\u80fd\u3067\u3059:
+
+
+PROFILE_MESSAGING_SERVICE=\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9
+PROFILE_MESSAGING_USERID=\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u308a\u5148
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+PROFILE_SAVE_ERROR=\u8a00\u8a9e\u8a2d\u5b9a\u304c\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093!
+PROFILE_SAVE_SUCCESS=\u8a00\u8a9e\u8a2d\u5b9a\u4fdd\u5b58\u5b8c\u4e86
+PROFILE_GROUPS=\u30b0\u30eb\u30fc\u30d7:
+PROFILE_GROUP_DESC=\u30b0\u30eb\u30fc\u30d7\u8aac\u660e:
+PROFILE_LOCALE=\u8a00\u8a9e:
+PROFILE_SAVE=\u5909\u66f4\u306e\u4fdd\u5b58
+PROFILE_EDIT=\u8a2d\u5b9a\u5909\u66f4 for
+PROFILE_VIEW=\u8a2d\u5b9a\u8868\u793a for
+PROFILE_LASTLOGIN=\u6700\u5f8c\u306e\u30ed\u30b0\u30a4\u30f3\u6642\u9593:
+PROFILE_SETTINGS=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u8a2d\u5b9a
+PROFILE_CONFIG_MSG=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u8a00\u8a9e\u3092\u30b3\u30f3\u30de\u533a\u5207\u306e\u5c0f\u6587\u5b572\u6587\u5b57\u306e\u30ea\u30b9\u30c8\u3067\u8a2d\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044:
+PROFILE_LOCALES=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u8a00\u8a9e:
+PROFILE_PASSWORD=\u30d1\u30b9\u30ef\u30fc\u30c9:
+PROFILE_PASSWORD2=\u30d1\u30b9\u30ef\u30fc\u30c9\u78ba\u8a8d:
+
+LAYOUT_THEME_SAVE=\u30c6\u30fc\u30de\u306e\u4fdd\u5b58
+LAYOUT_TAB_CONFIG=\u30bf\u30d6\u8a2d\u5b9a
+LAYOUT_TAB_EDIT=\u30bf\u30d6\u30bf\u30a4\u30c8\u30eb\u306e\u7de8\u96c6:
+LAYOUT_APPLY=\u5909\u66f4\u306e\u9069\u7528
+LAYOUT_TAB_DEL=\u30bf\u30d6\u524a\u9664
+LAYOUT_WARNING=\u8b66\u544a! \u9078\u629e\u3055\u308c\u305f\u30bf\u30d6\u306e\u5168\u3066\u306eportlet\u3092\u524a\u9664\u3057\u307e\u3059
+LAYOUT_NEW_TAB=\u30bf\u30d6\u306e\u4f5c\u6210
+
+LAYOUT_SUBTAB_CONFIG=\u30b5\u30d6\u30bf\u30d6\u306e\u7de8\u96c6
+LAYOUT_TAB_SELECT=\u30bf\u30d6\u3092\u9078\u629e
+LAYOUT_SUBTAB_EDIT=\u30b5\u30d6\u30bf\u30d6\u30bf\u30a4\u30c8\u30eb\u306e\u7de8\u96c6:
+LAYOUT_SUBTAB_DEL=\u30b5\u30d6\u30bf\u30d6\u306e\u524a\u9664
+LAYOUT_NEW_SUBTAB=\u30b5\u30d6\u30bf\u30d6\u306e\u4f5c\u6210
+LAYOUT_SUBTAB_EDIT2=\u30b5\u30d6\u30bf\u30d6\u30bf\u30a4\u30c8\u30eb\u3092\u5165\u529b:
+LAYOUT_PORTLET_CONF=Portlet\u8a2d\u5b9a
+LAYOUT_SUBTAB_SEL=\u30b5\u30d6\u30bf\u30d6\u3092\u9078\u629e
+LAYOUT_TABLE=Portlet\u30c6\u30fc\u30d6\u30eb\u30ec\u30a4\u30a2\u30a6\u30c8
+LAYOUT_ADD_ROW=\u30c6\u30fc\u30d6\u30eb\u884c\u306e\u8ffd\u52a0
+LAYOUT_SAVE=Portlet\u5909\u66f4\u306e\u4fdd\u5b58
+LAYOUT_CONFIG_THEMES=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30c6\u30fc\u30de\u3092CSS\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u30b3\u30f3\u30de\u533a\u5207\u308a\u306e\u30ea\u30b9\u30c8\u3067\u8a2d\u5b9a\u3057\u3066\u4e0b\u3055\u3044:
+LAYOUT_SUPPORTED_THEMES=\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30c6\u30fc\u30de:
+
+USERNAME=\u30e6\u30fc\u30b6\u30fc\u540d:
+FAMILYNAME=\u59d3:
+GIVENNAME=\u540d:
+FULLNAME=\u30d5\u30eb\u30cd\u30fc\u30e0:
+EMAILADDRESS=E\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9:
+ORGANIZATION=\u7d44\u7e54:
+LOCALE=\u8a00\u8a9e:
+PASSWORD=\u30d1\u30b9\u30ef\u30fc\u30c9:
+CONFIRM_PASS=\u30d1\u30b9\u30ef\u30fc\u30c9\u78ba\u8a8d:
+ROLE=\u5f79\u8077:
+SAVE=\u4fdd\u5b58
+CANCEL=\u30ad\u30e3\u30f3\u30bb\u30eb
+OK=Ok
+APPLY=\u5909\u66f4\u9069\u7528
+TIMEZONE=\u30bf\u30a4\u30e0\u30be\u30fc\u30f3:
+
+CONFIGURE=\u8a2d\u5b9a
+EDIT=\u7de8\u96c6
+HELP=\u30d8\u30eb\u30d7
+VIEW=\u8868\u793a
+
+NORMAL=\u30ce\u30fc\u30de\u30eb
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u30b5\u30a4\u30ba\u5909\u66f4
+
+BANNER_TITLE=\u8868\u793a\u3059\u308b\u30bf\u30a4\u30c8\u30eb:
+BANNER_FILE=\u8868\u793a\u3059\u308b\u30d5\u30a1\u30a4\u30eb:
+BANNER_CONFIGURE=\u30d5\u30a1\u30a4\u30eb\u8868\u793a\u8a2d\u5b9a\u306f\u4fdd\u5b58\u3055\u308c\u307e\u3057\u305f
+BANNER_FAILURE=\u30d5\u30a1\u30a4\u30eb\u8868\u793a\u8a2d\u5b9a\u304c\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f!
+BANNER_NOFILES_START=\u30d5\u30a1\u30a4\u30eb\u304c\u30ea\u30b9\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
+BANNER_NOFILES_END=\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+BANNER_FILE_NOTFOUND=\u30d5\u30a1\u30a4\u30eb\u3092\u7f6e\u3051\u307e\u305b\u3093!
+BANNER_HELP=\u30d0\u30ca\u30fcPortlet\u30d8\u30eb\u30d7
+BANNER_EDIT=\u8868\u793a\u30da\u30fc\u30b8\u306e\u7de8\u96c6
+BANNER_NOFILE_SELECTED=\u30d5\u30a1\u30a4\u30eb\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093!
+
+FILE_DELETE=\u30d5\u30a1\u30a4\u30eb\u524a\u9664
+FILE_EDIT=\u30d5\u30a1\u30a4\u30eb\u7de8\u96c6
+FILE_SAVE=\u30d5\u30a1\u30a4\u30eb\u4fdd\u5b58
+FILE_DOWNLOAD=\u30d5\u30a1\u30a4\u30eb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
+FILE_UPLOAD=\u30d5\u30a1\u30a4\u30eb\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+FILE_NAME=\u30d5\u30a1\u30a4\u30eb\u540d:
+FILE_LIST=\u30d5\u30a1\u30a4\u30eb\u30ea\u30b9\u30c8:
+FILE_UPLOAD_FAIL=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f!
+FILE_UPLOAD_TOOBIG=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u8a31\u5bb9\u6700\u5927\u30b5\u30a4\u30ba\u3092\u30aa\u30fc\u30d0\u30fc\u3057\u307e\u3057\u305f!
+FILE_SAVE_FAIL=\u4fdd\u5b58\u306b\u5931\u6557\u3057\u305f\u30d5\u30a1\u30a4\u30eb:
+FILE_DISPLAY=\u8868\u793a\u4e2d\u306e\u30d5\u30a1\u30a4\u30eb:
+FILE_OPEN_FAIL=\u958b\u304f\u306e\u306b\u5931\u6557\u3057\u305f\u30d5\u30a1\u30a4\u30eb:
+FILE_EMPTY_DIRECTORY=\u7a7a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30a3
+
+GROUP_ADMIN_SELECT_USER=\u5f79\u5272\u308a\u3092\u30a2\u30b5\u30a4\u30f3\u3057\u305f\u3044\u30e6\u30fc\u30b6\u30fc\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+GROUP_PORTLET_GROUP=Portlet\u30b0\u30eb\u30fc\u30d7:
+GROUP_ADD_USER=\u8ffd\u52a0\u3059\u308b\u30e6\u30fc\u30b6\u30fc:
+GROUP_ROLEIN_GROUP=\u5f79\u5272\u306e\u7de8\u96c6:
+GROUP_ADD_USERS=\u30e6\u30fc\u30b6\u30fc\u306e\u8ffd\u52a0
+GROUP_CANCEL_ADD=\u8ffd\u52a0\u3092\u30ad\u30e3\u30f3\u30bb\u30eb
+GROUP_GO_BACK=\u30b0\u30eb\u30fc\u30d7\u306b\u623b\u308b
+GROUP_LIST_GROUPS=\u30b0\u30eb\u30fc\u30d7\u306e\u30ea\u30b9\u30c8
+GROUP_USERS_ADDED=\u4ee5\u4e0b\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3057\u307e\u3057\u305f:
+GROUP_REMOVE_USERS=\u30e6\u30fc\u30b6\u30fc\u524a\u9664
+GROUP_CANCEL_REMOVE=\u524a\u9664\u30ad\u30e3\u30f3\u30bb\u30eb
+GROUP_REMOVE_MSG=\u3053\u306e\u30b0\u30eb\u30fc\u30d7\u304b\u3089\u524a\u9664\u3057\u305f\u3044\u30e6\u30fc\u30b6\u30fc\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044:
+GROUP_SELECTION=\u9078\u629e
+GROUP_ROLE_CHANGE=\u30e6\u30fc\u30b6\u30fc\u5f79\u5272\u5909\u66f4
+GROUP_REMOVE_USER=\u30b0\u30eb\u30fc\u30d7\u304b\u3089\u30e6\u30fc\u30b6\u30fc\u524a\u9664
+GROUP_NAME=\u30b0\u30eb\u30fc\u30d7\u540d:
+GROUP_LABEL=\u30b0\u30eb\u30fc\u30d7\u30e9\u30d9\u30eb:
+GROUP_ACCESS=\u30b0\u30eb\u30fc\u30d7\u30a2\u30af\u30bb\u30b9:
+GROUP_DESCRIPTION=\u30b0\u30eb\u30fc\u30d7\u8aac\u660e:
+GROUP_ACTION=\u30a2\u30af\u30b7\u30e7\u30f3:
+GROUP_DELETE=\u30b0\u30eb\u30fc\u30d7\u524a\u9664:
+GROUP_PRIVATE=\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8
+GROUP_PUBLIC=\u516c\u958b
+GROUP_NOUSERS=\u3053\u306e\u30b0\u30eb\u30fc\u30d7\u306b\u8ffd\u52a0\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u306f\u3082\u3046\u3042\u308a\u307e\u305b\u3093
+GROUP_NOTIFY=\u3053\u306e\u30b0\u30eb\u30fc\u30d7\u306f\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u3067\u3059\u3002\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u9001\u3063\u3066\u304f\u3060\u3055\u3044\u2192
+GROUP_ADMIN=\u7ba1\u7406\u8005
+GROUP_MANAGE_USERS=\u30e6\u30fc\u30b6\u30fc\u7ba1\u7406:
+
+PORTLET_WEBAPP=\u540d\u524d
+PORTLET_DESC=\u8aac\u660e
+PORTLET_RUNNING=\u52d5\u4f5c\u4e2d
+PORTLET_SESSIONS=\u30bb\u30c3\u30b7\u30e7\u30f3\u6570
+PORTLET_ACTIONS=Actions
+PORTLET_GS_MSG=GridSphere\u306e\u30b3\u30a2portlet\u306fundeploy\u307e\u305f\u306f\u524a\u9664\u3067\u304d\u307e\u305b\u3093\u3002
+PORTLET_START=\u30b9\u30bf\u30fc\u30c8
+PORTLET_STOP=\u505c\u6b62
+PORTLET_RELOAD=\u518d\u8aad\u8fbc
+PORTLET_REMOVE=\u524a\u9664
+PORTLET_DEPLOY_MSG=\u65b0\u3057\u3044portlet webapp\u3092deploy\u3057\u307e\u3059
+PORTLET_WEBAPP_MSG=webapp\u540d\u3092\u5165\u529b:
+PORTLET_DEPLOY=Deploy
+PORTLET_UPLOAD=Portlet WAR\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+PORTLET_FILE=\u30d5\u30a1\u30a4\u30eb:
+PORTLET_ERR_DEPLOY=webapp\u3092deploy\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f!
+PORTLET_ERR_REGISTRY=PortletRegistry\u30b5\u30fc\u30d3\u30b9\u304c\u4f7f\u3048\u307e\u305b\u3093!
+PORTLET_ERR_UPLOAD=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u304c\u4fdd\u5b58\u3067\u304d\u307e\u305b\u3093!
+PORTLET_ERR_TOMCAT=Tomcat\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f!
+PORTLET_ERR_IO=I/O\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f!
+PORTLET_ERR_LIST=portlet\u306e\u30ea\u30b9\u30c8\u304c\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002tomcat-users.xml\u304cUserGuide\u306b\u5f93\u3063\u3066\u7de8\u96c6\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+USER_CONFIRM_DELETE=\u524a\u9664\u78ba\u8a8d
+USER_CANCEL_DELETE=\u524a\u9664\u30ad\u30e3\u30f3\u30bb\u30eb
+USER_DELETE_MSG=\u6b21\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u524a\u9664\u3057\u307e\u3057\u305f:
+USER_SAVE=\u30e6\u30fc\u30b6\u30fc\u4fdd\u5b58
+USER_CANCEL_EDIT=\u7de8\u96c6\u30ad\u30e3\u30f3\u30bb\u30eb
+USER_ROLE=GridSphere\u5185\u306e\u5f79\u5272:
+USER_NEW_USER=\u65b0\u898f\u30e6\u30fc\u30b6\u30fc
+USER_LIST_USERS=\u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8
+USER_EDIT_USER=\u30e6\u30fc\u30b6\u30fc\u7de8\u96c6
+USER_DELETE_USER=\u30e6\u30fc\u30b6\u30fc\u524a\u9664
+USER_NAME_BLANK=\u30e6\u30fc\u30b6\u30fc\u540d\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093
+USER_EXISTS=\u540c\u3058\u30e6\u30fc\u30b6\u30fc\u540d\u306e\u30e6\u30fc\u30b6\u30fc\u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u7570\u306a\u308b\u540d\u524d\u3092\u4f7f\u3063\u3066\u304f\u3060\u3055\u3044\u3002
+USER_NEED_EMAIL=\u6b63\u3057\u3044\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u308c\u3066\u4e0b\u3055\u3044!
+USER_FULLNAME_BLANK=\u30d5\u30eb\u30cd\u30fc\u30e0\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093!
+USER_FAMILYNAME_BLANK=\u59d3\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093!
+USER_GIVENNAME_BLANK=\u540d\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093!
+USER_PASSWORD_BLANK=\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093!
+USER_PASSWORD_MISMATCH=\u30d1\u30b9\u30ef\u30fc\u30c9\u78ba\u8a8d\u304c\u4e00\u81f4\u3057\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093!
+USER_NEW_ACCOUNT=\u65b0\u898f\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f\u3002
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Please login as
+
+COMMANDER_HELP=\u30d8\u30eb\u30d7\u30e2\u30fc\u30c9\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u307e\u305b\u3093
+COMMANDER_ERROR_INIT=\u30bb\u30ad\u30e5\u30a2\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b5\u30fc\u30d3\u30b9\u304c\u5229\u7528\u3067\u304d\u307e\u305b\u3093 !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u306f\u5927\u304d\u904e\u304e\u307e\u3059
+COMMANDER_ERROR_LOAD=\u30d5\u30a1\u30a4\u30eb\u30ed\u30fc\u30c9\u304c\u3067\u304d\u307e\u305b\u3093
+COMMANDER_ERROR_DIR_READ=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u8aad\u307f\u8fbc\u307f\u304c\u3067\u304d\u307e\u305b\u3093
+COMMANDER_ERROR_DIR_BACK=root\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u623b\u308b
+COMMANDER_RESOURCE=\u30ea\u30bd\u30fc\u30b9
+COMMANDER_SIZE=\u30b5\u30a4\u30ba
+COMMANDER_LAST_MODIFIED=\u6700\u7d42\u5909\u66f4
+COMMANDER_FILE_NAME=\u30d5\u30a1\u30a4\u30eb:
+COMMANDER_FILE_UPLOAD=\u30d5\u30a1\u30a4\u30eb\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9
+COMMANDER_DIR_FILE_NAME=\u540d\u524d(\u30d5\u30a1\u30a4\u30eb/\u30c7\u30a3\u30ec\u30af\u30c8\u30ea)
+COMMANDER_MKDIR=\u65b0\u898f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea
+COMMANDER_TOUCH=\u65b0\u898f\u30d5\u30a1\u30a4\u30eb
+COMMANDER_COPY=\u30b3\u30d4\u30fc
+COMMANDER_MOVE=\u79fb\u52d5
+COMMANDER_DELETE=\u524a\u9664
+COMMANDER_CANCEL=\u30ad\u30e3\u30f3\u30bb\u30eb
+COMMANDER_SAVE=\u4fdd\u5b58
+COMMANDER_EDIT=\u7de8\u96c6
+
+# new stuff
+ORIG_PASSWORD=\u5143\u30d1\u30b9\u30ef\u30fc\u30c9\u5165\u529b:
+USER_PASSWORD_INVALID=\u5165\u529b\u3055\u308c\u305f\u30d1\u30b9\u30ef\u30fc\u30c9\u306f\u4e00\u81f4\u3057\u307e\u305b\u3093
+USER_PASSWORD_NOTSET=\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u30bb\u30c3\u30c8\u3055\u308c\u3066\u3044\u307e\u305b\u3093!
+USER_PASSWORD_TOOSHORT=\u30d1\u30b9\u30ef\u30fc\u30c9\u306f5\u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
+USER_PASSWORD_SUCCESS=\u30d1\u30b9\u30ef\u30fc\u30c9\u66f4\u65b0\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+USER_GROUPS_SUCCESS=\u30b0\u30eb\u30fc\u30d7\u30e1\u30f3\u30d0\u30fc\u66f4\u65b0\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+USER_UPDATE_SUCCESS=\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u66f4\u65b0\u306b\u6210\u529f\u3057\u307e\u3057\u305f\u3002
+
+LOGIN_FORGOT_PASSWORD=\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u304a\u5fd8\u308c\u3067\u3059\u304b\uff1f
+LOGIN_FORGOT_TEXT=\u3042\u306a\u305f\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u3054\u5165\u529b\u304f\u3060\u3055\u3044\u3002\u65b0\u30d1\u30b9\u30ef\u30fc\u30c9\u4f5c\u6210\u624b\u9806\u3092\u3042\u306a\u305f\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306b\u304a\u9001\u308a\u3057\u307e\u3059\u3002
+LOGIN_REQUEST_EMAIL=\u3042\u306a\u305f\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b:
+LOGIN_NO_EMAIL=\u6b63\u3057\u3044\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044!
+LOGIN_NOEXIST=\u5165\u529b\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306b\u4e00\u81f4\u3059\u308b\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u5b58\u5728\u3057\u307e\u305b\u3093!
+LOGIN_FORGOT_MAIL=\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u306e\u3042\u306a\u305f\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u65b0\u3057\u3044\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u8a2d\u5b9a\u3059\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u306b\u5f93\u3063\u3066\u4e0b\u3055\u3044(Please follow the link below to create a new password for your account on the portal):
+
+MAIL_CONFIG_MSG=\u30dd\u30fc\u30bf\u30eb\u306e\u30e1\u30fc\u30eb\u8a2d\u5b9a
+MAIL_SERVER_MSG=SMTP\u9001\u4fe1\u30e1\u30fc\u30eb\u30db\u30b9\u30c8\u3092\u5165\u529b(localhost\u3092\u4f7f\u3046\u5834\u5408\u306f\u7a7a\u767d)
+MAIL_FROM_MSG=\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b(\u30e6\u30fc\u30b6\u30fc\u306f\u3053\u306e\u30a2\u30c9\u30ec\u30b9\u304b\u3089\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u53d7\u3051\u53d6\u308a\u307e\u3059)
+MAIL_SUBJECT_MSG=\u9001\u4fe1\u96fb\u5b50\u30e1\u30fc\u30eb\u306e\u4ef6\u540d\u3092\u5165\u529b:
+MAIL_SUBJECT_HEADER=\u30dd\u30fc\u30bf\u30eb\u306e\u30d1\u30b9\u30ef\u30fc\u30c9
+
+LAYOUT_THEME=\u30c6\u30fc\u30de\u306e\u8a2d\u5b9a
+LAYOUT_SELECT_THEME=\u30c6\u30fc\u30de\u3092\u9078\u629e:
+LAYOUT_TAB_NAME=\u65b0\u898f\u30bf\u30d6\u306e\u30bf\u30a4\u30c8\u30eb\u3092\u5165\u529b:
+LAYOUT_ONE_COL=1\u5217
+LAYOUT_TWO_COL=2\u5217
+LAYOUT_THREE_COL=3\u5217
+CREATE=\u4f5c\u6210
+LAYOUT_DISP_TABS=\u65e2\u5b58\u30bf\u30d6\u306e\u8868\u793a
+LAYOUT_SHOW_TAB=\u30bf\u30d6\u540d
+LAYOUT_EDIT_TAB=\u30bf\u30d6\u540d\u3092\u7de8\u96c6
+LAYOUT_DELETE_TAB=\u30bf\u30d6\u524a\u9664
+
+DELETE=\u524a\u9664
+
+
+LAYOUTMGR_EDIT_BANNER=\u30d0\u30ca\u30fc\u7de8\u96c6
+LAYOUTMGR_EDIT_MSG=\u4ee5\u4e0b\u3067\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u30d0\u30ca\u30fc\u306eHTML\u304c\u7de8\u96c6\u3067\u304d\u307e\u3059
+LAYOUTMGR_EDIT_THEME=\u30c7\u30d5\u30a9\u30eb\u30c8\u30c6\u30fc\u30de\u9078\u629e
+LAYOUTMGR_THEME_MSG=\u3053\u306e\u5229\u7528\u53ef\u80fd\u30c6\u30fc\u30de\u30ea\u30b9\u30c8\u304b\u3089\u9078\u629e:
+LAYOUTMGR_GUEST=\u30b2\u30b9\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8
+LAYOUTMGR_GROUPS=\u30b0\u30eb\u30fc\u30d7\u30ec\u30a4\u30a2\u30a6\u30c8
+LAYOUTMGR_EDIT_GUEST=\u30b2\u30b9\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u7de8\u96c6
+LAYOUTMGR_GROUP_MSG=\u5b58\u5728\u3057\u3066\u3044\u308b\u30b0\u30eb\u30fc\u30d7\u30ec\u30a4\u30a2\u30a6\u30c8:
+LAYOUTMGR_GROUP_EDIT=\u30ec\u30a4\u30a2\u30a6\u30c8\u7de8\u96c6
+LAYOUTMGR_GROUP_DELETE=\u30ec\u30a4\u30a2\u30a6\u30c8\u524a\u9664
+LAYOUTMGR_IMPORT=\u65e2\u5b58\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u30a4\u30f3\u30dd\u30fc\u30c8:
+
+
+
+GROUP_CREATE_NAME=\u30b0\u30eb\u30fc\u30d7\u540d\u5165\u529b:
+GROUP_DESC_MSG=\u30b0\u30eb\u30fc\u30d7\u306e\u6982\u7565\u8aac\u660e\u3092\u5165\u529b:
+GROUP_VISIBILITY_MSG=\u30b0\u30eb\u30fc\u30d7\u53ef\u8996\u6027
+GROUP_VISIBILITY_DESC=\u30b0\u30eb\u30fc\u30d7\u304c\u516c\u958b\u3082\u3057\u304f\u306f\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u3067\u3042\u308b\u3079\u304d\u5834\u5408\u306b\u9078\u629e\u3057\u307e\u3059\u3002\u516c\u958b\u30b0\u30eb\u30fc\u30d7\u306b\u306f\u8ab0\u3067\u3082\u81ea\u5206\u3067\u53c2\u52a0\u3067\u304d\u307e\u3059\u304c\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30b0\u30eb\u30fc\u30d7\u306b\u306f\u7ba1\u7406\u8005\u306e\u627f\u8a8d\u304c\u5fc5\u8981\u3067\u3059\u3002\u96a0\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u306b\u306f\u30dd\u30fc\u30bf\u30eb\u7ba1\u7406\u8005\u306e\u307f\u304c\u30e6\u30fc\u30b6\u30fc\u8ffd\u52a0\u304c\u3067\u304d\u307e\u3059\u3002
+GROUP_SELECT_MSG=\u305d\u306e\u30b0\u30eb\u30fc\u30d7\u3067\u5229\u7528\u53ef\u80fd\u306b\u3059\u308bportlet\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044\u3002\u3053\u306e\u30b0\u30eb\u30fc\u30d7\u306e\u30e6\u30fc\u30b6\u30fc\u306f\u5f7c\u3089\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u306b\u3053\u308c\u3089\u306eportlet\u3092\u4ed8\u3051\u52a0\u3048\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u52a0\u3048\u3066\u3001\u305d\u306eportlet\u306b\u5fc5\u8981\u3068\u306a\u308b\u5f79\u5272\u30ec\u30d9\u30eb\u304c\u5272\u5f53\u3089\u308c\u307e\u3059\u3002
+GROUP_EDIT_USERS=\u30e6\u30fc\u30b6\u30fc\u7de8\u96c6
+GROUP_CREATE_NEW=\u30b0\u30eb\u30fc\u30d7\u65b0\u898f\u4f5c\u6210
+GROUP_EDIT_DEFS=\u30c7\u30d5\u30a9\u30eb\u30c8\u30b0\u30eb\u30fc\u30d7\u306e\u7de8\u96c6
+GROUP_EDIT_DEFS_MSG=\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u306b\u8ffd\u52a0\u3055\u308c\u305f\u30e6\u30fc\u30b6\u30fc\u306f\u81ea\u52d5\u7684\u306b\u4ee5\u4e0b\u306e\u9078\u629e\u3055\u308c\u305f\u30b0\u30eb\u30fc\u30d7\u306b\u52a0\u3048\u3089\u308c\u307e\u3059\u3002
+
+
+PROFILE_CONFIG_MESSAGING=\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u8a2d\u5b9a
+PROFILE_CONFIG_GROUPS=\u30b0\u30eb\u30fc\u30d7\u30e1\u30f3\u30d0\u30fc\u8a2d\u5b9a
+PROFILE_UPDATE_PASS=\u30d1\u30b9\u30ef\u30fc\u30c9\u66f4\u65b0
+
+SUBSCRIPTION_SUBSCRIBE=\u53c2\u52a0
+SUBSCRIPTION_DESC=Portlet\u89e3\u8aac
+SUBSCRIPTION_REQROLE=\u5fc5\u8981\u3068\u306a\u308b\u5f79\u5272
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=\u30b0\u30eb\u30fc\u30d7\u306b\u5bfe\u3059\u308b\u30ec\u30a4\u30a2\u30a6\u30c8\u304c\u524a\u9664\u3067\u304d\u307e\u3057\u305f:
+LAYOUTMGR_VALID_LAYOUT=\u30ec\u30a4\u30a2\u30a6\u30c8\u66f4\u65b0\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\u5909\u66f4\u3092\u78ba\u8a8d\u3059\u308b\u306b\u306f\u30ed\u30b0\u30a2\u30a6\u30c8\u3057\u3066\u30ed\u30b0\u30a4\u30f3\u3057\u306a\u304a\u3057\u3066\u4e0b\u3055\u3044\u3002
+LAYOUTMGR_INVALID_LAYOUT=\u30ec\u30a4\u30a2\u30a6\u30c8\u4fdd\u5b58\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u6307\u5b9a\u304c\u6b63\u3057\u3044\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044!
+
+GROUP_INVALID_NAME=\u6b63\u3057\u3044\u30b0\u30eb\u30fc\u30d7\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044!
+GROUP_INVALID_DESC=\u30b0\u30eb\u30fc\u30d7\u8aac\u660e\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044!
+GROUP_INVALID_PORTLETS=\u305d\u306e\u30b0\u30eb\u30fc\u30d7\u306b\u8ffd\u52a0\u3059\u308b\u6700\u4f4e\u4e00\u3064\u4ee5\u4e0a\u306ePortlet\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044!
+GROUP_REMOVE_USERS_MSG=\u305d\u308c\u3092\u524a\u9664\u3059\u308b\u524d\u306b\u5168\u3066\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u524a\u9664\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059!
+GROUP_NOUSERS_SELECTED=\u524a\u9664\u3059\u308b\u30e6\u30fc\u30b6\u30fc\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u305b\u3093!
+GROUP_REMOVE_GROUP_SUCCESS=\u6b63\u5e38\u306b\u30b0\u30eb\u30fc\u30d7\u524a\u9664\u3067\u304d\u307e\u3057\u305f:
+GROUP_REMOVE_USER_SUCCESS=\u30b0\u30eb\u30fc\u30d7\u304b\u3089\u6b63\u5e38\u306b\u30e6\u30fc\u30b6\u30fc\u524a\u9664\u3067\u304d\u307e\u3057\u305f!
+GROUP_ADD_USER_SUCCESS=\u30b0\u30eb\u30fc\u30d7\u3078\u6b63\u5e38\u306b\u30e6\u30fc\u30b6\u30fc\u8ffd\u52a0\u3067\u304d\u307e\u3057\u305f:
+GROUP_SAVE_DEFGROUPS_SUCCESS=\u6b63\u5e38\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u30b0\u30eb\u30fc\u30d7\u304c\u4fdd\u5b58\u3067\u304d\u307e\u3057\u305f!
+GROUP_MODIFY_USERS=\u30e6\u30fc\u30b6\u30fc\u5909\u66f4
+
+GROUP_NEWGROUP_SUCCESS=\u6b63\u5e38\u306b\u30b0\u30eb\u30fc\u30d7\u60c5\u5831\u304c\u4fdd\u5b58\u3067\u304d\u307e\u3057\u305f
+GROUP_VISIBILITY_MOREDESC=\u30e1\u30f3\u30d0\u30fc\u7ba1\u7406\u306e\u70ba\u306e\u6b63\u3057\u3044\u30b0\u30eb\u30fc\u30d7\u7ba1\u7406\u8005(\u6b63\u3057\u3044\u96fb\u5b50\u30e1\u30fc\u30eb)\u304c\u30b0\u30eb\u30fc\u30d7\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002
+
+LOGIN_SUCCESS_MAIL=\u3057\u3070\u3089\u304f\u3057\u3066\u30d1\u30b9\u30ef\u30fc\u30c9\u66f4\u65b0\u60c5\u5831\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u304c\u3042\u306a\u305f\u306e\u30a2\u30c9\u30ec\u30b9\u306b\u5c4a\u304f\u3067\u3057\u3087\u3046\u3002
+LOGIN_FAILURE_MAIL=\u96fb\u5b50\u30e1\u30fc\u30eb\u901a\u77e5\u3092\u9001\u308b\u4e8b\u304c\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f!
+
+PROFILE_ROLE_DESC=\u30b0\u30eb\u30fc\u30d7\u3067\u306e\u5f79\u5272
+
+PORTLET_SUC_TOMCAT=\u64cd\u4f5c\u304c\u6b63\u5e38\u306b\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f
+PORTLET_SUC_DEPLOY=webapp\u304c\u6b63\u5e38\u306bdeploy\u3055\u308c\u307e\u3057\u305f:
+
+USER_CREATE_USER=\u65b0\u898f\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210
+USER_SHOW_USERS=\u5168\u30e6\u30fc\u30b6\u30fc\u8868\u793a
+USER_VIEW_USER=\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u8868\u793a
+USER_EDIT_USER_MSG=\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u7de8\u96c6
+USER_PASS_BLANK_MSG=\u65e2\u5b58\u30e6\u30fc\u30b6\u30fc\u3092\u7de8\u96c6\u3059\u308b\u5834\u5408\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5909\u3048\u305f\u304f\u7121\u3044\u6642\u306f\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u6b04\u3092\u7a7a\u767d\u306b\u3059\u308b\u3053\u3068
+USER_DELETE_SUCCESS=\u30e6\u30fc\u30b6\u30fc\u306f\u6b63\u5e38\u306b\u524a\u9664\u3055\u308c\u307e\u3057\u305f!
+USER_NEW_SUCCESS=\u30e6\u30fc\u30b6\u30fc\u306f\u6b63\u5e38\u306b\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f!
+USER_EDIT_SUCCESS=\u30e6\u30fc\u30b6\u30fc\u306f\u6b63\u5e38\u306b\u66f4\u65b0\u3055\u308c\u307e\u3057\u305f!
+
+LAYOUT_SAMETAB_ERROR=\u305d\u306e\u30bf\u30d6\u540d\u306e\u30bf\u30d6\u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059! \u4ed6\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=\u30ed\u30b0\u30a4\u30f3\u3092\u8a18\u61b6\u3059\u308b
+LAYOUT_NOTAB_ERROR=\u30bf\u30d6\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044!
+GROUP_INFO=\u30b0\u30eb\u30fc\u30d7\u60c5\u5831
+GROUP_LAYOUT_HEADER=\u30b0\u30eb\u30fc\u30d7\u30ec\u30a4\u30a2\u30a6\u30c8
+GROUP_SELECT_PORTLETS=Portlet\u9078\u629e
+GROUP_CREATE_TEMPLATE=\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u4f5c\u6210
+GROUP_CUSTOMIZE_LAYOUT=\u30ec\u30a4\u30a2\u30a6\u30c8\u4fee\u6b63
+GROUP_LAYOUT_MSG=\u5404\u30b0\u30eb\u30fc\u30d7\u306f\u305d\u308c\u306b\u5bfe\u5fdc\u3057\u305f\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u6301\u3063\u3066\u3044\u307e\u3059\u3002\u307e\u305a\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u4f5c\u6210\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u306e\u6b21\u306bLayout Manager Portlet\u3092\u7528\u3044\u3066\u305d\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u4fee\u6b63\u3067\u304d\u307e\u3059\u3002
+GROUP_TEMPLATE_MSG=\u3053\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30ec\u30a4\u30a2\u30a6\u30c8\u306f\u4e00\u3064\u306e\u30bf\u30d6\u3092\u4f5c\u6210\u3057\u3001\u30b5\u30d6\u30bf\u30d6\u306e\u4e2d\u306b\u305d\u306e\u30b0\u30eb\u30fc\u30d7\u3067\u5b9a\u7fa9\u3057\u305f\u500b\u3005\u306eportlet\u304c\u7f6e\u304b\u308c\u307e\u3059\u3002
+GROUP_LAYOUT_CUSTOM=Layout Manager Portlet\u3068\u7528\u610f\u3055\u308c\u305f\u30ec\u30a4\u30a2\u30a6\u30c8\u8b58\u5225\u5b50\u3092\u7528\u3044\u3066\u30ec\u30a4\u30a2\u30a6\u30c8\u3092\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u307e\u3059\u3002
+GROUP_MANAGE_MSG=\u30b0\u30eb\u30fc\u30d7\u5185\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u7ba1\u7406\u3057\u307e\u3059:
+LOGIN_AUTHMODULES_MSG=\u8a8d\u8a3c\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u8a2d\u5b9a
+LOGIN_AUTHMODULES_ONEREQ=\u4e00\u3064\u306e\u6709\u52b9\u306a\u8a8d\u8a3c\u30e2\u30b8\u30e5\u30fc\u30eb\u304c\u5fc5\u8981\u3067\u3059 !
+LOGIN_MODULE_NAME=\u540d\u524d
+LOGIN_MODULE_DESC=\u8aac\u660e
+LOGIN_MODULE_ISACTIVE=\u6709\u52b9?
+LOGIN_MODULE_PRIORITY=\u512a\u5148\u5ea6
+
+LAYOUTMGR_EDIT_FOOTER=\u30d5\u30c3\u30bf\u7de8\u96c6
+LAYOUTMGR_EDIT_FOOTER_MSG=\u4ee5\u4e0b\u3067\u30dd\u30fc\u30bf\u30eb\u306e\u30d5\u30c3\u30bfHTML\u304c\u7de8\u96c6\u3067\u304d\u307e\u3059
+
+LOGIN_ACTIVATE_MAIL=\u4ee5\u4e0b\u306e\u30ea\u30f3\u30af\u306b\u5f93\u3063\u3066\u3053\u306e\u30dd\u30fc\u30bf\u30eb\u306b\u304a\u3051\u308b\u3042\u306a\u305f\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u6709\u52b9\u5316\u3055\u305b\u3066\u4e0b\u3055\u3044:
+MAIL_ACCT_HEADER=\u30dd\u30fc\u30bf\u30eb\u30a2\u30ab\u30a6\u30f3\u30c8
+LOGIN_ACCT_MAIL=\u307e\u3082\u306a\u304f\u30a2\u30ab\u30a6\u30f3\u30c8\u6709\u52b9\u5316\u60c5\u5831\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u53d7\u3051\u53d6\u308b\u3067\u3057\u3087\u3046\u3002You will soon receive an e-mail with account activation information
+LOGIN_CREATE_ACCT=\u3042\u306a\u305f\u306e\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u3092\u57cb\u3081\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u3046\u3059\u308b\u3068\u6709\u52b9\u5316\u306e\u8a73\u7d30\u306e\u96fb\u5b50\u30e1\u30fc\u30eb\u304c\u3042\u306a\u305f\u306b\u9001\u3089\u308c\u307e\u3059\u3002
+
+GROUP_MANAGE_PORTLETS=Portlet\u7ba1\u7406:
+GROUP_EDIT_PORTLETS=Portlet\u9078\u629e
+
+PORTLET_CURRENT=Portlet web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+PORTLET_NON=\u975eportlet web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+PORTLET_NONWEBAPP=web\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3
+
+SESSION_ACTIVE=\u7a3c\u50cd\u30bb\u30c3\u30b7\u30e7\u30f3\u6570(\u30b2\u30b9\u30c8+\u30e6\u30fc\u30b6\u30fc):
+SESSION_USERS=\u30ed\u30b0\u30a4\u30f3\u4e2d\u306e\u30e6\u30fc\u30b6\u30fc:
+
+# 2.0.3
+GROUP_DEFAULT=\u30c7\u30d5\u30a9\u30eb\u30c8
+GROUP_HIDDEN=\u975e\u516c\u958b
+
+LOGIN_CONFIG_NOTIFY=\u30d1\u30b9\u30ef\u30fc\u30c9\u5fd8\u308c\u6642\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u521d\u671f\u5316\u3059\u308b\u4e8b\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u8a31\u53ef\u3057\u307e\u3059\u304b?
+LOGIN_CONFIG_PASSWD=GS\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u4fdd\u5b58\u3057\u307e\u3059\u304b?
+LOGIN_CONFIG_PASSWD1=PasswordAuthModule\u304c\u7121\u52b9\u5316\u3055\u308c\u306a\u3044\u304b\u304e\u308a\u9078\u629e\u3055\u308c\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093
+LOGIN_CONFIG_PASSWD2="\u30d1\u30b9\u30ef\u30fc\u30c9\u521d\u671f\u5316\u3092\u30e6\u30fc\u30b6\u30fc\u306b\u8a31\u53ef\u3059\u308b"\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306b\u8981\u9078\u629e
+
+GROUP_WIZARD_1=\u30b0\u30eb\u30fc\u30d7\u4f5c\u6210\u30a6\u30a3\u30b6\u30fc\u30c9
+GROUP_WIZARD_2=\u30b0\u30eb\u30fc\u30d7\u4f5c\u6210\u30a6\u30a3\u30b6\u30fc\u30c9(\u30b9\u30c6\u30c3\u30d7 2/2)
+GROUP_LAYOUT_FILE=\u3053\u306e\u30ec\u30a4\u30a2\u30a6\u30c8\u8b58\u5225\u5b50\u306e\u305f\u3081\u306e\u6b63\u3057\u3044\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044:
+GROUP_INVALID_LAYOUTFILE=\u30ec\u30a4\u30a2\u30a6\u30c8\u30d5\u30a1\u30a4\u30eb\u540d\u306f\u7a7a\u767d\u3067\u306f\u3044\u3051\u307e\u305b\u3093!
+
+ROLENAME=\u5f79\u5272(Role)\u540d
+ROLEPRIORITY=\u5f79\u5272(Role)\u512a\u5148\u5ea6
+ROLE_SHOW_ROLES=\u5168\u5f79\u5272(Role)\u3092\u8868\u793a
+ROLE_CREATE_ROLE=\u65b0\u5f79\u5272(Role)\u3092\u4f5c\u6210
+ROLE_DELETE_MSG=\u5f79\u5272(Role)\u304c\u6b63\u5e38\u306b\u524a\u9664\u3055\u308c\u307e\u3057\u305f
+ROLE_EXISTS_MSG=\u305d\u306e\u540d\u306e\u5f79\u5272(Role)\u304c\u65e2\u306b\u5b58\u5728\u3057\u307e\u3059\u3002\u53e4\u3044\u5f79\u5272\u3092\u6d88\u3059\u304b\u65b0\u3057\u3044\u5f79\u5272\u3092\u4f5c\u6210\u3057\u3066\u304f\u3060\u3055\u3044!
+ROLE_CREATE_MSG=\u65b0\u5f79\u5272(Role)\u306f\u6b63\u5e38\u306b\u4f5c\u6210\u3055\u308c\u307e\u3057\u305f
+ROLE_SAVE=\u5f79\u5272(Role)\u4fdd\u5b58
+ROLE_EDIT_MSG=\u5f79\u5272(Role)\u60c5\u5831\u3092\u7de8\u96c6
+ROLEDEL=\u5f79\u5272(Role)\u3092\u524a\u9664
+
+USER_ACCOUNT_STATUS=\u30a2\u30ab\u30a6\u30f3\u30c8\u7121\u52b9\u5316?
+
+TRACKING_DATE=\u65e5\u4ed8:
+TRACKING_USERAGENT=\u30af\u30e9\u30a4\u30a2\u30f3\u30c8:
+TRACKING_NUMACTIONS=\u7dcf\u30a2\u30af\u30b7\u30e7\u30f3\u6570:
+TRACKING_STATS=\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u7d71\u8a08
+TRACKING_SELECT_MSG=\u66f4\u306a\u308b\u60c5\u5831\u3092\u898b\u308b\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u30e9\u30d9\u30eb\u306e\u3044\u305a\u308c\u304b\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044:
+TRACKING_DOWNLOAD=Excel\u30b7\u30fc\u30c8\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
+TRACKING_DISPLAY_ACTION=\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u30a2\u30af\u30b7\u30e7\u30f3\u3092\u8868\u793a
+TRACKING_ADD_ACTION=\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u7de8\u96c6
+TRACKING_CREATE_ACTION=\u65b0\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u4f5c\u6210
+TRACKING_CREATE_MSG=\u30c8\u30e9\u30c3\u30ad\u30f3\u30b0\u3059\u308b\u30a2\u30af\u30b7\u30e7\u30f3\u306e\u540d\u524d\u3092\u5165\u529b:
+TRACKING_ACTION=\u30a2\u30af\u30b7\u30e7\u30f3\u540d:
+TRACKING_ENABLED=\u6709\u52b9:
+TRACKING_DELETE=\u30a2\u30af\u30b7\u30e7\u30f3\u524a\u9664:
+
+LOGIN_AUTH_BLANK=\u30e6\u30fc\u30b6\u30fc\u540d\u307e\u305f\u306f\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u7a7a\u767d\u3067\u3059
+LOGIN_AUTH_NOUSER=\u30e6\u30fc\u30b6\u30fc\u304c\u5b58\u5728\u3057\u307e\u305b\u3093
+LOGIN_AUTH_DISABLED=\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u7121\u52b9\u5316\u3055\u308c\u3066\u3044\u307e\u3059

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,387 @@
+# $Id: Portlet_nl.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=Gebruikersnaam
+LOGIN_PASS=Wachtwoord
+LOGIN_SUCCESS=Welkom
+LOGIN_FAILED=Uw gebruikersnaam en/of wachtwoord is niet correct. Probeer het opnieuw.
+LOGIN_ACTION=Login
+LOGIN_CONFIGURE=Configureer Login
+LOGIN_CONFIG_MSG=Login configuratie opties
+LOGIN_CONFIG_ALLOW=Mogen gebruikers zelf nieuwe accounts aanmaken?
+LOGIN_SIGNUP=Cre\u00eber nieuw account
+
+NOTEPAD_EDIT=Editeer Notitie
+NOTEPAD_CREATE=Cre\u00eber een Notitie
+NOTEPAD_DELETE=Verwijder deze Notitie
+NOTEPAD_SHOWLIST=Toon alle Notities
+NOTEPAD_UPDATE=Pas deze Notitie aan
+NOTEPAD_ADD=Voeg deze Notitie toe
+NOTEPAD_SEARCH=Zoek
+NOTEPAD_NOTEEXISTS=Notitie bestaat al!
+NOTEPAD_DBERROR=Database Probleem! Contacteer de Administrator!
+NOTEPAD_DELETE_SELECTED=Verwijder de geselecteerde Notities
+
+MESSAGING_USERNOTONSERVICE=De gebruiker is niet toegewezen aan deze service.
+MESSAGING_NOUSERSELECTED=Selecteer een gebruiker om een bericht naar te sturen.
+MESSAGING_SEND=Verstuur
+MESSAGING_TO=naar
+MESSAGING_VIA=gebruik makend van
+MESSAGING_SENDIT=Verstuur!
+MESSAGING_CHOOSESERVICETOEDIT=Kies de service om te editeren
+MESSAGING_EDITSETTINGS=Editeer eigenschappen
+MESSAGING_USERNAME=Stuur berichten, via deze service, naar
+MESSAGING_SAVESETTINGS=Bewaar eigenschappen
+MESSAGING_DELETESETTINGS=Verwijder eigenschappen
+MESSAGING_CANCEL=Annuleer
+MESSAGING_SERVICE_SMS=Service gebruikt voor het verzenden van berichten via SMS
+MESSAGING_SERVICE_AIM=Service gebruikt voor het verzenden van berichten via AOL Instant Messenger (AIM/Apple iChat)
+MESSAGING_SERVICE_MAIL=Service gebruikt voor het verzenden van berichten via EMail
+MESSAGING_NO_SERVICE_CONFIGURED=Geen service geconfigureerd.
+MESSAGING_OK=Ok
+MESSAGING_SERVICE_SAVE=Bewaar
+MESSAGING_SERVICE_RESTART=Herstart de geselecteerde service
+MESSAGING_SERVICE_CONFIGTEXT=De volgende berichten services zijn beschikbaar:
+
+
+PROFILE_MESSAGING_SERVICE=Berichten Service
+PROFILE_MESSAGING_USERID=Stuur berichten naar
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=Geen berichten service geconfigureerd.
+PROFILE_SAVE_ERROR=De landinstellingen kunnen niet bewaard worden!
+PROFILE_SAVE_SUCCESS=De landinstellingen zijn bewaard.
+PROFILE_GROUPS=Groepen:
+PROFILE_GROUP_DESC=Groep Beschrijving:
+PROFILE_LOCALE=Favoriete landinstellingen:
+PROFILE_SAVE=Bewaar Veranderingen
+PROFILE_EDIT=Editeer eigenschappen voor
+PROFILE_VIEW=Bekijk eigenschappen voor
+PROFILE_LASTLOGIN=Laatste login datum:
+PROFILE_SETTINGS=Profiel eigenschappen
+PROFILE_CONFIG_MSG=Configureer gesupporteerde landinstellingen door de ISO taal code(kleine letters) te typen in de lijst:
+PROFILE_LOCALES=Gesupporteerde landinstellingen:
+PROFILE_PASSWORD=Wachtwoord:
+PROFILE_PASSWORD2=Bevestig Wachtwoord:
+
+LAYOUT_THEME_SAVE=Bewaar thema
+LAYOUT_TAB_CONFIG=Tab configuratie
+LAYOUT_TAB_EDIT=Editeer beschikbare tab titel(s):
+LAYOUT_APPLY=Pas veranderingen toe
+LAYOUT_TAB_DEL=Verwijder tab
+LAYOUT_WARNING=Waarschuwing! deze actie zal alle portlets verwijderen van de tab.
+LAYOUT_NEW_TAB=Cre\u00eber nieuwe tab
+
+LAYOUT_SUBTAB_CONFIG=Subtab configuratie
+LAYOUT_TAB_SELECT=Selecteer een tab
+LAYOUT_SUBTAB_EDIT=Editeer beschikbare subtab titel(s):
+LAYOUT_SUBTAB_DEL=Verwijder subtab
+LAYOUT_NEW_SUBTAB=Cre\u00eber nieuwe subtab
+LAYOUT_SUBTAB_EDIT2=Geef subtab titel:
+LAYOUT_PORTLET_CONF=Portlet configuratie
+LAYOUT_SUBTAB_SEL=Selecteer een subtab
+LAYOUT_TABLE=Portlet tabel layout
+LAYOUT_ADD_ROW=Voeg nieuwe tabelrij toe
+LAYOUT_SAVE=Bewaar portlet veranderingen
+LAYOUT_CONFIG_THEMES=Configureer gesupporteerde thema's door de CSS naam in de lijst te typen:
+LAYOUT_SUPPORTED_THEMES=Gesupporteerde thema's:
+
+USERNAME=Gebruikersnaam:
+FAMILYNAME=Familienaam:
+GIVENNAME=Gegeven Naam:
+FULLNAME=Volledige Naam:
+EMAILADDRESS=Email Adres:
+ORGANIZATION=Bedrijf:
+LOCALE=Landinstelling:
+PASSWORD=Wachtwoord:
+CONFIRM_PASS=Bevestig wachtwoord:
+ROLE=Rol:
+SAVE=Bewaar
+CANCEL=Annuleer
+OK=Ok
+APPLY=Pas veranderingen toe
+TIMEZONE=Tijdzone:
+
+CONFIGURE=Configureer
+EDIT=Editeer
+HELP=Help
+VIEW=Bekijk
+
+NORMAL=Normaal
+MINIMIZED=Geminimaliseerd
+MAXIMIZED=Gemaximaliseerd
+RESIZING=Verander grootte
+
+BANNER_TITLE=Te tonen titel:
+BANNER_FILE=Te tonen bestand:
+BANNER_CONFIGURE=Toon bestand eigenschappen zijn bewaard
+BANNER_FAILURE=Toon bestand eigenschappen zijn NIET bewaard!
+BANNER_NOFILES_START=Geen bestanden in de lijst. Alstublieft
+BANNER_NOFILES_END=upload bestanden
+BANNER_FILE_NOTFOUND=Bestand kan niet gevonden worden!
+BANNER_HELP=Banner Portlet Help
+BANNER_EDIT=Editeer Toon Pagina
+BANNER_NOFILE_SELECTED=Er was geen bestand geselecteerd!
+
+FILE_DELETE=Verwijder bestand
+FILE_EDIT=Editeer bestand
+FILE_SAVE=Bewaar bestand
+FILE_DOWNLOAD=Download bestand
+FILE_UPLOAD=Upload bestand
+FILE_NAME=Bestand:
+FILE_LIST=Lijst van huidige bestanden:
+FILE_UPLOAD_FAIL=Het is niet gelukt om het geuploade bestand te bewaren!
+FILE_UPLOAD_TOOBIG=Het geuploade bestand is groter dan de toegelate limiet!
+FILE_SAVE_FAIL=Het is niet gelukt om het bestand op te slaan:
+FILE_DISPLAY=Toon bestand:
+FILE_OPEN_FAIL=Het is niet gelukt om het bestand te openen:
+FILE_EMPTY_DIRECTORY=lege directory
+
+GROUP_ADMIN_SELECT_USER=Selecteer de gebruiker die u wilt toevoegen en kies een rol
+GROUP_PORTLET_GROUP=Portlet Groep:
+GROUP_ADD_USER=Gebruiker om te voegen:
+GROUP_ROLEIN_GROUP=Editeer Role:
+GROUP_ADD_USERS=Gebruikers toevoegen
+GROUP_CANCEL_ADD=Annuleer Voeg toe
+GROUP_GO_BACK=Terug naar de Groep
+GROUP_LIST_GROUPS=Lijst van Groepen
+GROUP_USERS_ADDED=De volgende gebruikers zijn toegevoegd aan
+GROUP_REMOVE_USERS=Verwijder Gebruikers
+GROUP_CANCEL_REMOVE=Annuleer Verwijder
+GROUP_REMOVE_MSG=Selecteer de gebruiker die uit de groep verwijderd moet worden:
+GROUP_SELECTION=Selectie
+GROUP_ROLE_CHANGE=Verander Gebruikers Rol
+GROUP_REMOVE_USER=Verwijder Gebruiker uit de Groep
+GROUP_NAME=Groep Naam:
+GROUP_LABEL=Groep Label:
+GROUP_ACCESS=Groep Toegang:
+GROUP_DESCRIPTION=Groep Beschrijving:
+GROUP_ACTION=Actie:
+GROUP_DELETE=Verwijder Groepen:
+GROUP_PRIVATE=priv\u00e9
+GROUP_PUBLIC=publiek
+GROUP_NOUSERS=Er zijn geen gebruikers meer om toe te voegen aan deze groep
+GROUP_NOTIFY=Deze groep is priv\u00e9. Stuur een email naar
+GROUP_ADMIN=administrator
+GROUP_MANAGE_USERS=Beheer Gebruikers:
+
+PORTLET_WEBAPP=Portlet applicatie
+PORTLET_DESC=Beschrijving
+PORTLET_RUNNING=Actief
+PORTLET_SESSIONS=Sessies
+PORTLET_ACTIONS=Acties
+PORTLET_GS_MSG=De GridSphere kern portlets kunnen niet verwijderd of herstart worden
+PORTLET_START=start
+PORTLET_STOP=stop
+PORTLET_RELOAD=herstart
+PORTLET_REMOVE=verwijder
+PORTLET_DEPLOY_MSG=Installeer nieuwe webapp portlet
+PORTLET_WEBAPP_MSG=Geef webapp naam:
+PORTLET_DEPLOY=Installeer
+PORTLET_UPLOAD=Upload Portlet WAR
+PORTLET_FILE=Bestand:
+PORTLET_ERR_DEPLOY=Het is niet gelukt om de webapp te installeren!
+PORTLET_ERR_REGISTRY=De Portlet Register service is niet beschikbaar!
+PORTLET_ERR_UPLOAD=Het is niet gelukt om het geuploade bestand te bewaren!
+PORTLET_ERR_TOMCAT=Er is een fout is Tomcat opgetreden!
+PORTLET_ERR_IO=Er is een I/O fout opgetreden!
+PORTLET_ERR_LIST=Het is niet gelukt om een lijst met de beschikbare services op te halen. Controleer of het bestand tomcat-users.xml is aangepast zoals vermeld in de UserGuide.
+
+USER_CONFIRM_DELETE=Bevestig verwijderen
+USER_CANCEL_DELETE=Annuleer verwijderen
+USER_DELETE_MSG=De volgende gebruiker is verwijderd:
+USER_SAVE=Bewaar Gebruiker
+USER_CANCEL_EDIT=Annuleer Editeer
+USER_ROLE=Rol In GridSphere:
+USER_NEW_USER=Nieuwe Gebruiker
+USER_LIST_USERS=Lijst van Gebruikers
+USER_EDIT_USER=Editeer Gebruiker
+USER_DELETE_USER=Verwijder Gebruiker
+USER_NAME_BLANK=De gebruikersnaam mag niet leeg zijn
+USER_EXISTS=Er bestaat al een gebruiker met dezelfde gebruikernaam, kies alstublieft een andere naam.
+USER_NEED_EMAIL=Het ingegeven email adres is niet correct!
+USER_FULLNAME_BLANK=De volledige naam mag niet leeg zijn!
+USER_FAMILYNAME_BLANK=De achternaam mag niet leeg zijn!
+USER_GIVENNAME_BLANK=De gegevennaam mag niet leeg zijn!
+USER_PASSWORD_BLANK=Het wachtwoord mag niet leeg zijn!
+USER_PASSWORD_MISMATCH=Het wachtwoord en de bevestiging moet identiek zijn!
+USER_NEW_ACCOUNT=Een nieuw account is aangemaakt.
+# usage please login as John Smith
+USER_PLEASE_LOGIN=Login als
+
+COMMANDER_HELP=De help mode is nog niet ge\u00efmplementeerd
+COMMANDER_ERROR_INIT=De beveiligde directory service is niet beschikbaar !!!
+COMMANDER_ERROR_UPLOAD_TO_BIG=Het geuploade bestand is te groot
+COMMANDER_ERROR_LOAD=Het is niet gelukt om het bestand te laden
+COMMANDER_ERROR_DIR_READ=Het is niet gelukt om de directory te lezen
+COMMANDER_ERROR_DIR_BACK=ga naar root directory
+COMMANDER_RESOURCE=resource
+COMMANDER_SIZE=grootte
+COMMANDER_LAST_MODIFIED=laast aangepast
+COMMANDER_FILE_NAME=Bestand:
+COMMANDER_FILE_UPLOAD=geupload bestand
+COMMANDER_DIR_FILE_NAME=Naam van (bestand/directory)
+COMMANDER_MKDIR=nieuw directory
+COMMANDER_TOUCH=nieuw bestand
+COMMANDER_COPY=Kopieer
+COMMANDER_MOVE=Verplaats
+COMMANDER_DELETE=Verwijder
+COMMANDER_CANCEL=Annuleer
+COMMANDER_SAVE=Bewaar
+COMMANDER_EDIT=Editeer
+
+# new stuff
+ORIG_PASSWORD=Geef origineel wachtwoord:
+USER_PASSWORD_INVALID=Het gegeven wachtwoord is niet juist!
+USER_PASSWORD_NOTSET=Het wachtwoord is niet veranderd!
+USER_PASSWORD_TOOSHORT=Het wachtwoord moet minstens 5 karakters bevatten!
+USER_PASSWORD_SUCCESS=Het wachtwoord is aangepast
+USER_GROUPS_SUCCESS=Het groep lidmaatschap is aangepast
+USER_UPDATE_SUCCESS=De gebruikers informatie is aangepast
+
+LOGIN_FORGOT_PASSWORD=Wachtwoord vergeten?
+LOGIN_FORGOT_TEXT=Geef uw email adres en uw zal een email ontvangen met aanwijzingen om uw wachtwoord te wijzigen.
+LOGIN_REQUEST_EMAIL=Geef uw email adres:
+LOGIN_NO_EMAIL=Het ingegeven email adres is niet correct!
+LOGIN_NOEXIST=Er bestaat geen gebruiker met dit email adres!
+LOGIN_FORGOT_MAIL=Klik op onderstaande link om een nieuw wachtwoord aan te maken voor uw account op de portal:
+
+MAIL_CONFIG_MSG=Configureer portal email eigenschappen
+MAIL_SERVER_MSG=Geef uitgaand SMTP mail host (leeg laten indien uw localhost gebruikt)
+MAIL_FROM_MSG=Geen het email adres van de portal (gebruikers kunnen een email ontvangen vanaf dit adres)
+MAIL_SUBJECT_MSG=Geef het onderwerp van de uitgaande email:
+MAIL_SUBJECT_HEADER=GridSphere Portal wachtwoord
+
+LAYOUT_THEME=Thema configuratie
+LAYOUT_SELECT_THEME=Selecteer een thema:
+LAYOUT_TAB_NAME=Geef nieuwe tab titel:
+LAYOUT_ONE_COL=Een kolom
+LAYOUT_TWO_COL=Twee kolommen
+LAYOUT_THREE_COL=Drie kolommen
+CREATE=Cre\u00eber
+LAYOUT_DISP_TABS=Toon bestaande tabs
+LAYOUT_SHOW_TAB=Tab naam
+LAYOUT_EDIT_TAB=Editeer tab naam
+LAYOUT_DELETE_TAB=Verwijder tab
+
+DELETE=Verwijder
+
+
+LAYOUTMGR_EDIT_BANNER=Editeer Banner
+LAYOUTMGR_EDIT_MSG=Hieronder kunt u de portal banner HTML aanpassen
+LAYOUTMGR_EDIT_THEME=Kies een standaard thema
+LAYOUTMGR_THEME_MSG=Kies uit de lijst van beschikbare thema's:
+LAYOUTMGR_GUEST=Bezoekers Layout
+LAYOUTMGR_GROUPS=Groep Layouts
+LAYOUTMGR_EDIT_GUEST=Editeer bezoekers layout
+LAYOUTMGR_GROUP_MSG=De volgende groep layouts bestaan:
+LAYOUTMGR_GROUP_EDIT=Editeer layout
+LAYOUTMGR_GROUP_DELETE=Verwijder layout
+LAYOUTMGR_IMPORT=Importeer bestaande layout:
+
+
+
+GROUP_CREATE_NAME=Geef de groep naam:
+GROUP_DESC_MSG=Geef een korte beschrijving van de groep:
+GROUP_VISIBILITY_MSG=Groep zichtbaarheid
+GROUP_VISIBILITY_DESC=Kies of een groep publiek of privaat is. Iedereen kan zichzelf toevoegen aan een publieke groep, terwijl er voor private groepen authorisatie nodig is
+GROUP_SELECT_MSG=Selecteerd de portlets die beschikbaar zijn voor deze groep. Gebruiker van deze groep kunnen deze portlets toevoegen aan hun layout.
+GROUP_EDIT_USERS=Editeer Gebruikers
+GROUP_CREATE_NEW=Cre\u00eber nieuwe groepen
+GROUP_EDIT_DEFS=Editeer standaard groepen
+GROUP_EDIT_DEFS_MSG=Wanneer gebruikers toegevoegd worden aan de portal kunnen ze automatisch toegewezen worden aan de volgende groepen
+
+
+PROFILE_CONFIG_MESSAGING=Configureer berichten service
+PROFILE_CONFIG_GROUPS=Configureer groep lidmaatschap
+PROFILE_UPDATE_PASS=Pas wachtwoord aan
+
+SUBSCRIPTION_SUBSCRIBE=Schrijf in
+SUBSCRIPTION_DESC=Portlet beschrijving
+SUBSCRIPTION_REQROLE=Benodigde rol
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=De layout is verwijderd voor groep:
+LAYOUTMGR_VALID_LAYOUT=De layout is aangepast. U dient zicht af te melden en vervolgends weer aan te melden om de wijzigingen te zien
+LAYOUTMGR_INVALID_LAYOUT=Er is een fout opgetreden tijdens het bewaren van de layout. Controleer of de descriptor geldig is!
+
+GROUP_INVALID_NAME=Geen een groeps naam!
+GROUP_INVALID_DESC=Geef een groeps beschrijving!
+GROUP_INVALID_PORTLETS=Er moet minstens \u00e9\u00e9n portlet toegevoegd worden aan de groep!
+GROUP_REMOVE_USERS_MSG=Alle gebruikers moeten verwijderd zijn uit de groep voordat de groep verwijderd kan worden!
+GROUP_NOUSERS_SELECTED=Er zijn geen gebruikers geselecteerd om te verwijderen!
+GROUP_REMOVE_GROUP_SUCCESS=De groep is succesvol verwijderd:
+GROUP_REMOVE_USER_SUCCESS=Gebruiker is verwijderd uit de groep!
+GROUP_ADD_USER_SUCCESS=Gebruiker is toegevoegd aan de groep:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Standaard groepen zijn opgeslagen!
+GROUP_MODIFY_USERS=Editeer gebruikers
+
+GROUP_NEWGROUP_SUCCESS=De groep informatie is opgeslagen
+GROUP_VISIBILITY_MOREDESC=Er moet een administrator (met geldige e-mail) toegevoegd worden aan de groep zodat lidmaatschap aanvragen afgehandeld kunnen worden.
+
+LOGIN_SUCCESS_MAIL=U zal zeer binnenkort een email ontvangen met de informatie omtrent uw wachtwoord wijziging
+LOGIN_FAILURE_MAIL=Het is niet gelukt om een email te versturen!
+
+PROFILE_ROLE_DESC=Rol in Groep
+
+PORTLET_SUC_TOMCAT=Operatie is succesvol uitgevoerd
+PORTLET_SUC_DEPLOY=Webapp is succesvol geinstalleerd:
+
+USER_CREATE_USER=Cre\u00eber een nieuwe Gebruiker
+USER_SHOW_USERS=Toon alle gebruikers
+USER_VIEW_USER=Toon Gebruikers Informatie
+USER_EDIT_USER_MSG=Editeer Gebruikers Informatie
+USER_PASS_BLANK_MSG=Laat het wachtwoord veld leeg indien het bestaande wachtwoord geldig moet blijven
+USER_DELETE_SUCCESS=Gebruiker is verwijderd!
+USER_NEW_SUCCESS=Gebruiker is aangemaakt!
+USER_EDIT_SUCCESS=Gebruiker is aangepast!
+
+LAYOUT_SAMETAB_ERROR=Een tab met dezelfde naam bestaat al! Kies een andere naam alstublieft
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=Onthou mijn login
+LAYOUT_NOTAB_ERROR=Vul een tabnaam in alstublieft!
+GROUP_INFO=Groep informatie
+GROUP_LAYOUT_HEADER=Groep Layout
+GROUP_SELECT_PORTLETS=Selecteer portlets
+GROUP_CREATE_TEMPLATE=Cre\u00eber Template Layout
+GROUP_CUSTOMIZE_LAYOUT=Editeer Layout
+GROUP_LAYOUT_MSG=Met elke groep is een layout geassocieerd. U kan kiezen om zelf een layout te maken met de Layout Manager of kiezen voor een template layout.
+GROUP_TEMPLATE_MSG=De template layout cre\u00ebert een tab en plaatst elke portlet van die groep in een subtab.
+GROUP_LAYOUT_CUSTOM=Editeer de layout met de Layout Manager Portlet en geef een layout beschrijving
+GROUP_MANAGE_MSG=Beheer de gebruikers van groep:
+LOGIN_AUTHMODULES_MSG=Configureer de authenticatie modules
+LOGIN_AUTHMODULES_ONEREQ=Minstens \u00e9\u00e9n actieve authenticatie module is vereist!
+LOGIN_MODULE_NAME=Naam
+LOGIN_MODULE_DESC=Beschrijving
+LOGIN_MODULE_ISACTIVE=Is actief?
+LOGIN_MODULE_PRIORITY=Prioriteit
+
+LAYOUTMGR_EDIT_FOOTER=Editeer Footer
+LAYOUTMGR_EDIT_FOOTER_MSG=Hieronder kan u de portal footer HTML editeren
+
+LOGIN_ACTIVATE_MAIL=Klik op onderstaande link om uw account op de portal te activeren:
+MAIL_ACCT_HEADER=Portal account
+LOGIN_ACCT_MAIL=U zal spoedig een e-mail ontvangen met informatie over de account activering
+LOGIN_CREATE_ACCT=Vul alle gebruikers informatie in en een e-mail zal naar u gestuurd worden met de activerings details.
+
+GROUP_MANAGE_PORTLETS=Beheer Portlets:
+GROUP_EDIT_PORTLETS=Selecteer portlets
+
+PORTLET_CURRENT=Portlet web applicatie
+PORTLET_NON=Niet-portlet web applicatie
+PORTLET_NONWEBAPP=web applicatie
+
+SESSION_ACTIVE=Aantal actieve sessies(bezoekers + gebruikers):
+SESSION_USERS=Gebruikers die ingelogd zijn :
+
+# 2.0.3
+GROUP_DEFAULT=Standaard
+GROUP_HIDDEN=verborgen
+
+LOGIN_CONFIG_NOTIFY=Mogen gebruikers hun wachtwoord resetten indien ze deze vergeten zijn?
+LOGIN_CONFIG_PASSWD=Bewaar wachtwoorden in GS database?
+LOGIN_CONFIG_PASSWD1=moet geselecteerd zijn indien PasswordAuthModule uitgeschakeld is
+LOGIN_CONFIG_PASSWD2=moet geselecteerd zijn indien de optie "Mogen gebruikers hun wachtwoord resetten" ingeschakeld is
+
+
+LOGIN_CERTIFICATE=Login met certificaat
+USER_CERTIFICATE=Certificaat
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,296 @@
+# $Id: Portlet_pl.properties 4863 2006-06-20 20:35:05Z novotny $
+
+LOGIN_NAME=Nazwa u\u017cytkownika
+LOGIN_PASS=Has\u0142o
+LOGIN_SUCCESS=Witaj
+LOGIN_FAILED=Nazwa u\u017cytkownika i/lub has\u0142o s\u0105 niepoprawne. Prosz\u0119 spr\u00f3bowa\u0107 ponownie.
+LOGIN_ACTION=Logowanie
+LOGIN_CONFIGURE=Konfiguracja logowania
+LOGIN_CONFIG_MSG=Opcje konfiguracji logowania
+LOGIN_CONFIG_ALLOW=Zezwoli\u0107 u\u017cytkownikom na tworzenie nowych kont w portalu?
+LOGIN_SIGNUP=Utw\u00f3rz nowe konto
+
+NOTEPAD_EDIT=Edytuj notatke
+NOTEPAD_CREATE=Utw\u00f3rz notatk\u0119
+NOTEPAD_DELETE=Skasuj notatk\u0119
+NOTEPAD_SHOWLIST=Poka\u017c wszystkie notatki
+NOTEPAD_UPDATE=Zatwierd\u017a zmiany w notatce
+NOTEPAD_ADD=Dodaj notatk\u0119
+NOTEPAD_SEARCH=Szukaj
+NOTEPAD_NOTEEXISTS=Notatka ju\u017c istnieje!
+NOTEPAD_DBERROR=Problem z baz\u0105 danych! Skontaktuj si\u0119 z administratorem!
+
+PROFILE_SAVE_ERROR=Nie mo\u017cna zapisa\u0107 ustawie\u0144 regionalnych!
+PROFILE_SAVE_SUCCESS=Ustawienia regionalne zapisane
+PROFILE_GROUPS=Grupy:
+PROFILE_GROUP_DESC=Opis grupy:
+PROFILE_LOCALE=Preferowane ustawienia regionalne:
+PROFILE_SAVE=Zapisz zmiany
+PROFILE_EDIT=Edycja ustawie\u0144 dla
+PROFILE_VIEW=Podgl\u0105d ustawie\u0144 dla
+PROFILE_LASTLOGIN=Czas ostatniego logowania:
+PROFILE_SETTINGS=Ustawie\u0144 profilu
+PROFILE_CONFIG_MSG=Konfiguracja obs\u0142ugiwanych ustawie\u0144 regionalnych, poprzez wprowadzenie dwuliterowego kodu j\u0119zyka wed\u0142ug ISO (ma\u0142e litery), w postaci listy element\u00f3w rozdzielonych przecinkami:
+PROFILE_LOCALES=Obs\u0142ugiwane ustawienia regionalne:
+
+SUBSCRIPTION_START=Wybierz portlety do dodania lub usuni\u0119cia z listy subskrypcji.
+SUBSCRIPTION_MIDDLE=Portlet uk\u0142adu graficznego
+SUBSCRIPTION_END= umo\u017cliwia dodawanie/usuwanie portlet\u00f3w do/z zak\u0142adek.
+SUBSCRIPTION_APPLY=Zastosuj zmiany
+SUBSCRIPTION_SUBSCRIBE=Subskrybuj
+SUBSCRIPTION_DESC=Opis
+
+LAYOUT_DELROW=Usu\u0144 wiersz
+LAYOUT_RESET=Powr\u00f3t do standardowego uk\u0142adu graficznego
+LAYOUT_RESET_WARNING=Ostrze\u017cenie! Ta akcja spowoduje ustawienie uk\u0142adu graficznego zgodnego z rol\u0105 u\u017cytkownika i jego przynale\u017cno\u015bci\u0105 do grup
+LAYOUT_ADDPORTLET=Dodaj nowy portlet
+LAYOUT_UNTITLED_TAB=Bez tytu\u0142u
+LAYOUT_THEME=Konfiguracja tematu
+LAYOUT_SELECT_THEME=Wyb\u00f3r tematu:
+LAYOUT_THEME_SAVE=Zapisz temat
+LAYOUT_TAB_CONFIG=Konfiguracja zak\u0142adek
+LAYOUT_TAB_EDIT=Edycja dost\u0119pnych tytu\u0142\u00f3w zak\u0142adek:
+LAYOUT_APPLY=Zastosuj zmiany
+LAYOUT_TAB_DEL=Usu\u0144 zak\u0142adk\u0119
+LAYOUT_WARNING=Ostrze\u017cenie! Ta akcja spowoduje usuni\u0119cie wszystkich portlet\u00f3w z wybranej zak\u0142adki
+LAYOUT_NEW_TAB=Utw\u00f3rz now\u0105 zak\u0142adk\u0119
+LAYOUT_TAB_EDIT2=Wprowad\u017a tytu\u0142 zak\u0142adki:
+LAYOUT_SUBTAB_CONFIG=Konfiguracja zak\u0142adek wewn\u0119trznych
+LAYOUT_TAB_SELECT=Wybierz zak\u0142adk\u0119
+LAYOUT_SUBTAB_EDIT=Edycja dost\u0119pnych tytu\u0142\u00f3w zak\u0142adek wewn\u0119trznych:
+LAYOUT_SUBTAB_DEL=Usu\u0144 zak\u0142adk\u0119 wewn\u0119trzn\u0105
+LAYOUT_NEW_SUBTAB=Utw\u00f3rz now\u0105 zak\u0142adk\u0119 wewn\u0119trzn\u0105
+LAYOUT_SUBTAB_EDIT2=Wprowad\u017a tytu\u0142 zak\u0142adki wewn\u0119trznej:
+LAYOUT_PORTLET_CONF=Konfiguracja portletu
+LAYOUT_SUBTAB_SEL=Wybierz zak\u0142adk\u0119 wewn\u0119trzn\u0105
+LAYOUT_TABLE=Uk\u0142ad tabelaryczny  portletu
+LAYOUT_ADD_ROW=Dodaj nowy wiersz tabeli
+LAYOUT_SAVE=Zapisz zmiany portletu
+LAYOUT_CONFIG_THEMES= Konfiguracja obs\u0142ugiwanych temat\u00f3w, poprzez wyspecyfikowanie nazw katalog\u00f3w CSS, w postaci listy element\u00f3w rozdzielonych przecinkami:
+LAYOUT_SUPPORTED_THEMES=Obs\u0142ugiwane tematy:
+
+USERNAME=Nazwa u\u017cytkownika:
+FAMILYNAME=Nazwisko:
+GIVENNAME=Imi\u0119:
+FULLNAME=Pe\u0142ne nazwisko :
+EMAILADDRESS=Adres poczty elektronicznej:
+ORGANIZATION=Organizacja:
+PASSWORD=Has\u0142o:
+CONFIRM_PASS=Potwierdzenie has\u0142a:
+ROLE=Rola:
+SAVE=Zapisz
+CANCEL=Anuluj
+OK=OK
+APPLY=Zastosuj zmiany
+
+CONFIGURE=Konfiguracja
+EDIT=Edycja
+HELP=Pomoc
+VIEW=Widok
+
+NORMAL=Normalne
+MINIMIZED=Minimalizuj
+MAXIMIZED=Maksymalizuj
+RESIZING=Rozmiar
+
+BANNER_TITLE=Tytu\u0142 do wy\u015bwietlenia:
+BANNER_FILE=Plik do wy\u015bwietlenia:
+BANNER_CONFIGURE=Ustawienia wy\u015bwietlania pliku zosta\u0142y zapisane
+BANNER_FAILURE=Nie mo\u017cna zapisa\u0107 ustawie\u0144 wy\u015bwietlania pliku!
+BANNER_NOFILES_START=Brak plik\u00f3w. Prosz\u0119 u\u017cy\u0107
+BANNER_NOFILES_END=aby za\u0142adowa\u0107 pliki
+BANNER_FILE_NOTFOUND=Nie mo\u017cna znale\u017a\u0107 pliku!
+BANNER_HELP=Pomoc do portletu plakat
+BANNER_EDIT=Edycja strony wy\u2248\u00f5wietlania
+
+FILE_DELETE=Usu\u0144 plik
+FILE_EDIT=Edytuj plik
+FILE_SAVE=Zapisz plik
+FILE_DOWNLOAD=Pobierz plik
+FILE_UPLOAD=Za\u0142aduj plik
+FILE_NAME=Plik:
+FILE_LIST=Wy\u015bwietl aktualne pliki:
+FILE_UPLOAD_FAIL=Nie mo\u017cna zapisa\u0107 za\u0142adowanego pliku!
+FILE_UPLOAD_TOOBIG=\u0141adowany plik przekracza dozwolony limit!
+FILE_SAVE_FAIL=Nie mo\u017cna zapisa\u0107 pliku:
+FILE_DISPLAY=Wy\u015bwietlany plik:
+FILE_OPEN_FAIL=Nie mo\u017cna otworzy\u0107 pliku:
+
+GROUP_ADMIN_SELECT_USER=Wybierz u\u017cytkownika do dodania i jego rol\u0119 w:
+GROUP_PORTLET_GROUP=Grupa portlet\u00f3w:
+GROUP_ADD_USER=U\u017cytkownik do dodania:
+GROUP_ROLEIN_GROUP=Rola w grupie:
+GROUP_ADD_USERS=Dodaj u\u017cytkownik\u00f3w
+GROUP_CANCEL_ADD=Anuluj dodanie
+GROUP_GO_BACK=Powr\u00f3t do grupy
+GROUP_LIST_GROUPS=Wy\u015bwietl grupy
+GROUP_USERS_ADDED=Nast\u0119puj\u0105cy u\u017cytkownicy zostali dodani do
+GROUP_REMOVE_USERS=Usu\u0144 u\u017cytkownik\u00f3w
+GROUP_CANCEL_REMOVE=Anuluj usuni\u0119cie
+GROUP_REMOVE_MSG=Wybierz u\u017cytkownik\u00f3w do usuni\u0119cia z
+GROUP_SELECTION=Wyb\u00f3r
+GROUP_ROLE_CHANGE=Zmie\u0144 rol\u0119 u\u017cytkownika
+GROUP_REMOVE_USER=Usu\u0144 u\u017cytkownika z grupy
+GROUP_NAME=Nazwa grupy:
+GROUP_LABEL=Etykieta grupy:
+GROUP_ACCESS=Dost\u0119p do grupy:
+GROUP_DESCRIPTION=Opis grupy:
+GROUP_PRIVATE=prywatna
+GROUP_PUBLIC=publiczna
+GROUP_NOUSERS=Nie ma wi\u0192\u00f4cej u\u2248\u00baytkownik\u221a\u2265w do dodania do grupy
+GROUP_NOTIFY=Ta grupa jest prywatna. Wy\u2248\u00f5lij list do
+GROUP_ADMIN=administratora
+
+PORTLET_WEBAPP=Aplikacja sieciowa portletu
+PORTLET_DESC=Opis
+PORTLET_RUNNING=Dzia\u0142\u0105j\u0105cy
+PORTLET_SESSIONS=Sesje
+PORTLET_ACTIONS=Akcje
+PORTLET_GS_MSG=Podstawowe portlety GridSphery nie mog\u0105 by\u0107 ponownie instalowane ani usuwane
+PORTLET_START=start
+PORTLET_STOP=stop
+PORTLET_RELOAD=prze\u0142aduj
+PORTLET_REMOVE=usu\u0144
+PORTLET_DEPLOY_MSG=Instaluj now\u0105 aplikacj\u0119 sieciow\u0105 portletu
+PORTLET_WEBAPP_MSG=Wprowad\u017a nazw\u0119 aplikacji sieciowej:
+PORTLET_DEPLOY=Instaluj
+PORTLET_UPLOAD=Za\u0142aduj plik WAR portletu
+PORTLET_FILE=Plik:
+PORTLET_ERR_DEPLOY=Nie mo\u017cna zainstalowa\u0107 aplikacji sieciowej!
+PORTLET_ERR_REGISTRY=Us\u0142uga PortletRegistry niedost\u0119pna!
+PORTLET_ERR_UPLOAD=Nie mo\u017cna zapisa\u0107 za\u0142adowanego pliku!
+PORTLET_ERR_TOMCAT=Wyst\u0105pi\u0142 b\u0142\u0105d Tomcata!
+PORTLET_ERR_IO=Wyst\u0105pi\u0142 b\u0142\u0105d wej\u015bcia/wyj\u015bcia!
+PORTLET_ERR_LIST=Nie mo\u017cna uzyska\u0107 listy portlet\u00f3w. Upewnij si\u0119, \u017ce tomcat-users.xml zosta\u0142 zmieniony zgodnie z podr\u0119cznikiem u\u017cytkownika.
+
+USER_CONFIRM_DELETE=Potwierd\u017a usuni\u0119cie
+USER_CANCEL_DELETE=Anuluj usuni\u0119cie
+USER_DELETE_MSG=Nast\u0119puj\u0105cy u\u017cytkownik zosta\u0142 usuni\u0119ty:
+USER_SAVE=Zapisz u\u017cytkownika
+USER_CANCEL_EDIT=Anuluj edycj\u0119
+USER_ROLE=Rola w GridSphere:
+USER_NEW_USER=Nowy u\u017cytkownik
+USER_LIST_USERS=Wy\u015bwietl u\u017cytkownik\u00f3w
+USER_EDIT_USER=Edytuj u\u017cytkownika
+USER_DELETE_USER=Usu\u0144 u\u017cytkownika
+
+COMMANDER_HELP=Tryb pomocy nie jest jeszcze zaimplementowany
+COMMANDER_ERROR_INIT=Secure directory service jest niedostepny
+COMMANDER_ERROR_UPLOAD_TO_BIG=Przes\u0142any plik jest za du\u017cy
+COMMANDER_ERROR_LOAD=Nie mo\u017cna wczyta\u0107 pliku
+COMMANDER_ERROR_DIR_READ=Nie mo\u017cna odczyta\u0107 katalogu
+COMMANDER_ERROR_DIR_BACK=przejd\u017a do katalogu g\u0142\u00f3wnego
+COMMANDER_RESOURCE=zas\u00f3b
+COMMANDER_SIZE=rozmiar
+COMMANDER_LAST_MODIFIED=ostatnia modyfikacja
+COMMANDER_FILE_NAME=Plik:
+COMMANDER_FILE_UPLOAD=Prze\u015blij plik
+COMMANDER_DIR_FILE_NAME=Nazwa (pliku/katalogu)
+COMMANDER_MKDIR=nowy katalog
+COMMANDER_TOUCH=nowy plik
+COMMANDER_COPY=Kopiuj
+COMMANDER_MOVE=Przenie\u015b
+COMMANDER_DELETE=Usu\u0144
+COMMANDER_CANCEL=Anuluj
+COMMANDER_SAVE=Zapisz
+COMMANDER_EDIT=edytuj
+
+ORIG_PASSWORD = Wprowad\u017a oryginalne has\u0142o:
+USER_PASSWORD_INVALID = Wprowadzone has\u0142o jest niepoprawne!
+USER_PASSWORD_NOTSET = Has\u0142o nie zosta\u0142o ustawione!
+USER_PASSWORD_BLANK = Has\u0142o nie mo\u017ce by\u0107 puste!
+USER_PASSWORD_TOOSHORT = Has\u0142o musi zawiera\u0107 co najmniej 5 znak\u00f3w!
+USER_GROUPS_SUCCESS = Zmiana przydzia\u0142u do grupy zako\u0144czona pomy\u015blnie
+USER_UPDATE_SUCCESS = Zmiana informacji o u\u017cytkowniku zako\u0144czona pomy\u015blnie
+
+LOGIN_FORGOT_PASSWORD = Zapomnia\u0142e\u015b has\u0142a?
+LOGIN_FORGOT_TEXT = Prosz\u0119 pod\u0105\u0107 sw\u00f3j adres e-mail w celu otrzymania dalszych instrukcji utworzenia nowego has\u0142a.
+LOGIN_REQUEST_EMAIL = Wprowad\u017a sw\u00f3j adres e-mail:
+LOGIN_NO_EMAIL = Prosz\u0119 pod\u0105\u0107 poprawny adres e-mail!
+LOGIN_NOEXIST = U\u017cytkownik o podanym adresie e-mail nie istnieje!
+LOGIN_FORGOT_MAIL = Prosz\u0119 klikn\u0105\u0107 na link poni\u017cej w celu utworzenia nowego has\u0142a w portalu
+
+
+
+MAIL_CONFIG_MSG = Konfiguracja ustawie\u0144 poczty e-mail w portalu
+MAIL_SERVER_MSG = Wprowad\u017a nazw\u0119 hosta SMTP dla poczty wychodz\u0105cej (nie wype\u0142niaj pola je\u015bli korzystasz z lokalnego serwera)
+MAIL_FROM_MSG = Wprowad\u017a adres e-mail w portalu (u\u017cytkownicy mog\u0105 otrzymywa\u0107 e-mail z tego adresu)
+MAIL_SUBJECT_MSG = Wprowad\u017a temat dla tej wiadomo\u015bci
+MAIL_SUBJECT_HEADER = Has\u0142o do GridSphere Portal
+
+
+
+LAYOUT_TAB_NAME = Wprowad\u017a nowa nazw\u0119 dla zak\u0142adki
+LAYOUT_ONE_COL = Jedna kolumna
+LAYOUT_TWO_COL = Dwie kolumny
+LAYOUT_THREE_COL = Trzy kolumny
+CREATE = Stw\u00f3rz
+LAYOUT_DISP_TABS = Pokaz istniej\u0105ce zak\u0142adki
+
+DELETE = Usu\u0144
+
+LAYOUTMGR_EDIT_BANNER = Edycja banera
+LAYOUTMGR_EDIT_MSG = Poni\u017cej mo\u017cesz edytowa\u0107 baner w HTML'u
+LAYOUTMGR_EDIT_THEME = Wybierz domy\u015blny uk\u0142ad graficzny
+LAYOUTMGR_THEME_MSG = Wybierz jeden z dost\u0119pnych uk\u0142ad\u00f3w graficznych na li\u015bcie
+LAYOUTMGR_GUEST = T\u0142o u\u017cytkownika domy\u015blnego
+LAYOUTMGR_GROUPS = T\u0142o grupy u\u017cytkownik\u00f3w
+LAYOUTMGR_EDIT_GUEST = Edytuj t\u0142o u\u017cytkownika domy\u015blnego
+LAYOUTMGR_GROUP_MSG = Dost\u0119pne s\u0105 nast\u0119puj\u0105ce t\u0142a dla grup u\u017cytkownik\u00f3w
+LAYOUTMGR_GROUP_EDIT = Edytuj t\u0142o
+LAYOUTMGR_GROUP_DELETE = Usu\u0144 t\u0142o
+LAYOUTMGR_IMPORT = Eksportuj istniej\u0105ce t\u0142o aplikacji
+
+GROUP_CREATE_NAME = Wprowad\u017a nazw\u0119 grupy:
+GROUP_DESC_MSG = Wprowad\u017a krotki opis grupy
+GROUP_VISIBILITY_MSG = Dost\u0119pno\u015b\u0107 grupy
+GROUP_VISIBILITY_DESC = Wybierz czy dana grupa ma by\u0107 prywatna czy publiczna. Ka\u017cdy u\u017cytkownik mo\u017ce doda\u0107 siebie do grupy publicznej, podczas gdy dost\u0119p do grup prywatnych wymaga dodatkowej autoryzacji.
+GROUP_SELECT_MSG = Wybierz portlety kt\u00f3re maja by\u0107 dost\u0119pne dla grupy. Wszyscy u\u017cytkownicy z tej grupy b\u0119d\u0105 mogli dodawa\u0107 te portlety do swojego t\u0142a portletu. Mo\u017cliwe jest tez zdefiniowanie r\u00f3l okre\u015blaj\u0105cych dodatkowe uprawnienia do portletu.
+GROUP_EDIT_USERS = Edycja u\u017cytkownik\u00f3w
+GROUP_CREATE_NEW = Dodanie nowej grupy
+GROUP_EDIT_DEFS = Edycja grupy domy\u015blnej
+GROUP_EDIT_DEFS_MSG = Kiedy u\u017cytkownicy s\u0105 dodawani do portalu mog\u0105 by\u0107 automatycznie dodawani r\u00f3wnie\u017c do wybranych grup
+
+
+PROFILE_CONFIG_MESSAGING = Konfiguruj ustawienia serwisu powiadamiania
+PROFILE_CONFIG_GROUPS = Konfiguruj ustawienia przydzia\u0142u do grupy
+PROFILE_UPDATE_PASS = Aktualizuj has\u0142o
+
+LAYOUTMGR_DELETE_LAYOUT=Uk\u0142ad graficzny grupy zosta\u0142 usuni\u0119ty:
+LAYOUTMGR_VALID_LAYOUT=Uk\u0142ad graficzny zosta\u0142 zaktualizowany. Prosz\u0119 si\u0119 wylogowa\u0107 i zalogowa\u0107 w celu zobaczenia zmian.
+LAYOUTMGR_INVALID_LAYOUT=W trakcie zapisu uk\u0142adu graficznego nast\u0105pi\u0142 b\u0142\u0105d. Sprawd\u017a, czy deskryptor jest prawid\u0142owy.
+
+GROUP_INVALID_NAME=Wprowad\u017a nazw\u0119 grupy!
+GROUP_INVALID_DESC=Wprowad\u017a opis grupy!
+GROUP_INVALID_PORTLETS=Grupa powinna posiada\u0107 conajmniej jeden portlet!
+GROUP_REMOVE_USERS_MSG=Usuni\u0119cie grupy jest mo\u017cliwe dopiero po usuni\u0119ciu z niej wszystkich u\u017cytkownik\u00f3w!
+GROUP_NOUSERS_SELECTED=Nie wybrano \u017cadnych u\u017cytkownik\u00f3w do usuni\u0119cia!
+GROUP_REMOVE_GROUP_SUCCESS=Usuni\u0119to grup\u0119:
+GROUP_REMOVE_USER_SUCCESS=U\u017cytkownik zosta\u0142 usuni\u0119ty z grupy!
+GROUP_ADD_USER_SUCCESS=Do grupy dodano u\u017cytkownika:
+GROUP_SAVE_DEFGROUPS_SUCCESS=Domy\u015bla grupa zosta\u0142a zapisana!
+GROUP_MODIFY_USERS=Modyfikuj u\u017cytkownik\u00f3w
+
+GROUP_NEWGROUP_SUCCESS=Informaja o grupie zosta\u0142a zapisana
+GROUP_VISIBILITY_MOREDESC=Upewnij si\u0119, \u017ce w grupie istnieje administrator z poprawnym adresem e-mail, w przeciwnym wypadku obs\u0142u\u017cenie \u017c\u0105da\u0144 autoryzacja cz\u0142onk\u00f3w grupy b\u0119dzie niemo\u017cliwe.
+
+LOGIN_SUCCESS_MAIL=Wkr\u00f3tce zostanie wys\u0142any do Ciebie e-mail z informacj\u0105 o aktualizacji has\u0142a
+LOGIN_FAILURE_MAIL=Wys\u0142anie powiadomienia e-mail nie jest mo\u017cliwe!
+
+PROFILE_ROLE_DESC=Rola w grupie
+
+PORTLET_SUC_TOMCAT=Operacja wykonana pomy\u015blnie
+PORTLET_SUC_DEPLOY=Zainstalowano aplikacj\u0119 sieciow\u0105:
+
+USER_CREATE_USER=Stw\u00f3rz nowego u\u017cytkownika
+USER_SHOW_USERS=Wy\u015bwietl wszystkich u\u017cytkownik\u00f3w
+USER_VIEW_USER=Wy\u015bwietl informacje o u\u017cytkowniku
+USER_EDIT_USER_MSG=Edytuj informacje o u\u017cytkowniku
+USER_PASS_BLANK_MSG=W celu u\u017cycia poprzedniego has\u0142a, w trakcie edycji danych istniej\u0105cego u\u017cytkownika, nale\u017cy pozostawi\u0107 puste pole has\u0142a
+USER_DELETE_SUCCESS=U\u017cytkownik zosta\u0142 usuni\u0119ty!
+USER_NEW_SUCCESS=U\u017cytkownik zosta\u0142 utworzony!
+USER_EDIT_SUCCESS=Dane o u\u017cytkowniku zosta\u0142y uaktualnione!
+
+LAYOUT_SAMETAB_ERROR=Zak\u0142adka o tej nazwie ju\u017c istnieje! Prosz\u0119 wybra\u0107 inn\u0105 nazw\u0119
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,395 @@
+# $Id: Portlet_zh.properties 4633 2006-03-09 16:44:16Z wehrens $
+
+LOGIN_NAME=\u7528\u6237\u540d
+LOGIN_PASS=\u5bc6\u7801
+LOGIN_SUCCESS=\u6b22\u8fce\u60a8
+LOGIN_FAILED=\u4f60\u7684\u7528\u6237\u540d\u548c\uff0f\u6216\u5bc6\u7801\u662f\u9519\u8bef\u7684\u3002 \u8bf7\u518d\u8bd5\u4e00\u6b21\u3002
+LOGIN_ACTION=\u767b\u5f55
+LOGIN_CONFIGURE=\u3010\u914d\u7f6e\u767b\u5f55 Configure Login\u3011
+LOGIN_CONFIG_MSG=\u767b\u5f55\u914d\u7f6e\u9009\u9879
+LOGIN_CONFIG_ALLOW=\u5141\u8bb8\u7528\u6237\u5728\u672c\u95e8\u6237\u7f51\u7ad9\uff08Portal\uff09\u4e0a\u5efa\u7acb\u65b0\u7684\u5e10\u53f7\uff1f
+LOGIN_SIGNUP=\u5efa\u7acb\u65b0\u7684\u5e10\u53f7
+
+NOTEPAD_EDIT=\u7f16\u8f91\u6ce8\u91ca
+NOTEPAD_CREATE=\u5efa\u7acb\u65b0\u6ce8\u91ca
+NOTEPAD_DELETE=\u5220\u9664\u5f53\u524d\u6ce8\u91ca
+NOTEPAD_SHOWLIST=\u663e\u793a\u6240\u6709\u7684\u6ce8\u91ca
+NOTEPAD_UPDATE=\u66f4\u65b0\u5f53\u524d\u6ce8\u91ca
+NOTEPAD_ADD=\u6dfb\u52a0\u5f53\u524d\u6ce8\u91ca
+NOTEPAD_SEARCH=\u641c\u7d22
+NOTEPAD_NOTEEXISTS=\u6ce8\u91ca\u5df2\u7ecf\u5b58\u5728\uff01
+NOTEPAD_DBERROR=\u6570\u636e\u5e93\u5b58\u5728\u95ee\u9898\uff01\u8bf7\u8054\u7cfb\u672c\u7f51\u7edc\u7ba1\u7406\u5458\uff01
+NOTEPAD_DELETE_SELECTED=\u5220\u9664\u88ab\u9009\u6ce8\u91ca
+
+MESSAGING_CONFIGURE_SERVICES=\u3010\u914d\u7f6e\u4fe1\u606f\u670d\u52a1 Configure Messaging Services\u3011
+MESSAGING_USERNOTONSERVICE=\u7528\u6237\u8fd8\u6ca1\u6709\u8ba2\u9605\u6b64\u9879\u670d\u52a1\u3002
+MESSAGING_NOUSERSELECTED=\u8bf7\u6311\u9009\u4e00\u4e2a\u7528\u6237\uff0c\u4ee5\u4fbf\u628a\u4e00\u4e2a\u901a\u77e5\u9001\u5f80\u3002
+MESSAGING_SEND=\u53d1\u9001
+MESSAGING_TO=\u9001\u5f80
+MESSAGING_VIA=using
+MESSAGING_SENDIT=\u53d1\u9001\u5b83\uff01
+MESSAGING_CHOOSESERVICETOEDIT=\u9009\u5b9a\u670d\u52a1\u8fdb\u884c\u7f16\u8f91
+MESSAGING_EDITSETTINGS=\u7f16\u8f91\u8bbe\u7f6e
+MESSAGING_USERNAME=\u9488\u5bf9\u672c\u670d\u52a1\u628a\u901a\u77e5\u9001\u5f80
+MESSAGING_SAVESETTINGS=\u4fdd\u5b58\u8bbe\u7f6e
+MESSAGING_DELETESETTINGS=\u5220\u9664\u8bbe\u7f6e
+MESSAGING_CANCEL=\u53d6\u6d88
+MESSAGING_SERVICE_SMS=\u6240\u4f7f\u7528\u7684\u670d\u52a1\uff0c\u5c06\u901a\u8fc7\u77ed\u4fe1\u670d\u52a1(SMS)\u53d1\u9001\u901a\u77e5\u81f3
+MESSAGING_SERVICE_AIM=\u6240\u4f7f\u7528\u7684\u670d\u52a1\uff0c \u5c06\u901a\u8fc7AOL Instant Messenger(AIM/Apple iChat)\u53d1\u9001\u901a\u77e5\u81f3
+MESSAGING_SERVICE_MAIL=\u6240\u4f7f\u7528\u7684\u670d\u52a1\uff0c \u5c06\u901a\u8fc7\u7535\u5b50\u90ae\u4ef6(EMail)\u53d1\u9001\u901a\u77e5\u81f3
+MESSAGING_NO_SERVICE_CONFIGURED=\u6ca1\u6709\u5df2\u914d\u7f6e\u8fc7\u7684\u670d\u52a1\u3002
+MESSAGING_OK=\u540c\u610f
+MESSAGING_SERVICE_SAVE=\u4fdd\u5b58
+MESSAGING_SERVICE_RESTART=\u91cd\u65b0\u542f\u52a8\u88ab\u9009\u7684\u4e00\u4e9b\u670d\u52a1
+MESSAGING_SERVICE_CONFIGTEXT=\u4e0b\u5217\u5404\u9879\u4fe1\u606f\u670d\u52a1\u90fd\u662f\u53ef\u5229\u7528\u7684\uff1a
+
+
+PROFILE_MANAGER=\u3010\u6210\u5f62\u7ba1\u7406\u8005 Profile Manager\u3011
+PROFILE_MESSAGING_SERVICE=\u4fe1\u606f\u670d\u52a1
+PROFILE_MESSAGING_USERID=\u628a\u901a\u77e5\u9001\u5f80
+PROFILE_MESSAGING_NO_SERVICE_CONFIGURED=\u6ca1\u6709\u5df2\u914d\u7f6e\u8fc7\u7684\u4fe1\u606f\u670d\u52a1\u3002
+PROFILE_SAVE_ERROR=\u4e0d\u53ef\u80fd\u4fdd\u5b58\u533a\u57df\u8bbe\u7f6e\uff01
+PROFILE_SAVE_SUCCESS=\u4fdd\u5b58\u533a\u57df\u8bbe\u7f6e
+PROFILE_GROUPS=\u7528\u6237\u7ec4\uff1a
+PROFILE_GROUP_DESC=\u7528\u6237\u7ec4\u63cf\u8ff0\uff1a
+PROFILE_LOCALE=\u9996\u9009\u533a\u57df\uff1a
+PROFILE_SAVE=\u4fdd\u5b58\u6539\u53d8
+PROFILE_EDIT=\u7f16\u8f91\u8bbe\u7f6e\u9002\u5408\u4e8e\u7528\u6237\uff1a
+PROFILE_VIEW=\u5bdf\u770b\u8bbe\u7f6e\u9002\u5408\u4e8e\u7528\u6237\uff1a
+PROFILE_LASTLOGIN= \u6700\u8fd1\u4e00\u6b21\u7684\u767b\u5f55\u65f6\u95f4\uff1a
+PROFILE_SETTINGS=\u6210\u5f62\uff08Profile\uff09\u8bbe\u7f6e
+PROFILE_CONFIG_MSG=\u901a\u8fc7\u8f93\u5165\u4e24\u4e2a\u5c0f\u5199\u5b57\u6bcdISO\u8bed\u8a00\u4ee3\u7801\uff0c\u4ee5\u9017\u53f7\u5206\u5f00\u7684\u5e8f\u5217\u8fdb\u884c\u914d\u7f6e\u6240\u652f\u6301\u7684\u533a\u57df\uff1a
+PROFILE_LOCALES=\u6240\u652f\u6301\u7684\u533a\u57df\uff1a
+PROFILE_PASSWORD=\u5bc6\u7801\uff1a
+PROFILE_PASSWORD2=\u6838\u5bf9\u5bc6\u7801\uff1a
+
+LAYOUT_THEME_SAVE=\u4fdd\u5b58\u98ce\u683c
+LAYOUT_TAB_CONFIG=\u83dc\u5355\u914d\u7f6e
+LAYOUT_TAB_EDIT=\u7f16\u8f91\u53ef\u7528\u7684\u83dc\u5355\u6807\u9898\uff1a
+LAYOUT_APPLY=\u65bd\u884c\u6539\u53d8
+LAYOUT_TAB_DEL=\u5220\u9664\u83dc\u5355
+LAYOUT_WARNING=\u8b66\u544a\uff01\u8fd9\u5c06\u5220\u9664\u88ab\u9009\u83dc\u5355\u7684\u5168\u90e8\u95e8\u4ef6
+LAYOUT_NEW_TAB=\u5efa\u7acb\u65b0\u83dc\u5355
+
+LAYOUT_SUBTAB_CONFIG=\u5b50\u83dc\u5355\u914d\u7f6e
+LAYOUT_TAB_SELECT=\u9009\u62e9\u4e00\u4e2a\u83dc\u5355
+LAYOUT_SUBTAB_EDIT=\u7f16\u8f91\u53ef\u7528\u7684\u5b50\u83dc\u5355\u6807\u9898\uff1a
+LAYOUT_SUBTAB_DEL=\u5220\u9664\u5b50\u83dc\u5355
+LAYOUT_NEW_SUBTAB=\u5efa\u7acb\u65b0\u5b50\u83dc\u5355
+LAYOUT_SUBTAB_EDIT2=\u8f93\u5165\u5b50\u83dc\u5355\u6807\u9898\uff1a
+LAYOUT_PORTLET_CONF=\u95e8\u4ef6\uff08Portlet\uff09\u914d\u7f6e
+LAYOUT_SUBTAB_SEL=\u9009\u62e9\u4e00\u4e2a\u5b50\u83dc\u5355
+LAYOUT_TABLE=\u95e8\u4ef6\u8868\u683c\u7248\u9762\u8bbe\u8ba1
+LAYOUT_ADD_ROW=\u6dfb\u52a0\u65b0\u8868\u683c\u7684\u884c
+LAYOUT_SAVE=\u4fdd\u5b58\u95e8\u4ef6\u7684\u6539\u53d8
+LAYOUT_CONFIG_THEMES=\u901a\u8fc7\u6307\u5b9aCSS\u76ee\u5f55\u540d\u79f0\uff0c \u4ee5\u9017\u53f7\u5206\u5f00\u7684\u5e8f\u5217\u914d\u7f6e\u8fdb\u884c\u6240\u652f\u6301\u7684\u98ce\u683c\uff1a
+LAYOUT_SUPPORTED_THEMES=\u6240\u652f\u6301\u7684\u98ce\u683c\uff1a
+
+USERNAME=\u7528\u6237\u540d\uff1a
+FAMILYNAME=\u59d3\uff1a
+GIVENNAME=\u540d\uff1a
+FULLNAME=\u5168\u79f0\uff1a
+EMAILADDRESS=\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff1a
+ORGANIZATION=\u673a\u6784\uff1a
+LOCALE=\u533a\u57df\uff1a
+PASSWORD=\u5bc6\u7801\uff1a
+CONFIRM_PASS=\u786e\u8ba4\u5bc6\u7801\uff1a
+ROLE=\u89d2\u8272\uff1a
+SAVE=\u4fdd\u5b58
+CANCEL=\u53d6\u6d88
+OK=\u540c\u610f
+APPLY=\u65bd\u884c\u6539\u53d8
+TIMEZONE=\u65f6\u533a\uff1a
+
+CONFIGURE=\u914d\u7f6e
+EDIT=\u7f16\u8f91
+HELP=\u5e2e\u52a9
+VIEW=\u5bdf\u770b
+
+NORMAL=\u6b63\u5e38
+MINIMIZED=\u6700\u5c0f\u5316
+MAXIMIZED=\u6700\u5927\u5316
+RESIZING=\u8c03\u6574\u5927\u5c0f
+
+BANNER_TITLE=\u6807\u9898\u663e\u793a
+BANNER_FILE=\u6587\u4ef6\u663e\u793a\uff1a
+BANNER_CONFIGURE=\u663e\u793a\u88ab\u4fdd\u5b58\u4e86\u7684\u6587\u4ef6\u8bbe\u7f6e
+BANNER_FAILURE=\u4e0d\u53ef\u80fd\u4fdd\u5b58\u663e\u793a\u6587\u4ef6\u8bbe\u7f6e\uff01
+BANNER_NOFILES_START=\u6ca1\u6709\u53ef\u5217\u51fa\u7684\u6587\u4ef6\u3002 \u8bf7
+BANNER_NOFILES_END=\u4e0a\u8f7d\u6587\u4ef6
+BANNER_FILE_NOTFOUND=\u4e0d\u53ef\u80fd\u786e\u5b9a\u6587\u4ef6\u7684\u5730\u70b9\uff01
+BANNER_HELP=\u6a2a\u5e45\u680f\uff08Banner\uff09\u95e8\u4ef6\u5e2e\u52a9
+BANNER_EDIT=\u7f16\u8f91\u663e\u793a\u9875\u9762
+BANNER_NOFILE_SELECTED=\u6ca1\u6709\u88ab\u9009\u6587\u4ef6\uff01
+
+FILE_DELETE=\u5220\u9664\u6587\u4ef6
+FILE_EDIT=\u7f16\u8f91\u6587\u4ef6
+FILE_SAVE=\u4fdd\u5b58\u6587\u4ef6
+FILE_DOWNLOAD=\u4e0b\u8f7d\u6587\u4ef6
+FILE_UPLOAD=\u4e0a\u8f7d\u6587\u4ef6
+FILE_NAME=\u6587\u4ef6\uff1a
+FILE_LIST=\u5217\u51fa\u5f53\u524d\u7684\u6587\u4ef6\uff1a
+FILE_UPLOAD_FAIL=\u4e0d\u53ef\u80fd\u4fdd\u5b58\u6240\u4e0a\u8f7d\u7684\u6587\u4ef6\uff01
+FILE_UPLOAD_TOOBIG=\u6240\u4e0a\u8f7d\u7684\u6587\u4ef6\u8d85\u8fc7\u6700\u5927\u5141\u8bb8\u7684\u6587\u4ef6\u5927\u5c0f\uff01
+FILE_SAVE_FAIL=\u4e0d\u53ef\u80fd\u4fdd\u5b58\u6587\u4ef6\uff1a
+FILE_DISPLAY=\u663e\u793a\u6587\u4ef6\uff1a
+FILE_OPEN_FAIL=\u4e0d\u53ef\u80fd\u6253\u5f00\u6587\u4ef6\uff1a
+FILE_EMPTY_DIRECTORY=\u7a7a\u76ee\u5f55
+
+GROUP_MANAGER_PORTLET=\u3010\u95e8\u4ef6\u7528\u6237\u7ec4\u7ba1\u7406\u8005 Portlet Group Manager\u3011
+GROUP_ADMIN_SELECT_USER=\u9009\u62e9\u60a8\u60f3\u589e\u52a0\u548c\u5206\u914d\u89d2\u8272\u7684\u7528\u6237
+GROUP_PORTLET_GROUP=\u95e8\u4ef6\u7528\u6237\u7ec4\uff1a
+GROUP_ADD_USER=\u7528\u6237\u6dfb\u52a0\uff1a
+GROUP_ROLEIN_GROUP=\u7f16\u8f91\u89d2\u8272\uff1a
+GROUP_ADD_USERS=\u6dfb\u52a0\u4e00\u4e9b\u7528\u6237
+GROUP_CANCEL_ADD=\u53d6\u6d88\u7528\u6237
+GROUP_GO_BACK=\u8fd4\u56de\u7528\u6237\u7ec4
+GROUP_LIST_GROUPS=\u7528\u6237\u7ec4\u5217\u8868
+GROUP_USERS_ADDED=\u4e0b\u5217\u7528\u6237\u5df2\u88ab\u6dfb\u52a0\u5230
+GROUP_REMOVE_USERS=\u5220\u9664\u4e00\u4e9b\u7528\u6237
+GROUP_CANCEL_REMOVE=\u53d6\u6d88\u5220\u9664
+GROUP_REMOVE_MSG=\u9009\u62e9\u60a8\u60f3\u4ece\u7528\u6237\u7ec4\u4e2d\u5220\u9664\u7684\u8fd9\u4e9b\u7528\u6237
+GROUP_SELECTION=\u9009\u62e9
+GROUP_ROLE_CHANGE=\u6539\u53d8\u7528\u6237\u89d2\u8272
+GROUP_REMOVE_USER=\u4ece\u7528\u6237\u7ec4\u4e2d\u5220\u9664\u7528\u6237
+GROUP_NAME=\u7528\u6237\u7ec4\u540d\u79f0\uff1a
+GROUP_LABEL=\u7528\u6237\u7ec4\u6807\u6ce8\uff1a
+GROUP_ACCESS=\u7528\u6237\u7ec4\u8bbf\u95ee\u6388\u6743\uff1a
+GROUP_DESCRIPTION=\u7528\u6237\u7ec4\u63cf\u8ff0\uff1a
+GROUP_ACTION=\u64cd\u4f5c\uff1a
+GROUP_DELETE=\u5220\u9664\u7528\u6237\u7ec4\uff1a
+GROUP_PRIVATE=\u79c1\u6709
+GROUP_PUBLIC=\u516c\u7528
+GROUP_NOUSERS=\u6ca1\u6709\u66f4\u591a\u7684\u7528\u6237\u53ef\u589e\u52a0\u6765\u5230\u8fd9\u4e2a\u7528\u6237\u7ec4
+GROUP_NOTIFY=\u8fd9\u4e2a\u7528\u6237\u7ec4\u662f\u79c1\u6709\u7684\u3002 \u8bf7\u53d1\u7535\u5b50\u90ae\u4ef6
+GROUP_ADMIN=\u7f51\u7edc\u7ba1\u7406\u4eba
+GROUP_MANAGE_USERS=\u7ba1\u7406\u7528\u6237\uff1a
+GROUP_MANAGE_MSG=\u7ba1\u7406\u7528\u6237\u9488\u5bf9\u7528\u6237\u7ec4\uff1a
+
+PORTLET_APPLICATION_MANAGER=\u3010\u95e8\u4ef6\u5e94\u7528\u8f6f\u4ef6\u7ba1\u7406\u8005 Portlet Application Manager\u3011
+PORTLET_WEBAPP=\u95e8\u4ef6\u5e94\u7528\u8f6f\u4ef6
+PORTLET_DESC=\u63cf\u8ff0
+PORTLET_RUNNING=\u8fd0\u884c
+PORTLET_SESSIONS=\u4f1a\u8bdd
+PORTLET_ACTIONS=\u64cd\u4f5c
+PORTLET_GS_MSG=\u7f51\u683c\u7403\u4f53\uff08GridSphere\uff09\u6838\u5fc3\u95e8\u4ef6\u4e0d\u80fd\u88ab\u91cd\u65b0\u90e8\u7f72\u6216\u88ab\u53bb\u9664
+PORTLET_START=\u542f\u52a8
+PORTLET_STOP=\u505c\u6b62
+PORTLET_RELOAD=\u91cd\u65b0\u52a0\u8f7d
+PORTLET_REMOVE=\u5220\u9664
+PORTLET_DEPLOY_MSG=\u90e8\u7f72\u65b0\u7684\u95e8\u4ef6\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6
+PORTLET_WEBAPP_MSG=\u8f93\u5165\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6\u540d\u79f0\uff1a
+PORTLET_DEPLOY=\u90e8\u7f72
+PORTLET_UPLOAD=\u4e0a\u8f7d\u95e8\u4ef6WAR\u6587\u4ef6
+PORTLET_FILE=\u6587\u4ef6\uff1a
+PORTLET_ERR_DEPLOY=\u4e0d\u53ef\u80fd\u90e8\u7f72\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6\uff01
+PORTLET_ERR_REGISTRY=\u95e8\u4ef6\u767b\u8bb0\u670d\u52a1\u65e0\u6cd5\u4f7f\u7528\uff01
+PORTLET_ERR_UPLOAD=\u4e0d\u53ef\u80fd\u4fdd\u5b58\u6240\u4e0a\u8f7d\u7684\u6587\u4ef6\uff01
+PORTLET_ERR_TOMCAT=\u53d1\u751f\u4e86Tomcat\u7684\u9519\u8bef\uff01
+PORTLET_ERR_IO=\u53d1\u751f\u4e86I/O\u7684\u9519\u8bef\uff01
+PORTLET_ERR_LIST=\u4e0d\u53ef\u80fd\u91cd\u65b0\u5f97\u5230\u95e8\u4ef6\u5217\u8868\u3002 \u786e\u4fe1\u6309\u7167\u7528\u6237\u6307\u5357\uff08UserGuide\uff09\u5df2\u4fee\u6539\u4e86\u6587\u4ef6tomcat-users.xml\u3002
+
+USER_ACCOUNT_MANAGER=\u3010\u7528\u6237\u5e10\u53f7\u7ba1\u7406\u8005 User Account Manager\u3011
+USER_CONFIRM_DELETE=\u786e\u8ba4\u5220\u9664
+USER_CANCEL_DELETE=\u53d6\u6d88\u5220\u9664
+USER_DELETE_MSG=\u4e0b\u5217\u7528\u6237\u5df2\u88ab\u5220\u9664\uff1a
+USER_SAVE=\u4fdd\u5b58\u7528\u6237
+USER_CANCEL_EDIT=\u53d6\u6d88\u7f16\u8f91
+USER_ROLE=\u5728\u7f51\u683c\u7403\u4f53\uff08GridSphere\uff09\u89d2\u8272\uff1a
+USER_NEW_USER=\u65b0\u7528\u6237
+USER_LIST_USERS=\u7528\u6237\u5217\u8868
+USER_EDIT_USER=\u7f16\u8f91\u7528\u6237
+USER_DELETE_USER=\u5220\u9664\u7528\u6237
+USER_NAME_BLANK=\u7528\u6237\u540d\u4e0d\u53ef\u4ee5\u662f\u7a7a\u7684
+USER_EXISTS=\u4e00\u4e2a\u7528\u6237\u5df2\u7ecf\u4e0e\u4f60\u7684\u7528\u6237\u540d\u540c\u6837\uff0c\u8bf7\u4f7f\u7528\u53e6\u5916\u7684\u7528\u6237\u540d\u3002
+USER_NEED_EMAIL=\u8bf7\u63d0\u4f9b\u4e00\u4e2a\u6709\u6548\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff01
+USER_FULLNAME_BLANK=\u5168\u79f0\u4e0d\u53ef\u4ee5\u662f\u7a7a\u7684\uff01
+USER_FAMILYNAME_BLANK=\u59d3\u4e0d\u53ef\u4ee5\u662f\u7a7a\u7684\uff01
+USER_GIVENNAME_BLANK=\u540d\u4e0d\u53ef\u4ee5\u662f\u7a7a\u7684\uff01
+USER_PASSWORD_BLANK=\u5bc6\u7801\u4e0d\u53ef\u4ee5\u662f\u7a7a\u7684\uff01
+USER_PASSWORD_MISMATCH=\u4f60\u7684\u5bc6\u7801\u5fc5\u987b\u4e0e\u786e\u8ba4\u5bc6\u7801\u4e00\u81f4\uff01
+USER_PASSWORD_TOOSHORT=\u5bc6\u7801\u5fc5\u987b\u81f3\u5c11\u6709\u4e94\u4e2a\u5b57\u7b26\uff01
+USER_NEW_ACCOUNT=\u65b0\u7528\u6237\u5e10\u53f7\u5df2\u751f\u6210\u7684\u3002
+# usage please login as John Smith
+USER_PLEASE_LOGIN=\u8bf7\u767b\u5f55
+
+COMMANDER_HELP=\u5e2e\u52a9\u6a21\u5757\u5c1a\u672a\u88ab\u5b8c\u6210
+COMMANDER_ERROR_INIT=\u5b89\u5168\u76ee\u5f55\u670d\u52a1\u65e0\u6cd5\u4f7f\u7528 \uff01\uff01\uff01
+COMMANDER_ERROR_UPLOAD_TO_BIG=\u5df2\u4e0a\u8f7d\u7684\u6587\u4ef6\u592a\u5927
+COMMANDER_ERROR_LOAD=\u4e0d\u53ef\u80fd\u6253\u5f00\u6587\u4ef6
+COMMANDER_ERROR_DIR_READ=\u4e0d\u53ef\u80fd\u8bfb\u53d6\u76ee\u5f55
+COMMANDER_ERROR_DIR_BACK=\u8fdb\u5165\u6839\u76ee\u5f55
+COMMANDER_RESOURCE=\u8d44\u6e90
+COMMANDER_SIZE=\u5927\u5c0f
+COMMANDER_LAST_MODIFIED=\u6700\u540e\u66f4\u6539
+COMMANDER_FILE_NAME=\u6587\u4ef6\uff1a
+COMMANDER_FILE_UPLOAD=\u4e0a\u8f7d\u6587\u4ef6
+COMMANDER_DIR_FILE_NAME=(\u6587\u4ef6\uff0f\u76ee\u5f55)\u7684\u540d\u79f0
+COMMANDER_MKDIR=\u65b0\u76ee\u5f55
+COMMANDER_TOUCH=\u65b0\u6587\u4ef6
+COMMANDER_COPY=\u590d\u5236
+COMMANDER_MOVE=\u79fb\u52a8
+COMMANDER_DELETE=\u5220\u9664
+COMMANDER_CANCEL=\u53d6\u6d88
+COMMANDER_SAVE=\u4fdd\u5b58
+COMMANDER_EDIT=\u7f16\u8f91
+
+# new stuff
+ORIG_PASSWORD=\u8f93\u5165\u5df2\u6709\u7684\u5bc6\u7801\uff1a
+USER_PASSWORD_INVALID=\u6240\u7ed9\u51fa\u7684\u5bc6\u7801\u662f\u65e0\u6548\u7684\uff01
+USER_PASSWORD_NOTSET=\u5bc6\u7801\u8fd8\u6ca1\u6709\u7ed9\u51fa\uff01
+USER_PASSWORD_SUCCESS=\u6210\u529f\u5730\u66f4\u65b0\u4e86\u5bc6\u7801
+USER_GROUPS_SUCCESS=\u6210\u529f\u5730\u66f4\u65b0\u4e86\u7528\u6237\u7ec4\u6210\u5458
+USER_UPDATE_SUCCESS=\u6210\u529f\u5730\u66f4\u65b0\u4e86\u7528\u6237\u4fe1\u606f
+
+LOGIN_FORGOT_PASSWORD=\u5fd8\u8bb0\u60a8\u7684\u5bc6\u7801\u4e86\u5417?
+LOGIN_FORGOT_TEXT=\u8bf7\u63d0\u4f9b\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u5e76\u4e14\u60a8\u5c06\u6536\u5230\u4f7f\u7528\u8bf4\u660e\u548c\u5efa\u7acb\u65b0\u5bc6\u7801
+LOGIN_REQUEST_EMAIL=\u8f93\u5165\u60a8\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff1a
+LOGIN_NO_EMAIL=\u8bf7\u63d0\u4f9b\u4e00\u4e2a\u6709\u6548\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\uff01
+LOGIN_NOEXIST=\u6ca1\u6709\u7528\u6237\u5e10\u53f7\u7684\u7535\u5b50\u90ae\u4ef6\u4e0e\u4f60\u6240\u7ed9\u51fa\u7684\u76f8\u5339\u914d!
+LOGIN_FORGOT_MAIL=\u8bf7\u70b9\u51fb\u5982\u4e0b\u7684\u94fe\u63a5\uff0c\u5728\u672c\u95e8\u6237\u7f51\u7ad9\u4e0a\u5efa\u7acb\u60a8\u7684\u65b0\u5e10\u6237\u5bc6\u7801
+
+MAIL_CONFIG_MSG=\u914d\u7f6e\u95e8\u6237\u7f51\u7ad9\u7535\u5b50\u90ae\u5730\u8bbe\u7f6e
+MAIL_SERVER_MSG=\u8f93\u5165SMTP\u53d1\u9001\u7535\u5b50\u90ae\u5730\u4e3b\u673a\uff08\u5982\u679c\u672c\u673a\u4f7f\u7528\u4e3b\u673a\u7684\u8bdd\uff0c\u90a3\u4e48\u7559\u4e0b\u7a7a\u767d\uff09
+MAIL_FROM_MSG=\u8f93\u5165\u7f51\u7ad9\u7684\u7535\u5b50\u90ae\u4ef6\uff08\u7528\u6237\u53ef\u4ee5\u4ece\u8fd9\u4e2a\u5730\u5740\u63a5\u53d7\u7535\u5b50\u90ae\u4ef6\uff09
+MAIL_SUBJECT_MSG=\u8f93\u5165\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u7684\u4e3b\u9898\u5185\u5bb9
+MAIL_SUBJECT_HEADER=\u95e8\u6237\u7f51\u7ad9\u5bc6\u7801
+
+LAYOUT_USER_MANAGER=\u3010\u7528\u6237\u7248\u9762\u7ba1\u7406\u8005 User Layout Manager\u3011
+LAYOUT_THEME=\u98ce\u683c\u914d\u7f6e
+LAYOUT_SELECT_THEME=\u9009\u62e9\u4e00\u4e2a\u98ce\u683c\uff1a
+LAYOUT_TAB_NAME=\u8f93\u5165\u65b0\u7684\u83dc\u5355\u6807\u9898\uff1a
+LAYOUT_ONE_COL=\u4e00\u5217
+LAYOUT_TWO_COL=\u4e8c\u5217
+LAYOUT_THREE_COL=\u4e09\u5217
+CREATE=\u5efa\u7acb
+LAYOUT_DISP_TABS=\u663e\u793a\u73b0\u6709\u7684\u83dc\u5355
+LAYOUT_SHOW_TAB=\u83dc\u5355\u540d\u79f0
+LAYOUT_EDIT_TAB=\u7f16\u8f91\u83dc\u5355\u540d\u79f0
+LAYOUT_DELETE_TAB=\u5220\u9664\u83dc\u5355
+
+DELETE=\u5220\u9664
+
+LAYOUTMGR=\u3010\u7248\u9762\u7ba1\u7406\u8005 Layout Manager Portlet\u3011
+LAYOUTMGR_EDIT_BANNER=\u7f16\u8f91\u6a2a\u5e45\u680f
+LAYOUTMGR_EDIT_MSG=\u4f60\u53ef\u4ee5\u5728\u4e0b\u9762\u7f16\u8f91\u95e8\u6237\u7f51\u7ad9\u6a2a\u5e45HTML
+LAYOUTMGR_EDIT_THEME=\u9009\u62e9\u9ed8\u8ba4\u98ce\u683c
+LAYOUTMGR_THEME_MSG=\u4ece\u53ef\u7528\u7684\u98ce\u683c\u5217\u8868\u4e2d\u9009\u62e9\uff1a
+LAYOUTMGR_GUEST=\u5ba2\u4eba\u7248\u9762
+LAYOUTMGR_GROUPS=\u7528\u6237\u7ec4\u7248\u9762
+LAYOUTMGR_EDIT_GUEST=\u7f16\u8f91\u5ba2\u4eba\u7248\u9762
+LAYOUTMGR_GROUP_MSG=\u4e0b\u5217\u7528\u6237\u7ec4\u7248\u9762\u5df2\u5b58\u5728\uff1a
+LAYOUTMGR_GROUP_EDIT=\u7f16\u8f91\u7248\u9762
+LAYOUTMGR_GROUP_DELETE=\u5220\u9664\u7248\u9762
+LAYOUTMGR_IMPORT=\u5bfc\u5165\u73b0\u6709\u7684\u5e94\u7528\u8f6f\u4ef6\u7248\u9762\uff1a
+
+
+
+GROUP_CREATE_NAME=\u8f93\u5165\u7528\u6237\u7ec4\u540d\u79f0\uff1a
+GROUP_DESC_MSG=\u8f93\u5165\u7528\u6237\u7ec4\u7684\u7b80\u8981\u63cf\u8ff0\uff1a
+GROUP_VISIBILITY_MSG=\u7528\u6237\u7ec4\u53ef\u89c1\u6027
+GROUP_VISIBILITY_DESC=\u9009\u62e9\u7528\u6237\u7ec4\u662f\u516c\u7528\u7684\u8fd8\u662f\u79c1\u6709\u7684\u3002\u4e00\u65e6\u79c1\u6709\u7528\u6237\u7ec4\u83b7\u5f97\u6388\u6743\uff0c\u4eba\u4eec\u5c31\u53ef\u4ee5\u628a\u4ed6\u4eec\u52a0\u5230\u516c\u7528\u7528\u6237\u7ec4\u3002
+GROUP_SELECT_MSG=\u9009\u62e9\u53ef\u7528\u5230\u7528\u6237\u7ec4\u7684\u95e8\u4ef6\u3002\u5728\u7528\u6237\u7ec4\u4e2d\u7684\u7528\u6237\u5c06\u6709\u53ef\u80fd\u628a\u4ed6\u4eec\u7684\u95e8\u4ef6\u52a0\u5230\u81ea\u5df1\u7684\u7248\u9762\u4e0a\u3002\u6b64\u5916\uff0c\u6240\u9700\u7684\u89d2\u8272\u53ef\u4ee5\u88ab\u52a0\u5165\u5230\u95e8\u4ef6\u4e2d\u3002
+GROUP_EDIT_USERS=\u7f16\u8f91\u7528\u6237
+GROUP_CREATE_NEW=\u5efa\u7acb\u65b0\u7528\u6237\u7ec4
+GROUP_EDIT_DEFS=\u7f16\u8f91\u9ed8\u8ba4\u7528\u6237\u7ec4
+GROUP_EDIT_DEFS_MSG= \u5728\u7528\u6237\u88ab\u52a0\u5165\u5230\u95e8\u6237\u7f51\u7ad9\u7684\u65f6\u5019\uff0c\u4ed6\u4eec\u53ef\u4ee5\u81ea\u52a8\u5730\u8fdb\u5165\u5230\u4e0b\u5217\u7528\u6237\u7ec4\u9009\u62e9\u5217\u8868\u4e2d\u3002
+
+
+PROFILE_CONFIG_MESSAGING=\u914d\u7f6e\u4fe1\u606f\u670d\u52a1
+PROFILE_CONFIG_GROUPS=\u914d\u7f6e\u7528\u6237\u7ec4\u6210\u5458
+PROFILE_UPDATE_PASS=\u66f4\u65b0\u5bc6\u7801
+
+SUBSCRIPTION_SUBSCRIBE=\u8ba2\u9605
+SUBSCRIPTION_DESC=\u95e8\u4ef6\u63cf\u8ff0
+SUBSCRIPTION_REQROLE=\u6240\u9700\u7684\u89d2\u8272
+
+# more new
+LAYOUTMGR_DELETE_LAYOUT=\u6210\u529f\u5730\u5220\u9664\u4e86\u7528\u6237\u7ec4\u7684\u7248\u9762\uff1a
+LAYOUTMGR_VALID_LAYOUT=\u6210\u529f\u5730\u66f4\u65b0\u4e86\u7248\u9762\u3002\u8bf7\u9000\u51fa\u767b\u9646\u5e76\u4e14\u91cd\u65b0\u767b\u9646\u770b\u89c1\u7248\u9762\u7684\u53d8\u5316\u3002
+LAYOUTMGR_INVALID_LAYOUT=\u4fdd\u5b58\u7248\u9762\u65f6\u53d1\u751f\u4e86\u9519\u8bef\u3002\u68c0\u67e5\u63cf\u8ff0\u7b26\uff08descriptor\uff09\u662f\u5426\u6709\u6548\uff01
+
+GROUP_INVALID_NAME=\u8bf7\u63d0\u4f9b\u7528\u6237\u7ec4\u540d\u79f0\uff01
+GROUP_INVALID_DESC=\u8bf7\u63d0\u4f9b\u7528\u6237\u7ec4\u63cf\u8ff0\uff01
+GROUP_INVALID_PORTLETS=\u8bf7\u9009\u62e9\u81f3\u5c11\u4e00\u4e2a\u95e8\u4ef6\u52a0\u5230\u8fd9\u4e2a\u7528\u6237\u7ec4\uff01
+GROUP_REMOVE_USERS_MSG=\u5728\u4f60\u5220\u9664\u7528\u6237\u7ec4\u4e4b\u524d\uff0c\u5fc5\u987b\u5220\u9664\u5728\u8be5\u7ec4\u4e2d\u7684\u6240\u6709\u7528\u6237\uff01
+GROUP_NOUSERS_SELECTED=\u60f3\u8981\u5220\u9664\u7684\u7528\u6237\u5c1a\u672a\u88ab\u9009\u4e2d\uff01
+GROUP_REMOVE_GROUP_SUCCESS=\u6210\u529f\u5730\u5220\u9664\u4e86\u7528\u6237\u7ec4\uff1a
+GROUP_REMOVE_USER_SUCCESS=\u6210\u529f\u5730\u5220\u9664\u4e86\u7528\u6237\u7ec4\u7684\u7528\u6237\uff01
+GROUP_ADD_USER_SUCCESS=\u6210\u529f\u5730\u628a\u7528\u6237\u52a0\u5230\u4e86\u7528\u6237\u7ec4\uff1a
+GROUP_SAVE_DEFGROUPS_SUCCESS=\u6210\u529f\u5730\u4fdd\u5b58\u4e86\u9ed8\u8ba4\u7528\u6237\u7ec4\uff01
+GROUP_MODIFY_USERS=\u7f16\u8f91\u7528\u6237
+
+GROUP_NEWGROUP_SUCCESS=\u6210\u529f\u5730\u4fdd\u5b58\u4e86\u7528\u6237\u7ec4\u4fe1\u606f
+GROUP_VISIBILITY_MOREDESC=\u8bf7\u786e\u5b9a\u4e00\u540d\u5408\u6cd5\u7684\u7f51\u7edc\u7ba1\u7406\u5458\uff08\u5177\u6709\u5408\u6cd5\u7684\u7535\u5b50\u90ae\u4ef6\uff09\u88ab\u52a0\u5230\u8be5\u7528\u6237\u7ec4\uff0c\u4ee5\u4fbf\u6279\u51c6\u6210\u5458\u8d44\u683c\u8bf7\u6c42\u3002
+
+LOGIN_SUCCESS_MAIL=\u4e0d\u4e45\u4f60\u5c06\u6536\u5230\u4e00\u5c01\u5177\u6709\u5bc6\u7801\u66f4\u65b0\u4fe1\u606f\u7684\u7535\u5b50\u90ae\u4ef6\u3002
+LOGIN_FAILURE_MAIL=\u4e0d\u53ef\u80fd\u53d1\u9001\u7535\u5b50\u90ae\u4ef6\u901a\u77e5\uff01
+
+PROFILE_ROLE_DESC=\u5728\u7528\u6237\u7ec4\u4e2d\u7684\u89d2\u8272
+
+PORTLET_SUC_TOMCAT=\u6210\u529f\u5730\u5b8c\u6210\u5de5\u4f5c
+PORTLET_SUC_DEPLOY=\u6210\u529f\u5730\u90e8\u7f72\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6\uff1a
+
+USER_CREATE_USER=\u5efa\u7acb\u65b0\u7528\u6237
+USER_SHOW_USERS=\u663e\u793a\u6240\u6709\u7684\u7528\u6237
+USER_VIEW_USER=\u663e\u793a\u7528\u6237\u4fe1\u606f
+USER_EDIT_USER_MSG=\u7f16\u8f91\u7528\u6237\u4fe1\u606f
+USER_PASS_BLANK_MSG=\u5982\u679c\u7f16\u8f91\u5df2\u6709\u7528\u6237\uff0c\u90a3\u4e48\u5bc6\u7801\u8f93\u5165\u6846\u4e3a\u7a7a\u767d\uff0c\u8fd9\u6837\u4fdd\u7559\u73b0\u6709\u5bc6\u7801\u3002
+USER_DELETE_SUCCESS=\u7528\u6237\u88ab\u6210\u529f\u5730\u5220\u9664\uff01
+USER_NEW_SUCCESS=\u7528\u6237\u88ab\u6210\u529f\u5730\u6dfb\u52a0\uff01
+USER_EDIT_SUCCESS=\u7528\u6237\u88ab\u6210\u529f\u5730\u66f4\u65b0\uff01
+
+LAYOUT_SAMETAB_ERROR=\u540c\u6837\u7684\u83dc\u5355\u540d\u79f0\u5df2\u7ecf\u5b58\u5728\u4e86\uff01\u8bf7\u4f60\u9009\u62e9\u53e6\u5916\u7684\u4e00\u4e2a
+
+# 2.0.1
+
+LOGIN_REMEMBER_ME=\u8bb0\u4f4f\u6211\u7684\u767b\u5f55
+LAYOUT_NOTAB_ERROR=\u8bf7\u8f93\u5165\u4e00\u4e2a\u83dc\u5355\u540d\u79f0\uff01
+GROUP_INFO=\u7528\u6237\u7ec4\u4fe1\u606f
+GROUP_LAYOUT_HEADER=\u7528\u6237\u7ec4\u7248\u9762
+GROUP_SELECT_PORTLETS=\u9009\u62e9\u95e8\u4ef6
+GROUP_CREATE_TEMPLATE=\u5efa\u7acb\u6a21\u677f\u7248\u9762
+GROUP_CUSTOMIZE_LAYOUT=\u5b9a\u5236\u7248\u9762
+GROUP_LAYOUT_MSG=\u6bcf\u4e2a\u7528\u6237\u7ec4\u90fd\u6709\u4e00\u79cd\u5e03\u5c40\u4e0e\u5b83\u76f8\u5173\u8054\u7684\u3002\u4f7f\u7528\u7248\u9762\u7ba1\u7406\u95e8\u4ef6\uff0c\u4f60\u53ef\u4ee5\u9009\u62e9\u5efa\u7acb\u4e00\u4e2a\u6a21\u677f\u7248\u9762\u6216\u5efa\u7acb\u4e00\u4e2a\u5b9a\u5236\u7248\u9762\u3002
+GROUP_TEMPLATE_MSG=\u6a21\u677f\u7248\u9762\u5efa\u7acb\u4e00\u4e2a\u83dc\u5355\uff0c\u5728\u5b50\u83dc\u5355\u5185\u653e\u7f6e\u6bcf\u4e2a\u901a\u8fc7\u7528\u6237\u7ec4\u6240\u5b9a\u4e49\u7684\u95e8\u4ef6\u3002
+GROUP_LAYOUT_CUSTOM=\u4f7f\u7528\u7248\u9762\u7ba1\u7406\u95e8\u4ef6\u5e76\u4e14\u63d0\u4f9b\u7248\u9762\u63cf\u8ff0\u7b26\uff08descriptor\uff09\u8fdb\u884c\u5b9a\u5236\u7248\u9762
+
+LOGIN_AUTHMODULES_MSG=\u5bc6\u7801\u8ba4\u8bc1\u6a21\u5757
+LOGIN_MODULE_NAME=\u540d\u79f0
+LOGIN_MODULE_DESC=\u63cf\u8ff0
+LOGIN_MODULE_ISACTIVE=\u6fc0\u6d3b\u5426\uff1f
+LOGIN_MODULE_PRIORITY=\u4f18\u5148\u6743
+LOGIN_AUTHMODULES_ONEREQ=\u5fc5\u987b\u5b58\u5728\u4e00\u4e2a\u6fc0\u6d3b\u7684\u8ba4\u8bc1\u6a21\u5757\uff01
+
+LAYOUTMGR_EDIT_FOOTER=\u7f16\u8f91\u9875\u811a
+LAYOUTMGR_EDIT_FOOTER_MSG=\u5728\u4e0b\u9762\u4f60\u53ef\u4ee5\u7f16\u8f91\u95e8\u6237\u7f51\u7ad9\u9875\u811aHTML
+
+LOGIN_ACTIVATE_MAIL=\u8bf7\u70b9\u51fb\u5982\u4e0b\u7684\u94fe\u63a5\uff0c\u5728\u672c\u95e8\u6237\u7f51\u7ad9\u4e0a\u662f\u5426\u6fc0\u6d3b\u60a8\u7684\u5e10\u6237
+MAIL_ACCT_HEADER=\u95e8\u6237\u7f51\u7ad9\u5e10\u53f7
+LOGIN_ACCT_MAIL=\u4e0d\u4e45\u4f60\u5c06\u6536\u5230\u4e00\u5c01\u5177\u6709\u5e10\u53f7\u6fc0\u6d3b\u4fe1\u606f\u7684\u7535\u5b50\u90ae\u4ef6\u3002
+LOGIN_CREATE_ACCT=\u8bf7\u586b\u5199\u4f60\u7684\u7528\u6237\u4fe1\u606f\u548c\u4e00\u4e2a\u7ed9\u4f60\u53d1\u9001\u6fc0\u6d3b\u5e10\u53f7\u8d44\u6599\u7684\u7535\u5b50\u90ae\u4ef6\u5730\u5740\u3002
+GROUP_MANAGE_PORTLETS=\u7ba1\u7406\u95e8\u4ef6\uff1a
+GROUP_EDIT_PORTLETS=\u9009\u62e9\u95e8\u4ef6
+
+LOCALE_PORTLET=\u3010\u95e8\u4ef6\u8bed\u8a00 Locale Portlet\u3011
+LOGOUT_PORTLET=\u3010\u9000\u51fa\u767b\u5f55 Logout\u3011
+WELCOME_ABOUT_TITLE=\u5173\u4e8e\u6211\u4eec
+WELCOME_ABOUT_MAMMOX=\u5fb7\u56fd\u731b\u72b8\u8f6f\u4ef6\u6709\u9650\u8d23\u4efb\u516c\u53f8
+WELCOME_ABOUT_TRANSLATE=Gridsphere Portlets Framework\u4e2d\u6587\u7ffb\u8bd1\u7531\u672c\u516c\u53f8\u5b8c\u6210\u7684\u548c\u63d0\u4f9b\u7684\u3002
+
+PORTLET_CURRENT=\u95e8\u4ef6\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6
+PORTLET_NON=\u975e\u95e8\u4ef6\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6
+PORTLET_NONWEBAPP=\u7f51\u7edc\u5e94\u7528\u8f6f\u4ef6
+
+SESSION_ACTIVE=\u5f53\u524d\u4f1a\u8bdd\u6570(\u6e38\u5ba2 + \u7528\u6237):
+SESSION_USERS=\u767b\u9646\u7528\u6237\u6570:
+
+# 2.0.3
+GROUP_DEFAULT=\u9ed8\u8ba4
+GROUP_HIDDEN=\u9690\u85cf
+
+LOGIN_CONFIG_NOTIFY=\u662f\u5426\u5141\u8bb8\u7528\u6237\u91cd\u65b0\u8bbe\u7f6e,\u5982\u679c\u4ed6\u5fd8\u8bb0\u4e86\u5bc6\u7801?
+LOGIN_CONFIG_PASSWD=\u662f\u5426\u5728GS\u6570\u636e\u5e93\u4fdd\u5b58\u5bc6\u7801?
+LOGIN_CONFIG_PASSWD1=\u5e94\u8be5\u88ab\u9009\u62e9,\u9664\u975e"\u5bc6\u7801\u8ba4\u8bc1\u6a21\u5757"\u6ca1\u6709\u88ab\u6fc0\u6d3b
+LOGIN_CONFIG_PASSWD2=\u5e94\u8be5\u88ab\u9009\u62e9,\u5982\u679c\u9009\u9879"\u662f\u5426\u5141\u8bb8\u7528\u6237\u91cd\u65b0\u8bbe\u7f6e"\u88ab\u9009\u62e9
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u0645\u062f\u064a\u0631 \u0627\u0644\u0645\u0644\u0641
+javax.portlet.short-title=\u0645\u062f\u064a\u0631 \u0627\u0644\u0645\u0644\u0641
+javax.portlet.keywords=
+\u0645\u062f\u064a\u0631 \u0627\u0644\u0645\u0644\u0641
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Spr\u00e1vce profil\u016f u\u017eivatel\u016f
+javax.portlet.short-title=Spr\u00e1vce profil\u016f u\u017eivatel\u016f
+javax.portlet.keywords=
+Spr\u00e1vce profil\u016f u\u017eivatel\u016f
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Benutzerprofil Verwaltung
+javax.portlet.short-title=Benutzerprofil Verwaltung
+javax.portlet.keywords=
+Benutzerprofil Verwaltung
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Profile Manager
+javax.portlet.short-title=Profile Manager
+javax.portlet.keywords=
+Profile Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Administrador de Perfiles
+javax.portlet.short-title=Administrador de Perfiles
+javax.portlet.keywords=
+Administrador de Perfiles
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestionnaire de profile
+javax.portlet.short-title=Gestionnaire de profile
+javax.portlet.keywords=
+Gestionnaire de profile
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj profila
+javax.portlet.short-title=Upravitelj profila
+javax.portlet.keywords=
+Upravitelj profila
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Felhaszn\u00e1l\u00f3i adatok
+javax.portlet.short-title=Felhaszn\u00e1l\u00f3i adatok
+javax.portlet.keywords=
+Felhaszn\u00e1l\u00f3i adatok
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestione Profilo
+javax.portlet.short-title=Gestione Profilo
+javax.portlet.keywords=
+Gestione Profilo
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7ba1\u7406
+javax.portlet.short-title=\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7ba1\u7406
+javax.portlet.keywords=
+\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u7ba1\u7406
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_nl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_nl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_nl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Profiel Manager
+javax.portlet.short-title=Profiel Manager
+javax.portlet.keywords=
+Profiel Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Menad\u017cer profili
+javax.portlet.short-title=Menad\u017cer profili
+javax.portlet.keywords=
+Menad\u017cer profili
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/ProfileManager/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u3010\u6210\u5f62\u7ba1\u7406\u8005 Profile Manager\u3011
+javax.portlet.short-title=\u3010\u6210\u5f62\u7ba1\u7406\u8005 Profile Manager\u3011
+javax.portlet.keywords=
+\u3010\u6210\u5f62\u7ba1\u7406\u8005 Profile Manager\u3011
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Role Manager
+javax.portlet.short-title=Role Manager
+javax.portlet.keywords=
+Role Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Administrador de Roles
+javax.portlet.short-title=Administrador de Roles
+javax.portlet.keywords=
+Administrador de Roles
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj uloga
+javax.portlet.short-title=Upravitelj uloga
+javax.portlet.keywords=
+Upravitelj uloga
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_ja.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_ja.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/RoleManager/Portlet_ja.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u5f79\u5272(Role)\u7ba1\u7406
+javax.portlet.short-title=\u5f79\u5272(Role)\u7ba1\u7406
+javax.portlet.keywords=
+\u5f79\u5272(Role)\u7ba1\u7406
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/Signup/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+javax.portlet.title = Signup
+javax.portlet.short-title = Signup
+javax.portlet.keywords = signup

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_ar.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_ar.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_ar.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u0645\u062f\u064a\u0631 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+javax.portlet.short-title=\u0645\u062f\u064a\u0631 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
+javax.portlet.keywords=
+\u0645\u062f\u064a\u0631 \u062d\u0633\u0627\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_cs.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_cs.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_cs.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Spr\u00e1va u\u017eivatelsk\u00fdch \u00fa\u010dt\u016f
+javax.portlet.short-title=Spr\u00e1va u\u017eivatelsk\u00fdch \u00fa\u010dt\u016f
+javax.portlet.keywords=
+Spr\u00e1va u\u017eivatelsk\u00fdch \u00fa\u010dt\u016f
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_de.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_de.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_de.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Konto Manager
+javax.portlet.short-title=Konto Manager
+javax.portlet.keywords=
+Konto Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_en.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_en.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_en.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=User Account Manager
+javax.portlet.short-title=User Account Manager
+javax.portlet.keywords=
+User Account Manager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_es.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_es.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_es.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Administrador de Cuentas de Usuario
+javax.portlet.short-title=Administrador de Cuentas de Usuario
+javax.portlet.keywords=
+Administrador de Cuentas de Usuario
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_fr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_fr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_fr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestionnaire de compte usager
+javax.portlet.short-title=Gestionnaire de compte usager
+javax.portlet.keywords=
+Gestionnaire de compte usager
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hr.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hr.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hr.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Upravitelj korisnika
+javax.portlet.short-title=Upravitelj korisnika
+javax.portlet.keywords=
+Upravitelj korisnika
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hu.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hu.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_hu.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Felhaszn\u00e1l\u00f3i hozz\u00e1f\u00e9r\u00e9s kezel\u0151
+javax.portlet.short-title=Felhaszn\u00e1l\u00f3i hozz\u00e1f\u00e9r\u00e9s kezel\u0151
+javax.portlet.keywords=
+Felhaszn\u00e1l\u00f3i hozz\u00e1f\u00e9r\u00e9s kezel\u0151
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_it.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_it.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_it.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Gestione account utente
+javax.portlet.short-title=Gestione account utente
+javax.portlet.keywords=
+Gestione account utente
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_pl.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_pl.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_pl.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=Menad\u017cer kont u\u017cytkownik\u00f3w
+javax.portlet.short-title=Menad\u017cer kont u\u017cytkownik\u00f3w
+javax.portlet.keywords=
+Menad\u017cer kont u\u017cytkownik\u00f3w
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_zh.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_zh.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/UserManager/Portlet_zh.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+javax.portlet.title=\u7528\u6237\u5e10\u53f7\u7ba1\u7406\u8005
+javax.portlet.short-title=\u7528\u6237\u5e10\u53f7\u7ba1\u7406\u8005
+javax.portlet.keywords=
+\u7528\u6237\u5e10\u53f7\u7ba1\u7406\u8005
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/log4j.properties
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/log4j.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/classes/log4j.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+#log4j.debug=TRUE
+
+# To turn more verbose logging on - change "WARN" to "DEBUG"
+log4j.rootCategory=ERROR, console, logfile
+
+# View logs with Chainsaw
+# Append in rootCategory CHAINSAW_CLIENT and start Chainsaw (standalone or IDE integrated)
+
+#log4j.appender.CHAINSAW_CLIENT=org.apache.log4j.net.SocketAppender
+#log4j.appender.CHAINSAW_CLIENT.RemoteHost=localhost
+#log4j.appender.CHAINSAW_CLIENT.Port=4445
+#log4j.appender.CHAINSAW_CLIENT.LocationInfo=true
+
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.Threshold=DEBUG
+log4j.appender.console.layout.ConversionPattern=%r:%p:(%F:%M:%L)%n< %m >%n%n
+
+log4j.appender.logfile=org.apache.log4j.RollingFileAppender
+log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
+log4j.appender.logfile.File=gridsphere.log
+log4j.appender.logfile.MaxFileSize=20480KB
+log4j.appender.logfile.MaxBackupIndex=5
+log4j.appender.logfile.layout.ConversionPattern=%r:%p:(%F:%M:%L)%n< %m >%n%n
+
+# Log all of GS
+log4j.logger.org.gridsphere=DEBUG
+
+# Log GS rendering code
+#log4j.logger.org.gridsphere.layout=DEBUG
+
+# Log GS portlet container and portlet code
+#log4j.logger.org.gridsphere.portletcontainer=DEBUG
+
+# Log portlet services
+#log4j.logger.org.gridsphere.services=DEBUG
+
+# Log GS portlet provider model
+#log4j.logger.org.gridsphere.provider=DEBUG
+
+# HSQLDB logging
+#log4j.logger.org.hsqldb=DEBUG
+
+# Log Hibernate and DB access
+#log4j.logger.org.hibernate=DEBUG
+#log4j.logger.org.hibernate.cfg.Binder=DEBUG
+#log4j.logger.org.hibernate.cfg.Environment=DEBUG
+#log4j.logger.org.hibernate.util.DTDEntityResolver=DEBUG
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/filters.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/filters.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Portal Filters
+
+    This descriptor defines the portal filters supported
+
+    $Id$
+-->
+
+<portal-filters>
+
+    <filter>
+        <name>GridSphere Cookie Filter</name>
+        <description lang="en">GridSphere "Remember Me" functionality used in Login Portlet</description>
+        <implementation>org.gridsphere.services.core.filter.impl.RememberMeCookieFilter</implementation>
+        <active>true</active>
+        <!-- configure cookie expiration time in seconds -->
+        <filter-param>
+            <param-name>COOKIE_EXPIRATION_TIME</param-name>
+            <param-value>604800</param-value>
+        </filter-param>
+    </filter>
+
+</portal-filters>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthEntryModule.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.AuthModuleEntry" table="authentry">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleClassName" column="moduleclassname"  type="string"/>
+        <property name="UserId"          column="userid"           type="string"/>
+
+        <map name="attributes"       table="authmoduleattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/AuthModuleDefinition.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+
+    <class name="org.gridsphere.services.core.security.auth.modules.impl.descriptor.AuthModuleDefinition" table="authmoddef">
+        <cache usage="read-write"/>
+        <id name="oid" column="gsoid" type="string" length="32">
+            <generator class="uuid.hex"/>
+        </id>
+        <property name="ModuleName" column="authmodulename"  type="string"/>
+        <property name="ModuleImplementation" column="authmoduleclassname"  type="string"/>
+        <property name="ModulePriority" column="authmodulepriority"  type="integer"/>
+        <property name="ModuleActive" column="authmoduleactive"  type="boolean"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PasswordImpl.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.password.impl.PasswordImpl"
+        table="gspassword"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="value" type="string" column="value"/>
+        <property name="hint" type="string" column="hint"/>
+        <property name="lifetime" column="lifetime"/>
+        <property name="dateExpires" column="dateexpires"/>
+        <property name="dateCreated" column="datecreated"/>
+        <property name="dateLastModified" column="datelastmodified"/>
+    <!--    <property name="userName" column="username"/>  -->
+        <many-to-one
+            name="sportletUser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+    </class>
+
+            
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PersistencePreferenceAttribute.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"
+        table="persistencepreferenceattribute"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="name" type="string" column="name"/>
+
+        <property name="readOnly" type="boolean" column="readonly"/>
+
+        <list name="values" table="portletprefattrvalues" lazy="false">
+            <cache usage="read-write"/>
+            <key column="value_oid"/>
+            <index/>
+            <element column="value" type="string"/>
+        </list>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletGroup.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+        name="org.gridsphere.services.core.security.group.PortletGroup"
+        table="sportletgroup"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="Name" type="string" column="name"/>
+        <property name="Description" type="string" column="description"/>
+        <property name="Public" type="boolean" column="ispublic"/>
+        <property name="Core" type="boolean" column="iscore"/>
+
+    </class>
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletPreferences.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.portlet.impl.PortletPreferencesImpl"
+        table="portletpreferencesimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="userId" type="string" column="userid"/>
+        <property name="portletId" type="string" column="portletid"/>
+
+        <map name="attributes" table="portletprefattr" cascade="all">
+            <cache usage="read-write"/>
+            <key column="attribute_oid"/>
+            <index column="attribute_ndx" type="string"/>
+            <many-to-many column="attr_oid" class="org.gridsphere.portlet.impl.PersistencePreferenceAttribute"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletRole.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping default-lazy="false">
+    <class
+            name="org.gridsphere.services.core.security.role.PortletRole"
+            table="portletrole"
+            >
+        <cache usage="read-write"/>
+        <id
+                name="oid"
+                column="gsoid"
+                type="java.lang.String"
+                length="32"
+                >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="Name" type="string" column="rolename" not-null="true"/>
+        <property name="Description" type="string" column="description" not-null="true"/>
+        <property name="IsDefault" type="java.lang.Integer" column="isdefault"/>
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/PortletUser.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.user.impl.UserImpl"
+        table="sportletuserimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <property name="UserID" type="string" column="userid"/>
+        <property name="LastName" type="string" column="familyname"/>
+        <property name="FullName" type="string" column="fullname"/>
+        <property name="FirstName" type="string" column="givenname"/>
+        <property name="EmailAddress" type="string" column="emailaddress"/>
+        <property name="Organization" type="string" column="organization"/>
+        <property name="NumLogins" type="integer" column="numlogins"/>
+        <property name="LastLoginTime" column="lastlogintime"/>
+        <map name="attributes" table="sportletuserattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/Request.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.request.impl.GenericRequest"
+        table="gsrequest"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+        </id>
+
+        <property name="userID" type="string" column="userid"/>
+        <property name="label" type="string" column="label"/>
+        <property name="lifetime" type="timestamp" column="lifetime"/>
+        <map name="attributes" table="requestattributes">
+            <cache usage="read-write"/>
+            <key column="gsoid"/>
+            <index column="attribute" type="string"/>
+            <element column="value" type="string"/>
+        </map>
+
+    </class>
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserGroups.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.group.impl.UserGroup"
+        table="grouprequestimpl"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="group"
+            column="sportletgroup"
+            class="org.gridsphere.services.core.security.group.PortletGroup">
+        </many-to-one>
+        <!-- deprecated -->
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+        <!-- deprecated -->
+        <property name="roleName" type="string" column="roleName"/>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/persistence/UserRoles.hbm.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 1.1//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+    <class
+        name="org.gridsphere.services.core.security.role.impl.UserRole"
+        table="userroles"
+        >
+        <cache usage="read-write"/>
+        <id
+            name="oid"
+            column="gsoid"
+            type="java.lang.String"
+            length="32"
+            >
+            <generator class="uuid.hex"/>
+
+        </id>
+
+        <many-to-one
+            name="user"
+            column="sportletuser"
+            class="org.gridsphere.services.core.user.impl.UserImpl">
+        </many-to-one>
+        <many-to-one
+            name="role"
+            class="org.gridsphere.services.core.security.role.PortletRole">
+        </many-to-one>
+
+    </class>
+
+
+</hibernate-mapping>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/portlet.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/portlet.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,480 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <description xml:lang="en">GridSphere Configuration</description>
+        <portlet-name>ConfigPortlet</portlet-name>
+        <display-name xml:lang="en">GridSphere Configuration</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.config.ConfigPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>GridSphere Configuration</title>
+            <short-title>Configuration</short-title>
+            <keywords>gridsphere configuration</keywords>
+        </portlet-info>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">برنامج يزود خدمة التاريخ</description>
+        <description xml:lang="en">Portlet provides date capabilities</description>
+        <description xml:lang="es">Portlet proporciona las capacidades de la fecha</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnost dohvata datuma</description>
+        <description xml:lang="ja">Portletは日時機能を提供します</description>
+        <description xml:lang="nl">Portlet biedt datum functionaliteiten</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>DatePortlet</portlet-name>
+        <display-name xml:lang="en">DatePortlet</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.date.DatePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <resource-bundle>Date.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">البرنامج الذي يمكن من الدخول للنظام</description>
+        <description xml:lang="cs">Portlet pro přihlášení uživatele do systému</description>
+        <description xml:lang="de">Anmelden Portlet ermöglicht das Anmelden</description>
+        <description xml:lang="en">Portlet provides login capabilities</description>
+        <description xml:lang="es">Portlet proporciona capacidades de conexión</description>
+        <description xml:lang="fr">Ce Portlet permet de faire un login</description>
+        <description xml:lang="hr">Portlet ostvaruje funkcionalnosti ulaza korisnika u portal</description>
+        <description xml:lang="hu">A portlet a portálba való bejelentkezésre szolgál</description>
+        <description xml:lang="it">La Portlet fornisce funzionalità di login</description>
+        <description xml:lang="ja"></description>
+        <description xml:lang="nl">Portlet biedt login mogelijkheden</description>
+        <description xml:lang="pl">Portlet umożliwia zalogowanie się</description>
+        <description xml:lang="zh">门件提供了登录功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Login</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.login.LoginPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Login.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Portlet provides registration capabilities</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>Signup</portlet-name>
+        <display-name xml:lang="en">Login</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.registration.SignupPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <resource-bundle>Signup.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">إختيار اللغة</description>
+        <description xml:lang="cs">Vybírá místní nastavení</description>
+        <description xml:lang="de">Wählt eine Spracheinstellungen</description>
+        <description xml:lang="en">Selects a locale</description>
+        <description xml:lang="es">Seleccione un lugar</description>
+        <description xml:lang="fr">Sélectionne un locale</description>
+        <description xml:lang="hr">Portlet omogućava administriranje jezika</description>
+        <description xml:lang="hu">Nyelv választása</description>
+        <description xml:lang="it">Seleziona una localizzazione</description>
+        <description xml:lang="ja">言語を選択して下さい</description>
+        <description xml:lang="nl">Selecteer een landinstelling</description>
+        <description xml:lang="pl">Wybór lokalizacji</description>
+        <description xml:lang="zh">选择一门语言</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>LocalePortlet</portlet-name>
+        <display-name xml:lang="en">Locale Portlet</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.locale.LocalePortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>Locale.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <description xml:lang="en">Displays RSS feeds</description>
+        <portlet-name>RSSPortlet</portlet-name>
+        <display-name xml:lang="en">News Portlet</display-name>
+        <portlet-class>org.gridsphere.portlets.core.rss.RSSPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>News</title>
+            <short-title>News</short-title>
+            <keywords>RSS, news</keywords>
+        </portlet-info>
+        <portlet-preferences>
+            <preference>
+                <name>feedurl</name>
+                <value>http://rss.news.yahoo.com/rss/topstories</value>
+                <value>http://rss.cnn.com/rss/cnn_topstories.rss</value>
+                <value>http://digg.com/rss/index.xml</value>
+                <value>http://www.theserverside.com/rss/theserverside-rss2.xml</value>
+                <read-only>false</read-only>
+            </preference>
+        </portlet-preferences>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Displays Message of the Day</description>
+        <portlet-name>Message of the Day</portlet-name>
+        <display-name xml:lang="en">Message of the Day</display-name>
+        <portlet-class>org.gridsphere.portlets.core.news.NewsPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+            <portlet-mode>edit</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Message of the Day</title>
+            <short-title>Message</short-title>
+            <keywords>Message of the day, news</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">About GridSphere</description>
+        <portlet-name>AboutGridSphere</portlet-name>
+        <display-name xml:lang="en">About GridSphere</display-name>
+        <portlet-class>org.gridsphere.portlets.core.about.AboutPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>About</title>
+            <short-title>About GridSphere</short-title>
+            <keywords>about, gridsphere</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="en">Content Repository Management</description>
+        <portlet-name>ContentManagement</portlet-name>
+        <display-name xml:lang="en">Content Repository Management</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.content.ContentManagementPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Content Management</title>
+            <short-title>Content Mgmnt</short-title>
+            <keywords>jcr, content, jsr170</keywords>
+        </portlet-info>
+    </portlet>
+
+    <portlet>
+        <description xml:lang="ar">يمكن مدير النظام من إدارة حسابات المستخدمين</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat uživatelské účty</description>
+        <description xml:lang="de">Ermöglicht das Administrieren von Nutzerkonten</description>
+        <description xml:lang="en">Enables portal administrators to administer user accounts</description>
+        <description xml:lang="es">Permite a administradores del portal, administrar cuentas de usuario</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les comptes usagers</description>
+        <description xml:lang="hr">Portlet omogućava administriranje korisnika</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, a felhasználók adminisztrációját
+        </description>
+        <description xml:lang="it">Permette agli gestire del portale di amministrare gli account utente</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie kontami użytkowników</description>
+        <description xml:lang="zh">使门户网站管理者能够管理用户帐号</description>
+        <portlet-name>UserAccountManager</portlet-name>
+        <display-name xml:lang="en">User Account Manager</display-name>
+        <portlet-class>org.gridsphere.portlets.core.admin.users.UserManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>UserManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">Enables portal administrators to manage security roles</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren los Roles de seguridad
+        </description>
+        <description xml:lang="hr">Portlet omogućava administriranje uloga</description>
+        <description xml:lang="ja">ポータル管理者にセキュリティ権限管理機能を提供します</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>RoleManager</portlet-name>
+        <display-name xml:lang="en">Role Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.roles.RoleManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <resource-bundle>RoleManager.Portlet</resource-bundle>
+    </portlet>
+
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">تعديل ملف المستخدمين</description>
+        <description xml:lang="cs">Nastavuje profily uživatelů</description>
+        <description xml:lang="de">Anpassung der Benutzerprofile</description>
+        <description xml:lang="en">Customizes users profile</description>
+        <description xml:lang="es">Personalizacion de Perfiles de Usuarios</description>
+        <description xml:lang="fr">Permet de gérer les profiles</description>
+        <description xml:lang="hr">Portlet omogućava administriranje profila</description>
+        <description xml:lang="hu">Lehetővé teszi a felhasználók számára, saját beállításaik szerkesztését</description>
+        <description xml:lang="it">Personalizza il profilo utente</description>
+        <description xml:lang="ja">ユーザープロファイルをカスタマイズ</description>
+        <description xml:lang="nl">Beheer gebruikersprofielen</description>
+        <description xml:lang="pl">Dostosowywanie profili użytkownika</description>
+        <description xml:lang="zh">定制用户成形</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>ProfileManager</portlet-name>
+        <display-name xml:lang="en">Profile Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.user.ProfileManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>ProfileManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن مدير النظام لإدارة البرامج</description>
+        <description xml:lang="cs">Umožňuje správcům portálu spravovat portlety</description>
+        <description xml:lang="de">Ermöglicht Portal-Administratoren Portlets zu verwalten</description>
+        <description xml:lang="en">Enables portal administrators to manage portlets</description>
+        <description xml:lang="es">Les permite a administradores del portal que administren el portlets</description>
+        <description xml:lang="fr">Permet à l'administrateur du portail d'aministrer les applications</description>
+        <description xml:lang="hr">Portlet omogućava administriranje portleta</description>
+        <description xml:lang="hu">Lehetővé teszi a portal adminisztrátorok számára, portletek kezelését</description>
+        <description xml:lang="it">Consente agli amministratori del portale di gestire le portlet</description>
+        <description xml:lang="ja">ポータル管理者にportletの管理機能を提供する</description>
+        <description xml:lang="nl">Portal administratoren kunnen portlets beheren</description>
+        <description xml:lang="pl">Umożliwia administratorowi portalu administrowanie portletami</description>
+        <description xml:lang="zh">使门户网站管理者管理门件</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Portlet Application Manager</portlet-name>
+        <display-name xml:lang="en">Portlet Application Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.portlets.PortletApplicationManager</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supports>
+            <mime-type>text/plain</mime-type>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>PortletApplicationManager.Portlet</resource-bundle>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="ar">يمكن المستخدم لتعديل التنسيق</description>
+        <description xml:lang="cs">Poskytuje uživatelem nastavitelné umístění portletů</description>
+        <description xml:lang="de">Ermöglicht die benutzerspezifische Anpassung der Darstellung</description>
+        <description xml:lang="en">Provides administrative layout customization</description>
+        <description xml:lang="es">Proporciona la personalizacion del esquema administrativo</description>
+        <description xml:lang="fr">Permet a l'usager de modifier le layout</description>
+        <description xml:lang="hr">Portlet omogućava administriranje izgleda</description>
+        <description xml:lang="hu">Lehetővé teszi a portletekből egyéni weblapok felépítését</description>
+        <description xml:lang="it">Consente la personalizzazione del layout utente</description>
+        <description xml:lang="ja">管理上のレイアウトカスタマイズ</description>
+        <description xml:lang="nl">Gebruikers kunnen hun eigen layout bepalen</description>
+        <description xml:lang="pl">Udostępnia użytkownikowi dostosowywanie układów graficznych</description>
+        <description xml:lang="zh">提供了用户版面定制化功能</description>
+
+        <!-- place unique portlet name here -->
+        <portlet-name>Layout Manager</portlet-name>
+        <display-name xml:lang="en">Layout Manager</display-name>
+
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gridsphere.portlets.core.admin.layout.LayoutManagerPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <!-- place supported modes here -->
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>ar</supported-locale>
+        <supported-locale>cs</supported-locale>
+        <supported-locale>de</supported-locale>
+        <supported-locale>en</supported-locale>
+        <supported-locale>es</supported-locale>
+        <supported-locale>fr</supported-locale>
+        <supported-locale>hr</supported-locale>
+        <supported-locale>hu</supported-locale>
+        <supported-locale>it</supported-locale>
+        <supported-locale>ja</supported-locale>
+        <supported-locale>nl</supported-locale>
+        <supported-locale>pl</supported-locale>
+        <supported-locale>zh</supported-locale>
+        <resource-bundle>LayoutManager.Portlet</resource-bundle>
+    </portlet>
+
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>config</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Last Name</description>
+        <name>user.name.last</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User First Name</description>
+        <name>user.name.first</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+</portlet-app>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/web.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ $Id: web.xml 6104 2007-02-21 08:30:48Z wehrens $
+-->
+<!DOCTYPE web-app
+        PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+        "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+
+<web-app>
+
+    <display-name>GridSphere Portlet Container</display-name>
+
+    <description>
+        GridSphere Portlet Container
+    </description>
+
+    <!-- this is needed for clustering of multiple Tomcats -->
+    <distributable/>
+
+    <filter>
+        <filter-name>GridSphere Filter</filter-name>
+        <filter-class>org.gridsphere.servlets.GridSphereFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>GridSphere Filter</filter-name>
+        <url-pattern>/@GRIDSPHERE_CONTEXT@/*</url-pattern>
+    </filter-mapping>
+
+    <listener>
+        <listener-class>org.gridsphere.servlets.GridSphereServlet</listener-class>
+    </listener>
+
+
+    <servlet>
+        <servlet-name>gridsphere</servlet-name>
+        <servlet-class>org.gridsphere.servlets.GridSphereServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>setup</servlet-name>
+        <servlet-class>org.gridsphere.servlets.SetupServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet>
+        <servlet-name>Captcha</servlet-name>
+        <display-name>Captcha</display-name>
+        <servlet-class>nl.captcha.servlet.CaptchaServlet</servlet-class>
+    </servlet>
+
+    <!-- PRECOMPILED JSP (if any)-->
+
+    @PRECOMPILED-JSP@
+
+    <servlet-mapping>
+        <servlet-name>gridsphere</servlet-name>
+        <url-pattern>/gs/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>setup</servlet-name>
+        <url-pattern>/setup/*</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>PortletServlet</servlet-name>
+        <url-pattern>/jsr/@GRIDSPHERE_DEPLOY@</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>Captcha</servlet-name>
+        <url-pattern>/Captcha.jpg</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>30</session-timeout>
+    </session-config>
+
+    <mime-mapping>
+        <extension>wbmp</extension>
+        <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wml</extension>
+        <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+        <extension>wmls</extension>
+        <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+    <!-- the 401 page -->
+    <error-page>
+        <error-code>401</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 403 page -->
+    <error-page>
+        <error-code>403</error-code>
+        <location>/ErrorLayout&amp;errorPage=unauthorized.jsp</location>
+    </error-page>
+
+    <!-- the 404 page -->
+    <error-page>
+        <error-code>404</error-code>
+        <location>/ErrorLayout&amp;errorPage=notfound.jsp</location>
+    </error-page>
+
+
+    <!-- for internal errors -->
+    <!--
+    <error-page>
+        <exception-type>java.lang.Throwable</exception-type>
+        <location>/@GRIDSPHERE_CONTEXT@?gs_PageLayout=ErrorLayout&amp;errorPage=error.jsp</location>
+    </error-page>
+    -->
+
+</web-app>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/SimpleTextEditor.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/SimpleTextEditor.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+.ste .bar { background: #ECE9D8; padding: 3px; border: #ACA899 1px; border-style: solid solid none solid; }
+.ste .frame { border: 1px solid; border-color: #716F64 #ECE9D8 #ECE9D8 #716F64; }
+.ste .frame iframe { width: 500px; height: 300px; }
+.ste img { border: 0; }
+.ste .button { padding: 1px; border: #ECE9D8 1px solid; }
+.ste .button-hover { padding: 1px; border: 1px solid; border-color: #ffffff #ACA899 #ACA899 #ffffff; }
+.ste .button-click { padding: 1px; border: 1px solid; border-color: #ACA899 #ffffff #ffffff #ACA899; }
+.ste .separator { width: 0px; height: 18px; border-left: #aca899 1px solid; border-right: #ffffff 1px solid; margin: 0 5px; }
+.ste .source { padding-top: 5px; }
+
+.cal {
+  width: 20px;
+  height: 20px;
+  margin: 0;
+  padding: 0;
+  border: 0;
+  background: transparent url(../images/calendar/scw.gif) no-repeat center top;
+  text-indent: -1000em;
+  cursor: pointer; /* hand-shaped cursor */
+  cursor: hand; /* for IE 5.x */
+}
+
+
+.scw       {padding:1px;vertical-align:middle;}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/ResizePanel.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/ResizePanel.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+.panel {
+	overflow:visible;
+}
+
+.panel .bd {
+	overflow:auto;
+}
+
+.panel .ft {
+	padding:0px;
+	height:4px;
+	font-size:4px;
+	background-color:#CCC;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/container.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/container.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/container.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,211 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+.overlay {
+	position:absolute;
+	display:block;
+}
+
+.tt {
+	visibility:hidden;
+	position:absolute;
+	color:#333;
+	background-color:#FDFFB4;
+	font-family:arial,helvetica,verdana,sans-serif;
+	padding:2px;
+	border:1px solid #FCC90D;
+	font:100% sans-serif;
+	width:auto;
+}
+
+* html body.masked select {
+	visibility:hidden;
+}
+
+* html div.panel-container select {
+	visibility:inherit;
+}
+
+* html div.drag select {
+	visibility:hidden;
+}
+
+* html div.hide-select select {
+	visibility:hidden;
+}
+
+.mask {
+	z-index:0;   
+	display:none;
+	position:absolute;
+	top:0;
+	left:0;
+	-moz-opacity: 0.5;
+	opacity:.50;
+	filter: alpha(opacity=50);
+	background-color:#CCC;
+}
+
+.hide-scrollbars * {
+	overflow:hidden;
+}
+
+.hide-scrollbars textarea, .hide-scrollbars select {
+	overflow:hidden;
+	display:none;
+}
+
+.show-scrollbars textarea, .show-scrollbars select {
+	overflow:visible;
+}
+
+.panel-container {
+	position:absolute;
+	background-color:transparent;
+	z-index:6;
+	visibility:hidden;
+	overflow:visible;
+	width:auto;
+}
+
+.panel-container.matte {
+	padding:3px;
+	background-color:#FFF;
+}
+
+.panel-container.matte .underlay {
+	display:none;
+}
+
+.panel-container.shadow {
+	padding:0px;
+	background-color:transparent;
+}
+
+.panel-container.shadow .underlay {
+	visibility:inherit;
+	position:absolute;
+	background-color:#CCC;
+	top:3px;left:3px;
+	z-index:0;
+	width:100%;
+	height:100%;
+	-moz-opacity: 0.7;
+	opacity:.70;
+	filter:alpha(opacity=70);
+	zoom:1;
+}
+
+.panel {
+	visibility:hidden;
+	border-collapse:separate;
+	position:relative;
+	left:0px;top:0px;
+	font:1em Arial;
+	background-color:#FFF;
+	border:1px solid #000;
+	z-index:1;
+	overflow:hidden;
+}
+
+.panel .hd {
+	background-color:#3d77cb;
+	color:#FFF;
+	font-size:100%;
+	line-height:100%;
+	border:1px solid #FFF;
+	border-bottom:1px solid #000;
+	font-weight:bold;
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd {
+	overflow:hidden;
+	padding:4px;
+}
+
+.panel .bd p {
+	margin:0 0 1em;
+}
+
+.panel .close {
+	position:absolute;
+	top:5px;
+	right:4px;
+	z-index:6;
+	height:12px;
+	width:12px;
+	margin:0px;
+	padding:0px;
+	background-repeat:no-repeat;
+	cursor:pointer;
+	visibility:inherit;
+}
+
+.panel .close.nonsecure {
+	background-image:url(http://us.i1.yimg.com/us.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .close.secure {
+	background-image:url(https://a248.e.akamai.net/sec.yimg.com/i/nt/ic/ut/alt3/close12_1.gif);
+}
+
+.panel .ft {
+	padding:4px;
+	overflow:hidden;
+}
+
+.simple-dialog .bd .icon {
+	background-repeat:no-repeat;
+	width:16px;
+	height:16px;
+	margin-right:10px;
+	float:left;
+}
+
+.dialog .ft, .simple-dialog .ft {
+	padding-bottom:5px;
+	padding-right:5px;
+	text-align:right;
+}
+
+.dialog form, .simple-dialog form {
+	margin:0;
+}
+
+.button-group button {
+	font:100 76% verdana;
+	text-decoration:none;
+	background-color: #E4E4E4;
+	color: #333;
+	cursor: hand;
+	vertical-align: middle;
+	border: 2px solid #797979;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+	margin:2px;
+	padding:2px;
+}
+
+.button-group button.default {
+	font-weight:bold;
+}
+
+.button-group button:hover, .button-group button.hover { 
+	border:2px solid #90A029;
+	background-color:#EBF09E;
+	border-top-color:#FFF;
+	border-left-color:#FFF;
+}
+
+.button-group button:active { 
+	border:2px solid #E4E4E4;
+	background-color:#BBB;
+	border-top-color:#333;
+	border-left-color:#333;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/fonts.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/fonts.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+
+/**
+ * 84.5% for !IE, keywords for IE
+ * Percents could work for IE, but for backCompat purposes, we are using
+ keywords.
+ * x-small is for IE < 6 and IE6 quirks mode.
+ *
+ */
+body {font:13px arial,helvetica,clean,sans-serif;*font-size:small;*font:x-
+small;}
+table {font-size:inherit;font:100%;}
+
+/**
+ * 99% for safari; 100% is too large
+ */
+select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
+
+/**
+ * Bump up !IE to get to 13px equivalent
+ */
+pre, code {font:115% monospace;*font-size:100%;}
+
+/**
+ * Default line-height based on font-size rather than "computed-value"
+ * see: http://www.w3.org/TR/CSS21/visudet.html#line-height
+ */
+body * {line-height:1.22em;}
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/menu.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/menu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,299 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/* Menu styles */
+
+div.yuimenu {
+
+    z-index:1;
+    visibility:hidden;
+    background-color:#f6f7ee;
+    border:solid 1px #c4c4be;
+    padding:1px;
+    
+}
+
+
+/* MenuBar Styles */
+
+div.yuimenubar {
+
+    background-color:#f6f7ee;
+    
+}
+
+/*
+    Application of "zoom:1" triggers "haslayout" in IE so that the module's
+    body clears its floated elements
+*/
+div.yuimenubar div.bd {
+
+    zoom:1;
+
+}
+
+/*
+    Clear the module body for other browsers
+*/
+div.yuimenubar div.bd:after {
+
+    content:'.';
+    display:block;
+    clear:both;
+    visibility:hidden;
+    height:0;
+
+}
+
+
+/* Matches the group title (H6) inside a Menu or MenuBar instance */
+
+div.yuimenu h6,
+div.yuimenubar h6 { 
+
+    font-size:100%;
+    font-weight:normal;    
+    margin:0;
+    border:solid 1px #c4c4be;
+    color:#b9b9b9;    
+
+}
+
+div.yuimenubar h6 {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    padding:4px 12px;
+    border-width:0 1px 0 0;
+    
+}
+
+div.yuimenu h6 {
+
+    float:none;
+    display:block;
+    border-width:1px 0 0 0;
+    padding:5px 10px 0 10px;
+
+}
+
+
+/* Matches the UL inside a Menu or MenuBar instance */
+
+div.yuimenubar ul {
+
+    list-style-type:none;
+    margin:0;
+    padding:0;
+
+}
+
+div.yuimenu ul {
+
+    list-style-type:none;
+    border:solid 1px #c4c4be;
+    border-width:1px 0 0 0;
+    margin:0;
+    padding:10px 0;
+
+}
+
+
+div.yuimenu ul.first-of-type, 
+div.yuimenu ul.hastitle,
+div.yuimenu h6.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* MenuItem and MenuBarItem styles */
+
+div.yuimenu li,
+div.yuimenubar li {
+
+    font-size:85%;
+    cursor:pointer;
+    cursor:hand;
+    white-space:nowrap;
+    text-align:left;
+
+}
+
+div.yuimenu li.yuimenuitem {
+
+    padding:2px 24px;
+    
+}
+
+div.yuimenu li li,
+div.yuimenubar li li {
+
+    font-size:100%;
+
+}
+
+
+/* Matches the help text for a menu item */
+
+div.yuimenu li em {
+
+    font-style:normal;
+    margin:0 0 0 40px;
+
+}
+
+div.yuimenu li a em {
+
+    margin:0;
+
+}
+
+div.yuimenu li a,
+div.yuimenubar li a {
+    
+    /*
+        "zoom:1" triggers "haslayout" in IE to ensure that the mouseover and 
+        mouseout events bubble to the parent LI in IE.
+    */
+    zoom:1;
+    color:#000;
+    text-decoration:none;
+    
+}
+
+div.yuimenu li.hassubmenu,
+div.yuimenu li.hashelptext {
+
+    text-align:right;
+
+}
+
+div.yuimenu li.hassubmenu a.hassubmenu,
+div.yuimenu li.hashelptext a.hashelptext {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    text-align:left;
+
+}
+
+
+/* Matches focused and selected menu items */
+
+div.yuimenu li.selected,
+div.yuimenubar li.selected {
+
+    background-color:#8c8ad0;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenubar li.selected a.selected {
+
+    text-decoration:underline;
+
+}
+
+div.yuimenu li.selected a.selected,
+div.yuimenu li.selected em.selected, 
+div.yuimenubar li.selected a.selected {
+
+    color:#fff;
+
+}
+
+
+/* Matches disabled menu items */
+
+div.yuimenu li.disabled, 
+div.yuimenubar li.disabled {
+
+    cursor:default;
+
+}
+
+div.yuimenu li.disabled a.disabled,
+div.yuimenu li.disabled em.disabled,
+div.yuimenubar li.disabled a.disabled {
+
+    color:#b9b9b9;
+    cursor:default;
+    
+}
+
+div.yuimenubar li.yuimenubaritem {
+
+    float:left;
+    display:inline; /* Prevent margin doubling in IE */
+    border-width:0 0 0 1px;
+    border-style:solid;
+    border-color:#c4c4be;
+    padding:4px 24px;
+    margin:0;
+
+}
+
+div.yuimenubar li.yuimenubaritem.first-of-type {
+
+    border-width:0;
+
+}
+
+
+/* Matches the submenu indicator for menu items */
+
+div.yuimenubar li.yuimenubaritem img {
+
+    height:8px;
+    width:8px;
+    margin:0 0 0 10px;
+    vertical-align:middle;
+
+}
+
+div.yuimenu li.yuimenuitem img {
+
+    height:8px;
+    width:8px;
+    margin:0 -16px 0 10px;
+    border:0;
+
+    *margin-left:0;
+    *border-left-width:10px;
+    *border-style:solid;
+    *border-color:#f6f7ee;
+
+}
+
+div.yuimenu li.yuimenuitem.selected img.selected {
+
+    *border-color:#8c8ad0;
+
+}
+
+div.yuimenu li.checked {
+
+    position:relative;
+
+}
+
+div.yuimenu li.checked img.checked {
+
+    height:8px;
+    width:8px;
+    margin:0;
+    border:0;
+    position:absolute;
+    left:6px;
+    _left:-16px; /* Underscore hack b/c this is for IE 5.5 and IE 6 only */
+    top:.5em;
+    
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/reset.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/css/yahoo/reset.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+version: 0.11.3
+*/
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td{margin:0;padding:0;}
+table{border-collapse:collapse;border-spacing:0;}
+fieldset,img{border:0;}
+address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
+ol,ul {list-style:none;}
+caption,th {text-align:left;}
+h1,h2,h3,h4,h5,h6{font-size:100%;}
+q:before,q:after{content:'';}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/error.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/error.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/error.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+
+<p>An error ccoured!</p>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/test.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/test.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/test.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,49 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
+	<head>
+	<title>GridSphere AJAX Test Portal</title>
+	<meta name='keywords' content='gridsphere' />
+	<meta http-equiv="Pragma" content="no-cache" />
+	<link type="text/css" href="/gridsphere/themes/standard/default/css/default.css" rel="stylesheet"/>
+	<link rel="stylesheet" type="text/css" href="/gridsphere/css/SimpleTextEditor.css"/>
+	<link rel="icon" href="images/favicon.ico" type="imge/x-icon"/>
+	<link rel="shortcut icon" href="/gridsphere/images/favicon.ico" type="image/x-icon"/>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/SimpleTextEditor.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/scw.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/validation.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/yahoo.js"></script>
+	<script type="text/javascript" src="/gridsphere/javascript/connection.js"></script>
+
+	<script type="text/javascript" src="/gridsphere/javascript/gridsphere_ajax.js"></script>
+	</head>
+	<body onload="GridSphereAjaxHandler.loadPortlets();">
+<div id="page">
+<!-- START MODERN TABLE --><div class="header" ><!-- START MODERN ROW --><div class="row" >
+<div class="column" style="width: 85%"><div id="page-logo" style="padding-top: 3px; padding-left: 8px; padding-right: 5px; padding-bottom: 1px;">
+<img src="/gridsphere/images/gridsphere_logo.png" alt="Gridsphere logo"/>
+</div>
+</div>
+<div class="column" style="width: 15%">
+
+</div></div><!-- END MODERN ROW -->
+</div><!-- END MODERN TABLE -->
+
+
+
+Welcome to the site!
+
+<!-- add a portlet!!! -->
+<div id="portlet#demo#AJAXHelloPortlet"></div>
+
+
+
+
+
+
+
+
+
+</div>
+</body></html>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor/help.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor/help.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/html/texteditor/help.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+    <title>Help</title>
+    <style type="text/css">
+    body { background: #ECE9D8; margin: 1em; padding: 0; }
+    h1 { font-size: 125%; }
+    h2 { font-size: 100%; }
+    p, ul { margin: 0.5em 0; padding: 0; }
+    ul { list-style-type: none; }
+    </style>
+</head>
+<body>
+
+    <h1>Help</h1>
+
+    <h2>Buttons:</h2>
+
+    <ul>
+        <li>Insert Link - works only on selected text</li>
+    </ul>
+
+    <h2>Keyboard shortcuts:</h2>
+
+    <ul>
+        <li>ctrl+c - copy</li>
+        <li>ctrl+v - paste</li>
+        <li>ctrl+x - cut</li>
+        <li>ctrl+z - undo</li>
+        <li>ctrl+shift+z - redo</li>
+        <li>shift+enter - break</li>
+    </ul>
+
+    <hr>
+    
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/PoweredByGridSphere.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/PoweredByGridSphere.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/calendar/scw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/calendar/scw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/editor.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/editor.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/favicon.ico
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/favicon.ico
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ar.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ar.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/cs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/cs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/de.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/de.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_UK.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_UK.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_US.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/en_US.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/hu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/it.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/it.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ja.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/ja.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/nl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/nl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/pl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/pl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/zh.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/flags/zh.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridlablogo.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridlablogo.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/gridsphere_logo.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/center.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/center.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ul.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/ul.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/images/texteditor/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/index.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="javax.portlet.PortletURL" %>
+<%@ page import="org.gridsphere.portlet.impl.PortletURLImpl" %>
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+
+<% PortletURL purl = new PortletURLImpl(request, response, true); %>
+<% System.err.println("url = " + purl); %>
+<% response.sendRedirect(purl.toString()); %>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jaas.config
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jaas.config	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jaas.config	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+Jackrabbit {
+org.apache.jackrabbit.core.security.SimpleLoginModule required
+	anonymousId="anonymous";
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/SimpleTextEditor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/SimpleTextEditor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// +----------------------------------------------------------------+
+// | SimpleTextEditor 1.0
+// | Author: Cezary Tomczak [www.gosu.pl]
+// |
+// | Free for any use as long as all copyright messages are intact.
+// | Copyright (c) 2003,2004 Cezary Tomczak All rights reserved.
+// | Redistribution and use in source and binary forms, with or without modification,
+// | are permitted provided that the following conditions are met:
+// |
+// |  - Redistributions of source code must retain the above copyright notice,
+// |    this list of conditions and the following disclaimer.
+// |  - Redistributions in binary form must reproduce the above copyright notice,
+// |    this list of conditions and the following disclaimer in the documentation
+// |    and/or other materials provided with the distribution.
+// |  - Neither the name of the Cezary Tomczak nor the names of its contributors
+// |    may be used to endorse or promote products derived from this software
+// |    without specific prior written permission.
+// |
+// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+// | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+// | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+// | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+// | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+// | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// +----------------------------------------------------------------+
+
+function SimpleTextEditor(id, name, showViewSource, objectId) {
+    if (!id || !objectId || !name) { alert("SimpleTextEditor.constructor(id, name, showViewSource, objectId) failed, four arguments are required"); }
+    var self = this;
+    this.id = id;
+    this.objectId = objectId;
+    this.frame;
+    this.showViewSource = showViewSource;
+    this.viewSource = false;
+    this.name = name;
+    this.path = ""; // with slash at the end
+    this.cssFile = "";
+    this.charset = "iso-8859-1";
+
+    this.editorHtml = "";
+    this.frameHtml = "";
+
+    this.textareaValue = "";
+
+    this.browser = {
+        "ie": Boolean(document.body.currentStyle),
+        "gecko" : (navigator.userAgent.toLowerCase().indexOf("gecko") != -1)
+    };
+
+    this.init = function() {
+        if (document.getElementById && document.createElement && document.designMode && (this.browser.ie || this.browser.gecko)) {
+            // EDITOR
+            if (!document.getElementById(this.id)) { alert("SimpleTextEditor "+this.objectId+".init() failed, element '"+this.id+"' does not exist"); return; }
+            this.textareaValue = document.getElementById(this.id).value;
+            var ste = document.createElement("div");
+            document.getElementById(this.id).parentNode.replaceChild(ste, document.getElementById(this.id));
+            ste.id = this.id+"-ste";
+            ste.innerHTML = this.editorHtml ? this.editorHtml : this.getEditorHtml();
+            // BUTTONS
+            var buttons = ste.getElementsByTagName("td");
+            for (var i = 0; i < buttons.length; ++i) {
+                if (buttons[i].className == "button") {
+                    buttons[i].id = this.id+'-button-'+i;
+                    buttons[i].onmouseover = function() { this.className = "button-hover"; }
+                    buttons[i].onmouseout = function() { this.className = this.className.replace(/button-hover(\s)?/, "button"); }
+                    buttons[i].onclick = function(id) { return function() { this.className = "button-hover button-click"; setTimeout(function(){ document.getElementById(id).className = document.getElementById(id).className.replace(/(\s)?button-click/, ""); }, 100); } }(buttons[i].id);
+                }
+            }
+            // FRAME
+            if (this.browser.ie) {
+                this.frame = frames[this.id+"-frame"];
+            } else if (this.browser.gecko) {
+                this.frame = document.getElementById(this.id+"-frame").contentWindow;
+            }
+            this.frame.document.designMode = "on";
+            this.frame.document.open();
+            this.frame.document.write(this.frameHtml ? this.frameHtml : this.getFrameHtml());
+            this.frame.document.close();
+            insertHtmlFromTextarea();
+        }
+    };
+
+    function lockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']([^"']*)["']/g, 'href="simpletexteditor://simpletexteditor/$1"');
+    }
+
+    function unlockUrls(s) {
+        if (self.browser.gecko) { return s; }
+        return s.replace(/href=["']simpletexteditor:\/\/simpletexteditor\/([^"']*)["']/g, 'href="$1"');
+    }
+
+    function insertHtmlFromTextarea() {
+        try { self.frame.document.body.innerHTML = lockUrls(self.textareaValue); } catch (e) { setTimeout(insertHtmlFromTextarea, 10); }
+    }
+
+    this.getEditorHtml = function() {
+        var html = "";
+        html += '<input type="hidden" id="'+this.id+'" name="'+this.name+'" value="">';
+        html += '<table class="ste" cellspacing="0" cellpadding="0">';
+        html += '<tr><td class="bar"><table id="'+this.id+'-buttons" cellspacing="0" cellpadding="0"><tr>';
+        html += '<td><select onchange="'+this.objectId+'.execCommand(\'formatblock\', this.value);"><option value="">Normal</option><option value="<h1>">Heading 1</option><option value="<h2>">Heading 2</option><option value="<h3>">Heading 3</option><option value="<p>">Paragraph</option><option value="<pre>">Preformatted</option></select></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/bold.gif" width="20" height="20" alt="Bold" title="Bold" onclick="'+this.objectId+'.execCommand(\'bold\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/italic.gif" width="20" height="20" alt="Italic" title="Italic" onclick="'+this.objectId+'.execCommand(\'italic\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/underline.gif" width="20" height="20" alt="Underline" title="Underline" onclick="'+this.objectId+'.execCommand(\'underline\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/left.gif" width="20" height="20" alt="Align Left" title="Align Left" onclick="'+this.objectId+'.execCommand(\'justifyleft\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/center.gif" width="20" height="20" alt="Center" title="Center" onclick="'+this.objectId+'.execCommand(\'justifycenter\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/right.gif" width="20" height="20" alt="Align Right" title="Align Right" onclick="'+this.objectId+'.execCommand(\'justifyright\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ol.gif" width="20" height="20" alt="Ordered List" title="Ordered List" onclick="'+this.objectId+'.execCommand(\'insertorderedlist\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/ul.gif" width="20" height="20" alt="Unordered List" title="Unordered List" onclick="'+this.objectId+'.execCommand(\'insertunorderedlist\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/outdent.gif" width="20" height="20" alt="Outdent" title="Outdent" onclick="'+this.objectId+'.execCommand(\'outdent\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/indent.gif" width="20" height="20" alt="Indent" title="Indent" onclick="'+this.objectId+'.execCommand(\'indent\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/link.gif" width="20" height="20" alt="Insert Link" title="Insert Link" onclick="'+this.objectId+'.execCommand(\'createlink\')"></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/image.gif" width="20" height="20" alt="Insert Image" title="Insert Image" onclick="'+this.objectId+'.execCommand(\'insertimage\')"></td>';
+        html += '<td><div class="separator"></div></td>';
+        html += '<td class="button"><img src="'+this.path+'images/texteditor/help.gif" width="20" height="20" alt="Help" title="Help" onclick="'+this.objectId+'.openWindow(\''+this.path+'html/texteditor/help.html\', \'300\', \'300\')"></td>';
+        html += '</tr></table></td></tr>';
+        html += '<tr><td class="frame"><iframe id="'+this.id+'-frame" frameborder="0"></iframe></td></tr>';
+        if (this.showViewSource) { html += '<tr><td class="source"><input id="'+this.id+'-viewSource" type="checkbox" onclick="'+this.objectId+'.toggleSource()"> View Source</td></tr>'; }
+        html += '</table>';
+        return html;
+    };
+
+    this.getFrameHtml = function() {
+        var html = "";
+        html += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
+        html += '<html><head>';
+        html += '<meta http-equiv="Content-Type" content="text/html; charset='+this.charset+'">';
+        html += '<title>SimpleTextEditor frame</title>';
+        html += '<style type="text/css">pre { background-color: #eeeeee; padding: 0.75em 1.5em; border: 1px solid #dddddd; }</style>';
+        if (this.cssFile) { html += '<link rel="stylesheet" type="text/css" href="'+this.cssFile+'">'; }
+        html += '<style type="text/css">html,body { cursor: text; } body { margin: 0.5em; padding: 0; }</style>';
+        html += '</head><body></body></html>';
+        return html;
+    };
+
+    this.openWindow = function(url, width, height) {
+        var x = (screen.width/2-width/2);
+        var y = (screen.height/2-height/2);
+        window.open(url, "", "scrollbars=yes,width="+width+",height="+height+",screenX="+(x)+",screenY="+y+",left="+x+",top="+y);
+    };
+
+    this.toggleSource = function() {
+        var html, text;
+        if (this.browser.ie) {
+            if (!this.viewSource) {
+                html = this.frame.document.body.innerHTML;
+                this.frame.document.body.innerText = unlockUrls(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                text = this.frame.document.body.innerText;
+                this.frame.document.body.innerHTML = lockUrls(text);
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        } else if (this.browser.gecko) {
+            if (!this.viewSource) {
+                html = document.createTextNode(this.frame.document.body.innerHTML);
+                this.frame.document.body.innerHTML = "";
+                this.frame.document.body.appendChild(html);
+                document.getElementById(this.id+"-buttons").style.visibility = "hidden";
+                this.viewSource = true;
+            } else {
+                html = this.frame.document.body.ownerDocument.createRange();
+                html.selectNodeContents(this.frame.document.body);
+                this.frame.document.body.innerHTML = html.toString();
+                document.getElementById(this.id+"-buttons").style.visibility = "visible";
+                this.viewSource = false;
+            }
+        }
+        document.getElementById(this.id+"-viewSource").checked = this.viewSource ? "checked" : "";
+        document.getElementById(this.id+"-viewSource").blur();
+    };
+
+    this.execCommand = function(cmd, value) {
+        if (cmd == "createlink" && !value) {
+            var url = prompt("Enter URL:", "");
+            if (url) {
+                this.frame.focus();
+                this.frame.document.execCommand("unlink", false, null);
+                if (this.browser.ie) this.frame.document.execCommand(cmd, false, "simpletexteditor://simpletexteditor/"+url);
+                else if (this.browser.gecko) this.frame.document.execCommand(cmd, false, url);
+                this.frame.focus();
+            }
+        } else if (cmd == "insertimage" && !value) {
+            var imageUrl = prompt("Enter Image URL:", "");
+            if (imageUrl) {
+                this.frame.focus();
+                this.frame.document.execCommand(cmd, false, imageUrl);
+                this.frame.focus();
+            }
+        } else {
+            this.frame.focus();
+            this.frame.document.execCommand(cmd, false, value);
+            this.frame.focus();
+        }
+    };
+
+    this.isOn = function() {
+        return Boolean(this.frame);
+    };
+
+    this.getContent = function() {
+        try { return unlockUrls(this.frame.document.body.innerHTML); } catch(e) { alert("SimpleTextEditor "+this.objectId+".getContent() failed"); }
+    };
+
+    this.submit = function() {
+        if (this.isOn()) {
+            if (this.viewSource) { this.toggleSource(); }
+            document.getElementById(this.id).value = this.getContent();
+        }
+    };
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,438 @@
+  /**************************************************************************
+   * GridSphere Object Functions
+   **************************************************************************/
+
+  /**
+   * Checks if an object with given name exists in form
+   */
+  function GridSphere_Object_existsInForm(form, name) {
+
+    // alert("Testing whether object [" + name + "] exists in form [" + form.name + "]");
+
+    for (var i = 0; i < form.elements.length; ++i) {
+
+      if (form.elements[i].name == name) {
+
+        // alert("Object " + name + " exists");
+
+        return true;
+      }
+    }
+
+    // alert("Object does not exist");
+
+    return false;
+  }
+
+  /**************************************************************************
+   * GridSphere Form Functions
+   **************************************************************************/
+
+  /**
+   * Submits the given action for the given form
+   */
+  function GridSphere_Form_submitAction(form, action) {
+    form.action=action;
+    form.submit();
+  }
+
+  /**************************************************************************
+   * GridSphere Check Box List Functions
+   **************************************************************************/
+  function GridSphere_CheckAll(checkname, exby) {
+    for (i = 0; i < checkname.length; i++) checkname[i].checked = exby.checked;
+  }
+
+  function GridSphere_CheckBoxList_checkAll(list) {
+
+      if (list[0].checked) {
+
+        // alert("GridSphere CheckBoxList Check All True");
+
+        for (i = 1; i < list.length; i++) {
+
+          list[i].checked = true;
+        }
+
+        // Select first list value if none selected yet
+        if (list[0].value == "") {
+
+          if (list.length > 1) {
+
+            list[0].value = list[1].value;
+          }
+        }
+
+      } else {
+
+        // alert("GridSphere CheckBoxList Check All False");
+
+        GridSphere_CheckBoxList_clear(list);
+      }
+  }
+
+  function GridSphere_CheckBoxList_clear(list) {
+
+    // alert("GridSphere CheckBoxList Clear");
+
+      for (i = 0; i < list.length; i++) {
+
+        list[i].checked = false;
+      }
+
+      // Clear selected value
+      list[0].value = "";
+  }
+
+  function GridSphere_CheckBoxList_checkOne(list)
+  {
+    // alert("GridSphere CheckBoxList Check One");
+
+      // Uncheck "all" option
+      list[0].checked = false;
+
+      // Uncheck those that don't match selection
+      for (i = 1; i < list.length; i++) {
+
+        if (list[i].value != list[0].value) {
+
+          list[i].checked = false;
+        }
+      }
+  }
+
+  function GridSphere_CheckBoxList_onClick(list, newSelection)
+  {
+    // alert("GridSphere CheckBoxList On Click");
+
+      if (newSelection.checked) {
+
+        // Save selection only if none made yet
+        if (list[0].value == "") {
+
+          list[0].value = newSelection.value;
+        }
+
+      } else {
+
+        // If saved selection was this one
+        if (list[0].value == newSelection.value) {
+
+          var found = false;
+
+          // Set selection to first checked item other than this
+          for (i = 1; i < list.length && !found; i++) {
+
+            if (list[i].checked) {
+
+              if (list[i].value != item.value) {
+
+                list[0].value = list[i].value;
+
+                found = true;
+              }
+            }
+          }
+
+          // If we didn't find a checked value
+          if (!found) {
+
+            // Set selection to none
+            list[0].value = "";
+          }
+        }
+      }
+
+      // alert("GridSphere CheckBoxList new selection: " + selection.value);
+  }
+
+  function GridSphere_CheckBoxList_validateCheckOneOrMore(list)
+  {
+    // alert("GridSphere CheckBoxList Validate Check One Or More");
+
+      // alert("Performing validate check one or more on " + list.name);
+
+      return (list[0].value != "");
+  }
+
+ function GridSphere_SelectSubmit( aform ) {
+    aform.submit();
+ }
+
+
+ function GridSphere_popup(mylink, windowname) {
+    if (! window.focus)return true;
+    var href;
+    if (typeof(mylink) == 'string')
+        href=mylink;
+    else
+        href=mylink.href;
+        window.open(href, windowname, 'width=800,height=600,scrollbars=yes,resizable=yes');
+    return false;
+ }
+
+
+// This code made publicly available from 
+// http://www.kryogenix.org/code/browser/sorttable/sorttable.js 
+// under MIT license - JN Mar 14 2004
+/* Copyright (c) <year> <copyright holders>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+/* Modification of sorttable.js
+ * http://www.kryogenix.org/code/browser/sorttable/
+ * Original code by Stuart Langridge, November 2003
+ * Modified by Andy Edmonds, December 2003
+ *  Added alternateRowColors to color alternating rows
+ */
+
+addEvent(window, "load", sortables_init);
+
+var SORT_COLUMN_INDEX;
+
+function sortables_init() {
+    // Find all tables with class sortable and make them sortable
+    if (!document.getElementsByTagName) return;
+    tbls = document.getElementsByTagName("table");
+    for (ti=0;ti<tbls.length;ti++) {
+        thisTbl = tbls[ti];
+        if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) && (thisTbl.id)) {
+            //initTable(thisTbl.id);
+            ts_makeSortable(thisTbl);
+        }
+    }
+    alternateRowColors();
+}
+
+function ts_makeSortable(table) {
+    if (table.rows && table.rows.length > 0) {
+        var firstRow = table.rows[0];
+    }
+    if (!firstRow) return;
+
+    // We have a first row: assume it's the header, and make its contents clickable links
+    for (var i=0;i<firstRow.cells.length;i++) {
+        var cell = firstRow.cells[i];
+        var txt = ts_getInnerText(cell);
+        cell.innerHTML = '<a href="#" style="color: black; " class="sortheader" onclick="ts_resortTable(this);return false;">'+txt+'<span class="sortarrow">&nbsp;&nbsp;&nbsp;</span></a>';
+    }
+}
+
+function ts_getInnerText(el) {
+	if (typeof el == "string") return el;
+	if (typeof el == "undefined") { return el };
+	if (el.innerText) return el.innerText;	//Not needed but it is faster
+	var str = "";
+
+	var cs = el.childNodes;
+	var l = cs.length;
+	for (var i = 0; i < l; i++) {
+		switch (cs[i].nodeType) {
+			case 1: //ELEMENT_NODE
+				str += ts_getInnerText(cs[i]);
+				break;
+			case 3:	//TEXT_NODE
+				str += cs[i].nodeValue;
+				break;
+		}
+	}
+	return str;
+}
+
+function ts_resortTable(lnk) {
+    // get the span
+    var span;
+    for (var ci=0;ci<lnk.childNodes.length;ci++) {
+        if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span') span = lnk.childNodes[ci];
+    }
+    var spantext = ts_getInnerText(span);
+    var td = lnk.parentNode;
+    var column = td.cellIndex;
+    var table = getParent(td,'TABLE');
+
+    // Work out a type for the column
+    if (table.rows.length <= 1) return;
+    var itm = ts_getInnerText(table.rows[1].cells[column]);
+    sortfn = ts_sort_caseinsensitive;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^\d\d[\/-]\d\d[\/-]\d\d$/)) sortfn = ts_sort_date;
+    if (itm.match(/^[�$]/)) sortfn = ts_sort_currency;
+    if (itm.match(/^[\d\.]+$/)) sortfn = ts_sort_numeric;
+    SORT_COLUMN_INDEX = column;
+    var firstRow = new Array();
+    var newRows = new Array();
+    for (i=0;i<table.rows[0].length;i++) { firstRow[i] = table.rows[0][i]; }
+    for (j=1;j<table.rows.length;j++) { newRows[j-1] = table.rows[j]; }
+
+    newRows.sort(sortfn);
+
+    if (span.getAttribute("sortdir") == 'down') {
+        ARROW = '&nbsp;&nbsp;&uarr;';
+        newRows.reverse();
+        span.setAttribute('sortdir','up');
+    } else {
+        ARROW = '&nbsp;&nbsp;&darr;';
+        span.setAttribute('sortdir','down');
+    }
+
+    // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
+    // don't do sortbottom rows
+    for (i=0;i<newRows.length;i++) { if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1))) table.tBodies[0].appendChild(newRows[i]);}
+    // do sortbottom rows only
+    for (i=0;i<newRows.length;i++) { if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1)) table.tBodies[0].appendChild(newRows[i]);}
+
+    // Delete any other arrows there may be showing
+    var allspans = document.getElementsByTagName("span");
+    for (var ci=0;ci<allspans.length;ci++) {
+        if (allspans[ci].className == 'sortarrow') {
+            if (getParent(allspans[ci],"table") == getParent(lnk,"table")) { // in the same table as us?
+                allspans[ci].innerHTML = '&nbsp;&nbsp;&nbsp;';
+            }
+        }
+    }
+
+    span.innerHTML = ARROW;
+		alternateRowColors();
+}
+
+function getParent(el, pTagName) {
+	if (el == null) return null;
+	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())	// Gecko bug, supposed to be uppercase
+		return el;
+	else
+		return getParent(el.parentNode, pTagName);
+}
+function ts_sort_date(a,b) {
+    // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa.length == 10) {
+        dt1 = aa.substr(6,4)+aa.substr(3,2)+aa.substr(0,2);
+    } else {
+        yr = aa.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt1 = yr+aa.substr(3,2)+aa.substr(0,2);
+    }
+    if (bb.length == 10) {
+        dt2 = bb.substr(6,4)+bb.substr(3,2)+bb.substr(0,2);
+    } else {
+        yr = bb.substr(6,2);
+        if (parseInt(yr) < 50) { yr = '20'+yr; } else { yr = '19'+yr; }
+        dt2 = yr+bb.substr(3,2)+bb.substr(0,2);
+    }
+    if (dt1==dt2) return 0;
+    if (dt1<dt2) return -1;
+    return 1;
+}
+
+function ts_sort_currency(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
+    return parseFloat(aa) - parseFloat(bb);
+}
+
+function ts_sort_numeric(a,b) {
+    aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(aa)) aa = 0;
+    bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
+    if (isNaN(bb)) bb = 0;
+    return aa-bb;
+}
+
+function ts_sort_caseinsensitive(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+function ts_sort_default(a,b) {
+    aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
+    bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
+    if (aa==bb) return 0;
+    if (aa<bb) return -1;
+    return 1;
+}
+
+
+function addEvent(elm, evType, fn, useCapture)
+// addEvent and removeEvent
+// cross-browser event handling for IE5+,  NS6 and Mozilla
+// By Scott Andrew
+{
+  if (elm.addEventListener){
+    elm.addEventListener(evType, fn, useCapture);
+    return true;
+  } else if (elm.attachEvent){
+    var r = elm.attachEvent("on"+evType, fn);
+    return r;
+  } else {
+    //alert("Handler could not be removed");
+  }
+}
+
+function origalternateRowColors() {
+	var className = 'sortable';
+	var rowcolor = '#dddddd';
+	var defaultrowcolor = '#ffffff';
+	var rows, arow;
+	var tables = document.getElementsByTagName("table");
+	var rowCount = 0;
+	for(var i=0;i<tables.length;i++) {
+		//dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+		if(tables.item(i).className == className) {
+			atable = tables.item(i);
+			rows = atable.getElementsByTagName("tr");
+			for(var j=0;j<rows.length;j++) {
+				arow = rows.item(j);
+				if(arow.nodeName == "TR") {
+					if(rowCount % 2) {
+						arow.style.backgroundColor = rowcolor;
+					} else {
+						// default case
+						arow.style.backgroundColor = defaultrowcolor;
+					}
+					rowCount++;
+				}
+			}
+			rowCount = 0;
+		}
+	}
+}
+
+
+  function alternateRowColors() {
+      var className = 'sortable';
+      var rows, arow;
+      var tables = document.getElementsByTagName("table");
+      var rowCount = 0;
+      for(var i=0;i<tables.length;i++) {
+          //dump(tables.item(i).className + " " + tables.item(i).nodeName + "\n");
+          if(tables.item(i).className == className) {
+              atable = tables.item(i);
+              rows = atable.getElementsByTagName("tr");
+              for(var j=1;j<rows.length;j++) {
+                  arow = rows.item(j);
+                  if(arow.nodeName == "TR") {
+                      if(rowCount % 2) {
+                          arow.setAttribute('class', 'portlet-section-alternate');
+
+                      } else {
+                          // default case
+                          arow.setAttribute('class', 'portlet-section-body');
+                      }
+                      rowCount++;
+                  }
+              }
+              rowCount = 0;
+          }
+      }
+  }
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere_ajax.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/gridsphere_ajax.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,167 @@
+
+var GridSphereAjaxHandler = {
+
+    handleSuccess:function(o) {
+        var cid = o.argument[0];
+        //alert(cid);
+        if(o.responseText != undefined){
+            //alert(o.responseText);
+            // create a temporary div element to store the responseText...
+            var serverResponse = document.createElement("div");
+            // ... and store the responseText inside it
+            serverResponse.innerHTML = o.responseText;
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            document.getElementById(cid).innerHTML = tempPageElements[0].innerHTML;
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one
+            alert(o.responseText);
+            document.getElementById(cid).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(mycid, action) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById(mycid);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&cid=" + encodeURIComponent(mycid) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ mycid ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    returnPortlet:function(portlet) {
+        // argument formId can be the id or name attribute value of the
+        // HTML form, or an HTML form object.
+        var pageElements = document.getElementById("portlet#" + portlet);
+        var formElements = pageElements.getElementsByTagName("form");
+        if (formElements) YAHOO.util.Connect.setForm(formElements[0]);
+
+        var sUrl = "/gridsphere/gridsphere" + "?ajax=true&portlet=" + encodeURIComponent(portlet) + "&" + YAHOO.util.Connect._sFormData;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ "portlet#" + portlet ], scope:this},
+                postData);
+
+         //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    },
+
+    loadPortlets:function() {
+        var portlets = [];
+        var j = 0;
+        var divElements = document.getElementsByTagName("div");
+        for (var i = 0; i < divElements.length; i++) {
+            var anid = divElements[i].id;
+            var startIdx = anid.indexOf("portlet");
+            var lastIdx = anid.indexOf('#', startIdx);
+            if (startIdx >= 0) {
+                var portlet = anid.substring(lastIdx+1);
+                var webIdx = anid.indexOf('#', lastIdx);
+                this.returnPortlet(portlet);
+            }
+        }
+    }
+
+};
+
+var GridSphereAjaxHandler2 = {
+
+    handleSuccess:function(o) {
+        var name = o.argument[0];
+        //alert(name);
+        if(o.responseText != undefined) {
+            //alert(o.responseText);
+
+            // check to see if entire HTML has been transferred back
+
+            var fragment = o.responseText;
+
+            // check for a redirect!
+            if (fragment.substring(0,4) == "http") {
+                window.location = fragment;
+                return;
+            }
+
+            // create a temporary div element to store the responseText..
+            var tmpDiv = document.createElement("div");
+            // ... and store the responseText inside it
+
+            tmpDiv.innerHTML = fragment;
+
+            var frame = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-content', 'div', tmpDiv);
+            var titlebar = YAHOO.util.Dom.getElementsByClassName('gridsphere-window-title', 'div', tmpDiv);
+            var panel = document.getElementById(name);
+            var title = YAHOO.util.Dom.getElementsByClassName('hd', 'div', panel);
+            var body = YAHOO.util.Dom.getElementsByClassName('bd', 'div', panel);
+            body[0].innerHTML = frame[0].innerHTML;
+            title[0].innerHTML = titlebar[0].innerHTML; // + "<a style=\"position:absolute; top:5px; right:4px; z-index:6; height:12px; width:12px; margin:0px; padding:0px; background-repeat:no-repeat; cursor:pointer; visibility:inherit;\" href=\"#\" onclick=\"YAHOO." + name + ".panel.hide();\">close</a>";
+
+            //alert(o.responseText);
+            // create a collection of all the div elements returned
+            //var tempPageElements = serverResponse.getElementsByTagName("div");
+            // replace existing component with new one
+            //document.getElementById(name).innerHTML = tempPageElements[0].innerHTML;
+            //window.eval("YAHOO." + name + ".panel.show()");
+        }
+    },
+
+    handleFailure:function(o) {
+        var cid = o.argument[0];
+        if(o.responseText != undefined) {
+            // replace existing component with new one           
+            //alert("failure! " + o.statusText);
+            //alert(o.getResponseHeader());
+
+            document.getElementById(name).innerHTML = "Unable to retrieve portlet fragment!!! ";
+        }
+    },
+
+    startRequest:function(portlet, name, action) {
+
+        var pageElements = document.getElementById(name);
+        var formElements = pageElements.getElementsByTagName("form");
+
+        YAHOO.util.Connect.setForm(formElements[0]);
+
+        var extra =  YAHOO.util.Connect._sFormData;
+       
+        if (action != null) {
+            extra += action;
+        }
+        if (extra == null) {
+            extra = "";
+        } else {
+            extra = "&" + extra;
+        }
+
+        var sUrl = "/gridsphere/gs" + "?ajax=true&compname=" + name + "&portlet=" + encodeURIComponent(portlet) + extra;
+
+        var postData = null;
+
+        var transaction = YAHOO.util.Connect.asyncRequest('POST', sUrl,
+            {success:this.handleSuccess, failure:this.handleFailure, argument:[ name ], scope:this},
+                postData);
+        //Abort the transaction if it isn't completed in ten seconds.
+        //setTimeout("YAHOO.util.Connect.abort(transaction)",10000);
+    }
+
+};

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/scw.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/scw.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/scw.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1937 @@
+// *****************************************************************************
+//      Simple Calendar Widget - Cross-Browser Javascript pop-up calendar.
+//
+//   Copyright (C) 2005-2006  Anthony Garrett
+//
+//   This library is free software; you can redistribute it and/or
+//   modify it under the terms of the GNU Lesser General Public
+//   License as published by the Free Software Foundation; either
+//   version 2.1 of the License, or (at your option) any later version.
+//
+//   This library is distributed in the hope that it will be useful,
+//   but WITHOUT ANY WARRANTY; without even the implied warranty of
+//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//   Lesser General Public License for more details.
+//
+//   You should have received a copy of the GNU Lesser General Public
+//   License along with this library; if not, it is available at
+//   the GNU web site (http://www.gnu.org/) or by writing to the
+//   Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+//   Boston, MA  02110-1301  USA
+//
+// *****************************************************************************
+//
+// Contact:   Sorry, I can't offer support for this but if you find a problem
+//            (or just want to tell me how useful you find it), please send
+//            me an email at scwfeedback at tarrget.info (Note the two Rs in
+//            tarrget).  I will try to fix problems quickly but this is a
+//            spare time thing for me.
+//
+// Credits:   I wrote this from scratch myself but I couldn't have done it
+//            without the superb "JavaScript The Definitive Guide" by David
+//            Flanagan (Pub. O'Reilly ISBN 0-596-00048-0).  I also recognise
+//            a contribution from my experience with PopCalendar 4.1 by
+//            Liming(Victor) Weng.
+//
+// Link back: Please give me credit and link back to my page.  To ensure that
+//            search engines give my page a higher ranking you can add the
+//            following HTML to any indexed page on your web site:
+//
+//            <A HREF="http://www.tarrget.info/calendar/scw.htm">
+//              Simple Calendar Widget by Anthony Garrett
+//            </A>
+//
+// Features:  Easily customised
+//                  (output date format, colours, language, year range and
+//                   week start day)
+//            Accepts a date as input
+//                  (see comments below for formats).
+//            Cross-browser code tested against;
+//                  Internet Explorer 6.0.28     Mozilla  1.7.1
+//                  Opera             7.52+      Firefox  0.9.1+
+//                  Konqueror         3.4.0      Flock    0.4.9
+//
+// How to add the Calendar to your page:
+//            This script needs to be defined for your page so, immediately
+//            after the BODY tag add the following line;
+//
+//                  <script type='Text/JavaScript' src='scw.js'></script>
+//
+//            Your root directory of the web site should also contain an empty
+//            file called "scwblank.html". See
+//                  http://www.tarrget.info/calendar/IEnightmare.html
+//            for a full explanation.
+//
+// How to use the Calendar once it is defined for your page:
+//
+//            Simply choose an event to trigger the calendar (like an onClick
+//            or an onMouseOver) and an element to work on (for the calendar
+//            to take its initial date from and write its output date to) then
+//            write it like this;
+//
+//                  <<event>>="scwShow(<<element>>,this);"
+//
+//            e.g. onClick="scwShow(scwID('myElement'),this);"
+//            or   onMouseOver="scwShow(this,this);"
+//
+//            NOTE: The "this" keyword causes the script to fail when the
+//                  triggered calendar is using an anchor tag. The following
+//                  syntax works;
+//
+//                  <a id="<<ID>>"
+//                     href="javascript:
+//                              scwShow(<<element>>,scwID('<<ID>>'));">
+//                      <<your text>>
+//                  </a>
+//
+//            If you are using a text node then specify the text's parent node
+//            in the function call. The date should be the only text under that
+//            node;
+//
+//            e.g.  <p onclick="scwShow(this,this);"><<date>></p>
+//
+//            You can also disable days of the week by adding arguments to the
+//            call to scwShow.  The values should be Sunday = 0 through to
+//            Saturday = 6.  A call to scwShow with Friday and Monday disabled
+//            would look something like this;
+//
+//                  scwShow(<<element>>,this,5,1);
+//
+//            Finally you can use the following technique to run a function
+//            when the calendar closes:
+//
+//                  scwNextAction=<<function>>.runsAfterSCW(this,<<arguments>>);
+//                  scwShow(<<element>>,this <<,optional arguments above>>);
+//
+//            Where <<function>> is a function defined on the calling page
+//            and <<arguments>> is the list of arguments being passed to that
+//            function.
+//
+//            ------------------------------------------------------------------
+//            Here's an extremely trivial but fully functioning example page
+//            showing two of the ways to trigger the calendar;
+//
+//            <html>
+//                <head><title>Basic Example</title></head>
+//                <body>
+//                    <script type='text/JavaScript' src='scw.js'></script>
+//                    <p onclick='scwShow(this,this);'>06-Dec-2006</p>
+//                    <input onclick='scwShow(this,this);' value='07-Dec-2006' />
+//                    <br/><br/>
+//                    <a id='aTest'
+//                       href='javascript:scwShow(scwID("aTest"),this);'>
+//                        08-Dec-2006
+//                    </a>
+//                </body>
+//            </html>
+//
+// *****************************************************************************
+//
+// See http://www.tarrget.info/calendar/scw.htm for a complete version history
+//
+// Version   Date        By               Description
+// =======   ====        ===============  ===========
+//   3.56    2006-12-13  Anthony Garrett  Fixed accidental disabling of the last
+//                                         day of the last month in the calendar.
+//                                        Added options to disable and hide days
+//                                         that are out of the currently displayed
+//                                         month. Thanks to Ruslan Androsyuk for
+//                                         this feature request.
+//                                        Applied the IFRAME backing to IE 7
+//                                         in order to improve rendering when
+//                                         the calendar overlays graphically
+//                                         dynamic objects.  Thanks to Shaun
+//                                         Plumb for reporting this issue.
+//                                        Allowed date input/output to be a
+//                                         text node.  Thanks to John Navratil
+//                                         for this suggestion (and others).
+//                                        Applied a work-around for Opera's
+//                                         buggy selectIndex setting.
+// *****************************************************************************
+
+// ************************************
+// Start of Simple Calendar Widget Code
+// ************************************
+
+// This date is used throughout to determine today's date.
+
+var scwDateNow = new Date(Date.parse(new Date().toDateString()));
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// Customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+// Set the bounds for the calendar here...
+// If you want the year to roll forward you can use something like this...
+//      var scwBaseYear = scwDateNow.getFullYear()-5;
+// alternatively, hard code a date like this...
+//      var scwBaseYear = 1990;
+
+var scwBaseYear = scwDateNow.getFullYear() - 10;
+
+// How many years do want to be valid and to show in the drop-down list?
+
+var scwDropDownYears = 20;
+
+// All language-dependent changes can be made here...
+
+// If you wish to work in a single language (other than English) then
+// just replace the English (in the function scwSetLanguage below) with
+// your own text.
+
+// Using multiple languages:
+// In order to keep this script to a resonable size I have not included
+// languages here.  You can set language fields in a function that you
+// should call  scwSetLanguage  the script will use your languages.
+// I have included all the translations that have been sent to me in
+// such a function on the demonstration page.
+
+var scwLanguage;
+
+function scwSetDefaultLanguage()
+{
+    try
+    {
+        scwSetLanguage();
+    }
+    catch (exception)
+    {// English
+        scwToday = 'Today:';
+        scwDrag = 'click here to drag';
+        scwArrMonthNames = ['Jan','Feb','Mar','Apr','May','Jun',
+                'Jul','Aug','Sep','Oct','Nov','Dec'];
+        scwArrWeekInits = ['S','M','T','W','T','F','S'];
+        scwInvalidDateMsg = 'The entered date is invalid.\n';
+        scwOutOfRangeMsg = 'The entered date is out of range.';
+        scwDoesNotExistMsg = 'The entered date does not exist.';
+        scwInvalidAlert = ['Invalid date (',') ignored.'];
+        scwDateDisablingError = ['Error ',' is not a Date object.'];
+        scwRangeDisablingError = ['Error ',
+                ' should consist of two elements.'];
+    }
+}
+
+// Note:  Always start the scwArrWeekInits array with your string for
+//        Sunday whatever scwWeekStart (below) is set to.
+
+// scwWeekStart determines the start of the week in the display
+// Set it to: 0 (Zero) for Sunday, 1 (One) for Monday etc..
+
+var scwWeekStart = 1;
+
+// The week start day for the display is taken as the week start
+// for week numbering.  This ensures that only one week number
+// applies to one line of the calendar table.
+// [ISO 8601 begins the week with Day 1 = Monday.]
+
+// If you want to see week numbering on the calendar, set
+// this to true.  If not, false.
+
+var scwWeekNumberDisplay = false;
+
+// Week numbering rules are generally based on a day in the week
+// that determines the first week of the year.  ISO 8601 uses
+// Thursday (day four when Sunday is day zero).  You can alter
+// the base day here.
+
+// See http://www.cl.cam.ac.uk/~mgk25/iso-time.html for more information
+
+var scwWeekNumberBaseDay = 4;
+
+// Each of the calendar's alert message types can be disabled
+// independently here.
+
+var scwShowInvalidDateMsg = true,
+        scwShowOutOfRangeMsg = true,
+        scwShowDoesNotExistMsg = true,
+        scwShowInvalidAlert = true,
+        scwShowDateDisablingError = true,
+        scwShowRangeDisablingError = true;
+
+// Set the allowed input date delimiters here...
+// E.g. To set the rising slash, hyphen, full-stop (aka stop or point),
+//      comma and space as delimiters use
+//              var scwArrDelimiters   = ['/','-','.',',',' '];
+
+var scwArrDelimiters = ['/','-','.',',',' '];
+
+// Set the format for the displayed 'Today' date and for the output
+// date here.
+//
+// The format is described using delimiters of your choice (as set
+// in scwArrDelimiters above) and case insensitive letters D, M and Y.
+//
+// Definition               Returns
+// ----------               -------
+// D            date in the month without zero filling
+// DD           date in the month left zero filled
+// M            month number without zero filling
+// MM           month number left zero filled
+// MMM          month string from scwArrMonthNames
+// YY           year number in two digits
+// YYYY         year number in four digits
+
+// Displayed "Today" date format
+
+var scwDateDisplayFormat = 'dd-mm-yy';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// Output date format
+
+var scwDateOutputFormat = 'DD MMM, YYYY';
+// e.g. 'MMM-DD-YYYY' for the US
+
+// The input date is fully parsed so a format is not required,
+// but there is no way to differentiate the sequence reliably.
+//
+// e.g. Is 05/08/03     5th August 2003,
+//                      8th May    2003 or even
+//                      3rd August 2005?
+//
+// So, you have to state how the code should interpret input dates.
+//
+// The sequence should always contain one D, one M and one Y only,
+// in any order.
+
+var scwDateInputSequence = 'DMY';
+// e.g. 'MDY' for the US
+
+// Note: Because the user may select a date then trigger the
+//       calendar again to select another, it is necessary to
+//       have the input date sequence in the same order as the
+//       output display format.  To allow the flexibility of having
+//       a full input date and a partial (e.g. only Month and Year)
+//       output, the input sequence is set separately.
+//
+//       The same reason determines that the delimiters used should
+//       be in scwArrDelimiters.
+
+// scwZindex controls how the pop-up calendar interacts with the rest
+// of the page.  It is usually adequate to leave it as 1 (One) but I
+// have made it available here to help anyone who needs to alter the
+// level in order to ensure that the calendar displays correctly in
+// relation to all other elements on the page.
+
+var scwZindex = 1;
+
+// Personally I like the fact that entering 31-Sep-2005 displays
+// 1-Oct-2005, however you may want that to be an error.  If so,
+// set scwBlnStrict = true.  That will cause an error message to
+// display and the selected month is displayed without a selected
+// day. Thanks to Brad Allan for his feedback prompting this feature.
+
+var scwBlnStrict = false;
+
+// If you wish to disable any displayed day, e.g. Every Monday,
+// you can do it by setting the following array.  The array elements
+// match the displayed cells.
+//
+// You could put something like the following in your calling page
+// to disable all weekend days;
+//
+//  for (var i=0;i<scwEnabledDay.length;i++)
+//      {if (i%7%6==0) scwEnabledDay[i] = false;}
+//
+// The above approach will allow you to disable days of the week
+// for the whole of your page easily.  If you need to set different
+// disabled days for a number of date input fields on your page
+// there is an easier way: You can pass additional arguments to
+// scwShow. The syntax is described at the top of this script in
+// the section:
+//    "How to use the Calendar once it is defined for your page:"
+//
+// It is possible to use these two approaches in combination.
+
+var scwEnabledDay = [true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true,
+        true, true, true, true, true, true, true];
+
+// You can disable any specific date (e.g. 24-Jan-2006 or Today) by
+// creating an element of the array scwDisabledDates as a date object
+// with the value you want to disable.  Date ranges can be disabled
+// by placing an array of two values (Start and End) into an element
+// of this array.
+
+var scwDisabledDates = new Array();
+
+// e.g. To disable 10-Dec-2005:
+//          scwDisabledDates[0] = new Date(2005,11,10);
+//
+//      or a range from 2004-Dec-25 to 2005-Jan-01:
+//          scwDisabledDates[1] = [new Date(2004,11,25),new Date(2005,0,1)];
+//
+// Remember that Javascript months are Zero-based.
+
+// The disabling by date and date range does prevent the current day
+// from being selected.  Disabling days of the week does not so you can set
+// the scwActiveToday value to false to prevent selection.
+
+var scwActiveToday = true;
+
+// Dates that are out of the displayed month are shown at the start
+// (unless the month starts on the first day of the week) and end of each
+// month.
+//
+// Set scwOutOfMonthDisable to  true  to disable these dates (or  false
+// to allow their selection).
+//
+// Set scwOutOfMonthHide    to  true  to hide    these dates (or  false
+// to make them visible).
+
+var scwOutOfMonthDisable = false;
+var scwOutOfMonthHide = false;
+
+// Dates that are out of the specified range can be displayed at the start
+// of the very first month and end of the very last.  Set
+// scwOutOfRangeDisable to  true  to disable these dates (or  false  to
+// allow their selection).
+
+var scwOutOfRangeDisable = true;
+
+// You can allow the calendar to be dragged around the screen by
+// using the setting scwAllowDrag to true.
+// I can't say I recommend it because of the danger of the user
+// forgetting which date field the calendar will update when there
+// are multiple date fields on a page.
+
+var scwAllowDrag = false;
+
+// Closing the calendar by clicking on it (rather than elsewhere on the
+// main page) can be inconvenient.  The scwClickToHide boolean value
+// controls this feature.
+
+var scwClickToHide = false;
+
+// I have made every effort to isolate the pop-up script from any
+// CSS defined on the main page but if you have anything set that
+// affects the pop-up (or you may want to change the way it looks)
+// then you can address it in the following style sheets.
+
+document.writeln(
+        '<style type="text/css">' +
+        '.scw           {padding:1px;vertical-align:middle;}' +
+        'iframe.scw     {position:absolute;z-index:' + scwZindex +
+        ';top:0px;left:0px;visibility:hidden;' +
+        'width:1px;height:1px;}' +
+        'table.scw      {padding:0px;visibility:hidden;' +
+        'position:absolute;cursor:default;' +
+        'width:200px;top:0px;left:0px;' +
+        'z-index:' + (scwZindex + 1) +
+        ';text-align:center;}' +
+        '</style>');
+
+// This style sheet can be extracted from the script and edited into regular
+// CSS (by removing all occurrences of + and '). That can be used as the
+// basis for themes. Classes are described in comments within the style
+// sheet.
+
+document.writeln(
+        '<style type="text/css">' +
+        '/* IMPORTANT:  The SCW calendar script requires all ' +
+        '               the classes defined here.' +
+        '*/' +
+        'table.scw      {padding:       1px;' +
+        'vertical-align:middle;' +
+        'border:        ridge 2px;' +
+        'font-size:     10pt;' +
+        'font-family:   Arial,Helvetica,Sans-Serif;' +
+        'font-weight:   bold;}' +
+        'td.scwDrag,' +
+        'td.scwHead                 {padding:       0px 0px;' +
+        'text-align:    center;}' +
+        'td.scwDrag                 {font-size:     8pt;}' +
+        'select.scwHead             {margin:        3px 1px;' +
+        'text-align:    center;}' +
+        'input.scwHead              {height:        22px;' +
+        'width:         22px;' +
+        'vertical-align:middle;' +
+        'text-align:    center;' +
+        'margin:        2px 1px;' +
+        'font-weight:   bold;' +
+        'font-size:     10pt;' +
+        'font-family:   fixedSys;}' +
+        'td.scwWeekNumberHead,' +
+        'td.scwWeek                 {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   bold;}' +
+        'td.scwFoot,' +
+        'td.scwFootHover,' +
+        'td.scwFoot:hover,' +
+        'td.scwFootDisabled         {padding:       0px;' +
+        'text-align:    center;' +
+        'font-weight:   normal;}' +
+        'table.scwCells             {text-align:    right;' +
+        'font-size:     8pt;' +
+        'width:         96%;}' +
+        'td.scwCells,' +
+        'td.scwCellsHover,' +
+        'td.scwCells:hover,' +
+        'td.scwCellsDisabled,' +
+        'td.scwCellsExMonth,' +
+        'td.scwCellsExMonthHover,' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthDisabled,' +
+        'td.scwCellsWeekend,' +
+        'td.scwCellsWeekendHover,' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendDisabled,' +
+        'td.scwInputDate,' +
+        'td.scwInputDateHover,' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateDisabled,' +
+        'td.scwWeekNo,' +
+        'td.scwWeeks                {padding:           3px;' +
+        'width:             16px;' +
+        'height:            16px;' +
+        'font-weight:       bold;' +
+        'vertical-align:    middle;}' +
+        '/* Blend the colours into your page here...    */' +
+        '/* Calendar background */' +
+        'table.scw                  {background-color:  #6666CC;}' +
+        '/* Drag Handle */' +
+        'td.scwDrag                 {background-color:  #9999CC;' +
+        'color:             #CCCCFF;}' +
+        '/* Week number heading */' +
+        'td.scwWeekNumberHead       {color:             #6666CC;}' +
+        '/* Week day headings */' +
+        'td.scwWeek                 {color:             #CCCCCC;}' +
+        '/* Week numbers */' +
+        'td.scwWeekNo               {background-color:  #776677;' +
+        'color:             #CCCCCC;}' +
+        '/* Enabled Days */' +
+        '/* Week Day */' +
+        'td.scwCells                {background-color:  #CCCCCC;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate            {background-color:  #CC9999;' +
+        'color:             #FF0000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekend         {background-color:  #CCCCCC;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth         {background-color:  #CCCCCC;' +
+        'color:             #666666;}' +
+        '/* Today selector */' +
+        'td.scwFoot                 {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '/* MouseOver/Hover formatting ' +
+        '       If you want to "turn off" any of the formatting ' +
+        '       then just set to the same as the standard format' +
+        '       above.' +
+        ' ' +
+        '       Note: The reason that the following are' +
+        '       implemented using both a class and a :hover' +
+        '       pseudoclass is because Opera handles the rendering' +
+        '       involved in the class swap very poorly and IE6 ' +
+        '       (and below) only implements pseudoclasses on the' +
+        '       anchor tag.' +
+        '*/' +
+        '/* Active cells */' +
+        'td.scwCells:hover,' +
+        'td.scwCellsHover           {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day matching the input date */' +
+        'td.scwInputDate:hover,' +
+        'td.scwInputDateHover       {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Weekend cells */' +
+        'td.scwCellsWeekend:hover,' +
+        'td.scwCellsWeekendHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonth:hover,' +
+        'td.scwCellsExMonthHover    {background-color:  #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'color:             #000000;}' +
+        '/* Today selector */' +
+        'td.scwFoot:hover,' +
+        'td.scwFootHover            {color:             #FFFF00;' +
+        'cursor:            pointer;' +
+        'cursor:            hand;' +
+        'font-weight:       bold;}' +
+        '/* Disabled cells */' +
+        '/* Week Day */' +
+        '/* Day matching the input date */' +
+        'td.scwInputDateDisabled    {background-color:  #999999;' +
+        'color:             #000000;}' +
+        'td.scwCellsDisabled        {background-color:  #999999;' +
+        'color:             #000000;}' +
+        '/* Weekend Day */' +
+        'td.scwCellsWeekendDisabled {background-color:  #999999;' +
+        'color:             #CC6666;}' +
+        '/* Day outside the current month */' +
+        'td.scwCellsExMonthDisabled {background-color:  #999999;' +
+        'color:             #666666;}' +
+        'td.scwFootDisabled         {background-color:  #6666CC;' +
+        'color:             #FFFFFF;}' +
+        '</style>'
+        );
+
+//******************************************************************************
+//------------------------------------------------------------------------------
+// End of customisation section
+//------------------------------------------------------------------------------
+//******************************************************************************
+
+//  Variables required by both scwShow and scwShowMonth
+
+var scwTargetEle,
+        scwTriggerEle,
+        scwMonthSum = 0,
+        scwBlnFullInputDate = false,
+        scwPassEnabledDay = new Array(),
+        scwSeedDate = new Date(),
+        scwParmActiveToday = true,
+        scwWeekStart = scwWeekStart % 7,
+        scwToday,
+        scwDrag,
+        scwArrMonthNames,
+        scwArrWeekInits,
+        scwInvalidDateMsg,
+        scwOutOfRangeMsg,
+        scwDoesNotExistMsg,
+        scwInvalidAlert,
+        scwDateDisablingError,
+        scwRangeDisablingError;
+
+// Add a method to format a date into the required pattern
+
+Date.prototype.scwFormat =
+function(scwFormat)
+{
+    var charCount = 0,
+            codeChar = '',
+            result = '';
+
+    for (var i = 0; i <= scwFormat.length; i++)
+    {
+        if (i < scwFormat.length && scwFormat.charAt(i) == codeChar)
+        {// If we haven't hit the end of the string and
+            // the format string character is the same as
+            // the previous one, just clock up one to the
+            // length of the current element definition
+            charCount++;
+        }
+        else {
+            switch (codeChar)
+                    {case 'y': case 'Y':
+                result += (this.getFullYear() % Math.
+                        pow(10, charCount)).toString().
+                        scwPadLeft(charCount);
+                break;
+                case 'm': case 'M':
+            // If we find an M, check the number of them to
+            // determine whether to get the month number or
+            // the month name.
+                result += (charCount < 3)
+                        ? (this.getMonth() + 1).
+                        toString().scwPadLeft(charCount)
+                        : scwArrMonthNames[this.getMonth()];
+                break;
+                case 'd': case 'D':
+            // If we find a D, get the date and format it
+                result += this.getDate().toString().
+                        scwPadLeft(charCount);
+                break;
+                default:
+                // Copy any unrecognised characters across
+                    while (charCount-- > 0) {
+                        result += codeChar;
+                    }
+            }
+
+            if (i < scwFormat.length)
+            {// Store the character we have just worked on
+                codeChar = scwFormat.charAt(i);
+                charCount = 1;
+            }
+        }
+    }
+    return result;
+}
+
+// Add a method to left pad zeroes
+
+String.prototype.scwPadLeft =
+function(padToLength)
+{
+    var result = '';
+    for (var i = 0; i < (padToLength - this.length); i++) {
+        result += '0';
+    }
+    return (result + this);
+}
+
+// Set up a closure so that any next function can be triggered
+// after the calendar has been closed AND that function can take
+// arguments.
+
+Function.prototype.runsAfterSCW =
+function() {
+    var func = this,
+            args = new Array(arguments.length);
+
+    for (var i = 0; i < args.length; ++i)
+    {
+        args[i] = arguments[i];
+    }
+
+    return function()
+    {// concat/join the two argument arrays
+        for (var i = 0; i < arguments.length; ++i)
+        {
+            args[args.length] = arguments[i];
+        }
+
+        return (args.shift() == scwTriggerEle)
+                ? func.apply(this, args) : null;
+    }
+};
+
+// Set up some shortcuts
+
+function scwID(id) {
+    return document.getElementById(id);
+}
+
+// Use a global variable for the return value from the next action
+// IE fails to pass the function through if the target element is in
+// a form and scwNextAction is not defined.
+
+var scwNextActionReturn, scwNextAction;
+
+// ****************************************************************************
+// Start of Function Library
+//
+//  Exposed functions:
+//
+//      scwShow             Entry point for display of calendar,
+//                              called in main page.
+//      showCal             Legacy name of scwShow:
+//                              Passes only legacy arguments,
+//                              not the optional day disabling arguments.
+//
+//      scwShowMonth        Displays a month on the calendar,
+//                              Called when a month is set or changed.
+//
+//      scwBeginDrag        Controls calendar dragging.
+//
+//      scwCancel           Called when the calendar background is clicked:
+//                              Calls scwStopPropagation and may call scwHide.
+//      scwHide             Hides the calendar, called on various events.
+//      scwStopPropagation  Stops the propagation of an event.
+//
+// ****************************************************************************
+
+function showCal(scwEle, scwSourceEle) {
+    scwShow(scwEle, scwSourceEle);
+}
+function scwShow(scwEle, scwSourceEle)
+{
+    scwTriggerEle = scwSourceEle;
+
+    // Take any parameters that there might be from the third onwards as
+    // day numbers to be disabled 0 = Sunday through to 6 = Saturday.
+
+    scwParmActiveToday = true;
+
+    for (var i = 0; i < 7; i++)
+    {
+        scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = true;
+        for (var j = 2; j < arguments.length; j++)
+        {
+            if (arguments[j] == i)
+            {
+                scwPassEnabledDay[(i + 7 - scwWeekStart) % 7] = false;
+                if (scwDateNow.getDay() == i) scwParmActiveToday = false;
+            }
+        }
+    }
+
+    //   If no value is preset then the seed date is
+    //      Today (when today is in range) OR
+    //      The middle of the date range.
+
+    scwSeedDate = scwDateNow;
+
+    // Find the date and Strip space characters from start and
+    // end of date input.
+
+    if (typeof scwEle.value == 'undefined')
+    {
+        var scwChildNodes = scwEle.childNodes;
+        for (var i = 0; i < scwChildNodes.length; i++)
+            if (scwChildNodes[i].nodeType == 3)
+            {
+                var scwDateValue = scwChildNodes[i].nodeValue.replace(/^\s+/, '').replace(/\s+$/, '');
+                if (scwDateValue.length > 0)
+                {
+                    scwTriggerEle.scwTextNode = scwChildNodes[i];
+                    scwTriggerEle.scwLength = scwChildNodes[i].nodeValue.length;
+                    break;
+                }
+            }
+    }
+    else
+    {
+        var scwDateValue = scwEle.value.replace(/^\s+/, '').replace(/\s+$/, '');
+    }
+
+    // Set the language-dependent elements
+
+    scwSetDefaultLanguage();
+
+    scwID('scwDragText').innerHTML = scwDrag;
+
+    scwID('scwMonths').options.length = 0;
+    for (var i = 0; i < scwArrMonthNames.length; i++)
+        scwID('scwMonths').options[i] =
+        new Option(scwArrMonthNames[i], scwArrMonthNames[i]);
+
+    scwID('scwYears').options.length = 0;
+    for (var i = 0; i < scwDropDownYears; i++)
+        scwID('scwYears').options[i] =
+        new Option((scwBaseYear + i), (scwBaseYear + i));
+
+    for (var i = 0; i < scwArrWeekInits.length; i++)
+        scwID('scwWeekInit' + i).innerHTML =
+        scwArrWeekInits[(i + scwWeekStart) %
+                        scwArrWeekInits.length];
+
+    if (scwID('scwFoot'))
+        scwID('scwFoot').innerHTML =
+        scwToday + ' ' +
+        scwDateNow.scwFormat(scwDateDisplayFormat);
+
+    if (scwDateValue.length == 0)
+    {// If no value is entered and today is within the range,
+        // use today's date, otherwise use the middle of the valid range.
+
+        scwBlnFullInputDate = false;
+
+        if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) < scwSeedDate ||
+            (new Date(scwBaseYear, 0, 1)) > scwSeedDate
+                )
+        {
+            scwSeedDate = new Date(scwBaseYear +
+                                   Math.floor(scwDropDownYears / 2), 5, 1);
+        }
+    }
+    else
+    {
+        function scwInputFormat()
+        {
+            var scwArrSeed = new Array(),
+                    scwArrInput = scwDateValue.
+                            split(new RegExp('[\\' + scwArrDelimiters.
+                            join('\\') + ']+', 'g'));
+
+            // "Escape" all the user defined date delimiters above -
+            // several delimiters will need it and it does no harm for
+            // the others.
+
+            // Strip any empty array elements (caused by delimiters)
+            // from the beginning or end of the array. They will
+            // still appear in the output string if in the output
+            // format.
+
+            if (scwArrInput[0] != null)
+            {
+                if (scwArrInput[0].length == 0) scwArrInput.splice(0, 1);
+
+                if (scwArrInput[scwArrInput.length - 1].length == 0)
+                    scwArrInput.splice(scwArrInput.length - 1, 1);
+            }
+
+            scwBlnFullInputDate = false;
+
+            switch (scwArrInput.length)
+                    {case 1:
+            {// Year only entry
+                scwArrSeed[0] = parseInt(scwArrInput[0], 10);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+                break;
+            }
+                case 2:
+                {// Year and Month entry
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            replace(/D/i, '').
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] = 1;
+                    // Day
+                    break;
+                }
+                case 3:
+                {// Day Month and Year entry
+
+                    scwArrSeed[0] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/Y/i)], 10);
+                    // Year
+                    scwArrSeed[1] = scwArrInput[scwDateInputSequence.
+                            search(/M/i)];
+                    // Month
+                    scwArrSeed[2] =
+                    parseInt(scwArrInput[scwDateInputSequence.
+                            search(/D/i)], 10);
+                    // Day
+
+                    scwBlnFullInputDate = true;
+                    break;
+                }
+                default:
+                {// A stuff-up has led to more than three elements in
+                    // the date.
+                    scwArrSeed[0] = 0;
+                    // Year
+                    scwArrSeed[1] = 0;
+                    // Month
+                    scwArrSeed[2] = 0;
+                    // Day
+                }
+            }
+
+            // These regular expressions validate the input date format
+            // to the following rules;
+            //         Day   1-31 (optional zero on single digits)
+            //         Month 1-12 (optional zero on single digits)
+            //                     or case insensitive name
+            //         Year  One, Two or four digits
+
+            // Months names are as set in the language-dependent
+            // definitions and delimiters are set just below there
+
+            var scwExpValDay = /^(0?[1-9]|[1-2]\d|3[0-1])$/,
+                    scwExpValMonth = new RegExp('^(0?[1-9]|1[0-2]|' +
+                                                scwArrMonthNames.join('|') +
+                                                ')$', 'i'),
+                    scwExpValYear = /^(\d{1,2}|\d{4})$/;
+
+            // Apply validation and report failures
+
+            if (scwExpValYear.exec(scwArrSeed[0]) == null ||
+                scwExpValMonth.exec(scwArrSeed[1]) == null ||
+                scwExpValDay.exec(scwArrSeed[2]) == null
+                    )
+            {
+                if (scwShowInvalidDateMsg)
+                    alert(scwInvalidDateMsg +
+                          scwInvalidAlert[0] + scwDateValue +
+                          scwInvalidAlert[1]);
+                scwBlnFullInputDate = false;
+                scwArrSeed[0] = scwBaseYear +
+                                Math.floor(scwDropDownYears / 2);
+                // Year
+                scwArrSeed[1] = '6';
+                // Month
+                scwArrSeed[2] = 1;
+                // Day
+            }
+
+            // Return the  Year    in scwArrSeed[0]
+            //             Month   in scwArrSeed[1]
+            //             Day     in scwArrSeed[2]
+
+            return scwArrSeed;
+        }
+
+        // Parse the string into an array using the allowed delimiters
+
+        scwArrSeedDate = scwInputFormat();
+
+        // So now we have the Year, Month and Day in an array.
+
+        //   If the year is one or two digits then the routine assumes a
+        //   year belongs in the 21st Century unless it is less than 50
+        //   in which case it assumes the 20th Century is intended.
+
+        if (scwArrSeedDate[0] < 100)
+            scwArrSeedDate[0] += (scwArrSeedDate[0] > 50) ? 1900 : 2000;
+
+        // Check whether the month is in digits or an abbreviation
+
+        if (scwArrSeedDate[1].search(/\d+/) != 0)
+        {
+            month = scwArrMonthNames.join('|').toUpperCase().
+                    search(scwArrSeedDate[1].substr(0, 3).
+                    toUpperCase());
+            scwArrSeedDate[1] = Math.floor(month / 4) + 1;
+        }
+
+        scwSeedDate = new Date(scwArrSeedDate[0],
+                scwArrSeedDate[1] - 1,
+                scwArrSeedDate[2]);
+    }
+
+    // Test that we have arrived at a valid date
+
+    if (isNaN(scwSeedDate))
+    {
+        if (scwShowInvalidDateMsg)
+            alert(scwInvalidDateMsg +
+                  scwInvalidAlert[0] + scwDateValue +
+                  scwInvalidAlert[1]);
+        scwSeedDate = new Date(scwBaseYear +
+                               Math.floor(scwDropDownYears / 2), 5, 1);
+        scwBlnFullInputDate = false;
+    }
+    else
+    {// Test that the date is within range,
+        // if not then set date to a sensible date in range.
+
+        if ((new Date(scwBaseYear, 0, 1)) > scwSeedDate)
+        {
+            if (scwBlnStrict && scwShowOutOfRangeMsg)
+                alert(scwOutOfRangeMsg);
+            scwSeedDate = new Date(scwBaseYear, 0, 1);
+            scwBlnFullInputDate = false;
+        }
+        else
+        {
+            if ((new Date(scwBaseYear + scwDropDownYears, 0, 0)) <
+                scwSeedDate)
+            {
+                if (scwBlnStrict && scwShowOutOfRangeMsg)
+                    alert(scwOutOfRangeMsg);
+                scwSeedDate = new Date(scwBaseYear +
+                                       Math.floor(scwDropDownYears) - 1,
+                        11, 1);
+                scwBlnFullInputDate = false;
+            }
+            else
+            {
+                if (scwBlnStrict && scwBlnFullInputDate &&
+                    (scwSeedDate.getDate() != scwArrSeedDate[2] ||
+                     (scwSeedDate.getMonth() + 1) != scwArrSeedDate[1] ||
+                     scwSeedDate.getFullYear() != scwArrSeedDate[0]
+                            )
+                        )
+                {
+                    if (scwShowDoesNotExistMsg) alert(scwDoesNotExistMsg);
+                    scwSeedDate = new Date(scwSeedDate.getFullYear(),
+                            scwSeedDate.getMonth() - 1, 1);
+                    scwBlnFullInputDate = false;
+                }
+            }
+        }
+    }
+
+    // Test the disabled dates for validity
+    // Give error message if not valid.
+
+    for (var i = 0; i < scwDisabledDates.length; i++)
+    {
+        if (!((typeof scwDisabledDates[i] == 'object') &&
+              (scwDisabledDates[i].constructor == Date)))
+        {
+            if ((typeof scwDisabledDates[i] == 'object') &&
+                (scwDisabledDates[i].constructor == Array))
+            {
+                var scwPass = true;
+
+                if (scwDisabledDates[i].length != 2)
+                {
+                    if (scwShowRangeDisablingError)
+                        alert(scwRangeDisablingError[0] +
+                              scwDisabledDates[i] +
+                              scwRangeDisablingError[1]);
+                    scwPass = false;
+                }
+                else
+                {
+                    for (var j = 0; j < scwDisabledDates[i].length; j++)
+                    {
+                        if (!((typeof scwDisabledDates[i][j]
+                                == 'object') &&
+                              (scwDisabledDates[i][j].constructor
+                                      == Date)))
+                        {
+                            if (scwShowRangeDisablingError)
+                                alert(scwDateDisablingError[0] +
+                                      scwDisabledDates[i][j] +
+                                      scwDateDisablingError[1]);
+                            scwPass = false;
+                        }
+                    }
+                }
+
+                if (scwPass &&
+                    (scwDisabledDates[i][0] > scwDisabledDates[i][1])
+                        )
+                {
+                    scwDisabledDates[i].reverse();
+                }
+            }
+            else
+            {
+                if (scwShowRangeDisablingError)
+                    alert(scwDateDisablingError[0] +
+                          scwDisabledDates[i] +
+                          scwDateDisablingError[1]);
+            }
+        }
+    }
+
+    // Calculate the number of months that the entered (or
+    // defaulted) month is after the start of the allowed
+    // date range.
+
+    scwMonthSum = 12 * (scwSeedDate.getFullYear() - scwBaseYear) +
+                  scwSeedDate.getMonth();
+
+    // Set the drop down boxes.
+
+    scwID('scwYears').options.selectedIndex = Math.floor(scwMonthSum / 12);
+    scwID('scwMonths').options.selectedIndex = (scwMonthSum % 12);
+
+    // Opera has a bug with this method of setting the selected index.
+    // It requires the following work-around to force SELECTs to display
+    // correctly.
+
+    if (window.opera)
+    {
+        scwID('scwMonths').style.display = 'none';
+        scwID('scwMonths').style.display = 'block';
+        scwID('scwYears').style.display = 'none';
+        scwID('scwYears').style.display = 'block';
+    }
+
+    // The bug is apparently known and "fixed for future versions"
+    // but they say they aren't going to put the fix into the 9.x
+    // series.
+
+    // Check whether or not dragging is allowed and display drag handle
+    // if necessary
+
+    scwID('scwDrag').style.display =
+    (scwAllowDrag)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-row')
+            : 'none';
+
+    // Display the month
+
+    scwShowMonth(0);
+
+    // Position the calendar box
+
+    // The object sniffing for Opera allows for the fact that Opera
+    // is the only major browser that correctly reports the position
+    // of an element in a scrollable DIV.  This is because IE and
+    // Firefox omit the DIV from the offsetParent tree.
+
+    scwTargetEle = scwEle;
+
+    var offsetTop = parseInt(scwEle.offsetTop, 10) +
+                    parseInt(scwEle.offsetHeight, 10),
+            offsetLeft = parseInt(scwEle.offsetLeft, 10);
+
+    if (!window.opera)
+    {
+        while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML')
+        {
+            offsetTop -= parseInt(scwEle.scrollTop, 10);
+            offsetLeft -= parseInt(scwEle.scrollLeft, 10);
+            scwEle = scwEle.parentNode;
+        }
+        scwEle = scwTargetEle;
+    }
+
+    do {
+        scwEle = scwEle.offsetParent;
+        offsetTop += parseInt(scwEle.offsetTop, 10);
+        offsetLeft += parseInt(scwEle.offsetLeft, 10);
+    }
+    while (scwEle.tagName != 'BODY' && scwEle.tagName != 'HTML');
+
+    scwID('scw').style.top = offsetTop + 'px';
+    scwID('scw').style.left = offsetLeft + 'px';
+
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.top = offsetTop + 'px';
+        scwID('scwIframe').style.left = offsetLeft + 'px';
+        scwID('scwIframe').style.width = (scwID('scw').offsetWidth - 2) + 'px';
+        scwID('scwIframe').style.height = (scwID('scw').offsetHeight - 2) + 'px';
+        scwID('scwIframe').style.visibility = 'visible';
+    }
+
+    // Show it on the page
+
+    scwID('scw').style.visibility = 'visible';
+
+    // Ensure that Opera actually displays the value that is selected!
+
+    scwID('scwYears').options.selectedIndex = scwID('scwYears').options.selectedIndex;
+    scwID('scwMonths').options.selectedIndex = scwID('scwMonths').options.selectedIndex;
+
+    var el = (scwSourceEle.parentNode)
+            ? scwSourceEle.parentNode
+            : scwSourceEle;
+
+    if (typeof event == 'undefined')
+    {
+        el.addEventListener('click',
+                scwStopPropagation,
+                false);
+    }
+    else {
+        if (el.attachEvent)
+        {
+            el.attachEvent('onclick', scwStopPropagation);
+        }
+        else {
+            event.cancelBubble = true;
+        }
+    }
+}
+
+function scwHide()
+{
+    scwID('scw').style.visibility = 'hidden';
+    if (scwID('scwIframe'))
+    {
+        scwID('scwIframe').style.visibility = 'hidden';
+    }
+
+    if (typeof scwNextAction != 'undefined' && scwNextAction != null)
+    {
+        scwNextActionReturn = scwNextAction();
+        // Explicit null set to prevent closure causing memory leak
+        scwNextAction = null;
+    }
+}
+
+function scwCancel(scwEvt)
+{
+    if (scwClickToHide) scwHide();
+    scwStopPropagation(scwEvt);
+}
+
+function scwStopPropagation(scwEvt)
+{
+    if (scwEvt.stopPropagation)
+        scwEvt.stopPropagation();     // Capture phase
+    else   scwEvt.cancelBubble = true;
+    // Bubbling phase
+}
+
+function scwBeginDrag(event)
+{
+    var elementToDrag = scwID('scw');
+
+    var deltaX = event.clientX,
+            deltaY = event.clientY,
+            offsetEle = elementToDrag;
+
+    do {
+        deltaX -= parseInt(offsetEle.offsetLeft, 10);
+        deltaY -= parseInt(offsetEle.offsetTop, 10);
+        offsetEle = offsetEle.offsetParent;
+    }
+    while (offsetEle.tagName != 'BODY' &&
+           offsetEle.tagName != 'HTML');
+
+    if (document.addEventListener)
+    {
+        document.addEventListener('mousemove',
+                moveHandler,
+                true);
+        // Capture phase
+        document.addEventListener('mouseup',
+                upHandler,
+                true);
+        // Capture phase
+    }
+    else {
+        elementToDrag.attachEvent('onmousemove',
+                moveHandler);
+        // Bubbling phase
+        elementToDrag.attachEvent('onmouseup',
+                upHandler);
+        // Bubbling phase
+        elementToDrag.setCapture();
+    }
+
+    scwStopPropagation(event);
+
+    function moveHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        elementToDrag.style.left = (scwEvt.clientX - deltaX) + 'px';
+        elementToDrag.style.top = (scwEvt.clientY - deltaY) + 'px';
+
+        if (scwID('scwIframe'))
+        {
+            scwID('scwIframe').style.left =
+            (scwEvt.clientX - deltaX) + 'px';
+            scwID('scwIframe').style.top =
+            (scwEvt.clientY - deltaY) + 'px';
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+
+    function upHandler(scwEvt)
+    {
+        if (!scwEvt) scwEvt = window.event;
+
+        if (document.removeEventListener)
+        {
+            document.removeEventListener('mousemove',
+                    moveHandler,
+                    true);
+            // Capture phase
+            document.removeEventListener('mouseup',
+                    upHandler,
+                    true);
+            // Capture phase
+        }
+        else {
+            elementToDrag.detachEvent('onmouseup',
+                    upHandler);
+            // Bubbling phase
+            elementToDrag.detachEvent('onmousemove',
+                    moveHandler);
+            // Bubbling phase
+            elementToDrag.releaseCapture();
+        }
+
+        scwStopPropagation(scwEvt);
+    }
+}
+
+function scwShowMonth(scwBias)
+{// Set the selectable Month and Year
+    // May be called: from the left and right arrows
+    //                  (shift month -1 and +1 respectively)
+    //                from the month selection list
+    //                from the year selection list
+    //                from the showCal routine
+    //                  (which initiates the display).
+
+    var scwShowDate = new Date(Date.parse(new Date().toDateString())),
+            scwStartDate = new Date();
+
+    // Set the time to the middle of the day so that the handful of
+    // regions that have daylight saving shifts that change the day
+    // of the month (i.e. turn the clock back at midnight or forward
+    // at 23:00) do not mess up the date display in the calendar.
+
+    scwShowDate.setHours(12);
+
+    scwSelYears = scwID('scwYears');
+    scwSelMonths = scwID('scwMonths');
+
+    if (scwSelYears.options.selectedIndex > -1)
+    {
+        scwMonthSum = 12 * (scwSelYears.options.selectedIndex) + scwBias;
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+    else
+    {
+        if (scwSelMonths.options.selectedIndex > -1)
+        {
+            scwMonthSum += scwSelMonths.options.selectedIndex;
+        }
+    }
+
+    scwShowDate.setFullYear(scwBaseYear + Math.floor(scwMonthSum / 12),
+            (scwMonthSum % 12),
+            1);
+
+    // If the Week numbers are displayed, shift the week day names
+    // to the right.
+    scwID('scwWeek_').style.display =
+    (scwWeekNumberDisplay)
+            ? ((scwID('scwIFrame')) ? 'block' : 'table-cell')
+            : 'none';
+
+    if ((12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) < (12 * scwDropDownYears) &&
+        (12 * parseInt((scwShowDate.getFullYear() - scwBaseYear), 10)) +
+        parseInt(scwShowDate.getMonth(), 10) > -1)
+    {
+        scwSelYears.options.selectedIndex = Math.floor(scwMonthSum / 12);
+        scwSelMonths.options.selectedIndex = (scwMonthSum % 12);
+
+        scwCurMonth = scwShowDate.getMonth();
+
+        scwShowDate.setDate((((scwShowDate.
+                getDay() - scwWeekStart) < 0) ? -6 : 1) +
+                            scwWeekStart - scwShowDate.getDay());
+
+        // This statement moved by Michael Cerveny to make version 3.55
+        var scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                scwShowDate.getMonth(),
+                scwShowDate.getDate()).valueOf();
+
+        scwStartDate = new Date(scwShowDate);
+
+        var scwFoot = scwID('scwFoot');
+
+        function scwFootOutput() {
+            scwSetOutput(scwDateNow);
+        }
+
+        if (scwDisabledDates.length == 0)
+        {
+            if (scwActiveToday && scwParmActiveToday)
+            {
+                scwFoot.onclick = scwFootOutput;
+                scwFoot.className = 'scwFoot';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = scwChangeClass;
+                    scwFoot.onmouseout = scwChangeClass;
+                }
+
+            }
+            else
+            {
+                scwFoot.onclick = null;
+                scwFoot.className = 'scwFootDisabled';
+
+                if (scwID('scwIFrame'))
+                {
+                    scwFoot.onmouseover = null;
+                    scwFoot.onmouseout = null;
+                }
+
+                if (document.addEventListener)
+                {
+                    scwFoot.addEventListener('click',
+                            scwStopPropagation,
+                            false);
+                }
+                else {
+                    scwFoot.attachEvent('onclick',
+                            scwStopPropagation);
+                }
+            }
+        }
+        else
+        {
+            for (var k = 0; k < scwDisabledDates.length; k++)
+            {
+                if (!scwActiveToday || !scwParmActiveToday ||
+                    ((typeof scwDisabledDates[k] == 'object') &&
+                     (((scwDisabledDates[k].constructor == Date) &&
+                       scwDateNow.valueOf() == scwDisabledDates[k].
+                               valueOf()
+                             ) ||
+                      ((scwDisabledDates[k].constructor == Array) &&
+                       scwDateNow.valueOf() >= scwDisabledDates[k][0].
+                               valueOf() &&
+                       scwDateNow.valueOf() <= scwDisabledDates[k][1].
+                               valueOf()
+                              )
+                             )
+                            )
+                        )
+                {
+                    scwFoot.onclick = null;
+                    scwFoot.className = 'scwFootDisabled';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = null;
+                        scwFoot.onmouseout = null;
+                    }
+
+                    if (document.addEventListener)
+                    {
+                        scwFoot.addEventListener('click',
+                                scwStopPropagation,
+                                false);
+                    }
+                    else {
+                        scwFoot.attachEvent('onclick',
+                                scwStopPropagation);
+                    }
+                    break;
+                }
+                else
+                {
+                    scwFoot.onclick = scwFootOutput;
+                    scwFoot.className = 'scwFoot';
+
+                    if (scwID('scwIFrame'))
+                    {
+                        scwFoot.onmouseover = scwChangeClass;
+                        scwFoot.onmouseout = scwChangeClass;
+                    }
+                }
+            }
+        }
+
+        function scwSetOutput(scwOutputDate)
+        {
+            if (typeof scwTargetEle.value == 'undefined')
+            {
+                scwTriggerEle.scwTextNode.
+                        replaceData(0, scwTriggerEle.scwLength,
+                        scwOutputDate.scwFormat(scwDateOutputFormat));
+            }
+            else
+            {
+                scwTargetEle.value =
+                scwOutputDate.scwFormat(scwDateOutputFormat);
+            }
+            scwHide();
+        }
+
+        function scwCellOutput(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt),
+                    scwOutputDate = new Date(scwStartDate);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            scwOutputDate.setDate(scwStartDate.getDate() +
+                                  parseInt(scwEle.id.substr(8), 10));
+
+            scwSetOutput(scwOutputDate);
+        }
+
+        function scwChangeClass(scwEvt)
+        {
+            var scwEle = scwEventTrigger(scwEvt);
+
+            if (scwEle.nodeType == 3) scwEle = scwEle.parentNode;
+
+            switch (scwEle.className)
+                    {case 'scwCells':
+                scwEle.className = 'scwCellsHover';
+                break;
+                case 'scwCellsHover':
+                    scwEle.className = 'scwCells';
+                    break;
+                case 'scwCellsExMonth':
+                    scwEle.className = 'scwCellsExMonthHover';
+                    break;
+                case 'scwCellsExMonthHover':
+                    scwEle.className = 'scwCellsExMonth';
+                    break;
+                case 'scwCellsWeekend':
+                    scwEle.className = 'scwCellsWeekendHover';
+                    break;
+                case 'scwCellsWeekendHover':
+                    scwEle.className = 'scwCellsWeekend';
+                    break;
+                case 'scwFoot':
+                    scwEle.className = 'scwFootHover';
+                    break;
+                case 'scwFootHover':
+                    scwEle.className = 'scwFoot';
+                    break;
+                case 'scwInputDate':
+                    scwEle.className = 'scwInputDateHover';
+                    break;
+                case 'scwInputDateHover':
+                    scwEle.className = 'scwInputDate';
+            }
+
+            return true;
+        }
+
+        function scwEventTrigger(scwEvt)
+        {
+            if (!scwEvt) scwEvt = event;
+            return scwEvt.target || scwEvt.srcElement;
+        }
+
+        function scwWeekNumber(scwInDate)
+        {// The base day in the week of the input date
+            var scwInDateWeekBase = new Date(scwInDate);
+
+            scwInDateWeekBase.setDate(scwInDateWeekBase.getDate()
+                    - scwInDateWeekBase.getDay()
+                    + scwWeekNumberBaseDay
+                    + ((scwInDate.getDay() >
+                        scwWeekNumberBaseDay) ? 7 : 0));
+
+            // The first Base Day in the year
+            var scwFirstBaseDay =
+                    new Date(scwInDateWeekBase.getFullYear(), 0, 1)
+
+            scwFirstBaseDay.setDate(scwFirstBaseDay.getDate()
+                    - scwFirstBaseDay.getDay()
+                    + scwWeekNumberBaseDay
+                    );
+
+            if (scwFirstBaseDay <
+                new Date(scwInDateWeekBase.getFullYear(), 0, 1))
+            {
+                scwFirstBaseDay.setDate(scwFirstBaseDay.getDate() + 7);
+            }
+
+            // Start of Week 01
+            var scwStartWeekOne = new Date(scwFirstBaseDay
+                    - scwWeekNumberBaseDay
+                    + scwInDate.getDay());
+
+            if (scwStartWeekOne > scwFirstBaseDay)
+            {
+                scwStartWeekOne.setDate(scwStartWeekOne.getDate() - 7);
+            }
+
+            // Subtract the date of the current week from the date of the
+            // first week of the year to get the number of weeks in
+            // milliseconds.  Divide by the number of milliseconds
+            // in a week then round to no decimals in order to remove
+            // the effect of daylight saving.  Add one to make the first
+            // week, week 1.  Place a string zero on the front so that
+            // week numbers are zero filled.
+
+            var scwWeekNo =
+                    '0' + (Math.round((scwInDateWeekBase -
+                                       scwFirstBaseDay) / 604800000, 0) + 1);
+
+            // Return the last two characters in the week number string
+
+            return scwWeekNo.substring(scwWeekNo.length - 2,
+                    scwWeekNo.length);
+        }
+
+        // Treewalk to display the dates.
+        // I tried to use getElementsByName but IE refused to cooperate
+        // so I resorted to this method which works for all tested
+        // browsers.
+
+        var scwCells = scwID('scwCells');
+
+        for (i = 0; i < scwCells.childNodes.length; i++)
+        {
+            var scwRows = scwCells.childNodes[i];
+            if (scwRows.nodeType == 1 && scwRows.tagName == 'TR')
+            {
+                if (scwWeekNumberDisplay)
+                {//Calculate the week number using scwShowDate
+                    scwRows.childNodes[0].innerHTML =
+                    scwWeekNumber(scwShowDate);
+                    scwRows.childNodes[0].style.display =
+                    (scwID('scwIFrame'))
+                            ? 'block'
+                            : 'table-cell';
+                }
+                else
+                {
+                    scwRows.childNodes[0].style.display = 'none';
+                }
+
+                for (j = 1; j < scwRows.childNodes.length; j++)
+                {
+                    var scwCols = scwRows.childNodes[j];
+                    if (scwCols.nodeType == 1 && scwCols.tagName == 'TD')
+                    {
+                        scwRows.childNodes[j].innerHTML =
+                        scwShowDate.getDate();
+                        var scwCell = scwRows.childNodes[j],
+                                scwDisabled =
+                                        ((scwOutOfRangeDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwBaseYear, 0, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwBaseYear +
+                                                     scwDropDownYears, 0, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                ) ||
+                                         (scwOutOfMonthDisable &&
+                                          (scwShowDate <
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth, 1,
+                                                   scwShowDate.getHours()))
+                                                  ||
+                                           scwShowDate >
+                                           (new Date(scwShowDate.getFullYear(),
+                                                   scwCurMonth + 1, 0,
+                                                   scwShowDate.getHours()))
+                                                  )
+                                                 )
+                                                ) ? true : false;
+
+                        scwCell.style.visibility =
+                        (scwOutOfMonthHide &&
+                         (scwShowDate <
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth, 1,
+                                  scwShowDate.getHours()))
+                                 ||
+                          scwShowDate >
+                          (new Date(scwShowDate.getFullYear(),
+                                  scwCurMonth + 1, 0,
+                                  scwShowDate.getHours()))
+                                 )
+                                ) ? 'hidden' : '';
+
+                        for (var k = 0; k < scwDisabledDates.length; k++)
+                        {
+                            if ((typeof scwDisabledDates[k] == 'object')
+                                    &&
+                                (scwDisabledDates[k].constructor ==
+                                 Date
+                                        )
+                                    &&
+                                scwCompareDateValue ==
+                                scwDisabledDates[k].valueOf()
+                                    )
+                            {
+                                scwDisabled = true;
+                            }
+                            else
+                            {
+                                if ((typeof scwDisabledDates[k] == 'object')
+                                        &&
+                                    (scwDisabledDates[k].constructor ==
+                                     Array
+                                            )
+                                        &&
+                                    scwCompareDateValue >=
+                                    scwDisabledDates[k][0].valueOf()
+                                        &&
+                                    scwCompareDateValue <=
+                                    scwDisabledDates[k][1].valueOf()
+                                        )
+                                {
+                                    scwDisabled = true;
+                                }
+                            }
+                        }
+
+                        if (scwDisabled ||
+                            !scwEnabledDay[j - 1 + (7 * ((i * scwCells.
+                                    childNodes.
+                                    length) / 6))] ||
+                            !scwPassEnabledDay[(j - 1 + (7 * (i * scwCells.
+                                    childNodes.
+                                    length / 6))) % 7]
+                                )
+                        {
+                            scwRows.childNodes[j].onclick = null;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover = null;
+                                scwRows.childNodes[j].onmouseout = null;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonthDisabled'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDateDisabled'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekendDisabled'
+                                    : 'scwCellsDisabled';
+                        }
+                        else
+                        {
+                            scwRows.childNodes[j].onclick = scwCellOutput;
+
+                            if (scwID('scwIFrame'))
+                            {
+                                scwRows.childNodes[j].onmouseover =
+                                scwChangeClass;
+                                scwRows.childNodes[j].onmouseout =
+                                scwChangeClass;
+                            }
+
+                            scwCell.className =
+                            (scwShowDate.getMonth() != scwCurMonth)
+                                    ? 'scwCellsExMonth'
+                                    : (scwBlnFullInputDate &&
+                                       scwShowDate.toDateString() ==
+                                       scwSeedDate.toDateString())
+                                    ? 'scwInputDate'
+                                    : (scwShowDate.getDay() % 6 == 0)
+                                    ? 'scwCellsWeekend'
+                                    : 'scwCells';
+
+                        }
+
+                        scwShowDate.setDate(scwShowDate.getDate() + 1);
+                        scwCompareDateValue = new Date(scwShowDate.getFullYear(),
+                                scwShowDate.getMonth(),
+                                scwShowDate.getDate()).valueOf();
+                    }
+                }
+            }
+        }
+    }
+    // Force a re-draw to prevent Opera's poor dynamic rendering
+    // from leaving garbage in the calendar when the displayed
+    // month is changed.
+    scwID('scw').style.visibility = 'hidden';
+    scwID('scw').style.visibility = 'visible';
+}
+
+// *************************
+//  End of Function Library
+// *************************
+// ***************************
+// Start of Calendar structure
+// ***************************
+
+document.write(
+        "<!--[if IE]>" +
+        "<iframe class='scw' src='/scwblank.html' " +
+        "id='scwIframe' name='scwIframe' " +
+        "frameborder='0'>" +
+        "</iframe>" +
+        "<![endif]-->" +
+        "<table id='scw' class='scw'>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwHead' id='scwHead' width='100%' " +
+        "cellspacing='0' cellpadding='0'>" +
+        "<tr id='scwDrag' style='display:none;'>" +
+        "<td colspan='4' class='scwDrag' " +
+        "onmousedown='scwBeginDrag(event);'>" +
+        "<div id='scwDragText'></div>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scwHead' >" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadLeft' type='button' value='<' " +
+        "onclick='scwShowMonth(-1);'  /></td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwMonths' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<select id='scwYears' class='scwHead' " +
+        "onchange='scwShowMonth(0);'>" +
+        "</select>" +
+        "</td>" +
+        "<td class='scwHead'>" +
+        "<input class='scwHead' id='scwHeadRight' type='button' value='>' " +
+        "onclick='scwShowMonth(1);' /></td>" +
+        "</tr>" +
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "<tr class='scw'>" +
+        "<td class='scw'>" +
+        "<table class='scwCells' align='center'>" +
+        "<thead>" +
+        "<tr><td class='scwWeekNumberHead' id='scwWeek_' ></td>");
+
+for (i = 0; i < 7; i++)
+    document.write("<td class='scwWeek' id='scwWeekInit" + i + "'></td>");
+
+document.write("</tr>" +
+               "</thead>" +
+               "<tbody id='scwCells' " +
+               "onClick='scwStopPropagation(event);'>");
+
+for (i = 0; i < 6; i++)
+{
+    document.write(
+            "<tr>" +
+            "<td class='scwWeekNo' id='scwWeek_" + i + "'></td>");
+    for (j = 0; j < 7; j++)
+    {
+        document.write(
+                "<td class='scwCells' id='scwCell_" + (j + (i * 7)) +
+                "'></td>");
+    }
+
+    document.write(
+            "</tr>");
+}
+
+document.write(
+        "</tbody>");
+
+if ((new Date(scwBaseYear + scwDropDownYears, 11, 32)) > scwDateNow &&
+    (new Date(scwBaseYear, 0, 0)) < scwDateNow)
+{
+    document.write(
+            "<tfoot class='scwFoot'>" +
+            "<tr class='scwFoot'>" +
+            "<td class='scwFoot' id='scwFoot' colspan='8'>" +
+            "</td>" +
+            "</tr>" +
+            "</tfoot>");
+}
+
+document.write(
+        "</table>" +
+        "</td>" +
+        "</tr>" +
+        "</table>");
+
+if (document.addEventListener)
+{
+    scwID('scw').addEventListener('click', scwCancel, false);
+    scwID('scwHeadLeft').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('click', scwStopPropagation, false);
+    scwID('scwMonths').addEventListener('change', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('click', scwStopPropagation, false);
+    scwID('scwYears').addEventListener('change', scwStopPropagation, false);
+    scwID('scwHeadRight').addEventListener('click', scwStopPropagation, false);
+}
+else {
+    scwID('scw').attachEvent('onclick', scwCancel);
+    scwID('scwHeadLeft').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onclick', scwStopPropagation);
+    scwID('scwMonths').attachEvent('onchange', scwStopPropagation);
+    scwID('scwYears').attachEvent('onclick', scwStopPropagation);
+    scwID('scwYears').attachEvent('onchange', scwStopPropagation);
+    scwID('scwHeadRight').attachEvent('onclick', scwStopPropagation);
+}
+
+// ***************************
+//  End of Calendar structure
+// ***************************
+// ****************************************
+// Start of document level event definition
+// ****************************************
+
+if (document.addEventListener)
+{
+    document.addEventListener('click', scwHide, false);
+}
+else {
+    document.attachEvent('onclick', scwHide);
+}
+
+// ****************************************
+//  End of document level event definition
+// ****************************************
+// ************************************
+//  End of Simple Calendar Widget Code
+// ************************************
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body class="mceContentBody">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+bold_desc : 'Bold (Ctrl+B)',
+italic_desc : 'Italic (Ctrl+I)',
+underline_desc : 'Underline (Ctrl+U)',
+striketrough_desc : 'Strikethrough',
+justifyleft_desc : 'Align left',
+justifycenter_desc : 'Align center',
+justifyright_desc : 'Align right',
+justifyfull_desc : 'Align full',
+bullist_desc : 'Unordered list',
+numlist_desc : 'Ordered list',
+outdent_desc : 'Outdent',
+indent_desc : 'Indent',
+undo_desc : 'Undo (Ctrl+Z)',
+redo_desc : 'Redo (Ctrl+Y)',
+link_desc : 'Insert/edit link',
+unlink_desc : 'Unlink',
+image_desc : 'Insert/edit image',
+cleanup_desc : 'Cleanup messy code',
+focus_alert : 'A editor instance must be focused before using this command.',
+edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?',
+insert_link_title : 'Insert/edit link',
+insert : 'Insert',
+update : 'Update',
+cancel : 'Cancel',
+insert_link_url : 'Link URL',
+insert_link_target : 'Target',
+insert_link_target_same : 'Open link in the same window',
+insert_link_target_blank : 'Open link in a new window',
+insert_image_title : 'Insert/edit image',
+insert_image_src : 'Image URL',
+insert_image_alt : 'Image description',
+help_desc : 'Help',
+bold_img : "bold.gif",
+italic_img : "italic.gif",
+underline_img : "underline.gif",
+clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+popup_blocked : 'Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/langs/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+Beginning with version 2.0.5 the language packs are no
+longer included with the core distribution.
+Language packs can be downloaded from the TinyMCE website:
+http://tinymce.moxiecode.com/download.php
+
+The language pack codes are based on ISO-639-1:
+http://www.loc.gov/standards/iso639-2/englangn.html
+
+Plrease try using entities if possible. Like &aring; etc for non a-z characters.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/license.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/license.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/css/advhr.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.panel_wrapper div.current {
+	height: 80px;
+}
+
+#width {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#width2 {
+	width: 50px;
+	vertical-align: middle;
+}
+
+#size {
+	width: 100px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advhr');var TinyMCE_AdvancedHRPlugin={getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"advhr":return tinyMCE.getButtonHTML(cn,'lang_insert_advhr_desc','{$pluginurl}/images/advhr.gif','mceAdvancedHr')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvancedHr":var template=new Array();template['file']='../../plugins/advhr/rule.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_advhr_delta_width',0);template['height']+=tinyMCE.getLang('lang_advhr_delta_height',0);var size="",width="",noshade="";if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="hr"){tinyMCE.hrElement=tinyMCE.selectedElement;if(tinyMCE.hrElement){size=tinyMCE.hrElement.getAttribute('size')?tinyMCE.hrElement.getAttribute('size'):"";width=tinyMCE.hrElement.getAttribute('width')?tinyMCE.hrElement.getAttribute('width'):"";noshade=tinyMCE.hrElement.getAttribute('noshade')?tinyMCE.hrElement.getAttribute('noshade'):""}tinyMCE.openWindow(template,{editor_id:editor_id,size:size,width:width,noshade:noshade,mceDo:'update'})}else{if(tinyMCE.isMSIE){tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,'<hr />')}else{tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",size:size,width:width,noshade:noshade,mceDo:'insert'})}}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="HR"){tinyMCE.switchClass(editor_id+'_advhr','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advhr','mceButtonNormal');return true}};tinyMCE.addPlugin("advhr",TinyMCE_AdvancedHRPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advhr');
+
+var TinyMCE_AdvancedHRPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced HR',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "advhr":
+				return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceAdvanceHr command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceAdvancedHr":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advhr/rule.htm'; // Relative to theme
+				template['width']  = 250;
+				template['height'] = 160;
+
+				template['width']  += tinyMCE.getLang('lang_advhr_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
+
+				var size = "", width = "", noshade = "";
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
+					tinyMCE.hrElement = tinyMCE.selectedElement;
+
+					if (tinyMCE.hrElement) {
+						size    = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
+						width   = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
+						noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
+					}
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
+				} else {
+					if (tinyMCE.isMSIE) {
+						tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
+					} else {
+						tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
+					}
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "HR") {
+				tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/images/advhr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/jscripts/rule.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,43 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	formObj.width.value  = tinyMCE.getWindowArg('width');
+	formObj.size.value   = tinyMCE.getWindowArg('size');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
+	if (tinyMCE.getWindowArg('noshade')) {
+		formObj.noshade.checked = true;
+	}
+	if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = formObj.width.value.substring(0,formObj.width.value.length-1);
+	}
+}
+
+function insertHR() {
+	var formObj = document.forms[0];
+	var width   = formObj.width.value;
+	var size    = formObj.size.value;
+	var html = '<hr';
+	if (size!='' && size!=0) {
+		html += ' size="' + size + '"';
+	}
+	if (width!='' && width!=0) {
+		html += ' width="' + width;
+		if (formObj.width2.value=='%') {
+			html += '%';
+		}
+		html += '"';
+	}
+	if (formObj.noshade.checked==true) {
+		html += ' noshade="noshade"';
+	}
+	html += ' />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insert_advhr_desc : 'Horizontale rule',
+insert_advhr_width : 'Width',
+insert_advhr_size : 'Height',
+insert_advhr_noshade : 'No shadow'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advhr/rule.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_advhr_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<link href="css/advhr.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');">
+<form onsubmit="insertHR();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<table border="0" cellpadding="4" cellspacing="0">
+                    <tr>
+                        <td><label for="width">{$lang_insert_advhr_width}</label></td>
+                        <td nowrap="nowrap">
+                            <input id="width" name="width" type="text" value="" />
+                            <select name="width2" id="width2">
+                                <option value="">px</option>
+                                <option value="%">%</option>
+                            </select>
+                        </td>
+                    </tr>
+                    <tr>
+                        <td><label for="size">{$lang_insert_advhr_size}</label></td>
+                        <td><select id="size" name="size">
+                            <option value="">Normal</option>
+                            <option value="1">1</option>
+                            <option value="2">2</option>
+                            <option value="3">3</option>
+                            <option value="4">4</option>
+                            <option value="5">5</option>
+                        </select></td>
+                    </tr>
+                    <tr>
+                        <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
+                        <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
+                    </tr>
+            </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/css/advimage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+/* CSS file for advimage plugin popup */
+
+.mceImageList {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.alignPreview {
+	border: 1px solid black;
+	width: 140px;
+	height: 140px;
+	overflow: hidden;
+	padding: 5px;
+}
+
+.checkbox {
+	border: 0;
+}
+
+.panel_wrapper div.current {
+	height: 305px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px
+	solid black;
+	width: 99%;
+	height: 150px;
+	overflow: auto;
+}
+
+#align, #classlist {
+	width: 150px;
+}
+
+#width, #height {
+	vertical-align: middle;
+	width: 50px;
+	text-align: center;
+}
+
+#vspace, #hspace, #border {
+	vertical-align: middle;
+	width: 30px;
+	text-align: center;
+}
+
+#classlist {
+	width: 180px;
+}
+
+input {
+	width: 280px;
+}
+
+#constrain, #onmousemovecheck {
+	width: auto;
+}
+
+#id, #dir, #lang, #usemap, #longdesc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advimage');var TinyMCE_AdvancedImagePlugin={getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"image":return tinyMCE.getButtonHTML(cn,'lang_image_desc','{$themeurl}/images/image.gif','mceAdvImage')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvImage":var template=new Array();template['file']='../../plugins/advimage/image.htm';template['width']=480;template['height']=380;template['width']+=tinyMCE.getLang('lang_advimage_delta_width',0);template['height']+=tinyMCE.getLang('lang_advimage_delta_height',0);var inst=tinyMCE.getInstanceById(editor_id);var elm=inst.getFocusElement();if(elm!=null&&tinyMCE.getAttrib(elm,'class').indexOf('mceItem')!=-1)return true;tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":var imgs=content.getElementsByTagName("img"),src,i;for(i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){var onmouseover=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseover'));var onmouseout=tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i],'onmouseout'));if((src=this._getImageSrc(onmouseover))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseover',"this.src='"+src+"';")}if((src=this._getImageSrc(onmouseout))!=""){if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('onmouseout',"this.src='"+src+"';")}}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_advimage','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_advimage','mceButtonNormal');return true},_getImageSrc:function(s){var sr,p=-1;if(!s)return"";if((p=s.indexOf('this.src='))!=-1){sr=s.substring(p+10);sr=sr.substring(0,sr.indexOf('\''));return sr}return""}};tinyMCE.addPlugin("advimage",TinyMCE_AdvancedImagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advimage');
+
+var TinyMCE_AdvancedImagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced image',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "image":
+				return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvImage":
+				var template = new Array();
+
+				template['file']   = '../../plugins/advimage/image.htm';
+				template['width']  = 480;
+				template['height'] = 380;
+
+				// Language specific width and height addons
+				template['width']  += tinyMCE.getLang('lang_advimage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
+
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = inst.getFocusElement();
+
+				if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
+					return true;
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var imgs = content.getElementsByTagName("img"), src, i;
+				for (i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
+					var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
+
+					if ((src = this._getImageSrc(onmouseover)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
+					}
+
+					if ((src = this._getImageSrc(onmouseout)) != "") {
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
+					}
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+				tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
+
+		return true;
+	},
+
+	/**
+	 * Returns the image src from a scripted mouse over image str.
+	 *
+	 * @param {string} s String to get real src from.
+	 * @return Image src from a scripted mouse over image str.
+	 * @type string
+	 */
+	_getImageSrc : function(s) {
+		var sr, p = -1;
+
+		if (!s)
+			return "";
+
+		if ((p = s.indexOf('this.src=')) != -1) {
+			sr = s.substring(p + 10);
+			sr = sr.substring(0, sr.indexOf('\''));
+
+			return sr;
+		}
+
+		return "";
+	}
+};
+
+tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advimage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#"> 
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+						<legend>{$lang_advimage_general}</legend>
+
+						<table class="properties">
+							<tr>
+								<td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
+								<td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
+									<tr> 
+									  <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td> 
+									  <td id="srcbrowsercontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistsrcrow">
+								<td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
+								<td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td> 
+								<td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> 
+							</tr> 
+							<tr> 
+								<td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td> 
+								<td colspan="2"><input id="title" name="title" type="text" value="" /></td> 
+							</tr>
+						</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_tab_appearance}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr> 
+							<td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td> 
+							<td><select id="align" name="align" onchange="changeAppearance();"> 
+									<option value="">{$lang_insert_image_align_default}</option> 
+									<option value="baseline">{$lang_insert_image_align_baseline}</option> 
+									<option value="top">{$lang_insert_image_align_top}</option> 
+									<option value="middle">{$lang_insert_image_align_middle}</option> 
+									<option value="bottom">{$lang_insert_image_align_bottom}</option> 
+									<option value="texttop">{$lang_insert_image_align_texttop}</option> 
+									<option value="absmiddle">{$lang_insert_image_align_absmiddle}</option> 
+									<option value="absbottom">{$lang_insert_image_align_absbottom}</option> 
+									<option value="left">{$lang_insert_image_align_left}</option> 
+									<option value="right">{$lang_insert_image_align_right}</option> 
+								</select> 
+							</td>
+							<td rowspan="6" valign="top">
+								<div class="alignPreview">
+									<img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
+									Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
+									nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
+									edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
+									erat volutpat.
+								</div>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
+							<td nowrap="nowrap">
+								<input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="changeHeight();" /> x 
+								<input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="changeWidth();" /> px
+							</td>
+						</tr>
+
+						<tr>
+							<td>&nbsp;</td>
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
+									</tr>
+								</table></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td> 
+							<td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" />
+							</td>
+						</tr>
+
+						<tr> 
+							<td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td> 
+							<td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td> 
+							<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td colspan="2">
+								 <select id="classlist" name="classlist">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td> 
+							<td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td> 
+						</tr>
+
+						<!-- <tr>
+							<td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td> 
+							<td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> 
+						</tr> -->
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advimage_swap_image}</legend>
+
+					<input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
+					<label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+							<tr>
+								<td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td> 
+								<td><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> 
+									  <td id="onmouseoversrccontainer">&nbsp;</td>
+									</tr>
+								  </table></td>
+							</tr>
+							<tr id="imagelistoverrow">
+								<td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
+								<td id="imagelistovercontainer">&nbsp;</td>
+							</tr>
+							<tr> 
+								<td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td> 
+								<td class="column2"><table border="0" cellspacing="0" cellpadding="0"> 
+									<tr> 
+									  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> 
+									  <td id="onmouseoutsrccontainer">&nbsp;</td>
+									</tr> 
+								  </table></td> 
+							</tr>
+							<tr id="imagelistoutrow">
+								<td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
+								<td id="imagelistoutcontainer">&nbsp;</td>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_advimage_misc}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" onchange="changeAppearance();"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advimage_ltr}</option> 
+										<option value="rtl">{$lang_advimage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td> 
+							<td>
+								<input id="usemap" name="usemap" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
+							<td><table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+									  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
+									  <td id="longdesccontainer">&nbsp;</td>
+									</tr>
+								</table></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
+			</div>
+		</div>
+    </form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/images/sample.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,534 @@
+/* Functions for the advimage plugin popup */
+
+var preloadImg = null;
+var orgImageWidth, orgImageHeight;
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_image_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function getImageSrc(str) {
+	var pos = -1;
+
+	if (!str)
+		return "";
+
+	if ((pos = str.indexOf('this.src=')) != -1) {
+		var src = str.substring(pos + 10);
+
+		src = src.substring(0, src.indexOf('\''));
+
+		if (tinyMCE.getParam('convert_urls'))
+			src = convertURL(src, null, true);
+
+		return src;
+	}
+
+	return "";
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html = "";
+
+	// Image list src
+	html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
+	if (html == "")
+		document.getElementById("imagelistsrcrow").style.display = 'none';
+	else
+		document.getElementById("imagelistsrccontainer").innerHTML = html;
+
+	// Image list oversrc
+	html = getImageListHTML('imagelistover','onmouseoversrc');
+	if (html == "")
+		document.getElementById("imagelistoverrow").style.display = 'none';
+	else
+		document.getElementById("imagelistovercontainer").innerHTML = html;
+
+	// Image list outsrc
+	html = getImageListHTML('imagelistout','onmouseoutsrc');
+	if (html == "")
+		document.getElementById("imagelistoutrow").style.display = 'none';
+	else
+		document.getElementById("imagelistoutcontainer").innerHTML = html;
+
+	// Src browser
+	html = getBrowserHTML('srcbrowser','src','image','advimage');
+	document.getElementById("srcbrowsercontainer").innerHTML = html;
+
+	// Over browser
+	html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
+	document.getElementById("onmouseoversrccontainer").innerHTML = html;
+
+	// Out browser
+	html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
+	document.getElementById("onmouseoutsrccontainer").innerHTML = html;
+
+	// Longdesc browser
+	html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
+	document.getElementById("longdesccontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '260px';
+
+	if (isVisible('oversrcbrowser'))
+		document.getElementById('onmouseoversrc').style.width = '260px';
+
+	if (isVisible('outsrcbrowser'))
+		document.getElementById('onmouseoutsrc').style.width = '260px';
+
+	if (isVisible('longdescbrowser'))
+		document.getElementById('longdesc').style.width = '180px';
+
+	// Check action
+	if (elm != null && elm.nodeName == "IMG")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	if (action == "update") {
+		var src = tinyMCE.getAttrib(elm, 'src');
+		var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+
+		src = convertURL(src, elm, true);
+
+		// Use mce_src if found
+		var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
+		if (mceRealSrc != "") {
+			src = mceRealSrc;
+
+			if (tinyMCE.getParam('convert_urls'))
+				src = convertURL(src, elm, true);
+		}
+
+		if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoversrc = convertURL(onmouseoversrc, elm, true);
+
+		if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
+			onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
+
+		// Setup form data
+		var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
+
+		// Store away old size
+		orgImageWidth = trimSize(getStyle(elm, 'width'))
+		orgImageHeight = trimSize(getStyle(elm, 'height'));
+
+		formObj.src.value    = src;
+		formObj.alt.value    = tinyMCE.getAttrib(elm, 'alt');
+		formObj.title.value  = tinyMCE.getAttrib(elm, 'title');
+		formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
+		formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
+		formObj.width.value  = orgImageWidth;
+		formObj.height.value = orgImageHeight;
+		formObj.onmouseoversrc.value = onmouseoversrc;
+		formObj.onmouseoutsrc.value  = onmouseoutsrc;
+		formObj.id.value  = tinyMCE.getAttrib(elm, 'id');
+		formObj.dir.value  = tinyMCE.getAttrib(elm, 'dir');
+		formObj.lang.value  = tinyMCE.getAttrib(elm, 'lang');
+		formObj.longdesc.value  = tinyMCE.getAttrib(elm, 'longdesc');
+		formObj.usemap.value  = tinyMCE.getAttrib(elm, 'usemap');
+		formObj.style.value  = tinyMCE.serializeStyle(style);
+
+		// Select by the values
+		if (tinyMCE.isMSIE)
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
+		else
+			selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
+
+		addClassesToList('classlist', 'advimage_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
+		selectByValue(formObj, 'imagelistsrc', src);
+		selectByValue(formObj, 'imagelistover', onmouseoversrc);
+		selectByValue(formObj, 'imagelistout', onmouseoutsrc);
+
+		updateStyle();
+		showPreviewImage(src, true);
+		changeAppearance();
+
+		window.focus();
+	} else
+		addClassesToList('classlist', 'advimage_styles');
+
+	// If option enabled default contrain proportions to checked
+	if (tinyMCE.getParam("advimage_constrain_proportions", true))
+		formObj.constrain.checked = true;
+
+	// Check swap image if valid data
+	if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
+		setSwapImageDisabled(false);
+	else
+		setSwapImageDisabled(true);
+}
+
+function setSwapImageDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.onmousemovecheck.checked = !state;
+
+	setBrowserDisabled('overbrowser', state);
+	setBrowserDisabled('outbrowser', state);
+
+	if (formObj.imagelistover)
+		formObj.imagelistover.disabled = state;
+
+	if (formObj.imagelistout)
+		formObj.imagelistout.disabled = state;
+
+	formObj.onmouseoversrc.disabled = state;
+	formObj.onmouseoutsrc.disabled  = state;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib, value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib == "longdesc")
+			attrib = "longDesc";
+
+		if (attrib == "width") {
+			attrib = "style.width";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "height") {
+			attrib = "style.height";
+			value = value + "px";
+			value = value.replace(/%px/g, 'px');
+		}
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var formObj = document.forms[0];
+	var src = formObj.src.value;
+	var onmouseoversrc = formObj.onmouseoversrc.value;
+	var onmouseoutsrc = formObj.onmouseoutsrc.value;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	if (tinyMCE.getParam("accessibility_warnings")) {
+		if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
+			return;
+	}
+
+	if (onmouseoversrc && onmouseoversrc != "")
+		onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
+
+	if (onmouseoutsrc && onmouseoutsrc != "")
+		onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
+
+	if (elm != null && elm.nodeName == "IMG") {
+		setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
+		setAttrib(elm, 'mce_src', src);
+		setAttrib(elm, 'alt');
+		setAttrib(elm, 'title');
+		setAttrib(elm, 'border');
+		setAttrib(elm, 'vspace');
+		setAttrib(elm, 'hspace');
+		setAttrib(elm, 'width');
+		setAttrib(elm, 'height');
+		setAttrib(elm, 'onmouseover', onmouseoversrc);
+		setAttrib(elm, 'onmouseout', onmouseoutsrc);
+		setAttrib(elm, 'id');
+		setAttrib(elm, 'dir');
+		setAttrib(elm, 'lang');
+		setAttrib(elm, 'longdesc');
+		setAttrib(elm, 'usemap');
+		setAttrib(elm, 'style');
+		setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+		setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
+
+		//tinyMCEPopup.execCommand("mceRepaint");
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
+			inst.repaint();
+
+		// Refresh in old MSIE
+		if (tinyMCE.isMSIE5)
+			elm.outerHTML = elm.outerHTML;
+	} else {
+		var html = "<img";
+
+		html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
+		html += makeAttrib('mce_src', src);
+		html += makeAttrib('alt');
+		html += makeAttrib('title');
+		html += makeAttrib('border');
+		html += makeAttrib('vspace');
+		html += makeAttrib('hspace');
+		html += makeAttrib('width');
+		html += makeAttrib('height');
+		html += makeAttrib('onmouseover', onmouseoversrc);
+		html += makeAttrib('onmouseout', onmouseoutsrc);
+		html += makeAttrib('id');
+		html += makeAttrib('dir');
+		html += makeAttrib('lang');
+		html += makeAttrib('longdesc');
+		html += makeAttrib('usemap');
+		html += makeAttrib('style');
+		html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
+		html += makeAttrib('align', getSelectValue(formObj, 'align'));
+		html += " />";
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+	}
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.close();
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function changeAppearance() {
+	var formObj = document.forms[0];
+	var img = document.getElementById('alignSampleImg');
+
+	if (img) {
+		img.align = formObj.align.value;
+		img.border = formObj.border.value;
+		img.hspace = formObj.hspace.value;
+		img.vspace = formObj.vspace.value;
+	}
+}
+
+function changeMouseMove() {
+	var formObj = document.forms[0];
+
+	setSwapImageDisabled(!formObj.onmousemovecheck.checked);
+}
+
+function updateStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (tinyMCE.getParam('inline_styles', false)) {
+		st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
+		st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
+		st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
+		st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
+		st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+		st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
+	} else {
+		st['width'] = st['height'] = st['border-width'] = null;
+
+		if (st['margin-top'] == st['margin-bottom'])
+			st['margin-top'] = st['margin-bottom'] = null;
+
+		if (st['margin-left'] == st['margin-right'])
+			st['margin-left'] = st['margin-right'] = null;
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function styleUpdated() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['width'])
+		formObj.width.value = st['width'].replace('px', '');
+
+	if (st['height'])
+		formObj.height.value = st['height'].replace('px', '');
+
+	if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
+		formObj.vspace.value = st['margin-top'].replace('px', '');
+
+	if (st['margin-left'] && st['margin-left'] == st['margin-right'])
+		formObj.hspace.value = st['margin-left'].replace('px', '');
+
+	if (st['border-width'])
+		formObj.border.value = st['border-width'].replace('px', '');
+}
+
+function changeHeight() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
+	formObj.height.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function changeWidth() {
+	var formObj = document.forms[0];
+
+	if (!formObj.constrain.checked || !preloadImg) {
+		updateStyle();
+		return;
+	}
+
+	if (formObj.width.value == "" || formObj.height.value == "")
+		return;
+
+	var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
+	formObj.width.value = temp.toFixed(0);
+	updateStyle();
+}
+
+function onSelectMainImage(target_form_element, name, value) {
+	var formObj = document.forms[0];
+
+	formObj.alt.value = name;
+	formObj.title.value = name;
+
+	resetImageData();
+	showPreviewImage(formObj.elements[target_form_element].value, false);
+}
+
+function showPreviewImage(src, start) {
+	var formObj = document.forms[0];
+
+	selectByValue(document.forms[0], 'imagelistsrc', src);
+
+	var elm = document.getElementById('prev');
+	var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+
+	if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
+		resetImageData();
+
+	if (src == "")
+		elm.innerHTML = "";
+	else
+		elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData();" onerror="resetImageData();" />'
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	preloadImg = document.getElementById('previewImg');
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+
+	updateStyle();
+}
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getImageListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCEImageList.length; i++)
+		html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+// UK lang variables
+
+tinyMCE.addToLang('advimage',{
+tab_general : 'General',
+tab_appearance : 'Appearance',
+tab_advanced : 'Advanced',
+general : 'General',
+title : 'Title',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+langdir : 'Language direction',
+langcode : 'Language code',
+long_desc : 'Long description link',
+style : 'Style',
+classes : 'Classes',
+ltr : 'Left to right',
+rtl : 'Right to left',
+id : 'Id',
+image_map : 'Image map',
+swap_image : 'Swap image',
+alt_image : 'Alternative image',
+mouseover : 'for mouse over',
+mouseout : 'for mouse out',
+misc : 'Miscellaneous',
+example_img : 'Appearance&nbsp;preview&nbsp;image',
+missing_alt : 'Are you sure you want to continue without including an Image Description? Without  it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advimage/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/css/advlink.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+/* CSS file for advimage plugin popup */
+
+.mceLinkList, .mceAnchorList, #targetlist {
+	width: 280px;
+}
+
+.mceActionPanel {
+	margin-top: 7px;
+}
+
+.panel_wrapper div.current {
+	height: 320px;
+}
+
+#classlist, #title, #href {
+	width: 280px;
+}
+
+#popupurl, #popupname {
+	width: 200px;
+}
+
+#popupwidth, #popupheight, #popupleft, #popuptop {
+	width: 30px;
+	vertical-align: middle;
+	text-align: center;
+}
+
+#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('advlink');var TinyMCE_AdvancedLinkPlugin={getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','k','lang_advlink_desc','mceAdvLink')},getControlHTML:function(cn){switch(cn){case"link":return tinyMCE.getButtonHTML(cn,'lang_link_desc','{$themeurl}/images/link.gif','mceAdvLink')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceAdvLink":var anySelection=false;var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var selectedText=inst.selection.getSelectedText();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(selectedText&&selectedText.length>0);if(anySelection||(focusElm!=null&&focusElm.nodeName=="A")){var template=new Array();template['file']='../../plugins/advlink/link.htm';template['width']=480;template['height']=400;template['width']+=tinyMCE.getLang('lang_advlink_delta_width',0);template['height']+=tinyMCE.getLang('lang_advlink_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"})}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="A"&&tinyMCE.getAttrib(node,'href')!=""){tinyMCE.switchClass(editor_id+'_advlink','mceButtonSelected');return true}}while((node=node.parentNode));if(any_selection){tinyMCE.switchClass(editor_id+'_advlink','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_advlink','mceButtonDisabled');return true}};tinyMCE.addPlugin("advlink",TinyMCE_AdvancedLinkPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('advlink');
+
+var TinyMCE_AdvancedLinkPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Advanced link',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "link":
+				return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case "mceAdvLink":
+				var anySelection = false;
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+				var selectedText = inst.selection.getSelectedText();
+
+				if (tinyMCE.selectedElement)
+					anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
+
+				if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
+					var template = new Array();
+
+					template['file']   = '../../plugins/advlink/link.htm';
+					template['width']  = 480;
+					template['height'] = 400;
+
+					// Language specific width and height addons
+					template['width']  += tinyMCE.getLang('lang_advlink_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
+				tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		if (any_selection) {
+			tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,568 @@
+/* Functions for the advlink plugin popup */
+
+var templates = {
+	"window.open" : "window.open('${url}','${target}','${options}')"
+};
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+
+	// Import external list url javascript
+	var url = tinyMCE.getParam("external_link_list_url");
+	if (url != null) {
+		// Fix relative
+		if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+			url = tinyMCE.documentBasePath + "/" + url;
+
+		document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+	}
+}
+
+function changeClass() {
+	var formObj = document.forms[0];
+	formObj.classes.value = getSelectValue(formObj, 'classlist');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+	var action = "insert";
+	var html;
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink');
+	document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink');
+	document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href');
+	document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href');
+	document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target');
+
+	// Link list
+	html = getLinkListHTML('linklisthref','href');
+	if (html == "")
+		document.getElementById("linklisthrefrow").style.display = 'none';
+	else
+		document.getElementById("linklisthrefcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '260px';
+
+	if (isVisible('popupurlbrowser'))
+		document.getElementById('popupurl').style.width = '180px';
+
+	elm = tinyMCE.getParentElement(elm, "a");
+	if (elm != null && elm.nodeName == "A")
+		action = "update";
+
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	setPopupControlsDisabled(true);
+
+	if (action == "update") {
+		var href = tinyMCE.getAttrib(elm, 'href');
+
+		href = convertURL(href, elm, true);
+
+		// Use mce_href if found
+		var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
+		if (mceRealHref != "") {
+			href = mceRealHref;
+
+			if (tinyMCE.getParam('convert_urls'))
+				href = convertURL(href, elm, true);
+		}
+
+		var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+		// Setup form data
+		setFormValue('href', href);
+		setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+		setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+		setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+		setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
+		setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
+		setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
+		setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
+		setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+		setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+		setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+		setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+		setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
+		setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+		setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+		setFormValue('onclick', onclick);
+		setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+		setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+		setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+		setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+		setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+		setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+		setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+		setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+		setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+		setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
+		setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
+
+		// Parse onclick data
+		if (onclick != null && onclick.indexOf('window.open') != -1)
+			parseWindowOpen(onclick);
+		else
+			parseFunction(onclick);
+
+		// Select by the values
+		selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+		selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
+		selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
+		selectByValue(formObj, 'linklisthref', href);
+
+		if (href.charAt(0) == '#')
+			selectByValue(formObj, 'anchorlist', href);
+
+		addClassesToList('classlist', 'advlink_styles');
+
+		selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
+		selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
+	} else
+		addClassesToList('classlist', 'advlink_styles');
+
+	window.focus();
+}
+
+function setFormValue(name, value) {
+	document.forms[0].elements[name].value = value;
+}
+
+function convertURL(url, node, on_save) {
+	return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
+}
+
+function parseWindowOpen(onclick) {
+	var formObj = document.forms[0];
+
+	// Preprocess center code
+	if (onclick.indexOf('return false;') != -1) {
+		formObj.popupreturn.checked = true;
+		onclick = onclick.replace('return false;', '');
+	} else
+		formObj.popupreturn.checked = false;
+
+	var onClickData = parseLink(onclick);
+
+	if (onClickData != null) {
+		formObj.ispopup.checked = true;
+		setPopupControlsDisabled(false);
+
+		var onClickWindowOptions = parseOptions(onClickData['options']);
+		var url = onClickData['url'];
+
+		if (tinyMCE.getParam('convert_urls'))
+			url = convertURL(url, null, true);
+
+		formObj.popupname.value = onClickData['target'];
+		formObj.popupurl.value = url;
+		formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
+		formObj.popupheight.value = getOption(onClickWindowOptions, 'height');
+
+		formObj.popupleft.value = getOption(onClickWindowOptions, 'left');
+		formObj.popuptop.value = getOption(onClickWindowOptions, 'top');
+
+		if (formObj.popupleft.value.indexOf('screen') != -1)
+			formObj.popupleft.value = "c";
+
+		if (formObj.popuptop.value.indexOf('screen') != -1)
+			formObj.popuptop.value = "c";
+
+		formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes";
+		formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes";
+		formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes";
+		formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes";
+		formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes";
+		formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes";
+		formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes";
+
+		buildOnClick();
+	}
+}
+
+function parseFunction(onclick) {
+	var formObj = document.forms[0];
+	var onClickData = parseLink(onclick);
+
+	// TODO: Add stuff here
+}
+
+function getOption(opts, name) {
+	return typeof(opts[name]) == "undefined" ? "" : opts[name];
+}
+
+function setPopupControlsDisabled(state) {
+	var formObj = document.forms[0];
+
+	formObj.popupname.disabled = state;
+	formObj.popupurl.disabled = state;
+	formObj.popupwidth.disabled = state;
+	formObj.popupheight.disabled = state;
+	formObj.popupleft.disabled = state;
+	formObj.popuptop.disabled = state;
+	formObj.popuplocation.disabled = state;
+	formObj.popupscrollbars.disabled = state;
+	formObj.popupmenubar.disabled = state;
+	formObj.popupresizable.disabled = state;
+	formObj.popuptoolbar.disabled = state;
+	formObj.popupstatus.disabled = state;
+	formObj.popupreturn.disabled = state;
+	formObj.popupdependent.disabled = state;
+
+	setBrowserDisabled('popupurlbrowser', state);
+}
+
+function parseLink(link) {
+	link = link.replace(new RegExp('&#39;', 'g'), "'");
+
+	var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1");
+
+	// Is function name a template function
+	var template = templates[fnName];
+	if (template) {
+		// Build regexp
+		var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi"));
+		var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\(";
+		var replaceStr = "";
+		for (var i=0; i<variableNames.length; i++) {
+			// Is string value
+			if (variableNames[i].indexOf("'${") != -1)
+				regExp += "'(.*)'";
+			else // Number value
+				regExp += "([0-9]*)";
+
+			replaceStr += "$" + (i+1);
+
+			// Cleanup variable name
+			variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), "");
+
+			if (i != variableNames.length-1) {
+				regExp += "\\s*,\\s*";
+				replaceStr += "<delim>";
+			} else
+				regExp += ".*";
+		}
+
+		regExp += "\\);?";
+
+		// Build variable array
+		var variables = new Array();
+		variables["_function"] = fnName;
+		var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>');
+		for (var i=0; i<variableNames.length; i++)
+			variables[variableNames[i]] = variableValues[i];
+
+		return variables;
+	}
+
+	return null;
+}
+
+function parseOptions(opts) {
+	if (opts == null || opts == "")
+		return new Array();
+
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+}
+
+function buildOnClick() {
+	var formObj = document.forms[0];
+
+	if (!formObj.ispopup.checked) {
+		formObj.onclick.value = "";
+		return;
+	}
+
+	var onclick = "window.open('";
+	var url = formObj.popupurl.value;
+
+	if (tinyMCE.getParam('convert_urls'))
+		url = convertURL(url, null, true);
+
+	onclick += url + "','";
+	onclick += formObj.popupname.value + "','";
+
+	if (formObj.popuplocation.checked)
+		onclick += "location=yes,";
+
+	if (formObj.popupscrollbars.checked)
+		onclick += "scrollbars=yes,";
+
+	if (formObj.popupmenubar.checked)
+		onclick += "menubar=yes,";
+
+	if (formObj.popupresizable.checked)
+		onclick += "resizable=yes,";
+
+	if (formObj.popuptoolbar.checked)
+		onclick += "toolbar=yes,";
+
+	if (formObj.popupstatus.checked)
+		onclick += "status=yes,";
+
+	if (formObj.popupdependent.checked)
+		onclick += "dependent=yes,";
+
+	if (formObj.popupwidth.value != "")
+		onclick += "width=" + formObj.popupwidth.value + ",";
+
+	if (formObj.popupheight.value != "")
+		onclick += "height=" + formObj.popupheight.value + ",";
+
+	if (formObj.popupleft.value != "") {
+		if (formObj.popupleft.value != "c")
+			onclick += "left=" + formObj.popupleft.value + ",";
+		else
+			onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',";
+	}
+
+	if (formObj.popuptop.value != "") {
+		if (formObj.popuptop.value != "c")
+			onclick += "top=" + formObj.popuptop.value + ",";
+		else
+			onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',";
+	}
+
+	if (onclick.charAt(onclick.length-1) == ',')
+		onclick = onclick.substring(0, onclick.length-1);
+
+	onclick += "');";
+
+	if (formObj.popupreturn.checked)
+		onclick += "return false;";
+
+	// tinyMCE.debug(onclick);
+
+	formObj.onclick.value = onclick;
+
+	if (formObj.href.value == "")
+		formObj.href.value = url;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		elm.setAttribute(attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function getAnchorListHTML(id, target) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var nodes = inst.getBody().getElementsByTagName("a");
+
+	var html = "";
+
+	html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+	html += '<option value="">---</option>';
+
+	for (var i=0; i<nodes.length; i++) {
+		if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
+			html += '<option value="#' + name + '">' + name + '</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	elm = tinyMCE.getParentElement(elm, "a");
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	// Create new anchor elements
+	if (elm == null) {
+		if (tinyMCE.isSafari)
+			tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
+		else
+			tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
+
+		var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
+		for (var i=0; i<elementArray.length; i++) {
+			var elm = elementArray[i];
+
+			// Move cursor behind the new anchor
+			if (tinyMCE.isGecko) {
+				var sp = inst.getDoc().createTextNode(" ");
+
+				if (elm.nextSibling)
+					elm.parentNode.insertBefore(sp, elm.nextSibling);
+				else
+					elm.parentNode.appendChild(sp);
+
+				// Set range after link
+				var rng = inst.getDoc().createRange();
+				rng.setStartAfter(elm);
+				rng.setEndAfter(elm);
+
+				// Update selection
+				var sel = inst.getSel();
+				sel.removeAllRanges();
+				sel.addRange(rng);
+			}
+
+			setAllAttribs(elm);
+		}
+	} else
+		setAllAttribs(elm);
+
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAllAttribs(elm) {
+	var formObj = document.forms[0];
+	var href = formObj.href.value;
+	var target = getSelectValue(formObj, 'targetlist');
+
+	// Make anchors absolute
+	if (href.charAt(0) != '#')
+		href = convertURL(href, elm);
+
+	setAttrib(elm, 'href', href);
+	setAttrib(elm, 'mce_href', href);
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'target', target == '_self' ? '' : target);
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
+	setAttrib(elm, 'rel');
+	setAttrib(elm, 'rev');
+	setAttrib(elm, 'charset');
+	setAttrib(elm, 'hreflang');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'type');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function getLinkListHTML(elm_id, target_form_element, onchange_func) {
+	if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0)
+		return "";
+
+	var html = "";
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '"';
+	html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;';
+
+	if (typeof(onchange_func) != "undefined")
+		html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
+
+	html += '"><option value="">---</option>';
+
+	for (var i=0; i<tinyMCELinkList.length; i++)
+		html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+	html += '</select>';
+
+	return html;
+
+	// tinyMCE.debug('-- image list start --', html, '-- image list end --');
+}
+
+function getTargetListHTML(elm_id, target_form_element) {
+	var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+	var html = '';
+
+	html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
+	html += 'this.options[this.selectedIndex].value;">';
+
+	html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
+	html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
+	html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
+	html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
+
+	for (var i=0; i<targets.length; i++) {
+		var key, value;
+
+		if (targets[i] == "")
+			continue;
+
+		key = targets[i].split('=')[0];
+		value = targets[i].split('=')[1];
+
+		html += '<option value="' + key + '">' + value + ' (' + key + ')</option>';
+	}
+
+	html += '</select>';
+
+	return html;
+}
+
+// While loading
+preinit();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+// UK lang variables
+
+tinyMCE.addToLang('advlink',{
+general_tab : 'General',
+popup_tab : 'Popup',
+events_tab : 'Events',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+popup_props : 'Popup properties',
+event_props : 'Events',
+advanced_props : 'Advanced properties',
+popup_opts : 'Options',
+anchor_names : 'Anchors',
+target_same : 'Open in this window / frame',
+target_parent : 'Open in parent window / frame',
+target_top : 'Open in top frame (replaces all frames)',
+target_blank : 'Open in new window',
+popup : 'Javascript popup',
+popup_url : 'Popup URL',
+popup_name : 'Window name',
+popup_return : 'Insert \'return false\'',
+popup_scrollbars : 'Show scrollbars',
+popup_statusbar : 'Show status bar',
+popup_toolbar : 'Show toolbars',
+popup_menubar : 'Show menu bar',
+popup_location : 'Show location bar',
+popup_resizable : 'Make window resizable',
+popup_dependent : 'Dependent (Mozilla/Firefox only)',
+popup_size : 'Size',
+popup_position : 'Position (X/Y)',
+id : 'Id',
+style: 'Style',
+classes : 'Classes',
+target_name : 'Target name',
+langdir : 'Language direction',
+target_langcode : 'Target language',
+langcode : 'Language code',
+encoding : 'Target character encoding',
+mime : 'Target MIME type',
+rel : 'Relationship page to target',
+rev : 'Relationship target to page',
+tabindex : 'Tabindex',
+accesskey : 'Accesskey',
+ltr : 'Left to right',
+rtl : 'Right to left'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,337 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<link href="css/advlink.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
+				<li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
+				<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_advlink_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+						  <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
+						  <td><table border="0" cellspacing="0" cellpadding="0">
+								<tr>
+								  <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
+								  <td id="hrefbrowsercontainer">&nbsp;</td>
+								</tr>
+							  </table></td>
+						</tr>
+						<tr id="linklisthrefrow">
+							<td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
+							<td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
+							<td colspan="2" id="anchorlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
+							<td id="targetlistcontainer">&nbsp;</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
+							<td><input id="title" name="title" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+							<td>
+								 <select id="classlist" name="classlist" onchange="changeClass();">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="popup_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_advlink_popup_props}</legend>
+
+					<input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
+					<label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
+							<td>
+								<table border="0" cellspacing="0" cellpadding="0">
+									<tr>
+										<td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td>
+										<td id="popupurlbrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
+							<td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
+								<input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
+							<td nowrap="nowrap">
+								<input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /                                
+								<input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
+							</td>
+						</tr>
+					</table>
+
+					<fieldset>
+						<legend>{$lang_advlink_popup_opts}</legend>
+
+						<table border="0" cellpadding="0" cellspacing="4">
+							<tr>
+								<td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
+								<td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
+								<td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
+								<td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
+							</tr>
+							<tr>
+								<td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
+								<td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
+								<td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
+								<td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
+							</tr>
+						</table>
+					</fieldset>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
+							<td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
+							<td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_advlink_ltr}</option> 
+										<option value="rtl">{$lang_advlink_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
+							<td><input type="text" id="hreflang" name="hreflang" value="" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
+							<td><input type="text" id="charset" name="charset" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
+							<td><input type="text" id="type" name="type" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
+							<td><select id="rel" name="rel"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="lightbox">Lightbox</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option>
+									<option value="nofollow">No Follow</option>
+									<option value="tag">Tag</option>
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
+							<td><select id="rev" name="rev"> 
+									<option value="">{$lang_not_set}</option> 
+									<option value="alternate">Alternate</option> 
+									<option value="designates">Designates</option> 
+									<option value="stylesheet">Stylesheet</option> 
+									<option value="start">Start</option> 
+									<option value="next">Next</option> 
+									<option value="prev">Prev</option> 
+									<option value="contents">Contents</option> 
+									<option value="index">Index</option> 
+									<option value="glossary">Glossary</option> 
+									<option value="copyright">Copyright</option> 
+									<option value="chapter">Chapter</option> 
+									<option value="subsection">Subsection</option> 
+									<option value="appendix">Appendix</option> 
+									<option value="help">Help</option> 
+									<option value="bookmark">Bookmark</option> 
+								</select> 
+							</td>
+						</tr>
+
+						<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="events_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_advlink_event_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="onfocus">onfocus</label></td> 
+							<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onblur">onblur</label></td> 
+							<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onclick">onclick</label></td> 
+							<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="ondblclick">ondblclick</label></td> 
+							<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousedown">onmousedown</label></td> 
+							<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseup">onmouseup</label></td> 
+							<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseover">onmouseover</label></td> 
+							<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmousemove">onmousemove</label></td> 
+							<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onmouseout">onmouseout</label></td> 
+							<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeypress">onkeypress</label></td> 
+							<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeydown">onkeydown</label></td> 
+							<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="onkeyup">onkeyup</label></td> 
+							<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/advlink/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('autosave');var TinyMCE_AutoSavePlugin={getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},_beforeUnloadHandler:function(){var n,inst,anyDirty=false,msg=tinyMCE.getLang("lang_autosave_unload_msg");if(tinyMCE.getParam("fullscreen_is_enabled"))return;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(inst.isDirty())return msg}return}};window.onbeforeunload=TinyMCE_AutoSavePlugin._beforeUnloadHandler;tinyMCE.addPlugin("autosave",TinyMCE_AutoSavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('autosave');
+
+var TinyMCE_AutoSavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Auto save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	// Private plugin internal methods
+
+	_beforeUnloadHandler : function() {
+		var n, inst, anyDirty = false, msg = tinyMCE.getLang("lang_autosave_unload_msg");
+
+		if (tinyMCE.getParam("fullscreen_is_enabled"))
+			return;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			if (inst.isDirty())
+				return msg;
+		}
+
+		return;
+	}
+};
+
+window.onbeforeunload = TinyMCE_AutoSavePlugin._beforeUnloadHandler;
+
+tinyMCE.addPlugin("autosave", TinyMCE_AutoSavePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('',{
+autosave_unload_msg : 'The changes you made will be lost if you navigate away from this page.'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/autosave/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_BBCodePlugin={getInfo:function(){return{longname:'BBCode Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},cleanup:function(type,content){var dialect=tinyMCE.getParam('bbcode_dialect','punbb').toLowerCase();switch(type){case"insert_to_editor":content=this['_'+dialect+'_bbcode2html'](content);break;case"get_from_editor":content=this['_'+dialect+'_html2bbcode'](content);break}return content},_punbb_html2bbcode:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/<font>(.*?)<\/font>/gi,"$1");rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/<u>/gi,"[u]");rep(/<br \/>/gi,"\n");rep(/<br\/>/gi,"\n");rep(/<br>/gi,"\n");rep(/<p>/gi,"");rep(/<\/p>/gi,"\n");rep(/&nbsp;/gi," ");rep(/&quot;/gi,"\"");rep(/&lt;/gi,"<");rep(/&gt;/gi,">");rep(/&amp;/gi,"&");rep(/&undefined;/gi,"'");return s},_punbb_bbcode2html:function(s){s=tinyMCE.trim(s);function rep(re,str){s=s.replace(re,str)};rep(/\n/gi,"<br />");rep(/\[b\]/gi,"<strong>");rep(/\[\/b\]/gi,"</strong>");rep(/\[i\]/gi,"<em>");rep(/\[\/i\]/gi,"</em>");rep(/\[u\]/gi,"<u>");rep(/\[\/u\]/gi,"</u>");rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");return s}};tinyMCE.addPlugin("bbcode",TinyMCE_BBCodePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,102 @@
+var TinyMCE_BBCodePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'BBCode Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	cleanup : function(type, content) {
+		var dialect = tinyMCE.getParam('bbcode_dialect', 'punbb').toLowerCase();
+
+		switch (type) {
+			case "insert_to_editor":
+				content = this['_' + dialect + '_bbcode2html'](content);
+				break;
+
+			case "get_from_editor":
+				content = this['_' + dialect + '_html2bbcode'](content);
+				break;
+		}
+
+		return content;
+	},
+
+	// Private methods
+
+	// HTML -> BBCode in PunBB dialect
+	_punbb_html2bbcode : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: <strong> to [b]
+		rep(/<a href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url]$1[/url]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");
+		rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");
+		rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");
+		rep(/<font>(.*?)<\/font>/gi,"$1");
+		rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");
+		rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");
+		rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");
+		rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");
+		rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");
+		rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");
+		rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");
+		rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");
+		rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");
+		rep(/<\/(strong|b)>/gi,"[/b]");
+		rep(/<(strong|b)>/gi,"[b]");
+		rep(/<\/(em|i)>/gi,"[/i]");
+		rep(/<(em|i)>/gi,"[i]");
+		rep(/<\/u>/gi,"[/u]");
+		rep(/<u>/gi,"[u]");
+		rep(/<br \/>/gi,"\n");
+		rep(/<br\/>/gi,"\n");
+		rep(/<br>/gi,"\n");
+		rep(/<p>/gi,"");
+		rep(/<\/p>/gi,"\n");
+		rep(/&nbsp;/gi," ");
+		rep(/&quot;/gi,"\"");
+		rep(/&lt;/gi,"<");
+		rep(/&gt;/gi,">");
+		rep(/&amp;/gi,"&");
+		rep(/&undefined;/gi,"'"); // quickfix
+
+		return s; 
+	},
+
+	// BBCode -> HTML from PunBB dialect
+	_punbb_bbcode2html : function(s) {
+		s = tinyMCE.trim(s);
+
+		function rep(re, str) {
+			s = s.replace(re, str);
+		};
+
+		// example: [b] to <strong>
+		rep(/\n/gi,"<br />");
+		rep(/\[b\]/gi,"<strong>");
+		rep(/\[\/b\]/gi,"</strong>");
+		rep(/\[i\]/gi,"<em>");
+		rep(/\[\/i\]/gi,"</em>");
+		rep(/\[u\]/gi,"<u>");
+		rep(/\[\/u\]/gi,"</u>");
+		rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
+		rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />");
+		rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>");
+		rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span>&nbsp;");
+		rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span>&nbsp;");
+
+		return s; 
+	}
+};
+
+tinyMCE.addPlugin("bbcode", TinyMCE_BBCodePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin.js
===================================================================

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Dummy file since cleanup is now moved to core */

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/cleanup/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Dummy plugin since cleanup is now moved into core.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/css/contextmenu.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+.contextMenuIEPopup {
+	padding: 0;
+	margin: 0;
+	border: 0;
+	overflow: hidden;
+}
+
+.contextMenu {
+	position: absolute;
+	cursor: default;
+	z-index: 1000;
+	border: 1px solid #D4D0C8;
+	background-color: #FFFFFF;
+}
+
+.contextMenuItem, .contextMenuItemOver {
+}
+
+.contextMenuSeparator {
+	width: 100%;
+	background-color: #D4D0C8;
+	border: 0;
+}
+
+.contextMenuImage, .contextMenuItemDisabled {
+	border: 0;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemOver .contextMenuIcon {
+	background-color: #B6BDD2;
+}
+
+.contextMenuIcon {
+	background-color: #F0F0EE;
+}
+
+.contextMenuItemDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+}
+
+.contextMenuText {
+	font-family: Tahoma, Verdana, Arial, Helvetica;
+	font-size: 11px;
+	line-height: 20px;
+}
+
+.contextMenuItemDisabled {
+	color: #AAAAAA;
+}
+
+.contextMenuText a {
+	display: block;
+	line-height: 20px;
+	width: 100%;
+	text-decoration: none;
+	color: black;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}
+
+.contextMenuText a:hover {
+	background-color: #B6BDD2;
+	text-decoration: none !important;
+	font-weight: normal;
+	margin: 0;
+	padding: 0;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+if(!tinyMCE.settings['contextmenu_skip_plugin_css']){tinyMCE.loadCSS(tinyMCE.baseURL+"/plugins/contextmenu/css/contextmenu.css")}var TinyMCE_ContextMenuPlugin={_contextMenu:null,getInfo:function(){return{longname:'Context menus',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE5_0&&tinyMCE.isOpera)return;TinyMCE_ContextMenuPlugin._contextMenu=new TinyMCE_ContextMenu({commandhandler:"TinyMCE_ContextMenuPlugin._commandHandler",spacer_image:tinyMCE.baseURL+"/plugins/contextmenu/images/spacer.gif"});tinyMCE.addEvent(inst.getDoc(),"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(inst.getDoc(),"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"click",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keypress",TinyMCE_ContextMenuPlugin._hideContextMenu);tinyMCE.addEvent(document,"keydown",TinyMCE_ContextMenuPlugin._hideContextMenu);if(tinyMCE.isGecko){tinyMCE.addEvent(inst.getDoc(),"contextmenu",function(e){TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?inst.contentWindow.event:e,inst)})}else tinyMCE.addEvent(inst.getDoc(),"contextmenu",TinyMCE_ContextMenuPlugin._onContextMenu)},_onContextMenu:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var targetInst,body;if((body=tinyMCE.getParentElement(elm,"body"))!=null){for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;if(body==inst.getBody()){targetInst=inst;break}}return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE?targetInst.contentWindow.event:e,targetInst)}},_showContextMenu:function(e,inst){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}var x,y,elm,contextMenu;var pos=tinyMCE.getAbsPosition(inst.iframeElement);x=tinyMCE.isMSIE?e.screenX:pos.absLeft+(e.pageX-inst.getBody().scrollLeft);y=tinyMCE.isMSIE?e.screenY:pos.absTop+(e.pageY-inst.getBody().scrollTop);elm=tinyMCE.isMSIE?e.srcElement:e.target;contextMenu=this._contextMenu;contextMenu.inst=inst;window.setTimeout(function(){var theme=tinyMCE.getParam("theme");contextMenu.clearAll();var sel=inst.selection.getSelectedText().length!=0||elm.nodeName=="IMG";contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_cut_desc","Cut","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_copy_desc","Copy","",!sel);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_paste_desc","Paste","",false);if(sel||(elm?(elm.nodeName=='A'&&tinyMCE.getAttrib(elm,'name')=='')||(elm.nodeName=='IMG'):false)){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/link.gif","$lang_link_desc",inst.hasPlugin("advlink")?"mceAdvLink":"mceLink");contextMenu.addItem(tinyMCE.baseURL+"/themes/advanced/images/unlink.gif","$lang_unlink_desc","unlink","",(elm?(elm.nodeName!='A')&&(elm.nodeName!='IMG'):true))}elm=tinyMCE.getParentElement(elm,"img,table,td"+(inst.hasPlugin("advhr")?',hr':''));if(elm){switch(elm.nodeName){case"IMG":contextMenu.addSeparator();if(tinyMCE.hasPlugin('flash')&&tinyMCE.getAttrib(elm,'class').indexOf('mceItemFlash')!=-1)contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_flash_props","mceFlash");else if(tinyMCE.hasPlugin('media')&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm,'class')))contextMenu.addItem(tinyMCE.baseURL+"/plugins/flash/images/flash.gif","$lang_media_title","mceMedia");else contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/image.gif","$lang_image_props_desc",inst.hasPlugin("advimage")?"mceAdvImage":"mceImage");break;case"HR":contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/advhr/images/advhr.gif","$lang_insert_advhr_desc","mceAdvancedHr");break;case"TABLE":case"TD":if(inst.hasPlugin("table")){var colspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"colspan");var rowspan=(elm.nodeName=="TABLE")?"":getAttrib(elm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/cut.gif","$lang_table_cut_row_desc","mceTableCutRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/copy.gif","$lang_table_copy_row_desc","mceTableCopyRow");contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_before_desc","mceTablePasteRowBefore","",inst.tableRowClipboard==null);contextMenu.addItem(tinyMCE.baseURL+"/themes/"+theme+"/images/paste.gif","$lang_table_paste_row_after_desc","mceTablePasteRowAfter","",inst.tableRowClipboard==null);contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_props_desc","mceInsertTable");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_cell_props.gif","$lang_table_cell_desc","mceTableCellProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete.gif","$lang_table_del","mceTableDelete");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_row_props.gif","$lang_table_row_desc","mceTableRowProps");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_before.gif","$lang_table_row_before_desc","mceTableInsertRowBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_row_after.gif","$lang_table_row_after_desc","mceTableInsertRowAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_row.gif","$lang_table_delete_row_desc","mceTableDeleteRow");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_before.gif","$lang_table_col_before_desc","mceTableInsertColBefore");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_insert_col_after.gif","$lang_table_col_after_desc","mceTableInsertColAfter");contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_delete_col.gif","$lang_table_delete_col_desc","mceTableDeleteCol");contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_split_cells.gif","$lang_table_split_cells_desc","mceTableSplitCells","",(colspan=="1"&&rowspan=="1"));contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table_merge_cells.gif","$lang_table_merge_cells_desc","mceTableMergeCells","",false)}break}}else{if(inst.hasPlugin("table")){contextMenu.addSeparator();contextMenu.addItem(tinyMCE.baseURL+"/plugins/table/images/table.gif","$lang_table_desc","mceInsertTable","insert")}}contextMenu.show(x,y)},10);tinyMCE.cancelEvent(e);return false},_hideContextMenu:function(){if(TinyMCE_ContextMenuPlugin._contextMenu)TinyMCE_ContextMenuPlugin._contextMenu.hide()},_commandHandler:function(command,value){var cm=TinyMCE_ContextMenuPlugin._contextMenu;cm.hide();var ui=false;if(command=="mceInsertTable"||command=="mceTableCellProps"||command=="mceTableRowProps"||command=="mceTableMergeCells")ui=true;if(command=="Paste")value=null;if(tinyMCE.getParam("dialog_type")=="modal"&&tinyMCE.isMSIE){window.setTimeout(function(){cm.inst.execCommand(command,ui,value)},100)}else cm.inst.execCommand(command,ui,value)}};tinyMCE.addPlugin("contextmenu",TinyMCE_ContextMenuPlugin);function TinyMCE_ContextMenu(settings){var doc,self=this;function defParam(key,def_val){settings[key]=typeof(settings[key])!="undefined"?settings[key]:def_val}this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.contextMenuDiv=document.createElement("div");this.contextMenuDiv.className="contextMenu";this.contextMenuDiv.setAttribute("class","contextMenu");this.contextMenuDiv.style.display="none";this.contextMenuDiv.style.position='absolute';this.contextMenuDiv.style.zindex=1000;this.contextMenuDiv.style.left='0';this.contextMenuDiv.style.top='0';this.contextMenuDiv.unselectable="on";document.body.appendChild(this.contextMenuDiv);defParam("commandhandler","");defParam("spacer_image","images/spacer.gif");this.items=new Array();this.settings=settings;this.html="";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop=window.createPopup();doc=this.pop.document;doc.open();doc.write('<html><head><link href="'+tinyMCE.baseURL+'/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');doc.close()}};TinyMCE_ContextMenu.prototype={clearAll:function(){this.html="";this.contextMenuDiv.innerHTML=""},addSeparator:function(){this.html+='<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="'+this.settings['spacer_image']+'" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="'+this.settings['spacer_image']+'" /></td></tr>'},addItem:function(icon,title,command,value,disabled){if(title.charAt(0)=='$')title=tinyMCE.getLang(title.substring(1));var onMouseDown='';var html='';if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0)onMouseDown='contextMenu.execCommand(\''+command+'\', \''+value+'\');return false;';else onMouseDown=this.settings['commandhandler']+'(\''+command+'\', \''+value+'\');return false;';if(icon=="")icon=this.settings['spacer_image'];if(!disabled)html+='<tr class="contextMenuItem">';else html+='<tr class="contextMenuItemDisabled">';html+='<td class="contextMenuIcon"><img src="'+icon+'" width="20" height="20" class="contextMenuImage" /></td>';html+='<td><div class="contextMenuText">';html+='<a href="javascript:void(0);" onclick="'+onMouseDown+'" onmousedown="return false;">&#160;';html+=title;html+='&#160;</a>';html+='</div></td>';html+='</tr>';this.html+=html},show:function(x,y){var vp,width,height,yo;if(this.html=="")return;var html='';html+='<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';html+=this.html;html+='</table>';this.contextMenuDiv.innerHTML=html;this.contextMenuDiv.style.display="block";width=this.contextMenuDiv.offsetWidth;height=this.contextMenuDiv.offsetHeight;this.contextMenuDiv.style.display="none";if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera){this.pop.document.body.innerHTML='<div class="contextMenu">'+html+"</div>";this.pop.document.tinyMCE=tinyMCE;this.pop.document.contextMenu=this;this.pop.show(x,y,width,height)}else{vp=this.getViewPort();yo=tinyMCE.isMSIE5_0?document.body.scrollTop:self.pageYOffset;this.contextMenuDiv.style.left=(x>vp.left+vp.width-width?vp.left+vp.width-width:x)+'px';this.contextMenuDiv.style.top=(y>vp.top+vp.height-height?vp.top+vp.height-height:y)+'px';this.contextMenuDiv.style.display="block"}},getViewPort:function(){return{left:self.pageXOffset||self.document.documentElement.scrollLeft||self.document.body.scrollLeft,top:self.pageYOffset||self.document.documentElement.scrollTop||self.document.body.scrollTop,width:document.documentElement.offsetWidth||document.body.offsetWidth,height:self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight}},hide:function(){if(tinyMCE.isMSIE&&!tinyMCE.isMSIE5_0&&!tinyMCE.isOpera)this.pop.hide();else this.contextMenuDiv.style.display="none"},execCommand:function(command,value){eval(this.settings['commandhandler']+"(command, value);")}};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,357 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
+	tinyMCE.loadCSS(tinyMCE.baseURL + "/plugins/contextmenu/css/contextmenu.css");
+}
+
+var TinyMCE_ContextMenuPlugin = {
+	// Private fields
+	_contextMenu : null,
+
+	getInfo : function() {
+		return {
+			longname : 'Context menus',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Is not working on MSIE 5.0 or Opera no contextmenu event
+		if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
+			return;
+
+		TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
+			commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
+			spacer_image : tinyMCE.baseURL + "/plugins/contextmenu/images/spacer.gif"
+		});
+
+		// Add hide event handles
+		tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
+		tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
+
+		// Attach contextmenu event
+		if (tinyMCE.isGecko) {
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
+		} else
+			tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
+	},
+
+	// Private plugin internal methods
+
+	_onContextMenu : function(e) {
+		var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+		var targetInst, body;
+
+		// Find instance
+		if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
+			for (var n in tinyMCE.instances) {
+				var inst = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(inst))
+					continue;
+
+				if (body == inst.getBody()) {
+					targetInst = inst;
+					break;
+				}
+			}
+
+			return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
+		}
+	},
+
+	_showContextMenu : function(e, inst) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		var x, y, elm, contextMenu;
+		var pos = tinyMCE.getAbsPosition(inst.iframeElement);
+
+		x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
+		y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
+		elm = tinyMCE.isMSIE ? e.srcElement : e.target;
+
+		contextMenu = this._contextMenu;
+		contextMenu.inst = inst;
+
+		// Mozilla needs some time
+		window.setTimeout(function () {
+			var theme = tinyMCE.getParam("theme");
+
+			contextMenu.clearAll();
+			var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
+
+			// Default items
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
+			contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
+
+			if (sel || (elm ? (elm.nodeName == 'A' && tinyMCE.getAttrib(elm, 'name') == '') || (elm.nodeName == 'IMG') : false)) {
+				contextMenu.addSeparator();
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
+				contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
+			}
+
+			// Get element
+			elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
+			if (elm) {
+				switch (elm.nodeName) {
+					case "IMG":
+						contextMenu.addSeparator();
+
+						// If flash
+						if (tinyMCE.hasPlugin('flash') && tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
+						else if (tinyMCE.hasPlugin('media') && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm, 'class')))
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/flash/images/flash.gif", "$lang_media_title", "mceMedia");
+						else
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
+						break;
+
+					case "HR":
+						contextMenu.addSeparator();
+						contextMenu.addItem(tinyMCE.baseURL + "/plugins/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
+						break;
+
+					case "TABLE":
+					case "TD":
+						// Is table plugin loaded
+						if (inst.hasPlugin("table")) {
+							var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
+							var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
+
+							colspan = colspan == "" ? "1" : colspan;
+							rowspan = rowspan == "" ? "1" : rowspan;
+
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
+
+	/*						contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
+							contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
+							contextMenu.addSeparator();
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
+							contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
+						}
+						break;
+				}
+			}  else {
+				// Add table specific
+				if (inst.hasPlugin("table")) {
+					contextMenu.addSeparator();
+					contextMenu.addItem(tinyMCE.baseURL + "/plugins/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
+				}
+			}
+
+			contextMenu.show(x, y);
+		}, 10);
+
+		// Cancel default handeling
+		tinyMCE.cancelEvent(e);
+		return false;
+	},
+
+	_hideContextMenu : function() {
+		if (TinyMCE_ContextMenuPlugin._contextMenu)
+			TinyMCE_ContextMenuPlugin._contextMenu.hide();
+	},
+
+	_commandHandler : function(command, value) {
+		var cm = TinyMCE_ContextMenuPlugin._contextMenu;
+
+		cm.hide();
+
+		// UI must be true on these
+		var ui = false;
+		if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
+			ui = true;
+
+		if (command == "Paste")
+			value = null;
+
+		if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
+			// Cell properties will generate access denied error is this isn't done?!
+			window.setTimeout(function() {
+				cm.inst.execCommand(command, ui, value);
+			}, 100);
+		} else
+			cm.inst.execCommand(command, ui, value);
+	}
+};
+
+tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
+
+// Context menu class
+
+function TinyMCE_ContextMenu(settings) {
+	var doc, self = this;
+
+	// Default value function
+	function defParam(key, def_val) {
+		settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
+	}
+
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+
+	// Setup contextmenu div
+	this.contextMenuDiv = document.createElement("div");
+	this.contextMenuDiv.className = "contextMenu";
+	this.contextMenuDiv.setAttribute("class", "contextMenu");
+	this.contextMenuDiv.style.display = "none";
+	this.contextMenuDiv.style.position = 'absolute';
+	this.contextMenuDiv.style.zindex = 1000;
+	this.contextMenuDiv.style.left = '0';
+	this.contextMenuDiv.style.top = '0';
+	this.contextMenuDiv.unselectable = "on";
+
+	document.body.appendChild(this.contextMenuDiv);
+
+	// Setup default values
+	defParam("commandhandler", "");
+	defParam("spacer_image", "images/spacer.gif");
+
+	this.items = new Array();
+	this.settings = settings;
+	this.html = "";
+
+	// IE Popup
+	if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+		this.pop = window.createPopup();
+		doc = this.pop.document;
+		doc.open();
+		doc.write('<html><head><link href="' + tinyMCE.baseURL + '/plugins/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
+		doc.close();
+	}
+};
+
+TinyMCE_ContextMenu.prototype = {
+	clearAll : function() {
+		this.html = "";
+		this.contextMenuDiv.innerHTML = "";
+	},
+
+	addSeparator : function() {
+		this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
+	},
+
+	addItem : function(icon, title, command, value, disabled) {
+		if (title.charAt(0) == '$')
+			title = tinyMCE.getLang(title.substring(1));
+
+		var onMouseDown = '';
+		var html = '';
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
+			onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
+		else
+			onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
+
+		if (icon == "")
+			icon = this.settings['spacer_image'];
+
+		if (!disabled)
+			html += '<tr class="contextMenuItem">';
+		else
+			html += '<tr class="contextMenuItemDisabled">';
+
+		html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
+		html += '<td><div class="contextMenuText">';
+		html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
+
+		// Add text
+		html += title;
+
+		html += '&#160;</a>';
+		html += '</div></td>';
+		html += '</tr>';
+
+		// Add to main
+		this.html += html;
+	},
+
+	show : function(x, y) {
+		var vp, width, height, yo;
+
+		if (this.html == "")
+			return;
+
+		var html = '';
+
+		html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
+		html += this.html;
+		html += '</table>';
+
+		this.contextMenuDiv.innerHTML = html;
+
+		// Get dimensions
+		this.contextMenuDiv.style.display = "block";
+		width = this.contextMenuDiv.offsetWidth;
+		height = this.contextMenuDiv.offsetHeight;
+		this.contextMenuDiv.style.display = "none";
+
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
+			// Setup popup and show
+			this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
+			this.pop.document.tinyMCE = tinyMCE;
+			this.pop.document.contextMenu = this;
+			this.pop.show(x, y, width, height);
+		} else {
+			vp = this.getViewPort();
+			yo = tinyMCE.isMSIE5_0 ? document.body.scrollTop : self.pageYOffset;
+			this.contextMenuDiv.style.left = (x > vp.left + vp.width - width ? vp.left + vp.width - width : x) + 'px';
+			this.contextMenuDiv.style.top = (y > vp.top + vp.height - height ? vp.top + vp.height - height : y) + 'px';
+			this.contextMenuDiv.style.display = "block";
+		}
+	},
+
+	getViewPort : function() {
+		return {
+			left : self.pageXOffset || self.document.documentElement.scrollLeft || self.document.body.scrollLeft,
+			top: self.pageYOffset || self.document.documentElement.scrollTop || self.document.body.scrollTop,
+			width : document.documentElement.offsetWidth || document.body.offsetWidth,
+			height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
+		};
+	},
+
+	hide : function() {
+		if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
+			this.pop.hide();
+		else
+			this.contextMenuDiv.style.display = "none";
+	},
+
+	execCommand : function(command, value) {
+		eval(this.settings['commandhandler'] + "(command, value);");
+	}
+};

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/contextmenu/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,117 @@
+body {
+	overflow: hidden;
+}
+
+h1 {
+	font-size: 14px;
+	margin: 0 0 10px 0;
+}
+
+h2 {
+	font-size: 12px;
+	margin: 3px 0 3px 0;
+}
+
+h3 {
+	font-size: 11px;
+	margin: 3px 0 3px 0;
+}
+
+#log {
+	font-family: Verdana;
+	border: 1px solid gray;
+	width: 100%; height: 240px;
+	overflow: scroll;
+	white-space: nowrap;
+}
+
+#log span {
+	display: block;
+}
+
+#log span.msg {
+	float: left;
+}
+
+#log span.time {
+	float: left;
+}
+
+#log br {
+	clear: both;
+}
+
+#logfilter {
+	width: 350px;
+}
+
+#logenabled {
+	border: 0;
+}
+
+#settings_panel span, #info_panel span, #content_panel span, #command_states_panel span, #undo_redo_panel span {
+	display: block;
+	margin: 5px 0 5px 0;
+}
+
+div.data {
+	width: 100%; height: 240px;
+	overflow: scroll;
+	border: 1px solid gray;
+}
+
+#misc_panel div.data {
+	height: 270px;
+}
+
+.data input {
+	width: 265px;
+	border: 0;
+}
+
+.data h2 {
+	margin-left: 5px;
+}
+
+.data h3 {
+	margin-left: 7px;
+}
+
+.data div {
+	margin-left: 7px;
+}
+
+.data table {
+	margin: 0 0 15px 15px;
+}
+
+.data p {
+	margin: 0; padding: 0;
+	margin-top: 5px;
+	margin-left: 5px;
+}
+
+table, td {
+	border: 1px solid gray;
+	border-collapse: collapse;
+}
+
+#flip {
+	position: absolute;
+	left: 295; top: 384px;
+}
+
+.bspec {
+	color: gray;
+}
+
+.dep {
+	color: #880000;
+}
+
+.col1 {
+	width: 265px;
+}
+
+div.undodata {
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/css/devkit_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+#devkit {
+	position: absolute;
+	top: -385px; right: 0;
+	width: 640px; height: 390px;
+	border: 1px solid black;
+	z-index: 10000;
+}
+
+.devkitup {
+	top: -385px !important;
+}
+
+.devkitdown {
+	top: 0 !important;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/devkit.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,140 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_devkit_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/devkit.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/diff.js"></script>
+	<link href="css/devkit.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="devkit" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form action="#">
+		<h1>{$lang_devkit_title}</h1>
+
+		<div class="tabs">
+			<ul>
+				<li id="log_tab" class="current"><span><a href="javascript:mcTabs.displayTab('log_tab','log_panel');" onmousedown="return false;">{$lang_devkit_log_tab}</a></span></li>
+				<li id="info_tab"><span><a href="javascript:mcTabs.displayTab('info_tab','info_panel');" onmousedown="return false;">{$lang_devkit_info_tab}</a></span></li>
+				<li id="settings_tab"><span><a href="javascript:mcTabs.displayTab('settings_tab','settings_panel');" onmousedown="return false;">{$lang_devkit_settings_tab}</a></span></li>
+				<li id="content_tab"><span><a href="javascript:mcTabs.displayTab('content_tab','content_panel');" onmousedown="return false;">{$lang_devkit_content_tab}</a></span></li>
+				<!-- <li id="command_states_tab"><span><a href="javascript:mcTabs.displayTab('command_states_tab','command_states_panel');" onmousedown="return false;">{$lang_devkit_command_states_tab}</a></span></li> -->
+				<li id="undo_redo_tab"><span><a href="javascript:mcTabs.displayTab('undo_redo_tab','undo_redo_panel');" onmousedown="return false;">{$lang_devkit_undo_redo_tab}</a></span></li>
+				<li id="misc_tab"><span><a href="javascript:mcTabs.displayTab('misc_tab','misc_panel');" onmousedown="return false;">{$lang_devkit_misc_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="log_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_devkit_log_tab}</legend>
+
+					<div style="float: left">
+						<label>{$lang_devkit_filter} </label><input type="text" id="logfilter" name="logfilter" value="" onchange="changeFilter(this.value);" />
+					</div>
+
+					<div style="float: left">
+						<input type="checkbox" id="logenabled" name="logenabled" value="true" checked="checked" onclick="toggleLog(this.checked);" />
+					</div>
+
+					<div style="float: right">
+						<a href="javascript:clearLog();">[{$lang_devkit_clear_log}]</a>
+					</div>
+
+					<br style="clear: both" />
+
+					<div id="log">
+					</div>
+
+					<input type="checkbox" id="debug_events" name="debug_events" class="checkbox" onclick="toggleDebugEvents(this.checked);" /><label for="debug_events" onclick="toggleDebugEvents(this.form.debug_events.checked);">{$lang_devkit_debug_events}</label>
+				</fieldset>
+			</div>
+
+			<div id="info_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_info_tab}</legend>
+
+					<span><a href="javascript:renderInfo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="info" class="data">
+						<p>{$lang_devkit_info_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="settings_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_settings_tab}</legend>
+
+					<span><a href="javascript:renderSettings();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="settings" class="data">
+						<p>{$lang_devkit_settings_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="content_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_content_tab}</legend>
+
+					<span><a href="javascript:renderContent();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="content" class="data">
+						<p>{$lang_devkit_content_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="command_states_panel" class="panel">
+			<fieldset>
+					<legend>{$lang_devkit_command_states_tab}</legend>
+
+					<span><a href="javascript:renderCommandStates();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="command_states" class="data">
+						<p>{$lang_devkit_command_states_help}</p>
+					</div>
+				</fieldset>
+			</div>
+
+			<div id="undo_redo_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_undo_redo_tab}</legend>
+
+					<span><a href="javascript:renderUndoRedo();">[{$lang_devkit_refresh}]</a></span>
+
+					<div id="undo_redo" class="data">
+						<p>{$lang_devkit_undo_redo_help}</p>
+					</div>
+
+					<input type="checkbox" id="undo_diff" name="undo_diff" class="checkbox" /><label for="undo_diff">{$lang_devkit_undo_diff}</label>
+				</fieldset>
+			</div>
+
+			<div id="misc_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_devkit_misc_tab}</legend>
+
+					<div class="data">
+						<p>{$lang_devkit_misc_help}</p>
+						<hr />
+						<p>Selection: <a href="#" onmousedown="return storeSelection();">[Store selection]</a> <a href="#" onmousedown="return restoreSelection();">[Restore selection]</a></p>
+						<hr />
+						<div><strong>Insert custom HTML content</strong></div>
+						<div><textarea id="htmlcont" name="htmlcont" style="width: 90%" rows="5"></textarea></div>
+						<div><a href="#" onclick="return tinyMCE.execCommand('mceInsertContent',false,document.getElementById('htmlcont').value);">[Insert content]</a></div>
+						<hr />
+						<div><strong>Eval JS:</strong></div>
+						<div><textarea id="jscont" name="jscont" style="width: 90%" rows="5">tinyMCE.execCommand('Bold',false,null);</textarea></div>
+						<div><a href="#" onclick="return parent.window.eval(document.getElementById('jscont').value);">[Evaluate]</a></div>
+					</div>
+				</fieldset>
+			</div>
+		</div>
+    </form>
+
+	<div id="flip"><a href="javascript:toggleFlip();" onmousedown="return false;"><img id="flipbtn" src="images/flip_down.gif" border="0" /></a></div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('devkit');var TinyMCE_DevKitPlugin={_logFilter:'\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',_logPadding:'',_startTime:null,_benchMark:false,_winLoaded:false,_isDebugEvents:false,getInfo:function(){return{longname:'Development Kit',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){this._setup()},_setup:function(){if(this._loaded)return;this._loaded=true;document.___TinyMCE=tinyMCE;this._logFilter=tinyMCE.getParam('devkit_log_filter',this._logFilter);this._benchMark=tinyMCE.getParam('devkit_bench_mark',false);var ifr=document.createElement('iframe');ifr.setAttribute("id","devkit");ifr.setAttribute("frameBorder","0");ifr.setAttribute("src",tinyMCE.baseURL+'/plugins/devkit/devkit.htm');document.body.appendChild(ifr);tinyMCE.importCSS(document,tinyMCE.baseURL+'/plugins/devkit/css/devkit_ui.css')},_start:function(){this._logPadding+='\u00a0';return new Date().getTime()},_end:function(st){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);if(this._benchMark)this._log("benchmark","Execution time: "+(new Date().getTime()-st))},_log:function(t){var m,a,i,e=document.getElementById('devkit'),now=new Date().getTime();if(!this._startTime)this._startTime=now;m=(this._logPadding.length>1?this._logPadding:'')+'['+(now-this._startTime)+'] ['+t+'] ';a=this._log.arguments;for(i=1;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>1)m+=', ';m+=a[i]}if(!new RegExp(this._logFilter,'gi').test(m)){if(this._logPadding.length>0)this._logPadding=this._logPadding.substring(0,this._logPadding.length-1);return}if(!this._winLoaded)tinyMCE.log[tinyMCE.log.length]=m;else e.contentWindow.debug(m)},_debugEvents:function(s){var i,ld,inst,n,ev=['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive','DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved','RadioStateChange','blur','broadcast','change','click','close','command','commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit','draggesture','dragover','focus','input','keydown','keypress','keyup','load','mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden','popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference','underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate','beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint','beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut','dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave','dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout','help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel','move','moveend','movestart','paste','propertychange','readystatechange','reset','resize','resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll','selectionchange','selectstart','start','stop','submit'];if(TinyMCE_DevKitPlugin._isDebugEvents==s)return;TinyMCE_DevKitPlugin._isDebugEvents=s;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst)||inst.getDoc()==ld)continue;ld=inst.getDoc();for(i=0;i<ev.length;i++){if(s)tinyMCE.addEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent);else tinyMCE.removeEvent(ld,ev[i],TinyMCE_DevKitPlugin._debugEvent)}}},_debugEvent:function(e){var t;e=e?e:tinyMCE.selectedInstance.getWin().event;t=e.srcElement?e.srcElement:e.target;tinyMCE.debug(e.type,t?t.nodeName:'')},_serialize:function(o){var i,v,s=TinyMCE_DevKitPlugin._serialize;if(o==null)return'null';switch(typeof o){case'string':v='\bb\tt\nn\ff\rr\""\'\'\\\\';return'"'+o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])','g'),function(a,b){i=v.indexOf(b);if(i+1)return'\\'+v.charAt(i+1);a=b.charCodeAt().toString(16);return'\\u'+'0000'.substring(a.length)+a})+'"';case'object':if(o instanceof Array){for(i=0,v='[';i<o.length;i++)v+=(i>0?',':'')+s(o[i]);return v+']'}v='{';for(i in o)v+=typeof o[i]!='function'?(v.length>1?',"':'"')+i+'":'+s(o[i]):'';return v+'}'}return''+o}};tinyMCE.__debug=tinyMCE.debug;tinyMCE.debug=function(){var a,i,m='',now=new Date().getTime(),start=TinyMCE_DevKitPlugin._startTime;if(!start)TinyMCE_DevKitPlugin._startTime=start=now;a=this.debug.arguments;for(i=0;i<a.length;i++){if(typeof(a[i])=='undefined')continue;if(i>0)m+=', ';m+=a[i]}TinyMCE_DevKitPlugin._log('debug',m)};tinyMCE.dump=function(o){tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o))};tinyMCE.sleep=function(t){var s=new Date().getTime(),b;while(new Date().getTime()-s<t)b=1};tinyMCE.__execCommand=tinyMCE.execCommand;tinyMCE.execCommand=function(command,user_interface,value){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommand',command,user_interface,value);r=tinyMCE.__execCommand(command,user_interface,value);dk._end(st);return r};tinyMCE.__execInstanceCommand=tinyMCE.execInstanceCommand;tinyMCE.execInstanceCommand=function(editor_id,command,user_interface,value,focus){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execInstanceCommand',editor_id,command,user_interface,value);r=tinyMCE.__execInstanceCommand(editor_id,command,user_interface,value);dk._end(st);return r};TinyMCE_Engine.prototype.__handleEvent=TinyMCE_Engine.prototype.handleEvent;TinyMCE_Engine.prototype.handleEvent=function(e){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('handleEvent',e.type);r=tinyMCE.__handleEvent(e);dk._end(st);return r};tinyMCE.__importCSS=tinyMCE.importCSS;tinyMCE.importCSS=function(doc,css){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('importCSS',doc,css);r=tinyMCE.__importCSS(doc,css);dk._end(st);return r};tinyMCE.__triggerNodeChange=tinyMCE.triggerNodeChange;tinyMCE.triggerNodeChange=function(focus,setup_content){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('triggerNodeChange',focus,setup_content);r=tinyMCE.__triggerNodeChange(focus,setup_content);dk._end(st);return r};tinyMCE.__dispatchCallback=tinyMCE.dispatchCallback;tinyMCE.dispatchCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('dispatchCallback',i,p,n);r=tinyMCE.__dispatchCallback(i,p,n);dk._end(st);return r};tinyMCE.__executeCallback=tinyMCE.executeCallback;tinyMCE.executeCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('executeCallback',i,p,n);r=tinyMCE.__executeCallback(i,p,n);dk._end(st);return r};tinyMCE.__execCommandCallback=tinyMCE.execCommandCallback;tinyMCE.execCommandCallback=function(i,p,n){var r,st,dk=TinyMCE_DevKitPlugin;st=dk._start();dk._log('execCommandCallback',i,p,n);r=tinyMCE.__execCommandCallback(i,p,n);dk._end(st);return r};tinyMCE.addPlugin("devkit",TinyMCE_DevKitPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,325 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('devkit');
+
+var TinyMCE_DevKitPlugin = {
+	_logFilter : '\\[(importCSS|execCommand|execInstanceCommand|debug)\\]',
+	_logPadding : '',
+	_startTime : null,
+	_benchMark : false,
+	_winLoaded : false,
+	_isDebugEvents : false,
+
+	getInfo : function() {
+		return {
+			longname : 'Development Kit',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/devkit',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		this._setup();
+	},
+
+	_setup : function() {
+		if (this._loaded)
+			return;
+
+		this._loaded = true;
+
+		// Register a document reference for more easy access in the FF DOM inspector
+		document.___TinyMCE = tinyMCE;
+
+		// Setup devkit by settings
+		this._logFilter = tinyMCE.getParam('devkit_log_filter', this._logFilter);
+		this._benchMark = tinyMCE.getParam('devkit_bench_mark', false);
+
+		var ifr = document.createElement('iframe');
+
+		ifr.setAttribute("id", "devkit");
+		ifr.setAttribute("frameBorder", "0");
+		ifr.setAttribute("src", tinyMCE.baseURL + '/plugins/devkit/devkit.htm');
+
+		document.body.appendChild(ifr);
+
+		// Workaround for strange IE reload bug
+		//if (tinyMCE.isRealIE)
+		//	document.getElementById('devkit').outerHTML = document.getElementById('devkit').outerHTML;
+
+		tinyMCE.importCSS(document, tinyMCE.baseURL + '/plugins/devkit/css/devkit_ui.css');
+	},
+
+	_start : function() {
+		this._logPadding += '\u00a0';
+
+		return new Date().getTime();
+	},
+
+	_end : function(st) {
+		if (this._logPadding.length > 0)
+			this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+		if (this._benchMark)
+			this._log("benchmark", "Execution time: " + (new Date().getTime() - st));
+	},
+
+	_log : function(t) {
+		var m, a, i, e = document.getElementById('devkit'), now = new Date().getTime();
+
+		if (!this._startTime)
+			this._startTime = now;
+
+		m = (this._logPadding.length > 1 ? this._logPadding : '') + '[' + (now - this._startTime) + '] [' + t + '] ';
+
+		a = this._log.arguments;
+		for (i=1; i<a.length; i++) {
+			if (typeof(a[i]) == 'undefined')
+				continue;
+
+			if (i > 1)
+				m += ', ';
+
+			m += a[i];
+		}
+
+		if (!new RegExp(this._logFilter, 'gi').test(m)) {
+			if (this._logPadding.length > 0)
+				this._logPadding = this._logPadding.substring(0, this._logPadding.length - 1);
+
+			return;
+		}
+
+		if (!this._winLoaded)
+			tinyMCE.log[tinyMCE.log.length] = m;
+		else
+			e.contentWindow.debug(m);
+	},
+
+	_debugEvents : function(s) {
+		var i, ld, inst, n, ev = ['CheckboxStateChange','DOMAttrModified','DOMMenuItemActive',
+				'DOMMenuItemInactive','DOMMouseScroll','DOMNodeInserted','DOMNodeRemoved',
+				'RadioStateChange','blur','broadcast','change','click','close','command',
+				'commandupdate','contextmenu','dblclick','dragdrop','dragenter','dragexit',
+				'draggesture','dragover','focus','input','keydown','keypress','keyup','load',
+				'mousedown','mouseout','mouseover','mouseup','overflow','overflowchanged','popuphidden',
+				'popuphiding','popupshowing','popupshown','select','syncfrompreference','synctopreference',
+				'underflow','unload','abort','activate','afterprint','afterupdate','beforeactivate',
+				'beforecopy','beforecut','beforedeactivate','beforeeditfocus','beforepaste','beforeprint',
+				'beforeunload','beforeupdate','bounce','cellchange','controlselect','copy','cut',
+				'dataavailable','datasetchanged','datasetcomplete','deactivate','dragend','dragleave',
+				'dragstart','drop','error','errorupdate','filterchange','finish','focusin','focusout',
+				'help','layoutcomplete','losecapture','mouseenter','mouseleave','mousewheel',
+				'move','moveend','movestart','paste','propertychange','readystatechange','reset','resize',
+				'resizeend','resizestart','rowenter','rowexit','rowsdelete','rowsinserted','scroll',
+				'selectionchange','selectstart','start','stop','submit'];
+		// mousemove
+
+		if (TinyMCE_DevKitPlugin._isDebugEvents == s)
+			return;
+
+		TinyMCE_DevKitPlugin._isDebugEvents = s;
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst) || inst.getDoc() == ld)
+				continue;
+
+			ld = inst.getDoc();
+
+			for (i=0; i<ev.length; i++) {
+				if (s)
+					tinyMCE.addEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+				else
+					tinyMCE.removeEvent(ld, ev[i], TinyMCE_DevKitPlugin._debugEvent);
+			}
+		}
+	},
+
+	_debugEvent : function(e) {
+		var t;
+
+		e = e ? e : tinyMCE.selectedInstance.getWin().event;
+		t = e.srcElement ? e.srcElement : e.target;
+
+		tinyMCE.debug(e.type, t ? t.nodeName : '');
+	},
+
+	_serialize : function(o) {
+		var i, v, s = TinyMCE_DevKitPlugin._serialize;
+
+		if (o == null)
+			return 'null';
+
+		switch (typeof o) {
+			case 'string':
+				v = '\bb\tt\nn\ff\rr\""\'\'\\\\';
+
+				return '"' + o.replace(new RegExp('([\u0080-\uFFFF\\x00-\\x1f\\"])', 'g'), function(a, b) {
+					i = v.indexOf(b);
+
+					if (i+1)
+						return '\\' + v.charAt(i + 1);
+
+					a = b.charCodeAt().toString(16);
+
+					return '\\u' + '0000'.substring(a.length) + a;
+				}) + '"';
+
+			case 'object':
+				if (o instanceof Array) {
+					for (i=0, v = '['; i<o.length; i++)
+						v += (i > 0 ? ',' : '') + s(o[i]);
+
+					return v + ']';
+				}
+
+				v = '{';
+
+				for (i in o)
+					v += typeof o[i] != 'function' ? (v.length > 1 ? ',"' : '"') + i + '":' + s(o[i]) : '';
+
+				return v + '}';
+		}
+
+		return '' + o;
+	}
+};
+
+// Patch and piggy back functions
+tinyMCE.__debug = tinyMCE.debug;
+tinyMCE.debug = function() {
+	var a, i, m = '', now = new Date().getTime(), start = TinyMCE_DevKitPlugin._startTime;
+
+	if (!start)
+		TinyMCE_DevKitPlugin._startTime = start = now;
+
+	a = this.debug.arguments;
+	for (i=0; i<a.length; i++) {
+		if (typeof(a[i]) == 'undefined')
+			continue;
+
+		if (i > 0)
+			m += ', ';
+
+		m += a[i];
+	}
+
+	TinyMCE_DevKitPlugin._log('debug', m);
+};
+
+tinyMCE.dump = function(o) {
+	tinyMCE.debug(TinyMCE_DevKitPlugin._serialize(o));
+};
+
+tinyMCE.sleep = function(t) {
+	var s = new Date().getTime(), b;
+
+	while (new Date().getTime() - s < t) b=1;
+};
+
+tinyMCE.__execCommand = tinyMCE.execCommand;
+tinyMCE.execCommand = function(command, user_interface, value) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommand', command, user_interface, value);
+	r = tinyMCE.__execCommand(command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execInstanceCommand = tinyMCE.execInstanceCommand;
+tinyMCE.execInstanceCommand = function(editor_id, command, user_interface, value, focus) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execInstanceCommand', editor_id, command, user_interface, value);
+	r = tinyMCE.__execInstanceCommand(editor_id, command, user_interface, value);
+	dk._end(st);
+
+	return r;
+};
+
+TinyMCE_Engine.prototype.__handleEvent = TinyMCE_Engine.prototype.handleEvent;
+TinyMCE_Engine.prototype.handleEvent = function(e) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('handleEvent', e.type);
+	r = tinyMCE.__handleEvent(e);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__importCSS = tinyMCE.importCSS;
+tinyMCE.importCSS = function(doc, css) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('importCSS', doc, css);
+	r = tinyMCE.__importCSS(doc, css);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__triggerNodeChange = tinyMCE.triggerNodeChange;
+tinyMCE.triggerNodeChange = function(focus, setup_content) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('triggerNodeChange', focus, setup_content);
+	r = tinyMCE.__triggerNodeChange(focus, setup_content);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__dispatchCallback = tinyMCE.dispatchCallback;
+tinyMCE.dispatchCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('dispatchCallback', i, p, n);
+	r = tinyMCE.__dispatchCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__executeCallback = tinyMCE.executeCallback;
+tinyMCE.executeCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('executeCallback', i, p, n);
+	r = tinyMCE.__executeCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.__execCommandCallback = tinyMCE.execCommandCallback;
+tinyMCE.execCommandCallback = function(i, p, n) {
+	var r, st, dk = TinyMCE_DevKitPlugin;
+
+	st = dk._start();
+	dk._log('execCommandCallback', i, p, n);
+	r = tinyMCE.__execCommandCallback(i, p, n);
+	dk._end(st);
+
+	return r;
+};
+
+tinyMCE.addPlugin("devkit", TinyMCE_DevKitPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/images/flip_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/devkit.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+var devkit = parent.tinyMCE.plugins['devkit'], logEnabled = true, flip = false, book = null;
+
+function init() {
+	var log, i, f = document.forms[0];
+
+	devkit._winLoaded = true;
+
+	log = tinyMCE.log;
+
+	for (i=0; i<log.length; i++)
+		debug(log[i]);
+
+	f.logfilter.value = devkit._logFilter;
+}
+
+function changeFilter(f) {
+	devkit._logFilter = f;
+}
+
+function toggleLog(s) {
+	logEnabled = s;
+}
+
+function toggleFlip() {
+	document.getElementById('flipbtn').src = flip ? 'images/flip_down.gif' : 'images/flip_up.gif';
+
+	if (flip)
+		parent.document.getElementById('devkit').className = 'devkitup';
+	else
+		parent.document.getElementById('devkit').className = 'devkitdown';
+
+	flip = !flip;
+}
+
+function debug(s) {
+	var d, l, n;
+
+	if (!logEnabled || !new RegExp(devkit._logFilter, 'gi').test(s))
+		return;
+
+	d = document;
+	l = d.getElementById('log');
+	n = d.createElement('span');
+
+	n.innerHTML = tinyMCE.xmlEncode(s);
+
+	l.appendChild(n);
+	l.scrollTop = l.scrollHeight;
+}
+
+function renderInfo() {
+	var se = document.getElementById('info'), n, sn, inst, h = '', sel, rng, instCount = 0, rc;
+
+	h += '<h2>Browser info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('navigator.userAgent', navigator.userAgent);
+	h += addRenderInfo('navigator.appName', navigator.appName);
+	h += addRenderInfo('navigator.platform', navigator.platform);
+	h += addRenderInfo('navigator.language', navigator.language, 'bspec');
+	h += addRenderInfo('navigator.browserLanguage', navigator.browserLanguage, 'bspec');
+	h += addRenderInfo('navigator.systemLanguage', navigator.systemLanguage, 'bspec');
+	h += addRenderInfo('navigator.userLanguage', navigator.userLanguage, 'bspec');
+	h += addRenderInfo('opera.buildNumber("inconspicuous")', typeof(opera) != 'undefined' && opera.buildNumber ? opera.buildNumber('inconspicuous') : null, 'bspec');
+	h += addRenderInfo('window.innerWidth', parent.window.innerWidth, 'bspec');
+	h += addRenderInfo('window.innerHeight', parent.window.innerHeight, 'bspec');
+	h += addRenderInfo('document.body.offsetWidth', parent.document.body.offsetWidth);
+	h += addRenderInfo('document.body.offsetHeight', parent.document.body.offsetHeight);
+	h += addRenderInfo('screen.width', screen.width);
+	h += addRenderInfo('screen.height', screen.height);
+	h += addRenderInfo('screen.availWidth', screen.availWidth);
+	h += addRenderInfo('screen.availHeight', screen.availHeight);
+	h += addRenderInfo('screen.colorDepth', screen.colorDepth);
+	h += addRenderInfo('screen.pixelDepth', screen.pixelDepth, 'bspec');
+	h += addRenderInfo('document.contentType', document.contentType, 'bspec');
+	h += '</table>';
+
+	h += '<h2>TinyMCE_Engine info:</h2>';
+
+	h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+	h += addRenderInfo('baseURL', tinyMCE.baseURL);
+	h += addRenderInfo('selectedInstance.editorId', tinyMCE.selectedInstance ? tinyMCE.selectedInstance.editorId : null);
+	h += addRenderInfo('selectedElement.nodeName', tinyMCE.selectedElement ? tinyMCE.selectedElement.nodeName : null, 'dep');
+	h += addRenderInfo('loadedFiles',tinyMCE.loadedFiles.join(','));
+	h += addRenderInfo('isMSIE', tinyMCE.isMSIE);
+	h += addRenderInfo('isMSIE5', tinyMCE.isMSIE5);
+	h += addRenderInfo('isMSIE5_0', tinyMCE.isMSIE5_0);
+	h += addRenderInfo('isMSIE7', tinyMCE.isMSIE7);
+	h += addRenderInfo('isGecko', tinyMCE.isGecko);
+	h += addRenderInfo('isSafari', tinyMCE.isSafari);
+	h += addRenderInfo('isOpera', tinyMCE.isOpera);
+	h += addRenderInfo('isMac', tinyMCE.isMac);
+	h += addRenderInfo('isNS7', tinyMCE.isNS7);
+	h += addRenderInfo('isNS71', tinyMCE.isNS71);
+	h += addRenderInfo('idCounter', tinyMCE.idCounter);
+	h += addRenderInfo('currentConfig', tinyMCE.currentConfig);
+	h += addRenderInfo('majorVersion', tinyMCE.majorVersion);
+	h += addRenderInfo('minorVersion', tinyMCE.minorVersion);
+	h += addRenderInfo('releaseDate', tinyMCE.releaseDate);
+	h += addRenderInfo('documentBasePath', tinyMCE.documentBasePath);
+	h += addRenderInfo('documentURL', tinyMCE.documentURL);
+	h += '</table>';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		sel = inst.selection.getSel();
+		rng = inst.selection.getRng();
+
+		h += '<h2>TinyMCE_Control(' + (instCount++) + ') id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		h += addRenderInfo('editorId', inst.editorId);
+		h += addRenderInfo('visualAid', inst.visualAid);
+		h += addRenderInfo('foreColor', inst.foreColor);
+		h += addRenderInfo('backColor', inst.backColor);
+		h += addRenderInfo('formTargetElementId', inst.formTargetElementId);
+		h += addRenderInfo('formElement', inst.formElement ? inst.formElement.nodeName : null);
+		h += addRenderInfo('oldTargetElement', inst.oldTargetElement ? inst.oldTargetElement.nodeName : null);
+		h += addRenderInfo('linkElement', inst.linkElement ? inst.linkElement.nodeName : null, 'dep');
+		h += addRenderInfo('imgElement', inst.imgElement ? inst.imgElement.nodeName : null, 'dep');
+		h += addRenderInfo('selectedNode', inst.selectedNode ? inst.selectedNode.nodeName : null, 'dep');
+		h += addRenderInfo('targetElement', inst.targetElement ? inst.targetElement.nodeName : null);
+		h += addRenderInfo('getBody().nodeName', inst.getBody() ? inst.getBody().nodeName : null);
+		h += addRenderInfo('getBody().getAttribute("id")', inst.getBody() ? inst.getBody().getAttribute("id") : null);
+		h += addRenderInfo('getDoc().location', inst.getDoc() ? inst.getDoc().location : null);
+		h += addRenderInfo('startContent', inst.startContent);
+		h += addRenderInfo('isHidden()', inst.isHidden());
+		h += addRenderInfo('isDirty()', inst.isDirty());
+		h += addRenderInfo('undoRedo.undoLevels.length', inst.undoRedo.undoLevels.length);
+		h += addRenderInfo('undoRedo.undoIndex', inst.undoRedo.undoIndex);
+		h += addRenderInfo('selection.getSelectedHTML()', inst.selection.getSelectedHTML());
+		h += addRenderInfo('selection.isCollapsed()', inst.selection.isCollapsed() || 'false');
+		h += addRenderInfo('selection.getSelectedText()', inst.selection.getSelectedText());
+		h += addRenderInfo('selection.getFocusElement().nodeName', inst.selection.getFocusElement().nodeName);
+		h += addRenderInfo('selection.getFocusElement().outerHTML', tinyMCE.getOuterHTML(inst.selection.getFocusElement()));
+
+		if ((tinyMCE.isGecko || tinyMCE.isOpera) && sel && rng) {
+			h += addRenderInfo('selection.getSel().anchorNode.nodeName', sel.anchorNode ? sel.anchorNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().anchorOffset', sel.anchorOffset, 'bspec');
+			h += addRenderInfo('selection.getSel().focusNode.nodeName', sel.focusNode ? sel.focusNode.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getSel().focusOffset', sel.focusOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().startContainer.nodeName', rng.startContainer ? rng.startContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().startOffset', rng.startOffset, 'bspec');
+			h += addRenderInfo('selection.getRng().endContainer.nodeName', rng.endContainer ? rng.endContainer.nodeName : null, 'bspec');
+			h += addRenderInfo('selection.getRng().endOffset', rng.endOffset, 'bspec');
+		}
+
+		if (typeof(rng.item) != 'undefined' || typeof(rng.htmlText) != 'undefined') {
+			if (!rng.item) {
+				h += addRenderInfo('selection.getSel().type', sel.type, 'bspec');
+				h += addRenderInfo('selection.getRng().htmlText', rng.htmlText, 'bspec');
+				h += addRenderInfo('selection.getRng().text', rng.text, 'bspec');
+			} else
+				h += addRenderInfo('selection.getRng().item(0).nodeName', rng.item(0).nodeName, 'bspec');
+		}
+
+		h += '</table>';
+	}
+
+	h += '<p>Fields marked in <strong class="bspec">gray</strong> is not cross browser and should be used with care.</p>';
+	h += '<p>Fields marked <strong class="dep">red</strong> are marked deprecated and will be removed in the future.</p><br />';
+
+	se.innerHTML = h;
+}
+
+function addRenderInfo(n, v, c) {
+	return '<tr><td' + (c ? ' class="' + c + '"' : '')+ '>' + n + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v != null ? ('' + v).replace(/[\r\n]/g, '') : 'null') + '" /></td></tr>';
+}
+
+function renderSettings() {
+	var se = document.getElementById('settings'), n, sn, inst, h = '', v;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (sn in inst.settings) {
+			v = inst.settings[sn];
+
+			h += '<tr><td class="col1">' + tinyMCE.xmlEncode(sn) + '</td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderContent() {
+	var se = document.getElementById('content'), n, inst, h = '';
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+
+		h += '<h3>Start content - inst.startContent:</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.startContent) + '</div>';
+
+		h += '<h3>Raw content - inst.getBody().innerHTML or inst.getHTML(true):</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML(true)) + '</div>';
+
+		h += '<h3>Cleaned content - inst.getHTML():</h3>';
+		h += '<div>' + tinyMCE.xmlEncode(inst.getHTML()) + '</div>';
+
+		if (inst.serializedHTML) {
+			h += '<h3>Serialized HTML content - inst.serializedHTML:</h3>';
+			h += '<div>' + tinyMCE.xmlEncode(inst.serializedHTML) + '</div>';
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function renderCommandStates() {
+	var se = document.getElementById('command_states'), n, inst, h = '', v, ex;
+	var cmds = new Array('2D-Position','AbsolutePosition','BackColor','BlockDirLTR','BlockDirRTL','Bold','BrowseMode','Copy','CreateBookmark','CreateLink','Cut','Delete','DirLTR','DirRTL','EditMode','enableInlineTableEditing','enableObjectResizing','FontName','FontSize','ForeColor','FormatBlock','Indent','InsertButton','InsertFieldset','InsertHorizontalRule','InsertIFrame','InsertImage','InsertInputButton','InsertInputCheckbox','InsertInputFileUpload','InsertInputHidden','InsertInputImage','InsertInputPassword','InsertInputRadio','InsertInputReset','InsertInputSubmit','InsertInputText','InsertMarquee','InsertOrderedList','InsertParagraph','InsertSelectDropdown','InsertSelectListbox','InsertTextArea','InsertUnorderedList','Italic','JustifyCenter','JustifyFull','JustifyLeft','JustifyNone','JustifyRight','LiveResize','MultipleSelection','Open','Outdent','OverWrite','Paste','PlayImage','Redo','Refresh','RemoveFormat','SaveAs','SelectAll','SizeToControl','SizeToControlHeight','SizeToControlWidth','Stop','StopImage','StrikeThrough','styleWithCSS','Subscript','Superscript','UnBookmark','Underline','Undo','Unlink','Unselect'), i;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		h += '<h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" class="data">';
+
+		for (i=0; i<cmds.length; i++) {
+			v = null;
+
+			try {
+				v = tinyMCE.isGecko || inst.getDoc().queryCommandSupported(cmds[i]);
+				v = v ? inst.queryCommandState(cmds[i]) : 'Not supported';
+			} catch (ex) {
+				v = 'Not supported';
+			}
+
+			h += '<tr><td><input type="text" value="' + tinyMCE.xmlEncode(cmds[i]) + '" /></td><td><input type="text" value="' + tinyMCE.xmlEncode(v) + '" /></td></tr>';
+		}
+
+		h += '</table>';
+	}
+
+	se.innerHTML = h;
+}
+
+function renderUndoRedo() {
+	var se = document.getElementById('undo_redo'), inst, n, h = '', i, le, id, d, ur;
+	var f = document.forms[0];	
+
+	if (tinyMCE.undoLevels) {
+		le = tinyMCE.undoLevels;
+
+		h += '<h2>Global undo/redo</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + tinyMCE.undoIndex + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++)
+			h += '<h3>Level: ' + i + ', Instance: ' + (le[i] ? le[i].editorId : 'null') + '</h3>';
+	}
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (!tinyMCE.isInstance(inst))
+			continue;
+
+		ur = inst.undoRedo;
+		le = ur.undoLevels;
+
+		h += '<hr /><h2>Instance id: ' + inst.editorId + '</h2>';
+		h += '<table border="0" cellpadding="0" cellspacing="0" width="50%" class="data">';
+		h += '<tr><td>undoLevels.length</td><td>' + le.length + '</td></tr>';
+		h += '<tr><td>undoIndex</td><td>' + ur.undoIndex + '</td></tr>';
+		h += '<tr><td>typingUndoIndex</td><td>' + ur.typingUndoIndex + '</td></tr>';
+		h += '<tr><td>undoRedo</td><td>' + ur.undoRedo + '</td></tr>';
+		h += '</table>';
+
+		for (i=0; i<le.length; i++) {
+			h += '<h3>Level: ' + i + (!le[i].bookmark ? "" : " [bookmark]") + '</h3>';
+			h += '<div class="undodata">' + tinyMCE.xmlEncode(le[i].content) + '</div>';
+
+			if (i > 0 && f.undo_diff.checked) {
+				d = diff_main(i > 0 ? le[i-1].content.replace(/[\r\n]+/g, '') : null, le[i].content.replace(/[\r\n]+/g, ''), false);
+				diff_cleanup_semantic(d);
+				h += '<h3>Diff ' + (i-1) + ',' + i + '</h3><div class="undodata">' + diff_prettyhtml(d) + '</div>';
+			}
+		}
+	}
+
+	se.innerHTML = h;
+}
+
+function clearLog() {
+	document.getElementById('log').innerHTML = '';
+	devkit._startTime = null;
+}
+
+function cancelAction() {
+	parent.document.getElementById('devkit').style.display = 'none';
+}
+
+function toggleDebugEvents(s) {
+	devkit._debugEvents(s);
+}
+
+function storeSelection() {
+	book = tinyMCE.selectedInstance.selection.getBookmark();
+
+	return false;
+}
+
+function restoreSelection() {
+	tinyMCE.selectedInstance.selection.moveToBookmark(book);
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/jscripts/diff.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1192 @@
+// Diff_Match_Patch v1.3
+// Computes the difference between two texts to create a patch.
+// Applies the patch onto another text, allowing for errors.
+// Copyright (C) 2006 Neil Fraser
+// http://neil.fraser.name/software/diff_match_patch/
+
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation.
+
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License (www.gnu.org) for more details.
+
+
+// Constants.
+// Redefine these in your program to override the defaults.
+
+// Number of seconds to map a diff before giving up.  (0 for infinity)
+var DIFF_TIMEOUT = 1.0;
+// Cost of an empty edit operation in terms of edit characters.
+var DIFF_EDIT_COST = 4;
+// Tweak the relative importance (0.0 = accuracy, 1.0 = proximity)
+var MATCH_BALANCE = 0.5;
+// At what point is no match declared (0.0 = perfection, 1.0 = very loose)
+var MATCH_THRESHOLD = 0.5;
+// The min and max cutoffs used when computing text lengths.
+var MATCH_MINLENGTH = 100;
+var MATCH_MAXLENGTH = 1000;
+// Chunk size for context length.
+var PATCH_MARGIN = 4;
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Diff                                                            //
+//////////////////////////////////////////////////////////////////////
+
+// The data structure representing a diff is an array of tuples:
+// [[-1, "Hello"], [1, "Goodbye"], [0, " world."]]
+// which means: delete "Hello", add "Goodbye" and keep " world."
+
+
+function diff_main(text1, text2, checklines) {
+  // Find the differences between two texts.  Return an array of changes.
+  // If checklines is present and false, then don't run a line-level diff first to identify the changed areas.
+  // Check for equality (speedup)
+  if (text1 == text2)
+    return [[0, text1]];
+
+  if (typeof checklines == 'undefined')
+    checklines = true;
+
+  var a;
+  // Trim off common prefix (speedup)
+  a = diff_prefix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonprefix = a[2];
+
+  // Trim off common suffix (speedup)
+  a = diff_suffix(text1, text2);
+  text1 = a[0];
+  text2 = a[1];
+  var commonsuffix = a[2];
+
+  var diff, i;
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+
+  if (!text1) {  // Just add some text (speedup)
+    diff = [[1, text2]];
+  } else if (!text2) { // Just delete some text (speedup)
+    diff = [[-1, text1]];
+  } else if ((i = longtext.indexOf(shorttext)) != -1) {
+    // Shorter text is inside the longer text (speedup)
+    diff = [[1, longtext.substring(0, i)], [0, shorttext], [1, longtext.substring(i+shorttext.length)]];
+    // Swap insertions for deletions if diff is reversed.
+    if (text1.length > text2.length)
+      diff[0][0] = diff[2][0] = -1;
+  } else {
+    longtext = shorttext = null; // Garbage collect
+    // Check to see if the problem can be split in two.
+    var hm = diff_halfmatch(text1, text2);
+    if (hm) {
+      // A half-match was found, sort out the return data.
+      var text1_a = hm[0];
+      var text1_b = hm[1];
+      var text2_a = hm[2];
+      var text2_b = hm[3];
+      var mid_common = hm[4];
+      // Send both pairs off for separate processing.
+      var diff_a = diff_main(text1_a, text2_a, checklines);
+      var diff_b = diff_main(text1_b, text2_b, checklines);
+      // Merge the results.
+      diff = diff_a.concat([[0, mid_common]], diff_b);
+    } else {
+      // Perform a real diff.
+      if (checklines && text1.length + text2.length < 250)
+        checklines = false; // Too trivial for the overhead.
+      if (checklines) {
+        // Scan the text on a line-by-line basis first.
+        a = diff_lines2chars(text1, text2);
+        text1 = a[0];
+        text2 = a[1];
+        var linearray = a[2];
+      }
+      diff = diff_map(text1, text2);
+      if (!diff) // No acceptable result.
+        diff = [[-1, text1], [1, text2]];
+      if (checklines) {
+        diff_chars2lines(diff, linearray); // Convert the diff back to original text.
+        diff_cleanup_semantic(diff); // Eliminate freak matches (e.g. blank lines)
+
+        // Rediff any replacement blocks, this time on character-by-character basis.
+        diff.push([0, '']);  // Add a dummy entry at the end.
+        var pointer = 0;
+        var count_delete = 0;
+        var count_insert = 0;
+        var text_delete = '';
+        var text_insert = '';
+        while(pointer < diff.length) {
+          if (diff[pointer][0] == 1) {
+            count_insert++;
+            text_insert += diff[pointer][1];
+          } else if (diff[pointer][0] == -1) {
+            count_delete++;
+            text_delete += diff[pointer][1];
+          } else {  // Upon reaching an equality, check for prior redundancies.
+            if (count_delete >= 1 && count_insert >= 1) {
+              // Delete the offending records and add the merged ones.
+              a = diff_main(text_delete, text_insert, false);
+              diff.splice(pointer - count_delete - count_insert, count_delete + count_insert);
+              pointer = pointer - count_delete - count_insert;
+              for (i=a.length-1; i>=0; i--)
+                diff.splice(pointer, 0, a[i]);
+              pointer = pointer + a.length;
+            }
+            count_insert = 0;
+            count_delete = 0;
+            text_delete = '';
+            text_insert = '';
+          }
+          pointer++;
+        }
+        diff.pop();  // Remove the dummy entry at the end.
+
+      }
+    }
+  }
+
+  if (commonprefix)
+    diff.unshift([0, commonprefix]);
+  if (commonsuffix)
+    diff.push([0, commonsuffix]);
+  diff_cleanup_merge(diff);
+  return diff;
+}
+
+
+function diff_lines2chars(text1, text2) {
+  // Split text into an array of strings.
+  // Reduce the texts to a string of hashes where each character represents one line.
+  var linearray = new Array();  // linearray[4] == "Hello\n"
+  var linehash = new Object();  // linehash["Hello\n"] == 4
+
+  // "\x00" is a valid JavaScript character, but the Venkman debugger doesn't like it (bug 335098)
+  // So we'll insert a junk entry to avoid generating a null character.
+  linearray.push('');
+
+  function diff_lines2chars_munge(text) {
+    // My first ever closure!
+    var i, line;
+    var chars = '';
+    while (text) {
+      i = text.indexOf('\n');
+      if (i == -1)
+        i = text.length;
+      line = text.substring(0, i+1);
+      text = text.substring(i+1);
+      if (linehash.hasOwnProperty ? linehash.hasOwnProperty(line) : (linehash[line] !== undefined)) {
+        chars += String.fromCharCode(linehash[line]);
+      } else {
+        linearray.push(line);
+        linehash[line] = linearray.length - 1;
+        chars += String.fromCharCode(linearray.length - 1);
+      }
+    }
+    return chars;
+  }
+
+  var chars1 = diff_lines2chars_munge(text1);
+  var chars2 = diff_lines2chars_munge(text2);
+  return [chars1, chars2, linearray];
+}
+
+
+function diff_chars2lines(diff, linearray) {
+  // Rehydrate the text in a diff from a string of line hashes to real lines of text.
+  var chars, text;
+  for (var x=0; x<diff.length; x++) {
+    chars = diff[x][1];
+    text = '';
+    for (var y=0; y<chars.length; y++)
+      text += linearray[chars.charCodeAt(y)];
+    diff[x][1] = text;
+  }
+}
+
+
+function diff_map(text1, text2) {
+  // Explore the intersection points between the two texts.
+  var now = new Date();
+  var ms_end = now.getTime() + DIFF_TIMEOUT * 1000; // Don't run for too long.
+  var max = (text1.length + text2.length) / 2;
+  var v_map1 = new Array();
+  var v_map2 = new Array();
+  var v1 = new Object();
+  var v2 = new Object();
+  v1[1] = 0;
+  v2[1] = 0;
+  var x, y;
+  var footstep; // Used to track overlapping paths.
+  var footsteps = new Object();
+  var done = false;
+  var hasOwnProperty = !!(footsteps.hasOwnProperty);
+  // If the total number of characters is odd, then the front path will collide with the reverse path.
+  var front = (text1.length + text2.length) % 2;
+  for (var d=0; d<max; d++) {
+    now = new Date();
+    if (DIFF_TIMEOUT > 0 && now.getTime() > ms_end) // Timeout reached
+      return null;
+
+    // Walk the front path one step.
+    v_map1[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v1[k-1] < v1[k+1])
+        x = v1[k+1];
+      else
+        x = v1[k-1]+1;
+      y = x - k;
+      footstep = x+","+y;
+      if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (!front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(x) == text2.charAt(y)) {
+        x++; y++;
+        footstep = x+","+y;
+        if (front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (!front)
+          footsteps[footstep] = d;
+      }
+      v1[k] = x;
+      v_map1[d][x+","+y] = true;
+      if (done) {
+        // Front path ran over reverse path.
+        v_map2 = v_map2.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, x), text2.substring(0, y));
+        return a.concat(diff_path2(v_map2, text1.substring(x), text2.substring(y)));
+      }
+    }
+
+    // Walk the reverse path one step.
+    v_map2[d] = new Object();
+    for (var k=-d; k<=d; k+=2) {
+      if (k == -d || k != d && v2[k-1] < v2[k+1])
+        x = v2[k+1];
+      else
+        x = v2[k-1]+1;
+      y = x - k;
+      footstep = (text1.length-x)+","+(text2.length-y);
+      if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+        done = true;
+      if (front)
+        footsteps[footstep] = d;
+      while (!done && x < text1.length && y < text2.length && text1.charAt(text1.length-x-1) == text2.charAt(text2.length-y-1)) {
+        x++; y++;
+        footstep = (text1.length-x)+","+(text2.length-y);
+        if (!front && (hasOwnProperty ? footsteps.hasOwnProperty(footstep) : (footsteps[footstep] !== undefined)))
+          done = true;
+        if (front)
+          footsteps[footstep] = d;
+      }
+      v2[k] = x;
+      v_map2[d][x+","+y] = true;
+      if (done) {
+        // Reverse path ran over front path.
+        v_map1 = v_map1.slice(0, footsteps[footstep]+1);
+        var a = diff_path1(v_map1, text1.substring(0, text1.length-x), text2.substring(0, text2.length-y));
+        return a.concat(diff_path2(v_map2, text1.substring(text1.length-x), text2.substring(text2.length-y)));
+      }
+    }
+  }
+  // Number of diffs equals number of characters, no commonality at all.
+  return null;
+}
+
+
+function diff_path1(v_map, text1, text2) {
+  // Work from the middle back to the start to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([-1, text1.charAt(x)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[0][1] = text2.charAt(y) + path[0][1];
+        else
+          path.unshift([1, text2.charAt(y)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(x) != text2.charAt(y))
+        //  return alert("No diagonal.  Can't happen. (diff_path1)");
+        if (last_op === 0)
+          path[0][1] = text1.charAt(x) + path[0][1];
+        else
+          path.unshift([0, text1.charAt(x)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_path2(v_map, text1, text2) {
+  // Work from the middle back to the end to determine the path.
+  var path = [];
+  var x = text1.length;
+  var y = text2.length;
+  var last_op = null;
+  for (var d=v_map.length-2; d>=0; d--) {
+    while(1) {
+      if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty((x-1)+","+y) : (v_map[d][(x-1)+","+y] !== undefined)) {
+        x--;
+        if (last_op === -1)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([-1, text1.charAt(text1.length-x-1)]);
+        last_op = -1;
+        break;
+      } else if (v_map[d].hasOwnProperty ? v_map[d].hasOwnProperty(x+","+(y-1)) : (v_map[d][x+","+(y-1)] !== undefined)) {
+        y--;
+        if (last_op === 1)
+          path[path.length-1][1] += text2.charAt(text2.length-y-1);
+        else
+          path.push([1, text2.charAt(text2.length-y-1)]);
+        last_op = 1;
+        break;
+      } else {
+        x--;
+        y--;
+        //if (text1.charAt(text1.length-x-1) != text2.charAt(text2.length-y-1))
+        //  return alert("No diagonal.  Can't happen. (diff_path2)");
+        if (last_op === 0)
+          path[path.length-1][1] += text1.charAt(text1.length-x-1);
+        else
+          path.push([0, text1.charAt(text1.length-x-1)]);
+        last_op = 0;
+      }
+    }
+  }
+  return path;
+}
+
+
+function diff_prefix(text1, text2) {
+  // Trim off common prefix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(0, pointermid) == text2.substring(0, pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonprefix = text1.substring(0, pointermid);
+  text1 = text1.substring(pointermid);
+  text2 = text2.substring(pointermid);
+  return [text1, text2, commonprefix];
+}
+
+
+function diff_suffix(text1, text2) {
+  // Trim off common suffix
+  var pointermin = 0;
+  var pointermax = Math.min(text1.length, text2.length);
+  var pointermid = pointermax;
+  while(pointermin < pointermid) {
+    if (text1.substring(text1.length-pointermid) == text2.substring(text2.length-pointermid))
+      pointermin = pointermid;
+    else
+      pointermax = pointermid;
+    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);
+  }
+  var commonsuffix = text1.substring(text1.length-pointermid);
+  text1 = text1.substring(0, text1.length-pointermid);
+  text2 = text2.substring(0, text2.length-pointermid);
+  return [text1, text2, commonsuffix];
+}
+
+
+function diff_halfmatch(text1, text2) {
+  // Do the two texts share a substring which is at least half the length of the longer text?
+  var longtext = text1.length > text2.length ? text1 : text2;
+  var shorttext = text1.length > text2.length ? text2 : text1;
+  if (longtext.length < 10 || shorttext.length < 1)
+    return null; // Pointless.
+
+  function diff_halfmatch_i(longtext, shorttext, i) {
+    // Start with a 1/4 length substring at position i as a seed.
+    var seed = longtext.substring(i, i+Math.floor(longtext.length/4));
+    var j = -1;
+    var best_common = '';
+    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;
+    while ((j = shorttext.indexOf(seed, j+1)) != -1) {
+      var my_prefix = diff_prefix(longtext.substring(i), shorttext.substring(j));
+      var my_suffix = diff_suffix(longtext.substring(0, i), shorttext.substring(0, j));
+      if (best_common.length < (my_suffix[2] + my_prefix[2]).length) {
+        best_common = my_suffix[2] + my_prefix[2];
+        best_longtext_a = my_suffix[0];
+        best_longtext_b = my_prefix[0];
+        best_shorttext_a = my_suffix[1];
+        best_shorttext_b = my_prefix[1];
+      }
+    }
+    if (best_common.length >= longtext.length/2)
+      return [best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b, best_common];
+    else
+      return null;
+  }
+
+  // First check if the second quarter is the seed for a half-match.
+  var hm1 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/4));
+  // Check again based on the third quarter.
+  var hm2 = diff_halfmatch_i(longtext, shorttext, Math.ceil(longtext.length/2));
+  var hm;
+  if (!hm1 && !hm2)
+    return null;
+  else if (!hm2)
+    hm = hm1;
+  else if (!hm1)
+    hm = hm2;
+  else // Both matched.  Select the longest.
+    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;
+
+  // A half-match was found, sort out the return data.
+  if (text1.length > text2.length) {
+    var text1_a = hm[0];
+    var text1_b = hm[1];
+    var text2_a = hm[2];
+    var text2_b = hm[3];
+  } else {
+    var text2_a = hm[0];
+    var text2_b = hm[1];
+    var text1_a = hm[2];
+    var text1_b = hm[3];
+  }
+  var mid_common = hm[4];
+  return [text1_a, text1_b, text2_a, text2_b, mid_common];
+}
+
+
+function diff_cleanup_semantic(diff) {
+  // Reduce the number of edits by eliminating semantically trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = null; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var length_changes1 = 0; // Number of characters that changed prior to the equality.
+  var length_changes2 = 0; // Number of characters that changed after the equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      equalities.push(pointer);
+      length_changes1 = length_changes2;
+      length_changes2 = 0;
+      lastequality = diff[pointer][1];
+    } else { // an insertion or deletion
+      length_changes2 += diff[pointer][1].length;
+      if (lastequality != null && (lastequality.length <= length_changes1) && (lastequality.length <= length_changes2)) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        equalities.pop();  // Throw away the previous equality;
+        pointer = equalities.length ? equalities[equalities.length-1] : -1;
+        length_changes1 = 0; // Reset the counters.
+        length_changes2 = 0;
+        lastequality = null;
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_efficiency(diff) {
+  // Reduce the number of edits by eliminating operationally trivial equalities.
+  var changes = false;
+  var equalities = []; // Stack of indices where equalities are found.
+  var lastequality = ''; // Always equal to equalities[equalities.length-1][1]
+  var pointer = 0; // Index of current position.
+  var pre_ins = false; // Is there an insertion operation before the last equality.
+  var pre_del = false; // Is there an deletion operation before the last equality.
+  var post_ins = false; // Is there an insertion operation after the last equality.
+  var post_del = false; // Is there an deletion operation after the last equality.
+  while (pointer < diff.length) {
+    if (diff[pointer][0] == 0) { // equality found
+      if (diff[pointer][1].length < DIFF_EDIT_COST && (post_ins || post_del)) {
+        // Candidate found.
+        equalities.push(pointer);
+        pre_ins = post_ins;
+        pre_del = post_del;
+        lastequality = diff[pointer][1];
+      } else {
+        // Not a candidate, and can never become one.
+        equalities = [];
+        lastequality = '';
+      }
+      post_ins = post_del = false;
+    } else { // an insertion or deletion
+      if (diff[pointer][0] == -1)
+        post_del = true;
+      else
+        post_ins = true;
+      // Five types to be split:
+      // <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>
+      // <ins>A</ins>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<ins>C</ins>
+      // <ins>A</del>X<ins>C</ins><del>D</del>
+      // <ins>A</ins><del>B</del>X<del>C</del>
+      if (lastequality && ((pre_ins && pre_del && post_ins && post_del) || ((lastequality.length < DIFF_EDIT_COST/2) && (pre_ins + pre_del + post_ins + post_del) == 3))) {
+        //alert("Splitting: '"+lastequality+"'");
+        diff.splice(equalities[equalities.length-1], 0, [-1, lastequality]); // Duplicate record
+        diff[equalities[equalities.length-1]+1][0] = 1; // Change second copy to insert.
+        equalities.pop();  // Throw away the equality we just deleted;
+        lastequality = '';
+        if (pre_ins && pre_del) {
+          // No changes made which could affect previous entry, keep going.
+          post_ins = post_del = true;
+          equalities = [];
+        } else {
+          equalities.pop();  // Throw away the previous equality;
+          pointer = equalities.length ? equalities[equalities.length-1] : -1;
+          post_ins = post_del = false;
+        }
+        changes = true;
+      }
+    }
+    pointer++;
+  }
+
+  if (changes)
+    diff_cleanup_merge(diff);
+}
+
+
+function diff_cleanup_merge(diff) {
+  // Reorder and merge like edit sections.  Merge equalities.
+  // Any edit section can move as long as it doesn't cross an equality.
+  diff.push([0, '']);  // Add a dummy entry at the end.
+  var pointer = 0;
+  var count_delete = 0;
+  var count_insert = 0;
+  var text_delete = '';
+  var text_insert = '';
+  var record_insert, record_delete;
+  var my_xfix;
+  while(pointer < diff.length) {
+    if (diff[pointer][0] == 1) {
+      count_insert++;
+      text_insert += diff[pointer][1];
+      pointer++;
+    } else if (diff[pointer][0] == -1) {
+      count_delete++;
+      text_delete += diff[pointer][1];
+      pointer++;
+    } else {  // Upon reaching an equality, check for prior redundancies.
+      if (count_delete > 1 || count_insert > 1) {
+        if (count_delete > 1 && count_insert > 1) {
+          // Factor out any common prefixies.
+          my_xfix = diff_prefix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            if ((pointer - count_delete - count_insert) > 0 && diff[pointer - count_delete - count_insert - 1][0] == 0) {
+              text_insert = my_xfix[0];
+              text_delete = my_xfix[1];
+              diff[pointer - count_delete - count_insert - 1][1] += my_xfix[2];
+            }
+          }
+          // Factor out any common suffixies.
+          my_xfix = diff_suffix(text_insert, text_delete);
+          if (my_xfix[2] != '') {
+            text_insert = my_xfix[0];
+            text_delete = my_xfix[1];
+            diff[pointer][1] = my_xfix[2] + diff[pointer][1];
+          }
+        }
+        // Delete the offending records and add the merged ones.
+        if (count_delete == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [1, text_insert]);
+        else if (count_insert == 0)
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete]);
+        else
+          diff.splice(pointer - count_delete - count_insert, count_delete + count_insert, [-1, text_delete], [1, text_insert]);
+        pointer = pointer - count_delete - count_insert + (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;
+      } else if (pointer != 0 && diff[pointer-1][0] == 0) {
+        // Merge this equality with the previous one.
+        diff[pointer-1][1] += diff[pointer][1];
+        diff.splice(pointer, 1);
+      } else {
+        pointer++;
+      }
+      count_insert = 0;
+      count_delete = 0;
+      text_delete = '';
+      text_insert = '';
+    }
+  }
+  if (diff[diff.length-1][1] == '')
+    diff.pop();  // Remove the dummy entry at the end.
+}
+
+
+function diff_addindex(diff) {
+  // Add an index to each tuple, represents where the tuple is located in text2.
+  // e.g. [[-1, 'h', 0], [1, 'c', 0], [0, 'at', 1]]
+  var i = 0;
+  for (var x=0; x<diff.length; x++) {
+    diff[x].push(i);
+    if (diff[x][0] != -1)
+      i += diff[x][1].length;
+  }
+}
+
+
+function diff_xindex(diff, loc) {
+  // loc is a location in text1, compute and return the equivalent location in text2.
+  // e.g. "The cat" vs "The big cat", 1->1, 5->8
+  var chars1 = 0;
+  var chars2 = 0;
+  var last_chars1 = 0;
+  var last_chars2 = 0;
+  for (var x=0; x<diff.length; x++) {
+    if (diff[x][0] != 1) // Equality or deletion.
+      chars1 += diff[x][1].length;
+    if (diff[x][0] != -1) // Equality or insertion.
+      chars2 += diff[x][1].length;
+    if (chars1 > loc) // Overshot the location.
+      break;
+    last_chars1 = chars1;
+    last_chars2 = chars2;
+  }
+  if (diff.length != x && diff[x][0] == -1) // The location was deleted.
+    return last_chars2;
+  // Add the remaining character length.
+  return last_chars2 + (loc - last_chars1);
+}
+
+
+function diff_prettyhtml(diff) {
+  // Convert a diff array into a pretty HTML report.
+  diff_addindex(diff);
+  var html = '';
+  for (var x=0; x<diff.length; x++) {
+    var m = diff[x][0]; // Mode (-1=delete, 0=copy, 1=add)
+    var t = diff[x][1]; // Text of change.
+    var i = diff[x][2]; // Index of change.
+    t = t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
+    t = t.replace(/\n/g, "&para;<BR>");
+    if (m == -1)
+      html += "<DEL STYLE='background:#FFE6E6;' TITLE='i="+i+"'>"+t+"</DEL>";
+    else if (m == 1)
+      html += "<INS STYLE='background:#E6FFE6;' TITLE='i="+i+"'>"+t+"</INS>";
+    else
+      html += "<SPAN TITLE='i="+i+"'>"+t+"</SPAN>";
+  }
+  return html;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Match                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function match_getmaxbits() {
+  // Compute the number of bits in an int.
+  // The normal answer for JavaScript is 32.
+  var maxbits = 0;
+  var oldi = 1;
+  var newi = 2;
+  while (oldi != newi) {
+    maxbits++;
+    oldi = newi;
+    newi = newi << 1;
+  }
+  return maxbits;
+}
+var MATCH_MAXBITS = match_getmaxbits();
+
+
+function match_main(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc'.
+  loc = Math.max(0, Math.min(loc, text.length-pattern.length));
+  if (text == pattern) {
+    // Shortcut (potentially not guaranteed by the algorithm)
+    return 0;
+  } else if (text.length == 0) {
+    // Nothing to match.
+    return null;
+  } else if (text.substring(loc, loc + pattern.length) == pattern) {
+    // Perfect match at the perfect spot!  (Includes case of null pattern)
+    return loc;
+  } else {
+    // Do a fuzzy compare.
+    var match = match_bitap(text, pattern, loc);
+    return match;
+  }
+}
+
+
+function match_bitap(text, pattern, loc) {
+  // Locate the best instance of 'pattern' in 'text' near 'loc' using the Bitap algorithm.
+  if (pattern.length > MATCH_MAXBITS)
+    return alert("Pattern too long for this browser.");
+
+  // Initialise the alphabet.
+  var s = match_alphabet(pattern);
+
+  var score_text_length = text.length;
+  // Coerce the text length between reasonable maximums and minimums.
+  score_text_length = Math.max(score_text_length, MATCH_MINLENGTH);
+  score_text_length = Math.min(score_text_length, MATCH_MAXLENGTH);
+
+  function match_bitap_score (e, x) {
+    // Compute and return the score for a match with e errors and x location.
+    var d = Math.abs(loc-x);
+    return (e / pattern.length / MATCH_BALANCE) + (d / score_text_length / (1.0 - MATCH_BALANCE));
+  }
+
+  // Highest score beyond which we give up.
+  var score_threshold = MATCH_THRESHOLD;
+  // Is there a nearby exact match? (speedup)
+  var best_loc = text.indexOf(pattern, loc);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+  // What about in the other direction? (speedup)
+  best_loc = text.lastIndexOf(pattern, loc+pattern.length);
+  if (best_loc != -1)
+    score_threshold = Math.min(match_bitap_score(0, best_loc), score_threshold);
+
+  // Initialise the bit arrays.
+  var r = Array();
+  var d = -1;
+  var matchmask = Math.pow(2, pattern.length-1);
+  best_loc = null;
+
+  var bin_min, bin_mid;
+  var bin_max = Math.max(loc+loc, text.length);
+  var last_rd;
+  for (var d=0; d<pattern.length; d++) {
+    // Scan for the best match; each iteration allows for one more error.
+    var rd = Array(text.length);
+
+    // Run a binary search to determine how far from 'loc' we can stray at this error level.
+    bin_min = loc;
+    bin_mid = bin_max;
+    while(bin_min < bin_mid) {
+      if (match_bitap_score(d, bin_mid) < score_threshold)
+        bin_min = bin_mid;
+      else
+        bin_max = bin_mid;
+      bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);
+    }
+    bin_max = bin_mid; // Use the result from this iteration as the maximum for the next.
+    var start = Math.max(0, loc - (bin_mid - loc) - 1);
+    var finish = Math.min(text.length-1, pattern.length + bin_mid);
+
+    if (text.charAt(finish) == pattern.charAt(pattern.length-1))
+      rd[finish] = Math.pow(2, d+1)-1;
+    else
+      rd[finish] = Math.pow(2, d)-1;
+    for (var j=finish-1; j>=start; j--) {
+      // The alphabet (s) is a sparse hash, so the following lines generate warnings.
+      if (d == 0) // First pass: exact match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)];
+      else // Subsequent passes: fuzzy match.
+        rd[j] = ((rd[j+1] << 1) | 1) & s[text.charAt(j)] | ((last_rd[j+1] << 1) | 1) | ((last_rd[j] << 1) | 1) | last_rd[j+1];
+      if (rd[j] & matchmask) {
+        var score = match_bitap_score(d, j);
+        // This match will almost certainly be better than any existing match.  But check anyway.
+        if (score <= score_threshold) {
+          // Told you so.
+          score_threshold = score;
+          best_loc = j;
+          if (j > loc) {
+            // When passing loc, don't exceed our current distance from loc.
+            start = Math.max(0, loc - (j - loc));
+          } else {
+            // Already passed loc, downhill from here on in.
+            break;
+          }
+        }
+      }
+    }
+    if (match_bitap_score(d+1, loc) > score_threshold) // No hope for a (better) match at greater error levels.
+      break;
+    last_rd = rd;
+  }
+  return best_loc;
+}
+
+
+function match_alphabet(pattern) {
+  // Initialise the alphabet for the Bitap algorithm.
+  var s = Object();
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] = 0;
+  for (var i=0; i<pattern.length; i++)
+    s[pattern.charAt(i)] |= Math.pow(2, pattern.length-i-1);
+  return s;
+}
+
+
+  //////////////////////////////////////////////////////////////////////
+ //  Patch                                                           //
+//////////////////////////////////////////////////////////////////////
+
+
+function patch_obj() {
+  // Constructor for a patch object.
+  this.diffs = [];
+  this.start1 = null;
+  this.start2 = null;
+  this.length1 = 0;
+  this.length2 = 0;
+
+  this.toString = function() {
+    // Emmulate GNU diff's format.
+    // Header: @@ -382,8 +481,9 @@
+    // Indicies are printed as 1-based, not 0-based.
+    var coords1, coords2;
+    if (this.length1 == 0)
+      coords1 = this.start1+",0";
+    else if (this.length1 == 1)
+      coords1 = this.start1+1;
+    else
+      coords1 = (this.start1+1)+","+this.length1;
+    if (this.length2 == 0)
+      coords2 = this.start2+",0";
+    else if (this.length2 == 1)
+      coords2 = this.start2+1;
+    else
+      coords2 = (this.start2+1)+","+this.length2;
+    var txt = "@@ -"+coords1+" +"+coords2+" @@\n";
+    // Escape the body of the patch with %xx notation.
+    for (var x=0; x<this.diffs.length; x++)
+      txt += ("- +".charAt(this.diffs[x][0]+1)) + encodeURI(this.diffs[x][1]) + "\n";
+    return txt.replace(/%20/g, ' ');
+  }
+
+  this.text1 = function() {
+    // Compute and return the source text (all equalities and deletions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == -1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+
+  this.text2 = function() {
+    // Compute and return the destination text (all equalities and insertions).
+    var txt = '';
+    for (var x=0; x<this.diffs.length; x++)
+      if (this.diffs[x][0] == 0 || this.diffs[x][0] == 1)
+        txt += this.diffs[x][1];
+    return txt;
+  }
+}
+
+
+function patch_addcontext(patch, text) {
+  var pattern = text.substring(patch.start2, patch.start2+patch.length1);
+  var padding = 0;
+  // Increase the context until we're unique (but don't let the pattern expand beyond MATCH_MAXBITS).
+  while (text.indexOf(pattern) != text.lastIndexOf(pattern) && pattern.length < MATCH_MAXBITS-PATCH_MARGIN-PATCH_MARGIN) {
+    padding += PATCH_MARGIN;
+    pattern = text.substring(patch.start2 - padding, patch.start2+patch.length1 + padding);
+  }
+  // Add one chunk for good luck.
+  padding += PATCH_MARGIN;
+  // Add the prefix.
+  var prefix = text.substring(patch.start2 - padding, patch.start2);
+  if (prefix != '')
+    patch.diffs.unshift([0, prefix]);
+  // Add the suffix
+  var suffix = text.substring(patch.start2+patch.length1, patch.start2+patch.length1 + padding);
+  if (suffix != '')
+    patch.diffs.push([0, suffix]);
+
+  // Roll back the start points.
+  patch.start1 -= prefix.length;
+  patch.start2 -= prefix.length;
+  // Extend the lengths.
+  patch.length1 += prefix.length + suffix.length;
+  patch.length2 += prefix.length + suffix.length;
+}
+
+
+function patch_make(text1, text2, diff) {
+  // Compute a list of patches to turn text1 into text2.
+  // Use diff if provided, otherwise compute it ourselves.
+  if (typeof diff == 'undefined') {
+    diff = diff_main(text1, text2, true);
+    if (diff.length > 2) {
+      diff_cleanup_semantic(diff);
+      diff_cleanup_efficiency(diff);
+    }
+  }
+  if (diff.length == 0)
+    return []; // Get rid of the null case.
+  var patches = [];
+  var patch = new patch_obj();
+  var char_count1 = 0; // Number of characters into the text1 string.
+  var char_count2 = 0; // Number of characters into the text2 string.
+  var last_type = null;
+  var prepatch_text = text1; // Recreate the patches to determine context info.
+  var postpatch_text = text1;
+  for (var x=0; x<diff.length; x++) {
+    var diff_type = diff[x][0];
+    var diff_text = diff[x][1];
+
+    if (patch.diffs.length == 0 && diff_type != 0) {
+      // A new patch starts here.
+      patch.start1 = char_count1;
+      patch.start2 = char_count2;
+    }
+
+    if (diff_type == 1) {
+      // Insertion
+      patch.diffs.push(diff[x]);
+      patch.length2 += diff_text.length;
+      postpatch_text = postpatch_text.substring(0, char_count2) + diff_text + postpatch_text.substring(char_count2);
+    } else if (diff_type == -1) {
+      // Deletion.
+      patch.length1 += diff_text.length;
+      patch.diffs.push(diff[x]);
+      postpatch_text = postpatch_text.substring(0, char_count2) + postpatch_text.substring(char_count2 + diff_text.length);
+    } else if (diff_type == 0 && diff_text.length <= 2*PATCH_MARGIN && patch.diffs.length != 0 && diff.length != x+1) {
+      // Small equality inside a patch.
+      patch.diffs.push(diff[x]);
+      patch.length1 += diff_text.length;
+      patch.length2 += diff_text.length;
+    }
+
+    last_type = diff_type;
+    if (diff_type == 0 && diff_text.length >= 2*PATCH_MARGIN) {
+      // Time for a new patch.
+      if (patch.diffs.length != 0) {
+        patch_addcontext(patch, prepatch_text);
+        patches.push(patch);
+        var patch = new patch_obj();
+        last_type = null;
+        prepatch_text = postpatch_text;
+      }
+    }
+
+    // Update the current character count.
+    if (diff_type != 1)
+      char_count1 += diff_text.length;
+    if (diff_type != -1)
+      char_count2 += diff_text.length;
+  }
+  // Pick up the leftover patch if not empty.
+  if (patch.diffs.length != 0) {
+    patch_addcontext(patch, prepatch_text);
+    patches.push(patch);
+  }
+
+  return patches;
+}
+
+
+function patch_apply(patches, text) {
+  // Merge a set of patches onto the text.
+  // Return a patched text, as well as a list of true/false values indicating which patches were applied.
+  patch_splitmax(patches);
+  var results = [];
+  var delta = 0;
+  var expected_loc, start_loc;
+  var text1, text2;
+  var diff, mod, index1, index2;
+  for (var x=0; x<patches.length; x++) {
+    expected_loc = patches[x].start2 + delta;
+    text1 = patches[x].text1();
+    start_loc = match_main(text, text1, expected_loc);
+    if (start_loc == null) {
+      // No match found.  :(
+      results.push(false);
+    } else {
+      // Found a match.  :)
+      results.push(true);
+      delta = start_loc - expected_loc;
+      text2 = text.substring(start_loc, start_loc + text1.length);
+      if (text1 == text2) {
+        // Perfect match, just shove the replacement text in.
+        text = text.substring(0, start_loc) + patches[x].text2() + text.substring(start_loc + text1.length);
+      } else {
+        // Imperfect match.  Run a diff to get a framework of equivalent indicies.
+        diff = diff_main(text1, text2, false);
+        index1 = 0;
+        for (var y=0; y<patches[x].diffs.length; y++) {
+          mod = patches[x].diffs[y];
+          if (mod[0] != 0)
+            index2 = diff_xindex(diff, index1);
+          if (mod[0] == 1) // Insertion
+            text = text.substring(0, start_loc + index2) + mod[1] + text.substring(start_loc + index2);
+          else if (mod[0] == -1) // Deletion
+            text = text.substring(0, start_loc + index2) + text.substring(start_loc + diff_xindex(diff, index1 + mod[1].length));
+          if (mod[0] != -1)
+            index1 += mod[1].length;
+        }
+      }
+    }
+  }
+  return [text, results];
+}
+
+
+function patch_splitmax(patches) {
+  // Look through the patches and break up any which are longer than the maximum limit of the match algorithm.
+  var bigpatch, patch, patch_size, start1, start2, diff_type, diff_text, precontext, postcontext, empty;
+  for (var x=0; x<patches.length; x++) {
+    if (patches[x].length1 > MATCH_MAXBITS) {
+      bigpatch = patches[x];
+      // Remove the big old patch.
+      patches.splice(x, 1);
+      patch_size = MATCH_MAXBITS;
+      start1 = bigpatch.start1;
+      start2 = bigpatch.start2;
+      precontext = '';
+      while (bigpatch.diffs.length != 0) {
+        // Create one of several smaller patches.
+        patch = new patch_obj();
+        empty = true;
+        patch.start1 = start1 - precontext.length;
+        patch.start2 = start2 - precontext.length;
+        if (precontext  != '') {
+          patch.length1 = patch.length2 = precontext.length;
+          patch.diffs.push([0, precontext]);
+        }
+        while (bigpatch.diffs.length != 0 && patch.length1 < patch_size - PATCH_MARGIN) {
+          diff_type = bigpatch.diffs[0][0];
+          diff_text = bigpatch.diffs[0][1];
+          if (diff_type == 1) {
+            // Insertions are harmless.
+            patch.length2 += diff_text.length;
+            start2 += diff_text.length;
+            patch.diffs.push(bigpatch.diffs.shift());
+            empty = false;
+          } else {
+            // Deletion or equality.  Only take as much as we can stomach.
+            diff_text = diff_text.substring(0, patch_size - patch.length1 - PATCH_MARGIN);
+            patch.length1 += diff_text.length;
+            start1 += diff_text.length;
+            if (diff_type == 0) {
+              patch.length2 += diff_text.length;
+              start2 += diff_text.length;
+            } else {
+              empty = false;
+            }
+            patch.diffs.push([diff_type, diff_text]);
+            if (diff_text == bigpatch.diffs[0][1])
+              bigpatch.diffs.shift();
+            else
+              bigpatch.diffs[0][1] = bigpatch.diffs[0][1].substring(diff_text.length);
+          }
+        }
+        // Compute the head context for the next patch.
+        precontext = patch.text2();
+        precontext = precontext.substring(precontext.length - PATCH_MARGIN);
+        // Append the end context for this patch.
+        postcontext = bigpatch.text1().substring(0, PATCH_MARGIN);
+        if (postcontext  != '') {
+          patch.length1 += postcontext.length;
+          patch.length2 += postcontext.length;
+          if (patch.diffs.length > 0 && patch.diffs[patch.diffs.length-1][0] == 0)
+            patch.diffs[patch.diffs.length-1][1] += postcontext;
+          else
+            patch.diffs.push([0, postcontext]);
+        }
+        if (!empty)
+          patches.splice(x++, 0, patch);
+      }
+    }
+  }
+}
+
+
+function patch_totext(patches) {
+  // Take a list of patches and return a textual representation.
+  var text = '';
+  for (var x=0; x<patches.length; x++)
+    text += patches[x];
+  return text;
+}
+
+
+function patch_fromtext(text) {
+  // Take a textual representation of patches and return a list of patch objects.
+  var patches = [];
+  text = text.split('\n');
+  var patch, m, chars1, chars2, sign, line;
+  while (text.length != 0) {
+    m = text[0].match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/);
+    if (!m)
+      return alert("Invalid patch string:\n"+text[0]);
+    patch = new patch_obj();
+    patches.push(patch);
+    patch.start1 = parseInt(m[1]);
+    if (m[2] == '') {
+      patch.start1--;
+      patch.length1 = 1;
+    } else if (m[2] == '0') {
+      patch.length1 = 0;
+    } else {
+      patch.start1--;
+      patch.length1 = parseInt(m[2]);
+    }
+
+    patch.start2 = parseInt(m[3]);
+    if (m[4] == '') {
+      patch.start2--;
+      patch.length2 = 1;
+    } else if (m[4] == '0') {
+      patch.length2 = 0;
+    } else {
+      patch.start2--;
+      patch.length2 = parseInt(m[4]);
+    }
+    text.shift();
+
+    while (text.length != 0) {
+      sign = text[0].charAt(0);
+      line = decodeURIComponent(text[0].substring(1));
+      if (sign == '-') {
+        // Deletion.
+        patch.diffs.push([-1, line]);
+      } else if (sign == '+') {
+        // Insertion.
+        patch.diffs.push([1, line]);
+      } else if (sign == ' ') {
+        // Minor equality.
+        patch.diffs.push([0, line]);
+      } else if (sign == '@') {
+        // Start of next patch.
+        break;
+      } else if (sign == '') {
+        // Blank line?  Whatever.
+      } else {
+        // WTF?
+        return alert("Invalid patch mode: '"+sign+"'\n"+line);
+      }
+      text.shift();
+    }
+  }
+  return patches;
+}
+
+// EOF

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/devkit/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+// UK lang variables
+
+tinyMCE.addToLang('devkit',{
+title : 'TinyMCE Development Kit',
+info_tab : 'Info',
+settings_tab : 'Settings',
+log_tab : 'Log',
+content_tab : 'Content',
+command_states_tab : 'Commands',
+undo_redo_tab : 'Undo/Redo',
+misc_tab : 'Misc',
+filter : 'Filter:',
+clear_log : 'Clear log',
+refresh : 'Refresh',
+info_help : 'Press Refresh to view info.',
+settings_help : 'Press Refresh to display the settings array for each TinyMCE_Control instance.',
+content_help : 'Press Refresh to display the raw and cleaned HTML content for each TinyMCE_Control instance.',
+command_states_help : 'Press Refresh to display the current command states from inst.queryCommandState. This list will also mark unsupported commands.',
+undo_redo_help : 'Press Refresh to display the global and instance undo/redo levels.',
+misc_help : 'Here are various tools for debugging and development purposes.',
+debug_events : 'Debug events',
+undo_diff : 'Diff undo levels'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('directionality');var TinyMCE_DirectionalityPlugin={getInfo:function(){return{longname:'Directionality',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"ltr":return tinyMCE.getButtonHTML(cn,'lang_directionality_ltr_desc','{$pluginurl}/images/ltr.gif','mceDirectionLTR');case"rtl":return tinyMCE.getButtonHTML(cn,'lang_directionality_rtl_desc','{$pluginurl}/images/rtl.gif','mceDirectionRTL')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceDirectionLTR":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","ltr");tinyMCE.triggerNodeChange(false);return true;case"mceDirectionRTL":var inst=tinyMCE.getInstanceById(editor_id);var elm=tinyMCE.getParentElement(inst.getFocusElement(),"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(elm)elm.setAttribute("dir","rtl");tinyMCE.triggerNodeChange(false);return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){function getAttrib(elm,name){return elm.getAttribute(name)?elm.getAttribute(name):""}if(node==null)return;var elm=tinyMCE.getParentElement(node,"p,div,td,h1,h2,h3,h4,h5,h6,pre,address");if(!elm){tinyMCE.switchClass(editor_id+'_ltr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_rtl','mceButtonDisabled');return true}tinyMCE.switchClass(editor_id+'_ltr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_rtl','mceButtonNormal');var dir=getAttrib(elm,"dir");if(dir=="ltr"||dir=="")tinyMCE.switchClass(editor_id+'_ltr','mceButtonSelected');else tinyMCE.switchClass(editor_id+'_rtl','mceButtonSelected');return true}};tinyMCE.addPlugin("directionality",TinyMCE_DirectionalityPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('directionality');
+
+var TinyMCE_DirectionalityPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Directionality',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "ltr":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_ltr_desc', '{$pluginurl}/images/ltr.gif', 'mceDirectionLTR');
+
+			case "rtl":
+				return tinyMCE.getButtonHTML(cn, 'lang_directionality_rtl_desc', '{$pluginurl}/images/rtl.gif', 'mceDirectionRTL');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceDirectionLTR":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "ltr");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+
+			case "mceDirectionRTL":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var elm = tinyMCE.getParentElement(inst.getFocusElement(), "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+
+				if (elm)
+					elm.setAttribute("dir", "rtl");
+
+				tinyMCE.triggerNodeChange(false);
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		function getAttrib(elm, name) {
+			return elm.getAttribute(name) ? elm.getAttribute(name) : "";
+		}
+
+		if (node == null)
+			return;
+
+		var elm = tinyMCE.getParentElement(node, "p,div,td,h1,h2,h3,h4,h5,h6,pre,address");
+		if (!elm) {
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonDisabled');
+			return true;
+		}
+
+		tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonNormal');
+
+		var dir = getAttrib(elm, "dir");
+		if (dir == "ltr" || dir == "")
+			tinyMCE.switchClass(editor_id + '_ltr', 'mceButtonSelected');
+		else
+			tinyMCE.switchClass(editor_id + '_rtl', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("directionality", TinyMCE_DirectionalityPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/ltr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/images/rtl.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+directionality_ltr_desc : 'Direction left to right',
+directionality_rtl_desc : 'Direction right to left'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/directionality/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('emotions');var TinyMCE_EmotionsPlugin={getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('emotions');
+
+// Plucin static class
+var TinyMCE_EmotionsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Emotions',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the emotions control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "emotions":
+				return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceEmotion command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceEmotion":
+				var template = new Array();
+
+				template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme
+				template['width'] = 250;
+				template['height'] = 160;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+// Register plugin
+tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/emotions.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_emotions_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div align="center">
+		<div class="title">{$lang_emotions_title}:<br /><br /></div>
+
+		<table border="0" cellspacing="0" cellpadding="4">
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-cool.gif','lang_emotions_cool');"><img src="images/smiley-cool.gif" width="18" height="18" border="0" alt="{$lang_emotions_cool}" title="{$lang_emotions_cool}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-cry.gif','lang_emotions_cry');"><img src="images/smiley-cry.gif" width="18" height="18" border="0" alt="{$lang_emotions_cry}" title="{$lang_emotions_cry}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-embarassed.gif','lang_emotions_embarassed');"><img src="images/smiley-embarassed.gif" width="18" height="18" border="0" alt="{$lang_emotions_embarassed}" title="{$lang_emotions_embarassed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-foot-in-mouth.gif','lang_emotions_foot_in_mouth');"><img src="images/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_foot_in_mouth}" title="{$lang_emotions_foot_in_mouth}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-frown.gif','lang_emotions_frown');"><img src="images/smiley-frown.gif" width="18" height="18" border="0" alt="{$lang_emotions_frown}" title="{$lang_emotions_frown}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-innocent.gif','lang_emotions_innocent');"><img src="images/smiley-innocent.gif" width="18" height="18" border="0" alt="{$lang_emotions_innocent}" title="{$lang_emotions_innocent}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-kiss.gif','lang_emotions_kiss');"><img src="images/smiley-kiss.gif" width="18" height="18" border="0" alt="{$lang_emotions_kiss}" title="{$lang_emotions_kiss}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-laughing.gif','lang_emotions_laughing');"><img src="images/smiley-laughing.gif" width="18" height="18" border="0" alt="{$lang_emotions_laughing}" title="{$lang_emotions_laughing}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-money-mouth.gif','lang_emotions_money_mouth');"><img src="images/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{$lang_emotions_money_mouth}" title="{$lang_emotions_money_mouth}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-sealed.gif','lang_emotions_sealed');"><img src="images/smiley-sealed.gif" width="18" height="18" border="0" alt="{$lang_emotions_sealed}" title="{$lang_emotions_sealed}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-smile.gif','lang_emotions_smile');"><img src="images/smiley-smile.gif" width="18" height="18" border="0" alt="{$lang_emotions_smile}" title="{$lang_emotions_smile}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-surprised.gif','lang_emotions_surprised');"><img src="images/smiley-surprised.gif" width="18" height="18" border="0" alt="{$lang_emotions_surprised}" title="{$lang_emotions_surprised}" /></a></td>
+		  </tr>
+		  <tr>
+			<td><a href="javascript:insertEmotion('smiley-tongue-out.gif','lang_emotions_tongue_out');"><img src="images/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{$lang_emotions_tongue-out}" title="{$lang_emotions_tongue_out}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-undecided.gif','lang_emotions_undecided');"><img src="images/smiley-undecided.gif" width="18" height="18" border="0" alt="{$lang_emotions_undecided}" title="{$lang_emotions_undecided}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-wink.gif','lang_emotions_wink');"><img src="images/smiley-wink.gif" width="18" height="18" border="0" alt="{$lang_emotions_wink}" title="{$lang_emotions_wink}" /></a></td>
+			<td><a href="javascript:insertEmotion('smiley-yell.gif','lang_emotions_yell');"><img src="images/smiley-yell.gif" width="18" height="18" border="0" alt="{$lang_emotions_yell}" title="{$lang_emotions_yell}" /></a></td>
+		  </tr>
+		</table>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/emotions.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+These emotions where taken from Mozilla Thunderbird.
+I hope they don't get angry if I use them here after all this is a open source project aswell.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cool.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-cry.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-embarassed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-frown.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-innocent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-kiss.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-laughing.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-sealed.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-smile.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-surprised.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-undecided.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-wink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/images/smiley-yell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/jscripts/functions.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function insertEmotion(file_name, title) {
+	title = tinyMCE.getLang(title);
+
+	if (title == null)
+		title = "";
+
+	// XML encode
+	title = title.replace(/&/g, '&amp;');
+	title = title.replace(/\"/g, '&quot;');
+	title = title.replace(/</g, '&lt;');
+	title = title.replace(/>/g, '&gt;');
+
+	var html = '<img src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" mce_src="' + tinyMCE.baseURL + "/plugins/emotions/images/" + file_name + '" border="0" alt="' + title + '" title="' + title + '" />';
+
+	tinyMCE.execCommand('mceInsertContent', false, html);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+// UK lang variables
+
+tinyMCE.addToLang('emotions',{
+title : 'Insert emotion',
+desc : 'Emotions',
+cool : 'Cool',
+cry : 'Cry',
+embarassed : 'Embarassed',
+foot_in_mouth : 'Foot in mouth',
+frown : 'Frown',
+innocent : 'Innocent',
+kiss : 'Kiss',
+laughing : 'Laughing',
+money_mouth : 'Money mouth',
+sealed : 'Sealed',
+smile : 'Smile',
+surprised : 'Surprised',
+tongue_out : 'Tongue out',
+undecided : 'Undecided',
+wink : 'Wink',
+yell : 'Yell'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/emotions/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+.mceItemFlash {
+	border: 1px dotted #cc0000;
+	background-image: url('../images/flash.gif');
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/css/flash.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 100px;
+}
+
+#width, #height {
+	width: 50px;
+}
+
+#file {
+	width: 250px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('flash');var TinyMCE_FlashPlugin={getInfo:function(){return{longname:'Flash',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['flash_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/flash/css/content.css")},getControlHTML:function(cn){switch(cn){case"flash":return tinyMCE.getButtonHTML(cn,'lang_flash_desc','{$pluginurl}/images/flash.gif','mceFlash')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFlash":var name="",swffile="",swfwidth="",swfheight="",action="insert";var template=new Array();var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();template['file']='../../plugins/flash/flash.htm';template['width']=430;template['height']=175;template['width']+=tinyMCE.getLang('lang_flash_delta_width',0);template['height']+=tinyMCE.getLang('lang_flash_delta_height',0);if(focusElm!=null&&focusElm.nodeName.toLowerCase()=="img"){name=tinyMCE.getAttrib(focusElm,'class');if(name.indexOf('mceItemFlash')==-1)return true;swffile=tinyMCE.getAttrib(focusElm,'alt');if(tinyMCE.getParam('convert_urls'))swffile=eval(tinyMCE.settings['urlconverter_callback']+"(swffile, null, true);");swfwidth=tinyMCE.getAttrib(focusElm,'width');swfheight=tinyMCE.getAttrib(focusElm,'height');action="update"}tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes",swffile:swffile,swfwidth:swfwidth,swfheight:swfheight,action:action});return true}return false},cleanup:function(type,content){switch(type){case"insert_to_editor_dom":if(tinyMCE.getParam('convert_urls')){var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}}break;case"get_from_editor_dom":var imgs=content.getElementsByTagName("img");for(var i=0;i<imgs.length;i++){if(tinyMCE.getAttrib(imgs[i],"class")=="mceItemFlash"){var src=tinyMCE.getAttrib(imgs[i],"alt");if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, null, true);");imgs[i].setAttribute('alt',src);imgs[i].setAttribute('title',src)}}break;case"insert_to_editor":var startPos=0;var embedList=new Array();content=content.replace(new RegExp('<[ ]*embed','gi'),'<embed');content=content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');content=content.replace(new RegExp('<[ ]*object','gi'),'<object');content=content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');while((startPos=content.indexOf('<embed',startPos+1))!=-1){var endPos=content.indexOf('>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+6,endPos));embedList[embedList.length]=attribs}var index=0;while((startPos=content.indexOf('<object',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('</object>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}var index=0;while((startPos=content.indexOf('<embed',startPos))!=-1){if(index>=embedList.length)break;var attribs=embedList[index];endPos=content.indexOf('>',startPos);endPos+=9;var contentAfter=content.substring(endPos);content=content.substring(0,startPos);content+='<img width="'+attribs["width"]+'" height="'+attribs["height"]+'"';content+=' src="'+(tinyMCE.getParam("theme_href")+'/images/spacer.gif')+'" title="'+attribs["src"]+'"';content+=' alt="'+attribs["src"]+'" class="mceItemFlash" />'+content.substring(endPos);content+=contentAfter;index++;startPos++}break;case"get_from_editor":var startPos=-1;while((startPos=content.indexOf('<img',startPos+1))!=-1){var endPos=content.indexOf('/>',startPos);var attribs=TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos+4,endPos));if(attribs['class']!="mceItemFlash")continue;endPos+=2;var embedHTML='';var wmode=tinyMCE.getParam("flash_wmode","");var quality=tinyMCE.getParam("flash_quality","high");var menu=tinyMCE.getParam("flash_menu","false");embedHTML+='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';embedHTML+=' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';embedHTML+=' width="'+attribs["width"]+'" height="'+attribs["height"]+'">';embedHTML+='<param name="movie" value="'+attribs["title"]+'" />';embedHTML+='<param name="quality" value="'+quality+'" />';embedHTML+='<param name="menu" value="'+menu+'" />';embedHTML+='<param name="wmode" value="'+wmode+'" />';embedHTML+='<embed src="'+attribs["title"]+'" wmode="'+wmode+'" quality="'+quality+'" menu="'+menu+'" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+attribs["width"]+'" height="'+attribs["height"]+'"></embed></object>';chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&tinyMCE.getAttrib(node,'class').indexOf('mceItemFlash')==0){tinyMCE.switchClass(editor_id+'_flash','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_flash','mceButtonNormal');return true},_parseAttributes:function(attribute_string){var attributeName="";var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue)withInValue=true;else if((chr=='"'||chr=="'")&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("flash",TinyMCE_FlashPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,285 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('flash');
+
+var TinyMCE_FlashPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Flash',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/flash',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['flash_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/flash/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "flash":
+				return tinyMCE.getButtonHTML(cn, 'lang_flash_desc', '{$pluginurl}/images/flash.gif', 'mceFlash');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFlash":
+				var name = "", swffile = "", swfwidth = "", swfheight = "", action = "insert";
+				var template = new Array();
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var focusElm = inst.getFocusElement();
+
+				template['file']   = '../../plugins/flash/flash.htm'; // Relative to theme
+				template['width']  = 430;
+				template['height'] = 175;
+
+				template['width'] += tinyMCE.getLang('lang_flash_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_flash_delta_height', 0);
+
+				// Is selection a image
+				if (focusElm != null && focusElm.nodeName.toLowerCase() == "img") {
+					name = tinyMCE.getAttrib(focusElm, 'class');
+
+					if (name.indexOf('mceItemFlash') == -1) // Not a Flash
+						return true;
+
+					// Get rest of Flash items
+					swffile = tinyMCE.getAttrib(focusElm, 'alt');
+
+					if (tinyMCE.getParam('convert_urls'))
+						swffile = eval(tinyMCE.settings['urlconverter_callback'] + "(swffile, null, true);");
+
+					swfwidth = tinyMCE.getAttrib(focusElm, 'width');
+					swfheight = tinyMCE.getAttrib(focusElm, 'height');
+					action = "update";
+				}
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", swffile : swffile, swfwidth : swfwidth, swfheight : swfheight, action : action});
+			return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				// Force relative/absolute
+				if (tinyMCE.getParam('convert_urls')) {
+					var imgs = content.getElementsByTagName("img");
+					for (var i=0; i<imgs.length; i++) {
+						if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+							var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+							if (tinyMCE.getParam('convert_urls'))
+								src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+							imgs[i].setAttribute('alt', src);
+							imgs[i].setAttribute('title', src);
+						}
+					}
+				}
+				break;
+
+			case "get_from_editor_dom":
+				var imgs = content.getElementsByTagName("img");
+				for (var i=0; i<imgs.length; i++) {
+					if (tinyMCE.getAttrib(imgs[i], "class") == "mceItemFlash") {
+						var src = tinyMCE.getAttrib(imgs[i], "alt");
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
+
+						imgs[i].setAttribute('alt', src);
+						imgs[i].setAttribute('title', src);
+					}
+				}
+				break;
+
+			case "insert_to_editor":
+				var startPos = 0;
+				var embedList = new Array();
+
+				// Fix the embed and object elements
+				content = content.replace(new RegExp('<[ ]*embed','gi'),'<embed');
+				content = content.replace(new RegExp('<[ ]*/embed[ ]*>','gi'),'</embed>');
+				content = content.replace(new RegExp('<[ ]*object','gi'),'<object');
+				content = content.replace(new RegExp('<[ ]*/object[ ]*>','gi'),'</object>');
+
+				// Parse all embed tags
+				while ((startPos = content.indexOf('<embed', startPos+1)) != -1) {
+					var endPos = content.indexOf('>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 6, endPos));
+					embedList[embedList.length] = attribs;
+				}
+
+				// Parse all object tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<object', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of object
+					endPos = content.indexOf('</object>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				// Parse all embed tags and replace them with images from the embed data
+				var index = 0;
+				while ((startPos = content.indexOf('<embed', startPos)) != -1) {
+					if (index >= embedList.length)
+						break;
+
+					var attribs = embedList[index];
+
+					// Find end of embed
+					endPos = content.indexOf('>', startPos);
+					endPos += 9;
+
+					// Insert image
+					var contentAfter = content.substring(endPos);
+					content = content.substring(0, startPos);
+					content += '<img width="' + attribs["width"] + '" height="' + attribs["height"] + '"';
+					content += ' src="' + (tinyMCE.getParam("theme_href") + '/images/spacer.gif') + '" title="' + attribs["src"] + '"';
+					content += ' alt="' + attribs["src"] + '" class="mceItemFlash" />' + content.substring(endPos);
+					content += contentAfter;
+					index++;
+
+					startPos++;
+				}
+
+				break;
+
+			case "get_from_editor":
+				// Parse all img tags and replace them with object+embed
+				var startPos = -1;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					var endPos = content.indexOf('/>', startPos);
+					var attribs = TinyMCE_FlashPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (attribs['class'] != "mceItemFlash")
+						continue;
+
+					endPos += 2;
+
+					var embedHTML = '';
+					var wmode = tinyMCE.getParam("flash_wmode", "");
+					var quality = tinyMCE.getParam("flash_quality", "high");
+					var menu = tinyMCE.getParam("flash_menu", "false");
+
+					// Insert object + embed
+					embedHTML += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
+					embedHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
+					embedHTML += ' width="' + attribs["width"] + '" height="' + attribs["height"] + '">';
+					embedHTML += '<param name="movie" value="' + attribs["title"] + '" />';
+					embedHTML += '<param name="quality" value="' + quality + '" />';
+					embedHTML += '<param name="menu" value="' + menu + '" />';
+					embedHTML += '<param name="wmode" value="' + wmode + '" />';
+					embedHTML += '<embed src="' + attribs["title"] + '" wmode="' + wmode + '" quality="' + quality + '" menu="' + menu + '" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + attribs["width"] + '" height="' + attribs["height"] + '"></embed></object>';
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItemFlash') == 0) {
+				tinyMCE.switchClass(editor_id + '_flash', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_flash', 'mceButtonNormal');
+
+		return true;
+	},
+
+	// Private plugin internal functions
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "";
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue)
+				withInValue = true;
+			else if ((chr == '"' || chr == "'") && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("flash", TinyMCE_FlashPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/flash.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,70 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_flash_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/flash.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<link href="css/flash.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertFlash();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_flash_general}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_flash_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+							<td nowrap="nowrap"><label for="file">{$lang_flash_file}</label></td>
+							  <td nowrap="nowrap">
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="file" name="file" type="text" value="" onfocus="this.select();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_flash_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td nowrap="nowrap"><label>{$lang_flash_size}</label></td>
+								<td nowrap="nowrap">
+									<input type="text" id="width" name="width" value="" onfocus="this.select();" />
+									<select name="width2" id="width2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>&nbsp;x&nbsp;<input id="height" name="height" type="text"  value="" onfocus="this.select();" />
+									<select name="height2" id="height2" style="width: 50px">
+										<option value="">px</option>
+										<option value="%">%</option>
+									</select>
+								</td>
+							</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertFlash();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/jscripts/flash.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+var url = tinyMCE.getParam("flash_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById("filebrowsercontainer").innerHTML = getBrowserHTML('filebrowser','file','flash','flash');
+
+	// Image list outsrc
+	var html = getFlashListHTML('filebrowser','file','flash','flash');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	var formObj = document.forms[0];
+	var swffile   = tinyMCE.getWindowArg('swffile');
+	var swfwidth  = '' + tinyMCE.getWindowArg('swfwidth');
+	var swfheight = '' + tinyMCE.getWindowArg('swfheight');
+
+	if (swfwidth.indexOf('%')!=-1) {
+		formObj.width2.value = "%";
+		formObj.width.value  = swfwidth.substring(0,swfwidth.length-1);
+	} else {
+		formObj.width2.value = "px";
+		formObj.width.value  = swfwidth;
+	}
+
+	if (swfheight.indexOf('%')!=-1) {
+		formObj.height2.value = "%";
+		formObj.height.value  = swfheight.substring(0,swfheight.length-1);
+	} else {
+		formObj.height2.value = "px";
+		formObj.height.value  = swfheight;
+	}
+
+	formObj.file.value = swffile;
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true);
+
+	selectByValue(formObj, 'linklist', swffile);
+
+	// Handle file browser
+	if (isVisible('filebrowser'))
+		document.getElementById('file').style.width = '230px';
+
+	// Auto select flash in list
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		for (var i=0; i<formObj.linklist.length; i++) {
+			if (formObj.linklist.options[i].value == tinyMCE.getWindowArg('swffile'))
+				formObj.linklist.options[i].selected = true;
+		}
+	}
+}
+
+function getFlashListHTML() {
+	if (typeof(tinyMCEFlashList) != "undefined" && tinyMCEFlashList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.file.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEFlashList.length; i++)
+			html += '<option value="' + tinyMCEFlashList[i][1] + '">' + tinyMCEFlashList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function insertFlash() {
+	var formObj = document.forms[0];
+	var html      = '';
+	var file      = formObj.file.value;
+	var width     = formObj.width.value;
+	var height    = formObj.height.value;
+	if (formObj.width2.value=='%') {
+		width = width + '%';
+	}
+	if (formObj.height2.value=='%') {
+		height = height + '%';
+	}
+
+	if (width == "")
+		width = 100;
+
+	if (height == "")
+		height = 100;
+
+	html += ''
+		+ '<img src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" mce_src="' + (tinyMCE.getParam("theme_href") + "/images/spacer.gif") + '" '
+		+ 'width="' + width + '" height="' + height + '" '
+		+ 'border="0" alt="' + file + '" title="' + file + '" class="mceItemFlash" />';
+
+	tinyMCEPopup.execCommand("mceInsertContent", true, html);
+	tinyMCE.selectedInstance.repaint();
+
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+// UK lang variables
+
+tinyMCE.addToLang('flash',{
+title : 'Insert / edit Flash Movie',
+desc : 'Insert / edit Flash Movie',
+file : 'Flash-File (.swf)',
+size : 'Size',
+list : 'Flash files',
+props : 'Flash properties',
+general : 'General'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/flash/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body onload="parent.setupIframe(document);">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/css/fullpage.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+/* Hide the advanced tab */
+#advanced_tab {
+	display: none;
+}
+
+#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
+	width: 280px;
+}
+
+#doctype, #docencoding {
+	width: 200px;
+}
+
+#langcode {
+	width: 30px;
+}
+
+#bgimage {
+	width: 220px;	
+}
+
+#fontface {
+	width: 240px;
+}
+
+#leftmargin, #rightmargin, #topmargin, #bottommargin {
+	width: 50px;
+}
+
+.panel_wrapper div.current {
+	height: 400px;
+}
+
+#stylesheet, #style {
+	width: 240px;
+}
+
+/* Head list classes */
+
+.headlistwrapper {
+	width: 100%;
+}
+
+.addbutton, .removebutton, .moveupbutton, .movedownbutton {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+	display: block;
+	width: 20px;
+	height: 20px;
+}
+
+.addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.addbutton {
+	background-image: url('../images/add.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.removebutton {
+	background-image: url('../images/remove.gif');
+	float: left;
+}
+
+.moveupbutton {
+	background-image: url('../images/move_up.gif');
+	float: left;
+	margin-right: 3px;
+}
+
+.movedownbutton {
+	background-image: url('../images/move_down.gif');
+	float: left;
+}
+
+.selected {
+	border: 1px solid #0A246A;
+	background-color: #B6BDD2;
+}
+
+.toolbar {
+	width: 100%;
+}
+
+#headlist {
+	width: 100%;
+	margin-top: 3px;
+	font-size: 11px;
+}
+
+#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
+	display: none;
+}
+
+#addmenu {
+	position: absolute;
+	border: 1px solid gray;
+	display: none;
+	z-index: 100;
+	background-color: white;
+}
+
+#addmenu a {
+	display: block;
+	width: 100%;
+	line-height: 20px;
+	text-decoration: none;
+	background-color: white;
+}
+
+#addmenu a:hover {
+	background-color: #B6BDD2;
+	color: black;
+}
+
+#addmenu span {
+	padding-left: 10px;
+	padding-right: 10px;
+}
+
+#updateElementPanel {
+	display: none;
+}
+
+#script_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#style_element .panel_wrapper div.current {
+	height: 108px;
+}
+
+#link_element  .panel_wrapper div.current {
+	height: 140px;
+}
+
+#element_script_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_comment_value {
+	width: 100%;
+	height: 120px;
+}
+
+#element_style_value {
+	width: 100%;
+	height: 100px;
+}
+
+#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
+	width: 250px;
+}
+
+.updateElementButton {
+	margin-top: 3px;
+}
+
+/* MSIE specific styles */
+
+* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
+	width: 22px;
+	height: 22px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullpage');var TinyMCE_FullPagePlugin={getInfo:function(){return{longname:'Fullpage',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"fullpage":return tinyMCE.getButtonHTML(cn,'lang_fullpage_desc','{$pluginurl}/images/fullpage.gif','mceFullPageProperties')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceFullPageProperties":var template=new Array();template['file']='../../plugins/fullpage/fullpage.htm';template['width']=430;template['height']=485+(tinyMCE.isOpera?5:0);template['width']+=tinyMCE.getLang('lang_fullpage_delta_width',0);template['height']+=tinyMCE.getLang('lang_fullpage_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceFullPageUpdate":TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));return true}return false},cleanup:function(type,content,inst){switch(type){case"insert_to_editor":var tmp=content.toLowerCase();var pos=tmp.indexOf('<body'),pos2;if(pos!=-1){pos=tmp.indexOf('>',pos);pos2=tmp.lastIndexOf('</body>');inst.fullpageTopContent=content.substring(0,pos+1);content=content.substring(pos+1,pos2);}else{if(!inst.fullpageTopContent){var docType=tinyMCE.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');var enc=tinyMCE.getParam("fullpage_default_encoding",'utf-8');var title=tinyMCE.getParam("fullpage_default_title",'Untitled document');var lang=tinyMCE.getParam("fullpage_default_langcode",'en');var pi=tinyMCE.getParam("fullpage_default_xml_pi",true);var ff=tinyMCE.getParam("fullpage_default_font_family","");var fz=tinyMCE.getParam("fullpage_default_font_size","");var ds=tinyMCE.getParam("fullpage_default_style","");var dtc=tinyMCE.getParam("fullpage_default_text_color","");title=title.replace(/&/g,'&amp;');title=title.replace(/\"/g,'&quot;');title=title.replace(/</g,'&lt;');title=title.replace(/>/g,'&gt;');tmp='';if(pi)tmp+='<?xml version="1.0" encoding="'+enc+'"?>\n';tmp+=docType+'\n';tmp+='<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="'+lang+'" xml:lang="'+lang+'">\n';tmp+='<head>\n';tmp+='\t<title>'+title+'</title>\n';tmp+='\t<meta http-equiv="Content-Type" content="text/html; charset='+enc+'" />\n';tmp+='</head>\n';tmp+='<body';if(ff!=''||fz!=''){tmp+=' style="';if(ds!='')tmp+=ds+";";if(ff!='')tmp+='font-family: '+ff+";";if(fz!='')tmp+='font-size: '+fz+";";tmp+='"'}if(dtc!='')tmp+=' text="'+dtc+'"';tmp+='>\n';inst.fullpageTopContent=tmp}}this._addToHead(inst);break;case"get_from_editor":if(inst.fullpageTopContent)content=inst.fullpageTopContent+content+"\n</body>\n</html>";break}return content},_addToHead:function(inst){var doc=inst.getDoc();var head=doc.getElementsByTagName("head")[0];var body=doc.body;var h=inst.fullpageTopContent;var e=doc.createElement("body");var nl,i,le,tmp;h=h.replace(/(\r|\n)/gi,'');h=h.replace(/<\?[^\>]*\>/gi,'');h=h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi,'');h=h.replace(/<script(.*?)<\/script>/gi,'');h=h.replace(/<title(.*?)<\/title>/gi,'');h=h.replace(/<(meta|base)[^>]*>/gi,'');h=h.replace(/<link([^>]*)\/>/gi,'<pre mce_type="link" $1></pre>');h=h.replace(/<body/gi,'<div mce_type="body"');h+='</div>';e.innerHTML=h;body.vLink=body.aLink=body.link=body.text='';body.style.cssText='';nl=head.getElementsByTagName('link');for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],'mce_head')=="true")nl[i].parentNode.removeChild(nl[i])}nl=e.getElementsByTagName('pre');for(i=0;i<nl.length;i++){tmp=tinyMCE.getAttrib(nl[i],'media');if(tinyMCE.getAttrib(nl[i],'mce_type')=="link"&&(tmp==""||tmp=="screen"||tmp=="all")&&tinyMCE.getAttrib(nl[i],'rel')=="stylesheet"){le=doc.createElement("link");le.rel="stylesheet";le.href=tinyMCE.getAttrib(nl[i],'href');le.setAttribute("mce_head","true");head.appendChild(le)}}nl=e.getElementsByTagName('div');if(nl.length>0){body.style.cssText=tinyMCE.getAttrib(nl[0],'style');if((tmp=tinyMCE.getAttrib(nl[0],'leftmargin'))!=''&&body.style.marginLeft=='')body.style.marginLeft=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'rightmargin'))!=''&&body.style.marginRight=='')body.style.marginRight=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'topmargin'))!=''&&body.style.marginTop=='')body.style.marginTop=tmp+"px";if((tmp=tinyMCE.getAttrib(nl[0],'bottommargin'))!=''&&body.style.marginBottom=='')body.style.marginBottom=tmp+"px";body.dir=tinyMCE.getAttrib(nl[0],'dir');body.vLink=tinyMCE.getAttrib(nl[0],'vlink');body.aLink=tinyMCE.getAttrib(nl[0],'alink');body.link=tinyMCE.getAttrib(nl[0],'link');body.text=tinyMCE.getAttrib(nl[0],'text');if((tmp=tinyMCE.getAttrib(nl[0],'background'))!='')body.style.backgroundImage="url('"+tmp+"')";if((tmp=tinyMCE.getAttrib(nl[0],'bgcolor'))!='')body.style.backgroundColor=tmp}}};tinyMCE.addPlugin("fullpage",TinyMCE_FullPagePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,227 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullpage');
+
+var TinyMCE_FullPagePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullpage',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullpage":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullpage_desc', '{$pluginurl}/images/fullpage.gif', 'mceFullPageProperties');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceFullPageProperties":
+				var template = new Array();
+
+				template['file']   = '../../plugins/fullpage/fullpage.htm';
+				template['width']  = 430;
+				template['height'] = 485 + (tinyMCE.isOpera ? 5 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_fullpage_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_fullpage_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+			return true;
+
+			case "mceFullPageUpdate":
+				TinyMCE_FullPagePlugin._addToHead(tinyMCE.getInstanceById(editor_id));
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor":
+				var tmp = content.toLowerCase();
+				var pos = tmp.indexOf('<body'), pos2;
+
+				// Split page in header and body chunks
+				if (pos != -1) {
+					pos = tmp.indexOf('>', pos);
+					pos2 = tmp.lastIndexOf('</body>');
+					inst.fullpageTopContent = content.substring(0, pos + 1);
+					content = content.substring(pos + 1, pos2);
+					// tinyMCE.debug(inst.fullpageTopContent, content);
+				} else {
+					if (!inst.fullpageTopContent) {
+						var docType = tinyMCE.getParam("fullpage_default_doctype", '<!DOCTYPE html PUBLIC "-/'+'/W3C//DTD XHTML 1.0 Transitional/'+'/EN" "http:/'+'/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
+						var enc = tinyMCE.getParam("fullpage_default_encoding", 'utf-8');
+						var title = tinyMCE.getParam("fullpage_default_title", 'Untitled document');
+						var lang = tinyMCE.getParam("fullpage_default_langcode", 'en');
+						var pi = tinyMCE.getParam("fullpage_default_xml_pi", true);
+						var ff = tinyMCE.getParam("fullpage_default_font_family", "");
+						var fz = tinyMCE.getParam("fullpage_default_font_size", "");
+						var ds = tinyMCE.getParam("fullpage_default_style", "");
+						var dtc = tinyMCE.getParam("fullpage_default_text_color", "");
+
+						// Xml encode it
+						title = title.replace(/&/g, '&amp;');
+						title = title.replace(/\"/g, '&quot;');
+						title = title.replace(/</g, '&lt;');
+						title = title.replace(/>/g, '&gt;');
+
+						tmp = '';
+
+						// Make default chunk
+						if (pi)
+							tmp += '<?xml version="1.0" encoding="' + enc + '"?>\n';
+
+						tmp += docType + '\n';
+						tmp += '<html xmlns="http:/'+'/www.w3.org/1999/xhtml" lang="' + lang + '" xml:lang="' + lang + '">\n';
+						tmp += '<head>\n';
+						tmp += '\t<title>' + title + '</title>\n';
+						tmp += '\t<meta http-equiv="Content-Type" content="text/html; charset=' + enc + '" />\n';
+						tmp += '</head>\n';
+						tmp += '<body';
+
+						if (ff != '' || fz != '') {
+							tmp += ' style="';
+
+							if (ds != '')
+								tmp += ds + ";";
+
+							if (ff != '')
+								tmp += 'font-family: ' + ff + ";";
+
+							if (fz != '')
+								tmp += 'font-size: ' + fz + ";";
+
+							tmp += '"';
+						}
+
+						if (dtc != '')
+							tmp += ' text="' + dtc + '"';
+
+						tmp += '>\n';
+
+						inst.fullpageTopContent = tmp;
+					}
+				}
+
+				this._addToHead(inst);
+
+				break;
+
+			case "get_from_editor":
+				if (inst.fullpageTopContent)
+					content = inst.fullpageTopContent + content + "\n</body>\n</html>";
+
+				break;
+		}
+
+		// Pass through to next handler in chain
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_addToHead : function(inst) {
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName("head")[0];
+		var body = doc.body;
+		var h = inst.fullpageTopContent;
+		var e = doc.createElement("body");
+		var nl, i, le, tmp;
+
+		// Remove stuff we don't want
+		h = h.replace(/(\r|\n)/gi, '');
+		h = h.replace(/<\?[^\>]*\>/gi, '');
+		h = h.replace(/<\/?(!DOCTYPE|head|html)[^\>]*\>/gi, '');
+		h = h.replace(/<script(.*?)<\/script>/gi, '');
+		h = h.replace(/<title(.*?)<\/title>/gi, '');
+		h = h.replace(/<(meta|base)[^>]*>/gi, '');
+
+		// Make link and style elements into pre
+		h = h.replace(/<link([^>]*)\/>/gi, '<pre mce_type="link" $1></pre>');
+		//h = h.replace(/<style([^>]*)>(.*?)<\/style>/gi, '<pre mce_type="style" $1>$2</pre>');
+
+		// Make body a div
+		h = h.replace(/<body/gi, '<div mce_type="body"');
+		h += '</div>';
+
+		// Now crapy MSIE can parse it
+		e.innerHTML = h;
+
+		// Reset all body attributes
+		body.vLink = body.aLink = body.link = body.text = '';
+		body.style.cssText = '';
+
+		// Delete all old links
+		nl = head.getElementsByTagName('link');
+		for (i=0; i<nl.length; i++) {
+			if (tinyMCE.getAttrib(nl[i], 'mce_head') == "true")
+				nl[i].parentNode.removeChild(nl[i]);
+		}
+
+		// Add link elements
+		nl = e.getElementsByTagName('pre');
+		for (i=0; i<nl.length; i++) {
+			tmp = tinyMCE.getAttrib(nl[i], 'media');
+			if (tinyMCE.getAttrib(nl[i], 'mce_type') == "link" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(nl[i], 'rel') == "stylesheet") {
+				le = doc.createElement("link");
+
+				le.rel = "stylesheet";
+				le.href = tinyMCE.getAttrib(nl[i], 'href');
+				le.setAttribute("mce_head", "true");
+
+				head.appendChild(le);
+			}
+		}
+
+		// Add body attributes
+		nl = e.getElementsByTagName('div');
+		if (nl.length > 0) {
+			body.style.cssText = tinyMCE.getAttrib(nl[0], 'style');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'leftmargin')) != '' && body.style.marginLeft == '')
+				body.style.marginLeft = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'rightmargin')) != '' && body.style.marginRight == '')
+				body.style.marginRight = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'topmargin')) != '' && body.style.marginTop == '')
+				body.style.marginTop = tmp + "px";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bottommargin')) != '' && body.style.marginBottom == '')
+				body.style.marginBottom = tmp + "px";
+
+			body.dir = tinyMCE.getAttrib(nl[0], 'dir');
+			body.vLink = tinyMCE.getAttrib(nl[0], 'vlink');
+			body.aLink = tinyMCE.getAttrib(nl[0], 'alink');
+			body.link = tinyMCE.getAttrib(nl[0], 'link');
+			body.text = tinyMCE.getAttrib(nl[0], 'text');
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'background')) != '')
+				body.style.backgroundImage = "url('" + tmp + "')";
+
+			if ((tmp = tinyMCE.getAttrib(nl[0], 'bgcolor')) != '')
+				body.style.backgroundColor = tmp;
+		}
+	}
+};
+
+tinyMCE.addPlugin("fullpage", TinyMCE_FullPagePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/fullpage.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,577 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullpage_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mclayer.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/fullpage.js"></script>
+	<link href="css/fullpage.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="updateAction();return false;" name="fullpage" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{$lang_fullpage_meta_tab}</a></span></li>
+				<li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_fullpage_appearance_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="meta_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_fullpage_meta_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td nowrap="nowrap"><label for="metatitle">{$lang_fullpage_meta_title}</label>&nbsp;</td>
+							<td><input type="text" id="metatitle" name="metatitle" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metakeywords">{$lang_fullpage_meta_keywords}</label>&nbsp;</td>
+							<td><textarea id="metakeywords" name="metakeywords" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metadescription">{$lang_fullpage_meta_description}</label>&nbsp;</td>
+							<td><textarea id="metadescription" name="metadescription" rows="3"></textarea></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metaauthor">{$lang_fullpage_author}</label>&nbsp;</td>
+							<td><input type="text" id="metaauthor" name="metaauthor" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metacopyright">{$lang_fullpage_copyright}</label>&nbsp;</td>
+							<td><input type="text" id="metacopyright" name="metacopyright" value="" /></td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="metarobots">{$lang_fullpage_meta_robots}</label>&nbsp;</td>
+							<td>
+<select id="metarobots" name="metarobots">
+			<option value="">{$lang_not_set}</option> 
+			<option value="index,follow">{$lang_fullpage_meta_index_follow}</option>
+			<option value="index,nofollow">{$lang_fullpage_meta_index_nofollow}</option>
+			<option value="noindex,follow">{$lang_fullpage_meta_noindex_follow}</option>
+			<option value="noindex,nofollow">{$lang_fullpage_meta_noindex_nofollow}</option>
+</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_langprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="docencoding">{$lang_fullpage_encoding}</label></td> 
+							<td>
+								<select id="docencoding" name="docencoding"> 
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="doctypes">{$lang_fullpage_doctypes}</label>&nbsp;</td>
+							<td>
+								<select id="doctypes" name="doctypes">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="langcode">{$lang_fullpage_langcode}</label>&nbsp;</td>
+							<td><input type="text" id="langcode" name="langcode" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="langdir">{$lang_fullpage_langdir}</label></td> 
+							<td>
+								<select id="langdir" name="langdir"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_fullpage_ltr}</option> 
+										<option value="rtl">{$lang_fullpage_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+						<tr>
+							<td nowrap="nowrap"><label for="xml_pi">{$lang_fullpage_xml_pi}</label>&nbsp;</td>
+							<td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="appearance_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_textprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="fontface">{$lang_fullpage_fontface}</label></td> 
+							<td>
+								<select id="fontface" name="fontface" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="fontsize">{$lang_fullpage_fontsize}</label></td> 
+							<td>
+								<select id="fontsize" name="fontsize" onchange="changedStyleField(this);">
+										<option value="">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="textcolor">{$lang_fullpage_textcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');changedStyleField(this);" /></td>
+										<td id="textcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_bgprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="bgimage">{$lang_fullpage_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgimage" name="bgimage" type="text" value="" onchange="changedStyleField(this);" /></td>
+										<td id="bgimage_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_fullpage_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedStyleField(this);" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_marginprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="leftmargin">{$lang_fullpage_left_margin}</label></td> 
+							<td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="rightmargin">{$lang_fullpage_right_margin}</label></td> 
+							<td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="topmargin">{$lang_fullpage_top_margin}</label></td> 
+							<td><input id="topmargin" name="topmargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+							<td class="column1"><label for="bottommargin">{$lang_fullpage_bottom_margin}</label></td> 
+							<td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_linkprops}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="link_color">{$lang_fullpage_link_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');changedStyleField(this);" /></td>
+										<td id="link_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td class="column1"><label for="visited_color">{$lang_fullpage_visited_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');changedStyleField(this);" /></td>
+										<td id="visited_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="active_color">{$lang_fullpage_active_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');changedStyleField(this);" /></td>
+										<td id="active_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+
+							<td>&nbsp;</td>
+							<td>&nbsp;</td>
+
+<!--							<td class="column1"><label for="hover_color">{$lang_fullpage_hover_color}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="hover_color" name="hover_color" type="text" value="" size="9" onchange="changedStyleField(this);" /></td>
+										<td id="hover_color_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> -->
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_fullpage_appearance_style}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="stylesheet">{$lang_fullpage_stylesheet}</label></td> 
+							<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="stylesheet" name="stylesheet" type="text" value="" /></td>
+										<td id="stylesheet_browsercontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="style">{$lang_fullpage_style}</label></td> 
+							<td><input id="style" name="style" type="text" value="" onchange="changedStyleField(this);" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<div id="addmenu">
+					<table border="0" cellpadding="0" cellspacing="0">
+						<tr><td><a href="javascript:addHeadElm('title');" onmousedown="return false;"><span>{$lang_fullpage_add_title}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('meta');" onmousedown="return false;"><span>{$lang_fullpage_add_meta}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('script');" onmousedown="return false;"><span>{$lang_fullpage_add_script}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('style');" onmousedown="return false;"><span>{$lang_fullpage_add_style}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('link');" onmousedown="return false;"><span>{$lang_fullpage_add_link}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('base');" onmousedown="return false;"><span>{$lang_fullpage_add_base}</span></a></td></tr>
+						<tr><td><a href="javascript:addHeadElm('comment');" onmousedown="return false;"><span>{$lang_fullpage_add_comment}</span></a></td></tr>
+					</table>
+				</div>
+
+				<fieldset>
+					<legend>{$lang_fullpage_head_elements}</legend>
+
+					<div class="headlistwrapper">
+						<div class="toolbar">
+							<div style="float: left">
+								<a id="addbutton" href="javascript:showAddMenu();" onmousedown="return false;" class="addbutton" title="{$lang_fullpage_add}"></a>
+								<a href="#" onmousedown="return false;" class="removebutton" title="{$lang_fullpage_remove}"></a>
+							</div>
+							<div style="float: right">
+								<a href="#" onmousedown="return false;" class="moveupbutton" title="{$lang_fullpage_moveup}"></a>
+								<a href="#" onmousedown="return false;" class="movedownbutton" title="{$lang_fullpage_movedown}"></a>
+							</div>
+							<br style="clear: both" />
+						</div>
+						<select id="headlist" size="26" onchange="updateHeadElm(this.options[this.selectedIndex].value);">
+							<option value="title_0">&lt;title&gt;Some title bla bla bla&lt;/title&gt;</option>
+							<option value="meta_1">&lt;meta name="keywords"&gt;Some bla bla bla&lt;/meta&gt;</option>
+							<option value="meta_2">&lt;meta name="description"&gt;Some bla bla bla bla bla bla bla bla bla&lt;/meta&gt;</option>
+							<option value="script_3">&lt;script language=&quot;javascript&quot;&gt;...&lt;/script&gt;</option>
+							<option value="style_4">&lt;style&gt;...&lt;/style&gt;</option>
+							<option value="base_5">&lt;base href="." /&gt;</option>
+							<option value="comment_6">&lt;!-- ... --&gt;</option>
+							<option value="link_7">&lt;link href="." /&gt;</option>
+						</select>
+					</div>
+				</fieldset>
+
+				<fieldset id="meta_element">
+					<legend>{$lang_fullpage_meta_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_meta_type">{$lang_fullpage_type}</label></td> 
+							<td><select id="element_meta_type">
+										<option value="name">name</option>
+										<option value="http-equiv">http-equiv</option>
+								</select></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_name">{$lang_fullpage_name}</label></td> 
+							<td><input id="element_meta_name" name="element_meta_name" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_meta_content">{$lang_fullpage_content}</label></td> 
+							<td><input id="element_meta_content" name="element_meta_content" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="meta_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="title_element">
+					<legend>{$lang_fullpage_title_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_title">{$lang_fullpage_meta_title}</label></td> 
+							<td><input id="element_title" name="element_title" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="title_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="script_element">
+					<legend>{$lang_fullpage_script_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="script_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('script_props_tab','script_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="script_value_tab"><span><a href="javascript:mcTabs.displayTab('script_value_tab','script_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="script_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_script_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_script_type">
+										<option value="text/javascript">text/javascript</option>
+										<option value="text/jscript">text/jscript</option>
+										<option value="text/vbscript">text/vbscript</option>
+										<option value="text/vbs">text/vbs</option>
+										<option value="text/ecmascript">text/ecmascript</option>
+										<option value="text/xml">text/xml</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_src">{$lang_fullpage_src}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_script_src" name="element_script_src" type="text" value="" /></td>
+										<td id="script_src_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_script_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_script_defer">{$lang_fullpage_defer}</label></td> 
+									<td><input type="checkbox" id="element_script_defer" name="element_script_defer" class="checkbox" /></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="script_value_panel" class="panel">
+							<textarea id="element_script_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="script_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="style_element">
+					<legend>{$lang_fullpage_style_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="style_props_tab" class="current"><span><a href="javascript:mcTabs.displayTab('style_props_tab','style_props_panel');" onmousedown="return false;">{$lang_fullpage_properties}</a></span></li>
+							<li id="style_value_tab"><span><a href="javascript:mcTabs.displayTab('style_value_tab','style_value_panel');" onmousedown="return false;">{$lang_fullpage_value}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="style_props_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_style_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_style_type">
+										<option value="text/css">text/css</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_style_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_style_media"></select></td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="style_value_panel" class="panel">
+							<textarea id="element_style_value"></textarea>
+						</div>
+					</div>
+
+					<input type="button" id="style_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="base_element">
+					<legend>{$lang_fullpage_base_element}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td class="column1"><label for="element_base_href">{$lang_fullpage_href}</label></td> 
+							<td><input id="element_base_href" name="element_base_href" type="text" value="" /></td>
+						</tr>
+						<tr>
+							<td class="column1"><label for="element_base_target">{$lang_fullpage_target}</label></td> 
+							<td><input id="element_base_target" name="element_base_target" type="text" value="" /></td>
+						</tr>
+					</table>
+
+					<input type="button" id="base_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="link_element">
+					<legend>{$lang_fullpage_link_element}</legend>
+
+					<div class="tabs">
+						<ul>
+							<li id="link_general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('link_general_tab','link_general_panel');" onmousedown="return false;">{$lang_fullpage_general_props}</a></span></li>
+							<li id="link_advanced_tab"><span><a href="javascript:mcTabs.displayTab('link_advanced_tab','link_advanced_panel');" onmousedown="return false;">{$lang_fullpage_advanced_props}</a></span></li>
+						</ul>
+					</div>
+
+					<br style="clear: both" />
+
+					<div class="panel_wrapper">
+						<div id="link_general_panel" class="panel current">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_href">{$lang_fullpage_href}</label></td> 
+									<td><table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="element_link_href" name="element_link_href" type="text" value="" /></td>
+										<td id="link_href_pickcontainer">&nbsp;</td>
+									</tr>
+								</table></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_title">{$lang_fullpage_meta_title}</label></td> 
+									<td><input id="element_link_title" name="element_link_title" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_type">{$lang_fullpage_type}</label></td> 
+									<td><select id="element_link_type" name="element_link_type">
+										<option value="text/css">text/css</option>
+										<option value="text/javascript">text/javascript</option>
+									</select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_media">{$lang_fullpage_media}</label></td> 
+									<td><select id="element_link_media" name="element_link_media"></select></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rel">{$lang_fullpage_rel}</label></td>
+									<td><select id="element_style_rel" name="element_style_rel"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="stylesheet">Stylesheet</option>
+											<option value="alternate">Alternate</option>
+											<option value="designates">Designates</option>
+											<option value="start">Start</option>
+											<option value="next">Next</option>
+											<option value="prev">Prev</option>
+											<option value="contents">Contents</option>
+											<option value="index">Index</option>
+											<option value="glossary">Glossary</option>
+											<option value="copyright">Copyright</option>
+											<option value="chapter">Chapter</option>
+											<option value="subsection">Subsection</option>
+											<option value="appendix">Appendix</option>
+											<option value="help">Help</option>
+											<option value="bookmark">Bookmark</option>
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+
+						<div id="link_advanced_panel" class="panel">
+							<table border="0" cellpadding="4" cellspacing="0">
+								<tr>
+									<td class="column1"><label for="element_link_charset">{$lang_fullpage_charset}</label></td> 
+									<td><select id="element_link_charset"><option value="">{$lang_not_set}</option></select></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_hreflang">{$lang_fullpage_hreflang}</label></td> 
+									<td><input id="element_link_hreflang" name="element_link_hreflang" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td class="column1"><label for="element_link_target">{$lang_fullpage_target}</label></td> 
+									<td><input id="element_link_target" name="element_link_target" type="text" value="" /></td>
+								</tr>
+								<tr>
+									<td><label for="element_style_rev">{$lang_fullpage_rev}</label></td>
+									<td><select id="element_style_rev" name="element_style_rev"> 
+											<option value="">{$lang_not_set}</option> 
+											<option value="alternate">Alternate</option> 
+											<option value="designates">Designates</option> 
+											<option value="stylesheet">Stylesheet</option> 
+											<option value="start">Start</option> 
+											<option value="next">Next</option> 
+											<option value="prev">Prev</option> 
+											<option value="contents">Contents</option> 
+											<option value="index">Index</option> 
+											<option value="glossary">Glossary</option> 
+											<option value="copyright">Copyright</option> 
+											<option value="chapter">Chapter</option> 
+											<option value="subsection">Subsection</option> 
+											<option value="appendix">Appendix</option> 
+											<option value="help">Help</option> 
+											<option value="bookmark">Bookmark</option> 
+										</select> 
+									</td>
+								</tr>
+							</table>
+						</div>
+					</div>
+
+					<input type="button" id="link_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+
+				<fieldset id="comment_element">
+					<legend>{$lang_fullpage_comment_element}</legend>
+
+					<textarea id="element_comment_value"></textarea>
+
+					<input type="button" id="comment_updateelement" class="updateElementButton" name="update" value="{$lang_update}" onclick="updateElement();" />
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="update" value="{$lang_update}" onclick="updateAction();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+    </form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/add.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/fullpage.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_down.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/move_up.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/images/remove.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/jscripts/fullpage.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,580 @@
+//
+
+var defaultDocTypes = 
+	'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' +
+	'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' +
+	'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' +
+	'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">">,' +
+	'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' +
+	'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' +
+	'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">';
+
+var defaultEncodings = 
+	'Western european (iso-8859-1)=iso-8859-1,' +
+	'Central European (iso-8859-2)=iso-8859-2,' +
+	'Unicode (UTF-8)=utf-8,' +
+	'Chinese traditional (Big5)=big5,' +
+	'Cyrillic (iso-8859-5)=iso-8859-5,' +
+	'Japanese (iso-2022-jp)=iso-2022-jp,' +
+	'Greek (iso-8859-7)=iso-8859-7,' +
+	'Korean (iso-2022-kr)=iso-2022-kr,' +
+	'ASCII (us-ascii)=us-ascii';
+
+var defaultMediaTypes = 
+	'all=all,' +
+	'screen=screen,' +
+	'print=print,' +
+	'tty=tty,' +
+	'tv=tv,' +
+	'projection=projection,' +
+	'handheld=handheld,' +
+	'braille=braille,' +
+	'aural=aural';
+
+var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px';
+
+var addMenuLayer = new MCLayer("addmenu");
+var lastElementType = null;
+var topDoc;
+
+function init() {
+	var f = document.forms['fullpage'];
+	var i, p, doctypes, encodings, mediaTypes, fonts;
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+
+	// Setup doctype select box
+	doctypes = tinyMCE.getParam("fullpage_doctypes", defaultDocTypes).split(',');
+	for (i=0; i<doctypes.length; i++) {
+		p = doctypes[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'doctypes', p[0], p[1]);
+	}
+
+	// Setup fonts select box
+	fonts = tinyMCE.getParam("fullpage_fonts", defaultFontNames).split(';');
+	for (i=0; i<fonts.length; i++) {
+		p = fonts[i].split('=');
+
+		if (p.length > 1)
+			addSelectValue(f, 'fontface', p[0], p[1]);
+	}
+
+	// Setup fontsize select box
+	fonts = tinyMCE.getParam("fullpage_fontsizes", defaultFontSizes).split(',');
+	for (i=0; i<fonts.length; i++)
+		addSelectValue(f, 'fontsize', fonts[i], fonts[i]);
+
+	// Setup mediatype select boxs
+	mediaTypes = tinyMCE.getParam("fullpage_media_types", defaultMediaTypes).split(',');
+	for (i=0; i<mediaTypes.length; i++) {
+		p = mediaTypes[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'element_style_media', p[0], p[1]);
+			addSelectValue(f, 'element_link_media', p[0], p[1]);
+		}
+	}
+
+	// Setup encodings select box
+	encodings = tinyMCE.getParam("fullpage_encodings", defaultEncodings).split(',');
+	for (i=0; i<encodings.length; i++) {
+		p = encodings[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, 'docencoding', p[0], p[1]);
+			addSelectValue(f, 'element_script_charset', p[0], p[1]);
+			addSelectValue(f, 'element_link_charset', p[0], p[1]);
+		}
+	}
+
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+	document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color');
+	//document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color');
+	document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color');
+	document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color');
+	document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor');
+	document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage');
+	document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage');
+	document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage');
+	document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage');
+
+	// Resize some elements
+	if (isVisible('stylesheetbrowser'))
+		document.getElementById('stylesheet').style.width = '220px';
+
+	if (isVisible('link_href_browser'))
+		document.getElementById('element_link_href').style.width = '230px';
+
+	if (isVisible('bgimage_browser'))
+		document.getElementById('bgimage').style.width = '210px';
+
+	// Create iframe
+	var iframe = document.createElement('iframe');
+
+	iframe.id = 'tempFrame';
+	iframe.style.display = 'none';
+	iframe.src = tinyMCE.baseURL + "/plugins/fullpage/blank.htm";
+
+	document.body.appendChild(iframe);
+
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+function setupIframe(doc) {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var hc = inst.fullpageTopContent;
+	var f = document.forms[0];
+	var xmlVer, xmlEnc, docType;
+	var nodes, i, x, name, value, tmp, l;
+
+	// Keep it from not loading/executing stuff
+	hc = hc.replace(/<script>/gi, '<script type="text/javascript">');
+	hc = hc.replace(/\ssrc=/gi, " mce_src=");
+	hc = hc.replace(/\shref=/gi, " mce_href=");
+	hc = hc.replace(/\stype=/gi, " mce_type=");
+	hc = hc.replace(/<script/gi, '<script type="text/unknown" ');
+
+	// Add end to make it DOM parseable
+	hc += '</body></html>';
+
+	topDoc = doc;
+	doc.open();
+	doc.write(hc);
+	doc.close();
+
+	// ------- Setup options for genral tab
+
+	// Parse xml and doctype
+	xmlVer = getReItem(/<\?\s*?xml.*?version\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	xmlEnc = getReItem(/<\?\s*?xml.*?encoding\s*?=\s*?"(.*?)".*?\?>/gi, hc, 1);
+	docType = getReItem(/<\!DOCTYPE.*?>/gi, hc, 0);
+	f.langcode.value = getReItem(/lang="(.*?)"/gi, hc, 1);
+
+	// Get title
+	f.metatitle.value = tinyMCE.entityDecode(getReItem(/<title>(.*?)<\/title>/gi, hc, 1));
+
+	// Check for meta encoding
+	nodes = doc.getElementsByTagName("meta");
+	for (i=0; i<nodes.length; i++) {
+		name = tinyMCE.getAttrib(nodes[i], 'name');
+		value = tinyMCE.getAttrib(nodes[i], 'content');
+		httpEquiv = tinyMCE.getAttrib(nodes[i], 'httpEquiv');
+
+		switch (name.toLowerCase()) {
+			case "keywords":
+				f.metakeywords.value = value;
+				break;
+
+			case "description":
+				f.metadescription.value = value;
+				break;
+
+			case "author":
+				f.metaauthor.value = value;
+				break;
+
+			case "copyright":
+				f.metacopyright.value = value;
+				break;
+
+			case "robots":
+				selectByValue(f, 'metarobots', value, true, true);
+				break;
+		}
+
+		switch (httpEquiv.toLowerCase()) {
+			case "content-type":
+				tmp = getReItem(/charset\s*=\s*(.*)\s*/gi, value, 1);
+
+				// Override XML encoding
+				if (tmp != "")
+					xmlEnc = tmp;
+
+				break;
+		}
+	}
+
+	selectByValue(f, 'doctypes', docType, true, true);
+	selectByValue(f, 'docencoding', xmlEnc, true, true);
+	selectByValue(f, 'langdir', tinyMCE.getAttrib(doc.body, 'dir'), true, true);
+
+	if (xmlVer != '')
+		f.xml_pi.checked = true;
+
+	// ------- Setup options for appearance tab
+
+	// Get primary stylesheet
+	nodes = doc.getElementsByTagName("link");
+	for (i=0; i<nodes.length; i++) {
+		l = nodes[i];
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			f.stylesheet.value = tinyMCE.getAttrib(l, 'mce_href');
+			break;
+		}
+	}
+
+	// Get from style elements
+	nodes = doc.getElementsByTagName("style");
+	for (i=0; i<nodes.length; i++) {
+		tmp = parseStyleElement(nodes[i]);
+
+		for (x=0; x<tmp.length; x++) {
+		//	if (tmp[x].rule.indexOf('a:hover') != -1 && tmp[x].data['color'])
+		//		f.hover_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:visited') != -1 && tmp[x].data['color'])
+				f.visited_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:link') != -1 && tmp[x].data['color'])
+				f.link_color.value = tmp[x].data['color'];
+
+			if (tmp[x].rule.indexOf('a:active') != -1 && tmp[x].data['color'])
+				f.active_color.value = tmp[x].data['color'];
+		}
+	}
+
+	// Get from body attribs
+
+/*	f.leftmargin.value = tinyMCE.getAttrib(doc.body, "leftmargin");
+	f.rightmargin.value = tinyMCE.getAttrib(doc.body, "rightmargin");
+	f.topmargin.value = tinyMCE.getAttrib(doc.body, "topmargin");
+	f.bottommargin.value = tinyMCE.getAttrib(doc.body, "bottommargin");*/
+	f.textcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "text"));
+	f.active_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "alink"));
+	f.link_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "link"));
+	f.visited_color.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "vlink"));
+	f.bgcolor.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "bgcolor"));
+	f.bgimage.value = convertRGBToHex(tinyMCE.getAttrib(doc.body, "background"));
+
+	// Get from style info
+	var style = tinyMCE.parseStyle(tinyMCE.getAttrib(doc.body, 'style'));
+
+	if (style['font-family'])
+		selectByValue(f, 'fontface', style['font-family'], true, true);
+	else
+		selectByValue(f, 'fontface', tinyMCE.getParam("fullpage_default_fontface", ""), true, true);
+
+	if (style['font-size'])
+		selectByValue(f, 'fontsize', style['font-size'], true, true);
+	else
+		selectByValue(f, 'fontsize', tinyMCE.getParam("fullpage_default_fontsize", ""), true, true);
+
+	if (style['color'])
+		f.textcolor.value = convertRGBToHex(style['color']);
+
+	if (style['background-image'])
+		f.bgimage.value = style['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	if (style['background-color'])
+		f.bgcolor.value = convertRGBToHex(style['background-color']);
+
+	if (style['margin']) {
+		tmp = style['margin'].replace(/[^0-9 ]/g, '');
+		tmp = tmp.split(/ +/);
+		f.topmargin.value = tmp.length > 0 ? tmp[0] : '';
+		f.rightmargin.value = tmp.length > 1 ? tmp[1] : tmp[0];
+		f.bottommargin.value = tmp.length > 2 ? tmp[2] : tmp[0];
+		f.leftmargin.value = tmp.length > 3 ? tmp[3] : tmp[0];
+	}
+
+	if (style['margin-left'])
+		f.leftmargin.value = style['margin-left'].replace(/[^0-9]/g, '');
+
+	if (style['margin-right'])
+		f.rightmargin.value = style['margin-right'].replace(/[^0-9]/g, '');
+
+	if (style['margin-top'])
+		f.topmargin.value = style['margin-top'].replace(/[^0-9]/g, '');
+
+	if (style['margin-bottom'])
+		f.bottommargin.value = style['margin-bottom'].replace(/[^0-9]/g, '');
+
+	f.style.value = tinyMCE.serializeStyle(style);
+
+	updateColor('textcolor_pick', 'textcolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+	updateColor('visited_color_pick', 'visited_color');
+	updateColor('active_color_pick', 'active_color');
+	updateColor('link_color_pick', 'link_color');
+	//updateColor('hover_color_pick', 'hover_color');
+}
+
+function updateAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var f = document.forms[0];
+	var nl, i, h, v, s, head, html, l, tmp, addlink = true;
+
+	head = topDoc.getElementsByTagName('head')[0];
+
+	// Fix scripts without a type
+	nl = topDoc.getElementsByTagName('script');
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], 'mce_type') == '')
+			nl[i].setAttribute('mce_type', 'text/javascript');
+	}
+
+	// Get primary stylesheet
+	nl = topDoc.getElementsByTagName("link");
+	for (i=0; i<nl.length; i++) {
+		l = nl[i];
+
+		tmp = tinyMCE.getAttrib(l, 'media');
+
+		if (tinyMCE.getAttrib(l, 'mce_type') == "text/css" && (tmp == "" || tmp == "screen" || tmp == "all") && tinyMCE.getAttrib(l, 'rel') == "stylesheet") {
+			addlink = false;
+
+			if (f.stylesheet.value == '')
+				l.parentNode.removeChild(l);
+			else
+				l.setAttribute('mce_href', f.stylesheet.value);
+
+			break;
+		}
+	}
+
+	// Add new link
+	if (f.stylesheet.value != '') {
+		l = topDoc.createElement('link');
+
+		l.setAttribute('mce_type', 'text/css');
+		l.setAttribute('mce_href', f.stylesheet.value);
+		l.setAttribute('rel', 'stylesheet');
+
+		head.appendChild(l);
+	}
+
+	setMeta(head, 'keywords', f.metakeywords.value);
+	setMeta(head, 'description', f.metadescription.value);
+	setMeta(head, 'author', f.metaauthor.value);
+	setMeta(head, 'copyright', f.metacopyright.value);
+	setMeta(head, 'robots', getSelectValue(f, 'metarobots'));
+	setMeta(head, 'Content-Type', getSelectValue(f, 'docencoding'));
+
+	topDoc.body.dir = getSelectValue(f, 'langdir');
+	topDoc.body.style.cssText = f.style.value;
+
+	topDoc.body.setAttribute('vLink', f.visited_color.value);
+	topDoc.body.setAttribute('link', f.link_color.value);
+	topDoc.body.setAttribute('text', f.textcolor.value);
+	topDoc.body.setAttribute('aLink', f.active_color.value);
+
+	topDoc.body.style.fontFamily = getSelectValue(f, 'fontface');
+	topDoc.body.style.fontSize = getSelectValue(f, 'fontsize');
+	topDoc.body.style.backgroundColor = f.bgcolor.value;
+
+	if (f.leftmargin.value != '')
+		topDoc.body.style.marginLeft = f.leftmargin.value + 'px';
+
+	if (f.rightmargin.value != '')
+		topDoc.body.style.marginRight = f.rightmargin.value + 'px';
+
+	if (f.bottommargin.value != '')
+		topDoc.body.style.marginBottom = f.bottommargin.value + 'px';
+
+	if (f.topmargin.value != '')
+		topDoc.body.style.marginTop = f.topmargin.value + 'px';
+
+	html = topDoc.getElementsByTagName('html')[0];
+	html.setAttribute('lang', f.langcode.value);
+	html.setAttribute('xml:lang', f.langcode.value);
+
+	if (f.bgimage.value != '')
+		topDoc.body.style.backgroundImage = "url('" + f.bgimage.value + "')";
+	else
+		topDoc.body.style.backgroundImage = '';
+
+	inst.cleanup.addRuleStr('-title,meta[http-equiv|name|content],base[href|target],link[href|rel|type|title|media],style[type],script[type|language|src],html[lang|xml:lang|xmlns],body[style|dir|vlink|link|text|alink],head');
+
+	h = inst.cleanup.serializeNodeAsHTML(topDoc.documentElement);
+
+	h = h.substring(0, h.lastIndexOf('</body>'));
+
+	if (h.indexOf('<title>') == -1)
+		h = h.replace(/<head.*?>/, '$&\n' + '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+	else
+		h = h.replace(/<title>(.*?)<\/title>/, '<title>' + inst.cleanup.xmlEncode(f.metatitle.value) + '</title>');
+
+	if ((v = getSelectValue(f, 'doctypes')) != '')
+		h = v + '\n' + h;
+
+	if (f.xml_pi.checked) {
+		s = '<?xml version="1.0"';
+
+		if ((v = getSelectValue(f, 'docencoding')) != '')
+			s += ' encoding="' + v + '"';
+
+		s += '?>\n';
+		h = s + h;
+	}
+
+	inst.fullpageTopContent = h;
+
+	tinyMCEPopup.execCommand('mceFullPageUpdate', false, '');
+	tinyMCEPopup.close();
+}
+
+function setMeta(he, k, v) {
+	var nl, i, m;
+
+	nl = he.getElementsByTagName('meta');
+	for (i=0; i<nl.length; i++) {
+		if (k == 'Content-Type' && tinyMCE.getAttrib(nl[i], 'http-equiv') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', "text/html; charset=" + v);
+
+			return;
+		}
+
+		if (tinyMCE.getAttrib(nl[i], 'name') == k) {
+			if (v == '')
+				nl[i].parentNode.removeChild(nl[i]);
+			else
+				nl[i].setAttribute('content', v);
+			return;
+		}
+	}
+
+	if (v == '')
+		return;
+
+	m = topDoc.createElement('meta');
+
+	if (k == 'Content-Type')
+		m.httpEquiv = k;
+	else
+		m.setAttribute('name', k);
+
+	m.setAttribute('content', v);
+	he.appendChild(m);
+}
+
+function parseStyleElement(e) {
+	var v = e.innerHTML;
+	var p, i, r;
+
+	v = v.replace(/<!--/gi, '');
+	v = v.replace(/-->/gi, '');
+	v = v.replace(/[\n\r]/gi, '');
+	v = v.replace(/\s+/gi, ' ');
+
+	r = new Array();
+	p = v.split(/{|}/);
+
+	for (i=0; i<p.length; i+=2) {
+		if (p[i] != "")
+			r[r.length] = {rule : tinyMCE.trim(p[i]), data : tinyMCE.parseStyle(p[i+1])};
+	}
+
+	return r;
+}
+
+function serializeStyleElement(d) {
+	var i, s, st;
+
+	s = '<!--\n';
+
+	for (i=0; i<d.length; i++) {
+		s += d[i].rule + ' {\n';
+
+		st = tinyMCE.serializeStyle(d[i].data);
+
+		if (st != '')
+			st += ';';
+
+		s += st.replace(/;/g, ';\n');
+		s += '}\n';
+
+		if (i != d.length - 1)
+			s += '\n';
+	}
+
+	s += '\n-->';
+
+	return s;
+}
+
+function getReItem(r, s, i) {
+	var c = r.exec(s);
+
+	if (c && c.length > i)
+		return c[i];
+
+	return '';
+}
+
+function changedStyleField(field) {
+	//alert(field.id);
+}
+
+function showAddMenu() {
+	var re = document.getElementById('addbutton');
+
+	addMenuLayer.moveRelativeTo(re, 'tr');
+	if (addMenuLayer.isMSIE)
+		addMenuLayer.moveBy(2, 0);
+
+	addMenuLayer.show();
+	addMenuLayer.setAutoHide(true, hideAddMenu);
+	addMenuLayer.addCSSClass(re, 'selected');
+}
+
+function hideAddMenu(l, e, mx, my) {
+	var re = document.getElementById('addbutton');
+	addMenuLayer.removeCSSClass(re, 'selected');
+}
+
+function addHeadElm(type) {
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_insert', 'Insert', true);
+
+	le.size = 10;
+}
+
+function updateHeadElm(item) {
+	var type = item.substring(0, item.indexOf('_'));
+	var le = document.getElementById('headlist');
+	var re = document.getElementById('addbutton');
+	var te = document.getElementById(type + '_element');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	te.style.display = 'block';
+
+	lastElementType = te;
+
+	addMenuLayer.hide();
+	addMenuLayer.removeCSSClass(re, 'selected');
+
+	document.getElementById(type + '_updateelement').value = tinyMCE.getLang('lang_update', 'Update', true);
+
+	le.size = 10;
+}
+
+function cancelElementUpdate() {
+	var le = document.getElementById('headlist');
+
+	if (lastElementType)
+		lastElementType.style.display = 'none';
+
+	le.size = 26;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullpage/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,92 @@
+// UK lang variables
+
+tinyMCE.addToLang('fullpage',{
+	title : 'Document properties',
+	desc : 'Document properties',
+	meta_tab : 'General',
+	appearance_tab : 'Appearance',
+	advanced_tab : 'Advanced',
+	meta_props : 'Meta information',
+	langprops : 'Language and encoding',
+	meta_title : 'Title',
+	meta_keywords : 'Keywords',
+	meta_description : 'Description',
+	meta_robots : 'Robots',
+	doctypes : 'Doctype',
+	langcode : 'Language code',
+	langdir : 'Language direction',
+	ltr : 'Left to right',
+	rtl : 'Right to left',
+	xml_pi : 'XML declaration',
+	encoding : 'Character encoding',
+	appearance_bgprops : 'Background properties',
+	appearance_marginprops : 'Body margins',
+	appearance_linkprops : 'Link colors',
+	appearance_textprops : 'Text properties',
+	bgcolor : 'Background color',
+	bgimage : 'Background image',
+	left_margin : 'Left margin',
+	right_margin : 'Right margin',
+	top_margin : 'Top margin',
+	bottom_margin : 'Bottom margin',
+	text_color : 'Text color',
+	font_size : 'Font size',
+	font_face : 'Font face',
+	link_color : 'Link color',
+	hover_color : 'Hover color',
+	visited_color : 'Visited color',
+	active_color : 'Active color',
+	textcolor : 'Color',
+	fontsize : 'Font size',
+	fontface : 'Font family',
+	meta_index_follow : 'Index and follow the links',
+	meta_index_nofollow : 'Index and don\'t follow the links',
+	meta_noindex_follow : 'Do not index but follow the links',
+	meta_noindex_nofollow : 'Do not index and don\'t follow the links',
+	appearance_style : 'Stylesheet and style properties',
+	stylesheet : 'Stylesheet',
+	style : 'Style',
+	author : 'Author',
+	copyright : 'Copyright',
+	add : 'Add new element',
+	remove : 'Remove selected element',
+	moveup : 'Move selected element up',
+	movedown : 'Move selected element down',
+	head_elements : 'Head elements',
+	info : 'Information',
+	info_text : '',
+	add_title : 'Title element',
+	add_meta : 'Meta element',
+	add_script : 'Script element',
+	add_style : 'Style element',
+	add_link : 'Link element',
+	add_base : 'Base element',
+	add_comment : 'Comment node',
+	title_element : 'Title element',
+	script_element : 'Script element',
+	style_element : 'Style element',
+	base_element : 'Base element',
+	link_element : 'Link element',
+	meta_element : 'Meta element',
+	comment_element : 'Comment',
+	src : 'Src',
+	language : 'Language',
+	href : 'Href',
+	target : 'Target',
+	rel : 'Rel',
+	type : 'Type',
+	charset : 'Charset',
+	defer : 'Defer',
+	media : 'Media',
+	properties : 'Properties',
+	name : 'Name',
+	value : 'Value',
+	content : 'Content',
+	rel : 'Rel',
+	rev : 'Rev',
+	hreflang : 'Href lang',
+	general_props : 'General',
+	advanced_props : 'Advanced',
+	delta_width : 0,
+	delta_height : 0
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/css/page.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+/* This class restores all CSS properties to that absolute positioning of fullscreen mode is correct */
+.mceFullscreenPos {
+	display: block !important;
+	position: static !important;
+	left: 0 !important;
+	top: 0 !important;
+	bottom: auto !important;
+	right: auto !important;
+	width: auto !important;
+	height: auto !important;
+	margin: 0 !important;
+	padding: 0 !important;
+	border: 0 !important;
+	overflow: visible;
+	z-index: 1 !important;
+	clear: both;
+}
+
+body.mceFullscreen {
+	overflow: hidden !important;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('fullscreen');var TinyMCE_FullScreenPlugin={getInfo:function(){return{longname:'Fullscreen',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(!tinyMCE.settings['fullscreen_skip_plugin_css'])tinyMCE.importCSS(inst.getContainerWin().document,tinyMCE.baseURL+"/plugins/fullscreen/css/page.css")},getControlHTML:function(cn){switch(cn){case"fullscreen":return tinyMCE.getButtonHTML(cn,'lang_fullscreen_desc','{$pluginurl}/images/fullscreen.gif','mceFullScreen')}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst;switch(command){case"mceFullScreen":inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.getParam('fullscreen_new_window'))this._toggleFullscreenWin(inst);else this._toggleFullscreen(inst);return true}return false},_toggleFullscreenWin:function(inst){if(tinyMCE.getParam('fullscreen_is_enabled')){window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'),'mceSetContent',false,tinyMCE.getContent(inst.editorId));top.close()}else{tinyMCE.setWindowArg('editor_id',inst.editorId);var win=window.open(tinyMCE.baseURL+"/plugins/fullscreen/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{win.resizeTo(screen.availWidth,screen.availHeight)}catch(e){}}},_toggleFullscreen:function(inst){var ds=inst.getData('fullscreen'),editorContainer,tableElm,iframe,vp,cw,cd,re,w,h,si,blo,delta=0,cell,row,fcml,bcml;cw=inst.getContainerWin();cd=cw.document;editorContainer=cd.getElementById(inst.editorId+'_parent');tableElm=editorContainer.firstChild;iframe=inst.iframeElement;re=cd.getElementById(inst.editorId+'_resize');blo=document.getElementById('mce_fullscreen_blocker');fcm=new TinyMCE_Layer(inst.editorId+'_fcMenu');fcml=new TinyMCE_Layer(inst.editorId+'_fcMenu');bcml=new TinyMCE_Layer(inst.editorId+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(inst.editorId+'_backcolor','mceMenuButton');bcml.hide()}if(!ds.enabled){if(inst.toolbarElement){delta+=inst.toolbarElement.offsetHeight;cell=tableElm.tBodies[0].insertRow(0).insertCell(-1);cell.className='mceToolbarTop';cell.nowrap=true;ds.oldToolbarParent=inst.toolbarElement.parentNode;ds.toolbarHolder=document.createTextNode('...');cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder,inst.toolbarElement))}ds.parents=[];vp=tinyMCE.getViewPort(cw);ds.scrollX=vp.left;ds.scrollY=vp.top;if(!tinyMCE.isOpera)tinyMCE.addCSSClass(cd.body,'mceFullscreen');tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.addCSSClass(n,'mceFullscreenPos');return false});if(re)re.style.display='none';vp=tinyMCE.getViewPort(cw);ds.oldWidth=iframe.style.width?iframe.style.width:iframe.offsetWidth;ds.oldHeight=iframe.style.height?iframe.style.height:iframe.offsetHeight;ds.oldTWidth=tableElm.style.width?tableElm.style.width:tableElm.offsetWidth;ds.oldTHeight=tableElm.style.height?tableElm.style.height:tableElm.offsetHeight;if(ds.oldWidth&&ds.oldWidth.indexOf)ds.oldTWidth=ds.oldWidth.indexOf('%')!=-1?ds.oldWidth:ds.oldTWidth;if(!blo&&tinyMCE.isRealIE){blo=tinyMCE.createTag(document,'iframe',{id:'mce_fullscreen_blocker',src:'about:blank',frameBorder:0,width:vp.width,height:vp.height,style:'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});document.body.appendChild(blo)}tableElm.style.position='absolute';tableElm.style.zIndex=1000;tableElm.style.left=tableElm.style.top='0';tableElm.style.width=vp.width+'px';tableElm.style.height=vp.height+'px';if(tinyMCE.isRealIE){iframe.style.width=vp.width+'px';iframe.style.height=vp.height+'px';w=iframe.parentNode.clientWidth-(tableElm.offsetWidth-vp.width);h=iframe.parentNode.clientHeight-(tableElm.offsetHeight-vp.height)}else{w=iframe.parentNode.clientWidth;h=iframe.parentNode.clientHeight}iframe.style.width=w+"px";iframe.style.height=(h+delta)+"px";tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonSelected');ds.enabled=true;inst.useCSS=false}else{if(inst.toolbarElement){row=inst.toolbarElement.parentNode.parentNode;row.parentNode.removeChild(row);ds.oldToolbarParent.replaceChild(inst.toolbarElement,ds.toolbarHolder);ds.oldToolbarParent=null;ds.toolbarHolder=null}if(blo)blo.parentNode.removeChild(blo);si=0;tinyMCE.getParentNode(tableElm.parentNode,function(n){if(n.nodeName=='BODY')return true;if(n.nodeType==1)tinyMCE.removeCSSClass(n,'mceFullscreenPos')});if(re&&tinyMCE.getParam("theme_advanced_resizing",false))re.style.display='block';tableElm.style.position='static';tableElm.style.zIndex='';tableElm.style.width='';tableElm.style.height='';tableElm.style.width=ds.oldTWidth?ds.oldTWidth:'';tableElm.style.height=ds.oldTHeight?ds.oldTHeight:'';iframe.style.width=ds.oldWidth?ds.oldWidth:'';iframe.style.height=ds.oldHeight?ds.oldHeight:'';tinyMCE.switchClass(inst.editorId+'_fullscreen','mceButtonNormal');ds.enabled=false;tinyMCE.removeCSSClass(cd.body,'mceFullscreen');cw.scrollTo(ds.scrollX,ds.scrollY);inst.useCSS=false}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam('fullscreen_is_enabled'))tinyMCE.switchClass(editor_id+'_fullscreen','mceButtonSelected');return true}};tinyMCE.addPlugin("fullscreen",TinyMCE_FullScreenPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,230 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('fullscreen');
+
+var TinyMCE_FullScreenPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Fullscreen',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (!tinyMCE.settings['fullscreen_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getContainerWin().document, tinyMCE.baseURL + "/plugins/fullscreen/css/page.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "fullscreen":
+				return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceFullScreen":
+				inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.getParam('fullscreen_new_window'))
+					this._toggleFullscreenWin(inst);
+				else
+					this._toggleFullscreen(inst);
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	_toggleFullscreenWin : function(inst) {
+		if (tinyMCE.getParam('fullscreen_is_enabled')) {
+			// In fullscreen mode
+			window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(inst.editorId));
+			top.close();
+		} else {
+			tinyMCE.setWindowArg('editor_id', inst.editorId);
+
+			var win = window.open(tinyMCE.baseURL + "/plugins/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
+			try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
+		}
+	},
+
+	_toggleFullscreen : function(inst) {
+		var ds = inst.getData('fullscreen'), editorContainer, tableElm, iframe, vp, cw, cd, re, w, h, si, blo, delta = 0, cell, row, fcml, bcml;
+
+		cw = inst.getContainerWin();
+		cd = cw.document;
+		editorContainer = cd.getElementById(inst.editorId + '_parent');
+		tableElm = editorContainer.firstChild;
+		iframe = inst.iframeElement;
+		re = cd.getElementById(inst.editorId + '_resize');
+		blo = document.getElementById('mce_fullscreen_blocker');
+		fcm = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		fcml = new TinyMCE_Layer(inst.editorId + '_fcMenu');
+		bcml = new TinyMCE_Layer(inst.editorId + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(inst.editorId + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+
+		if (!ds.enabled) {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				delta += inst.toolbarElement.offsetHeight;
+
+				cell = tableElm.tBodies[0].insertRow(0).insertCell(-1);
+				cell.className = 'mceToolbarTop';
+				cell.nowrap = true;
+
+				ds.oldToolbarParent = inst.toolbarElement.parentNode;
+				ds.toolbarHolder = document.createTextNode('...');
+
+				cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder, inst.toolbarElement));
+			}
+
+			ds.parents = [];
+
+			vp = tinyMCE.getViewPort(cw);
+			ds.scrollX = vp.left;
+			ds.scrollY = vp.top;
+
+			// Opera has a bug restoring scrollbars
+			if (!tinyMCE.isOpera)
+				tinyMCE.addCSSClass(cd.body, 'mceFullscreen');
+
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.addCSSClass(n, 'mceFullscreenPos');
+
+				return false;
+			});
+
+			if (re)
+				re.style.display = 'none';
+
+			vp = tinyMCE.getViewPort(cw);
+
+			ds.oldWidth = iframe.style.width ? iframe.style.width : iframe.offsetWidth;
+			ds.oldHeight = iframe.style.height ? iframe.style.height : iframe.offsetHeight;
+			ds.oldTWidth = tableElm.style.width ? tableElm.style.width : tableElm.offsetWidth;
+			ds.oldTHeight = tableElm.style.height ? tableElm.style.height : tableElm.offsetHeight;
+
+			// Handle % width
+			if (ds.oldWidth && ds.oldWidth.indexOf)
+				ds.oldTWidth = ds.oldWidth.indexOf('%') != -1 ? ds.oldWidth : ds.oldTWidth;
+
+			if (!blo && tinyMCE.isRealIE) {
+				blo = tinyMCE.createTag(document, 'iframe', {id : 'mce_fullscreen_blocker', src : 'about:blank', frameBorder : 0, width : vp.width, height : vp.height, style : 'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});
+				document.body.appendChild(blo);
+			}
+
+			tableElm.style.position = 'absolute';
+			tableElm.style.zIndex = 1000;
+			tableElm.style.left = tableElm.style.top = '0';
+
+			tableElm.style.width = vp.width + 'px';
+			tableElm.style.height = vp.height + 'px';
+
+			if (tinyMCE.isRealIE) {
+				iframe.style.width = vp.width + 'px';
+				iframe.style.height = vp.height + 'px';
+
+				// Calc new width/height based on overflow
+				w = iframe.parentNode.clientWidth - (tableElm.offsetWidth - vp.width);
+				h = iframe.parentNode.clientHeight - (tableElm.offsetHeight - vp.height);
+			} else {
+				w = iframe.parentNode.clientWidth;
+				h = iframe.parentNode.clientHeight;
+			}
+
+			iframe.style.width = w + "px";
+			iframe.style.height = (h+delta) + "px";
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonSelected');
+			ds.enabled = true;
+
+			inst.useCSS = false;
+		} else {
+			// Handle External Toolbar
+			if (inst.toolbarElement) {
+				row = inst.toolbarElement.parentNode.parentNode;
+
+				row.parentNode.removeChild(row);
+
+				ds.oldToolbarParent.replaceChild(inst.toolbarElement, ds.toolbarHolder);
+
+				ds.oldToolbarParent = null;
+				ds.toolbarHolder = null;
+			}
+
+			if (blo)
+				blo.parentNode.removeChild(blo);
+
+			si = 0;
+			tinyMCE.getParentNode(tableElm.parentNode, function (n) {
+				if (n.nodeName == 'BODY')
+					return true;
+
+				if (n.nodeType == 1)
+					tinyMCE.removeCSSClass(n, 'mceFullscreenPos');
+			});
+
+			if (re && tinyMCE.getParam("theme_advanced_resizing", false))
+				re.style.display = 'block';
+
+			tableElm.style.position = 'static';
+			tableElm.style.zIndex = '';
+			tableElm.style.width = '';
+			tableElm.style.height = '';
+
+			tableElm.style.width = ds.oldTWidth ? ds.oldTWidth : '';
+			tableElm.style.height = ds.oldTHeight ? ds.oldTHeight : '';
+
+			iframe.style.width = ds.oldWidth ? ds.oldWidth : '';
+			iframe.style.height = ds.oldHeight ? ds.oldHeight : '';
+
+			tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonNormal');
+			ds.enabled = false;
+
+			tinyMCE.removeCSSClass(cd.body, 'mceFullscreen');
+			cw.scrollTo(ds.scrollX, ds.scrollY);
+
+			inst.useCSS = false;
+		}
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam('fullscreen_is_enabled'))
+			tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_fullscreen_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce.js"></script>
+	<script language="javascript" type="text/javascript">
+		function patchCallback(settings, key) {
+			if (settings[key])
+				settings[key] = "window.opener." + settings[key];
+		}
+
+		var settings = new Array();
+
+		// Clone array
+		for (var name in window.opener.tinyMCE.settings)
+			settings[name] = window.opener.tinyMCE.settings[name];
+
+		// Override options for fullscreen
+		for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
+			settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
+
+		// Patch callbacks, make them point to window.opener
+		patchCallback(settings, 'urlconverter_callback');
+		patchCallback(settings, 'insertlink_callback');
+		patchCallback(settings, 'insertimage_callback');
+		patchCallback(settings, 'setupcontent_callback');
+		patchCallback(settings, 'save_callback');
+		patchCallback(settings, 'onchange_callback');
+		patchCallback(settings, 'init_instance_callback');
+		patchCallback(settings, 'file_browser_callback');
+		patchCallback(settings, 'cleanup_callback');
+		patchCallback(settings, 'execcommand_callback');
+		patchCallback(settings, 'oninit');
+
+		// Set options
+		settings['mode'] = 'exact';
+		settings['elements'] = 'fullscreenarea';
+		settings['ask'] = false;
+		settings['setupcontent_callback'] = 'setupContent';
+		settings['fullscreen_is_enabled'] = true;
+		settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
+		settings['theme_advanced_resizing'] = false;
+
+		// Init
+		tinyMCE.init(settings);
+		tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
+
+		function setupContent(editor_id, body, doc) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+			var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
+
+			// Setup title
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
+			document.title = divElm.innerHTML;
+
+			// Get content
+			inst.execCommand('mceSetContent', false, content);
+		}
+
+		function unloadHandler(e) {
+			moveContent();
+		}
+
+		function moveContent() {
+			var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
+			window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
+		}
+
+		// Add onunload
+		tinyMCE.addEvent(window, "beforeunload", unloadHandler);
+
+		function doParentSubmit() {
+			moveContent();
+
+			if (window.opener.tinyMCE.selectedInstance.formElement.form)
+				window.opener.tinyMCE.selectedInstance.formElement.form.submit();
+
+			window.close();
+
+			return false;
+		}
+	</script>
+	<base target="_self" />
+</head>
+<body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
+<form onsubmit="doParentSubmit();" style="height: 100%">
+<textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/images/fullscreen.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+fullscreen_desc : 'Toggle fullscreen mode'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/fullscreen/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('iespell');var TinyMCE_IESpellPlugin={getInfo:function(){return{longname:'IESpell (MSIE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){if(cn=="iespell"&&(tinyMCE.isMSIE&&!tinyMCE.isOpera))return tinyMCE.getButtonHTML(cn,'lang_iespell_desc','{$pluginurl}/images/iespell.gif','mceIESpell');return""},execCommand:function(editor_id,element,command,user_interface,value){if(command=="mceIESpell"){try{var ieSpell=new ActiveXObject("ieSpell.ieSpellExtension");ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement)}catch(e){if(e.number==-2146827859){if(confirm(tinyMCE.getLang("lang_iespell_download","",true)))window.open('http://www.iespell.com/download.php','ieSpellDownload','')}else alert("Error Loading ieSpell: Exception "+e.number)}return true}return false}};tinyMCE.addPlugin("iespell",TinyMCE_IESpellPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('iespell');
+
+var TinyMCE_IESpellPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'IESpell (MSIE Only)',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the iespell control.
+	 */
+	getControlHTML : function(cn) {
+		// Is it the iespell control and is the brower MSIE.
+		if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
+			return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceIESpell command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle ieSpellCommand
+		if (command == "mceIESpell") {
+			try {
+				var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
+				ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
+			} catch (e) {
+				if (e.number == -2146827859) {
+					if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
+						window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
+				} else
+					alert("Error Loading ieSpell: Exception " + e.number);
+			}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/images/iespell.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+iespell_desc : 'Run spell checking',
+iespell_download : "ieSpell not detected. Click OK to go to download page."
+});
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/iespell/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/css/inlinepopup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,69 @@
+/* Window classes */
+
+.mceWindow {
+	position: absolute;
+	left: 0;
+	top: 0;
+	border: 1px solid black;
+	background-color: #D4D0C8;
+}
+
+.mceWindowHead {
+	background-color: #334F8D;
+	width: 100%;
+	height: 18px;
+	cursor: move;
+	overflow: hidden;
+}
+
+.mceWindowBody {
+	clear: both;
+	background-color: white;
+}
+
+.mceWindowStatusbar {
+	background-color: #D4D0C8;
+	height: 12px;
+	border-top: 1px solid black;
+}
+
+.mceWindowTitle {
+	float: left;
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+	font-weight: bold;
+	line-height: 18px;
+	color: white;
+	margin-left: 2px;
+	overflow: hidden;
+}
+
+.mceWindowHeadTools {
+	margin-right: 2px;
+}
+
+.mceWindowClose, .mceWindowMinimize, .mceWindowMaximize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	margin-top: 2px;
+}
+
+.mceWindowClose {
+	margin-left: 2px;
+}
+
+.mceWindowMinimize {
+}
+
+.mceWindowMaximize {
+}
+
+.mceWindowResize {
+	display: block;
+	float: right;
+	overflow: hidden;
+	cursor: se-resize;
+	width: 12px;
+	height: 12px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_InlinePopupsPlugin={getInfo:function(){return{longname:'Inline Popups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}}};tinyMCE.addPlugin("inlinepopups",TinyMCE_InlinePopupsPlugin);TinyMCE_Engine.prototype.orgOpenWindow=TinyMCE_Engine.prototype.openWindow;TinyMCE_Engine.prototype.orgCloseWindow=TinyMCE_Engine.prototype.closeWindow;TinyMCE_Engine.prototype.openWindow=function(template,args){if(args['inline']!="yes"||tinyMCE.isOpera||tinyMCE.getParam("plugins").indexOf('inlinepopups')==-1){mcWindows.selectedWindow=null;args['mce_inside_iframe']=false;this.orgOpenWindow(template,args);return}var url,resizable,scrollbars;args['mce_inside_iframe']=true;tinyMCE.windowArgs=args;if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(!(minWidth=parseInt(template['minWidth'])))minWidth=100;if(!(minHeight=parseInt(template['minHeight'])))minHeight=100;resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";height+=18;for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}var elm=document.getElementById(this.selectedInstance.editorId+'_parent');if(tinyMCE.hasPlugin('fullscreen')&&this.selectedInstance.getData('fullscreen').enabled)pos={absLeft:0,absTop:0};else pos=tinyMCE.getAbsPosition(elm);pos.absLeft+=Math.round((elm.firstChild.clientWidth/ 2) - (width /2));pos.absTop+=Math.round((elm.firstChild.clientHeight/ 2) - (height /2));mcWindows.open(url,mcWindows.idCounter++,"modal=yes,width="+width+",height="+height+",resizable="+resizable+",scrollbars="+scrollbars+",statusbar="+resizable+",left="+pos.absLeft+",top="+pos.absTop+",minWidth="+minWidth+",minHeight="+minHeight)};TinyMCE_Engine.prototype.closeWindow=function(win){var gotit=false,n,w;for(n in mcWindows.windows){w=mcWindows.windows[n];if(typeof(w)=='function')continue;if(win.name==w.id+'_iframe'){w.close();gotit=true}}if(!gotit)this.orgCloseWindow(win);tinyMCE.selectedInstance.getWin().focus()};TinyMCE_Engine.prototype.setWindowTitle=function(win_ref,title){for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win_ref.name==win.id+"_iframe")window.frames[win.id+"_iframe"].document.getElementById(win.id+'_title').innerHTML=title}};function TinyMCE_Windows(){this.settings=new Array();this.windows=new Array();this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isGecko=navigator.userAgent.indexOf('Gecko')!=-1;this.isSafari=navigator.userAgent.indexOf('Safari')!=-1;this.isMac=navigator.userAgent.indexOf('Mac')!=-1;this.isMSIE5_0=this.isMSIE&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1);this.action="none";this.selectedWindow=null;this.lastSelectedWindow=null;this.zindex=1001;this.mouseDownScreenX=0;this.mouseDownScreenY=0;this.mouseDownLayerX=0;this.mouseDownLayerY=0;this.mouseDownWidth=0;this.mouseDownHeight=0;this.idCounter=0};TinyMCE_Windows.prototype.init=function(settings){this.settings=settings;if(this.isMSIE)this.addEvent(document,"mousemove",mcWindows.eventDispatcher);else this.addEvent(window,"mousemove",mcWindows.eventDispatcher);this.addEvent(document,"mouseup",mcWindows.eventDispatcher);this.addEvent(window,"resize",mcWindows.eventDispatcher);this.addEvent(document,"scroll",mcWindows.eventDispatcher);this.doc=document};TinyMCE_Windows.prototype.getBounds=function(){if(!this.bounds){var vp=tinyMCE.getViewPort(window);var top,left,bottom,right,docEl=this.doc.documentElement;top=vp.top;left=vp.left;bottom=vp.height+top-2;right=vp.width+left-22;this.bounds=[left,top,right,bottom]}return this.bounds};TinyMCE_Windows.prototype.clampBoxPosition=function(x,y,w,h,minW,minH){var bounds=this.getBounds();x=Math.max(bounds[0],Math.min(bounds[2],x+w)-w);y=Math.max(bounds[1],Math.min(bounds[3],y+h)-h);return this.clampBoxSize(x,y,w,h,minW,minH)};TinyMCE_Windows.prototype.clampBoxSize=function(x,y,w,h,minW,minH){var bounds=this.getBounds();return[x,y,Math.max(minW,Math.min(bounds[2],x+w)-x),Math.max(minH,Math.min(bounds[3],y+h)-y)]};TinyMCE_Windows.prototype.getParam=function(name,default_value){var value=null;value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");return value};TinyMCE_Windows.prototype.eventDispatcher=function(e){e=typeof(e)=="undefined"?window.event:e;if(mcWindows.selectedWindow==null)return;if(mcWindows.isGecko&&e.type=="mousedown"){var elm=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(win.headElement==elm||win.resizeElement==elm){win.focus();break}}}switch(e.type){case"mousemove":mcWindows.selectedWindow.onMouseMove(e);break;case"mouseup":mcWindows.selectedWindow.onMouseUp(e);break;case"mousedown":mcWindows.selectedWindow.onMouseDown(e);break;case"focus":mcWindows.selectedWindow.onFocus(e);break;case"scroll":case"resize":if(mcWindows.clampUpdateTimeout)clearTimeout(mcWindows.clampUpdateTimeout);mcWindows.clampEventType=e.type;mcWindows.clampUpdateTimeout=setTimeout(function(){mcWindows.updateClamping()},100);break}};TinyMCE_Windows.prototype.updateClamping=function(){var clamp,oversize,etype=mcWindows.clampEventType;this.bounds=null;this.clampUpdateTimeout=null;for(var n in this.windows){win=this.windows[n];if(typeof(win)=='function'||!win.winElement)continue;clamp=mcWindows.clampBoxPosition(win.left,win.top,win.winElement.scrollWidth,win.winElement.scrollHeight,win.features.minWidth,win.features.minHeight);oversize=(clamp[2]!=win.winElement.scrollWidth||clamp[3]!=win.winElement.scrollHeight)?true:false;if(!oversize||win.features.resizable=="yes"||etype!="scroll")win.moveTo(clamp[0],clamp[1]);if(oversize&&win.features.resizable=="yes")win.resizeTo(clamp[2],clamp[3])}};TinyMCE_Windows.prototype.addEvent=function(obj,name,handler){if(this.isMSIE)obj.attachEvent("on"+name,handler);else obj.addEventListener(name,handler,false)};TinyMCE_Windows.prototype.cancelEvent=function(e){if(this.isMSIE){e.returnValue=false;e.cancelBubble=true}else e.preventDefault()};TinyMCE_Windows.prototype.parseFeatures=function(opts){opts=opts.toLowerCase();opts=opts.replace(/;/g,",");opts=opts.replace(/[^0-9a-z=,]/g,"");var optionChunks=opts.split(',');var options=new Array();options['left']="10";options['top']="10";options['width']="300";options['height']="300";options['minwidth']="100";options['minheight']="100";options['resizable']="yes";options['minimizable']="yes";options['maximizable']="yes";options['close']="yes";options['movable']="yes";options['statusbar']="yes";options['scrollbars']="auto";options['modal']="no";if(opts=="")return options;for(var i=0;i<optionChunks.length;i++){var parts=optionChunks[i].split('=');if(parts.length==2)options[parts[0]]=parts[1]}options['left']=parseInt(options['left']);options['top']=parseInt(options['top']);options['width']=parseInt(options['width']);options['height']=parseInt(options['height']);options['minWidth']=parseInt(options['minwidth']);options['minHeight']=parseInt(options['minheight']);return options};TinyMCE_Windows.prototype.open=function(url,name,features){this.lastSelectedWindow=this.selectedWindow;var win=new TinyMCE_Window();var winDiv,html="",id;var imgPath=this.getParam("images_path");features=this.parseFeatures(features);var clamp=mcWindows.clampBoxPosition(features['left'],features['top'],features['width'],features['height'],features['minWidth'],features['minHeight']);features['left']=clamp[0];features['top']=clamp[1];if(features['resizable']=="yes"){features['width']=clamp[2];features['height']=clamp[3]}id="mcWindow_"+name;win.deltaHeight=18;if(features['statusbar']=="yes"){win.deltaHeight+=13;if(this.isMSIE)win.deltaHeight+=1}width=parseInt(features['width']);height=parseInt(features['height'])-win.deltaHeight;if(this.isMSIE)width-=2;win.id=id;win.url=url;win.name=name;win.features=features;this.windows[name]=win;iframeWidth=width;iframeHeight=height;html+='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';html+='<html>';html+='<head>';html+='<title>Wrapper iframe</title>';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';html+='<link href="'+this.getParam("css_file")+'" rel="stylesheet" type="text/css" />';html+='</head>';html+='<body onload="parent.mcWindows.onLoad(\''+name+'\');">';html+='<div id="'+id+'_container" class="mceWindow">';html+='<div id="'+id+'_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';html+='  <div id="'+id+'_title" class="mceWindowTitle"';html+='  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';html+='    <div class="mceWindowHeadTools">';html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="'+imgPath+'/window_close.gif" /></a>';if(features['resizable']=="yes"&&features['maximizable']=="yes")html+='      <a href="javascript:parent.mcWindows.windows[\''+name+'\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="'+imgPath+'/window_maximize.gif" /></a>';html+='    </div>';html+='</div><div id="'+id+'_body" class="mceWindowBody" style="width: '+width+'px; height: '+height+'px;">';html+='<iframe id="'+id+'_iframe" name="'+id+'_iframe" frameborder="0" width="'+iframeWidth+'" height="'+iframeHeight+'" src="'+url+'" class="mceWindowBodyIframe" scrolling="'+features['scrollbars']+'"></iframe></div>';if(features['statusbar']=="yes"){html+='<div id="'+id+'_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();">';if(features['resizable']=="yes"){if(this.isGecko)html+='<div id="'+id+'_resize" class="mceWindowResize"><div style="background-image: url(\''+imgPath+'/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';else html+='<div id="'+id+'_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\''+name+'\'].focus();" border="0" src="'+imgPath+'/window_resize.gif" /></div>'}html+='</div>'}html+='</div>';html+='</body>';html+='</html>';this.createFloatingIFrame(id,features['left'],features['top'],features['width'],features['height'],html)};TinyMCE_Windows.prototype.setDocumentLock=function(state){var elm=document.getElementById('mcWindowEventBlocker');if(state){if(elm==null){elm=document.createElement("div");elm.id="mcWindowEventBlocker";elm.style.position="absolute";elm.style.left="0";elm.style.top="0";document.body.appendChild(elm)}elm.style.display="none";var imgPath=this.getParam("images_path");var width=document.body.clientWidth;var height=document.body.clientHeight;elm.style.width=width;elm.style.height=height;elm.innerHTML='<img src="'+imgPath+'/spacer.gif" width="'+width+'" height="'+height+'" />';elm.style.zIndex=mcWindows.zindex-1;elm.style.display="block"}else if(elm!=null){if(mcWindows.windows.length==0)elm.parentNode.removeChild(elm);else elm.style.zIndex=mcWindows.zindex-1}};TinyMCE_Windows.prototype.onLoad=function(name){var win=mcWindows.windows[name];var id="mcWindow_"+name;var wrapperIframe=window.frames[id+"_iframe"].frames[0];var wrapperDoc=window.frames[id+"_iframe"].document;var doc=window.frames[id+"_iframe"].document;var winDiv=document.getElementById("mcWindow_"+name+"_div");var realIframe=window.frames[id+"_iframe"].frames[0];win.id="mcWindow_"+name;win.winElement=winDiv;win.bodyElement=doc.getElementById(id+'_body');win.iframeElement=doc.getElementById(id+'_iframe');win.headElement=doc.getElementById(id+'_head');win.titleElement=doc.getElementById(id+'_title');win.resizeElement=doc.getElementById(id+'_resize');win.containerElement=doc.getElementById(id+'_container');win.left=win.features['left'];win.top=win.features['top'];win.frame=window.frames[id+'_iframe'].frames[0];win.wrapperFrame=window.frames[id+'_iframe'];win.wrapperIFrameElement=document.getElementById(id+"_iframe");mcWindows.addEvent(win.headElement,"mousedown",mcWindows.eventDispatcher);if(win.resizeElement!=null)mcWindows.addEvent(win.resizeElement,"mousedown",mcWindows.eventDispatcher);if(mcWindows.isMSIE){mcWindows.addEvent(realIframe.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(realIframe,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(realIframe,"focus",mcWindows.eventDispatcher)}for(var i=0;i<window.frames.length;i++){if(!window.frames[i]._hasMouseHandlers){if(mcWindows.isMSIE){mcWindows.addEvent(window.frames[i].document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i].document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(window.frames[i],"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(window.frames[i],"mouseup",mcWindows.eventDispatcher)}window.frames[i]._hasMouseHandlers=true}}if(mcWindows.isMSIE){mcWindows.addEvent(win.frame.document,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame.document,"mouseup",mcWindows.eventDispatcher)}else{mcWindows.addEvent(win.frame,"mousemove",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"mouseup",mcWindows.eventDispatcher);mcWindows.addEvent(win.frame,"focus",mcWindows.eventDispatcher)}var func=this.getParam("on_open_window","");if(func!="")eval(func+"(win);");win.focus();if(win.features['modal']=="yes")mcWindows.setDocumentLock(true)};TinyMCE_Windows.prototype.createFloatingIFrame=function(id_prefix,left,top,width,height,html){var iframe=document.createElement("iframe");var div=document.createElement("div"),doc;width=parseInt(width);height=parseInt(height)+1;div.setAttribute("id",id_prefix+"_div");div.setAttribute("width",width);div.setAttribute("height",(height));div.style.position="absolute";div.style.left=left+"px";div.style.top=top+"px";div.style.width=width+"px";div.style.height=(height)+"px";div.style.backgroundColor="white";div.style.display="none";if(this.isGecko){iframeWidth=width+2;iframeHeight=height+2}else{iframeWidth=width;iframeHeight=height+1}iframe.setAttribute("id",id_prefix+"_iframe");iframe.setAttribute("name",id_prefix+"_iframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",iframeWidth);iframe.setAttribute("height",iframeHeight);iframe.setAttribute("scrolling","no");iframe.style.width=iframeWidth+"px";iframe.style.height=iframeHeight+"px";iframe.style.backgroundColor="white";div.appendChild(iframe);document.body.appendChild(div);div.innerHTML=div.innerHTML;if(this.isSafari){window.setTimeout(function(){var doc=window.frames[id_prefix+'_iframe'].document;doc.open();doc.write(html);doc.close()},10)}else{doc=window.frames[id_prefix+'_iframe'].window.document;doc.open();doc.write(html);doc.close()}div.style.display="block";return div};function TinyMCE_Window(){};TinyMCE_Window.prototype.focus=function(){if(this!=mcWindows.selectedWindow){this.winElement.style.zIndex=++mcWindows.zindex;mcWindows.lastSelectedWindow=mcWindows.selectedWindow;mcWindows.selectedWindow=this}};TinyMCE_Window.prototype.minimize=function(){};TinyMCE_Window.prototype.maximize=function(){if(this.restoreSize){this.moveTo(this.restoreSize[0],this.restoreSize[1]);this.resizeTo(this.restoreSize[2],this.restoreSize[3]);this.updateClamping();this.restoreSize=null}else{var bounds=mcWindows.getBounds();this.restoreSize=[this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight];this.moveTo(bounds[0],bounds[1]);this.resizeTo(bounds[2]-bounds[0],bounds[3]-bounds[1])}};TinyMCE_Window.prototype.startResize=function(){mcWindows.action="resize"};TinyMCE_Window.prototype.startMove=function(e){mcWindows.action="move"};TinyMCE_Window.prototype.close=function(){if(this.frame&&this.frame['tinyMCEPopup'])this.frame['tinyMCEPopup'].restoreSelection();if(mcWindows.lastSelectedWindow!=null)mcWindows.lastSelectedWindow.focus();var mcWindowsNew=new Array();for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(win.name!=this.name)mcWindowsNew[n]=win}mcWindows.windows=mcWindowsNew;var e=mcWindows.doc.getElementById(this.id+"_iframe");e.parentNode.removeChild(e);var e=mcWindows.doc.getElementById(this.id+"_div");e.parentNode.removeChild(e);mcWindows.setDocumentLock(false)};TinyMCE_Window.prototype.onMouseMove=function(e){var clamp;var dx=e.screenX-mcWindows.mouseDownScreenX;var dy=e.screenY-mcWindows.mouseDownScreenY;switch(mcWindows.action){case"resize":clamp=mcWindows.clampBoxSize(this.left,this.top,mcWindows.mouseDownWidth+(e.screenX-mcWindows.mouseDownScreenX),mcWindows.mouseDownHeight+(e.screenY-mcWindows.mouseDownScreenY),this.features.minWidth,this.features.minHeight);this.resizeTo(clamp[2],clamp[3]);mcWindows.cancelEvent(e);break;case"move":this.left=mcWindows.mouseDownLayerX+(e.screenX-mcWindows.mouseDownScreenX);this.top=mcWindows.mouseDownLayerY+(e.screenY-mcWindows.mouseDownScreenY);this.updateClamping();mcWindows.cancelEvent(e);break}};TinyMCE_Window.prototype.moveTo=function(x,y){this.left=x;this.top=y;this.winElement.style.left=this.left+"px";this.winElement.style.top=this.top+"px"};TinyMCE_Window.prototype.resizeTo=function(width,height){this.wrapperIFrameElement.style.width=(width+2)+'px';this.wrapperIFrameElement.style.height=(height+2)+'px';this.wrapperIFrameElement.width=width+2;this.wrapperIFrameElement.height=height+2;this.winElement.style.width=width+'px';this.winElement.style.height=height+'px';height=height-this.deltaHeight;this.containerElement.style.width=width+'px';this.iframeElement.style.width=width+'px';this.iframeElement.style.height=height+'px';this.bodyElement.style.width=width+'px';this.bodyElement.style.height=height+'px';this.headElement.style.width=width+'px';};TinyMCE_Window.prototype.updateClamping=function(){var clamp,oversize;clamp=mcWindows.clampBoxPosition(this.left,this.top,this.winElement.scrollWidth,this.winElement.scrollHeight,this.features.minWidth,this.features.minHeight);oversize=(clamp[2]!=this.winElement.scrollWidth||clamp[3]!=this.winElement.scrollHeight)?true:false;this.moveTo(clamp[0],clamp[1]);if(this.features.resizable=="yes"&&oversize)this.resizeTo(clamp[2],clamp[3])};function debug(msg){document.getElementById('debug').value+=msg+"\n"}TinyMCE_Window.prototype.onMouseUp=function(e){mcWindows.action="none"};TinyMCE_Window.prototype.onFocus=function(e){var winRef=e.currentTarget;for(var n in mcWindows.windows){var win=mcWindows.windows[n];if(typeof(win)=='function')continue;if(winRef.name==win.id+"_iframe"){win.focus();return}}};TinyMCE_Window.prototype.onMouseDown=function(e){var elm=mcWindows.isMSIE?this.wrapperFrame.event.srcElement:e.target;mcWindows.mouseDownScreenX=e.screenX;mcWindows.mouseDownScreenY=e.screenY;mcWindows.mouseDownLayerX=this.left;mcWindows.mouseDownLayerY=this.top;mcWindows.mouseDownWidth=parseInt(this.winElement.style.width);mcWindows.mouseDownHeight=parseInt(this.winElement.style.height);if(this.resizeElement!=null&&elm==this.resizeElement.firstChild)this.startResize(e);else this.startMove(e);mcWindows.cancelEvent(e)};var mcWindows=new TinyMCE_Windows();mcWindows.init({images_path:tinyMCE.baseURL+"/plugins/inlinepopups/images",css_file:tinyMCE.baseURL+"/plugins/inlinepopups/css/inlinepopup.css"});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+var TinyMCE_InlinePopupsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Inline Popups',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	}
+};
+
+tinyMCE.addPlugin("inlinepopups", TinyMCE_InlinePopupsPlugin);
+
+// Patch openWindow, closeWindow TinyMCE functions
+
+TinyMCE_Engine.prototype.orgOpenWindow = TinyMCE_Engine.prototype.openWindow;
+TinyMCE_Engine.prototype.orgCloseWindow = TinyMCE_Engine.prototype.closeWindow;
+
+TinyMCE_Engine.prototype.openWindow = function(template, args) {
+	// Does the caller support inline
+	if (args['inline'] != "yes" || tinyMCE.isOpera || tinyMCE.getParam("plugins").indexOf('inlinepopups') == -1) {
+		mcWindows.selectedWindow = null;
+		args['mce_inside_iframe'] = false;
+		this.orgOpenWindow(template, args);
+		return;
+	}
+
+	var url, resizable, scrollbars;
+
+	args['mce_inside_iframe'] = true;
+	tinyMCE.windowArgs = args;
+
+	if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+		url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+	else
+		url = template['file'];
+
+	if (!(width = parseInt(template['width'])))
+		width = 320;
+
+	if (!(height = parseInt(template['height'])))
+		height = 200;
+
+	if (!(minWidth = parseInt(template['minWidth'])))
+		minWidth = 100;
+
+	if (!(minHeight = parseInt(template['minHeight'])))
+		minHeight = 100;
+
+	resizable = (args && args['resizable']) ? args['resizable'] : "no";
+	scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+	height += 18;
+
+	// Replace all args as variables in URL
+	for (var name in args) {
+		if (typeof(args[name]) == 'function')
+			continue;
+
+		url = tinyMCE.replaceVar(url, name, escape(args[name]));
+	}
+
+	var elm = document.getElementById(this.selectedInstance.editorId + '_parent');
+
+	if (tinyMCE.hasPlugin('fullscreen') && this.selectedInstance.getData('fullscreen').enabled)
+		pos = { absLeft: 0, absTop: 0 };
+	else
+		pos = tinyMCE.getAbsPosition(elm);
+
+	// Center div in editor area
+	pos.absLeft += Math.round((elm.firstChild.clientWidth / 2) - (width / 2));
+	pos.absTop += Math.round((elm.firstChild.clientHeight / 2) - (height / 2));
+
+	mcWindows.open(url, mcWindows.idCounter++, "modal=yes,width=" + width+ ",height=" + height + ",resizable=" + resizable + ",scrollbars=" + scrollbars + ",statusbar=" + resizable + ",left=" + pos.absLeft + ",top=" + pos.absTop + ",minWidth=" + minWidth + ",minHeight=" + minHeight );
+};
+
+TinyMCE_Engine.prototype.closeWindow = function(win) {
+	var gotit = false, n, w;
+	for (n in mcWindows.windows) {
+		w = mcWindows.windows[n];
+		if (typeof(w) == 'function') continue;
+		if (win.name == w.id + '_iframe') {
+			w.close();
+			gotit = true;
+		}
+	}
+	if (!gotit)
+		this.orgCloseWindow(win);
+
+	tinyMCE.selectedInstance.getWin().focus(); 
+};
+
+TinyMCE_Engine.prototype.setWindowTitle = function(win_ref, title) {
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win_ref.name == win.id + "_iframe")
+			window.frames[win.id + "_iframe"].document.getElementById(win.id + '_title').innerHTML = title;
+	}
+};
+
+// * * * * * TinyMCE_Windows classes below
+
+// Windows handler
+function TinyMCE_Windows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.lastSelectedWindow = null;
+	this.zindex = 1001;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+	this.idCounter = 0;
+};
+
+TinyMCE_Windows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+
+	this.addEvent(window, "resize", mcWindows.eventDispatcher);
+	this.addEvent(document, "scroll", mcWindows.eventDispatcher);
+
+	this.doc = document;
+};
+
+TinyMCE_Windows.prototype.getBounds = function() {
+	if (!this.bounds) {
+		var vp = tinyMCE.getViewPort(window);
+		var top, left, bottom, right, docEl = this.doc.documentElement;
+
+		top    = vp.top;
+		left   = vp.left;
+		bottom = vp.height + top - 2;
+		right  = vp.width  + left - 22; // TODO this number is platform dependant
+		// x1, y1, x2, y2
+		this.bounds = [left, top, right, bottom];
+	}
+	return this.bounds;
+};
+
+TinyMCE_Windows.prototype.clampBoxPosition = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	x = Math.max(bounds[0], Math.min(bounds[2], x + w) - w);
+	y = Math.max(bounds[1], Math.min(bounds[3], y + h) - h);
+
+	return this.clampBoxSize(x, y, w, h, minW, minH);
+};
+
+TinyMCE_Windows.prototype.clampBoxSize = function(x, y, w, h, minW, minH) {
+	var bounds = this.getBounds();
+
+	return [
+		x, y,
+		Math.max(minW, Math.min(bounds[2], x + w) - x),
+		Math.max(minH, Math.min(bounds[3], y + h) - y)
+	];
+};
+
+TinyMCE_Windows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+TinyMCE_Windows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+		case "scroll":
+		case "resize":
+			if (mcWindows.clampUpdateTimeout)
+				clearTimeout(mcWindows.clampUpdateTimeout);
+			mcWindows.clampEventType = e.type;
+			mcWindows.clampUpdateTimeout =
+				setTimeout(function () {mcWindows.updateClamping()}, 100);
+			break;
+	}
+};
+
+TinyMCE_Windows.prototype.updateClamping = function () {
+	var clamp, oversize, etype = mcWindows.clampEventType;
+
+	this.bounds = null; // Recalc window bounds on resize/scroll
+	this.clampUpdateTimeout = null;
+
+	for (var n in this.windows) {
+		win = this.windows[n];
+		if (typeof(win) == 'function' || ! win.winElement) continue;
+
+		clamp = mcWindows.clampBoxPosition(
+			win.left, win.top,
+			win.winElement.scrollWidth,
+			win.winElement.scrollHeight,
+			win.features.minWidth,
+			win.features.minHeight
+		);
+		oversize = (
+			clamp[2] != win.winElement.scrollWidth ||
+			clamp[3] != win.winElement.scrollHeight
+		) ? true : false;
+
+		if (!oversize || win.features.resizable == "yes" || etype != "scroll")
+			win.moveTo(clamp[0], clamp[1]);
+		if (oversize && win.features.resizable == "yes")
+			win.resizeTo(clamp[2], clamp[3]);
+	}
+};
+
+TinyMCE_Windows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, false);
+};
+
+TinyMCE_Windows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+TinyMCE_Windows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = "10";
+	options['top'] = "10";
+	options['width'] = "300";
+	options['height'] = "300";
+	options['minwidth'] = "100";
+	options['minheight'] = "100";
+	options['resizable'] = "yes";
+	options['minimizable'] = "yes";
+	options['maximizable'] = "yes";
+	options['close'] = "yes";
+	options['movable'] = "yes";
+	options['statusbar'] = "yes";
+	options['scrollbars'] = "auto";
+	options['modal'] = "no";
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	options['left'] = parseInt(options['left']);
+	options['top'] = parseInt(options['top']);
+	options['width'] = parseInt(options['width']);
+	options['height'] = parseInt(options['height']);
+	options['minWidth'] = parseInt(options['minwidth']);
+	options['minHeight'] = parseInt(options['minheight']);
+
+	return options;
+};
+
+TinyMCE_Windows.prototype.open = function(url, name, features) {
+	this.lastSelectedWindow = this.selectedWindow;
+
+	var win = new TinyMCE_Window();
+	var winDiv, html = "", id;
+	var imgPath = this.getParam("images_path");
+
+	features = this.parseFeatures(features);
+
+	// Clamp specified dimensions
+	var clamp = mcWindows.clampBoxPosition(
+		features['left'], features['top'],
+		features['width'], features['height'],
+		features['minWidth'], features['minHeight']
+	);
+
+	features['left'] = clamp[0];
+	features['top'] = clamp[1];
+
+	if (features['resizable'] == "yes") {
+		features['width'] = clamp[2];
+		features['height'] = clamp[3];
+	}
+
+	// Create div
+	id = "mcWindow_" + name;
+	win.deltaHeight = 18;
+
+	if (features['statusbar'] == "yes") {
+		win.deltaHeight += 13;
+
+		if (this.isMSIE)
+			win.deltaHeight += 1;
+	}
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-win.deltaHeight;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="' + this.getParam("css_file") + '" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;"></div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" target="_self" onmousedown="return false;" class="mceWindowClose"><img border="0" src="' + imgPath + '/window_close.gif" /></a>';
+	if (features['resizable'] == "yes" && features['maximizable'] == "yes")
+		html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].maximize();" target="_self" onmousedown="return false;" class="mceWindowMaximize"><img border="0" src="' + imgPath + '/window_maximize.gif" /></a>';
+	// html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" target="_self" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe" scrolling="' + features['scrollbars'] + '"></iframe></div>';
+
+	if (features['statusbar'] == "yes") {
+		html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+
+		if (features['resizable'] == "yes") {
+			if (this.isGecko)
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><div style="background-image: url(\'' + imgPath + '/window_resize.gif\'); width: 12px; height: 12px;"></div></div>';
+			else
+				html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="' + imgPath + '/window_resize.gif" /></div>';
+		}
+
+		html += '</div>';
+	}
+
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Blocks the document events by placing a image over the whole document
+TinyMCE_Windows.prototype.setDocumentLock = function(state) {
+	var elm = document.getElementById('mcWindowEventBlocker');
+
+	if (state) {
+		if (elm == null) {
+			elm = document.createElement("div");
+
+			elm.id = "mcWindowEventBlocker";
+			elm.style.position = "absolute";
+			elm.style.left = "0";
+			elm.style.top = "0";
+
+			document.body.appendChild(elm);
+		}
+
+		elm.style.display = "none";
+
+		var imgPath = this.getParam("images_path");
+		var width = document.body.clientWidth;
+		var height = document.body.clientHeight;
+
+		elm.style.width = width;
+		elm.style.height = height;
+		elm.innerHTML = '<img src="' + imgPath + '/spacer.gif" width="' + width + '" height="' + height + '" />';
+
+		elm.style.zIndex = mcWindows.zindex-1;
+		elm.style.display = "block";
+	} else if (elm != null) {
+		if (mcWindows.windows.length == 0)
+			elm.parentNode.removeChild(elm);
+		else
+			elm.style.zIndex = mcWindows.zindex-1;
+	}
+};
+
+// Gets called when wrapper iframe is initialized
+TinyMCE_Windows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name;
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (win.resizeElement != null)
+		mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	// Dispatch open window event
+	var func = this.getParam("on_open_window", "");
+	if (func != "")
+		eval(func + "(win);");
+
+	win.focus();
+
+	if (win.features['modal'] == "yes")
+		mcWindows.setDocumentLock(true);
+};
+
+TinyMCE_Windows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div"), doc;
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+	// iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			var doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document;
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function TinyMCE_Window() {
+};
+
+TinyMCE_Window.prototype.focus = function() {
+	if (this != mcWindows.selectedWindow) {
+		this.winElement.style.zIndex = ++mcWindows.zindex;
+		mcWindows.lastSelectedWindow = mcWindows.selectedWindow;
+		mcWindows.selectedWindow = this;
+	}
+};
+
+TinyMCE_Window.prototype.minimize = function() {
+};
+
+TinyMCE_Window.prototype.maximize = function() {
+	if (this.restoreSize) {
+		this.moveTo(this.restoreSize[0], this.restoreSize[1]);
+		this.resizeTo(this.restoreSize[2], this.restoreSize[3]);
+		this.updateClamping();
+		this.restoreSize = null;
+	} else {
+		var bounds = mcWindows.getBounds();
+		this.restoreSize = [
+			this.left, this.top,
+			this.winElement.scrollWidth,
+			this.winElement.scrollHeight
+		];
+		this.moveTo(bounds[0], bounds[1]);
+		this.resizeTo(
+			bounds[2] - bounds[0],
+			bounds[3] - bounds[1]
+		);
+	}
+};
+
+TinyMCE_Window.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+TinyMCE_Window.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+TinyMCE_Window.prototype.close = function() {
+	if (this.frame && this.frame['tinyMCEPopup'])
+		this.frame['tinyMCEPopup'].restoreSelection();
+
+	if (mcWindows.lastSelectedWindow != null)
+		mcWindows.lastSelectedWindow.focus();
+
+	var mcWindowsNew = new Array();
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (win.name != this.name)
+			mcWindowsNew[n] = win;
+	}
+
+	mcWindows.windows = mcWindowsNew;
+
+	// alert(mcWindows.doc.getElementById(this.id + "_iframe"));
+
+	var e = mcWindows.doc.getElementById(this.id + "_iframe");
+	e.parentNode.removeChild(e);
+
+	var e = mcWindows.doc.getElementById(this.id + "_div");
+	e.parentNode.removeChild(e);
+
+	mcWindows.setDocumentLock(false);
+};
+
+TinyMCE_Window.prototype.onMouseMove = function(e) {
+	var clamp;
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			clamp = mcWindows.clampBoxSize(
+				this.left, this.top,
+				mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX),
+				mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY),
+				this.features.minWidth, this.features.minHeight
+			);
+
+			this.resizeTo(clamp[2], clamp[3]);
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.updateClamping();
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+TinyMCE_Window.prototype.moveTo = function (x, y) {
+	this.left = x;
+	this.top = y;
+
+	this.winElement.style.left = this.left + "px";
+	this.winElement.style.top = this.top + "px";
+};
+
+TinyMCE_Window.prototype.resizeTo = function (width, height) {
+	this.wrapperIFrameElement.style.width = (width+2) + 'px';
+	this.wrapperIFrameElement.style.height = (height+2) + 'px';
+	this.wrapperIFrameElement.width = width+2;
+	this.wrapperIFrameElement.height = height+2;
+	this.winElement.style.width = width + 'px';
+	this.winElement.style.height = height + 'px';
+
+	height = height - this.deltaHeight;
+
+	this.containerElement.style.width = width + 'px';
+	this.iframeElement.style.width = width + 'px';
+	this.iframeElement.style.height = height + 'px';
+	this.bodyElement.style.width = width + 'px';
+	this.bodyElement.style.height = height + 'px';
+	this.headElement.style.width = width + 'px';
+	//this.statusElement.style.width = width + 'px';
+};
+
+TinyMCE_Window.prototype.updateClamping = function () {
+	var clamp, oversize;
+
+	clamp = mcWindows.clampBoxPosition(
+		this.left, this.top,
+		this.winElement.scrollWidth,
+		this.winElement.scrollHeight,
+		this.features.minWidth, this.features.minHeight
+	);
+	oversize = (
+		clamp[2] != this.winElement.scrollWidth ||
+		clamp[3] != this.winElement.scrollHeight
+	) ? true : false;
+
+	this.moveTo(clamp[0], clamp[1]);
+	if (this.features.resizable == "yes" && oversize)
+		this.resizeTo(clamp[2], clamp[3]);
+};
+
+function debug(msg) {
+	document.getElementById('debug').value += msg + "\n";
+}
+
+TinyMCE_Window.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+TinyMCE_Window.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id + "_iframe") {
+			win.focus();
+			return;
+		}
+	}
+};
+
+TinyMCE_Window.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (this.resizeElement != null && elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new TinyMCE_Windows();
+
+// Initialize windows
+mcWindows.init({
+	images_path : tinyMCE.baseURL + "/plugins/inlinepopups/images",
+	css_file : tinyMCE.baseURL + "/plugins/inlinepopups/css/inlinepopup.css"
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/images/window_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,453 @@
+/**
+ * $Id: mcwindows.js 18 2006-06-29 14:11:23Z spocke $
+ *
+ * Moxiecode DHTML Windows script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004, Moxiecode Systems AB, All rights reserved.
+ */
+
+// Windows handler
+function MCWindows() {
+	this.settings = new Array();
+	this.windows = new Array();
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isGecko = navigator.userAgent.indexOf('Gecko') != -1;
+	this.isSafari = navigator.userAgent.indexOf('Safari') != -1;
+	this.isMac = navigator.userAgent.indexOf('Mac') != -1;
+	this.isMSIE5_0 = this.isMSIE && (navigator.userAgent.indexOf('MSIE 5.0') != -1);
+	this.action = "none";
+	this.selectedWindow = null;
+	this.zindex = 100;
+	this.mouseDownScreenX = 0;
+	this.mouseDownScreenY = 0;
+	this.mouseDownLayerX = 0;
+	this.mouseDownLayerY = 0;
+	this.mouseDownWidth = 0;
+	this.mouseDownHeight = 0;
+};
+
+MCWindows.prototype.init = function(settings) {
+	this.settings = settings;
+
+	if (this.isMSIE)
+		this.addEvent(document, "mousemove", mcWindows.eventDispatcher);
+	else
+		this.addEvent(window, "mousemove", mcWindows.eventDispatcher);
+
+	this.addEvent(document, "mouseup", mcWindows.eventDispatcher);
+};
+
+MCWindows.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCWindows.prototype.eventDispatcher = function(e) {
+	e = typeof(e) == "undefined" ? window.event : e;
+
+	if (mcWindows.selectedWindow == null)
+		return;
+
+	// Switch focus
+	if (mcWindows.isGecko && e.type == "mousedown") {
+		var elm = e.currentTarget;
+
+		for (var n in mcWindows.windows) {
+			var win = mcWindows.windows[n];
+			if (typeof(win) == 'function')
+				continue;
+
+			if (win.headElement == elm || win.resizeElement == elm) {
+				win.focus();
+				break;
+			}
+		}
+	}
+
+	switch (e.type) {
+		case "mousemove":
+			mcWindows.selectedWindow.onMouseMove(e);
+			break;
+
+		case "mouseup":
+			mcWindows.selectedWindow.onMouseUp(e);
+			break;
+
+		case "mousedown":
+			mcWindows.selectedWindow.onMouseDown(e);
+			break;
+
+		case "focus":
+			mcWindows.selectedWindow.onFocus(e);
+			break;
+	}
+}
+
+MCWindows.prototype.addEvent = function(obj, name, handler) {
+	if (this.isMSIE)
+		obj.attachEvent("on" + name, handler);
+	else
+		obj.addEventListener(name, handler, true);
+};
+
+MCWindows.prototype.cancelEvent = function(e) {
+	if (this.isMSIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else
+		e.preventDefault();
+};
+
+MCWindows.prototype.parseFeatures = function(opts) {
+	// Cleanup the options
+	opts = opts.toLowerCase();
+	opts = opts.replace(/;/g, ",");
+	opts = opts.replace(/[^0-9a-z=,]/g, "");
+
+	var optionChunks = opts.split(',');
+	var options = new Array();
+
+	options['left'] = 10;
+	options['top'] = 10;
+	options['width'] = 300;
+	options['height'] = 300;
+	options['resizable'] = true;
+	options['minimizable'] = true;
+	options['maximizable'] = true;
+	options['close'] = true;
+	options['movable'] = true;
+
+	if (opts == "")
+		return options;
+
+	for (var i=0; i<optionChunks.length; i++) {
+		var parts = optionChunks[i].split('=');
+
+		if (parts.length == 2)
+			options[parts[0]] = parts[1];
+	}
+
+	return options;
+};
+
+MCWindows.prototype.open = function(url, name, features) {
+	var win = new MCWindow();
+	var winDiv, html = "", id;
+
+	features = this.parseFeatures(features);
+
+	// Create div
+	id = "mcWindow_" + name;
+
+	width = parseInt(features['width']);
+	height = parseInt(features['height'])-12-19;
+
+	if (this.isMSIE)
+		width -= 2;
+
+	// Setup first part of window
+	win.id = id;
+	win.url = url;
+	win.name = name;
+	win.features = features;
+	this.windows[name] = win;
+
+	iframeWidth = width;
+	iframeHeight = height;
+
+	// Create inner content
+	html += '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
+	html += '<html>';
+	html += '<head>';
+	html += '<title>Wrapper iframe</title>';
+	html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
+	html += '<link href="../jscripts/tiny_mce/themes/advanced/css/editor_ui.css" rel="stylesheet" type="text/css" />';
+	html += '</head>';
+	html += '<body onload="parent.mcWindows.onLoad(\'' + name + '\');">';
+
+	html += '<div id="' + id + '_container" class="mceWindow">';
+	html += '<div id="' + id + '_head" class="mceWindowHead" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '  <div id="' + id + '_title" class="mceWindowTitle"';
+	html += '  onselectstart="return false;" unselectable="on" style="-moz-user-select: none !important;">No name window</div>';
+	html += '    <div class="mceWindowHeadTools">';
+	html += '      <a href="javascript:parent.mcWindows.windows[\'' + name + '\'].close();" onmousedown="return false;" class="mceWindowClose"><img border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_close.gif" /></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].maximize();" onmousedown="return false;" class="mceWindowMaximize"></a>';
+//	html += '      <a href="javascript:mcWindows.windows[\'' + name + '\'].minimize();" onmousedown="return false;" class="mceWindowMinimize"></a>';
+	html += '    </div>';
+	html += '</div><div id="' + id + '_body" class="mceWindowBody" style="width: ' + width + 'px; height: ' + height + 'px;">';
+	html += '<iframe id="' + id + '_iframe" name="' + id + '_iframe" onfocus="parent.mcWindows.windows[\'' + name + '\'].focus();" frameborder="0" width="' + iframeWidth + '" height="' + iframeHeight + '" src="' + url + '" class="mceWindowBodyIframe"></iframe></div>';
+	html += '<div id="' + id + '_statusbar" class="mceWindowStatusbar" onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();">';
+	html += '<div id="' + id + '_resize" class="mceWindowResize"><img onmousedown="parent.mcWindows.windows[\'' + name + '\'].focus();" border="0" src="../jscripts/tiny_mce/themes/advanced/images/window_resize.gif" /></div>';
+	html += '</div>';
+	html += '</div>';
+
+	html += '</body>';
+	html += '</html>';
+
+	// Create iframe
+	this.createFloatingIFrame(id, features['left'], features['top'], features['width'], features['height'], html);
+};
+
+// Gets called when wrapper iframe is initialized
+MCWindows.prototype.onLoad = function(name) {
+	var win = mcWindows.windows[name];
+	var id = "mcWindow_" + name;
+	var wrapperIframe = window.frames[id + "_iframe"].frames[0];
+	var wrapperDoc = window.frames[id + "_iframe"].document;
+	var doc = window.frames[id + "_iframe"].document;
+	var winDiv = document.getElementById("mcWindow_" + name + "_div");
+	var realIframe = window.frames[id + "_iframe"].frames[0];
+
+	// Set window data
+	win.id = "mcWindow_" + name + "_iframe";
+	win.winElement = winDiv;
+	win.bodyElement = doc.getElementById(id + '_body');
+	win.iframeElement = doc.getElementById(id + '_iframe');
+	win.headElement = doc.getElementById(id + '_head');
+	win.titleElement = doc.getElementById(id + '_title');
+	win.resizeElement = doc.getElementById(id + '_resize');
+	win.containerElement = doc.getElementById(id + '_container');
+	win.left = win.features['left'];
+	win.top = win.features['top'];
+	win.frame = window.frames[id + '_iframe'].frames[0];
+	win.wrapperFrame = window.frames[id + '_iframe'];
+	win.wrapperIFrameElement = document.getElementById(id + "_iframe");
+
+	// Add event handlers
+	mcWindows.addEvent(win.headElement, "mousedown", mcWindows.eventDispatcher);
+	mcWindows.addEvent(win.resizeElement, "mousedown", mcWindows.eventDispatcher);
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(realIframe.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(realIframe, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(realIframe, "focus", mcWindows.eventDispatcher);
+	}
+
+	for (var i=0; i<window.frames.length; i++) {
+		if (!window.frames[i]._hasMouseHandlers) {
+			if (mcWindows.isMSIE) {
+				mcWindows.addEvent(window.frames[i].document, "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i].document, "mouseup", mcWindows.eventDispatcher);
+			} else {
+				mcWindows.addEvent(window.frames[i], "mousemove", mcWindows.eventDispatcher);
+				mcWindows.addEvent(window.frames[i], "mouseup", mcWindows.eventDispatcher);
+			}
+
+			window.frames[i]._hasMouseHandlers = true;
+		}
+	}
+
+	if (mcWindows.isMSIE) {
+		mcWindows.addEvent(win.frame.document, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame.document, "mouseup", mcWindows.eventDispatcher);
+	} else {
+		mcWindows.addEvent(win.frame, "mousemove", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "mouseup", mcWindows.eventDispatcher);
+		mcWindows.addEvent(win.frame, "focus", mcWindows.eventDispatcher);
+	}
+
+	this.selectedWindow = win;
+};
+
+MCWindows.prototype.createFloatingIFrame = function(id_prefix, left, top, width, height, html) {
+	var iframe = document.createElement("iframe");
+	var div = document.createElement("div");
+
+	width = parseInt(width);
+	height = parseInt(height)+1;
+
+	// Create wrapper div
+	div.setAttribute("id", id_prefix + "_div");
+	div.setAttribute("width", width);
+	div.setAttribute("height", (height));
+	div.style.position = "absolute";
+	div.style.left = left + "px";
+	div.style.top = top + "px";
+	div.style.width = width + "px";
+	div.style.height = (height) + "px";
+	div.style.backgroundColor = "white";
+	div.style.display = "none";
+
+	if (this.isGecko) {
+		iframeWidth = width + 2;
+		iframeHeight = height + 2;
+	} else {
+		iframeWidth = width;
+		iframeHeight = height + 1;
+	}
+
+	// Create iframe
+	iframe.setAttribute("id", id_prefix + "_iframe");
+	iframe.setAttribute("name", id_prefix + "_iframe");
+	iframe.setAttribute("border", "0");
+	iframe.setAttribute("frameBorder", "0");
+	iframe.setAttribute("marginWidth", "0");
+	iframe.setAttribute("marginHeight", "0");
+	iframe.setAttribute("leftMargin", "0");
+	iframe.setAttribute("topMargin", "0");
+	iframe.setAttribute("width", iframeWidth);
+	iframe.setAttribute("height", iframeHeight);
+//	iframe.setAttribute("src", "../jscripts/tiny_mce/blank.htm");
+	// iframe.setAttribute("allowtransparency", "false");
+	iframe.setAttribute("scrolling", "no");
+	iframe.style.width = iframeWidth + "px";
+	iframe.style.height = iframeHeight + "px";
+	iframe.style.backgroundColor = "white";
+	div.appendChild(iframe);
+
+	document.body.appendChild(div);
+
+	// Fixed MSIE 5.0 issue
+	div.innerHTML = div.innerHTML;
+
+	if (this.isSafari) {
+		// Give Safari some time to setup
+		window.setTimeout(function() {
+			doc = window.frames[id_prefix + '_iframe'].document;
+			doc.open();
+			doc.write(html);
+			doc.close();
+		}, 10);
+	} else {
+		doc = window.frames[id_prefix + '_iframe'].window.document
+		doc.open();
+		doc.write(html);
+		doc.close();
+	}
+
+	div.style.display = "block";
+
+	return div;
+};
+
+// Window instance
+function MCWindow() {
+};
+
+MCWindow.prototype.focus = function() {
+	this.winElement.style.zIndex = mcWindows.zindex++;
+	mcWindows.selectedWindow = this;
+};
+
+MCWindow.prototype.minimize = function() {
+};
+
+MCWindow.prototype.maximize = function() {
+	
+};
+
+MCWindow.prototype.startResize = function() {
+	mcWindows.action = "resize";
+};
+
+MCWindow.prototype.startMove = function(e) {
+	mcWindows.action = "move";
+};
+
+MCWindow.prototype.close = function() {
+	document.body.removeChild(this.winElement);
+	mcWindows.windows[this.name] = null;
+};
+
+MCWindow.prototype.onMouseMove = function(e) {
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	// Calculate real X, Y
+	var dx = e.screenX - mcWindows.mouseDownScreenX;
+	var dy = e.screenY - mcWindows.mouseDownScreenY;
+
+	switch (mcWindows.action) {
+		case "resize":
+			width = mcWindows.mouseDownWidth + (e.screenX - mcWindows.mouseDownScreenX);
+			height = mcWindows.mouseDownHeight + (e.screenY - mcWindows.mouseDownScreenY);
+
+			width = width < 100 ? 100 : width;
+			height = height < 100 ? 100 : height;
+
+			this.wrapperIFrameElement.style.width = width+2;
+			this.wrapperIFrameElement.style.height = height+2;
+			this.wrapperIFrameElement.width = width+2;
+			this.wrapperIFrameElement.height = height+2;
+			this.winElement.style.width = width;
+			this.winElement.style.height = height;
+
+			height = height-12-19;
+
+			this.containerElement.style.width = width;
+
+			this.iframeElement.style.width = width;
+			this.iframeElement.style.height = height;
+			this.bodyElement.style.width = width;
+			this.bodyElement.style.height = height;
+			this.headElement.style.width = width;
+			//this.statusElement.style.width = width;
+
+			mcWindows.cancelEvent(e);
+			break;
+
+		case "move":
+			this.left = mcWindows.mouseDownLayerX + (e.screenX - mcWindows.mouseDownScreenX);
+			this.top = mcWindows.mouseDownLayerY + (e.screenY - mcWindows.mouseDownScreenY);
+			this.winElement.style.left = this.left + "px";
+			this.winElement.style.top = this.top + "px";
+
+			mcWindows.cancelEvent(e);
+			break;
+	}
+};
+
+MCWindow.prototype.onMouseUp = function(e) {
+	mcWindows.action = "none";
+};
+
+MCWindow.prototype.onFocus = function(e) {
+	// Gecko only handler
+	var winRef = e.currentTarget;
+
+	for (var n in mcWindows.windows) {
+		var win = mcWindows.windows[n];
+		if (typeof(win) == 'function')
+			continue;
+
+		if (winRef.name == win.id) {
+			win.focus();
+			return;
+		}
+	}
+};
+
+MCWindow.prototype.onMouseDown = function(e) {
+	var elm = mcWindows.isMSIE ? this.wrapperFrame.event.srcElement : e.target;
+
+	var scrollX = 0;//this.doc.body.scrollLeft;
+	var scrollY = 0;//this.doc.body.scrollTop;
+
+	mcWindows.mouseDownScreenX = e.screenX;
+	mcWindows.mouseDownScreenY = e.screenY;
+	mcWindows.mouseDownLayerX = this.left;
+	mcWindows.mouseDownLayerY = this.top;
+	mcWindows.mouseDownWidth = parseInt(this.winElement.style.width);
+	mcWindows.mouseDownHeight = parseInt(this.winElement.style.height);
+
+	if (elm == this.resizeElement.firstChild)
+		this.startResize(e);
+	else
+		this.startMove(e);
+
+	mcWindows.cancelEvent(e);
+};
+
+// Global instance
+var mcWindows = new MCWindows();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/inlinepopups/readme.txt
===================================================================

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('insertdatetime');var TinyMCE_InsertDateTimePlugin={getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"insertdate":return tinyMCE.getButtonHTML(cn,'lang_insertdate_desc','{$pluginurl}/images/insertdate.gif','mceInsertDate');case"inserttime":return tinyMCE.getButtonHTML(cn,'lang_inserttime_desc','{$pluginurl}/images/inserttime.gif','mceInsertTime')}return""},execCommand:function(editor_id,element,command,user_interface,value){function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value}return value}function getDateTime(d,fmt){fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt}switch(command){case"mceInsertDate":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_dateFormat",tinyMCE.getLang('lang_insertdate_def_fmt'))));return true;case"mceInsertTime":tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,getDateTime(new Date(),tinyMCE.getParam("plugin_insertdate_timeFormat",tinyMCE.getLang('lang_inserttime_def_fmt'))));return true}return false}};tinyMCE.addPlugin("insertdatetime",TinyMCE_InsertDateTimePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('insertdatetime');
+
+var TinyMCE_InsertDateTimePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Insert date/time',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the insertdate, inserttime controls.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "insertdate":
+				return tinyMCE.getButtonHTML(cn, 'lang_insertdate_desc', '{$pluginurl}/images/insertdate.gif', 'mceInsertDate');
+
+			case "inserttime":
+				return tinyMCE.getButtonHTML(cn, 'lang_inserttime_desc', '{$pluginurl}/images/inserttime.gif', 'mceInsertTime');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceInsertDate command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		/* Adds zeros infront of value */
+		function addZeros(value, len) {
+			value = "" + value;
+
+			if (value.length < len) {
+				for (var i=0; i<(len-value.length); i++)
+					value = "0" + value;
+			}
+
+			return value;
+		}
+
+		function getDateTime(d, fmt) {
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_inserttime_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_inserttime_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_inserttime_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_inserttime_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+		}
+
+		// Handle commands
+		switch (command) {
+			case "mceInsertDate":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_dateFormat", tinyMCE.getLang('lang_insertdate_def_fmt'))));
+				return true;
+
+			case "mceInsertTime":
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, getDateTime(new Date(), tinyMCE.getParam("plugin_insertdate_timeFormat", tinyMCE.getLang('lang_inserttime_def_fmt'))));
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("insertdatetime", TinyMCE_InsertDateTimePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/insertdate.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/images/inserttime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+insertdate_def_fmt : '%Y-%m-%d',
+inserttime_def_fmt : '%H:%M:%S',
+insertdate_desc : 'Insert date',
+inserttime_desc : 'Insert time',
+inserttime_months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+inserttime_months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+inserttime_day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+inserttime_day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/insertdatetime/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('layer');var TinyMCE_LayerPlugin={getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&!tinyMCE.isOpera)inst.getDoc().execCommand('2D-Position')},handleEvent:function(e){var inst=tinyMCE.selectedInstance;var w=inst.getWin(),le=inst._lastStyleElm,e;if(tinyMCE.isGecko){e=this._getParentLayer(inst.getFocusElement());if(e){if(!inst._lastStyleElm){e.style.overflow='auto';inst._lastStyleElm=e}}else if(le){le=inst._lastStyleElm;le.style.width=le.scrollWidth+'px';le.style.height=le.scrollHeight+'px';le.style.overflow='';inst._lastStyleElm=null}}return true},handleVisualAid:function(el,deep,state,inst){var nl=inst.getDoc().getElementsByTagName("div"),i;for(i=0;i<nl.length;i++){if(new RegExp('absolute|relative|static','gi').test(nl[i].style.position)){if(state)tinyMCE.addCSSClass(nl[i],'mceVisualAid');else tinyMCE.removeCSSClass(nl[i],'mceVisualAid')}}},getControlHTML:function(cn){switch(cn){case"moveforward":return tinyMCE.getButtonHTML(cn,'lang_layer_forward_desc','{$pluginurl}/images/moveforward.gif','mceMoveForward',true);case"movebackward":return tinyMCE.getButtonHTML(cn,'lang_layer_backward_desc','{$pluginurl}/images/movebackward.gif','mceMoveBackward',true);case"absolute":return tinyMCE.getButtonHTML(cn,'lang_layer_absolute_desc','{$pluginurl}/images/absolute.gif','mceMakeAbsolute',true);case"insertlayer":return tinyMCE.getButtonHTML(cn,'lang_layer_insertlayer_desc','{$pluginurl}/images/insertlayer.gif','mceInsertLayer',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertLayer":this._insertLayer();return true;case"mceMoveForward":this._move(1);return true;case"mceMoveBackward":this._move(-1);return true;case"mceMakeAbsolute":this._toggleAbsolute();return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id);var le=this._getParentLayer(inst.getFocusElement());var p=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');tinyMCE.switchClass(editor_id+'_absolute','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonDisabled');if(p)tinyMCE.switchClass(editor_id+'_absolute','mceButtonNormal');if(le&&le.style.position.toLowerCase()=="absolute"){tinyMCE.switchClass(editor_id+'_absolute','mceButtonSelected');tinyMCE.switchClass(editor_id+'_moveforward','mceButtonNormal');tinyMCE.switchClass(editor_id+'_movebackward','mceButtonNormal')}},_move:function(d){var inst=tinyMCE.selectedInstance,i,z=new Array();var le=this._getParentLayer(inst.getFocusElement()),ci=-1,fi=-1;var nl=tinyMCE.selectNodes(inst.getBody(),function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)});for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci]}else nl[ci].style.zIndex=z[ci]+1}inst.repaint()},_getParentLayer:function(n){return tinyMCE.getParentNode(n,function(n){return n.nodeType==1&&new RegExp('absolute|relative|static','gi').test(n.style.position)})},_insertLayer:function(){var inst=tinyMCE.selectedInstance;var e=tinyMCE.getParentElement(inst.getFocusElement());var p=tinyMCE.getAbsPosition(e);var d=inst.getDoc();var ne=d.createElement('div');var h=inst.selection.getSelectedHTML();ne.style.position='absolute';ne.style.left=p.absLeft+'px';ne.style.top=(p.absTop>20?p.absTop:20)+'px';ne.style.width='100px';ne.style.height='100px';ne.className='mceVisualAid';if(!h)h=tinyMCE.getLang('lang_layer_content');ne.innerHTML=h;d.body.appendChild(ne)},_toggleAbsolute:function(){var inst=tinyMCE.selectedInstance;var le=this._getParentLayer(inst.getFocusElement());if(le==null)le=tinyMCE.getParentElement(inst.getFocusElement(),'div,p,img');if(le){if(le.style.position.toLowerCase()=="absolute"){le.style.position="";le.style.left="";le.style.top=""}else{le.style.position="absolute";if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';tinyMCE.handleVisualAid(inst.getBody(),true,inst.visualAid,inst)}inst.repaint();tinyMCE.triggerNodeChange()}}};tinyMCE.addPlugin("layer",TinyMCE_LayerPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,248 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('layer');
+
+var TinyMCE_LayerPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Layer',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && !tinyMCE.isOpera)
+			inst.getDoc().execCommand('2D-Position');
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+		var w = inst.getWin(), le = inst._lastStyleElm, e;
+
+		if (tinyMCE.isGecko) {
+			e = this._getParentLayer(inst.getFocusElement());
+
+			if (e) {
+				if (!inst._lastStyleElm) {
+					e.style.overflow = 'auto';
+					inst._lastStyleElm = e;
+				}
+			} else if (le) {
+				le = inst._lastStyleElm;
+				le.style.width = le.scrollWidth + 'px';
+				le.style.height = le.scrollHeight + 'px';
+				le.style.overflow = '';
+				inst._lastStyleElm = null;
+			}
+		}
+
+		return true;
+	},
+
+	handleVisualAid : function(el, deep, state, inst) {
+		var nl = inst.getDoc().getElementsByTagName("div"), i;
+
+		for (i=0; i<nl.length; i++) {
+			if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
+				if (state)
+					tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
+				else
+					tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');					
+			}
+		}
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "moveforward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/moveforward.gif', 'mceMoveForward', true);
+
+			case "movebackward":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/movebackward.gif', 'mceMoveBackward', true);
+
+			case "absolute":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
+
+			case "insertlayer":
+				return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insertlayer.gif', 'mceInsertLayer', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceInsertLayer":
+				this._insertLayer();
+				return true;
+
+			case "mceMoveForward":
+				this._move(1);
+				return true;
+
+			case "mceMoveBackward":
+				this._move(-1);
+				return true;
+
+			case "mceMakeAbsolute":
+				this._toggleAbsolute();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var le = this._getParentLayer(inst.getFocusElement());
+		var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
+
+		if (p)
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
+
+		if (le && le.style.position.toLowerCase() == "absolute") {
+			tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin specific methods
+
+	_move : function(d) {
+		var inst = tinyMCE.selectedInstance, i, z = new Array();
+		var le = this._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
+		var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+
+		// Find z-indexes
+		for (i=0; i<nl.length; i++) {
+			z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
+
+			if (ci < 0 && nl[i] == le)
+				ci = i;
+		}
+
+		if (d < 0) {
+			// Move back
+
+			// Try find a lower one
+			for (i=0; i<z.length; i++) {
+				if (z[i] < z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else {
+				if (z[ci] > 0)
+					nl[ci].style.zIndex = z[ci] - 1;
+			}
+		} else {
+			// Move forward
+
+			// Try find a higher one
+			for (i=0; i<z.length; i++) {
+				if (z[i] > z[ci]) {
+					fi = i;
+					break;
+				}
+			}
+
+			if (fi > -1) {
+				nl[ci].style.zIndex = z[fi];
+				nl[fi].style.zIndex = z[ci];
+			} else
+				nl[ci].style.zIndex = z[ci] + 1;
+		}
+
+		inst.repaint();
+	},
+
+	_getParentLayer : function(n) {
+		return tinyMCE.getParentNode(n, function(n) {
+			return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
+		});
+	},
+
+	_insertLayer : function() {
+		var inst = tinyMCE.selectedInstance;
+		var e = tinyMCE.getParentElement(inst.getFocusElement());
+		var p = tinyMCE.getAbsPosition(e);
+		var d = inst.getDoc();
+		var ne = d.createElement('div');
+		var h = inst.selection.getSelectedHTML();
+
+		// Move div
+		ne.style.position = 'absolute';
+		ne.style.left = p.absLeft + 'px';
+		ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
+		ne.style.width = '100px';
+		ne.style.height = '100px';
+		ne.className = 'mceVisualAid';
+
+		if (!h)
+			h = tinyMCE.getLang('lang_layer_content');
+
+		ne.innerHTML = h;
+
+		// Add it
+		d.body.appendChild(ne);
+	},
+
+	_toggleAbsolute : function() {
+		var inst = tinyMCE.selectedInstance;
+		var le = this._getParentLayer(inst.getFocusElement());
+
+		if (le == null)
+			le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
+
+		if (le) {
+			if (le.style.position.toLowerCase() == "absolute") {
+				le.style.position = "";
+				le.style.left = "";
+				le.style.top = "";
+			} else {
+				le.style.position = "absolute";
+
+				if (le.style.left == "")
+					le.style.left = 20 + 'px';
+
+				if (le.style.top == "")
+					le.style.top = 20 + 'px';
+
+				if (le.style.width == "")
+					le.style.width = le.width ? (le.width + 'px') : '100px';
+
+				if (le.style.height == "")
+					le.style.height = le.height ? (le.height + 'px') : '100px';
+
+				tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+			}
+
+			inst.repaint();
+			tinyMCE.triggerNodeChange();
+		}
+	}
+};
+
+tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/absolute.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/backward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/forward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insert_layer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/insertlayer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/movebackward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/images/moveforward.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+// UK lang variables
+
+tinyMCE.addToLang('layer',{
+insertlayer_desc : 'Insert new layer',
+forward_desc : 'Move forward',
+backward_desc : 'Move backward',
+absolute_desc : 'Toggle absolute positioning',
+content : 'New layer...'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/layer/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {
+	border: 1px dotted #cc0000;
+	background-position: center;
+	background-repeat: no-repeat;
+	background-color: #ffffcc;
+}
+
+.mceItemShockWave {
+	background-image: url('../images/shockwave.gif');
+}
+
+.mceItemFlash {
+	background-image: url('../images/flash.gif');
+}
+
+.mceItemQuickTime {
+	background-image: url('../images/quicktime.gif');
+}
+
+.mceItemWindowsMedia {
+	background-image: url('../images/windowsmedia.gif');
+}
+
+.mceItemRealMedia {
+	background-image: url('../images/realmedia.gif');
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/css/media.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,68 @@
+#id, #name, #hspace, #vspace, #class_name, #align {
+	width: 100px;
+}
+
+#hspace, #vspace {
+	width: 50px;
+}
+
+#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode {
+	width: 100px;
+}
+
+#flash_base, #flash_flashvars {
+	width: 240px;
+}
+
+#width, #height {
+	width: 40px;
+}
+
+#src, #media_type {
+	width: 250px;
+}
+
+#class {
+	width: 120px;
+}
+
+#prev {
+	margin: 0;
+	border: 1px solid black;
+	width: 99%;
+	height: 230px;
+	overflow: auto;
+}
+
+.panel_wrapper div.current {
+	height: 390px;
+	overflow: auto;
+}
+
+#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options {
+	display: none;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume {
+	width: 70px;
+}
+
+#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume {
+	width: 70px;
+}
+
+#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks {
+	width: 70px;
+}
+
+#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle {
+	width: 90px;
+}
+
+#qt_qtsrc {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('media');var TinyMCE_MediaPlugin={getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(inst.hasPlugin('flash')&&!tinyMCE.flashWarn){alert('Flash plugin is deprecated and should not be used together with the media plugin.');tinyMCE.flashWarn=true}if(!tinyMCE.settings['media_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/media/css/content.css")},getControlHTML:function(cn){switch(cn){case"media":return tinyMCE.getButtonHTML(cn,'lang_media_desc','{$pluginurl}/images/media.gif','mceMedia')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceMedia":tinyMCE.openWindow({file:'../../plugins/media/media.htm',width:430+tinyMCE.getLang('lang_media_delta_width',0),height:470+tinyMCE.getLang('lang_media_delta_height',0)},{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content,inst){var nl,img,i,ne,d,s,ci;switch(type){case"insert_to_editor":img=tinyMCE.getParam("theme_href")+'/images/spacer.gif';content=content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,'<img class="mceItem$1" title="$2" src="'+img+'" />');content=content.replace(/<object([^>]*)>/gi,'<div class="mceItemObject" $1>');content=content.replace(/<embed([^>]*)>/gi,'<div class="mceItemObjectEmbed" $1>');content=content.replace(/<\/(object|embed)([^>]*)>/gi,'</div>');content=content.replace(/<param([^>]*)>/gi,'<div $1 class="mceItemParam"></div>');content=content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>','gi'),'class="mceItemParam"></div>');break;case"insert_to_editor_dom":d=inst.getDoc();nl=content.getElementsByTagName("img");for(i=0;i<nl.length;i++){if(/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)){nl[i].width=nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g,'$1');nl[i].height=nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g,'$1');}}nl=tinyMCE.selectElements(content,'DIV',function(n){return tinyMCE.hasCSSClass(n,'mceItemObject')});for(i=0;i<nl.length;i++){ci=tinyMCE.getAttrib(nl[i],"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash',d,nl[i]),nl[i]);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave',d,nl[i]),nl[i]);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia',d,nl[i]),nl[i]);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime',d,nl[i]),nl[i]);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia',d,nl[i]),nl[i]);break}}nl=tinyMCE.selectNodes(content,function(n){return n.className=='mceItemObjectEmbed'});for(i=0;i<nl.length;i++){switch(tinyMCE.getAttrib(nl[i],'type')){case'application/x-shockwave-flash':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemFlash');break;case'application/x-director':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemShockWave');break;case'application/x-mplayer2':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemWindowsMedia');break;case'video/quicktime':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemQuickTime');break;case'audio/x-pn-realaudio-plugin':TinyMCE_MediaPlugin._createImgFromEmbed(nl[i],d,'mceItemRealMedia');break}}break;case"get_from_editor":var startPos=-1,endPos,attribs,chunkBefore,chunkAfter,embedHTML,at,pl,cb,mt,ex;while((startPos=content.indexOf('<img',startPos+1))!=-1){endPos=content.indexOf('/>',startPos);attribs=TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos+4,endPos));if(!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))continue;endPos+=2;at=attribs['title'];if(at){at=at.replace(/&(#39|apos);/g,"'");at=at.replace(/&#quot;/g,'"');try{pl=eval('x={'+at+'};')}catch(ex){pl={}}}if(!tinyMCE.getParam('media_use_script',false)){switch(attribs['class']){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166B1BCA-3F9C-11CF-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=tinyMCE.getParam('media_wmp6_compatible')?'05589FA1-C356-11CE-BF01-00AA0055595A':'6BF52A52-394A-11D3-B153-00C04F79FAA6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break}if(!tinyMCE.getParam("relative_urls"))pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);embedHTML=TinyMCE_MediaPlugin._getEmbed(ci,cb,mt,pl,attribs)}else{switch(attribs['class']){case'mceItemFlash':s='writeFlash';break;case'mceItemShockWave':s='writeShockWave';break;case'mceItemWindowsMedia':s='writeWindowsMedia';break;case'mceItemQuickTime':s='writeQuickTime';break;case'mceItemRealMedia':s='writeRealMedia';break}if(attribs.width)at=at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g,"width:'"+attribs.width+"'");if(attribs.height)at=at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g,"height:'"+attribs.height+"'");if(!tinyMCE.getParam("relative_urls")){pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);at=at.replace(new RegExp("src:'[^']*'","g"),"src:'"+pl.src+"'")}embedHTML='<script type="text/javascript">'+s+'({'+at+'});</script>'}chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node,'class'))){tinyMCE.switchClass(editor_id+'_media','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_media','mceButtonNormal');return true},_createImgFromEmbed:function(n,d,cl){var ne,at,i,ti='',an;ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;at=n.attributes;for(i=0;i<at.length;i++){if(at[i].specified&&at[i].nodeValue){an=at[i].nodeName.toLowerCase();if(an=='src')continue;if(an=='mce_src')an='src';if(an.indexOf('mce_')==-1&&!new RegExp('^(class|type)$').test(an))ti+=an.toLowerCase()+':\''+at[i].nodeValue+"',"}}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;n.parentNode.replaceChild(ne,n)},_createImg:function(cl,d,n){var i,nl,ti="",an,av,al=new Array();ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;al.id=tinyMCE.getAttrib(n,'id');al.name=tinyMCE.getAttrib(n,'name');al.width=tinyMCE.getAttrib(n,'width');al.height=tinyMCE.getAttrib(n,'height');al.bgcolor=tinyMCE.getAttrib(n,'bgcolor');al.align=tinyMCE.getAttrib(n,'align');al.class_name=tinyMCE.getAttrib(n,'mce_class');nl=n.getElementsByTagName('div');for(i=0;i<nl.length;i++){av=tinyMCE.getAttrib(nl[i],'value');av=av.replace(new RegExp('\\\\','g'),'\\\\');av=av.replace(new RegExp('"','g'),'\\"');av=av.replace(new RegExp("'",'g'),"\\'");an=tinyMCE.getAttrib(nl[i],'name');al[an]=av}if(al.movie){al.src=al.movie;al.movie=null}for(an in al){if(al[an]!=null&&typeof(al[an])!="function"&&al[an]!='')ti+=an.toLowerCase()+':\''+al[an]+"',"}ti=ti.length>0?ti.substring(0,ti.length-1):ti;ne.title=ti;return ne},_getEmbed:function(cls,cb,mt,p,at){var h='',n;p.width=at.width?at.width:p.width;p.height=at.height?at.height:p.height;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?' id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?' name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?' width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?' height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?' align="'+p.align+'"':'';h+='>';for(n in p){if(p[n]&&typeof(p[n])!="function"){h+='<param name="'+n+'" value="'+p[n]+'" />';if(n=='src'&&p[n].indexOf('://')!=-1&&mt=='application/x-mplayer2')h+='<param name="url" value="'+p[n]+'" />'}}h+='<embed type="'+mt+'"';for(n in p){if(typeof(p[n])=="function")continue;if(!(n=='url'&&mt=='application/x-mplayer2'))h+=' '+n+'="'+p[n]+'"'}h+='></embed></object>';return h},_parseAttributes:function(attribute_string){var attributeName="",endChr='"';var attributeValue="";var withInName;var withInValue;var attributes=new Array();var whiteSpaceRegExp=new RegExp('^[ \n\r\t]+','g');if(attribute_string==null||attribute_string.length<2)return null;withInName=withInValue=false;for(var i=0;i<attribute_string.length;i++){var chr=attribute_string.charAt(i);if((chr=='"'||chr=="'")&&!withInValue){withInValue=true;endChr=chr}else if(chr==endChr&&withInValue){withInValue=false;var pos=attributeName.lastIndexOf(' ');if(pos!=-1)attributeName=attributeName.substring(pos+1);attributes[attributeName.toLowerCase()]=attributeValue.substring(1);attributeName="";attributeValue=""}else if(!whiteSpaceRegExp.test(chr)&&!withInName&&!withInValue)withInName=true;if(chr=='='&&withInName)withInName=false;if(withInName)attributeName+=chr;if(withInValue)attributeValue+=chr}return attributes}};tinyMCE.addPlugin("media",TinyMCE_MediaPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,435 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('media');
+
+var TinyMCE_MediaPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Media',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		// Warn if user has flash plugin and media plugin at the same time
+		if (inst.hasPlugin('flash') && !tinyMCE.flashWarn) {
+			alert('Flash plugin is deprecated and should not be used together with the media plugin.');
+			tinyMCE.flashWarn = true;
+		}
+
+		if (!tinyMCE.settings['media_skip_plugin_css'])
+			tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/media/css/content.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "media":
+				return tinyMCE.getButtonHTML(cn, 'lang_media_desc', '{$pluginurl}/images/media.gif', 'mceMedia');
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceMedia":
+				tinyMCE.openWindow({
+						file : '../../plugins/media/media.htm',
+						width : 430 + tinyMCE.getLang('lang_media_delta_width', 0),
+						height : 470 + tinyMCE.getLang('lang_media_delta_height', 0)
+					}, {
+						editor_id : editor_id,
+						inline : "yes"
+				});
+
+				return true;
+	   }
+
+	   // Pass to next handler in chain
+	   return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nl, img, i, ne, d, s, ci;
+
+		switch (type) {
+			case "insert_to_editor":
+				img = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+				content = content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, '<img class="mceItem$1" title="$2" src="' + img + '" />');
+				content = content.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>');
+				content = content.replace(/<embed([^>]*)>/gi, '<div class="mceItemObjectEmbed" $1>');
+				content = content.replace(/<\/(object|embed)([^>]*)>/gi, '</div>');
+				content = content.replace(/<param([^>]*)>/gi, '<div $1 class="mceItemParam"></div>');
+				content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam"></div>');
+				break;
+
+			case "insert_to_editor_dom":
+				d = inst.getDoc();
+				nl = content.getElementsByTagName("img");
+				for (i=0; i<nl.length; i++) {
+					if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)) {
+						nl[i].width = nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g, '$1');
+						nl[i].height = nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g, '$1');
+						//nl[i].align = nl[i].title.replace(/.*align:([a-z]+).*/gi, '$1');
+					}
+				}
+
+				nl = tinyMCE.selectElements(content, 'DIV', function (n) {return tinyMCE.hasCSSClass(n, 'mceItemObject');});
+				for (i=0; i<nl.length; i++) {
+					ci = tinyMCE.getAttrib(nl[i], "classid").toLowerCase().replace(/\s+/g, '');
+
+					switch (ci) {
+						case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:166b1bca-3f9c-11cf-8075-444553540000':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime', d, nl[i]), nl[i]);
+							break;
+
+						case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':
+						case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':
+						case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':
+							nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia', d, nl[i]), nl[i]);
+							break;
+					}
+				}
+
+				// Handle embed (if any)
+				nl = tinyMCE.selectNodes(content, function (n) {return n.className == 'mceItemObjectEmbed';});
+				for (i=0; i<nl.length; i++) {
+					switch (tinyMCE.getAttrib(nl[i], 'type')) {
+						case 'application/x-shockwave-flash':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemFlash');
+							break;
+
+						case 'application/x-director':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemShockWave');
+							break;
+
+						case 'application/x-mplayer2':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemWindowsMedia');
+							break;
+
+						case 'video/quicktime':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemQuickTime');
+							break;
+
+						case 'audio/x-pn-realaudio-plugin':
+							TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemRealMedia');
+							break;
+					}
+				}
+				break;
+
+			case "get_from_editor":
+				var startPos = -1, endPos, attribs, chunkBefore, chunkAfter, embedHTML, at, pl, cb, mt, ex;
+
+				while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
+					endPos = content.indexOf('/>', startPos);
+					attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos));
+
+					// Is not flash, skip it
+					if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))
+						continue;
+
+					endPos += 2;
+
+					// Parse attributes
+					at = attribs['title'];
+					if (at) {
+						at = at.replace(/&(#39|apos);/g, "'");
+						at = at.replace(/&#quot;/g, '"');
+
+						try {
+							pl = eval('x={' + at + '};');
+						} catch (ex) {
+							pl = {};
+						}
+					}
+
+					// Use object/embed
+					if (!tinyMCE.getParam('media_use_script', false)) {
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'application/x-shockwave-flash';
+								break;
+
+							case 'mceItemShockWave':
+								ci = '166B1BCA-3F9C-11CF-8075-444553540000';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+								mt = 'application/x-director';
+								break;
+
+							case 'mceItemWindowsMedia':
+								ci = tinyMCE.getParam('media_wmp6_compatible') ? '05589FA1-C356-11CE-BF01-00AA0055595A' : '6BF52A52-394A-11D3-B153-00C04F79FAA6';
+								cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+								mt = 'application/x-mplayer2';
+								break;
+
+							case 'mceItemQuickTime':
+								ci = '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+								cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+								mt = 'video/quicktime';
+								break;
+
+							case 'mceItemRealMedia':
+								ci = 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+								cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+								mt = 'audio/x-pn-realaudio-plugin';
+								break;
+						}
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls"))
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+
+						embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs);
+					} else {
+						// Use script version
+						switch (attribs['class']) {
+							case 'mceItemFlash':
+								s = 'writeFlash';
+								break;
+
+							case 'mceItemShockWave':
+								s = 'writeShockWave';
+								break;
+
+							case 'mceItemWindowsMedia':
+								s = 'writeWindowsMedia';
+								break;
+
+							case 'mceItemQuickTime':
+								s = 'writeQuickTime';
+								break;
+
+							case 'mceItemRealMedia':
+								s = 'writeRealMedia';
+								break;
+						}
+
+						if (attribs.width)
+							at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'");
+
+						if (attribs.height)
+							at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'");
+
+						// Force absolute URL
+						if (!tinyMCE.getParam("relative_urls")) {
+							pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+							at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'");
+						}
+
+						embedHTML = '<script type="text/javascript">' + s + '({' + at + '});</script>';
+					}
+
+					// Insert embed/object chunk
+					chunkBefore = content.substring(0, startPos);
+					chunkAfter = content.substring(endPos);
+					content = chunkBefore + embedHTML + chunkAfter;
+				}
+				break;
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node == null)
+			return;
+
+		do {
+			if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) {
+				tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected');
+				return true;
+			}
+		} while ((node = node.parentNode));
+
+		tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal');
+
+		return true;
+	},
+
+	_createImgFromEmbed : function(n, d, cl) {
+		var ne, at, i, ti = '', an;
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		at = n.attributes;
+		for (i=0; i<at.length; i++) {
+			if (at[i].specified && at[i].nodeValue) {
+				an = at[i].nodeName.toLowerCase();
+
+				if (an == 'src')
+					continue;
+
+				if (an == 'mce_src')
+					an = 'src';
+
+				if (an.indexOf('mce_') == -1 && !new RegExp('^(class|type)$').test(an))
+					ti += an.toLowerCase() + ':\'' + at[i].nodeValue + "',";
+			}
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		n.parentNode.replaceChild(ne, n);
+	},
+
+	_createImg : function(cl, d, n) {
+		var i, nl, ti = "", an, av, al = new Array();
+
+		ne = d.createElement('img');
+		ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
+		ne.width = tinyMCE.getAttrib(n, 'width');
+		ne.height = tinyMCE.getAttrib(n, 'height');
+		ne.className = cl;
+
+		al.id = tinyMCE.getAttrib(n, 'id');
+		al.name = tinyMCE.getAttrib(n, 'name');
+		al.width = tinyMCE.getAttrib(n, 'width');
+		al.height = tinyMCE.getAttrib(n, 'height');
+		al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor');
+		al.align = tinyMCE.getAttrib(n, 'align');
+		al.class_name = tinyMCE.getAttrib(n, 'mce_class');
+
+		nl = n.getElementsByTagName('div');
+		for (i=0; i<nl.length; i++) {
+			av = tinyMCE.getAttrib(nl[i], 'value');
+			av = av.replace(new RegExp('\\\\', 'g'), '\\\\');
+			av = av.replace(new RegExp('"', 'g'), '\\"');
+			av = av.replace(new RegExp("'", 'g'), "\\'");
+			an = tinyMCE.getAttrib(nl[i], 'name');
+			al[an] = av;
+		}
+
+		if (al.movie) {
+			al.src = al.movie;
+			al.movie = null;
+		}
+
+		for (an in al) {
+			if (al[an] != null && typeof(al[an]) != "function" && al[an] != '')
+				ti += an.toLowerCase() + ':\'' + al[an] + "',";
+		}
+
+		ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
+		ne.title = ti;
+
+		return ne;
+	},
+
+	_getEmbed : function(cls, cb, mt, p, at) {
+		var h = '', n;
+
+		p.width = at.width ? at.width : p.width;
+		p.height = at.height ? at.height : p.height;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? ' id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? ' name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? ' width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? ' height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? ' align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p) {
+			if (p[n] && typeof(p[n]) != "function") {
+				h += '<param name="' + n + '" value="' + p[n] + '" />';
+
+				// Add extra url parameter if it's an absolute URL on WMP
+				if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2')
+					h += '<param name="url" value="' + p[n] + '" />';
+			}
+		}
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p) {
+			if (typeof(p[n]) == "function")
+				continue;
+
+			// Skip url parameter for embed tag on WMP
+			if (!(n == 'url' && mt == 'application/x-mplayer2'))
+				h += ' ' + n + '="' + p[n] + '"';
+		}
+
+		h += '></embed></object>';
+
+		return h;
+	},
+
+	_parseAttributes : function(attribute_string) {
+		var attributeName = "", endChr = '"';
+		var attributeValue = "";
+		var withInName;
+		var withInValue;
+		var attributes = new Array();
+		var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
+
+		if (attribute_string == null || attribute_string.length < 2)
+			return null;
+
+		withInName = withInValue = false;
+
+		for (var i=0; i<attribute_string.length; i++) {
+			var chr = attribute_string.charAt(i);
+
+			if ((chr == '"' || chr == "'") && !withInValue) {
+				withInValue = true;
+				endChr = chr;
+			} else if (chr == endChr && withInValue) {
+				withInValue = false;
+
+				var pos = attributeName.lastIndexOf(' ');
+				if (pos != -1)
+					attributeName = attributeName.substring(pos+1);
+
+				attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
+
+				attributeName = "";
+				attributeValue = "";
+			} else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
+				withInName = true;
+
+			if (chr == '=' && withInName)
+				withInName = false;
+
+			if (withInName)
+				attributeName += chr;
+
+			if (withInValue)
+				attributeValue += chr;
+		}
+
+		return attributes;
+	}
+};
+
+tinyMCE.addPlugin("media", TinyMCE_MediaPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/flash.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/media.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/quicktime.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/realmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/shockwave.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/images/windowsmedia.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/jscripts/media.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,572 @@
+var oldWidth, oldHeight;
+var url = tinyMCE.getParam("media_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	var pl = "", f, val;
+	var type = "flash", fe, i;
+
+	tinyMCEPopup.resizeToInnerSize();
+	f = document.forms[0]
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		pl = "x={" + fe.title + "};";
+
+		switch (tinyMCE.getAttrib(fe, 'class')) {
+			case 'mceItemFlash':
+				type = 'flash';
+				break;
+
+			case 'mceItemShockWave':
+				type = 'shockwave';
+				break;
+
+			case 'mceItemWindowsMedia':
+				type = 'wmp';
+				break;
+
+			case 'mceItemQuickTime':
+				type = 'qt';
+				break;
+
+			case 'mceItemRealMedia':
+				type = 'rmp';
+				break;
+		}
+
+		document.forms[0].insert.value = tinyMCE.getLang('lang_update', 'Insert', true); 
+	}
+
+	document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
+	document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var html = getMediaListHTML('filebrowser','src','media','media');
+	if (html == "")
+		document.getElementById("linklistrow").style.display = 'none';
+	else
+		document.getElementById("linklistcontainer").innerHTML = html;
+
+	// Resize some elements
+	if (isVisible('filebrowsercontainer'))
+		document.getElementById('src').style.width = '230px';
+
+	// Setup form
+	if (pl != "") {
+		pl = eval(pl);
+
+		switch (type) {
+			case "flash":
+				setBool(pl, 'flash', 'play');
+				setBool(pl, 'flash', 'loop');
+				setBool(pl, 'flash', 'menu');
+				setBool(pl, 'flash', 'swliveconnect');
+				setStr(pl, 'flash', 'quality');
+				setStr(pl, 'flash', 'scale');
+				setStr(pl, 'flash', 'salign');
+				setStr(pl, 'flash', 'wmode');
+				setStr(pl, 'flash', 'base');
+				setStr(pl, 'flash', 'flashvars');
+			break;
+
+			case "qt":
+				setBool(pl, 'qt', 'loop');
+				setBool(pl, 'qt', 'autoplay');
+				setBool(pl, 'qt', 'cache');
+				setBool(pl, 'qt', 'controller');
+				setBool(pl, 'qt', 'correction');
+				setBool(pl, 'qt', 'enablejavascript');
+				setBool(pl, 'qt', 'kioskmode');
+				setBool(pl, 'qt', 'autohref');
+				setBool(pl, 'qt', 'playeveryframe');
+				setBool(pl, 'qt', 'tarsetcache');
+				setStr(pl, 'qt', 'scale');
+				setStr(pl, 'qt', 'starttime');
+				setStr(pl, 'qt', 'endtime');
+				setStr(pl, 'qt', 'tarset');
+				setStr(pl, 'qt', 'qtsrcchokespeed');
+				setStr(pl, 'qt', 'volume');
+				setStr(pl, 'qt', 'qtsrc');
+			break;
+
+			case "shockwave":
+				setBool(pl, 'shockwave', 'sound');
+				setBool(pl, 'shockwave', 'progress');
+				setBool(pl, 'shockwave', 'autostart');
+				setBool(pl, 'shockwave', 'swliveconnect');
+				setStr(pl, 'shockwave', 'swvolume');
+				setStr(pl, 'shockwave', 'swstretchstyle');
+				setStr(pl, 'shockwave', 'swstretchhalign');
+				setStr(pl, 'shockwave', 'swstretchvalign');
+			break;
+
+			case "wmp":
+				setBool(pl, 'wmp', 'autostart');
+				setBool(pl, 'wmp', 'enabled');
+				setBool(pl, 'wmp', 'enablecontextmenu');
+				setBool(pl, 'wmp', 'fullscreen');
+				setBool(pl, 'wmp', 'invokeurls');
+				setBool(pl, 'wmp', 'mute');
+				setBool(pl, 'wmp', 'stretchtofit');
+				setBool(pl, 'wmp', 'windowlessvideo');
+				setStr(pl, 'wmp', 'balance');
+				setStr(pl, 'wmp', 'baseurl');
+				setStr(pl, 'wmp', 'captioningid');
+				setStr(pl, 'wmp', 'currentmarker');
+				setStr(pl, 'wmp', 'currentposition');
+				setStr(pl, 'wmp', 'defaultframe');
+				setStr(pl, 'wmp', 'playcount');
+				setStr(pl, 'wmp', 'rate');
+				setStr(pl, 'wmp', 'uimode');
+				setStr(pl, 'wmp', 'volume');
+			break;
+
+			case "rmp":
+				setBool(pl, 'rmp', 'autostart');
+				setBool(pl, 'rmp', 'loop');
+				setBool(pl, 'rmp', 'autogotourl');
+				setBool(pl, 'rmp', 'center');
+				setBool(pl, 'rmp', 'imagestatus');
+				setBool(pl, 'rmp', 'maintainaspect');
+				setBool(pl, 'rmp', 'nojava');
+				setBool(pl, 'rmp', 'prefetch');
+				setBool(pl, 'rmp', 'shuffle');
+				setStr(pl, 'rmp', 'console');
+				setStr(pl, 'rmp', 'controls');
+				setStr(pl, 'rmp', 'numloop');
+				setStr(pl, 'rmp', 'scriptcallbacks');
+			break;
+		}
+
+		setStr(pl, null, 'src');
+		setStr(pl, null, 'id');
+		setStr(pl, null, 'name');
+		setStr(pl, null, 'vspace');
+		setStr(pl, null, 'hspace');
+		setStr(pl, null, 'bgcolor');
+		setStr(pl, null, 'align');
+		setStr(pl, null, 'width');
+		setStr(pl, null, 'height');
+
+		if ((val = tinyMCE.getAttrib(fe, "width")) != "")
+			pl.width = f.width.value = val;
+
+		if ((val = tinyMCE.getAttrib(fe, "height")) != "")
+			pl.height = f.height.value = val;
+
+		oldWidth = pl.width ? parseInt(pl.width) : 0;
+		oldHeight = pl.height ? parseInt(pl.height) : 0;
+	} else
+		oldWidth = oldHeight = 0;
+
+	selectByValue(f, 'media_type', type);
+	changedType(type);
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	TinyMCE_EditableSelects.init();
+	generatePreview();
+}
+
+function insertMedia() {
+	var fe, f = document.forms[0], h;
+
+	if (!AutoValidator.validate(f)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	f.width.value = f.width.value == "" ? 100 : f.width.value;
+	f.height.value = f.height.value == "" ? 100 : f.height.value;
+
+	fe = tinyMCE.selectedInstance.getFocusElement();
+	if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				fe.className = "mceItemFlash";
+				break;
+
+			case "shockwave":
+				fe.className = "mceItemShockWave";
+				break;
+
+			case "qt":
+				fe.className = "mceItemQuickTime";
+				break;
+
+			case "wmp":
+				fe.className = "mceItemWindowsMedia";
+				break;
+
+			case "rmp":
+				fe.className = "mceItemRealMedia";
+				break;
+		}
+
+		if (fe.width != f.width.value || fe.height != f.width.height)
+			tinyMCE.selectedInstance.repaint();
+
+		fe.title = serializeParameters();
+		fe.width = f.width.value;
+		fe.height = f.height.value;
+		fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : '');
+		fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : '');
+		fe.align = f.align.options[f.align.selectedIndex].value;
+	} else {
+		h = '<img src="' + tinyMCE.getParam("theme_href") + '/images/spacer.gif"' ;
+
+		switch (f.media_type.options[f.media_type.selectedIndex].value) {
+			case "flash":
+				h += ' class="mceItemFlash"';
+				break;
+
+			case "shockwave":
+				h += ' class="mceItemShockWave"';
+				break;
+
+			case "qt":
+				h += ' class="mceItemQuickTime"';
+				break;
+
+			case "wmp":
+				h += ' class="mceItemWindowsMedia"';
+				break;
+
+			case "rmp":
+				h += ' class="mceItemRealMedia"';
+				break;
+		}
+
+		h += ' title="' + serializeParameters() + '"';
+		h += ' width="' + f.width.value + '"';
+		h += ' height="' + f.height.value + '"';
+		h += ' align="' + f.align.options[f.align.selectedIndex].value + '"';
+
+		h += ' />';
+
+		tinyMCE.selectedInstance.execCommand('mceInsertContent', false, h);
+	}
+
+	tinyMCEPopup.close();
+}
+
+function getMediaListHTML() {
+	if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
+		var html = "";
+
+		html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.src.value=this.options[this.selectedIndex].value;">';
+		html += '<option value="">---</option>';
+
+		for (var i=0; i<tinyMCEMediaList.length; i++)
+			html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
+
+		html += '</select>';
+
+		return html;
+	}
+
+	return "";
+}
+
+function getType(v) {
+	var fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'), i, c, el, x;
+
+	for (i=0; i<fo.length; i++) {
+		c = fo[i].split('=');
+
+		el = c[1].split(',');
+		for (x=0; x<el.length; x++)
+		if (v.indexOf('.' + el[x]) != -1)
+			return c[0];
+	}
+
+	return null;
+}
+
+function switchType(v) {
+	var t = getType(v), d = document, f = d.forms[0];
+
+	if (!t)
+		return;
+
+	selectByValue(d.forms[0], 'media_type', t);
+	changedType(t);
+
+	// Update qtsrc also
+	if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
+		alert(tinyMCE.getLang("lang_media_qt_stream_warn"));
+
+		if (f.qt_qtsrc.value == '')
+			f.qt_qtsrc.value = f.src.value;
+	}
+}
+
+function changedType(t) {
+	var d = document;
+
+	d.getElementById('flash_options').style.display = 'none';
+	d.getElementById('qt_options').style.display = 'none';
+	d.getElementById('shockwave_options').style.display = 'none';
+	d.getElementById('wmp_options').style.display = 'none';
+	d.getElementById('rmp_options').style.display = 'none';
+	d.getElementById(t + '_options').style.display = 'block';
+}
+
+function serializeParameters() {
+	var d = document, f = d.forms[0], s = '';
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			s += getBool('flash', 'play', true);
+			s += getBool('flash', 'loop', true);
+			s += getBool('flash', 'menu', true);
+			s += getBool('flash', 'swliveconnect', false);
+			s += getStr('flash', 'quality');
+			s += getStr('flash', 'scale');
+			s += getStr('flash', 'salign');
+			s += getStr('flash', 'wmode');
+			s += getStr('flash', 'base');
+			s += getStr('flash', 'flashvars');
+		break;
+
+		case "qt":
+			s += getBool('qt', 'loop', false);
+			s += getBool('qt', 'autoplay', false);
+			s += getBool('qt', 'cache', false);
+			s += getBool('qt', 'controller', true);
+			s += getBool('qt', 'correction', false, 'none', 'full');
+			s += getBool('qt', 'enablejavascript', false);
+			s += getBool('qt', 'kioskmode', false);
+			s += getBool('qt', 'autohref', false);
+			s += getBool('qt', 'playeveryframe', false);
+			s += getBool('qt', 'targetcache', false);
+			s += getStr('qt', 'scale');
+			s += getStr('qt', 'starttime');
+			s += getStr('qt', 'endtime');
+			s += getStr('qt', 'target');
+			s += getStr('qt', 'qtsrcchokespeed');
+			s += getStr('qt', 'volume');
+			s += getStr('qt', 'qtsrc');
+		break;
+
+		case "shockwave":
+			s += getBool('shockwave', 'sound');
+			s += getBool('shockwave', 'progress');
+			s += getBool('shockwave', 'autostart');
+			s += getBool('shockwave', 'swliveconnect');
+			s += getStr('shockwave', 'swvolume');
+			s += getStr('shockwave', 'swstretchstyle');
+			s += getStr('shockwave', 'swstretchhalign');
+			s += getStr('shockwave', 'swstretchvalign');
+		break;
+
+		case "wmp":
+			s += getBool('wmp', 'autostart', true);
+			s += getBool('wmp', 'enabled', false);
+			s += getBool('wmp', 'enablecontextmenu', true);
+			s += getBool('wmp', 'fullscreen', false);
+			s += getBool('wmp', 'invokeurls', true);
+			s += getBool('wmp', 'mute', false);
+			s += getBool('wmp', 'stretchtofit', false);
+			s += getBool('wmp', 'windowlessvideo', false);
+			s += getStr('wmp', 'balance');
+			s += getStr('wmp', 'baseurl');
+			s += getStr('wmp', 'captioningid');
+			s += getStr('wmp', 'currentmarker');
+			s += getStr('wmp', 'currentposition');
+			s += getStr('wmp', 'defaultframe');
+			s += getStr('wmp', 'playcount');
+			s += getStr('wmp', 'rate');
+			s += getStr('wmp', 'uimode');
+			s += getStr('wmp', 'volume');
+		break;
+
+		case "rmp":
+			s += getBool('rmp', 'autostart', false);
+			s += getBool('rmp', 'loop', false);
+			s += getBool('rmp', 'autogotourl', true);
+			s += getBool('rmp', 'center', false);
+			s += getBool('rmp', 'imagestatus', true);
+			s += getBool('rmp', 'maintainaspect', false);
+			s += getBool('rmp', 'nojava', false);
+			s += getBool('rmp', 'prefetch', false);
+			s += getBool('rmp', 'shuffle', false);
+			s += getStr('rmp', 'console');
+			s += getStr('rmp', 'controls');
+			s += getStr('rmp', 'numloop');
+			s += getStr('rmp', 'scriptcallbacks');
+		break;
+	}
+
+	s += getStr(null, 'id');
+	s += getStr(null, 'name');
+	s += getStr(null, 'src');
+	s += getStr(null, 'align');
+	s += getStr(null, 'bgcolor');
+	s += getInt(null, 'vspace');
+	s += getInt(null, 'hspace');
+	s += getStr(null, 'width');
+	s += getStr(null, 'height');
+
+	s = s.length > 0 ? s.substring(0, s.length - 1) : s;
+
+	return s;
+}
+
+function setBool(pl, p, n) {
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	document.forms[0].elements[p + "_" + n].checked = pl[n];
+}
+
+function setStr(pl, p, n) {
+	var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n];
+
+	if (typeof(pl[n]) == "undefined")
+		return;
+
+	if (e.type == "text")
+		e.value = pl[n];
+	else
+		selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]);
+}
+
+function getBool(p, n, d, tv, fv) {
+	var v = document.forms[0].elements[p + "_" + n].checked;
+
+	tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'";
+	fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'";
+
+	return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ',');
+}
+
+function getStr(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',");
+}
+
+function getInt(p, n, d) {
+	var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
+	var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
+
+	return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ",");
+}
+
+function jsEncode(s) {
+	s = s.replace(new RegExp('\\\\', 'g'), '\\\\');
+	s = s.replace(new RegExp('"', 'g'), '\\"');
+	s = s.replace(new RegExp("'", 'g'), "\\'");
+
+	return s;
+}
+
+function generatePreview(c) {
+	var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh;
+
+	p.innerHTML = '<!-- x --->';
+
+	nw = parseInt(f.width.value);
+	nh = parseInt(f.height.value);
+
+	if (f.width.value != "" && f.height.value != "") {
+		if (f.constrain.checked) {
+			if (c == 'width' && oldWidth != 0) {
+				wp = nw / oldWidth;
+				nh = Math.round(wp * nh);
+				f.height.value = nh;
+			} else if (c == 'height' && oldHeight != 0) {
+				hp = nh / oldHeight;
+				nw = Math.round(hp * nw);
+				f.width.value = nw;
+			}
+		}
+	}
+
+	if (f.width.value != "")
+		oldWidth = nw;
+
+	if (f.height.value != "")
+		oldHeight = nh;
+
+	// After constrain
+	pl = serializeParameters();
+
+	switch (f.media_type.options[f.media_type.selectedIndex].value) {
+		case "flash":
+			cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
+			type = 'application/x-shockwave-flash';
+			break;
+
+		case "shockwave":
+			cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
+			codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
+			type = 'application/x-director';
+			break;
+
+		case "qt":
+			cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
+			codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
+			type = 'video/quicktime';
+			break;
+
+		case "wmp":
+			cls = tinyMCE.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'application/x-mplayer2';
+			break;
+
+		case "rmp":
+			cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
+			codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
+			type = 'audio/x-pn-realaudio-plugin';
+			break;
+	}
+
+	if (pl == '') {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl = eval('x={' + pl + '};');
+
+	if (!pl.src) {
+		p.innerHTML = '';
+		return;
+	}
+
+	pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
+	pl.width = !pl.width ? 100 : pl.width;
+	pl.height = !pl.height ? 100 : pl.height;
+	pl.id = !pl.id ? 'obj' : pl.id;
+	pl.name = !pl.name ? 'eobj' : pl.name;
+	pl.align = !pl.align ? '' : pl.align;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
+
+	for (n in pl) {
+		h += '<param name="' + n + '" value="' + pl[n] + '">';
+
+		// Add extra url parameter if it's an absolute URL
+		if (n == 'src' && pl[n].indexOf('://') != -1)
+			h += '<param name="url" value="' + pl[n] + '" />';
+	}
+
+	h += '<embed type="' + type + '" ';
+
+	for (n in pl)
+		h += n + '="' + pl[n] + '" ';
+
+	h += '></embed></object>';
+
+	p.innerHTML = "<!-- x --->" + h;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+// UK lang variables
+
+tinyMCE.addToLang('media',{
+title : 'Insert / edit embedded media',
+desc : 'Insert / edit embedded media',
+general : 'General',
+advanced : 'Advanced',
+file : 'File',
+list : 'List',
+size : 'Dimensions',
+preview : 'Preview',
+constrain_proportions : 'Constrain proportions',
+type : 'Type',
+id : 'Id',
+name : 'Name',
+class_name : 'Class',
+vspace : 'V-Space',
+hspace : 'H-Space',
+play : 'Auto play',
+loop : 'Loop',
+menu : 'Show menu',
+quality : 'Quality',
+scale : 'Scale',
+align : 'Align',
+salign : 'SAlign',
+wmode : 'WMode',
+bgcolor : 'Background',
+base : 'Base',
+flashvars : 'Flashvars',
+liveconnect : 'SWLiveConnect',
+autohref : 'AutoHREF',
+cache : 'Cache',
+hidden : 'Hidden',
+controller : 'Controller',
+kioskmode : 'Kiosk mode',
+playeveryframe : 'Play every frame',
+targetcache : 'Target cache',
+correction : 'No correction',
+enablejavascript : 'Enable JavaScript',
+starttime : 'Start time',
+endtime : 'End time',
+href : 'Href',
+qtsrcchokespeed : 'Choke speed',
+target : 'Target',
+volume : 'Volume',
+autostart : 'Auto start',
+enabled : 'Enabled',
+fullscreen : 'Fullscreen',
+invokeurls : 'Invoke URLs',
+mute : 'Mute',
+stretchtofit : 'Stretch to fit',
+windowlessvideo : 'Windowless video',
+balance : 'Balance',
+baseurl : 'Base URL',
+captioningid : 'Captioning id',
+currentmarker : 'Current marker',
+currentposition : 'Current position',
+defaultframe : 'Default frame',
+playcount : 'Play count',
+rate : 'Rate',
+uimode : 'UI Mode',
+flash_options : 'Flash options',
+qt_options : 'Quicktime options',
+wmp_options : 'Windows media player options',
+rmp_options : 'Real media player options',
+shockwave_options : 'Shockwave options',
+autogotourl : 'Auto goto URL',
+center : 'Center',
+imagestatus : 'Image status',
+maintainaspect : 'Maintain aspect',
+nojava : 'No java',
+prefetch : 'Prefetch',
+shuffle : 'Shuffle',
+console : 'Console',
+numloop : 'Num loops',
+controls : 'Controls',
+scriptcallbacks : 'Script callbacks',
+swstretchstyle : 'Stretch style',
+swstretchhalign : 'Stretch H-Align',
+swstretchvalign : 'Stretch V-Align',
+sound : 'Sound',
+progress : 'Progress',
+qtsrc : 'QT Src',
+qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
+align_top : 'Top',
+align_right : 'Right',
+align_bottom : 'Bottom',
+align_left : 'Left',
+align_center : 'Center',
+align_top_left : 'Top left',
+align_top_right : 'Top right',
+align_bottom_left : 'Bottom left',
+align_bottom_right : 'Bottom right'
+});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/media/media.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,723 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_media_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/media.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<link href="css/media.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+    <form onsubmit="insertMedia();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{$lang_media_general}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_media_advanced}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_media_general}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+							<tr>
+								<td><label for="media_type">{$lang_media_type}</label></td>
+								<td>
+									<select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();">
+										<option value="flash">Flash</option>
+										<option value="qt">Quicktime</option>
+										<option value="shockwave">Shockware</option>
+										<option value="wmp">Windows Media</option>
+										<option value="rmp">Real Media</option>
+									</select>
+								</td>
+							</tr>
+							<tr>
+							<td><label for="src">{$lang_media_file}</label></td>
+							  <td>
+									<table border="0" cellspacing="0" cellpadding="0">
+									  <tr>
+										<td><input id="src" name="src" type="text" value="" onchange="switchType(this.value);generatePreview();" /></td>
+										<td id="filebrowsercontainer">&nbsp;</td>
+									  </tr>
+									</table>
+								</td>
+							</tr>
+							<tr id="linklistrow">
+								<td><label for="linklist">{$lang_media_list}</label></td>
+								<td id="linklistcontainer">&nbsp;</td>
+							</tr>
+							<tr>
+								<td><label for="width">{$lang_media_size}</label></td>
+								<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size"  onchange="generatePreview('height');" /></td>
+										<td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
+										<td><label id="constrainlabel" for="constrain">{$lang_media_constrain_proportions}</label></td>
+									</tr>
+								</table>
+							</tr>
+					</table>
+				</fieldset>
+
+				<fieldset>
+					<legend>{$lang_media_preview}</legend>
+					<div id="prev"></div>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_media_advanced}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0" width="100%">
+						<tr>
+							<td><label for="id">{$lang_media_id}</label></td>
+							<td><input type="text" id="id" name="id" onchange="generatePreview();" /></td>
+							<td><label for="name">{$lang_media_name}</label></td>
+							<td><input type="text" id="name" name="name" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_media_align}</label></td>
+							<td>
+								<select id="align" name="align" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="top">{$lang_media_align_top}</option>
+									<option value="right">{$lang_media_align_right}</option>
+									<option value="bottom">{$lang_media_align_bottom}</option>
+									<option value="left">{$lang_media_align_left}</option>
+								</select>
+							</td>
+
+							<td><label for="bgcolor">{$lang_media_bgcolor}</label></td>
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="vspace">{$lang_media_vspace}</label></td>
+							<td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td>
+							<td><label for="hspace">{$lang_media_hspace}</label></td>
+							<td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="flash_options">
+					<legend>{$lang_media_flash_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="flash_quality">{$lang_media_quality}</label></td>
+							<td>
+								<select id="flash_quality" name="flash_quality" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="high">high</option>
+									<option value="low">low</option>
+									<option value="autolow">autolow</option>
+									<option value="autohigh">autohigh</option>
+									<option value="best">best</option>
+								</select>
+							</td>
+
+							<td><label for="flash_scale">{$lang_media_scale}</label></td>
+							<td>
+								<select id="flash_scale" name="flash_scale" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="showall">showall</option>
+									<option value="noborder">noborder</option>
+									<option value="exactfit">exactfit</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_wmode">{$lang_media_wmode}</label></td>
+							<td>
+								<select id="flash_wmode" name="flash_wmode" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="window">window</option>
+									<option value="opaque">opaque</option>
+									<option value="transparent">transparent</option>
+								</select>
+							</td>
+
+							<td><label for="flash_salign">{$lang_media_salign}</label></td>
+							<td>
+								<select id="flash_salign" name="flash_salign" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="l">{$lang_media_align_left}</option>
+									<option value="t">{$lang_media_align_top}</option>
+									<option value="r">{$lang_media_align_right}</option>
+									<option value="b">{$lang_media_align_bottom}</option>
+									<option value="tl">{$lang_media_align_top_left}</option>
+									<option value="tr">{$lang_media_align_top_right}</option>
+									<option value="bl">{$lang_media_align_bottom_left}</option>
+									<option value="br">{$lang_media_align_bottom_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_play">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="flash_menu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="flash_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+
+					<table>
+						<tr>
+							<td><label for="flash_base">{$lang_media_base}</label></td>
+							<td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="flash_flashvars">{$lang_media_flashvars}</label></td>
+							<td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="qt_options">
+					<legend>{$lang_media_qt_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td>
+										<td><label for="qt_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" onchange="generatePreview();" /></td>
+										<td><label for="qt_autoplay">{$lang_media_play}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td>
+										<td><label for="qt_cache">{$lang_media_cache}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="qt_controller">{$lang_media_controller}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td>
+										<td><label for="qt_correction">{$lang_media_correction}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td>
+										<td><label for="qt_enablejavascript">{$lang_media_enablejavascript}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td>
+										<td><label for="qt_kioskmode">{$lang_media_kioskmode}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td>
+										<td><label for="qt_autohref">{$lang_media_autohref}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td>
+										<td><label for="qt_playeveryframe">{$lang_media_playeveryframe}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td>
+										<td><label for="qt_targetcache">{$lang_media_targetcache}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_scale">{$lang_media_scale}</label></td>
+							<td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();">
+									<option value="">{$lang_not_set}</option> 
+									<option value="tofit">tofit</option>
+									<option value="aspect">aspect</option>
+								</select>
+							</td>
+
+							<td colspan="2">&nbsp;</td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_starttime">{$lang_media_starttime}</label></td>
+							<td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_endtime">{$lang_media_endtime}</label></td>
+							<td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_target">{$lang_media_target}</label></td>
+							<td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_href">{$lang_media_href}</label></td>
+							<td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrcchokespeed">{$lang_media_qtsrcchokespeed}</label></td>
+							<td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td>
+
+							<td><label for="qt_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="qt_qtsrc">{$lang_media_qtsrc}</label></td>
+							<td colspan="4">
+							<table border="0" cellspacing="0" cellpadding="0">
+								  <tr>
+									<td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td>
+									<td id="qtsrcfilebrowsercontainer">&nbsp;</td>
+								  </tr>
+							</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="wmp_options">
+					<legend>{$lang_media_wmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enabled">{$lang_media_enabled}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_enablecontextmenu">{$lang_media_menu}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td>
+										<td><label for="wmp_fullscreen">{$lang_media_fullscreen}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="wmp_invokeurls">{$lang_media_invokeurls}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td>
+										<td><label for="wmp_mute">{$lang_media_mute}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td>
+										<td><label for="wmp_stretchtofit">{$lang_media_stretchtofit}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td>
+										<td><label for="wmp_windowlessvideo">{$lang_media_windowlessvideo}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_balance">{$lang_media_balance}</label></td>
+							<td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_baseurl">{$lang_media_baseurl}</label></td>
+							<td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_captioningid">{$lang_media_captioningid}</label></td>
+							<td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_currentmarker">{$lang_media_currentmarker}</label></td>
+							<td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_currentposition">{$lang_media_currentposition}</label></td>
+							<td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_defaultframe">{$lang_media_defaultframe}</label></td>
+							<td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_playcount">{$lang_media_playcount}</label></td>
+							<td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_rate">{$lang_media_rate}</label></td>
+							<td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="wmp_uimode">{$lang_media_uimode}</label></td>
+							<td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td>
+
+							<td><label for="wmp_volume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td>
+						</tr>
+
+					</table>
+				</fieldset>
+
+				<fieldset id="rmp_options">
+					<legend>{$lang_media_rmp_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td>
+										<td><label for="rmp_loop">{$lang_media_loop}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_autogotourl">{$lang_media_autogotourl}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td>
+										<td><label for="rmp_center">{$lang_media_center}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td>
+										<td><label for="rmp_imagestatus">{$lang_media_imagestatus}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td>
+										<td><label for="rmp_maintainaspect">{$lang_media_maintainaspect}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td>
+										<td><label for="rmp_nojava">{$lang_media_nojava}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td>
+										<td><label for="rmp_prefetch">{$lang_media_prefetch}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td>
+										<td><label for="rmp_shuffle">{$lang_media_shuffle}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								&nbsp;
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_console">{$lang_media_console}</label></td>
+							<td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_controls">{$lang_media_controls}</label></td>
+							<td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="rmp_numloop">{$lang_media_numloop}</label></td>
+							<td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td>
+
+							<td><label for="rmp_scriptcallbacks">{$lang_media_scriptcallbacks}</label></td>
+							<td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+
+				<fieldset id="shockwave_options">
+					<legend>{$lang_media_shockwave_options}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="shockwave_swstretchstyle">{$lang_media_swstretchstyle}</label></td>
+							<td>
+								<select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swvolume">{$lang_media_volume}</label></td>
+							<td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td>
+						</tr>
+
+						<tr>
+							<td><label for="shockwave_swstretchhalign">{$lang_media_swstretchhalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="left">{$lang_media_align_left}</option>
+									<option value="center">{$lang_media_align_center}</option>
+									<option value="right">{$lang_media_align_right}</option>
+								</select>
+							</td>
+
+							<td><label for="shockwave_swstretchvalign">{$lang_media_swstretchvalign}</label></td>
+							<td>
+								<select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();">
+									<option value="none">{$lang_not_set}</option>
+									<option value="meet">Meet</option>
+									<option value="fill">Fill</option>
+									<option value="stage">Stage</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_autostart">{$lang_media_autostart}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_sound">{$lang_media_sound}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+
+
+						<tr>
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td>
+										<td><label for="shockwave_swliveconnect">{$lang_media_liveconnect}</label></td>
+									</tr>
+								</table>
+							</td>
+
+							<td colspan="2">
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td>
+										<td><label for="shockwave_progress">{$lang_media_progress}</label></td>
+									</tr>
+								</table>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertMedia();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('nonbreaking');var TinyMCE_NonBreakingPlugin={getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"nonbreaking":return tinyMCE.getButtonHTML(cn,'lang_nonbreaking_desc','{$pluginurl}/images/nonbreaking.gif','mceNonBreaking',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),h;switch(command){case"mceNonBreaking":h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;</span>':'&nbsp;';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,h);return true}return false},handleEvent:function(e){var inst,h;if(!tinyMCE.isOpera&&e.type=='keydown'&&e.keyCode==9&&tinyMCE.getParam('nonbreaking_force_tab',false)){inst=tinyMCE.selectedInstance;h=(inst.visualChars&&inst.visualChars.state)?'<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>':'&nbsp;&nbsp;&nbsp;';tinyMCE.execInstanceCommand(inst.editorId,'mceInsertContent',false,h);tinyMCE.cancelEvent(e);return false}return true}};tinyMCE.addPlugin("nonbreaking",TinyMCE_NonBreakingPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('nonbreaking');
+
+var TinyMCE_NonBreakingPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Nonbreaking space',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "nonbreaking":
+				return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);
+		}
+
+		return "";
+	},
+
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), h;
+
+		switch (command) {
+			case "mceNonBreaking":
+				h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';
+				tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);
+				return true;
+		}
+
+		return false;
+	},
+
+	handleEvent : function(e) {
+		var inst, h;
+
+		if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {
+			inst = tinyMCE.selectedInstance;
+
+			h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';
+			tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);
+
+			tinyMCE.cancelEvent(e);
+			return false;
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/nonbreaking/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('nonbreaking',{
+desc : 'Insert non-breaking space character'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/css/noneditable.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+/* This is the CSS file for the noneditable elements plugin */
+
+.mceEditable {
+	/*border: 1px dotted #0000cc;*/
+}
+
+.mceNonEditable {
+	/*border: 1px dotted #cc0000;*/
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_NonEditablePlugin={getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/noneditable/css/noneditable.css");if(tinyMCE.isMSIE5_0)tinyMCE.settings['plugins']=tinyMCE.settings['plugins'].replace(/noneditable/gi,'Noneditable')},handleEvent:function(e){return this._moveSelection(e,tinyMCE.selectedInstance)},cleanup:function(type,content,inst){switch(type){case"insert_to_editor_dom":var nodes,i,editClass,nonEditClass,editable,elm;if(tinyMCE.isGecko)return content;nodes=tinyMCE.getNodeTree(content,[],1);editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");for(i=0;i<nodes.length;i++){elm=nodes[i];editable=tinyMCE.getAttrib(elm,"contenteditable");if(new RegExp("true|false","gi").test(editable))TinyMCE_NonEditablePlugin._setEditable(elm,editable=="true");if(tinyMCE.isIE){if(tinyMCE.hasCSSClass(elm,editClass))elm.contentEditable=true;if(tinyMCE.hasCSSClass(elm,nonEditClass))elm.contentEditable=false}}break;case"insert_to_editor":var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");content=content.replace(/mceItemEditable/g,editClass);content=content.replace(/mceItemNonEditable/g,nonEditClass);if(tinyMCE.isIE&&(content.indexOf(editClass)!=-1||content.indexOf(nonEditClass)!=-1)){content=content.replace(new RegExp("class=\"(.+)("+editClass+")\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"("+editClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="true"');content=content.replace(new RegExp("class=\"("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2" contenteditable="false"');content=content.replace(new RegExp("class=\"(.+)("+editClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="true"');content=content.replace(new RegExp("class=\"(.+)("+nonEditClass+")([^\"]*)\"","gi"),'class="$1$2$3" contenteditable="false"')}break;case"get_from_editor_dom":if(tinyMCE.isGecko)return content;if(tinyMCE.getParam("noneditable_leave_contenteditable",false)){var nodes=tinyMCE.getNodeTree(content,new Array(),1);for(var i=0;i<nodes.length;i++)nodes[i].removeAttribute("contenteditable")}break}return content},_moveSelection:function(e,inst){var s,r,sc,ec,el,c=tinyMCE.getParam('noneditable_editable_class','mceNonEditable');if(!inst)return true;if(tinyMCE.isGecko){s=inst.selection.getSel();r=s.getRangeAt(0);sc=tinyMCE.getParentNode(r.startContainer,function(n){return tinyMCE.hasCSSClass(n,c)});ec=tinyMCE.getParentNode(r.endContainer,function(n){return tinyMCE.hasCSSClass(n,c)});sc&&r.setStartBefore(sc);ec&&r.setEndAfter(ec);if(sc||ec){if(e.type=='keypress'&&e.keyCode==39){el=sc||ec;}s.removeAllRanges();s.addRange(r);return tinyMCE.cancelEvent(e)}}return true},_setEditable:function(elm,state){var editClass=tinyMCE.getParam("noneditable_editable_class","mceEditable");var nonEditClass=tinyMCE.getParam("noneditable_noneditable_class","mceNonEditable");var className=elm.className?elm.className:"";if(className.indexOf(editClass)!=-1||className.indexOf(nonEditClass)!=-1)return;if((className=tinyMCE.getAttrib(elm,"class"))!="")className+=" ";className+=state?editClass:nonEditClass;elm.setAttribute("class",className);elm.className=className}};tinyMCE.addPlugin("noneditable",TinyMCE_NonEditablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+/**
+ * $Id: editor_plugin_src.js 205 2007-02-12 18:58:29Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_NonEditablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Non editable elements',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/noneditable/css/noneditable.css");
+
+		// Ugly hack
+		if (tinyMCE.isMSIE5_0)
+			tinyMCE.settings['plugins'] = tinyMCE.settings['plugins'].replace(/noneditable/gi, 'Noneditable');
+	},
+
+	handleEvent : function(e) {
+		return this._moveSelection(e, tinyMCE.selectedInstance);
+	},
+
+	cleanup : function(type, content, inst) {
+		switch (type) {
+			case "insert_to_editor_dom":
+				var nodes, i, editClass, nonEditClass, editable, elm;
+
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				nodes = tinyMCE.getNodeTree(content, [], 1);
+
+				editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				for (i=0; i<nodes.length; i++) {
+					elm = nodes[i];
+
+					// Convert contenteditable to classes
+					editable = tinyMCE.getAttrib(elm, "contenteditable");
+					if (new RegExp("true|false","gi").test(editable))
+						TinyMCE_NonEditablePlugin._setEditable(elm, editable == "true");
+
+					if (tinyMCE.isIE) {
+						if (tinyMCE.hasCSSClass(elm, editClass))
+							elm.contentEditable = true;
+
+						if (tinyMCE.hasCSSClass(elm, nonEditClass))
+							elm.contentEditable = false;
+					}
+				}
+
+				break;
+
+			case "insert_to_editor":
+				var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+				var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+				// Replace mceItem to new school
+				content = content.replace(/mceItemEditable/g, editClass);
+				content = content.replace(/mceItemNonEditable/g, nonEditClass);
+
+				if (tinyMCE.isIE && (content.indexOf(editClass) != -1 || content.indexOf(nonEditClass) != -1)) {
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2" contenteditable="false"');
+					content = content.replace(new RegExp("class=\"(.+)(" + editClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="true"');
+					content = content.replace(new RegExp("class=\"(.+)(" + nonEditClass + ")([^\"]*)\"", "gi"), 'class="$1$2$3" contenteditable="false"');
+				}
+
+				break;
+
+			case "get_from_editor_dom":
+				// Pass through Gecko
+				if (tinyMCE.isGecko)
+					return content;
+
+				if (tinyMCE.getParam("noneditable_leave_contenteditable", false)) {
+					var nodes = tinyMCE.getNodeTree(content, new Array(), 1);
+
+					for (var i=0; i<nodes.length; i++)
+						nodes[i].removeAttribute("contenteditable");
+				}
+
+				break;
+		}
+
+		return content;
+	},
+
+	_moveSelection : function(e, inst) {
+		var s, r, sc, ec, el, c = tinyMCE.getParam('noneditable_editable_class', 'mceNonEditable');
+
+		if (!inst)
+			return true;
+
+		// Always select whole element
+		if (tinyMCE.isGecko) {
+			s = inst.selection.getSel();
+			r = s.getRangeAt(0);
+			sc = tinyMCE.getParentNode(r.startContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+			ec = tinyMCE.getParentNode(r.endContainer, function (n) {return tinyMCE.hasCSSClass(n, c);});
+
+			sc && r.setStartBefore(sc);
+			ec && r.setEndAfter(ec);
+
+			if (sc || ec) {
+				if (e.type == 'keypress' && e.keyCode == 39) {
+					el = sc || ec;
+
+					// Try!!
+				}
+
+				s.removeAllRanges();
+				s.addRange(r);
+
+				return tinyMCE.cancelEvent(e);
+			}
+		}
+
+		return true;
+	},
+
+	_setEditable : function(elm, state) {
+		var editClass = tinyMCE.getParam("noneditable_editable_class", "mceEditable");
+		var nonEditClass = tinyMCE.getParam("noneditable_noneditable_class", "mceNonEditable");
+
+		var className = elm.className ? elm.className : "";
+
+		if (className.indexOf(editClass) != -1 || className.indexOf(nonEditClass) != -1)
+			return;
+
+		if ((className = tinyMCE.getAttrib(elm, "class")) != "")
+			className += " ";
+
+		className += state ? editClass : nonEditClass;
+
+		elm.setAttribute("class", className);
+		elm.className = className;
+	}
+};
+
+tinyMCE.addPlugin("noneditable", TinyMCE_NonEditablePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/noneditable/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,19 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script language="javascript">
+		function init() {
+			document.body.contentEditable = true;
+			document.designMode = 'on';
+			parent.initIframe(document);
+			window.focus();
+		}
+	</script>
+	<link href="css/blank.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="init();">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/blank.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+body {
+	background-color: #FFFFFF;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/css/pasteword.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+.sourceIframe {
+	border: 1px solid #808080;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('paste');var TinyMCE_PastePlugin={getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isMSIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false))tinyMCE.addEvent(inst.getBody(),"paste",TinyMCE_PastePlugin._handlePasteEvent)},handleEvent:function(e){if(!tinyMCE.isRealIE&&tinyMCE.getParam("paste_auto_cleanup_on_paste",false)&&e.ctrlKey&&e.keyCode==86&&e.type=="keydown"){window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)',1);return tinyMCE.cancelEvent(e)}return true},getControlHTML:function(cn){switch(cn){case"pastetext":return tinyMCE.getButtonHTML(cn,'lang_paste_text_desc','{$pluginurl}/images/pastetext.gif','mcePasteText',true);case"pasteword":return tinyMCE.getButtonHTML(cn,'lang_paste_word_desc','{$pluginurl}/images/pasteword.gif','mcePasteWord',true);case"selectall":return tinyMCE.getButtonHTML(cn,'lang_selectall_desc','{$pluginurl}/images/selectall.gif','mceSelectAll',true)}return''},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePasteText":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false))TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"),true);else{var template=new Array();template['file']='../../plugins/paste/pastetext.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertText(value['html'],value['linebreaks']);return true;case"mcePasteWord":if(user_interface){if((tinyMCE.isMSIE&&!tinyMCE.isOpera)&&!tinyMCE.getParam('paste_use_dialog',false)){TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML())}else{var template=new Array();template['file']='../../plugins/paste/pasteword.htm';template['width']=450;template['height']=400;var plain_text="";tinyMCE.openWindow(template,{editor_id:editor_id,plain_text:plain_text,resizable:"yes",scrollbars:"no",inline:"yes",mceDo:'insert'})}}else TinyMCE_PastePlugin._insertWordContent(value);return true;case"mceSelectAll":tinyMCE.execInstanceCommand(editor_id,'selectall');return true}return false},_handlePasteEvent:function(e){switch(e.type){case"paste":var html=TinyMCE_PastePlugin._clipboardHTML();var r,inst=tinyMCE.selectedInstance;if(inst&&(r=inst.getRng())&&r.text.length>0)tinyMCE.execCommand('delete');if(html&&html.length>0)tinyMCE.execCommand('mcePasteWord',false,html);tinyMCE.cancelEvent(e);return false}return true},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(tinyMCE.getParam("paste_create_paragraphs",true)){var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);content=tinyMCE.regexpReplace(content,"\r\n\r\n","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\r\r","</p><p>","gi");content=tinyMCE.regexpReplace(content,"\n\n","</p><p>","gi");if((pos=content.indexOf('</p><p>'))!=-1){tinyMCE.execCommand("Delete");var node=tinyMCE.selectedInstance.getFocusElement();var breakElms=new Array();do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node}}while(node=node.parentNode);var before="",after="</p>";before+=content.substring(0,pos);for(var i=0;i<breakElms.length;i++){before+="</"+breakElms[i].nodeName+">";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">"}before+="<p>";content=before+content.substring(pos+7)+after}}if(tinyMCE.getParam("paste_create_linebreaks",true)){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}}tinyMCE.execCommand("mceInsertRawHTML",false,content)}},_insertWordContent:function(content){if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);var cb;if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('before', content)");var rl=tinyMCE.getParam("paste_replace_list",'\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i<rl.length;i+=2)content=content.replace(new RegExp(rl[i],'gi'),rl[i+1]);if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>','gi'),'<p><b>$1</b></p>')}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)<BR>","gi"),"<p>"+middot+"$1</p>");content=content.replace(new RegExp('<SPAN style="mso-list: Ignore">','gi'),"<span>"+bull);content=content.replace(/<o:p><\/o:p>/gi,"");content=content.replace(new RegExp('<br style="page-break-before: always;.*>','gi'),'-- page break --');content=content.replace(new RegExp('<(!--)([^>]*)(--)>','g'),"");if(tinyMCE.getParam("paste_remove_spans",true))content=content.replace(/<\/?span[^>]*>/gi,"");if(tinyMCE.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(tinyMCE.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break}content=content.replace(new RegExp('href="?'+TinyMCE_PastePlugin._reEscape(""+document.location)+'','gi'),'href="'+tinyMCE.settings['document_base_url']);content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!tinyMCE.settings['force_p_newlines']){content=content.replace('','','gi');content=content.replace('</p>','<br /><br />','gi')}if(!tinyMCE.isMSIE&&!tinyMCE.settings['force_p_newlines']){content=content.replace(/<\/?p[^>]*>/gi,"")}content=content.replace(/<\/?div[^>]*>/gi,"");if(tinyMCE.getParam("paste_convert_middot_lists",true)){var div=document.createElement("div");div.innerHTML=content;var className=tinyMCE.getParam("paste_unindented_list_class","unIndentedList");while(TinyMCE_PastePlugin._convertMiddots(div,"--list--"));while(TinyMCE_PastePlugin._convertMiddots(div,middot,className));while(TinyMCE_PastePlugin._convertMiddots(div,bull));content=div.innerHTML}if(tinyMCE.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi,'<p>&nbsp;&nbsp;</p>');content=content.replace(/<h[1-6]>/gi,'<p><b>');content=content.replace(/<\/h[1-6]>/gi,'</b></p>');content=content.replace(/<b>&nbsp;<\/b>/gi,'<b>&nbsp;&nbsp;</b>');content=content.replace(/^(&nbsp;)*/gi,'')}content=content.replace(/--list--/gi,"");if((cb=tinyMCE.getParam("paste_insert_word_content_callback",""))!="")content=eval(cb+"('after', content)");tinyMCE.execCommand("mceInsertContent",false,content);if(tinyMCE.getParam('paste_force_cleanup_wordpaste',true))window.setTimeout('tinyMCE.execCommand("mceCleanup");',1);}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i<s.length;i++){var c=s.charAt(i);if(l.indexOf(c)!=-1)o+='\\'+c;else o+=c}return o},_convertMiddots:function(div,search,class_name){var mdot=String.fromCharCode(183);var bull=String.fromCharCode(8226);var nodes=div.getElementsByTagName("p");var prevul;for(var i=0;i<nodes.length;i++){var p=nodes[i];if(p.innerHTML.indexOf(search)==0){var ul=document.createElement("ul");if(class_name)ul.className=class_name;var li=document.createElement("li");li.innerHTML=p.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');ul.appendChild(li);var np=p.nextSibling;while(np){if(np.nodeType==3&&new RegExp('^\\s$','m').test(np.nodeValue)){np=np.nextSibling;continue}if(search==mdot){if(np.nodeType==1&&new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)){if(!prevul){prevul=ul;ul=document.createElement("ul");prevul.appendChild(ul)}np.innerHTML=np.innerHTML.replace(/^o/,'')}else{if(prevul){ul=prevul;prevul=null}if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}}else{if(np.nodeType!=1||np.innerHTML.indexOf(search)!=0)break}var cp=np.nextSibling;var li=document.createElement("li");li.innerHTML=np.innerHTML.replace(new RegExp(''+mdot+'|'+bull+'|--list--|&nbsp;',"gi"),'');np.parentNode.removeChild(np);ul.appendChild(li);np=cp}p.parentNode.replaceChild(ul,p);return true}}return false},_clipboardHTML:function(){var div=document.getElementById('_TinyMCE_clipboardHTML');if(!div){var div=document.createElement('DIV');div.id='_TinyMCE_clipboardHTML';with(div.style){visibility='hidden';overflow='hidden';position='absolute';width=1;height=1}document.body.appendChild(div)}div.innerHTML='';var rng=document.body.createTextRange();rng.moveToElementText(div);rng.execCommand('Paste');var html=div.innerHTML;div.innerHTML='';return html}};tinyMCE.addPlugin("paste",TinyMCE_PastePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,395 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */ 
+tinyMCE.importPluginLanguagePack('paste');
+
+var TinyMCE_PastePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Paste text/word',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isMSIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false))
+			tinyMCE.addEvent(inst.getBody(), "paste", TinyMCE_PastePlugin._handlePasteEvent);
+	},
+
+	handleEvent : function(e) {
+		// Force paste dialog if non IE browser
+		if (!tinyMCE.isRealIE && tinyMCE.getParam("paste_auto_cleanup_on_paste", false) && e.ctrlKey && e.keyCode == 86 && e.type == "keydown") {
+			window.setTimeout('tinyMCE.selectedInstance.execCommand("mcePasteText",true)', 1);
+			return tinyMCE.cancelEvent(e);
+		}
+
+		return true;
+	},
+
+	getControlHTML : function(cn) { 
+		switch (cn) { 
+			case "pastetext":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_text_desc', '{$pluginurl}/images/pastetext.gif', 'mcePasteText', true);
+
+			case "pasteword":
+				return tinyMCE.getButtonHTML(cn, 'lang_paste_word_desc', '{$pluginurl}/images/pasteword.gif', 'mcePasteWord', true);
+
+			case "selectall":
+				return tinyMCE.getButtonHTML(cn, 'lang_selectall_desc', '{$pluginurl}/images/selectall.gif', 'mceSelectAll', true);
+		} 
+
+		return ''; 
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) { 
+		switch (command) { 
+			case "mcePasteText": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false))
+						TinyMCE_PastePlugin._insertText(clipboardData.getData("Text"), true); 
+					else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pastetext.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'}); 
+					}
+				} else
+					TinyMCE_PastePlugin._insertText(value['html'], value['linebreaks']);
+
+				return true;
+
+			case "mcePasteWord": 
+				if (user_interface) {
+					if ((tinyMCE.isMSIE && !tinyMCE.isOpera) && !tinyMCE.getParam('paste_use_dialog', false)) {
+						TinyMCE_PastePlugin._insertWordContent(TinyMCE_PastePlugin._clipboardHTML());
+					} else { 
+						var template = new Array(); 
+						template['file']	= '../../plugins/paste/pasteword.htm'; // Relative to theme 
+						template['width']  = 450; 
+						template['height'] = 400; 
+						var plain_text = ""; 
+						tinyMCE.openWindow(template, {editor_id : editor_id, plain_text: plain_text, resizable : "yes", scrollbars : "no", inline : "yes", mceDo : 'insert'});
+					}
+				} else
+					TinyMCE_PastePlugin._insertWordContent(value);
+
+				return true;
+
+			case "mceSelectAll":
+				tinyMCE.execInstanceCommand(editor_id, 'selectall'); 
+				return true; 
+
+		} 
+
+		// Pass to next handler in chain 
+		return false; 
+	},
+
+	// Private plugin internal methods
+
+	_handlePasteEvent : function(e) {
+		switch (e.type) {
+			case "paste":
+				var html = TinyMCE_PastePlugin._clipboardHTML();
+				var r, inst = tinyMCE.selectedInstance;
+
+				// Removes italic, strong etc, the if was needed due to bug #1437114
+				if (inst && (r = inst.getRng()) && r.text.length > 0)
+					tinyMCE.execCommand('delete');
+
+				if (html && html.length > 0)
+					tinyMCE.execCommand('mcePasteWord', false, html);
+
+				tinyMCE.cancelEvent(e);
+				return false;
+		}
+
+		return true;
+	},
+
+	_insertText : function(content, bLinebreaks) { 
+		if (content && content.length > 0) {
+			if (bLinebreaks) { 
+				// Special paragraph treatment 
+				if (tinyMCE.getParam("paste_create_paragraphs", true)) {
+					var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+					for (var i=0; i<rl.length; i+=2)
+						content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+					content = tinyMCE.regexpReplace(content, "\r\n\r\n", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r\r", "</p><p>", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n\n", "</p><p>", "gi"); 
+
+					// Has paragraphs 
+					if ((pos = content.indexOf('</p><p>')) != -1) { 
+						tinyMCE.execCommand("Delete"); 
+
+						var node = tinyMCE.selectedInstance.getFocusElement(); 
+
+						// Get list of elements to break 
+						var breakElms = new Array(); 
+
+						do { 
+							if (node.nodeType == 1) { 
+								// Don't break tables and break at body 
+								if (node.nodeName == "TD" || node.nodeName == "BODY") 
+									break; 
+		
+								breakElms[breakElms.length] = node; 
+							} 
+						} while(node = node.parentNode); 
+
+						var before = "", after = "</p>"; 
+						before += content.substring(0, pos); 
+
+						for (var i=0; i<breakElms.length; i++) { 
+							before += "</" + breakElms[i].nodeName + ">"; 
+							after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; 
+						} 
+
+						before += "<p>"; 
+						content = before + content.substring(pos+7) + after; 
+					} 
+				} 
+
+				if (tinyMCE.getParam("paste_create_linebreaks", true)) {
+					content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi"); 
+					content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi"); 
+				}
+			} 
+		
+			tinyMCE.execCommand("mceInsertRawHTML", false, content); 
+		}
+	},
+
+	_insertWordContent : function(content) { 
+		if (content && content.length > 0) {
+			// Cleanup Word content
+			var bull = String.fromCharCode(8226);
+			var middot = String.fromCharCode(183);
+			var cb;
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('before', content)");
+
+			var rl = tinyMCE.getParam("paste_replace_list", '\u2122,<sup>TM</sup>,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');
+			for (var i=0; i<rl.length; i+=2)
+				content = content.replace(new RegExp(rl[i], 'gi'), rl[i+1]);
+
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
+			}
+
+			content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
+			content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
+			content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
+			content = content.replace(/<o:p><\/o:p>/gi, "");
+			content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
+			content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
+
+			if (tinyMCE.getParam("paste_remove_spans", true))
+				content = content.replace(/<\/?span[^>]*>/gi, "");
+
+			if (tinyMCE.getParam("paste_remove_styles", true))
+				content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
+
+			content = content.replace(/<\/?font[^>]*>/gi, "");
+
+			// Strips class attributes.
+			switch (tinyMCE.getParam("paste_strip_class_attributes", "all")) {
+				case "all":
+					content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
+					break;
+
+				case "mso":
+					content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3");
+					break;
+			}
+
+			content = content.replace(new RegExp('href="?' + TinyMCE_PastePlugin._reEscape("" + document.location) + '', 'gi'), 'href="' + tinyMCE.settings['document_base_url']);
+			content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
+			content = content.replace(/<\\?\?xml[^>]*>/gi, "");
+			content = content.replace(/<\/?\w+:[^>]*>/gi, "");
+			content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
+			content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
+
+	//		content = content.replace(/\/?&nbsp;*/gi, ""); &nbsp;
+	//		content = content.replace(/<p>&nbsp;<\/p>/gi, '');
+
+			if (!tinyMCE.settings['force_p_newlines']) {
+				content = content.replace('', '' ,'gi');
+				content = content.replace('</p>', '<br /><br />' ,'gi');
+			}
+
+			if (!tinyMCE.isMSIE && !tinyMCE.settings['force_p_newlines']) {
+				content = content.replace(/<\/?p[^>]*>/gi, "");
+			}
+
+			content = content.replace(/<\/?div[^>]*>/gi, "");
+
+			// Convert all middlot lists to UL lists
+			if (tinyMCE.getParam("paste_convert_middot_lists", true)) {
+				var div = document.createElement("div");
+				div.innerHTML = content;
+
+				// Convert all middot paragraphs to li elements
+				var className = tinyMCE.getParam("paste_unindented_list_class", "unIndentedList");
+
+				while (TinyMCE_PastePlugin._convertMiddots(div, "--list--")) ; // bull
+				while (TinyMCE_PastePlugin._convertMiddots(div, middot, className)) ; // Middot
+				while (TinyMCE_PastePlugin._convertMiddots(div, bull)) ; // bull
+
+				content = div.innerHTML;
+			}
+
+			// Replace all headers with strong and fix some other issues
+			if (tinyMCE.getParam("paste_convert_headers_to_strong", false)) {
+				content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
+				content = content.replace(/<h[1-6]>/gi, '<p><b>');
+				content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
+				content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
+				content = content.replace(/^(&nbsp;)*/gi, '');
+			}
+
+			content = content.replace(/--list--/gi, ""); // Remove --list--
+
+			if ((cb = tinyMCE.getParam("paste_insert_word_content_callback", "")) != "")
+				content = eval(cb + "('after', content)");
+
+			// Insert cleaned content
+			tinyMCE.execCommand("mceInsertContent", false, content);
+
+			if (tinyMCE.getParam('paste_force_cleanup_wordpaste', true))
+				window.setTimeout('tinyMCE.execCommand("mceCleanup");', 1); // Do normal cleanup detached from this thread
+		}
+	},
+
+	_reEscape : function(s) {
+		var l = "?.\\*[](){}+^$:";
+		var o = "";
+
+		for (var i=0; i<s.length; i++) {
+			var c = s.charAt(i);
+
+			if (l.indexOf(c) != -1)
+				o += '\\' + c;
+			else
+				o += c;
+		}
+
+		return o;
+	},
+
+	_convertMiddots : function(div, search, class_name) {
+		var mdot = String.fromCharCode(183);
+		var bull = String.fromCharCode(8226);
+
+		var nodes = div.getElementsByTagName("p");
+		var prevul;
+		for (var i=0; i<nodes.length; i++) {
+			var p = nodes[i];
+
+			// Is middot
+			if (p.innerHTML.indexOf(search) == 0) {
+				var ul = document.createElement("ul");
+
+				if (class_name)
+					ul.className = class_name;
+
+				// Add the first one
+				var li = document.createElement("li");
+				li.innerHTML = p.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+				ul.appendChild(li);
+
+				// Add the rest
+				var np = p.nextSibling;
+				while (np) {
+			        // If the node is whitespace, then
+			        // ignore it and continue on.
+			        if (np.nodeType == 3 && new RegExp('^\\s$', 'm').test(np.nodeValue)) {
+			                np = np.nextSibling;
+			                continue;
+			        }
+
+					if (search == mdot) {
+					        if (np.nodeType == 1 && new RegExp('^o(\\s+|&nbsp;)').test(np.innerHTML)) {
+					                // Second level of nesting
+					                if (!prevul) {
+					                        prevul = ul;
+					                        ul = document.createElement("ul");
+					                        prevul.appendChild(ul);
+					                }
+					                np.innerHTML = np.innerHTML.replace(/^o/, '');
+					        } else {
+					                // Pop the stack if we're going back up to the first level
+					                if (prevul) {
+					                        ul = prevul;
+					                        prevul = null;
+					                }
+					                // Not element or middot paragraph
+					                if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                        break;
+					        }
+					} else {
+					        // Not element or middot paragraph
+					        if (np.nodeType != 1 || np.innerHTML.indexOf(search) != 0)
+					                break;
+				        }
+
+					var cp = np.nextSibling;
+					var li = document.createElement("li");
+					li.innerHTML = np.innerHTML.replace(new RegExp('' + mdot + '|' + bull + '|--list--|&nbsp;', "gi"), '');
+					np.parentNode.removeChild(np);
+					ul.appendChild(li);
+					np = cp;
+				}
+
+				p.parentNode.replaceChild(ul, p);
+
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	_clipboardHTML : function() {
+		var div = document.getElementById('_TinyMCE_clipboardHTML');
+
+		if (!div) {
+			var div = document.createElement('DIV');
+			div.id = '_TinyMCE_clipboardHTML';
+
+			with (div.style) {
+				visibility = 'hidden';
+				overflow = 'hidden';
+				position = 'absolute';
+				width = 1;
+				height = 1;
+			}
+
+			document.body.appendChild(div);
+		}
+
+		div.innerHTML = '';
+		var rng = document.body.createTextRange();
+		rng.moveToElementText(div);
+		rng.execCommand('Paste');
+		var html = div.innerHTML;
+		div.innerHTML = '';
+		return html;
+	}
+};
+
+tinyMCE.addPlugin("paste", TinyMCE_PastePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pastetext.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/pasteword.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/images/selectall.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pastetext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+function saveContent() {
+	if (document.forms[0].htmlSource.value == '') {
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteText', false, {
+		html : document.forms[0].htmlSource.value,
+		linebreaks : document.forms[0].linebreaks.checked
+	});
+
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight-80;
+		wWidth = self.innerWidth-17;
+	} else {
+		wHeight = document.body.clientHeight-80;
+		wWidth = document.body.clientWidth-17;
+	}
+
+	document.forms[0].htmlSource.style.height = Math.abs(wHeight) + 'px';
+	document.forms[0].htmlSource.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/jscripts/pasteword.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+function saveContent() {
+	var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
+
+	if (html == ''){
+		tinyMCEPopup.close();
+		return false;
+	}
+
+	tinyMCEPopup.execCommand('mcePasteWord', false, html);
+	tinyMCEPopup.close();
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Fix for endless reloading in FF
+	window.setTimeout('createIFrame();', 10);
+}
+
+function createIFrame() {
+	document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function initIframe(doc) {
+	var dir = tinyMCE.selectedInstance.settings['directionality'];
+
+	doc.body.dir = dir;
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		doc.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	resizeInputs();
+}
+
+function resizeInputs() {
+	if (!tinyMCE.isMSIE) {
+		wHeight = self.innerHeight - 80;
+		wWidth = self.innerWidth - 18;
+	} else {
+		wHeight = document.body.clientHeight - 80;
+		wWidth = document.body.clientWidth - 18;
+	}
+
+	var elm = document.getElementById('frmData');
+	if (elm) {
+		elm.style.height = Math.abs(wHeight) + 'px';
+		elm.style.width  = Math.abs(wWidth) + 'px';
+	}
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+paste_text_desc : 'Paste as Plain Text',
+paste_text_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+paste_text_linebreaks : 'Keep linebreaks',
+paste_word_desc : 'Paste from Word',
+paste_word_title : 'Use CTRL+V on your keyboard to paste the text into the window.',
+selectall_desc : 'Select All'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pastetext.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_paste_text_desc}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pastetext.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+<form name="source" onsubmit="saveContent();">
+	<div style="float: left" class="title">{$lang_paste_text_desc}</div>
+
+	<div style="float: right">
+		<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{$lang_paste_text_linebreaks}</label>
+	</div>
+
+	<br style="clear: both" />
+
+	<div>{$lang_paste_text_title}</div>
+
+	<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft"></textarea>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" name="insert" value="{$lang_insert}" onclick="saveContent();" id="insert" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+		</div>
+	</div>
+</form>
+</body> 
+</html>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/pasteword.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_paste_word_desc}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/pasteword.js"></script>
+	<link href="css/pasteword.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div class="title">{$lang_paste_word_desc}</div>
+
+		<div>{$lang_paste_word_title}</div>
+
+		<div id="iframecontainer"></div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="saveContent();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/paste/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('preview');var TinyMCE_PreviewPlugin={getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"preview":return tinyMCE.getButtonHTML(cn,'lang_preview_desc','{$pluginurl}/images/preview.gif','mcePreview')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePreview":var previewPage=tinyMCE.getParam("plugin_preview_pageurl",null);var previewWidth=tinyMCE.getParam("plugin_preview_width","550");var previewHeight=tinyMCE.getParam("plugin_preview_height","600");if(previewPage){var template=new Array();template['file']=previewPage;template['width']=previewWidth;template['height']=previewHeight;tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"yes",inline:"yes",content:tinyMCE.getContent(),content_css:tinyMCE.getParam("content_css")})}else{var win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+previewWidth+",height="+previewHeight);var html="",i;var c=tinyMCE.getContent();var pos=c.indexOf('<body'),pos2,css=tinyMCE.getParam("content_css").split(',');if(pos!=-1){pos=c.indexOf('>',pos);pos2=c.lastIndexOf('</body>');c=c.substring(pos+1,pos2)}html+=tinyMCE.getParam('doctype');html+='<html xmlns="http://www.w3.org/1999/xhtml">';html+='<head>';html+='<title>'+tinyMCE.getLang('lang_preview_desc')+'</title>';html+='<base href="'+tinyMCE.settings['base_href']+'" />';html+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(i=0;i<css.length;i++)html+='<link href="'+css[i]+'" rel="stylesheet" type="text/css" />';html+='<script type="text/javascript">';html+='window.opener.TinyMCE_PreviewPlugin._setDoc(document);';html+='window.opener.TinyMCE_PreviewPlugin._setWin(window);';html+='writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';html+='writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';html+='writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';html+='writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';html+='writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';html+='writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';html+='</script>';html+='</head>';html+='<body dir="'+tinyMCE.getParam("directionality")+'" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';html+=c;html+='</body>';html+='</html>';win.document.write(html);win.document.close()}return true}return false},_setDoc:function(d){TinyMCE_PreviewPlugin._doc=d;d._embeds=new Array()},_setWin:function(d){TinyMCE_PreviewPlugin._win=d},_onLoad:function(){var nl,i,el=new Array(),d=TinyMCE_PreviewPlugin._doc,sv,ne;nl=d.getElementsByTagName("script");for(i=0;i<nl.length;i++){sv=tinyMCE.isMSIE?nl[i].innerHTML:nl[i].firstChild.nodeValue;if(new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*','g').test(sv))el[el.length]=nl[i]}for(i=0;i<el.length;i++){ne=d.createElement("div");ne.innerHTML=d._embeds[i];el[i].parentNode.insertBefore(ne.firstChild,el[i])}},_writeFlash:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('D27CDB6E-AE6D-11cf-96B8-444553540000','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','application/x-shockwave-flash',p)},_writeShockWave:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('166B1BCA-3F9C-11CF-8075-444553540000','http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0','application/x-director',p)},_writeQuickTime:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('02BF25D5-8C17-4B23-BC80-D3488ABDDC6B','http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0','video/quicktime',p)},_writeRealMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);TinyMCE_PreviewPlugin._writeEmbed('CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0','audio/x-pn-realaudio-plugin',p)},_writeWindowsMedia:function(p){p.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],p.src);p.url=p.src;TinyMCE_PreviewPlugin._writeEmbed('6BF52A52-394A-11D3-B153-00C04F79FAA6','http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701','application/x-mplayer2',p)},_writeEmbed:function(cls,cb,mt,p){var h='',n,d=TinyMCE_PreviewPlugin._doc,ne,c;h+='<object classid="clsid:'+cls+'" codebase="'+cb+'"';h+=typeof(p.id)!="undefined"?'id="'+p.id+'"':'';h+=typeof(p.name)!="undefined"?'name="'+p.name+'"':'';h+=typeof(p.width)!="undefined"?'width="'+p.width+'"':'';h+=typeof(p.height)!="undefined"?'height="'+p.height+'"':'';h+=typeof(p.align)!="undefined"?'align="'+p.align+'"':'';h+='>';for(n in p)h+='<param name="'+n+'" value="'+p[n]+'">';h+='<embed type="'+mt+'"';for(n in p)h+=n+'="'+p[n]+'" ';h+='></embed></object>';d._embeds[d._embeds.length]=h}};tinyMCE.addPlugin("preview",TinyMCE_PreviewPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,205 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('preview');
+
+var TinyMCE_PreviewPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Preview',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the preview control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "preview":
+				return tinyMCE.getButtonHTML(cn, 'lang_preview_desc', '{$pluginurl}/images/preview.gif', 'mcePreview');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mcePreview command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mcePreview":
+				var previewPage = tinyMCE.getParam("plugin_preview_pageurl", null);
+				var previewWidth = tinyMCE.getParam("plugin_preview_width", "550");
+				var previewHeight = tinyMCE.getParam("plugin_preview_height", "600");
+
+				// Use a custom preview page
+				if (previewPage) {
+					var template = new Array();
+
+					template['file'] = previewPage;
+					template['width'] = previewWidth;
+					template['height'] = previewHeight;
+
+					tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "yes", inline : "yes", content : tinyMCE.getContent(), content_css : tinyMCE.getParam("content_css")});
+				} else {
+					var win = window.open("", "mcePreview", "menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width=" + previewWidth + ",height="  + previewHeight);
+					var html = "", i;
+					var c = tinyMCE.getContent();
+					var pos = c.indexOf('<body'), pos2, css = tinyMCE.getParam("content_css").split(',');
+
+					if (pos != -1) {
+						pos = c.indexOf('>', pos);
+						pos2 = c.lastIndexOf('</body>');
+						c = c.substring(pos + 1, pos2);
+					}
+
+					html += tinyMCE.getParam('doctype');
+					html += '<html xmlns="http://www.w3.org/1999/xhtml">';
+					html += '<head>';
+					html += '<title>' + tinyMCE.getLang('lang_preview_desc') + '</title>';
+					html += '<base href="' + tinyMCE.settings['base_href'] + '" />';
+					html += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
+
+					for (i=0; i<css.length; i++)
+						html += '<link href="' + css[i] + '" rel="stylesheet" type="text/css" />';
+
+					html += '<script type="text/javascript">';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setDoc(document);';
+					html += 'window.opener.TinyMCE_PreviewPlugin._setWin(window);';
+					html += 'writeFlash = window.opener.TinyMCE_PreviewPlugin._writeFlash;';
+					html += 'writeShockWave = window.opener.TinyMCE_PreviewPlugin._writeShockWave;';
+					html += 'writeQuickTime = window.opener.TinyMCE_PreviewPlugin._writeQuickTime;';
+					html += 'writeRealMedia = window.opener.TinyMCE_PreviewPlugin._writeRealMedia;';
+					html += 'writeWindowsMedia = window.opener.TinyMCE_PreviewPlugin._writeWindowsMedia;';
+					html += 'writeEmbed = window.opener.TinyMCE_PreviewPlugin._writeEmbed;';
+					html += '</script>';
+					html += '</head>';
+					html += '<body dir="' + tinyMCE.getParam("directionality") + '" onload="window.opener.TinyMCE_PreviewPlugin._onLoad();">';
+					html += c;
+					html += '</body>';
+					html += '</html>';
+
+					win.document.write(html);
+					win.document.close();
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	_setDoc : function(d) {
+		TinyMCE_PreviewPlugin._doc = d;
+		d._embeds = new Array();
+	},
+
+	_setWin : function(d) {
+		TinyMCE_PreviewPlugin._win = d;
+	},
+
+	_onLoad : function() {
+		var nl, i, el = new Array(), d = TinyMCE_PreviewPlugin._doc, sv, ne;
+
+		nl = d.getElementsByTagName("script");
+		for (i=0; i<nl.length; i++) {
+			sv = tinyMCE.isMSIE ? nl[i].innerHTML : nl[i].firstChild.nodeValue;
+
+			if (new RegExp('write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\\(.*', 'g').test(sv))
+				el[el.length] = nl[i];
+		}
+
+		for (i=0; i<el.length; i++) {
+			ne = d.createElement("div");
+			ne.innerHTML = d._embeds[i];
+			el[i].parentNode.insertBefore(ne.firstChild, el[i]);
+		}
+	},
+
+	_writeFlash : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'D27CDB6E-AE6D-11cf-96B8-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'application/x-shockwave-flash',
+			p
+		);
+	},
+
+	_writeShockWave : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'166B1BCA-3F9C-11CF-8075-444553540000',
+			'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+			'application/x-director',
+			p
+		);
+	},
+
+	_writeQuickTime : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+			'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+			'video/quicktime',
+			p
+		);
+	},
+
+	_writeRealMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+			'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+			'audio/x-pn-realaudio-plugin',
+			p
+		);
+	},
+
+	_writeWindowsMedia : function(p) {
+		p.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], p.src);
+		p.url = p.src;
+		TinyMCE_PreviewPlugin._writeEmbed(
+			'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+			'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+			'application/x-mplayer2',
+			p
+		);
+	},
+
+	_writeEmbed : function(cls, cb, mt, p) {
+		var h = '', n, d = TinyMCE_PreviewPlugin._doc, ne, c;
+
+		h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+		h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+		h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+		h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+		h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+		h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+		h += '>';
+
+		for (n in p)
+			h += '<param name="' + n + '" value="' + p[n] + '">';
+
+		h += '<embed type="' + mt + '"';
+
+		for (n in p)
+			h += n + '="' + p[n] + '" ';
+
+		h += '></embed></object>';
+
+		d._embeds[d._embeds.length] = h;
+	}
+};
+
+tinyMCE.addPlugin("preview", TinyMCE_PreviewPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/example.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<script language="javascript" src="../../tiny_mce_popup.js"></script>
+<script type="text/javascript" src="jscripts/embed.js"></script>
+<title>Example of a custom preview page</title>
+<link href="{$content_css}" rel="stylesheet" type="text/css" />
+</head>
+<body>
+
+Editor contents: <br />
+{$content}
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/images/preview.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/jscripts/embed.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,73 @@
+/**
+ * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
+ */
+
+function writeFlash(p) {
+	writeEmbed(
+		'D27CDB6E-AE6D-11cf-96B8-444553540000',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'application/x-shockwave-flash',
+		p
+	);
+}
+
+function writeShockWave(p) {
+	writeEmbed(
+	'166B1BCA-3F9C-11CF-8075-444553540000',
+	'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
+	'application/x-director',
+		p
+	);
+}
+
+function writeQuickTime(p) {
+	writeEmbed(
+		'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+		'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
+		'video/quicktime',
+		p
+	);
+}
+
+function writeRealMedia(p) {
+	writeEmbed(
+		'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+		'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
+		'audio/x-pn-realaudio-plugin',
+		p
+	);
+}
+
+function writeWindowsMedia(p) {
+	p.url = p.src;
+	writeEmbed(
+		'6BF52A52-394A-11D3-B153-00C04F79FAA6',
+		'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
+		'application/x-mplayer2',
+		p
+	);
+}
+
+function writeEmbed(cls, cb, mt, p) {
+	var h = '', n;
+
+	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
+	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
+	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
+	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
+	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
+	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
+	h += '>';
+
+	for (n in p)
+		h += '<param name="' + n + '" value="' + p[n] + '">';
+
+	h += '<embed type="' + mt + '"';
+
+	for (n in p)
+		h += n + '="' + p[n] + '" ';
+
+	h += '></embed></object>';
+
+	document.write(h);
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+preview_desc : 'Preview'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/preview/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('print');var TinyMCE_PrintPlugin={getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"print":return tinyMCE.getButtonHTML(cn,'lang_print_desc','{$pluginurl}/images/print.gif','mcePrint')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mcePrint":tinyMCE.getInstanceById(editor_id).contentWindow.print();return true}return false}};tinyMCE.addPlugin("print",TinyMCE_PrintPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,47 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme	specific language pack */
+tinyMCE.importPluginLanguagePack('print');
+
+var TinyMCE_PrintPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Print',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn)	{
+		switch (cn) {
+			case "print":
+				return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes	the	search/replace commands.
+	 */
+	execCommand : function(editor_id, element, command,	user_interface,	value) {
+		// Handle commands
+		switch (command) {
+			case "mcePrint":
+				tinyMCE.getInstanceById(editor_id).contentWindow.print();
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/images/print.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+print_desc : 'Print'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/print/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+This is the location you place TinyMCE plugins.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('save');var TinyMCE_SavePlugin={getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','s','lang_save_desc','mceSave')},getControlHTML:function(cn){switch(cn){case"save":return tinyMCE.getButtonHTML(cn,'lang_save_desc','{$pluginurl}/images/save.gif','mceSave')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceSave":if(tinyMCE.getParam("fullscreen_is_enabled"))return true;var inst=tinyMCE.selectedInstance;var formObj=inst.formElement.form;if(tinyMCE.getParam("save_enablewhendirty")&&!inst.isDirty())return true;if(formObj){tinyMCE.triggerSave();var os;if((os=tinyMCE.getParam("save_onsavecallback"))){if(eval(os+'(inst);')){inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);tinyMCE.triggerNodeChange(false,true)}return true}for(var i=0;i<formObj.elements.length;i++){var elementId=formObj.elements[i].name?formObj.elements[i].name:formObj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)formObj.elements[i].disabled=true}tinyMCE.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)inst.formElement.form.submit()}else alert("Error: No form element found.");return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(tinyMCE.getParam("fullscreen_is_enabled")){tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled');return true}if(tinyMCE.getParam("save_enablewhendirty")){var inst=tinyMCE.getInstanceById(editor_id);if(inst.isDirty()){tinyMCE.switchClass(editor_id+'_save','mceButtonNormal');return true}tinyMCE.switchClass(editor_id+'_save','mceButtonDisabled')}return true}};tinyMCE.addPlugin("save",TinyMCE_SavePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('save');
+
+var TinyMCE_SavePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Save',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.addShortcut('ctrl', 's', 'lang_save_desc', 'mceSave');
+	},
+
+	/**
+	 * Returns the HTML contents of the save control.
+	 */
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "save":
+				return tinyMCE.getButtonHTML(cn, 'lang_save_desc', '{$pluginurl}/images/save.gif', 'mceSave');
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the save command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceSave":
+				if (tinyMCE.getParam("fullscreen_is_enabled"))
+					return true;
+
+				var inst = tinyMCE.selectedInstance;
+				var formObj = inst.formElement.form;
+
+				if (tinyMCE.getParam("save_enablewhendirty") && !inst.isDirty())
+					return true;
+
+				if (formObj) {
+					tinyMCE.triggerSave();
+
+					// Use callback instead
+					var os;
+					if ((os = tinyMCE.getParam("save_onsavecallback"))) {
+						if (eval(os + '(inst);')) {
+							inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+							/*inst.undoLevels = new Array();
+							inst.undoIndex = 0;
+							inst.typingUndoIndex = -1;
+							inst.undoRedo = true;
+							inst.undoLevels[inst.undoLevels.length] = inst.startContent;*/
+							tinyMCE.triggerNodeChange(false, true);
+						}
+
+						return true;
+					}
+
+					// Disable all UI form elements that TinyMCE created
+					for (var i=0; i<formObj.elements.length; i++) {
+						var elementId = formObj.elements[i].name ? formObj.elements[i].name : formObj.elements[i].id;
+
+						if (elementId.indexOf('mce_editor_') == 0)
+							formObj.elements[i].disabled = true;
+					}
+
+					tinyMCE.isNotDirty = true;
+
+					if (formObj.onsubmit == null || formObj.onsubmit() != false)
+						inst.formElement.form.submit();
+				} else
+					alert("Error: No form element found.");
+
+				return true;
+		}
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (tinyMCE.getParam("fullscreen_is_enabled")) {
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+			return true;
+		}
+
+		if (tinyMCE.getParam("save_enablewhendirty")) {
+			var inst = tinyMCE.getInstanceById(editor_id);
+
+			if (inst.isDirty()) {
+				tinyMCE.switchClass(editor_id + '_save', 'mceButtonNormal');
+				return true;
+			}
+
+			tinyMCE.switchClass(editor_id + '_save', 'mceButtonDisabled');
+		}
+
+		return true;
+	}
+};
+
+tinyMCE.addPlugin("save", TinyMCE_SavePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/images/save.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+save_desc : 'Save'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/save/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/* stylesheet for advsearchreplace plugin*/
+
+.panel_wrapper { height: 85px; }
+.panel_wrapper div.current { height: 85px; }
+
+/* MS IE only styles */
+* html .panel_wrapper { height: 100px; }
+* html .panel_wrapper div.current { height: 100px; }
+
+#replaceBtn, #replaceAllBtn {
+	padding-bottom: 2px;
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0;
+	cursor: pointer;
+}
+
+#replaceBtn { background: url(../images/replace_button_bg.gif); }
+#replaceAllBtn { background: url(../images/replace_all_button_bg.gif); }

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('searchreplace');var TinyMCE_SearchReplacePlugin={getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),selectedText=inst.selection.getSelectedText(),rng;function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key]}function replaceSel(search_str,str,back){if(!inst.selection.isCollapsed()){if(tinyMCE.isRealIE)inst.selection.getRng().duplicate().pasteHTML(str);else inst.execCommand('mceInsertContent',false,str)}}if(!value)value=[];defValue("editor_id",editor_id);defValue("searchstring",selectedText);defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");defValue("resizable","no");switch(command){case"mceSearch":if(user_interface){var template=new Array();template['file']='../../plugins/searchreplace/searchreplace.htm';template['width']=380;template['height']=155+(tinyMCE.isNS7?20:0)+(tinyMCE.isMSIE?15:0);template['width']+=tinyMCE.getLang('lang_searchreplace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_delta_height',0);inst.selection.collapse(true);tinyMCE.openWindow(template,value)}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;var awin=value.win,found;if(body.innerHTML==""){awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";}inst.selection.collapse(value['backwards']);if(tinyMCE.isMSIE){var rng=inst.selection.getRng();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){awin.alert('This operation is currently not supported by this browser.');return true}if(value['replacemode']=="all"){found=false;while(rng.findText(value['string'],value['backwards']?-1:1,flags)){found=true;rng.scrollIntoView();rng.select();replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select()}else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}else{if(value['replacemode']=="all"){found=false;while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false)){found=true;replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true}return false}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,173 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('searchreplace');
+
+var TinyMCE_SearchReplacePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Search/Replace',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function (inst) {
+		inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
+		// No CTRL+R for "replace" because browsers will reload page instead of executing plugin
+	},
+
+	getControlHTML : function (cn) {
+		switch (cn) {
+			case "search" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true);
+
+			case "replace" :
+				return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function (editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng;
+
+		function defValue(key, default_value) {
+			value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
+		}
+
+		function replaceSel(search_str, str, back) {
+			if (!inst.selection.isCollapsed()) {
+				if (tinyMCE.isRealIE)
+					inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE
+				else
+					inst.execCommand('mceInsertContent', false, str);
+			}
+		}
+
+		if (!value)
+			value = [];
+
+		defValue("editor_id", editor_id);
+		defValue("searchstring", selectedText);
+		defValue("replacestring", null);
+		defValue("replacemode", "none");
+		defValue("casesensitive", false);
+		defValue("backwards", false);
+		defValue("wrap", false);
+		defValue("wholeword", false);
+		defValue("inline", "yes");
+		defValue("resizable", "no");
+
+		switch (command) {
+			case "mceSearch" :
+				if (user_interface) {
+					var template = new Array();
+
+					template['file'] = '../../plugins/searchreplace/searchreplace.htm';
+					template['width'] = 380;
+					template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0);
+					template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0);
+
+					inst.selection.collapse(true);
+
+					tinyMCE.openWindow(template, value);
+				} else {
+					var win = tinyMCE.getInstanceById(editor_id).contentWindow;
+					var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
+					var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
+					var awin = value.win, found;
+
+					if (body.innerHTML == "") {
+						awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+						return true;
+					}
+
+					if (value['replacemode'] == "current") {
+						replaceSel(value['string'], value['replacestring'], value['backwards']);
+						value['replacemode'] = "none";
+						//tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value);
+						//return true;
+					}
+
+					inst.selection.collapse(value['backwards']);
+
+					if (tinyMCE.isMSIE) {
+						var rng = inst.selection.getRng();
+						var flags = 0;
+						if (value['wholeword'])
+							flags = flags | 2;
+
+						if (value['casesensitive'])
+							flags = flags | 4;
+
+						if (!rng.findText) {
+							awin.alert('This operation is currently not supported by this browser.');
+							return true;
+						}
+
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+								found = true;
+								rng.scrollIntoView();
+								rng.select();
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
+							rng.scrollIntoView();
+							rng.select();
+						} else
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					} else {
+						if (value['replacemode'] == "all") {
+							found = false;
+
+							while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) {
+								found = true;
+								replaceSel(value['string'], value['replacestring'], value['backwards']);
+							}
+
+							if (found)
+								awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
+							else
+								awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+
+							return true;
+						}
+
+						if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
+							awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
+					}
+				}
+
+				return true;
+
+			case "mceSearchReplace" :
+				value['replacestring'] = "";
+				tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
+				return true;
+		}
+
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/images/search.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// start with appropiate tab
+	var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
+	mcTabs.displayTab(task + '_tab', task +'_panel');
+	manageReplaceButtons();
+	
+	var formObj = document.forms[0];
+
+	formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
+	formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
+	formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
+	formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
+	formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
+}
+
+function searchNext(replacemode) {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+
+	var formObj = document.forms[0];
+
+	if (task == "replace") {
+		// Whats the point?
+		if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
+			return false;
+	}
+
+	// Do search
+	tinyMCEPopup.execCommand('mceSearch', false, { 
+		string : formObj[task + "_panel_searchstring"].value,
+		replacestring : formObj["replace_panel_replacestring"].value,
+		replacemode : replacemode,
+		casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
+		backwards : formObj[task + "_panel_backwardsu"].checked,
+		win : window
+		}, false);
+
+	window.focus();
+
+	return false;
+}
+
+function cancelAction() {
+	tinyMCEPopup.close();
+}
+
+function manageReplaceButtons() {
+	// "search" or "replace" mode of operation?
+	var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
+	document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
+}
+
+function copyValues(link) {
+	// check if tab is already active
+	var tab = link;
+	while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
+	if (tab.className) return false; // tab is already active -> no need to copy any values!
+
+	// copy values from one panel to the other (if they exist there)
+	var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
+	var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
+
+	// find all elements with IDs to copy their values
+	var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
+	for (var i = 0; i < elms.length; i++) {
+		if (elms[i].id && elms[i].id != "") {
+			var checked = "undefined";
+			if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
+				checked = elms[i].checked;
+
+			// copy values if element exists in other panel
+			var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
+			var to_elm = document.getElementById(to_elm_name);
+			if (to_elm) {
+				if (checked != "undefined")
+					to_elm.checked = checked;
+				else
+					to_elm.value = elms[i].value;
+			}
+		}
+	}
+
+	return false;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+searchreplace_search_desc : 'Find',
+searchreplace_searchnext_desc : 'Find again',
+searchreplace_replace_desc : 'Find/Replace',
+searchreplace_notfound : 'The search has been completed. The search string could not be found.',
+searchreplace_search_title : 'Find',
+searchreplace_replace_title : 'Find/Replace',
+searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
+searchreplace_findwhat : 'Find what',
+searchreplace_replacewith : 'Replace with',
+searchreplace_direction : 'Direction',
+searchreplace_up : 'Up',
+searchreplace_down : 'Down',
+searchreplace_case : 'Match case',
+searchreplace_findnext : 'Find&nbsp;next',
+searchreplace_replace : 'Replace',
+searchreplace_replaceall : 'Replace&nbsp;all',
+searchreplace_cancel : 'Cancel'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_searchreplace_replace_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/searchreplace.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
+<form onsubmit="return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="search_tab"><span><a href="javascript:mcTabs.displayTab('search_tab','search_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_search_desc}</a></span></li>
+			<li id="replace_tab"><span><a href="javascript:mcTabs.displayTab('replace_tab','replace_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_replace}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+
+		<div id="search_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="search_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="search_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="search_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+		<div id="replace_panel" class="panel">
+			<table border="0" cellspacing="0" cellpadding="2">
+				<tr>
+					<td><label for="replace_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
+					<td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td><label for="replace_panel_replacestring">{$lang_searchreplace_replacewith}</label></td>
+					<td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0" class="direction">
+							<tr>
+								<td><label>{$lang_searchreplace_direction}</label></td>
+								<td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsu">{$lang_searchreplace_up}</label></td>
+								<td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" /></td>
+								<td><label for="replace_panel_backwardsd">{$lang_searchreplace_down}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+				<tr>
+					<td colspan="2">
+						<table border="0" cellspacing="0" cellpadding="0">
+							<tr>
+								<td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
+								<td><label for="replace_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
+							</tr>
+						</table>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" />
+			<span id="replace_buttons">
+				<input type="button" id="replaceBtn" name="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" />
+				<input type="button" id="replaceAllBtn" name="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');;" />
+			</span>
+		</div>
+
+		<div style="float: right">	
+			<input type="button" id="cancel" name="cancel" value="{$lang_searchreplace_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/css/props.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,62 @@
+#text_font {
+	width: 250px;
+}
+
+#text_size {
+	width: 70px;
+}
+
+.mceAddSelectValue {
+	background-color: #DDDDDD;
+}
+
+select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
+	width: 70px;
+}
+
+#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
+	width: 70px;
+}
+
+#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
+	width: 70px;
+}
+
+#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
+	width: 70px;
+}
+
+.panel_wrapper div.current {
+	padding-top: 10px;
+	height: 230px;
+}
+
+.delim {
+	border-left: 1px solid gray;
+}
+
+.tdelim {
+	border-bottom: 1px solid gray;	
+}
+
+#block_display {
+	width: 145px;
+}
+
+#list_type {
+	width: 115px;
+}
+
+.disabled {
+	background-color: #EEEEEE;
+}
+
+#apply {
+	font-weight: bold;
+	width: 78px;
+	height: 21px;
+	border: 0;
+	background-image: url('../images/apply_button_bg.gif');
+	cursor: pointer;
+}
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('style');var TinyMCE_StylePlugin={getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(cn){switch(cn){case"styleprops":return tinyMCE.getButtonHTML(cn,'lang_style_styleinfo_desc','{$pluginurl}/images/styleprops.gif','mceStyleProps',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var e,inst;switch(command){case"mceStyleProps":TinyMCE_StylePlugin._styleProps();return true;case"mceSetElementStyle":inst=tinyMCE.getInstanceById(editor_id);e=inst.selection.getFocusElement();if(e){e.style.cssText=value;inst.repaint()}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node.nodeName=='BODY')tinyMCE.switchClass(editor_id+'_styleprops','mceButtonDisabled');else tinyMCE.switchClass(editor_id+'_styleprops','mceButtonNormal')},_styleProps:function(){var e=tinyMCE.selectedInstance.selection.getFocusElement();if(!e||e.nodeName=='BODY')return;tinyMCE.openWindow({file:'../../plugins/style/props.htm',width:480+tinyMCE.getLang('lang_style_props_delta_width',0),height:320+tinyMCE.getLang('lang_style_props_delta_height',0)},{editor_id:tinyMCE.selectedInstance.editorId,inline:"yes",style_text:e.style.cssText})}};tinyMCE.addPlugin("style",TinyMCE_StylePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,83 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('style');
+
+var TinyMCE_StylePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Style',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "styleprops":
+				return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/styleprops.gif', 'mceStyleProps', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var e, inst;
+
+		// Handle commands
+		switch (command) {
+			case "mceStyleProps":
+				TinyMCE_StylePlugin._styleProps();
+				return true;
+
+			case "mceSetElementStyle":
+				inst = tinyMCE.getInstanceById(editor_id);
+				e = inst.selection.getFocusElement();
+
+				if (e) {
+					e.style.cssText = value;
+					inst.repaint();
+				}
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		if (node.nodeName == 'BODY')
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonDisabled');
+		else
+			tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonNormal');
+	},
+
+	// Private plugin specific methods
+
+	_styleProps : function() {
+		var e = tinyMCE.selectedInstance.selection.getFocusElement();
+
+		if (!e || e.nodeName == 'BODY')
+			return;
+
+		tinyMCE.openWindow({
+			file : '../../plugins/style/props.htm',
+			width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
+			height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
+		}, {
+			editor_id : tinyMCE.selectedInstance.editorId,
+			inline : "yes",
+			style_text : e.style.cssText
+		});
+	}
+};
+
+tinyMCE.addPlugin("style", TinyMCE_StylePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/apply_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/style_info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/images/styleprops.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/jscripts/props.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,633 @@
+var defaultFonts = "" + 
+	"Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Courier New, Courier, mono=Courier New, Courier, mono;" + 
+	"Times New Roman, Times, serif=Times New Roman, Times, serif;" + 
+	"Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + 
+	"Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + 
+	"Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
+
+var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
+var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
+var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
+var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
+var defaultTextStyle = "normal;italic;oblique";
+var defaultVariant = "normal;small-caps";
+var defaultLineHeight = "normal";
+var defaultAttachment = "fixed;scroll";
+var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y";
+var defaultPosH = "left;center;right";
+var defaultPosV = "top;center;bottom";
+var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom";
+var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none";
+var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset";
+var defaultBorderWidth = "thin;medium;thick";
+var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none";
+
+function init() {
+	var ce = document.getElementById('container'), h;
+
+	ce.style.cssText = tinyMCEPopup.getWindowArg('style_text');
+
+	h = getBrowserHTML('background_image_browser','background_image','image','advimage');
+	document.getElementById("background_image_browser").innerHTML = h;
+
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
+	document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
+	document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
+	document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right');
+	document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom');
+	document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left');
+
+	fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true);
+	fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true);
+	fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true);
+	fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true);
+	fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true);
+	fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true);
+	fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true);
+	fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true);
+	fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true);
+
+	fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true);
+	fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true);
+
+	fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true);
+	fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true);
+	fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true);
+	fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true);
+	fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true);
+	fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true);
+	fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true);
+	fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true);
+
+	fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true);
+	fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true);
+	fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true);
+	fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true);
+
+	fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true);
+	fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true);
+
+	fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true);
+	fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true);
+
+	fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true);
+	fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true);
+
+	fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true);
+
+	fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true);
+
+	fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true);
+	fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true);
+
+	TinyMCE_EditableSelects.init();
+	setupFormData();
+	showDisabledControls();
+}
+
+function setupFormData() {
+	var ce = document.getElementById('container'), f = document.forms[0], s, b, i;
+
+	// Setup text fields
+
+	selectByValue(f, 'text_font', ce.style.fontFamily, true, true);
+	selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true);
+	selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize));
+	selectByValue(f, 'text_weight', ce.style.fontWeight, true, true);
+	selectByValue(f, 'text_style', ce.style.fontStyle, true, true);
+	selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true);
+	selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
+	selectByValue(f, 'text_case', ce.style.textTransform, true, true);
+	selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
+	f.text_color.value = ce.style.color;
+	updateColor('text_color_pick', 'text_color');
+	f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
+	f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
+	f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through');
+	f.text_blink.checked = inStr(ce.style.textDecoration, 'blink');
+
+	// Setup background fields
+
+	f.background_color.value = ce.style.backgroundColor;
+	updateColor('background_color_pick', 'background_color');
+	f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
+	selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true);
+	selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true);
+	selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0)));
+	selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true);
+	selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1)));
+
+	// Setup block fields
+
+	selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true);
+	selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing));
+	selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true);
+	selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing));
+	selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true);
+	selectByValue(f, 'block_text_align', ce.style.textAlign, true, true);
+	f.block_text_indent.value = getNum(ce.style.textIndent);
+	selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent));
+	selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true);
+	selectByValue(f, 'block_display', ce.style.display, true, true);
+
+	// Setup box fields
+
+	f.box_width.value = getNum(ce.style.width);
+	selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width));
+
+	f.box_height.value = getNum(ce.style.height);
+	selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
+
+	if (tinyMCE.isGecko)
+		selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
+	else
+		selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
+
+	selectByValue(f, 'box_clear', ce.style.clear, true, true);
+
+	setupBox(f, ce, 'box_padding', 'padding', '');
+	setupBox(f, ce, 'box_margin', 'margin', '');
+
+	// Setup border fields
+
+	setupBox(f, ce, 'border_style', 'border', 'Style');
+	setupBox(f, ce, 'border_width', 'border', 'Width');
+	setupBox(f, ce, 'border_color', 'border', 'Color');
+
+	updateColor('border_color_top_pick', 'border_color_top');
+	updateColor('border_color_right_pick', 'border_color_right');
+	updateColor('border_color_bottom_pick', 'border_color_bottom');
+	updateColor('border_color_left_pick', 'border_color_left');
+
+	// Setup list fields
+
+	selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
+	selectByValue(f, 'list_position', ce.style.listStylePosition, true, true);
+	f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+
+	// Setup box fields
+
+	selectByValue(f, 'positioning_type', ce.style.position, true, true);
+	selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true);
+	selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true);
+	f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : "";
+
+	f.positioning_width.value = getNum(ce.style.width);
+	selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width));
+
+	f.positioning_height.value = getNum(ce.style.height);
+	selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height));
+
+	setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left'));
+
+	s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1");
+	s = s.replace(/,/g, ' ');
+
+	if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = getNum(getVal(s, 1));
+		selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1)));
+		f.positioning_clip_bottom.value = getNum(getVal(s, 2));
+		selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2)));
+		f.positioning_clip_left.value = getNum(getVal(s, 3));
+		selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3)));
+	} else {
+		f.positioning_clip_top.value = getNum(getVal(s, 0));
+		selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0)));
+		f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value;
+	}
+
+//	setupBox(f, ce, '', 'border', 'Color');
+}
+
+function getMeasurement(s) {
+	return s.replace(/^([0-9]+)(.*)$/, "$2");
+}
+
+function getNum(s) {
+	if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s))
+		return s.replace(/[^0-9]/g, '');
+
+	return s;
+}
+
+function inStr(s, n) {
+	return new RegExp(n, 'gi').test(s);
+}
+
+function getVal(s, i) {
+	var a = tinyMCE.explode(' ', s);
+
+	if (a.length > 1)
+		return a[i];
+
+	return "";
+}
+
+function setValue(f, n, v) {
+	if (f.elements[n].type == "text")
+		f.elements[n].value = v;
+	else
+		selectByValue(f, n, v, true, true);
+}
+
+function setupBox(f, ce, fp, pr, sf, b) {
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (isSame(ce, pr, sf, b)) {
+		f.elements[fp + "_same"].checked = true;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		f.elements[fp + "_right"].value = "";
+		f.elements[fp + "_right"].disabled = true;
+		f.elements[fp + "_bottom"].value = "";
+		f.elements[fp + "_bottom"].disabled = true;
+		f.elements[fp + "_left"].value = "";
+		f.elements[fp + "_left"].disabled = true;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = true;
+			f.elements[fp + "_bottom_measurement"].disabled = true;
+			f.elements[fp + "_right_measurement"].disabled = true;
+		}
+	} else {
+		f.elements[fp + "_same"].checked = false;
+
+		setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf]));
+		f.elements[fp + "_top"].disabled = false;
+
+		setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf]));
+		f.elements[fp + "_right"].disabled = false;
+
+		setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf]));
+		f.elements[fp + "_bottom"].disabled = false;
+
+		setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf]));
+		f.elements[fp + "_left"].disabled = false;
+
+		if (f.elements[fp + "_top_measurement"]) {
+			selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf]));
+			selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf]));
+			selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf]));
+			selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf]));
+			f.elements[fp + "_left_measurement"].disabled = false;
+			f.elements[fp + "_bottom_measurement"].disabled = false;
+			f.elements[fp + "_right_measurement"].disabled = false;
+		}
+	}
+}
+
+function isSame(e, pr, sf, b) {
+	var a = new Array(), i, x;
+
+	if (typeof(b) == "undefined")
+		b = new Array('Top', 'Right', 'Bottom', 'Left');
+
+	if (typeof(sf) == "undefined" || sf == null)
+		sf = "";
+
+	a[0] = e.style[pr + b[0] + sf];
+	a[1] = e.style[pr + b[1] + sf];
+	a[2] = e.style[pr + b[2] + sf];
+	a[3] = e.style[pr + b[3] + sf];
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+};
+
+function hasEqualValues(a) {
+	var i, x;
+
+	for (i=0; i<a.length; i++) {
+		if (a[i] == null)
+			return false;
+
+		for (x=0; x<a.length; x++) {
+			if (a[x] != a[i])
+				return false;
+		}
+	}
+
+	return true;
+}
+
+function applyAction() {
+	var ce = document.getElementById('container');
+
+	generateCSS();
+
+	tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
+}
+
+function updateAction() {
+	applyAction();
+	tinyMCEPopup.close();
+}
+
+function generateCSS() {
+	var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t;
+
+	ce.style.cssText = "";
+
+	// Build text styles
+	ce.style.fontFamily = f.text_font.value;
+	ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
+	ce.style.fontStyle = f.text_style.value;
+	ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
+	ce.style.textTransform = f.text_case.value;
+	ce.style.fontWeight = f.text_weight.value;
+	ce.style.fontVariant = f.text_variant.value;
+	ce.style.color = f.text_color.value;
+
+	s = "";
+	s += f.text_underline.checked ? " underline" : "";
+	s += f.text_overline.checked ? " overline" : "";
+	s += f.text_linethrough.checked ? " line-through" : "";
+	s += f.text_blink.checked ? " blink" : "";
+	s = s.length > 0 ? s.substring(1) : s;
+
+	if (f.text_none.checked)
+		s = "none";
+
+	ce.style.textDecoration = s;
+
+	// Build background styles
+
+	ce.style.backgroundColor = f.background_color.value;
+	ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : "";
+	ce.style.backgroundRepeat = f.background_repeat.value;
+	ce.style.backgroundAttachment = f.background_attachment.value;
+
+	if (f.background_hpos.value != "") {
+		s = "";
+		s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " ";
+		s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : "");
+		ce.style.backgroundPosition = s;
+	}
+
+	// Build block styles
+
+	ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : "");
+	ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : "");
+	ce.style.verticalAlign = f.block_vertical_alignment.value;
+	ce.style.textAlign = f.block_text_align.value;
+	ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : "");
+	ce.style.whiteSpace = f.block_whitespace.value;
+	ce.style.display = f.block_display.value;
+
+	// Build box styles
+
+	ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : "");
+	ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
+	ce.style.styleFloat = f.box_float.value;
+
+	if (tinyMCE.isGecko)
+		ce.style.cssFloat = f.box_float.value;
+
+	ce.style.clear = f.box_clear.value;
+
+	if (!f.box_padding_same.checked) {
+		ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");
+		ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : "");
+		ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : "");
+		ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : "");
+	} else
+		ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : "");		
+
+	if (!f.box_margin_same.checked) {
+		ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");
+		ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : "");
+		ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : "");
+		ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : "");
+	} else
+		ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : "");		
+
+	// Build border styles
+
+	if (!f.border_style_same.checked) {
+		ce.style.borderTopStyle = f.border_style_top.value;
+		ce.style.borderRightStyle = f.border_style_right.value;
+		ce.style.borderBottomStyle = f.border_style_bottom.value;
+		ce.style.borderLeftStyle = f.border_style_left.value;
+	} else
+		ce.style.borderStyle = f.border_style_top.value;
+
+	if (!f.border_width_same.checked) {
+		ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : "");
+		ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : "");
+		ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : "");
+		ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : "");
+	} else
+		ce.style.borderWidth = f.border_width_top.value;
+
+	if (!f.border_color_same.checked) {
+		ce.style.borderTopColor = f.border_color_top.value;
+		ce.style.borderRightColor = f.border_color_right.value;
+		ce.style.borderBottomColor = f.border_color_bottom.value;
+		ce.style.borderLeftColor = f.border_color_left.value;
+	} else
+		ce.style.borderColor = f.border_color_top.value;
+
+	// Build list styles
+
+	ce.style.listStyleType = f.list_type.value;
+	ce.style.listStylePosition = f.list_position.value;
+	ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : "";
+
+	// Build positioning styles
+
+	ce.style.position = f.positioning_type.value;
+	ce.style.visibility = f.positioning_visibility.value;
+
+	if (ce.style.width == "")
+		ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : "");
+
+	if (ce.style.height == "")
+		ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : "");
+
+	ce.style.zIndex = f.positioning_zindex.value;
+	ce.style.overflow = f.positioning_overflow.value;
+
+	if (!f.positioning_placement_same.checked) {
+		ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : "");
+		ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : "");
+		ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : "");
+	} else {
+		s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : "");
+		ce.style.top = s;
+		ce.style.right = s;
+		ce.style.bottom = s;
+		ce.style.left = s;
+	}
+
+	if (!f.positioning_clip_same.checked) {
+		s = "rect(";
+		s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " ";
+		s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto");
+		s += ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	} else {
+		s = "rect(";
+		t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto";
+		s += t + " ";
+		s += t + " ";
+		s += t + " ";
+		s += t + ")";
+
+		if (s != "rect(auto auto auto auto)")
+			ce.style.clip = s;
+	}
+
+	ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
+}
+
+function isNum(s) {
+	return new RegExp('[0-9]+', 'g').test(s);
+}
+
+function showDisabledControls() {
+	var f = document.forms, i, a;
+
+	for (i=0; i<f.length; i++) {
+		for (a=0; a<f[i].elements.length; a++) {
+			if (f[i].elements[a].disabled)
+				tinyMCE.addCSSClass(f[i].elements[a], "disabled");
+			else
+				tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
+		}
+	}
+}
+
+function fillSelect(f, s, param, dval, sep, em) {
+	var i, ar, p, se;
+
+	f = document.forms[f];
+	sep = typeof(sep) == "undefined" ? ";" : sep;
+
+	if (em)
+		addSelectValue(f, s, "", "");
+
+	ar = tinyMCE.getParam(param, dval).split(sep);
+	for (i=0; i<ar.length; i++) {
+		se = false;
+
+		if (ar[i].charAt(0) == '+') {
+			ar[i] = ar[i].substring(1);
+			se = true;
+		}
+
+		p = ar[i].split('=');
+
+		if (p.length > 1) {
+			addSelectValue(f, s, p[0], p[1]);
+
+			if (se)
+				selectByValue(f, s, p[1]);
+		} else {
+			addSelectValue(f, s, p[0], p[0]);
+
+			if (se)
+				selectByValue(f, s, p[0]);
+		}
+	}
+}
+
+function toggleSame(ce, pre) {
+	var el = document.forms[0].elements, i;
+
+	if (ce.checked) {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = true;
+		el[pre + "_bottom"].disabled = true;
+		el[pre + "_left"].disabled = true;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = true;
+			el[pre + "_bottom_measurement"].disabled = true;
+			el[pre + "_left_measurement"].disabled = true;
+		}
+	} else {
+		el[pre + "_top"].disabled = false;
+		el[pre + "_right"].disabled = false;
+		el[pre + "_bottom"].disabled = false;
+		el[pre + "_left"].disabled = false;
+
+		if (el[pre + "_top_measurement"]) {
+			el[pre + "_top_measurement"].disabled = false;
+			el[pre + "_right_measurement"].disabled = false;
+			el[pre + "_bottom_measurement"].disabled = false;
+			el[pre + "_left_measurement"].disabled = false;
+		}
+	}
+
+	showDisabledControls();
+}
+
+function synch(fr, to) {
+	var f = document.forms[0];
+
+	f.elements[to].value = f.elements[fr].value;
+
+	if (f.elements[fr + "_measurement"])
+		selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+// UK lang variables
+
+tinyMCE.addToLang('style',{
+title : 'Edit CSS Style',
+styleinfo_desc : 'Edit CSS Style',
+apply : 'Apply',
+text_tab : 'Text',
+background_tab : 'Background',
+block_tab : 'Block',
+box_tab : 'Box',
+border_tab : 'Border',
+list_tab : 'List',
+positioning_tab : 'Positioning',
+text_props : 'Text',
+text_font : 'Font',
+text_size : 'Size',
+text_weight : 'Weight',
+text_style : 'Style',
+text_variant : 'Variant',
+text_lineheight : 'Line height',
+text_case : 'Case',
+text_color : 'Color',
+text_decoration : 'Decoration',
+text_overline : 'overline',
+text_underline : 'underline',
+text_striketrough : 'strikethrough',
+text_blink : 'blink',
+text_none : 'none',
+background_color : 'Background color',
+background_image : 'Background image',
+background_repeat : 'Repeat',
+background_attachment : 'Attachment',
+background_hpos : 'Horizontal position',
+background_vpos : 'Vertical position',
+block_wordspacing : 'Word spacing',
+block_letterspacing : 'Letter spacing',
+block_vertical_alignment : 'Vertical alignment',
+block_text_align : 'Text align',
+block_text_indent : 'Text indent',
+block_whitespace : 'Whitespace',
+block_display : 'Display',
+box_width : 'Width',
+box_height : 'Height',
+box_float : 'Float',
+box_clear : 'Clear',
+padding : 'Padding',
+same : 'Same for all',
+top : 'Top',
+right : 'Right',
+bottom : 'Bottom',
+left : 'Left',
+margin : 'Margin',
+style : 'Style',
+width : 'Width',
+height : 'Height',
+color : 'Color',
+list_type : 'Type',
+bullet_image : 'Bullet image',
+position : 'Position',
+positioning_type : 'Type',
+visibility : 'Visibility',
+zindex : 'Z-index',
+overflow : 'Overflow',
+placement : 'Placement',
+clip : 'Clip'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/props.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,729 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_style_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
+	<link href="css/props.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+
+<body id="styleprops" onLoad="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onSubmit="updateAction();return false;" action="#">
+<div class="tabs">
+	<ul>
+		<li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{$lang_style_text_tab}</a></span></li>
+		<li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{$lang_style_background_tab}</a></span></li>
+		<li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{$lang_style_block_tab}</a></span></li>
+		<li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{$lang_style_box_tab}</a></span></li>
+		<li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{$lang_style_border_tab}</a></span></li>
+		<li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{$lang_style_list_tab}</a></span></li>
+		<li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{$lang_style_positioning_tab}</a></span></li>
+	</ul>
+</div>
+
+<div class="panel_wrapper">
+<div id="text_panel" class="panel current">
+	<table border="0" width="100%">
+		<tr>
+			<td><label for="text_font">{$lang_style_text_font}</label></td>
+			<td colspan="3">
+				<select id="text_font" name="text_font" class="mceEditableSelect" onChange="alert(this.options[this.selectedIndex].value);"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_size">{$lang_style_text_size}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="text_size_measurement" name="text_size_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_weight">{$lang_style_text_weight}</label></td>
+			<td>
+				<select id="text_weight" name="text_weight"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_style">{$lang_style_text_style}</label></td>
+			<td>
+				<select id="text_style" name="text_style" class="mceEditableSelect"></select>
+			</td>
+			<td><label for="text_variant">{$lang_style_text_variant}</label></td>
+			<td>
+				<select id="text_variant" name="text_variant"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td>
+							<select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
+						</td>
+						<td>&nbsp;</td>
+      <td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+			<td><label for="text_case">{$lang_style_text_case}</label></td>
+			<td>
+				<select id="text_case" name="text_case"></select>
+			</td>
+		</tr>
+		<tr>
+			<td><label for="text_color">{$lang_style_text_color}</label></td>
+			<td colspan="2">
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="text_color" name="text_color" type="text" value="" size="9" onChange="updateColor('text_color_pick','text_color');" /></td>
+						<td id="text_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+		<tr>
+			<td valign="top" style="vertical-align: top; padding-top: 3px;">{$lang_style_text_decoration}</td>
+			<td colspan="2">
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_underline">{$lang_style_text_underline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_overline">{$lang_style_text_overline}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_linethrough">{$lang_style_text_striketrough}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_blink">{$lang_style_text_blink}</label></td>
+					</tr>
+					<tr>
+						<td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
+						<td><label for="text_none">{$lang_style_text_none}</label></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="background_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="background_color">{$lang_style_background_color}</label></td>
+			<td>
+				<table border="0" cellpadding="0" cellspacing="0">
+					<tr>
+						<td><input id="background_color" name="background_color" type="text" value="" size="9" onChange="updateColor('background_color_pick','background_color');" /></td>
+						<td id="background_color_pickcontainer">&nbsp;</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_image">{$lang_style_background_image}</label></td>
+			<td><table border="0" cellspacing="0" cellpadding="0">
+				<tr> 
+				  <td><input id="background_image" name="background_image" type="text" /></td> 
+				  <td id="background_image_browser">&nbsp;</td>
+				</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
+			<td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
+			<td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<div id="block_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
+						<td>&nbsp;</td>
+      <td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
+			<td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
+			<td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
+			<td>
+				<table border="0" cellspacing="0" cellpadding="0">
+					<tr>
+						<td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
+						<td>&nbsp;</td>
+      <td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+
+		<tr>
+			<td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
+			<td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="block_display">{$lang_style_block_display}</label></td>
+			<td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="box_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="box_width">{$lang_style_box_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_width_measurement" name="box_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
+		<td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="box_height">{$lang_style_box_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="box_height_measurement" name="box_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
+		<td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_padding}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_padding_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_margin}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_top">{$lang_style_top}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_right">{$lang_style_right}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td><label for="box_margin_left">{$lang_style_left}</label></td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+
+<div id="border_panel" class="panel">
+<table border="0" cellspacing="0" cellpadding="0" width="100%">
+<tr>
+	<td class="tdelim">&nbsp;</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_style}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_width}</td>
+	<td class="tdelim delim">&nbsp;</td>
+	<td class="tdelim">{$lang_style_color}</td>
+</tr>
+
+<tr>
+	<td>&nbsp;</td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
+	<td class="delim">&nbsp;</td>
+	<td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
+</tr>
+
+<tr>
+	<td>{$lang_style_top}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onChange="updateColor('border_color_top_pick','border_color_top');" /></td>
+				<td id="border_color_top_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_right}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onChange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td>
+				<td id="border_color_right_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_bottom}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onChange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td>
+				<td id="border_color_bottom_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+
+<tr>
+	<td>{$lang_style_left}</td>
+	<td class="delim">&nbsp;</td>
+	<td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellspacing="0" cellpadding="0">
+			<tr>
+				<td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
+				<td>&nbsp;</td>
+    <td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
+			</tr>
+		</table>
+	</td>
+	<td class="delim">&nbsp;</td>
+	<td>
+		<table border="0" cellpadding="0" cellspacing="0">
+			<tr>
+				<td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onChange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td>
+				<td id="border_color_left_pickcontainer">&nbsp;</td>
+			</tr>
+		</table>
+	</td>
+</tr>
+</table>
+</div>
+
+<div id="list_panel" class="panel">
+	<table border="0">
+		<tr>
+			<td><label for="list_type">{$lang_style_list_type}</label></td>
+			<td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
+			<td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
+		</tr>
+
+		<tr>
+			<td><label for="list_position">{$lang_style_position}</label></td>
+			<td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
+		</tr>
+	</table>
+</div>
+
+<div id="positioning_panel" class="panel">
+<table border="0">
+	<tr>
+		<td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
+		<td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
+		<td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_width">{$lang_style_width}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
+		<td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
+	</tr>
+
+	<tr>
+		<td><label for="positioning_height">{$lang_style_height}</label></td>
+		<td>
+			<table border="0" cellspacing="0" cellpadding="0">
+				<tr>
+					<td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
+					<td>&nbsp;</td>
+     <td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
+				</tr>
+			</table>
+		</td>
+		<td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
+		<td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
+	</tr>
+</table>
+
+<div style="float: left; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_placement}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+
+<div style="float: right; width: 49%">
+	<fieldset>
+		<legend>{$lang_style_clip}</legend>
+
+		<table border="0">
+			<tr>
+				<td>&nbsp;</td>
+				<td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
+			</tr>
+			<tr>
+				<td>{$lang_style_top}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_right}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_bottom}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr>
+				<td>{$lang_style_left}</td>
+				<td>
+					<table border="0" cellspacing="0" cellpadding="0">
+						<tr>
+							<td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
+							<td>&nbsp;</td>
+       <td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</fieldset>
+</div>
+<br style="clear: both" />
+</div>
+</div>
+
+<div class="mceActionPanel">
+	<div style="float: left">
+		<div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onClick="updateAction();" /></div>
+
+		<div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="{$lang_style_apply}" onClick="applyAction();" class="updateButton" /></div>
+		<br style="clear: both" />
+	</div>
+
+	<div style="float: right">
+		<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onClick="tinyMCEPopup.close();" />
+	</div>
+</div>
+</form>
+
+<div style="display: none">
+	<div id="container"></div>
+</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/style/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/cell.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,182 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_cell_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
+	<link href="css/cell.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td>
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+		
+							<td><label for="celltype">{$lang_table_cell_type}</label></td>
+							<td>
+								<select id="celltype" name="celltype">
+									<option value="td">{$lang_table_td}</option>
+									<option value="th">{$lang_table_th}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td>
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+
+							<td><label for="scope">{$lang_table_scope}</label></td>
+							<td>
+								<select id="scope" name="scope">
+									<option value="">{$lang_not_set}</option>
+									<option value="col">{$lang_table_col}</option>
+									<option value="row">{$lang_table_row}</option>
+									<option value="rowgroup">{$lang_table_rowgroup}</option>
+									<option value="colgroup">{$lang_table_colgroup}</option>
+								</select>
+							</td>
+
+						</tr>
+
+						<tr>
+							<td><label for="width">{$lang_table_width}</label></td>
+							<td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td colspan="3">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="cell">{$lang_table_cell_cell}</option>
+					<option value="row">{$lang_table_cell_row}</option>
+					<option value="all">{$lang_table_cell_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/cell.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+/* CSS file for cell dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#class {
+	width: 150px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/row.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+/* CSS file for row dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 200px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#action {
+	margin-bottom: 3px;
+}
+
+#rowtype,#align,#valign,#class,#height {
+	width: 150px;
+}
+
+#height {
+	width: 50px;	
+}
+
+.col2 {
+	padding-left: 20px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/css/table.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+/* CSS file for table dialog in the table plugin */
+
+.panel_wrapper div.current {
+	height: 220px;
+}
+
+.advfield {
+	width: 200px;
+}
+
+#class {
+	width: 150px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('table');var TinyMCE_TablePlugin={getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler)}inst.tableRowClipboard=null},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_table','table_delete.gif','lang_table_del','mceTableDelete'],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i<controls.length;i++){var but=controls[i];var cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+but[3]+'\', '+(but.length>4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false))}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1",tdElm;var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal')}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal')}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance)},10)}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true}return false}function makeTD(){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan}}function getCellPos(grid,td){var x,y;for(y=0;y<grid.length;y++){for(x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y}}}return null}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null}function getTableGrid(table){var grid=new Array(),rows=table.rows,x,y,td,sd,xstart,x2,y2;for(y=0;y<rows.length;y++){for(x=0;x<rows[y].cells.length;x++){td=rows[y].cells[x];sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=new Array();for(x2=xstart;x2<xstart+sd['colspan'];x2++)grid[y2][x2]=td}}}return grid}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table),cpos=getCellPos(grid,td);var cells,lastElm;if(new_tr.cells.length!=tr.childNodes.length){cells=tr.childNodes;lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td}deleteMarked(tableElm)}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node}return null}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node}}return null}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td)}while((td=nexttd)!=null)}}while((tr=next)!=null)}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";if(tinyMCE.isMSIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR")}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=tinyMCE.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break}}}if(newTD==null){newTD=doc.createElement("td");newTD.innerHTML="&nbsp;"}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm}return newTR}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/row.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_rowprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_rowprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){var template=new Array();template['file']='../../plugins/table/cell.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_cellprops_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_cellprops_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes"})}return true;case"mceInsertTable":if(user_interface){var template=new Array();template['file']='../../plugins/table/table.htm';template['width']=380;template['height']=295;template['width']+=tinyMCE.getLang('lang_table_table_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_table_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:value})}return true;case"mceTableDelete":var table=tinyMCE.getParentElement(inst.getFocusElement(),"table");if(table){table.parentNode.removeChild(table);inst.repaint()}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}trElm.parentNode.insertBefore(newTR,trElm);grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex+1,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD)}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR)}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD)}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true}lastTDElm=tdElm}}deleteMarked(tableElm);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex+1),tinyMCE.isGecko,true);break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);newTD.innerHTML="&nbsp;";newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);return true}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm)}lastTDElm=tdElm}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");newTD.innerHTML="&nbsp;";trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan)}addRows(tdElm,trElm,rowspan)}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});return true}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=new Array();for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td}}if(rowCells.length>0)rows[rows.length]=rowCells}}}else{var cells=new Array();var sel=inst.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=new Array();for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td}}}if(rowCells.length>0)rows[rows.length]=rowCells}var curRow=new Array();var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y}x2=x;y2=y;grid[y][x]._selected=true}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true}lastRowSpan=sd['rowspan']}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true}lastColSpan=sd['colspan']}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=tinyMCE.regexpReplace(html,"[ \t\r\n]","");if(chk!="<br/>"&&chk!="<br>"&&chk!="&nbsp;"&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm}if(tdElm.rowSpan>1)tdElm.rowSpan--}}}}break}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint()}return true}return false}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1073 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('table');
+
+var TinyMCE_TablePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Tables',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.isGecko) {
+			var doc = inst.getDoc();
+			tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
+		}
+
+		inst.tableRowClipboard = null;
+	},
+
+	/**
+	 * Returns the HTML contents of the table control.
+	 */
+	getControlHTML : function(control_name) {
+		var controls = new Array(
+			['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
+			['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
+			['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
+			['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
+			['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
+			['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
+			['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
+			['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
+			['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
+			['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
+			['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
+			['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
+
+		// Render table control
+		for (var i=0; i<controls.length; i++) {
+			var but = controls[i];
+			var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
+
+			if (but[0] == control_name)
+				return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
+		}
+
+		// Special tablecontrols
+		if (control_name == "tablecontrols") {
+			var html = "";
+
+			html += tinyMCE.getControlHTML("table");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_props");
+			html += tinyMCE.getControlHTML("cell_props");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("row_before");
+			html += tinyMCE.getControlHTML("row_after");
+			html += tinyMCE.getControlHTML("delete_row");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("col_before");
+			html += tinyMCE.getControlHTML("col_after");
+			html += tinyMCE.getControlHTML("delete_col");
+			html += tinyMCE.getControlHTML("separator");
+			html += tinyMCE.getControlHTML("split_cells");
+			html += tinyMCE.getControlHTML("merge_cells");
+
+			return html;
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Is table command
+		switch (command) {
+			case "mceInsertTable":
+			case "mceTableRowProps":
+			case "mceTableCellProps":
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+			case "mceTableDelete":
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				inst.execCommand('mceBeginUndoLevel');
+				TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
+				inst.execCommand('mceEndUndoLevel');
+
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var colspan = "1", rowspan = "1", tdElm;
+
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Reset table controls
+		tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
+
+		// Within a td element
+		if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
+			tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
+
+			colspan = tinyMCE.getAttrib(tdElm, "colspan");
+			rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
+
+			colspan = colspan == "" ? "1" : colspan;
+			rowspan = rowspan == "" ? "1" : rowspan;
+
+			if (colspan != "1" || rowspan != "1")
+				tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
+		}
+
+		// Within a tr element
+		if (tinyMCE.getParentElement(node, "tr"))
+			tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
+
+		// Within table
+		if (tinyMCE.getParentElement(node, "table")) {
+			tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
+			tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
+		}
+	},
+
+	// Private plugin internal methods
+
+	_mouseDownHandler : function(e) {
+		var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
+		var focusElm = tinyMCE.selectedInstance.getFocusElement();
+
+		// If press on special Mozilla create TD/TR thingie
+		if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
+			window.setTimeout(function() {
+				var tableElm = tinyMCE.getParentElement(focusElm, "table");
+				tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+			}, 10);
+		}
+	},
+
+	/**
+	 * Executes the table commands.
+	 */
+	_doExecCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var focusElm = inst.getFocusElement();
+		var trElm = tinyMCE.getParentElement(focusElm, "tr");
+		var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
+		var tableElm = tinyMCE.getParentElement(focusElm, "table");
+		var doc = inst.contentWindow.document;
+		var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
+
+		// Get first TD if no TD found
+		if (trElm && tdElm == null)
+			tdElm = trElm.cells[0];
+
+		// ------- Inner functions ---------
+		function inArray(ar, v) {
+			for (var i=0; i<ar.length; i++) {
+				// Is array
+				if (ar[i].length > 0 && inArray(ar[i], v))
+					return true;
+
+				// Found value
+				if (ar[i] == v)
+					return true;
+			}
+
+			return false;
+		}
+
+		function makeTD() {
+			var newTD = doc.createElement("td");
+			newTD.innerHTML = "&nbsp;";
+		}
+
+		function getColRowSpan(td) {
+			var colspan = tinyMCE.getAttrib(td, "colspan");
+			var rowspan = tinyMCE.getAttrib(td, "rowspan");
+
+			colspan = colspan == "" ? 1 : parseInt(colspan);
+			rowspan = rowspan == "" ? 1 : parseInt(rowspan);
+
+			return {colspan : colspan, rowspan : rowspan};
+		}
+
+		function getCellPos(grid, td) {
+			var x, y;
+
+			for (y=0; y<grid.length; y++) {
+				for (x=0; x<grid[y].length; x++) {
+					if (grid[y][x] == td)
+						return {cellindex : x, rowindex : y};
+				}
+			}
+
+			return null;
+		}
+
+		function getCell(grid, row, col) {
+			if (grid[row] && grid[row][col])
+				return grid[row][col];
+
+			return null;
+		}
+
+		function getTableGrid(table) {
+			var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
+
+			for (y=0; y<rows.length; y++) {
+				for (x=0; x<rows[y].cells.length; x++) {
+					td = rows[y].cells[x];
+					sd = getColRowSpan(td);
+
+					// All ready filled
+					for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
+
+					// Fill box
+					for (y2=y; y2<y+sd['rowspan']; y2++) {
+						if (!grid[y2])
+							grid[y2] = new Array();
+
+						for (x2=xstart; x2<xstart+sd['colspan']; x2++)
+							grid[y2][x2] = td;
+					}
+				}
+			}
+
+			return grid;
+		}
+
+		function trimRow(table, tr, td, new_tr) {
+			var grid = getTableGrid(table), cpos = getCellPos(grid, td);
+			var cells, lastElm;
+
+			// Time to crop away some
+			if (new_tr.cells.length != tr.childNodes.length) {
+				cells = tr.childNodes;
+				lastElm = null;
+
+				for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
+					var remove = true;
+					var sd = getColRowSpan(td);
+
+					// Remove due to rowspan
+					if (inArray(cells, td)) {
+						new_tr.childNodes[x]._delete = true;
+					} else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
+						for (var i=x; i<x+td.colSpan; i++)
+							new_tr.childNodes[i]._delete = true;
+					}
+
+					if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
+						td.rowSpan = sd.rowspan + 1;
+
+					lastElm = td;
+				}
+
+				deleteMarked(tableElm);
+			}
+		}
+
+		function prevElm(node, name) {
+			while ((node = node.previousSibling) != null) {
+				if (node.nodeName == name)
+					return node;
+			}
+
+			return null;
+		}
+
+		function nextElm(node, names) {
+			var namesAr = names.split(',');
+
+			while ((node = node.nextSibling) != null) {
+				for (var i=0; i<namesAr.length; i++) {
+					if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
+						return node;
+				}
+			}
+
+			return null;
+		}
+
+		function deleteMarked(tbl) {
+			if (tbl.rows == 0)
+				return;
+
+			var tr = tbl.rows[0];
+			do {
+				var next = nextElm(tr, "TR");
+
+				// Delete row
+				if (tr._delete) {
+					tr.parentNode.removeChild(tr);
+					continue;
+				}
+
+				// Delete cells
+				var td = tr.cells[0];
+				if (td.cells > 1) {
+					do {
+						var nexttd = nextElm(td, "TD,TH");
+
+						if (td._delete)
+							td.parentNode.removeChild(td);
+					} while ((td = nexttd) != null);
+				}
+			} while ((tr = next) != null);
+		}
+
+		function addRows(td_elm, tr_elm, rowspan) {
+			// Add rows
+			td_elm.rowSpan = 1;
+			var trNext = nextElm(tr_elm, "TR");
+			for (var i=1; i<rowspan && trNext; i++) {
+				var newTD = doc.createElement("td");
+				newTD.innerHTML = "&nbsp;";
+
+				if (tinyMCE.isMSIE)
+					trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
+				else
+					trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
+
+				trNext = nextElm(trNext, "TR");
+			}
+		}
+
+		function copyRow(doc, table, tr) {
+			var grid = getTableGrid(table);
+			var newTR = tr.cloneNode(false);
+			var cpos = getCellPos(grid, tr.cells[0]);
+			var lastCell = null;
+			var tableBorder = tinyMCE.getAttrib(table, "border");
+			var tdElm = null;
+
+			for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+				var newTD = null;
+
+				if (lastCell != tdElm) {
+					for (var i=0; i<tr.cells.length; i++) {
+						if (tdElm == tr.cells[i]) {
+							newTD = tdElm.cloneNode(true);
+							break;
+						}
+					}
+				}
+
+				if (newTD == null) {
+					newTD = doc.createElement("td");
+					newTD.innerHTML = "&nbsp;";
+				}
+
+				// Reset col/row span
+				newTD.colSpan = 1;
+				newTD.rowSpan = 1;
+
+				newTR.appendChild(newTD);
+
+				lastCell = tdElm;
+			}
+
+			return newTR;
+		}
+
+		// ---- Commands -----
+
+		// Handle commands
+		switch (command) {
+			case "mceTableRowProps":
+				if (trElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/row.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceTableCellProps":
+				if (tdElm == null)
+					return true;
+
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/cell.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceInsertTable":
+				if (user_interface) {
+					// Setup template
+					var template = new Array();
+
+					template['file'] = '../../plugins/table/table.htm';
+					template['width'] = 380;
+					template['height'] = 295;
+
+					// Language specific width and height addons
+					template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
+
+					// Open window
+					tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
+				}
+
+				return true;
+
+			case "mceTableDelete":
+				var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+				if (table) {
+					table.parentNode.removeChild(table);
+					inst.repaint();
+				}
+				return true;
+
+			case "mceTableSplitCells":
+			case "mceTableMergeCells":
+			case "mceTableInsertRowBefore":
+			case "mceTableInsertRowAfter":
+			case "mceTableDeleteRow":
+			case "mceTableInsertColBefore":
+			case "mceTableInsertColAfter":
+			case "mceTableDeleteCol":
+			case "mceTableCutRow":
+			case "mceTableCopyRow":
+			case "mceTablePasteRowBefore":
+			case "mceTablePasteRowAfter":
+				// No table just return (invalid command)
+				if (!tableElm)
+					return true;
+
+				// Table has a tbody use that reference
+				// Changed logic by ApTest 2005.07.12 (www.aptest.com)
+				// Now lookk at the focused element and take its parentNode.  That will be a tbody or a table.
+				if (trElm && tableElm != trElm.parentNode)
+					tableElm = trElm.parentNode;
+
+				if (tableElm && trElm) {
+					switch (command) {
+						case "mceTableCutRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							inst.execCommand("mceTableDeleteRow");
+							break;
+
+						case "mceTableCopyRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
+							break;
+
+						case "mceTablePasteRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							var prevTR = prevElm(trElm, "TR");
+							if (prevTR != null)
+								trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+							break;
+
+						case "mceTablePasteRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+							
+							var nextTR = nextElm(trElm, "TR");
+							var newTR = inst.tableRowClipboard.cloneNode(true);
+
+							trimRow(tableElm, trElm, tdElm, newTR);
+
+							if (nextTR == null)
+								trElm.parentNode.appendChild(newTR);
+							else
+								nextTR.parentNode.insertBefore(newTR, nextTR);
+
+							break;
+
+						case "mceTableInsertRowBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							trElm.parentNode.insertBefore(newTR, trElm);
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertRowAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var newTR = doc.createElement("tr");
+							var lastTDElm = null;
+
+							// Create cells
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['rowspan'] == 1) {
+										var newTD = doc.createElement("td");
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.colSpan = tdElm.colSpan;
+
+										newTR.appendChild(newTD);
+									} else
+										tdElm.rowSpan = sd['rowspan'] + 1;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							if (newTR.hasChildNodes()) {
+								var nextTR = nextElm(trElm, "TR");
+								if (nextTR)
+									nextTR.parentNode.insertBefore(newTR, nextTR);
+								else
+									tableElm.appendChild(newTR);
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteRow":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+
+							// Only one row, remove whole table
+							if (grid.length == 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Move down row spanned cells
+							var cells = trElm.cells;
+							var nextTR = nextElm(trElm, "TR");
+							for (var x=0; x<cells.length; x++) {
+								if (cells[x].rowSpan > 1) {
+									var newTD = cells[x].cloneNode(true);
+									var sd = getColRowSpan(cells[x]);
+
+									newTD.rowSpan = sd.rowspan - 1;
+
+									var nextTD = nextTR.cells[x];
+
+									if (nextTD == null)
+										nextTR.appendChild(newTD);
+									else
+										nextTR.insertBefore(newTD, nextTD);
+								}
+							}
+
+							// Delete cells
+							var lastTDElm = null;
+							for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd.rowspan > 1) {
+										tdElm.rowSpan = sd.rowspan - 1;
+									} else {
+										trElm = tdElm.parentNode;
+
+										if (trElm.parentNode)
+											trElm._delete = true;
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							deleteMarked(tableElm);
+
+							cpos.rowindex--;
+							if (cpos.rowindex < 0)
+								cpos.rowindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColBefore":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										tdElm.parentNode.insertBefore(newTD, tdElm);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableInsertColAfter":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] == 1) {
+										var newTD = doc.createElement(tdElm.nodeName);
+
+										newTD.innerHTML = "&nbsp;";
+										newTD.rowSpan = tdElm.rowSpan;
+
+										var nextTD = nextElm(tdElm, "TD,TH");
+										if (nextTD == null)
+											tdElm.parentNode.appendChild(newTD);
+										else
+											nextTD.parentNode.insertBefore(newTD, nextTD);
+									} else
+										tdElm.colSpan++;
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+						case "mceTableDeleteCol":
+							if (!trElm || !tdElm)
+								return true;
+
+							var grid = getTableGrid(tableElm);
+							var cpos = getCellPos(grid, tdElm);
+							var lastTDElm = null;
+
+							// Only one col, remove whole table
+							if (grid.length > 1 && grid[0].length <= 1) {
+								tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
+								tableElm.parentNode.removeChild(tableElm);
+								return true;
+							}
+
+							// Delete cells
+							for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
+								if (tdElm != lastTDElm) {
+									var sd = getColRowSpan(tdElm);
+
+									if (sd['colspan'] > 1)
+										tdElm.colSpan = sd['colspan'] - 1;
+									else {
+										if (tdElm.parentNode)
+											tdElm.parentNode.removeChild(tdElm);
+									}
+
+									lastTDElm = tdElm;
+								}
+							}
+
+							cpos.cellindex--;
+							if (cpos.cellindex < 0)
+								cpos.cellindex = 0;
+
+							// Recalculate grid and select
+							grid = getTableGrid(tableElm);
+							inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
+						break;
+
+					case "mceTableSplitCells":
+						if (!trElm || !tdElm)
+							return true;
+
+						var spandata = getColRowSpan(tdElm);
+
+						var colspan = spandata["colspan"];
+						var rowspan = spandata["rowspan"];
+
+						// Needs splitting
+						if (colspan > 1 || rowspan > 1) {
+							// Generate cols
+							tdElm.colSpan = 1;
+							for (var i=1; i<colspan; i++) {
+								var newTD = doc.createElement("td");
+
+								newTD.innerHTML = "&nbsp;";
+
+								trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
+
+								if (rowspan > 1)
+									addRows(newTD, trElm, rowspan);
+							}
+
+							addRows(tdElm, trElm, rowspan);
+						}
+
+						// Apply visual aids
+						tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+						break;
+
+					case "mceTableMergeCells":
+						var rows = new Array();
+						var sel = inst.getSel();
+						var grid = getTableGrid(tableElm);
+
+						if (tinyMCE.isMSIE || sel.rangeCount == 1) {
+							if (user_interface) {
+								// Setup template
+								var template = new Array();
+								var sp = getColRowSpan(tdElm);
+
+								template['file'] = '../../plugins/table/merge_cells.htm';
+								template['width'] = 250;
+								template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
+
+								// Language specific width and height addons
+								template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
+								template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
+
+								// Open window
+								tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
+
+								return true;
+							} else {
+								var numRows = parseInt(value['numrows']);
+								var numCols = parseInt(value['numcols']);
+								var cpos = getCellPos(grid, tdElm);
+
+								if (("" + numRows) == "NaN")
+									numRows = 1;
+
+								if (("" + numCols) == "NaN")
+									numCols = 1;
+
+								// Get rows and cells
+								var tRows = tableElm.rows;
+								for (var y=cpos.rowindex; y<grid.length; y++) {
+									var rowCells = new Array();
+
+									for (var x=cpos.cellindex; x<grid[y].length; x++) {
+										var td = getCell(grid, y, x);
+
+										if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
+											var cp = getCellPos(grid, td);
+
+											// Within range
+											if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
+												rowCells[rowCells.length] = td;
+										}
+									}
+
+									if (rowCells.length > 0)
+										rows[rows.length] = rowCells;
+								}
+
+								//return true;
+							}
+						} else {
+							var cells = new Array();
+							var sel = inst.getSel();
+							var lastTR = null;
+							var curRow = null;
+							var x1 = -1, y1 = -1, x2, y2;
+
+							// Only one cell selected, whats the point?
+							if (sel.rangeCount < 2)
+								return true;
+
+							// Get all selected cells
+							for (var i=0; i<sel.rangeCount; i++) {
+								var rng = sel.getRangeAt(i);
+								var tdElm = rng.startContainer.childNodes[rng.startOffset];
+
+								if (!tdElm)
+									break;
+
+								if (tdElm.nodeName == "TD")
+									cells[cells.length] = tdElm;
+							}
+
+							// Get rows and cells
+							var tRows = tableElm.rows;
+							for (var y=0; y<tRows.length; y++) {
+								var rowCells = new Array();
+
+								for (var x=0; x<tRows[y].cells.length; x++) {
+									var td = tRows[y].cells[x];
+
+									for (var i=0; i<cells.length; i++) {
+										if (td == cells[i]) {
+											rowCells[rowCells.length] = td;
+										}
+									}
+								}
+
+								if (rowCells.length > 0)
+									rows[rows.length] = rowCells;
+							}
+
+							// Find selected cells in grid and box
+							var curRow = new Array();
+							var lastTR = null;
+							for (var y=0; y<grid.length; y++) {
+								for (var x=0; x<grid[y].length; x++) {
+									grid[y][x]._selected = false;
+
+									for (var i=0; i<cells.length; i++) {
+										if (grid[y][x] == cells[i]) {
+											// Get start pos
+											if (x1 == -1) {
+												x1 = x;
+												y1 = y;
+											}
+
+											// Get end pos
+											x2 = x;
+											y2 = y;
+
+											grid[y][x]._selected = true;
+										}
+									}
+								}
+							}
+
+							// Is there gaps, if so deny
+							for (var y=y1; y<=y2; y++) {
+								for (var x=x1; x<=x2; x++) {
+									if (!grid[y][x]._selected) {
+										alert("Invalid selection for merge.");
+										return true;
+									}
+								}
+							}
+						}
+
+						// Validate selection and get total rowspan and colspan
+						var rowSpan = 1, colSpan = 1;
+
+						// Validate horizontal and get total colspan
+						var lastRowSpan = -1;
+						for (var y=0; y<rows.length; y++) {
+							var rowColSpan = 0;
+
+							for (var x=0; x<rows[y].length; x++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								rowColSpan += sd['colspan'];
+
+								if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastRowSpan = sd['rowspan'];
+							}
+
+							if (rowColSpan > colSpan)
+								colSpan = rowColSpan;
+
+							lastRowSpan = -1;
+						}
+
+						// Validate vertical and get total rowspan
+						var lastColSpan = -1;
+						for (var x=0; x<rows[0].length; x++) {
+							var colRowSpan = 0;
+
+							for (var y=0; y<rows.length; y++) {
+								var sd = getColRowSpan(rows[y][x]);
+
+								colRowSpan += sd['rowspan'];
+
+								if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
+									alert("Invalid selection for merge.");
+									return true;
+								}
+
+								lastColSpan = sd['colspan'];
+							}
+
+							if (colRowSpan > rowSpan)
+								rowSpan = colRowSpan;
+
+							lastColSpan = -1;
+						}
+
+						// Setup td
+						tdElm = rows[0][0];
+						tdElm.rowSpan = rowSpan;
+						tdElm.colSpan = colSpan;
+
+						// Merge cells
+						for (var y=0; y<rows.length; y++) {
+							for (var x=0; x<rows[y].length; x++) {
+								var html = rows[y][x].innerHTML;
+								var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
+
+								if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
+									tdElm.innerHTML += html;
+
+								// Not current cell
+								if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
+									var cpos = getCellPos(grid, rows[y][x]);
+									var tr = rows[y][x].parentNode;
+
+									tr.removeChild(rows[y][x]);
+									rows[y][x]._deleted = true;
+
+									// Empty TR, remove it
+									if (!tr.hasChildNodes()) {
+										tr.parentNode.removeChild(tr);
+
+										var lastCell = null;
+										for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
+											if (cellElm != lastCell && cellElm.rowSpan > 1)
+												cellElm.rowSpan--;
+
+											lastCell = cellElm;
+										}
+
+										if (tdElm.rowSpan > 1)
+											tdElm.rowSpan--;
+									}
+								}
+							}
+						}
+
+						break;
+					}
+
+					tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+					tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+					tinyMCE.triggerNodeChange();
+					inst.repaint();
+				}
+
+			return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("table", TinyMCE_TablePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_cell_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_col.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_delete_row.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_col_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_after.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_insert_row_before.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_merge_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_row_props.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/images/table_split_cells.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/cell.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
+
+	// Get table cell data
+	var celltype = tdElm.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(tdElm, 'align');
+	var valign = tinyMCE.getAttrib(tdElm, 'valign');
+	var width = trimSize(getStyle(tdElm, 'width', 'width'));
+	var height = trimSize(getStyle(tdElm, 'height', 'height'));
+	var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
+	var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
+	var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(tdElm, 'id');
+	var lang = tinyMCE.getAttrib(tdElm, 'lang');
+	var dir = tinyMCE.getAttrib(tdElm, 'dir');
+	var scope = tinyMCE.getAttrib(tdElm, 'scope');
+
+	// Setup form
+	addClassesToList('class', 'table_cell_styles');
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'celltype', celltype);
+	selectByValue(formObj, 'dir', dir);
+	selectByValue(formObj, 'scope', scope);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (getSelectValue(formObj, 'action')) {
+		case "cell":
+			var celltype = getSelectValue(formObj, 'celltype');
+			var scope = getSelectValue(formObj, 'scope');
+
+			if (tinyMCE.getParam("accessibility_warnings")) {
+				if (celltype == "th" && scope == "")
+					var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
+				else
+					var answer = true;
+
+				if (!answer)
+					return;
+			}
+
+			updateCell(tdElm);
+			break;
+
+		case "row":
+			var cell = trElm.firstChild;
+
+			if (cell.nodeName != "TD" && cell.nodeName != "TH")
+				cell = nextCell(cell);
+
+			do {
+				cell = updateCell(cell, true);
+			} while ((cell = nextCell(cell)) != null);
+
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				var cell = rows[i].firstChild;
+
+				if (cell.nodeName != "TD" && cell.nodeName != "TH")
+					cell = nextCell(cell);
+
+				do {
+					cell = updateCell(cell, true);
+				} while ((cell = nextCell(cell)) != null);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function nextCell(elm) {
+	while ((elm = elm.nextSibling) != null) {
+		if (elm.nodeName == "TD" || elm.nodeName == "TH")
+			return elm;
+	}
+
+	return null;
+}
+
+function updateCell(td, skip_id) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curCellType = td.nodeName.toLowerCase();
+	var celltype = getSelectValue(formObj, 'celltype');
+	var doc = inst.getDoc();
+
+	if (!skip_id)
+		td.setAttribute('id', formObj.id.value);
+
+	td.setAttribute('align', formObj.align.value);
+	td.setAttribute('vAlign', formObj.valign.value);
+	td.setAttribute('lang', formObj.lang.value);
+	td.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	td.setAttribute('scope', formObj.scope.value);
+	tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tinyMCE.setAttrib(td, 'width', '');
+	tinyMCE.setAttrib(td, 'height', '');
+	tinyMCE.setAttrib(td, 'bgColor', '');
+	tinyMCE.setAttrib(td, 'borderColor', '');
+	tinyMCE.setAttrib(td, 'background', '');
+
+	// Set styles
+	td.style.width = getCSSSize(formObj.width.value);
+	td.style.height = getCSSSize(formObj.height.value);
+	if (formObj.bordercolor.value != "") {
+		td.style.borderColor = formObj.bordercolor.value;
+		td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle;
+		td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth;
+	} else
+		td.style.borderColor = '';
+
+	td.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		td.style.backgroundImage = '';
+
+	if (curCellType != celltype) {
+		// changing to a different node type
+		var newCell = doc.createElement(celltype);
+
+		for (var c=0; c<td.childNodes.length; c++)
+			newCell.appendChild(td.childNodes[c].cloneNode(1));
+
+		for (var a=0; a<td.attributes.length; a++) {
+			var attr = td.attributes[a];
+			newCell.setAttribute(attr.name, attr.value);
+		}
+
+		td.parentNode.replaceChild(newCell, td);
+		td = newCell;
+	}
+
+	return td;
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = getCSSSize(width);
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+	st['border-color'] = formObj.bordercolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/merge_cells.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var formObj = document.forms[0];
+
+	formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
+	formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
+}
+
+function mergeCells() {
+	var args = new Array();
+	var formObj = document.forms[0];
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	args["numcols"] = formObj.numcols.value;
+	args["numrows"] = formObj.numrows.value;
+
+	tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/row.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,200 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
+
+	// Get table row data
+	var rowtype = trElm.parentNode.nodeName.toLowerCase();
+	var align = tinyMCE.getAttrib(trElm, 'align');
+	var valign = tinyMCE.getAttrib(trElm, 'valign');
+	var height = trimSize(getStyle(trElm, 'height', 'height'));
+	var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
+	var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
+	var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
+	var id = tinyMCE.getAttrib(trElm, 'id');
+	var lang = tinyMCE.getAttrib(trElm, 'lang');
+	var dir = tinyMCE.getAttrib(trElm, 'dir');
+
+	// Setup form
+	addClassesToList('class', 'table_row_styles');
+	formObj.bgcolor.value = bgcolor;
+	formObj.backgroundimage.value = backgroundimage;
+	formObj.height.value = height;
+	formObj.id.value = id;
+	formObj.lang.value = lang;
+	formObj.style.value = tinyMCE.serializeStyle(st);
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'valign', valign);
+	selectByValue(formObj, 'class', className);
+	selectByValue(formObj, 'rowtype', rowtype);
+	selectByValue(formObj, 'dir', dir);
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	updateColor('bgcolor_pick', 'bgcolor');
+}
+
+function updateAction() {
+	tinyMCEPopup.restoreSelection();
+
+	var inst = tinyMCE.selectedInstance;
+	var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
+	var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+	var formObj = document.forms[0];
+	var action = getSelectValue(formObj, 'action');
+
+	inst.execCommand('mceBeginUndoLevel');
+
+	switch (action) {
+		case "row":
+			updateRow(trElm);
+			break;
+
+		case "all":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++)
+				updateRow(rows[i], true);
+
+			break;
+
+		case "odd":
+		case "even":
+			var rows = tableElm.getElementsByTagName("tr");
+
+			for (var i=0; i<rows.length; i++) {
+				if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even"))
+					updateRow(rows[i], true, true);
+			}
+
+			break;
+	}
+
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE.triggerNodeChange();
+	inst.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function updateRow(tr_elm, skip_id, skip_parent) {
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
+	var rowtype = getSelectValue(formObj, 'rowtype');
+	var doc = inst.getDoc();
+
+	// Update row element
+	if (!skip_id)
+		tr_elm.setAttribute('id', formObj.id.value);
+
+	tr_elm.setAttribute('align', getSelectValue(formObj, 'align'));
+	tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
+	tr_elm.setAttribute('lang', formObj.lang.value);
+	tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
+	tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
+	tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
+
+	// Clear deprecated attributes
+	tr_elm.setAttribute('background', '');
+	tr_elm.setAttribute('bgColor', '');
+	tr_elm.setAttribute('height', '');
+
+	// Set styles
+	tr_elm.style.height = getCSSSize(formObj.height.value);
+	tr_elm.style.backgroundColor = formObj.bgcolor.value;
+
+	if (formObj.backgroundimage.value != "")
+		tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')";
+	else
+		tr_elm.style.backgroundImage = '';
+
+	// Setup new rowtype
+	if (curRowType != rowtype && !skip_parent) {
+		// first, clone the node we are working on
+		var newRow = tr_elm.cloneNode(1);
+
+		// next, find the parent of its new destination (creating it if necessary)
+		var theTable = tinyMCE.getParentElement(tr_elm, "table");
+		var dest = rowtype;
+		var newParent = null;
+		for (var i = 0; i < theTable.childNodes.length; i++) {
+			if (theTable.childNodes[i].nodeName.toLowerCase() == dest)
+				newParent = theTable.childNodes[i];
+		}
+
+		if (newParent == null) {
+			newParent = doc.createElement(dest);
+
+			if (dest == "thead")
+				theTable.insertBefore(newParent, theTable.firstChild);
+			else
+				theTable.appendChild(newParent);
+		}
+
+		// append the row to the new parent
+		newParent.appendChild(newRow);
+
+		// remove the original
+		tr_elm.parentNode.removeChild(tr_elm);
+
+		// set tr_elm to the new node
+		tr_elm = newRow;
+	}
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/jscripts/table.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,364 @@
+var action, orgTableWidth, orgTableHeight;
+
+function insertTable() {
+	var formObj = document.forms[0];
+	var inst = tinyMCE.selectedInstance;
+	var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption;
+	var html = '', capEl;
+	var elm = tinyMCE.tableElm;
+	var cellLimit, rowLimit, colLimit;
+
+	if (!AutoValidator.validate(formObj)) {
+		alert(tinyMCE.getLang('lang_invalid_data'));
+		return false;
+	}
+
+	tinyMCEPopup.restoreSelection();
+
+	// Get form data
+	cols = formObj.elements['cols'].value;
+	rows = formObj.elements['rows'].value;
+	border = formObj.elements['border'].value != "" ? formObj.elements['border'].value  : 0;
+	cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
+	cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
+	align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
+	width = formObj.elements['width'].value;
+	height = formObj.elements['height'].value;
+	bordercolor = formObj.elements['bordercolor'].value;
+	bgcolor = formObj.elements['bgcolor'].value;
+	className = formObj.elements['class'].options[formObj.elements['class'].selectedIndex].value;
+	id = formObj.elements['id'].value;
+	summary = formObj.elements['summary'].value;
+	style = formObj.elements['style'].value;
+	dir = formObj.elements['dir'].value;
+	lang = formObj.elements['lang'].value;
+	background = formObj.elements['backgroundimage'].value;
+	caption = formObj.elements['caption'].checked;
+
+	cellLimit = tinyMCE.getParam('table_cell_limit', false);
+	rowLimit = tinyMCE.getParam('table_row_limit', false);
+	colLimit = tinyMCE.getParam('table_col_limit', false);
+
+	// Validate table size
+	if (colLimit && cols > colLimit) {
+		alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
+		return false;
+	} else if (rowLimit && rows > rowLimit) {
+		alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
+		return false;
+	} else if (cellLimit && cols * rows > cellLimit) {
+		alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
+		return false;
+	}
+
+	// Update table
+	if (action == "update") {
+		inst.execCommand('mceBeginUndoLevel');
+
+		tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
+		tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
+		tinyMCE.setAttrib(elm, 'border', border, true);
+		tinyMCE.setAttrib(elm, 'align', align);
+		tinyMCE.setAttrib(elm, 'class', className);
+		tinyMCE.setAttrib(elm, 'style', style);
+		tinyMCE.setAttrib(elm, 'id', id);
+		tinyMCE.setAttrib(elm, 'summary', summary);
+		tinyMCE.setAttrib(elm, 'dir', dir);
+		tinyMCE.setAttrib(elm, 'lang', lang);
+
+		capEl = elm.getElementsByTagName('caption')[0];
+
+		if (capEl && !caption)
+			capEl.parentNode.removeChild(capEl);
+
+		if (!capEl && caption) {
+			capEl = elm.ownerDocument.createElement('caption');
+			capEl.innerHTML = '&nbsp;';
+			elm.insertBefore(capEl, elm.firstChild);
+		}
+
+		// Not inline styles
+		if (!tinyMCE.getParam("inline_styles"))
+			tinyMCE.setAttrib(elm, 'width', width, true);
+
+		// Remove these since they are not valid XHTML
+		tinyMCE.setAttrib(elm, 'borderColor', '');
+		tinyMCE.setAttrib(elm, 'bgColor', '');
+		tinyMCE.setAttrib(elm, 'background', '');
+		tinyMCE.setAttrib(elm, 'height', '');
+
+		if (background != '')
+			elm.style.backgroundImage = "url('" + background + "')";
+		else
+			elm.style.backgroundImage = '';
+
+		if (tinyMCE.getParam("inline_styles"))
+			elm.style.borderWidth = border + "px";
+
+		if (tinyMCE.getParam("inline_styles")) {
+			if (width != '')
+				elm.style.width = getCSSSize(width);
+		}
+
+		if (bordercolor != "") {
+			elm.style.borderColor = bordercolor;
+			elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle;
+			elm.style.borderWidth = border == "" ? "1px" : border;
+		} else
+			elm.style.borderColor = '';
+
+		elm.style.backgroundColor = bgcolor;
+		elm.style.height = getCSSSize(height);
+
+		tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
+
+		// Fix for stange MSIE align bug
+		tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+		tinyMCE.triggerNodeChange();
+		inst.execCommand('mceEndUndoLevel');
+
+		// Repaint if dimensions changed
+		if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
+			inst.repaint();
+
+		tinyMCEPopup.close();
+		return true;
+	}
+
+	// Create new table
+	html += '<table';
+
+	html += makeAttrib('id', id);
+	html += makeAttrib('border', border);
+	html += makeAttrib('cellpadding', cellpadding);
+	html += makeAttrib('cellspacing', cellspacing);
+	html += makeAttrib('width', width);
+	//html += makeAttrib('height', height);
+	//html += makeAttrib('bordercolor', bordercolor);
+	//html += makeAttrib('bgcolor', bgcolor);
+	html += makeAttrib('align', align);
+	html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
+	html += makeAttrib('style', style);
+	html += makeAttrib('summary', summary);
+	html += makeAttrib('dir', dir);
+	html += makeAttrib('lang', lang);
+	html += '>';
+
+	if (caption)
+		html += '<caption>&nbsp;</caption>';
+
+	for (var y=0; y<rows; y++) {
+		html += "<tr>";
+
+		for (var x=0; x<cols; x++)
+			html += '<td>&nbsp;</td>';
+
+		html += "</tr>";
+	}
+
+	html += "</table>";
+
+	inst.execCommand('mceBeginUndoLevel');
+	inst.execCommand('mceInsertContent', false, html);
+	tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
+	inst.execCommand('mceEndUndoLevel');
+
+	tinyMCEPopup.close();
+}
+
+function makeAttrib(attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value == "")
+		return "";
+
+	// XML encode it
+	value = value.replace(/&/g, '&amp;');
+	value = value.replace(/\"/g, '&quot;');
+	value = value.replace(/</g, '&lt;');
+	value = value.replace(/>/g, '&gt;');
+
+	return ' ' + attrib + '="' + value + '"';
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
+	document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
+	document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
+
+	var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', '');
+	var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
+	var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
+	var inst = tinyMCE.selectedInstance;
+	var formObj = document.forms[0];
+	var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
+
+	tinyMCE.tableElm = elm;
+	action = tinyMCE.getWindowArg('action');
+	if (action == null)
+		action = tinyMCE.tableElm ? "update" : "insert";
+
+	if (tinyMCE.tableElm && action != "insert") {
+		var rowsAr = tinyMCE.tableElm.rows;
+		var cols = 0;
+		for (var i=0; i<rowsAr.length; i++)
+			if (rowsAr[i].cells.length > cols)
+				cols = rowsAr[i].cells.length;
+
+		cols = cols;
+		rows = rowsAr.length;
+
+		st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
+		border = trimSize(getStyle(elm, 'border', 'borderWidth'));
+		cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
+		cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
+		width = trimSize(getStyle(elm, 'width', 'width'));
+		height = trimSize(getStyle(elm, 'height', 'height'));
+		bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
+		bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
+		align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
+		className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
+		id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
+		summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
+		style = tinyMCE.serializeStyle(st);
+		dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
+		lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
+		background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+		formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0;
+
+		orgTableWidth = width;
+		orgTableHeight = height;
+
+		action = "update";
+	}
+
+	addClassesToList('class', "table_styles");
+
+	// Update form
+	selectByValue(formObj, 'align', align);
+	selectByValue(formObj, 'class', className);
+	formObj.cols.value = cols;
+	formObj.rows.value = rows;
+	formObj.border.value = border;
+	formObj.cellpadding.value = cellpadding;
+	formObj.cellspacing.value = cellspacing;
+	formObj.width.value = width;
+	formObj.height.value = height;
+	formObj.bordercolor.value = bordercolor;
+	formObj.bgcolor.value = bgcolor;
+	formObj.id.value = id;
+	formObj.summary.value = summary;
+	formObj.style.value = style;
+	formObj.dir.value = dir;
+	formObj.lang.value = lang;
+	formObj.backgroundimage.value = background;
+	formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); 
+
+	updateColor('bordercolor_pick', 'bordercolor');
+	updateColor('bgcolor_pick', 'bgcolor');
+
+	// Resize some elements
+	if (isVisible('backgroundimagebrowser'))
+		document.getElementById('backgroundimage').style.width = '180px';
+
+	// Disable some fields in update mode
+	if (action == "update") {
+		formObj.cols.disabled = true;
+		formObj.rows.disabled = true;
+	}
+}
+
+function changedSize() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	var width = formObj.width.value;
+	if (width != "")
+		st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
+	else
+		st['width'] = "";
+
+	var height = formObj.height.value;
+	if (height != "")
+		st['height'] = getCSSSize(height);
+	else
+		st['height'] = "";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBackgroundImage() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedBorder() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	// Update border width if the element has a color
+	if (formObj.border.value != "" && formObj.bordercolor.value != "")
+		st['border-width'] = formObj.border.value + "px";
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedColor() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	st['background-color'] = formObj.bgcolor.value;
+
+	if (formObj.bordercolor.value != "") {
+		st['border-color'] = formObj.bordercolor.value;
+
+		// Add border-width if it's missing
+		if (!st['border-width'])
+			st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
+	}
+
+	formObj.style.value = tinyMCE.serializeStyle(st);
+}
+
+function changedStyle() {
+	var formObj = document.forms[0];
+	var st = tinyMCE.parseStyle(formObj.style.value);
+
+	if (st['background-image'])
+		formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
+	else
+		formObj.backgroundimage.value = '';
+
+	if (st['width'])
+		formObj.width.value = trimSize(st['width']);
+
+	if (st['height'])
+		formObj.height.value = trimSize(st['height']);
+
+	if (st['background-color']) {
+		formObj.bgcolor.value = st['background-color'];
+		updateColor('bgcolor_pick','bgcolor');
+	}
+
+	if (st['border-color']) {
+		formObj.bordercolor.value = st['border-color'];
+		updateColor('bordercolor_pick','bordercolor');
+	}
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,79 @@
+// UK lang variables
+
+tinyMCE.addToLang('table',{
+general_tab : 'General',
+advanced_tab : 'Advanced',
+general_props : 'General properties',
+advanced_props : 'Advanced properties',
+desc : 'Inserts a new table',
+row_before_desc : 'Insert row before',
+row_after_desc : 'Insert row after',
+delete_row_desc : 'Delete row',
+col_before_desc : 'Insert column before',
+col_after_desc : 'Insert column after',
+delete_col_desc : 'Remove column',
+rowtype : 'Row in table part',
+title : 'Insert/Modify table',
+width : 'Width',
+height : 'Height',
+cols : 'Columns',
+rows : 'Rows',
+cellspacing : 'Cellspacing',
+cellpadding : 'Cellpadding',
+border : 'Border',
+align : 'Alignment',
+align_default : 'Default',
+align_left : 'Left',
+align_right : 'Right',
+align_middle : 'Center',
+row_title : 'Table row properties',
+cell_title : 'Table cell properties',
+cell_type : 'Cell type',
+row_desc : 'Table row properties',
+cell_desc : 'Table cell properties',
+valign : 'Vertical alignment',
+align_top : 'Top',
+align_bottom : 'Bottom',
+props_desc : 'Table properties',
+bordercolor : 'Border color',
+bgcolor : 'Background color',
+merge_cells_title : 'Merge table cells',
+split_cells_desc : 'Split table cells',
+merge_cells_desc : 'Merge table cells',
+cut_row_desc : 'Cut table row',
+copy_row_desc : 'Copy table row',
+paste_row_before_desc : 'Paste table row before',
+paste_row_after_desc : 'Paste table row after',
+id : 'Id',
+style: 'Style',
+langdir : 'Language direction',
+langcode : 'Language code',
+mime : 'Target MIME type',
+ltr : 'Left to right',
+rtl : 'Right to left',
+bgimage : 'Background image',
+summary : 'Summary',
+td : "Data",
+th : "Header",
+cell_cell : 'Update current cell',
+cell_row : 'Update all cells in row',
+cell_all : 'Update all cells in table',
+row_row : 'Update current row',
+row_odd : 'Update odd rows in table',
+row_even : 'Update even rows in table',
+row_all : 'Update all rows in table',
+thead : 'Table Head',
+tbody : 'Table Body',
+tfoot : 'Table Foot',
+del : 'Delete table',
+scope : 'Scope',
+row : 'Row',
+col : 'Col',
+rowgroup : 'Row Group',
+colgroup : 'Col Group',
+col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
+row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
+cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
+missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
+caption : 'Table caption'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/merge_cells.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,38 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_merge_cells_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
+<form onsubmit="insertTable();return false;" action="#">
+	<fieldset>
+		<legend>{$lang_table_merge_cells_title}</legend>
+		  <table border="0" cellpadding="0" cellspacing="3" width="100%">
+			  <tr>
+				<td>{$lang_table_cols}:</td>
+				<td align="right"><input type="text" name="numcols" value="" class="number min1" style="width: 30px" /></td>
+				<td>
+			  </tr>
+			  <tr>
+				<td>{$lang_table_rows}:</td>
+				<td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
+			  </tr>
+		  </table>
+	</fieldset>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/row.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,159 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_row_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
+	<link href="css/row.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="updateAction();return false;">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					<table border="0" cellpadding="4" cellspacing="0">
+						<tr>
+							<td><label for="rowtype">{$lang_table_rowtype}</label></td>
+							<td class="col2">
+								<select id="rowtype" name="rowtype">
+									<option value="thead">{$lang_table_thead}</option>
+									<option value="tbody">{$lang_table_tbody}</option>
+									<option value="tfoot">{$lang_table_tfoot}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="align">{$lang_table_align}</label></td>
+							<td class="col2">
+								<select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="valign">{$lang_table_valign}</label></td>
+							<td class="col2">
+								<select id="valign" name="valign">
+									<option value="">{$lang_not_set}</option>
+									<option value="top">{$lang_table_align_top}</option>
+									<option value="middle">{$lang_table_align_middle}</option>
+									<option value="bottom">{$lang_table_align_bottom}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr id="styleSelectRow">
+							<td><label for="class">{$lang_class_name}</label></td>
+							<td class="col2">
+								<select id="class" name="class">
+									<option value="" selected="selected">{$lang_not_set}</option>
+								</select>
+							</td>
+						</tr>
+
+						<tr>
+							<td><label for="height">{$lang_table_height}</label></td>
+							<td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" style="width: 200px"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" style="width: 200px" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div>
+				<select id="action" name="action">
+					<option value="row">{$lang_table_row_row}</option>
+					<option value="odd">{$lang_table_row_odd}</option>
+					<option value="even">{$lang_table_row_even}</option>
+					<option value="all">{$lang_table_row_all}</option>
+				</select>
+			</div>
+
+			<div style="float: left">
+				<div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/table/table.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,160 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_table_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
+	<link href="css/table.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<form onsubmit="insertTable();return false;" action="#">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
+				<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<fieldset>
+					<legend>{$lang_table_general_props}</legend>
+
+					  <table border="0" cellpadding="4" cellspacing="0" width="100%">
+							  <tr>
+								<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
+								<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+								<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
+								<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
+								<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
+								<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
+								<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
+							  </tr>
+							  <tr>
+								<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
+								<td><select id="align" name="align">
+									<option value="">{$lang_not_set}</option>
+									<option value="center">{$lang_table_align_middle}</option>
+									<option value="left">{$lang_table_align_left}</option>
+									<option value="right">{$lang_table_align_right}</option>
+								  </select></td>
+								<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
+								<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
+							  </tr>
+							  <tr id="width_row">
+								<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
+								<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+								<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
+								<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
+							  </tr>
+							  <tr id="styleSelectRow">
+								<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
+								<td colspan="3">
+								 <select id="class" name="class">
+									<option value="" selected>{$lang_not_set}</option>
+								 </select></td>
+							  </tr>
+							  <tr>
+								<td class="column1"><label for="caption">{$lang_table_caption}</label></td> 
+								<td><input id="caption" name="caption" type="checkbox" value="true" /></td> 
+							  </tr>
+							</table>
+				</fieldset>
+			</div>
+
+			<div id="advanced_panel" class="panel">
+				<fieldset>
+					<legend>{$lang_table_advanced_props}</legend>
+
+					<table border="0" cellpadding="0" cellspacing="4">
+						<tr>
+							<td class="column1"><label for="id">{$lang_table_id}</label></td> 
+							<td><input id="id" name="id" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="summary">{$lang_table_summary}</label></td> 
+							<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> 
+						</tr>
+
+						<tr>
+							<td><label for="style">{$lang_table_style}</label></td>
+							<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="dir">{$lang_table_langdir}</label></td> 
+							<td>
+								<select id="dir" name="dir" class="advfield"> 
+										<option value="">{$lang_not_set}</option> 
+										<option value="ltr">{$lang_table_ltr}</option> 
+										<option value="rtl">{$lang_table_rtl}</option> 
+								</select>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td> 
+							<td>
+								<input id="lang" name="lang" type="text" value="" class="advfield" />
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
+										<td id="backgroundimagebrowsercontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
+										<td id="bordercolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+
+						<tr>
+							<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td> 
+							<td>
+								<table border="0" cellpadding="0" cellspacing="0">
+									<tr>
+										<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
+										<td id="bgcolor_pickcontainer">&nbsp;</td>
+									</tr>
+								</table>
+							</td> 
+						</tr>
+					</table>
+				</fieldset>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/blank.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+	<script type="text/javascript">
+		var tinyMCE = parent.tinyMCE, css = tinyMCE.getParam("content_css").split(','), i, u;
+
+		// Load content CSS files
+		for (i=0; i<css.length; i++) {
+			u = css[i];
+
+			// Fix relative
+			if (u.charAt(0) != '/' && u.indexOf('://') == -1)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			document.write('<link href="' + u + '" rel="stylesheet" type="text/css" />');
+		}
+	</script>
+</head>
+<body id="mceTemplatePreview">
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/css/template.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+#frmbody {
+	padding: 10px;
+	background-color: #FFF;
+	border: 1px solid #CCC;
+}
+
+.frmRow {
+	margin-bottom: 10px;
+}
+
+#templatesrc {
+	border: none;
+	width: 320px;
+	height: 240px;
+}
+
+.title {
+	padding-bottom: 5px;
+}
+
+.mceActionPanel {
+	padding-top: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('template');var TinyMCE_TemplatePlugin={getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){var cdate,mdate,content,x=0,key,value,rvals,ds=inst.getData('template');cdate=tinyMCE.getParam("template_cdate_classes",'').split(/\s+/);mdate=tinyMCE.getParam("template_mdate_classes",'').split(/\s+/);content=tinyMCE.getParam("template_selected_content_classes",'').split(/\s+/);for(x=0;x<cdate.length;x++)TinyMCE_TemplatePlugin.functions[cdate[x]]=TinyMCE_TemplatePlugin.functions['cdate'];for(x=0;x<mdate.length;x++)TinyMCE_TemplatePlugin.functions[mdate[x]]=TinyMCE_TemplatePlugin.functions['mdate'];for(x=0;x<content.length;x++)TinyMCE_TemplatePlugin.functions[content[x]]=TinyMCE_TemplatePlugin.functions['selectedContent'];rvals=tinyMCE.getParam("template_replace_values",false);for(key in rvals){value=rvals[key];if(typeof value=="function")TinyMCE_TemplatePlugin.functions[key]=value;else TinyMCE_TemplatePlugin.functions[key]=TinyMCE_TemplatePlugin.functions['generateReplacer'](value)}rvals=tinyMCE.getParam("template_replace_values",false);ds.replace_items={};for(key in rvals)ds.replace_items[key]=rvals[key];inst.addShortcut('ctrl','t','lang_template_desc','mceTemplate');ds.currentAction="insert";ds.currentTmplNode=null},getControlHTML:function(cn){switch(cn){case"template":return tinyMCE.getButtonHTML(cn,'lang_template_desc','{$pluginurl}/images/template.gif','mceTemplate',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var nodeArray,current,newTmpl,x,inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template'),telm;switch(command){case"mceTemplate":if(user_interface){tinyMCE.openWindow({file:'../../plugins/template/template.htm',width:tinyMCE.getParam('template_popup_width',750),height:tinyMCE.getParam('template_popup_height',600)},{editor_id:editor_id,resizable:"yes",scrollbars:"no",pluginObj:TinyMCE_TemplatePlugin})}else{telm=TinyMCE_TemplatePlugin._convertToNode(value.body);nodeArray=tinyMCE.selectElements(telm,'div',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});telm=nodeArray.length>0?nodeArray[0]:null;nodeArray=[];if(ds.currentAction=="insert"){if(telm){tinyMCE.execCommand('mceBeginUndoLevel');ds.currentAction="insert-new";TinyMCE_TemplatePlugin._insertTemplate(editor_id,telm,value.title,value.tsrc,true);ds.currentAction=="insert";tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}else tinyMCE.execCommand('mceInsertContent',false,this._replaceValues(value.body))}else{nodeArray=TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);current=[];newTmpl=[];tinyMCE.getNodeTree(telm,newTmpl);for(x=0;x<nodeArray.length;x++)tinyMCE.getNodeTree(nodeArray[x],current);var _test=function(elm){var replaced=true;if(elm.className){var names=elm.className.split(/\s+/),c,n;for(c=0;c<names.length;c++){if(names[c].match(/^mce/i))continue;for(n=0;n<newTmpl.length;n++){replaced=false;if(newTmpl[n].className&&newTmpl[n].className.match(new RegExp(names[c],"gi"))){newTmpl[n].innerHTML=elm.innerHTML;replaced=true;break}}}}return replaced};var cont=true;var asked=false;for(x=0;x<current.length;x++){if(!_test(current[x])){cont=(asked||confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?","Proceed?"));asked=true;if(!cont)break}};if(cont){tinyMCE.execCommand('mceBeginUndoLevel');TinyMCE_TemplatePlugin._replaceTemplateContent(current[0],editor_id,telm,value.title,value.tsrc);tinyMCE.execCommand('mceEndUndoLevel');tinyMCE.execInstanceCommand(editor_id,'mceCleanup',false)}}tinyMCE.triggerNodeChange(true)}return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var inst=tinyMCE.getInstanceById(editor_id),ds=inst.getData('template');if(tinyMCE.hasCSSClass(node,TinyMCE_TemplatePlugin.TMPL_ELEMENT)||tinyMCE.hasCSSClass(node.parentNode,TinyMCE_TemplatePlugin.TMPL_ELEMENT)){tinyMCE.switchClass(editor_id+'_template','mceButtonSelected');ds.currentAction="update";ds.currentTmplNode=node;return true}ds.currentAction="insert";ds.currentTmplNode=null;tinyMCE.switchClass(editor_id+'_template','mceButtonNormal');return false},cleanup:function(type,content,inst){var nodes=[];switch(type){case"get_from_editor":content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->');content=content.replace(new RegExp('<div class="'+TinyMCE_TemplatePlugin.TMPL+'">(\s|&nbsp;|&#160;)?(<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->|\s)?</div>','gi'),'');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->');break;case"insert_to_editor":content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_BEGINS+' -->','gi'),'<div class="'+TinyMCE_TemplatePlugin.TMPL+'">');content=content.replace(new RegExp('<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' -->','gi'),'<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>');break;case"get_from_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break;case"insert_to_editor_dom":nodes=tinyMCE.selectNodes(content,function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL_ELEMENT)});TinyMCE_TemplatePlugin._applyFunctions(nodes,type);break}return content},_convertToNode:function(html){var elm=document.createElement('div');elm.innerHTML=html;return elm},_prepareTemplateContent:function(elms){var x,n,nodes=[];if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++)tinyMCE.getNodeTree(elms[x],nodes,1);for(n=0;n<nodes.length;n++){tinyMCE.addCSSClass(nodes[n],TinyMCE_TemplatePlugin.TMPL_ELEMENT);TinyMCE_TemplatePlugin._applyFunctions(nodes[n],TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)}return elms},_replaceValues:function(s){var t=this,ds=tinyMCE.selectedInstance.getData('template');return s.replace(/\{\$([^\}]+)\}/g,function(a,b){var it=ds.replace_items[b];if(it){if(typeof(it)!='function')return it}return b})},_applyFunctions:function(elms,editor_event){var x,elm,names,c,f;if(!elms)return{};if(!elms.length)elms=[elms];for(x=0;x<elms.length;x++){elm=elms[x];if(elm.className){names=elm.className.split(/\s+/);for(c=0;c<names.length;c++){if(names[c]==TinyMCE_TemplatePlugin.TMPL_ELEMENT)continue;f=(TinyMCE_TemplatePlugin.functions[names[c]]?TinyMCE_TemplatePlugin.functions[names[c]]:TinyMCE_TemplatePlugin.functions['blank']);f(elm,editor_event)}}}return elms},_collectTemplateElements:function(node){var nodeArray=[],p;p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)tinyMCE.getNodeTree(p,nodeArray);return nodeArray},_replaceTemplateContent:function(currentNode,editor_id,newTemplate,title,tsrc){TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);TinyMCE_TemplatePlugin._insertTemplate(editor_id,newTemplate,title,tsrc,false)},_deleteTemplateContent:function(node){var p=tinyMCE.getParentElement(node,'DIV',function(n){return tinyMCE.hasCSSClass(n,TinyMCE_TemplatePlugin.TMPL)});if(p)p.parentNode.removeChild(p,true)},_insertTemplate:function(editor_id,elm,title,tsrc,incComments){var html;TinyMCE_TemplatePlugin._prepareTemplateContent(elm);html='<div class="'+TinyMCE_TemplatePlugin.TMPL+'">';html+=elm.innerHTML;html+='<!-- '+TinyMCE_TemplatePlugin.TMPL_ENDS+' --></div>';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,html)},functions:{blank:function(elm,editor_event){},cdate:function(elm,editor_event){var d,dsrc;if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;d=new Date();dsrc=elm.innerHTML.match(new RegExp("<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":(.*)  -->","gi"));if(dsrc)d=new Date(RegExp.$1);elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_cdate_format",tinyMCE.getLang("lang_template_def_date_format")));elm.innerHTML+="<!-- "+TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR+":"+d.toUTCString()+"  -->"},mdate:function(elm,editor_event){var d=new Date();elm.innerHTML=TinyMCE_TemplatePlugin._getDateTime(d,tinyMCE.getParam("template_mdate_format",tinyMCE.getLang("lang_template_def_date_format")))},selectedContent:function(elm,editor_event){var ds=tinyMCE.selectedInstance.getData('template');if(editor_event!=TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)return;if(ds.currentAction=="insert-new"&&!tinyMCE.hasCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)){elm.innerHTML=tinyMCE.selectedInstance.selection.getSelectedHTML();tinyMCE.addCSSClass(elm,TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)}},generateReplacer:function(s){return function(elm,editor_event){elm.innerHTML=""+s}}},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length<len){for(i=0;i<(len-value.length);i++)value="0"+value}return value}fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);fmt=fmt.replace("%b",""+tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);fmt=fmt.replace("%A",""+tinyMCE.getLang("lang_template_day_long")[d.getDay()]);fmt=fmt.replace("%a",""+tinyMCE.getLang("lang_template_day_short")[d.getDay()]);fmt=fmt.replace("%%","%");return fmt},TMPL_ELEMENT:'mceTmplElm',TMPL:'mceTmpl',TMPL_BEGINS:'mceTmplBegins',TMPL_SEL_HTML_DONE:'mceSelHTMLDone',TMPL_ENDS:'mceTmplEnds',TMPL_DATE_SRC_ATTR:'mcetmpldtesrc',TMPL_TEMPLATE_EVENT:'prepare_template'};tinyMCE.addPlugin("template",TinyMCE_TemplatePlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,551 @@
+/**
+ * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+tinyMCE.importPluginLanguagePack('template');
+
+var TinyMCE_TemplatePlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Template plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://www.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		var cdate, mdate, content, x = 0, key, value, rvals, ds = inst.getData('template');
+
+		// ensure the required elements and sttributes are added
+		//inst.cleanup.addRuleStr('*[' + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + '],div[title,tsrc]');
+
+		//setup template content functions
+		// creation date and modified date classes
+		cdate = tinyMCE.getParam("template_cdate_classes", '').split(/\s+/);
+		mdate = tinyMCE.getParam("template_mdate_classes", '').split(/\s+/);
+
+		// classes that specify where selected content should go
+		content = tinyMCE.getParam("template_selected_content_classes", '').split(/\s+/);
+
+		for (x = 0; x < cdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[cdate[x]] = TinyMCE_TemplatePlugin.functions['cdate'];	
+
+		for (x = 0; x < mdate.length; x++)
+			TinyMCE_TemplatePlugin.functions[mdate[x]] = TinyMCE_TemplatePlugin.functions['mdate'];
+
+		for (x = 0; x < content.length; x++)
+			TinyMCE_TemplatePlugin.functions[content[x]] = TinyMCE_TemplatePlugin.functions['selectedContent'];
+
+		// special template functions for replacing template content
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		for (key in rvals) {
+			value = rvals[key];
+
+			if (typeof value == "function")
+				TinyMCE_TemplatePlugin.functions[key] = value;
+			else
+				TinyMCE_TemplatePlugin.functions[key] = TinyMCE_TemplatePlugin.functions['generateReplacer'](value);
+		}
+
+		// Setup replace_items
+		rvals = tinyMCE.getParam("template_replace_values", false);
+		ds.replace_items = {};
+
+		for (key in rvals)
+			ds.replace_items[key] = rvals[key];
+
+		inst.addShortcut('ctrl', 't', 'lang_template_desc', 'mceTemplate');
+
+		// Setup data storage
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "template":
+				return tinyMCE.getButtonHTML(cn, 'lang_template_desc', '{$pluginurl}/images/template.gif', 'mceTemplate', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var nodeArray, current, newTmpl, x, inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template'), telm;
+
+		switch (command) {
+			case "mceTemplate":
+				if (user_interface) {
+					// called from toolbar button - show the popup
+					tinyMCE.openWindow({
+						file : '../../plugins/template/template.htm', // Relative to theme
+						width : tinyMCE.getParam('template_popup_width', 750),
+						height : tinyMCE.getParam('template_popup_height', 600)
+					}, {editor_id : editor_id, resizable : "yes", scrollbars : "no", pluginObj : TinyMCE_TemplatePlugin});
+				} else {
+					// internal command do the template stuff
+
+					// get the returned HTML string from the pop-up and appened it to a DIV element
+					telm = TinyMCE_TemplatePlugin._convertToNode(value.body);
+
+					// Find template body
+					nodeArray = tinyMCE.selectElements(telm, 'div', function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+					});
+
+					telm = nodeArray.length > 0 ? nodeArray[0] : null;
+					nodeArray = [];
+
+					if (ds.currentAction == "insert") {
+						//insert new template after applying all the template content functions
+
+						// Is it a template or snippet
+						if (telm) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							ds.currentAction = "insert-new";
+							TinyMCE_TemplatePlugin._insertTemplate(editor_id, telm, value.title, value.tsrc, true);
+							ds.currentAction == "insert";
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						} else
+							tinyMCE.execCommand('mceInsertContent', false, this._replaceValues(value.body));
+					} else {
+						// First collect the selected template in the editor
+						nodeArray = TinyMCE_TemplatePlugin._collectTemplateElements(ds.currentTmplNode);
+						current = [];
+						newTmpl = [];
+						tinyMCE.getNodeTree(telm, newTmpl);
+
+						for (x=0; x<nodeArray.length; x++)
+							tinyMCE.getNodeTree(nodeArray[x], current);
+
+						/** 
+						 * inner function used in the loop below.
+						 * compares the supplied HTML element to the new template to:
+						 * - find a match with the new template and copy the element's content over
+						 * - find no match and indicate content will be lost
+						 */
+						var _test = function(elm) {
+							var replaced = true;
+
+							if (elm.className) {
+								var names = elm.className.split(/\s+/), c, n;
+
+								for (c = 0; c<names.length; c++) {
+									if (names[c].match(/^mce/i))
+										continue; // ignore all internal class names
+
+									for (n=0; n<newTmpl.length; n++){
+										replaced = false;
+
+										if (newTmpl[n].className && newTmpl[n].className.match(new RegExp(names[c], "gi"))) {
+											newTmpl[n].innerHTML = elm.innerHTML;
+											//if(tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR,"") != "") {
+											//	tinyMCE.setAttrib(newTmpl[n], TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR, tinyMCE.getAttrib(elm,TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR)); 
+											//}
+											replaced = true;
+											break;
+										}
+
+									}
+								}
+							}
+	
+							return replaced;
+						};
+
+						// comparison loop - first mis-match alerts user for confirmation.
+						var cont = true;
+						var asked = false;
+
+						for (x = 0; x < current.length; x++) {
+							if(!_test(current[x])) {
+								cont = (asked || confirm("The new template has less elements than the currently selected content.\nIf you proceed you will loose content.\nAre you sure you want to proceed?", "Proceed?"));
+								asked = true;
+
+								if (!cont)
+									break;
+							}
+						};
+
+						// apply replacement if allowed to
+						if (cont) {
+							tinyMCE.execCommand('mceBeginUndoLevel');
+							TinyMCE_TemplatePlugin._replaceTemplateContent(current[0], editor_id, telm, value.title, value.tsrc);
+							tinyMCE.execCommand('mceEndUndoLevel');
+							tinyMCE.execInstanceCommand(editor_id, 'mceCleanup', false);
+						}
+					}
+
+					tinyMCE.triggerNodeChange(true);
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
+		var inst = tinyMCE.getInstanceById(editor_id), ds = inst.getData('template');
+
+		if (tinyMCE.hasCSSClass(node, TinyMCE_TemplatePlugin.TMPL_ELEMENT) || tinyMCE.hasCSSClass(node.parentNode, TinyMCE_TemplatePlugin.TMPL_ELEMENT)) {
+			tinyMCE.switchClass(editor_id + '_template', 'mceButtonSelected');
+			ds.currentAction = "update";
+			ds.currentTmplNode = node;
+
+			return true;
+		}
+
+		ds.currentAction = "insert";
+		ds.currentTmplNode = null;
+		tinyMCE.switchClass(editor_id + '_template', 'mceButtonNormal');
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		var nodes = [];
+
+		switch (type) {
+			case "get_from_editor":
+				// replace the opening wrapper div tag with a HTML comment
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->'
+				);
+
+				// delete any empty template wrappers
+				content = content.replace(
+					new RegExp('<div class="' + TinyMCE_TemplatePlugin.TMPL + '">(\s|&nbsp;|&#160;)?(<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->|\s)?</div>', 'gi'),
+					''
+				);
+
+				// replace the closing wrapper tag
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->'
+				);
+
+				break;
+
+			case "insert_to_editor":
+				// replace HTML comment with DIV wrapper
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_BEGINS + ' -->', 'gi'),
+					'<div class="' + TinyMCE_TemplatePlugin.TMPL + '">'
+				);
+
+				content = content.replace(
+					new RegExp('<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' -->', 'gi'),
+					'<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>'
+				);
+
+				break;
+
+			case "get_from_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+
+			case "insert_to_editor_dom":
+				// apply template content replacement functions
+				nodes = tinyMCE.selectNodes(content, function(n) {
+						return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+					}
+				);
+
+				TinyMCE_TemplatePlugin._applyFunctions(nodes, type);
+
+				break;
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	/**
+	 * Creates a HTML DIV element and sets the innerHTML to equal the temlate innerHTML so that the template can be manipulated as DOM nodes.
+	 *
+	 * @param {string} Template innerHTML
+	 * @return a HTML Element
+	 * @type HTMLElement
+	 */
+	_convertToNode : function(html) {
+		var elm = document.createElement('div');
+
+		elm.innerHTML = html;
+
+		return elm;
+	},
+
+	/**
+	 * pass an array of template html elements and they will have the template class name added and any template functions applied
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_prepareTemplateContent : function(elms) {
+		var x, n, nodes = [];
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for (x = 0; x<elms.length; x++)
+			tinyMCE.getNodeTree(elms[x], nodes, 1);
+
+		for (n = 0; n<nodes.length; n++) {
+			tinyMCE.addCSSClass(nodes[n], TinyMCE_TemplatePlugin.TMPL_ELEMENT);
+			TinyMCE_TemplatePlugin._applyFunctions(nodes[n], TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT);
+		}
+
+		return elms;
+	},
+
+	_replaceValues : function(s) {
+		var t = this, ds = tinyMCE.selectedInstance.getData('template');
+
+		return s.replace(/\{\$([^\}]+)\}/g, function(a, b) {
+			var it = ds.replace_items[b];
+
+			if (it) {
+				// Only supports text for now
+				if (typeof(it) != 'function')
+					return it;
+			}
+
+			return b;
+		});
+	},
+
+	/**
+	 * Applies any special functions to the template elements
+	 *
+	 * @param {array} template HTML elements
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_applyFunctions : function(elms, editor_event) {
+		var x, elm, names, c, f;
+
+		if (!elms)
+			return {};
+
+		if (!elms.length)
+			elms = [elms];
+
+		for(x = 0; x < elms.length; x++) {
+			elm = elms[x];
+
+			if (elm.className){
+				names = elm.className.split(/\s+/);
+
+				for (c = 0; c < names.length; c++){
+					if (names[c] == TinyMCE_TemplatePlugin.TMPL_ELEMENT)
+						continue;
+
+					f = (TinyMCE_TemplatePlugin.functions[names[c]] ? TinyMCE_TemplatePlugin.functions[names[c]] : TinyMCE_TemplatePlugin.functions['blank']);
+					f(elm, editor_event);
+				}
+			}
+		}
+
+		return elms;
+	},
+
+	/**
+	 * Given one node reference this function will collect all the nodes of the template to which it belongs.
+	 * It does this by finding the parent template wrapper DIV and returning all child nodes.
+	 *
+	 * @param {HTMLElement} a HTMLElement which is part of a template
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_collectTemplateElements : function(node) {
+		var nodeArray = [], p;
+
+		p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			tinyMCE.getNodeTree(p, nodeArray);
+
+		return nodeArray;
+	},
+
+	/**
+	 * Simply calls TinyMCE_TemplatePlugin._deleteTemplateContent and then TinyMCE_TemplatePlugin._insertTemplate
+	 *
+	 * @param {HTMLElement} currently selected template node in editor
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 * @return array of template HTML elements
+	 * @type array
+	 */
+	_replaceTemplateContent : function(currentNode, editor_id, newTemplate, title, tsrc) {
+		TinyMCE_TemplatePlugin._deleteTemplateContent(currentNode);
+		TinyMCE_TemplatePlugin._insertTemplate(editor_id, newTemplate, title, tsrc, false);
+	},
+
+	/**
+	 * Deletes a template from the editor content
+	 * Finds the parent DIV wrapper and deletes it and all children
+	 * @param {HTMLElement} currently selected template node in editor
+	 */
+	_deleteTemplateContent : function(node) {
+		var p = tinyMCE.getParentElement(node, 'DIV', function(n) {
+			return tinyMCE.hasCSSClass(n, TinyMCE_TemplatePlugin.TMPL);
+		});
+
+		if (p)
+			p.parentNode.removeChild(p, true);
+	},
+
+	/**
+	 *  Inserts a template into the specified editor
+	 *
+	 * @param {string} id of editor instance
+	 * @param {HTMLElement} template contents as a HTMLElement (the parent DIV wrapper)
+	 * @param {string} title of template (unused as yet)
+	 * @param {string} source URI of the template file (unused as yet)
+	 */
+	_insertTemplate : function(editor_id, elm, title, tsrc, incComments) {
+		var html;
+
+		TinyMCE_TemplatePlugin._prepareTemplateContent(elm);
+
+		html = '<div class="' + TinyMCE_TemplatePlugin.TMPL + '">';
+		html += elm.innerHTML;
+		html += '<!-- ' + TinyMCE_TemplatePlugin.TMPL_ENDS + ' --></div>';
+
+		tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, html);
+	},
+
+	/**
+	 * template functions - functions for modifying template content
+	 */
+	functions : { 
+		blank : function(elm, editor_event) {},
+
+		cdate : function(elm, editor_event) {
+			var d, dsrc;
+
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			d = new Date();
+			// find out if the creation date was previously stored
+			dsrc = elm.innerHTML.match(new RegExp("<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":(.*)  -->", "gi"));
+
+			if (dsrc)
+				d = new Date(RegExp.$1);
+
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_cdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+			//now we have to store the date value in a format easily read again, in case a future template change changes the date format...
+			elm.innerHTML += "<!-- " + TinyMCE_TemplatePlugin.TMPL_DATE_SRC_ATTR + ":" + d.toUTCString() + "  -->";
+		},
+
+		mdate : function(elm, editor_event) {
+			var d = new Date();
+			elm.innerHTML = TinyMCE_TemplatePlugin._getDateTime(d, tinyMCE.getParam("template_mdate_format", tinyMCE.getLang("lang_template_def_date_format")));
+		},
+
+		/**
+		 * This will insert the currently selected editor content into the template element.
+		 * It only does this if the template inserted is a new one and if the element does not have the special class.
+		 * The special class name prevents this from happening more than once.
+		 */
+		selectedContent : function(elm, editor_event) {
+			var ds = tinyMCE.selectedInstance.getData('template');
+	
+			if (editor_event != TinyMCE_TemplatePlugin.TMPL_TEMPLATE_EVENT)
+				return;
+
+			if (ds.currentAction == "insert-new" && !tinyMCE.hasCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE)) {
+				elm.innerHTML = tinyMCE.selectedInstance.selection.getSelectedHTML();
+				tinyMCE.addCSSClass(elm, TinyMCE_TemplatePlugin.TMPL_SEL_HTML_DONE);
+			}
+		},
+
+		/**
+		 * When the plugin is initialised this generates the functions that insert configured strings into template elements.
+		 */
+		generateReplacer : function(s) {
+			return function(elm, editor_event) {elm.innerHTML = "" + s;};
+		}
+	},
+
+	/**
+	 * formats a date according to the format string - straight from the 'insert date/time' plugin
+	 *
+	 * @param {Date} date object
+	 * @param {string} format string
+	 * @return formatted date
+	 * @type string
+	 */
+	_getDateTime : function(d,fmt) {
+			if (!fmt)
+				return "";
+
+			function addZeros(value, len) {
+				var i;
+
+				value = "" + value;
+
+				if (value.length < len) {
+					for (i=0; i<(len-value.length); i++)
+						value = "0" + value;
+				}
+
+				return value;
+			}
+
+			fmt = fmt.replace("%D", "%m/%d/%y");
+			fmt = fmt.replace("%r", "%I:%M:%S %p");
+			fmt = fmt.replace("%Y", "" + d.getFullYear());
+			fmt = fmt.replace("%y", "" + d.getYear());
+			fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+			fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+			fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+			fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+			fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+			fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+			fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+			fmt = fmt.replace("%B", "" + tinyMCE.getLang("lang_template_months_long")[d.getMonth()]);
+			fmt = fmt.replace("%b", "" + tinyMCE.getLang("lang_template_months_short")[d.getMonth()]);
+			fmt = fmt.replace("%A", "" + tinyMCE.getLang("lang_template_day_long")[d.getDay()]);
+			fmt = fmt.replace("%a", "" + tinyMCE.getLang("lang_template_day_short")[d.getDay()]);
+			fmt = fmt.replace("%%", "%");
+
+			return fmt;
+	},
+
+	TMPL_ELEMENT : 'mceTmplElm',
+	TMPL : 'mceTmpl',
+	TMPL_BEGINS : 'mceTmplBegins',
+	TMPL_SEL_HTML_DONE : 'mceSelHTMLDone',
+	TMPL_ENDS : 'mceTmplEnds',
+	TMPL_DATE_SRC_ATTR : 'mcetmpldtesrc',
+	TMPL_TEMPLATE_EVENT : 'prepare_template'
+};
+
+tinyMCE.addPlugin("template", TinyMCE_TemplatePlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/images/template.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/jscripts/template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,143 @@
+// Import external list url javascript
+var url = tinyMCE.getParam("template_external_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+var TPU = { //Template Popup Utils
+	currentTemplateHTML : null,
+	templates : [],
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	plugin : tinyMCE.getWindowArg('pluginObj'),
+	data : tinyMCE.selectedInstance.getData('template'),
+
+ 	init : function() {
+ 		document.forms[0].insert.value = tinyMCE.getLang('lang_' + this.data.currentAction, 'Insert', true); 
+		TPU.loadTemplatePaths();
+
+		if (this.data.currentAction == "update")
+			document.getElementById('warning').innerHTML = tinyMCE.getLang('lang_template_warning');
+
+		this.resizeInputs();
+	},
+
+ 	loadTemplatePaths : function() {
+		var tsrc, sel, x, u;
+
+ 		tsrc = tinyMCE.getParam("template_templates", false);
+ 		sel = document.getElementById('tpath');
+
+		// Setup external template list
+		if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') {
+			for (x=0, tsrc = []; x<tinyMCETemplateList.length; x++)
+				tsrc.push({title : tinyMCETemplateList[x][0], src : tinyMCETemplateList[x][1], description : tinyMCETemplateList[x][2]});
+		}
+
+		for (x=0; x<tsrc.length; x++) {
+			u = tsrc[x].src;
+
+			// Force absolute
+			if (u.indexOf('://') == -1 && u.indexOf('/') != 0)
+				u = tinyMCE.documentBasePath + "/" + u;
+
+			tsrc[x].src = u;
+		}
+
+		TPU.templates = tsrc;
+
+		for (x = 0; x < tsrc.length; x++)
+			sel.options[sel.options.length] = new Option(tsrc[x].title, tsrc[x].src);
+	},
+
+ 	selectTemplate : function(o) {
+		var x, d = window.frames['templatesrc'].document;
+
+		this.currentTemplateHTML = this.plugin._replaceValues(this.getFileContents(o.value));
+
+		// Force complete document
+		if (!/<body/gi.test(this.currentTemplateHTML)) {
+			this.currentTemplateHTML = '<html xmlns="http://www.w3.org/1999/xhtml">' + 
+				'<head>' + 
+					'<title>blank_page</title>' + 
+					'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' + 
+				'</head>' + 
+				'<body>' + 
+				this.currentTemplateHTML + 
+				'</body>' + 
+				'</html>';
+		}
+
+		// Write HTML to preview iframe
+		d.body.innerHTML = this.currentTemplateHTML;
+
+		// Display description
+ 		for (x = 0; x < TPU.templates.length; x++) {
+			if (TPU.templates[x].src == o.value) {
+				document.getElementById('tmpldesc').innerHTML = TPU.templates[x].description;
+				break;
+			}
+		}
+ 	},
+
+ 	insertTemplate : function() {
+		var sel, opt;
+
+		sel = document.getElementById('tpath');
+		opt = sel.options[sel.selectedIndex];
+
+		// Is it a template or snippet
+		if (TPU.currentTemplateHTML.indexOf('mceTmpl'))
+			tinyMCEPopup.execCommand('mceTemplate', false, {title : opt.text, tsrc : opt.value, body : TPU.currentTemplateHTML});
+		else
+			tinyMCEPopup.execCommand('mceInsertContent', false, TPU.currentTemplateHTML);
+
+		tinyMCEPopup.close();
+	},
+
+	getFileContents : function(u) {
+		var x, d, t = 'text/plain';
+
+		function g(s) {
+			x = 0;
+
+			try {
+				x = new ActiveXObject(s);
+			} catch (s) {
+			}
+
+			return x;
+		};
+
+		x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest();
+
+		// Synchronous AJAX load file
+		x.overrideMimeType && x.overrideMimeType(t);
+		x.open("GET", u, false);
+		x.send(null);
+
+		return x.responseText;
+	},
+
+	resizeInputs : function() {
+		var wHeight, wWidth, elm;
+
+		if (!self.innerWidth) {
+			wHeight = document.body.clientHeight - 160;
+			wWidth = document.body.clientWidth - 40;
+		} else {
+			wHeight = self.innerHeight - 160;
+			wWidth = self.innerWidth - 40;
+		}
+
+		elm = document.getElementById('templatesrc');
+
+		if (elm) {
+			elm.style.height = Math.abs(wHeight) + 'px';
+			elm.style.width  = Math.abs(wWidth - 5) + 'px';
+		}
+	}
+};

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+// UK lang variables
+
+tinyMCE.addToLang('template',{
+title : 'Templates',
+label : 'Template',
+desc_label : 'Description',
+desc : 'Insert predefined template content',
+select : 'Select a template',
+preview : 'Preview',
+warning : 'Warning: Updating a template with a different one may cause data loss.',
+def_date_format : '%Y-%m-%d %H:%M:%S',
+months_long : new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"),
+months_short : new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
+day_long : new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"),
+day_short : new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun")
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/template/template.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,37 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_template_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/template.js"></script>
+	<link href="css/template.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('TPU.init();');" onresize="TPU.resizeInputs();"> 
+	<form onsubmit="insert();return false;">
+		<div id="frmbody">
+			<div class="title">{$lang_template_desc}</div>
+			<div class="frmRow"><label for="tpath" title="{$lang_template_select}">{$lang_template_label}:</label>
+			<select id="tpath" name="tpath" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="TPU.selectTemplate(this.options[this.selectedIndex]);">
+				<option value="">{$lang_template_select}...</option>
+			</select>
+			<span id="warning"></span></div>
+			<div class="frmRow"><label for="tdesc">{$lang_template_desc_label}:</label>
+			<span id="tmpldesc"></span></div>
+			<fieldset>
+				<legend>{$lang_template_preview}</legend>
+				<iframe id="templatesrc" name="templatesrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe>
+			</fieldset>
+		</div>
+		
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="TPU.insertTemplate();" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+	</form>
+</body> 
+</html> 

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('visualchars');var TinyMCE_VisualCharsPlugin={getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){inst.visualChars={state:false}},getControlHTML:function(cn){switch(cn){case"visualchars":return tinyMCE.getButtonHTML(cn,'lang_visualchars_desc','{$pluginurl}/images/visualchars.gif','mceVisualChars',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"mceVisualChars":this._toggleVisualChars(editor_id,inst);return true}return false},cleanup:function(type,content,inst){if(type=="insert_to_editor_dom"||type=="get_from_editor_dom"){inst.visualChars.state=true;this._toggleVisualChars(inst.editorId,inst)}return content},_toggleVisualChars:function(editor_id,inst){var nl,i,h,d=inst.getDoc(),b=inst.getBody(),nv,s=inst.selection,bo;inst.visualChars.state=!inst.visualChars.state;bo=s.getBookmark(true);tinyMCE.switchClass(editor_id+'_visualchars',inst.visualChars.state?'mceButtonSelected':'mceButtonNormal');if(inst.visualChars.state){nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1});for(i=0;i<nl.length;i++){nv=nl[i].nodeValue;nv=nv.replace(/(\u00a0+)/g,'<span class="mceItemHiddenVisualChar">$1</span>');nv=nv.replace(/\u00a0/g,'\u00b7');tinyMCE.setOuterHTML(nl[i],nv,d)}}else{nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==1&&n.nodeName=='SPAN'&&n.className=='mceItemHiddenVisualChar'});for(i=0;i<nl.length;i++)tinyMCE.setOuterHTML(nl[i],nl[i].innerHTML.replace(/(&middot;|\u00b7)/g,'&nbsp;'),d)}}};tinyMCE.addPlugin("visualchars",TinyMCE_VisualCharsPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,89 @@
+/**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('visualchars');
+
+var TinyMCE_VisualCharsPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Visual characters',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		inst.visualChars = {
+			state : false
+		};
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "visualchars":
+				return tinyMCE.getButtonHTML(cn, 'lang_visualchars_desc', '{$pluginurl}/images/visualchars.gif', 'mceVisualChars', false);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		switch (command) {
+			case "mceVisualChars":
+				this._toggleVisualChars(editor_id, inst);
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == "insert_to_editor_dom" || type == "get_from_editor_dom") {
+			inst.visualChars.state = true;
+			this._toggleVisualChars(inst.editorId, inst);
+		}
+
+		return content;
+	},
+
+	// Private plugin internal methods
+
+	_toggleVisualChars : function(editor_id, inst) {
+		var nl, i, h, d = inst.getDoc(), b = inst.getBody(), nv, s = inst.selection, bo;
+
+		inst.visualChars.state = !inst.visualChars.state;
+
+		bo = s.getBookmark(true);
+
+		tinyMCE.switchClass(editor_id + '_visualchars', inst.visualChars.state ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (inst.visualChars.state) {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1;});
+
+			for (i=0; i<nl.length; i++) {
+				nv = nl[i].nodeValue;
+				nv = nv.replace(/(\u00a0+)/g, '<span class="mceItemHiddenVisualChar">$1</span>');
+				nv = nv.replace(/\u00a0/g, '\u00b7');
+				tinyMCE.setOuterHTML(nl[i], nv, d);
+			}
+		} else {
+			nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';});
+
+			for (i=0; i<nl.length; i++)
+				tinyMCE.setOuterHTML(nl[i], nl[i].innerHTML.replace(/(&middot;|\u00b7)/g, '&nbsp;'), d);
+		}
+
+		//s.moveToBookmark(bo);
+	}
+};
+
+tinyMCE.addPlugin("visualchars", TinyMCE_VisualCharsPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/images/visualchars.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/visualchars/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+// EN lang variables
+
+tinyMCE.addToLang('visualchars',{
+desc : 'Visual control characters on/off.'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_abbr_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/abbr.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAbbr();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAbbr();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAbbr();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_acronym_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/acronym.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAcronym();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAcronym();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAcronym();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,153 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_attribs_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/attributes.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/attributes.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAction();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_attrib_tab}</a></span></li>
+			<li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_events_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
+						<td>
+							<select id="classlist" name="classlist" class="mceEditableSelect">
+								<option value="" selected>{$lang_not_set}</option>
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" />
+						</td> 
+					</tr>
+					<tr>
+							<td><label id="tabindexlabel" for="tabindex">{$lang_xhtmlxtras_attribute_label_tabindex}</label></td>
+							<td><input type="text" id="tabindex" name="tabindex" value="" /></td>
+						</tr>
+
+						<tr>
+							<td><label id="accesskeylabel" for="accesskey">{$lang_xhtmlxtras_attribute_label_accesskey}</label></td>
+							<td><input type="text" id="accesskey" name="accesskey" value="" /></td>
+						</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_attribute_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,148 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_cite_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/cite.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertCite();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertCite();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeCite();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+	height: 290px;
+}
+
+#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey {
+	width: 200px;
+}
+
+#events_panel input {
+	width: 200px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,46 @@
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important;  cursor: default;  background-color: #B6BDD2;}
+
+img {
+	border: 0;
+}
+
+input.field, select.field {
+	width: 200px;
+}
+
+input.picker {
+	width: 179px;
+	margin-left: 5px;
+}
+
+input.disabled {
+	border-color: #F2F2F2;
+}
+
+img.picker {
+	vertical-align: text-bottom;
+	cursor: pointer;
+}
+
+h1 {
+	padding: 0 0 5px 0;
+}
+
+#remove {
+	font-weight: bold;
+	width: 90px;
+	height: 21px;
+	border: 0px;
+	background-image: url('../images/remove_button_bg.gif');
+	cursor: pointer;
+	margin-left: 3px;
+}
+
+.panel_wrapper div.current {
+	height: 160px;
+}
+
+#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {
+	height: 220px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,24 @@
+ins {
+	border-bottom: 1px solid green;
+	text-decoration: none;
+	color: green;
+}
+
+del {
+	color: Red;
+	text-decoration: line-through;
+}
+
+cite {
+	border-bottom: 1px dashed blue;
+}
+
+acronym {
+	border-bottom: 1px dotted #CCC;
+	cursor: help;
+}
+
+abbr, html\:abbr {
+	border-bottom: 1px dashed #CCC;
+	cursor: help;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/del.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_del_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/del.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertDel();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertDel();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeDel();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importPluginLanguagePack('xhtmlxtras');var TinyMCE_XHTMLXtrasPlugin={getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},initInstance:function(inst){tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/xhtmlxtras/css/xhtmlxtras.css")},getControlHTML:function(cn){switch(cn){case"cite":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_cite_desc','{$pluginurl}/images/cite.gif','mceCite',true);case"acronym":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_acronym_desc','{$pluginurl}/images/acronym.gif','mceAcronym',true);case"abbr":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_abbr_desc','{$pluginurl}/images/abbr.gif','mceAbbr',true);case"del":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_del_desc','{$pluginurl}/images/del.gif','mceDel',true);case"ins":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_ins_desc','{$pluginurl}/images/ins.gif','mceIns',true);case"attribs":return tinyMCE.getButtonHTML(cn,'lang_xhtmlxtras_attribs_desc','{$pluginurl}/images/attribs.gif','mceAttributes',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var template,inst,elm;switch(command){case"mceCite":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/cite.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAcronym":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/acronym.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAbbr":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/abbr.htm';template['width']=350;template['height']=250;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceIns":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/ins.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceDel":if(!this._anySel(editor_id))return true;template=new Array();template['file']='../../plugins/xhtmlxtras/del.htm';template['width']=350;template['height']=310;tinyMCE.openWindow(template,{editor_id:editor_id});return true;case"mceAttributes":inst=tinyMCE.getInstanceById(editor_id);elm=inst.getFocusElement();if(elm&&elm.nodeName!=='BODY'&&elm.className.indexOf('mceItem')==-1){tinyMCE.openWindow({file:'../../plugins/xhtmlxtras/attributes.htm',width:380,height:370},{editor_id:editor_id})}return true}return false},cleanup:function(type,content,inst){if(type=='insert_to_editor'&&tinyMCE.isIE&&!tinyMCE.isOpera){content=content.replace(/<abbr([^>]+)>/gi,'<html:ABBR $1>');content=content.replace(/<\/abbr>/gi,'</html:ABBR>')}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var elm=tinyMCE.getParentElement(node);if(node==null)return;tinyMCE.switchClass(editor_id+'_attribs','mceButtonDisabled');if(!any_selection){tinyMCE.switchClass(editor_id+'_cite','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_acronym','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_abbr','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_del','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_ins','mceButtonDisabled')}else{tinyMCE.switchClass(editor_id+'_cite','mceButtonNormal');tinyMCE.switchClass(editor_id+'_acronym','mceButtonNormal');tinyMCE.switchClass(editor_id+'_abbr','mceButtonNormal');tinyMCE.switchClass(editor_id+'_del','mceButtonNormal');tinyMCE.switchClass(editor_id+'_ins','mceButtonNormal')}if(elm&&elm.nodeName!='BODY'&&elm.className.indexOf('mceItem')==-1)tinyMCE.switchClass(editor_id+'_attribs','mceButtonNormal');switch(node.nodeName){case"CITE":tinyMCE.switchClass(editor_id+'_cite','mceButtonSelected');return true;case"ACRONYM":tinyMCE.switchClass(editor_id+'_acronym','mceButtonSelected');return true;case"abbr":case"HTML:ABBR":case"ABBR":tinyMCE.switchClass(editor_id+'_abbr','mceButtonSelected');return true;case"DEL":tinyMCE.switchClass(editor_id+'_del','mceButtonSelected');return true;case"INS":tinyMCE.switchClass(editor_id+'_ins','mceButtonSelected');return true}return true},_anySel:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),t=inst.selection.getSelectedText(),pe;pe=tinyMCE.getParentElement(inst.getFocusElement(),'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');return pe||inst.getFocusElement().nodeName=="IMG"||(t&&t.length>0)}};tinyMCE.addPlugin("xhtmlxtras",TinyMCE_XHTMLXtrasPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,199 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import plugin specific language pack */
+tinyMCE.importPluginLanguagePack('xhtmlxtras');
+
+var TinyMCE_XHTMLXtrasPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'XHTML Xtras Plugin',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	initInstance : function(inst) {
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/plugins/xhtmlxtras/css/xhtmlxtras.css");
+	},
+
+	getControlHTML : function(cn) {
+		switch (cn) {
+			case "cite":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_cite_desc', '{$pluginurl}/images/cite.gif', 'mceCite', true);
+
+			case "acronym":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_acronym_desc', '{$pluginurl}/images/acronym.gif', 'mceAcronym', true);
+
+			case "abbr":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_abbr_desc', '{$pluginurl}/images/abbr.gif', 'mceAbbr', true);
+
+			case "del":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_del_desc', '{$pluginurl}/images/del.gif', 'mceDel', true);
+
+			case "ins":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_ins_desc', '{$pluginurl}/images/ins.gif', 'mceIns', true);
+
+			case "attribs":
+				return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_attribs_desc', '{$pluginurl}/images/attribs.gif', 'mceAttributes', true);
+		}
+
+		return "";
+	},
+
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		var template, inst, elm;
+
+		switch (command) {
+			case "mceCite":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/cite.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAcronym":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/acronym.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAbbr":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/abbr.htm';
+				template['width'] = 350;
+				template['height'] = 250;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceIns":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/ins.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceDel":
+				if (!this._anySel(editor_id))
+					return true;
+
+				template = new Array();
+				template['file'] = '../../plugins/xhtmlxtras/del.htm';
+				template['width'] = 350;
+				template['height'] = 310;
+				tinyMCE.openWindow(template, {editor_id : editor_id});
+				return true;
+
+			case "mceAttributes":
+				inst = tinyMCE.getInstanceById(editor_id);
+				elm = inst.getFocusElement();
+
+				if (elm && elm.nodeName !== 'BODY' && elm.className.indexOf('mceItem') == -1) {
+					tinyMCE.openWindow({
+						file : '../../plugins/xhtmlxtras/attributes.htm',
+						width : 380,
+						height : 370
+					}, {editor_id : editor_id});
+				}
+
+				return true;
+		}
+
+		return false;
+	},
+
+	cleanup : function(type, content, inst) {
+		if (type == 'insert_to_editor' && tinyMCE.isIE && !tinyMCE.isOpera) {
+			content = content.replace(/<abbr([^>]+)>/gi, '<html:ABBR $1>');
+			content = content.replace(/<\/abbr>/gi, '</html:ABBR>');
+		}
+
+		return content;
+	},
+
+	handleNodeChange : function(editor_id, node, undo_index,undo_levels, visual_aid, any_selection) {
+		var elm = tinyMCE.getParentElement(node);
+
+		if (node == null)
+			return;
+
+		tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonDisabled');
+
+		if (!any_selection) {
+			// Disable the buttons
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonDisabled');
+		} else {
+			// A selection means the buttons should be active.
+			tinyMCE.switchClass(editor_id + '_cite', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_del', 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_ins', 'mceButtonNormal');
+		}
+
+		if (elm && elm.nodeName != 'BODY' && elm.className.indexOf('mceItem') == -1)
+			tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonNormal');
+
+		switch (node.nodeName) {
+			case "CITE":
+				tinyMCE.switchClass(editor_id + '_cite', 'mceButtonSelected');
+				return true;
+
+			case "ACRONYM":
+				tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonSelected');
+				return true;
+
+			case "abbr": // IE
+			case "HTML:ABBR": // FF
+			case "ABBR":
+				tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonSelected');
+				return true;
+
+			case "DEL":
+				tinyMCE.switchClass(editor_id + '_del', 'mceButtonSelected');
+				return true;
+
+			case "INS":
+				tinyMCE.switchClass(editor_id + '_ins', 'mceButtonSelected');
+				return true;
+		}
+
+		return true;
+	},
+
+	_anySel : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), t = inst.selection.getSelectedText(), pe;
+
+		pe = tinyMCE.getParentElement(inst.getFocusElement(), 'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');
+
+		return pe || inst.getFocusElement().nodeName == "IMG" || (t && t.length > 0);
+	}
+};
+
+tinyMCE.addPlugin("xhtmlxtras", TinyMCE_XHTMLXtrasPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/abbr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/acronym.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/attribs.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/cite.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/date_time.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/del.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/ins.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,169 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_xhtmlxtras_title_ins_element}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/editable_selects.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/ins.js"></script>
+	<link rel="stylesheet" type="text/css" href="css/popup.css" />
+	<base target="_self" />
+</head>
+<body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertIns();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
+			<!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td> 
+						<td>
+							<table border="0" cellspacing="0" cellpadding="0">
+								<tr> 
+									<td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td> 
+									<td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
+								</tr>
+							</table>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td> 
+						<td><input id="cite" name="cite" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td> 
+						<td><input id="title" name="title" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td> 
+						<td><input id="id" name="id" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td> 
+						<td>
+							<select id="class" name="class" class="field mceEditableSelect">
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+							</select>
+						</td>
+					</tr>
+					<tr>
+						<td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td> 
+						<td><input id="style" name="style" type="text" value="" class="field" /></td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td> 
+						<td>
+							<select id="dir" name="dir" class="field"> 
+								<option value="">{$lang_xhtmlxtras_not_set}</option> 
+								<option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option> 
+								<option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option> 
+							</select>
+						</td> 
+					</tr>
+					<tr>
+						<td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td> 
+						<td>
+							<input id="lang" name="lang" type="text" value="" class="field" />
+						</td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+		<div id="events_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
+
+				<table border="0" cellpadding="0" cellspacing="4">
+					<tr>
+						<td class="label"><label for="onfocus">onfocus</label>:</td> 
+						<td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onblur">onblur</label>:</td> 
+						<td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onclick">onclick</label>:</td> 
+						<td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="ondblclick">ondblclick</label>:</td> 
+						<td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousedown">onmousedown</label>:</td> 
+						<td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseup">onmouseup</label>:</td> 
+						<td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseover">onmouseover</label>:</td> 
+						<td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmousemove">onmousemove</label>:</td> 
+						<td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onmouseout">onmouseout</label>:</td> 
+						<td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeypress">onkeypress</label>:</td> 
+						<td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeydown">onkeydown</label>:</td> 
+						<td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> 
+					</tr>
+
+					<tr>
+						<td class="label"><label for="onkeyup">onkeyup</label>:</td> 
+						<td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> 
+					</tr>
+				</table>
+			</fieldset>
+		</div>
+	</div>
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertIns();" />
+		</div>
+		<div style="float: left">
+			<input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeIns();" style="display: none;" />
+		</div>
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('abbr');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAbbr() {
+	SXE.insertElement(tinyMCE.isIE && !tinyMCE.isOpera ? 'html:ABBR' : 'abbr');
+	tinyMCEPopup.close();
+}
+
+function removeAbbr() {
+	SXE.removeElement('abbr');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('acronym');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertAcronym() {
+	SXE.insertElement('acronym');
+	tinyMCEPopup.close();
+}
+
+function removeAcronym() {
+	SXE.removeElement('acronym');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,130 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	var f = document.forms[0];
+	
+	var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
+
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
+	setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
+	setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
+	setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
+	setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
+	setFormValue('onclick', onclick);
+	setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
+	setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
+	setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
+	setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
+	setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
+	setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
+	setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
+	setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
+	setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
+	
+	className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
+		
+	addClassesToList('classlist', 'advlink_styles');
+	selectByValue(f, 'classlist', className, true);
+	
+	TinyMCE_EditableSelects.init();
+}
+
+function setFormValue(name, value) {
+	if(value && document.forms[0].elements[name]){
+		document.forms[0].elements[name].value = value;
+	}
+}
+
+function insertAction() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var elm = inst.getFocusElement();
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");	
+	tinyMCEPopup.restoreSelection();
+	
+	setAllAttribs(elm);
+	
+	tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	tinyMCE._setEventsEnabled(inst.getBody(), false);
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+	tinyMCEPopup.close();
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
+
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class")
+			attrib = "className";
+
+		eval('elm.' + attrib + "=value;");
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllAttribs(elm) {
+	var f = document.forms[0];
+
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	setAttrib(elm, 'tabindex');
+	setAttrib(elm, 'accesskey');
+	setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');
+
+	// Refresh in old MSIE
+	if (tinyMCE.isMSIE5)
+		elm.outerHTML = elm.outerHTML;
+}
+
+function insertAttribute() {
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('cite');
+	if (SXE.currentAction == "update") {
+		SXE.showRemoveButton();
+	}
+}
+
+function insertCite() {
+	SXE.insertElement('cite');
+	tinyMCEPopup.close();
+}
+
+function removeCite() {
+	SXE.removeElement('cite');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/del.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('del');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertDel() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'del');
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'del', 'id', '#sxe_temp_del#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeDel() {
+	SXE.removeElement('del');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,241 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function initCommonAttributes(elm) {
+	var formObj = document.forms[0];
+
+	// Setup form data for common element attributes
+	setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
+	setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
+	selectByValue(formObj, 'class', tinyMCE.getAttrib(elm, 'class'), true);
+	setFormValue('style', tinyMCE.getAttrib(elm, 'style'));
+	selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
+	setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
+	setFormValue('onfocus', tinyMCE.getAttrib(elm, 'onfocus'));
+	setFormValue('onblur', tinyMCE.getAttrib(elm, 'onblur'));
+	setFormValue('onclick', tinyMCE.getAttrib(elm, 'onclick'));
+	setFormValue('ondblclick', tinyMCE.getAttrib(elm, 'ondblclick'));
+	setFormValue('onmousedown', tinyMCE.getAttrib(elm, 'onmousedown'));
+	setFormValue('onmouseup', tinyMCE.getAttrib(elm, 'onmouseup'));
+	setFormValue('onmouseover', tinyMCE.getAttrib(elm, 'onmouseover'));
+	setFormValue('onmousemove', tinyMCE.getAttrib(elm, 'onmousemove'));
+	setFormValue('onmouseout', tinyMCE.getAttrib(elm, 'onmouseout'));
+	setFormValue('onkeypress', tinyMCE.getAttrib(elm, 'onkeypress'));
+	setFormValue('onkeydown', tinyMCE.getAttrib(elm, 'onkeydown'));
+	setFormValue('onkeyup', tinyMCE.getAttrib(elm, 'onkeyup'));
+}
+
+function setFormValue(name, value) {
+	if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value;
+}
+
+function insertDateTime(id) {
+	document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S");
+}
+
+function getDateTime(d, fmt) {
+	fmt = fmt.replace("%D", "%m/%d/%y");
+	fmt = fmt.replace("%r", "%I:%M:%S %p");
+	fmt = fmt.replace("%Y", "" + d.getFullYear());
+	fmt = fmt.replace("%y", "" + d.getYear());
+	fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2));
+	fmt = fmt.replace("%d", addZeros(d.getDate(), 2));
+	fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2));
+	fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2));
+	fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2));
+	fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1));
+	fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM"));
+	fmt = fmt.replace("%%", "%");
+
+	return fmt;
+}
+
+function addZeros(value, len) {
+	var i;
+
+	value = "" + value;
+
+	if (value.length < len) {
+		for (i=0; i<(len-value.length); i++)
+			value = "0" + value;
+	}
+
+	return value;
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option('Value: ' + value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+	}
+
+	return found;
+}
+
+function setAttrib(elm, attrib, value) {
+	var formObj = document.forms[0];
+	var valueElm = formObj.elements[attrib.toLowerCase()];
+
+	if (typeof(value) == "undefined" || value == null) {
+		value = "";
+
+		if (valueElm)
+			value = valueElm.value;
+	}
+
+	if (value != "") {
+		if (attrib == "style")
+			attrib = "style.cssText";
+
+		if (attrib.substring(0, 2) == 'on')
+			value = 'return true;' + value;
+
+		if (attrib == "class") {
+			tinyMCE.addCSSClass(elm, value);
+			return;
+		}
+
+		elm.setAttribute(attrib.toLowerCase(), value);
+	} else
+		elm.removeAttribute(attrib);
+}
+
+function setAllCommonAttribs(elm) {
+	setAttrib(elm, 'title');
+	setAttrib(elm, 'id');
+	setAttrib(elm, 'class');
+	setAttrib(elm, 'style');
+	setAttrib(elm, 'dir');
+	setAttrib(elm, 'lang');
+	/*setAttrib(elm, 'onfocus');
+	setAttrib(elm, 'onblur');
+	setAttrib(elm, 'onclick');
+	setAttrib(elm, 'ondblclick');
+	setAttrib(elm, 'onmousedown');
+	setAttrib(elm, 'onmouseup');
+	setAttrib(elm, 'onmouseover');
+	setAttrib(elm, 'onmousemove');
+	setAttrib(elm, 'onmouseout');
+	setAttrib(elm, 'onkeypress');
+	setAttrib(elm, 'onkeydown');
+	setAttrib(elm, 'onkeyup');*/
+}
+
+SXE = {
+	currentAction : "insert",
+	inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
+	updateElement : null
+}
+
+SXE.focusElement = SXE.inst.getFocusElement();
+
+SXE.initElementDialog = function(element_name) {
+	addClassesToList('class', 'xhtmlxtras_styles');
+	TinyMCE_EditableSelects.init();
+
+	element_name = element_name.toLowerCase();
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if (elm != null && elm.nodeName == element_name.toUpperCase()) {
+		SXE.currentAction = "update";
+	}
+
+	if (SXE.currentAction == "update") {
+		initCommonAttributes(elm);
+		SXE.updateElement = elm;
+	}
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + SXE.currentAction, 'Insert', true); 
+}
+
+SXE.insertElement = function(element_name) {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, element_name), h, tagName;
+
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tagName = element_name;
+
+			if (tinyMCE.isIE && !tinyMCE.isOpera && element_name.indexOf('html:') == 0)
+				element_name = element_name.substring(5).toLowerCase();
+
+			h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
+
+			tinyMCEPopup.execCommand('mceInsertContent', false, h);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), element_name, 'id', '#sxe_temp_' + element_name + '#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+
+				elm.id = '';
+				elm.setAttribute('id', '');
+				elm.removeAttribute('id');
+
+				setAllCommonAttribs(elm);
+			}
+		}
+	} else {
+		setAllCommonAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+}
+
+SXE.removeElement = function(element_name){
+	element_name = element_name.toLowerCase();
+	elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
+	if(elm && elm.nodeName == element_name.toUpperCase()){
+		tinyMCEPopup.execCommand('mceBeginUndoLevel');
+		tinyMCE.execCommand('mceRemoveNode', false, elm);
+		tinyMCE.triggerNodeChange();
+		tinyMCEPopup.execCommand('mceEndUndoLevel');
+	}
+}
+
+SXE.showRemoveButton = function() {
+		document.getElementById("remove").style.display = 'block';
+}
+
+SXE.containsClass = function(elm,cl) {
+	return (elm.className.indexOf(cl) > -1) ? true : false;
+}
+
+SXE.removeClass = function(elm,cl) {
+	if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) {
+		return true;
+	}
+	var classNames = elm.className.split(" ");
+	var newClassNames = "";
+	for (var x = 0, cnl = classNames.length; x < cnl; x++) {
+		if (classNames[x] != cl) {
+			newClassNames += (classNames[x] + " ");
+		}
+	}
+	elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end
+}
+
+SXE.addClass = function(elm,cl) {
+	if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
+	return true;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+ /**
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
+ *
+ * @author Moxiecode - based on work by Andrew Tetlaw
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function preinit() {
+	// Initialize
+	tinyMCE.setWindowArg('mce_windowresize', false);
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+	SXE.initElementDialog('ins');
+	if (SXE.currentAction == "update") {
+		setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
+		setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
+		SXE.showRemoveButton();
+	}
+}
+
+function setElementAttribs(elm) {
+	setAllCommonAttribs(elm);
+	setAttrib(elm, 'datetime');
+	setAttrib(elm, 'cite');
+}
+
+function insertIns() {
+	var elm = tinyMCE.getParentElement(SXE.focusElement, 'ins');
+	tinyMCEPopup.execCommand('mceBeginUndoLevel');
+	if (elm == null) {
+		var s = SXE.inst.selection.getSelectedHTML();
+		if(s.length > 0) {
+			tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
+			var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'ins', 'id', '#sxe_temp_ins#');
+			for (var i=0; i<elementArray.length; i++) {
+				var elm = elementArray[i];
+				setElementAttribs(elm);
+			}
+		}
+	} else {
+		setElementAttribs(elm);
+	}
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.execCommand('mceEndUndoLevel');
+	tinyMCEPopup.close();
+}
+
+function removeIns() {
+	SXE.removeElement('ins');
+	tinyMCEPopup.close();
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/xhtmlxtras/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,42 @@
+// UK lang variables
+
+tinyMCE.addToLang('xhtmlxtras',{
+cite_desc : 'Citation',
+abbr_desc : 'Abbreviation',
+acronym_desc : 'Acronym',
+del_desc : 'Deletion',
+ins_desc : 'Insertion',
+attribute_label_title : 'Title',
+attribute_label_id : 'ID',
+attribute_label_class : 'Class',
+attribute_label_style : 'Style',
+attribute_label_cite : 'Cite',
+attribute_label_datetime : 'Date/Time',
+attribute_label_langdir : 'Text Direction',
+attribute_option_ltr : 'Left to right',
+attribute_option_rtl : 'Right to left',
+attribute_label_langcode : 'Language',
+attribute_label_tabindex : 'TabIndex',
+attribute_label_accesskey : 'AccessKey',
+attribute_label_cite : 'Cite',
+attribute_events_tab : 'Events',
+attribute_attrib_tab : 'Attributes',
+general_tab : 'General',
+attrib_tab : 'Attributes',
+events_tab : 'Events',
+fieldset_general_tab : 'General Settings',
+fieldset_attrib_tab : 'Element Attributes',
+fieldset_events_tab : 'Element Events',
+title_ins_element : 'Insertion Element',
+title_del_element : 'Deletion Element',
+title_acronym_element : 'Acronym Element',
+title_abbr_element : 'Abbreviation Element',
+title_cite_element : 'Citation Element',
+remove : 'Remove',
+not_set : '--not set--',
+insert_date : 'Insert current date/time',
+option_ltr : 'Left to right',
+option_rtl : 'Right to left',
+attribs_desc : 'Insert/Edit Attributes',
+attribs_title : 'Insert/Edit Attributes'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_ZoomPlugin={getInfo:function(){return{longname:'Zoom',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion}},getControlHTML:function(control_name){if(!tinyMCE.isMSIE||tinyMCE.isMSIE5_0||tinyMCE.isOpera)return"";switch(control_name){case"zoom":return'<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="100%">+ 100%</option>'+'<option value="150%">+ 150%</option>'+'<option value="200%">+ 200%</option>'+'<option value="250%">+ 250%</option>'+'</select>'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceZoom":tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom=value;tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom=value;return true}return false}};tinyMCE.addPlugin("zoom",TinyMCE_ZoomPlugin);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/editor_plugin_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+/**
+ * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_ZoomPlugin = {
+	getInfo : function() {
+		return {
+			longname : 'Zoom',
+			author : 'Moxiecode Systems AB',
+			authorurl : 'http://tinymce.moxiecode.com',
+			infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/zoom',
+			version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
+		};
+	},
+
+	/**
+	 * Returns the HTML contents of the zoom control.
+	 */
+	getControlHTML : function(control_name) {
+		if (!tinyMCE.isMSIE || tinyMCE.isMSIE5_0 || tinyMCE.isOpera)
+			return "";
+
+		switch (control_name) {
+			case "zoom":
+				return '<select id="{$editor_id}_zoomSelect" name="{$editor_id}_zoomSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceZoom\',false,this.options[this.selectedIndex].value);" class="mceSelectList">' + 
+						'<option value="100%">+ 100%</option>' + 
+						'<option value="150%">+ 150%</option>' + 
+						'<option value="200%">+ 200%</option>' + 
+						'<option value="250%">+ 250%</option>' + 
+						'</select>';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Executes the mceZoom command.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		// Handle commands
+		switch (command) {
+			case "mceZoom":
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.zoom = value;
+				tinyMCE.getInstanceById(editor_id).contentDocument.body.style.mozZoom = value;
+				return true;
+		}
+
+		// Pass to next handler in chain
+		return false;
+	}
+};
+
+tinyMCE.addPlugin("zoom", TinyMCE_ZoomPlugin);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/plugins/zoom/readme.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+Check the TinyMCE documentation for details on this plugin.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/richtext.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/richtext.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+tinyMCE.init({
+    mode : "exact",
+    elements : "gridsphere-richtext",
+    theme : "advanced",
+    convert_urls : false
+});
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_about_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/about.js"></script>
+	<base target="_self" />
+</head>
+<body id="about" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+		<div class="tabs">
+			<ul>
+				<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_about}</a></span></li>
+				<li id="help_tab"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{$lang_help}</a></span></li>
+				<li id="plugins_tab"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{$lang_plugins}</a></span></li>
+			</ul>
+		</div>
+
+		<div class="panel_wrapper">
+			<div id="general_panel" class="panel current">
+				<h3>{$lang_about_title}</h3>
+				<p>Version: {$tinymce_version} ({$tinymce_releasedate})</p>
+				<p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a>
+				by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p>
+				<p>Copyright &copy; 2003-2007, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p>
+				<p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p>
+
+				<div id="buttoncontainer"></div>
+			</div>
+
+			<div id="plugins_panel" class="panel">
+				<div id="pluginscontainer">
+					<h3>{$lang_loaded_plugins}</h3>
+
+					<div id="plugintablecontainer">
+					</div>
+
+					<p>&nbsp;</p>
+				</div>
+			</div>
+
+			<div id="help_panel" class="panel noscroll" style="overflow: visible;">
+				<div id="iframecontainer"></div>
+			</div>
+		</div>
+
+		<div class="mceActionPanel">
+			<div style="float: right">
+				<input type="button" id="cancel" name="cancel" value="{$lang_close}" onclick="tinyMCEPopup.close();" />
+			</div>
+		</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/anchor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_anchor_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/anchor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertAnchor();return false;" action="#">
+
+	<table border="0" cellpadding="4" cellspacing="0">
+		<tr>
+			<td colspan="2" class="title">{$lang_insert_anchor_title}</td>
+		</tr>
+		<tr>
+			<td nowrap="nowrap">{$lang_insert_anchor_name}:</td>
+			<td><input name="anchorName" type="text" id="anchorName" value="" style="width: 200px" /></td>
+		</tr>
+	</table>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAnchor();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/charmap.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_charmap_title}</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/charmap.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<table align="center" border="0" cellspacing="0" cellpadding="2">
+    <tr>
+        <td colspan="2" class="title">{$lang_theme_charmap_title}</td>
+    </tr>
+    <tr>
+        <td rowspan="2" align="left" valign="top">
+            <script language="javascript" type="text/javascript">renderCharMapHTML();</script>
+        </td>
+        <td width="100" align="center" valign="top">
+            <table border="0" cellpadding="0" cellspacing="0" width="100" style="height: 100px">
+                <tr>
+                    <td class="charmapOver" style="font-size: 40px; height:80px;" id="codeV">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 10px; font-family: Arial, Helvetica, sans-serif; text-align:center;" id="codeN">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+    <tr>
+        <td valign="bottom" style="padding-bottom: 3px;">
+            <table width="100" align="center" border="0" cellpadding="2" cellspacing="0">
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">HTML-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 1px;">&nbsp;</td>
+                </tr>
+                <tr>
+                    <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;">NUM-Code</td>
+                </tr>
+                <tr>
+                    <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center">&nbsp;</td>
+                </tr>
+            </table>
+        </td>
+    </tr>
+</table>
+
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/color_picker.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_theme_colorpicker_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/color_picker.js"></script>
+	<link href="css/colorpicker.css" rel="stylesheet" type="text/css" />
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+	<div class="tabs">
+		<ul>
+			<li id="picker_tab" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{$lang_color_picker_tab}</a></span></li>
+			<li id="rgb_tab"><span><a href="#" onclick="generateWebColors();mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{$lang_web_colors_tab}</a></span></li>
+			<li id="named_tab"><span><a  href="#" onclick="generateNamedColors();javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{$lang_named_colors_tab}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="picker_panel" class="panel current">
+			<fieldset>
+				<legend>{$lang_color_picker}</legend>
+				<div id="picker">
+					<img id="colorpicker" src="images/colors.jpg" onclick="computeColor(event)" onmousedown="isMouseDown = true;return false;" onmouseup="isMouseDown = false;" onmousemove="if (isMouseDown && isMouseOver) computeColor(event); return false;" onmouseover="isMouseOver=true;" onmouseout="isMouseOver=false;" />
+
+					<div id="light">
+						<!-- Will be filled with divs -->
+					</div>
+
+					<br style="clear: both" />
+				</div>
+			</fieldset>
+		</div>
+
+		<div id="rgb_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_web_colors}</legend>
+				<div id="webcolors">
+					<!-- Gets filled with web safe colors-->
+				</div>
+
+				<br style="clear: both" />
+			</fieldset>
+		</div>
+
+		<div id="named_panel" class="panel">
+			<fieldset>
+				<legend>{$lang_named_colors}</legend>
+				<div id="namedcolors">
+					<!-- Gets filled with named colors-->
+				</div>
+
+				<br style="clear: both" />
+
+				<div id="colornamecontainer">
+					{$lang_color_name} <span id="colorname"></span>
+				</div>
+			</fieldset>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_theme_colorpicker_apply}" onclick="insertAction();" />
+		</div>
+
+		<div id="preview"></div>
+
+		<div id="previewblock">
+			<label for="color">{$lang_color}</label> <input id="color" type="text" size="8" maxlength="8" class="text" />
+		</div>
+	</div>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/colorpicker.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,53 @@
+/* Colorpicker dialog specific CSS */
+
+#preview {
+	float: right;
+	width: 50px;
+	height: 14px;
+	line-height: 1px;
+	border: 1px solid black;
+	margin-left: 5px;
+}
+
+#colorpicker {
+	float: left;
+	cursor: crosshair;
+}
+
+#light {
+	border: 1px solid gray;
+	margin-left: 5px;
+	float: left;
+	width: 15px;
+	cursor: crosshair;
+}
+
+#light div {
+	overflow: hidden;
+}
+
+#previewblock {
+	float: right;
+	padding-left: 10px;
+	height: 20px;
+}
+
+.panel_wrapper div.current {
+	height: 175px;
+}
+
+#namedcolors {
+	width: 150px;
+}
+
+#namedcolors a {
+	display: block;
+	float: left;
+	width: 10px; height: 10px;
+	margin: 1px 1px 0 0;
+	overflow: hidden;
+}
+
+#colornamecontainer {
+	margin-top: 5px;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,58 @@
+/* This file contains the CSS data for the editable area(iframe) of TinyMCE */
+/* You can extend this CSS by adding your own CSS file with the the content_css option */
+
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB !important;
+}
+
+div.mceVisualAid {
+	background-image:url('../images/spacer.gif');
+	visibility: visible !important;
+}
+
+.mceItemAnchor {
+	width: 12px;
+	line-height: 6px;
+	overflow: hidden;
+	padding-left: 12px;
+	background-image: url('../images/anchor_symbol.gif');
+	background-position: bottom;
+	background-repeat: no-repeat;
+}
+
+/* Important is needed in Gecko browsers inorder to style links */
+/*
+a {
+	color: green !important;
+}
+*/
+
+/* Style selection range colors in Gecko browsers */
+/*
+::-moz-selection {
+	background-color: red;
+	color: green;
+}
+*/
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,331 @@
+/* This file contains the CSS data for all popups in TinyMCE */
+
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+	margin: 8px;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+#insert, .updateButton {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/insert_button_bg.gif');
+   cursor: pointer;
+}
+
+#cancel {
+   font-weight: bold;
+   width: 90px;
+   height: 21px;
+   border: 0;
+   background-image: url('../images/cancel_button_bg.gif');
+   cursor: pointer;
+}
+
+/* Mozilla only style */
+html>body #insert, html>body #cancel {
+	padding-bottom: 2px;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+	color: #2B6FB6;
+}
+
+table.charmap {
+	border-style: solid;
+	border-width: 1px;
+	border-color: #AAAAAA;
+}
+
+td.charmap, td.charmapOver {
+	color: #000000;
+	border-color: #AAAAAA;
+	border-style: solid;
+	border-width: 1px;
+	text-align: center;
+	font-size: 12px;
+}
+
+td.charmapOver {
+	background-color: #CCCCCC;
+	cursor: default;
+}
+
+a.charmap {
+	color: #000000;
+	text-decoration: none
+}
+
+.wordWrapCode {
+	vertical-align: middle;
+	border: 1px none #000000;
+	background-color: transparent;
+}
+
+input.radio {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+input.checkbox {
+	border: 1px none #000000;
+	background-color: transparent;
+	vertical-align: middle;
+}
+
+.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected {
+	margin-left: 1px;
+}
+
+.mceButtonNormal {
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceButtonOver {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+.mceButtonDown {
+	cursor: default;
+	border: 1px solid #0A246A;
+	background-color: #8592B5;
+}
+
+.mceButtonDisabled {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border-top: 1px solid;
+	border-left: 1px solid;
+	border-bottom: 1px solid;
+	border-right: 1px solid;
+	border-color: #F0F0EE;
+	cursor: default;
+}
+
+.mceActionPanel {
+	margin-top: 5px;
+}
+
+/* Tabs classes */
+
+.tabs {
+	float: left;
+	width: 100%;
+	line-height: normal;
+	background-image: url("../images/xp/tabs_bg.gif");
+}
+
+.tabs ul {
+	margin: 0;
+	padding: 0 0 0;
+	list-style: none;
+}
+
+.tabs li {
+	float: left;
+	background: url("../images/xp/tab_bg.gif") no-repeat left top;
+	margin: 0;
+	margin-left: 0;
+	margin-right: 2px;
+	padding: 0 0 0 10px;
+	line-height: 18px;
+}
+
+.tabs li.current {
+	background: url("../images/xp/tab_sel_bg.gif") no-repeat left top;
+	margin-right: 2px;
+}
+
+.tabs span {
+	float: left;
+	display: block;
+	background: url("../images/xp/tab_end.gif") no-repeat right top;
+	padding: 0px 10px 0 0;
+}
+
+.tabs .current span {
+	background: url("../images/xp/tab_sel_end.gif") no-repeat right top;
+}
+
+.tabs a {
+	text-decoration: none;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+}
+
+.tabs a:link, .tabs a:visited, .tabs a:hover {
+	color: black;
+}
+
+.tabs a:hover {
+}
+
+.tabs .current {
+}
+
+.tabs .current a, .tabs .current a:link, .tabs .current a:visited {
+}
+
+.panel_wrapper div.panel {
+	display: none;
+}
+
+.panel_wrapper div.current {
+	display: block;
+	width: 100%;
+	height: 300px;
+	overflow: visible; /* Should be auto but that breaks Safari */
+}
+
+.panel_wrapper {
+	border: 1px solid #919B9C;
+	border-top: 0px;
+	padding: 10px;
+	padding-top: 5px;
+	clear: both;
+	background-color: white;
+}
+
+fieldset {
+	border: 1px solid #919B9C;
+	font-family: Verdana, Arial;
+	font-size: 10px;
+	padding: 0;
+	margin: 0;
+	padding: 4px;
+}
+
+legend {
+	color: #2B6FB6;
+	font-weight: bold;
+}
+
+.properties {
+	width: 100%;
+}
+
+.properties .column1 {
+}
+
+.properties .column2 {
+	text-align: left;
+}
+
+a:link, a:visited {
+	color: black;
+}
+
+a:hover {
+	color: #2B6FB6;
+}
+
+#plugintable thead {
+	font-weight: bold;
+	background-color: #DDDDDD;
+}
+
+#plugintable, #about #plugintable td {
+	border: 1px solid #919B9C;
+}
+
+#plugintable {
+	width: 99%;
+	margin-top: 10px;
+}
+
+#pluginscontainer {
+	height: 290px;
+	overflow: auto;
+}
+
+/* MSIE Specific styles */
+
+* html .panel_wrapper {
+	width: 100%;
+}
+
+.column {
+	float: left;
+}
+
+h1, h2, h3, h4 {
+	color: #2B6FB6;
+	margin: 0;
+	padding: 0;
+	padding-top: 5px;
+}
+
+h3 {
+	font-size: 14px;
+}
+
+#link .panel_wrapper, #link div.current {
+	height: 125px;
+}
+
+#image .panel_wrapper, #image div.current {
+	height: 190px;
+}
+
+label.msg { display: none; }
+label.invalid { color: #EE0000; display: inline; }
+input.invalid { border: 1px solid #EE0000; }
+
+/* Disables the advanced tab in the table plugin. */
+/*
+#table #advanced_tab {
+	display: none;
+}
+*/
+
+/* Disables the border input field and label in the table plugin. */
+/*
+#table #border, #table #borderlabel {
+	display: none;
+}
+*/

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+/* This file contains the CSS data for the editor UI of TinyMCE instances */
+
+.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {border: 0; margin: 0; padding: 0; background: transparent;}
+.mceSeparatorLine {border: 0; padding: 0; margin-left: 4px; margin-right: 2px;}
+.mceSelectList {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 7pt !important; font-weight: normal; margin-top: 3px; padding: 0; display: inline; vertical-align: top; background-color: #F0F0EE;}
+.mceLabel, .mceLabelDisabled {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt;}
+.mceLabel {color: #000000;}
+.mceLabelDisabled {cursor: text; color: #999999;}
+.mceEditor {background: #F0F0EE; border: 1px solid #cccccc; padding: 0; margin: 0;}
+.mceEditorArea { font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; background: #FFFFFF; padding: 0; margin: 0; }
+.mceToolbarTop, .mceToolbarBottom {background: #F0F0EE; line-height: 1px; font-size: 1px;}
+.mceToolbarTop {border-bottom: 1px solid #cccccc; padding-bottom: 1px;}
+.mceToolbarBottom {border-top: 1px solid #cccccc;}
+.mceToolbarContainer {display: block; position: relative; left: 0; top: 0; width: 100%;}
+.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {height: 20px;}
+.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; padding: 2px; line-height: 16px; overflow: visible;}
+.mceStatusbarTop {border-bottom: 1px solid #cccccc;}
+.mceStatusbarBottom {border-top: 1px solid #cccccc;}
+.mceStatusbar {border-bottom: 1px solid #cccccc;}
+.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {text-decoration: none; font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; color: #000000;}
+.mcePathItem:hover {text-decoration: underline;}
+.mceStatusbarPathText {float: left;}
+.mceStatusbarResize {float: right; background-image: url('../images/statusbar_resize.gif'); background-repeat: no-repeat; width: 11px; height: 20px; cursor: se-resize;}
+.mceResizeBox {width: 10px; height: 10px; display: none; border: 1px dotted gray; margin: 0; padding: 0;}
+.mceEditorIframe {border: 0;}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {width: 20px; height: 20px; cursor: default; margin-top: 1px; margin-left: 1px;}
+a.mceButtonDisabled img {border: 0 !important;}
+a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
+a.mceButtonSelected img {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;}
+a.mceButtonDisabled img {-moz-opacity:0.3; opacity: 0.3; border: 1px solid #F0F0EE !important; cursor: default;}
+a.mceTiledButton img {background-image: url('../images/buttons.gif'); background-repeat: no-repeat;}
+
+/* Menu button CSS rules */
+
+span.mceMenuButton img, span.mceMenuButtonSelected img {border: 1px solid #F0F0EE; margin-left: 1px;}
+span.mceMenuButtonSelected img {border: 1px solid #6779AA; background-color: #B6BDD2;}
+span.mceMenuButtonSelected img.mceMenuButton {border: 1px solid #F0F0EE; background-color: transparent;}
+span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {border-left: 0; margin-left: 0;}
+span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {border-left: 0;}
+span.mceMenuButtonFocus img {border: 1px solid gray; border-right: 0; margin-left: 1px; background-color: #F5F4F2;}
+span.mceMenuButtonFocus img.mceMenuButton {border: 1px solid gray; border-left: 1px solid #F5F4F2; margin-left: 0;}
+span.mceMenuHover img {border: 1px solid #0A246A; background-color: #B6BDD2;}
+span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {border: 1px solid #0A246A; background-color: #B6BDD2; border-left: 0;}
+
+/* Menu */
+
+.mceMenu {position: absolute; left: 0; top: 0; display: none; z-index: 1000; background-color: white; border: 1px solid gray; font-weight: normal;}
+.mceMenu a, .mceMenuTitle, .mceMenuDisabled {display: block; width: 100%; text-decoration: none; background-color: white; font-family: Tahoma, Verdana, Arial, Helvetica; font-size: 11px; line-height: 20px; color: black;}
+.mceMenu a:hover {background-color: #B6BDD2; color: black; text-decoration: none !important;}
+.mceMenu span {padding-left: 10px; padding-right: 10px; display: block; line-height: 20px;}
+.mceMenuSeparator {border-bottom: 1px solid gray; background-color: gray; height: 1px;}
+.mceMenuTitle span {padding-left: 5px;}
+.mceMenuTitle {background-color: #DDDDDD; font-weight: bold;}
+.mceMenuDisabled {color: gray;}
+span.mceMenuSelectedItem {background-image: url('../images/menu_check.gif'); background-repeat: no-repeat; background-position: 5px 8px; padding-left: 20px;}
+span.mceMenuCheckItem {padding-left: 20px;}
+span.mceMenuLine {display: block; position: absolute; left: 0; top: -1px; background-color: #F5F4F2; width: 30px; height: 1px; overflow: hidden; padding-left: 0; padding-right: 0;}
+.mceColors table, .mceColors td {margin: 0; padding: 2px;}
+a.mceMoreColors {width: auto; padding: 0; margin: 0 3px 3px 3px; text-align: center; border: 1px solid white; text-decoration: none !important;}
+.mceColorPreview {position: absolute; overflow:hidden; left: 0; top: 0; margin-left: 3px; margin-top: 15px; width: 16px; height: 4px; background-color: red;}
+a.mceMoreColors:hover {border: 1px solid #0A246A;}
+.mceColors td a {width: 9px; height: 9px; overflow: hidden; border: 1px solid #808080;}
+
+/* MSIE 6 specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+* html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+* html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+* html a.mceButtonNormal, * html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+* html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+* html .mceSelectList {margin-top: 2px;}
+* html span.mceMenuButton, * html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+* html a.mceMoreColors {width: auto;}
+* html .mceColors td a {width: 10px; height: 10px;}
+* html .mceColorPreview {margin-left: 2px; margin-top: 14px;}
+
+/* MSIE 7 specific rules */
+
+*:first-child+html a.mceButtonNormal img, *:first-child+html a.mceButtonSelected img, *:first-child+html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;}
+*:first-child+html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;}
+*:first-child+html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;}
+*:first-child+html a.mceButtonNormal, *:first-child+html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;}
+*:first-child+html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;}
+*:first-child+html a.mceButtonNormal:hover, *:first-child+html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;}
+*:first-child+html .mceSelectList {margin-top: 2px;}
+*:first-child+html span.mceMenuButton, *:first-child+html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;}
+*:first-child+html span.mceMenuButton img, *:first-child+html span.mceMenuButtonSelected img, *:first-child+html span.mceMenuButtonFocus img {position: relative; top: 1px;}
+*:first-child+html a.mceMoreColors {width: 137px;}
+*:first-child+html .mceColors td a {width: 10px; height: 10px;}
+*:first-child+html .mceColorPreview {margin: 0; padding-left: 4px; margin-top: 14px; width: 14px;}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/about.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>About TinyMCE</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">About TinyMCE</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla 
+that enables you to edit HTML contents in a more user friendly way. It has common 
+features that are found in most word processors and should not be difficult to 
+use.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/common_buttons.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Common buttons</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Common buttons</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Below is a short description about each button.
+<br>
+<br>
+<table border="1" cellpadding="3" cellspacing="0">
+  <tr>
+    <td><img src="../../images/bold.gif" width="20" height="20" alt="Bold text icon" /></td>
+    <td>Bold text style (Ctrl+B).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/italic.gif" width="20" height="20" alt="Italic text icon" /></td>
+    <td>Italic text style (Ctrl+I).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/underline.gif" width="20" height="20" alt="Underline text icon." /></td>
+    <td>Underline text style (Ctrl+U).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/strikethrough.gif" width="20" height="20" alt="Strikethrough text icon." /></td>
+    <td>Strikethrough text style.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyleft.gif" width="20" height="20" alt="Align left icon." /></td>
+    <td>Align left.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifycenter.gif" width="20" height="20" alt="Align center icon." /></td>
+    <td>Align center.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyright.gif" width="20" height="20" alt="Align right icon." /></td>
+    <td>Align right.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/justifyfull.gif" width="20" height="20" alt="Align full icon." /></td>
+    <td>Align full.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/bullist.gif" width="20" height="20" alt="Unordered list/bullet list icon." /></td>
+    <td>Unordered list/bullet list.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/numlist.gif" width="20" height="20" alt="Ordered list/numbered list icon." /></td>
+    <td>Ordered list/numbered list</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/outdent.gif" width="20" height="20" alt="Outdent/decrease indentation icon." /></td>
+    <td>Outdent/decrease indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/indent.gif" width="20" height="20" alt="Indent/increase indentation icon." /></td>
+    <td>Indent/increase indentation.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/undo.gif" width="20" height="20" alt="Undo the last operation." /></td>
+    <td>Undo the last operation (Ctrl+Z).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/redo.gif" width="20" height="20" alt="Redo the last operation icon." /></td>
+    <td>Redo the last operation (Ctrl+Y).</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/link.gif" width="20" height="20" alt="Insert a new link icon." /></td>
+    <td>Insert a new link, read more about this function in the <a href="insert_link_button.htm">Insert 
+      link section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/unlink.gif" width="20" height="20" alt="Unlinks the current selection icon." /></td>
+    <td>Unlinks the current selection/removes all selected links.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/anchor.gif" width="20" height="20" alt="Insert a new anchor icon." /></td>
+    <td>Insert a new anchor, read more about this function in the <a href="insert_anchor_button.htm">Insert anchor section.</a></td>
+  </tr>
+  <tr>
+    <td><img src="../../images/image.gif" width="20" height="20" alt="Insert a new image icon." /></td>
+    <td>Insert a new image, read more about this function in the <a href="insert_image_button.htm">Insert 
+      image section</a>.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/cleanup.gif" width="20" height="20" alt="Cleanup code icon." /></td>
+    <td>Cleanup code/Removes unwanted formating. This function is useful when 
+      you copy contents from for example a office product.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/help.gif" width="20" height="20" alt="Show help icon." /></td>
+    <td>Shows this help window.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/code.gif" width="20" height="20" alt="Source code editor icon." /></td>
+    <td>Opens HTML source code editor. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table.gif" width="20" height="20" alt="Insert table icon." /></td>
+    <td>Inserts a new table at the current location. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_before.gif" width="20" height="20" alt="Adds a row above icon." /></td>
+    <td>Adds a row above the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_row_after.gif" width="20" height="20" alt="Adds a row under icon." /></td>
+    <td>Adds a row under the current one. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_row.gif" width="20" height="20" alt="Remove row icon." /></td>
+    <td>Removes the row. </td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_before.gif" width="20" height="20" alt="Add column before icon." /></td>
+    <td>Adds a column before the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_insert_col_after.gif" width="20" height="20" alt="Add column after icon." /></td>
+    <td>Adds a column after the current one.</td>
+  </tr>
+  <tr>
+    <td><img src="../../../../plugins/table/images/table_delete_col.gif" width="20" height="20" alt="Remove column icon." /></td>
+    <td>Removes the current column.</td>
+  </tr>
+  <tr>
+    <td><img src="../../images/hr.gif" width="20" height="20" alt="Insert horizontal ruler icon." /></td>
+    <td>Inserts a new horizontal ruler </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/removeformat.gif" width="20" height="20" alt="Remove formatting icon." /></td>
+    <td>Removes formatting from the selection. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sub.gif" width="20" height="20" alt="Subscript icon." /></td>
+    <td>Makes the selection to be subscript. </td>
+  </tr>
+  <tr>
+    <td><img src="../../images/sup.gif" width="20" height="20" alt="Superscript icon." /></td>
+    <td>Makes the selection to be superscripted. </td>
+  </tr>
+</table>
+<br>
+<hr noshade="noshade" />
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Create accessible content</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<p>TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off. </p>
+
+<p><strong>Things you can do to make your content accessible:</strong></p>
+<ol>
+<li><strong>Include an Image Description:</strong> Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image. <br /><br /></li>
+
+<li> <strong>Add Scope to data table header cells:</strong> In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents. <br /><br /></li>
+
+<li><strong> Structure content with properly nested headings:</strong> In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content,  rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.<br /><br /></li>
+
+<li><strong> Include alternate content:</strong> Create an alternate page for non-HTML content such as Flash, Java applets, or  embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.<br /><br /></li>
+
+<li><strong> Check accessbility: </strong> When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.<br /><br /></li>
+
+</ol>
+
+<p>See the <a href="http://checker.atrc.utoronto.ca" target="_new">AChecker Web Site</a> for further details about creating content that will be accessible to all users.<br />
+</p>
+
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/index.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Help Index</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+<BODY onload="window.focus();">
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Table of contents</span></td>
+    <td align="right">&nbsp;</td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+Click the links below to go to the different help sections. 
+<ul class="toc_ul">
+  <li class="toc_li"><a href="about.htm">About TinyMCE</a></li>
+  <li class="toc_li"><a href="common_buttons.htm">Common buttons</a></li>
+  <li class="toc_li"><a href="insert_image_button.htm">Insert image button</a></li>
+  <li class="toc_li"><a href="insert_link_button.htm">Insert link button</a></li>
+  <li class="toc_li"><a href="insert_anchor_button.htm">Insert anchor button</a></li>
+  <li class="toc_li"><a href="insert_table_button.htm">Insert table button</a></li>
+ <li class="toc_li"><a href="create_accessible_content.htm">Create accessible content</a></li>
+</ul>
+<hr noshade>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert anchor button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert anchor button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit anchor function.<br>
+<br>
+<img src="images/insert_anchor_window.gif" width="330" height="139" alt="Anchor dialog/window" /><br>
+<br>
+There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique. <br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_image_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert image button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert image button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert image button opens the window shown below.<br>
+<br>
+<img src="images/insert_image_window.gif" alt="Insert image dialog/window" /><br>
+<br>
+You simply enter a URL to the image you want to link to and enter a image description, 
+this is then displayed as an alternative text descripton of the image on the page.<br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Image URL </strong></td>
+    <td>URL/path to the image.</td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Image description </strong></td>
+    <td>Alternative description of image contents.</td>
+  </tr>
+  <tr>
+    <td><strong>Dimentions</strong></td>
+    <td>Image width/height. </td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Image alignment, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thickness. </td>
+  </tr>
+  <tr>
+    <td><strong>VSpace</strong></td>
+    <td>Vertical space, useful when wrapping text around images.</td>
+  </tr>
+  <tr>
+    <td><strong>HSpace</strong></td>
+    <td>Horizontal space, useful when wrapping text around images.</td>
+  </tr>
+</table>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_link_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert link button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert link button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+This button opens a new window with the insert/edit link function.<br>
+<br>
+<img src="images/insert_link_window.gif" width="330" height="159" alt="Insert link dialog/window" /><br>
+<br>
+There are two fields in this window the first one &quot;Link URL&quot; is the 
+URL of the link. The target enables you to select how the link is to be opened.<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/insert_table_button.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,71 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<HEAD>
+<TITLE>Insert table button</TITLE>
+<link href="style.css" rel="stylesheet" type="text/css">
+</HEAD>
+
+<BODY>
+
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pageheader">
+  <tr> 
+    <td><span class="title">Insert table button</span></td>
+    <td align="right"><a href="index.htm"><acronym title="Table of contents">TOC</acronym></a></td>
+  </tr>
+</table>
+<hr noshade>
+<br>
+The insert table button opens the window shown below. This action enables you to create tables. <br>
+<br>
+<img src="images/insert_table_window.gif" width="340" height="229" alt="Image of table window" /><br>
+<br>
+<strong>Field descriptions:</strong><br>
+<table border="1" cellspacing="0">
+  <tr>
+    <td width="150"><strong>Columns</strong></td>
+    <td>Number of columns in the  table. </td>
+  </tr>
+  <tr>
+    <td width="150"><strong>Rows</strong></td>
+    <td>Number of rows in the new table.</td>
+  </tr>
+  <tr>
+    <td><strong>Cellpadding</strong></td>
+    <td>Cellpadding of the table . </td>
+  </tr>
+  <tr>
+    <td><strong>Cellspacing</strong></td>
+    <td>Cellspacing of the table .</td>
+  </tr>
+  <tr>
+    <td><strong>Alignment</strong></td>
+    <td>Table alignment . </td>
+  </tr>
+  <tr>
+    <td><strong>Border</strong></td>
+    <td>Border thinkness of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Width</strong></td>
+    <td>Width in pixels of table .</td>
+  </tr>
+  <tr>
+    <td><strong>Height</strong></td>
+    <td>Height in pixels of table.</td>
+  </tr>
+  <tr>
+    <td><strong>Class</strong></td>
+    <td>Style or CSS class of table.</td>
+  </tr>
+</table>
+<br>
+<br>
+<hr noshade>
+<table width="100%" border="0" cellpadding="1" cellspacing="3" class="pagefooter">
+  <tr> 
+    <td>Go to: <a href="index.htm">Table of contents</a></td>
+    <td align="right"><a href="#">Top</a></td>
+  </tr>
+</table>
+<br>
+</BODY>
+</HTML>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/docs/en/style.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+body { background-color: #FFFFFF; }
+body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; }
+.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; }
+.subtitle { font-size: 12px; font-weight: bold; }
+
+.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; }
+.step_ol, .step_li { margin-left: 11px; line-height: 16px; }
+img { border: #000000 solid 1px; }
+
+a:visited { color: #666666; text-decoration: underline; }
+a:active { color: #666666; text-decoration: underline; }
+a:hover { color: #666666; text-decoration: underline; }
+a { color: #666666; text-decoration: underline; }
+
+.pageheader { border: #E0E0E0 solid 1px; }
+.pagefooter { border: #E0E0E0 solid 1px; }
+.sample { background-color: #FFFFFF; border: #000000 solid 1px; }
+.samplecontent { font-size: 10px; }
+
+.code { background-color: #FFFFFF; border: #000000 solid 1px; }
+.codecontent { font-size: 10px; }
+.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold }
+.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold  }
+.codecontent a { color: #666666; text-decoration: none; font-weight: bold  }
+
+hr { height: 1px; }
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_defColors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','forecolor',true],['forecolorpicker','forecolor.gif','lang_theme_forecolor_desc','forecolorpicker',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','HiliteColor',true],['backcolorpicker','backcolor.gif','lang_theme_backcolor_desc','backcolorpicker',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',getControlHTML:function(button_name){var i,x,but;for(i=0;i<TinyMCE_AdvancedTheme._buttons.length;i++){but=TinyMCE_AdvancedTheme._buttons[i];if(but[0]==button_name&&(button_name=="forecolor"||button_name=="backcolor"))return tinyMCE.getMenuButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3]+"Menu",but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null));if(but[0]==button_name)return tinyMCE.getButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null))}switch(button_name){case"formatselect":var html='<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';var formats=tinyMCE.getParam("theme_advanced_blockformats","p,address,pre,h1,h2,h3,h4,h5,h6",true).split(',');var lookup=[['p','{$lang_theme_paragraph}'],['address','{$lang_theme_address}'],['pre','{$lang_theme_pre}'],['h1','{$lang_theme_h1}'],['h2','{$lang_theme_h2}'],['h3','{$lang_theme_h3}'],['h4','{$lang_theme_h4}'],['h5','{$lang_theme_h5}'],['h6','{$lang_theme_h6}'],['div','{$lang_theme_div}'],['blockquote','{$lang_theme_blockquote}'],['code','{$lang_theme_code}'],['dt','{$lang_theme_dt}'],['dd','{$lang_theme_dd}'],['samp','{$lang_theme_samp}']];html+='<option value="">{$lang_theme_block}</option>';for(var i=0;i<formats.length;i++){for(var x=0;x<lookup.length;x++){if(formats[i]==lookup[x][0])html+='<option value="&lt;'+lookup[x][0]+'&gt;">'+lookup[x][1]+'</option>'}}html+='</select>';return html;case"styleselect":return'<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';case"fontselect":var fontHTML='<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';var iFonts='Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';var nFonts='Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';var fonts=tinyMCE.getParam("theme_advanced_fonts",nFonts).split(';');for(i=0;i<fonts.length;i++){if(fonts[i]!=''){var parts=fonts[i].split('=');fontHTML+='<option value="'+parts[1]+'">'+parts[0]+'</option>'}}fontHTML+='</select>';return fontHTML;case"fontsizeselect":return'<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+'<option value="0">{$lang_theme_font_size}</option>'+'<option value="1">1 (8 pt)</option>'+'<option value="2">2 (10 pt)</option>'+'<option value="3">3 (12 pt)</option>'+'<option value="4">4 (14 pt)</option>'+'<option value="5">5 (18 pt)</option>'+'<option value="6">6 (24 pt)</option>'+'<option value="7">7 (36 pt)</option>'+'</select>';case"|":case"separator":return'<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';case"spacer":return'<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';case"rowseparator":return'<br />'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case'mceHelp':tinyMCE.openWindow({file:'about.htm',width:480,height:380},{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return true;case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);")}action="update"}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class'])}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"})}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h)}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:""}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);")}action="update"}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout'])}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"forecolor":var fcp=new TinyMCE_Layer(editor_id+'_fcPreview',false),p,img,elm;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!fcp.exists()){fcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=fcp.getElement();elm._editor_id=editor_id;elm._command="forecolor";elm._switchId=editor_id+"_forecolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_forecolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));fcp.moveTo(p.absLeft,p.absTop);fcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).foreColor;fcp.show();return false;case"forecolorpicker":this._pickColor(editor_id,'forecolor');return true;case"forecolorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_fcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_text_colors','forecolor'));tinyMCE.switchClass(editor_id+'_forecolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_forecolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"HiliteColor":var bcp=new TinyMCE_Layer(editor_id+'_bcPreview',false),p,img;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!bcp.exists()){bcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=bcp.getElement();elm._editor_id=editor_id;elm._command="HiliteColor";elm._switchId=editor_id+"_backcolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_backcolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));bcp.moveTo(p.absLeft,p.absTop);bcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).backColor;bcp.show();return false;case"HiliteColorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_bcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_background_colors','HiliteColor'));tinyMCE.switchClass(editor_id+'_backcolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_backcolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"backcolorpicker":this._pickColor(editor_id,'HiliteColor');return true;case"mceColorPicker":if(user_interface){var template=[];if(!value['callback']&&!value['color'])value['color']=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=380;template['height']=250;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:value['color']})}else{var savedVal=tinyMCE.lastColorPickerValue,elm;if(savedVal['callback']){savedVal['callback'](value);return true}elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();')}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true}return false},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array(),skip;for(var i=0;i<in_array.length;i++){skip=false;for(var j=0;j<remove_array.length;j++){if(in_array[i]==remove_array[j]){skip=true}}if(!skip){outArray[outArray.length]=in_array[i]}}return outArray}function addToArray(in_array,add_array){for(var i=0;i<add_array.length;i++){in_array[in_array.length]=add_array[i]}return in_array}var template=new Array();var deltaHeight=0;var resizing=tinyMCE.getParam("theme_advanced_resizing",false);var path=tinyMCE.getParam("theme_advanced_path",true);var statusbarHTML='<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: '+(path?"block":"none")+'">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: '+(resizing?"block":"none")+'" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='<option value="">{$lang_theme_style_select}</option>';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i<stylesAr.length;i++){var key,value;key=stylesAr[i].split('=')[0];value=stylesAr[i].split('=')[1];styleSelectHTML+='<option value="'+value+'">'+key+'</option>'}TinyMCE_AdvancedTheme._autoImportCSSClasses=false}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='<a href="#" accesskey="q" title="'+tinyMCE.getLang("lang_toolbar_focus")+'"';if(!tinyMCE.getParam("accessibility_focus"))toolbarHTML+=' onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"';toolbarHTML+='></a>';for(var i=1;i<100;i++){var def=defVals["theme_advanced_buttons"+i];var buttons=tinyMCE.getParam("theme_advanced_buttons"+i,def==null?'':def,true,',');if(buttons.length==0)break;buttons=removeFromArray(buttons,tinyMCE.getParam("theme_advanced_disable","",true,','));buttons=addToArray(buttons,tinyMCE.getParam("theme_advanced_buttons"+i+"_add","",true,','));buttons=addToArray(tinyMCE.getParam("theme_advanced_buttons"+i+"_add_before","",true,','),buttons);for(var b=0;b<buttons.length;b++)toolbarHTML+=tinyMCE.getControlHTML(buttons[b]);if(buttons.length>0){toolbarHTML+="<br />";deltaHeight-=23}}toolbarHTML+='<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\''+editorId+'\').getWin().focus();"></a>';template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';if(toolbarLocation=="top")template['html']+='<tr><td dir="ltr" class="mceToolbarTop" align="'+toolbarAlign+'" height="1" nowrap="nowrap"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(statusbarLocation=="top"){template['html']+='<tr><td class="mceStatusbarTop" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';if(toolbarLocation=="bottom")template['html']+='<tr><td dir="ltr" class="mceToolbarBottom" align="'+toolbarAlign+'" height="1"><span id="'+editorId+'_toolbar" class="mceToolbarContainer">'+toolbarHTML+'</span></td></tr>';if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null}if(statusbarLocation=="bottom"){template['html']+='<tr><td class="mceStatusbarBottom" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=23}template['html']+='</tbody></table>';break;case"RowLayout":template['html']='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i<containers.length;i++){if(containers[i]=="mceEditor")template['html']+='<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom"}else if(i==0){pathClass="mceStatusbar"}else{deltaHeight-=2}template['html']+='<tr><td class="'+pathClass+'" height="1">'+statusbarHTML+'</td></tr>';deltaHeight-=22}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);curContainer=removeFromArray(curContainer,tinyMCE.getParam("theme_advanced_disable","",true,','));for(var j=0;j<curContainer.length;j++)curContainerHTML+=tinyMCE.getControlHTML(curContainer[j]);if(curContainer.length>0){curContainerHTML+="<br />";deltaHeight-=23}template['html']+='<tr><td class="'+curCSS+'" align="'+curAlign+'" height="1">'+curContainerHTML+'</td></tr>'}}template['html']+='</tbody></table>';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);")}break}if(resizing)template['html']+='<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);if(!template['delta_width'])template['delta_width']=0;if(!template['delta_height'])template['delta_height']=deltaHeight;return template},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true))}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink')},removeInstance:function(inst){new TinyMCE_Layer(inst.editorId+'_fcMenu').remove();new TinyMCE_Layer(inst.editorId+'_bcMenu').remove()},hideInstance:function(inst){TinyMCE_AdvancedTheme._hideMenus(inst.editorId)},_handleMenuEvent:function(e){var te=tinyMCE.isMSIE?window.event.srcElement:e.target;tinyMCE._menuButtonEvent(e.type=="mouseover"?"over":"out",document.getElementById(te._switchId));if(e.type=="click")tinyMCE.execInstanceCommand(te._editor_id,te._command)},_hideMenus:function(id){var fcml=new TinyMCE_Layer(id+'_fcMenu'),bcml=new TinyMCE_Layer(id+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(id+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(id+'_backcolor','mceMenuButton');bcml.hide()}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){var alignNode,breakOut,classNode;function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i<select_elm.options.length;i++){var ov=""+select_elm.options[i].value;if(first_index&&ov.toLowerCase().indexOf(value.toLowerCase())==0){select_elm.selectedIndex=i;return true}if(ov==value){select_elm.selectedIndex=i;return true}}}return false};if(node==null)return;var pathElm=document.getElementById(editor_id+"_path");var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();TinyMCE_AdvancedTheme._hideMenus(editor_id);if(pathElm){var parentNode=node;var path=new Array();while(parentNode!=null){if(parentNode.nodeName.toUpperCase()=="BODY"){break}if(parentNode.nodeType==1&&tinyMCE.getAttrib(parentNode,"class").indexOf('mceItemHidden')==-1){path[path.length]=parentNode}parentNode=parentNode.parentNode}var html="";for(var i=path.length-1;i>=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName.indexOf("html:")==0)nodeName=nodeName.substring(5);if(nodeName=="b"){nodeName="strong"}if(nodeName=="i"){nodeName="em"}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+tinyMCE.xmlEncode(st)+" "}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+tinyMCE.xmlEncode(face)+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+tinyMCE.xmlEncode(size)+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+tinyMCE.xmlEncode(color)+" "}if(tinyMCE.getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" "}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(tinyMCE.getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+tinyMCE.xmlEncode(src)+" "}if(path[i].nodeName=='A'&&tinyMCE.getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+tinyMCE.xmlEncode(href)+" "}className=tinyMCE.getAttrib(path[i],"class");if((nodeName=="img"||nodeName=="span")&&className.indexOf('mceItem')!=-1){nodeName=className.replace(/mceItem([a-z]+)/gi,'$1').toLowerCase();nodeData=path[i].getAttribute('title')}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+tinyMCE.xmlEncode(anchor);nodeData=""}if(tinyMCE.getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+='<a title="'+nodeData+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" target="_self" class="mcePathItem">'+nodeName+'</a>';if(i>0){html+=" &raquo; "}}pathElm.innerHTML='<a href="#" accesskey="x"></a>'+tinyMCE.getLang('lang_theme_path')+": "+html+'&#160;'}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal')}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled')}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index<undo_levels-1&&undo_levels>0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i<selectElm.options.length;i++){if(selectElm.options[i].value==classNode.className){index=i;breakOut=true;break}}}}while(!breakOut&&classNode!=null&&(classNode=classNode.parentNode)!=null);selectElm.selectedIndex=index}var selectElm=document.getElementById(editor_id+"_formatSelect");if(selectElm){var elm=tinyMCE.getParentElement(node,"p,div,h1,h2,h3,h4,h5,h6,pre,address");if(elm)selectByValue(selectElm,"<"+elm.nodeName.toLowerCase()+">");else selectByValue(selectElm,"")}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="")}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"")}else selectByValue(selectElm,"")}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size)}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i<sizes.length;i++){if((''+sizes[i])==size){size=i;break}}}if(!selectByValue(selectElm,size))selectByValue(selectElm,"")}else selectByValue(selectElm,"0")}}alignNode=node;breakOut=false;do{if(!alignNode.getAttribute||!alignNode.getAttribute('align'))continue;switch(alignNode.getAttribute('align').toLowerCase()){case"left":tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonSelected');breakOut=true;break;case"right":tinyMCE.switchClass(editor_id+'_justifyright','mceButtonSelected');breakOut=true;break;case"middle":case"center":tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');breakOut=true;break;case"justify":tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonSelected');breakOut=true;break}}while(!breakOut&&(alignNode=alignNode.parentNode)!=null);var div=tinyMCE.getParentElement(node,"div");if(div&&div.style.textAlign=="center")tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonSelected');if(!setup_content){var ar=new Array("Bold","_bold","Italic","_italic","Strikethrough","_strikethrough","superscript","_sup","subscript","_sub");for(var i=0;i<ar.length;i+=2){if(inst.queryCommandState(ar[i]))tinyMCE.switchClass(editor_id+ar[i+1],'mceButtonSelected')}if(inst.queryCommandState("Underline")&&(node.parentNode==null||node.parentNode.nodeName!="A"))tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected')}do{switch(node.nodeName){case"UL":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"OL":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break;case"HR":tinyMCE.switchClass(editor_id+'_hr','mceButtonSelected');break;case"IMG":if(tinyMCE.getAttrib(node,'name').indexOf('mce_')!=0&&tinyMCE.getAttrib(node,'class').indexOf('mceItem')==-1){tinyMCE.switchClass(editor_id+'_image','mceButtonSelected')}break}}while((node=node.parentNode)!=null)},_setupCSSClasses:function(editor_id){var i,selectElm;if(!TinyMCE_AdvancedTheme._autoImportCSSClasses)return;selectElm=document.getElementById(editor_id+'_styleSelect');if(selectElm&&selectElm.getAttribute('cssImported')!='true'){var csses=tinyMCE.getCSSClasses(editor_id);if(csses&&selectElm){for(i=0;i<csses.length;i++)selectElm.options[selectElm.options.length]=new Option(csses[i],csses[i])}if(csses!=null&&csses.length>0)selectElm.setAttribute('cssImported','true')}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end))},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth<minIframeWidth){dx=minIframeWidth-inst.iframeElement.clientWidth;inst.iframeElement.style.width=(iw+dx)+"px"}}inst.useCSS=false},_resizeEventHandler:function(e){var resizer=TinyMCE_AdvancedTheme._resizer;if(!resizer.resizing)return;e=typeof(e)=="undefined"?window.event:e;var dx=e.screenX-resizer.downX;var dy=e.screenY-resizer.downY;var resizeBox=resizer.resizeBox;var editorId=resizer.editorId;switch(e.type){case"mousemove":var w,h;w=resizer.width+dx;h=resizer.height+dy;w=w<1?1:w;h=h<1?1:h;if(resizer.horizontal)resizeBox.style.width=w+"px";resizeBox.style.height=h+"px";break;case"mouseup":TinyMCE_AdvancedTheme._setResizing(e,editorId,false);TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId),resizer.width+dx,resizer.height+dy,resizer.horizontal);if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var expires=new Date();expires.setTime(expires.getTime()+3600000*24*30);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_width",""+(resizer.horizontal?resizer.width+dx:""),expires);TinyMCE_AdvancedTheme._setCookie("TinyMCE_"+editorId+"_height",""+(resizer.height+dy),expires)}break}},_setResizing:function(e,editor_id,state){e=typeof(e)=="undefined"?window.event:e;var resizer=TinyMCE_AdvancedTheme._resizer;var editorContainer=document.getElementById(editor_id+'_parent');var editorArea=document.getElementById(editor_id+'_parent').firstChild;var resizeBox=document.getElementById(editor_id+'_resize_box');var inst=tinyMCE.getInstanceById(editor_id);if(state){var width=editorArea.clientWidth;var height=editorArea.clientHeight;resizeBox.style.width=width+"px";resizeBox.style.height=height+"px";resizer.iframeWidth=inst.iframeElement.clientWidth;resizer.iframeHeight=inst.iframeElement.clientHeight;editorArea.style.display="none";resizeBox.style.display="block";if(!resizer.eventHandlers){if(tinyMCE.isMSIE)tinyMCE.addEvent(document,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);else tinyMCE.addEvent(window,"mousemove",TinyMCE_AdvancedTheme._resizeEventHandler);tinyMCE.addEvent(document,"mouseup",TinyMCE_AdvancedTheme._resizeEventHandler);resizer.eventHandlers=true}resizer.resizing=true;resizer.downX=e.screenX;resizer.downY=e.screenY;resizer.width=parseInt(resizeBox.style.width);resizer.height=parseInt(resizeBox.style.height);resizer.editorId=editor_id;resizer.resizeBox=resizeBox;resizer.horizontal=tinyMCE.getParam("theme_advanced_resize_horizontal",true)}else{resizer.resizing=false;resizeBox.style.display="none";editorArea.style.display=tinyMCE.isMSIE&&!tinyMCE.isOpera?"block":"table";tinyMCE.execCommand('mceResetDesignMode')}},_getColorHTML:function(id,n,cm){var i,h,cl;h='<span class="mceMenuLine"></span>';cl=tinyMCE.getParam(n,TinyMCE_AdvancedTheme._defColors).split(',');h+='<table class="mceColors"><tr>';for(i=0;i<cl.length;i++){c='tinyMCE.execInstanceCommand(\''+id+'\', \''+cm+'\', false, \'#'+cl[i]+'\');';h+='<td><a href="javascript:'+c+'" style="background-color: #'+cl[i]+'" onclick="'+c+';return false;"></a></td>';if((i+1)%8==0)h+='</tr><tr>'}h+='</tr></table>';if(tinyMCE.getParam("theme_advanced_more_colors",true))h+='<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\''+id+'\',\''+cm+'\');" class="mceMoreColors">'+tinyMCE.getLang('lang_more_colors')+'</a>';return h},_pickColor:function(id,cm){var inputColor,inst=tinyMCE.selectedInstance;if(cm=='forecolor'&&inst)inputColor=inst.foreColor;if((cm=='backcolor'||cm=='HiliteColor')&&inst)inputColor=inst.backColor;tinyMCE.execCommand('mceColorPicker',true,{color:inputColor,callback:function(c){tinyMCE.execInstanceCommand(id,cm,false,c)}})},_insertImage:function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!tinyMCE.imgElement&&tinyMCE.isSafari){var html="";html+='<img src="'+src+'" alt="'+alt+'"';html+=' border="'+border+'" hspace="'+hspace+'"';html+=' vspace="'+vspace+'" width="'+width+'"';html+=' height="'+height+'" align="'+align+'" title="'+title+'" onmouseover="'+onmouseover+'" onmouseout="'+onmouseout+'" />';tinyMCE.execCommand("mceInsertContent",false,html)}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'<img src="'+tinyMCE.uniqueURL+'" />');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL)}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint()}tinyMCE.execCommand('mceEndUndoLevel')},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement)}return}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,'<a href="'+tinyMCE.uniqueURL+'">'+tinyMCE.selectedInstance.selection.getSelectedHTML()+'</a>')}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i<elementArray.length;i++){var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, elementArray[i]);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(elementArray[i],'href',thref);tinyMCE.setAttrib(elementArray[i],'mce_href',mhref);tinyMCE.setAttrib(elementArray[i],'target',target);tinyMCE.setAttrib(elementArray[i],'title',title);tinyMCE.setAttrib(elementArray[i],'onclick',onclick);tinyMCE.setAttrib(elementArray[i],'class',style_class)}tinyMCE.linkElement=elementArray[0]}if(tinyMCE.linkElement){var mhref=href;href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(tinyMCE.linkElement,'href',href);tinyMCE.setAttrib(tinyMCE.linkElement,'mce_href',mhref);tinyMCE.setAttrib(tinyMCE.linkElement,'target',target);tinyMCE.setAttrib(tinyMCE.linkElement,'title',title);tinyMCE.setAttrib(tinyMCE.linkElement,'onclick',onclick);tinyMCE.setAttrib(tinyMCE.linkElement,'class',style_class)}tinyMCE.execCommand('mceEndUndoLevel')}};tinyMCE.addTheme("advanced",TinyMCE_AdvancedTheme);tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1574 @@
+/**
+ * $Id: editor_template_src.js 218 2007-02-13 11:08:01Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/* Import theme specific language pack */
+tinyMCE.importThemeLanguagePack('advanced');
+
+var TinyMCE_AdvancedTheme = {
+	// Private theme fields
+	_defColors : "000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",
+	_autoImportCSSClasses : true,
+	_resizer : {},
+	_buttons : [
+		// Control id, button img, button title, command, user_interface, value
+		['bold', '{$lang_bold_img}', 'lang_bold_desc', 'Bold'],
+		['italic', '{$lang_italic_img}', 'lang_italic_desc', 'Italic'],
+		['underline', '{$lang_underline_img}', 'lang_underline_desc', 'Underline'],
+		['strikethrough', 'strikethrough.gif', 'lang_striketrough_desc', 'Strikethrough'],
+		['justifyleft', 'justifyleft.gif', 'lang_justifyleft_desc', 'JustifyLeft'],
+		['justifycenter', 'justifycenter.gif', 'lang_justifycenter_desc', 'JustifyCenter'],
+		['justifyright', 'justifyright.gif', 'lang_justifyright_desc', 'JustifyRight'],
+		['justifyfull', 'justifyfull.gif', 'lang_justifyfull_desc', 'JustifyFull'],
+		['bullist', 'bullist.gif', 'lang_bullist_desc', 'InsertUnorderedList'],
+		['numlist', 'numlist.gif', 'lang_numlist_desc', 'InsertOrderedList'],
+		['outdent', 'outdent.gif', 'lang_outdent_desc', 'Outdent'],
+		['indent', 'indent.gif', 'lang_indent_desc', 'Indent'],
+		['cut', 'cut.gif', 'lang_cut_desc', 'Cut'],
+		['copy', 'copy.gif', 'lang_copy_desc', 'Copy'],
+		['paste', 'paste.gif', 'lang_paste_desc', 'Paste'],
+		['undo', 'undo.gif', 'lang_undo_desc', 'Undo'],
+		['redo', 'redo.gif', 'lang_redo_desc', 'Redo'],
+		['link', 'link.gif', 'lang_link_desc', 'mceLink', true],
+		['unlink', 'unlink.gif', 'lang_unlink_desc', 'unlink'],
+		['image', 'image.gif', 'lang_image_desc', 'mceImage', true],
+		['cleanup', 'cleanup.gif', 'lang_cleanup_desc', 'mceCleanup'],
+		['help', 'help.gif', 'lang_help_desc', 'mceHelp'],
+		['code', 'code.gif', 'lang_theme_code_desc', 'mceCodeEditor'],
+		['hr', 'hr.gif', 'lang_theme_hr_desc', 'inserthorizontalrule'],
+		['removeformat', 'removeformat.gif', 'lang_theme_removeformat_desc', 'removeformat'],
+		['sub', 'sub.gif', 'lang_theme_sub_desc', 'subscript'],
+		['sup', 'sup.gif', 'lang_theme_sup_desc', 'superscript'],
+		['forecolor', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolor', true],
+		['forecolorpicker', 'forecolor.gif', 'lang_theme_forecolor_desc', 'forecolorpicker', true],
+		['backcolor', 'backcolor.gif', 'lang_theme_backcolor_desc', 'HiliteColor', true],
+		['backcolorpicker', 'backcolor.gif', 'lang_theme_backcolor_desc', 'backcolorpicker', true],
+		['charmap', 'charmap.gif', 'lang_theme_charmap_desc', 'mceCharMap'],
+		['visualaid', 'visualaid.gif', 'lang_theme_visualaid_desc', 'mceToggleVisualAid'],
+		['anchor', 'anchor.gif', 'lang_theme_anchor_desc', 'mceInsertAnchor'],
+		['newdocument', 'newdocument.gif', 'lang_newdocument_desc', 'mceNewDocument']
+	],
+
+	_buttonMap : 'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',
+
+	/**
+	 * Returns HTML code for the specificed control.
+	 */
+	getControlHTML : function(button_name) {
+		var i, x, but;
+
+		// Lookup button in button list
+		for (i=0; i<TinyMCE_AdvancedTheme._buttons.length; i++) {
+			but = TinyMCE_AdvancedTheme._buttons[i];
+
+			if (but[0] == button_name && (button_name == "forecolor" || button_name == "backcolor"))
+				return tinyMCE.getMenuButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3] + "Menu", but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+
+			if (but[0] == button_name)
+				return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null));
+		}
+
+		// Custom controlls other than buttons
+		switch (button_name) {
+			case "formatselect":
+				var html = '<select id="{$editor_id}_formatSelect" name="{$editor_id}_formatSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FormatBlock\',false,this.options[this.selectedIndex].value);" class="mceSelectList">';
+				var formats = tinyMCE.getParam("theme_advanced_blockformats", "p,address,pre,h1,h2,h3,h4,h5,h6", true).split(',');
+				var lookup = [
+					['p', '{$lang_theme_paragraph}'],
+					['address', '{$lang_theme_address}'],
+					['pre', '{$lang_theme_pre}'],
+					['h1', '{$lang_theme_h1}'],
+					['h2', '{$lang_theme_h2}'],
+					['h3', '{$lang_theme_h3}'],
+					['h4', '{$lang_theme_h4}'],
+					['h5', '{$lang_theme_h5}'],
+					['h6', '{$lang_theme_h6}'],
+					['div', '{$lang_theme_div}'],
+					['blockquote', '{$lang_theme_blockquote}'],
+					['code', '{$lang_theme_code}'],
+					['dt', '{$lang_theme_dt}'],
+					['dd', '{$lang_theme_dd}'],
+					['samp', '{$lang_theme_samp}']
+				];
+
+				html += '<option value="">{$lang_theme_block}</option>';
+
+				// Build format select
+				for (var i=0; i<formats.length; i++) {
+					for (var x=0; x<lookup.length; x++) {
+						if (formats[i] == lookup[x][0])
+							html += '<option value="&lt;' + lookup[x][0] + '&gt;">' + lookup[x][1] + '</option>';
+					}
+				}
+
+				html += '</select>';
+
+				return html;
+
+			case "styleselect":
+				return '<select id="{$editor_id}_styleSelect" onmousedown="tinyMCE.themes.advanced._setupCSSClasses(\'{$editor_id}\');" name="{$editor_id}_styleSelect" onfocus="tinyMCE.addSelectAccessibility(event,this,window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'mceSetCSSClass\',false,this.options[this.selectedIndex].value);" class="mceSelectList">{$style_select_options}</select>';
+
+			case "fontselect":
+				var fontHTML = '<select id="{$editor_id}_fontNameSelect" name="{$editor_id}_fontNameSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontName\',false,this.options[this.selectedIndex].value);" class="mceSelectList"><option value="">{$lang_theme_fontdefault}</option>';
+				var iFonts = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings';
+				var nFonts = 'Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sand;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats';
+				var fonts = tinyMCE.getParam("theme_advanced_fonts", nFonts).split(';');
+				for (i=0; i<fonts.length; i++) {
+					if (fonts[i] != '') {
+						var parts = fonts[i].split('=');
+						fontHTML += '<option value="' + parts[1] + '">' + parts[0] + '</option>';
+					}
+				}
+
+				fontHTML += '</select>';
+				return fontHTML;
+
+			case "fontsizeselect":
+				return '<select id="{$editor_id}_fontSizeSelect" name="{$editor_id}_fontSizeSelect" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="tinyMCE.execInstanceCommand(\'{$editor_id}\',\'FontSize\',false,this.options[this.selectedIndex].value);" class="mceSelectList">'+
+						'<option value="0">{$lang_theme_font_size}</option>'+
+						'<option value="1">1 (8 pt)</option>'+
+						'<option value="2">2 (10 pt)</option>'+
+						'<option value="3">3 (12 pt)</option>'+
+						'<option value="4">4 (14 pt)</option>'+
+						'<option value="5">5 (18 pt)</option>'+
+						'<option value="6">6 (24 pt)</option>'+
+						'<option value="7">7 (36 pt)</option>'+
+						'</select>';
+
+			case "|":
+			case "separator":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+
+			case "spacer":
+				return '<img src="{$themeurl}/images/separator.gif" width="2" height="15" border="0" class="mceSeparatorLine" style="vertical-align: middle" />';
+
+			case "rowseparator":
+				return '<br />';
+		}
+
+		return "";
+	},
+
+	/**
+	 * Theme specific execcommand handling.
+	 */
+	execCommand : function(editor_id, element, command, user_interface, value) {
+		switch (command) {
+			case 'mceHelp':
+				tinyMCE.openWindow({
+					file : 'about.htm',
+					width : 480,
+					height : 380
+				}, {
+					tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion,
+					tinymce_releasedate : tinyMCE.releaseDate,
+					inline : "yes"
+				});
+			return true;
+
+			case "mceLink":
+				var inst = tinyMCE.getInstanceById(editor_id);
+				var doc = inst.getDoc();
+				var selectedText = "";
+
+				if (tinyMCE.isMSIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = inst.getSel().toString();
+
+				if (!tinyMCE.linkElement) {
+					if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0))
+						return true;
+				}
+
+				var href = "", target = "", title = "", onclick = "", action = "insert", style_class = "";
+
+				if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a")
+					tinyMCE.linkElement = tinyMCE.selectedElement;
+
+				// Is anchor not a link
+				if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "")
+					tinyMCE.linkElement = null;
+
+				if (tinyMCE.linkElement) {
+					href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href');
+					target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target');
+					title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title');
+					onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+					style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class');
+
+					// Try old onclick to if copy/pasted content
+					if (onclick == "")
+						onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick');
+
+					onclick = tinyMCE.cleanupEventStr(onclick);
+
+					href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+
+					// Use mce_href if defined
+					mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href');
+					if (mceRealHref != "") {
+						href = mceRealHref;
+
+						if (tinyMCE.getParam('convert_urls'))
+							href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);");
+					}
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'link.htm';
+				template['width'] = 310;
+				template['height'] = 200;
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0);
+
+				if (inst.settings['insertlink_callback']) {
+					var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);");
+					if (returnVal && returnVal['href'])
+						TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']);
+				} else {
+					tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"});
+				}
+
+				return true;
+
+			case "mceImage":
+				var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = "";
+				var title = "", onmouseover = "", onmouseout = "", action = "insert";
+				var img = tinyMCE.imgElement;
+				var inst = tinyMCE.getInstanceById(editor_id);
+
+				if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+					img = tinyMCE.selectedElement;
+					tinyMCE.imgElement = img;
+				}
+
+				if (img) {
+					// Is it a internal MCE visual aid image, then skip this one.
+					if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0)
+						return true;
+
+					src = tinyMCE.getAttrib(img, 'src');
+					alt = tinyMCE.getAttrib(img, 'alt');
+
+					// Try polling out the title
+					if (alt == "")
+						alt = tinyMCE.getAttrib(img, 'title');
+
+					// Fix width/height attributes if the styles is specified
+					if (tinyMCE.isGecko) {
+						var w = img.style.width;
+						if (w != null && w != "")
+							img.setAttribute("width", w);
+
+						var h = img.style.height;
+						if (h != null && h != "")
+							img.setAttribute("height", h);
+					}
+
+					border = tinyMCE.getAttrib(img, 'border');
+					hspace = tinyMCE.getAttrib(img, 'hspace');
+					vspace = tinyMCE.getAttrib(img, 'vspace');
+					width = tinyMCE.getAttrib(img, 'width');
+					height = tinyMCE.getAttrib(img, 'height');
+					align = tinyMCE.getAttrib(img, 'align');
+					onmouseover = tinyMCE.getAttrib(img, 'onmouseover');
+					onmouseout = tinyMCE.getAttrib(img, 'onmouseout');
+					title = tinyMCE.getAttrib(img, 'title');
+
+					// Is realy specified?
+					if (tinyMCE.isMSIE) {
+						width = img.attributes['width'].specified ? width : "";
+						height = img.attributes['height'].specified ? height : "";
+					}
+
+					//onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover));
+					//onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout));
+
+					src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+
+					// Use mce_src if defined
+					mceRealSrc = tinyMCE.getAttrib(img, 'mce_src');
+					if (mceRealSrc != "") {
+						src = mceRealSrc;
+
+						if (tinyMCE.getParam('convert_urls'))
+							src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);");
+					}
+
+					//if (onmouseover != "")
+					//	onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);");
+
+					//if (onmouseout != "")
+					//	onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);");
+
+					action = "update";
+				}
+
+				var template = new Array();
+
+				template['file'] = 'image.htm?src={$src}';
+				template['width'] = 355;
+				template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0);
+
+				// Language specific width and height addons
+				template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0);
+
+				if (inst.settings['insertimage_callback']) {
+					var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");
+					if (returnVal && returnVal['src'])
+						TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']);
+				} else
+					tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"});
+
+				return true;
+
+			case "forecolor":
+				var fcp = new TinyMCE_Layer(editor_id + '_fcPreview', false), p, img, elm;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!fcp.exists()) {
+					fcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = fcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "forecolor";
+					elm._switchId = editor_id + "_forecolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_forecolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				fcp.moveTo(p.absLeft, p.absTop);
+				fcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).foreColor;
+				fcp.show();
+
+				return false;
+
+			case "forecolorpicker":
+				this._pickColor(editor_id, 'forecolor');
+				return true;
+
+			case "forecolorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_fcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_text_colors', 'forecolor'));
+
+				tinyMCE.switchClass(editor_id + '_forecolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_forecolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+
+			case "HiliteColor":
+				var bcp = new TinyMCE_Layer(editor_id + '_bcPreview', false), p, img;
+
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				if (!bcp.exists()) {
+					bcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar'));
+					elm = bcp.getElement();
+					elm._editor_id = editor_id;
+					elm._command = "HiliteColor";
+					elm._switchId = editor_id + "_backcolor";
+					tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent);
+					tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent);
+				}
+
+				img = tinyMCE.selectNodes(document.getElementById(editor_id + "_backcolor"), function(n) {return n.nodeName == "IMG";})[0];
+				p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar'));
+
+				bcp.moveTo(p.absLeft, p.absTop);
+				bcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).backColor;
+				bcp.show();
+
+				return false;
+
+			case "HiliteColorMenu":
+				TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+				// Create color layer
+				var ml = new TinyMCE_Layer(editor_id + '_bcMenu');
+
+				if (!ml.exists())
+					ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_background_colors', 'HiliteColor'));
+
+				tinyMCE.switchClass(editor_id + '_backcolor', 'mceMenuButtonFocus');
+				ml.moveRelativeTo(document.getElementById(editor_id + "_backcolor"), 'bl');
+
+				ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1);
+
+				if (tinyMCE.isOpera)
+					ml.moveBy(0, -2);
+
+				ml.show();
+			return true;
+	
+			case "backcolorpicker":
+				this._pickColor(editor_id, 'HiliteColor');
+				return true;
+
+			case "mceColorPicker":
+				if (user_interface) {
+					var template = [];
+	
+					if (!value['callback'] && !value['color'])
+						value['color'] = value['document'].getElementById(value['element_id']).value;
+
+					template['file'] = 'color_picker.htm';
+					template['width'] = 380;
+					template['height'] = 250;
+					template['close_previous'] = "no";
+
+					template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0);
+					template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0);
+
+					if (typeof(value['store_selection']) == "undefined")
+						value['store_selection'] = true;
+
+					tinyMCE.lastColorPickerValue = value;
+					tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : value['color']});
+				} else {
+					var savedVal = tinyMCE.lastColorPickerValue, elm;
+
+					if (savedVal['callback']) {
+						savedVal['callback'](value);
+						return true;
+					}
+
+					elm = savedVal['document'].getElementById(savedVal['element_id']);
+					elm.value = value;
+
+					if (elm.onchange != null && elm.onchange != '')
+						eval('elm.onchange();');
+				}
+			return true;
+
+			case "mceCodeEditor":
+				var template = new Array();
+
+				template['file'] = 'source_editor.htm';
+				template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720));
+				template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580));
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"});
+				return true;
+
+			case "mceCharMap":
+				var template = new Array();
+
+				template['file'] = 'charmap.htm';
+				template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0);
+				template['height'] = 250;
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceInsertAnchor":
+				var template = new Array();
+
+				template['file'] = 'anchor.htm';
+				template['width'] = 320;
+				template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0);
+
+				template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0);
+				template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0);
+
+				tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
+				return true;
+
+			case "mceNewDocument":
+				if (confirm(tinyMCE.getLang('lang_newdocument')))
+					tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' ');
+
+				return true;
+		}
+
+		return false;
+	},
+
+	/**
+	 * Editor instance template function.
+	 */
+	getEditorTemplate : function(settings, editorId) {
+		function removeFromArray(in_array, remove_array) {
+			var outArray = new Array(), skip;
+			
+			for (var i=0; i<in_array.length; i++) {
+				skip = false;
+
+				for (var j=0; j<remove_array.length; j++) {
+					if (in_array[i] == remove_array[j]) {
+						skip = true;
+					}
+				}
+
+				if (!skip) {
+					outArray[outArray.length] = in_array[i];
+				}
+			}
+
+			return outArray;
+		}
+
+		function addToArray(in_array, add_array) {
+			for (var i=0; i<add_array.length; i++) {
+				in_array[in_array.length] = add_array[i];
+			}
+
+			return in_array;
+		}
+
+		var template = new Array();
+		var deltaHeight = 0;
+		var resizing = tinyMCE.getParam("theme_advanced_resizing", false);
+		var path = tinyMCE.getParam("theme_advanced_path", true);
+		var statusbarHTML = '<div id="{$editor_id}_path" class="mceStatusbarPathText" style="display: ' + (path ? "block" : "none") + '">&#160;</div><div id="{$editor_id}_resize" class="mceStatusbarResize" style="display: ' + (resizing ? "block" : "none") + '" onmousedown="tinyMCE.themes.advanced._setResizing(event,\'{$editor_id}\',true);"></div><br style="clear: both" />';
+		var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout");
+
+		// Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY!
+		var styleSelectHTML = '<option value="">{$lang_theme_style_select}</option>';
+		if (settings['theme_advanced_styles']) {
+			var stylesAr = settings['theme_advanced_styles'].split(';');
+			
+			for (var i=0; i<stylesAr.length; i++) {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectHTML += '<option value="' + value + '">' + key + '</option>';
+			}
+
+			TinyMCE_AdvancedTheme._autoImportCSSClasses = false;
+		}
+
+		switch(layoutManager) {
+			case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)...
+				var toolbarHTML = "";
+				var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom");
+				var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center");
+				var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity
+				var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation);
+				var defVals = {
+					theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",
+					theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",
+					theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap"
+				};
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="q" title="' + tinyMCE.getLang("lang_toolbar_focus") + '"';
+
+				if (!tinyMCE.getParam("accessibility_focus"))
+					toolbarHTML += ' onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"';
+
+				toolbarHTML += '></a>';
+
+				// Render rows
+				for (var i=1; i<100; i++) {
+					var def = defVals["theme_advanced_buttons" + i];
+
+					var buttons = tinyMCE.getParam("theme_advanced_buttons" + i, def == null ? '' : def, true, ',');
+					if (buttons.length == 0)
+						break;
+
+					buttons = removeFromArray(buttons, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+					buttons = addToArray(buttons, tinyMCE.getParam("theme_advanced_buttons" + i + "_add", "", true, ','));
+					buttons = addToArray(tinyMCE.getParam("theme_advanced_buttons" + i + "_add_before", "", true, ','), buttons);
+
+					for (var b=0; b<buttons.length; b++)
+						toolbarHTML += tinyMCE.getControlHTML(buttons[b]);
+
+					if (buttons.length > 0) {
+						toolbarHTML += "<br />";
+						deltaHeight -= 23;
+					}
+				}
+
+				// Add accessibility control
+				toolbarHTML += '<a href="#" accesskey="z" onfocus="tinyMCE.getInstanceById(\'' + editorId + '\').getWin().focus();"></a>';
+
+				// Setup template html
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width_style};height:{$height_style}"><tbody>';
+
+				if (toolbarLocation == "top")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarTop" align="' + toolbarAlign + '" height="1" nowrap="nowrap"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				if (statusbarLocation == "top") {
+					template['html'] += '<tr><td class="mceStatusbarTop" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '<tr><td align="center"><span id="{$editor_id}"></span></td></tr>';
+
+				if (toolbarLocation == "bottom")
+					template['html'] += '<tr><td dir="ltr" class="mceToolbarBottom" align="' + toolbarAlign + '" height="1"><span id="' + editorId + '_toolbar" class="mceToolbarContainer">' + toolbarHTML + '</span></td></tr>';
+
+				// External toolbar changes
+				if (toolbarLocation == "external") {
+					var bod = document.body;
+					var elm = document.createElement ("div");
+
+					toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML);
+					toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId});
+
+					elm.className = "mceToolbarExternal";
+					elm.id = editorId+"_toolbar";
+					elm.innerHTML = '<table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table>';
+					bod.appendChild (elm);
+					// bod.style.marginTop = elm.offsetHeight + "px";
+
+					deltaHeight = 0;
+					tinyMCE.getInstanceById(editorId).toolbarElement = elm;
+
+					//template['html'] = '<div id="mceExternalToolbar" align="center" class="mceToolbarExternal"><table width="100%" border="0" align="center"><tr><td align="center">'+toolbarHTML+'</td></tr></table></div>' + template["html"];
+				} else {
+					tinyMCE.getInstanceById(editorId).toolbarElement = null;
+				}
+
+				if (statusbarLocation == "bottom") {
+					template['html'] += '<tr><td class="mceStatusbarBottom" height="1">' + statusbarHTML + '</td></tr>';
+					deltaHeight -= 23;
+				}
+
+				template['html'] += '</tbody></table>';
+				//"SimpleLayout"
+			break;
+
+			case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom.
+				template['html'] = '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}" style="width:{$width}px;height:{$height}px"><tbody>';
+
+				var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ",");
+				var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container");
+				var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center");
+
+				//Render Containers:
+				for (var i = 0; i < containers.length; i++)
+				{
+					if (containers[i] == "mceEditor") //Exceptions for mceEditor and ...
+						template['html'] += '<tr><td align="center" class="mceEditor_border"><span id="{$editor_id}"></span></td></tr>';
+					else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath:
+					{
+						var pathClass = "mceStatusbar";
+
+						if (i == containers.length-1)
+						{
+							pathClass = "mceStatusbarBottom";
+						}
+						else if (i == 0)
+						{
+							pathClass = "mceStatusbar";
+						}
+						else
+						{
+							deltaHeight-=2;
+						}
+
+						template['html'] += '<tr><td class="' + pathClass + '" height="1">' + statusbarHTML + '</td></tr>';
+						deltaHeight -= 22;
+					} else { // Render normal Container
+						var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ',');
+						var curContainerHTML = "";
+						var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign);
+						var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS);
+
+						curContainer = removeFromArray(curContainer, tinyMCE.getParam("theme_advanced_disable", "", true, ','));
+
+						for (var j=0; j<curContainer.length; j++)
+							curContainerHTML += tinyMCE.getControlHTML(curContainer[j]);
+
+						if (curContainer.length > 0) {
+							curContainerHTML += "<br />";
+							deltaHeight -= 23;
+						}
+
+						template['html'] += '<tr><td class="' + curCSS + '" align="' + curAlign + '" height="1">' + curContainerHTML + '</td></tr>';
+					}
+				}
+
+				template['html'] += '</tbody></table>';
+				//RowLayout
+			break;
+
+			case "CustomLayout" : //User defined layout callback...
+				var customLayout = tinyMCE.getParam("theme_advanced_custom_layout","");
+
+				if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") {
+					template = eval(customLayout + "(template);");
+				}
+			break;
+		}
+
+		if (resizing)
+			template['html'] += '<span id="{$editor_id}_resize_box" class="mceResizeBox"></span>';
+
+		template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML);
+
+		// Set to default values
+		if (!template['delta_width'])
+			template['delta_width'] = 0;
+
+		if (!template['delta_height'])
+			template['delta_height'] = deltaHeight;
+
+		return template;
+	},
+
+	initInstance : function(inst) {
+		if (tinyMCE.getParam("theme_advanced_resizing", false)) {
+			if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+				var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width");
+				var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height");
+
+				TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true));
+			}
+		}
+
+		inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink');
+	},
+
+	removeInstance : function(inst) {
+		new TinyMCE_Layer(inst.editorId + '_fcMenu').remove();
+		new TinyMCE_Layer(inst.editorId + '_bcMenu').remove();
+	},
+
+	hideInstance : function(inst) {
+		TinyMCE_AdvancedTheme._hideMenus(inst.editorId);
+	},
+
+	_handleMenuEvent : function(e) {
+		var te = tinyMCE.isMSIE ? window.event.srcElement : e.target;
+		tinyMCE._menuButtonEvent(e.type == "mouseover" ? "over" : "out", document.getElementById(te._switchId));
+
+		if (e.type == "click")
+			tinyMCE.execInstanceCommand(te._editor_id, te._command);
+	},
+
+	_hideMenus : function(id) {
+		var fcml = new TinyMCE_Layer(id + '_fcMenu'), bcml = new TinyMCE_Layer(id + '_bcMenu');
+
+		if (fcml.exists() && fcml.isVisible()) {
+			tinyMCE.switchClass(id + '_forecolor', 'mceMenuButton');
+			fcml.hide();
+		}
+
+		if (bcml.exists() && bcml.isVisible()) {
+			tinyMCE.switchClass(id + '_backcolor', 'mceMenuButton');
+			bcml.hide();
+		}
+	},
+
+	/**
+	 * Node change handler.
+	 */
+	handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) {
+		var alignNode, breakOut, classNode;
+
+		function selectByValue(select_elm, value, first_index) {
+			first_index = typeof(first_index) == "undefined" ? false : true;
+
+			if (select_elm) {
+				for (var i=0; i<select_elm.options.length; i++) {
+					var ov = "" + select_elm.options[i].value;
+
+					if (first_index && ov.toLowerCase().indexOf(value.toLowerCase()) == 0) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+
+					if (ov == value) {
+						select_elm.selectedIndex = i;
+						return true;
+					}
+				}
+			}
+
+			return false;
+		};
+
+		// No node provided
+		if (node == null)
+			return;
+
+		// Update path
+		var pathElm = document.getElementById(editor_id + "_path");
+		var inst = tinyMCE.getInstanceById(editor_id);
+		var doc = inst.getDoc();
+		TinyMCE_AdvancedTheme._hideMenus(editor_id);
+
+		if (pathElm) {
+			// Get node path
+			var parentNode = node;
+			var path = new Array();
+			
+			while (parentNode != null) {
+				if (parentNode.nodeName.toUpperCase() == "BODY") {
+					break;
+				}
+
+				// Only append element nodes to path
+				if (parentNode.nodeType == 1 && tinyMCE.getAttrib(parentNode, "class").indexOf('mceItemHidden') == -1) {
+					path[path.length] = parentNode;
+				}
+
+				parentNode = parentNode.parentNode;
+			}
+
+			// Setup HTML
+			var html = "";
+			for (var i=path.length-1; i>=0; i--) {
+				var nodeName = path[i].nodeName.toLowerCase();
+				var nodeData = "";
+
+				if (nodeName.indexOf("html:") == 0)
+					nodeName = nodeName.substring(5);
+
+				if (nodeName == "b") {
+					nodeName = "strong";
+				}
+
+				if (nodeName == "i") {
+					nodeName = "em";
+				}
+
+				if (nodeName == "span") {
+					var cn = tinyMCE.getAttrib(path[i], "class");
+					if (cn != "" && cn.indexOf('mceItem') == -1)
+						nodeData += "class: " + cn + " ";
+
+					var st = tinyMCE.getAttrib(path[i], "style");
+					if (st != "") {
+						st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st));
+						nodeData += "style: " + tinyMCE.xmlEncode(st) + " ";
+					}
+				}
+
+				if (nodeName == "font") {
+					if (tinyMCE.getParam("convert_fonts_to_spans"))
+						nodeName = "span";
+
+					var face = tinyMCE.getAttrib(path[i], "face");
+					if (face != "")
+						nodeData += "font: " + tinyMCE.xmlEncode(face) + " ";
+
+					var size = tinyMCE.getAttrib(path[i], "size");
+					if (size != "")
+						nodeData += "size: " + tinyMCE.xmlEncode(size) + " ";
+
+					var color = tinyMCE.getAttrib(path[i], "color");
+					if (color != "")
+						nodeData += "color: " + tinyMCE.xmlEncode(color) + " ";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'id') != "") {
+					nodeData += "id: " + path[i].getAttribute('id') + " ";
+				}
+
+				var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+				if (className != "" && className.indexOf('mceItem') == -1)
+					nodeData += "class: " + className + " ";
+
+				if (tinyMCE.getAttrib(path[i], 'src') != "") {
+					var src = tinyMCE.getAttrib(path[i], "mce_src");
+
+					if (src == "")
+						 src = tinyMCE.getAttrib(path[i], "src");
+
+					nodeData += "src: " + tinyMCE.xmlEncode(src) + " ";
+				}
+
+				if (path[i].nodeName == 'A' && tinyMCE.getAttrib(path[i], 'href') != "") {
+					var href = tinyMCE.getAttrib(path[i], "mce_href");
+
+					if (href == "")
+						 href = tinyMCE.getAttrib(path[i], "href");
+
+					nodeData += "href: " + tinyMCE.xmlEncode(href) + " ";
+				}
+
+				className = tinyMCE.getAttrib(path[i], "class");
+				if ((nodeName == "img" || nodeName == "span") && className.indexOf('mceItem') != -1) {
+					nodeName = className.replace(/mceItem([a-z]+)/gi, '$1').toLowerCase();
+					nodeData = path[i].getAttribute('title');
+				}
+
+				if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") {
+					nodeName = "a";
+					nodeName += "#" + tinyMCE.xmlEncode(anchor);
+					nodeData = "";
+				}
+
+				if (tinyMCE.getAttrib(path[i], 'name').indexOf("mce_") != 0) {
+					var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false);
+					if (className != "" && className.indexOf('mceItem') == -1) {
+						nodeName += "." + className;
+					}
+				}
+
+				var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');';
+				html += '<a title="' + nodeData + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" target="_self" class="mcePathItem">' + nodeName + '</a>';
+
+				if (i > 0) {
+					html += " &raquo; ";
+				}
+			}
+
+			pathElm.innerHTML = '<a href="#" accesskey="x"></a>' + tinyMCE.getLang('lang_theme_path') + ": " + html + '&#160;';
+		}
+
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled');
+		tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal');
+
+		if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1)
+			tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected');
+
+		// Get link
+		var anchorLink = tinyMCE.getParentElement(node, "a", "href");
+
+		if (anchorLink || any_selection) {
+			tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+			tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal');
+		}
+
+		// Handle visual aid
+		tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal');
+
+		if (undo_levels != -1) {
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled');
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled');
+		}
+
+		// Within li, blockquote
+		if (tinyMCE.getParentElement(node, "li,blockquote"))
+			tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal');
+
+		// Has redo levels
+		if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal');
+
+		// Has undo levels
+		if (undo_index != -1 && (undo_index > 0 && undo_levels > 0))
+			tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal');
+
+		// Select class in select box
+		var selectElm = document.getElementById(editor_id + "_styleSelect");
+		
+		if (selectElm) {
+			TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);
+
+			classNode = node;
+			breakOut = false;
+			var index = 0;
+
+			do {
+				if (classNode && classNode.className) {
+					for (var i=0; i<selectElm.options.length; i++) {
+						if (selectElm.options[i].value == classNode.className) {
+							index = i;
+							breakOut = true;
+							break;
+						}
+					}
+				}
+			} while (!breakOut && classNode != null && (classNode = classNode.parentNode) != null);
+
+			selectElm.selectedIndex = index;
+		}
+
+		// Select formatblock
+		var selectElm = document.getElementById(editor_id + "_formatSelect");
+		if (selectElm) {
+			var elm = tinyMCE.getParentElement(node, "p,div,h1,h2,h3,h4,h5,h6,pre,address");
+
+			if (elm)
+				selectByValue(selectElm, "<" + elm.nodeName.toLowerCase() + ">");
+			else
+				selectByValue(selectElm, "");
+		}
+
+		// Select fontselect
+		var selectElm = document.getElementById(editor_id + "_fontNameSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) {
+				var face = inst.queryCommandValue('FontName');
+
+				face = face == null || face == "" ? "" : face;
+
+				selectByValue(selectElm, face, face != "");
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "face");
+
+				if (elm) {
+					var family = tinyMCE.getAttrib(elm, "face");
+
+					if (family == '')
+						family = '' + elm.style.fontFamily;
+
+					if (!selectByValue(selectElm, family, family != ""))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "");
+			}
+		}
+
+		// Select fontsize
+		var selectElm = document.getElementById(editor_id + "_fontSizeSelect");
+		if (selectElm) {
+			if (!tinyMCE.isSafari && !tinyMCE.isOpera) {
+				var size = inst.queryCommandValue('FontSize');
+				selectByValue(selectElm, size == null || size == "" ? "0" : size);
+			} else {
+				var elm = tinyMCE.getParentElement(node, "font", "size");
+				if (elm) {
+					var size = tinyMCE.getAttrib(elm, "size");
+
+					if (size == '') {
+						var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px');
+
+						size = '' + elm.style.fontSize;
+
+						for (var i=0; i<sizes.length; i++) {
+							if (('' + sizes[i]) == size) {
+								size = i;
+								break;
+							}
+						}
+					}
+
+					if (!selectByValue(selectElm, size))
+						selectByValue(selectElm, "");
+				} else
+					selectByValue(selectElm, "0");
+			}
+		}
+
+		// Handle align attributes
+		alignNode = node;
+		breakOut = false;
+		do {
+			if (!alignNode.getAttribute || !alignNode.getAttribute('align'))
+				continue;
+
+			switch (alignNode.getAttribute('align').toLowerCase()) {
+				case "left":
+					tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "right":
+					tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "middle":
+				case "center":
+					tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+					breakOut = true;
+				break;
+
+				case "justify":
+					tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonSelected');
+					breakOut = true;
+				break;
+			}
+		} while (!breakOut && (alignNode = alignNode.parentNode) != null);
+
+		// Div justification
+		var div = tinyMCE.getParentElement(node, "div");
+		if (div && div.style.textAlign == "center")
+			tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonSelected');
+
+		// Do special text
+		if (!setup_content) {
+			// , "JustifyLeft", "_justifyleft", "JustifyCenter", "justifycenter", "JustifyRight", "justifyright", "JustifyFull", "justifyfull", "InsertUnorderedList", "bullist", "InsertOrderedList", "numlist", "InsertUnorderedList", "bullist", "Outdent", "outdent", "Indent", "indent", "subscript", "sub"
+			var ar = new Array("Bold", "_bold", "Italic", "_italic", "Strikethrough", "_strikethrough", "superscript", "_sup", "subscript", "_sub");
+			for (var i=0; i<ar.length; i+=2) {
+				if (inst.queryCommandState(ar[i]))
+					tinyMCE.switchClass(editor_id + ar[i+1], 'mceButtonSelected');
+			}
+
+			if (inst.queryCommandState("Underline") && (node.parentNode == null || node.parentNode.nodeName != "A"))
+				tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+		}
+
+		// Handle elements
+		do {
+			switch (node.nodeName) {
+				case "UL":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "OL":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+
+				case "HR":
+					 tinyMCE.switchClass(editor_id + '_hr', 'mceButtonSelected');
+				break;
+
+				case "IMG":
+				if (tinyMCE.getAttrib(node, 'name').indexOf('mce_') != 0 && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
+					tinyMCE.switchClass(editor_id + '_image', 'mceButtonSelected');
+				}
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	},
+
+	// Private theme internal functions
+
+	// This function auto imports CSS classes into the class selection droplist
+	_setupCSSClasses : function(editor_id) {
+		var i, selectElm;
+
+		if (!TinyMCE_AdvancedTheme._autoImportCSSClasses)
+			return;
+
+		selectElm = document.getElementById(editor_id + '_styleSelect');
+
+		if (selectElm && selectElm.getAttribute('cssImported') != 'true') {
+			var csses = tinyMCE.getCSSClasses(editor_id);
+			if (csses && selectElm)	{
+				for (i=0; i<csses.length; i++)
+					selectElm.options[selectElm.options.length] = new Option(csses[i], csses[i]);
+			}
+
+			// Only do this once
+			if (csses != null && csses.length > 0)
+				selectElm.setAttribute('cssImported', 'true');
+		}
+	},
+
+	_setCookie : function(name, value, expires, path, domain, secure) {
+		var curCookie = name + "=" + escape(value) +
+			((expires) ? "; expires=" + expires.toGMTString() : "") +
+			((path) ? "; path=" + escape(path) : "") +
+			((domain) ? "; domain=" + domain : "") +
+			((secure) ? "; secure" : "");
+
+		document.cookie = curCookie;
+	},
+
+	_getCookie : function(name) {
+		var dc = document.cookie;
+		var prefix = name + "=";
+		var begin = dc.indexOf("; " + prefix);
+
+		if (begin == -1) {
+			begin = dc.indexOf(prefix);
+
+			if (begin != 0)
+				return null;
+		} else
+			begin += 2;
+
+		var end = document.cookie.indexOf(";", begin);
+
+		if (end == -1)
+			end = dc.length;
+
+		return unescape(dc.substring(begin + prefix.length, end));
+	},
+
+	_resizeTo : function(inst, w, h, set_w) {
+		var editorContainer = document.getElementById(inst.editorId + '_parent');
+		var tableElm = editorContainer.firstChild;
+		var iframe = inst.iframeElement;
+
+		if (w == null || w == "null") {
+			set_w = false;
+			w = 0;
+		}
+
+		if (h == null || h == "null")
+			return;
+
+		w = parseInt(w);
+		h = parseInt(h);
+
+		if (tinyMCE.isGecko) {
+			w += 2;
+			h += 2;
+		}
+
+		var dx = w - tableElm.clientWidth;
+		var dy = h - tableElm.clientHeight;
+
+		w = w < 1 ? 30 : w;
+		h = h < 1 ? 30 : h;
+
+		if (set_w)
+			tableElm.style.width = w + "px";
+
+		tableElm.style.height = h + "px";
+
+		iw = iframe.clientWidth + dx;
+		ih = iframe.clientHeight + dy;
+
+		iw = iw < 1 ? 30 : iw;
+		ih = ih < 1 ? 30 : ih;
+
+		if (tinyMCE.isGecko) {
+			iw -= 2;
+			ih -= 2;
+		}
+
+		if (set_w)
+			iframe.style.width = iw + "px";
+
+		iframe.style.height = ih + "px";
+
+		// Is it to small, make it bigger again
+		if (set_w) {
+			var tableBodyElm = tableElm.firstChild;
+			var minIframeWidth = tableBodyElm.scrollWidth;
+			if (inst.iframeElement.clientWidth < minIframeWidth) {
+				dx = minIframeWidth - inst.iframeElement.clientWidth;
+
+				inst.iframeElement.style.width = (iw + dx) + "px";
+			}
+		}
+
+		// Remove pesky table controls
+		inst.useCSS = false;
+	},
+
+	/**
+	 * Handles resizing events.
+	 */
+	_resizeEventHandler : function(e) {
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+
+		// Do nothing
+		if (!resizer.resizing)
+			return;
+
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var dx = e.screenX - resizer.downX;
+		var dy = e.screenY - resizer.downY;
+		var resizeBox = resizer.resizeBox;
+		var editorId = resizer.editorId;
+
+		switch (e.type) {
+			case "mousemove":
+				var w, h;
+
+				w = resizer.width + dx;
+				h = resizer.height + dy;
+
+				w = w < 1 ? 1 : w;
+				h = h < 1 ? 1 : h;
+
+				if (resizer.horizontal)
+					resizeBox.style.width = w + "px";
+
+				resizeBox.style.height = h + "px";
+				break;
+
+			case "mouseup":
+				TinyMCE_AdvancedTheme._setResizing(e, editorId, false);
+				TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal);
+
+				// Expire in a month
+				if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) {
+					var expires = new Date();
+					expires.setTime(expires.getTime() + 3600000 * 24 * 30);
+
+					// Set the cookies
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires);
+					TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires);
+				}
+				break;
+		}
+	},
+
+	/**
+	 * Starts/stops the editor resizing.
+	 */
+	_setResizing : function(e, editor_id, state) {
+		e = typeof(e) == "undefined" ? window.event : e;
+
+		var resizer = TinyMCE_AdvancedTheme._resizer;
+		var editorContainer = document.getElementById(editor_id + '_parent');
+		var editorArea = document.getElementById(editor_id + '_parent').firstChild;
+		var resizeBox = document.getElementById(editor_id + '_resize_box');
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		if (state) {
+			// Place box over editor area
+			var width = editorArea.clientWidth;
+			var height = editorArea.clientHeight;
+
+			resizeBox.style.width = width + "px";
+			resizeBox.style.height = height + "px";
+
+			resizer.iframeWidth = inst.iframeElement.clientWidth;
+			resizer.iframeHeight = inst.iframeElement.clientHeight;
+
+			// Hide editor and show resize box
+			editorArea.style.display = "none";
+			resizeBox.style.display = "block";
+
+			// Add event handlers, only once
+			if (!resizer.eventHandlers) {
+				if (tinyMCE.isMSIE)
+					tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+				else
+					tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler);
+
+				resizer.eventHandlers = true;
+			}
+
+			resizer.resizing = true;
+			resizer.downX = e.screenX;
+			resizer.downY = e.screenY;
+			resizer.width = parseInt(resizeBox.style.width);
+			resizer.height = parseInt(resizeBox.style.height);
+			resizer.editorId = editor_id;
+			resizer.resizeBox = resizeBox;
+			resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true);
+		} else {
+			resizer.resizing = false;
+			resizeBox.style.display = "none";
+			editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table";
+			tinyMCE.execCommand('mceResetDesignMode');
+		}
+	},
+
+	_getColorHTML : function(id, n, cm) {
+		var i, h, cl;
+
+		h = '<span class="mceMenuLine"></span>';
+		cl = tinyMCE.getParam(n, TinyMCE_AdvancedTheme._defColors).split(',');
+
+		h += '<table class="mceColors"><tr>';
+		for (i=0; i<cl.length; i++) {
+			c = 'tinyMCE.execInstanceCommand(\'' + id + '\', \'' + cm + '\', false, \'#' + cl[i] + '\');';
+			h += '<td><a href="javascript:' + c + '" style="background-color: #' + cl[i] + '" onclick="' + c + ';return false;"></a></td>';
+
+			if ((i+1) % 8 == 0)
+				h += '</tr><tr>';
+		}
+
+		h += '</tr></table>';
+
+		if (tinyMCE.getParam("theme_advanced_more_colors", true))
+			h += '<a href="#" onclick="TinyMCE_AdvancedTheme._pickColor(\'' + id + '\',\'' + cm + '\');" class="mceMoreColors">' + tinyMCE.getLang('lang_more_colors') + '</a>';
+
+		return h;
+	},
+
+	_pickColor : function(id, cm) {
+		var inputColor, inst = tinyMCE.selectedInstance;
+
+		if (cm == 'forecolor' && inst)
+			inputColor = inst.foreColor;
+
+		if ((cm == 'backcolor' || cm == 'HiliteColor') && inst)
+			inputColor = inst.backColor;
+
+		tinyMCE.execCommand('mceColorPicker', true, {color : inputColor, callback : function(c) {
+			tinyMCE.execInstanceCommand(id, cm, false, c);
+		}});
+	},
+
+	_insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (src == "")
+			return;
+
+		if (!tinyMCE.imgElement && tinyMCE.isSafari) {
+			var html = "";
+
+			html += '<img src="' + src + '" alt="' + alt + '"';
+			html += ' border="' + border + '" hspace="' + hspace + '"';
+			html += ' vspace="' + vspace + '" width="' + width + '"';
+			html += ' height="' + height + '" align="' + align + '" title="' + title + '" onmouseover="' + onmouseover + '" onmouseout="' + onmouseout + '" />';
+
+			tinyMCE.execCommand("mceInsertContent", false, html);
+		} else {
+			if (!tinyMCE.imgElement && tinyMCE.selectedInstance) {
+				if (tinyMCE.isSafari)
+					tinyMCE.execCommand("mceInsertContent", false, '<img src="' + tinyMCE.uniqueURL + '" />');
+				else
+					tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL);
+
+				tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL);
+			}
+		}
+
+		if (tinyMCE.imgElement) {
+			var needsRepaint = false;
+			var msrc = src;
+
+			src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);");
+
+			if (tinyMCE.getParam('convert_urls'))
+				msrc = src;
+
+			if (onmouseover && onmouseover != "")
+				onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';";
+
+			if (onmouseout && onmouseout != "")
+				onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';";
+
+			// Use alt as title if it's undefined
+			if (typeof(title) == "undefined")
+				title = alt;
+
+			if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align"))
+				needsRepaint = true;
+
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover);
+			tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout);
+
+			// Fix for bug #989846 - Image resize bug
+			if (width && width != "")
+				tinyMCE.imgElement.style.pixelWidth = width;
+
+			if (height && height != "")
+				tinyMCE.imgElement.style.pixelHeight = height;
+
+			if (needsRepaint)
+				tinyMCE.selectedInstance.repaint();
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	},
+
+	_insertLink : function(href, target, title, onclick, style_class) {
+		tinyMCE.execCommand('mceBeginUndoLevel');
+
+		if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") {
+			var doc = tinyMCE.selectedInstance.getDoc();
+			var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+			var newLink = false;
+
+			if (!linkElement) {
+				linkElement = doc.createElement("a");
+				newLink = true;
+			}
+
+			var mhref = href;
+			var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(linkElement, 'href', thref);
+			tinyMCE.setAttrib(linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(linkElement, 'target', target);
+			tinyMCE.setAttrib(linkElement, 'title', title);
+			tinyMCE.setAttrib(linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(linkElement, 'class', style_class);
+
+			if (newLink) {
+				linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));
+				tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement);
+			}
+
+			return;
+		}
+
+		if (!tinyMCE.linkElement && tinyMCE.selectedInstance) {
+			if (tinyMCE.isSafari) {
+				tinyMCE.execCommand("mceInsertContent", false, '<a href="' + tinyMCE.uniqueURL + '">' + tinyMCE.selectedInstance.selection.getSelectedHTML() + '</a>');
+			} else
+				tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL);
+
+			tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL);
+
+			for (var i=0; i<elementArray.length; i++) {
+				var mhref = href;
+				var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, elementArray[i]);");
+				mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+				tinyMCE.setAttrib(elementArray[i], 'href', thref);
+				tinyMCE.setAttrib(elementArray[i], 'mce_href', mhref);
+				tinyMCE.setAttrib(elementArray[i], 'target', target);
+				tinyMCE.setAttrib(elementArray[i], 'title', title);
+				tinyMCE.setAttrib(elementArray[i], 'onclick', onclick);
+				tinyMCE.setAttrib(elementArray[i], 'class', style_class);
+			}
+
+			tinyMCE.linkElement = elementArray[0];
+		}
+
+		if (tinyMCE.linkElement) {
+			var mhref = href;
+			href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement);");
+			mhref = tinyMCE.getParam('convert_urls') ? href : mhref;
+
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'href', href);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'mce_href', mhref);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'target', target);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'title', title);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'onclick', onclick);
+			tinyMCE.setAttrib(tinyMCE.linkElement, 'class', style_class);
+		}
+
+		tinyMCE.execCommand('mceEndUndoLevel');
+	}
+};
+
+tinyMCE.addTheme("advanced", TinyMCE_AdvancedTheme);
+
+// Add default buttons maps for advanced theme and all internal plugins
+tinyMCE.addButtonMap(TinyMCE_AdvancedTheme._buttonMap);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/image.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_image_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/image.js"></script>
+	<base target="_self" />
+</head>
+<body id="image" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertImage();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_image_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+     <table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="src">{$lang_insert_image_src}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0">
+                <tr>
+                  <td><input id="src" name="src" type="text" value="" style="width: 200px" onchange="getImageData();"></td>
+                  <td id="srcbrowsercontainer">&nbsp;</td>
+                </tr>
+              </table></td>
+          </tr>
+		  <!-- Image list -->
+		  <script language="javascript">
+			if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="image_list">{$lang_image_list}</label></td>';
+				html += '<td><select id="image_list" name="image_list" style="width: 200px" onchange="this.form.src.value=this.options[this.selectedIndex].value;resetImageData();getImageData();">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCEImageList.length; i++)
+					html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Image list -->
+          <tr>
+            <td nowrap="nowrap"><label for="alt">{$lang_insert_image_alt}</label></td>
+            <td><input id="alt" name="alt" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="align">{$lang_insert_image_align}</label></td>
+            <td><select id="align" name="align">
+                <option value="">{$lang_insert_image_align_default}</option>
+                <option value="baseline">{$lang_insert_image_align_baseline}</option>
+                <option value="top">{$lang_insert_image_align_top}</option>
+                <option value="middle">{$lang_insert_image_align_middle}</option>
+                <option value="bottom">{$lang_insert_image_align_bottom}</option>
+                <option value="texttop">{$lang_insert_image_align_texttop}</option>
+                <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
+                <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
+                <option value="left">{$lang_insert_image_align_left}</option>
+                <option value="right">{$lang_insert_image_align_right}</option>
+              </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="width">{$lang_insert_image_dimensions}</label></td>
+            <td><input id="width" name="width" type="text" value="" size="3" maxlength="3">
+              x
+              <input id="height" name="height" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="border">{$lang_insert_image_border}</label></td>
+            <td><input id="border" name="border" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="vspace">{$lang_insert_image_vspace}</label></td>
+            <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="hspace">{$lang_insert_image_hspace}</label></td>
+            <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3"></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertImage();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/anchor_symbol.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/backcolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/browse.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/button_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cancel_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/charmap.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/code.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/color.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/colors.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/copy.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/custom_1.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/cut.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/forecolor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/hr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/image.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/indent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/insert_button_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifycenter.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyfull.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyleft.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/justifyright.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/link.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/menu_check.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/newdocument.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/opacity.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/outdent.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/paste.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/removeformat.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/statusbar_resize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sub.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/sup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_es.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/unlink.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/visualaid.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/images/xp/tabs_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/about.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+function init() {
+	var inst;
+
+	tinyMCEPopup.resizeToInnerSize();
+	inst = tinyMCE.selectedInstance;
+
+	// Give FF some time
+	window.setTimeout('insertHelpIFrame();', 10);
+
+	var tcont = document.getElementById('plugintablecontainer');
+	var plugins = tinyMCE.getParam('plugins', '', true, ',');
+	if (plugins.length == 0)
+		document.getElementById('plugins_tab').style.display = 'none';
+
+	var html = "";
+	html += '<table id="plugintable">';
+	html += '<thead>';
+	html += '<tr>';
+	html += '<td>' + tinyMCE.getLang('lang_plugin') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_author') + '</td>';
+	html += '<td>' + tinyMCE.getLang('lang_version') + '</td>';
+	html += '</tr>';
+	html += '</thead>';
+	html += '<tbody>';
+
+	for (var i=0; i<inst.plugins.length; i++) {
+		var info = getPluginInfo(inst.plugins[i]);
+
+		html += '<tr>';
+
+		if (info.infourl != null && info.infourl != '')
+			html += '<td width="50%" title="' + plugins[i] + '"><a href="' + info.infourl + '" target="mceplugin">' + info.longname + '</a></td>';
+		else
+			html += '<td width="50%" title="' + plugins[i] + '">' + info.longname + '</td>';
+
+		if (info.authorurl != null && info.authorurl != '')
+			html += '<td width="35%"><a href="' + info.authorurl + '" target="mceplugin">' + info.author + '</a></td>';
+		else
+			html += '<td width="35%">' + info.author + '</td>';
+
+		html += '<td width="15%">' + info.version + '</td>';
+		html += '</tr>';
+	}
+
+	html += '</tbody>';
+	html += '</table>';
+
+	tcont.innerHTML = html;
+}
+
+function getPluginInfo(name) {
+	if (tinyMCE.plugins[name].getInfo)
+		return tinyMCE.plugins[name].getInfo();
+
+	return {
+		longname : name,
+		authorurl : '',
+		infourl : '',
+		author : '--',
+		version : '--'
+	};
+}
+
+function insertHelpIFrame() {
+	var html = '<iframe width="100%" height="300" src="' + tinyMCE.themeURL + "/docs/" + tinyMCE.settings['docs_language'] + "/index.htm" + '"></iframe>';
+
+	document.getElementById('iframecontainer').innerHTML = html;
+
+	html = '';
+	html += '<a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> ';
+	html += '<a href="http://sourceforge.net/projects/tinymce/" target="_blank"><img src="http://sourceforge.net/sflogo.php?group_id=103281" alt="Hosted By Sourceforge" border="0" /></a> ';
+	html += '<a href="http://www.freshmeat.net/projects/tinymce" target="_blank"><img src="http://tinymce.moxiecode.com/images/fm.gif" alt="Also on freshmeat" border="0" /></a> ';
+
+	document.getElementById('buttoncontainer').innerHTML = html;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/anchor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+var action, element;
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name");
+	var img = inst.getFocusElement();
+	action = 'insert';
+
+	if (anchor != null) {
+		element = anchor;
+		action = "update";
+	}
+
+	if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") {
+		element = img;
+		action = "update";
+	}
+
+	if (action == "update")
+		document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name");
+
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
+}
+
+function insertAnchor() {
+	var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
+	var name = document.forms[0].anchorName.value, e;
+
+	tinyMCEPopup.execCommand("mceBeginUndoLevel");
+
+	if (action == "update") {
+		if (element.nodeName == "IMG")
+			element.setAttribute("title", name);
+		else
+			element.setAttribute("name", name);
+	} else {
+		var rng = inst.getRng();
+
+		if (rng.collapse)
+			rng.collapse(false);
+
+		name = name.replace(/&/g, '&amp;');
+		name = name.replace(/\"/g, '&quot;');
+		name = name.replace(/</g, '&lt;');
+		name = name.replace(/>/g, '&gt;');
+
+		// Fix for bug #1447335
+		if (tinyMCE.isGecko)
+			html = '<a id="mceNewAnchor" name="' + name + '"></a>';
+		else
+			html = '<a name="' + name + '"></a>';
+
+		tinyMCEPopup.execCommand("mceInsertContent", false, html);
+
+		// Fix for bug #1447335 force cursor after the anchor element
+		if (tinyMCE.isGecko) {
+			e = inst.getDoc().getElementById('mceNewAnchor');
+
+			if (e) {
+				inst.selection.selectNode(e, true, false, false);
+				e.removeAttribute('id');
+			}
+		}
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
+	}
+
+	tinyMCEPopup.execCommand("mceEndUndoLevel");
+
+	tinyMCE.triggerNodeChange();
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/charmap.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,326 @@
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+}
+
+var charmap = new Array();
+
+// for mor details please see w3c.org
+// now here is the complete list ;)
+
+charmap = [
+	['&nbsp;',    '&#160;',  true, 'no-break space'],
+	['&amp;',     '&#38;',   true, 'ampersand'],
+	['&quot;',    '&#34;',   true, 'quotation mark'],
+// finance
+	['&cent;',    '&#162;',  true, 'cent sign'],
+	['&euro;',    '&#8364;', true, 'euro sign'],
+	['&pound;',   '&#163;',  true, 'pound sign'],
+	['&yen;',     '&#165;',  true, 'yen sign'],
+// signs
+	['&copy;',    '&#169;',  true, 'copyright sign'],
+	['&reg;',     '&#174;',  true, 'registered sign'],
+	['&trade;',   '&#8482;', true, 'trade mark sign'],
+	['&permil;',  '&#8240;', true, 'per mille sign'],
+	['&micro;',   '&#181;',  true, 'micro sign'],
+	['&middot;',  '&#183;',  true, 'middle dot'],
+	['&bull;',    '&#8226;', true, 'bullet'],
+	['&hellip;',  '&#8230;', true, 'three dot leader'],
+	['&prime;',   '&#8242;', true, 'minutes / feet'],
+	['&Prime;',   '&#8243;', true, 'seconds / inches'],
+	['&sect;',    '&#167;',  true, 'section sign'],
+	['&para;',    '&#182;',  true, 'paragraph sign'],
+	['&szlig;',   '&#223;',  true, 'sharp s / ess-zed'],
+// quotations
+	['&lsaquo;',  '&#8249;', true, 'single left-pointing angle quotation mark'],
+	['&rsaquo;',  '&#8250;', true, 'single right-pointing angle quotation mark'],
+	['&laquo;',   '&#171;',  true, 'left pointing guillemet'],
+	['&raquo;',   '&#187;',  true, 'right pointing guillemet'],
+	['&lsquo;',   '&#8216;', true, 'left single quotation mark'],
+	['&rsquo;',   '&#8217;', true, 'right single quotation mark'],
+	['&ldquo;',   '&#8220;', true, 'left double quotation mark'],
+	['&rdquo;',   '&#8221;', true, 'right double quotation mark'],
+	['&sbquo;',   '&#8218;', true, 'single low-9 quotation mark'],
+	['&bdquo;',   '&#8222;', true, 'double low-9 quotation mark'],
+	['&lt;',      '&#60;',   true, 'less-than sign'],
+	['&gt;',      '&#62;',   true, 'greater-than sign'],
+	['&le;',      '&#8804;', true, 'less-than or equal to'],
+	['&ge;',      '&#8805;', true, 'greater-than or equal to'],
+	['&ndash;',   '&#8211;', true, 'en dash'],
+	['&mdash;',   '&#8212;', true, 'em dash'],
+	['&macr;',    '&#175;',  true, 'macron'],
+	['&oline;',   '&#8254;', true, 'overline'],
+	['&curren;',  '&#164;',  true, 'currency sign'],
+	['&brvbar;',  '&#166;',  true, 'broken bar'],
+	['&uml;',     '&#168;',  true, 'diaeresis'],
+	['&iexcl;',   '&#161;',  true, 'inverted exclamation mark'],
+	['&iquest;',  '&#191;',  true, 'turned question mark'],
+	['&circ;',    '&#710;',  true, 'circumflex accent'],
+	['&tilde;',   '&#732;',  true, 'small tilde'],
+	['&deg;',     '&#176;',  true, 'degree sign'],
+	['&minus;',   '&#8722;', true, 'minus sign'],
+	['&plusmn;',  '&#177;',  true, 'plus-minus sign'],
+	['&divide;',  '&#247;',  true, 'division sign'],
+	['&frasl;',   '&#8260;', true, 'fraction slash'],
+	['&times;',   '&#215;',  true, 'multiplication sign'],
+	['&sup1;',    '&#185;',  true, 'superscript one'],
+	['&sup2;',    '&#178;',  true, 'superscript two'],
+	['&sup3;',    '&#179;',  true, 'superscript three'],
+	['&frac14;',  '&#188;',  true, 'fraction one quarter'],
+	['&frac12;',  '&#189;',  true, 'fraction one half'],
+	['&frac34;',  '&#190;',  true, 'fraction three quarters'],
+// math / logical
+	['&fnof;',    '&#402;',  true, 'function / florin'],
+	['&int;',     '&#8747;', true, 'integral'],
+	['&sum;',     '&#8721;', true, 'n-ary sumation'],
+	['&infin;',   '&#8734;', true, 'infinity'],
+	['&radic;',   '&#8730;', true, 'square root'],
+	['&sim;',     '&#8764;', false,'similar to'],
+	['&cong;',    '&#8773;', false,'approximately equal to'],
+	['&asymp;',   '&#8776;', true, 'almost equal to'],
+	['&ne;',      '&#8800;', true, 'not equal to'],
+	['&equiv;',   '&#8801;', true, 'identical to'],
+	['&isin;',    '&#8712;', false,'element of'],
+	['&notin;',   '&#8713;', false,'not an element of'],
+	['&ni;',      '&#8715;', false,'contains as member'],
+	['&prod;',    '&#8719;', true, 'n-ary product'],
+	['&and;',     '&#8743;', false,'logical and'],
+	['&or;',      '&#8744;', false,'logical or'],
+	['&not;',     '&#172;',  true, 'not sign'],
+	['&cap;',     '&#8745;', true, 'intersection'],
+	['&cup;',     '&#8746;', false,'union'],
+	['&part;',    '&#8706;', true, 'partial differential'],
+	['&forall;',  '&#8704;', false,'for all'],
+	['&exist;',   '&#8707;', false,'there exists'],
+	['&empty;',   '&#8709;', false,'diameter'],
+	['&nabla;',   '&#8711;', false,'backward difference'],
+	['&lowast;',  '&#8727;', false,'asterisk operator'],
+	['&prop;',    '&#8733;', false,'proportional to'],
+	['&ang;',     '&#8736;', false,'angle'],
+// undefined
+	['&acute;',   '&#180;',  true, 'acute accent'],
+	['&cedil;',   '&#184;',  true, 'cedilla'],
+	['&ordf;',    '&#170;',  true, 'feminine ordinal indicator'],
+	['&ordm;',    '&#186;',  true, 'masculine ordinal indicator'],
+	['&dagger;',  '&#8224;', true, 'dagger'],
+	['&Dagger;',  '&#8225;', true, 'double dagger'],
+// alphabetical special chars
+	['&Agrave;',  '&#192;',  true, 'A - grave'],
+	['&Aacute;',  '&#193;',  true, 'A - acute'],
+	['&Acirc;',   '&#194;',  true, 'A - circumflex'],
+	['&Atilde;',  '&#195;',  true, 'A - tilde'],
+	['&Auml;',    '&#196;',  true, 'A - diaeresis'],
+	['&Aring;',   '&#197;',  true, 'A - ring above'],
+	['&AElig;',   '&#198;',  true, 'ligature AE'],
+	['&Ccedil;',  '&#199;',  true, 'C - cedilla'],
+	['&Egrave;',  '&#200;',  true, 'E - grave'],
+	['&Eacute;',  '&#201;',  true, 'E - acute'],
+	['&Ecirc;',   '&#202;',  true, 'E - circumflex'],
+	['&Euml;',    '&#203;',  true, 'E - diaeresis'],
+	['&Igrave;',  '&#204;',  true, 'I - grave'],
+	['&Iacute;',  '&#205;',  true, 'I - acute'],
+	['&Icirc;',   '&#206;',  true, 'I - circumflex'],
+	['&Iuml;',    '&#207;',  true, 'I - diaeresis'],
+	['&ETH;',     '&#208;',  true, 'ETH'],
+	['&Ntilde;',  '&#209;',  true, 'N - tilde'],
+	['&Ograve;',  '&#210;',  true, 'O - grave'],
+	['&Oacute;',  '&#211;',  true, 'O - acute'],
+	['&Ocirc;',   '&#212;',  true, 'O - circumflex'],
+	['&Otilde;',  '&#213;',  true, 'O - tilde'],
+	['&Ouml;',    '&#214;',  true, 'O - diaeresis'],
+	['&Oslash;',  '&#216;',  true, 'O - slash'],
+	['&OElig;',   '&#338;',  true, 'ligature OE'],
+	['&Scaron;',  '&#352;',  true, 'S - caron'],
+	['&Ugrave;',  '&#217;',  true, 'U - grave'],
+	['&Uacute;',  '&#218;',  true, 'U - acute'],
+	['&Ucirc;',   '&#219;',  true, 'U - circumflex'],
+	['&Uuml;',    '&#220;',  true, 'U - diaeresis'],
+	['&Yacute;',  '&#221;',  true, 'Y - acute'],
+	['&Yuml;',    '&#376;',  true, 'Y - diaeresis'],
+	['&THORN;',   '&#222;',  true, 'THORN'],
+	['&agrave;',  '&#224;',  true, 'a - grave'],
+	['&aacute;',  '&#225;',  true, 'a - acute'],
+	['&acirc;',   '&#226;',  true, 'a - circumflex'],
+	['&atilde;',  '&#227;',  true, 'a - tilde'],
+	['&auml;',    '&#228;',  true, 'a - diaeresis'],
+	['&aring;',   '&#229;',  true, 'a - ring above'],
+	['&aelig;',   '&#230;',  true, 'ligature ae'],
+	['&ccedil;',  '&#231;',  true, 'c - cedilla'],
+	['&egrave;',  '&#232;',  true, 'e - grave'],
+	['&eacute;',  '&#233;',  true, 'e - acute'],
+	['&ecirc;',   '&#234;',  true, 'e - circumflex'],
+	['&euml;',    '&#235;',  true, 'e - diaeresis'],
+	['&igrave;',  '&#236;',  true, 'i - grave'],
+	['&iacute;',  '&#237;',  true, 'i - acute'],
+	['&icirc;',   '&#238;',  true, 'i - circumflex'],
+	['&iuml;',    '&#239;',  true, 'i - diaeresis'],
+	['&eth;',     '&#240;',  true, 'eth'],
+	['&ntilde;',  '&#241;',  true, 'n - tilde'],
+	['&ograve;',  '&#242;',  true, 'o - grave'],
+	['&oacute;',  '&#243;',  true, 'o - acute'],
+	['&ocirc;',   '&#244;',  true, 'o - circumflex'],
+	['&otilde;',  '&#245;',  true, 'o - tilde'],
+	['&ouml;',    '&#246;',  true, 'o - diaeresis'],
+	['&oslash;',  '&#248;',  true, 'o slash'],
+	['&oelig;',   '&#339;',  true, 'ligature oe'],
+	['&scaron;',  '&#353;',  true, 's - caron'],
+	['&ugrave;',  '&#249;',  true, 'u - grave'],
+	['&uacute;',  '&#250;',  true, 'u - acute'],
+	['&ucirc;',   '&#251;',  true, 'u - circumflex'],
+	['&uuml;',    '&#252;',  true, 'u - diaeresis'],
+	['&yacute;',  '&#253;',  true, 'y - acute'],
+	['&thorn;',   '&#254;',  true, 'thorn'],
+	['&yuml;',    '&#255;',  true, 'y - diaeresis'],
+    ['&Alpha;',   '&#913;',  true, 'Alpha'],
+	['&Beta;',    '&#914;',  true, 'Beta'],
+	['&Gamma;',   '&#915;',  true, 'Gamma'],
+	['&Delta;',   '&#916;',  true, 'Delta'],
+	['&Epsilon;', '&#917;',  true, 'Epsilon'],
+	['&Zeta;',    '&#918;',  true, 'Zeta'],
+	['&Eta;',     '&#919;',  true, 'Eta'],
+	['&Theta;',   '&#920;',  true, 'Theta'],
+	['&Iota;',    '&#921;',  true, 'Iota'],
+	['&Kappa;',   '&#922;',  true, 'Kappa'],
+	['&Lambda;',  '&#923;',  true, 'Lambda'],
+	['&Mu;',      '&#924;',  true, 'Mu'],
+	['&Nu;',      '&#925;',  true, 'Nu'],
+	['&Xi;',      '&#926;',  true, 'Xi'],
+	['&Omicron;', '&#927;',  true, 'Omicron'],
+	['&Pi;',      '&#928;',  true, 'Pi'],
+	['&Rho;',     '&#929;',  true, 'Rho'],
+	['&Sigma;',   '&#931;',  true, 'Sigma'],
+	['&Tau;',     '&#932;',  true, 'Tau'],
+	['&Upsilon;', '&#933;',  true, 'Upsilon'],
+	['&Phi;',     '&#934;',  true, 'Phi'],
+	['&Chi;',     '&#935;',  true, 'Chi'],
+	['&Psi;',     '&#936;',  true, 'Psi'],
+	['&Omega;',   '&#937;',  true, 'Omega'],
+	['&alpha;',   '&#945;',  true, 'alpha'],
+	['&beta;',    '&#946;',  true, 'beta'],
+	['&gamma;',   '&#947;',  true, 'gamma'],
+	['&delta;',   '&#948;',  true, 'delta'],
+	['&epsilon;', '&#949;',  true, 'epsilon'],
+	['&zeta;',    '&#950;',  true, 'zeta'],
+	['&eta;',     '&#951;',  true, 'eta'],
+	['&theta;',   '&#952;',  true, 'theta'],
+	['&iota;',    '&#953;',  true, 'iota'],
+	['&kappa;',   '&#954;',  true, 'kappa'],
+	['&lambda;',  '&#955;',  true, 'lambda'],
+	['&mu;',      '&#956;',  true, 'mu'],
+	['&nu;',      '&#957;',  true, 'nu'],
+	['&xi;',      '&#958;',  true, 'xi'],
+	['&omicron;', '&#959;',  true, 'omicron'],
+	['&pi;',      '&#960;',  true, 'pi'],
+	['&rho;',     '&#961;',  true, 'rho'],
+	['&sigmaf;',  '&#962;',  true, 'final sigma'],
+	['&sigma;',   '&#963;',  true, 'sigma'],
+	['&tau;',     '&#964;',  true, 'tau'],
+	['&upsilon;', '&#965;',  true, 'upsilon'],
+	['&phi;',     '&#966;',  true, 'phi'],
+	['&chi;',     '&#967;',  true, 'chi'],
+	['&psi;',     '&#968;',  true, 'psi'],
+	['&omega;',   '&#969;',  true, 'omega'],
+// symbols
+	['&alefsym;', '&#8501;', false,'alef symbol'],
+	['&piv;',     '&#982;',  false,'pi symbol'],
+	['&real;',    '&#8476;', false,'real part symbol'],
+	['&thetasym;','&#977;',  false,'theta symbol'],
+	['&upsih;',   '&#978;',  false,'upsilon - hook symbol'],
+	['&weierp;',  '&#8472;', false,'Weierstrass p'],
+	['&image;',   '&#8465;', false,'imaginary part'],
+// arrows
+	['&larr;',    '&#8592;', true, 'leftwards arrow'],
+	['&uarr;',    '&#8593;', true, 'upwards arrow'],
+	['&rarr;',    '&#8594;', true, 'rightwards arrow'],
+	['&darr;',    '&#8595;', true, 'downwards arrow'],
+	['&harr;',    '&#8596;', true, 'left right arrow'],
+	['&crarr;',   '&#8629;', false,'carriage return'],
+	['&lArr;',    '&#8656;', false,'leftwards double arrow'],
+	['&uArr;',    '&#8657;', false,'upwards double arrow'],
+	['&rArr;',    '&#8658;', false,'rightwards double arrow'],
+	['&dArr;',    '&#8659;', false,'downwards double arrow'],
+	['&hArr;',    '&#8660;', false,'left right double arrow'],
+	['&there4;',  '&#8756;', false,'therefore'],
+	['&sub;',     '&#8834;', false,'subset of'],
+	['&sup;',     '&#8835;', false,'superset of'],
+	['&nsub;',    '&#8836;', false,'not a subset of'],
+	['&sube;',    '&#8838;', false,'subset of or equal to'],
+	['&supe;',    '&#8839;', false,'superset of or equal to'],
+	['&oplus;',   '&#8853;', false,'circled plus'],
+	['&otimes;',  '&#8855;', false,'circled times'],
+	['&perp;',    '&#8869;', false,'perpendicular'],
+	['&sdot;',    '&#8901;', false,'dot operator'],
+	['&lceil;',   '&#8968;', false,'left ceiling'],
+	['&rceil;',   '&#8969;', false,'right ceiling'],
+	['&lfloor;',  '&#8970;', false,'left floor'],
+	['&rfloor;',  '&#8971;', false,'right floor'],
+	['&lang;',    '&#9001;', false,'left-pointing angle bracket'],
+	['&rang;',    '&#9002;', false,'right-pointing angle bracket'],
+	['&loz;',     '&#9674;', true,'lozenge'],
+	['&spades;',  '&#9824;', false,'black spade suit'],
+	['&clubs;',   '&#9827;', true, 'black club suit'],
+	['&hearts;',  '&#9829;', true, 'black heart suit'],
+	['&diams;',   '&#9830;', true, 'black diamond suit'],
+	['&ensp;',    '&#8194;', false,'en space'],
+	['&emsp;',    '&#8195;', false,'em space'],
+	['&thinsp;',  '&#8201;', false,'thin space'],
+	['&zwnj;',    '&#8204;', false,'zero width non-joiner'],
+	['&zwj;',     '&#8205;', false,'zero width joiner'],
+	['&lrm;',     '&#8206;', false,'left-to-right mark'],
+	['&rlm;',     '&#8207;', false,'right-to-left mark'],
+	['&shy;',     '&#173;',  false,'soft hyphen']
+];
+
+function renderCharMapHTML() {
+	var charsPerRow = 20, tdWidth=20, tdHeight=20;
+	var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
+	var cols=-1;
+	for (var i=0; i<charmap.length; i++) {
+		if (charmap[i][2]==true) {
+			cols++;
+			html += ''
+				+ '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"'
+				+ ' onmouseover="this.className=\'charmapOver\';'
+				+ 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');"'
+				+ ' onmouseout="this.className=\'charmap\';"'
+				+ ' nowrap="nowrap" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');"><a style="text-decoration: none;" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'
+				+ charmap[i][1]
+				+ '</a></td>';
+			if ((cols+1) % charsPerRow == 0)
+				html += '</tr><tr height="' + tdHeight + '">';
+		}
+	 }
+	if (cols % charsPerRow > 0) {
+		var padd = charsPerRow - (cols % charsPerRow);
+		for (var i=0; i<padd-1; i++)
+			html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
+	}
+	html += '</tr></table>';
+	document.write(html);
+}
+
+function insertChar(chr) {
+	tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
+
+	// Refocus in window
+	if (tinyMCEPopup.isWindow)
+		window.focus();
+
+	tinyMCEPopup.close();
+}
+
+function previewChar(codeA, codeB, codeN) {
+	var elmA = document.getElementById('codeA');
+	var elmB = document.getElementById('codeB');
+	var elmV = document.getElementById('codeV');
+	var elmN = document.getElementById('codeN');
+
+	if (codeA=='#160;') {
+		elmV.innerHTML = '__';
+	} else {
+		elmV.innerHTML = '&' + codeA;
+	}
+
+	elmB.innerHTML = '&amp;' + codeA;
+	elmA.innerHTML = '&amp;' + codeB;
+	elmN.innerHTML = codeN;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/color_picker.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,249 @@
+var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
+
+var colors = new Array(
+	"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
+	"#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
+	"#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
+	"#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
+	"#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
+	"#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
+	"#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
+	"#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
+	"#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
+	"#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
+	"#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
+	"#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
+	"#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
+	"#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
+	"#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
+	"#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
+	"#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
+	"#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
+	"#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
+	"#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
+	"#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
+	"#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
+	"#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
+	"#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
+	"#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
+	"#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
+	"#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
+);
+
+var named = {
+	'#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
+	'#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown',
+	'#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue',
+	'#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod',
+	'#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen',
+	'#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue',
+	'#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue',
+	'#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen',
+	'#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey',
+	'#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory',
+	'#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue',
+	'#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen',
+	'#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey',
+	'#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
+	'#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue',
+	'#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin',
+	'#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid',
+	'#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff',
+	'#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue',
+	'#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver',
+	'#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen',
+	'#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
+	'#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen'
+};
+
+function init() {
+	var inputColor = convertRGBToHex(tinyMCE.getWindowArg('input_color'));
+
+	if (tinyMCE.isMSIE)
+		tinyMCEPopup.resizeToInnerSize();
+
+	generatePicker();
+
+	if (inputColor) {
+		changeFinalColor(inputColor);
+
+		col = convertHexToRGB(inputColor);
+
+		if (col)
+			updateLight(col.r, col.g, col.b);
+	}
+}
+
+function insertAction() {
+	var color = document.getElementById("color").value;
+
+	tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, color);
+	tinyMCEPopup.close();
+}
+
+function showColor(color, name) {
+	if (name)
+		document.getElementById("colorname").innerHTML = name;
+
+	document.getElementById("preview").style.backgroundColor = color;
+	document.getElementById("color").value = color;
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	if (!col)
+		return col;
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return {r : r, g : g, b : b};
+	}
+
+	return null;
+}
+
+function generatePicker() {
+	var el = document.getElementById('light'), h = '', i;
+
+	for (i = 0; i < detail; i++){
+		h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
+		+ ' onclick="changeFinalColor(this.style.backgroundColor)"'
+		+ ' onmousedown="isMouseDown = true; return false;"'
+		+ ' onmouseup="isMouseDown = false;"'
+		+ ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
+		+ ' onmouseover="isMouseOver = true;"'
+		+ ' onmouseout="isMouseOver = false;"'
+		+ '></div>';
+	}
+
+	el.innerHTML = h;
+}
+
+function generateWebColors() {
+	var el = document.getElementById('webcolors'), h = '', i;
+
+	if (el.className == 'generated')
+		return;
+
+	h += '<table border="0" cellspacing="1" cellpadding="0">'
+		+ '<tr>';
+
+	for (i=0; i<colors.length; i++) {
+		h += '<td bgcolor="' + colors[i] + '">'
+			+ '<a href="javascript:selectColor();" onfocus="showColor(\'' + colors[i] +  '\');" onmouseover="showColor(\'' + colors[i] +  '\');">'
+			+ '<img border="0" src="images/spacer.gif" width="10" height="10" title="' + colors[i] +  '" alt="' + colors[i] +  '" /></a></td>';
+		if ((i+1) % 18 == 0)
+			h += '</tr><tr>';
+	}
+
+	h += '</table>';
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function generateNamedColors() {
+	var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
+
+	if (el.className == 'generated')
+		return;
+
+	for (n in named) {
+		v = named[n];
+		h += '<a href="javascript:selectColor();" onmouseover="showColor(\'' + n +  '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>'
+	}
+
+	el.innerHTML = h;
+	el.className = 'generated';
+}
+
+function selectColor() {
+	var color = document.getElementById("color").value;
+
+	if(window.opener)
+		window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color);
+
+	window.close();
+}
+
+function dechex(n) {
+	return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
+}
+
+function computeColor(e) {
+	var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
+
+	x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
+	y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
+
+	partWidth = document.getElementById('colorpicker').width / 6;
+	partDetail = detail / 2;
+	imHeight = document.getElementById('colorpicker').height;
+
+	r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
+	g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255	+ (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
+	b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
+
+	coef = (imHeight - y) / imHeight;
+	r = 128 + (r - 128) * coef;
+	g = 128 + (g - 128) * coef;
+	b = 128 + (b - 128) * coef;
+
+	changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
+	updateLight(r, g, b);
+}
+
+function updateLight(r, g, b) {
+	var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
+
+	for (i=0; i<detail; i++) {
+		if ((i>=0) && (i<partDetail)) {
+			finalCoef = i / partDetail;
+			finalR = dechex(255 - (255 - r) * finalCoef);
+			finalG = dechex(255 - (255 - g) * finalCoef);
+			finalB = dechex(255 - (255 - b) * finalCoef);
+		} else {
+			finalCoef = 2 - i / partDetail;
+			finalR = dechex(r * finalCoef);
+			finalG = dechex(g * finalCoef);
+			finalB = dechex(b * finalCoef);
+		}
+
+		color = finalR + finalG + finalB;
+
+		document.getElementById('gs' + i).style.backgroundColor = '#'+color;
+	}
+}
+
+function changeFinalColor(color) {
+	if (color.indexOf('#') == -1)
+		color = convertRGBToHex(color);
+
+	document.getElementById('preview').style.backgroundColor = color;
+	document.getElementById('color').value = color;
+}
+
+window.focus();
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/image.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+var url = tinyMCE.getParam("external_image_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function insertImage() {
+	var src = document.forms[0].src.value;
+	var alt = document.forms[0].alt.value;
+	var border = document.forms[0].border.value;
+	var vspace = document.forms[0].vspace.value;
+	var hspace = document.forms[0].hspace.value;
+	var width = document.forms[0].width.value;
+	var height = document.forms[0].height.value;
+	var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value;
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align);
+	tinyMCEPopup.close();
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].align.options.length; i++) {
+		if (document.forms[0].align.options[i].value == tinyMCE.getWindowArg('align'))
+			document.forms[0].align.options.selectedIndex = i;
+	}
+
+	formObj.src.value = tinyMCE.getWindowArg('src');
+	formObj.alt.value = tinyMCE.getWindowArg('alt');
+	formObj.border.value = tinyMCE.getWindowArg('border');
+	formObj.vspace.value = tinyMCE.getWindowArg('vspace');
+	formObj.hspace.value = tinyMCE.getWindowArg('hspace');
+	formObj.width.value = tinyMCE.getWindowArg('width');
+	formObj.height.value = tinyMCE.getWindowArg('height');
+	formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	// Handle file browser
+	if (isVisible('srcbrowser'))
+		document.getElementById('src').style.width = '180px';
+
+	// Auto select image in list
+	if (typeof(tinyMCEImageList) != "undefined" && tinyMCEImageList.length > 0) {
+		for (var i=0; i<formObj.image_list.length; i++) {
+			if (formObj.image_list.options[i].value == tinyMCE.getWindowArg('src'))
+				formObj.image_list.options[i].selected = true;
+		}
+	}
+}
+
+var preloadImg = new Image();
+
+function resetImageData() {
+	var formObj = document.forms[0];
+	formObj.width.value = formObj.height.value = "";	
+}
+
+function updateImageData() {
+	var formObj = document.forms[0];
+
+	if (formObj.width.value == "")
+		formObj.width.value = preloadImg.width;
+
+	if (formObj.height.value == "")
+		formObj.height.value = preloadImg.height;
+}
+
+function getImageData() {
+	preloadImg = new Image();
+	tinyMCE.addEvent(preloadImg, "load", updateImageData);
+	tinyMCE.addEvent(preloadImg, "error", function () {var formObj = document.forms[0];formObj.width.value = formObj.height.value = "";});
+	preloadImg.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], document.forms[0].src.value);
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/link.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,66 @@
+var url = tinyMCE.getParam("external_link_list_url");
+if (url != null) {
+	// Fix relative
+	if (url.charAt(0) != '/' && url.indexOf('://') == -1)
+		url = tinyMCE.documentBasePath + "/" + url;
+
+	document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
+}
+
+function init() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link');
+
+	// Handle file browser
+	if (isVisible('hrefbrowser'))
+		document.getElementById('href').style.width = '180px';
+
+	var formObj = document.forms[0];
+
+	for (var i=0; i<document.forms[0].target.options.length; i++) {
+		var option = document.forms[0].target.options[i];
+
+		if (option.value == tinyMCE.getWindowArg('target'))
+			option.selected = true;
+	}
+
+	document.forms[0].href.value = tinyMCE.getWindowArg('href');
+	document.forms[0].linktitle.value = tinyMCE.getWindowArg('title');
+	document.forms[0].insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('action'), 'Insert', true); 
+
+	addClassesToList('styleSelect', 'theme_advanced_link_styles');
+	selectByValue(formObj, 'styleSelect', tinyMCE.getWindowArg('className'), true);
+
+	// Hide css select row if no CSS classes
+	if (formObj.styleSelect && formObj.styleSelect.options.length <= 1) {
+		var sr = document.getElementById('styleSelectRow');
+		sr.style.display = 'none';
+		sr.parentNode.removeChild(sr);
+	}
+
+	// Auto select link in list
+	if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+		var formObj = document.forms[0];
+
+		for (var i=0; i<formObj.link_list.length; i++) {
+			if (formObj.link_list.options[i].value == tinyMCE.getWindowArg('href'))
+				formObj.link_list.options[i].selected = true;
+		}
+	}
+}
+
+function insertLink() {
+	var href = document.forms[0].href.value;
+	var target = document.forms[0].target.options[document.forms[0].target.selectedIndex].value;
+	var title = document.forms[0].linktitle.value;
+	var style_class = document.forms[0].styleSelect ? document.forms[0].styleSelect.value : "";
+	var dummy;
+
+	if (target == '_self')
+		target = '';
+
+	tinyMCEPopup.restoreSelection();
+	tinyMCE.themes['advanced']._insertLink(href, target, title, dummy, style_class);
+	tinyMCEPopup.close();
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/jscripts/source_editor.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,59 @@
+function saveContent() {
+	tinyMCE.setContent(document.getElementById('htmlSource').value);
+	tinyMCE.closeWindow(window);
+}
+
+function onLoadInit() {
+	tinyMCEPopup.resizeToInnerSize();
+
+	// Remove Gecko spellchecking
+	if (tinyMCE.isGecko)
+		document.body.spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+	document.getElementById('htmlSource').value = tinyMCE.getContent(tinyMCE.getWindowArg('editor_id'));
+
+	resizeInputs();
+
+	if (tinyMCE.getParam("theme_advanced_source_editor_wrap", true)) {
+		setWrap('soft');
+		document.getElementById('wraped').checked = true;
+	}
+}
+
+function setWrap(val) {
+	var s = document.getElementById('htmlSource');
+
+	s.wrap = val;
+
+	if (tinyMCE.isGecko || tinyMCE.isOpera) {
+		var v = s.value;
+		var n = s.cloneNode(false);
+		n.setAttribute("wrap", val);
+		s.parentNode.replaceChild(n, s);
+		n.value = v;
+	}
+}
+
+function toggleWordWrap(elm) {
+	if (elm.checked)
+		setWrap('soft');
+	else
+		setWrap('off');
+}
+
+var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
+
+function resizeInputs() {
+	var el = document.getElementById('htmlSource');
+
+	if (!tinyMCE.isMSIE) {
+		 wHeight = self.innerHeight - 60;
+		 wWidth = self.innerWidth - 16;
+	} else {
+		 wHeight = document.body.clientHeight - 60;
+		 wWidth = document.body.clientWidth - 16;
+	}
+
+	el.style.height = Math.abs(wHeight) + 'px';
+	el.style.width  = Math.abs(wWidth) + 'px';
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/langs/en.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+// UK lang variables
+
+tinyMCE.addToLang('',{
+theme_style_select : '-- Styles --',
+theme_code_desc : 'Edit HTML Source',
+theme_code_title : 'HTML Source Editor',
+theme_code_wordwrap : 'Word wrap',
+theme_sub_desc : 'Subscript',
+theme_sup_desc : 'Superscript',
+theme_hr_desc : 'Insert horizontal ruler',
+theme_removeformat_desc : 'Remove formatting',
+theme_custom1_desc : 'Your custom description here',
+insert_image_border : 'Border',
+insert_image_dimensions : 'Dimensions',
+insert_image_vspace : 'Vertical space',
+insert_image_hspace : 'Horizontal space',
+insert_image_align : 'Alignment',
+insert_image_align_default : '-- Not set --',
+insert_image_align_baseline : 'Baseline',
+insert_image_align_top : 'Top',
+insert_image_align_middle : 'Middle',
+insert_image_align_bottom : 'Bottom',
+insert_image_align_texttop : 'TextTop',
+insert_image_align_absmiddle : 'Absolute Middle',
+insert_image_align_absbottom : 'Absolute Bottom',
+insert_image_align_left : 'Left',
+insert_image_align_right : 'Right',
+theme_font_size : '-- Font size --',
+theme_fontdefault : '-- Font family --',
+theme_block : '-- Format --',
+theme_paragraph : 'Paragraph',
+theme_div : 'Div',
+theme_address : 'Address',
+theme_pre : 'Preformatted',
+theme_h1 : 'Heading 1',
+theme_h2 : 'Heading 2',
+theme_h3 : 'Heading 3',
+theme_h4 : 'Heading 4',
+theme_h5 : 'Heading 5',
+theme_h6 : 'Heading 6',
+theme_blockquote : 'Blockquote',
+theme_code : 'Code',
+theme_samp : 'Code sample',
+theme_dt : 'Definition term ',
+theme_dd : 'Definition description',
+theme_colorpicker_title : 'Select a color',
+theme_colorpicker_apply : 'Apply',
+theme_forecolor_desc : 'Select text color',
+theme_backcolor_desc : 'Select background color',
+theme_charmap_title : 'Select custom character',
+theme_charmap_desc : 'Insert custom character',
+theme_visualaid_desc : 'Toggle guidelines/invisible elements',
+insert_anchor_title : 'Insert/edit anchor',
+insert_anchor_name : 'Anchor name',
+theme_anchor_desc : 'Insert/edit anchor',
+theme_insert_link_titlefield : 'Title',
+theme_clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?',
+theme_path : 'Path',
+cut_desc : 'Cut',
+copy_desc : 'Copy',
+paste_desc : 'Paste',
+link_list : 'Link list',
+image_list : 'Image list',
+browse : 'Browse',
+image_props_desc : 'Image properties',
+newdocument_desc : 'New document',
+class_name : 'Class',
+newdocument : 'Are you sure you want clear all contents?',
+about_title : 'About TinyMCE',
+about : 'About',
+license : 'License',
+plugins : 'Plugins',
+plugin : 'Plugin',
+author : 'Author',
+version : 'Version',
+loaded_plugins : 'Loaded plugins',
+help : 'Help',
+not_set : '-- Not set --',
+close : 'Close',
+toolbar_focus : 'Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X',
+invalid_data : 'Error: Invalid values entered, these are marked in red.',
+more_colors : 'More colors',
+color_picker_tab : 'Picker',
+color_picker : 'Color picker',
+web_colors_tab : 'Web safe',
+web_colors : 'Web safe colors',
+named_colors_tab : 'Named',
+named_colors : 'Named colors',
+color : 'Color:',
+color_name : 'Name:'
+});

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/link.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,100 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>{$lang_insert_link_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
+	<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/link.js"></script>
+	<base target="_self" />
+</head>
+<body id="link" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
+<form onsubmit="insertLink();return false;" action="#">
+	<div class="tabs">
+		<ul>
+			<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_link_title}</a></span></li>
+		</ul>
+	</div>
+
+	<div class="panel_wrapper">
+		<div id="general_panel" class="panel current">
+
+		<table border="0" cellpadding="4" cellspacing="0">
+          <tr>
+            <td nowrap="nowrap"><label for="href">{$lang_insert_link_url}</label></td>
+            <td><table border="0" cellspacing="0" cellpadding="0"> 
+				  <tr> 
+					<td><input id="href" name="href" type="text" value="" style="width: 200px" /></td> 
+					<td id="hrefbrowsercontainer">&nbsp;</td>
+				  </tr> 
+				</table></td>
+          </tr>
+		  <!-- Link list -->
+		  <script language="javascript">
+			if (typeof(tinyMCELinkList) != "undefined" && tinyMCELinkList.length > 0) {
+				var html = "";
+
+				html += '<tr><td><label for="link_list">{$lang_link_list}</label></td>';
+				html += '<td><select id="link_list" name="link_list" style="width: 200px" onchange="this.form.href.value=this.options[this.selectedIndex].value;">';
+				html += '<option value="">---</option>';
+
+				for (var i=0; i<tinyMCELinkList.length; i++)
+					html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>';
+
+				html += '</select></td></tr>';
+
+				document.write(html);
+			}
+		  </script>
+		  <!-- /Link list -->
+          <tr>
+            <td nowrap="nowrap"><label for="target">{$lang_insert_link_target}</label></td>
+            <td><select id="target" name="target" style="width: 200px">
+                <option value="_self">{$lang_insert_link_target_same}</option>
+                <option value="_blank">{$lang_insert_link_target_blank}</option>
+				<script language="javascript">
+					var html = "";
+					var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
+
+					for (var i=0; i<targets.length; i++) {
+						var key, value;
+
+						if (targets[i] == "")
+							continue;
+
+						key = targets[i].split('=')[0];
+						value = targets[i].split('=')[1];
+
+						html += '<option value="' + value + '">' + key + '</option>';
+					}
+
+					document.write(html);
+				</script>
+            </select></td>
+          </tr>
+          <tr>
+            <td nowrap="nowrap"><label for="linktitle">{$lang_theme_insert_link_titlefield}</label></td>
+            <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px"></td>
+          </tr>
+          <tr id="styleSelectRow">
+            <td><label for="styleSelect">{$lang_class_name}</label></td>
+            <td>
+			 <select id="styleSelect" name="styleSelect">
+                <option value="" selected>{$lang_theme_style_select}</option>
+             </select></td>
+          </tr>
+        </table>
+		</div>
+	</div>
+
+	<div class="mceActionPanel">
+		<div style="float: left">
+			<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertLink();" />
+		</div>
+
+		<div style="float: right">
+			<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
+		</div>
+	</div>
+</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/advanced/source_editor.htm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+	<title>{$lang_theme_code_title}</title>
+	<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+	<script language="javascript" type="text/javascript" src="jscripts/source_editor.js"></script>
+	<base target="_self" />
+</head>
+<body onload="tinyMCEPopup.executeOnLoad('onLoadInit();');" onresize="resizeInputs();" style="display: none">
+	<form name="source" onsubmit="saveContent();" action="#">
+		<div style="float: left" class="title">{$lang_theme_code_title}</div>
+
+		<div id="wrapline" style="float: right">
+			<input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{$lang_theme_code_wordwrap}</label>
+		</div>
+
+		<br style="clear: both" />
+
+		<textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px" dir="ltr" wrap="off"></textarea>
+
+		<div class="mceActionPanel">
+			<div style="float: left">
+				<input type="button" name="insert" value="{$lang_update}" onclick="saveContent();" id="insert" />
+			</div>
+
+			<div style="float: right">
+				<input type="button" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
+			</div>
+		</div>
+	</form>
+</body>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_content.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+body, td, pre {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+body {
+	background-color: #FFFFFF;
+}
+
+.mceVisualAid {
+	border: 1px dashed #BBBBBB;
+}
+
+/* MSIE specific */
+
+* html body {
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;	
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_popup.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+body {
+	background-color: #F0F0EE;
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+	scrollbar-3dlight-color: #F0F0EE;
+	scrollbar-arrow-color: #676662;
+	scrollbar-base-color: #F0F0EE;
+	scrollbar-darkshadow-color: #DDDDDD;
+	scrollbar-face-color: #E0E0DD;
+	scrollbar-highlight-color: #F0F0EE;
+	scrollbar-shadow-color: #F0F0EE;
+	scrollbar-track-color: #F5F5F5;
+}
+
+td {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 11px;
+}
+
+input {
+	background: #FFFFFF;
+	border: 1px solid #cccccc;
+}
+
+td, input, select, textarea {
+	font-family: Verdana, Arial, Helvetica, sans-serif;
+	font-size: 10px;
+}
+
+input, select, textarea {
+	border: 1px solid #808080;
+}
+
+.input_noborder {
+	border: 0;
+}
+
+.title {
+	font-size: 12px;
+	font-weight: bold;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/css/editor_ui.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,125 @@
+.mceSeparatorLine {
+	border: 0;
+	padding: 0;
+	margin-left: 4px;
+	margin-right: 2px;
+}
+
+.mceSelectList {
+	font-family: "MS Sans Serif";
+	font-size: 7pt;
+	font-weight: normal;
+	margin-top: 2px;
+}
+
+.mceLabel, .mceLabelDisabled {
+	font-family: "MS Sans Serif";
+	font-size: 9pt;
+}
+
+.mceLabel {
+	color: #000000;
+}
+
+.mceLabelDisabled {
+	cursor: text;
+	color: #999999;
+}
+
+.mceEditor {
+	background: #F0F0EE;
+	border: 1px solid #cccccc;
+}
+
+.mceEditorArea {
+	font-family: "MS Sans Serif";
+	background: #FFFFFF;
+}
+
+.mceToolbar {
+	background: #F0F0EE;
+	border-top: 1px solid #cccccc;
+	line-height: 1px;
+	font-size: 1px;
+	padding-bottom: 1px;
+}
+
+.mceEditorIframe {
+	border: 0;
+}
+
+/* Button CSS rules */
+
+a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {
+	width: 20px;
+	height: 20px;
+	cursor: default;
+	margin-top: 1px;
+	margin-left: 1px;
+}
+
+a.mceButtonDisabled img {
+	border: 0 !important;
+}
+
+a.mceButtonNormal img, a.mceButtonSelected img {
+	border: 1px solid #F0F0EE !important;
+}
+
+a.mceButtonSelected img {
+	border: 1px solid #C0C0BB !important;
+}
+
+a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {
+	border: 1px solid #0A246A !important;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+a.mceButtonDisabled img {
+	-moz-opacity:0.3;
+	opacity: 0.3;
+	border: 1px solid #F0F0EE !important;
+	cursor: default;
+}
+
+a.mceTiledButton img {
+	background-image: url('../images/buttons.gif');
+	background-repeat: no-repeat;
+}
+
+/* MSIE specific rules */
+
+* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {
+	border: 0px !important;
+	margin-top: 2px;
+	margin-bottom: 1px;
+}
+
+* html a.mceButtonDisabled img {
+	filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
+	border: 0px !important;
+}
+
+* html a.mceButtonDisabled {
+	border: 1px solid #F0F0EE !important;
+}
+
+* html a.mceButtonNormal, * html a.mceButtonSelected {
+	border: 1px solid #F0F0EE;
+	cursor: default;
+}
+
+* html a.mceButtonSelected {
+	border: 1px solid #C0C0BB;
+}
+
+* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {
+	border: 1px solid #0A246A;
+	cursor: default;
+	background-color: #B6BDD2;
+}
+
+* html .mceSelectList {
+	margin-top: 2px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+var TinyMCE_SimpleTheme={_buttonMap:'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',getEditorTemplate:function(){var html='';html+='<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';html+='<tr><td align="center">';html+='<span id="{$editor_id}">IFRAME</span>';html+='</td></tr>';html+='<tr><td class="mceToolbar" align="center" height="1">';html+=tinyMCE.getButtonHTML('bold','lang_bold_desc','{$themeurl}/images/{$lang_bold_img}','Bold');html+=tinyMCE.getButtonHTML('italic','lang_italic_desc','{$themeurl}/images/{$lang_italic_img}','Italic');html+=tinyMCE.getButtonHTML('underline','lang_underline_desc','{$themeurl}/images/{$lang_underline_img}','Underline');html+=tinyMCE.getButtonHTML('strikethrough','lang_striketrough_desc','{$themeurl}/images/strikethrough.gif','Strikethrough');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('undo','lang_undo_desc','{$themeurl}/images/undo.gif','Undo');html+=tinyMCE.getButtonHTML('redo','lang_redo_desc','{$themeurl}/images/redo.gif','Redo');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('cleanup','lang_cleanup_desc','{$themeurl}/images/cleanup.gif','mceCleanup');html+='<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';html+=tinyMCE.getButtonHTML('bullist','lang_bullist_desc','{$themeurl}/images/bullist.gif','InsertUnorderedList');html+=tinyMCE.getButtonHTML('numlist','lang_numlist_desc','{$themeurl}/images/numlist.gif','InsertOrderedList');html+='</td></tr></table>';return{delta_width:0,delta_height:20,html:html}},handleNodeChange:function(editor_id,node){tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');do{switch(node.nodeName.toLowerCase()){case"b":case"strong":tinyMCE.switchClass(editor_id+'_bold','mceButtonSelected');break;case"i":case"em":tinyMCE.switchClass(editor_id+'_italic','mceButtonSelected');break;case"u":tinyMCE.switchClass(editor_id+'_underline','mceButtonSelected');break;case"strike":tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonSelected');break;case"ul":tinyMCE.switchClass(editor_id+'_bullist','mceButtonSelected');break;case"ol":tinyMCE.switchClass(editor_id+'_numlist','mceButtonSelected');break}}while((node=node.parentNode)!=null)}};tinyMCE.addTheme("simple",TinyMCE_SimpleTheme);tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/editor_template_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,84 @@
+/**
+ * $Id: editor_template_src.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_SimpleTheme = {
+	// List of button ids in tile map
+	_buttonMap : 'bold,bullist,cleanup,italic,numlist,redo,strikethrough,underline,undo',
+
+	getEditorTemplate : function() {
+		var html = '';
+
+		html += '<table class="mceEditor" border="0" cellpadding="0" cellspacing="0" width="{$width}" height="{$height}">';
+		html += '<tr><td align="center">';
+		html += '<span id="{$editor_id}">IFRAME</span>';
+		html += '</td></tr>';
+		html += '<tr><td class="mceToolbar" align="center" height="1">';
+		html += tinyMCE.getButtonHTML('bold', 'lang_bold_desc', '{$themeurl}/images/{$lang_bold_img}', 'Bold');
+		html += tinyMCE.getButtonHTML('italic', 'lang_italic_desc', '{$themeurl}/images/{$lang_italic_img}', 'Italic');
+		html += tinyMCE.getButtonHTML('underline', 'lang_underline_desc', '{$themeurl}/images/{$lang_underline_img}', 'Underline');
+		html += tinyMCE.getButtonHTML('strikethrough', 'lang_striketrough_desc', '{$themeurl}/images/strikethrough.gif', 'Strikethrough');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('undo', 'lang_undo_desc', '{$themeurl}/images/undo.gif', 'Undo');
+		html += tinyMCE.getButtonHTML('redo', 'lang_redo_desc', '{$themeurl}/images/redo.gif', 'Redo');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('cleanup', 'lang_cleanup_desc', '{$themeurl}/images/cleanup.gif', 'mceCleanup');
+		html += '<img src="{$themeurl}/images/separator.gif" width="2" height="20" class="mceSeparatorLine" />';
+		html += tinyMCE.getButtonHTML('bullist', 'lang_bullist_desc', '{$themeurl}/images/bullist.gif', 'InsertUnorderedList');
+		html += tinyMCE.getButtonHTML('numlist', 'lang_numlist_desc', '{$themeurl}/images/numlist.gif', 'InsertOrderedList');
+		html += '</td></tr></table>';
+
+		return {
+			delta_width : 0,
+			delta_height : 20,
+			html : html
+		};
+	},
+
+	handleNodeChange : function(editor_id, node) {
+		// Reset old states
+		tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal');
+		tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal');
+
+		// Handle elements
+		do {
+			switch (node.nodeName.toLowerCase()) {
+				case "b":
+				case "strong":
+					tinyMCE.switchClass(editor_id + '_bold', 'mceButtonSelected');
+				break;
+
+				case "i":
+				case "em":
+					tinyMCE.switchClass(editor_id + '_italic', 'mceButtonSelected');
+				break;
+
+				case "u":
+					tinyMCE.switchClass(editor_id + '_underline', 'mceButtonSelected');
+				break;
+
+				case "strike":
+					tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonSelected');
+				break;
+				
+				case "ul":
+					tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonSelected');
+				break;
+
+				case "ol":
+					tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonSelected');
+				break;
+			}
+		} while ((node = node.parentNode) != null);
+	}
+};
+
+tinyMCE.addTheme("simple", TinyMCE_SimpleTheme);
+tinyMCE.addButtonMap(TinyMCE_SimpleTheme._buttonMap);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bold_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/bullist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/buttons.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/cleanup.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_de_se.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/italic_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/numlist.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/redo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/separator.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/spacer.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/strikethrough.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_fr.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_ru.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/underline_tw.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/themes/simple/images/undo.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1 @@
+function TinyMCE_Engine(){var ua;this.majorVersion="2";this.minorVersion="1.0";this.releaseDate="2007-02-13";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.log=new Array();this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isMSIE7=this.isMSIE&&(ua.indexOf('MSIE 7')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false}this.isIE=this.isMSIE;this.isRealIE=this.isMSIE&&!this.isOpera;this.idCounter=0};TinyMCE_Engine.prototype={init:function(settings){var theme,nl,baseHREF="",i;if(this.isMSIE5_0)return;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');nl=document.getElementsByTagName('base');for(i=0;i<nl.length;i++){if(nl[i].href)baseHREF=nl[i].href}for(var i=0;i<elements.length;i++){if(elements[i].src&&(elements[i].src.indexOf("tiny_mce.js")!=-1||elements[i].src.indexOf("tiny_mce_dev.js")!=-1||elements[i].src.indexOf("tiny_mce_src.js")!=-1||elements[i].src.indexOf("tiny_mce_gzip")!=-1)){var src=elements[i].src;tinyMCE.srcMode=(src.indexOf('_src')!=-1||src.indexOf('_dev')!=-1)?'_src':'';tinyMCE.gzipMode=src.indexOf('_gzip')!=-1;src=src.substring(0,src.lastIndexOf('/'));if(settings.exec_mode=="src"||settings.exec_mode=="normal")tinyMCE.srcMode=settings.exec_mode=="src"?'_src':'';if(baseHREF!=""&&src.indexOf('://')==-1)tinyMCE.baseURL=baseHREF+src;else tinyMCE.baseURL=src;break}}}this.documentBasePath=document.location.href;if(this.documentBasePath.indexOf('?')!=-1)this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.indexOf('?'));this.documentURL=this.documentBasePath;this.documentBasePath=this.documentBasePath.substring(0,this.documentBasePath.lastIndexOf('/'));if(tinyMCE.baseURL.indexOf('://')==-1&&tinyMCE.baseURL.charAt(0)!='/'){tinyMCE.baseURL=this.documentBasePath+"/"+tinyMCE.baseURL}this._def("mode","none");this._def("theme","advanced");this._def("plugins","",true);this._def("language","en");this._def("docs_language",this.settings['language']);this._def("elements","");this._def("textarea_trigger","mce_editable");this._def("editor_selector","");this._def("editor_deselector","mceNoEditor");this._def("valid_elements","+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");this._def("extended_valid_elements","");this._def("invalid_elements","");this._def("encoding","");this._def("urlconverter_callback",tinyMCE.getParam("urlconvertor_callback","TinyMCE_Engine.prototype.convertURL"));this._def("save_callback","");this._def("debug",false);this._def("force_br_newlines",false);this._def("force_p_newlines",true);this._def("add_form_submit_trigger",true);this._def("relative_urls",true);this._def("remove_script_host",true);this._def("focus_alert",true);this._def("document_base_url",this.documentURL);this._def("visual",true);this._def("visual_table_class","mceVisualAid");this._def("setupcontent_callback","");this._def("fix_content_duplication",true);this._def("custom_undo_redo",true);this._def("custom_undo_redo_levels",-1);this._def("custom_undo_redo_keyboard_shortcuts",true);this._def("custom_undo_redo_restore_selection",true);this._def("custom_undo_redo_global",false);this._def("verify_html",true);this._def("apply_source_formatting",false);this._def("directionality","ltr");this._def("cleanup_on_startup",false);this._def("inline_styles",false);this._def("convert_newlines_to_brs",false);this._def("auto_reset_designmode",true);this._def("entities","39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",true);this._def("entity_encoding","named");this._def("cleanup_callback","");this._def("add_unload_trigger",true);this._def("ask",false);this._def("nowrap",false);this._def("auto_resize",false);this._def("auto_focus",false);this._def("cleanup",true);this._def("remove_linebreaks",true);this._def("button_tile_map",false);this._def("submit_patch",true);this._def("browsers","msie,safari,gecko,opera",true);this._def("dialog_type","window");this._def("accessibility_warnings",true);this._def("accessibility_focus",true);this._def("merge_styles_invalid_parents","");this._def("force_hex_style_colors",true);this._def("trim_span_elements",true);this._def("convert_fonts_to_spans",false);this._def("doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",true);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');this._def("gecko_spellcheck",false);this._def("hide_selects_on_submit",true);if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.inlineStrict='A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';this.inlineTransitional='A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';this.blockElms='H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:void(091039730);';this.uniqueTag='<div id="mceTMPElement" style="display: none">TMP</div>';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup','removeInstance');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isIE||tinyMCE.isOpera)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath}else{if(this.settings.editor_css!='')this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css"}if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg)}if(this.configs.length==0){if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isRealIE){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad)}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents()}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i<p.length;i++){if(p[i].charAt(0)!='-')this.loadScript(tinyMCE.baseURL+'/plugins/'+p[i]+'/editor_plugin'+tinyMCE.srcMode+'.js')}}if(tinyMCE.getParam('entity_encoding')=='named'){settings['cleanup_entities']=new Array();var entities=tinyMCE.getParam('entities','',true,',');for(var i=0;i<entities.length;i+=2)settings['cleanup_entities']['c'+entities[i]]=entities[i+1]}settings['index']=this.configs.length;this.configs[this.configs.length]=settings;this.loadNextScript();if(this.isIE&&!this.isOpera){try{document.execCommand('BackgroundImageCache',false,true)}catch(e){}}this.xmlEncodeAposRe=new RegExp('[<>&"\']','g');this.xmlEncodeRe=new RegExp('[<>&"]','g');},_addUnloadEvents:function(){if(tinyMCE.isIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler)}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true)})}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript()},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u}},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js")},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript()},addMenu:function(n,m){this.menus[n]=m},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},loadScript:function(url){var i;for(i=0;i<this.loadedFiles.length;i++){if(this.loadedFiles[i]==url)return}if(tinyMCE.settings.strict_loading_mode)this.pendingFiles[this.pendingFiles.length]=url;else document.write('<sc'+'ript language="javascript" type="text/javascript" src="'+url+'"></script>');this.loadedFiles[this.loadedFiles.length]=url},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex<this.pendingFiles.length){se=d.createElementNS('http://www.w3.org/1999/xhtml','script');se.setAttribute('language','javascript');se.setAttribute('type','text/javascript');se.setAttribute('src',this.pendingFiles[this.loadingIndex++]);d.getElementsByTagName("head")[0].appendChild(se)}else this.loadingIndex=-1;},loadCSS:function(url){var ar=url.replace(/\s+/,'').split(',');var lflen=0,csslen=0;var skip=false;var x=0,i=0,nl,le;for(x=0,csslen=ar.length;x<csslen;x++){if(ar[x]!=null&&ar[x]!='null'&&ar[x].length>0){for(i=0,lflen=this.loadedFiles.length;i<lflen;i++){if(this.loadedFiles[i]==ar[x]){skip=true;break}}if(!skip){if(tinyMCE.settings.strict_loading_mode){nl=document.getElementsByTagName("head");le=document.createElement('link');le.setAttribute('href',ar[x]);le.setAttribute('rel','stylesheet');le.setAttribute('type','text/css');nl[0].appendChild(le)}else document.write('<link href="'+ar[x]+'" rel="stylesheet" type="text/css" />');this.loadedFiles[this.loadedFiles.length]=ar[x]}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x<csslen;x++){css_file=css_ary[x];if(css_file!=null&&css_file!='null'&&css_file.length>0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm)}else doc.createStyleSheet(css_file)}}},confirmAdd:function(e,settings){var elm=tinyMCE.isIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true')},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid)}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document)},removeInstance:function(ti){var t=[],n,i;for(n in tinyMCE.instances){i=tinyMCE.instances[n];if(tinyMCE.isInstance(i)&&ti!=i)t[n]=i}tinyMCE.instances=t;n=[];t=tinyMCE.undoLevels;for(i=0;i<t.length;i++){if(t[i]!=ti)n.push(t[i])}tinyMCE.undoLevels=n;tinyMCE.undoIndex=n.length;tinyMCE.dispatchCallback(ti,'remove_instance_callback','removeInstance',ti);return ti},removeMCEControl:function(editor_id){var inst=tinyMCE.getInstanceById(editor_id),h,re,ot,tn;if(inst){inst.switchSettings();editor_id=inst.editorId;h=tinyMCE.getContent(editor_id);this.removeInstance(inst);tinyMCE.selectedElement=null;tinyMCE.selectedInstance=null;re=document.getElementById(editor_id+"_parent");ot=inst.oldTargetElement;tn=ot.nodeName.toLowerCase();if(tn=="textarea"||tn=="input"){re.parentNode.removeChild(re);ot.style.display="inline";ot.value=h}else{ot.innerHTML=h;ot.style.display='block';re.parentNode.insertBefore(ot,re);re.parentNode.removeChild(re)}}},triggerSave:function(skip_cleanup,skip_callback){var inst,n;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.triggerSave(skip_cleanup,skip_callback)}},resetForm:function(form_index){var i,inst,n,formObj=document.forms[form_index];for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();for(i=0;i<formObj.elements.length;i++){if(inst.formTargetElementId==formObj.elements[i].name)inst.getBody().innerHTML=inst.startContent}}},execInstanceCommand:function(editor_id,command,user_interface,value,focus){var inst=tinyMCE.getInstanceById(editor_id),r;if(inst){r=inst.selection.getRng();if(typeof(focus)=="undefined")focus=true;if(focus&&(!r||!r.item))inst.contentWindow.focus();inst.autoResetDesignMode();this.selectedElement=inst.getFocusElement();inst.select();tinyMCE.execCommand(command,user_interface,value);if(tinyMCE.isIE&&window.event!=null)tinyMCE.cancelEvent(window.event)}},execCommand:function(command,user_interface,value){var inst=tinyMCE.selectedInstance;user_interface=user_interface?user_interface:false;value=value?value:null;if(inst)inst.switchSettings();switch(command){case"Undo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex>0){tinyMCE.nextUndoRedoAction='Undo';inst=this.undoLevels[--this.undoIndex];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Undo')}}else inst.execCommand('Undo');return true;case"Redo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex<=this.undoLevels.length-1){tinyMCE.nextUndoRedoAction='Redo';inst=this.undoLevels[this.undoIndex++];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Redo')}}else inst.execCommand('Redo');return true;case'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.getWin().focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'],value['document']),value['element'],value['document']);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceToggleEditor":var inst=tinyMCE.getInstanceById(value),pe,te;if(inst){pe=document.getElementById(inst.editorId+'_parent');te=inst.oldTargetElement;if(typeof(inst.enabled)=='undefined')inst.enabled=true;inst.enabled=!inst.enabled;if(!inst.enabled){pe.style.display='none';te.value=inst.getHTML();te.style.display=inst.oldTargetDisplay;tinyMCE.dispatchCallback(inst,'hide_instance_callback','hideInstance',inst)}else{pe.style.display='block';te.style.display='none';inst.setHTML(te.value);inst.useCSS=false;tinyMCE.dispatchCallback(inst,'show_instance_callback','showInstance',inst)}}else tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceResetDesignMode":if(!tinyMCE.isIE){for(var n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="on"}catch(e){}}}return}if(inst){inst.execCommand(command,user_interface,value)}else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert'])},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings['area_width'];ah=""+tinyMCE.settings['area_height'];if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=(isNaN(aw)||aw<0)?300:aw;aw=aw+"px"}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=(isNaN(ah)||ah<0)?240:ah;ah=ah+"px"}iframe.setAttribute("id",id);iframe.setAttribute("name",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isRealIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isRealIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isRealIE)return win.frames[id];else return iframe},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id],i;var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/&lt;/g,'<');content=content.replace(/&gt;/g,'>');content=content.replace(/&quot;/g,'"');content=content.replace(/&amp;/g,'&')}tinyMCE.selectedInstance=inst;inst.switchSettings();if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm"}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo')}for(i=1;i<=6;i++)inst.addShortcut('ctrl',''+i,'','FormatBlock',false,'<h'+i+'>');inst.addShortcut('ctrl','7','','FormatBlock',false,'<p>');inst.addShortcut('ctrl','8','','FormatBlock',false,'<div>');inst.addShortcut('ctrl','9','','FormatBlock',false,'<address>');if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline')}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getBody().setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","<br />","gi");content=tinyMCE.regexpReplace(content,"\r","<br />","gi");content=tinyMCE.regexpReplace(content,"\n","<br />","gi")}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('&lt;&gt;','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else tinyMCE.setInnerHTML(inst.getBody(),content);tinyMCE.convertAllRelativeURLs(inst.getBody())}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}')}else tinyMCE._setHTML(inst.getDoc(),content)}tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch)}}inst.select();tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}if(tinyMCE.isGecko)inst.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");tinyMCE._removeInternal(inst.getBody());inst.select();tinyMCE.triggerNodeChange(false,true)},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"')}return s},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}},removeTinyMCEFormElements:function(form_obj){var i,elementId;if(!tinyMCE.getParam('hide_selects_on_submit'))return;if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form")}if(form_obj==null)return;for(i=0;i<form_obj.elements.length;i++){elementId=form_obj.elements[i].name?form_obj.elements[i].name:form_obj.elements[i].id;if(elementId.indexOf('mce_editor_')==0)form_obj.elements[i].disabled=true}},handleEvent:function(e){var inst=tinyMCE.selectedInstance;if(typeof(tinyMCE)=="undefined")return true;if(tinyMCE.executeCallback(tinyMCE.selectedInstance,'handle_event_callback','handleEvent',e))return false;switch(e.type){case"beforedeactivate":case"blur":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.execCommand('mceEndTyping');tinyMCE.hideMenus();return;case"drop":case"beforepaste":if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.setBaseHREF(null);if(tinyMCE.isRealIE){var ife=tinyMCE.selectedInstance.iframeElement;if(ife.style.height.indexOf('%')!=-1){ife._oldHeight=ife.style.height;ife.style.height=ife.clientHeight}}window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();",1);return;case"submit":tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE?window.event.srcElement:e.target);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;return;case"reset":var formObj=tinyMCE.isIE?window.event.srcElement:e.target;for(var i=0;i<document.forms.length;i++){if(document.forms[i]==formObj)window.setTimeout('tinyMCE.resetForm('+i+');',10)}return;case"keypress":if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId){tinyMCE.instances[e.target.editorId].select()}else{if(e.target.ownerDocument.editorId)tinyMCE.instances[e.target.ownerDocument.editorId].select()}if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();if((tinyMCE.isGecko||tinyMCE.isOpera||tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&e.keyCode==13&&!e.shiftKey){if(TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance,e)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if((tinyMCE.isGecko&&!tinyMCE.isSafari)&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");return tinyMCE.cancelEvent(e)}}if(tinyMCE.isIE&&tinyMCE.settings['force_br_newlines']&&e.keyCode==13){if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance){var sel=tinyMCE.selectedInstance.getDoc().selection;var rng=sel.createRange();if(tinyMCE.getParentElement(rng.parentElement(),"li")!=null)return false;e.returnValue=false;e.cancelBubble=true;rng.pasteHTML("<br />");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false)}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="&nbsp;&nbsp;";else elm.innerHTML="&nbsp;"}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){posKey=true;break}}if(tinyMCE.isIE&&tinyMCE.settings['custom_undo_redo']){var keys=new Array(8,46);for(var i=0;i<keys.length;i++){if(keys[i]==e.keyCode){if(e.type=="keyup")tinyMCE.triggerNodeChange(false)}}}if(e.keyCode==17)return true;if(tinyMCE.isGecko){if(!posKey&&e.type=="keyup"&&!e.ctrlKey||(e.ctrlKey&&(e.keyCode==86||e.keyCode==88)))tinyMCE.execCommand("mceStartTyping")}else{if(!posKey&&e.type=="keyup")tinyMCE.execCommand("mceStartTyping")}if(e.type=="keydown"&&(posKey||e.ctrlKey)&&inst)inst.undoBookmark=inst.selection.getBookmark();if(e.type=="keyup"&&(posKey||e.ctrlKey))tinyMCE.execCommand("mceEndTyping");if(posKey&&e.type=="keyup")tinyMCE.triggerNodeChange(false);if(tinyMCE.isIE&&e.ctrlKey)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);break;case"mousedown":case"mouseup":case"click":case"dblclick":case"focus":tinyMCE.hideMenus();if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.switchSettings();tinyMCE.selectedInstance.isFocused=true}var targetBody=tinyMCE.getParentElement(e.target,"html");for(var instanceName in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[instanceName]))continue;var inst=tinyMCE.instances[instanceName];inst.autoResetDesignMode();if(inst.getBody().parentNode==targetBody){inst.select();tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");tinyMCE.imgElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"img");break}}if(!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark&&(e.type=="mouseup"||e.type=="dblclick"))tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark=tinyMCE.selectedInstance.selection.getBookmark();if(e.type!="focus")tinyMCE.selectedNode=null;tinyMCE.triggerNodeChange(false);tinyMCE.execCommand("mceEndTyping");if(e.type=="mouseup")tinyMCE.execCommand("mceAddUndoLevel");if(!tinyMCE.selectedInstance&&e.target.editorId)tinyMCE.instances[e.target.editorId].select();return false;break}},getButtonHTML:function(id,lang,img,cmd,ui,val){var h='',m,x,io='';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.isRealIE)io='onmouseover="tinyMCE.lastHover = this;"';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=this.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceTiledButton mceButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="background-position: '+x+'px 0" title="{$'+lang+'}" />';h+='</a>'}else{h+='<a id="{$editor_id}_'+id+'" href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" '+io+' class="mceButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" />';h+='</a>'}return h},getMenuButtonHTML:function(id,lang,img,mcmd,cmd,ui,val){var h='',m,x;mcmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+mcmd+'\');';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';h+='<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: '+x+'px 0" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}else{if(tinyMCE.isRealIE)h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';else h+='<span id="{$editor_id}_'+id+'" dir="ltr" class="mceMenuButton">';h+='<a href="javascript:'+cmd+'" onclick="'+cmd+'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';h+='<img src="'+img+'" title="{$'+lang+'}" /></a>';h+='<a href="javascript:'+mcmd+'" onclick="'+mcmd+'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$'+lang+'}" class="mceMenuButton" />';h+='</a></span>'}return h},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'')},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i<a.length;i++)this.buttonMap[a[i]]=i},submitPatch:function(){tinyMCE.removeTinyMCEFormElements(this);tinyMCE.triggerSave();tinyMCE.isNotDirty=true;this.mceOldSubmit()},onLoad:function(){var r;if(tinyMCE.settings.strict_loading_mode&&this.loadingIndex!=-1){window.setTimeout('tinyMCE.onLoad();',1);return}if(tinyMCE.isRealIE&&window.event.type=="readystatechange"&&document.readyState!="complete")return true;if(tinyMCE.isLoaded)return true;tinyMCE.isLoaded=true;if(tinyMCE.isRealIE&&document.body){r=document.body.createTextRange();r.collapse(true);r.select()}tinyMCE.dispatchCallback(null,'onpageload','onPageLoad');for(var c=0;c<tinyMCE.configs.length;c++){tinyMCE.settings=tinyMCE.configs[c];var selector=tinyMCE.getParam("editor_selector");var deselector=tinyMCE.getParam("editor_deselector");var elementRefAr=new Array();if(document.forms&&tinyMCE.settings['add_form_submit_trigger']&&!tinyMCE.submitTriggers){for(var i=0;i<document.forms.length;i++){var form=document.forms[i];tinyMCE.addEvent(form,"submit",TinyMCE_Engine.prototype.handleEvent);tinyMCE.addEvent(form,"reset",TinyMCE_Engine.prototype.handleEvent);tinyMCE.submitTriggers=true;if(tinyMCE.settings['submit_patch']){try{form.mceOldSubmit=form.submit;form.submit=TinyMCE_Engine.prototype.submitPatch}catch(e){}}}}var mode=tinyMCE.settings['mode'];switch(mode){case"exact":var elements=tinyMCE.getParam('elements','',true,',');for(var i=0;i<elements.length;i++){var element=tinyMCE._getElementById(elements[i]);var trigger=element?element.getAttribute(tinyMCE.settings['textarea_trigger']):"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(element,"class")))continue;if(trigger=="false")continue;if((tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click'])&&element){elementRefAr[elementRefAr.length]=element;continue}if(element)tinyMCE.addMCEControl(element,elements[i]);else if(tinyMCE.settings['debug'])alert("Error: Could not find element by id or name: "+elements[i])}break;case"specific_textareas":case"textareas":var nodeList=document.getElementsByTagName("textarea");for(var i=0;i<nodeList.length;i++){var elm=nodeList.item(i);var trigger=elm.getAttribute(tinyMCE.settings['textarea_trigger']);if(selector!=''&&!new RegExp('\\b'+selector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if(selector!='')trigger=selector!=""?"true":"";if(new RegExp('\\b'+deselector+'\\b').test(tinyMCE.getAttrib(elm,"class")))continue;if((mode=="specific_textareas"&&trigger=="true")||(mode=="textareas"&&trigger!="false"))elementRefAr[elementRefAr.length]=elm}break}for(var i=0;i<elementRefAr.length;i++){var element=elementRefAr[i];var elementId=element.name?element.name:element.id;if(tinyMCE.settings['ask']||tinyMCE.settings['convert_on_click']){if(tinyMCE.isGecko){var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});if(element.nodeName!="TEXTAREA"&&element.nodeName!="INPUT")tinyMCE.addEvent(element,"click",function(e){window.setTimeout(function(){TinyMCE_Engine.prototype.confirmAdd(e,settings)},10)});}else{var settings=tinyMCE.settings;tinyMCE.addEvent(element,"focus",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});tinyMCE.addEvent(element,"click",function(){TinyMCE_Engine.prototype.confirmAdd(null,settings)});}}else tinyMCE.addMCEControl(element,elementId)}if(tinyMCE.settings['auto_focus']){window.setTimeout(function(){var inst=tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);inst.selection.selectNode(inst.getBody(),true,true);inst.contentWindow.focus()},100)}tinyMCE.dispatchCallback(null,'oninit','onInit')}},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.isTinyMCE_Control},getParam:function(name,default_value,strip_whitespace,split_chr){var value=(typeof(this.settings[name])=="undefined")?default_value:this.settings[name];if(value=="true"||value=="false")return(value=="true");if(strip_whitespace)value=tinyMCE.regexpReplace(value,"[ \t\r\n]","");if(typeof(split_chr)!="undefined"&&split_chr!=null){value=value.split(split_chr);var outArray=new Array();for(var i=0;i<value.length;i++){if(value[i]&&value[i]!="")outArray[outArray.length]=value[i]}value=outArray}return value},getLang:function(name,default_value,parse_entities,va){var v=(typeof(tinyMCELang[name])=="undefined")?default_value:tinyMCELang[name],n;if(parse_entities)v=tinyMCE.entityDecode(v);if(va){for(n in va)v=this.replaceVar(v,n,va[n])}return v},entityDecode:function(s){var e=document.createElement("div");e.innerHTML=s;return e.firstChild.nodeValue},addToLang:function(prefix,ar){for(var key in ar){if(typeof(ar[key])=='function')continue;tinyMCELang[(key.indexOf('lang_')==-1?'lang_':'')+(prefix!=''?(prefix+"_"):'')+key]=ar[key]}this.loadNextScript();},triggerNodeChange:function(focus,setup_content){var elm,inst,editorId,undoIndex=-1,undoLevels=-1,doc,anySelection=false,st;if(tinyMCE.selectedInstance){inst=tinyMCE.selectedInstance;elm=(typeof(setup_content)!="undefined"&&setup_content)?tinyMCE.selectedElement:inst.getFocusElement();editorId=inst.editorId;st=inst.selection.getSelectedText();if(tinyMCE.settings.auto_resize)inst.resizeToContent();if(setup_content&&tinyMCE.isGecko&&inst.isHidden())elm=inst.getBody();inst.switchSettings();if(tinyMCE.selectedElement)anySelection=(tinyMCE.selectedElement.nodeName.toLowerCase()=="img")||(st&&st.length>0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content)}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus()},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");po=tinyMCE.themes[tinyMCE.settings['theme']];if(po&&po.cleanup)content=po.cleanup(type,content,inst);pl=inst.plugins;for(i=0;i<pl.length;i++){po=tinyMCE.plugins[pl[i]];if(po&&po.cleanup)content=po.cleanup(type,content,inst)}return content},setContent:function(h){if(tinyMCE.selectedInstance){tinyMCE.selectedInstance.execCommand('mceSetContent',false,h);tinyMCE.selectedInstance.repaint()}},importThemeLanguagePack:function(name){if(typeof(name)=="undefined")name=tinyMCE.settings['theme'];tinyMCE.loadScript(tinyMCE.baseURL+'/themes/'+name+'/langs/'+tinyMCE.settings['language']+'.js')},importPluginLanguagePack:function(name){var b=tinyMCE.baseURL+'/plugins/'+name;if(this.plugins[name])b=this.plugins[name].baseURL;tinyMCE.loadScript(b+'/langs/'+tinyMCE.settings['language']+'.js')},applyTemplate:function(h,as){return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}','gi'),function(m,s){if(s.indexOf('lang_')==0&&tinyMCELang[s])return tinyMCELang[s];if(as&&as[s])return as[s];if(tinyMCE.settings[s])return tinyMCE.settings[s];if(m=='themeurl')return tinyMCE.themeURL;return m})},replaceVar:function(h,r,v){return h.replace(new RegExp('{\\\$'+r+'}','g'),v)},openWindow:function(template,args){var html,width,height,x,y,resizable,scrollbars,url;args=!args?{}:args;args['mce_template_file']=template['file'];args['mce_width']=template['width'];args['mce_height']=template['height'];tinyMCE.windowArgs=args;html=template['html'];if(!(width=parseInt(template['width'])))width=320;if(!(height=parseInt(template['height'])))height=200;if(tinyMCE.isIE)height+=40;else height+=20;x=parseInt(screen.width/ 2.0) - (width /2.0);y=parseInt(screen.height/ 2.0) - (height /2.0);resizable=(args&&args['resizable'])?args['resizable']:"no";scrollbars=(args&&args['scrollbars'])?args['scrollbars']:"no";if(template['file'].charAt(0)!='/'&&template['file'].indexOf('://')==-1)url=tinyMCE.baseURL+"/themes/"+tinyMCE.getParam("theme")+"/"+template['file'];else url=template['file'];for(var name in args){if(typeof(args[name])=='function')continue;url=tinyMCE.replaceVar(url,name,escape(args[name]))}if(html){html=tinyMCE.replaceVar(html,"css",this.settings['popups_css']);html=tinyMCE.applyTemplate(html,args);var win=window.open("","mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog=yes,minimizable="+resizable+",modal=yes,width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}win.document.write(html);win.document.close();win.resizeTo(width,height);win.focus()}else{if((tinyMCE.isRealIE)&&resizable!='yes'&&tinyMCE.settings["dialog_type"]=="modal"){height+=10;var features="resizable:"+resizable+";scroll:"+scrollbars+";status:yes;center:yes;help:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px;";window.showModalDialog(url,window,features)}else{var modal=(resizable=="yes")?"no":"yes";if(tinyMCE.isGecko&&tinyMCE.isMac)modal="no";if(template['close_previous']!="no")try{tinyMCE.lastWindow.close()}catch(ex){}var win=window.open(url,"mcePopup"+new Date().getTime(),"top="+y+",left="+x+",scrollbars="+scrollbars+",dialog="+modal+",minimizable="+resizable+",modal="+modal+",width="+width+",height="+height+",resizable="+resizable);if(win==null){alert(tinyMCELang['lang_popup_blocked']);return}if(template['close_previous']!="no")tinyMCE.lastWindow=win;eval('try { win.resizeTo(width, height); } catch(e) { }');if(tinyMCE.isGecko){if(win.document.defaultView.statusbar.visible)win.resizeBy(0,tinyMCE.isMac?10:24)}win.focus()}}},closeWindow:function(win){win.close()},getVisualAidClass:function(class_name,state){var aidClass=tinyMCE.settings['visual_table_class'];if(typeof(state)=="undefined")state=tinyMCE.settings['visual'];var classNames=new Array();var ar=class_name.split(' ');for(var i=0;i<ar.length;i++){if(ar[i]==aidClass)ar[i]="";if(ar[i]!="")classNames[classNames.length]=ar[i]}if(state)classNames[classNames.length]=aidClass;var className="";for(var i=0;i<classNames.length;i++){if(i>0)className+=" ";className+=classNames[i]}return className},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y<el.rows.length;y++){for(var x=0;x<el.rows[y].cells.length;x++){var cn=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x],"class"),state&&bo);tinyMCE.setAttrib(el.rows[y].cells[x],"class",cn)}}break;case"A":var anchorName=tinyMCE.getAttrib(el,"name");if(anchorName!=''&&state){el.title=anchorName;tinyMCE.addCSSClass(el,'mceItemAnchor')}else if(anchorName!=''&&!state)el.className='';break}if(deep&&el.hasChildNodes()){for(var i=0;i<el.childNodes.length;i++)tinyMCE.handleVisualAid(el.childNodes[i],deep,state,inst,true)}},fixGeckoBaseHREFBug:function(m,e,h){var xsrc,xhref;if(tinyMCE.isGecko){if(m==1){h=h.replace(/\ssrc=/gi," mce_tsrc=");h=h.replace(/\shref=/gi," mce_thref=");return h}else{if(!new RegExp('(src|href)=','g').test(h))return h;tinyMCE.selectElements(e,'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK',function(n){xsrc=tinyMCE.getAttrib(n,"mce_tsrc");xhref=tinyMCE.getAttrib(n,"mce_thref");if(xsrc!=""){try{n.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xsrc)}catch(e){}n.removeAttribute("mce_tsrc")}if(xhref!=""){try{n.href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],xhref)}catch(e){}n.removeAttribute("mce_thref")}return false});tinyMCE.selectNodes(e,function(n){if(n.nodeType==3||n.nodeType==8){n.nodeValue=n.nodeValue.replace(/\smce_tsrc=/gi," src=");n.nodeValue=n.nodeValue.replace(/\smce_thref=/gi," href=")}return false})}}return h},_setHTML:function(doc,html_content){html_content=tinyMCE.cleanupHTMLCode(html_content);try{tinyMCE.setInnerHTML(doc.body,html_content)}catch(e){if(this.isMSIE)doc.body.createTextRange().pasteHTML(html_content)}if(tinyMCE.isIE&&tinyMCE.settings['fix_content_duplication']){var paras=doc.getElementsByTagName("P");for(var i=0;i<paras.length;i++){var node=paras[i];while((node=node.parentNode)!=null){if(node.nodeName=="P")node.outerHTML=node.innerHTML}}var html=doc.body.innerHTML;tinyMCE.setInnerHTML(doc.body,html)}tinyMCE.cleanupAnchors(doc);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc)},getEditorId:function(form_element){var inst=this.getInstanceById(form_element);if(!inst)return null;return inst.editorId},getInstanceById:function(editor_id){var inst=this.instances[editor_id];if(!inst){for(var n in tinyMCE.instances){var instance=tinyMCE.instances[n];if(!tinyMCE.isInstance(instance))continue;if(instance.formTargetElementId==editor_id){inst=instance;break}}}return inst},queryInstanceCommandValue:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandValue(command);return false},queryInstanceCommandState:function(editor_id,command){var inst=tinyMCE.getInstanceById(editor_id);if(inst)return inst.queryCommandState(command);return null},setWindowArg:function(n,v){this.windowArgs[n]=v},getWindowArg:function(n,d){return(typeof(this.windowArgs[n])=="undefined")?d:this.windowArgs[n]},getCSSClasses:function(editor_id,doc){var inst=tinyMCE.getInstanceById(editor_id);if(inst&&inst.cssClasses.length>0)return inst.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;break}doc=instance.getDoc()}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc()}if(doc){var styles=doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x<styles.length;x++){var csses=null;eval("try {var csses = tinyMCE.isIE ? doc.styleSheets("+x+").rules : styles["+x+"].cssRules;} catch(e) {}");if(!csses)return new Array();for(var i=0;i<csses.length;i++){var selectorText=csses[i].selectorText;if(selectorText){var rules=selectorText.split(',');for(var c=0;c<rules.length;c++){var rule=rules[c];while(rule.indexOf(' ')==0)rule=rule.substring(1);if(rule.indexOf(' ')!=-1||rule.indexOf(':')!=-1||rule.indexOf('mceItem')!=-1)continue;if(rule.indexOf(tinyMCE.settings['visual_table_class'])!=-1||rule.indexOf('mceEditable')!=-1||rule.indexOf('mceNonEditable')!=-1)continue;if(rule.indexOf('.')!=-1){var cssClass=rule.substring(rule.indexOf('.')+1);var addClass=true;for(var p=0;p<inst.cssClasses.length&&addClass;p++){if(inst.cssClasses[p]==cssClass)addClass=false}if(addClass)inst.cssClasses[inst.cssClasses.length]=cssClass}}}}}}}return inst.cssClasses},regexpReplace:function(in_str,reg_exp,replace_str,opts){if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';var re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str)},trim:function(s){return s.replace(/^\s*|\s*$/g,"")},cleanupEventStr:function(s){s=""+s;s=s.replace('function anonymous()\n{\n','');s=s.replace('\n}','');s=s.replace(/^return true;/gi,'');return s},getControlHTML:function(c){var i,l,n,o,v,rtl=tinyMCE.getLang('lang_dir')=='rtl';l=tinyMCE.plugins;for(n in l){o=l[n];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+'</span>';return tinyMCE.replaceVar(v,"pluginurl",o.baseURL)}}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return'<span dir="rtl">'+v+'</span>';return v}return''},evalFunc:function(f,idx,a,o){o=!o?window:o;f=typeof(f)=='function'?f:o[f];return f.apply(o,Array.prototype.slice.call(a,idx))},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments)},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments)},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments)},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!=''&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i<l.length;i++){o=tinyMCE.plugins[l[i]];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}return false},xmlEncode:function(s,skip_apos){return s?(''+s).replace(!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe,function(c,b){switch(c){case'&':return'&amp;';case'"':return'&quot;';case'\'':return'&#39;';case'<':return'&lt;';case'>':return'&gt;'}return c}):s},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.foreColor=this.backColor="#999999";this.data={};this.cssClasses=[];this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i<fn.length;i++){if((fu=window['TinyMCE_'+t+"_"+fn[i]]))to[fn[i]]=fu}tinyMCE.addTheme(t,to)}this.plugins=new Array();p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(i=0;i<p.length;i++){pn=p[i];if(pn.charAt(0)=='-')pn=pn.substring(1);if(!tinyMCE.hasPlugin(pn)){fn=tinyMCE.callbacks;to={};for(x=0;x<fn.length;x++){if((fu=window['TinyMCE_'+pn+"_"+fn[x]]))to[fn[x]]=fu}tinyMCE.addPlugin(pn,to)}this.plugins[this.plugins.length]=pn}}};TinyMCE_Control.prototype={selection:null,settings:null,cleanup:null,getData:function(na){var o=this.data[na];if(!o)o=this.data[na]={};return o},hasPlugin:function(n){var i;for(i=0;i<this.plugins.length;i++){if(this.plugins[i]==n)return true}return false},addPlugin:function(n,p){if(!this.hasPlugin(n)){tinyMCE.addPlugin(n,p);this.plugins[this.plugins.length]=n}},repaint:function(){var s,b,ex;if(tinyMCE.isRealIE)return;try{s=this.selection;b=s.getBookmark(true);this.getBody().style.display='none';this.getDoc().execCommand('selectall',false,null);this.getSel().collapseToStart();this.getBody().style.display='block';s.moveToBookmark(b)}catch(ex){}},switchSettings:function(){if(tinyMCE.configs.length>1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index']}},select:function(){var oldInst=tinyMCE.selectedInstance;if(oldInst!=this){if(oldInst)oldInst.execCommand('mceEndTyping');tinyMCE.dispatchCallback(this,'select_instance_callback','selectInstance',this,oldInst);tinyMCE.selectedInstance=this}},getBody:function(){return this.contentBody?this.contentBody:this.getDoc().body},getDoc:function(){return this.contentWindow.document},getWin:function(){return this.contentWindow},getContainerWin:function(){return this.containerWindow?this.containerWindow:window},getViewPort:function(){return tinyMCE.getViewPort(this.getWin())},getParentNode:function(n,f){return tinyMCE.getParentNode(n,f,this.getBody())},getParentElement:function(n,na,f){return tinyMCE.getParentElement(n,na,f,this.getBody())},getParentBlockElement:function(n){return tinyMCE.getParentBlockElement(n,this.getBody())},resizeToContent:function(){var d=this.getDoc(),b=d.body,de=d.documentElement;this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+'px'},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i<scl.length;i++){if(sc.alt==scl[i].alt&&sc.ctrl==scl[i].ctrl&&sc.shift==scl[i].shift&&sc.charCode==scl[i].charCode&&sc.keyCode==scl[i].keyCode){return false}}scl[scl.length]=sc;return true},handleShortcut:function(e){var i,s,o;if(!e.altKey&&!e.ctrlKey)return false;s=this.shortcuts;for(i=0;i<s.length;i++){o=s[i];if(o.alt==e.altKey&&o.ctrl==e.ctrlKey&&(o.keyCode==e.keyCode||o.charCode==e.charCode)){if(o.cmd&&(e.type=="keydown"||(e.type=="keypress"&&!tinyMCE.isOpera)))tinyMCE.execCommand(o.cmd,o.ui,o.val);tinyMCE.cancelEvent(e);return true}}return false},autoResetDesignMode:function(){if(!tinyMCE.isIE&&this.isHidden()&&tinyMCE.getParam('auto_reset_designmode'))eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}')},isHidden:function(){var s;if(tinyMCE.isIE)return false;s=this.getSel();return(!s||!s.rangeCount||s.rangeCount==0)},isDirty:function(){return tinyMCE.trim(this.startContent)!=tinyMCE.trim(this.getBody().innerHTML)&&!tinyMCE.isNotDirty},_mergeElements:function(scmd,pa,ch,override){if(scmd=="removeformat"){pa.className="";pa.style.cssText="";ch.className="";ch.style.cssText="";return}var st=tinyMCE.parseStyle(tinyMCE.getAttrib(pa,"style"));var stc=tinyMCE.parseStyle(tinyMCE.getAttrib(ch,"style"));var className=tinyMCE.getAttrib(pa,"class");className=tinyMCE.getAttrib(ch,"class");if(override){for(var n in st){if(typeof(st[n])=='function')continue;stc[n]=st[n]}}else{for(var n in stc){if(typeof(stc[n])=='function')continue;st[n]=stc[n]}}tinyMCE.setAttrib(pa,"style",tinyMCE.serializeStyle(st));tinyMCE.setAttrib(pa,"class",tinyMCE.trim(className));ch.className="";ch.style.cssText="";ch.removeAttribute("class");ch.removeAttribute("style")},_setUseCSS:function(b){var d=this.getDoc();try{d.execCommand("useCSS",false,!b)}catch(ex){}try{d.execCommand("styleWithCSS",false,b)}catch(ex){}if(!tinyMCE.getParam("table_inline_editing"))try{d.execCommand('enableInlineTableEditing',false,"false")}catch(ex){}if(!tinyMCE.getParam("object_resizing"))try{d.execCommand('enableObjectResizing',false,"false")}catch(ex){}},execCommand:function(command,user_interface,value){var doc=this.getDoc(),win=this.getWin(),focusElm=this.getFocusElement();if(!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel','gi').test(command))this.undoBookmark=null;if(!tinyMCE.isIE&&!this.useCSS){this._setUseCSS(false);this.useCSS=true}this.contentDocument=doc;if(!/mceStartTyping|mceEndTyping/.test(command)){if(tinyMCE.execCommandCallback(this,'execcommand_callback','execCommand',this.editorId,this.getBody(),command,user_interface,value))return}if(focusElm&&focusElm.nodeName=="IMG"){var align=focusElm.getAttribute('align');var img=command=="JustifyCenter"?focusElm.cloneNode(false):focusElm;switch(command){case"JustifyLeft":if(align=='left')img.removeAttribute('align');else img.setAttribute('align','left');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyCenter":img.removeAttribute('align');var div=tinyMCE.getParentElement(focusElm,"div");if(div&&div.style.textAlign=="center"){if(div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div)}else{var div=this.getDoc().createElement("div");div.style.textAlign='center';div.appendChild(img);focusElm.parentNode.replaceChild(div,focusElm)}this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return;case"JustifyRight":if(align=='right')img.removeAttribute('align');else img.setAttribute('align','right');var div=focusElm.parentNode;if(div&&div.nodeName=="DIV"&&div.childNodes.length==1&&div.parentNode)div.parentNode.replaceChild(img,div);this.selection.selectNode(img);this.repaint();tinyMCE.triggerNodeChange();return}}if(tinyMCE.settings['force_br_newlines']){var alignValue="";if(doc.selection.type!="Control"){switch(command){case"JustifyLeft":alignValue="left";break;case"JustifyCenter":alignValue="center";break;case"JustifyFull":alignValue="justify";break;case"JustifyRight":alignValue="right";break}if(alignValue!=""){var rng=doc.selection.createRange();if((divElm=tinyMCE.getParentElement(rng.parentElement(),"div"))!=null)divElm.setAttribute("align",alignValue);else if(rng.pasteHTML&&rng.htmlText.length>0)rng.pasteHTML('<div align="'+alignValue+'">'+rng.htmlText+"</div>");tinyMCE.triggerNodeChange();return}}}switch(command){case"mceRepaint":this.repaint();return true;case"unlink":if(tinyMCE.isGecko&&this.getSel().isCollapsed){focusElm=tinyMCE.getParentElement(focusElm,'A');if(focusElm)this.selection.selectNode(focusElm,false)}this.getDoc().execCommand(command,user_interface,value);tinyMCE.isGecko&&this.getSel().collapseToEnd();tinyMCE.triggerNodeChange();return true;case"InsertUnorderedList":case"InsertOrderedList":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm)}else{if(!this.cleanup.isValid(value))return true;if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'<p>');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b)}else this.getDoc().execCommand("FormatBlock",false,value)}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isIE){value.outerHTML=value.innerHTML}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML))}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return}parentNode=parentNode.parentNode}break;case"mceSetStyleInfo":case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','')}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==parentElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}else{this._setUseCSS(false);doc.execCommand("FontName",false,"#mce_temp_font#");var elementArray=tinyMCE.getElementsByAttributeValue(this.getBody(),"font","face","#mce_temp_font#");for(var x=0;x<elementArray.length;x++){elm=elementArray[x];if(elm){var spanElm=doc.createElement(wrapper);if(scmd=="setstyle")tinyMCE.setStyleAttrib(spanElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(spanElm,sname,svalue);if(scmd=="removeformat"){spanElm.style.cssText='';tinyMCE.setAttrib(spanElm,'class','')}if(elm.hasChildNodes()){for(var i=0;i<elm.childNodes.length;i++)spanElm.appendChild(elm.childNodes[i].cloneNode(true))}spanElm.setAttribute("mce_new","true");elm.parentNode.replaceChild(spanElm,elm);var ch=tinyMCE.getNodeTree(spanElm,new Array(),1);for(var z=0;z<ch.length;z++){if(ch[z]==spanElm)continue;if(scmd=="setstyle")tinyMCE.setStyleAttrib(ch[z],sname,'');if(scmd=="setattrib")tinyMCE.setAttrib(ch[z],sname,'');if(scmd=="removeformat"){ch[z].style.cssText='';tinyMCE.setAttrib(ch[z],'class','')}}}}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false)}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('<span>','gi').test(tmp.innerHTML)){for(var x=0;x<elm.childNodes.length;x++){if(elm.parentNode!=null)elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true),elm)}elm.parentNode.removeChild(elm)}}if(scmd=="removeformat")tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"FontName":if(value==null){var s=this.getSel();if(tinyMCE.isGecko&&s.isCollapsed){var f=tinyMCE.getParentElement(this.getFocusElement(),"font");if(f!=null)this.selection.selectNode(f,false)}this.getDoc().execCommand("RemoveFormat",false,null);if(f!=null&&tinyMCE.isGecko){var r=this.getRng().cloneRange();r.collapse(true);s.removeAllRanges();s.addRange(r)}}else this.getDoc().execCommand('FontName',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"FontSize":this.getDoc().execCommand('FontSize',false,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);return;case"forecolor":value=value==null?this.foreColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.foreColor=value;this.getDoc().execCommand('forecolor',false,value);break;case"HiliteColor":value=value==null?this.backColor:value;value=tinyMCE.trim(value);value=value.charAt(0)!='#'?(isNaN('0x'+value)?value:'#'+value):value;this.backColor=value;if(tinyMCE.isGecko){this._setUseCSS(true);this.getDoc().execCommand('hilitecolor',false,value);this._setUseCSS(false)}else this.getDoc().execCommand('BackColor',false,value);break;case"Cut":case"Copy":case"Paste":var cmdFailed=false;eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');if(tinyMCE.isOpera&&cmdFailed)alert('Currently not supported by your browser, use keyboard shortcuts instead.');if(tinyMCE.isGecko&&cmdFailed){if(confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');return}else tinyMCE.triggerNodeChange();break;case"mceSetContent":if(!value)value="";value=tinyMCE.storeAwayURLs(value);value=tinyMCE._customCleanup(this,"insert_to_editor",value);if(this.getBody().nodeName=='BODY')tinyMCE._setHTML(doc,value);else this.getBody().innerHTML=value;tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,doc,this.settings,this.getBody(),false,false,false,true));tinyMCE.convertAllRelativeURLs(this.getBody());tinyMCE._removeInternal(this.getBody());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);return true;case"mceCleanup":var b=this.selection.getBookmark();tinyMCE._setHTML(this.contentDocument,this.getBody().innerHTML);tinyMCE.setInnerHTML(this.getBody(),tinyMCE._cleanupHTML(this,this.contentDocument,this.settings,this.getBody(),this.visualAid));tinyMCE.convertAllRelativeURLs(doc.body);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(doc);tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE._setEventsEnabled(this.getBody(),false);this.repaint();this.selection.moveToBookmark(b);tinyMCE.triggerNodeChange();break;case"mceReplaceContent":if(!value)value='';this.getWin().focus();var selectedText="";if(tinyMCE.isIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=this.getSel().toString();if(selectedText.length>0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value)}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange()}}break;case"mceSetCSSClass":this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&#38;|&#160;|&#60;|&#62;)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2)}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}}catch(ex){insertHTMLFailed=true}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return}}if(!tinyMCE.isIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value)}else value=rng.createContextualFragment(value)}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value)}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node)}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng)}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}else{var rng=doc.selection.createRange(),tmpRng=null;var c=value.indexOf('<!--')!=-1;if(c)value=tinyMCE.uniqueTag+value;if(rng.item)rng.item(0).outerHTML=value;else rng.pasteHTML(value);if(c){var e=this.getDoc().getElementById('mceTMPElement');e.parentNode.removeChild(e)}}tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange();break;case"mceStartTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex==-1){this.undoRedo.typingUndoIndex=this.undoRedo.undoIndex;tinyMCE.typingUndoIndex=tinyMCE.undoIndex;this.execCommand('mceAddUndoLevel')}break;case"mceEndTyping":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedo.typingUndoIndex!=-1){this.execCommand('mceAddUndoLevel');this.undoRedo.typingUndoIndex=-1}tinyMCE.typingUndoIndex=-1;break;case"mceBeginUndoLevel":this.undoRedoLevel=false;break;case"mceEndUndoLevel":this.undoRedoLevel=true;this.execCommand('mceAddUndoLevel');break;case"mceAddUndoLevel":if(tinyMCE.settings['custom_undo_redo']&&this.undoRedoLevel){if(this.undoRedo.add())tinyMCE.triggerNodeChange(false)}break;case"Undo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.undo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"Redo":if(tinyMCE.settings['custom_undo_redo']){tinyMCE.execCommand("mceEndTyping");this.undoRedo.redo();tinyMCE.triggerNodeChange()}else this.getDoc().execCommand(command,user_interface,value);break;case"mceToggleVisualAid":this.visualAid=!this.visualAid;tinyMCE.handleVisualAid(this.getBody(),true,this.visualAid,this);tinyMCE.triggerNodeChange();break;case"Indent":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();if(tinyMCE.isIE){var n=tinyMCE.getParentElement(this.getFocusElement(),"blockquote");do{if(n&&n.nodeName=="BLOCKQUOTE"){n.removeAttribute("dir");n.removeAttribute("style")}}while(n!=null&&(n=n.parentNode)!=null)}break;case"RemoveFormat":case"removeformat":var text=this.selection.getSelectedText();if(tinyMCE.isOpera){this.getDoc().execCommand("RemoveFormat",false,null);return}if(tinyMCE.isIE){try{var rng=doc.selection.createRange();rng.execCommand("RemoveFormat",false,null)}catch(e){}this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}else{this.getDoc().execCommand(command,user_interface,value);this.execCommand("mceSetStyleInfo",false,{command:"removeformat"})}if(text.length==0)this.execCommand("mceSetCSSClass",false,"");tinyMCE.triggerNodeChange();break;default:this.getDoc().execCommand(command,user_interface,value);if(tinyMCE.isGecko)window.setTimeout('tinyMCE.triggerNodeChange(false);',1);else tinyMCE.triggerNodeChange()}if(command!="mceAddUndoLevel"&&command!="Undo"&&command!="Redo"&&command!="mceStartTyping"&&command!="mceEndTyping")tinyMCE.execCommand("mceAddUndoLevel")},queryCommandValue:function(c){try{return this.getDoc().queryCommandValue(c)}catch(e){return null}},queryCommandState:function(c){return this.getDoc().queryCommandState(c)},_onAdd:function(replace_element,form_element_name,target_document){var hc,th,to,editorTemplate;th=this.settings['theme'];to=tinyMCE.themes[th];var targetDoc=target_document?target_document:document;this.targetDoc=targetDoc;tinyMCE.themeURL=tinyMCE.baseURL+"/themes/"+this.settings['theme'];this.settings['themeurl']=tinyMCE.themeURL;if(!replace_element){alert("Error: Could not find the target element.");return false}if(to.getEditorTemplate)editorTemplate=to.getEditorTemplate(this.settings,this.editorId);var deltaWidth=editorTemplate['delta_width']?editorTemplate['delta_width']:0;var deltaHeight=editorTemplate['delta_height']?editorTemplate['delta_height']:0;var html='<span id="'+this.editorId+'_parent" class="mceEditorContainer">'+editorTemplate['html'];html=tinyMCE.replaceVar(html,"editor_id",this.editorId);this.settings['default_document']=tinyMCE.baseURL+"/blank.htm";this.settings['old_width']=this.settings['width'];this.settings['old_height']=this.settings['height'];if(this.settings['width']==-1)this.settings['width']=replace_element.offsetWidth;if(this.settings['height']==-1)this.settings['height']=replace_element.offsetHeight;if(this.settings['width']==0)this.settings['width']=replace_element.style.width;if(this.settings['height']==0)this.settings['height']=replace_element.style.height;if(this.settings['width']==0)this.settings['width']=320;if(this.settings['height']==0)this.settings['height']=240;this.settings['area_width']=parseInt(this.settings['width']);this.settings['area_height']=parseInt(this.settings['height']);this.settings['area_width']+=deltaWidth;this.settings['area_height']+=deltaHeight;this.settings['width_style']=""+this.settings['width'];this.settings['height_style']=""+this.settings['height'];if((""+this.settings['width']).indexOf('%')!=-1)this.settings['area_width']="100%";else this.settings['width_style']+='px';if((""+this.settings['height']).indexOf('%')!=-1)this.settings['area_height']="100%";else this.settings['height_style']+='px';if((""+replace_element.style.width).indexOf('%')!=-1){this.settings['width']=replace_element.style.width;this.settings['area_width']="100%";this.settings['width_style']="100%"}if((""+replace_element.style.height).indexOf('%')!=-1){this.settings['height']=replace_element.style.height;this.settings['area_height']="100%";this.settings['height_style']="100%"}html=tinyMCE.applyTemplate(html);this.settings['width']=this.settings['old_width'];this.settings['height']=this.settings['old_height'];this.visualAid=this.settings['visual'];this.formTargetElementId=form_element_name;if(replace_element.nodeName=="TEXTAREA"||replace_element.nodeName=="INPUT")this.startContent=replace_element.value;else this.startContent=replace_element.innerHTML;if(replace_element.nodeName!="TEXTAREA"&&replace_element.nodeName!="INPUT"){this.oldTargetElement=replace_element;if(tinyMCE.settings['debug']){hc='<textarea wrap="off" id="'+form_element_name+'" name="'+form_element_name+'" cols="100" rows="15"></textarea>'}else{hc='<input type="hidden" id="'+form_element_name+'" name="'+form_element_name+'" />';this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}html+='</span>';if(tinyMCE.isGecko)html=hc+html;else html+=hc;if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}else{html+='</span>';this.oldTargetElement=replace_element;if(!tinyMCE.settings['debug']){this.oldTargetDisplay=tinyMCE.getStyle(this.oldTargetElement,'display','inline');this.oldTargetElement.style.display="none"}if(tinyMCE.isGecko){var rng=replace_element.ownerDocument.createRange();rng.setStartBefore(replace_element);var fragment=rng.createContextualFragment(html);tinyMCE.insertAfter(fragment,replace_element)}else replace_element.insertAdjacentHTML("beforeBegin",html)}var dynamicIFrame=false;var tElm=targetDoc.getElementById(this.editorId);if(!tinyMCE.isIE){if(tElm&&(tElm.nodeName=="SPAN"||tElm.nodeName=="span")){tElm=tinyMCE._createIFrame(tElm,targetDoc);dynamicIFrame=true}this.targetElement=tElm;this.iframeElement=tElm;this.contentDocument=tElm.contentDocument;this.contentWindow=tElm.contentWindow;}else{if(tElm&&tElm.nodeName=="SPAN")tElm=tinyMCE._createIFrame(tElm,targetDoc,targetDoc.parentWindow);else tElm=targetDoc.frames[this.editorId];this.targetElement=tElm;this.iframeElement=targetDoc.getElementById(this.editorId);if(tinyMCE.isOpera){this.contentDocument=this.iframeElement.contentDocument;this.contentWindow=this.iframeElement.contentWindow;dynamicIFrame=true}else{this.contentDocument=tElm.window.document;this.contentWindow=tElm.window}this.getDoc().designMode="on"}var doc=this.contentDocument;if(dynamicIFrame){var html=tinyMCE.getParam('doctype')+'<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="'+tinyMCE.settings['base_href']+'" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';try{if(!this.isHidden())this.getDoc().designMode="on";doc.open();doc.write(html);doc.close()}catch(e){this.getDoc().location.href=tinyMCE.baseURL+"/blank.htm"}}if(tinyMCE.isIE)window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\""+this.editorId+"\"]);",1);var parentElm=this.targetDoc.getElementById(this.editorId+'_parent');this.formElement=tinyMCE.isGecko?parentElm.previousSibling:parentElm.nextSibling;tinyMCE.setupContent(this.editorId,true);return true},setBaseHREF:function(u){var h,b,d,nl;d=this.getDoc();nl=d.getElementsByTagName("base");b=nl.length>0?nl[0]:null;if(!b){nl=d.getElementsByTagName("head");h=nl.length>0?nl[0]:null;b=d.createElement("base");b.setAttribute('href',u);h.appendChild(b)}else{if(u==""||u==null)b.parentNode.removeChild(b);else b.setAttribute('href',u)}},getHTML:function(r){var h,d=this.getDoc(),b=this.getBody();if(r)return b.innerHTML;h=tinyMCE._cleanupHTML(this,d,this.settings,b,false,true,false,true);if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(d);return h},setHTML:function(h){this.execCommand('mceSetContent',false,h);this.repaint()},getFocusElement:function(){return this.selection.getFocusElement()},getSel:function(){return this.selection.getSel()},getRng:function(){return this.selection.getRng()},triggerSave:function(skip_cleanup,skip_callback){var e,nl=[],i,s;this.switchSettings();s=tinyMCE.settings;if(tinyMCE.isRealIE){e=this.iframeElement;do{if(e.style&&e.style.display=='none'){e.style.display='block';nl[nl.length]={elm:e,type:'style'}}if(e.style&&s.hidden_tab_class.length>0&&e.className.indexOf(s.hidden_tab_class)!=-1){e.className=s.display_tab_class;nl[nl.length]={elm:e,type:'class'}}}while((e=e.parentNode)!=null)}tinyMCE.settings['preformatted']=false;if(typeof(skip_cleanup)=="undefined")skip_cleanup=false;if(typeof(skip_callback)=="undefined")skip_callback=false;tinyMCE._setHTML(this.getDoc(),this.getBody().innerHTML);if(this.settings['cleanup']==false){tinyMCE.handleVisualAid(this.getBody(),true,false,this);tinyMCE._setEventsEnabled(this.getBody(),true)}tinyMCE._customCleanup(this,"submit_content_dom",this.contentWindow.document.body);var htm=skip_cleanup?this.getBody().innerHTML:tinyMCE._cleanupHTML(this,this.getDoc(),this.settings,this.getBody(),tinyMCE.visualAid,true,true);htm=tinyMCE._customCleanup(this,"submit_content",htm);if(!skip_callback&&tinyMCE.settings['save_callback']!="")var content=eval(tinyMCE.settings['save_callback']+"(this.formTargetElementId,htm,this.getBody());");if((typeof(content)!="undefined")&&content!=null)htm=content;htm=tinyMCE.regexpReplace(htm,"&#40;","(","gi");htm=tinyMCE.regexpReplace(htm,"&#41;",")","gi");htm=tinyMCE.regexpReplace(htm,"&#59;",";","gi");htm=tinyMCE.regexpReplace(htm,"&#34;","&quot;","gi");htm=tinyMCE.regexpReplace(htm,"&#94;","^","gi");if(this.formElement)this.formElement.value=htm;if(tinyMCE.isSafari&&this.formElement)this.formElement.innerText=htm;for(i=0;i<nl.length;i++){if(nl[i].type=='style')nl[i].elm.style.display='none';else nl[i].elm.className=s.hidden_tab_class}}};TinyMCE_Engine.prototype.cleanupHTMLCode=function(s){s=s.replace(new RegExp('<p \\/>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<p>\\s*<\\/p>','gi'),'<p>&nbsp;</p>');s=s.replace(new RegExp('<br>\\s*<\\/br>','gi'),'<br />');s=s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>','gi'),'<$1$2$3></$1$2>');s=s.replace(new RegExp('\\s+></','gi'),'></');s=s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>','gi'),'<$1$2 />');if(tinyMCE.isIE)s=s.replace(new RegExp('<p><hr \\/><\\/p>','gi'),"<hr>");if(tinyMCE.isIE)s=s.replace(/<!(\s*)\/>/g,'');return s};TinyMCE_Engine.prototype.parseStyle=function(str){var ar=new Array();if(str==null)return ar;var st=str.split(';');tinyMCE.clearArray(ar);for(var i=0;i<st.length;i++){if(st[i]=='')continue;var re=new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');var pa=st[i].replace(re,'$1||$2').split('||');if(pa.length==2)ar[pa[0].toLowerCase()]=pa[1]}return ar};TinyMCE_Engine.prototype.compressStyle=function(ar,pr,sf,res){var box=new Array();box[0]=ar[pr+'-top'+sf];box[1]=ar[pr+'-left'+sf];box[2]=ar[pr+'-right'+sf];box[3]=ar[pr+'-bottom'+sf];for(var i=0;i<box.length;i++){if(box[i]==null)return;for(var a=0;a<box.length;a++){if(box[a]!=box[i])return}}ar[res]=box[0];ar[pr+'-top'+sf]=null;ar[pr+'-left'+sf]=null;ar[pr+'-right'+sf]=null;ar[pr+'-bottom'+sf]=null};TinyMCE_Engine.prototype.serializeStyle=function(ar){var str="";tinyMCE.compressStyle(ar,"border","","border");tinyMCE.compressStyle(ar,"border","-width","border-width");tinyMCE.compressStyle(ar,"border","-color","border-color");tinyMCE.compressStyle(ar,"border","-style","border-style");tinyMCE.compressStyle(ar,"padding","","padding");tinyMCE.compressStyle(ar,"margin","","margin");for(var key in ar){var val=ar[key];if(typeof(val)=='function')continue;if(key.indexOf('mso-')==0)continue;if(val!=null&&val!=''){val=''+val;val=val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)",'gi'),"url('$1')");if(val.indexOf('url(')!=-1&&tinyMCE.getParam('convert_urls')){var m=new RegExp("url\\('(.*?)'\\)").exec(val);if(m.length>1)val="url('"+eval(tinyMCE.getParam('urlconverter_callback')+"(m[1], null, true);")+"')"}if(tinyMCE.getParam("force_hex_style_colors"))val=tinyMCE.convertRGBToHex(val,true);val=val.replace(/\"/g,'\'');if(val!="url('')")str+=key.toLowerCase()+": "+val+"; "}}if(new RegExp('; $').test(str))str=str.substring(0,str.length-2);return str};TinyMCE_Engine.prototype.convertRGBToHex=function(s,k){if(s.toLowerCase().indexOf('rgb')!=-1){var re=new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)","gi");var rgb=s.replace(re,"$1,$2,$3,$4,$5").split(',');if(rgb.length==5){r=parseInt(rgb[1]).toString(16);g=parseInt(rgb[2]).toString(16);b=parseInt(rgb[3]).toString(16);r=r.length==1?'0'+r:r;g=g.length==1?'0'+g:g;b=b.length==1?'0'+b:b;s="#"+r+g+b;if(k)s=rgb[0]+s+rgb[4]}}return s};TinyMCE_Engine.prototype.convertHexToRGB=function(s){if(s.indexOf('#')!=-1){s=s.replace(new RegExp('[^0-9A-F]','gi'),'');return"rgb("+parseInt(s.substring(0,2),16)+","+parseInt(s.substring(2,4),16)+","+parseInt(s.substring(4,6),16)+")"}return s};TinyMCE_Engine.prototype.convertSpansToFonts=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var size=tinyMCE.trim(s[i].style.fontSize).toLowerCase();var fSize=0;for(var x=0;x<sizes.length;x++){if(sizes[x]==size){fSize=x+1;break}}if(fSize>0){tinyMCE.setAttrib(s[i],'size',fSize);s[i].style.fontSize=''}var fFace=s[i].style.fontFamily;if(fFace!=null&&fFace!=""){tinyMCE.setAttrib(s[i],'face',fFace);s[i].style.fontFamily=''}var fColor=s[i].style.color;if(fColor!=null&&fColor!=""){tinyMCE.setAttrib(s[i],'color',tinyMCE.convertRGBToHex(fColor));s[i].style.color=''}}};TinyMCE_Engine.prototype.convertFontsToSpans=function(doc){var sizes=tinyMCE.getParam('font_size_style_values').replace(/\s+/,'').split(',');var fsClasses=tinyMCE.getParam('font_size_classes');if(fsClasses!='')fsClasses=fsClasses.replace(/\s+/,'').split(',');else fsClasses=null;var s=tinyMCE.selectElements(doc,'span,font');for(var i=0;i<s.length;i++){var fSize,fFace,fColor;fSize=tinyMCE.getAttrib(s[i],'size');fFace=tinyMCE.getAttrib(s[i],'face');fColor=tinyMCE.getAttrib(s[i],'color');if(fSize!=""){fSize=parseInt(fSize);if(fSize>0&&fSize<8){if(fsClasses!=null)tinyMCE.setAttrib(s[i],'class',fsClasses[fSize-1]);else s[i].style.fontSize=sizes[fSize-1]}s[i].removeAttribute('size')}if(fFace!=""){s[i].style.fontFamily=fFace;s[i].removeAttribute('face')}if(fColor!=""){s[i].style.color=fColor;s[i].removeAttribute('color')}}};TinyMCE_Engine.prototype.cleanupAnchors=function(doc){var i,cn,x,an=doc.getElementsByTagName("a");for(i=an.length-1;i>=0;i--){if(tinyMCE.getAttrib(an[i],"name")!=""&&tinyMCE.getAttrib(an[i],"href")==""){cn=an[i].childNodes;for(x=cn.length-1;x>=0;x--)tinyMCE.insertAfter(cn[x],an[i])}}};TinyMCE_Engine.prototype.getContent=function(editor_id){if(typeof(editor_id)!="undefined")tinyMCE.getInstanceById(editor_id).select();if(tinyMCE.selectedInstance)return tinyMCE.selectedInstance.getHTML();return null};TinyMCE_Engine.prototype._fixListElements=function(d){var nl,x,a=['ol','ul'],i,n,p,r=new RegExp('^(OL|UL)$'),np;for(x=0;x<a.length;x++){nl=d.getElementsByTagName(a[x]);for(i=0;i<nl.length;i++){n=nl[i];p=n.parentNode;if(r.test(p.nodeName)){np=tinyMCE.prevNode(n,'LI');if(!np){np=d.createElement('li');np.innerHTML='&nbsp;';np.appendChild(n);p.insertBefore(np,p.firstChild)}else np.appendChild(n)}}}};TinyMCE_Engine.prototype._fixTables=function(d){var nl,i,n,p,np,x,t;nl=d.getElementsByTagName('table');for(i=0;i<nl.length;i++){n=nl[i];if((p=tinyMCE.getParentElement(n,'p,h1,h2,h3,h4,h5,h6'))!=null){np=p.cloneNode(false);np.removeAttribute('id');t=n;while((n=n.nextSibling))np.appendChild(n);tinyMCE.insertAfter(np,p);tinyMCE.insertAfter(t,p)}}};TinyMCE_Engine.prototype._cleanupHTML=function(inst,doc,config,elm,visual,on_save,on_submit,inn){var h,d,t1,t2,t3,t4,t5,c,s,nb;if(!tinyMCE.getParam('cleanup'))return elm.innerHTML;on_save=typeof(on_save)=='undefined'?false:on_save;c=inst.cleanup;s=inst.settings;d=c.settings.debug;if(d)t1=new Date().getTime();if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertFontsToSpans(doc);if(tinyMCE.getParam("fix_list_elements"))tinyMCE._fixListElements(doc);if(tinyMCE.getParam("fix_table_elements"))tinyMCE._fixTables(doc);tinyMCE._customCleanup(inst,on_save?"get_from_editor_dom":"insert_to_editor_dom",doc.body);if(d)t2=new Date().getTime();c.settings.on_save=on_save;c.idCount=0;c.serializationId++;c.serializedNodes=new Array();c.sourceIndex=-1;if(s.cleanup_serializer=="xml")h=c.serializeNodeAsXML(elm,inn);else h=c.serializeNodeAsHTML(elm,inn);if(d)t3=new Date().getTime();nb=tinyMCE.getParam('entity_encoding')=='numeric'?'&#160;':'&nbsp;';h=h.replace(/<\/?(body|head|html)[^>]*>/gi,'');h=h.replace(new RegExp(' (rowspan="1"|colspan="1")','g'),'');h=h.replace(/<p><hr \/><\/p>/g,'<hr />');h=h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g,'<hr />');h=h.replace(/<td>\s*<br \/>\s*<\/td>/g,'<td>'+nb+'</td>');h=h.replace(/<p>\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<br \/>$/,'');h=h.replace(/<br \/><\/p>/g,'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g,'<p>'+nb+'</p>');h=h.replace(new RegExp('<a>(.*?)<\\/a>','g'),'$1');h=h.replace(/<p([^>]*)>\s*<\/p>/g,'<p$1>'+nb+'</p>');if(/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))h='';if(s.preformatted){h=h.replace(/^<pre>/,'');h=h.replace(/<\/pre>$/,'');h='<pre>'+h+'</pre>'}if(tinyMCE.isGecko){h=h.replace(/<o:p _moz-userdefined="" \/>/g,'');h=h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g,'<td$1>'+nb+'</td>')}if(s.force_br_newlines)h=h.replace(/<p>(&nbsp;|&#160;)<\/p>/g,'<br />');h=tinyMCE._customCleanup(inst,on_save?"get_from_editor":"insert_to_editor",h);if(on_save){h=h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|'+s.visual_table_class+')','g'),'');h=h.replace(new RegExp(' ?class=""','g'),'')}if(s.remove_linebreaks&&!c.settings.indent)h=h.replace(/\n|\r/g,' ');if(d)t4=new Date().getTime();if(on_save&&c.settings.indent)h=c.formatHTML(h);if(on_submit&&(s.encoding=="xml"||s.encoding=="html"))h=c.xmlEncode(h);if(d)t5=new Date().getTime();if(c.settings.debug)tinyMCE.debug("Cleanup in ms: Pre="+(t2-t1)+", Serialize: "+(t3-t2)+", Post: "+(t4-t3)+", Format: "+(t5-t4)+", Sum: "+(t5-t1)+".");return h};function TinyMCE_Cleanup(){this.isIE=(navigator.appName=="Microsoft Internet Explorer");this.rules=tinyMCE.clearArray(new Array());this.settings={indent_elements:'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',newline_before_elements:'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',newline_after_elements:'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',newline_before_after_elements:'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',indent_char:'\t',indent_levels:1,entity_encoding:'raw',valid_elements:'*[*]',entities:'',url_converter:'',invalid_elements:'',verify_html:false};this.vElements=tinyMCE.clearArray(new Array());this.vElementsRe='';this.closeElementsRe=/^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;this.codeElementsRe=/^(SCRIPT|STYLE)$/;this.serializationId=0;this.mceAttribs={href:'mce_href',src:'mce_src',type:'mce_type'}}TinyMCE_Cleanup.prototype={init:function(s){var n,a,i,ir,or,st;for(n in s)this.settings[n]=s[n];s=this.settings;this.inRe=this._arrayToRe(s.indent_elements.split(','),'','^<(',')[^>]*');this.ouRe=this._arrayToRe(s.indent_elements.split(','),'','^<\\/(',')[^>]*');this.nlBeforeRe=this._arrayToRe(s.newline_before_elements.split(','),'gi','<(',')([^>]*)>');this.nlAfterRe=this._arrayToRe(s.newline_after_elements.split(','),'gi','<(',')([^>]*)>');this.nlBeforeAfterRe=this._arrayToRe(s.newline_before_after_elements.split(','),'gi','<(\\/?)(',')([^>]*)>');this.serializedNodes=[];if(s.invalid_elements!='')this.iveRe=this._arrayToRe(s.invalid_elements.toUpperCase().split(','),'g','^(',')$');else this.iveRe=null;st='';for(i=0;i<s.indent_levels;i++)st+=s.indent_char;this.inStr=st;if(!s.verify_html){s.valid_elements='*[*]';s.extended_valid_elements=''}this.fillStr=s.entity_encoding=="named"?"&nbsp;":"&#160;";this.idCount=0;this.xmlEncodeRe=new RegExp('[\u007F-\uFFFF<>&"]','g');this.xmlEncodeAposRe=new RegExp('[\u007F-\uFFFF<>&"\']','g')},addRuleStr:function(s){var r=this.parseRuleStr(s);var n;for(n in r){if(r[n])this.rules[n]=r[n]}this.vElements=tinyMCE.clearArray(new Array());for(n in this.rules){if(this.rules[n])this.vElements[this.vElements.length]=this.rules[n].tag}this.vElementsRe=this._arrayToRe(this.vElements,'')},isValid:function(n){this._setupRules();if(!n)return true;n=n.replace(/[^a-z0-9]+/gi,'').toUpperCase();return!tinyMCE.getParam('cleanup')||this.vElementsRe.test(n)},addChildRemoveRuleStr:function(s){var x,y,p,i,t,tn,ta,cl,r;if(!s)return;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r="^(";cl=this.split(/\|/,p[1]);for(i=0;i<cl.length;i++){if(cl[i]=='%istrict')r+=tinyMCE.inlineStrict;else if(cl[i]=='%itrans')r+=tinyMCE.inlineTransitional;else if(cl[i]=='%istrict_na')r+=tinyMCE.inlineStrict.substring(2);else if(cl[i]=='%itrans_na')r+=tinyMCE.inlineTransitional.substring(2);else if(cl[i]=='%btrans')r+=tinyMCE.blockElms;else if(cl[i]=='%strict')r+=tinyMCE.blockStrict;else r+=(cl[i].charAt(0)!='#'?cl[i].toUpperCase():cl[i]);r+=(i!=cl.length-1?'|':'')}r+=')$';if(this.childRules==null)this.childRules=tinyMCE.clearArray(new Array());this.childRules[tn[y]]=new RegExp(r);if(p.length>1)this.childRules[tn[y]].wrapTag=p[2]}}},parseRuleStr:function(s){var ta,p,r,a,i,x,px,t,tn,y,av,or=tinyMCE.clearArray(new Array()),dv;if(s==null||s.length==0)return or;ta=s.split(',');for(x=0;x<ta.length;x++){s=ta[x];if(s.length==0)continue;p=this.split(/\[|\]/,s);if(p==null||p.length<1)t=s.toUpperCase();else t=p[0].toUpperCase();tn=this.split('/',t);for(y=0;y<tn.length;y++){r={};r.tag=tn[y];r.forceAttribs=null;r.defaultAttribs=null;r.validAttribValues=null;px=r.tag.charAt(0);r.forceOpen=px=='+';r.removeEmpty=px=='-';r.fill=px=='#';r.tag=r.tag.replace(/\+|-|#/g,'');r.oTagName=tn[0].replace(/\+|-|#/g,'').toLowerCase();r.isWild=new RegExp('\\*|\\?|\\+','g').test(r.tag);r.validRe=new RegExp(this._wildcardToRe('^'+r.tag+'$'));if(p.length>1){r.vAttribsRe='^(';a=this.split(/\|/,p[1]);for(i=0;i<a.length;i++){t=a[i];if(t.charAt(0)=='!'){a[i]=t=t.substring(1);if(!r.reqAttribsRe)r.reqAttribsRe='\\s+('+t;else r.reqAttribsRe+='|'+t}av=new RegExp('(=|:|<)(.*?)$').exec(t);t=t.replace(new RegExp('(=|:|<).*?$'),'');if(av&&av.length>0){if(av[0].charAt(0)==':'){if(!r.forceAttribs)r.forceAttribs=tinyMCE.clearArray(new Array());r.forceAttribs[t.toLowerCase()]=av[0].substring(1)}else if(av[0].charAt(0)=='='){if(!r.defaultAttribs)r.defaultAttribs=tinyMCE.clearArray(new Array());dv=av[0].substring(1);r.defaultAttribs[t.toLowerCase()]=dv==""?"mce_empty":dv}else if(av[0].charAt(0)=='<'){if(!r.validAttribValues)r.validAttribValues=tinyMCE.clearArray(new Array());r.validAttribValues[t.toLowerCase()]=this._arrayToRe(this.split('?',av[0].substring(1)),'i')}}r.vAttribsRe+=''+t.toLowerCase()+(i!=a.length-1?'|':'');a[i]=t.toLowerCase()}if(r.reqAttribsRe)r.reqAttribsRe=new RegExp(r.reqAttribsRe+')=\"','g');r.vAttribsRe+=')$';r.vAttribsRe=this._wildcardToRe(r.vAttribsRe);r.vAttribsReIsWild=new RegExp('\\*|\\?|\\+','g').test(r.vAttribsRe);r.vAttribsRe=new RegExp(r.vAttribsRe);r.vAttribs=a.reverse();}else{r.vAttribsRe='';r.vAttribs=tinyMCE.clearArray(new Array());r.vAttribsReIsWild=false}or[r.tag]=r}}return or},serializeNodeAsXML:function(n){var s,b;if(!this.xmlDoc){if(this.isIE){try{this.xmlDoc=new ActiveXObject('MSXML2.DOMDocument')}catch(e){}if(!this.xmlDoc)try{this.xmlDoc=new ActiveXObject('Microsoft.XmlDom')}catch(e){}}else this.xmlDoc=document.implementation.createDocument('','',null);if(!this.xmlDoc)alert("Error XML Parser could not be found.")}if(this.xmlDoc.firstChild)this.xmlDoc.removeChild(this.xmlDoc.firstChild);b=this.xmlDoc.createElement("html");b=this.xmlDoc.appendChild(b);this._convertToXML(n,b);if(this.isIE)return this.xmlDoc.xml;else return new XMLSerializer().serializeToString(this.xmlDoc)},_convertToXML:function(n,xn){var xd,el,i,l,cn,at,no,hc=false;if(tinyMCE.isRealIE&&this._isDuplicate(n))return;xd=this.xmlDoc;switch(n.nodeType){case 1:hc=n.hasChildNodes();el=xd.createElement(n.nodeName.toLowerCase());at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&no.nodeValue)el.setAttribute(no.nodeName.toLowerCase(),no.nodeValue)}if(!hc&&!this.closeElementsRe.test(n.nodeName))el.appendChild(xd.createTextNode(""));xn=xn.appendChild(el);break;case 3:xn.appendChild(xd.createTextNode(n.nodeValue));return;case 8:xn.appendChild(xd.createComment(n.nodeValue));return}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)this._convertToXML(cn[i],xn)}},serializeNodeAsHTML:function(n,inn){var en,no,h='',i,l,t,st,r,cn,va=false,f=false,at,hc,cr,nn;this._setupRules();if(tinyMCE.isRealIE&&this._isDuplicate(n))return'';if(n.parentNode&&this.childRules!=null){cr=this.childRules[n.parentNode.nodeName];if(typeof(cr)!="undefined"&&!cr.test(n.nodeName)){st=true;t=null}}switch(n.nodeType){case 1:hc=n.hasChildNodes();if(st)break;if((tinyMCE.isRealIE)&&n.nodeName.indexOf('/')!=-1)break;nn=n.nodeName;if(this.settings.convert_fonts_to_spans){if(this.settings.on_save&&nn=='FONT')nn='SPAN';if(!this.settings.on_save&&nn=='SPAN')nn='FONT'}if(this.vElementsRe.test(nn)&&(!this.iveRe||!this.iveRe.test(nn))&&!inn){va=true;r=this.rules[nn];if(!r){at=this.rules;for(no in at){if(at[no]&&at[no].validRe.test(nn)){r=at[no];break}}}en=r.isWild?nn.toLowerCase():r.oTagName;f=r.fill;if(r.removeEmpty&&!hc)return"";t='<'+en;if(r.vAttribsReIsWild){at=n.attributes;for(i=at.length-1;i>-1;i--){no=at[i];if(no.specified&&r.vAttribsRe.test(no.nodeName))t+=this._serializeAttribute(n,r,no.nodeName)}}else{for(i=r.vAttribs.length-1;i>-1;i--)t+=this._serializeAttribute(n,r,r.vAttribs[i])}if(!this.settings.on_save){at=this.mceAttribs;for(no in at){if(at[no])t+=this._serializeAttribute(n,r,at[no])}}if(r.reqAttribsRe&&!t.match(r.reqAttribsRe))t=null;if(t!=null&&this.closeElementsRe.test(nn))return t+' />';if(t!=null)h+=t+'>';if(this.isIE&&this.codeElementsRe.test(nn))h+=n.innerHTML}break;case 3:if(st)break;if(n.parentNode&&this.codeElementsRe.test(n.parentNode.nodeName))return this.isIE?'':n.nodeValue;return this.xmlEncode(n.nodeValue);case 8:if(st)break;return"<!--"+this._trimComment(n.nodeValue)+"-->"}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i<l;i++)h+=this.serializeNodeAsHTML(cn[i])}if(f&&!hc)h+=this.fillStr;if(t!=null&&va)h+='</'+en+'>';return h},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""'}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an))av=this._urlConverter(this,n,av);if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0){if(an.indexOf('on')!=0)av=this.xmlEncode(av,1);return" "+an+"="+'"'+av+'"'}return""},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi,function(a,b,c){c=c.replace(/<br\s*\/>/gi,'\n');return'<pre'+b+'>'+c+'</pre>'});h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr}li=i}return o},xmlEncode:function(s,skip_apos){var cl=this,re=!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s,skip_apos);case"named":return s.replace(re,function(c,b){b=cl.entities[c.charCodeAt(0)];return b?'&'+b+';':c});case"numeric":return s.replace(re,function(c,b){return b?'&#'+c.charCodeAt(0)+';':c})}return s},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i<l;i++){if(c[i]!='')o[i]=c[i]}return o},_trimComment:function(s){s=s.replace(new RegExp('\\smce_src=\"[^\"]*\"','gi'),"");s=s.replace(new RegExp('\\smce_href=\"[^\"]*\"','gi'),"");return s},_getAttrib:function(e,n,d){var v,ex,nn;if(typeof(d)=="undefined")d="";if(!e||e.nodeType!=1)return d;try{v=e.getAttribute(n,0)}catch(ex){v=e.getAttribute(n,2)}if(n=="class"&&!v)v=e.className;if(this.isIE){if(n=="http-equiv")v=e.httpEquiv;nn=e.nodeName;if(nn=="FORM"&&n=="enctype"&&v=="application/x-www-form-urlencoded")v="";if(nn=="INPUT"&&n=="size"&&v=="20")v="";if(nn=="INPUT"&&n=="maxlength"&&v=="2147483647")v=""}if(n=='style'&&v){if(!tinyMCE.isOpera)v=e.style.cssText;v=tinyMCE.serializeStyle(tinyMCE.parseStyle(v))}if(this.settings.on_save&&n.indexOf('on')!=-1&&this.settings.on_save&&v&&v!="")v=tinyMCE.cleanupEventStr(v);return(v&&v!="")?''+v:d},_urlConverter:function(c,n,v){if(!c.settings.on_save)return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href,v);else if(tinyMCE.getParam('convert_urls')){if(!this.urlConverter)this.urlConverter=eval(tinyMCE.settings.urlconverter_callback);return this.urlConverter(v,n,true)}return v},_arrayToRe:function(a,op,be,af){var i,r;op=typeof(op)=="undefined"?"gi":op;be=typeof(be)=="undefined"?"^(":be;af=typeof(af)=="undefined"?")$":af;r=be;for(i=0;i<a.length;i++)r+=this._wildcardToRe(a[i])+(i!=a.length-1?"|":"");r+=af;return new RegExp(r,op)},_wildcardToRe:function(s){s=s.replace(/\?/g,'(\\S?)');s=s.replace(/\+/g,'(\\S+)');s=s.replace(/\*/g,'(\\S*)');return s},_setupEntities:function(){var n,a,i,s=this.settings;if(!this.entitiesDone){if(s.entity_encoding=="named"){n=tinyMCE.clearArray(new Array());a=this.split(',',s.entities);for(i=0;i<a.length;i+=2)n[a[i]]=a[i+1];this.entities=n}this.entitiesDone=true}},_setupRules:function(){var s=this.settings;if(!this.rulesDone){this.addRuleStr(s.valid_elements);this.addRuleStr(s.extended_valid_elements);this.addChildRemoveRuleStr(s.valid_child_elements);this.rulesDone=true}},_isDuplicate:function(n){var i;if(!this.settings.fix_content_duplication)return false;if(tinyMCE.isRealIE&&n.nodeType==1){if(n.mce_serialized==this.serializationId)return true;n.setAttribute('mce_serialized',this.serializationId)}else{for(i=0;i<this.serializedNodes.length;i++){if(this.serializedNodes[i]==n)return true}this.serializedNodes[this.serializedNodes.length]=n}return false}};TinyMCE_Engine.prototype.createTagHTML=function(tn,a,h){var o='',f=tinyMCE.xmlEncode;o='<'+tn;if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)o+=' '+f(n)+'="'+f(''+a[n])+'"'}}o+=!h?' />':'>'+h+'</'+tn+'>';return o};TinyMCE_Engine.prototype.createTag=function(d,tn,a,h){var o=d.createElement(tn);if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)tinyMCE.setAttrib(o,n,a[n])}}if(h)o.innerHTML=h;return o};TinyMCE_Engine.prototype.getElementByAttributeValue=function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0]};TinyMCE_Engine.prototype.getElementsByAttributeValue=function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=new Array();for(i=0;i<nl.length;i++){if(tinyMCE.getAttrib(nl[i],a).indexOf(v)!=-1)o[o.length]=nl[i]}return o};TinyMCE_Engine.prototype.isBlockElement=function(n){return n!=null&&n.nodeType==1&&this.blockRegExp.test(n.nodeName)};TinyMCE_Engine.prototype.getParentBlockElement=function(n,r){return this.getParentNode(n,function(n){return tinyMCE.isBlockElement(n)},r);return null};TinyMCE_Engine.prototype.insertAfter=function(n,r){if(r.nextSibling)r.parentNode.insertBefore(n,r.nextSibling);else r.parentNode.appendChild(n)};TinyMCE_Engine.prototype.setInnerHTML=function(e,h){var i,nl,n;if(tinyMCE.isGecko){h=h.replace(/<embed([^>]*)>/gi,'<tmpembed$1>');h=h.replace(/<em([^>]*)>/gi,'<i$1>');h=h.replace(/<tmpembed([^>]*)>/gi,'<embed$1>');h=h.replace(/<strong([^>]*)>/gi,'<b$1>');h=h.replace(/<\/strong>/gi,'</b>');h=h.replace(/<\/em>/gi,'</i>')}if(tinyMCE.isRealIE){h=h.replace(/\s\/>/g,'>');h=h.replace(/<p([^>]*)>\u00A0?<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');h=h.replace(/<p([^>]*)>\s+<\/p>/gi,'<p$1 mce_keep="true">&nbsp;</p>');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n)}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h)}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML};TinyMCE_Engine.prototype.setOuterHTML=function(e,h,d){var d=typeof(d)=="undefined"?e.ownerDocument:d,i,nl,t;if(tinyMCE.isIE&&e.nodeType==1)e.outerHTML=h;else{t=d.createElement("body");t.innerHTML=h;for(i=0,nl=t.childNodes;i<nl.length;i++)e.parentNode.insertBefore(nl[i].cloneNode(true),e);e.parentNode.removeChild(e)}};TinyMCE_Engine.prototype._getElementById=function(id,d){var e,i,j,f;if(typeof(d)=="undefined")d=document;e=d.getElementById(id);if(!e){f=d.forms;for(i=0;i<f.length;i++){for(j=0;j<f[i].elements.length;j++){if(f[i].elements[j].name==id){e=f[i].elements[j];break}}}}return e};TinyMCE_Engine.prototype.getNodeTree=function(n,na,t,nn){return this.selectNodes(n,function(n){return(!t||n.nodeType==t)&&(!nn||n.nodeName==nn)},na?na:new Array())};TinyMCE_Engine.prototype.getParentElement=function(n,na,f,r){var re=na?new RegExp('^('+na.toUpperCase().replace(/,/g,'|')+')$'):0,v;if(f&&typeof(f)=='string')return this.getParentElement(n,na,function(no){return tinyMCE.getAttrib(no,f)!=''});return this.getParentNode(n,function(n){return((n.nodeType==1&&!re)||(re&&re.test(n.nodeName)))&&(!f||f(n))},r)};TinyMCE_Engine.prototype.getParentNode=function(n,f,r){while(n){if(n==r)return null;if(f(n))return n;n=n.parentNode}return null};TinyMCE_Engine.prototype.getAttrib=function(elm,name,dv){var v;if(typeof(dv)=="undefined")dv="";if(!elm||elm.nodeType!=1)return dv;try{v=elm.getAttribute(name,0)}catch(ex){v=elm.getAttribute(name,2)}if(name=="class"&&!v)v=elm.className;if(tinyMCE.isGecko&&name=="src"&&elm.src!=null&&elm.src!="")v=elm.src;if(tinyMCE.isGecko&&name=="href"&&elm.href!=null&&elm.href!="")v=elm.href;if(name=="http-equiv"&&tinyMCE.isIE)v=elm.httpEquiv;if(name=="style"&&!tinyMCE.isOpera)v=elm.style.cssText;return(v&&v!="")?v:dv};TinyMCE_Engine.prototype.setAttrib=function(el,name,va,fix){if(typeof(va)=="number"&&va!=null)va=""+va;if(fix){if(va==null)va="";va=va.replace(/[^0-9%]/g,'')}if(name=="style")el.style.cssText=va;if(name=="class")el.className=va;if(va!=null&&va!=""&&va!=-1)el.setAttribute(name,va);else el.removeAttribute(name)};TinyMCE_Engine.prototype.setStyleAttrib=function(e,n,v){e.style[n]=v;if(tinyMCE.isIE&&v==null||v==''){v=tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));e.style.cssText=v;e.setAttribute("style",v)}};TinyMCE_Engine.prototype.switchClass=function(ei,c){var e;if(tinyMCE.switchClassCache[ei])e=tinyMCE.switchClassCache[ei];else e=tinyMCE.switchClassCache[ei]=document.getElementById(ei);if(e){if(tinyMCE.settings.button_tile_map&&e.className&&e.className.indexOf('mceTiledButton')==0)c='mceTiledButton '+c;e.className=c}};TinyMCE_Engine.prototype.getAbsPosition=function(n,cn){var l=0,t=0;while(n&&n!=cn){l+=n.offsetLeft;t+=n.offsetTop;n=n.offsetParent}return{absLeft:l,absTop:t}};TinyMCE_Engine.prototype.prevNode=function(e,n){var a=n.split(','),i;while((e=e.previousSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.nextNode=function(e,n){var a=n.split(','),i;while((e=e.nextSibling)!=null){for(i=0;i<a.length;i++){if(e.nodeName==a[i])return e}}return null};TinyMCE_Engine.prototype.selectElements=function(n,na,f){var i,a=[],nl,x;for(x=0,na=na.split(',');x<na.length;x++)for(i=0,nl=n.getElementsByTagName(na[x]);i<nl.length;i++)(!f||f(nl[i]))&&a.push(nl[i]);return a};TinyMCE_Engine.prototype.selectNodes=function(n,f,a){var i;if(!a)a=new Array();if(f(n))a[a.length]=n;if(n.hasChildNodes()){for(i=0;i<n.childNodes.length;i++)tinyMCE.selectNodes(n.childNodes[i],f,a)}return a};TinyMCE_Engine.prototype.addCSSClass=function(e,c,b){var o=this.removeCSSClass(e,c);return e.className=b?c+(o!=''?(' '+o):''):(o!=''?(o+' '):'')+c};TinyMCE_Engine.prototype.removeCSSClass=function(e,c){c=e.className.replace(new RegExp("(^|\\s+)"+c+"(\\s+|$)"),' ');return e.className=c!=' '?c:''};TinyMCE_Engine.prototype.hasCSSClass=function(n,c){return new RegExp('\\b'+c+'\\b','g').test(n.className)};TinyMCE_Engine.prototype.renameElement=function(e,n,d){var ne,i,ar;d=typeof(d)=="undefined"?tinyMCE.selectedInstance.getDoc():d;if(e){ne=d.createElement(n);ar=e.attributes;for(i=ar.length-1;i>-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue)}ar=e.childNodes;for(i=0;i<ar.length;i++)ne.appendChild(ar[i].cloneNode(true));e.parentNode.replaceChild(ne,e)}};TinyMCE_Engine.prototype.getViewPort=function(w){var d=w.document,m=d.compatMode=='CSS1Compat',b=d.body,de=d.documentElement;return{left:w.pageXOffset||(m?de.scrollLeft:b.scrollLeft),top:w.pageYOffset||(m?de.scrollTop:b.scrollTop),width:w.innerWidth||(m?de.clientWidth:b.clientWidth),height:w.innerHeight||(m?de.clientHeight:b.clientHeight)}};TinyMCE_Engine.prototype.getStyle=function(n,na,d){if(!n)return false;if(tinyMCE.isGecko&&n.ownerDocument.defaultView){try{return n.ownerDocument.defaultView.getComputedStyle(n,null).getPropertyValue(na)}catch(n){return null}}na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase()});if(n.currentStyle)return n.currentStyle[na];return false};TinyMCE_Engine.prototype.parseURL=function(url_str){var urlParts=new Array();if(url_str){var pos,lastPos;pos=url_str.indexOf('://');if(pos!=-1){urlParts['protocol']=url_str.substring(0,pos);lastPos=pos+3}for(var i=lastPos;i<url_str.length;i++){var chr=url_str.charAt(i);if(chr==':')break;if(chr=='/')break}pos=i;urlParts['host']=url_str.substring(lastPos,pos);urlParts['port']="";lastPos=pos;if(url_str.charAt(pos)==':'){pos=url_str.indexOf('/',lastPos);urlParts['port']=url_str.substring(lastPos+1,pos)}lastPos=pos;pos=url_str.indexOf('?',lastPos);if(pos==-1)pos=url_str.indexOf('#',lastPos);if(pos==-1)pos=url_str.length;urlParts['path']=url_str.substring(lastPos,pos);lastPos=pos;if(url_str.charAt(pos)=='?'){pos=url_str.indexOf('#');pos=(pos==-1)?url_str.length:pos;urlParts['query']=url_str.substring(lastPos+1,pos)}lastPos=pos;if(url_str.charAt(pos)=='#'){pos=url_str.length;urlParts['anchor']=url_str.substring(lastPos+1,pos)}}return urlParts};TinyMCE_Engine.prototype.serializeURL=function(up){var o="";if(up['protocol'])o+=up['protocol']+"://";if(up['host'])o+=up['host'];if(up['port'])o+=":"+up['port'];if(up['path'])o+=up['path'];if(up['query'])o+="?"+up['query'];if(up['anchor'])o+="#"+up['anchor'];return o};TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL=function(base_url,url_to_relative){var baseURL=this.parseURL(base_url);var targetURL=this.parseURL(url_to_relative);var strTok1;var strTok2;var breakPoint=0;var outPath="";var forceSlash=false;if(targetURL.path=="")targetURL.path="/";else forceSlash=true;base_url=baseURL.path.substring(0,baseURL.path.lastIndexOf('/'));strTok1=base_url.split('/');strTok2=targetURL.path.split('/');if(strTok1.length>=strTok2.length){for(var i=0;i<strTok1.length;i++){if(i>=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(strTok1.length<strTok2.length){for(var i=0;i<strTok2.length;i++){if(i>=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i<strTok2.length;i++){if(i!=(breakPoint-1))outPath+="/"+strTok2[i];else outPath+=strTok2[i]}targetURL.protocol=null;targetURL.host=null;targetURL.port=null;targetURL.path=outPath==""&&forceSlash?"/":outPath;var fileName=baseURL.path;var pos;if((pos=fileName.lastIndexOf('/'))!=-1)fileName=fileName.substring(pos+1);if(fileName==targetURL.path&&targetURL.anchor!="")targetURL.path="";if(targetURL.path==""&&!targetURL.anchor)targetURL.path=fileName!=""?fileName:"/";return this.serializeURL(targetURL)};TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL=function(base_url,relative_url){var baseURL=this.parseURL(base_url),baseURLParts,relURLParts;var relURL=this.parseURL(relative_url);if(relative_url==""||relative_url.indexOf('://')!=-1||/^(mailto:|javascript:|#|\/)/.test(relative_url))return relative_url;baseURLParts=baseURL['path'].split('/');relURLParts=relURL['path'].split('/');var newBaseURLParts=new Array();for(var i=baseURLParts.length-1;i>=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i]}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue}if(numBack>0){numBack--;continue}newRelURLParts[newRelURLParts.length]=relURLParts[i]}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL)};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl)}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor']}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1)}return url};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var i,elms,src,href,mhref,msrc;elms=body.getElementsByTagName("img");for(i=0;i<elms.length;i++){src=tinyMCE.getAttrib(elms[i],'src');msrc=tinyMCE.getAttrib(elms[i],'mce_src');if(msrc!="")src=msrc;if(src!=""){src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],src);elms[i].setAttribute("src",src)}}elms=body.getElementsByTagName("a");for(i=0;i<elms.length;i++){href=tinyMCE.getAttrib(elms[i],'href');mhref=tinyMCE.getAttrib(elms[i],'mce_href');if(mhref!="")href=mhref;if(href&&href!=""){href=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],href);elms[i].setAttribute("href",href)}}};TinyMCE_Engine.prototype.clearArray=function(a){var n;for(n in a)a[n]=null;return a};TinyMCE_Engine.prototype.explode=function(d,s){var ar=s.split(d),oar=new Array(),i;for(i=0;i<ar.length;i++){if(ar[i]!="")oar[oar.length]=ar[i]}return oar};TinyMCE_Engine.prototype._setEventsEnabled=function(node,state){var evs,x,y,elms,i,event;var events=['onfocus','onblur','onclick','ondblclick','onmousedown','onmouseup','onmouseover','onmousemove','onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];evs=tinyMCE.settings['event_elements'].split(',');for(y=0;y<evs.length;y++){elms=node.getElementsByTagName(evs[y]);for(i=0;i<elms.length;i++){event="";for(x=0;x<events.length;x++){if((event=tinyMCE.getAttrib(elms[i],events[x]))!=''){event=tinyMCE.cleanupEventStr(""+event);if(!state)event="return true;"+event;else event=event.replace(/^return true;/gi,'');elms[i].removeAttribute(events[x]);elms[i].setAttribute(events[x],event)}}}}};TinyMCE_Engine.prototype._eventPatch=function(editor_id){var n,inst,win,e;if(typeof(tinyMCE)=="undefined")return true;try{if(tinyMCE.selectedInstance){win=tinyMCE.selectedInstance.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.select();win=inst.getWin();if(win&&win.event){e=win.event;if(!e.target)e.target=e.srcElement;TinyMCE_Engine.prototype.handleEvent(e);return}}}catch(ex){}};TinyMCE_Engine.prototype.findEvent=function(e){var n,inst;if(e)return e;for(n in tinyMCE.instances){inst=tinyMCE.instances[n];if(tinyMCE.isInstance(inst)&&inst.getWin().event)return inst.getWin().event}return null};TinyMCE_Engine.prototype.unloadHandler=function(){tinyMCE.triggerSave(true,true)};TinyMCE_Engine.prototype.addEventHandlers=function(inst){this.setEventHandlers(inst,1)};TinyMCE_Engine.prototype.setEventHandlers=function(inst,s){var doc=inst.getDoc(),ie,ot,i,f=s?tinyMCE.addEvent:tinyMCE.removeEvent;ie=['keypress','keyup','keydown','click','mouseup','mousedown','controlselect','dblclick'];ot=['keypress','keyup','keydown','click','mouseup','mousedown','focus','blur','dragdrop'];inst.switchSettings();if(tinyMCE.isIE){for(i=0;i<ie.length;i++)f(doc,ie[i],TinyMCE_Engine.prototype._eventPatch)}else{for(i=0;i<ot.length;i++)f(doc,ot[i],tinyMCE.handleEvent);try{doc.designMode="On"}catch(e){}}};TinyMCE_Engine.prototype.onMouseMove=function(){var inst,lh;if(tinyMCE.lastHover){lh=tinyMCE.lastHover;if(lh.className.indexOf('mceMenu')!=-1)tinyMCE._menuButtonEvent('out',lh);else lh.className=lh.className;tinyMCE.lastHover=null}if(!tinyMCE.hasMouseMoved){inst=tinyMCE.selectedInstance;if(inst.isFocused){inst.undoBookmark=inst.selection.getBookmark();tinyMCE.hasMouseMoved=true}}};TinyMCE_Engine.prototype.cancelEvent=function(e){if(!e)return false;if(tinyMCE.isIE){e.returnValue=false;e.cancelBubble=true}else{e.preventDefault();e.stopPropagation&&e.stopPropagation()}return false};TinyMCE_Engine.prototype.addEvent=function(o,n,h){if(n!='unload'){function clean(){var ex;try{tinyMCE.removeEvent(o,n,h);tinyMCE.removeEvent(window,'unload',clean);o=n=h=null}catch(ex){}}tinyMCE.addEvent(window,'unload',clean)}if(o.attachEvent)o.attachEvent("on"+n,h);else o.addEventListener(n,h,false)};TinyMCE_Engine.prototype.removeEvent=function(o,n,h){if(o.detachEvent)o.detachEvent("on"+n,h);else o.removeEventListener(n,h,false)};TinyMCE_Engine.prototype.addSelectAccessibility=function(e,s,w){if(!s._isAccessible){s.onkeydown=tinyMCE.accessibleEventHandler;s.onblur=tinyMCE.accessibleEventHandler;s._isAccessible=true;s._win=w}return false};TinyMCE_Engine.prototype.accessibleEventHandler=function(e){var win=this._win;e=tinyMCE.isIE?win.event:e;var elm=tinyMCE.isIE?e.srcElement:e.target;if(e.type=="blur"){if(elm.oldonchange){elm.onchange=elm.oldonchange;elm.oldonchange=null}return true}if(elm.nodeName=="SELECT"&&!elm.oldonchange){elm.oldonchange=elm.onchange;elm.onchange=null}if(e.keyCode==13||e.keyCode==32){elm.onchange=elm.oldonchange;elm.onchange();elm.oldonchange=null;tinyMCE.cancelEvent(e);return false}return true};TinyMCE_Engine.prototype._resetIframeHeight=function(){var ife;if(tinyMCE.isRealIE){ife=tinyMCE.selectedInstance.iframeElement;if(ife._oldHeight){ife.style.height=ife._oldHeight;ife.height=ife._oldHeight}}};function TinyMCE_Selection(inst){this.instance=inst};TinyMCE_Selection.prototype={getSelectedHTML:function(){var inst=this.instance;var e,r=this.getRng(),h;if(!r)return null;e=document.createElement("body");if(r.cloneContents)e.appendChild(r.cloneContents());else if(typeof(r.item)!='undefined'||typeof(r.htmlText)!='undefined')e.innerHTML=r.item?r.item(0).outerHTML:r.htmlText;else e.innerHTML=r.toString();h=tinyMCE._cleanupHTML(inst,inst.contentDocument,inst.settings,e,e,false,true,false);return h},getSelectedText:function(){var inst=this.instance;var d,r,s,t;if(tinyMCE.isIE){d=inst.getDoc();if(d.selection.type=="Text"){r=d.selection.createRange();t=r.text}else t=''}else{s=this.getSel();if(s&&s.toString)t=s.toString();else t=''}return t},getBookmark:function(simple){var inst=this.instance;var rng=this.getRng();var doc=inst.getDoc(),b=inst.getBody();var sp,le,s,e,nl,i,si,ei,w;var trng,sx,sy,xx=-999999999,vp=inst.getViewPort();sx=vp.left;sy=vp.top;if(tinyMCE.isSafari||tinyMCE.isOpera||simple)return{rng:rng,scrollX:sx,scrollY:sy};if(tinyMCE.isIE){if(rng.item){e=rng.item(0);nl=b.getElementsByTagName(e.nodeName);for(i=0;i<nl.length;i++){if(e==nl[i]){sp=i;break}}return{tag:e.nodeName,index:sp,scrollX:sx,scrollY:sy}}else{trng=doc.body.createTextRange();trng.moveToElementText(inst.getBody());trng.collapse(true);bp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(true);sp=Math.abs(trng.move('character',xx));trng=rng.duplicate();trng.collapse(false);le=Math.abs(trng.move('character',xx))-sp;return{start:sp-bp,length:le,scrollX:sx,scrollY:sy}}}if(tinyMCE.isGecko){s=this.getSel();e=this.getFocusElement();if(!s)return null;if(e&&e.nodeName=='IMG'){return{start:-1,end:-1,index:sp,scrollX:sx,scrollY:sy}}if(s.anchorNode==s.focusNode&&s.anchorOffset==s.focusOffset){e=this._getPosText(b,s.anchorNode,s.focusNode);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+s.anchorOffset,end:e.end+s.focusOffset,scrollX:sx,scrollY:sy}}else{e=this._getPosText(b,rng.startContainer,rng.endContainer);if(!e)return{scrollX:sx,scrollY:sy};return{start:e.start+rng.startOffset,end:e.end+rng.endOffset,scrollX:sx,scrollY:sy}}}return null},moveToBookmark:function(bookmark){var inst=this.instance;var rng,nl,i,ex,b=inst.getBody(),sd;var doc=inst.getDoc();var win=inst.getWin();var sel=this.getSel();if(!bookmark)return false;if(tinyMCE.isSafari){sel.setBaseAndExtent(bookmark.rng.startContainer,bookmark.rng.startOffset,bookmark.rng.endContainer,bookmark.rng.endOffset);return true}if(tinyMCE.isRealIE){if(bookmark.rng){try{bookmark.rng.select()}catch(ex){}return true}win.focus();if(bookmark.tag){rng=b.createControlRange();nl=b.getElementsByTagName(bookmark.tag);if(nl.length>bookmark.index){try{rng.addElement(nl[bookmark.index])}catch(ex){}}}else{try{if(bookmark.start<0)return true;rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length)}catch(ex){return true}}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}if(tinyMCE.isGecko||tinyMCE.isOpera){if(!sel)return false;if(bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng)}if(bookmark.start!=-1&&bookmark.end!=-1){try{sd=this._getTextPos(b,bookmark.start,bookmark.end);rng=doc.createRange();rng.setStart(sd.startNode,sd.startOffset);rng.setEnd(sd.endNode,sd.endOffset);sel.removeAllRanges();sel.addRange(rng);win.focus()}catch(ex){}}win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}return false},_getPosText:function(r,sn,en){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){if(n==sn)d.start=p;if(n==en){d.end=p;return d}p+=n.nodeValue?n.nodeValue.length:0}return null},_getTextPos:function(r,sp,ep){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){p+=n.nodeValue?n.nodeValue.length:0;if(p>=sp&&!d.startNode){d.startNode=n;d.startOffset=sp-(p-n.nodeValue.length)}if(p>=ep){d.endNode=n;d.endOffset=ep-(p-n.nodeValue.length);return d}}return null},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(inst.settings.auto_resize)inst.resizeToContent();if(tinyMCE.isRealIE){rng=inst.getDoc().body.createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select()}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd()}this.scrollToNode(node);return}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node)}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length)}else rng.collapse(to_start)}sel.removeAllRanges();sel.addRange(rng)}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node},scrollToNode:function(node){var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;if(pos.absLeft<vp.left||pos.absLeft>vp.left+vp.width||pos.absTop<vp.top||pos.absTop>vp.top+(vp.height-25))w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);if(inst.settings.auto_resize){cwin=inst.getContainerWin();cvp=tinyMCE.getViewPort(cwin);p=this.getAbsPosition(node);if(p.absLeft<cvp.left||p.absLeft>cvp.left+cvp.width||p.absTop<cvp.top||p.absTop>cvp.top+cvp.height)cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25)}},getAbsPosition:function(n){var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);return{absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop}},getSel:function(){var inst=this.instance;if(tinyMCE.isRealIE)return inst.getDoc().selection;return inst.contentWindow.getSelection()},getRng:function(){var s=this.getSel();if(s==null)return null;if(tinyMCE.isRealIE)return s.createRange();if(tinyMCE.isSafari&&!s.getRangeAt)return''+window.getSelection();if(s.rangeCount>0)return s.getRangeAt(0);return null},isCollapsed:function(){var r=this.getRng();if(r.item)return false;return r.boundingWidth==0||this.getSel().isCollapsed},collapse:function(b){var r=this.getRng(),s=this.getSel();if(r.select){r.collapse(b);r.select()}else{if(b)s.collapseToStart();else s.collapseToEnd()}},getFocusElement:function(){var inst=this.instance,doc,rng,sel,elm;if(tinyMCE.isRealIE){doc=inst.getDoc();rng=doc.selection.createRange();elm=rng.item?rng.item(0):rng.parentElement()}else{if(!tinyMCE.isSafari&&inst.isHidden())return inst.getBody();sel=this.getSel();rng=this.getRng();if(!sel||!rng)return null;elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset]}}}elm=tinyMCE.getParentElement(elm);}return elm}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true};TinyMCE_UndoRedo.prototype={add:function(l){var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;if(l){this.undoLevels[this.undoLevels.length]=l;return true}if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;if(tinyMCE.typingUndoIndex!=-1)tinyMCE.undoIndex=tinyMCE.typingUndoIndex}newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(i=0;i<this.undoLevels.length-1;i++)this.undoLevels[i]=this.undoLevels[i+1];this.undoLevels.length--;this.undoIndex--;}b=inst.undoBookmark;if(!b)b=inst.selection.getBookmark();this.undoIndex++;this.undoLevels[this.undoIndex]={content:newHTML,bookmark:b};ul=tinyMCE.undoLevels;for(i=tinyMCE.undoIndex+1;i<ul.length;i++){ur=ul[i].undoRedo;if(ur.undoIndex==ur.undoLevels.length-1)ur.undoIndex--;ur.undoLevels.length--}tinyMCE.undoLevels[tinyMCE.undoIndex++]=inst;tinyMCE.undoLevels.length=tinyMCE.undoIndex;this.undoLevels.length=this.undoIndex+1;return true}return false},undo:function(){var inst=this.instance;if(this.undoIndex>0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}tinyMCE.triggerNodeChange()}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);var rootElm=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;var rngBefore,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;var paraBefore,paraAfter,startChop,endChop,contents;function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()==""}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i<nodes.length;i++){if(!isEmptyHTML(nodes[i].nodeValue))return false}return true}rngBefore=doc.createRange();rngBefore.setStart(sel.anchorNode,sel.anchorOffset);rngBefore.collapse(true);rngAfter=doc.createRange();rngAfter.setStart(sel.focusNode,sel.focusOffset);rngAfter.collapse(true);direct=rngBefore.compareBoundaryPoints(rngBefore.START_TO_END,rngAfter)<0;startNode=direct?sel.anchorNode:sel.focusNode;startOffset=direct?sel.anchorOffset:sel.focusOffset;endNode=direct?sel.focusNode:sel.anchorNode;endOffset=direct?sel.focusOffset:sel.anchorOffset;startNode=startNode.nodeName=="BODY"?startNode.firstChild:startNode;endNode=endNode.nodeName=="BODY"?endNode.firstChild:endNode;startBlock=inst.getParentBlockElement(startNode);endBlock=inst.getParentBlockElement(endNode);if(startBlock&&new RegExp('absolute|relative|static','gi').test(startBlock.style.position))startBlock=null;if(endBlock&&new RegExp('absolute|relative|static','gi').test(endBlock.style.position))endBlock=null;if(startBlock!=null){blockName=startBlock.nodeName;if(blockName=="TD"||blockName=="TABLE"||(blockName=="DIV"&&new RegExp('left|right','gi').test(startBlock.style.cssFloat)))blockName="P"}if(tinyMCE.getParentElement(startBlock,"OL,UL",null,body)!=null)return false;if((startBlock!=null&&startBlock.nodeName=="TABLE")||(endBlock!=null&&endBlock.nodeName=="TABLE"))startBlock=endBlock=null;paraBefore=(startBlock!=null&&startBlock.nodeName==blockName)?startBlock.cloneNode(false):doc.createElement(blockName);paraAfter=(endBlock!=null&&endBlock.nodeName==blockName)?endBlock.cloneNode(false):doc.createElement(blockName);if(/^(H[1-6])$/.test(blockName))paraAfter=doc.createElement("p");startChop=startNode;endChop=endNode;node=startChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;startChop=node}while((node=node.previousSibling?node.previousSibling:node.parentNode));node=endChop;do{if(node==body||node.nodeType==9||tinyMCE.isBlockElement(node))break;endChop=node}while((node=node.nextSibling?node.nextSibling:node.parentNode));if(startChop.nodeName=="TD")startChop=startChop.firstChild;if(endChop.nodeName=="TD")endChop=endChop.lastChild;if(startBlock==null){rng.deleteContents();if(!tinyMCE.isSafari)sel.removeAllRanges();if(startChop!=rootElm&&endChop!=rootElm){rngBefore=rng.cloneRange();if(startChop==body)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);paraBefore.appendChild(rngBefore.cloneContents());if(endChop.parentNode.nodeName==blockName)endChop=endChop.parentNode;rng.setEndAfter(endChop);if(endChop.nodeName!="#text"&&endChop.nodeName!="BODY")rngBefore.setEndAfter(endChop);contents=rng.cloneContents();if(contents.firstChild&&(contents.firstChild.nodeName==blockName||contents.firstChild.nodeName=="BODY"))paraAfter.innerHTML=contents.firstChild.innerHTML;else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng.deleteContents();rngAfter.deleteContents();rngBefore.deleteContents();if(tinyMCE.isOpera){paraBefore.normalize();rngBefore.insertNode(paraBefore);paraAfter.normalize();rngBefore.insertNode(paraAfter)}else{paraAfter.normalize();rngBefore.insertNode(paraAfter);paraBefore.normalize();rngBefore.insertNode(paraBefore)}}else{body.innerHTML="<"+blockName+">&nbsp;</"+blockName+"><"+blockName+">&nbsp;</"+blockName+">";paraAfter=body.childNodes[1]}inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML="&nbsp;";if(isEmpty(paraAfter))paraAfter.innerHTML="&nbsp;";rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode)}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset)}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();if(tinyMCE.isOpera){rng.insertNode(paraBefore);rng.insertNode(paraAfter)}else{rng.insertNode(paraAfter);rng.insertNode(paraBefore)}paraAfter.normalize();paraBefore.normalize();inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){nv=sn.nodeValue;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling)}if(inst.settings.auto_resize)inst.resizeToContent();return s}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/ 2) - (ew /2);y=rep.absTop+(h/ 2) - (eh /2);break}this.moveTo(x,y)},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y)},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker()},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h)},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker()},show:function(){var el=this.getElement();if(el){el.style.display='block';this.updateBlocker()}},hide:function(){var el=this.getElement();if(el){el.style.display='none';this.updateBlocker()}},isVisible:function(){return this.getElement().style.display=='block'},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element},setBlockMode:function(s){this.blockMode=s},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display}else b.style.display='none'}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.getElementById(this.id+"_blocker");if(!b){b=d.createElement("iframe");b.setAttribute('id',this.id+"_blocker");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b)}this.blockerElement=b}return this.blockerElement},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent}return p},create:function(n,c,p,h){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;if(h)e.innerHTML=h;p.appendChild(e);return this.element=e},exists:function(){return this.doc.getElementById(this.id)!=null},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s)},remove:function(){var e=this.getElement(),b=this.getBlocker();if(e)e.parentNode.removeChild(e);if(b)b.parentNode.removeChild(b)}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class)},clear:function(){this.items=new Array()},addTitle:function(t){this.add({type:'title',text:t})},addDisabled:function(t){this.add({type:'disabled',text:t})},addSeparator:function(){this.add({type:'separator'})},addItem:function(t,js){this.add({text:t,js:js})},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='<span class="mceMenuLine"></span>';h+='<table border="0" cellpadding="0" cellspacing="0">';for(i=0;i<m.length;i++){t=tinyMCE.xmlEncode(m[i].text);c=m[i].class_name?' class="'+m[i].class_name+'"':'';switch(m[i].type){case'separator':h+='<tr class="'+s.separator_class+'"><td>';break;case'title':h+='<tr class="'+s.title_class+'"><td><span'+c+'>'+t+'</span>';break;case'disabled':h+='<tr class="'+s.disabled_class+'"><td><span'+c+'>'+t+'</span>';break;default:h+='<tr><td><a href="'+tinyMCE.xmlEncode(m[i].js)+'" onmousedown="'+tinyMCE.xmlEncode(m[i].js)+';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span'+c+'>'+t+'</span></a>'}h+='</td></tr>'}h+='</table>';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker()},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this}});if(!Function.prototype.call){Function.prototype.call=function(){var a=arguments,s=a[0],i,as='',r,o;for(i=1;i<a.length;i++)as+=(i>1?',':'')+'a['+i+']';o=s._fu;s._fu=this;r=eval('s._fu('+as+')');s._fu=o;return r}};TinyMCE_Engine.prototype.debug=function(){var m="",a,i,l=tinyMCE.log.length;for(i=0,a=this.debug.arguments;i<a.length;i++){m+=a[i];if(i<a.length-1)m+=', '}if(l<1000)tinyMCE.log[l]="[debug] "+m};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_popup.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,288 @@
+// Some global instances, this will be filled later
+var tinyMCE = null, tinyMCELang = null;
+
+function TinyMCE_Popup() {
+};
+
+TinyMCE_Popup.prototype = {
+	findWin : function(w) {
+		var c;
+
+		// Check parents
+		c = w;
+		while (c && (c = c.parent) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Check openers
+		c = w;
+		while (c && (c = c.opener) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
+
+		// Try top
+		if (typeof(top.tinyMCE) != "undefined")
+			return top;
+
+		return null;
+	},
+
+	init : function() {
+		var win = window.opener ? window.opener : window.dialogArguments, c;
+		var inst;
+
+		if (!win)
+			win = this.findWin(window);
+
+		if (!win) {
+			alert("tinyMCE object reference not found from popup.");
+			return;
+		}
+
+		window.opener = win;
+		this.windowOpener = win;
+		this.onLoadEval = "";
+
+		// Setup parent references
+		tinyMCE = win.tinyMCE;
+		tinyMCELang = win.tinyMCELang;
+
+		inst = tinyMCE.selectedInstance;
+		this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+		this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
+
+		if (this.isWindow)
+			window.focus();
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+
+		// Setup dir
+		if (tinyMCELang['lang_dir'])
+			document.dir = tinyMCELang['lang_dir'];
+
+		// Setup title
+		var re = new RegExp('{|\\\$|}', 'g');
+		var title = document.title.replace(re, "");
+		if (typeof tinyMCELang[title] != "undefined") {
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang[title];
+			document.title = divElm.innerHTML;
+
+			if (tinyMCE.setWindowTitle != null)
+				tinyMCE.setWindowTitle(window, divElm.innerHTML);
+		}
+
+		// Output Popup CSS class
+		document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+		if (tinyMCE.getParam("popups_css_add")) {
+			c = tinyMCE.getParam("popups_css_add");
+
+			// Is relative
+			if (c.indexOf('://') == -1 && c.charAt(0) != '/')
+				c = tinyMCE.documentBasePath + "/" + c;
+
+			document.write('<link href="' + c + '" rel="stylesheet" type="text/css">');
+		}
+
+		tinyMCE.addEvent(window, "load", this.onLoad);
+	},
+
+	onLoad : function() {
+		var dir, i, elms, body = document.body;
+
+		if (tinyMCE.getWindowArg('mce_replacevariables', true))
+			body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+		dir = tinyMCE.selectedInstance.settings['directionality'];
+		if (dir == "rtl" && document.forms && document.forms.length > 0) {
+			elms = document.forms[0].elements;
+			for (i=0; i<elms.length; i++) {
+				if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+					elms[i].dir = dir;
+			}
+		}
+
+		if (body.style.display == 'none')
+			body.style.display = 'block';
+
+		// Execute real onload (Opera fix)
+		if (tinyMCEPopup.onLoadEval != "")
+			eval(tinyMCEPopup.onLoadEval);
+	},
+
+	executeOnLoad : function(str) {
+		if (tinyMCE.isOpera)
+			this.onLoadEval = str;
+		else
+			eval(str);
+	},
+
+	resizeToInnerSize : function() {
+		// Netscape 7.1 workaround
+		if (this.isWindow && tinyMCE.isNS71) {
+			window.resizeBy(0, 10);
+			return;
+		}
+
+		if (this.isWindow) {
+			var doc = document;
+			var body = doc.body;
+			var oldMargin, wrapper, iframe, nodes, dx, dy;
+
+			if (body.style.display == 'none')
+				body.style.display = 'block';
+
+			// Remove margin
+			oldMargin = body.style.margin;
+			body.style.margin = '0';
+
+			// Create wrapper
+			wrapper = doc.createElement("div");
+			wrapper.id = 'mcBodyWrapper';
+			wrapper.style.display = 'none';
+			wrapper.style.margin = '0';
+
+			// Wrap body elements
+			nodes = doc.body.childNodes;
+			for (var i=nodes.length-1; i>=0; i--) {
+				if (wrapper.hasChildNodes())
+					wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+				else
+					wrapper.appendChild(nodes[i].cloneNode(true));
+
+				nodes[i].parentNode.removeChild(nodes[i]);
+			}
+
+			// Add wrapper
+			doc.body.appendChild(wrapper);
+
+			// Create iframe
+			iframe = document.createElement("iframe");
+			iframe.id = "mcWinIframe";
+			iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
+			iframe.width = "100%";
+			iframe.height = "100%";
+			iframe.style.margin = '0';
+
+			// Add iframe
+			doc.body.appendChild(iframe);
+
+			// Measure iframe
+			iframe = document.getElementById('mcWinIframe');
+			dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+			dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+
+			// Resize window
+			// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+			window.resizeBy(dx, dy);
+
+			// Hide iframe and show wrapper
+			body.style.margin = oldMargin;
+			iframe.style.display = 'none';
+			wrapper.style.display = 'block';
+		}
+	},
+
+	resizeToContent : function() {
+		var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+		var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+
+		if (isOpera)
+			return;
+
+		if (isMSIE) {
+			try { window.resizeTo(10, 10); } catch (e) {}
+
+			var elm = document.body;
+			var width = elm.offsetWidth;
+			var height = elm.offsetHeight;
+			var dx = (elm.scrollWidth - width) + 4;
+			var dy = elm.scrollHeight - height;
+
+			try { window.resizeBy(dx, dy); } catch (e) {}
+		} else {
+			window.scrollBy(1000, 1000);
+			if (window.scrollX > 0 || window.scrollY > 0) {
+				window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+				window.sizeToContent();
+				window.scrollTo(0, 0);
+				var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+				var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+				window.moveTo(x, y);
+			}
+		}
+	},
+
+	getWindowArg : function(name, default_value) {
+		return tinyMCE.getWindowArg(name, default_value);
+	},
+
+	restoreSelection : function() {
+		if (this.storeSelection) {
+			var inst = tinyMCE.selectedInstance;
+
+			inst.getWin().focus();
+
+			if (inst.selectionBookmark)
+				inst.selection.moveToBookmark(inst.selectionBookmark);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		this.restoreSelection();
+		inst.execCommand(command, user_interface, value);
+
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+	},
+
+	close : function() {
+		tinyMCE.closeWindow(window);
+	},
+
+	pickColor : function(e, element_id) {
+		tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+			element_id : element_id,
+			document : document,
+			window : window,
+			store_selection : false
+		});
+	},
+
+	openBrowser : function(element_id, type, option) {
+		var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+		var url = document.getElementById(element_id).value;
+
+		tinyMCE.setWindowArg("window", window);
+		tinyMCE.setWindowArg("document", document);
+
+		// Call to external callback
+		if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+			alert("Callback function: " + cb + " could not be found.");
+		else
+			eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+	},
+
+	importClass : function(c) {
+		window[c] = function() {};
+
+		for (var n in window.opener[c].prototype)
+			window[c].prototype[n] = window.opener[c].prototype[n];
+
+		window[c].constructor = window.opener[c].constructor;
+	}
+
+	};
+
+// Setup global instance
+var tinyMCEPopup = new TinyMCE_Popup();
+
+tinyMCEPopup.init();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/tiny_mce_src.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,7492 @@
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */
+
+function TinyMCE_Engine() {
+	var ua;
+
+	this.majorVersion = "2";
+	this.minorVersion = "1.0";
+	this.releaseDate = "2007-02-13";
+
+	this.instances = new Array();
+	this.switchClassCache = new Array();
+	this.windowArgs = new Array();
+	this.loadedFiles = new Array();
+	this.pendingFiles = new Array();
+	this.loadingIndex = 0;
+	this.configs = new Array();
+	this.currentConfig = 0;
+	this.eventHandlers = new Array();
+	this.log = new Array();
+	this.undoLevels = [];
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+
+	// Browser check
+	ua = navigator.userAgent;
+	this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1);
+	this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1);
+	this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1);
+	this.isGecko = ua.indexOf('Gecko') != -1;
+	this.isSafari = ua.indexOf('Safari') != -1;
+	this.isOpera = ua.indexOf('Opera') != -1;
+	this.isMac = ua.indexOf('Mac') != -1;
+	this.isNS7 = ua.indexOf('Netscape/7') != -1;
+	this.isNS71 = ua.indexOf('Netscape/7.1') != -1;
+	this.dialogCounter = 0;
+	this.plugins = new Array();
+	this.themes = new Array();
+	this.menus = new Array();
+	this.loadedPlugins = new Array();
+	this.buttonMap = new Array();
+	this.isLoaded = false;
+
+	// Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those
+	if (this.isOpera) {
+		this.isMSIE = true;
+		this.isGecko = false;
+		this.isSafari =  false;
+	}
+
+	this.isIE = this.isMSIE;
+	this.isRealIE = this.isMSIE && !this.isOpera;
+
+	// TinyMCE editor id instance counter
+	this.idCounter = 0;
+};
+
+TinyMCE_Engine.prototype = {
+	init : function(settings) {
+		var theme, nl, baseHREF = "", i;
+
+		// IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. We can't support old browsers forever, sorry.
+		if (this.isMSIE5_0)
+			return;
+
+		this.settings = settings;
+
+		// Check if valid browser has execcommand support
+		if (typeof(document.execCommand) == 'undefined')
+			return;
+
+		// Get script base path
+		if (!tinyMCE.baseURL) {
+			var elements = document.getElementsByTagName('script');
+
+			// If base element found, add that infront of baseURL
+			nl = document.getElementsByTagName('base');
+			for (i=0; i<nl.length; i++) {
+				if (nl[i].href)
+					baseHREF = nl[i].href;
+			}
+
+			for (var i=0; i<elements.length; i++) {
+				if (elements[i].src && (elements[i].src.indexOf("tiny_mce.js") != -1 || elements[i].src.indexOf("tiny_mce_dev.js") != -1 || elements[i].src.indexOf("tiny_mce_src.js") != -1 || elements[i].src.indexOf("tiny_mce_gzip") != -1)) {
+					var src = elements[i].src;
+
+					tinyMCE.srcMode = (src.indexOf('_src') != -1 || src.indexOf('_dev') != -1) ? '_src' : '';
+					tinyMCE.gzipMode = src.indexOf('_gzip') != -1;
+					src = src.substring(0, src.lastIndexOf('/'));
+
+					if (settings.exec_mode == "src" || settings.exec_mode == "normal")
+						tinyMCE.srcMode = settings.exec_mode == "src" ? '_src' : '';
+
+					// Force it absolute if page has a base href
+					if (baseHREF != "" && src.indexOf('://') == -1)
+						tinyMCE.baseURL = baseHREF + src;
+					else
+						tinyMCE.baseURL = src;
+
+					break;
+				}
+			}
+		}
+
+		// Get document base path
+		this.documentBasePath = document.location.href;
+		if (this.documentBasePath.indexOf('?') != -1)
+			this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.indexOf('?'));
+		this.documentURL = this.documentBasePath;
+		this.documentBasePath = this.documentBasePath.substring(0, this.documentBasePath.lastIndexOf('/'));
+
+		// If not HTTP absolute
+		if (tinyMCE.baseURL.indexOf('://') == -1 && tinyMCE.baseURL.charAt(0) != '/') {
+			// If site absolute
+			tinyMCE.baseURL = this.documentBasePath + "/" + tinyMCE.baseURL;
+		}
+
+		// Set default values on settings
+		this._def("mode", "none");
+		this._def("theme", "advanced");
+		this._def("plugins", "", true);
+		this._def("language", "en");
+		this._def("docs_language", this.settings['language']);
+		this._def("elements", "");
+		this._def("textarea_trigger", "mce_editable");
+		this._def("editor_selector", "");
+		this._def("editor_deselector", "mceNoEditor");
+		this._def("valid_elements", "+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|style],-ul[class|style],-li[class|style],br,img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align],-sub[style|class],-sup[style|class],-blockquote[dir|style],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],-span[style|class|align],-pre[class|align|style],address[class|align|style],-h1[id|style|dir|class|align],-h2[id|style|dir|class|align],-h3[id|style|dir|class|align],-h4[id|style|dir|class|align],-h5[id|style|dir|class|align],-h6[id|style|dir|class|align],hr[class|style],-font[face|size|style|id|class|dir|color],dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],cite[title|id|class|style|dir|lang],abbr[title|id|class|style|dir|lang],acronym[title|id|class|style|dir|lang],del[title|id|class|style|dir|lang|datetime|cite],ins[title|id|class|style|dir|lang|datetime|cite]");
+		this._def("extended_valid_elements", "");
+		this._def("invalid_elements", "");
+		this._def("encoding", "");
+		this._def("urlconverter_callback", tinyMCE.getParam("urlconvertor_callback", "TinyMCE_Engine.prototype.convertURL"));
+		this._def("save_callback", "");
+		this._def("debug", false);
+		this._def("force_br_newlines", false);
+		this._def("force_p_newlines", true);
+		this._def("add_form_submit_trigger", true);
+		this._def("relative_urls", true);
+		this._def("remove_script_host", true);
+		this._def("focus_alert", true);
+		this._def("document_base_url", this.documentURL);
+		this._def("visual", true);
+		this._def("visual_table_class", "mceVisualAid");
+		this._def("setupcontent_callback", "");
+		this._def("fix_content_duplication", true);
+		this._def("custom_undo_redo", true);
+		this._def("custom_undo_redo_levels", -1);
+		this._def("custom_undo_redo_keyboard_shortcuts", true);
+		this._def("custom_undo_redo_restore_selection", true);
+		this._def("custom_undo_redo_global", false);
+		this._def("verify_html", true);
+		this._def("apply_source_formatting", false);
+		this._def("directionality", "ltr");
+		this._def("cleanup_on_startup", false);
+		this._def("inline_styles", false);
+		this._def("convert_newlines_to_brs", false);
+		this._def("auto_reset_designmode", true);
+		this._def("entities", "39,#39,160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,34,quot,38,amp,60,lt,62,gt,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro", true);
+		this._def("entity_encoding", "named");
+		this._def("cleanup_callback", "");
+		this._def("add_unload_trigger", true);
+		this._def("ask", false);
+		this._def("nowrap", false);
+		this._def("auto_resize", false);
+		this._def("auto_focus", false);
+		this._def("cleanup", true);
+		this._def("remove_linebreaks", true);
+		this._def("button_tile_map", false);
+		this._def("submit_patch", true);
+		this._def("browsers", "msie,safari,gecko,opera", true);
+		this._def("dialog_type", "window");
+		this._def("accessibility_warnings", true);
+		this._def("accessibility_focus", true);
+		this._def("merge_styles_invalid_parents", "");
+		this._def("force_hex_style_colors", true);
+		this._def("trim_span_elements", true);
+		this._def("convert_fonts_to_spans", false);
+		this._def("doctype", '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">');
+		this._def("font_size_classes", '');
+		this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true);
+		this._def("event_elements", 'a,img', true);
+		this._def("convert_urls", true);
+		this._def("table_inline_editing", false);
+		this._def("object_resizing", true);
+		this._def("custom_shortcuts", true);
+		this._def("convert_on_click", false);
+		this._def("content_css", '');
+		this._def("fix_list_elements", true);
+		this._def("fix_table_elements", false);
+		this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml');
+		this._def("hidden_tab_class", '');
+		this._def("display_tab_class", '');
+		this._def("gecko_spellcheck", false);
+		this._def("hide_selects_on_submit", true);
+
+		// Force strict loading mode to false on non Gecko browsers
+		if (this.isMSIE && !this.isOpera)
+			this.settings.strict_loading_mode = false;
+
+		// Browser check IE
+		if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1)
+			return;
+
+		// Browser check Gecko
+		if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1)
+			return;
+
+		// Browser check Safari
+		if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1)
+			return;
+
+		// Browser check Opera
+		if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1)
+			return;
+
+		// If not super absolute make it so
+		baseHREF = tinyMCE.settings['document_base_url'];
+		var h = document.location.href;
+		var p = h.indexOf('://');
+		if (p > 0 && document.location.protocol != "file:") {
+			p = h.indexOf('/', p + 3);
+			h = h.substring(0, p);
+
+			if (baseHREF.indexOf('://') == -1)
+				baseHREF = h + baseHREF;
+
+			tinyMCE.settings['document_base_url'] = baseHREF;
+			tinyMCE.settings['document_base_prefix'] = h;
+		}
+
+		// Trim away query part
+		if (baseHREF.indexOf('?') != -1)
+			baseHREF = baseHREF.substring(0, baseHREF.indexOf('?'));
+
+		this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/";
+
+		theme = this.settings['theme'];
+		this.inlineStrict = 'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';
+		this.inlineTransitional = 'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';
+		this.blockElms = 'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';
+		this.blockRegExp = new RegExp("^(" + this.blockElms + ")$", "i");
+		this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40);
+		this.uniqueURL = 'javascript:void(091039730);'; // Make unique URL non real URL
+		this.uniqueTag = '<div id="mceTMPElement" style="display: none">TMP</div>';
+		this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup', 'removeInstance');
+
+		// Theme url
+		this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme;
+
+		if (!tinyMCE.isIE || tinyMCE.isOpera)
+			this.settings['force_br_newlines'] = false;
+
+		if (tinyMCE.getParam("popups_css", false)) {
+			var cssPath = tinyMCE.getParam("popups_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['popups_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['popups_css'] = cssPath;
+		} else
+			this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css";
+
+		if (tinyMCE.getParam("editor_css", false)) {
+			var cssPath = tinyMCE.getParam("editor_css", "");
+
+			// Is relative
+			if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/')
+				this.settings['editor_css'] = this.documentBasePath + "/" + cssPath;
+			else
+				this.settings['editor_css'] = cssPath;
+		} else {
+			if (this.settings.editor_css != '')
+				this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css";
+		}
+
+		if (tinyMCE.settings['debug']) {
+			var msg = "Debug: \n";
+
+			msg += "baseURL: " + this.baseURL + "\n";
+			msg += "documentBasePath: " + this.documentBasePath + "\n";
+			msg += "content_css: " + this.settings['content_css'] + "\n";
+			msg += "popups_css: " + this.settings['popups_css'] + "\n";
+			msg += "editor_css: " + this.settings['editor_css'] + "\n";
+
+			alert(msg);
+		}
+
+		// Only do this once
+		if (this.configs.length == 0) {
+			if (typeof(TinyMCECompressed) == "undefined") {
+				tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad);
+
+				if (tinyMCE.isRealIE) {
+					if (document.body)
+						tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+					else
+						tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad);
+				}
+
+				tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad);
+				tinyMCE._addUnloadEvents();
+			}
+		}
+
+		this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js');
+		this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] +  '.js');
+		this.loadCSS(this.settings['editor_css']);
+
+		// Add plugins
+		var p = tinyMCE.getParam('plugins', '', true, ',');
+		if (p.length > 0) {
+			for (var i=0; i<p.length; i++) {
+				if (p[i].charAt(0) != '-')
+					this.loadScript(tinyMCE.baseURL + '/plugins/' + p[i] + '/editor_plugin' + tinyMCE.srcMode + '.js');
+			}
+		}
+
+		// Setup entities
+		if (tinyMCE.getParam('entity_encoding') == 'named') {
+			settings['cleanup_entities'] = new Array();
+			var entities = tinyMCE.getParam('entities', '', true, ',');
+			for (var i=0; i<entities.length; i+=2)
+				settings['cleanup_entities']['c' + entities[i]] = entities[i+1];
+		}
+
+		// Save away this config
+		settings['index'] = this.configs.length;
+		this.configs[this.configs.length] = settings;
+
+		// Start loading first one in chain
+		this.loadNextScript();
+
+		// Force flicker free CSS backgrounds in IE
+		if (this.isIE && !this.isOpera) {
+			try {
+				document.execCommand('BackgroundImageCache', false, true);
+			} catch (e) {
+			}
+		}
+
+		// Setup XML encoding regexps
+		this.xmlEncodeAposRe = new RegExp('[<>&"\']', 'g');
+		this.xmlEncodeRe = new RegExp('[<>&"]', 'g');
+//		this.xmlEncodeEnts = {'&':'&amp;','"':'&quot;',"'":'&#39;','<':'&lt;','>':'&gt;'};
+	},
+
+	_addUnloadEvents : function() {
+		if (tinyMCE.isIE) {
+			if (tinyMCE.settings['add_unload_trigger']) {
+				tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler);
+				tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler);
+			}
+		} else {
+			if (tinyMCE.settings['add_unload_trigger'])
+				tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);});
+		}
+	},
+
+	_def : function(key, def_val, t) {
+		var v = tinyMCE.getParam(key, def_val);
+
+		v = t ? v.replace(/\s+/g, "") : v;
+
+		this.settings[key] = v;
+	},
+
+	hasPlugin : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	addPlugin : function(n, p) {
+		var op = this.plugins[n];
+
+		// Use the previous plugin object base URL used when loading external plugins
+		p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n;
+		this.plugins[n] = p;
+
+		this.loadNextScript();
+	},
+
+	setPluginBaseURL : function(n, u) {
+		var op = this.plugins[n];
+
+		if (op)
+			op.baseURL = u;
+		else
+			this.plugins[n] = {baseURL : u};
+	},
+
+	loadPlugin : function(n, u) {
+		u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u;
+		u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u;
+		this.plugins[n] = {baseURL : u};
+		this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js");
+	},
+
+	hasTheme : function(n) {
+		return typeof(this.themes[n]) != "undefined" && this.themes[n] != null;
+	},
+
+	addTheme : function(n, t) {
+		this.themes[n] = t;
+
+		this.loadNextScript();
+	},
+
+	addMenu : function(n, m) {
+		this.menus[n] = m;
+	},
+
+	hasMenu : function(n) {
+		return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null;
+	},
+
+	loadScript : function(url) {
+		var i;
+
+		for (i=0; i<this.loadedFiles.length; i++) {
+			if (this.loadedFiles[i] == url)
+				return;
+		}
+
+		if (tinyMCE.settings.strict_loading_mode)
+			this.pendingFiles[this.pendingFiles.length] = url;
+		else
+			document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></script>');
+
+		this.loadedFiles[this.loadedFiles.length] = url;
+	},
+
+	loadNextScript : function() {
+		var d = document, se;
+
+		if (!tinyMCE.settings.strict_loading_mode)
+			return;
+
+		if (this.loadingIndex < this.pendingFiles.length) {
+			se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script');
+			se.setAttribute('language', 'javascript');
+			se.setAttribute('type', 'text/javascript');
+			se.setAttribute('src', this.pendingFiles[this.loadingIndex++]);
+
+			d.getElementsByTagName("head")[0].appendChild(se);
+		} else
+			this.loadingIndex = -1; // Done with loading
+	},
+
+	loadCSS : function(url) {
+		var ar = url.replace(/\s+/, '').split(',');
+		var lflen = 0, csslen = 0;
+		var skip = false;
+		var x = 0, i = 0, nl, le;
+
+		for (x = 0,csslen = ar.length; x<csslen; x++) {
+			if (ar[x] != null && ar[x] != 'null' && ar[x].length > 0) {
+				/* Make sure it doesn't exist. */
+				for (i=0, lflen=this.loadedFiles.length; i<lflen; i++) {
+					if (this.loadedFiles[i] == ar[x]) {
+						skip = true;
+						break;
+					}
+				}
+
+				if (!skip) {
+					if (tinyMCE.settings.strict_loading_mode) {
+						nl = document.getElementsByTagName("head");
+
+						le = document.createElement('link');
+						le.setAttribute('href', ar[x]);
+						le.setAttribute('rel', 'stylesheet');
+						le.setAttribute('type', 'text/css');
+
+						nl[0].appendChild(le);			
+					} else
+						document.write('<link href="' + ar[x] + '" rel="stylesheet" type="text/css" />');
+
+					this.loadedFiles[this.loadedFiles.length] = ar[x];
+				}
+			}
+		}
+	},
+
+	importCSS : function(doc, css) {
+		var css_ary = css.replace(/\s+/, '').split(',');
+		var csslen, elm, headArr, x, css_file;
+
+		for (x = 0, csslen = css_ary.length; x<csslen; x++) {
+			css_file = css_ary[x];
+
+			if (css_file != null && css_file != 'null' && css_file.length > 0) {
+				// Is relative, make absolute
+				if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/')
+					css_file = this.documentBasePath + "/" + css_file;
+
+				if (typeof(doc.createStyleSheet) == "undefined") {
+					elm = doc.createElement("link");
+
+					elm.rel = "stylesheet";
+					elm.href = css_file;
+
+					if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0)
+						headArr[0].appendChild(elm);
+				} else
+					doc.createStyleSheet(css_file);
+			}
+		}
+	},
+
+	confirmAdd : function(e, settings) {
+		var elm = tinyMCE.isIE ? event.srcElement : e.target;
+		var elementId = elm.name ? elm.name : elm.id;
+
+		tinyMCE.settings = settings;
+
+		if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm'])))
+			tinyMCE.addMCEControl(elm, elementId);
+
+		elm.setAttribute('mce_noask', 'true');
+	},
+
+	updateContent : function(form_element_name) {
+		// Find MCE instance linked to given form element and copy it's value
+		var formElement = document.getElementById(form_element_name);
+		for (var n in tinyMCE.instances) {
+			var inst = tinyMCE.instances[n];
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			if (inst.formElement == formElement) {
+				var doc = inst.getDoc();
+		
+				tinyMCE._setHTML(doc, inst.formElement.value);
+
+				if (!tinyMCE.isIE)
+					doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid);
+			}
+		}
+	},
+
+	addMCEControl : function(replace_element, form_element_name, target_document) {
+		var id = "mce_editor_" + tinyMCE.idCounter++;
+		var inst = new TinyMCE_Control(tinyMCE.settings);
+
+		inst.editorId = id;
+		this.instances[id] = inst;
+
+		inst._onAdd(replace_element, form_element_name, target_document);
+	},
+
+	removeInstance : function(ti) {
+		var t = [], n, i;
+
+		// Remove from instances
+		for (n in tinyMCE.instances) {
+			i = tinyMCE.instances[n];
+
+			if (tinyMCE.isInstance(i) && ti != i)
+					t[n] = i;
+		}
+
+		tinyMCE.instances = t;
+
+		// Remove from global undo/redo
+		n = [];
+		t = tinyMCE.undoLevels;
+
+		for (i=0; i<t.length; i++) {
+			if (t[i] != ti)
+				n.push(t[i]);
+		}
+
+		tinyMCE.undoLevels = n;
+		tinyMCE.undoIndex = n.length;
+
+		// Dispatch remove instance call
+		tinyMCE.dispatchCallback(ti, 'remove_instance_callback', 'removeInstance', ti);
+
+		return ti;
+	},
+
+	removeMCEControl : function(editor_id) {
+		var inst = tinyMCE.getInstanceById(editor_id), h, re, ot, tn;
+
+		if (inst) {
+			inst.switchSettings();
+
+			editor_id = inst.editorId;
+			h = tinyMCE.getContent(editor_id);
+
+			this.removeInstance(inst);
+
+			tinyMCE.selectedElement = null;
+			tinyMCE.selectedInstance = null;
+
+			// Remove element
+			re = document.getElementById(editor_id + "_parent");
+			ot = inst.oldTargetElement;
+			tn = ot.nodeName.toLowerCase();
+
+			if (tn == "textarea" || tn == "input") {
+				re.parentNode.removeChild(re);
+				ot.style.display = "inline";
+				ot.value = h;
+			} else {
+				ot.innerHTML = h;
+				ot.style.display = 'block';
+				re.parentNode.insertBefore(ot, re);
+				re.parentNode.removeChild(re);
+			}
+		}
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var inst, n;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		// Cleanup and set all form fields
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.triggerSave(skip_cleanup, skip_callback);
+		}
+	},
+
+	resetForm : function(form_index) {
+		var i, inst, n, formObj = document.forms[form_index];
+
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.switchSettings();
+
+			for (i=0; i<formObj.elements.length; i++) {
+				if (inst.formTargetElementId == formObj.elements[i].name)
+					inst.getBody().innerHTML = inst.startContent;
+			}
+		}
+	},
+
+	execInstanceCommand : function(editor_id, command, user_interface, value, focus) {
+		var inst = tinyMCE.getInstanceById(editor_id), r;
+
+		if (inst) {
+			r = inst.selection.getRng();
+
+			if (typeof(focus) == "undefined")
+				focus = true;
+
+			// IE bug lost focus on images in absolute divs Bug #1534575
+			if (focus && (!r || !r.item))
+				inst.contentWindow.focus();
+
+			// Reset design mode if lost
+			inst.autoResetDesignMode();
+
+			this.selectedElement = inst.getFocusElement();
+			inst.select();
+			tinyMCE.execCommand(command, user_interface, value);
+
+			// Cancel event so it doesn't call onbeforeonunlaod
+			if (tinyMCE.isIE && window.event != null)
+				tinyMCE.cancelEvent(window.event);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Default input
+		user_interface = user_interface ? user_interface : false;
+		value = value ? value : null;
+
+		if (inst)
+			inst.switchSettings();
+
+		switch (command) {
+			case "Undo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex > 0) {
+						tinyMCE.nextUndoRedoAction = 'Undo';
+						inst = this.undoLevels[--this.undoIndex];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Undo');
+					}
+				} else
+					inst.execCommand('Undo');
+				return true;
+
+			case "Redo":
+				if (this.getParam('custom_undo_redo_global')) {
+					if (this.undoIndex <= this.undoLevels.length - 1) {
+						tinyMCE.nextUndoRedoAction = 'Redo';
+						inst = this.undoLevels[this.undoIndex++];
+						inst.select();
+
+						if (!tinyMCE.nextUndoRedoInstanceId)
+							inst.execCommand('Redo');
+					}
+				} else
+					inst.execCommand('Redo');
+
+				return true;
+
+			case 'mceFocus':
+				var inst = tinyMCE.getInstanceById(value);
+				if (inst)
+					inst.getWin().focus();
+			return;
+
+			case "mceAddControl":
+			case "mceAddEditor":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+				return;
+
+			case "mceAddFrameControl":
+				tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']);
+				return;
+
+			case "mceRemoveControl":
+			case "mceRemoveEditor":
+				tinyMCE.removeMCEControl(value);
+				return;
+
+			case "mceToggleEditor":
+				var inst = tinyMCE.getInstanceById(value), pe, te;
+
+				if (inst) {
+					pe = document.getElementById(inst.editorId + '_parent');
+					te = inst.oldTargetElement;
+
+					if (typeof(inst.enabled) == 'undefined')
+						inst.enabled = true;
+
+					inst.enabled = !inst.enabled;
+
+					if (!inst.enabled) {
+						pe.style.display = 'none';
+						te.value = inst.getHTML();
+						te.style.display = inst.oldTargetDisplay;
+						tinyMCE.dispatchCallback(inst, 'hide_instance_callback', 'hideInstance', inst);
+					} else {
+						pe.style.display = 'block';
+						te.style.display = 'none';
+						inst.setHTML(te.value);
+						inst.useCSS = false;
+						tinyMCE.dispatchCallback(inst, 'show_instance_callback', 'showInstance', inst);
+					}
+				} else
+					tinyMCE.addMCEControl(tinyMCE._getElementById(value), value);
+
+				return;
+
+			case "mceResetDesignMode":
+				// Resets the designmode state of the editors in Gecko
+				if (!tinyMCE.isIE) {
+					for (var n in tinyMCE.instances) {
+						if (!tinyMCE.isInstance(tinyMCE.instances[n]))
+							continue;
+
+						try {
+							tinyMCE.instances[n].getDoc().designMode = "on";
+						} catch (e) {
+							// Ignore any errors
+						}
+					}
+				}
+
+				return;
+		}
+
+		if (inst) {
+			inst.execCommand(command, user_interface, value);
+		} else if (tinyMCE.settings['focus_alert'])
+			alert(tinyMCELang['lang_focus_alert']);
+	},
+
+	_createIFrame : function(replace_element, doc, win) {
+		var iframe, id = replace_element.getAttribute("id");
+		var aw, ah;
+
+		if (typeof(doc) == "undefined")
+			doc = document;
+
+		if (typeof(win) == "undefined")
+			win = window;
+
+		iframe = doc.createElement("iframe");
+
+		aw = "" + tinyMCE.settings['area_width'];
+		ah = "" + tinyMCE.settings['area_height'];
+
+		if (aw.indexOf('%') == -1) {
+			aw = parseInt(aw);
+			aw = (isNaN(aw) || aw < 0) ? 300 : aw;
+			aw = aw + "px";
+		}
+
+		if (ah.indexOf('%') == -1) {
+			ah = parseInt(ah);
+			ah = (isNaN(ah) || ah < 0) ? 240 : ah;
+			ah = ah + "px";
+		}
+
+		iframe.setAttribute("id", id);
+		iframe.setAttribute("name", id);
+		iframe.setAttribute("class", "mceEditorIframe");
+		iframe.setAttribute("border", "0");
+		iframe.setAttribute("frameBorder", "0");
+		iframe.setAttribute("marginWidth", "0");
+		iframe.setAttribute("marginHeight", "0");
+		iframe.setAttribute("leftMargin", "0");
+		iframe.setAttribute("topMargin", "0");
+		iframe.setAttribute("width", aw);
+		iframe.setAttribute("height", ah);
+		iframe.setAttribute("allowtransparency", "true");
+		iframe.className = 'mceEditorIframe';
+
+		if (tinyMCE.settings["auto_resize"])
+			iframe.setAttribute("scrolling", "no");
+
+		// Must have a src element in MSIE HTTPs breaks aswell as absoute URLs
+		if (tinyMCE.isRealIE)
+			iframe.setAttribute("src", this.settings['default_document']);
+
+		iframe.style.width = aw;
+		iframe.style.height = ah;
+
+		// Ugly hack for Gecko problem in strict mode
+		if (tinyMCE.settings.strict_loading_mode)
+			iframe.style.marginBottom = '-5px';
+
+		// MSIE 5.0 issue
+		if (tinyMCE.isRealIE)
+			replace_element.outerHTML = iframe.outerHTML;
+		else
+			replace_element.parentNode.replaceChild(iframe, replace_element);
+
+		if (tinyMCE.isRealIE)
+			return win.frames[id];
+		else
+			return iframe;
+	},
+
+	setupContent : function(editor_id) {
+		var inst = tinyMCE.instances[editor_id], i;
+		var doc = inst.getDoc();
+		var head = doc.getElementsByTagName('head').item(0);
+		var content = inst.startContent;
+
+		// HTML values get XML encoded in strict mode
+		if (tinyMCE.settings.strict_loading_mode) {
+			content = content.replace(/&lt;/g, '<');
+			content = content.replace(/&gt;/g, '>');
+			content = content.replace(/&quot;/g, '"');
+			content = content.replace(/&amp;/g, '&');
+		}
+
+		tinyMCE.selectedInstance = inst;
+		inst.switchSettings();
+
+		// Not loaded correctly hit it again, Mozilla bug #997860
+		if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") {
+			// This part will remove the designMode status
+			// Failes first time in Firefox 1.5b2 on Mac
+			try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {}
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000);
+			return;
+		}
+
+		if (!head) {
+			window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10);
+			return;
+		}
+
+		// Import theme specific content CSS the user specific
+		tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css");
+		tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']);
+		tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst);
+
+		// Setup keyboard shortcuts
+		if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) {
+			inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo');
+			inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo');
+		}
+
+		// BlockFormat shortcuts keys
+		for (i=1; i<=6; i++)
+			inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, '<h' + i + '>');
+
+		inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '<p>');
+		inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '<div>');
+		inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '<address>');
+
+		// Add default shortcuts for gecko
+		if (tinyMCE.isGecko) {
+			inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold');
+			inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic');
+			inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline');
+		}
+
+		// Setup span styles
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			inst.getBody().setAttribute('id', 'mceSpanFonts');
+
+		if (tinyMCE.settings['nowrap'])
+			doc.body.style.whiteSpace = "nowrap";
+
+		doc.body.dir = this.settings['directionality'];
+		doc.editorId = editor_id;
+
+		// Add on document element in Mozilla
+		if (!tinyMCE.isIE)
+			doc.documentElement.editorId = editor_id;
+
+		inst.setBaseHREF(tinyMCE.settings['base_href']);
+
+		// Replace new line characters to BRs
+		if (tinyMCE.settings['convert_newlines_to_brs']) {
+			content = tinyMCE.regexpReplace(content, "\r\n", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\r", "<br />", "gi");
+			content = tinyMCE.regexpReplace(content, "\n", "<br />", "gi");
+		}
+
+		// Open closed anchors
+	//	content = content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		// Call custom cleanup code
+		content = tinyMCE.storeAwayURLs(content);
+		content = tinyMCE._customCleanup(inst, "insert_to_editor", content);
+
+		if (tinyMCE.isIE) {
+			// Ugly!!!
+			window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500);
+
+			if (tinyMCE.settings["force_br_newlines"])
+				doc.styleSheets[0].addRule("p", "margin: 0;");
+
+			var body = inst.getBody();
+			body.editorId = editor_id;
+		}
+
+		content = tinyMCE.cleanupHTMLCode(content);
+
+		// Fix for bug #958637
+		if (!tinyMCE.isIE) {
+			var contentElement = inst.getDoc().createElement("body");
+			var doc = inst.getDoc();
+
+			contentElement.innerHTML = content;
+
+			// Remove weridness!
+			if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt'])
+				content = content.replace(new RegExp('&lt;&gt;', 'g'), "");
+
+			if (tinyMCE.settings['cleanup_on_startup'])
+				tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement));
+			else
+				tinyMCE.setInnerHTML(inst.getBody(), content);
+
+			tinyMCE.convertAllRelativeURLs(inst.getBody());
+		} else {
+			if (tinyMCE.settings['cleanup_on_startup']) {
+				tinyMCE._setHTML(inst.getDoc(), content);
+
+				// Produces permission denied error in MSIE 5.5
+				eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}');
+			} else
+				tinyMCE._setHTML(inst.getDoc(), content);
+		}
+
+		// Fix for bug #957681
+		//inst.getDoc().designMode = inst.getDoc().designMode;
+
+		tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst);
+		tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc());
+
+		// Re-add design mode on mozilla
+		if (!tinyMCE.isIE)
+			tinyMCE.addEventHandlers(inst);
+
+		// Add blur handler
+		if (tinyMCE.isIE) {
+			tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch);
+			tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953
+
+			// Workaround for drag drop/copy paste base href bug
+			if (!tinyMCE.isOpera) {
+				tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove);
+				tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch);
+				tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch);
+			}
+		}
+
+		// Trigger node change, this call locks buttons for tables and so forth
+		inst.select();
+		tinyMCE.selectedElement = inst.contentWindow.document.body;
+
+		// Call custom DOM cleanup
+		tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody());
+		tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody());
+		tinyMCE._setEventsEnabled(inst.getBody(), false);
+		tinyMCE.cleanupAnchors(inst.getDoc());
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		inst.startContent = tinyMCE.trim(inst.getBody().innerHTML);
+		inst.undoRedo.add({ content : inst.startContent });
+
+		// Cleanup any mess left from storyAwayURLs
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(inst.getBody(), function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+
+		// Remove Gecko spellchecking
+		if (tinyMCE.isGecko)
+			inst.getBody().spellcheck = tinyMCE.getParam("gecko_spellcheck");
+
+		// Cleanup any mess left from storyAwayURLs
+		tinyMCE._removeInternal(inst.getBody());
+
+		inst.select();
+		tinyMCE.triggerNodeChange(false, true);
+	},
+
+	storeAwayURLs : function(s) {
+		// Remove all mce_src, mce_href and replace them with new ones
+		// s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+		// s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), '');
+
+		if (!s.match(/(mce_src|mce_href)/gi, s)) {
+			s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"');
+			s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"');
+		}
+
+		return s;
+	},
+
+	_removeInternal : function(n) {
+		if (tinyMCE.isGecko) {
+			// Remove mce_src from textnodes and comments
+			tinyMCE.selectNodes(n, function(n) {
+				if (n.nodeType == 3 || n.nodeType == 8)
+					n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), "");
+
+				return false;
+			});
+		}
+	},
+
+	removeTinyMCEFormElements : function(form_obj) {
+		var i, elementId;
+
+		// Skip form element removal
+		if (!tinyMCE.getParam('hide_selects_on_submit'))
+			return;
+
+		// Check if form is valid
+		if (typeof(form_obj) == "undefined" || form_obj == null)
+			return;
+
+		// If not a form, find the form
+		if (form_obj.nodeName != "FORM") {
+			if (form_obj.form)
+				form_obj = form_obj.form;
+			else
+				form_obj = tinyMCE.getParentElement(form_obj, "form");
+		}
+
+		// Still nothing
+		if (form_obj == null)
+			return;
+
+		// Disable all UI form elements that TinyMCE created
+		for (i=0; i<form_obj.elements.length; i++) {
+			elementId = form_obj.elements[i].name ? form_obj.elements[i].name : form_obj.elements[i].id;
+
+			if (elementId.indexOf('mce_editor_') == 0)
+				form_obj.elements[i].disabled = true;
+		}
+	},
+
+	handleEvent : function(e) {
+		var inst = tinyMCE.selectedInstance;
+
+		// Remove odd, error
+		if (typeof(tinyMCE) == "undefined")
+			return true;
+
+		//tinyMCE.debug(e.type + " " + e.target.nodeName + " " + (e.relatedTarget ? e.relatedTarget.nodeName : ""));
+
+		if (tinyMCE.executeCallback(tinyMCE.selectedInstance, 'handle_event_callback', 'handleEvent', e))
+			return false;
+
+		switch (e.type) {
+			case "beforedeactivate": // Was added due to bug #1439953
+			case "blur":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.execCommand('mceEndTyping');
+
+				tinyMCE.hideMenus();
+
+				return;
+
+			// Workaround for drag drop/copy paste base href bug
+			case "drop":
+			case "beforepaste":
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.setBaseHREF(null);
+
+				// Fixes odd MSIE bug where drag/droping elements in a iframe with height 100% breaks
+				// This logic forces the width/height to be in pixels while the user is drag/dropping
+				if (tinyMCE.isRealIE) {
+					var ife = tinyMCE.selectedInstance.iframeElement;
+
+					/*if (ife.style.width.indexOf('%') != -1) {
+						ife._oldWidth = ife.width.height;
+						ife.style.width = ife.clientWidth;
+					}*/
+
+					if (ife.style.height.indexOf('%') != -1) {
+						ife._oldHeight = ife.style.height;
+						ife.style.height = ife.clientHeight;
+					}
+				}
+
+				window.setTimeout("tinyMCE.selectedInstance.setBaseHREF(tinyMCE.settings['base_href']);tinyMCE._resetIframeHeight();", 1);
+				return;
+
+			case "submit":
+				tinyMCE.removeTinyMCEFormElements(tinyMCE.isMSIE ? window.event.srcElement : e.target);
+				tinyMCE.triggerSave();
+				tinyMCE.isNotDirty = true;
+				return;
+
+			case "reset":
+				var formObj = tinyMCE.isIE ? window.event.srcElement : e.target;
+
+				for (var i=0; i<document.forms.length; i++) {
+					if (document.forms[i] == formObj)
+						window.setTimeout('tinyMCE.resetForm(' + i + ');', 10);
+				}
+
+				return;
+
+			case "keypress":
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId) {
+					tinyMCE.instances[e.target.editorId].select();
+				} else {
+					if (e.target.ownerDocument.editorId)
+						tinyMCE.instances[e.target.ownerDocument.editorId].select();
+				}
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				// Insert P element
+				if ((tinyMCE.isGecko || tinyMCE.isOpera || tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && e.keyCode == 13 && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._insertPara(tinyMCE.selectedInstance, e)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Handle backspace
+				if ((tinyMCE.isGecko && !tinyMCE.isSafari) && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						return tinyMCE.cancelEvent(e);
+					}
+				}
+
+				// Return key pressed
+				if (tinyMCE.isIE && tinyMCE.settings['force_br_newlines'] && e.keyCode == 13) {
+					if (e.target.editorId)
+						tinyMCE.instances[e.target.editorId].select();
+
+					if (tinyMCE.selectedInstance) {
+						var sel = tinyMCE.selectedInstance.getDoc().selection;
+						var rng = sel.createRange();
+
+						if (tinyMCE.getParentElement(rng.parentElement(), "li") != null)
+							return false;
+
+						// Cancel event
+						e.returnValue = false;
+						e.cancelBubble = true;
+
+						// Insert BR element
+						rng.pasteHTML("<br />");
+						rng.collapse(false);
+						rng.select();
+
+						tinyMCE.execCommand("mceAddUndoLevel");
+						tinyMCE.triggerNodeChange(false);
+						return false;
+					}
+				}
+
+				// Backspace or delete
+				if (e.keyCode == 8 || e.keyCode == 46) {
+					tinyMCE.selectedElement = e.target;
+					tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a");
+					tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img");
+					tinyMCE.triggerNodeChange(false);
+				}
+
+				return false;
+			break;
+
+			case "keyup":
+			case "keydown":
+				tinyMCE.hideMenus();
+				tinyMCE.hasMouseMoved = false;
+
+				if (inst && inst.handleShortcut(e))
+					return false;
+
+				if (e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				if (tinyMCE.selectedInstance)
+					tinyMCE.selectedInstance.switchSettings();
+
+				var inst = tinyMCE.selectedInstance;
+
+				// Handle backspace
+				if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) {
+					// Insert P element instead of BR
+					if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) {
+						// Cancel event
+						tinyMCE.execCommand("mceAddUndoLevel");
+						e.preventDefault();
+						return false;
+					}
+				}
+
+				tinyMCE.selectedElement = null;
+				tinyMCE.selectedNode = null;
+				var elm = tinyMCE.selectedInstance.getFocusElement();
+				tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a");
+				tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img");
+				tinyMCE.selectedElement = elm;
+
+				// Update visualaids on tabs
+				if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9)
+					tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
+
+				// Fix empty elements on return/enter, check where enter occured
+				if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13)
+					tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement();
+
+				// Fix empty elements on return/enter
+				if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13) {
+					var elm = tinyMCE.enterKeyElement;
+					if (elm) {
+						var re = new RegExp('^HR|IMG|BR$','g'); // Skip these
+						var dre = new RegExp('^H[1-6]$','g'); // Add double on these
+
+						if (!elm.hasChildNodes() && !re.test(elm.nodeName)) {
+							if (dre.test(elm.nodeName))
+								elm.innerHTML = "&nbsp;&nbsp;";
+							else
+								elm.innerHTML = "&nbsp;";
+						}
+					}
+				}
+
+				// Check if it's a position key
+				var keys = tinyMCE.posKeyCodes;
+				var posKey = false;
+				for (var i=0; i<keys.length; i++) {
+					if (keys[i] == e.keyCode) {
+						posKey = true;
+						break;
+					}
+				}
+
+				// MSIE custom key handling
+				if (tinyMCE.isIE && tinyMCE.settings['custom_undo_redo']) {
+					var keys = new Array(8,46); // Backspace,Delete
+
+					for (var i=0; i<keys.length; i++) {
+						if (keys[i] == e.keyCode) {
+							if (e.type == "keyup")
+								tinyMCE.triggerNodeChange(false);
+						}
+					}
+				}
+
+				// If Ctrl key
+				if (e.keyCode == 17)
+					return true;
+
+				// Handle Undo/Redo when typing content
+
+				if (tinyMCE.isGecko) {
+					// Start typing (not a position key or ctrl key, but ctrl+x and ctrl+p is ok)
+					if (!posKey && e.type == "keyup" && !e.ctrlKey || (e.ctrlKey && (e.keyCode == 86 || e.keyCode == 88)))
+						tinyMCE.execCommand("mceStartTyping");
+				} else {
+					// IE seems to be working better with this setting
+					if (!posKey && e.type == "keyup")
+						tinyMCE.execCommand("mceStartTyping");
+				}
+
+				// Store undo bookmark
+				if (e.type == "keydown" && (posKey || e.ctrlKey) && inst)
+					inst.undoBookmark = inst.selection.getBookmark();
+
+				// End typing (position key) or some Ctrl event
+				if (e.type == "keyup" && (posKey || e.ctrlKey))
+					tinyMCE.execCommand("mceEndTyping");
+
+				if (posKey && e.type == "keyup")
+					tinyMCE.triggerNodeChange(false);
+
+				if (tinyMCE.isIE && e.ctrlKey)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+			break;
+
+			case "mousedown":
+			case "mouseup":
+			case "click":
+			case "dblclick":
+			case "focus":
+				tinyMCE.hideMenus();
+
+				if (tinyMCE.selectedInstance) {
+					tinyMCE.selectedInstance.switchSettings();
+					tinyMCE.selectedInstance.isFocused = true;
+				}
+
+				// Check instance event trigged on
+				var targetBody = tinyMCE.getParentElement(e.target, "html");
+				for (var instanceName in tinyMCE.instances) {
+					if (!tinyMCE.isInstance(tinyMCE.instances[instanceName]))
+						continue;
+
+					var inst = tinyMCE.instances[instanceName];
+
+					// Reset design mode if lost (on everything just in case)
+					inst.autoResetDesignMode();
+
+					// Use HTML element since users might click outside of body element
+					if (inst.getBody().parentNode == targetBody) {
+						inst.select();
+						tinyMCE.selectedElement = e.target;
+						tinyMCE.linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a");
+						tinyMCE.imgElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "img");
+						break;
+					}
+				}
+
+				// Add first bookmark location
+				if (!tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark && (e.type == "mouseup" || e.type == "dblclick"))
+					tinyMCE.selectedInstance.undoRedo.undoLevels[0].bookmark = tinyMCE.selectedInstance.selection.getBookmark();
+
+				// Reset selected node
+				if (e.type != "focus")
+					tinyMCE.selectedNode = null;
+
+				tinyMCE.triggerNodeChange(false);
+				tinyMCE.execCommand("mceEndTyping");
+
+				if (e.type == "mouseup")
+					tinyMCE.execCommand("mceAddUndoLevel");
+
+				// Just in case
+				if (!tinyMCE.selectedInstance && e.target.editorId)
+					tinyMCE.instances[e.target.editorId].select();
+
+				return false;
+			break;
+		}
+	},
+
+	getButtonHTML : function(id, lang, img, cmd, ui, val) {
+		var h = '', m, x, io = '';
+
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Patch for IE7 bug with hover out not restoring correctly
+		if (tinyMCE.isRealIE)
+			io = 'onmouseover="tinyMCE.lastHover = this;"';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = this.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			// Tiled button
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceTiledButton mceButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="background-position: ' + x + 'px 0" title="{$' + lang + '}" />';
+			h += '</a>';
+		} else {
+			// Normal button
+			h += '<a id="{$editor_id}_' + id + '" href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" ' + io + ' class="mceButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" />';
+			h += '</a>';
+		}
+
+		return h;
+	},
+
+	getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) {
+		var h = '', m, x;
+
+		mcmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + '\');';
+		cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\'';
+
+		if (typeof(ui) != "undefined" && ui != null)
+			cmd += ',' + ui;
+
+		if (typeof(val) != "undefined" && val != null)
+			cmd += ",'" + val + "'";
+
+		cmd += ');';
+
+		// Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled
+		if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) {
+			x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20);
+
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceTiledButton mceMenuButtonNormal" target="_self">';
+			h += '<img src="{$themeurl}/images/spacer.gif" style="width: 20px; height: 20px; background-position: ' + x + 'px 0" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		} else {
+			if (tinyMCE.isRealIE)
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton" onmouseover="tinyMCE._menuButtonEvent(\'over\',this);tinyMCE.lastHover = this;" onmouseout="tinyMCE._menuButtonEvent(\'out\',this);">';
+			else
+				h += '<span id="{$editor_id}_' + id + '" dir="ltr" class="mceMenuButton">';
+
+			h += '<a href="javascript:' + cmd + '" onclick="' + cmd + 'return false;" onmousedown="return false;" class="mceMenuButtonNormal" target="_self">';
+			h += '<img src="' + img + '" title="{$' + lang + '}" /></a>';
+			h += '<a href="javascript:' + mcmd + '" onclick="' + mcmd + 'return false;" onmousedown="return false;"><img src="{$themeurl}/images/button_menu.gif" title="{$' + lang + '}" class="mceMenuButton" />';
+			h += '</a></span>';
+		}
+
+		return h;
+	},
+
+	_menuButtonEvent : function(e, o) {
+		if (o.className == 'mceMenuButtonFocus')
+			return;
+
+		if (e == 'over')
+			o.className = o.className + ' mceMenuHover';
+		else
+			o.className = o.className.replace(/\s.*$/, '');
+	},
+
+	addButtonMap : function(m) {
+		var i, a = m.replace(/\s+/, '').split(',');
+
+		for (i=0; i<a.length; i++)
+			this.buttonMap[a[i]] = i;
+	},
+
+	submitPatch : function() {
+		tinyMCE.removeTinyMCEFormElements(this);
+		tinyMCE.triggerSave();
+		tinyMCE.isNotDirty = true;
+		this.mceOldSubmit();
+	},
+
+	onLoad : function() {
+		var r;
+
+		// Wait for everything to be loaded first
+		if (tinyMCE.settings.strict_loading_mode && this.loadingIndex != -1) {
+			window.setTimeout('tinyMCE.onLoad();', 1);
+			return;
+		}
+
+		if (tinyMCE.isRealIE && window.event.type == "readystatechange" && document.readyState != "complete")
+			return true;
+
+		if (tinyMCE.isLoaded)
+			return true;
+
+		tinyMCE.isLoaded = true;
+
+		// IE produces JS error if TinyMCE is placed in a frame
+		// It seems to have something to do with the selection not beeing
+		// correctly initialized in IE so this hack solves the problem
+		if (tinyMCE.isRealIE && document.body) {
+			r = document.body.createTextRange();
+			r.collapse(true);
+			r.select();
+		}
+
+		tinyMCE.dispatchCallback(null, 'onpageload', 'onPageLoad');
+
+		for (var c=0; c<tinyMCE.configs.length; c++) {
+			tinyMCE.settings = tinyMCE.configs[c];
+
+			var selector = tinyMCE.getParam("editor_selector");
+			var deselector = tinyMCE.getParam("editor_deselector");
+			var elementRefAr = new Array();
+
+			// Add submit triggers
+			if (document.forms && tinyMCE.settings['add_form_submit_trigger'] && !tinyMCE.submitTriggers) {
+				for (var i=0; i<document.forms.length; i++) {
+					var form = document.forms[i];
+
+					tinyMCE.addEvent(form, "submit", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.addEvent(form, "reset", TinyMCE_Engine.prototype.handleEvent);
+					tinyMCE.submitTriggers = true; // Do it only once
+
+					// Patch the form.submit function
+					if (tinyMCE.settings['submit_patch']) {
+						try {
+							form.mceOldSubmit = form.submit;
+							form.submit = TinyMCE_Engine.prototype.submitPatch;
+						} catch (e) {
+							// Do nothing
+						}
+					}
+				}
+			}
+
+			// Add editor instances based on mode
+			var mode = tinyMCE.settings['mode'];
+			switch (mode) {
+				case "exact":
+					var elements = tinyMCE.getParam('elements', '', true, ',');
+
+					for (var i=0; i<elements.length; i++) {
+						var element = tinyMCE._getElementById(elements[i]);
+						var trigger = element ? element.getAttribute(tinyMCE.settings['textarea_trigger']) : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(element, "class")))
+							continue;
+
+						if (trigger == "false")
+							continue;
+
+						if ((tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) && element) {
+							elementRefAr[elementRefAr.length] = element;
+							continue;
+						}
+
+						if (element)
+							tinyMCE.addMCEControl(element, elements[i]);
+						else if (tinyMCE.settings['debug'])
+							alert("Error: Could not find element by id or name: " + elements[i]);
+					}
+				break;
+
+				case "specific_textareas":
+				case "textareas":
+					var nodeList = document.getElementsByTagName("textarea");
+
+					for (var i=0; i<nodeList.length; i++) {
+						var elm = nodeList.item(i);
+						var trigger = elm.getAttribute(tinyMCE.settings['textarea_trigger']);
+
+						if (selector != '' && !new RegExp('\\b' + selector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if (selector != '')
+							trigger = selector != "" ? "true" : "";
+
+						if (new RegExp('\\b' + deselector + '\\b').test(tinyMCE.getAttrib(elm, "class")))
+							continue;
+
+						if ((mode == "specific_textareas" && trigger == "true") || (mode == "textareas" && trigger != "false"))
+							elementRefAr[elementRefAr.length] = elm;
+					}
+				break;
+			}
+
+			for (var i=0; i<elementRefAr.length; i++) {
+				var element = elementRefAr[i];
+				var elementId = element.name ? element.name : element.id;
+
+				if (tinyMCE.settings['ask'] || tinyMCE.settings['convert_on_click']) {
+					// Focus breaks in Mozilla
+					if (tinyMCE.isGecko) {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+
+						if (element.nodeName != "TEXTAREA" && element.nodeName != "INPUT")
+							tinyMCE.addEvent(element, "click", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+						// tinyMCE.addEvent(element, "mouseover", function (e) {window.setTimeout(function() {TinyMCE_Engine.prototype.confirmAdd(e, settings);}, 10);});
+					} else {
+						var settings = tinyMCE.settings;
+
+						tinyMCE.addEvent(element, "focus", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						tinyMCE.addEvent(element, "click", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+						// tinyMCE.addEvent(element, "mouseenter", function () { TinyMCE_Engine.prototype.confirmAdd(null, settings); });
+					}
+				} else
+					tinyMCE.addMCEControl(element, elementId);
+			}
+
+			// Handle auto focus
+			if (tinyMCE.settings['auto_focus']) {
+				window.setTimeout(function () {
+					var inst = tinyMCE.getInstanceById(tinyMCE.settings['auto_focus']);
+					inst.selection.selectNode(inst.getBody(), true, true);
+					inst.contentWindow.focus();
+				}, 100);
+			}
+
+			tinyMCE.dispatchCallback(null, 'oninit', 'onInit');
+		}
+	},
+
+	isInstance : function(o) {
+		return o != null && typeof(o) == "object" && o.isTinyMCE_Control;
+	},
+
+	getParam : function(name, default_value, strip_whitespace, split_chr) {
+		var value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+		// Fix bool values
+		if (value == "true" || value == "false")
+			return (value == "true");
+
+		if (strip_whitespace)
+			value = tinyMCE.regexpReplace(value, "[ \t\r\n]", "");
+
+		if (typeof(split_chr) != "undefined" && split_chr != null) {
+			value = value.split(split_chr);
+			var outArray = new Array();
+
+			for (var i=0; i<value.length; i++) {
+				if (value[i] && value[i] != "")
+					outArray[outArray.length] = value[i];
+			}
+
+			value = outArray;
+		}
+
+		return value;
+	},
+
+	getLang : function(name, default_value, parse_entities, va) {
+		var v = (typeof(tinyMCELang[name]) == "undefined") ? default_value : tinyMCELang[name], n;
+
+		if (parse_entities)
+			v = tinyMCE.entityDecode(v);
+
+		if (va) {
+			for (n in va)
+				v = this.replaceVar(v, n, va[n]);
+		}
+
+		return v;
+	},
+
+	entityDecode : function(s) {
+		var e = document.createElement("div");
+
+		e.innerHTML = s;
+
+		return e.firstChild.nodeValue;
+	},
+
+	addToLang : function(prefix, ar) {
+		for (var key in ar) {
+			if (typeof(ar[key]) == 'function')
+				continue;
+
+			tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = ar[key];
+		}
+
+		this.loadNextScript();
+
+	//	for (var key in ar)
+	//		tinyMCELang[(key.indexOf('lang_') == -1 ? 'lang_' : '') + (prefix != '' ? (prefix + "_") : '') + key] = "|" + ar[key] + "|";
+	},
+
+	triggerNodeChange : function(focus, setup_content) {
+		var elm, inst, editorId, undoIndex = -1, undoLevels = -1, doc, anySelection = false, st;
+
+		if (tinyMCE.selectedInstance) {
+			inst = tinyMCE.selectedInstance;
+			elm = (typeof(setup_content) != "undefined" && setup_content) ? tinyMCE.selectedElement : inst.getFocusElement();
+
+/*			if (elm == inst.lastTriggerEl)
+				return;
+
+			inst.lastTriggerEl = elm;*/
+
+			editorId = inst.editorId;
+			st = inst.selection.getSelectedText();
+
+			if (tinyMCE.settings.auto_resize)
+				inst.resizeToContent();
+
+			if (setup_content && tinyMCE.isGecko && inst.isHidden())
+				elm = inst.getBody();
+
+			inst.switchSettings();
+
+			if (tinyMCE.selectedElement)
+				anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (st && st.length > 0);
+
+			if (tinyMCE.settings['custom_undo_redo']) {
+				undoIndex = inst.undoRedo.undoIndex;
+				undoLevels = inst.undoRedo.undoLevels.length;
+			}
+
+			tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content);
+		}
+
+		if (this.selectedInstance && (typeof(focus) == "undefined" || focus))
+			this.selectedInstance.contentWindow.focus();
+	},
+
+	_customCleanup : function(inst, type, content) {
+		var pl, po, i;
+
+		// Call custom cleanup
+		var customCleanup = tinyMCE.settings['cleanup_callback'];
+		if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined")
+			content = eval(customCleanup + "(type, content, inst);");
+
+		// Trigger theme cleanup
+		po = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (po && po.cleanup)
+			content = po.cleanup(type, content, inst);
+
+		// Trigger plugin cleanups
+		pl = inst.plugins;
+		for (i=0; i<pl.length; i++) {
+			po = tinyMCE.plugins[pl[i]];
+
+			if (po && po.cleanup)
+				content = po.cleanup(type, content, inst);
+		}
+
+		return content;
+	},
+
+	setContent : function(h) {
+		if (tinyMCE.selectedInstance) {
+			tinyMCE.selectedInstance.execCommand('mceSetContent', false, h);
+			tinyMCE.selectedInstance.repaint();
+		}
+	},
+
+	importThemeLanguagePack : function(name) {
+		if (typeof(name) == "undefined")
+			name = tinyMCE.settings['theme'];
+
+		tinyMCE.loadScript(tinyMCE.baseURL + '/themes/' + name + '/langs/' + tinyMCE.settings['language'] + '.js');
+	},
+
+	importPluginLanguagePack : function(name) {
+		var b = tinyMCE.baseURL + '/plugins/' + name;
+
+		if (this.plugins[name])
+			b = this.plugins[name].baseURL;
+
+		tinyMCE.loadScript(b + '/langs/' + tinyMCE.settings['language'] +  '.js');
+	},
+
+	applyTemplate : function(h, as) {
+		return h.replace(new RegExp('\\{\\$([a-z0-9_]+)\\}', 'gi'), function(m, s) {
+			if (s.indexOf('lang_') == 0 && tinyMCELang[s])
+				return tinyMCELang[s];
+
+			if (as && as[s])
+				return as[s];
+
+			if (tinyMCE.settings[s])
+				return tinyMCE.settings[s];
+
+			if (m == 'themeurl')
+				return tinyMCE.themeURL;
+
+			return m;
+		});
+	},
+
+	replaceVar : function(h, r, v) {
+		return h.replace(new RegExp('{\\\$' + r + '}', 'g'), v);
+	},
+
+	openWindow : function(template, args) {
+		var html, width, height, x, y, resizable, scrollbars, url;
+
+		args = !args ? {} : args;
+
+		args['mce_template_file'] = template['file'];
+		args['mce_width'] = template['width'];
+		args['mce_height'] = template['height'];
+		tinyMCE.windowArgs = args;
+
+		html = template['html'];
+		if (!(width = parseInt(template['width'])))
+			width = 320;
+
+		if (!(height = parseInt(template['height'])))
+			height = 200;
+
+		// Add to height in M$ due to SP2 WHY DON'T YOU GUYS IMPLEMENT innerWidth of windows!!
+		if (tinyMCE.isIE)
+			height += 40;
+		else
+			height += 20;
+
+		x = parseInt(screen.width / 2.0) - (width / 2.0);
+		y = parseInt(screen.height / 2.0) - (height / 2.0);
+
+		resizable = (args && args['resizable']) ? args['resizable'] : "no";
+		scrollbars = (args && args['scrollbars']) ? args['scrollbars'] : "no";
+
+		if (template['file'].charAt(0) != '/' && template['file'].indexOf('://') == -1)
+			url = tinyMCE.baseURL + "/themes/" + tinyMCE.getParam("theme") + "/" + template['file'];
+		else
+			url = template['file'];
+
+		// Replace all args as variables in URL
+		for (var name in args) {
+			if (typeof(args[name]) == 'function')
+				continue;
+
+			url = tinyMCE.replaceVar(url, name, escape(args[name]));
+		}
+
+		if (html) {
+			html = tinyMCE.replaceVar(html, "css", this.settings['popups_css']);
+			html = tinyMCE.applyTemplate(html, args);
+
+			var win = window.open("", "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=yes,minimizable=" + resizable + ",modal=yes,width=" + width + ",height=" + height + ",resizable=" + resizable);
+			if (win == null) {
+				alert(tinyMCELang['lang_popup_blocked']);
+				return;
+			}
+
+			win.document.write(html);
+			win.document.close();
+			win.resizeTo(width, height);
+			win.focus();
+		} else {
+			if ((tinyMCE.isRealIE) && resizable != 'yes' && tinyMCE.settings["dialog_type"] == "modal") {
+				height += 10;
+
+				var features = "resizable:" + resizable 
+					+ ";scroll:"
+					+ scrollbars + ";status:yes;center:yes;help:no;dialogWidth:"
+					+ width + "px;dialogHeight:" + height + "px;";
+
+				window.showModalDialog(url, window, features);
+			} else {
+				var modal = (resizable == "yes") ? "no" : "yes";
+
+				if (tinyMCE.isGecko && tinyMCE.isMac)
+					modal = "no";
+
+				if (template['close_previous'] != "no")
+					try {tinyMCE.lastWindow.close();} catch (ex) {}
+
+				var win = window.open(url, "mcePopup" + new Date().getTime(), "top=" + y + ",left=" + x + ",scrollbars=" + scrollbars + ",dialog=" + modal + ",minimizable=" + resizable + ",modal=" + modal + ",width=" + width + ",height=" + height + ",resizable=" + resizable);
+				if (win == null) {
+					alert(tinyMCELang['lang_popup_blocked']);
+					return;
+				}
+
+				if (template['close_previous'] != "no")
+					tinyMCE.lastWindow = win;
+
+				eval('try { win.resizeTo(width, height); } catch(e) { }');
+
+				// Make it bigger if statusbar is forced
+				if (tinyMCE.isGecko) {
+					if (win.document.defaultView.statusbar.visible)
+						win.resizeBy(0, tinyMCE.isMac ? 10 : 24);
+				}
+
+				win.focus();
+			}
+		}
+	},
+
+	closeWindow : function(win) {
+		win.close();
+	},
+
+	getVisualAidClass : function(class_name, state) {
+		var aidClass = tinyMCE.settings['visual_table_class'];
+
+		if (typeof(state) == "undefined")
+			state = tinyMCE.settings['visual'];
+
+		// Split
+		var classNames = new Array();
+		var ar = class_name.split(' ');
+		for (var i=0; i<ar.length; i++) {
+			if (ar[i] == aidClass)
+				ar[i] = "";
+
+			if (ar[i] != "")
+				classNames[classNames.length] = ar[i];
+		}
+
+		if (state)
+			classNames[classNames.length] = aidClass;
+
+		// Glue
+		var className = "";
+		for (var i=0; i<classNames.length; i++) {
+			if (i > 0)
+				className += " ";
+
+			className += classNames[i];
+		}
+
+		return className;
+	},
+
+	handleVisualAid : function(el, deep, state, inst, skip_dispatch) {
+		if (!el)
+			return;
+
+		if (!skip_dispatch)
+			tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst);
+
+		var tableElement = null;
+
+		switch (el.nodeName) {
+			case "TABLE":
+				var oldW = el.style.width;
+				var oldH = el.style.height;
+				var bo = tinyMCE.getAttrib(el, "border");
+
+				bo = bo == "" || bo == "0" ? true : false;
+
+				tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo));
+
+				el.style.width = oldW;
+				el.style.height = oldH;
+
+				for (var y=0; y<el.rows.length; y++) {
+					for (var x=0; x<el.rows[y].cells.length; x++) {
+						var cn = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el.rows[y].cells[x], "class"), state && bo);
+						tinyMCE.setAttrib(el.rows[y].cells[x], "class", cn);
+					}
+				}
+
+				break;
+
+			case "A":
+				var anchorName = tinyMCE.getAttrib(el, "name");
+
+				if (anchorName != '' && state) {
+					el.title = anchorName;
+					tinyMCE.addCSSClass(el, 'mceItemAnchor');
+				} else if (anchorName != '' && !state)
+					el.className = '';
+
+				break;
+		}
+
+		if (deep && el.hasChildNodes()) {
+			for (var i=0; i<el.childNodes.length; i++)
+				tinyMCE.handleVisualAid(el.childNodes[i], deep, state, inst, true);
+		}
+	},
+
+	/*
+	applyClassesToFonts : function(doc, size) {
+		var f = doc.getElementsByTagName("font");
+		for (var i=0; i<f.length; i++) {
+			var s = tinyMCE.getAttrib(f[i], "size");
+
+			if (s != "")
+				tinyMCE.setAttrib(f[i], 'class', "mceItemFont" + s);
+		}
+
+		if (typeof(size) != "undefined") {
+			var css = "";
+
+			for (var x=0; x<doc.styleSheets.length; x++) {
+				for (var i=0; i<doc.styleSheets[x].rules.length; i++) {
+					if (doc.styleSheets[x].rules[i].selectorText == '#mceSpanFonts .mceItemFont' + size) {
+						css = doc.styleSheets[x].rules[i].style.cssText;
+						break;
+					}
+				}
+
+				if (css != "")
+					break;
+			}
+
+			if (doc.styleSheets[0].rules[0].selectorText == "FONT")
+				doc.styleSheets[0].removeRule(0);
+
+			doc.styleSheets[0].addRule("FONT", css, 0);
+		}
+	},
+	*/
+
+	fixGeckoBaseHREFBug : function(m, e, h) {
+		var xsrc, xhref;
+
+		if (tinyMCE.isGecko) {
+			if (m == 1) {
+				h = h.replace(/\ssrc=/gi, " mce_tsrc=");
+				h = h.replace(/\shref=/gi, " mce_thref=");
+
+				return h;
+			} else {
+				// Why bother if there is no src or href broken
+				if (!new RegExp('(src|href)=', 'g').test(h))
+					return h;
+
+				// Restore src and href that gets messed up by Gecko
+				tinyMCE.selectElements(e, 'A,IMG,SELECT,AREA,IFRAME,BASE,INPUT,SCRIPT,EMBED,OBJECT,LINK', function (n) {
+					xsrc = tinyMCE.getAttrib(n, "mce_tsrc");
+					xhref = tinyMCE.getAttrib(n, "mce_thref");
+
+					if (xsrc != "") {
+						try {
+							n.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xsrc);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_tsrc");
+					}
+
+					if (xhref != "") {
+						try {
+							n.href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], xhref);
+						} catch (e) {
+							// Ignore, Firefox cast exception if local file wasn't found
+						}
+
+						n.removeAttribute("mce_thref");
+					}
+
+					return false;
+				});
+
+				// Restore text/comment nodes
+				tinyMCE.selectNodes(e, function(n) {
+					if (n.nodeType == 3 || n.nodeType == 8) {
+						n.nodeValue = n.nodeValue.replace(/\smce_tsrc=/gi, " src=");
+						n.nodeValue = n.nodeValue.replace(/\smce_thref=/gi, " href=");
+					}
+
+					return false;
+				});
+			}
+		}
+
+		return h;
+	},
+
+	_setHTML : function(doc, html_content) {
+		// Force closed anchors open
+		//html_content = html_content.replace(new RegExp('<a(.*?)/>', 'gi'), '<a$1></a>');
+
+		html_content = tinyMCE.cleanupHTMLCode(html_content);
+
+		// Try innerHTML if it fails use pasteHTML in MSIE
+		try {
+			tinyMCE.setInnerHTML(doc.body, html_content);
+		} catch (e) {
+			if (this.isMSIE)
+				doc.body.createTextRange().pasteHTML(html_content);
+		}
+
+		// Content duplication bug fix
+		if (tinyMCE.isIE && tinyMCE.settings['fix_content_duplication']) {
+			// Remove P elements in P elements
+			var paras = doc.getElementsByTagName("P");
+			for (var i=0; i<paras.length; i++) {
+				var node = paras[i];
+				while ((node = node.parentNode) != null) {
+					if (node.nodeName == "P")
+						node.outerHTML = node.innerHTML;
+				}
+			}
+
+			// Content duplication bug fix (Seems to be word crap)
+			var html = doc.body.innerHTML;
+/*
+			if (html.indexOf('="mso') != -1) {
+				for (var i=0; i<doc.body.all.length; i++) {
+					var el = doc.body.all[i];
+					el.removeAttribute("className","",0);
+					el.removeAttribute("style","",0);
+				}
+
+				html = doc.body.innerHTML;
+				html = tinyMCE.regexpReplace(html, "<o:p><\/o:p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<o:p>&nbsp;<\/o:p>", "");
+				html = tinyMCE.regexpReplace(html, "<st1:.*?>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p><\/p>\r\n<p><\/p>", "");
+				html = tinyMCE.regexpReplace(html, "<p>&nbsp;<\/p>", "<br />");
+				html = tinyMCE.regexpReplace(html, "<p>\s*(<p>\s*)?", "<p>");
+				html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "</p>");
+			}*/
+
+			// Always set the htmlText output
+			tinyMCE.setInnerHTML(doc.body, html);
+		}
+
+		tinyMCE.cleanupAnchors(doc);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(doc);
+	},
+
+	getEditorId : function(form_element) {
+		var inst = this.getInstanceById(form_element);
+		if (!inst)
+			return null;
+
+		return inst.editorId;
+	},
+
+	getInstanceById : function(editor_id) {
+		var inst = this.instances[editor_id];
+		if (!inst) {
+			for (var n in tinyMCE.instances) {
+				var instance = tinyMCE.instances[n];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				if (instance.formTargetElementId == editor_id) {
+					inst = instance;
+					break;
+				}
+			}
+		}
+
+		return inst;
+	},
+
+	queryInstanceCommandValue : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandValue(command);
+
+		return false;
+	},
+
+	queryInstanceCommandState : function(editor_id, command) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+		if (inst)
+			return inst.queryCommandState(command);
+
+		return null;
+	},
+
+	setWindowArg : function(n, v) {
+		this.windowArgs[n] = v;
+	},
+
+	getWindowArg : function(n, d) {
+		return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n];
+	},
+
+	getCSSClasses : function(editor_id, doc) {
+		var inst = tinyMCE.getInstanceById(editor_id);
+
+		// Is cached, use that
+		if (inst && inst.cssClasses.length > 0)
+			return inst.cssClasses;
+
+		if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") {
+			var instance;
+
+			for (var instanceName in tinyMCE.instances) {
+				instance = tinyMCE.instances[instanceName];
+				if (!tinyMCE.isInstance(instance))
+					continue;
+
+				break;
+			}
+
+			doc = instance.getDoc();
+		}
+
+		if (typeof(doc) == "undefined") {
+			var instance = tinyMCE.getInstanceById(editor_id);
+			doc = instance.getDoc();
+		}
+
+		if (doc) {
+			var styles = doc.styleSheets;
+
+			if (styles && styles.length > 0) {
+				for (var x=0; x<styles.length; x++) {
+					var csses = null;
+
+					// Just ignore any errors
+					eval("try {var csses = tinyMCE.isIE ? doc.styleSheets(" + x + ").rules : styles[" + x + "].cssRules;} catch(e) {}");
+					if (!csses)
+						return new Array();
+
+					for (var i=0; i<csses.length; i++) {
+						var selectorText = csses[i].selectorText;
+
+						// Can be multiple rules per selector
+						if (selectorText) {
+							var rules = selectorText.split(',');
+							for (var c=0; c<rules.length; c++) {
+								var rule = rules[c];
+
+								// Strip spaces between selectors
+								while (rule.indexOf(' ') == 0)
+									rule = rule.substring(1);
+
+								// Invalid rule
+								if (rule.indexOf(' ') != -1 || rule.indexOf(':') != -1 || rule.indexOf('mceItem') != -1)
+									continue;
+
+								if (rule.indexOf(tinyMCE.settings['visual_table_class']) != -1 || rule.indexOf('mceEditable') != -1 || rule.indexOf('mceNonEditable') != -1)
+									continue;
+
+								// Is class rule
+								if (rule.indexOf('.') != -1) {
+									var cssClass = rule.substring(rule.indexOf('.') + 1);
+									var addClass = true;
+
+									for (var p=0; p<inst.cssClasses.length && addClass; p++) {
+										if (inst.cssClasses[p] == cssClass)
+											addClass = false;
+									}
+
+									if (addClass)
+										inst.cssClasses[inst.cssClasses.length] = cssClass;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+
+		return inst.cssClasses;
+	},
+
+	regexpReplace : function(in_str, reg_exp, replace_str, opts) {
+		if (in_str == null)
+			return in_str;
+
+		if (typeof(opts) == "undefined")
+			opts = 'g';
+
+		var re = new RegExp(reg_exp, opts);
+		return in_str.replace(re, replace_str);
+	},
+
+	trim : function(s) {
+		return s.replace(/^\s*|\s*$/g, "");
+	},
+
+	cleanupEventStr : function(s) {
+		s = "" + s;
+		s = s.replace('function anonymous()\n{\n', '');
+		s = s.replace('\n}', '');
+		s = s.replace(/^return true;/gi, ''); // Remove event blocker
+
+		return s;
+	},
+
+	getControlHTML : function(c) {
+		var i, l, n, o, v, rtl = tinyMCE.getLang('lang_dir') == 'rtl';
+
+		l = tinyMCE.plugins;
+		for (n in l) {
+			o = l[n];
+
+			if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+				if (rtl)
+					return '<span dir="rtl">' + tinyMCE.replaceVar(v, "pluginurl", o.baseURL) + '</span>';
+
+				return tinyMCE.replaceVar(v, "pluginurl", o.baseURL);
+			}
+		}
+
+		o = tinyMCE.themes[tinyMCE.settings['theme']];
+		if (o.getControlHTML && (v = o.getControlHTML(c)) != '') {
+			if (rtl)
+				return '<span dir="rtl">' + v + '</span>';
+
+			return v;
+		}
+
+		return '';
+	},
+
+	evalFunc : function(f, idx, a, o) {
+		o = !o ? window : o;
+		f = typeof(f) == 'function' ? f : o[f];
+
+		return f.apply(o, Array.prototype.slice.call(a, idx));
+	},
+
+	dispatchCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments);
+	},
+
+	executeCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 1, this.executeCallback.arguments);
+	},
+
+	execCommandCallback : function(i, p, n) {
+		return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments);
+	},
+
+	callFunc : function(ins, p, n, m, a) {
+		var l, i, on, o, s, v;
+
+		s = m == 2;
+
+		l = tinyMCE.getParam(p, '');
+
+		if (l != '' && (v = tinyMCE.evalFunc(l, 3, a)) == s && m > 0)
+			return true;
+
+		if (ins != null) {
+			for (i=0, l = ins.plugins; i<l.length; i++) {
+				o = tinyMCE.plugins[l[i]];
+
+				if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+					return true;
+			}
+		}
+
+		l = tinyMCE.themes;
+		for (on in l) {
+			o = l[on];
+
+			if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0)
+				return true;
+		}
+
+		return false;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		return s ? ('' + s).replace(!skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe, function (c, b) {
+			switch (c) {
+				case '&':
+					return '&amp;';
+
+				case '"':
+					return '&quot;';
+
+				case '\'':
+					return '&#39;'; // &apos; is not working in MSIE
+
+				case '<':
+					return '&lt;';
+
+				case '>':
+					return '&gt;';
+			}
+
+			return c;
+		}) : s;
+	},
+
+	extend : function(p, np) {
+		var o = {};
+
+		o.parent = p;
+
+		for (n in p)
+			o[n] = p[n];
+
+		for (n in np)
+			o[n] = np[n];
+
+		return o;
+	},
+
+	hideMenus : function() {
+		var e = tinyMCE.lastSelectedMenuBtn;
+
+		if (tinyMCE.lastMenu) {
+			tinyMCE.lastMenu.hide();
+			tinyMCE.lastMenu = null;
+		}
+
+		if (e) {
+			tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass);
+			tinyMCE.lastSelectedMenuBtn = null;
+		}
+	}
+
+	};
+
+// Global instances
+var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors
+var tinyMCE = new TinyMCE_Engine();
+var tinyMCELang = {};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */
+
+function TinyMCE_Control(settings) {
+	var t, i, to, fu, p, x, fn, fu, pn, s = settings;
+
+	this.undoRedoLevel = true;
+	this.isTinyMCE_Control = true;
+
+	// Default settings
+	this.settings = s;
+	this.settings['theme'] = tinyMCE.getParam("theme", "default");
+	this.settings['width'] = tinyMCE.getParam("width", -1);
+	this.settings['height'] = tinyMCE.getParam("height", -1);
+	this.selection = new TinyMCE_Selection(this);
+	this.undoRedo = new TinyMCE_UndoRedo(this);
+	this.cleanup = new TinyMCE_Cleanup();
+	this.shortcuts = new Array();
+	this.hasMouseMoved = false;
+	this.foreColor = this.backColor = "#999999";
+	this.data = {};
+	this.cssClasses = [];
+
+	this.cleanup.init({
+		valid_elements : s.valid_elements,
+		extended_valid_elements : s.extended_valid_elements,
+		valid_child_elements : s.valid_child_elements,
+		entities : s.entities,
+		entity_encoding : s.entity_encoding,
+		debug : s.cleanup_debug,
+		indent : s.apply_source_formatting,
+		invalid_elements : s.invalid_elements,
+		verify_html : s.verify_html,
+		fix_content_duplication : s.fix_content_duplication,
+		convert_fonts_to_spans : s.convert_fonts_to_spans
+	});
+
+	// Wrap old theme
+	t = this.settings['theme'];
+	if (!tinyMCE.hasTheme(t)) {
+		fn = tinyMCE.callbacks;
+		to = {};
+
+		for (i=0; i<fn.length; i++) {
+			if ((fu = window['TinyMCE_' + t + "_" + fn[i]]))
+				to[fn[i]] = fu;
+		}
+
+		tinyMCE.addTheme(t, to);
+	}
+
+	// Wrap old plugins
+	this.plugins = new Array();
+	p = tinyMCE.getParam('plugins', '', true, ',');
+	if (p.length > 0) {
+		for (i=0; i<p.length; i++) {
+			pn = p[i];
+
+			if (pn.charAt(0) == '-')
+				pn = pn.substring(1);
+
+			if (!tinyMCE.hasPlugin(pn)) {
+				fn = tinyMCE.callbacks;
+				to = {};
+
+				for (x=0; x<fn.length; x++) {
+					if ((fu = window['TinyMCE_' + pn + "_" + fn[x]]))
+						to[fn[x]] = fu;
+				}
+
+				tinyMCE.addPlugin(pn, to);
+			}
+
+			this.plugins[this.plugins.length] = pn; 
+		}
+	}
+};
+
+TinyMCE_Control.prototype = {
+	selection : null,
+
+	settings : null,
+
+	cleanup : null,
+
+	getData : function(na) {
+		var o = this.data[na];
+
+		if (!o)
+			o = this.data[na] = {};
+
+		return o;
+	},
+
+	hasPlugin : function(n) {
+		var i;
+
+		for (i=0; i<this.plugins.length; i++) {
+			if (this.plugins[i] == n)
+				return true;
+		}
+
+		return false;
+	},
+
+	addPlugin : function(n, p) {
+		if (!this.hasPlugin(n)) {
+			tinyMCE.addPlugin(n, p);
+			this.plugins[this.plugins.length] = n;
+		}
+	},
+
+	repaint : function() {
+		var s, b, ex;
+
+		if (tinyMCE.isRealIE)
+			return;
+
+		try {
+			s = this.selection;
+			b = s.getBookmark(true);
+			this.getBody().style.display = 'none';
+			this.getDoc().execCommand('selectall', false, null);
+			this.getSel().collapseToStart();
+			this.getBody().style.display = 'block';
+			s.moveToBookmark(b);
+		} catch (ex) {
+			// Ignore
+		}
+	},
+
+	switchSettings : function() {
+		if (tinyMCE.configs.length > 1 && tinyMCE.currentConfig != this.settings['index']) {
+			tinyMCE.settings = this.settings;
+			tinyMCE.currentConfig = this.settings['index'];
+		}
+	},
+
+	select : function() {
+		var oldInst = tinyMCE.selectedInstance;
+
+		if (oldInst != this) {
+			if (oldInst)
+				oldInst.execCommand('mceEndTyping');
+
+			tinyMCE.dispatchCallback(this, 'select_instance_callback', 'selectInstance', this, oldInst);
+			tinyMCE.selectedInstance = this;
+		}
+	},
+
+	getBody : function() {
+		return this.contentBody ? this.contentBody : this.getDoc().body;
+	},
+
+	getDoc : function() {
+//		return this.contentDocument ? this.contentDocument : this.contentWindow.document; // Removed due to IE 5.5 ?
+		return this.contentWindow.document;
+	},
+
+	getWin : function() {
+		return this.contentWindow;
+	},
+
+	getContainerWin : function() {
+		return this.containerWindow ? this.containerWindow : window;
+	},
+
+	getViewPort : function() {
+		return tinyMCE.getViewPort(this.getWin());
+	},
+
+	getParentNode : function(n, f) {
+		return tinyMCE.getParentNode(n, f, this.getBody());
+	},
+
+	getParentElement : function(n, na, f) {
+		return tinyMCE.getParentElement(n, na, f, this.getBody());
+	},
+
+	getParentBlockElement : function(n) {
+		return tinyMCE.getParentBlockElement(n, this.getBody());
+	},
+
+	resizeToContent : function() {
+		var d = this.getDoc(), b = d.body, de = d.documentElement;
+
+		this.iframeElement.style.height = (tinyMCE.isRealIE) ? b.scrollHeight : de.offsetHeight + 'px';
+	},
+
+	addShortcut : function(m, k, d, cmd, ui, va) {
+		var n = typeof(k) == "number", ie = tinyMCE.isIE, c, sc, i, scl = this.shortcuts;
+
+		if (!tinyMCE.getParam('custom_shortcuts'))
+			return false;
+
+		m = m.toLowerCase();
+		k = ie && !n ? k.toUpperCase() : k;
+		c = n ? null : k.charCodeAt(0);
+		d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d;
+
+		sc = {
+			alt : m.indexOf('alt') != -1,
+			ctrl : m.indexOf('ctrl') != -1,
+			shift : m.indexOf('shift') != -1,
+			charCode : c,
+			keyCode : n ? k : (ie ? c : null),
+			desc : d,
+			cmd : cmd,
+			ui : ui,
+			val : va
+		};
+
+		for (i=0; i<scl.length; i++) {
+			if (sc.alt == scl[i].alt && sc.ctrl == scl[i].ctrl && sc.shift == scl[i].shift
+				&& sc.charCode == scl[i].charCode && sc.keyCode == scl[i].keyCode) {
+				return false;
+			}
+		}
+
+		scl[scl.length] = sc;
+
+		return true;
+	},
+
+	handleShortcut : function(e) {
+		var i, s, o;
+
+		// Normal key press, then ignore it
+		if (!e.altKey && !e.ctrlKey)
+			return false;
+
+		s = this.shortcuts;
+
+		for (i=0; i<s.length; i++) {
+			o = s[i];
+
+			if (o.alt == e.altKey && o.ctrl == e.ctrlKey && (o.keyCode == e.keyCode || o.charCode == e.charCode)) {
+				if (o.cmd && (e.type == "keydown" || (e.type == "keypress" && !tinyMCE.isOpera)))
+					tinyMCE.execCommand(o.cmd, o.ui, o.val);
+
+				tinyMCE.cancelEvent(e);
+				return true;
+			}
+		}
+
+		return false;
+	},
+
+	autoResetDesignMode : function() {
+		// Add fix for tab/style.display none/block problems in Gecko
+		if (!tinyMCE.isIE && this.isHidden() && tinyMCE.getParam('auto_reset_designmode'))
+			eval('try { this.getDoc().designMode = "On"; this.useCSS = false; } catch(e) {}');
+	},
+
+	isHidden : function() {
+		var s;
+
+		if (tinyMCE.isIE)
+			return false;
+
+		s = this.getSel();
+
+		// Weird, wheres that cursor selection?
+		return (!s || !s.rangeCount || s.rangeCount == 0);
+	},
+
+	isDirty : function() {
+		// Is content modified and not in a submit procedure
+		return tinyMCE.trim(this.startContent) != tinyMCE.trim(this.getBody().innerHTML) && !tinyMCE.isNotDirty;
+	},
+
+	_mergeElements : function(scmd, pa, ch, override) {
+		if (scmd == "removeformat") {
+			pa.className = "";
+			pa.style.cssText = "";
+			ch.className = "";
+			ch.style.cssText = "";
+			return;
+		}
+
+		var st = tinyMCE.parseStyle(tinyMCE.getAttrib(pa, "style"));
+		var stc = tinyMCE.parseStyle(tinyMCE.getAttrib(ch, "style"));
+		var className = tinyMCE.getAttrib(pa, "class");
+
+		// Removed class adding due to bug #1478272
+		className = tinyMCE.getAttrib(ch, "class");
+
+		if (override) {
+			for (var n in st) {
+				if (typeof(st[n]) == 'function')
+					continue;
+
+				stc[n] = st[n];
+			}
+		} else {
+			for (var n in stc) {
+				if (typeof(stc[n]) == 'function')
+					continue;
+
+				st[n] = stc[n];
+			}
+		}
+
+		tinyMCE.setAttrib(pa, "style", tinyMCE.serializeStyle(st));
+		tinyMCE.setAttrib(pa, "class", tinyMCE.trim(className));
+		ch.className = "";
+		ch.style.cssText = "";
+		ch.removeAttribute("class");
+		ch.removeAttribute("style");
+	},
+
+	_setUseCSS : function(b) {
+		var d = this.getDoc();
+
+		try {d.execCommand("useCSS", false, !b);} catch (ex) {}
+		try {d.execCommand("styleWithCSS", false, b);} catch (ex) {}
+
+		if (!tinyMCE.getParam("table_inline_editing"))
+			try {d.execCommand('enableInlineTableEditing', false, "false");} catch (ex) {}
+
+		if (!tinyMCE.getParam("object_resizing"))
+			try {d.execCommand('enableObjectResizing', false, "false");} catch (ex) {}
+	},
+
+	execCommand : function(command, user_interface, value) {
+		var doc = this.getDoc(), win = this.getWin(), focusElm = this.getFocusElement();
+
+		// Is not a undo specific command
+		if (!new RegExp('mceStartTyping|mceEndTyping|mceBeginUndoLevel|mceEndUndoLevel|mceAddUndoLevel', 'gi').test(command))
+			this.undoBookmark = null;
+
+		// Mozilla issue
+		if (!tinyMCE.isIE && !this.useCSS) {
+			this._setUseCSS(false);
+			this.useCSS = true;
+		}
+
+		//debug("command: " + command + ", user_interface: " + user_interface + ", value: " + value);
+		this.contentDocument = doc; // <-- Strange, unless this is applied Mozilla 1.3 breaks
+
+		// Don't dispatch key commands
+		if (!/mceStartTyping|mceEndTyping/.test(command)) {
+			if (tinyMCE.execCommandCallback(this, 'execcommand_callback', 'execCommand', this.editorId, this.getBody(), command, user_interface, value))
+				return;
+		}
+
+		// Fix align on images
+		if (focusElm && focusElm.nodeName == "IMG") {
+			var align = focusElm.getAttribute('align');
+			var img = command == "JustifyCenter" ? focusElm.cloneNode(false) : focusElm;
+
+			switch (command) {
+				case "JustifyLeft":
+					if (align == 'left')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'left');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyCenter":
+					img.removeAttribute('align');
+
+					// Is centered
+					var div = tinyMCE.getParentElement(focusElm, "div");
+					if (div && div.style.textAlign == "center") {
+						// Remove div
+						if (div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+							div.parentNode.replaceChild(img, div);
+					} else {
+						// Add div
+						var div = this.getDoc().createElement("div");
+						div.style.textAlign = 'center';
+						div.appendChild(img);
+						focusElm.parentNode.replaceChild(div, focusElm);
+					}
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+
+				case "JustifyRight":
+					if (align == 'right')
+						img.removeAttribute('align');
+					else
+						img.setAttribute('align', 'right');
+
+					// Remove the div
+					var div = focusElm.parentNode;
+					if (div && div.nodeName == "DIV" && div.childNodes.length == 1 && div.parentNode)
+						div.parentNode.replaceChild(img, div);
+
+					this.selection.selectNode(img);
+					this.repaint();
+					tinyMCE.triggerNodeChange();
+					return;
+			}
+		}
+
+		if (tinyMCE.settings['force_br_newlines']) {
+			var alignValue = "";
+
+			if (doc.selection.type != "Control") {
+				switch (command) {
+						case "JustifyLeft":
+							alignValue = "left";
+							break;
+
+						case "JustifyCenter":
+							alignValue = "center";
+							break;
+
+						case "JustifyFull":
+							alignValue = "justify";
+							break;
+
+						case "JustifyRight":
+							alignValue = "right";
+							break;
+				}
+
+				if (alignValue != "") {
+					var rng = doc.selection.createRange();
+
+					if ((divElm = tinyMCE.getParentElement(rng.parentElement(), "div")) != null)
+						divElm.setAttribute("align", alignValue);
+					else if (rng.pasteHTML && rng.htmlText.length > 0)
+						rng.pasteHTML('<div align="' + alignValue + '">' + rng.htmlText + "</div>");
+
+					tinyMCE.triggerNodeChange();
+					return;
+				}
+			}
+		}
+
+		switch (command) {
+			case "mceRepaint":
+				this.repaint();
+				return true;
+
+			case "unlink":
+				// Unlink if caret is inside link
+				if (tinyMCE.isGecko && this.getSel().isCollapsed) {
+					focusElm = tinyMCE.getParentElement(focusElm, 'A');
+
+					if (focusElm)
+						this.selection.selectNode(focusElm, false);
+				}
+
+				this.getDoc().execCommand(command, user_interface, value);
+
+				tinyMCE.isGecko && this.getSel().collapseToEnd();
+
+				tinyMCE.triggerNodeChange();
+
+				return true;
+
+			case "InsertUnorderedList":
+			case "InsertOrderedList":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Strikethrough":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "mceSelectNode":
+				this.selection.selectNode(value);
+				tinyMCE.triggerNodeChange();
+				tinyMCE.selectedNode = value;
+				break;
+
+			case "FormatBlock":
+				if (value == null || value == "") {
+					var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");
+
+					if (elm)
+						this.execCommand("mceRemoveNode", false, elm);
+				} else {
+					if (!this.cleanup.isValid(value))
+						return true;
+
+					if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value))
+						value = value.replace(/[^a-z]/gi, '');
+
+					if (tinyMCE.isIE && new RegExp('blockquote|code|samp', 'gi').test(value)) {
+						var b = this.selection.getBookmark();
+						this.getDoc().execCommand("FormatBlock", false, '<p>');
+						tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value);
+						this.selection.moveToBookmark(b);
+					} else
+						this.getDoc().execCommand("FormatBlock", false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceRemoveNode":
+				if (!value)
+					value = tinyMCE.getParentElement(this.getFocusElement());
+
+				if (tinyMCE.isIE) {
+					value.outerHTML = value.innerHTML;
+				} else {
+					var rng = value.ownerDocument.createRange();
+					rng.setStartBefore(value);
+					rng.setEndAfter(value);
+					rng.deleteContents();
+					rng.insertNode(rng.createContextualFragment(value.innerHTML));
+				}
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "mceSelectNodeDepth":
+				var parentNode = this.getFocusElement();
+				for (var i=0; parentNode; i++) {
+					if (parentNode.nodeName.toLowerCase() == "body")
+						break;
+
+					if (parentNode.nodeName.toLowerCase() == "#text") {
+						i--;
+						parentNode = parentNode.parentNode;
+						continue;
+					}
+
+					if (i == value) {
+						this.selection.selectNode(parentNode, false);
+						tinyMCE.triggerNodeChange();
+						tinyMCE.selectedNode = parentNode;
+						return;
+					}
+
+					parentNode = parentNode.parentNode;
+				}
+
+				break;
+
+			case "mceSetStyleInfo":
+			case "SetStyleInfo":
+				var rng = this.getRng();
+				var sel = this.getSel();
+				var scmd = value['command'];
+				var sname = value['name'];
+				var svalue = value['value'] == null ? '' : value['value'];
+				//var svalue = value['value'] == null ? '' : value['value'];
+				var wrapper = value['wrapper'] ? value['wrapper'] : "span";
+				var parentElm = null;
+				var invalidRe = new RegExp("^BODY|HTML$", "g");
+				var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null;
+
+				// Whole element selected check
+				if (tinyMCE.isIE) {
+					// Control range
+					if (rng.item)
+						parentElm = rng.item(0);
+					else {
+						var pelm = rng.parentElement();
+						var prng = doc.selection.createRange();
+						prng.moveToElementText(pelm);
+
+						if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) {
+							if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName))
+								parentElm = pelm;
+						}
+					}
+				} else {
+					var felm = this.getFocusElement();
+					if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode))
+						parentElm = felm;
+				}
+
+				// Whole element selected
+				if (parentElm && !invalidRe.test(parentElm.nodeName)) {
+					if (scmd == "setstyle")
+						tinyMCE.setStyleAttrib(parentElm, sname, svalue);
+
+					if (scmd == "setattrib")
+						tinyMCE.setAttrib(parentElm, sname, svalue);
+
+					if (scmd == "removeformat") {
+						parentElm.style.cssText = '';
+						tinyMCE.setAttrib(parentElm, 'class', '');
+					}
+
+					// Remove style/attribs from all children
+					var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1);
+					for (var z=0; z<ch.length; z++) {
+						if (ch[z] == parentElm)
+							continue;
+
+						if (scmd == "setstyle")
+							tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+						if (scmd == "setattrib")
+							tinyMCE.setAttrib(ch[z], sname, '');
+
+						if (scmd == "removeformat") {
+							ch[z].style.cssText = '';
+							tinyMCE.setAttrib(ch[z], 'class', '');
+						}
+					}
+				} else {
+					this._setUseCSS(false); // Bug in FF when running in fullscreen
+					doc.execCommand("FontName", false, "#mce_temp_font#");
+					var elementArray = tinyMCE.getElementsByAttributeValue(this.getBody(), "font", "face", "#mce_temp_font#");
+
+					// Change them all
+					for (var x=0; x<elementArray.length; x++) {
+						elm = elementArray[x];
+						if (elm) {
+							var spanElm = doc.createElement(wrapper);
+
+							if (scmd == "setstyle")
+								tinyMCE.setStyleAttrib(spanElm, sname, svalue);
+
+							if (scmd == "setattrib")
+								tinyMCE.setAttrib(spanElm, sname, svalue);
+
+							if (scmd == "removeformat") {
+								spanElm.style.cssText = '';
+								tinyMCE.setAttrib(spanElm, 'class', '');
+							}
+
+							if (elm.hasChildNodes()) {
+								for (var i=0; i<elm.childNodes.length; i++)
+									spanElm.appendChild(elm.childNodes[i].cloneNode(true));
+							}
+
+							spanElm.setAttribute("mce_new", "true");
+							elm.parentNode.replaceChild(spanElm, elm);
+
+							// Remove style/attribs from all children
+							var ch = tinyMCE.getNodeTree(spanElm, new Array(), 1);
+							for (var z=0; z<ch.length; z++) {
+								if (ch[z] == spanElm)
+									continue;
+
+								if (scmd == "setstyle")
+									tinyMCE.setStyleAttrib(ch[z], sname, '');
+
+								if (scmd == "setattrib")
+									tinyMCE.setAttrib(ch[z], sname, '');
+
+								if (scmd == "removeformat") {
+									ch[z].style.cssText = '';
+									tinyMCE.setAttrib(ch[z], 'class', '');
+								}
+							}
+						}
+					}
+				}
+
+				// Cleaup wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true";
+
+					elm.removeAttribute("mce_new");
+
+					// Is only child a element
+					if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) {
+						//tinyMCE.debug("merge1" + isNew);
+						this._mergeElements(scmd, elm, elm.childNodes[0], isNew);
+						continue;
+					}
+
+					// Is I the only child
+					if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) {
+						//tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName);
+						if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName))
+							this._mergeElements(scmd, elm.parentNode, elm, false);
+					}
+				}
+
+				// Remove empty wrappers
+				var nodes = doc.getElementsByTagName(wrapper);
+				for (var i=nodes.length-1; i>=0; i--) {
+					var elm = nodes[i];
+					var isEmpty = true;
+
+					// Check if it has any attribs
+					var tmp = doc.createElement("body");
+					tmp.appendChild(elm.cloneNode(false));
+
+					// Is empty span, remove it
+					tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), '');
+					//tinyMCE.debug(tmp.innerHTML);
+					if (new RegExp('<span>', 'gi').test(tmp.innerHTML)) {
+						for (var x=0; x<elm.childNodes.length; x++) {
+							if (elm.parentNode != null)
+								elm.parentNode.insertBefore(elm.childNodes[x].cloneNode(true), elm);
+						}
+
+						elm.parentNode.removeChild(elm);
+					}
+				}
+
+				// Re add the visual aids
+				if (scmd == "removeformat")
+					tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+
+				tinyMCE.triggerNodeChange();
+
+				break;
+
+			case "FontName":
+				if (value == null) {
+					var s = this.getSel();
+
+					// Find font and select it
+					if (tinyMCE.isGecko && s.isCollapsed) {
+						var f = tinyMCE.getParentElement(this.getFocusElement(), "font");
+
+						if (f != null)
+							this.selection.selectNode(f, false);
+					}
+
+					// Remove format
+					this.getDoc().execCommand("RemoveFormat", false, null);
+
+					// Collapse range if font was found
+					if (f != null && tinyMCE.isGecko) {
+						var r = this.getRng().cloneRange();
+						r.collapse(true);
+						s.removeAllRanges();
+						s.addRange(r);
+					}
+				} else
+					this.getDoc().execCommand('FontName', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "FontSize":
+				this.getDoc().execCommand('FontSize', false, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+
+				return;
+
+			case "forecolor":
+				value = value == null ? this.foreColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+
+				this.foreColor = value;
+				this.getDoc().execCommand('forecolor', false, value);
+				break;
+
+			case "HiliteColor":
+				value = value == null ? this.backColor : value;
+				value = tinyMCE.trim(value);
+				value = value.charAt(0) != '#' ? (isNaN('0x' + value) ? value : '#' + value) : value;
+				this.backColor = value;
+
+				if (tinyMCE.isGecko) {
+					this._setUseCSS(true);
+					this.getDoc().execCommand('hilitecolor', false, value);
+					this._setUseCSS(false);
+				} else
+					this.getDoc().execCommand('BackColor', false, value);
+				break;
+
+			case "Cut":
+			case "Copy":
+			case "Paste":
+				var cmdFailed = false;
+
+				// Try executing command
+				eval('try {this.getDoc().execCommand(command, user_interface, value);} catch (e) {cmdFailed = true;}');
+
+				if (tinyMCE.isOpera && cmdFailed)
+					alert('Currently not supported by your browser, use keyboard shortcuts instead.');
+
+				// Alert error in gecko if command failed
+				if (tinyMCE.isGecko && cmdFailed) {
+					// Confirm more info
+					if (confirm(tinyMCE.entityDecode(tinyMCE.getLang('lang_clipboard_msg'))))
+						window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal');
+
+					return;
+				} else
+					tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetContent":
+				if (!value)
+					value = "";
+
+				// Call custom cleanup code
+				value = tinyMCE.storeAwayURLs(value);
+				value = tinyMCE._customCleanup(this, "insert_to_editor", value);
+
+				if (this.getBody().nodeName == 'BODY')
+					tinyMCE._setHTML(doc, value);
+				else
+					this.getBody().innerHTML = value;
+
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, doc, this.settings, this.getBody(), false, false, false, true));
+				tinyMCE.convertAllRelativeURLs(this.getBody());
+
+				// Cleanup any mess left from storyAwayURLs
+				tinyMCE._removeInternal(this.getBody());
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				return true;
+
+			case "mceCleanup":
+				var b = this.selection.getBookmark();
+				tinyMCE._setHTML(this.contentDocument, this.getBody().innerHTML);
+				tinyMCE.setInnerHTML(this.getBody(), tinyMCE._cleanupHTML(this, this.contentDocument, this.settings, this.getBody(), this.visualAid));
+				tinyMCE.convertAllRelativeURLs(doc.body);
+
+				// When editing always use fonts internaly
+				if (tinyMCE.getParam("convert_fonts_to_spans"))
+					tinyMCE.convertSpansToFonts(doc);
+
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE._setEventsEnabled(this.getBody(), false);
+				this.repaint();
+				this.selection.moveToBookmark(b);
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceReplaceContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				this.getWin().focus();
+
+				var selectedText = "";
+
+				if (tinyMCE.isIE) {
+					var rng = doc.selection.createRange();
+					selectedText = rng.text;
+				} else
+					selectedText = this.getSel().toString();
+
+				if (selectedText.length > 0) {
+					value = tinyMCE.replaceVar(value, "selection", selectedText);
+					tinyMCE.execCommand('mceInsertContent', false, value);
+				}
+
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceSetAttribute":
+				if (typeof(value) == 'object') {
+					var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets'];
+					var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms);
+
+					if (targetNode) {
+						targetNode.setAttribute(value['name'], value['value']);
+						tinyMCE.triggerNodeChange();
+					}
+				}
+			break;
+
+			case "mceSetCSSClass":
+				this.execCommand("mceSetStyleInfo", false, {command : "setattrib", name : "class", value : value});
+			break;
+
+			case "mceInsertRawHTML":
+				var key = 'tiny_mce_marker';
+
+				this.execCommand('mceBeginUndoLevel');
+
+				// Insert marker key
+				this.execCommand('mceInsertContent', false, key);
+
+				// Store away scroll pos
+				var scrollX = this.getBody().scrollLeft + this.getDoc().documentElement.scrollLeft;
+				var scrollY = this.getBody().scrollTop + this.getDoc().documentElement.scrollTop;
+
+				// Find marker and replace with RAW HTML
+				var html = this.getBody().innerHTML;
+				if ((pos = html.indexOf(key)) != -1)
+					tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length));
+
+				// Restore scoll pos
+				this.contentWindow.scrollTo(scrollX, scrollY);
+
+				this.execCommand('mceEndUndoLevel');
+
+				break;
+
+			case "mceInsertContent":
+				// Force empty string
+				if (!value)
+					value = '';
+
+				var insertHTMLFailed = false;
+
+				// Removed since it produced problems in IE
+				// this.getWin().focus();
+
+				if (tinyMCE.isGecko || tinyMCE.isOpera) {
+					try {
+						// Is plain text or HTML, &amp;, &nbsp; etc will be encoded wrong in FF
+						if (value.indexOf('<') == -1 && !value.match(/(&#38;|&#160;|&#60;|&#62;)/g)) {
+							var r = this.getRng();
+							var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value));
+							var s = this.getSel();
+							var r2 = r.cloneRange();
+
+							// Insert text at cursor position
+							s.removeAllRanges();
+							r.deleteContents();
+							r.insertNode(n);
+
+							// Move the cursor to the end of text
+							r2.selectNode(n);
+							r2.collapse(false);
+							s.removeAllRanges();
+							s.addRange(r2);
+						} else {
+							value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value);
+							this.getDoc().execCommand('inserthtml', false, value);
+							tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+						}
+					} catch (ex) {
+						insertHTMLFailed = true;
+					}
+
+					if (!insertHTMLFailed) {
+						tinyMCE.triggerNodeChange();
+						return;
+					}
+				}
+
+				if (!tinyMCE.isIE) {
+					var isHTML = value.indexOf('<') != -1;
+					var sel = this.getSel();
+					var rng = this.getRng();
+
+					if (isHTML) {
+						if (tinyMCE.isSafari) {
+							var tmpRng = this.getDoc().createRange();
+
+							tmpRng.setStart(this.getBody(), 0);
+							tmpRng.setEnd(this.getBody(), 0);
+
+							value = tmpRng.createContextualFragment(value);
+						} else
+							value = rng.createContextualFragment(value);
+					} else {
+						// Setup text node
+						var el = document.createElement("div");
+						el.innerHTML = value;
+						value = el.firstChild.nodeValue;
+						value = doc.createTextNode(value);
+					}
+
+					// Insert plain text in Safari
+					if (tinyMCE.isSafari && !isHTML) {
+						this.execCommand('InsertText', false, value.nodeValue);
+						tinyMCE.triggerNodeChange();
+						return true;
+					} else if (tinyMCE.isSafari && isHTML) {
+						rng.deleteContents();
+						rng.insertNode(value);
+						tinyMCE.triggerNodeChange();
+						return true;
+					}
+
+					rng.deleteContents();
+
+					// If target node is text do special treatment, (Mozilla 1.3 fix)
+					if (rng.startContainer.nodeType == 3) {
+						var node = rng.startContainer.splitText(rng.startOffset);
+						node.parentNode.insertBefore(value, node); 
+					} else
+						rng.insertNode(value);
+
+					if (!isHTML) {
+						// Removes weird selection trails
+						sel.selectAllChildren(doc.body);
+						sel.removeAllRanges();
+
+						// Move cursor to end of content
+						var rng = doc.createRange();
+
+						rng.selectNode(value);
+						rng.collapse(false);
+
+						sel.addRange(rng);
+					} else
+						rng.collapse(false);
+
+					tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value);
+				} else {
+					var rng = doc.selection.createRange(), tmpRng = null;
+					var c = value.indexOf('<!--') != -1;
+
+					// Fix comment bug, add tag before comments
+					if (c)
+						value = tinyMCE.uniqueTag + value;
+
+					//	tmpRng = rng.duplicate(); // Store away range (Fixes Undo bookmark bug in IE)
+
+					if (rng.item)
+						rng.item(0).outerHTML = value;
+					else
+						rng.pasteHTML(value);
+
+					//if (tmpRng)
+					//	tmpRng.select(); // Restore range  (Fixes Undo bookmark bug in IE)
+
+					// Remove unique tag
+					if (c) {
+						var e = this.getDoc().getElementById('mceTMPElement');
+						e.parentNode.removeChild(e);
+					}
+				}
+
+				tinyMCE.execCommand("mceAddUndoLevel");
+				tinyMCE.triggerNodeChange();
+			break;
+
+			case "mceStartTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex == -1) {
+					this.undoRedo.typingUndoIndex = this.undoRedo.undoIndex;
+					tinyMCE.typingUndoIndex = tinyMCE.undoIndex;
+					this.execCommand('mceAddUndoLevel');
+				}
+				break;
+
+			case "mceEndTyping":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedo.typingUndoIndex != -1) {
+					this.execCommand('mceAddUndoLevel');
+					this.undoRedo.typingUndoIndex = -1;
+				}
+
+				tinyMCE.typingUndoIndex = -1;
+				break;
+
+			case "mceBeginUndoLevel":
+				this.undoRedoLevel = false;
+				break;
+
+			case "mceEndUndoLevel":
+				this.undoRedoLevel = true;
+				this.execCommand('mceAddUndoLevel');
+				break;
+
+			case "mceAddUndoLevel":
+				if (tinyMCE.settings['custom_undo_redo'] && this.undoRedoLevel) {
+					if (this.undoRedo.add())
+						tinyMCE.triggerNodeChange(false);
+				}
+				break;
+
+			case "Undo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.undo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "Redo":
+				if (tinyMCE.settings['custom_undo_redo']) {
+					tinyMCE.execCommand("mceEndTyping");
+					this.undoRedo.redo();
+					tinyMCE.triggerNodeChange();
+				} else
+					this.getDoc().execCommand(command, user_interface, value);
+				break;
+
+			case "mceToggleVisualAid":
+				this.visualAid = !this.visualAid;
+				tinyMCE.handleVisualAid(this.getBody(), true, this.visualAid, this);
+				tinyMCE.triggerNodeChange();
+				break;
+
+			case "Indent":
+				this.getDoc().execCommand(command, user_interface, value);
+				tinyMCE.triggerNodeChange();
+
+				if (tinyMCE.isIE) {
+					var n = tinyMCE.getParentElement(this.getFocusElement(), "blockquote");
+					do {
+						if (n && n.nodeName == "BLOCKQUOTE") {
+							n.removeAttribute("dir");
+							n.removeAttribute("style");
+						}
+					} while (n != null && (n = n.parentNode) != null);
+				}
+				break;
+
+			case "RemoveFormat":
+			case "removeformat":
+				var text = this.selection.getSelectedText();
+
+				if (tinyMCE.isOpera) {
+					this.getDoc().execCommand("RemoveFormat", false, null);
+					return;
+				}
+
+				if (tinyMCE.isIE) {
+					try {
+						var rng = doc.selection.createRange();
+						rng.execCommand("RemoveFormat", false, null);
+					} catch (e) {
+						// Do nothing
+					}
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				} else {
+					this.getDoc().execCommand(command, user_interface, value);
+
+					this.execCommand("mceSetStyleInfo", false, {command : "removeformat"});
+				}
+
+				// Remove class
+				if (text.length == 0)
+					this.execCommand("mceSetCSSClass", false, "");
+
+				tinyMCE.triggerNodeChange();
+				break;
+
+			default:
+				this.getDoc().execCommand(command, user_interface, value);
+
+				if (tinyMCE.isGecko)
+					window.setTimeout('tinyMCE.triggerNodeChange(false);', 1);
+				else
+					tinyMCE.triggerNodeChange();
+		}
+
+		// Add undo level after modification
+		if (command != "mceAddUndoLevel" && command != "Undo" && command != "Redo" && command != "mceStartTyping" && command != "mceEndTyping")
+			tinyMCE.execCommand("mceAddUndoLevel");
+	},
+
+	queryCommandValue : function(c) {
+		try {
+			return this.getDoc().queryCommandValue(c);
+		} catch (e) {
+			return null;
+		}
+	},
+
+	queryCommandState : function(c) {
+		return this.getDoc().queryCommandState(c);
+	},
+
+	_onAdd : function(replace_element, form_element_name, target_document) {
+		var hc, th, to, editorTemplate;
+
+		th = this.settings['theme'];
+		to = tinyMCE.themes[th];
+
+		var targetDoc = target_document ? target_document : document;
+
+		this.targetDoc = targetDoc;
+
+		tinyMCE.themeURL = tinyMCE.baseURL + "/themes/" + this.settings['theme'];
+		this.settings['themeurl'] = tinyMCE.themeURL;
+
+		if (!replace_element) {
+			alert("Error: Could not find the target element.");
+			return false;
+		}
+
+		if (to.getEditorTemplate)
+			editorTemplate = to.getEditorTemplate(this.settings, this.editorId);
+
+		var deltaWidth = editorTemplate['delta_width'] ? editorTemplate['delta_width'] : 0;
+		var deltaHeight = editorTemplate['delta_height'] ? editorTemplate['delta_height'] : 0;
+		var html = '<span id="' + this.editorId + '_parent" class="mceEditorContainer">' + editorTemplate['html'];
+
+		html = tinyMCE.replaceVar(html, "editor_id", this.editorId);
+		this.settings['default_document'] = tinyMCE.baseURL + "/blank.htm";
+
+		this.settings['old_width'] = this.settings['width'];
+		this.settings['old_height'] = this.settings['height'];
+
+		// Set default width, height
+		if (this.settings['width'] == -1)
+			this.settings['width'] = replace_element.offsetWidth;
+
+		if (this.settings['height'] == -1)
+			this.settings['height'] = replace_element.offsetHeight;
+
+		// Try the style width
+		if (this.settings['width'] == 0)
+			this.settings['width'] = replace_element.style.width;
+
+		// Try the style height
+		if (this.settings['height'] == 0)
+			this.settings['height'] = replace_element.style.height; 
+
+		// If no width/height then default to 320x240, better than nothing
+		if (this.settings['width'] == 0)
+			this.settings['width'] = 320;
+
+		if (this.settings['height'] == 0)
+			this.settings['height'] = 240;
+
+		this.settings['area_width'] = parseInt(this.settings['width']);
+		this.settings['area_height'] = parseInt(this.settings['height']);
+		this.settings['area_width'] += deltaWidth;
+		this.settings['area_height'] += deltaHeight;
+
+		this.settings['width_style'] = "" + this.settings['width'];
+		this.settings['height_style'] = "" + this.settings['height'];
+
+		// Special % handling
+		if (("" + this.settings['width']).indexOf('%') != -1)
+			this.settings['area_width'] = "100%";
+		else
+			this.settings['width_style'] += 'px';
+
+		if (("" + this.settings['height']).indexOf('%') != -1)
+			this.settings['area_height'] = "100%";
+		else
+			this.settings['height_style'] += 'px';
+
+		if (("" + replace_element.style.width).indexOf('%') != -1) {
+			this.settings['width'] = replace_element.style.width;
+			this.settings['area_width'] = "100%";
+			this.settings['width_style'] = "100%";
+		}
+
+		if (("" + replace_element.style.height).indexOf('%') != -1) {
+			this.settings['height'] = replace_element.style.height;
+			this.settings['area_height'] = "100%";
+			this.settings['height_style'] = "100%";
+		}
+
+		html = tinyMCE.applyTemplate(html);
+
+		this.settings['width'] = this.settings['old_width'];
+		this.settings['height'] = this.settings['old_height'];
+
+		this.visualAid = this.settings['visual'];
+		this.formTargetElementId = form_element_name;
+
+		// Get replace_element contents
+		if (replace_element.nodeName == "TEXTAREA" || replace_element.nodeName == "INPUT")
+			this.startContent = replace_element.value;
+		else
+			this.startContent = replace_element.innerHTML;
+
+		// If not text area or input
+		if (replace_element.nodeName != "TEXTAREA" && replace_element.nodeName != "INPUT") {
+			this.oldTargetElement = replace_element;
+
+			// Debug mode
+			if (tinyMCE.settings['debug']) {
+				hc = '<textarea wrap="off" id="' + form_element_name + '" name="' + form_element_name + '" cols="100" rows="15"></textarea>';
+			} else {
+				hc = '<input type="hidden" id="' + form_element_name + '" name="' + form_element_name + '" />';
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			html += '</span>';
+
+			if (tinyMCE.isGecko)
+				html = hc + html;
+			else
+				html += hc;
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		} else {
+			html += '</span>';
+
+			// Just hide the textarea element
+			this.oldTargetElement = replace_element;
+
+			if (!tinyMCE.settings['debug']) {
+				this.oldTargetDisplay = tinyMCE.getStyle(this.oldTargetElement, 'display', 'inline');
+				this.oldTargetElement.style.display = "none";
+			}
+
+			// Output HTML and set editable
+			if (tinyMCE.isGecko) {
+				var rng = replace_element.ownerDocument.createRange();
+				rng.setStartBefore(replace_element);
+
+				var fragment = rng.createContextualFragment(html);
+				tinyMCE.insertAfter(fragment, replace_element);
+			} else
+				replace_element.insertAdjacentHTML("beforeBegin", html);
+		}
+
+		// Setup iframe
+		var dynamicIFrame = false;
+		var tElm = targetDoc.getElementById(this.editorId);
+
+		if (!tinyMCE.isIE) {
+			// Node case is preserved in XML strict mode
+			if (tElm && (tElm.nodeName == "SPAN" || tElm.nodeName == "span")) {
+				tElm = tinyMCE._createIFrame(tElm, targetDoc);
+				dynamicIFrame = true;
+			}
+
+			this.targetElement = tElm;
+			this.iframeElement = tElm;
+			this.contentDocument = tElm.contentDocument;
+			this.contentWindow = tElm.contentWindow;
+
+			//this.getDoc().designMode = "on";
+		} else {
+			if (tElm && tElm.nodeName == "SPAN")
+				tElm = tinyMCE._createIFrame(tElm, targetDoc, targetDoc.parentWindow);
+			else
+				tElm = targetDoc.frames[this.editorId];
+
+			this.targetElement = tElm;
+			this.iframeElement = targetDoc.getElementById(this.editorId);
+
+			if (tinyMCE.isOpera) {
+				this.contentDocument = this.iframeElement.contentDocument;
+				this.contentWindow = this.iframeElement.contentWindow;
+				dynamicIFrame = true;
+			} else {
+				this.contentDocument = tElm.window.document;
+				this.contentWindow = tElm.window;
+			}
+
+			this.getDoc().designMode = "on";
+		}
+
+		// Setup base HTML
+		var doc = this.contentDocument;
+		if (dynamicIFrame) {
+			var html = tinyMCE.getParam('doctype') + '<html><head xmlns="http://www.w3.org/1999/xhtml"><base href="' + tinyMCE.settings['base_href'] + '" /><title>blank_page</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body class="mceContentBody"></body></html>';
+
+			try {
+				if (!this.isHidden())
+					this.getDoc().designMode = "on";
+
+				doc.open();
+				doc.write(html);
+				doc.close();
+			} catch (e) {
+				// Failed Mozilla 1.3
+				this.getDoc().location.href = tinyMCE.baseURL + "/blank.htm";
+			}
+		}
+
+		// This timeout is needed in MSIE 5.5 for some odd reason
+		// it seems that the document.frames isn't initialized yet?
+		if (tinyMCE.isIE)
+			window.setTimeout("tinyMCE.addEventHandlers(tinyMCE.instances[\"" + this.editorId + "\"]);", 1);
+
+		// Setup element references
+		var parentElm = this.targetDoc.getElementById(this.editorId + '_parent');
+		this.formElement = tinyMCE.isGecko ? parentElm.previousSibling : parentElm.nextSibling;
+
+		tinyMCE.setupContent(this.editorId, true);
+
+		return true;
+	},
+
+	setBaseHREF : function(u) {
+		var h, b, d, nl;
+
+		d = this.getDoc();
+		nl = d.getElementsByTagName("base");
+		b = nl.length > 0 ? nl[0] : null;
+
+		if (!b) {
+			nl = d.getElementsByTagName("head");
+			h = nl.length > 0 ? nl[0] : null;
+
+			b = d.createElement("base");
+			b.setAttribute('href', u);
+			h.appendChild(b);
+		} else {
+			if (u == "" || u == null)
+				b.parentNode.removeChild(b);
+			else
+				b.setAttribute('href', u);
+		}
+	},
+
+	getHTML : function(r) {
+		var h, d = this.getDoc(), b = this.getBody();
+
+		if (r)
+			return b.innerHTML;
+
+		h = tinyMCE._cleanupHTML(this, d, this.settings, b, false, true, false, true);
+
+		if (tinyMCE.getParam("convert_fonts_to_spans"))
+			tinyMCE.convertSpansToFonts(d);
+
+		return h;
+	},
+
+	setHTML : function(h) {
+		this.execCommand('mceSetContent', false, h);
+		this.repaint();
+	},
+
+	getFocusElement : function() {
+		return this.selection.getFocusElement();
+	},
+
+	getSel : function() {
+		return this.selection.getSel();
+	},
+
+	getRng : function() {
+		return this.selection.getRng();
+	},
+
+	triggerSave : function(skip_cleanup, skip_callback) {
+		var e, nl = [], i, s;
+
+		this.switchSettings();
+		s = tinyMCE.settings;
+
+		// Force hidden tabs visible while serializing
+		if (tinyMCE.isRealIE) {
+			e = this.iframeElement;
+
+			do {
+				if (e.style && e.style.display == 'none') {
+					e.style.display = 'block';
+					nl[nl.length] = {elm : e, type : 'style'};
+				}
+
+				if (e.style && s.hidden_tab_class.length > 0 && e.className.indexOf(s.hidden_tab_class) != -1) {
+					e.className = s.display_tab_class;
+					nl[nl.length] = {elm : e, type : 'class'};
+				}
+			} while ((e = e.parentNode) != null)
+		}
+
+		tinyMCE.settings['preformatted'] = false;
+
+		// Default to false
+		if (typeof(skip_cleanup) == "undefined")
+			skip_cleanup = false;
+
+		// Default to false
+		if (typeof(skip_callback) == "undefined")
+			skip_callback = false;
+
+		tinyMCE._setHTML(this.getDoc(), this.getBody().innerHTML);
+
+		// Remove visual aids when cleanup is disabled
+		if (this.settings['cleanup'] == false) {
+			tinyMCE.handleVisualAid(this.getBody(), true, false, this);
+			tinyMCE._setEventsEnabled(this.getBody(), true);
+		}
+
+		tinyMCE._customCleanup(this, "submit_content_dom", this.contentWindow.document.body);
+		var htm = skip_cleanup ? this.getBody().innerHTML : tinyMCE._cleanupHTML(this, this.getDoc(), this.settings, this.getBody(), tinyMCE.visualAid, true, true);
+		htm = tinyMCE._customCleanup(this, "submit_content", htm);
+
+		if (!skip_callback && tinyMCE.settings['save_callback'] != "")
+			var content = eval(tinyMCE.settings['save_callback'] + "(this.formTargetElementId,htm,this.getBody());");
+
+		// Use callback content if available
+		if ((typeof(content) != "undefined") && content != null)
+			htm = content;
+
+		// Replace some weird entities (Bug: #1056343)
+		htm = tinyMCE.regexpReplace(htm, "&#40;", "(", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#41;", ")", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#59;", ";", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#34;", "&quot;", "gi");
+		htm = tinyMCE.regexpReplace(htm, "&#94;", "^", "gi");
+
+		if (this.formElement)
+			this.formElement.value = htm;
+
+		if (tinyMCE.isSafari && this.formElement)
+			this.formElement.innerText = htm;
+
+		// Hide them again (tabs in MSIE)
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].type == 'style')
+				nl[i].elm.style.display = 'none';
+			else
+				nl[i].elm.className = s.hidden_tab_class;
+		}
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Cleanup.class.js */
+
+TinyMCE_Engine.prototype.cleanupHTMLCode = function(s) {
+	s = s.replace(new RegExp('<p \\/>', 'gi'), '<p>&nbsp;</p>');
+	s = s.replace(new RegExp('<p>\\s*<\\/p>', 'gi'), '<p>&nbsp;</p>');
+
+	// Fix close BR elements
+	s = s.replace(new RegExp('<br>\\s*<\\/br>', 'gi'), '<br />');
+
+	// Open closed tags like <b/> to <b></b>
+	s = s.replace(new RegExp('<(h[1-6]|p|div|address|pre|form|table|li|ol|ul|td|b|font|em|strong|i|strike|u|span|a|ul|ol|li|blockquote)([a-z]*)([^\\\\|>]*)\\/>', 'gi'), '<$1$2$3></$1$2>');
+
+	// Remove trailing space <b > to <b>
+	s = s.replace(new RegExp('\\s+></', 'gi'), '></');
+
+	// Close tags <img></img> to <img/>
+	s = s.replace(new RegExp('<(img|br|hr)([^>]*)><\\/(img|br|hr)>', 'gi'), '<$1$2 />');
+
+	// Weird MSIE bug, <p><hr /></p> breaks runtime?
+	if (tinyMCE.isIE)
+		s = s.replace(new RegExp('<p><hr \\/><\\/p>', 'gi'), "<hr>");
+
+	// Weird tags will make IE error #bug: 1538495
+	if (tinyMCE.isIE)
+		s = s.replace(/<!(\s*)\/>/g, '');
+
+	// Convert relative anchors to absolute URLs ex: #something to file.htm#something
+	// Removed: Since local document anchors should never be forced absolute example edit.php?id=something
+	//if (tinyMCE.getParam('convert_urls'))
+	//	s = s.replace(new RegExp('(href=\"{0,1})(\\s*#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.parseStyle = function(str) {
+	var ar = new Array();
+
+	if (str == null)
+		return ar;
+
+	var st = str.split(';');
+
+	tinyMCE.clearArray(ar);
+
+	for (var i=0; i<st.length; i++) {
+		if (st[i] == '')
+			continue;
+
+		var re = new RegExp('^\\s*([^:]*):\\s*(.*)\\s*$');
+		var pa = st[i].replace(re, '$1||$2').split('||');
+//tinyMCE.debug(str, pa[0] + "=" + pa[1], st[i].replace(re, '$1||$2'));
+		if (pa.length == 2)
+			ar[pa[0].toLowerCase()] = pa[1];
+	}
+
+	return ar;
+};
+
+TinyMCE_Engine.prototype.compressStyle = function(ar, pr, sf, res) {
+	var box = new Array();
+
+	box[0] = ar[pr + '-top' + sf];
+	box[1] = ar[pr + '-left' + sf];
+	box[2] = ar[pr + '-right' + sf];
+	box[3] = ar[pr + '-bottom' + sf];
+
+	for (var i=0; i<box.length; i++) {
+		if (box[i] == null)
+			return;
+
+		for (var a=0; a<box.length; a++) {
+			if (box[a] != box[i])
+				return;
+		}
+	}
+
+	// They are all the same
+	ar[res] = box[0];
+	ar[pr + '-top' + sf] = null;
+	ar[pr + '-left' + sf] = null;
+	ar[pr + '-right' + sf] = null;
+	ar[pr + '-bottom' + sf] = null;
+};
+
+TinyMCE_Engine.prototype.serializeStyle = function(ar) {
+	var str = "";
+
+	// Compress box
+	tinyMCE.compressStyle(ar, "border", "", "border");
+	tinyMCE.compressStyle(ar, "border", "-width", "border-width");
+	tinyMCE.compressStyle(ar, "border", "-color", "border-color");
+	tinyMCE.compressStyle(ar, "border", "-style", "border-style");
+	tinyMCE.compressStyle(ar, "padding", "", "padding");
+	tinyMCE.compressStyle(ar, "margin", "", "margin");
+
+	for (var key in ar) {
+		var val = ar[key];
+
+		if (typeof(val) == 'function')
+			continue;
+
+		if (key.indexOf('mso-') == 0)
+			continue;
+
+		if (val != null && val != '') {
+			val = '' + val; // Force string
+
+			// Fix style URL
+			val = val.replace(new RegExp("url\\(\\'?([^\\']*)\\'?\\)", 'gi'), "url('$1')");
+
+			// Convert URL
+			if (val.indexOf('url(') != -1 && tinyMCE.getParam('convert_urls')) {
+				var m = new RegExp("url\\('(.*?)'\\)").exec(val);
+
+				if (m.length > 1)
+					val = "url('" + eval(tinyMCE.getParam('urlconverter_callback') + "(m[1], null, true);") + "')";
+			}
+
+			// Force HEX colors
+			if (tinyMCE.getParam("force_hex_style_colors"))
+				val = tinyMCE.convertRGBToHex(val, true);
+
+			val = val.replace(/\"/g, '\'');
+
+			if (val != "url('')")
+				str += key.toLowerCase() + ": " + val + "; ";
+		}
+	}
+
+	if (new RegExp('; $').test(str))
+		str = str.substring(0, str.length - 2);
+
+	return str;
+};
+
+TinyMCE_Engine.prototype.convertRGBToHex = function(s, k) {
+	if (s.toLowerCase().indexOf('rgb') != -1) {
+		var re = new RegExp("(.*?)rgb\\s*?\\(\\s*?([0-9]+).*?,\\s*?([0-9]+).*?,\\s*?([0-9]+).*?\\)(.*?)", "gi");
+		var rgb = s.replace(re, "$1,$2,$3,$4,$5").split(',');
+		if (rgb.length == 5) {
+			r = parseInt(rgb[1]).toString(16);
+			g = parseInt(rgb[2]).toString(16);
+			b = parseInt(rgb[3]).toString(16);
+
+			r = r.length == 1 ? '0' + r : r;
+			g = g.length == 1 ? '0' + g : g;
+			b = b.length == 1 ? '0' + b : b;
+
+			s = "#" + r + g + b;
+
+			if (k)
+				s = rgb[0] + s + rgb[4];
+		}
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertHexToRGB = function(s) {
+	if (s.indexOf('#') != -1) {
+		s = s.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+		return "rgb(" + parseInt(s.substring(0, 2), 16) + "," + parseInt(s.substring(2, 4), 16) + "," + parseInt(s.substring(4, 6), 16) + ")";
+	}
+
+	return s;
+};
+
+TinyMCE_Engine.prototype.convertSpansToFonts = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+	/*var h = doc.body.innerHTML;
+	h = h.replace(/<span/gi, '<font');
+	h = h.replace(/<\/span/gi, '</font');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var size = tinyMCE.trim(s[i].style.fontSize).toLowerCase();
+		var fSize = 0;
+
+		for (var x=0; x<sizes.length; x++) {
+			if (sizes[x] == size) {
+				fSize = x + 1;
+				break;
+			}
+		}
+
+		if (fSize > 0) {
+			tinyMCE.setAttrib(s[i], 'size', fSize);
+			s[i].style.fontSize = '';
+		}
+
+		var fFace = s[i].style.fontFamily;
+		if (fFace != null && fFace != "") {
+			tinyMCE.setAttrib(s[i], 'face', fFace);
+			s[i].style.fontFamily = '';
+		}
+
+		var fColor = s[i].style.color;
+		if (fColor != null && fColor != "") {
+			tinyMCE.setAttrib(s[i], 'color', tinyMCE.convertRGBToHex(fColor));
+			s[i].style.color = '';
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.convertFontsToSpans = function(doc) {
+	var sizes = tinyMCE.getParam('font_size_style_values').replace(/\s+/, '').split(',');
+
+/*	var h = doc.body.innerHTML;
+	h = h.replace(/<font/gi, '<span');
+	h = h.replace(/<\/font/gi, '</span');
+	tinyMCE.setInnerHTML(doc.body, h);*/
+
+	var fsClasses = tinyMCE.getParam('font_size_classes');
+	if (fsClasses != '')
+		fsClasses = fsClasses.replace(/\s+/, '').split(',');
+	else
+		fsClasses = null;
+
+	var s = tinyMCE.selectElements(doc, 'span,font');
+	for (var i=0; i<s.length; i++) {
+		var fSize, fFace, fColor;
+
+		fSize = tinyMCE.getAttrib(s[i], 'size');
+		fFace = tinyMCE.getAttrib(s[i], 'face');
+		fColor = tinyMCE.getAttrib(s[i], 'color');
+
+		if (fSize != "") {
+			fSize = parseInt(fSize);
+
+			if (fSize > 0 && fSize < 8) {
+				if (fsClasses != null)
+					tinyMCE.setAttrib(s[i], 'class', fsClasses[fSize-1]);
+				else
+					s[i].style.fontSize = sizes[fSize-1];
+			}
+
+			s[i].removeAttribute('size');
+		}
+
+		if (fFace != "") {
+			s[i].style.fontFamily = fFace;
+			s[i].removeAttribute('face');
+		}
+
+		if (fColor != "") {
+			s[i].style.color = fColor;
+			s[i].removeAttribute('color');
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.cleanupAnchors = function(doc) {
+	var i, cn, x, an = doc.getElementsByTagName("a");
+
+	// Loops backwards due to bug #1467987
+	for (i=an.length-1; i>=0; i--) {
+		if (tinyMCE.getAttrib(an[i], "name") != "" && tinyMCE.getAttrib(an[i], "href") == "") {
+			cn = an[i].childNodes;
+
+			for (x=cn.length-1; x>=0; x--)
+				tinyMCE.insertAfter(cn[x], an[i]);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.getContent = function(editor_id) {
+	if (typeof(editor_id) != "undefined")
+		 tinyMCE.getInstanceById(editor_id).select();
+
+	if (tinyMCE.selectedInstance)
+		return tinyMCE.selectedInstance.getHTML();
+
+	return null;
+};
+
+TinyMCE_Engine.prototype._fixListElements = function(d) {
+	var nl, x, a = ['ol', 'ul'], i, n, p, r = new RegExp('^(OL|UL)$'), np;
+
+	for (x=0; x<a.length; x++) {
+		nl = d.getElementsByTagName(a[x]);
+
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+			p = n.parentNode;
+
+			if (r.test(p.nodeName)) {
+				np = tinyMCE.prevNode(n, 'LI');
+
+				if (!np) {
+					np = d.createElement('li');
+					np.innerHTML = '&nbsp;';
+					np.appendChild(n);
+					p.insertBefore(np, p.firstChild);
+				} else
+					np.appendChild(n);
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._fixTables = function(d) {
+	var nl, i, n, p, np, x, t;
+
+	nl = d.getElementsByTagName('table');
+	for (i=0; i<nl.length; i++) {
+		n = nl[i];
+
+		if ((p = tinyMCE.getParentElement(n, 'p,h1,h2,h3,h4,h5,h6')) != null) {
+			np = p.cloneNode(false);
+			np.removeAttribute('id');
+
+			t = n;
+
+			while ((n = n.nextSibling))
+				np.appendChild(n);
+
+			tinyMCE.insertAfter(np, p);
+			tinyMCE.insertAfter(t, p);
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._cleanupHTML = function(inst, doc, config, elm, visual, on_save, on_submit, inn) {
+	var h, d, t1, t2, t3, t4, t5, c, s, nb;
+
+	if (!tinyMCE.getParam('cleanup'))
+		return elm.innerHTML;
+
+	on_save = typeof(on_save) == 'undefined' ? false : on_save;
+
+	c = inst.cleanup;
+	s = inst.settings;
+	d = c.settings.debug;
+
+	if (d)
+		t1 = new Date().getTime();
+
+	if (tinyMCE.getParam("convert_fonts_to_spans"))
+		tinyMCE.convertFontsToSpans(doc);
+
+	if (tinyMCE.getParam("fix_list_elements"))
+		tinyMCE._fixListElements(doc);
+
+	if (tinyMCE.getParam("fix_table_elements"))
+		tinyMCE._fixTables(doc);
+
+	// Call custom cleanup code
+	tinyMCE._customCleanup(inst, on_save ? "get_from_editor_dom" : "insert_to_editor_dom", doc.body);
+
+	if (d)
+		t2 = new Date().getTime();
+
+	c.settings.on_save = on_save;
+	//for (var i=0; i<100; i++)
+
+	c.idCount = 0;
+	c.serializationId++;
+	c.serializedNodes = new Array();
+	c.sourceIndex = -1;
+
+	if (s.cleanup_serializer == "xml")
+		h = c.serializeNodeAsXML(elm, inn);
+	else
+		h = c.serializeNodeAsHTML(elm, inn);
+
+	if (d)
+		t3 = new Date().getTime();
+
+	// Post processing
+	nb = tinyMCE.getParam('entity_encoding') == 'numeric' ? '&#160;' : '&nbsp;';
+	h = h.replace(/<\/?(body|head|html)[^>]*>/gi, '');
+	h = h.replace(new RegExp(' (rowspan="1"|colspan="1")', 'g'), '');
+	h = h.replace(/<p><hr \/><\/p>/g, '<hr />');
+	h = h.replace(/<p>(&nbsp;|&#160;)<\/p><hr \/><p>(&nbsp;|&#160;)<\/p>/g, '<hr />');
+	h = h.replace(/<td>\s*<br \/>\s*<\/td>/g, '<td>' + nb + '</td>');
+	h = h.replace(/<p>\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<br \/>$/, ''); // Remove last BR for Gecko
+	h = h.replace(/<br \/><\/p>/g, '</p>'); // Remove last BR in P tags for Gecko
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*(&nbsp;|&#160;)\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*(&nbsp;|&#160;)\s*<br \/>\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(/<p>\s*<br \/>\s*&nbsp;\s*<\/p>/g, '<p>' + nb + '</p>');
+	h = h.replace(new RegExp('<a>(.*?)<\\/a>', 'g'), '$1');
+	h = h.replace(/<p([^>]*)>\s*<\/p>/g, '<p$1>' + nb + '</p>');
+
+	// Clean body
+	if (/^\s*(<br \/>|<p>&nbsp;<\/p>|<p>&#160;<\/p>|<p><\/p>)\s*$/.test(h))
+		h = '';
+
+	// If preformatted
+	if (s.preformatted) {
+		h = h.replace(/^<pre>/, '');
+		h = h.replace(/<\/pre>$/, '');
+		h = '<pre>' + h + '</pre>';
+	}
+
+	// Gecko specific processing
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<o:p _moz-userdefined="" \/>/g, '');
+		h = h.replace(/<td([^>]*)>\s*<br \/>\s*<\/td>/g, '<td$1>' + nb + '</td>');
+	}
+
+	if (s.force_br_newlines)
+		h = h.replace(/<p>(&nbsp;|&#160;)<\/p>/g, '<br />');
+
+	// Call custom cleanup code
+	h = tinyMCE._customCleanup(inst, on_save ? "get_from_editor" : "insert_to_editor", h);
+
+	// Remove internal classes
+	if (on_save) {
+		h = h.replace(new RegExp(' ?(mceItem[a-zA-Z0-9]*|' + s.visual_table_class + ')', 'g'), '');
+		h = h.replace(new RegExp(' ?class=""', 'g'), '');
+	}
+
+	if (s.remove_linebreaks && !c.settings.indent)
+		h = h.replace(/\n|\r/g, ' ');
+
+	if (d)
+		t4 = new Date().getTime();
+
+	if (on_save && c.settings.indent)
+		h = c.formatHTML(h);
+
+	// If encoding (not recommended option)
+	if (on_submit && (s.encoding == "xml" || s.encoding == "html"))
+		h = c.xmlEncode(h);
+
+	if (d)
+		t5 = new Date().getTime();
+
+	if (c.settings.debug)
+		tinyMCE.debug("Cleanup in ms: Pre=" + (t2-t1) + ", Serialize: " + (t3-t2) + ", Post: " + (t4-t3) + ", Format: " + (t5-t4) + ", Sum: " + (t5-t1) + ".");
+
+	return h;
+};
+
+function TinyMCE_Cleanup() {
+	this.isIE = (navigator.appName == "Microsoft Internet Explorer");
+	this.rules = tinyMCE.clearArray(new Array());
+
+	// Default config
+	this.settings = {
+		indent_elements : 'head,table,tbody,thead,tfoot,form,tr,ul,ol,blockquote,object',
+		newline_before_elements : 'h1,h2,h3,h4,h5,h6,pre,address,div,ul,ol,li,meta,option,area,title,link,base,script,td',
+		newline_after_elements : 'br,hr,p,pre,address,div,ul,ol,meta,option,area,link,base,script',
+		newline_before_after_elements : 'html,head,body,table,thead,tbody,tfoot,tr,form,ul,ol,blockquote,p,object,param,hr,div',
+		indent_char : '\t',
+		indent_levels : 1,
+		entity_encoding : 'raw',
+		valid_elements : '*[*]',
+		entities : '',
+		url_converter : '',
+		invalid_elements : '',
+		verify_html : false
+	};
+
+	this.vElements = tinyMCE.clearArray(new Array());
+	this.vElementsRe = '';
+	this.closeElementsRe = /^(IMG|BR|HR|LINK|META|BASE|INPUT|AREA)$/;
+	this.codeElementsRe = /^(SCRIPT|STYLE)$/;
+	this.serializationId = 0;
+	this.mceAttribs = {
+		href : 'mce_href',
+		src : 'mce_src',
+		type : 'mce_type'
+	};
+}
+
+TinyMCE_Cleanup.prototype = {
+	init : function(s) {
+		var n, a, i, ir, or, st;
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		// Setup code formating
+		s = this.settings;
+
+		// Setup regexps
+		this.inRe = this._arrayToRe(s.indent_elements.split(','), '', '^<(', ')[^>]*');
+		this.ouRe = this._arrayToRe(s.indent_elements.split(','), '', '^<\\/(', ')[^>]*');
+		this.nlBeforeRe = this._arrayToRe(s.newline_before_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlAfterRe = this._arrayToRe(s.newline_after_elements.split(','), 'gi', '<(',  ')([^>]*)>');
+		this.nlBeforeAfterRe = this._arrayToRe(s.newline_before_after_elements.split(','), 'gi', '<(\\/?)(', ')([^>]*)>');
+		this.serializedNodes = [];
+
+		if (s.invalid_elements != '')
+			this.iveRe = this._arrayToRe(s.invalid_elements.toUpperCase().split(','), 'g', '^(', ')$');
+		else
+			this.iveRe = null;
+
+		// Setup separator
+		st = '';
+		for (i=0; i<s.indent_levels; i++)
+			st += s.indent_char;
+
+		this.inStr = st;
+
+		// If verify_html if false force *[*]
+		if (!s.verify_html) {
+			s.valid_elements = '*[*]';
+			s.extended_valid_elements = '';
+		}
+
+		this.fillStr = s.entity_encoding == "named" ? "&nbsp;" : "&#160;";
+		this.idCount = 0;
+		this.xmlEncodeRe = new RegExp('[\u007F-\uFFFF<>&"]', 'g');
+		this.xmlEncodeAposRe = new RegExp('[\u007F-\uFFFF<>&"\']', 'g');
+	},
+
+	addRuleStr : function(s) {
+		var r = this.parseRuleStr(s);
+		var n;
+
+		for (n in r) {
+			if (r[n])
+				this.rules[n] = r[n];
+		}
+
+		this.vElements = tinyMCE.clearArray(new Array());
+
+		for (n in this.rules) {
+			if (this.rules[n])
+				this.vElements[this.vElements.length] = this.rules[n].tag;
+		}
+
+		this.vElementsRe = this._arrayToRe(this.vElements, '');
+	},
+
+	isValid : function(n) {
+		this._setupRules(); // Will initialize cleanup rules
+
+		// Empty is true since it removes formatting
+		if (!n)
+			return true;
+
+		// Clean the name up a bit
+		n = n.replace(/[^a-z0-9]+/gi, '').toUpperCase();
+
+		return !tinyMCE.getParam('cleanup') || this.vElementsRe.test(n);
+	},
+
+	addChildRemoveRuleStr : function(s) {
+		var x, y, p, i, t, tn, ta, cl, r;
+
+		if (!s)
+			return;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+
+			// Split tag/children
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = "^(";
+
+				// Build regex
+				cl = this.split(/\|/, p[1]);
+				for (i=0; i<cl.length; i++) {
+					if (cl[i] == '%istrict')
+						r += tinyMCE.inlineStrict;
+					else if (cl[i] == '%itrans')
+						r += tinyMCE.inlineTransitional;
+					else if (cl[i] == '%istrict_na')
+						r += tinyMCE.inlineStrict.substring(2);
+					else if (cl[i] == '%itrans_na')
+						r += tinyMCE.inlineTransitional.substring(2);
+					else if (cl[i] == '%btrans')
+						r += tinyMCE.blockElms;
+					else if (cl[i] == '%strict')
+						r += tinyMCE.blockStrict;
+					else
+						r += (cl[i].charAt(0) != '#' ? cl[i].toUpperCase() : cl[i]);
+
+					r += (i != cl.length - 1 ? '|' : '');
+				}
+
+				r += ')$';
+//tinyMCE.debug(t + "=" + r);
+				if (this.childRules == null)
+					this.childRules = tinyMCE.clearArray(new Array());
+
+				this.childRules[tn[y]] = new RegExp(r);
+
+				if (p.length > 1)
+					this.childRules[tn[y]].wrapTag = p[2];
+			}
+		}
+	},
+
+	parseRuleStr : function(s) {
+		var ta, p, r, a, i, x, px, t, tn, y, av, or = tinyMCE.clearArray(new Array()), dv;
+
+		if (s == null || s.length == 0)
+			return or;
+
+		ta = s.split(',');
+		for (x=0; x<ta.length; x++) {
+			s = ta[x];
+			if (s.length == 0)
+				continue;
+
+			// Split tag/attrs
+			p = this.split(/\[|\]/, s);
+			if (p == null || p.length < 1)
+				t = s.toUpperCase();
+			else
+				t = p[0].toUpperCase();
+
+			// Handle all tag names
+			tn = this.split('/', t);
+			for (y=0; y<tn.length; y++) {
+				r = {};
+
+				r.tag = tn[y];
+				r.forceAttribs = null;
+				r.defaultAttribs = null;
+				r.validAttribValues = null;
+
+				// Handle prefixes
+				px = r.tag.charAt(0);
+				r.forceOpen = px == '+';
+				r.removeEmpty = px == '-';
+				r.fill = px == '#';
+				r.tag = r.tag.replace(/\+|-|#/g, '');
+				r.oTagName = tn[0].replace(/\+|-|#/g, '').toLowerCase();
+				r.isWild = new RegExp('\\*|\\?|\\+', 'g').test(r.tag);
+				r.validRe = new RegExp(this._wildcardToRe('^' + r.tag + '$'));
+
+				// Setup valid attributes
+				if (p.length > 1) {
+					r.vAttribsRe = '^(';
+					a = this.split(/\|/, p[1]);
+
+					for (i=0; i<a.length; i++) {
+						t = a[i];
+
+						if (t.charAt(0) == '!') {
+							a[i] = t = t.substring(1);
+
+							if (!r.reqAttribsRe)
+								r.reqAttribsRe = '\\s+(' + t;
+							else
+								r.reqAttribsRe += '|' + t;
+						}
+
+						av = new RegExp('(=|:|<)(.*?)$').exec(t);
+						t = t.replace(new RegExp('(=|:|<).*?$'), '');
+						if (av && av.length > 0) {
+							if (av[0].charAt(0) == ':') {
+								if (!r.forceAttribs)
+									r.forceAttribs = tinyMCE.clearArray(new Array());
+
+								r.forceAttribs[t.toLowerCase()] = av[0].substring(1);
+							} else if (av[0].charAt(0) == '=') {
+								if (!r.defaultAttribs)
+									r.defaultAttribs = tinyMCE.clearArray(new Array());
+
+								dv = av[0].substring(1);
+
+								r.defaultAttribs[t.toLowerCase()] = dv == "" ? "mce_empty" : dv;
+							} else if (av[0].charAt(0) == '<') {
+								if (!r.validAttribValues)
+									r.validAttribValues = tinyMCE.clearArray(new Array());
+
+								r.validAttribValues[t.toLowerCase()] = this._arrayToRe(this.split('?', av[0].substring(1)), 'i');
+							}
+						}
+
+						r.vAttribsRe += '' + t.toLowerCase() + (i != a.length - 1 ? '|' : '');
+
+						a[i] = t.toLowerCase();
+					}
+
+					if (r.reqAttribsRe)
+						r.reqAttribsRe = new RegExp(r.reqAttribsRe + ')=\"', 'g');
+
+					r.vAttribsRe += ')$';
+					r.vAttribsRe = this._wildcardToRe(r.vAttribsRe);
+					r.vAttribsReIsWild = new RegExp('\\*|\\?|\\+', 'g').test(r.vAttribsRe);
+					r.vAttribsRe = new RegExp(r.vAttribsRe);
+					r.vAttribs = a.reverse();
+
+					//tinyMCE.debug(r.tag, r.oTagName, r.vAttribsRe, r.vAttribsReWC);
+				} else {
+					r.vAttribsRe = '';
+					r.vAttribs = tinyMCE.clearArray(new Array());
+					r.vAttribsReIsWild = false;
+				}
+
+				or[r.tag] = r;
+			}
+		}
+
+		return or;
+	},
+
+	serializeNodeAsXML : function(n) {
+		var s, b;
+
+		if (!this.xmlDoc) {
+			if (this.isIE) {
+				try {this.xmlDoc = new ActiveXObject('MSXML2.DOMDocument');} catch (e) {}
+
+				if (!this.xmlDoc)
+					try {this.xmlDoc = new ActiveXObject('Microsoft.XmlDom');} catch (e) {}
+			} else
+				this.xmlDoc = document.implementation.createDocument('', '', null);
+
+			if (!this.xmlDoc)
+				alert("Error XML Parser could not be found.");
+		}
+
+		if (this.xmlDoc.firstChild)
+			this.xmlDoc.removeChild(this.xmlDoc.firstChild);
+
+		b = this.xmlDoc.createElement("html");
+		b = this.xmlDoc.appendChild(b);
+
+		this._convertToXML(n, b);
+
+		if (this.isIE)
+			return this.xmlDoc.xml;
+		else
+			return new XMLSerializer().serializeToString(this.xmlDoc);
+	},
+
+	_convertToXML : function(n, xn) {
+		var xd, el, i, l, cn, at, no, hc = false;
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return;
+
+		xd = this.xmlDoc;
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				el = xd.createElement(n.nodeName.toLowerCase());
+
+				at = n.attributes;
+				for (i=at.length-1; i>-1; i--) {
+					no = at[i];
+
+					if (no.specified && no.nodeValue)
+						el.setAttribute(no.nodeName.toLowerCase(), no.nodeValue);
+				}
+
+				if (!hc && !this.closeElementsRe.test(n.nodeName))
+					el.appendChild(xd.createTextNode(""));
+
+				xn = xn.appendChild(el);
+				break;
+
+			case 3: // Text
+				xn.appendChild(xd.createTextNode(n.nodeValue));
+				return;
+
+			case 8: // Comment
+				xn.appendChild(xd.createComment(n.nodeValue));
+				return;
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				this._convertToXML(cn[i], xn);
+		}
+	},
+
+	serializeNodeAsHTML : function(n, inn) {
+		var en, no, h = '', i, l, t, st, r, cn, va = false, f = false, at, hc, cr, nn;
+
+		this._setupRules(); // Will initialize cleanup rules
+
+		if (tinyMCE.isRealIE && this._isDuplicate(n))
+			return '';
+
+		// Skip non valid child elements
+		if (n.parentNode && this.childRules != null) {
+			cr = this.childRules[n.parentNode.nodeName];
+
+			if (typeof(cr) != "undefined" && !cr.test(n.nodeName)) {
+				st = true;
+				t = null;
+			}
+		}
+
+		switch (n.nodeType) {
+			case 1: // Element
+				hc = n.hasChildNodes();
+
+				if (st)
+					break;
+
+				// MSIE sometimes produces <//tag>
+				if ((tinyMCE.isRealIE) && n.nodeName.indexOf('/') != -1)
+					break;
+
+				nn = n.nodeName;
+
+				// Convert fonts to spans
+				if (this.settings.convert_fonts_to_spans) {
+					// On get content FONT -> SPAN
+					if (this.settings.on_save && nn == 'FONT')
+						nn = 'SPAN';
+
+					// On insert content SPAN -> FONT
+					if (!this.settings.on_save && nn == 'SPAN')
+						nn = 'FONT';
+				}
+
+				if (this.vElementsRe.test(nn) && (!this.iveRe || !this.iveRe.test(nn)) && !inn) {
+					va = true;
+
+					r = this.rules[nn];
+					if (!r) {
+						at = this.rules;
+						for (no in at) {
+							if (at[no] && at[no].validRe.test(nn)) {
+								r = at[no];
+								break;
+							}
+						}
+					}
+
+					en = r.isWild ? nn.toLowerCase() : r.oTagName;
+					f = r.fill;
+
+					if (r.removeEmpty && !hc)
+						return "";
+
+					t = '<' + en;
+
+					if (r.vAttribsReIsWild) {
+						// Serialize wildcard attributes
+						at = n.attributes;
+						for (i=at.length-1; i>-1; i--) {
+							no = at[i];
+							if (no.specified && r.vAttribsRe.test(no.nodeName))
+								t += this._serializeAttribute(n, r, no.nodeName);
+						}
+					} else {
+						// Serialize specific attributes
+						for (i=r.vAttribs.length-1; i>-1; i--)
+							t += this._serializeAttribute(n, r, r.vAttribs[i]);
+					}
+
+					// Serialize mce_ atts
+					if (!this.settings.on_save) {
+						at = this.mceAttribs;
+
+						for (no in at) {
+							if (at[no])
+								t += this._serializeAttribute(n, r, at[no]);
+						}
+					}
+
+					// Check for required attribs
+					if (r.reqAttribsRe && !t.match(r.reqAttribsRe))
+						t = null;
+
+					// Close these
+					if (t != null && this.closeElementsRe.test(nn))
+						return t + ' />';
+
+					if (t != null)
+						h += t + '>';
+
+					if (this.isIE && this.codeElementsRe.test(nn))
+						h += n.innerHTML;
+				}
+			break;
+
+			case 3: // Text
+				if (st)
+					break;
+
+				if (n.parentNode && this.codeElementsRe.test(n.parentNode.nodeName))
+					return this.isIE ? '' : n.nodeValue;
+
+				return this.xmlEncode(n.nodeValue);
+
+			case 8: // Comment
+				if (st)
+					break;
+
+				return "<!--" + this._trimComment(n.nodeValue) + "-->";
+		}
+
+		if (hc) {
+			cn = n.childNodes;
+
+			for (i=0, l=cn.length; i<l; i++)
+				h += this.serializeNodeAsHTML(cn[i]);
+		}
+
+		// Fill empty nodes
+		if (f && !hc)
+			h += this.fillStr;
+
+		// End element
+		if (t != null && va)
+			h += '</' + en + '>';
+
+		return h;
+	},
+
+	_serializeAttribute : function(n, r, an) {
+		var av = '', t, os = this.settings.on_save;
+
+		if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0))
+			return '';
+
+		if (os && this.mceAttribs[an])
+			av = this._getAttrib(n, this.mceAttribs[an]);
+
+		if (av.length == 0)
+			av = this._getAttrib(n, an);
+
+		if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) {
+			av = t;
+
+			if (av == "mce_empty")
+				return " " + an + '=""';
+		}
+
+		if (r.forceAttribs && (t = r.forceAttribs[an]))
+			av = t;
+
+		if (os && av.length != 0 && /^(src|href|longdesc)$/.test(an))
+			av = this._urlConverter(this, n, av);
+
+		if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av))
+			return "";
+
+		if (av.length != 0 && av == "{$uid}")
+			av = "uid_" + (this.idCount++);
+
+		if (av.length != 0) {
+			if (an.indexOf('on') != 0)
+				av = this.xmlEncode(av, 1);
+
+			return " " + an + "=" + '"' + av + '"';
+		}
+
+		return "";
+	},
+
+	formatHTML : function(h) {
+		var s = this.settings, p = '', i = 0, li = 0, o = '', l;
+
+		// Replace BR in pre elements to \n
+		h = h.replace(/<pre([^>]*)>(.*?)<\/pre>/gi, function (a, b, c) {
+			c = c.replace(/<br\s*\/>/gi, '\n');
+			return '<pre' + b + '>' + c + '</pre>';
+		});
+
+		h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :)
+		h = '\n' + h;
+		h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting
+		h = h.replace(this.nlBeforeRe, '\n<$1$2>');
+		h = h.replace(this.nlAfterRe, '<$1$2>\n');
+		h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n');
+		h += '\n';
+
+		//tinyMCE.debug(h);
+
+		while ((i = h.indexOf('\n', i + 1)) != -1) {
+			if ((l = h.substring(li + 1, i)).length != 0) {
+				if (this.ouRe.test(l) && p.length >= s.indent_levels)
+					p = p.substring(s.indent_levels);
+
+				o += p + l + '\n';
+	
+				if (this.inRe.test(l))
+					p += this.inStr;
+			}
+
+			li = i;
+		}
+
+		//tinyMCE.debug(h);
+
+		return o;
+	},
+
+	xmlEncode : function(s, skip_apos) {
+		var cl = this, re = !skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe;
+
+		this._setupEntities(); // Will intialize lookup table
+
+		switch (this.settings.entity_encoding) {
+			case "raw":
+				return tinyMCE.xmlEncode(s, skip_apos);
+
+			case "named":
+				return s.replace(re, function (c, b) {
+					b = cl.entities[c.charCodeAt(0)];
+
+					return b ? '&' + b + ';' : c;
+				});
+
+			case "numeric":
+				return s.replace(re, function (c, b) {
+					return b ? '&#' + c.charCodeAt(0) + ';' : c;
+				});
+		}
+
+		return s;
+	},
+
+	split : function(re, s) {
+		var c = s.split(re);
+		var i, l, o = new Array();
+
+		for (i=0, l=c.length; i<l; i++) {
+			if (c[i] != '')
+				o[i] = c[i];
+		}
+
+		return o;
+	},
+
+	_trimComment : function(s) {
+		// Remove mce_src, mce_href
+		s = s.replace(new RegExp('\\smce_src=\"[^\"]*\"', 'gi'), "");
+		s = s.replace(new RegExp('\\smce_href=\"[^\"]*\"', 'gi'), "");
+
+		return s;
+	},
+
+	_getAttrib : function(e, n, d) {
+		var v, ex, nn;
+
+		if (typeof(d) == "undefined")
+			d = "";
+
+		if (!e || e.nodeType != 1)
+			return d;
+
+		try {
+			v = e.getAttribute(n, 0);
+		} catch (ex) {
+			// IE 7 may cast exception on invalid attributes
+			v = e.getAttribute(n, 2);
+		}
+
+		if (n == "class" && !v)
+			v = e.className;
+
+		if (this.isIE) {
+			if (n == "http-equiv")
+				v = e.httpEquiv;
+
+			nn = e.nodeName;
+
+			// Skip the default values that IE returns
+			if (nn == "FORM" && n == "enctype" && v == "application/x-www-form-urlencoded")
+				v = "";
+
+			if (nn == "INPUT" && n == "size" && v == "20")
+				v = "";
+
+			if (nn == "INPUT" && n == "maxlength" && v == "2147483647")
+				v = "";
+		}
+
+		if (n == 'style' && v) {
+			if (!tinyMCE.isOpera)
+				v = e.style.cssText;
+
+			v = tinyMCE.serializeStyle(tinyMCE.parseStyle(v));
+		}
+
+		if (this.settings.on_save && n.indexOf('on') != -1 && this.settings.on_save && v && v != "")
+			v = tinyMCE.cleanupEventStr(v);
+
+		return (v && v != "") ? '' + v : d;
+	},
+
+	_urlConverter : function(c, n, v) {
+		if (!c.settings.on_save)
+			return tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings.base_href, v);
+		else if (tinyMCE.getParam('convert_urls')) {
+			if (!this.urlConverter)
+				this.urlConverter = eval(tinyMCE.settings.urlconverter_callback);
+
+			return this.urlConverter(v, n, true);
+		}
+
+		return v;
+	},
+
+	_arrayToRe : function(a, op, be, af) {
+		var i, r;
+
+		op = typeof(op) == "undefined" ? "gi" : op;
+		be = typeof(be) == "undefined" ? "^(" : be;
+		af = typeof(af) == "undefined" ? ")$" : af;
+
+		r = be;
+
+		for (i=0; i<a.length; i++)
+			r += this._wildcardToRe(a[i]) + (i != a.length-1 ? "|" : "");
+
+		r += af;
+
+		return new RegExp(r, op);
+	},
+
+	_wildcardToRe : function(s) {
+		s = s.replace(/\?/g, '(\\S?)');
+		s = s.replace(/\+/g, '(\\S+)');
+		s = s.replace(/\*/g, '(\\S*)');
+
+		return s;
+	},
+
+	_setupEntities : function() {
+		var n, a, i, s = this.settings;
+
+		// Setup entities
+		if (!this.entitiesDone) {
+			if (s.entity_encoding == "named") {
+				n = tinyMCE.clearArray(new Array());
+				a = this.split(',', s.entities);
+				for (i=0; i<a.length; i+=2)
+					n[a[i]] = a[i+1];
+
+				this.entities = n;
+			}
+
+			this.entitiesDone = true;
+		}
+	},
+
+	_setupRules : function() {
+		var s = this.settings;
+
+		// Setup default rule
+		if (!this.rulesDone) {
+			this.addRuleStr(s.valid_elements);
+			this.addRuleStr(s.extended_valid_elements);
+			this.addChildRemoveRuleStr(s.valid_child_elements);
+
+			this.rulesDone = true;
+		}
+	},
+
+	_isDuplicate : function(n) {
+		var i;
+
+		if (!this.settings.fix_content_duplication)
+			return false;
+
+		if (tinyMCE.isRealIE && n.nodeType == 1) {
+			// Mark elements
+			if (n.mce_serialized == this.serializationId)
+				return true;
+
+			n.setAttribute('mce_serialized', this.serializationId);
+		} else {
+			// Search lookup table for text nodes  and comments
+			for (i=0; i<this.serializedNodes.length; i++) {
+				if (this.serializedNodes[i] == n)
+					return true;
+			}
+
+			this.serializedNodes[this.serializedNodes.length] = n;
+		}
+
+		return false;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_DOMUtils.class.js */
+
+TinyMCE_Engine.prototype.createTagHTML = function(tn, a, h) {
+	var o = '', f = tinyMCE.xmlEncode;
+
+	o = '<' + tn;
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				o += ' ' + f(n) + '="' + f('' + a[n]) + '"';
+		}
+	}
+
+	o += !h ? ' />' : '>' + h + '</' + tn + '>';
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.createTag = function(d, tn, a, h) {
+	var o = d.createElement(tn);
+
+	if (a) {
+		for (n in a) {
+			if (typeof(a[n]) != 'function' && a[n] != null)
+				tinyMCE.setAttrib(o, n, a[n]);
+		}
+	}
+
+	if (h)
+		o.innerHTML = h;
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) {
+	return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0];
+};
+
+TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) {
+	var i, nl = n.getElementsByTagName(e), o = new Array();
+
+	for (i=0; i<nl.length; i++) {
+		if (tinyMCE.getAttrib(nl[i], a).indexOf(v) != -1)
+			o[o.length] = nl[i];
+	}
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.isBlockElement = function(n) {
+	return n != null && n.nodeType == 1 && this.blockRegExp.test(n.nodeName);
+};
+
+TinyMCE_Engine.prototype.getParentBlockElement = function(n, r) {
+	return this.getParentNode(n, function(n) {
+		return tinyMCE.isBlockElement(n);
+	}, r);
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.insertAfter = function(n, r){
+	if (r.nextSibling)
+		r.parentNode.insertBefore(n, r.nextSibling);
+	else
+		r.parentNode.appendChild(n);
+};
+
+TinyMCE_Engine.prototype.setInnerHTML = function(e, h) {
+	var i, nl, n;
+
+	// Convert all strong/em to b/i in Gecko
+	if (tinyMCE.isGecko) {
+		h = h.replace(/<embed([^>]*)>/gi, '<tmpembed$1>');
+		h = h.replace(/<em([^>]*)>/gi, '<i$1>');
+		h = h.replace(/<tmpembed([^>]*)>/gi, '<embed$1>');
+		h = h.replace(/<strong([^>]*)>/gi, '<b$1>');
+		h = h.replace(/<\/strong>/gi, '</b>');
+		h = h.replace(/<\/em>/gi, '</i>');
+	}
+
+	if (tinyMCE.isRealIE) {
+		// Since MSIE handles invalid HTML better that valid XHTML we
+		// need to make some things invalid. <hr /> gets converted to <hr>.
+		h = h.replace(/\s\/>/g, '>');
+
+		// Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones
+		h = h.replace(/<p([^>]*)>\u00A0?<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s*&nbsp;\s*<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+		h = h.replace(/<p([^>]*)>\s+<\/p>/gi, '<p$1 mce_keep="true">&nbsp;</p>'); // Keep empty paragraphs
+
+		// Remove first comment
+		e.innerHTML = tinyMCE.uniqueTag + h;
+		e.firstChild.removeNode(true);
+
+		// Remove weird auto generated empty paragraphs unless it's supposed to be there
+		nl = e.getElementsByTagName("p");
+		for (i=nl.length-1; i>=0; i--) {
+			n = nl[i];
+
+			if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep)
+				n.parentNode.removeChild(n);
+		}
+	} else {
+		h = this.fixGeckoBaseHREFBug(1, e, h);
+		e.innerHTML = h;
+		this.fixGeckoBaseHREFBug(2, e, h);
+	}
+};
+
+TinyMCE_Engine.prototype.getOuterHTML = function(e) {
+	if (tinyMCE.isIE)
+		return e.outerHTML;
+
+	var d = e.ownerDocument.createElement("body");
+	d.appendChild(e.cloneNode(true));
+	return d.innerHTML;
+};
+
+TinyMCE_Engine.prototype.setOuterHTML = function(e, h, d) {
+	var d = typeof(d) == "undefined" ? e.ownerDocument : d, i, nl, t;
+
+	if (tinyMCE.isIE && e.nodeType == 1)
+		e.outerHTML = h;
+	else {
+		t = d.createElement("body");
+		t.innerHTML = h;
+
+		for (i=0, nl=t.childNodes; i<nl.length; i++)
+			e.parentNode.insertBefore(nl[i].cloneNode(true), e);
+
+		e.parentNode.removeChild(e);
+	}
+};
+
+TinyMCE_Engine.prototype._getElementById = function(id, d) {
+	var e, i, j, f;
+
+	if (typeof(d) == "undefined")
+		d = document;
+
+	e = d.getElementById(id);
+	if (!e) {
+		f = d.forms;
+
+		for (i=0; i<f.length; i++) {
+			for (j=0; j<f[i].elements.length; j++) {
+				if (f[i].elements[j].name == id) {
+					e = f[i].elements[j];
+					break;
+				}
+			}
+		}
+	}
+
+	return e;
+};
+
+TinyMCE_Engine.prototype.getNodeTree = function(n, na, t, nn) {
+	return this.selectNodes(n, function(n) {
+		return (!t || n.nodeType == t) && (!nn || n.nodeName == nn);
+	}, na ? na : new Array());
+};
+
+TinyMCE_Engine.prototype.getParentElement = function(n, na, f, r) {
+	var re = na ? new RegExp('^(' + na.toUpperCase().replace(/,/g, '|') + ')$') : 0, v;
+
+	// Compatiblity with old scripts where f param was a attribute string
+	if (f && typeof(f) == 'string')
+		return this.getParentElement(n, na, function(no) {return tinyMCE.getAttrib(no, f) != '';});
+
+	return this.getParentNode(n, function(n) {
+		return ((n.nodeType == 1 && !re) || (re && re.test(n.nodeName))) && (!f || f(n));
+	}, r);
+};
+
+TinyMCE_Engine.prototype.getParentNode = function(n, f, r) {
+	while (n) {
+		if (n == r)
+			return null;
+
+		if (f(n))
+			return n;
+
+		n = n.parentNode;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.getAttrib = function(elm, name, dv) {
+	var v;
+
+	if (typeof(dv) == "undefined")
+		dv = "";
+
+	// Not a element
+	if (!elm || elm.nodeType != 1)
+		return dv;
+
+	try {
+		v = elm.getAttribute(name, 0);
+	} catch (ex) {
+		// IE 7 may cast exception on invalid attributes
+		v = elm.getAttribute(name, 2);
+	}
+
+	// Try className for class attrib
+	if (name == "class" && !v)
+		v = elm.className;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "src" && elm.src != null && elm.src != "")
+		v = elm.src;
+
+	// Workaround for a issue with Firefox 1.5rc2+
+	if (tinyMCE.isGecko && name == "href" && elm.href != null && elm.href != "")
+		v = elm.href;
+
+	if (name == "http-equiv" && tinyMCE.isIE)
+		v = elm.httpEquiv;
+
+	if (name == "style" && !tinyMCE.isOpera)
+		v = elm.style.cssText;
+
+	return (v && v != "") ? v : dv;
+};
+
+TinyMCE_Engine.prototype.setAttrib = function(el, name, va, fix) {
+	if (typeof(va) == "number" && va != null)
+		va = "" + va;
+
+	if (fix) {
+		if (va == null)
+			va = "";
+
+		va = va.replace(/[^0-9%]/g, '');
+	}
+
+	if (name == "style")
+		el.style.cssText = va;
+
+	if (name == "class")
+		el.className = va;
+
+	if (va != null && va != "" && va != -1)
+		el.setAttribute(name, va);
+	else
+		el.removeAttribute(name);
+};
+
+TinyMCE_Engine.prototype.setStyleAttrib = function(e, n, v) {
+	e.style[n] = v;
+
+	// Style attrib deleted in IE
+	if (tinyMCE.isIE && v == null || v == '') {
+		v = tinyMCE.serializeStyle(tinyMCE.parseStyle(e.style.cssText));
+		e.style.cssText = v;
+		e.setAttribute("style", v);
+	}
+};
+
+TinyMCE_Engine.prototype.switchClass = function(ei, c) {
+	var e;
+
+	if (tinyMCE.switchClassCache[ei])
+		e = tinyMCE.switchClassCache[ei];
+	else
+		e = tinyMCE.switchClassCache[ei] = document.getElementById(ei);
+
+	if (e) {
+		// Keep tile mode
+		if (tinyMCE.settings.button_tile_map && e.className && e.className.indexOf('mceTiledButton') == 0)
+			c = 'mceTiledButton ' + c;
+
+		e.className = c;
+	}
+};
+
+TinyMCE_Engine.prototype.getAbsPosition = function(n, cn) {
+	var l = 0, t = 0;
+
+	while (n && n != cn) {
+		l += n.offsetLeft;
+		t += n.offsetTop;
+		n = n.offsetParent;
+	}
+
+	return {absLeft : l, absTop : t};
+};
+
+TinyMCE_Engine.prototype.prevNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.previousSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.nextNode = function(e, n) {
+	var a = n.split(','), i;
+
+	while ((e = e.nextSibling) != null) {
+		for (i=0; i<a.length; i++) {
+			if (e.nodeName == a[i])
+				return e;
+		}
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.selectElements = function(n, na, f) {
+	var i, a = [], nl, x;
+
+	for (x=0, na = na.split(','); x<na.length; x++)
+		for (i=0, nl = n.getElementsByTagName(na[x]); i<nl.length; i++)
+			(!f || f(nl[i])) && a.push(nl[i]);
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.selectNodes = function(n, f, a) {
+	var i;
+
+	if (!a)
+		a = new Array();
+
+	if (f(n))
+		a[a.length] = n;
+
+	if (n.hasChildNodes()) {
+		for (i=0; i<n.childNodes.length; i++)
+			tinyMCE.selectNodes(n.childNodes[i], f, a);
+	}
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.addCSSClass = function(e, c, b) {
+	var o = this.removeCSSClass(e, c);
+	return e.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+};
+
+TinyMCE_Engine.prototype.removeCSSClass = function(e, c) {
+	c = e.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+	return e.className = c != ' ' ? c : '';
+};
+
+TinyMCE_Engine.prototype.hasCSSClass = function(n, c) {
+	return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
+};
+
+TinyMCE_Engine.prototype.renameElement = function(e, n, d) {
+	var ne, i, ar;
+
+	d = typeof(d) == "undefined" ? tinyMCE.selectedInstance.getDoc() : d;
+
+	if (e) {
+		ne = d.createElement(n);
+
+		ar = e.attributes;
+		for (i=ar.length-1; i>-1; i--) {
+			if (ar[i].specified && ar[i].nodeValue)
+				ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue);
+		}
+
+		ar = e.childNodes;
+		for (i=0; i<ar.length; i++)
+			ne.appendChild(ar[i].cloneNode(true));
+
+		e.parentNode.replaceChild(ne, e);
+	}
+};
+
+TinyMCE_Engine.prototype.getViewPort = function(w) {
+	var d = w.document, m = d.compatMode == 'CSS1Compat', b = d.body, de = d.documentElement;
+
+	return {
+		left : w.pageXOffset || (m ? de.scrollLeft : b.scrollLeft),
+		top : w.pageYOffset || (m ? de.scrollTop : b.scrollTop),
+		width : w.innerWidth || (m ? de.clientWidth : b.clientWidth),
+		height : w.innerHeight || (m ? de.clientHeight : b.clientHeight)
+	};
+};
+
+TinyMCE_Engine.prototype.getStyle = function(n, na, d) {
+	if (!n)
+		return false;
+
+	// Gecko
+	if (tinyMCE.isGecko && n.ownerDocument.defaultView) {
+		try {
+			return n.ownerDocument.defaultView.getComputedStyle(n, null).getPropertyValue(na);
+		} catch (n) {
+			// Old safari might fail
+			return null;
+		}
+	}
+
+	// Camelcase it, if needed
+	na = na.replace(/-(\D)/g, function(a, b){
+		return b.toUpperCase();
+	});
+
+	// IE & Opera
+	if (n.currentStyle)
+		return n.currentStyle[na];
+
+	return false;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_URL.class.js */
+
+TinyMCE_Engine.prototype.parseURL = function(url_str) {
+	var urlParts = new Array();
+
+	if (url_str) {
+		var pos, lastPos;
+
+		// Parse protocol part
+		pos = url_str.indexOf('://');
+		if (pos != -1) {
+			urlParts['protocol'] = url_str.substring(0, pos);
+			lastPos = pos + 3;
+		}
+
+		// Find port or path start
+		for (var i=lastPos; i<url_str.length; i++) {
+			var chr = url_str.charAt(i);
+
+			if (chr == ':')
+				break;
+
+			if (chr == '/')
+				break;
+		}
+		pos = i;
+
+		// Get host
+		urlParts['host'] = url_str.substring(lastPos, pos);
+
+		// Get port
+		urlParts['port'] = "";
+		lastPos = pos;
+		if (url_str.charAt(pos) == ':') {
+			pos = url_str.indexOf('/', lastPos);
+			urlParts['port'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get path
+		lastPos = pos;
+		pos = url_str.indexOf('?', lastPos);
+
+		if (pos == -1)
+			pos = url_str.indexOf('#', lastPos);
+
+		if (pos == -1)
+			pos = url_str.length;
+
+		urlParts['path'] = url_str.substring(lastPos, pos);
+
+		// Get query
+		lastPos = pos;
+		if (url_str.charAt(pos) == '?') {
+			pos = url_str.indexOf('#');
+			pos = (pos == -1) ? url_str.length : pos;
+			urlParts['query'] = url_str.substring(lastPos+1, pos);
+		}
+
+		// Get anchor
+		lastPos = pos;
+		if (url_str.charAt(pos) == '#') {
+			pos = url_str.length;
+			urlParts['anchor'] = url_str.substring(lastPos+1, pos);
+		}
+	}
+
+	return urlParts;
+};
+
+TinyMCE_Engine.prototype.serializeURL = function(up) {
+	var o = "";
+
+	if (up['protocol'])
+		o += up['protocol'] + "://";
+
+	if (up['host'])
+		o += up['host'];
+
+	if (up['port'])
+		o += ":" + up['port'];
+
+	if (up['path'])
+		o += up['path'];
+
+	if (up['query'])
+		o += "?" + up['query'];
+
+	if (up['anchor'])
+		o += "#" + up['anchor'];
+
+	return o;
+};
+
+TinyMCE_Engine.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
+	var baseURL = this.parseURL(base_url);
+	var targetURL = this.parseURL(url_to_relative);
+	var strTok1;
+	var strTok2;
+	var breakPoint = 0;
+	var outPath = "";
+	var forceSlash = false;
+
+	if (targetURL.path == "")
+		targetURL.path = "/";
+	else
+		forceSlash = true;
+
+	// Crop away last path part
+	base_url = baseURL.path.substring(0, baseURL.path.lastIndexOf('/'));
+	strTok1 = base_url.split('/');
+	strTok2 = targetURL.path.split('/');
+
+	if (strTok1.length >= strTok2.length) {
+		for (var i=0; i<strTok1.length; i++) {
+			if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (strTok1.length < strTok2.length) {
+		for (var i=0; i<strTok2.length; i++) {
+			if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
+				breakPoint = i + 1;
+				break;
+			}
+		}
+	}
+
+	if (breakPoint == 1)
+		return targetURL.path;
+
+	for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
+		outPath += "../";
+
+	for (var i=breakPoint-1; i<strTok2.length; i++) {
+		if (i != (breakPoint-1))
+			outPath += "/" + strTok2[i];
+		else
+			outPath += strTok2[i];
+	}
+
+	targetURL.protocol = null;
+	targetURL.host = null;
+	targetURL.port = null;
+	targetURL.path = outPath == "" && forceSlash ? "/" : outPath;
+
+	// Remove document prefix from local anchors
+	var fileName = baseURL.path;
+	var pos;
+
+	if ((pos = fileName.lastIndexOf('/')) != -1)
+		fileName = fileName.substring(pos + 1);
+
+	// Is local anchor
+	if (fileName == targetURL.path && targetURL.anchor != "")
+		targetURL.path = "";
+
+	// If empty and not local anchor force filename or slash
+	if (targetURL.path == "" && !targetURL.anchor)
+		targetURL.path = fileName != "" ? fileName : "/";
+
+	return this.serializeURL(targetURL);
+};
+
+TinyMCE_Engine.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
+	var baseURL = this.parseURL(base_url), baseURLParts, relURLParts;
+	var relURL = this.parseURL(relative_url);
+
+	if (relative_url == "" || relative_url.indexOf('://') != -1 || /^(mailto:|javascript:|#|\/)/.test(relative_url))
+		return relative_url;
+
+	// Split parts
+	baseURLParts = baseURL['path'].split('/');
+	relURLParts = relURL['path'].split('/');
+
+	// Remove empty chunks
+	var newBaseURLParts = new Array();
+	for (var i=baseURLParts.length-1; i>=0; i--) {
+		if (baseURLParts[i].length == 0)
+			continue;
+
+		newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
+	}
+	baseURLParts = newBaseURLParts.reverse();
+
+	// Merge relURLParts chunks
+	var newRelURLParts = new Array();
+	var numBack = 0;
+	for (var i=relURLParts.length-1; i>=0; i--) {
+		if (relURLParts[i].length == 0 || relURLParts[i] == ".")
+			continue;
+
+		if (relURLParts[i] == '..') {
+			numBack++;
+			continue;
+		}
+
+		if (numBack > 0) {
+			numBack--;
+			continue;
+		}
+
+		newRelURLParts[newRelURLParts.length] = relURLParts[i];
+	}
+
+	relURLParts = newRelURLParts.reverse();
+
+	// Remove end from absolute path
+	var len = baseURLParts.length-numBack;
+	var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
+	var start = "", end = "";
+
+	// Build output URL
+	relURL.protocol = baseURL.protocol;
+	relURL.host = baseURL.host;
+	relURL.port = baseURL.port;
+
+	// Re-add trailing slash if it's removed
+	if (relURL.path.charAt(relURL.path.length-1) == "/")
+		absPath += "/";
+
+	relURL.path = absPath;
+
+	return this.serializeURL(relURL);
+};
+
+TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) {
+	var prot = document.location.protocol;
+	var host = document.location.hostname;
+	var port = document.location.port;
+
+	// Pass through file protocol
+	if (prot == "file:")
+		return url;
+
+	// Something is wrong, remove weirdness
+	url = tinyMCE.regexpReplace(url, '(http|https):///', '/');
+
+	// Mailto link or anchor (Pass through)
+	if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#")
+		return url;
+
+	// Fix relative/Mozilla
+	if (!tinyMCE.isIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/')
+		return tinyMCE.settings['base_href'] + url;
+
+	// Handle relative URLs
+	if (on_save && tinyMCE.getParam('relative_urls')) {
+		var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+		if (curl.charAt(0) == '/')
+			curl = tinyMCE.settings['document_base_prefix'] + curl;
+
+		var urlParts = tinyMCE.parseURL(curl);
+		var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']);
+
+		// Force relative
+		if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port']))
+			return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl);
+	}
+
+	// Handle absolute URLs
+	if (!tinyMCE.getParam('relative_urls')) {
+		var urlParts = tinyMCE.parseURL(url);
+		var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']);
+
+		// Force absolute URLs from relative URLs
+		url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);
+
+		// If anchor and path is the same page
+		if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path'])
+			return "#" + urlParts['anchor'];
+	}
+
+	// Remove current domain
+	if (tinyMCE.getParam('remove_script_host')) {
+		var start = "", portPart = "";
+
+		if (port != "")
+			portPart = ":" + port;
+
+		start = prot + "//" + host + portPart + "/";
+
+		if (url.indexOf(start) == 0)
+			url = url.substring(start.length-1);
+	}
+
+	return url;
+};
+
+TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) {
+	var i, elms, src, href, mhref, msrc;
+
+	// Convert all image URL:s to absolute URL
+	elms = body.getElementsByTagName("img");
+	for (i=0; i<elms.length; i++) {
+		src = tinyMCE.getAttrib(elms[i], 'src');
+
+		msrc = tinyMCE.getAttrib(elms[i], 'mce_src');
+		if (msrc != "")
+			src = msrc;
+
+		if (src != "") {
+			src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
+			elms[i].setAttribute("src", src);
+		}
+	}
+
+	// Convert all link URL:s to absolute URL
+	elms = body.getElementsByTagName("a");
+	for (i=0; i<elms.length; i++) {
+		href = tinyMCE.getAttrib(elms[i], 'href');
+
+		mhref = tinyMCE.getAttrib(elms[i], 'mce_href');
+		if (mhref != "")
+			href = mhref;
+
+		if (href && href != "") {
+			href = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], href);
+			elms[i].setAttribute("href", href);
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Array.class.js */
+
+TinyMCE_Engine.prototype.clearArray = function(a) {
+	var n;
+
+	for (n in a)
+		a[n] = null;
+
+	return a;
+};
+
+TinyMCE_Engine.prototype.explode = function(d, s) {
+	var ar = s.split(d), oar = new Array(), i;
+
+	for (i = 0; i<ar.length; i++) {
+		if (ar[i] != "")
+			oar[oar.length] = ar[i];
+	}
+
+	return oar;
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Event.class.js */
+
+TinyMCE_Engine.prototype._setEventsEnabled = function(node, state) {
+	var evs, x, y, elms, i, event;
+	var events = ['onfocus','onblur','onclick','ondblclick',
+				'onmousedown','onmouseup','onmouseover','onmousemove',
+				'onmouseout','onkeypress','onkeydown','onkeydown','onkeyup'];
+
+	evs = tinyMCE.settings['event_elements'].split(',');
+	for (y=0; y<evs.length; y++){
+		elms = node.getElementsByTagName(evs[y]);
+		for (i=0; i<elms.length; i++) {
+			event = "";
+
+			for (x=0; x<events.length; x++) {
+				if ((event = tinyMCE.getAttrib(elms[i], events[x])) != '') {
+					event = tinyMCE.cleanupEventStr("" + event);
+
+					if (!state)
+						event = "return true;" + event;
+					else
+						event = event.replace(/^return true;/gi, '');
+
+					elms[i].removeAttribute(events[x]);
+					elms[i].setAttribute(events[x], event);
+				}
+			}
+		}
+	}
+};
+
+TinyMCE_Engine.prototype._eventPatch = function(editor_id) {
+	var n, inst, win, e;
+
+	// Remove odd, error
+	if (typeof(tinyMCE) == "undefined")
+		return true;
+
+	try {
+		// Try selected instance first
+		if (tinyMCE.selectedInstance) {
+			win = tinyMCE.selectedInstance.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+
+		// Search for it
+		for (n in tinyMCE.instances) {
+			inst = tinyMCE.instances[n];
+
+			if (!tinyMCE.isInstance(inst))
+				continue;
+
+			inst.select();
+			win = inst.getWin();
+
+			if (win && win.event) {
+				e = win.event;
+
+				if (!e.target)
+					e.target = e.srcElement;
+
+				TinyMCE_Engine.prototype.handleEvent(e);
+				return;
+			}
+		}
+	} catch (ex) {
+		// Ignore error if iframe is pointing to external URL
+	}
+};
+
+TinyMCE_Engine.prototype.findEvent = function(e) {
+	var n, inst;
+
+	if (e)
+		return e;
+
+	for (n in tinyMCE.instances) {
+		inst = tinyMCE.instances[n];
+
+		if (tinyMCE.isInstance(inst) && inst.getWin().event)
+			return inst.getWin().event;
+	}
+
+	return null;
+};
+
+TinyMCE_Engine.prototype.unloadHandler = function() {
+	tinyMCE.triggerSave(true, true);
+};
+
+TinyMCE_Engine.prototype.addEventHandlers = function(inst) {
+	this.setEventHandlers(inst, 1);
+};
+
+TinyMCE_Engine.prototype.setEventHandlers = function(inst, s) {
+	var doc = inst.getDoc(), ie, ot, i, f = s ? tinyMCE.addEvent : tinyMCE.removeEvent;
+
+	ie = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'controlselect', 'dblclick'];
+	ot = ['keypress', 'keyup', 'keydown', 'click', 'mouseup', 'mousedown', 'focus', 'blur', 'dragdrop'];
+
+	inst.switchSettings();
+
+	if (tinyMCE.isIE) {
+		for (i=0; i<ie.length; i++)
+			f(doc, ie[i], TinyMCE_Engine.prototype._eventPatch);
+	} else {
+		for (i=0; i<ot.length; i++)
+			f(doc, ot[i], tinyMCE.handleEvent);
+
+		// Force designmode
+		try {
+			doc.designMode = "On";
+		} catch (e) {
+			// Ignore
+		}
+	}
+};
+
+TinyMCE_Engine.prototype.onMouseMove = function() {
+	var inst, lh;
+
+	// Fix for IE7 bug where it's not restoring hover on anchors correctly
+	if (tinyMCE.lastHover) {
+		lh = tinyMCE.lastHover;
+
+		// Call out on menus and refresh class on normal buttons
+		if (lh.className.indexOf('mceMenu') != -1)
+			tinyMCE._menuButtonEvent('out', lh);
+		else
+			lh.className = lh.className;
+
+		tinyMCE.lastHover = null;
+	}
+
+	if (!tinyMCE.hasMouseMoved) {
+		inst = tinyMCE.selectedInstance;
+
+		// Workaround for bug #1437457 (Odd MSIE bug)
+		if (inst.isFocused) {
+			inst.undoBookmark = inst.selection.getBookmark();
+			tinyMCE.hasMouseMoved = true;
+		}
+	}
+
+//	tinyMCE.cancelEvent(inst.getWin().event);
+//	return false;
+};
+
+TinyMCE_Engine.prototype.cancelEvent = function(e) {
+	if (!e)
+		return false;
+
+	if (tinyMCE.isIE) {
+		e.returnValue = false;
+		e.cancelBubble = true;
+	} else {
+		e.preventDefault();
+		e.stopPropagation && e.stopPropagation();
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.addEvent = function(o, n, h) {
+	// Add cleanup for all non unload events
+	if (n != 'unload') {
+		function clean() {
+			var ex;
+
+			try {
+				tinyMCE.removeEvent(o, n, h);
+				tinyMCE.removeEvent(window, 'unload', clean);
+				o = n = h = null;
+			} catch (ex) {
+				// IE may produce access denied exception on unload
+			}
+		}
+
+		// Add memory cleaner
+		tinyMCE.addEvent(window, 'unload', clean);
+	}
+
+	if (o.attachEvent)
+		o.attachEvent("on" + n, h);
+	else
+		o.addEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.removeEvent = function(o, n, h) {
+	if (o.detachEvent)
+		o.detachEvent("on" + n, h);
+	else
+		o.removeEventListener(n, h, false);
+};
+
+TinyMCE_Engine.prototype.addSelectAccessibility = function(e, s, w) {
+	// Add event handlers 
+	if (!s._isAccessible) {
+		s.onkeydown = tinyMCE.accessibleEventHandler;
+		s.onblur = tinyMCE.accessibleEventHandler;
+		s._isAccessible = true;
+		s._win = w;
+	}
+
+	return false;
+};
+
+TinyMCE_Engine.prototype.accessibleEventHandler = function(e) {
+	var win = this._win;
+	e = tinyMCE.isIE ? win.event : e;
+	var elm = tinyMCE.isIE ? e.srcElement : e.target;
+
+	// Unpiggyback onchange on blur
+	if (e.type == "blur") {
+		if (elm.oldonchange) {
+			elm.onchange = elm.oldonchange;
+			elm.oldonchange = null;
+		}
+
+		return true;
+	}
+
+	// Piggyback onchange
+	if (elm.nodeName == "SELECT" && !elm.oldonchange) {
+		elm.oldonchange = elm.onchange;
+		elm.onchange = null;
+	}
+
+	// Execute onchange and remove piggyback
+	if (e.keyCode == 13 || e.keyCode == 32) {
+		elm.onchange = elm.oldonchange;
+		elm.onchange();
+		elm.oldonchange = null;
+
+		tinyMCE.cancelEvent(e);
+		return false;
+	}
+
+	return true;
+};
+
+TinyMCE_Engine.prototype._resetIframeHeight = function() {
+	var ife;
+
+	if (tinyMCE.isRealIE) {
+		ife = tinyMCE.selectedInstance.iframeElement;
+
+/*		if (ife._oldWidth) {
+			ife.style.width = ife._oldWidth;
+			ife.width = ife._oldWidth;
+		}*/
+
+		if (ife._oldHeight) {
+			ife.style.height = ife._oldHeight;
+			ife.height = ife._oldHeight;
+		}
+	}
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Selection.class.js */
+
+function TinyMCE_Selection(inst) {
+	this.instance = inst;
+};
+
+TinyMCE_Selection.prototype = {
+	getSelectedHTML : function() {
+		var inst = this.instance;
+		var e, r = this.getRng(), h;
+
+		if (!r)
+			return null;
+
+		e = document.createElement("body");
+
+		if (r.cloneContents)
+			e.appendChild(r.cloneContents());
+		else if (typeof(r.item) != 'undefined' || typeof(r.htmlText) != 'undefined')
+			e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText;
+		else
+			e.innerHTML = r.toString(); // Failed, use text for now
+
+		h = tinyMCE._cleanupHTML(inst, inst.contentDocument, inst.settings, e, e, false, true, false);
+
+		// When editing always use fonts internaly
+		//if (tinyMCE.getParam("convert_fonts_to_spans"))
+		//	tinyMCE.convertSpansToFonts(inst.getDoc());
+
+		return h;
+	},
+
+	getSelectedText : function() {
+		var inst = this.instance;
+		var d, r, s, t;
+
+		if (tinyMCE.isIE) {
+			d = inst.getDoc();
+
+			if (d.selection.type == "Text") {
+				r = d.selection.createRange();
+				t = r.text;
+			} else
+				t = '';
+		} else {
+			s = this.getSel();
+
+			if (s && s.toString)
+				t = s.toString();
+			else
+				t = '';
+		}
+
+		return t;
+	},
+
+	getBookmark : function(simple) {
+		var inst = this.instance;
+		var rng = this.getRng();
+		var doc = inst.getDoc(), b = inst.getBody();
+		var sp, le, s, e, nl, i, si, ei, w;
+		var trng, sx, sy, xx = -999999999, vp = inst.getViewPort();
+
+		sx = vp.left;
+		sy = vp.top;
+
+		if (tinyMCE.isSafari || tinyMCE.isOpera || simple)
+			return {rng : rng, scrollX : sx, scrollY : sy};
+
+		if (tinyMCE.isIE) {
+			if (rng.item) {
+				e = rng.item(0);
+
+				nl = b.getElementsByTagName(e.nodeName);
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}
+
+				return {
+					tag : e.nodeName,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				trng = doc.body.createTextRange();
+				trng.moveToElementText(inst.getBody());
+				trng.collapse(true);
+				bp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(true);
+				sp = Math.abs(trng.move('character', xx));
+
+				trng = rng.duplicate();
+				trng.collapse(false);
+				le = Math.abs(trng.move('character', xx)) - sp;
+
+				return {
+					start : sp - bp,
+					length : le,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		if (tinyMCE.isGecko) {
+			s = this.getSel();
+			e = this.getFocusElement();
+
+			if (!s)
+				return null;
+
+			if (e && e.nodeName == 'IMG') {
+				/*nl = b.getElementsByTagName('IMG');
+				for (i=0; i<nl.length; i++) {
+					if (e == nl[i]) {
+						sp = i;
+						break;
+					}
+				}*/
+
+				return {
+					start : -1,
+					end : -1,
+					index : sp,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+
+			// Caret or selection
+			if (s.anchorNode == s.focusNode && s.anchorOffset == s.focusOffset) {
+				e = this._getPosText(b, s.anchorNode, s.focusNode);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + s.anchorOffset,
+					end : e.end + s.focusOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			} else {
+				e = this._getPosText(b, rng.startContainer, rng.endContainer);
+
+				if (!e)
+					return {scrollX : sx, scrollY : sy};
+
+				return {
+					start : e.start + rng.startOffset,
+					end : e.end + rng.endOffset,
+					scrollX : sx,
+					scrollY : sy
+				};
+			}
+		}
+
+		return null;
+	},
+
+	moveToBookmark : function(bookmark) {
+		var inst = this.instance;
+		var rng, nl, i, ex, b = inst.getBody(), sd;
+		var doc = inst.getDoc();
+		var win = inst.getWin();
+		var sel = this.getSel();
+
+		if (!bookmark)
+			return false;
+
+		if (tinyMCE.isSafari) {
+			sel.setBaseAndExtent(bookmark.rng.startContainer, bookmark.rng.startOffset, bookmark.rng.endContainer, bookmark.rng.endOffset);
+			return true;
+		}
+
+		if (tinyMCE.isRealIE) {
+			if (bookmark.rng) {
+				try {
+					bookmark.rng.select();
+				} catch (ex) {
+					// Ignore
+				}
+
+				return true;
+			}
+
+			win.focus();
+
+			if (bookmark.tag) {
+				rng = b.createControlRange();
+
+				nl = b.getElementsByTagName(bookmark.tag);
+
+				if (nl.length > bookmark.index) {
+					try {
+						rng.addElement(nl[bookmark.index]);
+					} catch (ex) {
+						// Might be thrown if the node no longer exists
+					}
+				}
+			} else {
+				// Try/catch needed since this operation breaks when TinyMCE is placed in hidden divs/tabs
+				try {
+					// Incorrect bookmark
+					if (bookmark.start < 0)
+						return true;
+
+					rng = inst.getSel().createRange();
+					rng.moveToElementText(inst.getBody());
+					rng.collapse(true);
+					rng.moveStart('character', bookmark.start);
+					rng.moveEnd('character', bookmark.length);
+				} catch (ex) {
+					return true;
+				}
+			}
+
+			rng.select();
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		if (tinyMCE.isGecko || tinyMCE.isOpera) {
+			if (!sel)
+				return false;
+
+			if (bookmark.rng) {
+				sel.removeAllRanges();
+				sel.addRange(bookmark.rng);
+			}
+
+			if (bookmark.start != -1 && bookmark.end != -1) {
+				try {
+					sd = this._getTextPos(b, bookmark.start, bookmark.end);
+					rng = doc.createRange();
+					rng.setStart(sd.startNode, sd.startOffset);
+					rng.setEnd(sd.endNode, sd.endOffset);
+					sel.removeAllRanges();
+					sel.addRange(rng);
+					win.focus();
+				} catch (ex) {
+					// Ignore
+				}
+			}
+
+			/*
+			if (typeof(bookmark.index) != 'undefined') {
+				tinyMCE.selectElements(b, 'IMG', function (n) {
+					if (bookmark.index-- == 0) {
+						// Select image in Gecko here
+					}
+
+					return false;
+				});
+			}
+			*/
+
+			win.scrollTo(bookmark.scrollX, bookmark.scrollY);
+			return true;
+		}
+
+		return false;
+	},
+
+	_getPosText : function(r, sn, en) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			if (n == sn)
+				d.start = p;
+
+			if (n == en) {
+				d.end = p;
+				return d;
+			}
+
+			p += n.nodeValue ? n.nodeValue.length : 0;
+		}
+
+		return null;
+	},
+
+	_getTextPos : function(r, sp, ep) {
+		var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {};
+
+		while ((n = w.nextNode()) != null) {
+			p += n.nodeValue ? n.nodeValue.length : 0;
+
+			if (p >= sp && !d.startNode) {
+				d.startNode = n;
+				d.startOffset = sp - (p - n.nodeValue.length);
+			}
+
+			if (p >= ep) {
+				d.endNode = n;
+				d.endOffset = ep - (p - n.nodeValue.length);
+
+				return d;
+			}
+		}
+
+		return null;
+	},
+
+	selectNode : function(node, collapse, select_text_node, to_start) {
+		var inst = this.instance, sel, rng, nodes;
+
+		if (!node)
+			return;
+
+		if (typeof(collapse) == "undefined")
+			collapse = true;
+
+		if (typeof(select_text_node) == "undefined")
+			select_text_node = false;
+
+		if (typeof(to_start) == "undefined")
+			to_start = true;
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		if (tinyMCE.isRealIE) {
+			rng = inst.getDoc().body.createTextRange();
+
+			try {
+				rng.moveToElementText(node);
+
+				if (collapse)
+					rng.collapse(to_start);
+
+				rng.select();
+			} catch (e) {
+				// Throws illigal agrument in MSIE some times
+			}
+		} else {
+			sel = this.getSel();
+
+			if (!sel)
+				return;
+
+			if (tinyMCE.isSafari) {
+				sel.setBaseAndExtent(node, 0, node, node.innerText.length);
+
+				if (collapse) {
+					if (to_start)
+						sel.collapseToStart();
+					else
+						sel.collapseToEnd();
+				}
+
+				this.scrollToNode(node);
+
+				return;
+			}
+
+			rng = inst.getDoc().createRange();
+
+			if (select_text_node) {
+				// Find first textnode in tree
+				nodes = tinyMCE.getNodeTree(node, new Array(), 3);
+				if (nodes.length > 0)
+					rng.selectNodeContents(nodes[0]);
+				else
+					rng.selectNodeContents(node);
+			} else
+				rng.selectNode(node);
+
+			if (collapse) {
+				// Special treatment of textnode collapse
+				if (!to_start && node.nodeType == 3) {
+					rng.setStart(node, node.nodeValue.length);
+					rng.setEnd(node, node.nodeValue.length);
+				} else
+					rng.collapse(to_start);
+			}
+
+			sel.removeAllRanges();
+			sel.addRange(rng);
+		}
+
+		this.scrollToNode(node);
+
+		// Set selected element
+		tinyMCE.selectedElement = null;
+		if (node.nodeType == 1)
+			tinyMCE.selectedElement = node;
+	},
+
+	scrollToNode : function(node) {
+		var inst = this.instance, w = inst.getWin(), vp = inst.getViewPort(), pos = tinyMCE.getAbsPosition(node), cvp, p, cwin;
+
+		// Only scroll if out of visible area
+		if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25))
+			w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25);
+
+		// Scroll container window
+		if (inst.settings.auto_resize) {
+			cwin = inst.getContainerWin();
+			cvp = tinyMCE.getViewPort(cwin);
+			p = this.getAbsPosition(node);
+
+			if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || p.absTop < cvp.top || p.absTop > cvp.top + cvp.height)
+				cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25);
+		}
+	},
+
+	getAbsPosition : function(n) {
+		var pos = tinyMCE.getAbsPosition(n), ipos = tinyMCE.getAbsPosition(this.instance.iframeElement);
+
+		return {
+			absLeft : ipos.absLeft + pos.absLeft,
+			absTop : ipos.absTop + pos.absTop
+		};
+	},
+
+	getSel : function() {
+		var inst = this.instance;
+
+		if (tinyMCE.isRealIE)
+			return inst.getDoc().selection;
+
+		return inst.contentWindow.getSelection();
+	},
+
+	getRng : function() {
+		var s = this.getSel();
+
+		if (s == null)
+			return null;
+
+		if (tinyMCE.isRealIE)
+			return s.createRange();
+
+		if (tinyMCE.isSafari && !s.getRangeAt)
+			return '' + window.getSelection();
+
+		if (s.rangeCount > 0)
+			return s.getRangeAt(0);
+
+		return null;
+	},
+
+	isCollapsed : function() {
+		var r = this.getRng();
+
+		if (r.item)
+			return false;
+
+		return r.boundingWidth == 0 || this.getSel().isCollapsed;
+	},
+
+	collapse : function(b) {
+		var r = this.getRng(), s = this.getSel();
+
+		if (r.select) {
+			r.collapse(b);
+			r.select();
+		} else {
+			if (b)
+				s.collapseToStart();
+			else
+				s.collapseToEnd();
+		}
+	},
+
+	getFocusElement : function() {
+		var inst = this.instance, doc, rng, sel, elm;
+
+		if (tinyMCE.isRealIE) {
+			doc = inst.getDoc();
+			rng = doc.selection.createRange();
+
+	//		if (rng.collapse)
+	//			rng.collapse(true);
+
+			elm = rng.item ? rng.item(0) : rng.parentElement();
+		} else {
+			if (!tinyMCE.isSafari && inst.isHidden())
+				return inst.getBody();
+
+			sel = this.getSel();
+			rng = this.getRng();
+
+			if (!sel || !rng)
+				return null;
+
+			elm = rng.commonAncestorContainer;
+			//elm = (sel && sel.anchorNode) ? sel.anchorNode : null;
+
+			// Handle selection a image or other control like element such as anchors
+			if (!rng.collapsed) {
+				// Is selection small
+				if (rng.startContainer == rng.endContainer) {
+					if (rng.startOffset - rng.endOffset < 2) {
+						if (rng.startContainer.hasChildNodes())
+							elm = rng.startContainer.childNodes[rng.startOffset];
+					}
+				}
+			}
+
+			// Get the element parent of the node
+			elm = tinyMCE.getParentElement(elm);
+
+			//if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img")
+			//	elm = tinyMCE.selectedElement;
+		}
+
+		return elm;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */
+
+function TinyMCE_UndoRedo(inst) {
+	this.instance = inst;
+	this.undoLevels = new Array();
+	this.undoIndex = 0;
+	this.typingUndoIndex = -1;
+	this.undoRedo = true;
+};
+
+TinyMCE_UndoRedo.prototype = {
+	add : function(l) {
+		var b, customUndoLevels, newHTML, inst = this.instance, i, ul, ur;
+
+		if (l) {
+			this.undoLevels[this.undoLevels.length] = l;
+			return true;
+		}
+
+		if (this.typingUndoIndex != -1) {
+			this.undoIndex = this.typingUndoIndex;
+
+			if (tinyMCE.typingUndoIndex != -1)
+				tinyMCE.undoIndex = tinyMCE.typingUndoIndex;
+		}
+
+		newHTML = tinyMCE.trim(inst.getBody().innerHTML);
+		if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) {
+			//tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content);
+
+			tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst);
+
+			// Time to compress
+			customUndoLevels = tinyMCE.settings['custom_undo_redo_levels'];
+			if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) {
+				for (i=0; i<this.undoLevels.length-1; i++)
+					this.undoLevels[i] = this.undoLevels[i+1];
+
+				this.undoLevels.length--;
+				this.undoIndex--;
+
+				// Todo: Implement global undo/redo logic here
+			}
+
+			b = inst.undoBookmark;
+
+			if (!b)
+				b = inst.selection.getBookmark();
+
+			this.undoIndex++;
+			this.undoLevels[this.undoIndex] = {
+				content : newHTML,
+				bookmark : b
+			};
+
+			// Remove all above from global undo/redo
+			ul = tinyMCE.undoLevels;
+			for (i=tinyMCE.undoIndex + 1; i<ul.length; i++) {
+				ur = ul[i].undoRedo;
+
+				if (ur.undoIndex == ur.undoLevels.length -1)
+					ur.undoIndex--;
+
+				ur.undoLevels.length--;
+			}
+
+			// Add global undo level
+			tinyMCE.undoLevels[tinyMCE.undoIndex++] = inst;
+			tinyMCE.undoLevels.length = tinyMCE.undoIndex;
+
+			this.undoLevels.length = this.undoIndex + 1;
+
+			return true;
+		}
+
+		return false;
+	},
+
+	undo : function() {
+		var inst = this.instance;
+
+		// Do undo
+		if (this.undoIndex > 0) {
+			this.undoIndex--;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+	},
+
+	redo : function() {
+		var inst = this.instance;
+
+		tinyMCE.execCommand("mceEndTyping");
+
+		if (this.undoIndex < (this.undoLevels.length-1)) {
+			this.undoIndex++;
+
+			tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content);
+			inst.repaint();
+
+			if (inst.settings.custom_undo_redo_restore_selection)
+				inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark);
+		}
+
+		tinyMCE.triggerNodeChange();
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */
+
+var TinyMCE_ForceParagraphs = {
+	_insertPara : function(inst, e) {
+		var doc = inst.getDoc(), sel = inst.getSel(), body = inst.getBody(), win = inst.contentWindow, rng = sel.getRangeAt(0);
+		var rootElm = doc.documentElement, blockName = "P", startNode, endNode, startBlock, endBlock;
+		var rngBefore, rngAfter, direct, startNode, startOffset, endNode, endOffset, b = tinyMCE.isOpera ? inst.selection.getBookmark() : null;
+		var paraBefore, paraAfter, startChop, endChop, contents;
+
+		function isEmpty(para) {
+			function isEmptyHTML(html) {
+				return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == "";
+			}
+
+			// Check for images
+			if (para.getElementsByTagName("img").length > 0)
+				return false;
+
+			// Check for tables
+			if (para.getElementsByTagName("table").length > 0)
+				return false;
+
+			// Check for HRs
+			if (para.getElementsByTagName("hr").length > 0)
+				return false;
+
+			// Check all textnodes
+			var nodes = tinyMCE.getNodeTree(para, new Array(), 3);
+			for (var i=0; i<nodes.length; i++) {
+				if (!isEmptyHTML(nodes[i].nodeValue))
+					return false;
+			}
+
+			// No images, no tables, no hrs, no text content then it's empty
+			return true;
+		}
+
+	//	tinyMCE.debug(body.innerHTML);
+
+	//	debug(e.target, sel.anchorNode.nodeName, sel.focusNode.nodeName, rng.startContainer, rng.endContainer, rng.commonAncestorContainer, sel.anchorOffset, sel.focusOffset, rng.toString());
+
+		// Setup before range
+		rngBefore = doc.createRange();
+		rngBefore.setStart(sel.anchorNode, sel.anchorOffset);
+		rngBefore.collapse(true);
+
+		// Setup after range
+		rngAfter = doc.createRange();
+		rngAfter.setStart(sel.focusNode, sel.focusOffset);
+		rngAfter.collapse(true);
+
+		// Setup start/end points
+		direct = rngBefore.compareBoundaryPoints(rngBefore.START_TO_END, rngAfter) < 0;
+		startNode = direct ? sel.anchorNode : sel.focusNode;
+		startOffset = direct ? sel.anchorOffset : sel.focusOffset;
+		endNode = direct ? sel.focusNode : sel.anchorNode;
+		endOffset = direct ? sel.focusOffset : sel.anchorOffset;
+
+		startNode = startNode.nodeName == "BODY" ? startNode.firstChild : startNode;
+		endNode = endNode.nodeName == "BODY" ? endNode.firstChild : endNode;
+
+		// Get block elements
+		startBlock = inst.getParentBlockElement(startNode);
+		endBlock = inst.getParentBlockElement(endNode);
+
+		// If absolute force paragraph generation within
+		if (startBlock && new RegExp('absolute|relative|static', 'gi').test(startBlock.style.position))
+			startBlock = null;
+
+		if (endBlock && new RegExp('absolute|relative|static', 'gi').test(endBlock.style.position))
+			endBlock = null;
+
+		// Use current block name
+		if (startBlock != null) {
+			blockName = startBlock.nodeName;
+
+			// Use P instead
+			if (blockName == "TD" || blockName == "TABLE" || (blockName == "DIV" && new RegExp('left|right', 'gi').test(startBlock.style.cssFloat)))
+				blockName = "P";
+		}
+
+		// Within a list use normal behaviour
+		if (tinyMCE.getParentElement(startBlock, "OL,UL", null, body) != null)
+			return false;
+
+		// Within a table create new paragraphs
+		if ((startBlock != null && startBlock.nodeName == "TABLE") || (endBlock != null && endBlock.nodeName == "TABLE"))
+			startBlock = endBlock = null;
+
+		// Setup new paragraphs
+		paraBefore = (startBlock != null && startBlock.nodeName == blockName) ? startBlock.cloneNode(false) : doc.createElement(blockName);
+		paraAfter = (endBlock != null && endBlock.nodeName == blockName) ? endBlock.cloneNode(false) : doc.createElement(blockName);
+
+		// Is header, then force paragraph under
+		if (/^(H[1-6])$/.test(blockName))
+			paraAfter = doc.createElement("p");
+
+		// Setup chop nodes
+		startChop = startNode;
+		endChop = endNode;
+
+		// Get startChop node
+		node = startChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			startChop = node;
+		} while ((node = node.previousSibling ? node.previousSibling : node.parentNode));
+
+		// Get endChop node
+		node = endChop;
+		do {
+			if (node == body || node.nodeType == 9 || tinyMCE.isBlockElement(node))
+				break;
+
+			endChop = node;
+		} while ((node = node.nextSibling ? node.nextSibling : node.parentNode));
+
+		// Fix when only a image is within the TD
+		if (startChop.nodeName == "TD")
+			startChop = startChop.firstChild;
+
+		if (endChop.nodeName == "TD")
+			endChop = endChop.lastChild;
+
+		// If not in a block element
+		if (startBlock == null) {
+			// Delete selection
+			rng.deleteContents();
+
+			if (!tinyMCE.isSafari)
+				sel.removeAllRanges();
+
+			if (startChop != rootElm && endChop != rootElm) {
+				// Insert paragraph before
+				rngBefore = rng.cloneRange();
+
+				if (startChop == body)
+					rngBefore.setStart(startChop, 0);
+				else
+					rngBefore.setStartBefore(startChop);
+
+				paraBefore.appendChild(rngBefore.cloneContents());
+
+				// Insert paragraph after
+				if (endChop.parentNode.nodeName == blockName)
+					endChop = endChop.parentNode;
+
+				// If not after image
+				//if (rng.startContainer.nodeName != "BODY" && rng.endContainer.nodeName != "BODY")
+					rng.setEndAfter(endChop);
+
+				if (endChop.nodeName != "#text" && endChop.nodeName != "BODY")
+					rngBefore.setEndAfter(endChop);
+
+				contents = rng.cloneContents();
+				if (contents.firstChild && (contents.firstChild.nodeName == blockName || contents.firstChild.nodeName == "BODY"))
+					paraAfter.innerHTML = contents.firstChild.innerHTML;
+				else
+					paraAfter.appendChild(contents);
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraBefore))
+					paraBefore.innerHTML = "&nbsp;";
+
+				// Check if it's a empty paragraph
+				if (isEmpty(paraAfter))
+					paraAfter.innerHTML = "&nbsp;";
+
+				// Delete old contents
+				rng.deleteContents();
+				rngAfter.deleteContents();
+				rngBefore.deleteContents();
+
+				// Insert new paragraphs
+				if (tinyMCE.isOpera) {
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+				} else {
+					paraAfter.normalize();
+					rngBefore.insertNode(paraAfter);
+					paraBefore.normalize();
+					rngBefore.insertNode(paraBefore);
+				}
+
+				//tinyMCE.debug("1: ", paraBefore.innerHTML, paraAfter.innerHTML);
+			} else {
+				body.innerHTML = "<" + blockName + ">&nbsp;</" + blockName + "><" + blockName + ">&nbsp;</" + blockName + ">";
+				paraAfter = body.childNodes[1];
+			}
+
+			inst.selection.moveToBookmark(b);
+			inst.selection.selectNode(paraAfter, true, true);
+
+			return true;
+		}
+
+		// Place first part within new paragraph
+		if (startChop.nodeName == blockName)
+			rngBefore.setStart(startChop, 0);
+		else
+			rngBefore.setStartBefore(startChop);
+
+		rngBefore.setEnd(startNode, startOffset);
+		paraBefore.appendChild(rngBefore.cloneContents());
+
+		// Place secound part within new paragraph
+		rngAfter.setEndAfter(endChop);
+		rngAfter.setStart(endNode, endOffset);
+		contents = rngAfter.cloneContents();
+
+		if (contents.firstChild && contents.firstChild.nodeName == blockName) {
+	/*		var nodes = contents.firstChild.childNodes;
+			for (var i=0; i<nodes.length; i++) {
+				//tinyMCE.debug(nodes[i].nodeName);
+				if (nodes[i].nodeName != "BODY")
+					paraAfter.appendChild(nodes[i]);
+			}
+	*/
+			paraAfter.innerHTML = contents.firstChild.innerHTML;
+		} else
+			paraAfter.appendChild(contents);
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraBefore))
+			paraBefore.innerHTML = "&nbsp;";
+
+		// Check if it's a empty paragraph
+		if (isEmpty(paraAfter))
+			paraAfter.innerHTML = "&nbsp;";
+
+		// Create a range around everything
+		rng = doc.createRange();
+
+		if (!startChop.previousSibling && startChop.parentNode.nodeName.toUpperCase() == blockName) {
+			rng.setStartBefore(startChop.parentNode);
+		} else {
+			if (rngBefore.startContainer.nodeName.toUpperCase() == blockName && rngBefore.startOffset == 0)
+				rng.setStartBefore(rngBefore.startContainer);
+			else
+				rng.setStart(rngBefore.startContainer, rngBefore.startOffset);
+		}
+
+		if (!endChop.nextSibling && endChop.parentNode.nodeName.toUpperCase() == blockName)
+			rng.setEndAfter(endChop.parentNode);
+		else
+			rng.setEnd(rngAfter.endContainer, rngAfter.endOffset);
+
+		// Delete all contents and insert new paragraphs
+		rng.deleteContents();
+
+		if (tinyMCE.isOpera) {
+			rng.insertNode(paraBefore);
+			rng.insertNode(paraAfter);
+		} else {
+			rng.insertNode(paraAfter);
+			rng.insertNode(paraBefore);
+		}
+
+		//tinyMCE.debug("2", paraBefore.innerHTML, paraAfter.innerHTML);
+
+		// Normalize
+		paraAfter.normalize();
+		paraBefore.normalize();
+
+		inst.selection.moveToBookmark(b);
+		inst.selection.selectNode(paraAfter, true, true);
+
+		return true;
+	},
+
+	_handleBackSpace : function(inst) {
+		var r = inst.getRng(), sn = r.startContainer, nv, s = false;
+
+		// Added body check for bug #1527787
+		if (sn && sn.nextSibling && sn.nextSibling.nodeName == "BR" && sn.parentNode.nodeName != "BODY") {
+			nv = sn.nodeValue;
+
+			// Handle if a backspace is pressed after a space character #bug 1466054 removed since fix for #1527787
+			/*if (nv != null && nv.length >= r.startOffset && nv.charAt(r.startOffset - 1) == ' ')
+				s = true;*/
+
+			// Only remove BRs if we are at the end of line #bug 1464152
+			if (nv != null && r.startOffset == nv.length)
+				sn.nextSibling.parentNode.removeChild(sn.nextSibling);
+		}
+
+		if (inst.settings.auto_resize)
+			inst.resizeToContent();
+
+		return s;
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */
+
+function TinyMCE_Layer(id, bm) {
+	this.id = id;
+	this.blockerElement = null;
+	this.events = false;
+	this.element = null;
+	this.blockMode = typeof(bm) != 'undefined' ? bm : true;
+	this.doc = document;
+};
+
+TinyMCE_Layer.prototype = {
+	moveRelativeTo : function(re, p) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var e = this.getElement();
+		var ew = parseInt(e.offsetWidth);
+		var eh = parseInt(e.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				x = rep.absLeft;
+				y = rep.absTop;
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				x = rep.absLeft;
+				y = rep.absTop + h;
+				break;
+
+			case "br":
+				x = rep.absLeft + w;
+				y = rep.absTop + h;
+				break;
+
+			case "cc":
+				x = rep.absLeft + (w / 2) - (ew / 2);
+				y = rep.absTop + (h / 2) - (eh / 2);
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(x, y) {
+		var e = this.getElement();
+		this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y);
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	resizeBy : function(w, h) {
+		var e = this.getElement();
+		this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h);
+	},
+
+	resizeTo : function(w, h) {
+		var e = this.getElement();
+
+		if (w != null)
+			e.style.width = w + "px";
+
+		if (h != null)
+			e.style.height = h + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'block';
+			this.updateBlocker();
+		}
+	},
+
+	hide : function() {
+		var el = this.getElement();
+
+		if (el) {
+			el.style.display = 'none';
+			this.updateBlocker();
+		}
+	},
+
+	isVisible : function() {
+		return this.getElement().style.display == 'block';
+	},
+
+	getElement : function() {
+		if (!this.element)
+			this.element = this.doc.getElementById(this.id);
+
+		return this.element;
+	},
+
+	setBlockMode : function(s) {
+		this.blockMode = s;
+	},
+
+	updateBlocker : function() {
+		var e, b, x, y, w, h;
+
+		b = this.getBlocker();
+		if (b) {
+			if (this.blockMode) {
+				e = this.getElement();
+				x = this.parseInt(e.style.left);
+				y = this.parseInt(e.style.top);
+				w = this.parseInt(e.offsetWidth);
+				h = this.parseInt(e.offsetHeight);
+
+				b.style.left = x + 'px';
+				b.style.top = y + 'px';
+				b.style.width = w + 'px';
+				b.style.height = h + 'px';
+				b.style.display = e.style.display;
+			} else
+				b.style.display = 'none';
+		}
+	},
+
+	getBlocker : function() {
+		var d, b;
+
+		if (!this.blockerElement && this.blockMode) {
+			d = this.doc;
+			b = d.getElementById(this.id + "_blocker");
+
+			if (!b) {
+				b = d.createElement("iframe");
+
+				b.setAttribute('id', this.id + "_blocker");
+				b.style.cssText = 'display: none; position: absolute; left: 0; top: 0';
+				b.src = 'javascript:false;';
+				b.frameBorder = '0';
+				b.scrolling = 'no';
+	
+				d.body.appendChild(b);
+			}
+
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	create : function(n, c, p, h) {
+		var d = this.doc, e = d.createElement(n);
+
+		e.setAttribute('id', this.id);
+
+		if (c)
+			e.className = c;
+
+		if (!p)
+			p = d.body;
+
+		if (h)
+			e.innerHTML = h;
+
+		p.appendChild(e);
+
+		return this.element = e;
+	},
+
+	exists : function() {
+		return this.doc.getElementById(this.id) != null;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	},
+
+	remove : function() {
+		var e = this.getElement(), b = this.getBlocker();
+
+		if (e)
+			e.parentNode.removeChild(e);
+
+		if (b)
+			b.parentNode.removeChild(b);
+	}
+
+	};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */
+
+function TinyMCE_Menu() {
+	var id;
+
+	if (typeof(tinyMCE.menuCounter) == "undefined")
+		tinyMCE.menuCounter = 0;
+
+	id = "mc_menu_" + tinyMCE.menuCounter++;
+
+	TinyMCE_Layer.call(this, id, true);
+
+	this.id = id;
+	this.items = new Array();
+	this.needsUpdate = true;
+};
+
+TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, {
+	init : function(s) {
+		var n;
+
+		// Default params
+		this.settings = {
+			separator_class : 'mceMenuSeparator',
+			title_class : 'mceMenuTitle',
+			disabled_class : 'mceMenuDisabled',
+			menu_class : 'mceMenu',
+			drop_menu : true
+		};
+
+		for (n in s)
+			this.settings[n] = s[n];
+
+		this.create('div', this.settings.menu_class);
+	},
+
+	clear : function() {
+		this.items = new Array();
+	},
+
+	addTitle : function(t) {
+		this.add({type : 'title', text : t});
+	},
+
+	addDisabled : function(t) {
+		this.add({type : 'disabled', text : t});
+	},
+
+	addSeparator : function() {
+		this.add({type : 'separator'});
+	},
+
+	addItem : function(t, js) {
+		this.add({text : t, js : js});
+	},
+
+	add : function(mi) {
+		this.items[this.items.length] = mi;
+		this.needsUpdate = true;
+	},
+
+	update : function() {
+		var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings;
+
+		if (this.settings.drop_menu)
+			h += '<span class="mceMenuLine"></span>';
+
+		h += '<table border="0" cellpadding="0" cellspacing="0">';
+
+		for (i=0; i<m.length; i++) {
+			t = tinyMCE.xmlEncode(m[i].text);
+			c = m[i].class_name ? ' class="' + m[i].class_name + '"' : '';
+
+			switch (m[i].type) {
+				case 'separator':
+					h += '<tr class="' + s.separator_class + '"><td>';
+					break;
+
+				case 'title':
+					h += '<tr class="' + s.title_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				case 'disabled':
+					h += '<tr class="' + s.disabled_class + '"><td><span' + c +'>' + t + '</span>';
+					break;
+
+				default:
+					h += '<tr><td><a href="' + tinyMCE.xmlEncode(m[i].js) + '" onmousedown="' + tinyMCE.xmlEncode(m[i].js) + ';return tinyMCE.cancelEvent(event);" onclick="return tinyMCE.cancelEvent(event);" onmouseup="return tinyMCE.cancelEvent(event);"><span' + c +'>' + t + '</span></a>';
+			}
+
+			h += '</td></tr>';
+		}
+
+		h += '</table>';
+
+		e.innerHTML = h;
+
+		this.needsUpdate = false;
+		this.updateBlocker();
+	},
+
+	show : function() {
+		var nl, i;
+
+		if (tinyMCE.lastMenu == this)
+			return;
+
+		if (this.needsUpdate)
+			this.update();
+
+		if (tinyMCE.lastMenu && tinyMCE.lastMenu != this)
+			tinyMCE.lastMenu.hide();
+
+		TinyMCE_Layer.prototype.show.call(this);
+
+		if (!tinyMCE.isOpera) {
+			// Accessibility stuff
+/*			nl = this.getElement().getElementsByTagName("a");
+			if (nl.length > 0)
+				nl[0].focus();*/
+		}
+
+		tinyMCE.lastMenu = this;
+	}
+
+	});
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Compatibility.class.js */
+
+if (!Function.prototype.call) {
+	Function.prototype.call = function() {
+		var a = arguments, s = a[0], i, as = '', r, o;
+
+		for (i=1; i<a.length; i++)
+			as += (i > 1 ? ',' : '') + 'a[' + i + ']';
+
+		o = s._fu;
+		s._fu = this;
+		r = eval('s._fu(' + as + ')');
+		s._fu = o;
+
+		return r;
+	};
+};
+
+/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */
+
+TinyMCE_Engine.prototype.debug = function() {
+	var m = "", a, i, l = tinyMCE.log.length;
+
+	for (i=0, a = this.debug.arguments; i<a.length; i++) {
+		m += a[i];
+
+		if (i<a.length-1)
+			m += ', ';
+	}
+
+	if (l < 1000)
+		tinyMCE.log[l] = "[debug] " + m;
+};
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/editable_selects.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+/**
+ * $Id: editable_selects.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Makes select boxes editable.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var TinyMCE_EditableSelects = {
+	editSelectElm : null,
+
+	init : function() {
+		var nl = document.getElementsByTagName("select"), i, d = document, o;
+
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].className.indexOf('mceEditableSelect') != -1) {
+				o = new Option('(value)', '__mce_add_custom__');
+
+				o.className = 'mceAddSelectValue';
+
+				nl[i].options[nl[i].options.length] = o;
+				nl[i].setAttribute('onchange', 'TinyMCE_EditableSelects.onChangeEditableSelect(this);');
+			}
+		}
+	},
+
+	onChangeEditableSelect : function(se) {
+		var d = document, ne;
+
+		if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
+			ne = d.createElement("input");
+			ne.id = se.id + "_custom";
+			ne.name = se.name + "_custom";
+			ne.type = "text";
+
+			ne.style.width = se.clientWidth;
+			se.parentNode.insertBefore(ne, se);
+			se.style.display = 'none';
+			ne.focus();
+			ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
+			TinyMCE_EditableSelects.editSelectElm = se;
+		}
+	},
+
+	onBlurEditableSelectInput : function() {
+		var se = TinyMCE_EditableSelects.editSelectElm;
+
+		if (se) {
+			if (se.previousSibling.value != '') {
+				addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
+				selectByValue(document.forms[0], se.id, se.previousSibling.value);
+			} else
+				selectByValue(document.forms[0], se.id, '');
+
+			se.style.display = 'inline';
+			se.parentNode.removeChild(se.previousSibling);
+			TinyMCE_EditableSelects.editSelectElm = null;
+		}
+	}
+};

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/form_utils.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: form_utils.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form utilitiy functions.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+var themeBaseURL = tinyMCE.baseURL + '/themes/' + tinyMCE.getParam("theme");
+
+function getColorPickerHTML(id, target_form_element) {
+	var h = "";
+
+	h += '<a id="' + id + '_link" href="javascript:void(0);" onkeydown="pickColor(event,\'' + target_form_element +'\');" onmousedown="pickColor(event,\'' + target_form_element +'\');return false;">';
+	h += '<img id="' + id + '" src="' + themeBaseURL + '/images/color.gif"';
+	h += ' onmouseover="this.className=\'mceButtonOver\'"';
+	h += ' onmouseout="this.className=\'mceButtonNormal\'"';
+	h += ' onmousedown="this.className=\'mceButtonDown\'"';
+	h += ' width="20" height="16" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	h += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return h;
+}
+
+function pickColor(e, target_form_element) {
+	if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown")
+		tinyMCEPopup.pickColor(e, target_form_element);
+}
+
+function updateColor(img_id, form_element_id) {
+	document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
+}
+
+function setBrowserDisabled(id, state) {
+	var img = document.getElementById(id);
+	var lnk = document.getElementById(id + "_link");
+
+	if (lnk) {
+		if (state) {
+			lnk.setAttribute("realhref", lnk.getAttribute("href"));
+			lnk.removeAttribute("href");
+			tinyMCE.switchClass(img, 'mceButtonDisabled', true);
+		} else {
+			lnk.setAttribute("href", lnk.getAttribute("realhref"));
+			tinyMCE.switchClass(img, 'mceButtonNormal', false);
+		}
+	}
+}
+
+function getBrowserHTML(id, target_form_element, type, prefix) {
+	var option = prefix + "_" + type + "_browser_callback";
+	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+	if (cb == null)
+		return "";
+
+	var html = "";
+
+	html += '<a id="' + id + '_link" href="javascript:openBrower(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;">';
+	html += '<img id="' + id + '" src="' + themeBaseURL + '/images/browse.gif"';
+	html += ' onmouseover="this.className=\'mceButtonOver\';"';
+	html += ' onmouseout="this.className=\'mceButtonNormal\';"';
+	html += ' onmousedown="this.className=\'mceButtonDown\';"';
+	html += ' width="20" height="18" border="0" title="' + tinyMCE.getLang('lang_browse') + '"';
+	html += ' class="mceButtonNormal" alt="' + tinyMCE.getLang('lang_browse') + '" /></a>';
+
+	return html;
+}
+
+function openBrower(img_id, target_form_element, type, option) {
+	var img = document.getElementById(img_id);
+
+	if (img.className != "mceButtonDisabled")
+		tinyMCEPopup.openBrowser(target_form_element, type, option);
+}
+
+function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
+	if (!form_obj || !form_obj.elements[field_name])
+		return;
+
+	var sel = form_obj.elements[field_name];
+
+	var found = false;
+	for (var i=0; i<sel.options.length; i++) {
+		var option = sel.options[i];
+
+		if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
+			option.selected = true;
+			found = true;
+		} else
+			option.selected = false;
+	}
+
+	if (!found && add_custom && value != '') {
+		var option = new Option(value, value);
+		option.selected = true;
+		sel.options[sel.options.length] = option;
+		sel.selectedIndex = sel.options.length - 1;
+	}
+
+	return found;
+}
+
+function getSelectValue(form_obj, field_name) {
+	var elm = form_obj.elements[field_name];
+
+	if (elm == null || elm.options == null)
+		return "";
+
+	return elm.options[elm.selectedIndex].value;
+}
+
+function addSelectValue(form_obj, field_name, name, value) {
+	var s = form_obj.elements[field_name];
+	var o = new Option(name, value);
+	s.options[s.options.length] = o;
+}
+
+function addClassesToList(list_id, specific_option) {
+	// Setup class droplist
+	var styleSelectElm = document.getElementById(list_id);
+	var styles = tinyMCE.getParam('theme_advanced_styles', false);
+	styles = tinyMCE.getParam(specific_option, styles);
+
+	if (styles) {
+		var stylesAr = styles.split(';');
+
+		for (var i=0; i<stylesAr.length; i++) {
+			if (stylesAr != "") {
+				var key, value;
+
+				key = stylesAr[i].split('=')[0];
+				value = stylesAr[i].split('=')[1];
+
+				styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
+			}
+		}
+	} else {
+		// Use auto impored classes
+		var csses = tinyMCE.getCSSClasses(tinyMCE.getWindowArg('editor_id'));
+		for (var i=0; i<csses.length; i++)
+			styleSelectElm.options[styleSelectElm.length] = new Option(csses[i], csses[i]);
+	}
+}
+
+function isVisible(element_id) {
+	var elm = document.getElementById(element_id);
+
+	return elm && elm.style.display != "none";
+}
+
+function convertRGBToHex(col) {
+	var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
+
+	var rgb = col.replace(re, "$1,$2,$3").split(',');
+	if (rgb.length == 3) {
+		r = parseInt(rgb[0]).toString(16);
+		g = parseInt(rgb[1]).toString(16);
+		b = parseInt(rgb[2]).toString(16);
+
+		r = r.length == 1 ? '0' + r : r;
+		g = g.length == 1 ? '0' + g : g;
+		b = b.length == 1 ? '0' + b : b;
+
+		return "#" + r + g + b;
+	}
+
+	return col;
+}
+
+function convertHexToRGB(col) {
+	if (col.indexOf('#') != -1) {
+		col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
+
+		r = parseInt(col.substring(0, 2), 16);
+		g = parseInt(col.substring(2, 4), 16);
+		b = parseInt(col.substring(4, 6), 16);
+
+		return "rgb(" + r + "," + g + "," + b + ")";
+	}
+
+	return col;
+}
+
+function trimSize(size) {
+	return size.replace(new RegExp('[^0-9%]', 'gi'), '');
+}
+
+function getCSSSize(size) {
+	size = trimSize(size);
+
+	if (size == "")
+		return "";
+
+	return size.indexOf('%') != -1 ? size : size + "px";
+}
+
+function getStyle(elm, attrib, style) {
+	var val = tinyMCE.getAttrib(elm, attrib);
+
+	if (val != '')
+		return '' + val;
+
+	if (typeof(style) == 'undefined')
+		style = attrib;
+
+	val = eval('elm.style.' + style);
+
+	return val == null ? '' : '' + val;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mclayer.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,210 @@
+/**
+ * $Id: mclayer.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode floating layer script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCLayer(id) {
+	this.id = id;
+	this.settings = new Array();
+	this.blockerElement = null;
+	this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
+	this.events = false;
+	this.autoHideCallback = null;
+}
+
+MCLayer.prototype = {
+	moveRelativeTo : function(re, p, a) {
+		var rep = this.getAbsPosition(re);
+		var w = parseInt(re.offsetWidth);
+		var h = parseInt(re.offsetHeight);
+		var x, y;
+
+		switch (p) {
+			case "tl":
+				break;
+
+			case "tr":
+				x = rep.absLeft + w;
+				y = rep.absTop;
+				break;
+
+			case "bl":
+				break;
+
+			case "br":
+				break;
+		}
+
+		this.moveTo(x, y);
+	},
+
+	moveBy : function(dx, dy) {
+		var e = this.getElement();
+		var x = parseInt(e.style.left);
+		var y = parseInt(e.style.top);
+
+		e.style.left = (x + dx) + "px";
+		e.style.top = (y + dy) + "px";
+
+		this.updateBlocker();
+	},
+
+	moveTo : function(x, y) {
+		var e = this.getElement();
+
+		e.style.left = x + "px";
+		e.style.top = y + "px";
+
+		this.updateBlocker();
+	},
+
+	show : function() {
+		MCLayer.visibleLayer = this;
+
+		this.getElement().style.display = 'block';
+		this.updateBlocker();
+	},
+
+	hide : function() {
+		this.getElement().style.display = 'none';
+		this.updateBlocker();
+	},
+
+	setAutoHide : function(s, cb) {
+		this.autoHideCallback = cb;
+		this.registerEventHandlers();
+	},
+
+	getElement : function() {
+		return document.getElementById(this.id);
+	},
+
+	updateBlocker : function() {
+		if (!this.isMSIE)
+			return;
+
+		var e = this.getElement();
+		var b = this.getBlocker();
+		var x = this.parseInt(e.style.left);
+		var y = this.parseInt(e.style.top);
+		var w = this.parseInt(e.offsetWidth);
+		var h = this.parseInt(e.offsetHeight);
+
+		b.style.left = x + 'px';
+		b.style.top = y + 'px';
+		b.style.width = w + 'px';
+		b.style.height = h + 'px';
+		b.style.display = e.style.display;
+	},
+
+	getBlocker : function() {
+		if (!this.blockerElement) {
+			var d = document, b = d.createElement("iframe");
+
+			b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
+			b.src = 'javascript:false;';
+			b.frameBorder = '0';
+			b.scrolling = 'no';
+
+			d.body.appendChild(b);
+			this.blockerElement = b;
+		}
+
+		return this.blockerElement;
+	},
+
+	getAbsPosition : function(n) {
+		var p = {absLeft : 0, absTop : 0};
+
+		while (n) {
+			p.absLeft += n.offsetLeft;
+			p.absTop += n.offsetTop;
+			n = n.offsetParent;
+		}
+
+		return p;
+	},
+
+	registerEventHandlers : function() {
+		if (!this.events) {
+			var d = document;
+
+			this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
+
+			this.events = true;
+		}
+	},
+
+	addEvent : function(o, n, h) {
+		if (o.attachEvent)
+			o.attachEvent("on" + n, h);
+		else
+			o.addEventListener(n, h, false);
+	},
+
+	onMouseDown : function(e) {
+		e = typeof(e) == "undefined" ? window.event : e;
+		var b = document.body;
+		var l = MCLayer.visibleLayer;
+
+		if (l) {
+			var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
+			var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
+			var el = l.getElement();
+			var x = parseInt(el.style.left);
+			var y = parseInt(el.style.top);
+			var w = parseInt(el.offsetWidth);
+			var h = parseInt(el.offsetHeight);
+
+			if (!(mx > x && mx < x + w && my > y && my < y + h)) {
+				MCLayer.visibleLayer = null;
+
+				if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
+					return true;
+
+				l.hide();
+			}
+		}
+	},
+
+	addCSSClass : function(e, c) {
+		this.removeCSSClass(e, c);
+		var a = this.explode(' ', e.className);
+		a[a.length] = c;
+		e.className = a.join(' ');
+	},
+
+	removeCSSClass : function(e, c) {
+		var a = this.explode(' ', e.className), i;
+
+		for (i=0; i<a.length; i++) {
+			if (a[i] == c)
+				a[i] = '';
+		}
+
+		e.className = a.join(' ');
+	},
+
+	explode : function(d, s) {
+		var ar = s.split(d);
+		var oar = new Array();
+
+		for (var i = 0; i<ar.length; i++) {
+			if (ar[i] != "")
+				oar[oar.length] = ar[i];
+		}
+
+		return oar;
+	},
+
+	parseInt : function(s) {
+		if (s == null || s == '')
+			return 0;
+
+		return parseInt(s);
+	}
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/mctabs.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,74 @@
+/**
+ * $Id: mctabs.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Moxiecode DHTML Tabs script.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+function MCTabs() {
+	this.settings = new Array();
+};
+
+MCTabs.prototype.init = function(settings) {
+	this.settings = settings;
+};
+
+MCTabs.prototype.getParam = function(name, default_value) {
+	var value = null;
+
+	value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
+
+	// Fix bool values
+	if (value == "true" || value == "false")
+		return (value == "true");
+
+	return value;
+};
+
+MCTabs.prototype.displayTab = function(tab_id, panel_id) {
+	var panelElm = document.getElementById(panel_id);
+	var panelContainerElm = panelElm ? panelElm.parentNode : null;
+	var tabElm = document.getElementById(tab_id);
+	var tabContainerElm = tabElm ? tabElm.parentNode : null;
+	var selectionClass = this.getParam('selection_class', 'current');
+
+	if (tabElm && tabContainerElm) {
+		var nodes = tabContainerElm.childNodes;
+
+		// Hide all other tabs
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "LI")
+				nodes[i].className = '';
+		}
+
+		// Show selected tab
+		tabElm.className = 'current';
+	}
+
+	if (panelElm && panelContainerElm) {
+		var nodes = panelContainerElm.childNodes;
+
+		// Hide all other panels
+		for (var i=0; i<nodes.length; i++) {
+			if (nodes[i].nodeName == "DIV")
+				nodes[i].className = 'panel';
+		}
+
+		// Show selected panel
+		panelElm.className = 'current';
+	}
+};
+
+MCTabs.prototype.getAnchor = function() {
+	var pos, url = document.location.href;
+
+	if ((pos = url.lastIndexOf('#')) != -1)
+		return url.substring(pos + 1);
+
+	return "";
+};
+
+// Global instance
+var mcTabs = new MCTabs();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/validate.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tiny_mce/utils/validate.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,219 @@
+/**
+ * $Id: validate.js 162 2007-01-03 16:16:52Z spocke $
+ *
+ * Various form validation methods.
+ *
+ * @author Moxiecode
+ * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.
+ */
+
+/**
+	// String validation:
+
+	if (!Validator.isEmail('myemail'))
+		alert('Invalid email.');
+
+	// Form validation:
+
+	var f = document.forms['myform'];
+
+	if (!Validator.isEmail(f.myemail))
+		alert('Invalid email.');
+*/
+
+var Validator = {
+	isEmail : function(s) {
+		return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
+	},
+
+	isAbsUrl : function(s) {
+		return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$');
+	},
+
+	isSize : function(s) {
+		return this.test(s, '^[0-9]+(px|%)?$');
+	},
+
+	isId : function(s) {
+		return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$');
+	},
+
+	isEmpty : function(s) {
+		var nl, i;
+
+		if (s.nodeName == 'SELECT' && s.selectedIndex < 1)
+			return true;
+
+		if (s.type == 'checkbox' && !s.checked)
+			return true;
+
+		if (s.type == 'radio') {
+			for (i=0, nl = s.form.elements; i<nl.length; i++) {
+				if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
+					return false;
+			}
+
+			return true;
+		}
+
+		return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
+	},
+
+	isNumber : function(s, d) {
+		return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
+	},
+
+	test : function(s, p) {
+		s = s.nodeType == 1 ? s.value : s;
+
+		return s == '' || new RegExp(p).test(s);
+	}
+};
+
+var AutoValidator = {
+	settings : {
+		id_cls : 'id',
+		int_cls : 'int',
+		url_cls : 'url',
+		number_cls : 'number',
+		email_cls : 'email',
+		size_cls : 'size',
+		required_cls : 'required',
+		invalid_cls : 'invalid',
+		min_cls : 'min',
+		max_cls : 'max'
+	},
+
+	init : function(s) {
+		var n;
+
+		for (n in s)
+			this.settings[n] = s[n];
+	},
+
+	validate : function(f) {
+		var i, nl, s = this.settings, c = 0;
+
+		nl = this.tags(f, 'label');
+		for (i=0; i<nl.length; i++)
+			this.removeClass(nl[i], s.invalid_cls);
+
+		c += this.validateElms(f, 'input');
+		c += this.validateElms(f, 'select');
+		c += this.validateElms(f, 'textarea');
+
+		return c == 3;
+	},
+
+	invalidate : function(n) {
+		this.mark(n.form, n);
+	},
+
+	reset : function(e) {
+		var t = new Array('label', 'input', 'select', 'textarea');
+		var i, j, nl, s = this.settings;
+
+		if (e == null)
+			return;
+
+		for (i=0; i<t.length; i++) {
+			nl = this.tags(e.form ? e.form : e, t[i]);
+			for (j=0; j<nl.length; j++)
+				this.removeClass(nl[j], s.invalid_cls);
+		}
+	},
+
+	validateElms : function(f, e) {
+		var nl, i, n, s = this.settings, st = true, va = Validator, v;
+
+		nl = this.tags(f, e);
+		for (i=0; i<nl.length; i++) {
+			n = nl[i];
+
+			this.removeClass(n, s.invalid_cls);
+
+			if (this.hasClass(n, s.required_cls) && va.isEmpty(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.number_cls) && !va.isNumber(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.email_cls) && !va.isEmail(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.size_cls) && !va.isSize(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.id_cls) && !va.isId(n))
+				st = this.mark(f, n);
+
+			if (this.hasClass(n, s.min_cls, true)) {
+				v = this.getNum(n, s.min_cls);
+
+				if (isNaN(v) || parseInt(n.value) < parseInt(v))
+					st = this.mark(f, n);
+			}
+
+			if (this.hasClass(n, s.max_cls, true)) {
+				v = this.getNum(n, s.max_cls);
+
+				if (isNaN(v) || parseInt(n.value) > parseInt(v))
+					st = this.mark(f, n);
+			}
+		}
+
+		return st;
+	},
+
+	hasClass : function(n, c, d) {
+		return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
+	},
+
+	getNum : function(n, c) {
+		c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
+		c = c.replace(/[^0-9]/g, '');
+
+		return c;
+	},
+
+	addClass : function(n, c, b) {
+		var o = this.removeClass(n, c);
+		n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
+	},
+
+	removeClass : function(n, c) {
+		c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
+		return n.className = c != ' ' ? c : '';
+	},
+
+	tags : function(f, s) {
+		return f.getElementsByTagName(s);
+	},
+
+	mark : function(f, n) {
+		var s = this.settings;
+
+		this.addClass(n, s.invalid_cls);
+		this.markLabels(f, n, s.invalid_cls);
+
+		return false;
+	},
+
+	markLabels : function(f, n, ic) {
+		var nl, i;
+
+		nl = this.tags(f, "label");
+		for (i=0; i<nl.length; i++) {
+			if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id)
+				this.addClass(nl[i], ic);
+		}
+
+		return null;
+	}
+};

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/LICENSE.TXT
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/LICENSE.TXT	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+The License
+
+Copyright (c) 2006, SilverStripe Limited - www.silverstripe.com
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of SilverStripe nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-bottom.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-bottom.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-repeater.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/i-repeater.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/index.html
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/index.html	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/index.html	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,253 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+
+<head>
+    <title>SilverStripe Tree Control</title>
+    <link rel="stylesheet" type="text/css" media="all" href="tree.css"/>
+    <script type="text/javascript" src="tree.js"></script>
+</head>
+
+<style>
+    html {
+        background-color: #DDD;
+    }
+
+    body {
+        font-size: 80%;
+        font-family: Arial, Helvetica, sans-serif;
+        width: 50em;
+        margin: 0 auto 3.5em auto;
+        padding: 1em;
+        background-color: white;
+        border-left: 1px #CCC solid;
+        border-right: 1px #CCC solid;
+    }
+
+    ul.tree a {
+        font-size: 0.8em;
+
+    }
+
+    code {
+        display: block;
+        font-size: 1.2em;
+        margin: 2em 5em;
+        padding: 0.5em;
+        border: 1px #CCC solid;
+        background-color: #EEE;
+    }
+
+    #version {
+        float: right;
+        font-style: italic;
+        margin-top: -4em;
+    }
+
+    dt {
+        margin: 1.2em 0 0.2em 0;
+        font-weight: bold;
+        font-size: 1.1em
+    }
+
+    dd {
+        margin: 0;
+    }
+
+    h2 {
+        margin-top: 4em;
+        border-bottom: 1px #CCC dotted;
+    }
+
+    #footer {
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 3em;
+    }
+
+    #footer div {
+        margin: auto;
+        width: 52em;
+        height: 3em;
+        background-color: #777;
+        color: white;
+    }
+
+    #footer a {
+        color: white;
+    }
+
+    #footer p.left {
+        float: left;
+        margin: 0.75em 1em;
+    }
+
+    #footer p.right {
+        float: right;
+        margin: 0.75em 1em;
+    }
+
+</style>
+
+<body>
+
+<h1>SilverStripe Tree Control</h1>
+
+<p>This tree control was put together by <a href="sam at silverstripe.com">Sam Minn&eacute;e</a> at
+    <a href="http://www.silverstripe.com/blog">SilverStripe</a> in New Zealand. We've put it out there
+    for everyone to enjoy. Check out <a href="http://www.silverstripe.com/blog">our blog</a> if you're
+    wondering what we're up to.</p>
+
+<p>This file came from <a
+        href="http://www.silverstripe.com/downloads/tree/">http://www.silverstripe.com/downloads/tree/</a>.
+    If you found this file elsewhere, check out that page: we might have posted an updated version.</p>
+
+<p>
+    <b>Quick-links:</b>
+    <a href="#Demo">Demo</a> | <a href="#Usage">Usage</a> | <a href="#Download">Download</a> | <a href="#HowItWorks">How
+    it Works</a>
+</p>
+
+<h2 id="Demo">Demo</h2>
+
+<p>Here's a basic demo of the tree control. Our styling is fairly basic, but with updated CSS and
+    images you can do whatever you like. Just for fun, try changing the text size.</p>
+
+<ul class="tree">
+    <li><a href="#">item 1</a>
+        <ul>
+            <li><a href="#">item 1.1</a></li>
+            <li class="closed"><a href="#">item 1.2</a>
+                <ul>
+                    <li><a href="#">item 1.2.1</a></li>
+                    <li><a href="#">item 1.2.2</a></li>
+                    <li><a href="#">item 1.2.3</a></li>
+                </ul>
+            </li>
+            <li><a href="#">item 1.3</a></li>
+        </ul>
+    </li>
+    <li><a href="#">item 2</a>
+        <ul>
+            <li><a href="#">item 2.1</a></li>
+            <li><a href="#">item 2.2</a></li>
+            <li><a href="#">item 2.3</a></li>
+        </ul>
+    </li>
+</ul>
+
+<h2 id="Download">Download</h2>
+
+<p><a href="../tree.zip">Download everything you need here</a> - tree.zip, 11kb</p>
+
+<h2 id="Usage">Usage</h2>
+
+<p>The first thing to do is include the appropriate JavaScript and CSS files:</p>
+
+<code>
+    &lt;link rel="stylesheet" type="text/css" media="all" href="tree.css" /&gt;<br/>
+    &lt;script type="text/javascript" src="tree.js"&gt;&lt;/script&gt;
+</code>
+
+<p>Then, create the HTML for you tree. This is basically a nested set of bullet pointed links. The
+    "tree" class at the top is what the script will look for. Note that you can make a tree ndoe closed
+    to begin with by adding class="closed".</p>
+
+<p>Here's the HTML code that I inserted to create the demo tree above.</p>
+
+<code>
+    &lt;ul class="tree"&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li class="closed"&gt;&lt;a href="#"&gt;item 1.2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 1.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2&lt;/a&gt;<br/>
+    &lt;ul&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.1&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.2&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;li&gt;&lt;a href="#"&gt;item 2.3&lt;/a&gt;&lt;/li&gt;<br/>
+    &lt;/ul&gt; <br/>
+    &lt;/li&gt;<br/>
+    &lt;/ul&gt;
+</code>
+
+<p>Your tree is now complete!</p>
+
+<h2 id="HowItWorks">How it works</h2>
+
+Obviously, this isn't a complete detail of everything that's going on, but it gives you an insight into
+the overall process.
+
+<dl>
+    <dt>Starting the script</dt>
+    <dd>In simple situations, creating an auto-loading script is a simple matter of setting window.onload
+        to a function. But what if there's more than one script? To this end, we created an appendLoader()
+        function that will execute multiple loader functions, including a previously defined loader function
+    </dd>
+
+    <dt>Finding the tree content</dt>
+    <dd>Rather than write a piece of script to define we're your tree is, we've tried to make the script
+        as automatic as possible - it finds all ULs with a class name containing "tree".
+    </dd>
+
+    <dt>Augmenting the HTML</dt>
+    <dd>Unfortunately, an LI containing an A isn't sufficient for doing all of the necessary tree styling.
+        Rather than force people to put non-semantic HTML into their file, the script generates extra &lt;span&gt; tags.
+        So, the following HTML:
+
+        <code>
+            &lt;li&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/li&gt;
+        </code>
+
+        Is turned into the more ungainly, and yet more easily styled:
+
+        <code>
+            &lt;li&gt;&lt;span class="a"&gt;&lt;span class="b"&gt;&lt;span class="c"&gt;&lt;a href="#"&gt;My item&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
+        </code>
+
+        Additionally, some helper classes are applied to the &lt;li&gt; and &lt;span class="a"&gt; elements:
+        <ul>
+            <li>"last" is applied to the last node of any subtree.
+            <li>"children" is applied to any node that has children.
+        </ul>
+    </dd>
+
+    <dt>Styling it up</dt>
+    <dd>Why the heck do we need 5 styling elements? Basically, because there are 5 background-images to apply:
+        <ul>
+            <li><b>li:</b> A repeating vertical line is shown. Nested &lt;li&gt; tags
+                give us the multiple vertical lines that we need.
+            </li>
+            <li><b>span.a:</b> We overlay the vertical line with 'L' and 'T' elements as needed.</li>
+            <li><b>span.b:</b> We overlay '+' or '-' signs on nodes with children.</li>
+            <li><b>span.c:</b> This is needed to fix up the vertical line.</li>
+            <li><b>a:</b> Finally, we apply the page icon.</li>
+        </ul>
+    </dd>
+
+    <dt>Opening / closing nodes</dt>
+    <dd>Having come this far, the "dynamic" aspect of the tree control is very trivial. We set a "closed"
+        class on the &lt;li&gt; and &lt;span class="a"&gt; elements, and our CSS takes care of hiding the
+        children, changing the - to a + and changing the folder icon.
+    </dd>
+</dl>
+
+<div id="footer">
+    <div>
+        <p class="left"><a href="http://www.silverstripe.com/downloads/tree">SilverStripe Tree Control</a>: v0.1, 30 Oct
+            2005</p>
+
+        <p class="right">Copyright &copy; 2005 <a href="http://www.silverstripe.com/blog">SilverStripe Limited</a></p>
+    </div>
+</div>
+</html>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/l.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/l.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/minus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/minus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-file.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-file.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-foldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-foldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-openfoldericon.png
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/page-openfoldericon.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/plus.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/plus.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/t.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/t.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,135 @@
+/*
+ * CSS for Standard tree layout
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+ */
+
+ul.tree {
+    width: auto;
+    padding-left: 0px;
+    margin-left: 0px;
+}
+
+ul.tree img {
+    border: none;
+}
+
+ul.tree, ul.tree ul {
+    padding-left: 0;
+}
+
+ul.tree ul {
+    margin-left: 16px;
+
+}
+
+ul.tree li.closed ul {
+    display: none;
+}
+
+ul.tree li {
+    list-style: none;
+    background: url( i-repeater.gif ) 0 0 repeat-y;
+    display: block;
+    width: auto; /* background-color:#FFFFFF; */
+}
+
+ul.tree li.last {
+    list-style: none;
+    background-image: none;
+}
+
+/* Span-A: I/L/I glpyhs */
+ul.tree span.a {
+    background: url( t.gif ) 0 50% no-repeat;
+    display: block;
+}
+
+ul.tree span.a.last {
+    background: url( l.gif ) 0 50% no-repeat;
+}
+
+/* Span-B: Plus/Minus icon */
+ul.tree span.b {
+}
+
+ul.tree span.a.children span.b {
+    background: url( minus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+ul.tree li.closed span.a.children span.b {
+    background: url( plus.gif ) 0 50% no-repeat;
+    cursor: pointer;
+}
+
+/* Span-C: Spacing and extending tree line below the icon */
+ul.tree span.c {
+    margin-left: 16px;
+}
+
+ul.tree span.a.children span.c {
+    background: url( i-bottom.gif ) 0 50% no-repeat;
+}
+
+ul.tree span.a.spanClosed span.c {
+    background-image: none;
+}
+
+/* Anchor tag: Page icon */
+ul.tree a {
+    white-space: nowrap;
+    overflow: hidden;
+
+    padding: 10px 0px 10px 18px;
+    line-height: 16px;
+
+    background: url( page-file.png ) 0 50% no-repeat;
+}
+
+ul.tree span.a.children a {
+    background-image: url( page-openfoldericon.png );
+}
+
+ul.tree span.a.children.spanClosed a {
+    background-image: url( page-foldericon.png );
+}
+
+/* Unformatted tree */
+ul.tree.unformatted li {
+    background-image: none;
+    padding-left: 16px;
+}
+
+ul.tree.unformatted li li {
+    background-image: none;
+    padding-left: 0px;
+}
+
+/*
+ * Divs, by default store vertically aligned data
+ */
+
+ul.tree li div {
+    float: right;
+    clear: right;
+    height: 1em;
+    margin-top: -26px;
+}
+
+/* As inside DIVs should be treated normally */
+ul.tree div a {
+    padding: 0;
+    background-image: none;
+    min-height: auto;
+    height: auto;
+}
+
+ul.tree li A:link, ul.tree li A:hover, ul.tree li A:visited {
+    color: #111111;
+}
+
+ul.tree li .over {
+    background-color: pink;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/tree/tree.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,196 @@
+/*
+ * Content-seperated javascript tree widget
+ * Copyright (C) 2005 SilverStripe Limited
+ * Feel free to use this on your websites, but please leave this message in the fies
+ * http://www.silverstripe.com/blog
+*/
+
+/*
+ * Initialise all trees identified by <ul class="tree">
+ */
+function autoInit_trees() {
+    var candidates = document.getElementsByTagName('ul');
+    for (var i = 0; i < candidates.length; i++) {
+        if (candidates[i].className && candidates[i].className.indexOf('tree') != -1) {
+            initTree(candidates[i]);
+            candidates[i].className = candidates[i].className.replace(/ ?unformatted ?/, ' ');
+        }
+    }
+}
+
+/*
+* Initialise a tree node, converting all its LIs appropriately
+*/
+function initTree(el) {
+    var i,j;
+    var spanA, spanB, spanC;
+    var startingPoint, stoppingPoint, childUL;
+
+    // Find all LIs to process
+    for (i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName && el.childNodes[i].tagName.toLowerCase() == 'li') {
+            var li = el.childNodes[i];
+
+            // Create our extra spans
+            spanA = document.createElement('span');
+            spanB = document.createElement('span');
+            spanC = document.createElement('span');
+            spanA.appendChild(spanB);
+            spanB.appendChild(spanC);
+            spanA.className = 'a ' + li.className.replace('closed', 'spanClosed');
+            spanA.onMouseOver = function() {
+            }
+            spanB.className = 'b';
+            spanB.onclick = treeToggle;
+            spanC.className = 'c';
+
+
+            // Find the UL within the LI, if it exists
+            stoppingPoint = li.childNodes.length;
+            startingPoint = 0;
+            childUL = null;
+            for (j = 0; j < li.childNodes.length; j++) {
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'div') {
+                    startingPoint = j + 1;
+                    continue;
+                }
+
+                if (li.childNodes[j].tagName && li.childNodes[j].tagName.toLowerCase() == 'ul') {
+                    childUL = li.childNodes[j];
+                    stoppingPoint = j;
+                    break;
+                }
+            }
+
+            // Move all the nodes up until that point into spanC
+            for (j = startingPoint; j < stoppingPoint; j++) {
+                spanC.appendChild(li.childNodes[startingPoint]);
+            }
+
+            // Insert the outermost extra span into the tree
+            if (li.childNodes.length > startingPoint) li.insertBefore(spanA, li.childNodes[startingPoint]);
+            else li.appendChild(spanA);
+
+            // Process the children
+            if (childUL != null) {
+                if (initTree(childUL)) {
+                    addClass(li, 'children', 'closed');
+                    addClass(spanA, 'children', 'spanClosed');
+                }
+            }
+        }
+    }
+
+    if (li) {
+        // li and spanA will still be set to the last item
+
+        addClass(li, 'last', 'closed');
+        addClass(spanA, 'last', 'spanClosed');
+        return true;
+    } else {
+        return false;
+    }
+
+}
+
+
+/*
+* +/- toggle the tree, where el is the <span class="b"> node
+* force, will force it to "open" or "close"
+*/
+function treeToggle(el, force) {
+    el = this;
+
+    while (el != null && (!el.tagName || el.tagName.toLowerCase() != "li")) el = el.parentNode;
+
+    // Get UL within the LI
+    var childSet = findChildWithTag(el, 'ul');
+    var topSpan = findChildWithTag(el, 'span');
+
+    if (force != null) {
+
+        if (force == "open") {
+            treeOpen(topSpan, el)
+        }
+        else if (force == "close") {
+            treeClose(topSpan, el)
+        }
+
+    }
+
+    else if (childSet != null) {
+        // Is open, close it
+        if (!el.className.match(/(^| )closed($| )/)) {
+            treeClose(topSpan, el)
+            // Is closed, open it
+        } else {
+            treeOpen(topSpan, el)
+        }
+    }
+}
+
+
+function treeOpen(a, b) {
+    removeClass(a, 'spanClosed');
+    removeClass(b, 'closed');
+}
+
+
+function treeClose(a, b) {
+    addClass(a, 'spanClosed');
+    addClass(b, 'closed');
+}
+
+/*
+ * Find the a child of el of type tag
+ */
+function findChildWithTag(el, tag) {
+    for (var i = 0; i < el.childNodes.length; i++) {
+        if (el.childNodes[i].tagName != null && el.childNodes[i].tagName.toLowerCase() == tag) return el.childNodes[i];
+    }
+    return null;
+}
+
+/*
+ * Functions to add and remove class names
+ * Mac IE hates unnecessary spaces
+ */
+function addClass(el, cls, forceBefore) {
+    if (forceBefore != null && el.className.match(new RegExp('(^| )' + forceBefore))) {
+        el.className = el.className.replace(new RegExp("( |^)" + forceBefore), '$1' + cls + ' ' + forceBefore);
+
+    } else if (!el.className.match(new RegExp('(^| )' + cls + '($| )'))) {
+        el.className += ' ' + cls;
+        el.className = el.className.replace(/(^ +)|( +$)/g, '');
+    }
+}
+function removeClass(el, cls) {
+    var old = el.className;
+    var newCls = ' ' + el.className + ' ';
+    newCls = newCls.replace(new RegExp(' (' + cls + ' +)+', 'g'), ' ');
+    el.className = newCls.replace(/(^ +)|( +$)/g, '');
+}
+
+/*
+* Handlers for automated loading
+*/
+_LOADERS = Array();
+
+function callAllLoaders() {
+    var i, loaderFunc;
+    for (i = 0; i < _LOADERS.length; i++) {
+        loaderFunc = _LOADERS[i];
+        if (loaderFunc != callAllLoaders) loaderFunc();
+    }
+}
+
+function appendLoader(loaderFunc) {
+    if (window.onload && window.onload != callAllLoaders)
+        _LOADERS[_LOADERS.length] = window.onload;
+
+    window.onload = callAllLoaders;
+
+    _LOADERS[_LOADERS.length] = loaderFunc;
+}
+
+appendLoader(autoInit_trees);

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/validation.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/validation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/validation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,223 @@
+// ************************************
+// A variety of validation routines
+//
+//  All routines return true or false
+//
+// checkDate -- checks if valid date
+// checkDigit -- checks if character provided is a single digit
+// checkNotEmpty  -- checks if empty
+// checkEmail -- check if valid email
+// checkNumber -- check if number
+// checkNumberLessThan -- check if number is less than a provided number
+// checkNumberGreaterThan -- check if number is greater than a provided number
+// checkPhone -- checks if a 10 digit phone number
+// checkCreditCardNumber -- checks if valid card number using Luhn's formula
+// checkCreditCardType -- checks if the credit card type is valid based on the credit card number
+//                         Master Card, Visa, American Express
+// ************************************
+
+
+
+/*
+    Checks if the string is a valid date formatted as...
+    mm dd yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy
+
+    http://codylindley.com/blogstuff/js/validation/
+*/
+function checkDate(str){
+	var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/
+	if (!re.test(str)) return false;
+	var result = str.match(re);
+	var m = parseInt(result[1]);
+	var d = parseInt(result[2]);
+	var y = parseInt(result[3]);
+	if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;
+	if(m == 2){
+		var days = ((y % 4) == 0) ? 29 : 28;
+	}else if(m == 4 || m == 6 || m == 9 || m == 11){
+		var days = 30;
+	}else{
+		var days = 31;
+	}
+	return (d >= 1 && d <= days);
+}
+
+/*
+ Check if character supplied is a digit
+*/
+function checkDigit(c) {
+    if (c.length != 1) return false;
+    var strAllowed = "1234567890";
+    return (strAllowed.indexOf (c) != -1);
+}
+
+/*
+ Check for empty string, return true if empty, false otherwise
+*/
+function checkNotEmpty(strng) {
+    return (strng != "");
+}
+
+/*
+ Email checking-- comes from Apple's example validation code
+ http://developer.apple.com/internet/webcontent/examples/validate_source.html
+*/
+function checkEmail(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // test email for an @ followed by characters and a .
+    var emailFilter=/^.+ at .+\..{2,3}$/;
+    if (!(emailFilter.test(strng))) {
+        return false;
+    }
+    else {
+        //test email for illegal characters
+        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
+        if (strng.match(illegalChars)) {
+            return false;
+        }
+    }
+    return true;
+}
+
+/*
+ Check if this is a number
+ */
+function checkNumber(num) {
+    return (!(isNaN(parseInt(num))));
+}
+
+function checkNumberGreaterThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num > compareNum);
+}
+
+function checkNumberLessThan(num, compareNum) {
+    if (!checkNumber(num)) return false;
+    return (num < compareNum);
+}
+
+/*
+ phone number - strip out delimiters and check for 10 digits -- also from Apple
+*/
+function checkPhone(strng) {
+    if (strng == "") {
+        return false;
+    }
+    // check that phone number doesn't contain illegal chars
+    var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters
+    if (isNaN(parseInt(stripped))) {
+        return false;
+    }
+    // check length of phone number
+    if (!(stripped.length == 10)) {
+        return false;
+    }
+    return true;
+}
+
+/*
+ Check if this credit card number is valid
+*/
+function checkCreditCardNumber (strNum) {
+    var nCheck = 0;
+    var bEven = false;
+
+    for (n = strNum.length - 1; n >= 0; n--) {
+        var cDigit = strNum.charAt (n);
+        if (isDigit (cDigit)) {
+            var nDigit = parseInt(cDigit, 10);
+            if (bEven) {
+                if ((nDigit *= 2) > 9)
+                    nDigit -= 9;
+            }
+            nCheck += nDigit;
+            bEven = ! bEven;
+        } else if (cDigit != ' ' && cDigit != '.' && cDigit != '-') {
+            return false;
+        }
+    }
+    return (nCheck % 10) == 0;
+}
+
+/*
+ Check if this credit card type is valid
+*/
+function checkCreditCardType(strNum, type) {
+    var nLen = 0;
+    for (n = 0; n < strNum.length; n++) {
+        if (isDigit (strNum.substring (n,n+1)))
+            ++nLen;
+    }
+    if (type == 'Visa')
+        return ((strNum.substring(0,1) == '4') && (nLen == 13 || nLen == 16));
+    else if (type == 'Amex')
+        return ((strNum.substring(0,2) == '34' || strNum.substring(0,2) == '37') && (nLen == 15));
+    else if (type == 'Master Card')
+        return ((strNum.substring(0,2) == '51' || strNum.substring(0,2) == '52'
+                || strNum.substring(0,2) == '53' || strNum.substring(0,2) == '54'
+                || strNum.substring(0,2) == '55') && (nLen == 16));
+    else
+        return false;
+
+}
+
+function validate( myform ) {
+    var inputFields = document.getElementById(myform.id).getElementsByTagName("input");
+    var valid = true;
+    var checkFunc = "";
+    var message = "";
+    for (i = 0; i < inputFields.length; i++) {
+        var checkFuncStr = inputFields[i].className;
+        var startIdx = 0;
+        var endIdx = checkFuncStr.length;
+        var done = false;
+        do {
+            startIdx = checkFuncStr.indexOf('check', startIdx);
+            if (startIdx >= 0) {
+                var lastIdx = checkFuncStr.indexOf('#', startIdx);
+                if (lastIdx > 0) {
+                    checkFunc = checkFuncStr.substring(startIdx, lastIdx);
+                    startIdx = lastIdx;
+                    var myfunc = checkFunc + "('" + inputFields[i].value + "')";
+                    valid = eval(myfunc);
+                    if (!valid) {
+                        var validateName = "val#" + inputFields[i].name + "#" + checkFunc;
+                        var hiddenField = document.getElementById(myform.id).elements[validateName];
+                        message = hiddenField.value;
+                        displayError( myform, message);
+                        return false;
+                    }
+                }
+            } else {
+                done = true;
+            }
+            if (startIdx >= endIdx - 5) done = true;
+        } while (!done)
+    }
+    return true;
+}
+
+function displayError( myform, message) {
+    var msgDiv = null;
+    var form = document.getElementById(myform.id);
+    var divs = form.getElementsByTagName("div");
+    for (i = 0; i < divs.length; i++) {
+        var errorDiv = divs[i].className;
+        if (errorDiv == "ui-messagebox-portlet-msg-error") {
+            msgDiv = divs[i];
+            msgDiv.childNodes[0].textContent = message;
+        }
+    }
+    if (!msgDiv) {
+        msgDiv = document.createElement("div");
+        msgDiv.className = "ui-messagebox-portlet-msg-error";
+        var msgSpan = document.createElement("span");
+        msgSpan.className = "portlet-msg-error";
+        var txt = document.createTextNode(message);
+        msgSpan.appendChild(txt);
+        msgDiv.appendChild(msgSpan);
+        form.insertBefore(msgDiv, form.childNodes[0]);
+    }
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/README
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/README	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/README	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+YUI Library Release Notes
+
+*** version 0.11.4 ***
+
+This update contains some priority bug fixes to the following components:
+
+* Yahoo
+* Container
+* Drag and Drop
+* Event
+
+Additional details can be found in the README files for each updated component.
+
+*** version 0.11.3 ***
+
+This update contains general fixes to the YUI library and additions to the YUI
+cheatsheets under docs/assets.  Please see the README file for each component in
+the build directory for updates and fixes since version 0.11.2.
+
+*** version 0.11.2 ***
+
+This update contains a high-priority fix to Drag and Drop that prevents text
+selection.  Additional details can be found in the README file for:
+
+* Drag and Drop
+
+*** version 0.11.1 ***
+
+Release 0.11.1 addresses some high-priority bugs reported in the recently
+released version 0.11.0. Additional details can be found in the README files for
+each updated component:
+
+* Animation
+* Dom
+* Drag and Drop
+* Connection Manager
+* Container
+
+*** version 0.11.0 ***
+
+This version introduces the Logger widget.  The YUI cheatsheets for version
+0.11.0 and 0.10.0 are also included in this distribution under docs/assets.
+
+Please see the README file for each component in the build directory for
+updates and fixes since version 0.10.0.
+
+*** version 0.10.0 ***
+
+In this release, the directory structure has been modified to provide more
+component organization.  This is the new format:
+
+yui/
+  |
+  -- build/
+  | |
+  | -- dom/
+  | |
+  | | -- assets/
+  | |
+  | | -- dom.js
+  | |
+  -- docs/
+  | |
+  | -- dom/
+  | |
+  -- examples/
+  | |
+  | -- dom/
+  | |
+  | | -- img/
+
+Notice there are three immediate directories under the
+root YUI.  They are:
+
+*build/*
+This directory contains the source files for each YUI component, and each
+component is presented as a sub-directory under build/.  Notice that there are
+generally two source files: component.js and component-min.js.  The "component"
+source is the raw, commented build and "component-min" is the minified version
+of the same file with comments and whitespace removed.  With some components,
+there is an assets sub-directory.  CSS and image dependencies for each
+component are stored in its assets sub-directory.
+
+Note: If a component makes use of images, the image source path in the
+component's CSS file will point to Akamai.  The physical images are also
+available in the assets/ directory for local availability.  Please modify the
+CSS image references if you wish to use your own image assets.
+
+*docs/*
+This directory contains the jsdoc-generated API reference for every YUI
+component.  Each component is presented as a sub-directory under docs/.
+
+*examples/*
+This directory contains functional examples for each component in the YUI
+Library.  The examples are not part of the formal distribution; rather,
+they provide demonstrations of each component in use.  Each example uses YUI
+Library source files from the build/ directory, while all example-specific
+dependencies are stored in sub-directories (e.g. examples/dom/img).
+Some components, including the AutoComplete Control and Connection Manager,
+make use of PHP to implement certain examples.
+
+For example:
+In yui/examples/dom, the dom.js source file and all YUI .js dependencies
+are drawn from yui/build/ directories.  All other example-specific sources are
+stored as sub-directories: yui/examples/dom/css and yui/examples/dom/img.
+
+Each functional example is also available and functional on
+developer.yahoo.com/yui/.  They reproduced here as part of the distribution
+for your convenience.
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/ResizePanel.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/ResizePanel.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+YAHOO.widget.ResizePanel = function(el, userConfig) {
+    if (arguments.length > 0) {
+        YAHOO.widget.ResizePanel.superclass.constructor.call(this, el, userConfig);
+    }
+}
+
+YAHOO.extend(YAHOO.widget.ResizePanel, YAHOO.widget.Panel);
+
+YAHOO.widget.ResizePanel.prototype.init = function(el, userConfig) {
+    YAHOO.widget.ResizePanel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+    this.beforeInitEvent.fire(YAHOO.widget.ResizePanel);
+
+    this.resizeHandle = document.createElement("DIV");
+    this.resizeHandle.id = this.id + "_r";
+
+    this.resizeHandle.style.position = "absolute";
+    this.resizeHandle.style.width = "25px";
+    this.resizeHandle.style.height = "4px";
+    this.resizeHandle.style.right = "0";
+    this.resizeHandle.style.bottom = "0";
+    this.resizeHandle.style.padding = "0";
+    this.resizeHandle.style.margin = "0";
+    this.resizeHandle.style.zIndex = "1";
+
+    this.resizeHandle.style.backgroundColor = "#666";
+    this.resizeHandle.style.cursor = "se-resize";
+    this.resizeHandle.style.fontSize = "2px";
+
+    this.beforeRenderEvent.subscribe(function() {
+        if (! this.footer) {
+            this.setFooter("");
+        }
+    },
+            this, true
+            );
+    this.renderEvent.subscribe(function() {
+        var me = this;
+
+        me.innerElement.appendChild(me.resizeHandle);
+
+        this.ddResize = new YAHOO.util.DragDrop(this.resizeHandle.id, this.id);
+        this.ddResize.setHandleElId(this.resizeHandle.id);
+
+        var headerHeight = me.header.offsetHeight;
+
+        this.ddResize.onMouseDown = function(e) {
+
+            this.startWidth = me.innerElement.offsetWidth;
+            this.startHeight = me.innerElement.offsetHeight;
+
+            me.cfg.setProperty("width", this.startWidth + "px");
+            me.cfg.setProperty("height", this.startHeight + "px");
+
+            this.startPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            me.innerElement.style.overflow = "hidden";
+            me.body.style.overflow = "auto";
+        }
+
+        this.ddResize.onDrag = function(e) {
+            var newPos = [YAHOO.util.Event.getPageX(e),
+                    YAHOO.util.Event.getPageY(e)];
+
+            var offsetX = newPos[0] - this.startPos[0];
+            var offsetY = newPos[1] - this.startPos[1];
+
+            var newWidth = Math.max(this.startWidth + offsetX, 10);
+            var newHeight = Math.max(this.startHeight + offsetY, 10);
+
+            me.cfg.setProperty("width", newWidth + "px");
+            me.cfg.setProperty("height", newHeight + "px");
+
+            var bodyHeight = (newHeight - 5 - me.footer.offsetHeight - me.header.offsetHeight - 3);
+            if (bodyHeight < 0) {
+                bodyHeight = 0;
+            }
+
+            me.body.style.height =  bodyHeight + "px";
+
+            var innerHeight = me.innerElement.offsetHeight;
+            var innerWidth = me.innerElement.offsetWidth;
+
+            if (innerHeight < headerHeight) {
+                me.innerElement.style.height = headerHeight + "px";
+            }
+
+            if (innerWidth < 20) {
+                me.innerElement.style.width = "20px";
+            }
+        }
+
+    }, this, true);
+
+    if (userConfig) {
+        this.cfg.applyConfig(userConfig, true);
+    }
+
+    this.initEvent.fire(YAHOO.widget.ResizePanel);
+}
+
+YAHOO.widget.ResizePanel.prototype.toString = function() {
+    return "ResizePanel " + this.id;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/animation.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/animation.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1255 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+/**
+ *
+ * Base class for animated DOM objects.
+ * @class Base animation class that provides the interface for building animated effects.
+ * <p>Usage: var myAnim = new YAHOO.util.Anim(el, { width: { from: 10, to: 100 } }, 1, YAHOO.util.Easing.easeOut);</p>
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+
+YAHOO.util.Anim = function(el, attributes, duration, method) {
+   if (el) {
+      this.init(el, attributes, duration, method);
+   }
+};
+
+YAHOO.util.Anim.prototype = {
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   toString: function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Anim " + id);
+   },
+
+   patterns: { // cached for performance
+      noNegatives:      /width|height|opacity|padding/i, // keep at zero or above
+      offsetAttribute:  /^((width|height)|(top|left))$/, // use offsetValue as default
+      defaultUnit:      /width|height|top$|bottom$|left$|right$/i, // use 'px' by default
+      offsetUnit:       /\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i // IE may return these, so convert these to offset
+   },
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   doMethod: function(attr, start, end) {
+      return this.method(this.currentFrame, start, end - start, this.totalFrames);
+   },
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   setAttribute: function(attr, val, unit) {
+      if ( this.patterns.noNegatives.test(attr) ) {
+         val = (val > 0) ? val : 0;
+      }
+
+      YAHOO.util.Dom.setStyle(this.getEl(), attr, val + unit);
+   },
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   getAttribute: function(attr) {
+      var el = this.getEl();
+      var val = YAHOO.util.Dom.getStyle(el, attr);
+
+      if (val !== 'auto' && !this.patterns.offsetUnit.test(val)) {
+         return parseFloat(val);
+      }
+
+      var a = this.patterns.offsetAttribute.exec(attr) || [];
+      var pos = !!( a[3] ); // top or left
+      var box = !!( a[2] ); // width or height
+
+      // use offsets for width/height and abs pos top/left
+      if ( box || (YAHOO.util.Dom.getStyle(el, 'position') == 'absolute' && pos) ) {
+         val = el['offset' + a[0].charAt(0).toUpperCase() + a[0].substr(1)];
+      } else { // default to zero for other 'auto'
+         val = 0;
+      }
+
+      return val;
+   },
+
+   /**
+    * Returns the unit to use when none is supplied.
+    * Applies the "defaultUnit" test to decide whether to use pixels or not
+    * @param {attr} attr The name of the attribute.
+    * @return {String} The default unit to be used.
+    */
+   getDefaultUnit: function(attr) {
+       if ( this.patterns.defaultUnit.test(attr) ) {
+         return 'px';
+       }
+
+       return '';
+   },
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   setRuntimeAttribute: function(attr) {
+      var start;
+      var end;
+      var attributes = this.attributes;
+
+      this.runtimeAttributes[attr] = {};
+
+      var isset = function(prop) {
+         return (typeof prop !== 'undefined');
+      };
+
+      if ( !isset(attributes[attr]['to']) && !isset(attributes[attr]['by']) ) {
+         return false; // note return; nothing to animate to
+      }
+
+      start = ( isset(attributes[attr]['from']) ) ? attributes[attr]['from'] : this.getAttribute(attr);
+
+      // To beats by, per SMIL 2.1 spec
+      if ( isset(attributes[attr]['to']) ) {
+         end = attributes[attr]['to'];
+      } else if ( isset(attributes[attr]['by']) ) {
+         if (start.constructor == Array) {
+            end = [];
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + attributes[attr]['by'][i];
+            }
+         } else {
+            end = start + attributes[attr]['by'];
+         }
+      }
+
+      this.runtimeAttributes[attr].start = start;
+      this.runtimeAttributes[attr].end = end;
+
+      // set units if needed
+      this.runtimeAttributes[attr].unit = ( isset(attributes[attr].unit) ) ? attributes[attr]['unit'] : this.getDefaultUnit(attr);
+   },
+
+   /**
+    * @param {String or HTMLElement} el Reference to the element that will be animated
+    * @param {Object} attributes The attribute(s) to be animated.
+    * Each attribute is an object with at minimum a "to" or "by" member defined.
+    * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+    * All attribute names use camelCase.
+    * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+    * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+    */
+   init: function(el, attributes, duration, method) {
+      /**
+       * Whether or not the animation is running.
+       * @private
+       * @type Boolean
+       */
+      var isAnimated = false;
+
+      /**
+       * A Date object that is created when the animation begins.
+       * @private
+       * @type Date
+       */
+      var startTime = null;
+
+      /**
+       * The number of frames this animation was able to execute.
+       * @private
+       * @type Int
+       */
+      var actualFrames = 0;
+
+      /**
+       * The element to be animated.
+       * @private
+       * @type HTMLElement
+       */
+      el = YAHOO.util.Dom.get(el);
+
+      /**
+       * The collection of attributes to be animated.
+       * Each attribute must have at least a "to" or "by" defined in order to animate.
+       * If "to" is supplied, the animation will end with the attribute at that value.
+       * If "by" is supplied, the animation will end at that value plus its starting value.
+       * If both are supplied, "to" is used, and "by" is ignored.
+       * @member YAHOO#util#Anim
+       * Optional additional member include "from" (the value the attribute should start animating from, defaults to current value), and "unit" (the units to apply to the values).
+       * @type Object
+       */
+      this.attributes = attributes || {};
+
+      /**
+       * The length of the animation.  Defaults to "1" (second).
+       * @type Number
+       */
+      this.duration = duration || 1;
+
+      /**
+       * The method that will provide values to the attribute(s) during the animation.
+       * Defaults to "YAHOO.util.Easing.easeNone".
+       * @type Function
+       */
+      this.method = method || YAHOO.util.Easing.easeNone;
+
+      /**
+       * Whether or not the duration should be treated as seconds.
+       * Defaults to true.
+       * @type Boolean
+       */
+      this.useSeconds = true; // default to seconds
+
+      /**
+       * The location of the current animation on the timeline.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.currentFrame = 0;
+
+      /**
+       * The total number of frames to be executed.
+       * In time-based animations, this is used by AnimMgr to ensure the animation finishes on time.
+       * @type Int
+       */
+      this.totalFrames = YAHOO.util.AnimMgr.fps;
+
+
+      /**
+       * Returns a reference to the animated element.
+       * @return {HTMLElement}
+       */
+      this.getEl = function() { return el; };
+
+      /**
+       * Checks whether the element is currently animated.
+       * @return {Boolean} current value of isAnimated.
+       */
+      this.isAnimated = function() {
+         return isAnimated;
+      };
+
+      /**
+       * Returns the animation start time.
+       * @return {Date} current value of startTime.
+       */
+      this.getStartTime = function() {
+         return startTime;
+      };
+
+      this.runtimeAttributes = {};
+
+
+
+      /**
+       * Starts the animation by registering it with the animation manager.
+       */
+      this.animate = function() {
+         if ( this.isAnimated() ) { return false; }
+
+         this.currentFrame = 0;
+
+         this.totalFrames = ( this.useSeconds ) ? Math.ceil(YAHOO.util.AnimMgr.fps * this.duration) : this.duration;
+
+         YAHOO.util.AnimMgr.registerElement(this);
+      };
+
+      /**
+       * Stops the animation.  Normally called by AnimMgr when animation completes.
+       */
+      this.stop = function() {
+         YAHOO.util.AnimMgr.stop(this);
+      };
+
+      var onStart = function() {
+         this.onStart.fire();
+         for (var attr in this.attributes) {
+            this.setRuntimeAttribute(attr);
+         }
+
+         isAnimated = true;
+         actualFrames = 0;
+         startTime = new Date();
+      };
+
+      /**
+       * Feeds the starting and ending values for each animated attribute to doMethod once per frame, then applies the resulting value to the attribute(s).
+       * @private
+       */
+
+      var onTween = function() {
+         var data = {
+            duration: new Date() - this.getStartTime(),
+            currentFrame: this.currentFrame
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', currentFrame: ' + data.currentFrame
+            );
+         };
+
+         this.onTween.fire(data);
+
+         var runtimeAttributes = this.runtimeAttributes;
+
+         for (var attr in runtimeAttributes) {
+            this.setAttribute(attr, this.doMethod(attr, runtimeAttributes[attr].start, runtimeAttributes[attr].end), runtimeAttributes[attr].unit);
+         }
+
+         actualFrames += 1;
+      };
+
+      var onComplete = function() {
+         var actual_duration = (new Date() - startTime) / 1000 ;
+
+         var data = {
+            duration: actual_duration,
+            frames: actualFrames,
+            fps: actualFrames / actual_duration
+         };
+
+         data.toString = function() {
+            return (
+               'duration: ' + data.duration +
+               ', frames: ' + data.frames +
+               ', fps: ' + data.fps
+            );
+         };
+
+         isAnimated = false;
+         actualFrames = 0;
+         this.onComplete.fire(data);
+      };
+
+      /**
+       * Custom event that fires after onStart, useful in subclassing
+       * @private
+       */
+      this._onStart = new YAHOO.util.CustomEvent('_start', this, true);
+
+      /**
+       * Custom event that fires when animation begins
+       * Listen via subscribe method (e.g. myAnim.onStart.subscribe(someFunction)
+       */
+      this.onStart = new YAHOO.util.CustomEvent('start', this);
+
+      /**
+       * Custom event that fires between each frame
+       * Listen via subscribe method (e.g. myAnim.onTween.subscribe(someFunction)
+       */
+      this.onTween = new YAHOO.util.CustomEvent('tween', this);
+
+      /**
+       * Custom event that fires after onTween
+       * @private
+       */
+      this._onTween = new YAHOO.util.CustomEvent('_tween', this, true);
+
+      /**
+       * Custom event that fires when animation ends
+       * Listen via subscribe method (e.g. myAnim.onComplete.subscribe(someFunction)
+       */
+      this.onComplete = new YAHOO.util.CustomEvent('complete', this);
+      /**
+       * Custom event that fires after onComplete
+       * @private
+       */
+      this._onComplete = new YAHOO.util.CustomEvent('_complete', this, true);
+
+      this._onStart.subscribe(onStart);
+      this._onTween.subscribe(onTween);
+      this._onComplete.subscribe(onComplete);
+   }
+};
+
+/**
+ * @class Handles animation queueing and threading.
+ * Used by Anim and subclasses.
+ */
+YAHOO.util.AnimMgr = new function() {
+   /**
+    * Reference to the animation Interval
+    * @private
+    * @type Int
+    */
+   var thread = null;
+
+   /**
+    * The current queue of registered animation objects.
+    * @private
+    * @type Array
+    */
+   var queue = [];
+
+   /**
+    * The number of active animations.
+    * @private
+    * @type Int
+    */
+   var tweenCount = 0;
+
+   /**
+    * Base frame rate (frames per second).
+    * Arbitrarily high for better x-browser calibration (slower browsers drop more frames).
+    * @type Int
+    *
+    */
+   this.fps = 200;
+
+   /**
+    * Interval delay in milliseconds, defaults to fastest possible.
+    * @type Int
+    *
+    */
+   this.delay = 1;
+
+   /**
+    * Adds an animation instance to the animation queue.
+    * All animation instances must be registered in order to animate.
+    * @param {object} tween The Anim instance to be be registered
+    */
+   this.registerElement = function(tween) {
+      queue[queue.length] = tween;
+      tweenCount += 1;
+      tween._onStart.fire();
+      this.start();
+   };
+
+   this.unRegister = function(tween, index) {
+      tween._onComplete.fire();
+      index = index || getIndex(tween);
+      if (index != -1) { queue.splice(index, 1); }
+
+      tweenCount -= 1;
+      if (tweenCount <= 0) { this.stop(); }
+   };
+
+   /**
+    * Starts the animation thread.
+	 * Only one thread can run at a time.
+    */
+   this.start = function() {
+      if (thread === null) { thread = setInterval(this.run, this.delay); }
+   };
+
+   /**
+    * Stops the animation thread or a specific animation instance.
+    * @param {object} tween A specific Anim instance to stop (optional)
+    * If no instance given, Manager stops thread and all animations.
+    */
+   this.stop = function(tween) {
+      if (!tween) {
+         clearInterval(thread);
+         for (var i = 0, len = queue.length; i < len; ++i) {
+            if (queue[i].isAnimated()) {
+               this.unRegister(tween, i);
+            }
+         }
+         queue = [];
+         thread = null;
+         tweenCount = 0;
+      }
+      else {
+         this.unRegister(tween);
+      }
+   };
+
+   /**
+    * Called per Interval to handle each animation frame.
+    */
+   this.run = function() {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         var tween = queue[i];
+         if ( !tween || !tween.isAnimated() ) { continue; }
+
+         if (tween.currentFrame < tween.totalFrames || tween.totalFrames === null)
+         {
+            tween.currentFrame += 1;
+
+            if (tween.useSeconds) {
+               correctFrame(tween);
+            }
+            tween._onTween.fire();
+         }
+         else { YAHOO.util.AnimMgr.stop(tween, i); }
+      }
+   };
+
+   var getIndex = function(anim) {
+      for (var i = 0, len = queue.length; i < len; ++i) {
+         if (queue[i] == anim) {
+            return i; // note return;
+         }
+      }
+      return -1;
+   };
+
+   /**
+    * On the fly frame correction to keep animation on time.
+    * @private
+    * @param {Object} tween The Anim instance being corrected.
+    */
+   var correctFrame = function(tween) {
+      var frames = tween.totalFrames;
+      var frame = tween.currentFrame;
+      var expected = (tween.currentFrame * tween.duration * 1000 / tween.totalFrames);
+      var elapsed = (new Date() - tween.getStartTime());
+      var tweak = 0;
+
+      if (elapsed < tween.duration * 1000) { // check if falling behind
+         tweak = Math.round((elapsed / expected - 1) * tween.currentFrame);
+      } else { // went over duration, so jump to end
+         tweak = frames - (frame + 1);
+      }
+      if (tweak > 0 && isFinite(tweak)) { // adjust if needed
+         if (tween.currentFrame + tweak >= frames) {// dont go past last frame
+            tweak = frames - (frame + 1);
+         }
+
+         tween.currentFrame += tweak;
+      }
+   };
+};
+/**
+ *
+ * @class Used to calculate Bezier splines for any number of control points.
+ *
+ */
+YAHOO.util.Bezier = new function()
+{
+   /**
+    * Get the current position of the animated element based on t.
+    * Each point is an array of "x" and "y" values (0 = x, 1 = y)
+    * At least 2 points are required (start and end).
+    * First point is start. Last point is end.
+    * Additional control points are optional.
+    * @param {Array} points An array containing Bezier points
+    * @param {Number} t A number between 0 and 1 which is the basis for determining current position
+    * @return {Array} An array containing int x and y member data
+    */
+   this.getPosition = function(points, t)
+   {
+      var n = points.length;
+      var tmp = [];
+
+      for (var i = 0; i < n; ++i){
+         tmp[i] = [points[i][0], points[i][1]]; // save input
+      }
+
+      for (var j = 1; j < n; ++j) {
+         for (i = 0; i < n - j; ++i) {
+            tmp[i][0] = (1 - t) * tmp[i][0] + t * tmp[parseInt(i + 1, 10)][0];
+            tmp[i][1] = (1 - t) * tmp[i][1] + t * tmp[parseInt(i + 1, 10)][1];
+         }
+      }
+
+      return [ tmp[0][0], tmp[0][1] ];
+
+   };
+};
+/**
+ * @class ColorAnim subclass for color fading
+ * <p>Usage: <code>var myAnim = new Y.ColorAnim(el, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 1, Y.Easing.easeOut);</code></p>
+ * <p>Color values can be specified with either 112233, #112233, [255,255,255], or rgb(255,255,255)
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @constructor
+ * @param {HTMLElement | String} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.ColorAnim = function(el, attributes, duration,  method) {
+      YAHOO.util.ColorAnim.superclass.constructor.call(this, el, attributes, duration, method);
+   };
+
+   YAHOO.extend(YAHOO.util.ColorAnim, YAHOO.util.Anim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.ColorAnim.superclass;
+   var proto = Y.ColorAnim.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("ColorAnim " + id);
+   };
+
+   /**
+    * Only certain attributes should be treated as colors.
+    * @type Object
+    */
+   proto.patterns.color = /color$/i;
+   proto.patterns.rgb    = /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;
+   proto.patterns.hex    = /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
+   proto.patterns.hex3   = /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;
+
+   /**
+    * Attempts to parse the given string and return a 3-tuple.
+    * @param {String} s The string to parse.
+    * @return {Array} The 3-tuple of rgb values.
+    */
+   proto.parseColor = function(s) {
+      if (s.length == 3) { return s; }
+
+      var c = this.patterns.hex.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 16), parseInt(c[2], 16), parseInt(c[3], 16) ];
+      }
+
+      c = this.patterns.rgb.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1], 10), parseInt(c[2], 10), parseInt(c[3], 10) ];
+      }
+
+      c = this.patterns.hex3.exec(s);
+      if (c && c.length == 4) {
+         return [ parseInt(c[1] + c[1], 16), parseInt(c[2] + c[2], 16), parseInt(c[3] + c[3], 16) ];
+      }
+
+      return null;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var el = this.getEl();
+      if (  this.patterns.color.test(attr) ) {
+         var val = YAHOO.util.Dom.getStyle(el, attr);
+
+         if (val == 'transparent') { // bgcolor default
+            var parent = el.parentNode; // try and get from an ancestor
+            val = Y.Dom.getStyle(parent, attr);
+
+            while (parent && val == 'transparent') {
+               parent = parent.parentNode;
+               val = Y.Dom.getStyle(parent, attr);
+               if (parent.tagName.toUpperCase() == 'HTML') {
+                  val = 'ffffff';
+               }
+            }
+         }
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val;
+
+      if ( this.patterns.color.test(attr) ) {
+         val = [];
+         for (var i = 0, len = start.length; i < len; ++i) {
+            val[i] = superclass.doMethod.call(this, attr, start[i], end[i]);
+         }
+
+         val = 'rgb('+Math.floor(val[0])+','+Math.floor(val[1])+','+Math.floor(val[2])+')';
+      }
+      else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      superclass.setRuntimeAttribute.call(this, attr);
+
+      if ( this.patterns.color.test(attr) ) {
+         var attributes = this.attributes;
+         var start = this.parseColor(this.runtimeAttributes[attr].start);
+         var end = this.parseColor(this.runtimeAttributes[attr].end);
+         // fix colors if going "by"
+         if ( typeof attributes[attr]['to'] === 'undefined' && typeof attributes[attr]['by'] !== 'undefined' ) {
+            end = this.parseColor(attributes[attr].by);
+
+            for (var i = 0, len = start.length; i < len; ++i) {
+               end[i] = start[i] + end[i];
+            }
+         }
+
+         this.runtimeAttributes[attr].start = start;
+         this.runtimeAttributes[attr].end = end;
+      }
+   };
+})();/*
+TERMS OF USE - EASING EQUATIONS
+Open source under the BSD License.
+Copyright © 2001 Robert Penner All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+    * Neither the name of the author nor the names of contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+*/
+
+YAHOO.util.Easing = {
+
+   /**
+    * Uniform speed between points.
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeNone: function (t, b, c, d) {
+   	return c*t/d + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeIn: function (t, b, c, d) {
+   	return c*(t/=d)*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOut: function (t, b, c, d) {
+   	return -c *(t/=d)*(t-2) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quadratic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBoth: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t + b;
+   	return -c/2 * ((--t)*(t-2) - 1) + b;
+   },
+
+   /**
+    * Begins slowly and accelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeInStrong: function (t, b, c, d) {
+   	return c*(t/=d)*t*t*t + b;
+   },
+
+   /**
+    * Begins quickly and decelerates towards end.  (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeOutStrong: function (t, b, c, d) {
+   	return -c * ((t=t/d-1)*t*t*t - 1) + b;
+   },
+
+   /**
+    * Begins slowly and decelerates towards end. (quartic)
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   easeBothStrong: function (t, b, c, d) {
+   	if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
+   	return -c/2 * ((t-=2)*t*t*t - 2) + b;
+   },
+
+   /**
+    * snap in elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+
+   elasticIn: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   },
+
+   /**
+    * snap out elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticOut: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
+   },
+
+   /**
+    * snap both elastic effect
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number} p Period (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   elasticBoth: function (t, b, c, d, a, p) {
+   	if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
+   	if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
+   	else var s = p/(2*Math.PI) * Math.asin (c/a);
+   	if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
+   	return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
+   },
+
+   /**
+    * back easing in - backtracking slightly, then reversing direction and moving to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backIn: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*(t/=d)*t*((s+1)*t - s) + b;
+   },
+
+   /**
+    * back easing out - moving towards target, overshooting it slightly,
+    * then reversing and coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backOut: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
+   },
+
+   /**
+    * back easing in/out - backtracking slightly, then reversing direction and moving to target,
+    * then overshooting target, reversing, and finally coming back to target
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @param {Number) s Overshoot (optional)
+    * @return {Number} The computed value for the current animation frame.
+    */
+   backBoth: function (t, b, c, d, s) {
+   	if (typeof s == 'undefined') s = 1.70158;
+   	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
+   	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
+   },
+
+   /**
+    * bounce in
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceIn: function (t, b, c, d) {
+   	return c - YAHOO.util.Easing.bounceOut(d-t, 0, c, d) + b;
+   },
+
+   /**
+    * bounce out
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceOut: function (t, b, c, d) {
+   	if ((t/=d) < (1/2.75)) {
+   		return c*(7.5625*t*t) + b;
+   	} else if (t < (2/2.75)) {
+   		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
+   	} else if (t < (2.5/2.75)) {
+   		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
+   	} else {
+   		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
+   	}
+   },
+
+   /**
+    * bounce both
+    * @param {Number} t Time value used to compute current value.
+    * @param {Number} b Starting value.
+    * @param {Number} c Delta between start and end values.
+    * @param {Number} d Total length of animation.
+    * @return {Number} The computed value for the current animation frame.
+    */
+   bounceBoth: function (t, b, c, d) {
+   	if (t < d/2) return YAHOO.util.Easing.bounceIn(t*2, 0, c, d) * .5 + b;
+   	return YAHOO.util.Easing.bounceOut(t*2-d, 0, c, d) * .5 + c*.5 + b;
+   }
+};
+
+/**
+ * @class Anim subclass for moving elements along a path defined by the "points" member of "attributes".  All "points" are arrays with x, y coordinates.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Motion(el, { points: { to: [800, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Motion = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Motion.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Motion, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Motion.superclass;
+   var proto = Y.Motion.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Motion " + id);
+   };
+
+   proto.patterns.points = /^points$/i;
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      if (  this.patterns.points.test(attr) ) {
+         unit = unit || 'px';
+         superclass.setAttribute.call(this, 'left', val[0], unit);
+         superclass.setAttribute.call(this, 'top', val[1], unit);
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+
+   /**
+    * Sets the default value to be used when "from" is not supplied.
+    * @param {String} attr The attribute being set.
+    * @param {Number} val The default value to be applied to the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      if (  this.patterns.points.test(attr) ) {
+         var val = [
+            superclass.getAttribute.call(this, 'left'),
+            superclass.getAttribute.call(this, 'top')
+         ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if ( this.patterns.points.test(attr) ) {
+         var t = this.method(this.currentFrame, 0, 100, this.totalFrames) / 100;
+         val = Y.Bezier.getPosition(this.runtimeAttributes[attr], t);
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Sets the actual values to be used during the animation.
+    * Should only be needed for subclass use.
+    * @param {Object} attr The attribute object
+    * @private
+    */
+   proto.setRuntimeAttribute = function(attr) {
+      if ( this.patterns.points.test(attr) ) {
+         var el = this.getEl();
+         var attributes = this.attributes;
+         var start;
+         var control = attributes['points']['control'] || [];
+         var end;
+         var i, len;
+
+         if (control.length > 0 && !(control[0] instanceof Array) ) { // could be single point or array of points
+            control = [control];
+         } else { // break reference to attributes.points.control
+            var tmp = [];
+            for (i = 0, len = control.length; i< len; ++i) {
+               tmp[i] = control[i];
+            }
+            control = tmp;
+         }
+
+         if (Y.Dom.getStyle(el, 'position') == 'static') { // default to relative
+            Y.Dom.setStyle(el, 'position', 'relative');
+         }
+
+         if ( isset(attributes['points']['from']) ) {
+            Y.Dom.setXY(el, attributes['points']['from']); // set position to from point
+         }
+         else { Y.Dom.setXY( el, Y.Dom.getXY(el) ); } // set it to current position
+
+         start = this.getAttribute('points'); // get actual top & left
+
+         // TO beats BY, per SMIL 2.1 spec
+         if ( isset(attributes['points']['to']) ) {
+            end = translateValues.call(this, attributes['points']['to'], start);
+
+            var pageXY = Y.Dom.getXY(this.getEl());
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = translateValues.call(this, control[i], start);
+            }
+
+
+         } else if ( isset(attributes['points']['by']) ) {
+            end = [ start[0] + attributes['points']['by'][0], start[1] + attributes['points']['by'][1] ];
+
+            for (i = 0, len = control.length; i < len; ++i) {
+               control[i] = [ start[0] + control[i][0], start[1] + control[i][1] ];
+            }
+         }
+
+         this.runtimeAttributes[attr] = [start];
+
+         if (control.length > 0) {
+            this.runtimeAttributes[attr] = this.runtimeAttributes[attr].concat(control);
+         }
+
+         this.runtimeAttributes[attr][this.runtimeAttributes[attr].length] = end;
+      }
+      else {
+         superclass.setRuntimeAttribute.call(this, attr);
+      }
+   };
+
+   var translateValues = function(val, start) {
+      var pageXY = Y.Dom.getXY(this.getEl());
+      val = [ val[0] - pageXY[0] + start[0], val[1] - pageXY[1] + start[1] ];
+
+      return val;
+   };
+
+   var isset = function(prop) {
+      return (typeof prop !== 'undefined');
+   };
+})();
+/**
+ * @class Anim subclass for scrolling elements to a position defined by the "scroll" member of "attributes".  All "scroll" members are arrays with x, y scroll positions.
+ * <p>Usage: <code>var myAnim = new YAHOO.util.Scroll(el, { scroll: { to: [0, 800] } }, 1, YAHOO.util.Easing.easeOut);</code></p>
+ * @requires YAHOO.util.Anim
+ * @requires YAHOO.util.AnimMgr
+ * @requires YAHOO.util.Easing
+ * @requires YAHOO.util.Bezier
+ * @requires YAHOO.util.Dom
+ * @requires YAHOO.util.Event
+ * @requires YAHOO.util.CustomEvent
+ * @constructor
+ * @param {String or HTMLElement} el Reference to the element that will be animated
+ * @param {Object} attributes The attribute(s) to be animated.
+ * Each attribute is an object with at minimum a "to" or "by" member defined.
+ * Additional optional members are "from" (defaults to current value), "units" (defaults to "px").
+ * All attribute names use camelCase.
+ * @param {Number} duration (optional, defaults to 1 second) Length of animation (frames or seconds), defaults to time-based
+ * @param {Function} method (optional, defaults to YAHOO.util.Easing.easeNone) Computes the values that are applied to the attributes per frame (generally a YAHOO.util.Easing method)
+ */
+(function() {
+   YAHOO.util.Scroll = function(el, attributes, duration,  method) {
+      if (el) { // dont break existing subclasses not using YAHOO.extend
+         YAHOO.util.Scroll.superclass.constructor.call(this, el, attributes, duration, method);
+      }
+   };
+
+   YAHOO.extend(YAHOO.util.Scroll, YAHOO.util.ColorAnim);
+
+   // shorthand
+   var Y = YAHOO.util;
+   var superclass = Y.Scroll.superclass;
+   var proto = Y.Scroll.prototype;
+
+   /**
+    * toString method
+    * @return {String} string represenation of anim obj
+    */
+   proto.toString = function() {
+      var el = this.getEl();
+      var id = el.id || el.tagName;
+      return ("Scroll " + id);
+   };
+
+   /**
+    * Returns the value computed by the animation's "method".
+    * @param {String} attr The name of the attribute.
+    * @param {Number} start The value this attribute should start from for this animation.
+    * @param {Number} end  The value this attribute should end at for this animation.
+    * @return {Number} The Value to be applied to the attribute.
+    */
+   proto.doMethod = function(attr, start, end) {
+      var val = null;
+
+      if (attr == 'scroll') {
+         val = [
+            this.method(this.currentFrame, start[0], end[0] - start[0], this.totalFrames),
+            this.method(this.currentFrame, start[1], end[1] - start[1], this.totalFrames)
+         ];
+
+      } else {
+         val = superclass.doMethod.call(this, attr, start, end);
+      }
+      return val;
+   };
+
+   /**
+    * Returns current value of the attribute.
+    * @param {String} attr The name of the attribute.
+    * @return {Number} val The current value of the attribute.
+    */
+   proto.getAttribute = function(attr) {
+      var val = null;
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         val = [ el.scrollLeft, el.scrollTop ];
+      } else {
+         val = superclass.getAttribute.call(this, attr);
+      }
+
+      return val;
+   };
+
+   /**
+    * Applies a value to an attribute
+    * @param {String} attr The name of the attribute.
+    * @param {Number} val The value to be applied to the attribute.
+    * @param {String} unit The unit ('px', '%', etc.) of the value.
+    */
+   proto.setAttribute = function(attr, val, unit) {
+      var el = this.getEl();
+
+      if (attr == 'scroll') {
+         el.scrollLeft = val[0];
+         el.scrollTop = val[1];
+      } else {
+         superclass.setAttribute.call(this, attr, val, unit);
+      }
+   };
+})();

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/connection.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/connection.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,814 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * The Connection Manager provides a simplified interface to the XMLHttpRequest
+ * object.  It handles cross-browser instantiantion of XMLHttpRequest, negotiates the
+ * interactive states and server response, returning the results to a pre-defined
+ * callback you create.
+ * @ class
+ */
+YAHOO.util.Connect =
+{
+/**
+   * Array of MSFT ActiveX ids for XMLHttpRequest.
+   * @private
+   * @type array
+   */
+	_msxml_progid:[
+		'MSXML2.XMLHTTP.3.0',
+		'MSXML2.XMLHTTP',
+		'Microsoft.XMLHTTP'
+		],
+
+  /**
+   * Object literal of HTTP header(s)
+   * @private
+   * @type object
+   */
+	_http_header:{},
+
+  /**
+   * Determines if HTTP headers are set.
+   * @private
+   * @type boolean
+   */
+	_has_http_headers:false,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _use_default_post_header:true,
+
+ /**
+  * Determines if a default header of
+  * Content-Type of 'application/x-www-form-urlencoded'
+  * will be added to any client HTTP headers sent for POST
+  * transactions.
+  * @private
+  * @type boolean
+  */
+    _default_post_header:'application/x-www-form-urlencoded',
+
+ /**
+  * Property modified by setForm() to determine if the data
+  * should be submitted as an HTML form.
+  * @private
+  * @type boolean
+  */
+    _isFormSubmit:false,
+
+ /**
+  * Property modified by setForm() to determine if a file(s)
+  * upload is expected.
+  * @private
+  * @type boolean
+  */
+    _isFileUpload:false,
+
+ /**
+  * Property modified by setForm() to set a reference to the HTML
+  * form node if the desired action is file upload.
+  * @private
+  * @type object
+  */
+    _formNode:null,
+
+ /**
+  * Property modified by setForm() to set the HTML form data
+  * for each transaction.
+  * @private
+  * @type string
+  */
+    _sFormData:null,
+
+ /**
+  * Collection of polling references to the polling mechanism in handleReadyState.
+  * @private
+  * @type object
+  */
+    _poll:{},
+
+ /**
+  * Queue of timeout values for each transaction callback with a defined timeout value.
+  * @private
+  * @type object
+  */
+    _timeOut:{},
+
+  /**
+   * The polling frequency, in milliseconds, for HandleReadyState.
+   * when attempting to determine a transaction's XHR readyState.
+   * The default is 50 milliseconds.
+   * @private
+   * @type int
+   */
+     _polling_interval:50,
+
+  /**
+   * A transaction counter that increments the transaction id for each transaction.
+   * @private
+   * @type int
+   */
+     _transaction_id:0,
+
+  /**
+   * Member to add an ActiveX id to the existing xml_progid array.
+   * In the event(unlikely) a new ActiveX id is introduced, it can be added
+   * without internal code modifications.
+   * @public
+   * @param string id The ActiveX id to be added to initialize the XHR object.
+   * @return void
+   */
+	setProgId:function(id)
+	{
+		this._msxml_progid.unshift(id);
+	},
+
+  /**
+   * Member to enable or disable the default POST header.
+   * @public
+   * @param boolean b Set and use default header - true or false .
+   * @return void
+   */
+	setDefaultPostHeader:function(b)
+	{
+		this._use_default_post_header = b;
+	},
+
+  /**
+   * Member to modify the default polling interval.
+   * @public
+   * @param {int} i The polling interval in milliseconds.
+   * @return void
+   */
+	setPollingInterval:function(i)
+	{
+		if(typeof i == 'number' && isFinite(i)){
+			this._polling_interval = i;
+		}
+	},
+
+  /**
+   * Instantiates a XMLHttpRequest object and returns an object with two properties:
+   * the XMLHttpRequest instance and the transaction id.
+   * @private
+   * @param {int} transactionId Property containing the transaction id for this transaction.
+   * @return connection object
+   */
+	createXhrObject:function(transactionId)
+	{
+		var obj,http;
+		try
+		{
+			// Instantiates XMLHttpRequest in non-IE browsers and assigns to http.
+			http = new XMLHttpRequest();
+			//  Object literal with http and tId properties
+			obj = { conn:http, tId:transactionId };
+		}
+		catch(e)
+		{
+			for(var i=0; i<this._msxml_progid.length; ++i){
+				try
+				{
+					// Instantiates XMLHttpRequest for IE and assign to http.
+					http = new ActiveXObject(this._msxml_progid[i]);
+					//  Object literal with http and tId properties
+					obj = { conn:http, tId:transactionId };
+					break;
+				}
+				catch(e){}
+			}
+		}
+		finally
+		{
+			return obj;
+		}
+	},
+
+  /**
+   * This method is called by asyncRequest to create a
+   * valid connection object for the transaction.  It also passes a
+   * transaction id and increments the transaction id counter.
+   * @private
+   * @return object
+   */
+	getConnectionObject:function()
+	{
+		var o;
+		var tId = this._transaction_id;
+
+		try
+		{
+			o = this.createXhrObject(tId);
+			if(o){
+				this._transaction_id++;
+			}
+		}
+		catch(e){}
+		finally
+		{
+			return o;
+		}
+	},
+
+  /**
+   * Method for initiating an asynchronous request via the XHR object.
+   * @public
+   * @param {string} method HTTP transaction method
+   * @param {string} uri Fully qualified path of resource
+   * @param callback User-defined callback function or object
+   * @param {string} postData POST body
+   * @return {object} Returns the connection object
+   */
+	asyncRequest:function(method, uri, callback, postData)
+	{
+		var o = this.getConnectionObject();
+
+		if(!o){
+			return null;
+		}
+		else{
+			if(this._isFormSubmit){
+				if(this._isFileUpload){
+					this.uploadFile(o.tId, callback, uri);
+					this.releaseObject(o);
+					return;
+				}
+
+				//If the specified HTTP method is GET, setForm() will return an
+				//encoded string that is concatenated to the uri to
+				//create a querystring.
+				if(method == 'GET'){
+					uri += "?" +  this._sFormData;
+				}
+				else if(method == 'POST'){
+					//If POST data exists in addition to the HTML form data,
+					//it will be concatenated to the form data.
+					postData = (postData?this._sFormData + "&" + postData:this._sFormData);
+				}
+				this._sFormData = '';
+			}
+
+			o.conn.open(method, uri, true);
+
+			if(this._isFormSubmit || (postData && this._use_default_post_header)){
+				this.initHeader('Content-Type', this._default_post_header);
+				if(this._isFormSubmit){
+					this._isFormSubmit = false;
+				}
+			}
+
+			if(this._has_http_headers){
+				this.setHeader(o);
+			}
+
+			this.handleReadyState(o, callback);
+			o.conn.send(postData?postData:null);
+
+			return o;
+		}
+	},
+
+  /**
+   * This method serves as a timer that polls the XHR object's readyState
+   * property during a transaction, instead of binding a callback to the
+   * onreadystatechange event.  Upon readyState 4, handleTransactionResponse
+   * will process the response, and the timer will be cleared.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param callback User-defined callback object
+   * @return void
+   */
+    handleReadyState:function(o, callback)
+    {
+
+		var oConn = this;
+
+		if(callback && callback.timeout){
+			this._timeOut[o.tId] = window.setTimeout(function(){ oConn.abort(o, callback, true); }, callback.timeout);
+		}
+
+		this._poll[o.tId] = window.setInterval(
+			function(){
+				if(o.conn && o.conn.readyState == 4){
+					window.clearInterval(oConn._poll[o.tId]);
+					delete oConn._poll[o.tId];
+
+					if(callback && callback.timeout){
+						delete oConn._timeOut[o.tId];
+					}
+
+					oConn.handleTransactionResponse(o, callback);
+				}
+			}
+		,this._polling_interval);
+    },
+
+  /**
+   * This method attempts to interpret the server response and
+   * determine whether the transaction was successful, or if an error or
+   * exception was encountered.
+   *
+   * @private
+   * @param {object} o The connection object
+   * @param {object} callback - User-defined callback object
+   * @param {boolean} determines if the transaction was aborted.
+   * @return void
+   */
+    handleTransactionResponse:function(o, callback, isAbort)
+    {
+		// If no valid callback is provided, then do not process any callback handling.
+		if(!callback){
+			this.releaseObject(o);
+			return;
+		}
+
+		var httpStatus, responseObject;
+
+		try
+		{
+			if(o.conn.status !== undefined && o.conn.status != 0){
+				httpStatus = o.conn.status;
+			}
+			else{
+				httpStatus = 13030;
+			}
+		}
+		catch(e){
+			// 13030 is the custom code to indicate the condition -- in Mozilla/FF --
+			// when the o object's status and statusText properties are
+			// unavailable, and a query attempt throws an exception.
+			httpStatus = 13030;
+		}
+
+		if(httpStatus >= 200 && httpStatus < 300){
+			try
+			{
+				responseObject = this.createResponseObject(o, callback.argument);
+				if(callback.success){
+					if(!callback.scope){
+						callback.success(responseObject);
+					}
+					else{
+						// If a scope property is defined, the callback will be fired from
+						// the context of the object.
+						callback.success.apply(callback.scope, [responseObject]);
+					}
+				}
+			}
+			catch(e){}
+		}
+		else{
+			try
+			{
+				switch(httpStatus){
+					// The following case labels are wininet.dll error codes that may be encountered.
+					case 12002: // Server timeout
+					case 12029: // 12029 to 12031 correspond to dropped connections.
+					case 12030:
+					case 12031:
+					case 12152: // Connection closed by server.
+					case 13030: // See above comments for variable status.
+						responseObject = this.createExceptionObject(o.tId, callback.argument, (isAbort?isAbort:false));
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+						break;
+					default:
+						responseObject = this.createResponseObject(o, callback.argument);
+						if(callback.failure){
+							if(!callback.scope){
+								callback.failure(responseObject);
+							}
+							else{
+								callback.failure.apply(callback.scope, [responseObject]);
+							}
+						}
+				}
+			}
+			catch(e){}
+		}
+
+		this.releaseObject(o);
+		responseObject = null;
+    },
+
+  /**
+   * This method evaluates the server response, creates and returns the results via
+   * its properties.  Success and failure cases will differ in the response
+   * object's property values.
+   * @private
+   * @param {object} o The connection object
+   * @param {} callbackArg User-defined argument or arguments to be passed to the callback
+   * @return object
+   */
+    createResponseObject:function(o, callbackArg)
+    {
+		var obj = {};
+		var headerObj = {};
+
+		try
+		{
+			var headerStr = o.conn.getAllResponseHeaders();
+			var header = headerStr.split('\n');
+			for(var i=0; i < header.length; i++){
+				var delimitPos = header[i].indexOf(':');
+				if(delimitPos != -1){
+					headerObj[header[i].substring(0,delimitPos)] = header[i].substring(delimitPos + 2);
+				}
+			}
+		}
+		catch(e){}
+
+		obj.tId = o.tId;
+		obj.status = o.conn.status;
+		obj.statusText = o.conn.statusText;
+		obj.getResponseHeader = headerObj;
+		obj.getAllResponseHeaders = headerStr;
+		obj.responseText = o.conn.responseText;
+		obj.responseXML = o.conn.responseXML;
+
+		if(typeof callbackArg !== undefined){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * If a transaction cannot be completed due to dropped or closed connections,
+   * there may be not be enough information to build a full response object.
+   * The failure callback will be fired and this specific condition can be identified
+   * by a status property value of 0.
+   *
+   * If an abort was successful, the status property will report a value of -1.
+   *
+   * @private
+   * @param {int} tId Transaction Id
+   * @param callbackArg The user-defined arguments
+   * @param isAbort Determines if the exception is an abort.
+   * @return object
+   */
+    createExceptionObject:function(tId, callbackArg, isAbort)
+    {
+		var COMM_CODE = 0;
+		var COMM_ERROR = 'communication failure';
+		var ABORT_CODE = -1;
+		var ABORT_ERROR = 'transaction aborted';
+
+		var obj = {};
+
+		obj.tId = tId;
+		if(isAbort){
+			obj.status = ABORT_CODE;
+			obj.statusText = ABORT_ERROR;
+		}
+		else{
+			obj.status = COMM_CODE;
+			obj.statusText = COMM_ERROR;
+		}
+
+		if(callbackArg){
+			obj.argument = callbackArg;
+		}
+
+		return obj;
+    },
+
+  /**
+   * Public method that stores the custom HTTP headers for each transaction.
+   * @public
+   * @param {string} label The HTTP header label
+   * @param {string} value The HTTP header value
+   * @return void
+   */
+	initHeader:function(label,value)
+	{
+		if(this._http_header[label] === undefined){
+			this._http_header[label] = value;
+		}
+		else{
+			// Concatenate multiple values, comma-delimited,
+			// for the same header label,
+			this._http_header[label] =  value + "," + this._http_header[label];
+		}
+
+		this._has_http_headers = true;
+	},
+
+  /**
+   * Accessor that sets the HTTP headers for each transaction.
+   * @private
+   * @param {object} o The connection object for the transaction.
+   * @return void
+   */
+	setHeader:function(o)
+	{
+		for(var prop in this._http_header){
+			if(this._http_header.hasOwnProperty(prop)){
+				o.conn.setRequestHeader(prop, this._http_header[prop]);
+			}
+		}
+		delete this._http_header;
+
+		this._http_header = {};
+		this._has_http_headers = false;
+	},
+
+  /**
+   * This method assembles the form label and value pairs and
+   * constructs an encoded string.
+   * asyncRequest() will automatically initialize the
+   * transaction with a HTTP header Content-Type of
+   * application/x-www-form-urlencoded.
+   * @public
+   * @param {string || object} form id or name attribute, or form object.
+   * @param {string} optional boolean to indicate SSL environment.
+   * @param {string || boolean} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	setForm:function(formId, isUpload, secureUri)
+	{
+		this._sFormData = '';
+		if(typeof formId == 'string'){
+			// Determine if the argument is a form id or a form name.
+			// Note form name usage is deprecated by supported
+			// here for legacy reasons.
+			var oForm = (document.getElementById(formId) || document.forms[formId]);
+		}
+		else if(typeof formId == 'object'){
+			// Treat argument as an HTML form object.
+			var oForm = formId;
+		}
+		else{
+			return;
+		}
+
+		// If the isUpload argument is true, setForm will call createFrame to initialize
+		// an iframe as the form target.
+		//
+		// The argument secureURI is also required by IE in SSL environments
+		// where the secureURI string is a fully qualified HTTP path, used to set the source
+		// of the iframe, to a stub resource in the same domain.
+		if(isUpload){
+			this.createFrame(secureUri?secureUri:null);
+			this._isFormSubmit = true;
+			this._isFileUpload = true;
+			this._formNode = oForm;
+
+			return;
+		}
+
+		var oElement, oName, oValue, oDisabled;
+		var hasSubmit = false;
+
+		// Iterate over the form elements collection to construct the
+		// label-value pairs.
+		for (var i=0; i<oForm.elements.length; i++){
+			oElement = oForm.elements[i];
+			oDisabled = oForm.elements[i].disabled;
+			oName = oForm.elements[i].name;
+			oValue = oForm.elements[i].value;
+
+			// Do not submit fields that are disabled or
+			// do not have a name attribute value.
+			if(!oDisabled && oName)
+			{
+				switch (oElement.type)
+				{
+					case 'select-one':
+					case 'select-multiple':
+						for(var j=0; j<oElement.options.length; j++){
+							if(oElement.options[j].selected){
+								if(window.ActiveXObject){
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].attributes['value'].specified?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+								else{
+									this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oElement.options[j].hasAttribute('value')?oElement.options[j].value:oElement.options[j].text) + '&';
+								}
+
+							}
+						}
+						break;
+					case 'radio':
+					case 'checkbox':
+						if(oElement.checked){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						}
+						break;
+					case 'file':
+						// stub case as XMLHttpRequest will only send the file path as a string.
+					case undefined:
+						// stub case for fieldset element which returns undefined.
+					case 'reset':
+						// stub case for input type reset button.
+					case 'button':
+						// stub case for input type button elements.
+						break;
+					case 'submit':
+						if(hasSubmit == false){
+							this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+							hasSubmit = true;
+						}
+						break;
+					default:
+						this._sFormData += encodeURIComponent(oName) + '=' + encodeURIComponent(oValue) + '&';
+						break;
+				}
+			}
+		}
+
+		this._isFormSubmit = true;
+		this._sFormData = this._sFormData.substr(0, this._sFormData.length - 1);
+	},
+
+  /**
+   * Creates an iframe to be used for form file uploads.  It is remove from the
+   * document upon completion of the upload transaction.
+   *
+   * @private
+   * @param {string} optional qualified path of iframe resource for SSL in IE.
+   * @return void
+   */
+	createFrame:function(secureUri){
+
+		// IE does not allow the setting of id and name attributes as object
+		// properties via createElement().  A different iframe creation
+		// pattern is required for IE.
+		var frameId = 'yuiIO' + this._transaction_id;
+		if(window.ActiveXObject){
+			var io = document.createElement('<IFRAME id="' + frameId + '" name="' + frameId + '">');
+
+			// IE will throw a security exception in an SSL environment if the
+			// iframe source isn't set.
+			if(typeof secureUri == 'boolean'){
+				io.src = 'javascript:false';
+			}
+			else{
+				io.src = secureUri;
+			}
+		}
+		else{
+			var io = document.createElement('IFRAME');
+			io.id = frameId;
+			io.name = frameId;
+		}
+
+		io.style.position = 'absolute';
+		io.style.top = '-1000px';
+		io.style.left = '-1000px';
+
+		document.body.appendChild(io);
+	},
+
+  /**
+   * Uploads HTML form, including files/attachments,  targeting the
+   * iframe created in createFrame.
+   *
+   * @private
+   * @param {int} id The transaction id.
+   * @param {object} callback - User-defined callback object.
+   * @param {string} uri Fully qualified path of resource.
+   * @return void
+   */
+	uploadFile:function(id, callback, uri){
+
+		var frameId = 'yuiIO' + id;
+		var io = document.getElementById(frameId);
+
+		// Initialize the HTML form properties in case they are
+		// not defined in the HTML form.
+		this._formNode.action = uri;
+		this._formNode.enctype = 'multipart/form-data';
+		this._formNode.method = 'POST';
+		this._formNode.target = frameId;
+		this._formNode.submit();
+
+		// Reset form status properties.
+		this._formNode = null;
+		this._isFileUpload = false;
+		this._isFormSubmit = false;
+
+		// Create the upload callback handler that fires when the iframe
+		// receives the load event.  Subsequently, the event handler is detached
+		// and the iframe removed from the document.
+
+		var uploadCallback = function()
+		{
+			var obj = {};
+
+			obj.tId = id;
+			obj.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
+			obj.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;
+			obj.argument = callback.argument;
+
+			if(callback.upload){
+				if(!callback.scope){
+					callback.upload(obj);
+				}
+				else{
+					callback.upload.apply(callback.scope, [obj]);
+				}
+			}
+
+			if(YAHOO.util.Event){
+				YAHOO.util.Event.removeListener(io, "load", uploadCallback);
+			}
+			else if(window.ActiveXObject){
+				io.detachEvent('onload', uploadCallback);
+			}
+			else{
+				io.removeEventListener('load', uploadCallback, false);
+			}
+			setTimeout(function(){ document.body.removeChild(io); }, 100);
+		};
+
+
+		// Bind the onload handler to the iframe to detect the file upload response.
+		if(YAHOO.util.Event){
+			YAHOO.util.Event.addListener(io, "load", uploadCallback);
+		}
+		else if(window.ActiveXObject){
+			io.attachEvent('onload', uploadCallback);
+		}
+		else{
+			io.addEventListener('load', uploadCallback, false);
+		}
+	},
+
+  /**
+   * Public method to terminate a transaction, if it has not reached readyState 4.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest.
+   * @param {object} callback  User-defined callback object.
+   * @param {string} isTimeout boolean to indicate if abort was a timeout.
+   * @return void
+   */
+	abort:function(o, callback, isTimeout)
+	{
+		if(this.isCallInProgress(o)){
+			o.conn.abort();
+			window.clearInterval(this._poll[o.tId]);
+			delete this._poll[o.tId];
+			if(isTimeout){
+				delete this._timeOut[o.tId];
+			}
+
+			this.handleTransactionResponse(o, callback, true);
+
+			return true;
+		}
+		else{
+			return false;
+		}
+	},
+
+  /**
+   * Public method to check if the transaction is still being processed.
+   * @public
+   * @param {object} o The connection object returned by asyncRequest
+   * @return boolean
+   */
+	isCallInProgress:function(o)
+	{
+		// if the XHR object assigned to the transaction has not been dereferenced,
+		// then check its readyState status.  Otherwise, return false.
+		if(o.conn){
+			return o.conn.readyState != 4 && o.conn.readyState != 0;
+		}
+		else{
+			//The XHR object has been destroyed.
+			return false;
+		}
+	},
+
+  /**
+   * Dereference the XHR instance and the connection object after the transaction is completed.
+   * @private
+   * @param {object} o The connection object
+   * @return void
+   */
+	releaseObject:function(o)
+	{
+		//dereference the XHR instance.
+		o.conn = null;
+		//dereference the connection object.
+		o = null;
+	}
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/container.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/container.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3963 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* Config is a utility used within an object to allow the implementer to maintain a list of local configuration properties and listen for changes to those properties dynamically using CustomEvent. The initial values are also maintained so that the configuration can be reset at any given point to its initial state.
+* @param {object}	owner	The owner object to which this Config object belongs
+* @constructor
+*/
+YAHOO.util.Config = function(owner) {
+	if (owner) {
+		this.init(owner);
+	}
+};
+
+YAHOO.util.Config.prototype = {
+	
+	/**
+	* Object reference to the owner of this Config object
+	* @type object
+	*/
+	owner : null,
+
+	/**
+	* Object reference to the owner of this Config object
+	* args: key, value
+	* @type YAHOO.util.CustomEvent
+	*/
+	configChangedEvent : null,
+
+	/**
+	* Boolean flag that specifies whether a queue is currently being executed
+	* @type boolean
+	*/
+	queueInProgress : false,
+
+	/**
+	* Adds a property to the Config object's private config hash. 
+	* @param {string}	key	The configuration property's name
+	* @param {object}	propertyObject	The object containing all of this property's arguments
+	*/
+	addProperty : function(key, propertyObject){},
+
+	/**
+	* Returns a key-value configuration map of the values currently set in the Config object.
+	* @return {object} The current config, represented in a key-value map
+	*/
+	getConfig : function(){},
+
+	/**
+	* Returns the value of specified property.
+	* @param {key}		The name of the property
+	* @return {object}	The value of the specified property
+	*/
+	getProperty : function(key){},
+
+	/**
+	* Resets the specified property's value to its initial value.
+	* @param {key}		The name of the property
+	*/
+	resetProperty : function(key){},
+
+	/**
+	* Sets the value of a property. If the silent property is passed as true, the property's event will not be fired.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @param {boolean}	Whether the value should be set silently, without firing the property event.
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/
+	setProperty : function(key,value,silent){},
+
+	/**
+	* Sets the value of a property and queues its event to execute. If the event is already scheduled to execute, it is
+	* moved from its current position to the end of the queue.
+	* @param {key}		The name of the property
+	* @param {value}	The value to set the property to
+	* @return {boolean}	true, if the set was successful, false if it failed.
+	*/	
+	queueProperty : function(key,value){},
+
+	/**
+	* Fires the event for a property using the property's current value.
+	* @param {key}		The name of the property
+	*/
+	refireEvent : function(key){},
+
+	/**
+	* Applies a key-value object literal to the configuration, replacing any existing values, and queueing the property events.
+	* Although the values will be set, fireQueue() must be called for their associated events to execute.
+	* @param {object}	userConfig	The configuration object literal
+	* @param {boolean}	init		When set to true, the initialConfig will be set to the userConfig passed in, so that calling a reset will reset the properties to the passed values.
+	*/
+	applyConfig : function(userConfig,init){},
+
+	/**
+	* Refires the events for all configuration properties using their current values.
+	*/
+	refresh : function(){},
+
+	/**
+	* Fires the normalized list of queued property change events
+	*/
+	fireQueue : function(){},
+
+	/**
+	* Subscribes an external handler to the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	* @param {boolean}	override	Optional. If true, will override "this" within the handler to map to the scope object passed into the method.
+	*/	
+	subscribeToConfigEvent : function(key,handler,obj,override){},
+
+	/**
+	* Unsubscribes an external handler from the change event for any given property. 
+	* @param {string}	key			The property name
+	* @param {Function}	handler		The handler function to use subscribe to the property's event
+	* @param {object}	obj			The object to use for scoping the event handler (see CustomEvent documentation)
+	*/
+	unsubscribeFromConfigEvent: function(key,handler,obj){},
+
+	/**
+	* Validates that the value passed in is a boolean.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/	
+	checkBoolean: function(val) {
+		if (typeof val == 'boolean') {
+			return true;
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Validates that the value passed in is a number.
+	* @param	{object}	val	The value to validate
+	* @return	{boolean}	true, if the value is valid
+	*/
+	checkNumber: function(val) {
+		if (isNaN(val)) {
+			return false;
+		} else {
+			return true;
+		}
+	}
+};
+
+
+/**
+* Initializes the configuration object and all of its local members.
+* @param {object}	owner	The owner object to which this Config object belongs
+*/
+YAHOO.util.Config.prototype.init = function(owner) {
+
+	this.owner = owner;
+	this.configChangedEvent = new YAHOO.util.CustomEvent("configChanged");
+	this.queueInProgress = false;
+
+	/* Private Members */
+
+	var config = {};
+	var initialConfig = {};
+	var eventQueue = [];
+
+	/**
+	* @private
+	* Fires a configuration property event using the specified value. 
+	* @param {string}	key			The configuration property's name
+	* @param {value}	object		The value of the correct type for the property
+	*/ 
+	var fireEvent = function( key, value ) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+
+		if (typeof property != 'undefined' && property.event) {
+			property.event.fire(value);
+		}	
+	};
+	/* End Private Members */
+
+	this.addProperty = function( key, propertyObject ) {
+		key = key.toLowerCase();
+
+		config[key] = propertyObject;
+
+		propertyObject.event = new YAHOO.util.CustomEvent(key);
+		propertyObject.key = key;
+
+		if (propertyObject.handler) {
+			propertyObject.event.subscribe(propertyObject.handler, this.owner, true);
+		}
+
+		this.setProperty(key, propertyObject.value, true);
+		
+		if (! propertyObject.suppressEvent) {
+			this.queueProperty(key, propertyObject.value);
+		}
+	};
+
+	this.getConfig = function() {
+		var cfg = {};
+			
+		for (var prop in config) {
+			var property = config[prop];
+			if (typeof property != 'undefined' && property.event) {
+				cfg[prop] = property.value;
+			}
+		}
+		
+		return cfg;
+	};
+
+	this.getProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.value;
+		} else {
+			return undefined;
+		}
+	};
+
+	this.resetProperty = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			this.setProperty(key, initialConfig[key].value);
+		} else {
+			return undefined;
+		}
+	};
+
+	this.setProperty = function(key, value, silent) {
+		key = key.toLowerCase();
+
+		if (this.queueInProgress && ! silent) {
+			this.queueProperty(key,value); // Currently running through a queue... 
+			return true;
+		} else {
+			var property = config[key];
+			if (typeof property != 'undefined' && property.event) {
+				if (property.validator && ! property.validator(value)) { // validator
+					return false;
+				} else {
+					property.value = value;
+					if (! silent) {
+						fireEvent(key, value);
+						this.configChangedEvent.fire([key, value]);
+					}
+					return true;
+				}
+			} else {
+				return false;
+			}
+		}
+	};
+
+	this.queueProperty = function(key, value) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+							
+		if (typeof property != 'undefined' && property.event) {
+			if (typeof value != 'undefined' && property.validator && ! property.validator(value)) { // validator
+				return false;
+			} else {
+
+				if (typeof value != 'undefined') {
+					property.value = value;
+				} else {
+					value = property.value;
+				}
+
+				var foundDuplicate = false;
+
+				for (var i=0;i<eventQueue.length;i++) {
+					var queueItem = eventQueue[i];
+
+					if (queueItem) {
+						var queueItemKey = queueItem[0];
+						var queueItemValue = queueItem[1];
+						
+						if (queueItemKey.toLowerCase() == key) {
+							// found a dupe... push to end of queue, null current item, and break
+							eventQueue[i] = null;
+							eventQueue.push([key, (typeof value != 'undefined' ? value : queueItemValue)]);
+							foundDuplicate = true;
+							break;
+						}
+					}
+				}
+				
+				if (! foundDuplicate && typeof value != 'undefined') { // this is a refire, or a new property in the queue
+					eventQueue.push([key, value]);
+				}
+			}
+
+			if (property.supercedes) {
+				for (var s=0;s<property.supercedes.length;s++) {
+					var supercedesCheck = property.supercedes[s];
+
+					for (var q=0;q<eventQueue.length;q++) {
+						var queueItemCheck = eventQueue[q];
+
+						if (queueItemCheck) {
+							var queueItemCheckKey = queueItemCheck[0];
+							var queueItemCheckValue = queueItemCheck[1];
+							
+							if ( queueItemCheckKey.toLowerCase() == supercedesCheck.toLowerCase() ) {
+								eventQueue.push([queueItemCheckKey, queueItemCheckValue]);
+								eventQueue[q] = null;
+								break;
+							}
+						}
+					}
+				}
+			}
+
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+	this.refireEvent = function(key) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event && typeof property.value != 'undefined') {
+			if (this.queueInProgress) {
+				this.queueProperty(key);
+			} else {
+				fireEvent(key, property.value);
+			}
+		}
+	};
+
+	this.applyConfig = function(userConfig, init) {
+		if (init) {
+			initialConfig = userConfig;
+		}
+		for (var prop in userConfig) {
+			this.queueProperty(prop, userConfig[prop]);
+		}
+	};
+
+	this.refresh = function() {
+		for (var prop in config) {
+			this.refireEvent(prop);
+		}
+	};
+
+	this.fireQueue = function() {
+		this.queueInProgress = true;
+		for (var i=0;i<eventQueue.length;i++) {
+			var queueItem = eventQueue[i];
+			if (queueItem) {
+				var key = queueItem[0];
+				var value = queueItem[1];
+				
+				var property = config[key];
+				property.value = value;
+
+				fireEvent(key,value);
+			}
+		}
+		
+		this.queueInProgress = false;
+		eventQueue = [];
+	};
+
+	this.subscribeToConfigEvent = function(key, handler, obj, override) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			if (! YAHOO.util.Config.alreadySubscribed(property.event, handler, obj)) {
+				property.event.subscribe(handler, obj, override);
+			}
+			return true;
+		} else {
+			return false;
+		}
+	};
+
+
+	this.unsubscribeFromConfigEvent = function(key, handler, obj) {
+		key = key.toLowerCase();
+
+		var property = config[key];
+		if (typeof property != 'undefined' && property.event) {
+			return property.event.unsubscribe(handler, obj);
+		} else {
+			return false;
+		}
+	};
+
+	this.toString = function() {
+		var output = "Config";
+		if (this.owner) {
+			output += " [" + this.owner.toString() + "]";
+		}
+		return output;
+	};
+
+	this.outputEventQueue = function() {
+		var output = "";
+		for (var q=0;q<eventQueue.length;q++) {
+			var queueItem = eventQueue[q];
+			if (queueItem) {
+				output += queueItem[0] + "=" + queueItem[1] + ", ";
+			}
+		}
+		return output;
+	};
+};
+
+/**
+* Checks to determine if a particular function/object pair are already subscribed to the specified CustomEvent
+* @param {YAHOO.util.CustomEvent} evt	The CustomEvent for which to check the subscriptions
+* @param {Function}	fn	The function to look for in the subscribers list
+* @param {object}	obj	The execution scope object for the subscription
+* @return {boolean}	true, if the function/object pair is already subscribed to the CustomEvent passed in
+*/
+YAHOO.util.Config.alreadySubscribed = function(evt, fn, obj) {
+	for (var e=0;e<evt.subscribers.length;e++) {
+		var subsc = evt.subscribers[e];
+		if (subsc && subsc.obj == obj && subsc.fn == fn) {
+			return true;
+		}
+	}
+	return false;
+};
+
+/**
+* Module is a JavaScript representation of the Standard Module Format. Standard Module Format is a simple standard for markup containers where child nodes representing the header, body, and footer of the content are denoted using the CSS classes "hd", "bd", and "ft" respectively. Module is the base class for all other classes in the YUI Container package.
+* @param {string}	el	The element ID representing the Module <em>OR</em>
+* @param {Element}	el	The element representing the Module
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Module = function(el, userConfig) {
+	if (el) { 
+		this.init(el, userConfig); 
+	}
+};
+
+/**
+* Constant representing the prefix path to use for non-secure images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT = "http://us.i1.yimg.com/us.yimg.com/i/";
+
+/**
+* Constant representing the prefix path to use for securely served images
+* @type string
+*/
+YAHOO.widget.Module.IMG_ROOT_SSL = "https://a248.e.akamai.net/sec.yimg.com/i/";
+
+/**
+* Constant for the default CSS class name that represents a Module
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_MODULE = "module";
+
+/**
+* Constant representing the module header
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_HEADER = "hd";
+
+/**
+* Constant representing the module body
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_BODY = "bd";
+
+/**
+* Constant representing the module footer
+* @type string
+* @final
+*/
+YAHOO.widget.Module.CSS_FOOTER = "ft";
+
+/**
+* Constant representing the url for the "src" attribute of the iframe used to monitor changes to the browser's base font size
+* @type string
+* @final
+*/
+YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL = "javascript:false";
+
+YAHOO.widget.Module.prototype = {
+
+	/**
+	* The class's constructor function
+	* @type function
+	*/
+	constructor : YAHOO.widget.Module,
+
+	/**
+	* The main module element that contains the header, body, and footer
+	* @type Element
+	*/
+	element : null, 
+
+	/**
+	* The header element, denoted with CSS class "hd"
+	* @type Element
+	*/
+	header : null,
+
+	/**
+	* The body element, denoted with CSS class "bd"
+	* @type Element
+	*/
+	body : null,
+
+	/**
+	* The footer element, denoted with CSS class "ft"
+	* @type Element
+	*/
+	footer : null,
+
+	/**
+	* The id of the element
+	* @type string
+	*/
+	id : null,
+
+	/**
+	* Array of elements
+	* @type Element[]
+	*/
+	childNodesInDOM : null,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot : YAHOO.widget.Module.IMG_ROOT,
+
+	/**
+	* CustomEvent fired prior to class initalization.
+	* args: class reference of the initializing class, such as this.beforeInitEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeInitEvent : null,
+
+	/**
+	* CustomEvent fired after class initalization.
+	* args: class reference of the initializing class, such as this.initEvent.fire(YAHOO.widget.Module)
+	* @type YAHOO.util.CustomEvent
+	*/
+	initEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is appended to the DOM
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	appendEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeRenderEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is rendered
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	renderEvent : null,
+
+	/**
+	* CustomEvent fired when the header content of the Module is modified
+	* args: string/element representing the new header content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeHeaderEvent : null,
+
+	/**
+	* CustomEvent fired when the body content of the Module is modified
+	* args: string/element representing the new body content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeBodyEvent : null,
+
+	/**
+	* CustomEvent fired when the footer content of the Module is modified
+	* args: string/element representing the new footer content
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeFooterEvent : null,
+
+	/**
+	* CustomEvent fired when the content of the Module is modified
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	changeContentEvent : null,
+
+	/**
+	* CustomEvent fired when the Module is destroyed
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	destroyEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeShowEvent : null,
+
+	/**
+	* CustomEvent fired after the Module is shown
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	showEvent : null,
+
+	/**
+	* CustomEvent fired before the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	beforeHideEvent : null,
+	
+	/**
+	* CustomEvent fired after the Module is hidden
+	* args: none
+	* @type YAHOO.util.CustomEvent
+	*/
+	hideEvent : null,
+		
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initEvents : function() {
+
+		this.beforeInitEvent		= new YAHOO.util.CustomEvent("beforeInit");
+		this.initEvent				= new YAHOO.util.CustomEvent("init");
+
+		this.appendEvent			= new YAHOO.util.CustomEvent("append");
+
+		this.beforeRenderEvent		= new YAHOO.util.CustomEvent("beforeRender");
+		this.renderEvent			= new YAHOO.util.CustomEvent("render");
+
+		this.changeHeaderEvent		= new YAHOO.util.CustomEvent("changeHeader");
+		this.changeBodyEvent		= new YAHOO.util.CustomEvent("changeBody");
+		this.changeFooterEvent		= new YAHOO.util.CustomEvent("changeFooter");
+
+		this.changeContentEvent		= new YAHOO.util.CustomEvent("changeContent");
+
+		this.destroyEvent			= new YAHOO.util.CustomEvent("destroy");
+		this.beforeShowEvent		= new YAHOO.util.CustomEvent("beforeShow");
+		this.showEvent				= new YAHOO.util.CustomEvent("show");
+		this.beforeHideEvent		= new YAHOO.util.CustomEvent("beforeHide");
+		this.hideEvent				= new YAHOO.util.CustomEvent("hide");
+	}, 
+
+	/**
+	* String representing the current user-agent platform
+	* @type string
+	*/
+	platform : function() {
+					var ua = navigator.userAgent.toLowerCase();
+					if (ua.indexOf("windows") != -1 || ua.indexOf("win32") != -1) {
+						return "windows";
+					} else if (ua.indexOf("macintosh") != -1) {
+						return "mac";
+					} else {
+						return false;
+					}
+				}(),
+
+	/**
+	* String representing the current user-agent browser
+	* @type string
+	*/
+	browser : function() {
+			var ua = navigator.userAgent.toLowerCase();
+				  if (ua.indexOf('opera')!=-1) { // Opera (check first in case of spoof)
+					 return 'opera';
+				  } else if (ua.indexOf('msie 7')!=-1) { // IE7
+					 return 'ie7';
+				  } else if (ua.indexOf('msie') !=-1) { // IE
+					 return 'ie';
+				  } else if (ua.indexOf('safari')!=-1) { // Safari (check before Gecko because it includes "like Gecko")
+					 return 'safari';
+				  } else if (ua.indexOf('gecko') != -1) { // Gecko
+					 return 'gecko';
+				  } else {
+					 return false;
+				  }
+			}(),
+
+	/**
+	* Boolean representing whether or not the current browsing context is secure (https)
+	* @type boolean
+	*/
+	isSecure : function() {
+		if (window.location.href.toLowerCase().indexOf("https") === 0) {
+			return true;
+		} else {
+			return false;
+		}
+	}(),
+
+	/**
+	* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+	*/
+	initDefaultConfig : function() {
+		// Add properties //
+
+		this.cfg.addProperty("visible", { value:true, handler:this.configVisible, validator:this.cfg.checkBoolean } );
+		this.cfg.addProperty("effect", { suppressEvent:true, supercedes:["visible"] } );
+		this.cfg.addProperty("monitorresize", { value:true, handler:this.configMonitorResize } );
+	},
+
+	/**
+	* The Module class's initialization method, which is executed for Module and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+	* @param {string}	el	The element ID representing the Module <em>OR</em>
+	* @param {Element}	el	The element representing the Module
+	* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this module. See configuration documentation for more details.
+	*/
+	init : function(el, userConfig) {
+
+		this.initEvents();
+
+		this.beforeInitEvent.fire(YAHOO.widget.Module);
+
+		this.cfg = new YAHOO.util.Config(this);
+		
+		if (this.isSecure) {
+			this.imageRoot = YAHOO.widget.Module.IMG_ROOT_SSL;
+		}
+
+		if (typeof el == "string") {
+			var elId = el;
+
+			el = document.getElementById(el);
+			if (! el) {
+				el = document.createElement("DIV");
+				el.id = elId;
+			}
+		}
+
+		this.element = el;
+		
+		if (el.id) {
+			this.id = el.id;
+		} 
+
+		var childNodes = this.element.childNodes;
+
+		if (childNodes) {
+			for (var i=0;i<childNodes.length;i++) {
+				var child = childNodes[i];
+				switch (child.className) {
+					case YAHOO.widget.Module.CSS_HEADER:
+						this.header = child;
+						break;
+					case YAHOO.widget.Module.CSS_BODY:
+						this.body = child;
+						break;
+					case YAHOO.widget.Module.CSS_FOOTER:
+						this.footer = child;
+						break;
+				}
+			}
+		}
+
+		this.initDefaultConfig();
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Module.CSS_MODULE);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+
+		// Subscribe to the fireQueue() method of Config so that any queued configuration changes are
+		// excecuted upon render of the Module
+		if (! YAHOO.util.Config.alreadySubscribed(this.renderEvent, this.cfg.fireQueue, this.cfg)) {
+			this.renderEvent.subscribe(this.cfg.fireQueue, this.cfg, true);
+		}
+
+		this.initEvent.fire(YAHOO.widget.Module);
+	},
+
+	/**
+	* Initialized an empty DOM element that is placed out of the visible area that can be used to detect text resize.
+	*/
+	initResizeMonitor : function() {
+
+        if(this.browser != "opera") {
+
+            var resizeMonitor = document.getElementById("_yuiResizeMonitor");
+    
+            if (! resizeMonitor) {
+    
+                resizeMonitor = document.createElement("iframe");
+    
+                var bIE = (this.browser.indexOf("ie") === 0);
+    
+                if(this.isSecure && 
+                   YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL && 
+                   bIE) {
+    
+                  resizeMonitor.src = 
+                       YAHOO.widget.Module.RESIZE_MONITOR_SECURE_URL;
+    
+                }                
+
+                resizeMonitor.id = "_yuiResizeMonitor";
+                resizeMonitor.style.visibility = "hidden";
+                
+                document.body.appendChild(resizeMonitor);
+    
+                resizeMonitor.style.width = "10em";
+                resizeMonitor.style.height = "10em";
+                resizeMonitor.style.position = "absolute";
+                
+                var nLeft = -1 * resizeMonitor.offsetWidth,
+                    nTop = -1 * resizeMonitor.offsetHeight;
+    
+                resizeMonitor.style.top = nTop + "px";
+                resizeMonitor.style.left =  nLeft + "px";
+                resizeMonitor.style.borderStyle = "none";
+                resizeMonitor.style.borderWidth = "0";
+                YAHOO.util.Dom.setStyle(resizeMonitor, "opacity", "0");
+                
+                resizeMonitor.style.visibility = "visible";
+    
+                if(!bIE) {
+    
+                    var doc = resizeMonitor.contentWindow.document;
+    
+                    doc.open();
+                    doc.close();
+                
+                }
+    
+            }
+    
+            if(resizeMonitor && resizeMonitor.contentWindow) {
+    
+                this.resizeMonitor = resizeMonitor;
+    
+                YAHOO.util.Event.addListener(this.resizeMonitor.contentWindow, "resize", this.onDomResize, this, true);
+    
+            }
+        
+        }
+
+	},
+
+	/**
+	* Event handler fired when the resize monitor element is resized.
+	*/
+	onDomResize : function(e, obj) { 
+
+        var nLeft = -1 * this.resizeMonitor.offsetWidth,
+            nTop = -1 * this.resizeMonitor.offsetHeight;
+        
+        this.resizeMonitor.style.top = nTop + "px";
+        this.resizeMonitor.style.left =  nLeft + "px";
+	
+	},
+
+	/**
+	* Sets the Module's header content to the HTML specified, or appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {string}	headerContent	The HTML used to set the header <em>OR</em>
+	* @param {Element}	headerContent	The Element to append to the header
+	*/	
+	setHeader : function(headerContent) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		if (typeof headerContent == "string") {
+			this.header.innerHTML = headerContent;
+		} else {
+			this.header.innerHTML = "";
+			this.header.appendChild(headerContent);
+		}
+
+		this.changeHeaderEvent.fire(headerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the header. If no header is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the header
+	*/	
+	appendToHeader : function(element) {
+		if (! this.header) {
+			this.header = document.createElement("DIV");
+			this.header.className = YAHOO.widget.Module.CSS_HEADER;
+		}
+		
+		this.header.appendChild(element);
+		this.changeHeaderEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's body content to the HTML specified, or appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {string}	bodyContent	The HTML used to set the body <em>OR</em>
+	* @param {Element}	bodyContent	The Element to append to the body
+	*/		
+	setBody : function(bodyContent) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		if (typeof bodyContent == "string")
+		{
+			this.body.innerHTML = bodyContent;
+		} else {
+			this.body.innerHTML = "";
+			this.body.appendChild(bodyContent);
+		}
+
+		this.changeBodyEvent.fire(bodyContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the body. If no body is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the body
+	*/
+	appendToBody : function(element) {
+		if (! this.body) {
+			this.body = document.createElement("DIV");
+			this.body.className = YAHOO.widget.Module.CSS_BODY;
+		}
+
+		this.body.appendChild(element);
+		this.changeBodyEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Sets the Module's footer content to the HTML specified, or appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {string}	footerContent	The HTML used to set the footer <em>OR</em>
+	* @param {Element}	footerContent	The Element to append to the footer
+	*/	
+	setFooter : function(footerContent) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		if (typeof footerContent == "string") {
+			this.footer.innerHTML = footerContent;
+		} else {
+			this.footer.innerHTML = "";
+			this.footer.appendChild(footerContent);
+		}
+
+		this.changeFooterEvent.fire(footerContent);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Appends the passed element to the footer. If no footer is present, one will be automatically created.
+	* @param {Element}	element	The element to append to the footer
+	*/
+	appendToFooter : function(element) {
+		if (! this.footer) {
+			this.footer = document.createElement("DIV");
+			this.footer.className = YAHOO.widget.Module.CSS_FOOTER;
+		}
+
+		this.footer.appendChild(element);
+		this.changeFooterEvent.fire(element);
+		this.changeContentEvent.fire();
+	},
+
+	/**
+	* Renders the Module by inserting the elements that are not already in the main Module into their correct places. Optionally appends the Module to the specified node prior to the render's execution. NOTE: For Modules without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+	* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+	* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+	* @param {Element}	moduleElement	OPTIONAL. The element that represents the actual Standard Module container. 
+	* @return {boolean} Success or failure of the render
+	*/
+	render : function(appendToNode, moduleElement) {
+		this.beforeRenderEvent.fire();
+
+		if (! moduleElement) {
+			moduleElement = this.element;
+		}
+
+		var me = this;
+		var appendTo = function(element) {
+			if (typeof element == "string") {
+				element = document.getElementById(element);
+			}
+			
+			if (element) {
+				element.appendChild(me.element);
+				me.appendEvent.fire();
+			}
+		};
+
+		if (appendToNode) {
+			appendTo(appendToNode);
+		} else { // No node was passed in. If the element is not pre-marked up, this fails
+			if (! YAHOO.util.Dom.inDocument(this.element)) {
+				return false;
+			}
+		}
+
+		// Need to get everything into the DOM if it isn't already
+		
+		if (this.header && ! YAHOO.util.Dom.inDocument(this.header)) {
+			// There is a header, but it's not in the DOM yet... need to add it
+			var firstChild = moduleElement.firstChild;
+			if (firstChild) { // Insert before first child if exists
+				moduleElement.insertBefore(this.header, firstChild);
+			} else { // Append to empty body because there are no children
+				moduleElement.appendChild(this.header);
+			}
+		}
+
+		if (this.body && ! YAHOO.util.Dom.inDocument(this.body)) {
+			// There is a body, but it's not in the DOM yet... need to add it
+			if (this.footer && YAHOO.util.Dom.isAncestor(this.moduleElement, this.footer)) { // Insert before footer if exists in DOM
+				moduleElement.insertBefore(this.body, this.footer);
+			} else { // Append to element because there is no footer
+				moduleElement.appendChild(this.body);
+			}
+		}
+
+		if (this.footer && ! YAHOO.util.Dom.inDocument(this.footer)) {
+			// There is a footer, but it's not in the DOM yet... need to add it
+			moduleElement.appendChild(this.footer);
+		}
+
+		this.renderEvent.fire();
+		return true;
+	},
+
+	/**
+	* Removes the Module element from the DOM and sets all child elements to null.
+	*/
+	destroy : function() {
+		if (this.element) {
+			var parent = this.element.parentNode;
+		}
+		if (parent) {
+			parent.removeChild(this.element);
+		}
+
+		this.element = null;
+		this.header = null;
+		this.body = null;
+		this.footer = null;
+
+		this.destroyEvent.fire();
+	},
+
+	/**
+	* Shows the Module element by setting the visible configuration property to true. Also fires two events: beforeShowEvent prior to the visibility change, and showEvent after.
+	*/
+	show : function() {
+		this.cfg.setProperty("visible", true);
+	},
+
+	/**
+	* Hides the Module element by setting the visible configuration property to false. Also fires two events: beforeHideEvent prior to the visibility change, and hideEvent after.
+	*/
+	hide : function() {
+		this.cfg.setProperty("visible", false);
+	},
+
+	// BUILT-IN EVENT HANDLERS FOR MODULE //
+
+	/**
+	* Default event handler for changing the visibility property of a Module. By default, this is achieved by switching the "display" style between "block" and "none".
+	* This method is responsible for firing showEvent and hideEvent.
+	*/
+	configVisible : function(type, args, obj) {
+		var visible = args[0];
+		if (visible) {
+			this.beforeShowEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "block");
+			this.showEvent.fire();
+		} else {
+			this.beforeHideEvent.fire();
+			YAHOO.util.Dom.setStyle(this.element, "display", "none");
+			this.hideEvent.fire();
+		}
+	},
+
+	/**
+	* Default event handler for the "monitorresize" configuration property
+	*/
+	configMonitorResize : function(type, args, obj) {
+		var monitor = args[0];
+		if (monitor) {
+			this.initResizeMonitor();
+		} else {
+			YAHOO.util.Event.removeListener(this.resizeMonitor, "resize", this.onDomResize);
+			this.resizeMonitor = null;
+		}
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Module.prototype.toString = function() {
+	return "Module " + this.id;
+};
+
+/**
+* Overlay is a Module that is absolutely positioned above the page flow. It has convenience methods for positioning and sizing, as well as options for controlling zIndex and constraining the Overlay's position to the current visible viewport. Overlay also contains a dynamicly generated IFRAME which is placed beneath it for Internet Explorer 6 and 5.x so that it will be properly rendered above SELECT elements.
+* @extends YAHOO.widget.Module
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Overlay = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Overlay, YAHOO.widget.Module);
+
+/**
+* The URL of the blank image that will be placed in the iframe
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.IFRAME_SRC = "promo/m/irs/blank.gif";
+
+/**
+* Constant representing the top left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_LEFT = "tl";
+
+/**
+* Constant representing the top right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.TOP_RIGHT = "tr";
+
+/**
+* Constant representing the top bottom left corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_LEFT = "bl";
+
+/**
+* Constant representing the bottom right corner of an element, used for configuring the context element alignment
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.BOTTOM_RIGHT = "br";
+
+/**
+* Constant representing the default CSS class used for an Overlay
+* @type string
+* @final
+*/
+YAHOO.widget.Overlay.CSS_OVERLAY = "overlay";
+
+/**
+* CustomEvent fired before the Overlay is moved.
+* args: x,y that the Overlay will be moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.beforeMoveEvent = null;
+
+/**
+* CustomEvent fired after the Overlay is moved.
+* args: x,y that the Overlay was moved to
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.prototype.moveEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Overlay.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Overlay.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Overlay);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Overlay.CSS_OVERLAY);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	if (this.platform == "mac" && this.browser == "gecko") {
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent,this.showMacGeckoScrollbars,this)) {
+			this.showEvent.subscribe(this.showMacGeckoScrollbars,this,true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent,this.hideMacGeckoScrollbars,this)) {
+			this.hideEvent.subscribe(this.hideMacGeckoScrollbars,this,true);
+		}
+	}
+
+	this.initEvent.fire(YAHOO.widget.Overlay);
+
+};
+
+/**
+* Initializes the custom events for Overlay which are fired automatically at appropriate times by the Overlay class.
+*/
+YAHOO.widget.Overlay.prototype.initEvents = function() {
+	YAHOO.widget.Overlay.superclass.initEvents.call(this);
+
+	this.beforeMoveEvent = new YAHOO.util.CustomEvent("beforeMove", this);
+	this.moveEvent = new YAHOO.util.CustomEvent("move", this);
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Overlay.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Overlay.superclass.initDefaultConfig.call(this);
+
+	// Add overlay config properties //
+	this.cfg.addProperty("x", { handler:this.configX, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("y", { handler:this.configY, validator:this.cfg.checkNumber, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("xy",{ handler:this.configXY, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("context",	{ handler:this.configContext, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("fixedcenter", { value:false, handler:this.configFixedCenter, validator:this.cfg.checkBoolean, supercedes:["iframe","visible"] } );
+
+	this.cfg.addProperty("width", { handler:this.configWidth, suppressEvent:true, supercedes:["iframe"] } );
+	this.cfg.addProperty("height", { handler:this.configHeight, suppressEvent:true, supercedes:["iframe"] } );
+
+	this.cfg.addProperty("zIndex", { value:null, handler:this.configzIndex } );
+
+	this.cfg.addProperty("constraintoviewport", { value:false, handler:this.configConstrainToViewport, validator:this.cfg.checkBoolean, supercedes:["iframe","x","y","xy"] } );
+	this.cfg.addProperty("iframe", { value:(this.browser == "ie" ? true : false), handler:this.configIframe, validator:this.cfg.checkBoolean, supercedes:["zIndex"] } );
+};
+
+/**
+* Moves the Overlay to the specified position. This function is identical to calling this.cfg.setProperty("xy", [x,y]);
+* @param {int}	x	The Overlay's new x position
+* @param {int}	y	The Overlay's new y position
+*/
+YAHOO.widget.Overlay.prototype.moveTo = function(x, y) {
+	this.cfg.setProperty("xy",[x,y]);
+};
+
+/**
+* Adds a special CSS class to the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.hideMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "show-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "hide-scrollbars");
+};
+
+/**
+* Removes a special CSS class from the Overlay when Mac/Gecko is in use, to work around a Gecko bug where
+* scrollbars cannot be hidden. See https://bugzilla.mozilla.org/show_bug.cgi?id=187435
+*/
+YAHOO.widget.Overlay.prototype.showMacGeckoScrollbars = function() {
+	YAHOO.util.Dom.removeClass(this.element, "hide-scrollbars");
+	YAHOO.util.Dom.addClass(this.element, "show-scrollbars");
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "visible" property is changed. This method is responsible for firing showEvent and hideEvent.
+*/
+YAHOO.widget.Overlay.prototype.configVisible = function(type, args, obj) {
+	var visible = args[0];
+	var currentVis = YAHOO.util.Dom.getStyle(this.element, "visibility");
+
+	var effect = this.cfg.getProperty("effect");
+
+	var effectInstances = [];
+	if (effect) {
+		if (effect instanceof Array) {
+			for (var i=0;i<effect.length;i++) {
+				var eff = effect[i];
+				effectInstances[effectInstances.length] = eff.effect(this, eff.duration);
+			}
+		} else {
+			effectInstances[effectInstances.length] = effect.effect(this, effect.duration);
+		}
+	}
+
+	var isMacGecko = (this.platform == "mac" && this.browser == "gecko");
+
+	if (visible) { // Show
+		if (isMacGecko) {
+			this.showMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate in
+			if (visible) { // Animate in if not showing
+				if (currentVis != "visible") {
+					this.beforeShowEvent.fire();
+					for (var j=0;j<effectInstances.length;j++) {
+						var e = effectInstances[j];
+						if (j === 0 && ! YAHOO.util.Config.alreadySubscribed(e.animateInCompleteEvent,this.showEvent.fire,this.showEvent)) {
+							e.animateInCompleteEvent.subscribe(this.showEvent.fire,this.showEvent,true); // Delegate showEvent until end of animateInComplete
+						}
+						e.animateIn();
+					}
+				}
+			}
+		} else { // Show
+			if (currentVis != "visible") {
+				this.beforeShowEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "visible");
+				this.cfg.refireEvent("iframe");
+				this.showEvent.fire();
+			}
+		}
+
+	} else { // Hide
+		if (isMacGecko) {
+			this.hideMacGeckoScrollbars();
+		}	
+
+		if (effect) { // Animate out if showing
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				for (var k=0;k<effectInstances.length;k++) {
+					var h = effectInstances[k];
+					if (k === 0 && ! YAHOO.util.Config.alreadySubscribed(h.animateOutCompleteEvent,this.hideEvent.fire,this.hideEvent)) {				
+						h.animateOutCompleteEvent.subscribe(this.hideEvent.fire,this.hideEvent,true); // Delegate hideEvent until end of animateOutComplete
+					}
+					h.animateOut();
+				}
+			}
+		} else { // Simple hide
+			if (currentVis == "visible") {
+				this.beforeHideEvent.fire();
+				YAHOO.util.Dom.setStyle(this.element, "visibility", "hidden");
+				this.cfg.refireEvent("iframe");
+				this.hideEvent.fire();
+			}
+		}	
+	}
+};
+
+/**
+* Center event handler used for centering on scroll/resize, but only if the Overlay is visible
+*/
+YAHOO.widget.Overlay.prototype.doCenterOnDOMEvent = function() {
+	if (this.cfg.getProperty("visible")) {
+		this.center();
+	}
+};
+
+/**
+* The default event handler fired when the "fixedcenter" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configFixedCenter = function(type, args, obj) {
+	var val = args[0];
+
+	if (val) {
+		this.center();
+			
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeShowEvent, this.center, this)) {
+			this.beforeShowEvent.subscribe(this.center, this, true);
+		}
+		
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowResizeEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.doCenterOnDOMEvent, this, true);
+		}
+
+		if (! YAHOO.util.Config.alreadySubscribed(YAHOO.widget.Overlay.windowScrollEvent, this.doCenterOnDOMEvent, this)) {
+			YAHOO.widget.Overlay.windowScrollEvent.subscribe( this.doCenterOnDOMEvent, this, true);
+		}
+	} else {
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+		YAHOO.widget.Overlay.windowScrollEvent.unsubscribe(this.doCenterOnDOMEvent, this);
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.element;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "zIndex" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configzIndex = function(type, args, obj) {
+	var zIndex = args[0];
+
+	var el = this.element;
+
+	if (! zIndex) {
+		zIndex = YAHOO.util.Dom.getStyle(el, "zIndex");
+		if (! zIndex || isNaN(zIndex)) {
+			zIndex = 0;
+		}
+	}
+
+	if (this.iframe) {
+		if (zIndex <= 0) {
+			zIndex = 1;
+		}
+		YAHOO.util.Dom.setStyle(this.iframe, "zIndex", (zIndex-1));
+	}
+
+	YAHOO.util.Dom.setStyle(el, "zIndex", zIndex);
+	this.cfg.setProperty("zIndex", zIndex, true);
+};
+
+/**
+* The default event handler fired when the "xy" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configXY = function(type, args, obj) {
+	var pos = args[0];
+	var x = pos[0];
+	var y = pos[1];
+
+	this.cfg.setProperty("x", x);
+	this.cfg.setProperty("y", y);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x,y]);
+};
+
+/**
+* The default event handler fired when the "x" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configX = function(type, args, obj) {
+	var x = args[0];
+	var y = this.cfg.getProperty("y");
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setX(this.element, x, true);
+	
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* The default event handler fired when the "y" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configY = function(type, args, obj) {
+	var x = this.cfg.getProperty("x");
+	var y = args[0];
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+
+	this.beforeMoveEvent.fire([x,y]);
+
+	x = this.cfg.getProperty("x");
+	y = this.cfg.getProperty("y");
+
+	YAHOO.util.Dom.setY(this.element, y, true);
+
+	this.cfg.setProperty("xy", [x, y], true);
+
+	this.cfg.refireEvent("iframe");
+	this.moveEvent.fire([x, y]);
+};
+
+/**
+* Shows the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.showIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "block";
+	}
+}
+
+/**
+* Hides the iframe shim, if it has been enabled
+*/
+YAHOO.widget.Overlay.prototype.hideIframe = function() {
+	if (this.iframe) {
+		this.iframe.style.display = "none";
+	}
+}
+
+/**
+* The default event handler fired when the "iframe" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configIframe = function(type, args, obj) {
+
+	var val = args[0];
+
+	if (val) { // IFRAME shim is enabled
+
+		if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, this.showIframe, this)) {
+			this.showEvent.subscribe(this.showIframe, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, this.hideIframe, this)) {
+			this.hideEvent.subscribe(this.hideIframe, this, true);
+		}
+
+		var x = this.cfg.getProperty("x");
+		var y = this.cfg.getProperty("y");
+
+		if (! x || ! y) {
+			this.syncPosition();
+			x = this.cfg.getProperty("x");
+			y = this.cfg.getProperty("y");
+		}
+
+		if (! isNaN(x) && ! isNaN(y)) {
+			if (! this.iframe) {
+				this.iframe = document.createElement("iframe");
+				if (this.isSecure) {
+					this.iframe.src= this.imageRoot + YAHOO.widget.Overlay.IFRAME_SRC;
+				}
+				
+				var parent = this.element.parentNode;
+				if (parent) {
+					parent.appendChild(this.iframe);
+				} else {
+					document.body.appendChild(this.iframe);
+				}
+
+				YAHOO.util.Dom.setStyle(this.iframe, "position", "absolute");
+				YAHOO.util.Dom.setStyle(this.iframe, "border", "none");
+				YAHOO.util.Dom.setStyle(this.iframe, "margin", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "padding", "0");
+				YAHOO.util.Dom.setStyle(this.iframe, "opacity", "0");
+				if (this.cfg.getProperty("visible")) {
+					this.showIframe();
+				} else {
+					this.hideIframe();
+				}
+			}
+			
+			var iframeDisplay = YAHOO.util.Dom.getStyle(this.iframe, "display");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "block";
+			}
+
+			YAHOO.util.Dom.setXY(this.iframe, [x,y]);
+
+			var width = this.element.clientWidth;
+			var height = this.element.clientHeight;
+
+			YAHOO.util.Dom.setStyle(this.iframe, "width", (width+2) + "px");
+			YAHOO.util.Dom.setStyle(this.iframe, "height", (height+2) + "px");
+
+			if (iframeDisplay == "none") {
+				this.iframe.style.display = "none";
+			}
+		}
+	} else {
+		if (this.iframe) {
+			this.iframe.style.display = "none";
+		}
+		this.showEvent.unsubscribe(this.showIframe, this);
+		this.hideEvent.unsubscribe(this.hideIframe, this);
+	}
+};
+
+
+/**
+* The default event handler fired when the "constraintoviewport" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configConstrainToViewport = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (! YAHOO.util.Config.alreadySubscribed(this.beforeMoveEvent, this.enforceConstraints, this)) {
+			this.beforeMoveEvent.subscribe(this.enforceConstraints, this, true);
+		}
+	} else {
+		this.beforeMoveEvent.unsubscribe(this.enforceConstraints, this);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Overlay.prototype.configContext = function(type, args, obj) {
+	var contextArgs = args[0];
+
+	if (contextArgs) {
+		var contextEl = contextArgs[0];
+		var elementMagnetCorner = contextArgs[1];
+		var contextMagnetCorner = contextArgs[2];
+
+		if (contextEl) {
+			if (typeof contextEl == "string") {
+				this.cfg.setProperty("context", [document.getElementById(contextEl),elementMagnetCorner,contextMagnetCorner], true);
+			}
+			
+			if (elementMagnetCorner && contextMagnetCorner) {
+				this.align(elementMagnetCorner, contextMagnetCorner);
+			}
+		}	
+	}
+};
+
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Aligns the Overlay to its context element using the specified corner points (represented by the constants TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, and BOTTOM_RIGHT.
+* @param {string} elementAlign		The string representing the corner of the Overlay that should be aligned to the context element
+* @param {string} contextAlign		The corner of the context element that the elementAlign corner should stick to.
+*/
+YAHOO.widget.Overlay.prototype.align = function(elementAlign, contextAlign) {
+	var contextArgs = this.cfg.getProperty("context");
+	if (contextArgs) {
+		var context = contextArgs[0];
+		
+		var element = this.element;
+		var me = this;
+
+		if (! elementAlign) {
+			elementAlign = contextArgs[1];
+		}
+
+		if (! contextAlign) {
+			contextAlign = contextArgs[2];
+		}
+
+		if (element && context) {
+			var elementRegion = YAHOO.util.Dom.getRegion(element);
+			var contextRegion = YAHOO.util.Dom.getRegion(context);
+
+			var doAlign = function(v,h) {
+				switch (elementAlign) {
+					case YAHOO.widget.Overlay.TOP_LEFT:
+						me.moveTo(h,v);
+						break;
+					case YAHOO.widget.Overlay.TOP_RIGHT:
+						me.moveTo(h-element.offsetWidth,v);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_LEFT:
+						me.moveTo(h,v-element.offsetHeight);
+						break;
+					case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+						me.moveTo(h-element.offsetWidth,v-element.offsetHeight);
+						break;
+				}
+			};
+
+			switch (contextAlign) {
+				case YAHOO.widget.Overlay.TOP_LEFT:
+					doAlign(contextRegion.top, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.TOP_RIGHT:
+					doAlign(contextRegion.top, contextRegion.right);
+					break;		
+				case YAHOO.widget.Overlay.BOTTOM_LEFT:
+					doAlign(contextRegion.bottom, contextRegion.left);
+					break;
+				case YAHOO.widget.Overlay.BOTTOM_RIGHT:
+					doAlign(contextRegion.bottom, contextRegion.right);
+					break;
+			}
+		}
+	}
+};
+
+/**
+* The default event handler executed when the moveEvent is fired, if the "constraintoviewport" is set to true.
+*/
+YAHOO.widget.Overlay.prototype.enforceConstraints = function(type, args, obj) {
+	var pos = args[0];
+
+	var x = pos[0];
+	var y = pos[1];
+
+	var offsetHeight = this.element.offsetHeight;
+	var offsetWidth = this.element.offsetWidth;
+
+	var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+	var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var topConstraint = scrollY + 10;
+	var leftConstraint = scrollX + 10;
+	var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+	var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+	
+	if (x < leftConstraint) {
+		x = leftConstraint;
+	} else if (x > rightConstraint) {
+		x = rightConstraint;
+	}
+
+	if (y < topConstraint) {
+		y = topConstraint;
+	} else if (y > bottomConstraint) {
+		y = bottomConstraint;
+	}
+
+	this.cfg.setProperty("x", x, true);
+	this.cfg.setProperty("y", y, true);
+	this.cfg.setProperty("xy", [x,y], true);
+};
+
+/**
+* Centers the container in the viewport.
+*/
+YAHOO.widget.Overlay.prototype.center = function() {
+	var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
+	var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
+
+	var viewPortWidth = YAHOO.util.Dom.getClientWidth();
+	var viewPortHeight = YAHOO.util.Dom.getClientHeight();
+
+	var elementWidth = this.element.offsetWidth;
+	var elementHeight = this.element.offsetHeight;
+
+	var x = (viewPortWidth / 2) - (elementWidth / 2) + scrollX;
+	var y = (viewPortHeight / 2) - (elementHeight / 2) + scrollY;
+	
+	this.element.style.left = parseInt(x, 10) + "px";
+	this.element.style.top = parseInt(y, 10) + "px";
+	this.syncPosition();
+
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Synchronizes the Panel's "xy", "x", and "y" properties with the Panel's position in the DOM. This is primarily used to update position information during drag & drop.
+*/
+YAHOO.widget.Overlay.prototype.syncPosition = function() {
+	var pos = YAHOO.util.Dom.getXY(this.element);
+	this.cfg.setProperty("x", pos[0], true);
+	this.cfg.setProperty("y", pos[1], true);
+	this.cfg.setProperty("xy", pos, true);
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Overlay.prototype.onDomResize = function(e, obj) {
+	YAHOO.widget.Overlay.superclass.onDomResize.call(this, e, obj);
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Removes the Overlay element from the DOM and sets all child elements to null.
+*/
+YAHOO.widget.Overlay.prototype.destroy = function() {
+	if (this.iframe) {
+		this.iframe.parentNode.removeChild(this.iframe);
+	}
+	
+	this.iframe = null;
+
+	YAHOO.widget.Overlay.superclass.destroy.call(this);  
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Overlay.prototype.toString = function() {
+	return "Overlay " + this.id;
+};
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window scroll
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowScrollEvent = new YAHOO.util.CustomEvent("windowScroll");
+
+/**
+* A singleton CustomEvent used for reacting to the DOM event for window resize
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Overlay.windowResizeEvent = new YAHOO.util.CustomEvent("windowResize");
+
+/**
+* The DOM event handler used to fire the CustomEvent for window scroll
+* @type Function
+*/
+YAHOO.widget.Overlay.windowScrollHandler = function(e) {
+		YAHOO.widget.Overlay.windowScrollEvent.fire();
+};
+
+/**
+* The DOM event handler used to fire the CustomEvent for window resize
+* @type Function
+*/
+YAHOO.widget.Overlay.windowResizeHandler = function(e) {
+		YAHOO.widget.Overlay.windowResizeEvent.fire();
+};
+
+/**
+* @private
+*/
+YAHOO.widget.Overlay._initialized = null;
+
+if (YAHOO.widget.Overlay._initialized === null) {
+	YAHOO.util.Event.addListener(window, "scroll", YAHOO.widget.Overlay.windowScrollHandler);
+	YAHOO.util.Event.addListener(window, "resize", YAHOO.widget.Overlay.windowResizeHandler);
+
+	YAHOO.widget.Overlay._initialized = true;
+}
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version 0.11.4
+*/
+
+/**
+* OverlayManager is used for maintaining the focus status of multiple Overlays.
+* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+* @constructor
+*/
+YAHOO.widget.OverlayManager = function(userConfig) {
+	this.init(userConfig);
+};
+
+/**
+* The CSS class representing a focused Overlay
+* @type string
+*/
+YAHOO.widget.OverlayManager.CSS_FOCUSED = "focused";
+
+YAHOO.widget.OverlayManager.prototype = {
+
+	constructor : YAHOO.widget.OverlayManager,
+
+	/**
+	* The array of Overlays that are currently registered
+	* @type Array
+	*/
+	overlays : null,
+
+	/**
+	* Initializes the default configuration of the OverlayManager
+	*/	
+	initDefaultConfig : function() {
+		this.cfg.addProperty("overlays", { suppressEvent:true } );
+		this.cfg.addProperty("focusevent", { value:"mousedown" } );
+	}, 
+
+	/**
+	* Returns the currently focused Overlay
+	* @return {Overlay}	The currently focused Overlay
+	*/
+	getActive : function() {},
+
+	/**
+	* Focuses the specified Overlay
+	* @param {Overlay}	The Overlay to focus
+	* @param {string}	The id of the Overlay to focus
+	*/
+	focus : function(overlay) {},
+
+	/**
+	* Removes the specified Overlay from the manager
+	* @param {Overlay}	The Overlay to remove
+	* @param {string}	The id of the Overlay to remove
+	*/
+	remove: function(overlay) {},
+
+	/**
+	* Removes focus from all registered Overlays in the manager
+	*/
+	blurAll : function() {},
+
+	/**
+	* Initializes the OverlayManager
+	* @param {Array}	overlays	Optional. A collection of Overlays to register with the manager.
+	* @param {object}	userConfig		The object literal representing the user configuration of the OverlayManager
+	*/
+	init : function(userConfig) {
+		this.cfg = new YAHOO.util.Config(this);
+
+		this.initDefaultConfig();
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		this.cfg.fireQueue();
+
+		var activeOverlay = null;
+
+		this.getActive = function() {
+			return activeOverlay;
+		};
+
+		this.focus = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				this.blurAll();
+				activeOverlay = o;
+				YAHOO.util.Dom.addClass(activeOverlay.element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+				this.overlays.sort(this.compareZIndexDesc);
+				var topZIndex = YAHOO.util.Dom.getStyle(this.overlays[0].element, "zIndex");
+				if (! isNaN(topZIndex) && this.overlays[0] != overlay) {
+					activeOverlay.cfg.setProperty("zIndex", (parseInt(topZIndex, 10) + 2));
+				}
+				this.overlays.sort(this.compareZIndexDesc);
+			}
+		};
+
+		this.remove = function(overlay) {
+			var o = this.find(overlay);
+			if (o) {
+				var originalZ = YAHOO.util.Dom.getStyle(o.element, "zIndex");
+				o.cfg.setProperty("zIndex", -1000, true);
+				this.overlays.sort(this.compareZIndexDesc);
+				this.overlays = this.overlays.slice(0, this.overlays.length-1);
+				o.cfg.setProperty("zIndex", originalZ, true);
+
+				o.cfg.setProperty("manager", null);
+				o.focusEvent = null;
+				o.blurEvent = null;
+				o.focus = null;
+				o.blur = null;
+			}
+		};
+
+		this.blurAll = function() {
+			activeOverlay = null;
+			for (var o=0;o<this.overlays.length;o++) {
+				YAHOO.util.Dom.removeClass(this.overlays[o].element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
+			}		
+		};
+
+		var overlays = this.cfg.getProperty("overlays");
+		
+		if (! this.overlays) {
+			this.overlays = [];
+		}
+
+		if (overlays) {
+			this.register(overlays);
+			this.overlays.sort(this.compareZIndexDesc);
+		}
+	},
+
+	/**
+	* Registers an Overlay or an array of Overlays with the manager. Upon registration, the Overlay receives functions for focus and blur, along with CustomEvents for each.
+	* @param {Overlay}	overlay		An Overlay to register with the manager.
+	* @param {Overlay[]}	overlay		An array of Overlays to register with the manager.
+	* @return	{boolean}	True if any Overlays are registered.
+	*/
+	register : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			overlay.cfg.addProperty("manager", { value:this } );
+
+			overlay.focusEvent = new YAHOO.util.CustomEvent("focus");
+			overlay.blurEvent = new YAHOO.util.CustomEvent("blur");
+			
+			var mgr=this;
+
+			overlay.focus = function() {
+				mgr.focus(this);
+				this.focusEvent.fire();
+			};
+
+			overlay.blur = function() {
+				mgr.blurAll();
+				this.blurEvent.fire();
+			};
+
+			var focusOnDomEvent = function(e,obj) {
+				overlay.focus();
+			};
+			
+			var focusevent = this.cfg.getProperty("focusevent");
+			YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,this,true);
+
+			var zIndex = YAHOO.util.Dom.getStyle(overlay.element, "zIndex");
+			if (! isNaN(zIndex)) {
+				overlay.cfg.setProperty("zIndex", parseInt(zIndex, 10));
+			} else {
+				overlay.cfg.setProperty("zIndex", 0);
+			}
+			
+			this.overlays.push(overlay);
+			return true;
+		} else if (overlay instanceof Array) {
+			var regcount = 0;
+			for (var i=0;i<overlay.length;i++) {
+				if (this.register(overlay[i])) {
+					regcount++;
+				}
+			}
+			if (regcount > 0) {
+				return true;
+			}
+		} else {
+			return false;
+		}
+	},
+
+	/**
+	* Attempts to locate an Overlay by instance or ID.
+	* @param {Overlay}	overlay		An Overlay to locate within the manager
+	* @param {string}	overlay		An Overlay id to locate within the manager
+	* @return	{Overlay}	The requested Overlay, if found, or null if it cannot be located.
+	*/
+	find : function(overlay) {
+		if (overlay instanceof YAHOO.widget.Overlay) {
+			for (var o=0;o<this.overlays.length;o++) {
+				if (this.overlays[o] == overlay) {
+					return this.overlays[o];
+				}
+			}
+		} else if (typeof overlay == "string") {
+			for (var p=0;p<this.overlays.length;p++) {
+				if (this.overlays[p].id == overlay) {
+					return this.overlays[p];
+				}
+			}			
+		}
+		return null;
+	},
+
+	/**
+	* Used for sorting the manager's Overlays by z-index.
+	* @private
+	*/
+	compareZIndexDesc : function(o1, o2) {
+		var zIndex1 = o1.cfg.getProperty("zIndex");
+		var zIndex2 = o2.cfg.getProperty("zIndex");
+
+		if (zIndex1 > zIndex2) {
+			return -1;
+		} else if (zIndex1 < zIndex2) {
+			return 1;
+		} else {
+			return 0;
+		}
+	},
+
+	/**
+	* Shows all Overlays in the manager.
+	*/
+	showAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].show();
+		}
+	},
+
+	/**
+	* Hides all Overlays in the manager.
+	*/
+	hideAll : function() {
+		for (var o=0;o<this.overlays.length;o++) {
+			this.overlays[o].hide();
+		}
+	},
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	toString : function() {
+		return "OverlayManager";
+	}
+
+};
+
+/**
+* KeyListener is a utility that provides an easy interface for listening for keydown/keyup events fired against DOM elements.
+* @param {Element}	attachTo	The element or element ID to which the key event should be attached
+* @param {string}	attachTo	The element or element ID to which the key event should be attached
+* @param {object}	keyData		The object literal representing the key(s) to detect. Possible attributes are shift(boolean), alt(boolean), ctrl(boolean) and keys(either an int or an array of ints representing keycodes).
+* @param {function}	handler		The CustomEvent handler to fire when the key event is detected
+* @param {object}	handler		An object literal representing the handler. 
+* @param {string}	event		Optional. The event (keydown or keyup) to listen for. Defaults automatically to keydown.
+* @constructor
+*/
+YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {
+	if (! event) {
+		event = YAHOO.util.KeyListener.KEYDOWN;
+	}
+
+	var keyEvent = new YAHOO.util.CustomEvent("keyPressed");
+	
+	this.enabledEvent = new YAHOO.util.CustomEvent("enabled");
+	this.disabledEvent = new YAHOO.util.CustomEvent("disabled");
+
+	if (typeof attachTo == 'string') {
+		attachTo = document.getElementById(attachTo);
+	}
+
+	if (typeof handler == 'function') {
+		keyEvent.subscribe(handler);
+	} else {
+		keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);
+	}
+
+	/**
+	* Handles the key event when a key is pressed.
+	* @private
+	*/
+	function handleKeyPress(e, obj) {
+		var keyPressed = e.charCode || e.keyCode;
+		
+		if (! keyData.shift) {	
+			keyData.shift = false; 
+		}
+		if (! keyData.alt) {	
+			keyData.alt = false;
+		}
+		if (! keyData.ctrl) {
+			keyData.ctrl = false;
+		}
+
+		// check held down modifying keys first
+		if (e.shiftKey == keyData.shift && 
+			e.altKey   == keyData.alt &&
+			e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match
+
+			if (keyData.keys instanceof Array) {
+				for (var i=0;i<keyData.keys.length;i++) {
+					if (keyPressed == keyData.keys[i]) {
+						keyEvent.fire(keyPressed, e);
+						break;
+					}
+				}
+			} else {
+				if (keyPressed == keyData.keys) {
+					keyEvent.fire(keyPressed, e);
+				}
+			}
+		}
+	}
+
+	this.enable = function() {
+		if (! this.enabled) {
+			YAHOO.util.Event.addListener(attachTo, event, handleKeyPress);
+			this.enabledEvent.fire(keyData);
+		}
+		this.enabled = true;
+	};
+
+	this.disable = function() {
+		if (this.enabled) {
+			YAHOO.util.Event.removeListener(attachTo, event, handleKeyPress);
+			this.disabledEvent.fire(keyData);
+		}
+		this.enabled = false;
+	};
+
+	/**
+	* Returns a string representation of the object.
+	* @type string
+	*/ 
+	this.toString = function() {
+		return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + (attachTo.id ? "[" + attachTo.id + "]" : "");
+	};
+
+};
+
+/**
+* Constant representing the DOM "keydown" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYDOWN = "keydown";
+
+/**
+* Constant representing the DOM "keyup" event.
+* @final
+*/
+YAHOO.util.KeyListener.KEYUP = "keyup";
+
+/**
+* Boolean indicating the enabled/disabled state of the Tooltip
+* @type Booleam
+*/
+YAHOO.util.KeyListener.prototype.enabled = null;
+
+/**
+* Enables the KeyListener, by dynamically attaching the key event to the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.enable = function() {};
+
+/**
+* Disables the KeyListener, by dynamically removing the key event from the appropriate DOM element.
+*/
+YAHOO.util.KeyListener.prototype.disable = function() {};
+
+/**
+* CustomEvent fired when the KeyListener is enabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.enabledEvent = null;
+
+/**
+* CustomEvent fired when the KeyListener is disabled
+* args: keyData
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.util.KeyListener.prototype.disabledEvent = null;
+
+
+/**
+* Tooltip is an implementation of Overlay that behaves like an OS tooltip, displaying when the user mouses over a particular element, and disappearing on mouse out.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Tooltip = function(el, userConfig) {
+	YAHOO.widget.Tooltip.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Tooltip, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the Tooltip CSS class
+* @type string
+* @final
+*/
+YAHOO.widget.Tooltip.CSS_TOOLTIP = "tt";
+
+/**
+* The Tooltip initialization method. This method is automatically called by the constructor. A Tooltip is automatically rendered by the init method, and it also is set to be invisible by default, and constrained to viewport by default as well.
+* @param {string}	el	The element ID representing the Tooltip <em>OR</em>
+* @param {Element}	el	The element representing the Tooltip
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Tooltip. See configuration documentation for more details.
+*/
+YAHOO.widget.Tooltip.prototype.init = function(el, userConfig) {
+	if (document.readyState && document.readyState != "complete") {
+		var deferredInit = function() {
+			this.init(el, userConfig);
+		};
+		YAHOO.util.Event.addListener(window, "load", deferredInit, this, true);
+	} else {
+		YAHOO.widget.Tooltip.superclass.init.call(this, el);
+
+		this.beforeInitEvent.fire(YAHOO.widget.Tooltip);
+
+		YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Tooltip.CSS_TOOLTIP);
+
+		if (userConfig) {
+			this.cfg.applyConfig(userConfig, true);
+		}
+		
+		this.cfg.queueProperty("visible",false);
+		this.cfg.queueProperty("constraintoviewport",true);
+
+		this.setBody("");
+		this.render(this.cfg.getProperty("container"));
+
+		this.initEvent.fire(YAHOO.widget.Tooltip);
+	}
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Overlay's Config object (cfg).
+*/
+YAHOO.widget.Tooltip.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Tooltip.superclass.initDefaultConfig.call(this);
+
+	this.cfg.addProperty("preventoverlap",		{ value:true, validator:this.cfg.checkBoolean, supercedes:["x","y","xy"] } );
+
+	this.cfg.addProperty("showdelay",			{ value:200, handler:this.configShowDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("autodismissdelay",	{ value:5000, handler:this.configAutoDismissDelay, validator:this.cfg.checkNumber } );
+	this.cfg.addProperty("hidedelay",			{ value:250, handler:this.configHideDelay, validator:this.cfg.checkNumber } );
+
+	this.cfg.addProperty("text",				{ handler:this.configText, suppressEvent:true } );
+	this.cfg.addProperty("container",			{ value:document.body, handler:this.configContainer } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "text" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configText = function(type, args, obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+	}
+};
+
+/**
+* The default event handler fired when the "container" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContainer = function(type, args, obj) {
+	var container = args[0];
+	if (typeof container == 'string') {
+		this.cfg.setProperty("container", document.getElementById(container), true);
+	}
+};
+
+/**
+* The default event handler fired when the "context" property is changed.
+*/
+YAHOO.widget.Tooltip.prototype.configContext = function(type, args, obj) {
+	var context = args[0];
+	if (context) {
+		
+		// Normalize parameter into an array
+		if (! (context instanceof Array)) {
+			if (typeof context == "string") {
+				this.cfg.setProperty("context", [document.getElementById(context)], true);
+			} else { // Assuming this is an element
+				this.cfg.setProperty("context", [context], true);
+			}
+			context = this.cfg.getProperty("context");
+		}
+
+
+		// Remove any existing mouseover/mouseout listeners
+		if (this._context) {
+			for (var c=0;c<this._context.length;++c) {
+				var el = this._context[c];
+				YAHOO.util.Event.removeListener(el, "mouseover", this.onContextMouseOver);
+				YAHOO.util.Event.removeListener(el, "mousemove", this.onContextMouseMove);
+				YAHOO.util.Event.removeListener(el, "mouseout", this.onContextMouseOut);
+			}
+		}
+
+		// Add mouseover/mouseout listeners to context elements
+		this._context = context;
+		for (var d=0;d<this._context.length;++d) {
+			var el2 = this._context[d];
+			YAHOO.util.Event.addListener(el2, "mouseover", this.onContextMouseOver, this);
+			YAHOO.util.Event.addListener(el2, "mousemove", this.onContextMouseMove, this);
+			YAHOO.util.Event.addListener(el2, "mouseout", this.onContextMouseOut, this);
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+// BEGIN BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* The default event handler fired when the user moves the mouse while over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseMove = function(e, obj) {
+	obj.pageX = YAHOO.util.Event.getPageX(e);
+	obj.pageY = YAHOO.util.Event.getPageY(e);
+
+};
+
+/**
+* The default event handler fired when the user mouses over the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOver = function(e, obj) {
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+	
+	var context = this;
+	YAHOO.util.Event.addListener(context, "mousemove", obj.onContextMouseMove, obj);
+
+	if (context.title) {
+		obj._tempTitle = context.title;
+		context.title = "";
+	}
+
+	/**
+	* The unique process ID associated with the thread responsible for showing the Tooltip.
+	* @type int
+	*/
+	obj.showProcId = obj.doShow(e, context);
+};
+
+/**
+* The default event handler fired when the user mouses out of the context element.
+* @param {DOMEvent} e	The current DOM event
+* @param {object}	obj	The object argument
+*/
+YAHOO.widget.Tooltip.prototype.onContextMouseOut = function(e, obj) {
+	var el = this;
+
+	if (obj._tempTitle) {
+		el.title = obj._tempTitle;
+		obj._tempTitle = null;
+	}
+	
+	if (obj.showProcId) {
+		clearTimeout(obj.showProcId);
+		obj.showProcId = null;
+	}
+
+	if (obj.hideProcId) {
+		clearTimeout(obj.hideProcId);
+		obj.hideProcId = null;
+	}
+
+
+	obj.hideProcId = setTimeout(function() {
+				obj.hide();
+				}, obj.cfg.getProperty("hidedelay"));
+};
+
+// END BUILT-IN DOM EVENT HANDLERS //
+
+/**
+* Processes the showing of the Tooltip by setting the timeout delay and offset of the Tooltip.
+* @param {DOMEvent} e	The current DOM event
+* @return {int}	The process ID of the timeout function associated with doShow
+*/
+YAHOO.widget.Tooltip.prototype.doShow = function(e, context) {
+	
+	var yOffset = 25;
+	if (this.browser == "opera" && context.tagName == "A") {
+		yOffset += 12;
+	}
+
+	var me = this;
+	return setTimeout(
+		function() {
+			if (me._tempTitle) {
+				me.setBody(me._tempTitle);
+			} else {
+				me.cfg.refireEvent("text");
+			}
+
+			me.moveTo(me.pageX, me.pageY + yOffset);
+			if (me.cfg.getProperty("preventoverlap")) {
+				me.preventOverlap(me.pageX, me.pageY);
+			}
+			
+			YAHOO.util.Event.removeListener(context, "mousemove", me.onContextMouseMove);
+
+			me.show();
+			me.hideProcId = me.doHide();
+		},
+	this.cfg.getProperty("showdelay"));
+};
+
+/**
+* Sets the timeout for the auto-dismiss delay, which by default is 5 seconds, meaning that a tooltip will automatically dismiss itself after 5 seconds of being displayed.
+*/
+YAHOO.widget.Tooltip.prototype.doHide = function() {
+	var me = this;
+	return setTimeout(
+		function() {
+			me.hide();
+		},
+		this.cfg.getProperty("autodismissdelay"));
+};
+
+/**
+* Fired when the Tooltip is moved, this event handler is used to prevent the Tooltip from overlapping with its context element.
+*/
+YAHOO.widget.Tooltip.prototype.preventOverlap = function(pageX, pageY) {
+	
+	var height = this.element.offsetHeight;
+	
+	var elementRegion = YAHOO.util.Dom.getRegion(this.element);
+
+	elementRegion.top -= 5;
+	elementRegion.left -= 5;
+	elementRegion.right += 5;
+	elementRegion.bottom += 5;
+
+	var mousePoint = new YAHOO.util.Point(pageX, pageY);
+	
+	if (elementRegion.contains(mousePoint)) {
+		this.cfg.setProperty("y", (pageY-height-5));
+	}
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Tooltip.prototype.toString = function() {
+	return "Tooltip " + this.id;
+};
+
+/**
+* Panel is an implementation of Overlay that behaves like an OS window, with a draggable header and an optional close icon at the top right.
+* @extends YAHOO.widget.Overlay
+* @param {string}	el	The element ID representing the Panel <em>OR</em>
+* @param {Element}	el	The element representing the Panel
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Panel. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Panel = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Panel, YAHOO.widget.Overlay);
+
+/**
+* Constant representing the default CSS class used for a Panel
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL = "panel";
+
+/**
+* Constant representing the default CSS class used for a Panel's wrapping container
+* @type string
+* @final
+*/
+YAHOO.widget.Panel.CSS_PANEL_CONTAINER = "panel-container";
+
+/**
+* CustomEvent fired after the modality mask is shown
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.showMaskEvent = null;
+
+/**
+* CustomEvent fired after the modality mask is hidden
+* args: none
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Panel.prototype.hideMaskEvent = null;
+
+/**
+* The Overlay initialization method, which is executed for Overlay and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Overlay <em>OR</em>
+* @param {Element}	el	The element representing the Overlay
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Overlay. See configuration documentation for more details.
+*/
+YAHOO.widget.Panel.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Panel.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Panel);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Panel.CSS_PANEL);
+
+	this.buildWrapper();			
+	
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		var draggable = this.cfg.getProperty("draggable");
+		if (draggable) {
+			if (! this.header) {
+				this.setHeader("&nbsp;");
+			}
+		}
+	}, this, true);
+
+	var me = this;
+
+	this.showMaskEvent.subscribe(function() {
+		var checkFocusable = function(el) {
+			if (el.tagName == "A" || el.tagName == "BUTTON" || el.tagName == "SELECT" || el.tagName == "INPUT" || el.tagName == "TEXTAREA" || el.tagName == "FORM") {
+				if (! YAHOO.util.Dom.isAncestor(me.element, el)) {
+					YAHOO.util.Event.addListener(el, "focus", el.blur);
+					return true;
+				}
+			} else {
+				return false;
+			}
+		};
+		
+		this.focusableElements = YAHOO.util.Dom.getElementsBy(checkFocusable);
+	}, this, true);
+
+	this.hideMaskEvent.subscribe(function() {
+		for (var i=0;i<this.focusableElements.length;i++) {
+			var el2 = this.focusableElements[i];
+			YAHOO.util.Event.removeListener(el2, "focus", el2.blur);
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Panel);
+};
+
+/**
+* Initializes the custom events for Module which are fired automatically at appropriate times by the Module class.
+*/
+YAHOO.widget.Panel.prototype.initEvents = function() {
+	YAHOO.widget.Panel.superclass.initEvents.call(this);
+
+	this.showMaskEvent = new YAHOO.util.CustomEvent("showMask");
+	this.hideMaskEvent = new YAHOO.util.CustomEvent("hideMask");
+
+	this.dragEvent = new YAHOO.util.CustomEvent("drag");
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using the Panel's Config object (cfg).
+*/
+YAHOO.widget.Panel.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Panel.superclass.initDefaultConfig.call(this);
+
+	// Add panel config properties //
+
+	this.cfg.addProperty("close", { value:true, handler:this.configClose, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+	this.cfg.addProperty("draggable", { value:true,	handler:this.configDraggable, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("underlay", { value:"shadow", handler:this.configUnderlay, supercedes:["visible"] } );
+	this.cfg.addProperty("modal",	{ value:false, handler:this.configModal, validator:this.cfg.checkBoolean, supercedes:["visible"] } );
+
+	this.cfg.addProperty("keylisteners", { handler:this.configKeyListeners, suppressEvent:true, supercedes:["visible"] } );
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler fired when the "close" property is changed. The method controls the appending or hiding of the close icon at the top right of the Panel.
+*/
+YAHOO.widget.Panel.prototype.configClose = function(type, args, obj) {
+	var val = args[0];
+
+	var doHide = function(e, obj) {
+		obj.hide();
+	};
+
+	if (val) {
+		if (! this.close) {
+			this.close = document.createElement("DIV");
+			YAHOO.util.Dom.addClass(this.close, "close");
+
+			if (this.isSecure) {
+				YAHOO.util.Dom.addClass(this.close, "secure");
+			} else {
+				YAHOO.util.Dom.addClass(this.close, "nonsecure");
+			}
+
+			this.close.innerHTML = "&nbsp;";
+			this.innerElement.appendChild(this.close);
+			YAHOO.util.Event.addListener(this.close, "click", doHide, this);	
+		} else {
+			this.close.style.display = "block";
+		}
+	} else {
+		if (this.close) {
+			this.close.style.display = "none";
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "draggable" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configDraggable = function(type, args, obj) {
+	var val = args[0];
+	if (val) {
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","move");
+			this.registerDragDrop();
+		}
+	} else {
+		if (this.dd) {
+			this.dd.unreg();
+		}
+		if (this.header) {
+			YAHOO.util.Dom.setStyle(this.header,"cursor","auto");
+		}
+	}
+};
+
+/**
+* The default event handler fired when the "underlay" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configUnderlay = function(type, args, obj) {
+	var val = args[0];
+
+	switch (val.toLowerCase()) {
+		case "shadow":
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			YAHOO.util.Dom.addClass(this.element, "shadow");
+
+			if (! this.underlay) { // create if not already in DOM
+				this.underlay = document.createElement("DIV");
+				this.underlay.className = "underlay";
+				this.underlay.innerHTML = "&nbsp;";
+				this.element.appendChild(this.underlay);
+			} 
+
+			this.sizeUnderlay();
+			break;
+		case "matte":
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.addClass(this.element, "matte");
+			break;
+		default:
+			YAHOO.util.Dom.removeClass(this.element, "shadow");
+			YAHOO.util.Dom.removeClass(this.element, "matte");
+			break;
+	}
+};
+
+/**
+* The default event handler fired when the "modal" property is changed. This handler subscribes or unsubscribes to the show and hide events to handle the display or hide of the modality mask.
+*/
+YAHOO.widget.Panel.prototype.configModal = function(type, args, obj) {
+	var modal = args[0];
+
+	if (modal) {
+		this.buildMask();
+
+		if (! YAHOO.util.Config.alreadySubscribed( this.showEvent, this.showMask, this ) ) {
+			this.showEvent.subscribe(this.showMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.hideEvent, this.hideMask, this) ) {
+			this.hideEvent.subscribe(this.hideMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( YAHOO.widget.Overlay.windowResizeEvent, this.sizeMask, this ) ) {
+			YAHOO.widget.Overlay.windowResizeEvent.subscribe(this.sizeMask, this, true);
+		}
+		if (! YAHOO.util.Config.alreadySubscribed( this.destroyEvent, this.removeMask, this) ) {
+			this.destroyEvent.subscribe(this.removeMask, this, true);
+		}
+	} else {
+		this.beforeShowEvent.unsubscribe(this.showMask, this);
+		this.hideEvent.unsubscribe(this.hideMask, this);
+		YAHOO.widget.Overlay.windowResizeEvent.unsubscribe(this.sizeMask, this);
+		this.destroyEvent.unsubscribe(this.removeMask, this);
+	}
+};
+
+/**
+* Removes the modality mask.
+*/
+YAHOO.widget.Panel.prototype.removeMask = function() {
+	if (this.mask) {
+		if (this.mask.parentNode) {
+			this.mask.parentNode.removeChild(this.mask);
+		}
+		this.mask = null;
+	}
+}
+
+/**
+* The default event handler fired when the "keylisteners" property is changed. 
+*/
+YAHOO.widget.Panel.prototype.configKeyListeners = function(type, args, obj) {
+	var listeners = args[0];
+
+	if (listeners) {
+		if (listeners instanceof Array) {
+			for (var i=0;i<listeners.length;i++) {
+				var listener = listeners[i];
+
+				if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listener.enable, listener)) {
+					this.showEvent.subscribe(listener.enable, listener, true);
+				}
+				if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listener.disable, listener)) {
+					this.hideEvent.subscribe(listener.disable, listener, true);
+					this.destroyEvent.subscribe(listener.disable, listener, true);
+				}
+			}
+		} else {
+			if (! YAHOO.util.Config.alreadySubscribed(this.showEvent, listeners.enable, listeners)) {
+				this.showEvent.subscribe(listeners.enable, listeners, true);
+			}
+			if (! YAHOO.util.Config.alreadySubscribed(this.hideEvent, listeners.disable, listeners)) {
+				this.hideEvent.subscribe(listeners.disable, listeners, true);
+				this.destroyEvent.subscribe(listeners.disable, listeners, true); 
+			}
+		}
+	} 
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+
+/**
+* Builds the wrapping container around the Panel that is used for positioning the shadow and matte underlays. The container element is assigned to a  local instance variable called container, and the element is reinserted inside of it.
+*/
+YAHOO.widget.Panel.prototype.buildWrapper = function() {
+	var elementParent = this.element.parentNode;
+
+	var elementClone = this.element.cloneNode(true);
+	this.innerElement = elementClone;
+	this.innerElement.style.visibility = "inherit";
+
+	YAHOO.util.Dom.addClass(this.innerElement, YAHOO.widget.Panel.CSS_PANEL);
+
+	var wrapper = document.createElement("DIV");
+	wrapper.className = YAHOO.widget.Panel.CSS_PANEL_CONTAINER;
+	wrapper.id = elementClone.id + "_c";
+	
+	wrapper.appendChild(elementClone);
+	
+	if (elementParent) {
+		elementParent.replaceChild(wrapper, this.element);
+	}
+
+	this.element = wrapper;
+
+	// Resynchronize the local field references
+
+	var childNodes = this.innerElement.childNodes;
+	if (childNodes) {
+		for (var i=0;i<childNodes.length;i++) {
+			var child = childNodes[i];
+			switch (child.className) {
+				case YAHOO.widget.Module.CSS_HEADER:
+					this.header = child;
+					break;
+				case YAHOO.widget.Module.CSS_BODY:
+					this.body = child;
+					break;
+				case YAHOO.widget.Module.CSS_FOOTER:
+					this.footer = child;
+					break;
+			}
+		}
+	}
+
+	this.initDefaultConfig(); // We've changed the DOM, so the configuration must be re-tooled to get the DOM references right
+};
+
+/**
+* Adjusts the size of the shadow based on the size of the element.
+*/
+YAHOO.widget.Panel.prototype.sizeUnderlay = function() {
+	if (this.underlay && this.browser != "gecko" && this.browser != "safari") {
+		this.underlay.style.width = this.innerElement.offsetWidth + "px";
+		this.underlay.style.height = this.innerElement.offsetHeight + "px";
+	}
+};
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Panel.prototype.onDomResize = function(e, obj) { 
+	YAHOO.widget.Panel.superclass.onDomResize.call(this, e, obj);
+	var me = this;
+	setTimeout(function() {
+		me.sizeUnderlay();
+	}, 0);
+};
+
+/**
+* Registers the Panel's header for drag & drop capability.
+*/
+YAHOO.widget.Panel.prototype.registerDragDrop = function() {
+	if (this.header) {
+		this.dd = new YAHOO.util.DD(this.element.id, this.id);
+
+		if (! this.header.id) {
+			this.header.id = this.id + "_h";
+		}
+		
+		var me = this;
+
+		this.dd.startDrag = function() {
+
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.addClass(me.element,"drag");
+			}
+
+			if (me.cfg.getProperty("constraintoviewport")) {
+				var offsetHeight = me.element.offsetHeight;
+				var offsetWidth = me.element.offsetWidth;
+
+				var viewPortWidth = YAHOO.util.Dom.getViewportWidth();
+				var viewPortHeight = YAHOO.util.Dom.getViewportHeight();
+
+				var scrollX = window.scrollX || document.documentElement.scrollLeft;
+				var scrollY = window.scrollY || document.documentElement.scrollTop;
+
+				var topConstraint = scrollY + 10;
+				var leftConstraint = scrollX + 10;
+				var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+				var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+				this.minX = leftConstraint;
+				this.maxX = rightConstraint;
+				this.constrainX = true;
+
+				this.minY = topConstraint;
+				this.maxY = bottomConstraint;
+				this.constrainY = true;
+			} else {
+				this.constrainX = false;
+				this.constrainY = false;
+			}
+
+			me.dragEvent.fire("startDrag", arguments);
+		};
+		
+		this.dd.onDrag = function() {
+			me.syncPosition();
+			me.cfg.refireEvent("iframe");
+			if (this.platform == "mac" && this.browser == "gecko") {
+				this.showMacGeckoScrollbars();
+			}
+
+			me.dragEvent.fire("onDrag", arguments);
+		};
+
+		this.dd.endDrag = function() {
+			if (me.browser == "ie") {
+				YAHOO.util.Dom.removeClass(me.element,"drag");
+			}
+
+			me.dragEvent.fire("endDrag", arguments);
+		};
+
+		this.dd.setHandleElId(this.header.id);
+		this.dd.addInvalidHandleType("INPUT");
+		this.dd.addInvalidHandleType("SELECT");
+		this.dd.addInvalidHandleType("TEXTAREA");
+	}
+};
+
+/**
+* Builds the mask that is laid over the document when the Panel is configured to be modal.
+*/
+YAHOO.widget.Panel.prototype.buildMask = function() {
+	if (! this.mask) {
+		this.mask = document.createElement("DIV");
+		this.mask.id = this.id + "_mask";
+		this.mask.className = "mask";
+		this.mask.innerHTML = "&nbsp;";
+
+		var maskClick = function(e, obj) {
+			YAHOO.util.Event.stopEvent(e);
+		};
+
+		var firstChild = document.body.firstChild;
+		if (firstChild)	{
+			document.body.insertBefore(this.mask, document.body.firstChild);
+		} else {
+			document.body.appendChild(this.mask);
+		}
+	}
+};
+
+/**
+* Hides the modality mask.
+*/
+YAHOO.widget.Panel.prototype.hideMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		this.mask.style.display = "none";
+		this.hideMaskEvent.fire();
+		YAHOO.util.Dom.removeClass(document.body, "masked");
+	}
+};
+
+/**
+* Shows the modality mask.
+*/
+YAHOO.widget.Panel.prototype.showMask = function() {
+	if (this.cfg.getProperty("modal") && this.mask) {
+		YAHOO.util.Dom.addClass(document.body, "masked");
+		this.sizeMask();
+		this.mask.style.display = "block";
+		this.showMaskEvent.fire();
+	}
+};
+
+/**
+* Sets the size of the modality mask to cover the entire scrollable area of the document
+*/
+YAHOO.widget.Panel.prototype.sizeMask = function() {
+	if (this.mask) {
+		this.mask.style.height = YAHOO.util.Dom.getDocumentHeight()+"px";
+		this.mask.style.width = YAHOO.util.Dom.getDocumentWidth()+"px";
+	}
+};
+
+/**
+* The default event handler fired when the "height" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configHeight = function(type, args, obj) {
+	var height = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "height", height);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* The default event handler fired when the "width" property is changed.
+*/
+YAHOO.widget.Panel.prototype.configWidth = function(type, args, obj) {
+	var width = args[0];
+	var el = this.innerElement;
+	YAHOO.util.Dom.setStyle(el, "width", width);
+	this.cfg.refireEvent("underlay");
+	this.cfg.refireEvent("iframe");
+};
+
+/**
+* Renders the Panel by inserting the elements that are not already in the main Panel into their correct places. Optionally appends the Panel to the specified node prior to the render's execution. NOTE: For Panels without existing markup, the appendToNode argument is REQUIRED. If this argument is ommitted and the current element is not present in the document, the function will return false, indicating that the render was a failure.
+* @param {string}	appendToNode	The element id to which the Module should be appended to prior to rendering <em>OR</em>
+* @param {Element}	appendToNode	The element to which the Module should be appended to prior to rendering	
+* @return {boolean} Success or failure of the render
+*/
+YAHOO.widget.Panel.prototype.render = function(appendToNode) {
+	return YAHOO.widget.Panel.superclass.render.call(this, appendToNode, this.innerElement);
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Panel.prototype.toString = function() {
+	return "Panel " + this.id;
+};
+
+/**
+* Dialog is an implementation of Panel that can be used to submit form data. Built-in functionality for buttons with event handlers is included, and button sets can be build dynamically, or the preincluded ones for Submit/Cancel and OK/Cancel can be utilized. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Panel
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.Dialog = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.Dialog, YAHOO.widget.Panel);
+
+/**
+* Constant representing the default CSS class used for a Dialog
+* @type string
+* @final
+*/
+YAHOO.widget.Dialog.CSS_DIALOG = "dialog";
+
+
+/**
+* CustomEvent fired prior to submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.beforeSubmitEvent = null;
+
+/**
+* CustomEvent fired after submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.submitEvent = null;
+
+/**
+* CustomEvent fired prior to manual submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.manualSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to asynchronous submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.asyncSubmitEvent = null;
+
+/**
+* CustomEvent fired prior to form-based submission
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.formSubmitEvent = null;
+
+/**
+* CustomEvent fired after cancel
+* @type YAHOO.util.CustomEvent
+*/
+YAHOO.widget.Dialog.prototype.cancelEvent = null;
+
+
+/**
+* Initializes the class's configurable properties which can be changed using the Dialog's Config object (cfg).
+*/
+YAHOO.widget.Dialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.Dialog.superclass.initDefaultConfig.call(this);
+
+	/**
+	* The internally maintained callback object for use with the Connection utility
+	* @type object
+	* @private
+	*/
+	this.callback = {
+		success : null,
+		failure : null,
+		argument: null
+	};
+
+	this.doSubmit = function() {
+		var method = this.cfg.getProperty("postmethod");
+		switch (method) {
+			case "async":
+				YAHOO.util.Connect.setForm(this.form);
+				var cObj = YAHOO.util.Connect.asyncRequest('POST', this.form.action, this.callback);
+				this.asyncSubmitEvent.fire();
+				break;
+			case "form":
+				this.form.submit();
+				this.formSubmitEvent.fire();
+				break;
+			case "none":
+			case "manual":
+				this.manualSubmitEvent.fire();
+				break;
+		}
+	};
+
+	// Add form dialog config properties //
+	this.cfg.addProperty("postmethod", { value:"async", validator:function(val) { 
+													if (val != "form" && val != "async" && val != "none" && val != "manual") {
+														return false;
+													} else {
+														return true;
+													}
+												} });
+
+	this.cfg.addProperty("buttons",		{ value:"none",	handler:this.configButtons } );
+};
+
+/**
+* Initializes the custom events for Dialog which are fired automatically at appropriate times by the Dialog class.
+*/
+YAHOO.widget.Dialog.prototype.initEvents = function() {
+	YAHOO.widget.Dialog.superclass.initEvents.call(this);
+	
+	this.beforeSubmitEvent	= new YAHOO.util.CustomEvent("beforeSubmit");
+	this.submitEvent		= new YAHOO.util.CustomEvent("submit");
+
+	this.manualSubmitEvent	= new YAHOO.util.CustomEvent("manualSubmit");
+	this.asyncSubmitEvent	= new YAHOO.util.CustomEvent("asyncSubmit");
+	this.formSubmitEvent	= new YAHOO.util.CustomEvent("formSubmit");
+
+	this.cancelEvent		= new YAHOO.util.CustomEvent("cancel");
+};
+
+/**
+* The Dialog initialization method, which is executed for Dialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the Dialog <em>OR</em>
+* @param {Element}	el	The element representing the Dialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this Dialog. See configuration documentation for more details.
+*/
+YAHOO.widget.Dialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.Dialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+	
+	this.beforeInitEvent.fire(YAHOO.widget.Dialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.Dialog.CSS_DIALOG);
+
+	this.cfg.setProperty("visible", false);
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.renderEvent.subscribe(this.registerForm, this, true);
+
+	this.showEvent.subscribe(this.focusFirst, this, true);
+	this.beforeHideEvent.subscribe(this.blurButtons, this, true);
+
+	this.beforeRenderEvent.subscribe(function() {
+		var buttonCfg = this.cfg.getProperty("buttons");
+		if (buttonCfg && buttonCfg != "none") {
+			if (! this.footer) {
+				this.setFooter("");
+			}
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.Dialog);
+};
+
+/**
+* Prepares the Dialog's internal FORM object, creating one if one is not currently present.
+*/
+YAHOO.widget.Dialog.prototype.registerForm = function() {
+	var form = this.element.getElementsByTagName("FORM")[0];
+
+	if (! form) {
+		var formHTML = "<form name=\"frm_" + this.id + "\" action=\"\"></form>";
+		this.body.innerHTML += formHTML;
+		form = this.element.getElementsByTagName("FORM")[0];
+	}
+
+	this.firstFormElement = function() {
+		for (var f=0;f<form.elements.length;f++ ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.lastFormElement = function() {
+		for (var f=form.elements.length-1;f>=0;f-- ) {
+			var el = form.elements[f];
+			if (el.focus) {
+				if (el.type && el.type != "hidden") {
+					return el;
+				}
+			}
+		}
+		return null;
+	}();
+
+	this.form = form;
+
+	if (this.cfg.getProperty("modal") && this.form) {
+
+		var me = this;
+		
+		var firstElement = this.firstFormElement || this.firstButton;
+		if (firstElement) {
+			this.preventBackTab = new YAHOO.util.KeyListener(firstElement, { shift:true, keys:9 }, {fn:me.focusLast, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventBackTab.enable, this.preventBackTab, true);
+			this.hideEvent.subscribe(this.preventBackTab.disable, this.preventBackTab, true);
+		}
+
+		var lastElement = this.lastButton || this.lastFormElement;
+		if (lastElement) {
+			this.preventTabOut = new YAHOO.util.KeyListener(lastElement, { shift:false, keys:9 }, {fn:me.focusFirst, scope:me, correctScope:true} );
+			this.showEvent.subscribe(this.preventTabOut.enable, this.preventTabOut, true);
+			this.hideEvent.subscribe(this.preventTabOut.disable, this.preventTabOut, true);
+		}
+	}
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* The default event handler for the "buttons" configuration property
+*/
+YAHOO.widget.Dialog.prototype.configButtons = function(type, args, obj) {
+	var buttons = args[0];
+	if (buttons != "none") {
+		this.buttonSpan = null;
+		this.buttonSpan = document.createElement("SPAN");
+		this.buttonSpan.className = "button-group";
+
+		for (var b=0;b<buttons.length;b++) {
+			var button = buttons[b];
+
+			var htmlButton = document.createElement("BUTTON");
+			htmlButton.setAttribute("type", "button");
+
+			if (button.isDefault) {
+				htmlButton.className = "default";
+				this.defaultHtmlButton = htmlButton;
+			}
+
+			htmlButton.appendChild(document.createTextNode(button.text));
+			YAHOO.util.Event.addListener(htmlButton, "click", button.handler, this, true);
+
+			this.buttonSpan.appendChild(htmlButton);		
+			button.htmlButton = htmlButton;
+
+			if (b === 0) {
+				this.firstButton = button.htmlButton;
+			}
+
+			if (b == (buttons.length-1)) {
+				this.lastButton = button.htmlButton;
+			}
+
+		}
+
+		this.setFooter(this.buttonSpan);
+
+		this.cfg.refireEvent("iframe");
+		this.cfg.refireEvent("underlay");
+	} else { // Do cleanup
+		if (this.buttonSpan) {
+			if (this.buttonSpan.parentNode) {
+				this.buttonSpan.parentNode.removeChild(this.buttonSpan);
+			}
+
+			this.buttonSpan = null;
+			this.firstButton = null;
+			this.lastButton = null;
+			this.defaultHtmlButton = null;
+		}
+	}
+};
+
+/**
+* The default handler fired when the "success" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnSuccess = function(type,args,obj){};
+
+/**
+* The default handler fired when the "failure" property is changed. Used for asynchronous submission only.
+*/ 
+YAHOO.widget.Dialog.prototype.configOnFailure = function(type,args,obj){};
+
+/**
+* Executes a submission of the form based on the value of the postmethod property.
+*/
+YAHOO.widget.Dialog.prototype.doSubmit = function() {};
+
+/**
+* The default event handler used to focus the first field of the form when the Dialog is shown.
+*/
+YAHOO.widget.Dialog.prototype.focusFirst = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	if (this.firstFormElement) {
+		this.firstFormElement.focus();
+	} else {
+		this.focusDefaultButton();
+	}
+};
+
+/**
+* Sets the focus to the last button in the button or form element in the Dialog
+*/
+YAHOO.widget.Dialog.prototype.focusLast = function(type,args,obj) {
+	if (args) {
+		var e = args[1];
+		if (e) {
+			YAHOO.util.Event.stopEvent(e);
+		}
+	}
+
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		this.focusLastButton();
+	} else {
+		if (this.lastFormElement) {
+			this.lastFormElement.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the button that is designated as the default. By default, his handler is executed when the show event is fired.
+*/
+YAHOO.widget.Dialog.prototype.focusDefaultButton = function() {
+	if (this.defaultHtmlButton) {
+		this.defaultHtmlButton.focus();
+	}
+};
+
+/**
+* Blurs all the html buttons
+*/
+YAHOO.widget.Dialog.prototype.blurButtons = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.blur();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusFirstButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[0].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+/**
+* Sets the focus to the first button in the button list
+*/
+YAHOO.widget.Dialog.prototype.focusLastButton = function() {
+	var buttons = this.cfg.getProperty("buttons");
+	if (buttons && buttons instanceof Array) {
+		var html = buttons[buttons.length-1].htmlButton;
+		if (html) {
+			html.focus();
+		}
+	}
+};
+
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Built-in function hook for writing a validation function that will be checked for a "true" value prior to a submit. This function, as implemented by default, always returns true, so it should be overridden if validation is necessary.
+*/
+YAHOO.widget.Dialog.prototype.validate = function() {
+	return true;
+};
+
+/**
+* Executes a submit of the Dialog followed by a hide, if validation is successful.
+*/
+YAHOO.widget.Dialog.prototype.submit = function() {
+	if (this.validate()) {
+		this.beforeSubmitEvent.fire();
+		this.doSubmit();
+		this.submitEvent.fire();
+		this.hide();
+		return true;
+	} else {
+		return false;
+	}
+};
+
+/**
+* Executes the cancel of the Dialog followed by a hide.
+*/
+YAHOO.widget.Dialog.prototype.cancel = function() {
+	this.cancelEvent.fire();
+	this.hide();	
+};
+
+/**
+* Returns a JSON-compatible data structure representing the data currently contained in the form.
+* @return {object} A JSON object reprsenting the data of the current form.
+*/
+YAHOO.widget.Dialog.prototype.getData = function() {
+	var form = this.form;
+	var data = {};
+
+	if (form) {
+		for (var i in this.form) {
+			var formItem = form[i];
+			if (formItem) {
+				if (formItem.tagName) { // Got a single form item
+					switch (formItem.tagName) {
+						case "INPUT":
+							switch (formItem.type) {
+								case "checkbox": 
+									data[i] = formItem.checked;
+									break;
+								case "textbox":
+								case "text":
+								case "hidden":
+									data[i] = formItem.value;
+									break;
+							}
+							break;
+						case "TEXTAREA":
+							data[i] = formItem.value;
+							break;
+						case "SELECT":
+							var val = [];
+							for (var x=0;x<formItem.options.length;x++)	{
+								var option = formItem.options[x];
+								if (option.selected) {
+									var selval = option.value;
+									if (! selval || selval === "") {
+										selval = option.text;
+									}
+									val[val.length] = selval;
+								}
+							}
+							data[i] = val;
+							break;
+					}
+				} else if (formItem[0] && formItem[0].tagName) { // this is an array of form items
+					switch (formItem[0].tagName) {
+						case "INPUT" :
+							switch (formItem[0].type) {
+								case "radio":
+									for (var r=0; r<formItem.length; r++) {
+										var radio = formItem[r];
+										if (radio.checked) {
+											data[radio.name] = radio.value;
+											break;
+										}
+									}
+									break;
+								case "checkbox":
+									var cbArray = [];
+									for (var c=0; c<formItem.length; c++) {
+										var check = formItem[c];
+										if (check.checked) {
+											cbArray[cbArray.length] = check.value;
+										}
+									}
+									data[formItem[0].name] = cbArray;
+									break;
+							}
+					}
+				}
+			}
+		}	
+	}
+	return data;
+};
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.Dialog.prototype.toString = function() {
+	return "Dialog " + this.id;
+};
+
+/**
+* SimpleDialog is a simple implementation of Dialog that can be used to submit a single value. Forms can be processed in 3 ways -- via an asynchronous Connection utility call, a simple form POST or GET, or manually.
+* @extends YAHOO.widget.Dialog
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+* @constructor
+*/
+YAHOO.widget.SimpleDialog = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.constructor.call(this, el, userConfig);
+};
+
+YAHOO.extend(YAHOO.widget.SimpleDialog, YAHOO.widget.Dialog);
+
+/**
+* Constant for the standard network icon for a blocking action
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_BLOCK = "nt/ic/ut/bsc/blck16_1.gif";
+
+/**
+* Constant for the standard network icon for alarm
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_ALARM = "nt/ic/ut/bsc/alrt16_1.gif";
+
+/**
+* Constant for the standard network icon for help
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_HELP  = "nt/ic/ut/bsc/hlp16_1.gif";
+
+/**
+* Constant for the standard network icon for info
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_INFO  = "nt/ic/ut/bsc/info16_1.gif";
+
+/**
+* Constant for the standard network icon for warn
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_WARN  = "nt/ic/ut/bsc/warn16_1.gif";
+
+/**
+* Constant for the standard network icon for a tip
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.ICON_TIP   = "nt/ic/ut/bsc/tip16_1.gif";
+
+/**
+* Constant representing the default CSS class used for a SimpleDialog
+* @type string
+* @final
+*/
+YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG = "simple-dialog";
+
+/**
+* Initializes the class's configurable properties which can be changed using the SimpleDialog's Config object (cfg).
+*/
+YAHOO.widget.SimpleDialog.prototype.initDefaultConfig = function() {
+	YAHOO.widget.SimpleDialog.superclass.initDefaultConfig.call(this);
+
+	// Add dialog config properties //
+	this.cfg.addProperty("icon",	{ value:"none",	handler:this.configIcon, suppressEvent:true } );
+	this.cfg.addProperty("text",	{ value:"", handler:this.configText, suppressEvent:true, supercedes:["icon"] } );
+};
+
+
+/**
+* The SimpleDialog initialization method, which is executed for SimpleDialog and all of its subclasses. This method is automatically called by the constructor, and  sets up all DOM references for pre-existing markup, and creates required markup if it is not already present.
+* @param {string}	el	The element ID representing the SimpleDialog <em>OR</em>
+* @param {Element}	el	The element representing the SimpleDialog
+* @param {object}	userConfig	The configuration object literal containing the configuration that should be set for this SimpleDialog. See configuration documentation for more details.
+*/
+YAHOO.widget.SimpleDialog.prototype.init = function(el, userConfig) {
+	YAHOO.widget.SimpleDialog.superclass.init.call(this, el/*, userConfig*/);  // Note that we don't pass the user config in here yet because we only want it executed once, at the lowest subclass level
+
+	this.beforeInitEvent.fire(YAHOO.widget.SimpleDialog);
+
+	YAHOO.util.Dom.addClass(this.element, YAHOO.widget.SimpleDialog.CSS_SIMPLEDIALOG);
+
+	this.cfg.queueProperty("postmethod", "manual");
+
+	if (userConfig) {
+		this.cfg.applyConfig(userConfig, true);
+	}
+
+	this.beforeRenderEvent.subscribe(function() {
+		if (! this.body) {
+			this.setBody("");
+		}
+	}, this, true);
+
+	this.initEvent.fire(YAHOO.widget.SimpleDialog);
+
+};
+/**
+* Prepares the SimpleDialog's internal FORM object, creating one if one is not currently present, and adding the value hidden field.
+*/
+YAHOO.widget.SimpleDialog.prototype.registerForm = function() {
+	YAHOO.widget.SimpleDialog.superclass.registerForm.call(this);
+	this.form.innerHTML += "<input type=\"hidden\" name=\"" + this.id + "\" value=\"\"/>";
+};
+
+// BEGIN BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Fired when the "icon" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configIcon = function(type,args,obj) {
+	var icon = args[0];
+	if (icon && icon != "none") {
+		var iconHTML = "<img src=\"" + this.imageRoot + icon + "\" class=\"icon\" />";
+		this.body.innerHTML = iconHTML + this.body.innerHTML;
+	}
+};
+
+/**
+* Fired when the "text" property is set.
+*/
+YAHOO.widget.SimpleDialog.prototype.configText = function(type,args,obj) {
+	var text = args[0];
+	if (text) {
+		this.setBody(text);
+		this.cfg.refireEvent("icon");
+	}
+};
+// END BUILT-IN PROPERTY EVENT HANDLERS //
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.SimpleDialog.prototype.toString = function() {
+	return "SimpleDialog " + this.id;
+};
+
+/**
+* ContainerEffect encapsulates animation transitions that are executed when an Overlay is shown or hidden.
+* @param {Overlay}	overlay		The Overlay that the animation should be associated with
+* @param {object}	attrIn		The object literal representing the animation arguments to be used for the animate-in transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {object}	attrOut		The object literal representing the animation arguments to be used for the animate-out transition. The arguments for this literal are: attributes(object, see YAHOO.util.Anim for description), duration(float), and method(i.e. YAHOO.util.Easing.easeIn).
+* @param {Element}	targetElement	Optional. The target element that should be animated during the transition. Defaults to overlay.element.
+* @param {class}	Optional. The animation class to instantiate. Defaults to YAHOO.util.Anim. Other options include YAHOO.util.Motion.
+* @constructor
+*/
+YAHOO.widget.ContainerEffect = function(overlay, attrIn, attrOut, targetElement, animClass) {
+	if (! animClass) {
+		animClass = YAHOO.util.Anim;
+	}
+
+	/**
+	* The overlay to animate
+	*/
+	this.overlay = overlay;
+	/**
+	* The animation attributes to use when transitioning into view
+	*/
+	this.attrIn = attrIn;
+	/**
+	* The animation attributes to use when transitioning out of view
+	*/
+	this.attrOut = attrOut;
+	/**
+	* The target element to be animated
+	*/
+	this.targetElement = targetElement || overlay.element;
+	/**
+	* The animation class to use for animating the overlay
+	*/
+	this.animClass = animClass;
+};
+
+/**
+* Initializes the animation classes and events.
+*/
+YAHOO.widget.ContainerEffect.prototype.init = function() {
+	this.beforeAnimateInEvent = new YAHOO.util.CustomEvent("beforeAnimateIn");
+	this.beforeAnimateOutEvent = new YAHOO.util.CustomEvent("beforeAnimateOut");
+
+	this.animateInCompleteEvent = new YAHOO.util.CustomEvent("animateInComplete");
+	this.animateOutCompleteEvent = new YAHOO.util.CustomEvent("animateOutComplete");
+
+	this.animIn = new this.animClass(this.targetElement, this.attrIn.attributes, this.attrIn.duration, this.attrIn.method);
+	this.animIn.onStart.subscribe(this.handleStartAnimateIn, this);
+	this.animIn.onTween.subscribe(this.handleTweenAnimateIn, this);
+	this.animIn.onComplete.subscribe(this.handleCompleteAnimateIn, this);
+
+	this.animOut = new this.animClass(this.targetElement, this.attrOut.attributes, this.attrOut.duration, this.attrOut.method);
+	this.animOut.onStart.subscribe(this.handleStartAnimateOut, this);
+	this.animOut.onTween.subscribe(this.handleTweenAnimateOut, this);
+	this.animOut.onComplete.subscribe(this.handleCompleteAnimateOut, this);
+};
+
+/**
+* Triggers the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateIn = function() {
+	this.beforeAnimateInEvent.fire();
+	this.animIn.animate();
+};
+
+/**
+* Triggers the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.animateOut = function() {
+	this.beforeAnimateOutEvent.fire();
+	this.animOut.animate();
+};
+
+/**
+* The default onStart handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateIn = function(type, args, obj) { };
+/**
+* The default onTween handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateIn = function(type, args, obj) { };
+/**
+* The default onComplete handler for the in-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateIn = function(type, args, obj) { };
+
+/**
+* The default onStart handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleStartAnimateOut = function(type, args, obj) { };
+/**
+* The default onTween handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleTweenAnimateOut = function(type, args, obj) { };
+/**
+* The default onComplete handler for the out-animation.
+*/
+YAHOO.widget.ContainerEffect.prototype.handleCompleteAnimateOut = function(type, args, obj) { };
+
+/**
+* Returns a string representation of the object.
+* @type string
+*/ 
+YAHOO.widget.ContainerEffect.prototype.toString = function() {
+	var output = "ContainerEffect";
+	if (this.overlay) {
+		output += " [" + this.overlay.toString() + "]";
+	}
+	return output;
+};
+
+/**
+* A pre-configured ContainerEffect instance that can be used for fading an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.FADE = function(overlay, dur) {
+	var fade = new YAHOO.widget.ContainerEffect(overlay, { attributes:{opacity: {from:0, to:1}}, duration:dur, method:YAHOO.util.Easing.easeIn }, { attributes:{opacity: {to:0}}, duration:dur, method:YAHOO.util.Easing.easeOut}, overlay.element );
+
+	fade.handleStartAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+		
+		if (! obj.overlay.underlay) {
+			obj.overlay.cfg.refireEvent("underlay");
+		}
+
+		if (obj.overlay.underlay) {
+			obj.initialUnderlayOpacity = YAHOO.util.Dom.getStyle(obj.overlay.underlay, "opacity");
+			obj.overlay.underlay.style.filter = null;
+		}
+
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible"); 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 0);
+	};
+
+	fade.handleCompleteAnimateIn = function(type,args,obj) {
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}			
+		
+		if (obj.overlay.underlay) {
+			YAHOO.util.Dom.setStyle(obj.overlay.underlay, "opacity", obj.initialUnderlayOpacity);
+		}
+
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	fade.handleStartAnimateOut = function(type, args, obj) {
+		YAHOO.util.Dom.addClass(obj.overlay.element, "hide-select");
+
+		if (obj.overlay.underlay) {
+			obj.overlay.underlay.style.filter = null;
+		}
+	};
+
+	fade.handleCompleteAnimateOut =  function(type, args, obj) { 
+		YAHOO.util.Dom.removeClass(obj.overlay.element, "hide-select");
+		if (obj.overlay.element.style.filter) {
+			obj.overlay.element.style.filter = null;
+		}				
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "opacity", 1); 
+
+		obj.overlay.cfg.refireEvent("iframe");
+
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	fade.init();
+	return fade;
+};
+
+
+/**
+* A pre-configured ContainerEffect instance that can be used for sliding an overlay in and out.
+* @param {Overlay}	The Overlay object to animate
+* @param {float}	The duration of the animation
+* @type ContainerEffect
+*/
+YAHOO.widget.ContainerEffect.SLIDE = function(overlay, dur) {
+	var x = overlay.cfg.getProperty("x") || YAHOO.util.Dom.getX(overlay.element);
+	var y = overlay.cfg.getProperty("y") || YAHOO.util.Dom.getY(overlay.element);
+
+	var clientWidth = YAHOO.util.Dom.getClientWidth();
+	var offsetWidth = overlay.element.offsetWidth;
+
+	var slide = new YAHOO.widget.ContainerEffect(overlay, { 
+															attributes:{ points: { to:[x, y] } }, 
+															duration:dur, 
+															method:YAHOO.util.Easing.easeIn 
+														}, 
+														{ 
+															attributes:{ points: { to:[(clientWidth+25), y] } },
+															duration:dur, 
+															method:YAHOO.util.Easing.easeOut
+														},
+														overlay.element,
+														YAHOO.util.Motion);
+												
+
+	slide.handleStartAnimateIn = function(type,args,obj) {
+		obj.overlay.element.style.left = (-25-offsetWidth) + "px";
+		obj.overlay.element.style.top  = y + "px";
+	};
+	
+	slide.handleTweenAnimateIn = function(type, args, obj) {
+
+
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var currentX = pos[0];
+		var currentY = pos[1];
+
+		if (YAHOO.util.Dom.getStyle(obj.overlay.element, "visibility") == "hidden" && currentX < x) {
+			YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "visible");
+		}
+
+		obj.overlay.cfg.setProperty("xy", [currentX,currentY], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+	
+	slide.handleCompleteAnimateIn = function(type, args, obj) {
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.startX = x;
+		obj.startY = y;
+		obj.overlay.cfg.refireEvent("iframe");
+		obj.animateInCompleteEvent.fire();
+	};
+
+	slide.handleStartAnimateOut = function(type, args, obj) {
+		var clientWidth = YAHOO.util.Dom.getViewportWidth();
+		
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		var currentTo = obj.animOut.attributes.points.to;
+		obj.animOut.attributes.points.to = [(clientWidth+25), y];
+	};
+
+	slide.handleTweenAnimateOut = function(type, args, obj) {
+		var pos = YAHOO.util.Dom.getXY(obj.overlay.element);
+
+		var x = pos[0];
+		var y = pos[1];
+
+		obj.overlay.cfg.setProperty("xy", [x,y], true);
+		obj.overlay.cfg.refireEvent("iframe");
+	};
+
+	slide.handleCompleteAnimateOut = function(type, args, obj) { 
+		YAHOO.util.Dom.setStyle(obj.overlay.element, "visibility", "hidden");		
+		var offsetWidth = obj.overlay.element.offsetWidth;
+
+		obj.overlay.cfg.setProperty("xy", [x,y]);
+		obj.animateOutCompleteEvent.fire();
+	};	
+
+	slide.init();
+	return slide;
+};
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dom.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dom.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,899 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.3
+*/
+
+/**
+ * @class Provides helper methods for DOM elements.
+ */
+YAHOO.util.Dom = function() {
+   var ua = navigator.userAgent.toLowerCase();
+   var isOpera = (ua.indexOf('opera') > -1);
+   var isSafari = (ua.indexOf('safari') > -1);
+   var isIE = (window.ActiveXObject);
+
+   var id_counter = 0;
+   var util = YAHOO.util; // internal shorthand
+   var property_cache = {}; // to cache case conversion for set/getStyle
+
+   var toCamel = function(property) {
+      var convert = function(prop) {
+         var test = /(-[a-z])/i.exec(prop);
+         return prop.replace(RegExp.$1, RegExp.$1.substr(1).toUpperCase());
+      };
+
+      while(property.indexOf('-') > -1) {
+         property = convert(property);
+      }
+
+      return property;
+      //return property.replace(/-([a-z])/gi, function(m0, m1) {return m1.toUpperCase()}) // cant use function as 2nd arg yet due to safari bug
+   };
+
+   var toHyphen = function(property) {
+      if (property.indexOf('-') > -1) { // assume hyphen
+         return property;
+      }
+
+      var converted = '';
+      for (var i = 0, len = property.length;i < len; ++i) {
+         if (property.charAt(i) == property.charAt(i).toUpperCase()) {
+            converted = converted + '-' + property.charAt(i).toLowerCase();
+         } else {
+            converted = converted + property.charAt(i);
+         }
+      }
+
+      return converted;
+      //return property.replace(/([a-z])([A-Z]+)/g, function(m0, m1, m2) {return (m1 + '-' + m2.toLowerCase())});
+   };
+
+   // improve performance by only looking up once
+   var cacheConvertedProperties = function(property) {
+      property_cache[property] = {
+         camel: toCamel(property),
+         hyphen: toHyphen(property)
+      };
+   };
+
+   return {
+      /**
+       * Returns an HTMLElement reference
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID for getting a DOM reference, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {HTMLElement/Array} A DOM reference to an HTML element or an array of HTMLElements.
+       */
+      get: function(el) {
+         if (!el) { return null; } // nothing to work with
+
+         if (typeof el != 'string' && !(el instanceof Array) ) { // assuming HTMLElement or HTMLCollection, so pass back as is
+            return el;
+         }
+
+         if (typeof el == 'string') { // ID
+            return document.getElementById(el);
+         }
+         else { // array of ID's and/or elements
+            var collection = [];
+            for (var i = 0, len = el.length; i < len; ++i) {
+               collection[collection.length] = util.Dom.get(el[i]);
+            }
+
+            return collection;
+         }
+
+         return null; // safety, should never happen
+      },
+
+      /**
+       * Normalizes currentStyle and ComputedStyle.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property whose value is returned.
+       * @return {String/Array} The current value of the style property for the element(s).
+       */
+      getStyle: function(el, property) {
+         var f = function(el) {
+            var value = null;
+            var dv = document.defaultView;
+
+            if (!property_cache[property]) {
+               cacheConvertedProperties(property);
+            }
+
+            var camel = property_cache[property]['camel'];
+            var hyphen = property_cache[property]['hyphen'];
+
+            if (property == 'opacity' && el.filters) {// IE opacity
+               value = 1;
+               try {
+                  value = el.filters.item('DXImageTransform.Microsoft.Alpha').opacity / 100;
+               } catch(e) {
+                  try {
+                     value = el.filters.item('alpha').opacity / 100;
+                  } catch(e) {}
+               }
+            } else if (el.style[camel]) { // camelCase for valid styles
+               value = el.style[camel];
+            }
+            else if (isIE && el.currentStyle && el.currentStyle[camel]) { // camelCase for currentStyle; isIE to workaround broken Opera 9 currentStyle
+               value = el.currentStyle[camel];
+            }
+            else if ( dv && dv.getComputedStyle ) { // hyphen-case for computedStyle
+               var computed = dv.getComputedStyle(el, '');
+
+               if (computed && computed.getPropertyValue(hyphen)) {
+                  value = computed.getPropertyValue(hyphen);
+               }
+            }
+
+            return value;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Wrapper for setting style properties of HTMLElements.  Normalizes "opacity" across modern browsers.
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {String} property The style property to be set.
+       * @param {String} val The value to apply to the given property.
+       */
+      setStyle: function(el, property, val) {
+         if (!property_cache[property]) {
+            cacheConvertedProperties(property);
+         }
+
+         var camel = property_cache[property]['camel'];
+
+         var f = function(el) {
+            switch(property) {
+               case 'opacity' :
+                  if (isIE && typeof el.style.filter == 'string') { // in case not appended
+                     el.style.filter = 'alpha(opacity=' + val * 100 + ')';
+
+                     if (!el.currentStyle || !el.currentStyle.hasLayout) {
+                        el.style.zoom = 1; // when no layout or cant tell
+                     }
+                  } else {
+                     el.style.opacity = val;
+                     el.style['-moz-opacity'] = val;
+                     el.style['-khtml-opacity'] = val;
+                  }
+
+                  break;
+               default :
+                  el.style[camel] = val;
+            }
+
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       @ return {Array} The XY position of the element(s)
+       */
+      getXY: function(el) {
+         var f = function(el) {
+
+         // has to be part of document to have pageXY
+            if (el.offsetParent === null || this.getStyle(el, 'display') == 'none') {
+               return false;
+            }
+
+            var parentNode = null;
+            var pos = [];
+            var box;
+
+            if (el.getBoundingClientRect) { // IE
+               box = el.getBoundingClientRect();
+               var doc = document;
+               if ( !this.inDocument(el) && parent.document != document) {// might be in a frame, need to get its scroll
+                  doc = parent.document;
+
+                  if ( !this.isAncestor(doc.documentElement, el) ) {
+                     return false;
+                  }
+
+               }
+
+               var scrollTop = Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);
+               var scrollLeft = Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);
+
+               return [box.left + scrollLeft, box.top + scrollTop];
+            }
+            else { // safari, opera, & gecko
+               pos = [el.offsetLeft, el.offsetTop];
+               parentNode = el.offsetParent;
+               if (parentNode != el) {
+                  while (parentNode) {
+                     pos[0] += parentNode.offsetLeft;
+                     pos[1] += parentNode.offsetTop;
+                     parentNode = parentNode.offsetParent;
+                  }
+               }
+               if (isSafari && this.getStyle(el, 'position') == 'absolute' ) { // safari doubles in some cases
+                  pos[0] -= document.body.offsetLeft;
+                  pos[1] -= document.body.offsetTop;
+               }
+            }
+
+            if (el.parentNode) { parentNode = el.parentNode; }
+            else { parentNode = null; }
+
+            while (parentNode && parentNode.tagName.toUpperCase() != 'BODY' && parentNode.tagName.toUpperCase() != 'HTML')
+            { // account for any scrolled ancestors
+               if (util.Dom.getStyle(parentNode, 'display') != 'inline') { // work around opera inline scrollLeft/Top bug
+                  pos[0] -= parentNode.scrollLeft;
+                  pos[1] -= parentNode.scrollTop;
+               }
+
+               if (parentNode.parentNode) { parentNode = parentNode.parentNode; }
+               else { parentNode = null; }
+            }
+
+
+            return pos;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current X position of an element based on page coordinates.  The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The X position of the element(s)
+       */
+      getX: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[0];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Gets the current Y position of an element based on page coordinates.  Element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @return {String/Array} The Y position of the element(s)
+       */
+      getY: function(el) {
+         var f = function(el) {
+            return util.Dom.getXY(el)[1];
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element(s) must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements
+       * @param {Array} pos Contains X & Y values for new position (coordinates are page-based)
+       * @param {Boolean} noRetry By default we try and set the position a second time if the first fails
+       */
+      setXY: function(el, pos, noRetry) {
+         var f = function(el) {
+            var style_pos = this.getStyle(el, 'position');
+            if (style_pos == 'static') { // default to relative
+               this.setStyle(el, 'position', 'relative');
+               style_pos = 'relative';
+            }
+
+            var pageXY = this.getXY(el);
+            if (pageXY === false) { // has to be part of doc to have pageXY
+               return false;
+            }
+
+            var delta = [ // assuming pixels; if not we will have to retry
+               parseInt( this.getStyle(el, 'left'), 10 ),
+               parseInt( this.getStyle(el, 'top'), 10 )
+            ];
+
+            if ( isNaN(delta[0]) ) {// in case of 'auto'
+               delta[0] = (style_pos == 'relative') ? 0 : el.offsetLeft;
+            }
+            if ( isNaN(delta[1]) ) { // in case of 'auto'
+               delta[1] = (style_pos == 'relative') ? 0 : el.offsetTop;
+            }
+
+            if (pos[0] !== null) { el.style.left = pos[0] - pageXY[0] + delta[0] + 'px'; }
+            if (pos[1] !== null) { el.style.top = pos[1] - pageXY[1] + delta[1] + 'px'; }
+
+            var newXY = this.getXY(el);
+
+            // if retry is true, try one more time if we miss
+            if (!noRetry && (newXY[0] != pos[0] || newXY[1] != pos[1]) ) {
+               this.setXY(el, pos, true);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Set the X position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the X coordinate for the element(s).
+       */
+      setX: function(el, x) {
+         util.Dom.setXY(el, [x, null]);
+      },
+
+      /**
+       * Set the Y position of an html element in page coordinates, regardless of how the element is positioned.
+       * The element must be part of the DOM tree to have page coordinates (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @param {Int} x to use as the Y coordinate for the element(s).
+       */
+      setY: function(el, y) {
+         util.Dom.setXY(el, [null, y]);
+      },
+
+      /**
+       * Returns the region position of the given element.
+       * The element must be part of the DOM tree to have a region (display:none or elements not appended return false).
+       * @param {String/HTMLElement/Array} el Accepts a string to use as an ID, an actual DOM reference, or an Array of IDs and/or HTMLElements.
+       * @return {Region/Array} A Region or array of Region instances containing "top, left, bottom, right" member data.
+       */
+      getRegion: function(el) {
+         var f = function(el) {
+            var region = new YAHOO.util.Region.getRegion(el);
+            return region;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns the width of the client (viewport).
+       * Now using getViewportWidth.  This interface left intact for back compat.
+       * @return {Int} The width of the viewable area of the page.
+       */
+      getClientWidth: function() {
+         return util.Dom.getViewportWidth();
+      },
+
+      /**
+       * Returns the height of the client (viewport).
+       * Now using getViewportHeight.  This interface left intact for back compat.
+       * @return {Int} The height of the viewable area of the page.
+       */
+      getClientHeight: function() {
+         return util.Dom.getViewportHeight();
+      },
+
+      /**
+       * Returns a array of HTMLElements with the given class
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {String} className The class name to match against
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       * @return {Array} An array of elements that have the given class name
+       */
+      getElementsByClassName: function(className, tag, root) {
+         var method = function(el) { return util.Dom.hasClass(el, className) };
+         return util.Dom.getElementsBy(method, tag, root);
+      },
+
+      /**
+       * Determines whether an HTMLElement has the given className
+       * @param {String/HTMLElement/Array} el The element or collection to test
+       * @param {String} className the class name to search for
+       * @return {Boolean/Array} A boolean value or array of boolean values
+       */
+      hasClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)');
+
+         var f = function(el) {
+            return re.test(el['className']);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Adds a class name to a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to add the class to
+       * @param {String} className the class name to add to the class attribute
+       */
+      addClass: function(el, className) {
+         var f = function(el) {
+            if (this.hasClass(el, className)) { return; } // already present
+
+
+            el['className'] = [el['className'], className].join(' ');
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Removes a class name from a given element or collection of elements
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} className the class name to remove from the class attribute
+       */
+      removeClass: function(el, className) {
+         var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+            if (!this.hasClass(el, className)) { return; } // not present
+
+
+            var c = el['className'];
+            el['className'] = c.replace(re, ' ');
+            if ( this.hasClass(el, className) ) { // in case of multiple adjacent
+               this.removeClass(el, className);
+            }
+
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Replace a class with another class for a given element or collection of elements.
+       * If no oldClassName is present, the newClassName is simply added.
+       * @param {String/HTMLElement/Array} el The element or collection to remove the class from
+       * @param {String} oldClassName the class name to be replaced
+       * @param {String} newClassName the class name that will be replacing the old class name
+       */
+      replaceClass: function(el, oldClassName, newClassName) {
+         if (oldClassName === newClassName) { // avoid infinite loop
+            return false;
+         };
+
+         var re = new RegExp('(?:^|\\s+)' + oldClassName + '(?:\\s+|$)', 'g');
+
+         var f = function(el) {
+
+            if ( !this.hasClass(el, oldClassName) ) {
+               this.addClass(el, newClassName); // just add it if nothing to replace
+               return; // note return
+            }
+
+            el['className'] = el['className'].replace(re, ' ' + newClassName + ' ');
+
+            if ( this.hasClass(el, oldClassName) ) { // in case of multiple adjacent
+               this.replaceClass(el, oldClassName, newClassName);
+            }
+         };
+
+         util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Generates a unique ID
+       * @param {String/HTMLElement/Array} el (optional) An optional element array of elements to add an ID to (no ID is added if one is already present)
+       * @param {String} prefix (optional) an optional prefix to use (defaults to "yui-gen")
+       * @return {String/Array} The generated ID, or array of generated IDs (or original ID if already present on an element)
+       */
+      generateId: function(el, prefix) {
+         prefix = prefix || 'yui-gen';
+         el = el || {};
+
+         var f = function(el) {
+            if (el) {
+               el = util.Dom.get(el);
+            } else {
+               el = {}; // just generating ID in this case
+            }
+
+            if (!el.id) {
+               el.id = prefix + id_counter++;
+            } // dont override existing
+
+
+            return el.id;
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is an ancestor of another HTML element in the DOM hierarchy
+       * @param {String/HTMLElement} haystack The possible ancestor
+       * @param {String/HTMLElement} needle The possible descendent
+       * @return {Boolean} Whether or not the haystack is an ancestor of needle
+       */
+      isAncestor: function(haystack, needle) {
+         haystack = util.Dom.get(haystack);
+         if (!haystack || !needle) { return false; }
+
+         var f = function(needle) {
+            if (haystack.contains && !isSafari) { // safari "contains" is broken
+               return haystack.contains(needle);
+            }
+            else if ( haystack.compareDocumentPosition ) {
+               return !!(haystack.compareDocumentPosition(needle) & 16);
+            }
+            else { // loop up and test each parent
+               var parent = needle.parentNode;
+
+               while (parent) {
+                  if (parent == haystack) {
+                     return true;
+                  }
+                  else if (!parent.tagName || parent.tagName.toUpperCase() == 'HTML') {
+                     return false;
+                  }
+
+                  parent = parent.parentNode;
+               }
+               return false;
+            }
+         };
+
+         return util.Dom.batch(needle, f, util.Dom, true);
+      },
+
+      /**
+       * Determines whether an HTMLElement is present in the current document
+       * @param {String/HTMLElement} el The element to search for
+       * @return {Boolean} Whether or not the element is present in the current document
+       */
+      inDocument: function(el) {
+         var f = function(el) {
+            return this.isAncestor(document.documentElement, el);
+         };
+
+         return util.Dom.batch(el, f, util.Dom, true);
+      },
+
+      /**
+       * Returns a array of HTMLElements that pass the test applied by supplied boolean method
+       * For optimized performance, include a tag and/or root node if possible
+       * @param {Function} method A boolean method to test elements with
+       * @param {String} tag (optional) The tag name of the elements being collected
+       * @param {String/HTMLElement} root (optional) The HTMLElement or an ID to use as the starting point
+       */
+      getElementsBy: function(method, tag, root) {
+         tag = tag || '*';
+         root = util.Dom.get(root) || document;
+
+         var nodes = [];
+         var elements = root.getElementsByTagName(tag);
+
+         if ( !elements.length && (tag == '*' && root.all) ) {
+            elements = root.all; // IE < 6
+         }
+
+         for (var i = 0, len = elements.length; i < len; ++i)
+         {
+            if ( method(elements[i]) ) { nodes[nodes.length] = elements[i]; }
+         }
+
+
+         return nodes;
+      },
+
+      /**
+       * Returns an array of elements that have had the supplied method applied.
+       * The method is called with the element(s) as the first arg, and the optional param as the second ( method(el, o) )
+       * @param {String/HTMLElement/Array} el (optional) An element or array of elements to apply the method to
+       * @param {Function} method The method to apply to the element(s)
+       * @param {Generic} (optional) o An optional arg that is passed to the supplied method
+       * @param {Boolean} (optional) override Whether or not to override the scope of "method" with "o"
+       * @return {HTMLElement/Array} The element(s) with the method applied
+       */
+      batch: function(el, method, o, override) {
+         var id = el;
+         el = util.Dom.get(el);
+
+         var scope = (override) ? o : window;
+
+         if (!el || el.tagName || !el.length) { // is null or not a collection (tagName for SELECT and others that can be both an element and a collection)
+            if (!el) {
+               return false;
+            }
+            return method.call(scope, el, o);
+         }
+
+         var collection = [];
+
+         for (var i = 0, len = el.length; i < len; ++i) {
+            if (!el[i]) {
+               id = id[i];
+            }
+            collection[collection.length] = method.call(scope, el[i], o);
+         }
+
+         return collection;
+      },
+
+      /**
+       * Returns the height of the document.
+       * @return {Int} The height of the actual document (which includes the body and its margin).
+       */
+      getDocumentHeight: function() {
+         var scrollHeight=-1,windowHeight=-1,bodyHeight=-1;
+         var marginTop = parseInt(util.Dom.getStyle(document.body, 'marginTop'), 10);
+         var marginBottom = parseInt(util.Dom.getStyle(document.body, 'marginBottom'), 10);
+
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) { // (IE, Gecko)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  scrollHeight = ((window.innerHeight && window.scrollMaxY) ?  window.innerHeight+window.scrollMaxY : -1);
+                  windowHeight = [document.documentElement.clientHeight,self.innerHeight||-1].sort(function(a, b){return(a-b);})[1];
+                  bodyHeight = document.body.offsetHeight + marginTop + marginBottom;
+                  break;
+
+               default: // Quirks
+                  scrollHeight = document.body.scrollHeight;
+                  bodyHeight = document.body.clientHeight;
+            }
+         } else { // Safari & Opera
+            scrollHeight = document.documentElement.scrollHeight;
+            windowHeight = self.innerHeight;
+            bodyHeight = document.documentElement.clientHeight;
+         }
+
+         var h = [scrollHeight,windowHeight,bodyHeight].sort(function(a, b){return(a-b);});
+         return h[2];
+      },
+
+      /**
+       * Returns the width of the document.
+       * @return {Int} The width of the actual document (which includes the body and its margin).
+       */
+      getDocumentWidth: function() {
+         var docWidth=-1,bodyWidth=-1,winWidth=-1;
+         var marginRight = parseInt(util.Dom.getStyle(document.body, 'marginRight'), 10);
+         var marginLeft = parseInt(util.Dom.getStyle(document.body, 'marginLeft'), 10);
+
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+               case 'CSS1Compat': // Standards mode
+                  docWidth = document.documentElement.clientWidth;
+                  bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+                  break;
+
+               default: // Quirks
+                  bodyWidth = document.body.clientWidth;
+                  docWidth = document.body.scrollWidth;
+                  break;
+            }
+         } else { // Safari
+            docWidth = document.documentElement.clientWidth;
+            bodyWidth = document.body.offsetWidth + marginLeft + marginRight;
+         }
+
+         var w = Math.max(docWidth, bodyWidth);
+         return w;
+      },
+
+      /**
+       * Returns the current height of the viewport.
+       * @return {Int} The height of the viewable area of the page (excludes scrollbars).
+       */
+      getViewportHeight: function() {
+         var height = -1;
+         var mode = document.compatMode;
+
+         if ( (mode || isIE) && !isOpera ) {
+            switch (mode) { // (IE, Gecko)
+               case 'CSS1Compat': // Standards mode
+                  height = document.documentElement.clientHeight;
+                  break;
+
+               default: // Quirks
+                  height = document.body.clientHeight;
+            }
+         } else { // Safari, Opera
+            height = self.innerHeight;
+         }
+
+         return height;
+      },
+
+      /**
+       * Returns the current width of the viewport.
+       * @return {Int} The width of the viewable area of the page (excludes scrollbars).
+       */
+
+      getViewportWidth: function() {
+         var width = -1;
+         var mode = document.compatMode;
+
+         if (mode || isIE) { // (IE, Gecko, Opera)
+            switch (mode) {
+            case 'CSS1Compat': // Standards mode
+               width = document.documentElement.clientWidth;
+               break;
+
+            default: // Quirks
+               width = document.body.clientWidth;
+            }
+         } else { // Safari
+            width = self.innerWidth;
+         }
+         return width;
+      }
+   };
+}();
+
+/**
+ * @class A region is a representation of an object on a grid.  It is defined
+ * by the top, right, bottom, left extents, so is rectangular by default.  If
+ * other shapes are required, this class could be extended to support it.
+ *
+ * @param {int} t the top extent
+ * @param {int} r the right extent
+ * @param {int} b the bottom extent
+ * @param {int} l the left extent
+ * @constructor
+ */
+YAHOO.util.Region = function(t, r, b, l) {
+
+    /**
+     * The region's top extent
+     * @type int
+     */
+    this.top = t;
+
+    /**
+     * The region's top extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[1] = t;
+
+    /**
+     * The region's right extent
+     * @type int
+     */
+    this.right = r;
+
+    /**
+     * The region's bottom extent
+     * @type int
+     */
+    this.bottom = b;
+
+    /**
+     * The region's left extent
+     * @type int
+     */
+    this.left = l;
+
+    /**
+     * The region's left extent as index, for symmetry with set/getXY
+     * @type int
+     */
+    this[0] = l;
+};
+
+/**
+ * Returns true if this region contains the region passed in
+ *
+ * @param  {Region}  region The region to evaluate
+ * @return {boolean}        True if the region is contained with this region,
+ *                          else false
+ */
+YAHOO.util.Region.prototype.contains = function(region) {
+    return ( region.left   >= this.left   &&
+             region.right  <= this.right  &&
+             region.top    >= this.top    &&
+             region.bottom <= this.bottom    );
+
+};
+
+/**
+ * Returns the area of the region
+ *
+ * @return {int} the region's area
+ */
+YAHOO.util.Region.prototype.getArea = function() {
+    return ( (this.bottom - this.top) * (this.right - this.left) );
+};
+
+/**
+ * Returns the region where the passed in region overlaps with this one
+ *
+ * @param  {Region} region The region that intersects
+ * @return {Region}        The overlap region, or null if there is no overlap
+ */
+YAHOO.util.Region.prototype.intersect = function(region) {
+    var t = Math.max( this.top,    region.top    );
+    var r = Math.min( this.right,  region.right  );
+    var b = Math.min( this.bottom, region.bottom );
+    var l = Math.max( this.left,   region.left   );
+
+    if (b >= t && r >= l) {
+        return new YAHOO.util.Region(t, r, b, l);
+    } else {
+        return null;
+    }
+};
+
+/**
+ * Returns the region representing the smallest region that can contain both
+ * the passed in region and this region.
+ *
+ * @param  {Region} region The region that to create the union with
+ * @return {Region}        The union region
+ */
+YAHOO.util.Region.prototype.union = function(region) {
+    var t = Math.min( this.top,    region.top    );
+    var r = Math.max( this.right,  region.right  );
+    var b = Math.max( this.bottom, region.bottom );
+    var l = Math.min( this.left,   region.left   );
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/**
+ * toString
+ * @return string the region properties
+ */
+YAHOO.util.Region.prototype.toString = function() {
+    return ( "Region {"    +
+             "top: "       + this.top    +
+             ", right: "   + this.right  +
+             ", bottom: "  + this.bottom +
+             ", left: "    + this.left   +
+             "}" );
+};
+
+/**
+ * Returns a region that is occupied by the DOM element
+ *
+ * @param  {HTMLElement} el The element
+ * @return {Region}         The region that the element occupies
+ * @static
+ */
+YAHOO.util.Region.getRegion = function(el) {
+    var p = YAHOO.util.Dom.getXY(el);
+
+    var t = p[1];
+    var r = p[0] + el.offsetWidth;
+    var b = p[1] + el.offsetHeight;
+    var l = p[0];
+
+    return new YAHOO.util.Region(t, r, b, l);
+};
+
+/////////////////////////////////////////////////////////////////////////////
+
+/**
+ * @class
+ *
+ * A point is a region that is special in that it represents a single point on
+ * the grid.
+ *
+ * @param {int} x The X position of the point
+ * @param {int} y The Y position of the point
+ * @constructor
+ * @extends Region
+ */
+YAHOO.util.Point = function(x, y) {
+   if (x instanceof Array) { // accept output from Dom.getXY
+      y = x[1];
+      x = x[0];
+   }
+
+    /**
+     * The X position of the point, which is also the right, left and index zero (for Dom.getXY symmetry)
+     * @type int
+     */
+
+    this.x = this.right = this.left = this[0] = x;
+
+    /**
+     * The Y position of the point, which is also the top, bottom and index one (for Dom.getXY symmetry)
+     * @type int
+     */
+    this.y = this.top = this.bottom = this[1] = y;
+};
+
+YAHOO.util.Point.prototype = new YAHOO.util.Region();
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dragdrop.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/dragdrop.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2712 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * Defines the interface and base operation of items that that can be
+ * dragged or can be drop targets.  It was designed to be extended, overriding
+ * the event handlers for startDrag, onDrag, onDragOver, onDragOut.
+ * Up to three html elements can be associated with a DragDrop instance:
+ * <ul>
+ * <li>linked element: the element that is passed into the constructor.
+ * This is the element which defines the boundaries for interaction with
+ * other DragDrop objects.</li>
+ * <li>handle element(s): The drag operation only occurs if the element that
+ * was clicked matches a handle element.  By default this is the linked
+ * element, but there are times that you will want only a portion of the
+ * linked element to initiate the drag operation, and the setHandleElId()
+ * method provides a way to define this.</li>
+ * <li>drag element: this represents an the element that would be moved along
+ * with the cursor during a drag operation.  By default, this is the linked
+ * element itself as in {@link YAHOO.util.DD}.  setDragElId() lets you define
+ * a separate element that would be moved, as in {@link YAHOO.util.DDProxy}
+ * </li>
+ * </ul>
+ * This class should not be instantiated until the onload event to ensure that
+ * the associated elements are available.
+ * The following would define a DragDrop obj that would interact with any
+ * other * DragDrop obj in the "group1" group:
+ * <pre>
+ *  dd = new YAHOO.util.DragDrop("div1", "group1");
+ * </pre>
+ * Since none of the event handlers have been implemented, nothing would
+ * actually happen if you were to run the code above.  Normally you would
+ * override this class or one of the default implementations, but you can
+ * also override the methods you want on an instance of the class...
+ * <pre>
+ *  dd.onDragDrop = function(e, id) {
+ *   alert("dd was dropped on " + id);
+ *  }
+ * </pre>
+ * @constructor
+ * @param {String} id of the element that is linked to this instance
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DragDrop:
+ *                    padding, isTarget, maintainOffset, primaryButtonOnly
+ */
+YAHOO.util.DragDrop = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+YAHOO.util.DragDrop.prototype = {
+
+    /**
+     * The id of the element associated with this object.  This is what we
+     * refer to as the "linked element" because the size and position of
+     * this element is used to determine when the drag and drop objects have
+     * interacted.
+     *
+     * @type String
+     */
+    id: null,
+
+    /**
+     * Configuration attributes passed into the constructor
+     * @type object
+     */
+    config: null,
+
+    /**
+     * The id of the element that will be dragged.  By default this is same
+     * as the linked element , but could be changed to another element. Ex:
+     * YAHOO.util.DDProxy
+     *
+     * @type String
+     * @private
+     */
+    dragElId: null,
+
+    /**
+     * the id of the element that initiates the drag operation.  By default
+     * this is the linked element, but could be changed to be a child of this
+     * element.  This lets us do things like only starting the drag when the
+     * header element within the linked html element is clicked.
+     *
+     * @type String
+     * @private
+     */
+    handleElId: null,
+
+    /**
+     * An associative array of HTML tags that will be ignored if clicked.
+     * @type {string: string}
+     */
+    invalidHandleTypes: null,
+
+    /**
+     * An associative array of ids for elements that will be ignored if clicked
+     * @type {string: string}
+     */
+    invalidHandleIds: null,
+
+    /**
+     * An indexted array of css class names for elements that will be ignored
+     * if clicked.
+     * @type string[]
+     */
+    invalidHandleClasses: null,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageX: 0,
+
+    /**
+     * The linked element's absolute X position at the time the drag was
+     * started
+     *
+     * @type int
+     * @private
+     */
+    startPageY: 0,
+
+    /**
+     * The group defines a logical collection of DragDrop objects that are
+     * related.  Instances only get events when interacting with other
+     * DragDrop object in the same group.  This lets us define multiple
+     * groups using a single DragDrop subclass if we want.
+     * @type {string: string}
+     */
+    groups: null,
+
+    /**
+     * Individual drag/drop instances can be locked.  This will prevent
+     * onmousedown start drag.
+     *
+     * @type boolean
+     * @private
+     */
+    locked: false,
+
+    /**
+     * Lock this instance
+     */
+    lock: function() { this.locked = true; },
+
+    /**
+     * Unlock this instace
+     */
+    unlock: function() { this.locked = false; },
+
+    /**
+     * By default, all insances can be a drop target.  This can be disabled by
+     * setting isTarget to false.
+     *
+     * @type boolean
+     */
+    isTarget: true,
+
+    /**
+     * The padding configured for this drag and drop object for calculating
+     * the drop zone intersection with this object.
+     * @type int[]
+     */
+    padding: null,
+
+    /**
+     * @private
+     */
+    _domRef: null,
+
+    /**
+     * Internal typeof flag
+     * @private
+     */
+    __ygDragDrop: true,
+
+    /**
+     * Set to true when horizontal contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainX: false,
+
+    /**
+     * Set to true when vertical contraints are applied
+     *
+     * @type boolean
+     * @private
+     */
+    constrainY: false,
+
+    /**
+     * The left constraint
+     *
+     * @type int
+     * @private
+     */
+    minX: 0,
+
+    /**
+     * The right constraint
+     *
+     * @type int
+     * @private
+     */
+    maxX: 0,
+
+    /**
+     * The up constraint
+     *
+     * @type int
+     * @private
+     */
+    minY: 0,
+
+    /**
+     * The down constraint
+     *
+     * @type int
+     * @private
+     */
+    maxY: 0,
+
+    /**
+     * Maintain offsets when we resetconstraints.  Used to maintain the
+     * slider thumb value, and this needs to be fixed.
+     * @type boolean
+     */
+    maintainOffset: false,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * horizontal graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    xTicks: null,
+
+    /**
+     * Array of pixel locations the element will snap to if we specified a
+     * vertical graduation/interval.  This array is generated automatically
+     * when you define a tick interval.
+     * @type int[]
+     */
+    yTicks: null,
+
+    /**
+     * By default the drag and drop instance will only respond to the primary
+     * button click (left button for a right-handed mouse).  Set to true to
+     * allow drag and drop to start with any mouse click that is propogated
+     * by the browser
+     * @type boolean
+     */
+    primaryButtonOnly: true,
+
+    /**
+     * The availabe property is false until the linked dom element is accessible.
+     * @type boolean
+     */
+    available: false,
+
+    /**
+     * Code that executes immediately before the startDrag event
+     * @private
+     */
+    b4StartDrag: function(x, y) { },
+
+    /**
+     * Abstract method called after a drag/drop object is clicked
+     * and the drag or mousedown time thresholds have beeen met.
+     *
+     * @param {int} X click location
+     * @param {int} Y click location
+     */
+    startDrag: function(x, y) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDrag event
+     * @private
+     */
+    b4Drag: function(e) { },
+
+    /**
+     * Abstract method called during the onMouseMove event while dragging an
+     * object.
+     *
+     * @param {Event} e
+     */
+    onDrag: function(e) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragEnter event
+     * @private
+     */
+    // b4DragEnter: function(e) { },
+
+    /**
+     * Abstract method called when this element fist begins hovering over
+     * another DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of one or more
+     * dragdrop items being hovered over.
+     */
+    onDragEnter: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOver event
+     * @private
+     */
+    b4DragOver: function(e) { },
+
+    /**
+     * Abstract method called when this element is hovering over another
+     * DragDrop obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this is hovering over.  In INTERSECT mode, an array of dd items
+     * being hovered over.
+     */
+    onDragOver: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragOut event
+     * @private
+     */
+    b4DragOut: function(e) { },
+
+    /**
+     * Abstract method called when we are no longer hovering over an element
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was hovering over.  In INTERSECT mode, an array of dd items
+     * that the mouse is no longer over.
+     */
+    onDragOut: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the onDragDrop event
+     * @private
+     */
+    b4DragDrop: function(e) { },
+
+    /**
+     * Abstract method called when this item is dropped on another DragDrop
+     * obj
+     *
+     * @param {Event} e
+     * @param {String || YAHOO.util.DragDrop[]} id In POINT mode, the element
+     * id this was dropped on.  In INTERSECT mode, an array of dd items this
+     * was dropped on.
+     */
+    onDragDrop: function(e, id) { /* override this */ },
+
+    /**
+     * Code that executes immediately before the endDrag event
+     * @private
+     */
+    b4EndDrag: function(e) { },
+
+    /**
+     * Fired when we are done dragging the object
+     *
+     * @param {Event} e
+     */
+    endDrag: function(e) { /* override this */ },
+
+    /**
+     * Code executed immediately before the onMouseDown event
+
+     * @param {Event} e
+     * @private
+     */
+    b4MouseDown: function(e) {  },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mousedown
+     * @param {Event} e
+     */
+    onMouseDown: function(e) { /* override this */ },
+
+    /**
+     * Event handler that fires when a drag/drop obj gets a mouseup
+     * @param {Event} e
+     */
+    onMouseUp: function(e) { /* override this */ },
+
+    /**
+     * Override the onAvailable method to do what is needed after the initial
+     * position was determined.
+     */
+    onAvailable: function () {
+    },
+
+    /**
+     * Returns a reference to the linked element
+     *
+     * @return {HTMLElement} the html element
+     */
+    getEl: function() {
+        if (!this._domRef) {
+            this._domRef = YAHOO.util.Dom.get(this.id);
+        }
+
+        return this._domRef;
+    },
+
+    /**
+     * Returns a reference to the actual element to drag.  By default this is
+     * the same as the html element, but it can be assigned to another
+     * element. An example of this can be found in YAHOO.util.DDProxy
+     *
+     * @return {HTMLElement} the html element
+     */
+    getDragEl: function() {
+        return YAHOO.util.Dom.get(this.dragElId);
+    },
+
+    /**
+     * Sets up the DragDrop object.  Must be called in the constructor of any
+     * YAHOO.util.DragDrop subclass
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    init: function(id, sGroup, config) {
+        this.initTarget(id, sGroup, config);
+        YAHOO.util.Event.addListener(this.id, "mousedown",
+                                          this.handleMouseDown, this, true);
+    },
+
+    /**
+     * Initializes Targeting functionality only... the object does not
+     * get a mousedown handler.
+     *
+     * @param id the id of the linked element
+     * @param {String} sGroup the group of related items
+     * @param {object} config configuration attributes
+     */
+    initTarget: function(id, sGroup, config) {
+
+        // configuration attributes
+        this.config = config || {};
+
+        // create a local reference to the drag and drop manager
+        this.DDM = YAHOO.util.DDM;
+        // initialize the groups array
+        this.groups = {};
+
+        // set the id
+        this.id = id;
+
+        // add to an interaction group
+        this.addToGroup((sGroup) ? sGroup : "default");
+
+        // We don't want to register this as the handle with the manager
+        // so we just set the id rather than calling the setter.
+        this.handleElId = id;
+
+        YAHOO.util.Event.onAvailable(id, this.handleOnAvailable, this, true);
+
+
+        // the linked element is the element that gets dragged by default
+        this.setDragElId(id);
+
+        // by default, clicked anchors will not start drag operations.
+        // @TODO what else should be here?  Probably form fields.
+        this.invalidHandleTypes = { A: "A" };
+        this.invalidHandleIds = {};
+        this.invalidHandleClasses = [];
+
+        this.applyConfig();
+    },
+
+    /**
+     * Applies the configuration parameters that were passed into the constructor.
+     * This is supposed to happen at each level through the inheritance chain.  So
+     * a DDProxy implentation will execute apply config on DDProxy, DD, and
+     * DragDrop in order to get all of the parameters that are available in
+     * each object.
+     */
+    applyConfig: function() {
+
+        // configurable properties:
+        //    padding, isTarget, maintainOffset, primaryButtonOnly
+        this.padding           = this.config.padding || [0, 0, 0, 0];
+        this.isTarget          = (this.config.isTarget !== false);
+        this.maintainOffset    = (this.config.maintainOffset);
+        this.primaryButtonOnly = (this.config.primaryButtonOnly !== false);
+
+    },
+
+    /**
+     * Executed when the linked element is available
+     * @private
+     */
+    handleOnAvailable: function() {
+        this.available = true;
+        this.resetConstraints();
+        this.onAvailable();
+    },
+
+     /**
+     * Configures the padding for the target zone in px.  Effectively expands
+     * (or reduces) the virtual object size for targeting calculations.
+     * Supports css-style shorthand; if only one parameter is passed, all sides
+     * will have that padding, and if only two are passed, the top and bottom
+     * will have the first param, the left and right the second.
+     * @param {int} iTop    Top pad
+     * @param {int} iRight  Right pad
+     * @param {int} iBot    Bot pad
+     * @param {int} iLeft   Left pad
+     */
+    setPadding: function(iTop, iRight, iBot, iLeft) {
+        // this.padding = [iLeft, iRight, iTop, iBot];
+        if (!iRight && 0 !== iRight) {
+            this.padding = [iTop, iTop, iTop, iTop];
+        } else if (!iBot && 0 !== iBot) {
+            this.padding = [iTop, iRight, iTop, iRight];
+        } else {
+            this.padding = [iTop, iRight, iBot, iLeft];
+        }
+    },
+
+    /**
+     * Stores the initial placement of the dd element
+     */
+    setInitPosition: function(diffX, diffY) {
+        var el = this.getEl();
+
+        if (!this.DDM.verifyEl(el)) {
+            return;
+        }
+
+        var dx = diffX || 0;
+        var dy = diffY || 0;
+
+        var p = YAHOO.util.Dom.getXY( el );
+
+        this.initPageX = p[0] - dx;
+        this.initPageY = p[1] - dy;
+
+        this.lastPageX = p[0];
+        this.lastPageY = p[1];
+
+
+        this.setStartPosition(p);
+    },
+
+    /**
+     * Sets the start position of the element.  This is set when the obj
+     * is initialized, the reset when a drag is started.
+     * @param pos current position (from previous lookup)
+     * @private
+     */
+    setStartPosition: function(pos) {
+        var p = pos || YAHOO.util.Dom.getXY( this.getEl() );
+        this.deltaSetXY = null;
+
+        this.startPageX = p[0];
+        this.startPageY = p[1];
+    },
+
+    /**
+     * Add this instance to a group of related drag/drop objects.  All
+     * instances belong to at least one group, and can belong to as many
+     * groups as needed.
+     *
+     * @param sGroup {string} the name of the group
+     */
+    addToGroup: function(sGroup) {
+        this.groups[sGroup] = true;
+        this.DDM.regDragDrop(this, sGroup);
+    },
+
+    /**
+     * Remove's this instance from the supplied interaction group
+     * @param {string}  sGroup  The group to drop
+     */
+    removeFromGroup: function(sGroup) {
+        if (this.groups[sGroup]) {
+            delete this.groups[sGroup];
+        }
+
+        this.DDM.removeDDFromGroup(this, sGroup);
+    },
+
+    /**
+     * Allows you to specify that an element other than the linked element
+     * will be moved with the cursor during a drag
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setDragElId: function(id) {
+        this.dragElId = id;
+    },
+
+    /**
+     * Allows you to specify a child of the linked element that should be
+     * used to initiate the drag operation.  An example of this would be if
+     * you have a content div with text and links.  Clicking anywhere in the
+     * content area would normally start the drag operation.  Use this method
+     * to specify that an element inside of the content div is the element
+     * that starts the drag operation.
+     *
+     * @param id the id of the element that will be used to initiate the drag
+     */
+    setHandleElId: function(id) {
+        this.handleElId = id;
+        this.DDM.regHandle(this.id, id);
+    },
+
+    /**
+     * Allows you to set an element outside of the linked element as a drag
+     * handle
+     */
+    setOuterHandleElId: function(id) {
+        YAHOO.util.Event.addListener(id, "mousedown",
+                this.handleMouseDown, this, true);
+        this.setHandleElId(id);
+    },
+
+    /**
+     * Remove all drag and drop hooks for this element
+     */
+    unreg: function() {
+        YAHOO.util.Event.removeListener(this.id, "mousedown",
+                this.handleMouseDown);
+        this._domRef = null;
+        this.DDM._remove(this);
+    },
+
+    /**
+     * Returns true if this instance is locked, or the drag drop mgr is locked
+     * (meaning that all drag/drop is disabled on the page.)
+     *
+     * @return {boolean} true if this obj or all drag/drop is locked, else
+     * false
+     */
+    isLocked: function() {
+        return (this.DDM.isLocked() || this.locked);
+    },
+
+    /**
+     * Fired when this object is clicked
+     *
+     * @param {Event} e
+     * @param {YAHOO.util.DragDrop} oDD the clicked dd object (this dd obj)
+     * @private
+     */
+    handleMouseDown: function(e, oDD) {
+
+
+        var EU = YAHOO.util.Event;
+
+        var button = e.which || e.button;
+
+        if (this.primaryButtonOnly && button > 1) {
+            return;
+        }
+
+        if (this.isLocked()) {
+            return;
+        }
+
+        this.DDM.refreshCache(this.groups);
+        // var self = this;
+        // setTimeout( function() { self.DDM.refreshCache(self.groups); }, 0);
+
+        // Only process the event if we really clicked within the linked
+        // element.  The reason we make this check is that in the case that
+        // another element was moved between the clicked element and the
+        // cursor in the time between the mousedown and mouseup events. When
+        // this happens, the element gets the next mousedown event
+        // regardless of where on the screen it happened.
+        var pt = new YAHOO.util.Point(EU.getPageX(e), EU.getPageY(e));
+        if ( !this.DDM.isOverTarget(pt, this) )  {
+        } else {
+
+
+            //  check to see if the handle was clicked
+            var srcEl = EU.getTarget(e);
+
+            if (this.isValidHandleChild(srcEl) &&
+                    (this.id == this.handleElId ||
+                     this.DDM.handleWasClicked(srcEl, this.id)) ) {
+
+
+                // set the initial element position
+                this.setStartPosition();
+
+
+                this.b4MouseDown(e);
+                this.onMouseDown(e);
+                this.DDM.handleMouseDown(e, this);
+
+                this.DDM.stopEvent(e);
+            }
+        }
+    },
+
+    /**
+     * Allows you to specify a tag name that should not start a drag operation
+     * when clicked.  This is designed to facilitate embedding links within a
+     * drag handle that do something other than start the drag.
+     *
+     * @param {string} tagName the type of element to exclude
+     */
+    addInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        this.invalidHandleTypes[type] = type;
+    },
+
+    /**
+     * Lets you to specify an element id for a child of a drag handle
+     * that should not initiate a drag
+     * @param {string} id the element id of the element you wish to ignore
+     */
+    addInvalidHandleId: function(id) {
+        this.invalidHandleIds[id] = id;
+    },
+
+    /**
+     * Lets you specify a css class of elements that will not initiate a drag
+     * @param {string} cssClass the class of the elements you wish to ignore
+     */
+    addInvalidHandleClass: function(cssClass) {
+        this.invalidHandleClasses.push(cssClass);
+    },
+
+    /**
+     * Unsets an excluded tag name set by addInvalidHandleType
+     *
+     * @param {string} tagName the type of element to unexclude
+     */
+    removeInvalidHandleType: function(tagName) {
+        var type = tagName.toUpperCase();
+        // this.invalidHandleTypes[type] = null;
+        delete this.invalidHandleTypes[type];
+    },
+
+    /**
+     * Unsets an invalid handle id
+     * @param {string} the id of the element to re-enable
+     */
+    removeInvalidHandleId: function(id) {
+        delete this.invalidHandleIds[id];
+    },
+
+    /**
+     * Unsets an invalid css class
+     * @param {string} the class of the element(s) you wish to re-enable
+     */
+    removeInvalidHandleClass: function(cssClass) {
+        for (var i=0, len=this.invalidHandleClasses.length; i<len; ++i) {
+            if (this.invalidHandleClasses[i] == cssClass) {
+                delete this.invalidHandleClasses[i];
+            }
+        }
+    },
+
+    /**
+     * Checks the tag exclusion list to see if this click should be ignored
+     *
+     * @param {ygNode} node
+     * @return {boolean} true if this is a valid tag type, false if not
+     */
+    isValidHandleChild: function(node) {
+
+        var valid = true;
+        // var n = (node.nodeName == "#text") ? node.parentNode : node;
+        var nodeName;
+        try {
+            nodeName = node.nodeName.toUpperCase();
+        } catch(e) {
+            nodeName = node.nodeName;
+        }
+        valid = valid && !this.invalidHandleTypes[nodeName];
+        valid = valid && !this.invalidHandleIds[node.id];
+
+        for (var i=0, len=this.invalidHandleClasses.length; valid && i<len; ++i) {
+            valid = !YAHOO.util.Dom.hasClass(node, this.invalidHandleClasses[i]);
+        }
+
+
+        return valid;
+
+    },
+
+    /**
+     * Create the array of horizontal tick marks if an interval was specified
+     * in setXConstraint().
+     *
+     * @private
+     */
+    setXTicks: function(iStartX, iTickSize) {
+        this.xTicks = [];
+        this.xTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageX; i >= this.minX; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageX; i <= this.maxX; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.xTicks[this.xTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.xTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * Create the array of vertical tick marks if an interval was specified in
+     * setYConstraint().
+     *
+     * @private
+     */
+    setYTicks: function(iStartY, iTickSize) {
+        this.yTicks = [];
+        this.yTickSize = iTickSize;
+
+        var tickMap = {};
+
+        for (var i = this.initPageY; i >= this.minY; i = i - iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        for (i = this.initPageY; i <= this.maxY; i = i + iTickSize) {
+            if (!tickMap[i]) {
+                this.yTicks[this.yTicks.length] = i;
+                tickMap[i] = true;
+            }
+        }
+
+        this.yTicks.sort(this.DDM.numericSort) ;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Use
+     * this method to limit the horizontal travel of the element.  Pass in
+     * 0,0 for the parameters if you want to lock the drag to the y axis.
+     *
+     * @param {int} iLeft the number of pixels the element can move to the left
+     * @param {int} iRight the number of pixels the element can move to the
+     * right
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element
+     * should move iTickSize pixels at a time.
+     */
+    setXConstraint: function(iLeft, iRight, iTickSize) {
+        this.leftConstraint = iLeft;
+        this.rightConstraint = iRight;
+
+        this.minX = this.initPageX - iLeft;
+        this.maxX = this.initPageX + iRight;
+        if (iTickSize) { this.setXTicks(this.initPageX, iTickSize); }
+
+        this.constrainX = true;
+    },
+
+    /**
+     * Clears any constraints applied to this instance.  Also clears ticks
+     * since they can't exist independent of a constraint at this time.
+     */
+    clearConstraints: function() {
+        this.constrainX = false;
+        this.constrainY = false;
+        this.clearTicks();
+    },
+
+    /**
+     * Clears any tick interval defined for this instance
+     */
+    clearTicks: function() {
+        this.xTicks = null;
+        this.yTicks = null;
+        this.xTickSize = 0;
+        this.yTickSize = 0;
+    },
+
+    /**
+     * By default, the element can be dragged any place on the screen.  Set
+     * this to limit the vertical travel of the element.  Pass in 0,0 for the
+     * parameters if you want to lock the drag to the x axis.
+     *
+     * @param {int} iUp the number of pixels the element can move up
+     * @param {int} iDown the number of pixels the element can move down
+     * @param {int} iTickSize optional parameter for specifying that the
+     * element should move iTickSize pixels at a time.
+     */
+    setYConstraint: function(iUp, iDown, iTickSize) {
+        this.topConstraint = iUp;
+        this.bottomConstraint = iDown;
+
+        this.minY = this.initPageY - iUp;
+        this.maxY = this.initPageY + iDown;
+        if (iTickSize) { this.setYTicks(this.initPageY, iTickSize); }
+
+        this.constrainY = true;
+
+    },
+
+    /**
+     * resetConstraints must be called if you manually reposition a dd element.
+     * @param {boolean} maintainOffset
+     */
+    resetConstraints: function() {
+
+
+        // Maintain offsets if necessary
+        if (this.initPageX || this.initPageX === 0) {
+            // figure out how much this thing has moved
+            var dx = (this.maintainOffset) ? this.lastPageX - this.initPageX : 0;
+            var dy = (this.maintainOffset) ? this.lastPageY - this.initPageY : 0;
+
+            this.setInitPosition(dx, dy);
+
+        // This is the first time we have detected the element's position
+        } else {
+            this.setInitPosition();
+        }
+
+        if (this.constrainX) {
+            this.setXConstraint( this.leftConstraint,
+                                 this.rightConstraint,
+                                 this.xTickSize        );
+        }
+
+        if (this.constrainY) {
+            this.setYConstraint( this.topConstraint,
+                                 this.bottomConstraint,
+                                 this.yTickSize         );
+        }
+    },
+
+    /**
+     * Normally the drag element is moved pixel by pixel, but we can specify
+     * that it move a number of pixels at a time.  This method resolves the
+     * location when we have it set up like this.
+     *
+     * @param {int} val where we want to place the object
+     * @param {int[]} tickArray sorted array of valid points
+     * @return {int} the closest tick
+     * @private
+     */
+    getTick: function(val, tickArray) {
+
+        if (!tickArray) {
+            // If tick interval is not defined, it is effectively 1 pixel,
+            // so we return the value passed to us.
+            return val;
+        } else if (tickArray[0] >= val) {
+            // The value is lower than the first tick, so we return the first
+            // tick.
+            return tickArray[0];
+        } else {
+            for (var i=0, len=tickArray.length; i<len; ++i) {
+                var next = i + 1;
+                if (tickArray[next] && tickArray[next] >= val) {
+                    var diff1 = val - tickArray[i];
+                    var diff2 = tickArray[next] - val;
+                    return (diff2 > diff1) ? tickArray[i] : tickArray[next];
+                }
+            }
+
+            // The value is larger than the last tick, so we return the last
+            // tick.
+            return tickArray[tickArray.length - 1];
+        }
+    },
+
+    /**
+     * toString method
+     * @return {string} string representation of the dd obj
+     */
+    toString: function() {
+        return ("DragDrop " + this.id);
+    }
+
+};
+
+// Only load the library once.  Rewriting the manager class would orphan
+// existing drag and drop instances.
+if (!YAHOO.util.DragDropMgr) {
+
+    /**
+     * Handles the element interaction for all DragDrop items in the
+     * window.  Generally, you will not call this class directly, but it does
+     * have helper methods that could be useful in your DragDrop
+     * implementations.  This class should not be instantiated; all methods
+     * are are static.
+     *
+     * @constructor
+     */
+    YAHOO.util.DragDropMgr = new function() {
+
+        /**
+         * Two dimensional Array of registered DragDrop objects.  The first
+         * dimension is the DragDrop item group, the second the DragDrop
+         * object.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.ids = {};
+
+        /**
+         * Array of element ids defined as drag handles.  Used to determine
+         * if the element that generated the mousedown event is actually the
+         * handle and not the html element itself.
+         *
+         * @type {string: string}
+         * @private
+         */
+        this.handleIds = {};
+
+        /**
+         * the DragDrop object that is currently being dragged
+         *
+         * @type DragDrop
+         * @private
+         **/
+        this.dragCurrent = null;
+
+        /**
+         * the DragDrop object(s) that are being hovered over
+         *
+         * @type Array
+         * @private
+         */
+        this.dragOvers = {};
+
+        /**
+         * @private
+         */
+
+        /**
+         * the X distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaX = 0;
+
+        /**
+         * the Y distance between the cursor and the object being dragged
+         *
+         * @type int
+         * @private
+         */
+        this.deltaY = 0;
+
+        /**
+         * Flag to determine if we should prevent the default behavior of the
+         * events we define. By default this is true, but this can be set to
+         * false if you need the default behavior (not recommended)
+         *
+         * @type boolean
+         */
+        this.preventDefault = true;
+
+        /**
+         * Flag to determine if we should stop the propagation of the events
+         * we generate. This is true by default but you may want to set it to
+         * false if the html element contains other features that require the
+         * mouse click.
+         *
+         * @type boolean
+         */
+        this.stopPropagation = true;
+
+        /**
+         * @private
+         */
+        this.initalized = false;
+
+        /**
+         * All drag and drop can be disabled.
+         *
+         * @private
+         */
+        this.locked = false;
+
+        /**
+         * Called the first time an element is registered.
+         *
+         * @private
+         */
+        this.init = function() {
+            this.initialized = true;
+        };
+
+        /**
+         * In point mode, drag and drop interaction is defined by the
+         * location of the cursor during the drag/drop
+         * @type int
+         */
+        this.POINT     = 0;
+
+        /**
+         * In intersect mode, drag and drop interactio nis defined by the
+         * overlap of two or more drag and drop objects.
+         * @type int
+         */
+        this.INTERSECT = 1;
+
+        /**
+         * The current drag and drop mode.  Default it point mode
+         * @type int
+         */
+        this.mode = this.POINT;
+
+        /**
+         * Runs method on all drag and drop objects
+         * @private
+         */
+        this._execOnAll = function(sMethod, args) {
+            for (var i in this.ids) {
+                for (var j in this.ids[i]) {
+                    var oDD = this.ids[i][j];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+                    oDD[sMethod].apply(oDD, args);
+                }
+            }
+        };
+
+        /**
+         * Drag and drop initialization.  Sets up the global event handlers
+         * @private
+         */
+        this._onLoad = function() {
+
+            this.init();
+
+
+            var EU = YAHOO.util.Event;
+
+            EU.on(document, "mouseup",   this.handleMouseUp, this, true);
+            EU.on(document, "mousemove", this.handleMouseMove, this, true);
+            EU.on(window,   "unload",    this._onUnload, this, true);
+            EU.on(window,   "resize",    this._onResize, this, true);
+            // EU.on(window,   "mouseout",    this._test);
+
+        };
+
+        /**
+         * Reset constraints on all drag and drop objs
+         * @private
+         */
+        this._onResize = function(e) {
+            this._execOnAll("resetConstraints", []);
+        };
+
+        /**
+         * Lock all drag and drop functionality
+         */
+        this.lock = function() { this.locked = true; };
+
+        /**
+         * Unlock all drag and drop functionality
+         */
+        this.unlock = function() { this.locked = false; };
+
+        /**
+         * Is drag and drop locked?
+         *
+         * @return {boolean} True if drag and drop is locked, false otherwise.
+         */
+        this.isLocked = function() { return this.locked; };
+
+        /**
+         * Location cache that is set for all drag drop objects when a drag is
+         * initiated, cleared when the drag is finished.
+         *
+         * @private
+         */
+        this.locationCache = {};
+
+        /**
+         * Set useCache to false if you want to force object the lookup of each
+         * drag and drop linked element constantly during a drag.
+         * @type boolean
+         */
+        this.useCache = true;
+
+        /**
+         * The number of pixels that the mouse needs to move after the
+         * mousedown before the drag is initiated.  Default=3;
+         * @type int
+         */
+        this.clickPixelThresh = 3;
+
+        /**
+         * The number of milliseconds after the mousedown event to initiate the
+         * drag if we don't get a mouseup event. Default=1000
+         * @type int
+         */
+        this.clickTimeThresh = 1000;
+
+        /**
+         * Flag that indicates that either the drag pixel threshold or the
+         * mousdown time threshold has been met
+         * @type boolean
+         * @private
+         */
+        this.dragThreshMet = false;
+
+        /**
+         * Timeout used for the click time threshold
+         * @type Object
+         * @private
+         */
+        this.clickTimeout = null;
+
+        /**
+         * The X position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startX = 0;
+
+        /**
+         * The Y position of the mousedown event stored for later use when a
+         * drag threshold is met.
+         * @type int
+         * @private
+         */
+        this.startY = 0;
+
+        /**
+         * Each DragDrop instance must be registered with the DragDropMgr.
+         * This is executed in DragDrop.init()
+         *
+         * @param {DragDrop} oDD the DragDrop object to register
+         * @param {String} sGroup the name of the group this element belongs to
+         */
+        this.regDragDrop = function(oDD, sGroup) {
+            if (!this.initialized) { this.init(); }
+
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+            this.ids[sGroup][oDD.id] = oDD;
+        };
+
+        /**
+         * Removes the supplied dd instance from the supplied group. Executed
+         * by DragDrop.removeFromGroup.
+         * @private
+         */
+        this.removeDDFromGroup = function(oDD, sGroup) {
+            if (!this.ids[sGroup]) {
+                this.ids[sGroup] = {};
+            }
+
+            var obj = this.ids[sGroup];
+            if (obj && obj[oDD.id]) {
+                delete obj[oDD.id];
+            }
+        };
+
+        /**
+         * Unregisters a drag and drop item.  This is executed in
+         * DragDrop.unreg, use that method instead of calling this directly.
+         * @private
+         */
+        this._remove = function(oDD) {
+            for (var g in oDD.groups) {
+                if (g && this.ids[g][oDD.id]) {
+                    delete this.ids[g][oDD.id];
+                }
+            }
+            delete this.handleIds[oDD.id];
+        };
+
+        /**
+         * Each DragDrop handle element must be registered.  This is done
+         * automatically when executing DragDrop.setHandleElId()
+         *
+         * @param {String} sDDId the DragDrop id this element is a handle for
+         * @param {String} sHandleId the id of the element that is the drag
+         * handle
+         */
+        this.regHandle = function(sDDId, sHandleId) {
+            if (!this.handleIds[sDDId]) {
+                this.handleIds[sDDId] = {};
+            }
+            this.handleIds[sDDId][sHandleId] = sHandleId;
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop item.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop item,
+         * false otherwise
+         */
+        this.isDragDrop = function(id) {
+            return ( this.getDDById(id) ) ? true : false;
+        };
+
+        /**
+         * Returns the drag and drop instances that are in all groups the
+         * passed in instance belongs to.
+         *
+         * @param {DragDrop} p_oDD the obj to get related data for
+         * @param {boolean} bTargetsOnly if true, only return targetable objs
+         * @return {DragDrop[]} the related instances
+         */
+        this.getRelated = function(p_oDD, bTargetsOnly) {
+            var oDDs = [];
+            for (var i in p_oDD.groups) {
+                for (j in this.ids[i]) {
+                    var dd = this.ids[i][j];
+                    if (! this.isTypeOfDD(dd)) {
+                        continue;
+                    }
+                    if (!bTargetsOnly || dd.isTarget) {
+                        oDDs[oDDs.length] = dd;
+                    }
+                }
+            }
+
+            return oDDs;
+        };
+
+        /**
+         * Returns true if the specified dd target is a legal target for
+         * the specifice drag obj
+         *
+         * @param {DragDrop} the drag obj
+         * @param {DragDrop) the target
+         * @return {boolean} true if the target is a legal target for the
+         * dd obj
+         */
+        this.isLegalTarget = function (oDD, oTargetDD) {
+            var targets = this.getRelated(oDD, true);
+            for (var i=0, len=targets.length;i<len;++i) {
+                if (targets[i].id == oTargetDD.id) {
+                    return true;
+                }
+            }
+
+            return false;
+        };
+
+        /**
+         * My goal is to be able to transparently determine if an object is
+         * typeof DragDrop, and the exact subclass of DragDrop.  typeof
+         * returns "object", oDD.constructor.toString() always returns
+         * "DragDrop" and not the name of the subclass.  So for now it just
+         * evaluates a well-known variable in DragDrop.
+         *
+         * @param {Object} the object to evaluate
+         * @return {boolean} true if typeof oDD = DragDrop
+         */
+        this.isTypeOfDD = function (oDD) {
+            return (oDD && oDD.__ygDragDrop);
+        };
+
+        /**
+         * Utility function to determine if a given element has been
+         * registered as a drag drop handle for the given Drag Drop object.
+         *
+         * @param {String} id the element id to check
+         * @return {boolean} true if this element is a DragDrop handle, false
+         * otherwise
+         */
+        this.isHandle = function(sDDId, sHandleId) {
+            return ( this.handleIds[sDDId] &&
+                            this.handleIds[sDDId][sHandleId] );
+        };
+
+        /**
+         * Returns the DragDrop instance for a given id
+         *
+         * @param {String} id the id of the DragDrop object
+         * @return {DragDrop} the drag drop object, null if it is not found
+         */
+        this.getDDById = function(id) {
+            for (var i in this.ids) {
+                if (this.ids[i][id]) {
+                    return this.ids[i][id];
+                }
+            }
+            return null;
+        };
+
+        /**
+         * Fired after a registered DragDrop object gets the mousedown event.
+         * Sets up the events required to track the object being dragged
+         *
+         * @param {Event} e the event
+         * @param oDD the DragDrop object being dragged
+         * @private
+         */
+        this.handleMouseDown = function(e, oDD) {
+
+            this.currentTarget = YAHOO.util.Event.getTarget(e);
+
+            this.dragCurrent = oDD;
+
+            var el = oDD.getEl();
+
+            // track start position
+            this.startX = YAHOO.util.Event.getPageX(e);
+            this.startY = YAHOO.util.Event.getPageY(e);
+
+            this.deltaX = this.startX - el.offsetLeft;
+            this.deltaY = this.startY - el.offsetTop;
+
+            this.dragThreshMet = false;
+
+            this.clickTimeout = setTimeout(
+                    function() {
+                        var DDM = YAHOO.util.DDM;
+                        DDM.startDrag(DDM.startX, DDM.startY);
+                    },
+                    this.clickTimeThresh );
+        };
+
+        /**
+         * Fired when either the drag pixel threshol or the mousedown hold
+         * time threshold has been met.
+         *
+         * @param x {int} the X position of the original mousedown
+         * @param y {int} the Y position of the original mousedown
+         */
+        this.startDrag = function(x, y) {
+            clearTimeout(this.clickTimeout);
+            if (this.dragCurrent) {
+                this.dragCurrent.b4StartDrag(x, y);
+                this.dragCurrent.startDrag(x, y);
+            }
+            this.dragThreshMet = true;
+        };
+
+        /**
+         * Internal function to handle the mouseup event.  Will be invoked
+         * from the context of the document.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseUp = function(e) {
+
+            if (! this.dragCurrent) {
+                return;
+            }
+
+            clearTimeout(this.clickTimeout);
+
+            if (this.dragThreshMet) {
+                this.fireEvents(e, true);
+            } else {
+            }
+
+            this.stopDrag(e);
+
+            this.stopEvent(e);
+        };
+
+        /**
+         * Utility to stop event propagation and event default, if these
+         * features are turned on.
+         *
+         * @param {Event} e the event as returned by this.getEvent()
+         */
+        this.stopEvent = function(e) {
+            if (this.stopPropagation) {
+                YAHOO.util.Event.stopPropagation(e);
+            }
+
+            if (this.preventDefault) {
+                YAHOO.util.Event.preventDefault(e);
+            }
+        };
+
+        /**
+         * Internal function to clean up event handlers after the drag
+         * operation is complete
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.stopDrag = function(e) {
+
+            // Fire the drag end event for the item that was dragged
+            if (this.dragCurrent) {
+                if (this.dragThreshMet) {
+                    this.dragCurrent.b4EndDrag(e);
+                    this.dragCurrent.endDrag(e);
+                }
+
+                this.dragCurrent.onMouseUp(e);
+            }
+
+            this.dragCurrent = null;
+            this.dragOvers = {};
+        };
+
+        /**
+         * Internal function to handle the mousemove event.  Will be invoked
+         * from the context of the html element.
+         *
+         * @TODO figure out what we can do about mouse events lost when the
+         * user drags objects beyond the window boundary.  Currently we can
+         * detect this in internet explorer by verifying that the mouse is
+         * down during the mousemove event.  Firefox doesn't give us the
+         * button state on the mousemove event.
+         *
+         * @param {Event} e the event
+         * @private
+         */
+        this.handleMouseMove = function(e) {
+            if (! this.dragCurrent) {
+                return true;
+            }
+
+            // var button = e.which || e.button;
+
+            // check for IE mouseup outside of page boundary
+            if (YAHOO.util.Event.isIE && !e.button) {
+                this.stopEvent(e);
+                return this.handleMouseUp(e);
+            }
+
+            if (!this.dragThreshMet) {
+                var diffX = Math.abs(this.startX - YAHOO.util.Event.getPageX(e));
+                var diffY = Math.abs(this.startY - YAHOO.util.Event.getPageY(e));
+                if (diffX > this.clickPixelThresh ||
+                            diffY > this.clickPixelThresh) {
+                    this.startDrag(this.startX, this.startY);
+                }
+            }
+
+            if (this.dragThreshMet) {
+                this.dragCurrent.b4Drag(e);
+                this.dragCurrent.onDrag(e);
+                this.fireEvents(e, false);
+            }
+
+            this.stopEvent(e);
+
+            return true;
+        };
+
+        /**
+         * Iterates over all of the DragDrop elements to find ones we are
+         * hovering over or dropping on
+         *
+         * @param {Event} e the event
+         * @param {boolean} isDrop is this a drop op or a mouseover op?
+         * @private
+         */
+        this.fireEvents = function(e, isDrop) {
+            var dc = this.dragCurrent;
+
+            // If the user did the mouse up outside of the window, we could
+            // get here even though we have ended the drag.
+            if (!dc || dc.isLocked()) {
+                return;
+            }
+
+            var x = YAHOO.util.Event.getPageX(e);
+            var y = YAHOO.util.Event.getPageY(e);
+            var pt = new YAHOO.util.Point(x,y);
+
+            // cache the previous dragOver array
+            var oldOvers = [];
+
+            var outEvts   = [];
+            var overEvts  = [];
+            var dropEvts  = [];
+            var enterEvts = [];
+
+            // Check to see if the object(s) we were hovering over is no longer
+            // being hovered over so we can fire the onDragOut event
+            for (var i in this.dragOvers) {
+
+                var ddo = this.dragOvers[i];
+
+                if (! this.isTypeOfDD(ddo)) {
+                    continue;
+                }
+
+                if (! this.isOverTarget(pt, ddo, this.mode)) {
+                    outEvts.push( ddo );
+                }
+
+                oldOvers[i] = true;
+                delete this.dragOvers[i];
+            }
+
+            for (var sGroup in dc.groups) {
+
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+
+                for (i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+                    if (! this.isTypeOfDD(oDD)) {
+                        continue;
+                    }
+
+                    if (oDD.isTarget && !oDD.isLocked() && oDD != dc) {
+                        if (this.isOverTarget(pt, oDD, this.mode)) {
+                            // look for drop interactions
+                            if (isDrop) {
+                                dropEvts.push( oDD );
+                            // look for drag enter and drag over interactions
+                            } else {
+
+                                // initial drag over: dragEnter fires
+                                if (!oldOvers[oDD.id]) {
+                                    enterEvts.push( oDD );
+                                // subsequent drag overs: dragOver fires
+                                } else {
+                                    overEvts.push( oDD );
+                                }
+
+                                this.dragOvers[oDD.id] = oDD;
+                            }
+                        }
+                    }
+                }
+            }
+
+            if (this.mode) {
+                if (outEvts.length) {
+                    dc.b4DragOut(e, outEvts);
+                    dc.onDragOut(e, outEvts);
+                }
+
+                if (enterEvts.length) {
+                    dc.onDragEnter(e, enterEvts);
+                }
+
+                if (overEvts.length) {
+                    dc.b4DragOver(e, overEvts);
+                    dc.onDragOver(e, overEvts);
+                }
+
+                if (dropEvts.length) {
+                    dc.b4DragDrop(e, dropEvts);
+                    dc.onDragDrop(e, dropEvts);
+                }
+
+            } else {
+                // fire dragout events
+                var len = 0;
+                for (i=0, len=outEvts.length; i<len; ++i) {
+                    dc.b4DragOut(e, outEvts[i].id);
+                    dc.onDragOut(e, outEvts[i].id);
+                }
+
+                // fire enter events
+                for (i=0,len=enterEvts.length; i<len; ++i) {
+                    // dc.b4DragEnter(e, oDD.id);
+                    dc.onDragEnter(e, enterEvts[i].id);
+                }
+
+                // fire over events
+                for (i=0,len=overEvts.length; i<len; ++i) {
+                    dc.b4DragOver(e, overEvts[i].id);
+                    dc.onDragOver(e, overEvts[i].id);
+                }
+
+                // fire drop events
+                for (i=0, len=dropEvts.length; i<len; ++i) {
+                    dc.b4DragDrop(e, dropEvts[i].id);
+                    dc.onDragDrop(e, dropEvts[i].id);
+                }
+
+            }
+
+        };
+
+        /**
+         * Helper function for getting the best match from the list of drag
+         * and drop objects returned by the drag and drop events when we are
+         * in INTERSECT mode.  It returns either the first object that the
+         * cursor is over, or the object that has the greatest overlap with
+         * the dragged element.
+         *
+         * @param  {DragDrop[]} dds The array of drag and drop objects
+         * targeted
+         * @return {DragDrop}       The best single match
+         */
+        this.getBestMatch = function(dds) {
+            var winner = null;
+            // Return null if the input is not what we expect
+            //if (!dds || !dds.length || dds.length == 0) {
+               // winner = null;
+            // If there is only one item, it wins
+            //} else if (dds.length == 1) {
+
+            var len = dds.length;
+
+            if (len == 1) {
+                winner = dds[0];
+            } else {
+                // Loop through the targeted items
+                for (var i=0; i<len; ++i) {
+                    var dd = dds[i];
+                    // If the cursor is over the object, it wins.  If the
+                    // cursor is over multiple matches, the first one we come
+                    // to wins.
+                    if (dd.cursorIsOver) {
+                        winner = dd;
+                        break;
+                    // Otherwise the object with the most overlap wins
+                    } else {
+                        if (!winner ||
+                            winner.overlap.getArea() < dd.overlap.getArea()) {
+                            winner = dd;
+                        }
+                    }
+                }
+            }
+
+            return winner;
+        };
+
+        /**
+         * Refreshes the cache of the top-left and bottom-right points of the
+         * drag and drop objects in the specified group(s).  This is in the
+         * format that is stored in the drag and drop instance, so typical
+         * usage is:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache(ddinstance.groups);
+         *
+         * Alternatively:
+         *
+         * YAHOO.util.DragDropMgr.refreshCache({group1:true, group2:true});
+         *
+         * @TODO this really should be an indexed array.  Alternatively this
+         * method could accept both.
+         *
+         * @param {Object} groups an associative array of groups to refresh
+         */
+        this.refreshCache = function(groups) {
+            for (var sGroup in groups) {
+                if ("string" != typeof sGroup) {
+                    continue;
+                }
+                for (var i in this.ids[sGroup]) {
+                    var oDD = this.ids[sGroup][i];
+
+                    if (this.isTypeOfDD(oDD)) {
+                    // if (this.isTypeOfDD(oDD) && oDD.isTarget) {
+                        var loc = this.getLocation(oDD);
+                        if (loc) {
+                            this.locationCache[oDD.id] = loc;
+                        } else {
+                            delete this.locationCache[oDD.id];
+                            // this will unregister the drag and drop object if
+                            // the element is not in a usable state
+                            // oDD.unreg();
+                        }
+                    }
+                }
+            }
+        };
+
+        /**
+         * This checks to make sure an element exists and is in the DOM.  The
+         * main purpose is to handle cases where innerHTML is used to remove
+         * drag and drop objects from the DOM.  IE provides an 'unspecified
+         * error' when trying to access the offsetParent of such an element
+         * @param {HTMLElement} el the element to check
+         * @return {boolean} true if the element looks usable
+         */
+        this.verifyEl = function(el) {
+            try {
+                if (el) {
+                    var parent = el.offsetParent;
+                    if (parent) {
+                        return true;
+                    }
+                }
+            } catch(e) {
+            }
+
+            return false;
+        };
+
+        /**
+         * Returns a Region object containing the drag and drop element's position
+         * and size, including the padding configured for it
+         *
+         * @param {DragDrop} oDD the drag and drop object to get the
+         *                       location for
+         * @return {YAHOO.util.Region} a Region object representing the total area
+         *                             the element occupies, including any padding
+         *                             the instance is configured for.
+         */
+        this.getLocation = function(oDD) {
+            if (! this.isTypeOfDD(oDD)) {
+                return null;
+            }
+
+            var el = oDD.getEl(), pos, x1, x2, y1, y2, t, r, b, l;
+
+            try {
+                pos= YAHOO.util.Dom.getXY(el);
+            } catch (e) { }
+
+            if (!pos) {
+                return null;
+            }
+
+            x1 = pos[0];
+            x2 = x1 + el.offsetWidth;
+            y1 = pos[1];
+            y2 = y1 + el.offsetHeight;
+
+            t = y1 - oDD.padding[0];
+            r = x2 + oDD.padding[1];
+            b = y2 + oDD.padding[2];
+            l = x1 - oDD.padding[3];
+
+            return new YAHOO.util.Region( t, r, b, l );
+        };
+
+        /**
+         * Checks the cursor location to see if it over the target
+         *
+         * @param {YAHOO.util.Point} pt The point to evaluate
+         * @param {DragDrop} oTarget the DragDrop object we are inspecting
+         * @return {boolean} true if the mouse is over the target
+         * @private
+         */
+        this.isOverTarget = function(pt, oTarget, intersect) {
+            // use cache if available
+            var loc = this.locationCache[oTarget.id];
+            if (!loc || !this.useCache) {
+                loc = this.getLocation(oTarget);
+                this.locationCache[oTarget.id] = loc;
+
+            }
+
+            if (!loc) {
+                return false;
+            }
+
+            oTarget.cursorIsOver = loc.contains( pt );
+
+            // DragDrop is using this as a sanity check for the initial mousedown
+            // in this case we are done.  In POINT mode, if the drag obj has no
+            // contraints, we are also done. Otherwise we need to evaluate the
+            // location of the target as related to the actual location of the
+            // dragged element.
+            var dc = this.dragCurrent;
+            if (!dc || !dc.getTargetCoord ||
+                    (!intersect && !dc.constrainX && !dc.constrainY)) {
+                return oTarget.cursorIsOver;
+            }
+
+            oTarget.overlap = null;
+
+            // Get the current location of the drag element, this is the
+            // location of the mouse event less the delta that represents
+            // where the original mousedown happened on the element.  We
+            // need to consider constraints and ticks as well.
+            var pos = dc.getTargetCoord(pt.x, pt.y);
+
+            var el = dc.getDragEl();
+            var curRegion = new YAHOO.util.Region( pos.y,
+                                                   pos.x + el.offsetWidth,
+                                                   pos.y + el.offsetHeight,
+                                                   pos.x );
+
+            var overlap = curRegion.intersect(loc);
+
+            if (overlap) {
+                oTarget.overlap = overlap;
+                return (intersect) ? true : oTarget.cursorIsOver;
+            } else {
+                return false;
+            }
+        };
+
+        /**
+         * @private
+         */
+        this._onUnload = function(e, me) {
+            this.unregAll();
+        };
+
+        /**
+         * Cleans up the drag and drop events and objects.
+         * @private
+         */
+        this.unregAll = function() {
+
+            if (this.dragCurrent) {
+                this.stopDrag();
+                this.dragCurrent = null;
+            }
+
+            this._execOnAll("unreg", []);
+
+            for (i in this.elementCache) {
+                delete this.elementCache[i];
+            }
+
+            this.elementCache = {};
+            this.ids = {};
+        };
+
+        /**
+         * A cache of DOM elements
+         * @private
+         */
+        this.elementCache = {};
+
+        /**
+         * Get the wrapper for the DOM element specified
+         *
+         * @param {String} id the id of the elment to get
+         * @return {YAHOO.util.DDM.ElementWrapper} the wrapped element
+         * @private
+         * @deprecated
+         */
+        this.getElWrapper = function(id) {
+            var oWrapper = this.elementCache[id];
+            if (!oWrapper || !oWrapper.el) {
+                oWrapper = this.elementCache[id] =
+                    new this.ElementWrapper(YAHOO.util.Dom.get(id));
+            }
+            return oWrapper;
+        };
+
+        /**
+         * Returns the actual DOM element
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The element
+         * @deprecated
+         */
+        this.getElement = function(id) {
+            return YAHOO.util.Dom.get(id);
+        };
+
+        /**
+         * Returns the style property for the DOM element (i.e.,
+         * document.getElById(id).style)
+         *
+         * @param {String} id the id of the elment to get
+         * @return {Object} The style property of the element
+         * @deprecated
+         */
+        this.getCss = function(id) {
+            var el = YAHOO.util.Dom.get(id);
+            return (el) ? el.style : null;
+        };
+
+        /**
+         * Inner class for cached elements
+         * @private
+         * @deprecated
+         */
+        this.ElementWrapper = function(el) {
+                /**
+                 * @private
+                 */
+                this.el = el || null;
+                /**
+                 * @private
+                 */
+                this.id = this.el && el.id;
+                /**
+                 * @private
+                 */
+                this.css = this.el && el.style;
+            };
+
+        /**
+         * Returns the X position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the X coordinate
+         * @deprecated
+         */
+        this.getPosX = function(el) {
+            return YAHOO.util.Dom.getX(el);
+        };
+
+        /**
+         * Returns the Y position of an html element
+         * @param el the element for which to get the position
+         * @return {int} the Y coordinate
+         * @deprecated
+         */
+        this.getPosY = function(el) {
+            return YAHOO.util.Dom.getY(el);
+        };
+
+        /**
+         * Swap two nodes.  In IE, we use the native method, for others we
+         * emulate the IE behavior
+         *
+         * @param n1 the first node to swap
+         * @param n2 the other node to swap
+         */
+        this.swapNode = function(n1, n2) {
+            if (n1.swapNode) {
+                n1.swapNode(n2);
+            } else {
+                var p = n2.parentNode;
+                var s = n2.nextSibling;
+
+                if (s == n1) {
+                    p.insertBefore(n1, n2);
+                } else if (n2 == n1.nextSibling) {
+                    p.insertBefore(n2, n1);
+                } else {
+                    n1.parentNode.replaceChild(n2, n1);
+                    p.insertBefore(n1, s);
+                }
+            }
+        };
+
+        /**
+         * @private
+         */
+        this.getScroll = function () {
+            var t, l;
+            if (document.documentElement && document.documentElement.scrollTop) {
+                t = document.documentElement.scrollTop;
+                l = document.documentElement.scrollLeft;
+            } else if (document.body) {
+                t = document.body.scrollTop;
+                l = document.body.scrollLeft;
+            }
+            return { top: t, left: l };
+        };
+
+        /**
+         * Returns the specified element style property
+         * @param {HTMLElement} el          the element
+         * @param {string}      styleProp   the style property
+         * @return {string} The value of the style property
+         * @deprecated, use YAHOO.util.Dom.getStyle
+         */
+        this.getStyle = function(el, styleProp) {
+            return YAHOO.util.Dom.getStyle(el, styleProp);
+        };
+
+        /**
+         * Gets the scrollTop
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollTop = function () { return this.getScroll().top; };
+
+        /**
+         * Gets the scrollLeft
+         * @return {int} the document's scrollTop
+         */
+        this.getScrollLeft = function () { return this.getScroll().left; };
+
+        /**
+         * Sets the x/y position of an element to the location of the
+         * target element.
+         * @param {HTMLElement} moveEl      The element to move
+         * @param {HTMLElement} targetEl    The position reference element
+         */
+        this.moveToEl = function (moveEl, targetEl) {
+            var aCoord = YAHOO.util.Dom.getXY(targetEl);
+            YAHOO.util.Dom.setXY(moveEl, aCoord);
+        };
+
+        /**
+         * Gets the client height
+         * @return {int} client height in px
+         * @deprecated
+         */
+        this.getClientHeight = function() {
+            return YAHOO.util.Dom.getClientHeight();
+        };
+
+        /**
+         * Gets the client width
+         * @return {int} client width in px
+         * @deprecated
+         */
+        this.getClientWidth = function() {
+            return YAHOO.util.Dom.getClientWidth();
+        };
+
+        /**
+         * numeric array sort function
+         */
+        this.numericSort = function(a, b) { return (a - b); };
+
+        /**
+         * @private
+         */
+        this._timeoutCount = 0;
+
+        /**
+         * Trying to make the load order less important.  Without this we get
+         * an error if this file is loaded before the Event Utility.
+         * @private
+         */
+        this._addListeners = function() {
+            var DDM = YAHOO.util.DDM;
+            if ( YAHOO.util.Event && document ) {
+                DDM._onLoad();
+            } else {
+                if (DDM._timeoutCount > 2000) {
+                } else {
+                    setTimeout(DDM._addListeners, 10);
+                    if (document && document.body) {
+                        DDM._timeoutCount += 1;
+                    }
+                }
+            }
+        };
+
+        /**
+         * Recursively searches the immediate parent and all child nodes for
+         * the handle element in order to determine wheter or not it was
+         * clicked.
+         * @param node the html element to inspect
+         */
+        this.handleWasClicked = function(node, id) {
+            if (this.isHandle(id, node.id)) {
+                return true;
+            } else {
+                // check to see if this is a text node child of the one we want
+                var p = node.parentNode;
+
+                while (p) {
+                    if (this.isHandle(id, p.id)) {
+                        return true;
+                    } else {
+                        p = p.parentNode;
+                    }
+                }
+            }
+
+            return false;
+        };
+
+    } ();
+
+    // shorter alias, save a few bytes
+    YAHOO.util.DDM = YAHOO.util.DragDropMgr;
+    YAHOO.util.DDM._addListeners();
+
+}
+
+//YAHOO.util.DragDropMgr.enableWindow = function(win) {
+    //var EU = YAHOO.util.Event;
+    //EU.on(win.document, "mouseup",   this.handleMouseUp,   this, true);
+    //EU.on(win.document, "mousemove", this.handleMouseMove, this, true);
+//};
+
+/**
+ * A DragDrop implementation where the linked element follows the
+ * mouse cursor during a drag.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the linked element
+ * @param {String} sGroup the group of related DragDrop items
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DD:
+ *                    scroll
+ */
+YAHOO.util.DD = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DD.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DD, YAHOO.util.DragDrop);
+
+/**
+ * When set to true, the utility automatically tries to scroll the browser
+ * window wehn a drag and drop element is dragged near the viewport boundary.
+ * Defaults to true.
+ *
+ * @type boolean
+ */
+YAHOO.util.DD.prototype.scroll = true;
+
+/**
+ * Sets the pointer offset to the distance between the linked element's top
+ * left corner and the location the element was clicked
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ */
+YAHOO.util.DD.prototype.autoOffset = function(iPageX, iPageY) {
+    // var el = this.getEl();
+    // var aCoord = YAHOO.util.Dom.getXY(el);
+    // var x = iPageX - aCoord[0];
+    // var y = iPageY - aCoord[1];
+    var x = iPageX - this.startPageX;
+    var y = iPageY - this.startPageY;
+    this.setDelta(x, y);
+};
+
+/**
+ * Sets the pointer offset.  You can call this directly to force the offset to
+ * be in a particular location (e.g., pass in 0,0 to set it to the center of the
+ * object, as done in YAHOO.widget.Slider)
+ *
+ * @param {int} iDeltaX the distance from the left
+ * @param {int} iDeltaY the distance from the top
+ */
+YAHOO.util.DD.prototype.setDelta = function(iDeltaX, iDeltaY) {
+    this.deltaX = iDeltaX;
+    this.deltaY = iDeltaY;
+};
+
+/**
+ * Sets the drag element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+
+YAHOO.util.DD.prototype.setDragElPos = function(iPageX, iPageY) {
+    // the first time we do this, we are going to check to make sure
+    // the element has css positioning
+
+    var el = this.getDragEl();
+
+    // if (!this.cssVerified) {
+        // var pos = el.style.position;
+    // }
+
+    this.alignElWithMouse(el, iPageX, iPageY);
+};
+
+/**
+ * Sets the element to the location of the mousedown or click event,
+ * maintaining the cursor location relative to the location on the element
+ * that was clicked.  Override this if you want to place the element in a
+ * location other than where the cursor is.
+ *
+ * @param {HTMLElement} el the element to move
+ * @param {int} iPageX the X coordinate of the mousedown or drag event
+ * @param {int} iPageY the Y coordinate of the mousedown or drag event
+ */
+YAHOO.util.DD.prototype.alignElWithMouse = function(el, iPageX, iPageY) {
+    var oCoord = this.getTargetCoord(iPageX, iPageY);
+
+    // this.deltaSetXY = null;
+    if (!this.deltaSetXY) {
+        var aCoord = [oCoord.x, oCoord.y];
+        YAHOO.util.Dom.setXY(el, aCoord);
+        var newLeft = parseInt( YAHOO.util.Dom.getStyle(el, "left"), 10 );
+        var newTop  = parseInt( YAHOO.util.Dom.getStyle(el, "top" ), 10 );
+
+        this.deltaSetXY = [ newLeft - oCoord.x, newTop - oCoord.y ];
+
+    } else {
+        YAHOO.util.Dom.setStyle(el, "left", (oCoord.x + this.deltaSetXY[0]) + "px");
+        YAHOO.util.Dom.setStyle(el, "top",  (oCoord.y + this.deltaSetXY[1]) + "px");
+    }
+
+
+    this.cachePosition(oCoord.x, oCoord.y);
+
+    this.autoScroll(oCoord.x, oCoord.y, el.offsetHeight, el.offsetWidth);
+};
+
+/**
+ * Saves the most recent position so that we can reset the constraints and
+ * tick marks on-demand.  We need to know this so that we can calculate the
+ * number of pixels the element is offset from its original position.
+ */
+YAHOO.util.DD.prototype.cachePosition = function(iPageX, iPageY) {
+    if (iPageX) {
+        this.lastPageX = iPageX;
+        this.lastPageY = iPageY;
+    } else {
+        var aCoord = YAHOO.util.Dom.getXY(this.getEl());
+        this.lastPageX = aCoord[0];
+        this.lastPageY = aCoord[1];
+    }
+};
+
+/**
+ * Auto-scroll the window if the dragged object has been moved beyond the
+ * visible window boundary.
+ *
+ * @param {int} x the drag element's x position
+ * @param {int} y the drag element's y position
+ * @param {int} h the height of the drag element
+ * @param {int} w the width of the drag element
+ * @private
+ */
+YAHOO.util.DD.prototype.autoScroll = function(x, y, h, w) {
+
+    if (this.scroll) {
+        // The client height
+        var clientH = this.DDM.getClientHeight();
+
+        // The client width
+        var clientW = this.DDM.getClientWidth();
+
+        // The amt scrolled down
+        var st = this.DDM.getScrollTop();
+
+        // The amt scrolled right
+        var sl = this.DDM.getScrollLeft();
+
+        // Location of the bottom of the element
+        var bot = h + y;
+
+        // Location of the right of the element
+        var right = w + x;
+
+        // The distance from the cursor to the bottom of the visible area,
+        // adjusted so that we don't scroll if the cursor is beyond the
+        // element drag constraints
+        var toBot = (clientH + st - y - this.deltaY);
+
+        // The distance from the cursor to the right of the visible area
+        var toRight = (clientW + sl - x - this.deltaX);
+
+
+        // How close to the edge the cursor must be before we scroll
+        // var thresh = (document.all) ? 100 : 40;
+        var thresh = 40;
+
+        // How many pixels to scroll per autoscroll op.  This helps to reduce
+        // clunky scrolling. IE is more sensitive about this ... it needs this
+        // value to be higher.
+        var scrAmt = (document.all) ? 80 : 30;
+
+        // Scroll down if we are near the bottom of the visible page and the
+        // obj extends below the crease
+        if ( bot > clientH && toBot < thresh ) {
+            window.scrollTo(sl, st + scrAmt);
+        }
+
+        // Scroll up if the window is scrolled down and the top of the object
+        // goes above the top border
+        if ( y < st && st > 0 && y - st < thresh ) {
+            window.scrollTo(sl, st - scrAmt);
+        }
+
+        // Scroll right if the obj is beyond the right border and the cursor is
+        // near the border.
+        if ( right > clientW && toRight < thresh ) {
+            window.scrollTo(sl + scrAmt, st);
+        }
+
+        // Scroll left if the window has been scrolled to the right and the obj
+        // extends past the left border
+        if ( x < sl && sl > 0 && x - sl < thresh ) {
+            window.scrollTo(sl - scrAmt, st);
+        }
+    }
+};
+
+/**
+ * Finds the location the element should be placed if we want to move
+ * it to where the mouse location less the click offset would place us.
+ *
+ * @param {int} iPageX the X coordinate of the click
+ * @param {int} iPageY the Y coordinate of the click
+ * @return an object that contains the coordinates (Object.x and Object.y)
+ * @private
+ */
+YAHOO.util.DD.prototype.getTargetCoord = function(iPageX, iPageY) {
+
+
+    var x = iPageX - this.deltaX;
+    var y = iPageY - this.deltaY;
+
+    if (this.constrainX) {
+        if (x < this.minX) { x = this.minX; }
+        if (x > this.maxX) { x = this.maxX; }
+    }
+
+    if (this.constrainY) {
+        if (y < this.minY) { y = this.minY; }
+        if (y > this.maxY) { y = this.maxY; }
+    }
+
+    x = this.getTick(x, this.xTicks);
+    y = this.getTick(y, this.yTicks);
+
+
+    return {x:x, y:y};
+};
+
+YAHOO.util.DD.prototype.applyConfig = function() {
+    YAHOO.util.DD.superclass.applyConfig.call(this);
+    this.scroll = (this.config.scroll !== false);
+};
+
+/**
+ * Event that fires prior to the onMouseDown event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4MouseDown = function(e) {
+    // this.resetConstraints();
+    this.autoOffset(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+/**
+ * Event that fires prior to the onDrag event.  Overrides
+ * YAHOO.util.DragDrop.
+ */
+YAHOO.util.DD.prototype.b4Drag = function(e) {
+    this.setDragElPos(YAHOO.util.Event.getPageX(e),
+                        YAHOO.util.Event.getPageY(e));
+};
+
+YAHOO.util.DD.prototype.toString = function() {
+    return ("DD " + this.id);
+};
+
+///////////////////////////////////////////////////////////////////////////////
+// Debugging ygDragDrop events that can be overridden
+///////////////////////////////////////////////////////////////////////////////
+/*
+YAHOO.util.DD.prototype.startDrag = function(x, y) {
+};
+
+YAHOO.util.DD.prototype.onDrag = function(e) {
+};
+
+YAHOO.util.DD.prototype.onDragEnter = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOver = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragOut = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.onDragDrop = function(e, id) {
+};
+
+YAHOO.util.DD.prototype.endDrag = function(e) {
+};
+*/
+
+/**
+ * A DragDrop implementation that inserts an empty, bordered div into
+ * the document that follows the cursor during drag operations.  At the time of
+ * the click, the frame div is resized to the dimensions of the linked html
+ * element, and moved to the exact location of the linked element.
+ *
+ * References to the "frame" element refer to the single proxy element that
+ * was created to be dragged in place of all DDProxy elements on the
+ * page.
+ *
+ * @extends YAHOO.util.DD
+ * @constructor
+ * @param {String} id the id of the linked html element
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDProxy in addition to those in DragDrop:
+ *                   resizeFrame, centerFrame, dragElId
+ */
+YAHOO.util.DDProxy = function(id, sGroup, config) {
+    if (id) {
+        this.init(id, sGroup, config);
+        this.initFrame();
+    }
+};
+
+YAHOO.extend(YAHOO.util.DDProxy, YAHOO.util.DD);
+
+/**
+ * The default drag frame div id
+ * @type String
+ */
+YAHOO.util.DDProxy.dragElId = "ygddfdiv";
+
+/**
+ * By default we resize the drag frame to be the same size as the element
+ * we want to drag (this is to get the frame effect).  We can turn it off
+ * if we want a different behavior.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.resizeFrame = true;
+
+/**
+ * By default the frame is positioned exactly where the drag element is, so
+ * we use the cursor offset provided by YAHOO.util.DD.  Another option that works only if
+ * you do not have constraints on the obj is to have the drag frame centered
+ * around the cursor.  Set centerFrame to true for this effect.
+ *
+ * @type boolean
+ */
+YAHOO.util.DDProxy.prototype.centerFrame = false;
+
+/**
+ * Create the drag frame if needed
+ */
+YAHOO.util.DDProxy.prototype.createFrame = function() {
+    var self = this;
+    var body = document.body;
+
+    if (!body || !body.firstChild) {
+        setTimeout( function() { self.createFrame(); }, 50 );
+        return;
+    }
+
+    var div = this.getDragEl();
+
+    if (!div) {
+        div    = document.createElement("div");
+        div.id = this.dragElId;
+        var s  = div.style;
+
+        s.position   = "absolute";
+        s.visibility = "hidden";
+        s.cursor     = "move";
+        s.border     = "2px solid #aaa";
+        s.zIndex     = 999;
+
+        // appendChild can blow up IE if invoked prior to the window load event
+        // while rendering a table.  It is possible there are other scenarios
+        // that would cause this to happen as well.
+        body.insertBefore(div, body.firstChild);
+    }
+};
+
+/**
+ * Initialization for the drag frame element.  Must be called in the
+ * constructor of all subclasses
+ */
+YAHOO.util.DDProxy.prototype.initFrame = function() {
+    // YAHOO.util.DDProxy.createFrame();
+    // this.setDragElId(YAHOO.util.DDProxy.dragElId);
+
+    this.createFrame();
+
+};
+
+YAHOO.util.DDProxy.prototype.applyConfig = function() {
+    YAHOO.util.DDProxy.superclass.applyConfig.call(this);
+
+    this.resizeFrame = (this.config.resizeFrame !== false);
+    this.centerFrame = (this.config.centerFrame);
+    this.setDragElId(this.config.dragElId || YAHOO.util.DDProxy.dragElId);
+
+};
+
+/**
+ * Resizes the drag frame to the dimensions of the clicked object, positions
+ * it over the object, and finally displays it
+ *
+ * @param {int} iPageX X click position
+ * @param {int} iPageY Y click position
+ * @private
+ */
+YAHOO.util.DDProxy.prototype.showFrame = function(iPageX, iPageY) {
+    var el = this.getEl();
+    var dragEl = this.getDragEl();
+    var s = dragEl.style;
+
+    this._resizeProxy();
+
+    if (this.centerFrame) {
+        this.setDelta( Math.round(parseInt(s.width,  10)/2),
+                       Math.round(parseInt(s.height, 10)/2) );
+    }
+
+    this.setDragElPos(iPageX, iPageY);
+
+    YAHOO.util.Dom.setStyle(dragEl, "visibility", "visible");
+};
+
+YAHOO.util.DDProxy.prototype._resizeProxy = function() {
+    if (this.resizeFrame) {
+        var DOM    = YAHOO.util.Dom;
+        var el     = this.getEl();
+        var dragEl = this.getDragEl();
+
+        var bt = parseInt( DOM.getStyle(dragEl, "borderTopWidth"    ), 10);
+        var br = parseInt( DOM.getStyle(dragEl, "borderRightWidth"  ), 10);
+        var bb = parseInt( DOM.getStyle(dragEl, "borderBottomWidth" ), 10);
+        var bl = parseInt( DOM.getStyle(dragEl, "borderLeftWidth"   ), 10);
+
+        if (isNaN(bt)) { bt = 0; }
+        if (isNaN(br)) { br = 0; }
+        if (isNaN(bb)) { bb = 0; }
+        if (isNaN(bl)) { bl = 0; }
+
+
+        var newWidth  = Math.max(0, el.offsetWidth  - br - bl);
+        var newHeight = Math.max(0, el.offsetHeight - bt - bb);
+
+
+        DOM.setStyle( dragEl, "width",  newWidth  + "px" );
+        DOM.setStyle( dragEl, "height", newHeight + "px" );
+    }
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4MouseDown = function(e) {
+    var x = YAHOO.util.Event.getPageX(e);
+    var y = YAHOO.util.Event.getPageY(e);
+    this.autoOffset(x, y);
+    this.setDragElPos(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4StartDrag = function(x, y) {
+    // show the drag frame
+    this.showFrame(x, y);
+};
+
+// overrides YAHOO.util.DragDrop
+YAHOO.util.DDProxy.prototype.b4EndDrag = function(e) {
+    YAHOO.util.Dom.setStyle(this.getDragEl(), "visibility", "hidden");
+};
+
+// overrides YAHOO.util.DragDrop
+// By default we try to move the element to the last location of the frame.
+// This is so that the default behavior mirrors that of YAHOO.util.DD.
+YAHOO.util.DDProxy.prototype.endDrag = function(e) {
+    var DOM = YAHOO.util.Dom;
+    var lel = this.getEl();
+    var del = this.getDragEl();
+
+    // Show the drag frame briefly so we can get its position
+    // del.style.visibility = "";
+    DOM.setStyle(del, "visibility", "");
+
+    // Hide the linked element before the move to get around a Safari
+    // rendering bug.
+    //lel.style.visibility = "hidden";
+    DOM.setStyle(lel, "visibility", "hidden");
+    YAHOO.util.DDM.moveToEl(lel, del);
+    //del.style.visibility = "hidden";
+    DOM.setStyle(del, "visibility", "hidden");
+    //lel.style.visibility = "";
+    DOM.setStyle(lel, "visibility", "");
+};
+
+YAHOO.util.DDProxy.prototype.toString = function() {
+    return ("DDProxy " + this.id);
+};
+
+/**
+ * A DragDrop implementation that does not move, but can be a drop
+ * target.  You would get the same result by simply omitting implementation
+ * for the event callbacks, but this way we reduce the processing cost of the
+ * event listener and the callbacks.
+ *
+ * @extends YAHOO.util.DragDrop
+ * @constructor
+ * @param {String} id the id of the element that is a drop target
+ * @param {String} sGroup the group of related DragDrop objects
+ * @param {object} config an object containing configurable attributes
+ *                Valid properties for DDTarget in addition to those in DragDrop:
+ *                  none
+ */
+
+YAHOO.util.DDTarget = function(id, sGroup, config) {
+    if (id) {
+        this.initTarget(id, sGroup, config);
+    }
+};
+
+// YAHOO.util.DDTarget.prototype = new YAHOO.util.DragDrop();
+YAHOO.extend(YAHOO.util.DDTarget, YAHOO.util.DragDrop);
+
+YAHOO.util.DDTarget.prototype.toString = function() {
+    return ("DDTarget " + this.id);
+};
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/event.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/event.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,1326 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The CustomEvent class lets you define events for your application
+ * that can be subscribed to by one or more independent component.
+ *
+ * @param {String}  type The type of event, which is passed to the callback
+ *                  when the event fires
+ * @param {Object}  oScope The context the event will fire from.  "this" will
+ *                  refer to this object in the callback.  Default value:
+ *                  the window object.  The listener can override this.
+ * @param {boolean} silent pass true to prevent the event from writing to
+ *                  the log system
+ * @namespace YAHOO.util
+ * @class CustomEvent
+ * @constructor
+ */
+YAHOO.util.CustomEvent = function(type, oScope, silent) {
+
+    /**
+     * The type of event, returned to subscribers when the event fires
+     * @property type
+     * @type string
+     */
+    this.type = type;
+
+    /**
+     * The scope the the event will fire from by default.  Defaults to the window
+     * obj
+     * @property scope
+     * @type object
+     */
+    this.scope = oScope || window;
+
+    /**
+     * By default all custom events are logged in the debug build, set silent
+     * to true to disable logging for this event.
+     * @property silent
+     * @type boolean
+     */
+    this.silent = silent;
+
+    /**
+     * The subscribers to this event
+     * @property subscribers
+     * @type Subscriber[]
+     */
+    this.subscribers = [];
+
+    if (!this.silent) {
+    }
+
+    // Only add subscribe events for events that are not generated by CustomEvent
+    //if (oScope && (oScope.constructor != this.constructor)) {
+
+        /*
+         * Custom events provide a custom event that fires whenever there is
+         * a new subscriber to the event.  This provides an opportunity to
+         * handle the case where there is a non-repeating event that has
+         * already fired has a new subscriber.
+         *
+         * type CustomEvent
+         */
+        //this.subscribeEvent =
+                //new YAHOO.util.CustomEvent("subscribe", this, true);
+
+    //}
+};
+
+YAHOO.util.CustomEvent.prototype = {
+    /**
+     * Subscribes the caller to this event
+     * @method subscribe
+     * @param {Function} fn       The function to execute
+     * @param {Object}   obj      An object to be passed along when the event fires
+     * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+     *                            scope of the listener
+     */
+    subscribe: function(fn, obj, bOverride) {
+        //if (this.subscribeEvent) {
+            //this.subscribeEvent.fire(fn, obj, bOverride);
+        //}
+
+        this.subscribers.push( new YAHOO.util.Subscriber(fn, obj, bOverride) );
+    },
+
+    /**
+     * Unsubscribes the caller from this event
+     * @method unsubscribe
+     * @param {Function} fn  The function to execute
+     * @param {Object}   obj An object to be passed along when the event fires
+     * @return {boolean} True if the subscriber was found and detached.
+     */
+    unsubscribe: function(fn, obj) {
+        var found = false;
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s && s.contains(fn, obj)) {
+                this._delete(i);
+                found = true;
+            }
+        }
+
+        return found;
+    },
+
+    /**
+     * Notifies the subscribers.  The callback functions will be executed
+     * from the scope specified when the event was created, and with the following
+     * parameters:
+     *   <pre>
+     *   - The type of event
+     *   - All of the arguments fire() was executed with as an array
+     *   - The custom object (if any) that was passed into the subscribe() method
+     *   </pre>
+     * @method fire
+     * @param {Array} an arbitrary set of parameters to pass to the handler
+     */
+    fire: function() {
+        var len=this.subscribers.length;
+        if (!len && this.silent) {
+            return;
+        }
+
+        var args = [];
+
+        for (var i=0; i<arguments.length; ++i) {
+            args.push(arguments[i]);
+        }
+
+        if (!this.silent) {
+        }
+
+        for (i=0; i<len; ++i) {
+            var s = this.subscribers[i];
+            if (s) {
+                if (!this.silent) {
+                }
+                var scope = (s.override) ? s.obj : this.scope;
+                s.fn.call(scope, this.type, args, s.obj);
+            }
+        }
+    },
+
+    /**
+     * Removes all listeners
+     * @method unsubscribeAll
+     */
+    unsubscribeAll: function() {
+        for (var i=0, len=this.subscribers.length; i<len; ++i) {
+            this._delete(len - 1 - i);
+        }
+    },
+
+    /**
+     * @method _delete
+     * @private
+     */
+    _delete: function(index) {
+        var s = this.subscribers[index];
+        if (s) {
+            delete s.fn;
+            delete s.obj;
+        }
+
+        // delete this.subscribers[index];
+        this.subscribers.splice(index, 1);
+    },
+
+    /**
+     * @method toString
+     */
+    toString: function() {
+         return "CustomEvent: " + "'" + this.type  + "', " +
+             "scope: " + this.scope;
+
+    }
+};
+
+/////////////////////////////////////////////////////////////////////
+
+/**
+ * Stores the subscriber information to be used when the event fires.
+ * @param {Function} fn       The function to execute
+ * @param {Object}   obj      An object to be passed along when the event fires
+ * @param {boolean}  bOverride If true, the obj passed in becomes the execution
+ *                            scope of the listener
+ * @class Subscriber
+ * @constructor
+ */
+YAHOO.util.Subscriber = function(fn, obj, bOverride) {
+
+    /**
+     * The callback that will be execute when the event fires
+     * @property fn
+     * @type function
+     */
+    this.fn = fn;
+
+    /**
+     * An optional custom object that will passed to the callback when
+     * the event fires
+     * @property obj
+     * @type object
+     */
+    this.obj = obj || null;
+
+    /**
+     * The default execution scope for the event listener is defined when the
+     * event is created (usually the object which contains the event).
+     * By setting override to true, the execution scope becomes the custom
+     * object passed in by the subscriber
+     * @property override
+     * @type boolean
+     */
+    this.override = (bOverride);
+};
+
+/**
+ * Returns true if the fn and obj match this objects properties.
+ * Used by the unsubscribe method to match the right subscriber.
+ *
+ * @method contains
+ * @param {Function} fn the function to execute
+ * @param {Object} obj an object to be passed along when the event fires
+ * @return {boolean} true if the supplied arguments match this
+ *                   subscriber's signature.
+ */
+YAHOO.util.Subscriber.prototype.contains = function(fn, obj) {
+    return (this.fn == fn && this.obj == obj);
+};
+
+/**
+ * @method toString
+ */
+YAHOO.util.Subscriber.prototype.toString = function() {
+    return "Subscriber { obj: " + (this.obj || "")  +
+           ", override: " +  (this.override || "no") + " }";
+};
+
+// The first instance of Event will win if it is loaded more than once.
+if (!YAHOO.util.Event) {
+
+/**
+ * The event utility provides functions to add and remove event listeners,
+ * event cleansing.  It also tries to automatically remove listeners it
+ * registers during the unload event.
+ * @namespace YAHOO.util
+ * @class Event
+ */
+    YAHOO.util.Event = function() {
+
+        /**
+         * True after the onload event has fired
+         * @property loadComplete
+         * @type boolean
+         * @private
+         */
+        var loadComplete =  false;
+
+        /**
+         * Cache of wrapped listeners
+         * @property listeners
+         * @type array
+         * @private
+         */
+        var listeners = [];
+
+        /**
+         * Listeners that will be attached during the onload event
+         * @property delayedListeners
+         * @type array
+         * @private
+         */
+        var delayedListeners = [];
+
+        /**
+         * User-defined unload function that will be fired before all events
+         * are detached
+         * @property unloadListeners
+         * @type array
+         * @private
+         */
+        var unloadListeners = [];
+
+        /**
+         * Cache of DOM0 event handlers to work around issues with DOM2 events
+         * in Safari
+         * @property legacyEvents
+         * @private
+         */
+        var legacyEvents = [];
+
+        /**
+         * Listener stack for DOM0 events
+         * @property legacyHandlers
+         * @private
+         */
+        var legacyHandlers = [];
+
+        /**
+         * The number of times to poll after window.onload.  This number is
+         * increased if additional late-bound handlers are requested after
+         * the page load.
+         * @property retryCount
+         * @private
+         */
+        var retryCount = 0;
+
+        /**
+         * onAvailable listeners
+         * @property onAvailStack
+         * @private
+         */
+        var onAvailStack = [];
+
+        /**
+         * Lookup table for legacy events
+         * @property legacyMap
+         * @private
+         */
+        var legacyMap = [];
+
+        /**
+         * Counter for auto id generation
+         * @property counter
+         * @private
+         */
+        var counter = 0;
+
+        return { // PREPROCESS
+
+            /**
+             * The number of times we should look for elements that are not
+             * in the DOM at the time the event is requested after the document
+             * has been loaded.  The default is 200 at amp;50 ms, so it will poll
+             * for 10 seconds or until all outstanding handlers are bound
+             * (whichever comes first).
+             * @property POLL_RETRYS
+             * @type int
+             */
+            POLL_RETRYS: 200,
+
+            /**
+             * The poll interval in milliseconds
+             * @property POLL_INTERVAL
+             * @type int
+             */
+            POLL_INTERVAL: 50,
+
+            /**
+             * Element to bind, int constant
+             * @property EL
+             * @type int
+             */
+            EL: 0,
+
+            /**
+             * Type of event, int constant
+             * @property TYPE
+             * @type int
+             */
+            TYPE: 1,
+
+            /**
+             * Function to execute, int constant
+             * @property FN
+             * @type int
+             */
+            FN: 2,
+
+            /**
+             * Function wrapped for scope correction and cleanup, int constant
+             * @property WFN
+             * @type int
+             */
+            WFN: 3,
+
+            /**
+             * Object passed in by the user that will be returned as a
+             * parameter to the callback, int constant
+             * @property SCOPE
+             * @type int
+             */
+            SCOPE: 3,
+
+            /**
+             * Adjusted scope, either the element we are registering the event
+             * on or the custom object passed in by the listener, int constant
+             * @property ADJ_SCOPE
+             * @type int
+             */
+            ADJ_SCOPE: 4,
+
+            /**
+             * Safari detection is necessary to work around the preventDefault
+             * bug that makes it so you can't cancel a href click from the
+             * handler.  There is not a capabilities check we can use here.
+             * @property isSafari
+             * @private
+             */
+            isSafari: (/Safari|Konqueror|KHTML/gi).test(navigator.userAgent),
+
+            /**
+             * IE detection needed to properly calculate pageX and pageY.
+             * capabilities checking didn't seem to work because another
+             * browser that does not provide the properties have the values
+             * calculated in a different manner than IE.
+             * @property isIE
+             * @private
+             */
+            isIE: (!this.isSafari && !navigator.userAgent.match(/opera/gi) &&
+                    navigator.userAgent.match(/msie/gi)),
+
+            /**
+             * @method addDelayedListener
+             * @private
+             */
+            addDelayedListener: function(el, sType, fn, oScope, bOverride) {
+                delayedListeners[delayedListeners.length] =
+                    [el, sType, fn, oScope, bOverride];
+
+                // If this happens after the inital page load, we need to
+                // reset the poll counter so that we continue to search for
+                // the element for a fixed period of time.
+                if (loadComplete) {
+                    retryCount = this.POLL_RETRYS;
+                    this.startTimeout(0);
+                    // this._tryPreloadAttach();
+                }
+            },
+
+            /**
+             * @method startTimeout
+             * @private
+             */
+            startTimeout: function(interval) {
+                var i = (interval || interval === 0) ? interval : this.POLL_INTERVAL;
+                var self = this;
+                var callback = function() { self._tryPreloadAttach(); };
+                this.timeout = setTimeout(callback, i);
+            },
+
+            /**
+             * Executes the supplied callback when the item with the supplied
+             * id is found.  This is meant to be used to execute behavior as
+             * soon as possible as the page loads.  If you use this after the
+             * initial page load it will poll for a fixed time for the element.
+             * The number of times it will poll and the frequency are
+             * configurable.  By default it will poll for 10 seconds.
+             *
+             * @method onAvailable
+             *
+             * @param {string}   p_id the id of the element to look for.
+             * @param {function} p_fn what to execute when the element is found.
+             * @param {object}   p_obj an optional object to be passed back as
+             *                   a parameter to p_fn.
+             * @param {boolean}  p_override If set to true, p_fn will execute
+             *                   in the scope of p_obj
+             *
+             */
+            onAvailable: function(p_id, p_fn, p_obj, p_override) {
+                onAvailStack.push( { id:       p_id,
+                                     fn:       p_fn,
+                                     obj:      p_obj,
+                                     override: p_override } );
+
+                retryCount = this.POLL_RETRYS;
+                this.startTimeout(0);
+                // this._tryPreloadAttach();
+            },
+
+            /**
+             * Appends an event handler
+             *
+             * @method addListener
+             *
+             * @param {Object}   el        The html element to assign the
+             *                             event to
+             * @param {String}   sType     The type of event to append
+             * @param {Function} fn        The method the event invokes
+             * @param {Object}   oScope    An arbitrary object that will be
+             *                             passed as a parameter to the handler
+             * @param {boolean}  bOverride If true, the obj passed in becomes
+             *                             the execution scope of the listener
+             * @return {boolean} True if the action was successful or defered,
+             *                        false if one or more of the elements
+             *                        could not have the event bound to it.
+             */
+            addListener: function(el, sType, fn, oScope, bOverride) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                // The el argument can be an array of elements or element ids.
+                if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (var i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.on(el[i],
+                                       sType,
+                                       fn,
+                                       oScope,
+                                       bOverride) && ok );
+                    }
+                    return ok;
+
+                } else if (typeof el == "string") {
+                    var oEl = this.getEl(el);
+                    // If the el argument is a string, we assume it is
+                    // actually the id of the element.  If the page is loaded
+                    // we convert el to the actual element, otherwise we
+                    // defer attaching the event until onload event fires
+
+                    // check to see if we need to delay hooking up the event
+                    // until after the page loads.
+                    if (loadComplete && oEl) {
+                        el = oEl;
+                    } else {
+                        // defer adding the event until onload fires
+                        this.addDelayedListener(el,
+                                                sType,
+                                                fn,
+                                                oScope,
+                                                bOverride);
+
+                        return true;
+                    }
+                }
+
+                // Element should be an html element or an array if we get
+                // here.
+                if (!el) {
+                    return false;
+                }
+
+                // we need to make sure we fire registered unload events
+                // prior to automatically unhooking them.  So we hang on to
+                // these instead of attaching them to the window and fire the
+                // handles explicitly during our one unload event.
+                if ("unload" == sType && oScope !== this) {
+                    unloadListeners[unloadListeners.length] =
+                            [el, sType, fn, oScope, bOverride];
+                    return true;
+                }
+
+                // if the user chooses to override the scope, we use the custom
+                // object passed in, otherwise the executing scope will be the
+                // HTML element that the event is registered on
+                var scope = (bOverride) ? oScope : el;
+
+                // wrap the function so we can return the oScope object when
+                // the event fires;
+                var wrappedFn = function(e) {
+                        return fn.call(scope, YAHOO.util.Event.getEvent(e),
+                                oScope);
+                    };
+
+                var li = [el, sType, fn, wrappedFn, scope];
+                var index = listeners.length;
+                // cache the listener so we can try to automatically unload
+                listeners[index] = li;
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+
+                    // Add a new dom0 wrapper if one is not detected for this
+                    // element
+                    if ( legacyIndex == -1 ||
+                                el != legacyEvents[legacyIndex][0] ) {
+
+                        legacyIndex = legacyEvents.length;
+                        legacyMap[el.id + sType] = legacyIndex;
+
+                        // cache the signature for the DOM0 event, and
+                        // include the existing handler for the event, if any
+                        legacyEvents[legacyIndex] =
+                            [el, sType, el["on" + sType]];
+                        legacyHandlers[legacyIndex] = [];
+
+                        el["on" + sType] =
+                            function(e) {
+                                YAHOO.util.Event.fireLegacyEvent(
+                                    YAHOO.util.Event.getEvent(e), legacyIndex);
+                            };
+                    }
+
+                    // add a reference to the wrapped listener to our custom
+                    // stack of events
+                    //legacyHandlers[legacyIndex].push(index);
+                    legacyHandlers[legacyIndex].push(li);
+
+                // DOM2 Event model
+                } else if (el.addEventListener) {
+                    el.addEventListener(sType, wrappedFn, false);
+                // IE
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, wrappedFn);
+                }
+
+                return true;
+
+            },
+
+            /**
+             * When using legacy events, the handler is routed to this object
+             * so we can fire our custom listener stack.
+             * @method fireLegacyEvent
+             * @private
+             */
+            fireLegacyEvent: function(e, legacyIndex) {
+                var ok = true;
+
+                var le = legacyHandlers[legacyIndex];
+                for (var i=0,len=le.length; i<len; ++i) {
+                    var li = le[i];
+                    if ( li && li[this.WFN] ) {
+                        var scope = li[this.ADJ_SCOPE];
+                        var ret = li[this.WFN].call(scope, e);
+                        ok = (ok && ret);
+                    }
+                }
+
+                return ok;
+            },
+
+            /**
+             * Returns the legacy event index that matches the supplied
+             * signature
+             * @method getLegacyIndex
+             * @private
+             */
+            getLegacyIndex: function(el, sType) {
+                var key = this.generateId(el) + sType;
+                if (typeof legacyMap[key] == "undefined") {
+                    return -1;
+                } else {
+                    return legacyMap[key];
+                }
+            },
+
+            /**
+             * Logic that determines when we should automatically use legacy
+             * events instead of DOM2 events.
+             * @method useLegacyEvent
+             * @private
+             */
+            useLegacyEvent: function(el, sType) {
+                if (!el.addEventListener && !el.attachEvent) {
+                    return true;
+                } else if (this.isSafari) {
+                    if ("click" == sType || "dblclick" == sType) {
+                        return true;
+                    }
+                }
+                return false;
+            },
+
+            /**
+             * Removes an event handler
+             *
+             * @method removeListener
+             *
+             * @param {Object} el the html element or the id of the element to
+             * assign the event to.
+             * @param {String} sType the type of event to remove
+             * @param {Function} fn the method the event invokes
+             * @return {boolean} true if the unbind was successful, false
+             * otherwise
+             */
+            removeListener: function(el, sType, fn, index) {
+
+                if (!fn || !fn.call) {
+                    return false;
+                }
+
+                var i, len;
+
+                // The el argument can be a string
+                if (typeof el == "string") {
+                    el = this.getEl(el);
+                // The el argument can be an array of elements or element ids.
+                } else if ( this._isValidCollection(el)) {
+                    var ok = true;
+                    for (i=0,len=el.length; i<len; ++i) {
+                        ok = ( this.removeListener(el[i], sType, fn) && ok );
+                    }
+                    return ok;
+                }
+
+                if ("unload" == sType) {
+
+                    for (i=0, len=unloadListeners.length; i<len; i++) {
+                        var li = unloadListeners[i];
+                        if (li &&
+                            li[0] == el &&
+                            li[1] == sType &&
+                            li[2] == fn) {
+                                unloadListeners.splice(i, 1);
+                                return true;
+                        }
+                    }
+
+                    return false;
+                }
+
+                var cacheItem = null;
+
+                //var index = arguments[3];
+
+                if ("undefined" == typeof index) {
+                    index = this._getCacheIndex(el, sType, fn);
+                }
+
+                if (index >= 0) {
+                    cacheItem = listeners[index];
+                }
+
+                if (!el || !cacheItem) {
+                    return false;
+                }
+
+                if (this.useLegacyEvent(el, sType)) {
+                    var legacyIndex = this.getLegacyIndex(el, sType);
+                    var llist = legacyHandlers[legacyIndex];
+                    if (llist) {
+                        for (i=0, len=llist.length; i<len; ++i) {
+                            li = llist[i];
+                            if (li &&
+                                li[this.EL] == el &&
+                                li[this.TYPE] == sType &&
+                                li[this.FN] == fn) {
+                                    llist.splice(i, 1);
+                            }
+                        }
+                    }
+
+                } else if (el.removeEventListener) {
+                    el.removeEventListener(sType, cacheItem[this.WFN], false);
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, cacheItem[this.WFN]);
+                }
+
+                // removed the wrapped handler
+                delete listeners[index][this.WFN];
+                delete listeners[index][this.FN];
+                listeners.splice(index, 1);
+
+                return true;
+
+            },
+
+            /**
+             * Returns the event's target element
+             * @method getTarget
+             * @param {Event} ev the event
+             * @param {boolean} resolveTextNode when set to true the target's
+             *                  parent will be returned if the target is a
+             *                  text node.  @deprecated, the text node is
+             *                  now resolved automatically
+             * @return {HTMLElement} the event's target
+             */
+            getTarget: function(ev, resolveTextNode) {
+                var t = ev.target || ev.srcElement;
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * In some cases, some browsers will return a text node inside
+             * the actual element that was targeted.  This normalizes the
+             * return value for getTarget and getRelatedTarget.
+             * @method resolveTextNode
+             * @param {HTMLElement} node to resolve
+             * @return  the normized node
+             */
+            resolveTextNode: function(node) {
+                if (node && node.nodeName &&
+                        "#TEXT" == node.nodeName.toUpperCase()) {
+                    return node.parentNode;
+                } else {
+                    return node;
+                }
+            },
+
+            /**
+             * Returns the event's pageX
+             * @method getPageX
+             * @param {Event} ev the event
+             * @return {int} the event's pageX
+             */
+            getPageX: function(ev) {
+                var x = ev.pageX;
+                if (!x && 0 !== x) {
+                    x = ev.clientX || 0;
+
+                    if ( this.isIE ) {
+                        x += this._getScrollLeft();
+                    }
+                }
+
+                return x;
+            },
+
+            /**
+             * Returns the event's pageY
+             * @method getPageY
+             * @param {Event} ev the event
+             * @return {int} the event's pageY
+             */
+            getPageY: function(ev) {
+                var y = ev.pageY;
+                if (!y && 0 !== y) {
+                    y = ev.clientY || 0;
+
+                    if ( this.isIE ) {
+                        y += this._getScrollTop();
+                    }
+                }
+
+                return y;
+            },
+
+            /**
+             * Returns the pageX and pageY properties as an indexed array.
+             * @method getXY
+             * @type int[]
+             */
+            getXY: function(ev) {
+                return [this.getPageX(ev), this.getPageY(ev)];
+            },
+
+            /**
+             * Returns the event's related target
+             * @method getRelatedTarget
+             * @param {Event} ev the event
+             * @return {HTMLElement} the event's relatedTarget
+             */
+            getRelatedTarget: function(ev) {
+                var t = ev.relatedTarget;
+                if (!t) {
+                    if (ev.type == "mouseout") {
+                        t = ev.toElement;
+                    } else if (ev.type == "mouseover") {
+                        t = ev.fromElement;
+                    }
+                }
+
+                return this.resolveTextNode(t);
+            },
+
+            /**
+             * Returns the time of the event.  If the time is not included, the
+             * event is modified using the current time.
+             * @method getTime
+             * @param {Event} ev the event
+             * @return {Date} the time of the event
+             */
+            getTime: function(ev) {
+                if (!ev.time) {
+                    var t = new Date().getTime();
+                    try {
+                        ev.time = t;
+                    } catch(e) {
+                        // can't set the time property
+                        return t;
+                    }
+                }
+
+                return ev.time;
+            },
+
+            /**
+             * Convenience method for stopPropagation + preventDefault
+             * @method stopEvent
+             * @param {Event} ev the event
+             */
+            stopEvent: function(ev) {
+                this.stopPropagation(ev);
+                this.preventDefault(ev);
+            },
+
+            /**
+             * Stops event propagation
+             * @method stopPropagation
+             * @param {Event} ev the event
+             */
+            stopPropagation: function(ev) {
+                if (ev.stopPropagation) {
+                    ev.stopPropagation();
+                } else {
+                    ev.cancelBubble = true;
+                }
+            },
+
+            /**
+             * Prevents the default behavior of the event
+             * @method preventDefault
+             * @param {Event} ev the event
+             */
+            preventDefault: function(ev) {
+                if (ev.preventDefault) {
+                    ev.preventDefault();
+                } else {
+                    ev.returnValue = false;
+                }
+            },
+
+            /**
+             * Finds the event in the window object, the caller's arguments, or
+             * in the arguments of another method in the callstack.  This is
+             * executed automatically for events registered through the event
+             * manager, so the implementer should not normally need to execute
+             * this function at all.
+             * @method getEvent
+             * @param {Event} the event parameter from the handler
+             * @return {Event} the event
+             */
+            getEvent: function(e) {
+                var ev = e || window.event;
+
+                if (!ev) {
+                    var c = this.getEvent.caller;
+                    while (c) {
+                        ev = c.arguments[0];
+                        if (ev && Event == ev.constructor) {
+                            break;
+                        }
+                        c = c.caller;
+                    }
+                }
+
+                return ev;
+            },
+
+            /**
+             * Returns the charcode for an event
+             * @method getCharCode
+             * @param {Event} ev the event
+             * @return {int} the event's charCode
+             */
+            getCharCode: function(ev) {
+                return ev.charCode || ((ev.type == "keypress") ? ev.keyCode : 0);
+            },
+
+            /**
+             * Locating the saved event handler data by function ref
+             *
+             * @method _getCacheIndex
+             * @private
+             */
+            _getCacheIndex: function(el, sType, fn) {
+                for (var i=0,len=listeners.length; i<len; ++i) {
+                    var li = listeners[i];
+                    if ( li                 &&
+                         li[this.FN] == fn  &&
+                         li[this.EL] == el  &&
+                         li[this.TYPE] == sType ) {
+                        return i;
+                    }
+                }
+
+                return -1;
+            },
+
+            /**
+             * Generates an unique ID for the element if it does not already
+             * have one.
+             * @method generateId
+             * @param el the element
+             * @return {string} the id of the element
+             */
+            generateId: function(el) {
+                var id = el.id;
+
+                if (!id) {
+                    id = "yuievtautoid-" + counter;
+                    ++counter;
+                    el.id = id;
+                }
+
+                return id;
+            },
+
+            /**
+             * We want to be able to use getElementsByTagName as a collection
+             * to attach a group of events to.  Unfortunately, different
+             * browsers return different types of collections.  This function
+             * tests to determine if the object is array-like.  It will also
+             * fail if the object is an array, but is empty.
+             * @method _isValidCollection
+             * @param o the object to test
+             * @return {boolean} true if the object is array-like and populated
+             * @private
+             */
+            _isValidCollection: function(o) {
+
+                return ( o                    && // o is something
+                         o.length             && // o is indexed
+                         typeof o != "string" && // o is not a string
+                         !o.tagName           && // o is not an HTML element
+                         !o.alert             && // o is not a window
+                         typeof o[0] != "undefined" );
+
+            },
+
+            /**
+             * @private
+             * @property elCache
+             * DOM element cache
+             */
+            elCache: {},
+
+            /**
+             * We cache elements bound by id because when the unload event
+             * fires, we can no longer use document.getElementById
+             * @method getEl
+             * @private
+             */
+            getEl: function(id) {
+                return document.getElementById(id);
+            },
+
+            /**
+             * Clears the element cache
+             * @deprecated
+             * @private
+             */
+            clearCache: function() { },
+
+            /**
+             * hook up any deferred listeners
+             * @method _load
+             * @private
+             */
+            _load: function(e) {
+                loadComplete = true;
+                var EU = YAHOO.util.Event;
+                EU._simpleRemove(window, "load", EU._load);
+            },
+
+            /**
+             * Polling function that runs before the onload event fires,
+             * attempting to attach to DOM Nodes as soon as they are
+             * available
+             * @method _tryPreloadAttach
+             * @private
+             */
+            _tryPreloadAttach: function() {
+
+                if (this.locked) {
+                    return false;
+                }
+
+                this.locked = true;
+
+                // keep trying until after the page is loaded.  We need to
+                // check the page load state prior to trying to bind the
+                // elements so that we can be certain all elements have been
+                // tested appropriately
+                var tryAgain = !loadComplete;
+                if (!tryAgain) {
+                    tryAgain = (retryCount > 0);
+                }
+
+                // Delayed listeners
+                var stillDelayed = [];
+
+                for (var i=0,len=delayedListeners.length; i<len; ++i) {
+                    var d = delayedListeners[i];
+                    // There may be a race condition here, so we need to
+                    // verify the array element is usable.
+                    if (d) {
+
+                        // el will be null if document.getElementById did not
+                        // work
+                        var el = this.getEl(d[this.EL]);
+
+                        if (el) {
+                            this.on(el, d[this.TYPE], d[this.FN],
+                                    d[this.SCOPE], d[this.ADJ_SCOPE]);
+                            delete delayedListeners[i];
+                        } else {
+                            stillDelayed.push(d);
+                        }
+                    }
+                }
+
+                delayedListeners = stillDelayed;
+
+                // onAvailable
+                var notAvail = [];
+                for (i=0,len=onAvailStack.length; i<len ; ++i) {
+                    var item = onAvailStack[i];
+                    if (item) {
+                        el = this.getEl(item.id);
+
+                        if (el) {
+                            var scope = (item.override) ? item.obj : el;
+                            item.fn.call(scope, item.obj);
+                            delete onAvailStack[i];
+                        } else {
+                            notAvail.push(item);
+                        }
+                    }
+                }
+
+                retryCount = (stillDelayed.length === 0 &&
+                                    notAvail.length === 0) ? 0 : retryCount - 1;
+
+                if (tryAgain) {
+                    this.startTimeout();
+                }
+
+                this.locked = false;
+
+                return true;
+
+            },
+
+            /**
+             * Removes all listeners attached to the given element via addListener.
+             * Optionally, the node's children can also be purged.
+             * Optionally, you can specify a specific type of event to remove.
+             * @method purgeElement
+             * @param {HTMLElement} el the element to purge
+             * @param {boolean} recurse recursively purge this element's children
+             * as well.  Use with caution.
+             * @param {string} sType optional type of listener to purge. If
+             * left out, all listeners will be removed
+             */
+            purgeElement: function(el, recurse, sType) {
+                var elListeners = this.getListeners(el, sType);
+                if (elListeners) {
+                    for (var i=0,len=elListeners.length; i<len ; ++i) {
+                        var l = elListeners[i];
+                        // can't use the index on the changing collection
+                        //this.removeListener(el, l.type, l.fn, l.index);
+                        this.removeListener(el, l.type, l.fn);
+                    }
+                }
+
+                if (recurse && el && el.childNodes) {
+                    for (i=0,len=el.childNodes.length; i<len ; ++i) {
+                        this.purgeElement(el.childNodes[i], recurse, sType);
+                    }
+                }
+            },
+
+            /**
+             * Returns all listeners attached to the given element via addListener.
+             * Optionally, you can specify a specific type of event to return.
+             * @method getListeners
+             * @param el {HTMLElement} the element to inspect
+             * @param sType {string} optional type of listener to return. If
+             * left out, all listeners will be returned
+             * @return {Object} the listener. Contains the following fields:
+             *    type:   (string)   the type of event
+             *    fn:     (function) the callback supplied to addListener
+             *    obj:    (object)   the custom object supplied to addListener
+             *    adjust: (boolean)  whether or not to adjust the default scope
+             *    index:  (int)      its position in the Event util listener cache
+             */
+            getListeners: function(el, sType) {
+                var elListeners = [];
+                if (listeners && listeners.length > 0) {
+                    for (var i=0,len=listeners.length; i<len ; ++i) {
+                        var l = listeners[i];
+                        if ( l  && l[this.EL] === el &&
+                                (!sType || sType === l[this.TYPE]) ) {
+                            elListeners.push({
+                                type:   l[this.TYPE],
+                                fn:     l[this.FN],
+                                obj:    l[this.SCOPE],
+                                adjust: l[this.ADJ_SCOPE],
+                                index:  i
+                            });
+                        }
+                    }
+                }
+
+                return (elListeners.length) ? elListeners : null;
+            },
+
+            /**
+             * Removes all listeners registered by pe.event.  Called
+             * automatically during the unload event.
+             * @method _unload
+             * @private
+             */
+            _unload: function(e) {
+
+                var EU = YAHOO.util.Event;
+
+                for (var i=0,len=unloadListeners.length; i<len; ++i) {
+                    var l = unloadListeners[i];
+                    if (l) {
+                        var scope = (l[EU.ADJ_SCOPE]) ? l[EU.SCOPE]: window;
+                        l[EU.FN].call(scope, EU.getEvent(e), l[EU.SCOPE] );
+                        delete unloadListeners[i];
+                        l=null;
+                    }
+                }
+
+                if (listeners && listeners.length > 0) {
+                    //for (i=0,len=listeners.length; i<len ; ++i) {
+                    var j = listeners.length;
+                    while (j) {
+                        var index = j-1;
+                        l = listeners[index];
+                        if (l) {
+                            EU.removeListener(l[EU.EL], l[EU.TYPE],
+                                    l[EU.FN], index);
+                        }
+
+                        l=null;
+
+                        j = j - 1;
+                    }
+
+                    EU.clearCache();
+                }
+
+                for (i=0,len=legacyEvents.length; i<len; ++i) {
+                    // dereference the element
+                    delete legacyEvents[i][0];
+                    // delete the array item
+                    delete legacyEvents[i];
+                }
+
+                EU._simpleRemove(window, "unload", EU._unload);
+
+            },
+
+            /**
+             * Returns scrollLeft
+             * @method _getScrollLeft
+             * @private
+             */
+            _getScrollLeft: function() {
+                return this._getScroll()[1];
+            },
+
+            /**
+             * Returns scrollTop
+             * @method _getScrollTop
+             * @private
+             */
+            _getScrollTop: function() {
+                return this._getScroll()[0];
+            },
+
+            /**
+             * Returns the scrollTop and scrollLeft.  Used to calculate the
+             * pageX and pageY in Internet Explorer
+             * @method _getScroll
+             * @private
+             */
+            _getScroll: function() {
+                var dd = document.documentElement, db = document.body;
+                if (dd && (dd.scrollTop || dd.scrollLeft)) {
+                    return [dd.scrollTop, dd.scrollLeft];
+                } else if (db) {
+                    return [db.scrollTop, db.scrollLeft];
+                } else {
+                    return [0, 0];
+                }
+            },
+
+            /**
+             * Adds a DOM event directly without the caching, cleanup, scope adj, etc
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleAdd: function (el, sType, fn, capture) {
+                if (el.addEventListener) {
+                    el.addEventListener(sType, fn, (capture));
+                } else if (el.attachEvent) {
+                    el.attachEvent("on" + sType, fn);
+                }
+            },
+
+            /**
+             * Basic remove listener
+             *
+             * @param el the elment to bind the handler to
+             * @param {string} sType the type of event handler
+             * @param {function} fn the callback to invoke
+             * @param {boolen} capture or bubble phase
+             * @private
+             */
+            _simpleRemove: function (el, sType, fn, capture) {
+                if (el.removeEventListener) {
+                    el.removeEventListener(sType, fn, (capture));
+                } else if (el.detachEvent) {
+                    el.detachEvent("on" + sType, fn);
+                }
+            }
+        };
+
+    } ();
+
+    /**
+     * YAHOO.util.Event.on is an alias for addListener
+     * @method on
+     * @see addListener
+     */
+    YAHOO.util.Event.on = YAHOO.util.Event.addListener;
+
+    if (document && document.body) {
+        YAHOO.util.Event._load();
+    } else {
+        YAHOO.util.Event._simpleAdd(window, "load", YAHOO.util.Event._load);
+    }
+    YAHOO.util.Event._simpleAdd(window, "unload", YAHOO.util.Event._unload);
+    YAHOO.util.Event._tryPreloadAttach();
+}
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/menu.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/menu.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5313 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.txt
+Version: 0.11.3
+*/
+
+
+
+/**
+* @class The superclass of all menu containers.
+* @constructor
+* @extends YAHOO.widget.Overlay
+* @base YAHOO.widget.Overlay
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuModule.superclass.constructor.call(
+        this,
+        p_oElement,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuModule, YAHOO.widget.Overlay);
+
+// Private globals
+
+/**
+* Private global flag indicating if the DOM event handlers have been attached
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule._initEventHandlers = true;
+
+/**
+* Private global collection of menus
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menus = {};
+
+/**
+* Private global collection of menu items
+* @private
+* @type {Object}
+*/
+YAHOO.widget.MenuModule._menuItems = {};
+
+/**
+* Generic, global event handler for all of a menu's DOM-based events.  This
+* listens for events against the document object.  If the target of a given
+* event is a member of a menu or menu item's DOM, the instance's corresponding
+* Custom Event is fired.
+* @private
+* @param {Event} p_oEvent Event object passed back by the event
+* utility (YAHOO.util.Event).
+*/
+YAHOO.widget.MenuModule._onDOMEvent = function(p_oEvent) {
+
+    // Create references to the DOM and Event utilities
+
+    var Dom = YAHOO.util.Dom;
+    var Event = YAHOO.util.Event;
+
+    // The target node of the DOM event
+
+    var oTarget = Event.getTarget(p_oEvent);
+
+    // A reference to the root LI node of a menu item
+
+    var oMenuItemRootElement;
+
+    /**
+    * Finds the root DIV node of a menu and the root LI node of a menu item
+    * @private
+    * @param {HTMLElement} p_oElement An HTML element
+    */
+    function getMenuRootElement(p_oElement) {
+
+        var oParentNode;
+
+        switch(p_oElement.tagName) {
+
+            case "DIV":
+
+                oParentNode = p_oElement.parentNode;
+
+                // Check if the DIV is the inner "body" node of a menu
+                if(
+                    Dom.hasClass(p_oElement, "bd") &&
+                    oParentNode &&
+                    oParentNode.tagName == "DIV"
+                ) {
+
+                    return oParentNode;
+
+                }
+                else {
+
+                    return p_oElement;
+
+                }
+
+            break;
+
+            case "LI":
+
+                /*
+                    Capture the root LI node of the menu item and allow
+                    fall through to keep climbing up to find the item's parent
+                    root DIV
+                */
+
+                oMenuItemRootElement = p_oElement;
+
+            default:
+
+                oParentNode = p_oElement.parentNode;
+
+                if(oParentNode) {
+
+                    return getMenuRootElement(oParentNode);
+
+                }
+
+            break;
+
+        }
+
+    }
+
+    // The root DIV node of a menu
+
+    var oMenuRootElement = getMenuRootElement(oTarget);
+
+    if(oMenuRootElement && oMenuRootElement.id) {
+
+        var oMenuItem;
+        var oMenu = YAHOO.widget.MenuModule._menus[oMenuRootElement.id];
+
+        if(oMenuItemRootElement) {
+
+            var sYUIId = oMenuItemRootElement.getAttribute("yuiid");
+
+            if(sYUIId) {
+
+                oMenuItem = YAHOO.widget.MenuModule._menuItems[sYUIId];
+
+            }
+
+        }
+
+        if(oMenu) {
+
+            // Map of DOM event names to CustomEvent names
+
+            var oEventTypes =  {
+                    "click": "clickEvent",
+                    "mousedown": "mouseDownEvent",
+                    "mouseup": "mouseUpEvent",
+                    "mouseover": "mouseOverEvent",
+                    "mouseout": "mouseOutEvent",
+                    "keydown": "keyDownEvent",
+                    "keyup": "keyUpEvent",
+                    "keypress": "keyPressEvent"
+                };
+
+            var sCustomEventType = oEventTypes[p_oEvent.type];
+
+            switch(p_oEvent.type) {
+
+                case "mouseover":
+
+                    if(
+                        !oMenu._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenu.element ||
+                            Dom.isAncestor(oMenu.element, oTarget)
+                        )
+                    ) {
+
+                        oMenu.mouseOverEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOverEvent = true;
+                        oMenu._bFiredMouseOutEvent = false;
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOverEvent &&
+                        (
+                            oTarget == oMenuItem.element ||
+                            Dom.isAncestor(oMenuItem.element, oTarget)
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        oMenuItem.mouseOverEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOverEvent = true;
+                        oMenuItem._bFiredMouseOutEvent = false;
+
+                    }
+
+                break;
+
+                case "mouseout":
+
+                    var oRelatedTarget = Event.getRelatedTarget(p_oEvent);
+                    var bMovingToSubmenu = false;
+
+                    if(oMenuItem) {
+
+                        var oSubmenu = oMenuItem.cfg.getProperty("submenu");
+
+                        if(
+                            oSubmenu &&
+                            (
+                                oRelatedTarget == oSubmenu.element ||
+                                Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                            )
+                        ) {
+
+                            bMovingToSubmenu = true;
+
+                        }
+
+                    }
+
+                    if(
+                        oMenuItem &&
+                        !oMenuItem._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenuItem.element &&
+                                !Dom.isAncestor(
+                                    oMenuItem.element,
+                                    oRelatedTarget
+                                )
+                            ) || bMovingToSubmenu
+                        ) &&
+                        !oMenuItem.cfg.getProperty("disabled")
+                    ) {
+
+                        // Fire the "mouseout" Custom Event for the item
+
+                        oMenuItem.mouseOutEvent.fire(p_oEvent);
+
+                        oMenuItem._bFiredMouseOutEvent = true;
+                        oMenuItem._bFiredMouseOverEvent = false;
+
+                    }
+
+                    if(
+                        !oMenu._bFiredMouseOutEvent &&
+                        (
+                            (
+                                oRelatedTarget != oMenu.element &&
+                                !Dom.isAncestor(oMenu.element, oRelatedTarget)
+                            )
+                            || bMovingToSubmenu
+                        )
+                    ) {
+
+                        oMenu.mouseOutEvent.fire(p_oEvent);
+
+                        oMenu._bFiredMouseOutEvent = true;
+                        oMenu._bFiredMouseOverEvent = false;
+
+                    }
+
+                break;
+
+                default:
+
+                    if(oMenuItem && !oMenuItem.cfg.getProperty("disabled")) {
+
+                        oMenuItem[sCustomEventType].fire(p_oEvent);
+
+                    }
+
+                    oMenu[sCustomEventType].fire(p_oEvent);
+
+                break;
+
+            }
+
+        }
+
+    }
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuModule instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.CSS_CLASS_NAME = "yuimenu";
+
+/**
+* Constant representing the type of item to instantiate and add when parsing
+* the child nodes (either HTMLLIElement, HTMLOptGroupElement or
+* HTMLOptionElement) of a menu's DOM.  The default
+* is YAHOO.widget.MenuModuleItem.
+* @final
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.ITEM_TYPE = null;
+
+/**
+* Constant representing the tagname of the HTMLElement used to title
+* a group of items.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuModule.prototype.GROUP_TITLE_TAG_NAME = "H6";
+
+// Private properties
+
+/**
+* The current state of a MenuModule instance's "mouseover" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOverEvent = false;
+
+/**
+* The current state of a MenuModule instance's "mouseout" event
+* @private
+* @type {Boolean}
+*/
+YAHOO.widget.MenuModule.prototype._bFiredMouseOutEvent = false;
+
+/**
+* Array of HTMLElements used to title groups of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aGroupTitleElements = null;
+
+/**
+* Multi-dimensional array of items.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aItemGroups = null;
+
+/**
+* An array of HTMLUListElements, each of which is the parent node of each
+* items's HTMLLIElement node.
+* @private
+* @type {Array}
+*/
+YAHOO.widget.MenuModule.prototype._aListElements = null;
+
+/**
+* Reference to the Event utility singleton.
+* @private
+* @type {YAHOO.util.Event}
+*/
+YAHOO.widget.MenuModule.prototype._oEventUtil = YAHOO.util.Event;
+
+/**
+* Reference to the Dom utility singleton.
+* @private
+* @type {YAHOO.util.Dom}
+*/
+YAHOO.widget.MenuModule.prototype._oDom = YAHOO.util.Dom;
+
+// Public properties
+
+/**
+* Reference to the item that has focus.
+* @private
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.activeItem = null;
+
+/**
+* Returns a MenuModule instance's parent object.
+* @type {YAHOO.widget.MenuModuleItem}
+*/
+YAHOO.widget.MenuModule.prototype.parent = null;
+
+/**
+* Returns the HTMLElement (either HTMLSelectElement or HTMLDivElement)
+* used create the MenuModule instance.
+* @type {HTMLSelectElement/HTMLDivElement}
+*/
+YAHOO.widget.MenuModule.prototype.srcElement = null;
+
+// Events
+
+/**
+* Fires when the mouse has entered a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOverEvent = null;
+
+/**
+* Fires when the mouse has left a MenuModule instance.  Passes back the DOM
+* Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseOutEvent = null;
+
+/**
+* Fires when the user mouses down on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseDownEvent = null;
+
+/**
+* Fires when the user releases a mouse button while the mouse is over
+* a MenuModule instance.  Passes back the DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.mouseUpEvent = null;
+
+/**
+* Fires when the user clicks the on a MenuModule instance.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.clickEvent = null;
+
+/**
+* Fires when the user presses an alphanumeric key.  Passes back the
+* DOM Event object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyPressEvent = null;
+
+/**
+* Fires when the user presses a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyDownEvent = null;
+
+/**
+* Fires when the user releases a key.  Passes back the DOM Event
+* object as an argument.
+* @type {YAHOO.util.CustomEvent}
+* @see YAHOO.util.CustomEvent
+*/
+YAHOO.widget.MenuModule.prototype.keyUpEvent = null;
+
+/**
+* The MenuModule class's initialization method. This method is automatically
+* called  by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuModule instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuModule.prototype.init = function(p_oElement, p_oConfig) {
+
+    var Dom = this._oDom;
+    var Event = this._oEventUtil;
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+    }
+
+    this._aItemGroups = [];
+    this._aListElements = [];
+    this._aGroupTitleElements = [];
+
+    var oElement;
+
+    if(typeof p_oElement == "string") {
+
+        oElement = document.getElementById(p_oElement);
+
+    }
+    else if(p_oElement.tagName) {
+
+        oElement = p_oElement;
+
+    }
+
+    if(oElement) {
+
+        switch(oElement.tagName) {
+
+            case "DIV":
+
+                this.srcElement = oElement;
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, oElement);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+                /*
+                    Populate the collection of item groups and item
+                    group titles
+                */
+
+                var oNode = this.body.firstChild;
+                var i = 0;
+
+                do {
+
+                    switch(oNode.tagName) {
+
+                        case this.GROUP_TITLE_TAG_NAME:
+
+                            this._aGroupTitleElements[i] = oNode;
+
+                        break;
+
+                        case "UL":
+
+                            this._aListElements[i] = oNode;
+                            this._aItemGroups[i] = [];
+                            i++;
+
+                        break;
+
+                    }
+
+                }
+                while((oNode = oNode.nextSibling));
+
+                /*
+                    Apply the "first-of-type" class to the first UL to mimic
+                    the "first-of-type" CSS3 psuedo class.
+                */
+
+                if(this._aListElements[0]) {
+
+                    Dom.addClass(this._aListElements[0], "first-of-type");
+
+                }
+
+
+
+            break;
+
+            case "SELECT":
+
+                this.srcElement = oElement;
+
+
+                /*
+                    The source element is not something that we can use
+                    outright, so we need to create a new Overlay
+                */
+
+                var sId = Dom.generateId();
+
+                /*
+                    Note: we don't pass the user config in here yet
+                    because we only want it executed once, at the lowest
+                    subclass level.
+                */
+
+                YAHOO.widget.MenuModule.superclass.init.call(this, sId);
+
+                this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+            break;
+
+        }
+
+    }
+    else {
+
+        /*
+            Note: we don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.MenuModule.superclass.init.call(this, p_oElement);
+
+        this.beforeInitEvent.fire(YAHOO.widget.MenuModule);
+
+
+
+    }
+
+    if(this.element) {
+
+        var oEl = this.element;
+        var CustomEvent = YAHOO.util.CustomEvent;
+
+        Dom.addClass(oEl, this.CSS_CLASS_NAME);
+
+        // Assign DOM event handlers
+
+        if(YAHOO.widget.MenuModule._initEventHandlers) {
+
+            var oDoc = document;
+            var onDOMEvent = YAHOO.widget.MenuModule._onDOMEvent;
+
+            Event.addListener(oDoc, "mouseover", onDOMEvent);
+            Event.addListener(oDoc, "mouseout", onDOMEvent);
+            Event.addListener(oDoc, "mousedown", onDOMEvent);
+            Event.addListener(oDoc, "mouseup", onDOMEvent);
+            Event.addListener(oDoc, "click", onDOMEvent);
+            Event.addListener(oDoc, "keydown", onDOMEvent);
+            Event.addListener(oDoc, "keyup", onDOMEvent);
+            Event.addListener(oDoc, "keypress", onDOMEvent);
+
+            YAHOO.widget.MenuModule._initEventHandlers = false;
+
+        }
+
+        // Create custom events
+
+        this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+        this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+        this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+        this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+        this.clickEvent = new CustomEvent("clickEvent", this);
+        this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+        this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+        this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+
+        // Subscribe to Custom Events
+
+        this.initEvent.subscribe(this._onInit, this, true);
+        this.beforeRenderEvent.subscribe(this._onBeforeRender, this, true);
+        this.renderEvent.subscribe(this._onRender, this, true);
+        this.showEvent.subscribe(this._onShow, this, true);
+        this.beforeHideEvent.subscribe(this._onBeforeHide, this, true);
+
+        if(p_oConfig) {
+
+            this.cfg.applyConfig(p_oConfig, true);
+
+        }
+
+        this.cfg.queueProperty("visible", false);
+
+        if(this.srcElement) {
+
+            this._initSubTree();
+
+        }
+
+        YAHOO.widget.MenuModule._menus[oEl.id] = this;
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuModule);
+
+};
+
+// Private methods
+
+/**
+* Iterates the source element's childNodes collection and uses the child
+* nodes to instantiate MenuModule and MenuModuleItem instances.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._initSubTree = function() {
+
+    var oNode;
+
+
+    switch(this.srcElement.tagName) {
+
+        case "DIV":
+
+            if(this._aListElements.length > 0) {
+
+
+                var i = this._aListElements.length - 1;
+
+                do {
+
+                    oNode = this._aListElements[i].firstChild;
+
+
+                    do {
+
+                        switch(oNode.tagName) {
+
+                            case "LI":
+
+
+                                this.addItem(new this.ITEM_TYPE(oNode), i);
+
+                            break;
+
+                        }
+
+                    }
+                    while((oNode = oNode.nextSibling));
+
+                }
+                while(i--);
+
+            }
+
+        break;
+
+        case "SELECT":
+
+
+            oNode = this.srcElement.firstChild;
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "OPTGROUP":
+                    case "OPTION":
+
+
+                        this.addItem(new this.ITEM_TYPE(oNode));
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+        break;
+
+    }
+
+};
+
+/**
+* Returns the first enabled item in a menu instance.
+* @return Returns a MenuModuleItem instance.
+* @type YAHOO.widget.MenuModuleItem
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getFirstEnabledItem = function() {
+
+    var nGroups = this._aItemGroups.length;
+    var oItem;
+    var aItemGroup;
+
+    for(var i=0; i<nGroups; i++) {
+
+        aItemGroup = this._aItemGroups[i];
+
+        if(aItemGroup) {
+
+            var nItems = aItemGroup.length;
+
+            for(var n=0; n<nItems; n++) {
+
+                oItem = aItemGroup[n];
+
+                if(
+                    !oItem.cfg.getProperty("disabled") &&
+                    oItem.element.style.display != "none"
+                ) {
+
+                    return oItem;
+
+                }
+
+                oItem = null;
+
+            }
+
+        }
+
+    }
+
+};
+
+/**
+* Determines if the value is one of the supported positions.
+* @private
+* @param {Object} p_sPosition The object to be evaluated.
+* @return Returns true if the position is supported.
+* @type Boolean
+*/
+YAHOO.widget.MenuModule.prototype._checkPosition = function(p_sPosition) {
+
+    if(typeof p_sPosition == "string") {
+
+        var sPosition = p_sPosition.toLowerCase();
+
+        return ("dynamic,static".indexOf(sPosition) != -1);
+
+    }
+
+};
+
+/**
+* Adds an item to a group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nItemIndex Optional. Index at which the item
+* should be added.
+* @return The item that was added.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._addItemToGroup =
+
+    function(p_nGroupIndex, p_oItem, p_nItemIndex) {
+
+        var Dom = this._oDom;
+        var oItem;
+
+        if(p_oItem instanceof this.ITEM_TYPE) {
+
+            oItem = p_oItem;
+
+        }
+        else if(typeof p_oItem == "string") {
+
+            oItem = new this.ITEM_TYPE(p_oItem);
+
+        }
+
+        if(oItem) {
+
+            var sYUIId = Dom.generateId();
+
+            oItem.element.setAttribute("yuiid", sYUIId);
+
+            YAHOO.widget.MenuModule._menuItems[sYUIId] = oItem;
+
+            var nGroupIndex = typeof p_nGroupIndex == "number" ?
+                    p_nGroupIndex : 0;
+
+            var aGroup = this._getItemGroup(nGroupIndex);
+
+            var oGroupItem;
+
+
+            if(!aGroup) {
+
+                aGroup = this._createItemGroup(nGroupIndex);
+
+            }
+
+            if(typeof p_nItemIndex == "number") {
+
+                var bAppend = (p_nItemIndex >= aGroup.length);
+
+
+                if(aGroup[p_nItemIndex]) {
+
+                    aGroup.splice(p_nItemIndex, 0, oItem);
+
+                }
+                else {
+
+                    aGroup[p_nItemIndex] = oItem;
+
+                }
+
+
+                oGroupItem = aGroup[p_nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        bAppend &&
+                        (
+                            !oGroupItem.element.parentNode ||
+                            oGroupItem.element.parentNode.nodeType == 11
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+                    else {
+
+
+                        /**
+                        * Returns the next sibling of an item in an array
+                        * @param {p_aArray} An array
+                        * @param {p_nStartIndex} The index to start searching
+                        * the array
+                        * @ignore
+                        * @return Returns an item in an array
+                        * @type Object
+                        */
+                        function getNextItemSibling(p_aArray, p_nStartIndex) {
+
+                            return (
+                                    p_aArray[p_nStartIndex] ||
+                                    getNextItemSibling(
+                                        p_aArray,
+                                        (p_nStartIndex+1)
+                                    )
+                                );
+
+                        }
+
+
+                        var oNextItemSibling =
+                                getNextItemSibling(aGroup, (p_nItemIndex+1));
+
+                        if(
+                            oNextItemSibling &&
+                            (
+                                !oGroupItem.element.parentNode ||
+                                oGroupItem.element.parentNode.nodeType == 11
+                            )
+                        ) {
+
+                            this._aListElements[nGroupIndex].insertBefore(
+                                    oGroupItem.element,
+                                    oNextItemSibling.element
+                                );
+
+                        }
+
+                    }
+
+
+                    oGroupItem.parent = this;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    this._updateItemProperties(nGroupIndex);
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+            else {
+
+                var nItemIndex = aGroup.length;
+
+                aGroup[nItemIndex] = oItem;
+
+
+                oGroupItem = aGroup[nItemIndex];
+
+                if(oGroupItem) {
+
+                    if(
+                        !Dom.isAncestor(
+                            this._aListElements[nGroupIndex],
+                            oGroupItem.element
+                        )
+                    ) {
+
+                        this._aListElements[nGroupIndex].appendChild(
+                            oGroupItem.element
+                        );
+
+                    }
+
+                    oGroupItem.element.setAttribute("groupindex", nGroupIndex);
+                    oGroupItem.element.setAttribute("index", nItemIndex);
+
+                    oGroupItem.parent = this;
+
+                    oGroupItem.index = nItemIndex;
+                    oGroupItem.groupIndex = nGroupIndex;
+
+                    this._subscribeToItemEvents(oGroupItem);
+
+                    this._configureItemSubmenuModule(oGroupItem);
+
+                    if(nItemIndex === 0) {
+
+                        Dom.addClass(oGroupItem.element, "first-of-type");
+
+                    }
+
+
+                    return oGroupItem;
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes an item from a group by index.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {Number} p_nItemIndex Number indicating the index of the item to
+* be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByIndex =
+
+    function(p_nGroupIndex, p_nItemIndex) {
+
+        var nGroupIndex = typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+        var aGroup = this._getItemGroup(nGroupIndex);
+
+        if(aGroup) {
+
+            var aArray = aGroup.splice(p_nItemIndex, 1);
+            var oItem = aArray[0];
+
+            if(oItem) {
+
+                // Update the index and className properties of each member
+
+                this._updateItemProperties(nGroupIndex);
+
+                if(aGroup.length === 0) {
+
+                    // Remove the UL
+
+                    var oUL = this._aListElements[nGroupIndex];
+
+                    if(this.body && oUL) {
+
+                        this.body.removeChild(oUL);
+
+                    }
+
+                    // Remove the group from the array of items
+
+                    this._aItemGroups.splice(nGroupIndex, 1);
+
+
+                    // Remove the UL from the array of ULs
+
+                    this._aListElements.splice(nGroupIndex, 1);
+
+
+                    /*
+                         Assign the "first-of-type" class to the new first UL
+                         in the collection
+                    */
+
+                    oUL = this._aListElements[0];
+
+                    if(oUL) {
+
+                        this._oDom.addClass(oUL, "first-of-type");
+
+                    }
+
+                }
+
+
+                // Return a reference to the item that was removed
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes a item from a group by reference.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group to which
+* the item belongs.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be removed.
+* @return The item that was removed.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype._removeItemFromGroupByValue =
+
+    function(p_nGroupIndex, p_oItem) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+
+        if(aGroup) {
+
+            var nItems = aGroup.length;
+            var nItemIndex = -1;
+
+            if(nItems > 0) {
+
+                var i = nItems-1;
+
+                do {
+
+                    if(aGroup[i] == p_oItem) {
+
+                        nItemIndex = i;
+                        break;
+
+                    }
+
+                }
+                while(i--);
+
+                if(nItemIndex > -1) {
+
+                    return this._removeItemFromGroupByIndex(
+                                p_nGroupIndex,
+                                nItemIndex
+                            );
+
+                }
+
+            }
+
+        }
+
+    };
+
+/**
+* Updates the index, groupindex, and className properties of the items
+* in the specified group.
+* @private
+* @param {Number} p_nGroupIndex Number indicating the group of items to update.
+*/
+YAHOO.widget.MenuModule.prototype._updateItemProperties =
+
+    function(p_nGroupIndex) {
+
+        var aGroup = this._getItemGroup(p_nGroupIndex);
+        var nItems = aGroup.length;
+
+        if(nItems > 0) {
+
+            var Dom = this._oDom;
+            var i = nItems - 1;
+            var oItem;
+            var oLI;
+
+            // Update the index and className properties of each member
+
+            do {
+
+                oItem = aGroup[i];
+
+                if(oItem) {
+
+                    oLI = oItem.element;
+
+                    oItem.index = i;
+                    oItem.groupIndex = p_nGroupIndex;
+
+                    oLI.setAttribute("groupindex", p_nGroupIndex);
+                    oLI.setAttribute("index", i);
+
+                    Dom.removeClass(oLI, "first-of-type");
+
+                }
+
+            }
+            while(i--);
+
+
+            if(oLI) {
+
+                Dom.addClass(oLI, "first-of-type");
+
+            }
+
+        }
+
+    };
+
+/**
+* Creates a new item group (array) and it's associated HTMLUlElement node
+* @private
+* @param {Number} p_nIndex Number indicating the group to create.
+* @return An item group.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._createItemGroup = function(p_nIndex) {
+
+    if(!this._aItemGroups[p_nIndex]) {
+
+        this._aItemGroups[p_nIndex] = [];
+
+        var oUL = document.createElement("ul");
+
+        this._aListElements[p_nIndex] = oUL;
+
+        return this._aItemGroups[p_nIndex];
+
+    }
+
+};
+
+/**
+* Returns the item group at the specified index.
+* @private
+* @param {Number} p_nIndex Number indicating the index of the item group to
+* be retrieved.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype._getItemGroup = function(p_nIndex) {
+
+    var nIndex = ((typeof p_nIndex == "number") ? p_nIndex : 0);
+
+    return this._aItemGroups[nIndex];
+
+};
+
+/**
+* Subscribe's a MenuModule instance to it's parent MenuModule instance's events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen
+* for events on.
+*/
+YAHOO.widget.MenuModule.prototype._configureItemSubmenuModule =
+
+    function(p_oItem) {
+
+        var oSubmenu = p_oItem.cfg.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            /*
+                Listen for configuration changes to the parent MenuModule
+                instance so they they can be applied to the submenu.
+            */
+
+            this.cfg.configChangedEvent.subscribe(
+                this._onParentMenuModuleConfigChange,
+                oSubmenu,
+                true
+            );
+
+            this.renderEvent.subscribe(
+                this._onParentMenuModuleRender,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.beforeShowEvent.subscribe(
+                this._onSubmenuBeforeShow,
+                oSubmenu,
+                true
+            );
+
+            oSubmenu.showEvent.subscribe(this._onSubmenuShow, oSubmenu, true);
+
+            oSubmenu.hideEvent.subscribe(this._onSubmenuHide, oSubmenu, true);
+
+        }
+
+};
+
+/**
+* Subscribes a MenuModule instance to the specified item's Custom Events.
+* @private
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to listen for events on.
+*/
+YAHOO.widget.MenuModule.prototype._subscribeToItemEvents = function(p_oItem) {
+
+    var aArguments = [this, p_oItem];
+
+    p_oItem.focusEvent.subscribe(this._onItemFocus, aArguments);
+
+    p_oItem.blurEvent.subscribe(this._onItemBlur, aArguments);
+
+    p_oItem.cfg.configChangedEvent.subscribe(
+        this._onItemConfigChange,
+        aArguments
+    );
+
+};
+
+/**
+* Returns the offset width of a MenuModule instance.
+* @private
+*/
+YAHOO.widget.MenuModule.prototype._getOffsetWidth = function() {
+
+    var oClone = this.element.cloneNode(true);
+
+    this._oDom.setStyle(oClone, "width", "");
+
+    document.body.appendChild(oClone);
+
+    var sWidth = oClone.offsetWidth;
+
+    document.body.removeChild(oClone);
+
+    return sWidth;
+
+};
+
+// Private Custom Event handlers
+
+/**
+* "init" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onInit =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = (this.cfg.getProperty("position") == "static") ?
+                "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* "beforerender" Custom Event handler for a MenuModule instance.  Appends all
+* of the HTMLUListElement (&#60;UL&#60;s) nodes (and their child
+* HTMLLIElement (&#60;LI&#60;)) nodes and their accompanying title nodes to
+* the body of the MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+        var oEl = this.element;
+        var nListElements = this._aListElements.length;
+
+
+        if(oConfig.getProperty("position") == "static") {
+
+            oConfig.queueProperty("iframe", false);
+            oConfig.queueProperty("visible", true);
+
+        }
+
+
+        if(nListElements > 0) {
+
+            var i = 0;
+            var bFirstList = true;
+            var oUL;
+            var oGroupTitle;
+
+
+            do {
+
+                oUL = this._aListElements[i];
+
+                if(oUL) {
+
+                    if(bFirstList) {
+
+                        Dom.addClass(oUL, "first-of-type");
+                        bFirstList = false;
+
+                    }
+
+
+                    if(!Dom.isAncestor(oEl, oUL)) {
+
+                        this.appendToBody(oUL);
+
+                    }
+
+
+                    oGroupTitle = this._aGroupTitleElements[i];
+
+                    if(oGroupTitle) {
+
+                        if(!Dom.isAncestor(oEl, oGroupTitle)) {
+
+                            oUL.parentNode.insertBefore(oGroupTitle, oUL);
+
+                        }
+
+
+                        Dom.addClass(oUL, "hastitle");
+
+                    }
+
+                }
+
+                i++;
+
+            }
+            while(i < nListElements);
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onRender =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var sWidth = this.element.parentNode.tagName == "BODY" ?
+                    this.element.offsetWidth : this._getOffsetWidth();
+
+            this.cfg.setProperty("width", (sWidth + "px"));
+
+        }
+
+    };
+
+/**
+* "show" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onShow =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        /*
+            Setting focus to an item in the newly visible submenu alerts the
+            contents of the submenu to the screen reader.
+        */
+
+        this.setInitialFocus();
+
+    };
+
+/**
+* "hide" Custom Event handler for a MenuModule instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onBeforeHide =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var oActiveItem = this.activeItem;
+
+        if(oActiveItem) {
+
+            oActiveItem.blur();
+
+            if(oActiveItem.cfg.getProperty("selected")) {
+
+                oActiveItem.cfg.setProperty("selected", false);
+
+            }
+
+            var oSubmenu = oActiveItem.cfg.getProperty("submenu");
+
+            if(oSubmenu && oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "configchange" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleConfigChange =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var sPropertyName = p_aArgs[0][0];
+        var oPropertyValue = p_aArgs[0][1];
+
+        switch(sPropertyName) {
+
+            case "iframe":
+            case "constraintoviewport":
+
+                p_oSubmenu.cfg.setProperty(sPropertyName, oPropertyValue);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "render" Custom Event handler for a MenuModule instance.  Renders a
+* submenu in response to the firing of it's parent's "render" event.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that subscribed
+* to the event.
+*/
+YAHOO.widget.MenuModule.prototype._onParentMenuModuleRender =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        /*
+            Set the "constraintoviewport" configuration
+            property to match the parent MenuModule
+        */
+
+        var oParentMenu = p_oSubmenu.parent.parent;
+
+        var oConfig = {
+
+                constraintoviewport:
+                    oParentMenu.cfg.getProperty("constraintoviewport"),
+
+                xy: [0,0]
+
+            };
+
+        /*
+            Only sync the "iframe" configuration property if the parent
+            MenuModule instance's position is of the same value
+        */
+
+        if(
+            this.cfg.getProperty("position") ==
+            oParentMenu.cfg.getProperty("position")
+        ) {
+
+            oConfig.iframe = oParentMenu.cfg.getProperty("iframe");
+
+        }
+
+
+        p_oSubmenu.cfg.applyConfig(oConfig);
+
+
+        if(this._oDom.inDocument(this.element)) {
+
+            this.render();
+
+        }
+        else {
+
+            this.render(this.parent.element);
+
+        }
+
+    };
+
+/**
+* "beforeshow" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuBeforeShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+        var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+        this.cfg.setProperty(
+            "context",
+            [
+                oParent.element,
+                aAlignment[0],
+                aAlignment[1]
+            ]
+        );
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "show" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuShow =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        oParent.submenuIndicator.alt =
+            oParent.EXPANDED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "hide" Custom Event handler for a submenu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oSubmenu The submenu that fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype._onSubmenuHide =
+
+    function(p_sType, p_aArgs, p_oSubmenu) {
+
+        var oParent = this.parent;
+
+        if(oParent.parent.cfg.getProperty("visible")) {
+
+            oParent.cfg.setProperty("selected", false);
+
+            oParent.focus();
+
+        }
+
+        oParent.submenuIndicator.alt =
+            oParent.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+    };
+
+/**
+* "focus" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemFocus =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+
+        me.activeItem = oItem;
+
+    };
+
+/**
+* "blur" YAHOO.util.CustomEvent handler for a MenuModule instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemBlur =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var oItem = p_aObjects[1];
+        var oSubmenu = oItem.cfg.getProperty("submenu");
+
+        if(!oSubmenu || (oSubmenu && !oSubmenu.cfg.getProperty("visible"))) {
+
+            me.activeItem = null;
+
+        }
+
+    };
+
+/**
+* "configchange" YAHOO.util.CustomEvent handler for the MenuModule
+* instance's items.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {Array} p_aObjects Array containing the current MenuModule instance
+* and the item that fired the event.
+*/
+YAHOO.widget.MenuModule.prototype._onItemConfigChange =
+
+    function(p_sType, p_aArgs, p_aObjects) {
+
+        var me = p_aObjects[0];
+        var sProperty = p_aArgs[0][0];
+        var oItem = p_aObjects[1];
+
+        switch(sProperty) {
+
+            case "submenu":
+
+                var oSubmenu = p_aArgs[0][1];
+
+                if(oSubmenu) {
+
+                    me._configureItemSubmenuModule(oItem);
+
+                }
+
+            break;
+
+            case "text":
+            case "helptext":
+
+                /*
+                    A change to an item's "text" or "helptext"
+                    configuration properties requires the width of the parent
+                    MenuModule instance to be recalculated.
+                */
+
+                if(me.element.style.width) {
+
+                    var sWidth = me._getOffsetWidth() + "px";
+
+                    me._oDom.setStyle(me.element, "width", sWidth);
+
+                }
+
+            break;
+
+        }
+
+    };
+
+/**
+* The default event handler executed when the moveEvent is fired, if the
+* "constraintoviewport" configuration property is set to true.
+*/
+YAHOO.widget.MenuModule.prototype.enforceConstraints =
+
+    function(type, args, obj) {
+
+        var Dom = this._oDom;
+        var oConfig = this.cfg;
+
+        var pos = args[0];
+
+        var x = pos[0];
+        var y = pos[1];
+
+        var bod = document.getElementsByTagName('body')[0];
+        var htm = document.getElementsByTagName('html')[0];
+
+        var bodyOverflow = Dom.getStyle(bod, "overflow");
+        var htmOverflow = Dom.getStyle(htm, "overflow");
+
+        var offsetHeight = this.element.offsetHeight;
+        var offsetWidth = this.element.offsetWidth;
+
+        var viewPortWidth = Dom.getClientWidth();
+        var viewPortHeight = Dom.getClientHeight();
+
+        var scrollX = window.scrollX || document.body.scrollLeft;
+        var scrollY = window.scrollY || document.body.scrollTop;
+
+        var topConstraint = scrollY + 10;
+        var leftConstraint = scrollX + 10;
+        var bottomConstraint = scrollY + viewPortHeight - offsetHeight - 10;
+        var rightConstraint = scrollX + viewPortWidth - offsetWidth - 10;
+
+        var aContext = oConfig.getProperty("context");
+        var oContextElement = aContext ? aContext[0] : null;
+
+
+        if (x < 10) {
+
+            x = leftConstraint;
+
+        } else if ((x + offsetWidth) > viewPortWidth) {
+
+            if(
+                oContextElement &&
+                ((x - oContextElement.offsetWidth) > offsetWidth)
+            ) {
+
+                x = (x - (oContextElement.offsetWidth + offsetWidth));
+
+            }
+            else {
+
+                x = rightConstraint;
+
+            }
+
+        }
+
+        if (y < 10) {
+
+            y = topConstraint;
+
+        } else if (y > bottomConstraint) {
+
+            if(oContextElement && (y > offsetHeight)) {
+
+                y = ((y + oContextElement.offsetHeight) - offsetHeight);
+
+            }
+            else {
+
+                y = bottomConstraint;
+
+            }
+
+        }
+
+        oConfig.setProperty("x", x, true);
+        oConfig.setProperty("y", y, true);
+
+    };
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "position" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+*/
+YAHOO.widget.MenuModule.prototype.configPosition =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        var sCSSPosition = p_aArgs[0] == "static" ? "static" : "absolute";
+
+        this._oDom.setStyle(this.element, "position", sCSSPosition);
+
+    };
+
+/**
+* Event handler for when the "iframe" configuration property of a
+* MenuModule changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuModule} p_oMenuModule The MenuModule instance fired
+* the event.
+* @see YAHOO.widget.Overlay#configIframe
+*/
+YAHOO.widget.MenuModule.prototype.configIframe =
+
+    function(p_sType, p_aArgs, p_oMenuModule) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            YAHOO.widget.MenuModule.superclass.configIframe.call(
+                this,
+                p_sType,
+                p_aArgs,
+                p_oMenuModule
+            );
+
+        }
+
+    };
+
+// Public methods
+
+YAHOO.widget.MenuModule.prototype.toString = function() {
+
+    return ("Menu " + this.id);
+
+};
+
+/**
+* Sets the title of a group of items.
+* @param {String} p_sGroupTitle The title of the group.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the title belongs.
+*/
+YAHOO.widget.MenuModule.prototype.setItemGroupTitle =
+
+    function(p_sGroupTitle, p_nGroupIndex) {
+
+        if(typeof p_sGroupTitle == "string" && p_sGroupTitle.length > 0) {
+
+            var Dom = this._oDom;
+
+            var nGroupIndex =
+                    typeof p_nGroupIndex == "number" ? p_nGroupIndex : 0;
+
+            var oTitle = this._aGroupTitleElements[nGroupIndex];
+
+
+            if(oTitle) {
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+            }
+            else {
+
+                oTitle = document.createElement(this.GROUP_TITLE_TAG_NAME);
+
+                oTitle.innerHTML = p_sGroupTitle;
+
+                this._aGroupTitleElements[nGroupIndex] = oTitle;
+
+            }
+
+
+            var i = this._aGroupTitleElements.length - 1;
+            var nFirstIndex;
+
+            do {
+
+                if(this._aGroupTitleElements[i]) {
+
+                    Dom.removeClass(
+                        this._aGroupTitleElements[i],
+                        "first-of-type"
+                    );
+
+                    nFirstIndex = i;
+
+                }
+
+            }
+            while(i--);
+
+
+            if(nFirstIndex !== null) {
+
+                Dom.addClass(
+                    this._aGroupTitleElements[nFirstIndex],
+                    "first-of-type"
+                );
+
+            }
+
+        }
+
+    };
+
+/**
+* Appends the specified item to a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was added to the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.addItem = function(p_oItem, p_nGroupIndex) {
+
+    if(p_oItem) {
+
+        return this._addItemToGroup(p_nGroupIndex, p_oItem);
+
+    }
+
+};
+
+/**
+* Inserts an item into a MenuModule instance at the specified index.
+* @param {YAHOO.widget.MenuModuleItem} p_oItem The item to be inserted.
+* @param {Number} p_nItemIndex Number indicating the ordinal position
+* at which the item should be added.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was inserted into the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.insertItem =
+
+    function(p_oItem, p_nItemIndex, p_nGroupIndex) {
+
+        if(p_oItem) {
+
+            return this._addItemToGroup(p_nGroupIndex, p_oItem, p_nItemIndex);
+
+        }
+
+    };
+
+/**
+* Removes the specified item from a MenuModule instance.
+* @param {YAHOO.widget.MenuModuleItem/Number} p_oObject The item or index of
+* the item to be removed.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return The item that was removed from the MenuModule.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.removeItem =
+
+    function(p_oObject, p_nGroupIndex) {
+
+        if(typeof p_oObject != "undefined") {
+
+            var oItem;
+
+            if(p_oObject instanceof YAHOO.widget.MenuModuleItem) {
+
+                oItem =
+                    this._removeItemFromGroupByValue(p_nGroupIndex, p_oObject);
+
+            }
+            else if(typeof p_oObject == "number") {
+
+                oItem =
+                    this._removeItemFromGroupByIndex(p_nGroupIndex, p_oObject);
+
+            }
+
+            if(oItem) {
+
+                oItem.destroy();
+
+
+                return oItem;
+
+            }
+
+        }
+
+    };
+
+/**
+* Returns a multi-dimensional array of all of a MenuModule's items.
+* @return An array of items.
+* @type Array
+*/
+YAHOO.widget.MenuModule.prototype.getItemGroups = function() {
+
+    return this._aItemGroups;
+
+};
+
+/**
+* Returns the item at the specified index.
+* @param {Number} p_nItemIndex Number indicating the ordinal position of the
+* item to be retrieved.
+* @param {Number} p_nGroupIndex Optional. Number indicating the group to which
+* the item belongs.
+* @return An item.
+* @type YAHOO.widget.MenuModuleItem
+*/
+YAHOO.widget.MenuModule.prototype.getItem =
+
+    function(p_nItemIndex, p_nGroupIndex) {
+
+        if(typeof p_nItemIndex == "number") {
+
+            var aGroup = this._getItemGroup(p_nGroupIndex);
+
+            if(aGroup) {
+
+                return aGroup[p_nItemIndex];
+
+            }
+
+        }
+
+    };
+
+/**
+* Removes the MenuModule instance's element from the DOM and sets all child
+* elements to null.
+*/
+YAHOO.widget.MenuModule.prototype.destroy = function() {
+
+    // Remove Custom Event listeners
+
+    this.mouseOverEvent.unsubscribeAll();
+    this.mouseOutEvent.unsubscribeAll();
+    this.mouseDownEvent.unsubscribeAll();
+    this.mouseUpEvent.unsubscribeAll();
+    this.clickEvent.unsubscribeAll();
+    this.keyPressEvent.unsubscribeAll();
+    this.keyDownEvent.unsubscribeAll();
+    this.keyUpEvent.unsubscribeAll();
+
+    var nItemGroups = this._aItemGroups.length;
+    var nItems;
+    var oItemGroup;
+    var oItem;
+    var i;
+    var n;
+
+    // Remove all items
+
+    if(nItemGroups > 0) {
+
+        i = nItemGroups - 1;
+
+        do {
+
+            oItemGroup = this._aItemGroups[i];
+
+            if(oItemGroup) {
+
+                nItems = oItemGroup.length;
+
+                if(nItems > 0) {
+
+                    n = nItems - 1;
+
+                    do {
+
+                        oItem = this._aItemGroups[i][n];
+
+                        if(oItem) {
+
+                            oItem.destroy();
+                        }
+
+                    }
+                    while(n--);
+
+                }
+
+            }
+
+        }
+        while(i--);
+
+    }
+
+    // Continue with the superclass implementation of this method
+
+    YAHOO.widget.MenuModule.superclass.destroy.call(this);
+
+
+};
+
+/**
+* Sets focus to a MenuModule instance's first enabled item.
+*/
+YAHOO.widget.MenuModule.prototype.setInitialFocus = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.focus();
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's first
+* enabled item to "true."
+*/
+YAHOO.widget.MenuModule.prototype.setInitialSelection = function() {
+
+    var oItem = this._getFirstEnabledItem();
+
+    if(oItem) {
+
+        oItem.cfg.setProperty("selected", true);
+    }
+
+};
+
+/**
+* Sets the "selected" configuration property of a MenuModule instance's active
+* item to "false," blurs the item and hide's the item's submenu.
+*/
+YAHOO.widget.MenuModule.prototype.clearActiveItem = function () {
+
+    if(this.activeItem) {
+
+        var oConfig = this.activeItem.cfg;
+
+        oConfig.setProperty("selected", false);
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.hide();
+
+        }
+
+    }
+
+};
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuModule.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuModule.superclass.initDefaultConfig.call(this);
+
+    var oConfig = this.cfg;
+
+	// Add configuration properties
+
+    oConfig.addProperty(
+        "position",
+        {
+            value: "dynamic",
+            handler: this.configPosition,
+            validator: this._checkPosition
+        }
+    );
+
+//    this.cfg.refireEvent("position");
+
+    oConfig.addProperty("submenualignment", { value: ["tl","tr"] } );
+
+};
+
+/**
+* @class The MenuModuleItem class allows you to create and modify an item for a
+* MenuModule instance.
+* @constructor
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuModuleItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuModuleItem = function(p_oObject, p_oConfig) {
+
+    if(p_oObject) {
+
+        this.init(p_oObject, p_oConfig);
+
+    }
+
+};
+
+YAHOO.widget.MenuModuleItem.prototype = {
+
+    // Constants
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator.
+    * @final
+    * @type String
+    */
+    SUBMENU_INDICATOR_IMAGE_PATH: "nt/ic/ut/alt1/menuarorght8_nrm_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is selected.
+    * @final
+    * @type String
+    */
+    SELECTED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_hov_1.gif",
+
+    /**
+    * Constant representing the path to the image to be used for the submenu
+    * arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_IMAGE_PATH:
+        "nt/ic/ut/alt1/menuarorght8_dim_1.gif",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator.
+    * @final
+    * @type String
+    */
+    COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT: "Collapsed.  Click to expand.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when the submenu is visible.
+    * @final
+    * @type String
+    */
+    EXPANDED_SUBMENU_INDICATOR_ALT_TEXT: "Expanded.  Click to collapse.",
+
+    /**
+    * Constant representing the alt text for the image to be used for the
+    * submenu arrow indicator when a MenuModuleItem instance is disabled.
+    * @final
+    * @type String
+    */
+    DISABLED_SUBMENU_INDICATOR_ALT_TEXT: "Disabled.",
+
+    /**
+    * Constant representing the CSS class(es) to be applied to the root
+    * HTMLLIElement of the MenuModuleItem.
+    * @final
+    * @type String
+    */
+    CSS_CLASS_NAME: "yuimenuitem",
+
+    /**
+    * Constant representing the type of menu to instantiate when creating
+    * submenu instances from parsing the child nodes (either HTMLSelectElement
+    * or HTMLDivElement) of the item's DOM.  The default
+    * is YAHOO.widget.MenuModule.
+    * @final
+    * @type YAHOO.widget.MenuModule
+    */
+    SUBMENU_TYPE: null,
+
+    /**
+    * Constant representing the type of item to instantiate when
+    * creating item instances from parsing the child nodes (either
+    * HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * submenu's DOM.
+    * The default is YAHOO.widget.MenuModuleItem.
+    * @final
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    SUBMENU_ITEM_TYPE: null,
+
+    /**
+    * Constant representing the prefix path to use for non-secure images
+    * @type string
+    */
+    IMG_ROOT: "http://us.i1.yimg.com/us.yimg.com/i/",
+
+
+    /**
+    * Constant representing the prefix path to use for securely served images
+    * @type string
+    */
+    IMG_ROOT_SSL: "https://a248.e.akamai.net/sec.yimg.com/i/",
+
+    // Private member variables
+
+    /**
+    * Reference to the HTMLAnchorElement of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {HTMLAnchorElement}
+    */
+    _oAnchor: null,
+
+
+    /**
+    * Reference to the text node of the MenuModuleItem's core internal
+    * DOM structure.
+    * @private
+    * @type {Text}
+    */
+    _oText: null,
+
+
+    /**
+    * Reference to the HTMLElement (&#60;EM&#60;) used to create the optional
+    * help text for a MenuModuleItem instance.
+    * @private
+    * @type {HTMLElement}
+    */
+    _oHelpTextEM: null,
+
+
+    /**
+    * Reference to the submenu for a MenuModuleItem instance.
+    * @private
+    * @type {YAHOO.widget.MenuModule}
+    */
+    _oSubmenu: null,
+
+
+    /**
+    * Reference to the Dom utility singleton.
+    * @private
+    * @type {YAHOO.util.Dom}
+    */
+    _oDom: YAHOO.util.Dom,
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseover" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOverEvent: false,
+
+
+    /**
+    * The current state of a MenuModuleItem instance's "mouseout" event
+    * @private
+    * @type {Boolean}
+    */
+    _bFiredMouseOutEvent: false,
+
+    // Public properties
+
+	/**
+	* The class's constructor function
+	* @type YAHOO.widget.MenuModuleItem
+	*/
+	constructor: YAHOO.widget.MenuModuleItem,
+
+	/**
+	* The string representing the image root
+	* @type string
+	*/
+	imageRoot: null,
+
+	/**
+	* Boolean representing whether or not the current browsing context
+	* is secure (https)
+	* @type boolean
+	*/
+	isSecure: YAHOO.widget.Module.prototype.isSecure,
+
+    /**
+    * Returns the ordinal position of a MenuModuleItem instance in a group.
+    * @type Number
+    */
+    index: null,
+
+    /**
+    * Returns the index of the group to which a MenuModuleItem instance belongs.
+    * @type Number
+    */
+    groupIndex: null,
+
+    /**
+    * Returns the parent object for a MenuModuleItem instance.
+    * @type {YAHOO.widget.MenuModule}
+    */
+    parent: null,
+
+    /**
+    * Returns the HTMLLIElement for a MenuModuleItem instance.
+    * @type {HTMLLIElement}
+    */
+    element: null,
+
+    /**
+    * Returns the HTMLElement (either HTMLLIElement, HTMLOptGroupElement or
+    * HTMLOptionElement) used create the MenuModuleItem instance.
+    * @type {HTMLLIElement/HTMLOptGroupElement/HTMLOptionElement}
+    */
+    srcElement: null,
+
+    /**
+    * Specifies an arbitrary value for a MenuModuleItem instance.
+    * @type {Object}
+    */
+    value: null,
+
+    /**
+    * Reference to the HTMLImageElement used to create the submenu
+    * indicator for a MenuModuleItem instance.
+    * @type {HTMLImageElement}
+    */
+    submenuIndicator: null,
+
+	/**
+	* String representing the browser
+	* @type string
+	*/
+	browser: YAHOO.widget.Module.prototype.browser,
+
+    // Events
+
+    /**
+    * Fires when a MenuModuleItem instances's HTMLLIElement is removed from
+    * it's parent HTMLUListElement node.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    destroyEvent: null,
+
+    /**
+    * Fires when the mouse has entered a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOverEvent: null,
+
+    /**
+    * Fires when the mouse has left a MenuModuleItem instance.  Passes back
+    * the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseOutEvent: null,
+
+    /**
+    * Fires when the user mouses down on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseDownEvent: null,
+
+    /**
+    * Fires when the user releases a mouse button while the mouse is
+    * over a MenuModuleItem instance.  Passes back the DOM Event object as
+    * an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    mouseUpEvent: null,
+
+    /**
+    * Fires when the user clicks the on a MenuModuleItem instance.  Passes
+    * back the DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    clickEvent: null,
+
+    /**
+    * Fires when the user presses an alphanumeric key.  Passes back the
+    * DOM Event object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyPressEvent: null,
+
+    /**
+    * Fires when the user presses a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyDownEvent: null,
+
+    /**
+    * Fires when the user releases a key.  Passes back the DOM Event
+    * object as an argument.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    keyUpEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance receives focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    focusEvent: null,
+
+    /**
+    * Fires when a MenuModuleItem instance loses the input focus.
+    * @type {YAHOO.util.CustomEvent}
+    * @see YAHOO.util.CustomEvent
+    */
+    blurEvent: null,
+
+    /**
+    * The MenuModuleItem class's initialization method. This method is
+    * automatically called by the constructor, and sets up all DOM references
+    * for pre-existing markup, and creates required markup if it is not
+    * already present.
+    * @param {String or HTMLElement} p_oObject String or HTMLElement
+    * (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+    * source HTMLElement node.
+    * @param {Object} p_oConfig The configuration object literal containing
+    * the configuration for a MenuModuleItem instance. See the configuration
+    * class documentation for more details.
+    */
+    init: function(p_oObject, p_oConfig) {
+
+        this.imageRoot = (this.isSecure) ? this.IMG_ROOT_SSL : this.IMG_ROOT;
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.MenuModule;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuModuleItem;
+
+        }
+
+        // Create the config object
+
+        this.cfg = new YAHOO.util.Config(this);
+
+        this.initDefaultConfig();
+
+        var oConfig = this.cfg;
+
+        if(this._checkString(p_oObject)) {
+
+            this._createRootNodeStructure();
+
+            oConfig.setProperty("text", p_oObject);
+
+        }
+        else if(this._checkDOMNode(p_oObject)) {
+
+            switch(p_oObject.tagName) {
+
+                case "OPTION":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.text);
+
+                    this.srcElement = p_oObject;
+
+                break;
+
+                case "OPTGROUP":
+
+                    this._createRootNodeStructure();
+
+                    oConfig.setProperty("text", p_oObject.label);
+
+                    this.srcElement = p_oObject;
+
+                    this._initSubTree();
+
+                break;
+
+                case "LI":
+
+                    // Get the anchor node (if it exists)
+
+                    var oAnchor = this._getFirstElement(p_oObject, "A");
+                    var sURL = "#";
+                    var sTarget = null;
+                    var sText = null;
+
+                    // Capture the "text" and/or the "URL"
+
+                    if(oAnchor) {
+
+                        sURL = oAnchor.getAttribute("href");
+                        sTarget = oAnchor.getAttribute("target");
+
+                        if(oAnchor.innerText) {
+
+                            sText = oAnchor.innerText;
+
+                        }
+                        else {
+
+                            var oRange = oAnchor.ownerDocument.createRange();
+
+                            oRange.selectNodeContents(oAnchor);
+
+                            sText = oRange.toString();
+
+                        }
+
+                    }
+                    else {
+
+                        var oText = p_oObject.firstChild;
+
+                        sText = oText.nodeValue;
+
+                        oAnchor = document.createElement("a");
+
+                        oAnchor.setAttribute("href", sURL);
+
+                        p_oObject.replaceChild(oAnchor, oText);
+
+                        oAnchor.appendChild(oText);
+
+                    }
+
+                    this.srcElement = p_oObject;
+                    this.element = p_oObject;
+                    this._oAnchor = oAnchor;
+
+
+                    // Check if emphasis has been applied to the MenuModuleItem
+
+                    var oEmphasisNode = this._getFirstElement(oAnchor);
+                    var bEmphasis = false;
+                    var bStrongEmphasis = false;
+
+                    if(oEmphasisNode) {
+
+                        // Set a reference to the text node
+
+                        this._oText = oEmphasisNode.firstChild;
+
+                        switch(oEmphasisNode.tagName) {
+
+                            case "EM":
+
+                                bEmphasis = true;
+
+                            break;
+
+                            case "STRONG":
+
+                                bStrongEmphasis = true;
+
+                            break;
+
+                        }
+
+                    }
+                    else {
+
+                        // Set a reference to the text node
+
+                        this._oText = oAnchor.firstChild;
+
+                    }
+
+                    /*
+                        Set these properties silently to sync up the
+                        configuration object without making changes to the
+                        element's DOM
+                    */
+
+                    oConfig.setProperty("text", sText, true);
+                    oConfig.setProperty("url", sURL, true);
+                    oConfig.setProperty("target", sTarget, true);
+                    oConfig.setProperty("emphasis", bEmphasis, true);
+                    oConfig.setProperty(
+                        "strongemphasis",
+                        bStrongEmphasis,
+                        true
+                    );
+
+                    this._initSubTree();
+
+                break;
+
+            }
+
+        }
+
+        if(this.element) {
+
+            this._oDom.addClass(this.element, this.CSS_CLASS_NAME);
+
+            // Create custom events
+
+            var CustomEvent = YAHOO.util.CustomEvent;
+
+            this.destroyEvent = new CustomEvent("destroyEvent", this);
+            this.mouseOverEvent = new CustomEvent("mouseOverEvent", this);
+            this.mouseOutEvent = new CustomEvent("mouseOutEvent", this);
+            this.mouseDownEvent = new CustomEvent("mouseDownEvent", this);
+            this.mouseUpEvent = new CustomEvent("mouseUpEvent", this);
+            this.clickEvent = new CustomEvent("clickEvent", this);
+            this.keyPressEvent = new CustomEvent("keyPressEvent", this);
+            this.keyDownEvent = new CustomEvent("keyDownEvent", this);
+            this.keyUpEvent = new CustomEvent("keyUpEvent", this);
+            this.focusEvent = new CustomEvent("focusEvent", this);
+            this.blurEvent = new CustomEvent("blurEvent", this);
+
+            // Subscribe to custom event
+
+            this.clickEvent.subscribe(this._onMenuModuleItemClick, this, true);
+
+            if(p_oConfig) {
+
+                oConfig.applyConfig(p_oConfig);
+
+            }
+
+            oConfig.fireQueue();
+
+        }
+
+    },
+
+    // Private methods
+
+    /**
+    * Returns an HTMLElement's first HTMLElement node
+    * @private
+    * @param {HTMLElement} p_oElement The element to be evaluated.
+    * @param {String} p_sTagName Optional. The tagname of the element.
+    * @return Returns an HTMLElement node.
+    * @type Boolean
+    */
+    _getFirstElement: function(p_oElement, p_sTagName) {
+
+        var oElement;
+
+        if(p_oElement.firstChild && p_oElement.firstChild.nodeType == 1) {
+
+            oElement = p_oElement.firstChild;
+
+        }
+        else if(
+            p_oElement.firstChild &&
+            p_oElement.firstChild.nextSibling &&
+            p_oElement.firstChild.nextSibling.nodeType == 1
+        ) {
+
+            oElement = p_oElement.firstChild.nextSibling;
+
+        }
+
+        if(p_sTagName) {
+
+            return (oElement && oElement.tagName == p_sTagName) ?
+                oElement : false;
+
+        }
+
+        return oElement;
+
+    },
+
+    /**
+    * Determines if an object is a string
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is a string.
+    * @type Boolean
+    */
+    _checkString: function(p_oObject) {
+
+        return (typeof p_oObject == "string");
+
+    },
+
+    /**
+    * Determines if an object is an HTMLElement.
+    * @private
+    * @param {Object} p_oObject The object to be evaluated.
+    * @return Returns true if the object is an HTMLElement.
+    * @type Boolean
+    */
+    _checkDOMNode: function(p_oObject) {
+
+        return (p_oObject && p_oObject.tagName);
+
+    },
+
+    /**
+    * Creates the core DOM structure for a MenuModuleItem instance.
+    * @private
+    */
+    _createRootNodeStructure: function () {
+
+        this.element = document.createElement("li");
+
+        this._oText = document.createTextNode("");
+
+        this._oAnchor = document.createElement("a");
+        this._oAnchor.appendChild(this._oText);
+
+        this.cfg.refireEvent("url");
+
+        this.element.appendChild(this._oAnchor);
+
+    },
+
+    /**
+    * Iterates the source element's childNodes collection and uses the
+    * child nodes to instantiate other menus.
+    * @private
+    */
+    _initSubTree: function() {
+
+        var Menu = this.SUBMENU_TYPE;
+        var MenuModuleItem = this.SUBMENU_ITEM_TYPE;
+        var oSrcEl = this.srcElement;
+        var oConfig = this.cfg;
+
+        if(oSrcEl.childNodes.length > 0) {
+
+            var oNode = oSrcEl.firstChild;
+            var aOptions = [];
+
+            do {
+
+                switch(oNode.tagName) {
+
+                    case "DIV":
+
+                        oConfig.setProperty("submenu", (new Menu(oNode)));
+
+                    break;
+
+                    case "OPTION":
+
+                        aOptions[aOptions.length] = oNode;
+
+                    break;
+
+                }
+
+            }
+            while((oNode = oNode.nextSibling));
+
+            var nOptions = aOptions.length;
+
+            if(nOptions > 0) {
+
+                oConfig.setProperty(
+                    "submenu",
+                    (new Menu(this._oDom.generateId()))
+                );
+
+                for(var n=0; n<nOptions; n++) {
+
+                    this._oSubmenu.addItem((new MenuModuleItem(aOptions[n])));
+
+                }
+
+            }
+
+        }
+
+    },
+
+    /**
+    * "click" event handler for a MenuModuleItem
+    * @private
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the event
+    * was fired.
+    * @param {YAHOO.widget.MenuItem} p_oMenuModuleItem The MenuModule instance
+    * that fired the event.
+    */
+    _onMenuModuleItemClick: function(p_sType, p_aArgs, p_oMenuModuleItem) {
+
+        var Event = YAHOO.util.Event;
+        var oEvent = p_aArgs[0];
+        var oTarget = Event.getTarget(oEvent);
+        var oSubmenu = this.cfg.getProperty("submenu");
+
+        /*
+            ACCESSIBILITY FEATURE FOR SCREEN READERS: Expand/collapse the
+            submenu when the user clicks on the submenu indicator image.
+        */
+
+        if(oTarget == this.submenuIndicator && oSubmenu) {
+
+            if(oSubmenu.cfg.getProperty("visible")) {
+
+                oSubmenu.hide();
+
+            }
+            else {
+
+                var oActiveItem = this.parent.activeItem;
+
+
+                // Hide any other submenus that might be visible
+
+                if(oActiveItem && oActiveItem != this) {
+
+                    this.parent.clearActiveItem();
+
+                }
+
+                this.parent.activeItem = this;
+
+                this.cfg.setProperty("selected", true);
+
+                oSubmenu.show();
+
+            }
+
+        }
+        else {
+
+            var sURL = this.cfg.getProperty("url");
+            var bCurrentPageURL = (sURL.substr((sURL.length-1),1) == "#");
+
+            var sTarget = this.cfg.getProperty("target");
+            var bHasTarget = (sTarget && sTarget.length > 0);
+
+            // Prevent the browser from following links equal to "#"
+
+            if(oTarget.tagName == "A" && bCurrentPageURL && !bHasTarget) {
+
+                Event.preventDefault(oEvent);
+
+            }
+
+            if(oTarget.tagName != "A" && !bCurrentPageURL && !bHasTarget) {
+
+                /*
+                    Follow the URL of the item regardless of whether or
+                    not the user clicked specifically on the
+                    HTMLAnchorElement (&#60;A&#60;) node.
+                */
+
+                document.location = sURL;
+
+            }
+
+        }
+
+    },
+
+    // Event handlers for configuration properties
+
+    /**
+    * Event handler for when the "text" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configText: function(p_sType, p_aArgs, p_oItem) {
+
+        var sText = p_aArgs[0];
+
+        if(this._oText) {
+
+            this._oText.nodeValue = sText;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "helptext" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configHelpText: function(p_sType, p_aArgs, p_oItem) {
+
+        var me = this;
+        var Dom = this._oDom;
+        var oHelpText = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var aNodes = [oEl, this._oAnchor];
+        var oImg = this.submenuIndicator;
+
+        /**
+        * Adds the "hashelptext" class to the necessary nodes and refires the
+        * "selected" and "disabled" configuration events
+        * @ignore
+        */
+        function initHelpText() {
+
+            Dom.addClass(aNodes, "hashelptext");
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+
+        /**
+        * Removes the "hashelptext" class and corresponding DOM element (EM)
+        * @ignore
+        */
+        function removeHelpText() {
+
+            Dom.removeClass(aNodes, "hashelptext");
+
+            oEl.removeChild(me._oHelpTextEM);
+            me._oHelpTextEM = null;
+
+        }
+
+        if(this._checkDOMNode(oHelpText)) {
+
+            if(this._oHelpTextEM) {
+
+                this._oHelpTextEM.parentNode.replaceChild(
+                    oHelpText,
+                    this._oHelpTextEM
+                );
+
+            }
+            else {
+
+                this._oHelpTextEM = oHelpText;
+
+                oEl.insertBefore(this._oHelpTextEM, oImg);
+
+            }
+
+            initHelpText();
+
+        }
+        else if(this._checkString(oHelpText)) {
+
+            if(oHelpText.length === 0) {
+
+                removeHelpText();
+
+            }
+            else {
+
+                if(!this._oHelpTextEM) {
+
+                    this._oHelpTextEM = document.createElement("em");
+
+                    oEl.insertBefore(this._oHelpTextEM, oImg);
+
+                }
+
+                this._oHelpTextEM.innerHTML = oHelpText;
+
+                initHelpText();
+
+            }
+
+        }
+        else if(!oHelpText && this._oHelpTextEM) {
+
+            removeHelpText();
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "url" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configURL: function(p_sType, p_aArgs, p_oItem) {
+
+        var sURL = p_aArgs[0];
+
+        if(!sURL) {
+
+            sURL = "#";
+
+        }
+
+        this._oAnchor.setAttribute("href", sURL);
+
+    },
+
+    /**
+    * Event handler for when the "target" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configTarget: function(p_sType, p_aArgs, p_oItem) {
+
+        var sTarget = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+
+        if(sTarget && sTarget.length > 0) {
+
+            oAnchor.setAttribute("target", sTarget);
+
+        }
+        else {
+
+            oAnchor.removeAttribute("target");
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "emphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oEM;
+
+        if(bEmphasis && oConfig.getProperty("strongemphasis")) {
+
+            oConfig.setProperty("strongemphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bEmphasis) {
+
+                oEM = document.createElement("em");
+                oEM.appendChild(oText);
+
+                oAnchor.appendChild(oEM);
+
+            }
+            else {
+
+                oEM = this._getFirstElement(oAnchor, "EM");
+
+                oAnchor.removeChild(oEM);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "strongemphasis" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configStrongEmphasis: function(p_sType, p_aArgs, p_oItem) {
+
+        var bStrongEmphasis = p_aArgs[0];
+        var oAnchor = this._oAnchor;
+        var oText = this._oText;
+        var oConfig = this.cfg;
+        var oStrong;
+
+        if(bStrongEmphasis && oConfig.getProperty("emphasis")) {
+
+            oConfig.setProperty("emphasis", false);
+
+        }
+
+        if(oAnchor) {
+
+            if(bStrongEmphasis) {
+
+                oStrong = document.createElement("strong");
+                oStrong.appendChild(oText);
+
+                oAnchor.appendChild(oStrong);
+
+            }
+            else {
+
+                oStrong = this._getFirstElement(oAnchor, "STRONG");
+
+                oAnchor.removeChild(oStrong);
+                oAnchor.appendChild(oText);
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "disabled" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configDisabled: function(p_sType, p_aArgs, p_oItem) {
+
+        var bDisabled = p_aArgs[0];
+        var Dom = this._oDom;
+        var oAnchor = this._oAnchor;
+        var aNodes = [this.element, oAnchor];
+        var oEM = this._oHelpTextEM;
+        var oConfig = this.cfg;
+        var oImg = this.submenuIndicator;
+        var sImageSrc;
+        var sImageAlt;
+
+        if(oEM) {
+
+            aNodes[2] = oEM;
+
+        }
+
+        if(bDisabled) {
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.setProperty("selected", false);
+
+            }
+
+            oAnchor.removeAttribute("href");
+
+            Dom.addClass(aNodes, "disabled");
+
+            sImageSrc = this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.DISABLED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+        else {
+
+            oAnchor.setAttribute("href", oConfig.getProperty("url"));
+
+            Dom.removeClass(aNodes, "disabled");
+
+            sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+            sImageAlt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+        }
+
+        if(oImg) {
+
+            oImg.src = this.imageRoot + sImageSrc;
+            oImg.alt = sImageAlt;
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "selected" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSelected: function(p_sType, p_aArgs, p_oItem) {
+
+        if(!this.cfg.getProperty("disabled")) {
+
+            var Dom = this._oDom;
+            var bSelected = p_aArgs[0];
+            var oEM = this._oHelpTextEM;
+            var aNodes = [this.element, this._oAnchor];
+            var oImg = this.submenuIndicator;
+            var sImageSrc;
+
+            if(oEM) {
+
+                aNodes[aNodes.length] = oEM;
+
+            }
+
+            if(oImg) {
+
+                aNodes[aNodes.length] = oImg;
+
+            }
+
+            if(bSelected) {
+
+                Dom.addClass(aNodes, "selected");
+                sImageSrc = this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+            else {
+
+                Dom.removeClass(aNodes, "selected");
+                sImageSrc = this.SUBMENU_INDICATOR_IMAGE_PATH;
+
+            }
+
+            if(oImg) {
+
+                oImg.src = document.images[(this.imageRoot + sImageSrc)].src;
+
+            }
+
+        }
+
+    },
+
+    /**
+    * Event handler for when the "submenu" configuration property of
+    * a MenuModuleItem instance changes.
+    * @param {String} p_sType The name of the event that was fired.
+    * @param {Array} p_aArgs Collection of arguments sent when the
+    * event was fired.
+    * @param {YAHOO.widget.MenuModuleItem} p_oItem The MenuModuleItem instance
+    * that fired the event.
+    */
+    configSubmenu: function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = this._oDom;
+        var oEl = this.element;
+        var oSubmenu = p_aArgs[0];
+        var oImg = this.submenuIndicator;
+        var oConfig = this.cfg;
+        var aNodes = [this.element, this._oAnchor];
+
+        if(oSubmenu) {
+
+            // Set the submenu's parent to this MenuModuleItem instance
+
+            oSubmenu.parent = this;
+
+            this._oSubmenu = oSubmenu;
+
+            if(!oImg) {
+
+                var me = this;
+
+                function preloadImage(p_sPath) {
+
+                    var sPath = me.imageRoot + p_sPath;
+
+                    if(!document.images[sPath]) {
+
+                        var oImage = document.createElement("img");
+                        oImage.src = sPath;
+                        oImage.name = sPath;
+                        oImage.id = sPath;
+                        oImage.style.display = "none";
+
+                        document.body.appendChild(oImage);
+
+                    }
+
+                }
+
+                preloadImage(this.SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH);
+                preloadImage(this.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH);
+
+                oImg = document.createElement("img");
+                oImg.src = (this.imageRoot + this.SUBMENU_INDICATOR_IMAGE_PATH);
+                oImg.alt = this.COLLAPSED_SUBMENU_INDICATOR_ALT_TEXT;
+
+                oEl.appendChild(oImg);
+
+                this.submenuIndicator = oImg;
+
+                Dom.addClass(aNodes, "hassubmenu");
+
+                if(oConfig.getProperty("disabled")) {
+
+                    oConfig.refireEvent("disabled");
+
+                }
+
+                if(oConfig.getProperty("selected")) {
+
+                    oConfig.refireEvent("selected");
+
+                }
+
+            }
+
+        }
+        else {
+
+            Dom.removeClass(aNodes, "hassubmenu");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            if(this._oSubmenu) {
+
+                this._oSubmenu.destroy();
+
+            }
+
+        }
+
+    },
+
+    // Public methods
+
+	/**
+	* Initializes an item's configurable properties.
+	*/
+	initDefaultConfig : function() {
+
+        var oConfig = this.cfg;
+        var CheckBoolean = oConfig.checkBoolean;
+
+        // Define the config properties
+
+        oConfig.addProperty(
+            "text",
+            {
+                value: "",
+                handler: this.configText,
+                validator: this._checkString,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("helptext", { handler: this.configHelpText });
+
+        oConfig.addProperty(
+            "url",
+            { value: "#", handler: this.configURL, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "target",
+            { handler: this.configTarget, suppressEvent: true }
+        );
+
+        oConfig.addProperty(
+            "emphasis",
+            {
+                value: false,
+                handler: this.configEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "strongemphasis",
+            {
+                value: false,
+                handler: this.configStrongEmphasis,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "disabled",
+            {
+                value: false,
+                handler: this.configDisabled,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty(
+            "selected",
+            {
+                value: false,
+                handler: this.configSelected,
+                validator: CheckBoolean,
+                suppressEvent: true
+            }
+        );
+
+        oConfig.addProperty("submenu", { handler: this.configSubmenu });
+
+	},
+
+    /**
+    * Finds the next enabled MenuModuleItem instance in a MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getNextEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the next item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getNextArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getNextArrayItem(p_aArray, (p_nStartIndex+1));
+
+            }
+
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oNextItem;
+
+
+            if(this.index < (aItemGroups[nGroupIndex].length - 1)) {
+
+                oNextItem = getNextArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index+1)
+                    );
+
+            }
+            else {
+
+                var nNextGroupIndex;
+
+                if(nGroupIndex < (aItemGroups.length - 1)) {
+
+                    nNextGroupIndex = nGroupIndex + 1;
+
+                }
+                else {
+
+                    nNextGroupIndex = 0;
+
+                }
+
+                var aNextGroup = getNextArrayItem(aItemGroups, nNextGroupIndex);
+
+                // Retrieve the first MenuModuleItem instance in the next group
+
+                oNextItem = getNextArrayItem(aNextGroup, 0);
+
+            }
+
+            return (
+                oNextItem.cfg.getProperty("disabled") ||
+                oNextItem.element.style.display == "none"
+            ) ?
+            oNextItem.getNextEnabledSibling() : oNextItem;
+
+        }
+
+    },
+
+    /**
+    * Finds the previous enabled MenuModuleItem instance in a
+    * MenuModule instance
+    * @return Returns a MenuModuleItem instance.
+    * @type YAHOO.widget.MenuModuleItem
+    */
+    getPreviousEnabledSibling: function() {
+
+        if(this.parent instanceof YAHOO.widget.MenuModule) {
+
+            var nGroupIndex = this.groupIndex;
+
+            /**
+            * Returns the previous item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getPreviousArrayItem(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ||
+                    getPreviousArrayItem(p_aArray, (p_nStartIndex-1));
+
+            }
+
+            /**
+            * Get the index of the first item in an array
+            * @param {p_aArray} An array
+            * @param {p_nStartIndex} The index to start searching the array
+            * @ignore
+            * @return Returns an item in an array
+            * @type Object
+            */
+            function getFirstItemIndex(p_aArray, p_nStartIndex) {
+
+                return p_aArray[p_nStartIndex] ?
+                    p_nStartIndex :
+                    getFirstItemIndex(p_aArray, (p_nStartIndex+1));
+
+            }
+
+            var aItemGroups = this.parent.getItemGroups();
+            var oPreviousItem;
+
+            if(
+                this.index > getFirstItemIndex(aItemGroups[nGroupIndex], 0)
+            ) {
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aItemGroups[nGroupIndex],
+                        (this.index-1)
+                    );
+
+            }
+            else {
+
+                var nPreviousGroupIndex;
+
+                if(nGroupIndex > getFirstItemIndex(aItemGroups, 0)) {
+
+                    nPreviousGroupIndex = nGroupIndex - 1;
+
+                }
+                else {
+
+                    nPreviousGroupIndex = aItemGroups.length - 1;
+
+                }
+
+                var aPreviousGroup =
+                        getPreviousArrayItem(aItemGroups, nPreviousGroupIndex);
+
+                oPreviousItem =
+                    getPreviousArrayItem(
+                        aPreviousGroup,
+                        (aPreviousGroup.length - 1)
+                    );
+
+            }
+
+            return (
+                oPreviousItem.cfg.getProperty("disabled") ||
+                oPreviousItem.element.style.display == "none"
+            ) ?
+            oPreviousItem.getPreviousEnabledSibling() : oPreviousItem;
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to receive the focus and fires the
+    * focus event.
+    */
+    focus: function() {
+
+        var oParent = this.parent;
+        var oAnchor = this._oAnchor;
+        var oActiveItem = oParent.activeItem;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            oParent.cfg.getProperty("visible") &&
+            this.element.style.display != "none"
+        ) {
+
+            if(oActiveItem) {
+
+                oActiveItem.blur();
+
+            }
+
+            oAnchor.focus();
+
+            this.focusEvent.fire();
+
+        }
+
+    },
+
+    /**
+    * Causes a MenuModuleItem instance to lose focus and fires the onblur event.
+    */
+    blur: function() {
+
+        var oParent = this.parent;
+
+        if(
+            !this.cfg.getProperty("disabled") &&
+            oParent &&
+            this._oDom.getStyle(oParent.element, "visibility") == "visible"
+        ) {
+
+            this._oAnchor.blur();
+
+            this.blurEvent.fire();
+
+        }
+
+    },
+
+	/**
+	* Removes a MenuModuleItem instance's HTMLLIElement from it's parent
+    * HTMLUListElement node.
+	*/
+    destroy: function() {
+
+        var oEl = this.element;
+
+        if(oEl) {
+
+            // Remove CustomEvent listeners
+
+            this.mouseOverEvent.unsubscribeAll();
+            this.mouseOutEvent.unsubscribeAll();
+            this.mouseDownEvent.unsubscribeAll();
+            this.mouseUpEvent.unsubscribeAll();
+            this.clickEvent.unsubscribeAll();
+            this.keyPressEvent.unsubscribeAll();
+            this.keyDownEvent.unsubscribeAll();
+            this.keyUpEvent.unsubscribeAll();
+            this.focusEvent.unsubscribeAll();
+            this.blurEvent.unsubscribeAll();
+            this.cfg.configChangedEvent.unsubscribeAll();
+
+            // Remove the element from the parent node
+
+            var oParentNode = oEl.parentNode;
+
+            if(oParentNode) {
+
+                oParentNode.removeChild(oEl);
+
+                this.destroyEvent.fire();
+
+            }
+
+            this.destroyEvent.unsubscribeAll();
+
+        }
+
+    }
+
+};
+
+/**
+* @class Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.Menu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.Menu, YAHOO.widget.MenuModule);
+
+/**
+* The Menu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a Menu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.Menu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.Menu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.Menu);
+
+    // Add event handlers
+
+    this.showEvent.subscribe(this._onMenuShow, this, true);
+    this.mouseOverEvent.subscribe(this._onMenuMouseOver, this, true);
+    this.keyDownEvent.subscribe(this._onMenuKeyDown, this, true);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.Menu);
+
+};
+
+// Private event handlers
+
+/**
+* "show" Custom Event handler for a menu.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The menu that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuShow =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var oParent = this.parent;
+
+        if(oParent && oParent.parent instanceof YAHOO.widget.Menu) {
+
+            var aAlignment = oParent.parent.cfg.getProperty("submenualignment");
+
+            this.cfg.setProperty(
+                "submenualignment",
+                [ aAlignment[0], aAlignment[1] ]
+            );
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        /*
+            If the menu is a submenu, then select the menu's parent
+            MenuItem instance
+        */
+
+        if(this.parent) {
+
+            this.parent.cfg.setProperty("selected", true);
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a Menu instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.Menu} p_oMenu The Menu instance that fired the event.
+*/
+YAHOO.widget.Menu.prototype._onMenuKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        if(this.cfg.getProperty("position") == "dynamic") {
+
+            var oDOMEvent = p_aArgs[0];
+            var oParent = this.parent;
+
+            if(oDOMEvent.keyCode == 27) { // Esc key
+
+                this.hide();
+
+                // Set focus to the parent MenuItem if one exists
+
+                if(oParent) {
+
+                    oParent.focus();
+
+                    if(oParent.parent instanceof YAHOO.widget.Menu) {
+
+                        oParent.cfg.setProperty("selected", true);
+
+                    }
+
+                    YAHOO.util.Event.preventDefault(oDOMEvent);
+
+                }
+
+            }
+
+        }
+
+    };
+
+
+// Public event handlers
+
+/**
+* Event handler fired when the resize monitor element is resized.
+*/
+YAHOO.widget.Menu.prototype.onDomResize = function(e, obj) {
+
+    if(!this._handleResize) {
+
+        this._handleResize = true;
+        return;
+
+    }
+
+
+    var me = this;
+    var oConfig = this.cfg;
+
+    if(oConfig.getProperty("position") == "dynamic") {
+
+        oConfig.setProperty("width", (this._getOffsetWidth() + "px"));
+
+        if(this.parent && oConfig.getProperty("visible")) {
+
+            function align() {
+
+                me.align();
+
+            }
+
+            window.setTimeout(align, 0);
+
+        }
+
+    }
+
+    YAHOO.widget.Menu.superclass.onDomResize.call(this, e, obj);
+
+};
+
+/**
+* @class The MenuItem class allows you to create and modify an item for a
+* Menu instance.  MenuItem extends YAHOO.widget.MenuModuleItem to provide a
+* set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+    this.mouseOverEvent.subscribe(this._onMouseOver, this, true);
+    this.mouseOutEvent.subscribe(this._onMouseOut, this, true);
+    this.clickEvent.subscribe(this._onClick, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the path to the image to be used for the checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the selected
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.SELECTED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the disabled
+* checked state.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_PATH =
+    "nt/ic/ut/bsc/menuchk8_dim_1.gif";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.CHECKED_IMAGE_ALT_TEXT = "Checked.";
+
+/**
+* Constant representing the alt text for the image to be used for the
+* checked image when the item is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuItem.prototype.DISABLED_CHECKED_IMAGE_ALT_TEXT =
+    "Checked. (Item disabled.)";
+
+// Private properties
+
+/**
+* Reference to the HTMLImageElement used to create the checked
+* indicator for a MenuItem instance.
+* @private
+* @type {HTMLImageElement}
+*/
+YAHOO.widget.MenuItem.prototype._checkImage = null;
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oMenuItem;
+
+
+        switch(oDOMEvent.keyCode) {
+
+            case 38:    // Up arrow
+            case 40:    // Down arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 38) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 39:    // Right arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+                else if(
+                    YAHOO.widget.MenuBarItem &&
+                    oParent.parent &&
+                    oParent.parent instanceof YAHOO.widget.MenuBarItem
+                ) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+
+            case 37:    // Left arrow
+
+                // Only hide if this this is a MenuItem of a submenu
+
+                if(oParent.parent) {
+
+                    oParent.hide();
+
+                    // Set focus to the parent MenuItem if one exists
+
+                    oMenuItem = oParent.parent;
+
+                    if(oMenuItem) {
+
+                        oMenuItem.focus();
+                        oMenuItem.cfg.setProperty("selected", true);
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
+
+/**
+* "mouseover" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOver =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oParent = this.parent;
+        var oConfig = this.cfg;
+        var oActiveItem = oParent.activeItem;
+
+
+        // Hide any other submenus that might be visible
+
+        if(oActiveItem && oActiveItem != this) {
+
+            oParent.clearActiveItem();
+
+        }
+
+
+        // Select and focus the current MenuItem instance
+
+        oConfig.setProperty("selected", true);
+        this.focus();
+
+
+        // Show the submenu for this instance
+
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        if(oSubmenu) {
+
+            oSubmenu.show();
+
+        }
+
+    };
+
+/**
+* "mouseout" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onMouseOut =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var oConfig = this.cfg;
+        var oSubmenu = oConfig.getProperty("submenu");
+
+        oConfig.setProperty("selected", false);
+
+        if(oSubmenu) {
+
+            var oDOMEvent = p_aArgs[0];
+            var oRelatedTarget = YAHOO.util.Event.getRelatedTarget(oDOMEvent);
+
+            if(
+                !(
+                    oRelatedTarget == oSubmenu.element ||
+                    YAHOO.util.Dom.isAncestor(oSubmenu.element, oRelatedTarget)
+                )
+            ) {
+
+                oSubmenu.hide();
+
+            }
+
+        }
+
+    };
+
+/**
+* "click" Custom Event handler for a MenuItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuItem.prototype._onClick =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        function findRoot(p_oMenu) {
+
+            var oItem = p_oMenu.parent; // The parent MenuItem instance
+
+            if(oItem) {
+
+                var oParentMenu = oItem.parent;
+
+                if(
+                    oParentMenu &&
+                    (oParentMenu instanceof YAHOO.widget.Menu) &&
+                    oParentMenu.cfg.getProperty("position") == "dynamic"
+                ) {
+
+                    return findRoot(oParentMenu);
+
+                }
+
+            }
+
+            return p_oMenu;
+
+        }
+
+
+        var oRoot = findRoot(this.parent);
+        var sURL = this.cfg.getProperty("url");
+
+        if(
+            (sURL.substr((sURL.length-1),1) == "#") &&
+            oRoot &&
+            oRoot.cfg.getProperty("position") == "dynamic"
+        ) {
+
+            oRoot.hide();
+
+        }
+
+    };
+
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "checked" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configChecked =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        var Dom = YAHOO.util.Dom;
+        var bChecked = p_aArgs[0];
+        var oEl = this.element;
+        var oConfig = this.cfg;
+        var oImg;
+
+
+        if(bChecked) {
+
+            var me = this;
+
+            function preloadImage(p_sPath) {
+
+                var sPath = me.imageRoot + p_sPath;
+
+                if(!document.images[sPath]) {
+
+                    var oImage = document.createElement("img");
+                    oImage.src = sPath;
+                    oImage.name = sPath;
+                    oImage.id = sPath;
+                    oImage.style.display = "none";
+
+                    document.body.appendChild(oImage);
+
+                }
+
+            }
+
+            preloadImage(this.CHECKED_IMAGE_PATH);
+            preloadImage(this.SELECTED_CHECKED_IMAGE_PATH);
+            preloadImage(this.DISABLED_CHECKED_IMAGE_PATH);
+
+            oImg = document.createElement("img");
+            oImg.src = (this.imageRoot + this.CHECKED_IMAGE_PATH);
+            oImg.alt = this.CHECKED_IMAGE_ALT_TEXT;
+
+            var oSubmenu = this.cfg.getProperty("submenu");
+
+            if(oSubmenu) {
+
+                oEl.insertBefore(oImg, oSubmenu.element);
+
+            }
+            else {
+
+                oEl.appendChild(oImg);
+
+            }
+
+            Dom.addClass([oEl, oImg], "checked");
+
+            this._checkImage = oImg;
+
+            if(oConfig.getProperty("disabled")) {
+
+                oConfig.refireEvent("disabled");
+
+            }
+
+            if(oConfig.getProperty("selected")) {
+
+                oConfig.refireEvent("selected");
+
+            }
+
+        }
+        else {
+
+            oImg = this._checkImage;
+
+            Dom.removeClass([oEl, oImg], "checked");
+
+            if(oImg) {
+
+                oEl.removeChild(oImg);
+
+            }
+
+            this._checkImage = null;
+
+        }
+
+    };
+
+
+/**
+* Event handler for when the "selected" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configSelected =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configSelected.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        var oConfig = this.cfg;
+
+        if(!oConfig.getProperty("disabled") && oConfig.getProperty("checked")) {
+
+            var bSelected = p_aArgs[0];
+
+            var sSrc = this.imageRoot + (bSelected ?
+                this.SELECTED_CHECKED_IMAGE_PATH : this.CHECKED_IMAGE_PATH);
+
+            this._checkImage.src = document.images[sSrc].src;
+
+        }
+
+    };
+
+/**
+* Event handler for when the "disabled" configuration property of
+* a MenuItem instance changes.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.MenuItem} p_oItem The MenuItem instance
+* that fired the event.
+*/
+YAHOO.widget.MenuItem.prototype.configDisabled =
+
+    function(p_sType, p_aArgs, p_oItem) {
+
+        YAHOO.widget.MenuItem.superclass.configDisabled.call(
+                this, p_sType, p_aArgs, p_oItem
+            );
+
+        if(this.cfg.getProperty("checked")) {
+
+            var bDisabled = p_aArgs[0];
+            var sAlt = this.CHECKED_IMAGE_ALT_TEXT;
+            var sSrc = this.CHECKED_IMAGE_PATH;
+            var oImg = this._checkImage;
+
+            if(bDisabled) {
+
+                sAlt = this.DISABLED_CHECKED_IMAGE_ALT_TEXT;
+                sSrc = this.DISABLED_CHECKED_IMAGE_PATH;
+
+            }
+
+            oImg.src = document.images[(this.imageRoot + sSrc)].src;
+            oImg.alt = sAlt;
+
+        }
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* the MenuModule's Config object (cfg).
+*/
+YAHOO.widget.MenuItem.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.MenuItem.superclass.initDefaultConfig.call(this);
+
+	// Add configuration properties
+
+    this.cfg.addProperty(
+        "checked",
+        {
+            value: false,
+            handler: this.configChecked,
+            validator: this.cfg.checkBoolean,
+            suppressEvent: true,
+            supercedes:["disabled"]
+        }
+    );
+
+};
+
+/**
+* @class Creates a list of options which vary depending on the context in
+* which the menu is invoked.
+* @constructor
+* @extends YAHOO.widget.Menu
+* @base YAHOO.widget.Menu
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.ContextMenu.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenu, YAHOO.widget.Menu);
+
+// Private properties
+
+/**
+* Array of ContextMenu instances
+* @private
+* @type {Array}
+*/
+YAHOO.widget.ContextMenu._aMenus = [];
+
+/**
+* The id(s) or element(s) that trigger the display of the ContextMenu instance
+* @private
+* @type {String/Array/HTMLElement}
+*/
+YAHOO.widget.ContextMenu.prototype._oTrigger = null;
+
+// Public properties
+
+/**
+* Returns the HTMLElement node that was the target of the "contextmenu"
+* DOM event.
+* @type HTMLElement
+*/
+YAHOO.widget.ContextMenu.prototype.contextEventTarget = null;
+
+/**
+* The ContextMenu class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a ContextMenu instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.ContextMenu.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.Menu)
+
+    YAHOO.widget.ContextMenu.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.ContextMenu);
+
+    if(p_oConfig) {
+
+        this.cfg.applyConfig(p_oConfig, true);
+
+    }
+
+
+    this.initEvent.fire(YAHOO.widget.ContextMenu);
+
+    var aMenus = YAHOO.widget.ContextMenu._aMenus;
+
+    aMenus[aMenus.length] = this;
+
+};
+
+// Private event handlers
+
+/**
+* "click" event handler for the document object.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onDocumentClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        this.hide();
+
+    };
+
+/**
+* "click" event handler for the HTMLElement node that triggered the event.
+* Used to cancel default behaviors in Opera.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerClick =
+
+    function(p_oEvent, p_oMenu) {
+
+        if(p_oEvent.ctrlKey) {
+
+            YAHOO.util.Event.stopEvent(p_oEvent);
+
+        }
+
+    };
+
+/**
+* "contextmenu" event handler ("mousedown" for Opera) for the HTMLElement
+* node that triggered the event.
+* @private
+* @param {Event} p_oEvent Event object passed back by the
+* event utility (YAHOO.util.Event).
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu instance
+* handling the event.
+*/
+YAHOO.widget.ContextMenu.prototype._onTriggerContextMenu =
+
+    function(p_oEvent, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oConfig = this.cfg;
+
+        // Hide any other ContextMenu instances that might be visible
+
+        var aMenus = YAHOO.widget.ContextMenu._aMenus;
+        var i = aMenus.length - 1;
+
+        do {
+
+             aMenus[i].hide();
+
+        }
+        while(i--);
+
+
+        if(p_oEvent.type == "mousedown" && !p_oEvent.ctrlKey) {
+
+            return;
+
+        }
+
+        this.contextEventTarget = Event.getTarget(p_oEvent);
+
+
+        // Position and display the context menu
+
+        var nX = Event.getPageX(p_oEvent);
+        var nY = Event.getPageY(p_oEvent);
+
+
+        oConfig.applyConfig( { xy:[nX, nY], visible:true } );
+        oConfig.fireQueue();
+
+
+        /*
+             Prevent the browser's default context menu from appearing and
+             stop the propagation of the "contextmenu" event so that
+             other ContextMenu instances are no displayed.
+        */
+
+        Event.stopEvent(p_oEvent);
+
+    };
+
+// Public methods
+
+/**
+* Initializes the class's configurable properties which can be changed using
+* a ContextMenu instance's Config object (cfg).
+*/
+YAHOO.widget.ContextMenu.prototype.initDefaultConfig = function() {
+
+    YAHOO.widget.ContextMenu.superclass.initDefaultConfig.call(this);
+
+	// Add a configuration property
+
+    this.cfg.addProperty("trigger", { handler: this.configTrigger });
+
+};
+
+// Event handlers for configuration properties
+
+/**
+* Event handler for when the "trigger" configuration property of
+* a MenuItem instance.
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the
+* event was fired.
+* @param {YAHOO.widget.ContextMenu} p_oMenu The ContextMenu that instance fired
+* the event.
+*/
+YAHOO.widget.ContextMenu.prototype.configTrigger =
+
+    function(p_sType, p_aArgs, p_oMenu) {
+
+        var Event = YAHOO.util.Event;
+        var oTrigger = p_aArgs[0];
+
+        if(oTrigger) {
+
+
+            /*
+                If there is a current "trigger" - remove the event handlers
+                from that element(s) before assigning new ones
+            */
+            if(this._oTrigger) {
+
+                Event.purgeElement(this._oTrigger);
+
+            }
+
+            this._oTrigger = oTrigger;
+
+            /*
+                Listen for the "mousedown" event in Opera b/c it does not
+                support the "contextmenu" event
+            */
+
+            var bOpera = (this.browser == "opera");
+
+            Event.addListener(
+                oTrigger,
+                (bOpera ? "mousedown" : "contextmenu"),
+                this._onTriggerContextMenu,
+                this,
+                true
+            );
+
+
+            /*
+                Assign a "click" event handler to the trigger element(s) for
+                Opera to prevent default browser behaviors.
+            */
+
+            if(bOpera) {
+
+                Event.addListener(
+                    oTrigger,
+                    "click",
+                    this._onTriggerClick,
+                    this,
+                    true
+                );
+
+            }
+
+
+            // Assign a "mousedown" event handler to the document
+
+            Event.addListener(
+                document,
+                "click",
+                this._onDocumentClick,
+                this,
+                true
+            );
+
+        }
+
+    };
+
+/**
+* @class Creates an item for a context menu instance.
+* @constructor
+* @extends YAHOO.widget.MenuItem
+* @base YAHOO.widget.MenuItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.ContextMenuItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.ContextMenuItem, YAHOO.widget.MenuItem);
+
+/**
+* The ContextMenuItem class's initialization method. This method is
+* automatically called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a ContextMenuItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.ContextMenuItem.prototype.init =
+
+    function(p_oObject, p_oConfig) {
+
+        if(!this.SUBMENU_TYPE) {
+
+            this.SUBMENU_TYPE = YAHOO.widget.ContextMenu;
+
+        }
+
+        if(!this.SUBMENU_ITEM_TYPE) {
+
+            this.SUBMENU_ITEM_TYPE = YAHOO.widget.ContextMenuItem;
+
+        }
+
+
+        /*
+            Call the init of the superclass (YAHOO.widget.MenuItem)
+            Note: We don't pass the user config in here yet
+            because we only want it executed once, at the lowest
+            subclass level.
+        */
+
+        YAHOO.widget.ContextMenuItem.superclass.init.call(this, p_oObject);
+
+        var oConfig = this.cfg;
+
+        if(p_oConfig) {
+
+            oConfig.applyConfig(p_oConfig, true);
+
+        }
+
+        oConfig.fireQueue();
+
+    };
+
+/**
+* @class Horizontal collection of items, each of which can contain a submenu.
+* Extends YAHOO.widget.MenuModule to provide a set of default mouse and
+* key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModule
+* @base YAHOO.widget.MenuModule
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar = function(p_oElement, p_oConfig) {
+
+    YAHOO.widget.MenuBar.superclass.constructor.call(
+            this,
+            p_oElement,
+            p_oConfig
+        );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBar, YAHOO.widget.MenuModule);
+
+/**
+* The MenuBar class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for pre-existing
+* markup, and creates required markup if it is not already present.
+* @param {String or HTMLElement} p_oElement String id or HTMLElement
+* (either HTMLSelectElement or HTMLDivElement) of the source HTMLElement node.
+* @param {Object} p_oConfig Optional. The configuration object literal
+* containing the configuration for a MenuBar instance. See
+* configuration class documentation for more details.
+*/
+YAHOO.widget.MenuBar.prototype.init = function(p_oElement, p_oConfig) {
+
+    if(!this.ITEM_TYPE) {
+
+        this.ITEM_TYPE = YAHOO.widget.MenuBarItem;
+
+    }
+
+    // Call the init of the superclass (YAHOO.widget.MenuModule)
+
+    YAHOO.widget.MenuBar.superclass.init.call(this, p_oElement);
+
+    this.beforeInitEvent.fire(YAHOO.widget.MenuBar);
+
+    var oConfig = this.cfg;
+
+    /*
+        Set the default value for the "position" configuration property
+        to "static"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.position)) {
+
+        oConfig.queueProperty("position", "static");
+
+    }
+
+    /*
+        Set the default value for the "submenualignment" configuration property
+        to "tl" and "bl"
+    */
+    if(!p_oConfig || (p_oConfig && !p_oConfig.submenualignment)) {
+
+        oConfig.queueProperty("submenualignment", ["tl","bl"]);
+
+    }
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    this.initEvent.fire(YAHOO.widget.MenuBar);
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLDivElement of the MenuBar instance.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBar.prototype.CSS_CLASS_NAME = "yuimenubar";
+
+/**
+* @class The MenuBarItem class allows you to create and modify an item for a
+* MenuBar instance.  MenuBarItem extends YAHOO.widget.MenuModuleItem to provide
+* a set of default mouse and key event behaviors.
+* @constructor
+* @extends YAHOO.widget.MenuModuleItem
+* @base YAHOO.widget.MenuModuleItem
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem = function(p_oObject, p_oConfig) {
+
+    YAHOO.widget.MenuBarItem.superclass.constructor.call(
+        this,
+        p_oObject,
+        p_oConfig
+    );
+
+};
+
+YAHOO.extend(YAHOO.widget.MenuBarItem, YAHOO.widget.MenuModuleItem);
+
+/**
+* The MenuBarItem class's initialization method. This method is automatically
+* called by the constructor, and sets up all DOM references for
+* pre-existing markup, and creates required markup if it is not
+* already present.
+* @param {String or HTMLElement} p_oObject String or HTMLElement
+* (either HTMLLIElement, HTMLOptGroupElement or HTMLOptionElement) of the
+* source HTMLElement node.
+* @param {Object} p_oConfig The configuration object literal containing
+* the configuration for a MenuBarItem instance. See the configuration
+* class documentation for more details.
+*/
+YAHOO.widget.MenuBarItem.prototype.init = function(p_oObject, p_oConfig) {
+
+    if(!this.SUBMENU_TYPE) {
+
+        this.SUBMENU_TYPE = YAHOO.widget.Menu;
+
+    }
+
+    if(!this.SUBMENU_ITEM_TYPE) {
+
+        this.SUBMENU_ITEM_TYPE = YAHOO.widget.MenuItem;
+
+    }
+
+    /*
+        Call the init of the superclass (YAHOO.widget.MenuModuleItem)
+        Note: We don't pass the user config in here yet
+        because we only want it executed once, at the lowest
+        subclass level.
+    */
+
+    YAHOO.widget.MenuBarItem.superclass.init.call(this, p_oObject);
+
+    // Add event handlers to each "MenuBarItem" instance
+
+    this.keyDownEvent.subscribe(this._onKeyDown, this, true);
+
+    var oConfig = this.cfg;
+
+    if(p_oConfig) {
+
+        oConfig.applyConfig(p_oConfig, true);
+
+    }
+
+    oConfig.fireQueue();
+
+};
+
+// Constants
+
+/**
+* Constant representing the CSS class(es) to be applied to the root
+* HTMLLIElement of the MenuBarItem.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.CSS_CLASS_NAME = "yuimenubaritem";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_nrm_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is selected.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_hov_1.gif";
+
+/**
+* Constant representing the path to the image to be used for the submenu
+* arrow indicator when a MenuBarItem instance is disabled.
+* @final
+* @type String
+*/
+YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH =
+    "nt/ic/ut/alt1/menuarodwn8_dim_1.gif";
+
+// Private event handlers
+
+/**
+* "keydown" Custom Event handler for a MenuBarItem instance.
+* @private
+* @param {String} p_sType The name of the event that was fired.
+* @param {Array} p_aArgs Collection of arguments sent when the event
+* was fired.
+* @param {YAHOO.widget.MenuBarItem} p_oMenuModule The MenuModule instance that
+* fired the event.
+*/
+YAHOO.widget.MenuBarItem.prototype._onKeyDown =
+
+    function(p_sType, p_aArgs, p_oMenuItem) {
+
+        var Event = YAHOO.util.Event;
+        var oDOMEvent = p_aArgs[0];
+        var oConfig = this.cfg;
+        var oParent = this.parent;
+
+        switch(oDOMEvent.keyCode) {
+
+            case 37:    // Left arrow
+            case 39:    // Right arrow
+
+                if(
+                    this == oParent.activeItem &&
+                    !oConfig.getProperty("selected")
+                ) {
+
+                    oConfig.setProperty("selected", true);
+
+                }
+                else {
+
+                    var oNextItem = (oDOMEvent.keyCode == 37) ?
+                            this.getPreviousEnabledSibling() :
+                            this.getNextEnabledSibling();
+
+                    if(oNextItem) {
+
+                        oParent.clearActiveItem();
+
+                        oNextItem.cfg.setProperty("selected", true);
+
+                        oNextItem.focus();
+
+                    }
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+            case 40:    // Down arrow
+
+                oParent.clearActiveItem();
+
+                oConfig.setProperty("selected", true);
+
+                this.focus();
+
+                var oSubmenu = oConfig.getProperty("submenu");
+
+                if(oSubmenu) {
+
+                    oSubmenu.show();
+                    oSubmenu.setInitialSelection();
+
+                }
+
+                Event.preventDefault(oDOMEvent);
+
+            break;
+
+        }
+
+    };
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/yahoo.js
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/javascript/yahoo/yahoo.js	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,107 @@
+/*
+Copyright (c) 2006, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.net/yui/license.txt
+Version: 0.11.4
+*/
+
+/**
+ * The YAHOO object is the single global object used by YUI Library.  It
+ * contains utility function for setting up namespaces, inheritance, and
+ * logging.  YAHOO.util, YAHOO.widget, and YAHOO.example are namespaces
+ * created automatically for and used by the library.
+ * @module YAHOO
+ */
+
+/**
+ * The YAHOO global namespace object
+ * @class YAHOO
+ * @static
+ */
+if (typeof YAHOO == "undefined") {
+    YAHOO = {};
+}
+
+/**
+ * Returns the namespace specified and creates it if it doesn't exist
+ *
+ * YAHOO.namespace("property.package");
+ * YAHOO.namespace("YAHOO.property.package");
+ *
+ * Either of the above would create YAHOO.property, then
+ * YAHOO.property.package
+ *
+ * Be careful when naming packages. Reserved words may work in some browsers
+ * and not others. For instance, the following will fail in Safari:
+ *
+ * YAHOO.namespace("really.long.nested.namespace");
+ *
+ * This fails because "long" is a future reserved word in ECMAScript
+ * @method namespace
+ * @static
+ * @param  {String} ns The name of the namespace
+ * @return {Object}    A reference to the namespace object
+ */
+YAHOO.namespace = function(ns) {
+
+    if (!ns || !ns.length) {
+        return null;
+    }
+
+    var levels = ns.split(".");
+    var nsobj = YAHOO;
+
+    // YAHOO is implied, so it is ignored if it is included
+    for (var i=(levels[0] == "YAHOO") ? 1 : 0; i<levels.length; ++i) {
+        nsobj[levels[i]] = nsobj[levels[i]] || {};
+        nsobj = nsobj[levels[i]];
+    }
+
+    return nsobj;
+};
+
+/**
+ * Uses YAHOO.widget.Logger to output a log message, if the widget is available.
+ *
+ * @method log
+ * @static
+ * @param  {string}  sMsg       The message to log.
+ * @param  {string}  sCategory  The log category for the message.  Default
+ *                              categories are "info", "warn", "error", time".
+ *                              Custom categories can be used as well. (opt)
+ * @param  {string}  sSource    The source of the the message (opt)
+ * @return {boolean}            True if the log operation was successful.
+ */
+YAHOO.log = function(sMsg, sCategory, sSource) {
+    var l = YAHOO.widget.Logger;
+    if(l && l.log) {
+        return l.log(sMsg, sCategory, sSource);
+    } else {
+        return false;
+    }
+};
+
+/**
+ * Utility to set up the prototype, constructor and superclass properties to
+ * support an inheritance strategy that can chain constructors and methods.
+ *
+ * @method extend
+ * @static
+ * @param {function} subclass   the object to modify
+ * @param {function} superclass the object to inherit
+ */
+YAHOO.extend = function(subclass, superclass) {
+    var f = function() {};
+    f.prototype = superclass.prototype;
+    subclass.prototype = new f();
+    subclass.prototype.constructor = subclass;
+    subclass.superclass = superclass.prototype;
+    if (superclass.prototype.constructor == Object.prototype.constructor) {
+        superclass.prototype.constructor = superclass;
+    }
+};
+
+YAHOO.namespace("util");
+YAHOO.namespace("widget");
+YAHOO.namespace("example");
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/about/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,90 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<%
+    String version = (String) request.getAttribute("version");
+    String deployedPath = (String) request.getAttribute("path");
+%>
+
+<div id="gsinfo" style="text-align: center">
+    <h1>
+        <ui:text key="ABOUT_GRIDSPHERE_VERSION"/>
+        :
+        <%= version %>
+    </h1>
+</div>
+<ui:group label="System Information">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>Java Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.vendor")%> <%= System.getProperty("java.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>GridSphere</ui:tablecell>
+            <ui:tablecell><%= deployedPath%>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>Java Home</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("java.home")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Classpath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.class.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell valign="top">Java Librarypath</ui:tablecell>
+            <ui:tablecell>
+                <ul><%
+                    String path = System.getProperty("java.library.path");
+                    String elements[] = path.split(":");
+                    for (int i = 0; i < elements.length; i++) {
+                %>
+                    <li><%= elements[i]%>
+                    </li>
+                    <%
+                        }
+                    %>
+                </ul>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Name</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.name")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Arch</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.arch")%>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>OS Version</ui:tablecell>
+            <ui:tablecell><%= System.getProperty("os.version")%>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+
+</ui:group>
+
+<div id="gsinfo" style="text-align: center">
+    <ui:text key="ABOUT_GRIDSPHERE_WRITTEN_BY"/>
+    Jason Novotny, Michael Russell &amp; Oliver Wehrens
+</div>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/authmodules.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/authmodules.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,81 @@
+<%@ page import="org.gridsphere.services.core.security.auth.modules.LoginAuthModule,
+                 javax.portlet.RenderRequest,
+                 java.util.Iterator" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<% RenderRequest pReq = (RenderRequest) pageContext.getAttribute("renderRequest"); %>
+<% List authModules = (List) request.getAttribute("authModules"); %>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_AUTHMODULES_MSG">
+        <% if (authModules.size() == 1) { %>
+        <ui:messagebox key="LOGIN_AUTHMODULES_ONEREQ"/>
+        <% } %>
+
+        <ui:frame>
+            <ui:tablerow header="true" zebra="true">
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_NAME"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_ISACTIVE"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_PRIORITY"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LOGIN_MODULE_DESC"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% Iterator it = authModules.iterator(); %>
+            <% while (it.hasNext()) {
+                LoginAuthModule authModule = (LoginAuthModule) it.next(); %>
+
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% if (authModules.size() == 1) { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" disabled="true" selected="true"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } else { %>
+                <ui:tablecell>
+                    <ui:checkbox beanId="authModCB" selected="<%= authModule.isModuleActive() %>"
+                                 value="<%= authModule.getModuleName() %>"/>
+                </ui:tablecell>
+                <% } %>
+                <ui:tablecell>
+                    <ui:textfield name="<%= authModule.getModuleName() %>"
+                                  value="<%= String.valueOf(authModule.getModulePriority()) %>" size="3"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text value="<%= authModule.getModuleDescription(pReq.getLocale()) %>"/>
+                </ui:tablecell>
+            </ui:tablerow>
+
+            <% } %>
+
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveAuthModules" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/errorconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/errorconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% Boolean sendMail = (Boolean) request.getAttribute("sendMail"); %>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ERROR_MSG">
+        <p>
+            <ui:radiobutton beanId="errorRB" value="NOMAIL" selected="<%= !sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_STACKTRACE_MSG"/>
+        </p>
+
+        <p>
+            <ui:radiobutton beanId="errorRB" value="MAIL" selected="<%= sendMail.booleanValue() %>"/>
+            <ui:text key="LOGIN_CONFIG_ERROR_MAIL_MSG"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configErrorSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/loginconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/loginconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,106 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<jsp:useBean id="services" class="java.lang.String" scope="request"/>
+
+<script type="text/javascript">
+    function checkUserCreate(elem, id) {
+        if (elem) {
+            document.getElementById(id).checked = true;
+        }
+    }
+
+    function checkAllowUsers(elem, id) {
+        if (!elem) {
+            document.getElementById(id).checked = false;
+        }
+    }
+
+    function checkSavePass(elem, id) {
+        document.getElementById(id).checked = elem;
+    }
+    //  End -->
+</script>
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_MSG">
+        <ul style="list-style-type: none;">
+            <li>
+                <ui:checkbox id="allowCreateCB" beanId="acctCB" value="TRUE"
+                             onClick="checkAllowUsers( this.checked, 'userApprovalCB' )"/>
+                <ui:text key="LOGIN_CONFIG_ALLOW"/>
+            </li>
+            <li>
+                <ul style="list-style-type: none;">
+                    <li>
+                        <ui:checkbox id="userApprovalCB" onClick="checkUserCreate( this.checked, 'allowCreateCB' )"
+                                     beanId="acctApproval" value="FALSE"/>
+                        <ui:text key="LOGIN_ACCOUNT_APPROVAL"/>
+                    </li>
+                </ul>
+            </li>
+            <li>
+                <ui:checkbox id="notifyCB" onClick="checkUserCreate( this.checked, 'savePassCB' )" beanId="notifyCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_NOTIFY"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="supportx509CB" value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_X509"/>
+            </li>
+            <li>
+                <ui:checkbox beanId="remUserCB" value="TRUE"/>
+                <ui:text key="LOGIN_REMUSER"/>
+            </li>
+            <li>
+                <ui:checkbox id="savePassCB" onClick="checkSavePass( this.checked, 'notifyCB' )" beanId="savepassCB"
+                             value="TRUE"/>
+                <ui:text key="LOGIN_CONFIG_PASSWD"/>
+                <br/>
+                <ui:text style="alert" key="LOGIN_CONFIG_PASSWD1"/>
+            </li>
+            <li>
+                <ui:text key="LOGIN_TRIES_MSG"/>
+                <ui:textfield beanId="numTriesTF"/>
+            </li>
+            <li>
+                <% Boolean isUsernameLogin = (Boolean) request.getAttribute("isUsernameLogin"); %>
+                <ui:radiobutton beanId="loginRB" value="TRUE" selected="<%= (isUsernameLogin == Boolean.TRUE) %>"/>
+                <ui:text key="LOGIN_USERNAME"/>
+                <ui:radiobutton beanId="loginRB" value="FALSE" selected="<%= (isUsernameLogin == Boolean.FALSE) %>"/>
+                <ui:text key="LOGIN_EMAIL"/>
+            </li>
+        </ul>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="setLoginSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+
+<%--
+<ui:form>
+    <ui:group key="LOGIN_TRIES_CONFIG_MSG">
+
+        <p>
+            <ui:text key="LOGIN_TRIES_MSG"/>
+        </p>
+
+        <p>
+            <ui:textfield beanId="numTriesTF"/>
+        </p>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="configAccountSettings" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+--%>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/mailconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/mailconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,56 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_SMTP">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILHOST"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailServerTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILPORT"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailPortTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILFROM"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="mailFromTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="250">
+                    <ui:text key="CONFIG_MAILADMIN"/>
+                </ui:tablecell>
+                <ui:tablecell width="100">
+                    <ui:textfield beanId="adminTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailConfig" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:group>
+</ui:form>
+
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/msgconfig.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/msgconfig.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,113 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_FORGET">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="forgotHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:<br> <span style="font-size: smaller; color: red">(links will be placed in the body automatically)</span></ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="forgotBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="forgot"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_ACTIVATE">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="activateHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="activateBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="activate"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_APPROVED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="approvedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="approvedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="approved"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
+
+<ui:form>
+    <ui:group key="LOGIN_CONFIG_DENIED">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail subject:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textfield size="50" beanId="deniedHeaderTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>Enter e-mail body:</ui:tablecell>
+                <ui:tablecell>
+                    <ui:textarea cols="50" beanId="deniedBodyTA"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:actionsubmit action="doSaveMailMessage" key="SAVE">
+                        <ui:actionparam name="type" value="denied"/>
+                    </ui:actionsubmit>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:group>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/config/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:tabbedpane>
+    <ui:tab label="loginconfig" key="CONFIG_LOGIN_TAB" page="/jsp/admin/config/loginconfig.jsp"/>
+    <ui:tab label="authmodules" key="CONFIG_AUTH_TAB" page="/jsp/admin/config/authmodules.jsp"/>
+    <ui:tab label="mailconfig" key="CONFIG_MAIL_TAB" page="/jsp/admin/config/mailconfig.jsp"/>
+    <ui:tab label="msgconfig" key="CONFIG_MSG_TAB" page="/jsp/admin/config/msgconfig.jsp"/>
+    <ui:tab label="errconfig" key="CONFIG_ERR_TAB" page="/jsp/admin/config/errorconfig.jsp"/>
+</ui:tabbedpane>
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/bar.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/bar.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+
+<ui:group key="LAYOUT_EDIT_BAR">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                Select column layout:
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveBar" value="Save"/>
+                <ui:actionsubmit action="doCancel" value="Cancel"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/content.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/content.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,50 @@
+<%@ page import="org.gridsphere.layout.PortletContent" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletContent content = (PortletContent) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_CONTENT"/>
+<% String label = msg + " <b>" + content.getFileName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_CONTENT"/>
+                <ui:listbox beanId="contentLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= content.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveContent" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/frame.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/frame.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,63 @@
+<%@ page import="org.gridsphere.layout.PortletFrame" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletFrame frame = (PortletFrame) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg" key="LAYOUT_EDIT_FRAME"/>
+<% String label = msg + " <b>" + frame.getPortletName() + "</b>"; %>
+
+<ui:group label="<%= label%>">
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_PORTLETS"/>
+                <ui:listbox beanId="portletsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= frame.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_DISP_TB"/>
+                :
+                <ui:text key="YES"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") != null) %>"
+                                value="yes"/>
+                <ui:text key="NO"/>
+                <ui:radiobutton beanId="istitleRB" selected="<%= (request.getAttribute("isTitle") == null) %>"
+                                value="no"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveFrame" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Layout Manager portlet</b>
+</p>
+
+<p>
+    The Layout Manager portlet lets you customize your theme and entire portal layout.
+    Various options are provided to allow you to rename, create and delete portlet tab titles
+    and sub tab titles. Portlets within a subtab can be arranged into table layouts with
+    the desired columns and rows. Only those portlets to which you are subscribed may be added.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/menu.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/menu.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_MENU"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_MENU"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/subtab.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/subtab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_SUBTAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_SUBTAB"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_SUBTABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/tab.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/tab.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ page import="org.gridsphere.layout.PortletComponent" %>
+<%@ page import="org.gridsphere.layout.PortletTab" %>
+<%@ page import="org.gridsphere.layout.PortletTableLayout" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+
+<% PortletTab tab = (PortletTab) request.getAttribute("portletComp"); %>
+
+<ui:text var="msg1" key="LAYOUT_CREATE_TAB"/>
+<ui:text var="msg2" key="LAYOUT_EDIT_TAB2"/>
+
+<% String label;
+    if (request.getAttribute("isnewtab") != null) {
+        label = msg1;
+    } else {
+        label = msg2 + " <b>" + tab.getTitle("en") + "</b>";
+    }
+
+%>
+
+<ui:group label="<%= label %>">
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveLeftButton" action="doMoveTabLeft" key="LAYOUT_MV_LEFT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit beanId="moveRightButton" action="doMoveTabRight" key="LAYOUT_MV_RIGHT"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_EDIT_TABNAME"/>
+                <ui:textfield beanId="nameTF" value="<%= tab.getTitle("en") %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_ROLES"/>
+                <ui:listbox beanId="rolesLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_BOOKMARKING"/>
+                <ui:textfield beanId="labelTF" value="<%= tab.getLabel() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% // in case this is a single level tab
+            PortletComponent c = tab.getPortletComponent();
+            if (c instanceof PortletTableLayout) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_COLLAYOUT"/>
+                <ui:listbox beanId="colsLB"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        <%--
+        <% if (request.getAttribute("isnewtab") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                Double tabbed pane
+                <ui:radiobutton beanId="subcompRB" selected="true" value="double"/>
+                Single tabbed pane
+                <ui:radiobutton beanId="subcompRB" value="single"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+        --%>
+    </ui:table>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doSaveNewTab" key="SAVE"/>
+                <% } else { %>
+                <ui:actionsubmit action="doSaveTab" key="SAVE"/>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getAttribute("isnewtab") != null) { %>
+                <ui:actionsubmit action="doCancel" key="CANCEL"/>
+                <% } else { %>
+                <ui:actionsubmit action="doDeleteTab" key="DELETE"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+</ui:group>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/layout/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,118 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="actionURI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="controlUI" class="java.lang.String" scope="request"/>
+<jsp:useBean id="layoutlabel" class="java.lang.String" scope="request"/>
+<jsp:useBean id="pageName" class="java.lang.String" scope="request"/>
+
+
+<% String pane = (String) request.getAttribute("pane"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_CUSTOMIZE"/>
+                <ui:listbox beanId="layoutsLB"/>
+                <ui:actionsubmit action="selectLayout" key="LAYOUT_DISPLAY"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LAYOUT_SEL_THEME"/>
+                <ui:listbox beanId="themesLB"/>
+                <ui:actionsubmit action="selectTheme" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+</ui:form>
+
+<ui:group key="LAYOUT_PAGE_DETAILS">
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_TITLE"/>
+                    <ui:textfield beanId="titleTF"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_EDIT_KEYWORDS"/>
+                    <ui:textfield beanId="keywordsTF"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <ui:actionsubmit action="savePageDetails" key="SAVE"/>
+    </ui:form>
+</ui:group>
+
+<h3>
+    <ui:text key="LAYOUT_EDIT_COMPS"/>
+    &nbsp;<b><%= pageName %>
+</b></h3>
+
+<ui:group>
+    <ui:form>
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="LAYOUT_SEL_TOPS"/>
+                    <ui:listbox beanId="navigationLB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_MODES"/> <ui:checkbox beanId="showModesCB"/>
+                    <ui:text key="LAYOUT_SEL_SHOW_STATES"/><ui:checkbox beanId="showStatesCB"/>
+                    <ui:actionsubmit action="doSaveNav" key="SAVE"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:form>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell width="60%">
+                <%--     <ui:group label="<%= layoutlabel %>">  --%>
+                <%= pane %>
+                <%--     </ui:group>  --%>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+    <ui:form>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell>
+
+                    <ui:hiddenfield beanId="compHF"/>
+                    <% if (!controlUI.equals("")) { %>
+                    <jsp:include page="<%= controlUI + ".jsp" %>"/>
+                    <% } %>
+                    <%--
+                <% if (controlUI.equals("frame")) { %>
+                <jsp:include page="frame.jsp"/>
+                <% } else if (controlUI.equals("content")) { %>
+                <jsp:include page="content.jsp"/>
+                <% } else if (controlUI.equals("tab")) { %>
+                <jsp:include page="tab.jsp"/>
+                <% } else if (controlUI.equals("subtab")) { %>
+                <jsp:include page="subtab.jsp"/>
+                <% } else if (controlUI.equals("menu")) { %>
+                <jsp:include page="menu.jsp"/>
+                <% } else if (controlUI.equals("bar")) { %>
+                <jsp:include page="bar.jsp"/>
+                <% } %>  --%>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+
+    </ui:form>
+</ui:group>
+
+<hr/>
+
+*
+<ui:text key="LAYOUT_EDIT_MSG"/>
+&nbsp; <b>$CATALINA_HOME/webapps<%= request.getContextPath() %>/WEB-INF/CustomPortal/layouts/{guest.xml,
+    loggedin.xml}</b>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Portlet Manager portlet</b>
+</p>
+
+<p>
+    The Portlet Manager portlet allows a portal administrator to stop and start and deploy portlet web
+    applications to GridSphere. Once a portlet has been stopped it is no longer accessible. A new portlet
+    web application may be deployed but it assumes that the WAR has already been placed into the Tomcat
+    webapps directory. File uploading of portlet applications doesn't work currently due to a Tomcat
+    cross context loading problem. In addition, only those portlets that contain no "portlet services" that
+    are placed in the shared library directory of Tomcat will work, since shared libraries cannot be
+    properly reloaded.
+</p>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/listPortletApps.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,229 @@
+<%@ page import="org.gridsphere.portletcontainer.PortletStatus,
+                 org.gridsphere.services.core.tomcat.TomcatWebAppDescription" %>
+<%@ page import="java.util.List" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:group key="PORTLET_CURRENT">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_VIEW_DETAILS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell width="80" align="center">
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="250">
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:text key="PORTLET_STATUS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List result = (List) request.getAttribute("result"); %>
+        <% for (int i = 0; i < result.size(); i++) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) result.get(i); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionlink action="displayWebapp" value="<%= description.getContextPath() %>">
+                    <ui:actionparam name="appname" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (request.getContextPath().equalsIgnoreCase("/" + description.getContextPath())) { %>
+                <ui:text key="PORTLET_GS_MSG"/>
+                <% } else { %>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_START">
+                    <ui:actionparam name="operation" value="start"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_STOP"/>
+                &nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;
+                <ui:text key="PORTLET_START"/>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                    <ui:actionparam name="operation" value="stop"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                    <ui:actionparam name="operation" value="reload"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                &nbsp;&nbsp;
+                &nbsp;&nbsp;
+                <ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                    <ui:actionparam name="operation" value="remove"/>
+                    <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+                </ui:actionlink>
+                <% } %>
+            </ui:tablecell>
+            <ui:tablecell align="center">
+                <% if (description.getStatus().equals(PortletStatus.SUCCESS)) { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-success.gif" %>"/>
+                <ui:text key="SUCCESS"/>
+                <% } else { %>
+                <ui:image
+                        src="<%= request.getContextPath() + "/themes/brush/default/images/msgicons/portlet-msg-error.gif" %>"/>
+                <ui:text style="underline" id="<%= description.getContextPath() %>" key="FAILURE"/>
+                <ui:tooltip name="<%= description.getContextPath() %>"
+                            id="<%= description.getContextPath() + "tooltip" %>"
+                            value="<%= description.getStatusMessage() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+<%-- @TODO do we really need to show non-portlet webapps here?
+
+<ui:group key="PORTLET_NON">
+
+    <ui:frame>
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text key="PORTLET_NONWEBAPP"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_DESC"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_RUNNING"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_SESSIONS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="PORTLET_ACTIONS"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% List results = (List) request.getAttribute("others"); %>
+        <% Iterator its = results.iterator(); %>
+        <% while (its.hasNext()) { %>
+        <% TomcatWebAppDescription description = (TomcatWebAppDescription) its.next(); %>
+
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="<%= description.getContextPath() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getDescription() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getRunning() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= description.getSessions() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (description.getRunningState() == TomcatWebAppDescription.STOPPED) { %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_START">
+                <ui:actionparam name="operation" value="start"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:text key="PORTLET_STOP"/>&nbsp;&nbsp;
+                <% } else { %>
+                &nbsp;&nbsp;<ui:text key="PORTLET_START"/>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_STOP">
+                <ui:actionparam name="operation" value="stop"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                <% } %>
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_RELOAD">
+                <ui:actionparam name="operation" value="reload"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>&nbsp;&nbsp;
+                &nbsp;&nbsp;<ui:actionlink action="doPortletManager" key="PORTLET_REMOVE">&nbsp;&nbsp;
+                <ui:actionparam name="operation" value="remove"/>
+                <ui:actionparam name="context" value="<%= description.getContextPath() %>"/>
+            </ui:actionlink>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% } %>
+
+    </ui:frame>
+</ui:group>
+
+--%>
+
+<%-- @TODO@ This doesn't quite work either
+<ui:group key="PORTLET_DEPLOY_MSG">
+
+    <ui:form>
+
+                    <h3></h3><ui:text key="PORTLET_WEBAPP_MSG"/>&nbsp; </h3>
+                    <ui:textfield beanId="webappNameTF" size="20" maxlength="20"/>
+        <br>
+                    <ui:actionsubmit action="deployWebapp" key="PORTLET_DEPLOY"/>
+
+    </ui:form>
+</ui:group>
+--%>
+
+<%-- uploading portlet WAR files TBD
+
+
+<ui:group key="PORTLET_UPLOAD">
+    <ui:fileform action="uploadPortletWAR">
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="50">
+                    <ui:text key="PORTLET_FILE"/>&nbsp;
+                </ui:tablecell>
+                <ui:tablecell width="60">
+                    <ui:fileinput beanId="userfile" size="20" maxlength="20"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="100">
+                    <ui:actionsubmit action="uploadPortletWAR" key="PORTLET_UPLOAD"/>
+                </ui:tablecell>
+                <ui:tablecell/>
+            </ui:tablerow>
+        </ui:frame>
+    </ui:fileform>
+</ui:group>
+
+ --%>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/portlets/viewPortletApp.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="webappname" class="java.lang.String"/>
+
+<h2>
+    <ui:text key="PORTLET_DISPLAY_PORTLETS"/>
+    <%= request.getAttribute("webappname") %>
+</h2>
+<ui:form>
+    <ui:group>
+        <ui:panel beanId="panel"/>
+    </ui:group>
+</ui:form>
+
+<h3>
+    <ui:renderlink render="listPortlets" key="PORTLET_LIST_APPS"/>
+</h3>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doEditRole.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+<%@ page import="org.gridsphere.services.core.user.User"%>
+<%@ page import="java.util.List"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<% List<User> userList = (List<User>)request.getAttribute("userList"); %>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% if (request.getAttribute("canEdit") == null) { %>
+<ui:group key="ROLE_EDIT_MSG">
+<ui:form>
+    <ui:hiddenfield beanId="roleHF"/>
+    <ui:hiddenfield beanId="isNewRoleHF"/>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="ROLENAME"/>
+                <ui:textfield size="10" beanId="roleNameTF"/>
+            </ui:tablecell>
+
+            <ui:tablecell>
+                <ui:text key="ROLEDESC"/>
+                <ui:textfield beanId="roleDescTF"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveRole" key="ROLE_SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+</ui:group>
+
+<% } %>
+<% if (request.getAttribute("newrole") == null) { %>
+
+<ui:group key="ROLE_EDITUSER_MSG">
+<ui:form name="roleform">
+   <ui:hiddenfield beanId="roleHF"/>
+    <% if (request.getAttribute("nousers") == null) { %>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+    <ui:text key="ROLE_ADD_USER"/><ui:listbox beanId="addusersLB"/><ui:actionsubmit action="doAddUser" key="ROLE_ADD_USER_ACTION"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+    <% } %>
+    <p/>
+    <% if (!userList.isEmpty()) { %>
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.userCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell><ui:text key="FULLNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="USERNAME"/></ui:tablecell>
+            <ui:tablecell><ui:text key="EMAILADDRESS"/></ui:tablecell>
+            <ui:tablecell><ui:text key="ORGANIZATION"/></ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="userCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getFullName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+
+    <ui:actionsubmit action="doRemoveUser" key="ROLE_REMOVE_USER"/>
+    <% } %>
+
+</ui:form>
+
+</ui:group>
+
+<% } %>
+
+<h3><ui:actionlink action="doReturn" key="ROLE_SHOW_ROLES"/></h3>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/doViewRolesList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,76 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole, java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+
+<ui:messagebox beanId="msg"/>
+
+<% List coreRoles = (List) request.getAttribute("coreRoleList"); %>
+<% List<PortletRole> roleList = (List<PortletRole>) request.getAttribute("roleList"); %>
+<% List<PortletRole> defRoles = (List<PortletRole>) request.getAttribute("defRoles"); %>
+<h3>
+    <ui:text key="ROLE_SHOW_ROLES" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doEditRole" key="ROLE_CREATE_ROLE"/>
+
+<p/>
+
+<ui:form name="roleform">
+    <ui:table zebra="true">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_DEFAULT"/>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (roleList.size() > 3) { %>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.roleform.rolesCB, this)"/>
+                <% } %>
+                <ui:text style="bold" key="DELETE"/>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLE_EDIT_USERS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text style="bold" key="ROLEDESC"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% for (PortletRole role : roleList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <% if (defRoles.contains(role)) { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>" selected="true"/>
+                <% } else { %>
+                <ui:checkbox name="rolesDefCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% if (roleList.size() > 2) { %>
+            <ui:tablecell>
+                <% if (!coreRoles.contains(role.getName().toUpperCase())) { %>
+                <ui:checkbox name="rolesCB" value="<%= role.getName() %>"/>
+                <% } %>
+            </ui:tablecell>
+            <% } %>
+            <ui:tablecell>
+                <ui:actionlink action="doEditRole" value="<%= role.getName() %>">
+                    <ui:actionparam name="roleName" value="<%= role.getName() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= role.getDescription() %>"/>
+            </ui:tablecell>
+
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doSaveDefaultRoles" key="ROLE_SAVE_DEFAULT"/>
+    <% if (roleList.size() > 2) { %>
+    <ui:actionsubmit action="doDeleteRole" key="DELETE"/>
+    <% } %>
+
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/roles/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<p>
+    <b>Using the Role Manager portlet</b>
+</p>
+
+<p>
+    The Role Manager portlet is used for managing roles in the portal. Roles can be added, modified and deleted except
+    for
+    the core GridSphere roles, <i>USER</i> and <i>ADMIN</i>  that also match the core
+    role priority levels supported by the portal. A Guest role priority is reserved for non-logged in users, User role
+    priority is used for any logged in user, Admin is generally used for some kind of administrator functionality and
+    super would have essentially have no access restrictions. Roles can also be defined by an individual webapp by
+    specifying a <i>roles.xml<</i> role descriptor. See the GridSphere reference Guide for more information.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doSendEmail.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,65 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<h3>
+    <ui:text key="USER_COMPOSE_EMAIL" style="nostyle"/>
+</h3>
+
+<ui:form>
+
+    <table id="form-table">
+        <tbody>
+            <tr>
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                 <ui:radiobutton beanId="toRB" value="TO" selected="true"/>
+                    To:
+                 <ui:radiobutton beanId="toRB" value="BCC"/>
+                    Bcc:
+                </td>
+                <td>
+                    <ui:textfield beanId="emailAddressTF" size="90" id="emailAddress"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    From:
+                </td>
+                <td>
+                    <ui:textfield beanId="senderTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Subject:
+                </td>
+                <td>
+                    <ui:textfield beanId="subjectTF" value="" size="90"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td style="font-weight:bold; text-align: right;" width="10%">
+                    Message:
+                </td>
+                <td>
+                    <ui:textarea beanId="bodyTA" cols="74" rows="10"/>
+                </td>
+            </tr>
+
+            <tr valign="top">
+                <td>
+                </td>
+                <td>
+                    <ui:actionsubmit action="doSendEmail" key="USER_SEND"/>
+                    <ui:actionsubmit action="doListUsers" key="CANCEL"/>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+
+
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUser.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,97 @@
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="role" class="java.lang.String" scope="request"/>
+<jsp:useBean id="createdate" class="java.lang.String" scope="request"/>
+
+<% User user = (User) request.getAttribute("user"); %>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getUserName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getFirstName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getLastName() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getEmailAddress() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= user.getOrganization() %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= role %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_CREATEDATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text value="<%= createdate %>" style="plain"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="100">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+<% String certattr = (String) user.getAttribute("user.certificate");
+    if (certattr != null) { %>
+    <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="USER_CERTIFICATE"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= certattr %>" style="plain"/>
+            </ui:tablecell>
+    </ui:tablerow>
+<% } %>
+
+</ui:frame>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserEdit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,137 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:messagebox beanId="msg"/>
+
+
+<h3>
+    <% if (request.getAttribute("newuser") != null) { %>
+    <ui:text key="USER_EDIT_USER_MSG" style="nostyle"/>
+    <% } else { %>
+    <ui:text key="USER_NEW_USER_MSG" style="nostyle"/>
+    <% } %>
+
+</h3>
+
+<p>
+    <% if ((request.getAttribute("savePass") != null) && (request.getAttribute("newuser") == null)) { %>
+    <ui:text style="alert" key="USER_PASS_BLANK_MSG"/>
+    <% } %>
+</p>
+<ui:form>
+<p>
+    <ui:hiddenfield beanId="userID"/>
+    <ui:hiddenfield beanId="newuser"/>
+</p>
+<ui:frame>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="userName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="emailAddress"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="USER_ACCOUNT_STATUS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:checkbox beanId="accountCB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+</ui:frame>
+
+<ui:frame beanId="roleFrame"/>
+
+<% if (request.getAttribute("certSupport") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CERTIFICATE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="certificate"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("savePass") != null) { %>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="PASSWORD"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="password"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell width="200">
+            <ui:text key="CONFIRM_PASS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:password beanId="confirmPassword"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+<% } %>
+
+<% if (request.getAttribute("newuser") != null) { %>
+<ui:checkbox beanId="emailUserCB"/>
+<ui:text key="USER_EMAIL_USER"/>
+<% } %>
+<p/>
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:actionsubmit action="doConfirmEditUser" key="USER_SAVE"/>
+            <ui:actionsubmit action="doReturn" key="CANCEL"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserList.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+<%@ page import="org.gridsphere.services.core.user.User,
+                 java.text.SimpleDateFormat" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<% List<User> userList = (List<User>) request.getAttribute("userList"); %>
+
+<h3>
+    <ui:text key="USER_SHOW_USERS" style="nostyle"/>
+</h3>
+
+<ui:actionlink cssStyle="text-decoration: underline; font-weight: bold;" action="doNewUser" key="USER_CREATE_USER"/>
+<p/>
+<ui:group>
+    <ui:form>
+        <ui:table>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="USER_PER_PAGE"/>
+                    <ui:listbox beanId="usersPageLB"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_EMAIL"/>
+                    <ui:textfield size="15" beanId="userEmailTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:text key="USER_SEARCH_ORGANIZATION"/>
+                    <ui:textfield size="10" beanId="userOrgTF"/>
+                </ui:tablecell>
+                &nbsp;&nbsp;
+                <ui:tablecell>
+                    <ui:actionsubmit action="filterUserList" key="USER_VIEW"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:table>
+    </ui:form>
+</ui:group>
+
+<%if (!userList.isEmpty()) { %>
+
+<ui:form name="myform">
+    <ui:table beanId="userTable">
+        <ui:tablerow header="true">
+            <ui:tablecell>
+                <ui:checkbox name="all" onClick="GridSphere_CheckAll(document.myform.usersCB, this)"/>
+                <ui:text key="SELECT"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:image src="<%= request.getContextPath() + "/images/editor.png" %>" alt="Edit"/>
+                <ui:text key="USER_EDIT_USER"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="NUMLOGINS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text key="LASTLOGINDATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% for (User user : userList) { %>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:checkbox name="usersCB" value="<%= user.getID() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:actionlink cssStyle="text-decoration: underline;" action="doEditUser"
+                               value="<%= user.getFullName() %>">
+                    <ui:actionparam name="userID" value="<%= user.getID() %>"/>
+                </ui:actionlink>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getUserName() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <a href="<%= "mailto:" + user.getEmailAddress() %>"><%= user.getEmailAddress() %>
+                </a>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= user.getOrganization() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:text value="<%= (user.getNumLogins()).toString() %>"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <% if (user.getLastLoginTime() == null) { %>
+                <ui:text value="--"/>
+                <% } else { %>
+                <ui:text
+                        value="<%= new SimpleDateFormat("MMM d yyyy hh:mm a").format(user.getLastLoginTime()).toString() %>"/>
+                <% } %>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+    </ui:table>
+    <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+    <ui:actionsubmit action="doComposeEmail" key="USER_SEND_EMAIL"/>
+</ui:form>
+
+<% } else { %>
+<ui:text style="alert" key="USER_NO_RESULTS"/>
+<% } %>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/doViewUserView.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+<ui:form>
+    <ui:hiddenfield beanId="userID"/>
+
+    <h3><ui:text key="USER_VIEW_USER" style="nostyle"/></h3>
+
+    <%@ include file="doViewUser.jsp" %>
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doReturn" key="USER_LIST_USERS"/>
+                <ui:actionsubmit action="doEditUser" key="USER_EDIT_USER"/>
+                <ui:actionsubmit action="doDeleteUser" key="USER_DELETE_USER"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/admin/users/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<p>
+    <b>Using the User Administration portlet</b>
+</p>
+
+<p>
+    The User Administration portlet is used for managing portal users. Portal users can be created and deleted
+    by filling out the provided form registration. Once an account is created the new portal user may login
+    with the provided password.
+</p>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/config.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/config.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+
+<ui:form>
+
+
+    <ui:group key="CM_BACKUP">
+        <ui:text key="CM_BACKUP_HELP"/>
+        <br/>
+        <ui:actionsubmit action="backupContent" key="CM_BACKUPCONTENT"/>
+    </ui:group>
+
+    <ui:group key="CM_IMPORT">
+        <ui:text key="CM_IMPORT_HELP"/>
+        <br/>
+        <ui:listbox beanId="filelist" size="20"/>
+        <br/>
+        <ui:actionsubmit action="importContent" key="CM_IMPORTCONTENT"/>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<h2>Help for Content Management</h2>
+
+Use the editor to create new/edit/delete documents. If you want to link to another page within your GridSphere
+installation
+you can use the following syntax:
+
+<pre>
+    [[This is my link|layoutname|id]
+</pre>
+
+This will render a link named 'This is my link' to the fragment with the id 'id' in the layout 'layoutname'. This can be
+a tab or a portlet. The id
+is defined in the Layout administration.
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/content/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,77 @@
+<%@ page import="org.gridsphere.services.core.jcr.ContentDocument" %>
+<%@ page import="java.util.List" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<% List<ContentDocument> contentDocs = (List<ContentDocument>) request.getAttribute("contentDocs"); %>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <ui:hiddenfield beanId="uuid"/>
+
+    <p/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell valign="top">
+                <%--  <ui:group key="CM_DOCUMENT">
+                  <ui:text key="CM_DOCUMENT_TITLE"/>
+                  <ui:textfield beanId="title"/>
+              </ui:group>  --%>
+                <ui:group key="CM_AVAILDOCUMENTS">
+
+                    <ui:table>
+                        <ui:tablerow header="true">
+                            <ui:tablecell>
+                                <ui:text key="DELETE"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:text key="EDIT"/>
+                            </ui:tablecell>
+                        </ui:tablerow>
+
+                        <% for (ContentDocument content : contentDocs) { %>
+                        <ui:tablerow>
+                            <ui:tablecell>
+                                <ui:checkbox name="nodeCB" value="<%= content.getUuid() %>"/>
+                            </ui:tablecell>
+                            <ui:tablecell>
+                                <ui:renderlink render="showNode" value="<%= content.getTitle() %>">
+                                    <ui:param name="nodeId" value="<%= content.getUuid() %>"/>
+                                </ui:renderlink>
+                            </ui:tablecell>
+                        </ui:tablerow>
+                        <% } %>
+
+                    </ui:table>
+
+                    <%-- <ui:listbox beanId="nodelist" size="20"/>
+                    <br/>
+                    <ui:actionsubmit action="showNode" key="CM_SHOWDOCUMENT"/>   --%>
+                    <br/>
+                    <ui:actionsubmit action="removeNode" key="DELETE"/>
+                    <ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" render="showNode"
+                                   value="New Document"/>
+                    <%--   <br/>
+                   <ui:actionsubmit action="clearEditor" key="CM_CLEAREDITOR"/>
+                   <br/> --%>
+                </ui:group>
+            </ui:tablecell>
+            <% if (request.getAttribute("showContent") != null) { %>
+            <ui:tablecell valign="top">
+                <ui:group key="CM_DOCUMENT">
+                    <ui:text key="CM_DOCUMENT_TITLE"/>
+                    <ui:textfield beanId="title"/>
+                    <ui:actionsubmit action="saveDocument" key="CM_CREATEUPDATEDOCUMENT"/>
+                    <ui:richtexteditor beanId="content" cols="80" rows="30"/>
+                </ui:group>
+            </ui:tablecell>
+            <% } %>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
+
+<ui:renderlink cssStyle="font-weight: bold; text-decoration: underline;" portletMode="EDIT" value="Content Settings"/>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/date.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/date.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+
+<jsp:useBean id="date" class="java.lang.String" scope="request"/>
+
+
+<table>
+    <tr><td align="center">
+        <%= date %>
+    </td></tr>
+</table>


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/date/date.jsp
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/custom_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/custom_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,25 @@
+<%@ page import="org.gridsphere.provider.portletui.beans.MessageStyle"%>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+
+
+<% Throwable error = (Throwable)request.getAttribute("error"); %>
+<% String lastFrame = (String)request.getAttribute("lastFrame"); %>
+
+<% if (error != null) { %>
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" value="An error occurred!"/>
+
+<% if (error.getMessage() != null) { %>
+Error message:    <%= error.getMessage() %>
+<% } %>
+
+<p>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>
+
+<% } else { %>
+
+<ui:messagebox style="<%= MessageStyle.MSG_ALERT %>" key="PORTAL_ERROR_MSG"/>
+
+<%= lastFrame %>
+<% } %>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/database_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/database_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+<jsp:useBean id="error" class="java.lang.String" scope="request"/>
+
+<%@ include file="../../WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<%= error %>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+
+<%@ page isErrorPage="true" %>
+
+<div style="padding: 0px 0px 5px 0px; margin: 10px">
+<h2>Unexpected server error!</h2>
+
+<b>HTTP Status Code:</b>  <b style="color: red;"><%= request.getAttribute("javax.servlet.error.status_code") %></b>
+<p/>
+<b>Originating URI:</b> <b style="color: red;"><%= request.getAttribute("javax.servlet.error.request_uri") %></b>
+
+
+<p/>
+
+
+    <table style="border-collapse: collapse; width: 50em; border: 1px solid black;"><caption>Stack Trace</caption>
+        <thead><tr><th scope="col">Class</th><th scope="col">Method</th><th scope="col">Line #</th></tr></thead>
+  <% Throwable t = (Throwable)request.getAttribute("javax.servlet.error.exception");
+     StackTraceElement[] elem = t.getStackTrace();
+     for (int i = 0; i < 10; i++) {
+      %>
+<tr>
+  <td><%= elem[i].getClassName() %> </td> <td> <%= elem[i].getMethodName() %> </td> <td> <%= elem[i].getLineNumber() %>  </td>
+ </tr>
+    <%
+     }
+     %>
+   </table>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/init_error.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/init_error.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,13 @@
+<jsp:useBean id="error" class="java.lang.Throwable" scope="request"/>
+
+
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>GridSphere portal failed to initialize!</h2>
+
+<p>
+    <br/>
+    <%= error.getMessage() %>
+    <b>Stack Trace:</b><br/>
+    <% error.printStackTrace(new java.io.PrintWriter(out)); %>
+</p>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/notfound.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/notfound.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+<h2>Page not found!</h2>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/unauthorized.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/errors/unauthorized.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,4 @@
+<%@ include file="/WEB-INF/CustomPortal/content/pageheader.html" %>
+
+
+<h2>Unauthorized Access!</h2>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/index.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/index.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/index.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+<%@ page contentType="text/html" %>
+<%@ page pageEncoding="UTF-8" %>
+
+<jsp:forward page="<%= request.getServletPath() %>"/>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale/viewlocale.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/locale/viewlocale.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,30 @@
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+
+<ui:form action="selectLang">
+
+    <% String flag =  request.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+    <table>
+        <tr>
+            <td>
+                <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                          title="<%= locale.getDisplayLanguage() %>"/>
+            </td>
+            <td>
+                <ui:listbox beanId="localeLB"/>
+            </td>
+            <td>
+                <noscript>
+                    <p>
+                        <ui:actionsubmit action="selectLang" value="ok"/>
+                    </p>
+                </noscript>
+            </td>
+        </tr>
+    </table>
+</ui:form>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="password"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:renderlink key="LOGIN_CANT_READ" render="doNewUser"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doConfirmEditUser" key="SAVE"/>
+                <ui:actionsubmit action="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/forgotpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/forgotpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,34 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:messagebox key="LOGIN_FORGOT_TEXT"/>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text key="LOGIN_REQUEST_EMAIL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:textfield beanId="emailTF" size="25" maxlength="40"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:actionsubmit action="notifyUser" key="OK"/>
+            </ui:tablecell>
+            <ui:tablecell width="100">
+                <ui:rendersubmit render="doViewUser" key="CANCEL"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/login.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/login.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,99 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="certificate" class="java.lang.String" scope="request"/>
+<jsp:useBean id="useSecureLogin" class="java.lang.String" scope="request"/>
+
+<ui:form secure="<%= Boolean.valueOf(useSecureLogin).booleanValue() %>">
+    <ui:messagebox beanId="msg"/>
+
+    <%-- <ui:dialoglink titleColor="green" id="foo" name="bar" value="Click Me" header="This is a header" body="This is a body" footer="This is a footer" width="200"/> --%>
+
+
+    <% if (request.getAttribute("certificate") != null && ((String) request.getAttribute("certificate")).length() > 0) { %>
+    <ui:table>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <ui:text key="LOGIN_CERTIFICATE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell width="160">
+                <%= certificate %>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:table>
+    <% } else { %>
+
+    <ui:table>
+        <% if (request.getAttribute("useUserName") != null) { %>
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="userkey" key="USER_NAME_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="15" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= userkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+
+        <% } else { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_EMAIL_NAME"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="emailkey" key="USER_EMAIL_BLANK"/>
+                <input class="checkNotEmpty#" type="text" name="username" size="25" maxlength="50"/>
+                <input type="hidden" name="val#username#checkNotEmpty" value="<%= emailkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+        <% } %>
+
+        <ui:tablerow>
+            <ui:tablecell width="100">
+                <ui:text key="LOGIN_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell width="60">
+                <ui:text var="passkey" key="USER_PASSWORD_BLANK"/>
+                <% if (request.getAttribute("useUserName") != null) { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="15" maxlength="50"/>
+                <% } else { %>
+                <input class="checkNotEmpty#" type="password" name="password" size="25" maxlength="50"/>
+                <% } %>
+                <input type="hidden" name="val#password#checkNotEmpty" value="<%= passkey %>"/>
+            </ui:tablecell>
+            <ui:tablecell/>
+        </ui:tablerow>
+    </ui:table>
+
+    <% if (request.getAttribute("remUser") != null) { %>
+    <p>
+        <input type="checkbox" name="remlogin" value="yes"/>
+        <ui:text key="LOGIN_REMEMBER_ME"/>
+    </p>
+    <% } %>
+
+    <% } %>
+
+
+    <ui:actionsubmit cssStyle="margin-right: 30px;" action="<%= SportletProperties.LOGIN %>" key="LOGIN_ACTION">
+        <% if (request.getParameter("cid") != null) { %>
+        <ui:actionparam name="queryString" value="<%= request.getParameter("cid") %>"/>
+        <% } %>
+    </ui:actionsubmit>
+
+    <% if ((request.getAttribute("dispPass") != null) && ((request.getAttribute("certificate") == null) || ((String) request.getAttribute("certificate")).length() == 0)) { %>
+    <ui:renderlink render="displayForgotPassword" key="LOGIN_FORGOT_PASSWORD"/>
+    <% } %>
+
+</ui:form>
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/loginnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/loginnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,22 @@
+<%@ page import="org.gridsphere.portlet.service.spi.PortletServiceFactory" %>
+<%@ page import="org.gridsphere.services.core.portal.PortalConfigService" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </li>
+        <% PortalConfigService portalConfigService = (PortalConfigService) PortletServiceFactory.createPortletService(PortalConfigService.class, true);
+            if (Boolean.valueOf(portalConfigService.getProperty(PortalConfigService.CAN_USER_CREATE_ACCOUNT)).booleanValue()) {
+        %>
+        <li>
+            <ui:renderlink layout="register" key="SIGNUP_REGISTER" label="signup" render="doNewUser"/>
+        </li>
+        <% } %>
+    </ul>
+</div>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/newpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/newpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,41 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+
+    <h3>
+        <ui:text key="PROFILE_UPDATE_PASS" style="nostyle"/>
+    </h3>
+
+    <p>
+        <ui:hiddenfield beanId="reqid"/>
+    </p>
+    <ui:group>
+        <ui:frame width="50%">
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="password"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell>
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+                <ui:tablecell>
+                    <ui:password beanId="confirmPassword"/>
+                </ui:tablecell>
+            </ui:tablerow>
+        </ui:frame>
+        <p>
+            <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        </p>
+    </ui:group>
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/welcome.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/login/welcome.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ page import="javax.portlet.RenderRequest"%>
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<span style="text-align: right; margin: 10px 10px 0px 0px; float:right; ">
+<ui:text style="nostyle" key="LOGIN_SUCCESS"/>, <%= username %></span>
+
+<div style="clear: both;"/>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout/logoutnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/logout/logoutnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:actionlink cssStyle="font-size: 10px; text-decoration: underline;" action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/admin.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/admin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:text key="NEWS_DOCUMENT"/>
+    <ui:listbox beanId="document"/>
+    <ui:actionsubmit key="NEWS_SAVE" action="doSave"/>
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/news/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,11 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<portlet:defineObjects/>
+
+<ui:messagebox beanId="msg"/>
+
+<jsp:useBean id="document" class="java.lang.String" scope="request"/>
+
+<%=document%>
+
+ 
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/editpassword.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/editpassword.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,64 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+
+
+<div style="width: 400px; margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text value="Change Password" style="bold"/></h3>
+
+        <ui:frame>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="ORIG_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="origPassword" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="NEW_PASSWORD"/>
+                </ui:tablecell>
+                <ui:tablecell width="150">
+                    <ui:password beanId="password" size="20"/>
+                </ui:tablecell>
+            </ui:tablerow>
+            <ui:tablerow>
+                <ui:tablecell width="150">
+                    <ui:text key="CONFIRM_PASS"/>
+                </ui:tablecell>
+    <ui:tablecell width="150">
+        <ui:password beanId="confirmPassword" size="20"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+    <ui:frame>
+    <ui:tablerow>
+    <ui:tablecell >
+        <ui:actionsubmit action="doSavePass" key="SAVE"/>
+        <ui:actionsubmit action="doCancel" key="CANCEL"/>
+    </ui:tablecell>
+    </ui:tablerow>
+    </ui:frame>
+
+
+    </ui:form>
+
+</div>
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/help.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/help.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<p>
+    <b>Using the Profile Manager portlet</b>
+</p>
+
+<p>
+    The Profile Manager portlet allows users the ability to customize their personal settings
+    including profile information, preferred locale, and group membership. The view mode displays
+    the existing user profile information and can be edited by selecting the portlets edit mode.
+    Administrators can configure the possible locale selections in configure mode.
+</p>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/profilenav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/profilenav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,5 @@
+
+<a style="font-size: 10px; text-decoration: underline;" href="<%= request.getContextPath() %><%= request.getServletPath()%>/ProfileManager">Profile</a>
+
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/viewuser.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/profile/viewuser.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,132 @@
+<%@ page import="org.gridsphere.services.core.security.role.PortletRole" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ page import="java.util.Locale" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<jsp:useBean id="logintime" class="java.lang.String" scope="request"/>
+
+<% Locale locale = (Locale) request.getAttribute("locale"); %>
+<% RenderRequest req = (RenderRequest) pageContext.findAttribute("renderRequest"); %>
+<% String flag = req.getContextPath() + "/images/flags/" + locale.getLanguage() + ".gif"; %>
+
+
+<div style="margin: 0px 0px 0px 15%;">
+
+<ui:form>
+<ui:messagebox beanId="msg"/>
+
+
+<h3><ui:text key="PROFILE_SETTINGS" style="bold"/>&nbsp;&nbsp;&nbsp;<ui:actionlink action="doEditPassword" value="Change password"/></h3>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="PROFILE_LASTLOGIN"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <b><%= logintime %></b>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USERNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <% if (req.isUserInRole(PortletRole.ADMIN.getName())) { %>
+            <ui:textfield beanId="userNameTF">
+                <ui:validator type="checkNotEmpty" key="USER_NAME_BLANK"/>
+            </ui:textfield>
+            <% } else { %>
+            <ui:text beanId="userName"/>
+            <% } %>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="GIVENNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="firstName">
+                <ui:validator type="checkNotEmpty" key="USER_GIVENNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="FAMILYNAME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="lastName">
+                <ui:validator type="checkNotEmpty" key="USER_FAMILYNAME_BLANK"/>
+            </ui:textfield>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="ORGANIZATION"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield beanId="organization"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="USER_ROLES"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:text beanId="userRoles"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="EMAILADDRESS"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:textfield size="30" beanId="emailTF"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LOCALE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:image src="<%= flag %>" alt="<%= locale.getDisplayLanguage() %>"
+                      title="<%= locale.getDisplayLanguage() %>"/>
+            <ui:listbox beanId="userlocale"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell valign="top">
+            <ui:text key="TIMEZONE"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="timezones"/>
+        </ui:tablecell>
+    </ui:tablerow>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:text key="LAYOUT_SELECT_THEME"/>
+        </ui:tablecell>
+        <ui:tablecell>
+            <ui:listbox beanId="themeLB"/>
+        </ui:tablecell>
+    </ui:tablerow>
+
+
+</ui:frame>
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell align="center"><ui:actionsubmit action="doSaveAll" key="SAVE"/>
+</ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+
+</ui:form>
+
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/redirect.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/redirect.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+
+    <!-- use this when you want to just hardcode server name and do a redirect -->
+    <!-- <meta http-equiv="refresh" content="1;url=http://127.0.0.1:8080/gridsphere/gridsphere">  -->
+</head>
+
+<body>
+<h1>Unauthorized Access</h1>
+Access to servlets that are accessed via http://host/webAppPrefix/servlet/ has been disabled!
+</body>
+</html>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnguestnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnguestnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:actionlink layout="guest" value="Home"/>
+        </li>
+    </ul>
+</div>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnnav.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/returnnav.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+<%@ page import="org.gridsphere.portlet.impl.SportletProperties" %>
+<%@ page import="org.gridsphere.services.core.user.User" %>
+<%@ page import="javax.portlet.RenderRequest" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<% RenderRequest req = (RenderRequest) pageContext.getAttribute("renderRequest");
+    User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+    String username = user.getFirstName() + " " + user.getLastName(); %>
+
+<div class="gridsphere-navbar">
+    <ul>
+        <li>
+            <ui:text style="nostyle" key="LOGIN_SUCCESS"/>
+            , <%= username %>
+        </li>
+        <ui:hasrole role="ADMIN">
+            <li>
+                <ui:actionlink layout="admin" value="Administration"/>
+            </li>
+            <li>
+                <ui:actionlink layout="content" value="Content"/>
+            </li>
+            <li>
+                <ui:actionlink layout="layout" value="Layout"/>
+            </li>
+        </ui:hasrole>
+        <li>
+            <ui:actionlink layout="profile" value="Profile"/>
+        </li>
+        <li>
+            <ui:actionlink layout="loggedin" value="Home"/>
+        </li>
+        <li>
+            <ui:actionlink action="<%= SportletProperties.LOGOUT %>" key="LOGOUT"/>
+        </li>
+    </ul>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/edit.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/edit.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<ui:form>
+    <ui:listbox beanId="feedsLB"/>
+    <ui:actionsubmit action="removeFeed" key="RSS_DELETE_FEED"/>
+    <br/>
+
+    <ui:text key="RSS_ENTERFEEDURL"/>
+    <ui:textfield beanId="newfeedurl"/>
+    <ui:actionsubmit action="saveFeed" key="RSS_ADD_FEED"/>
+
+
+</ui:form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/viewRSS.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/viewRSS.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,61 @@
+<%@ page import="com.sun.syndication.feed.synd.SyndContent" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndEntry" %>
+<%@ page import="com.sun.syndication.feed.synd.SyndFeed" %>
+<%@ page import="java.util.Date" %>
+<%@ page import="java.util.Iterator" %>
+
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<br>
+
+<ui:messagebox beanId="msg"/>
+
+<% SyndFeed feed = (SyndFeed) request.getAttribute("rssfeed");
+
+    if (feed != null) {
+%>
+
+<ui:form action="selectFeed">
+    <ui:listbox submitOnChange="true" beanId="feedsLB"/>
+</ui:form>
+
+<br>
+
+<%
+
+    Iterator entryIter = feed.getEntries().iterator();
+    while (entryIter.hasNext()) {
+        SyndEntry entry = (SyndEntry) entryIter.next();
+        String entryLink = entry.getLink();
+        String entryTitle = entry.getTitle();
+        Date entryDate = entry.getPublishedDate();
+        SyndContent content = entry.getDescription();
+        String value = content.getValue();
+
+
+%>
+<ui:group label="<%=entryTitle%>">
+    <ui:text cssStyle="font-size: x-small;  font-weight: italic"><%=entryDate%><br/></ui:text>
+    <p/>
+    <%=value%>
+    <p/>
+    <ui:text cssStyle="font-size: x-small;"><a href="<%=entryLink%>">
+        <ui:text key="RSS_READ_FULL_STORY"/>
+    </a></ui:text>
+</ui:group>
+
+<%
+
+
+    }
+%>
+
+<%
+
+    }
+
+%>
+


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/rss/viewRSS.jsp
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/createAdmin.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/createAdmin.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,91 @@
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+    <h2>Create a Portal Administrator</h2>
+
+The portal administrator has access to all administrative capabilities of the portal including adding/editing users, roles
+and layouts. After creating an account, you will be able to login using the provided user name and password.
+
+    <p/>
+
+    <% String errMsg = (String)request.getAttribute("error");
+           if (errMsg != null) { %>
+
+        <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+
+        <%   } %>
+
+    <p/>
+
+<form action="<%= request.getContextPath() %>/setup?install=admin" method="POST">
+
+   <table>
+       <tr>
+           <td align="right">
+               <label for="username">User Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="username" id="username">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="firstname">First Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="firstname" id="firstname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="lastname">Last Name:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="lastname" id="lastname">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="email">Email Address:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="email" id="email">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="organization">Organization:</label>
+           </td>
+           <td align="left">
+                <input type="text" name="organization" id="organization">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password">Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password" id="password">
+           </td>
+       </tr>
+       <tr>
+           <td align="right">
+               <label for="password2">Confirm Password:</label>
+           </td>
+           <td align="left">
+                <input type="password" name="password2" id="password2">
+           </td>
+       </tr>
+
+   </table>
+
+  <p/>
+
+    <input type="submit" value="Create Account"/>
+
+</form>
+</div>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/selectDatabase.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/selectDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,172 @@
+
+
+<script type="text/javascript">
+<!--
+function SelectDriver() {
+    var dbtype = document.dbform.dbtype.value;
+    var connURL ="";
+    var driver = "";
+    var dialect = "";
+    if (dbtype == "postgresql") {
+        connURL = "jdbc:postgresql://localhost:5432/gridsphere";
+        dialect = "org.hibernate.dialect.PostgreSQLDialect";
+        driver = "org.postgresql.Driver";
+    } else if (dbtype == "mysql") {
+        connURL = "jdbc:mysql://localhost:3306/gridsphere";
+        dialect = "org.hibernate.dialect.MySQLDialect";
+        driver = "com.mysql.jdbc.Driver";
+    } else if (dbtype == "oracle") {
+        connURL = "jdbc:oracle:thin:@localhost:1521:gridsphere";
+        dialect = "org.hibernate.dialect.Oracle9Dialect";
+        driver = "oracle.jdbc.driver.OracleDriver";
+    } else if (dbtype == "ms") {
+        connURL = "jdbc:sqlserver://localhost:1681/gridsphere";
+        dialect = "org.hibernate.dialect.SQLServerDialect";
+        driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+    }
+    document.dbform.databaseURL.value = connURL;
+    document.dbform.driverClass.value = driver;
+    document.dbform.dialect.value = dialect;
+
+    //alert(dbtype);
+}
+
+function DisplayWait( formName ) {
+
+    var waitDiv = document.getElementById("content");
+
+    waitDiv.innerHTML = '<div style="position: absolute; padding: 20px; border: solid 5px; background-color: white; left: 300px; width: 300px; z-index: 5;">  Please wait... database is being created!</div>';
+
+    document.dbform.custom.disabled = true;
+    document.simple.standard.disabled = true;
+    document[formName].submit();
+}
+
+// -->
+</script>
+
+
+
+<div style="padding-top: 3px; padding-left: 8px; padding-right: 5px; margin-left: 10px;">
+
+    <h1>GridSphere Setup</h1>
+
+
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+
+
+
+    <h2>Choose a Database Configuration</h2>
+
+    Select where GridSphere should store its data
+
+    <p/>
+
+
+    <fieldset>
+        <legend>Embedded Database</legend>
+
+        The embedded database is provided by GridSphere and is <b>recommended for evaluation and
+        demonstration purposes</b>. Production systems should consider using an external database for improved scalability and reliability.
+        (This option will create a HSQL database in the gridsphere web application).
+        <p/>
+        <form method="POST" name="simple" action="<%= request.getContextPath() %>/setup?install=default">
+
+
+            <input type="submit" name="standard" value="Embedded Database >>" onclick="DisplayWait( this.form.name )"/>
+
+        </form>
+
+    </fieldset>
+
+    <p/>
+
+
+    <div id="content"></div>
+
+    <fieldset>
+        <legend>External Database</legend>
+
+        If you wish the portal to store its data in an external database, please provide the necessary connection values.
+        This is <b>recommended for production systems</b>. You must also make sure the JDBC driver (JAR) is placed in the
+        application classloader of the servlet container. (In the case of Tomcat, place JAR file in <b>$TOMCAT/common/lib</b>
+        directory.
+        <p/>
+        <form name="dbform" method="POST" action="<%= request.getContextPath() %>/setup?install=custom">
+
+            <table>
+                <tr>
+                    <td align="right">
+                        <label for="dbtype">Choose your database:</label>
+                    </td>
+                    <td align="left">
+                        <select name="dbtype" id="dbtype" onchange="SelectDriver()">
+                            <option value="postgresql">PostgreSQL</option>
+                            <option value="mysql">MySQL</option>
+                            <option value="oracle">Oracle 9/10g</option>
+                            <option value="ms">MS SQL Server</option>
+                            <option value="other">Other</option>
+                        </select>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter a Database URL:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="databaseURL" id="connection" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the driver class name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="driverClass" id="driverclass" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="connection">Enter the Hibernate dialect:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="dialect" id="dialect" size="40"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="username">Enter the User Name:</label>
+                    </td>
+                    <td align="left">
+                        <input type="text" name="username" id="username"/>
+                    </td>
+                </tr>
+                <tr>
+                    <td align="right">
+                        <label for="password">Enter the Password:</label>
+                    </td>
+                    <td align="left">
+                        <input type="password" name="password" id="password"/>
+                    </td>
+                </tr>
+            </table>
+            <p/>
+            <input type="submit" name="custom" value="External Database >>" onsubmit="DisplayWait( this.form.name )"/>
+        </form>
+
+    </fieldset>
+
+</div>
+
+<script type="text/javascript">
+<!--
+    SelectDriver();
+// -->
+</script>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/updateDatabase.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/updateDatabase.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+
+
+<div style="padding-top: 3px; margin: 0px 0px 0px 10px; padding-left: 8px; padding-right:
+ 5px; padding-bottom: 1px;">
+
+    <h1>GridSphere Update</h1>
+
+    <% String errMsg = (String)request.getAttribute("error");
+       if (errMsg != null) { %>
+
+    <fieldset><span style="color: red; "><%= errMsg %></span></fieldset>
+           
+    <%   } %>
+
+    GridSphere has detected that a new version of the portal has been installed! To continue, the existing database schemas
+    must be updated. You should first make a back-up of your existing database before completing this step.
+    <p/>
+    Do you wish to proceed?
+    <p/>
+
+        <form method="POST" action="<%= request.getContextPath() %>/setup?install=update">
+
+
+            <input type="submit" value="Update Database >>"/>
+
+        </form>
+
+</div>

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/view.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/setup/view.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+
+
+<h1>GridSphere Setup</h1>
+
+
+<form method="POST" action="<%= request.getContextPath() %>/setup">
+
+
+Select a database type:
+
+<select name="dbtype" id="dbtype">
+    <option selected="selected" value="org.hibernate.dialect.HSQLDialect">HsqlDB (default)</option>
+    <option value="org.hibernate.dialect.PostgreSQLDialect">Postgres</option>
+    <option value="org.hibernate.dialect.MySQLDialect">MySQL</option>
+    <option value="org.hibernate.dialect.Oracle9Dialect">Oracle 9/10g</option>
+</select>
+
+Please provide the connection URL:
+
+<input type="text" name="connectionURL" id="connection"/>
+
+Please provide the user name
+
+<input type="text" name="username" id="username"/>
+
+Please provide the password
+
+<input type="password" name="password" id="password"/>
+
+
+    <input type="submit" value="Enter"/>
+
+</form>
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/approve.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/approve.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,16 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED"/>
+
+
+<ui:frame>
+    <ui:tablerow>
+        <ui:tablecell>
+            <ui:renderlink layout="login" key="LOGIN_ACTION"/>
+        </ui:tablecell>
+    </ui:tablerow>
+</ui:frame>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/confirmsave.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/confirmsave.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/createaccount.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/createaccount.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,98 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox beanId="msg"/>
+
+    <ui:frame>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="USERNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="userName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="GIVENNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="firstName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="FAMILYNAME"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="lastName"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="EMAILADDRESS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="emailAddress"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="ORGANIZATION"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <% if (request.getAttribute("savePass") != null) { %>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="PASSWORD"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="organization"/>
+            </ui:tablecell>
+        </ui:tablerow>
+
+        <ui:tablerow>
+            <ui:tablecell width="200">
+                <ui:text key="CONFIRM_PASS"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password size="15" beanId="confirmPassword"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <% } %>
+
+    </ui:frame>
+
+    <ui:image src="<%= request.getContextPath() + "/Captcha.jpg" %>"/>
+    <ui:actionsubmit key="LOGIN_CANT_READ" action="cantRead"/>
+    <p/>
+
+    <ui:text key="CAPTCHA_TEXT"/>
+    <p/>
+    <ui:textfield size="10" beanId="captchaTF"/>
+    <p/>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:actionsubmit action="doSaveAccount" key="SAVE"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/deny.jsp
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/jsp/signup/deny.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>
+
+<ui:form>
+
+    <ui:messagebox key="LOGIN_ACCOUNT_APPROVAL_ACCOUNT_DENY"/>
+
+
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:rendersubmit render="doNewUser" key="OK"/>
+            </ui:tablecell>
+        </ui:tablerow>
+    </ui:frame>
+
+</ui:form>
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/scwblank.html
===================================================================

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/README.txt
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/README.txt	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/README.txt	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,6 @@
+GridSphere Theme Support
+------------------------
+
+GS supports two pluggable look and feels (PLAF)s: classic and standard. The classic PLAF remains the old (GS 2.1.2 and earlier) look and feel using a combination of nested tables and some CSS. The current default PLAF is standard which is evolving towards a much more configurable pure CSS layout. Each PLAF supports multiple themes inside each of the PLAF subdirectories. If you are interested in developing a new theme, please use the standard PLAF and have a look at the CSS files.
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/default.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/general.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,124 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px;
+    font-size: small;
+
+}
+
+* html body {
+    font-size: small; /* for IE5/Win */
+
+}
+
+html {
+    background-color: #FFFFFF;
+
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/layout.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,111 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Lucida Grande", sans-serif;
+    padding: 0px;
+    border: 0px;
+}
+
+
+#gridsphere-layout-logo {
+    float: left;
+    width: 100%;
+    padding-top: 10px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+/*    background-color: #E5ECF9;*/
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ffffff;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ffffff;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+/*
+b.rtop, b.rbottom {
+    display: block;
+    background: #E5ECF9
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #E5ECF9
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+*/
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/menunav.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,149 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: Arial, Helvetica, sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+/*
+.gridsphere-menu {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    margin:0;
+    background-color: #2D5B89;
+}
+
+.gridsphere-menu ul li a, .menu ul li a:visited {
+    display:block;
+    text-decoration:none;
+    width:109px;
+    height:20px;
+    text-align:center;
+    color:#FFFFFF;
+    border-bottom:1px solid #b4bfcc;
+    line-height:20px;
+    font-size:12px;
+    overflow:hidden;
+    background-color: #2D5B89;
+    font-weight: bold;
+}
+.gridsphere-menu ul {
+    padding:0;
+    margin:0;
+    list-style-type: none;
+}
+.gridsphere-menu ul li {
+    float:left;
+    margin-right:1px;
+    position:relative;
+
+}
+
+.gridsphere-menu ul li.selected a {
+    float:left;
+    margin-right:1px;
+    position:relative;
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li ul {
+    display: none;
+}
+
+.gridsphere-menu ul li:hover a {
+    color:#2D5B89;
+    background:#b4bfcc;
+}
+
+.gridsphere-menu ul li:hover ul {
+    display:block;
+    position:absolute;
+    top:20px; left:0;
+    width:109px;
+}
+*/
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/navigation.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none; /*    border-bottom: 1px solid #BBBBBB;*/
+    background: #FFFFFF;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/portlet.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/tags.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/window.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #F1B900;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #FFFFFF;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #F1B900;
+    border-bottom: 1px solid #F1B900;
+    border-left: 1px solid #F1B900;
+    clear: both;
+    padding: 5px;
+    background-color: #FFFFFF;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/navr_bg.gif_1
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/navr_bg.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-active-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-left.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/raw/tab-inactive-right.psd
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/Clear/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/default.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/default.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,20 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  Main css file. Uh.
+  $Id$
+*/
+
+ at import url( general.css );
+/* general html settings */
+ at import url( layout.css );
+/* layout of the overall portlet design */
+ at import url( window.css );
+/* styling for the portlet window */
+ at import url( navigation.css );
+/* styling for the tabbed pane navigation */
+ at import url( portlet.css );
+/* portal navigation & single menu tab */
+ at import url( menunav.css );
+/* JSR 168 css */
+ at import url( tags.css );
+/* GS UI tags css */
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/general.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/general.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,122 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* Do not set width 100% in the body, safari does not like it, we get a 1 pixel layover on the upper right side */
+
+body {
+    padding: 10px;
+    margin: 0px; /*    font-size: small;  */
+}
+
+* html body {
+/*    font-size: small; */
+/* for IE5/Win */
+}
+
+html {
+    background-color: #52A5F2;
+}
+
+h1 {
+    font-size: 150%;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 130%;
+    font-weight: bold;
+}
+
+h3 {
+    font-size: 120%;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+HYPERLINKS
+-------------------------------------------------*/
+
+/* global settings for hyperlinks */
+
+a {
+    font-weight: normal;
+    padding: 1px;
+    text-decoration: none;
+}
+
+a:link {
+    color: #0D70C6;
+}
+
+a:visited {
+    color: #0D70C6;
+}
+
+a:hover, a:active {
+    color: blue;
+}
+
+a.image, a img, a.image:hover {
+    background: none;
+    border: none;
+    color: white;
+    padding: 0;
+    text-decoration: none;
+}
+
+/*-------------------------------------------------
+LIST ELEMENTS
+-------------------------------------------------*/
+
+li {
+    margin: 3px 0px;
+}
+
+/*-------------------------------------------------
+PARAGRAPHS AND TEXT
+-------------------------------------------------*/
+
+p {
+    padding-top: 0px;
+}
+
+/* class for bigger text */
+.bigger {
+    font-size: large;
+}
+
+/* class for highlighting text */
+.highlight {
+    background-color: #ffc;
+}
+
+/* settings for the heading internal to a framed section of a portlet */
+fieldset {
+    color: #000;
+
+}
+
+/* settings for the heading of a framed section of a portlet */
+fieldset legend {
+    color: #000;
+    font-weight: bold;
+}
+
+/*-------------------------------------------------
+FORMS
+-------------------------------------------------*/
+
+input, select, textarea {
+    font-size: inherit;
+}
+
+/*-------------------------------------------------
+style for Gridsphere snippets from the content manager
+-------------------------------------------------*/
+
+.gridsphere-content {
+    padding: 20px 20px;
+}
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/layout.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/layout.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,116 @@
+xx/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* overall page styling, gs controled */
+#gridsphere-layout-page {
+    width: 98%;
+
+    margin-left: 1%;
+    margin-right: 1%;
+    font-family: "Arial, Helvetica, Lucida Grande", sans-serif;
+    font-size: small;
+    padding: 0px;
+    border: 0px;
+}
+
+#gridsphere-layout-logo {
+    float: left;
+    padding-top: 3px;
+    margin: 0px 0px 0px 10px;
+    padding-left: 8px;
+    padding-right: 5px;
+    padding-bottom: 1px;
+}
+
+/* layout for the head */
+#gridsphere-layout-head {
+    background-color: #FFFFFF;
+    overflow: hidden;
+    margin: 0px;
+    padding: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* layout for navigation */
+#gridsphere-layout-navigation {
+    overflow: hidden;
+    background-color: #ebebeb;
+}
+
+/* ... for portlet body */
+#gridsphere-layout-body {
+    background-color: #ebebeb;
+    padding: 0 0 10px 0;
+    overflow: hidden;
+    margin: 0px;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/* ... for the footer */
+#gridsphere-layout-footer {
+    background-color: #ffffff;
+    text-align: center;
+    overflow: hidden;
+    padding: 10px 0 0 0;
+    width: 100%;
+    font-family: "Arial", sans-serif;
+    font-size: small;
+}
+
+/*-------------------------------------------------
+    rules for table-like layout
+-------------------------------------------------*/
+div {
+    border-width: 0px;
+    font-size: inherit;
+    margin: 0px;
+    padding: 0px;
+}
+
+div.gridsphere-layout-row {
+    clear: both;
+}
+
+div.gridsphere-layout-column {
+    float: left;
+    overflow: hidden;
+}
+
+/* Rounded corners */
+
+b.rtop, b.rbottom {
+    display: block;
+    background: #52A5F2;
+}
+
+b.rtop b, b.rbottom b {
+    display: block;
+    height: 1px;
+    overflow: hidden;
+    background: #ffffff;
+}
+
+b.r1 {
+    margin: 0 5px
+}
+
+b.r2 {
+    margin: 0 3px
+}
+
+b.r3 {
+    margin: 0 2px
+}
+
+b.rtop b.r4, b.rbottom b.r4 {
+    margin: 0 1px;
+    height: 2px
+}
+
+

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/menunav.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/menunav.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,95 @@
+.gridsphere-navbar {
+    /*
+    height: 30px;
+	width: 100%;
+	border-top: solid #000 1px;
+	border-bottom: solid #000 1px;
+	background-color: #336699;
+	*/
+    float: right;
+}
+
+.gridsphere-navbar ul {
+    margin: 0;
+    padding: 0;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small; /* color: #FFF; */
+    line-height: 30px;
+    white-space: nowrap;
+}
+
+.gridsphere-navbar li {
+    list-style-type: none;
+    display: inline;
+}
+
+.gridsphere-navbar li a {
+    font-size: 12px;
+    text-decoration: underline;
+    padding: 7px 5px; /* color: blue; */
+}
+
+#gridsphere-menu {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+    font-family: "Arial, Helvetica", sans-serif;
+    font-size: small;
+
+}
+
+#gridsphere-menu li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu .gridsphere-menu-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-menu .gridsphere-menu-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-menu a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-menu-bottom-line {
+    width: 100%;
+    background: #EBEBEB url( ../images/navr_bg_menu.gif ) repeat-x top left;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/navigation.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/navigation.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,121 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+/* navigation rounded */
+
+#gridsphere-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 10px 0 0 0;
+    list-style: none;
+    background: #FFFFFF url( ../images/navr_bg.gif ) repeat-x bottom left;
+    text-decoration: none;
+}
+
+#gridsphere-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+}
+
+#gridsphere-nav .nav-nonsel a {
+    padding-bottom: 3px;
+    padding-left: 5px;
+    background: url( ../images/tab-inactive-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-nonsel a span {
+    color: #000;
+    padding: 4px 10px 3px 5px;
+    text-decoration: none;
+    background: url( ../images/tab-inactive-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav .nav-nonsel a:hover span {
+    color: #000;
+    text-decoration: none;
+}
+
+#gridsphere-nav .nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+    padding-left: 5px;
+    background: url( ../images/tab-active-left.gif ) no-repeat top left;
+}
+
+#gridsphere-nav .nav-sel a span {
+    color: #000;
+    padding: 4px 10px 4px 5px;
+    background: url( ../images/tab-active-right.gif ) no-repeat top right;
+}
+
+#gridsphere-nav a {
+    float: left;
+    display: block;
+    margin: 0 0px 0 0;
+    padding: 4px 2px;
+    border-bottom: none;
+    text-decoration: none;
+}
+
+#gridsphere-nav-border-right {
+
+}
+
+#gridsphere-nav-border-left {
+
+}
+
+/*
+   sub tab  gfx
+*/
+#gridsphere-sub-nav {
+    float: left;
+    width: 100%;
+    margin: 0;
+    padding: 0 0 0 0px;
+    list-style: none;
+    border-bottom: 1px solid #727377;
+    background: url( ../images/sub-tab.gif ) repeat-x;
+}
+
+#gridsphere-sub-nav li {
+    float: left;
+    margin: 0;
+    padding: 0;
+    font-family: "Lucida Grande", sans-serif;
+    font-size: small;
+    color: #000;
+}
+
+#gridsphere-sub-nav .sub-nav-sel a {
+    padding-bottom: 4px;
+    font-weight: bold;
+}
+
+#gridsphere-sub-nav a {
+    float: left;
+    display: block;
+    margin: 0;
+    padding: 4px 8px;
+    text-decoration: none;
+    color: #000;
+}
+
+#gridsphere-sub-nav a:hover {
+    padding-bottom: 4px;
+    text-decoration: none;
+}
+
+#gridsphere-sub-nav-border-left {
+
+}
+
+#gridsphere-sub-nav-border-right {
+
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/portlet.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/portlet.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,515 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de), Luca De Marco (demarco at dimi.uniud.it)
+and Roberto Ranon (ranon at dimi.uniud.it)
+Version: $Id: portlet.css 4633 2006-03-09 16:44:16Z wehrens $
+*/
+
+/* **************************************************************************
+ * Portlet Pane and Frame Tags
+ *
+ * Portlet panes contain one or more portlet frames, where portlet frames
+ * contain elements of presentation organized for some particular reason.
+ * Portlet frames are seperated by "borders" where the color and width of
+ * each border is determined by the bgcolor and cellspacing properties of
+ * table respresenting each portlet frame. Note, however, the separation
+ * between portlet frames is determined by the cellspacing and cellpadding
+ * properties of the table representing the portlet pane.
+ ************************************************************************** */
+
+.portlet-pane {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame {
+    background-color: inherit;
+    border: none;
+    padding: 0;
+    width: 100%;
+}
+
+.portlet-frame-actions {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-info {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-alert {
+    background-color: inherit;
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-error {
+    border: 1px solid #CCCCFF;
+    padding: 0;
+    font-family: inherit;
+}
+
+.portlet-frame-title {
+    border: none;
+    font-family: inherit;
+    font-weight: bold;
+    text-align: center;
+}
+
+.portlet-frame-header {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+}
+
+.portlet-frame-header-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+.portlet-frame-label {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-label-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-text-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-input-alert {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+.portlet-frame-number {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-number-alert {
+    border: none;
+    font-family: inherit;
+    text-align: right;
+}
+
+.portlet-frame-entry-checkbox {
+    border: none;
+    font-family: inherit;
+    text-align: center;
+    vertical-align: middle;
+    width: 12px;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font;
+used to display non-accentuated information
+********************************************* */
+.portlet-font {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+Font attributes for the "normal" fragment font
+in lighter color
+********************************************* */
+.portlet-font-dim {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^
+ MESSAGES
+^^^^^^^^^^*/
+
+/* *********************************************
+  Status of the current operation
+********************************************* */
+.portlet-msg-status {
+    font-family: inherit;
+    font-style: italic;
+    background-color: inherit;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+ Help messages, general additional
+ information, etc.
+********************************************* */
+.portlet-msg-info {
+    font-family: inherit;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Error messages
+********************************************* */
+.portlet-msg-error {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Warning messages
+********************************************* */
+.portlet-msg-alert {
+    font-family: inherit;
+    font-variant: small-caps;
+    background-color: inherit;
+    font-style: italic;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Verification of the successful completion
+  of a task
+********************************************* */
+.portlet-msg-success {
+    font-family: inherit;
+    font-variant: small-caps;
+    letter-spacing: 2px;
+    background-color: inherit;
+    font-style: normal;
+    font-weight: bold;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/*^^^^^^^^^^^^
+  SECTIONS
+  ^^^^^^^^^^*/
+
+/* *********************************************
+  Table or section header
+********************************************* */
+.portlet-section-header {
+    border: 1px solid black;
+    font-family: inherit;
+    text-align: center;
+    color: black;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Normal text in a table cell
+********************************************* */
+.portlet-section-body {
+    border: none;
+    font-family: inherit;
+    text-align: left;
+}
+
+/* *********************************************
+  Text in every other row in the table
+********************************************* */
+.portlet-section-alternate {
+    text-align: left;
+    text-decoration: none;
+    background-color: #ebebeb;
+}
+
+/* *********************************************
+  Text in a selected cell range
+********************************************* */
+.portlet-section-selected {
+    color: gray;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: thin solid black;
+}
+
+/* *********************************************
+  Text of a subheading
+********************************************* */
+.portlet-section-subheader {
+    color: black;
+    background-color: white;
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+    border-left: thin solid black;
+    border-right: thin solid black;
+    border-bottom: double black;
+}
+
+/* *********************************************
+  Table or section footnote
+********************************************* */
+.portlet-section-footer {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+    border: none;
+}
+
+/* *********************************************
+  Text that belongs to the table but does not
+  fall in any of the previous categories
+  e.g. explanatory or help text that is
+       associated with the section
+********************************************* */
+.portlet-section-text {
+    color: black;
+    background-color: white;
+    font-weight: lighter;
+    font-style: italic;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none; /*border:thin dashed grey;*/
+    border: none;
+}
+
+/*^^^^^^^^^^
+FORMS
+^^^^^^^^*/
+
+/* *********************************************
+  Text used for the descriptive label of the
+  whole form (not the labels for fields)
+********************************************* */
+.portlet-form-label {
+    color: black; /* background-color:white;  */
+    font-weight: bold;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text of the user-input in an input field
+********************************************* */
+.portlet-form-input-field {
+    color: black;
+    background-color: #FFFFFF;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text on a button
+********************************************* */
+.portlet-form-button {
+    color: black; /*background-color: inherit;*/
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a context dependent
+  action icon
+********************************************* */
+.portlet-icon-label {
+    color: #B0C4DE;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text that appears beside a "standard" icon
+  e.g. Ok, Cancel
+********************************************* */
+.portlet-dlg-icon-label {
+    color: #00008B;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: center;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a separator of fields
+  e.g. checkboxes
+********************************************* */
+.portlet-form-field-label {
+    color: black;
+    background-color: white;
+    font-weight: normal;
+    font-style: normal;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/* *********************************************
+  Text for a field
+  (not input field, checkboxes)
+********************************************* */
+.portlet-form-field {
+    color: black;
+    background-color: white;
+    font-family: inherit;
+    line-height: normal;
+    text-align: left;
+    text-decoration: none;
+}
+
+/*^^^^^^^^^^^
+   MENUS
+   ^^^^^^^^*/
+
+/* *********************************************
+  General menu settings such as background
+  color, margins, etc.
+
+********************************************* */
+.portlet-menu {
+    width: 100%;
+    border: 1px solid #0053e2;
+    padding: 5px;
+}
+
+/* *********************************************
+  Normal, unselected menu item
+********************************************* */
+.portlet-menu-item {
+
+}
+
+/* *********************************************
+  Selected menu item
+********************************************* */
+.portlet-menu-item-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item when the
+  mouse hovers over it
+********************************************* */
+.portlet-menu-item-hover {
+}
+
+/* *********************************************
+  Selected menu item when the mouse hovers
+  over it
+********************************************* */
+.portlet-menu-item-hover-selected {
+}
+
+/* *********************************************
+  Normal, unselected menu item that has
+  submenus
+********************************************* */
+.portlet-menu-cascade-item {
+}
+
+/* *********************************************
+  Selected submenu item that has submenus
+********************************************* */
+.porlet-menu-cascade-item-selected {
+}
+
+/* *********************************************
+  Descriptive text for the menu
+  e.g. in a help context below the menu
+********************************************* */
+.portlet-menu-description {
+}
+
+/* *********************************************
+  Menu caption
+********************************************* */
+.portlet-menu-caption {
+    font-weight: bold;
+    text-align: center;
+    margin-bottom: 5px;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/tags.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/tags.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,88 @@
+/* Stylesheet */
+/*
+Part of the Gridsphere modern theme
+Author: Oliver Wehrens (wehrens at aei.mpg.de)
+Version: $Id: ui.css 4736 2006-04-10 22:10:44Z novotny $
+*/
+
+.ui-messagebox-portlet-msg-alert {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-error {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-alert.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-info {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-info.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-messagebox-portlet-msg-success {
+    border: 1px solid black;
+    margin: 5px;
+    padding: 5px 5px 5px 25px;
+    background-image: url( ../images/msgicons/portlet-msg-success.gif );
+    background-repeat: no-repeat;
+    background-position: center left;
+}
+
+.ui-tab {
+    padding: 3px 0;
+    margin-left: 0;
+    font: bold 12px Verdana;
+    border-bottom: 1px solid gray;
+    list-style-type: none;
+    text-align: left; /*set to left, center, or right to align the menu as desired*/
+}
+
+.ui-tab li {
+    display: inline;
+    margin: 0;
+}
+
+.ui-tab li a {
+    text-decoration: none;
+    padding: 3px 7px;
+    margin-right: 3px;
+    border: 1px solid gray;
+    border-bottom: none;
+    background-color: #f6ffd5;
+    color: #2d2b2b;
+}
+
+.ui-tab li a:visited {
+    color: #2d2b2b;
+}
+
+.ui-tab li a:hover {
+    background-color: #DBFF6C;
+    color: black;
+}
+
+.ui-tab li a:active {
+    color: black;
+}
+
+.ui-tab li.selected a {
+/*selected tab effect*/
+    position: relative;
+    top: 1px;
+    padding-top: 4px;
+    background-color: #DBFF6C;
+    color: black;
+}

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/window.css
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/css/window.css	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,57 @@
+/*
+  Author: Oliver Wehrens (wehrens at gridsphere.org)
+  $Id$
+*/
+
+.gridsphere-window-portlet {
+    padding: 4px 4px 0px 4px;
+}
+
+.gridsphere-window-title {
+    height: 1.5em;
+    text-align: center;
+    background-color: #52A5F2;
+}
+
+.gridsphere-window-title-name {
+    border: 0px;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    white-space: nowrap;
+    color: #fff;
+    width: 70%;
+    font-weight: bold;
+}
+
+.gridsphere-window-title-icon-right {
+    background-color: inherit;
+    float: right;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    width: 29%; /* do not make it 100% (with window-title-name), IE will do strange things */
+    text-align: right;
+}
+
+/* not used */
+.gridsphere-window-icon-left {
+    background-color: inherit;
+    float: left;
+    height: 100%;
+    margin: 0px;
+    padding: 0px;
+    text-align: left;
+    width: 20%;
+}
+
+.gridsphere-window-content {
+    border-right: 1px solid #52A5F2;
+    border-bottom: 1px solid #52A5F2;
+    border-left: 1px solid #52A5F2;
+    clear: both;
+    padding: 5px;
+    background-color: #fff;
+}
\ No newline at end of file

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-alert.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-error.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-info.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/msgicons/portlet-msg-success.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/navr_bg_menu.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/sub-tab.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-active-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-left.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/tab-inactive-right.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_close.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_close.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_configure.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_configure.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_edit.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_edit.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_float.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_float.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_help.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_help.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_maximize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_minimize.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_normal.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_normal.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_view.gif
===================================================================
(Binary files differ)


Property changes on: cs/trunk/apps-local/gridsphere/webapps/gridsphere/themes/brush/default/images/window_view.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/apps-local/gridsphere/webapps/gridsphere-context.xml
===================================================================
--- cs/trunk/apps-local/gridsphere/webapps/gridsphere-context.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/apps-local/gridsphere/webapps/gridsphere-context.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,9 @@
+<Context path="/@GRIDSPHERE_DEPLOY@" debug="0" reloadable="false" crossContext="true"/>
+
+<!-- 
+
+<Context path="/@GRIDSPHERE_DEPLOY@" debug="0" reloadable="false" crossContext="true">
+        <Manager className="org.apache.catalina.session.StandardManager" pathname=""/>
+</Context>
+
+-->

Added: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.ncsa.tar.gz
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.ncsa.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.sdsc.tar.gz
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.sdsc.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.uc.tar.gz
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/applications/dms.uc.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/bin/runTest2.sh
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/bin/runTest2.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/bin/runTest2.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+#!/bin/bash
+cd ../simplegrid/build/classes
+MYCP="."
+LIBHOMES="../../lib/jfreechart ../../lib/globus ../../lib/viz ../../lib/velocity"
+for LIBHOME in $LIBHOMES
+do
+  SUBLIBLIST=`ls $LIBHOME`
+  for ALIB in $SUBLIBLIST
+  do
+    MYCP="$MYCP:$LIBHOME/$ALIB"
+  done
+done
+echo $MYCP
+java -classpath $MYCP org.gisolve.demo.TG07
+


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/bin/runTest2.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/cigtg-dev/SimpleGrid/bin/runTest4.sh
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/bin/runTest4.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/bin/runTest4.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+#!/bin/bash
+cd ../simplegrid/build/classes
+. ${GLOBUS_LOCATION}/etc/globus-devel-env.sh
+MYCP="."
+LIBHOMES="../../lib/jfreechart ../../lib/viz ../../lib/velocity"
+for LIBHOME in $LIBHOMES
+do
+  SUBLIBLIST=`ls $LIBHOME`
+  for ALIB in $SUBLIBLIST
+  do
+    MYCP="$MYCP:$LIBHOME/$ALIB"
+  done
+done
+echo $MYCP
+
+java -classpath $CLASSPATH:$MYCP org.gisolve.demo.TG07GT4
+


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/bin/runTest4.sh
___________________________________________________________________
Name: svn:executable
   + 

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.classpath
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.classpath	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.classpath	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/simplegrid-globus-lib"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/gs3"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/simplegrid-jfree-lib"/>
+	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.USER_LIBRARY/simplegrid-velocity-lib"/>
+	<classpathentry kind="output" path="build/classes"/>
+</classpath>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.project
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.project	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.project	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>SimpleGrid</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.settings/org.eclipse.jdt.ui.prefs	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/.settings/org.eclipse.jdt.ui.prefs	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3 @@
+#Wed May 09 17:00:51 CDT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates/>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07GT4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/TG07GT4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/DmsjobBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/DmsjobBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/UserBean.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/beans/UserBean.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransfer.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransfer.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransferThread.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/data/SimpleTransferThread.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRSL.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRSL.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT2.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT2.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT4.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/job/SimpleRunGT4.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/security/SimpleCred.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/grid/security/SimpleCred.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/GISolveDMSPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/GISolveDMSPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/UserPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/portlets/UserPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/Config.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/Config.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/DMSPortletConfig.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/DMSPortletConfig.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/SimpleGridConstants.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/gisolve/demo/util/SimpleGridConstants.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/portlets/VelocityPortlet.class
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/classes/org/ogce/portlets/VelocityPortlet.class
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services-impl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services-impl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig-services.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build/lib/simplegrid_cig.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.properties
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,29 @@
+# $Id: build.properties 5936 2007-01-02 20:07:20Z novotny $
+#
+# Configuration properties for building Science Gateway Tutorial train17
+
+project.title=Science Gateway CIG  
+project.name=simplegrid_cig
+
+# Is this a JSR 168 webapp?
+use.jsr=jsr
+
+# location of gridsphere source and build directory
+gridsphere.home=/home/cigtg/gridsphere
+gridsphere.build=/home/cigtg/gridsphere/build
+
+# CIG Science Gateway build settings
+project.version= 1.0 RC 1
+project.build=build
+project.dist=dist
+
+# if there are any dependencies, an integer must be specified here which will determine the ordering for when this app gets starting from smallest to largest- leave empty if ordering is not important
+project.priority=
+
+# if this project provides any portlet services used by another portlet application, then the value
+# should be set to true
+project.shared=true
+
+# deploy gs with precompiled jsp's; options are true or false (or anything else)
+gridsphere.useprecompiledjsp=true
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.xml
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/build.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,440 @@
+<!-- =======================================================================
+
+   GridSphere 3.0.5 generated build file
+
+Notes:
+   This is a build file for use with the Ant build tool.
+
+Prerequisites:
+
+   jakarta-ant from http://jakarta.apache.org
+
+Build Instructions:
+   To build, invoke "ant"
+
+Copyright:
+  2002-2007
+
+- $Id: build.project.xml 6200 2007-03-14 14:13:51Z wehrens $
+
+============================================================================ -->
+
+<project name="simplegrid_cig" default="help" basedir=".">
+
+    <property file="build.properties"/>
+    <property file="${gridsphere.home}/build.properties"/>
+
+    <taskdef resource="net/sf/antcontrib/antcontrib.properties">
+        <classpath>
+            <pathelement location="${gridsphere.home}/lib/ant-contrib-0.3.jar"/>
+        </classpath>
+    </taskdef>
+
+    <property name="optimize" value="false"/>
+    <property name="debug" value="on"/>
+    <property name="deprecation" value="true"/>
+
+    <property name="project" value="${project.title} ${project.version}"/>
+    <property name="project.api" value="${project.title} API ${project.version}"/>
+
+    <!-- GridSphere build targets -->
+    <property name="build.lib" value="${project.build}/lib"/>
+    <property name="build.classes" value="${project.build}/classes"/>
+    <property name="build.webapp" value="${project.build}/webapp"/>
+    <property name="build.docs" value="${project.build}/docs"/>
+    <property name="build.javadoc" value="${build.docs}/javadocs"/>
+    <property name="build.tests" value="${project.build}/tests"/>
+
+
+    <property environment="env"/>
+
+    <!-- =================================================================== -->
+    <!-- Functions                                                           -->
+    <!-- =================================================================== -->
+    <target name="setenv" description="Check for libraries and print out config information">
+
+        <!-- Make build directories -->
+        <mkdir dir="src"/>
+        <mkdir dir="lib"/>
+        <mkdir dir="${project.build}"/>
+        <mkdir dir="${build.lib}"/>
+        <mkdir dir="${build.classes}"/>
+        <mkdir dir="${build.webapp}"/>
+        <mkdir dir="${build.docs}"/>
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="tomcat"/>
+            <then>
+                <property name="appserver.home" value="${env.CATALINA_HOME}"/>
+
+                <if>
+                    <available file="${appserver.home}/common/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 5.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/common/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+                </if>
+                <if>
+                    <available file="${appserver.home}/lib" type="dir"/>
+                    <then>
+                        <echo message="Installing for Tomcat 6.x"/>
+                        <path id="servletpath">
+                            <fileset dir="${appserver.home}/lib/">
+                                <include name="*.jar"/>
+                            </fileset>
+                        </path>
+                    </then>
+                </if>
+            </then>
+        </if>
+
+        <if>
+            <equals arg1="${gridsphere.appserver}" arg2="jetty"/>
+            <then>
+                <echo message="Installing for Jetty"/>
+                <property name="appserver.home" value="${env.APPSERVER_HOME}"/>
+                <path id="servletpath">
+                    <fileset file="${appserver.home}/lib/javax.servlet.jar"/>
+                    <fileset dir="${appserver.home}/ext/">
+                        <exclude name="*.LICENSE"/>
+                        <include name="*.jar"/>
+                    </fileset>
+                </path>
+            </then>
+        </if>
+
+        <path id="classpath">
+            <pathelement location="${build.classes}"/>
+            <fileset dir="lib">
+                <exclude name="*.LICENSE"/>
+            	<!-- GISolve
+            	                <include name="*.jar"/>
+            	-->
+            	<include name="**/*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.build}/lib">
+                <include name="*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.home}/lib">
+                <include name="*.jar"/>
+            </fileset>
+
+            <path refid="servletpath"/>
+            <pathelement path="${java.class.path}"/>
+
+        </path>
+
+        <echo message="--- Build environment for ${project} ---"/>
+        <echo message="--- Flags (Note: If the {property name} is displayed,"/>
+        <echo message="           then the component is not present)"/>
+        <echo message=""/>
+
+        <echo message="ANT_HOME is set to = ${env.ANT_HOME}"/>
+        <echo message="JAVA_HOME is set to = ${env.JAVA_HOME}"/>
+
+        <echo message="GridSphere Webserver is ${gridsphere.appserver}"/>
+        <echo message="This project will be deployed to ${appserver.home}/webapps"/>
+
+        <echo message="--- Property values ---"/>
+        <echo message="debug=${debug}"/>
+        <echo message="deprecation=${deprecation}"/>
+        <echo message="optimize=${optimize}"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Print usage information                                             -->
+    <!-- =================================================================== -->
+    <target name="help" description="shows help about useful target">
+        <echo message="target                 description"/>
+        <echo message="-----------------------------------------------------------------"/>
+        <echo message="clean                  Cleans up the build dir                       "/>
+        <echo message="compile                Compiles all the code                         "/>
+        <echo message="jar                    Create a ${project.name} JAR                  "/>
+        <echo message="war                    Create a ${project.name} WAR                  "/>
+        <echo message="docs                   Creates ${project.title} Javadoc API          "/>
+        <echo message="deploy                 Deploys ${project.title}                      "/>
+        <echo message="dist                   Builds a binary ${project.title} distribution "/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Compiles all source code in distribution                            -->
+    <!-- =================================================================== -->
+    <target name="compile-all" depends="compile" description="Compiles all source code in distribution"/>
+
+    <!-- =================================================================== -->
+    <!-- Compiles source code                                                -->
+    <!-- =================================================================== -->
+<!-- GISolve
+	<target name="compile" depends="setenv" description="Compile project source code">
+-->
+	<target name="compile" depends="setenv" description="Compile project source code">
+        <echo>Compiling project source code</echo>
+        <javac srcdir="src"
+               destdir="${build.classes}"
+               classpathref="classpath"
+               debug="${debug}"
+               optimize="${optimize}"
+               deprecation="false"/>
+    </target>
+
+    <target name="precompile-jsp" depends="setenv">
+        <taskdef name="jspc50" classname="org.apache.jasper.JspC" classpathref="classpath">
+        </taskdef>
+
+
+        <mkdir dir="${project.build}/jsp/source"/>
+        <mkdir dir="${project.build}/jsp/classes"/>
+        <if>
+            <equals arg1="${gridsphere.useprecompiledjsp}" arg2="true"/>
+            <then>
+
+                <jspc50 outputDir="${project.build}/jsp/source"
+                        uriroot="webapp/"
+                        webXmlFragment="${project.build}/jsp/web.inc"
+                        validateXml="false">
+                </jspc50>
+            </then>
+        </if>
+
+
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Database stuff                                         -->
+    <!-- =================================================================== -->
+
+    <target name="configure-database" depends="setenv">
+        <mkdir dir="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/"/>
+        <copy overwrite="true" file="webapp/WEB-INF/persistence/hibernate.properties"
+              todir="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/"/>
+        <pathconvert targetos="windows" dirsep="/" property="cathome">
+            <path location="${appserver.home}"/>
+        </pathconvert>
+        <replace file="${appserver.home}/webapps/${project.name}/WEB-INF/persistence/hibernate.properties"
+                 token="@3RDPARTY_WEBAPP@"
+                 value="${cathome}/webapps/${project.name}"/>
+    </target>
+
+    <target name="create-database" depends="setenv, deploy">
+        <echo message="Creating database"/>
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath">
+            <classpath id="hib.classpth">
+                <pathelement location="webapp/WEB-INF/classes/"/>
+            </classpath>
+        </taskdef>
+        <dbtask
+                configdir="${appserver.home}/webapps/${project.name}"
+                action="CREATE"/>
+    </target>
+
+    <target name="update-database" depends="setenv, configure-database, deploy">
+        <taskdef name="dbtask"
+                 classname="org.gridsphere.tools.DBTask"
+                 classpathref="classpath"/>
+        <dbtask
+                configdir="${appserver.home}/webapps/${project.name}"
+                action="UPDATE"/>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates all JAR libraries                                           -->
+    <!-- =================================================================== -->
+    <target name="jar" depends="portlets-jar, services-jar, services-impl-jar" description="Creates project JAR"/>
+
+    <!-- =================================================================== -->
+    <!-- Creates a portlet JAR library                                       -->
+    <!-- =================================================================== -->
+    <target name="portlets-jar" depends="compile" description="Creates portlets JAR">
+        <echo>Creating JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}.jar" basedir="${build.classes}">
+            <include name="**/org/gisolve/demo/portlets/**"/>
+        	<!-- added by GISolve -->
+        	<include name="**/org/gisolve/demo/app/**"/>
+        	<include name="**/org/gisolve/demo/grid/**"/>
+        	<include name="**/org/gisolve/demo/util/**"/>
+        	<include name="**/org/gisolve/demo/beans/**"/>
+        	<include name="**/org/ogce/portlets/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a services JAR library                                      -->
+    <!-- =================================================================== -->
+    <target name="services-jar" depends="compile" description="Creates services JAR">
+        <echo>Creating services JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}-services.jar" basedir="${build.classes}">
+            <include name="**/services/**"/>
+            <exclude name="**/impl/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates a services implementation JAR                               -->
+    <!-- =================================================================== -->
+    <target name="services-impl-jar" depends="compile" description="Creates services impl JAR">
+        <echo>Creating services JAR</echo>
+        <jar jarfile="${build.lib}/${project.name}-services-impl.jar" basedir="${build.classes}">
+            <include name="**/services/**/impl/**"/>
+        </jar>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Cleans everything                                                   -->
+    <!-- =================================================================== -->
+    <target name="clean" description="Delete classes and existing library">
+        <delete quiet="true" dir="${project.build}"/>
+        <delete quiet="true" dir="${project.dist}"/>
+        <delete quiet="true" file="lib/${project.name}.jar"/>
+        <delete quiet="true" file="lib/${project.name}-services.jar"/>
+        <delete quiet="true" file="lib/${project.name}-services-impl.jar"/>
+    </target>
+
+    <target name="docs" depends="javadocs" description="Create project documentation"/>
+
+    <!-- =================================================================== -->
+    <!-- Creates all the API documentation                                   -->
+    <!-- =================================================================== -->
+    <target name="javadocs" depends="setenv" description="Create Javadocs">
+        <echo>Creating Javadocs</echo>
+        <delete quiet="true" dir="${build.javadoc}"/>
+        <mkdir dir="${build.javadoc}"/>
+        <javadoc sourcepath="src"
+                 classpathref="classpath"
+                 destdir="${build.javadoc}"
+                 author="true"
+                 version="true"
+                 splitindex="true"
+                 use="true"
+                 maxmemory="180m"
+                 windowtitle="${project.title}"
+                 doctitle="${project.api}">
+            <!-- bottom="Copyright &#169; 2002,2003 GridLab Project. All Rights Reserved."> -->
+        </javadoc>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Creates the WAR file                                                -->
+    <!-- =================================================================== -->
+    <target name="war" depends="jar" description="Create project WAR">
+        <echo>Creating project web application WAR</echo>
+
+        <mkdir dir="${project.build}/webapp/WEB-INF/lib"/>
+        <mkdir dir="${project.build}/webapp/WEB-INF/classes"/>
+
+        <copy todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${gridsphere.build}/lib/">
+                <include name="gridsphere-provider*.jar"/>
+                <include name="gridsphere-portal*.jar"/>
+                <exclude name="gridsphere-portal-api*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.home}/lib/">
+                <include name="log4j*.jar"/>
+                <include name="castor*.jar"/>
+                <include name="xerces*.jar"/>
+                <include name="commons-fileupload*.jar"/>
+                <include name="commons-io*.jar"/>
+            </fileset>
+        </copy>
+
+        <copy todir="${project.build}/webapp/WEB-INF/classes">
+            <fileset dir="${project.build}/classes/">
+                <include name="**/*"/>
+            </fileset>
+            <fileset dir="lib/"/>
+        </copy>
+
+        <war warfile="${project.build}/${project.name}.war" update="true"
+             webxml="webapp/WEB-INF/web.xml">
+            <fileset dir="webapp/">
+                <exclude name="WEB-INF/web.xml"/>
+            </fileset>
+            <fileset dir="${project.build}/webapp/"/>
+        </war>
+    </target>
+
+    <!-- =================================================================== -->
+    <!-- Deploys portlets to a local server                                  -->
+    <!-- =================================================================== -->
+    <target name="deploy" depends="jar" description="Deploys portlet to a local server">
+        <echo>Deploying project</echo>
+
+        <!-- Copy the gridsphere web app to build directory -->
+        <property name="project.webapp" value="${appserver.home}/webapps/${project.name}"/>
+        <mkdir dir="${project.webapp}"/>
+
+        <copy overwrite="true" todir="${project.webapp}" encoding="utf-8">
+            <fileset dir="webapp"/>
+        </copy>
+
+        <mkdir dir="${project.webapp}/WEB-INF/lib"/>
+
+        <copy overwrite="true" todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${build.lib}">
+                <include name="${project.name}.jar"/>
+            </fileset>
+        </copy>
+
+        <copy todir="${project.webapp}/WEB-INF/lib">
+            <fileset dir="${gridsphere.build}/lib/">
+                <include name="gridsphere-provider*.jar"/>
+                <include name="gridsphere-portal*.jar"/>
+                <exclude name="gridsphere-portal-api*.jar"/>
+            </fileset>
+            <fileset dir="${gridsphere.home}/lib/">
+                <include name="log4j*.jar"/>
+                <include name="castor*.jar"/>
+                <include name="xerces*.jar"/>
+                <include name="commons-fileupload*.jar"/>
+                <include name="commons-io*.jar"/>
+            </fileset>
+        </copy>
+
+        <if>
+            <equals arg1="${project.priority}" arg2=""/>
+            <then>
+                <touch file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/portlets/${project.name}"/>
+            </then>
+            <else>
+                <touch file="${appserver.home}/webapps/${gridsphere.deploy}/WEB-INF/CustomPortal/portlets/${project.name}.${project.priority}"/>
+            </else>
+        </if>
+
+    	<!-- GISolve
+    	        <copy todir="${project.webapp}/WEB-INF/lib">
+    	-->
+    	<copy todir="${project.webapp}/WEB-INF/lib" flatten="true">
+            <fileset dir="${build.lib}">
+                <include name="${project.name}-services-impl.jar"/>
+            </fileset>
+            <fileset dir="lib">
+            	<!-- GISolve 
+            	<include name="*.jar"/>
+            	-->
+            	<include name="**/*.jar"/>
+            </fileset>
+        </copy>
+
+        <if>
+            <equals arg1="${project.shared}" arg2="false"/>
+            <then>
+                <copy todir="${project.webapp}/WEB-INF/lib" file="${build.lib}/${project.name}-services.jar"/>
+            </then>
+            <else>
+                <copy todir="${appserver.home}/shared/lib" file="${build.lib}/${project.name}-services.jar"/>
+            </else>
+        </if>
+
+        <antcall target="configure-database"/>
+    </target>
+
+    <target name="install" depends="deploy">
+        <antcall target="create-database"/>
+    </target>
+
+</project>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/addressing-1.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/addressing-1.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis-url.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis-url.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/bootstrap.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/bootstrap.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-axis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-axis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-jglobus.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-jglobus.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-tomcat.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-tomcat.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-url.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cog-url.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commonj.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commonj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-beanutils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-beanutils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-cli-2.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-cli-2.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-collections-3.0.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-collections-3.0.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-dbcp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-dbcp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-digester.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-digester.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-discovery.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-discovery.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-logging.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-logging.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-pool.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/commons-pool.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/concurrent.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/concurrent.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix-asn1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix-asn1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix32.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/cryptix32.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_unit_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_unit_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_utils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_cas_utils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_delegation_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_core.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_core.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_packets_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_usage_packets_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_throughput.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_throughput.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_unit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_test_unit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_usage.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_gram_service_java_usage.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_aggregator_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_index_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_index_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_trigger_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_mds_trigger_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rendezvous_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_service_java_usage.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_service_java_usage.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_rft_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_servicegroup_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_tools_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/globus_wsrf_tools_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-client.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-client.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-monitoring.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-monitoring.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-service.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-service.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-utils.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/gram-utils.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jaxrpc.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jaxrpc.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jce-jdk13-125.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jce-jdk13-125.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jgss.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/jgss.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/junit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/junit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/log4j-1.2.8.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/log4j-1.2.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-factory.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-factory.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-java.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-java.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-resources.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/naming-resources.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/opensaml.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/opensaml.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/pg73jdbc2.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/pg73jdbc2.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/puretls.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/puretls.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/resolver.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/resolver.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/saaj.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/saaj.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/webmds-0.1-dev.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/webmds-0.1-dev.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsdl4j.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsdl4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_common.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_common.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_registry_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_authzService_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_counter_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_samples_mgmt_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_core_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_index_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_trigger_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp_schema_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_mds_usefulrp_schema_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_provider_jce.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_provider_jce.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_interop_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit_stubs.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_test_unit_stubs.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_tools.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wsrf_tools.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wss4j.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/wss4j.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xalan.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xalan.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xercesImpl.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xercesImpl.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xml-apis.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xml-apis.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xmlsec.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/globus/xmlsec.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jcommon-0.9.3.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jcommon-0.9.3.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jfreechart-0.9.18.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/jfreechart/jfreechart-0.9.18.jar
___________________________________________________________________
Name: svn:executable
   + 
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-collections-3.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-collections-3.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-lang-2.1.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/commons-lang-2.1.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/oro-2.0.8.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/oro-2.0.8.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/velocity-1.5.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/velocity/velocity-1.5.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/viz/idwviz.jar
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/lib/viz/idwviz.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+package org.gisolve.demo;
+
+import org.gisolve.demo.app.*;
+import org.gisolve.demo.grid.data.*;
+import org.gisolve.demo.grid.job.*;
+import org.gisolve.demo.grid.security.*;
+import org.gisolve.demo.util.*;
+
+import java.io.*;
+import java.util.*;
+import org.ietf.jgss.GSSCredential;
+import org.globus.util.Util;
+
+public class TG07 {
+	/**
+	 * The SimpleGrid workflow process illustrated
+	 * @param args
+	 */
+	public static void main(String[] args) throws Exception {
+		String site = (args.length==0)?"NCSA":args[0];
+		TG07 test = new TG07();
+		String testhome = System.getenv("HOME")+"/SimpleGrid/test2";
+		String dataset = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/samples/sample";
+		System.out.println("-----------------------------------------------------");
+		System.out.println("SimpleGrid java application workflow for DMS analysis");
+		System.out.println("-----------------------------------------------------");
+		System.out.println("Anytime, press Ctrol+C to stop the workflow\n");
+		// 0. load our configuration
+		System.out.println("\nStep 0: load our configuration");
+		String configPath = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/simplegrid.properties";
+		org.gisolve.demo.util.Config myconfig= new org.gisolve.demo.util.Config(configPath);
+		System.out.println("Configuration is loaded from default config file "+configPath+". Please check:");
+		myconfig.print();
+
+		// 1. get a proxy
+		// 1.1 method 1: load a valid proxy file
+		System.out.println("\nStep 1: get a grid proxy");
+		System.out.println("myproxy server: "+myconfig.get("grid.myproxy.server")+":"+myconfig.get("grid.myproxy.port"));
+		System.out.println("username: "+myconfig.get("grid.myproxy.username"));
+		String password = Util.getPrivateInput("password: ");
+		SimpleCred mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), "", "", "");
+		mycred.logon(myconfig.get("grid.myproxy.username"), password);
+		GSSCredential proxy = mycred.get();
+		System.out.println(mycred.info());
+
+		// 2. transfer the sample dataset to one of the teragrid site
+		System.out.println("\nStep 2: transfer dataset to "+site);
+		System.out.println("dataset: " + dataset);
+		SimpleTransfer ft = new SimpleTransfer(proxy, myconfig.get("grid.gridftp."+site), 2811);
+		ft.local2remote(dataset, myconfig.get("grid.sites.dmsdir."+site)+"/datasets/sample2");
+
+		// 3. submit job : GT2 method
+		System.out.println("\nStep 3: submit job to "+site);
+		String rsl = SimpleRSL.getRSL_GT2(myconfig, site, 500, 20, "sample2", "result2");
+		System.out.println("RSL:\n"+rsl);
+		SimpleRunGT2 sr = new SimpleRunGT2(proxy);
+		String jobId = sr.execute(myconfig.get("grid.gram."+site), rsl);
+	    System.out.println("Job submitted. ID: " + jobId);
+	    String status;
+	    do {
+	          Thread.sleep(4000);
+	          status = sr.getStatus(jobId);
+	          System.out.println("Job Status: " + status);
+	    } while (!(status.equalsIgnoreCase("Error fetching status") || status.equalsIgnoreCase("DONE")));
+
+	    // 4. transfer results back
+	    System.out.println("\nStep 4: transfer result from "+site);
+	    String remotefile = myconfig.get("grid.sites.dmsdir."+site)+"/results/result2.20.dat";
+		System.out.println("result file: " + remotefile);
+	    ft.remote2local(remotefile, testhome+"/result2");
+
+		// 5. visualize results
+		String s1 = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat";
+		String s12 = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat";
+		String s2 = testhome+"/result2";
+		String s3 = "";
+		String s4 = testhome+"/result2.jpg";
+		IDWViz viz = new IDWViz(s1, s12, s2, s3, s4);
+		viz.loadBoundary();
+		viz.loadUSPolygon();
+		//viz.createSample(500, 500, 0, 10000, true, true);
+		viz.loadDataset();
+		viz.plot();
+	}
+
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07GT4.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07GT4.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/TG07GT4.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,86 @@
+package org.gisolve.demo;
+
+import org.gisolve.demo.app.*;
+import org.gisolve.demo.grid.data.*;
+import org.gisolve.demo.grid.job.*;
+import org.gisolve.demo.grid.security.*;
+import org.gisolve.demo.util.*;
+
+import java.io.*;
+import java.util.*;
+import org.ietf.jgss.GSSCredential;
+import org.globus.util.Util;
+
+public class TG07GT4 {
+	/**
+	 * The SimpleGrid workflow process illustrated
+	 * @param args
+	 */
+	public static void main(String[] args) throws Exception {
+		String site = (args.length==0)?"NCSA":args[0];
+		TG07GT4 test = new TG07GT4();
+		String testhome = System.getenv("HOME")+"/SimpleGrid/test2";
+		String dataset = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/samples/sample";
+		System.out.println("-----------------------------------------------------");
+		System.out.println("SimpleGrid java application workflow for DMS analysis");
+		System.out.println("-----------------------------------------------------");
+		System.out.println("Anytime, press Ctrol+C to stop the workflow\n");
+		// 0. load our configuration
+		System.out.println("\nStep 0: load our configuration");
+		String configPath = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/simplegrid.properties";
+		org.gisolve.demo.util.Config myconfig= new org.gisolve.demo.util.Config(configPath);
+		System.out.println("Configuration is loaded from default config file "+configPath+". Please check:");
+		myconfig.print();
+
+		// 1. get a proxy
+		// 1.1 method 1: load a valid proxy file
+		System.out.println("\nStep 1: get a grid proxy");
+		System.out.println("myproxy server: "+myconfig.get("grid.myproxy.server")+":"+myconfig.get("grid.myproxy.port"));
+		System.out.println("username: "+myconfig.get("grid.myproxy.username"));
+		String password = Util.getPrivateInput("password: ");
+		SimpleCred mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), "", "", "");
+		mycred.logon(myconfig.get("grid.myproxy.username"), password);
+		GSSCredential proxy = mycred.get();
+		System.out.println(mycred.info());
+
+		// 2. transfer the sample dataset to one of the teragrid site
+		System.out.println("\nStep 2: transfer dataset to "+site);
+		System.out.println("dataset: " + dataset);
+		SimpleTransfer ft = new SimpleTransfer(proxy, myconfig.get("grid.gridftp."+site), 2811);
+		ft.local2remote(dataset, myconfig.get("grid.sites.dmsdir."+site)+"/datasets/sample2");
+
+		// 3. submit job : GT4 method
+		System.out.println("\nStep 3: submit job to "+site);
+		String rsl = SimpleRSL.getRSL_GT4(myconfig, site, 500, 20, "sample2", "result2");
+		System.out.println("RSL:\n"+rsl);
+		SimpleRunGT4 sr = new SimpleRunGT4(proxy);
+		String jobId = sr.execute(myconfig.get("grid.wsgram."+site), rsl);
+	    System.out.println("Job submitted. ID: " + jobId);
+	    String status;
+	    do {
+	          Thread.sleep(4000);
+	          status = sr.getStatus(jobId);
+	          System.out.println("Job Status: " + status);
+	    } while (!(status.equalsIgnoreCase("Error fetching status") || status.equalsIgnoreCase("DONE")));
+
+	    // 4. transfer results back
+	    System.out.println("\nStep 4: transfer result from "+site);
+	    String remotefile = myconfig.get("grid.sites.dmsdir."+site)+"/results/result2.20.dat";
+		System.out.println("result file: " + remotefile);
+	    ft.remote2local(remotefile, testhome+"/result2");
+
+		// 5. visualize results
+		String s1 = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat";
+		String s12 = System.getenv("HOME")+"/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat";
+		String s2 = testhome+"/result2";
+		String s3 = "";
+		String s4 = testhome+"/result2.jpg";
+		IDWViz viz = new IDWViz(s1, s12, s2, s3, s4);
+		viz.loadBoundary();
+		viz.loadUSPolygon();
+		//viz.createSample(500, 500, 0, 10000, true, true);
+		viz.loadDataset();
+		viz.plot();
+	}
+
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/DmsjobBean.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/DmsjobBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/DmsjobBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+package org.gisolve.demo.beans;
+
+public class DmsjobBean {
+	String id;
+	int[] K;
+	int N;
+	String dataset;
+	String status;
+	String site; // index of this site
+	String jobhandle[];
+	String gtVersion;
+	
+	public DmsjobBean() {
+		id = null;
+		K = null;
+		N = 0;
+		dataset = "";
+		status = "New";
+		site = "";
+		jobhandle = null;
+		gtVersion = "GT2";
+	}
+	public DmsjobBean(String pid) {
+		id = pid;
+		K = null;
+		N = 0;
+		dataset = "";
+		status = "New";
+		site = "";
+		jobhandle = null;
+		gtVersion = "GT2";
+	}
+	public void setId(String pid) {
+		id = pid;
+	}
+	public String getId() {
+		return id;
+	}
+	public void setKList(int[] pk) {
+		K = pk;
+		jobhandle = new String[pk.length];
+	}
+	public int[] getKList() {
+		return K;
+	}
+	public int getK(int i) {
+		return K[i];
+	}
+	public int getKnum() {
+		return K.length;
+	}
+	public void setN(int pn) {
+		N = pn;
+	}
+	public int getN() {
+		return N;
+	}
+	public void setDataset(String s) {
+		dataset = s;
+	}
+	public String getDataset() {
+		return dataset;
+	}
+	public void setSite(String s) {
+		site = s;
+	}
+	public String getSite() {
+		return site;
+	}
+	public void setStatus(String s) {
+		status = s;
+	}
+	public String getStatus() {
+		return status;
+	}	
+	public void setHandleList(String[] s) {
+		jobhandle = s;
+	}
+	public void setHandle(int i, String s) {
+		jobhandle[i] = s;
+	}
+	public String[] getHandleList() {
+		return jobhandle;
+	}
+	public String getHandle(int i) {
+		return jobhandle[i];
+	}
+	public void setGtVersion(String s) {
+		gtVersion = s;
+	}
+	public String getGtVersion() {
+		return gtVersion;
+	}	
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/UserBean.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/UserBean.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/beans/UserBean.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,54 @@
+package org.gisolve.demo.beans;
+
+import java.util.Date;
+import java.text.DateFormat;
+
+public class UserBean {
+	String firstName;
+	String lastName;
+	String emailAddress;
+	String organization;
+	int numLogins;
+	String lastLoginTime;
+	
+	public UserBean() {
+		
+	}
+	
+	public String getFirstName() {
+		return this.firstName;
+	}
+	public void setFirstName(String s) {
+		this.firstName = s;
+	}	
+	public String getLastName() {
+		return this.lastName;
+	}
+	public void setLastName(String s) {
+		this.lastName = s;
+	}
+	public String getEmailAddress() {
+		return this.emailAddress;
+	}
+	public void setEmailAddress(String s) {
+		this.emailAddress = s;
+	}
+	public String getOrganization() {
+		return this.organization;
+	}
+	public void setOrganization(String s) {
+		this.organization = s;
+	}
+	public String getLastLoginTime() {
+		return this.lastLoginTime;
+	}
+	public void setLastLoginTime(String s) {
+		this.lastLoginTime = s;
+	}
+	public int getNumLogins() {
+		return this.numLogins;
+	}
+	public void setNumLogins(int i) {
+		this.numLogins = i;
+	}
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransfer.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransfer.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransfer.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,132 @@
+package org.gisolve.demo.grid.data;
+
+//ftp
+import org.globus.ftp.GridFTPClient;
+import org.globus.ftp.DataChannelAuthentication;
+import org.globus.ftp.GridFTPSession;
+import org.globus.ftp.HostPort;
+import org.globus.ftp.HostPortList;
+import org.globus.ftp.exception.*;
+// security
+import org.ietf.jgss.GSSCredential;
+import org.ietf.jgss.GSSException;
+import org.gisolve.demo.grid.security.*;
+
+import java.io.*;
+
+/**
+ * A simple gridftp utility class
+ * @author liuyan
+ *
+ */
+public class SimpleTransfer {
+        String host1;
+        String host2;
+        int port1;
+        int port2;
+        GSSCredential proxy;
+        /**
+         * Constructor for 3rd party transfer
+         * @param proxyp a valid proxy
+         * @param s source host
+         * @param sport source port
+         * @param d dest host
+         * @param dport dest port
+         */
+        public SimpleTransfer(GSSCredential proxyp, String s, int sport, String d, int dport) {
+                host1 = s;
+                port1 = sport;
+                host2 = d;
+                port2 = dport;
+                proxy = proxyp;
+        }
+        /**
+         * Constructor for local-remote transfer
+         * @param proxyp a valid proxy
+         * @param d remote host
+         * @param dport remote port
+         */
+        public SimpleTransfer(GSSCredential proxyp, String d, int dport) {
+                host1 = "localhost";
+                host2 = d;
+                port2 = dport;
+                proxy = proxyp;
+        }
+        /**
+         * Transfer a remote file to local
+         * @param remote remote file as source
+         * @param local local file as destination
+         * @throws GSSException
+         * @throws ServerException
+         * @throws IOException
+         * @throws ClientException
+         */
+        public void remote2local(String remote, String local) throws GSSException, ServerException, IOException, ClientException {
+        	if (proxy.getRemainingLifetime() < SimpleCred.DEFAULT_MIN) {
+                throw new GSSException(GSSException.CREDENTIALS_EXPIRED);
+        	}
+
+	        GridFTPClient host = new GridFTPClient(host2, port2);
+	
+	        host.authenticate(proxy);
+	
+	        //set up the parameter of the client part
+	        //host.setProtectionBufferSize(16384);    //unit
+	        //host.setDataChannelAuthentication(DataChannelAuthentication.SELF);
+	        //host.setDataChannelProtection(GridFTPSession.PROTECTION_SAFE);
+	        host.setPassive();
+	        host.setLocalActive();
+	        //get local file from remote file
+	        File localF = new File(local);
+	        host.get(remote, localF);
+        }
+        /**
+         * Transfer a local file to remote
+         * @param local local file as source
+         * @param remote remote file as destination
+         * @throws GSSException
+         * @throws ServerException
+         * @throws IOException
+         * @throws ClientException
+         */
+        public void local2remote(String local, String remote) throws GSSException, ServerException, IOException, ClientException {
+        	if (proxy.getRemainingLifetime() < SimpleCred.DEFAULT_MIN) {
+        		throw new GSSException(GSSException.CREDENTIALS_EXPIRED);
+        	}
+	        GridFTPClient host = new GridFTPClient(host2, port2);
+	
+	        host.authenticate(proxy);
+	
+	        //set up the parameter of the client part
+	        //host.setProtectionBufferSize(16384);    //unit 
+	        //host.setDataChannelAuthentication(DataChannelAuthentication.SELF);
+	        //host.setDataChannelProtection(GridFTPSession.PROTECTION_SAFE);
+	
+	        //put local file to remote file, don't append
+	        File localF = new File(local);
+	        host.put(localF, remote, false);
+	    }
+
+        public static void main(String[] args) throws Exception {
+        	org.gisolve.demo.util.Config myconfig=null;
+    		SimpleCred mycred=null;
+    		GSSCredential proxy = null;
+    		try {
+    			//String password = Util.getPrivateInput("Input password for user " + args[0]);
+    			myconfig = new org.gisolve.demo.util.Config();
+    			mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), myconfig.get("grid.myproxy.username"), "", myconfig.get("grid.myproxy.proxyfile"));
+    			// assume proxy file specified is valid
+    			proxy = mycred.get();
+    			System.out.println(mycred.info());
+    		} catch (Exception e) {
+    			e.printStackTrace();
+    		}
+            SimpleTransfer ft = new SimpleTransfer(proxy, "tg-gridftp.uc.teragrid.org", 2811);
+              
+            ft.local2remote("/home/liuyan/gridsphere/myproxy/sample", "/home/gisolve/sample.uc");
+            ft.remote2local("/home/gisolve/sample.uc", "/home/liuyan/gridsphere/myproxy/sample.loopback");
+            ft.local2remote("/home/liuyan/gridsphere/myproxy/sample2", "/home/gisolve/sample.uc2");
+            ft.remote2local("/home/gisolve/sample.uc2", "/home/liuyan/gridsphere/myproxy/sample.loopback2");
+           
+        }
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransferThread.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransferThread.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/data/SimpleTransferThread.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+package org.gisolve.demo.grid.data;
+
+import org.gisolve.demo.grid.data.SimpleTransfer;
+import org.ietf.jgss.GSSCredential;
+
+public class SimpleTransferThread extends Thread {
+	public static final int LOCALTOREMOTE = 0;
+	public static final int REMOTETOLOCAL = 1;
+	String local[]; 
+	String remote[];
+	String status, ownerid; // id is used to identify the owner of this thread
+	int mode;
+	SimpleTransfer myxfer;
+	public SimpleTransferThread(int mmode, GSSCredential pproxy, String remoteHost, String localFile[], String remoteFile[], String jid) {
+		status = "";
+		mode = mmode;
+		remote = remoteFile;
+		local = localFile;
+		myxfer = new SimpleTransfer(pproxy, remoteHost, 2811);
+		ownerid = jid;
+	}
+	public String getStatus() {
+		return status;
+	}
+	public String getOwnerId() {
+		return ownerid;
+	}
+	public void run() {
+		try {
+			for (int i=0; i<local.length; i++) {
+		
+				if (mode == SimpleTransferThread.LOCALTOREMOTE) {
+					myxfer.local2remote(local[i], remote[i]);
+				} else {
+					myxfer.remote2local(remote[i], local[i]);
+				}
+			}
+			status = "SUCCESS";
+		} catch (Exception e) {
+			// just stop
+			status = "error: "+e.toString();
+			e.printStackTrace();
+		}
+	}
+}
\ No newline at end of file

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRSL.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRSL.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRSL.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,75 @@
+package org.gisolve.demo.grid.job;
+
+import org.gisolve.demo.util.Config;
+import java.io.File;
+
+/**
+ * A simple globus RSL composer for the tutorial application
+ * @author liuyan
+ *
+ */
+public class SimpleRSL {
+	public static String getRSL_GT2(Config myconfig, String site, int resolution, int k, String dataset, String jobid) {
+		String project = myconfig.get("grid.projectname");
+		String appdir = myconfig.get("grid.sites.dmsdir."+site);
+		
+		// GT2 rsl doesn't need to include resource manager element
+		//return "& (resourceManagerContact=\"tg-login1.sdsc.teragrid.org:2120/jobmanager-pbs\")" + "\n"
+        return "&  (jobType=single)" + "\n"
+        + "        (count=1)" + "\n"
+        + "        (host_count=\"1"+(site.equals("UC")?":ia64-compute":"")+"\")" + "\n"
+        + (project==null?"":"        (project=\""+project+"\")" + "\n")
+        + "        (executable=\""+appdir+"/release/process.pl"+"\")" + "\n"
+        + "        (arguments=\""+resolution+"\" \""+resolution+"\" \""+k+"\" \""
+        			+appdir+"/datasets/"+dataset+"\" \""
+        			+appdir+"/results/"+jobid+"."+k+".dat\""+")" + "\n"
+        + "        (directory=\""+appdir+"/release"+"\")" + "\n"
+        + "        (stdout=\""+appdir+"/results/stdout."+jobid+"."+k+"\")" + "\n"
+        + "        (stderr=\""+appdir+"/results/stderr."+jobid+"."+k+"\")" + "\n"
+        + "" + "\n";
+	}
+	public static String getRSL_GT4(Config myconfig, String site, int resolution, int k, String dataset, String output) {
+		return SimpleRSL.getRSL_GT4(true, myconfig, site, resolution, k, dataset, output);
+	}
+	public static String getRSL_GT4(boolean header, Config myconfig, String site, int resolution, int k, String dataset, String jobid) {
+		String project = myconfig.get("grid.projectname");
+		String appdir = myconfig.get("grid.sites.dmsdir."+site);
+		String remoteurl = myconfig.get("grid.wsgram."+site);
+		String remotescheduler = myconfig.get("grid.wsgram.rm."+site);
+		return "<job>" + "\n"
+		+	(header?(
+		  "    <factoryEndpoint" + "\n"
+        + "          xmlns:gram=\"http://www.globus.org/namespaces/2004/10/gram/job\"" + "\n"
+        + "          xmlns:wsa=\"http://schemas.xmlsoap.org/ws/2004/03/addressing\">" + "\n"
+        + "        <wsa:Address>"+remoteurl+"</wsa:Address>" + "\n"
+        + "        <wsa:ReferenceProperties>" + "\n"
+        + "            <gram:ResourceID>"+remotescheduler+"</gram:ResourceID>" + "\n"
+        + "        </wsa:ReferenceProperties>" + "\n"
+        + "    </factoryEndpoint>" + "\n"
+        	):"")
+/* optional        	
+        + "    <jobType>single</jobType>" + "\n"
+        + "    <count>1</count>" + "\n"
+        + "    <hostCount>1</hostCount>" + "\n"
+*/
+        + (project==null?"":"    <project>"+project+"</project>" + "\n")
+        + "    <executable>"+appdir+"/release/process.pl"+"</executable>" + "\n"
+        + "    <directory>"+appdir+"/release"+"</directory>" + "\n"
+        + "    <argument>"+resolution+"</argument>" + "\n"
+        + "    <argument>"+resolution+"</argument>" + "\n"
+        + "    <argument>"+k+"</argument>" + "\n"
+        + "    <argument>"+appdir+"/datasets/"+dataset+"</argument>" + "\n"
+        + "    <argument>"+appdir+"/results/"+jobid+"."+k+".dat</argument>" + "\n"
+        + "    <stdout>"+appdir+"/results/stdout."+jobid+"."+k+"</stdout>" + "\n"
+        + "    <stderr>"+appdir+"/results/stderr."+jobid+"."+k+"</stderr>" + "\n"
+        + "</job>" + "\n";
+	}
+	public static void main(String[] args) throws Exception {
+		org.gisolve.demo.util.Config myconfig=new org.gisolve.demo.util.Config();
+		SimpleRSL myrsl = new SimpleRSL();
+		String rsl = myrsl.getRSL_GT2(myconfig, "UC", 500, 20, "mydataset", "myoutput");
+		String rsl2 = myrsl.getRSL_GT2(myconfig, "SDSC", 500, 20, "mydataset", "myoutput");
+		String rsl3 = myrsl.getRSL_GT4(myconfig, "SDSC", 500, 20, "mydataset", "myoutput");
+	}
+
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT2.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT2.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT2.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,115 @@
+package org.gisolve.demo.grid.job;
+//Grid security
+import org.ietf.jgss.GSSException;
+import org.ietf.jgss.GSSCredential;
+
+import org.gridforum.jgss.ExtendedGSSManager;
+import org.gridforum.jgss.ExtendedGSSCredential;
+
+import org.globus.gsi.gssapi.GlobusGSSCredentialImpl;
+import org.globus.gsi.gssapi.GlobusGSSManagerImpl;
+import org.globus.gsi.gssapi.GlobusGSSException;
+import org.globus.gsi.GlobusCredential;
+import org.globus.gsi.GlobusCredentialException;
+
+// Gram
+import org.globus.gram.Gram;
+import org.globus.gram.GramJob;
+import org.globus.gram.GramException;
+
+import org.gisolve.demo.grid.security.*;
+
+import java.io.*;
+//import java.util.Properties;
+
+public class SimpleRunGT2 {
+	protected GSSCredential proxy;
+
+	public SimpleRunGT2(GSSCredential cred) {
+		proxy = cred;
+	}
+	// ping remote Gram server
+	private boolean ping(String contact) {
+		try {
+			Gram.ping(proxy, contact);
+		} catch(Exception e) {
+			System.err.println("Error - SimpleRunGT2::ping():");
+			e.printStackTrace();
+			return false;
+		}
+		return true;
+	}
+	// run job
+	// Note: Gram.request doens't recognize DUROC rsl, so single job is rsl required
+	public String execute(String contact, String rsl) {
+		GramJob job = null;
+		String id;
+		try {
+			if (proxy.getRemainingLifetime() < SimpleCred.DEFAULT_MIN)
+				return null;
+			// ping remote Gram server
+			boolean b = ping(contact);
+			if (!b) return null;
+			// submit job
+			job = new GramJob(proxy, rsl);
+			//System.out.println(test_pbs);
+			Gram.request(contact, job, true);
+			id = job.getIDAsString();
+		} catch (GramException e) {
+			System.err.println("GramException - SimpleRunGT2::execute():\n"+e.toString());
+			return null;
+		} catch (GSSException e) {
+			System.err.println("GSSException - SimpleRunGT2::execute():\n"+e.toString());
+			return null;
+		}
+		System.out.println("globus-job-run: SUCCESS, ghandle: "+id);
+		return id;
+	}
+
+	// get job status
+	private GramJob probeJob(String jobId) {
+		GramJob job = null;
+		try {
+			job = new GramJob("probe rsl");
+			job.setCredentials(proxy);
+			job.setID(jobId);
+			Gram.jobStatus(job);
+		} catch (Exception e) {
+			return null;
+		}
+		return job;
+	}
+	public String getStatus(String jobId) {
+		GramJob rJob = this.probeJob(jobId);
+		// Note: if status is "Error fetching status", it means job is dequed,
+		//       either finished or failed
+		return (rJob==null)?"Error fetching status":GramJob.getStatusAsString(rJob.getStatus());
+	}
+
+	// test main
+  public static void main(String[] args) {
+    try {
+    	org.gisolve.demo.util.Config myconfig=new org.gisolve.demo.util.Config();
+    	String rsl = SimpleRSL.getRSL_GT2(myconfig, "UC", 500, 20, "mydataset", "myoutput");
+		SimpleCred mycred=null;
+		GSSCredential proxy = null;
+		myconfig = new org.gisolve.demo.util.Config();
+		mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), myconfig.get("grid.myproxy.username"), "", myconfig.get("grid.myproxy.proxyfile"));
+		// assume proxy file specified is valid
+		proxy = mycred.get();
+
+	  SimpleRunGT2 sr = new SimpleRunGT2(proxy);
+      String jobId = sr.execute(myconfig.get("grid.gram."+"UC"), rsl);
+      System.out.println("Job submitted. ID: " + jobId);
+      String status;
+      do {
+          Thread.sleep(4000);
+          status = sr.getStatus(jobId);
+          System.out.println("Job Status: " + status);
+      } while (!status.equalsIgnoreCase("Error fetching status"));
+    } catch (Exception e) {
+      e.printStackTrace();
+    }
+
+  }
+}
\ No newline at end of file

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT4.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT4.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/job/SimpleRunGT4.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,215 @@
+package org.gisolve.demo.grid.job;
+
+// Grid security
+import org.ietf.jgss.GSSException;
+import org.ietf.jgss.GSSCredential;
+
+import org.gisolve.demo.grid.security.*;
+/*
+// required by WS GRAM client
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.net.URL;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Vector;
+import java.security.cert.X509Certificate;
+import javax.xml.rpc.Stub;
+import javax.xml.soap.SOAPElement;
+import org.apache.axis.components.uuid.UUIDGenFactory;
+import org.apache.axis.message.addressing.AttributedURI;
+import org.apache.axis.message.addressing.EndpointReferenceType;
+import org.globus.delegation.DelegationUtil;
+import org.globus.exec.generated.CreateManagedJobInputType;
+import org.globus.exec.generated.CreateManagedJobOutputType;
+import org.globus.exec.generated.JobDescriptionType;
+import org.globus.exec.generated.ManagedJobFactoryPortType;
+import org.globus.exec.generated.ManagedJobPortType;
+import org.globus.exec.generated.ReleaseInputType;
+import org.globus.exec.utils.ManagedJobConstants;
+import org.globus.exec.utils.ManagedJobFactoryConstants;
+import org.globus.exec.utils.client.ManagedJobClientHelper;
+import org.globus.exec.utils.client.ManagedJobFactoryClientHelper;
+import org.globus.exec.utils.rsl.RSLHelper;
+import org.globus.wsrf.NotificationConsumerManager;
+import org.globus.wsrf.WSNConstants;
+import org.globus.wsrf.encoding.ObjectDeserializer;
+import org.globus.wsrf.impl.security.authentication.Constants;
+import org.globus.wsrf.impl.security.authorization.Authorization;
+import org.globus.wsrf.impl.security.authorization.HostAuthorization;
+import org.globus.wsrf.impl.security.authorization.IdentityAuthorization;
+import org.globus.wsrf.impl.security.authorization.SelfAuthorization;
+import org.globus.wsrf.impl.security.descriptor.ClientSecurityDescriptor;
+import org.globus.wsrf.impl.security.descriptor.GSISecureMsgAuthMethod;
+import org.globus.wsrf.impl.security.descriptor.GSITransportAuthMethod;
+import org.globus.wsrf.impl.security.descriptor.ResourceSecurityDescriptor;
+
+import org.oasis.wsn.Subscribe;
+import org.oasis.wsn.SubscribeResponse;
+import org.oasis.wsn.SubscriptionManager;
+import org.oasis.wsn.TopicExpressionType;
+import org.oasis.wsn.WSBaseNotificationServiceAddressingLocator;
+import org.oasis.wsrf.lifetime.Destroy;
+import org.oasis.wsrf.properties.GetMultipleResourceProperties_Element;
+import org.oasis.wsrf.properties.GetMultipleResourcePropertiesResponse;
+import org.oasis.wsrf.properties.GetResourcePropertyResponse;
+*/
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.URL;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Vector;
+import java.security.cert.X509Certificate;
+import javax.xml.rpc.Stub;
+import javax.xml.soap.SOAPElement;
+import org.apache.axis.components.uuid.UUIDGenFactory;
+import org.apache.axis.message.addressing.AttributedURI;
+import org.apache.axis.message.addressing.EndpointReferenceType;
+import org.globus.delegation.DelegationUtil;
+import org.globus.exec.generated.CreateManagedJobInputType;
+import org.globus.exec.generated.CreateManagedJobOutputType;
+import org.globus.exec.generated.JobDescriptionType;
+import org.globus.exec.generated.ManagedJobFactoryPortType;
+import org.globus.exec.generated.ManagedJobPortType;
+import org.globus.exec.generated.ReleaseInputType;
+import org.globus.exec.utils.ManagedJobConstants;
+import org.globus.exec.utils.ManagedJobFactoryConstants;
+import org.globus.exec.utils.client.ManagedJobClientHelper;
+import org.globus.exec.utils.client.ManagedJobFactoryClientHelper;
+import org.globus.exec.utils.rsl.RSLHelper;
+import org.globus.wsrf.NotificationConsumerManager;
+import org.globus.wsrf.WSNConstants;
+import org.globus.wsrf.encoding.ObjectDeserializer;
+import org.globus.wsrf.impl.security.authentication.Constants;
+import org.globus.wsrf.impl.security.authorization.Authorization;
+import org.globus.wsrf.impl.security.authorization.HostAuthorization;
+import org.globus.wsrf.impl.security.authorization.IdentityAuthorization;
+import org.globus.wsrf.impl.security.authorization.SelfAuthorization;
+import org.globus.wsrf.impl.security.descriptor.ClientSecurityDescriptor;
+import org.globus.wsrf.impl.security.descriptor.GSISecureMsgAuthMethod;
+import org.globus.wsrf.impl.security.descriptor.GSITransportAuthMethod;
+import org.globus.wsrf.impl.security.descriptor.ResourceSecurityDescriptor;
+import org.gridforum.jgss.ExtendedGSSManager;
+import org.oasis.wsn.Subscribe;
+import org.oasis.wsn.SubscribeResponse;
+import org.oasis.wsn.SubscriptionManager;
+import org.oasis.wsn.TopicExpressionType;
+import org.oasis.wsn.WSBaseNotificationServiceAddressingLocator;
+import org.oasis.wsrf.lifetime.Destroy;
+import org.oasis.wsrf.properties.GetMultipleResourceProperties_Element;
+import org.oasis.wsrf.properties.GetMultipleResourcePropertiesResponse;
+import org.oasis.wsrf.properties.GetResourcePropertyResponse;
+
+public class SimpleRunGT4 {
+	protected GSSCredential proxy;
+
+	public SimpleRunGT4(GSSCredential cred) {
+		proxy = cred;
+	}
+	// run single job
+	// TODO: support multijob submission --> support job delegation
+	// argument "contact" non-use, just comply with SimpleRun interface
+	public String execute(String contact, String rsl) {
+		org.globus.exec.client.GramJob job = null;
+		try {
+			//JobDescriptionType jobDescription = RSLHelper.readRSL(rsl);
+			//System.err.println("Job's endpoint: "+jobDescription.getFactoryEndpoint().toString());
+			if (proxy.getRemainingLifetime() < SimpleCred.DEFAULT_MIN)
+				throw new Exception("proxy doesn't have enough lifetime to submit job");
+            //System.out.println("remaining time: "+cred.getRemainingLifetime());
+			job = new org.globus.exec.client.GramJob(rsl);
+			job.setCredentials(proxy);
+			// Since Endpoint has been specified in RSL, we don't care the 1st argument here
+			job.submit(null, true); // batch mode
+			System.out.println("Job submitted. RSL:\n"+rsl);
+			if (job.isRequested()) {
+				return job.getHandle();
+			} else {
+				throw new Exception("job submission failed");
+			}
+		} catch (Exception e) {
+            System.err.println(" General exception - SimpleRunGT4::execute():\n"+e.toString());
+            System.err.println(rsl);
+            e.printStackTrace();
+            return null;
+        }
+	}
+	public String execute2(String contact, String rsl) {
+		org.globus.exec.client.GramJob job = null;
+		try {
+			//JobDescriptionType jobDescription = RSLHelper.readRSL(rsl);
+			//System.err.println("Job's endpoint: "+jobDescription.getFactoryEndpoint().toString());
+			URL factoryUrl = ManagedJobFactoryClientHelper.getServiceURL(
+				    contact).getURL();
+			String factoryType
+				    = ManagedJobFactoryConstants.FACTORY_TYPE.PBS;
+			EndpointReferenceType factoryEndpoint
+				    = ManagedJobFactoryClientHelper.getFactoryEndpoint(factoryUrl, factoryType);
+			ManagedJobFactoryPortType factoryPort
+				    = ManagedJobFactoryClientHelper.getPort(factoryEndpoint);
+			
+			
+			if (proxy.getRemainingLifetime() < SimpleCred.DEFAULT_MIN)
+				return null;
+            //System.out.println("remaining time: "+cred.getRemainingLifetime());
+			job = new org.globus.exec.client.GramJob(rsl);
+			job.setCredentials(proxy);
+			// Since Endpoint has been specified in RSL, we don't care the 1st argument here
+			job.submit(factoryEndpoint, true); // batch mode
+
+			if (job.isRequested()) {
+				return job.getHandle();
+			} else {
+				return null; 
+			}
+		} catch (Exception e) {
+            System.err.println(" General exception - SimpleRunGT4::execute():\n"+e.toString());
+            System.err.println(rsl);
+            e.printStackTrace();
+            return null;
+        }
+	}
+    public String getStatus(String handle) {
+     	org.globus.exec.client.GramJob job = null;
+        try {
+            job = new org.globus.exec.client.GramJob("<job><executable>probeJob</executable></job>");
+            job.setCredentials(proxy);
+            job.setHandle(handle);
+            job.refreshStatus();
+            return job.getState().getValue();
+        } catch (Exception e) {
+            return null;
+        }
+    }
+	// test main
+    public static void main(String[] args) {
+      try {
+      	org.gisolve.demo.util.Config myconfig=new org.gisolve.demo.util.Config();
+      	String rsl = SimpleRSL.getRSL_GT4(myconfig, "UC", 500, 20, "mydataset", "myoutput");
+  		SimpleCred mycred=null;
+  		GSSCredential proxy = null;
+  		myconfig = new org.gisolve.demo.util.Config();
+  		mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), myconfig.get("grid.myproxy.username"), "", myconfig.get("grid.myproxy.proxyfile"));
+  		// assume proxy file specified is valid
+  		proxy = mycred.get();
+
+  	  SimpleRunGT4 sr = new SimpleRunGT4(proxy);
+        String jobId = sr.execute2(myconfig.get("grid.wsgram."+"UC"), rsl);
+        System.out.println("Job submitted. ID: " + jobId);
+        String status;
+        do {
+            Thread.sleep(4000);
+            status = sr.getStatus(jobId);
+            System.out.println("Job Status: " + status);
+        } while (!status.equalsIgnoreCase("Error fetching status") && status.equalsIgnoreCase("Done"));
+      } catch (Exception e) {
+        e.printStackTrace();
+      }
+
+    }
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security/SimpleCred.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security/SimpleCred.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/grid/security/SimpleCred.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,305 @@
+package org.gisolve.demo.grid.security;
+
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileInputStream;
+import java.io.OutputStream;
+import java.io.IOException;
+import java.security.PrivateKey;
+import java.security.GeneralSecurityException;
+import java.security.cert.X509Certificate;
+
+import org.globus.gsi.CertUtil;
+import org.globus.gsi.GSIConstants;
+import org.globus.gsi.GlobusCredential;
+import org.globus.gsi.GlobusCredentialException;
+import org.globus.gsi.OpenSSLKey;
+import org.globus.gsi.bc.BouncyCastleOpenSSLKey;
+import org.globus.gsi.bc.BouncyCastleCertProcessingFactory;
+import org.globus.gsi.gssapi.auth.IdentityAuthorization;
+import org.globus.gsi.gssapi.GlobusGSSCredentialImpl;
+import org.globus.util.Util;
+import org.globus.common.CoGProperties;
+import org.globus.common.Version;
+import org.globus.myproxy.CredentialInfo;
+import org.globus.myproxy.ChangePasswordParams;
+import org.globus.myproxy.DestroyParams;
+import org.globus.myproxy.InitParams;
+import org.globus.myproxy.GetParams;
+import org.globus.myproxy.InfoParams;
+import org.globus.myproxy.StoreParams;
+import org.globus.myproxy.MyProxyException;
+
+import org.gridforum.jgss.ExtendedGSSManager;
+import org.gridforum.jgss.ExtendedGSSCredential;
+
+import org.ietf.jgss.GSSCredential;
+import org.ietf.jgss.GSSManager;
+import org.ietf.jgss.GSSException;
+
+/**
+ * A simple grid proxy credential manager
+ * - Use anonymous init
+ * - return proxy
+ * - automatic renewal at new request (not for existing jobs)
+ * @author liuyan
+ *
+ */
+public class SimpleCred {
+	public static final int DEFAULT_LIFETIME = 12 * 3600;
+	public static final int DEFAULT_MIN = 3 * 3600;
+	String proxy_file; // this is a valid proxy file that exists already
+	String host;
+	int port;
+	int requested_lifetime;
+	String username;
+	String password;
+	GSSCredential proxy;
+	org.globus.myproxy.MyProxy myproxy;
+
+	/**
+	 * Constructor
+	 * @param server
+	 * @param p
+	 * @param user
+	 * @param passwd
+	 * @param fname
+	 * @throws Exception
+	 */
+	public SimpleCred(String server, int p, String user, String passwd, String fname) throws Exception {
+		host = server;
+		port = p;
+		proxy = null;
+		myproxy = null; 
+		username = user;
+		password = passwd;
+		proxy_file = fname;
+		requested_lifetime = SimpleCred.DEFAULT_LIFETIME;
+	}
+	/**
+	 * Load proxy from a valid proxy file
+	 * @param proxyFile
+	 */
+	public void load(String certFile) {
+		proxy = null;
+		try{
+			// not recommended by cog manual. listed here for illustration purpose
+			//GlobusCredential cred = new GlobusCredential(proxyFile);	        
+        	//GSSCredential gssCred = new GlobusGSSCredentialImpl(cred, GSSCredential.INITIATE_AND_ACCEPT);
+			//proxy = gssCred;
+        //} catch (GlobusCredentialException e1){
+       	// 	e1.printStackTrace();
+			File proxyFile = new File(certFile);
+			byte [] credData = new byte[(int)proxyFile.length()];
+			FileInputStream in = new FileInputStream(proxyFile);
+			in.read(credData);
+			in.close();
+			// create credential by loading from proxy file
+			ExtendedGSSManager manager = (ExtendedGSSManager)ExtendedGSSManager.getInstance();
+			proxy = manager.createCredential(credData,
+	  		                         ExtendedGSSCredential.IMPEXP_OPAQUE,
+	                                 GSSCredential.DEFAULT_LIFETIME,
+	                                 null, // use default mechanism - GSI
+	                                 GSSCredential.INITIATE_AND_ACCEPT);
+        } catch (GSSException e2) {
+        	e2.printStackTrace();           
+        } catch (IOException ioe) {
+        	ioe.printStackTrace();
+        }
+        if (!this.isValid())
+        	proxy = null;
+	}
+	/**
+	 * MyProxy logon with default lifetime request
+	 * @param user
+	 * @param passwd
+	 * @throws GSSException
+	 */
+	public void logon(String user, String passwd) throws GSSException {
+		this.logon(user, passwd, this.requested_lifetime);
+	}
+	/**
+	 * MyProxy logon
+	 * @param user user name on myproxy server
+	 * @param passwd password
+	 * @param lthours lifetime to request in seconds
+	 * @throws GSSException
+	 */
+	public void logon(String user, String passwd, int ltseconds) throws GSSException {
+		CertUtil.init();
+		username = user;
+		password = passwd;
+		requested_lifetime = ltseconds;
+		GetParams getRequest = new GetParams();
+		getRequest.setUserName(user);
+		getRequest.setPassphrase(passwd);
+		getRequest.setCredentialName(null); // anonymous logon
+		getRequest.setLifetime(requested_lifetime);
+		    
+		try {
+			if (myproxy == null) {
+				myproxy = new org.globus.myproxy.MyProxy(this.host, this.port);
+			}
+		    proxy = myproxy.get(null, getRequest);
+		    if (!this.isValid()) 
+		    	proxy = null;
+			System.out.println(this.info());
+		} catch(MyProxyException e) {
+		    proxy = null;
+		    e.printStackTrace();
+		}
+	}
+	/**
+	 * Save proxy into a proxy file
+	 * @param proxy_location
+	 * @return success or failure
+	 */
+	public boolean export(String proxy_location) {
+		try {
+			if (proxy_location != null) {
+			    // create a file
+			    File f = new File(proxy_location);
+			    if (!f.exists() || f.canWrite()) {
+				    OutputStream out = new FileOutputStream(proxy_location);
+					// set read only permissions
+					Util.setOwnerAccessOnly(proxy_location);
+					// write the contents
+					byte [] data = ((ExtendedGSSCredential)proxy).export(ExtendedGSSCredential.IMPEXP_OPAQUE);
+					out.write(data);
+				    out.close();
+			    }
+			}
+			return true;
+		} catch (IOException ioe) {
+			ioe.printStackTrace();
+			return false;
+		} catch(GSSException e) {
+		    e.printStackTrace();
+		    return false;
+		}
+	}
+	/**
+	 * Get a proxy
+	 * Load proxy file first; if not avail, use myproxy logon
+	 * @return a valid grid proxy or null
+	 */
+	public GSSCredential get() {
+		return this.get(false);
+	}
+	public GSSCredential get(boolean forceRetrieve) {
+		// destry current credential first
+		if (forceRetrieve && proxy != null) {
+			try {
+				proxy.dispose();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+			proxy = null;
+		}
+		if (this.isValid())
+			return proxy;
+		try {
+			this.load(proxy_file);
+			if (proxy != null)
+				return proxy;
+			this.logon(username, password);
+			if (proxy != null)
+				return proxy;
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	/**
+	 * Print grid proxy information
+	 * @return proxy information as a String
+	 */
+	public String info() {
+		if (!this.isValid())
+			return "";
+		String s = "";
+		s += "Subject: " + this.getDN() + "\n";
+		int t = this.getRemainingTime();
+		s += "Remaining lifetime: " + (t / 3600) + ":" + ((t % 3600) / 60) + ":" + (t % 60) + " ("+ t + " seconds)\n";
+		s += "MyProxy server: " + this.host + ":" + this.port + "\n";
+		s += "MyProxy user: " +this.username +"\n";
+		
+		return s;
+	}
+	/**
+	 * Get subject information of a proxy
+	 * @return Subject of the proxy as a String
+	 */
+	public String getDN() {
+		try {
+			return (this.isValid()?(proxy.getName().toString()):"");
+		} catch (GSSException e) {
+			return "";
+		}
+	}
+	/**
+	 * Test if current proxy is valid
+	 * @return true or false
+	 */
+	public boolean isValid() {
+		if (proxy == null) return false;
+		try {
+			// the min requirement for a globus job submission
+			return proxy.getRemainingLifetime() > SimpleCred.DEFAULT_MIN;
+		} catch (Exception e) {
+			return false;
+		}
+	}
+	/**
+	 * Get remaining time in seconds
+	 * @return
+	 */
+	public int getRemainingTime() {
+		if (proxy == null) return 0;
+		try {
+			return proxy.getRemainingLifetime();
+		} catch (GSSException e) {
+			return 0;
+		}
+	}
+	//TODO
+	public void destroy() {
+		
+	}
+
+	// bean set/get methods
+	public String getUsername() { return this.username; }
+	public String getPassword() { return this.password; }
+	public String getHost() { return this.host; }
+	public int getPort() { return this.port; }
+	public String getProxyFile() { return this.proxy_file; }
+	public void setUsername(String uname) { this.username = uname; }
+	public void setPassword(String pass) { this.password = pass; }
+	public void setHost(String h) { this.host = h; }
+	public void setPort(int p) { this.port = p; }
+	public void setProxyFile(String pf) { this.proxy_file = pf; }
+	public void setRemainingTime(int ltseconds) { this.requested_lifetime = ltseconds; }
+	
+	public static void main(String[] args) {
+		org.gisolve.demo.util.Config myconfig=null;
+		SimpleCred mycred=null;
+		try {
+			//String password = Util.getPrivateInput("Input password for user " + args[0]);
+			myconfig = new org.gisolve.demo.util.Config();
+			mycred = new SimpleCred(myconfig.get("grid.myproxy.server"), Integer.parseInt(myconfig.get("grid.myproxy.port")), myconfig.get("grid.myproxy.username"), "", myconfig.get("grid.myproxy.proxyfile"));
+		
+			GSSCredential proxy = mycred.get();
+			System.out.println(mycred.info());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		try {
+			mycred.logon("gisolve", ""); // feed correct password
+			System.out.println(mycred.info());
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+}
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/GISolveDMSPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,577 @@
+package org.gisolve.demo.portlets;
+
+//JSR-168
+import javax.portlet.*;
+
+// GridSphere
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.impl.SportletProperties;
+// velocity
+import org.apache.velocity.context.Context;
+//import org.apache.velocity.VelocityContext;
+import org.ogce.portlets.VelocityPortlet;
+
+import java.util.*;
+import java.io.*;
+import java.text.DateFormat;
+import org.ietf.jgss.GSSCredential;
+
+import org.gisolve.demo.beans.DmsjobBean;
+import org.gisolve.demo.util.Config;
+import org.gisolve.demo.util.SimpleGridConstants;
+import org.gisolve.demo.util.DMSPortletConfig;
+import org.gisolve.demo.grid.data.SimpleTransferThread;
+import org.gisolve.demo.grid.job.*;
+import org.gisolve.demo.grid.security.*;
+import org.gisolve.demo.app.IDWVizThread;
+
+public class GISolveDMSPortlet extends VelocityPortlet {
+    /* This method is called whenever porlet is loaded */
+    public void buildViewContext( RenderRequest req, RenderResponse res, Context aContext ) {
+    	try {
+        	this.fillTemplate(aContext, req, res, "");
+        	// debug
+    		this.getPortletContext().log("GISOLVE: dmsAction::buildViewContext() called");
+    	} catch (Exception e) {
+    		this.getPortletContext().log("GISOLVE: dmsAction::buildViewContext()\n" + e.toString());
+    	}
+    }
+	/* This method is called when user click "customizer" action */
+    public void buildEditContext( RenderRequest req, RenderResponse res, Context aContext ) {
+		buildViewContext(req, res, aContext);    	
+    }
+    /* This method is called when user click "help" action */
+    public void buildHelpContext( RenderRequest req, RenderResponse res, Context aContext ) {
+    	buildViewContext(req, res, aContext);    
+    }	
+    public void fillTemplate(Context aContext, PortletRequest req, PortletResponse res, String actionError) {
+		PortletSession mysession = req.getPortletSession(true);
+		User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+		String uid = user.getUserID();
+		String error = "";
+    	try {
+    		// get config info about grid security
+			Config myconfig = (Config)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, PortletSession.APPLICATION_SCOPE);
+			String mywebappname = myconfig.get("portal.webappname");
+			if (!isValidWebapp(mywebappname))
+				throw new PortletException("GISolveDMSPortlet.fillTemplate(): "+mywebappname+" is not a valid name. Check your config file first.");
+			//TODO: object persistence
+			ArrayList joblist = (ArrayList)mysession.getAttribute(SimpleGridConstants.dmsJobList + uid, PortletSession.APPLICATION_SCOPE);
+			// workflow 
+			String cursid = (String)mysession.getAttribute(SimpleGridConstants.dmsJobSid + uid, PortletSession.APPLICATION_SCOPE);
+			String curPage = (String)mysession.getAttribute(SimpleGridConstants.dmsPage + uid, PortletSession.APPLICATION_SCOPE);
+			if (curPage.equals("Viz")) {
+				DmsjobBean item = null;
+				int i;
+				int numviz = 0, numReady = 0;
+				for (i=0; i<joblist.size(); i++) {
+					item = (DmsjobBean)joblist.get(i);
+					if (item.getId().equals(cursid)) {
+						numviz = item.getKnum();
+						for (int v=0; v<numviz; v++) {
+							// this job exists, check if result is there
+							String rfile = this.getPortletContext().getRealPath("storage/"+uid+"/dms/images/" + cursid+"."+item.getK(v) + ".jpg");
+							File rF = new File(rfile);
+							if (rF.isFile()) 
+								numReady++;
+						}
+						if (numReady < numviz) {
+							error += "Visualization file not ready yet. Please wait for a while or click \"Next\" to refresh status\n";
+						}
+						break;
+					}
+				}
+				if (i<joblist.size() && numviz>0 && numReady==numviz) {
+					// set links
+					ArrayList<String> resultlink = new ArrayList<String>(numviz);
+					ArrayList<String> imagelink = new ArrayList<String>(numviz);
+					ArrayList<String> vizklist = new ArrayList<String>(numviz);
+					for (int v=0; v<numviz; v++) {
+						resultlink.add("/"+mywebappname+"/storage/"+uid+"/dms/results/" + cursid+"."+item.getK(v) + ".dat");
+						imagelink.add("/"+mywebappname+"/storage/"+uid+"/dms/images/" + cursid+"."+item.getK(v) + ".jpg");
+						vizklist.add(Integer.toString(item.getK(v)));
+					}
+					String rfile = this.getPortletContext().getRealPath("storage/"+uid+"/dms/results/" + cursid+"."+item.getK(0) + ".dat");
+					String str_zrange = this.getZRange(rfile);
+					String[] minmax = str_zrange.split(",");
+					int zmax=0, zmin=0;
+					if (minmax.length == 2) {
+						zmin=Integer.parseInt(minmax[0]);
+						zmax=Integer.parseInt(minmax[1]);
+					}
+					String legendlink = "/"+mywebappname+"/images/vizlegend.jpg";
+					aContext.put("gisolve_dms_viz_zmax", zmax);
+					aContext.put("gisolve_dms_viz_zmin", zmin);
+					aContext.put("gisolve_dms_viz_legendlink", legendlink);
+					aContext.put("gisolve_dms_viz_resultlink", resultlink);
+					aContext.put("gisolve_dms_viz_imagelink", imagelink);
+					aContext.put("gisolve_dms_viz_klist", vizklist);
+					aContext.put("gisolve_dms_viz_dataset", item.getDataset());
+					aContext.put("gisolve_dms_viz_jobid", item.getId());
+					
+					aContext.put(SimpleGridConstants.errorInfo, actionError + error);
+					setTemplate(req, "dms-1.vm");
+					return;
+				}
+			} 
+			aContext.put(SimpleGridConstants.dmsJobList, joblist);
+			aContext.put(SimpleGridConstants.dmsJobSid, cursid);
+			String statusinfo = (String)mysession.getAttribute("gisolve_dms_status_info" + uid, PortletSession.APPLICATION_SCOPE);
+			aContext.put("gisolve_dms_status_info", statusinfo);
+			ArrayList sites = this.getSiteList(myconfig);
+			aContext.put("gisolve_dms_site_list", sites);
+			String udir = this.getPortletContext().getRealPath("storage/"+uid+"/dms/datasets");
+			File userdmsDir = new File(udir);
+			if (!userdmsDir.isDirectory()) throw new PortletException(udir+": dms portlet: user dms dataset dir is not a directory.");
+			String[] flist = userdmsDir.list();
+			ArrayList<String> filelist = new ArrayList<String>(flist.length);
+			for (int i=0; i<flist.length; i++) {
+				filelist.add(flist[i]);
+			}
+			aContext.put("gisolve_dms_parm_datalist", filelist);
+			// render dataset view
+			String viewdataset = (String)mysession.getAttribute("gisolve_dms_viz_vieworig" + uid, PortletSession.APPLICATION_SCOPE);
+			if (viewdataset != null) {
+				aContext.put("gisolve_dms_viz_vieworig", viewdataset);
+				aContext.put("gisolve_dms_viz_datasetlink", "/"+mywebappname+"/storage/"+uid+"/dms/datasets/"+viewdataset);
+				aContext.put("gisolve_dms_viz_datasetimagelink", "/"+mywebappname+"/storage/"+uid+"/dms/images/"+viewdataset+".jpg");
+				mysession.setAttribute("gisolve_dms_viz_vieworig" + uid, null, PortletSession.APPLICATION_SCOPE); // reset
+			} else {
+				aContext.put("gisolve_dms_viz_vieworig", null);
+			}
+			setTemplate(req, "dms-0.vm");
+		} catch (Exception e) {
+			error += "User portlet::fillTemplate() error\n"+e.toString()+"\n";
+			setTemplate(req, "dms-0.vm");
+		}
+		// fille error info
+		aContext.put(SimpleGridConstants.errorInfo, actionError + error);
+	}
+    private boolean isValidWebapp(String mywebappname) {
+    	if (mywebappname == null)
+    		return false;
+    	return this.getPortletContext().getRealPath("thisshouldnotexist").indexOf(mywebappname+"/thisshouldnotexist") >= 0;
+    }
+    private ArrayList getSiteList(Config myconfig) {
+    	String str_sites = myconfig.get("grid.sites");
+		String[] sitelist = null;
+		if (str_sites != null) { 
+			sitelist = str_sites.split("\\s*,\\s*");
+			ArrayList<String> sitearray = new ArrayList<String>(sitelist.length);
+			for (int i=0; i<sitelist.length; i++)
+				sitearray.add(sitelist[i]);
+			return sitearray;
+		}
+		return null;
+    }
+    public void doDms_create( ActionRequest req, ActionResponse res, Context aContext ) throws Exception 
+    {
+        //clear error info
+    	String error = "";
+    	try {  		
+    		PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			String str_klist = req.getParameter("gisolve_dms_parm_k");
+			if (str_klist == null || str_klist.equals(""))
+				throw new Exception("Please specify K-value");
+			String[] klist = str_klist.split("\\s*,\\s*");
+			int[] int_klist = new int[klist.length];
+			long timestamp = Calendar.getInstance().getTimeInMillis();
+			if (klist.length>11 || klist.length<=0)
+				throw new Exception ("Too many K values or K-value is not set");
+			else {
+				for (int i=0; i<klist.length; i++) 
+					int_klist[i] = Integer.parseInt(klist[i]);
+			}
+			// create a dms job
+			ArrayList joblist = (ArrayList)mysession.getAttribute(SimpleGridConstants.dmsJobList + uid, PortletSession.APPLICATION_SCOPE);
+			String jid = uid +".job."+ timestamp;
+			DmsjobBean job = new DmsjobBean(jid);
+			job.setDataset(req.getParameter("gisolve_dms_parm_dataset"));
+			job.setN(Integer.parseInt(req.getParameter("gisolve_dms_parm_r")));
+			job.setKList(int_klist);
+			job.setSite(req.getParameter("gisolve_dms_parm_site"));
+			job.setStatus("gisolve:New");
+			//job.setGtVersion(req.getParameter("gisolve_dms_parm_globus"));
+			job.setGtVersion("GT2");
+			joblist.add(job);
+
+			mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+			mysession.setAttribute(SimpleGridConstants.dmsJobSid + uid, jid, PortletSession.APPLICATION_SCOPE);
+			mysession.setAttribute(SimpleGridConstants.dmsPage + uid, "Main", PortletSession.APPLICATION_SCOPE);
+			mysession.setAttribute("gisolve_dms_status_info" + uid, job.getDataset() + "(jobId="+job.getId()+"): Job is created. Clieck \"Next\" to transfer dataset to remote site", PortletSession.APPLICATION_SCOPE);
+    	}catch (Exception e) {
+			error += "GISolveDMSAction::doDms_create: error\n"+e.toString()+"\nBe sure to select required parameters\n";
+		}
+    	this.fillTemplate(aContext, req, res, error);
+    }
+    public void doDms_return ( ActionRequest req, ActionResponse res, Context aContext ) throws Exception 
+    {
+        //clear error info
+    	String error = "";
+    	try {  		
+    		PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			mysession.setAttribute(SimpleGridConstants.dmsPage + uid, "Main", PortletSession.APPLICATION_SCOPE);
+    	}catch (Exception e) {
+			error += "GISolveDMSAction::doDms_return: error\n"+e.toString()+"\n";
+		}
+    	this.fillTemplate(aContext, req, res, error);
+    }
+    public void doDms_view_dataset ( ActionRequest req, ActionResponse res, Context aContext ) throws Exception 
+    {
+        //clear error info
+    	String error = "";
+    	try {  		
+    		PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			String viewdataset = req.getParameter("gisolve_dms_parm_dataset");
+			if (viewdataset.equals(""))	viewdataset = null;
+			mysession.setAttribute("gisolve_dms_viz_vieworig" + uid, viewdataset, PortletSession.APPLICATION_SCOPE);
+    	}catch (Exception e) {
+			error += "GISolveDMSAction::doDms_view_dataset: error\n"+e.toString() + "\n";
+		}
+    	this.fillTemplate(aContext, req, res, error);
+    }
+    public void doDms_delete ( ActionRequest req, ActionResponse res, Context aContext ) throws PortletException {
+//    	clear error info
+    	String error = "";
+    	DmsjobBean job = null;
+    	try {  		
+    		PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			// get job id
+			String selectedjobid = req.getParameter("gisolve_dms_id");
+			if (selectedjobid != null) {
+				// find the job
+				ArrayList joblist = (ArrayList)mysession.getAttribute(SimpleGridConstants.dmsJobList + uid, PortletSession.APPLICATION_SCOPE);
+				
+				int i; int size = joblist.size();
+				for (i=0; i<size; i++) {
+					job = (DmsjobBean)joblist.get(i);
+					if (job.getId().equals(selectedjobid)) {
+						// this job exists, just delete it
+						String nextId = "";
+						if (size>1) {
+							nextId = ((DmsjobBean)joblist.get((i+1) % size)).getId();
+						}
+						mysession.setAttribute(SimpleGridConstants.dmsJobSid + uid, nextId, PortletSession.APPLICATION_SCOPE);
+						// delete
+						joblist.remove(i);
+						mysession.setAttribute("gisolve_dms_status_info" + uid, "", PortletSession.APPLICATION_SCOPE);
+						break;
+					}
+				}
+			}
+    	} catch (Exception e) {
+			error += "GISolveDMSAction::doDms_delete: error\n"+e.toString() + "\n";
+			if (job != null) job.setStatus("Error");
+			//req.getPortletSession().setAttribute("gisolve_dms_status_info", e.toString(), PortletSession.APPLICATION_SCOPE);
+		}
+    	this.fillTemplate(aContext, req, res, error);
+    }
+    public void doDms_submit ( ActionRequest req, ActionResponse res, Context aContext ) throws PortletException {
+        //clear error info
+    	String error = "";
+    	DmsjobBean job = null;
+    	try {  		
+    		PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			// get job id
+			String selectedjobid = req.getParameter("gisolve_dms_id");
+			if (selectedjobid != null) {
+				// find the job
+				ArrayList joblist = (ArrayList)mysession.getAttribute(SimpleGridConstants.dmsJobList + uid, PortletSession.APPLICATION_SCOPE);
+				
+				int i;
+				for (i=0; i<joblist.size(); i++) {
+					job = (DmsjobBean)joblist.get(i);
+					if (job.getId().equals(selectedjobid)) {
+						// this job exists, check if result is there
+						break;
+					}
+				}
+				if (i < joblist.size()) {
+					mysession.setAttribute(SimpleGridConstants.dmsJobSid + uid, job.getId(), PortletSession.APPLICATION_SCOPE);
+					String opstatus = "";
+					String sprefix = job.getDataset() + "(jobId="+job.getId()+"): ";
+					if (job.getStatus().equals("gisolve:New")) {
+						opstatus = this.goTransferDataset(mysession, uid, joblist, job);
+					} else if (job.getStatus().equals("gisolve:Dataset Transferred")) {
+						opstatus = goSubmit(mysession, uid, joblist, job);
+					} else if (job.getStatus().equals("gisolve:Job Submitted")) {
+						opstatus = goRefresh(mysession, uid, joblist, job);
+					} else if (job.getStatus().equals("gisolve:Job Done")) {
+						opstatus = goTransferResult(mysession, uid, joblist, job);
+					} else if (job.getStatus().equals("gisolve:Result Transferred")) { 
+						opstatus = goViz(mysession, uid, joblist, job);
+					} else if (job.getStatus().equals("gisolve:Image Created")) {
+						opstatus = goShowViz(mysession, uid, joblist, job);
+					}
+					mysession.setAttribute("gisolve_dms_status_info" + uid, sprefix+opstatus, PortletSession.APPLICATION_SCOPE);
+					//else throw new PortletException("Unknown job status for job " + selectedjobid + ": " +job.getStatus());
+				} else  throw new PortletException("Couldn't find this job: " + selectedjobid);
+			}
+    	}catch (Exception e) {
+			error += "GISolveDMSAction::doDms_submit: error\n"+e.toString() + "\n";
+			if (job != null) job.setStatus("Error");
+			//req.getPortletSession().setAttribute("gisolve_dms_status_info", e.toString(), PortletSession.APPLICATION_SCOPE);
+		}
+    	this.fillTemplate(aContext, req, res, error);
+    }
+    public String goTransferDataset(PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job) throws Exception {
+		// get selected site
+		String selectedsite = job.getSite();
+		Config myconfig = (Config)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, PortletSession.APPLICATION_SCOPE);
+		ArrayList sitelist = this.getSiteList(myconfig);
+		int j;
+		for (j=0; j<sitelist.size(); j++) {
+			if (sitelist.get(j).equals(selectedsite)) break;
+		}
+		if (j<sitelist.size()) {
+			SimpleTransferThread mytransfer = (SimpleTransferThread)mysession.getAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+			if (mytransfer == null) {
+				// transfer dataset to remote site
+				String[] srcdataset = new String[1];
+				String[] dstdataset = new String[1];
+				srcdataset[0] = this.getPortletContext().getRealPath("storage/"+uid+"/dms/datasets/" + job.getDataset());
+				dstdataset[0] =  myconfig.get("grid.sites.dmsdir."+selectedsite) +"/datasets/"+ job.getDataset();
+				String host = myconfig.get("grid.gridftp."+selectedsite);
+				SimpleCred mycred = (SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+				GSSCredential proxy = mycred.get();
+				if (proxy == null) {
+					return "Grid proxy could not be loaded. Please go to home portlet to get a valid proxy";
+				}
+				mytransfer = new SimpleTransferThread(SimpleTransferThread.LOCALTOREMOTE, proxy, host, srcdataset, dstdataset, job.getId());
+				mytransfer.start();
+				mysession.setAttribute("gisolve_dms_ft_thread" + uid, mytransfer, PortletSession.APPLICATION_SCOPE);
+				//job.setStatus("gisolve:Dataset Transferring");
+				mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+				return "Dataset is being transferred to remote site. Click \"Next\" to refresh the transfer status";
+			} else {
+				String curid = mytransfer.getOwnerId();
+				if (!curid.equals(job.getId())) {
+					return "Transfer thread is busy serving another your job:"+curid;
+				}
+				String mystatus = mytransfer.getStatus();
+				if (mystatus.equals("SUCCESS")) {
+					mysession.removeAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+					job.setStatus("gisolve:Dataset Transferred");
+					mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+					return "Dataset transferred. Click \"Next\" to submit the globus job. Note: click ONLY ONCE!";
+				} else if (mystatus.startsWith("error")) {
+					mysession.removeAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+					throw new PortletException("Error in dataset transfer for job " + job.getId()+": "+ mystatus);
+				}
+				return "Dataset is being transferred to remote site. Click \"Next\" to refresh the transfer status";
+			}
+		} else throw new PortletException("The site index is not on the list for job: " + job.getId());
+    }
+    public String goSubmit(PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job) throws Exception {
+		// get selected site
+		String selectedsite = job.getSite();
+		Config myconfig = (Config)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, PortletSession.APPLICATION_SCOPE);
+		ArrayList sitelist = this.getSiteList(myconfig);
+		int j;
+		for (j=0; j<sitelist.size(); j++) {
+			if (sitelist.get(j).equals(selectedsite)) break;
+		}
+		if (j<sitelist.size()) {
+			// compose a rsl
+			int numjob = job.getKnum();
+			for (int i=0; i<numjob; i++) {
+				String rsl = null;
+				if (job.getGtVersion().equals("GT4")) {
+					rsl = SimpleRSL.getRSL_GT4(myconfig, selectedsite, job.getN(), job.getK(i), job.getDataset(), job.getId());
+				} else {
+					rsl = SimpleRSL.getRSL_GT2(myconfig, selectedsite, job.getN(), job.getK(i), job.getDataset(), job.getId());
+				}
+				 
+				if (rsl != null) {
+					// job submission
+					SimpleCred mycred = (SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+					GSSCredential proxy = mycred.get();
+					String jhandle = null;
+					if (job.getGtVersion().equals("GT4")) {
+						SimpleRunGT4 myrun = new SimpleRunGT4(proxy);
+						jhandle = myrun.execute(myconfig.get("grid.wsgram."+selectedsite), rsl);
+					} else {
+						SimpleRunGT2 myrun = new SimpleRunGT2(proxy);
+						jhandle = myrun.execute(myconfig.get("grid.gram."+selectedsite), rsl);
+					}
+					if (jhandle != null) {
+						job.setHandle(i, jhandle);
+					} else throw new PortletException("Job submission failed for subjob "+i+". rsl: " + rsl);
+				} else throw new PortletException("Failed to create a RSL in subjob: "+i+" for job " + job.getId());
+			}
+			job.setStatus("gisolve:Job Submitted");
+			//joblist.set(i, job);
+			mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+		} else throw new PortletException("The site index is not on the list for job: " + job.getId());
+		return "Job has been submitted. Click \"Next\" to refresh job exection status";
+    }  
+    public String goRefresh ( PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job ) throws Exception {
+    	SimpleCred mycred = (SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+		GSSCredential proxy = mycred.get();
+		String[] handles = job.getHandleList();
+    	String allstatus = "";
+    	int numdone = 0;
+    	for (int i=0; i<handles.length; i++) {
+    		String status = "";
+    		if (job.getGtVersion().equals("GT4")) {
+    			SimpleRunGT4 myrun = new SimpleRunGT4(proxy);
+    			status = myrun.getStatus(handles[i]);
+    		} else {
+    			SimpleRunGT2 myrun = new SimpleRunGT2(proxy);
+    			status = myrun.getStatus(handles[i]);
+    		}
+    		if (status.equals("Error fetching status"))
+    			status = "DONE";
+    		allstatus += (i+1)+":"+status+" ";
+    		if (status.equals("DONE")) {
+    			numdone ++;
+    		}
+    	}
+		if (numdone == handles.length) {
+			job.setStatus("gisolve:Job Done");
+		}
+		mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+		return "job status is: "+allstatus +(numdone == handles.length?"Click \"Next\" to transfer results back":"");
+    }
+    public String goTransferResult ( PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job ) throws Exception 
+    {
+    	// get selected site
+		String selectedsite = job.getSite();
+		Config myconfig = (Config)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, PortletSession.APPLICATION_SCOPE);
+		ArrayList sitelist = this.getSiteList(myconfig);
+		int j;
+		for (j=0; j<sitelist.size(); j++) {
+			if (sitelist.get(j).equals(selectedsite)) break;
+		}
+		if (j<sitelist.size()) {
+			SimpleTransferThread mytransfer = (SimpleTransferThread)mysession.getAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+			if (mytransfer == null) {
+				// transfer results to local
+				String[] localFileList = new String[job.getKnum()];
+				String[] remoteFileList = new String[job.getKnum()];
+				for (int i=0; i<job.getKnum(); i++) {
+					localFileList[i] = this.getPortletContext().getRealPath("storage/"+uid+"/dms/results/" + job.getId()+"."+job.getK(i) + ".dat");
+					remoteFileList[i] =  myconfig.get("grid.sites.dmsdir."+selectedsite) +"/results/"+ job.getId()+"."+job.getK(i) + ".dat";
+				}
+				String host = myconfig.get("grid.gridftp."+selectedsite);
+				SimpleCred mycred = (SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+				GSSCredential proxy = mycred.get();
+				if (proxy == null) {
+					return "Grid proxy could not be loaded. Please go to home portlet to get a valid proxy";
+				}
+				mytransfer = new SimpleTransferThread(SimpleTransferThread.REMOTETOLOCAL, proxy, host, localFileList, remoteFileList, job.getId());
+				mytransfer.start();
+				mysession.setAttribute("gisolve_dms_ft_thread" + uid, mytransfer, PortletSession.APPLICATION_SCOPE);
+				//job.setStatus("gisolve:Result Transferring");
+				//mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+				//mysession.setAttribute(SimpleGridConstants.dmsJobSid + uid, job.getId(), PortletSession.APPLICATION_SCOPE);
+				return "Results are being transferred from remote site. Click \"Next\" to refresh the transfer status";
+			} else {
+				String curid = mytransfer.getOwnerId();
+				if (!curid.equals(job.getId())) {
+					return "Transfer thread is busy serving another your job:"+curid;
+				}
+				String mystatus = mytransfer.getStatus();
+				if (mystatus.equals("SUCCESS")) {
+					mysession.removeAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+					job.setStatus("gisolve:Result Transferred");
+					mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+					return "Results transferred. Click \"Next\" to create visualization iamge";
+				} else if (mystatus.startsWith("error")) {
+					mysession.removeAttribute("gisolve_dms_ft_thread" + uid, PortletSession.APPLICATION_SCOPE);
+					throw new PortletException("Error in dataset transfer for job " + job.getId()+": "+mystatus);
+				}
+				return "results are being transferred from remote site. Click \"Next\" to refresh the transfer status";
+			}
+		} else throw new PortletException("Could not find selected site from site list for job "+job.getId());
+		
+    }
+    public String goViz( PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job ) throws Exception 
+    {
+    	IDWVizThread viz = (IDWVizThread)mysession.getAttribute("gisolve_dms_viz_thread" + uid, PortletSession.APPLICATION_SCOPE);
+    	if (viz == null) {
+    		int numviz = job.getKnum();
+    		String s1 =  this.getPortletContext().getRealPath("storage/bnd_poly.dat");
+    		String s2 =  this.getPortletContext().getRealPath("storage/bnd_uspolygon.dat");
+    		String[] s3 = new String[numviz];
+    		String[] s4 = new String[numviz];
+    		String[] s5 = new String[numviz];
+    		for (int i=0; i<numviz; i++) {
+	    		// set parameters
+	    		s3[i] =  this.getPortletContext().getRealPath("storage/"+uid+"/dms/results/" + job.getId()+"."+job.getK(i) + ".dat");
+	    		s4[i] =  this.getPortletContext().getRealPath("storage/"+uid+"/dms/results/" + job.getId()+"."+job.getK(i) + "_viz.dat");
+	    		s5[i] =  this.getPortletContext().getRealPath("storage/"+uid+"/dms/images/" + job.getId()+"."+job.getK(i) + ".jpg");
+    		}
+    		viz = new IDWVizThread(s1, s2, s3, s4, s5, job.getId());
+    		viz.start();
+    		mysession.setAttribute("gisolve_dms_viz_thread" + uid, viz, PortletSession.APPLICATION_SCOPE);
+    		return "visualization image is being created. Click \"Next\" to refresh the status of visualization";
+    	} else {
+    		String curid = viz.getOwnerId();
+    		if (!curid.equals(job.getId())) {
+				return "Visualization thread is busy serving another your job:"+curid;
+			}
+			String mystatus = viz.getStatus();
+			if (mystatus.equals("SUCCESS")) {
+				mysession.removeAttribute("gisolve_dms_viz_thread" + uid, PortletSession.APPLICATION_SCOPE);
+				job.setStatus("gisolve:Image Created");
+				mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+				return "visualization image has been created. Click \"Next\" to go to visualization page";
+			} else if (mystatus.startsWith("error")) {
+				mysession.removeAttribute("gisolve_dms_viz_thread" + uid, PortletSession.APPLICATION_SCOPE);
+				throw new PortletException("Error in visualization for job " + job.getId()+": "+mystatus);
+			}
+			return "visualization image is being created. Click \"Next\" to refresh the status of visualization";
+		}
+    }
+    public String goShowViz( PortletSession mysession, String uid, ArrayList joblist, DmsjobBean job ) throws Exception 
+    {
+    	mysession.setAttribute(SimpleGridConstants.dmsPage + uid, "Viz", PortletSession.APPLICATION_SCOPE);
+    	return "";
+    }
+    private String getZRange(String inFile) throws IOException {
+	    File inf = new File(inFile);
+	    int zmin=0, zmax=0;
+	    if (inf.isFile() && inf.canRead()) {
+	    	java.io.BufferedReader fr = new java.io.BufferedReader(new java.io.FileReader(inFile));
+	    	String aline;
+	    	while ((aline = fr.readLine()) != null) {
+    			if (aline.startsWith("HEADER=")) {
+    				String[] h_params = aline.substring(7).split("\\s+");
+    				zmin = (int)(Double.parseDouble(h_params[6]));
+    				zmax = (int)(Double.parseDouble(h_params[7]));
+    				break;
+	    		}
+	    	}
+	    	fr.close();
+	    	return new String(zmin+","+zmax);
+	    }		
+	    return "";
+    }
+    /**
+     * This is where we initialize in-memory storage for gisolve
+     */
+    public void doView(RenderRequest req, RenderResponse res) throws PortletException, java.io.IOException {
+    	//if (!GISolveConfig.isSetup(request)) GISolveConfig.init(request, response);
+    	PortletSession mysession = req.getPortletSession(true);
+    	User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+		String uid = user.getUserID();
+		String storedSid = (String)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_ID + uid, PortletSession.APPLICATION_SCOPE);
+		if (storedSid == null || !storedSid.equals(mysession.getId())) {
+			storedSid = mysession.getId();
+			DMSPortletConfig.init(req, this);
+			mysession.setAttribute(SimpleGridConstants.SESSION_ATTR_ID + uid, storedSid, PortletSession.APPLICATION_SCOPE);
+		}
+    	super.doView(req, res);
+    }
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/UserPortlet.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/UserPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/portlets/UserPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,135 @@
+package org.gisolve.demo.portlets;
+
+// GridSphere Visual UI
+import java.text.DateFormat;
+import java.util.Date;
+
+import org.gridsphere.provider.portletui.beans.CheckBoxBean;
+import org.gridsphere.provider.portletui.beans.TextFieldBean;
+import org.gridsphere.provider.portletui.beans.TextBean;
+import org.gridsphere.provider.event.jsr.RenderFormEvent;
+import org.gridsphere.provider.event.jsr.ActionFormEvent;
+import org.gridsphere.provider.portlet.jsr.ActionPortlet;
+// JSR-168
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletException;
+import javax.portlet.PortletSession;
+import javax.portlet.PortletRequest;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+// applications
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.impl.SportletProperties;
+import org.gisolve.demo.util.*;
+import org.gisolve.demo.grid.security.SimpleCred;
+import org.gisolve.demo.beans.*;
+
+//others
+
+public class UserPortlet extends ActionPortlet {
+	
+	public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+        DEFAULT_VIEW_PAGE = "show";
+    }
+	
+    /**
+     * This is where we initialize in-memory storage for gisolve
+     */
+    public void doView(RenderRequest req, RenderResponse res) throws PortletException, java.io.IOException {
+    	//if (!GISolveConfig.isSetup(request)) GISolveConfig.init(request, response);
+    	PortletSession mysession = req.getPortletSession(true);
+    	User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+		String uid = user.getUserID();
+		String storedSid = (String)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_ID + uid, PortletSession.APPLICATION_SCOPE);
+		if (storedSid == null || !storedSid.equals(mysession.getId())) {
+			storedSid = mysession.getId();
+			DMSPortletConfig.init(req, this);
+			mysession.setAttribute(SimpleGridConstants.SESSION_ATTR_ID + uid, storedSid, PortletSession.APPLICATION_SCOPE);
+		}
+    	super.doView(req, res);
+    }
+	/**
+	 * Rendering method
+	 * @param event
+	 * @throws PortletException
+	 */
+	public void show(RenderFormEvent event) throws PortletException {
+		PortletRequest req = event.getRenderRequest();
+		PortletSession mysession = req.getPortletSession(true);
+		User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+		String uid = user.getUserID();
+		// render user information
+		UserBean userbean = new UserBean();
+		userbean.setLastLoginTime(DateFormat.getDateTimeInstance().format(new Date(user.getLastLoginTime())));
+		userbean.setFirstName(user.getFirstName());
+		userbean.setLastName(user.getLastName());
+		userbean.setEmailAddress(user.getEmailAddress());
+		userbean.setOrganization(user.getOrganization());
+		userbean.setNumLogins(user.getNumLogins());
+		req.setAttribute("user", userbean);
+		// initialize grid security context
+		SimpleCred mycred=(SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+		req.setAttribute("simplecred", mycred);
+		// render the page
+		this.setNextState(req, "simplegrid_user.jsp");
+	}
+	/**
+	 * Action method: save SimpleCred configuration
+	 * @param event
+	 * @throws PortletException
+	 */
+	public void configSimpleCred(ActionFormEvent event) throws PortletException {
+		ActionRequest req = event.getActionRequest();
+		ActionResponse res = event.getActionResponse();
+		// get user input
+		String host = event.getTextFieldBean("simplecred_host").getValue();
+		int port = Integer.parseInt(event.getTextFieldBean("simplecred_port").getValue());
+		String username = event.getTextFieldBean("simplecred_username").getValue();
+		String password = event.getTextFieldBean("simplecred_password").getValue();
+		int ltseconds = Integer.parseInt(event.getTextFieldBean("simplecred_lifetime").getValue()) * 3600;
+		String str_proxyfile = event.getTextFieldBean("simplecred_proxy_file").getValue();
+		String proxyfile;
+		if (!str_proxyfile.equals("") && str_proxyfile.startsWith("/")) {
+			proxyfile = str_proxyfile;
+		} else {
+			proxyfile = this.getPortletContext().getRealPath(str_proxyfile);
+		}
+		// save SimpleCred config
+		PortletSession mysession = req.getPortletSession(true);
+		User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+		String uid = user.getUserID();
+		SimpleCred mycred = (SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+		try {
+			if (mycred == null) {
+				mycred = new SimpleCred(host, port, username, password, proxyfile);
+				mycred.setRemainingTime((ltseconds<SimpleCred.DEFAULT_MIN)?SimpleCred.DEFAULT_LIFETIME:ltseconds);
+			} else {
+				mycred.setHost(host);
+				mycred.setPort(port);
+				mycred.setUsername(username);
+				mycred.setPassword(password);
+				mycred.setProxyFile(proxyfile);
+				mycred.setRemainingTime((ltseconds<SimpleCred.DEFAULT_MIN)?SimpleCred.DEFAULT_LIFETIME:ltseconds);
+			}
+		} catch (Exception e) {
+			throw new PortletException("Error saving SimpleGrid grid credentials", e);
+		}
+		// get proxy if asked
+		boolean getNow = event.getCheckBoxBean("simplecred_getnow").isSelected();
+		//boolean getNow = Boolean.parseBoolean(str_getnow);
+		if (getNow) {
+			try {
+				mycred.get(true); // force to reload proxy
+			} catch (Exception e) {
+				throw new PortletException("Error getting grid credentials from "+host+" for "+username, e);
+			}
+		}
+		// save the change
+		mysession.setAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, mycred, PortletSession.APPLICATION_SCOPE);
+		// go to rendering method
+		this.setNextState(req, DEFAULT_VIEW_PAGE);
+	}
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/Config.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/Config.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/Config.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,60 @@
+/**
+ * Class: Config
+ * @author Yan Liu
+ * @version %I% %G%
+ */
+package org.gisolve.demo.util;
+
+import java.util.Properties;
+import java.io.File;
+
+public class Config {
+	private String conf_file;
+	private Properties conf;
+	public Config() throws java.io.IOException {
+		String home_dir = System.getenv("HOME"); 
+		conf_file = home_dir + File.separator + "simplegrid.properties";
+		loadConfig();
+	}
+	public Config(String conf) throws java.io.IOException {
+		conf_file = conf;
+		loadConfig();
+	}
+	private void loadConfig() throws java.io.IOException {
+		File f = new File(conf_file);
+		conf = null;
+  		if (f.exists() && f.isFile() && f.canRead()) {
+			conf = new Properties();
+   			conf.load(new java.io.FileInputStream(conf_file));
+   		} else {
+   			throw new java.io.IOException("Error loading SimpleGrid configuration: " + conf_file);
+   		}
+	}
+	/**
+	 * This method reads a config item value
+	 * @param name the key of a config item
+	 * @return the value of a config item
+	 */
+	public String get(String name) {
+		return conf.getProperty(name, null);
+	}
+	/**
+	 * This method sets/overrides a config item
+	 * @param name the key of a config item
+	 * @param value the value of a config item
+	 */
+	public void set(String name, String value) {
+		conf.setProperty(name, value);
+	}
+	
+	public void print() {
+		conf.list(System.out);
+	}
+	/**
+	 * The main() for test purpose
+	 */
+	public static void main(String[] args) throws Exception {
+		Config myconfig = new Config();
+		myconfig.print();
+	}
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/DMSPortletConfig.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/DMSPortletConfig.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/DMSPortletConfig.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+package org.gisolve.demo.util;
+//JSR-168
+import javax.portlet.PortletRequest;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.PortletException;
+import javax.portlet.PortletSession;
+import javax.portlet.GenericPortlet;
+// gridsphere
+import org.gridsphere.services.core.user.User;
+import org.gridsphere.portlet.impl.SportletProperties;
+//simplegrid
+import org.gisolve.demo.util.Config;
+import org.gisolve.demo.util.SimpleGridConstants;
+import org.gisolve.demo.beans.DmsjobBean;
+import org.gisolve.demo.grid.security.SimpleCred;
+
+import java.util.ArrayList;
+import java.io.*;
+
+public class DMSPortletConfig {
+	// use this variable to test if config has been done
+	static String websessionid = null;
+	public static void init(RenderRequest req, GenericPortlet portlet) throws PortletException {	
+		try {
+			websessionid = null;
+			PortletSession mysession = req.getPortletSession(true);
+			User user = (User) req.getAttribute(SportletProperties.PORTLET_USER);
+			String uid = user.getUserID();
+			//it is my responsibility to load portal configuration
+			Config config = (Config)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, PortletSession.APPLICATION_SCOPE);
+			if (config == null) {
+				String configPath = "";
+				try {
+					configPath = portlet.getPortletContext().getRealPath("simplegrid.properties");
+					config = new Config(configPath);
+					mysession.setAttribute(SimpleGridConstants.SESSION_ATTR_CONFIG + uid, config, PortletSession.APPLICATION_SCOPE);
+				} catch (java.io.IOException ioe) {
+					throw new PortletException("Error loading SimpleGrid configuration file "+configPath, ioe);
+				}
+			}
+			// initialize grid security context
+			SimpleCred mycred=(SimpleCred)mysession.getAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, PortletSession.APPLICATION_SCOPE);
+			if (mycred == null) {
+				try {
+					String server = config.get("grid.myproxy.server");
+					int port = Integer.parseInt(config.get("grid.myproxy.port"));
+					String uname = config.get("grid.myproxy.username");
+					String proxyfile = config.get("grid.myproxy.proxyfile");
+					mycred = new SimpleCred(server, port, uname, "", proxyfile);
+					//this information is shared by all portlet in this portlet session and is user-specific
+					mysession.setAttribute(SimpleGridConstants.SESSION_ATTR_CRED + uid, mycred, PortletSession.APPLICATION_SCOPE);
+				} catch (Exception e) {
+					throw new PortletException("Error initializing SimpleGrid grid credentials", e);
+				}
+			}
+			// set initial error information
+			mysession.setAttribute(SimpleGridConstants.errorInfo + uid, "", PortletSession.APPLICATION_SCOPE);
+			// dms portlet: dms job list
+			ArrayList joblist = (ArrayList)mysession.getAttribute(SimpleGridConstants.dmsJobList + uid, PortletSession.APPLICATION_SCOPE);
+			if (joblist == null) {
+				joblist = new ArrayList<DmsjobBean>();
+				mysession.setAttribute(SimpleGridConstants.dmsJobList + uid, joblist, PortletSession.APPLICATION_SCOPE);
+			}
+			// dms portlet: current page name
+			String curPage = (String)mysession.getAttribute(SimpleGridConstants.dmsPage + uid, PortletSession.APPLICATION_SCOPE);
+			if (curPage == null) {
+				curPage = new String("Main");
+				mysession.setAttribute(SimpleGridConstants.dmsPage + uid, curPage, PortletSession.APPLICATION_SCOPE);
+			}
+			// create user directories
+			String dataRoot = mysession.getPortletContext().getRealPath("storage");
+			try {
+				File datasetDir = new File(dataRoot+File.separator+uid+File.separator+"dms"+File.separator+"datasets");
+				if (!datasetDir.exists()) datasetDir.mkdirs();
+				File resultsDir = new File(dataRoot+File.separator+uid+File.separator+"dms"+File.separator+"results");
+				if (!resultsDir.exists()) resultsDir.mkdirs();
+				File imagesDir = new File(dataRoot+File.separator+uid+File.separator+"dms"+File.separator+"images");
+				if (!imagesDir.exists()) imagesDir.mkdirs();
+			} catch (SecurityException ioe) {
+				System.out.println("DMSConfig::init(): error creating user directories for " + uid);
+				ioe.printStackTrace();
+			}
+			//generate a unique id for this session. it's used to indicate DMSConfig is done
+			websessionid = mysession.getId();
+			System.out.println("DMS application is initialized for user " + uid);
+		} catch (Exception e) {
+			websessionid = null;
+			throw new PortletException("DMSConfig::init(): Error:\n" + e.toString());
+		}
+	}
+	// Test if configuration is loaded for this session
+	public static boolean isSetup(PortletRequest req) {
+		try {
+			PortletSession mysession = req.getPortletSession();
+			if (websessionid != null && mysession.getId().equals(websessionid)) {
+				return true;
+			} else {
+				return false;
+			}
+		} catch (Exception e) {
+			return false;
+		}
+	}
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/SimpleGridConstants.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/SimpleGridConstants.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/gisolve/demo/util/SimpleGridConstants.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,33 @@
+package org.gisolve.demo.util;
+
+public class SimpleGridConstants {
+	public final static String SESSION_ATTR_ID = "simplegrid_session_id";
+	public final static String SESSION_ATTR_CRED = "simplegrid_session_simplecred";
+	public final static String SESSION_ATTR_CONFIG = "simplegrid_session_config";
+	
+	public final static String errorInfo = "gisolve_portal_error_info";
+	
+	// dms portlet attributes
+	public final static String dmsJobList = "gisolve_dms_job_list";
+	public final static String dmsJobSid = "gisolve_dms_cur_sid";
+	public final static String dmsPage = "gisolve_dms_cur_page";
+	public final static String dmsResultLink = "gisolve_dms_viz_resultlink";
+	public final static String dmsImageLink = "gisolve_dms_viz_imagelink";
+	public final static String dmsDatasetLink = "gisolve_dms_viz_datasetlink";
+	public final static String dmsDatasetImageLink = "gisolve_dms_viz_datasetimagelink";
+	public final static String dmsStatusInfo = "gisolve_dms_status_info";
+	public final static String dmsSiteList = "gisolve_dms_site_list";
+	public final static String dmsParmDatasetList = "gisolve_dms_parm_datalist";
+	
+	// input parameters
+	public static final String dmsParamDataset = "gisolve_dms_parm_dataset";
+	public static final String dmsParamK = "gisolve_dms_parm_k";
+	public static final String dmsParamR = "gisolve_dms_parm_r";
+	public static final String dmsParamSite = "gisolve_dms_parm_site";
+	
+	public static final String dmsId = "gisolve_dms_id";
+	
+	// service instance names
+	public static final String gridFtpService = "gisolve_dms_ft_thread";
+	public static final String dmsVizService = "gisolve_dms_viz_thread";
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/.VelocityPortlet.java.swp
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/.VelocityPortlet.java.swp
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/VelocityPortlet.java
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/VelocityPortlet.java	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/src/org/ogce/portlets/VelocityPortlet.java	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,639 @@
+package org.ogce.portlets;
+
+
+//marcus' sample
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.lang.reflect.Method;
+import java.util.Enumeration;
+import java.util.Properties;
+import javax.portlet.ActionRequest;
+import javax.portlet.ActionResponse;
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletConfig;
+import javax.portlet.PortletContext;
+import javax.portlet.PortletException;
+import javax.portlet.PortletMode;
+import javax.portlet.PortletModeException;
+import javax.portlet.PortletPreferences;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.portlet.PortletSession;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
+import javax.portlet.WindowState;
+import javax.portlet.WindowStateException;
+
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.context.Context;
+import javax.portlet.PortletURL;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+* This code is an extension to Marcus' original version.
+* Added functions are:
+* + Accommodate multiple portlets on the same screen  
+*   Original VelocityPortlet does not render correctly under the layout
+*   which has multiple portlets displaying on the same screen. It used
+*   a global session attribute ACTION_SETS_CONTEXT to avoid calling
+*   buildViewContext() for a portlet that is just triggered by an action.
+*   This was just to save calling setTemplate() twice (once in doAction(),
+*   the other in buildViewContext(). However, it has two side effects in
+*   muliti-portlet-single-screen scenario:
+*     - The first rendered portlet (might not be the one with action 
+*       triggered) is set to have the template of the actioned portlet
+*     - Other portlets than the first will call buildViewContext() again
+*       because ACTION_SETS_CONTEXT is reset in doView() of the first one
+*   
+* + Avoid exceptions in original version when a portlet has unsupported
+*   modes configured in portlet.xml 
+*/
+
+
+
+/**
+* The <code>VelocityPortlet</code> class acts as a bridge between
+* Jetspeed 1 style Velocity portlets and JSR 168 portlets.
+* <code>VelocityPortlet</code> allows one to use Velocity templates
+* for rendering the portlet markup fragments.
+*
+* <h5>Specifying Templates</h5>
+*
+* <p>
+* So how does Velocity know where to find your templates?  There are
+* a few things that need to be done.  First, you can use the
+* defaults.  By default, the templates are expected in a directory
+* called <code>templates/</code> in the root of the web application.
+* The default VIEW template is called <code>view.vm</code>, the
+* default EDIT template is called <code>edit.vm</code>, and the
+* default HELP template is called <code>help.vm</code>. </p>
+*
+* <p>If you want to put your templates in a different location, this
+* can be specified in a Velocity properties file.  By default, the
+* VelocityPortlet looks for such a file named
+* <code>velocity.properties</code> in the root of the web
+* application.  You can name your properties file differently, giving
+* the name of the file as the value of the init parameter with name
+* defined by the constant {@link #VP_VELOCITY_PROP}.  See the <a
+* href="http://jakarta.apache.org/velocity">Velocity Home Page</a>
+* for more information about Velocity properties files.  See also the
+* example <code>velocity.properties</code> file that comes with this
+* code to see how the <code>templates</code> directory is set.</p>
+*
+* <p>If you want to call your default VIEW template something other
+* than <code>view.vm</code>, etc., you do this with init parameters
+* in your <code>portlet.xml</code> file.  The name of the init
+* parameter for setting the name of the VIEW template file is defined
+* by the constants {@link #VP_DEFAULT_VIEW}, {@link
+* #VP_DEFAULT_EDIT}, and {@link #VP_DEFAULT_HELP}.</p>
+*
+* <h5>Render methods</h5>
+*
+* <p>The render methods you need to override to support the various
+* portlet modes are {@link #buildViewContext}, {@link
+* #buildEditContext}, and {@link #buildHelpContext}. These methods
+* are called in order to create a context for the default View, Edit,
+* and Help templates.</p>
+*
+* <h5>Action methods</h5>
+* 
+* <p>Action methods are implemented as usual, taking an
+* <code>ActionRequest</code> and <code>ActionResponse</code> pair
+* along with a <code>Context</code> object.  The names of the action
+* methods are mapped to from the Velocity templates by appending a
+* special prefix to them.  This prefix is specified by the {@link
+* #VP_ACTION_PREFIX} constant.
+* 
+*
+* <p>There is also a special action method, {@link #doCustomize} which
+* is called by {@link #processAction} when the portlet is in EDIT
+* mode.  This method must be overridden if your portlet supports the
+* EDIT mode.</p>
+*
+* <h5>The Default Context</h5>
+*
+* See {@link #getContext} for information on what is used to
+* prepopulate the context.
+*
+* @author <a href="mailto:machrist at cs.indiana.edu">Marcus Christie</a>
+* @version $Id: VelocityPortlet.java,v 1.11 2005/08/02 01:49:56 machrist Exp $
+*/
+public abstract class VelocityPortlet extends GenericPortlet {
+
+
+ private static final String VP_TEMPLATE = "org.ogce.portlets.VelocityPortlet.template";
+ private static final String VP_CONTEXT = "org.ogce.portlets.VelocityPortlet.context";
+ /**
+  *  The prefix to the action method expected in the template.
+  *  Currently equal to <b>actionMethod_</b>.
+  */
+ public static final String VP_ACTION_PREFIX = "actionMethod_";
+ /**
+  *  The prefix to the action method expected in the template.
+  *  Currently equal to <b>eventSubmit_</b>.
+  */
+ public static final String VP_ACTION_PREFIX_LEGACY = "eventSubmit_";
+ /**
+  *  The name of the init parameter for setting the name of the
+  *  default VIEW template.  Currently <b>default-view</b>.
+  */
+ public static final String VP_DEFAULT_VIEW = "default-view";
+ /**
+  *  The name of the init parameter for setting the name of the
+  *  default EDIT template.  Currently <b>default-edit</b>.
+  */
+ public static final String VP_DEFAULT_EDIT = "default-edit";
+ /**
+  *  The name of the init parameter for setting the name of the
+  *  default HELP template.  Currently <b>default-help</b>.
+  */
+ public static final String VP_DEFAULT_HELP = "default-help";
+ /**
+  *  The name of the init parameter for setting the name of the
+  *  Velocity properties file.  Currently
+  *  <b>org.apache.velocity.properties</b>.
+  */
+ public static final String VP_VELOCITY_PROP = "org.apache.velocity.properties";
+
+ private static final String ACTION_SETS_CONTEXT = "org.ogce.portlets.VelocityPortlet.action_sets_context";
+ private String defaultViewVM;
+ private String defaultEditVM;
+ private String defaultHelpVM;
+
+ /**
+  * Initializes Velocity, sets default portlet mode templates.
+  *
+  * @param portletConfig a <code>PortletConfig</code> value
+  * @exception PortletException if an error occurs
+  */
+ public void init(PortletConfig portletConfig) throws PortletException {
+     super.init(portletConfig);
+     initVelocity(portletConfig);
+
+     // get view, edit and help templates out of initParams
+     defaultViewVM = portletConfig.getInitParameter(VP_DEFAULT_VIEW);
+     if (defaultViewVM == null) {
+         defaultViewVM = "gisolve_notfound.vm";
+     }
+     defaultEditVM = portletConfig.getInitParameter(VP_DEFAULT_EDIT);
+     if (defaultEditVM == null) {
+         defaultEditVM = "gisolve_notfound.vm";
+     }
+     defaultHelpVM = portletConfig.getInitParameter(VP_DEFAULT_HELP);
+     if (defaultHelpVM == null) {
+         defaultHelpVM = "gisolve_notfound.vm";
+     }
+ }
+ 
+ private void initVelocity(PortletConfig portletConfig) {
+     PortletContext pc = getPortletContext();
+     String props = portletConfig.getInitParameter(VP_VELOCITY_PROP);
+     if (props == null || props.length() == 0) {
+         props = "/velocity.properties";
+     }
+     Properties p = new Properties();
+     String realPath = pc.getRealPath(props);
+     File propFile = new File(realPath);
+     if (propFile.exists()) {
+         try {
+             p.load(new FileInputStream(realPath));
+             p.setProperty(Velocity.RUNTIME_LOG, 
+                           pc.getRealPath(p.getProperty(Velocity.RUNTIME_LOG)));
+             p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
+                           pc.getRealPath(p.getProperty(Velocity.FILE_RESOURCE_LOADER_PATH)));
+             Velocity.init(p);
+             
+         } catch (Exception e) {
+             getPortletContext().log("Error reading in velocity properties file", e);
+         }
+     } else {
+         // If no Velocity properties file, then use defaults
+         p.setProperty(Velocity.RUNTIME_LOG,
+                       pc.getRealPath("/velocity.log"));
+         p.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH,
+                       pc.getRealPath("/templates"));
+         try {
+             Velocity.init(p);
+         } catch (Exception e) {
+             getPortletContext().log("Error setting default velocity properties", e);
+         }
+     }
+ }
+
+
+ /**
+  * From the Java Portlet API (JSR 168).  Calls {@link
+  * #buildViewContext}, renders template.
+  *
+  * @param request a <code>RenderRequest</code> value
+  * @param response a <code>RenderResponse</code> value
+  * @exception PortletException if an error occurs
+  * @exception IOException if an error occurs
+  */
+ public void doView(RenderRequest request, RenderResponse response)
+     throws PortletException, IOException {
+     response.setContentType("text/html");
+
+     PortletSession session = request.getPortletSession(true);
+     // Log session id
+     getPortletContext().log("VelocityPortlet:" + getPortletName() + 
+                             "session id is " + session.getId());
+     VelocityContext context = getContext(request, response);
+     // Only build a context if an action method hasn't already done so
+     
+     if ( (session.getAttribute(ACTION_SETS_CONTEXT) == null) ||
+          (! ((String)session.getAttribute(ACTION_SETS_CONTEXT)).equals(this.getClass().getName()))) {
+         buildViewContext(request, response, context);
+     }
+     String template = getTemplate(request);
+     renderTemplate(template, response, context);
+     // invalidate context
+     setContext(request, null);
+     setTemplate(request, null);
+     session.setAttribute(ACTION_SETS_CONTEXT, "");
+ }
+ 
+ /**
+  * From the Java Portlet API (JSR 168).  Calls {@link
+  * #buildEditContext}, renders template.
+  *
+  * @param request a <code>RenderRequest</code> value
+  * @param response a <code>RenderResponse</code> value
+  * @exception PortletException if an error occurs
+  * @exception IOException if an error occurs
+  */
+ public void doEdit(RenderRequest request, RenderResponse response)
+     throws PortletException, IOException {
+     // Population with current default values, then dispatch to
+     // jsp to display form with default values, allowing user to
+     // set new values
+     response.setContentType("text/html");
+     
+     PortletSession session = request.getPortletSession(true);
+     VelocityContext context = getContext(request, response);
+     // Only build a context if an action method hasn't already done so
+     if ( (session.getAttribute(ACTION_SETS_CONTEXT) == null) ||
+     	 (! ((String)session.getAttribute(ACTION_SETS_CONTEXT)).equals(this.getClass().getName()))) {
+         buildEditContext(request, response, context);
+     }
+     String template = getTemplate(request);
+     renderTemplate(template, response, context);
+     // invalidate context
+     setContext(request, null);
+     setTemplate(request, null);
+     session.setAttribute(ACTION_SETS_CONTEXT, "");
+ }
+
+
+ /**
+  * From the Java Portlet API (JSR 168).  Calls {@link
+  * #buildHelpContext}, renders template.
+  *
+  * @param request a <code>RenderRequest</code> value
+  * @param response a <code>RenderResponse</code> value
+  * @exception PortletException if an error occurs
+  * @exception IOException if an error occurs
+  */
+ public void doHelp(RenderRequest request, RenderResponse response)
+     throws PortletException, IOException {
+     response.setContentType("text/html");
+
+     PortletSession session = request.getPortletSession(true);
+     VelocityContext context = getContext(request, response);
+     // Only build a context if an action method hasn't already done so
+     if ( (session.getAttribute(ACTION_SETS_CONTEXT) == null) ||
+          (! ((String)session.getAttribute(ACTION_SETS_CONTEXT)).equals(this.getClass().getName()))) {
+     	buildHelpContext(request, response, context);
+     }
+     String template = getTemplate(request);
+     renderTemplate(template, response, context);
+     // invalidate context
+     setContext(request, null);
+     setTemplate(request, null);
+     session.setAttribute(ACTION_SETS_CONTEXT, "");
+  }
+
+ /**
+  * From the Java Portlet API (JSR 168).  If in VIEW mode, looks
+  * for a request parameter with a special prefix ({@link
+  * #VP_ACTION_PREFIX} or {@link #VP_ACTION_PREFIX_LEGACY}), and
+  * uses introspection to call that method.  If in EDIT mode, calls
+  * {@link #doCustomize}.
+  *
+  * @param actionRequest an <code>ActionRequest</code> value
+  * @param actionResponse an <code>ActionResponse</code> value
+  * @exception PortletException if an error occurs
+  * @exception IOException if an error occurs
+  */
+ public void processAction(ActionRequest actionRequest, 
+                           ActionResponse actionResponse) 
+     throws PortletException, IOException {
+     /* Basically, we want to inspect the parameters, looking for a
+      * submit marker, and using reflection to call the associated
+      * method.
+      */
+     VelocityContext context = getContext(actionRequest,
+                                          actionResponse);
+     PortletSession session = actionRequest.getPortletSession();
+     // Check portlet state
+     if (actionRequest.getPortletMode().equals(PortletMode.VIEW)) {
+         // Search for VP_ACTION_PREFIX or VP_ACTION_PREFIX_LEGACY
+         // in parameters
+         String actionParam = "";
+         String action = "";
+         Enumeration paramNames = actionRequest.getParameterNames();
+         while (paramNames.hasMoreElements()) {
+             String param = (String)paramNames.nextElement();
+             if (param.startsWith(VP_ACTION_PREFIX) || 
+                 param.startsWith(VP_ACTION_PREFIX_LEGACY)) {
+                 if (!actionParam.equals("")) {
+                     getPortletContext().log("!!! More than one action param in form");
+                 }
+                 actionParam = param;
+                 action = actionParam.substring(actionParam.indexOf('_') + 1);
+                 getPortletContext().log("Found action " + action);
+             }
+         }
+
+         // Now, do reflection and call actionParam
+         Class portlet = this.getClass();
+         Class[] methodSignature = {ActionRequest.class,
+                                    ActionResponse.class,
+                                    Context.class};
+         try {
+             Method actionMethod = portlet.getMethod(action, methodSignature);
+             actionMethod.invoke(this, new Object[]{actionRequest,
+                                                    actionResponse,
+                                                    context});
+             // it's quite possible to try to do the customization
+             // without having set the PortletMode to EDIT, so if
+             // we have executed doCustomize, we need to let
+             // buildViewContext be called
+             if (!action.equals("doCustomize"))
+                 session.setAttribute(ACTION_SETS_CONTEXT, this.getClass().getName());
+         } catch (Exception e) {
+             getPortletContext().log("Error invoking action method", e);
+         }
+             
+         
+     } else if (actionRequest.getPortletMode().equals(PortletMode.EDIT)) {
+         doCustomize(actionRequest, actionResponse, context);
+         //session.setAttribute(ACTION_SETS_CONTEXT, new Boolean(true));
+         /*
+         boolean edited = false;
+         try {
+             // try to edit portlet prefs, if fails, throw an exception
+             doCustomize(actionRequest, actionResponse, 
+                                   context);
+             edited = true;
+         } catch (Exception ex) {
+             //Create an error message 
+             actionResponse.setRenderParameter(VP_PREF_ERR, ex.getMessage());
+         }
+         if (edited) {
+             actionResponse.setPortletMode(PortletMode.VIEW);
+             actionResponse.setWindowState(WindowState.NORMAL);
+         }
+         */
+     }
+     // store context
+     setContext(actionRequest, context);
+ }
+
+ /**
+  * Returns context from <code>PortletSession</code>, or builds up
+  * a new default session.  By default, the context has the
+  * following objects in it:
+  * <ul>
+  *    <li><b>prefs</b> - <code>PortletPreferences</code></li>
+  *    <li><b>request</b> - <code>PortletRequest</code></li>
+  *    <li><b>response</b> - <code>PortletResponse</code></li>
+  *    <li><b>actionURL</b> - a <code>PortletURL</code></li>
+  *    <li><b>renderURL</b> - a <code>PortletURL</code></li>
+  *    <li><b>viewURL</b> - a <code>PortletURL</code> that puts the portlet
+  *    	back in VIEW mode, in NORMAL window state</li>
+  *    <li><b>editURL</b> - a <code>PortletURL</code> that puts the portlet
+  *    	back in EDIT mode, in NORMAL window state</li>
+  *    <li><b>helpURL</b> - a <code>PortletURL</code> that puts the portlet
+  *    	back in HELP mode, in NORMAL window state</li>
+  *    <li><b>contextPath</b> - the current context path of the portlet/web 
+  *        application</li>
+  *    <li><b>portlet</b> - <code>VelocityPortlet</code>, giving access to
+  *        convenience methods, etc.  <b>portlet</b> always refers to this
+  *        portlet and can be thought of as analogous to Java's <i>this</i>.
+  *        </li>
+  * </ul>
+  *
+  * @param request a <code>PortletRequest</code> value
+  * @param response a <code>PortletResponse</code> value
+  * @return a <code>VelocityContext</code> value
+  */
+ protected VelocityContext getContext(PortletRequest request, 
+                                    PortletResponse response) {
+ 	// capture current window state, portlet mode
+ 	WindowState currWindowState = request.getWindowState();
+ 	PortletMode currPortletMode = request.getPortletMode();
+ 	
+     PortletSession session = request.getPortletSession(true);
+     VelocityContext context = null;
+     context = (VelocityContext) session.getAttribute(VP_CONTEXT);
+     if (context == null) {
+         context = new VelocityContext();
+     }
+     PortletPreferences pref = request.getPreferences();
+     context.put("prefs", pref);
+     context.put("request", request);
+     context.put("response", response);
+     if (response instanceof RenderResponse) {
+         context.put("actionURL", ((RenderResponse)response).createActionURL());
+         context.put("renderURL", ((RenderResponse)response).createRenderURL());
+         try {
+             PortletURL viewURL = ((RenderResponse)response).createRenderURL();
+				viewURL.setPortletMode(PortletMode.VIEW);
+				viewURL.setWindowState(WindowState.NORMAL);
+				context.put("viewURL", viewURL);
+			} catch (PortletModeException e) {
+				getPortletContext().log("Error setting viewURL to VIEW mode", e);
+			} catch (WindowStateException e) {
+				getPortletContext().log("Error setting viewURL to NORMAL " +
+						"window state", e);
+			}
+			if (request.isPortletModeAllowed(PortletMode.HELP)) {
+	            try {
+	                PortletURL helpURL = ((RenderResponse)response).createRenderURL();
+					helpURL.setPortletMode(PortletMode.HELP);
+					helpURL.setWindowState(WindowState.NORMAL);
+					context.put("helpURL", helpURL);
+				} catch (PortletModeException e) {
+					getPortletContext().log("Error setting helpURL to HELP mode", e);
+				} catch (WindowStateException e) {
+					getPortletContext().log("Error setting helpURL to NORMAL " +
+							"window state", e);
+				}
+			}
+			if (request.isPortletModeAllowed(PortletMode.EDIT)) {
+				try {
+					PortletURL editURL = ((RenderResponse)response).createRenderURL();
+					editURL.setPortletMode(PortletMode.EDIT);
+					editURL.setWindowState(WindowState.NORMAL);
+					context.put("editURL", editURL);
+				} catch (PortletModeException e) {
+					getPortletContext().log("Error setting editURL to EDIT mode", e);
+				} catch (WindowStateException e) {
+					getPortletContext().log("Error setting editURL to NORMAL " +
+							"window state", e);
+				}
+			}
+     }
+     context.put("contextPath", request.getContextPath());
+     context.put("portlet", this);
+     
+     // Work around bug in GridSphere 2.0.2 (seems fixed in CVS, may be
+     // okay in 2.0.4)
+     // reset portlet mode, window state to values when entering this
+     // method
+     if (response instanceof RenderResponse) {
+     	PortletURL dummyURL = ((RenderResponse)response).createRenderURL();
+     	try {
+     		dummyURL.setPortletMode(currPortletMode);
+     		dummyURL.setWindowState(currWindowState);
+     	} catch (PortletModeException pme) {
+     		getPortletContext().log("Error setting portlet mode", pme);
+     	} catch (WindowStateException wse) {
+     		getPortletContext().log("Error setting window state", wse);
+			}
+     }
+     return context;
+ }
+
+ private void setContext(PortletRequest request,
+                         VelocityContext context) {
+     // Put context into Portlet session
+     PortletSession session = request.getPortletSession(true);
+     session.setAttribute(VP_CONTEXT, context);
+
+     return;
+ }
+
+ private String getTemplate(PortletRequest request) {
+     PortletSession session = request.getPortletSession(true);
+     String template = null;
+     template = (String) session.getAttribute(VP_TEMPLATE);
+     if (template == null) { 
+         PortletMode mode = request.getPortletMode();
+         if (mode.equals(PortletMode.VIEW)) {
+             template = defaultViewVM;
+         } else if (mode.equals(PortletMode.EDIT)) {
+             template = defaultEditVM;
+         } else if (mode.equals(PortletMode.HELP)) {
+             template = defaultHelpVM;
+         }
+     }
+     return template;
+ }
+
+ /**
+  * Set the name of the template to use on the next render phase.
+  * Note that the full name of the template file is required.
+  *
+  * @param request a <code>PortletRequest</code> value
+  * @param templateName a <code>String</code> value
+  */
+ public void setTemplate(PortletRequest request, String templateName) {
+     PortletSession session = request.getPortletSession(true);
+     session.setAttribute(VP_TEMPLATE, templateName);
+ }
+
+ private void renderTemplate(String templateName, 
+                             RenderResponse response,
+                             VelocityContext context) {
+
+     PrintWriter pw = null;
+     try {
+         pw = response.getWriter();
+     } catch (Exception e) {
+         getPortletContext().log("Error getting PrintWriter", e);
+     }
+     String encoding = response.getCharacterEncoding();
+     try {
+         Velocity.mergeTemplate(templateName, encoding, context, pw);
+     } catch (Exception e) {
+         getPortletContext().log("Error in merging template", e);
+     }
+
+ }
+
+ public abstract void buildViewContext(RenderRequest request,
+                               RenderResponse response,
+                               Context context);
+ public abstract void buildEditContext(RenderRequest request,
+                               RenderResponse response,
+                               Context context);
+
+ public abstract void buildHelpContext(RenderRequest request,
+                               RenderResponse response,
+                               Context context);
+ 
+ /**
+  *  <code>doCustomize</code> is the method called by
+  *  <code>processAction</code> when in EDIT mode.
+  *
+  *  Note: if the edit is successful, you'll likely want something
+  *  like the following in your <code>doCustomize</code> to switch
+  *  from EDIT mode to VIEW mode
+  *
+  *  <pre>
+  *     if (edited) {
+  *          actionResponse.setPortletMode(PortletMode.VIEW);
+  *          actionResponse.setWindowState(WindowState.NORMAL);
+  *     }
+  *  </pre>
+  */
+ public void doCustomize(ActionRequest request,
+                         ActionResponse response,
+                         Context context) throws PortletException {
+
+
+ }
+
+ /**
+  * <code>createActionURLWithParams</code> is a utility method for
+  * creating an action <code>PortletURL</code> within a Velocity template.
+  *
+  * <p>
+  * To use, put something like the following in your template:
+  * <pre>
+  *  #set ($action_url = $portlet.createActionURLWithParams($response,
+  *           ["name1", "name2", "name3"], ["value1", "value2", "value3"]))
+  * </pre>
+  *
+  * @param response a <code>PortletResponse</code> value
+  * @param paramNames an <code>ArrayList</code> of names
+  * @param paramValues an <code>ArrayList</code> of values
+  * @return an action <code>PortletURL</code> 
+  */
+ public static PortletURL createActionURLWithParams(PortletResponse response,
+                                                    ArrayList paramNames,
+                                                    ArrayList paramValues) {
+     PortletURL url = null;
+     if (response instanceof RenderResponse) {
+         url = ((RenderResponse)response).createActionURL();
+     }
+     HashMap paramMap = new HashMap();
+     for (int i=0; i < paramNames.size(); i++) {
+         paramMap.put((String)paramNames.get(i), new String[] {(String)paramValues.get(i)});
+         /*
+         System.out.println("Putting into paramMap: " + (String)paramNames.get(i) + ":" +
+                            (String)paramValues.get(i));
+         */
+     }
+     url.setParameters(paramMap);
+     return url;
+ }
+ 
+}

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/PortletServices.xml
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/PortletServices.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/PortletServices.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,28 @@
+<!--
+
+    Portlet Services XML Descriptor
+
+    Edit this file to add/modify Portlet Services
+
+    $Id: PortletServices.xml.tpl 4496 2006-02-08 20:27:04Z wehrens $
+-->
+
+<portlet-services>
+
+    <service>
+        <name>Example Service</name>
+        <description>Provides Capabilities</description>
+        <interface>com.mycom.ExampleService</interface>
+        <implementation>com.mycom.impl.ExampleServiceImpl</implementation>
+    </service>
+
+    <service>
+        <name>Secure Example Service</name>
+        <user-required>true</user-required>
+        <description>Provides Secure Capabilities</description>
+        <interface>com.mycom.SecureService</interface>
+        <implementation>com.mycom.SecureServiceImpl</implementation>
+    </service>
+
+</portlet-services>
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes/log4j.properties
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes/log4j.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/classes/log4j.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,12 @@
+# Set root category priority to ERROR and its only appender to A1.
+log4j.rootCategory=ERROR, A1
+
+# A1 is set to be a ConsoleAppender.
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+
+# A1 uses PatternLayout.
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%-4r [%t] (%F:%L) %-5p %c %x - %m%n
+
+# Add packages to log
+log4j.logger.org.gridsphere=DEBUG

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence/hibernate.properties
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence/hibernate.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/persistence/hibernate.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40 @@
+#
+# template file for 3rd party webapp persistence
+#
+
+hibernate.show_sql=false
+hibernate.connection.poolsize=40
+
+## HSQL
+
+#hibernate.dialect=org.hibernate.dialect.HSQLDialect
+#hibernate.connection.username=sa
+#hibernate.connection.password=
+#hibernate.connection.url=jdbc:hsqldb:@3RDPARTY_WEBAPP@/WEB-INF/database/gridsphere
+#hibernate.connection.driver_class=org.hsqldb.jdbcDriver
+
+## MySQL
+
+hibernate.dialect org.hibernate.dialect.MySQLDialect
+#hibernate.connection.driver_class org.gjt.mm.mysql.Driver
+hibernate.connection.driver_class com.mysql.jdbc.Driver
+hibernate.connection.url jdbc:mysql://localhost/simplegrid_cig
+hibernate.connection.username cigtg 
+hibernate.connection.password tomcat 
+
+## Mckoi SQL
+
+#hibernate.dialect org.hibernate.dialect.MckoiDialect
+#hibernate.connection.driver_class com.mckoi.JDBCDriver
+#hibernate.connection.url jdbc:mckoi:@3RDPARTY_WEBAPP@/WEB-INF/database/gridsphere
+#hibernate.connection.username=admin_user
+#hibernate.connection.password=aupass00
+
+## PostgreSQL
+#download jdbc driver from http://jdbc.postgresql.org/
+
+#hibernate.dialect org.hibernate.dialect.PostgreSQLDialect
+#hibernate.connection.driver_class org.postgresql.Driver
+#hibernate.connection.url jdbc:postgresql://localhost/example
+#hibernate.connection.username postgres
+#hibernate.connection.password postgres

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/portlet.xml
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/portlet.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/portlet.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
+             version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">train17 user portlet</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>train17UserGisolve</portlet-name>
+        <display-name xml:lang="en">train17 user gisolve</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gisolve.demo.portlets.UserPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>train17 User home for gisolve</title>
+            <short-title>train17-gisolve</short-title>
+            <keywords>train17, gisolve, user</keywords>
+        </portlet-info>
+    </portlet>
+    <portlet>
+        <!-- place portlet description here -->
+        <description xml:lang="en">train17 DMS Analysis portlet</description>
+        <!-- place unique portlet name here -->
+        <portlet-name>train17DMSGisolve</portlet-name>
+        <display-name xml:lang="en">train17 DMS Analysis</display-name>
+        <!-- place your portlet class name here -->
+        <portlet-class>org.gisolve.demo.portlets.GISolveDMSPortlet</portlet-class>
+        <expiration-cache>0</expiration-cache>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>train17 DMS Analysis for gisolve</title>
+            <short-title>train17-dms</short-title>
+            <keywords>train17, dms</keywords>
+        </portlet-info>
+        <init-param>
+            <name>org.apache.velocity.properties</name>
+            <value>/velocity.properties</value>
+        </init-param>
+        <init-param>
+            <name>default-view</name>
+            <value>dms-0.vm</value>
+        </init-param>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>VIEW</portlet-mode>
+        </supports>
+    </portlet>    
+    
+    <custom-portlet-mode>
+        <description xml:lang="en">Pre-defined custom portlet mode CONFIGURE</description>
+        <portlet-mode>CONFIGURE</portlet-mode>
+    </custom-portlet-mode>
+    <user-attribute>
+        <description xml:lang="en">User Name</description>
+        <name>user.name</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Id</description>
+        <name>user.id</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User Full Name</description>
+        <name>user.name.full</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">User E-Mail</description>
+        <name>user.email</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Company Organization</description>
+        <name>user.organization</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Last Login Time</description>
+        <name>user.lastlogintime</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Timezone</description>
+        <name>user.timezone</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Locale</description>
+        <name>user.locale</name>
+    </user-attribute>
+    <user-attribute>
+        <description xml:lang="en">Preferred Theme</description>
+        <name>user.theme</name>
+    </user-attribute>
+    <!--
+        <security-constraint>
+            <portlet-collection>
+                <portlet-name>TimeZoneClock</portlet-name>
+            </portlet-collection>
+            <user-data-constraint>
+                <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+            </user-data-constraint>
+        </security-constraint>
+    -->
+</portlet-app>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/web.xml
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/web.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/WEB-INF/web.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!DOCTYPE web-app
+    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+    "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+    <display-name>Science Gateway Tutorial train17</display-name>
+
+    <description>
+        Provides Science Gateway Tutorial train17
+    </description>
+
+    <!-- uncomment only if using in non-GridSphere container
+    <listener>
+        <listener-class>org.gridsphere.provider.portlet.jsr.PortletServlet</listener-class>
+    </listener>
+     -->
+
+    <servlet>
+        <servlet-name>PortletServlet</servlet-name>
+        <servlet-class>org.gridsphere.provider.portlet.jsr.PortletServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+       <servlet-name>PortletServlet</servlet-name>
+       <url-pattern>/jsr/simplegrid_train17</url-pattern>
+    </servlet-mapping>
+
+    <mime-mapping>
+      <extension>wbmp</extension>
+      <mime-type>image/vnd.wap.wbmp</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wml</extension>
+      <mime-type>text/vnd.wap.wml</mime-type>
+    </mime-mapping>
+
+    <mime-mapping>
+      <extension>wmls</extension>
+      <mime-type>text/vnd.wap.wmlscript</mime-type>
+    </mime-mapping>
+
+</web-app>

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/images/vizlegend.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/images/vizlegend.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp/simplegrid_user.jsp
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp/simplegrid_user.jsp	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/jsp/simplegrid_user.jsp	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,110 @@
+<%@ page import="org.gisolve.demo.beans.UserBean" %>
+<%@ page import="org.gisolve.demo.grid.security.SimpleCred" %>
+<%@ taglib uri="/portletUI" prefix="ui" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<jsp:useBean id="user" class="org.gisolve.demo.beans.UserBean" scope="request"/>
+
+<portlet:defineObjects/>
+
+<%
+	String fullname = user.getFirstName()+" "+ user.getLastName();
+	String numlogins = java.lang.Integer.toString(user.getNumLogins());
+%>
+<ui:text style="info" value="User: "/><ui:text style="alert" value="<%=fullname%>"/>
+<p>
+<ui:text style="info" value="E-mail: "/><ui:text style="alert" value="<%=user.getEmailAddress()%>"/>
+<p>
+<ui:text style="info" value="Organization: "/><ui:text style="alert" value="<%=user.getOrganization()%>"/>
+<p>
+<ui:text style="info" value="Number of logins: "/><ui:text style="alert" value="<%=numlogins%>"/>
+<p>
+<ui:text style="info" value="Last login time: "/><ui:text style="alert" value="<%=user.getLastLoginTime()%>"/>
+<hr>
+<p>
+<%
+	SimpleCred simplecred = (SimpleCred)renderRequest.getAttribute("simplecred");
+	String myproxy_lthours = "";
+	String myproxy_port = "7512";
+	String myproxy_host = "myproxy.teragrid.org";
+	String myproxy_username = "";
+	String myproxy_password = "";
+	String myproxy_file = "";
+	String proxyinfo = "";
+	if (simplecred != null) {
+		myproxy_host = simplecred.getHost();
+		myproxy_lthours = java.lang.Integer.toString(simplecred.getRemainingTime() / 3600);
+		myproxy_port = java.lang.Integer.toString(simplecred.getPort());
+		myproxy_username = simplecred.getUsername();
+		myproxy_password = simplecred.getPassword();
+		myproxy_file = simplecred.getProxyFile();
+		proxyinfo = simplecred.info();
+	}
+%>
+<ui:form>
+    <ui:frame>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Server"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_host" value="<%=myproxy_host%>"/>
+            </ui:tablecell>
+        </ui:tablerow>
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Server Port"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_port" value="<%=myproxy_port%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy User Name"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_username" value="<%=myproxy_username%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="MyProxy Password"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:password beanId="simplecred_password" value="<%=myproxy_password%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="Lifetime to request (in hours)"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_lifetime" value="<%=myproxy_lthours%>"/>
+            </ui:tablecell>
+        </ui:tablerow>  
+        <ui:tablerow>
+            <ui:tablecell>
+                <ui:text value="Valid Proxy File (if available)"/>
+            </ui:tablecell>
+            <ui:tablecell>
+                <ui:textfield beanId="simplecred_proxy_file" value="<%=myproxy_file%>"/>
+            </ui:tablecell>
+        </ui:tablerow>        
+    </ui:frame>
+    <p>
+    <ui:checkbox beanId="simplecred_getnow" value="Check to get grid proxy now" />
+    <ui:text value="Check to get/reload grid proxy now"/>
+    <p>
+    <%
+    if (!proxyinfo.equals("")) {
+    %>
+    <font size="3" color="darkgreen"><b>
+    <pre><%=proxyinfo%></pre>
+    </b></font>
+    <%
+    }
+    %>
+    <p>
+    <ui:actionsubmit action="configSimpleCred" value="Update"/>
+</ui:form>
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/simplegrid.properties
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/simplegrid.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/simplegrid.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,36 @@
+## Application configuration
+app.dms.datadir = storage 
+app.dms.remoteexe = release/process.pl
+
+## Grid configuration
+# Security
+grid.myproxy.server    = myproxy.teragrid.org
+grid.myproxy.port      = 7512
+grid.myproxy.username  = weimi 
+grid.myproxy.proxyfile = storage/grid/x509up_tg07tutorial
+
+# Grid resources
+grid.sites = UC, NCSA, SDSC
+grid.sites.dmsdir.UC = /home/weimi/gisolve/DMS
+grid.sites.dmsdir.NCSA = /home/ac/weimi/gisolve/DMS
+grid.sites.dmsdir.SDSC = /users/weimi/gisolve/DMS
+
+# Data transfer
+grid.gridftp.UC   = tg-gridftp.uc.teragrid.org
+grid.gridftp.NCSA = tg-login1.ncsa.teragrid.org
+grid.gridftp.SDSC = tg-login1.sdsc.teragrid.org
+
+# Job submission
+grid.gram.UC   = tg-grid1.uc.teragrid.org:2120/jobmanager-pbs
+grid.gram.NCSA   = grid-hg.ncsa.teragrid.org:2120/jobmanager-pbs
+grid.gram.SDSC   = tg-login1.sdsc.teragrid.org/jobmanager-pbs
+grid.wsgram.UC = https://tg-grid.uc.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.UC = PBS
+grid.wsgram.NCSA = https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.NCSA = PBS
+grid.wsgram.SDSC = https://tg-login1.sdsc.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+grid.wsgram.rm.SDSC = PBS
+
+## Portal configuration
+portal.webappname = simplegrid_cig
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_poly.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,3303 @@
+----
+-88.1955 35.0041
+-85.6068 34.9918
+-85.1756 32.8404
+-84.8927 32.2593
+-85.0342 32.1535
+-85.1358 31.7947
+-85.0438 31.5200
+-85.0836 31.3384
+-85.1070 31.2093
+-84.9944 31.0023
+-87.6009 30.9953
+-87.5926 30.9423
+-87.6256 30.8539
+-87.4072 30.6745
+-87.3688 30.4404
+-87.5240 30.1463
+-88.3864 30.1546
+-88.4743 31.8939
+-88.1021 34.8938
+-88.1721 34.9479
+-88.1461 34.9107
+----
+-94.0416 33.0225
+-91.2057 33.0075
+-91.1989 33.1180
+-91.1041 33.1824
+-91.1343 33.3053
+-91.1646 33.4211
+-91.2263 33.4337
+-91.2524 33.5403
+-91.1797 33.6112
+-91.2524 33.6855
+-91.1261 33.6946
+-91.1412 33.7883
+-91.0451 33.7700
+-91.0341 33.8328
+-91.0863 33.9399
+-90.9256 34.0208
+-90.9036 34.0856
+-90.9586 34.1345
+-90.9132 34.1675
+-90.8501 34.1380
+-90.9325 34.2311
+-90.6935 34.3446
+-90.5603 34.4409
+-90.5548 34.5348
+-90.5768 34.5959
+-90.5301 34.7213
+-90.5328 34.7574
+-90.4546 34.8780
+-90.3529 34.8454
+-90.2911 34.8690
+-90.3104 35.0255
+-90.2843 35.1154
+-90.1772 35.1323
+-90.1112 35.1985
+-90.1524 35.2826
+-90.1332 35.4383
+-90.0206 35.5579
+-89.9780 35.6740
+-89.9547 35.7287
+-89.6594 35.9169
+-89.6883 35.9658
+-89.7130 36.0013
+-90.3735 35.9958
+-90.2664 36.1268
+-90.0934 36.2875
+-90.0742 36.3892
+-90.1511 36.4180
+-90.1566 36.4997
+-94.6198 36.4986
+-94.4412 35.3801
+-94.4893 33.6318
+-94.4522 33.6421
+-94.4000 33.5597
+-94.2462 33.5883
+-94.1885 33.5872
+-94.0375 33.5345
+-94.0430 33.4314
+-94.0430 33.0213
+----
+-112.5989 36.9993
+-110.8630 37.0004
+-109.0475 37.0004
+-109.0503 31.3325
+-111.0718 31.3325
+-114.8126 32.4935
+-114.8099 32.5184
+-114.8044 32.5827
+-114.7992 32.6246
+-114.7474 32.6700
+-114.7014 32.7457
+-114.6176 32.7342
+-114.5819 32.7422
+-114.5393 32.7584
+-114.5095 32.8167
+-114.4696 32.8450
+-114.4817 32.9107
+-114.4803 32.9741
+-114.5256 33.0317
+-114.6094 33.0259
+-114.6588 33.0317
+-114.7096 33.0904
+-114.6849 33.2065
+-114.7220 33.2846
+-114.6973 33.3546
+-114.7258 33.4051
+-114.6533 33.4120
+-114.5888 33.5016
+-114.5599 33.5317
+-114.5187 33.6306
+-114.5297 33.6786
+-114.4940 33.7083
+-114.5036 33.7609
+-114.5284 33.8157
+-114.5325 33.8545
+-114.5380 33.9285
+-114.5235 33.9530
+-114.4748 34.0049
+-114.4308 34.0299
+-114.4363 34.0891
+-114.3526 34.1357
+-114.2908 34.1720
+-114.2255 34.2044
+-114.1685 34.2595
+-114.1301 34.2572
+-114.1397 34.3037
+-114.2276 34.3664
+-114.2633 34.4012
+-114.3388 34.4534
+-114.3608 34.4930
+-114.3811 34.5292
+-114.4377 34.5959
+-114.4569 34.6547
+-114.5297 34.7506
+-114.5847 34.8172
+-114.6341 34.8724
+-114.6313 34.9490
+-114.6351 35.0342
+-114.6451 35.1019
+-114.6190 35.1233
+-114.5682 35.1716
+-114.5984 35.3364
+-114.6643 35.4506
+-114.6753 35.5780
+-114.6547 35.6171
+-114.6918 35.6528
+-114.7028 35.7053
+-114.7093 35.8050
+-114.6602 35.8679
+-114.7426 35.9836
+-114.7536 36.0891
+-114.6794 36.1124
+-114.6327 36.1423
+-114.4872 36.1301
+-114.3690 36.1445
+-114.3038 36.0746
+-114.3172 36.0602
+-114.2451 36.0163
+-114.1438 36.0402
+-114.1150 36.0979
+-114.1274 36.1101
+-114.1054 36.1190
+-114.0463 36.1989
+-114.0450 36.3638
+-114.0508 37.0001
+----
+-124.4009 41.9983
+-123.6237 42.0024
+-123.1526 42.0126
+-122.0073 42.0075
+-121.2369 41.9962
+-119.9982 41.9983
+-120.0037 39.0021
+-117.9575 37.5555
+-116.3699 36.3594
+-114.6368 35.0075
+-114.6382 34.9659
+-114.6286 34.9107
+-114.6382 34.8758
+-114.5970 34.8454
+-114.5682 34.7890
+-114.4968 34.7269
+-114.4501 34.6648
+-114.4597 34.6581
+-114.4322 34.5869
+-114.3787 34.5235
+-114.3869 34.4601
+-114.3361 34.4500
+-114.3031 34.4375
+-114.2674 34.4024
+-114.1864 34.3559
+-114.1383 34.3049
+-114.1315 34.2561
+-114.1651 34.2595
+-114.2249 34.2044
+-114.2221 34.1914
+-114.2908 34.1720
+-114.3237 34.1368
+-114.3622 34.1186
+-114.4089 34.1118
+-114.4363 34.0856
+-114.4336 34.0276
+-114.4652 34.0117
+-114.5119 33.9582
+-114.5366 33.9308
+-114.5091 33.9058
+-114.5256 33.8613
+-114.5215 33.8248
+-114.5050 33.7597
+-114.4940 33.7083
+-114.5284 33.6832
+-114.5242 33.6363
+-114.5393 33.5895
+-114.5242 33.5528
+-114.5586 33.5311
+-114.5778 33.5070
+-114.6245 33.4418
+-114.6506 33.4142
+-114.7055 33.4039
+-114.6973 33.3546
+-114.7302 33.3041
+-114.7206 33.2858
+-114.6808 33.2754
+-114.6698 33.2582
+-114.6904 33.2467
+-114.6794 33.1720
+-114.7083 33.0904
+-114.6918 33.0858
+-114.6629 33.0328
+-114.6451 33.0501
+-114.6286 33.0305
+-114.5888 33.0282
+-114.5750 33.0351
+-114.5174 33.0328
+-114.4913 32.9718
+-114.4775 32.9764
+-114.4844 32.9372
+-114.4679 32.8427
+-114.5091 32.8161
+-114.5311 32.7850
+-114.5284 32.7573
+-114.5641 32.7503
+-114.6162 32.7353
+-114.6986 32.7480
+-114.7220 32.7191
+-115.1944 32.6868
+-117.3395 32.5121
+-117.4823 32.7838
+-117.5977 33.0501
+-117.6814 33.2341
+-118.0591 33.4578
+-118.6290 33.5403
+-118.7073 33.7928
+-119.3706 33.9582
+-120.0050 34.1925
+-120.7164 34.2561
+-120.9128 34.5360
+-120.8427 34.9749
+-121.1325 35.2131
+-121.3220 35.5255
+-121.8013 35.9691
+-122.1446 36.2808
+-122.1721 36.7268
+-122.6871 37.2227
+-122.8903 37.7783
+-123.2378 37.8965
+-123.3202 38.3449
+-123.8338 38.7423
+-123.9793 38.9946
+-124.0329 39.3088
+-124.0823 39.7642
+-124.5314 40.1663
+-124.6509 40.4658
+-124.3144 41.0110
+-124.3419 41.2386
+-124.4545 41.7170
+-124.4009 41.9983
+----
+-109.0448 37.0004
+-102.0424 36.9949
+-102.0534 41.0006
+-109.0489 40.9996
+-109.0448 37.0004
+----
+-73.4875 42.0498
+-73.4247 42.0511
+-72.8146 42.0371
+-72.8174 41.9983
+-72.7638 42.0044
+-72.7563 42.0360
+-72.6945 42.0368
+-72.6086 42.0309
+-72.6059 42.0269
+-72.5784 42.0269
+-72.5729 42.0350
+-72.4026 42.0350
+-71.7984 42.0248
+-71.7874 41.6832
+-71.7984 41.4165
+-71.8341 41.3892
+-71.8526 41.3273
+-71.8938 41.3309
+-71.9302 41.3103
+-72.0195 41.2907
+-72.0827 41.2618
+-72.4322 41.1962
+-73.0007 41.0866
+-73.2493 41.0255
+-73.6132 40.9509
+-73.6606 40.9830
+-73.6723 41.0338
+-73.7272 41.1011
+-73.4834 41.2153
+-73.5507 41.2953
+-73.5329 41.4906
+-73.4875 42.0493
+----
+-75.7919 39.7188
+-75.7837 39.5210
+-75.7288 38.9081
+-75.7068 38.5911
+-75.6944 38.4600
+-74.8608 38.4482
+-74.8526 38.8654
+-75.0504 38.8451
+-75.1678 39.0565
+-75.3236 39.2525
+-75.4610 39.3662
+-75.5592 39.4542
+-75.5578 39.4908
+-75.5118 39.5713
+-75.5557 39.6284
+-75.3937 39.8106
+-75.4692 39.8249
+-75.6477 39.8296
+-75.7906 39.7199
+----
+-87.6050 30.9988
+-86.5613 30.9964
+-85.5313 31.0035
+-85.1193 31.0012
+-85.0012 31.0023
+-84.9847 30.9364
+-84.9367 30.8845
+-84.9271 30.8409
+-84.9257 30.7902
+-84.9147 30.7489
+-84.8611 30.6993
+-84.4272 30.6911
+-83.5991 30.6509
+-82.5595 30.5895
+-82.2134 30.5682
+-82.2134 30.5315
+-82.1997 30.3883
+-82.1544 30.3598
+-82.0638 30.3598
+-82.0226 30.4877
+-82.0473 30.6308
+-82.0514 30.6757
+-82.0377 30.7111
+-82.0514 30.7371
+-82.0102 30.7678
+-82.0322 30.7914
+-81.9717 30.7997
+-81.9608 30.8244
+-81.8893 30.8056
+-81.8372 30.7914
+-81.7960 30.7796
+-81.6696 30.7536
+-81.6051 30.7289
+-81.5666 30.7324
+-81.5295 30.7229
+-81.4856 30.7253
+-81.4609 30.7111
+-81.4169 30.7088
+-81.2274 30.7064
+-81.2357 30.4345
+-81.1725 30.3160
+-81.0379 29.7763
+-80.5861 28.8603
+-80.3650 28.4771
+-80.3815 28.1882
+-79.9255 27.1789
+-79.8198 26.8425
+-79.9118 26.1394
+-79.9997 25.5115
+-80.3815 24.8802
+-80.8704 24.5384
+-81.9250 24.3959
+-82.2066 24.4496
+-82.3137 24.5484
+-82.1997 24.6982
+-81.3977 25.2112
+-81.4622 25.6019
+-81.9456 25.9235
+-82.2876 26.3439
+-82.5307 26.9098
+-82.8342 27.3315
+-83.0182 27.7565
+-83.0017 28.0574
+-82.8548 28.6098
+-83.0264 28.9697
+-83.2050 29.0478
+-83.5318 29.4157
+-83.9767 29.9133
+-84.1072 29.8930
+-84.4409 29.6940
+-85.0465 29.4551
+-85.3610 29.4946
+-85.5807 29.7262
+-86.1946 30.1594
+-86.8510 30.2175
+-87.5171 30.1499
+-87.4429 30.3006
+-87.3750 30.4256
+-87.3743 30.4830
+-87.3907 30.5658
+-87.4004 30.6344
+-87.4141 30.6763
+-87.5253 30.7702
+-87.6256 30.8527
+-87.5912 30.9470
+-87.5912 30.9682
+-87.6050 30.9964
+----
+-85.6082 34.9974
+-84.7266 34.9906
+-84.1580 34.9895
+-83.1088 34.9996
+-83.1418 34.9287
+-83.3025 34.8318
+-83.3560 34.7281
+-83.3080 34.6569
+-83.1528 34.5744
+-83.0072 34.4839
+-82.8918 34.4681
+-82.8589 34.4443
+-82.7490 34.2674
+-82.6831 34.1254
+-82.5952 34.0140
+-82.3988 33.8647
+-82.2505 33.7563
+-82.2217 33.6695
+-82.1558 33.5963
+-82.0432 33.5036
+-81.9484 33.3707
+-81.8303 33.2077
+-81.7795 33.1674
+-81.7424 33.1456
+-81.6078 33.0881
+-81.5034 33.0075
+-81.5089 32.9418
+-81.4142 32.6914
+-81.4087 32.5815
+-81.2769 32.5283
+-81.1945 32.4576
+-81.1642 32.3185
+-81.1436 32.2151
+-81.1134 32.1128
+-80.9225 32.0477
+-80.6960 32.0500
+-80.7289 31.8881
+-80.9665 31.4697
+-81.1011 30.9988
+-81.2288 30.7041
+-81.6023 30.7241
+-81.7657 30.7713
+-81.9498 30.8221
+-82.0239 30.7560
+-82.0459 30.6379
+-82.0239 30.4866
+-82.0363 30.4309
+-82.0610 30.3575
+-82.1585 30.3598
+-82.2025 30.3859
+-82.2148 30.4842
+-82.2162 30.5682
+-82.9688 30.6131
+-84.8639 30.7041
+-84.9257 30.7831
+-84.9586 30.9117
+-84.9985 30.9741
+-85.0630 31.1282
+-85.1070 31.2116
+-85.0493 31.5247
+-85.1358 31.8006
+-85.0919 31.9592
+-85.0342 32.1570
+-84.9023 32.2500
+-84.9628 32.3974
+-85.0342 32.5468
+-85.1001 32.6949
+-85.1660 32.8138
+-85.2072 32.9833
+-85.3418 33.6512
+-85.5231 34.5620
+-85.6068 34.9929
+----
+-95.7623 40.5848
+-93.5445 40.5785
+-91.7372 40.6129
+-91.6768 40.5545
+-91.6246 40.5451
+-91.4365 40.3622
+-91.3623 40.4637
+-91.4021 40.5482
+-91.1124 40.6931
+-91.1028 40.8107
+-90.9668 40.9218
+-91.0121 41.1642
+-91.1082 41.2406
+-91.0451 41.4067
+-90.7086 41.4510
+-90.4793 41.5178
+-90.3419 41.5908
+-90.2788 41.7457
+-90.2074 41.8164
+-90.1538 41.9023
+-90.1744 42.0962
+-90.2692 42.1441
+-90.4298 42.2905
+-90.5370 42.4093
+-90.6400 42.5217
+-90.7127 42.6360
+-90.7883 42.6956
+-91.0533 42.7712
+-91.0904 42.8448
+-91.1398 42.9082
+-91.1549 43.0609
+-91.1522 43.1391
+-91.0547 43.2882
+-91.2057 43.3322
+-91.2236 43.4140
+-91.2305 43.5008
+-96.5973 43.4998
+-96.6110 43.4818
+-96.5245 43.3871
+-96.5533 43.2232
+-96.4421 43.1301
+-96.5479 42.9243
+-96.6357 42.7188
+-96.5561 42.6158
+-96.4847 42.5055
+-96.3995 42.4599
+-96.4050 42.3667
+-96.3446 42.2722
+-96.3625 42.2051
+-96.2416 41.9983
+-96.1372 41.9513
+-96.0741 41.7662
+-96.0988 41.6267
+-95.9477 41.4561
+-95.8804 41.2819
+-95.8653 41.0338
+-95.8365 40.8346
+-95.8461 40.6775
+-95.7610 40.5837
+----
+-117.0319 49.0000
+-116.0486 49.0018
+-116.0445 47.9752
+-115.6915 47.5765
+-115.7574 47.5487
+-115.7595 47.4239
+-115.5350 47.3109
+-115.3235 47.2606
+-115.2878 47.1888
+-115.2493 47.1542
+-115.0433 46.9728
+-114.9472 46.8677
+-114.7865 46.7201
+-114.7549 46.6984
+-114.5874 46.6325
+-114.4638 46.6325
+-114.3279 46.6466
+-114.3430 46.5135
+-114.3896 46.4530
+-114.4144 46.3488
+-114.4611 46.2682
+-114.5105 46.1227
+-114.4418 45.8585
+-114.5654 45.7742
+-114.5229 45.6745
+-114.5654 45.5621
+-114.4666 45.5439
+-114.3375 45.4601
+-114.2441 45.5468
+-114.1342 45.5631
+-113.9708 45.6889
+-113.8403 45.6102
+-113.7978 45.4409
+-113.7085 45.2720
+-113.4256 45.0260
+-113.4998 44.9405
+-113.3459 44.7887
+-113.2471 44.8062
+-113.1180 44.7350
+-113.0246 44.4887
+-112.8502 44.3592
+-112.8310 44.4151
+-112.7266 44.4887
+-112.3901 44.4504
+-112.3270 44.5347
+-112.1127 44.5220
+-111.8848 44.5582
+-111.8271 44.5132
+-111.4645 44.5396
+-111.5057 44.6198
+-111.3684 44.7292
+-111.0539 44.4759
+-111.0471 43.8623
+-111.0471 42.0013
+-112.1663 41.9962
+-113.8458 41.9871
+-114.0422 41.9942
+-114.8222 42.0013
+-115.9126 41.9973
+-117.0140 41.9962
+-117.0264 42.0013
+-117.0277 43.7820
+-117.0325 43.8330
+-117.0030 43.8632
+-116.9776 43.9073
+-116.9302 44.0244
+-116.9735 44.0491
+-116.9330 44.1014
+-116.8945 44.1561
+-116.9714 44.1965
+-116.9810 44.2442
+-117.0339 44.2486
+-117.0525 44.2304
+-117.0895 44.2585
+-117.1122 44.2806
+-117.1541 44.2590
+-117.2255 44.2973
+-117.1994 44.3445
+-117.2372 44.3813
+-117.2269 44.4769
+-117.1836 44.5234
+-117.1458 44.5376
+-117.0442 44.7423
+-116.9316 44.7921
+-116.8980 44.8568
+-116.8327 44.9356
+-116.8513 44.9624
+-116.8554 44.9896
+-116.8417 45.0313
+-116.7819 45.0968
+-116.7229 45.1627
+-116.7105 45.2178
+-116.6741 45.3213
+-116.6185 45.3984
+-116.5883 45.4433
+-116.5553 45.4630
+-116.5334 45.5371
+-116.4640 45.6140
+-116.5354 45.6904
+-116.5354 45.7340
+-116.5594 45.7541
+-116.6357 45.7843
+-116.5965 45.7781
+-116.6597 45.7805
+-116.7105 45.8259
+-116.7586 45.8159
+-116.7908 45.8341
+-116.8046 45.8642
+-116.8595 45.9053
+-116.8739 45.9545
+-116.8925 45.9769
+-116.9302 46.0218
+-116.9838 46.0932
+-116.9344 46.1385
+-116.9268 46.1727
+-116.9646 46.2007
+-116.9591 46.2435
+-116.9920 46.2782
+-117.0209 46.3152
+-117.0511 46.3446
+-117.0408 46.4270
+-117.0394 46.9451
+-117.0319 48.9996
+----
+-90.6290 42.5116
+-87.0213 42.4924
+-87.2067 41.7641
+-87.5226 41.7611
+-87.5336 39.6417
+-87.5308 39.3566
+-87.6517 39.1386
+-87.5157 38.9445
+-87.5047 38.7294
+-87.6146 38.6115
+-87.6544 38.4944
+-87.7780 38.3740
+-87.8371 38.2856
+-87.9758 38.2414
+-87.9291 38.1454
+-88.0225 37.9788
+-88.0458 37.8900
+-88.0321 37.7881
+-88.1529 37.6349
+-88.0609 37.5097
+-88.4152 37.4149
+-88.5086 37.2828
+-88.4221 37.1428
+-88.4990 37.0585
+-88.7256 37.1428
+-88.9453 37.2128
+-89.0689 37.1559
+-89.1650 37.0376
+-89.2873 36.9894
+-89.4356 37.1505
+-89.5345 37.2762
+-89.4315 37.3996
+-89.5358 37.6936
+-89.9670 37.9767
+-90.3790 38.2587
+-90.2376 38.6169
+-90.1744 38.7573
+-90.1167 38.8247
+-90.1799 38.8846
+-90.4504 38.9680
+-90.5905 38.8654
+-90.7086 39.0405
+-90.7306 39.2301
+-90.8350 39.3173
+-90.9338 39.3853
+-91.1398 39.5559
+-91.3554 39.7262
+-91.4406 39.8570
+-91.4941 39.9940
+-91.5120 40.1694
+-91.4667 40.3497
+-91.3939 40.4166
+-91.4021 40.5566
+-91.2524 40.6265
+-91.1151 40.6963
+-91.0890 40.8232
+-90.9792 40.9312
+-91.0162 41.1642
+-91.1055 41.2355
+-91.0368 41.4170
+-90.8487 41.4458
+-90.7251 41.4417
+-90.3516 41.5816
+-90.2637 41.7713
+-90.1538 41.9023
+-90.1758 42.0819
+-90.3598 42.2021
+-90.4395 42.2936
+-90.5356 42.4032
+-90.6564 42.4843
+----
+-87.5253 41.7611
+-84.8090 41.7611
+-84.8199 39.0981
+-84.8927 39.0533
+-84.8625 38.8996
+-84.8268 38.8312
+-84.8145 38.7841
+-84.8941 38.7905
+-84.9861 38.7809
+-85.1797 38.6877
+-85.4420 38.7198
+-85.4091 38.5653
+-85.5986 38.4461
+-85.7510 38.2695
+-85.8266 38.2824
+-85.8376 38.2414
+-85.9035 38.0967
+-85.9200 38.0232
+-86.0477 37.9594
+-86.0944 38.0102
+-86.2729 38.0578
+-86.2811 38.0935
+-86.2729 38.1346
+-86.3704 38.1842
+-86.5187 38.0416
+-86.5874 37.9193
+-86.6409 37.8402
+-86.6478 37.9085
+-86.6876 37.9085
+-86.8236 37.9821
+-86.9019 37.9464
+-87.0392 37.9009
+-87.1394 37.7924
+-87.4429 37.9464
+-87.5885 37.9756
+-87.6283 37.9225
+-87.6915 37.8694
+-87.8879 37.9236
+-87.9620 37.7718
+-88.0321 37.7870
+-88.0376 37.8092
+-88.0643 37.8011
+-88.0925 37.8206
+-88.0451 37.8223
+-88.0575 37.8483
+-88.0980 37.9041
+-88.0705 37.9307
+-88.0369 37.9561
+-88.0122 37.9669
+-88.0259 38.0102
+-88.0417 38.0384
+-88.0005 38.0530
+-87.9607 38.0762
+-88.0163 38.1000
+-87.9710 38.1313
+-87.9284 38.1497
+-87.9387 38.1734
+-87.9730 38.1939
+-87.9813 38.2349
+-87.9421 38.2608
+-87.8604 38.2759
+-87.8302 38.3029
+-87.8350 38.3233
+-87.8137 38.3567
+-87.7739 38.3767
+-87.7444 38.4116
+-87.6448 38.5149
+-87.6723 38.5460
+-87.6105 38.5949
+-87.6242 38.5986
+-87.5343 38.6828
+-87.5075 38.7284
+-87.4972 38.7696
+-87.5322 38.8247
+-87.5171 38.9039
+-87.5253 38.9413
+-87.5281 38.9712
+-87.5761 38.9872
+-87.6228 39.0906
+-87.6517 39.1066
+-87.6599 39.1365
+-87.6366 39.1695
+-87.5899 39.2493
+-87.5336 39.3492
+-87.5253 41.7600
+----
+-102.0506 40.0034
+-102.0506 40.0034
+-102.0438 36.9927
+-94.6211 36.9982
+-94.6046 38.8803
+-94.6143 39.0789
+-94.6184 39.1971
+-94.7255 39.1673
+-94.8793 39.2759
+-95.0990 39.5612
+-94.8807 39.7283
+-94.8930 39.8286
+-94.9342 39.8823
+-95.0098 39.8971
+-95.0922 39.8760
+-95.2213 39.9445
+-95.3036 40.0087
+-102.0506 40.0024
+----
+-89.5372 36.4986
+-89.3010 36.5074
+-88.6871 36.5008
+-88.0568 36.4931
+-88.0692 36.6695
+-87.8535 36.6343
+-86.5654 36.6265
+-83.6375 36.5979
+-83.3423 36.6860
+-83.1377 36.7466
+-82.8589 36.9762
+-82.3192 37.2894
+-82.0308 37.4934
+-82.2121 37.6653
+-82.4016 37.8618
+-82.5073 37.9908
+-82.6392 38.1778
+-82.5952 38.3761
+-82.7477 38.5030
+-82.8369 38.5825
+-82.9015 38.7316
+-83.0196 38.7027
+-83.1418 38.6190
+-83.2819 38.5986
+-83.5291 38.6941
+-83.6595 38.6351
+-83.8930 38.7487
+-84.0440 38.7701
+-84.2184 38.8119
+-84.3228 38.9872
+-84.4917 39.1013
+-84.6277 39.1183
+-84.7554 39.1439
+-84.8914 39.0523
+-84.8735 38.9263
+-84.8131 38.7894
+-84.9957 38.7691
+-85.1921 38.6866
+-85.4407 38.7209
+-85.4077 38.5653
+-85.5972 38.4461
+-85.7455 38.2748
+-85.8087 38.2716
+-85.8650 38.2069
+-85.9323 38.0286
+-86.0422 37.9550
+-86.1108 38.0135
+-86.2756 38.0643
+-86.2770 38.1389
+-86.3690 38.1864
+-86.5283 38.0308
+-86.5874 37.9204
+-86.6423 37.8423
+-86.6547 37.9041
+-86.8250 37.9864
+-87.0406 37.9095
+-87.1381 37.7935
+-87.4168 37.9420
+-87.5858 37.9745
+-87.6929 37.8749
+-87.8906 37.9215
+-87.9552 37.7761
+-88.0307 37.7903
+-88.1584 37.6479
+-88.0664 37.5097
+-88.4180 37.4193
+-88.5086 37.2784
+-88.4248 37.1428
+-88.5059 37.0738
+-88.7421 37.1461
+-88.9522 37.2249
+-89.0964 37.1406
+-89.1815 37.0278
+-89.1032 36.9488
+-89.1733 36.8214
+-89.1925 36.7411
+-89.2007 36.6265
+-89.2529 36.5449
+-89.3518 36.6232
+-89.5345 36.4986
+----
+-94.0430 33.0225
+-93.0048 33.0179
+-91.1646 33.0087
+-91.2209 32.9269
+-91.1220 32.8773
+-91.1481 32.8358
+-91.1412 32.7642
+-91.1536 32.6382
+-91.1069 32.5804
+-91.0080 32.6093
+-91.0904 32.4588
+-91.0355 32.4379
+-91.0286 32.3742
+-90.9064 32.3150
+-90.9723 32.2616
+-91.0464 32.1942
+-91.0739 32.1198
+-91.0464 32.0593
+-91.1014 31.9918
+-91.1865 31.9498
+-91.3101 31.8262
+-91.3527 31.7947
+-91.3925 31.6230
+-91.5134 31.6218
+-91.4310 31.5668
+-91.5161 31.5130
+-91.5244 31.3701
+-91.5477 31.2598
+-91.6425 31.2692
+-91.6603 31.2328
+-91.5848 31.1917
+-91.6287 31.1047
+-91.5614 31.0318
+-91.6397 30.9988
+-89.7336 31.0012
+-89.8517 30.6686
+-89.7858 30.5386
+-89.6347 30.3148
+-89.5688 30.1807
+-89.4960 30.1582
+-89.1843 30.2140
+-89.0373 30.1463
+-88.8354 30.0905
+-88.7421 29.8383
+-88.8712 29.5758
+-88.9371 29.1833
+-89.0359 28.9649
+-89.2282 28.8832
+-89.4754 28.9048
+-89.7418 29.1210
+-90.1126 28.9529
+-90.6619 28.9120
+-91.0355 28.9553
+-91.3211 29.1210
+-91.9061 29.2864
+-92.7452 29.4360
+-93.8177 29.6009
+-93.8631 29.6749
+-93.8933 29.7370
+-93.9304 29.7930
+-93.9276 29.8216
+-93.8370 29.8883
+-93.7985 29.9811
+-93.7601 30.0144
+-93.7106 30.0691
+-93.7354 30.0929
+-93.6996 30.1166
+-93.7271 30.1997
+-93.7106 30.2899
+-93.7656 30.3350
+-93.7601 30.3871
+-93.6914 30.4416
+-93.7106 30.5102
+-93.7463 30.5433
+-93.7106 30.5954
+-93.6914 30.5906
+-93.6859 30.6545
+-93.6365 30.6781
+-93.6200 30.7513
+-93.5925 30.7890
+-93.5513 30.8150
+-93.5623 30.8645
+-93.5788 30.8881
+-93.5541 30.9187
+-93.5294 30.9423
+-93.5760 31.0082
+-93.5101 31.0318
+-93.5596 31.0906
+-93.5321 31.1211
+-93.5349 31.1799
+-93.5953 31.1658
+-93.6282 31.2292
+-93.6118 31.2668
+-93.6859 31.3044
+-93.6694 31.3888
+-93.7051 31.4240
+-93.6859 31.4427
+-93.7573 31.4755
+-93.7189 31.5083
+-93.8040 31.5411
+-93.8425 31.6113
+-93.8205 31.6581
+-93.7985 31.7071
+-93.8480 31.8029
+-93.9029 31.8892
+-93.9606 31.9149
+-94.0430 32.0081
+-94.0430 32.7041
+-94.0430 33.0225
+----
+-72.7789 42.0003
+-72.7405 42.0330
+-72.3779 42.0330
+-71.7984 42.0228
+-71.8011 42.0085
+-71.3850 42.0197
+-71.3837 41.8961
+-71.3411 41.8982
+-71.3370 41.8358
+-71.3493 41.8245
+-71.3342 41.7816
+-71.2628 41.7529
+-71.1914 41.6719
+-71.1351 41.6616
+-71.1433 41.6124
+-71.1310 41.5939
+-71.1214 41.4973
+-71.0266 41.3149
+-70.8316 41.1590
+-69.9225 41.1662
+-69.7948 41.3201
+-69.7398 41.8133
+-70.0337 42.1939
+-70.5144 42.2173
+-70.6984 42.4133
+-70.3647 42.6420
+-70.4759 42.8286
+-70.6133 42.8760
+-70.8440 42.8619
+-70.9154 42.8890
+-71.0651 42.8075
+-71.1337 42.8226
+-71.1859 42.7873
+-71.1832 42.7369
+-71.2189 42.7470
+-71.2560 42.7400
+-71.2985 42.6986
+-71.9151 42.7127
+-72.5441 42.7309
+-73.2541 42.7450
+-73.2664 42.7460
+-73.3406 42.5460
+-73.4436 42.2671
+-73.4917 42.1349
+-73.5081 42.0880
+-73.4985 42.0483
+-73.1841 42.0452
+-72.8146 42.0371
+-72.8160 41.9962
+-72.7803 42.0024
+----
+-79.4778 39.7220
+-78.3600 39.7220
+-75.7878 39.7220
+-75.7809 39.5655
+-75.7617 39.3152
+-75.7329 38.9498
+-75.6944 38.4611
+-74.8581 38.4482
+-74.9721 38.0200
+-75.2316 38.0275
+-75.6079 37.9962
+-75.6230 37.9951
+-75.6436 37.9464
+-75.7288 37.9529
+-75.8084 37.9117
+-75.9512 37.9095
+-75.9430 37.9464
+-76.0584 37.9529
+-76.2396 37.8889
+-76.3454 37.9474
+-76.4154 37.9669
+-76.4703 38.0146
+-76.5170 38.0275
+-76.5363 38.0751
+-76.6063 38.1464
+-76.6928 38.1616
+-76.7601 38.1670
+-76.8494 38.1637
+-76.9482 38.2080
+-76.9908 38.2748
+-77.0306 38.3093
+-77.0114 38.3761
+-77.0430 38.4009
+-77.0897 38.3697
+-77.1432 38.3697
+-77.2627 38.3320
+-77.3135 38.4525
+-77.2737 38.5514
+-77.2490 38.5954
+-77.1281 38.6373
+-77.1378 38.6737
+-77.0760 38.7112
+-77.0361 38.7187
+-77.0416 38.7766
+-77.0320 38.8451
+-77.0708 38.9025
+-77.1395 38.9570
+-77.2335 38.9773
+-77.2462 39.0240
+-77.3431 39.0634
+-77.4351 39.0717
+-77.4636 39.0792
+-77.5202 39.1218
+-77.5092 39.1804
+-77.4577 39.2269
+-77.5666 39.3051
+-77.6321 39.3067
+-77.7159 39.3202
+-77.7626 39.3383
+-77.7544 39.3810
+-77.7602 39.4288
+-77.8038 39.4367
+-77.7997 39.4606
+-77.7859 39.5019
+-77.8436 39.5062
+-77.8217 39.5210
+-77.8354 39.5337
+-77.8656 39.5231
+-77.8848 39.5591
+-77.8821 39.6015
+-77.9974 39.6078
+-78.0222 39.6247
+-78.1430 39.6924
+-78.1924 39.6945
+-78.2062 39.6839
+-78.2419 39.6839
+-78.2281 39.6586
+-78.2776 39.6226
+-78.3517 39.6438
+-78.3765 39.6120
+-78.4067 39.6036
+-78.4177 39.5824
+-78.4245 39.5750
+-78.4232 39.5464
+-78.4698 39.5146
+-78.5687 39.5189
+-78.6676 39.5337
+-78.7390 39.5888
+-78.7720 39.6015
+-78.7363 39.6184
+-78.7775 39.6438
+-78.7912 39.6036
+-78.8187 39.6036
+-78.8571 39.5549
+-78.9203 39.4913
+-78.9725 39.4426
+-79.0542 39.4834
+-79.0604 39.4738
+-79.1043 39.4553
+-79.1936 39.3853
+-79.2705 39.3449
+-79.3282 39.3014
+-79.4044 39.2535
+-79.4696 39.2073
+-79.4861 39.2051
+-79.4861 39.2546
+-79.4854 39.3444
+-79.4840 39.3454
+-79.4833 39.5316
+-79.4772 39.7214
+----
+-71.0129 45.3425
+-70.9525 45.3328
+-70.8618 45.2294
+-70.8247 45.3917
+-70.7808 45.4274
+-70.6380 45.3830
+-70.7190 45.5092
+-70.5721 45.6544
+-70.3894 45.7292
+-70.4169 45.7924
+-70.2493 45.9368
+-70.3098 45.9597
+-70.2946 46.0923
+-70.2589 46.0989
+-70.2466 46.1342
+-70.2905 46.1903
+-70.2466 46.2710
+-70.2040 46.3270
+-70.0571 46.4151
+-69.9994 46.6956
+-69.2303 47.4550
+-69.0381 47.4132
+-69.0504 47.2578
+-68.8843 47.1748
+-68.6206 47.2643
+-68.3350 47.3546
+-68.1564 47.3165
+-67.8804 47.1038
+-67.7898 47.0664
+-67.7802 45.9359
+-67.7527 45.9177
+-67.8090 45.7599
+-67.6524 45.6208
+-67.4533 45.5987
+-67.4176 45.5044
+-67.5014 45.4823
+-67.4231 45.3714
+-67.4863 45.2768
+-67.3434 45.1297
+-67.2487 45.1830
+-67.1223 45.1230
+-66.9672 44.8315
+-66.8628 44.7409
+-67.3105 44.4945
+-67.9051 44.3268
+-68.6673 43.8702
+-68.8431 43.7274
+-69.7137 43.6639
+-70.0818 43.5625
+-70.5569 42.9182
+-70.7108 43.0649
+-70.8302 43.1391
+-70.8179 43.2292
+-70.9799 43.3631
+-70.9717 43.5675
+-71.0829 45.3029
+----
+-88.3713 48.3033
+-87.6050 48.0101
+-84.8584 46.8902
+-84.7650 46.6362
+-84.5563 46.4606
+-84.4780 46.4525
+-84.4450 46.4894
+-84.4203 46.5008
+-84.3956 46.4989
+-84.3750 46.5093
+-84.3386 46.5069
+-84.2905 46.4927
+-84.2651 46.4951
+-84.2253 46.5343
+-84.1951 46.5404
+-84.1779 46.5272
+-84.1347 46.5348
+-84.1113 46.5041
+-84.1457 46.4189
+-84.1395 46.3720
+-84.1058 46.3218
+-84.1203 46.3147
+-84.1148 46.2672
+-84.0969 46.2563
+-84.1093 46.2411
+-84.0859 46.2098
+-84.0777 46.1879
+-84.0097 46.1508
+-84.0070 46.1180
+-83.9761 46.1018
+-83.9555 46.0570
+-83.9040 46.0604
+-83.8264 46.1185
+-83.7598 46.1028
+-83.6547 46.1218
+-83.5723 46.1056
+-83.4343 45.9993
+-83.5977 45.8211
+-82.5197 45.3396
+-82.1221 43.5918
+-82.4119 43.0112
+-82.4249 42.9956
+-82.4236 42.9579
+-82.4648 42.9021
+-82.4689 42.8543
+-82.4826 42.8100
+-82.4723 42.7863
+-82.4847 42.7339
+-82.5032 42.6855
+-82.5108 42.6380
+-82.5307 42.6036
+-82.5774 42.5672
+-82.5993 42.5490
+-82.6501 42.5521
+-82.6680 42.5354
+-82.7257 42.4746
+-82.7250 42.4726
+-82.8280 42.3738
+-82.9440 42.3469
+-82.9550 42.3382
+-83.0779 42.3098
+-83.1294 42.2392
+-83.1342 42.1741
+-83.1212 42.1267
+-83.1493 42.0411
+-83.1116 41.9600
+-83.4164 41.7344
+-83.8724 41.7211
+-84.3736 41.7057
+-84.8062 41.6965
+-84.8076 41.7611
+-87.2067 41.7621
+-87.0241 42.4934
+-87.1477 43.3771
+-87.1216 43.7056
+-87.0474 43.9958
+-86.9939 44.1674
+-86.8662 44.4720
+-86.6849 44.8841
+-86.5009 45.0813
+-86.2495 45.2353
+-86.7563 45.4438
+-87.0996 45.4438
+-87.1518 45.3772
+-87.1710 45.3502
+-87.3166 45.2401
+-87.4059 45.2024
+-87.4416 45.0774
+-87.5912 45.0910
+-87.6407 45.1036
+-87.6970 45.2207
+-87.6476 45.3367
+-87.6984 45.3878
+-87.8494 45.3425
+-87.7959 45.5025
+-87.7890 45.6726
+-87.9318 45.7570
+-87.9922 45.7953
+-88.1186 45.8058
+-88.0870 45.8585
+-88.1955 45.9531
+-88.3438 45.9722
+-88.3891 45.9836
+-88.5457 46.0113
+-88.7022 45.9970
+-88.8135 46.0227
+-88.8547 46.0418
+-89.0936 46.1408
+-90.1222 46.3384
+-90.4175 46.5692
+-90.2019 46.9034
+-89.9547 47.2913
+-89.4946 48.0129
+-89.3381 47.9743
+-88.6761 48.2448
+-88.3726 48.3042
+----
+-96.4517 43.5008
+-91.2195 43.5017
+-91.3101 43.8226
+-91.4914 43.9651
+-91.7084 44.1113
+-91.8951 44.2806
+-91.9556 44.3710
+-92.2083 44.4357
+-92.3360 44.5513
+-92.6367 44.6501
+-92.7658 44.7877
+-92.7081 45.3135
+-92.6532 45.4505
+-92.8482 45.6083
+-92.7356 45.8307
+-92.5159 45.9760
+-92.3566 46.0151
+-92.2934 46.0789
+-92.2879 46.5957
+-90.6564 47.3072
+-89.9615 47.2885
+-89.4919 48.0120
+-89.7583 48.0193
+-89.9931 48.0285
+-90.0261 48.0827
+-90.1758 48.1074
+-90.3502 48.0955
+-90.4834 48.1074
+-90.5644 48.1175
+-90.7471 48.0928
+-90.7759 48.1588
+-90.8405 48.2402
+-90.9792 48.2174
+-91.3252 48.0726
+-91.5738 48.0505
+-91.7070 48.1166
+-91.7166 48.1963
+-91.9844 48.2494
+-92.0078 48.3188
+-92.0531 48.3544
+-92.1561 48.3599
+-92.2975 48.3307
+-92.2742 48.2475
+-92.3717 48.2228
+-92.4609 48.3854
+-92.5104 48.4474
+-92.7122 48.4611
+-92.6340 48.4984
+-92.6395 48.5403
+-93.2066 48.6393
+-93.4648 48.5884
+-93.4621 48.5439
+-93.8013 48.5166
+-93.8356 48.6284
+-94.2531 48.6547
+-94.2792 48.7046
+-94.4467 48.6982
+-94.6925 48.7861
+-94.6788 48.8756
+-94.7488 49.0955
+-94.7955 49.1889
+-94.8175 49.3189
+-94.9631 49.3815
+-95.0400 49.3538
+-95.1196 49.3681
+-95.1553 49.3877
+-95.1553 48.9991
+-97.2304 49.0000
+-97.1851 48.8647
+-97.1576 48.7806
+-97.1040 48.6683
+-97.1645 48.5539
+-97.1411 48.2832
+-97.1397 48.1578
+-97.0587 47.9633
+-96.9434 47.7098
+-96.8582 47.5821
+-96.8335 47.2345
+-96.8005 46.6702
+-96.7126 46.5135
+-96.6028 46.2786
+-96.5767 46.0189
+-96.5891 45.8173
+-96.8486 45.6169
+-96.7456 45.4601
+-96.5918 45.3676
+-96.4558 45.2961
+-96.4531 43.5008
+----
+-91.7468 40.6181
+-91.6809 40.5597
+-91.6260 40.5472
+-91.5463 40.4658
+-91.4337 40.3675
+-91.5161 40.1663
+-91.4900 39.9866
+-91.4447 39.8634
+-91.3623 39.7283
+-91.3074 39.6861
+-91.1096 39.5464
+-90.9558 39.4022
+-90.7306 39.2450
+-90.6812 38.9893
+-90.5878 38.8697
+-90.4504 38.9722
+-90.1813 38.8868
+-90.1154 38.8269
+-90.1978 38.7155
+-90.3186 38.4149
+-90.3790 38.2597
+-89.9341 37.9572
+-89.5331 37.6925
+-89.4287 37.4007
+-89.5386 37.2784
+-89.4452 37.1734
+-89.3793 37.0859
+-89.2859 36.9938
+-89.1829 37.0311
+-89.1403 36.9839
+-89.1005 36.9466
+-89.1788 36.7884
+-89.2035 36.6288
+-89.2516 36.5449
+-89.3532 36.6188
+-89.4397 36.5538
+-89.5358 36.4942
+-89.5331 36.3594
+-89.5345 36.2509
+-89.6100 36.0891
+-89.7116 36.0002
+-90.3735 35.9958
+-90.2747 36.1223
+-90.0934 36.2886
+-90.0769 36.3903
+-90.1538 36.4213
+-90.1538 36.5008
+-94.6184 36.4975
+-94.6143 38.9722
+-94.6143 39.1982
+-94.7241 39.1684
+-94.8834 39.2790
+-95.1086 39.5612
+-94.8834 39.7283
+-94.8944 39.8296
+-94.9384 39.8845
+-95.0153 39.8971
+-95.0922 39.8718
+-95.3119 40.0066
+-95.4794 40.2460
+-95.6635 40.3256
+-95.7527 40.5879
+-94.3135 40.5795
+-92.5818 40.5962
+-91.7358 40.6140
+----
+-90.3049 35.0041
+-88.1955 35.0075
+-88.0994 34.8882
+-88.1241 34.7044
+-88.2573 33.6661
+-88.4756 31.8939
+-88.4180 30.8657
+-88.3850 30.1594
+-88.8327 30.0905
+-89.1870 30.2104
+-89.4919 30.1570
+-89.5757 30.1796
+-89.6457 30.3326
+-89.7748 30.5232
+-89.8531 30.6663
+-89.7377 30.9988
+-91.6287 30.9988
+-91.5601 31.0341
+-91.6273 31.1106
+-91.5916 31.1658
+-91.6589 31.2304
+-91.6452 31.2656
+-91.5436 31.2609
+-91.5271 31.3724
+-91.5161 31.4099
+-91.5120 31.5071
+-91.4502 31.5692
+-91.5147 31.6230
+-91.3966 31.6253
+-91.3513 31.7936
+-91.2744 31.8589
+-91.1673 31.9755
+-91.0767 32.0267
+-91.0767 32.1198
+-91.0437 32.1942
+-91.0107 32.2221
+-90.9132 32.3150
+-91.0313 32.3742
+-91.0217 32.4263
+-91.0986 32.4634
+-91.0080 32.6070
+-91.1096 32.5746
+-91.1536 32.6394
+-91.1426 32.7226
+-91.1426 32.7873
+-91.1536 32.8519
+-91.1206 32.8796
+-91.2195 32.9257
+-91.2085 32.9995
+-91.2016 33.0444
+-91.2016 33.1192
+-91.1041 33.1835
+-91.1536 33.3397
+-91.1646 33.4223
+-91.2291 33.4337
+-91.2524 33.5414
+-91.1838 33.6135
+-91.2524 33.6878
+-91.1261 33.6969
+-91.1426 33.7883
+-91.0437 33.7700
+-91.0327 33.8339
+-91.0657 33.8795
+-91.0876 33.9434
+-90.9998 33.9889
+-90.9229 34.0253
+-90.9009 34.0891
+-90.9668 34.1345
+-90.9119 34.1709
+-90.8501 34.1345
+-90.9338 34.2277
+-90.8267 34.2833
+-90.6921 34.3434
+-90.6509 34.3774
+-90.6152 34.3978
+-90.5589 34.4432
+-90.5740 34.5179
+-90.5823 34.5880
+-90.5356 34.7506
+-90.5136 34.7913
+-90.4532 34.8780
+-90.3543 34.8476
+-90.2911 34.8702
+-90.3062 35.0041
+----
+-111.0512 44.4750
+-111.3684 44.7311
+-111.5071 44.6198
+-111.4673 44.5386
+-111.8285 44.5151
+-111.8848 44.5592
+-112.1127 44.5229
+-112.3270 44.5367
+-112.3901 44.4475
+-112.7293 44.4896
+-112.8296 44.4181
+-112.8529 44.3563
+-113.0205 44.4857
+-113.0713 44.5905
+-113.1152 44.7389
+-113.2471 44.8091
+-113.3459 44.7887
+-113.4970 44.9386
+-113.4229 45.0269
+-113.7085 45.2749
+-113.7964 45.4447
+-113.8403 45.6140
+-113.9722 45.6908
+-114.1315 45.5631
+-114.2358 45.5525
+-114.3347 45.4592
+-114.4652 45.5439
+-114.5668 45.5583
+-114.5215 45.6755
+-114.5641 45.7733
+-114.4391 45.8613
+-114.4817 45.9989
+-114.5132 46.1237
+-114.4652 46.2577
+-114.4171 46.3441
+-114.3896 46.4530
+-114.3484 46.5069
+-114.3279 46.6504
+-114.4652 46.6334
+-114.5929 46.6362
+-114.7659 46.7003
+-114.9307 46.8423
+-115.1147 47.0402
+-115.2933 47.1888
+-115.3290 47.2569
+-115.5267 47.3025
+-115.7547 47.4253
+-115.7533 47.5487
+-115.6956 47.5793
+-116.0458 47.9771
+-116.0458 48.9991
+-104.0501 48.9991
+-104.0186 45.0269
+-104.0186 45.0153
+-104.0199 44.9978
+-111.0498 44.9959
+-111.0512 44.4750
+----
+-78.4850 33.7963
+-79.6742 34.8037
+-80.8003 34.8206
+-80.7880 34.9377
+-80.9377 35.1019
+-81.0379 35.0356
+-81.0324 35.1457
+-81.3867 35.1660
+-82.2739 35.1985
+-82.3933 35.2041
+-82.7765 35.0637
+-82.7861 35.0817
+-83.1075 34.9996
+-83.6183 34.9918
+-84.3201 34.9918
+-84.2885 35.2131
+-84.2226 35.2680
+-84.1113 35.2310
+-84.0454 35.2815
+-84.0248 35.4058
+-83.9424 35.4719
+-83.8559 35.5166
+-83.6938 35.5512
+-83.5181 35.5680
+-83.3849 35.6327
+-83.2475 35.7142
+-82.9962 35.7799
+-82.9276 35.8445
+-82.8191 35.9224
+-82.7710 35.9958
+-82.6419 36.0613
+-82.6103 35.9702
+-82.5677 35.9547
+-82.4730 36.0236
+-82.4194 36.0669
+-82.3535 36.1168
+-82.2862 36.1345
+-82.1461 36.1467
+-82.1228 36.1035
+-82.0267 36.1268
+-81.9360 36.2797
+-81.7987 36.3527
+-81.7081 36.3361
+-81.6724 36.5880
+-80.7234 36.5659
+-80.2977 36.5438
+-79.6729 36.5449
+-77.2559 36.5449
+-75.7562 36.5505
+-75.7068 36.3129
+-75.4129 35.7131
+-75.4720 35.2041
+-76.0748 34.9794
+-76.4951 34.5258
+-76.8109 34.5880
+-77.1378 34.5314
+-77.4481 34.3910
+-77.7983 34.0481
+-77.9260 33.7666
+-78.4863 33.7963
+----
+-104.0501 48.9955
+-104.0446 45.9445
+-96.5671 45.9340
+-96.6028 46.3242
+-96.7978 46.6636
+-96.7896 46.8602
+-96.7896 46.9503
+-96.8335 47.1300
+-96.8335 47.2345
+-96.8555 47.4132
+-96.8555 47.5469
+-96.8774 47.6506
+-97.0601 47.9918
+-97.1260 48.1267
+-97.1109 48.2859
+-97.1233 48.4301
+-97.1425 48.5530
+-97.0999 48.6765
+-97.1356 48.7326
+-97.1727 48.7951
+-97.2290 48.9081
+-97.2331 48.9982
+-104.0501 48.9946
+----
+-104.0543 42.9986
+-104.0543 41.0027
+-102.0506 41.0006
+-102.0493 40.0034
+-95.3091 39.9992
+-95.4808 40.2397
+-95.6470 40.3130
+-95.6689 40.4302
+-95.7500 40.5900
+-95.8543 40.6827
+-95.8447 40.8138
+-95.8324 40.9654
+-95.8667 41.0794
+-95.8722 41.2923
+-95.9354 41.4458
+-95.9999 41.5261
+-96.0988 41.6380
+-96.0686 41.7703
+-96.1084 41.8368
+-96.1372 41.9677
+-96.2402 42.0330
+-96.2746 42.1155
+-96.3583 42.2021
+-96.3281 42.2448
+-96.4188 42.3890
+-96.4037 42.4731
+-96.6357 42.5369
+-96.7099 42.6057
+-96.6893 42.6532
+-96.7621 42.6602
+-96.8390 42.7147
+-96.9763 42.7571
+-97.2029 42.8085
+-97.2290 42.8458
+-97.3979 42.8629
+-97.5133 42.8427
+-97.6149 42.8488
+-97.8456 42.8659
+-97.9980 42.7470
+-98.1450 42.8337
+-98.4485 42.9293
+-98.5020 42.9966
+-104.0543 43.0006
+----
+-71.5045 45.0153
+-71.4977 45.0532
+-71.4619 45.0910
+-71.4276 45.1520
+-71.3960 45.2043
+-71.4455 45.2362
+-71.3878 45.2372
+-71.3617 45.2710
+-71.2834 45.3029
+-71.2299 45.2507
+-71.1818 45.2391
+-71.1584 45.2478
+-71.1337 45.2469
+-71.1145 45.2846
+-71.0843 45.3058
+-71.0527 44.9230
+-71.0143 44.3592
+-70.9840 43.7364
+-70.9731 43.5704
+-70.9813 43.3621
+-70.9030 43.2942
+-70.8083 43.2272
+-70.8261 43.1411
+-70.7671 43.1000
+-70.6970 43.0498
+-70.5583 42.9222
+-70.6146 42.8760
+-70.8467 42.8599
+-70.9195 42.8860
+-71.0609 42.8105
+-71.1420 42.8125
+-71.1873 42.7904
+-71.1832 42.7349
+-71.2463 42.7450
+-71.2972 42.6986
+-71.7421 42.7077
+-72.4590 42.7268
+-72.5098 42.7621
+-72.5414 42.8105
+-72.5592 42.8609
+-72.5317 42.8981
+-72.5400 42.9524
+-72.4919 42.9745
+-72.4658 42.9906
+-72.4480 43.0127
+-72.4713 43.0287
+-72.4713 43.0508
+-72.4356 43.0819
+-72.4452 43.1040
+-72.4342 43.1180
+-72.4590 43.1501
+-72.4329 43.2052
+-72.4384 43.2562
+-72.4095 43.2812
+-72.4150 43.3741
+-72.3807 43.4988
+-72.4013 43.5127
+-72.3779 43.5834
+-72.3134 43.6420
+-72.3024 43.6758
+-72.3079 43.7036
+-72.2694 43.7344
+-72.2035 43.7741
+-72.1870 43.8187
+-72.1843 43.8672
+-72.1568 43.8890
+-72.1321 43.9117
+-72.1198 43.9454
+-72.1170 44.0017
+-72.0470 44.0856
+-72.0552 44.1093
+-72.0387 44.1428
+-72.0580 44.1763
+-72.0703 44.1999
+-72.0525 44.2511
+-72.0607 44.2796
+-72.0291 44.3199
+-71.9783 44.3376
+-71.9289 44.3592
+-71.8712 44.3366
+-71.8135 44.3572
+-71.8108 44.3877
+-71.7778 44.4014
+-71.7380 44.4122
+-71.6597 44.4416
+-71.6542 44.4642
+-71.5855 44.5073
+-71.5746 44.5357
+-71.6048 44.5601
+-71.5897 44.5680
+-71.5649 44.5680
+-71.5485 44.5914
+-71.5649 44.5993
+-71.5540 44.6315
+-71.5924 44.6608
+-71.6130 44.7243
+-71.6364 44.7526
+-71.5746 44.8198
+-71.5526 44.8325
+-71.5553 44.8539
+-71.5279 44.8744
+-71.5018 44.9123
+-71.5182 44.9366
+-71.5237 44.9697
+-71.5443 44.9862
+-71.5237 45.0017
+-71.5045 45.0163
+----
+-74.6950 41.3572
+-74.6559 41.3394
+-73.8940 40.9934
+-73.9586 40.8398
+-74.0094 40.7691
+-74.0231 40.6994
+-74.0437 40.6786
+-74.0808 40.6515
+-74.1357 40.6421
+-74.1962 40.6452
+-74.2003 40.5952
+-74.2195 40.5566
+-74.2552 40.4877
+-74.2264 40.4762
+-73.9503 40.5253
+-73.8885 40.4846
+-73.9352 40.0045
+-74.0410 39.6131
+-74.2209 39.4744
+-74.6713 38.9882
+-74.8553 38.8664
+-75.0476 38.8472
+-75.1685 39.0565
+-75.3250 39.2525
+-75.5544 39.4500
+-75.5612 39.4966
+-75.5283 39.4998
+-75.5338 39.5411
+-75.5090 39.5761
+-75.5708 39.6237
+-75.5104 39.6713
+-75.4843 39.7167
+-75.4156 39.8033
+-75.2632 39.8360
+-75.1918 39.8823
+-74.7922 40.1180
+-74.7331 40.1390
+-74.8485 40.2565
+-74.9419 40.3361
+-74.9721 40.4020
+-75.0627 40.4240
+-75.0613 40.4898
+-75.1067 40.5733
+-75.2138 40.5639
+-75.2028 40.6192
+-75.2069 40.6494
+-75.0806 40.8284
+-75.0998 40.8429
+-75.0504 40.8689
+-75.1369 40.9913
+-74.8677 41.2293
+-74.7537 41.3479
+-74.7249 41.3469
+-74.6960 41.3593
+----
+-109.0448 36.9971
+-109.0489 31.3337
+-108.2140 31.3349
+-108.2071 31.7795
+-106.5317 31.7830
+-106.6223 32.0034
+-103.0696 31.9999
+-103.0023 36.9982
+-109.0475 36.9982
+----
+-120.0037 41.9922
+-117.9602 42.0003
+-117.0264 42.0003
+-115.7300 42.0003
+-114.0436 41.9952
+-114.0546 38.2856
+-114.0491 36.1955
+-114.0985 36.1334
+-114.1260 36.1068
+-114.1150 36.0891
+-114.1534 36.0313
+-114.2468 36.0136
+-114.3292 36.0624
+-114.3237 36.1024
+-114.3896 36.1434
+-114.5105 36.1290
+-114.5215 36.1467
+-114.5654 36.1556
+-114.6204 36.1334
+-114.6863 36.1157
+-114.7742 36.0979
+-114.7357 36.0580
+-114.7522 36.0447
+-114.7412 35.9691
+-114.7028 35.8980
+-114.6588 35.8757
+-114.7083 35.8579
+-114.6973 35.8267
+-114.7192 35.8089
+-114.6973 35.6618
+-114.6478 35.6037
+-114.6863 35.5814
+-114.6533 35.5233
+-114.6863 35.5054
+-114.6149 35.4070
+-114.5929 35.3218
+-114.5737 35.1783
+-114.6094 35.1199
+-114.6368 35.1109
+-114.6368 35.0929
+-114.6039 35.0750
+-114.6259 35.0480
+-114.6478 35.0345
+-114.6423 35.0030
+-114.8016 35.1334
+-117.5153 37.2303
+-120.0009 39.0000
+-119.9982 41.9942
+----
+-79.7624 42.5142
+-79.0672 42.7783
+-78.9313 42.8508
+-78.9024 42.9061
+-78.9313 42.9554
+-78.9656 42.9584
+-79.0219 42.9886
+-79.0027 43.0568
+-79.0727 43.0769
+-79.0713 43.1220
+-79.0302 43.1441
+-79.0576 43.1801
+-79.0604 43.2482
+-79.0837 43.2812
+-79.2004 43.4509
+-78.6909 43.6311
+-76.7958 43.6321
+-76.4978 43.9987
+-76.4388 44.0965
+-76.3536 44.1349
+-76.3124 44.1989
+-76.2437 44.2049
+-76.1655 44.2413
+-76.1353 44.2973
+-76.0474 44.3327
+-75.9856 44.3553
+-75.9196 44.3749
+-75.8730 44.3994
+-75.8221 44.4308
+-75.8098 44.4740
+-75.7288 44.5425
+-75.5585 44.6647
+-75.4088 44.7672
+-75.3442 44.8101
+-75.3058 44.8383
+-75.2399 44.8676
+-75.1204 44.9211
+-74.9995 44.9609
+-74.9899 44.9803
+-74.9103 44.9852
+-74.8856 45.0017
+-74.8306 45.0153
+-74.7633 45.0046
+-74.7070 45.0027
+-74.5642 45.0007
+-74.1467 44.9920
+-73.7306 45.0037
+-73.4203 45.0085
+-73.3430 45.0109
+-73.3547 44.9874
+-73.3379 44.9648
+-73.3396 44.9160
+-73.3739 44.8354
+-73.3324 44.8013
+-73.3667 44.7419
+-73.3873 44.6139
+-73.3736 44.5787
+-73.3049 44.4916
+-73.2953 44.4289
+-73.3365 44.3513
+-73.3118 44.2757
+-73.3818 44.1980
+-73.4079 44.1142
+-73.4367 44.0511
+-73.4065 44.0165
+-73.4079 43.9375
+-73.3749 43.8771
+-73.3914 43.8167
+-73.3557 43.7790
+-73.4244 43.6460
+-73.4340 43.5893
+-73.3969 43.5655
+-73.3818 43.6112
+-73.3049 43.6271
+-73.3063 43.5764
+-73.2582 43.5675
+-73.2445 43.5227
+-73.2582 43.2582
+-73.2733 42.9715
+-73.2898 42.8004
+-73.2664 42.7460
+-73.3708 42.4630
+-73.5095 42.0840
+-73.4903 42.0218
+-73.4999 41.8808
+-73.5535 41.2953
+-73.4834 41.2128
+-73.7275 41.1011
+-73.6644 41.0237
+-73.6578 40.9851
+-73.6132 40.9509
+-72.4823 41.1869
+-72.0950 41.2551
+-71.9714 41.3005
+-71.9193 41.3108
+-71.7915 41.1838
+-71.7929 41.1249
+-71.7517 41.0462
+-72.9465 40.6306
+-73.4628 40.5368
+-73.8885 40.4887
+-73.9490 40.5232
+-74.2271 40.4772
+-74.2532 40.4861
+-74.1866 40.6468
+-74.0547 40.6556
+-74.0156 40.7618
+-73.9421 40.8699
+-73.8934 40.9980
+-73.9854 41.0343
+-74.6274 41.3268
+-74.7084 41.3583
+-74.7101 41.3811
+-74.8265 41.4386
+-74.9913 41.5075
+-75.0668 41.6000
+-75.0366 41.6719
+-75.0545 41.7672
+-75.1945 41.8808
+-75.3552 42.0013
+-75.4266 42.0003
+-77.0306 42.0013
+-79.7250 41.9993
+-79.7621 42.0003
+-79.7621 42.1827
+-79.7621 42.5146
+----
+-82.3425 38.4385
+-82.2917 38.5707
+-82.1722 38.5965
+-82.1997 38.7712
+-82.0294 39.0181
+-81.8729 38.8750
+-81.7644 38.9359
+-81.7397 39.1865
+-81.5680 39.2812
+-81.4444 39.4022
+-81.3661 39.3460
+-81.1244 39.4479
+-81.0352 39.5549
+-80.8374 39.6565
+-80.7948 39.8676
+-80.6520 40.5941
+-80.5188 40.6223
+-80.5229 42.3210
+-81.2521 42.2153
+-81.6806 41.9962
+-81.7094 41.9962
+-82.3961 41.6770
+-82.6845 41.6709
+-83.1157 41.9585
+-83.4219 41.7314
+-84.8021 41.6944
+-84.8172 39.1056
+-84.7444 39.1407
+-84.5068 39.0960
+-84.4052 39.0459
+-84.2857 38.9434
+-84.2432 38.8055
+-84.0866 38.7712
+-83.8916 38.7519
+-83.6636 38.6330
+-83.5263 38.6962
+-83.2736 38.5976
+-83.1445 38.6169
+-83.0127 38.7027
+-82.8973 38.7327
+-82.8355 38.5782
+-82.5952 38.3761
+----
+-103.0051 37.0015
+-103.0037 36.5030
+-100.0003 36.4986
+-99.9934 34.5620
+-99.6172 34.3763
+-99.5787 34.4137
+-99.4290 34.3763
+-99.3823 34.4534
+-99.2505 34.3616
+-99.1818 34.2129
+-98.9648 34.1982
+-98.7424 34.1232
+-98.5570 34.1254
+-98.4746 34.0618
+-98.3743 34.1414
+-98.1793 34.1118
+-98.0818 34.0060
+-97.9843 33.8966
+-97.8662 33.8487
+-97.6932 33.9798
+-97.4529 33.8841
+-97.4611 33.8282
+-97.3622 33.8237
+-97.2166 33.9001
+-97.1645 33.7426
+-97.0930 33.7392
+-96.9173 33.9354
+-96.8527 33.8704
+-96.7484 33.8271
+-96.5602 33.8202
+-96.5053 33.7769
+-96.3474 33.6912
+-96.0205 33.8522
+-95.8379 33.8396
+-95.7349 33.8887
+-95.5426 33.8841
+-95.2831 33.8738
+-95.2171 33.9570
+-95.0496 33.8670
+-94.8862 33.7677
+-94.6692 33.6695
+-94.4852 33.6386
+-94.4357 35.3499
+-94.5978 36.3715
+-94.6198 36.4942
+-94.6211 36.9982
+-103.0064 37.0004
+----
+-124.2444 46.2587
+-124.0384 46.2634
+-124.0205 46.2891
+-123.9368 46.2407
+-123.8681 46.2388
+-123.7390 46.2691
+-123.6868 46.2520
+-123.6456 46.2596
+-123.5468 46.2577
+-123.4863 46.2672
+-123.4287 46.2369
+-123.4287 46.1817
+-123.3765 46.1513
+-123.3051 46.1494
+-123.1512 46.1874
+-123.0222 46.1380
+-122.9398 46.0980
+-122.8848 46.0551
+-122.8189 45.9588
+-122.8162 45.9053
+-122.7887 45.8824
+-122.7969 45.8173
+-122.7585 45.7637
+-122.7750 45.6851
+-122.7530 45.6505
+-122.5937 45.6064
+-122.4426 45.5679
+-122.3712 45.5756
+-122.3245 45.5506
+-122.2064 45.5641
+-122.0856 45.5987
+-121.8933 45.6659
+-121.8906 45.6812
+-121.8164 45.7081
+-121.7560 45.6966
+-121.5335 45.7254
+-121.3907 45.6928
+-121.3646 45.7081
+-121.2039 45.6582
+-121.1957 45.6083
+-121.1462 45.6102
+-121.0803 45.6524
+-121.0144 45.6582
+-120.9814 45.6467
+-120.9430 45.6563
+-120.9100 45.6371
+-120.8524 45.6755
+-120.6052 45.7445
+-120.5310 45.7158
+-120.4733 45.6966
+-120.2893 45.7234
+-120.2124 45.7234
+-120.1575 45.7714
+-119.9680 45.8211
+-119.7839 45.8498
+-119.6658 45.8575
+-119.6136 45.9149
+-119.5724 45.9244
+-119.5258 45.9110
+-119.2676 45.9378
+-119.1687 45.9168
+-119.0149 45.9779
+-118.9847 46.0027
+-116.9165 45.9970
+-116.8781 45.9569
+-116.8588 45.8957
+-116.8066 45.8747
+-116.7902 45.8307
+-116.7654 45.8192
+-116.7105 45.8231
+-116.6748 45.7828
+-116.6144 45.7828
+-116.5430 45.7522
+-116.5402 45.6889
+-116.4606 45.6121
+-116.5567 45.5006
+-116.5567 45.4640
+-116.5869 45.4447
+-116.6721 45.3213
+-116.6940 45.2633
+-116.7325 45.1414
+-116.7764 45.1065
+-116.7847 45.0696
+-116.8451 45.0231
+-116.8616 44.9765
+-116.8286 44.9298
+-116.9302 44.7955
+-117.0346 44.7487
+-117.1225 44.5787
+-117.1445 44.5455
+-117.2076 44.4847
+-117.2269 44.4789
+-117.2269 44.4063
+-117.2488 44.3926
+-117.1939 44.3455
+-117.2269 44.2983
+-117.1774 44.2570
+-117.1445 44.2609
+-117.1005 44.2806
+-117.0511 44.2314
+-117.0428 44.2491
+-116.9797 44.2432
+-116.9742 44.1940
+-116.8945 44.1664
+-116.9330 44.0935
+-116.9714 44.0836
+-116.9879 44.0521
+-116.9302 44.0244
+-116.9659 43.9533
+-117.0209 43.8207
+-117.0264 43.6639
+-117.0264 42.0024
+-121.2836 41.9983
+-122.5003 42.0085
+-123.0798 42.0064
+-123.1540 42.0105
+-123.2419 42.0044
+-123.6209 42.0024
+-124.3982 41.9952
+-124.5493 42.1593
+-124.5877 42.6521
+-124.7305 42.8115
+-124.4119 43.7552
+-124.2554 46.0065
+-124.2444 46.2587
+----
+-80.5174 42.3261
+-80.0821 42.3961
+-79.7621 42.5167
+-79.7607 42.0003
+-75.3580 41.9983
+-75.2673 41.9431
+-75.1794 41.8696
+-75.0586 41.7713
+-75.0366 41.6729
+-75.0641 41.6021
+-74.9927 41.5086
+-74.7935 41.4283
+-74.7070 41.3933
+-74.8608 41.2282
+-75.1355 40.9830
+-75.0490 40.8554
+-75.1904 40.6806
+-75.2124 40.5639
+-75.1025 40.5743
+-75.0600 40.5013
+-75.0655 40.4208
+-74.9776 40.4072
+-74.9432 40.3392
+-74.8389 40.2628
+-74.7221 40.1495
+-75.0929 39.9592
+-75.2577 39.8370
+-75.4321 39.8128
+-75.6477 39.8317
+-75.7892 39.7199
+-80.5243 39.7220
+-80.5202 42.3240
+----
+-71.0568 41.3706
+-71.0541 41.3706
+-71.1447 41.6339
+-71.1942 41.6791
+-71.2793 41.7611
+-71.3315 41.7775
+-71.3425 41.7918
+-71.3507 41.8225
+-71.3370 41.8512
+-71.3397 41.8880
+-71.3837 41.9288
+-71.3795 42.0156
+-71.7984 42.0064
+-71.7874 41.6750
+-71.7984 41.4530
+-71.8492 41.3943
+-71.8520 41.3315
+-71.9041 41.3057
+-71.7915 41.1849
+-71.4084 41.2665
+----
+-80.7001 32.0488
+-80.8978 32.0453
+-81.1134 32.1105
+-81.1423 32.2058
+-81.1821 32.3846
+-81.1986 32.4576
+-81.2769 32.5283
+-81.4087 32.5838
+-81.4183 32.6926
+-81.4746 32.8242
+-81.5117 32.9465
+-81.5034 33.0098
+-81.6010 33.0777
+-81.7122 33.1238
+-81.8289 33.2065
+-81.9319 33.3443
+-82.0280 33.4830
+-82.1475 33.5860
+-82.2437 33.6878
+-82.2437 33.7609
+-82.3576 33.8305
+-82.5018 33.9308
+-82.5471 33.9650
+-82.6625 34.0947
+-82.7216 34.1664
+-82.7930 34.3434
+-82.8905 34.4647
+-82.9893 34.4760
+-83.0855 34.5281
+-83.3121 34.6581
+-83.3588 34.7326
+-83.2983 34.8318
+-83.1459 34.9276
+-83.1047 34.9996
+-82.7779 35.0817
+-82.3920 35.2075
+-82.2203 35.1974
+-81.0379 35.1480
+-81.0324 35.0446
+-80.9322 35.1019
+-80.7811 34.9344
+-80.7948 34.8194
+-79.6756 34.8048
+-78.9560 34.2016
+-78.4836 33.7951
+-78.7871 33.6489
+-79.0837 33.2019
+-79.4476 32.7607
+-79.8116 32.5225
+-80.1508 32.3556
+-80.4240 32.2012
+-80.7001 32.0500
+----
+-104.0501 45.9435
+-104.0529 43.0026
+-98.4993 42.9946
+-98.4444 42.9283
+-98.1958 42.8438
+-98.0571 42.7773
+-97.9761 42.7631
+-97.8566 42.8599
+-97.2290 42.8518
+-97.2057 42.8075
+-96.8486 42.7157
+-96.6220 42.5237
+-96.4806 42.4772
+-96.6289 42.7299
+-96.5039 43.0046
+-96.4380 43.1331
+-96.5561 43.2262
+-96.5259 43.3841
+-96.6138 43.4848
+-96.4558 43.4998
+-96.4545 45.2981
+-96.7429 45.4601
+-96.8472 45.6160
+-96.5849 45.8202
+-96.5643 45.9311
+-104.0501 45.9416
+----
+-88.0678 36.6739
+-87.8522 36.6354
+-83.6787 36.6023
+-81.9402 36.5946
+-81.9209 36.6144
+-81.6518 36.6111
+-81.7163 36.3295
+-81.7973 36.3516
+-81.9072 36.2974
+-82.0308 36.1212
+-82.1255 36.1024
+-82.1475 36.1434
+-82.2450 36.1323
+-82.3521 36.1168
+-82.4167 36.0702
+-82.5389 35.9669
+-82.6076 35.9702
+-82.6378 36.0602
+-82.7751 35.9925
+-82.8177 35.9169
+-82.9042 35.8623
+-83.0017 35.7755
+-83.2393 35.7131
+-83.4961 35.5635
+-83.6938 35.5501
+-83.8284 35.5233
+-83.8847 35.5065
+-84.0248 35.4014
+-84.0276 35.2905
+-84.1113 35.2322
+-84.2294 35.2624
+-84.2926 35.2198
+-84.3201 34.9884
+-90.3131 34.9996
+-90.2843 35.1233
+-90.1758 35.1379
+-90.1112 35.1985
+-90.1524 35.2849
+-90.1346 35.4372
+-90.0192 35.5568
+-89.9547 35.7343
+-89.7638 35.8579
+-89.6635 35.9180
+-89.7130 35.9947
+-89.6759 36.0902
+-89.5894 36.1279
+-89.6484 36.1856
+-89.7006 36.2343
+-89.5331 36.2531
+-89.6210 36.2996
+-89.5784 36.3494
+-89.5180 36.3406
+-89.5345 36.4964
+-89.3051 36.5107
+-88.1667 36.4986
+-88.0692 36.4997
+-88.0637 36.6871
+----
+-106.5715 31.8659
+-106.5042 31.7504
+-106.3092 31.6242
+-106.2103 31.4638
+-106.0181 31.3912
+-105.7874 31.1846
+-105.5663 31.0012
+-105.4015 30.8456
+-105.0032 30.6462
+-104.8521 30.3847
+-104.7437 30.2591
+-104.6915 30.0738
+-104.6777 29.9169
+-104.5679 29.7644
+-104.5280 29.6475
+-104.4044 29.5603
+-104.2067 29.4719
+-104.1559 29.3834
+-103.9774 29.2948
+-103.9128 29.2804
+-103.8208 29.2481
+-103.5640 29.1378
+-103.4692 29.0682
+-103.3154 29.0105
+-103.1616 28.9601
+-103.0957 29.0177
+-103.0298 29.1330
+-102.8677 29.2157
+-102.8979 29.2565
+-102.8375 29.3570
+-102.8004 29.4898
+-102.7002 29.6881
+-102.5134 29.7691
+-102.3843 29.7596
+-102.3047 29.8788
+-102.1509 29.7834
+-101.7004 29.7572
+-101.4917 29.7644
+-101.2939 29.6308
+-101.2582 29.5269
+-101.0056 29.3642
+-100.9204 29.3056
+-100.7707 29.1642
+-100.7007 29.0946
+-100.6306 28.9012
+-100.4974 28.6593
+-100.3601 28.4675
+-100.2969 28.2778
+-100.1733 28.1882
+-100.0195 28.0526
+-99.9344 27.9435
+-99.8438 27.7638
+-99.7119 27.6641
+-99.4812 27.4839
+-99.5375 27.3059
+-99.4290 27.1948
+-99.4455 27.0175
+-99.3164 26.8829
+-99.2065 26.6867
+-99.0967 26.4116
+-98.8138 26.3574
+-98.6668 26.2257
+-98.5474 26.2343
+-98.3276 26.1357
+-98.1697 26.0457
+-97.9143 26.0518
+-97.6643 26.0050
+-97.4020 25.8419
+-97.3526 25.9074
+-97.0148 25.9679
+-97.0697 26.1789
+-97.2249 26.8253
+-97.0752 27.4230
+-96.6096 28.0599
+-95.9285 28.4228
+-95.3036 28.7568
+-94.7296 29.0742
+-94.3355 29.3810
+-93.8205 29.6021
+-93.9317 29.8013
+-93.8136 29.9157
+-93.7230 30.0489
+-93.6996 30.1214
+-93.7216 30.2021
+-93.7038 30.2792
+-93.7628 30.3278
+-93.7587 30.3835
+-93.7010 30.4380
+-93.7024 30.5079
+-93.7299 30.5362
+-93.6694 30.6296
+-93.6090 30.7466
+-93.5527 30.8114
+-93.5747 30.8834
+-93.5307 30.9376
+-93.5074 31.0318
+-93.5266 31.0812
+-93.5335 31.1787
+-93.5980 31.1670
+-93.6832 31.3055
+-93.6708 31.3830
+-93.6887 31.4369
+-93.7202 31.5107
+-93.8315 31.5820
+-93.8123 31.6440
+-93.8232 31.7188
+-93.8342 31.7936
+-93.8782 31.8309
+-93.9221 31.8869
+-93.9661 31.9335
+-94.0430 32.0081
+-94.0430 33.4681
+-94.0430 33.5414
+-94.1528 33.5689
+-94.1968 33.5872
+-94.2627 33.5872
+-94.3176 33.5689
+-94.3945 33.5597
+-94.4275 33.5780
+-94.4275 33.6055
+-94.4495 33.6421
+-94.4879 33.6329
+-94.5236 33.6421
+-94.6637 33.6695
+-94.7461 33.7061
+-94.8999 33.7791
+-95.0757 33.8818
+-95.1526 33.9251
+-95.2254 33.9604
+-95.2858 33.8750
+-95.5399 33.8841
+-95.7568 33.8887
+-95.8420 33.8408
+-96.0274 33.8556
+-96.3528 33.6901
+-96.6179 33.8442
+-96.5836 33.8898
+-96.6673 33.8955
+-96.7538 33.8179
+-96.8335 33.8613
+-96.8774 33.8613
+-96.9159 33.9388
+-97.0917 33.7392
+-97.1645 33.7449
+-97.2180 33.8978
+-97.3746 33.8225
+-97.4611 33.8305
+-97.4460 33.8761
+-97.6945 33.9798
+-97.8648 33.8476
+-97.9651 33.8978
+-98.0983 34.0299
+-98.1752 34.1141
+-98.3743 34.1425
+-98.4773 34.0640
+-98.5529 34.1209
+-98.7520 34.1232
+-98.9539 34.2095
+-99.0637 34.2073
+-99.1832 34.2141
+-99.2505 34.3593
+-99.3823 34.4613
+-99.4318 34.3774
+-99.5718 34.4160
+-99.6158 34.3706
+-99.8094 34.4726
+-99.9934 34.5631
+-100.0017 36.4975
+-103.0408 36.5008
+-103.0655 32.0011
+-106.6168 32.0023
+----
+-114.0491 36.9982
+-109.0462 37.0026
+-109.0503 40.9986
+-111.0471 41.0006
+-111.0498 41.9993
+-114.0395 41.9901
+-114.0504 37.0015
+----
+-83.6753 36.6017
+-83.5613 36.6519
+-83.4432 36.6673
+-83.3080 36.7108
+-83.1974 36.7389
+-83.1363 36.7433
+-83.1047 36.8032
+-83.1033 36.8302
+-83.0704 36.8544
+-83.0127 36.8478
+-82.8534 36.9839
+-82.7971 37.0086
+-82.7360 37.0442
+-82.3494 37.2664
+-82.3027 37.3046
+-82.0136 37.5054
+-81.9681 37.5380
+-81.9259 37.5139
+-81.9707 37.4889
+-81.9800 37.4563
+-81.9374 37.4389
+-81.9319 37.3592
+-81.8619 37.3134
+-81.7987 37.2872
+-81.7259 37.2424
+-81.6792 37.2008
+-81.5549 37.2083
+-81.4988 37.2588
+-81.4856 37.2456
+-81.4367 37.2742
+-81.3675 37.3243
+-81.2741 37.2653
+-81.1560 37.2719
+-80.9802 37.3025
+-80.8566 37.3396
+-80.8786 37.3876
+-80.8511 37.4247
+-80.7715 37.3702
+-80.5518 37.4749
+-80.5133 37.4792
+-80.4803 37.4247
+-80.3018 37.5097
+-80.2798 37.5359
+-80.3293 37.5380
+-80.2249 37.6316
+-80.3018 37.6903
+-80.2551 37.7251
+-80.2551 37.7707
+-80.1961 37.8347
+-80.1508 37.8749
+-79.9722 38.0394
+-79.9448 38.1302
+-79.9063 38.1972
+-79.7882 38.2684
+-79.8129 38.3093
+-79.7662 38.3589
+-79.7401 38.3513
+-79.7333 38.3869
+-79.6893 38.4321
+-79.6948 38.4987
+-79.6495 38.5857
+-79.5328 38.5492
+-79.4724 38.4557
+-79.3103 38.4149
+-79.2087 38.5138
+-79.1016 38.6576
+-79.0851 38.6941
+-79.1016 38.7112
+-79.0576 38.7712
+-79.0604 38.7926
+-79.0247 38.7926
+-78.9944 38.8504
+-78.8736 38.7637
+-78.7830 38.8857
+-78.7198 38.9327
+-78.7129 38.9071
+-78.6291 38.9850
+-78.6044 38.9658
+-78.5522 39.0170
+-78.5770 39.0384
+-78.5083 39.0938
+-78.4314 39.1492
+-78.4039 39.1684
+-78.4314 39.1939
+-78.3380 39.3470
+-78.3380 39.3853
+-78.3469 39.4659
+-77.9744 39.2283
+-77.8302 39.1338
+-77.7355 39.3130
+-77.7090 39.3213
+-77.6218 39.3043
+-77.5686 39.3067
+-77.4567 39.2248
+-77.5226 39.1543
+-77.5243 39.1277
+-77.4687 39.0914
+-77.4485 39.0720
+-77.3427 39.0634
+-77.2936 39.0456
+-77.2459 39.0168
+-77.2445 38.9829
+-77.1834 38.9680
+-77.1120 38.9250
+-77.0464 38.8798
+-77.0444 38.7538
+-77.0409 38.7142
+-77.1312 38.6635
+-77.1285 38.6319
+-77.2456 38.5935
+-77.3094 38.4547
+-77.3046 38.3904
+-77.2188 38.3500
+-77.0622 38.4041
+-77.0265 38.4256
+-76.9826 38.3039
+-76.8851 38.2155
+-76.5926 38.1745
+-76.2424 37.9496
+-76.0501 37.9561
+-75.9416 37.9474
+-75.9512 37.9085
+-75.8002 37.9139
+-75.6931 37.9539
+-75.6477 37.9474
+-75.6258 37.9962
+-75.4596 38.0091
+-74.9707 38.0373
+-75.5777 37.3625
+-75.8180 36.8994
+-75.8043 36.5516
+-76.1476 36.5516
+-76.8617 36.5516
+-76.9180 36.5516
+-76.9180 36.5438
+-77.1803 36.5505
+-77.5278 36.5449
+-80.2730 36.5427
+-80.5971 36.5571
+-80.7248 36.5626
+-80.8511 36.5593
+-81.1066 36.5681
+-81.4746 36.5813
+-81.5007 36.5802
+-81.6792 36.5902
+-81.6476 36.6122
+-81.9237 36.6177
+-81.9360 36.5935
+-82.3961 36.5957
+-82.9344 36.5935
+-83.2654 36.5957
+-83.6746 36.6023
+----
+-73.3427 45.0104
+-73.1827 45.0134
+-72.7432 45.0153
+-72.6100 45.0134
+-72.5551 45.0075
+-72.4562 45.0090
+-72.3113 45.0037
+-72.0964 45.0066
+-71.9131 45.0070
+-71.5636 45.0138
+-71.5059 45.0138
+-71.5294 44.9748
+-71.4949 44.9123
+-71.5567 44.8296
+-71.6281 44.7506
+-71.6061 44.7077
+-71.5677 44.6481
+-71.5388 44.5817
+-71.6006 44.5533
+-71.5746 44.5308
+-71.5883 44.4955
+-71.6556 44.4504
+-71.7146 44.4093
+-71.7957 44.3975
+-71.8163 44.3563
+-71.8698 44.3327
+-71.9138 44.3484
+-71.9865 44.3386
+-72.0346 44.3052
+-72.0428 44.2432
+-72.0662 44.1930
+-72.0360 44.1349
+-72.0580 44.0698
+-72.1101 44.0017
+-72.0937 43.9671
+-72.1252 43.9088
+-72.1733 43.8682
+-72.1994 43.7899
+-72.1994 43.7899
+-72.2392 43.7384
+-72.3010 43.7056
+-72.3271 43.6391
+-72.3436 43.5893
+-72.3793 43.5814
+-72.3972 43.5027
+-72.3807 43.4988
+-72.3999 43.4150
+-72.4123 43.3601
+-72.3903 43.3591
+-72.4081 43.3282
+-72.3999 43.2762
+-72.4370 43.2342
+-72.4493 43.1852
+-72.4480 43.1311
+-72.4507 43.0679
+-72.4438 43.0067
+-72.4699 42.9846
+-72.5276 42.9645
+-72.5331 42.8951
+-72.5633 42.8639
+-72.5098 42.7863
+-72.5166 42.7652
+-72.4741 42.7541
+-72.4590 42.7289
+-73.2761 42.7465
+-73.2912 42.8025
+-73.2850 42.8357
+-73.2678 43.0679
+-73.2472 43.5022
+-73.2561 43.5615
+-73.2939 43.5774
+-73.3049 43.6271
+-73.3557 43.6271
+-73.3976 43.5675
+-73.4326 43.5883
+-73.4285 43.6351
+-73.4079 43.6684
+-73.3907 43.7031
+-73.3516 43.7701
+-73.3928 43.8207
+-73.3832 43.8533
+-73.3969 43.9033
+-73.4086 43.9365
+-73.4134 43.9795
+-73.4381 44.0427
+-73.4141 44.1058
+-73.3928 44.1921
+-73.3427 44.2393
+-73.3186 44.2467
+-73.3406 44.3484
+-73.3385 44.3690
+-73.2946 44.4328
+-73.3296 44.5367
+-73.3832 44.5919
+-73.3770 44.6569
+-73.3681 44.7477
+-73.3317 44.7857
+-73.3324 44.8043
+-73.3818 44.8398
+-73.3564 44.9040
+-73.3392 44.9181
+-73.3372 44.9643
+-73.3537 44.9799
+-73.3447 45.0046
+-73.3447 45.0109
+-73.3426 45.0104
+----
+-123.3208 49.0023
+-123.0338 49.0027
+-122.0650 49.0018
+-121.7491 48.9973
+-121.5912 48.9991
+-119.6082 49.0009
+-118.0378 49.0005
+-117.0319 48.9996
+-117.0415 47.9614
+-117.0394 46.5060
+-117.0394 46.4274
+-117.0621 46.3498
+-117.0277 46.3384
+-116.9879 46.2848
+-116.9577 46.2388
+-116.9659 46.2022
+-116.9254 46.1722
+-116.9357 46.1432
+-116.9584 46.1009
+-116.9762 46.0785
+-116.9433 46.0537
+-116.9165 45.9960
+-118.0330 46.0008
+-118.9867 45.9998
+-119.1302 45.9320
+-119.1708 45.9278
+-119.2559 45.9402
+-119.3047 45.9354
+-119.3644 45.9220
+-119.4386 45.9172
+-119.4894 45.9067
+-119.5724 45.9249
+-119.6013 45.9196
+-119.6700 45.8565
+-119.8052 45.8479
+-119.9096 45.8278
+-119.9652 45.8245
+-120.0710 45.7852
+-120.1705 45.7623
+-120.2110 45.7258
+-120.3628 45.7057
+-120.4829 45.6951
+-120.5942 45.7469
+-120.6340 45.7460
+-120.6924 45.7143
+-120.8558 45.6721
+-120.9142 45.6409
+-120.9471 45.6572
+-120.9787 45.6419
+-121.0645 45.6529
+-121.1469 45.6078
+-121.1847 45.6083
+-121.2177 45.6721
+-121.3392 45.7057
+-121.4010 45.6932
+-121.5328 45.7263
+-121.6145 45.7091
+-121.7361 45.6947
+-121.8095 45.7067
+-121.9338 45.6452
+-122.0451 45.6088
+-122.1089 45.5833
+-122.1426 45.5838
+-122.2009 45.5660
+-122.2641 45.5439
+-122.3321 45.5482
+-122.3795 45.5756
+-122.4392 45.5636
+-122.5676 45.6006
+-122.6891 45.6236
+-122.7647 45.6582
+-122.7750 45.6817
+-122.7619 45.7613
+-122.7962 45.8106
+-122.7839 45.8642
+-122.8114 45.9120
+-122.8148 45.9612
+-122.8587 46.0160
+-122.8848 46.0604
+-122.9034 46.0832
+-122.9597 46.1028
+-123.0579 46.1556
+-123.1210 46.1865
+-123.1664 46.1893
+-123.2810 46.1446
+-123.3703 46.1470
+-123.4314 46.1822
+-123.4287 46.2293
+-123.4946 46.2691
+-123.5557 46.2582
+-123.6209 46.2573
+-123.6875 46.2497
+-123.7404 46.2691
+-123.8729 46.2350
+-123.9292 46.2383
+-123.9711 46.2677
+-124.0212 46.2924
+-124.0329 46.2653
+-124.2444 46.2596
+-124.2691 46.4312
+-124.3529 46.8386
+-124.4380 47.1832
+-124.5616 47.4689
+-124.7566 47.8012
+-124.8679 48.0423
+-124.8679 48.2457
+-124.8486 48.3727
+-124.7539 48.4984
+-124.4174 48.4096
+-124.2389 48.3599
+-124.0116 48.2964
+-123.9141 48.2795
+-123.5413 48.2247
+-123.3998 48.2539
+-123.2501 48.2841
+-123.1169 48.4233
+-123.1609 48.4533
+-123.2220 48.5548
+-123.2336 48.5902
+-123.2721 48.6901
+-123.0084 48.7675
+-123.0084 48.8313
+-123.3215 49.0023
+----
+-90.6303 42.5116
+-87.0241 42.4954
+-87.1477 43.3721
+-87.1230 43.6838
+-86.9911 44.1694
+-86.8579 44.4828
+-86.6876 44.8792
+-86.2523 45.2343
+-86.7535 45.4418
+-87.1024 45.4438
+-87.1724 45.3531
+-87.3193 45.2401
+-87.4100 45.1995
+-87.4443 45.0784
+-87.6379 45.0987
+-87.6956 45.2217
+-87.6462 45.3367
+-87.6956 45.3869
+-87.8549 45.3425
+-87.7945 45.4813
+-87.7945 45.5679
+-87.7876 45.6764
+-87.9936 45.7934
+-88.1145 45.8077
+-88.0733 45.8728
+-88.1982 45.9521
+-88.5498 46.0122
+-88.7036 45.9970
+-88.8451 46.0380
+-89.0909 46.1389
+-90.1195 46.3412
+-90.4147 46.5664
+-89.9615 47.2876
+-90.6578 47.3100
+-92.0352 46.7079
+-92.2948 46.5928
+-92.2975 46.0761
+-92.3579 46.0132
+-92.5227 45.9769
+-92.7466 45.8135
+-92.8564 45.6140
+-92.7754 45.5477
+-92.6587 45.4293
+-92.7136 45.3029
+-92.7466 44.9648
+-92.7686 44.7877
+-92.6422 44.6530
+-92.3552 44.5504
+-92.2632 44.4652
+-92.0654 44.4024
+-91.8745 44.2580
+-91.6383 44.0600
+-91.4941 43.9612
+-91.3184 43.8296
+-91.2524 43.6440
+-91.2305 43.5167
+-91.2085 43.3342
+-91.0547 43.2932
+-91.1865 43.1651
+-91.1536 43.0257
+-91.1426 42.9082
+-91.0547 42.7692
+-90.7910 42.6915
+-90.7031 42.6340
+-90.6303 42.5096
+----
+-79.4765 39.7188
+-79.4806 39.2057
+-79.0576 39.4871
+-78.9725 39.4394
+-78.7747 39.6438
+-78.6703 39.5369
+-78.5742 39.5210
+-78.4644 39.5210
+-78.4094 39.6015
+-78.3517 39.6395
+-78.2817 39.6205
+-78.2405 39.6839
+-78.1732 39.6935
+-77.8835 39.5972
+-77.7859 39.4987
+-77.7310 39.3279
+-77.8271 39.1279
+-78.3421 39.4563
+-78.3408 39.3407
+-78.4341 39.1918
+-78.4053 39.1652
+-78.5715 39.0299
+-78.5522 39.0160
+-78.7843 38.8846
+-78.8722 38.7669
+-78.9917 38.8451
+-79.0974 38.7102
+-79.1029 38.6555
+-79.3007 38.4106
+-79.4792 38.4600
+-79.5314 38.5342
+-79.6481 38.5868
+-79.6962 38.4869
+-79.6989 38.4213
+-79.7690 38.3557
+-79.7937 38.2813
+-79.9365 38.1518
+-79.9818 38.0232
+-80.1370 37.8835
+-80.2592 37.7295
+-80.2881 37.6795
+-80.2194 37.6295
+-80.3224 37.5391
+-80.2881 37.5315
+-80.3032 37.4988
+-80.4776 37.4182
+-80.5119 37.4814
+-80.7715 37.3691
+-80.8635 37.4214
+-80.8525 37.3429
+-81.0516 37.2872
+-81.2741 37.2598
+-81.3675 37.3254
+-81.5543 37.2019
+-81.6724 37.1953
+-81.7685 37.2697
+-81.8701 37.3003
+-81.9333 37.3636
+-81.9772 37.4574
+-82.0308 37.4912
+-82.1558 37.6142
+-82.3535 37.8054
+-82.5513 38.0481
+-82.6392 38.1864
+-82.5966 38.3761
+-82.4854 38.4106
+-82.3412 38.4407
+-82.2876 38.5890
+-82.1764 38.5976
+-82.2148 38.7980
+-82.0280 39.0160
+-81.9649 38.9615
+-81.8756 38.8750
+-81.7671 38.9370
+-81.7657 39.0117
+-81.7520 39.0800
+-81.7465 39.1790
+-81.5872 39.2642
+-81.4499 39.3969
+-81.3675 39.3481
+-81.2370 39.4012
+-81.1093 39.4691
+-81.0104 39.5644
+-80.9198 39.6120
+-80.8319 39.6522
+-80.8072 39.8054
+-80.7893 39.8802
+-80.7990 39.8518
+-80.7495 40.0980
+-80.7262 40.2282
+-80.6918 40.3926
+-80.6451 40.5910
+-80.5188 40.6338
+-80.5174 39.7241
+-79.4778 39.7209
+----
+-104.0556 41.0037
+-104.0584 44.9949
+-111.0539 44.9998
+-111.0457 40.9986
+-104.0556 41.0006

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/bnd_uspolygon.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,94 @@
+NUM=93
+-123.3590 49.0211
+-95.1422 48.9879
+-95.1422 49.4193
+-94.8578 49.4193
+-94.5733 48.8800
+-89.2214 48.1168
+-88.3680 48.3325
+-84.7231 46.8807
+-82.3405 45.2795
+-81.9316 43.4710
+-82.4472 42.5584
+-83.0695 42.1934
+-82.5717 41.6873
+-81.3093 42.2348
+-79.0867 42.8156
+-79.3179 43.5041
+-78.8023 43.6452
+-76.9353 43.6452
+-75.0506 45.0638
+-71.0679 45.2795
+-69.4543 47.4614
+-67.7786 47.3121
+-66.6940 44.6656
+-68.7387 43.6452
+-69.8766 43.5373
+-70.1611 42.8488
+-69.5921 41.7620
+-69.7699 41.1066
+-71.4057 41.0734
+-73.4682 40.4180
+-75.6196 36.7843
+-75.1751 35.3740
+-76.4197 34.5361
+-77.2732 34.3950
+-77.8421 33.6981
+-78.6220 33.5903
+-79.3179 32.6860
+-80.5803 31.9974
+-81.0781 30.5041
+-79.6557 26.8041
+-79.8869 25.3854
+-80.5803 24.5890
+-82.1094 24.3733
+-82.3939 24.5890
+-81.4337 25.1698
+-82.2161 26.0740
+-83.1406 27.8577
+-83.0695 28.7288
+-84.0474 29.7824
+-85.1853 29.4174
+-86.4300 30.0313
+-88.5991 29.9981
+-88.8303 29.0191
+-89.2748 28.8034
+-90.9817 28.8698
+-93.8798 29.4920
+-96.5113 28.0402
+-97.0803 26.8787
+-96.9025 25.9662
+-97.3648 25.7505
+-99.3651 26.5137
+-99.7473 27.5673
+-101.4540 29.5999
+-102.5920 29.5745
+-103.0540 28.8698
+-104.6900 29.6745
+-105.0990 30.5056
+-106.5750 31.6656
+-108.1750 31.7403
+-108.1750 31.3089
+-111.1270 31.2342
+-115.3410 32.5782
+-117.3700 32.4597
+-117.8480 33.2336
+-118.7010 33.4825
+-118.7540 33.6981
+-119.9990 34.1378
+-120.9060 34.3204
+-121.0300 34.9757
+-122.2210 36.1704
+-122.2750 36.7843
+-123.3590 37.8379
+-123.4130 38.3523
+-124.1060 38.8915
+-124.2660 39.7626
+-124.7820 40.4512
+-124.3910 41.4716
+-124.7820 42.8156
+-124.4440 45.3210
+-124.5510 47.1710
+-125.1300 48.2246
+-124.7820 48.5897
+-123.4660 48.3657

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid/dms_gt2.rsl
===================================================================

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/grid/dms_gt4.rsl
===================================================================

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40009 @@
+Strip 1
+40000 Points, 2 Coordinates
+Shape: Rectangle; Site Corners: -128.00 24.00, -65.00 50.00; Area: 1,638.00
+Density: 24.42; Model: N;  Random Seed: 1180323549187
+Radius or S.D.: 02.00; Cluster Seeds: 8
+
+#points	xmin	ymin	xmax	ymax	zmin	zmax
+HEADER	40000	-128.0	24.0	-65.0	50.0	0	10000
+
+-110.3333	31.5833	9431
+-116.9666	32.8166	9709
+-90.3833	38.75	9382
+-122.90	46.9666	9563
+-82.1333	27.7666	9848
+-117.2666	34.1333	9495
+-118.2833	46.10	9219
+-88.7666	37.666	9771
+-89.3557	34.7829	6512
+-88.5979	42.9841	4472
+-82.0288	27.868	9728
+-123.567	47.3496	8761
+-119.1749	35.0171	7244
+-118.1544	34.9381	8231
+-116.7855	32.3592	9204
+-116.3594	30.7479	7348
+-118.6212	31.6211	7476
+-113.6002	35.2367	5361
+-107.5087	35.6454	4113
+-116.6336	32.8838	9374
+-118.7797	32.8172	7731
+-118.2759	30.5771	6859
+-88.2496	36.7456	8630
+-88.7946	42.822	4713
+-80.9524	27.7843	8556
+-116.418	32.0142	8669
+-112.753	32.2603	6751
+-87.194	38.5712	7778
+-92.6133	36.4364	5961
+-89.5809	39.0275	8509
+-110.7463	31.2791	8918
+-115.807	30.9427	7295
+-116.8921	45.2245	7520
+-109.9553	28.1755	5759
+-91.6339	36.5598	6706
+-87.5258	34.4033	5897
+-116.7498	47.8923	6762
+-81.3195	33.0576	3836
+-117.3878	32.5997	9224
+-120.883	47.3806	7344
+-120.003	47.2084	7094
+-117.0953	44.8634	7444
+-113.5884	34.9756	5422
+-118.9166	32.5082	7551
+-123.1644	45.5103	7980
+-84.4203	30.0589	6229
+-117.4797	33.943	9226
+-92.8435	37.6158	6504
+-115.5792	43.0335	4931
+-120.2459	34.1497	6288
+-115.0895	34.0318	7161
+-118.2839	30.5298	6809
+-91.2595	40.6533	7166
+-110.1527	30.9979	8810
+-116.0284	46.0751	6872
+-120.7972	29.5635	4147
+-89.9113	37.8333	8313
+-120.9705	45.7719	7113
+-118.1054	33.3092	8255
+-111.3804	32.9796	7583
+-108.2671	35.9965	4194
+-89.0548	39.1317	7935
+-116.4697	49.4927	5186
+-119.5072	45.3216	7724
+-113.7307	33.2561	6110
+-80.6478	29.3752	7415
+-114.2177	43.7549	4290
+-113.6874	33.6991	5965
+-90.6073	38.7414	9183
+-120.2285	45.6822	7153
+-118.4842	33.8924	8184
+-89.86	36.9426	8343
+-89.3007	40.3307	7359
+-114.8234	36.2659	6000
+-119.4385	45.2034	7712
+-83.8993	27.8434	7893
+-91.1657	37.4558	7794
+-116.4819	33.8129	8613
+-85.9819	27.6875	5537
+-91.3021	38.5431	8409
+-119.4052	47.1776	7613
+-87.643	36.333	7858
+-89.2755	39.0197	8195
+-113.9761	29.8253	5091
+-111.4685	31.8372	8213
+-83.8103	29.7611	6944
+-117.4267	33.6827	9016
+-116.5871	32.7327	9319
+-120.9984	30.7031	4675
+-91.6891	39.7889	7626
+-79.1026	30.4734	5295
+-81.8049	27.298	9245
+-81.6362	26.3505	8195
+-116.6064	32.8472	9350
+-111.4449	31.9741	8197
+-81.3962	27.7626	9058
+-87.5866	36.8573	8209
+-108.5852	34.7298	5574
+-120.11	35.6514	6022
+-109.3382	37.3007	3186
+-121.6347	45.421	7412
+-91.3036	39.71	7991
+-113.6826	32.0586	5994
+-118.2066	44.8134	7896
+-117.0997	30.0702	6686
+-82.5931	30.222	7066
+-109.516	31.5532	8587
+-119.0068	33.5485	7535
+-111.983	30.0917	7064
+-120.5771	49.3511	5949
+-84.5139	27.6974	7198
+-92.8592	36.606	5894
+-124.6289	33.0755	1424
+-123.7584	46.519	8543
+-82.315	27.7783	9687
+-125.3887	43.7689	5154
+-125.6887	45.2621	6015
+-89.0205	39.3412	7823
+-86.0333	37.3234	6723
+-118.3321	45.0273	8123
+-117.4264	32.3086	8989
+-87.7746	36.9023	8410
+-114.1714	28.8965	4397
+-112.8648	33.0267	6316
+-116.0529	44.1166	6099
+-91.0285	40.9362	6968
+-107.6269	30.6773	6381
+-116.4443	32.0603	8728
+-117.9691	44.124	7142
+-118.9048	35.0135	7509
+-78.9635	26.568	6058
+-90.2118	40.0424	8019
+-84.0169	25.0366	6140
+-115.3943	35.1164	7231
+-114.4219	45.0253	5015
+-118.1183	45.2622	8356
+-87.4207	38.6928	7915
+-119.907	47.5518	6954
+-116.1349	45.9993	6983
+-109.7721	33.0461	7776
+-117.9842	47.1396	8115
+-87.3361	38.4171	8001
+-122.8395	49.5948	6718
+-115.1597	40.8181	2762
+-92.5747	38.8926	7057
+-88.5908	37.5641	9587
+-83.979	26.8459	7559
+-124.2306	49.1863	6763
+-114.3661	34.4838	6351
+-110.2181	30.7723	8586
+-123.0632	43.3077	5582
+-120.661	33.5744	5785
+-82.0086	26.078	7977
+-125.3196	45.7968	6654
+-79.6548	25.9379	6408
+-118.8463	31.9496	7444
+-120.2059	45.697	7180
+-107.7171	32.8797	6310
+-114.555	39.1241	3342
+-121.6887	44.5581	6644
+-113.8076	31.4123	5897
+-89.0428	38.3525	8984
+-91.7195	38.2656	7892
+-109.8071	34.3764	6394
+-117.8248	32.8156	8796
+-80.3195	28.8464	7504
+-111.9624	33.4048	6826
+-119.6087	48.6869	6182
+-90.7196	38.8092	9056
+-121.6864	44.9288	7000
+-120.1081	34.7303	6371
+-117.6946	46.8018	8290
+-125.3924	46.0563	6691
+-122.7508	49.4536	6869
+-111.9389	31.8481	7711
+-83.7362	29.6975	7053
+-120.746	46.98	7240
+-93.2543	37.5353	6064
+-80.6536	28.2764	8122
+-83.532	27.5005	8282
+-91.4715	37.552	7680
+-111.1058	31.3495	8599
+-109.8691	29.9593	7644
+-119.7462	29.7023	5097
+-93.226	40.5654	5789
+-80.1619	28.3732	7559
+-111.144	31.1548	8480
+-116.5371	31.936	8660
+-109.6023	32.5059	8198
+-119.9459	36.0023	5974
+-113.9039	33.3429	6287
+-119.0109	45.0038	7867
+-118.0857	46.0497	9045
+-83.2929	26.9278	8273
+-123.3467	47.0014	9114
+-116.5869	32.113	8861
+-121.8255	45.8756	7924
+-118.603	34.6603	7971
+-89.2416	39.2252	8091
+-115.335	31.5727	7464
+-87.4646	34.041	5491
+-123.7681	43.5203	5702
+-90.8971	37.6536	8119
+-125.081	43.6253	5223
+-118.8458	29.7281	5720
+-119.9046	33.5169	6583
+-77.3909	30.178	3873
+-116.2379	34.3586	8389
+-107.7687	30.1542	6293
+-92.7802	38.9928	6828
+-122.8307	47.9489	8524
+-81.2708	27.9882	8885
+-121.9159	45.4495	7619
+-89.2013	38.2755	8975
+-116.1309	46.7543	6878
+-90.2474	36.3646	7602
+-115.9168	32.7518	8580
+-119.7187	47.689	6993
+-111.2255	29.5871	7105
+-114.0569	33.3713	6449
+-117.6734	48.0976	7049
+-120.3631	46.0187	7056
+-117.0568	46.601	7857
+-86.3996	39.532	6432
+-79.6427	29.8148	6244
+-89.8874	37.5509	8550
+-84.3052	30.3337	6088
+-121.2351	44.6687	6489
+-110.0147	31.4306	9091
+-91.7781	38.1859	7803
+-91.3019	38.1786	8258
+-116.8008	33.5728	8743
+-115.2275	31.3876	7242
+-83.7737	26.2407	7358
+-88.5042	34.5629	6319
+-117.2686	31.8811	8656
+-86.1308	35.4008	5914
+-118.9242	33.3025	7515
+-120.0818	46.0211	7354
+-110.1385	36.3725	4280
+-120.0628	47.8881	6589
+-119.5725	46.6304	7784
+-111.8997	30.0691	7113
+-90.0986	37.2183	8238
+-112.2864	34.9025	5301
+-124.8084	48.0427	7199
+-116.9971	30.9795	7704
+-82.4463	29.7676	7601
+-121.721	45.9593	7902
+-120.1031	34.0501	6442
+-109.5989	35.1964	5479
+-114.2559	33.5912	6608
+-82.0302	28.6936	8837
+-122.2254	46.4813	8693
+-91.1729	37.8972	8172
+-119.19	45.6862	8205
+-90.7886	41.3725	6564
+-81.0037	30.6482	6391
+-109.4765	30.9324	8308
+-86.4778	38.7735	6961
+-89.1663	34.6451	6395
+-119.7685	47.7153	6937
+-82.0424	27.6679	9741
+-118.8608	34.7622	7668
+-121.5627	49.7597	6204
+-126.1202	43.434	4355
+-83.7495	29.267	7398
+-90.6642	37.763	8318
+-114.5219	30.3194	5855
+-85.6758	29.5017	5430
+-115.5747	36.3014	6538
+-112.8416	34.1946	5551
+-117.3941	32.7825	9275
+-91.5526	33.7272	4400
+-83.849	26.2633	7312
+-84.2362	29.3802	6894
+-125.6772	45.368	6086
+-83.389	30.1104	6884
+-110.0042	30.3457	8086
+-92.3896	41.651	5623
+-81.7568	29.1828	8235
+-116.592	31.5928	8325
+-121.2579	46.0239	7526
+-83.6448	26.4354	7614
+-92.7903	41.2484	5685
+-80.5169	30.2938	6498
+-110.9575	31.0677	8596
+-119.0295	31.4065	6966
+-90.9876	37.2655	7697
+-83.511	26.483	7762
+-121.9896	45.2501	7472
+-86.1617	35.8417	6245
+-118.1635	48.6668	6539
+-122.7933	46.1495	8701
+-116.769	32.6953	9494
+-84.818	29.3733	6353
+-91.0626	36.6162	7011
+-82.4473	30.3665	6930
+-119.0267	45.2093	8032
+-116.7986	35.7075	7746
+-90.0423	37.1092	8253
+-118.4714	29.2252	5410
+-81.4961	27.724	9170
+-117.2358	37.7231	5622
+-88.1875	36.1108	7952
+-123.3028	48.4161	7953
+-116.9238	46.5067	7758
+-87.1453	39.0155	7447
+-116.6404	30.8308	7508
+-116.1161	34.7719	8103
+-90.2212	35.4629	6852
+-114.3587	31.9658	6693
+-106.8418	29.766	5209
+-119.1455	36.8821	5906
+-120.3298	35.1943	6002
+-115.1801	32.435	7715
+-110.2228	32.5885	8378
+-123.7734	49.4309	6734
+-121.1704	46.7924	7696
+-124.8531	46.994	7460
+-90.2615	37.0761	8011
+-117.6975	43.6259	6568
+-110.9305	32.555	8238
+-87.3706	34.6413	6076
+-114.246	33.1745	6692
+-107.0813	33.4262	5424
+-89.0454	40.6521	6918
+-110.8675	30.4711	8137
+-110.9565	30.5157	8134
+-117.2926	34.9843	8609
+-114.7681	32.4253	7262
+-90.7083	38.4725	8964
+-118.442	44.3411	7390
+-111.1869	33.5285	7172
+-106.1862	33.4831	4531
+-119.1194	48.7024	6366
+-88.9094	36.5195	8518
+-109.59	33.1792	7566
+-120.3599	44.839	6688
+-120.8937	47.0966	7397
+-84.752	26.8327	6747
+-118.8155	49.0507	6085
+-117.0582	43.768	6471
+-117.0257	44.7807	7330
+-119.6639	49.835	5043
+-82.8808	26.0815	7807
+-109.8783	31.4019	8943
+-111.1567	29.3692	6914
+-117.2579	34.6029	9026
+-117.8936	36.0356	7353
+-119.8149	34.5089	6728
+-117.0018	33.7515	9031
+-119.0776	46.9782	8006
+-92.1226	39.3202	7452
+-117.7873	32.218	8620
+-118.261	44.6821	7759
+-116.5161	46.8783	7215
+-120.956	34.9167	5424
+-115.5257	36.6327	6215
+-88.3181	34.1043	5785
+-113.2697	49.5908	2790
+-118.6977	43.887	6876
+-119.9554	34.2406	6603
+-86.6196	38.5332	7216
+-90.6981	41.6226	6310
+-121.5076	32.8918	4718
+-116.3956	32.6267	9082
+-122.9043	45.6973	8212
+-120.6318	43.3539	5434
+-80.3777	27.6986	7905
+-116.8997	45.9707	7789
+-111.6948	31.8217	7976
+-109.4892	32.0651	8420
+-119.0913	34.6201	7478
+-84.7427	38.1418	5267
+-89.0325	38.2137	9132
+-107.0363	32.2414	5831
+-110.1428	35.2146	5534
+-110.5068	31.7597	9205
+-121.904	45.4178	7583
+-113.1305	33.3284	5901
+-89.5467	38.6444	8515
+-111.8812	30.7717	7580
+-83.707	28.8561	7727
+-90.4165	36.3517	7447
+-91.9921	36.7266	6638
+-111.6437	32.7146	7598
+-95.3621	36.1748	3383
+-122.5454	43.3409	5604
+-116.6073	36.7525	6592
+-114.2097	31.5465	6367
+-88.5454	36.794	8805
+-81.8909	27.4982	9483
+-119.9456	47.6077	6884
+-91.7149	43.1847	4434
+-90.2266	38.6038	9193
+-116.191	32.9139	8881
+-109.2218	29.3378	6759
+-113.8523	32.4057	6249
+-116.8477	32.308	9170
+-90.0511	39.3753	8661
+-82.3021	27.187	9209
+-117.7051	33.9832	9032
+-116.8171	45.7696	7669
+-109.7005	31.2717	8709
+-118.0138	33.2012	8508
+-118.8979	42.7589	5663
+-89.1542	35.887	7771
+-91.2011	39.1067	8463
+-117.7288	33.4863	8671
+-89.809	43.0474	4751
+-83.832	25.8575	7001
+-116.7012	32.2274	9032
+-123.9443	48.5855	7490
+-118.1387	35.3486	7906
+-83.0545	27.4696	8797
+-90.3892	38.999	9156
+-80.7789	33.344	3399
+-89.2414	36.5314	8434
+-124.7139	48.4025	7065
+-118.2698	33.3794	8169
+-118.3568	34.9004	8084
+-89.5283	35.4934	7231
+-85.9337	36.3714	6319
+-81.8386	30.8579	6379
+-87.8373	35.5593	7230
+-82.6459	38.0136	2933
+-119.1719	46.3294	8289
+-114.7819	29.0979	4942
+-92.2086	37.862	7237
+-88.3994	38.3393	8954
+-110.2506	32.3586	8629
+-127.3649	46.3817	4659
+-117.0746	31.5096	8290
+-110.7029	31.5232	9068
+-85.9394	36.4909	6378
+-80.5387	31.6145	5180
+-92.856	36.5212	5836
+-106.3111	32.5764	4985
+-115.5454	36.2769	6539
+-93.109	43.594	3434
+-88.2302	39.2084	7982
+-84.9851	28.2891	6612
+-123.791	46.8402	8618
+-90.2919	38.1194	8738
+-80.9711	30.5412	6489
+-116.1514	33.7207	8241
+-109.4433	31.0668	8359
+-118.6293	32.7908	7898
+-119.0203	44.4642	7360
+-88.5946	34.7126	6494
+-116.3196	30.9048	7502
+-93.7182	40.8295	5188
+-87.6982	39.6109	7324
+-110.658	30.5942	8346
+-91.2521	39.0661	8428
+-120.7528	47.4491	7188
+-88.4981	38.5899	8735
+-117.7526	32.185	8628
+-91.7169	36.6657	6757
+-116.7898	34.0594	9012
+-110.0866	31.7247	9165
+-89.7344	38.6505	8717
+-113.0089	33.7918	5715
+-116.4058	32.9377	9113
+-124.9114	43.8699	5549
+-95.0276	40.188	4184
+-116.7496	34.0718	8970
+-115.0791	30.9647	6803
+-119.8844	46.5752	7492
+-111.5565	31.6566	8146
+-117.2372	33.2293	9202
+-88.0487	38.506	8575
+-123.0467	45.8758	8397
+-115.9338	34.2066	8082
+-116.9275	35.7081	7781
+-83.2591	27.2531	8493
+-106.7482	31.0183	5541
+-120.5813	47.0068	7058
+-90.7428	37.6616	8189
+-115.2964	31.9637	7661
+-89.0283	38.871	8431
+-91.5404	37.2313	7366
+-117.9197	36.8337	6507
+-87.5024	40.8525	5967
+-111.4296	33.8543	6741
+-117.7309	44.2809	7247
+-87.6009	37.945	8470
+-83.7335	27.6658	8078
+-116.1632	31.1681	7707
+-89.1613	35.7365	7604
+-92.9477	37.3489	6275
+-116.7193	34.4992	8820
+-117.7083	32.9457	8913
+-115.9143	37.8124	5262
+-113.0241	29.9449	6060
+-81.2777	29.6778	7523
+-90.5302	39.2688	8843
+-115.4241	34.5743	7471
+-89.6181	40.3144	7547
+-108.8967	31.0035	7795
+-85.1132	26.1608	6063
+-117.6458	40.7739	3579
+-88.424	37.4491	9360
+-87.1799	41.1037	5565
+-90.6522	39.6207	8442
+-118.1973	31.9517	8075
+-93.9911	36.0255	4551
+-116.2311	34.5252	8330
+-81.4709	29.8654	7402
+-117.1834	33.0586	9390
+-90.0665	35.1744	6660
+-116.7798	35.0754	8381
+-112.2121	31.1221	7378
+-90.5352	37.973	8571
+-117.1784	33.9421	9308
+-118.0337	36.1012	7234
+-115.626	33.4791	8085
+-86.7103	35.8791	6757
+-109.8545	33.2924	7551
+-91.936	41.0336	6448
+-91.2929	39.891	7852
+-122.4106	48.2428	8105
+-121.2396	49.6096	6177
+-89.4617	42.1093	5670
+-120.7584	47.1981	7240
+-109.7755	29.7375	7384
+-123.3432	45.5074	7931
+-119.4876	36.8358	5722
+-114.0849	33.2237	6507
+-112.7364	29.2891	5874
+-116.2573	36.1842	7044
+-91.1359	37.7121	8042
+-118.1416	35.6583	7620
+-94.4381	40.444	4688
+-91.5215	35.0945	5585
+-121.7293	32.702	4426
+-113.7102	26.9309	3245
+-112.2419	30.8562	7261
+-91.6921	39.9207	7532
+-124.2532	46.2707	7934
+-116.6673	34.0826	8882
+-88.0894	38.1062	8908
+-90.6818	38.9442	9041
+-109.6462	30.4979	8082
+-83.3475	27.0496	8297
+-112.8558	34.6592	5164
+-116.3523	32.914	9059
+-120.7318	32.7936	5485
+-123.0343	46.656	9234
+-117.7573	32.8698	8869
+-113.9214	32.3034	6308
+-120.456	47.0948	6730
+-91.4451	37.7072	7820
+-86.3871	37.0304	7050
+-111.0605	35.0948	5588
+-89.4329	39.3077	8237
+-126.3492	44.6626	5049
+-116.7491	48.4216	6313
+-127.0815	49.353	4317
+-83.6134	28.2901	8116
+-122.2721	46.9684	8916
+-85.272	26.9535	6224
+-111.2088	31.0712	8375
+-119.1318	30.936	6554
+-88.5362	34.8601	6655
+-120.0043	45.2127	7210
+-91.3926	36.0239	6291
+-123.8689	47.2513	8497
+-114.658	29.7867	5504
+-92.0364	37.1904	6975
+-117.0422	33.7362	9040
+-90.2636	36.6931	7811
+-111.7882	33.6621	6724
+-89.5691	36.4303	8161
+-116.6616	47.1253	7229
+-83.0526	26.4906	8113
+-117.3566	28.2723	4666
+-86.8705	37.214	7627
+-90.1351	36.7599	7973
+-90.2795	34.7186	6096
+-116.3963	35.0139	8187
+-114.2602	32.4389	6705
+-79.5561	26.7272	6749
+-91.9776	37.2857	7091
+-86.4854	35.8879	6568
+-79.1785	29.1266	6212
+-117.1776	46.6153	7969
+-122.2265	49.1452	7101
+-78.4246	27.8317	5696
+-107.9564	33.6766	6042
+-116.9991	44.7064	7254
+-116.5036	35.1845	8121
+-120.5493	44.376	6245
+-115.5145	33.2037	8077
+-87.145	38.5035	7766
+-118.9181	48.1001	7038
+-119.3222	44.7948	7494
+-115.7447	35.4861	7317
+-119.7711	35.0884	6614
+-111.2662	34.4249	6233
+-116.186	31.5365	8080
+-116.8843	34.1628	9120
+-118.9326	34.2802	7713
+-123.4113	48.9969	7306
+-120.8225	35.5197	5375
+-110.4698	32.7213	8232
+-88.7269	38.9979	8319
+-117.788	34.4498	8872
+-84.3713	27.6252	7355
+-115.9416	38.6811	4371
+-78.7759	27.4527	6077
+-116.9752	32.5199	9422
+-120.7776	47.9195	7050
+-89.9842	38.7447	8994
+-118.8312	29.2913	5305
+-116.446	34.2128	8639
+-110.3277	29.6805	7412
+-86.06	34.0974	4787
+-119.7762	46.3594	7656
+-86.3103	39.2367	6542
+-116.5549	48.7628	5898
+-109.5916	31.4757	8662
+-109.5036	33.174	7530
+-81.3601	24.5572	6158
+-116.7204	46.717	7481
+-116.0986	32.8471	8784
+-88.2447	39.1049	8097
+-118.1537	31.7191	7950
+-108.6052	29.1115	6206
+-118.6078	41.2332	4095
+-108.5459	29.4955	6496
+-119.8542	43.7518	6268
+-118.9551	31.1795	6880
+-114.477	36.5573	5507
+-90.712	39.9417	8092
+-125.6783	45.1796	5977
+-113.5046	34.2538	5572
+-117.4697	46.8128	8115
+-85.1414	38.7924	5554
+-123.0391	46.3846	8949
+-114.8164	33.1403	7327
+-87.8614	37.1517	8646
+-91.1455	41.2428	6615
+-91.4258	40.0338	7642
+-119.4879	32.9639	6800
+-107.6317	31.6582	6545
+-89.5084	41.634	6176
+-89.5544	37.6078	8928
+-93.8287	40.7395	5136
+-125.3458	47.2748	6898
+-121.9541	46.6769	8519
+-87.2676	38.0621	8075
+-91.1925	36.1839	6524
+-121.645	49.1967	6795
+-89.2478	39.5342	7937
+-112.4226	33.2196	6598
+-117.3103	36.2551	7223
+-91.6906	37.0626	7124
+-118.4968	36.0736	7032
+-87.8072	34.8932	6521
+-84.1284	39.3436	4279
+-116.8163	27.566	3894
+-81.7822	28.4378	9035
+-108.8182	34.9095	5514
+-117.6553	30.5478	7108
+-112.6656	31.4979	6945
+-79.7168	30.9625	5359
+-85.7325	35.4435	5593
+-84.2407	26.6112	7173
+-119.3898	47.1011	7680
+-84.7705	26.9489	6769
+-90.7612	41.6579	6264
+-115.5039	46.3365	6306
+-120.1152	49.5441	5437
+-90.5387	35.1496	6360
+-117.4477	45.9113	8353
+-88.9428	32.5395	4057
+-93.2928	40.1691	5935
+-86.7622	37.1243	7484
+-80.807	26.6432	7926
+-112.1057	33.3469	6765
+-114.5345	48.734	4408
+-118.1497	33.7434	8485
+-117.6097	46.2715	8524
+-110.1258	31.8175	9135
+-117.7218	43.7322	6683
+-118.7513	32.5017	7731
+-81.5959	27.6433	9269
+-120.3828	48.6036	6307
+-122.7707	45.5226	8013
+-111.6459	28.6958	6037
+-85.5891	37.436	6239
+-89.6466	38.2674	8475
+-120.3223	47.472	6658
+-116.7591	32.7444	9508
+-116.0977	32.6858	8773
+-123.7488	43.6487	5844
+-109.7654	29.008	6616
+-117.0605	36.4662	6983
+-118.7544	33.633	7826
+-115.1727	28.2868	4319
+-88.3464	38.5289	8738
+-121.2965	43.5888	5498
+-112.2163	33.8457	6284
+-89.4026	38.1485	8919
+-80.5787	26.098	7312
+-92.713	33.7265	3456
+-120.3162	47.9378	6358
+-115.9241	32.0933	8338
+-111.8975	31.3959	7767
+-86.9318	25.8687	4054
+-91.6896	39.7968	7620
+-120.4295	34.0634	6087
+-90.1396	36.1466	7516
+-83.3874	27.4034	8415
+-113.8005	29.9884	5339
+-117.2758	34.8676	8737
+-121.2927	33.9099	5139
+-118.8682	45.5992	8445
+-89.4817	38.5832	8436
+-83.9561	25.0976	6236
+-92.2007	34.4116	4355
+-118.7617	30.5776	6552
+-111.4775	30.8905	8024
+-90.6461	35.4488	6552
+-120.853	42.8425	4866
+-85.0405	27.6147	6599
+-106.8449	31.6972	5692
+-77.9837	28.2112	5171
+-87.0669	28.6473	4223
+-107.0712	33.419	5418
+-88.1839	35.1098	6872
+-114.5802	32.8154	7091
+-120.5283	42.6442	4896
+-116.5866	45.3907	7313
+-119.7147	43.5758	6187
+-88.7944	34.1973	5921
+-116.2065	49.8629	4709
+-119.0243	36.0312	6716
+-121.0267	47.8628	7325
+-82.8694	24.7782	6410
+-88.5876	35.8896	7811
+-111.1686	31.6557	8565
+-123.747	46.7187	8637
+-125.7432	48.0343	6270
+-88.829	36.5741	8587
+-115.3453	34.0826	7441
+-87.1485	39.1277	7367
+-83.1785	28.5938	8384
+-117.4008	44.1031	6948
+-116.0277	32.1989	8499
+-119.0235	48.4514	6650
+-84.8621	27.2295	6746
+-117.4348	31.871	8576
+-123.6741	44.0485	6289
+-89.9166	37.6915	8524
+-121.1029	49.3921	6290
+-84.7654	27.5281	6902
+-117.9457	26.4074	2521
+-116.7286	35.0964	8334
+-113.9254	33.3873	6301
+-125.0448	47.9209	7027
+-119.068	31.4741	6971
+-89.6226	39.1709	8487
+-123.9448	47.1221	8446
+-110.0642	31.1941	8961
+-88.9246	39.0197	8285
+-120.3362	48.6712	6224
+-92.2049	39.8578	7126
+-110.6994	33.7713	7070
+-110.2698	28.6075	6249
+-85.752	38.5718	6282
+-109.5203	30.6234	8111
+-89.6633	41.5316	6327
+-114.0162	47.1266	4612
+-119.9327	49.3879	5365
+-80.0778	27.0974	7447
+-92.1507	39.3026	7428
+-115.6004	33.4107	8091
+-80.3331	24.9478	6109
+-117.1847	37.7346	5608
+-116.8535	33.8087	8965
+-82.0108	30.7657	6497
+-121.0404	47.8259	7356
+-116.6279	48.231	6403
+-120.0847	32.5181	6259
+-120.6664	35.5072	5538
+-118.0965	47.2358	8042
+-90.8464	43.6249	4146
+-122.8867	48.0024	8468
+-94.5964	39.5924	4793
+-118.2486	47.1009	8200
+-87.6273	43.3214	3671
+-124.7852	47.4904	7457
+-80.5244	25.7938	7012
+-118.2595	36.0903	7144
+-119.5715	46.1955	7893
+-90.6977	41.6237	6309
+-120.3743	35.618	5781
+-110.6457	34.7718	6002
+-79.1189	25.1741	5394
+-110.8735	31.945	8769
+-119.2388	48.8048	6222
+-92.1725	38.2946	7434
+-108.7503	29.4642	6608
+-84.634	40.3663	4274
+-120.3398	33.2404	6047
+-89.0997	36.8526	8828
+-117.7956	35.2519	8188
+-117.1431	34.1563	9401
+-116.9341	30.4078	7066
+-122.3851	47.7029	8619
+-115.5215	32.3886	8072
+-90.5969	41.233	6738
+-118.3127	33.7925	8338
+-113.4435	36.1332	4831
+-87.2343	39.8541	6817
+-120.8168	32.0192	5367
+-118.5165	34.7581	8014
+-122.4436	45.0624	7455
+-113.5552	33.7981	5793
+-109.8441	34.1866	6604
+-109.5072	32.5648	8084
+-81.7976	28.2699	9208
+-115.1495	32.1018	7575
+-90.8682	36.4958	6939
+-110.6535	35.3482	5380
+-120.389	47.2023	6743
+-89.9907	40.1744	7832
+-107.8678	33.718	5940
+-85.7785	33.9972	4504
+-115.1964	43.9468	5274
+-88.5007	35.5117	7379
+-92.2299	38.2142	7352
+-121.7478	43.1456	5222
+-89.139	34.6001	6348
+-110.4253	27.1799	4702
+-116.8064	33.292	9193
+-90.8886	39.835	8134
+-121.8672	47.3678	8389
+-109.3527	32.957	7645
+-87.9791	38.9559	8119
+-88.3047	38.8741	8363
+-88.9305	36.298	8269
+-90.5724	39.1454	8952
+-87.182	38.5955	7753
+-114.643	34.5737	6636
+-90.9864	36.5739	6990
+-118.3616	47.1094	8188
+-118.7829	34.0842	7883
+-121.702	45.0943	7164
+-88.1764	34.0823	5738
+-117.309	31.7918	8548
+-121.4744	45.1306	7052
+-118.1413	31.5482	7825
+-95.1411	36.6928	3837
+-118.9631	39.88	3002
+-82.3114	25.8404	7704
+-118.7318	32.3494	7716
+-116.7394	45.5733	7533
+-91.541	38.9483	8158
+-80.9051	26.6174	7990
+-92.6293	39.7239	6786
+-117.5106	32.3926	8984
+-115.3191	31.3927	7324
+-125.9955	46.4191	6153
+-112.7632	34.7445	5154
+-117.8089	43.9557	6935
+-117.9411	44.5657	7596
+-81.8629	27.4999	9463
+-93.4448	39.5959	6001
+-90.1843	37.862	8443
+-89.9427	41.2508	6687
+-117.9085	47.0221	8206
+-79.2979	28.6711	6525
+-113.4217	33.9817	5591
+-84.3334	36.5443	4682
+-124.4575	46.7272	7875
+-115.5158	44.3257	5779
+-86.8832	36.9885	7568
+-91.9242	36.7936	6740
+-118.8364	36.7349	6223
+-113.5869	33.0576	5974
+-89.5574	37.3008	8837
+-120.1242	46.5773	7246
+-121.016	49.1711	6420
+-89.6529	37.0505	8604
+-80.7227	27.7875	8296
+-80.2634	27.6064	7769
+-86.4213	41.6772	4599
+-89.1195	41.6468	6018
+-119.7456	36.8108	5558
+-90.6435	37.7186	8278
+-88.1118	37.5262	9064
+-94.9939	31.4211	92
+-90.6266	36.9919	7511
+-113.9034	29.2154	4832
+-120.3349	44.2074	6304
+-88.2185	34.2292	5908
+-119.9919	45.7949	7422
+-115.8733	33.1026	8492
+-91.6025	41.1644	6509
+-117.6076	35.4453	8059
+-115.327	31.7395	7565
+-89.0655	39.3595	7859
+-116.8613	35.1358	8358
+-92.7482	43.6089	3600
+-89.7775	36.3346	7939
+-116.7975	35.3911	8074
+-119.4917	37.3877	5237
+-89.8658	35.8437	7426
+-118.4906	47.3341	7935
+-83.6841	29.9116	6898
+-122.0466	43.9884	6203
+-82.2863	25.7758	7633
+-117.1442	47.037	7698
+-116.9389	35.3549	8158
+-120.7405	32.3951	5517
+-87.6103	35.34	6899
+-117.1147	29.8656	6457
+-91.3942	39.7127	7920
+-89.2299	37.4862	9257
+-108.0861	31.2776	7016
+-120.7625	48.23	6878
+-109.977	33.8738	6962
+-109.5138	28.1295	5628
+-116.1974	45.2035	6856
+-121.3142	45.9951	7563
+-119.9124	44.6473	6949
+-120.7269	34.8405	5685
+-122.9973	49.589	6723
+-109.9833	31.1526	8872
+-84.3211	36.4971	4655
+-81.9351	27.7594	9668
+-115.0842	33.1923	7612
+-119.6281	33.6972	6918
+-87.2415	38.5479	7838
+-120.6704	43.9488	5857
+-115.9443	34.4913	8044
+-120.072	45.3808	7219
+-111.8589	31.6926	7816
+-119.8681	34.6545	6644
+-121.8697	44.9058	7075
+-118.6985	34.1125	7976
+-119.6813	47.5907	7096
+-81.521	24.112	5700
+-90.838	41.3814	6546
+-119.8779	47.7357	6841
+-83.51	29.0914	7731
+-112.5309	34.0529	5892
+-119.5655	37.5318	5062
+-115.4753	34.3191	7573
+-117.5551	35.2469	8283
+-127.1028	48.9319	4509
+-88.337	37.4648	9283
+-118.3429	33.459	8152
+-117.4456	34.07	9331
+-125.9385	47.1042	6265
+-117.9429	46.5617	8653
+-111.9691	31.3865	7688
+-115.8368	31.3377	7677
+-87.7219	36.9776	8411
+-93.5469	40.2953	5629
+-116.7953	36.1239	7306
+-109.1138	31.2915	8115
+-88.7011	41.127	6286
+-115.7613	45.0049	6349
+-86.925	37.453	7734
+-121.4445	33.0914	4841
+-116.1839	31.8079	8329
+-81.0682	26.9542	8377
+-82.9751	31.3013	5782
+-119.8974	45.288	7347
+-121.6521	34.3448	4748
+-114.8818	35.8977	6302
+-81.252	26.5329	8177
+-118.3136	39.2656	3824
+-118.146	38.3237	4867
+-120.7601	46.933	7255
+-122.6961	46.835	9340
+-116.7749	33.2082	9266
+-110.6392	33.8111	7037
+-85.0265	37.1344	5575
+-88.0386	36.8005	8546
+-116.9862	36.7465	6671
+-114.5493	31.6466	6757
+-115.3593	32.9071	7957
+-111.3742	33.235	7358
+-119.5034	33.5667	7021
+-109.7143	31.333	8750
+-122.012	46.4544	8480
+-90.8793	37.0087	7473
+-117.6492	34.4404	9003
+-116.3135	35.9181	7331
+-78.2703	28.5778	5427
+-110.741	29.9967	7699
+-115.8233	46.0599	6655
+-119.5651	32.9392	6712
+-80.5219	24.8906	6163
+-119.3111	37.1836	5532
+-124.8289	43.5175	5265
+-82.0255	28.1235	9471
+-121.1367	45.9329	7361
+-82.4716	28.6523	8820
+-119.5161	48.8294	6089
+-118.5798	36.1415	6921
+-82.8206	28.4756	8775
+-87.998	39.1318	7957
+-115.7784	36.4309	6552
+-90.7738	36.1177	6970
+-118.0325	45.9494	8951
+-83.2749	29.6936	7358
+-82.4587	25.563	7372
+-115.7301	33.6074	8116
+-88.4703	39.2545	8001
+-81.2089	27.8331	8844
+-122.1671	44.8992	7196
+-84.5566	28.0064	7138
+-115.9957	45.7412	6808
+-125.4052	48.5246	6365
+-113.8532	35.2929	5606
+-115.5845	34.7405	7587
+-115.9585	32.153	8407
+-80.5659	28.02	8096
+-91.9576	41.0468	6423
+-85.0605	26.9941	6467
+-116.5012	32.2198	8909
+-113.0167	34.619	5084
+-116.5084	35.1873	8122
+-115.7648	45.3536	6479
+-90.302	37.9937	8605
+-116.7057	46.0448	7589
+-80.402	30.2841	6436
+-88.5599	39.4926	7752
+-117.8877	33.4444	8526
+-116.8944	45.3278	7578
+-109.7649	29.9366	7586
+-90.076	35.4365	6913
+-86.1085	35.5433	5997
+-88.0727	39.6359	7471
+-120.7744	44.7588	6264
+-122.9513	44.6707	7083
+-88.7955	38.1507	9270
+-109.7629	30.2923	7944
+-107.3731	31.4159	6261
+-107.5766	33.8848	5583
+-119.105	34.5853	7473
+-94.1947	42.5189	3647
+-121.5553	46.4254	8014
+-116.7382	28.9488	5431
+-119.7929	33.2324	6612
+-87.4947	37.2229	8303
+-90.0922	35.7977	7244
+-88.7734	40.8162	6601
+-90.8308	40.4288	7552
+-87.0524	36.6419	7574
+-112.0386	33.1729	6948
+-93.1871	37.6837	6191
+-81.1256	27.3206	8646
+-118.8139	35.4927	7291
+-117.5504	36.3461	7104
+-120.3921	29.6848	4576
+-124.4798	48.4727	7208
+-110.426	27.8177	5392
+-90.0168	40.0046	8016
+-117.0011	33.7938	9068
+-80.737	25.6636	7036
+-88.9914	40.494	7019
+-88.4271	41.065	6158
+-119.2954	32.178	7059
+-84.983	26.9566	6541
+-84.2364	30.3278	6143
+-89.9707	34.255	5755
+-118.3157	36.1946	7015
+-116.2573	31.3219	7907
+-83.4342	25.9072	7325
+-90.4139	38.2741	8910
+-126.0091	49.1799	5413
+-120.0201	33.0174	6297
+-114.9617	44.9518	5538
+-124.8017	46.6262	7484
+-112.3652	27.3819	4417
+-88.2798	38.4821	8748
+-112.1034	33.032	6995
+-79.3633	26.5538	6471
+-88.64	42.2959	5166
+-94.15	38.1819	5319
+-84.9479	34.3713	4154
+-127.0783	43.6433	3741
+-88.7624	40.1642	7106
+-111.4622	30.1592	7505
+-85.5598	26.3411	5694
+-123.9558	34.9724	2184
+-83.2546	26.5204	7996
+-79.7971	25.8718	6489
+-93.9026	39.2378	5595
+-115.8662	35.167	7639
+-95.2246	39.2109	4183
+-122.4743	48.8385	7497
+-120.342	48.809	6143
+-89.8606	39.1779	8696
+-87.637	41.4667	5261
+-87.2632	38.3782	7948
+-80.1168	27.138	7503
+-117.7821	35.7428	7694
+-89.5288	37.5781	8954
+-107.8052	29.2058	5714
+-117.1874	33.3703	9088
+-82.8588	27.9186	9054
+-117.0007	32.6174	9527
+-121.0499	46.9924	7573
+-116.8741	33.1188	9400
+-120.0095	49.3369	5375
+-88.8158	39.0733	8234
+-92.4559	40.189	6705
+-127.5322	49.4232	3846
+-113.2595	33.725	5545
+-118.7727	47.6353	7554
+-84.9395	37.5297	5516
+-91.6103	39.2693	7988
+-111.7841	31.8267	7880
+-90.1123	32.865	4218
+-120.1927	32.7605	6154
+-88.6411	39.3924	7872
+-116.0292	31.7629	8180
+-119.7116	48.7026	6116
+-86.5625	40.5935	5702
+-116.377	45.6884	7195
+-83.5528	29.0994	7690
+-116.1047	36.6176	6546
+-89.7929	40.6041	7327
+-117.8775	33.5253	8598
+-117.9955	42.2211	5141
+-110.5412	29.872	7606
+-113.849	45.1449	4456
+-87.5836	38.2406	8339
+-118.18	47.1855	8106
+-119.7371	29.5926	5011
+-116.0896	33.4937	8517
+-81.4249	26.1991	7946
+-120.3612	45.9653	7055
+-118.6816	32.6655	7833
+-89.4295	38.5296	8369
+-90.2306	36.4846	7703
+-94.2411	37.7373	5125
+-83.9272	29.0561	7393
+-119.3204	30.7256	6241
+-89.2144	40.7815	6898
+-112.2551	34.4237	5758
+-118.8566	45.0448	7989
+-118.1961	31.8675	8020
+-94.7488	40.0202	4524
+-90.4156	37.2193	7774
+-119.0931	33.0451	7219
+-113.1662	32.2701	6315
+-115.9926	35.1385	7768
+-82.2532	28.6226	8915
+-123.4095	44.3036	6628
+-125.3172	48.2132	6618
+-93.7025	37.4946	5600
+-90.9587	37.2046	7647
+-119.553	33.3522	6902
+-116.564	45.3295	7265
+-106.3242	30.498	4974
+-106.9997	31.2182	5840
+-84.3298	26.5235	7037
+-108.6449	32.757	7246
+-78.2012	28.2775	5406
+-118.3125	44.8875	7976
+-89.5093	36.7407	8483
+-89.8724	42.1797	5687
+-90.7722	39.3842	8623
+-89.2436	40.1471	7481
+-114.4188	32.8313	6911
+-92.766	38.6939	6855
+-84.3206	39.2397	4521
+-106.71	32.7404	5353
+-81.2836	26.9471	8557
+-119.495	33.995	7102
+-114.5218	36.7397	5409
+-92.8413	39.6497	6603
+-108.4067	31.9001	7358
+-80.6099	27.0611	7993
+-109.1276	34.3532	6201
+-89.1813	40.4302	7198
+-117.3068	33.0419	9298
+-120.2167	44.5586	6642
+-118.0162	33.8598	8667
+-82.2143	29.5098	7918
+-121.5876	49.6947	6280
+-110.1781	30.2616	8032
+-77.7335	24.8437	3916
+-117.355	43.6369	6473
+-120.5918	46.4512	6787
+-89.474	39.0916	8377
+-117.2595	34.0722	9471
+-117.4349	33.8172	9147
+-90.1294	37.1207	8167
+-117.9068	33.9757	8819
+-87.8162	38.013	8679
+-116.7886	31.9769	8795
+-121.5368	45.6034	7488
+-110.8689	38.2436	2234
+-110.2209	31.4572	9291
+-115.5151	34.8659	7467
+-118.9736	31.5433	7102
+-112.2052	33.7249	6392
+-118.4695	37.1127	6033
+-123.3686	48.744	7587
+-119.9051	46.6119	7459
+-80.7108	26.367	7635
+-117.4177	44.9436	7731
+-115.0394	33.2105	7559
+-90.6298	36.9287	7443
+-114.4932	37.2895	4955
+-119.1345	35.4226	7062
+-120.3035	31.6961	5827
+-115.501	34.4085	7589
+-90.8376	35.0164	6040
+-87.5826	41.029	5813
+-90.4195	37.9167	8525
+-115.3296	30.5141	6602
+-113.3452	31.4328	6206
+-126.6902	47.2965	5426
+-90.52	39.3199	8793
+-114.4573	35.2346	6246
+-116.9224	47.3982	7269
+-120.2918	48.0114	6324
+-121.6622	46.4998	8153
+-115.4867	35.5564	7052
+-114.7621	38.0866	4433
+-116.9924	31.2398	7994
+-115.9772	33.5267	8394
+-121.2045	49.6664	6104
+-88.6552	39.5403	7707
+-114.8472	35.5469	6481
+-108.1228	31.3462	7065
+-115.4382	31.8856	7757
+-120.1348	33.2706	6271
+-81.8268	29.0586	8390
+-107.5663	31.6169	6475
+-118.5589	48.0899	7133
+-117.5098	30.0638	6623
+-86.9112	38.309	7611
+-90.6136	38.9086	9123
+-109.8169	31.2625	8815
+-112.2138	30.6202	7184
+-93.2766	38.766	6306
+-115.0129	33.6388	7389
+-110.7931	29.2799	6929
+-119.5582	43.7584	6437
+-81.7688	28.4013	9064
+-90.9749	36.1797	6582
+-116.65	31.2498	7970
+-125.583	44.998	5950
+-111.851	32.6772	7447
+-90.5406	37.7736	8358
+-122.7763	47.0822	9420
+-123.0366	45.4588	7943
+-85.5336	27.6445	6043
+-112.2424	30.2812	6970
+-110.5415	30.5898	8374
+-118.5807	45.20	8257
+-113.3623	32.9062	5892
+-92.4837	37.8099	6944
+-91.1543	39.4155	8327
+-90.3221	40.9034	7102
+-122.1167	48.6326	7584
+-122.9434	49.7969	6496
+-80.7371	29.6614	7230
+-117.3862	31.7166	8440
+-115.9165	46.6669	6683
+-80.9203	27.8336	8518
+-90.8641	36.674	7128
+-116.3983	35.8559	7434
+-90.7249	41.9158	5992
+-120.7568	46.977	7252
+-90.6173	39.4649	8614
+-116.7863	32.4396	9287
+-90.1991	37.3827	7937
+-84.288	26.4122	7013
+-86.5932	27.2216	4809
+-93.0128	40.1107	6233
+-122.8677	46.2402	8807
+-116.1985	35.3192	7797
+-88.2903	40.6206	6399
+-115.5436	33.0285	8148
+-118.9401	33.6288	7631
+-95.1365	40.2531	4051
+-115.8218	36.0936	6882
+-89.0327	39.0911	7923
+-120.295	35.0921	6073
+-117.8275	44.5694	7569
+-119.4628	36.6743	5874
+-92.115	40.9463	6410
+-85.915	29.5998	5138
+-113.399	27.2337	3708
+-108.6314	31.2187	7588
+-112.6535	33.8486	5960
+-115.9548	33.9665	8095
+-94.631	40.8417	4321
+-115.9727	28.7268	5058
+-119.97	31.7234	6188
+-118.5922	46.7791	8470
+-87.1431	40.9406	5712
+-82.0746	25.2904	7090
+-110.4544	29.8645	7607
+-88.3827	40.3639	6654
+-115.8982	32.7724	8560
+-88.6038	43.0314	4427
+-118.9157	34.0387	7736
+-123.3741	48.4309	7915
+-87.4557	37.0661	8197
+-88.8311	37.3271	9428
+-122.0563	47.0747	8672
+-120.8378	47.145	7332
+-87.2843	37.0316	8005
+-116.9329	27.2744	3571
+-123.391	44.1628	6479
+-111.3795	35.2002	5394
+-83.6983	25.7315	6988
+-116.4332	31.8878	8558
+-81.5571	24.8994	6584
+-91.8562	38.4783	7810
+-116.1805	32.2647	8681
+-116.8527	32.2511	9109
+-125.5994	47.5807	6565
+-115.2762	34.7291	7271
+-111.95	29.3813	6514
+-108.3074	29.2558	6130
+-117.6249	32.3337	8842
+-115.633	36.5827	6326
+-82.3729	30.3209	6990
+-114.3743	34.5139	6356
+-109.8057	31.9554	8774
+-88.3218	41.1239	6036
+-89.136	39.2242	7986
+-118.2836	33.6659	8317
+-82.9023	27.657	9014
+-115.1382	36.3363	6196
+-82.1058	31.5776	5581
+-111.5669	30.7801	7879
+-120.9838	45.6423	7047
+-127.1264	46.7274	4956
+-115.7121	46.8758	6416
+-84.4747	36.6511	4864
+-119.1997	48.0669	6962
+-92.235	36.8029	6528
+-113.5933	28.1373	4334
+-90.0318	34.845	6345
+-92.842	33.6635	3335
+-122.8531	47.7136	8784
+-124.4955	43.4641	5378
+-114.5903	31.9773	6942
+-119.4247	48.5413	6406
+-116.3974	28.9118	5351
+-118.767	29.2197	5266
+-115.5234	32.3105	8047
+-119.0196	33.1926	7368
+-89.6912	36.1743	7845
+-114.0335	33.7698	6313
+-87.5354	38.5112	8139
+-120.7793	45.2146	6456
+-120.4395	47.853	6733
+-118.6248	30.5832	6650
+-117.2475	35.9623	7543
+-80.4099	27.9734	7929
+-123.5461	48.4452	7833
+-79.1654	25.1839	5441
+-86.712	37.4467	7496
+-89.1581	34.2167	5918
+-119.2011	35.2642	7094
+-118.0602	37.9264	5311
+-120.8052	42.8698	4920
+-119.5882	29.878	5360
+-88.6698	39.0511	8256
+-118.599	35.64	7344
+-123.4865	45.8136	8185
+-116.9964	33.3316	9177
+-79.1687	25.3079	5535
+-112.6085	33.8664	5981
+-121.897	46.0189	8090
+-115.9765	33.9213	8112
+-118.9598	34.007	7686
+-83.0209	28.886	8276
+-90.5815	40.2135	7833
+-88.768	38.1187	9307
+-124.2763	46.0248	7774
+-82.9955	29.5877	7613
+-118.084	29.698	6058
+-121.3177	32.8043	4887
+-90.2365	37.4294	7992
+-120.1034	33.4145	6346
+-115.9974	35.1178	7786
+-121.394	44.3138	6255
+-117.7816	30.889	7418
+-122.9819	43.2398	5511
+-117.3718	33.0725	9218
+-90.6905	38.4157	8935
+-117.498	31.1864	7840
+-115.1385	46.222	5927
+-93.0527	41.8062	5051
+-115.9624	33.5083	8393
+-118.4007	34.6172	8193
+-120.0612	30.3507	5339
+-107.2787	35.5785	4025
+-87.3426	38.348	8043
+-114.4504	32.4067	6909
+-88.8618	36.7893	8825
+-119.2502	33.0209	7057
+-90.7731	40.774	7203
+-111.2341	29.8434	7351
+-91.669	39.0074	8011
+-122.4855	46.0778	8529
+-118.8364	45.7955	8592
+-116.0471	36.9654	6174
+-119.9418	43.6705	6145
+-87.9884	37.5203	8926
+-81.6836	24.5216	6186
+-92.4172	39.0923	7201
+-112.7049	33.1809	6375
+-108.0311	30.617	6768
+-79.9015	24.4825	5400
+-117.1294	31.8905	8704
+-118.5444	35.321	7635
+-118.0821	32.4637	8448
+-112.025	32.1157	7552
+-115.328	33.1249	7893
+-120.4839	47.0173	6736
+-81.4311	28.7519	8524
+-90.491	40.7682	7246
+-82.2178	30.5989	6687
+-116.7745	32.9239	9507
+-119.5704	31.0485	6242
+-82.7975	30.8354	6340
+-109.2337	31.9567	8215
+-92.7266	41.4387	5580
+-118.1536	45.0995	8192
+-110.0204	24.9408	2269
+-118.1844	47.3944	7886
+-109.9021	31.8589	8919
+-88.43	37.5852	9427
+-90.8228	39.4847	8502
+-123.0699	48.1163	8329
+-115.1311	34.2538	7205
+-115.1017	47.9708	5352
+-113.6193	28.0273	4228
+-90.6246	42.7047	5154
+-90.9191	41.2768	6640
+-116.8593	44.8846	7278
+-119.9388	32.8427	6301
+-121.2952	44.5825	6449
+-91.3419	35.6073	5883
+-118.1303	34.2869	8581
+-114.6462	47.3463	5189
+-88.6389	39.6864	7290
+-81.6461	28.0997	9225
+-116.9575	35.5079	8001
+-92.5948	40.2659	6534
+-85.9384	39.2053	6201
+-108.9854	30.4139	7540
+-119.3374	47.4302	7463
+-79.7272	27.1738	7089
+-117.0947	45.5607	7878
+-83.673	27.4457	8113
+-88.7173	35.7207	7631
+-105.9587	33.1646	4434
+-117.6521	47.2366	7884
+-109.5365	32.0376	8480
+-116.6973	45.1939	7326
+-92.4988	40.4788	6480
+-124.587	45.1163	6855
+-116.6428	32.0663	8841
+-108.733	28.4448	5657
+-116.9537	30.5204	7192
+-85.1379	28.2746	6445
+-86.1884	37.6638	6921
+-122.7373	47.0814	9387
+-92.6011	38.3643	6998
+-122.0068	47.2132	8588
+-118.0135	29.1017	5448
+-93.0413	37.7541	6365
+-87.5082	40.003	6836
+-122.901	47.6127	8896
+-109.5582	30.8614	8326
+-87.0603	37.7845	7895
+-111.1436	31.2972	8543
+-121.8596	32.7965	4320
+-117.9471	31.5897	8001
+-121.0657	48.5862	6918
+-127.9054	47.0904	4105
+-89.5998	37.2396	8764
+-118.0794	34.8865	8329
+-124.9829	47.3437	7281
+-121.9885	47.3262	8530
+-110.0087	30.7803	8535
+-120.1877	47.2443	6908
+-123.9666	46.3857	8272
+-124.5684	46.9464	7773
+-116.9097	36.4073	7027
+-81.3985	28.4206	8780
+-117.3958	32.9028	9265
+-82.8546	25.7861	7508
+-117.3187	33.9969	9379
+-116.2411	32.4669	8854
+-88.0392	39.0744	8036
+-114.3108	29.4257	4949
+-91.1002	43.0774	4697
+-118.2672	45.1817	8288
+-114.7845	48.1484	4967
+-85.4506	27.7071	6139
+-108.8077	33.607	6728
+-117.9848	44.6379	7680
+-112.8432	29.5592	5980
+-119.4799	33.9505	7115
+-110.2117	30.5661	8364
+-114.9231	35.8068	6397
+-88.8283	37.7196	9723
+-114.7327	32.6776	7256
+-91.1465	39.7527	8066
+-109.5445	33.7972	6927
+-81.3958	32.5407	4427
+-94.7215	36.407	4110
+-117.9075	31.9137	8298
+-113.6752	29.7513	5344
+-117.8386	43.9935	6980
+-90.7608	38.4802	8924
+-79.75	25.5891	6240
+-92.6544	36.586	6043
+-89.5098	40.4933	7323
+-113.1812	32.015	6353
+-90.6213	37.5288	8083
+-119.2659	46.4198	8166
+-109.3521	30.7907	8107
+-107.5703	29.3886	5650
+-117.739	31.0302	7582
+-115.7178	33.6585	8073
+-121.3814	49.5532	6311
+-123.6728	45.6486	7928
+-88.2913	36.688	8595
+-117.2743	32.1617	8946
+-120.5903	48.4052	6617
+-116.8865	35.7157	7763
+-120.5878	35.0809	5770
+-115.3592	37.8577	4973
+-110.2424	33.1361	7788
+-119.6889	46.3411	7750
+-88.2443	41.7829	5424
+-86.3688	31.281	3666
+-116.1403	47.6936	6432
+-83.3653	29.783	7219
+-110.2048	31.752	9244
+-81.8914	29.0304	8437
+-124.3913	47.6108	7821
+-111.5688	32.5264	7789
+-91.2948	36.7661	7071
+-86.8206	36.286	7137
+-117.7875	33.9599	8939
+-118.2321	45.2551	8364
+-119.4552	33.2691	6971
+-84.3363	28.6087	7224
+-114.7622	33.3619	7220
+-117.122	33.3907	9089
+-84.2375	25.9623	6757
+-89.9591	38.9509	8918
+-116.4579	32.0541	8730
+-118.288	44.028	7066
+-119.8863	33.4086	6573
+-84.1091	28.2871	7581
+-125.2347	48.9736	6224
+-122.0969	46.3254	8477
+-89.4097	33.6498	5249
+-78.5782	28.273	5830
+-122.6287	45.5258	7995
+-89.9253	38.468	8845
+-81.188	25.4967	7111
+-107.7462	30.3387	6363
+-119.4471	33.1622	6934
+-118.508	35.2127	7743
+-110.075	30.3758	8136
+-90.7427	37.3983	7917
+-110.458	27.159	4678
+-112.5784	31.1198	6990
+-114.8773	29.952	5798
+-87.9522	38.2356	8700
+-80.938	27.5493	8518
+-109.6737	33.584	7191
+-85.2636	28.2193	6314
+-89.7217	35.8033	7465
+-116.3505	32.3226	8872
+-117.7706	33.3378	8511
+-108.4288	34.233	5938
+-88.766	38.8304	8508
+-122.8359	44.1776	6541
+-118.688	45.8314	8746
+-121.9896	46.3143	8376
+-124.4661	48.36	7303
+-91.2757	37.8712	8074
+-106.5448	34.0473	4577
+-88.6815	36.7171	8746
+-91.4998	42.8101	4886
+-117.4578	46.6966	8182
+-84.1147	27.0753	7518
+-91.369	35.8941	6168
+-105.9877	31.5914	4765
+-86.7628	27.7401	4655
+-116.4738	34.8418	8378
+-110.2558	30.3919	8180
+-90.3159	39.6872	8412
+-94.0621	40.4392	5061
+-78.9213	29.7278	5635
+-113.1969	49.746	2633
+-120.702	45.1896	6524
+-82.0938	28.4781	9086
+-114.8927	34.3211	6940
+-119.2522	48.7368	6285
+-85.3756	36.3305	5724
+-81.0523	26.64	8126
+-88.8029	38.576	8793
+-113.6878	31.3096	5827
+-117.4616	31.8965	8587
+-83.7517	26.6651	7678
+-91.0121	35.9509	6643
+-118.6172	30.2006	6303
+-83.6833	30.1142	6710
+-108.2099	32.4266	6998
+-118.8574	31.9262	7422
+-115.2535	33.1741	7801
+-112.6794	33.5189	6178
+-118.0987	44.4452	7497
+-116.8135	46.9541	7460
+-117.7908	36.4804	6914
+-118.1443	38.3575	4832
+-114.5744	34.3934	6588
+-117.7797	35.2665	8181
+-87.9574	35.6846	7413
+-122.1111	49.8185	6355
+-90.7145	41.7324	6190
+-88.2293	29.437	2741
+-122.3774	48.5296	7796
+-81.4273	30.3899	6819
+-119.3439	32.6383	7094
+-78.8182	27.6467	6139
+-118.6283	33.1717	7719
+-112.1798	34.0806	6109
+-93.7887	39.6812	5619
+-117.8839	33.786	8765
+-115.4083	32.4956	7978
+-83.071	30.3515	6782
+-81.3489	24.7374	6352
+-89.7216	41.1053	6787
+-111.4229	29.2512	6685
+-78.92	25.8709	5672
+-125.8305	45.3934	5952
+-80.79	24.5795	5979
+-90.1338	40.3393	7690
+-113.2035	30.7168	6225
+-86.7673	37.3279	7539
+-117.2056	33.9399	9317
+-125.2517	48.8712	6281
+-83.7297	28.7584	7766
+-116.3318	33.1825	8936
+-89.6452	35.7866	7486
+-116.7538	33.0594	9393
+-86.6564	35.9759	6780
+-119.6693	47.41	7241
+-116.2361	32.7236	8931
+-88.0965	38.9968	8143
+-118.6181	42.4402	5368
+-114.8342	45.1535	5473
+-119.7758	30.5797	5747
+-93.5242	37.2797	5686
+-116.5525	35.8362	7524
+-109.8106	29.8328	7494
+-123.0045	48.1186	8335
+-112.6632	31.281	6928
+-83.7029	25.7008	6957
+-83.2715	30.2252	6827
+-116.4753	35.9501	7376
+-82.5294	26.0436	7892
+-115.8635	29.6732	6037
+-106.8322	32.2175	5619
+-88.1748	36.2914	8135
+-92.2525	39.7412	7144
+-111.4245	29.7959	7205
+-119.5412	47.402	7343
+-110.9967	32.5979	8160
+-124.1821	47.1815	8178
+-116.2274	30.5324	7075
+-84.2606	27.4129	7453
+-83.033	27.3112	8752
+-116.5141	32.2365	8932
+-89.7432	36.1302	7772
+-110.2661	30.4059	8196
+-115.9632	48.2871	5884
+-119.4701	34.7765	7034
+-120.3195	46.3878	7083
+-112.5508	32.4916	6877
+-84.5309	27.0133	7049
+-114.8026	32.0716	7200
+-90.5559	37.7247	8304
+-123.8216	47.8281	8220
+-92.6322	36.6507	6108
+-88.5467	40.9332	6349
+-118.1718	44.5917	7659
+-117.1854	32.3566	9185
+-93.2913	35.0858	4382
+-119.3038	47.2105	7663
+-92.5739	39.4423	6948
+-91.856	38.9466	7823
+-106.7798	30.8048	5532
+-121.0819	48.1484	7224
+-118.0109	44.4009	7438
+-122.5374	48.4981	7877
+-88.4695	38.147	9180
+-116.1979	29.9639	6457
+-90.778	40.4721	7520
+-86.9953	41.1786	5399
+-90.0414	37.482	8369
+-122.6499	38.8939	1699
+-88.4237	40.1315	6840
+-110.8067	31.1491	8778
+-89.6693	34.2706	5871
+-83.385	28.3267	8341
+-109.9046	30.4992	8210
+-82.6829	27.2835	9065
+-89.9019	39.6099	8362
+-86.9163	37.8504	7728
+-113.8216	33.1337	6227
+-116.941	33.8642	9077
+-117.9265	43.3446	6318
+-83.4113	25.3546	6804
+-86.8746	36.3392	7221
+-116.7309	36.4228	6973
+-107.8656	28.2764	5003
+-89.9321	41.5693	6347
+-111.3772	33.2175	7373
+-90.0317	36.7981	8093
+-118.8003	30.3445	6320
+-110.5248	32.7423	8201
+-111.1305	30.0623	7613
+-109.1753	31.6621	8216
+-110.9517	31.4614	8791
+-120.8693	46.642	7347
+-119.3879	33.4691	7113
+-92.4312	41.2793	5917
+-91.3987	39.3387	8159
+-118.2419	47.3086	7980
+-118.0407	32.2607	8404
+-86.8067	34.4554	5593
+-119.385	44.1347	6874
+-109.8838	31.6375	8983
+-115.1722	32.8115	7751
+-115.2373	34.3084	7316
+-119.381	34.1827	7231
+-108.9582	32.5188	7672
+-86.8808	37.5445	7694
+-89.0404	39.5161	7758
+-90.6266	38.8605	9136
+-81.7467	26.0716	7926
+-87.3682	36.4321	7722
+-121.6172	32.2843	4532
+-121.1911	34.1832	5257
+-119.8105	49.5089	5304
+-107.6084	33.0314	6130
+-121.6837	31.1256	4164
+-84.6872	28.1707	6967
+-109.4124	33.2616	7399
+-87.5057	41.4196	5194
+-114.8964	31.7665	7164
+-110.4459	31.6133	9347
+-117.5691	38.8277	4406
+-91.6938	38.98	7990
+-80.8749	26.1659	7589
+-82.2697	29.1439	8327
+-78.6985	27.6283	6003
+-112.2321	33.5683	6497
+-80.0229	27.9616	7495
+-89.0753	34.773	6549
+-112.5333	32.3722	6941
+-112.1933	29.8363	6709
+-89.0276	35.9875	7908
+-116.3568	46.831	7078
+-116.5491	48.4162	6196
+-122.0744	46.1946	8364
+-90.6306	35.761	6823
+-116.6329	37.3953	5913
+-118.141	30.3921	6748
+-122.401	47.1562	9020
+-120.8876	46.022	7164
+-89.1784	34.5625	6301
+-81.005	27.7884	8616
+-113.7308	31.6532	5792
+-82.374	26.1908	8089
+-90.84	38.7375	8932
+-81.8143	28.6952	8782
+-118.5318	40.6244	3455
+-116.5894	33.6032	8600
+-121.0275	46.2932	7420
+-127.2378	40.9851	1489
+-90.9161	38.8203	8845
+-116.1419	29.7258	6185
+-87.6868	33.875	5390
+-115.3108	32.9262	7902
+-124.4336	49.4767	6375
+-110.1063	30.8837	8677
+-93.7259	36.4439	5047
+-89.165	39.8204	7676
+-122.686	48.0692	8372
+-87.9614	36.8735	8547
+-121.4473	49.1675	6709
+-116.8938	30.8551	7563
+-122.9184	45.1615	7623
+-92.0083	36.5893	6510
+-115.5086	34.3466	7606
+-119.9785	43.8563	6282
+-89.0422	40.432	7106
+-87.089	36.8628	7727
+-80.8568	28.3873	8287
+-91.467	40.446	7255
+-110.5485	33.9678	6880
+-114.5606	48.5848	4520
+-91.6772	35.8373	5989
+-112.6311	33.6436	6130
+-88.363	37.3984	9271
+-92.7859	36.284	5714
+-111.8602	34.2189	6173
+-121.7825	45.3838	7477
+-81.208	29.8096	7355
+-91.8504	39.9087	7409
+-87.5937	38.3623	8284
+-114.7577	37.8245	4669
+-119.7373	32.8858	6519
+-81.6608	27.5644	9311
+-117.0074	45.6377	7823
+-120.3866	41.8543	4242
+-83.5684	25.9688	7290
+-120.5943	47.056	7071
+-125.1056	45.0706	6411
+-89.4168	32.0292	3446
+-122.6139	48.5527	7836
+-121.7492	49.2594	6788
+-120.4466	46.4201	6944
+-119.159	33.2576	7263
+-121.2222	46.3933	7658
+-79.5973	26.8931	6858
+-119.1717	41.5072	4306
+-90.2085	38.8684	9197
+-82.8908	28.9161	8335
+-116.7603	34.8628	8569
+-124.09	46.4798	8194
+-82.291	26.2446	8161
+-120.8982	27.936	2762
+-87.3035	42.9612	3801
+-114.5546	35.4027	6272
+-117.8223	33.4634	8588
+-115.5231	35.6611	7009
+-111.3306	32.4786	8021
+-82.3127	27.5527	9577
+-117.6706	33.9614	9059
+-82.6542	27.8563	9294
+-114.8841	42.2246	3801
+-117.0423	45.9218	7933
+-87.7654	39.7368	7233
+-81.3844	26.5819	8307
+-116.8024	44.0745	6603
+-111.7364	31.9366	7906
+-119.8243	47.8956	6755
+-81.657	28.5308	8874
+-112.0372	30.9255	7495
+-109.6648	28.1235	5656
+-89.3709	36.2783	8116
+-121.0919	43.4957	5204
+-118.0449	32.1168	8319
+-118.0103	35.3765	7958
+-91.9585	40.5863	6817
+-89.9376	35.0261	6573
+-115.3434	31.3414	7306
+-82.5282	27.832	9440
+-120.2717	48.2664	6385
+-91.0066	39.1759	8611
+-88.1085	42.9374	4288
+-118.9051	35.6921	7071
+-83.1445	27.0658	8501
+-116.9841	45.2674	7626
+-113.0219	31.6862	6558
+-90.0592	37.62	8157
+-121.1871	49.5749	6178
+-117.505	47.4585	7602
+-109.532	32.5664	8099
+-113.4176	35.6287	5034
+-88.8827	37.7974	9618
+-82.772	28.4662	8821
+-123.1823	44.4326	6805
+-120.0495	49.8658	5139
+-120.9747	36.5337	4720
+-116.4643	32.3055	8953
+-118.4836	43.8253	6842
+-92.0954	40.2453	6974
+-83.3319	28.4927	8307
+-125.3172	49.5733	5701
+-126.4695	47.8195	5574
+-83.8656	24.9005	6104
+-79.5626	28.203	6942
+-80.90	28.6222	8194
+-121.3937	46.3687	7826
+-112.8075	30.9951	6718
+-91.9594	39.0101	7703
+-117.8696	46.5825	8587
+-115.5096	31.1664	7297
+-115.3711	35.6824	6868
+-90.2242	34.9192	6324
+-120.4981	31.9874	5707
+-117.6326	31.9522	8536
+-116.9563	44.1883	6796
+-86.743	36.0316	6895
+-119.3455	45.783	8087
+-117.3186	36.7863	6643
+-124.346	48.3263	7426
+-84.7637	30.7007	5434
+-121.7111	46.5384	8218
+-83.1831	27.8166	8703
+-111.0715	31.6972	8664
+-119.5712	49.0789	5823
+-91.2742	38.7558	8464
+-123.8644	45.6221	7788
+-86.7083	36.6537	7240
+-88.1247	37.8297	9072
+-116.2643	35.3114	7851
+-114.665	31.4704	6779
+-117.6336	33.156	8918
+-85.2301	26.0714	5898
+-110.0027	33.9793	6853
+-87.2401	35.7417	7058
+-90.1561	38.193	8776
+-125.4002	43.6784	5068
+-121.0181	46.7942	7530
+-80.2203	26.3467	7197
+-116.0503	31.8544	8271
+-116.8224	38.1163	5166
+-93.6313	41.5726	4786
+-89.0778	36.0788	8000
+-117.5642	33.8058	9055
+-121.1959	46.1669	7538
+-113.8699	30.7192	5529
+-81.6704	25.1659	6904
+-124.0255	48.8941	7154
+-113.1282	32.2276	6366
+-87.0402	39.2487	7186
+-114.3348	31.219	6319
+-116.7778	36.6005	6794
+-90.2624	39.104	9021
+-119.3861	45.8499	8063
+-118.2697	35.1877	7950
+-78.1247	26.25	5043
+-117.8635	31.6216	8086
+-119.1668	48.0085	7033
+-124.3499	44.2058	6180
+-86.2476	28.1541	5217
+-118.1028	46.4037	8886
+-123.2739	49.1538	7168
+-118.0634	43.8233	6838
+-92.4954	37.638	6852
+-92.4226	36.7224	6325
+-84.781	37.5804	5340
+-114.2902	32.9192	6765
+-123.8021	46.9596	8615
+-89.3326	37.361	9093
+-83.5172	29.6994	7203
+-88.6263	36.4356	8425
+-120.4323	33.5831	6033
+-123.9188	46.9726	8487
+-81.425	25.901	7635
+-124.0482	48.3581	7624
+-118.4745	33.5717	8085
+-123.9673	48.8877	7192
+-109.2353	30.9273	8088
+-87.8216	39.6106	7388
+-120.1303	46.4944	7260
+-122.7111	43.7675	6085
+-89.2329	37.6814	9291
+-119.0468	30.9183	6612
+-88.1511	37.5115	9103
+-115.3172	31.0296	7040
+-113.2456	33.0946	5919
+-93.2886	38.7384	6293
+-93.8416	36.7292	5107
+-110.7428	29.9688	7669
+-80.0212	30.5205	5966
+-117.8703	48.0647	7134
+-115.6509	31.3005	7514
+-81.1061	31.9022	5071
+-123.6064	46.2216	8478
+-88.0698	39.205	7919
+-121.158	32.4964	5064
+-123.4045	47.4174	8863
+-90.9573	39.8163	8119
+-124.8122	49.7873	5862
+-122.8375	46.9759	9537
+-89.4341	36.9805	8741
+-117.4577	49.084	5981
+-86.0391	40.9073	5060
+-118.5637	34.4449	8083
+-111.3696	35.2538	5341
+-89.5469	39.8733	7915
+-124.0835	45.4103	7458
+-115.7109	44.4738	6037
+-120.6589	49.9582	5500
+-89.7015	38.8952	8673
+-88.5227	37.5623	9518
+-119.2249	34.9448	7226
+-108.0761	32.4166	6867
+-90.3762	36.9566	7841
+-116.9108	35.4229	8079
+-120.8208	34.7763	5598
+-90.1252	37.6162	8171
+-110.8727	31.4798	8879
+-108.4912	31.2675	7449
+-125.9048	47.5796	6237
+-123.1759	46.4947	9006
+-119.0704	34.2142	7568
+-112.2823	28.9502	5924
+-121.266	47.2192	7790
+-115.0023	35.3777	6720
+-119.6529	46.4447	7765
+-92.8395	42.1383	4914
+-90.6066	36.6987	7200
+-91.117	38.6426	8625
+-91.6868	40.4452	7119
+-86.4295	36.3789	6820
+-108.4321	31.264	7385
+-88.6531	38.3914	8991
+-86.6672	41.3856	5021
+-88.6814	40.9472	6429
+-93.5089	39.6983	5904
+-117.3045	33.7385	9105
+-82.6815	26.7127	8548
+-77.9298	25.0431	4226
+-83.9657	27.8534	7817
+-118.9576	33.7451	7645
+-120.9192	31.2235	4999
+-92.3459	36.0859	5858
+-80.8371	27.7343	8425
+-82.6433	25.7564	7546
+-116.1467	45.1005	6762
+-89.0589	39.3228	7869
+-92.2536	40.6753	6531
+-82.7099	26.1105	7908
+-118.0972	34.2336	8625
+-77.9284	28.6626	5028
+-124.4086	48.1911	7472
+-89.0286	36.5386	8516
+-80.3949	25.8532	6968
+-91.5858	39.4776	7909
+-122.8209	49.2692	7075
+-124.6328	45.9045	7373
+-90.7806	37.3958	7903
+-90.0638	39.2596	8776
+-111.8379	36.9121	3474
+-90.7832	36.4388	6896
+-82.6174	29.9416	7371
+-119.0324	47.553	7529
+-120.9004	45.4139	6825
+-82.3954	26.8855	8852
+-86.298	40.3477	5724
+-107.5305	32.948	6096
+-110.7527	29.6095	7287
+-91.2298	35.5168	6146
+-87.878	42.7483	4339
+-88.3622	40.6999	6397
+-121.7094	45.9364	7876
+-115.6445	31.223	7443
+-115.0529	28.8029	4793
+-117.2127	48.609	6372
+-109.9982	30.1225	7850
+-89.0931	34.2243	5934
+-105.6604	31.8647	4401
+-120.1407	44.0393	6322
+-115.2802	34.4134	7350
+-117.9627	31.6329	8027
+-110.6456	31.4753	9116
+-79.058	26.9027	6278
+-88.7371	37.7729	9691
+-117.4892	44.7221	7576
+-115.5449	32.2164	8032
+-87.3936	36.0292	7417
+-112.6827	28.8904	5602
+-118.5691	35.1036	7766
+-117.3979	33.902	9248
+-122.5018	48.1842	8199
+-120.9611	45.2552	6765
+-81.339	24.8196	6439
+-115.9905	46.3517	6818
+-90.752	39.1941	8802
+-78.6363	24.5322	4503
+-123.6111	49.1226	7112
+-89.1784	39.7591	7730
+-87.8474	39.6654	7345
+-117.685	47.6906	7461
+-82.3146	28.7745	8734
+-90.4554	36.0495	7191
+-119.1132	46.5135	8279
+-118.4957	42.3817	5316
+-92.3455	40.6977	6444
+-89.2487	36.8585	8759
+-86.9762	35.271	6459
+-118.4088	36.7085	6465
+-118.5471	32.4242	7936
+-120.9133	45.7468	7045
+-110.2986	30.0396	7801
+-126.9116	48.8014	4760
+-79.4026	28.5422	6681
+-109.084	31.1431	8038
+-110.5804	29.9957	7733
+-118.2457	32.0166	8070
+-90.3318	37.8831	8488
+-88.5225	38.8416	8467
+-114.6619	35.6137	6270
+-116.7627	35.5259	7922
+-91.0413	42.7564	5048
+-110.7415	31.3218	8948
+-88.649	35.9406	7874
+-83.2916	27.0954	8378
+-116.0079	43.4616	5571
+-118.7193	48.575	6599
+-119.6168	32.9691	6677
+-113.68	30.129	5520
+-117.1334	36.6107	6832
+-88.7918	41.4048	6088
+-79.7428	26.8655	7002
+-87.8021	36.3133	7950
+-83.0556	28.2449	8717
+-122.3764	47.7476	8573
+-119.406	46.9197	7788
+-80.1338	24.2351	5301
+-87.337	39.4876	7216
+-121.6708	45.4555	7466
+-111.0267	32.2576	8426
+-85.8093	31.9187	3618
+-111.4423	31.193	8200
+-121.1118	45.9045	7321
+-117.2881	28.8181	5279
+-121.5947	34.4114	4807
+-84.28	27.2782	7402
+-85.825	24.0861	3995
+-123.2045	49.3721	6942
+-121.1816	38.8588	2844
+-92.0349	37.7114	7321
+-122.3441	47.9665	8349
+-116.7526	32.4754	9304
+-119.2602	32.1646	7093
+-119.0885	49.8983	5148
+-113.8897	32.4754	6300
+-120.1912	43.5899	5921
+-110.8692	30.1995	7866
+-118.9011	43.9244	6865
+-120.1898	31.614	5916
+-119.3719	30.6348	6131
+-116.3686	43.507	5847
+-82.3239	27.3743	9399
+-88.3402	36.5471	8471
+-118.3343	34.0088	8365
+-120.327	45.352	6956
+-125.4085	48.3127	6479
+-115.9502	32.3414	8501
+-116.2371	34.9347	8115
+-124.8491	46.2988	7343
+-89.2129	33.8565	5510
+-92.5506	38.7723	7088
+-115.0448	30.3909	6301
+-120.3459	46.7278	6977
+-114.2033	33.0642	6658
+-92.9372	43.0174	4064
+-107.6594	33.2707	6048
+-115.408	32.4872	7976
+-116.1421	31.6374	8148
+-119.3544	43.6168	6396
+-110.0295	33.9664	6871
+-122.7098	46.2395	8781
+-115.4211	33.9366	7513
+-117.5628	32.2767	8856
+-121.5001	49.813	6121
+-119.1688	32.9191	7294
+-91.0853	40.1461	7740
+-108.9529	31.7907	7961
+-82.2182	26.0136	7907
+-89.7758	34.6741	6271
+-89.4178	37.8972	9039
+-81.1917	28.634	8444
+-118.013	30.0524	6456
+-114.6124	31.1947	6564
+-119.4257	48.6542	6297
+-120.043	45.8207	7374
+-118.3847	31.929	7887
+-119.0634	43.872	6760
+-88.4209	40.11	6851
+-88.1696	41.9921	5193
+-81.3977	31.3411	5764
+-124.9097	46.7157	7381
+-110.7301	37.6416	2896
+-109.871	32.263	8583
+-116.9208	46.5032	7756
+-87.8951	38.4479	8501
+-116.6216	44.948	7119
+-88.5017	36.8288	8829
+-82.0202	31.9429	5166
+-108.6819	29.6896	6751
+-119.8683	48.2481	6433
+-87.7004	35.3764	6980
+-117.3315	31.6828	8424
+-120.3148	46.3066	7098
+-89.0264	37.392	9391
+-122.0199	45.9849	8158
+-89.9461	40.4732	7508
+-89.1962	37.275	9163
+-109.11	31.419	8136
+-119.4307	31.3014	6526
+-85.8499	35.2469	5561
+-118.3789	35.5728	7553
+-110.7095	34.7842	5982
+-84.4371	29.5371	6605
+-118.8388	34.781	7683
+-115.5831	34.2858	7694
+-126.5651	45.6585	5331
+-114.7269	35.8691	6182
+-113.9195	32.2888	6303
+-87.9258	36.7366	8408
+-127.3924	48.3642	4437
+-89.838	39.0032	8776
+-119.6471	47.4523	7226
+-88.2379	38.7439	8467
+-115.6547	34.4846	7738
+-118.0518	35.0976	8181
+-117.489	46.4767	8330
+-113.0583	32.6205	6315
+-83.8494	24.2979	5514
+-113.1773	34.0007	5429
+-124.3647	49.7113	6188
+-80.9095	26.8687	8175
+-114.913	47.2494	5489
+-85.9169	34.8854	5346
+-112.4219	34.0509	5971
+-121.4493	47.2887	7974
+-89.8516	35.5807	7176
+-121.799	45.4267	7526
+-114.9414	32.7678	7493
+-92.0164	40.0712	7160
+-122.4867	44.8591	7247
+-82.3903	26.4157	8337
+-121.1017	45.0816	6744
+-119.8114	31.7601	6368
+-114.7907	33.6183	7166
+-119.5208	31.336	6460
+-80.2479	29.2089	7207
+-85.6386	27.5961	5922
+-120.9376	48.0755	7130
+-83.6943	27.8825	8122
+-90.4487	36.3606	7425
+-88.9703	35.74	7641
+-88.7979	37.3203	9426
+-119.6524	32.015	6626
+-125.6592	46.6009	6548
+-87.5884	39.2487	7600
+-78.7557	25.1536	5061
+-123.1129	45.4466	7920
+-83.3484	28.9105	8004
+-116.6555	32.7415	9396
+-115.8808	35.6826	7270
+-122.2671	48.5992	7683
+-90.8824	38.6626	8878
+-110.7268	29.655	7341
+-117.7524	34.5675	8827
+-110.8011	29.7895	7465
+-115.2941	46.5412	6060
+-115.5585	45.6955	6343
+-122.2934	45.9738	8328
+-117.7791	32.0402	8499
+-109.9083	34.3492	6442
+-120.8151	32.7698	5391
+-116.2076	34.778	8185
+-116.8782	34.9229	8578
+-123.7131	46.1583	8347
+-81.5677	25.6644	7430
+-81.7854	24.7393	6445
+-122.2145	47.6114	8572
+-119.7918	36.721	5594
+-116.56	36.7509	6580
+-111.0952	32.3845	8276
+-113.1804	33.0119	6022
+-82.1983	30.7966	6464
+-83.2744	28.3449	8445
+-117.2165	45.8264	8094
+-89.779	36.012	7638
+-114.7165	33.654	7075
+-88.3699	37.2849	9198
+-112.3954	32.9344	6803
+-110.20	30.4093	8193
+-118.936	35.9805	6822
+-118.4037	31.4771	7562
+-121.2769	45.6995	7344
+-116.3842	32.1817	8792
+-123.492	46.5406	8805
+-116.6997	32.5632	9342
+-85.1953	24.3155	4673
+-109.7673	31.2055	8736
+-118.2705	31.3005	7522
+-121.8667	43.6377	5777
+-84.7429	38.3934	5225
+-123.3262	48.4581	7902
+-81.8453	27.0947	9065
+-85.5934	40.7542	4845
+-120.2056	45.3925	7091
+-112.228	28.837	5859
+-87.1777	41.5441	5111
+-90.6405	35.1935	6333
+-124.285	45.6397	7499
+-89.4098	38.5459	8352
+-82.8515	25.4826	7184
+-76.8935	24.5169	2917
+-118.4506	33.3227	7973
+-81.1686	27.4459	8742
+-113.4538	30.9786	6030
+-116.2864	32.8454	8993
+-80.7119	28.6495	7999
+-80.5239	31.533	5259
+-119.2738	33.3899	7203
+-118.7428	45.8153	8688
+-87.5221	34.4623	5957
+-117.424	49.1282	5927
+-88.2221	37.0472	8890
+-79.5908	24.0699	4816
+-119.5291	45.5848	7833
+-111.3786	32.4973	7969
+-112.2623	30.2363	6924
+-113.6361	33.1772	6016
+-118.8537	35.4153	7312
+-116.6801	35.5865	7828
+-90.6155	36.3815	7288
+-107.8956	31.4357	6828
+-87.3492	30.7169	3113
+-88.3067	37.9656	9199
+-110.1323	35.3153	5424
+-109.8839	26.5297	3977
+-113.4799	29.9733	5644
+-116.5186	32.1629	8869
+-106.7745	31.3442	5609
+-109.0274	32.4895	7751
+-79.8042	30.4114	5905
+-93.3386	34.585	3920
+-116.4211	34.1109	8615
+-111.1087	29.724	7291
+-124.0844	49.2934	6738
+-111.9979	32.5087	7410
+-89.5177	37.5123	8954
+-91.1758	37.4675	7799
+-122.4782	47.4428	8907
+-87.8828	36.2088	7902
+-80.9411	26.3865	7829
+-112.6821	31.0496	6864
+-110.4003	30.086	7850
+-113.0504	29.5233	5779
+-88.0761	36.0734	7867
+-126.3003	46.7183	5861
+-79.1232	26.406	6155
+-121.1398	43.1529	4914
+-114.7819	46.4256	5536
+-124.5658	48.2262	7312
+-122.3235	49.2074	7064
+-117.4746	34.5721	9008
+-84.7735	25.3513	5844
+-90.818	42.1541	5726
+-87.8385	36.7012	8312
+-106.5889	31.746	5413
+-119.4841	34.6363	7057
+-89.7199	38.8258	8705
+-91.0105	39.3167	8513
+-116.6403	31.3399	8066
+-84.2354	27.5335	7500
+-77.1124	29.0827	4020
+-109.7931	31.2148	8765
+-81.2209	29.4772	7699
+-92.2726	37.0227	6665
+-90.4291	37.9421	8552
+-121.9822	35.0393	4300
+-121.0373	48.6884	6819
+-114.0617	33.8237	6324
+-87.7349	37.8839	8631
+-122.3401	44.1427	6443
+-87.7205	40.3748	6556
+-117.6576	35.701	7775
+-117.4703	31.8062	8494
+-122.0833	43.1299	5297
+-119.2511	47.818	7172
+-117.7537	33.5502	8709
+-113.4419	30.7412	5984
+-92.5129	34.1908	4001
+-111.7381	24.1444	1271
+-114.404	30.9784	6235
+-109.0544	31.5036	8085
+-91.3945	36.5581	6823
+-120.5055	46.4193	6883
+-115.5521	33.9666	7659
+-121.2279	46.874	7766
+-120.5149	38.7268	3401
+-123.5022	48.4801	7817
+-117.5627	37.3867	5974
+-118.5471	33.0171	7976
+-110.6973	27.6939	5241
+-117.1259	32.2387	9084
+-115.8938	30.4442	6849
+-79.0715	25.5998	5649
+-116.9914	31.0096	7737
+-117.539	34.7707	8782
+-82.508	24.2428	5883
+-109.5037	34.5237	6163
+-115.4284	32.3134	7948
+-118.8398	35.5907	7199
+-110.1774	30.4995	8287
+-85.7922	26.3774	5465
+-87.0629	38.6479	7608
+-117.0814	34.8397	8741
+-116.0915	36.4683	6686
+-116.5425	35.5193	7832
+-119.8074	47.7125	6911
+-89.8138	33.2962	4771
+-90.2124	41.0419	6947
+-111.3657	32.0274	8256
+-117.9306	34.123	8813
+-122.125	49.8899	6284
+-115.6304	42.3228	4372
+-108.871	32.2813	7718
+-109.5585	30.8456	8314
+-89.25	37.1903	9054
+-126.7748	48.2062	5137
+-117.2987	37.3199	6062
+-116.2643	32.1644	8684
+-116.2768	34.4601	8401
+-120.4689	34.5264	6019
+-121.1357	43.3023	5029
+-123.2195	49.967	6291
+-117.2596	33.0272	9350
+-89.0157	38.4265	8917
+-85.5805	36.3574	5949
+-81.5161	27.6216	9175
+-110.899	29.9086	7558
+-126.5718	44.4394	4709
+-111.1603	32.4302	8191
+-117.5563	35.1723	8361
+-91.7918	34.5117	4909
+-123.2041	46.6033	9086
+-121.2089	47.9056	7481
+-81.2289	27.8362	8866
+-117.3407	47.6252	7362
+-105.6121	31.2442	4345
+-88.8694	38.1168	9296
+-89.5313	40.3967	7426
+-110.3233	31.079	8927
+-118.8611	46.3115	8609
+-89.2797	40.5733	7127
+-82.2827	25.0292	6791
+-111.5567	30.16	7440
+-91.9639	39.4415	7565
+-124.4345	49.9385	5932
+-107.9536	33.3409	6268
+-125.1594	47.8303	6949
+-89.1918	36.5905	8517
+-90.6907	37.632	8175
+-83.8062	25.764	6940
+-122.972	48.3438	8091
+-81.1734	26.9277	8450
+-85.5893	30.3817	4989
+-115.3745	32.2915	7883
+-91.0854	36.9391	7331
+-91.0141	39.6164	8269
+-114.8599	29.3192	5199
+-90.9723	37.4161	7853
+-89.8831	42.6998	5133
+-88.8171	36.5379	8547
+-110.6125	32.907	8008
+-110.9934	31.1859	8639
+-82.8389	24.4212	6024
+-116.7466	32.6619	9453
+-126.0021	45.1609	5663
+-114.9411	30.4185	6252
+-89.155	35.1555	6963
+-111.7846	32.5276	7598
+-91.582	40.9688	6706
+-118.9352	45.926	8546
+-114.2351	31.1371	6176
+-113.3548	33.9205	5540
+-115.7588	32.8209	8406
+-82.5912	27.9735	9324
+-116.9157	42.7992	5477
+-117.7449	37.0562	6307
+-118.5925	35.5103	7453
+-119.9903	43.0699	5577
+-90.7039	40.8141	7173
+-89.1664	36.0028	7895
+-109.382	31.8846	8392
+-120.6766	46.441	7096
+-89.2531	40.559	7125
+-81.6765	28.7778	8637
+-109.3362	32.0215	8293
+-85.1137	42.7669	2772
+-90.2522	38.0396	8646
+-89.8446	40.2531	7703
+-75.5726	27.5827	2467
+-85.5502	37.8587	6198
+-118.7523	47.6468	7549
+-119.6229	31.0813	6214
+-124.7199	45.4993	7038
+-118.3226	34.5957	8280
+-81.1329	28.7356	8317
+-85.3496	37.6769	5979
+-122.9951	47.7822	8704
+-108.1911	33.1434	6602
+-88.0407	38.6352	8456
+-119.4189	34.6103	7133
+-92.9938	38.6285	6608
+-105.7849	29.9537	4239
+-112.1287	32.6449	7214
+-93.4135	38.8858	6155
+-109.54	34.5104	6188
+-84.8082	28.4683	6764
+-93.4443	38.8226	6124
+-83.1981	38.4245	3507
+-81.8302	28.778	8698
+-110.8358	31.8615	8851
+-85.6663	34.3443	4715
+-80.9157	26.622	8002
+-118.1611	47.1703	8120
+-123.2922	45.2921	7717
+-88.2237	32.0455	3477
+-83.2244	27.0533	8418
+-111.2404	33.2769	7392
+-124.894	45.508	6892
+-80.7802	26.2663	7607
+-111.4495	30.403	7714
+-118.2619	29.7018	5990
+-115.0205	35.1209	6861
+-115.5467	44.4737	5889
+-83.3293	27.4055	8479
+-115.9762	38.8949	4156
+-118.707	31.0601	6995
+-116.1686	35.2412	7836
+-122.1115	48.8476	7365
+-126.721	48.0203	5252
+-118.0279	34.2861	8691
+-86.7808	35.3588	6398
+-91.3639	38.521	8339
+-88.0598	41.2575	5740
+-115.452	33.6095	7846
+-114.8849	35.3155	6637
+-90.1002	36.2257	7612
+-115.9246	34.8872	7859
+-108.5862	33.8387	6383
+-82.6816	26.4053	8232
+-120.0138	34.0073	6538
+-110.2192	33.4325	7466
+-116.4396	33.0071	9128
+-85.068	36.7666	5542
+-117.0324	47.0454	7600
+-123.1221	47.4066	9065
+-121.7485	46.7128	8311
+-85.4191	37.3485	6041
+-117.0784	32.5606	9441
+-116.2035	47.2946	6720
+-115.8261	30.3682	6740
+-86.4798	38.0246	7217
+-122.3703	48.4257	7901
+-125.1055	46.8535	7180
+-89.5394	36.1841	7939
+-121.124	48.818	6788
+-108.3737	31.1574	7301
+-82.4688	26.8523	8791
+-117.1501	34.9379	8651
+-80.6816	28.0482	8219
+-109.5257	32.2875	8313
+-84.4431	29.0606	6897
+-109.6213	25.9878	3362
+-121.3692	46.9496	7924
+-82.0921	27.0705	9104
+-121.6842	46.8101	8259
+-116.9973	45.6828	7829
+-82.931	30.2471	6945
+-117.6597	35.5744	7908
+-124.3658	46.114	7743
+-90.3878	39.4881	8629
+-82.4769	27.5384	9426
+-122.6625	33.7907	3640
+-82.0488	24.3178	5989
+-119.4199	42.6302	5394
+-114.7627	32.632	7286
+-120.9497	48.1376	7107
+-88.8834	39.2576	7718
+-86.881	39.2119	7078
+-86.2961	40.6385	5476
+-118.4592	34.1704	8236
+-125.2332	47.1575	7034
+-107.0029	30.1906	5562
+-120.6352	46.0501	6769
+-108.0053	28.9671	5679
+-117.072	46.7048	7827
+-118.6238	31.9843	7684
+-89.3014	38.4793	8722
+-89.8662	36.8955	8308
+-121.0184	47.5515	7441
+-109.8219	31.2486	8811
+-122.983	47.46	9057
+-106.1529	30.4066	4768
+-121.451	45.9232	7644
+-89.8806	42.6468	5189
+-83.8769	26.8146	7645
+-82.7506	26.8289	8622
+-115.6671	43.6928	5495
+-81.564	31.0808	6088
+-127.71	48.0753	4183
+-87.6006	42.3194	4546
+-114.557	36.0442	5921
+-118.8232	48.272	6890
+-108.5377	30.8693	7380
+-108.1785	29.5379	6255
+-91.7916	36.4563	6523
+-118.0656	33.1342	8477
+-112.3244	32.7504	6973
+-117.8832	32.5684	8694
+-120.8359	45.6843	6937
+-111.4568	30.3032	7628
+-90.8666	37.337	7815
+-116.8033	49.25	5575
+-111.5232	29.8624	7207
+-81.4297	27.0819	8782
+-115.5185	32.0142	7906
+-115.2491	44.8977	5804
+-82.7138	26.1626	7963
+-88.521	38.187	9169
+-118.0011	32.6246	8579
+-119.314	47.2695	7610
+-120.1428	46.6698	7201
+-121.9015	49.2573	6861
+-82.9488	25.0102	6640
+-119.1504	32.8176	7317
+-117.2516	33.5981	8954
+-114.4758	32.1145	6866
+-86.7078	36.4813	7149
+-110.2687	34.4664	6349
+-123.1282	46.4983	9034
+-110.1192	30.1512	7905
+-89.0886	36.437	8389
+-121.146	44.6463	6411
+-91.5211	37.0376	7208
+-87.0823	34.182	5471
+-89.8684	36.9811	8359
+-119.1179	30.237	6006
+-90.3271	40.2301	7828
+-117.761	35.5957	7854
+-119.1782	46.6767	8133
+-123.7147	47.1305	8693
+-82.497	25.3575	7136
+-115.1876	32.9468	7763
+-116.6781	33.192	9225
+-91.8902	38.111	7660
+-110.4757	30.9642	8785
+-118.8334	34.4233	7800
+-120.1398	44.5821	6721
+-92.2802	37.1414	6744
+-115.6084	47.9898	5792
+-112.2794	33.51	6507
+-120.4723	44.1565	6160
+-124.4943	48.4468	7216
+-90.202	35.9657	7317
+-109.0101	35.0708	5432
+-120.1774	35.2471	6138
+-119.1255	36.5652	6199
+-90.9917	37.4878	7914
+-90.11	39.2653	8796
+-117.5847	34.121	9191
+-86.8317	36.7043	7390
+-116.0135	33.2905	8566
+-115.4902	43.3156	5084
+-116.9691	32.9593	9594
+-119.004	34.3255	7631
+-91.3324	35.9403	6228
+-111.6232	31.3277	8049
+-82.9805	27.6014	8916
+-123.932	46.992	8472
+-119.5915	46.1084	7875
+-88.4451	39.3387	7903
+-113.5167	29.4455	5319
+-82.6326	31.5877	5533
+-115.301	33.6502	7675
+-87.2296	40.931	5764
+-117.5564	46.7397	8235
+-116.03	47.9522	6171
+-124.5246	47.4669	7739
+-80.9205	26.0461	7511
+-117.0557	33.7626	9073
+-77.957	27.9065	5165
+-117.4037	47.3889	7608
+-116.3692	31.9068	8539
+-90.4906	40.3409	7706
+-88.564	39.5561	7681
+-119.4058	46.7249	7900
+-90.947	38.7032	8815
+-84.5913	29.5821	6435
+-112.9238	31.2906	6649
+-116.6762	31.3709	8108
+-83.8828	25.1577	6339
+-117.6467	35.3923	8103
+-108.1734	30.9417	7032
+-111.789	30.5811	7559
+-115.0025	44.6225	5450
+-112.24	32.9552	6929
+-78.0698	28.0458	5284
+-88.4583	39.5586	7663
+-113.0009	32.4711	6427
+-117.2078	46.4589	8060
+-108.491	32.0767	7407
+-117.0927	31.9228	8746
+-119.4778	32.7589	6951
+-87.9743	36.9622	8626
+-87.2858	37.6636	8153
+-88.7077	38.9035	8424
+-120.7125	37.3675	4383
+-121.2136	47.6234	7618
+-93.505	38.0331	5972
+-82.8002	28.4617	8803
+-82.4155	24.3089	5968
+-119.4338	30.9686	6315
+-122.1119	31.618	3860
+-88.3968	42.0516	5271
+-117.4334	32.9946	9196
+-117.5325	34.9244	8627
+-108.0125	30.8419	6834
+-115.1908	35.1291	7026
+-118.1717	47.4742	7800
+-116.926	48.0427	6751
+-112.0638	33.5897	6603
+-78.9587	25.9942	5779
+-82.4829	24.0873	5711
+-87.6762	40.6097	6291
+-87.8599	39.8626	7148
+-88.6869	36.4269	8421
+-90.0735	40.6802	7317
+-115.8509	47.5524	6260
+-82.778	28.6958	8613
+-108.6045	30.6306	7335
+-123.2545	48.358	8029
+-83.6283	36.5738	3918
+-116.0826	31.3935	7884
+-119.6549	31.6793	6497
+-123.9171	46.762	8466
+-81.8263	26.1369	8016
+-88.3005	39.7095	7462
+-107.6506	30.6978	6413
+-81.5956	24.5369	6188
+-82.3829	25.464	7272
+-90.5686	37.163	7702
+-114.9988	45.5688	5737
+-123.6675	45.0824	7371
+-110.7355	30.0531	7759
+-88.6695	36.5245	8529
+-113.3874	31.1769	6135
+-123.2814	46.8942	9180
+-89.7803	37.2419	8582
+-125.3153	46.4687	6897
+-88.4885	38.8992	8396
+-117.7897	34.3362	8926
+-91.3778	36.2514	6526
+-89.2128	37.9436	9225
+-81.991	28.4611	9090
+-82.679	26.6695	8506
+-109.4248	29.5955	7106
+-122.2845	46.6813	8861
+-118.1575	48.2319	6999
+-111.8749	32.9192	7263
+-121.9998	47.2533	8568
+-120.0952	34.3247	6445
+-118.5302	44.1397	7168
+-117.2118	31.3101	8050
+-116.4639	46.9294	7143
+-116.8989	48.0689	6711
+-116.6668	29.1175	5613
+-117.9965	33.3793	8393
+-118.4917	28.4144	4556
+-81.6223	26.9936	8844
+-90.2272	36.8774	7952
+-119.8995	45.5823	7463
+-84.3679	24.289	5216
+-116.0321	31.8564	8258
+-117.1442	48.7418	6214
+-113.5641	28.6032	4711
+-116.2236	41.7799	4192
+-112.9392	34.4019	5315
+-116.7179	47.4602	7064
+-89.5101	41.2627	6557
+-120.4979	31.0349	5341
+-88.4859	35.805	7703
+-81.9387	32.9174	4061
+-79.9143	28.4679	7260
+-87.0726	41.3209	5293
+-110.5446	28.1151	5709
+-87.7582	38.7545	8149
+-114.7375	48.8082	4535
+-82.2611	28.4849	9067
+-82.8672	29.9195	7319
+-117.5145	33.4983	8794
+-116.194	33.6399	8494
+-91.4534	37.6901	7801
+-122.5467	45.0473	7462
+-79.7804	29.5475	6554
+-91.1291	41.9126	5922
+-114.9931	45.9298	5771
+-119.2808	36.1711	6412
+-121.1844	46.143	7515
+-115.2829	48.7407	5027
+-119.8365	32.9378	6446
+-95.7058	38.3658	3673
+-90.3709	40.5101	7527
+-117.2398	30.4736	7122
+-87.0007	37.5755	7830
+-124.0896	45.717	7711
+-88.036	41.0383	5891
+-115.8649	34.9775	7753
+-109.8723	28.3484	5933
+-114.5716	33.634	6930
+-87.9584	40.1638	6868
+-117.1235	35.236	8325
+-122.1795	34.8606	4120
+-121.9238	44.3369	6524
+-83.3613	27.9794	8482
+-92.468	42.0337	5232
+-90.3125	37.6626	8250
+-120.013	45.6797	7375
+-119.7334	34.4554	6824
+-117.033	36.2892	7172
+-116.4224	36.1015	7202
+-117.5431	33.3559	8872
+-121.7096	48.8517	7157
+-117.222	36.635	6809
+-119.2391	32.9364	7215
+-121.2616	42.1573	4027
+-87.3536	41.5092	5219
+-119.0882	45.9455	8393
+-119.6243	48.4311	6412
+-89.5673	39.5676	8179
+-116.3916	32.7865	9111
+-117.3598	36.4121	7050
+-117.3643	45.9593	8276
+-117.3152	45.0089	7716
+-88.6454	34.9095	6718
+-109.1271	33.7042	6830
+-120.0729	45.2224	7150
+-117.178	46.1016	8090
+-90.0997	40.4472	7570
+-117.2199	34.9743	8619
+-118.0259	31.3733	7756
+-86.0564	39.1514	6346
+-82.1941	26.9824	9003
+-120.1879	47.9207	6470
+-123.3521	49.4717	6810
+-81.9232	26.213	8119
+-88.1511	34.9636	6704
+-110.8134	34.7937	5957
+-113.9096	34.313	5871
+-118.7842	43.1165	6057
+-118.6368	34.0779	8042
+-90.2598	37.1762	8051
+-96.1596	38.1278	3162
+-91.9881	37.8444	7438
+-116.133	31.1445	7669
+-118.3353	31.8294	7871
+-119.0047	33.4484	7500
+-87.9855	39.997	7056
+-115.0081	35.4584	6681
+-117.9414	45.211	8252
+-123.7775	43.6861	5875
+-125.239	47.0665	7034
+-115.1869	46.9733	5853
+-122.1564	48.0077	8201
+-88.1837	37.9464	9089
+-112.0152	32.0778	7574
+-111.4747	30.684	7899
+-124.561	48.1189	7385
+-87.486	36.9349	8160
+-117.1051	35.5495	7983
+-88.0998	40.7537	6150
+-118.8211	35.1575	7507
+-80.6478	27.1274	8063
+-117.4455	38.5367	4731
+-116.8016	42.4845	5122
+-125.8196	46.1254	6268
+-122.5395	46.3739	8844
+-113.581	34.2322	5660
+-82.351	27.4326	9441
+-114.5831	36.8669	5359
+-111.6748	33.7089	6750
+-88.5094	40.3634	6759
+-82.9597	27.7091	8955
+-114.1526	43.4844	4082
+-82.8738	29.1941	8073
+-117.0999	35.1646	8398
+-86.24	26.506	5032
+-113.287	33.1059	5873
+-118.6875	34.1702	7987
+-88.8891	41.1187	6406
+-119.8374	31.8434	6372
+-118.7423	34.3228	7915
+-122.5421	47.1154	9180
+-114.5823	28.868	4608
+-111.0234	30.433	8020
+-117.4469	32.1788	8862
+-87.7817	36.6083	8193
+-108.2433	27.5192	4522
+-80.1675	30.7842	5818
+-89.7249	39.4961	8352
+-91.034	40.0481	7859
+-86.2574	38.9295	6661
+-116.2996	33.6921	8378
+-118.5501	33.3009	7869
+-121.4063	34.9866	4927
+-89.5216	39.1894	8382
+-119.631	47.744	7009
+-111.2247	30.9491	8288
+-112.5086	30.8273	6978
+-123.6081	47.5721	8583
+-115.2127	45.0511	5824
+-114.3749	32.3573	6817
+-112.594	30.8395	6895
+-114.6799	31.9975	7044
+-112.1144	31.2316	7507
+-122.6058	40.8523	2881
+-117.1684	37.1107	6288
+-96.1251	37.2691	3033
+-111.6103	31.5807	8090
+-108.2747	32.4602	7049
+-80.4991	30.0489	6717
+-124.7662	44.0635	5815
+-116.7962	47.0506	7391
+-118.023	34.209	8709
+-115.3023	37.1557	5606
+-113.4138	44.8669	3940
+-80.6627	28.6953	7925
+-115.0601	38.232	4460
+-94.162	40.1687	5074
+-116.8834	47.1493	7408
+-81.5477	28.1643	9092
+-119.9139	47.8327	6741
+-117.2068	34.7304	8883
+-83.001	24.8753	6477
+-123.8806	46.9379	8528
+-108.3581	28.4402	5452
+-116.3242	35.888	7365
+-117.5781	30.2374	6796
+-87.5561	40.7722	6073
+-121.2046	47.804	7529
+-85.2715	37.8851	5884
+-83.2521	37.2317	3606
+-89.2287	38.8574	8175
+-118.998	33.7997	7615
+-82.2115	27.871	9745
+-109.2437	32.9865	7549
+-117.3902	44.0471	6890
+-78.2719	28.6309	5416
+-90.924	38.9932	8785
+-114.5531	31.6494	6763
+-119.4229	47.7444	7142
+-116.3551	32.0296	8641
+-120.4064	44.4728	6428
+-90.6142	40.0714	7978
+-115.4722	30.979	7111
+-91.1137	38.6722	8633
+-88.0615	40.5443	6262
+-116.3893	29.9954	6541
+-122.2568	47.0488	8894
+-87.759	39.8744	7090
+-89.6907	39.8421	8030
+-119.9845	45.7732	7426
+-88.8658	32.235	3718
+-85.3698	29.379	5802
+-118.5658	35.5432	7446
+-123.5178	48.7263	7557
+-83.0126	26.5721	8214
+-114.2032	35.4957	5881
+-115.9663	35.4545	7516
+-122.9889	47.4461	9070
+-88.9151	38.343	9037
+-87.9151	33.6875	5248
+-107.4433	30.9691	6272
+-82.6479	27.2954	9103
+-119.1588	46.3962	8282
+-111.4037	32.2314	8118
+-88.9569	39.4635	7705
+-110.7642	30.701	8410
+-84.7848	27.3372	6854
+-110.6265	33.1237	7775
+-117.3873	44.1699	7007
+-117.3449	36.7286	6706
+-114.6458	31.2275	6616
+-121.4744	48.531	7281
+-113.504	34.38	5425
+-91.1097	40.4667	7415
+-119.0869	48.7487	6329
+-83.5921	30.2116	6671
+-118.8724	46.104	8637
+-120.3209	36.3802	5402
+-110.7755	29.3817	7041
+-106.9302	32.8021	5557
+-117.9778	46.4182	8793
+-111.5065	34.2081	6359
+-87.2923	39.416	7246
+-119.8611	47.2446	7196
+-109.2195	28.1354	5548
+-115.5723	30.9258	7132
+-124.4875	48.3724	7277
+-107.637	30.6728	6390
+-114.9663	35.9213	6360
+-118.2616	49.2353	5940
+-114.7505	36.0088	6115
+-116.1559	44.0309	6117
+-79.9794	28.8372	7171
+-124.6404	43.8797	5713
+-81.9445	26.5449	8494
+-109.5047	30.9499	8344
+-83.7997	26.2455	7340
+-123.8604	46.8282	8540
+-90.5079	36.358	7370
+-113.0104	34.284	5353
+-119.9763	47.0471	7206
+-80.3942	30.5592	6170
+-112.3266	28.8725	5828
+-119.0868	31.3934	6905
+-123.4372	48.6348	7681
+-89.2064	37.7552	9311
+-109.1263	32.1151	8045
+-118.2729	31.9313	7993
+-89.4148	37.3357	8999
+-108.633	31.4828	7628
+-118.8275	44.5191	7490
+-115.5396	44.829	6058
+-122.791	45.1987	7660
+-81.5602	28.9208	8435
+-116.6882	35.7579	7657
+-116.6176	32.3434	9097
+-124.0208	43.7961	5912
+-109.359	31.1633	8324
+-85.4496	29.0137	5884
+-121.7894	46.9924	8386
+-116.2683	34.3758	8417
+-123.0771	43.0155	5261
+-113.2401	29.2748	5452
+-88.8062	38.2975	9105
+-118.8146	32.0883	7537
+-118.789	46.078	8724
+-121.9951	45.2537	7478
+-89.704	37.8194	8749
+-80.081	28.7972	7294
+-83.3878	31.0328	5934
+-108.6809	34.0937	6217
+-118.8906	47.89	7259
+-122.3954	47.534	8772
+-119.4938	48.594	6324
+-87.3093	38.4521	7956
+-119.6572	35.2041	6680
+-120.522	49.8709	5482
+-117.3921	30.2099	6807
+-118.0728	29.1699	5502
+-93.502	37.8827	5935
+-119.3204	31.1931	6563
+-82.9389	26.3658	8064
+-117.8614	31.5896	8059
+-118.8396	45.2603	8194
+-86.9457	35.6905	6799
+-124.1076	47.6219	8097
+-114.8939	32.1014	7307
+-93.3565	39.7881	6030
+-115.4525	32.4308	8010
+-92.688	37.8821	6770
+-95.4121	39.1624	3986
+-121.3033	45.3262	7091
+-116.2575	29.1274	5563
+-110.8833	31.5892	8878
+-116.0172	45.5612	6794
+-117.3915	31.165	7851
+-88.711	35.4553	7333
+-88.8331	35.0714	6902
+-112.335	33.0916	6758
+-90.1927	38.0721	8665
+-122.3134	49.9197	6298
+-82.0943	28.0289	9592
+-123.3291	49.1389	7173
+-121.2073	47.9808	7438
+-119.3048	31.8613	6936
+-118.741	39.3642	3610
+-116.1048	42.294	4616
+-88.6348	38.8988	8423
+-125.9246	47.6864	6190
+-110.5493	32.8218	8111
+-121.6418	48.7127	7242
+-83.8138	37.1466	4225
+-91.2062	38.0861	8285
+-113.4481	34.591	5343
+-89.9535	38.4081	8832
+-90.4758	36.2353	7313
+-117.0658	30.6567	7341
+-114.6855	33.3058	7151
+-122.9469	46.8323	9450
+-79.7672	27.8187	7215
+-92.118	40.1492	7022
+-82.7306	27.4395	9122
+-109.2932	30.9645	8162
+-123.7315	44.445	6689
+-117.4349	45.995	8355
+-115.4738	34.7534	7469
+-124.7258	46.6262	7566
+-78.7256	28.2158	6004
+-113.7094	32.0239	6014
+-81.1709	27.6081	8789
+-122.0306	48.0222	8104
+-83.68	30.6656	6175
+-111.3483	33.1563	7445
+-91.9125	38.0502	7612
+-86.7834	38.3575	7457
+-117.3159	31.2296	7940
+-120.6975	49.2075	6154
+-88.1707	38.8623	8315
+-84.7454	26.8343	6755
+-119.0956	45.0662	7868
+-118.9111	35.0045	7508
+-122.2656	31.8062	3736
+-79.8325	27.3521	7248
+-87.5796	36.5061	7952
+-116.8791	37.5617	5774
+-87.7239	39.6006	7348
+-110.5751	34.079	6757
+-119.4379	31.0452	6361
+-119.1519	32.3528	7261
+-115.8687	29.9533	6332
+-120.6815	48.3076	6758
+-92.1528	41.547	5857
+-119.9707	44.3966	6721
+-80.9348	28.5902	8247
+-118.0596	37.4732	5793
+-106.9113	31.9593	5744
+-88.6694	40.8804	6477
+-114.3778	34.3635	6377
+-120.2474	47.0093	6968
+-116.5998	35.3784	7997
+-111.4941	32.5967	7804
+-116.6893	31.8983	8683
+-90.2723	36.7118	7814
+-92.3815	41.6454	5633
+-116.1128	31.8307	8298
+-114.5955	29.3561	5074
+-115.9362	42.2514	4486
+-81.6157	28.9289	8453
+-91.1445	34.7558	5597
+-89.6456	40.8984	6976
+-122.1785	45.1101	7418
+-89.5845	40.608	7245
+-122.0762	44.7218	6979
+-90.6116	37.6754	8240
+-83.496	28.9933	7818
+-86.5863	37.642	7368
+-115.665	44.3907	5949
+-85.522	24.0394	4193
+-119.8212	44.8309	7149
+-118.2484	37.7259	5475
+-119.5289	36.2114	6187
+-84.0127	25.8726	6874
+-90.8942	35.2036	6162
+-105.8605	31.942	4612
+-87.1647	27.4589	4189
+-116.7562	35.3284	8120
+-110.2004	33.0287	7901
+-115.5021	35.2569	7256
+-115.5992	49.156	4953
+-119.6177	32.8229	6796
+-94.3371	37.4258	4930
+-119.7528	47.50	7111
+-90.7567	36.5222	6990
+-113.9317	30.6463	5445
+-90.0638	38.9803	9000
+-85.0487	29.2066	6214
+-115.1563	30.9916	6886
+-117.2435	34.1618	9498
+-119.5127	34.3647	7075
+-123.6518	45.4264	7723
+-89.629	39.5528	8237
+-123.5001	48.2423	8057
+-81.3189	28.2806	8803
+-121.7529	47.1604	8328
+-81.2984	27.4394	8878
+-112.5649	30.9067	6947
+-80.3229	29.1432	7319
+-81.5841	25.5892	7352
+-88.1975	38.512	8671
+-92.9017	39.6026	6559
+-114.4601	31.6234	6656
+-113.0711	32.3073	6405
+-117.3569	34.7367	8872
+-116.8563	36.113	7332
+-117.561	34.9155	8626
+-82.3283	29.6713	7726
+-116.5986	30.2264	6835
+-118.5588	45.7723	8807
+-114.7024	32.4377	7192
+-79.8282	25.3058	6078
+-117.6701	31.9407	8500
+-115.2833	33.9029	7360
+-112.1933	31.8791	7433
+-122.4904	46.1816	8633
+-117.3799	46.0717	8303
+-109.9049	26.6288	4086
+-115.0711	35.252	6850
+-96.1689	40.1275	3014
+-121.7516	48.3506	7630
+-111.5767	30.1022	7378
+-93.4286	37.0022	5640
+-83.1698	27.9418	8703
+-94.0008	35.716	4335
+-88.6099	41.8083	5614
+-118.5967	32.8062	7935
+-90.6866	37.5824	8124
+-117.1296	35.3428	8210
+-89.0007	38.866	8443
+-89.4075	38.6045	8361
+-122.3678	44.3884	6714
+-107.9991	31.8995	6921
+-92.7926	41.4179	5550
+-114.2923	34.7292	6229
+-122.68	47.5285	8943
+-90.502	37.8116	8405
+-117.114	39.324	3873
+-88.0063	37.9766	8893
+-90.0761	37.2878	8285
+-123.0735	46.6912	9249
+-117.7187	28.9715	5383
+-87.3841	37.2528	8195
+-116.8913	34.6694	8824
+-112.1485	30.9093	7376
+-120.0937	36.8083	5292
+-90.4706	38.5025	9142
+-91.3867	39.9303	7755
+-115.1876	29.3613	5418
+-123.0701	45.4639	7945
+-91.38	39.3934	8146
+-113.5338	28.513	4668
+-122.6284	47.4069	9038
+-89.7526	36.9184	8426
+-114.8601	33.2707	7349
+-121.8623	49.9372	6149
+-87.8632	37.922	8761
+-121.5836	41.9952	3956
+-91.1371	34.8107	5649
+-120.6454	44.1226	5998
+-78.0181	27.352	5213
+-113.6879	33.9963	5866
+-116.6074	34.3916	8766
+-117.1042	45.7374	7954
+-112.3639	31.6552	7272
+-116.5848	33.5156	8864
+-115.2518	35.0883	7106
+-82.2231	28.7568	8768
+-81.5339	28.7309	8608
+-123.1602	45.6811	8165
+-116.7736	33.5038	8957
+-88.4985	37.3162	9320
+-114.9374	33.1932	7451
+-118.3906	47.3995	7880
+-82.0942	26.4742	8430
+-114.977	46.7407	5694
+-78.7713	24.8215	4836
+-115.5468	36.2142	6593
+-121.689	44.5221	6609
+-86.9843	41.1587	5413
+-115.6873	33.1094	8289
+-111.8302	29.7431	6903
+-108.4237	32.2071	7297
+-121.9378	47.3205	8480
+-120.1384	44.8202	6874
+-119.7246	43.1201	5755
+-91.8057	37.3325	7260
+-82.1107	30.6026	6684
+-111.7982	35.7691	4669
+-110.4776	30.1277	7889
+-113.2755	35.223	5025
+-89.6273	40.7313	7139
+-122.7367	45.0261	7467
+-120.3066	31.0304	5528
+-117.5228	35.0187	8532
+-120.107	45.6275	7265
+-120.3113	45.7625	7083
+-123.1967	48.3695	8031
+-124.8187	47.3343	7460
+-90.7391	36.0391	6945
+-82.7281	26.2314	8030
+-88.151	36.0184	7841
+-119.8848	44.5447	6896
+-115.2078	31.6564	7403
+-116.1007	34.0149	8260
+-107.7073	29.7386	5997
+-125.2938	46.9911	6976
+-111.2428	32.9084	7732
+-119.175	43.8605	6708
+-121.572	33.8738	4833
+-114.3456	43.4843	4254
+-86.1791	33.8588	4648
+-119.1295	34.0406	7503
+-81.3847	25.7154	7422
+-124.7252	47.2841	7571
+-114.7193	36.6746	5613
+-118.7971	34.2803	7861
+-123.0825	32.7066	3006
+-110.1607	30.3449	8119
+-116.245	30.296	6828
+-81.4366	24.737	6375
+-90.344	35.7264	7009
+-86.1047	40.1255	5747
+-83.3017	27.924	8559
+-87.492	36.2817	7703
+-85.3218	38.3925	5863
+-85.2889	28.7767	6144
+-110.9872	31.6951	8755
+-88.0921	38.6945	8434
+-115.4059	30.671	6793
+-116.9468	32.8146	9731
+-86.4045	34.0815	4996
+-117.1314	33.0826	9404
+-126.1693	45.5112	5675
+-90.9897	39.9647	7961
+-122.3153	47.3027	8865
+-87.9911	38.5437	8500
+-119.6717	46.2021	7786
+-115.1809	34.7712	7159
+-80.1235	27.984	7605
+-116.7577	42.7009	5315
+-114.2312	36.2608	5494
+-89.9109	38.1325	8586
+-112.6141	32.5616	6785
+-116.6244	33.4805	8920
+-115.1112	41.0834	2974
+-108.2284	31.3819	7183
+-108.1651	31.5156	7123
+-117.8034	30.9875	7509
+-89.1825	38.014	9206
+-81.917	27.3492	9361
+-109.4621	32.2756	8268
+-117.6284	48.0425	7089
+-90.562	38.7322	9231
+-119.8215	46.0414	7630
+-92.4493	42.1647	5123
+-120.1391	47.7902	6602
+-90.7016	41.6313	6300
+-115.5214	34.3419	7621
+-87.8168	37.3994	8708
+-84.5516	30.6528	5632
+-89.827	36.5297	8071
+-115.7702	34.4005	7880
+-83.0228	29.8871	7291
+-117.0501	45.7949	7915
+-79.1172	25.9422	5904
+-120.8461	45.2591	6672
+-114.425	36.4793	5518
+-80.2946	27.2417	7729
+-118.0222	44.5786	7626
+-117.2686	30.4184	7057
+-116.2809	33.8489	8419
+-82.9303	28.7184	8488
+-84.755	25.9235	6267
+-118.902	43.4048	6332
+-127.4557	47.8633	4505
+-87.2518	35.1245	6494
+-114.4147	31.6428	6620
+-122.8825	44.4446	6835
+-106.1163	36.3119	2609
+-89.4432	36.8193	8598
+-118.6561	30.4093	6472
+-91.8146	36.8045	6821
+-114.842	35.3365	6585
+-117.852	43.6763	6653
+-113.6468	30.496	5695
+-85.3406	44.0925	1640
+-119.0888	28.888	4772
+-121.8266	47.8959	8046
+-78.2323	32.1894	3220
+-94.2846	35.6193	4033
+-89.5025	38.1265	8841
+-93.5008	38.7468	6064
+-116.511	35.4148	7915
+-126.1991	45.719	5731
+-119.1718	45.1198	7859
+-108.8265	32.7722	7394
+-83.2955	29.5146	7518
+-87.5668	40.1943	6674
+-86.6987	38.0555	7453
+-124.6553	45.526	7111
+-118.8721	40.6369	3441
+-123.5323	44.9208	7254
+-114.7513	32.4038	7239
+-83.1031	25.2603	6852
+-83.221	29.5742	7506
+-79.3866	26.9211	6641
+-115.6572	32.7377	8290
+-121.1494	47.502	7595
+-81.8708	30.0076	7340
+-81.117	28.6035	8403
+-110.5755	30.5328	8306
+-115.5729	32.2274	8065
+-119.9104	35.3418	6367
+-115.5962	46.4085	6396
+-117.6678	44.615	7558
+-115.3233	33.2052	7869
+-88.4844	36.9564	8958
+-116.5207	33.0026	9214
+-112.1184	31.2808	7512
+-117.6902	30.1584	6680
+-117.8804	47.3257	7894
+-91.4818	37.1212	7307
+-91.2511	38.613	8477
+-118.448	30.8402	6998
+-117.6463	34.8603	8643
+-116.6443	36.1259	7261
+-88.882	36.4119	8401
+-109.1364	28.1479	5532
+-90.0731	40.5885	7415
+-123.5776	46.4009	8636
+-114.2604	36.2058	5555
+-114.8788	33.5539	7283
+-89.517	38.7101	8490
+-119.5669	47.5104	7241
+-111.3831	30.7411	8015
+-89.401	36.0305	7846
+-81.84	27.7692	9561
+-125.8453	48.7303	5835
+-87.7987	40.4162	6542
+-122.4255	46.8092	9057
+-114.2429	34.1653	6239
+-121.3953	33.091	4893
+-119.0676	32.4587	7376
+-91.1493	34.9712	5777
+-111.1399	32.408	8224
+-117.6557	47.2421	7880
+-94.0189	36.3014	4700
+-88.4827	36.3817	8339
+-117.472	31.3192	7990
+-116.4379	31.1143	7765
+-115.3022	32.6302	7885
+-116.2927	46.9904	6951
+-121.2392	47.9569	7482
+-91.1111	40.4731	7408
+-119.2557	47.9472	7050
+-79.9623	30.9532	5530
+-119.4711	48.4433	6478
+-119.1858	32.4603	7246
+-92.1627	36.5038	6336
+-80.5732	27.2484	8033
+-110.3082	32.2961	8701
+-117.9159	45.7755	8741
+-121.1558	49.5387	6192
+-81.8104	27.4071	9346
+-119.2714	46.8233	7964
+-122.2818	45.6185	7977
+-75.6472	26.6597	2448
+-87.7045	36.5275	8067
+-82.3102	25.5292	7353
+-117.6552	44.3887	7330
+-121.9984	47.0947	8606
+-90.4067	38.8138	9351
+-118.7002	33.1075	7792
+-122.5838	46.8405	9232
+-117.1304	43.5478	6295
+-123.3209	46.008	8456
+-118.2506	33.9839	8452
+-79.009	29.294	5958
+-112.2172	31.6175	7432
+-117.5136	33.8865	9157
+-107.8622	32.5831	6585
+-117.6468	31.952	8526
+-125.2039	46.3129	6975
+-88.8273	38.8089	8530
+-117.7952	47.9273	7257
+-89.3972	40.6693	7099
+-123.3784	44.3797	6716
+-89.7435	36.5092	8116
+-122.2151	46.2476	8515
+-118.8138	49.2758	5850
+-118.0827	36.0608	7255
+-88.5494	40.4324	6742
+-87.958	36.9787	8624
+-117.0284	34.0528	9264
+-77.5693	28.4848	4665
+-87.9018	40.554	6431
+-87.4034	39.9255	6853
+-115.7453	34.8145	7720
+-90.7005	40.9596	7018
+-86.6519	37.0333	7337
+-78.3311	28.1972	5563
+-114.9276	32.586	7464
+-92.3966	39.2617	7185
+-78.5046	27.154	5729
+-116.6425	32.1936	8970
+-116.6791	30.6861	7355
+-94.1053	39.1371	5391
+-88.7947	36.2558	8232
+-122.9574	48.9829	7390
+-113.5163	36.9487	4423
+-116.4132	46.4981	7236
+-117.8825	33.773	8760
+-78.2471	27.6142	5492
+-117.2013	46.5734	8010
+-123.4637	46.0142	8390
+-94.6303	36.7879	4382
+-88.9458	41.1856	6376
+-90.4557	35.8585	7038
+-116.6297	38.7023	4506
+-117.4489	47.8239	7232
+-120.3298	36.2243	5492
+-88.5197	38.3541	8995
+-116.9559	33.4099	9091
+-93.1064	37.8526	6334
+-115.063	32.0812	7477
+-119.0326	44.9154	7776
+-93.5425	40.4397	5563
+-85.1481	25.4352	5581
+-115.9886	33.6459	8323
+-85.4428	24.6018	4712
+-114.6718	36.6522	5593
+-119.7696	44.0073	6542
+-108.6261	36.1031	4239
+-126.2474	44.8975	5283
+-113.7487	31.7719	5979
+-89.2623	42.5895	5113
+-119.1482	28.2886	4147
+-114.6819	38.2711	4216
+-81.9729	25.9554	7835
+-118.8164	47.9505	7221
+-111.222	31.201	8425
+-90.8437	40.4539	7522
+-112.093	35.1687	5146
+-88.9838	38.8437	8471
+-118.5266	29.0564	5212
+-90.2412	40.1797	7876
+-118.5688	45.3353	8396
+-115.7571	33.7129	8074
+-82.2554	27.9439	9649
+-91.9892	37.1178	6956
+-116.6603	35.3827	8023
+-121.0811	42.8319	4704
+-117.7977	32.9525	8814
+-116.2219	34.3495	8374
+-118.8114	33.3196	7633
+-113.1084	33.9618	5514
+-121.9728	46.4153	8421
+-110.9617	33.375	7416
+-121.8593	33.2043	4427
+-119.2941	47.0765	7772
+-90.0584	36.5582	7905
+-114.6983	32.1213	7107
+-117.1362	36.1163	7370
+-90.4964	38.0385	8648
+-89.1558	35.5933	7448
+-117.1899	34.9888	8601
+-88.1775	36.6844	8530
+-81.0648	29.7082	7385
+-86.3312	33.4668	4366
+-93.4414	39.9177	5896
+-126.1407	47.4785	6002
+-120.6951	46.5582	7143
+-92.7957	39.4909	6704
+-87.3284	36.9828	8028
+-119.9967	32.6109	6365
+-117.5982	29.9435	6472
+-88.1281	38.3311	8780
+-111.9156	31.4105	7749
+-116.8433	45.8148	7706
+-119.1898	47.7244	7290
+-116.3813	36.5756	6704
+-113.663	33.1829	6045
+-115.3702	40.3207	2479
+-123.0082	48.0529	8407
+-117.3188	33.7651	9132
+-112.6908	35.2697	4733
+-115.808	31.9226	8121
+-112.4921	30.2079	6700
+-89.9334	36.7881	8176
+-82.2171	31.4963	5672
+-82.0706	29.4455	7992
+-117.6084	46.4246	8467
+-126.0659	49.818	4925
+-118.5659	31.058	7101
+-119.9973	48.5893	6060
+-111.8877	31.3598	7772
+-121.0108	43.0754	4947
+-123.5497	47.9534	8308
+-114.6144	35.7378	6157
+-120.3117	43.9791	6152
+-82.5281	25.3892	7166
+-113.619	32.8356	6019
+-88.5784	37.6046	9593
+-113.9117	30.3593	5376
+-112.8308	35.7672	4381
+-112.5172	33.9754	5964
+-116.6761	33.1336	9273
+-116.168	31.1678	7709
+-84.5902	27.3541	7074
+-88.4967	38.5684	8758
+-109.7246	31.3936	8783
+-110.2241	32.4416	8536
+-87.7411	39.5784	7379
+-118.0902	31.5821	7891
+-117.767	33.7253	8834
+-94.2435	37.8786	5159
+-111.8589	32.6861	7434
+-124.6809	46.6364	7616
+-110.689	31.651	9081
+-82.2972	30.7607	6500
+-118.0722	33.7377	8559
+-87.6157	36.6081	8060
+-113.265	31.7446	6292
+-113.7208	38.6024	3315
+-91.4913	35.9384	6167
+-116.7982	33.0529	9429
+-117.2479	28.3919	4808
+-90.7552	36.1456	7005
+-122.0246	48.5471	7621
+-91.2054	36.516	6859
+-115.7857	37.0034	6015
+-81.9136	27.6883	9629
+-114.3342	46.6322	5040
+-117.9253	38.4256	4801
+-116.6271	34.1091	8840
+-80.1472	26.9773	7474
+-122.5651	38.6914	1914
+-91.349	40.464	7304
+-115.4625	37.7538	5125
+-117.1551	31.5841	8362
+-80.6611	28.8545	7821
+-107.4727	33.9262	5467
+-118.6759	47.4136	7809
+-91.7391	38.1302	7818
+-117.3441	34.8508	8751
+-91.3413	40.9536	6834
+-116.286	32.38	8851
+-90.1793	33.9606	5364
+-81.2373	26.0676	7719
+-116.7664	47.664	6953
+-83.5038	30.8656	6059
+-82.5711	26.6922	8580
+-114.3079	31.3424	6362
+-94.0913	38.8769	5425
+-83.3217	27.7894	8548
+-81.4719	26.3821	8157
+-117.3253	34.4767	9158
+-116.1289	31.9247	8388
+-84.7055	36.0688	4916
+-117.1583	35.868	7642
+-85.2126	42.8822	2730
+-90.6441	38.4676	9010
+-113.1067	31.6483	6468
+-113.7748	46.0573	4485
+-116.6645	30.835	7517
+-109.6118	29.4325	7016
+-124.4608	46.1665	7679
+-81.2817	27.3563	8823
+-88.5884	36.6084	8611
+-116.1738	34.0124	8339
+-86.4057	37.3732	7145
+-118.1414	34.8945	8273
+-106.8622	30.619	5570
+-92.5643	36.5773	6106
+-88.0284	41.836	5240
+-109.7212	30.8539	8442
+-118.4142	44.5503	7613
+-111.1499	30.1901	7724
+-84.113	27.7415	7653
+-119.1801	41.7104	4515
+-120.2489	44.4195	6522
+-115.5022	33.4622	7968
+-87.9051	41.8415	5154
+-85.0473	27.2065	6535
+-85.6067	36.4559	6017
+-121.7671	46.2927	8158
+-114.3131	35.0224	6173
+-110.9395	33.9487	6828
+-117.8207	34.3211	8900
+-113.0264	29.3732	5699
+-114.8598	30.6991	6421
+-109.638	34.0115	6737
+-89.8876	41.7077	6192
+-88.9511	38.6644	8675
+-87.091	37.0958	7828
+-111.0898	30.8214	8310
+-82.3891	25.9506	7818
+-116.2991	33.1376	8927
+-121.0797	30.4739	4473
+-117.7976	49.447	5679
+-119.9441	43.3672	5874
+-88.7225	37.5156	9639
+-88.593	38.0816	9310
+-115.821	34.1489	7961
+-117.8833	49.3827	5758
+-109.2431	30.5598	7853
+-81.9806	28.574	8963
+-118.1308	30.4354	6796
+-80.874	26.4043	7794
+-113.6339	29.1178	5010
+-121.631	46.2314	7995
+-122.1041	46.9269	8731
+-124.5609	35.9896	1328
+-118.101	32.765	8486
+-92.5479	35.4114	5136
+-82.5009	28.8167	8634
+-117.236	45.8194	8112
+-82.7465	29.7832	7508
+-125.1854	44.2925	5742
+-91.6341	35.3837	5554
+-123.6157	44.711	7006
+-87.3139	38.7053	7810
+-121.9954	46.8479	8604
+-125.2009	48.5012	6568
+-122.9151	44.7621	7184
+-84.8882	34.6072	4270
+-89.3565	39.7319	7893
+-85.9937	37.9635	6685
+-118.7533	34.4823	7872
+-112.0832	34.2297	6036
+-116.172	29.0569	5467
+-81.7563	27.0986	9025
+-117.8587	47.9759	7224
+-115.3782	31.7759	7635
+-82.5453	30.5083	6756
+-87.903	35.8626	7571
+-90.9054	37.6961	8157
+-88.8227	40.2988	7055
+-123.2323	47.324	9070
+-111.9071	30.8352	7586
+-91.5562	39.3188	8019
+-122.4713	49.2335	7072
+-116.9084	47.5987	7107
+-117.2018	43.8954	6660
+-119.0808	46.0598	8415
+-89.6797	41.6701	6187
+-86.9769	40.3119	6229
+-83.4828	31.7632	5120
+-80.9205	29.4665	7530
+-117.6341	32.5089	8933
+-91.3677	33.7708	4557
+-115.0701	33.433	7529
+-117.9308	34.5766	8667
+-88.0771	38.2233	8820
+-116.5217	35.2832	8043
+-90.1871	35.1827	6604
+-81.161	24.9127	6481
+-89.6994	38.3227	8555
+-114.7402	34.0831	6781
+-115.7811	33.961	7907
+-80.3561	26.8896	7650
+-117.4188	46.2056	8338
+-87.6829	40.1865	6735
+-124.2297	47.5746	8000
+-119.4232	49.2989	5664
+-80.9745	25.4841	6996
+-90.8153	37.7704	8270
+-117.877	34.8148	8540
+-88.3575	41.8994	5388
+-91.9657	37.7389	7400
+-85.0497	29.4713	6071
+-107.3154	31.1783	6175
+-109.333	32.7855	7779
+-110.1852	28.3813	6001
+-91.3614	41.7491	6024
+-110.7089	31.6108	9065
+-116.6668	35.7244	7683
+-117.6201	34.5385	8951
+-114.0038	34.6319	5937
+-81.6723	28.6601	8755
+-116.5233	44.9026	7006
+-82.9991	29.3141	7886
+-90.5919	39.5213	8563
+-92.3989	41.0406	6136
+-123.3587	46.4936	8882
+-80.8417	28.4145	8258
+-78.4187	29.3966	5303
+-89.7237	37.8821	8714
+-117.5878	37.2793	6088
+-115.7182	32.9847	8348
+-113.8674	46.3258	4578
+-110.7445	31.6209	9026
+-120.7727	36.5587	4887
+-115.4862	34.866	7438
+-116.9768	33.1615	9368
+-116.7515	34.7202	8686
+-114.6973	35.0957	6545
+-111.9704	32.0349	7634
+-118.4912	45.5833	8671
+-112.2768	29.5362	6415
+-112.7693	34.1356	5651
+-87.2121	30.3666	3437
+-117.8654	32.8868	8747
+-118.6179	35.709	7274
+-118.6302	34.6391	7951
+-90.173	36.811	7968
+-116.8019	34.8387	8616
+-121.8075	32.3595	4329
+-123.8194	47.4159	8482
+-90.6001	40.5152	7507
+-111.4605	32.9634	7543
+-87.6505	37.0045	8359
+-108.8759	27.5022	4778
+-89.1793	38.7389	8525
+-110.9739	28.3954	5951
+-116.2731	34.3287	8433
+-115.606	34.3931	7704
+-119.919	30.1346	5304
+-82.5496	28.9291	8495
+-80.3663	30.791	5930
+-116.0673	33.9133	8208
+-123.3519	46.0782	8511
+-81.3256	25.9483	7641
+-107.2057	29.641	5485
+-85.1645	38.7573	5590
+-114.5036	45.2552	5159
+-109.6018	34.7223	5981
+-120.9221	33.491	5489
+-123.0999	45.5583	8043
+-116.8853	48.3301	6473
+-92.9356	40.3878	6156
+-114.2527	34.8217	6166
+-111.9128	32.7909	7319
+-124.1402	45.873	7790
+-118.3467	31.5439	7659
+-88.3475	35.2019	7009
+-82.8822	29.7204	7525
+-89.8556	39.6639	8287
+-81.0303	27.4281	8587
+-116.4724	37.3412	5933
+-89.2924	38.6623	8245
+-118.0129	35.9164	7429
+-82.2552	27.3214	9370
+-122.8441	49.6104	6701
+-115.7512	32.9876	8384
+-119.2035	33.9077	7411
+-91.6312	37.7037	7669
+-84.155	27.997	7590
+-123.2794	47.0222	9185
+-118.6239	42.3063	5227
+-92.469	37.8129	6960
+-91.4008	35.407	5920
+-80.1717	27.4858	7651
+-82.2566	25.6603	7505
+-114.5944	33.6837	6936
+-117.2933	29.8971	6476
+-117.1002	33.7717	9104
+-114.6741	34.4021	6695
+-89.3152	36.2485	8109
+-91.8972	36.1423	6174
+-112.3431	34.4713	5661
+-86.752	41.4618	4991
+-108.2744	34.8525	5288
+-92.3648	39.3472	7194
+-79.2521	26.3382	6254
+-110.43	31.519	9348
+-117.9903	32.0372	8318
+-117.4736	33.6009	8915
+-108.9623	28.7422	6056
+-106.9782	34.9895	4293
+-89.1226	37.1522	9113
+-91.3959	38.8092	8331
+-81.4037	26.8176	8538
+-82.3803	29.3644	8063
+-113.1203	31.151	6418
+-82.5432	28.3049	9127
+-80.5868	25.4826	6772
+-109.9301	33.5005	7351
+-119.1841	44.627	7432
+-88.8214	36.5663	8579
+-118.0491	44.6403	7695
+-110.1783	31.3213	9144
+-114.1014	30.7426	5808
+-84.2087	26.8793	7339
+-87.9972	37.7067	8950
+-113.3587	46.0803	4045
+-110.1494	31.6373	9266
+-118.1401	33.8079	8521
+-117.1327	33.5424	8877
+-89.1982	37.8793	9275
+-111.8275	34.3154	6100
+-120.1559	33.1167	6197
+-116.9127	44.4815	7014
+-89.2908	35.5681	7388
+-89.4902	38.5324	8434
+-88.8798	40.2178	7160
+-116.2767	27.8669	4179
+-111.5342	32.4938	7841
+-85.0161	34.0874	3996
+-88.118	37.151	8885
+-118.2663	32.3813	8224
+-108.7113	31.4113	7706
+-112.0314	32.4022	7431
+-116.5741	32.1752	8914
+-123.5771	48.9572	7296
+-80.238	27.0291	7592
+-83.0119	29.9092	7273
+-116.3588	29.5384	6034
+-110.5652	29.4531	7152
+-122.3093	45.6467	8017
+-114.9343	34.2798	6989
+-117.0736	36.5321	6913
+-81.9933	27.907	9668
+-123.3588	48.2754	8083
+-89.6173	38.6734	8595
+-88.9185	34.3601	6100
+-123.3765	43.3698	5620
+-89.8232	41.0981	6823
+-119.5826	45.335	7664
+-81.4802	26.0674	7833
+-117.2407	34.151	9504
+-118.7072	37.44	5603
+-122.7422	47.5737	8917
+-80.4431	28.1213	7939
+-116.0794	33.3778	8582
+-90.3326	37.327	7890
+-91.2564	36.7992	7121
+-121.0871	47.7836	7421
+-122.2837	47.3032	8835
+-117.9964	35.7691	7584
+-114.3005	31.6464	6505
+-121.2853	45.3627	7106
+-84.6405	27.169	6977
+-121.4273	48.5405	7238
+-117.457	34.5959	8992
+-112.5599	31.9956	7020
+-91.0182	36.5778	6985
+-91.5425	37.4283	7530
+-83.9726	24.1906	5343
+-119.0689	32.4684	7376
+-92.4437	39.3453	7113
+-86.2324	36.9934	6872
+-113.863	35.623	5485
+-85.7728	30.343	4848
+-118.1122	35.9393	7363
+-116.4646	33.5595	8753
+-113.1667	34.0481	5405
+-125.1661	49.0578	6219
+-107.7343	30.1725	6270
+-117.8568	33.8929	8843
+-117.962	45.0291	8076
+-81.5693	24.3253	5947
+-83.0851	28.0987	8752
+-117.0654	33.64	8957
+-118.2126	32.1875	8196
+-114.9233	44.7489	5425
+-87.4222	38.6081	7972
+-117.2641	44.9219	7611
+-115.1257	30.9244	6808
+-89.6217	36.9667	8575
+-86.0701	35.6144	6012
+-122.838	45.426	7912
+-119.3942	46.2482	8074
+-107.8807	30.972	6735
+-116.8923	34.2206	9119
+-115.476	44.2385	5693
+-119.7202	46.0323	7737
+-107.2433	33.4043	5588
+-116.715	35.4285	8002
+-81.4179	27.0021	8708
+-89.8573	36.6985	8179
+-123.0672	44.5833	6981
+-126.0038	45.7354	5938
+-89.2987	39.4488	8034
+-118.6209	44.8041	7842
+-91.527	39.4029	8005
+-81.7889	27.4595	9370
+-119.5978	45.8277	7839
+-83.2371	29.1708	7872
+-117.7305	42.9189	5841
+-116.9172	46.7162	7673
+-111.4979	28.2429	5641
+-116.9901	35.1914	8345
+-90.0592	38.7901	9072
+-118.3246	44.5712	7641
+-80.8217	29.2641	7640
+-87.7996	38.7923	8149
+-91.4853	37.0383	7230
+-121.3745	35.3612	4861
+-93.7484	35.8603	4644
+-107.8755	34.1008	5662
+-91.7543	40.9945	6589
+-116.5833	30.9912	7672
+-81.7059	25.4256	7200
+-79.6472	28.9874	6759
+-118.921	47.6413	7494
+-107.5061	29.4804	5656
+-123.9046	43.5358	5679
+-121.2899	47.8507	7588
+-116.5499	33.4022	8951
+-118.3519	34.9408	8062
+-106.5456	34.1139	4538
+-108.3478	35.6407	4579
+-116.7726	32.4335	9274
+-114.9423	33.0488	7480
+-126.006	46.477	6152
+-80.8444	29.4347	7508
+-125.0179	45.0424	6462
+-81.4056	30.7419	6427
+-118.4798	44.7142	7778
+-118.9534	36.1279	6688
+-120.0195	48.481	6140
+-87.8225	40.9951	5754
+-92.074	36.5687	6450
+-83.1364	27.4431	8700
+-122.3938	45.0569	7436
+-116.1315	35.7741	7361
+-88.6253	39.9561	7126
+-121.089	43.4393	5165
+-122.3599	47.8728	8447
+-124.5983	46.8464	7736
+-91.877	38.8496	7811
+-79.2865	26.1713	6200
+-89.5618	39.0549	8480
+-124.1549	29.5458	944
+-80.4058	27.2797	7862
+-111.0542	33.4383	7317
+-121.3539	43.6371	5573
+-88.7012	39.6715	7357
+-90.0076	38.9908	8943
+-91.1179	38.8293	8628
+-86.6554	39.9087	6358
+-81.3539	31.0498	6075
+-126.7355	49.6812	4444
+-111.3979	29.8839	7301
+-90.4596	36.8369	7699
+-115.2013	31.7889	7474
+-118.0636	34.9306	8308
+-90.4239	39.4691	8648
+-118.1366	37.6528	5583
+-118.1044	45.6224	8720
+-115.5364	35.2836	7271
+-126.6035	42.0801	2870
+-117.9069	48.8555	6315
+-121.3634	44.2387	6166
+-120.6864	48.6591	6545
+-121.2465	47.3082	7751
+-111.5596	30.8364	7918
+-87.2233	38.4128	7891
+-113.66	34.6777	5559
+-117.4303	34.1779	9353
+-119.4348	46.5695	7944
+-117.6244	35.0032	8512
+-123.2439	47.2146	9140
+-112.2452	31.7249	7396
+-88.1412	39.8314	7285
+-119.6779	46.7258	7642
+-117.6598	31.2275	7819
+-118.0407	32.2389	8392
+-120.8154	35.0894	5529
+-118.2007	33.3698	8222
+-83.1926	26.1231	7680
+-119.0433	48.4373	6658
+-114.8385	33.7548	7159
+-125.0842	45.4553	6688
+-92.8895	41.0752	5740
+-90.0373	38.6704	9042
+-111.9055	31.8486	7746
+-118.001	35.2712	8061
+-116.8424	34.2666	9053
+-113.3094	33.6497	5548
+-116.9913	37.0134	6382
+-112.95	34.3737	5329
+-117.0374	46.6499	7818
+-116.2402	48.5093	5915
+-118.395	49.934	5198
+-107.7209	32.6735	6407
+-117.4402	46.4268	8303
+-124.6554	46.1299	7470
+-110.0102	28.3613	5965
+-89.29	36.5349	8416
+-111.8867	30.0304	7094
+-85.0912	29.1052	6219
+-116.6638	46.8173	7385
+-113.0477	33.1532	6076
+-126.5407	47.0734	5605
+-110.4597	33.7707	7100
+-116.5383	33.6085	8559
+-88.8202	36.695	8723
+-79.7745	28.7233	7013
+-81.0112	27.1938	8467
+-117.6943	36.4578	6960
+-118.1477	32.6087	8415
+-116.8505	49.544	5310
+-90.7832	38.5183	8926
+-85.7971	29.2938	5402
+-124.6428	49.6977	6047
+-86.9458	41.3672	5185
+-120.4715	45.4908	6855
+-94.21	42.6856	3508
+-115.1557	35.1852	6965
+-122.2357	48.2945	7975
+-117.7477	43.3332	6276
+-86.5861	36.2971	6925
+-79.9203	30.019	6320
+-117.3994	37.8278	5505
+-89.0185	40.6953	6863
+-117.7351	33.9903	9004
+-90.9524	37.4951	7939
+-90.4838	38.9772	9157
+-118.2903	46.2955	9053
+-88.5127	38.9826	8310
+-121.6306	46.3514	8056
+-117.6796	32.0479	8583
+-92.1406	37.6742	7203
+-118.7147	44.2864	7286
+-120.5932	45.4258	6712
+-89.445	40.0907	7661
+-115.5969	35.7295	7018
+-91.3032	40.0012	7751
+-110.3419	28.7173	6368
+-120.1946	35.2266	6129
+-117.5239	31.1264	7768
+-85.7829	38.9506	6169
+-116.7585	32.3043	9136
+-116.9966	32.85	9703
+-88.112	41.1064	5897
+-90.4376	38.2488	8881
+-89.4704	35.8396	7618
+-116.4129	35.6574	7632
+-114.7481	38.5605	3982
+-110.3339	33.6825	7199
+-116.6669	46.6722	7445
+-91.6886	38.3667	7958
+-115.8939	36.8321	6235
+-90.0343	37.461	8374
+-84.5837	40.2195	4314
+-89.7593	39.0197	8692
+-84.3677	26.4902	6981
+-90.8022	37.6024	8108
+-112.9623	31.8576	6610
+-92.7741	38.7688	6847
+-85.502	38.26	6090
+-107.6608	32.6199	6368
+-115.6651	32.6866	8294
+-89.5696	42.2875	5512
+-116.9769	31.9905	8831
+-89.6331	37.9104	8804
+-119.6733	43.6074	6238
+-125.4413	45.9648	6605
+-115.2641	31.7102	7488
+-118.9937	36.7945	6077
+-117.3069	45.1915	7848
+-81.8028	26.8889	8831
+-117.2162	28.5054	4936
+-121.4454	44.6304	6583
+-86.6794	38.7869	7156
+-110.3357	33.4889	7409
+-91.4784	39.1637	8163
+-81.8271	31.4186	5746
+-91.803	38.8919	7886
+-119.8773	36.8688	5413
+-118.2247	35.4202	7788
+-119.7891	49.0499	5753
+-120.608	45.1701	6609
+-83.6768	30.2311	6602
+-87.1872	37.4097	8019
+-124.0078	47.3576	8316
+-115.4606	34.9893	7358
+-80.511	30.5765	6222
+-88.8416	36.7076	8736
+-116.6967	30.2034	6823
+-92.0443	40.3355	6949
+-81.1737	26.2728	7884
+-119.1621	47.3275	7662
+-83.1905	29.3636	7726
+-117.6506	44.1582	7098
+-81.5105	30.4549	6770
+-126.5747	45.5847	5293
+-90.9457	38.8565	8807
+-82.0861	24.0632	5702
+-116.2295	33.0995	8872
+-85.7094	37.038	6312
+-85.5213	27.9902	6051
+-86.8274	34.7988	5930
+-117.8196	32.324	8654
+-87.9247	36.7387	8409
+-92.542	36.9029	6362
+-116.9745	33.6953	8964
+-82.2536	26.976	8988
+-82.8893	29.9504	7278
+-112.7425	29.7335	6183
+-81.2062	30.7978	6306
+-123.1054	47.3742	9105
+-108.8447	29.5027	6702
+-86.5869	27.3075	4827
+-121.0535	49.2355	6392
+-119.4951	29.8901	5439
+-81.5063	25.0758	6767
+-90.438	36.5657	7569
+-89.2527	38.794	8205
+-80.6972	26.7645	7911
+-92.355	38.9998	7282
+-109.5915	32.5414	8161
+-86.595	36.4732	7034
+-118.2157	49.8643	5273
+-92.1602	39.0805	7476
+-118.5335	45.22	8292
+-117.4887	34.1677	9293
+-116.8375	32.946	9549
+-118.9833	33.1973	7405
+-81.9392	31.3779	5801
+-115.8675	32.4472	8460
+-118.3966	47.3139	7969
+-115.4421	31.4979	7505
+-125.8612	48.8998	5721
+-115.1114	32.7077	7680
+-78.5559	27.8961	5842
+-119.7966	36.942	5414
+-123.8684	47.9797	8066
+-114.4702	32.3987	6930
+-84.3307	26.5003	7023
+-80.576	27.8044	8130
+-89.2724	38.0763	9084
+-109.3555	30.4735	7871
+-115.1388	30.4888	6452
+-92.3448	36.9125	6527
+-86.2198	34.999	5676
+-78.8246	27.7836	6149
+-86.8118	40.6226	5836
+-82.9048	26.7817	8477
+-116.2504	33.0228	8922
+-87.0772	36.6528	7604
+-112.1811	27.2906	4410
+-111.4853	28.3572	5762
+-121.0247	47.3014	7513
+-115.4712	47.4305	5966
+-117.8135	32.0714	8495
+-118.7824	45.4743	8413
+-118.6663	31.4773	7339
+-88.1442	35.2887	7057
+-87.7945	38.4655	8402
+-85.094	28.3239	6484
+-121.9135	45.0947	7282
+-89.3206	42.6129	5106
+-86.3643	36.3721	6752
+-117.5813	47.896	7218
+-90.3556	35.4881	6789
+-110.308	28.4833	6115
+-90.5972	39.2642	8824
+-112.8702	32.0209	6684
+-121.0254	48.5483	6912
+-120.4341	44.3267	6308
+-115.0084	46.2182	5790
+-85.7797	39.1025	6095
+-92.5984	36.5216	6038
+-118.1263	37.6829	5554
+-86.5334	25.0668	4052
+-119.0257	32.8412	7456
+-114.9734	34.4194	7017
+-91.2471	39.235	8357
+-113.8511	31.9574	6148
+-119.4186	36.0851	6369
+-119.9519	48.8135	5887
+-120.8383	31.5658	5215
+-90.2935	37.58	8160
+-80.4863	27.959	8016
+-87.7194	38.3112	8434
+-116.8599	30.0624	6678
+-93.0548	37.2583	6126
+-116.8689	32.8756	9626
+-88.3758	37.871	9320
+-112.8361	33.7004	5922
+-116.0501	36.8635	6277
+-119.4639	31.8074	6749
+-116.4655	34.1275	8664
+-117.3821	32.3643	9068
+-114.5948	30.827	6300
+-87.8206	34.4848	6090
+-122.2305	47.6657	8543
+-118.9539	47.9007	7226
+-87.3175	35.8677	7223
+-120.4031	45.8706	7002
+-117.127	46.1527	8035
+-90.9478	40.1139	7833
+-117.7446	44.9347	7901
+-110.7745	30.1332	7831
+-87.1203	39.7164	6863
+-85.4078	39.4156	5564
+-120.168	36.979	5105
+-82.8735	38.0524	3186
+-84.0514	32.5504	4061
+-90.7805	39.6251	8389
+-88.0246	38.2766	8736
+-117.2886	34.5964	9032
+-117.4924	33.1283	9071
+-88.6088	36.1174	8068
+-123.7978	45.8173	8004
+-116.1719	33.8423	8302
+-117.9615	44.1361	7153
+-116.834	32.0745	8912
+-120.4443	48.9788	6118
+-118.8544	33.1278	7488
+-110.4904	30.7981	8606
+-117.0917	33.2692	9229
+-119.5304	46.5046	7872
+-88.9651	40.6677	6854
+-87.2155	36.9987	7920
+-82.4064	27.058	9033
+-82.556	27.0374	8939
+-89.341	40.6334	7104
+-116.3647	32.9947	9053
+-118.8707	45.4993	8371
+-110.6101	33.9221	6922
+-122.9435	43.7091	6027
+-116.6611	34.9343	8443
+-117.1384	36.1069	7380
+-126.8027	47.9943	5172
+-90.2721	38.9659	9163
+-118.1993	32.8222	8378
+-115.30	44.1898	5509
+-89.7798	38.6525	8765
+-86.8082	28.5462	4530
+-83.6921	28.8906	7718
+-91.5008	37.628	7718
+-115.8839	34.1302	8030
+-109.544	32.8318	7873
+-111.2544	29.955	7447
+-89.4359	39.2123	8288
+-84.1697	34.403	3487
+-119.1279	46.8778	8045
+-91.1553	37.6559	7981
+-118.1163	47.0033	8288
+-109.9348	33.4712	7383
+-124.1103	44.8989	6974
+-82.865	35.4975	2757
+-116.5294	32.4604	9124
+-120.8676	47.2189	7356
+-121.4619	45.4616	7319
+-117.949	49.2235	5934
+-116.947	45.9503	7836
+-87.1408	30.1502	3618
+-115.5156	32.0005	7896
+-123.1366	45.0374	7471
+-82.5427	29.0268	8393
+-118.1821	44.1028	7143
+-118.7101	46.9914	8214
+-87.7169	33.9936	5528
+-122.7559	48.7352	7657
+-123.2753	46.0297	8497
+-89.7786	39.478	8404
+-80.3127	29.4499	7087
+-118.11	32.5861	8452
+-84.7601	24.7126	5335
+-120.4918	46.4411	6894
+-123.4972	47.3979	8797
+-93.9637	41.1814	4760
+-90.5358	37.4905	8057
+-91.2855	39.5749	8107
+-87.0154	34.3654	5621
+-111.4438	33.5818	6996
+-114.9335	31.491	7046
+-85.1341	26.5433	6226
+-121.3186	46.3409	7738
+-108.0092	29.415	6030
+-110.2825	31.6565	9377
+-76.7261	26.8606	3690
+-80.2737	25.5826	6647
+-89.75	40.4889	7430
+-118.8553	48.0254	7133
+-119.0498	33.1256	7304
+-91.4337	37.1077	7323
+-91.002	36.2401	6638
+-81.6396	27.2814	9109
+-118.0502	45.3619	8441
+-118.0267	30.9419	7351
+-82.7509	27.9429	9166
+-119.6729	33.4081	6796
+-82.5837	30.9666	6236
+-90.6329	35.2358	6376
+-89.572	40.9561	6891
+-112.9764	30.5573	6402
+-90.6241	35.4008	6527
+-114.7992	27.7139	3569
+-79.6346	25.9942	6427
+-115.2182	33.483	7666
+-115.6128	35.2817	7342
+-117.8437	46.9705	8228
+-113.1784	32.7285	6151
+-109.8574	30.0545	7739
+-118.9608	30.0659	5963
+-122.0305	44.6499	6888
+-91.8132	39.1344	7828
+-115.0616	36.255	6200
+-90.9275	39.4941	8431
+-117.6536	31.8037	8388
+-91.6413	40.9044	6735
+-88.4426	39.783	7411
+-115.7183	35.8694	7000
+-117.6046	32.5172	8967
+-111.0924	34.2496	6470
+-119.1639	31.5197	6907
+-89.0573	34.7543	6530
+-109.9058	34.7864	5972
+-80.037	27.6263	7515
+-111.7557	31.9865	7872
+-109.0902	34.2984	6238
+-110.2818	32.4574	8525
+-118.0997	45.0195	8100
+-124.988	45.4933	6799
+-84.8712	28.5318	6676
+-90.9531	43.6042	4156
+-117.9443	42.9205	5874
+-88.1734	39.0677	8107
+-122.9686	45.1929	7656
+-115.0037	34.7864	6969
+-123.0185	47.1161	9397
+-116.161	28.1398	4459
+-114.6753	32.7152	7195
+-109.838	31.5443	8935
+-116.6811	34.7856	8582
+-115.2923	30.4611	6529
+-121.6877	33.3038	4631
+-123.9952	47.1809	8380
+-115.3583	34.7904	7336
+-83.1087	28.6646	8393
+-123.1054	48.3544	8065
+-116.6538	33.4284	8986
+-110.9514	33.2368	7561
+-84.363	29.7185	6540
+-116.5525	46.5976	7353
+-110.7377	35.5916	5109
+-121.0454	44.5773	6283
+-118.5355	33.0883	7977
+-81.73	25.0102	6741
+-117.5035	35.2146	8330
+-82.1452	27.6249	9732
+-117.0233	44.5222	7122
+-116.9091	44.2849	6849
+-115.3961	47.7327	5748
+-89.6087	38.8396	8584
+-85.0193	29.2614	6215
+-92.6837	38.7967	6944
+-121.3294	43.6701	5595
+-92.657	37.217	6469
+-90.1743	37.0756	8102
+-123.0014	47.6461	8851
+-117.5965	46.7518	8258
+-123.7793	46.0183	8185
+-92.9266	37.8066	6501
+-109.9639	31.6549	9066
+-118.4508	35.6754	7417
+-122.4621	46.3893	8810
+-118.9047	37.8192	5138
+-121.1706	44.8343	6590
+-120.8084	46.712	7291
+-82.7699	28.8819	8440
+-122.7465	46.0166	8549
+-88.5402	37.5221	9514
+-109.072	30.4965	7670
+-116.9875	45.866	7866
+-115.1986	32.5057	7751
+-127.0742	44.8676	4473
+-114.3662	32.1566	6760
+-116.0107	31.2419	7698
+-113.8557	29.8241	5208
+-117.7471	34.18	9011
+-93.505	38.0935	5986
+-112.0052	29.135	6261
+-117.8916	49.8992	5216
+-118.5014	48.4077	6806
+-121.2446	47.2101	7768
+-87.1399	37.6147	7988
+-117.68	33.1817	8859
+-106.1597	28.2833	3709
+-118.6507	34.80	7862
+-90.6758	39.5816	8474
+-90.7503	36.418	7184
+-90.6732	37.9805	8538
+-89.876	38.9902	8819
+-117.9484	42.0626	4970
+-113.915	45.5289	4595
+-115.3986	46.4379	6184
+-85.2001	30.7793	5029
+-84.7863	38.2188	5304
+-90.6297	42.844	5004
+-113.4381	30.1723	5779
+-123.766	44.5329	6768
+-80.5414	29.4512	7270
+-119.2735	42.8944	5707
+-112.6694	32.85	6594
+-117.4925	48.7371	6345
+-94.2162	37.7891	5165
+-84.0973	26.8845	7457
+-88.6228	36.3475	8326
+-80.1543	30.2316	6316
+-108.5272	28.329	5441
+-119.1069	49.0367	6030
+-117.5561	48.2104	6896
+-118.4869	46.6631	8626
+-119.2624	49.578	5434
+-81.3066	25.7185	7394
+-91.1652	39.7352	8069
+-121.0509	45.7992	7204
+-118.6543	31.6588	7470
+-118.2622	48.7949	6406
+-78.9246	32.6407	3290
+-118.6152	43.8893	6893
+-85.3502	26.0115	5747
+-114.988	29.7726	5703
+-116.6011	34.1258	8812
+-116.6848	33.0612	9337
+-120.0346	35.7742	6028
+-87.6582	35.794	7373
+-116.5322	34.9096	8372
+-118.1155	48.209	7020
+-109.2446	30.7548	7991
+-87.6003	36.6477	8077
+-121.1274	49.0609	6592
+-117.4146	34.6275	8975
+-124.2734	45.139	7095
+-119.0406	35.3318	7203
+-87.1151	42.6958	3902
+-89.587	35.8366	7565
+-92.1819	34.5899	4539
+-120.1278	45.4573	7192
+-78.8268	29.2383	5798
+-107.1266	29.3119	5216
+-81.0231	27.5544	8614
+-116.4264	29.6777	6200
+-81.0505	29.2089	7852
+-90.2018	39.1751	8926
+-83.1289	25.6589	7255
+-90.7779	36.9182	7405
+-118.308	40.6309	3468
+-83.2885	25.2474	6757
+-127.7766	44.4119	3558
+-83.7023	26.1167	7317
+-81.8429	31.0961	6111
+-86.2896	38.6355	6829
+-112.7769	30.5138	6583
+-109.3959	29.3314	6831
+-123.7094	48.4985	7703
+-124.6761	45.949	7357
+-115.3626	29.1901	5330
+-117.9243	32.3581	8568
+-122.1977	44.7954	7099
+-118.8315	46.7297	8376
+-84.9347	28.442	6632
+-89.0286	37.3506	9355
+-91.2904	41.2231	6585
+-120.6234	45.0795	6557
+-110.6311	30.6269	8388
+-116.6312	33.2616	9131
+-117.3412	34.4022	9233
+-124.6277	42.6263	4474
+-88.5599	37.7077	9578
+-90.2303	39.6911	8397
+-113.9241	43.8208	4051
+-115.1693	32.7138	7745
+-118.8118	45.4866	8403
+-106.5616	33.1622	5043
+-120.693	47.9832	6937
+-115.9941	31.6436	8053
+-120.5973	33.5951	5858
+-79.6623	30.5914	5646
+-92.1077	39.032	7541
+-121.4291	44.4461	6400
+-85.7688	25.2104	4865
+-116.0654	44.4674	6344
+-117.678	33.0403	8921
+-112.6472	46.3428	3286
+-80.6612	27.044	8037
+-78.2478	31.37	3897
+-109.767	30.8624	8480
+-118.3038	44.1243	7168
+-122.9351	45.3513	7831
+-90.9888	43.9553	3776
+-87.9402	37.2402	8772
+-89.3767	38.8479	8334
+-113.0128	30.3521	6279
+-120.8132	33.9223	5662
+-89.0075	35.1754	7006
+-125.5761	47.6753	6565
+-111.6564	33.7337	6738
+-119.2483	48.587	6435
+-119.3838	47.3508	7496
+-115.4873	32.4972	8065
+-123.7469	44.7031	6951
+-125.512	45.5892	6362
+-90.6788	39.6919	8360
+-117.6093	44.6925	7608
+-111.407	29.0479	6490
+-91.2808	38.1923	8285
+-118.367	33.0511	8169
+-111.5184	30.8628	7971
+-90.7243	39.7317	8304
+-84.2131	27.1195	7428
+-108.5354	30.5021	7200
+-88.6584	39.8543	7217
+-116.1632	33.8071	8283
+-108.3811	29.4129	6311
+-107.9445	33.3851	6232
+-115.7008	34.469	7791
+-118.0373	32.2089	8380
+-82.5909	28.4493	8963
+-90.9807	34.7539	5709
+-117.4827	48.7409	6338
+-121.9493	45.8161	7966
+-118.4379	35.9402	7189
+-112.3181	32.8341	6932
+-121.559	48.9569	6970
+-118.5472	47.4052	7850
+-115.0544	33.385	7528
+-85.8094	31.7204	3785
+-115.7956	46.8854	6498
+-125.2769	48.2315	6648
+-116.0044	34.8778	7939
+-91.4238	38.8081	8301
+-120.1221	44.8871	6928
+-87.7867	37.8893	8687
+-122.8895	44.3253	6704
+-117.7596	31.6054	8138
+-84.2533	29.0888	7066
+-110.2006	36.5149	4128
+-87.1684	37.8001	8015
+-121.9112	47.1297	8505
+-115.8333	33.8779	7950
+-117.6472	30.7522	7328
+-88.707	36.5393	8549
+-114.4226	47.4734	4921
+-88.8425	42.1218	5429
+-114.008	29.3609	4821
+-108.9728	33.6902	6756
+-118.5905	45.111	8164
+-123.7285	46.1966	8364
+-125.7337	48.7287	5940
+-111.7854	33.6348	6750
+-79.4134	30.4344	5582
+-123.8847	45.032	7221
+-111.47	32.1326	8106
+-109.5379	34.905	5773
+-86.6329	38.6585	7174
+-87.6269	39.4952	7396
+-92.6445	40.6931	6211
+-116.3271	34.6262	8381
+-90.443	37.1719	7722
+-125.2025	46.8814	7075
+-121.5994	45.9503	7793
+-115.834	30.4435	6820
+-91.5758	40.2948	7321
+-116.95	36.0587	7409
+-117.292	30.1394	6745
+-107.7275	31.4282	6645
+-117.5895	32.3686	8897
+-90.2067	38.1885	8790
+-117.2385	31.8421	8624
+-87.263	36.2209	7474
+-91.5152	38.7468	8204
+-88.5957	40.81	6485
+-88.1746	34.8308	6564
+-82.9663	29.9417	7257
+-117.8077	46.0606	8755
+-87.6081	38.9192	7899
+-114.7527	44.0195	4920
+-121.3348	46.476	7804
+-87.1661	29.6475	3814
+-109.0716	29.9699	7254
+-109.4917	31.9975	8457
+-121.782	47.8091	8068
+-112.8551	33.3219	6155
+-93.0884	38.6858	6508
+-113.6838	31.8501	5832
+-86.8449	34.7413	5887
+-89.73	37.4615	8710
+-116.3582	44.5995	6675
+-111.9928	33.8537	6427
+-91.7099	37.186	7214
+-122.0164	45.7571	7961
+-114.9948	33.1095	7529
+-110.5962	31.6295	9184
+-112.7928	33.6043	6025
+-116.3612	48.7061	5831
+-123.9926	46.7449	8381
+-118.1197	45.0032	8086
+-93.518	35.7033	4713
+-119.8642	30.9147	5887
+-116.2955	29.5525	6036
+-83.8503	28.5802	7743
+-80.8678	30.7422	6234
+-86.3213	25.5107	4511
+-123.3232	46.2435	8686
+-110.0754	33.934	6911
+-110.1983	35.9091	4784
+-112.404	31.1158	7174
+-114.9447	30.6093	6414
+-107.7477	33.3123	6104
+-86.1926	40.9096	5167
+-114.7693	31.4084	6842
+-116.5824	33.9228	8757
+-84.1802	28.4768	7441
+-88.3004	36.8841	8793
+-85.9655	38.4389	6553
+-117.6109	32.3792	8884
+-127.5029	47.9478	4436
+-116.1545	44.1184	6180
+-111.3732	31.3678	8323
+-118.3746	30.086	6326
+-116.7247	34.5645	8782
+-83.5102	28.0254	8307
+-86.6342	28.0091	4793
+-82.0302	30.0552	7301
+-117.7249	33.3137	8742
+-115.9665	46.0211	6805
+-81.3736	27.4354	8955
+-115.9396	32.3786	8507
+-89.0305	37.2831	9293
+-87.0596	37.4972	7890
+-120.8036	43.6276	5521
+-89.1093	36.4046	8348
+-118.1353	47.996	7246
+-80.7117	27.6598	8280
+-120.0751	42.2264	4740
+-83.6254	27.7165	8203
+-121.2499	46.6893	7768
+-83.4812	27.5487	8348
+-90.0067	43.0803	4739
+-108.8263	30.773	7620
+-82.2383	26.3656	8303
+-114.7819	35.0248	6658
+-109.7072	30.2273	7855
+-116.7971	29.8493	6438
+-91.8034	37.7974	7581
+-80.3123	29.5102	7040
+-84.3361	40.9072	3653
+-90.3211	35.6016	6914
+-89.3494	36.891	8727
+-93.0927	37.486	6202
+-116.8764	33.9582	9071
+-87.9904	38.1506	8788
+-122.9738	47.8585	8623
+-113.4859	35.3243	5214
+-89.1288	35.5569	7413
+-91.7354	36.7546	6826
+-118.6073	44.7715	7812
+-125.7462	46.1773	6361
+-116.9294	38.3339	4941
+-116.4933	44.4588	6689
+-111.0403	34.0225	6722
+-124.5572	47.0836	7781
+-82.3285	31.4345	5737
+-111.9216	32.965	7193
+-78.4269	25.9403	5218
+-82.2718	29.0286	8456
+-91.0326	38.5856	8702
+-108.7156	34.3886	5965
+-89.8299	37.7056	8621
+-117.1006	34.0508	9336
+-82.6981	26.6785	8505
+-92.8204	38.3669	6765
+-87.7138	37.028	8433
+-124.3457	45.6698	7473
+-118.6357	46.8053	8426
+-118.3122	34.0576	8394
+-122.3574	48.909	7391
+-117.274	32.9184	9392
+-117.4632	29.1697	5648
+-115.6798	31.0151	7283
+-77.5149	27.9819	4662
+-118.7908	43.7846	6750
+-117.0204	33.8455	9125
+-111.6878	29.9594	7182
+-86.8687	39.5736	6795
+-120.6503	46.7072	7118
+-108.493	31.4572	7475
+-124.3793	49.7393	6154
+-80.6699	25.5221	6861
+-112.1634	33.0476	6934
+-89.4734	37.8701	8989
+-86.1106	39.4278	6237
+-117.5207	35.5025	8019
+-116.327	45.5732	7115
+-80.7708	30.8083	6122
+-89.3838	37.8126	9103
+-110.0219	32.2723	8654
+-90.2368	37.7892	8377
+-91.1962	37.3146	7646
+-116.0107	27.2548	3458
+-113.6997	48.3768	3840
+-91.6366	39.3785	7913
+-87.4762	35.2319	6723
+-112.9522	37.0734	3843
+-117.1645	33.4041	9061
+-116.7779	32.1269	8955
+-81.4989	30.3066	6931
+-122.571	45.5836	8044
+-116.5597	31.7979	8529
+-114.9246	31.2992	6915
+-111.4925	33.0383	7458
+-115.9726	34.9238	7884
+-91.407	37.7528	7884
+-114.8608	32.8755	7403
+-120.9147	44.1158	5770
+-117.8668	32.9226	8742
+-89.8224	39.4064	8494
+-109.5823	28.9092	6464
+-80.0974	31.4486	5132
+-91.5893	37.3182	7407
+-89.8809	41.1506	6781
+-116.4796	31.4643	8150
+-88.8448	40.523	6894
+-117.7808	33.1119	8787
+-115.0079	33.019	7556
+-90.364	39.359	8768
+-82.339	27.8412	9645
+-81.3785	29.4962	7757
+-117.9526	30.6834	7132
+-114.6913	31.4061	6767
+-83.9199	26.5585	7452
+-121.8888	46.9488	8495
+-123.6044	47.1256	8813
+-85.8693	36.6195	6357
+-90.2995	38.2706	8900
+-89.0993	37.4611	9376
+-118.0288	46.4652	8789
+-88.1291	39.3877	7754
+-82.2892	24.6289	6338
+-90.6927	40.0454	7989
+-111.8744	30.5477	7462
+-82.7992	28.6496	8641
+-93.6081	33.7898	3048
+-87.2524	39.0584	7506
+-113.9023	34.7742	5802
+-86.2568	41.5909	4586
+-116.36	32.2204	8804
+-117.4383	35.1279	8437
+-117.1833	31.3754	8127
+-121.4745	45.0279	6962
+-115.3367	31.707	7554
+-116.3216	33.9707	8492
+-117.2966	34.6778	8943
+-90.5452	40.1857	7867
+-88.0433	39.5935	7504
+-89.3763	35.6285	7428
+-120.8296	46.1613	7166
+-118.4102	49.3937	5770
+-119.84	47.1497	7272
+-116.0368	30.5062	6975
+-115.8547	30.2189	6601
+-81.8454	25.9264	7785
+-125.5693	45.7764	6395
+-116.593	43.2639	5764
+-117.2596	31.9796	8764
+-120.6372	46.8685	7118
+-90.1789	41.508	6444
+-119.5727	35.8569	6397
+-114.6718	34.4101	6691
+-124.0261	45.813	7835
+-92.4654	39.5432	7023
+-108.9184	30.0595	7221
+-125.8525	48.7899	5794
+-120.0175	49.8862	5099
+-109.5439	33.5134	7214
+-82.5635	28.7151	8714
+-92.7094	37.5219	6589
+-121.4853	44.2417	6233
+-80.119	27.4003	7576
+-121.9852	47.3278	8526
+-86.7029	37.2395	7450
+-77.8497	24.2807	3644
+-88.5974	34.7763	6566
+-124.5579	46.9149	7784
+-82.3685	30.1914	7136
+-119.2094	36.2791	6380
+-112.2289	28.6107	5654
+-123.6449	46.9051	8785
+-122.7184	45.3737	7845
+-92.7612	36.21	5674
+-90.733	34.5961	5723
+-118.4564	44.5813	7642
+-118.1339	46.4676	8840
+-118.2898	46.5693	8763
+-91.3909	35.8847	6151
+-94.6706	35.4206	3574
+-108.9432	30.6306	7648
+-121.0314	35.2789	5245
+-93.5008	37.0477	5596
+-121.2135	36.0856	4735
+-117.9386	46.1532	8891
+-88.8989	38.476	8894
+-110.30	31.6627	9380
+-117.0263	45.5344	7801
+-81.1214	26.0224	7611
+-117.8464	33.7784	8796
+-117.1016	32.9899	9508
+-119.4092	47.956	6962
+-123.195	45.7839	8267
+-109.7632	33.7456	7051
+-116.3523	33.027	9029
+-117.07	33.3581	9138
+-111.3163	30.0574	7507
+-114.9261	32.3578	7420
+-91.6814	38.8561	8021
+-84.0051	26.6135	7405
+-90.0978	39.3835	8675
+-116.814	34.5211	8888
+-111.4908	33.9702	6599
+-94.1129	40.1682	5124
+-118.1685	36.5751	6698
+-92.1064	38.7743	7567
+-116.4391	33.2882	8964
+-83.091	29.3409	7808
+-87.9881	41.0436	5850
+-118.0734	31.9061	8154
+-107.5049	33.1299	5981
+-110.753	30.1981	7905
+-116.717	29.4466	5984
+-87.5845	36.0718	7587
+-116.753	35.5584	7885
+-114.1822	31.6265	6375
+-121.8036	48.6217	7425
+-110.8845	33.0222	7804
+-77.5827	26.5908	4575
+-120.1174	33.0125	6197
+-89.969	36.7623	8127
+-119.473	45.9215	7986
+-116.0385	34.3212	8183
+-116.648	36.2184	7165
+-109.1512	31.3888	8176
+-90.1371	35.1299	6579
+-122.2258	47.3899	8732
+-116.7688	33.6723	8798
+-110.3817	34.4036	6417
+-117.8131	46.7029	8451
+-82.0731	28.8538	8661
+-119.0684	49.1285	5947
+-111.0268	30.959	8463
+-115.7203	31.5545	7774
+-119.8931	35.0784	6493
+-85.0062	37.2404	5567
+-82.8883	27.4762	8977
+-115.5702	33.2836	8110
+-82.9067	27.1466	8771
+-92.8491	40.1481	6369
+-83.3237	25.8247	7316
+-117.4196	45.3496	8049
+-117.3821	33.9792	9328
+-122.1995	44.9824	7294
+-81.9835	28.5191	9024
+-89.382	38.1358	8946
+-80.5889	26.948	7915
+-87.7889	38.4159	8432
+-120.58	42.4691	4710
+-114.2988	31.6274	6495
+-113.5117	32.9749	5895
+-81.5934	28.6564	8715
+-119.4615	34.3643	7130
+-115.142	38.2816	4454
+-83.5952	27.706	8237
+-86.2236	36.0267	6419
+-88.9578	42.8895	4706
+-118.596	32.3388	7859
+-114.8579	31.0407	6678
+-121.6809	46.2408	8047
+-119.3503	35.3108	6927
+-112.9711	31.8564	6600
+-84.3466	29.1398	6946
+-113.7653	46.2092	4474
+-120.3496	32.6327	5974
+-91.113	42.6116	5188
+-111.2781	32.8331	7776
+-79.5213	24.7635	5390
+-121.4753	45.9326	7672
+-92.0306	41.731	5753
+-120.6353	48.0038	6870
+-115.0954	34.6585	7101
+-122.4584	48.6415	7703
+-116.3704	32.5646	9031
+-82.7533	28.7442	8583
+-79.9864	28.5676	7300
+-108.021	36.2717	3810
+-88.1187	41.5657	5530
+-107.2612	34.9675	4521
+-81.0676	29.2047	7867
+-119.0176	36.1182	6651
+-84.2669	28.6395	7284
+-121.8096	47.6683	8182
+-109.4487	32.2251	8289
+-118.0107	35.2009	8118
+-123.1964	47.1487	9224
+-122.7914	48.0831	8374
+-109.7007	32.0111	8646
+-117.6828	34.7321	8742
+-89.8198	42.2622	5590
+-120.3563	47.7068	6483
+-90.1801	38.0093	8596
+-123.28	45.8075	8266
+-116.6948	34.9401	8459
+-90.4208	40.6661	7359
+-89.2046	43.4103	4243
+-123.4573	47.0537	8986
+-87.0745	41.2826	5333
+-119.1086	33.9362	7517
+-118.5097	44.7864	7849
+-119.8238	45.6736	7568
+-86.4286	37.4334	7178
+-81.6642	31.6382	5480
+-80.9868	28.9799	8004
+-85.8593	39.0477	6202
+-86.8199	38.1748	7557
+-90.4079	40.8097	7204
+-81.6919	28.1689	9217
+-92.555	38.1719	7002
+-116.7084	36.608	6771
+-86.5957	38.6755	7128
+-117.6465	48.7474	6377
+-118.5315	34.7207	8017
+-90.6732	36.9645	7475
+-110.8315	28.054	5612
+-110.8903	32.0873	8660
+-117.5436	33.0851	9043
+-89.3814	38.9873	8315
+-87.7061	36.2678	7845
+-93.5621	39.2969	5948
+-87.3943	38.6345	7930
+-82.2987	32.1109	4974
+-110.2532	34.4585	6357
+-118.2893	46.8469	8470
+-114.0494	32.6514	6494
+-92.6946	39.3995	6837
+-93.1049	41.5535	5213
+-87.5778	40.4709	6395
+-111.3278	32.2259	8191
+-83.5747	28.2031	8189
+-105.5417	30.7595	4206
+-90.9337	41.748	6139
+-117.8547	33.0262	8735
+-94.8555	39.4335	4548
+-83.4316	27.6906	8421
+-108.4705	29.9795	6810
+-119.1616	44.6617	7476
+-94.7755	35.9948	3836
+-118.3672	34.2139	8334
+-119.49	33.9846	7107
+-114.5161	36.9518	5242
+-106.7123	28.1641	4078
+-120.182	45.1096	6993
+-124.1123	47.9206	7911
+-122.8072	46.8139	9410
+-127.2391	48.7309	4460
+-118.0342	31.211	7602
+-90.5769	35.7698	6872
+-85.299	29.9396	5548
+-116.7389	32.9001	9482
+-90.6375	35.9023	6929
+-85.4576	25.1815	5128
+-119.8024	32.7173	6588
+-125.8672	47.3299	6322
+-89.1017	34.8688	6653
+-124.4824	45.5433	7268
+-117.8031	32.389	8705
+-85.8783	38.2605	6505
+-121.034	44.8405	6498
+-119.1359	48.4611	6602
+-113.5405	31.1127	5961
+-121.6117	48.7229	7213
+-81.6303	25.6773	7461
+-87.3279	39.6086	7102
+-114.7408	35.5731	6367
+-87.0857	38.6053	7654
+-83.6231	27.5941	8196
+-114.8561	32.2573	7318
+-117.542	29.7107	6230
+-89.4918	38.8696	8455
+-109.8128	28.154	5716
+-117.7295	31.3886	7947
+-81.2765	30.3276	6837
+-121.5362	45.9666	7748
+-84.5004	32.0737	4332
+-114.8541	31.7699	7123
+-81.0176	31.0396	5980
+-115.8524	34.828	7819
+-109.7728	30.7755	8408
+-113.2911	34.0417	5307
+-109.2274	32.9956	7530
+-109.2909	30.4869	7834
+-117.635	48.1653	6968
+-122.5349	45.9504	8420
+-82.4756	26.6822	8606
+-118.4409	33.1316	8071
+-91.3143	37.8778	8049
+-87.4882	38.6016	8037
+-91.5184	39.5186	7947
+-116.5495	45.6512	7364
+-80.5603	27.8991	8107
+-110.3169	33.2846	7630
+-119.3674	34.6202	7186
+-82.1529	26.7956	8794
+-115.7682	48.3215	5706
+-89.3709	34.6216	6331
+-114.2064	30.7196	5886
+-124.3112	45.4801	7354
+-84.714	27.9635	6964
+-118.7449	34.888	7727
+-89.4375	35.9892	7788
+-87.1511	38.8108	7593
+-116.3342	33.4763	8734
+-116.823	34.6785	8771
+-90.3815	40.2247	7835
+-82.2138	28.0634	9545
+-115.9054	34.0771	8052
+-83.4805	28.6084	8095
+-89.6575	33.7939	5355
+-117.9188	29.745	6166
+-119.3349	49.3635	5629
+-86.4115	27.5391	5045
+-85.0101	28.0239	6625
+-89.9726	35.1894	6723
+-120.5745	47.771	6903
+-118.7276	33.4392	7773
+-87.9881	38.606	8445
+-117.5986	48.5592	6557
+-85.535	27.6718	6042
+-83.2247	28.1184	8595
+-88.6728	37.0032	9064
+-92.0609	43.1559	4343
+-81.4449	25.7463	7478
+-82.8039	27.6792	9127
+-86.4128	41.4234	4838
+-121.9469	46.6053	8486
+-89.794	34.3852	5956
+-124.2923	48.6007	7248
+-114.584	35.9522	6002
+-113.1047	33.8016	5627
+-89.1279	36.738	8697
+-110.6956	34.298	6506
+-89.3962	36.7074	8528
+-119.3831	33.7359	7189
+-107.0115	32.6737	5686
+-115.9912	36.1127	6969
+-121.1907	43.8843	5734
+-110.0172	34.0416	6788
+-117.271	33.4171	9002
+-91.5052	39.3614	8047
+-120.454	45.9479	6956
+-118.3546	34.4302	8308
+-118.562	31.947	7726
+-81.4148	27.3925	8976
+-89.8859	40.8178	7132
+-91.3503	39.2956	8228
+-110.4941	33.8418	7020
+-120.1971	46.6588	7149
+-108.4982	28.9293	5978
+-84.7153	28.8837	6710
+-117.8331	31.985	8413
+-117.1789	31.5913	8366
+-88.463	36.8438	8831
+-91.9544	36.7047	6645
+-120.2027	32.8073	6024
+-121.2808	45.8167	7424
+-120.3327	48.1465	6502
+-76.5625	31.1348	2527
+-115.5948	33.5928	7995
+-88.6196	32.7656	4312
+-90.9603	40.3994	7541
+-118.0687	35.1098	8159
+-86.4378	41.5068	4773
+-111.1744	31.0511	8395
+-112.0493	32.292	7462
+-111.1812	33.1446	7549
+-120.6811	43.3106	5365
+-82.8187	28.0278	9063
+-118.3992	31.6439	7688
+-122.7107	47.2016	9275
+-92.3797	38.4389	7247
+-120.7039	32.9443	5570
+-116.6013	31.1154	7812
+-115.7375	36.6777	6300
+-110.6764	32.6264	8284
+-124.3299	49.6418	6274
+-91.0053	39.6987	8202
+-119.0933	32.9711	7374
+-113.875	32.6189	6297
+-122.1827	47.1874	8782
+-115.2088	46.5549	5969
+-119.0723	45.1847	7981
+-114.2786	30.3675	5697
+-84.1697	28.5167	7437
+-120.2932	30.5242	5247
+-122.9333	45.0161	7463
+-90.1579	35.7233	7133
+-93.389	36.4534	5347
+-116.3606	32.3343	8889
+-83.0587	27.5757	8823
+-90.1021	36.7269	7982
+-77.7975	28.557	4906
+-88.0526	36.696	8463
+-87.9463	36.9525	8595
+-121.8975	49.5706	6541
+-86.8554	38.5112	7469
+-85.6437	27.7068	5920
+-122.3334	46.4048	8730
+-91.5576	44.3866	3219
+-118.7314	48.6656	6502
+-118.0225	30.0052	6403
+-90.9964	36.6552	7072
+-89.7445	39.6562	8229
+-109.013	36.061	4416
+-88.1972	43.0802	4196
+-119.3404	35.2973	6944
+-92.4607	36.2581	5928
+-115.7094	34.7312	7718
+-88.8903	38.0913	9318
+-90.9054	38.4212	8759
+-87.589	36.1285	7641
+-91.356	37.1906	7443
+-89.7185	39.1315	8598
+-122.5828	48.6995	7671
+-113.1259	29.8896	5935
+-113.9412	34.4902	5890
+-125.1105	46.5087	7126
+-122.3692	46.9851	9023
+-127.7098	43.5562	3128
+-87.0558	40.0564	6515
+-118.532	33.1879	7815
+-91.7197	35.0345	5168
+-120.7685	42.6596	4766
+-91.2249	43.6237	4094
+-123.4684	43.9347	6217
+-89.4771	37.9634	8950
+-88.4061	37.4759	9358
+-90.4126	37.6398	8227
+-115.7468	33.1193	8351
+-84.6369	31.0765	5197
+-120.8464	32.6826	5325
+-81.4856	28.6519	8651
+-88.8127	39.328	7949
+-117.9811	44.8229	7871
+-118.4285	48.851	6343
+-118.4982	34.0955	8194
+-111.4023	32.74	7767
+-127.1129	45.2848	4623
+-119.9164	38.8579	3629
+-112.9756	33.386	6008
+-118.4411	31.9799	7862
+-79.619	26.5762	6745
+-126.3028	47.2887	5851
+-87.1453	37.1425	7903
+-118.3326	30.283	6542
+-86.681	39.0461	7008
+-79.9268	27.8469	7394
+-79.8808	27.6683	7342
+-116.9311	33.4885	9002
+-116.6715	30.1115	6718
+-119.7287	46.3395	7709
+-116.1098	36.3557	6805
+-118.6844	45.5231	8516
+-85.577	29.2433	5653
+-117.2031	33.2844	9168
+-122.7912	47.8943	8580
+-82.7507	30.5994	6612
+-122.5375	49.7611	6510
+-118.3446	31.8897	7900
+-83.9179	27.0366	7711
+-89.7464	38.2192	8531
+-116.3385	32.4665	8951
+-115.6138	34.1247	7735
+-89.6053	37.9724	8813
+-109.2522	32.6455	7832
+-119.8348	47.6651	6927
+-124.9962	42.9755	4653
+-111.0076	34.4631	6269
+-89.8748	36.7614	8209
+-115.9813	43.513	5593
+-119.1061	24.9939	707
+-120.0324	43.5743	6007
+-81.3689	25.8238	7530
+-88.151	38.0424	9005
+-119.4857	33.7609	7083
+-124.8973	45.853	7094
+-114.0209	32.5843	6457
+-88.7808	38.4517	8933
+-119.435	46.0458	8039
+-90.8259	40.8861	7073
+-119.8444	31.6084	6272
+-122.2801	43.6453	5894
+-82.4231	29.2241	8211
+-111.9264	31.1467	7684
+-79.8293	30.3621	5966
+-109.6928	32.5491	8218
+-92.3881	36.9943	6552
+-81.372	27.6932	9027
+-118.7173	33.2608	7691
+-113.9846	34.2116	5957
+-81.2987	27.5599	8920
+-117.3281	30.6631	7317
+-117.5366	32.0936	8726
+-87.3074	37.5677	8173
+-117.0009	32.9576	9591
+-120.3045	48.4877	6301
+-117.7367	36.2242	7200
+-83.0277	28.0004	8847
+-82.3779	28.9257	8552
+-118.125	49.929	5202
+-119.5789	36.9272	5582
+-117.325	46.9981	7870
+-119.3712	44.3517	7080
+-114.137	41.6953	2854
+-116.9756	35.6017	7905
+-122.0055	44.7424	6972
+-118.9105	43.7957	6731
+-117.5118	42.7175	5586
+-92.1504	43.1152	4348
+-118.4148	47.0925	8200
+-117.0382	47.8421	6993
+-114.1604	32.2062	6550
+-124.7739	44.7428	6411
+-123.6247	45.8121	8109
+-88.4775	37.2916	9284
+-88.7658	40.0192	7208
+-107.6888	30.6587	6438
+-107.2325	32.692	5906
+-86.0142	28.0413	5491
+-115.0458	44.794	5563
+-127.2428	47.5023	4799
+-111.5498	34.1047	6440
+-86.5167	38.419	7152
+-123.506	47.8372	8441
+-120.4519	46.5849	6907
+-91.9334	34.695	4745
+-118.2002	36.5553	6706
+-87.8936	38.2039	8664
+-118.6613	29.8155	5909
+-114.182	33.2291	6613
+-120.1695	46.4587	7227
+-112.9384	32.0114	6613
+-83.7072	29.8344	6953
+-82.7946	27.3602	9014
+-82.6179	30.3942	6870
+-79.9802	29.4469	6803
+-114.3854	34.1389	6395
+-122.8395	47.7911	8698
+-88.0908	38.8681	8267
+-91.7047	35.0288	5383
+-116.4488	46.9697	7110
+-82.5002	25.9259	7769
+-83.1007	26.5705	8152
+-80.2767	31.9713	4692
+-85.4132	27.8766	6180
+-87.9139	42.9498	4173
+-117.7519	32.0832	8554
+-109.2188	28.4061	5826
+-83.749	25.3385	6593
+-112.2056	32.1816	7344
+-110.3308	34.0869	6761
+-81.4008	28.7392	8515
+-112.0236	35.1744	5173
+-88.0635	38.4826	8605
+-79.6173	30.3768	5791
+-92.2238	35.455	5356
+-124.9014	47.3395	7370
+-80.064	27.3088	7495
+-107.9008	31.5708	6838
+-115.6949	33.3744	8204
+-116.8747	33.4711	9016
+-115.9152	32.3455	8468
+-111.286	29.5839	7074
+-119.8709	46.8675	7393
+-91.5774	38.5443	8118
+-117.2908	47.8196	7158
+-117.7848	36.9965	6364
+-120.4383	48.2318	6565
+-89.7753	38.5656	8740
+-124.0375	49.2823	6772
+-118.565	32.7014	7965
+-117.2785	35.2248	8347
+-120.9596	49.0488	6479
+-79.8891	29.9831	6324
+-110.3419	33.0235	7913
+-117.5969	32.7796	9049
+-117.0843	33.4557	9028
+-83.3329	25.3218	6811
+-112.4637	30.726	6985
+-87.5398	39.52	7320
+-119.1933	31.2024	6685
+-85.9867	40.6175	5264
+-121.3917	46.3313	7808
+-110.4518	33.9688	6886
+-115.576	37.6198	5311
+-122.4426	47.6758	8679
+-87.5463	34.7723	6290
+-110.9765	36.9552	3612
+-116.1116	43.9738	6042
+-91.6791	42.7519	4890
+-93.653	38.3185	5870
+-79.9459	27.9824	7406
+-116.336	31.0906	7703
+-90.1784	36.7309	7914
+-86.7391	37.9985	7509
+-89.149	34.1669	5864
+-106.4983	32.102	5281
+-119.0215	30.6877	6453
+-115.0292	32.6752	7586
+-118.1952	31.3369	7608
+-118.499	34.2342	8189
+-87.403	36.2817	7634
+-115.4357	31.6675	7618
+-111.9243	36.5873	3785
+-117.8534	32.6529	8747
+-116.3378	44.997	6892
+-119.5253	34.6362	7014
+-81.6785	26.3234	8180
+-118.34	45.9979	9137
+-117.8983	36.0401	7347
+-88.9297	39.0223	8282
+-109.0044	30.1391	7347
+-118.0334	45.1657	8236
+-86.862	37.8803	7664
+-80.9352	30.0991	6926
+-116.6933	32.5086	9294
+-89.3046	36.2221	8085
+-120.2548	46.4684	7136
+-116.962	34.5995	8930
+-117.6037	35.1648	8354
+-80.5729	26.127	7332
+-88.1941	39.662	7484
+-94.1099	35.3103	3958
+-79.6912	27.9553	7121
+-91.7537	36.1194	6227
+-91.487	40.7268	6984
+-87.4894	36.5182	7887
+-88.8308	40.3122	7050
+-85.1246	35.7037	5171
+-88.5831	36.8751	8904
+-82.622	27.047	8908
+-116.859	32.0647	8906
+-82.9332	26.1643	7866
+-116.6169	34.8844	8455
+-119.4538	46.1614	8019
+-122.4364	46.5108	8892
+-123.0796	45.8771	8393
+-111.7555	34.6015	5859
+-107.7157	34.3995	5308
+-91.2714	37.8505	8062
+-125.9004	47.1382	6304
+-107.5984	29.3841	5671
+-80.282	27.4126	7760
+-110.1532	32.3945	8573
+-115.0194	48.4412	5006
+-114.2568	32.5941	6720
+-92.8526	38.7945	6762
+-110.4161	31.9498	9066
+-115.4864	37.0475	5813
+-78.3932	27.6906	5660
+-115.1044	31.3035	7077
+-84.1979	27.6147	7550
+-122.7248	46.2041	8747
+-115.644	35.3974	7294
+-109.4949	30.3767	7882
+-84.6898	27.4749	6981
+-89.3286	37.4848	9152
+-120.8464	32.4007	5401
+-115.8335	36.1275	6859
+-120.2835	33.8471	6232
+-117.3369	47.1488	7764
+-122.3219	47.3406	8850
+-80.2713	30.0165	6588
+-111.5737	31.4952	8126
+-117.1439	31.5392	8314
+-121.7707	49.7929	6262
+-109.1401	34.0825	6473
+-120.5031	46.9926	6727
+-116.6983	32.6811	9418
+-108.8675	32.1808	7759
+-122.3709	45.903	8301
+-118.1893	43.8902	6918
+-90.5013	37.6976	8283
+-79.2448	25.1826	5508
+-87.1115	37.5888	7955
+-119.3672	31.40	6644
+-89.6134	36.8103	8464
+-118.8826	43.4123	6344
+-90.2261	40.353	7688
+-95.3623	40.0448	3879
+-117.5119	32.1793	8817
+-90.4969	37.2877	7843
+-120.3744	35.2686	5929
+-119.846	46.7696	7460
+-79.9305	26.9579	7238
+-85.9493	37.3027	6626
+-90.7965	39.6715	8336
+-87.9493	40.3614	6653
+-111.8121	34.0051	6399
+-119.2022	36.0383	6575
+-82.7161	26.9704	8776
+-113.7514	33.4772	6092
+-91.361	39.3965	8161
+-90.0237	37.4071	8374
+-91.41	35.3562	5875
+-119.2816	48.1132	6881
+-115.8097	30.0827	6442
+-117.1823	45.7265	8029
+-117.3116	37.725	5620
+-87.8063	38.2725	8540
+-115.609	30.1523	6418
+-116.7997	31.081	7808
+-111.134	31.7961	8576
+-118.2363	45.9363	9080
+-83.7715	32.5497	4172
+-124.1301	46.1249	7969
+-89.773	42.5906	5233
+-115.6924	35.1033	7521
+-119.9032	34.589	6619
+-118.2651	33.8858	8416
+-116.7499	47.6179	6975
+-123.7104	45.8139	8058
+-115.6095	33.5254	8045
+-89.7709	39.4656	8409
+-83.3292	26.9517	8255
+-77.7473	27.0922	4872
+-119.5487	32.5493	6857
+-80.131	32.6469	3924
+-91.5644	34.7909	5312
+-88.5368	38.6998	8626
+-110.3894	28.581	6220
+-125.0944	46.9682	7195
+-117.8449	33.3283	8457
+-115.9155	48.6355	5586
+-108.8128	32.7349	7407
+-108.0811	30.8151	6895
+-120.8803	45.5052	6867
+-110.8195	32.7791	8075
+-107.2185	30.9875	6038
+-81.5651	27.9614	9213
+-119.9716	44.8451	7033
+-111.0188	28.1951	5728
+-93.7598	35.3676	4273
+-110.4153	32.7152	8244
+-85.3571	28.7937	6065
+-106.9431	29.7338	5289
+-84.105	30.1949	6354
+-107.0752	30.7977	5842
+-114.0423	47.155	4632
+-121.1326	43.2358	4982
+-117.4152	45.1836	7924
+-88.1609	36.4214	8261
+-119.4483	46.7927	7825
+-109.9814	34.8577	5905
+-123.4982	44.5763	6899
+-118.6642	47.3901	7836
+-80.9695	27.0771	8362
+-90.6871	40.0416	7994
+-87.4153	35.9349	7350
+-90.5122	38.5461	9164
+-107.6592	32.9888	6200
+-118.9288	35.9996	6812
+-94.1152	41.2664	4573
+-91.7446	37.268	7255
+-121.7774	46.2549	8146
+-90.9648	36.3542	6767
+-115.7974	47.4817	6248
+-117.1308	32.5814	9433
+-88.3402	36.5502	8474
+-118.7867	34.5021	7832
+-116.4198	35.0298	8193
+-85.8724	36.1334	6139
+-83.6634	35.9269	3763
+-116.3003	34.8712	8212
+-84.1057	26.7928	7404
+-117.4281	34.8539	8732
+-123.1801	45.6954	8176
+-91.0558	34.7087	5617
+-107.4213	30.3809	6060
+-115.4709	32.7426	8082
+-88.5687	34.9682	6779
+-118.1087	29.0981	5414
+-121.078	45.7568	7203
+-121.6881	45.6805	7665
+-90.0654	39.9075	8130
+-89.1871	37.8936	9278
+-119.8561	46.0421	7594
+-121.2128	45.5703	7200
+-117.7712	35.2321	8219
+-119.6863	45.7083	7718
+-122.2764	48.9278	7345
+-117.2273	35.8773	7635
+-116.086	39.8578	3162
+-79.1932	30.8495	5073
+-122.212	44.2287	6505
+-85.0506	26.6245	6348
+-110.3707	27.4936	5042
+-123.3178	46.8158	9118
+-91.857	40.9938	6531
+-119.9442	35.6502	6181
+-89.0653	40.6153	6963
+-120.923	48.2646	7008
+-116.0341	35.1626	7786
+-115.6045	33.6568	7968
+-113.548	36.056	4971
+-110.8434	31.6708	8913
+-89.6126	39.2026	8461
+-118.4212	33.0072	8117
+-125.4771	48.158	6487
+-85.8962	35.2688	5617
+-117.3192	33.597	8950
+-116.7009	30.322	6955
+-119.1724	34.8522	7316
+-119.6452	42.2697	4955
+-87.3768	36.7116	7923
+-117.6842	47.325	7816
+-117.7514	36.4295	6978
+-86.1442	30.5387	4376
+-118.8019	32.9064	7703
+-85.08	34.3412	4242
+-89.6018	34.5053	6145
+-120.7924	44.5018	6110
+-91.3634	42.3597	5393
+-91.8654	39.0851	7787
+-121.8964	49.0422	7073
+-123.909	47.6971	8238
+-108.7489	31.6592	7755
+-88.7483	39.3084	7971
+-116.1671	35.592	7545
+-82.2973	27.1015	9117
+-88.0536	39.2987	7815
+-91.1231	36.1235	6483
+-87.1731	28.5854	4116
+-117.0816	36.0173	7473
+-123.8906	44.3303	6512
+-90.234	38.7424	9263
+-81.2901	29.1495	8060
+-79.3677	29.5999	6138
+-117.8659	33.8896	8832
+-117.9942	30.6102	7038
+-115.0951	35.0627	6961
+-82.7394	33.2709	3627
+-122.2598	46.7219	8853
+-126.0487	48.3091	5846
+-119.3842	45.6045	7982
+-80.6057	30.2089	6633
+-88.8393	41.584	5946
+-85.4672	25.7623	5491
+-117.7759	36.6299	6758
+-90.2698	35.7106	7046
+-114.8645	30.5894	6337
+-89.2458	35.0086	6784
+-88.745	41.9672	5533
+-87.8684	39.2541	7767
+-123.8874	44.9027	7093
+-117.209	49.3335	5652
+-120.7745	33.4498	5639
+-116.9207	30.1337	6760
+-117.0683	34.1549	9320
+-107.7258	32.4801	6486
+-93.4822	38.6777	6083
+-109.6484	34.3352	6401
+-118.2357	48.0443	7201
+-88.8121	35.7651	7681
+-112.5484	30.7863	6923
+-111.5936	29.4518	6791
+-119.1463	35.2406	7158
+-118.4359	33.7291	8188
+-91.6017	36.8558	6997
+-83.5596	27.7035	8277
+-83.721	29.9267	6860
+-90.5557	41.0276	6962
+-121.3615	45.7632	7460
+-117.2245	29.6921	6256
+-117.1045	36.857	6562
+-119.4353	33.6496	7114
+-125.3662	47.715	6775
+-90.4766	39.0666	9069
+-89.3662	35.6282	7431
+-91.7691	39.3596	7793
+-127.196	45.9775	4763
+-89.4387	38.3351	8751
+-124.5727	49.201	6540
+-117.4822	35.4016	8135
+-117.2813	45.6169	8082
+-90.2361	36.1023	7406
+-118.2076	38.5196	4644
+-89.6312	39.5967	8204
+-107.0325	35.0328	4301
+-115.394	30.6697	6784
+-114.9865	35.9861	6333
+-110.9986	29.5658	7172
+-81.33	26.2602	7961
+-118.7121	31.8331	7518
+-110.6789	31.7833	9041
+-85.2989	41.8379	3726
+-112.1939	32.5659	7194
+-107.8882	32.9911	6417
+-92.4211	35.6953	5467
+-117.4602	33.1386	9096
+-84.4838	41.5513	3324
+-80.9198	26.4924	7902
+-119.0603	31.9955	7244
+-115.8888	30.7618	7165
+-83.734	28.5972	7852
+-117.6609	30.7986	7373
+-113.9913	34.6433	5922
+-118.0614	31.474	7821
+-122.4953	47.6763	8709
+-81.5701	27.3544	9103
+-116.8908	34.7549	8745
+-82.779	27.4134	9060
+-117.6465	33.6183	8840
+-113.5023	31.6091	6040
+-88.9164	42.3944	5190
+-94.6885	37.5866	4618
+-109.0016	27.7971	5125
+-117.0808	30.1444	6770
+-121.3141	44.3208	6217
+-117.8278	46.7796	8394
+-109.8985	30.3723	8079
+-123.5148	47.8739	8402
+-118.2931	44.3579	7415
+-108.7062	33.1388	7035
+-108.6446	34.1166	6175
+-118.8251	36.2777	6646
+-117.3869	48.8904	6157
+-108.2393	29.3884	6187
+-117.8687	33.7406	8754
+-111.8931	33.1932	7045
+-116.7069	44.3177	6741
+-82.7915	31.4114	5702
+-115.91	33.761	8003
+-93.5483	37.7388	5843
+-88.3054	29.9165	2498
+-88.987	41.4559	6142
+-118.1926	33.4383	8275
+-121.9238	29.388	3030
+-81.0483	29.5358	7544
+-114.2493	32.2611	6659
+-89.2095	37.2947	9166
+-81.8121	27.1263	9082
+-112.9272	31.6855	6661
+-91.257	32.5773	3456
+-117.9319	32.9116	8671
+-119.5399	32.2809	6821
+-116.8847	29.6233	6190
+-118.0995	36.3575	6947
+-120.4881	44.9138	6609
+-88.6328	37.6528	9664
+-123.6746	49.4542	6744
+-124.3231	44.8032	6761
+-85.5709	26.0878	5564
+-120.626	44.3628	6172
+-83.3571	29.9526	7058
+-111.3109	34.9454	5680
+-122.9119	45.5824	8085
+-117.817	43.8146	6790
+-110.9351	33.8844	6897
+-92.9693	37.1478	6145
+-118.4833	46.3957	8883
+-108.6551	31.6565	7654
+-88.008	33.828	5424
+-111.6351	29.3929	6713
+-124.3997	45.7732	7501
+-120.42	32.4564	5880
+-91.046	38.7501	8710
+-81.9106	26.3015	8216
+-83.2799	31.6182	5346
+-81.2004	29.0811	8069
+-118.7695	44.3198	7306
+-123.9087	46.209	8220
+-117.6117	33.996	9133
+-115.4174	30.6275	6762
+-110.5614	32.3282	8629
+-114.393	45.7375	5123
+-79.0778	30.3753	5347
+-120.4154	35.0459	5962
+-122.6738	47.2508	9207
+-116.2521	30.7189	7281
+-91.3975	35.9491	6214
+-119.4163	34.9868	7015
+-91.3212	42.139	5634
+-117.2209	30.8455	7536
+-113.4687	33.7293	5721
+-111.8627	28.0369	5289
+-87.6896	37.4744	8587
+-93.1311	36.0967	5307
+-117.608	45.952	8528
+-117.7019	35.604	7865
+-90.1448	36.0198	7405
+-126.1081	45.1291	5544
+-91.3648	39.9016	7793
+-110.3344	31.3379	9208
+-81.3142	29.3142	7911
+-119.8394	35.3602	6429
+-109.1773	30.2914	7595
+-81.3811	28.8212	8427
+-118.2022	48.2385	6994
+-114.9879	34.4102	7034
+-83.8129	38.5436	4168
+-90.0638	38.3096	8838
+-121.6848	46.4158	8140
+-125.2826	48.1664	6675
+-117.1703	31.3641	8117
+-91.1748	39.6371	8143
+-84.1983	29.4685	6865
+-119.7143	34.5872	6822
+-119.4904	29.5839	5178
+-116.8688	42.4924	5157
+-90.5795	39.5732	8512
+-119.522	37.7932	4848
+-89.1823	40.7055	6951
+-118.7017	34.6061	7890
+-81.9234	26.7274	8693
+-89.3546	38.6892	8314
+-90.9003	37.5041	7970
+-116.8331	34.7946	8675
+-117.2523	32.9312	9409
+-86.3692	40.4423	5698
+-116.9223	33.0612	9476
+-87.1277	40.0932	6528
+-120.9478	43.7214	5478
+-116.6723	32.5013	9272
+-89.2647	38.8847	8210
+-119.9844	44.1136	6491
+-85.979	26.3419	5253
+-121.905	33.1842	4373
+-125.0257	46.84	7267
+-89.6359	34.8539	6511
+-117.2667	44.2001	6978
+-116.3963	35.7327	7552
+-120.7377	45.3831	6553
+-116.0327	47.816	6263
+-91.555	37.9867	7917
+-92.2293	40.7975	6453
+-120.6126	46.1457	6793
+-82.1207	26.4365	8388
+-117.7932	34.5242	8823
+-82.1084	29.7375	7662
+-118.5621	37.4951	5608
+-86.1033	36.7332	6647
+-123.9331	48.6984	7391
+-119.415	33.665	7139
+-87.907	38.5224	8453
+-117.8513	49.0757	6076
+-87.7699	34.5825	6177
+-84.4238	29.2868	6782
+-89.6001	38.9047	8564
+-119.2827	35.7777	6700
+-118.0187	44.0943	7118
+-114.6134	27.2348	2996
+-80.9079	26.4256	7837
+-86.6149	35.9434	6721
+-90.8057	37.1488	7640
+-81.5286	24.4356	6062
+-82.8063	26.7436	8507
+-93.033	42.2541	4689
+-111.5259	34.3166	6242
+-83.3349	29.4114	7588
+-109.2419	32.2312	8098
+-90.094	35.7034	7155
+-88.7697	42.0747	5441
+-123.4858	46.3965	8708
+-82.3425	25.0762	6839
+-89.9394	39.2101	8735
+-113.466	35.3023	5200
+-120.326	45.0413	6824
+-88.8216	38.4159	8971
+-91.7293	40.1193	7355
+-84.3842	27.3141	7295
+-123.0147	45.6098	8110
+-80.8531	31.7285	5182
+-80.4966	27.469	8010
+-110.6463	31.3162	9028
+-119.4955	34.2634	7102
+-122.4171	49.304	6984
+-91.4306	36.3059	6558
+-107.2408	36.1594	3490
+-107.505	30.0661	5996
+-83.9734	29.1737	7272
+-88.1776	39.3953	7764
+-124.2578	48.4514	7396
+-95.8424	39.1198	3527
+-112.0377	31.4849	7624
+-124.9739	49.6517	5879
+-116.475	32.4407	9063
+-118.4866	46.5356	8752
+-104.5342	30.8989	3147
+-122.1503	46.8498	8773
+-126.1253	49.4705	5120
+-124.5197	49.9188	5907
+-85.3645	36.5881	5809
+-106.8815	33.662	5108
+-119.5747	45.8698	7871
+-115.994	44.8286	6487
+-90.5156	37.155	7699
+-116.1866	34.426	8317
+-110.487	30.5835	8378
+-88.087	38.6541	8469
+-117.2843	31.5862	8335
+-120.2623	48.8651	6036
+-118.0603	37.6244	5633
+-119.9175	47.7146	6828
+-121.5764	49.7284	6242
+-91.1245	39.5216	8271
+-92.4659	39.7602	6930
+-91.2989	40.2892	7494
+-117.2278	34.0882	9473
+-82.4564	27.012	8964
+-118.4054	36.6188	6556
+-113.3804	34.3488	5292
+-81.6879	24.2701	5905
+-113.6692	32.7914	6075
+-88.8173	33.4455	5077
+-93.9574	36.7459	5008
+-117.1309	30.1321	6753
+-112.0112	32.3427	7478
+-92.0533	38.9821	7607
+-119.4063	31.6115	6718
+-87.4577	36.5883	7912
+-117.8325	32.9061	8782
+-87.9865	35.5199	7252
+-91.33	39.6832	7992
+-119.1145	34.1302	7522
+-118.941	49.704	5381
+-82.4097	28.0819	9418
+-90.7186	42.926	4909
+-86.7838	33.9904	5127
+-86.2416	35.9296	6375
+-111.1472	31.8736	8537
+-89.7509	36.5778	8168
+-88.8182	38.4547	8928
+-117.8364	45.28	8271
+-114.4507	34.3139	6460
+-87.0508	39.3309	7131
+-84.8751	36.8843	5360
+-117.4021	31.1449	7826
+-115.675	44.2923	5900
+-89.3175	36.0296	7877
+-120.0214	43.7645	6177
+-89.0645	35.8803	7783
+-119.9974	27.524	2950
+-83.3509	26.3406	7771
+-92.1859	40.0477	7030
+-89.4747	35.1638	6896
+-113.042	30.6197	6359
+-85.3949	28.4229	6128
+-91.918	36.4762	6468
+-121.5424	47.1809	8096
+-111.2705	35.2353	5389
+-117.4443	33.0851	9142
+-119.8766	32.9348	6405
+-120.4676	33.0766	5861
+-78.8609	25.3529	5292
+-113.3179	28.5092	4831
+-123.7053	46.1836	8372
+-118.5419	33.6613	8055
+-93.539	36.2676	5097
+-88.9172	35.1555	6992
+-114.3868	30.0282	5516
+-87.5464	42.4324	4414
+-83.3153	29.666	7361
+-118.548	33.4303	7944
+-87.9776	37.6977	8929
+-77.0301	28.618	4039
+-114.7705	29.0781	4917
+-80.9073	25.6289	7104
+-108.0661	27.3824	4301
+-118.6698	33.7132	7940
+-87.2811	37.5123	8139
+-119.4316	45.6267	7945
+-112.4531	30.1864	6723
+-121.1027	43.323	5069
+-91.3217	42.4605	5299
+-107.6324	29.5727	5825
+-124.6788	45.9765	7370
+-81.8118	30.9249	6301
+-93.362	41.6287	4960
+-87.7023	37.8708	8599
+-87.1144	34.2858	5592
+-82.8448	29.3626	7916
+-120.577	33.9944	5924
+-109.5585	32.6809	8018
+-116.4738	33.7714	8587
+-88.3534	40.7858	6326
+-117.7941	46.5383	8565
+-122.867	46.0541	8603
+-119.7586	34.6191	6768
+-85.8312	38.3347	6436
+-82.2147	27.5696	9651
+-119.1737	32.6297	7282
+-122.0615	45.8307	8055
+-118.1285	46.8281	8472
+-117.4097	35.3369	8216
+-118.9255	33.8781	7707
+-115.4402	30.341	6509
+-118.2727	47.6082	7663
+-81.3349	27.0127	8650
+-118.3612	37.1579	6029
+-116.8529	35.8022	7662
+-86.3873	38.9647	6772
+-84.3411	41.0418	3567
+-120.3916	48.6898	6263
+-81.3746	27.7575	9034
+-116.3753	30.5637	7155
+-119.1854	31.6479	6956
+-80.9367	30.7703	6234
+-112.2177	31.7231	7426
+-115.9564	47.2853	6495
+-89.9321	38.41	8815
+-80.5944	26.0122	7252
+-118.5115	34.6287	8076
+-119.2338	36.1522	6463
+-87.9386	35.781	7504
+-87.0256	38.3486	7716
+-114.0376	35.8762	5535
+-116.3988	44.9033	6896
+-118.0133	45.47	8535
+-114.0203	34.3998	5985
+-85.7343	36.0797	5974
+-120.2335	33.8512	6287
+-91.1014	37.6442	8003
+-113.1973	33.5405	5715
+-117.6948	27.012	3228
+-123.0647	46.3327	8887
+-114.447	30.3899	5851
+-119.2768	45.7538	8146
+-88.9186	38.3863	8989
+-109.4292	31.5752	8494
+-123.0678	46.0035	8532
+-89.3799	38.6826	8340
+-89.0997	39.6729	7720
+-126.9617	44.0686	4124
+-116.536	36.472	6865
+-118.8268	46.558	8508
+-114.0013	33.0138	6438
+-118.3292	45.499	8622
+-90.1588	37.7213	8289
+-88.9141	38.7214	8619
+-124.7185	48.8983	6692
+-110.3474	31.1449	8998
+-88.5779	36.9534	8988
+-85.6342	33.6967	4139
+-111.0388	32.201	8458
+-90.7423	40.0324	7989
+-119.3012	37.0755	5636
+-119.7421	46.2475	7708
+-95.0317	41.3902	3662
+-122.6285	48.2124	8205
+-115.0684	32.1174	7497
+-111.5704	31.8544	8101
+-83.159	28.3801	8540
+-119.2363	32.4995	7197
+-118.2304	31.514	7728
+-83.0423	27.6735	8859
+-121.3709	46.5813	7874
+-106.2198	26.7191	2572
+-90.8752	37.177	7648
+-89.1137	40.8758	6755
+-115.1768	29.7983	5839
+-121.3397	45.2752	7078
+-123.9638	47.8683	8074
+-117.2384	35.2175	8355
+-89.2516	39.7897	7768
+-114.9715	33.9097	7215
+-92.227	40.5962	6612
+-118.7148	30.1751	6220
+-117.4105	45.5314	8157
+-115.3268	31.422	7352
+-111.28	32.7258	7866
+-118.3033	45.1429	8247
+-90.5904	37.3395	7888
+-85.8565	26.5458	5460
+-82.1219	27.7426	9862
+-88.4828	40.9958	6253
+-117.9137	31.6113	8043
+-123.1057	45.2954	7756
+-94.2501	40.2565	4951
+-87.6687	41.0115	5863
+-125.8622	47.5855	6282
+-91.9819	41.5537	5946
+-108.52	33.9539	6240
+-89.3369	38.8657	8290
+-82.0559	25.6655	7514
+-125.8225	45.2515	5883
+-112.0296	30.8271	7461
+-118.7529	41.9667	4855
+-112.6079	30.5283	6757
+-121.0462	46.1605	7385
+-83.7001	25.1953	6486
+-115.5953	35.7723	6984
+-113.312	32.9179	5937
+-81.1818	25.8242	7445
+-111.4395	28.7002	6128
+-117.4806	32.3211	8956
+-112.9927	32.6315	6376
+-111.0315	33.1464	7619
+-116.8041	44.4426	6908
+-116.3261	37.6546	5562
+-124.6297	46.7634	7693
+-113.8359	34.6634	5751
+-117.3268	45.7162	8169
+-114.8877	32.9733	7427
+-90.0668	35.8177	7278
+-82.7909	31.7582	5316
+-114.2118	31.4025	6299
+-118.8246	32.9535	7675
+-85.4747	29.7991	5468
+-126.6818	46.5335	5424
+-82.942	27.1706	8756
+-117.2719	32.8884	9403
+-90.7278	42.0153	5885
+-86.8384	38.3907	7503
+-114.1704	31.2288	6166
+-91.2196	37.9817	8200
+-89.048	40.3828	7151
+-123.4938	45.5195	7888
+-122.5542	49.1236	7206
+-110.2452	29.0299	6705
+-121.1411	48.9164	6721
+-117.4959	35.0521	8505
+-120.2923	31.2193	5638
+-110.3169	28.1706	5776
+-112.0811	32.4935	7339
+-89.9856	40.9041	7063
+-107.0977	30.1254	5629
+-114.1705	29.6652	5054
+-81.0956	28.6812	8328
+-114.2611	32.4435	6707
+-122.1728	45.6406	7945
+-115.3102	33.2476	7844
+-89.3907	39.3613	8168
+-122.3606	44.5267	6861
+-85.2525	26.3937	6037
+-113.2977	32.5347	6100
+-111.0524	34.4687	6252
+-120.0167	47.4598	6927
+-82.0903	24.0603	5699
+-81.9081	31.0276	6194
+-119.3162	34.2875	7296
+-124.7147	48.059	7279
+-117.3919	32.0034	8729
+-108.1982	32.2677	7044
+-118.8082	29.2949	5320
+-117.028	31.4046	8176
+-113.5497	37.1144	4340
+-91.7156	40.5103	7045
+-88.9319	38.7143	8624
+-80.1557	28.717	7410
+-123.8989	48.1238	7927
+-109.3522	27.4828	4905
+-112.4705	32.7319	6845
+-89.9628	35.999	7512
+-120.0545	31.5298	6021
+-81.6406	25.6173	7398
+-115.2014	29.5372	5599
+-117.9146	45.9729	8848
+-92.0251	35.772	5759
+-106.1798	32.5748	4847
+-116.0861	33.1526	8702
+-91.3895	38.9775	8312
+-89.9489	34.8379	6374
+-120.0318	45.6203	7340
+-107.2645	31.9644	6123
+-119.8999	46.2376	7542
+-117.8211	35.555	7873
+-90.349	40.8683	7141
+-89.8153	39.344	8539
+-126.6597	47.6401	5410
+-112.387	33.4601	6459
+-81.2651	24.7007	6287
+-89.6561	40.8017	7078
+-84.9312	38.3315	5445
+-119.3677	46.092	8112
+-121.0129	48.2296	7111
+-123.5067	43.3973	5629
+-112.4595	28.1054	5057
+-120.0043	43.6817	6117
+-117.8435	45.9987	8783
+-88.7108	38.7288	8620
+-109.2572	34.3271	6280
+-89.939	39.2467	8706
+-88.904	36.9931	9044
+-116.1934	43.3542	5606
+-116.8479	30.87	7578
+-115.7983	32.6128	8430
+-116.0658	32.2557	8569
+-115.241	34.264	7324
+-91.3907	39.4351	8111
+-112.2454	32.8566	6985
+-87.2326	39.0459	7499
+-117.7674	37.5788	5740
+-115.3413	33.0442	7922
+-92.2547	41.7904	5576
+-90.0865	40.0149	8024
+-82.0666	28.1032	9504
+-80.7998	26.7639	8005
+-122.3411	32.6772	3779
+-123.5172	48.998	7274
+-84.4277	37.9856	4931
+-123.2019	49.1292	7207
+-123.953	48.8844	7203
+-108.7262	34.4282	5933
+-119.7447	44.6881	7109
+-83.6154	28.2464	8130
+-79.8985	27.712	7363
+-108.8503	30.5657	7525
+-120.8683	33.8389	5596
+-116.2251	36.1948	7018
+-120.0623	35.5447	6122
+-115.358	30.2911	6413
+-82.1428	29.1674	8308
+-115.561	35.5639	7110
+-78.3882	26.2124	5305
+-94.5639	37.8897	4824
+-116.2709	44.4429	6500
+-114.7906	35.2564	6572
+-120.0458	34.0494	6505
+-116.2593	34.6018	8326
+-118.2379	46.099	9213
+-87.7459	34.6752	6268
+-114.5272	45.8463	5273
+-117.1549	30.4972	7157
+-79.9728	29.6713	6634
+-117.2584	32.5664	9324
+-116.7677	33.2322	9239
+-123.724	48.7695	7428
+-84.3545	24.5939	5511
+-117.0368	48.7436	6165
+-117.0068	35.4763	8046
+-109.6307	30.1854	7778
+-91.6717	43.0732	4562
+-116.3255	45.6395	7131
+-118.6731	47.0763	8147
+-90.1309	37.3632	8246
+-116.2709	46.7047	7035
+-122.2141	47.3992	8715
+-86.7701	38.197	7496
+-118.3396	44.4246	7485
+-115.4873	48.9057	5065
+-119.6612	47.5893	7112
+-117.183	33.4098	9048
+-87.3693	36.2842	7609
+-91.9019	38.2326	7695
+-88.0223	37.0919	8760
+-86.0406	36.7782	6597
+-118.1459	34.5123	8493
+-117.6349	35.0417	8469
+-91.4736	40.322	7362
+-125.5375	49.0146	5938
+-90.0859	40.0541	7983
+-122.3306	43.6952	5958
+-81.6673	29.5174	7843
+-87.8712	40.3844	6602
+-125.0267	49.2039	6215
+-88.0854	37.1993	8888
+-84.0176	30.0119	6576
+-121.2247	44.0225	5885
+-89.3599	38.6964	8320
+-81.05	26.7837	8238
+-113.6358	29.3483	5153
+-115.4676	32.0737	7887
+-91.3076	38.154	8239
+-91.9855	39.2974	7599
+-123.6349	46.6198	8713
+-80.6424	27.3929	8154
+-110.3489	30.07	7834
+-126.2703	47.5571	5847
+-116.257	42.621	4997
+-84.1001	29.0557	7232
+-90.7248	37.2741	7792
+-111.7738	30.3532	7421
+-84.9169	31.532	4595
+-111.9693	31.5471	7701
+-91.7475	34.7884	5164
+-87.6907	39.9699	6961
+-118.6112	48.2163	6992
+-118.5475	32.7403	7987
+-84.6513	30.1089	6002
+-88.9483	37.3931	9447
+-115.8556	33.717	8158
+-116.6504	37.0543	6281
+-88.1136	37.6726	9082
+-111.4071	30.7353	7991
+-84.6189	28.5507	6944
+-83.0036	29.4931	7705
+-113.3091	34.3672	5213
+-125.2864	45.5084	6534
+-114.3927	32.2982	6824
+-117.8159	37.3377	5992
+-114.5449	32.1095	6939
+-88.8942	38.3105	9078
+-81.6358	29.6806	7655
+-125.2185	46.8064	7053
+-89.4794	35.6298	7393
+-110.0799	34.6905	6096
+-92.1745	40.0959	7009
+-118.2682	34.5831	8340
+-116.0214	29.9461	6382
+-92.7331	38.4361	6869
+-119.8112	43.5666	6127
+-106.8487	31.7459	5694
+-83.6568	25.2285	6543
+-90.42	39.685	8416
+-117.6375	33.8374	9020
+-89.6848	37.9902	8722
+-124.8177	46.9534	7499
+-90.6158	38.2708	8850
+-125.6453	44.452	5516
+-88.2575	39.7783	7376
+-113.7447	34.9906	5584
+-83.1126	26.4118	8001
+-80.344	25.7215	6818
+-116.0077	45.8796	6839
+-112.3603	29.9817	6675
+-119.4758	45.625	7901
+-115.504	32.7205	8118
+-118.4583	34.3968	8207
+-94.4681	37.8858	4924
+-122.8133	48.0571	8404
+-124.9651	44.61	6164
+-124.4891	43.038	4950
+-118.6917	45.3971	8400
+-117.7509	36.3161	7099
+-115.496	29.9785	6188
+-84.2959	28.047	7425
+-117.1259	46.2457	8025
+-90.1431	39.2786	8799
+-124.9909	43.4495	5111
+-115.5877	34.1068	7706
+-81.2691	24.9298	6537
+-109.2021	32.7885	7683
+-85.8569	37.1929	6506
+-89.3113	39.6882	7889
+-121.1656	47.2695	7672
+-121.7359	49.5667	6476
+-118.2667	35.2343	7915
+-119.5577	33.4459	6929
+-79.2045	24.3391	4792
+-119.34	45.8369	8107
+-82.4049	29.4106	8007
+-115.1771	33.203	7711
+-89.3384	34.6779	6400
+-92.8255	38.2729	6742
+-116.895	29.9459	6550
+-122.3455	47.3661	8855
+-89.4219	38.7688	8388
+-87.9117	39.0031	8034
+-116.5939	43.8164	6252
+-117.1009	35.283	8271
+-84.0746	38.2276	4511
+-123.0774	44.6833	7090
+-84.5568	28.767	6926
+-93.2001	37.0412	5873
+-82.768	31.1612	5985
+-120.1351	46.596	7230
+-110.1177	28.7899	6438
+-112.8068	33.1744	6287
+-88.7395	39.4951	7479
+-108.6028	29.0613	6160
+-114.0502	37.3595	4568
+-108.3712	30.763	7169
+-112.2683	32.9586	6902
+-117.3251	33.8848	9259
+-109.435	28.6149	6113
+-118.9705	47.3118	7785
+-90.6576	36.089	7051
+-91.8689	39.5181	7622
+-121.4906	49.0297	6861
+-87.3256	35.4966	6892
+-116.6041	31.8299	8580
+-121.2164	46.2298	7587
+-110.2947	32.1119	8899
+-117.1982	32.5682	9374
+-118.2816	31.5643	7727
+-118.8531	28.9171	4921
+-119.2136	44.1508	6973
+-92.6253	39.4596	6890
+-111.1511	33.2827	7430
+-119.2567	46.45	8165
+-112.7947	32.6566	6564
+-91.4116	39.3173	8159
+-115.8783	44.5093	6207
+-118.9176	41.5787	4425
+-115.7585	33.077	8374
+-116.6533	42.5285	5103
+-116.9399	47.2754	7370
+-112.2948	35.3639	4859
+-110.1873	32.902	8036
+-80.8247	28.3771	8259
+-106.8296	32.9671	5392
+-122.2829	47.6722	8576
+-79.8242	27.5343	7267
+-83.8831	25.6881	6819
+-84.7514	29.9083	6066
+-81.9991	28.934	8563
+-118.9728	47.8445	7274
+-124.0501	47.0572	8339
+-115.657	43.9075	5637
+-117.9035	33.9698	8821
+-111.1905	28.3033	5800
+-90.8875	35.4676	6386
+-117.3049	34.9617	8633
+-89.4803	36.2715	8057
+-120.9014	38.5281	3317
+-121.7104	44.9387	7023
+-119.576	44.1171	6754
+-119.0679	36.882	5953
+-127.4417	46.2508	4555
+-89.2281	40.7609	6925
+-86.3971	36.3714	6784
+-90.9811	40.5279	7403
+-83.2356	25.6198	7162
+-91.3484	38.0162	8118
+-112.3091	35.6949	4531
+-119.5699	47.7002	7086
+-91.78	35.9634	6065
+-88.4404	37.9972	9293
+-81.5718	24.7398	6410
+-90.629	34.4061	5601
+-117.8016	31.0485	7572
+-121.4822	46.254	7863
+-117.756	35.2333	8225
+-110.5468	29.8946	7629
+-113.625	33.8749	5843
+-91.6903	39.3411	7878
+-110.2917	30.9678	8805
+-117.489	30.3448	6935
+-115.7963	32.7911	8447
+-118.6944	43.4477	6418
+-82.0855	27.0502	9080
+-116.8682	44.8598	7268
+-125.0521	42.3632	4023
+-93.574	36.7794	5382
+-120.3691	33.2766	6027
+-117.9108	34.6478	8639
+-116.0302	34.0218	8184
+-105.7752	31.614	4535
+-84.9608	39.4716	5087
+-111.5891	32.7953	7583
+-119.4351	48.3047	6626
+-123.7683	48.5059	7665
+-112.5729	29.0998	5850
+-113.0742	31.5273	6503
+-113.4877	31.3666	6048
+-88.9246	41.5359	6035
+-118.8832	43.4597	6393
+-120.3593	41.8327	4235
+-90.6797	38.4766	8990
+-109.8595	32.0357	8764
+-90.4222	36.5755	7590
+-112.2187	31.9147	7400
+-122.7968	45.7711	8288
+-118.1137	36.3437	6956
+-117.7929	33.5084	8647
+-116.2249	29.0675	5490
+-115.6842	36.082	6800
+-81.8519	28.2006	9307
+-118.5568	33.1681	7780
+-108.8543	31.9261	7829
+-121.0769	46.3828	7503
+-80.5573	27.2147	8003
+-87.217	41.7179	4945
+-114.169	45.9657	4901
+-88.2029	36.3537	8212
+-123.2436	47.1846	9159
+-122.9627	45.4487	7937
+-83.1313	28.0278	8725
+-120.246	46.3082	7170
+-82.8847	29.6963	7550
+-92.2191	41.9371	5460
+-88.7153	35.521	7407
+-88.0227	40.4921	6535
+-82.2769	28.0994	9482
+-118.4698	30.9547	7084
+-118.1409	33.7271	8486
+-116.7513	35.2748	8172
+-88.9195	35.5494	7433
+-84.1268	26.1827	7012
+-109.0578	29.7463	7051
+-109.753	35.3858	5306
+-117.6565	34.4704	8976
+-115.4428	32.4077	7993
+-109.6226	31.4948	8698
+-118.1289	48.1062	7130
+-107.0283	31.4346	5889
+-82.1589	28.5431	9013
+-92.9048	36.4733	5763
+-110.5351	32.8096	8127
+-118.7167	41.0674	3911
+-117.0165	34.5078	9047
+-124.077	46.2425	8088
+-119.538	33.7155	7019
+-82.2753	26.4848	8433
+-114.935	34.6339	6937
+-117.9684	30.6889	7130
+-118.1528	35.1379	8077
+-121.3381	44.7793	6653
+-87.518	41.4468	5183
+-117.7554	32.4497	8783
+-88.6338	38.3775	9003
+-119.7856	33.1942	6605
+-78.4022	29.2094	5367
+-93.0021	37.9806	6482
+-83.4397	26.3568	7718
+-81.3794	27.9709	9009
+-115.0665	45.7408	5833
+-116.7293	31.3445	8090
+-82.635	25.5519	7323
+-122.9034	47.4198	9108
+-90.3455	36.6712	7720
+-89.0276	38.4017	8939
+-119.3007	46.325	8157
+-90.4905	38.1978	8818
+-118.458	30.9342	7074
+-108.3402	32.2136	7209
+-85.5091	37.5504	6156
+-112.1051	29.6401	6624
+-118.9932	32.4222	7450
+-90.1568	37.8476	8421
+-120.2043	47.2102	6911
+-106.9716	33.408	5329
+-120.2538	35.7273	5844
+-117.2256	46.5465	8045
+-119.2335	28.3062	4122
+-113.636	33.7893	5883
+-113.4473	31.0271	6046
+-107.4453	33.857	5491
+-86.00	38.9303	6401
+-81.7883	26.3679	8263
+-90.3757	38.1173	8742
+-88.1925	35.4066	7198
+-118.1522	32.2894	8306
+-110.8051	32.2662	8574
+-83.2811	26.9189	8278
+-88.9455	38.5219	8834
+-120.9381	47.1697	7439
+-88.034	37.8044	8978
+-79.374	31.0471	5043
+-91.4722	42.4516	5266
+-114.506	29.3735	5032
+-109.6535	32.1328	8527
+-123.3272	47.1543	9094
+-119.1437	46.6935	8154
+-91.3907	38.2791	8226
+-92.2241	37.8347	7209
+-123.2048	49.9935	6264
+-82.4068	28.1794	9332
+-122.877	47.1273	9428
+-120.6318	43.6467	5664
+-90.0541	35.0563	6549
+-119.7012	45.0535	7394
+-118.5981	32.0594	7747
+-125.055	48.5439	6672
+-116.5061	49.6919	5016
+-123.1288	46.7402	9253
+-87.8494	34.4318	6042
+-116.7973	47.4393	7142
+-121.8154	45.096	7231
+-118.421	32.5912	8111
+-118.6638	48.6228	6558
+-118.4188	49.6164	5534
+-121.9594	45.7619	7927
+-109.4298	28.19	5669
+-117.0011	36.3267	7128
+-112.0613	31.8563	7578
+-110.3864	31.8132	9218
+-90.3222	36.6405	7724
+-118.5865	45.3632	8417
+-108.5983	32.2857	7446
+-114.3995	33.4961	6791
+-84.1161	30.7972	5795
+-114.6428	34.7875	6588
+-89.2984	32.6473	4150
+-116.3351	32.233	8794
+-120.1745	33.9779	6361
+-118.2252	34.5744	8387
+-123.3949	47.8498	8494
+-88.0512	36.9581	8685
+-82.0757	26.9989	9021
+-116.6667	35.7772	7629
+-115.1487	45.6933	5913
+-118.3808	32.8323	8175
+-121.8817	47.9711	8035
+-87.8104	39.0354	7940
+-116.3114	31.1815	7788
+-112.018	32.2728	7501
+-90.0893	39.0365	8982
+-118.066	32.5727	8497
+-89.6264	37.5482	8841
+-118.5312	47.0865	8183
+-109.9199	31.9121	8901
+-89.7566	38.6842	8745
+-115.5502	34.9266	7475
+-90.8283	35.9406	6797
+-118.8395	34.7759	7685
+-116.855	44.3351	6856
+-117.5547	45.7826	8419
+-122.7582	49.2878	7051
+-87.6104	42.944	4005
+-90.4508	40.3273	7723
+-91.7971	38.3023	7826
+-89.6579	37.7601	8809
+-90.225	38.8023	9245
+-115.0752	33.3742	7553
+-116.4101	36.8231	6459
+-121.3593	48.7648	7005
+-109.8962	32.5699	8304
+-119.3183	48.2782	6706
+-109.6545	29.2292	6819
+-86.0486	37.8424	6758
+-116.9211	34.5866	8916
+-120.1342	33.9882	6406
+-118.7098	43.7733	6755
+-119.0996	36.1464	6568
+-107.2465	31.5211	6128
+-114.8699	43.7591	4877
+-119.1135	44.6785	7517
+-122.5004	44.6237	6995
+-115.8472	29.8187	6183
+-118.5181	45.4124	8491
+-107.3922	28.9718	5212
+-110.0674	30.312	8066
+-112.3638	29.7756	6528
+-117.8473	34.0161	8892
+-115.8755	32.2163	8364
+-78.5856	31.134	4359
+-107.8283	29.6244	6028
+-88.7994	35.2423	7094
+-111.3629	28.6906	6147
+-113.348	31.0758	6161
+-120.4959	45.8631	6904
+-116.4394	33.0283	9119
+-124.4623	48.6793	7059
+-117.3809	33.4891	8824
+-115.6083	32.0171	7995
+-119.0721	47.0804	7928
+-123.4608	46.1538	8521
+-121.2535	49.8529	5956
+-83.4353	27.1938	8283
+-108.9424	32.3661	7744
+-90.7543	37.3108	7822
+-120.939	49.9015	5728
+-121.1645	45.7245	7261
+-113.7426	30.0791	5436
+-117.9561	29.36	5742
+-110.5638	31.8918	9056
+-124.4305	47.7157	7734
+-87.5763	37.4057	8447
+-89.8701	35.9172	7494
+-122.7435	43.73	6046
+-118.8392	33.3416	7617
+-119.1991	48.5511	6489
+-116.0333	33.8653	8161
+-116.943	34.2279	9170
+-115.9729	33.8647	8097
+-115.0472	42.7059	4294
+-82.0482	25.8499	7722
+-124.9996	46.2013	7151
+-117.6939	33.7176	8888
+-113.717	33.8952	5934
+-107.6722	29.4598	5785
+-85.5571	35.4222	5419
+-123.871	49.6424	6479
+-116.5909	31.6852	8423
+-87.5699	38.1823	8352
+-115.696	37.5286	5457
+-89.6024	37.1292	8700
+-115.7891	47.8508	6033
+-117.3502	49.6576	5365
+-119.8341	33.0686	6506
+-125.3853	49.8447	5428
+-85.485	34.6568	4817
+-108.0622	31.6971	7010
+-123.7287	48.3985	7789
+-88.45	34.2716	5988
+-89.1974	39.1678	8069
+-114.8659	29.4243	5302
+-118.6503	31.6119	7444
+-111.8064	31.5794	7878
+-88.396	38.3048	8986
+-109.8894	29.8641	7550
+-118.8736	46.6852	8380
+-90.4736	35.1283	6382
+-83.9329	27.4895	7833
+-118.0068	33.3777	8384
+-82.8193	28.4789	8774
+-116.0654	37.8222	5306
+-122.7756	49.0453	7318
+-108.2791	31.0105	7163
+-119.1928	34.5865	7379
+-111.5442	31.267	8118
+-90.7284	35.3676	6423
+-86.1797	39.1334	6477
+-84.7254	28.6622	6790
+-121.4673	35.1933	4812
+-83.5621	32.506	4292
+-90.3621	37.9838	8598
+-92.1706	38.1959	7408
+-115.0283	32.5741	7574
+-91.6802	39.1696	7955
+-122.6671	48.1953	8232
+-86.8762	38.8078	7336
+-86.8535	42.755	3670
+-79.6883	27.5804	7118
+-120.599	43.8896	5870
+-122.1863	49.6573	6548
+-93.6356	37.6166	5712
+-117.1867	46.4136	8053
+-79.8088	28.3892	7170
+-111.3319	31.7397	8378
+-91.5382	38.9864	8154
+-117.574	34.8783	8659
+-119.928	31.5765	6172
+-116.2685	37.2171	6002
+-124.1135	47.7186	8038
+-114.7408	33.9883	6947
+-121.1858	47.8662	7479
+-90.1419	37.3342	8227
+-86.5332	38.1996	7237
+-87.9033	37.0574	8629
+-120.1983	44.2321	6427
+-126.0751	46.5442	6087
+-89.3028	35.9955	7846
+-119.4711	30.3432	5827
+-116.1606	37.515	5657
+-82.7553	31.4621	5653
+-105.1812	31.1447	3871
+-86.2596	38.6399	6796
+-82.9698	28.961	8243
+-80.415	24.759	5974
+-113.5457	32.2987	5908
+-116.7337	38.3816	4867
+-112.2009	26.4383	3543
+-120.1207	33.367	6314
+-122.5955	48.3799	8018
+-109.1567	31.352	8174
+-81.656	25.2037	6943
+-115.969	33.302	8515
+-117.4942	29.6168	6136
+-119.6291	29.7678	5238
+-84.118	27.349	7598
+-116.0033	35.3973	7589
+-116.9493	33.8411	9067
+-117.9401	34.1846	8801
+-117.4916	34.0543	9278
+-111.8386	29.613	6787
+-118.9555	43.4018	6316
+-124.1832	46.5723	8131
+-89.0709	38.0221	9289
+-89.2515	37.1241	8999
+-91.0105	39.4221	8433
+-85.2033	27.2655	6373
+-115.5547	44.4444	5880
+-117.2377	30.8101	7494
+-122.3262	46.6593	8891
+-89.4487	40.0458	7702
+-85.8895	41.2895	4621
+-110.0133	33.4528	7419
+-121.0662	46.224	7433
+-88.1664	35.4146	7200
+-83.2929	27.2542	8458
+-90.1912	38.9815	9100
+-89.8323	41.9675	5906
+-92.2122	37.4899	7030
+-123.2904	48.6903	7664
+-89.5466	38.9267	8503
+-80.6926	26.1493	7442
+-117.29	36.056	7440
+-116.277	31.6357	8228
+-126.2825	44.2782	4859
+-83.4749	27.6775	8371
+-120.8458	42.9188	4934
+-116.728	32.1072	8918
+-115.5492	32.0048	7931
+-116.5085	35.1621	8144
+-92.8495	43.336	3812
+-110.8872	32.0889	8661
+-90.103	40.4877	7527
+-122.6595	47.7162	8741
+-108.6241	32.1008	7539
+-88.3303	39.5665	7626
+-116.4915	31.3706	8055
+-90.1212	41.8137	6110
+-116.4227	34.99	8226
+-118.8842	33.9212	7758
+-119.6003	47.0546	7538
+-85.1835	29.0807	6135
+-87.5752	37.4736	8460
+-89.3049	41.0042	6731
+-120.3913	46.3028	7018
+-92.7181	39.5984	6747
+-88.3212	36.8361	8758
+-81.8609	27.6136	9539
+-88.7728	37.2859	9388
+-119.6179	33.7164	6933
+-113.876	31.4997	6006
+-123.2808	43.4569	5728
+-112.7581	34.1776	5626
+-119.7883	46.8585	7476
+-116.2353	29.6567	6135
+-121.0122	49.6053	6042
+-117.2977	35.4273	8126
+-82.0096	27.4937	9553
+-109.8343	31.7342	8909
+-122.8623	49.90	6383
+-112.7959	35.4307	4524
+-81.71	27.8098	9411
+-81.5902	29.7007	7620
+-120.6291	46.9665	7111
+-123.1461	48.2986	8118
+-109.4961	34.9902	5672
+-120.3902	47.2829	6702
+-115.7202	46.9164	6412
+-125.0675	49.0293	6319
+-115.8042	32.117	8240
+-81.9094	28.6242	8890
+-120.6424	33.8254	5840
+-88.2251	37.1429	8970
+-118.3088	33.8336	8355
+-91.0486	35.4327	6231
+-113.4555	34.9017	5297
+-88.5707	35.9455	7871
+-117.0007	31.5908	8385
+-118.3726	49.4891	5670
+-107.5763	34.266	5306
+-109.626	29.6412	7234
+-119.2653	33.9186	7345
+-116.31	46.6473	7092
+-119.9116	29.978	5191
+-111.5067	34.667	5899
+-125.9506	47.1185	6251
+-114.1324	48.8788	3970
+-113.987	33.4776	6349
+-79.4595	28.7576	6666
+-85.2314	26.9767	6275
+-120.9565	47.0827	7467
+-108.4736	34.3243	5885
+-116.7447	32.8844	9494
+-112.9381	46.3042	3595
+-92.3633	37.3084	6785
+-122.3731	31.7707	3611
+-87.8687	39.3622	7661
+-89.5481	40.6225	7214
+-119.9702	45.4239	7336
+-121.6739	46.1188	7968
+-114.5987	30.0864	5722
+-115.3042	30.7616	6805
+-93.4618	39.6812	5958
+-108.7287	30.3581	7286
+-89.198	40.2518	7362
+-121.0742	43.7492	5396
+-83.9908	38.015	4440
+-89.6982	39.5473	8291
+-86.7387	40.1369	6227
+-115.343	43.7185	5253
+-87.3581	36.8062	7963
+-119.1463	47.6436	7388
+-112.4789	31.4636	7145
+-89.3193	36.7276	8593
+-113.4565	31.4182	6085
+-109.9163	35.2781	5445
+-104.8015	33.2989	3198
+-83.4473	26.5679	7880
+-92.6989	38.9625	6918
+-120.1397	35.8973	5860
+-88.4025	35.0189	6816
+-111.7354	28.4957	5800
+-116.3687	33.0283	9045
+-81.9519	25.3679	7171
+-92.3772	38.3862	7240
+-87.4482	36.5214	7855
+-118.4702	45.339	8431
+-118.1531	33.7489	8484
+-90.3149	38.3367	8973
+-118.5773	33.3517	7873
+-93.2027	38.2292	6334
+-109.1125	31.7559	8138
+-109.801	34.842	5896
+-115.7593	33.2981	8303
+-82.9166	29.1022	8141
+-113.9296	31.8701	6205
+-116.9039	33.4257	9070
+-119.468	35.3815	6777
+-80.0437	25.9942	6792
+-79.2282	30.5737	5322
+-112.4467	33.6556	6267
+-118.6605	34.9397	7781
+-123.9207	47.3775	8397
+-125.6144	44.0929	5263
+-108.2724	32.3499	7091
+-123.3931	49.3596	6922
+-116.9761	49.8881	5016
+-117.0149	37.5161	5838
+-119.0751	37.5035	5366
+-117.3693	48.026	7003
+-116.3526	42.0176	4478
+-89.7774	39.5851	8312
+-85.1524	26.5059	6191
+-117.0771	48.7857	6142
+-84.5146	30.1977	6042
+-110.042	33.0786	7823
+-109.0153	35.0541	5451
+-109.6069	30.2187	7799
+-89.5004	37.5432	8980
+-115.2466	35.1444	7074
+-114.8014	35.796	6294
+-90.4528	39.2602	8869
+-106.2292	31.3765	5021
+-117.7627	34.0805	8994
+-90.5211	37.5367	8108
+-88.8049	38.5069	8870
+-87.382	38.5773	7954
+-108.0105	28.5171	5306
+-110.3609	31.8946	9135
+-111.2379	30.6368	8055
+-87.5777	40.4641	6402
+-85.1118	27.1911	6460
+-89.2232	41.4434	6263
+-111.5492	32.1054	8040
+-88.9266	35.4961	7373
+-86.5288	37.0096	7197
+-91.4411	36.5911	6833
+-81.9967	26.7745	8759
+-109.6836	31.1332	8617
+-114.6697	31.5741	6840
+-112.8209	33.6252	5987
+-111.8701	29.7155	6853
+-116.4837	34.5814	8554
+-81.8785	29.0779	8381
+-91.0603	37.8709	8228
+-116.0424	30.9701	7450
+-117.7299	35.1103	8358
+-123.574	46.0713	8375
+-110.0975	29.3902	7084
+-115.7596	35.6756	7186
+-92.1149	35.8846	5816
+-89.5212	37.1264	8774
+-85.4432	28.5889	6034
+-123.9535	47.3899	8359
+-86.8867	38.0937	7651
+-90.2746	41.9634	5959
+-86.4241	38.3172	7086
+-88.9067	35.5729	7460
+-109.167	30.4907	7742
+-90.7487	43.7171	4056
+-111.2452	35.1642	5470
+-123.8541	45.321	7516
+-90.7346	35.2403	6309
+-115.8339	34.2163	7972
+-83.2594	27.2881	8508
+-110.848	28.8747	6486
+-122.607	46.4184	8923
+-120.2499	35.548	5936
+-89.2103	36.8787	8801
+-122.3047	49.2234	7042
+-121.5591	47.9201	7799
+-115.8224	32.7088	8471
+-123.7995	44.8818	7112
+-123.3581	45.4814	7899
+-112.9535	31.1992	6604
+-115.3925	35.302	7129
+-87.6416	39.7189	7187
+-123.5407	44.4336	6736
+-110.6602	31.4652	9097
+-118.9449	33.5172	7588
+-122.6886	45.235	7690
+-84.7182	25.6808	6135
+-89.7023	40.2518	7647
+-107.7509	30.7249	6525
+-114.6761	35.6848	6244
+-122.5077	49.1305	7190
+-117.743	32.1572	8617
+-118.5089	35.2445	7720
+-88.1103	37.919	9026
+-120.3677	45.999	7050
+-115.3388	45.1114	5971
+-83.1024	29.0551	8068
+-89.5942	36.4874	8199
+-121.5075	46.8687	8073
+-81.8228	27.4394	9382
+-114.1506	40.3375	1965
+-117.5694	31.4108	8047
+-81.4321	24.5327	6149
+-118.8694	48.2001	6951
+-86.5104	36.2674	6835
+-88.7654	40.986	6450
+-117.5294	34.5985	8955
+-112.9451	29.7824	6036
+-108.654	33.2919	6878
+-85.5138	38.9157	5904
+-115.607	33.7451	7916
+-79.4576	25.141	5651
+-84.1177	27.3035	7587
+-108.3294	33.599	6394
+-111.8675	34.9171	5497
+-118.295	32.2163	8127
+-114.4758	34.1579	6493
+-90.8947	39.2801	8630
+-83.4252	27.8302	8429
+-114.7064	34.3581	6734
+-89.8832	37.0845	8402
+-91.6943	39.6737	7696
+-114.702	31.4425	6798
+-84.8598	30.0836	5844
+-89.6766	39.7624	8094
+-121.5953	45.9902	7816
+-124.1653	46.7591	8198
+-90.8895	40.1223	7848
+-91.1779	36.4138	6765
+-111.6998	27.7114	5025
+-88.3714	35.9391	7827
+-119.2994	43.9496	6742
+-115.9995	34.9785	7876
+-110.6034	32.0987	8843
+-83.0398	28.5241	8556
+-80.1801	24.9524	6017
+-90.4039	40.904	7103
+-90.6475	39.125	8930
+-108.1699	27.6686	4628
+-120.0724	44.8601	6955
+-110.2667	32.7101	8251
+-119.0863	48.4827	6598
+-115.9325	31.1288	7545
+-118.1529	44.9072	7990
+-116.2632	46.3431	7106
+-122.7038	45.4642	7942
+-119.8989	47.6357	6900
+-83.5079	28.6406	8050
+-115.6474	35.0048	7532
+-112.0234	31.2258	7602
+-108.7325	30.9057	7590
+-124.8057	44.7409	6387
+-119.609	45.0835	7491
+-90.6265	36.4747	7336
+-118.3893	32.1504	8001
+-113.0146	48.8885	2947
+-121.2414	44.1196	5986
+-88.3426	35.1998	7006
+-112.6555	32.5563	6746
+-81.5585	28.6739	8677
+-117.0923	31.3486	8109
+-116.4044	47.0539	7029
+-90.4446	34.7819	6070
+-113.4722	34.7429	5346
+-91.2044	39.8903	7910
+-87.8668	39.9232	7088
+-117.0583	44.6728	7269
+-91.041	39.3883	8437
+-119.5735	47.1404	7505
+-91.5019	40.2209	7433
+-116.5071	42.8169	5307
+-116.0769	36.0925	7038
+-114.3457	46.0362	5090
+-120.1984	46.9882	7025
+-111.3127	34.7506	5882
+-122.3504	46.7924	8973
+-110.4523	32.837	8109
+-90.008	36.6785	8035
+-112.9616	32.3778	6499
+-117.2794	32.0817	8862
+-83.0371	27.0808	8609
+-116.389	32.5506	9044
+-86.3085	28.5842	5079
+-80.5992	28.3405	8039
+-121.7289	47.7866	8036
+-116.7035	34.0287	8913
+-119.8472	44.0726	6549
+-118.975	35.1627	7362
+-110.68	33.2977	7578
+-79.7587	27.0996	7102
+-78.3969	25.5793	4994
+-107.3099	33.3634	5672
+-116.2338	33.0361	8900
+-118.8228	35.4062	7345
+-119.5398	43.8921	6570
+-85.5364	35.7319	5589
+-82.6274	26.3673	8214
+-107.60	30.2586	6183
+-116.9441	29.2728	5800
+-117.781	49.9289	5171
+-89.1003	40.1796	7354
+-115.6671	35.033	7536
+-117.9162	33.7689	8725
+-124.2562	46.3318	7961
+-115.6588	38.4596	4503
+-87.2693	33.5372	4885
+-119.5909	48.7624	6119
+-113.1671	30.1298	6023
+-117.5601	33.7273	8991
+-123.9672	48.2597	7764
+-91.2805	40.3818	7417
+-89.4522	36.108	7904
+-93.0869	38.1102	6430
+-114.9837	35.6806	6530
+-123.4139	48.30	8036
+-120.6772	45.3653	6608
+-117.9038	45.8686	8790
+-116.8849	32.5644	9457
+-123.2438	44.5683	6944
+-112.4239	28.154	5122
+-117.0357	35.3174	8222
+-85.958	36.6193	6451
+-82.1611	26.7149	8702
+-116.2628	39.1695	3936
+-80.9994	28.6573	8261
+-126.8315	47.1164	5284
+-122.4884	49.5462	6736
+-116.9802	33.849	9098
+-125.5182	47.1468	6723
+-90.9996	33.8958	4896
+-93.4486	35.8175	4852
+-116.4602	31.1989	7862
+-92.7097	34.905	4581
+-118.5139	29.3706	5539
+-92.0933	42.9692	4517
+-120.3297	32.4467	5979
+-120.5354	30.636	5088
+-88.2506	38.7007	8517
+-111.1692	29.4008	6941
+-123.3393	46.1996	8635
+-115.3382	44.3369	5625
+-113.0701	34.5874	5071
+-81.3647	27.8988	9010
+-89.7847	40.3018	7632
+-117.298	41.3273	4099
+-89.2546	37.3955	9189
+-84.9727	27.3331	6643
+-114.1651	38.1922	3966
+-122.7711	47.9378	8530
+-121.8688	42.9565	5057
+-119.9675	36.0159	5947
+-117.5733	36.8185	6590
+-118.1433	32.1585	8249
+-118.7086	46.9349	8268
+-119.6717	45.0572	7422
+-82.6186	27.3102	9139
+-89.3482	34.0673	5723
+-109.5027	31.0848	8424
+-84.9811	39.5926	5047
+-90.6644	40.4003	7620
+-111.3593	31.6762	8357
+-92.8447	36.743	6001
+-121.7095	43.8719	5963
+-90.7483	38.1668	8683
+-89.7258	36.6883	8278
+-82.4161	30.4681	6819
+-117.0966	37.0423	6359
+-124.7017	45.4195	6997
+-91.0623	38.4115	8607
+-122.9563	46.6232	9224
+-121.5758	48.1169	7679
+-120.3832	35.4829	5833
+-90.8827	35.6011	6496
+-116.7516	35.6619	7778
+-117.9812	37.181	6123
+-113.0201	32.1215	6505
+-125.414	47.001	6844
+-126.27	46.8181	5900
+-109.9968	31.7005	9088
+-114.7568	35.2579	6538
+-119.1271	42.5854	5433
+-113.4832	34.5604	5385
+-115.9709	31.2372	7670
+-82.0177	27.8807	9709
+-92.144	37.657	7191
+-117.748	32.318	8719
+-81.783	24.1049	5731
+-91.3762	44.242	3409
+-118.3139	46.6487	8679
+-112.6019	29.2532	5950
+-92.2621	37.669	7088
+-91.6367	36.9915	7097
+-91.899	37.0309	6954
+-118.2947	47.9689	7281
+-125.845	44.427	5334
+-118.1109	35.7336	7564
+-124.6708	46.7522	7646
+-90.7377	37.4766	8000
+-116.1034	33.2505	8675
+-117.7205	34.4645	8925
+-83.1681	27.0309	8456
+-88.7289	37.668	9773
+-115.7727	35.0304	7637
+-92.2353	38.1608	7330
+-88.4174	36.4466	8391
+-120.452	38.9618	3228
+-124.125	49.5789	6436
+-125.6391	45.2529	6057
+-119.2419	36.4426	6223
+-114.8213	36.9857	5440
+-117.8367	32.4119	8682
+-115.9642	34.6583	8006
+-93.9925	36.7251	4964
+-122.6157	45.4757	7939
+-121.7508	32.8095	4438
+-118.0138	29.8784	6274
+-114.2991	34.997	6167
+-82.4596	26.9765	8925
+-117.3756	47.5216	7474
+-90.0878	41.2601	6700
+-89.7022	38.5099	8646
+-114.6768	31.2621	6666
+-114.395	32.4325	6853
+-120.2037	33.5907	6280
+-84.8415	28.79	6617
+-119.8485	30.1204	5351
+-120.3306	47.2451	6776
+-90.6354	39.579	8490
+-85.9528	35.7423	5989
+-115.5927	34.7223	7602
+-90.7344	33.5802	4724
+-85.0519	28.7439	6410
+-116.3127	32.9058	9017
+-82.8818	27.7597	9046
+-108.7913	36.5812	3807
+-89.507	38.5613	8458
+-117.3407	47.8652	7141
+-115.918	49.2966	5049
+-116.8799	48.0656	6703
+-80.7559	31.0299	5885
+-116.0921	44.6422	6473
+-114.1418	34.9781	6007
+-82.7283	24.929	6612
+-117.5767	34.8598	8676
+-80.9518	27.3174	8462
+-115.16	45.557	5903
+-117.6416	31.0494	7643
+-116.2798	34.6022	8346
+-112.5645	32.8667	6685
+-110.836	31.5965	8929
+-119.7221	45.1392	7428
+-88.9974	34.2235	5942
+-118.5259	45.5136	8588
+-82.3039	26.1164	8016
+-85.5733	39.2933	5792
+-89.0765	37.2076	9194
+-92.6262	38.6021	7002
+-85.7135	34.1026	4548
+-123.3174	48.9227	7409
+-111.6912	30.8897	7821
+-118.8973	45.6735	8469
+-117.1032	37.5234	5836
+-90.3268	38.8358	9314
+-119.7693	46.845	7500
+-118.6468	31.8753	7605
+-120.121	36.0623	5780
+-110.371	31.3486	9216
+-108.6733	31.4015	7664
+-123.2996	47.4872	8885
+-83.6343	31.9118	4905
+-85.5617	27.2011	5961
+-107.3691	30.7595	6140
+-118.219	34.6588	8351
+-89.0748	38.2537	9070
+-93.5364	40.7882	5378
+-114.9497	46.0563	5730
+-84.2282	28.7454	7276
+-84.8722	39.921	4764
+-87.7911	39.6315	7352
+-117.228	30.1152	6726
+-87.3782	41.5175	5021
+-107.9999	32.643	6697
+-87.5863	38.872	7921
+-114.2155	32.7026	6682
+-89.7412	36.6393	8226
+-126.5798	46.2372	5485
+-90.1415	37.0464	8122
+-114.8634	31.7013	7097
+-80.5176	29.8543	6906
+-111.3593	31.4676	8355
+-105.1413	32.3814	3782
+-122.5672	47.4363	8974
+-89.587	36.2041	7933
+-113.4394	34.5228	5342
+-111.2252	29.9582	7465
+-78.3595	27.9388	5618
+-113.8377	31.7802	6076
+-83.7112	40.3989	3364
+-117.6047	44.2434	7167
+-92.1675	37.2596	6919
+-118.9698	34.3193	7669
+-118.0802	36.2882	7025
+-109.8635	28.3741	5959
+-89.164	35.6212	7477
+-124.1336	49.2578	6747
+-121.6922	45.0289	7098
+-123.0949	45.9232	8440
+-120.5117	44.8904	6575
+-89.67	38.1771	8438
+-110.5377	32.1374	8834
+-88.2615	33.7664	5401
+-123.3125	48.1228	8258
+-92.2834	37.6185	7041
+-89.2634	39.6397	7883
+-110.6673	31.0782	8817
+-118.9244	45.1811	8074
+-116.3471	33.0377	9019
+-120.4484	35.8838	5577
+-121.1636	46.6074	7658
+-110.8716	27.4234	4929
+-88.8792	38.6742	8676
+-115.2679	35.4235	6943
+-121.1076	44.8771	6582
+-80.3814	30.245	6459
+-125.1498	45.3401	6556
+-121.3172	45.662	7353
+-118.7824	48.7515	6403
+-122.297	32.238	3772
+-87.1631	39.4127	7153
+-118.0906	36.3407	6968
+-86.9531	38.222	7686
+-109.4396	31.8327	8468
+-124.7236	46.3563	7493
+-90.8392	41.0424	6905
+-109.7758	33.563	7245
+-116.3337	48.8036	5730
+-78.653	27.7133	5955
+-91.2205	37.705	7981
+-117.8045	36.2319	7175
+-94.1122	41.8283	4213
+-115.2701	35.2609	7037
+-87.1255	29.4296	3939
+-120.2557	49.9783	5203
+-93.3834	39.2415	6148
+-86.6614	37.5982	7451
+-113.2965	32.5045	6111
+-116.7626	45.4924	7526
+-113.4936	32.3712	5945
+-89.0088	40.4409	7076
+-93.359	41.1633	5295
+-119.2745	31.5573	6820
+-80.3277	26.257	7230
+-90.9425	37.645	8089
+-108.4007	30.215	6908
+-119.434	36.7944	5794
+-112.7461	32.8978	6497
+-122.0626	47.7664	8334
+-122.7512	46.2378	8789
+-126.4091	46.0951	5634
+-116.8766	33.051	9473
+-90.8668	36.4593	6901
+-118.5231	46.7524	8524
+-94.3632	36.3658	4424
+-89.0081	36.2901	8247
+-88.3074	37.0328	8937
+-86.104	44.1048	2036
+-120.7679	47.8336	7078
+-92.2746	36.6901	6410
+-119.3036	35.7847	6677
+-124.5119	41.8076	3668
+-92.3821	36.1654	5903
+-122.7814	47.8741	8601
+-120.4826	32.1682	5765
+-113.9991	32.5734	6432
+-108.2048	32.18	7079
+-123.7766	46.281	8384
+-81.6259	28.3961	8978
+-115.1899	32.7034	7767
+-122.1211	47.6568	8463
+-126.3195	49.4163	4985
+-119.0508	47.2988	7753
+-116.5896	40.9096	3478
+-121.6337	46.4598	8108
+-116.4945	31.1948	7869
+-111.5463	35.2234	5316
+-93.9992	41.0585	4800
+-84.5204	28.2603	7135
+-122.7544	42.6367	4847
+-121.6172	44.3688	6423
+-118.1395	32.7275	8441
+-115.9491	36.2734	6796
+-115.5017	33.0094	8105
+-116.1809	37.7725	5395
+-113.9988	35.3243	5744
+-116.4524	43.2742	5694
+-114.7741	43.948	4901
+-117.8032	47.2542	7937
+-120.4976	45.6027	6857
+-122.2764	45.9767	8321
+-113.8104	35.9918	5257
+-89.1152	37.0514	9022
+-116.0637	29.6013	6028
+-94.8511	38.0935	4557
+-114.5317	32.8153	7037
+-91.1728	38.4651	8520
+-116.5388	33.5337	8821
+-118.7825	32.7825	7727
+-115.817	36.8777	6152
+-87.7836	38.1288	8595
+-89.4738	38.9082	8429
+-117.6661	32.2219	8729
+-84.1623	27.5195	7580
+-90.2203	36.6873	7848
+-86.0177	30.431	4563
+-118.8137	48.0853	7084
+-111.9396	31.5594	7733
+-106.8604	30.3587	5484
+-120.7276	46.1213	7045
+-119.4254	46.9271	7767
+-115.0297	49.5293	4254
+-89.1132	37.3543	9292
+-115.1518	30.36	6346
+-83.3194	31.8362	5097
+-107.404	28.6553	4986
+-90.7254	38.5936	9019
+-82.4346	26.52	8442
+-118.4471	34.2273	8246
+-111.7115	29.4235	6698
+-115.4408	32.9115	8048
+-85.1498	35.7495	5220
+-117.348	34.8249	8778
+-124.4581	46.3481	7764
+-89.724	34.8944	6524
+-116.8428	35.8202	7641
+-110.6203	35.1834	5561
+-116.3603	46.076	7224
+-84.4795	28.1863	7196
+-117.679	47.2498	7885
+-81.1059	28.5938	8400
+-81.7295	29.3403	8054
+-84.5269	26.4524	6803
+-121.793	45.078	7201
+-108.8057	31.0396	7717
+-117.0803	32.9056	9592
+-82.7827	25.583	7315
+-116.4853	46.8893	7181
+-88.7809	38.0087	9430
+-124.2652	46.3783	7973
+-90.7529	33.6708	4807
+-110.9151	31.2843	8765
+-89.0072	36.1805	8126
+-108.6872	28.7108	5887
+-117.3328	33.4891	8831
+-89.3456	39.7134	7898
+-89.5811	37.9548	8845
+-86.2627	42.1979	4003
+-115.6101	40.6969	2876
+-123.3909	45.7793	8195
+-116.3789	35.0178	8171
+-88.2518	39.7133	7445
+-80.6059	29.2412	7490
+-83.0891	26.3283	7939
+-110.1435	28.7933	6444
+-86.9003	34.6536	5837
+-121.166	35.1449	5143
+-92.7846	40.0649	6474
+-91.8515	40.4617	6994
+-111.5773	29.65	6983
+-115.041	32.0086	7424
+-110.2672	32.3518	8638
+-110.6298	31.6429	9146
+-90.1923	36.7051	7885
+-115.5156	31.2848	7399
+-91.5772	38.7911	8137
+-87.8393	39.9711	7026
+-110.9596	31.4967	8789
+-117.9434	32.5156	8613
+-119.9346	31.4258	6097
+-87.3498	38.8016	7777
+-85.3175	36.5276	5738
+-95.9009	37.4544	3316
+-107.0931	29.3353	5201
+-82.5319	27.3237	9218
+-116.7116	48.8068	5946
+-91.3791	41.8851	5879
+-113.4041	31.4557	6144
+-118.8302	32.5156	7647
+-116.2894	30.145	6679
+-87.6235	40.0589	6838
+-108.9613	33.0731	7279
+-117.4694	46.4216	8334
+-82.5516	27.4919	9326
+-125.2961	47.9953	6741
+-114.4051	33.3721	6829
+-117.2696	31.2423	7965
+-86.9419	36.7693	7533
+-113.021	27.0894	3800
+-82.4248	30.1618	7163
+-119.3327	29.8267	5500
+-108.5584	32.3336	7386
+-115.313	34.0085	7402
+-110.1406	32.9257	8004
+-126.3944	47.7345	5676
+-121.6174	48.1246	7708
+-82.3814	28.9968	8473
+-86.0484	38.1862	6709
+-118.6039	35.0546	7766
+-117.0614	33.5126	8825
+-111.1559	32.7607	7917
+-120.9268	44.1589	5787
+-83.8568	27.1861	7835
+-119.0262	47.3995	7675
+-118.3806	32.5434	8147
+-116.5737	48.2939	6315
+-90.176	40.2604	7781
+-119.2779	42.927	5739
+-119.2464	30.0812	5781
+-79.7917	26.2334	6726
+-117.8914	34.8694	8485
+-93.7608	37.7059	5614
+-118.1234	35.3652	7901
+-91.7164	40.3582	7173
+-110.0195	29.0148	6670
+-116.9905	34.8849	8664
+-86.9262	35.9181	6966
+-112.5366	30.2214	6667
+-117.6951	33.2649	8799
+-116.1058	32.4291	8700
+-90.771	39.258	8736
+-110.3659	27.2568	4786
+-89.3659	37.6271	9141
+-124.1784	44.0884	6146
+-88.5931	41.4594	5924
+-116.3776	46.8243	7101
+-81.9445	30.7931	6462
+-81.0286	29.2221	7825
+-120.4204	34.3105	6092
+-118.645	36.2389	6793
+-118.5349	33.0712	7981
+-124.0421	44.7275	6845
+-88.2057	38.7919	8403
+-115.8201	35.1302	7622
+-122.2641	44.3149	6610
+-79.9286	27.6432	7394
+-105.8789	29.9426	4330
+-89.196	37.3101	9189
+-89.3482	37.0964	8901
+-80.8452	27.3978	8377
+-123.8601	45.0011	7203
+-112.9596	30.5391	6411
+-89.0597	36.5653	8537
+-88.8543	35.3731	7239
+-119.1317	32.9514	7333
+-121.8073	47.8739	8046
+-87.9932	39.2614	7825
+-80.0099	28.3246	7409
+-116.4812	35.5901	7733
+-117.1517	31.3739	8130
+-79.6112	28.4626	6932
+-118.2033	49.2387	5935
+-93.7317	37.2911	5488
+-116.2797	35.6514	7563
+-92.3629	35.789	5585
+-117.7149	46.8961	8225
+-120.9449	45.8338	7124
+-108.9303	32.9197	7374
+-117.4534	33.5485	8868
+-124.1281	44.876	6942
+-114.0349	29.6446	4946
+-119.1246	47.7519	7297
+-125.2776	43.0624	4584
+-116.2574	34.776	8233
+-118.2879	34.0608	8421
+-110.0528	29.9944	7725
+-115.9137	34.631	7965
+-92.8476	33.7467	3413
+-108.8622	32.0259	7809
+-116.6653	36.5435	6828
+-112.2732	30.5655	7100
+-87.1303	38.4223	7792
+-86.3719	41.0174	5191
+-120.4659	31.129	5420
+-115.9216	34.8483	7876
+-118.2097	31.2974	7563
+-111.1619	32.6579	8003
+-87.674	42.0816	4796
+-119.6767	31.3147	6297
+-92.0254	40.0636	7158
+-116.7848	32.2909	9132
+-80.0485	28.4765	7401
+-83.9118	35.4171	3809
+-125.6916	43.585	4789
+-117.8608	37.1967	6134
+-117.0331	34.8131	8754
+-89.7326	39.2136	8563
+-108.4057	34.4422	5738
+-91.3439	39.24	8262
+-88.5225	36.8749	8886
+-121.4834	44.1462	6139
+-88.7117	35.5113	7396
+-79.3993	30.2608	5706
+-92.006	37.7044	7344
+-76.4882	24.0547	2249
+-119.836	45.5609	7520
+-118.6755	44.8571	7880
+-88.5875	36.474	8462
+-88.9873	38.5999	8738
+-119.8075	46.4516	7604
+-84.4848	28.859	6959
+-111.3009	32.1473	8260
+-121.7836	48.1498	7819
+-85.7067	39.9869	5504
+-80.537	30.5371	6275
+-118.9915	45.7251	8412
+-112.5325	31.042	7020
+-118.2949	47.1208	8179
+-110.019	32.2921	8633
+-119.963	30.0435	5199
+-80.7986	29.3667	7535
+-110.1193	31.3066	9095
+-90.025	37.4522	8382
+-87.9313	38.3085	8632
+-116.4567	44.7129	6831
+-115.6706	46.3001	6485
+-122.7176	46.3066	8854
+-87.8903	35.2793	6961
+-84.5084	30.5545	5749
+-81.3487	26.0287	7735
+-88.988	37.5001	9505
+-117.2756	46.6819	8028
+-117.0568	34.4698	9105
+-117.9931	46.8469	8412
+-85.3036	39.5713	5378
+-118.0348	33.2657	8460
+-89.5282	40.571	7256
+-81.1866	25.9143	7539
+-90.2109	38.8924	9183
+-123.2912	44.9983	7401
+-86.9287	39.0849	7209
+-93.1964	38.6033	6388
+-116.9654	36.6093	6817
+-83.6165	26.3216	7550
+-110.8192	32.2511	8579
+-120.7586	48.4058	6772
+-94.8157	35.3653	3413
+-114.0659	30.7782	5798
+-116.2343	36.2132	7005
+-114.9659	35.4582	6642
+-114.0723	44.7894	4590
+-86.9953	38.5589	7588
+-115.6193	44.7669	6106
+-82.9303	25.5528	7231
+-115.478	32.9078	8089
+-85.5806	36.5153	6013
+-82.9448	25.6117	7287
+-80.2374	28.5454	7573
+-116.9248	33.6855	8923
+-117.8053	31.6671	8166
+-82.4335	24.1974	5840
+-120.4991	33.5339	5952
+-84.5592	30.198	6007
+-124.409	48.9917	6832
+-81.6616	24.3586	6000
+-110.7809	32.0587	8766
+-118.9362	42.7111	5605
+-87.7221	37.9659	8595
+-112.7945	30.9261	6714
+-88.9511	36.0185	7954
+-87.0401	36.9577	7720
+-118.8766	33.8359	7752
+-89.7135	40.1601	7742
+-118.1565	45.371	8477
+-89.4675	37.4549	8993
+-87.7987	38.7928	8148
+-87.6773	26.7109	3508
+-90.9998	37.1285	7555
+-116.3053	33.6464	8569
+-114.7396	32.7115	7266
+-81.8015	33.0434	3911
+-88.8564	40.6655	6784
+-113.9688	47.8675	4323
+-116.7419	33.1712	9285
+-91.7164	40.0071	7449
+-119.1186	45.7178	8288
+-109.7178	31.4238	8785
+-93.734	37.3884	5526
+-122.1258	47.8197	8341
+-116.7519	35.0706	8371
+-119.3213	45.8905	8139
+-123.8083	40.0956	1992
+-80.955	26.9904	8296
+-117.0153	36.5576	6879
+-120.7394	36.1726	5145
+-123.4112	48.4651	7867
+-90.2021	36.7159	7883
+-120.29	45.2561	6955
+-115.0282	49.0111	4636
+-125.0588	44.0861	5652
+-124.7556	45.4286	6958
+-116.6838	47.3238	7128
+-90.4197	41.4731	6489
+-120.6863	47.1753	7163
+-88.0164	36.4941	8253
+-118.1714	33.2377	8149
+-118.2247	33.2451	8113
+-83.4418	28.7256	8057
+-93.3084	41.5477	5062
+-116.7249	32.1658	8978
+-114.2589	35.4885	5939
+-109.2664	33.4196	7173
+-90.1867	37.1316	8112
+-112.4931	31.5407	7133
+-90.6322	38.5549	9083
+-115.1556	34.6885	7157
+-109.6978	31.8691	8719
+-90.7586	42.8914	4942
+-119.0228	35.3406	7213
+-81.8439	28.4286	9075
+-89.807	37.8134	8636
+-119.236	37.2969	5473
+-91.4736	40.786	6935
+-118.1446	38.2309	4967
+-88.5858	40.3901	6802
+-80.7736	28.4341	8179
+-87.4675	39.6898	7116
+-118.2644	30.9755	7240
+-87.364	35.4109	6834
+-115.6058	44.7342	6077
+-118.2039	30.223	6548
+-84.7055	28.1851	6944
+-126.9093	49.3114	4503
+-121.7947	46.7211	8362
+-112.2059	35.1255	5132
+-112.6516	30.5455	6722
+-117.5533	32.7103	9088
+-121.4035	32.3879	4781
+-120.2002	48.8971	5960
+-88.2302	36.0691	7924
+-119.2213	44.7103	7485
+-81.7429	27.8572	9439
+-123.0534	45.2951	7762
+-81.2177	29.1009	8062
+-89.2255	37.2025	9083
+-91.2296	40.0019	7796
+-119.1713	49.8546	5174
+-118.8292	40.5515	3356
+-118.6614	46.6107	8588
+-116.1618	36.122	7056
+-83.0472	28.4176	8623
+-118.857	44.6089	7569
+-112.8792	44.5588	3309
+-110.073	33.0145	7897
+-125.2342	45.045	6285
+-116.5224	36.1342	7209
+-118.9979	45.2551	8089
+-122.323	48.486	7821
+-89.0135	36.3396	8301
+-80.701	30.8879	6007
+-108.6756	29.0364	6181
+-91.2899	35.0172	5709
+-119.714	32.8308	6688
+-117.3264	45.8758	8220
+-118.8406	48.9363	6199
+-91.9687	38.2961	7647
+-120.5886	46.0875	6819
+-122.623	47.9127	8523
+-115.5399	30.9022	7090
+-117.9582	44.7492	7789
+-90.2582	38.7683	9288
+-109.3466	26.857	4242
+-115.9147	30.8345	7250
+-83.142	30.9841	6078
+-116.4254	31.6102	8278
+-123.8313	49.2517	6895
+-84.3321	27.324	7355
+-90.3884	39.6174	8489
+-119.8972	45.6937	7498
+-120.7724	45.0129	6384
+-118.0039	36.9132	6401
+-120.0615	45.9062	7366
+-89.5773	41.7209	6106
+-118.14	35.0327	8170
+-117.5586	46.9746	8058
+-110.1128	27.3978	4932
+-120.7071	43.1977	5256
+-87.697	37.3814	8573
+-90.3906	38.5513	9210
+-120.1553	31.3035	5816
+-119.3091	33.6626	7251
+-81.8149	24.7771	6491
+-88.6423	35.914	7843
+-81.4942	28.4891	8801
+-116.7201	45.335	7417
+-110.9718	31.5466	8781
+-88.879	37.775	9639
+-78.0312	29.5892	4814
+-80.1863	30.6909	5918
+-116.4432	44.5773	6731
+-117.6792	35.1221	8369
+-123.7521	47.2302	8626
+-89.6902	39.3892	8408
+-89.689	35.8868	7565
+-89.8816	41.2801	6644
+-115.0064	34.6767	7002
+-124.1196	45.4285	7450
+-87.9561	36.0494	7785
+-118.7016	33.7349	7913
+-81.7778	32.6403	4364
+-82.0611	24.7066	6430
+-90.9653	37.8465	8266
+-123.8094	47.6603	8350
+-114.8717	45.9159	5642
+-118.0761	34.1585	8654
+-116.4249	31.0661	7709
+-115.0122	33.1079	7549
+-118.4747	27.9655	4086
+-81.1053	27.9819	8704
+-111.0545	31.3673	8658
+-122.7431	47.7696	8707
+-79.6325	27.2373	7000
+-120.9474	43.422	5260
+-116.6933	33.2744	9158
+-115.8495	44.7856	6331
+-88.4884	38.9598	8330
+-115.6202	31.3824	7559
+-92.735	34.2926	3992
+-85.5087	26.8364	5931
+-83.8874	26.3899	7370
+-78.8524	25.9506	5650
+-123.7035	46.2926	8454
+-91.7797	36.4472	6522
+-108.2813	32.8359	6869
+-86.7175	34.6336	5707
+-92.1606	35.8525	5761
+-120.0488	32.7131	6313
+-78.0761	25.9415	4859
+-117.2694	45.1849	7814
+-88.0912	39.4161	7709
+-110.4354	32.6554	8307
+-120.8937	46.5945	7364
+-115.3153	37.396	5391
+-117.8246	31.0327	7545
+-113.6735	30.9069	5781
+-117.7329	34.5322	8868
+-119.7348	36.9991	5412
+-89.4482	38.4991	8381
+-115.8918	29.3627	5718
+-118.6588	47.6662	7555
+-115.6764	47.5352	6109
+-84.0167	29.1126	7273
+-115.4452	31.4408	7465
+-88.425	39.1165	8142
+-119.3072	47.8336	7128
+-119.671	49.5789	5294
+-83.6301	30.7492	6117
+-113.9055	31.4261	6003
+-82.7487	25.6841	7436
+-88.934	41.7333	5849
+-90.9556	36.564	6989
+-79.5375	27.4326	6931
+-124.5893	46.6158	7711
+-94.3066	37.648	5032
+-81.8854	26.4531	8380
+-119.9099	34.702	6588
+-119.865	34.7192	6632
+-117.0573	35.9081	7588
+-123.1566	46.4455	8968
+-114.1423	37.4902	4536
+-87.1485	39.941	6681
+-88.868	37.1073	9178
+-85.2074	31.8176	4139
+-117.8223	32.623	8774
+-118.7354	31.0856	6992
+-119.3782	34.3783	7219
+-117.576	35.8943	7588
+-81.6452	26.7133	8579
+-115.664	35.9888	6863
+-111.7134	34.5949	5884
+-91.5756	38.3622	8073
+-115.4709	34.1899	7578
+-83.2723	28.0209	8572
+-117.4258	44.6962	7518
+-114.6267	47.4083	5147
+-91.2578	39.6277	8089
+-116.5825	47.7228	6771
+-119.3088	46.896	7886
+-81.5392	32.3894	4619
+-89.7586	38.5182	8706
+-113.8007	35.6116	5428
+-84.4126	31.0474	5373
+-116.8668	31.8306	8647
+-90.3607	38.6399	9303
+-78.3695	27.5229	5625
+-124.7421	48.681	6842
+-108.9949	27.7289	5053
+-90.5432	41.575	6375
+-116.0172	44.3711	6242
+-118.3395	35.10	7963
+-124.2548	49.8446	6111
+-93.0569	38.5253	6533
+-118.9125	34.7149	7634
+-116.0152	46.1891	6857
+-117.5465	45.1004	7945
+-89.7454	40.9608	6944
+-111.5078	29.4396	6825
+-118.7313	32.0377	7601
+-82.5636	27.5044	9322
+-117.0285	33.6723	8972
+-88.7375	38.5874	8780
+-85.3101	37.7484	5934
+-87.4817	40.5868	6233
+-124.1755	46.6286	8157
+-118.9826	46.5834	8360
+-117.5633	31.4692	8109
+-120.5239	47.0713	6993
+-92.9793	42.0627	4888
+-115.1988	32.5259	7755
+-108.1549	32.5148	6907
+-118.1668	31.7929	7993
+-117.7116	46.7623	8334
+-83.3313	27.3094	8442
+-81.6992	26.9521	8848
+-117.4457	34.3145	9260
+-116.3264	34.3778	8478
+-114.8044	33.5384	7210
+-115.003	32.7908	7562
+-118.7818	46.3801	8655
+-111.2384	28.8976	6403
+-87.4945	38.682	7988
+-107.1305	32.1689	5946
+-82.2903	27.5078	9550
+-113.3556	34.4434	5258
+-93.024	35.2902	4733
+-88.8876	37.2494	9328
+-92.1542	37.0556	6783
+-113.9373	31.0769	5856
+-117.6959	32.6192	8910
+-119.9094	33.7357	6623
+-83.6182	27.739	8212
+-120.375	31.7904	5783
+-82.7329	26.4137	8218
+-112.3887	30.556	6984
+-89.9475	40.4677	7514
+-117.6753	30.5213	7073
+-120.5744	31.5423	5485
+-118.7994	28.264	4279
+-124.6746	49.2197	6455
+-124.3072	48.957	6928
+-116.0228	32.7898	8700
+-117.1047	34.6646	8932
+-118.8247	31.274	7059
+-120.7335	46.3694	7137
+-117.7444	46.0446	8687
+-89.2998	38.0631	9069
+-119.3462	36.1492	6379
+-112.6786	33.8167	5965
+-109.8901	33.708	7122
+-90.5751	41.6343	6309
+-113.9256	34.3888	5883
+-116.8617	33.576	8786
+-121.211	33.1331	5099
+-119.9968	33.602	6504
+-88.6688	37.9604	9467
+-111.1859	30.8762	8273
+-113.7492	35.1087	5556
+-81.7277	26.4575	8342
+-117.6077	34.9868	8535
+-118.4742	32.225	7946
+-91.4577	37.3015	7481
+-109.3179	30.9551	8180
+-114.1127	33.945	6330
+-119.0678	46.1573	8428
+-90.2395	38.0107	8613
+-123.5569	46.978	8884
+-91.046	39.3696	8446
+-116.6652	32.6783	9383
+-83.0637	30.0646	7088
+-121.2234	46.4667	7684
+-115.3186	33.2325	7857
+-118.7028	33.5206	7835
+-123.9187	49.035	7073
+-85.6543	39.3769	5828
+-119.8134	46.2218	7635
+-109.3228	28.2273	5676
+-106.7613	32.7838	5391
+-117.8478	47.4683	7740
+-80.8709	25.3026	6760
+-114.2888	33.1594	6742
+-121.349	45.7499	7440
+-117.3609	33.5531	8897
+-127.6835	48.3208	4144
+-117.2016	44.3318	7065
+-117.6447	33.8896	9047
+-117.6492	32.0076	8572
+-107.7684	26.7949	3588
+-88.8811	37.8366	9584
+-88.8191	39.6799	7463
+-86.8726	37.0837	7591
+-118.5744	45.2842	8343
+-118.1027	47.9841	7256
+-116.9041	33.2345	9281
+-114.6667	26.4974	2234
+-92.5256	36.38	5981
+-88.0128	38.2578	8739
+-90.9949	35.3563	6213
+-78.8736	28.864	6001
+-88.4764	36.3295	8280
+-116.0172	33.4585	8475
+-117.0422	31.9027	8730
+-115.29	31.2229	7173
+-91.5911	41.7955	5893
+-119.091	32.0031	7216
+-117.6405	34.0158	9110
+-119.455	45.8086	7982
+-120.406	47.0926	6779
+-92.98	42.0744	4878
+-85.6491	38.8349	6078
+-83.2191	30.2151	6862
+-83.9519	38.0463	4394
+-81.6426	31.1753	5996
+-79.4383	27.5615	6835
+-76.3248	30.2485	2746
+-125.5329	48.0872	6463
+-124.2739	48.3014	7502
+-89.4639	39.6547	8034
+-123.845	47.8693	8170
+-90.3821	40.8022	7212
+-90.1066	34.1444	5586
+-88.2454	36.7349	8617
+-89.5136	35.96	7725
+-89.1317	40.2305	7335
+-76.8592	29.4337	3634
+-91.3375	34.3365	5093
+-83.3305	26.874	8203
+-85.1106	36.7452	5583
+-117.4675	34.7944	8784
+-89.4869	41.2069	6605
+-79.3578	26.2319	6304
+-80.5537	27.122	7962
+-82.1603	28.2292	9368
+-87.643	37.8795	8531
+-122.1031	34.8874	4198
+-118.496	36.2953	6825
+-81.07	26.139	7693
+-81.1379	25.9338	7533
+-114.185	32.2514	6587
+-109.3954	30.9733	8261
+-83.3145	25.0922	6585
+-88.3835	38.0698	9190
+-115.3055	34.2817	7393
+-87.5716	35.705	7237
+-88.4024	36.3332	8264
+-82.0371	27.5092	9582
+-118.0448	45.4776	8555
+-119.2339	32.9244	7221
+-116.8048	30.7358	7425
+-117.2095	33.8523	9225
+-117.822	30.1354	6614
+-87.3579	38.7991	7786
+-115.2498	33.1375	7805
+-111.7692	31.8039	7900
+-83.0661	30.5659	6554
+-121.0344	47.2741	7529
+-91.6623	37.2193	7274
+-118.3514	45.5833	8709
+-91.1028	42.2623	5560
+-87.4702	38.8339	7856
+-122.1585	34.2635	4200
+-115.7048	33.2274	8273
+-117.4557	32.5055	9106
+-82.5619	27.8016	9406
+-118.1063	46.3341	8950
+-80.503	26.0881	7245
+-90.4709	41.6155	6334
+-86.6003	38.1952	7312
+-122.6435	45.4014	7864
+-108.7615	30.83	7585
+-119.3963	34.2682	7210
+-79.8249	25.5018	6234
+-123.9604	49.4765	6613
+-89.878	37.776	8242
+-108.9519	31.7649	7964
+-92.7548	41.7952	5264
+-89.3606	39.6273	7972
+-115.4293	43.4578	5141
+-116.2977	32.5238	8938
+-82.9384	27.2765	8826
+-83.3639	27.4352	8451
+-88.5466	36.0391	7972
+-116.9668	32.7123	9637
+-111.4149	29.7258	7145
+-83.2904	27.5168	8553
+-79.3765	29.657	6111
+-89.6622	36.142	7831
+-108.1881	34.3918	5645
+-116.7507	48.973	5812
+-118.9751	38.1916	4735
+-111.5883	30.9621	7956
+-110.4383	31.0677	8903
+-110.177	30.7412	8546
+-116.9115	35.1165	8398
+-118.827	45.9324	8658
+-118.8822	32.809	7616
+-113.8177	33.813	6069
+-82.2495	29.1955	8271
+-82.9441	32.0391	4972
+-115.4538	33.5089	7897
+-115.5021	32.728	8116
+-123.3842	47.4064	8888
+-112.3266	31.5817	7314
+-127.4874	43.3636	3198
+-80.5562	27.1732	7986
+-84.2386	24.16	5168
+-88.8522	41.3249	6195
+-117.6841	32.82	8952
+-90.3095	41.4545	6508
+-111.8485	29.2491	6458
+-89.2786	37.4849	9205
+-92.1345	37.9968	7370
+-117.2439	35.0111	8580
+-90.5859	34.7109	5920
+-122.8082	49.1296	7228
+-116.9958	46.7251	7745
+-84.3967	29.0111	6970
+-88.5906	36.888	8920
+-82.5304	28.9562	8474
+-117.7017	35.0038	8476
+-90.5236	36.2179	7259
+-119.9702	46.9735	7249
+-114.6625	34.5583	6660
+-91.9734	34.5854	4824
+-90.0847	41.182	6783
+-110.2135	31.9567	9049
+-108.485	35.259	5016
+-120.7929	43.2103	5207
+-89.465	41.974	5811
+-87.8464	38.2176	8611
+-125.1436	46.3938	7062
+-121.4014	43.7587	5716
+-125.3826	48.5573	6367
+-121.1174	30.8252	4618
+-122.2221	47.1889	8822
+-114.9659	34.8008	6925
+-107.497	35.4906	4242
+-118.7994	46.2175	8700
+-111.3399	31.2538	8326
+-123.9105	48.9711	7140
+-123.3302	47.4006	8935
+-113.4415	34.00	5605
+-80.2013	27.9571	7696
+-88.5696	36.9451	8976
+-115.3801	36.0862	6576
+-117.8428	34.1185	8909
+-109.5261	28.7945	6328
+-91.0289	41.3134	6575
+-121.0969	44.5407	6285
+-117.1214	48.3905	6540
+-117.7475	33.7548	8870
+-123.0905	48.7445	7642
+-119.1073	31.3926	6885
+-91.4566	36.9121	7130
+-120.2398	47.2234	6871
+-123.4543	45.4298	7811
+-89.9554	38.5829	8929
+-90.356	38.9291	9229
+-117.6618	30.2564	6794
+-120.7359	36.6107	4888
+-84.2361	28.3614	7420
+-117.725	32.6699	8891
+-122.1238	45.8074	8074
+-87.8382	36.7192	8327
+-90.2017	40.4955	7533
+-89.9506	39.2778	8689
+-118.215	48.6233	6587
+-124.1988	47.4193	8095
+-89.9612	38.6667	8961
+-91.4983	38.6933	8221
+-90.8897	38.9363	8843
+-119.6822	46.3238	7760
+-108.2466	30.9366	7107
+-81.3191	26.3526	8046
+-120.7667	35.6989	5355
+-85.9395	25.6251	4951
+-89.5286	37.2923	8862
+-123.0156	47.0958	9416
+-91.9811	41.2803	6199
+-121.084	46.9047	7610
+-125.2143	42.813	4382
+-122.031	44.8088	7050
+-120.191	46.4993	7196
+-123.9062	48.6952	7409
+-120.029	43.7302	6143
+-116.5784	34.668	8587
+-118.1435	44.4651	7523
+-87.4348	39.9082	6888
+-119.5398	45.715	7869
+-122.6936	46.9224	9374
+-115.4071	34.4415	7482
+-81.1691	27.2461	8653
+-81.0736	28.6996	8295
+-125.7249	47.9367	6325
+-123.3434	49.1351	7175
+-85.352	29.272	5872
+-118.2146	48.9523	6239
+-112.3816	33.5193	6420
+-119.0931	31.7623	7105
+-80.7565	28.7893	7952
+-80.4799	28.5862	7805
+-81.9065	29.6738	7720
+-110.2128	33.758	7114
+-90.571	37.3662	7919
+-87.164	35.7558	7016
+-115.3685	31.3185	7310
+-80.7788	28.0625	8324
+-90.7582	38.9391	8972
+-118.5522	34.2355	8131
+-122.8789	47.6405	8865
+-90.399	39.0188	9134
+-120.3808	47.6221	6516
+-116.4736	41.9817	4496
+-119.0917	33.9745	7540
+-89.8024	37.4435	8626
+-88.4011	38.4463	8848
+-83.6561	27.7979	8169
+-122.3216	45.4972	7871
+-115.8022	34.6605	7840
+-86.7856	39.1638	7027
+-110.4686	32.40	8577
+-88.9409	39.7696	7520
+-116.6564	31.9555	8732
+-90.0439	37.9645	8502
+-116.6253	30.8838	7564
+-82.5503	28.5254	8913
+-116.3247	35.1445	8030
+-118.6147	35.158	7691
+-117.6048	30.0996	6640
+-121.2218	45.5679	7206
+-121.6198	44.1117	6169
+-93.2663	36.0569	5172
+-111.4173	35.1975	5385
+-113.451	30.5705	5922
+-123.937	49.6821	6413
+-121.6464	33.4667	4705
+-109.9587	31.4379	9038
+-90.4518	39.7377	8357
+-82.8401	26.8089	8546
+-80.8139	27.3392	8323
+-110.7619	31.4079	8972
+-116.1781	48.2944	6040
+-77.9122	30.4088	4258
+-114.995	31.7852	7271
+-113.5512	35.6376	5165
+-79.4361	28.5375	6719
+-116.6258	32.2689	9033
+-110.399	30.354	8140
+-124.2431	43.7231	5749
+-123.0554	46.2701	8822
+-109.056	31.4923	8086
+-88.365	36.0848	7984
+-83.0189	27.8277	8888
+-89.9167	39.0767	8810
+-123.7309	47.7142	8378
+-87.5465	37.1038	8307
+-116.6593	34.1428	8875
+-114.3413	33.1481	6801
+-91.1815	38.2416	8404
+-91.9441	37.4738	7251
+-109.0233	30.448	7595
+-86.7416	42.1693	4273
+-111.6759	31.5533	8019
+-119.3372	48.3762	6604
+-109.4392	30.4924	7945
+-89.6338	39.1055	8530
+-92.6614	39.7643	6736
+-78.1036	24.8461	4262
+-91.8593	39.6243	7575
+-117.6053	34.9754	8548
+-116.7091	33.4045	9037
+-112.145	31.0712	7434
+-123.6821	44.6221	6891
+-116.359	34.8862	8252
+-81.3626	24.3213	5898
+-117.0611	31.4796	8258
+-116.3888	29.4323	5923
+-115.1809	32.5367	7737
+-117.4011	34.661	8944
+-116.7455	29.7811	6358
+-121.9147	47.5291	8360
+-115.8625	37.0076	6048
+-88.1596	38.9882	8182
+-81.8628	25.9409	7804
+-115.2568	32.5175	7817
+-116.546	42.4449	4974
+-112.3986	28.2169	5195
+-88.8766	39.1217	8176
+-81.5317	28.028	9150
+-80.6552	27.3684	8161
+-92.9685	41.8213	5097
+-89.6471	37.7461	8823
+-112.1291	32.1344	7438
+-126.5249	45.4053	5270
+-116.5755	33.9292	8752
+-119.1643	30.9049	6504
+-122.5672	44.6282	7011
+-90.0862	39.5937	8460
+-110.9021	29.1338	6749
+-124.2777	47.0593	8089
+-117.729	45.2601	8195
+-91.651	36.8709	6981
+-123.9545	46.926	8447
+-120.6716	46.7874	7150
+-111.1649	31.4701	8564
+-91.8356	36.6458	6669
+-86.1917	29.5439	4880
+-87.1279	32.7878	4038
+-120.7484	42.8053	4903
+-121.2499	44.5043	6350
+-113.8073	33.3534	6178
+-121.2306	48.2698	7279
+-81.1676	26.6307	8206
+-111.1583	28.5509	6069
+-90.0647	40.3211	7696
+-117.2362	46.6605	8003
+-89.1232	37.7661	9399
+-116.4244	35.0158	8207
+-109.8489	33.5912	7236
+-122.1257	48.8763	7342
+-123.7862	49.0132	7156
+-121.2582	48.384	7223
+-114.7023	34.2851	6736
+-111.0288	30.8897	8409
+-90.3534	35.5176	6817
+-109.883	32.0507	8770
+-82.6542	29.4441	7905
+-80.006	26.2072	6908
+-92.5211	36.795	6302
+-90.4961	40.7816	7231
+-122.8167	48.8311	7556
+-88.444	38.1034	9205
+-88.7507	35.8592	7787
+-114.6878	32.8292	7211
+-110.3739	32.0621	8953
+-87.7858	36.7412	8302
+-86.295	26.9072	5085
+-114.8459	31.4225	6922
+-125.4812	45.1405	6132
+-83.2882	28.2622	8471
+-88.7278	36.7501	8786
+-110.0121	29.0736	6732
+-116.636	36.5309	6834
+-85.7484	35.9453	5915
+-112.7167	29.7762	6233
+-123.8057	49.8864	6248
+-118.0832	37.4508	5811
+-119.6226	44.6331	7157
+-84.0147	29.4549	7033
+-117.0881	31.0827	7814
+-90.0301	36.924	8170
+-110.9443	34.8601	5862
+-126.3309	45.2542	5394
+-83.6975	38.8839	3963
+-121.5433	48.5693	7299
+-89.7377	40.1164	7795
+-107.7836	30.8868	6610
+-90.8201	40.6337	7340
+-116.5521	33.2649	9072
+-118.1184	31.5201	7819
+-127.1484	47.3272	4922
+-107.8358	31.6355	6767
+-90.9577	36.8744	7310
+-118.3588	34.6395	8225
+-116.4987	45.731	7331
+-116.6397	33.2651	9134
+-87.0878	38.6235	7646
+-117.0497	43.2655	5987
+-109.1895	29.2671	6675
+-118.6063	31.6709	7522
+-108.4407	32.7051	7090
+-126.3337	47.5955	5771
+-106.1934	30.5246	4844
+-77.9077	27.4578	5099
+-117.4761	34.4914	9085
+-91.7119	37.1017	7142
+-80.9626	26.7784	8159
+-110.9885	28.7615	6335
+-122.3698	48.1517	8180
+-115.5692	34.1649	7686
+-111.1354	27.8396	5325
+-86.1652	27.1075	5270
+-118.6675	32.7818	7855
+-80.3884	29.5048	7106
+-91.0974	36.0072	6369
+-120.732	33.8801	5748
+-86.6931	38.1927	7414
+-114.3115	36.393	5480
+-117.9562	33.4344	8467
+-124.1764	45.6861	7620
+-121.8574	48.216	7818
+-90.0234	39.8244	8203
+-107.9926	31.2196	6907
+-115.6428	34.9164	7571
+-118.9806	33.9054	7652
+-121.2893	46.0757	7584
+-81.4422	30.6728	6513
+-124.2105	49.7702	6206
+-113.8312	34.3355	5784
+-113.7347	46.7745	4390
+-118.4565	49.1949	5978
+-93.0137	39.648	6429
+-81.7651	28.2276	9225
+-114.4508	29.8994	5456
+-78.6557	28.9164	5748
+-110.1691	29.3504	7048
+-117.819	45.5507	8499
+-107.5338	29.8311	5895
+-121.053	32.8258	5168
+-81.4004	27.4374	8983
+-113.3696	32.3408	6083
+-90.938	33.2965	4338
+-118.3432	33.9371	8344
+-82.2185	30.1211	7227
+-83.4632	27.3923	8329
+-115.9583	43.0534	5202
+-88.3353	39.0954	8139
+-109.6803	34.8713	5842
+-108.5541	32.7816	7149
+-108.0246	32.8931	6598
+-116.8781	36.3281	7107
+-108.5883	30.5702	7287
+-122.5237	48.2681	8118
+-118.0252	31.9487	8226
+-121.5983	47.2196	8149
+-124.7837	48.0653	7210
+-119.1917	45.9495	8285
+-114.4555	35.7399	6006
+-81.26	25.8821	7543
+-117.958	45.8174	8804
+-111.7026	33.4687	6949
+-88.2276	36.4433	8315
+-88.2872	36.4747	8374
+-89.5733	39.1447	8453
+-119.8238	47.6505	6946
+-118.9301	32.161	7444
+-122.1483	49.0267	7197
+-115.3926	33.6777	7752
+-114.9335	33.9299	7167
+-124.3284	48.3277	7439
+-91.7238	42.7417	4886
+-115.5928	33.5799	8000
+-121.4425	47.7929	7765
+-81.1718	26.0548	7671
+-112.9396	28.6688	5237
+-119.0764	35.0723	7314
+-114.8615	36.5395	5827
+-118.8992	35.3763	7300
+-84.2589	37.9575	4745
+-114.1053	30.7272	5801
+-81.8259	25.503	7308
+-120.6793	32.7186	5508
+-117.4215	46.129	8347
+-126.2005	46.0696	5849
+-82.0342	27.2092	9252
+-81.3199	28.0762	8908
+-83.9427	27.3496	7792
+-88.4489	37.2074	9189
+-117.1738	31.9202	8727
+-117.2091	34.5337	9097
+-118.9177	32.9269	7573
+-90.5139	40.1494	7909
+-90.2652	37.4457	8013
+-109.2303	30.6328	7896
+-118.9673	32.8914	7520
+-116.1098	28.6462	5004
+-89.1086	39.9003	7574
+-87.8885	36.8736	8487
+-117.7287	34.0626	9028
+-123.5348	46.6869	8844
+-111.7195	30.0177	7208
+-114.7606	36.0284	6111
+-117.2963	34.9813	8612
+-83.0393	27.3328	8756
+-91.4329	41.9298	5815
+-123.9727	44.8392	6989
+-118.4751	31.2317	7312
+-85.7797	38.553	6318
+-117.2362	33.4016	9034
+-111.5728	32.0177	8051
+-87.902	37.1612	8691
+-82.1379	27.2164	9270
+-119.4207	48.0802	6842
+-116.7639	35.7539	7687
+-118.4992	37.1898	5943
+-90.7366	39.634	8398
+-119.8081	49.5372	5278
+-119.209	31.2225	6684
+-90.2305	39.0676	9044
+-115.1041	45.6864	5865
+-89.4204	39.8729	7830
+-125.1195	49.9084	5558
+-119.1372	46.2399	8344
+-123.7444	48.3197	7854
+-112.7485	28.6671	5371
+-83.3481	27.1701	8361
+-108.7857	30.166	7200
+-83.5633	26.7053	7878
+-114.8339	33.6204	7211
+-122.4469	47.7537	8608
+-110.9703	31.5681	8783
+-119.5906	36.73	5737
+-80.7862	27.4576	8329
+-110.7212	31.2843	8943
+-111.794	33.2371	7083
+-117.7923	30.0622	6545
+-118.455	43.2814	6270
+-89.1065	35.5792	7442
+-118.1432	47.8197	7433
+-119.609	44.5842	7128
+-107.1738	29.6225	5445
+-118.0133	33.3391	8349
+-109.9125	31.0702	8755
+-92.0219	38.0544	7506
+-123.5112	48.584	7707
+-122.3692	49.6275	6625
+-123.2601	49.3929	6911
+-79.7989	26.1836	6701
+-112.9974	32.314	6480
+-111.881	33.6208	6701
+-107.4749	32.268	6289
+-116.5129	37.2121	6080
+-81.4003	28.2598	8893
+-118.0201	30.8573	7272
+-124.5144	43.5368	5442
+-116.648	49.7105	5063
+-90.7319	39.2293	8786
+-109.2337	31.8327	8252
+-118.6341	34.6125	7957
+-110.6011	32.9743	7939
+-86.8613	35.4512	6536
+-87.6919	39.774	7159
+-117.8842	45.3611	8371
+-126.425	49.6739	4723
+-90.4636	37.8471	8447
+-89.6255	39.6472	8159
+-80.2075	26.0047	6939
+-82.4511	29.7898	7575
+-109.5494	28.5594	6089
+-83.8772	25.9796	7068
+-120.0017	45.5097	7336
+-116.6665	35.7499	7657
+-120.1864	32.2463	6106
+-80.7697	27.70	8348
+-116.5722	37.1359	6176
+-121.4788	47.6447	7876
+-118.1586	31.7539	7972
+-89.3329	36.8532	8703
+-88.8317	38.7794	8563
+-118.4007	49.7445	5399
+-80.4635	26.6993	7650
+-122.6254	47.7017	8744
+-116.3209	47.3542	6794
+-81.5846	29.6477	7676
+-114.9583	30.3238	6182
+-82.6624	26.5268	8367
+-81.3055	24.6482	6242
+-118.2039	32.5411	8339
+-81.8733	24.5722	6266
+-116.9745	34.3664	9130
+-116.624	29.0283	5510
+-112.3077	32.4242	7148
+-107.789	30.8341	6600
+-117.6264	35.0926	8420
+-93.3246	37.0909	5785
+-110.1451	30.2586	8024
+-114.1243	29.8981	5209
+-87.6123	40.2317	6657
+-114.4669	48.2539	4619
+-90.1202	37.814	8376
+-89.7778	38.6773	8767
+-115.0257	32.9519	7583
+-119.4554	46.2765	8005
+-117.5894	35.0546	8473
+-123.5996	44.9266	7237
+-116.8591	35.1105	8383
+-90.7459	39.9696	8053
+-123.7227	47.4992	8529
+-118.3308	31.7736	7837
+-89.9912	36.7496	8098
+-91.7184	37.2005	7220
+-116.9157	43.5994	6242
+-121.0728	45.945	7306
+-123.1028	43.3771	5656
+-118.1863	45.246	8350
+-109.3197	30.0562	7488
+-83.8619	38.4909	4232
+-115.7929	45.3525	6507
+-115.0362	35.118	6878
+-88.6058	35.4452	7316
+-110.1209	31.6457	9234
+-89.0272	35.5928	7470
+-123.4327	46.1524	8537
+-115.6976	32.9266	8332
+-117.7093	31.6873	8245
+-116.8277	45.0144	7337
+-79.8208	29.8818	6347
+-117.265	44.16	6940
+-90.7661	46.2687	1310
+-112.8192	31.5104	6779
+-122.4455	48.8847	7441
+-115.6999	46.8437	6413
+-87.5887	36.1656	7674
+-120.4217	34.4992	6073
+-122.4175	45.6904	8107
+-118.5927	46.2656	8889
+-118.6447	33.2902	7776
+-118.085	35.4626	7835
+-120.586	32.4096	5690
+-121.7369	47.7802	8047
+-87.9314	38.2296	8684
+-88.412	36.7278	8689
+-117.982	34.6083	8601
+-122.5261	30.2312	2914
+-81.2771	27.0305	8615
+-118.3329	45.989	9132
+-87.1874	38.8414	7605
+-108.0445	30.9934	6913
+-107.3894	32.5565	6114
+-92.0353	37.9937	7466
+-78.3501	28.5594	5519
+-91.9143	37.3875	7215
+-121.4543	47.2455	7989
+-78.8542	29.9078	5462
+-117.7984	33.9039	8906
+-124.4724	44.673	6551
+-127.6762	44.5641	3732
+-118.111	45.7013	8801
+-117.981	30.3624	6791
+-93.1599	37.8063	6263
+-84.5289	27.4536	7159
+-92.0329	37.7478	7344
+-90.9173	42.7774	5045
+-118.9449	33.4193	7548
+-120.3756	37.5596	4491
+-88.1986	40.9243	6102
+-119.4897	48.1494	6742
+-89.4204	38.3846	8725
+-110.9931	33.567	7208
+-90.6899	39.5459	8505
+-88.8534	35.3012	7159
+-82.2973	25.9235	7799
+-113.7141	31.1736	5784
+-124.5584	46.3463	7661
+-90.6088	39.8377	8227
+-119.4688	45.4584	7833
+-118.8562	47.0444	8091
+-91.0836	39.9231	7952
+-84.5935	39.7309	4589
+-87.7355	36.3042	7898
+-115.0533	35.5432	6675
+-119.8474	46.5544	7536
+-86.4731	38.4735	7086
+-91.8061	39.7926	7523
+-115.9709	47.4664	6416
+-87.2314	37.5899	8090
+-86.9349	36.7065	7494
+-112.6054	30.5517	6770
+-114.1943	33.2065	6630
+-122.5774	49.8318	6438
+-119.5673	32.1623	6762
+-89.8104	38.4281	8716
+-124.6195	47.2673	7688
+-89.2524	37.813	9245
+-118.3893	33.2118	7954
+-82.4585	28.9012	8557
+-81.7672	30.6542	6599
+-114.8734	44.48	5262
+-117.4017	35.781	7734
+-80.5518	24.6089	5897
+-88.8142	40.5983	6811
+-123.9434	41.4346	3421
+-89.7326	35.3613	7010
+-122.8561	41.8322	3965
+-116.3696	47.2723	6884
+-117.7709	34.4199	8905
+-120.6558	35.0206	5716
+-80.9553	29.085	7892
+-123.2907	47.1057	9151
+-88.2652	36.6601	8553
+-115.062	29.3987	5389
+-117.9834	31.1756	7600
+-115.8818	30.2039	6597
+-115.0551	37.1495	5458
+-123.993	49.3075	6768
+-86.3389	34.8861	5672
+-121.8203	46.8479	8413
+-120.9065	43.425	5293
+-90.5607	37.4438	8004
+-90.2336	41.6278	6318
+-112.656	31.4784	6954
+-81.5577	29.4464	7883
+-81.3344	26.4479	8148
+-90.5188	38.9532	9161
+-120.4274	48.597	6352
+-119.1864	45.3295	8003
+-87.8407	38.885	8097
+-90.4531	41.4471	6516
+-88.1149	35.826	7624
+-112.9717	32.1272	6555
+-120.3706	47.2435	6740
+-83.9539	27.3144	7770
+-121.5717	47.4718	8045
+-89.4823	36.6119	8385
+-91.0022	38.2681	8579
+-121.178	47.3679	7664
+-81.6401	27.5375	9277
+-114.7823	35.857	6240
+-89.3445	36.7767	8625
+-116.6657	32.3223	9107
+-118.5492	34.6487	8030
+-123.1222	47.391	9080
+-80.7882	26.7965	8016
+-121.2169	47.0702	7754
+-118.8362	35.4895	7275
+-122.7789	48.337	8095
+-113.3646	35.1263	5146
+-90.1771	35.9232	7298
+-90.5152	38.6856	9266
+-118.0339	28.974	5305
+-79.0335	25.8801	5787
+-111.6533	32.4362	7771
+-118.9149	47.1389	7973
+-122.4112	46.4732	8843
+-82.9989	24.5103	6081
+-88.4978	39.6491	7569
+-107.8682	32.2292	6713
+-89.4008	35.1785	6933
+-118.1275	32.4584	8398
+-89.4429	38.131	8894
+-91.2671	38.8475	8466
+-110.3031	32.4279	8558
+-89.115	37.4996	9382
+-83.8952	27.5543	7885
+-118.6986	46.5552	8608
+-92.6592	37.7754	6756
+-119.8962	45.6557	7489
+-84.8571	26.8828	6653
+-88.3432	36.8524	8786
+-80.0085	29.5727	6737
+-108.8791	32.039	7822
+-121.2125	48.2605	7270
+-118.8363	34.1378	7826
+-120.1959	46.4118	7208
+-88.8547	35.5316	7417
+-89.041	39.3007	7860
+-89.2796	40.1882	7470
+-124.7657	47.4317	7494
+-116.0798	36.2994	6844
+-87.4854	35.9629	7423
+-113.4851	30.1791	5735
+-118.6933	33.1213	7630
+-87.4314	40.8889	5899
+-117.4516	33.7308	9055
+-116.8228	34.669	8779
+-115.2789	35.5857	6852
+-114.6879	31.6915	6918
+-87.4725	35.6999	7173
+-117.4865	33.0868	9099
+-111.0949	31.3128	8598
+-110.4215	37.2323	3352
+-84.7025	37.3496	5239
+-125.9083	45.2599	5806
+-92.1502	40.524	6726
+-85.9625	36.5121	6411
+-89.2876	39.3679	8069
+-116.6899	32.4927	9278
+-118.9498	30.3501	6223
+-116.4043	35.244	8004
+-84.0698	28.3217	7613
+-82.5628	29.9106	7419
+-116.0258	36.7263	6402
+-81.2941	25.0019	6624
+-117.6868	42.8835	5796
+-118.1843	35.6473	7607
+-90.8706	34.916	5928
+-80.6889	27.6541	8253
+-82.2126	28.5525	8999
+-120.1372	46.3629	7277
+-118.4119	46.9015	8401
+-83.8768	27.3095	7853
+-117.8357	48.4509	6726
+-115.9854	35.7517	7286
+-118.4452	34.0481	8249
+-114.477	33.7926	6770
+-124.3551	45.8807	7611
+-117.8867	43.8561	6847
+-84.01	35.0763	3736
+-122.5846	46.9742	9260
+-111.9824	30.9711	7568
+-118.0334	35.0916	8199
+-119.3749	47.2196	7605
+-91.702	41.8885	5755
+-85.3001	36.7045	5777
+-117.5302	43.2658	6155
+-118.7826	44.6998	7686
+-108.3672	32.3799	7175
+-122.5156	47.6343	8760
+-120.0243	47.1033	7132
+-117.5907	34.6578	8865
+-79.4482	29.0714	6515
+-118.775	30.5824	6547
+-108.6819	31.1143	7614
+-107.347	29.2158	5345
+-79.747	30.3332	5928
+-83.1454	27.9576	8727
+-112.975	31.9396	6585
+-118.4482	35.2301	7779
+-126.2061	45.0552	5411
+-90.2027	42.1362	5769
+-115.5364	35.9461	6804
+-106.5913	29.5229	4845
+-111.084	29.8985	7475
+-89.2246	37.6141	9298
+-118.1757	35.0406	8137
+-79.3238	28.3341	6650
+-123.3473	48.01	8359
+-81.4281	30.4459	6758
+-108.8518	32.74	7437
+-91.4765	38.7655	8246
+-93.3665	34.2173	3576
+-89.1449	38.2761	9009
+-120.5776	47.1475	7047
+-122.2233	46.2888	8554
+-90.2148	39.8508	8224
+-91.0313	34.7384	5660
+-109.9429	30.3675	8090
+-123.5207	44.2072	6499
+-117.3585	46.9833	7906
+-92.4755	38.4508	7146
+-83.0956	30.8803	6205
+-89.7593	37.645	8701
+-112.245	34.555	5645
+-91.2798	36.1944	6505
+-117.4629	45.625	8257
+-83.0164	25.2297	6853
+-87.2572	38.7301	7742
+-89.023	40.842	6735
+-120.1871	46.7741	7122
+-115.1719	34.918	7098
+-81.8765	30.0505	7292
+-119.8692	48.6155	6111
+-91.6839	37.951	7779
+-109.8039	30.4229	8092
+-91.9237	34.1157	4482
+-116.1256	46.4077	6952
+-88.5557	39.2947	7972
+-115.2907	32.2273	7771
+-87.4126	42.8597	3959
+-119.4521	45.1164	7643
+-108.8022	30.2907	7303
+-118.467	42.6486	5600
+-90.5336	38.1298	8737
+-86.7895	40.1221	6276
+-89.3805	37.7661	9117
+-80.3651	25.5138	6652
+-118.1744	32.1254	8201
+-110.9521	28.8274	6413
+-123.777	48.005	8113
+-83.8805	25.2164	6395
+-90.2648	39.8988	8180
+-112.2341	35.9113	4352
+-119.2901	46.3168	8170
+-114.5136	34.5453	6501
+-81.9089	29.3262	8110
+-115.868	33.4219	8354
+-89.4007	37.6814	9103
+-118.9929	48.8332	6270
+-121.0953	33.8965	5353
+-116.7047	33.8735	8863
+-119.0398	33.0941	7296
+-90.1098	34.3162	5764
+-120.8768	47.6408	7263
+-90.6065	37.8669	8443
+-123.5953	45.8809	8190
+-115.4922	41.7913	3823
+-117.9611	32.4249	8561
+-114.4381	34.0877	6452
+-89.8264	34.3225	5878
+-116.0407	37.3899	5742
+-109.0432	32.9216	7460
+-88.3331	40.4249	6571
+-89.3338	39.0837	8237
+-87.1421	36.8973	7798
+-86.4332	29.8124	4505
+-117.9475	34.8173	8485
+-110.7743	30.9041	8596
+-91.9805	42.0154	5506
+-91.1038	36.1384	6504
+-87.5776	42.5698	4316
+-109.9741	29.4771	7159
+-116.9919	34.4178	9106
+-118.4515	35.5986	7482
+-122.5995	44.8846	7295
+-120.524	33.1193	5816
+-90.8403	38.6958	8928
+-119.7292	34.8055	6753
+-117.4937	44.8169	7665
+-86.2386	36.1513	6507
+-120.1886	34.2632	6347
+-92.9051	34.8619	4429
+-117.0052	46.2235	7901
+-119.3525	31.9692	6929
+-91.0689	35.3831	6176
+-78.7631	26.354	5758
+-118.5337	34.7068	8021
+-82.7435	29.4687	7847
+-89.9259	41.0937	6851
+-119.4654	32.8714	6965
+-120.5105	44.7032	6476
+-117.9934	31.857	8185
+-116.8728	32.6743	9563
+-90.1921	36.9615	8030
+-87.5741	37.1523	8358
+-80.8339	28.9377	7913
+-118.382	45.368	8478
+-84.3344	27.104	7292
+-116.2479	46.1775	7103
+-111.7895	32.5212	7597
+-88.8532	36.5927	8606
+-91.0683	40.1506	7744
+-125.613	42.8437	4184
+-119.9821	33.9074	6566
+-82.9977	28.2434	8776
+-85.0332	38.236	5576
+-116.3585	34.3352	8523
+-118.4402	36.1391	7003
+-107.5919	29.7624	5908
+-82.672	28.1475	9146
+-121.5456	37.1141	3849
+-118.4416	47.2142	8069
+-115.5148	30.8095	6990
+-116.4332	30.1386	6707
+-119.4647	30.9406	6268
+-118.8247	29.7708	5773
+-106.0918	35.0189	3560
+-109.7975	32.4124	8404
+-113.766	31.262	5738
+-125.1542	49.2094	6113
+-88.1231	38.7292	8420
+-109.0381	30.7348	7796
+-121.029	45.0145	6636
+-123.4758	46.8109	8951
+-108.4644	33.0053	6929
+-87.4359	37.7265	8320
+-80.893	29.3915	7580
+-119.1256	32.9501	7340
+-90.413	39.8973	8187
+-117.3872	29.8761	6440
+-81.3185	24.4309	6008
+-79.86	28.5556	7170
+-118.9149	48.0805	7059
+-109.8431	31.2793	8849
+-90.4841	39.6784	8418
+-107.6653	33.034	6183
+-110.1583	32.8374	8102
+-87.8517	35.5229	7199
+-89.2483	39.7626	7785
+-112.5182	32.3183	6976
+-114.7783	32.1141	7189
+-84.2712	28.8589	7176
+-119.2367	46.2845	8232
+-124.8622	45.3614	6821
+-88.2687	39.3127	7884
+-89.5031	38.0159	8900
+-88.5045	39.8158	7096
+-120.5655	49.9761	5422
+-85.4992	27.4881	6071
+-114.1489	31.6859	6366
+-113.967	45.7887	4677
+-119.3727	32.4481	7038
+-81.092	25.809	7384
+-108.8402	26.5985	3836
+-121.9472	33.8439	4422
+-116.6611	45.6655	7482
+-80.1169	30.88	5696
+-121.1189	44.3909	6166
+-116.866	31.1887	7934
+-117.0967	33.2382	9261
+-87.6262	40.3509	6541
+-125.0251	47.4467	7213
+-118.679	43.4358	6408
+-121.6687	47.2066	8228
+-117.3144	34.4193	9222
+-81.0877	27.5444	8683
+-119.4097	43.6714	6425
+-88.7086	40.9484	6446
+-84.3265	26.8232	7191
+-120.2104	32.0403	6032
+-109.8948	30.0752	7772
+-88.6217	38.9554	8359
+-110.4787	30.1685	7933
+-88.9812	40.8224	6727
+-89.0311	38.1968	9149
+-91.0911	39.6758	8168
+-91.9351	41.0318	6450
+-88.0408	39.5539	7545
+-123.993	43.3609	5467
+-119.0673	46.1046	8430
+-86.9061	40.7836	5740
+-91.2404	35.2829	5959
+-115.3112	35.0309	7191
+-113.9619	31.3511	6024
+-90.0057	39.4873	8531
+-121.4786	48.4003	7388
+-116.419	33.4334	8833
+-91.9409	38.0258	7573
+-121.7713	48.627	7400
+-119.4935	44.8638	7428
+-91.0778	36.0036	6371
+-112.4294	30.6332	6980
+-119.2102	31.373	6777
+-111.36	33.1552	7439
+-115.0295	34.7011	7020
+-84.8859	27.4479	6757
+-109.1284	32.6324	7743
+-91.0332	41.5745	6300
+-91.642	38.8923	8059
+-123.8413	46.7668	8549
+-112.8518	30.7982	6615
+-114.4659	35.2901	6232
+-87.3329	36.7591	7911
+-116.3202	38.3793	4793
+-120.7369	47.0967	7225
+-109.0663	31.6652	8098
+-111.9269	30.7847	7542
+-115.9877	32.7493	8658
+-114.2615	32.3306	6687
+-114.4201	31.503	6557
+-115.5283	31.3324	7448
+-87.6371	40.4308	6463
+-116.1515	45.0223	6731
+-88.4566	34.9572	6755
+-118.8716	42.3276	5217
+-112.7727	29.6775	6120
+-118.7345	46.8239	8357
+-119.2834	45.2813	7892
+-90.3145	37.1116	7657
+-84.7834	29.6163	6236
+-85.2709	39.7168	5266
+-91.5158	39.6182	7886
+-90.0431	37.7471	8283
+-82.8066	28.2257	8970
+-86.4903	38.9708	6870
+-121.9749	48.8076	7343
+-92.3185	38.1339	7235
+-85.7395	31.2726	4202
+-83.9764	29.7507	6829
+-87.4367	40.9824	5804
+-112.5123	34.1929	5790
+-91.0663	37.5392	7926
+-114.7227	34.2027	6762
+-118.7281	33.334	7721
+-118.0779	46.8547	8432
+-118.8425	32.4911	7629
+-81.4184	26.0392	7777
+-85.632	26.017	5467
+-90.3028	37.8974	8501
+-118.4624	48.8366	6356
+-88.7495	41.3036	6157
+-84.2043	24.6939	5700
+-82.3559	28.5686	8951
+-119.8231	47.3553	7156
+-113.7565	33.4184	6110
+-119.0001	43.0254	5917
+-117.2499	31.0215	7726
+-123.079	45.01	7448
+-115.9083	33.306	8452
+-83.3569	27.4309	8457
+-115.431	32.294	7944
+-90.0932	42.0719	5830
+-91.3093	39.0049	8389
+-85.6533	36.9723	6235
+-123.4222	45.8857	8287
+-115.4914	46.5894	6259
+-82.3605	28.5791	8938
+-122.8434	44.1305	6490
+-87.1851	39.2673	7289
+-87.1549	37.2354	7942
+-121.3382	43.9439	5868
+-119.7983	43.4152	5996
+-119.4242	45.1957	7719
+-117.1799	36.6455	6796
+-113.5076	29.9924	5627
+-117.5585	36.0379	7436
+-114.3653	31.4991	6500
+-109.9032	31.1827	8837
+-88.9261	35.8303	7747
+-76.81	31.0169	2836
+-111.6061	29.1766	6524
+-118.3742	47.6928	7571
+-81.2674	28.7145	8440
+-119.1284	45.248	7990
+-86.6876	36.4502	7112
+-108.0432	32.0752	6936
+-88.2583	43.1288	4178
+-117.505	34.3596	9179
+-116.2647	30.0899	6612
+-123.4875	47.7685	8514
+-117.2847	31.9099	8681
+-83.4265	25.6949	7129
+-119.9326	46.5062	7462
+-77.2903	30.2252	3748
+-114.9248	33.3376	7402
+-89.1075	37.2998	9253
+-91.0271	37.2017	7617
+-116.3693	32.6251	9053
+-118.4243	32.9578	8119
+-87.2331	37.702	8093
+-79.4279	28.4594	6733
+-118.0962	47.0702	8214
+-110.6108	29.6041	7308
+-82.6129	28.5821	8822
+-80.6085	30.0662	6771
+-110.5209	32.3511	8617
+-114.7649	32.1316	7181
+-106.7335	31.6132	5573
+-118.3226	33.0946	8209
+-89.154	35.8278	7706
+-118.0651	31.6215	7942
+-117.063	36.2547	7213
+-117.7954	47.8072	7380
+-92.2254	38.7925	7438
+-114.7925	32.1629	7221
+-120.1931	46.3343	7223
+-118.5563	34.8347	7936
+-88.5052	37.9768	9359
+-119.1693	47.9325	7105
+-119.3503	32.0814	6970
+-83.7561	27.3232	7989
+-83.7509	27.7074	8061
+-88.2117	39.0019	8191
+-109.701	29.8911	7516
+-111.0187	33.6266	7138
+-85.9862	40.0519	5702
+-82.5845	25.4286	7198
+-110.0563	31.3613	9089
+-121.2519	45.0366	6818
+-120.1252	32.4741	6209
+-126.1822	49.373	5135
+-117.0347	33.6099	8913
+-82.0228	26.1162	8021
+-82.0228	29.1653	8305
+-122.861	47.9203	8557
+-93.6535	38.921	5895
+-87.4118	39.6474	7121
+-89.8581	43.2203	4573
+-82.8607	26.2829	8023
+-117.0861	33.0782	9432
+-87.9847	40.5074	6507
+-117.3964	44.1847	7025
+-90.4227	39.017	9133
+-125.5376	45.8962	6479
+-117.7981	31.6975	8198
+-113.708	35.0566	5528
+-116.1847	32.8553	8880
+-116.1787	47.3369	6675
+-117.9492	37.2862	6019
+-118.4993	35.7029	7361
+-109.0239	30.1462	7367
+-91.0471	40.1078	7795
+-119.2882	33.2433	7128
+-113.7204	32.6347	6126
+-117.8882	34.2227	8853
+-91.2206	37.1717	7499
+-86.0838	39.4157	6220
+-79.9893	29.7805	6564
+-110.5718	29.1835	6861
+-91.4466	39.0141	8243
+-81.4843	29.3476	7959
+-89.89	36.0723	7626
+-79.6566	25.4293	6040
+-125.558	47.8101	6542
+-90.367	39.1787	8962
+-117.2134	35.6012	7936
+-117.1684	31.7042	8492
+-91.5958	40.828	6831
+-91.9178	37.9743	7571
+-90.0788	39.296	8751
+-89.9855	38.7672	8995
+-119.2296	47.4594	7506
+-88.0432	42.3369	4808
+-118.3692	43.341	6337
+-117.4669	34.7944	8784
+-111.4705	32.8259	7649
+-91.9253	38.1747	7650
+-117.6738	49.007	6115
+-124.5303	48.4132	7212
+-83.3443	29.457	7540
+-114.2967	32.9685	6770
+-111.8609	32.9158	7277
+-116.297	31.4244	8030
+-120.2884	32.1611	5976
+-112.9981	35.0397	4778
+-122.8485	47.1778	9367
+-110.7661	27.6133	5147
+-88.4543	34.3972	6129
+-116.9269	33.4446	9051
+-116.9657	43.561	6231
+-117.0631	34.4882	9092
+-116.7451	31.7299	8516
+-111.6257	28.9558	6301
+-93.1163	38.9014	6474
+-121.9314	46.3989	8373
+-117.1014	34.8708	8713
+-116.9647	29.3304	5864
+-87.7403	38.3748	8415
+-91.305	39.4409	8183
+-124.3435	48.2705	7469
+-91.3448	38.1866	8223
+-90.4002	33.4261	4715
+-109.6959	29.8624	7485
+-83.5314	28.8015	7925
+-93.3351	38.751	6243
+-118.7979	30.2363	6224
+-117.7603	33.6883	8813
+-90.973	38.8272	8783
+-117.315	33.7778	9147
+-90.6235	37.6232	8183
+-82.2863	27.9341	9636
+-120.8777	46.2046	7232
+-114.1815	32.6887	6643
+-89.3758	39.5996	8004
+-90.7545	37.9923	8515
+-126.1595	45.6937	5762
+-108.6594	31.3507	7642
+-118.8944	37.4495	5508
+-118.5062	35.3685	7629
+-85.1644	28.784	6275
+-118.1045	33.5148	8402
+-125.0368	44.2546	5813
+-117.7856	45.3254	8285
+-94.0426	35.7705	4338
+-114.4592	31.4279	6556
+-118.6535	35.3891	7497
+-91.0542	37.5848	7975
+-82.805	27.6076	9112
+-111.6173	30.4372	7609
+-118.8305	36.4164	6519
+-85.6355	40.9844	4694
+-107.9482	30.4072	6592
+-119.7904	45.3964	7499
+-117.5307	35.7089	7795
+-118.0261	45.2615	8332
+-91.2047	40.2613	7570
+-117.0115	31.9348	8768
+-89.2299	37.8299	9263
+-109.9207	29.5619	7238
+-91.7252	39.3064	7859
+-91.6802	34.4484	4943
+-125.8671	48.1337	6103
+-86.108	28.8591	5229
+-92.3679	36.6875	6339
+-90.5804	35.4358	6588
+-119.6377	35.7562	6404
+-123.3774	46.7162	9014
+-122.5633	47.9171	8498
+-88.6754	37.8883	9545
+-116.6755	34.103	8892
+-118.9748	36.4113	6432
+-91.8009	39.7021	7584
+-110.7152	32.7805	8112
+-115.5184	36.0982	6669
+-116.4279	48.5641	5994
+-118.7787	33.254	7630
+-117.7272	34.4657	8918
+-123.9581	47.7045	8189
+-118.1373	41.374	4253
+-111.1121	30.6183	8130
+-85.3961	37.3082	6010
+-117.7512	46.3568	8635
+-116.079	35.8415	7268
+-125.5563	46.1917	6566
+-85.945	34.9589	5426
+-119.3618	35.2891	6928
+-121.3361	42.5534	4304
+-92.6984	42.1031	5032
+-120.278	46.9266	6974
+-123.2508	47.9942	8413
+-116.093	33.0766	8736
+-121.6654	46.3582	8094
+-90.9075	38.2624	8653
+-124.9046	46.8928	7402
+-108.5571	28.1125	5249
+-87.1704	39.8204	6805
+-115.5829	26.8856	2960
+-84.6107	30.527	5696
+-87.8881	35.4357	7124
+-117.0756	35.2424	8310
+-119.5838	47.0065	7582
+-118.1482	30.4224	6775
+-118.4275	33.6913	8183
+-120.1607	48.2593	6230
+-119.2566	33.1039	7094
+-112.0496	30.9271	7483
+-80.7262	27.8726	8296
+-90.4859	39.3067	8814
+-109.4942	31.8872	8507
+-118.4826	45.9483	8995
+-123.2902	47.6818	8711
+-120.6962	32.1911	5535
+-116.8864	36.5291	6892
+-119.1144	34.8368	7381
+-89.9977	34.4305	5929
+-119.0455	49.4727	5598
+-89.3188	37.275	9056
+-108.7386	32.4325	7516
+-88.4195	34.3919	6119
+-120.2895	35.0872	6080
+-80.6268	27.0039	7982
+-79.8089	26.7645	7029
+-113.0246	32.0355	6517
+-115.2416	33.9507	7320
+-83.9983	30.3588	6280
+-89.7785	37.2325	8579
+-120.6782	46.294	7056
+-86.6311	40.9304	5436
+-88.8044	39.4514	7562
+-116.2234	33.7608	8330
+-117.0439	45.5721	7834
+-90.5916	37.7352	8308
+-105.8476	34.688	3563
+-116.0787	34.5328	8171
+-90.3843	41.7561	6184
+-118.4646	31.8218	7747
+-91.121	34.1712	5085
+-115.8636	45.3342	6573
+-91.3113	38.782	8423
+-118.3135	28.4691	4676
+-109.6392	34.0483	6699
+-111.5465	31.4367	8150
+-89.7453	35.8132	7463
+-117.9948	36.207	7140
+-120.7911	46.1952	7139
+-118.5991	31.709	7552
+-118.7495	47.8467	7346
+-117.2788	36.395	7071
+-86.6834	36.9726	7351
+-115.0237	33.6844	7379
+-119.7847	32.274	6552
+-118.2588	48.2048	7031
+-95.5616	39.1636	3825
+-109.3788	32.9227	7692
+-118.5609	48.0369	7188
+-110.8086	31.0933	8734
+-88.8149	43.0026	4539
+-117.0686	31.9542	8784
+-89.9225	37.249	8436
+-114.3114	49.0576	4016
+-117.2634	32.1581	8947
+-89.7032	40.9853	6906
+-89.4811	39.2051	8335
+-120.1373	47.5534	6766
+-112.5678	32.8283	6702
+-81.8472	25.6133	7435
+-93.6437	38.3406	5883
+-90.1496	36.1838	7540
+-81.6887	29.5204	7845
+-117.0968	33.3182	9175
+-117.35	35.1783	8394
+-120.9175	30.5938	4696
+-86.4138	37.6043	7173
+-123.5617	47.054	8873
+-124.5365	45.9737	7503
+-114.9961	31.7231	7239
+-108.6857	30.6352	7414
+-114.9269	33.4103	7383
+-88.9745	37.4022	9438
+-112.1118	29.9412	6851
+-126.9965	47.311	5090
+-117.709	44.4494	7410
+-89.3679	43.5058	4183
+-120.0469	48.8681	5784
+-118.9378	45.8836	8531
+-90.2067	36.8972	7983
+-82.9046	28.0975	8943
+-117.3964	32.3514	9046
+-85.687	35.8221	5786
+-85.8475	35.2017	5527
+-119.0851	34.9662	7356
+-92.294	37.6472	7047
+-120.3146	42.5151	4897
+-121.2174	47.9028	7491
+-119.0646	47.1171	7902
+-81.0619	24.4984	6001
+-118.3211	47.7669	7495
+-109.1899	30.8708	8014
+-92.7194	38.3295	6866
+-76.9209	29.5273	3668
+-81.5041	27.9571	9149
+-121.6792	47.9933	7854
+-111.6723	32.0324	7943
+-118.7064	35.4824	7386
+-82.313	30.2851	7036
+-112.5981	30.8627	6899
+-122.888	43.8273	6157
+-116.7144	35.5124	7917
+-116.2201	45.7029	7035
+-120.196	44.85	6841
+-90.0417	36.5397	7905
+-81.5471	28.6881	8657
+-110.9589	33.817	6960
+-109.6777	33.4406	7340
+-108.3831	30.6963	7152
+-117.334	36.2717	7204
+-117.4543	38.8986	4336
+-82.0575	27.7972	9800
+-117.0606	34.7465	8832
+-89.1892	41.0537	6628
+-119.101	31.0252	6645
+-116.1977	31.4491	8003
+-89.4433	38.941	8390
+-78.8018	29.5074	5640
+-91.1466	36.3301	6689
+-115.0075	32.8917	7566
+-116.6636	30.4131	7051
+-110.3311	30.3417	8128
+-90.1022	38.5912	9076
+-117.1502	44.1409	6864
+-106.1514	31.4742	4941
+-81.3667	29.657	7585
+-83.955	33.0579	3561
+-118.7008	32.8861	7817
+-121.117	33.6083	5299
+-89.3963	38.4973	8326
+-119.2213	47.2862	7659
+-86.3227	36.5598	6804
+-89.2359	39.2701	8066
+-116.5877	36.632	6713
+-120.1952	48.6855	6085
+-120.5026	28.4664	3500
+-89.8549	39.9794	7982
+-125.9333	47.153	6267
+-113.1046	32.5083	6308
+-109.375	30.9535	8231
+-118.5301	31.0431	7116
+-84.1119	40.5073	3694
+-89.3788	38.789	8341
+-119.6787	31.2289	6247
+-89.4248	37.7547	9070
+-109.4238	35.0188	5623
+-81.5695	28.3227	8996
+-119.1717	36.1954	6475
+-106.526	31.9207	5332
+-124.454	43.35	5282
+-87.2116	35.2856	6623
+-111.6327	32.6494	7652
+-113.2236	34.5201	5108
+-87.7339	38.6624	8204
+-111.2091	30.4553	7926
+-81.0349	30.3331	6734
+-116.123	32.9645	8798
+-115.4015	36.8037	5985
+-116.1444	33.8163	8266
+-117.189	30.5068	7165
+-118.3805	34.3097	8308
+-116.846	34.3172	9037
+-110.8704	33.4229	7397
+-115.9038	47.9247	6085
+-123.3089	49.5258	6759
+-116.5852	36.5404	6809
+-117.1567	32.0639	8887
+-117.4612	35.4376	8099
+-117.2865	45.7838	8153
+-110.8365	32.7287	8118
+-91.419	38.9105	8295
+-78.2307	26.3927	5212
+-87.4877	39.4331	7366
+-115.3245	35.6044	6880
+-117.5243	30.7776	7395
+-93.662	36.9013	5367
+-120.9765	46.1986	7331
+-91.4643	40.1859	7487
+-118.1381	45.6697	8780
+-108.5274	31.972	7472
+-114.4763	34.151	6494
+-114.1778	35.2688	5948
+-116.468	43.6127	5999
+-118.6385	34.3685	8020
+-93.0366	37.914	6426
+-121.3332	49.4661	6365
+-82.5396	31.5702	5565
+-80.6386	26.8283	7896
+-88.2392	41.8125	5395
+-119.2577	30.1225	5808
+-111.1081	29.5367	7103
+-109.8761	34.26	6531
+-114.6058	46.9648	5259
+-121.3353	47.67	7721
+-120.0054	33.3151	6420
+-90.8285	39.2429	8708
+-123.5187	47.2974	8835
+-117.9859	30.7534	7186
+-124.0064	45.4203	7517
+-85.0466	27.1476	6523
+-117.5181	34.5898	8969
+-121.889	48.2394	7820
+-94.4764	36.8639	4567
+-110.6203	34.4073	6398
+-92.7113	35.8523	5418
+-119.771	46.8754	7484
+-111.515	31.7229	8184
+-90.3025	37.4667	8038
+-119.0885	34.6886	7460
+-86.922	37.9181	7725
+-118.673	43.7715	6760
+-120.3389	47.842	6407
+-89.9702	35.5236	7057
+-80.275	29.9583	6641
+-115.3509	29.8577	5992
+-107.2436	30.9501	6056
+-79.6544	24.5617	5308
+-82.8313	26.0324	7777
+-119.771	45.342	7492
+-121.2471	46.4094	7690
+-113.3128	34.995	5124
+-116.3316	31.1371	7750
+-112.8125	45.1166	3374
+-118.5216	47.7105	7536
+-117.9916	33.4685	8465
+-117.5919	42.769	5658
+-88.6835	38.3011	9096
+-118.6589	31.2966	7216
+-116.0898	31.5025	7991
+-115.2083	47.9645	5452
+-114.0772	33.2666	6491
+-114.6283	30.5599	6128
+-115.0948	35.5602	6703
+-86.1505	39.9316	5930
+-91.9717	36.7984	6712
+-113.3639	30.5201	5994
+-93.2629	35.5594	4792
+-119.6953	46.0346	7764
+-87.5486	42.7408	4148
+-80.9396	25.7117	7204
+-110.7491	29.6669	7349
+-82.4887	28.8093	8646
+-81.9436	26.0207	7906
+-119.4384	46.7714	7846
+-80.5475	24.884	6170
+-91.7732	35.6548	5767
+-116.6405	45.0147	7175
+-115.2574	33.6348	7639
+-119.2475	45.9866	8232
+-116.4668	35.038	8221
+-80.6497	25.5103	6837
+-94.6017	40.0007	4682
+-90.0197	39.095	8884
+-82.6671	25.7065	7485
+-114.4181	32.8426	6910
+-82.7801	30.206	7037
+-117.9705	34.5617	8639
+-115.2489	44.8663	5791
+-91.7593	40.8718	6699
+-82.533	30.5379	6725
+-93.2626	37.7218	6129
+-118.9782	45.8157	8465
+-117.0192	32.1326	8988
+-120.5955	48.8941	6306
+-90.5798	36.4604	7371
+-116.0561	46.3149	6891
+-115.3706	33.4487	7838
+-91.0275	40.6056	7307
+-90.5822	36.7985	7310
+-115.6868	45.119	6321
+-88.6482	34.911	6720
+-89.2433	37.7318	9275
+-115.3902	32.0739	7809
+-114.9728	33.7076	7317
+-89.1971	40.0419	7534
+-109.9471	33.57	7281
+-118.6803	32.8144	7841
+-122.4906	49.1663	7148
+-117.3016	32.8728	9374
+-118.285	34.5778	8326
+-91.4465	39.8131	7804
+-114.6834	33.3423	7139
+-117.9986	44.4036	7439
+-115.891	33.0585	8523
+-119.14	47.7571	7285
+-114.4762	30.3758	5863
+-114.9185	33.1252	7443
+-115.3849	32.2855	7892
+-110.202	28.4974	6127
+-117.1883	33.9169	9287
+-122.7665	48.8247	7560
+-116.7635	32.5862	9410
+-118.7458	46.4744	8630
+-113.7904	34.2934	5742
+-86.5904	34.7024	5688
+-89.9612	39.5302	8468
+-115.415	32.3828	7956
+-110.0615	28.1852	5780
+-87.4942	38.2378	8249
+-119.3382	45.1776	7776
+-90.7627	41.9203	5983
+-118.3497	35.4345	7691
+-93.6985	37.4549	5588
+-88.6012	40.8024	6495
+-118.8914	35.5668	7174
+-119.5789	34.2477	7012
+-116.1255	43.7397	5874
+-117.7049	35.0166	8462
+-87.9753	38.885	8184
+-86.0461	34.9701	5516
+-126.6301	48.1665	5301
+-90.1644	38.2205	8807
+-118.9372	32.8398	7555
+-118.8281	43.9178	6878
+-118.1455	29.4947	5821
+-86.3414	37.283	7059
+-122.4544	45.8978	8334
+-107.2142	34.0935	5136
+-123.3189	49.7687	6494
+-113.6212	48.3106	3796
+-116.9196	44.8438	7297
+-121.499	47.3229	8018
+-115.1318	44.7027	5609
+-120.9973	46.7377	7501
+-107.7516	32.1396	6612
+-81.285	28.8902	8300
+-117.8028	44.5023	7494
+-117.8427	31.9283	8361
+-86.9602	35.0438	6241
+-86.2674	44.3366	1945
+-113.588	33.1054	5971
+-89.5481	41.3621	6468
+-92.3083	39.0816	7319
+-89.7086	40.5286	7374
+-110.068	31.933	8998
+-83.9871	32.7848	3840
+-91.7071	39.0719	7956
+-108.8746	32.3138	7706
+-107.0374	34.6499	4596
+-118.7963	44.00	6971
+-87.9734	39.9659	7084
+-122.4556	46.9776	9118
+-105.8027	33.7659	4025
+-117.8576	36.9525	6396
+-113.8418	46.4236	4544
+-82.394	26.0536	7932
+-118.5762	32.7718	7957
+-83.241	26.859	8272
+-117.213	33.5473	8896
+-107.4776	31.7466	6375
+-93.7221	41.6293	4672
+-122.5948	46.0539	8549
+-125.0462	47.9591	7008
+-81.7828	26.1293	7998
+-90.1294	37.5228	8074
+-92.2477	34.9292	4842
+-93.9067	39.7473	5477
+-116.2758	45.9933	7131
+-117.2805	35.9765	7527
+-117.7139	32.1828	8660
+-118.4258	34.2245	8269
+-80.6846	28.067	8219
+-116.7717	30.2054	6832
+-84.069	29.2508	7133
+-81.5732	29.5827	7742
+-91.2834	38.3859	8378
+-109.7902	30.4472	8109
+-119.8957	32.6656	6481
+-83.4562	28.9031	7919
+-122.077	46.6706	8645
+-111.4141	27.6846	5090
+-93.7711	35.9065	4657
+-88.639	36.2667	8238
+-108.3971	28.7241	5732
+-116.7015	48.6035	6124
+-114.2443	31.9004	6549
+-121.8875	44.2843	6456
+-123.9726	47.4411	8318
+-114.5293	33.8326	6808
+-116.8031	35.2237	8245
+-86.6374	37.0005	7311
+-92.5308	38.8725	7106
+-121.8064	49.8146	6255
+-117.8077	30.4739	6976
+-124.6846	46.8576	7642
+-113.8007	31.0439	5672
+-93.5909	36.4878	5194
+-114.9791	33.3356	7462
+-111.6145	32.8398	7529
+-116.1308	34.5639	8213
+-92.6385	40.6787	6226
+-114.3279	32.5448	6794
+-118.085	44.1467	7181
+-124.3662	48.4807	7291
+-83.0527	28.7582	8363
+-84.0604	37.7767	4531
+-119.3135	31.2419	6601
+-91.8266	37.8645	7599
+-112.7344	33.2329	6317
+-120.1127	35.225	6213
+-119.1954	48.1709	6864
+-111.9816	32.9273	7169
+-120.9385	35.8706	5107
+-114.1797	35.5701	5824
+-121.9553	48.6646	7471
+-87.6313	36.6648	8116
+-108.3614	33.3017	6640
+-117.1766	35.1139	8464
+-80.6394	24.7562	6090
+-87.8638	36.8633	8459
+-79.9976	26.4957	7081
+-119.638	44.9333	7367
+-118.0357	44.7202	7776
+-89.3671	36.6035	8445
+-111.5576	45.1056	2060
+-88.7873	37.7664	9700
+-83.9363	28.2119	7791
+-81.2944	30.4567	6704
+-118.1035	35.35	7927
+-115.8661	31.5126	7850
+-116.6904	33.2482	9181
+-107.7993	29.1554	5671
+-116.6753	34.7272	8624
+-119.8213	46.6787	7520
+-120.9081	48.1495	7061
+-114.4677	32.4563	6937
+-120.3496	48.4223	6380
+-111.495	29.5174	6906
+-118.794	27.7481	3743
+-90.2593	35.7669	7104
+-120.3593	45.7106	7024
+-115.522	30.2168	6435
+-108.6594	29.8405	6855
+-86.3177	38.2313	6994
+-87.8904	36.8663	8484
+-82.0747	31.121	6097
+-92.3116	39.8059	7055
+-93.3806	40.3318	5772
+-117.6625	45.8617	8556
+-114.3488	30.8034	6069
+-117.9628	33.7618	8677
+-80.217	24.8998	5991
+-84.6611	38.6766	5069
+-110.8445	31.8858	8830
+-81.9407	24.8333	6567
+-123.9196	43.7346	5883
+-90.1355	38.9741	9064
+-88.6592	42.505	4971
+-87.4652	39.3663	7412
+-88.3572	37.7256	9351
+-90.5881	35.9925	7038
+-119.5509	35.5619	6599
+-117.4715	36.0674	7416
+-80.8519	25.8612	7295
+-115.6649	48.7291	5331
+-113.4211	32.6859	5921
+-89.5763	41.3884	6451
+-115.5706	31.5349	7639
+-119.1908	46.3755	8256
+-121.0964	31.5156	4923
+-119.5531	48.3425	6531
+-120.4523	48.8936	6184
+-89.3095	38.779	8267
+-83.3855	25.205	6667
+-116.7928	46.9398	7449
+-117.9487	30.9925	7442
+-111.4623	33.5376	7028
+-110.5285	34.8185	5962
+-116.656	41.4711	4064
+-120.1547	35.1973	6180
+-120.8874	47.0518	7393
+-89.0462	39.9976	7453
+-88.2538	37.2338	9062
+-86.1749	36.5635	6654
+-109.3643	34.5683	6073
+-82.4544	30.2355	7076
+-116.4974	45.61	7299
+-85.4392	28.837	5961
+-111.3751	32.5128	7961
+-117.7499	47.0106	8143
+-117.3957	33.5042	8837
+-109.695	31.1127	8614
+-81.8395	29.1728	8267
+-125.7914	47.4685	6382
+-81.3423	27.2714	8837
+-117.1054	30.5766	7250
+-87.1925	37.7813	8043
+-115.2545	34.6325	7276
+-86.9087	37.3884	7706
+-120.7715	40.8086	3068
+-117.1786	33.2528	9212
+-117.137	36.0919	7397
+-88.8738	35.8294	7750
+-119.5302	47.2124	7491
+-118.4861	47.3266	7944
+-89.2281	38.1632	9054
+-117.7156	32.6676	8901
+-88.3973	37.4913	9357
+-111.8167	29.559	6754
+-109.4773	32.7677	7890
+-119.7476	29.5058	4930
+-117.2553	30.6614	7327
+-118.2757	37.2192	5996
+-87.7487	37.9883	8617
+-121.2296	45.3057	7018
+-87.6495	34.4647	6009
+-110.1287	32.2226	8746
+-118.4341	45.3971	8499
+-120.6184	48.3442	6678
+-80.0194	27.8913	7497
+-115.9317	29.0966	5446
+-116.1972	34.7745	8178
+-78.0221	29.3356	4914
+-81.3787	31.4569	5631
+-124.8189	48.4826	6920
+-121.8114	45.9235	7950
+-123.8575	48.8206	7314
+-107.9523	29.6615	6158
+-90.7602	38.9548	8962
+-90.775	38.2599	8748
+-125.0689	42.3969	4049
+-90.6182	41.8285	6097
+-124.9787	45.2045	6612
+-87.5258	36.1461	7613
+-119.3796	36.0342	6438
+-89.4564	35.2547	7000
+-81.9306	27.8736	9633
+-90.5368	40.9565	7040
+-90.1338	34.0032	5426
+-116.1971	35.4995	7645
+-119.5094	32.4221	6883
+-117.3255	46.3919	8200
+-93.1416	37.3441	6087
+-119.5402	46.6778	7795
+-118.0835	31.3356	7684
+-89.5739	34.754	6423
+-93.4671	41.3419	5082
+-114.9836	31.7249	7228
+-120.0113	30.0512	5165
+-107.521	33.9808	5470
+-92.3341	39.0097	7303
+-124.0694	42.255	4273
+-115.5196	38.1477	4762
+-123.2294	46.3707	8858
+-118.7806	48.7899	6363
+-119.1647	35.0719	7228
+-108.1044	32.2546	6952
+-116.8728	46.5226	7701
+-107.9449	30.0406	6393
+-124.7164	47.8076	7407
+-108.1349	30.9337	6990
+-117.3894	34.6167	8994
+-123.1874	46.8813	9277
+-82.8994	26.4732	8192
+-116.0468	48.3781	5879
+-115.7046	34.6283	7751
+-119.7298	45.4376	7576
+-80.589	28.3745	8015
+-89.1842	35.9343	7815
+-83.2079	25.806	7363
+-119.8565	45.5737	7504
+-114.4771	32.6643	6971
+-83.5369	29.9295	6975
+-116.267	45.6623	7075
+-89.0021	37.2493	9278
+-116.3747	31.4933	8136
+-118.4948	30.5596	6713
+-119.4258	32.5709	6996
+-115.0781	31.3294	7072
+-116.3595	32.4394	8956
+-118.9813	34.1503	7667
+-115.5964	33.5138	8038
+-113.5701	32.4404	5846
+-90.8788	35.6492	6537
+-92.2347	39.7071	7178
+-85.8751	35.3848	5681
+-118.5829	32.8292	7950
+-83.3551	27.1665	8352
+-80.2555	28.322	7677
+-81.5907	28.9967	8371
+-116.7378	47.5872	6989
+-123.2791	45.1481	7565
+-88.6679	36.8617	8906
+-121.2688	46.8317	7808
+-89.4865	40.3069	7488
+-88.1659	36.6562	8496
+-93.7182	41.5118	4757
+-89.8473	38.5509	8808
+-111.6969	31.3275	7970
+-96.6704	39.3711	2615
+-80.5153	27.9742	8047
+-88.6952	35.9575	7896
+-118.7015	47.6235	7587
+-94.023	36.0083	4513
+-115.9001	33.3744	8410
+-120.2584	48.9817	5956
+-112.7511	29.7763	6203
+-91.4138	43.7088	3965
+-80.7542	29.4462	7434
+-89.1562	43.2954	4350
+-86.0985	41.4786	4591
+-117.5572	32.4042	8949
+-118.0683	31.5672	7895
+-121.7053	47.5606	8140
+-121.5617	44.1824	6212
+-120.917	47.8138	7237
+-118.5595	32.319	7891
+-114.7277	33.1577	7227
+-87.097	38.7951	7553
+-112.1303	31.427	7519
+-112.0485	32.1403	7520
+-118.3775	46.0633	9154
+-89.5635	39.3648	8320
+-89.3881	39.8008	7864
+-81.2438	29.8472	7332
+-91.4414	40.0875	7586
+-122.4977	45.9062	8360
+-81.7584	25.6758	7489
+-116.5587	34.6352	8591
+-108.176	31.4039	7128
+-88.1822	38.044	9034
+-114.7875	34.5197	6801
+-116.3257	36.2859	6975
+-119.8727	45.9693	7572
+-120.6595	31.975	5528
+-92.0228	41.8831	5613
+-82.8856	24.9032	6543
+-110.4663	38.0672	2447
+-115.6652	35.4267	7292
+-115.6927	31.9785	8052
+-110.2472	31.6861	9328
+-115.4549	33.2537	7998
+-125.5921	49.7439	5357
+-116.6474	33.7659	8752
+-110.4138	33.5915	7296
+-89.3226	36.8773	8732
+-116.5045	33.4421	8885
+-82.7248	26.9939	8792
+-91.2899	38.1923	8277
+-89.4085	34.6288	6331
+-117.5122	36.4064	7044
+-116.9722	36.0885	7381
+-113.253	32.7797	6055
+-118.7244	29.4514	5518
+-123.6847	45.7897	8052
+-88.2096	35.8737	7708
+-115.6577	46.6454	6420
+-118.7874	46.8519	8302
+-82.0335	28.2111	9377
+-117.456	31.1116	7774
+-111.2438	32.1449	8315
+-90.2027	44.3937	3338
+-82.2066	25.5191	7348
+-125.8396	48.9277	5724
+-89.0427	36.7322	8722
+-117.3554	31.8446	8585
+-116.6199	33.6844	8679
+-114.9206	32.9825	7463
+-90.7229	41.4379	6504
+-115.1728	33.724	7511
+-117.5379	33.6219	8906
+-113.974	33.9579	6180
+-118.756	37.6619	5360
+-80.8765	28.6465	8157
+-88.7274	38.12	9304
+-89.5405	39.4785	8224
+-89.9332	40.4297	7550
+-121.8878	46.4182	8341
+-91.6464	37.6659	7630
+-117.0978	48.2338	6675
+-116.6789	36.7173	6647
+-82.0662	25.1985	6986
+-121.9944	47.9422	8144
+-111.7266	32.8763	7414
+-114.1745	31.4805	6300
+-89.3765	32.9676	4497
+-81.2445	27.3031	8758
+-120.1278	45.8304	7286
+-88.5282	38.4264	8921
+-122.2506	45.7152	8057
+-110.8593	31.8624	8828
+-93.4565	37.2976	5761
+-91.843	39.626	7589
+-116.4531	44.616	6765
+-122.524	47.7855	8616
+-83.9736	25.8908	6919
+-115.5935	36.6318	6258
+-126.8844	48.4013	4954
+-119.3879	33.0531	6941
+-120.6878	47.2038	7162
+-79.398	30.0251	5879
+-114.7383	45.9133	5501
+-119.4035	44.2368	6958
+-88.7326	37.4303	9548
+-119.5069	35.6509	6586
+-84.3318	25.5838	6387
+-117.6067	34.0803	9162
+-109.3354	30.2998	7712
+-122.1898	42.5947	4740
+-89.8963	38.7668	8899
+-111.6329	28.7582	6104
+-91.2701	40.7846	7032
+-118.3405	35.2457	7851
+-86.0578	26.0567	5049
+-118.805	45.8094	8628
+-84.6009	29.7265	6327
+-110.9593	30.6685	8273
+-121.6628	45.6635	7632
+-119.4311	29.5949	5229
+-111.7987	33.6106	6763
+-118.7203	35.9197	7025
+-94.6903	39.7067	4669
+-111.2608	30.113	7590
+-107.4191	31.3651	6307
+-117.8923	34.8212	8524
+-124.4055	46.561	7893
+-113.8568	33.1423	6265
+-83.7206	27.0356	7915
+-120.065	35.0142	6338
+-112.4878	35.2749	4842
+-113.7054	33.3759	6062
+-120.3307	43.3298	5612
+-79.8235	28.7342	7059
+-118.3619	34.615	8233
+-117.2863	30.8044	7480
+-88.3072	38.6698	8576
+-80.4741	27.6212	8008
+-109.6706	31.9622	8647
+-120.7535	33.2535	5615
+-116.672	30.9875	7686
+-116.4565	35.3826	7914
+-79.4351	26.1747	6348
+-122.795	48.2474	8194
+-81.5222	29.2733	8053
+-116.9363	46.0268	7832
+-118.3931	44.7652	7842
+-110.8193	32.1299	8681
+-87.9376	37.2492	8774
+-115.9575	32.8073	8627
+-89.3434	36.5193	8374
+-83.7813	28.2479	7950
+-90.3876	41.089	6903
+-82.9393	26.9707	8611
+-91.0626	36.8272	7226
+-120.264	31.2212	5667
+-119.9879	44.8168	7001
+-119.4979	47.0671	7616
+-90.0309	34.4285	5914
+-89.0306	33.8896	5566
+-84.4895	28.5298	7090
+-82.9199	28.3936	8754
+-120.3881	32.3167	5896
+-86.3111	36.5867	6804
+-88.8488	39.8826	7369
+-122.3516	44.9585	7319
+-116.8178	34.945	8526
+-118.2601	33.1218	8270
+-115.687	33.5703	8096
+-88.0104	35.8297	7586
+-111.9868	33.6425	6612
+-122.3606	46.6728	8931
+-87.4896	37.4082	8353
+-115.0046	49.2325	4458
+-79.3819	30.5466	5467
+-122.0008	45.5285	7743
+-89.0585	36.7525	8739
+-83.8161	27.1316	7858
+-81.5968	28.2745	9057
+-117.9654	47.2017	8046
+-83.2138	26.9816	8382
+-117.2386	33.8807	9261
+-116.5193	36.0616	7282
+-119.2971	46.07	8186
+-83.4716	28.7768	7995
+-119.8708	47.8993	6719
+-93.1868	41.5726	5136
+-117.6132	33.3185	8840
+-87.8191	35.3385	6994
+-120.9387	47.4804	7379
+-121.8198	44.7228	6870
+-118.5804	48.2549	6957
+-84.4776	36.6602	4870
+-111.4021	30.084	7479
+-83.0885	30.8151	6278
+-93.5945	40.8845	5268
+-117.3446	38.097	5213
+-78.3905	27.9336	5654
+-122.6756	44.6948	7098
+-88.8473	37.8781	9560
+-85.0037	34.4365	4249
+-112.759	30.3663	6533
+-82.8258	27.0805	8790
+-82.8356	26.5057	8260
+-115.0374	45.4154	5747
+-112.2089	35.1783	5080
+-85.6293	37.8111	6290
+-111.2922	33.3775	7269
+-110.7779	34.085	6721
+-88.9714	36.6179	8616
+-117.1592	34.4285	9195
+-111.2001	32.7189	7926
+-119.2358	42.7754	5598
+-107.8932	34.1045	5672
+-121.2475	29.716	3857
+-116.7303	34.4794	8842
+-86.391	39.2775	6593
+-109.7177	33.6369	7151
+-89.1892	40.5553	7091
+-87.3479	37.3416	8181
+-120.8715	33.6937	5576
+-109.144	32.9025	7549
+-81.355	28.3567	8787
+-114.437	32.3384	6881
+-89.2931	40.2756	7403
+-115.898	27.5111	3716
+-81.538	28.3301	8965
+-113.6826	31.8922	5829
+-91.9368	34.8137	4863
+-122.9154	49.9995	6274
+-88.3781	39.6909	7501
+-118.4621	31.3727	7434
+-89.5501	39.4259	8268
+-119.6532	45.9479	7801
+-116.0618	47.1838	6643
+-116.1134	33.8494	8242
+-89.0808	37.1342	9122
+-115.8215	47.6312	6190
+-115.9854	30.9482	7399
+-114.3429	34.1857	6348
+-117.6997	29.952	6455
+-114.7884	31.9234	7127
+-88.8495	38.704	8646
+-94.3792	37.7414	4982
+-119.1091	46.3408	8350
+-122.297	47.6448	8609
+-82.171	29.7109	7692
+-85.2236	29.2367	6021
+-110.2618	30.4658	8260
+-90.1776	40.5918	7427
+-126.1438	45.8669	5843
+-85.3852	36.5924	5833
+-86.7966	25.8587	4192
+-112.4064	30.6193	6996
+-119.7814	46.9866	7417
+-83.2965	31.4378	5536
+-116.2042	29.5641	6027
+-116.5424	31.9149	8641
+-91.1068	40.7347	7147
+-126.7519	49.1923	4719
+-123.9681	46.8706	8428
+-87.0431	37.5289	7874
+-90.7978	37.0304	7518
+-117.2743	33.8992	9282
+-82.0065	26.2478	8168
+-118.4012	47.6917	7570
+-111.0672	31.6239	8677
+-82.1843	26.7052	8690
+-88.6039	34.6313	6404
+-90.283	40.3772	7667
+-78.8652	30.2396	5256
+-79.9849	30.5437	5920
+-113.8027	32.305	6178
+-81.2152	29.2981	7872
+-79.3575	29.4579	6215
+-117.2955	38.1768	5127
+-84.6356	25.718	6234
+-119.9663	27.9873	3412
+-114.2168	30.7423	5911
+-106.899	30.2656	5488
+-118.8561	30.2458	6194
+-89.8063	36.2781	7868
+-114.8714	47.086	5499
+-84.0921	27.4706	7651
+-122.5987	45.4966	7958
+-112.3658	35.3627	4824
+-117.135	48.1372	6784
+-116.2558	35.453	7725
+-117.6647	42.3503	5236
+-80.6264	28.3596	8060
+-81.4214	31.96	5080
+-92.4562	39.5651	7024
+-91.4283	33.3963	4167
+-118.7988	34.9296	7654
+-118.2349	38.662	4486
+-115.1271	31.0088	6876
+-82.3295	30.4178	6885
+-90.3895	40.0186	8057
+-81.965	26.0182	7905
+-89.7275	37.1769	8605
+-125.7954	45.8157	6183
+-89.4559	37.0785	8798
+-120.9156	46.1838	7263
+-122.1778	46.7644	8782
+-113.135	32.0577	6395
+-111.753	29.9164	7101
+-126.2564	49.1047	5234
+-122.9726	46.2833	8851
+-89.6463	38.6968	8628
+-108.6796	34.4353	5902
+-108.3102	30.0295	6710
+-119.507	47.7271	7104
+-108.782	28.1655	5407
+-112.5294	32.4979	6896
+-88.1792	40.3884	6464
+-83.0366	27.0378	8579
+-113.0557	34.2029	5380
+-114.9984	31.4562	7084
+-118.7752	34.5338	7835
+-124.785	49.3926	6231
+-122.8039	46.8076	9402
+-120.9461	31.1836	4955
+-114.7651	45.2102	5417
+-120.6238	34.14	5876
+-120.3947	43.4951	5709
+-118.6398	45.4629	8487
+-113.018	31.7186	6561
+-80.9457	28.2244	8452
+-85.4482	26.6686	5942
+-81.8567	26.953	8920
+-91.8257	36.3221	6380
+-88.8129	39.1477	8151
+-117.9153	31.242	7702
+-119.5885	42.967	5666
+-113.7214	32.4383	6109
+-92.1152	37.0971	6844
+-91.1135	39.4522	8332
+-116.3193	47.1239	6915
+-118.6223	33.8839	8034
+-83.6074	25.9965	7286
+-116.6998	33.7895	8815
+-116.8386	44.6233	7073
+-92.0284	38.4045	7612
+-110.6726	30.2465	7979
+-110.8355	34.4282	6344
+-117.1504	33.5195	8856
+-92.2428	39.6807	7183
+-83.6523	26.3486	7542
+-109.2368	30.567	7854
+-109.1685	30.2129	7525
+-108.1204	28.6283	5474
+-89.8261	40.7496	7187
+-117.5979	31.1987	7816
+-116.025	45.0088	6604
+-82.552	30.2818	7008
+-77.6903	26.8527	4761
+-86.9827	32.16	3318
+-115.2963	31.7406	7537
+-113.9244	31.9767	6233
+-118.1754	33.7628	8467
+-114.0701	31.5203	6213
+-116.6509	37.3662	5948
+-110.6172	30.0461	7780
+-106.9158	26.6497	2971
+-111.3529	29.6746	7129
+-88.0743	35.1799	6918
+-79.5797	31.006	5226
+-107.8965	27.4281	4254
+-81.2688	26.2401	7908
+-118.1408	33.3282	8241
+-121.4608	48.555	7251
+-117.0196	49.3687	5549
+-116.8279	43.6097	6206
+-88.3918	39.0727	8181
+-108.37	32.3522	7189
+-117.6081	30.8739	7471
+-108.4792	28.2829	5372
+-125.6133	43.7047	4945
+-89.7572	40.9003	7010
+-117.5503	27.3261	3594
+-91.9392	38.8298	7745
+-119.2585	34.8258	7238
+-119.8543	36.5548	5672
+-122.7571	46.3368	8897
+-125.794	48.6124	5949
+-83.9699	28.2246	7751
+-87.8969	40.3625	6635
+-120.9653	41.7297	3830
+-117.32	35.204	8368
+-120.3467	45.3988	6953
+-90.6943	38.6168	9060
+-109.6703	30.8716	8420
+-115.6171	32.4082	8180
+-119.0854	33.7739	7515
+-114.8695	33.6208	7248
+-120.2548	32.3326	6046
+-87.5612	41.8619	4896
+-88.3526	37.8691	9297
+-89.6867	38.3647	8566
+-81.0179	26.5153	7996
+-118.6113	32.7994	7918
+-114.6566	30.8294	6354
+-91.0423	39.3192	8486
+-119.6439	42.8023	5482
+-111.956	28.9027	6079
+-114.6103	26.7554	2485
+-117.0095	30.5956	7275
+-115.5145	34.7312	7518
+-85.5472	27.9143	6027
+-121.9526	46.9033	8563
+-113.2631	30.4148	6056
+-119.6784	45.8777	7764
+-109.7111	33.3633	7431
+-119.163	44.7635	7566
+-118.0499	32.6939	8537
+-117.888	33.1837	8647
+-116.6823	34.8011	8570
+-109.3327	28.5992	6063
+-116.2364	31.7201	8283
+-115.8591	34.2748	7995
+-91.2056	35.7101	6306
+-107.4391	30.4709	6114
+-91.6877	36.2179	6354
+-91.6003	41.3643	6316
+-89.6299	36.2758	7978
+-90.6776	38.8028	9102
+-90.3336	36.2818	7468
+-118.0513	43.3566	6345
+-124.0569	46.5426	8253
+-82.0064	29.948	7420
+-111.4691	35.1639	5404
+-122.5991	48.6431	7735
+-85.1188	30.1299	5585
+-109.1441	30.4199	7671
+-117.6082	33.5828	8831
+-77.6576	30.063	4201
+-90.6803	35.6169	6668
+-88.8182	34.9351	6749
+-118.9373	45.4874	8312
+-117.6252	29.93	6450
+-91.391	38.9285	8321
+-118.1068	43.6096	6616
+-91.3359	37.2155	7478
+-117.9484	32.4301	8576
+-89.4286	35.687	7473
+-116.2066	33.3106	8742
+-108.7589	33.8821	6455
+-120.1959	48.2441	6218
+-121.8584	46.846	8454
+-110.415	34.5717	6235
+-119.9811	38.3517	4066
+-79.827	27.355	7242
+-84.8867	37.947	5448
+-107.0416	33.3963	5402
+-121.9511	44.9049	7113
+-115.9168	34.6027	7979
+-109.3606	28.7241	6201
+-118.8894	30.5761	6460
+-112.3081	34.954	5241
+-119.6807	43.6572	6280
+-113.3947	26.2369	2799
+-90.519	41.3011	6671
+-114.4068	37.4666	4747
+-111.8237	33.6615	6703
+-118.9196	45.803	8517
+-90.2809	36.1951	7445
+-118.3018	28.8163	5049
+-84.9596	29.3752	6213
+-110.9534	29.2419	6849
+-119.2396	45.6874	8158
+-90.6793	35.1605	6277
+-118.3666	32.0366	7965
+-120.2187	43.6433	5948
+-106.5199	30.4679	5169
+-117.5586	38.7591	4482
+-120.0317	45.9106	7398
+-117.2591	29.4822	6019
+-88.5281	37.5062	9493
+-84.946	28.074	6691
+-82.2352	26.2322	8153
+-87.2758	36.5917	7752
+-120.1732	44.9869	6938
+-121.0541	48.0024	7281
+-113.516	29.7608	5500
+-108.9324	29.5442	6793
+-90.2104	39.3248	8777
+-115.2909	33.7071	7636
+-121.0741	43.9416	5524
+-115.7872	35.7459	7151
+-116.535	32.5104	9163
+-119.3875	36.6219	5971
+-82.6775	29.8926	7410
+-81.7164	27.7981	9419
+-107.0568	30.0781	5567
+-88.694	38.8656	8466
+-112.0666	35.629	4705
+-119.1444	49.3968	5652
+-88.02	36.5158	8276
+-117.8696	34.8724	8497
+-114.8498	31.6616	7063
+-91.6856	40.6377	6952
+-82.3142	28.5535	8979
+-124.1065	45.8262	7782
+-81.9784	26.7006	8674
+-121.3104	47.7076	7679
+-89.7958	38.7175	8790
+-122.4318	45.5915	8010
+-89.4997	38.1094	8853
+-120.9969	32.4619	5240
+-91.0256	37.4701	7881
+-116.2678	48.6643	5806
+-118.605	44.2206	7241
+-88.2905	39.5333	7652
+-117.5562	33.7769	9037
+-89.5093	34.8161	6509
+-120.9871	49.664	5973
+-116.24	45.4421	6987
+-116.829	32.365	9226
+-85.8345	39.5374	5911
+-124.2737	46.7065	8070
+-115.6201	32.7398	8248
+-83.7079	27.3856	8060
+-125.6829	47.4896	6495
+-118.6049	45.6504	8675
+-89.6657	33.774	5331
+-116.4164	46.4483	7249
+-114.0784	33.5485	6430
+-116.4738	34.878	8351
+-121.7785	32.1734	4338
+-123.6754	46.4437	8579
+-120.9698	47.0669	7483
+-125.0245	49.1157	6286
+-86.713	40.0408	6291
+-116.7669	31.9632	8775
+-89.9654	42.0038	5889
+-115.4393	43.9739	5500
+-88.3885	38.6369	8646
+-116.1107	31.4598	7964
+-116.8995	33.0075	9527
+-119.5248	32.4162	6865
+-127.4839	43.8884	3540
+-120.6436	37.5782	4276
+-123.266	45.5518	8001
+-118.2257	32.4101	8277
+-116.8865	34.5075	8956
+-90.3151	35.898	7177
+-94.2337	39.0709	5260
+-123.8701	46.2705	8294
+-116.6696	29.413	5942
+-84.1973	27.695	7556
+-114.9088	33.538	7321
+-91.0638	38.7608	8691
+-119.1062	45.9728	8379
+-118.8136	31.123	6958
+-80.8821	25.5491	7012
+-110.4775	28.3974	6018
+-113.8628	33.6061	6181
+-93.1077	35.8942	5170
+-111.6046	34.1796	6341
+-90.7788	38.1934	8688
+-120.6013	49.0172	6222
+-90.6591	36.5969	7085
+-119.7002	46.3592	7735
+-117.1747	44.6167	7299
+-89.5149	34.6945	6375
+-90.0949	38.7682	9113
+-118.4851	32.4741	8017
+-88.2659	36.1228	7994
+-109.7627	31.3671	8812
+-115.1393	33.5056	7575
+-88.4235	37.9555	9311
+-115.9881	30.8618	7315
+-120.1078	48.8552	5761
+-116.6781	33.3197	9106
+-80.6407	25.9454	7228
+-111.6758	35.8854	4591
+-124.2251	43.2884	5311
+-118.9243	33.9015	7712
+-116.997	35.2078	8329
+-93.0633	38.2674	6489
+-81.4679	28.1123	9044
+-79.6801	30.2427	5949
+-85.5837	38.0756	6213
+-92.0884	36.3381	6241
+-113.6494	29.5858	5279
+-117.9583	43.0858	6050
+-91.445	37.7255	7834
+-116.4189	31.5598	8224
+-88.4037	37.355	9279
+-116.6903	31.798	8576
+-125.274	49.7045	5625
+-116.7493	34.0579	8968
+-114.0693	29.4797	4828
+-91.1678	36.9156	7274
+-117.3298	49.9299	5081
+-115.9911	34.535	8079
+-119.4225	44.9424	7540
+-93.3574	39.9097	5984
+-112.8279	32.8244	6455
+-117.5362	35.0538	8492
+-91.2276	39.2845	8347
+-92.7654	39.0575	6836
+-120.6707	46.1454	6996
+-81.8385	26.6819	8621
+-124.3593	46.427	7897
+-118.9817	49.8082	5264
+-81.8812	27.4047	9393
+-83.895	30.1058	6579
+-114.5198	46.7195	5221
+-117.5332	45.105	7941
+-117.7421	49.8381	5260
+-89.1846	37.4404	9282
+-80.382	27.8975	7906
+-115.3983	45.2299	6069
+-81.2295	25.7957	7439
+-78.40	28.5322	5581
+-121.7203	47.472	8196
+-88.2373	37.2299	9045
+-110.569	32.1663	8792
+-122.3447	48.6669	7641
+-93.9033	38.2282	5589
+-88.9472	41.3055	6265
+-89.5544	37.5026	8912
+-89.3526	37.9515	9083
+-108.4367	31.3686	7406
+-110.068	30.8296	8608
+-83.2778	27.055	8368
+-122.0477	47.0371	8667
+-89.9892	38.3964	8854
+-89.9362	42.1326	5747
+-92.3245	37.0198	6622
+-88.2139	39.4228	7748
+-118.7283	44.4762	7477
+-116.8982	34.3668	9062
+-91.4087	41.6451	6114
+-81.3884	25.7856	7498
+-117.9681	33.9465	8746
+-79.7874	27.2011	7162
+-91.1285	39.2891	8433
+-121.2611	31.2825	4666
+-88.5144	39.3215	7935
+-92.3836	41.7976	5495
+-117.1024	37.2473	6136
+-117.7341	46.452	8570
+-120.8159	47.2893	7289
+-88.8544	36.2412	8213
+-116.7641	32.9686	9470
+-113.6379	30.5162	5711
+-116.6421	32.471	9224
+-123.9595	42.0474	4078
+-90.3533	41.5657	6389
+-116.4685	47.4979	6834
+-124.9255	47.3476	7342
+-118.0088	35.4273	7911
+-114.8141	33.0063	7343
+-114.9632	46.5758	5708
+-125.3601	47.759	6767
+-111.4646	29.8461	7227
+-81.5946	25.8819	7675
+-123.0747	45.9618	8486
+-116.2295	35.0054	8060
+-116.1303	29.0523	5452
+-118.2059	44.6876	7762
+-120.0493	45.3241	7218
+-119.4665	44.5192	7169
+-113.9098	29.7918	5140
+-117.5708	32.8597	9077
+-119.7228	45.7201	7684
+-117.8476	33.3443	8469
+-81.4102	26.5502	8291
+-92.6775	37.6743	6693
+-116.9087	35.6963	7789
+-91.1316	37.7486	8077
+-120.5045	46.2557	6902
+-119.1552	33.8155	7449
+-124.3369	48.3604	7407
+-120.059	34.116	6492
+-116.9154	45.7061	7753
+-83.954	25.8165	6874
+-120.1057	43.1551	5593
+-114.0541	29.9185	5057
+-115.6965	28.658	4903
+-109.4691	29.3011	6830
+-82.8132	28.1275	9022
+-118.8291	48.8312	6311
+-109.4062	31.7949	8443
+-114.0789	34.3706	6051
+-83.6479	28.7755	7834
+-82.2993	24.7229	6444
+-80.9249	31.0357	5949
+-118.1971	34.1186	8523
+-117.2539	34.0724	9470
+-116.4669	34.7919	8408
+-119.9397	47.5553	6925
+-90.1067	39.4252	8638
+-84.279	28.7201	7236
+-119.2733	45.127	7790
+-79.1601	27.1381	6454
+-82.6929	28.6554	8704
+-120.5614	43.8145	5843
+-92.1432	39.1309	7484
+-123.9766	49.7119	6367
+-115.6019	35.0427	7469
+-118.7373	44.6849	7687
+-120.017	43.4477	5905
+-118.4733	30.9767	7100
+-117.4989	37.0779	6316
+-113.9879	34.5196	5937
+-115.9467	28.9051	5244
+-115.9759	31.573	7979
+-118.2435	35.5553	7656
+-111.9263	33.0439	7132
+-90.0052	39.0827	8881
+-119.3976	49.0203	5950
+-124.5097	46.5849	7789
+-116.5356	33.7127	8618
+-117.9417	35.0384	8306
+-88.4797	37.6906	9492
+-115.8605	45.3005	6559
+-92.2969	38.2859	7302
+-79.1441	24.9064	5212
+-119.2638	48.691	6327
+-118.4918	30.7076	6850
+-117.6734	35.0536	8440
+-121.2752	43.4157	5316
+-122.9835	48.7333	7663
+-83.2627	27.9614	8596
+-88.914	39.2647	7746
+-116.6829	45.5026	7451
+-118.2704	47.8356	7422
+-92.7916	38.1162	6740
+-117.7268	28.2727	4614
+-107.4528	33.1843	5903
+-117.5192	44.8539	7712
+-105.3821	31.3839	4105
+-118.8978	29.2807	5259
+-113.0376	29.5374	5799
+-120.8358	46.8977	7337
+-114.9734	31.2003	6890
+-82.0804	28.3149	9269
+-118.6998	44.8296	7845
+-114.0516	33.1026	6486
+-114.2442	46.6007	4950
+-111.8114	34.1751	6241
+-115.1688	32.494	7716
+-110.7921	33.6843	7144
+-85.1851	32.6453	3382
+-119.8194	34.041	6751
+-89.8024	41.0319	6886
+-109.6922	30.9031	8461
+-83.3365	28.9147	8011
+-121.2213	42.8286	4604
+-89.6286	37.1636	8695
+-118.5716	32.3887	7900
+-116.6096	31.3482	8067
+-113.03	31.2045	6523
+-109.8774	32.1815	8659
+-111.7145	29.7556	6991
+-86.9775	34.5386	5771
+-125.261	46.6003	6981
+-115.2879	32.3153	7799
+-116.7544	45.2742	7420
+-123.565	48.7464	7519
+-119.9438	33.8062	6596
+-121.4781	45.0681	7000
+-85.3855	26.8696	6076
+-116.1187	31.5593	8061
+-118.1508	42.5121	5458
+-121.2079	49.6555	6116
+-91.8393	40.2806	7147
+-119.0104	32.9867	7465
+-112.4375	30.1214	6698
+-114.902	36.421	5949
+-118.9777	34.924	7482
+-110.2042	33.6976	7179
+-90.5849	43.8342	3940
+-87.353	36.3449	7643
+-115.9877	45.761	6803
+-119.9984	33.0961	6350
+-91.5512	38.3468	8093
+-81.6109	30.4301	6822
+-116.9731	33.6257	8898
+-83.0673	27.308	8715
+-115.8765	32.8943	8534
+-117.2739	44.0024	6795
+-121.7257	49.828	6208
+-115.0016	35.405	6704
+-118.8737	34.4224	7757
+-83.1218	28.8603	8225
+-123.3556	46.3715	8783
+-81.5466	28.8014	8547
+-118.6985	36.3604	6650
+-117.7728	38.3432	4913
+-117.8517	30.5532	7042
+-118.045	47.1516	8119
+-108.931	32.4669	7678
+-117.9332	46.6799	8543
+-90.135	34.9294	6381
+-119.9001	34.1241	6665
+-109.8535	32.0684	8734
+-117.6597	29.7948	6295
+-80.0641	28.5983	7369
+-118.8399	32.2925	7583
+-117.1216	48.9466	6004
+-87.5631	39.1741	7649
+-118.8154	31.3162	7097
+-117.4396	48.3049	6760
+-79.7518	27.7664	7198
+-123.3667	45.776	8201
+-109.7949	30.7438	8393
+-90.4554	40.3915	7653
+-114.5046	33.4472	6918
+-122.0709	46.2339	8391
+-81.1346	24.8491	6404
+-117.7139	36.6129	6789
+-90.0946	37.3757	8289
+-123.6613	48.4977	7728
+-93.6993	37.4057	5568
+-93.3028	41.5696	5050
+-91.5426	35.5304	5736
+-83.7202	36.1299	3894
+-78.3203	27.4367	5562
+-122.3378	49.8078	6424
+-117.7119	31.0364	7600
+-87.4069	37.4684	8273
+-123.0128	46.1671	8719
+-89.6277	36.9107	8529
+-105.9715	30.6114	4632
+-88.0042	40.0912	6961
+-116.4725	46.9911	7123
+-116.7973	30.4878	7148
+-91.5845	39.5827	7849
+-85.8022	39.6684	5800
+-116.4678	34.8592	8360
+-118.7068	32.9763	7804
+-120.5656	45.6604	6799
+-80.7323	27.9236	8297
+-77.8454	27.715	5041
+-85.9896	35.9527	6152
+-87.1268	37.7463	7972
+-82.2772	27.7655	9730
+-114.47	35.1969	6274
+-110.6122	31.3013	9044
+-115.9492	33.6618	8278
+-119.035	49.7997	5262
+-116.299	43.0705	5425
+-79.9584	26.1754	6844
+-116.3957	34.2061	8585
+-119.0022	44.9769	7848
+-124.4541	43.8985	5828
+-117.4277	43.4233	6284
+-80.8828	26.2992	7711
+-113.0299	30.9714	6478
+-109.9553	32.3906	8508
+-111.9162	32.125	7661
+-117.6409	33.0069	8971
+-85.6673	32.1394	3532
+-111.647	30.4573	7599
+-116.9618	45.4847	7717
+-117.5039	43.8567	6745
+-88.6087	38.2237	9164
+-84.5763	25.5969	6196
+-92.5516	38.0537	6970
+-113.3474	32.6887	5995
+-118.5894	46.8303	8422
+-119.2637	33.0949	7082
+-81.5758	28.8646	8499
+-119.278	44.7452	7481
+-115.3452	47.6995	5718
+-90.1816	38.3196	8912
+-108.5846	33.0419	7006
+-113.436	30.6318	5957
+-115.6492	46.2798	6464
+-123.4316	47.0306	9018
+-118.7824	46.236	8713
+-78.4517	24.6725	4452
+-112.7187	26.7439	3628
+-87.8016	36.8842	8421
+-88.7794	38.7676	8579
+-118.4604	34.6636	8113
+-86.4418	38.8302	6897
+-118.3253	32.1297	8055
+-124.4458	46.5372	7844
+-87.836	42.4051	4622
+-85.2608	40.6291	4662
+-88.421	34.7997	6574
+-115.6669	45.1386	6308
+-115.8604	34.3569	7985
+-89.4783	39.8463	7892
+-83.5418	28.2833	8195
+-92.7624	39.8824	6584
+-114.2302	44.9427	4796
+-112.0777	29.5382	6561
+-114.0947	35.1611	5901
+-117.3259	32.1106	8869
+-117.5724	30.5401	7125
+-109.4667	36.0363	4558
+-80.7089	28.2403	8194
+-86.3003	27.3897	5159
+-115.7527	34.8945	7689
+-122.6676	45.3774	7842
+-122.5537	42.5502	4739
+-81.3215	25.9955	7688
+-121.9078	33.6268	4445
+-114.9735	37.3813	5201
+-108.0323	33.0876	6495
+-81.7615	27.2739	9194
+-118.0755	31.298	7655
+-115.9423	30.6159	7045
+-87.5047	37.3329	8350
+-92.4068	38.899	7237
+-90.0803	38.0854	8637
+-112.2164	35.8844	4386
+-116.6837	34.2024	8898
+-123.7239	47.0406	8697
+-124.2653	46.4531	8004
+-114.6796	31.4201	6764
+-106.5631	33.621	4830
+-118.4203	29.4663	5679
+-114.9238	36.6012	5826
+-117.772	29.8116	6283
+-80.886	26.8616	8149
+-108.8597	34.9977	5444
+-117.9104	33.5451	8587
+-111.5956	30.3404	7554
+-122.4503	48.7654	7569
+-118.1145	43.9098	6934
+-114.5457	30.9001	6309
+-127.405	48.4796	4385
+-117.6135	34.2873	9124
+-120.5097	47.1809	6970
+-122.3289	48.9803	7307
+-85.7798	39.2553	6017
+-118.5544	45.5352	8597
+-83.6083	27.2539	8126
+-119.0412	35.8792	6822
+-87.1671	39.3162	7235
+-83.1817	30.1721	6924
+-87.2886	27.9408	4057
+-118.601	34.7539	7933
+-89.7743	38.9836	8721
+-117.4859	49.0697	6004
+-86.6031	39.785	6416
+-119.9766	43.5958	6059
+-80.1525	28.4255	7531
+-84.5627	31.3101	5032
+-119.0983	34.1032	7540
+-109.3463	29.8267	7291
+-111.8735	30.923	7658
+-80.7791	29.3247	7557
+-90.2469	36.0752	7376
+-115.6344	46.6041	6405
+-118.8174	35.9733	6913
+-124.6294	45.9692	7413
+-116.9735	41.2546	3945
+-84.169	27.6578	7586
+-89.0665	37.867	9410
+-88.2373	38.9837	8221
+-107.9968	28.983	5686
+-89.827	36.4316	7988
+-88.3812	41.0507	6137
+-122.1347	48.5175	7706
+-91.416	37.17	7390
+-117.5963	35.5938	7905
+-120.2592	31.7109	5879
+-82.7858	27.1911	8908
+-90.2996	38.1389	8760
+-118.7107	35.5624	7322
+-79.9841	26.5476	7097
+-118.3855	32.797	8170
+-117.3186	34.4831	9152
+-85.9994	37.1646	6658
+-110.5898	30.0617	7802
+-124.0694	48.4855	7500
+-111.2537	31.1787	8384
+-81.8587	29.4474	7966
+-115.2647	30.5577	6598
+-89.0299	36.6664	8655
+-83.7671	26.5183	7566
+-121.3246	42.7882	4700
+-107.7457	33.6597	5879
+-110.352	34.0349	6817
+-109.7548	28.6448	6229
+-110.5324	29.5889	7302
+-119.8317	43.6495	6191
+-82.3769	30.0012	7349
+-91.6674	36.7576	6869
+-115.8805	34.5408	7962
+-90.262	40.5921	7435
+-79.0156	26.2931	5991
+-117.4251	48.6545	6407
+-84.2954	28.4386	7331
+-116.0633	31.9014	8319
+-119.1526	49.2444	5805
+-114.1369	44.1718	4418
+-115.1225	34.732	7110
+-85.1468	25.5649	5670
+-90.648	37.2869	7822
+-117.6514	49.7605	5326
+-117.0164	32.7055	9617
+-118.7259	32.7448	7789
+-110.6144	30.8016	8573
+-108.2831	32.39	7086
+-121.1041	43.9535	5753
+-121.4615	45.6309	7450
+-117.9786	35.7131	7648
+-115.4937	32.9401	8104
+-93.6238	40.8611	5256
+-88.5085	37.8111	9483
+-109.9905	31.6582	9093
+-85.0927	25.1524	5425
+-115.5052	29.7435	5957
+-87.6539	36.0636	7625
+-92.3457	35.983	5768
+-118.4111	33.3552	8028
+-81.8291	29.7023	7676
+-115.5143	31.718	7722
+-113.1859	43.3745	3139
+-120.6776	47.0032	7164
+-118.9542	32.944	7531
+-89.3682	40.9406	6822
+-88.4286	38.8289	8456
+-92.0447	40.3466	6941
+-113.1136	28.0636	4614
+-117.3499	28.8081	5261
+-90.7604	39.2542	8746
+-111.4565	29.2992	6716
+-85.4627	25.6327	5418
+-115.6574	32.2774	8174
+-117.5066	43.0951	5973
+-81.7943	27.0934	9040
+-90.7032	39.55	8496
+-122.3974	48.72	7602
+-108.7736	34.4677	5921
+-117.8957	45.582	8575
+-89.5852	36.3968	8120
+-121.3468	48.2555	7389
+-88.2164	39.1393	8050
+-120.1065	42.2414	4741
+-87.7392	39.5355	7421
+-108.8879	32.102	7810
+-92.1359	37.7017	7223
+-112.5426	30.6323	6868
+-88.774	36.1623	8127
+-117.0399	43.0067	5730
+-117.513	33.80	9086
+-90.5622	36.1638	7187
+-118.8366	43.0618	5990
+-114.2993	32.5879	6767
+-80.9527	27.2802	8448
+-118.1663	29.5853	5908
+-88.116	39.6725	7447
+-119.4627	32.4672	6942
+-108.8551	29.6814	6864
+-121.6053	49.183	6786
+-117.4639	46.2006	8386
+-124.4144	48.2041	7458
+-123.4548	45.2766	7652
+-81.7969	28.576	8901
+-109.6941	35.1062	5594
+-83.2071	26.5575	8063
+-118.4562	34.031	8235
+-90.522	37.9713	8572
+-122.1231	45.8582	8119
+-123.4224	46.5222	8853
+-117.5137	45.6038	8291
+-115.8219	32.76	8474
+-91.9609	40.7222	6702
+-119.9662	29.3779	4663
+-84.414	29.0686	6921
+-92.8688	37.4874	6420
+-82.0021	28.8859	8617
+-83.111	24.8528	6415
+-81.0476	26.4695	7979
+-91.4334	39.661	7926
+-89.2524	37.7208	9266
+-104.5701	29.1062	2677
+-122.9548	44.5157	6913
+-122.7653	46.7267	9304
+-81.8013	25.3767	7163
+-118.0563	33.6817	8546
+-120.7345	46.3835	7142
+-126.2213	47.1562	5951
+-79.646	28.9829	6760
+-86.8675	38.0675	7636
+-85.963	38.5512	6515
+-111.8626	31.131	7746
+-86.6895	40.6332	5749
+-109.5703	28.6639	6204
+-115.4382	32.9278	8044
+-114.208	31.8968	6509
+-89.8302	40.9316	6999
+-121.361	46.4074	7807
+-111.5749	30.8176	7893
+-120.6142	46.076	6792
+-116.7594	36.5655	6828
+-91.504	37.6133	7704
+-116.3647	34.1946	8552
+-119.3235	45.4817	7979
+-119.6359	34.5546	6913
+-124.3579	46.6209	7960
+-118.3564	35.6787	7475
+-88.4142	35.6576	7526
+-112.351	33.3833	6544
+-118.3024	48.5557	6660
+-121.4077	46.1501	7737
+-107.9479	35.5636	4446
+-112.3548	31.1103	7224
+-88.0374	38.1731	8818
+-118.5778	31.6936	7562
+-110.6833	31.4562	9070
+-83.3204	28.3094	8416
+-117.9072	34.8603	8481
+-108.8129	29.0434	6266
+-88.2773	39.9117	7235
+-116.8094	45.5612	7599
+-117.2245	43.7275	6509
+-118.7843	31.2645	7087
+-86.9483	42.1277	4232
+-109.3062	33.035	7547
+-93.0315	38.2978	6529
+-93.2643	35.0515	4371
+-91.5202	37.7618	7801
+-90.2063	38.3757	8978
+-115.8868	33.3606	8404
+-112.3847	28.8245	5749
+-119.5338	45.2839	7679
+-116.6338	30.06	6656
+-115.9094	45.098	6532
+-84.222	25.4344	6350
+-91.0934	36.39	6768
+-117.5601	42.8647	5750
+-123.4646	47.3534	8854
+-119.2165	32.5559	7226
+-126.3045	47.0213	5865
+-91.9618	42.576	4963
+-81.5392	29.7669	7532
+-110.6018	30.4309	8192
+-111.7071	28.6069	5922
+-117.9535	43.7045	6700
+-86.7661	37.0226	7456
+-115.7629	33.023	8391
+-92.2872	39.6528	7153
+-120.5285	45.8597	6869
+-107.7842	32.9303	6350
+-86.1233	36.767	6681
+-118.3399	44.2187	7267
+-116.8226	32.3268	9183
+-125.6832	45.2626	6021
+-79.4247	25.9029	6173
+-117.678	34.9035	8585
+-90.0764	36.3431	7725
+-123.1825	45.2346	7678
+-113.9577	35.8591	5467
+-114.4002	33.8358	6673
+-89.0237	40.0126	7424
+-88.4312	39.258	7989
+-91.1421	38.4562	8547
+-122.2575	44.4276	6729
+-121.9427	47.3421	8476
+-112.0265	31.559	7639
+-116.7592	33.7911	8870
+-88.228	38.4624	8736
+-115.0131	35.714	6535
+-89.6977	40.4476	7451
+-122.4574	46.046	8484
+-88.2893	40.0994	7032
+-119.9366	38.1437	4282
+-115.7179	30.7934	7101
+-119.5399	45.6002	7828
+-118.05	34.0298	8676
+-83.2045	27.7925	8680
+-115.308	47.1986	5901
+-90.9753	40.1004	7835
+-88.9125	36.619	8628
+-87.6329	39.0826	7778
+-90.8314	41.7592	6145
+-116.4806	45.6212	7285
+-118.6261	32.1965	7777
+-126.0663	46.4166	6075
+-85.8939	29.0638	5392
+-88.18	39.4247	7734
+-82.1003	26.5648	8532
+-116.7097	32.3864	9194
+-92.8061	38.0978	6720
+-120.1423	49.3853	5576
+-88.1822	43.2072	4066
+-88.1545	39.5513	7590
+-90.5918	36.8947	7412
+-90.1748	40.1147	7936
+-108.0633	32.7403	6713
+-81.9489	27.1857	9203
+-118.4092	34.9024	8035
+-120.6444	46.7329	7115
+-114.3824	37.1252	5005
+-89.8533	36.7436	8215
+-122.8062	47.393	9127
+-117.1727	35.2074	8362
+-115.2956	35.0363	7173
+-108.6112	33.0651	7012
+-114.7256	31.8712	7040
+-91.4055	42.4247	5313
+-81.1486	25.9163	7521
+-89.4733	38.4027	8375
+-89.8915	37.7431	8217
+-109.7594	34.5201	6231
+-118.1414	29.0773	5381
+-88.858	38.9686	8349
+-92.3703	37.2147	6718
+-117.3259	34.5203	9111
+-110.1323	31.7136	9214
+-119.0067	31.634	7123
+-119.8633	49.1606	5613
+-124.8007	45.5015	6970
+-85.6254	25.8199	5369
+-116.5874	32.2583	9000
+-112.7385	32.4998	6685
+-118.2269	38.4314	4734
+-124.1995	46.7421	8157
+-108.8893	25.4426	2639
+-84.822	30.2731	5734
+-112.9881	31.8846	6579
+-89.0121	43.7989	3785
+-115.3494	34.1647	7446
+-91.2732	38.9605	8439
+-120.7396	44.3227	6050
+-125.4067	46.1319	6704
+-124.122	48.4357	7507
+-94.3668	37.7096	4987
+-78.8976	25.2952	5286
+-79.1204	27.0219	6381
+-116.7475	45.8671	7615
+-88.9283	37.7464	9612
+-94.5498	41.7582	3885
+-119.951	44.06	6470
+-121.5018	35.032	4815
+-117.896	39.1649	4006
+-110.345	29.7564	7494
+-118.6633	46.4094	8742
+-118.6544	38.4719	4569
+-109.3003	34.0107	6615
+-87.9973	39.4497	7635
+-111.4664	29.9307	7303
+-117.5164	36.0791	7398
+-89.7233	36.5626	8176
+-107.1661	31.8616	6029
+-113.3106	30.9978	6186
+-118.9524	41.4114	4245
+-85.9064	31.1236	4179
+-114.2377	35.073	6079
+-125.054	45.1415	6504
+-114.7032	34.4481	6721
+-119.572	33.6087	6959
+-85.1293	31.4912	4484
+-87.8293	37.2154	8648
+-91.2914	39.0857	8381
+-111.0547	31.8319	8647
+-90.2267	39.6491	8441
+-117.4488	33.6635	8988
+-89.8805	38.1312	8565
+-86.4476	43.1549	3058
+-116.8217	31.4898	8264
+-122.7874	47.6331	8864
+-117.5861	34.4632	9037
+-87.8334	37.7458	8764
+-81.6618	29.284	8095
+-117.6327	32.335	8836
+-122.427	48.4373	7909
+-118.5642	48.2046	7012
+-117.5694	33.9015	9122
+-124.5082	43.0215	4926
+-111.3291	31.9974	8305
+-118.2143	36.0553	7200
+-108.4045	33.2848	6687
+-121.3694	47.3142	7882
+-120.7809	34.413	5692
+-120.6128	43.8121	5802
+-113.0401	33.6599	5777
+-118.7991	43.7304	6692
+-87.8074	38.7018	8230
+-121.6906	47.0592	8274
+-118.9323	46.007	8566
+-84.0755	27.7339	7695
+-92.0396	36.9592	6795
+-124.7247	48.5086	6982
+-89.8763	39.1427	8733
+-118.8216	41.8756	4750
+-120.5927	47.715	6941
+-126.6509	47.2489	5474
+-122.609	48.0053	8421
+-118.3666	33.3457	8062
+-118.4216	46.2779	9022
+-120.1395	33.865	6390
+-89.103	39.0752	8001
+-109.7614	32.9502	7868
+-88.1054	34.4829	6166
+-91.3986	39.5104	8057
+-120.3853	47.2723	6712
+-122.7857	47.5298	8975
+-90.7918	40.8135	7157
+-90.0274	35.961	7435
+-119.2807	48.241	6759
+-119.7573	46.3835	7671
+-80.3191	27.6512	7836
+-88.6827	37.7894	9648
+-117.3481	36.7518	6680
+-116.3688	31.9538	8582
+-90.1077	39.3058	8756
+-116.7844	31.4703	8237
+-116.4409	34.5483	8530
+-109.884	29.55	7217
+-110.7959	32.0671	8748
+-80.2111	27.693	7716
+-122.1157	29.2732	2781
+-83.362	26.3773	7794
+-79.9475	28.4774	7292
+-111.7695	32.617	7556
+-112.472	30.7734	6996
+-82.5577	29.1338	8273
+-117.181	30.7542	7440
+-110.0362	33.0237	7880
+-118.623	29.3669	5485
+-92.7875	41.424	5549
+-85.7313	26.2349	5468
+-86.5835	40.1019	6143
+-89.2846	40.4616	7232
+-117.8704	38.0409	5225
+-90.8474	38.1762	8629
+-94.4939	40.4262	4640
+-115.7464	46.661	6509
+-115.9802	29.9948	6419
+-124.3341	48.8013	7048
+-82.1102	27.2131	9266
+-122.0955	31.3029	3788
+-119.71	34.3161	6865
+-112.3309	33.4318	6525
+-122.0678	46.9443	8692
+-86.1261	41.1798	4881
+-91.8936	38.7502	7796
+-86.992	37.464	7810
+-88.7912	40.0256	7225
+-115.1056	36.3673	6147
+-116.4785	43.8609	6215
+-91.4332	40.0079	7658
+-90.9802	42.8879	4918
+-86.4198	30.5791	4092
+-117.1787	28.3403	4754
+-116.9703	43.2213	5910
+-109.1591	29.2656	6659
+-113.1416	30.5863	6245
+-109.8064	33.2396	7590
+-89.7298	36.0121	7667
+-87.5442	36.3921	7833
+-80.7677	28.1393	8291
+-115.5811	46.2068	6396
+-117.7966	45.2177	8193
+-121.779	49.5911	6471
+-81.9359	28.6721	8844
+-121.7346	46.1488	8042
+-81.6058	24.2878	5912
+-124.0218	47.6426	8167
+-117.1512	27.0308	3296
+-120.0851	48.6363	5966
+-110.4207	30.1505	7918
+-114.6487	32.028	7022
+-88.2789	38.1717	9026
+-81.805	27.5315	9436
+-89.3927	36.1615	7986
+-119.1966	46.5749	8170
+-110.5362	34.718	6070
+-87.5036	37.08	8252
+-86.9555	35.9571	7020
+-86.6959	39.0034	7048
+-91.5873	38.9119	8115
+-92.4932	40.138	6702
+-109.7954	31.5779	8891
+-88.1085	38.9056	8240
+-115.3529	36.2492	6426
+-88.805	34.5674	6337
+-117.9881	32.5606	8578
+-108.3787	33.1288	6774
+-117.9431	34.0825	8798
+-93.2093	39.8126	6170
+-88.6244	38.5003	8865
+-85.4455	42.512	3220
+-118.0694	35.0075	8243
+-88.3709	40.8135	6318
+-83.6966	27.3461	8061
+-110.9967	35.6031	5059
+-91.5431	42.7479	4938
+-91.5399	35.966	6175
+-127.6528	45.3825	4102
+-81.6275	30.0822	7211
+-125.1368	47.9536	6920
+-116.1356	36.1989	6969
+-93.7293	36.93	5319
+-118.7841	33.925	7867
+-106.0151	35.5383	3129
+-111.5197	31.4991	8185
+-123.4939	47.8268	8458
+-114.8567	40.6742	2464
+-107.0648	31.881	5918
+-91.0497	40.3043	7602
+-123.049	48.2758	8159
+-93.0242	37.2128	6131
+-79.0289	26.9625	6264
+-106.3552	32.8052	4965
+-116.0648	35.20	7785
+-111.4618	29.9634	7335
+-107.6932	33.691	5813
+-109.9913	29.0687	6724
+-119.6711	43.1754	5832
+-118.7393	33.0184	7763
+-115.2244	30.1998	6246
+-106.5838	32.51	5289
+-80.0343	30.5042	5990
+-114.3187	33.3677	6736
+-93.8336	33.4525	2610
+-111.2356	31.9701	8410
+-87.5937	35.3329	6884
+-112.6288	33.2098	6425
+-111.1462	31.4862	8587
+-115.3565	36.7435	6010
+-88.2593	34.2581	5948
+-120.4923	47.4099	6917
+-112.6826	32.7532	6630
+-86.6739	39.2772	6850
+-109.5328	27.5316	4999
+-80.2073	30.4143	6188
+-117.8245	30.4883	6985
+-112.0018	29.8362	6856
+-88.4293	34.3764	6103
+-93.9961	37.2134	5193
+-89.3931	36.4793	8309
+-116.3966	30.883	7504
+-123.5274	46.4818	8735
+-112.3972	33.0691	6718
+-114.9797	36.8731	5645
+-120.3427	47.6918	6504
+-90.3428	35.3954	6712
+-92.8904	40.8115	5926
+-81.5848	27.3132	9087
+-89.7126	41.5901	6279
+-87.7837	41.6317	5241
+-106.1132	33.2289	4566
+-118.2684	30.2206	6514
+-118.7449	33.991	7918
+-120.8798	44.4537	6004
+-117.9613	45.7366	8746
+-118.662	48.1943	7007
+-90.7257	39.2063	8809
+-118.1261	29.5652	5903
+-90.5882	35.5242	6659
+-109.4609	31.9644	8442
+-122.8383	46.5761	9172
+-111.2539	32.0137	8372
+-82.7506	34.0958	2698
+-88.3756	39.5773	7625
+-119.9811	48.0655	6510
+-88.7472	38.8866	8445
+-111.5101	35.8981	4628
+-111.7584	34.2356	6211
+-87.4546	37.0716	8198
+-120.7905	30.8306	4947
+-123.5652	48.1614	8104
+-112.1627	31.5461	7491
+-119.4945	46.1069	7978
+-116.8945	34.619	8870
+-80.7351	27.7731	8311
+-111.8058	29.9338	7078
+-116.5743	43.0165	5527
+-88.924	38.9326	8382
+-88.5841	35.6163	7505
+-89.7449	37.4429	8689
+-85.4644	35.3369	5279
+-123.8293	44.5255	6737
+-116.4828	32.9668	9188
+-118.3835	33.7754	8258
+-109.6497	34.4623	6268
+-110.6359	32.0647	8857
+-89.3372	35.5264	7329
+-109.3305	32.0915	8255
+-96.8285	40.0872	2330
+-87.9875	39.6968	7374
+-116.1662	32.4863	8787
+-92.9667	35.8478	5237
+-83.5982	26.7188	7855
+-116.2938	33.8254	8425
+-109.2005	32.2653	8041
+-85.4686	37.3489	6096
+-89.3611	37.6054	9144
+-83.7296	28.5475	7882
+-85.6856	37.7577	6355
+-120.0863	48.7861	5834
+-85.0685	28.8979	6334
+-78.536	27.2042	5773
+-114.4318	37.6457	4614
+-91.8003	36.8246	6848
+-118.7834	49.3459	5782
+-91.1896	39.3021	8371
+-111.1631	33.0844	7615
+-120.925	49.0592	6445
+-114.4097	33.3685	6835
+-109.05	34.3158	6203
+-113.0255	34.9034	4842
+-122.9544	44.7664	7188
+-106.0856	30.3504	4681
+-120.7467	43.66	5588
+-122.8206	47.1969	9339
+-88.2192	39.7224	7426
+-89.605	39.6399	8150
+-117.8325	35.2031	8218
+-117.2224	41.9555	4730
+-113.76	32.7182	6175
+-90.1203	38.5804	9087
+-88.5835	40.2787	6879
+-89.6285	38.8324	8606
+-111.3267	33.067	7539
+-120.9619	35.6078	5198
+-122.1471	46.4414	8598
+-126.5199	48.5183	5279
+-116.7389	47.7618	6858
+-113.8423	29.4955	5050
+-118.4553	37.2822	5866
+-119.77	48.9866	5822
+-114.7237	33.644	7086
+-87.152	37.7203	8002
+-82.8216	28.5817	8686
+-90.7821	40.1716	7833
+-127.0151	44.6782	4433
+-111.7374	34.4746	5991
+-91.1578	39.5105	8254
+-119.0792	31.1022	6718
+-86.9777	38.6622	7517
+-92.1508	37.6663	7190
+-87.8622	40.0311	6973
+-120.1995	43.8933	6165
+-122.9322	45.1839	7647
+-90.1335	38.6254	9123
+-88.7526	39.4343	7830
+-118.664	35.2056	7616
+-85.365	42.9687	2743
+-110.6581	29.4199	7103
+-109.86	32.1057	8710
+-91.3926	38.7298	8336
+-117.8105	45.0508	8042
+-114.6367	30.8554	6356
+-116.9598	37.0671	6320
+-81.4006	29.0142	8256
+-110.1313	27.8785	5454
+-115.2403	34.8399	7197
+-118.491	35.2292	7745
+-118.3705	42.3707	5310
+-82.8892	28.4927	8707
+-88.978	39.0046	8294
+-117.4202	45.8256	8301
+-116.3807	34.8976	8262
+-91.8454	36.7552	6759
+-87.1302	37.968	7947
+-118.2547	34.3131	8442
+-93.525	39.2786	5991
+-107.7768	30.332	6390
+-122.145	45.4419	7737
+-117.7412	35.4299	8032
+-81.9209	29.8614	7510
+-87.8939	39.9489	7072
+-118.3316	30.2473	6508
+-90.0727	36.8445	8083
+-86.6263	36.2477	6933
+-120.0452	48.76	5881
+-114.6363	33.5063	7042
+-83.3508	25.8643	7337
+-91.2359	35.3324	6001
+-122.1552	46.5838	8686
+-121.0054	46.3367	7413
+-117.3387	33.8931	9264
+-88.7186	36.8097	8852
+-114.2993	35.1209	6126
+-126.6324	47.6912	5429
+-89.6415	40.9628	6909
+-125.0658	46.2873	7112
+-119.6886	45.0095	7377
+-117.4122	45.8528	8302
+-116.9041	29.9051	6505
+-111.892	26.726	3947
+-109.0547	31.3044	8056
+-116.1824	32.6661	8862
+-89.3682	39.6145	7987
+-88.5098	38.9733	8320
+-118.4212	33.0828	8103
+-116.2217	44.3204	6376
+-120.5066	43.7014	5797
+-89.0309	38.1331	9213
+-118.7228	30.9673	6908
+-124.2045	44.2297	6275
+-115.0682	46.1784	5854
+-116.8211	42.6777	5319
+-124.901	48.5204	6823
+-119.4092	47.2158	7582
+-80.8455	26.692	7995
+-90.0169	38.3766	8860
+-109.7931	31.7474	8862
+-88.5963	40.6187	6638
+-117.6325	34.6236	8871
+-83.2771	28.2205	8500
+-91.5723	44.1761	3437
+-120.227	46.2624	7195
+-111.3356	30.7173	8038
+-119.7873	36.0918	6056
+-116.3112	34.1607	8495
+-116.2099	34.1653	8385
+-108.4712	31.7662	7446
+-110.3582	30.0577	7820
+-112.982	34.3868	5295
+-106.4816	33.705	4709
+-87.8755	41.0081	5787
+-117.2984	36.7953	6634
+-91.569	40.3435	7284
+-117.5318	36.6132	6817
+-121.2878	47.5935	7706
+-88.5624	38.039	9338
+-112.8403	28.7679	5389
+-114.8921	35.5942	6497
+-90.8802	36.0621	6837
+-113.3315	31.7006	6223
+-120.6921	44.7218	6321
+-124.2472	45.8693	7697
+-93.3436	37.2851	5864
+-90.6669	37.5517	8097
+-115.5435	32.4605	8117
+-87.7406	39.7376	7220
+-81.1459	29.4046	7729
+-115.8857	30.1946	6589
+-115.108	30.9584	6821
+-78.7979	28.9616	5884
+-110.5772	30.9815	8770
+-118.9303	32.4998	7534
+-113.7696	31.4993	5749
+-83.8418	29.2673	7320
+-82.3068	27.1919	9213
+-117.3723	36.6657	6773
+-110.6382	32.2394	8690
+-83.6478	29.8794	6951
+-113.8127	36.4859	4979
+-124.1351	48.3175	7595
+-119.8983	30.3042	5446
+-121.749	48.6515	7364
+-124.4893	45.7537	7410
+-117.5028	44.3329	7215
+-88.4273	40.098	6864
+-118.4505	47.4064	7866
+-92.7798	40.795	6029
+-89.7103	40.1086	7790
+-118.5674	34.0499	8116
+-92.2038	41.0285	6281
+-82.913	27.7635	9010
+-82.3211	25.336	7134
+-88.3562	39.1892	8044
+-110.4063	29.2824	6979
+-114.2563	31.1261	6190
+-123.557	44.4723	6772
+-118.5409	47.2669	7995
+-117.8902	34.3018	8833
+-89.8058	39.9695	7970
+-117.0452	30.41	7067
+-117.2221	33.7297	9095
+-122.4236	47.3743	8917
+-89.5347	37.7863	8942
+-115.9145	33.4965	8356
+-118.8247	29.7683	5771
+-85.4742	41.691	3978
+-125.0141	47.5481	7197
+-117.7552	47.1344	8031
+-87.22	36.0211	7281
+-119.7559	41.2622	3905
+-117.128	34.3561	9252
+-116.9284	44.366	6930
+-111.3249	31.2563	8342
+-120.54	37.4428	4460
+-92.3236	36.2354	6001
+-88.8397	37.9756	9458
+-89.3202	38.3421	8834
+-89.3141	37.2195	9022
+-111.5443	28.5786	5964
+-115.5992	31.2296	7416
+-86.9355	33.6029	4812
+-78.8525	28.4308	6105
+-87.7256	35.5584	7176
+-80.8563	27.6905	8445
+-110.7636	28.9576	6591
+-89.4308	37.5144	9050
+-114.7883	30.7454	6400
+-82.171	27.1256	9166
+-81.059	29.6113	7477
+-111.512	32.8819	7573
+-90.241	39.7759	8308
+-120.7186	45.0837	6466
+-81.2461	29.7326	7452
+-89.7908	37.1756	8540
+-87.665	37.8019	8569
+-80.2711	26.6311	7425
+-112.7421	35.4234	4562
+-118.4937	44.6011	7658
+-90.0503	40.2176	7802
+-116.9092	32.92	9621
+-86.2529	36.3502	6630
+-124.8764	48.3624	6948
+-82.4052	28.1085	9398
+-90.1748	37.7148	8286
+-116.5413	31.8371	8562
+-91.2892	37.4789	7742
+-116.3387	29.2576	5722
+-120.2409	43.1888	5545
+-89.7808	37.0523	8484
+-120.7933	47.488	7222
+-125.4026	42.8965	4357
+-114.3287	34.253	6330
+-117.9606	35.5069	7859
+-119.9982	47.9627	6579
+-125.6468	43.4653	4717
+-81.817	25.7376	7569
+-119.0743	43.5191	6402
+-109.6343	33.2117	7554
+-86.0747	38.9446	6470
+-84.3437	25.0279	5911
+-108.9589	26.1502	3402
+-116.0773	46.9331	6763
+-90.4132	40.4652	7575
+-86.3096	41.2499	4938
+-117.6769	46.7923	8286
+-114.6659	33.7638	6978
+-86.2478	35.9269	6379
+-121.1353	32.9993	5140
+-114.9882	44.1847	5224
+-116.1545	34.0446	8321
+-81.3853	26.8268	8534
+-114.492	35.5431	6143
+-111.2387	33.549	7129
+-91.6616	36.7081	6828
+-118.8027	46.8146	8325
+-88.1061	37.6638	9074
+-89.1037	40.8851	6741
+-113.8159	34.2787	5770
+-117.9094	34.2006	8833
+-87.7085	35.9238	7527
+-115.5849	37.1195	5799
+-89.299	37.9779	9122
+-121.6848	47.4003	8189
+-84.0358	26.9265	7540
+-85.9533	39.5207	6033
+-88.0462	36.5884	8360
+-119.7637	36.5221	5768
+-118.7834	36.1609	6776
+-118.2841	32.1387	8100
+-116.7923	34.4026	8943
+-91.0143	41.5447	6336
+-119.0492	32.6874	7425
+-116.1659	46.8991	6864
+-91.3376	38.2357	8256
+-84.5842	30.7762	5501
+-81.8626	29.1991	8243
+-92.1427	38.0981	7402
+-123.8956	48.0413	7997
+-119.304	46.5356	8085
+-114.8795	35.1005	6728
+-117.345	34.4434	9189
+-93.2969	38.9207	6279
+-115.1719	45.9366	5961
+-81.4286	27.7066	9092
+-92.1519	39.27	7437
+-119.3077	47.8441	7118
+-90.93	37.9148	8348
+-93.8645	36.9812	5216
+-119.5755	29.8827	5374
+-89.6681	36.3586	8032
+-83.0144	29.3665	7826
+-117.4293	34.8537	8732
+-120.3327	47.8021	6439
+-125.6324	43.8692	5068
+-127.5491	48.0099	4371
+-118.0437	30.6344	7038
+-115.2287	46.8179	5937
+-116.3057	37.312	5916
+-90.8892	39.1483	8730
+-91.3043	38.3388	8337
+-125.70	48.0573	6305
+-116.4234	34.2917	8602
+-80.7526	25.8266	7198
+-90.1566	37.6714	8236
+-119.6021	45.6412	7782
+-89.1997	40.519	7130
+-84.8054	26.2593	6422
+-91.385	38.6226	8336
+-92.4452	36.7865	6355
+-117.0536	31.691	8494
+-89.0852	38.7776	8517
+-105.9127	33.76	4135
+-116.7928	33.2877	9193
+-114.6485	43.4692	4508
+-119.3392	46.4139	8094
+-127.2077	45.2311	4504
+-115.1739	33.6708	7538
+-86.6521	38.5921	7224
+-121.8468	46.6291	8391
+-94.0887	36.3345	4657
+-122.8608	45.7799	8302
+-110.5125	30.7344	8533
+-90.3989	37.5793	8162
+-83.481	25.9741	7355
+-87.8277	38.6127	8318
+-92.0996	36.934	6731
+-111.8703	29.7616	6891
+-119.2758	46.893	7915
+-117.934	33.7594	8703
+-86.4289	38.3974	7066
+-82.1193	25.7277	7586
+-93.1869	36.846	5772
+-117.3808	38.0906	5219
+-117.7118	45.3553	8266
+-118.1119	30.2298	6597
+-87.6431	37.7783	8548
+-117.284	45.7912	8153
+-117.1771	32.2548	9084
+-112.7601	30.5977	6636
+-91.1734	38.9365	8549
+-87.0668	38.1206	7840
+-115.3146	30.6322	6698
+-121.8014	47.6412	8190
+-85.4095	29.8171	5520
+-126.0222	46.5084	6139
+-89.948	39.4977	8492
+-89.6803	37.3113	8715
+-82.8129	26.2393	8001
+-114.0798	30.5145	5634
+-116.0341	33.7885	8142
+-117.509	36.4028	7048
+-118.3421	31.9354	7931
+-109.8555	32.0079	8781
+-112.9522	31.5181	6635
+-86.1762	37.3882	6891
+-118.3683	45.1601	8261
+-116.8235	29.9313	6531
+-115.705	30.5677	6877
+-116.7396	36.5726	6816
+-119.6115	47.1916	7440
+-119.1662	33.5031	7355
+-89.0218	43.0593	4553
+-84.7777	26.2794	6460
+-120.2611	32.2066	6016
+-115.648	35.5287	7207
+-115.1721	33.9851	7247
+-114.9209	47.5757	5372
+-121.6974	49.1753	6843
+-86.9016	36.1994	7152
+-109.5045	31.6691	8571
+-81.0198	26.333	7839
+-92.5141	37.2229	6599
+-118.7724	33.1496	7576
+-119.099	46.3468	8358
+-116.2911	35.5039	7703
+-89.6612	39.282	8458
+-115.1838	31.9019	7518
+-115.9669	41.7482	4039
+-80.0409	28.4558	7400
+-89.5975	37.2983	8795
+-118.1271	36.5498	6740
+-116.422	31.309	7965
+-123.0261	48.7563	7635
+-121.2868	47.7099	7655
+-123.2535	46.4848	8950
+-118.5018	30.8707	6988
+-112.3271	32.8118	6936
+-82.2874	27.8024	9714
+-88.0106	37.7539	8961
+-118.8031	35.2931	7438
+-108.7677	31.9252	7737
+-87.4883	37.5758	8377
+-90.3001	37.4635	8035
+-90.7359	38.2554	8770
+-108.6342	30.0021	6959
+-90.8655	37.2013	7676
+-117.0691	35.0613	8503
+-112.6353	29.8946	6380
+-120.5307	47.0328	7002
+-113.2787	28.7616	5054
+-87.339	39.3211	7362
+-109.8162	31.4203	8886
+-117.7015	30.2479	6773
+-117.6029	36.5155	6914
+-117.3212	46.5069	8154
+-116.6546	32.5029	9259
+-116.4101	38.07	5143
+-122.4386	46.3947	8799
+-93.7832	37.0323	5319
+-87.9205	39.8999	7134
+-81.4718	28.4852	8787
+-116.2291	35.8699	7331
+-119.4095	32.7635	7027
+-96.875	38.5805	2425
+-89.9696	40.6871	7289
+-119.053	34.5162	7545
+-94.4047	33.8956	2630
+-117.5681	32.7963	9082
+-85.4293	32.046	3781
+-82.341	27.3579	9374
+-117.8394	36.561	6817
+-110.0361	33.4003	7479
+-91.1907	39.8069	7991
+-117.1113	49.4008	5551
+-80.5707	29.0812	7582
+-83.5231	27.3534	8252
+-88.8676	38.3319	9059
+-113.9698	29.6845	5029
+-117.5501	33.898	9136
+-114.5244	34.2445	6544
+-118.7759	44.5983	7587
+-85.7113	36.21	6016
+-124.3685	48.7985	7027
+-118.7573	33.2768	7662
+-118.1394	47.5607	7706
+-118.6346	42.973	5928
+-87.451	38.4316	8106
+-81.7178	24.6867	6376
+-79.4382	29.098	6492
+-117.6421	36.8198	6579
+-115.4678	31.9814	7839
+-87.4904	38.3819	8173
+-90.2704	37.1557	8032
+-114.2068	36.1764	5525
+-112.0703	29.0568	6152
+-117.2444	35.2608	8308
+-91.4163	37.3327	7534
+-110.2133	27.389	4927
+-108.9237	31.7341	7938
+-126.5708	45.6975	5339
+-91.9155	37.2567	7118
+-109.8102	31.4757	8895
+-86.6844	40.7202	5666
+-96.0406	38.8614	3326
+-120.335	33.1799	6033
+-111.6009	33.9323	6582
+-125.9137	46.1128	6165
+-120.3501	48.0072	6581
+-116.5174	41.5847	4126
+-118.9281	48.7919	6329
+-117.6333	43.2625	6178
+-118.7054	31.0965	7025
+-117.5429	34.4849	9050
+-121.2621	48.6699	7010
+-114.19	45.6824	4903
+-119.8109	46.2884	7630
+-111.8077	31.5458	7876
+-115.6459	33.6628	8003
+-88.8826	38.1421	9265
+-116.4847	33.7791	8602
+-89.5059	35.9494	7717
+-117.7688	33.7653	8859
+-115.9511	45.5754	6729
+-87.938	36.9092	8555
+-119.0267	46.8284	8158
+-87.8533	41.3627	5504
+-90.1207	39.682	8381
+-113.7083	29.5968	5230
+-122.5166	41.599	3694
+-109.3865	29.9836	7460
+-118.632	33.5048	7898
+-89.7489	39.8916	8017
+-122.276	46.7001	8861
+-110.7256	35.9476	4726
+-83.7816	29.7762	6952
+-124.6953	44.7581	6479
+-120.0711	46.9837	7149
+-92.6229	37.2858	6540
+-91.2489	37.402	7698
+-116.70	38.8332	4374
+-116.2344	31.4641	8037
+-84.7579	30.6302	5498
+-109.5679	29.0558	6612
+-90.5183	35.7555	6906
+-122.9395	45.4389	7927
+-110.6573	30.784	8539
+-82.9656	33.165	3713
+-86.1022	36.4391	6522
+-119.0205	31.8122	7203
+-89.2807	38.5564	8661
+-87.4092	39.9453	6837
+-117.4585	36.2846	7182
+-91.787	39.4838	7717
+-88.502	37.7555	9502
+-119.646	45.6661	7746
+-88.7155	36.6804	8707
+-82.2628	26.6988	8676
+-82.2326	29.872	7508
+-119.093	32.1911	7280
+-86.2481	39.9925	5966
+-121.0379	48.8958	6660
+-82.9865	30.7894	6339
+-116.2911	33.4775	8699
+-109.0037	34.1071	6383
+-109.426	31.5101	8487
+-119.475	45.6558	7914
+-111.0152	31.976	8621
+-121.9752	46.1796	8272
+-80.6027	26.5885	7707
+-115.1883	35.3695	6900
+-113.278	47.3751	3790
+-117.731	45.2191	8159
+-117.5184	48.5274	6565
+-113.6878	33.1846	6073
+-116.1171	45.389	6846
+-124.8884	45.8941	7124
+-88.9933	35.7058	7600
+-110.4918	29.68	7404
+-76.8364	27.3103	3877
+-120.0934	31.2678	5861
+-110.7646	33.7115	7121
+-118.8259	38.5584	4420
+-80.9391	25.6635	7156
+-81.242	27.7098	8882
+-118.0625	32.6251	8512
+-88.9872	42.2932	5320
+-90.5107	40.8266	7182
+-117.6184	31.0746	7678
+-116.3101	29.4878	5968
+-113.0887	31.3676	6479
+-117.6597	34.4986	8952
+-109.3421	30.9056	8173
+-109.2746	34.7836	5821
+-80.2678	27.5472	7767
+-118.5196	47.2304	8038
+-124.9724	43.3021	4981
+-90.5414	33.5836	4818
+-119.2925	33.3518	7169
+-90.8078	38.626	8948
+-89.6945	40.7587	7136
+-111.6925	32.8461	7463
+-85.6922	38.0324	6340
+-108.6503	30.5843	7353
+-117.6253	34.4258	9033
+-122.8459	44.0756	6429
+-123.801	48.3361	7805
+-90.0111	37.2376	8338
+-85.1248	28.2735	6460
+-122.7492	46.7776	9340
+-119.289	33.9194	7319
+-119.6301	43.4985	6158
+-120.5129	47.708	6860
+-118.9945	42.7816	5666
+-81.6887	25.5074	7287
+-83.4813	28.4716	8171
+-121.3699	48.5426	7193
+-109.6458	32.6282	8118
+-111.6228	31.9912	8008
+-116.2514	31.9837	8528
+-90.2167	38.1612	8765
+-83.9764	26.1954	7152
+-117.1565	31.1936	7930
+-88.5189	36.7935	8797
+-119.6228	46.3824	7811
+-126.5423	48.0424	5434
+-89.48	41.3432	6465
+-88.2262	37.986	9110
+-82.3998	26.3996	8317
+-89.0985	37.3099	9269
+-121.4978	48.7536	7111
+-113.2324	35.8882	4739
+-118.1424	48.2179	7013
+-116.004	46.7969	6736
+-78.2203	30.0586	4762
+-114.4223	33.4685	6823
+-82.5322	26.6217	8521
+-91.5424	36.8474	7023
+-116.0089	35.8663	7202
+-86.2227	25.6271	4671
+-115.2856	47.935	5538
+-87.6947	35.8208	7420
+-82.2671	26.6979	8674
+-110.5761	33.7545	7106
+-116.2614	44.5471	6560
+-90.5568	38.9518	9138
+-115.0597	44.1844	5289
+-116.9673	37.6159	5725
+-93.9397	36.4981	4887
+-109.0025	29.6325	6915
+-123.4228	46.9065	9028
+-121.47	49.4225	6484
+-118.0507	35.9097	7420
+-116.3842	35.6758	7599
+-80.6902	27.7393	8259
+-119.1928	44.6203	7421
+-122.3027	46.6919	8884
+-122.1634	47.9175	8285
+-121.4887	47.476	7958
+-122.4681	46.0245	8468
+-122.5565	48.4623	7920
+-112.9948	31.5201	6589
+-122.4651	45.2777	7690
+-114.6759	36.3582	5813
+-116.7248	32.494	9303
+-81.2266	26.7475	8349
+-93.2744	39.6303	6167
+-118.5969	35.1154	7734
+-116.8182	31.9861	8812
+-117.5808	33.9059	9115
+-117.3697	30.6336	7277
+-114.3587	33.547	6732
+-92.7686	40.9265	5944
+-123.0323	45.9063	8432
+-116.3351	44.5001	6591
+-123.6718	46.3171	8498
+-88.9053	42.6203	4959
+-118.7629	32.9346	7745
+-108.7341	30.5298	7399
+-113.6451	30.4522	5682
+-119.2502	45.9044	8216
+-82.9605	29.5088	7711
+-88.8724	36.9585	9012
+-93.8158	40.1992	5408
+-122.2283	46.9197	8866
+-119.2329	33.0289	7078
+-91.2515	37.875	8096
+-122.1727	45.068	7372
+-85.408	37.0438	5981
+-116.7975	34.835	8617
+-89.8867	39.5553	8405
+-80.6852	27.9997	8233
+-87.5722	39.0687	7747
+-117.23	34.2607	9393
+-85.5034	39.4037	5665
+-115.7994	44.6422	6210
+-90.0335	40.0374	7986
+-86.6959	33.6998	4793
+-114.0599	32.2849	6457
+-119.3379	43.5136	6302
+-109.5574	30.7976	8277
+-87.8769	39.3533	7674
+-86.6161	35.3704	6284
+-120.7339	33.3198	5653
+-80.7558	27.3046	8249
+-82.8432	25.6818	7401
+-90.2313	38.4665	9078
+-123.4888	40.6911	2681
+-87.8547	38.3645	8526
+-111.1843	32.531	8094
+-123.7305	45.636	7883
+-119.6099	47.5386	7188
+-117.8182	33.6883	8765
+-119.1512	48.6075	6450
+-120.0491	30.7199	5595
+-123.3404	48.0281	8344
+-110.4103	29.0551	6733
+-89.249	36.6719	8575
+-90.9249	37.1189	7572
+-116.8637	48.4067	6392
+-122.8673	48.1471	8309
+-120.4489	44.5357	6431
+-88.752	41.4445	6029
+-82.8401	25.7653	7491
+-88.1478	39.0316	8132
+-86.8437	38.5961	7417
+-83.9173	25.5047	6633
+-117.5842	45.6399	8374
+-117.9512	32.2676	8495
+-88.6267	37.2057	9275
+-111.3857	30.787	8044
+-109.1728	31.0844	8105
+-117.119	32.8624	9575
+-119.2061	45.1554	7862
+-120.029	47.5856	6833
+-83.71	28.1667	8052
+-117.6314	31.754	8355
+-88.2475	34.5027	6217
+-91.3897	39.3517	8160
+-81.6954	26.2682	8126
+-120.32	33.169	6045
+-86.9195	38.6207	7481
+-109.5344	30.7325	8209
+-110.3063	28.7713	6427
+-119.438	35.0977	6946
+-120.1618	45.4286	7148
+-91.0322	39.7582	8132
+-84.5781	36.8757	5031
+-120.8105	46.09	7117
+-115.3834	35.1431	7207
+-83.4344	29.3241	7596
+-116.6243	33.2355	9149
+-116.7875	47.5754	7035
+-111.6052	32.1627	7959
+-79.321	25.5599	5848
+-123.5544	46.0185	8341
+-78.6991	28.8814	5807
+-90.0471	37.3028	8321
+-115.9383	32.2402	8438
+-116.2354	32.7044	8928
+-78.8081	30.2909	5169
+-117.5607	34.4628	9056
+-116.6261	35.2471	8136
+-119.0491	45.6007	8292
+-91.8567	37.5273	7361
+-87.3376	33.4793	4849
+-116.8236	44.115	6651
+-119.4154	46.0881	8061
+-90.977	39.1837	8632
+-93.4249	41.612	4923
+-89.0879	38.9181	8364
+-116.1502	32.2786	8662
+-123.264	45.8137	8278
+-109.80	32.7693	8065
+-116.7503	33.6931	8798
+-80.8961	30.7923	6194
+-107.6694	30.0143	6124
+-118.2377	47.9017	7352
+-87.9239	37.4779	8846
+-121.5351	46.4313	7995
+-119.1314	48.2391	6823
+-90.8826	39.8015	8170
+-120.8293	47.2467	7310
+-77.5195	29.0054	4488
+-90.5407	39.1354	8976
+-92.019	38.9908	7642
+-82.2597	27.582	9639
+-88.2363	39.3633	7819
+-118.1589	46.0796	9127
+-112.0687	33.2193	6890
+-79.6536	31.7965	4539
+-117.973	48.5493	6646
+-87.318	40.8416	5897
+-114.3633	33.336	6792
+-107.6003	29.4045	5687
+-88.6125	37.5181	9575
+-125.862	48.1441	6104
+-115.3639	29.0094	5145
+-90.4957	39.559	8544
+-88.3801	36.9215	8873
+-91.9351	40.9924	6485
+-123.1042	48.3105	8113
+-124.0205	45.4291	7516
+-119.5501	31.5708	6554
+-116.318	42.6938	5096
+-109.6177	33.5952	7160
+-116.0731	49.2583	5178
+-82.5935	25.9693	7793
+-123.1316	47.3877	9078
+-122.8511	47.0116	9533
+-117.6654	44.7938	7730
+-125.1049	47.4942	7115
+-115.3684	33.6871	7723
+-114.6911	34.8005	6636
+-121.0068	35.2996	5264
+-88.061	39.8082	7283
+-84.6458	37.2633	5167
+-113.9159	31.2501	5928
+-114.8876	30.8457	6557
+-93.6109	32.5262	1868
+-111.3063	32.4117	8089
+-113.3077	27.9801	4411
+-83.1455	29.2116	7896
+-89.5927	36.391	8110
+-115.6491	29.9383	6222
+-110.0832	30.4388	8204
+-122.794	47.54	8966
+-122.0146	36.1139	3926
+-110.7946	31.3365	8907
+-83.1724	28.7108	8304
+-116.2337	46.2646	7083
+-115.6523	32.9789	8276
+-89.0433	36.4316	8395
+-88.9432	37.4368	9490
+-127.0647	49.6797	4145
+-117.9592	47.3731	7869
+-117.6935	42.793	5703
+-119.944	31.1667	5956
+-91.4798	38.5182	8216
+-79.6935	29.0351	6781
+-88.4927	39.7479	7458
+-92.1171	41.2182	6173
+-89.9233	35.0246	6578
+-89.0213	35.3183	7164
+-124.514	46.4339	7739
+-119.3564	48.7962	6187
+-116.7528	45.4553	7502
+-119.1103	32.8862	7360
+-89.0716	37.0461	9040
+-116.2775	34.8014	8236
+-117.403	32.4905	9145
+-106.8465	34.1881	4758
+-123.3371	46.4921	8897
+-82.1179	30.1351	7213
+-118.3441	45.7323	8866
+-118.7728	36.985	6020
+-117.2607	43.8017	6596
+-107.1243	34.7344	4601
+-114.1323	47.23	4704
+-117.5777	29.4469	5933
+-115.0838	49.4039	4390
+-83.8712	27.0822	7779
+-87.2093	33.8697	5209
+-87.3527	36.1297	7471
+-94.6983	42.4809	3276
+-88.9982	36.5117	8494
+-124.4177	47.5656	7814
+-116.5233	30.7096	7351
+-124.0467	47.4333	8246
+-114.518	34.1665	6539
+-119.4206	37.0924	5545
+-108.6494	29.4266	6509
+-86.2154	37.2628	6916
+-89.6707	36.9768	8539
+-115.6685	31.1433	7391
+-89.3705	38.8306	8329
+-79.0168	26.7459	6182
+-85.0485	25.4031	5647
+-88.9827	36.5953	8589
+-79.8858	26.2186	6805
+-86.8973	37.5952	7715
+-89.8553	40.4792	7476
+-84.5852	26.1377	6562
+-91.526	40.2766	7369
+-120.3273	30.9932	5488
+-88.8342	39.0381	8273
+-87.9861	36.2911	8040
+-122.2218	47.6705	8532
+-84.4574	27.8847	7260
+-90.6737	37.2754	7804
+-120.1273	45.285	7125
+-115.0044	34.5084	7037
+-88.9718	34.9992	6813
+-112.1736	33.2084	6813
+-114.0958	31.8115	6360
+-79.5795	29.3615	6486
+-108.4874	29.593	6532
+-110.6533	32.1116	8804
+-82.3307	30.5042	6787
+-117.134	35.0717	8504
+-122.86	43.0083	5257
+-118.5361	48.6643	6532
+-119.9273	36.4906	5660
+-122.7585	45.966	8496
+-87.2794	36.9982	7985
+-93.1495	38.6267	6440
+-81.9265	30.0533	7295
+-120.1555	33.5059	6313
+-94.3896	40.508	4709
+-89.3143	39.1188	8205
+-117.5366	32.4806	9015
+-88.7505	35.5578	7449
+-126.2047	49.5812	4977
+-93.6889	37.4261	5586
+-120.4234	31.3628	5570
+-120.0149	46.8759	7251
+-89.817	38.1999	8573
+-109.65	32.5085	8227
+-85.0186	25.9133	6013
+-118.0122	48.1347	7087
+-118.5361	45.9354	8941
+-115.4409	32.1244	7884
+-88.5981	38.2955	9084
+-86.2179	30.6825	4215
+-118.3252	36.0831	7118
+-89.6189	38.3708	8505
+-113.8698	30.7725	5542
+-119.5969	47.1768	7462
+-91.6332	39.2834	7960
+-86.91	37.7622	7728
+-114.8892	34.013	6941
+-85.222	39.4694	5351
+-116.1881	37.3476	5840
+-89.4056	40.2719	7475
+-114.817	30.4371	6176
+-115.8097	33.4915	8259
+-81.8817	27.8245	9600
+-121.4221	45.8358	7562
+-111.25	33.2965	7368
+-87.6512	38.7792	8046
+-91.9625	34.7766	4816
+-109.001	31.8826	7994
+-82.7436	31.8069	5270
+-90.5652	38.4365	9034
+-119.7142	30.0586	5411
+-118.2238	33.6239	8355
+-83.9108	27.4024	7840
+-119.9589	32.1879	6342
+-91.7618	42.2935	5326
+-109.8128	35.6112	5073
+-121.1748	44.2743	6093
+-90.2759	38.2998	8926
+-124.8015	49.5851	6051
+-120.3692	45.195	6852
+-114.5077	34.3873	6516
+-118.6659	37.346	5715
+-84.4919	28.3176	7152
+-88.9744	38.6332	8705
+-118.7449	30.2798	6297
+-116.8002	48.1337	6595
+-121.4651	46.8161	8021
+-123.715	48.4619	7735
+-121.5396	47.491	8004
+-78.6724	28.3537	5921
+-80.0991	28.4989	7446
+-79.069	27.7566	6426
+-118.0311	46.3047	8917
+-116.2437	33.653	8520
+-88.2379	37.9038	9164
+-123.9296	47.4184	8371
+-88.4742	40.1734	6858
+-107.2084	32.6193	5907
+-116.7053	47.4026	7093
+-121.8429	35.694	4264
+-85.9445	27.9289	5577
+-78.4572	27.7127	5733
+-111.4683	30.5193	7788
+-87.4345	41.6938	4933
+-118.7359	44.7621	7765
+-88.6659	41.2058	6194
+-123.0474	42.0565	4209
+-116.4798	46.0372	7349
+-125.1189	44.8753	6256
+-117.2933	47.0439	7812
+-109.4974	32.7681	7903
+-115.3494	47.2509	5923
+-116.0716	49.3677	5082
+-87.3489	41.3001	5436
+-90.9735	37.8937	8303
+-113.3569	33.1488	5785
+-114.6922	49.5914	3956
+-115.7983	46.2682	6623
+-92.5424	39.5263	6951
+-116.0619	44.7198	6491
+-115.9703	34.1276	8124
+-116.8794	38.7707	4462
+-89.6069	38.3796	8497
+-83.985	31.0991	5579
+-88.9871	38.9417	8362
+-109.149	30.1787	7483
+-79.2499	30.9685	5018
+-110.0776	33.3714	7517
+-90.5212	39.3131	8799
+-110.7294	30.1886	7903
+-88.5734	36.8353	8858
+-89.9626	39.7122	8292
+-114.1074	31.5371	6259
+-80.9105	27.4755	8470
+-85.2437	30.4123	5273
+-90.1365	35.5265	6963
+-117.6267	48.4361	6691
+-120.5777	32.4713	5707
+-88.77	37.9276	9521
+-117.3231	46.727	8046
+-79.6249	28.2033	7012
+-118.3541	33.9229	8330
+-90.2308	36.955	7988
+-88.549	42.272	5144
+-83.4663	26.5989	7888
+-85.3929	28.9413	5973
+-125.3277	44.2792	5627
+-117.2441	45.0972	7731
+-120.3049	44.9765	6811
+-117.4371	36.0052	7488
+-118.9188	31.6462	7214
+-110.5913	28.5958	6225
+-115.0352	32.0888	7451
+-111.7592	34.4822	5973
+-109.8484	31.7596	8915
+-93.1043	36.2896	5470
+-119.7175	48.5306	6272
+-116.1566	36.5987	6589
+-89.0122	39.7692	7583
+-89.424	39.4089	8170
+-124.0159	44.2165	6346
+-91.2238	39.4264	8262
+-118.1147	49.2444	5926
+-115.6719	47.4569	6144
+-110.401	31.8527	9173
+-92.0121	40.3492	6964
+-123.2069	49.3537	6962
+-118.438	35.0931	7886
+-91.6802	35.4892	5642
+-114.421	35.0559	6275
+-113.3426	30.683	6070
+-90.6166	39.884	8176
+-83.5158	27.7519	8328
+-88.5765	35.7018	7600
+-121.4944	46.1838	7839
+-92.1376	39.4898	7372
+-87.9143	37.1582	8701
+-117.2962	32.9991	9333
+-118.3163	34.7852	8190
+-88.3231	38.4561	8798
+-119.3438	35.3575	6908
+-85.6453	38.4384	6206
+-85.695	39.7457	5651
+-90.6365	38.5615	9084
+-89.6212	40.6522	7216
+-118.2984	44.3571	7415
+-121.4445	45.3599	7224
+-114.8145	37.4282	5058
+-125.6482	47.8409	6438
+-89.264	37.1415	9004
+-119.6536	49.3672	5508
+-120.8605	33.4465	5547
+-119.1977	47.1705	7770
+-81.4686	28.9677	8339
+-86.7484	26.8064	4559
+-110.5648	30.2122	7967
+-87.6047	41.0331	5817
+-110.233	27.7077	5273
+-82.5702	30.2417	7049
+-112.3141	29.5877	6427
+-118.5715	34.5724	8036
+-119.4035	49.7777	5189
+-91.148	37.1714	7534
+-115.9903	32.3371	8540
+-93.555	38.6171	6003
+-117.8084	47.4517	7743
+-119.0716	37.4173	5450
+-118.0661	35.7873	7534
+-118.1298	34.77	8368
+-88.3699	37.5135	9338
+-118.806	48.6746	6478
+-115.8833	43.8876	5804
+-86.1087	41.2602	4797
+-120.6796	47.1269	7160
+-121.8022	42.8078	4881
+-119.477	36.4867	6016
+-117.3696	47.8909	7131
+-116.6634	35.0758	8317
+-115.5753	32.5752	8178
+-90.0975	36.1738	7571
+-89.9553	39.6176	8382
+-116.0748	32.3518	8631
+-82.8247	27.159	8851
+-114.8056	31.0417	6634
+-83.7212	30.4267	6388
+-120.3315	48.2388	6457
+-118.1133	34.9077	8286
+-117.3238	35.277	8289
+-123.8191	48.8357	7318
+-118.5928	34.5318	8027
+-88.4587	37.2736	9255
+-120.8365	46.3134	7228
+-89.7896	42.1143	5742
+-87.7604	38.5291	8327
+-112.3707	33.3974	6518
+-116.5058	36.394	6936
+-83.4336	25.4092	6847
+-87.9374	38.3913	8578
+-118.2201	35.6568	7577
+-82.2649	28.9609	8533
+-84.6709	26.588	6727
+-90.7153	38.972	8994
+-84.431	29.8668	6371
+-111.3967	28.7115	6156
+-84.8846	25.9743	6178
+-124.345	44.8096	6754
+-112.1412	34.7796	5495
+-113.3974	30.5737	5978
+-111.8381	48.4202	2006
+-90.5233	36.123	7190
+-115.4125	31.9826	7786
+-118.7056	44.2743	7276
+-77.7481	27.2148	4892
+-117.0838	44.5982	7225
+-116.1841	37.4862	5695
+-116.5598	27.7746	4111
+-92.272	36.5205	6275
+-116.9772	48.0924	6737
+-89.1954	38.9807	8120
+-122.2951	46.5408	8793
+-113.4269	35.4314	5117
+-89.0294	38.8679	8434
+-82.4219	27.9272	9519
+-79.1424	28.3811	6438
+-91.9295	35.5156	5560
+-122.9664	45.5933	8096
+-81.6468	24.4564	6107
+-114.7478	42.8664	4186
+-84.0154	24.6928	5815
+-106.9758	31.2899	5822
+-119.3521	28.6012	4350
+-113.1133	33.8257	5604
+-115.4703	43.4008	5132
+-111.7145	30.8667	7788
+-117.165	47.4786	7381
+-116.5007	45.4669	7257
+-88.7134	39.0704	8238
+-113.9953	32.7812	6438
+-87.6629	35.1856	6768
+-87.0442	41.8849	4700
+-118.0218	34.6254	8555
+-78.9032	29.2574	5868
+-120.5176	33.7572	5968
+-123.3094	49.0734	7248
+-89.6629	36.8075	8422
+-91.0203	41.6793	6193
+-118.3973	46.7579	8553
+-90.6661	36.9592	7470
+-119.2311	35.6116	6856
+-119.0523	43.9409	6833
+-88.6856	37.642	9720
+-109.1513	29.9685	7305
+-115.4064	33.0272	7997
+-112.9681	32.1992	6542
+-122.2983	31.1693	3529
+-125.1255	45.7555	6823
+-117.4677	47.2769	7744
+-119.2959	34.1662	7324
+-124.0892	46.5838	8234
+-91.2753	41.2216	6592
+-79.2818	27.1711	6597
+-86.6844	40.339	6012
+-83.584	32.1799	4637
+-88.3716	38.7272	8544
+-81.9969	27.6429	9684
+-120.5834	33.2782	5802
+-112.4475	31.8577	7164
+-117.3371	36.1011	7390
+-86.7045	39.2681	6884
+-89.1303	38.198	9092
+-83.473	26.3645	7699
+-119.6688	31.1846	6232
+-117.2551	35.0044	8588
+-81.6809	27.4167	9245
+-93.8333	38.6108	5703
+-117.3826	37.5429	5816
+-90.6214	36.702	7202
+-113.4407	49.7567	2834
+-90.1595	40.5807	7436
+-108.8919	35.7357	4711
+-88.6156	39.4808	7771
+-117.0791	48.3828	6527
+-90.5772	38.8562	9186
+-83.2141	27.078	8443
+-92.1487	39.9996	7093
+-115.6985	34.9979	7585
+-88.8858	35.8989	7827
+-111.5858	30.5035	7682
+-113.9571	33.9878	6151
+-116.0678	34.5099	8167
+-121.242	47.7973	7569
+-79.7477	28.8969	6906
+-80.8679	28.2943	8341
+-118.2625	39.9953	3052
+-83.9282	27.6914	7860
+-88.0738	39.3836	7736
+-116.8336	33.6511	8831
+-122.3188	47.4539	8773
+-123.6506	46.3925	8568
+-84.0369	31.5252	5126
+-90.1375	37.1909	8186
+-88.6098	38.7657	8568
+-117.2216	34.8855	8716
+-122.5866	42.7101	4917
+-82.6908	26.4581	8283
+-93.5094	41.7086	4785
+-118.5055	45.6466	8726
+-88.4085	39.3985	7829
+-88.5757	33.6121	5259
+-82.9796	28.2694	8779
+-84.7016	26.4726	6639
+-115.8888	32.9192	8545
+-111.6429	31.4989	8052
+-118.8687	34.0348	7787
+-108.803	32.9739	7233
+-116.0212	34.9599	7907
+-81.7386	27.5982	9407
+-117.1644	36.345	7123
+-115.7118	33.3157	8247
+-89.3361	39.988	7677
+-81.5742	25.9574	7750
+-89.7394	41.7023	6167
+-91.7032	38.617	7994
+-90.4569	35.1912	6451
+-81.2926	27.0812	8665
+-119.7451	43.638	6228
+-87.1758	27.9758	4183
+-89.717	36.8661	8421
+-115.6841	31.6122	7790
+-121.3535	44.479	6388
+-116.0026	47.4797	6437
+-83.1204	25.6039	7203
+-108.454	31.415	7429
+-117.3903	44.9458	7715
+-107.8242	27.43	4216
+-117.0187	30.91	7625
+-84.3624	27.6997	7369
+-117.498	36.5945	6841
+-118.3735	36.7607	6428
+-88.2004	39.9903	7130
+-119.2225	34.2539	7400
+-90.675	37.6393	8187
+-118.1861	33.4298	8275
+-116.1955	34.7826	8172
+-89.1357	39.3374	7938
+-116.2537	33.0727	8908
+-109.9993	32.8307	8074
+-90.7615	40.5381	7454
+-124.8621	44.768	6369
+-123.9954	46.0832	8060
+-118.7632	32.7598	7748
+-88.7164	37.32	9423
+-118.6603	45.2423	8268
+-118.6295	30.3923	6474
+-119.1277	32.1599	7233
+-122.5766	48.68	7691
+-122.5871	46.017	8508
+-88.5289	37.7384	9536
+-117.1097	31.604	8391
+-90.6418	38.9043	9100
+-118.3304	35.6866	7484
+-90.3853	39.3284	8801
+-92.1695	39.2261	7432
+-118.4937	31.1678	7246
+-116.7079	32.6143	9387
+-91.2508	39.0899	8420
+-117.8401	33.4662	8578
+-115.9609	36.0684	6991
+-120.2005	34.4776	6316
+-123.9849	49.3428	6736
+-122.0217	49.5269	6632
+-117.7652	32.1082	8562
+-83.9382	26.9432	7648
+-111.5732	28.3632	5735
+-120.3855	45.4063	6916
+-115.2295	30.4679	6494
+-89.9277	41.7587	6145
+-119.6633	36.6052	5782
+-123.8351	45.444	7643
+-120.4737	33.8744	6028
+-124.6666	45.4535	7051
+-123.8547	46.0599	8160
+-116.6947	46.346	7558
+-88.8264	41.9246	5613
+-106.5075	34.6128	4186
+-109.8996	30.5124	8222
+-111.2915	30.3666	7796
+-116.6802	44.2843	6695
+-119.8715	48.972	5785
+-118.5353	45.3136	8386
+-109.1593	30.0242	7359
+-86.0037	38.9505	6395
+-82.4588	27.1629	9116
+-110.499	33.9081	6948
+-90.887	38.4144	8772
+-117.4922	33.2592	8986
+-112.7468	33.3694	6220
+-121.896	46.4183	8349
+-117.7232	33.9185	8987
+-121.3318	32.0718	4814
+-118.1971	42.5986	5551
+-116.6694	30.9397	7633
+-117.0461	33.2976	9209
+-117.4637	45.3451	8080
+-89.0771	39.6472	7716
+-119.4261	35.3963	6809
+-117.9523	44.2919	7314
+-117.3686	31.7303	8461
+-118.6463	48.4548	6737
+-117.7319	34.8033	8648
+-119.5028	32.8869	6923
+-88.3389	36.6255	8552
+-111.1455	35.5871	5047
+-110.3286	34.4749	6341
+-110.5854	31.9362	9004
+-109.2795	31.7082	8324
+-116.5225	30.3639	6973
+-91.9411	37.2801	7116
+-117.1919	31.7026	8485
+-120.5815	45.4821	6740
+-121.8174	49.6206	6457
+-86.3846	28.5054	5011
+-86.0442	28.3816	5413
+-90.9837	34.7471	5701
+-118.6818	33.5356	7862
+-91.6515	41.3935	6264
+-117.5808	32.8105	9068
+-120.3391	36.8731	5047
+-111.2085	33.3998	7289
+-84.5359	30.4954	5779
+-90.0619	37.7157	8257
+-118.648	44.2081	7220
+-114.0925	34.3601	6067
+-121.4451	47.5456	7886
+-82.9275	30.2432	6950
+-118.7814	34.472	7845
+-111.2817	30.4525	7875
+-83.6094	24.5959	5936
+-120.0156	34.7271	6470
+-108.5327	32.2955	7376
+-107.2353	32.2996	6028
+-120.0716	36.5835	5475
+-117.3904	30.5644	7197
+-116.2223	31.3703	7939
+-119.1357	44.845	7654
+-81.9507	24.8394	6574
+-117.1909	34.4408	9192
+-113.0689	32.2324	6427
+-121.0983	44.7732	6488
+-93.3377	38.3482	6211
+-109.8838	31.8532	8905
+-118.6915	29.0944	5177
+-115.3299	32.0966	7758
+-88.5904	36.2424	8205
+-117.7936	47.6613	7528
+-118.7878	33.6094	7783
+-90.848	39.3771	8583
+-92.2542	36.7227	6451
+-125.8364	47.8282	6244
+-82.4522	31.3756	5793
+-116.0487	31.6085	8061
+-117.4204	36.8097	6614
+-119.167	44.7499	7552
+-111.6128	32.2829	7894
+-124.4136	46.3549	7813
+-108.2864	34.0978	5961
+-124.8654	47.9073	7212
+-118.793	29.9342	5947
+-117.809	33.0245	8785
+-118.1751	47.6988	7563
+-89.1409	35.9095	7799
+-109.6993	32.0033	8650
+-86.6429	37.9349	7412
+-109.0945	31.5161	8129
+-119.6975	46.841	7570
+-105.5976	32.2183	4297
+-87.0864	39.3191	7169
+-121.5435	49.8605	6095
+-115.4674	31.3241	7393
+-118.1872	34.4004	8492
+-117.1207	32.6884	9529
+-91.7188	39.3215	7859
+-113.3104	33.1646	5821
+-117.6253	33.1811	8913
+-80.5612	27.5398	8095
+-92.5344	38.8418	7104
+-92.4207	42.3702	4947
+-118.3205	35.5139	7643
+-116.6867	32.1709	8968
+-120.4789	45.3312	6797
+-117.5855	33.8223	9052
+-121.9684	44.4381	6646
+-119.2652	36.3933	6247
+-89.1119	40.8994	6733
+-118.628	34.8826	7843
+-120.0907	47.3826	6913
+-122.2713	35.5708	3858
+-118.5766	35.276	7642
+-108.9332	35.6176	4847
+-83.3575	25.4217	6900
+-124.8737	45.5594	6943
+-92.4405	41.17	6001
+-124.5993	46.9527	7739
+-109.68	28.3251	5873
+-86.008	41.0864	4882
+-90.6245	36.1758	7142
+-85.4159	28.5188	6082
+-115.1592	34.523	7200
+-118.1939	28.4329	4675
+-113.6353	30.2135	5600
+-117.9513	35.6517	7721
+-83.5493	24.9191	6295
+-122.6748	48.7113	7674
+-107.4986	32.4184	6272
+-111.7965	30.7223	7634
+-119.0209	34.2635	7619
+-107.6074	31.6112	6520
+-118.6434	34.2659	8029
+-109.7807	30.2847	7945
+-84.4109	28.6458	7130
+-117.0814	44.0672	6759
+-80.9105	28.0177	8480
+-89.9262	37.1113	8372
+-119.1604	34.0668	7471
+-84.8791	26.8087	6602
+-117.0092	35.8285	7668
+-81.5563	25.7144	7481
+-94.0011	39.1121	5505
+-122.8123	48.1248	8330
+-123.486	47.2948	8868
+-82.5015	28.844	8604
+-108.7561	32.235	7625
+-105.8054	31.8194	4561
+-117.9612	35.4977	7868
+-120.3059	47.5912	6599
+-86.6281	40.0207	6245
+-84.4081	28.1852	7276
+-122.3235	35.0114	3939
+-80.6642	28.6796	7936
+-113.256	33.3137	5794
+-90.7623	37.3649	7877
+-113.5721	26.8893	3295
+-92.4579	35.3464	5128
+-125.0254	44.952	6389
+-120.9748	45.783	7123
+-113.4193	31.6581	6129
+-116.155	44.9243	6685
+-116.3279	34.0336	8508
+-118.825	47.6602	7511
+-110.513	33.0574	7865
+-92.1675	39.268	7422
+-107.9708	34.6139	5310
+-117.4411	31.3494	8033
+-117.6222	33.8908	9068
+-88.4159	38.7039	8585
+-89.0343	38.9317	8363
+-116.1793	33.3031	8721
+-119.3266	29.2308	4965
+-114.9455	48.5234	4892
+-116.4727	43.5058	5910
+-88.3721	37.6087	9368
+-88.4638	37.3517	9325
+-109.5938	31.0656	8496
+-110.8347	30.0219	7697
+-117.1112	30.8164	7516
+-109.3656	33.8892	6764
+-124.1073	43.5598	5635
+-111.6322	34.0949	6410
+-89.0821	42.2235	5426
+-124.3578	48.0082	7638
+-118.892	32.3637	7547
+-117.1395	31.3934	8154
+-120.8241	33.6903	5627
+-88.1987	36.617	8476
+-120.4419	49.7224	5549
+-82.7449	26.6278	8430
+-117.3649	36.171	7313
+-108.3097	34.809	5348
+-117.5299	32.2151	8834
+-112.9326	32.2789	6558
+-116.4434	31.046	7693
+-107.9352	35.2193	4754
+-112.1686	28.4806	5568
+-120.9969	45.7073	7099
+-90.1756	38.3141	8904
+-119.5407	46.8363	7717
+-118.7269	29.5839	5647
+-117.0383	33.2758	9234
+-116.3803	32.0203	8650
+-117.5767	32.7825	9071
+-89.9758	40.8249	7145
+-112.7448	31.2102	6830
+-91.8757	35.4874	5557
+-85.0114	24.5522	5011
+-124.2279	43.8142	5848
+-117.036	46.9578	7657
+-84.8254	24.8316	5387
+-121.1528	48.4895	7060
+-116.0392	32.0286	8395
+-126.332	48.2031	5598
+-111.5542	32.55	7786
+-89.3873	41.1367	6637
+-118.5491	35.5689	7438
+-123.6751	46.7485	8722
+-81.2767	25.8724	7540
+-119.7726	46.0134	7681
+-80.721	27.4711	8260
+-120.5408	45.8112	6850
+-121.5969	44.8934	6916
+-112.8327	32.9541	6385
+-117.6502	33.8685	9029
+-87.9669	37.3586	8853
+-123.3059	31.5419	2540
+-92.9873	41.8672	5046
+-91.9222	38.2777	7689
+-92.082	34.3315	4537
+-110.6253	31.9822	8938
+-113.2772	33.0484	5911
+-109.9182	34.3657	6426
+-117.87	45.2265	8237
+-89.7713	39.559	8331
+-116.1651	45.46	6917
+-123.8461	45.7444	7908
+-109.115	33.2991	7194
+-92.4702	38.4589	7153
+-119.3464	44.2414	6993
+-120.1332	44.6057	6742
+-118.635	36.4247	6627
+-124.1475	47.8208	7945
+-89.3973	41.6625	6110
+-122.4003	46.4951	8851
+-78.9739	25.4792	5480
+-88.1354	37.9938	9017
+-89.8879	36.3503	7875
+-118.5815	45.6037	8647
+-88.0588	34.4381	6106
+-89.7363	35.6816	7336
+-109.6761	31.5634	8761
+-82.3566	25.5461	7368
+-107.9524	33.5279	6143
+-90.5334	37.0921	7630
+-90.7715	40.2919	7711
+-118.3623	45.5377	8659
+-112.0541	35.1992	5135
+-91.3998	40.87	6890
+-122.8945	46.6071	9211
+-122.9399	44.3089	6686
+-120.3119	48.7138	6175
+-87.7873	38.0894	8617
+-114.2954	34.20	6296
+-109.2717	31.1287	8222
+-108.5978	29.8995	6854
+-114.7161	48.2809	4832
+-120.7818	46.6916	7260
+-82.8853	28.5904	8631
+-122.3372	46.4866	8794
+-83.3909	27.5975	8457
+-123.0406	45.5065	7995
+-93.6523	41.3651	4912
+-110.1456	32.2059	8769
+-81.3085	27.7184	8958
+-113.2844	28.9122	5161
+-117.1965	31.8964	8695
+-79.9365	27.7483	7407
+-88.7663	37.484	9611
+-124.0379	47.4641	8242
+-124.5489	47.3128	7755
+-117.2313	31.526	8283
+-118.2997	35.6888	7501
+-125.5691	47.3238	6648
+-91.7716	35.1933	5309
+-124.5478	45.1453	6908
+-89.6848	41.756	6098
+-120.567	47.4555	6987
+-82.66	30.6682	6556
+-116.7218	31.3576	8103
+-79.3311	30.2341	5668
+-119.4119	45.4189	7864
+-110.4444	28.3732	5993
+-92.5792	41.3334	5770
+-114.4695	34.7455	6415
+-91.0137	41.6918	6182
+-91.0303	38.5217	8685
+-86.418	38.6021	6977
+-116.1792	33.3357	8701
+-117.8207	32.9787	8783
+-120.6231	47.7777	6951
+-119.0086	32.2858	7399
+-77.8867	29.9183	4506
+-122.1986	47.4785	8652
+-109.9575	33.7357	7106
+-121.5552	48.3079	7519
+-120.408	33.5464	6052
+-112.2764	31.3729	7356
+-120.0662	47.1654	7061
+-118.0936	46.4209	8866
+-89.8705	36.5738	8072
+-78.8351	28.2636	6119
+-110.0166	35.0251	5729
+-108.6571	30.4957	7309
+-81.1857	27.0809	8569
+-88.509	35.3136	7159
+-81.8512	26.2425	8139
+-93.0887	41.6997	5110
+-81.1779	29.7698	7382
+-124.2491	45.2434	7202
+-114.6495	37.3914	4979
+-123.6327	45.9688	8246
+-117.2408	33.0754	9332
+-123.6968	46.3779	8518
+-80.4669	28.2608	7926
+-92.6423	38.7914	6989
+-88.1812	39.5103	7643
+-92.3425	37.4885	6913
+-82.2979	26.3563	8286
+-120.5005	44.9723	6626
+-89.3164	36.1482	8003
+-84.034	29.3607	7086
+-90.7765	40.861	7110
+-119.2885	28.1879	3977
+-109.01	29.6616	6946
+-118.8998	36.1368	6718
+-88.2842	37.2622	9109
+-79.4567	26.9277	6719
+-119.5667	44.0355	6686
+-117.1706	35.6809	7847
+-109.5895	34.4291	6287
+-117.6395	46.7786	8270
+-107.4189	30.3843	6059
+-118.5863	48.3589	6847
+-118.6491	28.8877	4986
+-87.1168	35.041	6335
+-78.8254	24.6758	4771
+-116.9501	33.8402	9067
+-91.4441	36.691	6928
+-107.227	33.8962	5278
+-122.3511	44.7319	7078
+-115.62	35.6846	7070
+-115.6666	34.6998	7686
+-89.3542	34.8798	6619
+-94.1733	39.4858	5263
+-113.5754	44.6876	4055
+-117.3788	33.9277	9282
+-91.1313	38.7738	8618
+-115.7689	31.0309	7355
+-119.5022	45.2202	7668
+-111.9921	30.5887	7378
+-120.3915	33.991	6126
+-90.7479	35.6694	6658
+-114.9956	31.5738	7154
+-82.08	26.1004	8006
+-91.4703	38.9135	8240
+-117.9355	47.0555	8184
+-84.2396	26.9478	7336
+-115.7439	35.4868	7316
+-109.1676	32.1214	8083
+-81.3488	27.3121	8867
+-118.446	46.5774	8726
+-121.0812	48.4979	6994
+-80.3722	26.8344	7638
+-84.5343	27.9121	7171
+-116.5044	32.8461	9236
+-118.6847	46.3433	8763
+-121.9262	43.2385	5373
+-109.8002	31.0298	8641
+-125.3175	46.8939	6949
+-111.5088	29.5161	6897
+-110.6509	31.2096	8942
+-89.9399	38.8078	8942
+-92.0318	38.8386	7645
+-120.8034	31.7327	5306
+-119.5327	46.10	7937
+-116.2309	33.2001	8827
+-117.7915	33.992	8945
+-114.7287	34.9763	6621
+-81.3743	29.3667	7889
+-115.1983	33.3305	7699
+-110.9337	27.2614	4746
+-84.9602	37.8879	5535
+-120.1417	46.1682	7291
+-88.9921	38.5996	8737
+-82.0117	29.1997	8265
+-109.2232	33.1802	7366
+-83.6382	25.1757	6503
+-86.1987	39.5282	6254
+-117.9225	34.075	8820
+-119.0206	37.1846	5699
+-110.0025	33.9641	6869
+-117.694	34.9948	8489
+-81.6715	28.5089	8903
+-118.3765	42.9951	5971
+-81.565	27.7724	9249
+-84.642	26.3275	6620
+-82.4946	27.9301	9444
+-118.7742	34.9424	7671
+-117.7926	33.1687	8751
+-127.4525	45.7829	4438
+-116.074	32.0207	8419
+-118.5624	30.3666	6492
+-121.9734	44.9243	7142
+-107.776	31.8474	6688
+-114.7615	36.0505	6097
+-125.0901	47.2722	7177
+-90.6549	39.9243	8125
+-118.218	30.9816	7275
+-107.5158	31.4207	6416
+-123.3292	49.717	6548
+-113.5813	33.7273	5843
+-119.0554	32.2719	7345
+-117.0216	46.4211	7882
+-116.8747	36.0953	7355
+-86.273	35.3727	6012
+-118.7834	34.2529	7878
+-118.8068	49.1657	5967
+-112.7057	35.2138	4775
+-120.9228	47.4796	7362
+-83.0651	24.9961	6585
+-86.6556	35.0889	6076
+-94.6578	40.4952	4448
+-116.7636	31.1249	7852
+-114.1897	32.3502	6612
+-86.2009	38.8322	6652
+-81.7085	27.4792	9312
+-120.3138	43.7189	5946
+-113.8323	29.5671	5098
+-120.4161	47.9775	6660
+-113.1504	32.0505	6380
+-116.4389	42.7592	5219
+-121.6106	34.4266	4789
+-80.4449	24.0973	5323
+-123.5508	46.9967	8890
+-120.5346	42.5676	4824
+-88.2825	38.8962	8331
+-90.3405	35.5047	6814
+-84.8871	26.2487	6335
+-120.6984	48.9645	6340
+-114.5346	37.324	4956
+-77.9685	26.2673	4884
+-117.8542	34.4017	8833
+-115.7892	47.8015	6063
+-90.9192	38.7289	8846
+-116.3703	32.8255	9088
+-89.8185	40.125	7822
+-118.3338	34.9187	8092
+-92.6518	43.9683	3291
+-120.8475	33.8924	5623
+-82.2071	26.1179	8025
+-111.4771	33.1275	7391
+-118.6825	33.8953	7972
+-116.4119	47.7488	6619
+-117.4432	31.3767	8061
+-107.962	30.2693	6536
+-84.126	28.6999	7403
+-118.9116	33.3698	7560
+-117.8674	28.9744	5351
+-81.1852	30.3542	6775
+-86.0609	41.8821	4192
+-115.4082	44.3922	5719
+-111.9139	32.5841	7447
+-124.2939	44.743	6723
+-114.5771	34.1295	6604
+-120.9789	33.7929	5471
+-113.8514	31.4591	5963
+-88.9234	41.181	6368
+-120.8353	44.4753	6057
+-117.5558	36.5754	6855
+-116.2987	35.329	7860
+-116.7485	34.0682	8968
+-109.1486	30.3965	7657
+-109.0701	31.1147	8014
+-117.417	45.1237	7878
+-89.1687	35.34	7165
+-88.472	38.4948	8828
+-87.9378	37.9559	8830
+-122.718	48.5333	7873
+-124.174	44.8721	6913
+-117.684	40.1421	2919
+-114.731	31.2041	6678
+-113.2765	34.616	5154
+-77.6487	27.20	4778
+-117.2104	48.6399	6340
+-117.2659	32.2738	9061
+-116.8497	33.8676	8999
+-86.5774	37.3987	7339
+-91.3228	37.7665	7958
+-92.9266	37.3832	6312
+-120.8108	35.114	5527
+-119.5229	35.9024	6410
+-118.421	34.1277	8279
+-79.592	28.0591	6998
+-88.0794	39.0775	8053
+-120.1416	42.5691	5035
+-92.3655	38.0774	7168
+-111.2266	36.0934	4492
+-119.6588	27.9985	3597
+-88.2063	35.4786	7280
+-111.1792	28.9081	6434
+-119.474	34.3572	7118
+-80.6201	25.8166	7100
+-114.6753	33.3661	7125
+-110.2952	32.5491	8426
+-107.8878	31.0667	6765
+-118.1741	43.5774	6586
+-84.0157	27.1228	7642
+-117.4438	33.5844	8909
+-81.365	27.5167	8978
+-115.3232	44.9039	5879
+-84.0576	31.089	5549
+-116.0981	44.9686	6654
+-118.2895	30.9542	7205
+-112.4047	31.6226	7229
+-122.6894	47.8323	8627
+-109.7114	33.52	7270
+-111.5987	29.0542	6410
+-83.4482	28.7057	8064
+-118.2319	30.6317	6937
+-113.9586	30.5582	5557
+-116.0076	48.3249	5890
+-124.4177	48.0282	7571
+-117.5859	33.9978	9159
+-87.9717	34.0016	5606
+-81.2544	30.6918	6437
+-118.2328	32.6663	8331
+-115.5861	35.2584	7332
+-82.8441	27.2512	8899
+-90.1345	36.2758	7626
+-82.9712	29.1028	8108
+-90.99	34.742	5692
+-87.5374	37.7327	8433
+-109.4161	32.7703	7848
+-114.3299	33.2668	6769
+-90.1261	36.0274	7425
+-122.1183	47.5594	8528
+-91.5751	39.4346	7943
+-85.0335	30.0389	5724
+-114.5549	29.2729	4972
+-86.8413	42.1777	4309
+-87.0071	40.7951	5785
+-115.8229	35.5267	7349
+-87.8942	40.7268	5998
+-122.0617	46.8123	8670
+-122.8467	44.9333	7372
+-90.1242	40.7744	7225
+-88.8824	39.1959	8093
+-84.758	40.1602	4515
+-109.5475	32.8573	7852
+-89.9093	36.1429	7678
+-117.0678	46.4312	7926
+-124.6532	46.3141	7551
+-87.5964	35.6535	7202
+-110.4228	32.5988	8369
+-119.3848	48.4224	6538
+-92.6737	36.2573	5776
+-109.1804	26.9862	4339
+-80.7823	28.6745	8051
+-118.3218	31.8853	7919
+-79.2544	26.8425	6472
+-118.2037	45.2501	8357
+-117.0851	45.8074	7954
+-106.5443	29.343	4704
+-111.4991	33.0333	7458
+-81.8907	24.5835	6281
+-119.4758	33.6867	7079
+-87.9233	39.5929	7454
+-117.6707	43.3436	6270
+-86.4072	36.6885	6948
+-117.3055	36.3843	7082
+-115.4169	29.8308	6001
+-86.1356	37.4559	6852
+-126.1228	46.3645	6004
+-115.1861	33.2003	7721
+-119.6301	47.9878	6805
+-114.4663	31.0889	6363
+-93.7936	38.3429	5723
+-89.798	39.0485	8716
+-79.8151	27.4319	7243
+-117.8031	33.8506	8876
+-117.4404	35.3303	8218
+-116.9807	47.0844	7531
+-114.7591	36.3192	5909
+-93.3561	35.0659	4322
+-119.3713	33.8792	7225
+-118.7663	48.2348	6942
+-88.8472	39.0513	8257
+-119.3166	45.9624	8157
+-124.1611	49.3762	6618
+-83.642	27.065	8010
+-118.9224	47.5306	7601
+-90.1794	37.7703	8346
+-110.321	32.1308	8880
+-117.5089	32.155	8799
+-119.5252	31.8625	6707
+-109.2068	34.7229	5860
+-88.2784	36.3778	8269
+-111.8416	36.1342	4279
+-86.4808	36.152	6737
+-85.9097	42.8993	3122
+-122.6875	49.1291	7219
+-117.6779	33.2457	8826
+-87.0001	35.8298	6955
+-124.0952	45.0306	7107
+-89.2739	33.6455	5266
+-110.9287	31.0958	8640
+-119.2982	31.7748	6904
+-83.3028	24.6514	6128
+-115.2265	34.4959	7278
+-80.6178	28.3053	8073
+-120.458	43.7605	5878
+-78.4268	29.3662	5325
+-89.2522	35.7208	7565
+-79.3006	28.2117	6648
+-110.1514	32.1113	8869
+-119.904	47.9286	6673
+-114.4023	48.4113	4476
+-121.0223	46.9942	7543
+-113.8445	33.0698	6259
+-124.4425	48.4155	7281
+-87.8694	39.4279	7596
+-119.4425	45.5362	7895
+-109.4227	35.1661	5468
+-113.2038	30.447	6129
+-120.8206	47.956	7076
+-111.2303	31.6927	8494
+-108.9455	28.5413	5851
+-84.7076	33.1777	3113
+-119.4011	48.3051	6642
+-115.1301	31.3408	7125
+-114.9659	31.7091	7202
+-126.9766	42.8084	3209
+-84.3402	26.3636	6934
+-116.4939	33.518	8809
+-90.9903	37.4876	7915
+-87.5323	37.7196	8428
+-116.5674	31.6721	8401
+-121.0943	47.262	7596
+-89.665	38.2016	8450
+-112.1573	35.4702	4822
+-116.8665	48.8211	6011
+-119.6558	47.1672	7419
+-89.9585	37.4659	8459
+-121.9249	44.0747	6253
+-90.1919	42.6371	5230
+-94.6227	34.0836	2629
+-122.2669	46.6705	8838
+-90.4617	35.7542	6947
+-121.5264	47.8651	7803
+-123.5814	47.3686	8737
+-123.9273	49.2476	6858
+-95.3733	35.786	3169
+-86.0036	28.1782	5489
+-82.9254	29.2458	7994
+-114.8499	31.4099	6918
+-125.1036	46.7262	7171
+-87.3273	39.207	7448
+-89.2825	40.9022	6819
+-88.026	36.1606	7932
+-114.4579	32.4433	6924
+-113.7762	31.7612	6005
+-119.9565	33.9041	6593
+-117.1119	33.8749	9209
+-115.5636	33.9784	7673
+-117.812	30.579	7085
+-123.6037	44.5053	6794
+-119.3635	47.6725	7240
+-95.3157	41.6248	3271
+-113.2446	30.8543	6222
+-116.444	33.2098	9023
+-117.8375	38.2742	4978
+-89.7128	39.6028	8255
+-123.4253	47.1891	8979
+-115.1943	33.851	7464
+-120.3216	44.2546	6348
+-114.4733	37.6508	4638
+-89.9375	34.1012	5603
+-121.7916	45.6889	7748
+-118.2918	47.7428	7521
+-119.8312	47.7859	6837
+-118.6751	30.7692	6778
+-113.2711	32.4259	6162
+-119.3706	46.2753	8094
+-90.534	39.4431	8660
+-118.7756	35.7842	7098
+-107.2039	32.9416	5777
+-90.3992	39.3314	8797
+-107.3936	32.0819	6243
+-118.6014	45.9939	8905
+-108.9092	32.4169	7686
+-88.8802	34.071	5778
+-83.5941	27.9271	8230
+-122.0651	46.0436	8239
+-81.0542	28.9116	8112
+-91.7389	38.8681	7958
+-115.3258	35.323	7055
+-114.6042	31.334	6642
+-112.1724	31.7889	7469
+-87.8191	38.9448	8029
+-110.9573	30.5722	8186
+-120.6527	34.25	5842
+-93.1534	38.562	6432
+-108.539	32.4945	7293
+-87.7253	34.9914	6593
+-113.3888	32.9207	5860
+-83.3947	30.5002	6486
+-118.9272	46.1261	8578
+-83.731	28.16	8031
+-82.228	29.1785	8292
+-109.3299	30.4035	7796
+-111.1518	28.9694	6506
+-91.1004	34.2525	5173
+-87.6805	39.3419	7573
+-114.2729	32.6763	6744
+-109.6124	32.8677	7878
+-112.4938	32.6912	6843
+-115.5683	30.3402	6581
+-116.2419	34.2089	8417
+-117.9116	32.4703	8630
+-90.5397	35.2131	6418
+-86.1987	29.8108	4744
+-115.828	35.5803	7312
+-110.4035	29.1433	6829
+-78.5519	26.1212	5433
+-126.5681	47.6015	5516
+-117.0501	38.1744	5123
+-115.6436	33.1999	8216
+-86.6901	37.3098	7450
+-115.4835	36.8167	6023
+-123.5643	45.2535	7588
+-88.0644	40.3386	6713
+-86.6618	38.173	7385
+-121.2225	45.8278	7379
+-78.9662	28.5007	6214
+-114.7888	27.758	3610
+-90.3968	38.7753	9393
+-116.0134	37.8405	5269
+-118.5341	48.1046	7121
+-116.1447	44.3986	6366
+-86.1351	36.0302	6337
+-126.1944	48.2618	5717
+-89.0509	40.8058	6784
+-109.163	34.6396	5928
+-92.3521	37.4886	6904
+-117.7109	34.3066	9018
+-115.0616	32.6857	7623
+-117.3331	35.8709	7641
+-89.5229	38.6566	8492
+-115.2221	47.6045	5648
+-109.8028	33.8379	6964
+-90.4488	39.3864	8735
+-114.6617	33.2345	7140
+-84.486	38.0703	4989
+-123.5967	46.6136	8748
+-108.3103	34.434	5686
+-116.8688	29.3192	5850
+-123.6696	46.331	8510
+-118.17	43.9807	7013
+-121.4691	43.7289	5717
+-82.707	28.3157	8994
+-111.9309	35.093	5295
+-111.2297	28.7536	6258
+-91.138	36.9603	7331
+-111.4186	28.2722	5698
+-91.0046	39.5059	8370
+-120.726	45.368	6560
+-89.3089	38.9578	8245
+-119.5128	45.3889	7756
+-89.4556	37.8898	9002
+-110.8031	33.9672	6841
+-83.6646	40.6375	3188
+-82.5392	27.5966	9395
+-87.4377	41.0334	5751
+-90.8299	39.3769	8595
+-79.1816	27.6338	6550
+-118.297	31.1495	7374
+-114.7746	33.4527	7207
+-119.7484	46.2794	7697
+-123.7376	46.5668	8587
+-117.234	33.5392	8889
+-87.4288	38.137	8223
+-116.3462	32.9522	9044
+-115.3204	32.0683	7736
+-87.6334	38.894	7939
+-87.3913	37.3729	8237
+-81.9367	28.9563	8528
+-91.0495	38.4563	8640
+-86.7463	37.5055	7540
+-108.0273	32.9314	6579
+-116.1805	34.8155	8139
+-87.9701	37.8641	8894
+-96.7405	36.5437	2171
+-84.0639	35.5184	4012
+-122.2261	47.1889	8827
+-125.0114	46.3175	7179
+-109.4878	32.0641	8420
+-116.8791	47.2993	7305
+-91.7978	40.0853	7328
+-119.0693	45.8693	8393
+-78.9053	25.8469	5643
+-122.193	44.8972	7204
+-82.5653	27.3518	9215
+-120.3027	31.1597	5598
+-112.0106	32.5759	7362
+-88.2495	37.4236	9174
+-113.1193	33.4814	5821
+-122.6559	43.6996	6007
+-111.5418	30.6155	7796
+-89.9818	39.5524	8457
+-118.4565	33.5283	8082
+-91.5598	40.4385	7206
+-110.637	33.1828	7710
+-115.9616	49.201	5158
+-113.2233	32.007	6309
+-91.566	36.8155	6980
+-118.9063	35.7082	7058
+-121.3645	32.2897	4812
+-119.0384	32.597	7429
+-89.3404	38.9239	8285
+-123.1032	46.2368	8774
+-116.0859	32.4098	8671
+-117.8008	47.1252	8061
+-89.05	40.0352	7428
+-118.6101	34.204	8070
+-87.1759	39.0367	7458
+-107.6726	31.5741	6591
+-118.7987	33.3429	7657
+-88.5744	42.0925	5328
+-89.9397	38.2992	8743
+-116.836	43.8515	6429
+-117.0171	35.7096	7797
+-90.4261	38.9446	9210
+-116.4359	31.4082	8074
+-81.7639	26.8887	8815
+-110.3284	31.1813	9038
+-122.2551	44.4051	6704
+-91.8704	35.6418	5710
+-111.059	27.8843	5389
+-117.1615	45.7694	8022
+-90.5922	36.2737	7238
+-90.8639	37.0133	7482
+-122.1647	46.5414	8673
+-115.3098	36.4162	6258
+-82.2307	24.3494	6025
+-89.7077	38.7962	8694
+-116.6755	35.5443	7869
+-112.6236	33.6411	6138
+-116.8961	36.0357	7424
+-109.7191	32.0754	8621
+-127.9598	46.125	3971
+-115.2996	35.4537	6954
+-117.5777	33.508	8776
+-117.3356	34.2382	9401
+-89.7888	40.518	7414
+-113.8426	30.4039	5462
+-91.3318	38.7941	8401
+-90.0192	40.2595	7751
+-124.831	45.2758	6786
+-90.2535	40.8504	7156
+-91.533	37.8462	7848
+-115.8449	32.9067	8498
+-86.9838	39.2967	7103
+-109.8638	27.6558	5188
+-86.1115	28.0356	5381
+-116.35	38.4105	4766
+-89.0654	36.7474	8731
+-121.0684	46.0803	7371
+-117.7294	34.3429	8984
+-87.7813	42.0938	4858
+-121.9472	46.6295	8496
+-114.0254	45.8904	4746
+-114.9394	36.8389	5645
+-108.7502	30.0884	7114
+-112.8895	29.9215	6170
+-111.1009	29.8882	7457
+-114.4972	29.8399	5439
+-80.3981	26.6301	7546
+-117.4713	48.9906	6081
+-118.8808	33.1647	7484
+-118.1354	33.9344	8566
+-90.6801	36.2146	7119
+-116.6055	30.8106	7479
+-90.0396	34.6521	6143
+-111.8475	29.3204	6524
+-116.2659	32.8991	8966
+-121.21	46.9736	7749
+-116.7531	36.2585	7153
+-110.2409	32.7644	8190
+-118.6937	36.836	6204
+-116.8385	31.9961	8827
+-117.0695	34.0994	9320
+-110.9023	33.8297	6963
+-116.538	31.4865	8194
+-117.383	32.3359	9043
+-115.3803	32.9526	7977
+-116.5276	34.1343	8732
+-91.1924	36.9894	7336
+-122.1091	49.0372	7171
+-119.1984	47.7067	7302
+-87.7079	36.9512	8381
+-88.5412	37.1502	9183
+-87.7764	37.6909	8703
+-120.652	48.1176	6832
+-115.8869	34.8619	7836
+-119.421	46.8041	7844
+-117.0913	33.0073	9499
+-119.601	36.1884	6145
+-115.4303	34.6732	7450
+-88.4665	39.4791	7752
+-118.9934	46.3135	8475
+-121.7149	46.5648	8231
+-118.4737	30.8314	6973
+-119.3522	45.5057	7965
+-121.2915	33.5151	5096
+-121.7202	46.577	8241
+-90.2513	37.4616	8028
+-113.9101	36.0932	5298
+-122.5506	43.8611	6173
+-114.7393	30.9328	6499
+-119.6389	46.7627	7662
+-89.353	37.5122	9135
+-89.2628	38.6957	8215
+-111.522	33.3292	7185
+-112.8434	36.9002	3847
+-117.3502	35.7186	7806
+-90.1055	38.0188	8581
+-116.1436	32.9189	8828
+-113.2143	35.0182	5013
+-89.5343	37.2335	8826
+-80.3078	28.301	7740
+-92.0939	37.1649	6911
+-81.1559	28.4386	8550
+-117.1632	36.2789	7195
+-93.3693	39.9033	5974
+-84.185	24.5508	5577
+-92.4582	37.0273	6518
+-122.3715	49.0952	7197
+-118.0394	35.4492	7873
+-82.3036	27.6958	9684
+-118.0932	35.0385	8201
+-87.3186	37.978	8152
+-80.0035	27.7252	7482
+-117.6647	33.0279	8939
+-123.5858	43.1402	5335
+-114.8521	46.1387	5626
+-116.1036	31.3138	7820
+-125.9185	47.2575	6275
+-92.124	35.8057	5738
+-93.3213	35.1365	4405
+-118.0746	46.5393	8746
+-115.1123	34.2499	7185
+-116.7494	35.0775	8364
+-116.702	49.532	5258
+-83.5407	28.3834	8154
+-119.8204	33.6021	6692
+-115.2428	33.908	7317
+-117.0649	31.6785	8479
+-89.725	36.7511	8328
+-117.2312	34.0924	9479
+-115.1467	35.5556	6753
+-86.6278	38.9869	6993
+-116.1618	33.82	8285
+-90.0996	38.0225	8583
+-115.5608	34.6861	7582
+-116.4638	32.7401	9186
+-116.1366	32.4659	8748
+-91.6899	37.8099	7689
+-117.7154	47.0309	8106
+-115.0828	35.5865	6676
+-92.1963	43.1712	4274
+-122.3224	45.7656	8142
+-81.5452	30.7933	6404
+-91.70	39.9424	7510
+-118.6509	33.2036	7719
+-90.0736	33.4168	4825
+-82.0404	28.9798	8516
+-88.4305	34.5454	6292
+-88.3992	39.4455	7775
+-122.2032	45.0022	7316
+-118.1131	44.9816	8062
+-121.4417	44.4468	6408
+-88.5385	38.5998	8736
+-121.8842	47.5834	8301
+-117.2445	29.8631	6444
+-88.076	36.9894	8730
+-90.8011	40.6301	7348
+-118.9977	48.0079	7103
+-120.707	30.1555	4633
+-121.7745	45.3579	7449
+-118.7695	33.8653	7873
+-81.8653	35.9024	1819
+-120.5238	47.3142	6968
+-124.9744	47.2218	7310
+-85.4837	30.7118	4846
+-120.9074	43.5807	5408
+-118.6922	33.8417	7951
+-108.0584	32.4506	6836
+-80.4648	28.3647	7887
+-86.7388	37.6259	7538
+-119.9587	41.9606	4531
+-87.586	36.2461	7742
+-91.7942	39.7228	7577
+-91.5001	40.0546	7573
+-116.5935	38.7155	4486
+-92.1707	40.6982	6575
+-118.0976	49.1425	6032
+-116.8667	31.1694	7912
+-110.0427	30.9112	8680
+-82.8937	27.0178	8685
+-79.1458	27.8174	6512
+-116.1611	33.5107	8567
+-116.4421	34.4021	8592
+-81.7591	25.6887	7504
+-82.6756	29.0299	8337
+-83.5035	27.6485	8337
+-86.3087	27.8209	5168
+-117.0768	46.5224	7907
+-94.2539	41.2576	4454
+-120.6989	32.545	5579
+-119.5056	42.9294	5662
+-90.2911	38.1366	8756
+-115.2483	45.9834	6044
+-91.1247	39.8679	7979
+-118.2834	43.4339	6437
+-80.9796	28.8156	8128
+-80.1588	26.655	7329
+-121.9115	47.7254	8237
+-109.9012	30.4059	8115
+-119.5854	44.2836	6894
+-116.6672	36.0566	7340
+-87.0267	35.0787	6315
+-81.0464	25.4294	6976
+-124.1049	46.1806	8026
+-86.5207	40.708	5571
+-119.8645	48.0275	6620
+-81.3231	31.6215	5436
+-116.4169	28.9767	5426
+-117.8271	33.017	8767
+-121.2981	45.1217	6922
+-116.7143	34.2313	8926
+-91.439	39.2853	8149
+-88.6552	38.8582	8471
+-83.5803	35.9423	3680
+-84.4343	24.7136	5567
+-126.1059	46.8489	6082
+-118.3001	31.6463	7774
+-118.3461	30.0706	6325
+-116.5323	34.4247	8676
+-112.426	36.3331	3850
+-111.106	34.5925	6107
+-89.091	34.4914	6233
+-88.4762	36.6039	8579
+-122.8991	49.0421	7326
+-127.2217	45.1062	4437
+-89.3644	36.3126	8154
+-89.8468	39.7654	8187
+-113.246	30.0329	5899
+-110.7659	30.3254	8032
+-81.8471	25.7475	7585
+-120.1421	30.5039	5371
+-90.9952	38.443	8686
+-116.1881	47.3313	6687
+-87.7604	40.5548	6381
+-117.1982	42.8614	5643
+-119.123	31.7697	7079
+-113.4175	35.6306	5033
+-114.5642	46.9443	5221
+-86.9298	35.2798	6435
+-118.3064	44.8424	7928
+-82.522	25.1872	6941
+-124.1682	47.8064	7935
+-113.5592	32.2485	5905
+-81.6731	24.8414	6542
+-93.2133	41.0133	5519
+-119.4379	42.0215	4771
+-116.8768	33.7139	8913
+-93.1846	41.3593	5298
+-111.1608	30.0121	7550
+-86.2077	28.9992	5077
+-81.9726	25.8116	7673
+-90.4556	40.1593	7903
+-88.6386	34.3261	6063
+-89.1744	37.7221	9353
+-90.8908	37.3107	7779
+-83.1985	32.1412	4799
+-90.1679	37.6994	8268
+-117.9473	44.6982	7734
+-79.6483	28.1746	7043
+-116.9709	46.8953	7635
+-91.701	38.0969	7839
+-117.9984	33.5708	8531
+-77.2887	24.0317	2972
+-122.0093	47.8503	8228
+-113.9109	31.9884	6222
+-88.2945	35.6332	7473
+-87.5925	36.2336	7736
+-93.2569	38.2127	6273
+-87.0458	38.7067	7558
+-118.1585	45.4409	8550
+-89.3738	41.251	6517
+-123.2257	47.1013	9219
+-118.7992	46.9778	8182
+-110.8252	36.3128	4322
+-90.8673	39.6489	8324
+-123.5831	46.6437	8776
+-118.7191	34.3253	7940
+-117.1046	28.8464	5322
+-107.1772	35.897	3682
+-118.1538	34.3032	8552
+-83.8952	31.9769	4729
+-108.9023	34.3028	6144
+-109.6967	34.0992	6662
+-89.5186	41.2225	6601
+-92.5289	35.9716	5641
+-83.4678	28.7041	8047
+-78.5374	30.385	4860
+-115.9103	33.1923	8502
+-117.652	36.1728	7274
+-84.1236	24.171	5243
+-112.5711	32.5196	6845
+-109.1572	28.244	5638
+-80.3141	31.6158	5076
+-92.5739	39.3307	6982
+-92.086	40.7569	6588
+-118.8735	45.9293	8610
+-89.3283	38.1365	8993
+-110.6166	35.5567	5158
+-115.9057	31.0862	7489
+-86.662	27.2922	4741
+-92.2862	37.442	6936
+-119.1909	33.5029	7329
+-117.8843	34.1792	8862
+-89.6249	35.925	7636
+-119.7301	46.654	7620
+-89.9587	39.3089	8668
+-119.9303	32.5186	6431
+-117.047	37.0378	6361
+-86.0827	37.9841	6781
+-90.4866	42.6202	5251
+-92.3357	36.2521	6007
+-123.1523	47.8542	8592
+-81.573	26.8129	8641
+-118.7377	30.1321	6166
+-78.9514	31.9733	3925
+-115.8355	33.5503	8249
+-86.7973	37.6017	7603
+-121.3798	42.8762	4812
+-112.5253	28.3851	5273
+-122.5978	43.6664	5965
+-91.2005	38.8636	8535
+-118.7567	37.533	5489
+-115.8064	41.975	4165
+-117.0187	34.6485	8914
+-83.7873	24.8729	6122
+-124.6698	45.7628	7255
+-115.6135	34.1466	7735
+-84.4549	25.874	6504
+-119.7197	35.1183	6654
+-80.6101	24.9229	6243
+-116.8089	44.6962	7104
+-118.7186	30.8613	6824
+-86.2493	38.8661	6685
+-120.8444	41.8143	3973
+-114.0967	31.5646	6260
+-111.1589	28.5378	6055
+-91.6797	38.4884	7999
+-107.9536	32.9896	6479
+-109.4839	29.5676	7104
+-82.8967	26.3637	8086
+-91.7853	34.3384	4772
+-86.7432	33.85	4967
+-111.1213	31.1092	8477
+-83.5474	28.0368	8264
+-78.8275	26.3634	5829
+-91.0197	37.4662	7880
+-114.0083	34.4631	5966
+-86.7597	36.0719	6938
+-90.7076	40.176	7848
+-118.5818	36.8826	6213
+-118.4586	32.1122	7913
+-88.8093	33.9766	5673
+-122.3555	47.3227	8891
+-89.4468	37.8968	9009
+-77.5697	26.4751	4527
+-109.8195	32.4436	8388
+-114.2732	43.4514	4171
+-86.664	39.2188	6881
+-120.6984	32.2851	5548
+-122.4849	47.6961	8684
+-116.8553	31.4027	8171
+-117.4693	34.1878	9309
+-116.0978	30.624	7122
+-116.8125	36.5701	6834
+-112.4754	32.9121	6742
+-112.5987	32.3562	6880
+-93.4736	33.875	3203
+-117.3251	34.0053	9384
+-110.6781	29.9049	7617
+-115.3329	33.2617	7864
+-84.4705	28.6676	7059
+-88.5612	40.3674	6798
+-91.4721	41.2427	6492
+-108.6234	31.5383	7620
+-126.4516	46.2582	5627
+-118.2345	34.6806	8325
+-117.6625	34.1626	9105
+-118.3127	34.0342	8392
+-125.7293	48.3112	6165
+-81.8179	27.2976	9253
+-120.9948	41.8127	3888
+-90.3745	35.8274	7073
+-79.0768	26.5308	6162
+-122.392	45.1673	7552
+-112.0018	35.1745	5183
+-84.6382	28.5297	6930
+-109.4059	32.0677	8340
+-85.7959	40.0309	5553
+-125.4294	44.763	5921
+-115.3727	32.1102	7808
+-117.5978	46.0448	8532
+-111.0013	32.0809	8571
+-111.8526	30.5766	7499
+-118.6786	34.6522	7897
+-90.2638	40.1168	7946
+-92.6159	37.8798	6842
+-118.1523	47.1784	8110
+-81.1239	28.1811	8658
+-117.1888	46.1782	8098
+-116.6104	32.293	9046
+-114.0212	47.764	4415
+-118.5296	33.7261	8090
+-123.6247	48.4002	7841
+-83.7096	28.3809	7978
+-115.4058	31.5722	7526
+-85.4299	37.2194	6036
+-89.3159	37.4884	9167
+-112.0774	31.7666	7573
+-78.4274	29.4627	5281
+-120.7463	35.6362	5403
+-82.3389	27.8525	9640
+-83.5412	25.1971	6578
+-82.5037	25.8382	7671
+-123.5386	45.3697	7717
+-88.882	38.1463	9261
+-116.7968	32.4779	9330
+-125.3401	45.5805	6523
+-114.211	48.098	4456
+-118.5872	31.3963	7349
+-117.4449	43.8338	6701
+-123.05	46.7764	9340
+-118.5891	46.4201	8792
+-93.1268	35.8369	5111
+-109.3239	31.7725	8361
+-124.3704	45.8739	7594
+-120.9698	32.5733	5279
+-109.5408	33.1051	7615
+-82.1512	26.0221	7919
+-121.7054	45.7325	7719
+-87.4426	38.199	8213
+-116.462	34.4786	8583
+-109.5025	29.2891	6830
+-124.8269	46.7105	7471
+-78.9237	27.9481	6255
+-90.1524	41.0098	6976
+-119.4871	33.1834	6903
+-109.7879	33.2185	7606
+-107.2939	33.0369	5823
+-88.9268	37.8978	9499
+-124.603	47.1563	7724
+-84.9895	28.6483	6511
+-89.7829	37.3494	8620
+-122.0845	46.2159	8388
+-81.0526	29.8693	7218
+-116.0147	34.4858	8119
+-80.7649	29.3119	7557
+-110.8743	31.902	8793
+-117.5117	33.7613	9052
+-119.9393	46.3335	7489
+-89.6202	38.5691	8579
+-77.2202	25.6767	3852
+-112.2398	31.8853	7382
+-89.1903	42.1916	5498
+-113.843	46.6131	4527
+-92.9282	39.5414	6552
+-117.1689	32.5045	9338
+-88.107	33.7616	5370
+-118.7362	46.0134	8772
+-121.1025	47.1216	7624
+-84.9095	26.8831	6596
+-90.9396	39.3711	8526
+-85.9998	35.542	5900
+-127.6401	47.1291	4395
+-83.047	30.7202	6395
+-110.9418	30.7109	8321
+-116.0394	31.8546	8263
+-119.2008	44.8138	7587
+-118.6113	35.0105	7787
+-120.6067	35.8943	5419
+-91.3892	39.9653	7724
+-121.026	47.8033	7351
+-90.6427	36.2095	7149
+-88.1841	40.4953	6398
+-114.8379	33.4725	7268
+-118.6077	35.2943	7603
+-111.8865	29.2446	6432
+-88.469	36.6879	8667
+-118.4321	45.851	8953
+-120.9111	32.2855	5313
+-77.4455	30.6406	3671
+-119.2027	46.1767	8283
+-119.9827	49.0228	5680
+-119.1777	46.1361	8313
+-120.7867	44.7609	6254
+-116.1058	34.5256	8201
+-114.3805	33.5469	6756
+-123.9831	46.6827	8376
+-118.467	44.2724	7315
+-122.7658	46.9096	9446
+-114.5814	31.0166	6420
+-88.0594	38.6206	8482
+-118.3645	31.5551	7653
+-117.4638	33.8905	9197
+-117.4173	46.6051	8199
+-112.9591	30.4952	6394
+-120.4299	44.0326	6104
+-116.4687	46.1465	7338
+-120.0379	33.8058	6494
+-110.6476	32.3951	8530
+-109.3484	28.0023	5450
+-84.5036	39.1238	4758
+-122.3248	46.1345	8495
+-116.9872	46.6191	7782
+-121.682	46.5761	8201
+-120.0803	30.7636	5593
+-87.6911	36.9439	8361
+-88.2511	37.829	9208
+-116.5125	32.8492	9245
+-119.122	44.0731	6937
+-120.5852	45.8359	6807
+-88.8333	34.1431	5860
+-117.9594	35.7108	7658
+-85.8162	38.1147	6465
+-90.3056	38.6592	9296
+-81.5834	29.427	7914
+-107.7181	33.1956	6145
+-110.5861	30.7814	8563
+-116.6896	42.0326	4634
+-93.6715	37.9729	5783
+-116.539	43.1749	5654
+-90.7804	36.2358	7042
+-86.4151	36.3858	6810
+-109.9592	33.5679	7285
+-107.6337	28.5373	5064
+-116.7837	45.3122	7467
+-113.3122	33.9141	5376
+-116.8533	33.3428	9152
+-118.2912	46.8386	8478
+-91.7529	36.5598	6640
+-115.81	32.8502	8462
+-81.1413	24.0566	5548
+-125.0347	46.2541	7134
+-108.7081	31.7943	7698
+-117.3605	37.1326	6265
+-85.9533	42.1248	3897
+-121.9349	45.6627	7824
+-115.9673	33.3088	8510
+-117.2719	30.7499	7423
+-122.1143	49.5125	6679
+-112.1912	34.4668	5757
+-110.8977	29.5725	7211
+-89.7972	37.8429	8641
+-87.5094	39.3146	7488
+-79.4304	28.6588	6672
+-79.4566	28.2093	6823
+-117.5445	48.3433	6759
+-121.0772	46.5813	7559
+-110.9397	31.4567	8802
+-89.7219	41.6047	6266
+-119.8255	34.7004	6679
+-89.272	35.5357	7357
+-118.6321	32.9445	7890
+-119.262	32.9618	7187
+-123.0768	49.3728	6955
+-80.845	26.8182	8083
+-118.909	35.0532	7484
+-115.6717	42.6843	4707
+-84.9213	28.0569	6721
+-92.5861	39.8578	6767
+-114.6832	29.4507	5216
+-90.6701	40.6253	7380
+-117.0634	30.5332	7204
+-80.7502	28.3536	8193
+-115.0736	35.4825	6729
+-81.2558	28.3548	8697
+-121.8955	42.9824	5092
+-107.4729	33.7134	5610
+-116.4196	40.3709	2880
+-82.8735	29.1915	8076
+-82.3477	28.978	8501
+-113.14	34.4298	5142
+-118.9388	47.5276	7597
+-120.072	45.4798	7256
+-82.7458	27.3619	9062
+-113.52	44.9626	4074
+-83.7894	28.2629	7936
+-120.4051	48.2171	6540
+-116.8663	49.3897	5467
+-107.5244	29.9524	5954
+-121.979	47.9987	8086
+-81.3282	27.9329	8962
+-108.9428	33.1762	7183
+-117.8624	34.774	8583
+-108.0202	27.1363	4043
+-110.5987	30.2818	8034
+-93.1128	37.9446	6357
+-124.4997	48.8846	6862
+-107.6092	34.4148	5217
+-118.7301	31.1438	7042
+-88.9125	43.1529	4421
+-115.7061	32.3522	8254
+-116.8004	31.6929	8486
+-111.4169	31.5705	8299
+-88.2232	38.2777	8897
+-90.0045	35.8455	7344
+-112.5154	28.9308	5752
+-115.1345	31.1877	7018
+-89.8974	40.6191	7343
+-115.3733	30.6244	6730
+-108.4638	34.1661	6019
+-122.009	46.3199	8397
+-123.884	47.9358	8089
+-119.7576	34.3525	6810
+-117.6853	44.9788	7915
+-112.5806	36.3175	3898
+-119.1683	44.1524	6995
+-118.4838	36.3862	6745
+-119.3769	44.7347	7408
+-91.8476	39.8763	7433
+-117.6363	44.3975	7332
+-122.782	49.669	6634
+-123.7349	46.9716	8689
+-91.1585	38.7835	8588
+-118.6688	48.2447	6953
+-88.7543	38.2839	9121
+-88.247	38.0077	9117
+-90.7929	38.5786	8946
+-121.0173	36.3596	4780
+-92.4319	40.3442	6627
+-91.5675	39.0774	8100
+-93.6298	39.0782	5907
+-109.2123	32.9618	7549
+-91.4001	37.296	7512
+-88.3264	38.456	8800
+-88.5045	34.4499	6193
+-85.9251	30.446	4640
+-120.9051	48.9931	6482
+-119.0331	47.3504	7716
+-117.3374	44.3212	7127
+-111.9344	30.0645	7082
+-91.9504	35.8038	5828
+-117.1601	35.4492	8098
+-93.7726	41.1129	4971
+-109.659	31.7496	8721
+-120.4132	48.3385	6486
+-114.122	33.3546	6524
+-119.2451	46.2031	8236
+-86.6556	39.599	6602
+-118.5898	42.6909	5635
+-82.3481	28.1607	9385
+-90.1288	39.3306	8741
+-89.1271	42.9479	4702
+-109.2554	33.1317	7429
+-113.681	32.7242	6087
+-108.3771	33.1103	6785
+-114.1991	31.0935	6116
+-117.1313	31.3453	8101
+-118.521	49.6388	5504
+-118.895	42.9954	5909
+-80.212	25.689	6691
+-90.2945	37.4643	8035
+-88.775	42.9426	4584
+-117.5204	34.5379	9017
+-120.0041	44.8114	6984
+-84.2704	25.0474	5980
+-90.8429	36.7113	7172
+-90.1945	37.743	8320
+-107.0936	30.8753	5881
+-113.9746	34.35	5939
+-107.6575	30.4667	6332
+-112.2139	32.0837	7365
+-115.8591	31.7663	8050
+-90.6509	37.0919	7614
+-119.8687	46.8401	7407
+-91.0692	39.1176	8586
+-84.864	36.1356	5110
+-123.0028	49.8971	6385
+-120.2349	46.8742	7037
+-116.0005	35.1812	7745
+-90.9212	38.5668	8812
+-122.7985	48.4127	8014
+-92.3219	39.538	7169
+-88.3269	35.1825	6984
+-111.5069	28.7063	6107
+-115.8249	31.0835	7438
+-111.1455	30.4238	7940
+-116.0476	36.9462	6194
+-116.4981	31.3494	8035
+-120.3186	48.362	6382
+-118.4959	42.7234	5677
+-116.2013	33.0643	8856
+-93.4593	38.3539	6082
+-110.5149	31.9059	9072
+-109.4034	31.7773	8444
+-115.8879	34.2469	8029
+-111.1345	32.3727	8255
+-86.2894	37.1015	6963
+-82.0614	28.3378	9241
+-125.3035	48.2151	6631
+-119.6225	46.9503	7580
+-118.4721	34.2226	8219
+-118.4201	37.0469	6120
+-89.124	35.7433	7620
+-120.2683	32.2425	6015
+-91.2092	39.3807	8304
+-86.5029	35.4006	6220
+-125.2401	46.5481	6994
+-88.7097	37.3795	9487
+-82.459	26.4244	8330
+-121.0776	47.3257	7566
+-94.5997	36.9426	4480
+-117.9059	33.446	8514
+-115.4188	32.2182	7902
+-117.4451	46.777	8119
+-79.9655	28.6168	7258
+-112.2166	27.3704	4474
+-123.6715	48.4435	7776
+-120.1002	46.5289	7283
+-112.301	31.9713	7301
+-86.8275	38.075	7590
+-88.8387	36.7502	8784
+-118.5933	33.9286	8074
+-117.9658	45.9345	8881
+-89.4626	36.7489	8523
+-80.6534	26.7193	7841
+-122.1106	43.5112	5712
+-84.4973	29.5393	6550
+-88.9886	39.8329	7521
+-124.8467	48.5126	6875
+-89.074	34.6563	6419
+-125.2404	46.3063	6935
+-110.6695	31.0537	8794
+-89.4931	40.6011	7210
+-87.9948	36.414	8164
+-87.292	41.9078	4661
+-111.0443	30.8115	8337
+-120.449	31.7481	5690
+-88.7316	36.2559	8232
+-109.9826	32.484	8426
+-88.639	36.4619	8456
+-88.2685	40.5305	6445
+-79.7468	26.7273	6947
+-83.4181	27.3553	8366
+-109.8399	29.2729	6914
+-88.2553	28.8819	2852
+-116.3384	34.8764	8241
+-105.0096	31.9352	3693
+-83.1702	28.2666	8590
+-121.1846	46.1233	7506
+-117.9762	35.8617	7500
+-110.9604	33.4139	7377
+-92.4448	36.0259	5742
+-117.2911	46.5975	8085
+-89.2365	41.7857	5927
+-85.5583	35.5236	5485
+-110.8643	29.9639	7627
+-114.4583	34.4269	6458
+-91.6657	37.5005	7495
+-80.1971	25.6219	6623
+-118.382	37.7024	5459
+-87.9044	36.7795	8427
+-121.8129	29.7746	3371
+-111.3159	30.6951	8038
+-111.974	32.5954	7385
+-116.2678	32.9253	8964
+-111.9435	35.9213	4460
+-87.9388	37.3726	8829
+-110.9955	31.8776	8688
+-85.7796	40.3674	5294
+-88.0901	36.964	8721
+-119.7657	49.2719	5553
+-116.3463	47.4305	6772
+-111.5183	29.5228	6898
+-120.5875	43.3316	5446
+-83.2613	26.5542	8019
+-117.3883	47.2164	7745
+-117.0856	36.355	7106
+-111.6538	32.1462	7918
+-110.515	31.3659	9167
+-87.158	39.8322	6786
+-117.7526	45.0382	8003
+-115.217	31.317	7183
+-117.9331	48.4925	6700
+-90.5967	41.0232	6963
+-86.7039	39.9775	6338
+-86.7523	37.5775	7552
+-118.3795	46.3191	9007
+-80.8472	26.316	7699
+-122.0173	43.7388	5930
+-91.6897	37.3301	7345
+-113.0086	33.7713	5729
+-83.3192	28.566	8274
+-105.7987	32.7597	4398
+-124.4151	48.021	7578
+-119.9021	47.1079	7241
+-89.9558	38.0279	8520
+-116.3266	32.7962	9039
+-87.5101	39.3949	7416
+-114.6045	32.4437	7085
+-89.3652	38.7197	8326
+-110.377	33.9547	6904
+-119.9173	47.6369	6885
+-87.4091	34.8334	6289
+-82.661	28.6001	8776
+-113.3677	30.4269	5955
+-78.9099	24.5006	4701
+-90.7547	44.5137	3199
+-89.5327	41.2976	6529
+-85.5954	36.1532	5871
+-117.3115	32.1708	8936
+-109.3565	33.2128	7415
+-107.8885	33.5452	6077
+-118.4192	31.7575	7748
+-80.2158	29.5749	6910
+-107.8753	30.6761	6635
+-106.56	32.2319	5325
+-108.4118	31.9454	7355
+-114.5345	36.344	5704
+-82.9392	28.7814	8426
+-118.5065	28.6257	4773
+-89.0671	38.7262	8578
+-118.9411	29.9145	5838
+-119.0055	35.5396	7098
+-94.1936	39.0879	5301
+-110.0434	29.3795	7065
+-91.7628	39.3538	7801
+-116.7119	30.8161	7503
+-116.9725	44.012	6649
+-116.2402	44.9179	6761
+-87.6038	37.7357	8508
+-122.8728	47.1797	9370
+-115.226	44.089	5385
+-115.9364	36.0707	6974
+-111.8372	30.7627	7617
+-114.8148	30.246	6014
+-109.4802	30.8216	8234
+-91.4036	37.0561	7293
+-82.3209	27.5326	9553
+-111.2336	28.343	5830
+-108.4645	33.8611	6281
+-118.3691	34.0749	8334
+-85.7068	37.872	6373
+-114.5976	31.9588	6943
+-114.0474	31.9475	6355
+-121.0764	47.8961	7357
+-124.3634	48.9262	6919
+-92.4706	37.1877	6614
+-91.2476	35.9063	6221
+-91.3415	39.5856	8054
+-118.6919	43.8232	6811
+-116.9752	33.2065	9318
+-120.0185	47.8961	6616
+-114.0048	33.0127	6442
+-114.0108	28.5904	4336
+-87.695	37.3304	8555
+-88.3087	38.9789	8254
+-90.7648	41.2696	6678
+-82.0127	28.2831	9292
+-117.2326	42.6607	5452
+-88.6876	40.4163	6862
+-114.0829	29.2641	4697
+-111.2079	30.1686	7671
+-82.9386	30.1978	6995
+-123.4677	48.5767	7731
+-111.4901	31.7734	8203
+-123.27	46.2332	8704
+-113.7173	46.3397	4418
+-117.2244	30.372	7011
+-89.9074	39.865	8118
+-119.3257	34.3279	7282
+-117.9377	32.8281	8670
+-119.3373	48.6655	6323
+-90.7995	41.9854	5908
+-119.1146	48.4691	6602
+-88.4728	38.4915	8832
+-112.4004	30.2517	6809
+-120.5239	45.8486	6873
+-119.9193	45.8854	7513
+-93.7355	37.2794	5479
+-110.141	34.1066	6732
+-92.4524	41.291	5892
+-110.7103	34.6244	6153
+-89.5403	38.587	8499
+-117.42	31.8771	8589
+-120.3973	45.1375	6800
+-85.4872	35.3143	5285
+-117.8974	33.2134	8624
+-123.295	46.9015	9166
+-117.0072	33.323	9186
+-86.572	39.1201	6860
+-88.0064	35.7307	7481
+-122.0543	31.6874	3940
+-85.5328	40.6718	4859
+-82.675	28.3547	8988
+-89.4693	40.6492	7153
+-117.9773	31.2101	7636
+-121.0465	46.9738	7570
+-81.1111	25.7295	7314
+-117.7525	36.6599	6731
+-115.7947	34.7349	7803
+-121.7631	45.945	7927
+-115.2886	35.2193	7076
+-116.4296	34.3637	8591
+-124.8228	46.3614	7392
+-82.0967	27.8027	9834
+-120.3906	33.9999	6127
+-85.2735	30.8254	4933
+-88.0418	38.2289	8785
+-118.0521	48.9578	6224
+-118.2272	33.2449	8111
+-116.2571	41.3268	3769
+-119.9438	46.5248	7445
+-89.3864	34.2183	5883
+-124.2274	46.8872	8145
+-94.9422	35.6079	3457
+-84.399	28.5983	7162
+-122.7162	46.8599	9373
+-81.2397	24.7482	6331
+-116.3426	31.6491	8276
+-119.5144	33.2792	6915
+-116.566	35.7243	7642
+-106.5247	31.0922	5313
+-115.6172	28.7894	5015
+-115.0317	35.9904	6368
+-107.9536	26.6582	3547
+-90.6468	40.4021	7621
+-81.1637	28.6427	8414
+-121.1223	31.8236	4987
+-90.1874	36.6011	7822
+-118.2292	31.3458	7591
+-118.4963	44.7386	7801
+-125.8708	48.339	6011
+-115.9374	36.5385	6540
+-81.6329	25.9186	7726
+-88.2114	42.5098	4744
+-106.5422	31.251	5350
+-109.7747	29.6054	7247
+-82.5289	27.5445	9379
+-117.7747	34.2843	8960
+-125.29	44.7346	6014
+-89.9108	41.6073	6303
+-90.8403	39.9584	8032
+-112.347	32.2474	7176
+-117.8945	46.9809	8241
+-92.975	42.1632	4805
+-125.1516	48.3035	6729
+-117.478	32.1245	8793
+-89.8521	35.0457	6631
+-88.8313	34.0646	5772
+-109.6208	31.8572	8647
+-120.843	48.0684	7043
+-109.2891	32.8169	7722
+-91.9371	37.9917	7561
+-82.8129	25.4685	7181
+-91.9503	37.8649	7485
+-123.0373	49.6074	6701
+-81.6378	27.1102	8962
+-83.5489	28.8756	7858
+-84.5665	30.4364	5806
+-84.4345	38.6923	4818
+-116.3221	35.7051	7538
+-119.565	43.7211	6399
+-115.1051	33.359	7590
+-116.5753	33.0021	9270
+-79.1863	27.2257	6503
+-118.6102	34.7628	7919
+-79.9003	27.1161	7261
+-117.6778	48.127	7020
+-111.7819	36.1991	4232
+-89.8373	36.7369	8224
+-110.258	30.5902	8394
+-120.9571	46.4921	7409
+-122.7585	48.8292	7554
+-87.2033	40.7187	5965
+-118.4339	37.1361	6024
+-90.7134	38.4628	8953
+-114.732	29.8495	5610
+-91.6545	37.4419	7458
+-122.8281	47.2536	9281
+-116.1505	46.6555	6926
+-124.3281	49.192	6701
+-116.6862	44.2502	6672
+-117.4798	31.297	7964
+-91.847	39.317	7732
+-117.6152	48.7027	6415
+-117.9211	33.9285	8790
+-116.7309	35.5511	7885
+-78.957	31.0768	4702
+-113.8753	32.8588	6304
+-90.4051	36.1317	7295
+-81.2489	32.6549	4272
+-118.2445	44.3588	7416
+-108.1326	32.2545	6981
+-109.1124	33.465	7043
+-87.541	38.6654	8040
+-112.8231	30.9191	6682
+-120.9607	46.8027	7468
+-116.3068	31.7147	8320
+-119.8588	48.2475	6440
+-118.9764	31.4426	7037
+-119.0905	36.9674	5861
+-125.2563	45.637	6634
+-80.1453	29.2654	7076
+-118.8071	35.2647	7453
+-82.5573	27.5404	9349
+-112.6843	34.5593	5364
+-89.0201	37.1414	9161
+-107.7925	34.061	5629
+-84.3916	24.1152	5035
+-114.2744	33.2514	6711
+-111.8266	31.2813	7823
+-88.9732	36.0101	7942
+-119.7086	34.4459	6852
+-121.7601	43.3878	5480
+-91.0507	41.0878	6804
+-82.9116	24.3735	5954
+-120.82	45.789	6980
+-117.2287	46.0607	8143
+-113.0291	34.0546	5511
+-109.5539	31.5245	8627
+-83.9284	24.2741	5450
+-83.9056	28.7376	7606
+-88.7768	35.4336	7309
+-116.2336	31.3468	7921
+-120.0042	48.0656	6494
+-116.2387	32.9257	8932
+-81.6451	26.8701	8738
+-91.4463	36.6446	6882
+-86.3249	37.7149	7074
+-116.2122	48.03	6262
+-80.7463	28.4238	8156
+-91.9861	37.3874	7157
+-122.0767	47.3917	8588
+-115.7315	32.6589	8364
+-91.9704	34.5801	4822
+-79.1848	26.5159	6269
+-86.6055	38.5845	7179
+-87.5241	36.5138	7913
+-123.9736	44.292	6440
+-117.4166	32.9286	9236
+-88.4927	38.3517	8986
+-88.6508	37.8342	9586
+-117.366	32.0978	8836
+-110.3368	28.8545	6517
+-109.0702	30.9435	7940
+-82.1683	29.1761	8297
+-87.2982	36.1016	7407
+-112.0207	30.9086	7505
+-121.9628	42.711	4819
+-114.3882	46.3609	5126
+-88.7941	38.6248	8738
+-116.8613	45.694	7694
+-91.3202	38.1533	8227
+-89.6758	37.2407	8688
+-116.5854	28.2531	4645
+-123.1132	48.0743	8367
+-90.6486	38.0387	8606
+-119.2413	48.6352	6390
+-81.0176	24.2426	5711
+-113.4898	31.4823	6052
+-114.9322	28.8718	4802
+-87.2172	39.3799	7222
+-124.9367	46.4886	7308
+-123.5712	47.1145	8851
+-119.3661	42.4856	5265
+-92.8541	39.1256	6731
+-90.0611	38.5302	9004
+-115.5447	34.5138	7614
+-81.523	31.9591	5099
+-81.6216	28.6685	8719
+-122.288	46.6746	8861
+-126.3117	47.9117	5717
+-111.2739	31.4731	8448
+-118.7491	32.2042	7651
+-117.9468	30.5798	7029
+-82.5914	26.251	8101
+-87.7061	33.3242	4798
+-80.4291	27.1522	7843
+-93.6712	40.47	5425
+-114.2187	37.408	4658
+-90.8698	40.8795	7070
+-80.0138	27.7722	7494
+-116.3258	31.6838	8301
+-116.3124	32.188	8741
+-118.1901	34.5734	8422
+-83.1851	28.6185	8361
+-81.5189	27.7504	9197
+-118.9045	34.8936	7568
+-116.9482	29.9502	6556
+-122.9805	49.0265	7341
+-85.884	25.7357	5067
+-117.1833	36.3528	7115
+-123.3803	43.8757	6170
+-115.6581	32.268	8170
+-124.0782	49.2177	6815
+-118.7646	43.9542	6931
+-116.9288	45.80	7791
+-83.9817	24.8407	5977
+-115.7167	35.6127	7201
+-82.7932	28.7859	8519
+-111.9118	31.3062	7737
+-108.4088	32.3863	7214
+-111.078	30.8856	8368
+-93.6356	32.9577	2264
+-115.9983	34.6732	8034
+-90.4189	40.393	7653
+-116.5848	49.1189	5592
+-116.3263	29.7084	6213
+-120.2919	47.9864	6342
+-87.8268	36.7215	8319
+-88.5894	41.203	6149
+-116.4576	31.1144	7771
+-125.9076	48.7182	5782
+-122.6478	45.5114	7984
+-119.3569	42.8205	5606
+-87.1153	36.0684	7236
+-119.1143	31.4015	6884
+-79.5298	29.8978	6086
+-80.6299	27.5513	8174
+-117.8109	34.9532	8464
+-88.2109	34.4913	6197
+-80.4316	24.098	5317
+-109.9493	31.3733	8999
+-123.6326	47.1267	8782
+-92.8838	39.7427	6525
+-118.445	33.7532	8187
+-115.7245	35.8711	7003
+-89.7224	40.3993	7509
+-83.1581	26.2431	7815
+-91.6446	36.1055	6266
+-116.6841	32.4969	9277
+-118.8881	33.9983	7763
+-82.1581	27.0345	9064
+-91.5978	38.7696	8115
+-123.2965	47.0705	9156
+-84.9122	32.2552	3920
+-115.0541	35.0139	6940
+-117.625	31.3243	7933
+-87.9806	36.6964	8414
+-81.9831	28.5962	8939
+-113.3388	32.5343	6058
+-116.7026	36.7653	6602
+-116.8257	38.1052	5179
+-80.2051	28.618	7508
+-118.6607	32.8925	7861
+-90.2805	40.7195	7299
+-115.9367	34.7373	7945
+-108.2562	30.0746	6692
+-90.8725	39.0862	8785
+-91.7878	39.8166	7524
+-82.6269	26.1483	7978
+-108.6511	31.6237	7650
+-116.288	32.7894	8995
+-92.1799	35.9622	5850
+-119.6323	31.3325	6350
+-81.317	27.9176	8953
+-120.0668	46.3828	7348
+-123.8219	45.8388	8006
+-82.4721	26.2647	8151
+-117.3976	45.6809	8223
+-88.9737	38.7991	8522
+-110.5512	30.47	8244
+-84.6139	30.6313	5605
+-124.26	46.8796	8109
+-122.2593	47.8957	8366
+-89.5261	37.0282	8702
+-110.8699	29.8979	7557
+-114.289	45.4218	4970
+-115.7471	30.6086	6939
+-87.4647	36.1441	7567
+-126.8662	43.6348	3915
+-76.0318	28.9797	2854
+-122.2206	48.5347	7729
+-120.399	35.1176	5956
+-87.6376	37.4087	8515
+-118.7204	32.0871	7634
+-123.2091	44.2134	6562
+-79.3683	28.0016	6753
+-82.5445	28.7825	8653
+-115.819	33.0097	8455
+-117.452	35.9452	7551
+-91.2202	36.393	6728
+-87.8482	39.0445	7956
+-88.8003	36.4781	8481
+-124.1202	45.8481	7788
+-120.0558	49.835	5168
+-89.6709	39.5617	8260
+-116.0149	36.0481	7042
+-118.6441	36.8982	6168
+-108.8152	35.5919	4829
+-119.5917	33.6266	6942
+-118.286	32.0888	8072
+-80.8405	27.5752	8414
+-118.9854	33.0471	7486
+-123.0424	46.4683	9037
+-110.2007	32.5368	8431
+-87.9932	38.2108	8753
+-120.3079	47.7392	6502
+-118.4284	43.9738	7004
+-87.7017	37.8012	8610
+-115.0367	43.1759	4633
+-123.6537	46.9699	8778
+-115.6479	35.0956	7484
+-83.0815	28.823	8286
+-117.5001	30.8262	7454
+-114.3983	31.9998	6747
+-92.0092	36.4444	6383
+-117.761	45.4343	8364
+-123.0078	39.8955	1837
+-92.0868	40.5155	6780
+-88.2334	37.8912	9165
+-121.373	48.0406	7555
+-89.3773	34.8353	6565
+-82.8057	28.2573	8951
+-116.3699	37.5304	5705
+-91.5437	41.5332	6174
+-90.9685	40.149	7790
+-116.2581	29.86	6362
+-115.9624	34.3668	8093
+-117.2066	32.7276	9467
+-116.8541	49.3123	5537
+-122.5358	48.1125	8285
+-81.7374	30.4209	6856
+-120.7395	45.1791	6482
+-116.3273	46.9736	6992
+-81.6854	27.3198	9177
+-122.8371	47.1264	9418
+-117.9198	47.9035	7312
+-116.2426	34.7416	8239
+-115.6224	31.7775	7858
+-118.9519	47.6561	7467
+-109.6585	33.8042	6959
+-120.4367	46.1957	6978
+-90.4707	42.0318	5886
+-119.1325	45.2198	7965
+-91.0366	36.1225	6506
+-121.8649	49.2132	6889
+-121.8234	47.0848	8416
+-109.3819	35.526	5079
+-108.1498	29.4918	6198
+-115.2213	44.1445	5413
+-81.2977	30.0232	7170
+-84.9632	29.3764	6209
+-115.1765	47.4836	5659
+-110.3043	28.6627	6309
+-111.71	31.6572	7980
+-120.1755	48.6566	5892
+-85.7755	36.9853	6372
+-121.047	30.1206	4298
+-106.9661	34.3273	4767
+-90.6901	41.7687	6154
+-112.1764	29.6869	6608
+-117.3037	34.1101	9490
+-117.0411	35.1777	8372
+-118.0421	48.0418	7188
+-122.1831	47.263	8754
+-87.9584	43.4644	3710
+-114.9975	32.3264	7489
+-90.149	39.5074	8570
+-122.0013	48.4369	7713
+-116.2291	30.1893	6709
+-123.988	45.7027	7774
+-111.7748	28.7852	6063
+-79.6851	27.0089	6993
+-116.0878	32.2468	8585
+-117.2953	31.5586	8303
+-118.0725	41.6779	4572
+-122.2449	48.3202	7954
+-117.2883	34.8045	8805
+-122.9307	43.2147	5484
+-124.1501	47.4368	8139
+-120.7301	48.0826	6925
+-114.9863	44.5136	5386
+-119.8534	35.587	6301
+-80.4738	27.9914	7998
+-88.0125	40.6635	6141
+-114.8987	31.5426	7044
+-81.2634	27.7323	8907
+-81.7556	30.3281	6963
+-91.1722	35.3564	6072
+-89.0807	27.2629	2012
+-115.165	34.2026	7244
+-114.7982	34.6268	6792
+-113.2778	32.2013	6214
+-93.4083	37.2616	5791
+-109.9267	33.2905	7572
+-115.9698	32.737	8637
+-118.9572	48.2827	6841
+-88.8252	39.8089	7394
+-82.922	28.3842	8759
+-88.1802	37.7924	9142
+-125.1657	47.4686	7057
+-123.9336	47.8669	8100
+-88.5677	37.7778	9559
+-79.985	28.5455	7307
+-114.1662	32.7946	6629
+-110.8335	33.4931	7335
+-89.868	39.0299	8792
+-83.3986	25.5155	6971
+-124.6445	44.1977	6011
+-118.7654	46.1447	8748
+-114.2281	37.4321	4646
+-116.2528	35.8942	7321
+-86.4573	37.4569	7212
+-93.4039	37.2249	5777
+-119.3169	33.0283	6997
+-82.1254	27.157	9203
+-119.601	34.1137	6991
+-105.9221	35.6633	2963
+-120.282	43.2723	5593
+-110.1957	32.0473	8949
+-92.4638	36.3931	6036
+-92.6646	40.0893	6573
+-114.3693	32.4353	6825
+-81.2676	27.8855	8904
+-87.2295	29.5369	3789
+-113.3825	32.4125	6050
+-112.4859	29.7903	6438
+-93.3155	41.0035	5438
+-93.0856	42.6004	4354
+-118.0224	49.5118	5637
+-112.0185	32.969	7110
+-89.6884	37.2705	8689
+-94.2653	37.6028	5061
+-79.8798	28.2281	7290
+-117.5647	49.3105	5776
+-119.0494	44.4185	7304
+-118.4562	36.0305	7095
+-83.54	26.4957	7748
+-89.4683	38.6235	8429
+-78.6961	27.40	5982
+-87.802	36.4525	8075
+-89.6544	39.2982	8441
+-94.152	39.8768	5185
+-86.7156	37.0705	7418
+-82.2196	28.5273	9026
+-123.1025	46.2746	8814
+-85.9071	37.2112	6565
+-118.8349	49.3521	5767
+-118.1183	49.2766	5892
+-117.593	45.4897	8285
+-122.3157	43.7658	6032
+-119.342	31.1057	6488
+-87.0801	37.1175	7824
+-113.9101	34.604	5841
+-86.7625	39.9384	6414
+-118.3203	31.36	7535
+-84.9931	40.8007	4308
+-111.2875	31.3665	8413
+-89.9732	38.9791	8918
+-82.9917	27.3165	8796
+-127.7848	45.569	4024
+-118.4584	33.2853	7942
+-88.868	36.1653	8127
+-89.2667	32.075	3514
+-83.9734	24.256	5408
+-120.2057	40.9136	3402
+-114.8163	35.548	6452
+-118.77	43.4776	6436
+-81.432	29.7372	7526
+-83.0835	29.7314	7423
+-116.8035	32.8573	9565
+-82.4709	24.9781	6715
+-117.9974	47.9094	7320
+-113.4515	32.2962	6008
+-81.7601	28.2473	9204
+-118.3122	46.2996	9047
+-90.8804	37.8184	8286
+-114.5691	32.114	6966
+-124.7297	47.6303	7468
+-117.0812	34.8133	8769
+-86.4309	32.3208	3267
+-90.3812	42.8712	4982
+-119.0546	47.7501	7331
+-119.7425	42.9331	5568
+-123.9564	45.0204	7173
+-115.1297	35.2126	6926
+-93.0345	33.5981	3179
+-124.9613	47.2995	7312
+-114.0847	32.9492	6535
+-118.9916	44.802	7695
+-110.4731	29.8483	7588
+-109.9552	31.3008	8962
+-117.9827	34.9931	8317
+-112.5058	30.2825	6730
+-122.963	45.5111	8006
+-82.1987	27.2356	9287
+-111.9868	35.423	4944
+-108.4111	31.1813	7346
+-80.6032	28.1435	8110
+-82.0439	28.8405	8673
+-119.2255	44.1328	6950
+-88.1892	27.0575	2994
+-115.6233	31.2466	7448
+-81.1629	28.7657	8317
+-117.9617	37.1102	6203
+-78.8095	26.5415	5885
+-110.4574	30.1157	7878
+-81.5589	26.1703	7973
+-88.8576	35.5192	7403
+-89.9414	35.1345	6682
+-89.0857	39.349	7884
+-108.6881	28.0143	5216
+-121.8163	45.8136	7868
+-116.0076	44.5866	6366
+-119.3286	34.4407	7264
+-86.6246	37.1975	7354
+-92.0805	35.4636	5438
+-115.0772	37.8296	4852
+-78.7881	28.3523	6050
+-80.0108	28.8905	7175
+-113.6308	33.7737	5882
+-83.4809	26.3677	7695
+-122.4946	46.5348	8956
+-117.1759	33.9106	9276
+-119.4953	33.0161	6818
+-113.2988	35.2572	5039
+-114.8136	48.0289	5056
+-81.9034	28.1435	9393
+-120.1155	44.7665	6861
+-88.4352	34.1519	5853
+-116.5837	46.3317	7444
+-84.7911	27.0992	6792
+-80.899	25.6995	7169
+-111.7164	28.7699	6077
+-89.4679	42.4597	5306
+-86.3252	36.0718	6542
+-112.9905	30.3043	6278
+-86.1298	37.3069	6828
+-89.9966	39.212	8775
+-84.2468	26.4601	7081
+-79.6781	28.9842	6792
+-114.1406	33.3606	6543
+-122.4832	47.525	8841
+-116.9015	46.9554	7539
+-87.2134	37.4828	8059
+-117.064	31.8945	8719
+-120.0457	36.0496	5856
+-87.373	40.6201	6149
+-90.6656	40.4549	7562
+-85.1609	42.0994	3400
+-86.0958	29.8164	4845
+-122.8154	48.8878	7493
+-115.8982	32.5651	8529
+-86.7697	38.007	7541
+-115.5331	28.3646	4536
+-118.9039	34.3217	7740
+-80.441	30.737	6025
+-123.5243	49.5095	6730
+-114.6558	31.3983	6729
+-117.2905	33.2071	9187
+-117.0934	34.4814	9114
+-91.3487	39.334	8208
+-90.3384	39.3358	8791
+-83.7772	40.9107	3134
+-89.6359	36.8984	8513
+-117.1338	34.1237	9393
+-81.0717	29.2024	7872
+-88.7501	36.4666	8469
+-88.1084	38.4534	8663
+-115.2978	34.4643	7360
+-111.3503	31.3717	8348
+-79.7612	27.6332	7204
+-115.9144	47.4473	6374
+-116.9541	37.281	6087
+-118.0209	34.071	8712
+-116.1771	28.868	5261
+-81.2842	27.2851	8788
+-92.9389	36.9793	6073
+-81.5139	25.9985	7773
+-86.3246	37.7518	7072
+-84.3618	30.7112	5715
+-120.1336	31.0098	5686
+-114.9978	34.5189	7028
+-115.8989	45.9534	6731
+-115.6147	33.838	7707
+-119.6893	31.8195	6519
+-117.4195	45.2181	7953
+-84.0154	26.2456	7155
+-89.8648	32.5241	3913
+-93.155	42.2404	4620
+-113.7061	29.3154	5070
+-107.4504	29.6692	5724
+-119.251	33.1341	7114
+-116.7386	31.7242	8508
+-91.2271	36.4174	6751
+-123.1166	44.3466	6718
+-119.0599	30.3817	6171
+-109.7028	33.2101	7583
+-118.3688	32.8494	8188
+-89.0711	38.9327	8353
+-110.2065	32.6003	8363
+-88.9448	39.0343	8266
+-109.4954	33.2086	7492
+-80.0127	24.8012	5768
+-118.4616	30.4708	6650
+-82.0687	25.8768	7753
+-79.7316	27.3886	7142
+-121.6314	44.4689	6528
+-87.3297	36.7358	7894
+-107.318	32.7097	5986
+-120.4561	46.0814	6959
+-119.1556	32.6436	7304
+-107.4556	30.6268	6188
+-114.4688	34.3788	6474
+-117.6492	35.0236	8481
+-87.4951	36.3341	7748
+-89.2593	40.414	7260
+-118.9797	34.0063	7664
+-78.7599	27.738	6076
+-116.0074	29.8666	6293
+-118.3971	34.5436	8226
+-119.7658	31.9987	6500
+-110.0238	31.4783	9119
+-94.6948	37.1331	4461
+-85.5265	34.7308	4908
+-117.9048	34.8516	8490
+-108.9172	30.7359	7686
+-86.4263	38.3314	7084
+-77.535	29.5203	4325
+-118.8829	36.34	6554
+-107.0508	30.9812	5858
+-91.8701	42.9132	4660
+-86.5713	34.6883	5662
+-118.9628	30.3435	6208
+-117.5929	44.0685	6988
+-120.6325	34.884	5776
+-116.5698	32.051	8791
+-118.7137	35.3303	7489
+-118.4817	46.5041	8784
+-79.2029	34.6243	1455
+-109.9733	32.5557	8350
+-78.9676	27.5593	6303
+-82.8442	26.9397	8659
+-80.5665	29.1092	7558
+-90.4245	38.2232	8855
+-93.3773	41.6788	4910
+-91.1806	38.7523	8565
+-119.4361	46.7517	7858
+-115.9449	45.0661	6553
+-123.5805	44.3604	6647
+-83.356	27.0076	8264
+-109.0797	34.4695	6064
+-80.2803	26.6079	7420
+-114.9115	32.8789	7460
+-115.4489	30.4739	6639
+-121.1496	46.7652	7670
+-120.7761	33.0804	5541
+-78.3393	28.8873	5417
+-116.1799	34.2204	8349
+-115.6343	34.3041	7748
+-120.4261	33.1237	5920
+-117.0869	33.111	9398
+-114.3629	35.2397	6148
+-127.0513	46.9146	5045
+-117.1951	31.3403	8087
+-91.6968	38.1774	7880
+-117.0663	30.6378	7320
+-118.5082	47.5131	7745
+-123.3293	48.0039	8373
+-119.898	33.7169	6632
+-118.7805	34.8038	7732
+-120.3243	42.8718	5216
+-89.5767	38.2921	8425
+-112.6567	31.4055	6949
+-111.4817	34.7772	5796
+-117.2853	46.1543	8202
+-83.8488	29.549	7094
+-125.9491	48.2431	5975
+-116.998	30.3685	7022
+-87.5208	38.5571	8096
+-109.0908	32.0135	8049
+-80.0958	24.3106	5354
+-124.594	46.8149	7738
+-90.1309	34.7438	6195
+-124.9411	44.7359	6284
+-116.1364	34.7998	8107
+-120.2316	49.0024	5919
+-109.7697	31.4097	8835
+-118.8768	35.3205	7356
+-118.3727	45.5347	8654
+-120.2149	44.7748	6780
+-115.2924	30.7175	6758
+-123.1683	46.2277	8743
+-124.6002	48.0955	7364
+-119.1146	34.9644	7328
+-109.1626	32.9182	7550
+-91.7186	38.4214	7942
+-93.0469	36.013	5308
+-92.9916	41.516	5327
+-121.7324	34.5568	4645
+-92.5793	41.3177	5783
+-116.762	34.8426	8588
+-88.1519	39.9161	7197
+-81.0122	26.2699	7777
+-116.9429	47.1247	7474
+-115.9028	33.1548	8508
+-92.0305	40.4631	6863
+-92.1143	34.7303	4707
+-91.6878	36.5381	6657
+-119.2254	34.8822	7250
+-84.1604	28.4126	7485
+-114.0334	31.1902	6012
+-121.0874	32.9052	5160
+-110.7757	34.4988	6279
+-116.9524	35.7513	7740
+-117.838	34.4344	8833
+-112.2625	32.1856	7284
+-107.0328	36.2688	3264
+-121.5368	47.4567	8015
+-93.5733	41.7752	4686
+-110.612	35.6108	5099
+-118.842	36.1847	6716
+-114.7375	43.729	4743
+-120.3191	43.3058	5599
+-85.6011	37.1646	6217
+-82.8556	29.4087	7863
+-89.9854	36.9894	8250
+-124.3722	48.0563	7594
+-120.8546	34.3885	5614
+-117.9998	34.1684	8737
+-117.2384	45.7235	8084
+-118.4547	49.372	5790
+-90.5803	35.2441	6419
+-115.7339	32.8388	8378
+-87.1838	40.5542	6118
+-80.3962	27.7486	7927
+-90.0936	37.2917	8267
+-90.1685	35.3412	6768
+-108.2147	31.911	7151
+-88.5638	32.8712	4428
+-119.9214	47.1764	7185
+-112.8032	30.4805	6543
+-118.3952	49.1486	6030
+-115.9102	34.0366	8055
+-111.5129	29.5454	6922
+-117.1161	34.2053	9356
+-118.6319	43.2942	6266
+-81.1443	27.2451	8627
+-106.5466	29.6047	4845
+-93.6595	37.87	5768
+-111.071	35.5672	5084
+-89.0156	39.2726	7846
+-110.822	32.7388	8114
+-113.5408	30.2209	5698
+-120.2956	34.9157	6125
+-91.5483	36.3737	6572
+-124.4439	45.0854	6933
+-116.8428	45.8556	7713
+-119.1298	32.6232	7330
+-88.8777	39.6857	7514
+-89.7403	36.6404	8228
+-117.6967	45.1116	8043
+-89.6934	36.9004	8466
+-88.9731	36.3375	8306
+-108.0412	32.437	6823
+-113.6901	30.80	5739
+-90.4242	35.9388	7128
+-91.8021	39.2573	7800
+-89.199	42.3726	5316
+-118.1417	46.5085	8803
+-87.3692	37.9568	8213
+-117.4231	33.9931	9309
+-79.891	25.3843	6191
+-110.526	30.2896	8056
+-117.5296	31.1083	7747
+-86.3306	39.9569	6061
+-93.0368	40.9879	5683
+-123.0252	49.9415	6335
+-91.0748	40.1562	7735
+-93.6682	38.1103	5817
+-113.5427	35.4787	5219
+-107.7342	31.0742	6604
+-120.4207	34.3223	6091
+-110.3691	29.6516	7380
+-88.5846	38.9861	8319
+-112.5097	34.983	5100
+-116.8853	31.8461	8667
+-117.4271	28.1501	4523
+-117.8386	29.5393	5970
+-125.6887	47.2418	6528
+-83.6881	28.5522	7922
+-89.7193	37.5589	8739
+-88.7087	37.3377	9441
+-117.0758	35.3136	8234
+-88.1336	42.7123	4513
+-111.2984	32.74	7841
+-115.2908	33.6445	7668
+-90.9619	41.1341	6780
+-116.6816	37.2068	6125
+-117.5342	33.4339	8721
+-108.4238	29.5558	6456
+-93.6651	41.0788	5087
+-82.5095	26.2256	8098
+-86.8989	37.4306	7702
+-92.6752	39.4901	6829
+-117.0184	34.566	8994
+-89.6525	36.675	8323
+-111.3336	30.9821	8209
+-90.9419	38.3067	8656
+-92.3598	37.2459	6747
+-117.553	30.2165	6780
+-89.4617	38.8504	8425
+-110.1942	33.2054	7710
+-79.9511	32.7754	3711
+-120.6087	32.6401	5686
+-120.3206	36.8937	5047
+-117.529	33.1998	8994
+-110.0565	32.2559	8685
+-82.3605	24.9825	6732
+-88.7621	41.329	6141
+-110.5785	31.4695	9181
+-86.0937	35.2472	5769
+-116.0685	30.4401	6919
+-119.1661	48.6537	6399
+-114.9252	31.7806	7199
+-106.896	30.9902	5694
+-119.8446	45.4439	7467
+-113.7494	47.1757	4325
+-82.4829	30.2669	7036
+-108.8807	30.6492	7602
+-111.1462	31.8494	8547
+-113.5894	31.424	5942
+-89.5241	42.2669	5522
+-110.8021	34.3761	6405
+-118.097	45.2102	8298
+-115.9646	28.3936	4694
+-116.6878	32.1994	8997
+-119.6751	48.157	6630
+-81.9288	24.0237	5652
+-88.2818	33.7852	5425
+-83.2304	27.2773	8533
+-119.1409	36.7007	6070
+-86.6386	36.9863	7307
+-115.7461	45.759	6549
+-91.3707	35.8456	6118
+-112.3721	30.8071	7110
+-79.3936	27.5191	6780
+-110.2697	30.2642	8043
+-82.5516	30.2141	7083
+-88.1777	38.2442	8889
+-120.5991	47.6118	6981
+-91.1633	35.2305	5979
+-90.656	37.1169	7640
+-88.5037	37.9949	9343
+-89.8186	38.405	8711
+-112.5577	30.8392	6932
+-117.384	33.844	9197
+-115.4707	29.7688	5966
+-88.5589	43.8806	3555
+-113.1701	29.2571	5499
+-112.6225	25.7795	2714
+-119.503	46.2447	7960
+-110.7413	32.6933	8192
+-81.3101	31.4048	5672
+-82.7893	31.0212	6136
+-83.0409	25.0649	6668
+-90.9387	38.6622	8818
+-116.8225	32.8983	9568
+-114.8982	34.5565	6913
+-117.5248	33.4711	8763
+-117.8308	43.4316	6394
+-110.7453	32.0735	8780
+-113.5789	29.704	5410
+-121.561	34.2679	4851
+-116.5465	47.5768	6846
+-79.343	30.6636	5342
+-85.1893	39.0515	5509
+-89.195	39.7317	7763
+-117.8807	46.8469	8362
+-111.6883	31.9902	7941
+-88.7404	36.8186	8863
+-85.0389	25.5873	5783
+-118.0121	45.75	8792
+-108.7905	33.2752	6993
+-91.1604	40.7627	7099
+-121.0307	30.6765	4630
+-82.9429	38.1177	3258
+-89.4393	41.5632	6226
+-112.1171	35.6505	4662
+-118.6012	35.0448	7775
+-114.5658	30.5569	6075
+-118.158	31.2062	7518
+-117.7675	36.1285	7294
+-123.2071	46.8872	9258
+-121.8789	47.9388	8057
+-122.2427	46.5018	8722
+-81.2899	30.8471	6279
+-120.8731	46.4048	7295
+-92.8556	35.9375	5388
+-117.6708	33.6404	8843
+-113.0227	32.7069	6316
+-80.7172	27.4292	8245
+-91.2503	40.0639	7728
+-86.203	39.0749	6532
+-86.0287	27.0705	5416
+-111.8767	33.9706	6393
+-79.7335	27.3124	7129
+-117.9047	34.5742	8692
+-115.2302	32.2213	7705
+-124.5627	45.5561	7211
+-114.9866	33.9273	7221
+-111.4194	33.5953	6996
+-87.0837	36.8665	7724
+-86.9503	36.5864	7443
+-86.965	39.1231	7214
+-88.8244	37.9713	9466
+-123.3472	46.0193	8455
+-91.651	35.5243	5689
+-91.3718	37.2738	7509
+-92.2043	37.9989	7301
+-119.3726	46.7989	7890
+-119.1641	44.3863	7220
+-119.0403	35.0861	7342
+-118.3939	31.3825	7496
+-111.7297	33.2188	7144
+-83.1431	27.5878	8732
+-91.1141	37.9688	8271
+-88.8065	36.2686	8246
+-91.5691	39.3063	8013
+-111.1207	32.5129	8154
+-116.3361	34.0956	8522
+-92.1393	40.2104	6963
+-81.0232	27.1679	8465
+-109.5873	32.0374	8527
+-121.196	47.3702	7682
+-120.9666	34.8807	5420
+-79.5002	29.1662	6519
+-120.673	47.5372	7081
+-90.777	41.748	6165
+-118.7826	33.3167	7660
+-112.9863	36.2425	4333
+-121.798	47.7693	8108
+-119.9717	33.8738	6574
+-110.8316	33.9286	6876
+-83.5689	27.5678	8253
+-109.588	28.1883	5708
+-87.4881	39.6421	7173
+-117.2206	31.2074	7936
+-93.4154	41.2422	5194
+-113.1405	29.3812	5608
+-81.3767	25.332	7008
+-118.518	32.7552	8021
+-82.1929	29.9691	7400
+-109.8835	30.7789	8475
+-95.1988	38.3414	4215
+-89.4945	38.3604	8378
+-119.2094	49.4341	5596
+-81.246	29.5237	7665
+-90.9399	38.9915	8770
+-77.4099	28.2382	4522
+-121.9367	47.9792	8071
+-116.6521	45.9482	7526
+-121.2854	46.3194	7695
+-116.2867	32.6744	8978
+-119.0496	48.4624	6630
+-91.1906	38.4597	8500
+-88.0804	39.6709	7436
+-117.1026	42.696	5445
+-123.5877	45.3581	7684
+-110.8404	31.734	8900
+-90.6691	36.6709	7162
+-120.6231	35.8841	5408
+-111.8391	33.3159	6986
+-116.2786	45.925	7129
+-89.4436	41.2696	6526
+-110.215	32.9402	7998
+-109.3016	28.9385	6398
+-89.1119	36.0793	7992
+-120.842	44.7137	6178
+-87.3605	41.1701	5577
+-117.2754	37.3961	5979
+-112.82	33.8167	5852
+-125.0162	46.3421	7182
+-110.4554	28.9375	6604
+-81.8585	26.7405	8691
+-117.757	30.0026	6493
+-87.9083	37.4297	8816
+-90.6264	40.7042	7302
+-119.1407	33.1839	7246
+-81.1664	27.0398	8524
+-117.9739	33.2187	8543
+-89.6858	38.7668	8672
+-115.2775	35.1038	7124
+-91.7445	38.2282	7853
+-86.8631	35.5589	6628
+-116.3192	33.7522	8424
+-82.0025	29.5562	7862
+-89.7423	39.9824	7927
+-123.0946	47.1822	9287
+-119.5597	42.6358	5350
+-125.2559	47.5017	6952
+-87.5503	34.6821	6198
+-122.661	46.779	9272
+-119.626	32.7568	6786
+-116.7462	32.3526	9180
+-82.8038	28.9445	8359
+-117.1983	45.9073	8093
+-117.5202	33.9929	9222
+-120.4103	46.411	6984
+-117.7882	43.2834	6232
+-119.3731	33.956	7232
+-122.912	47.7701	8723
+-124.1606	47.5604	8075
+-88.6342	35.2736	7126
+-88.742	40.77	6619
+-87.7082	38.5939	8235
+-80.4589	27.4164	7957
+-115.2434	32.8581	7830
+-90.5218	39.4555	8649
+-116.5056	33.9227	8677
+-110.336	32.4497	8535
+-117.16	34.0802	9408
+-88.6253	34.4007	6146
+-88.991	38.2278	9136
+-93.1964	36.6057	5612
+-119.6865	33.5584	6825
+-116.7105	34.0341	8922
+-90.7958	38.0154	8516
+-84.6524	26.5475	6726
+-115.4523	34.3132	7549
+-121.2092	46.752	7734
+-117.1439	32.2732	9115
+-90.8209	35.5889	6536
+-118.681	47.3179	7904
+-120.2446	45.8852	7171
+-81.1764	26.4302	8033
+-122.6766	47.2892	9175
+-86.4527	40.5303	5682
+-117.2302	45.0634	7696
+-114.5109	40.9088	2464
+-115.6892	34.1513	7817
+-108.7185	30.3306	7259
+-116.4249	33.9636	8601
+-112.1821	30.07	6885
+-117.4992	32.3545	8966
+-117.6117	35.444	8059
+-90.6972	40.947	7032
+-88.2669	36.212	8089
+-115.5083	32.2159	7994
+-124.576	45.9177	7434
+-112.3221	33.3509	6591
+-91.6532	40.8932	6739
+-117.5615	33.9578	9163
+-117.8683	48.3078	6881
+-117.3514	32.79	9323
+-120.455	46.449	6931
+-109.8756	31.9958	8806
+-88.9431	40.3768	7083
+-108.9724	30.9268	7836
+-83.5228	26.8223	7992
+-89.9677	36.2762	7753
+-89.4735	38.109	8879
+-124.3312	47.1008	8027
+-119.0764	46.321	8389
+-124.5326	45.3876	7111
+-117.2242	33.004	9398
+-86.3333	36.5158	6794
+-124.8335	44.072	5782
+-110.6227	30.148	7887
+-122.0607	45.263	7520
+-83.6727	29.8354	6975
+-81.5089	27.6192	9167
+-116.6213	44.3053	6670
+-117.7088	32.6727	8910
+-117.9543	28.5265	4842
+-92.2979	43.2822	4121
+-123.7969	44.8778	7109
+-120.8527	45.0505	6321
+-88.828	35.9912	7934
+-92.0994	40.0781	7085
+-122.5628	48.1111	8295
+-79.2812	26.6329	6420
+-118.1689	34.5738	8443
+-119.8607	34.8563	6600
+-90.9812	37.2281	7662
+-93.3965	38.3879	6153
+-115.82	35.0886	7647
+-122.2211	45.4343	7765
+-118.3104	46.1763	9175
+-117.0194	31.6441	8444
+-116.1435	32.4073	8727
+-84.3241	38.0098	4813
+-115.2345	44.7033	5709
+-121.721	44.2706	6373
+-82.5677	27.6185	9373
+-78.0942	27.1225	5265
+-117.6325	46.9833	8099
+-117.1484	36.8061	6619
+-117.3383	30.4657	7098
+-117.4653	42.0282	4862
+-117.063	36.9354	6473
+-119.7475	37.1646	5265
+-122.9622	49.3309	7008
+-123.9123	44.4921	6669
+-118.6794	45.4879	8488
+-117.1542	46.6486	7931
+-83.1465	27.5644	8724
+-114.8101	35.129	6647
+-110.1547	30.0165	7765
+-110.7507	29.0009	6639
+-120.5311	43.90	5929
+-118.783	44.3887	7372
+-80.4609	30.6612	6110
+-84.1069	28.093	7629
+-116.405	34.9006	8279
+-92.1274	38.3923	7505
+-124.4686	46.7415	7865
+-114.614	31.3934	6686
+-84.1598	26.1865	6985
+-90.985	37.0555	7486
+-119.3082	47.0847	7755
+-88.199	41.366	5751
+-118.5101	47.2135	8057
+-123.5054	48.5634	7730
+-125.249	45.6704	6659
+-86.9748	33.3959	4617
+-126.0494	49.1451	5399
+-120.0591	36.516	5534
+-110.3232	31.9345	9093
+-121.95	44.5351	6738
+-117.2404	45.4874	7980
+-116.4163	34.4962	8529
+-121.175	30.8082	4552
+-114.8615	33.8687	7128
+-116.8867	34.4229	9017
+-90.8664	36.7439	7200
+-91.2373	37.3013	7612
+-117.0716	31.9692	8800
+-89.7203	39.6468	8222
+-117.3412	33.5364	8882
+-79.3127	25.5853	5858
+-109.2542	32.665	7818
+-114.3386	30.9554	6161
+-119.4613	49.2488	5700
+-108.6123	33.7575	6469
+-117.1589	36.2232	7255
+-118.7598	45.1959	8178
+-118.7523	30.624	6599
+-87.2288	36.2285	7452
+-89.9806	38.5245	8927
+-120.5973	34.1396	5905
+-119.1937	36.9349	5829
+-117.6997	34.2857	9037
+-124.9438	44.6331	6198
+-115.6663	32.215	8155
+-123.9326	47.9613	8031
+-116.5975	36.7827	6557
+-88.5345	37.77	9530
+-116.215	33.9975	8381
+-84.0773	29.1534	7191
+-112.3557	29.512	6337
+-88.3799	38.8378	8430
+-89.778	36.2391	7852
+-114.6624	31.8461	6964
+-105.4162	33.3547	3811
+-113.1408	34.7772	4983
+-110.6933	31.5513	9082
+-86.9662	38.887	7373
+-114.9716	45.9118	5747
+-86.4729	37.7229	7240
+-109.3846	31.0345	8286
+-108.7672	32.7938	7329
+-87.9888	35.6979	7440
+-113.9884	35.6123	5615
+-122.565	49.3893	6919
+-117.0852	33.0765	9434
+-123.77	42.8807	5017
+-118.3815	32.5567	8148
+-88.8083	44.8496	2634
+-116.2202	32.1859	8663
+-81.3053	24.9702	6593
+-118.0867	33.0065	8486
+-116.42	34.5357	8515
+-93.8852	38.9641	5643
+-89.2163	36.2878	8188
+-105.0722	33.4627	3421
+-83.8596	27.3124	7873
+-90.38	37.9211	8531
+-117.0235	35.678	7832
+-119.0006	44.1985	7108
+-119.2284	48.1242	6895
+-109.5428	31.4124	8597
+-80.4205	27.2196	7858
+-88.5497	36.4999	8484
+-90.9991	37.246	7673
+-118.1707	32.9056	8406
+-117.1616	30.1552	6776
+-88.8803	39.9206	7371
+-117.2261	30.6775	7349
+-93.1442	34.7442	4181
+-119.6745	45.3717	7597
+-122.6199	48.7738	7597
+-110.469	33.9556	6899
+-119.3007	35.727	6719
+-113.8918	31.1245	5838
+-90.119	39.7923	8265
+-90.1546	38.4486	9017
+-117.8947	33.5989	8638
+-119.5938	46.3341	7851
+-83.0198	28.1584	8796
+-123.5406	43.8961	6160
+-125.9839	47.1478	6212
+-116.2748	32.7882	8981
+-121.1531	45.5805	7156
+-114.2379	46.5595	4948
+-117.2645	46.4754	8111
+-124.1566	45.6912	7639
+-88.0565	38.2472	8785
+-117.3476	32.112	8859
+-117.1218	46.3952	7991
+-121.8253	45.80	7864
+-81.2036	27.8721	8834
+-90.5132	38.5659	9181
+-111.5135	33.9006	6656
+-108.4685	32.7133	7111
+-87.3441	24.495	2932
+-124.9614	47.5911	7240
+-110.3725	29.9766	7732
+-81.476	27.0826	8819
+-116.6599	35.6015	7805
+-118.6021	44.6735	7712
+-113.408	32.3091	6051
+-89.4336	39.6018	8049
+-123.589	46.2764	8535
+-126.0394	47.128	6153
+-88.7786	35.4754	7356
+-88.2195	33.3368	4917
+-118.5557	35.4418	7534
+-120.1096	42.4853	4971
+-110.2531	32.3252	8665
+-91.7267	35.8542	5984
+-118.0902	30.8979	7273
+-85.0737	40.4151	4647
+-116.8403	33.1341	9372
+-92.5934	38.4115	7014
+-111.4608	32.7402	7723
+-79.7945	29.4802	6612
+-121.2042	29.829	3970
+-117.9533	31.5391	7952
+-86.6606	26.2349	4485
+-112.7426	33.9356	5825
+-119.3777	32.6872	7060
+-114.6504	29.449	5194
+-120.9577	46.4448	7397
+-108.1538	31.6065	7112
+-114.9277	46.2995	5700
+-91.5149	38.6852	8203
+-122.5568	49.2278	7094
+-82.1767	28.7554	8773
+-82.1481	25.9719	7862
+-90.4174	37.5766	8159
+-81.0908	25.2188	6778
+-119.0117	33.3795	7464
+-89.1167	39.2681	7949
+-118.0071	30.6657	7088
+-116.8035	47.5862	7039
+-112.9761	34.3549	5324
+-90.4026	37.5669	8149
+-108.2763	30.8319	7101
+-90.0725	40.7831	7208
+-80.6147	27.6457	8169
+-123.3109	45.4225	7851
+-90.538	39.9048	8169
+-118.2173	38.3127	4862
+-87.3638	41.8554	4756
+-89.2134	39.2477	8054
+-116.9511	49.0317	5850
+-113.2748	32.4303	6157
+-123.1925	47.7568	8681
+-116.8716	44.4437	6956
+-89.4554	40.3191	7459
+-116.2114	32.1773	8649
+-84.9704	29.0798	6356
+-107.4239	31.3907	6314
+-88.5774	36.023	7959
+-118.2016	45.7081	8837
+-90.6697	39.7296	8324
+-116.7609	45.9475	7640
+-111.2843	33.4621	7192
+-122.3314	45.205	7573
+-116.639	32.5452	9278
+-117.2173	43.4167	6203
+-91.0397	37.8555	8229
+-110.5763	34.6177	6175
+-117.6854	32.5893	8912
+-91.4816	36.0276	6260
+-88.6789	39.3458	7927
+-83.5069	26.027	7385
+-112.1984	32.8671	7020
+-117.9541	49.5909	5547
+-117.4042	33.3063	9020
+-94.6418	37.9178	4748
+-120.9146	46.7109	7407
+-118.4879	46.5686	8719
+-91.1383	40.3543	7513
+-116.4016	33.9119	8564
+-116.2872	33.3688	8776
+-123.817	44.9903	7213
+-86.3919	37.9367	7132
+-121.8473	47.8562	8092
+-116.149	34.0955	8318
+-89.9018	33.9086	5409
+-88.9221	37.896	9503
+-108.1594	35.0077	5079
+-105.9733	28.5362	3710
+-88.6442	44.0763	3385
+-88.0607	36.8366	8593
+-118.9315	48.4697	6659
+-88.1911	39.4893	7669
+-81.6036	29.5085	7833
+-84.9688	29.8775	5893
+-106.4944	32.4159	5218
+-90.9409	39.5782	8348
+-125.733	46.9004	6493
+-114.7159	33.074	7226
+-119.9361	36.0566	5949
+-119.3538	46.4966	8052
+-115.4174	48.5233	5286
+-117.737	47.4838	7685
+-119.3165	31.0624	6482
+-109.554	29.3545	6915
+-113.7134	30.3615	5579
+-88.8703	35.5056	7387
+-126.248	47.6325	5856
+-113.131	33.149	6000
+-85.4433	38.9429	5819
+-124.7342	45.2521	6848
+-92.8988	38.3943	6686
+-116.621	35.8867	7500
+-110.8563	32.4902	8339
+-107.9819	28.8905	5600
+-80.4155	27.2302	7856
+-114.2576	32.7553	6730
+-118.3054	32.124	8072
+-111.2938	30.1404	7596
+-116.4847	35.7106	7617
+-83.1779	28.6875	8317
+-118.224	31.6261	7821
+-118.9058	43.1529	6070
+-116.4625	32.8056	9190
+-121.2756	44.6228	6473
+-117.5774	34.0584	9189
+-117.0998	48.6997	6235
+-117.3615	35.1246	8452
+-116.4574	33.5401	8766
+-82.6996	28.7562	8603
+-116.7539	33.9125	8929
+-88.4425	40.0813	6888
+-118.942	46.6059	8381
+-108.2733	32.7908	6886
+-112.7901	26.3585	3218
+-117.2668	44.8817	7580
+-88.3122	38.2811	8957
+-85.0833	26.3403	6185
+-90.7499	39.7343	8292
+-115.821	37.4103	5631
+-86.8717	38.366	7548
+-89.6125	38.7325	8593
+-90.8275	40.0608	7933
+-108.6471	30.548	7330
+-83.6975	27.4977	8097
+-119.7519	47.9668	6745
+-119.8366	46.9035	7408
+-82.7005	29.0494	8306
+-120.2016	47.4681	6765
+-118.2494	47.4966	7781
+-118.8981	47.7672	7379
+-85.4979	26.2325	5709
+-93.1452	34.6934	4135
+-120.583	45.6502	6779
+-110.3485	30.2862	8068
+-109.497	27.3326	4780
+-119.5345	47.334	7399
+-87.426	38.4045	8097
+-110.7954	29.3232	6974
+-111.5893	37.4878	2933
+-111.1037	30.9353	8383
+-113.4063	35.2936	5141
+-90.0394	36.4632	7849
+-113.6727	33.4504	6011
+-81.4634	26.0269	7783
+-121.3812	46.2057	7740
+-116.6252	45.918	7494
+-117.7693	29.9715	6456
+-115.7271	29.7022	6014
+-86.5063	36.8353	7112
+-88.4514	38.4493	8867
+-122.895	44.807	7234
+-92.6498	39.6783	6784
+-120.0868	32.6537	6268
+-92.2273	38.2599	7368
+-109.3069	31.1003	8245
+-89.9859	37.6914	8206
+-82.6236	26.1337	7964
+-81.7055	26.4731	8351
+-120.1055	48.9508	5677
+-92.551	42.6448	4620
+-88.8836	39.4571	7637
+-88.1463	38.7349	8428
+-116.2602	38.9198	4203
+-113.8737	42.4251	3181
+-91.2486	34.4529	5258
+-106.8425	30.4981	5513
+-119.4389	46.7559	7853
+-121.201	47.2413	7715
+-116.7874	33.3981	9074
+-117.1845	49.1493	5828
+-111.092	31.6214	8650
+-81.741	28.0711	9331
+-81.0765	26.9312	8368
+-84.0434	26.0758	7006
+-118.8977	35.5799	7160
+-88.6364	39.4313	7828
+-117.2037	38.746	4506
+-109.4318	30.8973	8246
+-112.0317	32.4142	7425
+-81.4108	26.3394	8083
+-117.3615	30.6715	7320
+-91.6612	35.1934	5351
+-117.6121	46.8442	8199
+-111.2806	35.2615	5358
+-116.5159	30.6784	7315
+-122.0453	46.141	8301
+-82.2693	29.6212	7789
+-110.8021	33.506	7329
+-115.4154	33.602	7814
+-90.6158	35.205	6360
+-80.6308	31.3432	5503
+-115.175	37.1889	5499
+-118.1688	30.4572	6799
+-116.0877	35.1626	7831
+-82.3691	28.1301	9402
+-89.8855	38.8716	8872
+-82.1543	28.2105	9390
+-116.0773	44.4204	6324
+-85.1889	35.9198	5346
+-119.8792	43.0831	5646
+-116.443	34.2992	8621
+-91.9124	41.5484	5987
+-125.1197	45.3187	6569
+-117.5342	34.3063	9190
+-118.3123	43.9192	6951
+-90.2741	38.0876	8701
+-122.4696	46.2167	8656
+-89.2659	38.0911	9079
+-81.2687	26.9375	8537
+-124.2016	48.8418	7098
+-91.2999	37.2372	7518
+-87.4076	37.464	8273
+-82.3858	28.2231	9302
+-123.422	47.0788	9020
+-88.7411	39.9893	7207
+-81.6362	25.6594	7443
+-115.4085	33.4745	7866
+-93.7777	37.9193	5658
+-119.8666	35.1349	6499
+-113.772	33.4851	6112
+-115.7832	31.6367	7889
+-88.6078	40.0222	7070
+-117.5211	35.6858	7822
+-115.5192	33.6222	7905
+-82.9717	25.7605	7433
+-92.9442	41.3203	5514
+-113.1676	29.1708	5441
+-117.5751	45.0432	7913
+-87.2513	28.1477	4086
+-122.0656	48.5868	7604
+-88.8366	38.9773	8341
+-88.8524	40.2279	7131
+-116.7231	44.7732	7091
+-85.3233	37.2867	5927
+-88.152	37.5475	9112
+-107.8631	29.3727	5882
+-118.1653	41.8531	4761
+-120.7259	44.4819	6157
+-117.7754	35.5387	7907
+-91.0199	38.9752	8697
+-121.793	46.5809	8318
+-117.1495	33.3998	9071
+-109.7534	34.1555	6617
+-117.3276	46.6905	8071
+-118.1984	45.6866	8814
+-91.0326	38.2963	8571
+-82.9539	28.2648	8806
+-117.7219	32.4816	8831
+-109.6866	32.2638	8456
+-85.5769	39.0528	5911
+-115.8368	33.5636	8242
+-118.0637	32.4844	8474
+-92.3925	38.2142	7183
+-125.7043	48.833	5905
+-89.8191	39.273	8595
+-117.9967	49.6565	5482
+-116.3376	30.6684	7256
+-84.801	37.7854	5362
+-114.2138	36.6234	5240
+-118.3189	46.4432	8895
+-123.1603	47.9807	8456
+-84.1697	28.9146	7248
+-90.9466	38.2375	8604
+-120.0134	46.7581	7300
+-124.1868	48.9132	7043
+-93.2291	39.3094	6298
+-120.2588	32.8038	5966
+-90.3771	37.293	7854
+-89.7417	38.8098	8730
+-86.3951	37.5149	7148
+-119.0861	44.8949	7727
+-127.6582	48.438	4134
+-86.5799	39.5451	6579
+-121.1407	37.0889	4223
+-121.0755	45.3855	6954
+-109.8229	28.859	6471
+-89.4286	36.8527	8638
+-91.993	36.777	6680
+-78.5529	26.4328	5570
+-123.9854	49.2051	6873
+-116.6052	35.7621	7620
+-77.4327	24.6122	3488
+-118.3189	34.5949	8284
+-122.6255	45.8903	8386
+-117.1183	38.6739	4582
+-117.2674	29.9587	6548
+-82.0801	26.0827	7986
+-91.2747	42.8999	4849
+-117.3046	33.6785	9040
+-117.6858	45.5862	8426
+-87.5892	41.3267	5328
+-112.5948	32.0925	6962
+-118.2294	34.9901	8132
+-84.2323	28.9882	7145
+-123.8811	47.5541	8350
+-79.5007	30.1334	5887
+-118.913	33.0354	7568
+-116.9801	45.5169	7748
+-123.38	47.8795	8473
+-121.6095	46.9454	8188
+-123.7134	44.8078	7072
+-90.999	38.883	8745
+-112.2216	32.6749	7110
+-91.4416	40.8413	6898
+-111.8853	31.6795	7789
+-87.4932	37.594	8383
+-84.0455	27.7873	7729
+-88.593	34.6589	6434
+-86.5181	38.4666	7136
+-126.0736	46.686	6106
+-108.3704	30.6764	7131
+-113.0619	30.0303	6072
+-119.9058	28.2506	3696
+-88.5561	39.0795	8211
+-91.2489	39.2131	8366
+-90.5928	38.2695	8859
+-107.1889	29.5864	5438
+-116.442	31.5472	8221
+-118.5111	48.0866	7143
+-117.4092	43.0437	5894
+-120.9007	35.1921	5409
+-90.3519	43.0084	4834
+-85.8273	35.0716	5414
+-88.4987	38.032	9306
+-120.476	48.2817	6576
+-115.7112	33.5539	8129
+-90.9474	34.0947	5118
+-112.5248	30.3537	6751
+-85.7293	42.5082	3399
+-91.7318	41.8537	5777
+-118.7949	46.6075	8497
+-120.4189	47.6324	6784
+-115.0275	37.0854	5496
+-118.0366	28.5971	4897
+-124.1427	49.4691	6537
+-117.73	48.3278	6829
+-89.7949	39.7949	8132
+-121.4987	41.9461	3880
+-113.2421	31.8624	6308
+-108.2222	31.6257	7186
+-86.3985	40.2185	5907
+-112.752	31.2541	6829
+-88.5016	36.9079	8914
+-107.9286	34.3567	5496
+-86.0823	37.2205	6761
+-118.7082	36.2035	6786
+-117.7424	35.5158	7943
+-110.7053	33.4989	7359
+-90.6097	40.0179	8036
+-81.9767	27.9133	9650
+-118.9907	32.7708	7495
+-120.5261	45.1654	6687
+-91.1889	38.0843	8298
+-125.8996	45.3776	5877
+-119.0925	48.612	6465
+-83.048	27.6343	8847
+-112.3381	33.9306	6129
+-92.9487	37.0151	6086
+-109.1306	30.7862	7910
+-123.5928	46.3733	8604
+-117.0065	44.5495	7133
+-79.9087	28.3345	7295
+-115.271	34.2076	7359
+-108.0962	33.0798	6557
+-111.9068	28.7088	5923
+-123.8437	46.8974	8567
+-119.9859	46.8914	7272
+-92.3856	39.4353	7143
+-85.1694	37.0984	5727
+-113.3611	49.0455	3185
+-81.5327	27.3722	9080
+-88.9417	37.0506	9097
+-82.3991	25.7211	7559
+-111.6971	30.8865	7814
+-86.6123	40.1791	6099
+-105.7598	28.4642	3476
+-117.716	43.2534	6186
+-116.792	32.8922	9541
+-118.1478	35.3936	7860
+-118.764	48.0776	7105
+-123.7041	47.8137	8323
+-86.9882	39.1278	7231
+-88.9178	36.3999	8384
+-91.6258	36.2059	6373
+-118.6978	46.7279	8464
+-119.6773	48.37	6439
+-119.7909	45.4742	7532
+-86.4696	40.2163	5962
+-110.5928	30.5947	8366
+-114.8574	34.7402	6828
+-90.7657	35.8939	6816
+-116.6983	32.9672	9410
+-112.0709	30.7395	7381
+-90.9053	37.1892	7651
+-109.936	32.715	8174
+-114.6655	31.7239	6911
+-117.9445	32.4646	8594
+-116.1627	43.382	5610
+-115.777	33.1174	8384
+-89.4369	39.1631	8311
+-89.5808	33.6217	5184
+-90.6032	40.3755	7656
+-117.4787	46.276	8388
+-121.5102	47.6971	7881
+-123.4663	47.2077	8930
+-88.1877	38.6355	8548
+-116.9041	45.8984	7784
+-117.1471	46.9316	7769
+-121.762	41.5795	3557
+-116.1005	30.542	7038
+-79.8039	30.3693	5941
+-113.1259	28.6344	5073
+-86.2628	39.911	6040
+-121.5652	48.5042	7369
+-88.2937	39.9925	7150
+-121.0175	43.7081	5413
+-113.7765	34.12	5909
+-81.4508	25.7513	7485
+-115.8689	34.428	7980
+-117.3599	31.7372	8471
+-127.1743	45.7009	4709
+-88.2287	38.8969	8307
+-124.8312	46.405	7397
+-88.2696	37.3692	9165
+-117.8291	36.0883	7319
+-121.293	45.4045	7144
+-109.6811	34.6994	6024
+-91.9752	38.7647	7708
+-112.4652	31.0559	7094
+-123.022	46.3145	8877
+-117.6224	33.5219	8766
+-82.648	25.8364	7632
+-79.7656	24.4595	5291
+-82.7028	29.7604	7547
+-90.5561	39.6409	8446
+-122.0712	47.1392	8676
+-115.4258	31.2066	7267
+-116.5311	44.9855	7061
+-89.149	38.6994	8578
+-120.1583	34.0168	6381
+-116.2538	32.7944	8957
+-117.4049	32.5369	9173
+-96.9169	35.6619	1635
+-114.6676	34.5447	6668
+-89.8307	37.0052	8409
+-116.1137	33.5777	8478
+-88.3728	39.8737	7298
+-116.5748	33.4592	8913
+-87.5743	39.6881	7180
+-80.7172	27.4885	8260
+-115.3324	33.5845	7739
+-118.4655	32.9663	8073
+-95.0502	38.9569	4389
+-87.1316	36.9441	7809
+-111.5859	32.9786	7442
+-120.7803	45.2225	6457
+-116.2847	28.2183	4568
+-108.4025	32.26	7257
+-120.1787	48.0886	6351
+-81.7331	27.1688	9079
+-124.7219	43.682	5480
+-92.1916	40.483	6725
+-116.924	34.013	9142
+-121.0594	44.4439	6175
+-117.059	33.5801	8893
+-90.7771	37.2169	7718
+-115.8094	48.0524	5923
+-118.7949	46.9586	8202
+-122.1936	33.2001	4068
+-118.6996	30.5151	6539
+-117.5129	32.5879	9092
+-84.0764	29.9432	6591
+-116.0289	33.1916	8626
+-110.80	35.1915	5532
+-107.151	33.7315	5314
+-117.0548	33.899	9193
+-121.604	31.3722	4335
+-116.0064	35.751	7301
+-114.5455	48.33	4651
+-118.8996	37.0252	5915
+-85.025	40.1678	4763
+-110.917	31.4346	8821
+-123.8268	46.751	8561
+-113.5073	32.8109	5786
+-112.4394	30.9868	7102
+-89.3142	35.652	7472
+-106.7927	32.5858	5487
+-116.4343	46.5572	7243
+-117.0223	33.8512	9131
+-109.1064	31.9784	8077
+-79.6967	24.3455	5141
+-81.0608	29.3433	7735
+-121.8522	48.2914	7751
+-85.4653	41.0373	4519
+-87.578	37.7789	8475
+-123.6114	49.5006	6715
+-110.4207	32.2474	8748
+-120.8255	46.0425	7111
+-83.3374	26.7187	8087
+-117.2298	33.7234	9089
+-117.8776	46.8814	8328
+-125.2409	45.9112	6785
+-90.844	37.5981	8087
+-120.5592	47.9546	6815
+-121.0994	48.0691	7287
+-115.5781	33.4077	8070
+-91.7637	35.7727	5887
+-91.7553	38.1725	7820
+-116.9112	30.5143	7184
+-118.6397	32.9924	7876
+-118.2318	45.392	8509
+-125.1466	44.5203	5957
+-112.1556	31.3794	7487
+-114.9161	34.0582	6973
+-84.519	24.2951	5127
+-108.7065	32.1046	7623
+-79.8334	28.9605	6961
+-92.175	38.0723	7360
+-83.2539	24.7916	6296
+-116.5442	46.1703	7417
+-119.2548	49.3055	5713
+-81.563	24.7378	6406
+-84.5474	30.8819	5434
+-78.6106	27.5653	5901
+-117.074	46.1434	7979
+-113.825	41.6912	2620
+-120.8092	45.0808	6376
+-117.6811	33.4491	8665
+-118.297	49.9416	5192
+-86.997	37.1007	7730
+-115.1502	32.616	7715
+-85.3022	26.7286	6120
+-121.1699	44.6983	6472
+-91.7901	36.2884	6368
+-116.5931	33.2045	9152
+-87.5597	40.0734	6792
+-109.0657	29.2343	6582
+-121.2506	47.5284	7692
+-118.0549	30.6596	7058
+-89.039	39.418	7806
+-117.6708	33.1616	8878
+-123.4016	42.5706	4745
+-81.0591	28.133	8608
+-123.0352	45.9264	8454
+-116.3148	34.7404	8306
+-124.9736	46.728	7313
+-92.1829	38.4753	7462
+-107.8446	32.3194	6662
+-119.7508	31.9642	6505
+-83.1474	31.3453	5684
+-123.8796	45.8802	7999
+-121.7192	49.7071	6328
+-89.9709	36.0378	7542
+-118.0673	46.7994	8485
+-124.7083	45.0427	6705
+-114.7491	33.2395	7235
+-125.0795	44.2421	5773
+-87.0828	40.6898	5930
+-81.5396	27.4064	9107
+-110.318	31.6424	9407
+-122.0639	45.6957	7935
+-117.0085	34.0791	9250
+-88.1734	36.7103	8552
+-109.5693	30.5154	8051
+-83.204	28.1081	8621
+-88.6796	37.3671	9466
+-88.2707	37.9571	9170
+-87.8463	40.6975	6259
+-107.3788	30.0161	5850
+-116.7518	36.5267	6867
+-81.679	26.2114	8059
+-120.9858	48.8647	6645
+-108.124	33.7174	6146
+-120.1363	35.4648	6087
+-90.6824	37.9781	8532
+-90.8025	36.4498	6904
+-90.5021	37.2336	7785
+-90.7648	38.8639	8995
+-88.7888	35.8312	7755
+-115.6269	32.7813	8258
+-119.0693	46.3754	8379
+-83.496	31.9117	4956
+-79.1123	27.4644	6457
+-115.3979	33.4679	7858
+-87.6389	38.3097	8358
+-89.3995	36.2649	8089
+-121.3299	43.9609	5881
+-115.8591	33.3526	8380
+-107.2046	30.9351	6012
+-89.8337	39.1883	8667
+-123.1577	45.1458	7586
+-88.244	39.946	7189
+-82.5346	26.1004	7953
+-108.6162	31.1706	7560
+-88.0664	37.5752	9023
+-119.513	30.5184	5927
+-118.4881	29.3211	5501
+-89.0563	34.8125	6596
+-117.4954	31.9217	8593
+-92.0284	36.0356	6003
+-125.3125	48.3572	6547
+-89.8872	38.8434	8880
+-124.8157	49.8335	5818
+-109.5659	31.4083	8621
+-109.337	29.9134	7367
+-117.3502	34.4033	9229
+-87.6135	37.1602	8402
+-78.5946	28.1292	5868
+-81.2569	29.0407	8143
+-121.0197	43.8229	5490
+-119.9675	47.0069	7235
+-124.0384	42.9624	5033
+-91.1146	38.9279	8613
+-116.0245	35.494	7528
+-124.0291	47.0329	8364
+-116.2326	35.4557	7707
+-118.5958	46.0241	8920
+-109.1372	30.93	7997
+-112.3518	32.5039	7070
+-125.3292	47.5757	6855
+-123.7452	43.1066	5265
+-118.701	47.8999	7304
+-80.6703	26.8864	7961
+-121.0729	35.273	5204
+-118.598	32.0878	7760
+-118.3981	48.5323	6682
+-116.5733	32.2242	8960
+-87.7054	37.0047	8411
+-92.6534	39.6211	6804
+-110.9011	32.8567	7963
+-86.2443	25.8974	4783
+-107.4095	32.1759	6241
+-118.9382	33.1253	7409
+-116.2012	32.5178	8836
+-124.0947	47.0627	8289
+-87.0433	38.382	7720
+-117.6075	49.5173	5571
+-118.6908	47.5534	7662
+-81.4535	25.6375	7364
+-109.8217	32.6405	8201
+-94.2235	38.787	5285
+-85.7206	40.2985	5296
+-87.4156	39.532	7229
+-79.6666	29.865	6228
+-89.9894	38.3282	8802
+-89.2609	39.0073	8183
+-112.3495	31.659	7288
+-120.0252	31.5224	6048
+-115.2258	32.7129	7808
+-83.5371	27.5506	8286
+-88.2849	37.3667	9178
+-120.1331	46.114	7301
+-88.7848	36.8273	8873
+-81.61	27.5886	9267
+-91.851	37.9541	7625
+-119.4852	45.0492	7570
+-108.9451	31.8957	7932
+-120.0131	31.6291	6106
+-88.7596	40.8703	6546
+-106.9788	32.1132	5794
+-82.7266	28.2981	8991
+-91.9083	40.8265	6648
+-124.3459	49.7901	6121
+-85.8625	35.7533	5912
+-114.6212	29.8414	5527
+-81.6084	28.9049	8474
+-104.7588	33.4292	3111
+-109.5962	29.6322	7214
+-88.8851	38.2934	9098
+-116.2483	46.6369	7032
+-120.6079	34.1974	5892
+-119.6626	49.2562	5613
+-86.6263	39.3577	6753
+-110.6416	32.9146	7993
+-90.3421	37.4008	7969
+-83.1258	28.2277	8654
+-88.4498	37.869	9393
+-113.2727	31.8224	6278
+-81.1798	29.4664	7687
+-87.5038	36.1988	7642
+-123.6841	48.439	7773
+-77.1554	31.6746	2732
+-120.1697	31.5297	5903
+-114.3627	34.9414	6250
+-125.1276	44.7038	6118
+-85.8111	28.8303	5561
+-119.8384	34.9984	6578
+-86.1929	26.9276	5203
+-117.1441	33.6965	9043
+-80.3491	27.6415	7869
+-83.0781	27.0882	8577
+-120.5129	45.0943	6670
+-125.1691	44.4239	5862
+-124.9369	48.435	6848
+-118.0269	44.691	7744
+-110.1578	29.6324	7351
+-90.4051	36.293	7416
+-119.5573	35.8206	6434
+-113.0296	32.042	6510
+-93.304	38.5817	6271
+-91.7241	38.3961	7930
+-118.6182	33.4079	7865
+-116.0495	33.8697	8179
+-90.9301	38.5028	8778
+-118.1826	33.4259	8275
+-89.404	40.6514	7119
+-121.9952	45.1355	7362
+-125.863	47.0914	6348
+-117.5146	48.9734	6110
+-108.0442	33.2352	6415
+-87.4587	39.3666	7407
+-123.3518	47.026	9106
+-118.6661	35.0887	7689
+-120.7813	44.5303	6136
+-111.3797	34.8897	5716
+-90.8465	39.7323	8254
+-91.9482	40.7409	6695
+-116.7145	46.948	7372
+-83.7123	26.5139	7612
+-82.0392	32.6719	4342
+-112.4592	31.9975	7127
+-83.5183	28.2784	8222
+-90.6578	42.6667	5192
+-91.909	38.1167	7644
+-116.0051	45.828	6831
+-116.0376	33.2106	8627
+-87.8009	37.7177	8730
+-111.5573	31.0915	8044
+-84.2769	27.0601	7339
+-82.2342	29.3872	8055
+-92.1187	35.7047	5646
+-89.0087	34.7524	6533
+-85.5683	26.4036	5712
+-108.8503	32.6648	7485
+-81.3734	29.5841	7664
+-123.2031	45.2856	7730
+-123.6156	48.1537	8083
+-122.3232	46.4766	8775
+-85.7253	26.6191	5626
+-90.3331	37.6297	8216
+-126.1467	44.0494	4811
+-126.9319	45.9645	5042
+-89.3844	33.1291	4675
+-111.4939	28.6869	6093
+-120.3371	44.078	6208
+-107.5209	31.499	6425
+-121.2499	43.7669	5651
+-89.5671	40.7126	7133
+-109.1467	30.5004	7733
+-117.793	44.1786	7160
+-90.9914	41.488	6401
+-83.0132	29.7157	7473
+-83.2078	27.4254	8617
+-88.1192	37.8321	9065
+-112.9522	33.1937	6143
+-120.1462	32.6019	6198
+-82.8814	31.9564	5077
+-123.0754	36.899	2520
+-117.9897	47.9709	7255
+-115.5375	32.642	8147
+-88.4431	38.4374	8876
+-117.6834	33.8034	8958
+-120.1382	47.531	6779
+-79.9143	26.6843	7099
+-114.769	30.6529	6313
+-117.7943	44.6715	7661
+-118.5665	31.9401	7718
+-85.7989	36.5344	6250
+-89.8613	36.7086	8183
+-88.7083	38.6049	8759
+-112.9588	30.2043	6260
+-88.6836	37.3293	9426
+-120.4218	33.3173	5983
+-90.0334	39.2485	8768
+-120.2095	45.6085	7155
+-92.6251	37.9947	6875
+-125.3723	45.7997	6603
+-118.1013	35.2178	8045
+-90.1101	37.9947	8559
+-117.237	36.8047	6624
+-91.2951	41.3554	6449
+-89.2768	38.0609	9091
+-123.3887	47.5352	8782
+-114.635	37.616	4776
+-124.5164	48.7533	6959
+-87.9861	36.8932	8582
+-82.796	24.4228	6036
+-89.6099	38.6041	8576
+-88.4962	37.3292	9330
+-117.666	45.4108	8281
+-119.3192	47.1979	7662
+-123.3967	49.2714	7016
+-90.1675	32.4976	3804
+-117.4385	34.0437	9326
+-89.1921	39.4526	7934
+-113.7737	30.4449	5547
+-118.8607	29.6253	5614
+-121.0669	48.1613	7202
+-118.7768	47.5687	7620
+-119.5729	34.2206	7020
+-115.2618	34.3405	7339
+-116.2488	34.2037	8425
+-87.8801	37.7555	8815
+-80.1875	28.2179	7633
+-112.6917	34.4938	5415
+-115.2083	31.7686	7470
+-89.3098	36.5608	8433
+-92.4088	37.8753	7046
+-84.5379	34.8398	4106
+-116.7608	44.1794	6665
+-118.8532	48.4726	6676
+-118.4006	46.1255	9133
+-118.9477	47.1812	7917
+-125.8884	47.7278	6218
+-87.3943	36.6388	7891
+-89.5687	39.8668	7934
+-87.9041	37.1856	8707
+-125.649	45.9721	6394
+-121.2528	44.1935	6063
+-91.70	38.8746	7999
+-113.1379	32.6433	6225
+-120.5549	47.0383	7029
+-119.1072	30.1147	5908
+-90.5902	39.0667	9017
+-84.8961	27.1158	6681
+-105.7962	35.6927	2841
+-118.7381	44.9154	7917
+-116.6234	34.3734	8789
+-109.6023	32.1054	8500
+-122.1274	47.7741	8378
+-118.8263	31.9748	7476
+-106.7448	36.1478	3183
+-115.6309	33.081	8234
+-106.3927	30.0807	4904
+-116.4582	35.3402	7953
+-119.2561	44.8805	7608
+-110.1249	30.5594	8341
+-116.9089	32.6558	9562
+-80.381	29.0685	7423
+-87.9362	38.0271	8799
+-81.533	28.2154	9045
+-90.4673	38.3262	8959
+-90.7896	42.4855	5374
+-111.168	32.2827	8294
+-122.0367	49.3164	6856
+-79.6127	27.9695	7032
+-115.9992	33.3241	8534
+-123.8592	47.9443	8101
+-88.5593	34.8092	6600
+-115.0634	34.6985	7057
+-116.0656	32.30	8594
+-86.2251	35.336	5945
+-118.9729	32.8997	7513
+-124.3344	44.6408	6604
+-118.3599	34.5832	8248
+-79.2978	27.7004	6684
+-119.3074	45.8078	8133
+-118.4524	47.5882	7674
+-110.0421	29.5734	7273
+-113.0533	33.5277	5851
+-89.8119	38.9428	8774
+-114.1635	33.3183	6577
+-92.5687	40.8886	6129
+-91.1345	39.8806	7961
+-120.3233	32.3502	5973
+-83.8231	28.4147	7845
+-80.271	29.0911	7307
+-121.1343	47.4544	7594
+-107.0735	32.7881	5708
+-124.2208	47.2352	8125
+-87.1105	39.7749	6805
+-118.4437	44.1355	7173
+-121.167	46.9423	7702
+-81.0907	28.3862	8520
+-116.3972	32.4857	9018
+-119.2854	49.6471	5357
+-116.823	32.3609	9220
+-91.8208	42.134	5461
+-115.6295	31.5908	7730
+-116.7562	44.2329	6706
+-82.2869	27.1308	9152
+-115.1448	35.0472	7018
+-84.0087	24.5515	5681
+-120.5164	44.2216	6170
+-85.3819	38.869	5783
+-120.4263	45.5995	6930
+-82.5309	26.9833	8899
+-82.494	26.432	8328
+-116.4209	35.9097	7392
+-119.588	48.6086	6266
+-121.104	31.8265	5008
+-90.1421	36.4106	7725
+-117.9095	33.4067	8480
+-90.9025	38.3394	8711
+-84.8319	24.5218	5118
+-81.1985	29.6671	7496
+-115.2364	34.0142	7319
+-122.1293	44.5254	6794
+-85.1158	26.3809	6172
+-117.5444	33.7696	9039
+-114.4974	35.571	6134
+-89.7156	37.2501	8652
+-89.5041	38.5361	8449
+-92.1843	36.8235	6582
+-93.0506	39.4254	6459
+-114.8707	33.1299	7389
+-115.8558	34.8126	7830
+-92.4759	41.3644	5815
+-115.5124	45.6036	6279
+-86.3036	37.7483	7049
+-117.0369	32.2251	9088
+-115.8116	33.9633	7940
+-120.0126	34.4787	6519
+-89.2238	34.8303	6591
+-85.5038	40.6464	4855
+-110.9044	31.1588	8703
+-114.1988	29.4031	4851
+-123.0929	44.3053	6675
+-109.2127	33.9849	6602
+-83.156	27.514	8701
+-115.6744	34.5645	7738
+-94.2115	37.9058	5199
+-88.6191	34.5651	6330
+-87.3762	36.7912	7971
+-119.0499	33.7462	7547
+-123.728	49.8469	6314
+-116.1757	30.1838	6687
+-117.6382	49.3835	5717
+-122.9258	46.9394	9565
+-89.804	36.5613	8114
+-123.5536	44.595	6904
+-86.5521	39.0928	6858
+-89.5103	39.0574	8427
+-113.0122	34.8462	4900
+-88.2316	36.1764	8038
+-122.5594	45.4489	7897
+-108.1098	29.4846	6161
+-82.8653	26.5968	8331
+-94.5454	41.9264	3781
+-120.3885	45.9194	7023
+-109.8443	34.1464	6646
+-114.8189	34.8032	6770
+-116.7583	31.4854	8250
+-78.4663	29.4671	5319
+-90.4941	36.4746	7460
+-117.5139	33.9609	9209
+-118.3569	28.4671	4660
+-120.6915	46.6243	7151
+-114.4014	32.232	6818
+-120.6018	33.1824	5755
+-119.1811	45.2814	7974
+-80.5115	27.2251	7958
+-92.9791	35.7898	5181
+-118.9348	46.9071	8162
+-88.0612	37.4664	8992
+-83.747	27.828	8065
+-109.1371	32.7121	7692
+-116.7859	48.8499	5944
+-116.8005	30.8565	7559
+-119.1174	45.0152	7811
+-89.8619	38.1646	8579
+-117.9249	33.2077	8598
+-87.4713	39.9616	6856
+-87.7688	40.5893	6348
+-116.5546	32.7941	9293
+-87.443	36.4678	7811
+-84.1545	30.1354	6369
+-86.4893	39.3297	6649
+-90.1465	39.6381	8434
+-88.8156	37.0273	9096
+-120.0093	49.8772	5099
+-108.3978	30.9564	7269
+-117.0966	45.8348	7973
+-116.52	33.8251	8657
+-80.4748	27.9739	8001
+-119.6565	31.865	6570
+-127.0673	47.5998	4975
+-115.7684	34.293	7894
+-88.0131	37.0517	8724
+-107.681	30.3308	6296
+-123.2166	47.8937	8530
+-80.6381	29.6287	7191
+-117.022	49.5246	5395
+-94.1444	37.1215	5007
+-114.6734	47.9058	4986
+-89.2797	35.3068	7105
+-115.2886	31.7572	7539
+-91.9625	36.0898	6090
+-88.1469	38.1058	8962
+-117.2404	47.0407	7773
+-80.6441	28.531	7999
+-120.8104	45.8621	7009
+-114.9084	47.0152	5557
+-117.7944	32.7287	8824
+-90.4329	31.5868	2739
+-88.4815	35.5042	7367
+-86.6046	37.6039	7387
+-118.6723	32.8922	7848
+-89.5423	39.8412	7939
+-117.758	48.0591	7112
+-109.7444	32.4472	8341
+-82.1123	26.8952	8906
+-81.5765	30.3454	6908
+-90.6178	35.8712	6921
+-110.2026	29.238	6929
+-113.1036	33.0256	6090
+-117.9294	48.3703	6827
+-95.5442	37.939	3793
+-86.5995	42.9405	3339
+-93.1693	38.9744	6412
+-124.1832	47.5799	8044
+-84.5258	26.4632	6810
+-110.0448	35.1587	5587
+-121.6552	45.5204	7510
+-121.7206	42.4295	4456
+-113.1715	34.282	5230
+-121.1313	44.1756	5976
+-117.2532	30.5544	7209
+-85.5885	37.3467	6230
+-117.9975	35.782	7571
+-82.7805	32.0218	5023
+-88.9666	36.1939	8147
+-90.9711	36.2911	6699
+-118.7515	36.4072	6575
+-112.3433	33.5344	6438
+-111.7518	30.6051	7607
+-87.0093	36.3288	7336
+-112.6884	28.1734	4984
+-78.2788	31.314	3966
+-115.4151	35.5846	6972
+-118.147	35.9204	7365
+-113.9435	31.5028	6076
+-116.4491	31.4985	8173
+-124.2623	47.976	7743
+-112.7269	34.1811	5646
+-116.1032	36.438	6722
+-114.6109	32.5984	7114
+-115.6374	32.9107	8267
+-117.0592	38.287	5001
+-113.3939	34.5072	5294
+-117.3613	45.2481	7931
+-114.5468	32.3368	7001
+-90.013	36.9962	8227
+-92.7166	41.5794	5472
+-92.5212	34.4129	4213
+-121.1272	34.6891	5283
+-114.6577	33.1519	7151
+-119.4368	42.9985	5756
+-111.7775	31.9707	7854
+-117.0653	35.0661	8497
+-124.195	32.9885	1878
+-115.9763	31.5752	7982
+-116.8024	30.8298	7529
+-110.413	32.1862	8815
+-117.3361	36.7667	6664
+-121.3591	45.0391	6895
+-93.2237	38.00	6258
+-87.6149	33.878	5371
+-115.8743	34.3216	8005
+-114.3011	34.6636	6252
+-86.6362	33.7732	4834
+-82.3859	30.4061	6893
+-90.233	39.084	9030
+-83.3804	29.3678	7596
+-119.0983	45.3713	8103
+-91.6843	36.4897	6613
+-124.3508	49.5293	6371
+-111.1891	32.5053	8111
+-117.3457	46.1299	8267
+-115.774	33.0877	8389
+-90.3554	37.6374	8225
+-85.9722	39.9542	5761
+-118.9432	44.0324	6962
+-117.6465	35.0128	8493
+-117.0768	35.0703	8495
+-121.2869	42.2999	4130
+-112.7651	31.5326	6838
+-121.0494	47.6494	7439
+-117.3545	34.6688	8946
+-118.3078	30.6519	6912
+-110.1281	27.2509	4774
+-118.7751	31.3852	7180
+-118.4084	45.4559	8566
+-114.3553	29.7467	5257
+-122.9042	47.5519	8963
+-120.2561	46.953	6984
+-123.3772	46.5943	8941
+-117.7074	33.358	8565
+-116.1731	33.7069	8258
+-86.737	38.5967	7309
+-119.6896	31.9003	6548
+-112.5993	28.0856	4958
+-109.2426	31.2314	8232
+-118.8725	47.349	7798
+-118.0997	30.5806	6957
+-87.9716	41.0317	5846
+-127.7352	46.6803	4285
+-90.4688	40.8082	7204
+-87.6459	25.3033	3061
+-93.821	39.5595	5618
+-115.0754	36.4449	6063
+-80.3287	26.0481	7073
+-87.925	38.6436	8367
+-117.4056	32.6962	9245
+-118.6651	33.0993	7832
+-115.0683	32.0877	7485
+-116.7759	36.4021	7006
+-121.0905	49.5844	6110
+-93.8125	39.62	5611
+-115.608	44.5971	6011
+-121.2803	49.8721	5952
+-91.5302	39.2673	8068
+-94.0668	39.3948	5394
+-125.5069	48.4726	6299
+-118.5308	44.7958	7855
+-90.5494	38.4213	9027
+-81.9018	28.1521	9384
+-120.5119	31.823	5646
+-114.2298	32.8749	6700
+-119.7594	34.2128	6817
+-119.9029	33.9445	6655
+-88.4875	34.5961	6355
+-108.2431	31.2998	7188
+-122.7319	47.3771	9119
+-108.0038	36.896	3188
+-121.6204	45.1944	7205
+-78.7408	26.4969	5794
+-117.3977	48.632	6420
+-118.9826	35.3572	7239
+-115.1373	34.5886	7163
+-117.6723	45.2546	8156
+-123.3552	47.8922	8473
+-106.5423	29.2598	4656
+-88.0473	38.5832	8507
+-113.6018	28.6829	4739
+-87.7622	40.7284	6197
+-123.8164	48.9163	7239
+-89.4967	39.7149	8012
+-81.5553	25.1658	6878
+-119.7461	46.8275	7530
+-91.2681	35.8895	6197
+-120.0103	36.0645	5878
+-89.2979	37.392	9144
+-119.6148	35.3655	6645
+-84.4777	28.8613	6965
+-89.2752	35.7817	7624
+-115.8726	36.2357	6786
+-89.7652	38.4551	8686
+-93.8007	37.9523	5642
+-109.9648	29.7853	7485
+-122.7846	48.0757	8381
+-112.123	32.2708	7396
+-121.0903	41.6677	3704
+-80.7828	30.6835	6256
+-84.3406	27.5017	7377
+-122.6855	47.6963	8771
+-108.854	30.2457	7313
+-92.8077	42.5134	4599
+-116.3011	35.4401	7766
+-116.3851	48.0906	6347
+-87.6295	36.5056	7991
+-119.5319	44.0562	6724
+-111.8371	31.909	7807
+-109.0968	34.2122	6326
+-119.9101	31.4946	6154
+-118.1604	26.4792	2560
+-119.2949	44.4476	7209
+-121.3343	44.7219	6600
+-116.9705	45.0979	7511
+-116.8565	33.7532	8928
+-116.705	37.1064	6237
+-87.175	33.9081	5234
+-119.511	42.7022	5434
+-115.3246	47.4057	5835
+-86.2547	39.8984	6043
+-119.9614	45.9474	7476
+-91.5913	40.6029	7040
+-112.363	32.5787	7024
+-111.8923	32.6307	7439
+-92.3548	36.7736	6415
+-116.9395	32.696	9615
+-92.9593	39.7441	6448
+-88.614	41.1578	6204
+-86.2744	35.4262	6054
+-90.9795	41.0202	6895
+-119.3715	34.9134	7089
+-112.5683	35.6393	4456
+-86.776	39.5927	6705
+-89.7778	38.8212	8767
+-124.5235	47.7307	7635
+-91.2333	37.8181	8065
+-111.7587	30.1101	7253
+-113.793	29.9232	5316
+-119.6695	29.792	5228
+-79.8497	27.981	7297
+-118.7727	48.5744	6589
+-81.065	28.4802	8439
+-119.3897	30.5101	6021
+-82.3566	29.0969	8366
+-83.5156	27.7179	8328
+-114.7739	34.1229	6819
+-112.7064	30.6851	6724
+-109.2754	31.0342	8182
+-119.4419	46.5884	7929
+-111.5952	35.7155	4792
+-122.9089	46.3831	8965
+-117.8694	34.7127	8626
+-77.8214	31.8316	3188
+-86.3195	39.7028	6241
+-89.6106	37.8662	8841
+-87.4912	37.3935	8351
+-117.7172	45.8976	8624
+-122.2648	49.2391	7014
+-87.8351	39.6789	7325
+-89.986	39.5694	8443
+-118.2696	35.0785	8035
+-122.4042	47.7711	8568
+-109.8055	32.2343	8566
+-115.374	36.2995	6400
+-117.4219	48.0799	6974
+-119.6865	46.7984	7601
+-89.7301	35.2604	6906
+-110.2325	30.9949	8827
+-120.0511	42.1321	4660
+-114.3052	31.3418	6359
+-120.5736	46.2587	6829
+-89.2949	39.2835	8118
+-122.0984	45.5881	7854
+-109.1782	35.9525	4577
+-118.0085	34.207	8725
+-118.5868	35.1534	7718
+-118.6682	32.7116	7851
+-117.2486	31.1782	7898
+-119.911	31.0303	5912
+-114.6838	31.533	6832
+-79.4681	26.85	6704
+-90.076	39.9235	8117
+-117.7951	34.163	8960
+-90.9413	38.3963	8712
+-119.9447	35.4843	6266
+-112.6613	29.1226	5803
+-84.2304	28.6299	7327
+-116.9745	34.6477	8893
+-87.7479	32.8856	4329
+-116.2499	31.0737	7651
+-92.8953	36.106	5493
+-78.2337	29.5595	5037
+-86.5262	35.1831	6061
+-124.4513	48.5001	7210
+-116.9011	47.5098	7170
+-88.3269	38.3342	8917
+-125.1898	47.6711	6974
+-112.8324	32.8467	6440
+-119.9504	45.5733	7409
+-85.1522	30.2652	5459
+-114.3103	37.3773	4750
+-114.8906	33.6908	7240
+-109.2527	28.7772	6216
+-109.3552	34.6599	5976
+-91.0039	42.6678	5149
+-119.3893	29.0202	4730
+-119.5179	34.9604	6922
+-121.3963	45.1801	7041
+-120.2451	34.1749	6289
+-94.9003	37.8762	4466
+-110.9404	33.6839	7105
+-90.9242	36.875	7321
+-83.8834	27.0625	7758
+-120.1951	45.7182	7196
+-92.8692	39.4106	6652
+-117.9648	27.7363	3978
+-117.1463	35.4217	8126
+-116.0201	36.3829	6732
+-90.8945	37.1297	7593
+-118.6013	47.193	8055
+-88.4526	36.2576	8195
+-84.2418	28.329	7424
+-89.1369	38.206	9080
+-116.7609	34.5619	8815
+-117.5152	34.5442	9014
+-114.1961	45.1864	4825
+-125.9504	47.312	6233
+-115.4371	36.8323	5981
+-91.6697	37.7046	7638
+-110.0452	32.2324	8704
+-124.1663	49.8102	6186
+-123.9481	48.5498	7520
+-116.0517	46.7731	6792
+-88.578	37.8762	9498
+-81.8274	27.7743	9546
+-94.054	39.3898	5408
+-80.4587	28.2503	7920
+-81.9074	30.0646	7280
+-86.5846	37.2921	7330
+-127.7377	48.8857	3888
+-117.4751	47.2771	7748
+-116.2162	34.1145	8392
+-112.3358	31.3864	7294
+-115.5273	35.3135	7245
+-117.2584	34.8129	8796
+-87.9513	39.2716	7794
+-114.1918	44.7768	4706
+-116.387	33.5683	8694
+-114.3288	32.836	6811
+-85.2195	26.9826	6290
+-91.8387	35.4998	5586
+-116.4681	36.4106	6905
+-91.1195	36.6324	7008
+-83.2476	25.9358	7468
+-85.3154	37.3552	5925
+-81.2155	27.3341	8745
+-80.9633	30.1955	6842
+-79.9211	27.1535	7295
+-90.9163	39.1785	8687
+-116.2639	36.4494	6785
+-84.718	26.867	6796
+-82.6554	25.1984	6927
+-90.3295	36.606	7695
+-90.3646	36.8139	7782
+-117.7336	46.2317	8662
+-84.0003	26.0072	6990
+-116.3168	32.2411	8785
+-109.1069	34.3033	6241
+-86.8991	44.7149	1979
+-121.7577	47.8794	8000
+-119.1372	44.9503	7744
+-86.251	36.3857	6647
+-91.5028	36.177	6400
+-118.2994	45.2361	8345
+-111.1089	31.4849	8627
+-115.4816	35.488	7093
+-114.1259	29.5548	4814
+-117.8263	35.6942	7729
+-118.8281	46.1324	8683
+-116.9218	47.0481	7503
+-120.8971	31.8375	5235
+-117.9569	32.4211	8563
+-116.4778	34.2474	8668
+-92.8435	41.9473	5076
+-123.3043	48.3455	8027
+-90.036	36.808	8095
+-119.5495	46.9201	7663
+-120.7224	48.2542	6827
+-81.125	28.2048	8649
+-117.2407	34.0027	9393
+-110.6071	34.7866	5990
+-116.1244	45.6187	6918
+-88.3846	41.939	5368
+-83.338	27.3894	8464
+-125.7003	47.3397	6503
+-88.3325	38.5193	8740
+-119.4437	47.1962	7570
+-119.1924	34.5573	7387
+-115.4174	29.9502	6119
+-89.3276	41.8273	5918
+-79.2646	29.7857	5924
+-115.0929	34.6513	7100
+-83.657	25.1252	6443
+-113.8227	35.3281	5562
+-118.3218	31.6199	7736
+-114.2327	34.8278	6143
+-125.0138	48.7968	6534
+-91.1629	36.8124	7173
+-114.1491	33.4679	6527
+-125.2683	45.6833	6647
+-115.6915	36.1758	6724
+-120.4914	47.7697	6817
+-113.5988	32.9653	5993
+-118.451	32.9725	8088
+-123.0453	46.4298	8995
+-108.9823	32.5932	7646
+-115.6283	29.6454	5914
+-91.3925	39.4772	8084
+-117.5662	31.6088	8249
+-116.7303	45.6312	7542
+-123.8825	47.5409	8356
+-118.6924	47.5529	7662
+-123.8567	46.4669	8420
+-120.0189	32.794	6348
+-89.0702	38.5567	8759
+-119.5546	32.4241	6833
+-90.1528	38.1182	8699
+-113.5583	32.3984	5870
+-117.0884	32.1021	8944
+-115.6787	33.9141	7789
+-89.2093	37.7079	9316
+-112.0611	28.9202	6034
+-119.9561	31.7439	6210
+-115.4938	34.3421	7591
+-119.1856	31.3257	6771
+-115.2626	36.7267	5963
+-112.3869	33.7177	6264
+-89.9104	39.3026	8640
+-124.2048	48.7017	7221
+-116.0995	33.6384	8420
+-93.3577	36.9356	5669
+-121.7107	31.6896	4314
+-120.6711	46.8972	7156
+-122.0768	47.717	8382
+-116.8559	33.5127	8967
+-121.771	46.3835	8210
+-117.3132	47.3014	7625
+-110.1692	30.7508	8554
+-90.3272	39.1916	8945
+-117.0629	31.0427	7771
+-115.1799	31.4974	7276
+-121.352	48.0908	7504
+-90.2791	38.2768	8902
+-115.3235	32.0265	7719
+-88.7206	37.5571	9682
+-121.6443	46.8809	8223
+-84.4092	26.4497	6918
+-87.9995	40.5458	6470
+-124.1758	48.521	7397
+-113.4168	47.7843	3807
+-108.3966	30.385	7006
+-82.6321	30.2556	7021
+-111.0657	29.2957	6871
+-114.6674	33.2888	7135
+-106.1489	31.1265	4913
+-87.5851	37.4066	8457
+-83.0575	25.5183	7142
+-117.9345	35.0201	8327
+-89.4248	37.3246	8983
+-117.6857	30.431	6974
+-120.9294	43.3577	5225
+-81.3148	26.3703	8061
+-86.7396	37.6166	7539
+-90.8312	38.2301	8685
+-117.1822	44.1926	6928
+-122.0968	43.413	5604
+-88.6676	38.1913	9215
+-119.2735	33.781	7315
+-122.7022	46.6718	9216
+-84.1988	28.7635	7298
+-116.0903	32.6156	8750
+-121.7017	47.7858	8011
+-116.8129	42.7776	5413
+-122.9397	48.4558	7970
+-117.329	32.2403	8993
+-90.2192	36.0955	7414
+-93.2005	37.1148	5913
+-81.2421	28.4304	8635
+-118.3566	37.9288	5230
+-119.5722	32.1146	6743
+-85.6345	38.5424	6164
+-119.2989	46.509	8101
+-112.3778	31.128	7204
+-108.483	30.9846	7367
+-116.1651	33.4852	8589
+-118.6533	32.3649	7805
+-88.0663	37.0106	8738
+-120.3751	32.5117	5936
+-123.8439	49.6493	6482
+-116.4414	33.6459	8492
+-119.6298	46.0846	7834
+-109.3116	29.5393	6998
+-122.6928	46.1332	8663
+-115.9473	35.8252	7198
+-118.2612	37.348	5867
+-89.4931	37.9143	8953
+-124.7488	47.062	7572
+-117.5796	41.7973	4643
+-115.6814	36.2565	6647
+-107.1563	30.6595	5889
+-118.6377	45.4599	8486
+-108.2609	32.1567	7144
+-120.6999	34.4562	5776
+-123.4676	44.6021	6935
+-115.0972	33.107	7643
+-80.2175	25.2339	6300
+-86.5864	36.0438	6765
+-124.0069	46.8051	8377
+-115.908	32.4475	8502
+-119.2869	35.7562	6711
+-119.2857	48.727	6283
+-121.8914	48.8596	7250
+-121.4866	49.7984	6129
+-114.9286	44.3556	5256
+-90.1415	41.9278	5989
+-120.7198	31.7044	5387
+-80.6148	25.0707	6392
+-118.3331	44.3721	7430
+-88.6812	36.118	8075
+-88.5555	41.8188	5574
+-87.8231	36.8902	8444
+-115.5851	41.4423	3560
+-111.4982	30.8487	7981
+-117.2141	35.1118	8469
+-95.5136	42.9328	2290
+-116.054	31.6535	8104
+-112.9024	32.5348	6505
+-109.0407	30.368	7551
+-120.326	43.0683	5389
+-89.7423	39.3843	8452
+-114.823	36.4267	5882
+-120.9549	47.8287	7269
+-117.6013	33.1334	8962
+-116.897	47.7086	7012
+-87.0896	37.0253	7800
+-89.6464	39.4039	8362
+-92.8173	36.8359	6087
+-118.88	34.8428	7615
+-109.6677	27.9049	5423
+-87.4668	40.2233	6595
+-109.7884	30.1738	7836
+-81.3503	27.6208	8991
+-88.1522	36.9567	8762
+-110.0411	33.1046	7795
+-122.4615	35.0641	3781
+-91.5923	35.3878	5573
+-87.5568	40.9093	5929
+-115.6568	37.827	5143
+-87.3305	36.4219	7682
+-89.5304	38.6027	8491
+-118.5182	35.3795	7611
+-119.3125	45.2877	7872
+-93.8284	39.0246	5699
+-109.4847	32.3165	8258
+-108.6911	30.5904	7394
+-86.681	39.3092	6835
+-82.6283	27.1562	9003
+-122.262	45.0596	7397
+-113.0715	33.6545	5754
+-86.4796	38.7391	6979
+-84.8005	40.8208	4126
+-117.9344	32.9851	8657
+-87.9099	31.4233	2742
+-91.0447	37.3149	7721
+-81.9081	27.3486	9355
+-117.8132	45.0945	8085
+-105.7198	30.1664	4245
+-91.7964	39.2585	7806
+-121.4883	46.7961	8044
+-110.747	30.1725	7881
+-90.204	39.3321	8768
+-88.8494	41.5683	5966
+-115.0252	49.5369	4245
+-86.9893	40.2037	6337
+-112.1724	33.4023	6671
+-80.0205	29.0937	7070
+-117.3259	36.1259	7363
+-117.8882	30.8706	7351
+-88.7887	40.1667	7125
+-109.9749	28.4749	6083
+-119.1202	37.0345	5782
+-92.2508	36.4001	6189
+-87.5531	38.8712	7895
+-106.5182	29.8649	4940
+-107.494	34.0821	5376
+-89.4264	36.7516	8549
+-114.6794	36.8675	5432
+-110.114	34.6729	6118
+-90.9565	36.997	7436
+-117.0991	32.6362	9503
+-111.4329	33.2475	7312
+-93.5331	39.1999	5995
+-90.1541	39.2559	8826
+-124.3823	48.2963	7418
+-118.1758	35.004	8165
+-125.9867	47.8066	6092
+-114.8369	34.5482	6849
+-112.6444	30.9214	6869
+-108.7689	31.0609	7687
+-82.4606	27.863	9506
+-91.5101	36.1064	6327
+-122.5024	44.1427	6473
+-78.9243	26.6816	6060
+-117.8653	46.8088	8389
+-114.2558	30.8122	5992
+-113.8168	33.8772	6046
+-122.8255	48.2971	8142
+-85.3875	40.9551	4522
+-118.7135	44.9009	7911
+-87.7153	39.3078	7627
+-81.4397	29.995	7252
+-114.4524	49.1662	4064
+-123.0761	41.8444	3975
+-92.5771	38.9213	7053
+-81.1605	27.0259	8509
+-88.111	37.3298	8988
+-88.9823	37.744	9558
+-122.4447	46.9324	9105
+-108.8659	31.4754	7879
+-120.6027	45.0342	6557
+-119.8135	45.2178	7390
+-119.2715	47.0115	7837
+-121.3848	44.8021	6703
+-116.4802	31.6649	8358
+-108.753	33.0166	7162
+-109.7082	29.1102	6710
+-90.9287	41.5558	6344
+-79.2105	26.4505	6266
+-124.2304	47.9069	7816
+-117.3909	35.6093	7922
+-82.9395	29.6798	7544
+-121.1913	47.9031	7466
+-93.1032	35.6421	4973
+-118.662	49.512	5625
+-117.9902	34.0123	8738
+-92.4218	40.4276	6579
+-90.2053	38.0762	8673
+-118.1057	38.9813	4171
+-119.0157	34.3976	7608
+-115.9615	30.1531	6577
+-117.4628	48.8816	6189
+-91.5709	38.1939	8011
+-117.3761	46.3578	8262
+-87.2566	38.0734	8060
+-108.5333	28.0334	5161
+-118.8986	36.1304	6724
+-117.6716	32.0826	8618
+-116.2476	44.7988	6702
+-80.7272	27.0456	8105
+-83.6381	28.0272	8165
+-79.4702	26.9202	6731
+-82.5346	27.5039	9350
+-118.1045	48.3568	6863
+-110.9663	30.6103	8216
+-90.10	38.4617	8989
+-81.9203	27.7506	9651
+-116.7935	48.5052	6264
+-88.0765	37.2971	8937
+-112.5893	30.9416	6932
+-115.9991	36.1025	6983
+-118.3496	43.6349	6649
+-113.0278	32.2039	6478
+-90.925	40.3793	7574
+-119.2917	48.5733	6432
+-122.0509	46.1002	8273
+-90.9855	40.8464	7073
+-124.8495	46.2484	7324
+-88.2685	36.0251	7890
+-114.5826	35.677	6160
+-119.7406	46.6448	7613
+-91.8386	39.087	7814
+-84.4029	24.5017	5394
+-117.9489	32.1122	8405
+-90.8943	38.5372	8828
+-116.2253	35.7353	7454
+-88.9637	36.483	8469
+-119.2879	44.1631	6950
+-81.9103	24.2894	5950
+-120.7261	44.2338	6005
+-116.7439	35.0593	8378
+-116.7226	33.5862	8696
+-117.4815	44.7757	7621
+-115.2143	32.5367	7774
+-86.9859	36.6982	7540
+-118.7618	28.9301	4978
+-119.8024	46.6011	7566
+-80.3508	27.0937	7737
+-121.4298	47.1496	7979
+-108.8062	32.9959	7220
+-116.3514	47.3462	6826
+-109.0405	27.6836	5022
+-82.2004	28.367	9209
+-85.7573	38.7397	6229
+-118.6532	42.5926	5525
+-91.2766	36.7031	7017
+-86.2769	36.7702	6845
+-117.9421	33.4645	8501
+-116.701	35.7559	7663
+-108.7181	32.2513	7580
+-91.0589	36.8633	7264
+-87.8771	36.017	7712
+-87.7972	37.9928	8667
+-120.9435	44.6731	6294
+-84.6876	34.7795	4206
+-118.0696	45.2514	8334
+-114.8408	33.8474	7118
+-118.7097	30.7578	6744
+-116.1023	33.4551	8554
+-79.4688	27.3964	6849
+-87.594	38.4507	8231
+-118.2331	33.8627	8443
+-89.1518	37.9895	9250
+-108.7036	30.1159	7098
+-82.4442	27.1215	9082
+-123.2288	48.8578	7497
+-116.0608	49.7006	4779
+-116.7696	45.3517	7472
+-107.8268	32.3534	6633
+-108.2838	31.2833	7229
+-117.4154	36.8786	6539
+-81.4661	24.386	5994
+-117.7668	45.957	8693
+-89.2057	41.9076	5792
+-112.2809	29.7254	6557
+-122.3992	46.3633	8745
+-113.0424	31.4032	6532
+-118.7686	46.6086	8516
+-119.8427	43.7408	6265
+-90.2879	37.7271	8317
+-123.1747	48.1173	8306
+-94.1396	42.6565	3583
+-110.7234	29.6891	7378
+-109.9139	31.7441	8987
+-125.0269	45.4586	6742
+-92.557	39.095	7052
+-80.6129	26.0666	7312
+-118.4771	46.0527	9049
+-88.6074	35.6045	7494
+-117.5927	31.7266	8351
+-91.8395	38.009	7663
+-110.1698	35.223	5526
+-120.8085	49.7581	5774
+-116.0353	34.7903	8015
+-116.0702	39.1047	3960
+-116.1707	30.792	7326
+-93.7046	40.3314	5459
+-123.5442	47.756	8487
+-122.6836	46.597	9136
+-110.5583	31.6341	9224
+-116.1699	42.5984	4929
+-119.0411	33.3307	7413
+-116.6293	43.8111	6270
+-86.884	39.234	7065
+-91.945	38.0884	7596
+-87.1301	34.2231	5536
+-123.5158	47.3322	8819
+-110.375	33.8918	6972
+-82.6375	25.7297	7518
+-118.8684	31.9446	7419
+-120.2081	47.2274	6898
+-89.0202	41.0684	6526
+-94.8783	38.9303	4576
+-115.5712	29.7379	5983
+-114.738	40.0505	2519
+-89.5242	38.6134	8487
+-116.6058	34.1149	8817
+-91.5383	39.059	8136
+-117.4775	35.8067	7698
+-122.4381	30.3284	3049
+-113.1177	27.0962	3752
+-90.3528	38.8137	9348
+-91.528	40.0002	7597
+-113.4475	32.033	6064
+-117.5996	44.0361	6958
+-121.3075	47.1619	7843
+-82.5913	24.0762	5685
+-108.7883	29.4321	6604
+-116.9554	36.5785	6849
+-92.3673	36.9807	6559
+-109.2947	32.6783	7838
+-122.1745	44.015	6267
+-121.1517	46.5771	7638
+-122.6177	44.1056	6448
+-80.1154	26.286	7061
+-106.0483	31.0716	4798
+-119.3026	47.4374	7480
+-122.9532	46.3921	8972
+-81.8832	24.9931	6742
+-108.1364	34.0934	5859
+-91.4726	38.7031	8249
+-89.9898	39.224	8760
+-86.942	39.4076	6984
+-92.0325	36.3642	6298
+-113.7715	29.0721	4861
+-118.7436	32.3423	7701
+-116.3934	33.0596	9058
+-109.7281	28.5269	6098
+-117.0413	45.924	7932
+-120.2637	46.1744	7162
+-116.5849	43.6436	6098
+-83.7518	27.7141	8060
+-90.0644	36.5957	7927
+-89.0338	36.1453	8082
+-120.5342	49.4427	5844
+-119.1622	34.316	7461
+-124.5852	46.017	7481
+-90.5688	37.4486	8008
+-118.9192	48.5493	6581
+-108.1994	29.4115	6175
+-116.29	34.9713	8134
+-120.0607	33.1008	6289
+-117.4836	34.8347	8737
+-124.5799	47.5218	7662
+-117.29	33.6817	9045
+-123.7587	48.8781	7304
+-122.5614	36.0246	3405
+-124.6003	44.9782	6732
+-90.1821	33.0417	4387
+-112.5067	32.4454	6940
+-125.6297	44.8298	5798
+-124.4918	46.7209	7837
+-123.6224	47.8419	8359
+-92.0963	41.6916	5755
+-117.7029	43.4478	6385
+-89.0132	40.997	6588
+-79.5525	27.8502	6971
+-115.9807	34.5489	8064
+-112.9361	31.0489	6595
+-118.9809	33.3186	7467
+-84.2579	27.1837	7400
+-115.7353	34.0423	7864
+-89.6122	43.2154	4540
+-119.4396	45.6492	7946
+-108.7957	32.2851	7642
+-109.2863	30.8624	8096
+-91.4274	34.4766	5153
+-117.4336	30.2531	6846
+-86.4966	38.4923	7103
+-123.3744	49.3566	6929
+-88.6609	37.0339	9096
+-79.1657	27.2945	6493
+-90.5872	34.6871	5896
+-81.7899	26.5618	8475
+-121.1825	46.9358	7719
+-108.4449	28.3865	5451
+-89.6561	41.0111	6864
+-87.5928	40.9259	5926
+-87.94	36.1494	7876
+-106.2627	33.3328	4673
+-87.8214	33.0843	4564
+-119.1686	34.5654	7410
+-113.1674	32.7807	6140
+-83.8071	30.3082	6449
+-89.4426	38.0946	8917
+-109.4263	32.1444	8318
+-112.3995	37.5172	3072
+-93.1619	33.7332	3243
+-109.2805	31.3545	8306
+-89.5145	34.062	5683
+-118.318	49.6169	5536
+-89.7704	41.242	6658
+-126.5102	46.9225	5640
+-90.6939	37.2314	7754
+-79.053	29.7594	5742
+-89.4294	38.6681	8392
+-117.9181	31.5498	7986
+-112.5682	30.2471	6652
+-93.4481	39.1758	6089
+-95.9113	37.6686	3353
+-88.4102	40.7397	6404
+-108.9746	26.3217	3586
+-119.2438	46.7481	8033
+-114.1333	29.5172	4787
+-109.506	30.8328	8263
+-89.5769	41.6142	6217
+-89.4392	37.7792	9049
+-117.6809	37.2453	6113
+-81.1653	30.8246	6264
+-88.3152	39.8611	7300
+-86.6275	33.5066	4565
+-81.6904	28.2267	9170
+-90.1754	38.4738	9052
+-89.1759	36.5519	8483
+-122.1704	45.70	8000
+-89.4584	36.2216	8017
+-77.6616	29.0541	4628
+-91.7155	40.528	7030
+-90.8162	36.2918	7045
+-119.7442	42.3523	5000
+-87.6727	34.3901	5938
+-119.5449	49.4289	5490
+-80.6021	25.6279	6917
+-86.6229	38.0314	7374
+-116.1422	32.6632	8818
+-91.3105	40.7953	7004
+-81.8033	26.9345	8880
+-116.9607	32.317	9195
+-118.6238	28.5729	4671
+-117.016	49.3794	5537
+-84.4686	28.7396	7030
+-118.0629	34.997	8256
+-87.7771	38.6999	8209
+-120.8977	46.9504	7406
+-109.1268	31.1389	8081
+-89.8573	39.9763	7986
+-119.8086	32.056	6471
+-89.1057	37.9169	9342
+-90.1068	36.0036	7418
+-86.6266	39.2208	6846
+-112.3032	31.6791	7337
+-93.0518	44.2932	2793
+-84.1117	33.3234	3219
+-110.2325	30.4196	8208
+-116.0336	31.1484	7621
+-112.5504	34.992	5068
+-115.8848	32.6482	8532
+-114.3733	45.899	5114
+-116.8065	35.1619	8309
+-120.0504	28.5639	3894
+-116.9035	34.3536	9075
+-118.3776	48.3977	6825
+-119.7075	31.2043	6206
+-117.6124	35.338	8171
+-108.9602	30.8256	7774
+-89.4441	39.2782	8263
+-116.3874	31.562	8212
+-89.2721	40.883	6832
+-116.3011	34.9849	8133
+-109.7041	29.5867	7205
+-88.1489	36.8752	8689
+-115.9402	36.9104	6181
+-121.5157	45.9561	7723
+-112.1436	33.6677	6482
+-118.8204	47.0078	8143
+-80.1043	26.2444	7023
+-117.2535	33.1439	9267
+-80.595	27.6675	8148
+-120.8962	31.8354	5235
+-86.2463	38.0042	6961
+-93.9829	39.2468	5508
+-118.3296	34.1737	8377
+-110.5111	27.2344	4758
+-83.3109	27.0962	8359
+-117.6574	43.3785	6303
+-110.7833	28.5438	6145
+-90.393	39.1993	8940
+-89.2194	40.4386	7214
+-89.2563	38.7991	8208
+-117.1234	34.1333	9382
+-117.1869	32.4606	9286
+-89.077	37.2293	9214
+-116.0116	31.435	7880
+-122.2856	48.7498	7534
+-117.6328	35.4349	8063
+-116.7456	31.6461	8424
+-89.7428	38.889	8718
+-116.9497	34.78	8752
+-89.1295	39.6785	7743
+-93.6438	43.1499	3522
+-123.2414	48.4325	7953
+-114.2761	33.595	6629
+-125.1767	48.1103	6807
+-121.1266	37.2382	4134
+-81.6638	29.8778	7446
+-81.5197	26.3867	8184
+-80.8511	28.6274	8145
+-113.4144	29.0461	5149
+-123.3824	49.9336	6304
+-124.4638	44.081	6000
+-117.9592	31.9257	8265
+-108.3722	33.6851	6359
+-108.89	32.2606	7746
+-118.2666	48.5634	6652
+-119.631	45.9321	7822
+-115.5961	49.3605	4786
+-120.2832	32.9732	6012
+-113.063	36.3914	4333
+-118.7542	36.3983	6582
+-118.1174	35.008	8207
+-118.1791	43.5733	6582
+-109.8045	31.4104	8871
+-115.4517	32.3195	7975
+-119.317	31.7442	6871
+-122.0893	33.1975	4179
+-90.8647	35.1937	6175
+-118.9829	48.4493	6664
+-89.264	37.4557	9209
+-114.4725	45.1481	5101
+-115.1669	46.3109	5952
+-96.0447	38.4926	3316
+-89.2697	36.8994	8786
+-118.0582	34.5477	8563
+-78.6433	24.1026	4168
+-89.3125	39.1544	8191
+-86.183	24.4869	3997
+-112.9607	27.0519	3798
+-107.7685	34.3209	5409
+-116.563	30.9965	7673
+-82.0683	28.4657	9098
+-82.3635	31.5593	5594
+-118.0571	34.3597	8641
+-91.0111	38.7673	8747
+-88.8309	37.5654	9681
+-120.3746	32.1723	5884
+-121.1978	31.9396	4933
+-109.1872	30.2045	7531
+-82.926	27.8181	8994
+-86.3964	39.0932	6709
+-112.3123	29.3575	6247
+-108.5436	33.6024	6550
+-123.2089	43.1941	5448
+-118.9426	31.8562	7302
+-121.6501	44.6694	6733
+-83.1372	29.517	7610
+-107.5732	35.8781	3942
+-112.3944	29.7978	6519
+-79.5334	27.1584	6872
+-83.7404	26.7929	7767
+-85.797	28.3911	5688
+-91.9547	38.6461	7727
+-80.235	26.2359	7134
+-90.0994	38.0363	8596
+-116.9608	33.849	9082
+-121.726	44.2325	6337
+-89.9101	36.3184	7831
+-109.0724	27.0017	4325
+-120.7813	44.1549	5908
+-110.494	29.9169	7660
+-81.50	32.6549	4316
+-124.2789	48.7372	7141
+-82.6969	27.4279	9149
+-88.0732	38.7302	8389
+-84.994	29.2816	6230
+-111.4817	31.3701	8208
+-92.1613	39.7272	7238
+-80.2283	26.0761	7011
+-88.2659	38.4313	8788
+-111.551	32.1578	8015
+-107.8924	33.0287	6400
+-115.0246	34.7156	7011
+-118.9151	46.5678	8428
+-108.4136	31.7741	7383
+-118.5327	46.5154	8747
+-90.6387	41.5534	6390
+-82.8679	30.5264	6661
+-120.1066	37.2338	4951
+-88.7597	37.6269	9770
+-116.6248	31.8564	8616
+-116.0213	32.4621	8627
+-119.7272	44.2915	6810
+-114.4647	30.7475	6132
+-91.1497	35.1945	5961
+-117.7994	36.8906	6474
+-117.5755	36.0311	7440
+-120.8339	33.1893	5513
+-114.0689	31.9723	6386
+-82.5257	25.6539	7461
+-92.9969	41.2761	5507
+-108.3409	30.6295	7080
+-110.6506	33.9959	6837
+-116.5865	34.3728	8751
+-123.0615	48.3888	8034
+-89.8138	36.3922	7964
+-115.0141	30.8732	6680
+-116.5084	32.602	9188
+-118.4746	36.84	6305
+-90.0531	38.1673	8702
+-84.952	26.9321	6567
+-123.8609	46.4575	8412
+-94.4325	36.239	4289
+-119.9876	49.0343	5667
+-125.9815	44.6781	5389
+-117.2304	32.9123	9440
+-90.058	35.1884	6679
+-125.5586	47.2697	6666
+-116.1786	30.2015	6706
+-118.9245	46.2428	8565
+-114.7951	32.4144	7290
+-111.6869	31.246	7962
+-82.3947	30.5051	6780
+-89.0712	37.4014	9362
+-80.1235	31.0463	5541
+-87.5112	38.2065	8281
+-80.3109	26.8302	7574
+-116.1595	32.627	8828
+-115.8322	34.176	7972
+-108.9688	28.5366	5857
+-119.3847	35.759	6625
+-88.6038	38.2317	9154
+-79.8286	26.7073	7023
+-87.3759	37.9738	8216
+-115.0205	46.0811	5805
+-116.9026	33.8041	9003
+-118.6371	43.364	6339
+-112.3437	47.8155	2713
+-112.2172	31.1964	7390
+-120.1363	45.5824	7223
+-89.917	36.3699	7870
+-89.2443	40.3651	7294
+-84.0344	34.0893	3157
+-120.2224	34.9785	6184
+-89.659	38.8556	8635
+-79.3394	26.651	6489
+-123.3617	45.8157	8244
+-123.7128	46.6643	8653
+-88.80	37.4457	9565
+-114.4621	33.2204	6923
+-87.5899	36.1059	7622
+-112.8878	35.9338	4373
+-82.4192	28.5555	8943
+-117.0173	33.2294	9289
+-119.9914	31.4975	6072
+-120.3124	45.6792	7066
+-116.0709	36.5711	6576
+-87.9281	36.8903	8533
+-90.2402	38.7682	9269
+-114.773	36.2386	5978
+-88.5263	41.8437	5535
+-119.9343	48.6474	6046
+-109.6717	32.2424	8462
+-115.8337	33.3713	8346
+-90.8956	39.5035	8442
+-121.3623	46.4045	7807
+-118.2826	32.3775	8205
+-122.4634	47.0293	9122
+-120.1391	47.5618	6759
+-122.0571	44.8141	7067
+-89.6957	33.7705	5320
+-87.8684	36.7683	8390
+-117.9434	38.4818	4737
+-120.5794	31.5408	5479
+-116.2912	32.0577	8620
+-116.7901	46.0675	7679
+-84.3316	28.9607	7062
+-121.203	45.8525	7376
+-120.5034	30.9934	5315
+-108.5372	29.8005	6732
+-113.8573	32.7297	6283
+-79.4626	27.3238	6830
+-115.038	33.8782	7297
+-121.0641	35.7482	5037
+-111.1607	30.8619	8284
+-88.0503	37.0992	8790
+-109.6103	33.8507	6895
+-117.047	32.0909	8938
+-118.5476	35.1254	7770
+-122.5574	46.1529	8636
+-88.6422	37.123	9190
+-115.0352	32.7727	7598
+-91.5759	38.9469	8121
+-89.8641	38.717	8864
+-84.6599	33.0522	3264
+-80.6811	24.8625	6219
+-119.0223	32.8734	7459
+-88.7333	34.0878	5798
+-116.202	33.5608	8563
+-82.011	28.1902	9394
+-111.8464	30.0116	7110
+-111.784	33.6548	6734
+-86.5717	38.3387	7238
+-90.2376	39.7632	8321
+-88.6021	37.2198	9281
+-91.3795	40.8136	6954
+-90.9739	37.9729	8372
+-87.2733	32.694	3988
+-88.062	35.7338	7506
+-81.8778	26.0991	7984
+-87.969	38.0409	8826
+-120.2887	32.6266	6041
+-89.8912	39.7982	8176
+-88.6232	36.7182	8739
+-120.6581	49.9913	5470
+-118.1113	31.0992	7451
+-93.5077	41.524	4921
+-90.6011	39.3687	8717
+-114.0459	29.531	4877
+-114.0372	32.1707	6407
+-117.6637	31.1706	7759
+-119.4483	36.0859	6344
+-90.0714	43.4665	4330
+-113.9367	33.3377	6324
+-121.6997	44.6489	6739
+-89.2545	35.7874	7636
+-108.3238	29.3297	6202
+-90.1812	38.1752	8768
+-116.6551	37.5703	5730
+-82.0223	27.3456	9400
+-118.7178	32.9496	7794
+-87.8162	38.4948	8400
+-120.9346	45.0729	6608
+-82.3895	29.4322	7986
+-92.5838	40.5436	6365
+-119.4504	36.9139	5681
+-125.1203	49.159	6178
+-120.3054	33.5295	6158
+-126.0074	44.1945	5031
+-119.4485	31.5049	6622
+-90.4828	39.5742	8530
+-108.6916	31.5717	7695
+-116.8956	44.886	7308
+-111.4089	31.8402	8275
+-87.2699	35.4779	6839
+-88.4337	37.2255	9195
+-90.2858	36.4429	7626
+-123.5393	47.8166	8438
+-78.1716	25.5387	4750
+-111.5154	31.411	8179
+-90.1451	35.5262	6958
+-110.1497	29.9058	7645
+-122.925	45.7872	8310
+-91.0234	41.8797	5981
+-82.5876	29.1543	8241
+-89.8457	39.322	8578
+-119.096	36.9969	5831
+-83.4489	29.2602	7641
+-84.3039	27.332	7388
+-108.4247	27.8661	4946
+-90.0729	39.6575	8391
+-120.6177	45.8368	6773
+-87.9558	36.9235	8581
+-120.4019	44.7089	6576
+-84.5029	40.5729	4023
+-84.9642	27.8293	6689
+-117.4817	29.3484	5842
+-89.0664	38.119	9205
+-92.5809	42.115	5093
+-92.1266	40.381	6851
+-82.5924	30.9408	6264
+-121.0826	46.6974	7588
+-126.2275	48.6779	5495
+-116.2363	33.0693	8891
+-83.4938	27.2313	8238
+-119.0591	47.1157	7907
+-116.7281	31.0447	7759
+-122.6307	43.0298	5271
+-116.7662	34.2804	8969
+-108.8192	35.6261	4796
+-124.6097	49.0038	6684
+-77.7818	26.3564	4717
+-119.7771	46.8056	7511
+-91.4783	36.1573	6391
+-110.0214	34.6894	6091
+-123.9631	45.5893	7695
+-112.8235	33.8982	5790
+-91.3264	36.7553	7046
+-117.2042	48.6212	6356
+-114.1357	45.8755	4861
+-112.1747	31.3486	7462
+-107.6489	31.6692	6564
+-89.3717	42.0494	5705
+-118.095	35.3634	7920
+-120.0294	46.9503	7204
+-88.4867	39.8348	7069
+-114.6273	33.8344	6907
+-124.3317	46.1159	7777
+-116.7484	33.2665	9195
+-112.5118	33.844	6072
+-88.4448	39.7627	7434
+-90.563	39.7468	8333
+-115.5209	34.2029	7632
+-108.8482	33.4208	6914
+-121.256	47.3846	7743
+-108.5308	25.1709	2257
+-108.2113	32.3355	7034
+-121.2158	47.3756	7702
+-111.6368	32.0029	7990
+-81.3081	28.4725	8664
+-121.3328	44.9881	6833
+-107.9186	32.0957	6799
+-92.4523	38.7481	7194
+-89.5097	39.3229	8298
+-120.0905	34.6498	6406
+-117.1974	33.072	9369
+-119.6405	33.8297	6927
+-90.931	38.2898	8653
+-113.227	31.395	6332
+-120.5086	48.6443	6397
+-117.5719	33.9382	9143
+-120.36	33.9213	6156
+-116.019	32.0005	8358
+-85.4936	38.0551	6115
+-118.0808	45.8062	8883
+-119.5122	34.432	7067
+-117.4346	31.1352	7806
+-90.9075	36.2475	6669
+-79.8398	27.2977	7244
+-109.6541	32.6807	8075
+-108.4838	30.7625	7281
+-116.7178	33.18	9262
+-80.6058	26.6306	7739
+-81.459	31.4695	5634
+-118.1782	44.752	7829
+-89.133	38.2338	9057
+-115.8603	48.4479	5687
+-126.5837	46.7376	5551
+-113.6923	29.8985	5402
+-118.6024	31.8117	7612
+-107.5485	31.0847	6408
+-109.63	33.2604	7503
+-82.367	27.6275	9585
+-108.7472	31.0675	7667
+-80.8496	25.1923	6638
+-115.856	31.3867	7733
+-114.6701	33.5946	7048
+-120.1317	46.6136	7229
+-123.4796	43.9275	6207
+-119.2067	32.2125	7165
+-123.7519	46.7576	8643
+-116.8373	34.9449	8536
+-118.8543	37.6327	5346
+-108.3008	33.1364	6702
+-119.6521	46.8312	7617
+-92.1262	39.8823	7184
+-118.9083	32.7635	7586
+-79.9704	29.7581	6566
+-116.2651	36.2456	6988
+-116.5077	43.9772	6329
+-108.692	30.6511	7428
+-120.6453	49.5812	5813
+-110.5433	27.3502	4882
+-116.9131	46.4555	7761
+-88.7535	34.7061	6493
+-108.423	31.14	7349
+-119.4719	49.085	5858
+-118.1869	48.9413	6250
+-117.5324	43.9351	6834
+-90.68	39.5236	8531
+-80.2195	26.4357	7255
+-87.7659	34.8956	6509
+-122.3768	44.4262	6757
+-113.9054	36.4349	5094
+-121.1936	48.2535	7258
+-85.6922	25.8086	5297
+-116.7231	46.5781	7532
+-92.3317	38.2078	7245
+-88.1846	37.705	9160
+-115.7525	30.478	6814
+-89.0138	39.3318	7821
+-121.4833	43.0291	5009
+-115.5198	33.9443	7621
+-115.1081	35.8686	6517
+-110.9318	29.8601	7497
+-88.5053	38.6428	8680
+-116.0504	48.4636	5817
+-90.9568	38.1962	8565
+-116.7198	31.0179	7728
+-78.9857	27.7042	6331
+-82.4134	27.8636	9557
+-88.3197	36.75	8671
+-88.5539	38.3133	9050
+-117.9872	34.4237	8690
+-88.7152	33.1555	4752
+-120.4119	34.0715	6106
+-119.7637	46.9721	7441
+-115.1455	32.9049	7719
+-117.761	31.1233	7667
+-107.7902	31.9677	6687
+-90.974	37.2675	7704
+-109.7147	31.2683	8721
+-114.7318	33.6941	7075
+-118.1369	33.1331	8401
+-116.6445	32.1248	8902
+-117.1709	33.7406	9097
+-113.5912	30.7485	5830
+-120.931	31.9284	5221
+-118.4015	43.5759	6584
+-119.5277	45.4138	7756
+-113.1346	36.2875	4455
+-119.4165	49.5564	5408
+-83.2385	27.9575	8624
+-91.5471	40.0286	7561
+-109.45	32.7292	7906
+-80.2898	27.4125	7769
+-118.4329	36.6677	6495
+-120.0858	28.7292	4018
+-90.8508	42.2275	5642
+-121.3851	45.5119	7299
+-115.8564	49.7086	4655
+-120.5799	45.1454	6627
+-87.1179	37.9269	7941
+-86.2585	37.3708	6980
+-91.3881	37.5931	7773
+-107.0125	30.2034	5577
+-87.8754	39.5497	7476
+-111.0532	32.1749	8464
+-120.6564	45.0077	6494
+-89.7629	38.9892	8708
+-93.4916	38.4524	6059
+-81.4362	27.90	9089
+-120.62	46.3075	6776
+-79.7458	28.807	6946
+-91.8841	41.5027	6045
+-118.3629	49.9783	5152
+-119.9031	36.5038	5670
+-122.8306	45.8404	8367
+-117.2681	33.2369	9176
+-110.2794	33.7667	7107
+-115.6667	35.019	7543
+-121.038	46.0259	7314
+-89.5278	38.8099	8500
+-87.8135	34.8071	6432
+-124.8661	45.082	6614
+-119.4434	48.4464	6488
+-91.5964	41.9658	5720
+-110.3593	34.5705	6237
+-122.1932	46.36	8583
+-92.9241	37.2047	6219
+-113.6711	33.9569	5863
+-113.2061	27.2607	3850
+-92.1934	37.9178	7277
+-117.7582	33.6418	8780
+-122.0571	45.5679	7812
+-90.8573	39.4661	8499
+-115.964	45.2855	6657
+-81.5004	29.79	7494
+-91.2269	36.9001	7233
+-79.9438	29.1461	6965
+-122.4978	48.5627	7798
+-111.5028	32.6342	7770
+-122.9627	46.6318	9232
+-81.115	28.5793	8418
+-123.7477	43.8395	6047
+-116.042	32.1577	8487
+-108.3372	30.5995	7062
+-122.064	47.1054	8675
+-118.9493	33.4746	7567
+-122.3462	29.5452	2730
+-89.4434	38.4965	8375
+-107.4381	26.9517	3556
+-87.486	38.6946	7971
+-80.9834	27.1734	8429
+-91.8571	37.6597	7448
+-95.0579	37.8326	4290
+-108.2989	30.1641	6786
+-107.2676	30.9829	6089
+-116.25	33.9573	8412
+-89.7482	40.2982	7621
+-90.7549	41.478	6457
+-108.6821	29.8829	6906
+-118.2787	31.783	7890
+-88.7401	37.0006	9068
+-86.4129	34.4385	5331
+-119.0339	30.2333	6062
+-118.3184	31.0833	7301
+-122.9742	45.3536	7832
+-80.162	28.272	7590
+-120.3782	47.2441	6733
+-117.3895	32.613	9229
+-115.7336	34.5091	7816
+-123.6289	43.3268	5528
+-112.4866	33.9074	6041
+-117.8934	35.8143	7581
+-115.04	33.2203	7557
+-85.6213	35.0078	5192
+-123.2195	47.069	9238
+-81.1213	28.5268	8460
+-122.8545	46.5052	9097
+-91.2683	42.4992	5272
+-86.4476	36.4035	6851
+-110.1266	33.0756	7841
+-119.0727	31.0407	6680
+-120.1968	44.1588	6374
+-115.9917	32.2823	8513
+-87.638	41.3538	5346
+-119.8884	32.1456	6409
+-117.8034	47.645	7547
+-91.0143	37.9591	8334
+-117.8431	31.784	8242
+-112.6182	33.5486	6208
+-118.589	32.3497	7870
+-119.8767	45.5734	7483
+-118.0957	35.6624	7640
+-82.6084	28.6806	8727
+-85.6908	27.9019	5865
+-89.9847	37.5894	8445
+-120.9102	33.0163	5381
+-79.1938	26.167	6106
+-90.6578	38.6324	9102
+-88.9629	40.8512	6691
+-80.2539	31.4852	5179
+-116.613	33.0959	9250
+-114.9125	31.0486	6730
+-92.498	43.567	3754
+-122.2405	43.685	5929
+-117.8546	33.2046	8672
+-86.0712	38.9258	6475
+-119.0624	45.054	7879
+-110.2969	30.9818	8821
+-85.5397	30.0188	5272
+-80.8371	29.9942	6977
+-118.0714	47.1191	8158
+-114.5482	33.115	7035
+-121.0031	30.2509	4418
+-110.0379	34.3534	6455
+-116.4365	32.3529	8967
+-83.6092	29.1418	7610
+-89.8222	35.881	7487
+-112.2292	30.076	6849
+-88.7221	38.2226	9188
+-114.8891	30.9543	6641
+-124.76	43.4649	5250
+-121.3147	48.6712	7049
+-122.6766	44.9105	7334
+-113.127	34.2255	5307
+-81.5299	26.8245	8627
+-83.7837	26.8929	7780
+-116.4782	44.7288	6860
+-90.9734	36.1807	6583
+-83.3851	28.1757	8403
+-119.8375	34.266	6730
+-90.9188	40.3534	7602
+-116.8629	47.2574	7320
+-117.7952	33.4016	8553
+-117.7052	32.8267	8929
+-117.9854	32.1141	8373
+-83.4252	27.2076	8300
+-112.7528	32.3525	6723
+-119.085	48.1188	6960
+-110.0806	34.0758	6759
+-124.4815	43.3295	5249
+-89.3579	42.3671	5372
+-117.2761	47.3266	7580
+-119.4584	35.8857	6477
+-87.3161	37.3102	8139
+-121.5209	44.3884	6394
+-125.0619	46.5562	7189
+-117.9698	33.5996	8575
+-116.8954	33.5102	8975
+-117.4676	31.6689	8356
+-79.2057	28.9689	6312
+-118.9144	32.3226	7511
+-109.0913	31.9726	8063
+-118.4681	33.4124	8009
+-84.8753	26.204	6322
+-89.4223	38.5085	8356
+-116.6132	49.7274	5031
+-108.4994	32.9854	6972
+-115.2489	33.4551	7709
+-115.816	31.9353	8136
+-125.1328	48.0567	6876
+-120.462	47.4227	6881
+-90.373	37.4124	7983
+-79.3471	28.2706	6689
+-115.9556	34.1729	8107
+-120.1714	35.7607	5906
+-126.9326	47.7293	5097
+-108.2043	32.3357	7027
+-120.8403	43.7402	5575
+-82.9649	26.1775	7863
+-118.3625	33.5325	8175
+-120.424	49.0278	6067
+-110.6043	26.2551	3693
+-118.5031	46.4532	8820
+-119.7492	44.4105	6892
+-93.5162	39.289	5998
+-90.3918	36.0357	7231
+-116.6994	32.3235	9127
+-82.3889	28.2351	9289
+-118.0056	32.2319	8423
+-84.9626	36.0864	5192
+-79.1252	28.4179	6410
+-82.3787	29.2301	8214
+-116.3787	31.3047	7943
+-121.8036	44.6865	6827
+-115.5804	35.8999	6874
+-90.5298	39.9214	8152
+-88.6479	38.2527	9143
+-89.9716	37.4231	8435
+-115.3805	44.4748	5737
+-80.515	25.803	7014
+-113.8959	35.7878	5442
+-87.5216	36.6578	8017
+-83.098	27.9988	8770
+-81.9679	25.8681	7736
+-89.4055	36.3484	8171
+-116.355	46.0501	7218
+-117.6446	46.4413	8494
+-118.0734	31.9614	8193
+-86.221	40.3413	5670
+-120.8095	35.2941	5471
+-92.5398	37.222	6576
+-86.9894	38.5875	7568
+-121.8633	47.3801	8380
+-90.7408	40.9846	6985
+-91.3737	37.8101	7953
+-88.9942	38.1133	9252
+-92.5579	38.3361	7038
+-82.4113	27.6897	9566
+-121.7038	43.4552	5531
+-123.0856	46.0557	8585
+-78.8656	25.8721	5619
+-114.8512	32.7482	7392
+-116.2252	44.6233	6578
+-90.7126	38.7033	9066
+-120.1729	47.8219	6553
+-125.6775	47.1629	6547
+-114.6528	35.9945	6038
+-115.2778	31.1911	7138
+-111.0858	31.3774	8628
+-119.8891	47.9131	6695
+-119.9916	42.5658	5103
+-110.0503	31.9935	8934
+-124.4178	47.5011	7838
+-122.6126	44.9626	7382
+-115.6722	34.0597	7797
+-93.1016	35.6355	4969
+-111.2357	30.898	8246
+-118.78	46.1312	8733
+-89.8585	42.903	4913
+-83.7141	25.0467	6333
+-89.609	36.2428	7959
+-95.5267	38.3442	3863
+-89.2883	40.8715	6851
+-90.6072	38.4593	9029
+-119.6091	34.135	6983
+-114.8101	33.8577	7082
+-80.4041	24.2478	5457
+-120.1977	35.3406	6080
+-116.3448	36.8471	6411
+-117.0762	47.8744	6988
+-82.4856	26.10	7965
+-115.4256	30.6312	6770
+-83.0151	26.5569	8199
+-120.7692	43.7865	5664
+-116.236	36.985	6230
+-82.253	27.6659	9716
+-80.8158	26.4436	7780
+-117.9946	46.0466	8950
+-79.7215	31.9788	4401
+-120.3497	46.2318	7068
+-117.9181	36.9825	6350
+-110.8174	32.6521	8202
+-92.2108	37.8619	7234
+-120.7793	49.0712	6324
+-121.9297	47.2001	8510
+-92.1721	34.7264	4678
+-119.2268	36.1217	6492
+-116.6685	31.0705	7777
+-93.0214	41.5083	5311
+-116.2665	34.6518	8309
+-89.5912	33.2461	4768
+-119.6447	36.1871	6110
+-117.4108	32.5628	9182
+-80.992	27.4343	8548
+-110.6447	33.5377	7329
+-117.5189	27.9432	4282
+-109.647	32.4443	8281
+-118.6333	33.5307	7909
+-94.1582	36.7038	4796
+-122.2321	49.2988	6941
+-86.2182	27.4192	5254
+-83.5505	26.8264	7968
+-89.803	38.215	8574
+-125.7073	47.6954	6420
+-118.2055	46.5962	8729
+-115.1653	28.1812	4206
+-91.548	41.2571	6445
+-86.1687	40.1309	5795
+-122.5725	45.8265	8303
+-113.3797	33.373	5646
+-89.9174	39.1475	8764
+-84.201	27.2257	7474
+-81.676	26.7778	8660
+-120.2944	33.8083	6216
+-111.1161	34.2142	6500
+-111.9573	36.8269	3526
+-110.3551	29.2619	6958
+-120.9975	47.0443	7514
+-124.7699	48.7307	6782
+-112.6128	35.6591	4414
+-88.6087	36.0442	7986
+-79.7809	31.8663	4545
+-91.2949	42.2196	5558
+-124.8869	45.8458	7100
+-118.1251	35.4549	7819
+-90.4428	35.2813	6543
+-82.0751	29.6635	7745
+-120.0573	33.4806	6412
+-110.7898	30.7841	8476
+-85.8468	27.1167	5627
+-90.9892	35.8566	6598
+-112.1775	32.4394	7271
+-122.5433	48.1315	8268
+-120.6118	48.7583	6413
+-114.987	33.5653	7392
+-89.9317	36.0824	7608
+-89.4425	39.1869	8306
+-81.3146	31.1347	5971
+-111.2131	33.6819	7008
+-115.5615	33.3503	8076
+-80.0749	27.1043	7446
+-79.7849	29.1008	6837
+-119.0097	47.0039	8032
+-121.3751	48.1244	7503
+-93.6349	38.1476	5860
+-122.033	44.6437	6882
+-117.5717	38.2759	5007
+-117.3514	33.6814	9036
+-83.5297	27.1015	8143
+-91.329	37.8048	7983
+-117.7163	31.7199	8271
+-121.9585	47.9087	8143
+-87.7854	34.5886	6189
+-81.6044	29.3802	7971
+-118.03	45.2602	8332
+-88.7473	39.4991	7485
+-89.1716	39.837	7670
+-90.9091	38.6522	8848
+-116.3759	45.3286	7081
+-87.2012	37.7523	8055
+-81.4716	32.8461	4097
+-125.2337	44.5639	5926
+-86.2985	38.1159	6999
+-88.7269	34.8749	6682
+-79.9187	25.5736	6366
+-110.2421	33.2445	7671
+-116.202	31.3682	7926
+-87.8549	38.4342	8477
+-87.4616	38.2423	8214
+-86.9586	36.103	7132
+-92.7093	36.4955	5933
+-117.969	36.1877	7170
+-84.6077	30.7434	5513
+-87.6166	31.9374	3256
+-118.4646	28.1195	4254
+-89.7891	36.0176	7638
+-124.8755	46.6379	7406
+-115.9618	32.7293	8628
+-112.913	31.5816	6679
+-92.2678	36.5173	6275
+-113.8567	31.7659	6091
+-117.2063	49.3001	5685
+-117.8451	48.1158	7076
+-118.2051	36.3309	6931
+-112.4241	34.3117	5749
+-111.4786	29.6713	7059
+-111.1815	27.7006	5168
+-119.9893	47.6036	6852
+-91.712	41.0736	6539
+-120.8421	45.9983	7108
+-119.9007	32.1718	6402
+-117.31	38.7025	4554
+-122.6715	46.6556	9182
+-92.3133	35.5145	5364
+-118.524	45.1191	8191
+-118.6413	45.7403	8723
+-116.0182	32.8468	8694
+-83.6847	31.4139	5408
+-83.317	25.469	6968
+-118.7064	32.6741	7806
+-123.0872	43.7618	6079
+-90.4899	40.0599	8008
+-91.3485	35.4634	6006
+-116.5864	33.2367	9121
+-117.2311	36.4646	6995
+-123.6951	44.5626	6824
+-120.7697	39.6469	2412
+-89.9964	38.8506	8993
+-84.0406	40.7861	3458
+-114.0871	33.6224	6418
+-117.4334	31.674	8376
+-120.0384	46.9206	7209
+-124.3826	47.4529	7892
+-108.6701	33.2376	6932
+-123.7824	43.6637	5850
+-90.5975	36.329	7270
+-88.4648	37.13	9125
+-118.3913	44.7959	7875
+-88.3695	35.3451	7172
+-108.8675	28.4987	5773
+-87.8877	36.7678	8404
+-89.8393	39.4224	8492
+-115.9083	33.2568	8474
+-119.2284	31.6712	6925
+-125.5578	46.8174	6682
+-84.1104	25.5922	6568
+-83.0667	29.8621	7297
+-79.2792	27.2775	6616
+-89.2456	40.5637	7117
+-113.7888	45.0622	4375
+-88.9199	38.5748	8781
+-120.1704	47.8838	6510
+-82.7358	30.6255	6587
+-83.4452	27.9788	8389
+-92.4943	39.1009	7118
+-119.6228	34.7317	6886
+-79.975	26.2375	6900
+-123.3819	45.8578	8278
+-116.5868	35.2513	8111
+-86.1955	42.7878	3382
+-90.576	38.9222	9146
+-86.2568	36.4891	6703
+-95.4719	37.1467	3674
+-88.3487	35.9092	7788
+-116.8789	36.4531	6972
+-89.4559	36.7049	8488
+-116.3037	44.3657	6473
+-84.0972	29.0435	7242
+-88.4611	38.6825	8624
+-117.5321	35.7513	7749
+-85.4733	36.7045	5964
+-109.0322	31.3214	8036
+-90.0046	38.4675	8915
+-91.378	38.7366	8352
+-79.4648	30.329	5707
+-117.0544	36.0692	7414
+-115.2459	28.6558	4731
+-118.9995	33.2069	7394
+-116.1063	33.9875	8262
+-125.332	48.9795	6138
+-114.9941	32.6624	7546
+-91.3018	37.1053	7394
+-106.2201	30.5175	4870
+-122.7456	49.0799	7278
+-110.8538	30.5796	8249
+-85.7647	39.4135	5916
+-120.3542	35.0949	6010
+-81.032	26.3012	7819
+-125.4493	47.6226	6714
+-120.6311	45.3854	6661
+-117.2395	34.8192	8789
+-92.8352	35.7653	5261
+-110.0281	33.4174	7459
+-108.4492	30.6417	7191
+-115.7655	47.9873	5928
+-92.1053	38.3135	7510
+-80.1209	31.0711	5515
+-89.9726	37.516	8451
+-90.9893	37.3787	7808
+-120.3053	48.3877	6356
+-83.7773	30.2444	6528
+-82.3539	29.4642	7956
+-113.3366	31.0999	6178
+-116.0074	32.5359	8638
+-85.9113	27.0096	5533
+-81.5015	28.5574	8747
+-84.9447	27.0911	6621
+-88.9532	40.6214	6886
+-125.5493	46.4681	6645
+-89.4767	35.2538	6992
+-82.5154	26.9533	8876
+-124.4372	49.8497	6017
+-118.5847	46.699	8550
+-91.6511	39.1659	7986
+-117.3338	35.3105	8252
+-117.4973	35.1078	8445
+-88.8118	44.412	3091
+-82.5553	29.5799	7786
+-108.1918	30.6108	6925
+-90.3202	40.1693	7893
+-119.0744	29.5805	5445
+-92.7482	33.815	3526
+-112.5148	29.5075	6211
+-86.1297	36.9516	6748
+-124.2415	45.828	7673
+-119.4071	45.0351	7621
+-91.9465	38.6149	7733
+-90.3906	41.762	6178
+-117.8931	33.2616	8606
+-121.1556	45.7669	7280
+-119.3871	47.9334	6994
+-116.4318	47.3449	6898
+-83.1935	27.7964	8692
+-118.2017	37.8655	5341
+-123.3675	45.5519	7969
+-84.8146	35.678	4849
+-108.2379	31.55	7203
+-87.0342	41.5769	5014
+-116.4827	33.1008	9127
+-123.1256	48.0806	8357
+-118.6342	45.5858	8601
+-120.8652	45.5613	6889
+-89.3714	40.9615	6803
+-115.8426	46.0146	6674
+-116.0771	33.8513	8204
+-118.0891	28.9095	5219
+-88.5728	37.0629	9104
+-122.1891	43.4593	5675
+-118.1164	33.3273	8260
+-125.7662	46.8598	6455
+-91.0225	42.0017	5852
+-119.261	35.8225	6687
+-108.0881	32.6002	6803
+-124.6766	49.0256	6618
+-91.423	35.8497	6104
+-117.5445	46.6643	8276
+-118.6983	45.334	8338
+-115.9848	32.3891	8558
+-115.0551	31.1891	6953
+-90.1103	40.0984	7942
+-115.4655	31.23	7317
+-90.2474	42.7446	5116
+-79.8275	32.3103	4128
+-108.074	29.6849	6276
+-109.992	28.5136	6127
+-122.6971	46.942	9382
+-91.3196	36.9728	7259
+-118.6192	49.3612	5788
+-114.7326	42.8601	4170
+-87.1627	37.5055	8006
+-92.3556	39.3772	7194
+-119.5662	46.6165	7796
+-88.5029	37.2945	9304
+-88.6498	40.7131	6602
+-121.7163	45.4523	7495
+-110.0079	29.1919	6859
+-115.7569	33.4255	8242
+-89.2343	38.0514	9135
+-88.2562	38.6113	8609
+-86.9829	34.6794	5910
+-119.1852	34.6382	7374
+-119.9836	46.1249	7460
+-123.942	45.2212	7373
+-114.2105	44.1523	4479
+-116.3532	34.9542	8198
+-106.3506	31.4087	5154
+-121.0753	46.3816	7501
+-120.173	46.8346	7113
+-90.2856	38.7017	9307
+-108.7671	32.7561	7354
+-77.9916	27.2366	5168
+-112.7335	32.5904	6653
+-90.8303	36.1047	6910
+-122.8187	48.4295	7997
+-123.1258	45.1576	7603
+-92.1822	42.5048	4937
+-118.1138	31.3257	7655
+-117.4335	43.008	5864
+-119.8771	34.2169	6689
+-107.2452	32.6153	5946
+-104.7287	33.3587	3104
+-89.3311	37.2969	9058
+-92.883	40.6029	6071
+-116.9184	31.978	8816
+-120.387	35.3041	5902
+-83.2754	26.6839	8112
+-117.0394	34.9267	8638
+-120.3795	46.2238	7037
+-126.0495	48.1391	5914
+-81.6437	27.4374	9225
+-87.4875	40.5953	6227
+-111.2147	31.7079	8509
+-108.2726	34.4171	5677
+-90.2523	38.7124	9277
+-82.2547	29.3504	8095
+-120.4501	33.619	6020
+-119.785	47.0992	7350
+-81.566	25.8181	7596
+-87.1652	32.8351	4102
+-115.5601	34.9863	7457
+-118.2921	45.9475	9099
+-116.0552	47.4269	6514
+-118.1463	32.6725	8427
+-87.3536	37.1446	8124
+-115.6513	34.7344	7658
+-116.3755	35.5784	7686
+-113.992	37.9055	4089
+-89.7526	39.261	8549
+-116.1549	31.5637	8088
+-87.3513	37.0862	8098
+-116.6026	33.0885	9246
+-89.031	38.5653	8763
+-84.3645	36.4349	4684
+-115.9748	37.0847	6024
+-110.8384	27.3382	4842
+-116.2592	29.9641	6475
+-108.4974	31.1131	7420
+-89.8382	37.5564	8606
+-118.7893	45.5874	8498
+-110.9228	30.5509	8185
+-115.3551	33.6458	7731
+-123.3524	44.7621	7134
+-83.6252	25.7895	7090
+-117.4329	37.2219	6164
+-122.9803	45.6727	8182
+-86.2165	37.223	6910
+-111.387	37.6504	2802
+-85.0321	30.7593	5179
+-82.2681	27.4787	9533
+-94.46	38.1381	4981
+-115.0903	44.1705	5309
+-120.4142	42.3069	4653
+-79.6608	29.7168	6330
+-119.4699	48.2783	6633
+-122.4718	47.1668	9087
+-87.819	41.8206	5112
+-87.3604	36.0158	7381
+-117.9133	48.4678	6722
+-122.6861	44.187	6543
+-91.5453	34.2471	4870
+-114.6257	33.4254	7055
+-113.3491	31.9257	6185
+-116.4899	32.0559	8751
+-113.9752	33.3676	6360
+-124.9381	45.6836	6960
+-116.7989	30.7578	7449
+-119.8266	44.6418	7012
+-119.7769	45.8766	7661
+-90.5616	34.0117	5245
+-107.2277	30.4488	5891
+-87.2646	40.829	5885
+-118.5553	31.4124	7388
+-124.8666	47.4274	7387
+-91.0101	40.8476	7065
+-88.9563	38.9676	8339
+-79.1546	29.8089	5806
+-117.5139	48.8192	6268
+-87.6367	38.5691	8191
+-116.8072	48.038	6680
+-86.1924	36.5105	6648
+-116.8963	31.1932	7940
+-89.2043	35.5818	7425
+-118.4767	35.7064	7373
+-107.2693	29.2841	5323
+-81.7247	27.0546	8964
+-111.0036	29.8119	7422
+-92.1919	39.7786	7182
+-116.5599	34.2096	8762
+-116.2146	31.1343	7697
+-115.321	46.7361	6052
+-109.4881	31.5825	8558
+-86.1267	39.7857	6015
+-123.3489	49.2096	7093
+-120.3147	30.3834	5136
+-109.6833	32.0752	8590
+-113.7909	29.2728	4968
+-121.2665	47.3057	7773
+-119.8531	44.3043	6734
+-115.6415	32.0891	8067
+-87.4852	35.9911	7448
+-114.8493	44.1937	5101
+-119.3511	43.5081	6292
+-117.8816	32.2065	8526
+-122.7961	45.8327	8355
+-89.2599	39.7002	7838
+-82.6017	26.4498	8311
+-122.29	45.7332	8094
+-107.0469	30.0789	5558
+-117.7074	30.2195	6741
+-116.7618	33.379	9085
+-83.0036	27.265	8756
+-82.1253	28.079	9539
+-117.3699	37.987	5333
+-91.2089	39.5315	8199
+-89.4698	39.302	8274
+-84.8481	28.6391	6666
+-119.2728	45.0576	7738
+-85.0437	29.9355	5786
+-88.3679	38.8386	8425
+-117.9496	49.9128	5207
+-121.3593	43.2428	5179
+-76.738	27.8188	3788
+-119.2657	32.887	7187
+-119.9857	45.8186	7433
+-88.2095	34.2536	5934
+-80.5992	26.2263	7433
+-89.592	39.5142	8239
+-114.3131	32.5979	6783
+-116.9339	47.6251	7104
+-108.3166	31.5397	7288
+-120.4029	34.1899	6116
+-86.3775	38.536	6961
+-115.825	43.1993	5234
+-112.2804	30.9846	7267
+-88.5744	33.9196	5604
+-90.362	38.061	8681
+-123.5556	44.3967	6692
+-112.8514	28.3878	5066
+-118.8491	46.0386	8658
+-81.7798	28.5241	8947
+-120.1006	32.4824	6237
+-118.0582	34.2498	8665
+-84.3586	28.5644	7218
+-119.5618	43.4186	6114
+-94.1232	35.2569	3909
+-87.8466	36.5071	8154
+-118.304	34.5098	8334
+-114.6923	35.1626	6514
+-81.3726	31.9511	5081
+-88.747	38.6387	8723
+-88.243	38.3483	8850
+-93.3459	37.9558	6118
+-89.6447	38.7701	8628
+-83.3127	29.209	7785
+-119.6525	45.9203	7798
+-117.9722	34.9253	8381
+-87.0727	36.6015	7569
+-89.8381	41.4659	6439
+-90.9956	38.0369	8411
+-107.7987	29.3733	5830
+-110.0345	31.4005	9094
+-84.1469	27.4136	7580
+-116.2813	31.8309	8414
+-83.3073	28.6364	8239
+-122.4126	44.3687	6702
+-89.258	37.2215	9071
+-105.559	27.638	2763
+-123.9492	44.6051	6767
+-119.6891	35.098	6694
+-87.1679	37.8184	8012
+-113.7603	33.252	6144
+-116.8887	35.6125	7872
+-118.205	45.3402	8452
+-83.3634	27.6273	8492
+-90.1664	40.179	7866
+-87.483	40.6435	6175
+-90.5953	37.0675	7597
+-123.8415	48.8402	7302
+-79.8438	29.853	6388
+-119.8842	45.0979	7260
+-116.8072	31.2166	7959
+-82.2365	29.1065	8372
+-118.6258	45.3761	8412
+-118.5674	33.6737	8033
+-121.7223	47.6127	8130
+-118.7785	46.5354	8562
+-116.3699	33.5696	8681
+-117.3218	32.2253	8984
+-108.5131	33.8343	6337
+-109.973	31.4504	9057
+-120.8687	49.5107	6030
+-117.7562	33.0599	8831
+-118.6558	31.1281	7089
+-116.7936	34.3767	8958
+-90.8567	34.6202	5669
+-111.7004	31.2663	7953
+-117.3751	36.0526	7441
+-117.8532	34.6983	8649
+-92.2976	37.0005	6629
+-122.2443	47.7695	8467
+-108.1587	28.2237	5138
+-120.2284	33.3096	6184
+-84.6101	26.4674	6728
+-119.9319	47.1647	7182
+-88.4306	37.3664	9310
+-117.1087	31.7668	8571
+-81.7146	26.425	8302
+-88.9669	35.6414	7531
+-107.905	29.7672	6188
+-115.4842	46.4994	6266
+-119.4827	34.3119	7113
+-126.7318	47.5075	5355
+-108.8148	33.789	6572
+-116.5402	34.507	8647
+-111.3647	31.1286	8252
+-115.4631	44.7229	5937
+-115.2344	38.3878	4395
+-85.6342	38.9568	6012
+-87.6718	39.4204	7494
+-78.6123	27.9934	5901
+-88.9299	40.9647	6569
+-115.5772	30.5415	6779
+-120.316	33.0801	6019
+-116.0795	29.6868	6124
+-90.4883	36.5636	7520
+-115.4434	32.5041	8019
+-85.4515	39.4231	5603
+-118.3326	32.0498	8006
+-117.3417	45.7175	8184
+-90.5287	36.2236	7259
+-117.6466	33.5561	8784
+-124.8734	45.0013	6546
+-86.7317	38.7246	7240
+-86.4491	35.5861	6320
+-111.5242	30.5492	7765
+-124.0834	44.957	7044
+-85.254	39.8877	5150
+-118.5583	34.5522	8057
+-82.4984	28.4089	9057
+-83.3777	27.9085	8475
+-112.0196	28.9568	6092
+-81.22	27.3043	8734
+-90.3865	34.9039	6221
+-117.3626	41.4853	4277
+-87.0782	38.1641	7839
+-79.8334	27.3933	7256
+-83.3234	31.6372	5311
+-117.9409	32.4107	8576
+-80.9273	25.592	7079
+-89.1248	35.0204	6818
+-82.8072	27.718	9128
+-109.8606	30.5061	8199
+-120.7863	45.534	6801
+-89.0795	37.9407	9348
+-90.0019	38.6237	8991
+-123.3343	45.7501	8187
+-90.2087	37.7186	8297
+-123.6723	43.5332	5740
+-121.5874	45.4655	7415
+-121.6811	48.1909	7708
+-118.0186	34.3838	8673
+-111.1473	33.0241	7681
+-115.5272	31.0084	7175
+-114.9494	35.3379	6689
+-90.286	38.9318	9202
+-80.225	27.6123	7726
+-115.4158	32.8243	8023
+-90.4681	37.9878	8598
+-122.5822	49.1224	7212
+-78.7573	27.3158	6039
+-107.9894	35.5709	4462
+-88.4177	38.0346	9245
+-117.3387	36.8498	6574
+-85.9903	39.0534	6331
+-117.8429	34.3727	8857
+-91.5507	37.6239	7676
+-89.0857	36.5524	8515
+-122.6012	46.7356	9191
+-118.2843	48.9902	6200
+-121.5362	49.3698	6570
+-118.5259	32.3366	7933
+-121.6544	47.9292	7877
+-117.3816	46.4764	8226
+-88.9418	33.9312	5618
+-119.8264	30.5173	5660
+-83.9137	28.9892	7449
+-89.9227	41.1607	6779
+-108.9681	33.3562	7049
+-117.3613	30.1934	6794
+-83.4613	25.9865	7380
+-93.6315	36.7398	5307
+-116.4047	30.654	7261
+-118.843	46.275	8639
+-121.4837	44.2781	6268
+-86.6005	37.1157	7306
+-111.6998	32.829	7470
+-91.7039	39.5411	7765
+-89.4432	37.1152	8836
+-125.0406	49.0631	6314
+-93.6007	36.3374	5090
+-110.9586	32.556	8221
+-120.2087	44.4008	6541
+-83.8634	39.2514	4031
+-87.2304	37.9662	8058
+-84.1227	24.9557	5996
+-91.8359	41.0798	6465
+-119.8883	43.5399	6060
+-123.0956	47.5393	8941
+-119.1796	34.3867	7433
+-107.1797	32.0637	6017
+-90.7016	36.5889	7070
+-119.8874	47.1803	7212
+-122.4553	47.0517	9109
+-82.4841	28.8082	8649
+-125.2123	47.6813	6947
+-79.0724	27.6387	6426
+-120.3071	46.3933	7095
+-91.0465	39.4389	8394
+-110.6269	30.0156	7745
+-109.001	33.3155	7106
+-120.2651	46.3806	7141
+-81.1092	28.2344	8619
+-92.3407	37.7924	7076
+-82.6141	27.8784	9334
+-108.5901	30.6157	7313
+-85.937	33.8471	4480
+-87.3746	35.3719	6803
+-81.514	25.3993	7124
+-117.5517	45.0088	7869
+-80.8725	31.329	5617
+-109.3826	30.8114	8147
+-109.5793	35.2398	5428
+-116.5092	33.0804	9164
+-119.969	49.5714	5173
+-116.4263	35.1146	8129
+-115.922	33.7504	8013
+-114.9263	33.9224	7164
+-120.1211	47.4895	6821
+-110.0497	34.2369	6582
+-118.4648	44.8419	7914
+-120.121	33.6028	6371
+-121.2981	49.576	6242
+-111.3639	30.284	7677
+-93.5764	37.3966	5686
+-81.8948	25.9283	7795
+-119.0199	45.7092	8377
+-111.6525	30.7833	7802
+-125.2092	47.1944	7057
+-118.0712	29.7933	6163
+-80.7707	28.0704	8313
+-90.9621	34.9783	5920
+-115.8092	34.3765	7926
+-106.3842	31.806	5188
+-121.5194	31.9518	4584
+-116.2444	30.8412	7407
+-94.6799	36.9991	4424
+-113.9506	37.0593	4714
+-118.0162	34.238	8712
+-117.8601	32.8875	8753
+-111.8252	28.1834	5451
+-122.5994	46.6625	9136
+-80.6736	31.4943	5363
+-117.0442	31.9375	8769
+-116.6383	45.8168	7493
+-114.3308	47.0765	4949
+-106.9762	32.5462	5690
+-116.2464	33.6739	8317
+-88.8664	36.9264	8977
+-122.0526	49.2007	6981
+-116.9346	33.33	9179
+-118.3209	34.7774	8190
+-113.2977	31.9361	6239
+-82.4201	27.6163	9526
+-122.0089	49.7533	6392
+-87.4528	37.6448	8340
+-115.9307	31.9831	8270
+-90.6139	35.9216	6963
+-91.7226	44.0332	3550
+-117.6357	45.6523	8427
+-84.6119	30.7311	5521
+-123.7277	45.5002	7756
+-121.9729	48.2823	7838
+-84.3342	28.3107	7328
+-113.3995	31.7099	6149
+-124.9812	44.8526	6347
+-116.5945	34.8551	8462
+-118.60	32.8196	7931
+-91.6086	40.1968	7381
+-89.9352	42.2657	5604
+-88.5832	36.7589	8776
+-89.0974	37.5165	9408
+-114.2677	33.5705	6627
+-127.1675	48.062	4766
+-79.9966	26.5829	7129
+-119.2877	49.2424	5767
+-80.5152	29.2943	7375
+-82.1482	25.6585	7507
+-115.5563	36.5063	6347
+-114.6483	32.7464	7166
+-87.8094	36.7742	8347
+-87.1041	38.8696	7511
+-117.7114	33.3977	8600
+-115.9788	33.5829	8358
+-120.1626	37.4811	4709
+-89.1724	36.5538	8486
+-119.8233	32.4562	6541
+-118.7963	36.0497	6863
+-109.5866	31.7541	8644
+-124.8878	48.2174	7026
+-113.2632	40.8932	1600
+-115.3362	32.9044	7932
+-120.8128	42.6534	4733
+-89.4949	37.9668	8931
+-114.997	33.6773	7355
+-122.1787	44.655	6946
+-87.0686	39.0986	7321
+-111.4218	31.149	8204
+-80.5875	27.109	7992
+-110.5861	30.3695	8130
+-123.2237	44.593	6974
+-109.1784	33.8685	6699
+-117.7378	31.6488	8192
+-117.9486	44.5766	7609
+-118.5114	48.9003	6285
+-114.9187	37.1365	5380
+-110.5187	35.5409	5181
+-120.4237	49.1142	6005
+-114.151	29.5732	4962
+-116.8992	41.2245	3893
+-85.7252	26.7653	5674
+-83.8268	29.6512	7026
+-117.1829	33.7826	9145
+-115.7377	34.189	7869
+-91.883	37.0949	7017
+-117.1557	35.7622	7757
+-116.1326	34.3614	8276
+-90.8578	37.3558	7837
+-113.6853	34.2988	5627
+-113.7241	33.625	6025
+-120.327	45.4741	6997
+-85.5565	38.8213	5985
+-109.8102	32.3677	8452
+-89.4598	36.6338	8419
+-116.4765	46.4358	7314
+-117.3418	34.4577	9175
+-92.7564	40.7199	6100
+-83.3425	29.4391	7558
+-118.3194	33.774	8324
+-114.5585	31.4122	6643
+-109.0042	30.483	7604
+-117.678	31.7808	8351
+-87.1643	37.3585	7984
+-109.7723	31.1418	8700
+-118.3928	37.7957	5358
+-81.4407	27.4748	9042
+-123.0557	48.1954	8245
+-93.301	40.0072	6000
+-88.0122	42.818	4349
+-83.8443	27.2732	7878
+-119.7485	46.869	7508
+-92.7353	34.4861	4176
+-111.2657	28.8681	6363
+-87.2488	40.1755	6523
+-86.9739	39.7067	6766
+-113.9832	34.664	5910
+-123.293	49.3849	6915
+-117.2562	35.7812	7740
+-109.0376	32.7793	7563
+-90.263	41.3904	6576
+-92.6308	37.72	6760
+-115.2253	33.4529	7685
+-88.724	35.2236	7073
+-90.5992	39.7855	8284
+-92.2847	36.5213	6267
+-112.5765	34.1023	5819
+-121.2047	35.356	5040
+-83.2721	28.5258	8344
+-86.8337	39.0358	7156
+-90.5914	36.7316	7237
+-117.3957	30.6481	7287
+-115.7745	47.0124	6433
+-122.3007	49.2243	7040
+-112.185	34.0256	6153
+-92.1957	36.8787	6617
+-89.4239	38.3626	8740
+-115.2815	33.2051	7824
+-108.1325	29.2137	5970
+-116.9822	31.816	8637
+-78.6769	33.6581	2165
+-108.4727	31.8623	7435
+-113.372	31.2632	6163
+-118.5455	44.8328	7890
+-119.1555	36.7329	6033
+-114.6216	31.5509	6781
+-117.6061	31.999	8595
+-119.5646	37.1721	5382
+-93.2289	38.8741	6354
+-117.1686	46.1477	8079
+-120.9568	35.577	5215
+-120.0316	47.8365	6651
+-124.1769	48.7829	7167
+-116.4157	32.2167	8844
+-122.7047	44.8356	7255
+-89.3957	39.9643	7737
+-112.4072	33.1015	6689
+-80.1463	32.086	4513
+-117.8321	33.9582	8892
+-122.7017	48.2786	8148
+-108.1907	31.1306	7101
+-111.0566	33.1151	7638
+-120.4205	47.4752	6825
+-117.7372	30.3705	6892
+-116.415	33.4595	8808
+-90.3169	40.4023	7642
+-112.4463	33.4488	6420
+-117.8486	35.0101	8390
+-81.6368	26.1608	7991
+-123.1746	47.6074	8840
+-115.6418	34.8278	7610
+-115.0412	46.6629	5776
+-107.647	30.491	6332
+-89.4329	40.8652	6925
+-124.1753	45.8102	7715
+-83.2048	26.0647	7617
+-118.544	32.5593	7970
+-90.6047	35.7885	6866
+-81.6163	27.4567	9211
+-81.5605	28.4258	8904
+-118.4047	34.3953	8264
+-117.8138	44.3365	7328
+-119.6418	47.7052	7033
+-116.8206	33.1666	9330
+-116.3853	34.5104	8492
+-118.5509	42.4229	5356
+-125.6538	45.9059	6364
+-120.6778	49.3205	6050
+-80.8074	29.3122	7589
+-88.0448	35.4677	7218
+-117.5466	44.0494	6953
+-90.3522	34.9898	6323
+-117.8209	47.3388	7860
+-118.4214	32.0698	7929
+-109.2229	29.9775	7358
+-119.2405	33.6762	7328
+-118.1369	31.694	7944
+-90.3964	39.7412	8356
+-120.8581	36.5492	4816
+-117.2766	35.1944	8380
+-119.3855	31.6282	6747
+-121.2471	33.0207	5029
+-84.6113	31.3398	4973
+-80.4234	31.768	4969
+-88.5807	40.637	6612
+-85.9856	26.3644	5254
+-82.3236	25.6268	7462
+-110.9316	30.8455	8444
+-125.3691	44.4999	5772
+-119.5584	48.4543	6425
+-88.4692	34.9005	6693
+-119.4796	43.4218	6154
+-90.6177	39.4899	8588
+-81.4815	29.466	7833
+-84.0663	26.901	7496
+-120.5604	45.797	6828
+-115.3028	33.6732	7666
+-114.2647	34.2151	6262
+-108.8593	30.8945	7711
+-89.951	38.2934	8747
+-117.2649	32.5703	9321
+-81.1719	25.7301	7345
+-114.0981	32.856	6553
+-116.158	34.2991	8315
+-83.2085	25.0022	6537
+-80.4211	28.9341	7548
+-116.0639	30.5498	7031
+-115.5964	38.331	4610
+-115.719	31.3297	7588
+-118.4821	35.8565	7238
+-119.4416	43.7948	6528
+-114.6456	36.0884	5971
+-88.6824	38.8522	8480
+-121.6888	48.9477	7055
+-116.7907	45.4315	7528
+-123.1624	49.478	6832
+-89.144	36.0631	7967
+-89.474	42.4791	5287
+-81.4333	27.7734	9100
+-113.8771	31.88	6152
+-117.4171	30.8199	7470
+-92.7578	36.5413	5929
+-116.2178	36.6922	6521
+-117.9372	39.1075	4063
+-114.1435	47.3774	4672
+-123.4377	46.0759	8463
+-116.1616	33.4281	8625
+-115.8214	32.2493	8327
+-123.3114	49.3461	6953
+-116.0554	49.491	4963
+-119.8403	33.929	6722
+-114.534	33.6079	6900
+-82.0125	30.6563	6620
+-92.1097	39.1704	7509
+-120.0677	36.3592	5635
+-83.6947	26.9177	7882
+-112.9811	34.765	4989
+-118.4362	45.3864	8488
+-109.3205	29.8317	7281
+-112.6914	28.1408	4953
+-91.2331	39.6214	8112
+-84.3759	31.8304	4641
+-121.4205	29.5437	3588
+-91.4311	36.3918	6643
+-89.099	37.9968	9289
+-94.0006	35.699	4324
+-117.3612	44.3273	7144
+-120.777	41.7082	3912
+-86.9395	37.6298	7764
+-120.6431	48.9153	6330
+-110.2455	33.0237	7910
+-112.3906	34.4615	5640
+-115.0599	47.9453	5327
+-117.895	36.3928	6980
+-85.8526	38.1269	6503
+-86.9343	36.9385	7602
+-81.5849	28.3309	9002
+-123.1589	45.9296	8432
+-80.6866	29.1951	7592
+-123.8634	47.1359	8531
+-117.3958	45.3832	8052
+-126.4649	45.0218	5145
+-82.2455	27.249	9293
+-87.2288	41.7431	4737
+-117.2642	31.3262	8058
+-115.6206	34.3918	7720
+-108.2044	32.6281	6904
+-119.0204	31.2862	6896
+-110.7409	31.5644	9031
+-124.316	48.1913	7549
+-88.0322	38.1176	8847
+-114.3618	33.9646	6578
+-120.2704	43.6436	5914
+-79.7668	25.4047	6110
+-119.8912	36.5679	5633
+-121.3232	47.5023	7777
+-117.5079	32.8978	9142
+-110.4716	29.5962	7315
+-115.2055	38.3649	4404
+-81.2532	29.2045	7985
+-81.4448	28.2633	8932
+-82.1116	30.3882	6926
+-108.4698	30.9606	7345
+-124.3533	43.7421	5720
+-110.4253	32.0307	8979
+-125.0835	47.0369	7206
+-116.7703	48.3726	6369
+-116.7043	47.9488	6686
+-116.7408	44.2122	6679
+-111.6556	31.8311	8016
+-122.0171	43.8417	6039
+-113.9975	31.1075	5932
+-118.451	32.2258	7971
+-89.386	40.2919	7445
+-110.9697	36.7726	3809
+-111.6716	33.8235	6646
+-90.7013	33.3792	4536
+-90.1181	40.8923	7098
+-113.7594	34.5085	5690
+-82.1441	26.3687	8311
+-121.694	46.568	8211
+-118.4667	31.2718	7351
+-122.0075	44.8955	7129
+-110.1626	28.5099	6139
+-113.6444	34.2967	5583
+-115.6086	31.2404	7432
+-79.4212	24.7171	5275
+-89.5012	40.0712	7712
+-112.1914	32.7887	7074
+-88.9925	41.9983	5616
+-123.1315	48.0959	8340
+-83.7216	28.8159	7739
+-87.5195	38.0817	8339
+-121.7272	47.5616	8161
+-119.6523	32.5792	6746
+-122.2101	43.4044	5620
+-118.4132	31.6803	7701
+-116.4956	38.2309	4990
+-120.162	42.5514	5008
+-110.9513	30.223	7855
+-121.5837	48.5833	7316
+-121.1856	45.0654	6794
+-116.3072	34.6392	8355
+-122.0364	45.201	7447
+-89.1566	41.0385	6626
+-86.4007	39.3944	6526
+-118.8109	33.3399	7644
+-118.7849	33.1629	7572
+-123.0615	46.908	9417
+-87.5858	36.3681	7846
+-90.4222	33.0799	4342
+-115.6884	35.6653	7139
+-110.2597	28.8536	6515
+-80.0656	27.9185	7547
+-90.9372	36.3961	6818
+-117.8951	44.1554	7160
+-111.2843	28.2788	5748
+-110.1722	31.4983	9276
+-107.0605	32.8613	5667
+-119.8307	35.4777	6380
+-82.7118	27.8233	9235
+-115.5519	33.6327	7931
+-119.1455	32.5075	7298
+-92.8719	40.2808	6275
+-119.6128	34.7629	6888
+-83.558	25.2885	6659
+-118.1447	33.15	8387
+-87.6195	38.8521	7963
+-118.7996	33.3763	7673
+-84.5191	40.2498	4234
+-116.5043	32.9542	9215
+-106.0183	29.6094	4332
+-119.2658	45.961	8210
+-111.1099	30.4137	7952
+-88.5811	32.2653	3749
+-123.7919	45.8892	8070
+-120.5685	43.3418	5467
+-117.679	48.8395	6289
+-106.6145	28.557	4279
+-88.6377	36.6571	8673
+-126.4738	48.449	5356
+-82.1832	25.8297	7700
+-114.8159	32.0368	7201
+-115.7403	36.16	6770
+-119.5348	34.7206	6982
+-88.8869	41.3381	6202
+-88.782	42.1444	5379
+-117.0515	30.7449	7440
+-120.8028	33.2912	5573
+-82.2791	26.6049	8568
+-117.0544	31.4056	8176
+-115.0257	31.5156	7147
+-89.4014	36.5981	8421
+-117.4779	33.8925	9188
+-116.372	38.489	4687
+-116.515	48.4497	6146
+-85.7458	27.4966	5794
+-81.6531	28.9379	8460
+-115.1248	31.9396	7477
+-120.8777	34.4649	5582
+-118.0092	45.0334	8094
+-88.8195	35.1721	7015
+-120.0407	32.7083	6322
+-116.0211	33.4093	8508
+-83.1408	25.1517	6722
+-116.7403	33.9762	8939
+-116.9325	34.6098	8903
+-118.5569	36.7555	6350
+-122.6117	48.4769	7917
+-89.8403	38.03	8452
+-107.0209	30.6745	5752
+-89.4834	38.5136	8421
+-106.2882	30.4543	4923
+-119.0308	32.7577	7450
+-116.0562	33.7634	8157
+-92.3803	37.9999	7125
+-107.236	30.5308	5929
+-80.5137	26.4383	7523
+-117.478	34.1101	9306
+-83.0816	30.8167	6279
+-116.2061	33.3539	8714
+-108.4821	30.5557	7180
+-89.4444	39.6857	7996
+-113.0191	32.3924	6434
+-116.3304	45.3586	7048
+-117.7451	30.5063	7034
+-114.0261	31.8426	6298
+-123.8799	44.4181	6606
+-88.1285	39.9644	7138
+-117.2576	34.9659	8630
+-111.0143	34.6838	6034
+-86.6755	38.6189	7236
+-116.473	38.9123	4253
+-119.8162	35.0597	6579
+-117.3646	46.0704	8287
+-91.1859	39.0699	8493
+-114.9543	30.9587	6698
+-80.6102	25.8279	7103
+-89.3008	32.8775	4407
+-109.1087	31.4885	8143
+-118.0991	33.0605	8461
+-120.59	46.767	7059
+-81.3032	27.9122	8939
+-91.1032	41.5417	6317
+-117.5735	33.6726	8934
+-109.5646	31.7393	8624
+-115.922	32.5404	8548
+-82.8458	25.2911	6978
+-117.6309	47.534	7592
+-120.7127	46.2374	7073
+-116.1435	34.2443	8307
+-119.4715	27.7533	3452
+-122.5624	43.8998	6217
+-90.6003	40.3704	7662
+-91.9585	39.864	7345
+-118.9123	47.4548	7679
+-79.8095	28.7365	7044
+-117.9727	34.1037	8767
+-126.3971	46.493	5729
+-118.7496	32.1479	7629
+-118.1906	32.1671	8207
+-113.0425	31.6092	6538
+-80.9698	31.114	5883
+-111.7865	33.9435	6471
+-121.3295	45.3532	7132
+-80.2807	26.6132	7423
+-83.4142	25.5274	6974
+-81.2032	29.1606	7996
+-90.0766	37.83	8379
+-88.8387	39.8205	7399
+-116.0978	44.2861	6253
+-121.8078	30.6906	3855
+-79.5457	26.9374	6818
+-117.1408	27.9399	4310
+-114.8007	30.6008	6297
+-106.062	33.1767	4534
+-92.6357	39.869	6714
+-89.1042	36.2029	8130
+-83.4935	30.5359	6402
+-116.4324	31.5004	8168
+-119.0453	46.2121	8445
+-123.2814	42.8248	5037
+-90.8248	41.4645	6460
+-94.7037	39.5872	4681
+-80.7113	26.1593	7465
+-122.5504	46.6903	9117
+-115.0042	28.2159	4174
+-117.4371	35.6953	7824
+-121.8963	48.1096	7935
+-89.5166	38.9087	8475
+-88.9826	41.0399	6531
+-91.9785	38.1285	7579
+-116.0128	36.4491	6665
+-117.2518	32.8845	9426
+-124.7808	47.1079	7534
+-118.0139	34.8839	8382
+-111.2776	33.1842	7460
+-81.8847	29.6327	7763
+-117.1952	33.9407	9314
+-113.2401	34.0269	5359
+-119.159	37.6588	5173
+-117.1164	33.9742	9299
+-120.0742	43.5868	5992
+-89.9573	38.9457	8919
+-115.8735	46.2879	6701
+-117.7715	33.7129	8821
+-114.1597	30.7073	5837
+-117.5933	31.7237	8348
+-84.3653	28.3306	7288
+-87.3059	36.5754	7769
+-119.4605	32.3645	6926
+-118.5967	33.8376	8052
+-87.4607	39.9843	6828
+-116.3407	31.0891	7703
+-113.9394	30.6259	5431
+-91.0672	40.2585	7639
+-118.2198	46.1433	9179
+-84.6052	37.1993	5115
+-89.5541	37.3629	8868
+-110.304	30.1543	7925
+-112.6497	34.4443	5485
+-113.726	36.7021	4766
+-116.6874	33.0727	9330
+-123.1965	48.2323	8178
+-114.2399	32.8196	6711
+-115.3143	31.398	7324
+-83.4666	30.1936	6760
+-88.6008	38.3655	9008
+-91.8507	35.7992	5872
+-107.9221	34.2197	5603
+-88.5142	39.9223	7046
+-122.3464	45.818	8205
+-92.7621	38.5573	6852
+-121.0151	28.8171	3405
+-88.7766	38.3699	9025
+-78.9694	27.1057	6236
+-88.2491	36.8873	8766
+-109.2778	29.9724	7387
+-88.4638	37.7238	9469
+-83.7834	26.5373	7565
+-89.5525	36.8765	8565
+-120.8482	41.7868	3946
+-88.5907	38.7737	8556
+-83.7131	27.4363	8067
+-107.7117	32.0679	6585
+-108.5942	32.3276	7424
+-92.0586	38.2312	7534
+-115.4506	35.4322	7102
+-116.5771	48.9347	5756
+-114.5549	38.7515	3696
+-116.4425	34.8357	8357
+-110.9789	34.0483	6713
+-92.8985	38.9685	6703
+-107.8302	29.89	6199
+-87.1651	37.2726	7964
+-111.9911	31.6878	7674
+-84.2692	30.9571	5549
+-122.0788	32.208	4010
+-121.952	49.0929	7048
+-87.6306	40.585	6299
+-122.2112	46.3839	8615
+-90.5406	38.0448	8646
+-94.1114	37.2036	5074
+-119.842	31.105	6020
+-90.4663	36.9085	7438
+-122.0491	49.4633	6708
+-121.3777	32.9255	4864
+-82.4573	29.6088	7776
+-115.8957	33.6865	8214
+-114.5189	33.0812	7007
+-89.4026	37.2915	8987
+-119.1252	34.2985	7502
+-116.0585	36.2284	6900
+-88.0066	39.7091	7368
+-90.8281	38.611	8922
+-120.4697	39.7744	2462
+-117.5439	46.0917	8477
+-116.592	32.1925	8941
+-77.9443	27.4782	5142
+-123.1098	43.773	6090
+-90.6839	40.215	7812
+-125.3581	47.8606	6733
+-87.6379	36.2638	7794
+-94.7249	37.6113	4587
+-118.3872	46.7106	8605
+-123.4718	44.9805	7335
+-107.5906	29.0375	5419
+-85.6023	35.2034	5314
+-120.5502	31.2072	5371
+-108.4797	29.4995	6452
+-91.3358	36.6296	6919
+-109.8451	29.4301	7081
+-90.0854	40.0223	8016
+-81.1947	28.0223	8792
+-90.6083	38.5616	9108
+-119.4654	31.9852	6815
+-122.7319	46.418	8976
+-84.9736	29.1038	6341
+-114.2114	30.5485	5772
+-123.512	46.5732	8807
+-118.4877	48.8025	6390
+-119.2232	31.6871	6938
+-85.4492	35.1751	5158
+-114.1835	37.064	4898
+-87.1709	39.5958	7004
+-120.1282	33.6805	6378
+-120.5045	35.4198	5737
+-122.213	47.0778	8842
+-90.6143	39.4947	8584
+-117.8287	32.9453	8781
+-123.3767	43.0291	5249
+-118.7397	45.2185	8209
+-89.5377	35.966	7720
+-111.8678	32.9715	7232
+-117.689	37.0016	6375
+-88.2735	40.6635	6354
+-88.9305	39.2262	7777
+-114.1146	34.5626	6068
+-110.1798	33.3155	7589
+-118.6642	46.1798	8848
+-112.2973	33.4167	6563
+-85.9185	36.4331	6331
+-114.6954	32.0425	7076
+-109.1734	31.5412	8216
+-123.5088	48.0816	8210
+-123.389	49.5327	6736
+-112.8323	28.3111	5013
+-87.8886	37.4721	8806
+-89.4737	35.1074	6835
+-116.6679	31.943	8723
+-118.1937	48.5891	6623
+-118.21	47.5287	7745
+-115.9032	31.2718	7661
+-118.2289	34.6655	8338
+-114.9431	32.8567	7495
+-120.0785	43.1264	5582
+-80.9229	28.3775	8359
+-89.2259	38.8775	8169
+-115.2497	33.1927	7792
+-116.7993	46.5326	7623
+-112.0824	32.128	7489
+-85.0507	28.4153	6511
+-123.1496	31.4188	2682
+-119.6559	30.762	5978
+-115.59	32.5583	8191
+-115.2165	34.0205	7298
+-91.1928	37.958	8204
+-116.7198	30.9539	7657
+-91.0489	36.9396	7345
+-84.461	24.656	5497
+-115.798	34.9125	7724
+-109.115	30.3194	7572
+-110.358	33.23	7689
+-121.0331	45.6987	7127
+-117.8614	37.6866	5608
+-118.0442	37.4658	5805
+-116.6483	36.7425	6613
+-80.1712	28.5328	7509
+-117.8084	44.9711	7963
+-89.3713	35.9863	7811
+-92.7318	41.1369	5815
+-124.6264	46.974	7709
+-94.4214	38.1445	5023
+-94.6959	39.1009	4761
+-88.8111	42.5463	4996
+-89.5949	38.0043	8811
+-89.3038	42.7913	4916
+-85.4597	37.094	6048
+-118.6821	30.7063	6719
+-90.1306	39.7968	8264
+-91.704	38.066	7821
+-85.2727	37.1646	5853
+-89.166	42.5798	5093
+-117.6295	46.1268	8568
+-89.6894	37.1259	8615
+-91.2431	34.5233	5324
+-116.7896	32.9204	9524
+-110.6383	31.0899	8845
+-120.2748	48.8118	6081
+-118.5812	32.3787	7887
+-116.8888	34.3619	9056
+-121.2777	42.1824	4038
+-89.7706	37.1182	8531
+-82.2105	32.1785	4900
+-108.1417	31.7124	7095
+-90.1049	43.1432	4680
+-109.4205	33.0553	7597
+-83.5251	29.1943	7637
+-108.8515	31.1555	7802
+-112.5792	32.8419	6684
+-108.03	33.1668	6445
+-85.6055	39.0079	5960
+-90.4034	38.1864	8817
+-116.2268	32.9612	8912
+-108.8854	26.5275	3776
+-116.6718	34.9791	8410
+-118.3549	45.5358	8658
+-121.897	46.1365	8176
+-108.6778	31.7045	7675
+-115.6025	32.9671	8222
+-125.3657	45.1822	6262
+-116.2431	47.0835	6862
+-118.1086	47.5774	7685
+-81.6537	26.7823	8654
+-92.6875	35.9615	5526
+-107.0564	28.0967	4289
+-114.9497	31.5109	7073
+-91.0673	40.1302	7764
+-90.5629	38.7246	9229
+-118.0828	42.4602	5400
+-116.1648	47.9138	6307
+-82.8894	25.2275	6895
+-116.949	28.6804	5139
+-109.7433	32.6319	8170
+-119.3249	45.4644	7968
+-88.2505	36.8904	8769
+-123.9621	45.818	7887
+-119.4644	44.8641	7450
+-117.6116	36.7963	6609
+-87.9664	36.6366	8352
+-112.1895	29.1166	6129
+-84.0309	27.4439	7715
+-87.0804	35.0827	6352
+-114.2218	48.7138	4145
+-84.9682	37.8105	5548
+-118.28	34.1336	8432
+-92.3003	39.018	7338
+-90.4285	37.4603	8033
+-90.6175	37.8571	8429
+-81.9223	26.3554	8278
+-111.4889	33.7697	6794
+-115.8954	45.5308	6661
+-109.7368	33.0766	7731
+-80.7677	28.4041	8187
+-115.5173	31.2509	7373
+-86.9368	39.711	6735
+-118.8209	34.6301	7758
+-118.0267	33.2024	8495
+-116.709	35.4956	7932
+-124.6559	47.7603	7489
+-122.1494	47.9116	8280
+-90.2487	36.7034	7831
+-115.893	46.4722	6699
+-89.5032	39.4686	8200
+-81.6563	28.5072	8896
+-116.3271	32.3808	8890
+-107.7952	30.4159	6447
+-111.8287	31.5749	7853
+-116.7351	37.0109	6346
+-78.8055	27.665	6126
+-91.5858	38.1793	7990
+-112.5665	33.9388	5957
+-81.9334	30.6004	6678
+-113.5214	31.0835	5977
+-109.937	29.237	6895
+-116.9586	44.4958	7057
+-110.4113	28.839	6499
+-107.7929	29.4288	5865
+-80.7383	30.7876	6128
+-90.2469	36.7569	7865
+-116.7467	47.0661	7338
+-114.3496	31.2412	6346
+-85.0467	36.7704	5520
+-112.9664	30.8529	6513
+-115.8664	32.3964	8439
+-120.7464	45.243	6499
+-116.7991	34.1456	9028
+-81.3908	27.3854	8948
+-111.79	31.9836	7837
+-118.7376	35.1602	7581
+-124.6746	47.2612	7630
+-121.9996	48.7345	7427
+-86.9312	39.0285	7249
+-89.0673	37.5864	9466
+-82.6222	25.004	6718
+-117.0662	34.2537	9283
+-119.3722	46.1698	8105
+-81.7394	25.3152	7083
+-116.1883	36.5225	6679
+-121.1089	32.7794	5094
+-87.9057	40.6054	6377
+-117.56	31.5824	8225
+-82.0102	30.6295	6650
+-119.5943	33.5478	6920
+-115.9503	29.7891	6191
+-86.9718	38.6252	7531
+-92.4972	39.2789	7076
+-91.9315	37.0105	6914
+-119.3554	34.2223	7257
+-109.676	29.7891	7403
+-121.2202	46.1825	7570
+-119.861	44.6818	7014
+-90.4212	39.54	8572
+-115.3142	49.9898	4078
+-82.0425	27.2251	9271
+-113.5513	34.3432	5479
+-120.2097	31.8327	5973
+-87.0355	38.7465	7524
+-116.0763	35.6446	7439
+-114.8575	46.5752	5598
+-119.1257	32.6572	7338
+-116.5351	43.7795	6184
+-113.9692	30.5112	5535
+-117.5188	35.9527	7534
+-112.2244	32.7253	7080
+-115.506	36.4584	6356
+-119.2899	34.6439	7262
+-89.9223	35.1804	6738
+-117.9843	31.1055	7532
+-111.0199	37.5913	2922
+-92.1469	37.4971	7093
+-80.8994	26.3216	7743
+-118.5898	35.3305	7591
+-117.5473	48.2368	6867
+-79.037	27.361	6359
+-116.8585	36.3553	7074
+-121.8511	46.6426	8400
+-89.7266	40.2347	7675
+-88.1411	36.37	8200
+-117.4483	37.6774	5667
+-109.4721	31.6338	8539
+-122.1198	48.5604	7657
+-90.4543	38.8382	9302
+-89.398	38.482	8324
+-119.0175	31.9473	7268
+-117.0859	29.8883	6484
+-82.4728	24.9056	6633
+-117.6698	36.2619	7175
+-92.2642	41.4835	5848
+-116.5763	47.8666	6659
+-116.1699	46.9014	6867
+-118.4714	36.7871	6359
+-87.7363	35.2102	6826
+-114.0784	35.2221	5863
+-122.7353	46.3516	8907
+-110.1339	34.8724	5903
+-117.6602	35.5323	7953
+-82.5976	26.8122	8692
+-89.9851	36.4228	7861
+-117.2414	45.7163	8085
+-86.274	37.9966	6993
+-80.9434	26.8256	8176
+-86.7143	38.9513	7097
+-107.2775	29.8707	5678
+-87.5094	38.0471	8341
+-88.8006	35.7559	7671
+-118.7731	31.7912	7436
+-80.0365	31.9263	4622
+-118.0922	46.9612	8326
+-83.8576	26.5864	7528
+-116.0163	46.4591	6830
+-125.2716	46.7895	6993
+-121.6411	46.1639	7966
+-111.4847	29.8872	7252
+-92.0826	35.6784	5641
+-119.4744	31.3178	6494
+-115.8429	37.4387	5612
+-92.9393	40.0296	6343
+-88.6896	39.8367	7255
+-111.5307	32.7639	7652
+-90.2327	37.3857	7945
+-121.1473	47.229	7659
+-111.5861	30.8179	7883
+-79.8488	28.5631	7155
+-87.8558	34.6041	6229
+-84.1617	31.0039	5570
+-90.5559	39.4559	8641
+-79.0223	28.8414	6169
+-117.2316	46.4174	8097
+-123.216	46.0796	8572
+-88.2434	36.6615	8544
+-84.7395	39.7776	4711
+-92.6934	39.5221	6799
+-113.239	30.8669	6231
+-119.5526	43.486	6183
+-86.2885	39.1745	6559
+-92.3264	37.4997	6934
+-119.9108	46.1611	7536
+-118.2628	31.8056	7919
+-88.9032	34.6419	6417
+-117.2647	45.8903	8159
+-123.3534	45.6342	8060
+-82.5833	26.3038	8161
+-90.193	40.0832	7973
+-117.8293	35.5405	7885
+-126.1693	47.8885	5874
+-124.0577	45.7847	7789
+-118.6938	30.7901	6783
+-123.6322	45.5886	7892
+-91.0028	38.0547	8421
+-116.9892	45.0568	7500
+-83.246	28.4227	8431
+-121.6066	49.3448	6632
+-112.1181	28.6725	5774
+-111.0822	30.319	7881
+-81.3433	29.1117	8128
+-121.8558	34.3462	4526
+-86.6276	38.1908	7343
+-110.6794	30.1176	7842
+-83.7411	29.0731	7549
+-108.9087	29.6973	6913
+-91.5852	39.9461	7597
+-126.6423	46.2199	5414
+-118.1249	32.6593	8449
+-124.0625	45.1695	7255
+-115.6068	33.2076	8175
+-90.5485	38.8664	9206
+-91.2216	40.9564	6880
+-124.1861	47.7864	7931
+-109.1132	30.3236	7574
+-118.0666	35.6439	7673
+-124.5688	45.4968	7163
+-118.3761	44.5539	7620
+-107.5139	31.0123	6357
+-90.7803	36.3966	7143
+-109.9349	30.8458	8565
+-111.5332	31.2382	8121
+-116.5744	34.7835	8502
+-118.9439	47.9965	7134
+-114.7352	31.7387	6989
+-119.6937	32.6213	6703
+-119.146	45.0631	7832
+-90.1408	35.1158	6563
+-117.1271	47.4326	7392
+-119.5945	45.8708	7851
+-117.3778	46.5606	8185
+-90.5468	38.9784	9122
+-109.6658	31.4996	8745
+-89.4113	40.9158	6866
+-89.5389	36.7445	8466
+-119.424	34.10	7184
+-79.9768	26.0616	6782
+-86.1292	33.588	4364
+-122.2265	43.4643	5688
+-109.5578	32.6586	8037
+-88.8865	37.9957	9421
+-118.4712	45.1964	8283
+-91.2161	37.2622	7587
+-116.9329	31.2133	7964
+-109.3966	28.5792	6064
+-90.4058	40.1978	7864
+-88.3003	38.8346	8403
+-115.3877	34.5045	7449
+-110.1484	31.5329	9266
+-117.1591	47.9338	6982
+-90.1148	40.5285	7486
+-87.9788	36.7065	8422
+-109.741	30.061	7704
+-113.1048	46.0101	3775
+-116.1713	35.5153	7614
+-117.8814	44.3815	7391
+-122.7892	46.3284	8895
+-88.9687	37.6366	9586
+-115.0922	33.2108	7616
+-118.3514	32.5926	8188
+-90.4471	37.1279	7675
+-111.8386	33.323	6981
+-117.9875	32.0959	8359
+-105.8816	36.7924	2050
+-118.2633	45.0026	8098
+-124.8416	44.0496	5756
+-80.3367	29.1908	7299
+-118.4504	34.3189	8231
+-84.794	38.2228	5312
+-119.3638	36.01	6468
+-122.8911	45.1611	7623
+-108.0009	35.9366	4123
+-118.2164	44.3402	7395
+-115.149	37.6184	5090
+-89.2174	41.9212	5783
+-118.563	44.4168	7454
+-118.4317	34.9254	8001
+-116.5224	33.69	8593
+-89.0673	35.1648	6987
+-109.6539	31.5757	8737
+-86.6299	39.2282	6844
+-92.2146	38.6375	7447
+-119.0347	31.3726	6939
+-118.2302	42.8956	5866
+-114.7779	46.6705	5499
+-126.1382	45.7007	5786
+-119.7905	46.6757	7552
+-116.0238	34.8624	7966
+-91.4544	39.8569	7764
+-116.5301	33.3494	8985
+-118.4667	47.3173	7957
+-126.0984	46.8614	6090
+-90.8475	41.601	6311
+-120.2591	29.6975	4694
+-117.0325	32.6247	9527
+-124.231	47.1912	8123
+-81.7969	29.8755	7476
+-91.4495	41.8484	5893
+-113.0699	31.6291	6508
+-117.067	44.6326	7242
+-114.9117	31.1005	6767
+-110.743	34.007	6810
+-116.8624	43.1438	5787
+-89.4189	39.3589	8195
+-92.6375	40.9042	6064
+-90.4045	36.4736	7541
+-118.2283	47.9877	7260
+-88.6702	36.9037	8953
+-123.1928	48.9281	7427
+-79.5835	29.2732	6542
+-119.8931	32.5069	6470
+-115.5988	47.3523	6123
+-124.3491	49.5293	6372
+-92.4701	36.2963	5953
+-110.5332	32.0301	8943
+-91.7734	34.7899	5144
+-121.0143	48.5027	6934
+-87.9051	34.8739	6535
+-109.9112	32.3498	8525
+-92.9826	37.0477	6075
+-110.8941	33.4495	7362
+-82.7071	30.268	6989
+-110.7891	29.7565	7434
+-114.3553	35.3949	6077
+-120.7675	32.4254	5491
+-120.3099	47.3035	6764
+-115.8722	35.474	7428
+-118.5818	35.3308	7598
+-123.90	48.7135	7395
+-113.149	33.5444	5756
+-117.4587	46.5171	8282
+-122.6089	42.6366	4838
+-90.0849	37.3918	8304
+-117.522	38.2925	4992
+-117.3417	36.5953	6851
+-93.252	40.1168	5999
+-114.6848	47.0079	5330
+-119.9148	46.6912	7423
+-120.454	43.9653	6036
+-120.9193	43.5409	5370
+-80.4217	24.1703	5386
+-121.6259	32.9481	4610
+-89.5953	38.6284	8565
+-118.1775	46.4447	8879
+-83.5338	24.2257	5584
+-120.2437	45.2683	7005
+-90.7773	38.9042	8968
+-89.0854	37.3754	9331
+-89.661	39.4734	8323
+-89.4653	37.1964	8870
+-117.286	34.528	9107
+-93.112	39.8941	6235
+-88.3541	35.1385	6940
+-117.1706	30.2808	6915
+-120.3399	45.9017	7072
+-107.066	29.7515	5415
+-118.4808	31.9906	7829
+-119.2042	46.4488	8218
+-112.3601	31.9414	7244
+-122.0364	45.3978	7639
+-116.8042	46.5596	7620
+-76.9184	28.8231	3873
+-115.1893	36.0398	6462
+-110.2869	31.1038	8952
+-88.4537	35.4039	7252
+-120.7797	45.3393	6497
+-122.707	46.4177	8967
+-82.2538	27.8887	9698
+-121.8053	43.7942	5919
+-115.875	33.944	8006
+-88.4268	36.7088	8675
+-107.4552	29.6437	5713
+-88.1869	36.0862	7926
+-117.6848	33.3268	8770
+-93.8009	39.3636	5682
+-84.0021	26.6386	7423
+-114.904	35.1231	6744
+-87.4345	37.3638	8282
+-116.0583	35.373	7650
+-117.2257	36.5099	6945
+-92.1171	37.016	6781
+-116.4234	47.6766	6678
+-83.0999	24.6308	6180
+-108.1925	28.555	5455
+-83.2037	27.6288	8672
+-113.4821	33.111	5852
+-93.0862	37.033	5973
+-91.8923	36.6873	6670
+-91.2819	38.378	8376
+-83.5594	29.8895	6999
+-89.4046	38.4589	8673
+-116.3091	31.9461	8536
+-77.4557	30.6579	3671
+-115.1257	29.643	5661
+-122.7004	49.9417	6330
+-88.4804	40.3138	6770
+-127.1045	49.8413	4011
+-110.811	33.2214	7625
+-83.2405	26.4953	7985
+-114.8252	35.1461	6655
+-122.4102	47.5354	8782
+-117.1637	45.6372	7977
+-87.496	36.321	7738
+-87.7808	33.6662	5191
+-116.5214	45.7143	7350
+-110.4952	34.7897	5995
+-92.1274	38.2122	7457
+-88.0296	34.1014	5729
+-124.9655	46.0727	7134
+-119.1078	31.9287	7167
+-92.324	36.375	6119
+-113.7077	33.529	6032
+-109.5392	33.2758	7448
+-120.7595	29.8392	4374
+-115.3928	32.6886	7992
+-91.2548	39.4882	8193
+-105.901	31.4945	4670
+-83.7858	24.7573	6008
+-89.1456	40.0577	7484
+-110.1563	35.7865	4916
+-89.5403	31.1473	2446
+-85.5623	28.8575	5821
+-108.2018	28.9636	5814
+-126.9327	48.6772	4794
+-92.8091	39.0634	6788
+-117.8109	44.0566	7039
+-110.6341	32.5769	8349
+-118.4459	36.0784	7057
+-115.4554	31.6764	7641
+-81.3501	28.9376	8299
+-116.3249	35.4754	7749
+-116.1887	38.1673	4983
+-111.8883	32.1745	7671
+-82.7845	28.8305	8481
+-85.7556	35.4466	5616
+-81.669	28.9482	8456
+-119.6244	32.5446	6773
+-90.0785	39.4269	8624
+-89.1387	35.4319	7273
+-90.7381	40.7546	7230
+-93.3562	38.1036	6145
+-91.0144	42.0237	5831
+-108.2591	31.1196	7171
+-118.5329	31.6224	7556
+-88.4629	42.9711	4426
+-87.8573	36.5963	8239
+-93.684	36.5921	5174
+-127.5056	48.2895	4342
+-124.35	46.7766	8000
+-79.1848	27.8206	6556
+-119.3642	35.8645	6571
+-124.1581	46.2573	8019
+-91.789	36.7499	6789
+-91.4794	35.8229	6055
+-93.1956	41.8806	4889
+-90.8529	38.8414	8909
+-86.2517	39.0299	6604
+-80.6421	28.5073	8009
+-118.9579	35.6068	7091
+-115.0708	34.7665	7045
+-112.0946	31.9018	7534
+-87.1107	38.2702	7836
+-87.893	38.0666	8736
+-117.8124	33.7748	8826
+-116.5687	45.2184	7219
+-116.5148	34.0716	8715
+-91.192	36.2853	6628
+-95.2317	41.8026	3249
+-88.0539	38.3546	8703
+-115.6826	45.7037	6474
+-120.3978	46.6743	6940
+-123.406	46.3513	8731
+-111.8657	29.7754	6906
+-117.1479	33.1235	9355
+-117.1947	43.5427	6317
+-87.7858	34.8376	6455
+-89.6483	37.4951	8807
+-117.0712	33.8593	9171
+-80.80	29.1513	7718
+-116.6014	33.8561	8752
+-125.8956	45.7487	6053
+-107.9327	30.3607	6555
+-120.4911	43.0923	5309
+-118.6877	37.2312	5820
+-119.4708	44.8551	7438
+-90.2763	38.8604	9259
+-81.8232	28.1062	9372
+-80.9232	25.4429	6928
+-123.4991	48.7274	7563
+-84.2855	27.1262	7352
+-77.9366	27.9522	5140
+-118.2276	46.0358	9171
+-108.5721	28.0034	5151
+-113.3307	33.5453	5592
+-110.2627	30.3122	8094
+-119.354	46.03	8124
+-84.9921	39.4065	5149
+-118.375	32.7447	8180
+-123.7855	45.8095	8005
+-92.855	37.3101	6341
+-115.1349	36.5387	6032
+-117.453	33.5428	8862
+-83.0176	27.2012	8705
+-113.6874	34.7497	5576
+-116.3235	31.0719	7679
+-116.0265	43.939	5951
+-92.5923	34.5122	4273
+-82.8215	27.7754	9114
+-115.5277	30.0982	6322
+-82.8307	27.9615	9073
+-116.2867	49.4186	5159
+-116.8276	31.8866	8704
+-117.3449	34.487	9143
+-87.6562	34.9292	6500
+-110.536	30.9875	8792
+-83.3019	30.948	6058
+-118.0123	30.2211	6632
+-116.325	47.9452	6411
+-114.896	34.8776	6828
+-110.496	30.6564	8454
+-82.328	29.3988	8033
+-111.8213	34.7435	5689
+-117.6841	31.337	7919
+-90.4282	37.276	7835
+-116.9089	47.2749	7346
+-88.8316	41.282	6224
+-117.8529	34.3625	8851
+-91.52	40.4733	7199
+-88.9518	36.8098	8832
+-121.2715	48.4749	7168
+-111.3873	33.0737	7496
+-121.8055	46.0148	8013
+-89.0796	32.84	4386
+-116.0812	36.5452	6606
+-108.8076	31.5984	7820
+-121.9615	49.447	6693
+-117.0227	33.4446	9050
+-84.4612	42.8499	2251
+-92.5319	43.2664	4034
+-91.1485	38.6409	8591
+-115.8255	29.1074	5424
+-103.2943	30.0281	1663
+-93.6771	38.2539	5834
+-117.5148	34.5697	8990
+-93.3856	42.2367	4465
+-87.577	40.2833	6588
+-88.5073	37.0388	9053
+-83.7299	30.4955	6316
+-88.3592	38.2336	9031
+-80.8546	27.4411	8400
+-118.4911	31.6415	7606
+-115.7336	35.0305	7600
+-119.2818	30.5319	6125
+-112.0516	34.415	5885
+-81.2997	28.2249	8816
+-117.9459	33.3067	8371
+-119.6492	49.0104	5856
+-122.0442	46.9405	8666
+-120.6416	34.5256	5832
+-120.0007	48.3601	6254
+-115.544	31.2064	7356
+-107.6901	31.2255	6584
+-90.74	38.3117	8815
+-89.9108	37.2807	8460
+-117.5504	32.5189	9022
+-125.7682	48.3095	6127
+-111.0886	31.6364	8653
+-88.8494	39.1967	8094
+-92.8007	37.0764	6255
+-120.626	48.8297	6376
+-85.5012	36.0943	5747
+-79.3876	30.4695	5533
+-121.2154	45.2635	6974
+-119.7126	33.1213	6650
+-118.0279	34.912	8350
+-119.9147	45.2888	7331
+-124.8447	45.2803	6778
+-117.8984	42.9414	5891
+-87.3142	40.3256	6413
+-91.1701	39.5811	8191
+-89.8061	37.5652	8643
+-92.4969	40.2986	6600
+-84.4539	36.6898	4852
+-115.242	44.2933	5514
+-84.9488	31.5278	4577
+-117.9454	32.2717	8503
+-117.2972	42.9161	5730
+-110.2208	31.3899	9231
+-80.3054	28.2518	7753
+-107.6922	27.6475	4338
+-120.0717	33.7572	6451
+-108.3569	31.5429	7332
+-92.4786	39.8822	6857
+-117.0599	29.7643	6347
+-117.6191	33.6966	8926
+-113.6782	46.4216	4371
+-87.8064	41.243	5560
+-82.9197	27.3967	8909
+-109.272	35.305	5281
+-123.8107	45.8677	8038
+-120.8596	46.8408	7360
+-119.9746	46.1194	7469
+-91.2842	39.939	7816
+-114.3065	32.3395	6738
+-115.906	34.4816	8006
+-110.9494	31.4837	8797
+-116.3408	37.5403	5687
+-122.4148	43.0289	5247
+-92.5668	36.7182	6210
+-84.6471	30.9636	5291
+-118.766	45.5754	8506
+-91.5755	40.8572	6815
+-90.4866	36.5798	7532
+-120.3939	46.186	7023
+-118.7837	36.9744	6025
+-89.8097	42.2129	5641
+-118.0313	44.7306	7786
+-80.4052	29.43	7179
+-89.9371	39.8537	8141
+-88.3595	39.1082	8133
+-86.3885	35.5845	6268
+-116.7605	35.1255	8323
+-119.4062	32.6485	7025
+-90.5732	37.0058	7533
+-118.1836	32.4522	8336
+-117.5857	35.9039	7575
+-124.1873	45.9597	7811
+-110.3987	33.3693	7537
+-118.7446	31.3303	7168
+-111.7696	34.8802	5577
+-117.3422	47.4569	7512
+-114.8943	33.5797	7290
+-120.887	47.0443	7393
+-90.6147	34.7614	5951
+-118.5413	44.4385	7480
+-123.1633	43.8942	6218
+-122.6315	47.3297	9110
+-115.8685	35.176	7635
+-81.7957	26.8266	8762
+-90.0462	34.704	6193
+-117.9473	41.4716	4346
+-80.0574	31.6523	4908
+-116.0222	30.535	6999
+-110.4026	29.641	7368
+-116.9004	34.5992	8891
+-109.436	34.0351	6645
+-117.3325	38.3095	4982
+-109.2863	27.9062	5331
+-125.1169	46.8068	7164
+-85.9573	39.5136	6041
+-117.979	36.9171	6403
+-84.3037	27.6177	7431
+-113.7701	32.388	6156
+-90.4534	39.8653	8220
+-91.1419	36.6513	7019
+-84.0117	27.4849	7744
+-115.2958	39.1143	3695
+-118.9911	33.2667	7433
+-81.8213	28.4605	9032
+-112.6083	32.2752	6897
+-80.3387	24.3228	5499
+-113.602	34.8091	5473
+-121.582	48.6677	7242
+-90.6932	41.9075	6005
+-87.5594	36.5397	7962
+-112.87	32.7822	6434
+-125.1426	47.4767	7079
+-123.7444	45.8915	8104
+-120.0111	36.4874	5594
+-89.3204	40.7342	6998
+-88.0065	39.9468	7116
+-120.0069	46.8275	7279
+-91.5854	42.2377	5448
+-119.9608	36.2828	5778
+-83.6196	28.8824	7790
+-80.3965	26.0041	7093
+-116.7744	46.6205	7570
+-83.2906	29.348	7675
+-119.4974	46.4677	7917
+-87.938	37.7543	8880
+-89.3079	38.8619	8259
+-88.9488	38.0473	9341
+-122.8761	49.6288	6681
+-82.7951	28.833	8473
+-110.7892	31.015	8684
+-89.4308	37.4135	9017
+-118.0399	45.3819	8458
+-117.9179	34.1189	8827
+-87.1821	38.9401	7533
+-88.9116	38.4735	8894
+-87.0324	35.1381	6374
+-80.4682	29.0876	7488
+-110.3318	33.1849	7738
+-112.0986	30.8242	7392
+-89.8137	41.4318	6469
+-78.0422	29.5356	4850
+-117.4075	36.895	6521
+-123.9544	44.6588	6819
+-91.5857	37.5749	7612
+-91.6012	36.9559	7087
+-87.4839	40.2529	6574
+-119.8363	45.4379	7473
+-109.1695	35.6044	4938
+-108.4222	27.9096	4987
+-117.4121	34.1794	9371
+-82.3238	30.1468	7191
+-87.2168	38.2518	7955
+-116.6897	33.9366	8873
+-116.2439	34.2572	8414
+-90.0501	38.3813	8889
+-120.3187	45.8058	7082
+-121.7132	45.1125	7188
+-113.6488	34.0152	5818
+-121.4978	45.6229	7472
+-117.6047	31.0874	7697
+-121.0704	44.4973	6230
+-81.9629	30.2018	7131
+-90.3333	37.1769	7728
+-116.882	33.1296	9391
+-122.1415	46.6302	8695
+-86.7486	41.3501	5100
+-118.0569	34.7695	8431
+-92.9138	41.4395	5444
+-116.2418	32.629	8918
+-89.2289	35.5009	7330
+-115.6762	44.7916	6171
+-117.2759	31.9732	8751
+-85.2272	27.5926	6387
+-120.5917	44.541	6310
+-81.6804	30.4785	6782
+-122.6762	44.9934	7424
+-116.601	33.6276	8626
+-90.7767	36.6877	7161
+-116.3548	33.7025	8438
+-124.2107	46.894	8164
+-110.6902	33.8502	6987
+-117.5852	33.3201	8863
+-89.9452	39.9611	8036
+-112.3165	35.428	4786
+-114.1225	31.6086	6306
+-109.8619	30.7514	8438
+-118.5004	32.8062	8042
+-124.4135	44.5601	6483
+-116.5745	46.1997	7448
+-81.9536	29.8878	7484
+-119.3809	45.6104	7988
+-111.9016	32.4052	7555
+-88.7584	38.9929	8326
+-92.5843	41.9353	5251
+-117.9981	30.5666	6992
+-118.1935	47.9687	7279
+-115.5842	46.2056	6400
+-111.3148	28.5217	5990
+-111.797	29.9877	7128
+-81.4634	30.8157	6360
+-113.9253	34.4959	5872
+-119.553	30.6316	5976
+-84.3733	28.9763	7012
+-83.1736	27.9269	8702
+-123.0843	47.0021	9400
+-86.1541	36.66	6673
+-93.5443	35.5952	4611
+-110.5357	35.1607	5591
+-117.8158	34.3718	8885
+-117.0712	46.6382	7856
+-91.3376	37.2933	7547
+-119.4128	45.4686	7890
+-114.5569	35.5811	6187
+-112.3664	28.6394	5597
+-85.5707	36.5436	6013
+-80.7449	26.3934	7683
+-109.9286	30.3688	8087
+-82.1464	28.3742	9205
+-89.0726	36.3512	8300
+-78.1995	27.3583	5418
+-89.3635	37.6306	9144
+-88.1544	38.4919	8661
+-116.7804	35.4323	8025
+-111.1767	33.8259	6878
+-114.629	31.8671	6939
+-118.2679	35.313	7850
+-117.0745	35.2414	8311
+-116.768	33.6779	8801
+-91.1592	40.2946	7561
+-119.1043	47.3719	7657
+-117.0981	35.4479	8092
+-81.8388	25.5014	7308
+-115.9793	31.952	8289
+-121.7828	46.6616	8334
+-120.2878	45.5902	7070
+-125.5114	45.403	6262
+-116.0543	34.4264	8177
+-90.6033	40.5494	7470
+-116.3924	35.8089	7476
+-90.0362	38.4754	8947
+-115.4226	28.3869	4520
+-121.8358	46.1211	8113
+-116.8993	44.7467	7210
+-90.6072	34.3574	5565
+-117.3684	31.0158	7695
+-115.8706	46.8242	6593
+-119.6611	32.0455	6627
+-112.0525	42.5549	1668
+-91.8831	40.8496	6643
+-114.6135	31.1293	6523
+-93.1783	35.7319	4991
+-112.2038	30.2416	6979
+-115.6968	29.812	6114
+-116.2059	33.508	8606
+-86.9745	39.4662	6964
+-114.6689	32.7856	7190
+-118.8167	45.9951	8685
+-120.9582	47.9504	7215
+-117.0431	34.5022	9067
+-110.9771	31.8463	8720
+-92.1545	36.0636	5956
+-122.4362	44.9126	7293
+-109.3615	31.0083	8250
+-118.2986	32.3449	8177
+-115.9888	31.6943	8093
+-119.2713	46.8045	7975
+-91.695	38.048	7821
+-114.5167	34.4947	6512
+-89.753	38.8225	8740
+-86.6181	38.5179	7221
+-92.0648	37.6656	7268
+-84.0746	31.2941	5337
+-121.1308	48.9811	6661
+-93.2039	39.4458	6293
+-88.1928	37.8273	9146
+-116.3846	33.4603	8785
+-121.6724	46.7103	8228
+-116.8742	32.2133	9072
+-90.8054	37.4345	7935
+-88.5202	34.8538	6646
+-117.1362	48.1652	6759
+-83.8061	29.109	7466
+-122.0031	48.3976	7751
+-87.6441	36.9348	8311
+-87.35	35.8253	7208
+-89.2908	36.4024	8279
+-117.6284	32.385	8872
+-84.2635	28.6119	7300
+-81.9955	26.8653	8861
+-80.7377	30.2136	6705
+-93.3982	36.0239	5043
+-88.8355	35.895	7826
+-82.7834	28.5204	8766
+-89.8109	38.3183	8652
+-89.1416	35.3263	7155
+-90.5707	38.5762	9149
+-93.0574	37.9681	6421
+-117.7584	48.6643	6488
+-118.4833	45.4454	8536
+-116.8013	34.2857	9004
+-112.1856	32.8724	7029
+-90.1694	40.8778	7119
+-87.8134	40.1321	6847
+-120.2307	45.4896	7099
+-119.2532	34.5778	7317
+-111.5083	28.4588	5857
+-124.1845	46.0244	7856
+-113.7554	45.9244	4461
+-117.8096	44.6731	7668
+-79.4298	28.3997	6751
+-120.6055	46.106	6801
+-79.7469	28.6254	7023
+-119.5889	30.8498	6097
+-116.8922	30.8361	7542
+-87.5299	39.6437	7197
+-92.3644	37.8985	7100
+-117.4067	46.7342	8115
+-121.9948	43.6535	5833
+-108.9678	33.4159	6997
+-122.4771	47.2237	9062
+-94.2938	37.8324	5095
+-92.3029	37.7035	7068
+-89.8507	35.5506	7147
+-117.03	47.5246	7251
+-85.1351	25.2351	5450
+-118.5053	35.7225	7340
+-109.7399	30.6541	8279
+-121.8262	44.6201	6771
+-91.938	36.9291	6844
+-120.4628	46.3126	6941
+-91.0762	37.0367	7432
+-88.0261	33.9254	5535
+-88.9049	38.5983	8757
+-88.0605	35.4541	7209
+-109.6275	31.1277	8563
+-112.9357	32.134	6592
+-83.4808	30.6891	6252
+-110.6979	30.6777	8416
+-91.989	40.8077	6611
+-118.7655	43.5842	6548
+-81.3021	25.5132	7175
+-82.1541	27.9656	9666
+-122.7299	49.2444	7097
+-118.2038	31.9214	8050
+-119.2096	44.9816	7723
+-79.619	26.1002	6480
+-117.5779	31.2376	7864
+-92.8174	37.6737	6556
+-120.6719	37.2758	4483
+-118.9226	45.7504	8489
+-92.3498	41.2528	5994
+-112.6033	30.3886	6694
+-91.423	37.5922	7747
+-118.4035	47.0199	8278
+-93.5085	41.2753	5094
+-124.8298	47.5787	7382
+-115.0438	33.387	7516
+-116.8341	34.7249	8738
+-85.9846	38.9827	6360
+-81.9172	26.5809	8529
+-117.4008	33.111	9168
+-88.5888	44.0184	3426
+-116.5695	33.9658	8756
+-120.0604	42.9253	5407
+-110.9915	31.321	8706
+-88.8257	37.6686	9749
+-90.3776	38.8817	9282
+-119.5875	32.0707	6713
+-87.2161	35.4909	6817
+-93.6749	39.5279	5779
+-108.3622	32.0127	7288
+-91.7535	39.1306	7892
+-116.5952	33.795	8718
+-119.1814	32.7498	7281
+-84.5437	39.9813	4409
+-119.0832	46.6135	8254
+-89.6448	36.7076	8356
+-108.2157	26.9491	3953
+-90.2981	37.2095	7761
+-88.2923	35.2844	7089
+-86.4482	40.8976	5351
+-76.3931	26.9106	3326
+-109.7591	30.8528	8467
+-118.6336	36.94	6132
+-116.8341	33.6205	8806
+-89.8002	36.8492	8336
+-116.2315	46.6186	7019
+-115.7264	47.0741	6363
+-111.5243	29.3822	6762
+-111.4796	34.0647	6512
+-80.2012	28.4785	7563
+-107.8203	31.5055	6750
+-87.9268	41.2658	5634
+-88.6646	35.8408	7763
+-88.3022	40.8232	6258
+-118.0715	33.2108	8444
+-83.8564	28.8753	7574
+-119.6514	44.7842	7250
+-91.154	38.5092	8554
+-91.5164	38.8034	8202
+-107.3711	30.4219	6026
+-110.1349	31.199	9005
+-114.7022	36.6725	5601
+-118.7437	44.3023	7295
+-88.6819	38.5732	8792
+-91.3303	38.8706	8395
+-114.3453	33.4917	6734
+-115.4342	46.5592	6204
+-121.5775	47.9448	7799
+-90.2368	39.0873	9028
+-122.5619	48.1723	8230
+-86.2855	37.6191	7029
+-87.9774	35.1834	6891
+-107.8027	31.2483	6708
+-117.3948	30.1073	6693
+-82.0325	28.3389	9235
+-111.2707	31.0648	8313
+-92.167	37.7252	7207
+-91.5452	37.0638	7217
+-124.839	49.8594	5780
+-87.4206	37.982	8263
+-126.6781	45.2032	5026
+-89.1284	38.2756	9019
+-92.0825	39.3986	7464
+-119.1299	45.9471	8349
+-106.3058	33.2005	4771
+-80.8998	31.303	5655
+-119.213	48.4186	6615
+-82.0466	28.4843	9075
+-109.6891	31.5562	8775
+-93.2377	39.892	6111
+-117.2242	44.5127	7240
+-84.8401	39.1854	5089
+-119.6577	37.493	5040
+-86.7334	39.682	6601
+-110.1472	34.8379	5942
+-120.6502	47.2296	7118
+-118.6265	47.1907	8050
+-85.5059	27.7929	6077
+-87.9668	38.1334	8775
+-80.4957	29.2649	7381
+-107.3522	29.7528	5683
+-81.1986	26.7507	8331
+-81.1605	26.612	8184
+-122.6462	44.9787	7404
+-90.577	39.9816	8081
+-121.601	35.0167	4713
+-121.105	44.1581	5944
+-91.1324	41.741	6101
+-92.6072	40.3417	6477
+-92.6437	44.1563	3108
+-109.2734	32.7171	7792
+-118.8704	46.8196	8277
+-82.6081	28.031	9278
+-116.0845	31.4179	7908
+-119.5271	32.3727	6854
+-93.1509	39.7235	6262
+-89.6806	38.4129	8584
+-119.3582	49.2426	5743
+-114.4854	32.5468	6969
+-114.2796	36.1058	5633
+-119.3882	33.5402	7135
+-82.264	28.2184	9360
+-89.0192	37.9632	9377
+-108.5981	31.1004	7522
+-118.8911	47.9308	7218
+-113.9847	35.0107	5832
+-117.86	35.4381	7974
+-118.0594	43.5355	6534
+-78.6055	25.3285	5041
+-113.0289	46.2046	3695
+-114.6075	34.2208	6636
+-91.7745	36.6621	6720
+-117.2018	34.5497	9078
+-118.2911	31.5566	7714
+-121.9569	46.3319	8357
+-84.3059	25.2851	6161
+-115.482	32.2379	7976
+-83.7883	27.2154	7919
+-89.5573	36.725	8435
+-121.8867	45.645	7777
+-116.4861	36.7693	6539
+-88.1614	36.7004	8536
+-86.3155	36.7277	6869
+-85.2168	38.7764	5640
+-90.087	39.593	8461
+-115.3299	34.9209	7257
+-116.6897	31.0704	7781
+-118.0622	35.3686	7935
+-108.1812	31.194	7104
+-118.4517	47.3207	7956
+-119.9625	35.0952	6416
+-91.5682	41.563	6134
+-110.6537	30.8986	8655
+-81.9678	30.4621	6837
+-114.8924	46.3921	5656
+-93.3751	38.0304	6108
+-115.8934	35.0598	7731
+-116.9363	31.682	8487
+-89.0376	40.3381	7181
+-119.2243	47.4626	7507
+-110.3548	32.6165	8354
+-89.076	37.2738	9254
+-89.5821	35.3713	7081
+-120.1394	47.7997	6595
+-118.4395	36.2837	6866
+-88.6246	33.3697	4990
+-115.8633	27.8205	4046
+-121.6407	46.1128	7935
+-120.3952	32.0075	5824
+-115.0582	34.8142	7017
+-88.4558	37.7572	9451
+-114.3462	34.7932	6272
+-122.8475	46.5944	9193
+-115.099	33.3145	7597
+-89.6827	36.514	8163
+-80.3108	25.6957	6771
+-85.3354	39.262	5567
+-111.3957	31.2657	8272
+-110.5439	31.2263	9024
+-117.702	48.7322	6406
+-88.5482	39.0026	8295
+-116.4036	36.645	6641
+-87.6745	40.5861	6315
+-119.9218	38.9362	3551
+-121.7429	47.8565	8002
+-88.8283	38.6893	8664
+-114.7448	33.1389	7249
+-89.506	41.0252	6796
+-120.2391	45.7601	7158
+-116.094	33.807	8210
+-87.4355	39.0005	7699
+-123.9944	45.1086	7237
+-118.2882	44.9363	8028
+-89.7626	37.9175	8662
+-81.0268	27.9502	8623
+-124.9548	47.4751	7281
+-108.1078	30.6617	6864
+-84.2857	36.6349	4654
+-117.7422	32.5937	8853
+-117.3124	46.8704	7948
+-80.1717	26.629	7327
+-83.9158	33.2046	3418
+-81.8511	30.34	6964
+-87.8898	40.902	5874
+-122.3222	48.9136	7375
+-87.4414	38.4745	8073
+-92.7975	38.0581	6717
+-120.6634	35.9652	5328
+-117.3777	35.5702	7966
+-81.6021	29.0539	8317
+-89.5275	36.2612	8022
+-118.8238	36.0181	6871
+-116.5158	32.4682	9117
+-91.817	34.1337	4576
+-120.9754	48.0925	7157
+-115.8923	45.7738	6705
+-80.9307	28.9029	8021
+-87.9985	37.2255	8821
+-83.0523	31.7724	5243
+-84.4666	37.3172	4972
+-117.3447	31.6954	8433
+-117.1785	30.4064	7054
+-117.7885	32.6192	8810
+-108.123	34.8291	5219
+-123.3195	44.5151	6874
+-118.7339	32.2564	7685
+-114.7555	35.7655	6271
+-116.6711	45.754	7514
+-115.3825	31.809	7659
+-120.8045	47.7679	7141
+-122.4968	48.996	7333
+-114.5709	33.0973	7062
+-88.7374	43.2304	4280
+-114.1351	33.3138	6546
+-113.2523	33.3527	5775
+-119.5359	45.9562	7925
+-92.4508	35.3838	5166
+-119.4115	42.6209	5387
+-123.9661	45.5323	7643
+-90.8417	39.8135	8176
+-116.3628	49.5162	5110
+-108.3765	30.3367	6960
+-116.7355	46.1381	7621
+-83.9802	28.1524	7758
+-81.4174	30.3025	6911
+-118.1286	46.4959	8810
+-119.8927	35.754	6172
+-123.6059	48.9638	7279
+-118.5875	36.2185	6845
+-120.2921	45.0882	6878
+-87.8803	37.8969	8787
+-112.865	32.9277	6368
+-80.2993	26.2225	7180
+-84.8263	25.3421	5793
+-88.6147	42.3505	5101
+-112.5213	34.4643	5554
+-91.009	35.0251	5926
+-113.0514	30.4484	6282
+-123.3913	45.7191	8133
+-123.2843	49.1209	7202
+-82.7967	28.1322	9036
+-125.0844	49.1489	6214
+-82.0269	26.7625	8750
+-125.9172	48.0598	6081
+-89.299	38.1606	8999
+-118.5026	30.0243	6198
+-116.7031	34.8835	8514
+-118.0506	35.0981	8182
+-88.4712	39.6004	7618
+-125.7651	48.5475	6011
+-89.7987	35.9248	7543
+-123.9726	49.6326	6449
+-119.0749	44.3583	7234
+-92.9347	41.0669	5710
+-118.21	32.636	8351
+-88.9506	38.0991	9287
+-91.0107	40.7524	7163
+-117.4286	35.6887	7832
+-123.695	48.5633	7647
+-80.8053	29.0817	7778
+-89.7477	38.5014	8689
+-117.7792	47.2856	7896
+-121.8253	43.3823	5495
+-80.9754	26.506	7956
+-108.9049	32.5713	7592
+-120.6271	48.1237	6804
+-89.5494	38.4897	8483
+-119.275	35.467	6908
+-92.1355	40.009	7099
+-87.7084	35.1894	6792
+-113.3893	28.5391	4800
+-117.4674	35.7931	7714
+-123.237	45.8055	8278
+-92.0617	37.298	7032
+-92.2629	38.0713	7270
+-119.3347	49.971	5012
+-108.6124	33.6479	6561
+-78.4881	27.7888	5768
+-116.5394	32.1649	8884
+-117.5705	32.612	9042
+-91.0888	37.1143	7504
+-115.6224	46.3912	6426
+-81.8087	29.3563	8057
+-83.3758	28.2849	8369
+-118.9874	36.8059	6071
+-93.8198	38.3646	5697
+-126.3219	49.6823	4807
+-110.5786	32.7983	8131
+-121.2455	43.819	5699
+-117.6598	29.647	6134
+-83.2736	26.7677	8177
+-119.5063	31.7227	6668
+-117.8824	33.6978	8715
+-115.7245	35.4094	7354
+-81.8315	31.1647	6033
+-126.0744	48.0864	5908
+-89.2534	38.8347	8203
+-82.8109	28.2974	8919
+-108.6722	29.3016	6416
+-125.0751	47.606	7115
+-83.4857	26.1236	7485
+-90.2418	41.7573	6179
+-91.8334	40.2842	7149
+-89.2645	40.6535	7045
+-116.1913	31.847	8368
+-114.9817	48.5178	4927
+-116.0869	33.3437	8609
+-108.2188	32.3863	7023
+-88.5706	41.7754	5623
+-82.7021	26.5482	8371
+-114.6365	29.5593	5286
+-118.1314	27.6536	3849
+-83.1231	26.7813	8312
+-119.3141	47.2611	7616
+-81.6357	27.1782	9021
+-117.4988	45.3506	8112
+-119.7955	35.0341	6609
+-115.2625	33.0457	7835
+-121.5619	45.385	7330
+-119.9459	34.7914	6528
+-113.6314	46.7198	4290
+-118.7681	34.5422	7840
+-109.4329	29.811	7320
+-121.8575	29.8264	3359
+-116.7132	33.8027	8835
+-90.1253	40.7436	7258
+-85.8769	27.1719	5604
+-89.8808	44.2167	3507
+-117.6217	44.9589	7864
+-89.7077	36.5075	8140
+-116.5897	46.8409	7303
+-120.0283	34.4884	6501
+-91.968	38.6278	7711
+-81.6066	26.8866	8732
+-114.8185	34.5366	6831
+-118.3101	44.8765	7964
+-116.2833	35.5729	7636
+-116.0875	26.9032	3085
+-121.7124	43.0029	5060
+-109.0093	35.9782	4500
+-85.8574	27.3151	5648
+-81.1309	26.0069	7601
+-123.1206	44.5605	6952
+-87.8147	37.3638	8694
+-87.2931	34.5707	5967
+-108.7647	33.1326	7085
+-88.035	39.4934	7606
+-112.0146	35.1087	5242
+-117.7355	30.0799	6582
+-114.5822	34.816	6516
+-88.6553	34.1998	5922
+-111.278	31.2611	8392
+-110.4093	32.3819	8604
+-122.7673	49.952	6323
+-118.9189	28.8135	4785
+-119.0673	29.0805	4972
+-92.1369	36.8899	6669
+-109.9642	27.7336	5283
+-88.3126	35.2161	7018
+-93.757	39.8883	5587
+-81.3126	27.824	8962
+-83.8739	29.3011	7267
+-118.0759	46.8314	8455
+-90.2414	41.7488	6188
+-87.7925	38.9862	7973
+-116.0317	32.1526	8474
+-89.4345	38.1211	8908
+-110.9703	31.512	8779
+-89.5909	39.4744	8267
+-88.0983	38.3675	8728
+-116.334	35.9327	7327
+-78.8774	31.3232	4437
+-110.4551	31.4358	9266
+-89.7443	40.9251	6981
+-122.2604	45.8589	8201
+-79.2469	30.1123	5685
+-85.4534	39.2523	5692
+-82.8526	28.3779	8825
+-82.3112	28.7983	8708
+-90.1524	37.9235	8499
+-116.3014	34.5858	8375
+-90.7255	36.7591	7247
+-117.0904	33.8778	9199
+-113.9265	33.8466	6173
+-110.3173	31.7552	9287
+-80.3356	26.3286	7288
+-81.2968	28.2841	8780
+-109.1907	29.9005	7270
+-80.4141	26.9302	7729
+-89.1775	37.5871	9345
+-119.6247	31.5582	6473
+-109.6043	31.0519	8496
+-118.4515	47.2109	8071
+-91.6746	38.214	7917
+-92.3932	38.2032	7179
+-89.6668	42.6565	5144
+-90.3378	39.5677	8542
+-122.3155	45.6498	8023
+-118.1565	32.1873	8251
+-89.9928	36.5921	7985
+-115.5951	32.6957	8217
+-113.0856	32.8839	6175
+-116.0094	44.6036	6378
+-118.7819	44.8658	7851
+-117.3126	34.0144	9399
+-125.6595	47.6166	6492
+-119.0001	49.8819	5184
+-90.7064	35.6728	6693
+-114.2578	31.3773	6331
+-114.4537	33.5064	6846
+-123.4986	48.7177	7573
+-123.1429	49.4401	6876
+-120.6171	36.5612	5024
+-91.4415	39.5639	7985
+-109.0124	31.4249	8032
+-124.6389	48.6822	6922
+-117.6613	34.4269	9001
+-117.8759	46.3517	8753
+-124.683	47.4275	7583
+-87.7621	42.4706	4519
+-85.3067	40.8232	4557
+-116.2515	34.4294	8384
+-81.7579	25.8868	7724
+-89.7203	36.7857	8358
+-89.6048	35.9855	7707
+-116.7111	48.9645	5800
+-85.3131	41.2809	4203
+-116.358	35.0242	8150
+-87.1134	38.2363	7852
+-88.6186	36.7685	8794
+-89.4694	36.6949	8469
+-115.62	34.4788	7703
+-82.2353	28.0472	9555
+-117.004	32.0178	8861
+-109.6198	32.3266	8357
+-116.7316	33.9075	8904
+-117.7355	32.9113	8889
+-89.4615	37.5992	9031
+-88.9563	38.6521	8688
+-117.7145	33.1922	8819
+-115.0816	47.7199	5460
+-119.4624	31.5641	6638
+-90.9263	40.0132	7942
+-91.5408	43.7414	3902
+-109.9445	33.4651	7392
+-109.5554	33.7218	7008
+-118.4098	36.1561	7003
+-118.0737	35.0537	8202
+-118.4526	48.8259	6368
+-90.4859	38.224	8847
+-86.6103	24.4205	3569
+-90.2381	35.5921	6961
+-88.8533	40.0087	7289
+-79.2141	28.2205	6550
+-114.3615	35.7993	5885
+-81.8817	29.8799	7485
+-89.1975	34.7656	6524
+-87.1403	36.8623	7779
+-108.7392	31.5159	7745
+-120.8825	36.0318	5083
+-121.8498	45.222	7369
+-120.5986	47.6548	6967
+-120.6262	46.9177	7108
+-117.1887	48.5211	6446
+-88.6321	38.8796	8444
+-116.585	31.1421	7837
+-122.012	48.9956	7173
+-116.6637	45.8461	7524
+-116.8977	25.8774	2012
+-118.9968	31.6566	7145
+-87.6558	38.6554	8145
+-86.3624	40.5586	5593
+-123.3171	43.316	5569
+-88.3723	41.6429	5627
+-82.7965	28.9379	8370
+-89.3329	35.1329	6901
+-87.634	38.3938	8304
+-117.3009	37.3067	6076
+-83.5491	29.6864	7194
+-120.8339	45.5017	6824
+-111.3821	31.6418	8335
+-83.1458	25.0041	6564
+-82.2312	31.3482	5839
+-92.948	39.2595	6606
+-117.8372	35.5802	7841
+-119.4252	47.6033	7261
+-115.2068	33.8404	7482
+-118.662	30.9216	6917
+-119.4621	46.9036	7750
+-115.9603	35.3237	7610
+-118.1504	37.5113	5729
+-89.2661	36.8612	8752
+-89.2281	37.6627	9297
+-115.0169	36.7071	5809
+-119.2804	45.5108	8034
+-111.1038	32.9979	7728
+-123.6545	46.0237	8279
+-116.5072	48.6304	5986
+-119.3743	43.664	6434
+-85.4988	39.504	5607
+-117.1004	43.5464	6280
+-91.5359	37.5331	7618
+-121.813	46.197	8143
+-113.594	31.5067	5940
+-119.7912	45.9782	7658
+-118.8399	30.9126	6774
+-109.4537	32.515	8085
+-117.1965	46.7788	7903
+-109.3381	31.3183	8358
+-119.9543	33.379	6493
+-119.2279	36.8689	5866
+-82.5792	27.4709	9287
+-81.2192	25.9392	7581
+-116.2983	27.6095	3897
+-87.4002	34.5626	6009
+-115.5992	28.8396	5062
+-91.8717	37.6068	7402
+-120.5682	47.9409	6830
+-118.4244	43.9996	7031
+-123.4763	44.3193	6630
+-118.3584	29.4274	5666
+-115.5849	32.5629	8186
+-87.717	37.1682	8511
+-93.6271	38.1355	5866
+-82.6569	24.9697	6673
+-117.0594	34.2045	9299
+-122.1107	44.5398	6803
+-117.7719	43.5936	6551
+-87.2301	42.0956	4469
+-88.5252	39.3112	7949
+-78.8058	28.424	6055
+-117.65	45.4402	8292
+-118.8073	32.7848	7699
+-123.1093	46.7536	9278
+-118.2469	42.7719	5736
+-116.0876	29.6752	6114
+-118.8572	36.1511	6735
+-115.603	33.009	8217
+-89.6419	36.9501	8546
+-91.8747	39.9804	7340
+-86.5862	35.4854	6354
+-109.9036	30.4895	8200
+-90.8831	33.1608	4228
+-106.6769	32.4599	5400
+-117.9989	45.4008	8461
+-124.4754	46.1368	7650
+-114.8345	30.4725	6218
+-90.7103	38.8131	9065
+-119.8572	44.7616	7072
+-116.6392	46.7145	7402
+-123.9796	45.3683	7487
+-82.6424	36.6556	2848
+-93.4477	40.5653	5585
+-115.9233	32.6335	8571
+-118.7582	32.626	7743
+-81.252	27.2188	8718
+-116.2964	36.7454	6498
+-81.3836	31.0311	6103
+-90.1942	36.6588	7854
+-108.3995	31.7376	7372
+-120.1206	48.272	6248
+-115.9684	31.8266	8185
+-123.9768	48.7453	7322
+-88.8835	41.0717	6445
+-91.4424	38.8113	8281
+-90.8839	38.9706	8835
+-122.3562	47.0914	8993
+-117.4752	43.6682	6547
+-90.4783	39.299	8824
+-122.4594	46.5885	8968
+-94.2602	37.226	4934
+-109.733	30.4501	8084
+-85.8925	36.742	6426
+-123.8122	49.7776	6359
+-110.2066	32.9947	7938
+-118.3878	33.5973	8182
+-109.7422	28.9091	6506
+-117.4726	33.30	8972
+-79.8222	28.0491	7258
+-86.9812	39.1599	7202
+-117.118	35.2031	8360
+-88.3987	37.1732	9125
+-84.6699	39.2395	4889
+-116.3033	44.9516	6836
+-118.7332	36.2254	6751
+-123.3356	49.3905	6900
+-90.4521	36.9173	7448
+-122.838	49.1202	7239
+-108.6244	31.5542	7622
+-87.2061	38.6626	7737
+-119.3764	35.444	6828
+-123.5442	45.1731	7513
+-91.3414	36.511	6799
+-84.0272	26.7519	7462
+-121.7224	46.5373	8229
+-90.7684	42.6168	5236
+-110.6597	31.7466	9078
+-82.321	24.2015	5853
+-90.4621	37.7293	8321
+-117.6406	45.5909	8392
+-120.8339	33.789	5629
+-90.7536	39.57	8455
+-117.4037	32.0791	8797
+-85.8143	40.6794	5080
+-114.5678	35.3198	6322
+-116.3721	31.5562	8198
+-88.5101	35.2769	7118
+-84.2051	26.5476	7173
+-79.526	25.1056	5678
+-115.3425	37.3077	5489
+-118.313	46.2685	9079
+-88.3324	39.4786	7723
+-118.4251	45.6657	8777
+-89.5255	40.0779	7720
+-115.8683	36.7381	6313
+-87.2222	35.3885	6726
+-82.2844	27.4533	9499
+-114.3534	32.2954	6781
+-88.1892	40.1911	6907
+-83.8378	28.7289	7678
+-109.7641	32.9493	7870
+-88.9491	35.548	7429
+-112.1786	27.7795	4893
+-116.149	36.9477	6235
+-113.1348	32.8219	6155
+-92.054	37.5531	7209
+-92.8686	36.966	6127
+-124.287	46.0746	7794
+-87.8766	35.7904	7485
+-121.7337	48.4857	7502
+-108.5111	27.6564	4783
+-117.5155	45.3002	8086
+-93.1919	37.8646	6250
+-89.5244	35.2193	6940
+-88.5249	39.7959	7126
+-86.7697	40.1004	6281
+-114.5576	35.046	6420
+-110.2086	32.6165	8346
+-111.9877	31.0994	7606
+-110.9982	28.7907	6363
+-84.2382	25.2538	6184
+-112.7623	31.445	6838
+-91.5822	35.7031	5895
+-93.7722	37.7641	5620
+-119.8795	42.9735	5543
+-88.989	38.7398	8584
+-82.3063	29.1558	8309
+-123.6699	48.70	7522
+-110.9173	33.1726	7639
+-90.3042	40.0113	8062
+-82.7836	29.0033	8312
+-84.3857	26.7143	7080
+-117.9326	34.5157	8700
+-110.0655	30.7431	8518
+-78.0909	28.1508	5298
+-90.8261	35.5909	6533
+-109.1819	31.589	8226
+-113.272	32.2531	6208
+-112.0837	29.6879	6678
+-84.2858	26.4324	7027
+-120.575	42.5787	4811
+-121.6042	48.479	7418
+-86.5487	37.0215	7222
+-93.3023	37.5018	6003
+-84.1716	27.9464	7577
+-90.1528	36.2125	7560
+-120.3701	31.3261	5608
+-84.3091	24.3817	5340
+-116.2631	32.5459	8912
+-126.9109	43.7503	3958
+-119.3191	32.767	7128
+-90.8954	38.2936	8685
+-119.8118	42.9842	5585
+-91.5699	38.9356	8130
+-91.3397	40.5182	7258
+-89.5575	35.5692	7300
+-118.0379	46.1407	8997
+-123.0453	46.3529	8913
+-83.8243	28.6303	7744
+-93.0057	35.5434	4960
+-83.8276	27.7013	7974
+-115.7425	46.6743	6502
+-126.689	49.1866	4782
+-124.4153	47.1788	7925
+-115.4676	31.7016	7669
+-123.3041	46.7691	9112
+-116.98	46.0579	7880
+-86.7147	39.9127	6400
+-83.8141	27.9822	7975
+-115.1264	43.8275	5141
+-81.5578	25.8396	7617
+-83.0001	29.3309	7869
+-119.7751	33.7991	6777
+-92.2153	39.2115	7388
+-92.6518	38.4485	6958
+-124.0312	46.6138	8304
+-118.4488	32.9475	8093
+-91.8522	38.5621	7828
+-86.2372	34.803	5527
+-114.3654	34.5845	6335
+-91.2573	39.5248	8165
+-82.1315	27.492	9582
+-121.6394	45.5263	7503
+-115.7342	36.6276	6345
+-115.0349	34.6837	7031
+-117.2564	35.8305	7686
+-88.2364	33.043	4592
+-90.4413	39.244	8888
+-119.4584	45.7597	7965
+-86.1227	36.115	6374
+-81.5848	25.7714	7551
+-88.0657	39.6421	7462
+-124.67	48.5569	6992
+-119.7931	47.6332	6982
+-112.5428	31.7245	7075
+-116.5543	44.6259	6854
+-114.0697	31.8137	6334
+-116.8582	30.1142	6736
+-113.0095	33.6221	5828
+-114.8271	45.7032	5576
+-125.0262	47.8354	7083
+-80.039	27.1522	7423
+-115.9794	34.0928	8133
+-119.4994	45.9968	7968
+-117.7862	43.056	5994
+-125.4699	48.5076	6314
+-109.6705	31.2014	8645
+-83.0915	30.3705	6753
+-86.974	38.5177	7587
+-112.7901	28.2281	4968
+-90.0968	39.2507	8803
+-82.1251	32.4936	4545
+-93.2269	43.2636	3674
+-112.9253	33.7315	5826
+-124.9695	44.245	5850
+-119.725	44.3225	6837
+-92.325	39.752	7069
+-117.7625	48.0827	7089
+-82.0618	30.7855	6476
+-117.9162	32.5824	8662
+-88.5059	35.7631	7659
+-118.5717	35.6204	7380
+-91.6045	38.743	8108
+-124.6216	48.3916	7151
+-122.2992	47.0513	8940
+-118.1918	31.8271	7996
+-119.1772	35.9117	6691
+-120.4804	41.0881	3465
+-92.3889	39.3909	7155
+-87.7755	38.8832	8053
+-83.376	25.205	6671
+-115.7246	34.4719	7816
+-90.166	38.2235	8810
+-110.6832	32.1354	8765
+-124.5074	47.9328	7546
+-110.0619	34.761	6018
+-87.6593	37.0914	8415
+-113.9984	33.1539	6421
+-121.2247	48.4787	7127
+-118.4988	32.0485	7841
+-118.0326	33.3244	8323
+-83.273	28.9244	8054
+-81.3719	26.5432	8262
+-113.3299	33.5392	5596
+-113.3474	30.1705	5867
+-117.8553	48.1573	7035
+-115.6701	29.3847	5661
+-109.3535	29.3535	6835
+-87.5264	38.128	8329
+-116.924	47.1245	7458
+-121.0835	45.8931	7288
+-120.4641	43.6957	5823
+-89.4015	37.989	9016
+-115.6443	32.0168	8029
+-112.9015	27.3703	4128
+-118.1891	33.5566	8351
+-116.383	34.4962	8496
+-90.517	41.9866	5933
+-121.118	48.9234	6698
+-122.061	46.6123	8606
+-117.242	31.156	7875
+-116.6329	32.159	8930
+-79.8104	27.3755	7227
+-87.6364	37.6154	8545
+-88.1898	36.2661	8116
+-88.1374	37.9822	9025
+-120.8423	43.074	5063
+-82.5286	28.5095	8940
+-80.2995	24.2868	5442
+-120.4767	45.2261	6760
+-91.8985	38.7638	7791
+-87.0753	36.1475	7264
+-113.0524	29.9905	6059
+-121.3384	46.2317	7710
+-125.0638	46.5085	7176
+-117.3835	32.8939	9280
+-88.1063	37.7068	9073
+-87.5472	26.9039	3690
+-119.0887	33.2017	7306
+-89.5834	36.3392	8066
+-93.9232	38.56	5603
+-89.7705	36.7313	8275
+-92.4647	37.3961	6748
+-122.424	44.6408	6998
+-117.4986	31.9751	8642
+-87.246	38.3339	7951
+-85.8701	42.4536	3534
+-91.0203	37.61	8017
+-82.1442	27.4038	9482
+-106.6793	31.612	5514
+-91.6037	38.9916	8083
+-117.7456	31.0259	7575
+-109.8912	29.9057	7594
+-122.5284	49.0976	7230
+-119.4123	49.0774	5888
+-88.6572	40.6656	6645
+-118.7819	34.0144	7880
+-119.4489	30.7457	6147
+-86.0355	37.1822	6702
+-118.1641	34.7219	8367
+-119.8797	43.0079	5575
+-113.755	30.8597	5684
+-87.311	24.8616	3176
+-83.8448	29.2286	7346
+-120.0879	47.217	7013
+-113.1923	32.5165	6215
+-121.1267	46.3501	7544
+-115.6877	34.1279	7816
+-122.1497	46.4239	8589
+-80.6287	26.2104	7443
+-80.9951	24.1658	5620
+-117.1857	44.35	7073
+-116.2304	44.5158	6514
+-125.7048	46.8166	6520
+-118.8492	47.1155	8029
+-109.4526	33.8651	6824
+-87.9289	37.5564	8867
+-111.688	33.4081	7011
+-111.7558	29.0731	6347
+-83.8951	29.386	7185
+-87.6688	36.2046	7763
+-119.0286	46.9106	8094
+-109.8023	32.0069	8738
+-119.2018	34.6848	7343
+-86.1494	24.9589	4349
+-118.4305	34.0195	8262
+-85.6231	36.803	6156
+-90.65	38.2194	8784
+-121.4609	46.5339	7955
+-116.0746	35.9023	7211
+-81.1449	27.4304	8711
+-115.27	44.8507	5806
+-86.2801	39.8205	6122
+-88.081	40.5121	6299
+-120.9603	49.3454	6234
+-121.8058	44.6894	6831
+-86.9466	37.5449	7768
+-109.6079	30.0164	7603
+-123.6357	48.6185	7619
+-119.5007	43.3097	6036
+-124.95	46.9912	7354
+-109.5648	29.1082	6666
+-89.7646	39.5631	8323
+-119.1156	42.2045	5042
+-107.9456	34.8796	5064
+-119.1181	30.8579	6507
+-117.5295	33.5441	8834
+-120.1926	35.8258	5851
+-83.2089	28.9862	8053
+-122.5534	47.8168	8597
+-90.2151	37.545	8113
+-90.9601	35.1445	6064
+-89.434	37.2748	8947
+-89.4546	39.3265	8246
+-118.272	32.2211	8152
+-92.6897	37.9802	6804
+-123.59	45.5004	7826
+-81.4242	28.7881	8486
+-119.4898	31.1346	6370
+-124.3263	46.0456	7741
+-108.9816	30.825	7794
+-116.6788	30.8403	7525
+-81.5451	27.9013	9210
+-119.4786	42.6499	5394
+-83.8759	29.2387	7312
+-112.5001	31.9455	7093
+-120.7917	32.1135	5415
+-113.1126	31.0571	6409
+-89.1861	37.7379	9337
+-88.4973	33.6492	5296
+-120.1557	32.8333	6082
+-115.4055	36.4115	6329
+-83.9916	26.8502	7548
+-113.6724	29.4854	5201
+-80.8003	28.4011	8222
+-110.8288	30.5287	8211
+-116.5253	33.5361	8811
+-88.5624	37.8411	9513
+-89.675	41.082	6797
+-111.0908	32.3583	8299
+-126.0219	47.729	6076
+-120.9189	38.7422	3123
+-93.8779	38.7598	5658
+-124.4224	47.5704	7807
+-90.644	37.1325	7658
+-81.4935	30.4071	6819
+-109.0952	31.0736	8023
+-109.451	28.1396	5622
+-113.6297	44.7464	4128
+-117.8557	48.6646	6507
+-121.5302	48.1587	7611
+-115.6639	33.0836	8270
+-111.731	33.9647	6482
+-116.2449	34.4569	8369
+-120.0977	46.4865	7296
+-115.6349	31.7486	7849
+-122.0539	47.9636	8170
+-88.2502	36.1714	8040
+-116.8296	35.4291	8046
+-83.2723	29.346	7689
+-110.5283	29.5891	7303
+-122.6809	34.2273	3631
+-117.8094	44.2871	7276
+-84.8372	36.2491	5126
+-85.0351	38.9095	5400
+-118.0031	37.0093	6299
+-116.979	46.3111	7861
+-94.4044	39.6939	4972
+-117.5631	31.6803	8321
+-86.6426	37.3163	7399
+-116.6011	45.7384	7438
+-120.7824	34.2547	5700
+-90.1419	36.1469	7515
+-117.4058	31.6971	8411
+-117.0884	34.2631	9297
+-123.401	47.0026	9054
+-122.1102	46.5725	8636
+-124.3407	44.5908	6554
+-84.093	37.187	4541
+-91.5023	38.9005	8207
+-119.3097	32.8292	7139
+-88.0243	35.3519	7087
+-120.6106	45.8368	6780
+-119.2198	49.4022	5625
+-89.4554	38.3365	8736
+-120.4127	46.3657	6988
+-122.313	48.0881	8215
+-123.2417	44.0202	6347
+-116.5579	44.2747	6600
+-109.887	33.155	7703
+-89.0727	40.9294	6683
+-116.7801	30.4966	7157
+-109.3403	28.8302	6303
+-116.5069	38.7515	4433
+-120.7811	37.5058	4225
+-90.0555	37.42	8342
+-122.2448	47.4367	8720
+-107.6858	33.635	5845
+-118.1681	45.4583	8570
+-90.3099	37.7186	8310
+-90.9695	41.9682	5899
+-108.7877	28.9667	6181
+-85.5375	28.68	5905
+-82.4138	29.2144	8224
+-91.7719	42.2329	5383
+-112.337	31.2907	7280
+-80.0257	28.1206	7475
+-110.6992	29.3103	6979
+-115.3143	34.496	7372
+-107.3143	33.489	5605
+-112.3052	35.2654	4948
+-115.633	31.4185	7598
+-118.4206	35.7918	7334
+-111.8037	34.4491	5984
+-116.6701	35.1239	8277
+-91.2421	39.6451	8087
+-118.4251	36.3086	6849
+-122.6974	43.257	5525
+-115.1921	49.676	4254
+-115.4598	32.9828	8062
+-82.9848	24.5589	6138
+-121.9899	43.9426	6137
+-82.1931	30.5296	6766
+-119.7233	32.6072	6669
+-88.0713	37.8566	9006
+-94.9577	39.005	4486
+-108.9697	29.1445	6446
+-117.1715	35.5152	8027
+-125.3457	47.3757	6882
+-121.2628	45.0726	6856
+-109.6878	27.8689	5389
+-88.6312	37.5061	9580
+-80.9948	26.371	7855
+-80.8277	29.3485	7572
+-109.0681	31.2318	8051
+-119.3874	31.4195	6635
+-117.1912	44.7732	7441
+-117.4884	28.4977	4901
+-88.8792	35.6391	7536
+-118.8125	33.4269	7684
+-113.1512	46.077	3825
+-114.0696	33.4132	6454
+-114.1537	33.6765	6472
+-117.4175	33.578	8910
+-124.7924	48.7017	6785
+-111.4535	31.1121	8157
+-111.4107	32.5457	7908
+-94.7897	40.0587	4470
+-121.908	48.3539	7732
+-91.3512	37.7389	7916
+-113.5391	32.1774	5941
+-115.4578	30.5891	6752
+-117.0318	41.3555	4064
+-116.794	33.2114	9272
+-86.9066	30.2525	3804
+-109.9767	33.8268	7012
+-124.7983	49.1764	6406
+-116.9908	32.0664	8916
+-78.5925	26.423	5608
+-123.8758	41.6009	3615
+-86.5225	39.2694	6719
+-124.0209	47.6289	8176
+-89.6579	39.8221	8029
+-116.0947	29.9518	6413
+-119.3023	32.7643	7147
+-120.3505	31.6237	5751
+-110.5162	30.2677	8034
+-89.5402	39.151	8418
+-80.3623	27.8491	7887
+-87.3162	35.9442	7288
+-116.5013	34.4557	8632
+-80.6028	26.4743	7626
+-91.183	39.2307	8419
+-118.1767	46.2987	9022
+-92.1462	38.261	7452
+-122.0351	44.5204	6756
+-120.1862	33.8272	6336
+-86.8665	36.8727	7504
+-118.2079	46.3493	8985
+-92.8079	36.4411	5816
+-117.1442	34.4311	9187
+-116.7997	30.5599	7229
+-88.2248	37.2928	9077
+-118.6876	45.0027	8022
+-120.8709	35.1943	5439
+-84.1444	26.7854	7361
+-118.7043	45.6609	8616
+-120.0884	45.9873	7345
+-84.1695	26.6129	7245
+-119.9738	47.2244	7110
+-80.8359	24.3089	5714
+-82.6621	26.4298	8266
+-87.7034	40.2582	6670
+-116.7841	45.2197	7419
+-77.8375	28.6183	4938
+-114.0333	33.653	6351
+-124.1666	42.884	4910
+-119.1279	32.6343	7334
+-80.7968	25.907	7302
+-114.8181	30.6753	6369
+-118.3674	36.1419	7039
+-113.7485	32.5914	6155
+-113.5214	49.1641	3263
+-117.8155	43.5752	6541
+-118.0214	46.927	8342
+-118.0946	33.6669	8501
+-89.1735	40.811	6848
+-117.0295	33.5341	8835
+-122.7701	48.3978	8027
+-109.4488	32.5905	8021
+-87.2902	38.5316	7894
+-81.1108	28.5144	8459
+-109.3644	32.7588	7823
+-84.5724	26.8252	6935
+-116.8493	32.7548	9605
+-117.4889	34.5536	9019
+-88.8998	38.5175	8848
+-85.7905	39.4988	5892
+-92.9608	34.1162	3709
+-85.4389	36.5016	5858
+-111.9674	34.652	5707
+-86.4859	43.0227	3191
+-81.3609	27.4732	8958
+-116.2332	32.7367	8930
+-111.823	30.4919	7473
+-91.2605	40.924	6898
+-109.154	32.1667	8048
+-123.635	48.1589	8067
+-87.0732	35.9614	7118
+-116.8276	33.0097	9487
+-89.5495	38.3817	8442
+-86.2455	40.0904	5889
+-81.3068	29.8884	7316
+-109.2402	30.2131	7575
+-121.1786	35.5073	5015
+-86.7014	42.6186	3668
+-109.533	31.9276	8530
+-117.3665	36.4011	7062
+-120.8731	34.4174	5592
+-87.727	36.0486	7657
+-118.248	34.6395	8333
+-85.7334	38.2961	6338
+-118.4366	44.7283	7799
+-107.1929	32.5364	5918
+-116.5094	48.5446	6062
+-111.4726	34.441	6140
+-116.8448	31.3683	8132
+-123.1127	47.7494	8715
+-92.4391	38.6676	7207
+-115.407	34.9519	7322
+-95.7725	40.7668	3222
+-122.3112	43.6418	5897
+-115.586	36.309	6539
+-88.6959	40.5879	6735
+-111.024	29.3762	6968
+-87.922	40.6321	6353
+-118.2692	32.1539	8123
+-118.9274	45.93	8555
+-90.5831	39.4414	8649
+-88.9578	36.2023	8158
+-81.6661	29.4925	7870
+-119.0589	32.0012	7248
+-116.5702	44.2245	6570
+-89.6857	37.3967	8740
+-118.7649	45.0449	8032
+-118.5013	34.2006	8189
+-114.1345	27.5438	3464
+-117.3055	32.6299	9321
+-109.7692	33.3963	7416
+-90.7648	33.7244	4855
+-88.9445	39.2095	7796
+-91.3352	39.0245	8357
+-91.7534	39.2776	7842
+-87.8422	36.5529	8191
+-114.9566	32.7937	7511
+-118.0346	44.0603	7084
+-116.5591	34.5422	8646
+-118.1432	46.9927	8304
+-124.118	46.7124	8239
+-108.5421	28.7115	5806
+-90.1441	36.9895	8092
+-121.8754	46.8412	8472
+-109.0496	33.0442	7367
+-82.2234	29.1047	8375
+-110.8414	29.8646	7532
+-114.4925	47.823	4851
+-113.9685	33.5605	6307
+-92.1134	39.5502	7370
+-120.1236	47.4956	6814
+-90.0582	37.2828	8303
+-89.012	40.9183	6659
+-118.8963	35.2181	7402
+-87.9485	40.3209	6697
+-110.544	31.5043	9230
+-83.5877	30.2175	6668
+-113.4714	30.3162	5807
+-89.0848	40.3124	7235
+-82.8722	27.6313	9043
+-88.8139	35.5052	7389
+-117.9845	31.5059	7902
+-86.4031	36.5101	6862
+-113.9159	32.7912	6350
+-109.3764	32.5171	8025
+-118.7429	34.8822	7732
+-116.7343	32.0109	8818
+-116.0234	29.521	5929
+-88.4694	41.517	5798
+-121.8861	46.9329	8492
+-118.4547	35.359	7676
+-82.2459	28.081	9515
+-88.5513	35.2458	7088
+-116.134	32.8315	8824
+-124.4163	44.9843	6864
+-79.7532	26.8955	7025
+-123.4479	44.7068	7052
+-120.981	46.3836	7403
+-110.3423	31.485	9367
+-115.3662	36.4793	6245
+-84.5207	27.5094	7176
+-82.8009	25.6603	7393
+-91.315	42.6959	5054
+-86.7873	37.7787	7590
+-117.2381	36.0606	7435
+-118.5907	44.8056	7852
+-109.5769	30.455	8002
+-91.821	41.1999	6363
+-106.0774	28.7506	3934
+-118.9453	33.3047	7496
+-108.4139	31.0546	7317
+-91.2077	40.4785	7360
+-117.9701	35.0936	8239
+-94.3193	35.6832	4046
+-114.9976	36.9016	5633
+-114.321	34.1763	6324
+-89.7451	39.3784	8459
+-108.3354	29.4553	6311
+-116.6004	29.7361	6293
+-122.7708	46.2392	8795
+-82.6379	25.452	7212
+-122.6887	44.9148	7340
+-87.961	35.1276	6826
+-110.1158	31.0558	8855
+-125.3252	45.3163	6383
+-113.4356	29.2633	5276
+-111.1767	31.1682	8455
+-119.5963	47.1398	7487
+-120.923	46.5333	7383
+-116.3007	37.8515	5347
+-114.8981	30.4519	6249
+-119.1581	43.5704	6426
+-116.7157	35.0723	8350
+-86.2669	29.0052	5010
+-90.426	35.8562	7059
+-124.8745	46.7977	7429
+-81.3901	26.6816	8405
+-123.5371	44.0186	6293
+-90.5041	37.233	7784
+-114.5859	30.918	6356
+-116.1522	30.1539	6647
+-90.8874	38.7851	8880
+-126.3833	46.8327	5776
+-81.4244	25.9558	7692
+-125.1774	48.8185	6381
+-91.0647	37.3803	7775
+-117.6327	48.0431	7090
+-116.7046	48.3911	6314
+-122.4434	47.7453	8614
+-110.5769	33.2915	7604
+-109.8848	30.3471	8049
+-110.1561	31.8741	9105
+-122.2396	30.0945	3134
+-92.0398	41.3843	6070
+-123.2104	46.0715	8565
+-115.5788	32.536	8174
+-116.7789	34.9431	8507
+-122.5286	35.5796	3585
+-109.5288	32.3966	8234
+-114.5916	30.9129	6358
+-116.2049	44.8507	6692
+-114.5838	34.4941	6585
+-90.7158	37.688	8225
+-114.6483	45.8375	5401
+-118.7262	43.5567	6526
+-114.9498	36.1645	6177
+-114.0477	33.0299	6488
+-87.1584	40.0229	6612
+-116.4206	31.6872	8354
+-115.2848	35.8615	6670
+-80.3516	26.6906	7538
+-123.8813	47.6324	8303
+-83.3211	27.3247	8459
+-93.2237	42.8226	4073
+-122.7976	48.7164	7681
+-126.7537	46.8188	5369
+-116.234	44.0088	6160
+-89.0442	38.8411	8460
+-83.8966	29.3383	7220
+-115.593	38.6446	4289
+-88.7549	37.3986	9515
+-118.4576	36.8675	6285
+-116.4763	46.8172	7202
+-85.778	40.4878	5201
+-82.4589	27.0694	9022
+-126.2669	41.4134	2472
+-113.1045	32.3787	6350
+-118.3099	45.754	8893
+-85.8975	38.4849	6466
+-89.5306	38.2467	8738
+-93.4505	39.0633	6101
+-111.2301	32.5414	8052
+-120.60	43.3198	5428
+-119.4111	34.358	7186
+-83.2551	27.2013	8471
+-117.3094	35.7026	7825
+-121.4326	45.6205	7418
+-82.943	30.8417	6295
+-111.2417	33.1252	7535
+-83.0747	26.6247	8218
+-82.588	24.7021	6387
+-124.2498	45.3028	7252
+-105.5493	32.236	4242
+-81.6721	26.6904	8568
+-90.4896	39.3312	8788
+-85.1735	26.1089	5975
+-80.9241	28.265	8413
+-118.7759	34.8933	7695
+-111.0566	30.6786	8219
+-113.2525	33.4064	5745
+-116.5473	32.6471	9248
+-113.6943	32.8811	6102
+-118.9564	43.7095	6630
+-119.5471	45.1622	7594
+-87.0261	40.8304	5761
+-84.4742	29.3629	6687
+-89.9444	38.9331	8912
+-117.4742	35.6301	7890
+-116.7696	33.3507	9118
+-107.4873	31.8355	6378
+-89.9393	35.1522	6701
+-124.8214	45.2532	6778
+-117.30	30.6153	7269
+-110.5555	31.6483	9223
+-82.6451	25.3009	7043
+-117.352	31.1534	7849
+-108.7702	31.4921	7777
+-119.0284	46.0724	8471
+-85.7963	38.9628	6177
+-120.6306	45.4933	6693
+-109.0204	29.3733	6688
+-111.4327	32.6792	7792
+-117.134	35.5421	7994
+-89.8404	37.9351	8369
+-86.7555	36.7298	7325
+-118.7206	48.2657	6921
+-118.7973	31.1131	6964
+-122.7558	44.4855	6876
+-90.0936	41.9817	5927
+-116.6475	32.2985	9074
+-119.4083	46.4458	8014
+-89.2091	33.3137	4904
+-118.7781	45.6571	8557
+-117.5598	46.7796	8209
+-119.1727	47.2237	7743
+-81.4097	28.2014	8937
+-127.7877	45.3817	3961
+-124.6781	44.4532	6224
+-117.3139	34.2031	9446
+-123.4833	44.6902	7024
+-116.4428	35.2335	8039
+-123.1575	48.0967	8333
+-117.5228	48.1596	6935
+-108.5652	33.2812	6818
+-91.3378	38.7312	8395
+-87.6272	40.9087	5957
+-114.8283	32.4229	7328
+-119.2158	35.0526	7187
+-115.2753	45.8046	6060
+-88.8048	38.3707	9023
+-84.0837	28.7584	7417
+-92.8484	38.3979	6740
+-120.9734	45.8959	7185
+-126.0764	46.1983	6016
+-91.6094	41.5836	6097
+-89.7392	37.9535	8677
+-83.7504	30.6829	6120
+-83.9609	27.8196	7824
+-117.8585	33.5607	8640
+-89.7825	39.0693	8691
+-89.8813	38.1396	8573
+-117.0778	31.9628	8792
+-87.413	31.0874	2836
+-118.5059	47.2863	7982
+-106.3111	27.1321	2974
+-87.4484	38.7804	7877
+-118.5058	47.4081	7855
+-115.7851	36.2789	6694
+-81.5499	25.8585	7635
+-119.4695	44.5899	7227
+-115.6982	46.6116	6470
+-118.6888	34.6086	7902
+-90.3076	36.4167	7588
+-114.9584	32.1536	7394
+-88.941	40.2132	7210
+-121.7575	43.4595	5554
+-93.6535	37.6144	5693
+-117.3584	46.3723	8239
+-117.4272	32.1508	8850
+-89.1841	38.1207	9122
+-120.4672	42.5495	4846
+-111.4764	32.941	7551
+-121.4936	44.0602	6059
+-117.046	31.1053	7842
+-107.5117	33.7966	5588
+-87.9798	42.2182	4876
+-116.1069	31.9298	8375
+-88.6072	41.7466	5670
+-111.5145	30.591	7802
+-113.7337	46.6697	4404
+-117.2251	32.2228	9030
+-115.7695	34.6324	7816
+-89.9978	34.925	6442
+-120.1233	31.5365	5953
+-116.325	38.7012	4450
+-80.878	30.2619	6732
+-108.114	30.3874	6742
+-122.5337	44.6286	7006
+-124.4805	44.6009	6480
+-87.9657	38.6678	8375
+-117.8916	30.5489	7021
+-83.0076	28.2149	8781
+-89.9797	36.0278	7527
+-114.6163	46.8162	5304
+-81.5639	26.6732	8498
+-93.0771	35.5653	4928
+-121.4802	34.4407	4929
+-123.5378	48.2554	8026
+-116.8707	44.1717	6729
+-116.4568	46.3973	7301
+-116.1309	47.1547	6722
+-115.489	35.527	7074
+-120.7074	46.5843	7161
+-121.9807	48.2264	7893
+-87.9005	36.2456	7948
+-84.8563	26.6439	6560
+-119.5285	44.8293	7376
+-89.4879	38.5756	8441
+-117.7433	32.7453	8883
+-93.4925	37.8047	5922
+-77.917	28.991	4925
+-117.4201	46.1508	8345
+-122.1623	43.784	6017
+-117.858	38.9658	4227
+-119.2247	42.1361	4946
+-87.7916	40.1126	6859
+-119.4006	48.4786	6477
+-82.1012	28.0832	9532
+-109.0336	32.9083	7463
+-117.1971	32.72	9474
+-117.6421	34.5894	8893
+-116.5495	30.7084	7356
+-119.6525	46.0901	7810
+-89.3738	37.9248	9074
+-123.0502	44.6754	7084
+-89.7976	36.5194	8084
+-81.6859	30.9378	6269
+-116.8614	34.1225	9096
+-117.4828	45.8484	8372
+-82.122	29.3512	8100
+-89.1757	38.4653	8807
+-83.0973	29.10	8031
+-126.2566	43.1238	4001
+-116.4346	34.3706	8594
+-121.3339	48.2655	7371
+-84.4454	27.9061	7272
+-113.3471	30.5585	6025
+-122.944	41.1598	3227
+-117.3013	33.384	9018
+-116.9555	34.1073	9197
+-122.9167	48.6206	7789
+-109.5607	29.2841	6846
+-89.2382	40.4463	7218
+-92.7532	38.3316	6830
+-118.5122	35.2164	7737
+-90.7546	40.2853	7722
+-124.7433	44.322	6065
+-116.0863	35.2929	7733
+-91.3765	36.738	7006
+-83.7169	28.0645	8069
+-120.5813	47.4315	7008
+-91.1615	35.2295	5980
+-82.4855	31.4671	5687
+-90.432	39.6471	8456
+-121.748	47.6354	8143
+-107.4595	32.5897	6174
+-91.2486	41.065	6760
+-83.6305	27.3336	8129
+-92.0642	35.7649	5732
+-121.8254	46.1575	8128
+-119.2883	43.9131	6712
+-119.0315	47.701	7389
+-117.0214	43.9858	6653
+-86.4867	39.0959	6794
+-120.9285	48.9603	6526
+-114.2176	34.0317	6400
+-120.1517	48.6112	5946
+-110.8736	27.3332	4832
+-87.3752	39.2961	7409
+-83.7849	29.9021	6838
+-110.1076	33.0684	7846
+-91.9032	41.6073	5936
+-81.2547	29.1001	8086
+-88.1424	36.1992	8026
+-115.7377	47.2447	6304
+-81.2237	29.736	7438
+-116.8202	34.5537	8869
+-87.6995	34.2048	5749
+-90.7368	39.3723	8653
+-117.8144	32.4847	8737
+-81.909	28.2579	9281
+-80.6896	28.6986	7948
+-125.3632	44.0218	5388
+-82.665	28.0262	9223
+-122.576	43.8833	6200
+-116.8482	45.7037	7684
+-118.4011	46.0926	9136
+-116.0523	32.9198	8727
+-88.6015	37.9668	9430
+-123.6483	45.4091	7708
+-118.7458	32.6845	7763
+-85.2229	38.8924	5606
+-109.0393	28.5537	5904
+-111.0685	32.8143	7920
+-90.5956	37.5348	8095
+-114.4722	28.6479	4334
+-83.4463	28.1575	8343
+-90.1858	40.2068	7840
+-108.6026	32.138	7504
+-124.6373	44.8973	6638
+-111.6662	34.7038	5797
+-110.8362	30.093	7769
+-114.5985	37.0081	5260
+-124.0382	47.0308	8354
+-116.2772	46.2152	7132
+-120.2389	45.7034	7147
+-120.6113	44.662	6363
+-91.6741	39.0538	7995
+-89.6541	38.457	8577
+-122.5673	48.5291	7851
+-81.1571	28.2747	8647
+-84.8357	40.5418	4348
+-108.8344	33.5688	6778
+-86.3439	35.3041	6017
+-81.6926	27.5019	9311
+-111.0641	29.3224	6899
+-88.4864	35.9662	7881
+-87.1312	36.8758	7776
+-118.8104	46.3258	8653
+-115.7629	32.4744	8357
+-118.897	46.7769	8293
+-108.888	30.1037	7233
+-124.2034	46.1314	7905
+-88.5611	37.9303	9439
+-91.3402	36.2035	6492
+-115.4956	33.1263	8076
+-90.3005	35.8196	7121
+-110.6395	34.3927	6412
+-115.561	33.3002	8095
+-117.5816	47.7909	7322
+-109.4514	31.5698	8518
+-121.1807	49.4471	6290
+-81.3828	29.9543	7276
+-119.4393	34.4284	7146
+-90.3526	40.2702	7785
+-109.5158	30.2423	7772
+-117.7467	49.6668	5441
+-92.0956	39.7014	7313
+-115.4584	34.3216	7555
+-84.6389	27.7462	7058
+-119.7289	34.9687	6702
+-116.4894	46.0431	7360
+-120.929	44.2421	5837
+-115.8113	33.1767	8403
+-86.1038	24.0135	3711
+-89.6125	40.5418	7322
+-110.5766	32.5947	8346
+-89.4158	39.2154	8267
+-113.8749	34.0405	6044
+-80.8372	31.2769	5659
+-91.5848	38.8701	8123
+-88.4679	38.4155	8909
+-116.8314	30.9393	7653
+-91.2307	39.9486	7842
+-118.9225	42.0035	4869
+-112.6099	35.5018	4563
+-118.0555	33.5133	8443
+-116.3774	45.3562	7094
+-123.8154	43.6459	5822
+-124.5668	46.1867	7584
+-92.6511	36.4779	5964
+-92.0631	38.9239	7604
+-91.2097	38.1186	8303
+-119.2657	29.869	5583
+-116.6149	35.5549	7832
+-118.254	34.9956	8108
+-81.294	29.1021	8108
+-117.9881	46.0916	8948
+-83.8193	28.9992	7530
+-123.5726	44.6924	7001
+-89.2789	39.3325	8079
+-120.9211	30.8766	4840
+-91.7287	40.0214	7429
+-117.7993	43.2627	6212
+-114.2135	35.2394	5996
+-90.0293	39.3674	8657
+-113.8785	31.6303	6063
+-91.742	39.6947	7641
+-82.8534	24.7836	6421
+-95.764	43.1707	1919
+-109.4665	32.8096	7846
+-87.2437	38.1477	8022
+-111.5448	32.4359	7869
+-88.9128	40.5242	6941
+-80.6848	25.9425	7257
+-107.8839	29.4034	5921
+-117.0123	34.2411	9237
+-121.181	45.6324	7216
+-119.3761	34.0558	7235
+-119.4584	33.4789	7043
+-121.6984	46.3553	8125
+-83.0268	26.7656	8374
+-84.6644	27.4824	7011
+-91.2611	37.9318	8131
+-118.4854	49.2603	5907
+-115.3865	34.449	7458
+-92.3632	38.5407	7278
+-119.3077	34.8502	7178
+-123.1672	48.2241	8194
+-119.4227	37.3315	5330
+-122.9551	47.6956	8803
+-118.2659	30.9902	7253
+-118.8941	31.1527	6913
+-119.6307	48.2904	6537
+-109.2903	30.1325	7538
+-108.5331	34.3729	5876
+-83.3225	31.1751	5808
+-117.7361	35.6489	7807
+-115.5766	37.7829	5151
+-115.4999	33.0346	8099
+-119.1881	43.6496	6494
+-86.9762	37.6847	7805
+-124.2504	43.4875	5506
+-88.7162	37.0463	9117
+-81.5141	26.9506	8734
+-115.6857	43.0944	5053
+-120.7268	46.1061	7038
+-79.7501	29.4259	6607
+-120.11	46.315	7313
+-78.5475	27.4879	5823
+-126.6236	45.7234	5293
+-114.8989	34.7005	6882
+-111.0732	32.7407	7985
+-120.2808	39.9988	2461
+-123.7064	49.695	6481
+-89.5486	39.1456	8429
+-107.0951	31.9388	5944
+-91.6348	37.6692	7642
+-115.6458	32.0096	8026
+-88.7156	44.0383	3448
+-122.3191	46.4041	8718
+-89.0731	38.7873	8510
+-110.7877	31.1271	8776
+-89.3774	36.7798	8607
+-90.8947	36.217	6925
+-76.5508	28.8917	3450
+-119.3146	43.6205	6416
+-92.1278	37.3986	7046
+-93.8128	36.6285	5078
+-120.4654	44.1854	6186
+-90.093	34.4409	5901
+-111.2824	30.208	7663
+-83.9823	27.7035	7799
+-88.1725	37.6653	9148
+-117.841	35.4932	7928
+-83.3733	30.3027	6699
+-114.5779	31.3892	6649
+-122.3883	49.3009	6981
+-117.9793	32.0067	8306
+-127.6221	44.3069	3652
+-119.1399	37.0741	5734
+-89.80	39.0988	8692
+-91.8231	36.6501	6680
+-81.4756	29.0879	8223
+-81.5846	27.5518	9226
+-117.7586	32.5166	8808
+-120.6407	31.516	5406
+-122.9111	46.5338	9131
+-86.1521	38.8058	6613
+-89.47	36.7123	8485
+-82.7767	27.3475	9024
+-118.9484	43.4317	6348
+-115.0052	33.3734	7479
+-81.4103	29.1375	8139
+-118.1984	37.6269	5594
+-79.2911	25.1064	5488
+-115.1725	31.5623	7311
+-113.1944	30.7507	6245
+-117.3231	35.8339	7682
+-116.7289	45.2805	7400
+-118.1567	43.2821	6273
+-88.1788	33.8366	5466
+-109.4096	29.5474	7051
+-90.5066	38.1919	8808
+-87.8577	36.0959	7779
+-88.9314	39.5527	7636
+-114.4293	34.8775	6338
+-106.8154	31.8722	5649
+-91.9741	35.3781	5406
+-90.969	40.0332	7904
+-88.5683	36.0487	7986
+-113.3151	31.8681	6228
+-113.2156	30.0706	5947
+-119.0118	34.4437	7604
+-106.9725	29.8156	5359
+-119.6457	36.5869	5810
+-117.7704	46.9153	8240
+-91.7235	37.4454	7408
+-88.4832	38.9721	8315
+-111.3589	31.5241	8361
+-118.7009	30.6826	6686
+-116.6398	45.4961	7406
+-124.0976	45.483	7511
+-124.5131	48.4889	7169
+-125.6091	45.4249	6182
+-85.1061	30.8018	5086
+-121.0576	47.2563	7557
+-90.3065	34.7841	6147
+-91.5885	36.8183	6970
+-117.6824	43.5345	6470
+-118.4754	34.5977	8125
+-117.3292	33.0979	9241
+-121.4554	44.4999	6466
+-115.9692	35.0339	7815
+-89.7395	39.0766	8646
+-125.6154	46.9759	6623
+-88.1157	38.2552	8830
+-118.7085	46.2248	8791
+-81.8606	30.3595	6943
+-121.8409	46.2344	8192
+-116.3742	33.4654	8773
+-87.4579	39.5265	7262
+-114.3647	30.9088	6154
+-118.7272	34.3837	7921
+-82.8003	27.3378	8995
+-117.3993	47.3234	7662
+-88.8035	39.5704	7506
+-90.045	38.6316	9038
+-81.2806	25.7624	7428
+-89.8689	39.1965	8690
+-86.4707	40.6314	5605
+-111.3937	33.9537	6660
+-116.0247	28.9307	5293
+-110.5403	33.214	7693
+-89.3305	39.0028	8257
+-89.1741	39.388	7951
+-89.4434	39.4602	8155
+-115.826	29.4602	5799
+-108.5586	31.1145	7485
+-89.7891	37.9854	8381
+-117.6004	33.6345	8883
+-88.3506	38.6869	8578
+-93.5255	34.9322	4095
+-87.7566	36.0501	7676
+-109.4737	29.0975	6624
+-88.815	36.5658	8579
+-108.7495	33.07	7120
+-90.2454	38.6354	9231
+-116.2392	33.8091	8363
+-112.2103	48.2631	2433
+-93.3366	40.2892	5835
+-125.4983	46.5213	6710
+-82.0135	30.6472	6631
+-109.6569	28.6654	6228
+-110.903	31.8102	8809
+-119.8953	30.8451	5815
+-119.8255	47.534	7030
+-83.199	29.7883	7307
+-116.3911	46.4101	7230
+-115.5593	31.8232	7831
+-83.7222	26.7282	7745
+-116.3781	33.6257	8637
+-79.1795	30.968	4964
+-117.0779	34.9858	8585
+-113.4607	31.8875	6069
+-122.4599	48.5764	7773
+-83.6489	27.885	8173
+-114.722	34.8138	6665
+-117.8539	35.3524	8062
+-115.9636	34.8743	7903
+-89.6269	40.622	7248
+-88.8819	38.233	9166
+-120.7301	46.0124	7002
+-116.2138	48.6756	5761
+-120.6117	28.3591	3330
+-119.3465	35.207	6985
+-116.4041	32.3513	8939
+-118.9765	44.0207	6939
+-88.6368	41.4037	6000
+-119.994	35.652	6133
+-111.6082	31.7918	8074
+-118.3753	43.9163	6946
+-90.9119	40.7851	7158
+-86.9358	36.1542	7150
+-111.0267	36.9849	3573
+-124.8804	46.5731	7388
+-83.524	28.5688	8076
+-115.7617	36.2823	6676
+-107.2765	36.896	2833
+-121.6092	48.0287	7770
+-85.981	27.7654	5539
+-119.9697	45.5971	7397
+-109.0686	30.4178	7610
+-82.6667	26.0351	7843
+-90.19	34.8514	6275
+-82.7883	28.4741	8802
+-86.1146	36.1277	6374
+-89.20	40.5234	7126
+-121.6308	43.6052	5659
+-87.646	39.5377	7366
+-118.1145	44.294	7339
+-106.881	29.5724	5145
+-89.2629	38.9103	8204
+-112.3978	28.9796	5873
+-117.6773	46.6954	8361
+-109.2798	30.6283	7933
+-118.6722	44.2507	7259
+-96.0051	40.8893	2941
+-80.3043	30.483	6188
+-111.3924	29.1973	6645
+-109.3092	31.8008	8339
+-110.3798	30.6708	8484
+-88.9222	40.4418	7015
+-121.8352	45.0162	7165
+-120.0337	47.0731	7140
+-116.1951	35.196	7892
+-94.495	41.1542	4291
+-80.7232	27.7472	8297
+-117.1759	48.6134	6352
+-119.9467	30.9853	5851
+-87.8429	39.2407	7766
+-117.927	45.9335	8844
+-125.795	45.7028	6136
+-114.4481	32.2308	6869
+-80.1032	27.1388	7488
+-116.8892	30.2767	6919
+-118.5138	47.244	8025
+-115.0206	37.7193	4922
+-87.9464	34.9118	6589
+-116.1739	33.3986	8656
+-124.7192	48.2432	7165
+-118.3052	31.1947	7407
+-90.3066	39.6935	8404
+-85.9164	29.62	5126
+-112.4921	33.3095	6479
+-116.3668	34.3454	8529
+-118.64	35.0763	7721
+-90.4011	39.7073	8392
+-89.1836	39.0862	8081
+-121.3723	44.8799	6765
+-119.8604	34.5201	6677
+-115.7663	32.5957	8392
+-116.7704	35.8203	7620
+-88.1935	38.8869	8301
+-85.0758	26.1764	6108
+-110.5496	31.4676	9208
+-118.7014	34.8094	7808
+-85.9711	37.162	6626
+-112.0955	34.4408	5836
+-118.3191	49.4959	5664
+-115.7328	35.9859	6914
+-115.0112	33.4913	7446
+-110.8599	33.8746	6926
+-91.7494	36.2147	6320
+-87.157	36.9289	7828
+-115.1493	32.5077	7697
+-121.5698	48.068	7709
+-123.0946	44.5885	6985
+-86.6703	39.2339	6877
+-81.7359	29.5842	7788
+-121.0675	45.5692	7074
+-88.6657	40.0159	7125
+-106.395	30.4137	5022
+-122.8024	47.0639	9455
+-92.8695	38.0868	6651
+-109.8835	31.3103	8903
+-91.0159	37.2508	7671
+-81.0387	26.0255	7566
+-110.7534	29.6525	7333
+-121.974	49.6281	6510
+-116.14	35.5834	7535
+-118.6717	32.7124	7847
+-119.2956	42.6141	5416
+-115.0973	32.7839	7667
+-124.9464	49.0971	6361
+-111.0404	32.9965	7761
+-90.1976	40.6109	7409
+-110.3491	33.1005	7830
+-83.82	28.2262	7915
+-122.1563	46.2306	8457
+-113.0775	32.4694	6349
+-109.5679	33.885	6845
+-82.646	29.0712	8307
+-116.4395	35.2495	8022
+-109.3599	31.89	8368
+-117.4418	47.2348	7764
+-113.7826	34.7707	5674
+-121.1544	45.379	7014
+-87.7348	39.1783	7760
+-81.987	32.7026	4306
+-111.4289	33.7773	6817
+-88.9142	44.1763	3365
+-117.9127	29.4157	5815
+-82.4781	27.0515	8994
+-119.0357	46.016	8459
+-86.8664	43.2541	3265
+-113.6911	36.3397	4955
+-119.3661	28.6089	4350
+-88.7832	37.1198	9202
+-115.8143	33.3186	8351
+-118.5348	46.3504	8885
+-91.5402	41.6206	6089
+-117.0566	47.4003	7367
+-87.1754	39.8619	6771
+-114.7024	32.5714	7213
+-120.4148	48.923	6131
+-88.2905	40.4666	6507
+-88.37	40.1117	6805
+-115.7272	33.2562	8286
+-118.7227	48.9185	6239
+-110.2425	30.162	7931
+-118.2161	32.9341	8353
+-119.2206	32.1941	7145
+-89.5475	40.6141	7222
+-112.7534	31.1059	6801
+-88.3508	38.8413	8416
+-83.8785	30.1561	6545
+-114.158	36.4151	5332
+-116.4669	45.0173	7021
+-124.5832	44.9706	6738
+-89.7695	36.9587	8437
+-121.4633	47.5325	7910
+-91.8027	40.6913	6832
+-125.7943	45.7656	6164
+-88.2579	34.2995	5993
+-81.9382	27.2469	9264
+-111.4385	30.8664	8046
+-93.5293	42.0929	4477
+-86.0413	24.6772	4256
+-124.9548	45.3263	6718
+-119.2387	31.1079	6582
+-119.1672	33.2095	7233
+-81.3603	27.2428	8836
+-118.5426	32.5317	7967
+-111.1477	32.5886	8072
+-91.5555	38.6344	8155
+-117.2976	46.4165	8164
+-122.4215	48.8531	7468
+-112.0666	30.4997	7259
+-118.4511	46.7186	8582
+-118.7725	31.3867	7184
+-115.5636	33.0406	8168
+-123.215	46.4451	8937
+-115.2299	34.22	7314
+-88.97	39.9822	7403
+-115.8348	30.8831	7254
+-94.051	38.0866	5407
+-89.4243	36.9287	8706
+-79.6943	28.3103	7065
+-117.0348	30.5547	7229
+-117.3877	32.9244	9268
+-83.578	29.2689	7535
+-83.1817	27.9776	8683
+-117.158	31.164	7897
+-123.0646	33.3604	3157
+-85.3148	39.9224	5186
+-90.3159	35.8944	7173
+-117.8269	33.3933	8525
+-87.2219	35.7769	7076
+-88.5751	36.719	8731
+-88.8755	35.2039	7049
+-119.3042	36.6669	5991
+-124.0131	44.6979	6830
+-115.835	33.5842	8228
+-81.7869	26.5018	8409
+-89.6471	39.1162	8538
+-85.9115	36.256	6241
+-113.5344	28.9617	4991
+-87.9424	36.1322	7861
+-117.3705	34.2084	9398
+-87.4895	39.3789	7417
+-91.2965	37.3278	7603
+-114.6092	34.2609	6636
+-116.0043	35.408	7581
+-115.9598	44.2427	6110
+-118.3161	34.5442	8308
+-113.5055	30.8501	5946
+-116.3299	31.4654	8087
+-118.5522	34.5818	8053
+-125.5858	46.4515	6602
+-110.0852	33.8539	6999
+-88.1544	38.7117	8455
+-112.2725	31.5058	7371
+-88.6408	39.3494	7920
+-90.0496	38.8179	9057
+-117.2321	46.6427	8008
+-117.8977	47.2076	8018
+-113.1146	31.4364	6456
+-111.7822	31.9274	7860
+-89.8523	38.0443	8472
+-115.3642	45.4835	6101
+-91.129	35.3488	6100
+-118.4966	49.4485	5707
+-95.161	39.2781	4243
+-90.1984	35.7673	7146
+-116.6561	44.2344	6639
+-119.0847	32.2561	7309
+-121.8918	44.9055	7085
+-120.945	44.6796	6301
+-89.4709	40.6914	7112
+-88.3415	37.4257	9267
+-117.8938	45.2288	8250
+-110.3619	30.6486	8460
+-121.9324	48.7745	7353
+-116.5496	36.2313	7119
+-112.1411	34.4267	5823
+-83.9604	26.9166	7613
+-108.4091	31.2377	7355
+-110.9772	32.2962	8433
+-115.7812	31.8164	8023
+-118.726	32.3568	7725
+-88.6823	37.612	9703
+-122.3753	49.7353	6510
+-82.6202	26.29	8133
+-92.2732	36.5967	6336
+-118.6587	46.9157	8310
+-109.6421	31.3974	8698
+-86.6331	37.5536	7417
+-120.4993	32.901	5764
+-109.8375	33.0988	7746
+-116.5967	47.424	6990
+-92.5261	36.4681	6050
+-120.1337	49.361	5587
+-82.9121	25.3362	7005
+-118.5227	47.1173	8154
+-115.1737	33.7762	7485
+-88.3215	37.6702	9315
+-89.6871	34.2807	5877
+-88.8007	39.6431	7466
+-89.6475	39.0693	8560
+-93.0325	36.3948	5604
+-84.7112	27.0103	6853
+-112.2406	31.0745	7335
+-89.4651	35.7509	7527
+-88.2225	36.8563	8720
+-122.5932	48.713	7658
+-89.06	39.1476	7935
+-79.7598	31.4324	4952
+-120.1942	45.3885	7101
+-113.083	35.6888	4669
+-108.7279	31.6209	7734
+-79.7913	24.1149	4984
+-88.5905	42.5806	4866
+-88.2843	39.0828	8135
+-117.3096	31.454	8186
+-89.7493	35.8914	7538
+-116.6803	44.1326	6573
+-121.2237	49.4439	6320
+-86.0844	37.8567	6797
+-88.1279	36.3489	8172
+-88.5955	39.8309	7173
+-86.5433	29.0615	4693
+-119.8422	33.6735	6684
+-114.0483	32.8295	6498
+-85.3139	37.3612	5924
+-115.8511	30.5941	6979
+-82.9366	28.1898	8865
+-120.3464	43.56	5795
+-88.9498	37.54	9566
+-113.0294	33.5441	5862
+-111.4081	27.716	5125
+-120.0853	34.5763	6425
+-82.1421	28.3986	9177
+-118.2728	35.4379	7741
+-118.7147	49.7742	5343
+-92.1476	38.8772	7518
+-90.5019	40.6964	7323
+-120.3206	44.886	6749
+-114.7747	32.8024	7308
+-118.1022	33.301	8251
+-91.0361	40.32	7592
+-116.3935	33.1564	9010
+-118.6755	32.0261	7653
+-118.80	32.7781	7707
+-111.2633	33.1601	7490
+-89.2667	36.1852	8061
+-119.72	33.4572	6762
+-110.4628	32.1316	8863
+-86.6939	26.7324	4602
+-117.728	33.1585	8822
+-91.3388	36.9633	7241
+-88.6165	37.2102	9276
+-115.809	35.0693	7648
+-91.6984	37.7072	7615
+-88.296	38.9692	8260
+-87.8924	36.8227	8452
+-116.9407	41.9216	4612
+-81.2036	28.1404	8759
+-89.1071	41.9084	5753
+-85.0827	28.7288	6383
+-90.3766	40.405	7641
+-116.3542	33.4007	8809
+-117.3738	30.8086	7468
+-124.5934	44.2385	6079
+-91.8769	37.2931	7175
+-119.3206	33.2016	7078
+-120.8061	44.4523	6069
+-113.7304	35.8319	5259
+-116.1091	45.9029	6948
+-117.711	32.905	8917
+-124.336	45.9611	7680
+-125.6171	44.5128	5584
+-89.3253	40.4355	7279
+-91.4034	38.1831	8167
+-123.8603	47.2352	8511
+-89.48	39.0167	8409
+-117.0363	29.6799	6253
+-92.1006	40.6316	6679
+-122.63	46.307	8823
+-91.1362	35.0158	5825
+-79.1301	27.9928	6485
+-113.2628	31.8974	6281
+-88.4238	39.8566	7326
+-82.6564	27.6225	9279
+-117.6816	34.9837	8506
+-122.8917	43.4236	5714
+-109.1436	33.4377	7086
+-92.4335	37.14	6615
+-122.2718	49.9731	6232
+-107.4387	33.9721	5407
+-88.3987	37.3181	9247
+-120.3207	46.9323	6930
+-110.2844	31.5511	9410
+-116.6071	32.1919	8949
+-88.5331	38.9442	8357
+-89.7738	36.0493	7677
+-122.3956	49.6376	6620
+-81.2254	30.7425	6372
+-114.5265	30.7133	6160
+-92.882	37.7121	6508
+-117.9334	32.6288	8654
+-89.2719	34.3474	6047
+-118.5913	30.1287	6250
+-83.8825	26.7692	7614
+-89.9909	39.6223	8393
+-122.4428	46.2937	8712
+-83.2032	26.1439	7693
+-119.4847	32.4501	6915
+-112.5098	31.3687	7104
+-119.2395	32.5947	7206
+-123.4876	46.5906	8840
+-88.4388	37.4677	9385
+-122.1668	46.067	8331
+-111.1757	31.192	8467
+-91.368	38.3435	8276
+-115.5323	30.2138	6438
+-121.2336	43.9092	5781
+-80.786	27.9992	8346
+-116.2755	44.4762	6526
+-116.536	43.5808	6014
+-118.6822	31.8665	7565
+-90.3286	34.9945	6341
+-122.4987	44.0057	6323
+-86.653	28.0913	4766
+-119.9711	34.8267	6492
+-125.5112	47.2573	6720
+-85.2227	34.5386	4510
+-83.2423	27.3059	8534
+-115.8355	44.1416	5940
+-115.3012	34.5582	7344
+-89.3331	39.7352	7872
+-80.9423	30.0782	6950
+-111.0462	34.8763	5823
+-111.1284	30.1249	7674
+-117.8767	45.9922	8815
+-93.3325	40.7552	5580
+-110.1117	29.834	7563
+-81.1233	26.1199	7707
+-121.0767	44.2774	6037
+-116.7943	30.6885	7371
+-118.1336	33.7803	8517
+-117.0276	32.4244	9310
+-83.4755	27.2759	8276
+-116.4362	32.9369	9146
+-85.0237	29.8961	5831
+-118.2528	33.7671	8390
+-120.3791	44.5126	6476
+-89.7513	39.3843	8459
+-108.218	31.3828	7171
+-116.3266	30.8082	7402
+-117.3314	33.8189	9188
+-85.3119	28.4874	6205
+-108.6017	31.3343	7578
+-116.897	34.639	8855
+-125.1578	45.8614	6844
+-90.4108	41.2404	6740
+-89.3056	38.1612	8993
+-115.1956	31.9413	7549
+-90.6065	39.1155	8963
+-117.7192	46.2673	8637
+-117.0946	30.9913	7712
+-83.3713	26.2674	7693
+-90.9276	35.8354	6636
+-122.1358	48.6575	7568
+-116.3229	47.0133	6970
+-119.5471	46.5417	7843
+-122.4967	31.6602	3451
+-119.9106	45.5866	7453
+-114.5273	32.8992	7031
+-79.9065	26.6244	7061
+-125.3919	43.9441	5303
+-117.2448	34.4864	9152
+-86.9919	38.8815	7400
+-85.6634	27.4753	5885
+-118.6266	47.819	7404
+-114.8291	28.7795	4658
+-87.3481	39.2158	7457
+-113.8803	45.8761	4591
+-117.6815	47.3402	7801
+-91.7577	36.1207	6227
+-117.0059	36.5162	6923
+-109.6927	33.0939	7696
+-88.054	39.8973	7186
+-92.1403	42.9714	4496
+-118.0757	33.8047	8585
+-88.7027	41.4452	6001
+-119.3893	43.6062	6371
+-89.1595	39.0103	8076
+-121.1377	45.6967	7220
+-119.058	34.2202	7581
+-117.6444	34.1015	9124
+-115.0596	36.3183	6150
+-89.8071	39.222	8622
+-91.4609	35.5208	5755
+-87.3477	33.4557	4828
+-111.1208	33.3624	7366
+-83.0564	36.0609	3157
+-110.6415	33.0092	7893
+-117.0742	45.6619	7899
+-116.8503	46.5363	7674
+-118.3842	28.9452	5154
+-117.4577	33.9719	9265
+-90.0746	39.3547	8693
+-88.9736	41.2749	6307
+-109.38	29.096	6588
+-117.6664	48.1548	6988
+-86.3651	33.2984	4220
+-124.1394	45.3594	7376
+-113.8499	33.9704	6046
+-121.703	42.9091	4959
+-83.5083	30.0848	6843
+-87.7513	42.2666	4690
+-118.4337	43.9382	6965
+-90.4596	36.5494	7539
+-111.3872	29.6395	7078
+-88.3609	37.5356	9337
+-117.5906	43.9393	6857
+-88.6859	39.3894	7878
+-81.6778	26.3228	8180
+-91.4219	38.0432	8070
+-90.1299	37.1969	8197
+-120.3904	49.3717	5787
+-88.2485	38.2411	8946
+-90.0143	38.8507	9012
+-90.1636	37.2178	8168
+-80.6122	26.7971	7852
+-119.1693	48.355	6695
+-119.2298	33.3883	7247
+-118.3084	45.9321	9081
+-84.2319	28.6019	7337
+-115.4041	30.8736	6972
+-90.0485	37.5393	8070
+-117.3809	34.7703	8832
+-114.364	34.1237	6372
+-116.7453	32.4585	9283
+-121.716	47.2634	8265
+-120.0173	44.2462	6572
+-115.9269	32.9059	8589
+-113.7174	34.0813	5864
+-111.0701	28.8833	6441
+-121.8815	45.0198	7192
+-82.2668	24.3776	6055
+-115.5059	31.0308	7179
+-114.7979	31.6549	7009
+-111.9858	31.6001	7683
+-120.9205	45.0314	6565
+-83.2594	35.8075	3291
+-118.9656	31.503	7085
+-110.7592	33.831	6995
+-111.0412	33.9674	6779
+-82.3358	30.5317	6756
+-116.8676	34.5109	8939
+-114.7617	36.8539	5504
+-115.9308	30.9961	7417
+-118.5759	32.7909	7958
+-111.377	29.2641	6718
+-93.2836	39.8443	6083
+-117.6119	33.8268	9034
+-83.0915	25.1296	6718
+-89.2208	39.5332	7914
+-120.3867	32.417	5912
+-122.149	43.6234	5842
+-89.5621	39.6324	8125
+-89.0643	37.5619	9461
+-88.0747	32.4343	3891
+-115.0256	34.0202	7090
+-119.3762	45.0895	7684
+-93.017	41.5366	5292
+-91.1674	35.5242	6204
+-83.4108	28.9964	7886
+-125.0569	29.5514	22
+-113.9502	32.1955	6318
+-117.6173	34.8417	8676
+-88.4517	41.5202	5784
+-116.2102	31.4774	8037
+-115.4881	32.7983	8104
+-119.2989	46.2852	8167
+-103.7932	31.2373	2378
+-122.4546	43.4314	5692
+-81.3754	24.8324	6464
+-113.0096	28.8273	5311
+-116.6824	31.4255	8169
+-112.1318	33.2618	6808
+-118.6645	48.5703	6613
+-89.9734	38.8701	8964
+-120.1476	47.1883	6974
+-110.7924	29.4814	7143
+-88.4844	39.0015	8283
+-112.4286	32.605	6948
+-112.0915	31.7637	7559
+-117.5341	48.6229	6473
+-85.3199	28.7484	6120
+-88.456	38.2086	9113
+-121.7027	44.0282	6120
+-116.9122	35.2818	8227
+-89.8963	39.1688	8732
+-117.6125	30.0153	6546
+-83.7422	27.8389	8070
+-120.6312	31.9357	5549
+-116.8407	34.9747	8509
+-122.9699	47.3322	9197
+-115.6123	31.5664	7697
+-122.2706	47.662	8576
+-115.7194	34.0274	7846
+-119.1847	31.6252	6944
+-79.3895	26.9551	6655
+-119.3224	32.2732	7056
+-90.6936	40.0052	8031
+-80.0636	27.3483	7504
+-85.3685	36.5949	5816
+-116.8437	30.8583	7564
+-92.642	35.8347	5449
+-93.0748	42.4857	4462
+-82.2674	30.4731	6827
+-88.5779	36.6731	8681
+-120.8646	47.6665	7242
+-109.7978	31.826	8837
+-119.6778	35.0454	6726
+-116.5478	34.9421	8358
+-113.9165	29.9907	5225
+-115.4408	29.9572	6138
+-109.4423	32.0155	8401
+-113.6447	32.3511	6011
+-114.9218	34.9086	6844
+-83.5742	29.054	7706
+-112.7293	34.5515	5341
+-123.0677	45.6522	8150
+-85.7976	37.9429	6468
+-83.1991	26.6939	8182
+-115.9919	32.6433	8649
+-117.2267	46.0151	8138
+-122.372	47.4899	8789
+-83.7964	26.8938	7768
+-109.1309	27.8854	5261
+-84.573	36.7017	4985
+-88.8141	38.8939	8436
+-116.2394	35.731	7466
+-116.4734	34.3292	8647
+-118.9434	33.1975	7443
+-126.6951	45.0282	4924
+-125.7696	46.4566	6404
+-114.806	32.853	7343
+-117.0986	48.3287	6587
+-77.774	29.3168	4658
+-118.9188	47.5306	7603
+-115.5343	29.934	6163
+-85.3439	26.9061	6132
+-82.1017	26.3994	8345
+-109.9592	29.9238	7630
+-88.9582	41.8187	5778
+-108.5338	29.7065	6656
+-90.6921	38.2792	8817
+-87.8248	39.7593	7238
+-112.8723	34.9759	4882
+-121.6576	48.026	7812
+-115.2839	32.4434	7830
+-116.8791	31.5027	8284
+-91.8257	33.9659	4426
+-111.9598	30.4848	7347
+-109.1413	31.6784	8178
+-80.7479	27.7199	8324
+-123.174	32.5924	2878
+-117.7292	33.1359	8831
+-86.8198	36.658	7354
+-116.2233	31.6966	8253
+-86.1892	38.2032	6860
+-117.8629	33.6022	8667
+-88.0346	37.095	8773
+-123.6585	45.9292	8194
+-116.372	32.8006	9089
+-122.1129	46.18	8384
+-91.6415	39.0965	8018
+-87.8656	40.7737	5943
+-118.2908	35.5111	7665
+-117.0243	49.6406	5281
+-118.1656	35.48	7772
+-112.6873	34.358	5531
+-84.4392	26.715	7025
+-91.9763	37.769	7408
+-118.6653	48.0827	7122
+-117.4012	44.7504	7553
+-119.1815	33.7914	7416
+-118.318	47.7601	7502
+-109.5814	35.2532	5415
+-91.2368	36.5394	6870
+-93.589	38.9309	5964
+-87.7001	38.0525	8542
+-112.193	34.3452	5866
+-85.0505	26.4952	6292
+-83.4734	25.8056	7205
+-87.6285	38.5394	8205
+-113.3448	28.8265	5050
+-122.2898	35.232	3929
+-117.1083	36.1387	7343
+-124.6599	44.8906	6616
+-111.3491	32.5733	7937
+-83.0824	31.1623	5904
+-116.7345	30.4573	7109
+-88.7119	39.8729	7254
+-111.311	32.683	7879
+-118.7097	33.5299	7832
+-116.2611	33.4626	8686
+-121.2733	45.7382	7367
+-120.6562	42.3124	4527
+-116.5495	34.2417	8747
+-117.1613	27.7433	4090
+-84.8074	27.9007	6863
+-125.5253	45.3371	6212
+-124.5474	48.0874	7417
+-120.8908	35.2498	5401
+-120.0675	43.3084	5752
+-115.2013	32.7462	7782
+-114.3167	47.2965	4873
+-118.0858	33.3385	8293
+-85.831	38.9954	6198
+-91.2308	39.7866	7981
+-86.0795	34.828	5428
+-120.1211	41.4706	3985
+-123.3616	47.839	8522
+-119.9927	35.2595	6320
+-114.3262	32.4508	6780
+-87.4497	39.202	7544
+-81.6382	28.2655	9097
+-90.0497	36.8653	8117
+-84.8982	40.1978	4625
+-120.5839	43.5881	5653
+-113.7287	35.8735	5237
+-87.1264	34.4757	5788
+-116.5226	31.3159	8007
+-112.1823	30.3962	7093
+-118.0658	42.8022	5760
+-123.1065	47.5979	8876
+-87.7847	37.9784	8658
+-117.6537	45.8497	8543
+-117.8351	34.6138	8726
+-115.8054	42.9055	4979
+-80.5898	31.2828	5548
+-90.3621	35.0705	6395
+-114.8696	34.3837	6909
+-116.7095	31.1678	7891
+-89.1647	36.8421	8788
+-116.8213	49.5563	5286
+-115.8634	34.5881	7929
+-88.2366	35.4313	7237
+-84.0691	29.5381	6924
+-122.5095	48.4306	7942
+-118.4202	43.4504	6451
+-90.2831	39.204	8923
+-88.7004	38.3809	9009
+-118.0659	35.7452	7575
+-86.9719	33.8984	5131
+-117.3621	28.4897	4906
+-116.0953	45.8199	6924
+-117.2367	46.6931	7987
+-116.7066	33.4667	8972
+-112.4281	31.364	7192
+-116.8672	32.4896	9372
+-115.4175	42.8411	4664
+-114.6295	31.8065	6913
+-82.3787	30.43	6866
+-120.7291	44.6614	6255
+-112.9643	31.7187	6619
+-114.4534	33.1955	6918
+-118.7452	43.4268	6387
+-110.5645	30.1762	7929
+-90.386	38.6929	9363
+-119.895	48.104	6537
+-83.8711	30.5169	6212
+-120.6961	45.9847	6955
+-117.0112	44.1896	6830
+-88.0918	35.2501	6999
+-109.7482	29.0888	6698
+-115.2484	30.8343	6827
+-79.908	28.0727	7351
+-120.9899	48.3709	7002
+-124.3845	48.118	7542
+-84.2319	28.4495	7396
+-118.0061	33.0283	8570
+-118.4182	34.4601	8232
+-115.3178	34.2637	7407
+-80.7816	27.7207	8362
+-90.816	38.6311	8941
+-91.8341	35.4966	5585
+-110.559	34.4897	6315
+-108.4112	32.4996	7167
+-111.4594	30.701	7924
+-91.7742	35.1961	5311
+-112.1848	31.9598	7426
+-83.0209	32.6966	4225
+-123.6401	45.1015	7402
+-116.6475	32.3035	9079
+-116.2836	32.4048	8863
+-107.9672	31.2844	6890
+-90.9731	41.4295	6467
+-118.5537	34.5229	8071
+-90.1852	44.198	3548
+-84.8224	27.0809	6753
+-117.0374	32.5591	9455
+-91.0747	37.8703	8218
+-114.5122	35.1167	6348
+-88.528	36.2905	8248
+-117.7892	31.8861	8368
+-81.9052	24.7307	6448
+-89.4308	34.6246	6321
+-124.1184	45.4882	7502
+-89.458	36.8843	8644
+-118.6092	32.3692	7854
+-92.4298	37.0943	6587
+-112.9518	33.2935	6085
+-93.5631	39.6672	5857
+-89.5215	39.5865	8130
+-124.1199	48.0892	7785
+-122.3857	46.3714	8742
+-119.0214	32.2297	7369
+-83.937	26.8857	7621
+-119.5361	45.6924	7865
+-111.6437	33.4415	7010
+-81.9561	27.8677	9662
+-87.2722	39.8628	6833
+-108.8744	33.3305	7007
+-90.8217	37.7866	8283
+-84.3752	25.0936	5945
+-79.845	26.8422	7100
+-121.2992	47.1741	7833
+-81.2312	29.9338	7237
+-80.1526	30.7961	5797
+-116.9993	43.5607	6247
+-118.7547	42.4986	5414
+-119.9859	46.5127	7405
+-114.8348	35.6054	6437
+-113.9769	31.6939	6191
+-116.516	36.1931	7146
+-106.6894	30.1299	5223
+-113.797	30.3196	5479
+-87.7073	28.3028	3557
+-112.3393	35.1846	5007
+-116.2059	32.7784	8903
+-126.0064	46.8879	6192
+-116.1323	35.3396	7732
+-92.8581	39.0214	6741
+-80.9001	30.2677	6738
+-81.0453	27.5463	8637
+-118.4448	46.6729	8630
+-115.3221	35.9091	6665
+-125.2504	47.3376	6992
+-91.0271	38.3661	8616
+-111.788	30.9889	7771
+-117.8751	47.6147	7599
+-80.4096	28.5423	7754
+-108.6945	32.5816	7395
+-90.1801	36.9827	8053
+-115.605	28.8929	5120
+-120.3059	33.2115	6073
+-122.6809	47.8274	8630
+-81.52	27.8246	9195
+-108.2644	28.3029	5272
+-112.4082	32.3486	7077
+-124.9153	44.8517	6397
+-94.5296	36.5894	4385
+-124.2824	46.755	8070
+-90.8559	37.3184	7799
+-82.5849	32.2198	4828
+-118.3971	34.6725	8172
+-123.453	48.443	7874
+-115.7029	33.6488	8065
+-111.2237	31.2205	8432
+-90.8651	41.7397	6160
+-116.6119	35.525	7860
+-118.2938	45.5857	8716
+-124.358	48.4125	7350
+-117.0551	46.9617	7672
+-118.7538	33.1641	7602
+-90.6919	40.9845	6993
+-117.4822	45.5205	8213
+-118.1246	34.9886	8216
+-114.9747	36.1926	6177
+-108.9306	32.6192	7584
+-121.189	36.2059	4699
+-82.7344	27.6021	9187
+-117.5444	45.6318	8334
+-117.1735	43.2619	6033
+-118.0446	45.4556	8533
+-90.5788	36.5621	7433
+-111.0479	30.8166	8338
+-116.3417	34.7227	8342
+-90.0133	34.0243	5494
+-89.0664	39.9221	7524
+-83.2743	24.1834	5638
+-110.7445	32.9641	7913
+-114.6123	30.4612	6038
+-87.6699	38.7386	8093
+-116.518	31.3955	8091
+-121.5406	43.3927	5405
+-115.864	46.1915	6696
+-118.9024	33.1293	7444
+-118.8629	37.2119	5755
+-84.2404	25.6717	6531
+-121.6318	42.7821	4802
+-82.1657	26.3301	8267
+-111.9595	33.1137	7054
+-87.3154	35.214	6617
+-117.2773	42.591	5395
+-115.4895	30.5282	6715
+-122.9862	47.4308	9087
+-91.0201	37.8064	8197
+-119.2643	32.4294	7154
+-125.1441	47.7001	7012
+-114.411	34.3094	6417
+-87.9571	37.0027	8640
+-122.2278	48.7097	7554
+-121.065	46.1561	7402
+-118.2457	42.0078	4926
+-115.2828	48.8156	4975
+-81.1397	28.4436	8532
+-118.4712	45.7662	8855
+-114.1187	48.0707	4381
+-89.6749	36.3433	8014
+-80.8034	27.8115	8387
+-91.1444	38.3191	8482
+-80.9861	26.7854	8185
+-117.0406	42.6812	5408
+-91.5001	39.6424	7884
+-84.7837	37.4529	5338
+-113.8595	30.8896	5580
+-116.9292	37.7916	5530
+-88.6736	37.7535	9672
+-90.5936	37.0824	7613
+-119.9188	36.4666	5685
+-119.4869	32.307	6885
+-117.122	31.6097	8395
+-113.5786	35.2067	5348
+-112.7153	31.7469	6887
+-88.9308	39.6412	7588
+-119.6222	49.7467	5146
+-108.767	32.8434	7296
+-80.3822	29.8744	6792
+-82.1922	30.053	7305
+-124.7099	47.4721	7542
+-117.6644	28.9393	5359
+-118.0699	35.966	7355
+-112.6012	30.7204	6845
+-109.3686	28.4062	5876
+-89.2913	39.1251	8180
+-113.2573	34.6267	5131
+-119.6689	31.5953	6445
+-88.0483	38.0761	8887
+-119.0206	45.2458	8065
+-121.3518	46.2573	7735
+-122.3332	47.1781	8942
+-81.6296	29.9641	7342
+-117.9593	35.6117	7757
+-117.4622	34.3429	9225
+-89.8178	39.1026	8706
+-90.5092	32.4233	3613
+-116.8955	33.6311	8857
+-90.5337	40.3079	7737
+-81.6486	28.3829	9005
+-115.7304	35.3887	7374
+-117.7057	49.6785	5422
+-116.969	35.5351	7975
+-111.0431	33.9067	6841
+-89.392	38.646	8350
+-117.7271	27.9218	4228
+-93.2767	38.9725	6297
+-92.4933	37.0661	6515
+-124.5203	47.7826	7613
+-115.4049	44.9115	5962
+-112.4321	32.442	7017
+-114.9703	32.3172	7458
+-115.9526	32.1655	8409
+-87.0957	35.8521	7047
+-123.5935	47.1678	8813
+-116.4962	30.227	6817
+-124.53	42.5986	4484
+-117.7465	46.6131	8474
+-116.5195	36.4232	6910
+-111.9851	31.3635	7668
+-125.1976	46.9141	7081
+-121.5774	45.5817	7502
+-79.7814	28.6802	7038
+-115.4442	33.3455	7955
+-118.1534	34.1541	8570
+-120.3035	35.3232	5980
+-90.5889	39.4352	8653
+-122.5056	46.6553	9054
+-117.3876	42.0986	4918
+-111.3269	30.2813	7699
+-108.9467	29.8244	7047
+-109.2632	32.5309	7925
+-110.9959	31.4864	8748
+-81.3276	28.7335	8468
+-121.0151	32.9471	5249
+-118.9876	34.1122	7660
+-124.1941	46.7676	8168
+-92.2277	41.5731	5790
+-110.8413	29.5188	7170
+-90.8828	41.1202	6814
+-115.7761	29.4194	5738
+-92.1655	40.6209	6639
+-115.7925	34.6719	7826
+-87.4134	36.5466	7844
+-117.3584	46.8685	7987
+-91.1031	33.5905	4542
+-114.5888	33.8608	6856
+-78.4681	26.3838	5460
+-117.9544	35.6921	7679
+-114.2422	36.7358	5186
+-83.4789	29.3983	7500
+-113.126	33.8551	5573
+-91.5991	37.9038	7828
+-121.0897	34.8757	5290
+-114.7269	46.8412	5413
+-109.0254	31.6288	8056
+-80.2939	28.4788	7661
+-84.2021	26.4273	7104
+-116.684	32.8674	9433
+-113.7691	30.5936	5600
+-115.2669	29.5709	5666
+-84.2433	27.2598	7437
+-83.7904	28.1857	7959
+-119.6377	47.3977	7274
+-120.8865	46.0014	7153
+-123.7633	44.09	6307
+-112.7583	30.87	6735
+-120.8936	45.1246	6614
+-81.0034	29.769	7291
+-82.4096	28.507	8998
+-89.8878	37.149	8429
+-117.9223	31.2391	7696
+-88.1411	39.5545	7582
+-112.2635	29.6167	6488
+-90.0976	37.8403	8397
+-123.5423	46.6104	8799
+-89.8535	40.806	7136
+-120.9109	48.9006	6558
+-87.4396	37.906	8301
+-79.1233	29.01	6208
+-115.0233	29.9502	5890
+-89.115	34.7007	6464
+-87.5732	37.9254	8444
+-123.4599	46.9019	8987
+-117.6221	33.0766	8966
+-108.4279	30.284	6975
+-116.106	34.8974	8022
+-115.7074	32.1254	8151
+-118.7148	33.1931	7654
+-94.3573	38.713	5141
+-88.6201	38.6273	8724
+-117.3734	33.2442	9094
+-121.7908	45.1467	7265
+-119.9648	47.2801	7085
+-118.3945	31.9587	7895
+-121.8456	48.7222	7356
+-112.3534	30.1228	6773
+-114.6063	30.9824	6419
+-85.3589	28.5816	6128
+-120.0276	36.312	5701
+-117.9555	30.2928	6729
+-126.612	48.4087	5231
+-86.9141	34.8658	6046
+-94.3511	41.0011	4507
+-90.9944	37.6771	8094
+-107.9482	30.2557	6516
+-123.7501	48.7802	7406
+-93.3046	37.3362	5926
+-110.4547	33.6322	7250
+-88.6213	36.0775	8025
+-119.2778	47.1653	7717
+-89.6792	34.3757	5982
+-115.6896	33.5659	8101
+-78.1468	28.7271	5253
+-84.0321	28.0554	7720
+-92.3194	38.3309	7289
+-110.0366	30.6563	8419
+-118.8506	34.5282	7757
+-119.2906	30.9135	6402
+-115.6919	30.5268	6830
+-120.9428	44.0522	5706
+-90.5328	41.7144	6225
+-122.2692	48.5843	7699
+-125.075	48.6856	6560
+-80.7186	30.3316	6578
+-114.0036	32.9804	6443
+-118.3612	47.2071	8085
+-123.3965	46.7929	9028
+-110.0756	33.2501	7646
+-119.9785	45.6838	7412
+-92.0176	38.6001	7655
+-124.7108	47.5618	7512
+-83.9732	28.8413	7482
+-90.2576	37.7408	8328
+-88.2051	38.814	8381
+-119.1642	31.7893	7047
+-88.5095	38.1752	9175
+-109.3048	26.4692	3822
+-123.2409	48.7353	7627
+-111.0731	30.4809	8035
+-119.5171	36.6388	5864
+-87.25	40.2795	6423
+-119.2252	34.1174	7401
+-121.5131	46.3793	7952
+-111.1535	31.2822	8527
+-117.1099	35.1866	8376
+-90.052	38.2945	8817
+-117.2839	34.4405	9202
+-88.7329	35.8738	7803
+-91.1005	40.5616	7324
+-91.0644	37.0263	7427
+-90.121	35.797	7224
+-120.9835	32.695	5190
+-121.6586	49.7252	6283
+-106.4196	29.9106	4862
+-110.3253	28.9464	6617
+-89.3917	36.4312	8262
+-115.014	33.787	7321
+-108.7165	31.3986	7710
+-109.8889	29.7035	7381
+-88.2735	38.4065	8816
+-88.8733	42.3132	5253
+-120.0984	46.1411	7338
+-117.5061	30.058	6618
+-116.6338	32.7304	9369
+-118.3901	48.0429	7200
+-118.067	34.2078	8661
+-118.6286	33.8111	8011
+-117.7285	30.5302	7065
+-87.274	40.1589	6554
+-106.0743	29.5637	4367
+-118.4607	36.0662	7060
+-90.5215	35.209	6426
+-115.4502	46.6108	6212
+-115.6009	46.5675	6377
+-117.5604	34.3337	9150
+-87.7399	39.1189	7818
+-110.1938	33.2218	7692
+-118.8616	43.6412	6585
+-118.5915	33.3378	7852
+-116.0283	35.0808	7837
+-120.4586	49.4031	5817
+-82.9791	25.4243	7075
+-115.1209	34.2072	7196
+-89.058	37.9957	9321
+-90.0824	36.8682	8088
+-119.4673	46.123	8006
+-114.3485	36.6053	5366
+-119.3154	33.6256	7235
+-111.0593	33.4143	7340
+-83.7165	26.2182	7387
+-117.1282	33.1357	9354
+-112.0394	34.0864	6192
+-92.4982	39.0711	7119
+-118.3706	35.4234	7686
+-90.1646	38.8322	9172
+-88.4232	41.8123	5505
+-119.8139	34.5234	6727
+-89.8567	36.9353	8342
+-118.5463	35.552	7454
+-115.309	30.4375	6519
+-119.7784	44.0421	6567
+-118.1929	33.5695	8355
+-89.1503	37.4096	9297
+-82.7379	29.2277	8103
+-111.4937	32.4812	7884
+-120.115	36.368	5589
+-89.351	34.5779	6287
+-115.7345	35.8188	7053
+-121.2616	42.2896	4139
+-122.5853	48.0203	8398
+-121.8459	49.3725	6720
+-110.2579	35.1338	5626
+-117.922	33.269	8574
+-109.7317	32.4078	8368
+-81.2368	27.9287	8862
+-85.9002	37.6162	6597
+-123.5086	49.115	7153
+-111.196	32.05	8411
+-120.3282	34.0972	6198
+-119.909	41.437	4030
+-119.0034	31.7642	7196
+-112.2161	33.4846	6574
+-119.2595	45.7131	8148
+-90.3082	39.789	8302
+-89.1032	38.3443	8965
+-116.6981	36.7932	6571
+-90.3563	39.5186	8595
+-92.6421	37.5726	6679
+-90.5897	37.6131	8179
+-116.8174	36.0881	7350
+-89.8426	37.6802	8607
+-82.0229	25.4807	7303
+-82.6986	25.489	7238
+-120.9628	44.5408	5977
+-91.2704	38.5268	8438
+-121.8231	46.8588	8417
+-81.6982	30.4928	6769
+-85.0363	38.794	5440
+-88.169	35.4038	7189
+-124.7693	48.4237	7002
+-119.115	36.0859	6605
+-117.8596	34.1325	8891
+-115.6323	34.2284	7752
+-113.5382	33.0601	5919
+-109.2486	32.2471	8096
+-119.9295	48.287	6361
+-81.1306	29.491	7636
+-92.6968	37.6487	6663
+-121.5808	30.8555	4161
+-77.7718	26.4174	4727
+-118.414	37.4056	5755
+-88.5425	40.6803	6549
+-113.3954	47.1542	3965
+-88.3606	38.8515	8409
+-81.6294	24.9727	6681
+-106.7087	29.4785	4932
+-111.7271	26.6827	3953
+-83.2912	33.1698	3641
+-119.4802	46.2566	7982
+-119.6333	31.7531	6551
+-120.8415	48.2182	6959
+-110.4037	34.7051	6090
+-116.9324	32.1346	8991
+-92.3716	37.9295	7106
+-89.975	36.8308	8166
+-90.1459	38.4563	9017
+-118.2185	42.7763	5740
+-119.4315	34.3235	7167
+-115.0773	35.6361	6641
+-87.7174	37.6545	8637
+-116.3954	32.9926	9086
+-123.919	46.3172	8279
+-119.2607	48.0936	6909
+-117.7398	31.632	8175
+-89.7699	36.708	8258
+-119.8462	49.324	5466
+-117.0995	34.1962	9343
+-115.8258	30.015	6379
+-123.56	47.0133	8879
+-118.8993	45.3758	8254
+-115.8409	36.7693	6269
+-78.7044	30.3649	5025
+-116.3202	32.8687	9030
+-119.9831	31.0844	5873
+-89.2579	37.5607	9251
+-120.1169	49.6517	5358
+-110.3778	31.3426	9208
+-121.3893	43.8795	5830
+-115.6071	33.0266	8218
+-124.0397	47.2216	8323
+-84.0095	36.3632	4279
+-122.8851	47.9504	8525
+-109.8544	30.3158	8006
+-90.2598	36.7138	7827
+-116.7221	33.6841	8768
+-84.5749	24.967	5690
+-118.4369	36.3838	6771
+-118.7335	45.0156	8017
+-86.3946	37.5438	7149
+-125.2213	44.9823	6251
+-117.457	34.9506	8622
+-89.861	39.1003	8747
+-106.3026	32.3206	5034
+-95.0126	36.925	4061
+-110.9186	30.7233	8346
+-117.0386	34.2516	9258
+-107.0013	32.9755	5561
+-118.7822	34.8988	7686
+-90.7302	41.5817	6349
+-87.1501	37.076	7883
+-106.3846	29.5896	4681
+-82.533	27.282	9182
+-113.8666	33.0495	6285
+-89.4567	39.0048	8389
+-111.2318	30.3937	7858
+-82.6879	28.5612	8796
+-118.9209	29.5986	5553
+-117.6988	33.471	8675
+-121.8985	47.0237	8504
+-119.2922	36.7717	5909
+-115.2575	32.3475	7776
+-121.4828	43.9061	5901
+-121.4252	45.7199	7485
+-89.8726	40.8254	7121
+-80.5801	33.0297	3684
+-79.685	31.5049	4837
+-89.5117	39.8382	7922
+-121.0638	45.025	6670
+-82.9639	27.9499	8930
+-90.6135	36.9256	7442
+-85.4267	39.2077	5686
+-113.4206	33.6655	5686
+-90.0471	38.3553	8865
+-115.0008	29.502	5454
+-121.6278	35.1372	4656
+-108.0455	30.5877	6770
+-88.5285	35.5344	7408
+-121.4967	43.5603	5559
+-118.3327	35.0787	7984
+-83.2083	27.3647	8594
+-115.0886	29.9962	5973
+-115.788	34.0911	7924
+-90.639	37.7257	8286
+-87.278	34.1161	5494
+-115.8455	35.8699	7090
+-117.5946	30.9964	7605
+-91.4954	39.783	7788
+-122.3931	49.0239	7278
+-89.4747	40.4625	7335
+-117.8492	30.7233	7219
+-88.8456	37.2278	9315
+-88.7731	40.9043	6525
+-91.7635	37.8795	7666
+-118.2577	34.8263	8219
+-104.9869	32.7379	3547
+-119.7887	44.4961	6931
+-113.8892	32.7117	6318
+-121.871	45.2164	7376
+-108.9103	30.1614	7294
+-92.9151	36.5841	5833
+-81.3267	26.3841	8082
+-116.9074	30.5333	7205
+-88.2325	35.0783	6849
+-88.0895	39.4933	7628
+-120.4968	43.0112	5236
+-88.3272	42.4466	4865
+-116.9131	34.3675	9075
+-116.9672	31.1339	7876
+-87.9056	39.9419	7084
+-116.8072	46.5554	7625
+-112.5775	31.0813	6982
+-112.0132	33.8767	6393
+-89.2193	37.984	9194
+-92.2132	38.0225	7302
+-110.8307	33.6972	7121
+-82.6172	30.232	7050
+-118.3717	44.8935	7979
+-90.3486	37.7405	8336
+-84.8768	29.883	5972
+-88.8073	38.5827	8785
+-87.1958	38.92	7559
+-113.6549	45.3142	4288
+-126.4287	46.095	5613
+-116.4214	32.9705	9121
+-109.0752	31.2114	8052
+-88.8398	37.9365	9501
+-91.7849	36.8175	6851
+-88.7144	38.9551	8367
+-119.6343	47.1248	7465
+-112.8095	33.9039	5797
+-87.1374	36.2851	7418
+-120.2089	47.501	6738
+-94.2472	37.2138	4943
+-115.9478	47.6341	6301
+-116.5177	31.0742	7746
+-91.9216	41.1955	6310
+-110.1335	28.2389	5844
+-118.3485	30.8259	7050
+-123.1017	49.6384	6662
+-110.6867	34.5183	6271
+-110.109	33.8275	7030
+-109.9702	29.4903	7172
+-117.383	33.8819	9236
+-114.8351	33.0805	7357
+-107.8942	31.8462	6816
+-118.2947	46.7765	8544
+-83.6655	26.3136	7504
+-115.5431	33.4237	8027
+-118.3118	48.3537	6873
+-87.9619	35.2057	6909
+-112.7986	33.294	6222
+-118.1903	45.0588	8153
+-124.438	47.7363	7717
+-111.9878	35.2095	5155
+-81.9709	30.0894	7258
+-118.6241	27.1764	3196
+-118.5746	33.5993	7997
+-119.7885	45.4407	7520
+-117.5654	32.0775	8692
+-89.5379	35.7093	7454
+-118.9999	35.3418	7233
+-115.8422	32.2719	8359
+-81.7512	26.0293	7880
+-119.1598	46.2324	8322
+-88.9371	37.7045	9619
+-115.5513	32.8356	8174
+-116.6964	31.9698	8761
+-86.7129	36.9026	7356
+-91.5562	37.5454	7612
+-125.5726	48.3661	6292
+-79.0425	24.6146	4898
+-119.3875	35.3013	6897
+-119.0466	32.7758	7432
+-87.3496	38.5427	7945
+-119.4242	43.8799	6617
+-117.0553	32.0655	8909
+-119.7332	48.8747	5945
+-85.4484	39.2914	5667
+-117.5043	46.1216	8435
+-90.1255	40.0446	8002
+-89.2679	39.6649	7869
+-81.0548	30.9809	6057
+-115.6908	46.5135	6480
+-83.2161	27.45	8616
+-87.1194	38.3761	7802
+-123.9134	48.7089	7392
+-83.2572	30.1392	6922
+-109.0872	32.4849	7807
+-121.4414	47.9014	7703
+-112.6746	30.8645	6820
+-122.7411	34.9418	3501
+-91.254	40.2508	7554
+-119.7852	45.7221	7620
+-108.2214	30.4711	6888
+-115.4246	46.1705	6232
+-89.1235	36.8488	8814
+-94.0856	36.7296	4878
+-111.9894	32.1297	7584
+-82.3108	27.7976	9689
+-117.4121	33.0603	9186
+-88.2735	36.2973	8182
+-107.3513	32.3801	6129
+-124.1248	48.5368	7418
+-120.0575	36.8802	5266
+-118.5105	36.1163	6984
+-86.7838	39.8682	6489
+-117.7347	33.04	8861
+-117.5894	33.8858	9094
+-108.2438	28.8441	5741
+-116.6312	31.3496	8074
+-89.5988	35.404	7110
+-86.5965	37.0932	7296
+-124.3556	43.3662	5340
+-83.0106	28.8068	8353
+-88.0003	36.8476	8557
+-120.553	45.9225	6849
+-117.0382	34.5991	8972
+-117.7263	48.1567	7004
+-119.6225	36.2323	6096
+-117.0295	33.5703	8871
+-123.8912	45.8596	7974
+-120.7868	45.6265	6857
+-115.1182	37.0916	5550
+-110.1634	32.5356	8425
+-115.667	32.4969	8260
+-89.6634	35.0446	6705
+-91.9853	39.2513	7615
+-116.9652	32.6765	9597
+-123.8233	47.4726	8449
+-92.9266	39.0274	6667
+-92.0003	36.7309	6636
+-109.6204	31.3194	8650
+-121.6891	47.0769	8270
+-86.7554	37.7537	7555
+-118.7813	48.7312	6424
+-119.2132	34.4468	7387
+-122.3018	47.0202	8946
+-115.8824	28.8523	5169
+-114.1897	31.8823	6485
+-79.7799	30.8049	5544
+-80.5305	26.528	7601
+-114.6074	34.347	6628
+-117.295	33.5063	8853
+-116.8215	47.6493	7005
+-115.3114	29.4746	5593
+-123.7407	47.3785	8578
+-117.6992	47.9214	7235
+-117.6204	33.8341	9032
+-78.873	27.7104	6203
+-91.0155	42.758	5051
+-116.7241	30.4203	7066
+-88.749	37.8379	9621
+-121.2798	28.5601	2994
+-89.4994	39.2729	8317
+-108.7699	32.2853	7617
+-115.8658	28.2504	4514
+-84.6309	25.3123	5931
+-113.8682	32.3816	6263
+-118.3939	34.1822	8307
+-88.2417	37.773	9214
+-120.727	30.7898	4988
+-118.6421	29.9784	6077
+-84.1141	27.3531	7603
+-109.3909	30.5478	7957
+-117.7618	32.0033	8484
+-114.1727	27.3688	3297
+-115.6468	42.6092	4627
+-125.3068	46.1602	6818
+-93.0724	43.7319	3322
+-118.3216	33.5296	8212
+-117.0975	47.4063	7392
+-114.5861	33.8678	6850
+-89.0922	39.7814	7643
+-113.9464	33.0157	6377
+-115.8262	30.4462	6819
+-87.479	37.6435	8370
+-121.4917	45.7354	7551
+-117.964	45.8348	8821
+-117.3111	47.5378	7422
+-118.0676	34.4784	8586
+-119.7975	43.424	6004
+-91.5329	37.3016	7431
+-116.37	26.7598	2964
+-109.8724	30.912	8591
+-89.2714	36.6804	8572
+-113.3539	34.4011	5260
+-116.7428	35.3778	8065
+-115.8139	32.9635	8457
+-115.8247	32.1902	8300
+-124.2908	44.9307	6897
+-80.6688	28.1282	8186
+-89.5488	38.3704	8436
+-89.3088	34.5495	6264
+-111.8693	33.6424	6690
+-89.2071	38.885	8148
+-86.1123	29.2231	5099
+-107.3705	31.04	6210
+-91.4909	37.4109	7551
+-123.592	45.0933	7412
+-86.0658	36.5358	6529
+-115.6949	35.8455	7003
+-85.5585	25.0774	4966
+-91.0398	37.4558	7860
+-88.5657	40.7587	6504
+-113.05	32.8514	6225
+-122.1821	47.695	8483
+-92.3201	35.8723	5686
+-109.481	33.2606	7435
+-90.8831	37.5688	8042
+-119.6537	44.8849	7321
+-109.1869	34.5671	6010
+-113.9136	31.9996	6228
+-92.0263	38.0347	7493
+-87.9565	37.2244	8779
+-109.8952	31.228	8862
+-122.6542	47.5145	8946
+-116.4763	44.8159	6913
+-117.7506	48.4874	6670
+-118.5239	33.518	8011
+-83.4815	26.0494	7422
+-79.8394	25.9736	6598
+-91.6967	39.5709	7755
+-122.4597	34.6716	3843
+-89.4412	39.6129	8047
+-121.8819	42.5858	4665
+-118.7019	49.6035	5524
+-118.5698	30.8267	6903
+-90.4903	35.2342	6469
+-86.9791	34.2947	5532
+-93.2653	37.7159	6124
+-91.0918	39.6466	8193
+-83.8909	28.364	7792
+-91.3028	35.0336	5712
+-80.0436	28.4883	7391
+-125.3528	47.1161	6906
+-117.7044	32.4897	8853
+-110.2116	31.4012	9236
+-114.2486	32.5766	6709
+-113.2815	29.5688	5605
+-124.102	46.814	8275
+-115.9276	46.0436	6765
+-81.5425	30.3365	6909
+-124.0818	46.0956	7993
+-115.429	30.3276	6490
+-117.979	34.0897	8759
+-108.7898	29.8832	6986
+-111.2245	26.0686	3421
+-115.1284	36.6398	5944
+-86.0011	37.1502	6657
+-89.2073	37.7649	9308
+-111.4906	29.372	6769
+-122.3919	47.0916	9031
+-91.4283	40.26	7445
+-118.2281	32.578	8321
+-89.243	42.0996	5611
+-90.9818	39.7293	8187
+-119.9637	49.2007	5525
+-124.4644	42.3422	4243
+-125.8221	48.4109	6025
+-116.5299	44.4516	6712
+-83.9259	39.3608	4058
+-87.0017	35.8548	6976
+-115.5097	34.5356	7572
+-123.2857	47.7964	8601
+-123.323	46.0124	8459
+-96.8468	39.7556	2374
+-114.8293	43.601	4745
+-116.4711	30.0226	6588
+-110.3185	32.3221	8673
+-120.0905	31.8622	6109
+-115.6496	31.5754	7734
+-89.0003	38.8819	8425
+-120.3222	44.5364	6539
+-83.6281	29.3961	7391
+-109.3257	34.6714	5954
+-118.9151	48.4633	6670
+-116.3301	30.7625	7354
+-113.4024	29.5251	5470
+-120.757	31.6022	5313
+-90.4772	38.9103	9224
+-113.7297	30.4151	5582
+-90.9854	38.2709	8595
+-108.8641	29.9243	7073
+-113.6914	34.4344	5624
+-86.0485	40.5315	5382
+-110.1553	30.4923	8276
+-115.728	42.788	4830
+-115.3189	31.701	7533
+-80.8454	26.4429	7803
+-118.8822	27.9036	3871
+-90.8298	35.6202	6554
+-121.8089	46.796	8393
+-94.5409	42.323	3516
+-89.3901	36.812	8628
+-91.7916	37.7537	7565
+-121.8378	44.8688	7023
+-115.7264	34.1141	7858
+-108.0202	31.5474	6967
+-87.6807	37.3498	8546
+-86.9059	34.795	5975
+-112.1442	31.7691	7501
+-118.7231	36.5993	6414
+-116.9647	48.1347	6693
+-91.9723	40.8184	6613
+-125.4251	49.0411	6016
+-116.3386	33.0307	9013
+-110.5535	31.359	9133
+-80.7279	27.4877	8271
+-85.3365	36.0923	5579
+-88.0625	36.7736	8539
+-86.2769	39.6691	6228
+-110.5514	32.1357	8830
+-88.7358	37.1674	9254
+-90.9076	38.6136	8840
+-122.4141	48.2449	8104
+-80.9785	25.1026	6608
+-88.9724	39.0529	8241
+-115.9974	30.1613	6600
+-117.3939	34.1755	9392
+-81.4676	26.8239	8587
+-85.7034	30.0633	5090
+-89.999	36.3055	7755
+-120.2992	37.1054	4906
+-88.8897	35.743	7652
+-88.5566	37.958	9411
+-118.58	47.5045	7740
+-85.9398	38.382	6542
+-90.1982	36.5271	7762
+-119.7007	34.5468	6845
+-117.8519	32.9338	8757
+-85.3411	25.7399	5600
+-81.167	31.3356	5709
+-118.0949	31.9118	8140
+-117.7117	44.0243	6980
+-78.8265	28.3574	6092
+-91.7084	40.6332	6942
+-113.1636	30.0855	6004
+-125.0396	45.3233	6642
+-115.4673	33.7959	7755
+-116.742	31.5484	8316
+-87.7867	38.2797	8517
+-115.035	34.0773	7103
+-91.5965	37.9444	7855
+-125.6005	47.8537	6483
+-111.8124	30.2093	7286
+-121.8791	46.3918	8319
+-116.8676	33.0481	9472
+-122.0334	48.3714	7793
+-90.9574	37.0657	7506
+-123.1539	45.431	7896
+-117.6644	33.9468	9059
+-118.0406	32.2578	8402
+-83.1455	25.9556	7545
+-124.6341	49.8595	5901
+-125.2271	48.9094	6276
+-109.3113	36.1907	4360
+-120.613	44.6971	6380
+-108.7532	32.4907	7499
+-113.2249	34.6003	5100
+-123.4942	42.7352	4912
+-88.2029	39.6478	7502
+-125.0231	47.0023	7273
+-83.1772	30.1406	6958
+-114.0943	32.0622	6440
+-82.9798	27.2799	8788
+-116.7719	34.7123	8707
+-116.0575	30.5162	6994
+-116.4922	35.8235	7510
+-126.525	46.1475	5523
+-119.0427	45.8592	8417
+-118.1895	34.6838	8366
+-116.853	37.025	6352
+-90.5845	41.8162	6112
+-118.8935	33.7276	7709
+-92.0723	40.1083	7088
+-120.5861	42.0758	4350
+-78.7046	24.4669	4509
+-120.5804	45.4893	6743
+-84.3145	30.1813	6211
+-88.2341	41.6789	5509
+-81.7761	32.5123	4508
+-107.9288	28.7547	5451
+-116.4549	47.2171	6991
+-90.1141	35.8099	7240
+-81.2127	26.3418	7973
+-121.07	44.3273	6078
+-117.7217	44.5477	7512
+-118.4459	36.9404	6217
+-123.1106	49.3505	6977
+-117.6037	47.1143	7968
+-91.8345	42.4313	5159
+-91.4666	40.6784	7040
+-87.3596	35.7156	7116
+-84.4232	28.8116	7045
+-113.462	31.6176	6084
+-123.3418	46.8768	9111
+-109.2293	32.8926	7618
+-77.1479	31.7099	2701
+-88.9555	33.5395	5178
+-91.9903	34.934	4961
+-88.4814	40.1602	6872
+-116.8784	32.6831	9574
+-120.9483	43.569	5368
+-117.4247	45.7226	8267
+-86.4779	39.2155	6713
+-120.8006	34.086	5683
+-107.9384	31.7791	6870
+-87.6558	41.6153	5161
+-122.0802	48.2005	7979
+-114.8332	35.0298	6709
+-118.1006	32.5924	8463
+-115.4541	31.9433	7805
+-108.8164	33.6406	6704
+-93.7629	43.6118	3042
+-124.5825	49.8297	5958
+-118.4153	35.0323	7947
+-106.6993	32.9014	5285
+-90.4171	38.3733	9017
+-116.6365	32.2924	9062
+-116.7672	29.9528	6551
+-115.9054	34.7215	7920
+-117.0286	30.9517	7672
+-80.1767	25.5542	6551
+-82.196	27.7272	9809
+-110.4727	28.9437	6610
+-119.7831	49.3654	5455
+-123.1071	45.5304	8012
+-85.9138	37.9709	6594
+-95.1616	39.1786	4253
+-115.641	46.9668	6315
+-87.6585	39.2952	7603
+-87.3207	40.0879	6649
+-81.6256	30.4582	6794
+-115.2748	30.4895	6544
+-114.5535	30.5046	6025
+-82.3844	28.5219	8992
+-92.4912	36.215	5871
+-110.7854	30.7957	8490
+-123.5709	44.4525	6747
+-82.3664	27.9772	9537
+-118.3754	36.1172	7059
+-110.7482	31.6347	9021
+-116.7854	46.7766	7520
+-107.4587	33.6426	5642
+-117.8826	33.232	8631
+-118.1145	30.0869	6450
+-87.0288	39.2556	7171
+-123.3695	49.3571	6930
+-117.1824	47.5133	7363
+-115.6048	40.3437	2536
+-82.9608	27.6841	8952
+-91.613	37.6205	7625
+-89.0587	40.0353	7435
+-121.7496	47.6748	8122
+-79.4084	25.9885	6211
+-118.9886	45.9668	8500
+-117.5503	44.6051	7497
+-82.9875	28.2773	8767
+-118.1367	32.8764	8446
+-118.2298	37.486	5733
+-122.9303	47.442	9083
+-108.0177	31.5061	6963
+-92.8919	42.0231	4980
+-108.641	33.8617	6399
+-120.5444	46.8624	7016
+-89.5337	36.4931	8242
+-112.8115	32.42	6640
+-90.3893	41.0671	6927
+-82.1296	30.4595	6846
+-81.2677	33.4192	3423
+-118.7115	33.3617	7751
+-86.3457	29.3761	4791
+-116.2177	32.968	8901
+-84.7321	33.0383	3243
+-116.6705	33.1738	9235
+-87.3478	37.3474	8183
+-119.8356	35.4108	6408
+-118.1399	45.1548	8248
+-90.4165	37.465	8039
+-92.0457	41.2734	6167
+-87.1985	36.2274	7426
+-119.1593	36.7676	6000
+-119.0942	28.6318	4517
+-122.7339	48.0492	8403
+-120.6344	32.7108	5550
+-93.1407	39.2428	6405
+-90.5519	38.6878	9231
+-115.0245	45.9489	5805
+-117.3677	48.5449	6496
+-119.651	32.8206	6759
+-122.8265	48.9621	7412
+-119.4584	32.6228	6965
+-107.9239	33.775	5945
+-109.9909	29.7134	7414
+-116.6857	32.1372	8933
+-109.4175	29.8737	7372
+-84.6706	28.0683	7002
+-88.3213	38.5548	8699
+-116.8948	33.8751	9044
+-90.1024	35.6539	7104
+-80.5265	26.528	7597
+-88.7474	36.3283	8313
+-110.9324	33.4267	7373
+-89.2718	39.8576	7733
+-83.6484	26.5914	7723
+-85.6865	35.0871	5306
+-91.1856	41.1963	6649
+-119.9953	36.1625	5829
+-119.2384	35.7928	6727
+-113.8484	33.3091	6232
+-121.2464	48.0351	7443
+-116.5665	33.1192	9193
+-120.8149	45.0223	6347
+-90.2495	35.1852	6571
+-90.293	39.5972	8506
+-108.9594	30.2852	7426
+-123.483	43.3151	5544
+-90.0006	36.2564	7712
+-114.0336	37.4153	4513
+-90.9457	37.2953	7743
+-85.5086	27.4093	6053
+-123.7246	47.5254	8512
+-92.5127	40.3485	6554
+-119.3025	32.0651	7016
+-91.0848	39.2988	8464
+-90.6501	34.8413	6004
+-116.4146	47.0865	7023
+-118.9176	31.6897	7240
+-85.0518	28.2821	6540
+-113.7717	31.922	6052
+-124.8252	43.4239	5176
+-89.3403	41.5786	6175
+-108.9613	32.0687	7897
+-81.4903	25.1462	6840
+-116.5077	44.6539	6835
+-89.6773	41.163	6715
+-83.1476	29.6894	7433
+-93.0786	35.8039	5120
+-88.5188	37.1317	9154
+-109.8749	29.2705	6919
+-89.4088	38.6372	8367
+-78.9418	28.2386	6242
+-88.84	39.8987	7351
+-127.5967	43.7921	3378
+-110.8244	28.7012	6306
+-118.4494	36.5655	6588
+-87.2194	39.731	6919
+-91.494	40.4612	7226
+-115.0811	35.4915	6731
+-117.2911	33.9245	9309
+-111.7153	29.5323	6794
+-113.0126	27.0577	3775
+-117.9201	35.8912	7492
+-119.5233	32.4097	6865
+-107.5563	29.4099	5653
+-108.6214	32.0557	7549
+-112.4052	32.2375	7120
+-122.898	44.1493	6511
+-89.9407	38.3567	8786
+-108.3682	27.5205	4584
+-108.6804	30.2237	7155
+-91.8168	35.6635	5756
+-85.0528	38.6393	5506
+-117.0369	36.3015	7159
+-118.3535	46.7888	8527
+-88.7354	35.3279	7190
+-120.3196	30.6151	5279
+-89.571	36.007	7746
+-109.7861	32.7185	8108
+-115.8552	28.5706	4857
+-90.6319	37.4261	7972
+-124.6037	48.4988	7089
+-119.6838	48.1024	6673
+-83.1781	24.7409	6271
+-115.4132	36.0408	6637
+-89.8317	35.7314	7336
+-116.4304	45.8524	7281
+-87.7556	39.432	7531
+-110.7634	31.2119	8858
+-117.7183	48.2342	6922
+-110.402	30.4452	8238
+-82.6969	26.6052	8432
+-92.2047	38.344	7413
+-114.1685	37.0798	4874
+-117.6837	49.2787	5835
+-119.1471	35.2438	7156
+-85.8192	28.5244	5635
+-123.2088	49.0855	7254
+-118.7108	46.5507	8603
+-117.0164	32.6138	9520
+-84.2079	38.7491	4555
+-108.4354	35.2818	4970
+-79.9668	27.608	7435
+-120.9049	44.5633	6042
+-121.3579	36.6579	4294
+-87.4769	39.8951	6924
+-114.8032	43.8411	4866
+-90.8048	39.7699	8235
+-90.3319	41.0434	6952
+-91.4379	39.2492	8167
+-110.0983	36.468	4175
+-91.4628	36.9612	7172
+-119.4208	43.0744	5837
+-92.4312	35.7723	5529
+-83.9203	30.6069	6096
+-85.8107	35.613	5775
+-116.8959	37.9013	5408
+-111.3971	29.4458	6887
+-125.1394	43.2061	4798
+-127.0289	43.8085	3895
+-89.441	38.7893	8408
+-118.5626	33.2112	7803
+-88.5364	34.7228	6501
+-119.6853	29.4782	4951
+-93.444	39.0567	6109
+-78.3994	29.1564	5385
+-117.3637	31.4511	8167
+-87.7869	38.4211	8427
+-81.5083	26.4201	8213
+-117.2943	32.4687	9220
+-120.3279	47.2663	6768
+-88.9483	37.2756	9332
+-117.9635	33.30	8353
+-109.4783	31.2747	8489
+-122.4146	45.1511	7542
+-112.3345	28.9507	5891
+-90.0516	38.4028	8907
+-90.3519	37.0939	7639
+-114.735	32.0067	7105
+-80.3392	27.8749	7859
+-116.7662	30.6322	7306
+-117.8365	35.6949	7725
+-117.1139	42.1786	4927
+-118.3824	35.9882	7177
+-108.5894	33.4498	6706
+-88.9599	37.0733	9115
+-89.5439	36.6887	8413
+-90.3663	37.5206	8099
+-111.3592	30.0076	7436
+-121.8354	49.0544	7031
+-115.853	34.6517	7896
+-116.735	34.1649	8957
+-118.8067	34.4321	7827
+-117.8596	36.1787	7215
+-90.1125	39.0578	8982
+-119.1944	46.2412	8284
+-118.3604	31.9912	7946
+-88.8644	39.6679	7512
+-91.7053	38.4552	7964
+-125.2095	46.6625	7047
+-90.1359	37.8884	8458
+-113.0179	35.1235	4779
+-124.8438	48.383	6964
+-127.2795	45.2322	4431
+-116.6093	33.1497	9208
+-89.0375	41.0784	6526
+-87.1239	36.5493	7585
+-121.3509	46.9971	7904
+-117.3274	29.2385	5742
+-84.3205	28.1068	7388
+-80.2402	27.6972	7749
+-120.9549	48.423	6937
+-84.2453	24.5643	5553
+-116.563	47.3538	7006
+-111.2033	29.1898	6714
+-90.6048	33.4129	4614
+-114.0948	33.6544	6416
+-118.7161	32.2853	7713
+-111.0148	35.902	4736
+-88.1271	38.1994	8880
+-86.2087	36.9614	6837
+-109.9335	33.3563	7504
+-80.7185	26.239	7537
+-87.7133	33.4403	4927
+-116.1713	43.7341	5902
+-94.0923	37.8205	5303
+-119.341	47.8417	7102
+-116.235	33.8611	8374
+-88.4798	36.8701	8865
+-81.2258	26.5436	8169
+-93.1094	40.4498	5962
+-82.8206	29.2213	8072
+-87.7939	39.6416	7343
+-86.3575	28.7342	4990
+-126.3079	47.4017	5832
+-117.1219	33.1175	9375
+-110.1335	34.3563	6461
+-80.366	29.2673	7269
+-122.6143	47.9922	8437
+-91.1307	41.0399	6828
+-117.9332	29.8146	6235
+-117.1296	31.4987	8272
+-90.1854	36.2412	7558
+-91.3608	36.5839	6863
+-89.1008	35.476	7328
+-108.343	29.7002	6505
+-88.9162	39.8536	7446
+-113.3102	31.9149	6228
+-90.2201	38.0067	8604
+-94.4922	39.9263	4818
+-126.8807	49.4824	4433
+-115.82	45.916	6644
+-117.0337	35.1806	8368
+-115.6464	34.9682	7550
+-117.7277	44.1336	7096
+-119.0702	37.1309	5722
+-88.3889	35.9695	7864
+-86.2605	38.0923	6962
+-117.7276	35.05	8419
+-116.3394	34.3933	8487
+-111.687	32.4566	7728
+-116.8746	31.2931	8050
+-91.0867	37.7504	8107
+-117.8795	35.8764	7522
+-111.466	31.5062	8243
+-116.0164	32.4469	8616
+-90.4175	37.8994	8507
+-118.7194	47.8913	7308
+-117.8108	47.8735	7317
+-77.2554	25.9462	4002
+-122.9101	49.6629	6644
+-90.2251	37.8307	8419
+-118.5322	34.4701	8109
+-86.0137	39.4253	6148
+-93.5003	39.8402	5865
+-118.5799	45.9537	8910
+-108.4169	31.8988	7369
+-119.6001	32.2242	6742
+-93.3896	35.9889	5025
+-88.5297	38.6488	8680
+-120.7265	31.8607	5426
+-118.335	47.0753	8226
+-90.9999	36.2436	6642
+-115.2389	33.5668	7652
+-119.2181	46.2435	8259
+-90.7336	41.1281	6834
+-106.7408	32.2153	5521
+-88.079	35.2545	7000
+-124.8056	46.655	7485
+-119.8941	46.0658	7554
+-120.4082	46.2088	7007
+-88.4494	37.4023	9352
+-89.4111	39.1576	8288
+-112.516	29.6543	6318
+-116.9722	32.7182	9643
+-118.8416	30.5773	6495
+-123.4594	44.804	7152
+-112.8208	30.605	6577
+-111.3477	28.0123	5451
+-116.2016	37.0443	6157
+-88.4065	38.8289	8449
+-109.2737	31.742	8313
+-123.7251	45.4011	7662
+-112.7144	33.5278	6143
+-93.1998	40.0445	6083
+-90.5387	36.7635	7583
+-123.38	49.4357	6843
+-80.4423	27.4826	7952
+-120.5946	47.298	7047
+-118.2265	33.4742	8268
+-90.298	38.4731	9112
+-111.9378	32.1437	7632
+-91.9012	40.7859	6687
+-90.7706	37.1494	7649
+-79.3071	28.1117	6671
+-110.2698	31.3984	9262
+-108.822	30.8058	7632
+-117.4992	30.1728	6745
+-114.8639	35.6625	6431
+-117.5482	31.3678	8011
+-115.7646	47.8426	6017
+-85.497	29.7182	5493
+-125.6932	44.3323	5388
+-112.6505	30.159	6527
+-87.7754	36.8394	8366
+-117.574	35.3234	8197
+-118.3873	43.3001	6293
+-88.937	40.4051	7055
+-116.9842	33.9912	9193
+-122.6069	44.8132	7219
+-118.1878	44.9916	8082
+-83.3718	29.7768	7221
+-81.6861	26.8808	8770
+-118.477	47.4585	7807
+-120.518	45.9669	6890
+-118.2226	32.458	8296
+-81.5586	27.4893	9170
+-122.0063	45.9726	8138
+-114.8608	45.9525	5632
+-88.9483	35.4893	7363
+-116.2965	36.6148	6631
+-107.3769	34.3195	5109
+-88.4488	37.4294	9370
+-115.5813	31.7626	7811
+-81.8743	26.1899	8085
+-88.1048	36.9437	8715
+-117.8619	33.7064	8739
+-81.206	29.8628	7299
+-81.6692	31.6603	5456
+-116.7568	32.2607	9090
+-122.2143	32.8771	3970
+-118.2462	30.0619	6365
+-115.2327	35.9345	6574
+-87.1584	36.7628	7745
+-115.0052	33.0725	7547
+-124.6313	47.4361	7635
+-90.9717	33.5717	4595
+-110.5991	30.2738	8026
+-116.4659	31.7764	8465
+-117.8066	45.3272	8299
+-109.7677	33.9096	6880
+-82.647	24.90	6598
+-89.4255	39.5857	8054
+-118.9635	35.5159	7150
+-93.0492	40.535	5966
+-114.762	33.4262	7202
+-124.3652	45.6256	7424
+-89.6615	36.675	8316
+-115.4529	35.589	7001
+-80.5667	26.6122	7691
+-118.3476	44.8676	7954
+-115.7747	31.4111	7697
+-92.3297	35.1625	5025
+-116.2199	35.0297	8035
+-88.0766	39.0063	8123
+-123.5454	47.7886	8458
+-108.0641	32.3244	6887
+-88.7609	36.8251	8871
+-88.4614	34.5312	6280
+-116.7302	33.994	8933
+-121.6357	46.1325	7942
+-112.4952	35.1848	4922
+-93.1712	38.0097	6315
+-84.0006	27.9821	7766
+-89.9807	37.6501	8162
+-123.452	45.5633	7949
+-116.7937	43.0306	5647
+-116.1686	34.9625	8037
+-112.7589	34.2408	5575
+-78.3415	30.0144	4905
+-89.7094	38.3326	8570
+-110.8542	33.1387	7696
+-80.4019	28.4107	7802
+-121.0366	48.2166	7141
+-88.6159	40.5531	6703
+-80.1019	26.2276	7009
+-111.1282	30.9609	8380
+-119.5058	46.9789	7666
+-87.0113	41.0369	5549
+-118.112	31.0668	7420
+-121.2293	46.1056	7541
+-114.7719	30.9724	6555
+-92.5852	39.5939	6883
+-90.2415	35.0317	6426
+-117.5321	47.9958	7101
+-124.005	45.4662	7559
+-88.1931	37.4472	9126
+-112.0119	31.1172	7586
+-81.8767	24.5583	6251
+-88.6667	37.7438	9673
+-117.5534	31.99	8622
+-123.3909	48.7049	7622
+-110.2376	29.739	7473
+-119.4913	45.8699	7958
+-108.9056	30.0172	7177
+-112.2859	33.4566	6542
+-114.1643	38.5448	3655
+-85.8221	36.4402	6235
+-122.0657	44.9911	7250
+-118.8117	34.2873	7844
+-79.2962	28.2219	6642
+-91.0531	40.153	7749
+-119.6608	30.8668	6043
+-117.404	34.4781	9133
+-80.0319	26.1267	6877
+-90.5976	38.6393	9164
+-85.9238	38.6973	6420
+-91.5779	36.3948	6578
+-90.4726	41.7767	6161
+-117.1399	33.9403	9286
+-87.3085	29.8596	3577
+-116.6317	34.8072	8528
+-112.4536	31.1694	7133
+-119.3868	36.705	5902
+-116.7144	34.8629	8540
+-111.0606	33.5652	7186
+-119.5919	36.5387	5888
+-116.2695	32.0981	8636
+-120.1538	35.192	6183
+-123.7141	47.3888	8599
+-88.6989	39.773	7300
+-117.4014	34.5777	9031
+-115.932	31.4927	7879
+-122.2491	49.4104	6828
+-88.5843	41.21	6140
+-116.6376	48.2449	6397
+-81.7001	27.0232	8919
+-92.5522	39.4632	6964
+-116.7905	34.2403	9006
+-122.9525	45.7941	8317
+-117.0608	47.0534	7619
+-86.9414	36.1993	7187
+-110.585	31.775	9131
+-114.6262	33.8473	6900
+-120.7888	43.3287	5304
+-121.7487	35.3578	4470
+-122.3882	45.7966	8203
+-114.9713	30.3135	6182
+-92.71	37.6978	6672
+-111.2655	33.1548	7494
+-117.6491	36.1041	7348
+-111.5342	33.5909	6939
+-118.1419	31.6954	7941
+-115.0332	35.6416	6598
+-113.0211	31.5703	6561
+-83.8253	29.2088	7377
+-81.8436	26.9869	8951
+-117.6458	30.1024	6632
+-118.2209	37.8936	5306
+-88.7624	35.0004	6823
+-90.206	38.625	9190
+-114.7911	48.127	4984
+-87.1503	36.9343	7824
+-82.1128	24.1511	5802
+-91.0704	37.5686	7951
+-125.0172	46.8298	7275
+-84.3723	29.5165	6678
+-117.9651	47.0021	8247
+-120.9921	46.3178	7392
+-118.8959	36.3876	6504
+-121.1923	48.8716	6795
+-118.1145	45.8339	8927
+-81.8468	28.9246	8543
+-114.8225	42.1873	3728
+-80.8708	26.1478	7570
+-89.2413	36.4766	8378
+-118.7044	49.8038	5313
+-88.1525	37.6874	9125
+-117.9248	45.7357	8719
+-108.7676	28.1645	5399
+-121.2983	49.1749	6609
+-122.329	45.7935	8173
+-118.2333	33.2556	8114
+-119.4876	44.9089	7467
+-117.5307	28.7138	5134
+-117.812	35.5669	7865
+-118.0932	35.9343	7376
+-115.0499	34.6935	7044
+-116.7378	32.6495	9437
+-87.2136	35.506	6829
+-121.9369	46.3449	8347
+-123.8294	46.8388	8576
+-89.7478	40.8488	7061
+-115.187	44.6829	5654
+-117.3759	32.0764	8809
+-115.5277	32.6166	8132
+-113.4243	43.3049	3324
+-84.2366	26.4301	7073
+-125.3026	48.1821	6648
+-79.4942	27.7417	6907
+-110.6669	33.9254	6910
+-115.3459	34.3378	7431
+-111.2499	31.3933	8459
+-116.1983	47.905	6340
+-117.9904	32.9703	8598
+-91.8558	43.2891	4281
+-118.4759	34.7202	8072
+-112.301	27.9338	4981
+-114.7269	35.0587	6589
+-90.6078	40.3806	7650
+-89.2445	37.7445	9271
+-79.7753	30.863	5489
+-116.2137	30.8811	7436
+-118.2515	34.5807	8358
+-120.0542	44.957	7028
+-91.7144	34.5561	5005
+-122.7706	31.4072	3091
+-115.7067	32.6984	8341
+-120.5372	43.6472	5733
+-116.0227	33.3102	8565
+-120.9817	47.5918	7390
+-122.5868	45.1892	7623
+-90.2651	36.2544	7504
+-116.5138	32.698	9231
+-81.7667	29.2829	8128
+-111.9092	36.4301	3952
+-117.6743	32.7651	8961
+-115.7523	35.09	7584
+-90.0517	42.058	5841
+-121.2453	31.3118	4694
+-115.7724	33.0907	8386
+-115.774	33.9624	7899
+-116.4984	34.1349	8700
+-109.8519	30.1354	7820
+-119.2824	39.2638	3525
+-90.1164	37.0166	8134
+-115.2271	31.7824	7496
+-84.8755	35.0659	4562
+-116.6421	32.7696	9387
+-87.6269	37.2839	8466
+-109.2129	31.2724	8214
+-123.2055	42.6364	4837
+-88.8928	39.1356	8159
+-111.9435	33.6332	6649
+-89.8652	37.3628	8536
+-122.496	47.0898	9142
+-115.8533	33.584	8245
+-115.5121	34.308	7615
+-111.8151	31.1367	7797
+-87.5385	35.6117	7128
+-90.6314	35.9473	6968
+-117.4429	29.187	5670
+-119.0696	47.4321	7622
+-83.4269	24.8496	6282
+-89.8086	38.5284	8760
+-119.176	49.1314	5914
+-87.9592	35.179	6880
+-91.0396	39.91	7988
+-90.7819	37.986	8496
+-110.9309	33.936	6844
+-91.9685	39.267	7627
+-87.7842	41.0675	5671
+-109.0504	30.0022	7268
+-122.7224	47.2369	9251
+-114.8662	36.9313	5517
+-89.8677	39.585	8367
+-78.1227	29.2717	5046
+-109.1781	30.0036	7353
+-112.7902	32.5737	6603
+-116.5971	48.0729	6512
+-115.112	33.4009	7584
+-120.2786	46.7899	7025
+-119.7832	47.9971	6699
+-92.4928	40.0747	6740
+-81.0538	28.5203	8403
+-118.0503	30.2987	6695
+-120.2954	43.808	6030
+-117.7429	32.7967	8887
+-121.8108	44.9171	7056
+-121.3058	47.9779	7532
+-115.7914	34.3747	7907
+-91.5048	33.9541	4637
+-124.7026	44.6181	6354
+-125.51	42.3261	3757
+-89.4507	36.9805	8728
+-119.294	31.9596	6986
+-121.0703	48.2623	7143
+-118.22	49.2245	5951
+-90.77	36.2798	7080
+-118.7924	32.9911	7707
+-116.8091	30.5054	7169
+-116.4657	35.8543	7467
+-125.4601	47.5302	6726
+-92.3191	35.9549	5760
+-118.0939	46.6079	8686
+-119.2156	42.8635	5693
+-88.6755	39.5117	7741
+-118.2171	31.1008	7385
+-118.9514	45.0604	7952
+-121.8857	44.9166	7093
+-124.3931	47.9319	7653
+-120.1677	45.2416	7068
+-112.9072	31.3197	6670
+-83.7615	28.0713	8018
+-116.49	32.7337	9213
+-87.7083	41.2803	5456
+-89.1236	37.8604	9359
+-119.1066	34.4926	7493
+-82.1157	27.78	9867
+-117.9144	33.3263	8409
+-119.2376	33.5765	7304
+-117.2083	44.2898	7031
+-88.3879	40.6338	6467
+-120.6286	45.8946	6767
+-122.6873	48.8822	7489
+-114.1137	34.1972	6098
+-119.8038	46.3378	7631
+-115.5449	33.2884	8082
+-91.1197	37.294	7666
+-119.9939	48.0535	6511
+-114.0573	33.4454	6433
+-110.4419	28.9479	6616
+-81.0106	25.7964	7327
+-118.1767	33.2394	8146
+-110.3181	28.8752	6539
+-108.7619	32.8375	7295
+-81.5541	28.9172	8435
+-121.9204	47.6798	8275
+-88.928	38.911	8406
+-114.6351	36.5383	5649
+-117.5096	44.3567	7241
+-126.352	48.3286	5529
+-108.2712	31.4002	7231
+-91.7197	42.1738	5463
+-117.0039	30.9242	7642
+-109.7754	33.3744	7441
+-118.597	34.0555	8084
+-91.8173	40.8778	6659
+-125.2126	47.7639	6919
+-120.1082	29.4557	4621
+-92.0349	37.7366	7336
+-116.5401	35.0829	8234
+-90.0749	37.7038	8249
+-115.9287	33.5015	8366
+-89.2654	38.8712	8212
+-112.5624	34.3582	5617
+-110.6985	36.9121	3686
+-90.3034	37.6778	8265
+-116.1133	33.984	8269
+-116.6154	46.4651	7452
+-91.5381	38.0376	7962
+-81.9883	28.7974	8715
+-120.8155	31.8778	5334
+-119.0192	46.284	8457
+-81.5854	29.8414	7465
+-88.4099	37.6024	9408
+-116.0278	30.659	7128
+-88.4936	39.1801	8088
+-116.77	47.0791	7352
+-124.2324	44.872	6879
+-88.9838	38.5631	8779
+-116.7725	31.0247	7742
+-125.0693	49.0517	6301
+-123.2879	47.2471	9080
+-89.6608	37.6905	8811
+-113.2745	31.242	6266
+-87.861	33.1083	4599
+-117.7549	33.8414	8917
+-117.13	35.3399	8213
+-119.2739	44.7347	7474
+-117.1532	44.847	7474
+-87.0595	40.5296	6073
+-80.6779	28.5903	8000
+-81.0893	26.5485	8077
+-122.0034	42.9495	5084
+-89.9373	39.8107	8184
+-117.822	32.6101	8771
+-122.3944	46.8551	9037
+-116.5695	32.1412	8879
+-118.6151	33.9671	8056
+-120.2894	47.9716	6355
+-117.9667	36.9037	6421
+-111.302	30.9494	8219
+-110.6652	31.4805	9097
+-92.1385	36.7284	6539
+-81.8928	28.9074	8573
+-111.2601	32.1266	8310
+-115.3794	44.4212	5708
+-120.6688	33.9159	5819
+-118.1493	32.1745	8252
+-91.8407	33.7738	4248
+-110.8541	32.3984	8426
+-90.9266	39.783	8166
+-107.1445	33.1122	5642
+-116.4198	29.5714	6082
+-119.5157	36.0087	6344
+-105.9623	33.9892	4068
+-90.0239	41.851	6060
+-88.8701	37.0917	9160
+-118.2057	31.5499	7776
+-111.2612	31.7974	8442
+-88.0502	37.7754	9002
+-83.5461	26.6355	7845
+-124.6941	44.6785	6412
+-83.1583	40.0943	2955
+-83.8508	25.9254	7044
+-81.432	27.6268	9083
+-89.1113	38.4281	8876
+-115.889	45.9954	6722
+-83.6386	24.888	6217
+-87.0622	41.3439	5265
+-90.0126	39.2835	8724
+-123.6933	44.0378	6273
+-117.4059	31.8361	8554
+-86.9939	36.4758	7418
+-120.2096	40.5221	3011
+-90.9267	37.9151	8351
+-84.77	25.0105	5577
+-90.7145	36.0076	6943
+-113.0915	29.109	5459
+-119.2307	44.6436	7420
+-79.6082	26.6684	6777
+-89.7705	36.311	7922
+-118.1769	34.7264	8353
+-118.2164	35.644	7591
+-86.3686	40.3938	5738
+-108.2257	28.2308	5183
+-118.9533	49.6082	5478
+-90.8583	35.7825	6655
+-110.3679	29.7598	7498
+-120.2411	31.2406	5699
+-119.3136	46.5285	8079
+-89.5916	42.3221	5481
+-115.7347	32.45	8319
+-116.1509	31.4522	7980
+-115.7324	31.9341	8060
+-116.7488	31.041	7758
+-124.0833	49.16	6868
+-90.9252	37.7325	8182
+-88.7679	39.6881	7411
+-117.1026	33.4369	9044
+-114.2493	33.7079	6563
+-123.089	48.9271	7442
+-91.5755	37.2484	7358
+-117.711	45.0115	7958
+-116.9603	32.169	9030
+-91.8823	39.2613	7717
+-118.8716	35.9878	6863
+-120.7658	31.6849	5331
+-116.1394	44.0214	6098
+-118.4118	45.0498	8140
+-116.0964	33.77	8201
+-87.7874	37.4536	8690
+-122.1668	44.9373	7236
+-84.4012	35.6671	4426
+-90.0718	40.3785	7637
+-82.3995	26.1309	8018
+-116.2025	35.9566	7235
+-118.6363	33.5843	7928
+-80.6311	24.1038	5414
+-90.5842	38.7563	9208
+-91.3192	38.7432	8416
+-118.987	35.0045	7434
+-117.9791	31.5803	7970
+-118.948	32.9584	7537
+-118.7072	28.2129	4263
+-82.1752	24.2053	5863
+-115.1079	31.5532	7246
+-118.0018	35.7679	7583
+-118.6847	36.6546	6382
+-87.2666	36.3853	7601
+-82.8272	27.0428	8758
+-113.9623	33.21	6373
+-110.2402	32.8233	8126
+-117.4752	31.517	8196
+-88.9673	38.2493	9123
+-88.4676	37.0219	9018
+-85.468	25.9648	5604
+-117.8849	33.892	8814
+-115.4889	33.0875	8077
+-91.164	38.1925	8390
+-116.456	45.3143	7154
+-115.5415	34.8262	7510
+-113.57	44.4121	3958
+-115.6536	35.321	7353
+-117.9085	42.3902	5312
+-89.0839	35.5233	7384
+-108.9932	33.9523	6525
+-117.156	31.4839	8251
+-115.9721	30.1736	6603
+-86.2764	34.9493	5678
+-83.6599	29.4973	7282
+-86.1634	35.4225	5958
+-114.7753	44.7566	5282
+-93.3091	40.8806	5523
+-124.5884	44.853	6634
+-118.8881	38.0546	4909
+-118.5087	36.2814	6831
+-87.6096	40.4395	6442
+-85.0003	29.5172	6092
+-110.9629	30.3165	7941
+-117.4666	45.7534	8321
+-90.6436	38.8368	9129
+-114.5636	32.5343	7054
+-114.4272	33.2308	6883
+-119.5375	46.3184	7912
+-82.1449	28.9599	8542
+-119.4279	35.072	6968
+-117.2385	49.1961	5800
+-116.0066	35.6815	7360
+-79.7213	27.231	7097
+-115.3353	32.795	7933
+-89.4771	35.7262	7496
+-110.5099	31.0583	8873
+-114.7345	35.1859	6547
+-125.0964	46.1915	7047
+-89.049	39.0043	7960
+-123.7974	45.9504	8117
+-86.7364	37.7387	7535
+-119.1418	35.8275	6781
+-88.1279	40.5916	6286
+-93.5934	40.4604	5504
+-90.1623	39.5765	8502
+-120.864	44.3263	5944
+-124.195	49.2159	6755
+-120.8189	47.1226	7313
+-91.1882	37.091	7437
+-114.4935	31.4425	6597
+-88.3738	39.4986	7711
+-81.1113	31.2765	5757
+-82.6851	27.8926	9252
+-81.2172	29.7449	7426
+-113.2563	31.214	6281
+-117.8263	46.1303	8776
+-89.8796	38.4647	8800
+-117.5492	48.0172	7086
+-115.7843	33.0776	8402
+-121.1126	34.5347	5320
+-117.0406	33.1825	9336
+-120.4999	46.5852	6857
+-110.8501	30.0963	7768
+-110.8533	30.0782	7748
+-110.9521	30.6084	8222
+-91.9607	36.9264	6826
+-117.5505	34.5703	8969
+-106.152	35.7972	3042
+-123.7811	45.9302	8112
+-89.8685	38.49	8803
+-88.9646	42.6254	4976
+-88.7331	38.457	8926
+-116.4785	35.1031	8175
+-121.9015	46.4143	8353
+-122.2321	45.0537	7380
+-119.9112	31.2775	6047
+-117.5729	32.8883	9072
+-81.5739	26.9809	8801
+-88.0532	39.0587	8059
+-122.5373	45.3984	7838
+-116.1304	31.3095	7830
+-90.204	39.3316	8768
+-118.8255	31.2454	7038
+-118.4407	46.3955	8906
+-87.8704	41.7484	5208
+-124.9488	48.1804	6990
+-84.7751	39.9828	4635
+-115.8044	34.4184	7913
+-121.6103	49.0883	6878
+-114.146	29.7151	5077
+-89.4386	39.2527	8271
+-109.1491	33.3162	7200
+-87.8804	37.321	8748
+-89.2995	37.533	9199
+-80.0937	28.0945	7555
+-87.5648	36.261	7740
+-87.8835	40.258	6741
+-86.2469	30.6916	4182
+-85.1579	34.7033	4574
+-116.6764	32.5758	9332
+-119.1772	31.8856	7077
+-119.8393	32.6621	6544
+-118.7697	46.0139	8737
+-90.9219	38.2932	8663
+-81.3914	29.2498	8016
+-117.9917	34.057	8743
+-80.8804	26.965	8210
+-81.6704	25.6521	7444
+-119.0637	36.6637	6152
+-117.9992	45.2854	8347
+-115.8013	31.7041	7956
+-122.5894	46.7811	9209
+-116.8083	43.9616	6509
+-119.1219	37.0304	5785
+-87.389	36.7502	7958
+-112.7592	34.8122	5098
+-110.7089	31.2331	8917
+-125.4792	47.9336	6580
+-117.2674	29.0467	5534
+-126.0532	48.0286	5951
+-115.3491	33.9636	7438
+-119.4807	32.0288	6814
+-119.2033	43.2607	6100
+-118.9572	34.2852	7686
+-88.5505	39.4248	7826
+-89.4341	36.2788	8087
+-90.6475	37.2031	7733
+-83.3789	25.9175	7370
+-82.4949	27.6517	9463
+-124.2771	43.5835	5593
+-114.6948	26.3651	2105
+-117.3859	33.3901	8960
+-86.9747	34.0602	5295
+-81.7778	25.6572	7472
+-91.7501	42.1162	5508
+-117.9572	33.6307	8606
+-117.9853	44.9699	8023
+-110.4384	34.8789	5901
+-122.9314	45.7231	8240
+-114.4438	33.1008	6921
+-116.6585	44.0374	6480
+-121.132	43.6482	5280
+-108.8719	29.2626	6502
+-81.8994	31.249	5944
+-86.786	39.2082	6997
+-117.9297	35.3113	8063
+-121.1235	46.6926	7631
+-122.6261	45.6311	8108
+-89.7383	39.5617	8307
+-91.8499	35.3286	5412
+-111.5524	34.855	5691
+-115.5478	29.7529	5987
+-90.6867	41.9239	5988
+-119.5857	43.6053	6280
+-109.9248	30.5794	8299
+-88.5861	41.2313	6122
+-117.0547	47.3954	7370
+-115.156	41.6325	3485
+-117.4891	46.0832	8419
+-123.8583	43.5626	5721
+-92.4163	38.1414	7137
+-122.7364	45.8076	8320
+-88.752	39.3491	7926
+-87.6129	37.0762	8361
+-78.7099	25.2825	5107
+-120.8487	34.8436	5554
+-123.5057	47.4679	8742
+-110.5913	31.8073	9103
+-89.1985	35.8711	7743
+-91.3318	40.3412	7428
+-119.4882	33.166	6895
+-118.0623	35.0379	8224
+-120.2942	46.4014	7107
+-82.5896	25.2654	7016
+-81.3367	27.7762	8991
+-108.0958	33.2256	6466
+-82.9617	29.7617	7448
+-82.2941	25.478	7297
+-119.4341	45.1457	7677
+-87.9376	38.0608	8784
+-123.5188	44.3576	6660
+-119.1104	48.8016	6268
+-123.203	48.0787	8340
+-107.7539	29.849	6106
+-121.3465	48.0069	7552
+-121.2994	43.8109	5719
+-91.6435	37.5087	7518
+-115.0198	44.7426	5517
+-83.8909	25.9173	7006
+-90.5785	41.3564	6607
+-115.9274	33.7573	8021
+-125.149	46.9065	7134
+-81.0157	24.8598	6369
+-88.197	39.1342	8047
+-120.3671	46.9344	6883
+-117.1267	32.6573	9501
+-120.878	48.9548	6491
+-116.0975	34.5273	8192
+-117.785	40.5204	3328
+-88.7728	39.3729	7899
+-85.1116	28.8369	6312
+-116.3674	32.6412	9056
+-111.2803	28.2564	5726
+-113.0968	46.4455	3755
+-112.6971	41.3942	1525
+-87.0479	39.0193	7360
+-82.6918	24.3705	5999
+-122.6948	47.119	9325
+-115.8167	33.8201	7920
+-117.8917	33.9634	8831
+-120.4545	45.551	6889
+-117.6021	34.4022	9069
+-112.7351	32.4924	6691
+-123.9916	47.884	8040
+-118.0906	46.3507	8926
+-112.7615	34.3852	5456
+-109.147	32.7231	7691
+-120.6302	36.7549	4886
+-113.8936	30.4079	5411
+-79.1379	25.0414	5311
+-114.1924	33.2548	6620
+-117.3355	36.7961	6632
+-108.6023	33.3114	6823
+-88.3948	32.8399	4382
+-82.9385	29.5504	7678
+-87.8331	38.8171	8152
+-120.3962	46.088	7023
+-89.4444	40.2464	7520
+-84.0543	38.2625	4483
+-116.8113	34.5593	8858
+-123.0273	47.0143	9457
+-118.3509	44.6608	7735
+-116.1585	33.7213	8248
+-122.6105	47.4959	8943
+-106.9717	31.6239	5831
+-118.2749	33.033	8274
+-115.8862	46.9835	6555
+-85.1663	28.5576	6346
+-119.7006	44.3533	6878
+-89.8771	32.9071	4330
+-92.041	43.0328	4475
+-116.278	31.4515	8047
+-118.631	38.0068	5058
+-120.9576	48.041	7168
+-107.526	33.4428	5825
+-89.723	36.3065	7949
+-83.4173	27.4299	8391
+-83.2429	25.0797	6604
+-120.0358	44.7838	6939
+-83.5715	27.9265	8255
+-119.4403	34.1781	7166
+-120.6876	48.35	6739
+-117.0687	34.8023	8777
+-115.0099	32.6664	7564
+-81.7043	32.8425	4129
+-89.5937	36.6083	8308
+-89.0652	41.9168	5727
+-112.2838	40.2616	922
+-119.6771	42.3558	5029
+-92.5048	35.9731	5658
+-117.0343	48.1685	6701
+-80.3443	27.9493	7858
+-89.6109	37.6881	8867
+-80.5276	29.0516	7566
+-118.2795	33.152	8241
+-92.3295	40.284	6753
+-93.3473	40.3174	5810
+-112.3089	26.8325	3899
+-115.9527	49.9657	4480
+-89.7008	37.3826	8719
+-84.9785	38.8154	5371
+-118.0164	47.8943	7339
+-110.662	30.4703	8216
+-86.1883	35.1311	5756
+-120.017	35.3829	6243
+-94.577	37.9733	4827
+-108.2773	33.8541	6155
+-84.7256	27.8959	6956
+-119.1302	32.4451	7304
+-89.9294	36.7001	8118
+-90.2213	38.4944	9098
+-120.9653	34.4745	5486
+-117.1711	33.8023	9162
+-118.0384	30.4639	6869
+-117.856	33.524	8613
+-117.9749	33.5992	8570
+-113.4341	30.9354	6041
+-117.3937	31.3037	7999
+-83.4496	30.5153	6444
+-117.9873	35.1503	8178
+-117.471	33.7225	9037
+-117.8995	47.9926	7215
+-115.4456	27.9768	4094
+-81.3811	26.6484	8368
+-116.9336	32.789	9705
+-120.0906	31.4202	5936
+-89.9434	38.6174	8929
+-116.5388	30.7946	7448
+-124.4392	43.9234	5860
+-116.1838	32.9351	8870
+-78.4093	33.3324	2316
+-114.7576	35.5344	6403
+-83.9144	27.6379	7872
+-122.2815	48.2426	8048
+-113.2872	34.451	5183
+-125.6694	48.2344	6260
+-119.6658	49.8643	5013
+-118.8176	42.1083	4995
+-110.31	28.4169	6043
+-109.3493	31.6081	8407
+-117.6751	32.1046	8632
+-121.1625	49.2046	6493
+-109.0969	29.1867	6552
+-122.7464	49.2281	7116
+-115.1614	33.2939	7670
+-81.3291	25.6302	7310
+-86.2413	25.2138	4421
+-90.5451	41.9251	5998
+-80.6033	28.5791	7932
+-108.7271	31.7267	7726
+-116.6073	34.625	8641
+-122.605	49.0375	7308
+-78.6497	27.8877	5949
+-90.42	39.3271	8801
+-82.0008	31.3756	5807
+-117.619	47.0193	8059
+-84.7463	28.1348	6907
+-111.489	31.31	8187
+-86.8427	28.6605	4469
+-117.5874	47.5906	7518
+-121.3957	32.8908	4834
+-113.5526	32.9087	5943
+-92.9769	34.4093	3974
+-118.7564	34.5583	7848
+-87.648	30.6974	2827
+-92.647	35.8363	5447
+-88.4765	34.7346	6509
+-122.5965	46.2124	8713
+-117.2435	33.4338	8998
+-120.0366	46.8719	7232
+-116.5029	46.465	7336
+-124.859	48.0439	7150
+-114.6744	34.518	6679
+-123.1633	47.0996	9282
+-92.2339	38.4265	7399
+-125.4759	44.354	5575
+-111.4663	31.3061	8210
+-118.7621	34.6663	7806
+-87.4759	37.5458	8360
+-119.6093	45.2161	7573
+-87.5349	38.7183	7997
+-89.0441	39.7033	7653
+-86.3543	38.9491	6748
+-122.0042	46.2558	8350
+-120.9519	31.0354	4884
+-111.8845	34.5255	5870
+-89.1967	37.5304	9309
+-91.7155	38.771	7988
+-107.6436	30.5353	6346
+-82.4023	29.4792	7931
+-82.701	27.6792	9243
+-112.03	32.2083	7515
+-93.15	38.9228	6436
+-116.1201	33.8089	8238
+-113.4397	36.3906	4691
+-114.7185	34.4836	6732
+-116.5259	45.9745	7395
+-118.0858	32.3371	8395
+-91.8033	38.7241	7894
+-117.2015	28.9664	5450
+-115.4401	34.8106	7413
+-124.1421	45.536	7525
+-119.5449	48.1461	6715
+-118.5816	43.068	6034
+-80.6657	27.3956	8180
+-82.4029	27.0474	9024
+-82.5218	27.2641	9174
+-89.4896	39.7258	7998
+-93.8651	38.2163	5628
+-114.2696	43.9886	4457
+-82.4415	30.8243	6416
+-113.3942	33.374	5631
+-80.822	30.2525	6713
+-110.0044	31.7109	9091
+-117.9398	35.8003	7577
+-111.7156	33.9196	6532
+-125.2114	45.2007	6410
+-118.9355	33.3243	7515
+-114.4717	34.5349	6458
+-118.8093	44.1123	7083
+-123.8281	46.8464	8578
+-80.9882	27.1176	8403
+-120.5622	48.7679	6364
+-93.5533	36.368	5151
+-108.8871	33.6635	6729
+-88.3232	36.0596	7944
+-88.0256	38.9578	8143
+-119.4569	45.3527	7787
+-115.1198	44.6412	5571
+-118.7506	33.9473	7906
+-107.8732	33.6454	5996
+-92.1306	38.0819	7408
+-119.6531	47.1971	7402
+-120.6223	46.9459	7104
+-116.5142	36.6754	6646
+-120.2984	32.5946	6028
+-89.7131	41.4667	6408
+-76.2265	28.6839	3130
+-119.6476	34.7792	6847
+-123.6911	48.9517	7258
+-85.363	28.5784	6125
+-113.0762	29.0406	5421
+-112.393	30.6785	7036
+-88.5473	38.5795	8761
+-78.1379	27.8551	5371
+-122.2485	46.8328	8875
+-87.598	36.3532	7842
+-119.5077	35.0133	6912
+-110.3549	31.3153	9182
+-88.4633	35.8194	7714
+-116.7024	31.4454	8195
+-117.8875	34.5884	8698
+-118.4023	44.9966	8085
+-117.0439	31.9143	8743
+-116.58	31.6927	8427
+-86.1566	38.2085	6823
+-117.4324	35.2018	8358
+-88.3361	38.8938	8355
+-126.0908	46.6644	6085
+-120.4527	34.4754	6042
+-121.3672	34.8459	4998
+-118.0244	31.7074	8043
+-107.3333	31.6425	6223
+-90.0639	41.1467	6818
+-123.5397	46.8545	8893
+-116.78	43.9677	6497
+-111.5719	33.5474	6958
+-88.9963	38.4947	8850
+-87.105	39.0549	7384
+-118.5712	33.8483	8081
+-81.7534	31.3091	5862
+-123.0434	48.0012	8459
+-80.9869	29.3284	7701
+-120.9756	46.7621	7480
+-115.9555	43.5339	5591
+-109.1046	32.0621	8045
+-110.3655	30.818	8644
+-87.0884	37.0686	7815
+-82.2314	28.1245	9473
+-117.968	47.8834	7343
+-122.5435	44.8685	7268
+-121.6624	46.043	7910
+-111.8028	31.784	7867
+-111.0742	33.7278	7015
+-121.5844	30.1199	3788
+-86.0335	28.9054	5296
+-89.1549	37.6509	9379
+-113.1674	33.0299	6026
+-121.4976	46.5178	7988
+-119.7623	33.6815	6771
+-118.5547	32.9815	7972
+-84.3066	28.7574	7190
+-110.4109	30.7159	8530
+-113.9761	31.8101	6233
+-81.4832	30.4456	6774
+-93.325	36.3139	5308
+-123.1096	43.8951	6224
+-119.8152	45.4227	7487
+-117.407	35.0058	8574
+-82.1045	24.6025	6313
+-122.6972	48.7367	7649
+-117.4629	34.0316	9297
+-118.558	33.7523	8069
+-112.4839	30.9989	7059
+-120.1285	42.6207	5090
+-114.1261	36.286	5385
+-90.9018	42.6472	5187
+-115.8425	35.7212	7211
+-92.1861	36.558	6365
+-91.7163	37.4862	7445
+-123.3411	40.3899	2365
+-114.5594	29.0623	4778
+-81.1471	27.8527	8772
+-116.5151	33.2089	9086
+-81.2426	27.4638	8828
+-117.5771	33.4292	8698
+-82.2838	27.6122	9649
+-110.0986	28.2913	5898
+-116.1982	32.8636	8894
+-82.3978	26.2458	8146
+-116.6241	35.1587	8218
+-118.4507	32.3591	8021
+-84.5953	28.9952	6780
+-110.8982	30.3476	8001
+-90.0575	35.4754	6961
+-112.0436	30.127	7040
+-79.7671	29.9826	6225
+-122.0824	46.7983	8689
+-118.0106	33.346	8356
+-89.1322	40.1242	7421
+-120.4632	34.276	6047
+-87.0618	38.5108	7679
+-92.9156	39.0889	6671
+-89.3495	35.6381	7447
+-119.6725	33.8033	6889
+-107.9818	31.2646	6902
+-115.5036	46.4536	6293
+-115.7774	47.098	6404
+-83.2529	29.0521	7964
+-124.3982	43.9799	5935
+-119.2345	31.4965	6826
+-123.4227	45.7723	8174
+-107.4185	34.6727	4872
+-85.029	34.3662	4218
+-83.4791	25.1814	6595
+-122.492	48.0582	8326
+-119.6344	43.3992	6062
+-92.3827	35.5997	5403
+-107.4425	33.4051	5771
+-89.643	35.283	6965
+-116.7976	33.0801	9404
+-113.3575	30.6197	6035
+-117.6602	42.63	5527
+-86.3528	36.1343	6606
+-85.8246	36.6828	6333
+-89.3782	37.9233	9070
+-91.4558	38.581	8254
+-89.3051	42.0722	5660
+-117.0304	32.6641	9568
+-118.471	29.9935	6185
+-90.2686	40.2753	7776
+-117.7159	34.6062	8826
+-91.1934	36.2377	6579
+-80.72	26.3116	7598
+-83.2055	31.8564	5109
+-123.2427	49.2949	7021
+-118.5417	33.2787	7864
+-87.9149	38.7305	8285
+-125.352	48.9332	6153
+-119.9552	45.3981	7340
+-117.7857	36.6752	6708
+-119.2036	47.4596	7522
+-120.0612	47.1003	7100
+-110.7161	33.4914	7365
+-117.5773	46.8741	8151
+-86.622	39.228	6837
+-110.2354	30.4965	8291
+-113.7227	47.522	4201
+-92.8508	38.691	6764
+-120.3974	47.978	6641
+-112.9892	28.6453	5183
+-124.0841	43.7472	5838
+-109.8434	33.0019	7848
+-116.2124	35.128	7957
+-91.346	37.3261	7572
+-124.0508	43.478	5570
+-124.376	46.9681	7985
+-123.4478	42.3374	4485
+-113.9262	33.4094	6298
+-85.583	28.2336	5954
+-112.1538	35.6385	4657
+-117.9832	46.55	8688
+-94.0735	38.7124	5447
+-115.5197	45.3643	6232
+-89.1829	38.8636	8125
+-118.7436	48.397	6779
+-109.9588	27.5463	5081
+-113.4725	32.2223	6003
+-119.891	32.4031	6458
+-118.6888	32.2332	7725
+-91.6229	41.1496	6513
+-119.603	42.7114	5409
+-82.4759	27.9911	9429
+-115.1153	41.5644	3401
+-91.1943	37.5582	7871
+-116.9027	31.007	7733
+-88.6808	37.5845	9682
+-118.5965	32.1656	7795
+-116.476	34.1568	8675
+-87.5536	36.7579	8114
+-116.5412	37.5606	5717
+-122.1849	30.3845	3331
+-89.4195	40.3949	7370
+-115.9016	36.1815	6853
+-87.9429	38.6314	8391
+-87.2075	37.1226	7962
+-83.1549	26.3011	7871
+-121.9226	46.9833	8532
+-119.8548	48.4174	6295
+-116.2031	30.5792	7116
+-115.5498	36.5579	6297
+-119.0636	32.4506	7378
+-123.7859	45.7261	7931
+-81.0301	28.9034	8100
+-87.9789	37.7336	8928
+-123.1217	45.7553	8253
+-82.7474	25.2694	6983
+-111.4179	26.0835	3400
+-117.3187	35.2502	8318
+-81.5781	29.7805	7529
+-107.969	31.6628	6910
+-116.0105	33.605	8371
+-114.3656	33.2797	6806
+-87.4095	37.3337	8247
+-85.5849	42.4841	3334
+-125.8893	48.3152	6003
+-118.3755	43.4328	6434
+-118.0857	35.8741	7439
+-90.8448	39.7337	8253
+-108.8696	33.9186	6487
+-86.5042	38.7217	7013
+-120.4528	45.9217	6955
+-114.0807	35.7926	5620
+-121.4405	48.9947	6861
+-82.84	26.0749	7818
+-92.2418	40.3826	6758
+-92.5918	34.9316	4670
+-121.2615	32.0128	4879
+-119.7733	33.798	6779
+-112.6217	34.1955	5711
+-110.3365	33.1838	7739
+-122.8386	45.0559	7506
+-115.1683	32.6736	7741
+-125.5078	46.9589	6741
+-116.4275	33.8974	8587
+-117.684	49.2906	5822
+-117.9193	29.064	5434
+-112.7101	31.6191	6898
+-83.758	30.4053	6387
+-110.2612	34.5102	6301
+-86.7934	41.72	4754
+-121.1542	44.7948	6545
+-87.14	36.0905	7273
+-123.6715	43.899	6131
+-124.0795	46.4007	8169
+-121.2356	45.1645	6911
+-117.25	33.5535	8905
+-90.179	37.6413	8209
+-111.2693	34.4058	6252
+-80.0588	24.549	5561
+-114.1018	34.726	6026
+-89.1591	37.6534	9374
+-108.1162	32.744	6762
+-81.3778	26.4036	8129
+-88.2402	39.8621	7280
+-80.5962	29.4202	7338
+-126.886	45.3164	4867
+-82.756	26.7636	8557
+-88.6885	37.784	9656
+-92.2349	40.7882	6456
+-115.6817	29.8373	6134
+-122.2825	43.276	5495
+-89.1061	39.123	7990
+-116.3602	45.6534	7170
+-116.2529	33.4072	8720
+-81.3658	29.4454	7804
+-92.6554	38.3911	6945
+-119.0604	31.9786	7237
+-92.0637	37.7874	7337
+-90.7389	34.5593	5684
+-84.4605	28.8349	6995
+-85.4531	29.3975	5708
+-106.6768	29.5618	4947
+-119.38	44.4061	7123
+-113.462	31.3809	6077
+-120.3518	42.8707	5199
+-78.9346	28.9478	6035
+-115.4902	33.3332	8008
+-88.5357	36.9781	9001
+-92.4472	38.757	7200
+-121.3815	45.765	7479
+-122.5877	45.6697	8141
+-124.2145	48.2311	7602
+-115.6077	33.9859	7721
+-117.7809	31.4338	7963
+-91.8108	36.8362	6851
+-117.618	46.1855	8550
+-118.9068	45.3077	8193
+-118.8191	44.8913	7860
+-121.7381	34.3266	4656
+-78.5195	28.9893	5576
+-118.8008	34.1754	7864
+-92.4639	39.6434	6984
+-93.8007	37.8499	5615
+-119.5258	31.4954	6540
+-79.518	26.9994	6809
+-112.9255	31.007	6596
+-120.4832	46.5927	6873
+-116.7969	29.4229	5963
+-90.5708	37.7219	8298
+-115.6625	35.4105	7301
+-88.419	37.8987	9346
+-79.305	24.7506	5215
+-88.384	42.5008	4843
+-91.653	34.4646	4977
+-91.7657	36.857	6898
+-119.8478	36.0514	6030
+-78.8011	31.0423	4606
+-92.5264	37.6957	6850
+-89.9537	39.1231	8811
+-120.6924	47.3505	7144
+-77.1763	24.3039	3051
+-121.5073	47.2184	8051
+-112.7601	33.5518	6088
+-123.0171	44.746	7163
+-122.0393	45.1937	7441
+-118.7496	34.057	7918
+-81.4688	26.6934	8464
+-89.9793	41.6143	6307
+-117.0819	28.6241	5075
+-116.3026	35.6117	7613
+-109.6511	33.0103	7760
+-116.9004	33.6893	8910
+-83.0651	25.4658	7084
+-109.8731	31.8536	8895
+-117.842	32.8469	8776
+-117.7476	44.975	7941
+-82.8884	28.9251	8328
+-118.8115	33.2959	7621
+-119.4159	43.9264	6665
+-89.9685	34.8413	6369
+-87.4374	36.2912	7669
+-116.2781	37.61	5595
+-86.6583	37.4612	7437
+-124.1948	46.2615	7986
+-109.998	31.0515	8792
+-126.273	48.5971	5490
+-122.0324	44.2249	6447
+-82.2012	28.4536	9111
+-91.2187	39.3818	8295
+-89.6606	37.3087	8734
+-117.1347	31.375	8134
+-112.8599	29.3702	5834
+-116.5971	33.8506	8745
+-87.4676	34.5295	6004
+-120.6146	47.0475	7094
+-87.6067	36.6151	8058
+-92.1043	37.8202	7316
+-115.995	48.3945	5828
+-80.814	31.4894	5424
+-119.6396	46.1341	7824
+-89.833	36.3455	7910
+-107.5538	32.3957	6336
+-79.4905	24.5898	5217
+-112.122	29.3368	6362
+-117.8858	32.3432	8600
+-122.5869	47.6743	8756
+-88.6953	41.5202	5928
+-87.7691	37.6435	8695
+-82.5276	28.4867	8964
+-119.1874	45.8291	8261
+-121.26	49.6739	6129
+-112.7171	32.8396	6554
+-117.2699	32.874	9409
+-89.8278	37.8799	8312
+-117.1115	35.142	8425
+-86.5058	36.8889	7132
+-121.0142	47.6872	7388
+-84.2185	28.5814	7360
+-126.2746	45.6149	5612
+-119.2088	33.0584	7116
+-117.7803	31.8107	8310
+-120.6776	44.2944	6085
+-82.3188	30.898	6344
+-91.1644	37.4808	7818
+-110.9687	31.4527	8771
+-125.1565	45.0645	6364
+-95.0955	37.1256	4052
+-110.1273	28.4737	6097
+-117.4612	33.0963	9119
+-115.4199	34.6254	7453
+-116.4606	32.8557	9187
+-111.7689	35.4095	5046
+-124.1473	45.163	7197
+-91.2255	36.7241	7060
+-121.9191	49.455	6668
+-90.917	38.9277	8818
+-80.3848	27.9975	7897
+-115.4849	35.1603	7295
+-112.4891	30.4352	6827
+-120.6465	36.9286	4754
+-93.182	34.7522	4164
+-114.3834	33.084	6856
+-119.298	34.8801	7177
+-85.952	36.2662	6287
+-85.2111	37.706	5824
+-109.5309	27.9575	5450
+-111.0514	29.6943	7284
+-111.0564	32.8271	7915
+-90.3471	36.1036	7320
+-123.1444	44.4604	6840
+-80.1221	26.5842	7253
+-107.3623	28.9664	5184
+-116.9026	36.5241	6900
+-91.5728	38.573	8128
+-122.9941	49.7457	6551
+-88.4581	41.9392	5409
+-122.8796	49.8897	6395
+-109.0291	31.2164	8006
+-120.0539	36.2554	5717
+-111.7096	32.3745	7754
+-118.5205	42.2179	5141
+-118.2688	44.7098	7788
+-85.0852	27.2616	6504
+-118.8053	33.7789	7816
+-119.8308	33.6119	6684
+-118.3299	45.1486	8252
+-118.1059	45.0916	8176
+-116.8601	34.256	9075
+-119.3887	48.8794	6093
+-117.1011	33.1504	9351
+-114.7128	34.697	6685
+-88.7979	39.9865	7257
+-84.6746	27.2143	6950
+-91.9966	35.0742	5098
+-89.4688	39.7214	7986
+-114.9103	33.6874	7262
+-88.4559	33.1823	4770
+-117.3996	42.2881	5116
+-115.2458	32.5686	7814
+-116.6174	34.2954	8808
+-80.8669	27.2937	8363
+-89.938	37.5747	8496
+-118.9212	46.2951	8554
+-117.291	42.4564	5261
+-90.294	38.2091	8833
+-115.2247	46.6924	5961
+-88.8278	34.2973	6033
+-116.3055	34.1694	8489
+-123.834	47.9302	8132
+-120.0925	32.9558	6198
+-113.5661	30.7738	5863
+-89.1949	39.0801	8095
+-124.0469	43.8494	5957
+-108.7831	34.4459	5946
+-80.4158	27.3756	7900
+-83.5495	25.5538	6920
+-120.6134	46.1946	6791
+-117.2837	33.438	8779
+-89.9638	39.0127	8891
+-116.8408	34.1661	9072
+-115.0725	33.533	7494
+-115.876	30.8173	7213
+-89.6523	37.2724	8727
+-109.1798	33.4306	7114
+-115.0302	33.8999	7278
+-117.9001	34.7217	8595
+-88.7811	40.5474	6829
+-116.0035	33.5241	8420
+-107.497	33.2119	5930
+-118.2732	31.803	7908
+-119.2794	42.1871	4984
+-90.2432	36.286	7546
+-89.0724	36.016	7931
+-89.8222	38.2636	8624
+-115.3589	34.101	7457
+-112.8854	36.6053	4051
+-117.0252	48.5959	6300
+-119.7002	45.0957	7421
+-115.8996	33.0649	8531
+-122.0084	46.9764	8627
+-121.836	49.2694	6819
+-113.2979	33.4153	5698
+-116.8351	45.5466	7619
+-106.6633	31.7628	5493
+-122.5456	46.2721	8750
+-112.5409	34.0666	5874
+-119.2313	49.9542	5057
+-83.1174	39.5748	3122
+-88.0488	36.8919	8630
+-88.4084	39.6387	7564
+-118.3456	49.2104	5966
+-84.0451	30.0953	6484
+-89.5811	39.0148	8514
+-109.7155	32.7777	8017
+-88.6357	34.9319	6743
+-81.8586	28.7961	8687
+-94.777	37.3432	4452
+-82.429	28.5636	8931
+-112.5476	29.3521	6068
+-117.5781	34.2989	9153
+-83.1278	29.7829	7349
+-110.1366	31.4749	9230
+-124.3341	44.5218	6492
+-117.0558	33.4153	9078
+-111.7246	28.4281	5737
+-123.7245	47.0182	8699
+-108.951	32.5469	7648
+-90.6945	36.4237	7241
+-118.6575	46.5816	8615
+-84.871	28.7364	6607
+-87.8743	37.869	8788
+-119.2092	43.6654	6502
+-126.4455	44.3035	4735
+-118.6032	39.1752	3848
+-109.9743	32.2257	8676
+-115.4325	32.8446	8041
+-117.2485	36.338	7133
+-113.2946	30.8042	6156
+-85.7494	38.3555	6341
+-121.6623	48.4963	7444
+-118.8918	47.3136	7823
+-83.4192	28.714	8086
+-119.9462	45.3812	7342
+-116.7094	42.9431	5525
+-124.0143	46.2101	8127
+-111.6302	31.0693	7962
+-81.2959	31.0869	6018
+-89.5138	40.8436	6981
+-116.4472	34.3323	8618
+-127.7273	43.2944	2943
+-116.1037	35.3058	7736
+-113.6941	32.9494	6100
+-80.6529	29.9251	6931
+-110.5052	34.0021	6846
+-117.5532	45.0482	7905
+-115.1155	30.8529	6743
+-109.1111	28.9634	6341
+-90.8857	37.6378	8109
+-89.8492	40.4203	7534
+-110.1114	29.1991	6879
+-110.8487	30.0995	7772
+-114.7124	36.5214	5724
+-120.2981	45.5737	7055
+-117.0019	34.5922	8960
+-92.9516	36.9376	6036
+-109.7591	35.3288	5368
+-118.6714	46.8427	8373
+-111.1183	30.0351	7593
+-111.8547	28.9369	6166
+-125.5017	44.0708	5329
+-92.1629	38.036	7358
+-88.3433	37.6778	9340
+-79.3141	26.0207	6141
+-121.9585	43.9755	6161
+-87.7321	40.6565	6263
+-124.2011	46.4566	8071
+-124.329	46.4281	7928
+-88.0749	39.9918	7091
+-94.3882	40.3495	4776
+-120.7588	33.811	5712
+-116.129	30.6609	7173
+-125.1863	49.2329	6069
+-118.4644	45.6647	8761
+-111.1943	28.5233	6029
+-86.4224	33.3813	4333
+-122.0798	46.779	8682
+-122.3974	44.0235	6326
+-91.2527	38.844	8482
+-90.3367	38.9602	9192
+-119.8679	42.0718	4676
+-116.1494	45.8218	6981
+-93.3245	37.1948	5838
+-120.0029	48.5219	6115
+-115.1582	36.9045	5740
+-120.5044	33.2227	5869
+-117.5878	44.8768	7770
+-118.0272	47.2884	7973
+-120.8811	43.6312	5465
+-118.9265	34.6161	7652
+-110.2322	34.9906	5780
+-86.4099	41.1906	5056
+-119.8032	45.2932	7438
+-91.1557	37.8203	8122
+-112.2283	32.3017	7278
+-118.0858	43.8369	6855
+-116.0341	34.5307	8125
+-125.7046	48.0339	6309
+-79.1407	32.5575	3502
+-119.502	49.3289	5605
+-87.7624	36.9121	8406
+-108.7982	29.8173	6938
+-109.8757	28.7234	6336
+-93.1382	37.6091	6210
+-88.757	38.2616	9146
+-119.0537	44.0244	6916
+-110.2351	29.8382	7580
+-123.1728	46.8784	9291
+-90.1338	35.1738	6624
+-117.2051	31.1096	7830
+-90.9567	35.5025	6359
+-84.5546	27.3302	7109
+-107.9294	33.1641	6356
+-113.345	30.9322	6135
+-89.317	38.037	9070
+-124.7762	46.1521	7359
+-116.7952	32.132	8966
+-88.1277	34.9294	6661
+-86.6915	38.3066	7377
+-125.0608	43.5361	5152
+-111.0845	32.7131	8004
+-80.9926	25.4543	6975
+-84.5481	29.601	6462
+-79.1899	30.497	5350
+-113.9765	36.5386	5092
+-119.0138	32.1964	7367
+-123.6187	43.9069	6153
+-117.068	32.5372	9421
+-114.612	37.1305	5171
+-88.6743	36.9497	9004
+-89.3998	38.1793	8900
+-112.2061	30.6145	7189
+-124.9253	44.1625	5806
+-116.071	42.1093	4428
+-92.2165	37.3311	6926
+-90.2559	35.874	7200
+-86.0916	38.963	6478
+-118.152	48.5842	6626
+-86.1829	26.1213	4947
+-124.8472	47.3112	7434
+-89.1476	37.2633	9193
+-124.2213	46.7408	8134
+-93.0338	37.2327	6133
+-81.2707	25.3197	6957
+-86.985	39.3166	7089
+-95.9366	41.2155	2875
+-118.39	44.1004	7140
+-108.8993	34.227	6215
+-110.3647	33.454	7446
+-114.8858	32.4167	7389
+-116.7522	46.7953	7480
+-120.2767	33.1589	6087
+-87.6597	39.2077	7685
+-120.7757	34.919	5615
+-123.6858	48.3423	7866
+-107.9944	30.5703	6712
+-116.2368	34.6301	8291
+-118.0937	36.6816	6615
+-121.9696	43.7829	5962
+-119.4493	33.2275	6960
+-86.5749	38.2901	7257
+-115.5997	46.7043	6347
+-112.7936	37.2363	3599
+-119.0159	47.5047	7583
+-80.264	27.3871	7734
+-91.195	38.0169	8245
+-121.6877	32.1399	4433
+-109.8422	33.7104	7108
+-82.9712	28.612	8546
+-88.6298	40.955	6388
+-89.9578	38.9073	8935
+-87.1438	39.3794	7166
+-120.7304	35.5858	5441
+-121.4602	47.9691	7679
+-87.426	39.3519	7397
+-117.7546	31.4363	7980
+-126.5677	45.7762	5370
+-116.1366	35.8427	7303
+-89.8564	36.8434	8282
+-113.4769	29.8121	5564
+-123.6559	48.9717	7252
+-107.7157	34.3932	5313
+-117.6103	44.9499	7849
+-114.673	34.4043	6693
+-87.7622	39.049	7896
+-89.2761	34.272	5963
+-80.9773	27.1519	8411
+-81.8235	27.0391	8998
+-114.8933	31.82	7187
+-124.1376	44.758	6825
+-119.481	46.4656	7934
+-88.9508	35.6488	7541
+-93.2749	38.3253	6274
+-127.3717	47.215	4686
+-114.6702	48.8408	4458
+-121.7686	48.5927	7430
+-90.9402	35.5598	6418
+-122.3417	45.2794	7654
+-82.5514	26.0872	7934
+-113.0368	31.5887	6544
+-89.0384	42.4558	5175
+-89.8678	34.2461	5782
+-85.8076	27.7281	5735
+-80.7283	27.9513	8289
+-117.1426	47.3357	7480
+-88.065	39.0913	8032
+-81.8057	26.4998	8412
+-95.4003	38.8537	4016
+-116.7066	33.3675	9073
+-119.9415	33.0574	6393
+-123.4352	47.0199	9015
+-115.6764	37.3595	5614
+-113.2763	35.1298	5051
+-123.6711	44.9335	7217
+-124.5017	41.3194	3157
+-115.1163	33.8691	7379
+-88.1931	40.9851	6051
+-116.306	32.3404	8845
+-84.3694	29.044	6979
+-123.9026	47.9423	8069
+-122.0639	48.1664	8000
+-91.7383	39.0887	7919
+-89.2949	36.4456	8322
+-125.9446	47.4043	6227
+-86.6775	41.0372	5363
+-106.9154	35.0718	4182
+-122.8197	47.2683	9263
+-115.9756	32.8708	8646
+-88.2476	42.5067	4767
+-80.3417	29.2627	7252
+-108.3455	29.7488	6543
+-115.9939	35.4506	7540
+-88.6532	38.5339	8833
+-112.5717	27.4235	4356
+-92.9389	33.2614	2899
+-112.185	30.4002	7093
+-81.4509	27.7676	9120
+-114.6609	32.7564	7180
+-122.3095	47.4629	8759
+-119.1106	45.3004	8042
+-115.639	27.7829	3946
+-89.0459	40.4781	7069
+-87.9219	39.187	7862
+-91.8808	33.8726	4306
+-121.8698	45.1085	7272
+-121.5647	32.9151	4665
+-82.6822	24.7234	6394
+-87.7232	35.7717	7388
+-79.5457	29.8018	6168
+-83.7869	27.5445	8005
+-123.5836	47.518	8641
+-107.6101	30.1104	6119
+-117.1904	33.4639	8803
+-83.5419	27.1693	8162
+-120.7728	47.7642	7110
+-122.9426	49.8618	6425
+-107.8405	31.1499	6732
+-88.7258	42.1208	5376
+-81.6795	24.8859	6593
+-87.0747	38.9237	7449
+-119.7046	45.9756	7750
+-120.3043	47.4713	6674
+-117.0174	36.026	7455
+-114.2117	28.1649	3872
+-83.5517	29.0907	7697
+-116.3412	31.4452	8072
+-107.7905	31.8038	6708
+-110.5988	31.2013	8970
+-92.6118	37.705	6771
+-117.3559	35.4876	8057
+-90.1568	37.5433	8101
+-88.1712	34.0179	5666
+-118.9238	31.481	7110
+-114.019	33.2212	6434
+-117.5586	34.0699	9212
+-125.0143	45.6006	6841
+-124.3309	44.8118	6764
+-111.9925	30.4493	7296
+-122.7423	46.2645	8816
+-119.7524	46.9174	7480
+-120.5966	43.7271	5751
+-86.9201	36.3783	7288
+-92.3757	38.1354	7177
+-80.3002	24.0056	5159
+-87.6149	25.0534	2973
+-122.3418	47.3398	8868
+-81.0656	29.1115	7950
+-119.2403	29.8214	5558
+-93.3692	38.1726	6146
+-91.9694	35.2385	5271
+-93.3627	38.682	6212
+-91.2472	40.7599	7066
+-109.5114	29.8683	7413
+-124.1454	49.1358	6858
+-121.0181	44.3636	6077
+-91.4675	36.2294	6467
+-117.1127	34.2384	9335
+-89.5888	37.3051	8807
+-114.2804	34.2553	6278
+-115.8627	32.4862	8468
+-88.0792	42.096	5046
+-118.3159	47.1856	8110
+-104.7122	32.5912	3286
+-85.9892	37.223	6658
+-92.2095	39.6843	7213
+-117.9041	46.5976	8598
+-125.3086	47.3191	6932
+-80.2328	26.2763	7160
+-118.2581	43.9562	6990
+-79.5345	29.2371	6514
+-87.5426	35.1197	6644
+-110.0247	30.8296	8591
+-124.7603	46.2804	7428
+-91.5288	38.9471	8172
+-110.0054	30.2491	7985
+-90.9876	38.7255	8772
+-89.0431	36.3013	8252
+-79.519	25.8704	6239
+-87.5425	39.7623	7090
+-122.8143	48.4158	8011
+-91.2347	37.7348	7996
+-115.42	44.0455	5528
+-115.6997	29.3513	5637
+-117.7181	34.9586	8512
+-110.5014	28.9226	6585
+-118.4382	33.0863	8084
+-109.5604	36.1716	4432
+-118.5259	48.3656	6847
+-106.3197	36.6465	2473
+-117.4883	33.9212	9203
+-110.3257	31.4535	9333
+-122.5247	45.1947	7616
+-110.6403	27.6033	5149
+-82.9472	26.7501	8419
+-112.8368	33.9849	5715
+-119.3092	44.3329	7096
+-111.8832	34.7747	5630
+-92.2167	37.4599	7008
+-80.8095	28.685	8070
+-87.8553	36.0849	7767
+-90.8692	36.1276	6891
+-115.9075	48.465	5710
+-116.6318	36.7183	6634
+-90.9877	38.0961	8465
+-91.6067	37.7088	7693
+-118.5861	37.9928	5089
+-123.1511	46.101	8616
+-80.404	24.8086	6016
+-116.9156	33.748	8969
+-117.14	32.421	9271
+-119.1455	33.9593	7480
+-89.1381	39.4173	7902
+-111.0601	28.5945	6141
+-90.2149	36.3765	7638
+-119.5038	30.82	6152
+-117.1432	29.7339	6309
+-90.262	36.7684	7857
+-88.4149	39.1654	8086
+-82.5456	29.7197	7634
+-114.6639	47.4004	5187
+-88.2224	36.5254	8397
+-89.5769	39.0071	8512
+-118.5572	26.8652	2882
+-83.0777	26.8029	8366
+-118.6823	34.6315	7901
+-120.7819	43.4488	5402
+-79.8503	26.9608	7153
+-122.1047	44.8539	7126
+-123.6149	46.8963	8817
+-118.0587	46.0659	9020
+-120.3789	43.722	5904
+-121.1692	46.5552	7652
+-111.3289	33.6571	6981
+-117.0076	34.9207	8634
+-117.1867	31.6569	8436
+-117.8837	45.0237	8045
+-119.1717	47.1891	7772
+-111.1461	31.9216	8520
+-119.8323	48.2904	6419
+-120.5455	34.6416	5919
+-124.2462	43.8383	5865
+-118.7325	34.8439	7761
+-82.8062	30.0391	7211
+-124.7448	46.6409	7548
+-115.5766	35.801	6948
+-88.1823	39.1483	8027
+-88.6413	35.9874	7926
+-81.5555	28.258	9034
+-87.3211	35.8822	7238
+-109.2759	30.3918	7748
+-119.985	35.2764	6321
+-116.0686	46.4669	6883
+-88.2794	40.1472	6702
+-108.2143	31.8851	7155
+-111.8278	29.2051	6430
+-91.4911	38.2083	8095
+-89.7347	40.1538	7758
+-93.5271	38.0905	5962
+-110.468	32.4846	8486
+-115.8859	33.5179	8316
+-120.6316	35.4549	5594
+-123.7068	43.3878	5576
+-124.3105	47.2913	8016
+-119.9532	44.6779	6938
+-112.2687	33.4281	6577
+-113.2726	34.6073	5151
+-123.3119	49.0158	7310
+-90.4646	39.7472	8346
+-115.9572	34.4636	8065
+-90.8423	39.4019	8565
+-117.7095	46.4792	8532
+-109.6576	30.6452	8221
+-117.6341	32.7472	9004
+-89.4376	35.1352	6876
+-110.0277	29.7247	7433
+-118.1636	35.0541	8136
+-117.3963	48.0941	6949
+-125.0825	47.9749	6965
+-120.8022	34.2653	5678
+-86.9198	40.7624	5768
+-117.2784	46.0974	8196
+-115.7237	44.3366	5969
+-118.8776	36.5353	6383
+-124.9339	47.3306	7336
+-81.1764	30.2562	6875
+-116.2429	29.2059	5645
+-119.583	34.3462	7000
+-116.2386	34.3924	8381
+-118.7315	47.6117	7591
+-122.3307	42.3261	4470
+-81.7778	25.2447	7011
+-118.8773	31.4709	7146
+-115.9145	33.3386	8443
+-113.0923	28.1304	4685
+-110.1742	33.2946	7611
+-106.717	32.7432	5359
+-121.7542	48.6569	7363
+-90.2069	35.4126	6813
+-119.7084	35.3013	6585
+-79.9241	28.4723	7269
+-121.4934	49.8168	6114
+-109.6118	32.9998	7751
+-80.2239	29.8407	6703
+-120.8903	48.011	7118
+-115.8031	47.4873	6251
+-119.1193	47.7369	7314
+-123.4144	44.0215	6322
+-79.6039	28.0756	7009
+-92.7744	39.6408	6674
+-109.8345	34.1884	6600
+-121.1742	33.5755	5232
+-90.8579	36.0307	6835
+-117.7305	32.1095	8592
+-90.4662	34.5779	5858
+-83.4877	30.0211	6917
+-89.5618	36.7638	8465
+-118.1833	33.1709	8339
+-79.5758	27.4079	6971
+-117.2539	34.5906	9039
+-83.7577	25.6427	6867
+-107.608	30.6533	6354
+-116.4999	34.4055	8650
+-121.8179	35.0497	4474
+-116.4392	31.0084	7652
+-89.7893	34.3775	5949
+-118.6454	33.1263	7849
+-83.1702	28.1516	8641
+-113.6992	34.4236	5634
+-82.5039	27.2429	9167
+-89.7678	39.4581	8413
+-82.4532	24.1852	5824
+-79.447	30.0563	5899
+-113.0753	33.3949	5913
+-89.664	39.9431	7923
+-80.3468	28.5222	7698
+-93.6931	39.6382	5731
+-83.5369	29.9068	6997
+-114.5853	37.4939	4848
+-90.6305	37.3802	7924
+-108.3718	30.4263	7006
+-115.4485	30.5354	6696
+-121.6712	45.4155	7432
+-121.1578	46.1601	7497
+-120.0588	48.1959	6351
+-82.3601	28.4335	9096
+-115.3128	33.0098	7896
+-92.6707	37.5339	6632
+-80.8433	28.8464	7989
+-87.6523	38.1279	8461
+-113.0367	28.584	5099
+-90.3294	40.9994	6999
+-108.9274	33.5469	6857
+-116.9672	33.3681	9138
+-88.2312	36.7639	8638
+-90.8948	39.5361	8413
+-122.2131	47.4077	8709
+-122.7796	46.6879	9273
+-92.4435	40.4627	6537
+-115.6614	36.6059	6322
+-87.6719	39.4722	7444
+-90.0865	40.0521	7985
+-92.0477	40.2244	7028
+-86.6251	37.9095	7396
+-118.2316	42.8352	5802
+-110.2904	32.9004	8046
+-110.5525	30.598	8380
+-111.6669	28.7079	6039
+-116.1477	46.1289	6999
+-122.1131	42.3213	4430
+-118.902	34.6028	7682
+-88.8156	38.9759	8344
+-80.2293	24.9372	6034
+-121.538	44.0268	6047
+-88.518	37.4167	9420
+-123.8469	48.2843	7823
+-111.9087	31.462	7762
+-115.4629	45.7631	6252
+-122.2623	44.4102	6712
+-118.5708	32.7896	7963
+-119.4055	47.9734	6948
+-90.3915	39.2038	8935
+-114.8206	35.1645	6642
+-109.5322	29.6792	7235
+-126.7326	46.3109	5334
+-116.0308	32.1511	8472
+-119.1592	35.1814	7178
+-116.6766	36.4389	6942
+-91.0582	36.7367	7136
+-81.308	24.9196	6539
+-86.5186	40.4428	5805
+-108.0989	31.5184	7052
+-81.6583	28.5148	8890
+-90.6868	34.7143	5862
+-121.1967	48.023	7404
+-117.1721	32.2439	9074
+-89.0708	36.3589	8309
+-126.5744	47.1742	5563
+-109.9728	30.8149	8554
+-118.1725	44.7617	7838
+-85.4832	27.2108	6051
+-116.2843	33.3333	8798
+-116.5679	31.6801	8409
+-86.9454	37.1528	7691
+-81.7733	27.946	9437
+-86.0959	36.8064	6666
+-115.0935	33.80	7393
+-122.7803	46.03	8569
+-121.9105	34.8472	4413
+-119.283	31.187	6594
+-109.0845	31.0283	7993
+-84.8819	37.6475	5454
+-89.9149	36.7084	8137
+-92.064	39.7403	7322
+-124.2698	49.8415	6108
+-119.2055	44.8702	7633
+-117.856	35.4092	8005
+-87.9756	38.6843	8368
+-116.7476	33.3925	9066
+-117.9727	28.5989	4916
+-81.881	25.2046	6980
+-80.8414	24.1516	5549
+-92.1994	38.5927	7460
+-80.832	28.1866	8345
+-120.9011	49.0202	6458
+-111.6401	30.5309	7656
+-116.695	45.6825	7521
+-123.609	48.7551	7493
+-115.2162	30.2721	6308
+-92.1592	39.9447	7117
+-110.5493	30.9329	8731
+-87.7524	37.1095	8516
+-117.4681	32.6502	9164
+-90.2952	36.784	7834
+-114.222	43.0603	3888
+-84.3241	26.7775	7173
+-82.0286	24.0173	5649
+-122.8234	32.2766	3147
+-117.5626	46.826	8177
+-90.2161	36.7394	7884
+-115.9958	47.981	6124
+-119.1139	43.5938	6464
+-82.1629	26.5769	8546
+-89.2647	36.4931	8385
+-116.4014	35.1277	8100
+-110.2856	30.3695	8157
+-122.738	42.4728	4666
+-80.0258	28.7215	7275
+-114.4438	46.7342	5139
+-118.1363	33.3661	8273
+-120.2987	30.658	5325
+-124.5508	43.2294	5118
+-121.8377	44.7419	6898
+-115.989	32.7062	8655
+-110.559	34.3081	6511
+-89.1729	39.0334	8084
+-90.8428	38.341	8761
+-118.3701	43.4548	6458
+-109.8441	32.1677	8648
+-118.6375	30.8354	6862
+-116.7727	33.5306	8928
+-120.683	46.9872	7170
+-110.3661	30.47	8267
+-118.0624	45.8006	8867
+-82.944	25.6752	7355
+-119.9907	47.4397	6962
+-116.1801	33.1127	8815
+-82.251	28.4952	9057
+-121.344	34.513	5071
+-88.6775	36.2725	8248
+-85.8527	24.2609	4110
+-88.7631	36.0485	7999
+-122.2475	47.7666	8472
+-109.3504	33.2289	7397
+-109.7103	32.4153	8347
+-119.1113	34.6351	7453
+-126.4371	47.7309	5631
+-87.0494	38.0874	7830
+-115.9341	28.8274	5157
+-115.1677	32.4387	7702
+-108.66	30.9795	7546
+-115.8764	30.7152	7112
+-119.1677	32.0782	7163
+-115.8216	32.9126	8471
+-117.9575	49.5127	5630
+-109.0712	30.5554	7710
+-119.306	34.1115	7313
+-80.8242	28.4039	8245
+-111.2231	33.5145	7170
+-82.3027	30.0286	7326
+-119.1315	46.9843	7963
+-89.0512	35.4515	7309
+-117.8874	47.0263	8194
+-92.3231	37.5784	6982
+-88.6925	37.0305	9097
+-88.0466	37.2598	8887
+-119.1744	34.1724	7456
+-120.3483	34.6153	6135
+-88.4884	39.2629	7996
+-81.2859	29.6448	7561
+-121.0342	35.0451	5309
+-118.0251	30.4577	6869
+-86.532	36.4721	6971
+-111.2775	30.668	8049
+-86.5267	40.4603	5795
+-116.6154	47.6656	6838
+-123.2846	47.1678	9129
+-126.558	42.6405	3382
+-83.6374	28.0439	8162
+-109.8698	33.5869	7245
+-87.2058	39.1281	7414
+-86.3104	35.8007	6353
+-110.9015	34.4544	6303
+-123.0822	48.497	7913
+-120.3584	45.714	7025
+-118.8212	45.0181	7981
+-115.9343	33.3308	8466
+-88.0292	39.2344	7870
+-118.8162	48.5906	6563
+-119.037	47.1301	7909
+-95.334	36.8074	3692
+-115.1653	34.5177	7208
+-81.0179	28.8336	8146
+-115.8874	30.9811	7378
+-115.2874	33.2008	7831
+-117.8041	32.9462	8808
+-123.8438	46.8904	8566
+-88.5301	35.068	6887
+-118.7807	34.5448	7826
+-111.2986	25.8356	3159
+-92.4561	33.4871	3558
+-114.9451	34.7876	6907
+-80.0667	26.0502	6853
+-94.1678	35.7051	4189
+-117.023	33.2134	9306
+-113.6878	35.2114	5461
+-118.385	36.6609	6523
+-114.5651	49.6221	3836
+-111.6259	28.6387	5989
+-115.8288	34.3236	7956
+-91.2757	37.1522	7452
+-79.6473	31.235	5065
+-114.788	31.0735	6641
+-119.4833	43.1506	5888
+-118.9925	49.163	5931
+-116.2179	45.945	7067
+-118.5932	37.9759	5103
+-118.2719	45.2195	8328
+-116.7121	32.7605	9462
+-83.7504	28.177	8005
+-88.1501	38.1322	8947
+-87.0546	35.7709	6948
+-109.7736	32.8657	7958
+-119.9451	30.3063	5408
+-89.515	38.9573	8462
+-81.1529	26.2939	7891
+-120.5452	41.0714	3421
+-87.3637	38.4818	7993
+-109.8962	31.051	8727
+-118.4559	34.916	7985
+-122.8689	46.8729	9498
+-89.0508	39.2108	7905
+-115.544	36.5185	6328
+-111.5599	31.8657	8110
+-112.4791	31.5792	7149
+-81.1834	24.3312	5860
+-91.6615	38.3491	7981
+-117.916	31.8968	8278
+-91.97	39.1843	7651
+-118.3035	34.8806	8144
+-118.3722	44.6305	7701
+-117.6692	45.4803	8337
+-117.8161	47.1671	8027
+-119.8071	46.3262	7629
+-90.0098	38.2887	8785
+-121.9556	45.8081	7964
+-111.7084	31.3914	7969
+-109.3145	27.4764	4889
+-82.5216	29.0052	8424
+-118.363	34.8141	8130
+-89.5063	35.0555	6769
+-117.1206	31.8503	8661
+-92.0373	40.9362	6470
+-121.4591	48.1555	7554
+-84.0094	26.389	7259
+-120.0928	35.6099	6060
+-84.3135	25.3877	6242
+-79.7828	25.3244	6058
+-82.1127	26.5344	8498
+-109.3583	32.5472	7988
+-117.2266	45.7521	8082
+-117.1698	32.8636	9520
+-123.2515	48.1723	8226
+-119.1746	31.6953	6991
+-117.6983	32.2368	8712
+-86.2346	39.473	6323
+-109.0947	33.3869	7103
+-82.1587	24.5357	6237
+-120.7692	45.1375	6437
+-115.5555	31.234	7388
+-89.0771	34.5302	6278
+-83.127	26.9749	8455
+-90.3343	39.6936	8406
+-120.8272	45.4652	6794
+-80.9298	32.966	3854
+-87.504	39.5825	7239
+-113.6769	31.059	5807
+-92.6544	41.1937	5829
+-85.8575	36.0709	6091
+-90.7097	37.1521	7667
+-118.9209	28.2983	4262
+-114.8425	34.1242	6894
+-117.6684	29.0828	5515
+-86.9709	40.0107	6500
+-109.0001	28.4683	5802
+-111.1376	34.101	6610
+-90.3073	41.6047	6346
+-115.9867	32.4239	8575
+-117.7469	36.0292	7404
+-109.3599	29.5771	7058
+-87.2333	27.3147	4100
+-122.9563	48.3124	8126
+-114.2845	33.2859	6716
+-108.2868	29.799	6532
+-118.684	47.3643	7856
+-123.5922	44.1853	6457
+-83.6467	28.4731	8003
+-108.4966	27.8333	4949
+-113.9121	35.1599	5711
+-91.8865	37.1356	7047
+-118.8803	35.8536	6965
+-115.7756	34.589	7837
+-119.2684	45.3606	7956
+-83.7334	30.6784	6134
+-115.6611	34.8484	7621
+-118.0769	38.981	4177
+-82.2925	27.1808	9206
+-118.1327	47.8798	7369
+-87.4879	38.9505	7781
+-93.6039	39.1622	5925
+-115.2111	45.1311	5849
+-110.8823	29.6067	7251
+-119.6011	32.6429	6808
+-89.0282	34.8371	6626
+-86.5967	38.2626	7289
+-120.3519	49.0741	5973
+-116.5395	36.0874	7263
+-116.7709	33.73	8841
+-114.2795	28.3271	3930
+-85.6376	35.7208	5679
+-122.1268	48.9491	7268
+-110.3511	32.6434	8325
+-90.5304	39.0538	9061
+-122.4299	47.9569	8402
+-76.5989	28.5312	3572
+-89.9871	39.4038	8600
+-84.7856	27.767	6892
+-117.155	33.7207	9072
+-121.219	48.2664	7272
+-82.546	29.845	7495
+-89.6216	38.4342	8536
+-90.0427	38.1436	8675
+-83.2261	25.474	7019
+-117.8427	36.5515	6826
+-117.6692	30.8902	7466
+-121.7314	46.2214	8084
+-118.8318	30.1014	6079
+-82.6005	28.4988	8910
+-81.425	29.3089	7972
+-123.3396	44.1642	6490
+-121.0389	45.5393	7029
+-116.0621	35.8613	7240
+-86.8726	36.1797	7113
+-123.2035	47.0218	9267
+-82.2822	29.73	7665
+-107.9746	31.969	6884
+-89.0158	36.2219	8170
+-82.0685	26.3046	8237
+-122.613	48.7542	7617
+-90.0926	37.5797	8125
+-80.2628	26.4747	7321
+-118.1273	34.209	8595
+-117.4474	45.6373	8249
+-119.6739	36.3075	5999
+-93.1104	35.6132	4944
+-108.855	31.5686	7872
+-113.2583	28.3577	4756
+-119.0368	32.4342	7405
+-112.8666	32.6206	6508
+-117.2968	32.7706	9381
+-118.5687	46.0618	8956
+-112.4995	45.3808	3088
+-113.904	32.34	6296
+-117.8849	46.8459	8365
+-88.8039	38.9535	8369
+-120.793	30.2421	4609
+-87.1338	36.4703	7543
+-116.9238	33.091	9443
+-95.3907	38.1149	3984
+-110.922	35.9087	4744
+-120.104	32.3354	6212
+-118.4706	32.3016	7980
+-90.3075	38.3084	8941
+-115.5476	36.0056	6765
+-106.0036	26.1378	1936
+-121.9127	35.0565	4371
+-114.5338	29.7593	5395
+-107.8157	33.101	6289
+-91.5971	39.1078	8060
+-113.1035	30.2458	6141
+-116.2898	33.2528	8855
+-120.7255	44.4292	6127
+-91.7896	38.8773	7902
+-111.9837	32.1282	7591
+-85.4602	31.5367	4204
+-121.2031	38.9521	2751
+-118.2225	44.3721	7429
+-115.328	36.266	6394
+-84.2225	25.6614	6537
+-115.5212	32.5696	8117
+-112.6866	33.637	6089
+-108.6099	32.8084	7183
+-117.9631	33.2458	8543
+-111.8866	33.4145	6872
+-121.5805	47.058	8153
+-123.2414	49.1712	7155
+-92.0738	39.9619	7182
+-79.6989	28.4253	7039
+-107.6073	29.8052	5947
+-109.2848	31.7155	8329
+-91.538	39.0258	8145
+-118.55	32.746	7985
+-89.2661	35.3456	7151
+-89.0728	37.2829	9265
+-81.4311	29.0279	8259
+-115.3753	33.3453	7882
+-118.261	32.5759	8284
+-117.0884	32.9833	9523
+-82.8417	28.5436	8703
+-123.0339	48.3198	8112
+-111.9815	29.7926	6837
+-110.5095	31.3376	9146
+-111.1238	32.4792	8179
+-120.9886	49.6557	5982
+-119.1074	35.4375	7077
+-117.5665	31.6425	8282
+-123.6376	47.0871	8785
+-89.3605	38.7277	8322
+-116.8483	34.5379	8903
+-122.6044	47.1141	9243
+-118.6247	30.7315	6781
+-113.9949	34.7707	5902
+-123.1057	46.341	8883
+-118.2071	33.5508	8331
+-90.8162	35.705	6631
+-112.2416	37.4696	2958
+-115.7215	34.2667	7846
+-87.9373	39.8829	7158
+-118.3531	46.3017	9035
+-118.7125	33.6771	7884
+-81.0114	26.0371	7560
+-81.9037	28.7579	8741
+-88.2905	38.1657	9040
+-116.9885	36.3009	7154
+-112.9937	33.9164	5640
+-111.7077	33.6676	6769
+-116.5313	33.511	8839
+-116.3801	36.8086	6464
+-80.124	28.7383	7367
+-87.4647	36.1433	7566
+-117.5046	34.623	8944
+-81.3616	28.6227	8588
+-88.7936	36.6778	8705
+-88.5932	38.2138	9170
+-123.4455	43.0031	5211
+-79.1743	26.7994	6370
+-86.1508	34.2865	5018
+-91.4871	39.4294	8027
+-87.2988	40.8308	5899
+-120.5406	46.6876	6790
+-92.4914	37.8521	6955
+-116.5297	36.5295	6803
+-123.7669	45.741	7957
+-115.329	30.0876	6203
+-86.4941	32.8002	3787
+-82.5447	26.9476	8856
+-112.2834	32.8187	6972
+-118.6097	43.7062	6702
+-110.3145	28.5652	6203
+-83.2497	27.073	8406
+-123.1621	48.9446	7414
+-91.2178	41.7801	6037
+-119.7107	45.9838	7744
+-118.3201	31.0884	7304
+-121.06	32.0296	5103
+-120.0674	46.9744	7156
+-118.4424	49.844	5292
+-122.9945	48.9124	7466
+-119.5758	32.0665	6725
+-105.7735	30.4643	4387
+-114.2579	48.0863	4506
+-107.1384	29.8286	5524
+-121.009	43.2907	5115
+-116.3882	30.7513	7361
+-89.2825	41.8989	5829
+-113.4863	35.1827	5258
+-110.4093	28.7336	6385
+-118.2604	44.6946	7772
+-117.5716	47.6541	7450
+-110.2327	30.4999	8295
+-119.3865	32.5516	7038
+-122.6817	49.214	7125
+-85.3243	26.532	6021
+-92.8821	38.0543	6629
+-88.7891	36.1758	8142
+-117.7668	43.1411	6079
+-79.9029	28.1353	7335
+-89.1998	38.7433	8512
+-123.0605	44.5054	6897
+-107.2721	34.3053	5035
+-91.5949	38.9061	8108
+-110.9051	31.7595	8825
+-108.0648	32.0953	6954
+-114.8829	34.1149	6938
+-82.8846	27.6808	9037
+-87.1834	37.1776	7955
+-89.2043	38.4345	8822
+-88.1244	41.554	5543
+-109.5113	31.8853	8525
+-109.8034	33.9808	6813
+-81.3263	25.7763	7463
+-90.4625	42.1946	5711
+-119.2214	44.5908	7379
+-118.4457	33.1543	8061
+-126.1271	46.4774	6020
+-122.3169	48.009	8294
+-117.5182	34.2082	9252
+-85.2022	27.9667	6413
+-118.9325	46.5176	8443
+-111.3413	28.8672	6335
+-117.0694	30.7104	7401
+-121.1095	47.704	7479
+-122.97	43.3173	5596
+-88.0938	42.1006	5050
+-90.8528	35.1807	6173
+-122.817	44.6399	7048
+-88.6526	38.525	8842
+-117.5503	35.119	8419
+-118.6923	33.4106	7794
+-108.8566	30.1829	7269
+-122.4617	47.3943	8933
+-108.3045	33.8846	6150
+-121.5063	49.3074	6613
+-91.5178	39.8363	7731
+-119.6542	47.3865	7269
+-117.8749	33.7627	8761
+-125.4784	46.0456	6598
+-108.4183	31.7721	7389
+-88.8921	31.938	3384
+-110.4886	31.5688	9305
+-125.2253	48.8897	6291
+-117.5521	48.4201	6684
+-92.0362	38.3613	7594
+-83.997	28.2099	7725
+-90.1651	37.168	8149
+-111.4904	29.842	7208
+-110.5813	31.0532	8839
+-81.3495	25.6534	7342
+-90.9109	37.9269	8371
+-117.4538	31.7336	8428
+-89.6529	41.1982	6671
+-89.3825	37.5837	9118
+-116.1496	33.3303	8676
+-88.6057	41.2579	6111
+-90.4529	40.9474	7055
+-89.2269	34.3181	6022
+-112.1646	32.4997	7255
+-118.6303	44.9073	7945
+-118.0382	33.4295	8399
+-86.9776	38.6642	7516
+-116.8673	35.6719	7804
+-82.7074	29.6214	7696
+-89.3835	37.6143	9120
+-113.8933	34.0367	6065
+-122.2346	36.4911	3539
+-79.9939	25.2464	6152
+-106.623	29.7668	4998
+-119.1759	48.1457	6897
+-90.627	36.7774	7282
+-123.3468	46.2331	8663
+-122.1985	48.9677	7276
+-110.9286	24.4427	1710
+-117.0217	34.3363	9191
+-90.9962	34.1106	5104
+-80.4844	26.3315	7419
+-90.8961	39.1612	8716
+-112.9167	31.625	6674
+-89.0653	37.2798	9267
+-88.0754	35.9519	7740
+-119.7147	32.8786	6687
+-117.3143	36.9676	6446
+-89.7503	42.5072	5318
+-110.263	31.732	9295
+-126.6746	45.1006	4980
+-112.2512	32.5504	7146
+-118.5753	33.9234	8092
+-122.519	47.4638	8918
+-81.1327	27.9144	8748
+-86.3583	41.6766	4564
+-91.2099	39.042	8479
+-116.2098	35.5321	7625
+-115.021	35.4877	6677
+-120.7178	34.6409	5733
+-81.789	29.943	7400
+-118.1976	34.2101	8519
+-118.6387	45.6738	8673
+-113.8862	31.4809	6008
+-126.8543	45.2996	4892
+-116.6303	46.8516	7337
+-112.4861	32.3072	7013
+-89.9259	36.4487	7928
+-118.3638	46.1919	9131
+-116.7545	35.1148	8330
+-118.541	43.8934	6908
+-116.667	36.8855	6465
+-118.7961	46.4219	8619
+-112.4692	45.8594	3098
+-123.8949	48.6916	7418
+-112.9005	31.5685	6692
+-90.1763	39.769	8304
+-116.3113	32.9441	9008
+-116.8761	33.6506	8861
+-91.006	38.04	8406
+-120.9598	45.1799	6708
+-83.0159	28.0789	8833
+-117.0366	34.557	9012
+-112.9068	34.2828	5433
+-122.3127	44.9216	7269
+-110.474	32.5766	8387
+-89.3092	40.8989	6835
+-114.7597	34.3716	6791
+-118.3277	32.0871	8030
+-117.1843	32.2522	9078
+-117.6156	47.1541	7939
+-110.4731	33.3143	7592
+-124.0792	46.1871	8053
+-115.7642	35.1542	7556
+-78.6269	32.6524	3089
+-117.0936	35.5693	7960
+-86.4628	33.4226	4395
+-81.8541	27.9541	9512
+-117.6275	34.1951	9138
+-119.5368	46.5638	7845
+-83.2655	29.7219	7336
+-113.9376	31.8071	6192
+-120.0368	44.1865	6512
+-116.9144	35.3448	8162
+-119.5649	32.4574	6827
+-115.953	33.2624	8518
+-109.5048	31.6817	8570
+-113.8717	33.472	6224
+-86.1097	36.5323	6572
+-109.396	31.12	8341
+-108.0083	32.426	6794
+-123.9236	49.4913	6613
+-112.2369	33.7088	6382
+-90.0797	38.0634	8615
+-117.208	34.0444	9422
+-107.9441	30.4454	6606
+-118.7455	46.05	8768
+-108.8658	31.5585	7883
+-119.8292	32.9707	6468
+-115.6183	32.2809	8135
+-123.6522	47.9329	8261
+-119.3824	43.3663	6140
+-88.5741	36.8419	8865
+-109.1974	33.6508	6918
+-123.6487	47.4376	8634
+-114.5979	33.7084	6930
+-89.2073	36.2084	8106
+-116.1957	33.832	8324
+-116.2215	45.3699	6944
+-118.2127	34.1025	8505
+-123.8919	48.0515	7991
+-119.666	43.3043	5957
+-79.4334	32.8211	3409
+-122.8198	45.5976	8100
+-92.9634	39.4302	6548
+-116.506	31.5213	8219
+-119.8318	46.0011	7617
+-119.7703	44.658	7067
+-80.4696	26.8419	7739
+-123.4542	43.4941	5743
+-84.916	36.3093	5232
+-118.6317	31.5397	7412
+-109.8362	30.4823	8165
+-107.1058	31.5083	5976
+-117.2981	38.3319	4958
+-126.9283	49.1103	4593
+-120.7421	48.2252	6862
+-114.7041	32.8205	7229
+-91.5398	39.5379	7916
+-117.949	33.4757	8504
+-90.5851	38.1368	8728
+-111.9202	32.9841	7180
+-123.5266	44.672	6993
+-120.4085	47.6444	6770
+-81.4455	29.2118	8082
+-86.3399	41.1064	5089
+-117.2895	34.1401	9512
+-117.9501	30.2569	6694
+-122.6861	48.9817	7380
+-88.8318	35.4544	7332
+-117.3022	32.6152	9316
+-116.4222	32.5823	9092
+-115.3008	30.9518	6964
+-116.8131	35.2964	8176
+-119.5915	31.8438	6630
+-90.9076	35.4284	6339
+-85.8934	42.3309	3665
+-117.0989	33.1675	9335
+-119.4934	34.2959	7102
+-81.6539	24.2018	5823
+-122.6473	47.4629	8994
+-89.6267	35.9345	7645
+-85.3154	38.7404	5758
+-117.4031	32.1813	8893
+-118.674	33.113	7820
+-118.9881	33.8833	7640
+-108.7426	33.3154	6926
+-90.2051	40.8133	7192
+-119.461	45.6377	7921
+-87.3776	28.2127	3938
+-119.3291	43.1329	5929
+-115.9718	33.0086	8623
+-82.6007	26.7705	8648
+-115.7196	34.4207	7822
+-92.1387	36.2613	6142
+-116.5651	33.9536	8748
+-87.4571	40.4448	6367
+-85.8259	28.3662	5660
+-120.3823	35.7126	5727
+-89.1293	38.7526	8529
+-124.5931	47.1558	7735
+-84.7195	40.5557	4233
+-93.5051	37.3542	5739
+-84.638	28.9492	6759
+-86.6302	38.7552	7123
+-89.1424	41.0557	6602
+-121.1804	47.1644	7704
+-93.4499	41.2374	5168
+-88.2488	38.9889	8220
+-115.2374	31.52	7342
+-122.5517	48.8767	7473
+-118.3466	35.4548	7676
+-88.7096	37.4757	9592
+-83.7985	28.0305	7985
+-112.1204	33.0984	6935
+-88.3152	38.6699	8580
+-83.9861	28.2026	7739
+-118.2324	41.7244	4626
+-112.8997	29.9665	6187
+-120.4699	31.9631	5731
+-118.0114	34.0047	8713
+-115.4895	32.0814	7913
+-126.0079	44.7151	5390
+-84.2678	27.728	7477
+-93.021	43.2327	3818
+-91.8476	39.0666	7810
+-89.4103	37.5258	9076
+-117.6943	31.8001	8358
+-111.0021	32.3169	8398
+-120.3106	48.7643	6143
+-86.9672	35.6938	6818
+-110.0398	31.8289	9059
+-88.5802	36.663	8670
+-109.3608	30.8981	8185
+-108.5467	29.8425	6771
+-88.501	38.8217	8484
+-123.1918	45.7326	8213
+-110.5148	30.9175	8726
+-86.3122	37.0725	6981
+-115.785	38.7637	4235
+-80.721	25.901	7245
+-116.9698	31.5153	8301
+-114.8749	33.4518	7315
+-116.6608	48.0162	6601
+-118.2126	34.8002	8275
+-111.4893	33.0065	7487
+-117.4893	30.9012	7538
+-118.1383	30.7359	7089
+-108.2583	30.6175	6994
+-121.9803	30.7093	3687
+-117.3895	46.6185	8166
+-89.0214	43.1173	4494
+-84.3346	26.5202	7030
+-117.2127	42.7569	5543
+-90.4692	39.9053	8176
+-116.3983	32.7784	9118
+-115.7564	49.0772	5125
+-108.3182	29.6869	6476
+-82.4143	25.3572	7148
+-108.5395	30.7454	7328
+-81.2162	26.38	8012
+-87.3059	38.1415	8091
+-116.7638	33.9296	8946
+-116.787	44.8251	7179
+-119.5891	35.1489	6773
+-110.5103	31.5799	9282
+-117.2782	35.6699	7862
+-115.9503	46.0811	6790
+-119.2491	43.8836	6700
+-110.8841	33.1687	7655
+-116.9785	47.881	6922
+-81.1499	27.7613	8780
+-111.0244	30.4902	8072
+-88.6902	36.0187	7964
+-115.0486	30.3399	6259
+-89.9244	38.5755	8895
+-84.6321	31.1631	5122
+-89.9439	40.3946	7590
+-118.727	33.1052	7763
+-122.5021	49.8632	6394
+-113.9229	31.6425	6114
+-79.6747	32.0248	4330
+-83.8356	26.5951	7555
+-123.7207	45.8641	8096
+-92.7081	39.3611	6834
+-115.9758	33.9111	8109
+-88.2027	38.0547	9046
+-118.4732	35.8891	7214
+-85.5315	38.3038	6114
+-117.6562	44.639	7577
+-83.8151	28.6623	7737
+-110.3835	29.198	6889
+-113.9902	34.242	5962
+-111.561	31.4809	8139
+-125.5952	48.068	6407
+-124.5166	43.4276	5332
+-117.5406	38.8726	4360
+-126.71	48.7749	4973
+-124.7705	44.6555	6340
+-115.7018	46.2476	6522
+-90.0084	36.0299	7509
+-113.3915	34.2463	5458
+-115.5354	45.4463	6269
+-89.3605	37.0738	8874
+-108.3697	29.9828	6729
+-88.5164	37.8958	9434
+-82.1415	27.6411	9750
+-114.5483	28.8301	4552
+-92.4625	39.9825	6819
+-89.5036	35.1088	6828
+-86.9883	39.7125	6772
+-77.9008	29.1917	4840
+-124.955	47.3892	7301
+-88.6012	39.4208	7837
+-120.5819	44.1892	6095
+-109.2096	34.5006	6086
+-116.1395	31.4838	8003
+-90.3576	38.4832	9135
+-88.5957	34.5453	6307
+-88.3269	34.9592	6737
+-84.8936	26.015	6194
+-114.8702	34.6425	6865
+-120.0859	47.3205	6955
+-90.8196	34.9388	5983
+-121.0582	32.7642	5141
+-115.3265	34.1474	7421
+-122.5721	45.9265	8408
+-87.9769	36.0918	7838
+-118.2418	45.1909	8297
+-84.1972	28.1753	7512
+-112.9004	35.8871	4405
+-89.436	37.9594	8995
+-116.9694	33.7012	8966
+-88.936	37.479	9532
+-110.221	30.8544	8674
+-119.0053	47.2036	7864
+-90.5865	40.4112	7620
+-118.374	46.7586	8556
+-116.5535	47.7958	6695
+-118.6147	35.6803	7300
+-110.6773	32.8163	8087
+-122.5601	48.0166	8394
+-118.7596	30.1091	6131
+-116.454	30.9108	7552
+-114.9657	32.3187	7453
+-95.4675	36.8751	3584
+-84.6823	40.6943	4108
+-118.9099	36.8342	6089
+-90.0002	37.4701	8413
+-115.6726	33.6491	8037
+-87.884	27.5544	3382
+-89.8269	39.5372	8385
+-116.1968	35.5593	7593
+-119.5612	33.1065	6796
+-91.8052	40.1501	7274
+-106.1476	31.3202	4930
+-118.0472	32.2083	8370
+-89.5492	36.0224	7772
+-117.7202	29.4836	5941
+-81.6695	25.7974	7604
+-88.3744	39.0182	8235
+-116.3091	34.0507	8490
+-118.0791	30.5451	6932
+-120.9817	45.6453	7047
+-84.844	37.0954	5366
+-81.9627	25.3225	7121
+-123.2244	48.0154	8400
+-118.2836	34.2232	8424
+-112.2018	33.3611	6679
+-86.7518	38.4524	7387
+-89.9234	41.4264	6497
+-82.8573	26.1768	7916
+-114.9374	47.4749	5429
+-108.0239	29.8448	6342
+-107.5254	30.6644	6273
+-112.4227	32.7277	6892
+-92.6068	38.4112	7000
+-117.4289	44.7623	7580
+-119.9673	31.7324	6194
+-87.9899	37.0757	8720
+-112.4754	33.647	6251
+-89.3699	37.333	9042
+-115.8895	35.452	7458
+-118.3369	36.1925	7006
+-122.2808	47.6243	8614
+-116.9006	45.8463	7772
+-92.0728	39.0022	7583
+-86.6543	36.9388	7307
+-90.5735	39.0143	9073
+-116.8883	31.4974	8279
+-110.8454	30.1085	7782
+-108.9396	29.4575	6719
+-115.7899	34.8642	7741
+-123.6822	47.5759	8517
+-91.4279	41.3302	6424
+-82.9209	29.5337	7704
+-120.254	45.3057	7010
+-123.9621	48.8049	7274
+-83.136	29.0878	8016
+-119.9852	45.1005	7170
+-117.1223	33.7478	9089
+-88.1762	38.5307	8640
+-111.7895	32.4114	7659
+-118.0635	48.794	6398
+-125.1809	48.5023	6585
+-93.4846	38.1992	6029
+-117.1498	38.0108	5306
+-116.7619	34.8505	8581
+-80.4099	30.4939	6242
+-90.3611	38.3133	8953
+-119.4716	43.1628	5905
+-121.8727	45.0479	7215
+-118.2892	47.217	8078
+-88.2837	35.7964	7648
+-114.4031	31.1614	6349
+-85.5841	27.6321	5985
+-118.9016	44.1177	7061
+-110.3053	32.3284	8666
+-118.7096	45.1112	8120
+-116.6641	36.0007	7397
+-121.425	34.0694	5001
+-87.5016	35.8011	7286
+-89.4548	42.2332	5539
+-109.2874	32.7132	7805
+-123.181	46.6039	9102
+-116.3816	35.0901	8116
+-122.0847	49.9168	6243
+-118.524	33.4334	7968
+-111.0085	33.7101	7056
+-112.1123	28.6382	5746
+-90.9526	39.1595	8668
+-117.1432	32.2319	9072
+-117.3162	46.7496	8027
+-109.6303	36.823	3746
+-87.3501	40.343	6415
+-125.6739	43.673	4875
+-116.3269	32.925	9029
+-116.5009	33.1956	9083
+-89.8384	37.5692	8607
+-116.4387	33.7622	8548
+-81.1059	29.711	7404
+-119.9137	35.7878	6133
+-116.4002	34.4163	8544
+-117.1959	32.7405	9483
+-90.4535	36.6426	7600
+-82.5747	24.7282	6419
+-121.3337	48.3782	7290
+-117.9407	31.625	8036
+-122.3335	46.284	8632
+-119.2462	32.4495	7177
+-81.9357	27.3872	9408
+-78.8267	28.1283	6129
+-114.1666	33.5539	6523
+-124.964	46.034	7118
+-113.1874	29.8622	5863
+-109.2433	29.4491	6877
+-123.8442	44.1268	6318
+-118.8163	35.6206	7195
+-118.0454	36.9878	6310
+-87.7868	34.6523	6258
+-121.4382	48.8074	7024
+-124.1907	45.7937	7690
+-109.25	31.2361	8241
+-123.6563	45.9724	8234
+-91.2899	35.0694	5751
+-83.8287	28.6957	7705
+-94.6595	40.1123	4587
+-79.5461	26.2997	6528
+-117.1269	34.9807	8601
+-109.815	32.1559	8637
+-86.6178	36.4204	7027
+-91.9967	36.694	6607
+-115.532	35.9808	6773
+-118.3049	44.5654	7635
+-107.1802	32.1501	6003
+-87.1543	37.7679	8002
+-92.8104	40.0561	6454
+-123.7986	46.5827	8533
+-85.7317	27.5279	5812
+-93.435	39.2117	6098
+-82.569	37.7659	2857
+-117.8887	31.8086	8229
+-85.3145	35.801	5411
+-93.7186	39.8073	5653
+-90.8602	34.775	5808
+-123.4081	44.0301	6332
+-114.6545	34.1487	6688
+-87.4042	38.2029	8171
+-111.4193	35.1804	5403
+-91.5841	39.1927	8045
+-119.0729	34.2189	7565
+-91.0258	39.435	8412
+-116.2183	31.2704	7837
+-84.499	27.7026	7215
+-116.5029	45.7449	7338
+-116.6018	36.2798	7087
+-90.7268	39.5572	8479
+-115.5512	31.472	7575
+-124.705	48.1983	7205
+-119.8863	45.5956	7481
+-110.8165	32.9782	7874
+-121.586	44.7355	6762
+-118.4985	28.7506	4906
+-124.2071	46.9829	8170
+-94.306	34.8486	3461
+-84.5179	40.6984	3956
+-108.9609	32.5919	7628
+-111.7214	29.387	6659
+-89.9607	38.433	8855
+-121.0704	46.3698	7492
+-121.7248	48.7805	7232
+-116.9985	36.4963	6944
+-117.9995	34.412	8683
+-88.8764	33.447	5078
+-90.5452	38.6609	9225
+-118.3535	33.9311	8332
+-116.0001	30.6423	7099
+-116.5797	44.3798	6696
+-120.6871	36.52	4988
+-117.3278	35.4314	8120
+-123.7281	47.1305	8679
+-84.7269	28.1919	6919
+-82.3815	27.2325	9226
+-110.3794	31.1777	9031
+-113.6043	32.0636	5892
+-87.1756	37.6797	8029
+-123.4454	45.6465	8037
+-92.1431	40.6499	6633
+-115.7433	35.378	7392
+-120.8284	33.4523	5582
+-83.6933	38.829	3972
+-87.4186	39.9319	6856
+-109.4312	31.4499	8486
+-121.8506	30.3107	3630
+-125.625	48.5618	6137
+-118.4379	42.867	5833
+-119.2276	48.1782	6843
+-117.915	41.8518	4744
+-114.3555	36.2843	5590
+-89.6613	39.6761	8159
+-82.6997	27.9073	9232
+-90.3962	38.7653	9403
+-117.6515	31.3499	7947
+-116.955	31.6079	8405
+-82.6504	30.6842	6540
+-117.6669	47.9637	7182
+-111.6067	30.625	7747
+-78.8501	26.3853	5863
+-94.3602	35.71	4029
+-89.5463	39.2057	8397
+-92.4634	39.0606	7157
+-123.2618	48.0222	8380
+-118.3315	34.2231	8372
+-117.5459	33.3387	8883
+-122.7319	47.3413	9155
+-121.0443	47.1342	7559
+-119.0323	48.2356	6864
+-77.5503	28.7202	4596
+-119.443	32.6099	6981
+-88.669	36.485	8485
+-116.7153	34.7798	8611
+-114.7276	35.5045	6390
+-118.7504	29.3259	5380
+-89.165	39.6578	7787
+-112.5409	30.8459	6952
+-114.4126	34.9776	6291
+-107.1595	32.0407	5999
+-117.2111	45.3066	7848
+-89.2084	36.5928	8512
+-118.5211	33.1984	7831
+-113.1714	31.0675	6348
+-91.8579	38.6055	7827
+-87.8491	40.1035	6892
+-78.0148	27.8636	5232
+-118.5237	42.9103	5873
+-118.249	30.0776	6379
+-115.9092	35.539	7406
+-109.7121	31.8043	8759
+-82.9523	29.7647	7449
+-121.3664	47.2447	7894
+-123.3658	47.8716	8488
+-117.3511	38.1318	5175
+-85.1408	39.016	5472
+-110.8199	34.3464	6434
+-118.4383	42.764	5724
+-115.6446	35.5067	7219
+-87.8368	37.3171	8700
+-91.1677	37.3292	7675
+-88.6635	39.4024	7863
+-120.48	46.2728	6927
+-116.685	44.9215	7157
+-115.0816	38.7956	3921
+-111.3943	35.4324	5148
+-80.6297	26.9229	7942
+-117.7792	29.5923	6044
+-109.3189	25.7436	3052
+-118.8398	35.5085	7259
+-115.6934	34.0033	7816
+-119.1128	31.6551	7031
+-88.8285	36.8812	8931
+-91.5964	40.5153	7116
+-121.4019	45.4624	7274
+-86.4307	40.685	5530
+-89.6628	36.3786	8054
+-116.4182	30.7764	7396
+-123.0896	48.6192	7779
+-89.3335	40.3539	7358
+-83.9303	30.9403	5766
+-88.7289	41.476	5987
+-88.7528	38.6647	8694
+-118.2728	32.2053	8144
+-122.1235	46.526	8625
+-90.2955	37.6116	8194
+-124.5831	45.6823	7280
+-110.145	30.7092	8505
+-118.4733	49.6492	5496
+-91.4841	35.9295	6161
+-118.9451	32.6468	7538
+-116.2884	38.2462	4926
+-87.5649	36.3244	7793
+-84.7513	39.4757	4871
+-120.6802	46.4541	7103
+-83.8486	27.7408	7952
+-83.7209	30.9147	5904
+-115.9195	31.2577	7658
+-111.2798	31.9166	8386
+-114.4084	46.0048	5155
+-117.0737	47.3362	7429
+-83.2484	26.3193	7825
+-119.0782	43.7433	6626
+-89.3825	37.6853	9123
+-115.0076	35.1369	6841
+-81.3935	28.0595	8992
+-91.8301	38.4794	7838
+-90.3545	34.8691	6205
+-110.8847	31.7582	8847
+-116.7102	47.3328	7144
+-89.2005	41.428	6269
+-121.809	45.8547	7895
+-83.9062	29.1672	7336
+-90.4578	37.5352	8113
+-118.9449	35.2496	7339
+-111.443	34.0479	6545
+-87.4579	39.3574	7415
+-86.7079	34.4706	5548
+-111.7249	34.8063	5670
+-117.651	45.0012	7918
+-109.2357	30.3969	7722
+-123.0414	45.2379	7701
+-114.5225	46.964	5174
+-116.4025	33.7553	8509
+-124.2778	47.7994	7837
+-117.5719	45.3785	8187
+-117.2647	34.8863	8716
+-106.2598	28.8964	4186
+-90.2846	37.7662	8359
+-77.9298	26.0169	4741
+-117.5492	43.7624	6666
+-83.2399	26.7843	8218
+-117.6187	32.6532	9003
+-83.564	26.2803	7558
+-89.8466	37.2747	8526
+-117.9032	44.4806	7499
+-88.3345	37.6765	9330
+-108.9343	29.1755	6456
+-126.2978	45.7446	5639
+-89.8846	37.4625	8540
+-111.5425	30.8567	7945
+-118.0335	34.4486	8633
+-91.2942	39.8984	7844
+-127.1848	46.0787	4799
+-87.8324	39.3481	7655
+-118.4348	30.8236	6992
+-91.0511	36.2591	6645
+-112.9619	32.0305	6585
+-91.0559	36.9356	7339
+-116.7523	47.1275	7308
+-81.0662	30.0644	7026
+-109.0331	31.6276	8064
+-90.53	40.1082	7952
+-80.6579	24.8054	6149
+-123.0432	46.3579	8919
+-120.4617	46.0423	6953
+-90.0218	40.502	7496
+-92.1113	36.8169	6630
+-114.7181	32.7153	7242
+-122.15	46.7899	8760
+-122.4768	48.2018	8172
+-121.4242	48.7043	7102
+-116.7252	33.7883	8838
+-117.1819	44.8341	7483
+-108.8715	30.8583	7706
+-115.603	41.1972	3343
+-123.515	43.7066	5961
+-125.7445	46.9421	6481
+-89.8553	38.6656	8848
+-90.2076	39.7269	8355
+-118.0467	32.9191	8543
+-91.136	40.1691	7693
+-121.3008	43.2572	5168
+-107.4082	31.084	6258
+-107.3871	29.6471	5654
+-125.5318	43.2772	4627
+-92.1744	40.1529	6972
+-120.8583	44.9928	6292
+-124.1798	48.4171	7481
+-78.9084	26.4865	5967
+-81.3589	26.2613	7977
+-117.3987	37.7553	5584
+-108.3498	32.8001	6952
+-112.4615	30.0591	6637
+-80.3747	29.655	6973
+-80.0345	26.0536	6827
+-83.2875	24.9045	6401
+-91.5962	40.2189	7371
+-110.0494	33.3166	7571
+-117.8315	48.1905	6995
+-126.8584	47.3221	5240
+-86.2278	35.6452	6173
+-90.5191	35.346	6551
+-117.0445	33.0581	9470
+-88.7168	33.1304	4723
+-85.4986	38.9222	5885
+-114.2229	32.5882	6682
+-121.0288	32.4625	5205
+-109.9156	34.1123	6696
+-89.4783	34.3543	6013
+-117.712	32.6917	8910
+-123.7002	43.4837	5680
+-84.3024	24.3376	5302
+-118.1711	33.0116	8392
+-115.6947	31.8328	7959
+-116.1542	33.6877	8424
+-110.7955	32.7641	8100
+-114.2466	31.7834	6507
+-91.7192	36.2328	6353
+-114.4079	34.4258	6403
+-89.7101	38.2907	8546
+-118.2593	33.1017	8276
+-91.6837	37.213	7254
+-119.1817	33.9061	7434
+-89.2096	36.9179	8839
+-119.1118	45.7503	8308
+-118.1915	45.6724	8797
+-109.0192	30.1418	7360
+-88.425	36.1178	8035
+-121.4605	45.5154	7360
+-120.4121	46.361	6989
+-120.5502	43.5393	5639
+-109.7772	33.3961	7419
+-111.7142	30.1931	7351
+-119.7408	36.1908	6028
+-81.066	27.5021	8648
+-106.2097	30.7901	4924
+-90.0272	36.4084	7816
+-116.6029	44.0726	6472
+-119.4304	46.3596	8015
+-123.5201	46.0001	8345
+-108.355	30.0783	6780
+-89.3924	38.8563	8350
+-89.2464	40.2876	7363
+-89.5214	37.3662	8903
+-123.1618	46.4622	8982
+-116.5756	32.5099	9199
+-86.2868	35.5286	6140
+-91.7884	38.9641	7892
+-121.3668	47.4568	7838
+-118.3954	32.6864	8153
+-123.2478	44.3347	6690
+-122.9416	49.7712	6525
+-91.1391	42.0771	5747
+-124.4882	46.6132	7819
+-95.6147	42.8165	2283
+-93.629	42.0196	4459
+-82.90	28.5422	8659
+-117.9691	34.7927	8487
+-115.9247	32.6719	8580
+-90.8691	36.1979	6937
+-89.5921	35.0764	6764
+-85.944	36.1677	6228
+-82.1414	25.4842	7310
+-115.8622	48.3668	5748
+-119.4429	45.4434	7849
+-118.6812	41.8801	4771
+-90.2709	41.0932	6896
+-109.664	31.9501	8647
+-116.2669	43.3676	5664
+-91.4166	38.411	8252
+-87.3929	39.2782	7438
+-124.7791	47.5331	7450
+-91.3441	38.2554	8260
+-112.1082	33.4894	6652
+-90.0533	36.1681	7599
+-116.2734	48.5689	5889
+-81.77	27.998	9405
+-91.9358	34.1049	4464
+-82.7477	29.2679	8057
+-82.7183	25.8951	7674
+-82.3955	27.7659	9596
+-118.4918	31.9966	7821
+-118.6058	35.5622	7402
+-88.4045	39.5191	7696
+-82.5996	27.8044	9363
+-118.3497	49.073	6111
+-78.696	25.5199	5247
+-82.1218	28.1553	9452
+-109.8581	32.5662	8291
+-114.6303	33.7931	6928
+-117.038	36.0398	7443
+-111.8164	31.8249	7846
+-118.4212	29.4432	5655
+-116.0323	47.2216	6597
+-125.65	48.7737	5991
+-116.3715	47.0259	7011
+-80.2707	29.5264	6993
+-89.5065	40.8842	6937
+-110.9569	32.0329	8641
+-83.9698	29.189	7264
+-108.7786	30.5012	7421
+-124.9007	45.8388	7083
+-118.4279	33.109	8091
+-120.9112	47.1249	7414
+-123.9896	48.2437	7762
+-113.7201	45.0187	4294
+-113.9781	46.2403	4699
+-87.3658	34.571	6002
+-86.8619	40.0587	6382
+-83.1233	27.0943	8539
+-89.8522	40.2784	7680
+-120.9166	45.0441	6571
+-114.811	31.3605	6851
+-84.9317	39.3725	5103
+-91.8533	40.7978	6707
+-122.7873	46.572	9155
+-92.082	41.273	6146
+-121.8894	47.4635	8369
+-91.6932	39.1134	7959
+-81.76	29.1864	8232
+-119.4111	32.2767	6961
+-118.2954	43.7632	6786
+-111.5865	28.8049	6171
+-117.8941	46.6682	8531
+-76.3156	29.5052	3023
+-123.8406	46.0795	8186
+-124.0095	47.1038	8378
+-87.6957	39.8562	7078
+-88.8722	42.9954	4567
+-89.9065	35.2934	6860
+-120.2026	47.37	6823
+-119.3387	49.6889	5299
+-92.3585	38.1135	7188
+-82.7481	27.7239	9195
+-86.2096	36.1883	6500
+-92.4772	39.6895	6951
+-113.9519	36.1443	5309
+-90.368	37.0273	7567
+-82.8847	26.3095	8038
+-118.6636	49.1403	6015
+-118.5801	48.0926	7127
+-112.962	33.1786	6142
+-124.9109	48.9194	6527
+-107.7101	30.7914	6505
+-112.8097	35.5674	4431
+-78.035	29.5255	4847
+-116.4039	34.2506	8588
+-83.789	31.5522	5218
+-114.4868	36.2525	5725
+-114.8622	44.1365	5083
+-116.7029	44.9754	7206
+-118.8725	37.0656	5891
+-89.0869	35.307	7143
+-116.1747	36.4148	6779
+-88.1285	33.8878	5514
+-120.3969	44.574	6500
+-119.253	32.1749	7104
+-119.8319	48.7421	6017
+-116.8176	44.003	6551
+-88.0604	37.8622	8992
+-93.4615	37.0181	5617
+-124.2488	46.9979	8124
+-92.0566	40.4877	6824
+-89.4075	33.0969	4636
+-110.4684	32.042	8955
+-115.7687	33.3392	8295
+-113.3231	29.9947	5805
+-94.9847	40.6731	4049
+-89.9605	37.8815	8383
+-117.8002	36.1243	7289
+-108.5013	28.9886	6032
+-108.5681	33.5528	6608
+-86.4025	37.5725	7159
+-107.8617	29.5553	6010
+-90.412	39.1405	9002
+-118.9395	32.1295	7423
+-121.1629	46.2182	7528
+-114.9315	28.2627	4189
+-85.614	34.1296	4497
+-119.988	34.1135	6569
+-88.0786	36.6551	8442
+-108.4923	31.7926	7466
+-86.3297	26.9773	5062
+-106.1164	30.6635	4797
+-118.1907	43.5443	6552
+-84.3584	28.5769	7213
+-85.7723	31.3066	4149
+-122.1455	47.4757	8606
+-80.1186	27.1653	7514
+-110.3979	31.7132	9316
+-117.2026	36.7075	6729
+-119.8494	46.8085	7440
+-120.1442	48.9023	5698
+-116.4463	46.8918	7142
+-120.464	43.6225	5765
+-84.6632	30.2399	5890
+-113.5583	46.9919	4168
+-109.0524	31.6666	8083
+-116.7405	31.5204	8285
+-87.8858	35.6972	7394
+-121.8538	45.4769	7606
+-115.9772	31.6526	8049
+-83.4732	27.9509	8362
+-93.4325	38.5552	6131
+-112.4114	33.7929	6187
+-119.418	38.2576	4464
+-124.8942	45.8424	7091
+-113.933	30.0503	5234
+-114.7903	31.5508	6945
+-121.0599	32.5676	5179
+-91.2289	38.3554	8419
+-116.0871	33.9473	8235
+-88.3986	32.3205	3800
+-119.6271	34.143	6963
+-112.1956	34.3659	5846
+-88.4298	35.6326	7502
+-116.2833	32.965	8973
+-116.1614	45.7564	6984
+-87.9381	39.4305	7627
+-111.2139	29.2096	6730
+-118.8892	45.3944	8276
+-116.9865	32.5484	9453
+-114.6196	31.3212	6649
+-120.8232	46.5473	7278
+-88.1243	38.6463	8500
+-109.0783	32.7872	7589
+-84.5382	27.2756	7116
+-82.8407	28.2484	8924
+-119.9252	35.3865	6332
+-87.1054	38.7194	7607
+-124.6527	46.4049	7584
+-85.5654	42.0328	3737
+-83.1203	26.9506	8444
+-79.2906	29.5199	6114
+-120.5496	34.1816	5956
+-121.5527	45.6261	7518
+-118.833	46.5666	8497
+-117.9743	34.0293	8758
+-112.8608	32.8263	6422
+-123.9217	46.1819	8191
+-114.2115	33.5497	6573
+-92.9687	38.5571	6630
+-89.5261	41.1057	6722
+-82.2776	26.8239	8814
+-116.8179	31.9832	8809
+-81.7227	28.1392	9265
+-91.5618	38.6414	8149
+-91.2411	42.2482	5542
+-116.178	33.4701	8610
+-90.1225	42.2847	5604
+-118.7977	35.399	7371
+-112.7441	29.0038	5648
+-119.3745	43.8299	6593
+-119.4876	45.5529	7860
+-90.3782	40.9938	7006
+-88.1807	35.8457	7669
+-119.3092	46.7992	7946
+-87.0307	40.055	6500
+-89.5694	35.1381	6838
+-108.3136	31.8066	7272
+-118.4694	38.0732	5044
+-108.5239	32.1626	7415
+-115.9612	31.9301	8258
+-115.3945	30.1026	6254
+-84.9356	26.7713	6528
+-118.2582	34.398	8418
+-123.3945	46.4391	8812
+-115.0273	34.8162	6984
+-116.3361	32.1657	8742
+-125.1008	43.0245	4646
+-112.0095	29.3592	6456
+-90.7339	36.0721	6973
+-116.675	33.7801	8786
+-91.4579	40.582	7135
+-116.3457	32.5623	9004
+-120.5799	32.3909	5695
+-86.8414	38.8111	7301
+-91.5373	37.7895	7806
+-91.6234	39.5306	7845
+-89.5965	33.6734	5238
+-108.5887	32.5782	7298
+-121.4748	46.9996	8040
+-80.2618	25.1285	6233
+-108.1282	29.8209	6415
+-111.5372	33.7077	6828
+-117.0202	35.0789	8472
+-83.3505	26.9187	8214
+-87.2611	34.5579	5938
+-123.9304	45.9322	8002
+-90.4609	35.1884	6446
+-116.9291	47.0821	7489
+-116.4123	33.6598	8472
+-112.2986	29.6142	6459
+-118.4624	36.566	6581
+-88.1677	38.7469	8428
+-89.8603	39.6286	8322
+-86.2688	32.4059	3279
+-89.6785	40.0959	7787
+-116.2515	49.8806	4715
+-112.1873	31.3799	7453
+-114.7956	33.7822	7103
+-89.6676	39.6432	8191
+-121.2842	42.9953	4896
+-120.6122	32.7163	5575
+-124.5555	46.6012	7744
+-125.0089	46.7321	7275
+-123.7637	45.6556	7881
+-108.0814	32.8312	6684
+-119.647	45.6413	7737
+-122.4017	48.4539	7883
+-80.1061	27.0034	7442
+-111.7641	30.0617	7211
+-119.2209	46.4802	8189
+-121.9259	47.0626	8531
+-114.4048	36.3258	5605
+-79.4597	28.3978	6784
+-121.2798	31.6421	4767
+-83.3859	27.6154	8465
+-84.3882	30.6712	5732
+-124.9784	44.6575	6193
+-121.4971	34.6242	4892
+-121.3569	44.62	6521
+-117.2569	34.8341	8773
+-119.5365	29.8669	5389
+-118.8733	47.5195	7632
+-79.0786	27.0825	6351
+-111.7448	29.7678	6982
+-119.4089	43.9255	6667
+-108.7469	33.3305	6917
+-111.8635	33.4872	6827
+-115.3617	49.2971	4674
+-107.9169	27.8579	4663
+-83.8204	26.4687	7484
+-82.4862	27.2282	9164
+-115.9335	32.0437	8314
+-80.6269	28.2078	8117
+-82.4075	26.3466	8256
+-91.3269	39.4058	8186
+-113.9018	33.2891	6294
+-115.6057	29.7991	6061
+-93.8271	43.7236	2904
+-80.0891	25.4975	6437
+-115.8753	31.9576	8204
+-120.9985	35.3896	5243
+-82.4258	27.0263	8992
+-87.6839	39.7592	7170
+-88.8611	38.684	8667
+-109.9274	34.4952	6288
+-119.8445	44.688	7031
+-93.3959	37.1175	5731
+-124.3866	42.138	4056
+-110.5656	32.0272	8931
+-113.6141	36.1866	4967
+-120.544	34.4113	5950
+-90.8388	39.2877	8665
+-119.6984	46.7445	7614
+-127.1169	48.8508	4532
+-121.3011	43.8013	5710
+-118.0241	33.438	8416
+-90.5802	37.7461	8322
+-82.663	26.734	8580
+-120.1947	33.0691	6139
+-82.508	26.8429	8765
+-116.1554	35.6769	7463
+-83.3775	26.3183	7732
+-83.734	24.331	5604
+-80.8338	29.1054	7782
+-119.4627	31.1735	6420
+-120.8574	45.2003	6639
+-87.5124	37.4087	8378
+-118.7526	33.4424	7750
+-88.9717	40.3248	7145
+-116.5227	44.0461	6395
+-88.8057	38.0622	9368
+-85.9962	37.3357	6683
+-80.5372	26.9332	7855
+-117.8125	34.1292	8942
+-82.0934	25.6216	7465
+-120.3006	48.8608	6073
+-113.4308	31.9822	6090
+-117.5718	32.9874	9051
+-118.7715	34.6542	7801
+-120.9709	45.9473	7209
+-91.2964	37.4315	7696
+-117.8855	45.0849	8106
+-122.903	41.9398	4084
+-117.2416	31.6067	8369
+-83.0609	28.6719	8426
+-109.9253	31.9387	8887
+-115.7933	31.6805	7931
+-88.8478	38.9517	8369
+-116.3843	33.4538	8790
+-117.0314	36.2807	7181
+-88.8677	39.2874	7691
+-117.2148	32.8782	9468
+-87.6232	36.2165	7743
+-123.824	47.1372	8574
+-89.2364	41.0813	6624
+-120.7423	49.0731	6293
+-112.6733	32.00	6898
+-123.7685	48.2452	7908
+-80.7378	26.3765	7664
+-117.4279	33.6338	8965
+-116.7277	44.2805	6725
+-119.0294	35.5855	7046
+-80.3203	31.1917	5508
+-108.905	34.9295	5532
+-117.6728	44.9886	7918
+-89.7075	39.4643	8364
+-92.3485	33.9381	4012
+-111.7999	28.3271	5604
+-120.1738	35.683	5944
+-115.4239	32.5486	8006
+-118.4267	32.3961	8058
+-88.6556	35.3436	7205
+-85.4063	36.4322	5797
+-119.878	30.8473	5832
+-115.2347	32.583	7804
+-109.6729	35.5019	5168
+-109.1282	29.9934	7312
+-125.4213	49.6995	5521
+-88.7637	37.9891	9452
+-114.2005	32.3732	6628
+-122.8068	44.567	6968
+-108.6037	31.7889	7586
+-87.5685	38.5138	8168
+-126.719	43.0224	3575
+-116.8979	31.3463	8111
+-118.1823	32.1405	8201
+-110.0479	32.7882	8132
+-112.7116	32.4366	6736
+-117.2276	35.0155	8575
+-88.452	42.9763	4416
+-82.7449	25.6241	7372
+-81.7317	26.6394	8539
+-116.9226	33.8351	9041
+-118.4948	48.0817	7150
+-87.9295	37.6761	8875
+-93.9158	38.5277	5609
+-105.812	29.3671	4018
+-88.6121	37.5943	9624
+-120.213	46.3548	7199
+-109.268	31.2038	8248
+-108.6816	31.1708	7629
+-121.0914	46.8524	7615
+-116.7292	44.2364	6691
+-122.9918	46.3294	8899
+-123.0141	45.6505	8155
+-111.3048	32.392	8104
+-83.0137	31.5765	5468
+-117.9109	36.2528	7121
+-117.599	34.0462	9163
+-86.5119	38.2261	7207
+-81.1088	27.9966	8704
+-114.5401	31.9225	6868
+-86.8886	37.97	7680
+-118.4217	47.8054	7448
+-80.5298	27.9347	8068
+-109.8271	32.5294	8311
+-116.8299	32.8673	9590
+-118.4445	48.1316	7102
+-80.9654	26.3775	7839
+-118.3634	44.4525	7514
+-110.615	27.9331	5507
+-84.8584	28.2457	6762
+-113.8077	34.0244	5981
+-90.7624	40.9657	7001
+-87.7814	38.0772	8617
+-81.0128	28.9213	8072
+-116.9716	34.0354	9199
+-116.4076	33.7145	8495
+-118.8566	34.1258	7803
+-81.5722	29.6973	7618
+-120.8205	35.04	5537
+-118.053	33.9378	8654
+-107.3742	30.9128	6186
+-119.5143	46.7713	7776
+-90.5699	35.4585	6615
+-117.329	32.2239	8978
+-118.6719	29.9599	6042
+-122.215	44.0791	6346
+-109.8652	33.3658	7477
+-87.969	39.2663	7808
+-117.6524	34.4954	8961
+-89.9152	38.0384	8506
+-118.9618	49.9652	5104
+-83.6089	30.9247	5949
+-119.4608	48.509	6421
+-113.3181	27.7033	4170
+-119.3783	31.7453	6809
+-117.8243	46.2141	8760
+-125.8192	47.983	6210
+-93.5287	39.4794	5944
+-115.9069	47.2722	6454
+-107.8328	33.8971	5782
+-90.9271	38.6589	8830
+-120.5497	47.5247	6952
+-88.3146	37.2567	9131
+-81.4419	26.252	8009
+-116.7222	32.4067	9221
+-89.253	37.6192	9267
+-124.8314	47.3153	7450
+-79.463	29.7743	6113
+-116.9309	33.6278	8876
+-107.8564	33.9422	5768
+-109.8997	31.7883	8954
+-119.8763	30.5474	5637
+-90.1522	37.5113	8066
+-91.0315	44.5535	3130
+-119.2921	33.3175	7156
+-89.9659	40.736	7237
+-90.9346	39.3074	8579
+-90.8733	37.5714	8049
+-121.3078	44.3318	6224
+-114.0153	35.7931	5556
+-89.4626	39.0642	8376
+-118.6841	35.1048	7663
+-89.651	43.3965	4354
+-88.3236	40.3655	6603
+-89.4955	37.2057	8847
+-118.3938	33.4226	8084
+-91.0063	39.2184	8584
+-123.9974	43.5097	5622
+-113.4961	33.7688	5739
+-79.4857	27.2007	6829
+-120.3639	46.7062	6965
+-117.8204	35.2418	8186
+-91.8409	36.1686	6229
+-115.7677	45.6216	6549
+-95.956	38.5824	3415
+-108.0344	30.924	6882
+-110.2713	31.1157	8962
+-91.6712	39.5386	7797
+-111.197	30.3319	7826
+-81.0056	28.4447	8404
+-83.4171	28.3234	8309
+-82.0135	29.3736	8069
+-77.5508	28.2443	4680
+-110.7048	32.4991	8403
+-86.5127	26.7992	4818
+-110.2309	30.2787	8056
+-81.4995	26.5077	8298
+-118.1266	33.2859	8221
+-118.08	34.7824	8403
+-114.174	30.5938	5772
+-108.8956	33.998	6429
+-85.2486	26.7581	6188
+-94.6302	40.3017	4551
+-84.1548	28.7687	7340
+-109.1244	33.6221	6905
+-84.5338	24.0069	4846
+-116.9676	35.4597	8055
+-125.1756	48.1438	6791
+-118.5362	47.1621	8104
+-86.1105	38.9266	6515
+-109.0431	30.5435	7678
+-115.5972	33.059	8202
+-111.2905	33.6825	6974
+-92.0254	39.4619	7495
+-115.6906	44.6177	6098
+-87.1393	36.5456	7597
+-118.9865	33.6487	7589
+-119.8389	48.2441	6455
+-112.6229	33.8577	5977
+-117.4512	35.9832	7510
+-90.0118	39.0624	8901
+-93.7699	36.5811	5090
+-125.4148	46.128	6694
+-86.3553	37.9602	7088
+-115.0207	32.267	7498
+-87.9725	39.211	7865
+-117.8859	33.968	8839
+-117.2657	35.971	7533
+-91.7026	38.2655	7910
+-81.3878	26.3872	8119
+-91.7366	37.5631	7484
+-117.4863	33.4593	8765
+-122.8764	49.1749	7180
+-114.231	31.8428	6514
+-117.6921	41.5472	4398
+-88.6529	35.371	7236
+-118.7795	33.9007	7868
+-119.0041	45.4399	8225
+-119.7516	46.8118	7532
+-124.5597	45.2422	6977
+-89.7278	39.364	8456
+-119.2321	32.7987	7226
+-88.4779	40.3996	6708
+-88.7099	40.2264	7019
+-119.6459	47.3167	7326
+-111.5547	28.7302	6111
+-87.5266	39.9575	6890
+-89.0402	36.5998	8580
+-81.9709	30.7097	6558
+-88.7922	41.268	6214
+-120.9519	45.7008	7054
+-90.7445	39.721	8308
+-109.6202	33.7006	7053
+-119.2418	43.5574	6383
+-91.6282	38.296	7996
+-119.7108	43.3756	6003
+-87.8285	39.7819	7217
+-109.4812	32.2782	8282
+-110.6258	30.8724	8641
+-124.5914	48.412	7162
+-117.3132	46.792	7999
+-85.1479	40.3125	4783
+-116.0252	32.9226	8696
+-81.5428	29.293	8041
+-118.6409	33.9123	8019
+-111.639	29.2631	6589
+-117.8881	33.1478	8661
+-115.6307	36.4882	6410
+-112.4223	31.8411	7193
+-113.03	27.2569	3950
+-88.5635	36.388	8363
+-89.8667	35.715	7301
+-77.2608	27.3465	4359
+-117.8911	45.8872	8788
+-122.7415	48.9515	7419
+-110.4177	32.2047	8794
+-92.3956	36.4172	6104
+-90.0642	35.9229	7376
+-90.8777	36.7417	7195
+-83.7095	26.3406	7488
+-116.6433	35.3479	8049
+-119.964	47.9875	6584
+-90.3392	38.4823	9132
+-125.4853	44.5831	5743
+-121.4335	47.8667	7716
+-87.4006	39.8838	6891
+-88.2928	34.8375	6596
+-107.7844	31.2093	6682
+-110.2951	30.8943	8726
+-111.6204	31.0373	7959
+-118.7757	45.8448	8673
+-87.3097	34.7586	6165
+-120.885	48.376	6905
+-119.0595	31.3441	6898
+-119.4024	30.5349	6030
+-119.5321	46.4369	7891
+-125.4282	47.1397	6822
+-89.7392	38.0595	8407
+-92.5893	37.5474	6716
+-85.1767	24.0555	4463
+-111.5352	29.9449	7272
+-119.8638	36.4659	5730
+-116.3184	46.5859	7117
+-89.9867	37.8888	8402
+-115.8907	31.8738	8157
+-121.2032	49.547	6213
+-87.079	33.8039	5084
+-89.2512	38.1058	9080
+-79.4095	30.384	5619
+-116.7544	33.6831	8794
+-110.183	31.2403	9068
+-118.6144	47.8551	7369
+-117.4431	35.5835	7944
+-113.3894	36.3752	4652
+-118.0583	34.4949	8588
+-119.5117	36.0394	6325
+-119.0544	32.1772	7317
+-120.4231	48.1068	6610
+-115.8352	35.1399	7629
+-119.7117	31.9033	6526
+-86.4878	27.6848	4965
+-111.5018	31.1629	8128
+-89.8253	37.912	8339
+-88.2925	37.6207	9280
+-118.2757	32.6678	8283
+-122.7799	48.8627	7519
+-117.5078	47.4173	7642
+-87.2752	39.7051	6979
+-119.2906	33.6666	7272
+-88.6916	38.9424	8380
+-108.9124	29.4372	6685
+-83.5639	29.3858	7448
+-89.4964	34.3856	6043
+-116.5359	42.5605	5080
+-118.6826	30.391	6439
+-123.1414	46.4527	8982
+-115.7615	43.6189	5514
+-89.7726	40.3413	7587
+-89.1168	36.0483	7957
+-116.4958	32.25	8931
+-117.9294	45.5775	8592
+-122.099	46.0976	8308
+-82.5855	24.8452	6548
+-113.5651	31.6542	5971
+-108.4799	28.947	5982
+-114.5021	33.8455	6774
+-91.0652	36.6605	7055
+-92.6195	39.7388	6789
+-117.4927	34.7427	8829
+-123.3294	46.0334	8478
+-115.3743	27.4512	3510
+-107.3795	29.4416	5520
+-85.5879	26.7922	5832
+-89.4266	36.543	8353
+-88.1669	40.1281	6971
+-116.0046	43.9068	5911
+-118.0389	36.5796	6740
+-124.3187	46.5581	7984
+-91.1157	41.4481	6411
+-86.4844	39.7115	6375
+-82.4635	24.1878	5826
+-116.8974	43.9959	6592
+-88.0137	38.2654	8735
+-117.3063	30.3983	7029
+-82.6328	27.7137	9324
+-121.8261	45.6572	7746
+-89.9382	37.8877	8378
+-122.5595	49.8376	6430
+-108.9463	33.9427	6508
+-120.435	48.0856	6632
+-107.5963	28.9504	5359
+-109.6562	26.9605	4412
+-121.6463	46.5585	8158
+-90.1043	36.8033	8028
+-85.4556	37.8917	6090
+-93.1091	36.3736	5527
+-120.5765	35.6994	5544
+-118.6037	45.454	8497
+-81.3765	27.3403	8910
+-81.0732	27.9406	8677
+-115.295	34.9788	7198
+-118.7534	32.9215	7756
+-109.2803	33.9928	6625
+-116.5869	30.7946	7458
+-85.0458	28.1844	6564
+-120.4174	49.856	5421
+-122.5194	45.1709	7590
+-86.3011	42.4204	3803
+-116.7375	35.35	8091
+-91.9832	36.915	6800
+-119.2881	36.5269	6120
+-82.2611	25.7064	7557
+-116.705	32.8482	9459
+-115.5328	44.6263	5956
+-115.1661	34.4433	7222
+-87.9326	36.9491	8581
+-109.1701	32.394	7937
+-117.9048	33.5854	8620
+-90.35	43.4873	4318
+-116.3413	33.841	8479
+-112.8565	32.3126	6628
+-110.4915	29.3607	7059
+-122.3179	43.136	5349
+-109.4152	31.1241	8361
+-119.6511	32.6131	6750
+-117.6151	45.0506	7943
+-85.3775	32.2762	3607
+-82.0136	32.4775	4561
+-123.8909	48.3421	7744
+-90.2247	39.5614	8533
+-89.4389	37.5336	9046
+-110.7032	29.8069	7508
+-110.8852	30.3837	8043
+-86.7086	41.1931	5231
+-117.3467	45.7348	8196
+-92.4913	38.1663	7067
+-90.1075	39.2353	8823
+-114.8695	32.1009	7281
+-116.1836	35.9709	7211
+-91.7875	37.9275	7670
+-117.0011	32.5315	9432
+-115.1167	44.5836	5542
+-119.0675	33.0626	7252
+-81.2341	27.3747	8783
+-120.0594	35.1655	6290
+-110.4126	29.3033	7002
+-118.9054	49.309	5799
+-121.3683	36.0618	4594
+-121.2664	49.2636	6510
+-122.3927	46.8175	9025
+-115.8242	46.2179	6653
+-116.2043	33.0961	8847
+-83.7183	26.8315	7810
+-116.1321	33.7108	8217
+-117.9592	44.73	7770
+-121.19	35.2055	5101
+-81.7297	27.8034	9434
+-110.4556	30.6261	8428
+-117.7454	32.4048	8770
+-119.4512	33.0566	6881
+-124.5503	47.2287	7770
+-87.0393	38.9499	7399
+-80.1279	27.7231	7623
+-88.5585	35.0676	6889
+-119.1525	35.8211	6777
+-84.6959	27.7375	6993
+-118.6231	34.8472	7866
+-83.0567	27.9519	8827
+-117.2247	34.6915	8927
+-83.0461	24.0924	5609
+-117.7699	32.5184	8797
+-114.1639	36.1213	5518
+-89.7465	36.3722	7993
+-118.5831	43.7318	6732
+-112.0984	31.6521	7560
+-91.8616	37.4295	7288
+-119.471	35.9391	6429
+-90.4508	39.8347	8253
+-108.8438	33.3766	6948
+-117.4805	30.2433	6826
+-118.2693	44.8144	7899
+-85.8798	30.4275	4693
+-89.4383	38.6545	8401
+-89.065	38.6673	8642
+-88.9178	37.0059	9055
+-82.7398	29.5093	7805
+-125.09	46.9133	7199
+-111.2167	30.929	8282
+-124.7114	46.6099	7578
+-86.0051	37.3944	6700
+-117.6662	34.1436	9102
+-123.8837	47.5475	8351
+-118.8953	36.3416	6545
+-118.8539	30.4752	6399
+-115.1233	32.7503	7695
+-118.1293	34.5414	8497
+-121.3142	48.3662	7282
+-109.6052	34.6799	6027
+-118.8806	33.6237	7692
+-108.5113	32.9534	7004
+-124.6664	43.067	4903
+-114.8151	32.1572	7243
+-81.2575	27.8676	8895
+-112.6638	30.471	6676
+-120.812	48.5602	6720
+-121.9738	48.3053	7818
+-79.6916	30.3093	5904
+-116.8053	36.4697	6940
+-117.1058	36.5591	6886
+-116.078	29.734	6174
+-78.4459	31.6429	3840
+-89.4722	39.0698	8384
+-116.4587	34.3282	8631
+-106.9957	30.9786	5799
+-124.1005	46.1264	7996
+-117.0474	33.912	9198
+-115.8276	31.4634	7780
+-111.9688	35.8404	4532
+-82.1206	26.7479	8740
+-111.5504	33.8773	6660
+-82.9011	31.775	5275
+-126.788	46.3975	5289
+-119.6801	34.0507	6904
+-120.923	33.2313	5430
+-120.758	33.5787	5682
+-90.6485	36.0652	7042
+-120.4379	35.0165	5947
+-116.5776	37.766	5505
+-78.8728	25.2481	5231
+-116.9246	33.3134	9197
+-80.9928	29.508	7537
+-114.0457	31.581	6215
+-119.5516	30.1733	5629
+-88.6703	35.7999	7718
+-114.7779	32.4995	7286
+-83.3226	26.4138	7855
+-127.156	43.8878	3835
+-90.2404	42.2436	5656
+-113.6144	34.4079	5543
+-117.3417	45.6438	8152
+-119.0003	34.2648	7641
+-86.4608	33.2711	4244
+-117.0347	31.2535	8008
+-89.3482	40.4125	7313
+-84.6549	28.0643	7020
+-79.4669	26.8649	6708
+-108.6959	33.4216	6806
+-114.9312	45.876	5702
+-117.5622	33.3095	8891
+-95.009	41.0045	3878
+-115.5302	46.5359	6308
+-116.1033	35.2362	7789
+-122.2561	45.1371	7475
+-93.8804	40.5149	5202
+-117.8244	34.4115	8858
+-87.3804	40.9868	5776
+-109.2887	28.6777	6128
+-79.914	26.2561	6855
+-117.9437	37.138	6178
+-88.0145	36.0775	7842
+-113.3143	32.936	5927
+-116.1802	45.4217	6920
+-120.1271	33.3181	6293
+-110.7339	30.2336	7948
+-116.9885	38.218	5072
+-116.0377	45.6621	6837
+-87.7327	38.7015	8173
+-116.6282	38.3481	4888
+-117.1751	34.4451	9183
+-90.0836	34.2943	5752
+-89.0847	38.2677	9051
+-117.2399	43.8807	6663
+-117.5386	47.8545	7242
+-88.7297	33.6945	5357
+-107.8089	34.4375	5345
+-110.248	34.6101	6193
+-119.1193	30.9002	6538
+-117.9399	30.8717	7327
+-111.6211	34.9079	5611
+-90.7271	36.4266	7212
+-116.1537	33.8469	8284
+-113.9922	30.7942	5741
+-118.8499	31.245	7017
+-121.2043	46.6394	7709
+-114.4571	35.0152	6326
+-85.7813	28.1312	5745
+-114.192	35.3345	5937
+-114.628	36.5499	5635
+-121.2741	32.7319	4907
+-81.9781	27.2081	9237
+-84.6521	37.2564	5174
+-115.7917	33.4403	8269
+-120.6205	46.6421	7077
+-117.5359	31.0332	7665
+-122.7015	48.4472	7965
+-89.1654	37.6827	9367
+-110.5225	30.0332	7782
+-88.2349	37.5668	9208
+-124.5576	49.3736	6395
+-115.6071	37.3494	5590
+-89.1093	36.5057	8457
+-117.9291	46.2147	8866
+-82.4399	28.1298	9355
+-87.0175	35.4665	6661
+-106.9398	29.7627	5301
+-117.4331	33.4372	8757
+-91.1816	37.784	8074
+-123.8312	46.0811	8194
+-122.7565	44.6409	7046
+-89.405	35.7667	7566
+-121.5583	45.2527	7215
+-123.04	43.5181	5814
+-86.0739	39.7644	5983
+-108.037	31.3727	6975
+-89.0191	36.3402	8300
+-118.9759	34.0978	7673
+-89.7019	39.701	8163
+-89.8839	38.9708	8836
+-113.2037	32.3483	6255
+-120.5244	46.9029	6995
+-78.5157	26.9159	5688
+-117.1585	33.2651	9209
+-122.3873	45.6054	8008
+-116.2052	32.3781	8773
+-119.0517	46.4339	8373
+-120.3739	44.7765	6640
+-112.1078	32.8014	7142
+-112.2666	31.6223	7378
+-92.4812	38.6507	7161
+-118.656	34.5041	7969
+-105.7894	33.7401	4024
+-123.0967	45.5361	8020
+-115.8975	46.298	6725
+-88.2903	40.5715	6434
+-87.575	35.8546	7381
+-93.9062	39.2733	5586
+-115.2207	33.3068	7730
+-90.6896	39.463	8588
+-115.5417	32.429	8106
+-91.7042	39.9403	7508
+-81.9657	31.4651	5704
+-119.9875	44.1958	6554
+-113.445	34.1719	5544
+-119.6122	28.3921	4003
+-85.6989	36.3895	6085
+-120.6378	49.4489	5916
+-119.6813	32.4761	6701
+-84.4797	25.4007	6123
+-118.7967	47.7972	7383
+-118.4118	44.2788	7327
+-115.0951	33.3082	7595
+-123.498	47.9219	8368
+-79.902	31.5576	4916
+-121.1868	49.5059	6241
+-115.6087	33.4974	8059
+-89.6502	39.6932	8137
+-116.461	31.3203	7991
+-121.2819	33.1841	5037
+-82.1417	26.1516	8065
+-89.3286	40.4469	7271
+-89.0571	35.8684	7771
+-92.4368	39.9944	6836
+-119.6228	33.0375	6703
+-113.6941	34.0854	5838
+-111.8643	31.6694	7812
+-110.9432	32.89	7911
+-89.4258	37.3522	8996
+-118.5786	47.0844	8172
+-124.5568	48.3236	7253
+-82.6292	30.7722	6446
+-115.5262	35.3708	7208
+-114.888	35.0616	6753
+-119.9741	34.8893	6472
+-116.3217	45.3266	7027
+-111.0968	32.9099	7815
+-125.029	46.2779	7148
+-116.5551	45.80	7403
+-82.3831	26.6963	8649
+-89.7988	40.6692	7262
+-111.4762	31.2643	8188
+-121.0948	47.0866	7619
+-106.9129	30.5965	5617
+-89.0667	37.6088	9472
+-117.4179	46.711	8139
+-117.5172	31.0066	7643
+-90.4472	37.78	8377
+-109.5956	32.8179	7915
+-123.7351	48.9923	7199
+-87.1173	37.281	7914
+-82.0866	26.8048	8803
+-117.0139	29.8459	6439
+-91.9141	38.1285	7644
+-109.2747	30.6531	7947
+-115.7676	45.7499	6571
+-88.2337	35.5372	7352
+-116.7565	44.7831	7125
+-82.5255	28.4299	9021
+-117.1211	44.7801	7398
+-89.4196	38.4704	8343
+-116.7077	31.983	8779
+-119.428	47.6596	7212
+-110.8621	32.2035	8591
+-117.0866	42.2621	5003
+-91.8444	38.8842	7843
+-118.9724	49.3841	5707
+-116.2404	33.0309	8908
+-107.6057	27.9137	4520
+-118.4173	29.2969	5507
+-93.5116	38.6524	6051
+-89.2687	39.4408	8011
+-116.4961	43.7189	6107
+-90.4814	37.4249	7992
+-117.8232	45.1263	8120
+-119.0548	44.3242	7210
+-109.2364	31.7055	8278
+-110.6295	29.6314	7335
+-88.5087	35.6051	7484
+-118.948	45.8365	8503
+-117.9726	47.6605	7575
+-108.4378	33.1119	6835
+-91.7016	39.134	7944
+-84.1082	25.829	6762
+-87.7779	39.992	6978
+-107.9006	30.8925	6734
+-118.4239	31.2505	7367
+-120.7607	43.4018	5381
+-124.5766	46.4894	7691
+-113.4869	32.2253	5987
+-91.0387	37.1789	7590
+-121.2788	45.6364	7302
+-87.32	36.9217	7989
+-110.6799	33.0262	7866
+-121.7958	46.8882	8390
+-118.7123	30.6323	6634
+-113.772	31.7695	6003
+-87.4507	37.9912	8294
+-84.5509	29.0678	6786
+-120.1589	32.3789	6159
+-117.5705	30.3192	6887
+-118.7861	35.8436	7042
+-89.0977	37.8985	9361
+-117.1586	33.2708	9203
+-90.1544	39.0835	8988
+-114.4356	35.7622	5975
+-89.8497	37.7537	8595
+-90.2595	38.6196	9231
+-111.382	31.6471	8335
+-115.9245	32.167	8383
+-87.5613	37.1676	8351
+-119.9502	48.0475	6546
+-83.176	25.865	7439
+-120.9009	44.0043	5709
+-115.5653	43.7915	5484
+-118.5648	44.4557	7494
+-107.941	32.1679	6805
+-90.0753	39.4279	8622
+-117.7049	44.3076	7266
+-125.947	46.6147	6236
+-122.1016	48.2847	7913
+-93.0432	36.9256	5948
+-79.1914	30.3641	5452
+-126.1732	49.5286	5040
+-81.0017	29.3042	7733
+-80.2621	27.7196	7775
+-85.756	27.6943	5793
+-89.8748	39.4787	8467
+-81.4046	29.8458	7400
+-118.1162	29.8291	6182
+-89.4353	36.8944	8669
+-115.1983	30.8178	6776
+-124.4295	44.0868	6024
+-88.2138	36.8789	8735
+-89.9793	38.0334	8538
+-116.8224	33.8301	8951
+-88.9355	39.3305	7743
+-91.1869	39.8383	7966
+-115.7612	32.1682	8226
+-86.2188	36.1878	6509
+-115.8693	34.2297	8010
+-78.1427	30.1829	4614
+-119.4403	37.9396	4757
+-83.2803	28.7453	8187
+-115.5217	45.9352	6331
+-90.7309	38.6583	9037
+-83.1174	26.2835	7879
+-89.2023	39.9654	7598
+-111.4173	29.4663	6897
+-122.9497	43.7718	6096
+-118.1574	49.2483	5924
+-124.0926	45.6333	7641
+-90.2808	39.5939	8508
+-110.2093	33.4871	7406
+-118.0599	35.1651	8118
+-110.1914	31.8469	9149
+-121.6257	44.3962	6454
+-117.3223	35.5049	8040
+-109.0977	30.4098	7627
+-113.6733	28.186	4312
+-126.1518	44.6581	5225
+-104.784	29.9612	3210
+-88.1053	37.498	9049
+-87.0939	39.4242	7091
+-114.9851	38.2926	4363
+-86.8595	35.0682	6198
+-121.2419	48.8379	6859
+-119.843	31.5041	6226
+-87.4299	30.2334	3282
+-115.0655	31.6693	7276
+-115.2931	32.5134	7856
+-123.3773	47.5195	8804
+-121.3034	43.6507	5563
+-86.6058	37.5163	7384
+-117.3842	34.3683	9251
+-121.4799	49.0823	6807
+-109.7609	29.6794	7320
+-117.0439	33.765	9068
+-116.1221	33.8745	8258
+-81.3918	27.9917	9016
+-116.0648	42.3228	4621
+-91.8519	36.6273	6642
+-118.6987	45.8936	8769
+-117.9933	34.304	8724
+-118.0941	33.6972	8518
+-85.7485	28.1217	5783
+-122.3778	44.0604	6362
+-115.4601	46.9374	6142
+-111.5958	31.8233	8081
+-89.8209	37.0328	8435
+-120.7111	46.1931	7056
+-81.4519	27.1358	8842
+-122.8351	48.2396	8206
+-112.4884	32.1919	7047
+-88.7951	35.9505	7889
+-80.936	28.5863	8251
+-117.7463	37.3135	6030
+-119.5372	46.2058	7928
+-108.6184	31.9315	7578
+-112.4179	31.5865	7215
+-119.6096	47.1913	7442
+-119.1208	32.0571	7205
+-88.9019	38.773	8563
+-90.4956	38.5666	9193
+-117.7469	42.0383	4921
+-84.0154	40.4068	3658
+-116.9975	34.1803	9240
+-117.6334	49.9511	5124
+-91.3063	39.0596	8375
+-114.519	37.4278	4858
+-84.2172	30.4758	6026
+-80.5382	31.3981	5405
+-118.9844	47.6154	7492
+-87.6516	34.0519	5570
+-117.237	34.4027	9242
+-114.5858	35.395	6306
+-112.1324	31.2507	7491
+-119.0067	30.9403	6661
+-89.646	41.0907	6779
+-110.4276	31.0755	8914
+-124.4749	48.5618	7144
+-91.1343	35.2909	6051
+-109.8733	31.4627	8958
+-87.1928	38.4287	7852
+-109.9378	32.1696	8707
+-116.2999	36.2351	7014
+-114.7805	49.1678	4329
+-82.3458	25.7223	7567
+-90.2133	40.2504	7797
+-117.8312	46.0338	8777
+-77.8852	28.4547	5024
+-122.5676	49.3447	6968
+-91.27	40.7193	7097
+-90.4616	33.5745	4844
+-124.8138	46.8404	7499
+-120.585	47.5672	6979
+-123.6878	48.0124	8168
+-119.3359	32.7955	7110
+-122.1921	48.4698	7781
+-117.5908	45.805	8463
+-122.474	47.7732	8604
+-90.4033	35.3351	6618
+-117.8799	46.649	8539
+-107.6327	27.8804	4508
+-83.4363	26.9495	8152
+-114.01	32.3307	6411
+-125.8156	45.5456	6043
+-86.3388	37.219	7044
+-117.2301	32.718	9439
+-118.0146	45.3528	8420
+-124.8071	48.1117	7162
+-114.6528	38.1478	4312
+-110.9926	32.002	8627
+-81.504	28.9426	8383
+-110.0139	30.4839	8233
+-118.4432	36.0464	7088
+-109.4705	28.8787	6398
+-92.4467	36.2256	5910
+-90.8605	35.2842	6255
+-88.2514	36.752	8637
+-118.5931	46.0769	8932
+-117.8398	34.5073	8791
+-89.2094	35.8274	7692
+-115.9771	46.5755	6767
+-122.8614	47.9447	8531
+-80.0661	28.2332	7495
+-88.731	38.5832	8785
+-84.0921	25.1862	6227
+-110.3147	29.5964	7321
+-110.0628	30.4863	8249
+-116.8102	33.1122	9380
+-117.8912	45.9045	8797
+-90.9014	41.7177	6177
+-91.9742	37.2726	7084
+-92.7755	38.4318	6823
+-109.6203	31.1542	8572
+-77.4109	29.4278	4229
+-125.8833	45.1542	5771
+-117.5699	33.8317	9071
+-80.9922	28.2386	8495
+-115.799	36.4522	6544
+-121.1283	42.9673	4779
+-91.8658	37.8704	7566
+-121.5225	47.5565	7960
+-111.1573	32.0559	8444
+-90.5385	41.6797	6262
+-120.4347	35.0017	5955
+-123.4599	47.4369	8803
+-90.1769	37.6229	8189
+-83.098	25.4335	7036
+-111.3028	29.48	6964
+-90.4815	37.8723	8472
+-118.8272	43.8101	6768
+-94.6388	38.9738	4831
+-111.8598	35.4452	4974
+-110.2277	33.7917	7078
+-87.5651	40.3099	6555
+-84.9749	27.2691	6629
+-119.0132	32.573	7454
+-116.2742	32.4467	8877
+-87.5048	38.467	8137
+-114.3664	32.7728	6852
+-88.5486	36.7605	8770
+-86.0179	36.1408	6287
+-109.2539	30.5145	7828
+-121.9385	46.4602	8412
+-115.3987	31.2835	7307
+-117.5992	31.0924	7704
+-119.3376	35.0369	7073
+-116.3659	30.5329	7119
+-119.1586	45.2101	7939
+-118.8427	33.8779	7796
+-89.8481	38.525	8799
+-118.1002	33.989	8615
+-83.1966	25.3929	6950
+-117.821	29.7629	6216
+-118.8506	31.9296	7430
+-117.5325	34.5979	8954
+-119.3312	46.1504	8149
+-90.5553	36.1097	7154
+-119.3678	47.0785	7714
+-120.9186	33.4989	5495
+-116.0127	37.9881	5116
+-79.0718	26.0731	5934
+-115.5964	47.0644	6237
+-122.2969	46.0368	8389
+-120.4937	34.2737	6014
+-116.2034	32.864	8900
+-87.8552	39.7348	7277
+-120.695	48.9375	6357
+-113.7928	34.2898	5745
+-88.6406	38.4738	8897
+-110.4714	34.4166	6400
+-85.6724	27.4061	5868
+-117.4914	31.7239	8401
+-92.8847	35.8294	5280
+-118.1118	32.1859	8295
+-87.7163	32.6268	4037
+-123.5313	44.4593	6766
+-89.8492	37.2948	8530
+-90.2663	37.3128	7870
+-117.0593	46.4364	7916
+-121.4577	33.945	4962
+-89.7223	41.9161	5938
+-122.1223	48.2898	7920
+-117.1269	35.6262	7902
+-118.9017	35.6631	7095
+-121.2479	47.7764	7585
+-121.2391	43.4283	5312
+-117.5176	35.1984	8344
+-91.4905	37.5181	7639
+-87.9866	32.9397	4438
+-116.8713	38.5445	4707
+-115.7231	30.946	7247
+-126.117	46.8154	6068
+-93.0622	41.3992	5363
+-91.2546	36.9718	7290
+-91.6227	43.4764	4158
+-92.578	35.2311	4954
+-114.9095	33.7853	7217
+-111.9527	28.2661	5474
+-120.0724	46.7184	7256
+-122.9681	43.8625	6195
+-121.0603	49.985	5723
+-118.2007	34.0957	8518
+-88.2848	38.0801	9102
+-86.9338	35.7476	6837
+-85.0365	28.0273	6595
+-120.4328	32.0416	5791
+-112.7269	35.2408	4738
+-123.9649	45.2514	7388
+-118.4416	43.7589	6776
+-106.5365	30.3847	5160
+-80.8488	29.774	7196
+-87.303	36.6019	7784
+-78.2376	24.9566	4458
+-115.1315	33.9063	7372
+-116.9251	43.3209	5985
+-117.3063	31.108	7810
+-114.8221	30.3843	6136
+-89.5016	35.8295	7595
+-81.1897	24.2855	5812
+-81.6115	25.6985	7479
+-80.4217	26.5221	7498
+-115.9847	45.1491	6626
+-118.9927	47.3559	7733
+-117.3726	34.0244	9372
+-111.3599	30.3499	7735
+-113.8695	32.3141	6253
+-119.3296	32.4748	7090
+-119.6117	36.1192	6186
+-118.295	34.2903	8403
+-116.999	45.3431	7682
+-115.3637	34.972	7269
+-112.1944	31.765	7448
+-117.574	44.8422	7731
+-90.0637	39.3572	8685
+-121.7023	44.8127	6899
+-112.593	29.6027	6218
+-120.0496	44.5291	6757
+-110.0721	38.6776	1782
+-82.8021	24.8097	6463
+-120.9738	48.5905	6838
+-122.3646	46.4784	8810
+-116.2836	32.6723	8974
+-114.5609	47.2611	5131
+-117.2362	34.9276	8671
+-87.3915	38.353	8090
+-118.512	41.4709	4352
+-116.0826	46.2341	6926
+-91.4468	39.207	8177
+-87.5209	36.7422	8074
+-109.6835	31.5108	8765
+-111.0113	32.3378	8375
+-111.7757	31.0776	7818
+-117.1907	34.6647	8952
+-117.321	30.8863	7564
+-108.8453	30.6391	7564
+-118.364	33.7519	8271
+-87.4636	38.5576	8043
+-116.0215	49.5142	4923
+-82.1368	27.0613	9094
+-92.3125	39.6187	7144
+-89.8187	35.4847	7097
+-117.536	34.5832	8966
+-89.2336	37.9616	9195
+-78.9457	25.6817	5583
+-90.1948	40.8355	7167
+-117.0399	35.8206	7681
+-119.3715	46.7259	7931
+-119.1502	30.943	6544
+-80.6283	30.1638	6690
+-118.3264	42.1571	5084
+-122.9223	47.6376	8869
+-86.3596	35.4907	6173
+-88.5979	37.2948	9357
+-87.5113	39.2618	7536
+-113.8481	28.6501	4514
+-116.1523	33.2444	8727
+-117.0689	32.4734	9353
+-91.1776	40.3629	7487
+-122.2005	47.7911	8418
+-110.0572	30.5452	8310
+-81.9368	26.5664	8516
+-116.4807	36.1741	7152
+-82.6263	28.5228	8871
+-122.4116	45.7093	8124
+-82.7935	27.4403	9059
+-121.147	49.3326	6371
+-117.701	49.3982	5713
+-85.5148	38.3534	6084
+-89.3406	40.2046	7495
+-81.4935	28.0494	9101
+-117.9796	30.9908	7424
+-117.8624	45.0535	8066
+-83.9084	27.6881	7882
+-88.1813	38.5356	8638
+-91.2617	40.068	7717
+-80.0807	30.4082	6108
+-122.1342	44.8772	7161
+-88.1301	39.2825	7865
+-113.9849	31.8991	6273
+-94.6709	40.5497	4412
+-116.035	36.4975	6630
+-82.4608	27.3769	9317
+-117.7412	36.0189	7417
+-88.907	34.6506	6427
+-108.6795	31.7828	7669
+-124.1669	44.7911	6840
+-116.3779	34.0461	8564
+-117.0831	33.6686	8993
+-90.0253	41.9586	5945
+-107.3136	30.8722	6112
+-89.8019	34.1489	5700
+-118.2993	32.85	8266
+-111.3218	32.4477	8051
+-119.3144	29.6877	5390
+-115.9763	33.4107	8465
+-113.0237	33.2125	6066
+-88.9421	36.9631	9002
+-116.2951	33.1813	8901
+-80.1597	28.6146	7462
+-87.4344	34.2788	5729
+-117.3436	33.5306	8875
+-120.2578	37.2692	4811
+-82.4338	26.5891	8518
+-118.1624	33.2678	8179
+-113.5051	36.1518	4881
+-113.2312	34.1829	5256
+-112.9456	31.8612	6627
+-89.1285	35.2427	7065
+-116.3699	33.5833	8669
+-88.5062	36.7077	8700
+-92.982	36.6952	5854
+-113.4845	29.8753	5590
+-86.0101	36.312	6368
+-83.7448	27.2541	7979
+-89.7458	39.848	8056
+-111.1067	29.3711	6934
+-112.5549	35.4512	4641
+-116.6804	37.2097	6122
+-116.3358	33.2108	8923
+-113.0782	30.3113	6196
+-115.7298	37.7131	5288
+-115.5848	32.9538	8204
+-81.8891	26.7888	8752
+-84.2504	28.8458	7204
+-117.9601	37.0935	6221
+-117.706	31.6899	8250
+-110.7844	32.4911	8375
+-109.7391	32.5431	8250
+-117.4658	31.7721	8462
+-120.2072	31.7976	5964
+-116.6058	35.0874	8272
+-123.5166	43.5711	5815
+-112.1793	34.5007	5733
+-90.5532	36.4487	7388
+-119.9797	47.9525	6600
+-81.5708	25.648	7413
+-116.9488	32.887	9672
+-114.1436	32.04	6487
+-82.3359	26.4817	8421
+-83.6433	27.4071	8136
+-121.2544	41.6483	3592
+-116.9387	44.0741	6685
+-116.622	35.0671	8300
+-89.5814	42.1699	5638
+-84.4082	30.12	6189
+-117.8877	49.7808	5340
+-90.145	40.34	7691
+-88.55	38.0943	9276
+-111.0566	33.0454	7706
+-87.5162	38.535	8106
+-118.3034	34.0599	8404
+-79.9803	27.5969	7449
+-96.0466	35.7996	2542
+-82.2972	31.3989	5779
+-92.7529	35.8843	5416
+-119.5639	45.6181	7811
+-124.7747	47.0253	7546
+-121.5252	45.4324	7343
+-116.7084	35.8846	7533
+-91.5309	40.4232	7238
+-87.6209	38.9181	7910
+-117.7525	44.552	7527
+-112.6599	32.2759	6843
+-123.5341	48.1923	8090
+-123.4841	43.6066	5859
+-118.3048	48.1974	7039
+-124.2025	49.1307	6831
+-91.9214	35.1691	5224
+-115.37	36.5047	6226
+-121.3624	43.0673	5001
+-90.866	34.8819	5901
+-110.2198	30.6837	8491
+-120.5232	48.0334	6744
+-116.6508	40.1661	2923
+-117.6158	27.9564	4284
+-89.9375	38.3472	8777
+-124.6122	49.2817	6443
+-89.4549	35.8432	7628
+-90.3678	36.6264	7672
+-85.449	30.1212	5292
+-119.9442	49.8371	4929
+-112.9484	36.8592	3967
+-119.0294	33.6874	7554
+-116.4199	46.8052	7150
+-117.6868	49.9019	5185
+-113.9024	32.9268	6333
+-86.6973	38.2794	7392
+-118.3166	30.6095	6867
+-118.0181	47.3506	7907
+-122.4803	46.6843	9050
+-88.1243	36.5428	8363
+-106.6717	29.8124	5067
+-82.8919	30.3654	6830
+-88.8296	39.7601	7427
+-117.5074	35.2181	8326
+-123.9904	46.4948	8301
+-118.6745	49.1667	5986
+-115.7567	34.7907	7742
+-114.1753	36.9499	4976
+-83.7463	27.5021	8043
+-84.0604	27.0289	7558
+-111.2617	34.338	6324
+-118.5599	31.0289	7082
+-115.1288	30.9031	6794
+-114.4555	31.9672	6796
+-118.1081	36.2514	7052
+-114.5507	33.7745	6854
+-118.5616	44.8578	7912
+-89.7138	40.3922	7513
+-88.1294	36.3578	8182
+-118.1593	44.1056	7144
+-78.4541	28.8206	5563
+-124.1622	43.7164	5776
+-116.2284	32.6911	8918
+-120.9475	48.8438	6631
+-89.5732	38.6147	8539
+-125.5846	41.7331	3144
+-90.6672	34.0581	5238
+-90.2281	37.3255	7880
+-125.6972	48.3379	6184
+-92.157	40.8755	6441
+-85.4399	28.3497	6094
+-89.6437	39.8338	8010
+-108.7772	31.6655	7785
+-86.1679	39.05	6510
+-90.3939	37.7298	8325
+-116.5989	32.8622	9340
+-118.7058	48.7935	6373
+-115.6385	44.8282	6152
+-108.8824	32.2753	7732
+-88.4784	39.104	8169
+-119.0341	47.388	7682
+-114.9789	32.4158	7491
+-108.6593	28.5917	5759
+-89.9802	39.7356	8277
+-86.8283	39.4047	6892
+-87.4358	38.1639	8220
+-84.0208	28.422	7632
+-124.4813	48.2823	7346
+-108.8055	32.2279	7677
+-115.71	48.6708	5408
+-86.8336	37.3593	7618
+-82.2437	25.7048	7556
+-80.8202	31.4274	5492
+-118.0307	49.4451	5708
+-87.5986	37.8009	8495
+-90.1766	43.9084	3860
+-92.3826	39.5204	7115
+-126.074	41.2376	2411
+-107.7794	30.2455	6350
+-82.5055	25.9358	7779
+-89.8837	39.013	8816
+-109.0573	30.2577	7480
+-118.3167	47.7448	7518
+-111.3187	30.6098	7973
+-111.4738	31.1781	8162
+-92.6611	37.3863	6563
+-123.922	45.8358	7932
+-81.111	28.6891	8335
+-107.2686	33.2334	5702
+-116.7253	35.0871	8342
+-124.9238	45.8542	7069
+-85.7766	41.0863	4716
+-83.078	25.6836	7305
+-119.8861	36.7407	5506
+-110.4042	32.0725	8938
+-118.4426	33.6407	8147
+-115.4006	45.5568	6154
+-123.8929	47.3462	8438
+-118.1531	31.3049	7609
+-83.0621	28.9201	8217
+-112.9289	34.9611	4858
+-121.2323	47.1431	7764
+-114.6746	35.3643	6408
+-81.0593	29.2401	7830
+-123.7368	43.7618	5967
+-114.2126	37.6462	4460
+-89.3667	37.244	8992
+-110.5082	33.9441	6909
+-113.9086	38.4559	3567
+-87.2141	37.6825	8072
+-115.3868	33.7735	7693
+-121.665	34.4161	4730
+-89.898	41.7913	6105
+-109.3211	30.6521	7983
+-116.3698	35.7479	7523
+-112.1308	29.1232	6172
+-116.4267	33.8048	8554
+-87.9507	37.233	8778
+-126.1069	49.1168	5364
+-81.2174	25.9815	7623
+-120.9814	33.891	5477
+-114.4401	43.6981	4461
+-119.0805	31.8574	7164
+-86.4955	37.121	7193
+-83.9126	24.6735	5855
+-90.447	40.6868	7336
+-119.5953	45.044	7477
+-120.3762	42.9725	5275
+-119.8798	47.277	7160
+-86.278	26.8543	5091
+-118.68	33.5486	7869
+-116.8177	46.9374	7473
+-113.1763	30.5781	6206
+-90.0375	38.6422	9034
+-92.1745	38.6562	7491
+-80.8714	30.6266	6356
+-117.5774	46.8789	8147
+-114.4812	33.9518	6705
+-118.5951	32.5645	7915
+-90.0956	32.7368	4084
+-122.947	47.8379	8648
+-113.5895	31.9829	5919
+-90.2693	38.1607	8777
+-121.3235	46.8604	7870
+-119.2568	31.3957	6747
+-91.8546	41.7983	5776
+-81.1122	30.6467	6435
+-87.8777	42.5468	4521
+-114.4923	39.0631	3367
+-118.6411	47.8269	7393
+-118.5531	43.1568	6130
+-90.0456	35.928	7393
+-123.4958	46.7711	8917
+-117.7097	33.0869	8871
+-91.1506	39.2492	8438
+-114.4522	31.7125	6690
+-91.4688	37.4988	7639
+-117.4375	43.6732	6539
+-117.209	44.5616	7273
+-116.907	32.7531	9656
+-110.111	33.5691	7309
+-120.3772	49.8588	5390
+-109.8582	31.7226	8937
+-87.8051	39.9188	7066
+-87.9921	36.9422	8625
+-87.6027	35.1964	6750
+-85.4427	37.4109	6073
+-113.2183	30.8186	6240
+-109.6794	33.4097	7372
+-115.8525	43.2712	5310
+-124.7055	47.3791	7571
+-113.1597	31.4639	6409
+-114.3056	33.4515	6702
+-117.3143	30.1783	6785
+-116.589	45.1509	7204
+-119.2135	37.2839	5498
+-120.4164	47.285	6676
+-89.3685	38.6078	8320
+-120.277	47.1731	6863
+-93.6936	39.8394	5668
+-110.22	31.5146	9330
+-117.874	31.1099	7597
+-80.4567	29.1863	7407
+-127.4974	46.7684	4551
+-111.0071	34.8885	5819
+-117.1369	34.538	9074
+-111.6279	31.4396	8062
+-91.8051	34.5895	4961
+-83.1375	28.1436	8679
+-117.9048	30.709	7180
+-117.0002	34.7836	8771
+-116.1896	34.2706	8354
+-87.5035	40.1859	6651
+-94.2064	39.1738	5278
+-92.5517	34.8729	4636
+-85.4932	27.4498	6074
+-117.0387	34.6872	8885
+-119.9696	49.3395	5393
+-117.5363	45.8877	8438
+-116.1924	32.8066	8889
+-118.211	30.4079	6729
+-117.1464	46.8917	7793
+-118.0315	34.3889	8658
+-89.013	40.7047	6851
+-90.1597	39.9718	8086
+-123.2225	47.0993	9223
+-114.4063	34.6161	6374
+-84.2754	27.767	7469
+-118.4345	32.1404	7950
+-114.6271	33.5465	7019
+-115.0843	32.8391	7653
+-89.8745	36.7594	8208
+-110.5827	33.2342	7665
+-121.7494	44.9261	7033
+-89.5408	37.9682	8882
+-91.6554	40.6557	6955
+-90.6713	36.4518	7280
+-117.4559	46.3269	8352
+-117.2258	34.5408	9091
+-118.3331	46.3376	9003
+-80.8964	26.6498	8007
+-121.709	48.6576	7334
+-86.8894	40.1127	6353
+-111.9452	30.643	7452
+-88.039	37.0386	8737
+-115.3656	48.2952	5394
+-125.7741	49.0316	5718
+-116.4603	44.8417	6915
+-121.6807	46.0561	7934
+-116.7636	33.1253	9341
+-88.9472	36.7581	8776
+-110.8144	34.2343	6554
+-88.7267	37.3628	9472
+-83.0576	28.8791	8256
+-118.2622	44.6048	7677
+-90.2548	34.644	6034
+-93.9975	37.4022	5267
+-122.6426	45.2037	7649
+-115.1875	32.8454	7768
+-105.8877	33.2078	4345
+-116.7048	31.6118	8378
+-90.1637	40.3344	7700
+-119.6669	45.8378	7769
+-88.7876	39.6546	7447
+-110.0308	31.6944	9124
+-120.0125	46.8713	7255
+-118.9813	33.8536	7643
+-80.65	29.2017	7557
+-82.2615	26.6887	8664
+-92.8266	34.4798	4122
+-90.178	40.947	7046
+-115.5028	34.041	7611
+-110.7031	31.3678	9010
+-88.7199	36.0822	8037
+-111.9734	26.5451	3733
+-115.1624	32.8122	7740
+-115.0935	43.3689	4813
+-87.4783	36.609	7944
+-118.3378	35.9713	7217
+-89.2329	37.3059	9154
+-117.8953	36.298	7079
+-117.0604	31.7882	8601
+-122.2405	46.5308	8738
+-122.9136	45.9343	8472
+-109.6674	32.0739	8577
+-90.2137	41.1579	6823
+-80.353	25.2992	6450
+-116.9451	34.6282	8894
+-118.0575	30.2586	6651
+-81.57	26.8096	8636
+-81.2695	25.3792	7020
+-85.3093	27.2005	6243
+-84.3493	27.2259	7312
+-83.7043	25.1321	6422
+-120.4943	33.069	5831
+-118.5013	33.2105	7856
+-115.1707	32.3992	7696
+-118.8787	32.3679	7562
+-125.1889	44.2701	5720
+-121.4561	45.7341	7521
+-80.2141	26.7131	7416
+-90.2325	37.5398	8110
+-89.7711	38.1099	8470
+-119.4771	32.8394	6952
+-90.3538	40.0262	8048
+-118.1248	33.6599	8469
+-118.5968	35.747	7257
+-117.7461	33.5475	8712
+-119.3495	31.4996	6716
+-116.7648	33.149	9319
+-83.0172	26.9793	8553
+-87.6798	40.2462	6672
+-119.0019	33.2915	7434
+-87.2881	42.4219	4248
+-77.2719	29.7649	3946
+-118.7967	37.8213	5182
+-92.7049	40.6139	6215
+-112.5362	29.9666	6513
+-81.4917	28.7575	8557
+-116.4216	33.8505	8566
+-118.3339	34.8631	8127
+-124.7631	47.7795	7373
+-88.0768	38.6422	8473
+-118.3991	33.202	7938
+-90.8842	38.75	8884
+-117.6871	32.6284	8922
+-88.0213	38.4308	8616
+-81.4167	29.2994	7978
+-92.3174	39.7861	7059
+-124.5311	44.5238	6379
+-90.7874	36.6139	7081
+-116.6892	35.9259	7484
+-119.8867	32.4473	6470
+-110.3978	33.363	7544
+-89.6401	39.8659	7979
+-117.3434	34.1175	9452
+-115.5751	35.2169	7347
+-86.686	37.5218	7474
+-90.7953	34.488	5583
+-89.9728	38.6957	8978
+-119.2869	44.4463	7212
+-119.4634	46.7454	7836
+-119.3191	44.2545	7019
+-116.4791	30.8362	7478
+-85.745	36.8499	6302
+-89.7535	42.383	5450
+-112.9229	31.2534	6645
+-116.1029	47.1669	6690
+-87.7136	38.4026	8373
+-120.8624	46.6112	7334
+-88.5065	40.4706	6680
+-115.6569	29.831	6116
+-119.8886	32.69	6491
+-89.3347	38.2727	8882
+-90.0473	38.067	8604
+-118.1467	31.6134	7873
+-81.8344	26.8803	8834
+-120.5006	36.1312	5391
+-117.0392	34.8109	8758
+-113.7878	48.3959	3914
+-120.4735	44.1314	6142
+-89.39	36.8244	8639
+-79.5105	24.4083	5072
+-119.4142	42.9822	5748
+-117.8134	33.5865	8694
+-92.6861	39.2588	6882
+-118.9931	34.4959	7613
+-93.9293	38.987	5594
+-104.429	30.7511	3013
+-86.0143	36.6092	6506
+-111.5306	34.0777	6476
+-115.2706	47.2517	5845
+-115.9784	34.4122	8100
+-112.5982	33.6668	6139
+-115.9477	36.903	6192
+-89.956	42.6799	5164
+-113.9694	33.8483	6217
+-119.515	45.7754	7912
+-119.063	33.157	7308
+-118.5726	43.8852	6895
+-124.7697	46.0775	7332
+-82.6607	29.6742	7653
+-82.632	26.2501	8086
+-116.3132	32.9497	9009
+-119.0554	30.056	5892
+-109.4116	31.8299	8440
+-123.6997	47.8793	8273
+-110.2121	30.5879	8387
+-85.0299	38.1254	5589
+-118.4089	47.1775	8112
+-81.554	27.9583	9202
+-113.8341	34.1493	5956
+-120.981	48.6481	6803
+-121.2703	47.5579	7702
+-118.9552	29.4398	5382
+-118.9422	43.5424	6463
+-80.1676	29.5603	6882
+-89.7576	39.9955	7922
+-119.5539	36.3313	6078
+-114.6775	35.0223	6552
+-115.0254	34.8116	6984
+-115.4088	30.9871	7073
+-121.5948	47.3742	8104
+-87.8622	40.6859	6277
+-110.9314	34.6878	6048
+-114.0475	33.9105	6276
+-88.6391	39.386	7879
+-116.845	32.3406	9205
+-115.0115	31.9153	7352
+-109.7437	30.5019	8139
+-110.7642	30.3697	8078
+-122.4447	45.8916	8324
+-91.259	39.7537	7989
+-122.3854	48.9044	7403
+-92.928	39.6901	6500
+-119.2659	32.4006	7147
+-118.8877	46.3921	8550
+-110.8555	32.3889	8433
+-120.9393	44.1419	5766
+-84.3607	27.0893	7259
+-86.1778	36.2015	6476
+-90.8828	34.6414	5671
+-118.4502	30.7881	6950
+-111.0326	30.3196	7909
+-118.3441	29.6702	5922
+-125.0887	49.2419	6138
+-81.4946	26.6274	8415
+-120.559	46.6202	6788
+-111.7474	31.4874	7938
+-111.2443	30.6396	8052
+-83.2614	28.0054	8588
+-91.1562	37.4974	7838
+-125.0829	49.8633	5621
+-90.2157	34.1193	5514
+-88.8823	38.432	8946
+-117.0112	32.7624	9675
+-88.8843	36.851	8891
+-78.9442	24.369	4620
+-115.1313	44.8554	5671
+-120.9956	32.2106	5208
+-116.0331	33.1114	8661
+-108.7866	31.0696	7708
+-119.9011	46.033	7546
+-89.1543	36.7573	8706
+-117.1287	35.6042	7926
+-91.7356	37.3365	7316
+-90.36	34.6809	6017
+-120.2141	46.9732	7016
+-119.9367	49.953	4820
+-107.3295	30.4063	5978
+-123.6517	45.8087	8089
+-112.34	37.4307	3071
+-89.1865	37.1237	9045
+-116.8875	35.2111	8292
+-91.4637	36.6494	6878
+-108.5452	31.2553	7504
+-87.6866	36.3251	7882
+-119.6258	33.0178	6691
+-83.7989	26.0967	7224
+-113.0985	33.686	5710
+-92.3322	40.6577	6485
+-109.3696	28.8638	6348
+-81.4038	25.3222	7006
+-91.1087	34.3695	5276
+-117.2863	32.373	9143
+-80.5112	28.2093	7990
+-82.9269	28.3508	8778
+-112.1096	30.9284	7422
+-84.9341	34.3415	4120
+-90.5163	41.722	6218
+-85.7834	37.6778	6466
+-116.9356	46.8509	7627
+-124.3709	44.8757	6798
+-92.0871	38.8782	7583
+-90.4194	37.5425	8122
+-115.9341	33.0035	8582
+-117.1449	35.1516	8419
+-90.2678	35.6825	7023
+-115.2261	32.1856	7688
+-81.1913	28.2263	8707
+-90.604	34.9696	6152
+-121.2106	37.5256	3863
+-110.1338	34.5076	6298
+-87.6618	35.1262	6706
+-81.9856	28.8598	8644
+-120.3036	48.6995	6177
+-85.7289	28.9581	5607
+-118.7303	35.8787	7053
+-116.329	33.2649	8883
+-121.4452	46.1532	7775
+-119.4645	42.7308	5479
+-121.2874	33.8517	5141
+-80.6994	29.2546	7555
+-117.6663	37.8114	5502
+-80.0907	26.3102	7054
+-118.5302	33.919	8140
+-92.8128	38.1312	6722
+-120.271	42.6876	5078
+-111.6833	27.9763	5301
+-107.8635	31.2411	6772
+-118.8974	46.3847	8544
+-80.7324	28.3715	8166
+-88.4581	37.6564	9469
+-111.712	31.9678	7923
+-119.9641	47.6315	6852
+-115.5589	36.0299	6754
+-115.4336	34.1025	7538
+-81.9339	29.5542	7858
+-120.1926	27.9582	3248
+-114.5215	33.5242	6914
+-94.4503	38.0748	4981
+-82.0463	29.3588	8088
+-119.1794	32.3638	7234
+-113.4932	32.7297	5832
+-92.8448	39.7521	6560
+-119.0387	48.1028	6994
+-116.7956	32.0383	8864
+-118.2867	48.297	6934
+-115.7725	29.5424	5866
+-117.2864	46.7723	7987
+-85.7683	41.633	4233
+-116.4102	35.1485	8089
+-88.5291	37.5117	9497
+-82.4248	28.3493	9155
+-91.3235	39.6208	8043
+-118.263	45.1775	8283
+-118.4666	29.7205	5916
+-85.1353	37.8394	5734
+-116.1179	34.1165	8285
+-86.7379	37.9807	7511
+-120.2129	32.5354	6118
+-86.9711	34.9345	6146
+-123.4269	46.0298	8425
+-109.6718	33.1872	7594
+-88.5227	36.8511	8860
+-90.4898	42.2883	5609
+-115.8277	34.7263	7840
+-117.8109	32.3406	8672
+-82.2812	30.1306	7213
+-116.8461	32.2409	9097
+-108.8646	27.5736	4847
+-117.522	31.0128	7648
+-112.1004	31.1045	7490
+-81.8384	27.687	9547
+-98.5306	40.5475	432
+-115.1555	35.6694	6690
+-119.3992	29.5607	5220
+-83.9065	25.292	6448
+-122.8844	44.7845	7209
+-80.4611	29.1115	7465
+-85.2868	30.2613	5343
+-120.3548	32.4271	5949
+-120.8353	45.8933	7050
+-112.8357	31.8423	6748
+-87.2105	33.5656	4892
+-81.0903	24.1005	5580
+-120.4165	37.7416	4313
+-120.9395	47.3573	7410
+-120.2994	30.2818	5082
+-122.2183	46.9622	8857
+-88.9444	38.956	8353
+-116.8506	27.8783	4243
+-120.0503	47.9474	6553
+-92.3887	39.9984	6878
+-118.2292	31.071	7350
+-91.2062	39.9017	7899
+-112.4947	28.9521	5784
+-90.4973	41.9115	6015
+-110.8763	29.7049	7355
+-83.701	28.4655	7951
+-125.1448	46.9979	7140
+-111.3383	27.0393	4431
+-115.6866	32.6012	8305
+-127.2029	45.2603	4521
+-118.7972	35.7103	7141
+-82.6208	30.5989	6641
+-81.6866	27.8151	9384
+-91.5328	40.349	7302
+-113.1573	30.5962	6232
+-109.8048	35.3635	5338
+-88.5557	36.7595	8770
+-88.8107	30.8444	2158
+-117.7161	32.7817	8916
+-84.8081	27.6704	6864
+-119.1126	43.4696	6339
+-113.7653	35.4819	5445
+-117.8408	33.0012	8756
+-116.4302	37.8388	5394
+-85.5601	36.106	5812
+-112.9247	34.0856	5571
+-120.3952	33.5011	6056
+-86.7723	38.9831	7132
+-89.1909	37.1542	9069
+-89.9587	38.0352	8528
+-116.2562	31.8151	8383
+-116.5535	30.7508	7403
+-116.8382	42.8241	5468
+-117.3847	31.6924	8415
+-117.3832	31.8471	8576
+-111.4573	32.325	8015
+-109.4726	30.3366	7832
+-115.3931	38.0813	4771
+-90.8056	38.9864	8903
+-109.7126	30.0381	7669
+-117.4459	32.7734	9216
+-120.6483	34.9402	5745
+-87.6143	36.6634	8101
+-87.224	36.8819	7873
+-88.7122	37.6717	9754
+-111.3919	33.7721	6839
+-113.5333	32.1643	5950
+-120.9521	45.8907	7161
+-91.4013	38.8629	8320
+-84.663	28.3066	6966
+-116.4949	35.8425	7492
+-110.1748	35.6861	5025
+-119.2987	35.8342	6647
+-92.542	37.3021	6623
+-116.2257	34.3969	8367
+-119.565	30.2897	5710
+-80.0047	28.0373	7465
+-114.9354	32.6788	7482
+-82.8212	30.3054	6917
+-108.6964	30.003	7008
+-116.5909	36.2442	7120
+-118.6663	44.8998	7926
+-81.7576	26.5857	8490
+-86.4271	36.0121	6599
+-91.16	41.8185	6013
+-81.3741	26.2577	7981
+-119.2296	43.3021	6132
+-116.5945	34.696	8582
+-87.7881	42.6732	4354
+-86.527	38.167	7239
+-119.0738	47.9229	7156
+-110.8755	30.5312	8191
+-114.7233	35.786	6229
+-124.7468	47.1845	7563
+-88.9286	37.4871	9544
+-90.2196	41.0081	6984
+-89.1493	38.4496	8836
+-119.0417	31.4478	6980
+-89.5845	39.4555	8276
+-90.7384	37.8447	8376
+-91.0187	37.3514	7769
+-116.1679	33.6263	8484
+-119.5581	32.6573	6857
+-116.5709	33.0284	9252
+-90.2839	38.9702	9164
+-117.8879	33.1373	8665
+-118.1184	32.4974	8420
+-112.4187	31.8598	7194
+-117.4038	30.4135	7028
+-117.2596	33.265	9155
+-86.9187	39.0463	7226
+-119.4563	31.3723	6542
+-92.2128	41.1191	6198
+-90.5358	38.1633	8771
+-88.8796	40.1333	7222
+-88.7651	36.7142	8747
+-117.3113	34.5327	9099
+-89.3174	38.1629	8982
+-119.6507	42.2227	4906
+-82.9307	28.7188	8487
+-121.617	48.4401	7460
+-88.8407	37.1504	9230
+-88.3609	40.27	6697
+-89.5423	36.0172	7770
+-118.9088	47.1026	8009
+-123.1578	30.9875	2552
+-79.0732	29.7844	5745
+-112.496	30.9928	7045
+-81.4921	27.6518	9155
+-115.9619	32.4512	8560
+-87.1882	35.7585	7036
+-111.871	32.1566	7695
+-77.6251	27.0074	4720
+-116.6004	33.6668	8651
+-107.3715	28.31	4691
+-81.9617	27.0478	9056
+-121.9266	47.824	8181
+-113.9308	33.1579	6345
+-110.7884	29.6184	7288
+-118.2488	33.3608	8175
+-86.786	36.9118	7436
+-88.5471	37.92	9438
+-115.7459	32.6632	8381
+-86.3547	40.0919	5975
+-118.4062	34.8327	8079
+-116.8842	32.4932	9381
+-80.0644	24.4461	5466
+-90.4528	38.1331	8755
+-120.6858	49.2595	6104
+-91.9977	36.3157	6276
+-88.4567	41.3231	5960
+-91.1169	38.7225	8633
+-81.7882	30.0825	7243
+-112.6422	32.0714	6917
+-85.9925	37.1059	6638
+-90.5921	39.3764	8713
+-118.3204	30.8946	7131
+-112.984	32.0027	6566
+-120.6323	45.9259	6766
+-80.2759	26.6112	7418
+-121.9134	43.6144	5767
+-87.8243	34.6159	6232
+-117.8552	30.5476	7035
+-89.5712	36.5519	8272
+-88.584	38.7822	8545
+-106.8294	32.5478	5536
+-90.3941	41.3165	6658
+-92.5388	41.5307	5632
+-116.3997	44.705	6778
+-117.4877	42.8809	5749
+-114.6493	46.647	5368
+-89.8184	39.3172	8561
+-113.218	32.4843	6199
+-116.0589	47.7623	6320
+-107.6505	31.1821	6535
+-119.8993	46.6268	7460
+-82.1062	25.0596	6830
+-111.0227	31.2782	8657
+-79.1758	26.6538	6317
+-111.7638	30.0922	7235
+-111.1851	28.0278	5512
+-120.4513	32.8861	5807
+-117.3538	47.7817	7226
+-80.5383	31.8015	4984
+-117.2616	33.6933	9058
+-87.5934	39.9288	6954
+-90.3142	40.3682	7679
+-116.3089	35.3768	7826
+-121.2105	43.8809	5741
+-121.3428	35.9869	4653
+-93.1695	38.4061	6398
+-117.1666	32.448	9285
+-79.988	27.9085	7460
+-112.2971	33.1307	6765
+-85.5966	34.8097	5025
+-116.5822	32.9498	9299
+-119.6571	48.3522	6466
+-80.9564	29.4519	7567
+-116.443	35.0246	8214
+-90.3579	44.0959	3662
+-91.5342	40.3617	7290
+-120.4263	33.4128	6003
+-79.8404	26.9746	7148
+-122.9426	48.1933	8258
+-123.4891	47.2336	8896
+-106.6926	29.3515	4847
+-85.1716	39.9261	5048
+-117.441	37.2206	6165
+-118.3817	33.3699	8064
+-118.9006	33.6177	7669
+-88.9491	38.3312	9041
+-90.1862	38.2726	8868
+-88.041	37.2835	8894
+-117.2742	46.63	8053
+-121.3056	48.7381	6988
+-125.4171	46.6732	6822
+-121.5803	46.1731	7914
+-88.5982	38.9761	8332
+-80.5921	26.3896	7554
+-118.9447	34.764	7582
+-89.9608	38.5145	8903
+-114.4447	31.1257	6366
+-122.1541	49.9988	6176
+-118.5656	35.1571	7734
+-118.1487	43.2526	6241
+-115.9724	36.5514	6546
+-118.3928	33.8321	8266
+-115.5455	31.021	7199
+-91.8168	40.1164	7290
+-109.8359	30.6574	8335
+-82.8619	29.7262	7527
+-91.4963	36.1425	6369
+-91.9329	35.5601	5602
+-88.1074	40.1934	6883
+-118.9586	33.4185	7534
+-87.0668	40.0965	6486
+-122.1693	46.6946	8750
+-116.9517	36.0143	7458
+-110.7334	29.4248	7095
+-122.648	48.202	8221
+-89.6262	39.1058	8523
+-86.039	30.4528	4530
+-90.9967	36.03	6710
+-116.394	32.2536	8857
+-115.984	33.7976	8092
+-119.465	39.1621	3551
+-88.9266	38.2994	9082
+-122.1581	32.3433	3856
+-120.8464	47.5696	7255
+-117.7871	35.1108	8330
+-115.6021	33.7895	7884
+-118.0954	35.9033	7406
+-115.4713	32.7854	8085
+-109.5114	34.9777	5690
+-116.866	32.3832	9257
+-117.806	47.3941	7800
+-92.4128	40.0854	6806
+-84.0596	30.4159	6187
+-116.9811	46.4845	7823
+-124.7852	49.7576	5906
+-111.7078	32.2254	7830
+-121.1864	48.1135	7341
+-119.8605	37.0189	5305
+-81.5679	26.2898	8103
+-115.0518	35.8416	6487
+-82.9995	32.6836	4244
+-116.5775	34.1812	8784
+-123.4304	47.1251	8998
+-118.7081	27.9714	4010
+-124.0364	49.2958	6759
+-92.2031	37.0916	6771
+-118.6492	32.7998	7876
+-120.5803	45.2066	6650
+-112.1869	31.6475	7464
+-124.2567	46.7604	8099
+-119.5261	47.9443	6905
+-89.5009	38.9147	8457
+-84.3424	26.3021	6894
+-110.5245	33.0056	7919
+-121.0947	46.5902	7580
+-85.001	24.4857	4963
+-119.4416	29.9882	5561
+-88.1763	39.1637	8008
+-86.8136	36.8009	7417
+-119.5688	45.858	7875
+-88.9216	37.7727	9604
+-119.3217	48.8526	6145
+-117.5587	37.5525	5795
+-109.439	33.9033	6780
+-108.7634	32.4832	7513
+-89.3678	37.4197	9086
+-114.9979	36.6704	5825
+-123.6782	47.4019	8627
+-116.1717	32.1827	8619
+-88.0597	37.4056	8969
+-84.2531	39.6137	4297
+-119.5856	32.5939	6821
+-88.4477	37.5144	9419
+-80.3443	28.0385	7845
+-78.0682	30.4534	4379
+-82.0694	28.174	9426
+-90.9907	36.3752	6782
+-119.3327	32.3252	7057
+-113.8836	30.5803	5476
+-118.9878	47.7768	7334
+-115.0336	34.865	6975
+-89.8288	40.7045	7235
+-111.6258	30.1977	7421
+-118.7447	34.6949	7813
+-121.1524	31.5218	4866
+-82.1791	28.2247	9372
+-116.7275	46.3479	7592
+-88.5832	42.7549	4692
+-118.9735	36.2517	6570
+-111.4423	29.9024	7292
+-81.2491	25.1691	6788
+-83.8055	27.8412	7999
+-89.1507	38.9866	8072
+-117.9911	32.1881	8412
+-82.9642	25.1838	6823
+-118.6846	47.2848	7936
+-123.0084	47.6883	8804
+-123.7124	45.1256	7395
+-89.3884	39.6921	7947
+-108.8455	29.1987	6428
+-85.1281	40.4914	4644
+-85.3846	27.7666	6214
+-80.0276	30.7056	5802
+-122.6667	48.9613	7400
+-109.6398	31.7772	8693
+-88.211	36.8723	8728
+-120.7732	42.3994	4537
+-91.0582	36.2002	6581
+-109.4114	33.3067	7356
+-120.8339	33.6688	5614
+-122.2099	46.9294	8847
+-120.7175	45.0929	6471
+-90.2296	43.452	4354
+-110.4734	31.2067	9038
+-86.5962	38.9601	6979
+-116.3776	32.8029	9096
+-87.4916	32.3175	3643
+-89.639	39.1422	8518
+-87.594	39.3164	7543
+-122.8787	47.1025	9455
+-89.3153	40.819	6915
+-85.9811	27.872	5538
+-87.8055	35.3484	6999
+-89.8321	38.4994	8772
+-118.1667	32.6522	8402
+-89.5131	40.198	7604
+-82.7268	29.7226	7580
+-90.5578	38.4598	9059
+-119.306	31.3317	6662
+-107.5759	31.2496	6464
+-116.9134	45.4857	7671
+-83.8221	30.781	5983
+-115.9567	29.8404	6247
+-121.4518	46.1095	7757
+-118.2348	33.7255	8392
+-91.8948	42.7192	4847
+-110.4397	32.36	8624
+-121.8505	49.5122	6581
+-85.9791	37.0527	6611
+-114.0119	30.7626	5739
+-117.8178	48.3276	6850
+-79.9489	28.8982	7109
+-116.9098	47.0066	7518
+-108.8099	33.6436	6697
+-117.4808	45.6484	8285
+-122.0584	46.4988	8548
+-123.4288	49.4069	6863
+-120.0439	46.3705	7374
+-119.7911	47.2927	7224
+-111.4972	30.262	7566
+-109.8034	30.3687	8038
+-86.2046	27.2698	5252
+-83.3925	26.4226	7809
+-116.3428	32.1049	8697
+-81.5557	30.8015	6397
+-118.8987	46.7105	8343
+-94.5401	38.7709	4944
+-122.4982	44.8753	7267
+-116.7891	32.2544	9095
+-120.9366	46.1213	7258
+-88.1087	38.5689	8561
+-119.9626	48.6437	6032
+-117.4007	48.1876	6860
+-120.8803	45.8899	7092
+-84.3832	25.9806	6643
+-87.1287	36.3544	7460
+-122.4865	48.8096	7531
+-91.7274	36.7133	6794
+-126.6242	48.1035	5328
+-115.9473	48.2877	5871
+-118.6015	41.0755	3928
+-90.3778	37.2118	7766
+-120.0032	34.067	6552
+-92.5147	40.7845	6248
+-91.0812	39.5286	8297
+-119.3256	45.7509	8096
+-88.7554	32.4947	4010
+-86.2633	39.0669	6595
+-89.169	36.7191	8660
+-111.5616	30.3886	7617
+-120.8774	48.8375	6579
+-118.8561	32.5294	7621
+-123.2476	47.0858	9202
+-116.669	35.1743	8228
+-79.7352	30.7844	5532
+-109.987	32.2933	8618
+-92.8075	40.0907	6439
+-113.8262	31.5583	5979
+-117.3825	46.158	8305
+-88.8398	37.0662	9137
+-120.7731	44.5219	6139
+-117.8435	32.0392	8446
+-114.1499	47.366	4682
+-106.3357	32.4193	5049
+-89.8704	39.9734	7995
+-87.3781	42.3848	4341
+-87.2221	32.9553	4250
+-80.5388	27.4794	8059
+-116.9644	33.2906	9224
+-83.4283	30.8683	6090
+-80.8716	28.8388	8019
+-117.6633	34.6285	8846
+-83.1291	31.1892	5860
+-87.0708	39.109	7316
+-124.1403	43.8466	5918
+-81.0421	28.3803	8476
+-116.9676	32.2448	9115
+-92.0829	38.9552	7579
+-91.3289	39.905	7815
+-106.4453	30.4589	5088
+-118.2097	32.3625	8277
+-124.3237	48.1059	7603
+-113.4645	38.1828	3479
+-115.1659	36.5739	6025
+-117.9867	45.532	8582
+-112.9054	31.6265	6686
+-113.8248	28.4003	4355
+-79.0809	30.9059	4939
+-81.5352	25.739	7501
+-86.3279	37.9836	7055
+-81.6551	31.7405	5364
+-91.0686	39.4581	8362
+-88.489	38.5733	8750
+-115.6771	32.4991	8272
+-118.039	31.8037	8107
+-118.6487	47.9128	7302
+-85.8989	39.6418	5906
+-114.3719	31.1354	6304
+-87.4123	38.7309	7881
+-88.1963	38.1757	8957
+-118.4878	33.326	7941
+-114.9965	32.7029	7552
+-116.3714	42.933	5343
+-116.8861	32.0051	8843
+-119.407	46.5337	7985
+-94.1395	39.1213	5356
+-119.3996	48.4629	6493
+-118.7568	31.791	7452
+-117.8936	32.2091	8517
+-122.0777	44.5782	6831
+-122.7533	49.9543	6320
+-77.5692	24.9752	3840
+-115.2217	31.2107	7108
+-90.7724	40.0164	7996
+-120.7509	47.052	7243
+-117.0701	35.3255	8220
+-120.3479	46.2333	7069
+-123.0778	47.8815	8582
+-111.1441	29.6115	7164
+-117.5029	32.3612	8968
+-117.8637	48.5743	6603
+-117.8509	45.9355	8771
+-121.477	48.4995	7308
+-84.2825	26.8694	7258
+-117.1768	36.9974	6412
+-123.5056	46.7317	8893
+-117.0408	45.7499	7893
+-90.5642	40.3763	7661
+-91.2052	40.0305	7784
+-89.1777	36.6672	8603
+-82.2924	30.0782	7271
+-118.0567	37.9753	5259
+-105.9677	32.6212	4612
+-91.3588	38.9635	8348
+-92.3083	35.3178	5183
+-86.7853	36.0665	6957
+-90.2017	36.3641	7640
+-88.4163	39.6477	7556
+-118.6057	46.376	8811
+-91.7681	38.8824	7925
+-116.8581	31.1653	7907
+-114.8674	33.3985	7323
+-111.9513	30.5595	7399
+-113.8403	34.5814	5769
+-117.3332	33.4081	8977
+-118.3616	32.2571	8076
+-109.8413	31.4505	8921
+-90.4522	38.5964	9243
+-88.8697	42.5939	4972
+-82.082	24.5956	6304
+-109.982	29.694	7391
+-117.2977	48.6044	6410
+-116.7622	33.4205	9042
+-118.2382	45.5134	8638
+-122.0351	48.0151	8113
+-116.5868	36.1073	7261
+-118.8795	36.1042	6760
+-115.0536	32.5772	7602
+-111.3895	29.1781	6627
+-81.9032	29.3304	8104
+-114.53	46.7457	5227
+-82.4351	27.3317	9294
+-78.3245	29.2642	5262
+-118.3289	32.4377	8176
+-119.7465	37.6263	4865
+-111.4963	29.1922	6593
+-113.9628	32.6054	6394
+-80.5915	33.0045	3715
+-116.7026	33.0908	9328
+-109.2832	31.6338	8334
+-109.4572	30.3496	7834
+-89.925	38.2651	8705
+-121.1916	46.3604	7615
+-91.0421	38.2016	8500
+-80.1965	28.7678	7426
+-90.5499	40.5817	7442
+-123.7697	45.7957	8004
+-93.8533	40.8487	5053
+-108.0386	32.6174	6747
+-112.9514	35.6657	4543
+-84.427	26.6921	7027
+-120.3504	45.5419	6993
+-120.3227	35.0026	6072
+-91.3566	41.4816	6299
+-118.402	48.5533	6659
+-121.9896	44.2207	6428
+-88.6959	41.3796	6057
+-87.8821	39.7743	7249
+-118.9932	41.0607	3871
+-119.2301	32.2354	7146
+-83.1473	25.5674	7153
+-120.5964	45.6647	6768
+-121.1793	43.873	5717
+-119.8714	46.3802	7553
+-90.8111	37.8015	8303
+-114.5429	30.5209	6029
+-111.7109	30.8156	7765
+-119.1968	35.9223	6667
+-115.2417	30.6884	6697
+-117.7917	43.1248	6067
+-120.4576	46.6467	6886
+-115.9992	35.6138	7412
+-116.6839	29.2016	5708
+-119.2792	33.2149	7125
+-79.5796	27.3732	6969
+-93.0258	40.149	6202
+-123.4556	44.9077	7263
+-118.9272	30.8291	6639
+-117.5778	45.4157	8220
+-119.2387	45.9483	8236
+-127.2125	43.4557	3497
+-116.1697	35.5433	7589
+-79.5594	31.6868	4587
+-88.8261	40.1452	7171
+-108.7585	32.7822	7329
+-117.2336	42.8502	5644
+-119.56	48.7019	6191
+-115.6056	30.6021	6854
+-117.7335	47.3992	7766
+-86.349	39.5106	6402
+-92.8726	40.2413	6297
+-119.9324	46.2286	7509
+-121.0169	48.0335	7228
+-118.3646	29.0127	5233
+-118.1096	31.9893	8179
+-120.448	45.9707	6964
+-79.4026	25.6605	5991
+-89.0358	39.2195	7886
+-122.9905	49.012	7357
+-93.1877	40.2171	6013
+-117.1066	34.7541	8839
+-89.4515	39.6089	8058
+-110.6516	33.5243	7343
+-118.1805	31.8233	8003
+-117.8162	45.9303	8734
+-115.747	31.7972	7980
+-87.3559	37.2149	8153
+-119.9515	34.0381	6607
+-115.905	28.9151	5243
+-117.5676	34.6282	8906
+-85.0257	28.2069	6582
+-117.2475	46.0621	8163
+-113.2317	34.1973	5245
+-115.0298	34.0094	7094
+-116.1383	34.4776	8251
+-124.1932	47.5495	8048
+-119.8009	31.8712	6420
+-116.8356	32.7747	9599
+-106.5766	32.8857	5166
+-80.3163	28.1881	7782
+-82.8216	25.3467	7046
+-109.5974	34.1852	6544
+-115.2875	34.2342	7376
+-116.1392	31.4964	8015
+-80.8103	27.0644	8198
+-108.9069	32.2012	7789
+-88.9196	42.8805	4701
+-116.2094	32.708	8900
+-107.733	30.8167	6536
+-113.567	32.0416	5935
+-122.834	46.214	8776
+-122.3383	45.7909	8175
+-118.8098	34.332	7841
+-113.5833	31.0958	5913
+-89.1046	38.5143	8790
+-88.5489	42.3465	5073
+-117.9653	31.2557	7686
+-78.8478	24.7576	4852
+-80.4258	26.9785	7765
+-89.156	38.7163	8558
+-90.7952	36.0712	6919
+-109.3845	26.6567	4038
+-90.7077	38.6987	9070
+-114.3809	34.5709	6354
+-112.2768	42.6374	1918
+-88.7426	36.5053	8512
+-87.2808	41.6582	4841
+-90.3685	39.1691	8972
+-121.3257	45.8941	7513
+-115.2346	49.3709	4525
+-93.2093	39.6783	6218
+-117.5018	46.8923	8082
+-85.4435	37.9241	6074
+-79.5752	25.8396	6269
+-107.8777	31.7094	6810
+-78.7434	27.9648	6051
+-110.3041	33.687	7194
+-89.6465	34.9486	6609
+-115.2692	33.4578	7729
+-111.1791	27.5881	5049
+-118.3419	46.1401	9185
+-116.7499	45.7133	7586
+-118.4867	34.7853	8029
+-117.9158	35.7377	7650
+-83.0965	24.4309	5964
+-84.585	26.805	6913
+-117.05	32.6325	9527
+-119.085	31.1595	6753
+-119.1907	44.467	7282
+-121.9002	45.6484	7789
+-82.9862	30.3349	6831
+-117.3453	35.2674	8298
+-86.6907	37.9399	7465
+-117.7161	46.9933	8140
+-111.5936	29.769	7080
+-116.442	35.4705	7824
+-122.7324	45.7586	8266
+-118.547	35.9027	7155
+-90.8888	40.8365	7110
+-122.8262	45.878	8407
+-86.1574	38.5924	6707
+-85.4471	36.893	5989
+-109.7625	29.2054	6824
+-92.7571	37.3179	6436
+-114.4017	47.552	4871
+-81.2115	30.0026	7156
+-118.9618	30.479	6325
+-115.9788	30.4641	6907
+-118.5882	32.6583	7936
+-116.3899	40.2351	2733
+-83.7541	27.4042	8013
+-90.2626	40.6249	7399
+-92.9523	39.1235	6626
+-125.537	47.0239	6708
+-92.9183	37.859	6528
+-93.1154	42.0665	4793
+-86.2445	40.7673	5328
+-121.7716	33.0712	4489
+-115.64	32.4127	8206
+-85.6973	41.868	3974
+-121.3492	47.0515	7900
+-109.3072	31.8597	8322
+-116.4394	43.5384	5918
+-89.0111	35.951	7871
+-125.9644	46.5931	6215
+-117.0669	34.2711	9273
+-112.1989	32.4022	7266
+-87.595	38.6409	8104
+-88.2812	37.6838	9270
+-87.4755	39.2859	7490
+-92.5081	37.5437	6791
+-119.4523	28.9132	4591
+-122.6832	48.4969	7908
+-118.2942	33.0633	8247
+-114.1654	34.273	6152
+-78.5458	26.6867	5654
+-86.6592	28.8828	4619
+-124.3582	47.1447	7992
+-124.8086	45.8658	7186
+-113.1493	30.8709	6326
+-89.7351	38.2931	8570
+-115.8479	33.163	8447
+-116.7366	35.7815	7649
+-116.5251	34.5002	8635
+-123.9325	48.0131	7991
+-112.3443	33.6501	6349
+-120.675	36.1807	5201
+-122.652	44.0653	6407
+-117.1174	28.7959	5265
+-117.0835	47.5945	7231
+-82.5411	29.7754	7573
+-113.1864	31.2977	6367
+-91.6035	36.9168	7051
+-111.565	27.3104	4656
+-118.0398	31.3719	7745
+-86.5126	27.5192	4930
+-118.7249	47.0924	8110
+-109.4422	26.1421	3500
+-122.167	48.7006	7538
+-86.6236	37.5223	7404
+-116.9742	30.9871	7712
+-111.6359	29.7651	7050
+-113.4858	46.353	4172
+-92.1349	35.3951	5345
+-122.5218	47.089	9169
+-90.7864	39.4775	8528
+-117.5531	45.2916	8107
+-118.673	43.3618	6331
+-117.3358	48.521	6507
+-84.6634	26.9394	6881
+-112.7063	31.8919	6881
+-117.6803	36.7636	6633
+-116.9544	43.4724	6142
+-115.2087	47.2247	5793
+-121.2425	47.9642	7481
+-116.4943	30.7531	7392
+-107.197	35.0676	4394
+-88.3081	41.7914	5456
+-91.1474	42.1055	5715
+-120.3409	45.9434	7075
+-117.6892	45.7947	8553
+-111.8802	32.3513	7602
+-90.5166	37.5357	8108
+-119.9915	35.3567	6280
+-91.286	36.4744	6786
+-107.0616	31.0106	5875
+-81.4621	27.6269	9117
+-120.662	47.2513	7128
+-108.918	28.6762	5970
+-78.3419	27.6356	5600
+-121.3697	44.2227	6154
+-124.1198	47.0159	8265
+-87.6001	39.1059	7735
+-91.3674	37.4299	7650
+-109.0867	32.7889	7595
+-119.4884	47.8532	7007
+-121.513	34.2337	4905
+-125.977	46.161	6112
+-108.8173	37.9387	2395
+-88.6159	35.99	7926
+-119.7249	45.2555	7491
+-84.2738	25.8997	6679
+-121.5472	48.6056	7271
+-116.0951	30.7025	7202
+-116.3811	44.5383	6654
+-91.739	42.0999	5529
+-81.305	28.7741	8417
+-91.4799	39.5785	7943
+-119.5381	34.0322	7058
+-114.7784	31.1301	6671
+-126.4146	44.6861	5003
+-121.0543	31.3391	4905
+-119.4355	32.1327	6895
+-91.3749	38.1231	8160
+-109.1628	28.029	5419
+-118.2956	31.8621	7928
+-90.5362	38.8993	9194
+-127.4592	47.0674	4596
+-112.3483	32.7656	6942
+-118.6518	49.5773	5557
+-77.5415	28.2786	4665
+-116.1728	32.157	8602
+-85.0817	38.7641	5499
+-119.1867	30.5689	6229
+-118.0963	45.9228	8988
+-86.5678	37.9938	7320
+-86.4428	40.0313	6093
+-116.9529	36.6834	6735
+-108.9133	33.5123	6878
+-123.1866	47.1917	9206
+-120.5725	45.1487	6635
+-90.4224	41.8089	6127
+-91.1549	40.8526	7010
+-112.6419	29.5404	6134
+-110.0505	30.9619	8734
+-117.6402	33.9569	9087
+-111.0991	30.7631	8258
+-117.2314	45.5593	8008
+-117.6314	30.2822	6830
+-83.7854	26.9805	7823
+-121.2823	48.1898	7378
+-91.807	36.7748	6800
+-107.7883	30.0251	6240
+-114.7385	30.7412	6356
+-89.8301	37.7421	8618
+-115.5537	34.3676	7652
+-123.7401	49.9362	6216
+-107.1332	27.9063	4192
+-117.8566	33.4242	8532
+-89.8949	35.9176	7479
+-116.7818	49.7997	5032
+-116.3884	46.0934	7254
+-116.8158	36.4605	6952
+-117.7213	36.9398	6437
+-79.7294	27.8222	7172
+-107.6444	29.0347	5459
+-92.623	36.4231	5943
+-108.615	33.6969	6522
+-118.9049	43.0762	5991
+-83.9532	25.8765	6924
+-114.758	46.9488	5420
+-118.9542	34.7706	7570
+-113.8684	36.7711	4845
+-82.9382	28.1741	8872
+-124.891	46.3097	7303
+-119.6837	36.4574	5880
+-80.4849	27.6104	8019
+-89.4415	39.495	8130
+-84.8133	35.2331	4604
+-79.6497	27.0788	6977
+-81.1041	28.211	8624
+-115.3485	37.8618	4964
+-90.8433	40.1965	7788
+-121.7025	44.3663	6461
+-77.1659	26.9883	4204
+-119.2982	32.7014	7149
+-116.4959	33.298	9002
+-122.9164	46.4445	9032
+-112.6008	28.7117	5509
+-115.6035	34.9096	7536
+-78.1191	27.0271	5274
+-124.2438	45.2596	7219
+-82.4898	27.0326	8969
+-80.1219	27.918	7610
+-121.0748	46.7744	7590
+-116.7669	45.074	7322
+-107.8248	29.9951	6257
+-84.4505	24.6539	5502
+-123.6307	46.2579	8488
+-120.6122	45.7731	6770
+-88.9392	39.0624	8236
+-91.205	39.3426	8332
+-118.4679	32.4315	8024
+-122.6104	46.0982	8600
+-110.4922	31.4992	9279
+-86.9518	36.7453	7531
+-118.6075	44.377	7404
+-114.2051	47.4544	4709
+-91.1117	37.0815	7462
+-78.5091	31.4961	4009
+-117.3315	44.2424	7050
+-88.4054	44.4114	2961
+-91.3036	37.1971	7479
+-121.8896	43.706	5856
+-88.1421	36.3572	8187
+-121.5417	44.7533	6753
+-118.2685	35.1772	7960
+-117.0455	49.6536	5275
+-120.0927	48.0679	6429
+-86.2755	31.1757	3823
+-118.7808	48.0653	7114
+-122.901	48.1442	8312
+-88.1703	37.8881	9101
+-117.8328	32.1746	8550
+-117.6336	42.9176	5821
+-115.3218	34.1774	7416
+-86.8364	40.6821	5796
+-117.2432	35.368	8191
+-83.7032	28.2391	8038
+-118.03	36.7697	6544
+-121.3672	44.1281	6062
+-118.9103	43.6974	6631
+-91.2597	38.8193	8477
+-88.0109	41.0517	5862
+-118.7994	32.1646	7583
+-117.6205	33.9843	9119
+-115.9142	35.4473	7481
+-108.6778	32.0411	7613
+-117.7155	35.025	8449
+-110.2423	32.7384	8218
+-83.8057	28.9387	7582
+-113.9673	35.1449	5774
+-93.3494	38.7044	6227
+-89.3063	36.6551	8529
+-120.0147	34.4793	6516
+-118.9244	36.1764	6668
+-82.9003	27.4539	8955
+-116.0978	47.2241	6658
+-119.0816	47.6248	7438
+-110.2824	33.3812	7525
+-118.5409	31.7348	7622
+-80.6267	25.996	7262
+-124.3786	45.2492	7116
+-114.8124	47.4717	5308
+-120.0645	44.7622	6901
+-116.3667	30.8216	7429
+-112.0053	28.7504	5909
+-87.5402	39.5041	7335
+-84.5287	25.5875	6229
+-117.6689	33.0168	8938
+-117.6747	35.501	7981
+-114.3309	36.2039	5619
+-117.147	44.1994	6915
+-111.4735	32.8164	7654
+-115.3691	37.2876	5523
+-109.2731	33.9542	6660
+-92.2058	37.8535	7235
+-118.2858	45.0108	8107
+-117.0122	49.1183	5792
+-82.1871	28.7238	8808
+-115.712	32.8932	8351
+-115.3465	33.0731	7923
+-91.4061	35.676	5932
+-120.2108	34.5394	6296
+-120.8646	29.149	3783
+-125.3262	46.2192	6817
+-112.7432	33.9738	5796
+-89.7375	41.3458	6541
+-104.4717	33.0971	2914
+-112.7068	31.7065	6898
+-81.6666	28.0608	9268
+-89.7743	41.5359	6351
+-111.3308	33.9817	6659
+-117.5549	32.4588	8985
+-111.983	31.4732	7682
+-89.9548	42.5693	5282
+-89.6507	40.3721	7506
+-121.6409	43.2675	5313
+-85.3078	25.5705	5525
+-92.3037	37.2945	6827
+-116.3051	49.3401	5240
+-117.2751	46.9676	7852
+-89.217	40.6279	7042
+-116.5062	30.8401	7489
+-112.7933	33.6931	5962
+-124.678	47.409	7593
+-88.5067	39.7329	7477
+-89.2694	39.4448	8009
+-119.0041	47.117	7940
+-110.9969	33.773	6995
+-90.9082	40.2152	7747
+-114.7909	34.1331	6837
+-115.4945	36.1841	6581
+-120.7672	36.6846	4813
+-119.1055	47.1928	7812
+-117.1106	32.5529	9418
+-119.461	31.7955	6746
+-109.6737	29.2164	6811
+-121.6759	32.9345	4554
+-89.2528	42.0963	5617
+-88.3016	36.0239	7899
+-117.0911	30.5974	7274
+-85.9072	27.6863	5622
+-123.724	47.6178	8452
+-121.0568	32.7355	5131
+-91.3791	36.6977	6966
+-118.9262	32.8984	7565
+-94.9335	38.2877	4495
+-112.2228	29.6947	6579
+-123.7414	47.8588	8259
+-88.177	40.3954	6458
+-121.5891	46.818	8157
+-115.5661	33.477	8026
+-92.2553	39.6928	7165
+-115.8549	28.8753	5185
+-116.2643	45.2418	6937
+-88.3256	39.9533	7200
+-112.8114	43.5797	2880
+-117.0535	48.3856	6512
+-118.7726	34.3636	7876
+-87.2912	37.2424	8092
+-81.0657	27.048	8436
+-117.5877	33.2674	8897
+-117.8672	47.4019	7813
+-122.0753	46.3408	8469
+-118.172	32.7033	8402
+-115.6408	34.0857	7764
+-107.9529	32.5635	6684
+-121.6395	46.8765	8218
+-121.8906	48.7643	7341
+-83.9835	25.855	6883
+-89.6297	39.9889	7861
+-117.5915	35.8995	7579
+-110.8613	36.4137	4209
+-122.4537	43.6637	5945
+-115.5052	46.2941	6311
+-88.1809	36.8675	8704
+-81.9542	28.5159	9021
+-88.1123	37.3909	9018
+-112.8197	36.3869	4100
+-119.723	46.9906	7468
+-118.0449	33.2448	8459
+-120.3837	44.3476	6363
+-116.4305	35.1439	8107
+-111.6665	34.9388	5562
+-117.0414	43.9389	6621
+-91.6204	37.0931	7196
+-86.1987	36.2076	6500
+-83.5086	27.5593	8319
+-123.9134	44.6236	6802
+-113.1862	31.9826	6352
+-81.8924	27.7935	9618
+-118.3152	35.4128	7733
+-88.4625	36.6667	8643
+-115.5855	33.7348	7903
+-111.2673	28.6867	6176
+-118.3609	37.1551	6032
+-107.7131	38.067	1897
+-81.0113	27.4169	8563
+-87.2035	34.4362	5787
+-122.8891	46.2206	8786
+-119.4355	30.1502	5700
+-112.2733	33.4992	6519
+-114.7385	33.409	7181
+-89.8917	39.4625	8491
+-83.2454	28.0325	8599
+-115.0677	32.2925	7556
+-89.4256	38.5044	8359
+-79.207	26.9298	6449
+-76.19	30.8884	2297
+-118.6008	33.1475	7728
+-86.5143	27.8185	4936
+-88.9988	35.7468	7645
+-117.7961	34.665	8719
+-123.1434	47.1059	9298
+-88.3827	38.8504	8417
+-124.0213	46.1823	8103
+-81.45	29.0759	8222
+-89.186	37.4009	9258
+-83.9018	35.7381	3941
+-124.8754	46.1583	7261
+-90.6608	40.563	7447
+-88.4137	38.3178	8983
+-108.2284	33.3185	6518
+-121.0281	33.6359	5399
+-112.5782	32.0048	6999
+-118.9958	31.9061	7272
+-122.3518	44.8941	7251
+-85.1464	27.1104	6404
+-123.0043	45.2164	7680
+-110.9332	30.088	7728
+-117.0195	34.4623	9089
+-90.5742	38.7321	9218
+-90.4207	36.7392	7687
+-107.8622	33.3579	6177
+-113.5403	28.636	4754
+-111.1565	33.9946	6713
+-80.6735	25.3542	6702
+-118.5986	32.4976	7898
+-86.9918	39.1199	7240
+-76.004	27.4402	2948
+-115.0607	46.6079	5805
+-111.2418	30.4572	7906
+-88.3245	38.2018	9035
+-93.5496	35.8872	4823
+-120.258	47.6962	6571
+-123.192	47.0626	9268
+-116.668	37.1684	6163
+-92.7916	37.6219	6558
+-108.4464	30.6575	7196
+-124.4396	47.1811	7898
+-91.8857	36.3962	6415
+-83.2218	27.6502	8654
+-119.0902	45.3346	8083
+-124.8167	46.5515	7452
+-89.4624	40.9491	6855
+-111.6093	34.62	5905
+-123.8279	47.929	8137
+-112.3225	32.2831	7189
+-123.7052	47.8876	8262
+-116.236	34.7468	8230
+-118.0618	45.701	8777
+-91.1769	35.9561	6294
+-115.3062	35.781	6744
+-95.1099	39.2892	4297
+-121.8066	41.9612	3977
+-125.7981	47.8887	6265
+-116.0902	34.7444	8092
+-112.2752	29.8805	6675
+-109.2556	30.6225	7909
+-107.3068	32.2818	6108
+-119.8364	46.9054	7408
+-109.1442	30.7296	7888
+-91.035	39.799	8093
+-123.4885	46.8607	8949
+-88.4857	40.1131	6906
+-113.1745	30.5737	6207
+-115.9261	31.9449	8239
+-118.8714	46.5285	8490
+-126.2723	47.7829	5794
+-88.4241	37.7016	9429
+-118.2295	47.9235	7329
+-95.0654	37.9232	4300
+-117.1283	35.721	7799
+-115.6953	43.2987	5221
+-91.192	38.4872	8508
+-121.0275	45.0687	6677
+-118.789	32.3031	7641
+-91.4394	37.847	7927
+-115.0714	31.1715	6954
+-111.8768	34.1068	6269
+-90.3117	37.9282	8535
+-114.5498	32.3203	7001
+-113.0587	32.999	6146
+-90.1906	41.0434	6944
+-115.3274	37.813	5001
+-124.5701	47.0112	7771
+-93.7513	40.765	5194
+-88.804	39.0687	8240
+-119.7076	41.1183	3773
+-110.8994	31.2949	8785
+-90.1977	37.5036	8066
+-109.9115	29.8578	7549
+-124.2254	44.6313	6656
+-118.3253	46.8277	8489
+-117.802	35.1096	8323
+-84.4856	29.2407	6752
+-115.6092	31.6301	7742
+-108.8185	33.8706	6501
+-89.5481	39.8036	7975
+-109.0372	29.8809	7155
+-109.2068	32.9427	7561
+-118.875	46.857	8243
+-106.737	34.7058	4313
+-116.7601	29.1174	5620
+-118.6631	45.0081	8036
+-118.6666	36.9979	6060
+-112.1956	30.7637	7269
+-107.0898	32.7944	5722
+-122.0759	45.2705	7535
+-83.6332	26.1314	7382
+-112.9893	31.2824	6577
+-84.8928	38.4046	5388
+-123.4651	47.315	8877
+-109.3804	30.881	8191
+-115.0889	34.3634	7149
+-118.3611	46.0691	9172
+-109.1634	32.3684	7947
+-90.5114	40.3271	7719
+-92.5147	38.1157	7027
+-111.3202	31.4743	8398
+-114.5837	33.8394	6860
+-117.0499	34.493	9080
+-115.0125	31.3106	7001
+-121.6865	42.8701	4912
+-122.606	45.1406	7574
+-121.4222	32.2999	4750
+-110.4891	33.5007	7389
+-109.6293	31.2799	8643
+-117.3753	34.7563	8848
+-119.7022	35.1135	6674
+-117.2279	36.8135	6614
+-118.922	37.4046	5539
+-112.5069	31.2479	7091
+-88.3596	43.2978	4059
+-122.5843	48.0009	8418
+-119.8734	45.6116	7499
+-88.1223	39.1788	7969
+-123.1354	45.3067	7764
+-81.2018	31.3334	5722
+-115.2804	32.8298	7872
+-81.5134	25.1851	6889
+-109.3449	32.217	8201
+-110.2699	32.7159	8244
+-123.5082	45.7184	8081
+-119.6663	35.2237	6663
+-119.7667	47.3232	7224
+-87.0385	41.5922	5000
+-91.0954	43.6988	4035
+-94.6794	37.8784	4700
+-119.5557	45.9971	7909
+-83.7533	29.6332	7096
+-119.2271	35.4862	6940
+-117.1365	46.3284	8022
+-113.5345	28.0254	4288
+-91.0511	34.8757	5767
+-116.8658	31.9761	8809
+-109.137	32.5285	7822
+-109.3125	32.5749	7932
+-114.2544	33.1971	6698
+-88.4182	38.3991	8904
+-116.9532	33.0618	9479
+-120.1148	30.8691	5624
+-120.0073	31.7635	6164
+-119.7395	32.8691	6659
+-108.2005	28.8085	5682
+-89.0396	38.6613	8657
+-81.2052	27.5086	8803
+-92.6037	38.3775	6998
+-117.4868	33.3001	8961
+-123.2533	45.6226	8079
+-90.241	38.6841	9255
+-92.305	40.5825	6562
+-90.8734	40.835	7116
+-108.3307	31.9502	7268
+-89.6179	35.9425	7657
+-117.1408	33.2671	9214
+-86.6637	38.0532	7415
+-82.002	30.046	7309
+-86.1088	28.7972	5246
+-89.7679	39.2287	8584
+-126.6145	47.0645	5524
+-91.7635	40.5269	6999
+-115.6964	34.7779	7686
+-85.8701	38.263	6495
+-108.6023	30.1399	7032
+-111.2142	30.0461	7554
+-117.7454	34.9062	8546
+-116.3064	33.0269	8980
+-124.8596	44.1822	5866
+-115.5315	33.3382	8050
+-82.8655	25.9769	7705
+-111.7335	30.9711	7818
+-124.4185	48.7756	7011
+-108.1834	32.5141	6935
+-108.7993	29.9253	7026
+-117.5996	30.4095	6977
+-116.4175	32.6447	9111
+-84.7736	26.9878	6778
+-109.4958	30.5683	8048
+-123.9214	47.968	8035
+-125.8807	45.8853	6123
+-118.9228	44.8105	7736
+-111.9244	35.3694	5024
+-116.3185	34.2199	8499
+-83.7519	29.3313	7346
+-117.086	47.009	7668
+-119.2412	37.4586	5319
+-114.7518	32.1835	7183
+-88.2785	38.3074	8910
+-90.7235	40.8918	7087
+-118.6754	46.6013	8587
+-118.5252	31.952	7765
+-110.2925	33.3948	7510
+-94.148	38.0847	5304
+-121.5358	48.5092	7344
+-91.518	36.7271	6924
+-119.0959	34.4511	7513
+-117.5079	32.321	8934
+-90.4891	35.867	7019
+-117.2096	35.7975	7721
+-110.3552	33.6408	7244
+-87.5573	41.6735	5042
+-86.0955	37.2399	6779
+-118.0151	35.2529	8069
+-89.1681	35.4587	7297
+-117.86	33.8631	8827
+-125.6814	46.8352	6547
+-123.7783	44.1368	6351
+-92.0389	42.1509	5347
+-87.5554	38.8982	7876
+-107.1015	34.454	4790
+-117.0947	36.1885	7288
+-85.2838	26.7543	6149
+-91.5994	36.6338	6794
+-90.8948	36.7563	7206
+-116.7497	49.2344	5565
+-91.5252	35.258	5705
+-122.3314	49.9759	6242
+-118.6194	35.2869	7599
+-122.2794	48.9715	7300
+-118.0345	32.6405	8546
+-81.4191	27.782	9084
+-88.7143	38.2951	9107
+-90.9665	37.7676	8193
+-116.6291	46.1262	7508
+-117.2519	28.7858	5246
+-84.3882	28.5525	7191
+-119.1103	46.1352	8384
+-111.119	32.7694	7932
+-117.0402	33.04	9490
+-91.2247	36.2697	6601
+-118.9769	49.0337	6068
+-82.4965	26.7855	8709
+-121.1125	45.3674	6971
+-111.9307	35.5408	4850
+-124.8251	48.245	7067
+-119.4116	46.54	7978
+-89.4968	34.8197	6517
+-118.3296	34.8971	8110
+-117.8373	35.1901	8228
+-78.9412	30.7109	4979
+-116.4295	32.5701	9094
+-123.3764	48.8947	7424
+-118.8852	34.7592	7645
+-87.5569	35.6444	7171
+-117.2596	33.5601	8913
+-89.974	39.2157	8756
+-92.5647	35.6403	5330
+-117.4839	33.1855	9044
+-119.4695	46.8126	7795
+-89.0906	37.9162	9356
+-117.471	45.5566	8226
+-93.1907	42.2168	4616
+-120.4524	44.9105	6641
+-112.8509	32.1471	6678
+-82.7726	26.1021	7875
+-120.7628	47.9857	7005
+-79.809	29.7476	6437
+-117.4582	44.444	7301
+-116.1825	37.2885	5899
+-117.9816	31.5515	7944
+-122.0214	46.963	8641
+-125.2162	47.936	6848
+-106.2467	34.348	4128
+-90.5314	42.0295	5886
+-114.7662	45.9039	5530
+-119.0468	46.4413	8375
+-91.4969	39.5538	7944
+-87.0075	41.0395	5544
+-85.2876	37.4027	5899
+-120.3398	34.4732	6165
+-82.4869	26.215	8092
+-118.4238	29.9119	6128
+-123.3011	46.9179	9162
+-119.7858	34.5973	6744
+-119.7476	32.9861	6556
+-84.3579	37.8999	4859
+-119.635	47.7457	7005
+-111.511	35.3975	5149
+-90.7784	40.2999	7700
+-110.0409	31.179	8933
+-117.4189	43.8604	6718
+-112.4127	35.3656	4797
+-118.6505	47.302	7929
+-118.2683	49.7241	5422
+-88.4372	35.7144	7593
+-115.6036	47.6274	5994
+-121.9755	44.9911	7210
+-91.1762	37.098	7449
+-122.5301	47.0199	9196
+-116.3888	30.4587	7045
+-110.2974	29.1047	6788
+-118.8334	31.9723	7468
+-91.262	39.8876	7875
+-123.3325	49.2389	7065
+-118.2033	34.1971	8514
+-83.6113	26.9182	7964
+-117.3047	45.2504	7888
+-119.0131	33.3158	7434
+-117.6425	32.1996	8732
+-115.5991	34.8007	7579
+-117.7106	37.4472	5891
+-115.8637	35.3444	7516
+-83.979	27.4555	7775
+-111.444	36.6684	3834
+-125.5896	44.8587	5852
+-119.7137	31.3146	6261
+-89.985	43.7756	3991
+-118.0008	34.6716	8545
+-116.7137	45.6161	7521
+-122.1873	43.3388	5544
+-90.1964	36.8029	7940
+-83.8957	25.8603	6955
+-123.4892	48.4948	7807
+-87.7602	37.9575	8639
+-115.3661	31.6474	7542
+-117.1369	34.9141	8674
+-109.2281	31.4212	8263
+-115.2299	33.2413	7759
+-91.6177	39.6148	7800
+-83.0883	26.0773	7697
+-115.8645	30.1618	6547
+-120.264	30.5365	5281
+-120.795	29.5729	4156
+-89.1499	38.0814	9181
+-87.3115	36.9688	8004
+-119.4553	45.1092	7635
+-110.396	31.173	9024
+-120.9966	45.6866	7086
+-119.0804	35.1141	7289
+-81.9588	27.1893	9210
+-111.1937	31.5301	8540
+-87.382	38.0409	8205
+-86.7051	38.1074	7449
+-80.5153	27.469	8031
+-117.3781	45.3508	8016
+-110.779	31.9519	8847
+-88.5361	39.0066	8288
+-90.9304	39.9338	8019
+-115.8286	31.2458	7589
+-109.4241	26.9214	4327
+-114.2355	32.2464	6641
+-126.9633	45.8685	4982
+-116.7756	36.698	6689
+-117.2986	35.0882	8496
+-114.0218	33.4945	6382
+-86.2259	34.4385	5204
+-123.8489	47.0191	8562
+-120.5793	48.7074	6419
+-110.1502	33.1771	7735
+-112.0311	28.8449	5983
+-118.6956	34.8379	7800
+-89.7592	35.3179	6954
+-90.2665	39.4033	8709
+-92.156	39.0296	7490
+-81.7982	27.2193	9166
+-89.7555	39.7184	8180
+-87.2004	36.0621	7299
+-120.4641	49.4493	5785
+-109.0066	31.3951	8022
+-118.7344	44.3548	7351
+-114.1756	32.9497	6636
+-121.2277	46.7831	7758
+-119.2957	49.404	5601
+-108.2441	31.967	7172
+-117.7052	32.551	8877
+-124.2519	46.6203	8073
+-91.1875	38.1251	8327
+-84.8179	29.8354	6058
+-117.2528	32.2027	8997
+-117.0387	33.9394	9211
+-118.5638	35.2097	7699
+-122.1728	46.4102	8600
+-90.3232	39.6001	8506
+-121.5349	47.9819	7737
+-82.7979	29.184	8121
+-89.2669	36.5068	8398
+-118.3475	31.6627	7746
+-80.2102	26.3711	7204
+-91.0681	38.48	8631
+-115.8079	34.0453	7944
+-121.4479	35.1411	4846
+-125.0685	44.5386	6030
+-93.7524	37.5668	5576
+-117.8382	49.1447	6002
+-105.974	32.805	4569
+-118.3976	32.2852	8050
+-86.8864	38.5933	7462
+-123.0255	46.1506	8699
+-91.7701	36.3951	6479
+-82.471	26.1126	7983
+-126.3485	48.0712	5628
+-114.6284	46.6719	5343
+-115.735	46.7116	6485
+-113.9128	30.3446	5370
+-115.6177	31.723	7816
+-115.8598	42.0356	4249
+-118.7844	49.33	5799
+-115.1904	33.8975	7434
+-108.3345	34.5825	5569
+-107.9526	32.5214	6701
+-118.2991	36.828	6390
+-122.2679	45.0119	7349
+-115.2656	32.7654	7855
+-89.507	40.1718	7624
+-123.6602	49.4873	6714
+-122.257	47.2583	8830
+-83.4034	27.596	8443
+-115.491	44.8518	6021
+-92.2156	41.9172	5480
+-116.7344	31.6698	8448
+-88.2484	41.8487	5368
+-88.3587	35.1164	6917
+-116.486	48.8716	5762
+-116.1078	34.8366	8059
+-110.9909	35.1623	5531
+-121.7479	49.809	6237
+-119.2852	46.6968	8025
+-115.8155	44.0027	5831
+-122.8427	45.9642	8503
+-112.8073	32.699	6533
+-118.9148	33.4812	7604
+-110.6765	34.4002	6399
+-118.1184	44.2003	7241
+-82.1235	27.9076	9733
+-115.5582	32.1818	8030
+-88.4928	39.1205	8154
+-81.2703	29.0463	8146
+-113.7687	36.6643	4828
+-115.3854	34.5339	7440
+-114.8613	34.2951	6908
+-109.9691	34.4004	6396
+-86.2239	40.1978	5787
+-118.9176	47.9799	7159
+-119.9983	46.2735	7435
+-90.7604	40.0867	7927
+-115.4165	32.9163	8020
+-119.0426	34.1294	7601
+-115.9344	35.4605	7487
+-119.3149	34.0067	7299
+-82.6933	29.1327	8222
+-118.0469	31.2132	7596
+-116.7732	45.283	7442
+-91.5318	42.4085	5291
+-87.6227	34.6173	6160
+-123.5248	44.2439	6537
+-124.62	46.1786	7528
+-114.8715	44.6491	5334
+-118.5527	35.4718	7513
+-82.4898	28.8912	8558
+-122.4593	45.5865	8015
+-115.78	34.5591	7851
+-122.4046	45.8457	8260
+-117.1874	45.9307	8086
+-115.6465	29.7209	5999
+-119.4982	30.9446	6241
+-111.4184	33.8028	6797
+-91.5125	39.6351	7878
+-88.0867	39.5549	7562
+-107.8119	33.8783	5780
+-124.3457	47.9259	7700
+-109.5103	32.9462	7749
+-122.1519	44.8108	7099
+-118.907	47.3919	7741
+-84.8174	29.5384	6254
+-108.0484	31.4263	6992
+-90.3658	37.4082	7978
+-88.8456	45.484	1979
+-115.0507	29.9891	5943
+-117.139	49.3871	5574
+-116.4207	32.612	9103
+-82.2261	30.764	6500
+-117.7649	47.0488	8115
+-89.3705	40.5899	7161
+-92.2093	35.662	5558
+-80.4201	27.0433	7789
+-118.1019	30.8252	7196
+-122.1236	43.958	6193
+-88.2648	37.0805	8950
+-89.2847	37.7711	9222
+-89.4325	36.3624	8172
+-112.385	29.8342	6552
+-90.7103	40.1084	7918
+-89.9798	41.0396	6919
+-113.937	32.802	6374
+-82.0427	31.9797	5125
+-114.2581	33.1597	6708
+-123.1806	45.419	7878
+-82.2566	27.8323	9734
+-79.9408	28.1654	7371
+-116.9625	46.1181	7862
+-120.6978	47.0646	7184
+-80.37	26.2202	7239
+-116.1598	32.9188	8846
+-89.4044	38.1556	8913
+-83.5833	25.4386	6790
+-94.7373	36.8738	4314
+-87.9285	37.1153	8689
+-88.4819	36.5166	8486
+-78.6172	28.0408	5902
+-124.9208	46.5713	7344
+-88.2801	35.402	7216
+-94.7574	37.3046	4459
+-125.0377	47.6428	7143
+-90.0167	40.1122	7904
+-118.2082	45.2555	8363
+-119.8365	43.1851	5762
+-112.353	29.1903	6081
+-107.7613	33.1163	6229
+-79.4051	28.0958	6783
+-88.2097	36.6343	8499
+-116.4984	33.6699	8559
+-112.7244	35.2412	4739
+-118.0809	48.3195	6900
+-124.2702	49.1445	6779
+-110.3316	30.2544	8034
+-124.7996	46.9928	7519
+-123.4831	45.7815	8155
+-119.6599	32.6372	6742
+-110.6951	34.8147	5951
+-117.6412	31.7852	8378
+-117.9435	32.4915	8604
+-115.224	29.5685	5642
+-87.6748	39.9501	6973
+-117.5146	33.1197	9054
+-114.6704	34.4895	6679
+-91.6175	41.1467	6519
+-112.1929	31.7081	7454
+-117.0932	31.0883	7820
+-121.8147	34.5127	4560
+-117.6892	47.0763	8050
+-117.768	45.916	8681
+-84.0437	30.7042	5928
+-86.227	35.5444	6101
+-120.5875	34.7746	5848
+-82.7946	27.8823	9133
+-80.7945	27.2383	8264
+-117.9494	42.8279	5777
+-109.5235	30.056	7601
+-115.3471	35.5743	6920
+-122.6703	48.5547	7843
+-118.1146	32.4953	8423
+-123.2912	46.5032	8940
+-88.4875	43.6482	3763
+-90.8467	36.9658	7437
+-114.4114	37.8122	4458
+-115.3153	33.8575	7576
+-117.0076	33.9811	9210
+-117.548	35.3428	8183
+-81.9006	29.7413	7643
+-108.0173	28.8487	5591
+-112.0437	34.1249	6154
+-125.4814	49.4495	5671
+-118.1586	31.4492	7729
+-126.2544	45.5327	5598
+-85.6804	38.6435	6181
+-92.7585	38.3572	6830
+-117.391	31.0075	7680
+-88.6786	37.9414	9491
+-85.9189	37.7843	6616
+-82.7586	27.2957	9007
+-123.2683	46.454	8913
+-119.4335	33.6818	7123
+-112.2855	32.7415	7014
+-122.3469	48.7181	7588
+-108.7216	28.2534	5465
+-117.7029	35.8998	7553
+-88.6583	38.0784	9336
+-90.598	37.5308	8090
+-118.2469	32.8833	8323
+-108.1769	31.6074	7137
+-91.2067	41.7233	6099
+-116.1586	34.3033	8315
+-119.2517	46.9095	7924
+-88.2859	37.0867	8970
+-108.8401	32.2353	7708
+-91.2615	38.2923	8357
+-115.0265	37.8051	4846
+-119.2217	34.2092	7404
+-90.4476	39.0334	9111
+-114.1198	35.3905	5842
+-94.3135	37.6642	5030
+-117.0614	36.943	6465
+-117.1904	33.1698	9286
+-84.6476	28.8753	6784
+-115.884	35.573	7361
+-119.5304	44.7371	7304
+-87.101	41.5287	5093
+-91.2313	39.8974	7887
+-82.1532	29.3745	8073
+-81.0689	30.2395	6847
+-116.5843	31.7409	8479
+-84.6283	39.3857	4785
+-94.4787	38.9949	5002
+-84.9138	29.9886	5866
+-88.7239	34.461	6217
+-116.9199	32.6306	9539
+-82.0598	29.3085	8146
+-119.7261	36.206	6029
+-108.2103	32.9712	6725
+-92.3072	38.0953	7234
+-90.7974	36.4817	6939
+-83.0632	26.4212	8042
+-111.2732	30.397	7834
+-80.7364	24.9621	6348
+-81.2876	27.0264	8621
+-123.1493	45.7268	8217
+-112.7203	29.4262	5988
+-89.3354	38.8792	8286
+-109.0491	34.0874	6425
+-119.2115	33.6764	7359
+-88.7053	37.8139	9635
+-79.2685	31.6232	4457
+-111.4502	30.023	7395
+-121.1444	35.1561	5163
+-84.767	26.6833	6671
+-117.808	35.3469	8088
+-121.0827	34.0848	5375
+-116.8423	33.9517	9034
+-89.3589	39.4046	8114
+-110.7421	33.1069	7764
+-121.2355	47.2664	7748
+-116.6219	43.5044	5997
+-90.9346	40.3936	7556
+-120.0597	47.4067	6925
+-123.3682	45.6885	8111
+-112.1303	30.7311	7319
+-120.4123	44.2727	6289
+-75.7032	27.3945	2605
+-112.5189	30.3951	6778
+-119.6532	32.8559	6756
+-114.4073	32.0366	6769
+-92.4247	38.2457	7158
+-125.8704	47.7836	6222
+-80.9438	26.8001	8158
+-123.7788	45.2718	7509
+-116.8059	37.6308	5690
+-122.5852	45.6515	8121
+-116.8422	46.7093	7604
+-89.6219	37.5643	8848
+-80.634	32.3948	4388
+-119.0945	33.143	7270
+-116.7825	32.0694	8894
+-111.1736	28.9534	6482
+-87.9816	38.0894	8814
+-90.2468	41.388	6577
+-114.5713	32.9683	7076
+-115.8242	46.6302	6596
+-114.528	28.6555	4373
+-118.1518	34.9387	8232
+-124.0711	47.6966	8090
+-117.3634	32.4487	9149
+-119.2492	34.4636	7345
+-115.4743	35.0049	7364
+-85.0756	29.9943	5717
+-119.8069	35.0566	6590
+-114.5182	46.3343	5265
+-109.0277	32.3266	7846
+-123.3606	44.7796	7151
+-119.7208	35.2626	6591
+-110.0185	31.4156	9087
+-90.4516	38.2907	8924
+-120.0183	48.6735	5973
+-119.1483	37.1533	5656
+-123.0912	46.6973	9243
+-117.4939	30.0827	6647
+-116.6551	48.403	6273
+-87.345	39.9175	6826
+-108.1999	30.7842	7005
+-114.3611	36.5664	5404
+-89.4262	36.9523	8724
+-116.9096	34.3365	9090
+-126.1123	48.7416	5574
+-114.6733	34.9429	6574
+-110.115	31.6536	9225
+-107.9904	27.8346	4684
+-86.9425	38.2359	7670
+-113.7445	31.4373	5774
+-114.6593	34.1566	6694
+-86.4008	37.3645	7138
+-87.8739	41.6149	5319
+-89.5438	39.5646	8164
+-113.8496	32.898	6275
+-79.503	28.3926	6833
+-82.0782	26.7565	8748
+-112.698	32.4042	6762
+-115.3907	36.9242	5870
+-116.4782	37.5166	5748
+-92.1915	38.5725	7466
+-108.9375	29.1354	6421
+-120.1284	44.0157	6312
+-77.1027	29.7332	3782
+-90.3841	38.7854	9386
+-116.2462	45.5359	7022
+-109.9367	31.2376	8904
+-84.1053	42.372	2380
+-116.426	44.6706	6778
+-116.3575	30.4307	7006
+-92.856	40.6706	6050
+-89.3076	39.109	8202
+-83.5261	24.1838	5543
+-121.1698	33.3804	5202
+-120.4996	32.8501	5744
+-88.1001	38.5482	8574
+-113.662	35.209	5435
+-117.9229	35.6859	7699
+-83.3798	27.3912	8420
+-122.9727	49.3905	6942
+-115.0153	33.5916	7411
+-122.2486	47.87	8383
+-116.6213	35.1506	8224
+-122.1655	42.7199	4871
+-123.8844	43.6633	5819
+-125.343	47.8358	6757
+-124.236	46.6029	8085
+-88.6289	39.1311	8163
+-82.7414	26.9062	8701
+-82.5559	25.1253	6866
+-90.685	39.0858	8938
+-77.4614	29.7577	4147
+-115.7541	40.0038	2925
+-117.1747	31.5412	8311
+-109.051	32.1498	7955
+-116.821	32.747	9573
+-91.6077	35.0998	5518
+-84.436	30.5628	5794
+-80.688	27.6765	8254
+-118.4858	31.7054	7653
+-111.9242	33.4823	6789
+-87.9811	36.5724	8304
+-82.4581	30.2242	7088
+-110.5298	30.0539	7803
+-117.8192	31.8973	8354
+-116.4137	34.3019	8589
+-117.7403	45.2769	8216
+-85.7189	40.642	5034
+-116.9776	35.6822	7819
+-118.0113	32.8667	8586
+-87.2581	33.0926	4409
+-85.128	27.2777	6460
+-83.6115	26.8474	7923
+-114.088	34.8182	5991
+-113.5959	34.3277	5528
+-84.3697	26.8293	7149
+-80.9682	28.353	8417
+-126.5205	46.5041	5596
+-119.2469	46.2472	8228
+-115.9573	44.3938	6205
+-117.1593	44.6608	7327
+-85.6269	38.3143	6216
+-119.2834	36.6638	6008
+-83.3703	28.6645	8163
+-115.813	47.2359	6381
+-116.9376	33.5106	8978
+-120.6087	32.8765	5643
+-92.4351	38.2488	7148
+-123.6521	47.3118	8697
+-118.0092	31.1258	7537
+-120.8356	43.1325	5115
+-89.1917	40.3256	7295
+-88.1489	41.6333	5493
+-113.2263	29.806	5795
+-85.7398	30.3796	4854
+-83.084	27.4596	8762
+-108.6961	30.426	7301
+-120.4238	32.517	5882
+-89.9426	36.1825	7690
+-88.264	31.7975	3203
+-88.1326	39.1731	7980
+-114.7526	31.8545	7060
+-112.5679	29.7394	6335
+-119.2694	48.9522	6064
+-111.6873	31.9915	7941
+-117.0507	33.2757	9232
+-90.1832	36.2275	7549
+-114.7415	34.7333	6707
+-90.3752	43.1387	4694
+-85.305	24.2736	4555
+-115.6455	34.3824	7749
+-82.1376	29.302	8155
+-89.6965	37.3038	8695
+-85.2635	36.9785	5808
+-115.6514	38.1446	4821
+-116.2709	34.0339	8446
+-121.3383	46.771	7877
+-108.3953	31.352	7359
+-89.9226	40.691	7274
+-122.7998	47.4317	9083
+-114.7217	48.1269	4920
+-81.628	27.2528	9077
+-87.943	40.4415	6565
+-113.3266	30.1941	5898
+-89.5609	40.9898	6853
+-120.4622	43.1055	5338
+-117.1434	35.6657	7861
+-94.3388	40.8852	4580
+-89.0985	38.3715	8940
+-89.9129	36.2251	7748
+-88.8022	42.6374	4901
+-116.2467	34.2303	8420
+-84.8225	38.3854	5315
+-82.5073	26.9307	8856
+-124.9683	44.8798	6378
+-120.1927	43.8424	6129
+-117.8884	32.3813	8616
+-84.9224	35.7154	4976
+-118.692	31.8858	7566
+-89.5029	36.2894	8063
+-109.4111	29.7965	7295
+-86.9966	36.7639	7585
+-76.7586	29.1024	3627
+-122.3153	45.8006	8173
+-91.7355	37.373	7344
+-117.201	34.7194	8895
+-118.0913	34.2515	8629
+-116.5475	35.9157	7441
+-118.5189	32.115	7853
+-86.7497	24.1214	3238
+-85.5684	35.8556	5690
+-109.8408	30.9206	8579
+-110.6555	32.4947	8426
+-78.9048	27.5349	6230
+-107.766	32.1839	6617
+-119.1603	35.6284	6906
+-109.6264	30.6227	8181
+-116.7382	30.1479	6765
+-117.1509	35.2295	8335
+-78.3795	28.4684	5572
+-93.921	37.5944	5413
+-119.0609	46.3904	8381
+-80.3613	24.6703	5856
+-119.4733	45.203	7682
+-117.007	33.0782	9458
+-90.9668	34.8493	5803
+-85.8139	35.4534	5673
+-91.7217	42.9587	4664
+-116.6094	49.9452	4819
+-117.6437	34.7182	8779
+-117.3286	34.8908	8709
+-117.0379	44.7205	7292
+-125.3741	49.2188	5931
+-82.2311	27.9189	9688
+-81.3904	26.3714	8104
+-123.4218	45.8825	8284
+-112.2966	31.0849	7279
+-112.1282	28.6463	5744
+-89.6851	39.979	7901
+-89.6702	41.3879	6479
+-115.2448	46.1909	6041
+-120.6922	45.2458	6554
+-109.9142	35.1836	5546
+-121.8618	49.5739	6523
+-121.4636	48.3268	7433
+-116.2679	32.4352	8865
+-114.4566	36.5481	5496
+-106.3874	32.3742	5113
+-116.8559	35.4555	8028
+-117.3931	33.0855	9190
+-88.3028	34.9598	6733
+-125.4807	48.467	6327
+-118.3379	48.4083	6815
+-78.6819	27.7748	5988
+-113.8824	36.0593	5290
+-121.2525	43.7997	5684
+-88.9038	37.365	9444
+-93.1789	39.2824	6357
+-121.3259	49.2776	6534
+-118.4609	32.2426	7967
+-118.8799	43.236	6162
+-84.4187	38.6516	4811
+-91.2287	38.6408	8506
+-116.865	47.6886	7005
+-118.0524	46.4687	8800
+-110.5078	32.5473	8412
+-109.3396	31.3768	8374
+-90.8169	37.738	8238
+-92.1684	38.4599	7475
+-90.0435	37.4173	8355
+-90.1225	41.4215	6531
+-88.3927	39.0603	8195
+-93.119	36.7264	5757
+-120.2464	34.7854	6210
+-108.1843	32.8094	6793
+-114.3564	31.6927	6583
+-117.2063	32.2708	9088
+-119.2845	45.6042	8077
+-116.0843	32.2632	8591
+-82.3218	26.8531	8837
+-116.6611	33.9436	8846
+-117.6008	47.8708	7251
+-82.0647	27.2832	9340
+-124.9058	46.7085	7384
+-123.5396	46.3083	8598
+-91.1027	36.2936	6666
+-88.9219	35.9891	7925
+-108.0184	33.1471	6447
+-110.6123	32.0001	8930
+-116.5928	29.9228	6498
+-120.8391	48.0556	7045
+-113.8275	31.9927	6133
+-118.2498	32.2425	8185
+-88.9141	37.3756	9449
+-124.8513	45.8804	7153
+-125.8341	47.6149	6305
+-116.0772	35.0463	7902
+-114.5015	32.8776	7002
+-121.7984	48.2814	7722
+-119.1221	49.6105	5438
+-92.4216	37.8675	7030
+-117.574	35.6245	7877
+-123.7922	45.6398	7850
+-120.876	34.204	5600
+-111.1711	33.6109	7097
+-87.652	41.0942	5545
+-116.8211	34.5712	8856
+-89.9772	36.9965	8262
+-115.8748	38.0213	5033
+-123.0512	47.6531	8834
+-110.2391	30.9913	8824
+-90.7944	36.0957	6936
+-117.4614	31.0878	7747
+-123.9115	48.9415	7168
+-83.9927	28.8668	7448
+-120.82	44.3558	6000
+-125.0638	48.7143	6550
+-120.7764	47.0928	7269
+-90.4408	39.0012	9147
+-118.6546	31.3084	7228
+-83.3819	28.9991	7908
+-114.5499	33.9877	6757
+-108.7496	29.9382	6999
+-106.911	30.9939	5711
+-112.1065	35.6736	4643
+-89.2177	37.6674	9309
+-123.9521	45.0702	7224
+-86.7038	37.0654	7403
+-90.8744	37.3832	7859
+-119.6721	44.1717	6744
+-117.1292	30.6145	7290
+-82.2331	26.5259	8484
+-122.494	48.3368	8036
+-115.8443	46.3104	6668
+-119.2723	35.6747	6779
+-114.5423	32.1396	6945
+-116.8027	29.8766	6468
+-91.7179	42.0621	5576
+-117.319	30.6232	7275
+-118.4396	28.434	4596
+-81.7281	27.9523	9388
+-110.4814	32.7561	8193
+-90.853	36.5899	7042
+-82.467	30.9795	6238
+-92.5883	38.982	7035
+-119.1765	34.0114	7450
+-86.8567	25.412	3921
+-109.9071	32.7332	8145
+-119.3247	46.3091	8136
+-120.0407	45.1374	7138
+-113.9806	37.8517	4125
+-115.0956	34.3933	7153
+-117.9747	28.8778	5218
+-116.6399	34.6044	8683
+-81.9054	28.3493	9185
+-118.3085	30.2926	6564
+-91.4821	40.9433	6780
+-114.0407	32.657	6484
+-122.8974	46.1511	8710
+-113.6637	28.5405	4586
+-109.7709	30.7451	8380
+-112.5894	35.3175	4747
+-117.7909	35.4928	7948
+-121.3238	47.6642	7713
+-124.4395	47.1372	7904
+-113.5012	32.6047	5867
+-113.7575	30.5426	5596
+-118.7402	35.2728	7506
+-117.5189	43.8553	6749
+-83.8388	31.5405	5207
+-119.2617	45.3287	7941
+-115.4418	34.9397	7362
+-116.1385	32.4942	8762
+-115.3166	32.1509	7768
+-85.7597	38.3466	6354
+-112.5416	33.0945	6574
+-118.9095	31.9883	7397
+-117.3935	33.9708	9313
+-117.6158	48.8957	6216
+-117.7353	34.3199	8988
+-118.0539	31.0392	7429
+-82.8871	26.2347	7961
+-123.0293	45.4623	7947
+-116.0224	44.6715	6428
+-86.496	37.126	7195
+-120.3189	43.3168	5609
+-88.9936	38.1703	9194
+-87.4929	39.3758	7422
+-117.1313	35.4427	8102
+-116.8576	47.1459	7388
+-114.9975	30.3456	6229
+-118.8185	43.8105	6770
+-86.4857	39.1816	6741
+-107.0934	30.6144	5810
+-116.9796	37.7991	5527
+-119.443	33.7376	7125
+-120.5816	45.8841	6816
+-124.1238	48.1007	7773
+-90.9025	35.3158	6250
+-115.2578	32.1877	7722
+-119.4717	45.152	7651
+-113.6368	31.0466	5847
+-117.0537	47.7514	7080
+-118.8495	49.945	5144
+-124.3211	46.4257	7936
+-81.076	29.8807	7218
+-110.5305	32.5215	8435
+-117.6291	43.8225	6751
+-80.217	27.8912	7720
+-111.7065	34.3728	6105
+-89.3722	38.288	8841
+-116.6193	35.3755	8010
+-117.2539	35.9043	7606
+-92.3299	35.5678	5404
+-90.7535	39.4254	8594
+-120.7912	46.319	7183
+-113.1968	31.5794	6371
+-87.3927	38.1346	8186
+-123.3766	48.6586	7675
+-85.9207	44.5205	1562
+-116.7056	30.6066	7271
+-118.9993	47.7137	7391
+-89.3705	40.4233	7316
+-115.7343	45.7437	6535
+-116.6776	38.56	4667
+-117.3862	44.6361	7442
+-118.6417	32.3384	7810
+-115.5728	29.5865	5829
+-117.2659	34.4377	9206
+-124.1839	41.5726	3515
+-117.9035	49.6053	5526
+-80.3527	27.5008	7856
+-119.3013	45.6755	8092
+-91.063	40.3111	7589
+-118.2184	31.979	8073
+-85.7917	35.26	5520
+-88.6387	41.2657	6125
+-110.2268	31.3157	9161
+-90.0185	40.0601	7959
+-110.2595	32.9106	8033
+-90.1715	35.8565	7244
+-85.1483	36.576	5573
+-111.1587	30.9512	8347
+-116.0945	35.4262	7634
+-117.7539	37.733	5575
+-120.2187	45.6486	7156
+-116.7441	30.81	7501
+-115.0522	39.6644	3039
+-81.9859	28.9655	8526
+-90.5862	39.7992	8273
+-81.2026	29.5756	7591
+-80.1768	27.6013	7671
+-109.5096	33.8535	6857
+-118.3355	36.7562	6448
+-108.623	30.6857	7381
+-121.4752	47.154	8027
+-123.6644	44.5286	6799
+-118.6818	37.23	5824
+-91.1575	37.8184	8119
+-118.474	47.7538	7497
+-83.7529	27.4324	8022
+-91.2575	39.9669	7809
+-78.9022	27.4576	6220
+-117.3929	33.2872	9045
+-110.0686	28.8565	6505
+-114.5404	33.2071	7012
+-109.0255	29.9763	7229
+-90.8982	38.5728	8837
+-112.9142	34.431	5310
+-81.1769	27.2335	8654
+-118.0075	30.5607	6982
+-113.2029	33.1736	5919
+-120.9016	47.6057	7301
+-90.332	37.0024	7907
+-114.8274	46.3016	5594
+-121.0598	46.969	7584
+-116.8584	35.2751	8215
+-116.7424	46.7816	7476
+-89.2493	36.9265	8824
+-118.5281	33.2279	7844
+-121.4597	47.6355	7861
+-109.9984	30.734	8484
+-119.4387	45.7181	7972
+-89.0036	36.3385	8301
+-116.5397	34.8296	8440
+-126.6633	49.9266	4346
+-79.0666	31.6599	4285
+-116.8918	31.2285	7980
+-115.291	41.6014	3538
+-114.3361	33.4277	6741
+-111.5119	33.1829	7321
+-114.82	33.3403	7288
+-89.9853	38.7749	8995
+-92.4061	39.3783	7141
+-90.7139	37.2288	7746
+-79.7795	26.9436	7071
+-109.4501	32.9145	7743
+-109.642	32.0826	8550
+-89.2514	39.2157	8105
+-87.5782	38.2181	8344
+-89.7088	34.176	5757
+-119.0376	43.4864	6380
+-82.6356	29.1955	8179
+-90.1034	41.7723	6153
+-124.0414	47.3453	8285
+-119.0375	34.7857	7479
+-114.0986	33.4603	6474
+-92.5879	38.9466	7039
+-116.4337	44.0134	6307
+-88.3861	38.6116	8671
+-110.6857	32.4535	8456
+-114.3932	32.7433	6881
+-85.2378	37.4016	5843
+-121.1622	47.7553	7510
+-122.0291	48.3583	7802
+-115.008	30.2966	6193
+-82.8527	30.5388	6652
+-91.9469	36.2516	6248
+-117.234	27.6564	3989
+-107.6779	36.3273	3583
+-89.2318	38.0809	9115
+-116.5489	33.6342	8584
+-120.6674	44.8237	6397
+-118.1832	33.9054	8508
+-118.8646	45.3748	8276
+-82.052	29.1812	8289
+-113.4559	34.1631	5559
+-120.6138	32.6979	5565
+-89.2919	34.9709	6733
+-109.2032	29.0842	6502
+-118.9011	47.8912	7254
+-108.5608	31.4121	7544
+-80.0012	30.3185	6130
+-110.7639	32.2039	8655
+-118.8367	33.8087	7789
+-123.0961	45.9176	8434
+-121.9138	33.9392	4464
+-119.193	46.7252	8092
+-90.9868	37.4162	7846
+-117.7635	38.2391	5027
+-117.4777	45.9102	8384
+-116.0327	32.4821	8646
+-88.6503	37.2595	9341
+-116.457	35.4582	7844
+-88.508	37.1848	9202
+-80.339	27.0367	7701
+-90.5007	40.2893	7760
+-91.5574	39.0942	8106
+-120.3117	47.6939	6528
+-90.714	37.8819	8423
+-82.422	27.2712	9244
+-124.3371	49.5828	6327
+-123.7441	45.9817	8181
+-82.5577	25.1144	6854
+-118.1826	29.458	5769
+-109.3748	32.3002	8177
+-92.8952	35.9687	5385
+-117.7935	44.2761	7261
+-92.3563	36.5067	6204
+-88.7669	38.0043	9435
+-120.1352	34.529	6379
+-108.9417	28.1112	5421
+-88.42	38.6953	8596
+-118.774	48.8082	6346
+-89.9322	37.9335	8419
+-116.8749	33.3768	9120
+-89.2323	39.574	7899
+-118.068	32.0639	8265
+-124.1766	49.6244	6367
+-124.0301	45.4592	7536
+-90.3493	36.0102	7244
+-88.8807	38.5756	8786
+-111.5877	31.6175	8114
+-110.5978	32.6529	8280
+-124.7978	47.7568	7348
+-112.1784	32.694	7140
+-122.2754	44.4334	6740
+-117.7429	32.7818	8886
+-85.8921	38.2973	6512
+-82.9455	28.2682	8812
+-107.073	34.986	4368
+-90.2263	41.1176	6867
+-122.0989	42.433	4548
+-111.4476	32.143	8123
+-93.4341	39.7404	5967
+-118.4518	35.4016	7644
+-88.791	34.5648	6334
+-113.6528	32.6331	6051
+-116.7242	34.7464	8645
+-87.2541	37.8141	8109
+-81.0658	24.4546	5956
+-92.9321	41.0076	5755
+-111.2634	31.7871	8442
+-114.5052	35.4587	6197
+-90.3769	40.2519	7806
+-120.5951	46.8344	7070
+-78.9291	25.5998	5516
+-89.4382	41.3999	6392
+-124.2757	47.9328	7759
+-116.2486	30.9484	7520
+-91.0396	35.5077	6297
+-85.2584	39.1002	5561
+-116.2044	34.5184	8305
+-117.3175	49.2265	5795
+-118.5857	48.2854	6924
+-78.304	29.7808	4997
+-116.6158	28.7502	5200
+-79.0576	27.346	6380
+-119.1693	32.9132	7294
+-79.6472	32.6657	3677
+-121.6896	47.8988	7928
+-118.2589	47.4096	7873
+-117.5419	29.6272	6138
+-123.408	47.2954	8941
+-78.9195	25.3608	5351
+-88.0368	39.9857	7085
+-88.6099	38.4594	8907
+-116.3644	36.0642	7213
+-79.9922	27.6372	7466
+-120.54	36.5571	5095
+-91.5392	36.0431	6252
+-120.3627	46.207	7055
+-87.1387	42.0542	4433
+-110.1459	29.3557	7052
+-88.3177	38.4575	8794
+-120.8974	36.0242	5072
+-89.5694	41.6282	6200
+-122.8591	47.4111	9116
+-79.354	29.2749	6315
+-88.3381	36.4271	8344
+-82.0595	27.4601	9536
+-114.6575	47.4685	5156
+-77.8849	24.6309	3918
+-121.6281	44.8712	6913
+-76.1468	27.1979	3089
+-84.6716	32.129	4182
+-111.4288	36.5158	3999
+-117.9524	44.7648	7804
+-116.9285	47.6833	7054
+-118.0755	34.3762	8617
+-116.2582	30.8592	7431
+-106.1058	34.6067	3842
+-113.802	30.4341	5515
+-116.7268	33.5873	8700
+-84.588	25.8559	6373
+-108.8297	29.8828	7014
+-113.9549	34.915	5826
+-93.039	38.0062	6452
+-89.6654	36.8324	8439
+-90.231	35.7889	7143
+-121.9167	49.4382	6684
+-114.1413	44.6081	4598
+-123.1759	45.045	7473
+-121.7895	43.8487	5970
+-88.3548	36.2853	8198
+-120.9576	43.7828	5513
+-113.4564	30.7843	5981
+-91.1837	39.7134	8074
+-79.5817	26.1614	6482
+-124.3327	47.2147	8009
+-117.5253	45.4946	8233
+-126.5634	48.2672	5335
+-117.4944	34.853	8714
+-81.413	30.3306	6879
+-111.8275	31.2528	7816
+-118.1024	34.6604	8460
+-117.0974	35.3015	8250
+-116.0425	34.3436	8183
+-91.2173	37.4696	7777
+-121.5144	45.3613	7276
+-91.2304	38.5512	8486
+-119.0813	32.1206	7270
+-106.4844	30.0175	4972
+-119.0236	33.3838	7454
+-117.2646	44.1014	6885
+-87.9662	36.9027	8574
+-113.2492	29.0807	5310
+-92.885	34.0848	3719
+-87.1935	36.9375	7869
+-85.7928	39.1405	6089
+-86.9804	36.7304	7552
+-83.078	24.4324	5972
+-90.5547	37.7022	8280
+-117.5372	41.6491	4481
+-121.0962	45.1636	6804
+-90.2917	36.095	7357
+-82.1731	28.8191	8701
+-117.9013	31.2175	7687
+-113.9956	35.0105	5844
+-124.1455	46.7059	8208
+-89.1684	38.5911	8683
+-117.1905	32.8747	9495
+-116.2469	45.5855	7036
+-116.422	35.4707	7813
+-79.0936	24.7283	5030
+-84.6347	24.9485	5629
+-112.2703	34.4432	5731
+-115.2501	34.3211	7329
+-118.4201	35.1482	7862
+-78.9399	31.4253	4398
+-108.7137	28.2538	5462
+-117.3548	34.6959	8917
+-89.5833	37.1563	8735
+-118.7937	48.5413	6619
+-116.3996	36.5385	6749
+-116.6919	33.2888	9144
+-85.7275	41.5429	4285
+-122.7282	47.4269	9066
+-121.5483	45.9725	7763
+-117.9566	48.9644	6207
+-88.2004	41.4959	5644
+-82.5976	26.7268	8604
+-114.8782	36.8546	5588
+-114.1325	31.7582	6378
+-87.8083	36.4755	8100
+-122.3073	44.5527	6875
+-116.7072	43.5919	6123
+-85.9589	40.1133	5634
+-116.5809	35.4596	7909
+-117.4213	47.1367	7833
+-88.3491	39.9453	7214
+-108.2302	31.3718	7183
+-110.399	32.9134	8031
+-108.3252	31.1973	7258
+-112.8213	31.3414	6765
+-81.3347	26.6394	8330
+-120.559	33.8276	5931
+-85.7974	28.6881	5618
+-117.4645	33.94	9236
+-124.4499	49.3428	6489
+-122.928	42.3244	4506
+-88.9844	39.3265	7794
+-119.5326	43.4755	6182
+-119.0114	35.1653	7327
+-88.871	40.5993	6849
+-89.2354	39.289	8057
+-83.4258	28.6711	8108
+-114.1751	32.047	6523
+-117.3451	32.1775	8924
+-118.9458	49.1367	5969
+-83.5946	27.338	8170
+-91.661	36.3488	6493
+-92.508	40.2749	6606
+-111.6455	30.807	7822
+-117.8484	44.1682	7163
+-89.5754	43.0039	4757
+-116.7394	30.1014	6714
+-84.4047	40.7472	3820
+-78.0992	26.4393	5088
+-117.5911	47.3043	7789
+-79.4268	26.574	6546
+-119.4275	47.1285	7631
+-111.2479	29.4687	6977
+-118.1591	32.8887	8420
+-113.2355	31.5572	6329
+-80.5021	26.134	7281
+-81.344	30.2514	6943
+-94.4529	38.1161	4985
+-117.5827	32.6836	9050
+-114.2276	36.4336	5380
+-120.1439	44.3265	6538
+-85.5127	39.9203	5372
+-115.6241	32.6474	8244
+-124.5983	46.2548	7583
+-117.2495	31.4966	8247
+-89.2827	35.9421	7795
+-120.8269	45.6952	6934
+-121.8191	32.8437	4377
+-109.6839	32.0831	8586
+-117.2368	47.0726	7747
+-114.7277	33.3931	7174
+-121.9437	38.2076	2772
+-85.4429	35.6504	5452
+-117.8042	46.9442	8233
+-89.7454	34.8858	6506
+-114.2039	32.9711	6667
+-116.2294	33.2977	8771
+-120.1275	46.2929	7297
+-116.0379	36.5025	6627
+-77.9838	28.5635	5112
+-81.0577	27.8395	8673
+-111.4568	30.408	7712
+-89.5413	38.5558	8493
+-89.5798	42.6536	5129
+-121.2709	47.7083	7640
+-117.5023	33.3048	8944
+-85.0692	24.0049	4494
+-114.6028	48.6774	4502
+-109.5641	34.5839	6117
+-119.6693	45.2852	7558
+-91.3455	37.252	7505
+-92.791	38.1532	6751
+-119.5673	34.999	6856
+-90.6563	40.0854	7955
+-116.2244	32.8151	8925
+-120.6331	48.1275	6808
+-119.7883	48.3399	6403
+-90.6819	38.1437	8696
+-117.4999	35.0673	8488
+-107.9505	31.1872	6856
+-80.20	26.3535	7183
+-108.0243	28.997	5717
+-90.73	40.573	7424
+-83.2477	30.5399	6511
+-117.8007	32.80	8822
+-114.9865	33.0683	7526
+-86.5781	36.0996	6794
+-110.0005	31.5069	9104
+-89.3832	36.8663	8682
+-91.2388	37.2401	7554
+-117.6025	47.3935	7713
+-89.2795	38.1187	9047
+-117.3386	37.0722	6331
+-89.0579	38.7584	8546
+-119.7114	33.5324	6792
+-90.3744	39.9267	8156
+-117.9214	29.5655	5973
+-115.5159	33.8787	7608
+-82.7306	24.6511	6303
+-117.8208	45.9742	8753
+-91.0523	38.653	8696
+-126.4012	46.5165	5728
+-119.8482	43.4233	5977
+-123.291	45.2828	7707
+-85.7611	40.5925	5106
+-120.5018	46.3609	6895
+-89.4547	37.3659	8972
+-116.581	36.4979	6852
+-88.1247	37.6903	9094
+-82.0372	25.5837	7420
+-84.9882	36.6146	5413
+-119.9615	48.998	5714
+-108.4775	30.7683	7278
+-116.8929	35.4174	8079
+-87.9613	40.0071	7036
+-118.0334	35.2042	8101
+-119.4107	44.6862	7345
+-89.7937	41.9792	5886
+-88.9768	40.8675	6684
+-88.3571	30.3535	2267
+-108.5114	34.2644	5961
+-115.0252	30.2419	6156
+-93.6359	38.4682	5905
+-125.2256	48.5457	6518
+-121.0663	45.1198	6747
+-93.8065	39.2009	5703
+-123.5198	48.5885	7699
+-116.0503	48.5426	5756
+-82.2949	27.353	9390
+-86.3528	33.1987	4115
+-115.5698	35.8247	6924
+-119.3022	46.5797	8068
+-118.9861	49.2297	5863
+-117.6786	32.2744	8755
+-117.7588	46.0953	8705
+-87.0403	39.2768	7165
+-107.6258	32.7215	6291
+-121.3223	31.8416	4774
+-87.5695	38.1011	8385
+-89.5438	38.4544	8465
+-120.1279	28.0269	3352
+-88.12	41.9816	5172
+-120.4943	34.1673	6017
+-116.8165	42.8551	5489
+-118.963	43.5666	6483
+-115.8655	31.7179	8018
+-118.5965	49.3212	5833
+-120.4565	34.2009	6057
+-119.6828	43.9715	6563
+-91.0563	42.4862	5333
+-108.7169	32.8559	7245
+-114.0303	29.2806	4755
+-115.831	33.7515	8112
+-87.236	36.4658	7632
+-114.2506	33.2137	6691
+-121.7124	33.9425	4684
+-89.198	39.9299	7622
+-121.3607	46.3944	7802
+-116.5845	34.5198	8683
+-121.2805	47.357	7776
+-83.3352	28.2354	8433
+-83.8593	28.6768	7685
+-86.5268	37.3232	7272
+-88.1387	37.4794	9080
+-113.6945	29.5774	5233
+-91.3333	39.1952	8294
+-91.775	38.6471	7920
+-116.5244	36.9294	6382
+-108.0065	33.9672	5864
+-120.3377	32.0632	5900
+-116.0008	32.8487	8675
+-119.819	34.9441	6617
+-91.6811	37.9613	7787
+-90.2657	36.3781	7597
+-92.7449	38.2242	6817
+-119.9401	47.4668	6986
+-89.3423	38.1128	8997
+-83.4592	25.8086	7217
+-121.6442	45.0926	7128
+-120.5815	45.0597	6589
+-92.5609	38.4008	7047
+-115.2515	45.4037	5966
+-123.5345	44.0283	6304
+-87.9159	36.5555	8245
+-115.984	33.0484	8627
+-120.0383	32.7213	6325
+-87.7904	34.8465	6466
+-90.017	37.7823	8309
+-122.9417	44.5979	7003
+-122.7319	45.2924	7758
+-82.7547	30.0255	7242
+-89.8467	40.1458	7813
+-90.7739	40.998	6965
+-82.1337	25.5733	7411
+-122.924	46.2674	8838
+-112.0695	28.6468	5777
+-122.9102	48.2776	8166
+-117.0677	43.8626	6564
+-118.538	48.5408	6661
+-90.60	40.6306	7384
+-88.7151	35.3121	7172
+-89.9826	38.4982	8914
+-113.0695	30.1496	6127
+-112.4192	29.7571	6470
+-76.4956	25.5542	3041
+-113.2894	27.6765	4166
+-81.2822	27.9182	8914
+-123.0263	46.2793	8838
+-119.5938	34.6073	6947
+-114.8314	31.6319	7029
+-117.271	30.5452	7197
+-118.9604	49.1736	5927
+-85.4637	40.1418	5182
+-111.1382	33.5778	7143
+-116.6885	30.1512	6764
+-82.7207	29.6226	7690
+-122.7073	47.5544	8927
+-118.6858	30.6989	6710
+-118.9877	49.8099	5261
+-113.9682	47.3876	4491
+-87.3266	42.5035	4207
+-115.2433	31.9392	7596
+-119.4375	44.3455	7036
+-79.9506	26.5005	7038
+-111.8402	29.6646	6830
+-87.8202	36.9333	8472
+-88.8853	39.4197	7656
+-113.0105	30.2802	6248
+-84.7971	26.4162	6514
+-115.2821	34.4576	7344
+-91.1393	39.9719	7876
+-121.131	47.5434	7562
+-115.0351	29.6453	5611
+-122.9221	44.6759	7089
+-114.9551	36.175	6174
+-109.8189	34.8788	5860
+-107.1334	28.3414	4538
+-80.8964	27.2912	8393
+-116.5637	44.1567	6512
+-83.5018	27.7176	8343
+-115.0056	33.4687	7448
+-83.8587	29.2247	7337
+-123.5495	47.5112	8675
+-109.4023	27.3615	4790
+-113.2674	35.9384	4752
+-122.3573	49.2573	7020
+-123.6889	46.6384	8667
+-120.7563	45.097	6434
+-124.5729	43.8251	5696
+-110.3258	32.1986	8807
+-114.6557	35.5332	6306
+-86.1449	34.5674	5259
+-119.8037	34.9537	6629
+-116.5006	31.5741	8273
+-115.6355	46.5805	6411
+-114.8519	31.4334	6934
+-86.971	36.8686	7610
+-119.7439	35.2015	6595
+-87.2312	40.797	5901
+-86.5167	36.7128	7072
+-127.6398	43.6639	3259
+-123.9071	46.5191	8395
+-115.5797	49.2609	4855
+-119.5255	46.9622	7659
+-91.0277	36.4937	6895
+-116.1764	30.1096	6607
+-89.7479	36.4592	8069
+-113.6386	29.5685	5280
+-110.979	30.4269	8039
+-90.6908	38.9874	9006
+-117.4918	31.6488	8325
+-119.2984	35.4725	6883
+-81.7175	28.9094	8517
+-81.6963	30.9369	6272
+-114.9814	30.5957	6430
+-110.3252	32.1957	8810
+-119.4238	28.568	4279
+-113.3684	32.9404	5871
+-114.5575	36.0165	5939
+-119.6434	30.0262	5440
+-123.5474	48.3587	7919
+-83.6677	30.3928	6451
+-116.8288	41.823	4476
+-111.8839	33.3351	6939
+-91.3608	36.6569	6934
+-85.7865	38.8816	6202
+-122.3965	43.5001	5758
+-85.4148	36.1723	5696
+-123.3131	48.8548	7483
+-112.2849	32.8428	6957
+-117.4067	32.4069	9082
+-116.8342	34.1991	9061
+-119.4558	43.631	6366
+-119.2747	32.7179	7176
+-113.3613	36.3019	4665
+-127.2653	44.5992	4150
+-117.5315	32.3393	8928
+-90.5088	37.927	8527
+-112.7086	28.4498	5213
+-116.2193	31.0108	7573
+-112.3516	31.077	7219
+-81.2722	27.6227	8905
+-110.7705	33.0203	7846
+-116.5091	32.6588	9213
+-79.8493	30.8882	5516
+-115.8522	31.0638	7436
+-91.8416	40.1762	7226
+-79.923	27.9063	7387
+-115.8283	33.3129	8368
+-81.655	28.653	8753
+-92.107	38.0744	7429
+-81.7505	28.3758	9078
+-115.1376	31.8626	7452
+-88.1838	39.4511	7707
+-120.1603	34.197	6381
+-116.2749	33.8322	8407
+-80.8973	28.8197	8055
+-122.0888	43.6207	5824
+-109.8839	31.3459	8923
+-118.0155	45.9413	8931
+-116.6477	45.1354	7250
+-116.5078	31.6799	8386
+-121.8996	31.0161	3895
+-86.8932	36.3931	7273
+-98.2967	41.8724	255
+-91.5069	37.6159	7704
+-115.562	34.0316	7675
+-121.6948	46.7419	8259
+-94.3192	39.4408	5117
+-118.4586	35.2654	7745
+-117.5377	33.1482	9016
+-83.0265	27.7182	8880
+-108.7374	29.2758	6434
+-110.6299	32.6617	8262
+-89.4721	41.8951	5895
+-117.6628	46.5575	8444
+-112.3103	27.4503	4510
+-119.218	33.8225	7382
+-85.3934	41.2135	4320
+-90.3098	38.4306	9071
+-122.3019	47.4297	8775
+-118.7387	35.0646	7638
+-83.4093	27.9596	8432
+-122.2787	46.1454	8475
+-122.3042	47.2282	8891
+-118.6377	47.4736	7758
+-118.7004	45.9852	8802
+-120.5267	47.2128	6985
+-92.8124	33.8803	3559
+-121.8452	45.5957	7706
+-109.659	33.1121	7663
+-94.4948	37.8028	4877
+-117.5296	32.3479	8936
+-94.572	40.4021	4571
+-106.1179	31.8796	4895
+-88.6767	38.0397	9384
+-111.4211	30.5589	7855
+-88.6522	38.628	8728
+-90.7622	40.9537	7014
+-122.7625	49.5098	6808
+-118.8756	33.606	7691
+-114.282	33.7782	6572
+-119.9199	47.4829	6991
+-112.5017	31.2626	7099
+-92.6278	40.4046	6419
+-91.477	37.1145	7304
+-117.7204	31.7231	8271
+-81.8721	27.6872	9584
+-113.4534	36.0495	4883
+-121.6267	48.428	7477
+-88.4595	40.2631	6786
+-120.2888	44.0222	6202
+-116.5847	35.3595	8007
+-123.5471	47.955	8308
+-110.4058	32.6969	8265
+-89.8929	37.3968	8515
+-80.7823	25.6866	7086
+-89.8456	38.6835	8840
+-118.0014	35.4105	7931
+-123.5558	44.6991	7013
+-83.8434	28.9782	7521
+-87.4171	38.9583	7718
+-113.984	30.9072	5803
+-92.4038	39.9051	6916
+-80.2347	25.7767	6781
+-118.4024	46.7829	8526
+-89.7048	40.7595	7138
+-124.6385	46.8223	7690
+-89.8717	37.3676	8530
+-117.6104	33.5536	8803
+-119.0237	45.9184	8453
+-121.9519	48.0802	7999
+-123.9699	44.1475	6293
+-89.9361	41.4512	6473
+-120.8091	45.35	6470
+-89.1994	37.9285	9247
+-119.635	42.495	5183
+-79.2714	27.7825	6655
+-116.0109	45.9414	6848
+-81.0171	27.3721	8553
+-118.8534	35.4716	7274
+-115.9042	28.5534	4852
+-79.1397	27.2856	6462
+-89.9532	34.1695	5670
+-118.4275	47.7861	7468
+-123.1905	42.8232	5043
+-118.443	46.4201	8882
+-80.8247	24.7342	6156
+-119.5155	33.251	6903
+-123.1174	46.0122	8531
+-88.3165	35.2723	7081
+-121.4253	45.5726	7377
+-117.7152	46.4689	8543
+-93.3517	41.6252	4970
+-117.7882	47.4514	7736
+-96.4696	38.3804	2852
+-115.5984	44.2352	5798
+-89.0703	36.2939	8238
+-88.261	36.5402	8430
+-116.8077	36.6106	6790
+-114.2815	31.2914	6308
+-112.973	30.4769	6373
+-89.9108	37.9065	8382
+-119.2103	28.9934	4808
+-120.5573	34.6538	5904
+-110.6031	30.4873	8251
+-87.8665	41.0139	5776
+-112.6852	31.7328	6920
+-113.5019	34.0863	5637
+-120.8844	48.9159	6526
+-91.3757	37.3354	7562
+-114.8318	33.9289	7068
+-118.1377	31.367	7674
+-126.255	46.6487	5904
+-88.5693	42.7594	4681
+-89.2433	40.0531	7558
+-89.2571	40.8692	6838
+-119.7629	42.9715	5595
+-114.2427	48.3546	4360
+-117.0468	38.344	4939
+-121.1064	45.1953	6837
+-116.9051	36.5835	6836
+-114.3903	34.8365	6308
+-121.3986	45.7352	7473
+-119.0134	33.7261	7581
+-117.2401	32.7024	9422
+-81.1326	29.6883	7441
+-86.6901	33.7314	4821
+-114.8256	34.207	6874
+-89.0931	40.7267	6880
+-90.482	40.2651	7788
+-83.8088	29.7623	6944
+-80.8546	27.7195	8445
+-114.8309	32.5485	7352
+-117.6324	45.0678	7968
+-117.228	32.4006	9205
+-123.5486	49.7491	6467
+-119.4774	33.1428	6895
+-114.7511	36.6734	5638
+-90.1879	35.4163	6828
+-117.7627	46.1253	8709
+-92.0231	38.5736	7647
+-120.0018	48.1144	6456
+-87.5233	38.7213	7985
+-81.849	27.7238	9567
+-118.9382	34.4626	7679
+-84.8649	31.1219	4998
+-108.1544	34.2004	5784
+-126.9731	48.9837	4613
+-115.5601	45.2404	6236
+-93.33	37.4018	5932
+-88.9099	39.611	7585
+-123.1886	46.2327	8740
+-118.9457	32.666	7539
+-123.6763	46.948	8753
+-84.4172	29.5062	6644
+-118.0984	45.243	8332
+-117.1173	33.7056	9044
+-87.7075	39.2322	7693
+-115.0333	34.0952	7101
+-121.0247	32.3402	5195
+-93.9746	37.8309	5429
+-109.471	32.9759	7699
+-125.5379	44.8064	5860
+-83.154	29.1109	7983
+-83.0553	26.708	8304
+-87.2785	26.4181	3875
+-87.0932	37.8539	7925
+-89.9106	36.2008	7728
+-127.4778	49.0438	4083
+-117.1869	46.433	8047
+-121.885	49.6023	6503
+-122.91	45.9943	8538
+-79.2992	28.0381	6671
+-78.9849	28.1001	6310
+-79.6861	28.8091	6883
+-119.6826	33.4671	6804
+-123.0032	45.1517	7609
+-123.6059	43.5224	5744
+-93.2558	39.3702	6257
+-111.6173	32.4726	7781
+-118.4908	38.7349	4344
+-89.541	39.5639	8162
+-120.3461	46.6107	7010
+-80.5374	26.2077	7368
+-115.2836	33.532	7713
+-81.5635	30.5024	6731
+-116.5797	44.2247	6577
+-89.1616	39.2046	8019
+-80.3062	28.8004	7517
+-89.3187	36.9511	8801
+-118.0448	31.2377	7620
+-82.4148	32.1366	4938
+-119.0206	46.4762	8384
+-121.349	34.3026	5081
+-114.5912	31.5845	6768
+-83.7426	27.433	8033
+-122.6389	48.7484	7628
+-117.521	34.6971	8863
+-118.8553	31.3867	7111
+-117.1513	34.033	9371
+-120.3559	36.0366	5580
+-115.8564	37.3616	5695
+-123.1358	46.4126	8945
+-107.9914	29.4337	6029
+-115.4914	46.1521	6303
+-81.5421	30.4854	6745
+-121.867	47.3273	8404
+-79.4309	26.7761	6636
+-82.328	25.926	7798
+-84.428	31.7245	4717
+-80.4828	24.7355	5988
+-117.9949	44.8894	7943
+-117.6216	44.4233	7352
+-116.569	34.5794	8635
+-118.2938	29.8344	6112
+-118.429	40.957	3811
+-92.8042	36.0687	5531
+-120.4723	44.3117	6267
+-125.2943	44.8024	6060
+-118.0356	28.722	5033
+-88.9175	36.4824	8476
+-111.9281	34.2071	6147
+-91.505	36.7664	6968
+-80.8155	29.7839	7166
+-119.4666	45.6596	7923
+-123.266	49.1812	7140
+-81.2232	24.0087	5518
+-122.4412	45.9318	8363
+-82.9332	25.1726	6821
+-89.6958	34.5382	6152
+-116.7584	32.444	9277
+-88.5782	37.9149	9465
+-91.8664	37.8871	7575
+-84.4428	25.2889	6060
+-124.08	44.4248	6527
+-116.2822	32.296	8794
+-78.7647	29.5335	5589
+-85.5864	29.1671	5677
+-114.6959	31.6315	6896
+-88.5977	42.5237	4925
+-114.0488	33.2545	6462
+-84.3344	29.0364	7018
+-108.7858	32.0442	7724
+-110.2387	32.8149	8135
+-80.6276	28.5405	7977
+-123.1154	44.3585	6731
+-119.5396	48.3228	6556
+-119.0079	33.1728	7369
+-119.8822	43.8452	6333
+-114.3568	41.7697	3070
+-120.6089	47.9537	6865
+-112.5449	32.6775	6800
+-111.5458	29.9081	7233
+-118.3649	48.0025	7244
+-109.9948	31.7724	9053
+-80.3495	29.0446	7410
+-115.0835	37.0379	5574
+-80.9469	26.3132	7770
+-117.3078	28.6072	5042
+-116.2235	33.7641	8331
+-87.7392	33.9456	5483
+-117.4761	35.4523	8081
+-118.2326	34.1411	8484
+-120.6342	44.3172	6136
+-123.8328	43.5572	5723
+-112.2567	29.4655	6374
+-120.8072	34.6644	5633
+-113.2025	31.5105	6364
+-92.8759	40.9246	5859
+-87.4463	42.8639	3976
+-117.0828	29.7396	6318
+-121.5026	48.1942	7563
+-118.3873	47.2379	8050
+-79.0359	27.2311	6336
+-89.9238	39.6513	8334
+-84.2707	27.0387	7338
+-91.5853	38.2259	8011
+-81.8284	25.6784	7505
+-120.9639	49.2552	6313
+-112.9889	32.581	6400
+-90.39	36.273	7414
+-119.3741	48.9333	6045
+-114.935	37.0235	5487
+-82.627	27.3086	9131
+-114.5934	32.6708	7101
+-80.4205	27.6448	7950
+-107.9135	30.56	6627
+-92.6997	41.7979	5298
+-121.7522	47.141	8331
+-80.1528	29.6452	6804
+-119.1163	32.1256	7234
+-119.5197	44.8294	7383
+-121.5218	31.6255	4501
+-111.6368	34.5911	5922
+-118.9413	34.4782	7673
+-91.2023	36.7537	7099
+-109.2997	31.0168	8197
+-113.3156	35.408	5009
+-120.3491	30.1808	4970
+-116.6026	37.6769	5605
+-81.8984	27.623	9581
+-91.0564	36.2063	6588
+-122.8569	44.9603	7402
+-122.9028	46.3008	8875
+-105.9195	31.0726	4659
+-109.8384	34.6462	6112
+-111.6666	33.2096	7195
+-117.1748	45.5326	7942
+-118.5289	33.2069	7830
+-120.6917	49.0501	6271
+-118.8994	36.6207	6292
+-115.5529	35.6566	7037
+-121.4299	49.5469	6344
+-89.3972	39.4038	8149
+-86.9961	39.0306	7306
+-118.0252	33.6841	8576
+-119.0422	35.5332	7071
+-83.1426	28.3036	8599
+-88.2263	39.391	7786
+-119.1197	34.9586	7325
+-110.6655	32.905	7997
+-109.8751	33.8994	6916
+-121.8064	32.2487	4317
+-87.8391	37.9442	8728
+-120.144	47.0371	7054
+-122.3373	43.3212	5554
+-122.2006	45.9418	8243
+-87.6912	38.1194	8505
+-89.4335	38.5697	8382
+-118.8227	32.8426	7682
+-80.1423	25.4547	6441
+-117.8168	33.1648	8728
+-89.9743	38.2489	8727
+-84.9386	36.7405	5394
+-87.6644	36.2021	7758
+-111.5829	32.8605	7538
+-82.6184	27.8375	9338
+-115.9187	36.8317	6248
+-90.877	39.0824	8783
+-118.7155	42.5294	5451
+-91.3214	42.2482	5521
+-118.0059	39.9254	3169
+-80.0141	27.9133	7489
+-82.1943	30.861	6391
+-116.1426	44.11	6165
+-117.6316	32.1281	8685
+-87.1257	40.157	6467
+-125.4558	46.5465	6761
+-91.8297	37.4453	7325
+-89.4676	38.6566	8432
+-117.5079	32.7824	9148
+-120.6723	45.0551	6499
+-81.1662	28.641	8417
+-90.5383	36.3088	7310
+-117.0984	31.8719	8689
+-108.0702	30.7977	6878
+-88.4584	36.339	8286
+-116.9381	45.3483	7629
+-111.074	33.9973	6738
+-113.8939	45.3005	4535
+-115.2281	34.1613	7314
+-90.7963	36.7868	7262
+-85.4944	28.3524	6033
+-112.0549	30.6711	7363
+-117.349	36.8796	6541
+-91.8056	36.8551	6871
+-87.1139	36.8121	7727
+-92.595	36.3585	5913
+-89.653	37.7129	8819
+-120.8746	47.5653	7286
+-92.6314	40.026	6638
+-123.0414	44.4983	6890
+-115.2222	32.9329	7803
+-85.8651	37.5801	6557
+-92.0491	39.8907	7248
+-90.3494	37.8777	8483
+-90.4546	39.2678	8861
+-115.781	33.9978	7911
+-105.2587	28.6386	3117
+-89.884	35.9433	7510
+-111.616	29.1654	6508
+-114.8316	30.8243	6496
+-109.1268	30.2726	7543
+-116.9759	36.5384	6895
+-116.755	32.5537	9376
+-87.9008	35.6014	7302
+-117.698	47.3777	7772
+-121.4564	30.6747	4204
+-119.6111	45.4118	7677
+-92.5955	39.3029	6967
+-113.5888	35.1781	5367
+-78.1533	27.2243	5348
+-122.223	45.8113	8135
+-117.8899	34.4274	8786
+-120.4287	48.0832	6627
+-117.4354	35.916	7585
+-89.2534	34.1204	5798
+-109.2614	31.4104	8297
+-109.9366	32.8858	7998
+-119.3393	43.6558	6441
+-111.4309	31.5468	8284
+-116.9309	33.0533	9486
+-105.4956	32.1242	4199
+-90.4057	37.7928	8392
+-125.1061	43.8633	5423
+-119.4768	44.6205	7247
+-88.0429	38.6645	8431
+-88.4385	37.3899	9334
+-120.9333	46.4383	7369
+-117.4233	30.0036	6574
+-89.5887	38.615	8556
+-120.6135	44.5977	6324
+-111.9803	34.6389	5713
+-77.9962	29.2628	4915
+-119.2355	46.1351	8251
+-120.6584	34.1475	5838
+-83.0242	28.397	8658
+-114.3495	37.7146	4499
+-119.5124	40.5164	3205
+-111.0251	32.7814	7975
+-84.9667	38.0638	5526
+-87.8843	40.1261	6881
+-120.6154	34.0031	5882
+-93.2919	37.9633	6177
+-118.2569	32.0945	8104
+-91.4874	41.4222	6308
+-84.2818	39.395	4420
+-86.8885	38.2205	7617
+-118.7091	33.3852	7765
+-117.0123	36.3013	7157
+-120.5445	45.0155	6605
+-114.8629	34.1409	6916
+-119.3261	30.9531	6399
+-109.3472	32.7973	7779
+-107.9246	27.76	4578
+-108.9288	30.7755	7718
+-123.4882	44.9514	7300
+-111.0273	33.7816	6976
+-114.5032	30.6977	6129
+-123.9459	48.7359	7348
+-83.1493	28.0677	8694
+-81.0564	29.405	7674
+-122.7993	44.721	7137
+-83.0582	29.5738	7596
+-116.019	31.0361	7503
+-78.3682	25.3725	4845
+-90.0152	40.354	7651
+-92.2877	36.0925	5900
+-117.3184	49.1305	5892
+-112.2395	33.5766	6485
+-112.9948	33.7566	5751
+-122.3323	45.4917	7870
+-122.2497	48.1289	8143
+-84.9714	39.4894	5089
+-89.9806	39.0816	8862
+-119.8124	42.887	5492
+-91.6584	40.7787	6842
+-108.3925	30.9465	7261
+-124.7022	44.4124	6172
+-120.378	32.5114	5933
+-88.5338	35.4443	7308
+-118.3063	37.7663	5416
+-117.8468	36.4417	6942
+-79.7833	30.5351	5784
+-117.2821	44.4812	7245
+-116.4816	34.963	8292
+-91.7859	37.3815	7312
+-86.5929	36.1688	6852
+-117.6447	32.9345	8985
+-116.8125	36.0806	7357
+-114.0905	34.1121	6234
+-121.4761	46.4469	7941
+-115.0205	47.4227	5532
+-123.4456	46.157	8534
+-83.6631	38.0773	4068
+-87.4425	37.8066	8320
+-118.9111	47.8096	7332
+-113.5266	29.9481	5587
+-114.3119	35.4959	5989
+-82.2467	29.4081	8031
+-113.6058	32.7293	6003
+-115.5911	31.6256	7723
+-90.361	39.5456	8566
+-116.6708	38.6654	4552
+-108.3857	35.9659	4277
+-122.2752	47.3149	8820
+-79.8711	28.3956	7236
+-119.5092	45.5195	7824
+-88.4599	34.733	6505
+-116.1393	45.4386	6884
+-107.7617	35.1959	4669
+-88.6593	37.0485	9112
+-81.7664	26.3803	8270
+-88.984	39.2117	7836
+-117.5891	28.624	5025
+-117.0714	34.9899	8579
+-117.9842	33.8658	8702
+-88.6941	38.8991	8429
+-121.7914	49.224	6843
+-121.9547	47.8096	8215
+-117.9552	33.43	8464
+-116.6981	33.0039	9388
+-90.1059	37.4201	7960
+-115.9452	33.6458	8285
+-86.8595	40.5388	5944
+-120.0921	43.8349	6191
+-85.0151	25.4113	5682
+-90.4659	35.2088	6462
+-109.6334	31.545	8714
+-118.2575	32.1034	8108
+-118.0526	37.6323	5626
+-121.1385	45.5688	7136
+-123.6577	46.8622	8766
+-91.0641	39.6372	8219
+-90.4381	38.9533	9197
+-109.1583	31.9822	8129
+-124.6321	44.0982	5925
+-117.8476	33.4425	8553
+-117.2326	46.8421	7898
+-112.7279	33.489	6158
+-116.6939	32.3114	9112
+-112.1146	33.1798	6882
+-124.7401	45.992	7319
+-118.5564	33.2975	7861
+-116.651	43.5078	6016
+-116.2204	33.474	8644
+-114.6129	46.7891	5305
+-116.4956	49.4217	5265
+-113.4494	31.2071	6073
+-90.4084	38.197	8828
+-117.5126	34.0705	9261
+-117.3459	32.7853	9328
+-80.9356	26.7238	8096
+-88.8105	40.701	6723
+-117.2558	46.1226	8172
+-118.1103	43.1031	6081
+-121.9736	43.0383	5172
+-115.199	36.9401	5735
+-83.2654	28.1893	8525
+-125.421	45.9339	6613
+-114.6636	45.3299	5341
+-89.5399	35.0157	6716
+-89.9378	38.8824	8923
+-81.4479	25.6465	7372
+-107.5606	32.4817	6316
+-115.0006	32.1737	7446
+-90.0677	37.0275	8188
+-90.2337	38.5331	9140
+-89.4899	36.7486	8504
+-93.0347	37.638	6325
+-86.9975	37.1824	7756
+-118.8118	36.1193	6793
+-84.4415	27.8973	7277
+-88.3351	40.907	6218
+-110.8809	31.6958	8868
+-82.4986	25.8531	7689
+-110.8668	29.0238	6641
+-113.5968	35.1372	5388
+-90.3581	40.3293	7722
+-90.2433	36.8559	7924
+-115.8395	32.7997	8495
+-114.6822	44.4445	5063
+-111.9317	32.0373	7673
+-120.5858	45.7689	6797
+-79.8669	24.6339	5518
+-119.5895	47.4249	7290
+-86.8631	38.6826	7393
+-94.6924	39.0051	4772
+-78.2237	27.1777	5419
+-86.4263	31.4405	3500
+-118.9999	32.2406	7396
+-124.3196	47.699	7851
+-118.1089	31.5141	7820
+-109.3678	29.7792	7257
+-90.9436	41.1673	6750
+-114.2164	29.2651	4743
+-123.315	43.9149	6223
+-84.1627	25.8826	6760
+-118.7286	47.3596	7846
+-84.5922	28.6444	6939
+-112.6536	30.4037	6653
+-89.7762	38.9034	8749
+-119.4551	31.3438	6527
+-119.984	34.7173	6506
+-124.3692	49.8097	6090
+-118.8195	45.1937	8145
+-114.5082	30.4492	5946
+-116.8789	28.7593	5226
+-120.3233	46.495	7060
+-124.5115	48.9738	6778
+-121.9557	47.1722	8544
+-112.3567	34.9269	5239
+-89.1274	36.6561	8611
+-110.7919	33.608	7224
+-121.6338	40.2822	2150
+-90.9756	36.7128	7138
+-109.8344	30.1616	7841
+-81.7611	28.8615	8584
+-92.2038	36.2413	6083
+-114.8545	35.3988	6567
+-77.7726	27.4444	4945
+-119.8751	43.5363	6065
+-85.8541	40.3653	5358
+-117.3227	33.3751	9014
+-114.5508	36.1636	5839
+-93.3392	40.4939	5725
+-108.7965	30.894	7649
+-116.592	43.5066	5981
+-119.617	47.3936	7293
+-121.4127	45.2831	7138
+-117.9241	34.1744	8819
+-86.9698	39.1885	7171
+-120.7312	46.8583	7221
+-119.6651	33.8473	6903
+-89.4249	38.2076	8858
+-119.4414	45.1397	7667
+-115.9805	37.233	5877
+-117.4085	32.3508	9037
+-79.9263	29.2917	6857
+-80.181	25.5526	6553
+-116.0254	33.0655	8667
+-119.2693	35.0442	7138
+-119.1481	35.3224	7110
+-85.0745	26.5125	6275
+-91.1492	35.4719	6179
+-123.5784	47.346	8752
+-82.6855	31.2487	5904
+-86.3332	41.6797	4546
+-89.7569	37.483	8685
+-123.1329	46.7956	9289
+-119.164	46.6324	8171
+-109.1762	29.0704	6476
+-113.3137	35.0695	5107
+-116.9726	30.8604	7571
+-88.5212	37.4559	9453
+-92.142	41.8877	5547
+-78.784	30.3311	5120
+-114.4795	44.50	4890
+-111.599	32.5519	7747
+-88.5077	43.1023	4316
+-78.9196	28.1759	6227
+-111.9984	31.2736	7639
+-123.2988	44.9795	7380
+-119.8836	45.8386	7543
+-116.89	47.7132	7003
+-90.3442	38.0653	8685
+-124.212	44.5957	6629
+-82.5141	29.6879	7677
+-111.654	29.8495	7112
+-83.0083	37.1548	3326
+-114.3698	28.6562	4283
+-90.9332	40.6626	7279
+-86.9474	36.2802	7248
+-116.7817	32.7779	9542
+-117.8787	33.4874	8567
+-89.7583	38.6799	8746
+-82.3623	26.0082	7886
+-124.2898	47.4107	8003
+-117.9357	32.643	8655
+-87.2177	35.3486	6686
+-79.1255	27.3988	6464
+-82.7913	27.2608	8953
+-120.8342	42.4584	4552
+-116.4309	33.9904	8613
+-85.8877	36.7261	6416
+-109.2423	30.2479	7605
+-91.7174	39.1175	7933
+-122.4964	49.6822	6590
+-116.1714	49.5902	4940
+-112.4301	32.1286	7126
+-119.2569	47.8157	7171
+-91.9427	39.4505	7582
+-124.2145	47.9718	7788
+-124.4939	46.7588	7840
+-115.4823	34.1481	7591
+-116.0151	34.8493	7965
+-118.4555	34.9677	7953
+-117.423	30.8451	7496
+-126.3055	46.7243	5855
+-86.5368	33.8568	4860
+-89.3882	37.9752	9036
+-86.7423	37.4451	7529
+-112.8237	31.7653	6768
+-91.5291	39.0038	8159
+-81.5052	27.0072	8778
+-117.9344	30.0202	6452
+-83.9005	26.9653	7697
+-89.4224	38.9147	8374
+-82.3511	25.275	7063
+-109.68	35.4689	5205
+-81.4226	29.2486	8033
+-121.8873	49.8836	6214
+-82.0957	30.0455	7314
+-116.4202	35.3072	7959
+-117.2064	33.0719	9362
+-108.9868	31.9338	7966
+-117.7356	34.1252	9026
+-121.1453	47.2314	7657
+-86.5298	37.3385	7278
+-84.794	28.3535	6810
+-121.3859	36.7583	4210
+-116.3457	31.6638	8292
+-119.1422	44.656	7481
+-118.5593	47.3395	7916
+-117.7718	46.2705	8690
+-93.8244	36.3531	4904
+-90.0371	38.2485	8768
+-92.8159	39.7912	6572
+-89.9351	39.7996	8194
+-110.6324	32.7248	8195
+-110.3615	33.1564	7769
+-110.927	36.1874	4444
+-114.8829	30.9933	6665
+-111.3075	29.1513	6635
+-82.0007	29.8164	7569
+-88.0902	39.935	7157
+-105.8547	32.9678	4395
+-109.8885	29.7894	7471
+-114.7249	29.706	5476
+-86.6888	33.619	4709
+-117.0677	45.457	7804
+-90.3818	37.9995	8615
+-117.6526	33.2167	8867
+-84.121	24.134	5208
+-89.8826	36.624	8101
+-117.192	34.0579	9422
+-107.9271	27.9285	4733
+-113.6023	45.1203	4195
+-117.3353	32.7366	9332
+-86.0561	41.0633	4936
+-116.0002	46.0629	6842
+-79.3659	24.2659	4844
+-115.9648	31.4012	7819
+-92.7323	37.2512	6421
+-119.6476	32.7234	6761
+-116.7596	31.6021	8379
+-109.543	31.9383	8535
+-89.3975	39.7664	7898
+-90.4468	36.8154	7701
+-113.519	30.6094	5864
+-83.238	26.9849	8361
+-88.2666	42.5984	4690
+-116.3317	35.2126	7980
+-80.8201	30.981	5964
+-89.9424	40.6844	7286
+-123.085	48.4429	7972
+-93.4193	40.2485	5775
+-121.6065	48.0476	7754
+-116.4426	33.5897	8711
+-88.4924	37.7718	9485
+-118.5298	32.4571	7964
+-81.6746	28.7365	8679
+-86.4353	35.5522	6283
+-118.7092	43.8219	6806
+-116.751	44.3603	6805
+-111.0193	37.1814	3363
+-81.8113	29.1391	8297
+-116.2456	32.4097	8829
+-119.1485	45.5411	8170
+-108.3335	34.2603	5853
+-86.8425	38.8583	7274
+-117.687	45.7279	8516
+-117.4747	35.4252	8110
+-117.3445	34.641	8978
+-122.2192	46.2438	8515
+-92.3647	37.015	6586
+-91.3574	32.1045	2928
+-92.9263	36.4444	5725
+-88.034	37.3551	8922
+-116.2147	33.1132	8851
+-117.7639	31.2076	7750
+-116.7879	34.4263	8926
+-116.3997	32.5315	9045
+-91.8554	39.8941	7415
+-116.3113	34.515	8416
+-111.3565	33.4395	7177
+-114.0654	33.2618	6479
+-83.3384	27.8619	8525
+-119.428	36.6938	5883
+-115.736	33.5904	8131
+-122.2806	46.664	8849
+-79.8191	26.803	7056
+-120.27	35.5714	5905
+-118.2362	47.1335	8165
+-111.0013	29.9744	7586
+-81.7386	28.9302	8502
+-91.1772	39.184	8449
+-88.9766	38.16	9213
+-113.2661	31.6701	6295
+-107.8786	32.914	6448
+-118.3627	31.9953	7946
+-81.5538	30.0092	7272
+-118.6542	35.7506	7213
+-80.2555	25.5575	6612
+-113.9092	35.5609	5558
+-112.3282	33.8284	6219
+-112.5528	28.6938	5526
+-89.0373	41.2171	6395
+-122.8174	41.2311	3304
+-84.169	28.657	7379
+-92.3021	37.5147	6965
+-86.9771	37.261	7756
+-89.1135	38.8087	8475
+-117.3862	35.5935	7940
+-116.5469	47.0613	7159
+-93.0975	39.0403	6482
+-119.666	35.7465	6384
+-107.9284	30.4729	6604
+-117.7104	48.6902	6451
+-92.2335	39.9604	7041
+-119.4577	48.6556	6282
+-120.4857	47.4653	6898
+-110.1459	30.0604	7811
+-85.7366	40.5326	5133
+-113.9099	33.5209	6254
+-92.0937	40.6231	6690
+-80.0547	30.0006	6440
+-88.9603	38.3582	9008
+-119.1946	31.7412	6993
+-127.1601	47.4885	4891
+-85.1945	33.8878	3979
+-87.8976	37.3296	8769
+-92.4254	39.875	6911
+-115.8966	33.4239	8380
+-116.532	38.86	4320
+-91.3711	38.7298	8359
+-118.2178	33.0412	8335
+-121.314	46.5962	7817
+-116.3513	48.8765	5678
+-117.7185	32.7798	8913
+-125.3108	45.7541	6641
+-125.3357	43.6825	5114
+-90.4735	38.9966	9141
+-121.5887	46.55	8095
+-110.53	36.8018	3816
+-88.3096	37.9025	9238
+-110.7684	36.1268	4528
+-109.8497	30.0514	7733
+-90.3919	41.0996	6892
+-80.6582	31.0982	5770
+-86.4699	41.5274	4772
+-123.2716	46.4626	8918
+-107.8668	31.4076	6794
+-122.456	46.4623	8868
+-80.8754	28.5992	8186
+-122.1757	47.6848	8485
+-82.8839	25.5821	7279
+-112.18	32.119	7390
+-88.7085	35.9671	7907
+-116.9852	35.9482	7534
+-124.0472	44.9672	7074
+-115.6603	35.302	7371
+-83.3131	33.8282	2906
+-116.0837	32.0544	8452
+-81.0451	30.2683	6806
+-114.6063	44.9587	5183
+-82.9249	26.4731	8177
+-84.9199	36.6596	5352
+-118.2741	29.679	5961
+-112.7619	31.9715	6809
+-91.9598	35.0835	5123
+-119.1507	42.9556	5806
+-118.9174	33.2724	7507
+-117.5529	31.419	8062
+-89.3509	38.6239	8303
+-110.52	30.0064	7753
+-117.1994	33.3884	9064
+-118.4696	46.4443	8846
+-120.0098	35.1546	6345
+-117.2222	49.4826	5506
+-126.0495	48.6118	5702
+-89.5306	38.3571	8412
+-117.3067	33.9152	9296
+-83.7142	27.443	8067
+-115.9377	30.3561	6778
+-87.6189	40.0265	6869
+-86.5123	37.5564	7282
+-117.7015	31.1289	7700
+-91.2982	38.3491	8348
+-79.1538	27.5701	6514
+-88.608	36.8137	8842
+-111.5834	28.9591	6324
+-117.6257	47.4253	7694
+-116.7674	32.5212	9355
+-86.2298	25.9902	4841
+-110.0583	33.8687	6980
+-114.9342	45.7905	5698
+-88.3233	36.2129	8110
+-86.8109	38.0402	7580
+-108.6089	32.0055	7550
+-120.6253	46.3837	7026
+-116.5119	49.0726	5596
+-115.475	34.368	7567
+-89.6781	35.7954	7479
+-116.7488	34.5945	8782
+-118.0444	35.0862	8196
+-123.1218	47.8875	8565
+-88.4957	40.7998	6421
+-119.0008	45.9044	8473
+-90.5453	39.651	8438
+-90.2477	36.6479	7798
+-82.5471	25.9492	7784
+-116.5137	30.8947	7550
+-125.4734	45.6357	6423
+-109.65	30.8008	8348
+-123.101	46.8873	9369
+-85.9654	37.5164	6666
+-90.9364	36.4348	6859
+-79.4782	28.111	6863
+-91.468	37.956	7975
+-117.5816	31.7231	8354
+-108.8107	31.3317	7802
+-89.3211	37.4601	9151
+-115.723	35.4758	7306
+-110.3335	28.9904	6664
+-114.499	32.0934	6885
+-114.9085	33.2979	7395
+-109.4691	33.3197	7372
+-79.2635	28.466	6551
+-81.7126	25.8987	7726
+-118.3928	31.8413	7826
+-117.1181	32.0799	8914
+-89.5792	38.5311	8526
+-118.5557	47.4822	7769
+-115.2255	35.0017	7118
+-108.951	31.8539	7947
+-121.8035	48.6283	7419
+-119.0102	34.0493	7634
+-122.1248	44.6558	6928
+-116.3049	30.4133	6972
+-117.5781	31.129	7751
+-87.6003	37.8943	8481
+-119.5254	37.5122	5104
+-90.3907	36.9532	7824
+-109.676	33.0595	7723
+-116.7906	45.2093	7420
+-87.9168	39.1595	7886
+-92.8323	38.7219	6785
+-110.0235	32.2629	8664
+-120.8752	48.2551	6969
+-124.5544	48.105	7400
+-117.2942	45.8138	8170
+-83.4185	30.5085	6467
+-80.6964	30.0904	6801
+-123.3896	46.0097	8425
+-108.3071	31.3549	7264
+-88.9905	37.2424	9277
+-118.5461	33.2696	7854
+-123.1874	47.7578	8681
+-118.3779	33.7281	8248
+-115.8334	31.1836	7536
+-120.6345	49.6041	5786
+-116.9732	43.7105	6374
+-112.2144	27.4779	4581
+-116.8074	35.0498	8420
+-125.7653	46.4391	6405
+-84.4643	28.4609	7141
+-117.1565	48.7558	6205
+-110.8627	34.2812	6495
+-120.933	47.8059	7257
+-88.2781	43.2323	4087
+-119.804	45.7621	7611
+-115.135	36.7943	5819
+-120.1162	49.2203	5671
+-80.3863	25.3441	6513
+-115.3014	44.3892	5620
+-116.2242	33.8272	8353
+-120.5443	45.4293	6763
+-83.80	29.7377	6972
+-117.4164	35.2199	8341
+-87.3621	37.2878	8182
+-116.1217	30.1233	6604
+-112.6689	32.3636	6806
+-81.402	30.0299	7202
+-90.6171	33.7172	4920
+-88.3973	36.2726	8197
+-117.1681	32.7098	9498
+-116.3001	30.8791	7467
+-93.0074	41.1259	5609
+-114.1077	32.1938	6489
+-123.0587	44.5249	6918
+-110.8951	31.9173	8765
+-83.0525	24.2245	5752
+-122.7621	47.2789	9231
+-81.964	27.8043	9696
+-86.329	40.6514	5489
+-81.9145	24.9231	6666
+-118.0544	37.8154	5430
+-119.4293	49.2032	5757
+-85.648	26.9605	5813
+-108.8205	31.7799	7821
+-111.6369	29.3792	6699
+-93.2219	39.218	6323
+-112.6616	28.1671	4994
+-118.4221	46.1248	9111
+-107.8176	31.9136	6725
+-83.2484	29.2373	7804
+-86.2749	28.1554	5186
+-86.9002	36.4525	7316
+-88.5506	36.87	8889
+-118.5448	46.0536	8979
+-118.336	34.5001	8305
+-118.9805	46.83	8191
+-114.9728	32.7557	7528
+-121.2101	29.1026	3463
+-79.6469	27.5744	7071
+-121.5846	47.9592	7796
+-87.4278	39.7973	6990
+-89.4268	38.1971	8864
+-108.6854	35.5823	4787
+-116.7954	30.6198	7295
+-118.5506	47.0212	8245
+-85.0421	26.989	6486
+-110.4873	33.386	7513
+-119.5628	48.6394	6249
+-114.4903	34.0195	6682
+-118.4046	42.2161	5145
+-115.8627	33.463	8326
+-83.8274	27.3283	7913
+-120.3142	33.1562	6047
+-122.2221	46.34	8592
+-116.9174	33.9941	9128
+-126.9948	48.5029	4801
+-108.4203	28.9365	5935
+-90.1169	37.3634	8262
+-107.1442	31.7999	6010
+-115.8724	32.7128	8527
+-90.5989	38.7292	9191
+-89.9597	40.7173	7255
+-120.2717	44.7701	6727
+-91.7664	36.235	6331
+-106.8008	30.6328	5510
+-89.1992	34.424	6144
+-117.1792	32.7519	9505
+-108.8158	33.5669	6768
+-90.1085	38.8794	9097
+-121.2959	43.8372	5743
+-116.5426	31.1563	7841
+-123.4436	49.7412	6500
+-89.6496	36.4747	8151
+-118.3296	30.6168	6866
+-113.5972	35.9474	5073
+-110.1671	32.9112	8024
+-116.8738	34.1022	9108
+-118.5197	48.3892	6823
+-80.1161	31.1615	5425
+-113.2174	29.5942	5678
+-116.953	46.6132	7750
+-85.0443	25.7784	5904
+-82.3552	29.0913	8373
+-116.6259	36.5412	6820
+-110.409	32.7234	8236
+-121.5693	34.1895	4844
+-121.1152	47.5964	7527
+-110.9068	27.8986	5433
+-116.2131	33.8644	8352
+-79.4441	27.4171	6824
+-118.5211	33.4507	7980
+-109.8774	30.0907	7783
+-92.5985	40.9812	6036
+-116.3181	43.0821	5446
+-119.3389	48.0325	6928
+-119.0797	29.86	5699
+-87.6972	38.2477	8449
+-120.2156	31.6169	5890
+-109.1028	29.7802	7108
+-117.1787	32.1605	8984
+-117.7352	31.2477	7804
+-79.7174	30.7881	5516
+-118.391	32.7349	8161
+-117.2643	33.4544	8797
+-89.4732	38.5134	8411
+-90.7555	37.4007	7916
+-113.3951	30.4252	5927
+-91.7639	39.8192	7542
+-118.6876	44.5779	7593
+-119.127	36.4281	6315
+-85.7869	24.3446	4229
+-120.018	46.887	7243
+-80.3381	25.3203	6460
+-117.8411	31.7827	8242
+-86.5896	39.4652	6645
+-85.0844	35.4385	4984
+-112.4829	35.9511	4199
+-121.9169	45.6812	7828
+-121.3767	45.2934	7120
+-119.0573	30.8223	6530
+-121.6758	47.499	8140
+-87.9686	40.1235	6915
+-115.9701	32.0694	8364
+-115.3604	33.8926	7442
+-78.0173	28.4723	5168
+-79.772	28.5134	7091
+-121.055	47.1057	7573
+-107.3473	26.888	3445
+-91.999	37.911	7462
+-116.3664	33.7586	8474
+-120.4292	48.1149	6613
+-90.4299	39.2238	8911
+-116.6482	35.8283	7570
+-116.3482	32.7532	9059
+-115.7743	33.0382	8400
+-78.1761	27.6507	5413
+-118.5531	46.3387	8879
+-82.3242	27.298	9320
+-93.0649	39.3599	6460
+-124.09	46.8017	8286
+-117.9975	32.7219	8598
+-115.7283	33.5272	8160
+-114.6416	31.4273	6732
+-119.1227	48.0394	7022
+-115.6344	35.9484	6875
+-118.0042	36.8617	6455
+-82.3506	27.7733	9646
+-116.4264	35.0029	8219
+-124.1499	45.7379	7681
+-117.5082	45.0463	7875
+-124.6286	45.5441	7147
+-109.2714	31.4589	8315
+-78.9186	27.2345	6206
+-121.3398	42.7478	4664
+-91.8816	40.8889	6610
+-122.5641	45.52	7975
+-88.1767	39.7919	7339
+-87.7325	39.6239	7330
+-112.7905	31.7422	6806
+-114.7445	45.8151	5501
+-80.9325	26.505	7922
+-114.2235	36.1209	5573
+-91.0381	40.6977	7210
+-90.6152	37.6624	8226
+-86.2198	40.0777	5878
+-115.6014	36.0597	6760
+-82.386	29.7763	7601
+-80.5128	28.2531	7978
+-117.5724	35.4785	8033
+-113.8742	29.326	4924
+-107.3435	31.5674	6234
+-89.2046	38.7106	8544
+-89.2491	41.6867	6031
+-119.4312	45.7495	7989
+-81.8517	24.8758	6606
+-91.6542	36.1084	6265
+-85.1702	25.9179	5870
+-82.3065	28.6399	8885
+-120.2929	33.0122	6018
+-116.952	33.5972	8860
+-119.5811	31.6715	6569
+-120.2066	35.495	6004
+-84.0346	27.1608	7635
+-84.6382	30.7414	5493
+-89.1384	40.9452	6704
+-115.7901	35.5857	7279
+-81.6035	28.6878	8690
+-120.1257	45.153	7067
+-91.2251	37.4156	7724
+-120.0313	32.066	6233
+-108.9431	32.4601	7693
+-88.4965	38.0032	9330
+-89.3447	35.6383	7448
+-119.7846	44.6566	7055
+-110.5378	32.0104	8960
+-107.6158	33.1745	6062
+-86.1977	37.9663	6912
+-119.5594	45.4662	7752
+-119.3475	44.8864	7551
+-119.1426	48.8061	6254
+-118.285	32.7106	8278
+-88.9829	37.1755	9213
+-89.3763	38.7362	8339
+-122.9274	48.086	8376
+-87.8693	36.2414	7925
+-121.5916	45.397	7361
+-88.6834	35.0932	6926
+-109.7124	29.8997	7529
+-118.9234	43.7745	6706
+-117.8359	33.8025	8820
+-89.869	37.4216	8548
+-82.7924	27.4797	9079
+-118.2463	45.8198	8961
+-81.493	26.2176	7996
+-93.1634	37.3858	6087
+-90.5412	37.5858	8158
+-90.8832	34.32	5371
+-122.8391	45.4159	7901
+-118.0951	47.9884	7251
+-118.4226	47.4616	7811
+-92.0923	39.0689	7550
+-114.1165	34.3882	6090
+-114.6171	30.6591	6195
+-119.7851	34.0597	6789
+-87.6561	35.4431	7026
+-91.5621	36.3656	6557
+-120.8522	48.3361	6900
+-117.0105	45.6233	7821
+-118.2797	32.6596	8278
+-81.5123	24.2321	5832
+-112.2053	32.8265	7039
+-122.4889	45.4557	7886
+-78.5937	28.9466	5671
+-82.9114	29.3314	7915
+-118.0871	34.0136	8633
+-116.9027	35.9346	7533
+-90.4514	40.2033	7856
+-115.9114	34.192	8058
+-86.6625	38.5412	7257
+-116.6816	31.4825	8231
+-116.0596	36.1839	6942
+-121.9018	44.1694	6343
+-90.3827	40.3517	7698
+-114.9639	44.078	5144
+-117.5103	46.399	8383
+-90.5964	35.049	6231
+-118.4429	46.5799	8725
+-110.4069	30.1218	7888
+-79.1179	28.7554	6302
+-120.9266	33.6805	5515
+-119.9614	44.5296	6826
+-87.7664	36.5771	8155
+-81.1081	28.7255	8304
+-89.6861	35.9147	7595
+-117.0638	45.6763	7893
+-81.1945	27.4035	8754
+-111.6658	35.8007	4682
+-118.792	31.7603	7400
+-122.5035	49.6277	6650
+-113.3027	32.3373	6154
+-114.8005	34.0756	6847
+-123.4472	49.5086	6749
+-120.7476	45.6713	6611
+-88.4567	39.0532	8220
+-119.9852	41.3349	3902
+-121.4678	33.4362	4892
+-119.2804	45.6052	8082
+-94.663	36.125	4013
+-116.9812	36.017	7460
+-120.004	45.6201	7369
+-117.0038	34.9561	8596
+-118.1879	31.2972	7578
+-82.5033	28.0367	9374
+-117.4532	42.1668	5003
+-122.2658	46.2839	8582
+-116.3952	32.8575	9114
+-123.304	46.0112	8466
+-81.3183	27.831	8968
+-90.4348	37.1942	7747
+-115.4684	46.6079	6231
+-90.5528	38.6808	9227
+-114.1161	43.6247	4127
+-121.503	45.3828	7286
+-88.5192	39.603	7623
+-81.7328	28.0082	9363
+-117.0051	36.3023	7155
+-79.3182	25.1161	5518
+-112.1743	32.1607	7383
+-88.3455	37.6087	9338
+-88.83	36.271	8248
+-117.1679	33.0058	9445
+-113.9527	34.3405	5916
+-111.0396	30.5216	8092
+-86.2414	38.7587	6727
+-109.1935	32.5449	7858
+-121.8611	48.871	7223
+-123.807	45.6137	7817
+-119.5447	46.628	7812
+-81.2453	27.9435	8868
+-89.0949	39.3835	7877
+-121.0338	44.2096	5949
+-117.7171	35.8138	7640
+-109.6159	30.9513	8438
+-91.2968	37.9146	8090
+-108.612	31.4002	7598
+-127.2605	46.8401	4814
+-83.3108	28.6657	8216
+-90.7765	36.9032	7389
+-126.3673	45.23	5346
+-87.315	29.3709	3756
+-92.3567	40.5714	6530
+-120.941	32.0208	5232
+-92.2772	40.8124	6406
+-81.8913	27.4195	9414
+-117.0776	33.0763	9438
+-119.6934	49.337	5521
+-123.9536	46.6727	8404
+-119.3512	40.429	3149
+-123.292	43.9451	6259
+-116.7584	36.6256	6763
+-112.7991	35.1297	4794
+-79.8345	29.1318	6868
+-89.744	37.6151	8716
+-89.7405	30.8846	2125
+-119.8486	41.2301	3843
+-115.5304	44.54	5909
+-115.8661	36.7644	6287
+-81.3624	32.4336	4541
+-118.7046	33.7655	7919
+-118.5627	33.5126	7970
+-91.0158	37.4166	7834
+-81.9323	26.4938	8435
+-109.6393	28.0247	5545
+-107.2379	32.1174	6070
+-88.1982	40.2704	6555
+-110.3747	34.3378	6489
+-91.3143	35.5527	6099
+-83.2633	30.1011	6958
+-83.7221	28.5682	7879
+-88.7953	35.7351	7647
+-89.1995	38.4741	8786
+-117.2221	32.5683	9355
+-116.1355	33.3545	8649
+-110.7694	31.2745	8895
+-118.3222	38.4022	4741
+-111.6233	31.1084	7984
+-118.5305	34.4085	8127
+-91.0655	38.0039	8335
+-84.6024	35.4222	4505
+-117.0686	31.8272	8643
+-82.98	25.7502	7418
+-116.086	32.7168	8764
+-85.263	29.8165	5660
+-115.2616	31.4666	7327
+-90.337	38.4268	9072
+-118.6044	30.3551	6455
+-90.4935	37.491	8062
+-114.7382	33.7589	7054
+-92.8044	38.5275	6804
+-116.5028	33.6777	8568
+-78.9095	26.8895	6113
+-81.3009	28.432	8687
+-124.7933	48.3974	6999
+-90.6231	35.785	6848
+-123.9552	49.1993	6893
+-88.3826	37.7261	9379
+-89.4738	37.5771	9015
+-118.0735	47.0083	8273
+-89.0694	38.096	9225
+-88.0467	37.8116	8991
+-91.0092	36.0976	6487
+-117.6756	30.554	7108
+-118.3427	44.8554	7941
+-122.6422	46.044	8554
+-88.5779	36.7179	8730
+-117.245	34.924	8675
+-81.6633	28.7267	8683
+-118.1982	35.2904	7917
+-92.2188	35.0298	4953
+-90.4247	37.6017	8186
+-90.4864	40.6531	7370
+-125.5293	46.7783	6710
+-117.3653	48.5759	6464
+-116.8191	33.3676	9117
+-118.055	34.1433	8678
+-124.3869	45.2594	7119
+-119.1615	43.902	6754
+-112.4773	31.8062	7138
+-91.6116	35.7558	5936
+-89.5416	37.4435	8910
+-116.502	32.4279	9077
+-121.1913	45.8409	7358
+-118.3968	33.5817	8166
+-116.1669	34.8554	8103
+-115.5275	33.5951	7928
+-84.7326	27.1485	6870
+-116.8913	48.1883	6603
+-125.3618	46.4395	6840
+-122.9107	47.6842	8818
+-116.7257	46.1162	7611
+-80.2578	24.3559	5489
+-117.1402	31.7199	8514
+-83.7186	27.9083	8092
+-125.2675	46.0863	6831
+-87.3802	37.0859	8128
+-117.6181	33.6791	8911
+-88.4922	38.3034	9036
+-116.5395	43.3077	5774
+-107.7585	33.2384	6157
+-79.2819	27.2306	6610
+-88.4637	36.9046	8895
+-91.6648	34.5084	5004
+-108.6607	31.3717	7647
+-117.7714	47.0478	8120
+-124.6403	46.4767	7620
+-85.9652	26.0275	5132
+-108.4177	33.578	6477
+-120.6083	45.9529	6793
+-119.2559	45.7473	8165
+-118.1826	47.5875	7682
+-88.7567	35.7103	7620
+-113.2074	33.9084	5468
+-118.8112	48.2891	6876
+-124.4021	44.7189	6636
+-88.1725	36.7278	8569
+-120.0816	34.6733	6411
+-93.2726	39.2962	6255
+-115.5589	34.4006	7652
+-90.7088	36.4379	7236
+-121.0038	42.3762	4376
+-109.377	32.951	7665
+-119.618	31.8682	6612
+-120.3423	33.8361	6167
+-115.0508	34.9649	6956
+-118.0213	30.8421	7256
+-120.2651	46.8578	7013
+-88.0281	38.5277	8541
+-121.0195	47.9048	7297
+-91.4763	40.0877	7562
+-109.5674	33.8234	6909
+-113.7631	37.2167	4447
+-125.8352	47.858	6236
+-83.8189	29.5755	7095
+-116.2436	34.7632	8227
+-115.2487	46.0884	6047
+-81.9979	26.8727	8870
+-86.5558	35.6225	6436
+-85.1304	27.5022	6488
+-121.1522	46.4803	7613
+-115.608	46.6725	6363
+-84.7073	29.5642	6341
+-122.2872	47.8031	8467
+-115.7343	37.09	5905
+-115.1201	35.9365	6480
+-77.296	26.4604	4224
+-88.7195	37.5944	9719
+-88.4808	37.9721	9345
+-113.0745	29.648	5838
+-116.9551	42.0206	4717
+-117.3624	34.7905	8813
+-84.0537	41.6711	2872
+-87.3843	38.1089	8186
+-113.9043	34.80	5799
+-85.6418	37.0238	6234
+-87.0072	37.0619	7727
+-92.3355	39.7874	7042
+-126.4065	47.4045	5724
+-123.4628	46.9974	8987
+-118.0555	32.8249	8538
+-88.4989	40.418	6712
+-110.4759	31.0587	8885
+-111.9318	32.5817	7432
+-120.5717	45.5715	6773
+-117.8007	31.6446	8148
+-81.8549	25.2916	7075
+-116.7648	46.5041	7596
+-89.8163	38.0264	8434
+-114.4433	30.1723	5676
+-84.8245	26.5383	6546
+-116.0901	30.8553	7357
+-90.9621	41.0451	6873
+-115.4364	48.3032	5448
+-111.8115	30.7549	7638
+-122.0203	46.1632	8297
+-112.9249	33.0302	6258
+-91.7153	36.5243	6629
+-123.5172	49.3532	6898
+-89.0395	37.5629	9488
+-114.7901	31.9528	7141
+-116.3047	26.8229	3027
+-118.9246	45.7385	8481
+-118.2932	33.9174	8394
+-118.5764	33.7662	8054
+-79.7592	29.4474	6601
+-120.3205	34.5067	6182
+-119.8514	35.9975	6062
+-84.4154	28.2385	7256
+-109.2181	33.6694	6911
+-89.7562	33.784	5318
+-111.8518	32.6208	7481
+-88.984	38.792	8528
+-117.3593	42.6321	5460
+-119.6276	48.6335	6223
+-119.4131	41.0389	3768
+-90.4841	37.9878	8596
+-119.3447	43.5079	6294
+-90.7824	36.8724	7355
+-124.0434	43.4737	5568
+-90.6568	38.4248	8966
+-117.5037	31.4224	8086
+-119.0623	34.8294	7437
+-82.7401	30.0083	7265
+-116.5517	35.8457	7514
+-89.2074	34.272	5973
+-80.0542	27.011	7390
+-111.4392	27.9173	5325
+-120.3601	35.4251	5881
+-90.0946	38.3703	8910
+-121.8757	45.7553	7863
+-90.0007	37.7729	8293
+-115.1306	29.5925	5614
+-88.1331	35.0602	6805
+-83.08	29.5719	7586
+-121.2504	45.7243	7337
+-79.3317	28.3484	6655
+-113.8493	45.7836	4553
+-109.9376	35.2257	5504
+-119.7746	43.6581	6230
+-124.2395	48.9365	6989
+-124.0608	45.8857	7864
+-91.9925	40.969	6470
+-116.8074	34.9364	8529
+-89.6791	38.0334	8711
+-117.0075	46.4268	7866
+-90.5087	38.9089	9206
+-110.7489	32.0267	8815
+-87.3199	35.8217	7184
+-108.8898	28.665	5946
+-115.6106	46.4225	6409
+-88.6472	39.6719	7306
+-83.7985	26.1158	7240
+-126.3905	49.10	5112
+-121.6488	46.5535	8159
+-91.1036	39.1552	8534
+-92.4812	41.3804	5798
+-120.2534	46.5252	7126
+-119.3352	34.3015	7274
+-115.6102	33.3956	8108
+-109.5604	32.9432	7779
+-117.8833	32.5725	8695
+-118.4928	35.101	7834
+-113.2939	28.6753	4977
+-82.4238	25.7968	7640
+-115.988	31.9817	8318
+-124.5633	48.3099	7257
+-90.1988	36.9578	8022
+-108.6283	33.2268	6908
+-119.6977	45.199	7485
+-92.3151	40.8866	6320
+-107.0806	30.3441	5702
+-118.341	37.3888	5798
+-88.5445	34.4062	6147
+-87.006	37.2329	7780
+-118.0311	48.1126	7112
+-117.5393	34.8346	8717
+-88.9338	38.18	9208
+-111.9828	31.2203	7644
+-122.5138	47.6825	8712
+-110.3225	31.1891	9046
+-123.6297	47.6981	8471
+-114.5262	32.642	7024
+-115.777	34.0592	7911
+-121.7053	45.6906	7686
+-118.1704	34.1244	8552
+-90.4308	40.1486	7916
+-112.6825	33.6651	6073
+-116.5392	46.0209	7412
+-116.9126	32.0283	8872
+-110.3204	32.8683	8081
+-107.3162	30.4103	5966
+-92.084	35.4596	5432
+-109.1181	32.2993	7945
+-91.9329	35.8482	5879
+-109.8303	27.4218	4932
+-116.676	30.1017	6707
+-107.7637	28.6749	5269
+-87.8354	35.597	7268
+-119.6098	34.8194	6875
+-87.5535	36.2295	7705
+-119.4477	35.6655	6630
+-123.7917	46.814	8612
+-121.4017	44.808	6719
+-86.6778	35.0934	6095
+-123.6609	48.8424	7382
+-122.7069	45.57	8057
+-106.6535	33.7278	4859
+-117.7315	35.7319	7722
+-124.2174	45.251	7230
+-91.5743	41.7565	5939
+-89.272	39.9768	7640
+-116.9587	47.1511	7470
+-87.6499	38.1147	8464
+-91.0872	33.566	4527
+-120.5079	48.3639	6563
+-126.2745	45.805	5685
+-115.673	34.5285	7747
+-111.9132	35.0551	5341
+-115.0325	32.2001	7489
+-81.0807	26.2803	7832
+-115.2364	28.9537	5032
+-125.9686	43.2451	4307
+-114.4488	34.7066	6401
+-116.0858	32.8178	8770
+-87.7143	36.0751	7674
+-117.9412	34.5527	8671
+-118.0529	46.4515	8815
+-116.3973	48.3262	6170
+-89.9375	35.7049	7251
+-89.6631	34.7059	6343
+-119.2091	48.0392	6985
+-94.0104	38.8991	5512
+-117.4552	47.892	7170
+-118.5775	32.0335	7755
+-118.129	45.6722	8779
+-125.7303	46.6479	6477
+-87.1713	40.4405	6223
+-84.6585	28.7103	6843
+-109.2794	31.0107	8174
+-82.4407	26.4498	8363
+-114.0887	31.576	6257
+-85.2317	37.0829	5793
+-83.5024	28.1861	8272
+-91.1017	39.5885	8234
+-81.0691	29.7394	7356
+-120.1855	45.5008	7148
+-92.1223	39.0261	7526
+-120.9954	47.7373	7349
+-121.5886	46.2793	7980
+-80.3348	29.4055	7140
+-85.0626	25.6805	5824
+-90.7567	42.0949	5797
+-117.1052	34.1444	9361
+-125.4432	47.1725	6803
+-115.4324	32.8132	8042
+-115.9035	32.3074	8438
+-120.0956	46.9741	7130
+-116.2176	30.0779	6586
+-116.5354	33.8605	8687
+-90.7622	41.5792	6348
+-109.1231	31.688	8158
+-120.2856	48.2363	6413
+-117.645	49.397	5704
+-111.7057	31.1458	7913
+-119.2708	47.4957	7450
+-120.5261	47.3691	6961
+-108.1906	29.9316	6542
+-81.9873	25.1224	6896
+-116.5349	32.2528	8961
+-111.4625	31.9572	8185
+-118.4646	44.0825	7115
+-122.2467	47.1672	8855
+-121.9632	42.8571	4976
+-90.5929	43.3235	4490
+-81.4171	28.6076	8643
+-115.1954	35.0295	7076
+-117.6898	33.1109	8882
+-119.5986	46.3914	7834
+-123.1123	47.5536	8920
+-88.0137	37.714	8968
+-82.4615	28.8517	8610
+-116.6688	35.6175	7792
+-116.7563	33.5072	8948
+-88.7621	38.0523	9381
+-89.5833	36.2461	7976
+-92.2597	41.5884	5757
+-117.7128	34.7563	8702
+-121.0452	33.296	5316
+-117.4558	48.9895	6077
+-118.4226	46.1786	9091
+-119.7976	46.1481	7656
+-119.2742	45.3268	7929
+-118.9304	44.5544	7486
+-114.8121	30.1642	5941
+-113.5387	43.3935	3476
+-122.8008	47.241	9286
+-118.5463	45.5767	8640
+-118.9344	34.8185	7571
+-88.8425	35.752	7665
+-118.2177	33.3121	8167
+-91.8114	38.9027	7876
+-121.4164	48.1365	7530
+-89.9406	36.0677	7589
+-118.5418	45.518	8586
+-88.6849	40.0868	7095
+-89.856	40.4084	7549
+-120.1983	32.2424	6092
+-88.422	33.5453	5173
+-117.9951	31.7225	8078
+-91.3113	40.4694	7318
+-89.9454	38.8541	8939
+-112.0159	30.6796	7404
+-112.8777	34.539	5248
+-109.3668	32.5174	8017
+-117.6535	32.2366	8750
+-89.1373	41.0178	6635
+-112.3946	32.5754	6995
+-117.4075	43.3211	6175
+-115.6011	47.6406	5985
+-118.2178	34.2642	8491
+-89.1142	36.2704	8201
+-119.1385	30.5843	6279
+-82.0529	28.1064	9497
+-107.9164	33.0963	6384
+-88.8915	38.8277	8504
+-124.2037	49.8031	6176
+-91.2314	39.3323	8316
+-115.107	34.5869	7131
+-120.9556	49.4792	6116
+-81.8933	24.1584	5801
+-119.1786	43.3823	6230
+-88.1966	36.497	8355
+-84.5032	38.9042	4832
+-90.2217	35.0598	6465
+-88.287	38.2631	8955
+-110.658	27.7599	5316
+-116.5408	33.9535	8722
+-113.3219	31.446	6232
+-90.0717	38.6965	9084
+-119.4816	48.877	6057
+-83.3282	27.088	8338
+-120.5777	32.2482	5675
+-120.626	35.5302	5569
+-80.4716	26.8284	7733
+-118.0772	35.353	7940
+-110.637	29.2646	6940
+-124.7997	43.0534	4827
+-106.5785	32.1329	5362
+-122.2363	49.2189	7026
+-111.1752	31.5479	8561
+-114.5343	28.1431	3876
+-79.5162	30.0376	5972
+-116.4637	46.1815	7331
+-118.9361	36.0583	6758
+-116.2332	48.5137	5907
+-115.9617	36.0832	6979
+-117.1492	42.9467	5711
+-123.528	45.4349	7787
+-90.6627	35.4131	6510
+-108.4314	33.6983	6392
+-117.7585	41.2269	4070
+-116.687	47.7776	6808
+-81.0242	24.2647	5737
+-87.6712	40.0786	6841
+-109.9206	31.9668	8863
+-82.4717	24.4605	6133
+-116.5669	34.4834	8684
+-121.6026	46.4091	8055
+-113.0409	32.6429	6323
+-107.5229	31.1412	6391
+-103.8601	31.0626	2437
+-90.3699	39.0781	9070
+-108.6602	32.7084	7289
+-112.3754	29.603	6392
+-88.1729	40.2318	6859
+-116.6732	45.7591	7518
+-90.0169	42.5247	5337
+-113.2118	30.7931	6239
+-89.902	36.6357	8094
+-83.3816	26.727	8055
+-119.1189	33.9835	7511
+-121.7196	46.8664	8305
+-81.0214	26.086	7613
+-110.9452	32.611	8178
+-121.4062	44.7503	6670
+-84.3028	29.6777	6621
+-119.2346	46.9484	7911
+-112.6946	27.1689	4049
+-118.3956	36.47	6707
+-120.1506	32.4666	6180
+-112.7566	46.1237	3407
+-88.0349	39.079	8029
+-119.2756	31.8815	6974
+-124.3201	47.199	8025
+-114.7283	35.5845	6348
+-93.9865	39.0482	5527
+-79.0173	29.3327	5947
+-111.4097	30.6653	7941
+-120.6375	49.1326	6165
+-87.0999	26.6652	4137
+-82.2907	28.6645	8861
+-88.9351	39.7093	7552
+-118.2022	34.5672	8413
+-116.3398	46.3579	7184
+-83.562	26.681	7862
+-117.036	43.2418	5958
+-117.8906	32.5693	8686
+-90.5391	36.7713	7285
+-124.3907	46.5632	7910
+-117.2575	34.7108	8908
+-115.0278	45.9198	5807
+-123.0416	49.2661	7075
+-115.9746	33.3943	8472
+-115.8841	31.9626	8215
+-116.0838	36.3704	6778
+-114.2685	29.8363	5269
+-119.1033	47.3421	7684
+-87.369	28.5412	3905
+-119.9389	29.0487	4400
+-88.3013	35.8725	7735
+-116.8901	32.8377	9664
+-91.7632	37.0513	7066
+-80.8597	29.4874	7470
+-115.5249	31.5682	7626
+-119.7522	39.6951	2893
+-114.0788	32.6999	6529
+-111.2827	31.1103	8324
+-122.0792	46.9439	8704
+-88.4377	35.6793	7555
+-117.9255	32.5306	8637
+-111.9921	31.776	7664
+-87.4355	37.7203	8320
+-118.2314	48.097	7145
+-90.8116	34.9669	6014
+-116.212	30.474	7008
+-117.3573	45.461	8069
+-89.665	40.5629	7323
+-115.003	31.8204	7297
+-117.5063	34.6853	8881
+-124.0746	45.6435	7662
+-117.3562	33.7025	9058
+-84.3102	28.2584	7368
+-114.4428	33.0871	6922
+-93.4929	35.7577	4773
+-115.8061	30.9723	7322
+-94.2466	34.6519	3354
+-110.0576	36.0164	4661
+-78.3574	29.5067	5189
+-94.4968	36.8425	4537
+-119.3625	47.7641	7160
+-120.0323	43.196	5670
+-83.3782	26.7129	8047
+-110.8654	28.6496	6243
+-117.7045	46.1071	8647
+-118.1979	34.3571	8493
+-110.1563	30.4123	8190
+-80.4196	29.4468	7177
+-89.2276	39.9857	7601
+-80.3779	26.0504	7115
+-90.6856	38.8685	9074
+-115.9775	35.9773	7084
+-88.7731	41.4844	6004
+-122.1184	47.1083	8733
+-90.8698	35.524	6445
+-118.0412	30.3232	6724
+-125.309	46.7408	6948
+-115.1493	34.6598	7158
+-115.8056	31.8622	8077
+-111.3487	34.4383	6190
+-116.5126	32.6334	9207
+-122.2195	48.481	7782
+-123.1088	49.018	7341
+-116.1169	33.2847	8671
+-77.4828	30.1679	3971
+-86.2112	34.7864	5493
+-123.1298	47.9568	8489
+-109.3086	30.1366	7553
+-90.9106	34.4798	5504
+-123.1583	47.1766	9240
+-124.0433	48.0495	7876
+-86.2195	39.2436	6452
+-126.3277	47.4624	5801
+-120.5024	34.9033	5910
+-83.1206	27.4829	8730
+-119.3771	31.3028	6578
+-90.0264	36.4028	7812
+-118.6595	46.97	8257
+-117.3029	47.9657	7028
+-113.1291	28.0749	4613
+-87.2665	39.2804	7341
+-118.3773	31.9654	7915
+-126.5216	47.2733	5613
+-117.8839	33.4005	8493
+-86.9987	38.9137	7386
+-118.3324	32.8121	8229
+-119.1206	45.6077	8232
+-118.7894	44.3517	7333
+-116.8564	39.4783	3690
+-118.411	34.0721	8288
+-90.9352	36.9885	7435
+-117.3115	34.9979	8593
+-87.3932	38.3402	8098
+-115.448	31.5012	7512
+-76.4766	28.6539	3414
+-89.424	36.5443	8356
+-115.0052	36.2438	6164
+-109.3713	27.7054	5145
+-83.4607	27.2689	8289
+-120.7634	49.0936	6294
+-89.0576	38.077	9250
+-86.5774	35.4956	6355
+-117.9884	36.0692	7284
+-84.6454	27.5351	7038
+-122.0498	45.6032	7841
+-79.579	26.9259	6850
+-118.0334	49.9318	5194
+-117.894	33.1019	8671
+-115.1897	31.5323	7307
+-88.3319	39.0302	8208
+-123.6921	44.9585	7235
+-110.6424	28.0178	5596
+-89.4274	37.4487	9034
+-118.0451	38.6002	4592
+-112.3852	36.3487	3852
+-118.686	45.7085	8666
+-87.5772	39.1926	7643
+-119.3254	37.4166	5311
+-121.8849	45.2029	7370
+-112.2907	32.1273	7272
+-124.6672	45.5349	7108
+-120.6538	46.4728	7080
+-79.3204	28.8903	6465
+-115.6736	46.4782	6468
+-88.419	41.4547	5821
+-86.4234	26.3238	4772
+-88.1466	38.1046	8963
+-116.1103	35.0281	7943
+-117.9097	33.5183	8567
+-124.2913	47.2098	8054
+-81.8766	29.4412	7976
+-117.7762	46.4568	8604
+-121.7492	44.2255	6340
+-83.4008	25.7114	7161
+-114.9274	36.2845	6071
+-116.598	34.3805	8760
+-87.3407	34.3566	5770
+-119.8326	37.5607	4868
+-116.8501	33.0399	9472
+-90.7044	34.5539	5700
+-116.8051	33.9207	8984
+-121.3761	45.3212	7142
+-85.0401	25.9206	5997
+-81.2587	27.3206	8782
+-115.8748	46.0203	6708
+-88.3675	39.8037	7374
+-87.132	41.1552	5490
+-117.5285	34.3044	9197
+-90.503	36.9303	7459
+-87.539	39.3983	7432
+-82.0439	27.9068	9704
+-109.5611	32.7986	7914
+-89.0976	38.3633	8949
+-89.2748	38.1135	9055
+-79.566	28.5539	6854
+-122.6016	48.6923	7682
+-120.2425	45.6546	7133
+-90.4419	37.4276	7998
+-80.2878	26.7629	7516
+-115.5895	34.9437	7506
+-123.5297	44.6967	7018
+-91.7366	42.6473	4978
+-117.5196	34.2835	9217
+-116.0242	45.3474	6739
+-111.8786	33.8717	6482
+-116.3149	33.1327	8945
+-112.3024	31.8327	7323
+-93.1795	37.6492	6185
+-111.6967	31.6278	7996
+-109.7962	33.2212	7606
+-120.9718	45.3398	6835
+-117.2051	33.7073	9068
+-119.0928	30.5248	6266
+-117.817	32.9382	8795
+-119.2757	33.0398	7043
+-82.2283	28.6689	8866
+-78.7793	27.8976	6095
+-120.2562	45.85	7154
+-115.7469	46.2635	6569
+-91.3119	37.1812	7459
+-89.8746	38.339	8720
+-96.3572	37.4335	2831
+-82.913	27.1819	8790
+-90.8229	40.5922	7383
+-87.5105	38.3504	8209
+-112.3806	29.9264	6620
+-112.1938	29.8285	6703
+-79.7059	25.4142	6068
+-87.6578	37.7275	8569
+-110.3203	27.8543	5433
+-123.3409	47.2239	9045
+-123.3404	44.8842	7268
+-84.369	29.2243	6873
+-107.3228	32.965	5885
+-85.0544	39.1127	5343
+-117.3085	29.9781	6564
+-125.2275	46.8169	7044
+-108.6371	34.643	5683
+-91.4511	42.366	5361
+-89.9874	37.5488	8438
+-116.1137	45.3767	6838
+-89.6523	39.909	7947
+-85.989	28.5619	5438
+-90.9396	39.1897	8660
+-112.2366	31.7591	7403
+-112.1441	29.6938	6638
+-123.2291	45.518	7974
+-117.4222	35.0691	8503
+-115.4915	32.4832	8066
+-81.7326	29.5633	7810
+-116.0307	30.6561	7127
+-89.7762	32.0216	3379
+-116.0552	33.4485	8516
+-90.5054	40.6884	7331
+-81.7472	27.9882	9389
+-82.814	27.4257	9031
+-88.8258	36.9743	9036
+-92.9328	40.1842	6271
+-117.5125	31.0013	7639
+-121.6517	44.6232	6689
+-87.5313	36.7033	8057
+-81.9369	25.2547	7042
+-88.8355	38.3605	9032
+-118.2946	30.3321	6611
+-81.2023	27.9678	8815
+-83.4938	26.6663	7913
+-109.9186	31.9438	8878
+-115.5537	31.9975	7931
+-118.0454	33.1629	8489
+-84.8639	27.2477	6748
+-109.4846	30.2356	7748
+-117.4068	31.9193	8638
+-120.3597	44.5803	6535
+-86.8832	37.7785	7697
+-114.664	30.1121	5791
+-77.5611	28.4568	4661
+-113.2202	35.5919	4846
+-118.7942	47.5037	7679
+-125.5239	45.9253	6505
+-115.3377	33.0119	7923
+-111.4384	31.849	8242
+-86.622	35.9262	6715
+-86.5721	38.9001	6989
+-120.5577	43.6846	5747
+-80.4928	24.9459	6201
+-117.9308	32.5146	8626
+-118.6245	49.2555	5899
+-111.8849	30.5078	7428
+-88.1812	35.381	7167
+-87.1355	37.8102	7977
+-123.357	46.3414	8755
+-91.2275	36.4377	6771
+-117.3611	46.0063	8279
+-88.7906	36.3125	8296
+-116.1325	30.1665	6654
+-122.6378	44.3705	6739
+-116.7773	49.9024	4929
+-115.4357	31.0197	7120
+-91.9011	34.1092	4493
+-122.7085	48.1824	8254
+-93.1711	37.245	6010
+-115.9957	45.4998	6756
+-122.9006	48.8917	7491
+-119.579	45.0993	7527
+-119.1501	43.8843	6741
+-91.9584	39.7997	7384
+-117.3285	32.4152	9150
+-122.4335	44.9308	7312
+-118.4794	45.6425	8733
+-106.9073	31.5012	5761
+-122.449	44.0123	6323
+-108.77	32.3783	7573
+-90.0356	35.6936	7182
+-89.2956	38.3741	8823
+-86.0056	29.435	5122
+-117.3912	44.7804	7574
+-88.1948	37.9655	9091
+-116.0009	31.489	7922
+-121.7321	46.6584	8279
+-113.1077	30.852	6365
+-88.5241	38.3538	8996
+-115.3595	30.8114	6887
+-89.1068	35.8679	7761
+-113.0975	32.3703	6360
+-110.9632	34.9702	5741
+-119.9895	42.5332	5073
+-82.9621	26.2138	7901
+-109.5026	31.2499	8504
+-113.0078	29.3436	5694
+-124.528	46.0622	7560
+-115.8787	47.5235	6301
+-122.4397	33.3344	3828
+-87.7538	35.8805	7511
+-80.9228	27.8793	8517
+-122.4848	32.1367	3551
+-123.5758	47.4503	8693
+-118.3735	33.2929	8022
+-116.0599	33.3708	8568
+-110.912	31.7221	8829
+-117.5612	30.6983	7299
+-118.4669	46.0082	9043
+-118.6951	38.0116	5029
+-118.4702	30.8184	6963
+-88.7746	37.8858	9568
+-82.6472	25.2014	6933
+-116.3496	43.4535	5789
+-107.9652	33.7382	6005
+-120.854	35.5162	5344
+-119.8213	37.3343	5070
+-90.4727	36.4711	7477
+-115.6845	36.6142	6328
+-118.0886	33.3423	8293
+-88.9731	36.1563	8105
+-117.1589	32.6261	9451
+-79.8142	26.8152	7056
+-93.0669	41.314	5424
+-125.6252	49.2964	5667
+-116.6512	32.2387	9018
+-116.407	46.6092	7201
+-83.4498	32.6656	4153
+-109.2715	28.4366	5875
+-91.1054	36.7947	7178
+-119.1524	47.0516	7896
+-80.803	29.52	7402
+-117.7473	47.0515	8104
+-118.3818	34.0607	8319
+-113.8545	34.9646	5707
+-90.3663	35.2628	6574
+-120.4784	43.5708	5714
+-76.8943	25.3072	3345
+-89.0473	35.6778	7561
+-113.3158	34.9106	5146
+-117.3602	46.0649	8282
+-123.2512	44.8521	7251
+-90.0837	36.5466	7875
+-118.4079	31.3404	7452
+-106.5401	31.767	5359
+-119.2843	35.1989	7049
+-92.1992	41.1677	6165
+-120.6938	45.2086	6539
+-117.3278	29.8481	6417
+-114.5219	36.0496	5886
+-87.9294	38.3837	8577
+-120.4936	48.0293	6716
+-115.6056	37.2934	5644
+-79.3645	27.6414	6757
+-86.4507	28.9785	4819
+-112.7738	30.3417	6507
+-89.93	41.5685	6347
+-117.3944	46.9133	7985
+-88.6996	38.3361	9059
+-82.5654	26.5112	8390
+-110.2923	32.9265	8018
+-117.541	30.8382	7455
+-116.7397	33.2028	9253
+-80.5477	30.2541	6555
+-87.0191	36.0568	7148
+-123.8948	45.3753	7544
+-118.3945	32.489	8119
+-119.4016	44.8027	7447
+-124.3948	49.315	6548
+-117.7715	33.3641	8534
+-116.002	34.5533	8084
+-90.2445	38.9199	9188
+-123.4922	46.2137	8554
+-117.3251	45.7704	8187
+-83.6256	31.1126	5748
+-120.7653	45.0789	6418
+-89.2629	36.2265	8106
+-117.945	30.8962	7349
+-87.389	38.2727	8125
+-112.5558	30.9229	6962
+-90.7256	37.3188	7838
+-117.7955	34.356	8912
+-79.2632	27.4824	6629
+-123.6776	46.489	8604
+-82.9217	28.0769	8934
+-87.5227	36.1651	7627
+-87.516	41.1656	5643
+-114.221	33.4235	6617
+-86.3171	39.1869	6579
+-119.8561	43.8383	6343
+-81.9296	25.6045	7436
+-77.4422	28.7934	4459
+-117.3193	32.974	9322
+-95.671	37.7154	3617
+-90.4749	40.3564	7690
+-118.0821	42.4038	5340
+-111.9138	34.2683	6098
+-120.3877	44.0426	6144
+-121.3539	47.1709	7893
+-119.8072	45.6372	7574
+-86.2672	39.7398	6169
+-116.5518	33.7167	8635
+-121.442	48.1024	7576
+-111.5463	33.5772	6945
+-92.1153	39.2098	7493
+-114.2656	32.7918	6740
+-116.3688	36.3349	6944
+-116.5303	33.5903	8762
+-122.7471	46.3304	8887
+-109.7422	32.431	8354
+-115.5836	32.0387	7983
+-88.5213	38.7566	8560
+-116.3545	34.6067	8417
+-88.1744	38.911	8268
+-82.9683	26.1633	7847
+-89.3105	42.8185	4889
+-114.0063	28.9828	4598
+-119.3938	47.717	7183
+-117.1717	31.1024	7827
+-113.3525	33.5924	5544
+-121.7621	49.9201	6129
+-117.8187	48.0052	7184
+-122.848	45.6451	8153
+-124.9964	48.2417	6910
+-121.3024	47.4175	7782
+-117.9498	34.6444	8607
+-116.6928	33.7088	8759
+-90.2579	36.7286	7838
+-116.0703	34.1021	8232
+-110.2258	29.8125	7551
+-114.7558	36.296	5923
+-118.8013	35.8522	7024
+-116.8767	31.1105	7847
+-115.7741	32.5739	8395
+-88.7151	37.832	9620
+-116.9509	34.3886	9095
+-117.1214	31.2036	7945
+-116.6794	35.9563	7449
+-122.0863	48.8231	7379
+-108.4856	29.6261	6557
+-110.5034	31.7596	9208
+-116.0684	43.9451	5988
+-84.0691	29.4985	6954
+-117.382	34.5693	9046
+-121.0978	28.9887	3471
+-121.748	46.75	8318
+-83.0013	27.2696	8761
+-116.0412	34.6063	8105
+-83.4212	26.9286	8154
+-87.4654	38.6835	7961
+-116.5561	31.6565	8380
+-120.5724	37.3511	4506
+-120.4671	44.6082	6460
+-115.8396	36.3234	6686
+-126.0776	45.4511	5738
+-109.5515	34.5934	6104
+-81.882	33.3754	3541
+-119.4291	45.6662	7963
+-116.3988	30.3603	6941
+-83.0927	28.7397	8346
+-90.1583	35.2691	6704
+-84.1442	27.8645	7615
+-117.7036	43.8978	6849
+-84.8834	28.6524	6624
+-107.935	29.3486	5922
+-114.7224	35.7406	6255
+-89.2095	38.2503	8992
+-121.5575	32.5677	4556
+-123.572	47.6104	8584
+-118.7819	29.6493	5681
+-119.8946	33.7273	6637
+-117.836	31.2468	7751
+-89.6021	40.2507	7601
+-85.0353	39.0253	5357
+-114.8973	35.3313	6642
+-118.5704	33.692	8036
+-81.3617	24.3291	5907
+-79.6045	26.514	6700
+-91.9403	40.5933	6824
+-112.8879	32.6264	6484
+-115.446	38.2044	4673
+-115.4108	49.1855	4796
+-110.4774	31.4442	9257
+-118.395	47.249	8038
+-114.8274	45.8802	5593
+-119.258	35.2111	7068
+-123.7275	44.945	7206
+-90.3123	37.5527	8132
+-81.5176	25.7788	7538
+-90.554	38.6589	9216
+-118.9357	44.6044	7532
+-117.1666	42.6933	5464
+-87.282	40.1538	6563
+-117.6679	46.5386	8460
+-87.7814	39.1207	7843
+-117.3669	43.8124	6651
+-90.2809	37.9071	8509
+-95.1576	39.8004	4155
+-116.8743	33.007	9517
+-88.5546	38.7601	8564
+-108.4454	32.6408	7129
+-89.4129	37.0587	8820
+-91.2772	35.3381	5972
+-88.8855	34.8424	6643
+-118.9861	34.8896	7489
+-119.9554	45.7684	7455
+-111.5114	34.8809	5680
+-87.3828	34.487	5923
+-92.1378	41.1747	6198
+-79.7206	27.1912	7086
+-118.5507	48.6306	6566
+-122.4033	33.3533	3870
+-89.6097	36.0627	7782
+-80.2457	27.6777	7755
+-120.4349	31.797	5721
+-89.7325	36.8537	8398
+-109.1199	30.5211	7726
+-110.9736	34.0866	6674
+-80.3291	27.3112	7787
+-116.6311	46.929	7303
+-119.1965	47.1934	7752
+-81.9928	26.2925	8217
+-85.6313	34.0066	4406
+-108.6114	29.6274	6650
+-110.6308	31.3174	9041
+-112.9978	33.6486	5821
+-117.5922	34.9882	8540
+-118.2452	47.8302	7428
+-119.3673	44.1321	6881
+-83.3287	24.7054	6174
+-89.1321	41.0022	6647
+-119.0289	49.2023	5881
+-82.2328	28.4625	9097
+-118.4072	35.8608	7280
+-110.8389	31.7697	8890
+-117.471	46.6713	8209
+-90.0943	35.991	7416
+-86.3763	24.0212	3489
+-116.6939	46.042	7576
+-116.0064	31.8925	8266
+-116.8329	32.1151	8956
+-118.9856	46.9199	8117
+-116.8606	31.8595	8679
+-91.9765	37.0293	6897
+-123.8678	45.4709	7649
+-120.9503	46.7259	7448
+-88.0967	36.3304	8138
+-116.087	34.2297	8247
+-116.8642	34.3857	9020
+-83.6646	26.0016	7249
+-106.8235	32.6772	5490
+-121.1123	47.2453	7618
+-120.7837	45.1647	6433
+-91.0854	38.8487	8660
+-83.0283	24.4876	6047
+-119.2877	33.2809	7145
+-116.3035	49.0743	5476
+-121.4257	48.0557	7592
+-120.4426	47.4077	6863
+-122.8089	46.9044	9485
+-115.7378	30.0635	6390
+-115.0916	31.1251	6936
+-89.8429	37.6623	8607
+-119.0184	44.2437	7146
+-111.0864	29.7276	7304
+-116.935	34.9533	8573
+-86.8887	37.5127	7700
+-118.0166	48.1906	7028
+-108.6387	32.6067	7329
+-120.8106	35.8615	5237
+-84.2431	28.6909	7287
+-110.7705	33.4416	7405
+-118.5367	48.796	6393
+-111.1232	29.2556	6810
+-121.9319	48.7617	7365
+-88.5997	38.4409	8925
+-87.7627	36.7731	8307
+-84.2137	40.1237	4007
+-106.9678	31.3244	5816
+-79.4356	30.6536	5422
+-93.2041	40.9053	5598
+-87.2533	36.3709	7579
+-118.0066	47.4347	7817
+-92.5876	37.4378	6659
+-81.6827	29.4473	7924
+-110.9719	34.5232	6214
+-82.1406	24.8913	6639
+-113.3268	32.9533	5907
+-122.6372	45.2065	7651
+-118.0829	33.657	8507
+-91.5614	37.837	7818
+-119.074	37.2631	5595
+-90.1449	38.5158	9064
+-91.2944	41.3636	6441
+-122.8592	48.0166	8452
+-121.2282	45.8116	7374
+-88.0144	36.2724	8038
+-89.4437	35.2142	6960
+-120.0203	46.0764	7421
+-111.5929	33.118	7322
+-114.982	35.1952	6790
+-115.2919	34.7264	7289
+-89.8626	35.5042	7094
+-86.0559	39.5871	6086
+-115.3232	34.6563	7343
+-107.6373	30.4428	6302
+-91.1969	36.0074	6341
+-90.3163	42.5243	5356
+-88.5685	38.0587	9321
+-89.6238	42.684	5106
+-120.4459	43.1372	5376
+-117.2989	46.3013	8196
+-83.0432	29.3043	7871
+-124.7129	45.3565	6942
+-89.4499	39.7694	7935
+-117.8994	45.7201	8689
+-119.8214	45.1969	7372
+-91.2495	38.2724	8358
+-125.181	47.5173	7028
+-122.4084	48.6719	7656
+-85.4269	36.2356	5737
+-116.3466	34.9525	8194
+-118.2959	44.9952	8090
+-118.4006	31.3531	7467
+-90.2936	40.0094	8063
+-93.538	39.2964	5973
+-117.507	32.9594	9129
+-81.8156	26.4916	8406
+-117.7208	34.1751	9040
+-117.5493	30.2383	6804
+-87.8135	37.9753	8690
+-109.9985	30.2473	7981
+-108.7023	31.0258	7606
+-87.6553	37.3845	8528
+-108.9352	33.8594	6579
+-118.5385	44.8715	7932
+-113.9669	48.8153	3860
+-116.1409	43.69	5845
+-118.6156	47.2308	8012
+-93.9355	36.5454	4918
+-121.3526	37.8361	3523
+-116.4769	32.6365	9171
+-91.131	34.9883	5805
+-83.6064	29.2146	7556
+-109.6705	28.019	5546
+-88.0432	38.9881	8123
+-115.8771	34.4205	7990
+-116.1254	32.6285	8791
+-125.3486	48.394	6492
+-116.2566	34.2078	8433
+-112.3995	34.7617	5366
+-120.011	34.0791	6544
+-90.828	37.9974	8482
+-115.3505	34.3109	7439
+-116.7599	31.9371	8745
+-119.6721	34.0943	6914
+-115.3605	32.1136	7797
+-89.766	33.9497	5495
+-88.0973	38.059	8944
+-116.8786	45.9095	7759
+-121.2201	44.6628	6474
+-115.6358	29.7705	6045
+-88.948	39.3666	7741
+-117.0706	32.6378	9522
+-81.6336	30.9503	6246
+-117.6512	48.3743	6761
+-88.2579	41.281	5862
+-119.144	33.5693	7400
+-110.5507	31.6471	9228
+-118.6248	32.2384	7794
+-87.8882	37.6122	8827
+-118.2822	31.7734	7880
+-83.7314	28.3316	7975
+-86.9814	36.479	7409
+-120.97	45.5438	6972
+-88.8796	36.3452	8327
+-109.9925	32.2915	8622
+-116.134	34.7952	8107
+-83.4232	28.6791	8105
+-113.959	35.2504	5730
+-82.4091	25.3394	7129
+-85.9636	36.0592	6188
+-114.6878	32.8315	7211
+-80.6112	27.6195	8162
+-107.8436	33.1673	6276
+-117.2009	33.4953	8838
+-110.6476	31.2381	8968
+-121.6543	49.0103	6977
+-119.2588	46.8373	7966
+-124.7582	49.878	5812
+-116.8579	35.8953	7565
+-87.6388	38.1751	8426
+-92.8846	39.5416	6597
+-123.3741	46.7999	9054
+-118.6555	33.4886	7868
+-92.9269	41.2636	5570
+-83.5647	27.5418	8253
+-119.6353	45.8531	7805
+-118.299	34.9419	8107
+-86.7137	34.9228	5969
+-81.6169	24.7767	6460
+-110.9817	29.305	6907
+-114.8621	35.0098	6746
+-119.2512	48.7698	6253
+-127.6234	49.9668	3459
+-121.7215	47.5378	8167
+-124.3106	47.2545	8024
+-115.5096	43.0078	4861
+-117.9538	35.2655	8093
+-106.2506	32.0004	5027
+-118.2513	33.6127	8323
+-88.981	36.6911	8695
+-115.1069	30.7277	6633
+-119.2368	33.7446	7347
+-111.6036	29.3065	6649
+-108.8933	31.1456	7843
+-119.6895	33.0052	6623
+-125.6543	47.829	6435
+-114.9506	33.2702	7448
+-124.1824	46.4795	8099
+-120.528	42.2771	4565
+-91.5876	39.5822	7847
+-88.6769	39.3494	7923
+-87.7866	38.8969	8049
+-80.5767	30.6097	6225
+-116.1214	34.8806	8046
+-91.2342	40.1485	7660
+-81.1078	26.025	7606
+-80.0269	28.3113	7431
+-121.0077	45.9633	7253
+-108.5076	29.5031	6475
+-83.9253	29.4824	7086
+-89.2948	33.9899	5646
+-82.5195	27.8369	9448
+-82.5922	31.1344	6047
+-114.7026	29.9744	5700
+-87.2828	34.4532	5843
+-90.7644	40.1089	7903
+-86.9162	33.3497	4544
+-116.5223	30.0463	6623
+-116.512	31.9688	8680
+-110.6949	32.8101	8088
+-112.0567	32.8558	7152
+-117.8487	34.8953	8492
+-81.282	26.8265	8458
+-115.3772	35.1835	7180
+-121.9567	46.9627	8570
+-119.6906	48.9514	5893
+-82.8276	30.1109	7126
+-109.0061	33.2179	7192
+-115.9107	33.1664	8512
+-90.4812	35.3329	6565
+-121.9551	45.9913	8114
+-119.6217	46.7581	7681
+-89.8956	39.0573	8803
+-90.9268	35.4571	6347
+-119.1743	32.5572	7273
+-86.9039	36.9949	7593
+-88.9037	39.6982	7530
+-112.6195	30.5093	6737
+-87.5075	39.7002	7130
+-118.6439	34.1466	8035
+-92.5915	42.2762	4940
+-121.2348	45.3204	7034
+-108.3744	29.951	6711
+-92.851	36.8204	6048
+-116.155	30.8374	7367
+-116.4047	33.3811	8864
+-106.4373	33.7976	4618
+-114.8855	32.0027	7260
+-83.6767	27.4643	8113
+-109.8367	30.3206	8004
+-88.8507	39.017	8296
+-115.4385	34.0663	7542
+-117.1626	46.8823	7813
+-120.6393	37.1286	4617
+-89.3265	37.5267	9167
+-89.0622	37.4821	9424
+-92.9997	37.3752	6239
+-88.1362	36.577	8403
+-120.9881	47.3401	7466
+-89.947	36.6311	8053
+-116.1615	30.4508	6965
+-109.5792	33.7308	7008
+-111.0404	29.7139	7308
+-80.8655	28.8851	7980
+-115.1253	34.8101	7088
+-120.9269	31.9497	5231
+-81.9736	29.1891	8273
+-116.3038	35.9357	7309
+-89.3636	38.9356	8307
+-81.9338	32.316	4740
+-79.8542	25.8821	6547
+-91.9299	37.2138	7075
+-125.918	45.0989	5707
+-113.4819	32.8694	5789
+-114.568	48.4191	4622
+-115.6723	32.2494	8177
+-113.6336	33.859	5858
+-83.7984	31.2031	5572
+-119.2792	33.7284	7299
+-110.7348	32.6107	8278
+-90.8222	42.2476	5625
+-116.4284	30.6716	7286
+-83.421	30.4289	6547
+-90.6736	40.5706	7437
+-121.4719	45.5069	7363
+-92.0974	37.4172	7084
+-116.1266	30.8987	7417
+-122.8774	45.0671	7519
+-111.0398	33.159	7603
+-108.2881	32.1218	7182
+-118.5333	47.616	7633
+-91.7376	39.144	7904
+-89.4053	37.6918	9098
+-83.2142	28.2212	8566
+-81.8879	26.1414	8033
+-117.336	35.1289	8449
+-118.7705	30.7304	6677
+-119.0093	45.3775	8176
+-109.2209	31.0143	8120
+-116.3234	33.3912	8791
+-80.2095	29.6701	6831
+-115.3555	31.253	7249
+-115.7989	35.2114	7551
+-110.8784	29.1339	6755
+-120.1248	32.9436	6161
+-119.3741	42.6792	5458
+-119.4591	46.3278	7992
+-93.8573	39.5276	5587
+-83.6295	29.7148	7113
+-109.2627	33.4697	7123
+-118.5828	47.99	7234
+-116.5992	33.5038	8884
+-119.2548	36.2638	6359
+-118.1279	35.7535	7536
+-81.7046	25.5986	7392
+-116.0991	43.5773	5726
+-115.5566	34.5317	7623
+-119.7636	37.0219	5373
+-82.8302	29.4638	7817
+-87.0008	37.415	7813
+-109.8899	30.5171	8222
+-80.6053	25.3789	6685
+-89.81	35.2634	6875
+-112.4063	29.5724	6344
+-84.1205	25.6396	6599
+-122.6459	44.2523	6611
+-91.1513	35.7193	6360
+-116.7966	46.4018	7654
+-87.1183	37.3049	7921
+-119.607	46.8636	7642
+-82.375	25.3006	7089
+-116.9694	44.5236	7087
+-122.059	47.9491	8185
+-117.9501	33.0507	8625
+-88.0975	32.2602	3701
+-118.2547	45.1538	8258
+-116.7076	46.5789	7516
+-88.0709	38.8821	8242
+-108.2584	33.6609	6292
+-120.3958	30.8562	5347
+-118.6583	28.5284	4611
+-86.552	39.276	6742
+-110.6794	34.0613	6763
+-120.3341	32.3431	5960
+-117.9573	44.1544	7171
+-92.172	37.216	6884
+-93.8461	36.9409	5213
+-115.9686	34.2019	8120
+-92.3518	41.8696	5448
+-114.4534	33.7552	6761
+-118.257	35.0841	8040
+-84.097	28.92	7316
+-116.6646	47.3303	7107
+-88.9525	37.3126	9367
+-110.7696	34.4046	6380
+-125.9649	46.8957	6238
+-87.382	37.8085	8253
+-87.3568	39.2105	7468
+-120.6254	43.5543	5597
+-115.7243	35.931	6954
+-117.3626	45.634	8168
+-86.6164	39.4008	6714
+-121.2695	48.2709	7312
+-89.1957	36.7399	8669
+-116.8176	33.7818	8916
+-92.3671	36.2752	6006
+-118.3261	47.3135	7975
+-88.8914	40.303	7103
+-83.8838	27.7904	7912
+-106.8866	30.5587	5578
+-83.7265	39.6188	3748
+-85.2378	38.339	5783
+-120.2426	48.2191	6204
+-119.283	31.6926	6881
+-120.6352	44.7341	6380
+-121.8052	46.7493	8380
+-90.9172	39.9728	7986
+-116.6908	43.9779	6451
+-113.1079	32.8339	6176
+-89.9501	37.4145	8457
+-90.1386	36.0248	7414
+-92.0756	38.5145	7583
+-84.7144	29.4863	6384
+-122.5805	48.1984	8208
+-90.1806	35.1166	6543
+-92.2393	36.8192	6538
+-115.2569	32.1627	7711
+-122.7648	47.6922	8795
+-91.7794	38.641	7915
+-114.0021	34.0944	6152
+-91.4062	35.9551	6216
+-90.4344	42.6007	5274
+-118.9855	32.1138	7368
+-120.8151	44.906	6296
+-115.0555	32.5766	7604
+-117.5386	31.6312	8285
+-81.7189	30.2315	7065
+-112.9161	29.1087	5598
+-90.219	40.2909	7754
+-117.7586	31.9962	8481
+-116.5491	32.1277	8854
+-77.1499	24.4284	3106
+-113.9522	30.5149	5385
+-92.9692	40.6766	5949
+-118.8363	28.8904	4902
+-86.1534	39.3635	6317
+-124.5421	45.7893	7386
+-85.5473	28.8822	5829
+-87.5798	25.8326	3354
+-90.9664	34.3758	5372
+-125.6486	48.6314	6076
+-91.7836	37.6419	7500
+-80.595	30.6648	6180
+-81.7641	27.6083	9438
+-91.706	36.877	6953
+-116.391	33.3817	8853
+-117.4702	46.8981	8054
+-112.4553	32.2008	7079
+-107.6797	33.9476	5623
+-113.5646	48.6307	3590
+-117.7211	34.6881	8756
+-113.3944	33.4505	5589
+-83.1733	28.9133	8141
+-121.1902	48.1126	7345
+-82.8936	28.7352	8499
+-121.4619	46.868	8022
+-119.0741	32.1437	7285
+-112.9198	30.6597	6498
+-112.7022	31.2615	6883
+-113.4113	29.0335	5143
+-121.7131	48.2928	7651
+-90.3046	37.8046	8402
+-89.224	34.1239	5806
+-118.3429	35.9269	7256
+-125.9814	48.2307	5947
+-119.426	43.0919	5853
+-119.1929	49.3546	5682
+-116.3267	49.0316	5528
+-88.289	38.525	8712
+-90.1385	35.4711	6910
+-88.7555	37.0246	9095
+-121.0484	48.0478	7251
+-107.7535	30.8597	6571
+-89.9818	43.4793	4309
+-109.8275	30.2092	7887
+-114.0587	34.599	6002
+-121.2096	46.5654	7698
+-83.8388	27.553	7948
+-91.5303	33.477	4182
+-91.8292	37.7844	7550
+-90.9588	37.6108	8049
+-91.1876	37.8871	8153
+-124.7931	44.4453	6142
+-118.1917	32.6578	8375
+-121.60	46.2829	7992
+-121.3903	48.3174	7381
+-115.9243	31.6019	7967
+-110.0901	34.9092	5860
+-92.9569	38.181	6583
+-123.524	47.8086	8455
+-119.4049	28.631	4350
+-83.7776	29.45	7230
+-114.4257	32.5422	6902
+-82.9019	33.7279	3092
+-125.0472	47.391	7202
+-118.5349	47.7244	7520
+-110.0703	31.9155	9015
+-117.1788	35.9038	7604
+-110.1739	30.34	8115
+-117.8316	45.9037	8739
+-116.6358	31.8418	8605
+-118.0173	48.3421	6869
+-110.4892	30.9591	8776
+-79.9229	27.9969	7378
+-124.8424	43.686	5418
+-124.2115	42.264	4243
+-117.6227	35.2724	8236
+-116.0697	32.6798	8741
+-86.3161	41.269	4924
+-115.7288	33.6287	8102
+-86.6482	35.1486	6122
+-118.7049	44.7036	7716
+-89.2948	40.0972	7558
+-85.7484	36.7023	6259
+-80.682	27.7749	8250
+-89.7233	34.6752	6290
+-87.5268	33.0695	4471
+-91.3447	36.4328	6720
+-118.2709	31.7141	7848
+-123.4912	33.5673	2720
+-117.3688	35.2571	8307
+-119.2949	49.5346	5469
+-115.3624	34.8466	7320
+-117.5254	33.0395	9082
+-111.1716	30.5484	8031
+-114.7524	33.5599	7148
+-81.7285	25.7315	7545
+-111.1179	30.2794	7825
+-109.7661	31.2598	8766
+-123.888	48.2118	7860
+-117.3624	34.8039	8799
+-115.1817	35.1327	7016
+-113.4548	32.1511	6036
+-81.6977	28.5903	8838
+-117.9066	33.4071	8482
+-82.6439	26.9821	8833
+-127.4908	45.7992	4402
+-89.7873	37.2589	8582
+-114.8715	32.5246	7393
+-88.0335	36.5062	8275
+-85.5337	29.6465	5497
+-80.1976	27.4717	7677
+-91.2925	38.2634	8313
+-121.1658	29.0696	3475
+-81.0873	27.5138	8675
+-88.594	40.1677	6964
+-112.0971	29.9953	6902
+-114.7129	33.1928	7204
+-115.2386	32.217	7713
+-91.118	37.8727	8191
+-114.2603	34.7468	6191
+-89.3345	35.4228	7218
+-116.149	30.2479	6746
+-81.3415	26.88	8548
+-90.2992	37.8423	8442
+-118.5526	34.3142	8121
+-108.0698	27.7355	4637
+-82.9332	26.6444	8333
+-85.7692	39.7725	5703
+-116.7606	30.305	6942
+-89.8376	36.9165	8348
+-87.6232	36.6506	8099
+-108.6012	29.0823	6177
+-82.7803	29.0661	8250
+-85.9338	38.7111	6426
+-119.2956	44.1351	6920
+-110.183	33.3319	7572
+-108.3006	36.4338	3775
+-92.7279	40.1872	6460
+-120.3417	47.6738	6516
+-117.213	34.4604	9176
+-84.0709	34.7839	3631
+-120.1784	46.9829	7046
+-122.7311	44.4741	6862
+-114.282	36.3637	5474
+-88.2055	38.5597	8631
+-90.5326	40.4005	7638
+-81.5634	28.4661	8872
+-117.6423	37.6394	5691
+-125.9187	48.5619	5855
+-120.1152	49.8182	5227
+-119.972	34.6716	6529
+-124.0572	49.3271	6718
+-83.2627	25.0887	6604
+-91.3242	36.2754	6571
+-118.5467	32.1402	7836
+-89.3147	38.5025	8693
+-118.1693	44.0108	7045
+-118.3189	35.2152	7892
+-118.7011	48.0415	7157
+-91.1451	38.0618	8318
+-118.449	32.1418	7936
+-118.9855	31.0933	6792
+-117.9208	30.6331	7095
+-89.8572	42.0455	5827
+-86.8243	37.7001	7634
+-80.735	28.2314	8225
+-118.401	32.4009	8087
+-117.2556	37.242	6147
+-113.6746	30.5906	5697
+-111.9591	29.2645	6405
+-122.00	45.743	7937
+-118.7451	32.4282	7722
+-85.5651	27.1826	5954
+-116.8597	31.3579	8121
+-88.236	37.4547	9174
+-116.2192	35.4039	7742
+-117.4774	31.0864	7741
+-90.629	37.1579	7688
+-85.1504	37.7599	5755
+-119.2328	33.1423	7136
+-119.3014	34.3104	7310
+-89.0544	39.2696	7886
+-89.2584	40.5456	7141
+-119.0118	35.6876	6989
+-92.7291	38.3079	6851
+-89.5265	38.044	8862
+-115.4179	32.8057	8025
+-117.1744	34.2135	9405
+-118.9828	37.4283	5485
+-81.4146	29.1727	8106
+-117.1443	33.3969	9076
+-109.0218	32.201	7903
+-113.2171	34.1213	5311
+-106.398	29.8836	4829
+-112.8856	32.404	6569
+-127.9042	49.7702	3304
+-106.3167	30.507	4968
+-82.5246	26.2632	8135
+-114.0698	31.8017	6329
+-90.7588	38.9101	8984
+-120.0027	45.4847	7326
+-115.5804	35.8874	6884
+-94.1239	40.1557	5117
+-81.2238	29.6887	7487
+-89.6202	37.50	8839
+-87.64	37.0742	8387
+-119.8538	34.8158	6619
+-80.6434	29.793	7047
+-90.6793	40.6074	7397
+-90.8542	40.022	7962
+-118.3809	47.046	8253
+-80.9512	26.0845	7566
+-89.0743	39.1196	7958
+-110.5402	31.7197	9205
+-121.1189	42.0297	4007
+-117.5842	49.3142	5777
+-96.4887	41.6144	2155
+-87.4416	39.7077	7083
+-120.3535	45.0609	6807
+-81.2904	28.3641	8724
+-116.7946	33.1631	9321
+-89.6921	37.4002	8734
+-117.25	44.9711	7640
+-118.8692	37.2885	5678
+-89.5186	39.7604	7991
+-87.9908	38.4353	8589
+-86.1749	31.0027	4035
+-92.655	35.9315	5523
+-89.6678	38.5415	8621
+-115.0114	30.1969	6107
+-80.6365	26.4698	7652
+-82.8263	31.1985	5931
+-115.4554	34.0649	7561
+-122.6689	47.1073	9309
+-116.7683	46.0377	7655
+-123.311	43.9353	6245
+-84.7258	28.7582	6752
+-120.0167	45.5642	7339
+-123.1188	43.781	6098
+-91.6974	39.1888	7931
+-87.7636	34.563	6154
+-116.6291	43.0157	5554
+-120.2367	35.5943	5927
+-110.6739	31.1868	8907
+-112.1631	30.3083	7057
+-90.3265	39.1628	8975
+-119.1908	32.8098	7272
+-91.0895	35.5941	6321
+-107.2806	28.0154	4386
+-83.4022	25.8158	7260
+-111.3553	34.5622	6061
+-121.0097	32.7375	5180
+-88.7505	36.8371	8884
+-109.2615	30.8261	8052
+-111.2198	29.359	6879
+-110.6711	29.5971	7291
+-92.1425	37.2945	6963
+-120.1853	40.9589	3455
+-119.8201	48.3225	6399
+-116.9702	45.8078	7836
+-82.8029	31.6436	5441
+-117.3175	45.9976	8232
+-115.6585	48.5186	5480
+-117.1241	46.6953	7880
+-123.8776	47.1094	8521
+-93.066	38.6495	6531
+-117.8972	30.4384	6904
+-87.2241	29.8731	3659
+-111.2187	30.3129	7796
+-89.6543	39.9411	7919
+-85.2748	36.2231	5574
+-86.9053	40.201	6285
+-118.6908	46.3548	8752
+-117.1144	35.5911	7939
+-87.4913	37.5388	8377
+-84.0569	37.0522	4484
+-117.4858	45.0756	7886
+-107.5027	30.434	6164
+-115.0929	46.5328	5851
+-118.8501	45.6092	8466
+-92.966	38.0672	6545
+-109.337	30.4788	7862
+-122.5204	46.5665	9000
+-82.7949	25.5056	7227
+-80.7039	25.099	6468
+-118.2942	32.3709	8191
+-108.7191	32.8573	7245
+-120.2452	44.1411	6324
+-116.7123	44.6959	7029
+-117.6843	29.6206	6099
+-79.4191	28.6078	6678
+-115.915	33.3497	8438
+-92.0444	44.1592	3325
+-88.6354	31.0646	2403
+-111.9383	31.8927	7703
+-117.3796	35.3639	8190
+-81.8388	29.1923	8245
+-116.0235	44.3417	6228
+-119.8257	47.1306	7296
+-126.1035	47.2126	6076
+-115.4968	32.875	8112
+-116.3711	42.5255	4967
+-109.5669	34.7326	5962
+-88.5846	41.2029	6146
+-90.1643	35.5718	6989
+-90.6862	37.757	8305
+-115.1875	42.7979	4467
+-118.9192	33.5853	7639
+-82.9295	28.5582	8622
+-116.5802	33.2021	9144
+-78.3442	26.3954	5334
+-84.1252	28.0223	7620
+-115.6881	35.6724	7133
+-114.3378	36.2214	5614
+-115.0937	34.9701	6998
+-125.8713	47.2404	6328
+-87.121	38.9309	7485
+-88.8602	37.7835	9647
+-117.6357	44.8929	7810
+-116.6181	46.3715	7474
+-88.7832	34.1219	5837
+-87.2461	40.0487	6642
+-89.6859	40.0065	7875
+-116.5739	48.5014	6139
+-111.1141	32.5599	8119
+-89.6652	39.4669	8331
+-79.0905	29.6244	5859
+-119.9543	34.4393	6587
+-106.0961	35.9755	2861
+-124.3916	45.9424	7618
+-119.0992	36.8663	5949
+-89.5352	39.6855	8063
+-115.5104	33.497	7960
+-110.2186	32.6502	8311
+-117.0227	47.7643	7049
+-89.7783	38.1829	8531
+-92.2057	40.2997	6846
+-118.2445	33.7244	8382
+-117.5738	48.1359	6977
+-121.4993	45.4974	7376
+-118.5598	31.5074	7453
+-116.7499	32.9508	9469
+-115.648	35.0932	7485
+-107.7462	34.5907	5175
+-90.1714	39.2764	8813
+-118.9664	46.9239	8127
+-110.4669	33.2219	7692
+-117.025	48.2981	6578
+-113.2982	33.4648	5669
+-116.7443	33.939	8930
+-118.6443	40.9746	3819
+-119.955	48.2907	6342
+-122.0351	46.0363	8211
+-122.6208	43.7947	6108
+-82.2962	27.2017	9227
+-124.5507	44.5202	6364
+-89.5522	39.9248	7873
+-120.4324	42.9348	5209
+-109.2949	27.2185	4612
+-119.4573	49.5241	5427
+-114.2524	30.0613	5439
+-112.8966	30.0863	6257
+-92.8005	37.5395	6511
+-90.6652	41.7818	6143
+-89.4465	38.6429	8408
+-90.2723	37.6051	8185
+-124.4068	48.9615	6860
+-87.5742	36.2214	7712
+-111.298	31.0249	8266
+-118.8865	28.5017	4485
+-109.2233	30.2186	7568
+-118.9263	32.0779	7417
+-122.0387	46.2152	8350
+-124.2179	46.4608	8055
+-116.4103	31.0249	7660
+-118.2445	46.4931	8842
+-81.6321	30.6747	6554
+-89.8518	37.1203	8452
+-119.4237	48.0833	6838
+-81.6732	26.3183	8173
+-90.5229	43.4264	4382
+-120.1947	36.4505	5465
+-116.1542	32.6435	8826
+-115.999	36.7567	6360
+-118.9323	44.3109	7245
+-114.9458	45.7702	5709
+-107.2495	30.8511	6040
+-118.119	33.6519	8470
+-90.3147	35.8252	7115
+-116.3839	32.5926	9057
+-122.3097	46.8723	8949
+-87.0829	36.5674	7558
+-117.1915	43.1436	5923
+-119.4723	36.1155	6303
+-107.8747	32.8482	6478
+-117.698	44.428	7384
+-118.182	48.8016	6397
+-117.7662	32.3999	8747
+-113.3794	34.5799	5270
+-116.2748	46.7586	7022
+-113.4289	31.1194	6082
+-117.525	35.9487	7538
+-121.6985	44.4671	6559
+-123.2869	49.1587	7161
+-117.5578	47.2012	7864
+-122.4475	47.7092	8651
+-84.3465	27.8139	7388
+-109.3808	29.5132	7005
+-112.2101	29.9049	6746
+-122.874	47.6054	8904
+-120.0101	49.3782	5336
+-126.9665	47.00	5138
+-93.4301	39.1701	6109
+-116.6959	46.5064	7525
+-92.6997	42.7095	4480
+-85.9334	36.9264	6528
+-87.1053	37.0692	7834
+-120.7628	32.5653	5509
+-125.085	42.1655	3811
+-89.9069	34.7403	6290
+-117.4719	43.747	6625
+-124.2834	45.0521	7011
+-121.9836	48.2029	7916
+-90.2743	37.803	8397
+-118.1628	37.1816	6072
+-111.9342	31.1801	7685
+-94.764	40.5735	4310
+-88.4793	39.8967	7029
+-93.243	38.3904	6318
+-79.637	27.5726	7060
+-120.2059	38.5618	3740
+-81.5521	24.8828	6564
+-85.8141	37.5788	6499
+-117.7672	33.4573	8620
+-109.548	30.7759	8253
+-86.164	28.5288	5251
+-123.6373	44.7467	7036
+-118.7202	34.2041	7950
+-89.6366	36.9372	8541
+-112.7224	30.5115	6637
+-91.4615	36.7748	6999
+-122.4961	48.8625	7477
+-88.2974	37.3163	9158
+-117.5418	47.9844	7116
+-117.267	30.6293	7290
+-116.1328	41.5501	3931
+-88.1042	37.9387	9011
+-90.3997	39.7077	8392
+-78.666	25.9088	5442
+-118.2861	43.6423	6658
+-120.1829	48.7245	6051
+-83.8345	26.9051	7735
+-89.207	33.5211	5136
+-108.812	28.869	6102
+-117.2206	30.7367	7416
+-123.0317	48.0314	8427
+-82.5971	27.9668	9321
+-123.1728	46.2065	8719
+-113.3304	35.8005	4875
+-124.1531	46.9937	8229
+-82.6563	25.0545	6768
+-118.2416	33.5615	8305
+-110.8696	33.0505	7781
+-117.2576	34.8098	8800
+-123.4181	48.4533	7877
+-119.7999	46.3237	7637
+-114.2237	35.0668	6066
+-121.3306	47.3369	7835
+-120.3052	46.3523	7103
+-119.8734	29.886	5149
+-114.9936	32.5597	7534
+-81.0356	28.6784	8278
+-91.6823	38.7522	8024
+-81.9317	28.2314	9319
+-118.5578	35.5472	7449
+-91.3861	35.8457	6113
+-119.194	34.0666	7434
+-89.9118	38.0019	8471
+-117.3579	32.5594	9231
+-116.3804	32.9403	9085
+-84.3149	27.689	7423
+-110.5486	32.6189	8327
+-113.2058	32.493	6209
+-112.6239	33.8612	5974
+-114.8465	33.2135	7347
+-89.2102	36.2021	8098
+-82.1515	27.5074	9598
+-117.4417	33.1197	9124
+-119.8841	32.4654	6475
+-116.3689	33.248	8931
+-118.9138	35.5752	7150
+-87.1017	36.3241	7415
+-91.8763	37.7487	7487
+-119.9219	44.0415	6474
+-115.3553	33.3676	7853
+-90.032	36.26	7692
+-126.9169	48.1052	5019
+-117.2941	45.5671	8071
+-114.197	43.5056	4134
+-90.7378	42.1744	5714
+-110.7661	32.266	8598
+-111.4992	32.6187	7784
+-84.7833	30.8937	5255
+-121.8549	30.3047	3623
+-117.0299	32.5224	9417
+-90.7729	37.5154	8029
+-83.3184	27.1202	8365
+-117.2788	42.0622	4854
+-110.0331	32.8484	8065
+-88.0486	40.6839	6157
+-115.5895	31.7807	7831
+-117.784	43.6426	6605
+-119.7905	32.8986	6473
+-115.633	27.4148	3547
+-89.929	38.7211	8934
+-123.7521	46.6435	8605
+-112.4046	34.0522	5982
+-118.0704	44.0561	7084
+-88.7138	37.2841	9382
+-115.6217	33.5761	8030
+-121.7032	45.566	7582
+-87.9139	35.8376	7550
+-109.311	30.5047	7863
+-120.0899	32.1966	6201
+-86.5177	36.3906	6913
+-117.8476	35.1511	8260
+-118.9265	44.8413	7764
+-117.6162	44.2881	7216
+-116.868	33.9233	9046
+-91.8225	39.2468	7783
+-122.1271	47.5153	8565
+-118.0213	42.2955	5222
+-122.5174	44.8801	7276
+-116.1802	34.0545	8350
+-118.4205	33.5081	8106
+-119.5648	46.9425	7636
+-117.4995	38.6003	4659
+-109.16	34.4688	6099
+-89.9514	39.4598	8529
+-116.0597	35.2053	7777
+-78.9063	27.2337	6192
+-113.2165	35.1866	4973
+-94.3761	35.3116	3745
+-114.5676	31.1392	6488
+-112.6279	32.8134	6653
+-119.8962	34.9478	6535
+-123.3897	47.2443	8988
+-124.0447	46.8217	8339
+-88.4562	37.8821	9391
+-123.6632	48.2125	8001
+-84.1158	31.6724	4937
+-87.0358	38.89	7436
+-108.3538	31.8633	7307
+-82.4204	27.0121	8979
+-121.6775	46.8942	8261
+-115.8946	33.8438	8008
+-122.9507	47.9431	8532
+-88.0807	37.0062	8747
+-117.9418	31.1385	7588
+-117.286	32.4461	9207
+-89.0873	34.6021	6357
+-108.1758	32.7054	6839
+-112.7549	33.6173	6047
+-114.8863	44.1545	5115
+-120.4599	44.8471	6601
+-115.6111	34.5928	7664
+-109.8782	27.5787	5107
+-106.383	32.7687	5005
+-119.3051	32.605	7134
+-117.682	45.7152	8505
+-87.9118	35.4435	7142
+-82.6456	28.0166	9248
+-88.7056	37.9702	9467
+-89.4973	39.1496	8377
+-118.416	33.8503	8247
+-116.1211	31.0889	7607
+-124.1256	45.8826	7809
+-113.5919	30.0301	5562
+-85.4227	39.7577	5388
+-84.3591	27.312	7322
+-114.017	30.9317	5848
+-117.3674	34.9816	8606
+-89.3063	37.9232	9144
+-123.5964	44.2077	6480
+-117.661	34.4746	8969
+-91.3018	41.5046	6295
+-115.30	35.9883	6589
+-88.7131	37.1975	9286
+-115.1878	33.0243	7755
+-91.4739	35.7479	5982
+-89.3446	33.7732	5398
+-122.2054	45.987	8287
+-117.595	33.1053	8981
+-119.121	44.0351	6901
+-115.2224	33.1718	7767
+-120.9777	46.4041	7406
+-114.5973	36.852	5382
+-89.5045	36.5691	8331
+-83.9615	24.8778	6025
+-116.483	34.1951	8680
+-92.3253	40.6513	6495
+-89.9655	39.6502	8355
+-87.852	39.9783	7024
+-80.5375	26.7033	7723
+-116.9995	44.9476	7433
+-120.2196	46.2509	7204
+-89.2652	36.9463	8832
+-83.7627	26.56	7599
+-89.2614	38.0152	9135
+-81.6121	27.8557	9294
+-82.856	27.3394	8943
+-90.7872	38.2828	8759
+-121.2354	47.8459	7538
+-79.9329	27.6795	7401
+-87.7484	36.9834	8439
+-118.0066	45.1519	8215
+-92.5201	38.5162	7107
+-111.6752	27.9794	5307
+-78.4936	29.8038	5173
+-107.7195	27.9587	4632
+-118.1585	49.1979	5977
+-116.8562	31.0917	7825
+-112.5707	30.4348	6749
+-118.1486	36.199	7088
+-111.0937	28.4039	5932
+-116.7304	46.2252	7611
+-83.1149	27.549	8755
+-119.5884	48.189	6652
+-79.1835	28.3779	6484
+-89.535	38.5427	8483
+-118.9894	31.1724	6845
+-91.5456	35.1273	5590
+-116.7981	47.0701	7382
+-90.7701	40.7296	7250
+-121.3505	44.0282	5957
+-88.6799	39.6322	7357
+-118.1314	46.2959	8998
+-81.7448	29.9337	7402
+-88.0714	38.2831	8772
+-115.3342	35.1342	7164
+-89.446	37.4451	9013
+-91.8779	37.2865	7170
+-120.9464	35.3641	5305
+-114.5653	33.073	7059
+-91.2199	40.6608	7176
+-80.6032	27.2862	8078
+-90.9476	35.9434	6695
+-89.4086	42.8021	4932
+-90.4053	39.6146	8492
+-114.7964	35.0071	6680
+-86.6737	35.4909	6427
+-116.7225	36.1833	7224
+-89.8394	41.5731	6326
+-121.0145	47.0559	7532
+-114.1982	28.5014	4118
+-117.8353	34.2828	8896
+-84.0249	25.4023	6467
+-112.9222	33.3873	6055
+-120.5661	45.9915	6840
+-83.8438	27.773	7957
+-113.0452	34.1566	5423
+-118.7768	47.4287	7759
+-111.0045	32.0221	8605
+-114.8239	33.8784	7086
+-116.2281	44.8871	6733
+-115.0534	33.1565	7585
+-112.4414	33.2165	6584
+-80.4281	30.8787	5878
+-111.0165	29.5676	7168
+-118.5139	34.071	8176
+-122.3368	46.2114	8571
+-89.6347	36.966	8563
+-111.3921	27.0627	4443
+-123.1484	49.2935	7035
+-90.8579	42.8623	4963
+-111.4543	32.3777	7985
+-87.5371	35.0921	6613
+-120.2158	47.0953	6958
+-87.2606	40.4267	6285
+-88.7411	37.4367	9556
+-118.1518	38.0394	5169
+-117.1027	36.645	6792
+-89.9609	36.2361	7724
+-80.8039	28.1577	8325
+-118.2655	35.192	7950
+-83.4037	27.4554	8413
+-107.543	28.3651	4859
+-89.7853	38.9763	8735
+-87.8025	37.2449	8634
+-116.1226	33.6839	8403
+-116.2059	32.2337	8684
+-119.4299	48.2249	6703
+-120.6495	46.8709	7131
+-87.7339	39.3542	7594
+-124.8597	46.1095	7256
+-86.5562	40.9494	5372
+-113.2527	30.8165	6203
+-122.7642	44.7246	7139
+-91.0661	36.5369	6928
+-121.7475	49.1292	6914
+-81.6054	28.1848	9130
+-87.9867	40.332	6697
+-119.4361	31.6997	6730
+-110.8078	30.7576	8442
+-117.8272	33.345	8483
+-117.3931	35.4094	8139
+-118.2877	45.0004	8096
+-111.8158	27.3601	4624
+-106.7193	30.7301	5450
+-83.2681	28.7184	8217
+-115.9063	36.1393	6894
+-89.9646	35.3763	6914
+-82.0757	27.1352	9175
+-124.0334	44.5371	6661
+-111.7808	33.0414	7248
+-91.5616	34.9228	5419
+-109.3449	33.9389	6706
+-91.8043	38.4821	7866
+-113.5382	34.5867	5441
+-114.0196	32.4818	6445
+-108.8809	35.5712	4875
+-117.1531	34.8822	8712
+-91.4791	39.0687	8194
+-120.0793	45.6946	7311
+-85.9378	26.3467	5298
+-123.6832	48.0412	8145
+-81.8775	27.184	9173
+-88.9322	35.5195	7398
+-117.5657	37.0104	6383
+-119.776	45.028	7314
+-116.3962	34.4778	8517
+-80.4379	27.6733	7971
+-107.6177	29.2841	5618
+-87.5705	38.2188	8336
+-123.01	46.883	9454
+-88.0661	39.6025	7503
+-117.0301	33.2917	9218
+-122.1551	46.7935	8766
+-114.8967	36.1168	6167
+-121.7846	49.4156	6650
+-117.2965	30.8932	7576
+-88.8192	36.301	8282
+-118.692	29.3752	5459
+-121.397	45.5958	7371
+-82.4625	26.4711	8380
+-89.4957	43.9959	3690
+-116.11	34.503	8213
+-113.8691	44.9126	4419
+-90.4662	40.663	7361
+-116.5651	31.1614	7853
+-121.5016	46.1295	7816
+-112.8986	31.2089	6665
+-89.9127	38.3605	8766
+-124.6171	45.3293	7000
+-115.819	33.8196	7922
+-120.3468	35.1746	5991
+-124.2008	45.7398	7642
+-109.0579	28.2416	5598
+-119.1188	44.5539	7399
+-117.008	47.78	7027
+-81.0772	31.634	5357
+-108.1467	31.383	7095
+-84.3863	30.9817	5451
+-117.9999	34.1055	8737
+-117.8324	43.7088	6683
+-117.5858	45.5166	8298
+-89.3282	38.3759	8799
+-117.2814	32.2306	9011
+-88.1498	38.0058	9025
+-83.1493	26.904	8385
+-92.1127	39.2641	7480
+-117.3274	32.5048	9221
+-117.2492	42.8374	5636
+-87.174	38.4989	7798
+-87.772	36.2019	7828
+-112.3258	29.7646	6551
+-111.1233	32.8802	7828
+-80.0108	28.3036	7415
+-91.8613	38.1876	7720
+-118.2076	32.479	8318
+-90.8361	38.5322	8883
+-117.3095	31.3274	8048
+-123.5448	46.2582	8554
+-80.4307	30.2076	6525
+-88.9864	39.8519	7507
+-117.2092	49.8728	5106
+-116.4203	34.8358	8338
+-91.1701	35.7945	6396
+-92.2074	39.4806	7306
+-115.3939	35.6411	6915
+-118.4404	43.8779	6901
+-118.4445	47.837	7413
+-113.7813	29.375	5037
+-119.8791	46.8023	7414
+-116.7561	29.4198	5957
+-89.2169	38.8187	8165
+-87.6305	42.5031	4408
+-125.4301	46.4591	6771
+-123.298	48.7427	7606
+-89.7681	38.0608	8429
+-112.2828	32.7257	7025
+-124.6317	47.2713	7674
+-119.8244	35.8678	6167
+-115.2388	33.8357	7515
+-116.9729	46.2659	7862
+-122.2547	49.9053	6301
+-108.4291	31.8585	7389
+-117.6973	34.7812	8689
+-115.2551	34.7477	7244
+-81.0993	26.0418	7617
+-105.8755	28.561	3638
+-120.8938	46.4626	7334
+-85.4264	37.7692	6064
+-110.5891	29.6418	7352
+-118.9834	31.1665	6846
+-118.9196	33.3171	7527
+-90.3578	40.9557	7047
+-122.3134	45.6425	8015
+-106.4702	29.6025	4770
+-113.1144	33.9864	5491
+-83.7036	28.4325	7963
+-118.1275	46.1741	9078
+-88.7936	35.4448	7322
+-121.3309	31.6638	4718
+-117.5858	34.2767	9156
+-87.3178	38.4073	7988
+-89.6849	37.8559	8762
+-90.2822	38.6019	9231
+-123.6643	45.2206	7512
+-83.9946	29.5078	7009
+-83.2044	30.4905	6581
+-89.9205	40.9855	6964
+-123.6831	45.7273	7996
+-85.8925	26.8339	5511
+-113.1192	33.8568	5578
+-117.8558	32.0208	8422
+-118.886	35.486	7236
+-89.9771	37.6339	8144
+-89.3089	41.1806	6560
+-117.8126	33.4611	8593
+-119.5714	46.9557	7623
+-120.2855	47.5803	6623
+-114.9118	45.9221	5685
+-122.3807	46.8609	9024
+-89.6235	38.9488	8578
+-114.5568	31.4584	6667
+-86.6669	34.9992	6005
+-88.5726	41.6091	5777
+-89.7733	38.5107	8718
+-123.968	48.3137	7717
+-83.6281	28.6796	7911
+-90.5727	42.3663	5521
+-125.3478	45.8521	6651
+-117.963	41.5583	4438
+-119.0549	45.5439	8253
+-90.6039	38.1144	8699
+-87.4421	36.5938	7902
+-90.1031	32.9819	4347
+-87.9792	37.3823	8876
+-117.1955	48.7891	6188
+-112.655	32.4804	6777
+-118.4771	47.0047	8281
+-105.6677	32.4642	4329
+-83.0328	25.5117	7146
+-83.8027	28.0314	7980
+-88.5678	38.236	9137
+-118.0609	44.2998	7340
+-80.4834	29.9537	6793
+-113.2342	28.8488	5154
+-85.9099	39.1233	6215
+-85.0773	41.2262	4060
+-114.523	32.334	6975
+-117.8442	32.313	8624
+-92.6287	38.619	7000
+-119.223	46.5513	8157
+-93.2683	37.2947	5942
+-91.2269	39.7565	8009
+-114.8541	34.1171	6906
+-118.8841	44.7159	7663
+-90.8471	37.0219	7496
+-114.2214	29.2679	4748
+-88.1125	34.3197	5988
+-117.4177	34.8449	8744
+-117.1635	33.2905	9180
+-92.0912	34.4878	4475
+-110.608	31.5441	9173
+-124.7358	47.9624	7312
+-116.6102	34.1204	8822
+-125.4755	46.1295	6631
+-123.3057	49.0591	7264
+-94.1516	36.9409	4919
+-116.5892	30.2399	6848
+-119.1537	36.5677	6178
+-80.9629	28.5159	8320
+-118.3722	46.1142	9165
+-82.5062	30.0135	7316
+-88.7578	38.2161	9198
+-120.653	46.8352	7133
+-81.993	26.3528	8285
+-115.761	28.9934	5281
+-81.181	24.368	5899
+-113.0953	32.4144	6348
+-109.3477	33.0781	7534
+-119.3807	46.4971	8025
+-82.3076	29.484	7940
+-119.6034	46.4907	7803
+-109.6833	34.6157	6113
+-118.2567	31.0806	7340
+-88.6589	39.0204	8290
+-87.784	37.3924	8670
+-119.3018	33.48	7206
+-115.2362	32.2396	7718
+-83.4359	26.4596	7805
+-109.2926	31.8539	8308
+-121.8589	45.1302	7287
+-119.3483	36.4345	6153
+-79.9196	28.2954	7317
+-109.9578	31.6908	9050
+-91.7812	35.1482	5260
+-80.0427	28.0727	7502
+-112.426	32.6914	6908
+-114.5638	31.095	6456
+-116.245	33.2188	8831
+-108.6926	34.9595	5406
+-119.6789	47.8189	6916
+-82.0937	24.5898	6298
+-107.2672	32.1652	6092
+-119.8854	45.0666	7241
+-110.4056	31.1191	8965
+-87.249	37.0859	7991
+-115.8084	37.1647	5869
+-116.5176	35.391	7941
+-89.4535	39.958	7781
+-116.9819	40.5163	3188
+-118.9037	46.5367	8457
+-119.9977	43.5696	6023
+-91.7729	38.9909	7904
+-81.383	27.5074	8994
+-83.8284	28.6826	7713
+-117.0174	41.8872	4602
+-116.2489	33.2736	8804
+-115.2167	47.1842	5816
+-119.1582	44.2039	7049
+-87.1125	36.0941	7254
+-120.2272	45.443	7087
+-117.0439	47.2878	7442
+-80.1063	27.7899	7599
+-114.3799	31.2708	6392
+-115.5627	44.2747	5791
+-108.1803	32.0149	7095
+-87.862	35.2594	6929
+-116.45	33.321	8948
+-115.3242	35.1921	7125
+-89.7166	35.524	7185
+-110.1786	31.2691	9094
+-109.4442	33.4454	7238
+-88.0202	40.7385	6096
+-121.1337	49.9257	5820
+-120.4739	42.8585	5117
+-117.3534	48.2268	6802
+-119.6121	45.5378	7732
+-88.9791	40.5987	6922
+-84.5228	26.2911	6715
+-82.9224	28.6946	8514
+-88.0047	38.5081	8540
+-125.7829	46.0624	6287
+-118.327	35.5089	7643
+-118.4904	36.6572	6478
+-109.7582	32.7486	8066
+-87.0522	40.9493	5657
+-118.7472	46.596	8541
+-113.329	38.3205	3268
+-114.2345	36.1901	5541
+-120.0971	32.8124	6131
+-111.1216	30.8195	8284
+-87.72	35.7118	7327
+-82.1461	25.8117	7681
+-93.057	39.0431	6525
+-123.065	45.4222	7900
+-117.4966	35.842	7657
+-119.0825	31.2163	6794
+-87.6794	38.2051	8453
+-109.5006	34.4689	6220
+-111.0742	32.3792	8295
+-117.816	46.7458	8416
+-118.7903	35.3401	7418
+-118.5604	46.2365	8933
+-110.3676	30.1847	7958
+-82.299	31.4903	5675
+-110.4189	34.3614	6462
+-115.3887	35.796	6802
+-111.1551	31.7486	8565
+-118.0164	44.4654	7506
+-89.2706	37.0675	8937
+-108.2986	35.4323	4756
+-114.0845	34.8183	5987
+-89.9394	34.5678	6097
+-118.0254	33.481	8446
+-112.4867	28.4291	5336
+-110.8608	33.3903	7434
+-91.6307	38.4891	8051
+-89.0641	40.4693	7089
+-84.8418	37.8265	5406
+-116.0354	35.3583	7643
+-93.3878	39.5582	6071
+-112.4105	31.2134	7188
+-118.5571	32.4378	7929
+-89.7497	39.408	8440
+-115.9522	33.7233	8235
+-119.446	48.48	6455
+-83.7013	27.655	8114
+-115.0659	49.4393	4349
+-80.5106	28.0198	8034
+-89.637	36.2876	7985
+-116.295	35.7669	7465
+-114.869	31.2435	6828
+-90.0466	37.0142	8203
+-116.581	45.4838	7343
+-117.3465	35.1212	8457
+-112.8138	28.1741	4906
+-84.9377	38.4255	5433
+-116.0236	33.0685	8664
+-79.309	30.2237	5657
+-118.4462	37.5789	5565
+-78.8626	27.5794	6186
+-120.8662	46.1755	7209
+-114.7624	44.5481	5185
+-88.6093	37.8448	9548
+-88.2119	36.227	8084
+-121.5982	49.2313	6736
+-122.5239	45.5066	7950
+-115.2324	32.3162	7740
+-114.9623	31.8669	7279
+-83.7546	24.4588	5725
+-77.4669	29.7331	4163
+-86.7796	37.6328	7584
+-82.492	28.9963	8443
+-111.4531	32.2611	8055
+-92.5162	39.1208	7091
+-79.5893	28.5497	6881
+-86.1296	38.3047	6769
+-79.3218	28.0091	6700
+-113.2924	35.4504	4971
+-125.9011	45.2079	5785
+-90.4862	37.7956	8390
+-116.2443	35.2711	7869
+-83.7244	29.4418	7279
+-89.0265	40.7559	6814
+-121.9469	47.0888	8551
+-116.7478	34.9529	8480
+-116.4997	32.8016	9232
+-81.8923	31.0327	6187
+-118.3983	48.3837	6839
+-86.9574	36.8142	7570
+-108.8422	31.3808	7843
+-115.1033	36.5003	6040
+-116.4633	46.5472	7276
+-91.316	37.8392	8019
+-86.5594	35.7848	6560
+-122.8362	44.8182	7245
+-116.9588	34.3342	9137
+-119.1725	47.1943	7767
+-109.9821	31.3075	8990
+-112.9106	29.5836	5939
+-122.333	31.6832	3635
+-118.4878	33.753	8143
+-79.6478	28.0393	7064
+-116.9743	34.0341	9201
+-82.9464	27.4094	8888
+-117.1323	29.1915	5705
+-88.075	40.5364	6278
+-116.0151	36.0049	7082
+-117.5606	46.6039	8327
+-92.983	37.6363	6376
+-90.8384	34.4604	5531
+-113.4755	31.6377	6069
+-121.8018	45.003	7134
+-117.6436	32.8705	8995
+-92.6073	39.4938	6897
+-115.1416	31.8599	7454
+-123.0598	45.4297	7909
+-90.312	39.0829	9057
+-90.7355	37.8513	8384
+-124.5283	45.5991	7270
+-116.1708	35.114	7934
+-116.419	36.1077	7194
+-106.7266	30.1792	5280
+-80.2831	25.0566	6180
+-92.1587	36.4511	6294
+-120.1581	46.6381	7195
+-88.2226	38.2639	8908
+-120.7492	46.6521	7218
+-117.0691	35.9713	7521
+-107.834	32.0017	6728
+-110.4626	31.9377	9065
+-108.6667	35.2955	5065
+-122.769	49.7682	6525
+-79.4013	30.2749	5696
+-109.8091	32.5207	8310
+-89.4887	38.965	8433
+-89.2095	40.5104	7144
+-79.7374	27.3482	7141
+-111.3816	33.7208	6894
+-117.51	31.6112	8278
+-91.9511	35.7786	5803
+-119.4196	47.4696	7376
+-81.9348	25.5502	7375
+-110.6497	29.2887	6964
+-115.6311	34.6192	7677
+-115.9496	33.6827	8263
+-88.891	36.9633	9014
+-82.8043	27.8517	9127
+-118.9765	46.8481	8180
+-84.0823	37.7637	4556
+-82.006	33.5061	3397
+-90.7152	37.2451	7763
+-119.0136	47.5011	7587
+-89.1033	37.4696	9378
+-115.2599	29.7195	5809
+-88.0978	37.9724	8989
+-89.015	39.5024	7741
+-80.5396	24.8068	6089
+-117.4777	34.5751	9004
+-82.1659	27.5027	9592
+-94.9156	35.5495	3444
+-117.3079	34.6276	8997
+-115.6071	35.2608	7349
+-115.4281	35.7819	6844
+-118.0404	42.2262	5150
+-110.2658	27.478	5025
+-125.1028	46.853	7183
+-109.3807	27.0558	4461
+-111.4375	31.4982	8274
+-80.0122	27.7107	7492
+-80.8221	31.1476	5790
+-90.6352	38.86	9128
+-80.2786	27.7705	7794
+-118.4841	34.0746	8208
+-82.4124	31.1669	6033
+-126.0176	45.9932	6018
+-87.7927	37.7508	8718
+-123.4151	48.154	8184
+-91.0064	41.3463	6547
+-82.8888	27.6887	9033
+-89.7741	39.5885	8307
+-84.177	29.3752	6950
+-125.691	46.9187	6540
+-126.2948	44.99	5290
+-111.2363	28.926	6433
+-89.4014	39.8443	7840
+-113.9917	45.5255	4675
+-111.1095	32.7321	7971
+-119.6605	48.5616	6273
+-83.4838	26.8796	8065
+-120.334	47.6014	6569
+-88.041	37.6513	9000
+-90.0523	41.2761	6678
+-122.0516	45.9675	8166
+-119.1234	31.8473	7115
+-123.3776	46.7889	9046
+-90.784	39.5113	8497
+-82.5128	24.987	6719
+-116.3998	31.4239	8076
+-119.235	44.2473	7055
+-92.9929	38.733	6612
+-115.9821	37.3118	5798
+-89.9962	37.5132	8424
+-115.1371	36.1227	6359
+-107.87	32.5489	6607
+-110.9187	30.7372	8359
+-123.1624	49.2534	7077
+-121.3018	41.4744	3411
+-118.4877	33.3087	7931
+-111.3434	29.1534	6622
+-121.674	46.9949	8259
+-106.414	35.0512	3803
+-123.6984	49.1779	7023
+-90.5875	36.9248	7445
+-107.9903	28.6175	5379
+-84.3128	36.1432	4532
+-91.5069	40.4981	7185
+-119.2728	44.4419	7216
+-120.0796	31.4299	5952
+-117.1384	45.6502	7958
+-92.4524	40.7968	6287
+-106.6346	29.3347	4784
+-112.6669	32.0388	6898
+-92.621	38.2424	6951
+-90.1713	40.2616	7779
+-107.5094	32.4333	6278
+-115.4399	33.606	7836
+-91.3554	39.4019	8163
+-118.2633	48.7476	6456
+-89.7179	39.4692	8368
+-110.2517	28.3344	5952
+-110.0887	28.1672	5763
+-117.4384	33.9052	9226
+-118.4837	42.2423	5169
+-85.9218	37.417	6610
+-111.1901	32.459	8146
+-87.2022	35.5108	6826
+-114.4745	31.4757	6596
+-88.769	33.8584	5541
+-82.7906	32.0874	4948
+-113.3384	33.1934	5780
+-124.9675	45.8937	7047
+-88.6254	37.6153	9647
+-82.8994	27.622	9010
+-118.1814	36.026	7245
+-105.1866	29.7035	3537
+-126.943	42.6835	3135
+-82.041	30.2709	7057
+-118.1479	48.0679	7171
+-116.4126	33.9871	8593
+-91.8408	38.7626	7853
+-120.1322	47.9323	6504
+-125.5875	47.4291	6610
+-89.1128	40.5939	7011
+-117.7644	32.299	8692
+-89.6552	36.3301	8014
+-90.2882	41.1738	6810
+-86.638	40.2463	6060
+-112.9715	32.1491	6550
+-123.1622	48.2829	8132
+-87.5212	35.1582	6672
+-90.2483	37.6466	8226
+-90.4676	39.3734	8746
+-86.8528	28.3388	4514
+-91.9346	39.6617	7485
+-110.8331	32.7288	8119
+-79.8958	26.9979	7216
+-89.8548	38.4363	8762
+-110.9178	28.7606	6350
+-87.3303	39.3264	7351
+-119.4238	43.3301	6088
+-114.9951	33.2806	7494
+-86.9071	36.3972	7288
+-108.4511	29.7168	6602
+-119.9319	32.8543	6313
+-119.0393	32.5699	7425
+-122.2523	49.1694	7084
+-90.2561	36.654	7794
+-124.5936	46.0241	7477
+-108.1858	33.1796	6574
+-118.9834	33.0971	7350
+-126.082	48.80	5572
+-116.2008	45.4342	6945
+-83.0474	30.3675	6773
+-115.3104	34.0049	7399
+-91.4387	38.5987	8275
+-110.659	32.7306	8181
+-108.6141	28.9646	6079
+-110.3372	32.9372	8007
+-119.9622	44.1601	6543
+-117.8568	46.7534	8434
+-112.5272	34.5275	5495
+-92.0758	36.745	6596
+-118.9111	38.7974	4143
+-92.2775	38.7013	7382
+-110.5209	31.6359	9262
+-117.9392	47.4221	7814
+-109.3642	33.6003	7049
+-86.8851	34.5905	5768
+-118.1008	46.4918	8803
+-122.3804	45.8793	8282
+-79.5366	27.2206	6890
+-117.1586	34.1468	9419
+-110.6246	30.823	8591
+-119.9886	30.597	5571
+-80.4865	31.3805	5399
+-82.3552	29.0227	8449
+-117.2268	34.4844	9152
+-106.227	29.8381	4639
+-117.2919	47.648	7314
+-90.9326	40.5075	7440
+-125.4103	46.7985	6842
+-116.8524	32.5724	9452
+-115.4211	46.6096	6182
+-119.8549	47.3102	7160
+-122.2658	44.0387	6315
+-91.3612	38.2365	8234
+-109.6006	30.2695	7844
+-116.591	42.6136	5156
+-80.4956	26.3998	7479
+-114.1573	33.7598	6447
+-113.6186	34.6711	5516
+-80.9214	25.6057	7089
+-118.2825	46.6077	8723
+-83.2275	27.181	8488
+-89.8613	42.3568	5496
+-114.9002	33.5779	7296
+-122.4716	46.4841	8897
+-117.9844	34.9394	8360
+-89.3963	39.5175	8077
+-119.0479	36.0688	6669
+-81.5648	26.6215	8446
+-110.7642	31.6569	9000
+-86.7006	35.4864	6444
+-117.4951	33.6604	8965
+-90.1392	34.3982	5837
+-111.5161	29.3938	6777
+-83.0789	25.4039	7013
+-108.2381	29.8113	6500
+-87.5662	35.5557	7090
+-120.1417	34.0527	6400
+-84.3811	25.7756	6495
+-86.258	28.0049	5218
+-108.4713	31.5297	7455
+-77.3937	28.5712	4453
+-85.1049	26.1122	6045
+-115.5499	33.6352	7928
+-119.4274	34.0951	7180
+-85.1158	28.4873	6421
+-80.0312	25.7971	6633
+-119.5239	33.0652	6814
+-87.4436	39.3482	7413
+-90.3064	40.1138	7952
+-92.5232	40.1719	6655
+-119.7675	44.4245	6890
+-119.7998	46.6205	7563
+-82.4849	28.0455	9385
+-116.2016	31.7535	8292
+-114.8936	32.7513	7440
+-90.0187	36.0186	7492
+-110.8211	30.9709	8625
+-90.3915	39.9844	8094
+-82.8171	26.1662	7923
+-87.8293	38.0839	8663
+-80.2583	27.3615	7722
+-118.677	29.973	6051
+-117.6009	35.0391	8485
+-94.096	34.4063	3265
+-89.9067	37.2471	8452
+-118.3967	36.3409	6833
+-112.4464	35.8252	4339
+-107.2125	31.5561	6092
+-117.4531	34.63	8959
+-84.3484	26.7611	7140
+-92.7964	37.7821	6622
+-121.6636	44.3789	6455
+-85.2312	38.0867	5819
+-116.9999	33.6666	8952
+-118.5703	47.864	7368
+-85.1979	24.8138	5078
+-111.3829	31.4565	8328
+-92.2047	34.027	4195
+-107.5396	34.6136	5008
+-90.8233	40.1658	7826
+-116.9843	31.6694	8473
+-114.3182	28.8945	4474
+-116.831	33.1774	9323
+-120.7487	45.4025	6547
+-108.0437	34.9505	5062
+-115.3855	33.3484	7892
+-113.6504	32.4566	6032
+-124.4954	45.5898	7291
+-121.2892	46.4848	7759
+-82.3602	28.8164	8677
+-117.7414	35.8514	7593
+-80.878	29.0242	7882
+-80.6421	29.9839	6869
+-120.0024	45.6665	7383
+-119.7114	45.4932	7617
+-123.3227	46.3845	8816
+-123.2216	45.7621	8236
+-117.7609	37.2139	6134
+-88.4757	37.6522	9488
+-81.833	25.8195	7664
+-91.0197	34.2193	5193
+-93.798	38.2369	5703
+-82.0451	29.4532	7982
+-116.5979	34.8113	8499
+-109.6014	29.8209	7406
+-90.5236	36.5326	7468
+-89.0405	36.699	8687
+-119.3802	48.5095	6457
+-88.774	40.5618	6812
+-115.1645	33.5994	7561
+-80.5486	27.5111	8076
+-106.5888	33.5507	4891
+-124.5095	46.4164	7737
+-117.7701	34.8252	8604
+-124.1402	45.2009	7236
+-111.7577	30.7579	7690
+-86.7774	36.3142	7115
+-116.3488	33.4584	8759
+-88.7342	38.4902	8889
+-94.3908	38.2699	5074
+-91.8346	42.3195	5271
+-113.7285	31.6835	5793
+-110.1109	30.3086	8072
+-120.6154	47.4851	7032
+-113.7602	32.1612	6102
+-118.6536	45.1613	8192
+-116.5491	41.0155	3571
+-89.4469	38.898	8403
+-115.1967	29.5047	5564
+-118.0208	32.2301	8407
+-90.7857	38.3024	8776
+-120.8195	48.8494	6523
+-121.6875	47.4865	8157
+-119.931	47.7734	6773
+-115.8538	35.2731	7558
+-79.7882	27.8292	7238
+-124.106	47.7419	8031
+-109.2518	29.5854	7012
+-113.5037	33.5188	5812
+-124.8244	45.7592	7110
+-122.4301	44.5595	6912
+-117.5212	33.5795	8873
+-120.424	31.2644	5526
+-82.8029	26.3866	8157
+-82.5061	27.0876	9016
+-106.93	32.4889	5658
+-122.6221	47.5203	8926
+-80.0216	27.3002	7446
+-124.6298	47.6258	7572
+-119.7834	42.709	5333
+-120.4595	48.9623	6143
+-113.7136	32.7591	6124
+-92.2078	36.1891	6035
+-114.7963	33.7574	7114
+-117.1627	30.9509	7660
+-120.8651	44.9445	6265
+-118.0642	32.7995	8528
+-111.1967	31.2968	8488
+-118.1687	47.694	7568
+-123.9404	44.9376	7101
+-94.0685	39.681	5328
+-112.1386	28.6941	5782
+-115.9007	34.9294	7813
+-115.0626	31.865	7379
+-117.0074	35.785	7714
+-118.2662	35.2028	7941
+-89.945	38.8044	8948
+-116.1191	33.1622	8732
+-123.2186	48.9292	7422
+-84.9279	39.7192	4928
+-117.9653	49.3908	5759
+-117.4352	31.3324	8017
+-116.787	33.7948	8898
+-88.4667	41.0202	6222
+-109.7353	26.9713	4435
+-116.9855	31.452	8231
+-116.1393	31.1733	7701
+-119.3995	32.2006	6954
+-111.6283	31.4559	8064
+-116.8592	32.0925	8936
+-112.6433	31.6217	6970
+-124.6833	48.4443	7062
+-88.7194	38.1291	9293
+-110.7367	29.3558	7021
+-111.2396	32.7956	7834
+-122.965	46.6599	9262
+-117.2884	47.5112	7432
+-118.7192	35.8117	7117
+-89.902	37.6429	8540
+-122.1771	47.3791	8692
+-89.6065	34.1544	5762
+-109.7931	30.1809	7845
+-91.4287	39.6052	7969
+-88.4471	41.4907	5808
+-119.0369	46.3319	8425
+-108.1819	31.8743	7121
+-90.8693	43.0115	4801
+-116.3298	34.3453	8490
+-81.832	26.6912	8629
+-89.1163	35.8179	7704
+-124.1027	46.5281	8200
+-86.2692	41.5824	4601
+-122.4661	46.9257	9127
+-118.1651	33.723	8460
+-114.3064	30.6927	5956
+-93.1711	37.7748	6241
+-115.1356	32.4459	7669
+-109.3479	29.8828	7344
+-117.7115	37.1953	6163
+-92.3238	36.2297	5996
+-121.4554	46.5212	7945
+-111.9506	30.9554	7594
+-115.2443	30.0607	6128
+-110.3442	28.7182	6369
+-115.551	32.0113	7936
+-86.5963	38.0383	7343
+-121.7289	37.203	3630
+-91.2098	38.0425	8252
+-83.3394	26.8197	8158
+-110.371	35.025	5744
+-118.681	32.9357	7836
+-82.5591	30.4497	6819
+-89.8545	38.3283	8695
+-120.3235	31.4587	5714
+-91.2943	35.8814	6180
+-120.1011	46.7276	7224
+-116.4979	34.2017	8696
+-122.7636	46.0376	8575
+-117.8254	33.7185	8779
+-120.46	45.1961	6764
+-119.3509	33.3971	7127
+-114.7762	33.7434	7100
+-125.731	45.7796	6234
+-115.4959	34.2595	7601
+-124.0725	46.8235	8308
+-87.9318	39.9817	7052
+-118.5126	42.774	5730
+-88.1538	36.2094	8041
+-123.1628	47.5669	8886
+-116.2768	31.4105	8006
+-88.9414	35.8772	7798
+-90.6649	39.7738	8280
+-110.3714	31.6715	9369
+-94.9271	41.8762	3480
+-117.0875	44.416	7073
+-109.6532	31.384	8706
+-118.8964	34.8081	7614
+-118.0106	46.9762	8289
+-89.3134	35.9756	7821
+-86.2384	38.3188	6884
+-118.6115	47.0406	8206
+-119.3316	45.9004	8130
+-117.6847	32.4593	8858
+-83.4176	29.2171	7701
+-124.7366	46.674	7563
+-118.6541	37.5123	5553
+-88.0326	41.5109	5516
+-89.321	39.7556	7848
+-91.1222	41.7508	6093
+-122.529	46.0488	8519
+-88.5429	35.912	7830
+-120.7582	44.4092	6086
+-89.3708	37.6104	9134
+-119.871	45.4487	7443
+-90.5334	38.33	8944
+-114.6992	30.9556	6481
+-91.0872	38.6247	8654
+-87.1113	34.4491	5754
+-91.0412	37.6443	8038
+-116.6282	47.9268	6650
+-123.3796	45.632	8048
+-117.1277	32.6629	9505
+-81.4927	30.2389	7003
+-126.534	45.471	5289
+-110.6188	29.6738	7382
+-121.8402	49.223	6867
+-90.4763	38.0275	8639
+-122.7879	48.7811	7609
+-84.2933	26.441	7025
+-91.2734	40.4471	7359
+-118.5186	31.5583	7524
+-123.9405	46.7935	8447
+-88.2396	37.4614	9181
+-119.1459	46.9195	8000
+-117.8864	47.0663	8154
+-125.0849	45.9862	6975
+-90.5001	37.5964	8175
+-108.1629	33.8421	6080
+-92.1167	39.9327	7163
+-114.291	44.4704	4694
+-117.2749	40.9275	3679
+-123.0747	46.2417	8787
+-86.5408	37.5077	7310
+-82.3944	26.3959	8314
+-81.6125	25.7432	7529
+-80.8062	28.7376	8032
+-88.823	42.6509	4896
+-90.9304	39.9209	8031
+-81.92	27.1496	9154
+-116.495	33.5304	8799
+-116.5641	45.8809	7425
+-122.6594	47.2152	9226
+-117.9115	37.0317	6299
+-118.0997	48.6598	6543
+-119.3544	46.6987	7961
+-115.585	32.4776	8166
+-88.6307	39.2516	8029
+-86.3736	37.4226	7115
+-118.7414	37.1195	5905
+-121.8273	46.3917	8269
+-110.6719	31.0778	8814
+-108.5427	30.2422	7050
+-93.4782	38.7593	6088
+-114.5989	35.5485	6244
+-87.398	35.3334	6779
+-85.5804	37.4426	6230
+-112.4124	29.3237	6147
+-116.7455	32.8123	9506
+-111.6226	29.8804	7159
+-82.9441	28.5183	8642
+-92.3954	40.483	6562
+-121.6993	48.503	7464
+-111.124	37.5865	2913
+-89.3844	37.2246	8963
+-108.8905	32.0278	7838
+-105.501	29.2388	3654
+-86.409	38.0363	7136
+-114.8937	32.4241	7400
+-119.8821	48.6097	6109
+-89.1264	37.5877	9402
+-115.0297	44.2804	5312
+-124.9199	49.5497	6004
+-114.6824	31.4599	6790
+-118.2821	46.7435	8579
+-87.8799	38.872	8135
+-108.4898	33.11	6880
+-115.8255	33.4281	8309
+-119.5736	30.1029	5555
+-86.3907	38.8679	6826
+-114.4002	34.1498	6411
+-125.0073	45.887	7005
+-89.3678	41.0392	6725
+-109.0103	33.7845	6691
+-118.2279	33.9719	8475
+-85.7802	33.57	4125
+-113.8328	42.6757	3313
+-120.5144	48.2331	6639
+-85.102	29.4805	6014
+-123.6051	47.3116	8744
+-113.5052	31.8501	6025
+-88.3458	38.2429	9014
+-84.809	30.1986	5802
+-108.0883	28.8475	5639
+-89.1455	38.6623	8619
+-114.144	35.7345	5710
+-82.718	27.4533	9142
+-116.0628	41.9939	4317
+-93.2922	39.2493	6243
+-79.4012	25.5931	5943
+-88.2304	37.1339	8967
+-117.8721	46.8773	8329
+-120.4981	46.0758	6915
+-84.9472	28.8674	6474
+-117.5872	30.2764	6836
+-88.5636	36.6065	8604
+-120.816	46.8251	7311
+-108.6025	35.6597	4675
+-81.2053	25.4904	7111
+-116.4662	31.8913	8580
+-90.3612	39.161	8981
+-117.8393	33.0504	8745
+-107.6379	31.1573	6517
+-113.5822	30.079	5594
+-119.3422	43.1538	5945
+-84.2264	27.3373	7475
+-118.3649	34.0715	8338
+-94.4194	42.4453	3526
+-120.8656	47.3343	7335
+-121.1235	48.8245	6782
+-88.628	37.6721	9659
+-114.7558	33.1096	7265
+-116.4294	48.0437	6416
+-91.6268	40.5958	7026
+-117.4556	48.4745	6597
+-109.2276	28.8871	6316
+-116.4267	36.1367	7168
+-117.3985	31.3762	8076
+-112.8618	32.3944	6597
+-121.3216	42.4884	4262
+-93.3193	39.7692	6075
+-119.546	33.2277	6862
+-111.9142	36.1111	4277
+-79.7442	28.5745	7039
+-124.0095	48.6648	7378
+-111.8892	32.5191	7506
+-91.1744	39.183	8452
+-114.9901	31.0463	6793
+-88.5629	37.1118	9152
+-89.2862	35.2268	7016
+-88.647	43.0256	4450
+-91.8731	41.1997	6334
+-115.0025	49.8784	3961
+-111.3394	33.1049	7497
+-106.6956	32.4037	5433
+-123.0962	46.2624	8803
+-116.3215	37.4554	5770
+-115.5722	35.5947	7097
+-122.3877	46.0269	8430
+-88.2701	36.6091	8504
+-124.1211	47.464	8158
+-79.4944	26.4693	6566
+-91.2283	33.2135	4104
+-88.8104	37.7065	9748
+-117.0805	45.0762	7588
+-118.2387	45.8027	8942
+-110.4393	29.3686	7071
+-80.0986	29.0362	7179
+-90.3956	38.3175	8958
+-91.2712	39.2855	8307
+-111.1298	31.7168	8599
+-105.2383	32.0697	3928
+-120.5623	47.4329	6987
+-91.6868	35.4855	5636
+-125.0813	45.9223	6949
+-115.4965	28.8412	5025
+-119.4334	44.1307	6845
+-116.6188	33.4426	8954
+-84.9641	29.5688	6096
+-109.2512	32.2162	8115
+-110.1596	26.48	3941
+-115.6269	30.0405	6315
+-87.2857	40.1547	6564
+-115.1212	31.8002	7403
+-83.8835	27.4436	7879
+-91.7714	35.4283	5544
+-108.2304	33.727	6220
+-119.1177	44.0928	6958
+-107.4691	30.0626	5960
+-114.7244	33.13	7228
+-111.9954	28.7062	5874
+-78.3428	27.0567	5529
+-122.0258	48.3926	7769
+-110.8419	28.61	6205
+-83.0402	28.487	8582
+-119.7491	43.5589	6154
+-82.8453	25.6451	7361
+-115.7413	31.414	7675
+-119.2509	31.6743	6904
+-115.5339	49.6914	4470
+-82.0022	27.2584	9299
+-84.1434	28.0243	7600
+-113.7594	32.1194	6092
+-124.3794	45.3246	7178
+-92.2863	40.248	6814
+-91.8144	39.8551	7476
+-115.4805	33.454	7949
+-115.1286	45.9291	5915
+-113.2115	35.7355	4782
+-92.9827	38.0223	6515
+-108.1459	33.1279	6572
+-116.4017	44.5815	6700
+-117.1453	31.9676	8785
+-110.4855	30.9561	8774
+-113.1705	32.0425	6360
+-83.6241	28.2874	8106
+-111.3314	33.6642	6973
+-118.2493	46.9547	8355
+-87.1637	37.5016	8006
+-88.6159	36.3893	8372
+-120.3306	30.7523	5351
+-116.9488	32.7979	9724
+-120.5897	34.4517	5896
+-114.603	31.5758	6775
+-109.778	33.3085	7510
+-122.8974	48.8788	7505
+-110.8486	31.2495	8808
+-119.597	30.3705	5746
+-119.3114	29.3697	5103
+-81.7809	27.8043	9491
+-119.0172	32.7227	7463
+-88.0906	39.8304	7270
+-109.9186	31.6909	9009
+-118.7651	49.7982	5311
+-115.5386	29.6207	5848
+-122.5313	48.6721	7689
+-87.9247	39.0784	7969
+-88.8178	36.1691	8134
+-119.3172	31.039	6466
+-122.7405	47.8921	8574
+-88.3704	36.691	8634
+-118.4708	33.694	8140
+-114.0977	28.443	4162
+-108.1283	32.556	6862
+-115.4333	32.8983	8040
+-116.8745	33.6163	8830
+-118.5882	45.661	8694
+-88.9083	38.8231	8507
+-92.2133	34.5262	4463
+-88.9982	35.8352	7744
+-91.1547	42.6775	5110
+-124.2669	46.6481	8064
+-90.4388	41.13	6858
+-86.713	37.4957	7502
+-87.6155	36.6204	8069
+-117.8545	45.3692	8363
+-121.4993	48.3278	7460
+-83.6519	27.1645	8044
+-88.7358	38.9941	8324
+-122.7932	45.0682	7517
+-118.6244	32.6829	7898
+-90.4133	35.6951	6932
+-120.2451	46.4516	7150
+-89.2247	38.5974	8650
+-112.9545	36.0988	4369
+-125.0352	44.6296	6128
+-119.9793	33.8197	6559
+-117.2243	32.2104	9018
+-122.603	42.3006	4470
+-117.2832	33.5899	8945
+-116.2181	33.8345	8349
+-109.5044	32.5653	8081
+-90.0501	36.1413	7578
+-83.7112	28.6131	7867
+-115.3517	30.8778	6938
+-114.8715	33.7147	7210
+-111.9498	33.8506	6457
+-118.5251	44.3059	7343
+-122.0655	47.7627	8339
+-86.5918	36.5391	7066
+-87.8611	38.6418	8321
+-89.7381	41.3854	6500
+-108.8474	32.7045	7457
+-81.983	28.6515	8877
+-111.5325	31.3197	8143
+-79.6416	27.7254	7073
+-123.5227	45.4049	7759
+-117.8388	34.6487	8698
+-114.8877	33.8637	7157
+-84.3382	38.437	4769
+-86.811	39.8884	6492
+-117.2079	44.9492	7592
+-111.3049	31.3563	8392
+-84.1321	27.22	7548
+-108.9331	32.3521	7743
+-119.7392	32.7484	6659
+-118.4021	29.014	5219
+-87.7344	35.9182	7537
+-79.5197	25.4416	5935
+-112.3757	29.6882	6455
+-117.698	28.9271	5339
+-116.8392	47.7742	6919
+-123.0294	43.4778	5771
+-116.0384	36.3823	6743
+-113.5095	32.6057	5858
+-88.7322	38.0935	9334
+-117.0264	43.4883	6191
+-122.9092	45.1553	7616
+-119.3275	45.8108	8113
+-117.808	43.6831	6652
+-117.5855	43.1756	6076
+-89.1624	38.8412	8105
+-86.343	41.5742	4653
+-87.6385	34.71	6263
+-117.5215	46.915	8079
+-114.2951	27.9018	3614
+-116.7133	34.3972	8869
+-122.0593	46.4619	8529
+-118.4344	45.6938	8802
+-113.6136	30.5099	5734
+-118.4701	42.872	5836
+-89.3049	38.4723	8727
+-116.4545	46.2164	7320
+-115.3581	31.7522	7601
+-116.9346	33.6004	8853
+-81.4369	25.5367	7249
+-116.9817	31.3458	8112
+-108.9471	31.3148	7944
+-118.79	31.0097	6890
+-115.018	32.9245	7576
+-88.438	33.3009	4901
+-116.0267	37.584	5538
+-91.686	36.4838	6607
+-117.7118	47.7447	7417
+-112.9455	31.9386	6617
+-122.8581	44.9432	7383
+-115.1285	32.7708	7702
+-83.2904	25.8537	7363
+-117.3296	34.3542	9287
+-111.3777	32.5558	7927
+-84.0632	27.5088	7690
+-115.3296	35.4109	7007
+-90.5657	39.4091	8687
+-120.2017	49.0962	5830
+-92.656	38.4244	6950
+-109.3374	31.5521	8394
+-118.3232	36.3495	6860
+-115.5683	35.1552	7376
+-110.0416	31.279	9017
+-122.1094	43.8128	6034
+-91.9217	42.5468	5009
+-116.7551	34.8303	8595
+-119.0952	34.7973	7416
+-117.9299	33.9043	8772
+-120.6039	48.1654	6760
+-126.4901	45.7545	5443
+-115.0648	45.3283	5755
+-114.6937	33.367	7144
+-111.5968	30.9975	7965
+-112.1677	28.0454	5156
+-119.407	47.7073	7184
+-116.226	42.5753	4938
+-119.0501	29.8196	5682
+-109.8075	34.1529	6632
+-120.6207	32.0922	5598
+-111.372	30.7201	8010
+-125.6081	44.3162	5443
+-118.8955	33.2732	7529
+-78.6885	28.0594	5981
+-89.0855	36.4421	8395
+-116.6497	36.1133	7276
+-89.3687	37.0523	8850
+-116.0893	37.0448	6112
+-116.6922	33.7208	8766
+-118.2331	45.4695	8591
+-117.153	35.3701	8183
+-119.0383	34.0605	7604
+-108.8627	30.8351	7686
+-89.7315	36.498	8114
+-89.2015	38.6297	8628
+-119.9141	39.3609	3146
+-118.1471	46.371	8939
+-119.742	46.5551	7642
+-117.866	33.4943	8582
+-78.4492	24.8672	4588
+-121.3325	48.2618	7372
+-121.6159	44.7253	6768
+-117.2602	35.4399	8113
+-116.7753	34.0603	8996
+-86.394	38.4225	7020
+-123.1912	45.3855	7840
+-118.4801	32.9423	8059
+-82.958	26.7284	8392
+-119.945	46.0537	7500
+-109.4502	36.4093	4158
+-110.1198	32.7193	8221
+-80.6652	29.2923	7497
+-118.0941	41.518	4404
+-85.3393	38.1724	5926
+-86.0872	37.1076	6743
+-90.5492	39.6233	8466
+-85.9174	28.4696	5538
+-118.7675	45.1559	8137
+-88.1564	39.6698	7464
+-117.7809	33.1538	8770
+-104.7286	28.5504	2569
+-111.231	33.4834	7197
+-118.0478	31.4194	7782
+-113.4261	34.8322	5280
+-92.027	39.269	7567
+-124.9086	45.0773	6577
+-108.4083	26.4133	3496
+-116.2788	45.0105	6844
+-115.5338	33.6503	7904
+-121.4717	32.9512	4773
+-112.5872	33.234	6447
+-119.5425	46.8119	7729
+-117.3254	33.3382	9047
+-109.3664	33.0098	7606
+-81.254	27.2763	8753
+-113.6538	35.5154	5318
+-83.8165	27.7897	7988
+-83.2154	30.1096	6973
+-108.9778	29.0608	6371
+-119.0839	46.5893	8267
+-91.1507	35.7953	6413
+-120.5795	49.6375	5719
+-115.7697	34.3496	7888
+-91.8307	38.8471	7861
+-118.3055	45.2201	8328
+-117.1712	47.03	7725
+-91.1747	39.1441	8471
+-88.5789	39.0368	8262
+-113.9008	32.3535	6294
+-119.9686	48.8655	5831
+-85.764	35.7038	5789
+-110.0817	30.4712	8238
+-95.0101	37.9655	4366
+-86.8447	27.8138	4562
+-119.1568	32.7126	7307
+-122.9349	44.8747	7308
+-117.1705	35.597	7938
+-123.7834	48.1574	7977
+-88.7148	41.3173	6124
+-116.0926	34.047	8254
+-119.9949	46.3351	7431
+-119.0108	29.7573	5649
+-115.597	31.1867	7378
+-85.8617	36.0721	6096
+-89.6127	35.7527	7467
+-121.0347	44.8121	6475
+-119.6526	34.9021	6803
+-116.9025	44.7975	7250
+-88.541	36.256	8212
+-88.8342	41.4139	6103
+-119.3825	35.7215	6652
+-116.7229	35.614	7817
+-111.2939	32.1294	8276
+-117.3285	34.1928	9444
+-116.8958	47.4439	7215
+-118.8885	47.3256	7813
+-80.9803	27.2618	8468
+-118.3049	35.883	7319
+-117.3859	36.3483	7118
+-94.9075	38.8048	4548
+-109.4253	31.6031	8490
+-115.1698	31.5335	7290
+-116.0534	45.818	6880
+-84.5764	36.0874	4789
+-89.949	39.4884	8501
+-118.2476	33.0522	8300
+-87.8729	37.9249	8771
+-89.5849	36.3734	8098
+-114.212	37.3906	4667
+-115.5646	32.0308	7960
+-109.7239	33.6721	7116
+-80.2366	29.0171	7322
+-90.5989	37.8069	8382
+-86.3419	37.1894	7041
+-91.139	37.3352	7695
+-88.0723	33.481	5053
+-125.0782	45.4413	6685
+-89.6369	40.3494	7522
+-116.9838	34.5925	8950
+-113.6705	44.6916	4152
+-116.958	33.4031	9099
+-120.1013	31.0859	5759
+-109.5382	29.8534	7411
+-115.513	42.2529	4240
+-118.757	47.3263	7868
+-80.7478	27.2353	8214
+-116.9365	47.2774	7366
+-83.0756	27.3058	8706
+-91.7656	37.887	7668
+-122.2962	45.4133	7775
+-117.0128	49.6954	5222
+-117.3498	34.6824	8932
+-117.8132	47.0248	8162
+-122.9569	47.3899	9137
+-120.8848	33.3551	5501
+-118.8686	42.9594	5877
+-92.4604	37.6797	6906
+-111.2049	33.8168	6876
+-116.6824	34.1341	8901
+-119.5078	32.439	6887
+-117.7491	35.1488	8312
+-120.0045	46.5131	7386
+-113.5989	31.4462	5932
+-117.8225	33.5693	8674
+-123.9753	44.6477	6798
+-94.1591	40.1819	5072
+-110.42	30.2687	8046
+-113.7115	27.54	3765
+-85.4391	38.2128	6030
+-119.1523	43.5147	6372
+-116.45	31.9465	8624
+-121.3562	47.9054	7621
+-80.3245	32.5426	4115
+-116.5648	33.6839	8629
+-89.087	36.3762	8323
+-123.2384	46.6374	9087
+-123.6759	47.7567	8390
+-90.7429	38.8924	9007
+-117.6134	45.3444	8191
+-117.1671	43.4684	6233
+-124.878	47.6944	7291
+-122.6229	44.3479	6713
+-112.1836	30.1743	6954
+-89.3404	39.3371	8134
+-125.8365	47.0244	6379
+-87.7354	38.3541	8424
+-117.7192	33.3138	8747
+-107.3823	30.8799	6187
+-91.9201	37.6037	7358
+-93.2603	40.7034	5676
+-118.9601	45.8844	8508
+-88.8347	40.8689	6596
+-106.592	29.2109	4674
+-117.2264	45.9215	8125
+-115.8099	33.8548	7920
+-123.0963	45.7146	8214
+-89.3991	38.4353	8697
+-87.0641	37.9164	7883
+-80.5458	32.5151	4228
+-117.3649	34.0932	9422
+-116.6059	42.5313	5084
+-110.0426	32.3989	8535
+-90.9699	41.6295	6257
+-116.7633	32.9134	9502
+-116.2084	33.837	8339
+-117.3428	34.5116	9117
+-127.7439	47.5983	4240
+-111.2606	30.493	7923
+-91.00	37.5243	7945
+-116.387	36.4509	6834
+-117.6011	33.482	8739
+-88.5041	39.4222	7822
+-90.9922	40.5601	7366
+-82.843	29.4443	7832
+-81.9446	26.2306	8142
+-115.9978	32.853	8671
+-90.7724	38.1167	8623
+-120.8601	46.9793	7365
+-115.2804	33.4752	7734
+-120.7527	43.9327	5781
+-116.9772	32.3469	9229
+-81.285	27.2062	8742
+-88.2474	38.5433	8671
+-80.0657	26.5634	7186
+-91.4578	40.4729	7236
+-116.4719	43.01	5467
+-119.3052	37.6869	5069
+-88.226	38.6742	8531
+-108.6138	31.5914	7611
+-117.3671	33.4575	8793
+-118.864	47.2292	7916
+-123.0842	46.6449	9199
+-80.1461	27.9013	7639
+-83.3363	24.0076	5427
+-116.0195	32.5943	8668
+-116.8209	33.7486	8896
+-92.4884	40.8672	6206
+-121.9221	49.0275	7100
+-117.5865	48.5831	6529
+-120.7577	31.1269	5123
+-91.634	39.7969	7666
+-87.6639	38.2881	8394
+-112.5819	29.8524	6399
+-90.6644	39.6732	8384
+-83.2933	26.4129	7876
+-93.9829	37.7637	5402
+-88.7614	40.5618	6803
+-116.7769	36.6922	6696
+-116.5335	35.759	7593
+-109.8534	32.1116	8700
+-125.2423	42.3287	3898
+-119.3434	47.1183	7704
+-111.8562	32.6506	7459
+-119.5946	44.7248	7248
+-82.1577	30.487	6815
+-119.3293	46.3341	8125
+-117.8011	44.5065	7497
+-111.9634	31.0336	7610
+-92.8239	38.1677	6720
+-116.7675	32.0411	8860
+-120.7986	44.6147	6167
+-90.3605	37.0253	7887
+-109.8174	30.725	8389
+-117.1469	48.0304	6888
+-118.3997	38.4852	4633
+-115.8832	35.757	7211
+-81.2596	28.5227	8585
+-117.8512	29.7967	6243
+-91.3859	36.5897	6857
+-117.975	35.8907	7471
+-87.4152	39.479	7277
+-86.0485	32.49	3253
+-117.2169	30.9954	7702
+-113.9561	43.0163	3633
+-76.8635	24.8638	3086
+-121.854	47.1731	8435
+-116.8362	34.0083	9049
+-126.8518	47.8833	5149
+-91.5797	42.2225	5466
+-111.9188	32.9303	7220
+-117.3383	35.2533	8314
+-117.7233	32.0126	8521
+-118.6141	45.1696	8215
+-105.2601	26.9439	2025
+-116.78	30.0714	6684
+-119.107	46.5737	8254
+-107.9311	28.9076	5578
+-115.5919	33.1937	8163
+-119.0837	47.7267	7340
+-122.1044	44.8814	7154
+-118.379	32.0219	7945
+-109.4671	32.4125	8174
+-91.3123	39.4567	8166
+-86.3946	37.9856	7128
+-118.8367	32.2588	7576
+-110.1191	35.11	5645
+-116.2569	34.7115	8269
+-94.2353	39.6125	5170
+-108.6573	31.9129	7623
+-115.1628	31.7838	7434
+-125.221	48.7496	6391
+-84.2006	31.7673	4798
+-119.5413	33.0884	6807
+-115.1851	47.4903	5664
+-81.8518	25.4185	7217
+-114.1665	32.0859	6525
+-89.2525	37.5975	9264
+-113.7778	32.4242	6169
+-121.4118	46.7517	7954
+-78.1966	27.2054	5394
+-117.2828	29.9103	6492
+-88.5826	35.6609	7555
+-119.0563	46.1457	8440
+-111.5458	31.6432	8158
+-88.032	40.0639	7000
+-113.7997	35.023	5634
+-81.8879	27.3067	9303
+-90.8292	36.1819	6963
+-116.2206	34.3353	8376
+-88.9287	42.0357	5551
+-91.7273	37.5445	7478
+-116.8948	34.0652	9126
+-108.5285	31.0254	7427
+-123.9364	49.8143	6277
+-112.4538	30.6942	6982
+-120.5128	42.539	4811
+-90.2595	38.5681	9187
+-90.0533	41.2356	6722
+-117.9057	42.6971	5634
+-116.4673	45.9336	7329
+-117.2432	35.8873	7624
+-81.1857	25.1307	6723
+-124.0021	47.8118	8080
+-83.4623	28.7016	8054
+-119.9034	31.7012	6249
+-90.0509	37.1038	8241
+-127.3095	44.4332	4019
+-113.0606	30.5767	6324
+-90.9514	38.0525	8455
+-88.4245	34.0036	5686
+-111.7291	33.7391	6691
+-116.0954	33.1116	8727
+-124.6109	45.6617	7242
+-87.7937	36.5156	8124
+-107.5089	33.0968	6002
+-112.4573	34.8976	5209
+-87.0846	39.1517	7296
+-107.0143	27.8032	4023
+-118.2318	30.9824	7267
+-117.5442	46.2723	8457
+-121.3202	46.1494	7652
+-120.0273	43.5723	6008
+-121.8017	48.442	7585
+-117.5446	36.258	7200
+-104.8099	29.6692	3140
+-88.6297	35.0159	6836
+-114.0729	34.5554	6024
+-82.8595	25.6371	7347
+-105.373	33.145	3839
+-112.9435	27.7616	4459
+-111.7166	30.6424	7661
+-121.8101	45.2827	7402
+-118.3578	45.622	8748
+-118.1289	45.4278	8530
+-88.6511	35.942	7875
+-118.0614	32.1872	8344
+-110.0259	29.9388	7661
+-121.8322	49.0859	6999
+-114.808	29.1108	4969
+-89.2971	37.5038	9192
+-80.899	28.0111	8469
+-111.6898	33.2515	7144
+-89.8883	40.2511	7721
+-115.7702	38.874	4115
+-86.764	37.4216	7551
+-83.6407	28.8727	7777
+-121.7149	31.8428	4346
+-117.0045	33.9534	9191
+-118.8888	48.0068	7142
+-90.3096	36.919	7891
+-88.7271	38.2853	9118
+-118.2231	33.9235	8470
+-123.1522	47.1979	9230
+-107.7594	33.564	5955
+-116.5206	34.0714	8721
+-123.5941	49.6815	6528
+-89.1148	39.9791	7521
+-122.1435	47.0978	8763
+-118.8297	47.2984	7866
+-90.0026	35.1051	6623
+-115.8939	30.07	6464
+-116.9083	46.3825	7774
+-124.123	35.1263	1981
+-121.9941	33.7359	4363
+-111.5052	30.1265	7448
+-115.5305	33.4099	8020
+-81.125	27.1203	8537
+-89.6265	37.8155	8835
+-124.9437	49.3789	6133
+-116.3998	33.6414	8451
+-85.388	28.0904	6192
+-122.476	47.9295	8450
+-118.059	33.8843	8632
+-118.6228	48.0388	7176
+-118.6933	43.7533	6738
+-92.1814	37.574	7109
+-123.4186	47.2781	8942
+-120.671	43.2087	5289
+-120.5197	33.9569	5984
+-120.9136	44.1425	5788
+-123.171	47.7747	8670
+-115.8394	45.9428	6667
+-79.4722	27.7168	6881
+-112.8899	30.7641	6565
+-123.0699	46.3001	8850
+-90.3344	39.4845	8631
+-119.3223	45.6262	8051
+-112.0063	31.4445	7655
+-117.9126	33.5173	8564
+-119.1989	44.2002	7027
+-116.1205	34.8826	8044
+-84.04	29.2698	7146
+-116.3106	28.5686	4958
+-91.3822	37.252	7484
+-124.9967	48.7683	6569
+-113.2209	33.5124	5711
+-87.1119	40.3732	6254
+-86.0266	36.1006	6273
+-80.9334	28.2173	8442
+-113.5002	29.6256	5440
+-82.9832	30.7414	6392
+-116.2928	47.0982	6902
+-117.1805	35.2151	8354
+-118.7743	48.4869	6680
+-120.0576	35.0159	6345
+-119.5292	35.9595	6366
+-119.3563	47.5826	7322
+-123.6646	45.7083	7989
+-124.9446	48.2104	6977
+-115.6472	32.2228	8139
+-117.0278	32.5035	9397
+-93.2106	40.7187	5711
+-91.1212	35.5813	6285
+-87.7734	38.7321	8180
+-117.7124	43.0738	5999
+-122.6969	46.7104	9247
+-119.1548	31.2481	6750
+-90.002	33.2727	4692
+-118.7195	34.2816	7945
+-116.6689	32.9986	9364
+-112.7109	30.7448	6742
+-109.4065	33.1788	7474
+-90.3186	35.7529	7050
+-122.8308	47.4725	9045
+-90.8034	36.3049	7065
+-115.9694	31.4345	7852
+-117.6817	29.3451	5799
+-121.3429	46.9186	7895
+-115.2156	34.4651	7271
+-109.6587	30.3822	7981
+-127.5086	47.0874	4541
+-114.3148	45.1989	4951
+-111.6241	35.9344	4556
+-77.7718	27.7949	4958
+-93.0333	37.0408	6026
+-80.3007	27.1502	7705
+-118.7956	31.3995	7172
+-117.4376	38.7934	4451
+-80.515	27.1787	7944
+-108.7549	31.838	7741
+-117.8486	32.4983	8707
+-88.7429	41.5006	5972
+-87.9512	35.6089	7331
+-119.3086	32.6409	7133
+-89.5264	33.7808	5371
+-108.208	30.0406	6628
+-90.1676	40.1548	7893
+-123.2013	46.6768	9147
+-88.6717	37.7701	9657
+-118.6941	34.5515	7915
+-119.4484	31.5499	6645
+-89.3984	39.7083	7943
+-116.2821	37.1131	6115
+-111.4488	31.7303	8255
+-116.2537	36.6081	6621
+-115.6319	35.4933	7218
+-120.9183	47.47	7360
+-116.2355	33.1626	8851
+-127.0546	48.6846	4667
+-118.7027	46.0492	8813
+-115.8014	49.2638	5002
+-87.5875	41.34	5317
+-91.5324	38.5459	8166
+-91.8688	37.8117	7531
+-89.7935	37.849	8644
+-111.498	36.5166	3982
+-83.3588	25.5739	7051
+-117.582	29.9186	6448
+-113.1057	30.6751	6313
+-112.7709	32.4817	6659
+-90.0686	37.7893	8335
+-125.0967	46.5205	7144
+-89.8349	37.9832	8408
+-91.5789	35.9953	6188
+-110.1823	30.8186	8629
+-123.2144	46.2172	8713
+-89.9008	36.2436	7773
+-119.1245	36.3706	6366
+-108.7787	31.0798	7703
+-90.9898	42.7776	5034
+-115.8865	34.3932	8006
+-116.6996	32.1147	8915
+-119.697	47.9087	6829
+-118.2666	35.2889	7871
+-84.2547	30.262	6187
+-107.4461	30.033	5923
+-108.0654	33.5283	6236
+-116.9716	34.2873	9175
+-116.5971	32.3603	9098
+-81.4067	24.9122	6560
+-118.5993	45.4949	8538
+-81.5169	28.8613	8471
+-118.3903	33.9522	8296
+-116.3953	32.3606	8938
+-89.4894	38.8685	8452
+-88.4931	36.7234	8713
+-86.90	40.3334	6161
+-116.8945	34.2696	9106
+-116.5537	36.1802	7174
+-118.8139	48.225	6941
+-110.4947	35.0793	5682
+-88.988	39.9256	7458
+-78.5795	29.7235	5303
+-118.3523	48.1643	7073
+-80.0086	27.3171	7435
+-82.0506	25.5715	7407
+-110.7556	29.8416	7532
+-90.3467	39.5098	8604
+-90.0394	38.8877	9025
+-118.4439	47.6741	7585
+-116.0102	32.062	8394
+-116.7759	37.14	6215
+-117.5779	35.4874	8022
+-115.6104	33.3827	8114
+-77.6047	26.6549	4617
+-121.8114	45.2195	7345
+-119.4199	30.7625	6184
+-86.5091	37.5768	7279
+-108.9106	31.7407	7923
+-83.1777	27.60	8696
+-123.4201	49.5789	6680
+-116.8184	33.7721	8910
+-123.8318	44.0225	6214
+-79.2423	27.5906	6616
+-91.083	38.4367	8598
+-84.4674	27.1952	7174
+-81.6138	30.6078	6625
+-93.0153	36.9073	5961
+-123.6151	45.9021	8197
+-123.916	44.4292	6603
+-114.7623	44.8619	5308
+-80.1764	25.0468	6102
+-119.0564	44.1937	7082
+-125.727	48.8926	5848
+-88.7169	36.6959	8725
+-89.2074	36.2484	8149
+-115.3493	32.2938	7857
+-93.3402	40.8665	5505
+-112.1399	31.8051	7502
+-90.3748	35.3029	6606
+-110.5337	30.5924	8378
+-88.7617	38.6852	8671
+-121.8924	41.7906	3813
+-116.3629	31.6671	8305
+-115.0699	31.3786	7098
+-120.503	46.1289	6909
+-114.9709	34.4899	7004
+-94.0805	38.6624	5438
+-112.2691	30.6946	7166
+-116.5845	44.1607	6530
+-88.2541	36.755	8642
+-84.0481	27.7191	7726
+-118.1769	30.2591	6597
+-83.0674	27.3671	8743
+-109.096	30.3559	7585
+-122.3762	46.6744	8947
+-89.3768	35.6775	7480
+-117.2356	33.1317	9291
+-86.7103	36.433	7124
+-87.771	40.1261	6836
+-107.8769	32.511	6629
+-81.2292	27.6119	8855
+-119.9108	33.0633	6426
+-80.4089	25.7753	6912
+-90.5121	37.3782	7939
+-114.5019	31.9944	6855
+-123.1232	49.2676	7066
+-84.9953	24.0327	4570
+-117.4669	44.658	7506
+-82.7778	24.9297	6601
+-88.7886	39.7027	7422
+-108.0413	32.3872	6842
+-121.2038	33.9811	5240
+-116.3214	34.3445	8481
+-114.7662	45.1776	5410
+-89.0844	40.3676	7188
+-89.8709	39.0798	8768
+-115.9019	31.9977	8255
+-90.1034	38.0479	8610
+-119.4629	44.3494	7025
+-115.6021	36.0698	6752
+-123.5158	42.9732	5167
+-109.3534	31.4243	8398
+-120.843	33.9811	5633
+-125.4885	46.037	6585
+-113.7008	31.1546	5796
+-118.6679	35.1025	7679
+-117.8199	33.6553	8740
+-84.692	29.3203	6506
+-91.6002	39.8591	7650
+-89.7834	41.8064	6067
+-125.9892	47.2901	6194
+-116.4024	45.2353	7068
+-88.2369	37.7708	9209
+-85.0983	37.037	5637
+-111.4789	32.4403	7923
+-109.34	29.2116	6688
+-117.2418	46.0349	8155
+-118.2714	34.3073	8425
+-84.3788	39.3782	4528
+-112.1238	31.0553	7451
+-89.9053	38.0438	8505
+-117.1204	28.9893	5480
+-83.0497	29.5683	7606
+-111.5443	32.2263	7988
+-117.8939	44.9097	7934
+-108.5852	28.8279	5938
+-116.6072	34.342	8783
+-88.7325	37.142	9226
+-109.4888	31.9039	8495
+-115.1823	35.1436	7011
+-91.2735	35.8787	6184
+-116.6265	35.8336	7556
+-117.3785	46.1958	8297
+-123.0855	47.3155	9172
+-110.9199	29.0105	6614
+-118.0271	45.7172	8773
+-122.7428	44.3355	6710
+-119.5654	46.319	7883
+-116.668	34.804	8557
+-89.5461	37.8229	8923
+-80.3315	28.8937	7488
+-111.666	29.4505	6749
+-110.1219	32.0646	8904
+-119.0753	33.4773	7439
+-83.5677	24.3399	5690
+-91.1182	37.0941	7472
+-114.3798	34.2818	6385
+-88.2828	35.4554	7275
+-116.4402	34.1167	8636
+-122.0749	33.0028	4150
+-89.6361	39.0668	8550
+-120.1365	36.6814	5351
+-122.3367	45.2629	7635
+-110.405	29.6662	7395
+-87.0561	38.7773	7525
+-82.6162	27.3114	9142
+-79.0425	25.5353	5580
+-118.3163	33.203	8008
+-88.8819	37.7012	9680
+-121.6853	46.828	8263
+-117.2123	32.809	9479
+-83.883	28.8832	7544
+-91.0735	37.6486	8023
+-106.137	30.8415	4857
+-121.2014	47.6201	7607
+-117.6922	46.3603	8577
+-115.3829	31.7446	7620
+-112.711	30.3128	6553
+-118.5812	34.6402	8001
+-114.5888	30.8566	6316
+-87.2542	35.9187	7221
+-88.8641	40.5708	6868
+-87.2074	39.5142	7101
+-79.9823	25.3943	6269
+-114.8927	31.0894	6742
+-92.6151	38.2616	6962
+-89.2754	38.8702	8223
+-117.2857	29.7516	6316
+-127.2513	47.2414	4816
+-78.0441	24.6643	4085
+-87.8235	37.2426	8655
+-117.0811	43.5327	6258
+-91.5727	37.554	7606
+-83.4125	27.803	8445
+-87.0102	35.2686	6479
+-80.7037	29.5627	7295
+-87.726	38.7725	8110
+-112.3943	33.3524	6531
+-83.6589	28.2157	8093
+-80.4888	30.7463	6042
+-107.2204	29.4035	5356
+-121.1226	46.9007	7652
+-116.8949	33.8974	9058
+-123.1541	48.6978	7684
+-119.6253	43.4269	6093
+-124.8974	45.8046	7067
+-117.2211	45.1951	7783
+-91.7815	38.9654	7900
+-89.8466	38.9396	8811
+-108.4546	29.0221	6032
+-88.2247	37.7814	9193
+-110.6158	34.9171	5849
+-117.9181	34.1352	8827
+-115.446	33.2024	8003
+-122.9831	47.2206	9313
+-116.2215	34.4875	8334
+-108.081	29.2283	5943
+-117.597	37.4694	5881
+-79.3528	30.2621	5666
+-117.4506	33.8162	9138
+-116.301	34.5624	8385
+-82.997	24.8439	6444
+-114.4257	30.5061	5922
+-85.1756	32.3823	3638
+-119.9461	43.4534	5950
+-109.8392	34.4884	6281
+-116.8853	46.5996	7688
+-113.6309	32.2587	5827
+-90.4801	38.1712	8792
+-112.6107	28.6207	5425
+-115.2694	34.0077	7355
+-119.6846	40.7196	3372
+-89.477	36.5089	8291
+-88.7668	38.091	9338
+-121.1942	49.9245	5855
+-117.8841	33.3202	8424
+-109.2654	33.3706	7218
+-93.5112	39.0038	6042
+-120.4907	44.4253	6326
+-111.0989	30.4897	8027
+-123.3629	46.4256	8824
+-120.708	32.9729	5576
+-88.1529	35.0502	6799
+-92.0578	37.1228	6908
+-123.2704	46.7467	9133
+-120.1217	36.5759	5439
+-114.5227	39.6955	2772
+-114.9411	32.3285	7429
+-111.0933	32.5868	8110
+-107.8372	30.4645	6510
+-79.4845	30.8583	5286
+-118.6625	30.3779	6440
+-106.992	30.6853	5725
+-80.8004	26.4485	7772
+-89.9596	38.1323	8617
+-91.3843	37.6992	7860
+-87.6514	36.6857	8148
+-117.0841	42.0337	4771
+-88.2675	38.2885	8920
+-115.0948	32.8875	7664
+-117.0381	34.1918	9281
+-112.9011	33.4495	6034
+-118.9682	32.0244	7352
+-114.8491	32.1944	7291
+-116.3201	34.1487	8505
+-88.3393	35.9465	7826
+-123.5553	48.8611	7404
+-90.3019	37.6885	8277
+-125.1256	49.1528	6179
+-121.0541	47.0047	7578
+-90.0226	41.3365	6610
+-88.4097	37.3747	9298
+-82.2391	27.0485	9071
+-124.1244	49.1704	6836
+-89.7641	37.8583	8675
+-82.5678	27.3027	9173
+-87.4247	36.3807	7729
+-109.7363	29.8496	7487
+-113.6861	36.4435	4890
+-125.3649	47.4521	6846
+-88.0382	36.0004	7774
+-124.6897	47.3797	7588
+-116.367	46.5394	7178
+-118.8196	44.179	7148
+-118.3248	34.8472	8145
+-119.4663	47.1504	7585
+-79.8846	29.2502	6844
+-89.3616	37.4242	9094
+-115.6737	33.9102	7783
+-123.6101	47.8325	8376
+-114.8951	32.4159	7399
+-93.4386	37.346	5800
+-117.2227	35.5203	8024
+-121.8904	44.9784	7156
+-91.0077	40.0155	7903
+-117.8089	37.7437	5555
+-87.3127	38.1873	8081
+-116.5355	34.1088	8740
+-118.0803	46.3873	8888
+-122.147	44.5647	6841
+-88.8485	38.6861	8666
+-81.833	24.9715	6712
+-117.3869	26.6923	2906
+-116.8429	46.523	7671
+-125.3919	47.0712	6866
+-109.2846	31.3234	8303
+-90.791	39.7286	8282
+-126.6649	49.1676	4815
+-111.0763	34.6225	6084
+-117.8159	42.9818	5921
+-116.6164	30.9833	7671
+-105.6515	32.1385	4365
+-119.6412	44.792	7264
+-91.289	38.0062	8161
+-117.2436	47.9159	7044
+-119.4142	48.4542	6495
+-120.8528	46.8821	7355
+-111.1258	31.1789	8510
+-110.9635	33.6034	7181
+-118.9018	33.774	7712
+-118.2702	35.4065	7769
+-116.9012	31.5372	8324
+-118.1715	44.3907	7446
+-124.2636	46.524	8031
+-117.0167	47.3166	7401
+-125.5339	48.3708	6327
+-116.3715	32.0615	8680
+-120.0219	47.1348	7118
+-91.3336	35.9737	6261
+-110.8059	32.6594	8200
+-116.5573	33.2537	9085
+-117.8644	43.3383	6302
+-88.9412	37.6601	9619
+-114.8993	35.752	6410
+-116.2558	33.3608	8754
+-82.1335	28.8042	8719
+-83.8246	26.9307	7758
+-84.3308	26.762	7159
+-119.7121	36.8871	5520
+-89.3115	36.5836	8455
+-91.5674	39.0195	8115
+-91.5567	37.6054	7658
+-90.4253	37.5291	8108
+-126.1543	46.9024	6030
+-117.1406	46.9378	7760
+-121.0828	32.9545	5181
+-122.4226	35.7021	3659
+-119.5059	34.0072	7091
+-123.5316	49.2217	7033
+-114.6287	34.7048	6594
+-85.1674	38.5418	5657
+-125.9678	46.879	6234
+-119.4098	33.2951	7028
+-109.0087	32.4769	7742
+-116.4395	35.6979	7607
+-85.2496	29.5523	5829
+-116.3395	49.9966	4649
+-120.7943	33.9233	5683
+-118.2907	33.3168	8109
+-114.087	29.9773	5242
+-117.854	46.2987	8760
+-116.8634	34.3875	9018
+-122.0324	43.4888	5668
+-91.3099	36.4375	6739
+-116.2799	29.3087	5766
+-110.3284	29.5304	7249
+-108.1476	31.6803	7103
+-114.3421	33.7778	6635
+-117.3526	36.6186	6825
+-115.6528	33.3769	8160
+-89.2138	36.8392	8760
+-110.6562	31.6462	9117
+-115.4637	35.8356	6833
+-118.8323	38.088	4898
+-112.2733	34.0381	6084
+-89.8674	39.5705	8380
+-117.3857	33.0417	9222
+-113.1878	36.7443	4255
+-110.3617	29.3474	7051
+-111.6987	32.6606	7589
+-118.6739	37.5058	5552
+-118.2123	33.4501	8265
+-90.609	35.3466	6490
+-109.112	28.9862	6364
+-121.5278	46.3702	7962
+-91.9906	38.9981	7671
+-89.4988	37.8173	8976
+-113.7807	30.0546	5388
+-119.0764	33.8015	7531
+-125.0142	46.9155	7283
+-91.222	40.151	7664
+-90.8023	42.4876	5371
+-109.0003	29.5542	6843
+-115.2151	32.7669	7798
+-111.7997	30.4259	7450
+-89.5478	38.4468	8466
+-116.1748	29.9124	6395
+-125.1374	49.1189	6195
+-83.7284	27.0302	7905
+-83.4955	26.4257	7730
+-116.4823	32.7776	9211
+-85.4462	37.7427	6087
+-121.3731	48.0536	7547
+-91.6945	42.1326	5514
+-115.638	33.5476	8061
+-126.9058	49.8643	4175
+-116.5657	43.0135	5520
+-116.4173	38.3298	4867
+-117.9505	32.6031	8630
+-78.7977	29.7174	5521
+-84.3573	28.6121	7201
+-123.9012	49.9075	6193
+-117.3297	36.3933	7072
+-82.6644	28.0393	9217
+-114.4647	33.414	6884
+-118.6847	34.5852	7914
+-107.8956	27.8991	4687
+-118.7742	46.728	8416
+-110.0181	30.9847	8741
+-89.683	37.0838	8596
+-116.8067	36.191	7238
+-118.0524	47.6399	7611
+-91.1225	39.3458	8401
+-117.0111	33.8269	9103
+-80.6253	26.8616	7903
+-108.8188	31.0812	7745
+-88.9866	37.6786	9568
+-110.0205	33.9999	6833
+-109.047	27.418	4750
+-112.4227	30.5128	6930
+-115.7868	32.4208	8365
+-119.881	44.9407	7170
+-115.7737	29.8552	6192
+-91.7601	36.7424	6801
+-90.0235	38.0966	8620
+-117.4667	46.4823	8306
+-92.5397	38.9689	7088
+-90.4269	38.0508	8669
+-116.782	32.6313	9461
+-86.5963	40.2395	6036
+-119.0233	29.4611	5363
+-88.5324	39.1088	8174
+-118.8709	31.6226	7246
+-118.5502	41.5052	4386
+-88.0298	36.5026	8269
+-117.8402	46.4817	8641
+-116.2449	33.2536	8812
+-122.0932	48.3327	7863
+-113.085	31.3828	6484
+-109.0281	33.113	7295
+-90.3427	38.7282	9375
+-108.7511	31.0751	7673
+-123.6414	43.6508	5873
+-92.9793	37.894	6478
+-114.1031	33.9919	6300
+-118.5907	32.0987	7772
+-91.4188	35.3385	5854
+-115.5761	34.9294	7500
+-120.2585	35.7453	5831
+-88.7486	35.8022	7723
+-94.0786	41.2442	4619
+-89.3032	36.0737	7929
+-85.4734	35.5589	5426
+-116.5626	30.2121	6813
+-120.5845	48.2801	6682
+-116.7009	34.8337	8556
+-89.4376	39.6314	8031
+-118.8989	32.5835	7582
+-114.2179	33.6046	6563
+-116.4255	34.2368	8613
+-90.2621	41.0927	6896
+-120.4735	45.8562	6927
+-116.9073	33.8751	9055
+-109.7837	32.8477	7980
+-89.5251	38.9114	8483
+-117.2868	33.2039	9192
+-89.8256	38.1217	8519
+-120.2661	32.7425	6072
+-86.7376	35.9963	6865
+-90.1351	36.5062	7801
+-110.992	34.8897	5821
+-118.4808	43.8502	6869
+-81.935	24.179	5827
+-91.4068	39.6444	7959
+-90.1096	36.7718	8004
+-116.8228	29.8336	6422
+-125.7875	46.3779	6369
+-118.7066	35.1559	7611
+-89.6257	40.5186	7351
+-119.1612	46.5297	8225
+-89.0197	37.464	9452
+-117.6161	36.76	6647
+-77.4053	26.931	4460
+-119.8122	49.167	5631
+-120.3454	46.8237	6946
+-118.2457	31.5072	7711
+-85.2255	26.9813	6283
+-114.3127	32.5737	6780
+-87.1027	34.9677	6257
+-119.8986	46.4106	7518
+-113.5734	32.3007	5878
+-108.7272	29.5831	6694
+-81.057	28.6976	8282
+-119.6606	46.6302	7698
+-108.7759	30.6885	7528
+-114.6457	44.3792	4999
+-109.3103	30.6679	7986
+-110.5697	29.6379	7350
+-82.7202	26.7901	8604
+-112.7556	31.4133	6843
+-87.903	35.8483	7556
+-88.0872	34.431	6105
+-123.4747	47.2562	8899
+-121.5418	48.362	7467
+-118.4475	47.9936	7248
+-116.0893	32.577	8738
+-122.7423	45.7548	8264
+-90.1527	34.4537	5888
+-90.9209	36.7181	7159
+-120.0439	33.0078	6269
+-114.1844	34.4573	6157
+-110.0856	34.4346	6373
+-109.7842	31.7581	8849
+-80.0193	25.981	6762
+-82.8216	25.4705	7181
+-118.8121	48.6959	6455
+-89.987	40.2399	7763
+-81.2503	27.2915	8758
+-80.3648	29.9798	6687
+-108.2605	32.2918	7100
+-94.3408	38.642	5157
+-117.1919	31.7178	8502
+-83.6336	29.5752	7234
+-107.5665	33.9613	5521
+-87.2044	37.7591	8058
+-108.7363	31.7622	7732
+-118.3582	34.5899	8247
+-116.7454	44.2309	6697
+-81.5912	24.1981	5809
+-117.3987	31.3938	8094
+-86.6472	35.8128	6655
+-121.3231	45.1658	6976
+-121.4105	41.7938	3624
+-124.5311	46.8832	7812
+-115.0284	33.7513	7353
+-118.5558	30.5708	6684
+-115.1124	32.3476	7619
+-82.5731	25.6438	7440
+-120.9966	48.8818	6640
+-84.4665	34.5458	3851
+-89.8975	37.2387	8458
+-119.7524	44.2528	6761
+-122.689	46.599	9140
+-91.488	40.8866	6832
+-115.8585	28.9885	5308
+-117.79	33.0054	8811
+-122.5462	45.8264	8295
+-88.087	36.9293	8690
+-120.1595	35.4833	6056
+-117.1864	33.4386	9017
+-113.4053	33.8021	5631
+-116.0967	36.9677	6193
+-84.9245	31.3839	4723
+-81.5244	25.944	7718
+-121.9247	45.9542	8062
+-110.4754	34.6249	6175
+-87.0785	39.9642	6614
+-83.4149	25.1543	6600
+-89.3107	35.9509	7795
+-117.9275	47.9772	7237
+-114.6206	32.558	7120
+-116.5915	34.9702	8365
+-88.5837	37.8859	9494
+-115.7146	32.9008	8353
+-87.2221	34.7169	6078
+-87.5142	36.5625	7941
+-116.6431	45.4106	7376
+-115.1287	30.7196	6643
+-126.9395	47.3837	5145
+-79.5275	25.477	5968
+-90.5017	39.0287	9098
+-117.6304	32.7066	9002
+-117.347	32.9217	9313
+-92.5582	36.6658	6178
+-122.0623	44.3295	6566
+-106.7336	31.3759	5567
+-82.0069	25.5871	7423
+-86.7268	34.8338	5897
+-83.1216	29.6696	7466
+-124.1778	46.6422	8158
+-115.6628	30.4199	6710
+-108.3173	29.9633	6671
+-93.357	35.3594	4563
+-82.2048	31.052	6175
+-113.7372	34.5675	5659
+-121.1742	45.373	7025
+-88.29	38.9415	8287
+-115.445	34.0571	7549
+-119.1253	35.2779	7157
+-93.4641	38.7864	6104
+-118.3868	43.9931	7026
+-89.3308	40.6509	7082
+-120.5034	46.9717	6734
+-91.2368	42.8382	4923
+-113.8219	31.8005	6067
+-116.9104	36.5637	6858
+-88.9442	38.624	8721
+-117.3525	32.2163	8957
+-91.2149	38.9893	8492
+-83.5255	29.2989	7550
+-109.1479	35.9021	4621
+-116.7418	33.4926	8958
+-111.7615	28.9161	6196
+-80.6783	27.9345	8235
+-118.3443	33.5865	8220
+-91.1648	37.3823	7727
+-86.0457	33.2107	3955
+-115.7402	32.7972	8385
+-78.037	25.7512	4727
+-119.944	46.1945	7499
+-115.4794	33.6651	7843
+-118.8239	33.6902	7772
+-119.6843	46.0948	7777
+-117.5577	36.2353	7223
+-116.6192	33.9395	8801
+-115.5187	35.2093	7299
+-83.4607	28.2992	8274
+-118.2056	41.9966	4914
+-83.3093	26.7968	8168
+-82.8088	27.1125	8829
+-87.4065	35.1237	6579
+-111.5121	32.5724	7806
+-82.8506	27.6038	9060
+-124.6792	46.7487	7637
+-115.485	36.2218	6543
+-109.7432	33.1965	7612
+-124.7886	48.4555	6964
+-82.3522	29.0749	8392
+-119.2301	49.4734	5550
+-92.7675	37.4685	6507
+-116.7703	47.8609	6802
+-89.5999	36.8816	8530
+-87.9507	39.0171	8043
+-114.3563	30.1139	5562
+-121.3493	46.8699	7899
+-119.5783	33.1345	6791
+-109.7131	30.1893	7821
+-116.2571	47.2264	6805
+-108.6479	30.7572	7440
+-78.5175	28.9976	5571
+-119.6714	34.2615	6911
+-87.3243	40.4714	6274
+-115.524	34.9521	7438
+-116.6321	32.7513	9373
+-111.1984	31.1109	8406
+-115.991	32.7692	8663
+-81.7855	26.7826	8712
+-113.7265	33.0019	6133
+-120.1314	46.1357	7303
+-89.7378	35.5763	7228
+-111.7364	34.3575	6105
+-112.9754	33.7839	5748
+-118.0882	35.0443	8200
+-123.425	48.0614	8272
+-88.497	35.7381	7630
+-86.9399	37.836	7756
+-88.372	33.582	5209
+-87.8743	37.7817	8805
+-115.6252	37.729	5226
+-93.9708	39.2372	5522
+-125.8002	47.2356	6406
+-80.2482	25.8774	6873
+-118.7963	33.9945	7862
+-117.2156	37.5963	5760
+-115.9206	35.1381	7706
+-117.6958	34.1891	9066
+-88.6557	39.4908	7763
+-81.4552	25.6589	7388
+-116.5106	32.2515	8943
+-117.9963	34.2233	8736
+-127.2095	44.0865	3912
+-122.8746	48.8684	7517
+-89.5313	41.8204	5990
+-125.2572	45.9727	6796
+-93.0231	37.0755	6055
+-118.0471	31.7171	8033
+-80.7047	27.4985	8248
+-82.4492	28.323	9169
+-112.9755	30.3074	6295
+-115.3113	30.9292	6953
+-121.5006	45.0386	6989
+-88.5302	40.7329	6499
+-114.0213	32.1707	6390
+-123.4894	48.7468	7546
+-80.4248	25.2627	6463
+-124.3634	48.4354	7328
+-107.7182	34.1687	5489
+-121.067	43.2911	5072
+-122.122	49.6415	6546
+-116.7167	46.765	7458
+-119.4893	44.9737	7513
+-91.2845	38.4372	8396
+-115.2603	31.8518	7566
+-117.5952	47.653	7462
+-110.8975	29.0756	6689
+-118.6235	32.7384	7903
+-109.0685	28.9079	6267
+-117.9652	45.7153	8732
+-112.7584	30.3909	6546
+-86.475	32.9224	3902
+-87.7535	39.3213	7637
+-91.4218	38.7736	8305
+-110.6673	33.0644	7829
+-81.3884	28.3173	8844
+-91.7435	36.6802	6755
+-109.2715	28.6353	6079
+-115.9449	32.6694	8601
+-120.4239	34.3919	6082
+-82.9069	26.3765	8093
+-125.7754	47.3411	6421
+-114.7023	33.9272	6940
+-116.167	31.8859	8384
+-120.9848	47.6306	7379
+-114.7772	44.789	5296
+-120.8909	35.4109	5346
+-79.2486	25.8477	5973
+-86.6249	25.6072	4254
+-115.5192	33.9476	7621
+-116.3899	30.5909	7188
+-108.3946	33.4998	6520
+-116.9835	31.6586	8461
+-89.1651	37.9679	9254
+-82.9412	28.1199	8895
+-92.4476	40.881	6227
+-108.2318	28.2814	5233
+-115.2102	34.0213	7291
+-108.5089	30.5489	7201
+-89.1757	38.9334	8108
+-117.9468	46.6144	8610
+-116.9861	33.2946	9219
+-89.2252	37.7733	9286
+-109.4346	30.4981	7947
+-88.9637	39.9211	7441
+-116.8217	32.9254	9551
+-119.1243	47.7266	7321
+-118.998	46.1549	8501
+-116.2064	41.3102	3731
+-111.0625	32.5903	8127
+-110.477	34.2657	6563
+-81.7715	25.0022	6738
+-114.4028	34.4441	6396
+-89.0979	38.5962	8707
+-88.1202	36.7987	8601
+-113.7198	33.0275	6124
+-91.3818	40.7781	6988
+-91.6538	37.7414	7676
+-116.868	34.3254	9055
+-118.637	45.0196	8057
+-88.2754	37.8182	9238
+-116.6837	31.9509	8737
+-109.8286	32.1607	8643
+-90.4238	38.5125	9165
+-127.0426	44.7168	4427
+-87.8182	38.5404	8367
+-118.046	35.7138	7616
+-115.3691	33.4362	7842
+-118.3735	35.032	7983
+-87.2421	37.332	8063
+-109.8063	33.8098	6995
+-111.1043	33.1062	7624
+-123.1302	46.8509	9323
+-86.7937	35.8091	6774
+-80.7598	29.3568	7515
+-113.7859	35.7698	5342
+-123.3795	44.642	6999
+-109.4653	32.926	7741
+-118.1049	35.5334	7758
+-88.8218	38.9267	8399
+-84.3582	26.4957	6994
+-86.0352	39.6301	6039
+-117.9899	32.6395	8594
+-92.4163	36.3673	6048
+-115.2351	31.7243	7469
+-81.4454	28.0101	9067
+-90.8002	37.9718	8473
+-114.6811	34.9339	6585
+-109.7008	32.4108	8345
+-118.0428	44.3993	7441
+-111.2787	32.4693	8070
+-88.9803	37.7452	9559
+-119.6261	37.5727	4988
+-90.3997	42.8406	5015
+-111.0452	29.7236	7316
+-93.5385	41.4126	4974
+-119.3076	46.1265	8175
+-114.7533	31.4978	6879
+-124.4786	48.653	7068
+-116.6802	30.4927	7141
+-112.0899	29.9036	6840
+-88.5548	34.4884	6240
+-118.3587	32.8769	8199
+-87.1574	40.2794	6370
+-120.5569	49.2431	6017
+-87.5751	38.0051	8424
+-115.9575	35.2333	7673
+-118.7136	46.5261	8619
+-116.9712	30.3643	7018
+-81.7354	26.6312	8531
+-92.2789	36.4226	6189
+-89.1052	36.8537	8827
+-88.3686	39.2893	7939
+-88.5658	40.5668	6655
+-81.2819	26.8138	8447
+-121.939	44.2495	6440
+-118.7926	46.6931	8433
+-82.8882	29.1477	8112
+-82.0579	30.3449	6974
+-114.1968	31.935	6511
+-110.6648	28.5607	6179
+-118.3673	48.4593	6760
+-117.3219	33.5107	8856
+-89.259	38.1992	9000
+-88.6698	39.4471	7813
+-121.0004	46.0046	7267
+-92.9421	39.0577	6646
+-118.0163	43.0266	5993
+-92.0113	37.5482	7243
+-121.7253	32.9651	4510
+-116.7595	47.8183	6828
+-110.1426	34.8344	5945
+-118.7532	36.4363	6548
+-91.8997	39.6051	7548
+-118.0017	47.4656	7784
+-115.4938	30.6933	6871
+-88.9553	39.4974	7687
+-117.6123	34.5604	8939
+-121.4233	47.7944	7746
+-89.8212	43.1013	4695
+-115.4933	31.7175	7703
+-115.772	36.0833	6858
+-122.2661	47.0389	8905
+-115.6362	33.3472	8155
+-110.1696	31.1288	8950
+-118.201	33.2212	8304
+-88.7308	37.1172	9198
+-91.3534	41.0606	6723
+-118.5786	47.8139	7419
+-119.9107	43.1673	5708
+-88.6971	35.3416	7205
+-86.5578	37.6209	7335
+-121.0449	47.3449	7526
+-121.6894	42.5123	4535
+-120.4116	33.9683	6103
+-110.0895	32.9441	7976
+-87.3041	37.5437	8168
+-88.1276	39.9012	7206
+-118.8935	44.7791	7720
+-117.2025	48.529	6445
+-108.3417	31.8211	7300
+-84.53	31.0689	5276
+-91.693	35.9286	6072
+-119.3658	47.1235	7683
+-115.6101	33.5929	8010
+-90.2506	41.067	6923
+-114.0915	34.075	6252
+-91.3509	40.0903	7643
+-117.4784	43.7733	6653
+-80.6172	27.2215	8070
+-119.8585	45.2737	7377
+-119.7448	48.3486	6420
+-89.2467	35.1269	6914
+-116.8174	34.186	9044
+-121.5925	46.9512	8170
+-111.8645	28.8533	6082
+-121.3709	34.1169	5061
+-85.1665	40.5321	4650
+-117.198	44.2178	6960
+-121.6289	45.3681	7362
+-81.7763	27.0171	8953
+-91.9103	38.363	7726
+-87.386	34.4465	5883
+-121.2537	35.3003	5006
+-89.7698	39.3041	8533
+-112.8419	30.5914	6551
+-121.051	35.2243	5242
+-115.5227	32.444	8090
+-89.0684	36.6917	8670
+-120.5824	44.9156	6521
+-84.4965	27.9834	7208
+-82.1196	31.0891	6133
+-124.0082	45.3903	7489
+-81.1539	27.5562	8759
+-125.7876	48.903	5787
+-120.4471	48.8217	6227
+-124.5074	47.0625	7837
+-83.4738	28.5539	8134
+-91.6224	35.5009	5676
+-120.087	33.3997	6359
+-118.4768	45.3256	8415
+-127.6337	48.8508	4009
+-90.8274	39.4273	8551
+-87.5593	43.7458	3239
+-119.863	44.9654	7201
+-88.9489	37.9706	9417
+-125.0882	44.4321	5927
+-119.6527	33.0745	6690
+-80.867	29.8329	7151
+-85.247	28.9237	6134
+-92.1539	33.6604	3927
+-83.8088	28.2279	7926
+-117.8388	34.3297	8878
+-92.4912	40.8421	6223
+-123.5008	47.053	8939
+-85.3762	36.7412	5870
+-78.1994	30.8372	4246
+-92.0963	36.1298	6050
+-106.3106	30.2805	4892
+-91.0356	35.8142	6528
+-84.5624	31.1802	5152
+-115.9244	33.1573	8530
+-116.3843	32.3111	8893
+-83.232	27.7348	8649
+-117.8293	34.7077	8661
+-115.6692	33.4173	8158
+-89.4831	40.8978	6914
+-90.8855	37.8428	8307
+-127.5396	46.4967	4483
+-83.9791	35.5738	3950
+-118.3716	33.8041	8280
+-110.6946	34.5791	6204
+-121.8391	48.221	7801
+-126.6911	47.1267	5437
+-82.769	29.5328	7769
+-115.2165	32.5465	7778
+-84.1603	28.9138	7257
+-91.9544	36.4638	6434
+-111.9465	33.6594	6625
+-115.4442	28.4081	4551
+-123.6075	47.6923	8493
+-108.2856	30.5003	6964
+-114.2917	44.8408	4828
+-120.1502	47.225	6952
+-117.5916	31.6324	8259
+-121.1881	33.8901	5252
+-80.9388	26.2635	7720
+-119.046	45.044	7881
+-89.5295	39.3529	8298
+-116.4519	43.4452	5845
+-116.1471	30.6189	7137
+-111.7375	34.2454	6213
+-88.4306	37.8558	9382
+-117.978	30.3348	6764
+-125.6246	48.3583	6245
+-86.1813	34.738	5431
+-116.5128	32.2073	8905
+-110.0557	29.4186	7109
+-80.6812	25.3833	6735
+-120.9055	45.0768	6588
+-90.1185	37.3547	8258
+-126.6411	45.9524	5348
+-123.4632	47.1431	8958
+-93.146	36.8335	5800
+-115.7767	32.5277	8387
+-124.4161	44.5363	6459
+-80.8278	27.8046	8415
+-107.9537	30.8392	6772
+-121.1659	46.792	7691
+-109.1962	32.4463	7927
+-80.9278	27.0247	8291
+-120.6412	35.1005	5709
+-122.1157	48.13	8065
+-83.917	26.4305	7371
+-83.2325	28.2952	8513
+-117.4288	34.7537	8838
+-115.0489	37.6931	4963
+-92.3087	38.2791	7288
+-87.3453	38.3967	8021
+-108.6926	32.0581	7623
+-119.1697	29.723	5517
+-82.5274	24.237	5874
+-81.2825	26.513	8178
+-81.8117	28.5107	8975
+-119.5788	43.6939	6366
+-81.1599	25.6069	7212
+-115.1602	34.9164	7087
+-91.1278	42.1706	5651
+-116.8209	32.1072	8945
+-121.254	45.1617	6923
+-111.2219	31.1737	8413
+-121.2006	48.6893	6948
+-91.291	39.7959	7932
+-118.2131	33.7641	8430
+-109.6453	31.2327	8637
+-114.4503	31.8035	6727
+-118.2634	42.5564	5508
+-83.4435	27.8413	8408
+-119.6373	43.5006	6156
+-124.6749	47.1015	7651
+-115.4058	34.7596	7396
+-115.3532	31.2322	7231
+-85.6396	36.1041	5892
+-123.0781	41.7062	3824
+-88.1857	39.3184	7849
+-117.1421	31.6318	8417
+-87.9909	37.714	8943
+-82.1434	27.5291	9624
+-117.7192	35.3817	8089
+-117.9712	33.1645	8567
+-90.2562	36.255	7512
+-117.3661	32.6369	9264
+-89.6749	41.3395	6531
+-108.9448	30.3631	7471
+-112.76	31.2707	6823
+-108.0179	33.4486	6252
+-90.1223	36.2706	7631
+-92.7888	35.6912	5230
+-115.5694	36.0678	6731
+-118.0938	36.6415	6657
+-118.3356	36.5235	6682
+-84.3713	40.1657	4139
+-122.8509	47.1361	9412
+-117.7675	34.1966	8987
+-91.0727	40.5279	7369
+-91.4878	34.3862	5031
+-117.9971	32.9586	8593
+-120.6619	32.2985	5591
+-125.9212	48.3851	5939
+-79.7377	25.9076	6462
+-113.2114	46.8483	3831
+-121.2357	49.4799	6294
+-118.8393	43.4916	6436
+-86.5299	38.7559	7022
+-112.7039	29.607	6130
+-104.5069	30.6693	3084
+-83.4788	29.5122	7399
+-88.0351	36.2639	8040
+-82.9729	26.2413	7923
+-86.7482	36.2231	7030
+-115.2847	44.9302	5852
+-84.7224	30.8424	5344
+-116.8552	46.7864	7582
+-116.2933	35.4048	7791
+-108.2934	34.4549	5657
+-111.1949	30.9308	8303
+-119.961	45.4508	7355
+-106.673	30.4901	5335
+-119.3299	30.7179	6228
+-118.5058	32.8833	8034
+-115.8787	37.0824	5983
+-109.3281	30.8251	8109
+-116.6487	43.3441	5867
+-113.5138	31.9297	6007
+-114.8165	32.3273	7293
+-89.7922	38.9183	8762
+-80.8246	30.6595	6300
+-90.5055	33.8478	5106
+-81.7228	24.9511	6673
+-89.7916	39.3664	8503
+-124.2382	47.9315	7794
+-115.3754	33.3592	7878
+-89.8717	41.5786	6326
+-118.1531	44.9695	8055
+-121.2404	45.8082	7383
+-90.0545	38.376	8888
+-79.5509	27.6098	6965
+-107.7761	31.0766	6649
+-74.3767	24.874	527
+-118.2629	30.8081	7086
+-116.0468	35.9292	7170
+-117.3777	46.2637	8286
+-118.7276	47.34	7866
+-90.091	38.7914	9106
+-113.9561	31.9875	6270
+-112.5033	33.4407	6379
+-81.4963	30.5022	6715
+-89.6247	35.9728	7684
+-88.9639	36.4931	8480
+-117.5185	32.3646	8957
+-122.9505	48.2352	8211
+-123.0024	48.4634	7958
+-122.8711	42.2767	4454
+-118.7575	45.8945	8713
+-124.1712	44.8703	6913
+-88.4798	38.2154	9119
+-82.978	29.9647	7228
+-118.7536	32.6561	7752
+-117.4566	33.2509	9023
+-117.7766	32.5377	8797
+-115.8035	45.6433	6590
+-87.2049	35.9536	7214
+-121.4384	46.8566	7996
+-121.8613	44.6615	6828
+-115.7561	35.113	7574
+-118.7247	49.2051	5939
+-117.6494	44.5563	7493
+-117.4737	34.3858	9182
+-89.4548	37.2137	8891
+-90.5414	35.9852	7071
+-114.303	31.8115	6577
+-111.4912	32.1331	8085
+-116.5714	33.4745	8897
+-94.0798	37.0038	5018
+-116.8612	36.3115	7121
+-115.6329	43.9502	5646
+-89.5106	36.4889	8252
+-114.5929	34.5704	6583
+-122.3478	35.5427	3786
+-117.6341	43.3717	6290
+-117.8254	30.6249	7127
+-87.702	38.1456	8504
+-110.5635	29.2974	6984
+-117.2735	42.7817	5587
+-85.2959	25.6473	5585
+-114.9758	44.4324	5337
+-121.5863	34.2249	4825
+-118.8278	48.5831	6568
+-113.9296	34.5128	5874
+-107.6079	32.9268	6181
+-120.0352	48.0927	6450
+-90.4033	36.134	7299
+-83.2933	26.2065	7693
+-115.6552	44.7963	6154
+-118.3378	34.5229	8295
+-88.7041	40.325	6943
+-89.0938	40.3844	7180
+-114.4946	30.1092	5664
+-118.2606	44.6802	7757
+-91.4788	35.3827	5608
+-87.8253	36.2684	7924
+-116.3839	31.7629	8410
+-110.8942	30.2172	7874
+-90.9392	40.2096	7741
+-83.2703	28.272	8485
+-109.4549	36.851	3687
+-118.0968	47.7661	7485
+-117.2751	33.9542	9342
+-116.7093	31.4746	8229
+-117.7257	30.3765	6903
+-117.0514	48.9934	5930
+-81.3569	27.5462	8979
+-89.528	40.9439	6886
+-122.0755	47.8561	8274
+-121.5826	44.2827	6321
+-114.3002	28.6018	4097
+-80.7126	25.0103	6384
+-118.582	34.9921	7824
+-108.9154	31.0595	7836
+-119.0212	43.4627	6360
+-109.2046	32.2562	8050
+-123.3925	44.3284	6658
+-122.5157	47.3708	8993
+-120.1864	48.5194	6000
+-117.3572	49.1121	5923
+-124.9013	46.4327	7331
+-118.6065	34.1917	8075
+-86.6022	36.5621	7088
+-85.1547	26.3547	6119
+-87.4589	38.4958	8077
+-90.2315	42.5986	5273
+-112.1803	35.0343	5233
+-89.7964	37.1964	8545
+-117.541	34.9939	8553
+-116.4882	37.6831	5574
+-116.5958	32.8349	9339
+-81.0767	26.9923	8410
+-127.2431	43.7525	3670
+-116.9164	34.1891	9151
+-82.4295	28.7315	8751
+-117.6672	37.4069	5940
+-90.4535	36.7796	7676
+-123.5212	47.3409	8809
+-108.443	30.5512	7140
+-110.8158	30.3358	8024
+-116.7784	30.749	7437
+-120.227	43.5969	5904
+-114.908	35.1498	6736
+-78.1594	29.8432	4820
+-82.5362	28.0209	9353
+-115.9333	33.5787	8321
+-90.4103	42.127	5784
+-118.6688	33.5705	7890
+-117.9251	33.391	8455
+-116.259	32.7418	8959
+-120.4489	35.3729	5812
+-89.7463	41.4997	6382
+-108.8921	28.038	5327
+-115.5081	29.3364	5544
+-117.9076	44.6024	7625
+-79.2781	26.6792	6436
+-110.9965	32.2433	8460
+-91.1945	39.3275	8351
+-121.1935	47.2554	7705
+-87.5226	38.4725	8151
+-124.7858	45.0781	6674
+-117.2561	35.6644	7868
+-117.0979	34.0755	9343
+-116.7125	48.451	6266
+-91.3563	36.9486	7218
+-90.6826	41.2567	6703
+-80.355	27.7706	7881
+-82.9528	28.0464	8913
+-115.975	30.8634	7310
+-91.0405	37.7239	8111
+-83.4433	26.7947	8047
+-83.0857	25.7913	7412
+-109.756	30.4679	8113
+-117.4289	32.1968	8890
+-119.504	45.4138	7778
+-91.1286	39.34	8400
+-90.2546	41.8789	6049
+-115.7561	31.7761	7972
+-90.8911	35.5917	6482
+-117.2124	32.6594	9427
+-108.5021	31.5809	7490
+-116.5725	34.3761	8736
+-124.5908	45.5312	7170
+-110.0672	32.4817	8458
+-81.0674	25.0523	6593
+-115.0327	32.3841	7542
+-90.5854	39.2464	8847
+-88.423	38.6727	8621
+-89.4218	40.8688	6916
+-117.9603	46.1701	8911
+-114.2057	28.4228	4058
+-118.393	31.0977	7261
+-120.3767	46.2676	7036
+-115.1905	33.8826	7442
+-117.202	31.9334	8733
+-118.3354	36.0656	7129
+-114.5697	35.063	6426
+-117.3927	43.0585	5904
+-109.3926	29.818	7306
+-110.7623	34.9975	5745
+-116.841	47.8074	6893
+-115.921	33.6016	8295
+-115.7631	32.2672	8277
+-119.0803	45.886	8387
+-117.5496	31.7943	8440
+-84.4303	26.8109	7078
+-123.0014	45.0396	7486
+-112.7867	35.903	4284
+-118.0923	46.4904	8800
+-120.5698	45.9582	6834
+-117.9893	33.2064	8532
+-110.8487	30.2903	7965
+-122.6772	46.7309	9250
+-120.5511	45.6639	6815
+-110.519	30.3215	8092
+-88.9774	36.9107	8935
+-118.6228	33.2695	7784
+-118.5404	47.4125	7844
+-88.0637	33.8357	5444
+-121.0206	48.0996	7195
+-82.9833	28.2433	8790
+-123.2821	45.3956	7830
+-80.2098	28.1209	7680
+-90.9879	42.2423	5604
+-108.5617	31.2322	7517
+-83.431	29.5901	7360
+-118.9324	32.1671	7444
+-126.9629	45.7221	4938
+-119.1327	37.9266	4927
+-82.6556	27.5824	9266
+-123.4761	47.9768	8329
+-82.3905	29.674	7715
+-124.7385	46.9587	7586
+-117.7224	40.5566	3360
+-116.8791	35.0711	8431
+-122.4922	47.1939	9093
+-114.1566	31.7238	6390
+-121.2286	32.2528	4958
+-80.6627	27.886	8223
+-118.5401	49.6683	5472
+-82.7422	26.8405	8639
+-79.791	28.3222	7169
+-122.1688	45.2997	7606
+-119.5232	44.6722	7258
+-88.5085	39.9047	7051
+-117.2001	45.3653	7874
+-80.996	28.195	8517
+-93.2986	38.4962	6270
+-84.3528	27.5646	7371
+-114.8267	34.0583	6875
+-110.1586	29.5693	7283
+-81.0297	29.476	7590
+-109.5376	29.8353	7393
+-90.2473	36.9097	7949
+-115.0914	32.7683	7660
+-119.7298	44.4348	6925
+-122.9973	49.2767	7066
+-82.5147	29.5023	7882
+-121.6808	46.6979	8235
+-124.8435	45.7629	7095
+-92.7236	41.1304	5826
+-124.8789	45.8538	7112
+-115.5891	45.0563	6201
+-122.6358	46.9661	9316
+-114.1021	33.7787	6382
+-117.8674	47.1171	8097
+-120.5614	46.7293	7024
+-89.879	35.8784	7452
+-82.4725	29.6662	7709
+-123.0491	48.5041	7909
+-120.4312	35.3997	5820
+-119.1112	30.7104	6400
+-119.6984	32.9428	6584
+-78.0626	26.7833	5154
+-112.7234	35.1336	4837
+-86.5085	38.6398	7055
+-111.4306	33.3126	7255
+-109.1655	30.1416	7463
+-116.0637	32.692	8736
+-125.6425	49.2885	5658
+-118.0599	33.3123	8293
+-119.6331	35.3014	6659
+-121.0746	47.7567	7421
+-109.8773	34.4353	6344
+-119.5398	49.6208	5301
+-115.284	32.3748	7812
+-118.2231	32.2723	8225
+-87.7128	36.7299	8233
+-119.3641	42.7707	5553
+-89.028	38.7565	8556
+-89.9305	39.4089	8563
+-92.2333	37.8995	7230
+-122.0047	42.7603	4882
+-115.665	32.0471	8066
+-118.2092	32.919	8362
+-109.6654	29.0729	6659
+-119.1139	35.316	7145
+-114.2079	29.5384	4974
+-114.1561	34.66	6097
+-93.1565	37.0333	5909
+-90.8393	38.6554	8922
+-125.4616	46.34	6709
+-89.9699	37.3093	8406
+-122.5859	44.8828	7291
+-113.3065	32.8787	5960
+-122.0723	49.4283	6753
+-89.5697	39.4567	8263
+-86.583	24.32	3525
+-83.1541	25.8647	7450
+-86.8135	35.472	6518
+-78.1441	28.921	5194
+-89.9629	33.2412	4670
+-111.8351	30.9285	7698
+-85.9521	38.2213	6595
+-89.9234	43.3913	4397
+-118.0112	32.0003	8274
+-81.2183	27.0168	8554
+-120.1121	47.3363	6923
+-81.8967	28.1465	9386
+-92.0354	40.0735	7143
+-110.9829	30.4521	8060
+-116.0679	32.3024	8598
+-89.8257	41.9381	5936
+-116.9249	35.5317	7968
+-118.3624	45.7565	8887
+-108.4379	32.3216	7270
+-89.9283	34.7665	6309
+-118.1962	36.0023	7261
+-115.8838	45.6269	6670
+-83.0219	25.3594	6989
+-107.9553	32.0847	6840
+-88.9241	36.8599	8893
+-111.2957	33.9673	6688
+-122.3721	46.0466	8441
+-85.6447	28.3013	5874
+-90.4667	39.186	8946
+-116.3324	45.7785	7166
+-89.3485	37.3611	9078
+-119.3001	44.6628	7396
+-119.3465	38.146	4608
+-119.0912	35.1328	7268
+-95.6925	37.418	3525
+-87.5753	37.0954	8332
+-114.9736	46.5074	5729
+-118.9389	33.8532	7688
+-111.4446	32.569	7864
+-117.1771	34.0437	9400
+-79.8502	25.8386	6512
+-89.0239	36.9303	8940
+-118.4126	36.3675	6799
+-107.9107	29.237	5820
+-123.0146	46.0214	8560
+-90.9742	37.7993	8218
+-88.3557	35.5657	7413
+-88.3242	35.7494	7607
+-114.865	33.3377	7338
+-114.2612	47.5421	4735
+-88.7742	35.796	7716
+-85.0749	40.6646	4476
+-115.6879	31.1623	7421
+-118.5387	45.8019	8845
+-82.7475	30.7346	6463
+-90.0089	36.662	8022
+-117.9994	32.4776	8540
+-118.4838	33.7227	8137
+-115.0031	33.9509	7224
+-82.6514	26.3922	8231
+-93.544	38.4688	6004
+-82.3877	25.6098	7435
+-91.3972	41.0527	6713
+-109.3962	27.0632	4472
+-119.2659	48.2252	6781
+-116.447	43.8531	6187
+-115.6527	31.2776	7496
+-86.8103	35.5525	6582
+-118.6169	44.0517	7063
+-82.7885	28.893	8418
+-116.6844	30.5035	7154
+-88.4229	35.2364	7061
+-122.9872	32.4953	3047
+-119.5306	35.3222	6748
+-87.7311	36.7269	8246
+-119.2072	49.1159	5920
+-108.8876	30.8966	7740
+-89.8451	38.5311	8798
+-124.2893	46.0748	7792
+-83.8029	26.1042	7227
+-87.0134	36.8607	7649
+-89.0082	37.6592	9544
+-124.5289	48.0451	7460
+-119.3933	48.0018	6928
+-84.0054	26.4658	7313
+-123.4011	45.5132	7917
+-83.487	28.7649	7990
+-108.1959	33.134	6613
+-116.2099	48.7933	5661
+-113.3327	29.9102	5752
+-121.7448	46.8039	8325
+-84.4393	25.9121	6545
+-107.7508	28.1719	4838
+-111.9039	29.8712	6956
+-116.4513	34.5247	8551
+-124.78	47.8296	7334
+-117.9998	33.8748	8690
+-120.5205	48.0414	6738
+-89.4844	38.487	8415
+-120.5782	47.6051	6961
+-119.5075	47.9712	6892
+-115.27	38.3765	4422
+-81.2431	26.4671	8110
+-87.4226	40.6866	6104
+-94.2549	37.6958	5099
+-119.8459	36.4812	5733
+-84.9829	30.3266	5559
+-118.5936	33.7763	8039
+-90.6161	37.0684	7595
+-119.9297	34.5999	6589
+-79.892	24.9779	5845
+-111.1725	32.2876	8287
+-116.0031	38.0424	5057
+-120.0548	43.4822	5913
+-123.5976	47.0607	8833
+-123.3649	43.2235	5462
+-112.8334	32.105	6706
+-88.1668	40.5213	6366
+-121.3019	49.1417	6641
+-120.204	45.4671	7119
+-85.4071	35.0525	5037
+-118.8248	32.3524	7616
+-116.1427	45.4073	6878
+-118.114	45.7095	8810
+-110.3052	27.5813	5137
+-109.2307	33.0436	7491
+-106.8445	34.7669	4356
+-112.5234	35.1592	4930
+-121.4999	47.609	7914
+-114.1581	36.8953	5002
+-111.6155	31.5812	8084
+-115.5905	33.2668	8138
+-93.0987	38.3943	6473
+-112.1719	30.0553	6883
+-88.9987	36.6783	8676
+-111.3911	33.1456	7429
+-89.5276	36.5488	8298
+-114.2084	46.3981	4933
+-92.0254	37.1154	6927
+-110.032	32.5111	8417
+-116.9016	31.8022	8619
+-81.6396	30.4675	6786
+-95.7272	37.8628	3586
+-117.0787	44.8452	7418
+-113.1786	44.5371	3606
+-113.9878	35.3414	5726
+-126.0501	46.708	6134
+-110.2262	31.3862	9231
+-119.2838	35.108	7094
+-116.113	37.0781	6088
+-89.1738	42.2899	5392
+-88.7683	39.241	8047
+-119.7379	44.4157	6904
+-88.254	35.9068	7758
+-121.007	48.9619	6585
+-120.9424	30.575	4662
+-82.1608	29.6868	7720
+-88.2461	38.1708	9001
+-116.7982	29.4028	5940
+-91.15	31.2302	2111
+-115.6164	36.0292	6796
+-115.0493	33.2674	7556
+-119.5174	45.458	7787
+-88.5334	40.3002	6823
+-81.2659	28.0333	8866
+-89.6651	36.4745	8140
+-119.8049	36.2998	5898
+-122.8665	49.2489	7098
+-88.4928	36.6876	8675
+-113.5116	31.0783	5987
+-116.3159	36.3255	6931
+-84.5059	29.834	6332
+-115.1805	33.0081	7749
+-88.9675	40.0761	7334
+-88.9064	38.3496	9032
+-117.1373	31.0023	7720
+-115.9337	32.1416	8377
+-115.9331	34.7104	7953
+-117.6052	49.4858	5603
+-119.5822	31.4125	6442
+-123.5085	46.7589	8900
+-91.8594	37.7798	7520
+-113.0485	34.2858	5323
+-118.3644	30.8115	7027
+-89.4728	42.2449	5532
+-118.0444	37.0903	6203
+-81.5879	30.8319	6370
+-90.5809	40.6143	7404
+-87.7009	40.1173	6815
+-82.6525	26.4232	8263
+-125.5965	46.1561	6513
+-87.5988	37.9286	8472
+-108.4122	33.0903	6828
+-114.9102	35.8288	6371
+-124.2911	45.8247	7629
+-122.2928	47.3233	8833
+-110.2564	30.4506	8244
+-116.1354	33.8814	8274
+-119.6138	33.4294	6865
+-82.8556	29.4307	7840
+-81.8587	28.4772	9031
+-117.5676	44.1815	7092
+-83.7421	26.0243	7209
+-121.8264	46.1249	8107
+-114.1019	32.6188	6550
+-119.0253	46.4684	8383
+-87.0743	37.8799	7900
+-87.6596	36.6519	8130
+-80.8083	27.6184	8384
+-123.7817	49.9061	6235
+-93.7508	36.612	5125
+-83.3769	26.7803	8097
+-116.3657	31.3568	7992
+-116.3226	32.2728	8813
+-123.8316	47.9288	8135
+-91.9525	38.7868	7733
+-81.6412	26.9099	8775
+-86.3708	38.0253	7096
+-86.9668	37.6364	7795
+-118.3327	47.9661	7284
+-116.0007	33.8114	8113
+-114.5919	35.9646	6002
+-117.6409	36.3016	7138
+-88.0708	35.9159	7701
+-92.5571	38.1244	6986
+-117.9426	32.4689	8597
+-80.5984	29.7189	7083
+-91.9757	39.8151	7359
+-93.1183	36.0058	5248
+-88.1045	37.1422	8867
+-88.441	39.1104	8153
+-119.9295	32.4045	6416
+-118.2348	33.1142	8300
+-81.0144	28.5354	8357
+-89.9433	34.6829	6215
+-117.7818	33.2741	8710
+-89.8635	39.1042	8746
+-118.366	36.0552	7123
+-119.5477	36.0794	6267
+-90.7696	37.6123	8129
+-111.7489	31.99	7878
+-122.4874	44.6439	7014
+-87.3701	36.0926	7454
+-116.0518	30.0089	6459
+-116.9654	33.9966	9177
+-90.5665	38.3697	8969
+-121.7337	45.7818	7780
+-115.0083	33.2027	7527
+-114.5696	29.3148	5019
+-82.9072	27.9581	8991
+-89.6987	38.2571	8515
+-89.8049	38.5546	8766
+-87.1528	38.2419	7892
+-116.9744	33.5958	8871
+-118.9163	48.1987	6939
+-90.9998	38.0172	8392
+-120.7978	48.6372	6656
+-93.4327	40.4392	5667
+-92.6278	38.6813	7004
+-113.8417	30.8826	5597
+-118.0752	48.9839	6198
+-91.9702	38.3241	7653
+-111.7275	30.8639	7774
+-88.6419	34.6265	6400
+-120.0334	34.1268	6520
+-93.5448	37.6569	5819
+-91.4547	37.3701	7541
+-118.4125	31.5035	7574
+-111.1969	30.6767	8117
+-88.4694	36.3602	8312
+-115.109	30.6633	6581
+-91.3897	37.9865	8063
+-82.3636	25.3088	7100
+-117.8394	30.2228	6700
+-118.5406	33.8125	8105
+-120.1416	44.6408	6758
+-85.3967	40.3335	4991
+-116.5665	45.1966	7206
+-124.3927	42.4226	4352
+-123.3111	44.913	7305
+-118.234	36.2331	7016
+-116.8545	36.7321	6668
+-115.301	33.8261	7580
+-88.6534	38.6046	8754
+-90.2374	37.1678	8072
+-107.698	31.6631	6617
+-120.2284	32.878	6029
+-84.201	32.5168	4031
+-87.7399	41.3465	5431
+-114.9652	30.3509	6211
+-109.2889	32.6392	7864
+-93.6832	39.2694	5824
+-93.0569	36.8471	5887
+-119.0656	48.5476	6539
+-122.0771	33.1101	4173
+-116.0456	30.4124	6881
+-112.6618	32.0631	6898
+-115.6261	46.2789	6440
+-108.897	32.037	7842
+-118.9938	33.7618	7611
+-84.4952	28.3983	7126
+-116.051	33.2334	8631
+-119.883	32.5172	6483
+-116.5435	31.5506	8264
+-113.6276	32.095	5862
+-109.5311	31.2195	8519
+-110.5092	34.4954	6313
+-112.355	34.2822	5820
+-117.1619	45.9137	8057
+-113.9371	33.1493	6353
+-87.122	39.8774	6722
+-121.398	45.5725	7355
+-121.9932	45.4212	7638
+-91.0908	39.4657	8340
+-109.8685	31.209	8827
+-120.1722	44.9463	6916
+-85.5027	40.9362	4629
+-88.347	37.8888	9282
+-117.3277	44.2663	7071
+-119.6923	44.6137	7092
+-108.4682	30.4172	7090
+-117.1424	42.0412	4795
+-86.9911	39.8375	6666
+-90.4753	38.3503	8982
+-87.4193	38.7447	7878
+-113.9711	32.5838	6402
+-81.7132	29.1111	8299
+-115.2803	31.2101	7155
+-87.0161	38.6602	7555
+-109.7104	30.5614	8177
+-120.7772	43.8051	5671
+-121.5852	46.0479	7844
+-124.7538	44.4736	6193
+-116.5732	35.7964	7572
+-83.6814	30.7988	6041
+-90.5359	38.5831	9181
+-119.2033	47.3689	7601
+-92.3748	40.4175	6625
+-79.897	31.5087	4960
+-114.4548	48.13	4671
+-117.4168	31.2389	7923
+-120.446	49.9919	5326
+-118.3365	35.9186	7267
+-119.7438	31.7127	6419
+-112.0783	33.2786	6838
+-116.9779	44.6404	7187
+-116.1132	33.6547	8419
+-88.2596	38.2581	8940
+-115.3178	32.0789	7738
+-88.5943	36.8913	8924
+-88.3299	41.2302	5954
+-80.7655	30.3792	6556
+-122.7782	45.3334	7807
+-85.6715	38.3368	6260
+-84.5769	27.9308	7122
+-112.1227	29.9623	6858
+-107.1774	28.6188	4782
+-117.0638	29.1688	5683
+-117.5356	33.5844	8871
+-119.9609	48.5089	6152
+-81.7691	29.5949	7783
+-124.0764	45.7566	7752
+-93.0848	39.1936	6474
+-112.7402	36.084	4161
+-123.9396	42.9363	5033
+-88.5155	40.2496	6843
+-122.617	44.9778	7399
+-114.6672	44.9428	5239
+-89.0861	38.848	8441
+-115.2821	35.6514	6812
+-118.3229	43.4964	6503
+-117.4462	32.126	8815
+-118.3153	32.729	8245
+-84.3713	26.4692	6966
+-116.705	35.2795	8146
+-78.2468	29.7969	4932
+-83.1454	26.4562	8019
+-120.1468	34.2803	6392
+-86.4347	37.0603	7111
+-91.0972	37.6465	8008
+-121.5671	44.8497	6858
+-80.5673	28.5439	7914
+-83.4166	37.3125	3796
+-83.9054	27.6763	7885
+-118.9473	30.6957	6516
+-120.3052	49.2117	5836
+-126.3444	45.4207	5458
+-115.3795	39.5685	3262
+-91.5628	35.4213	5618
+-115.2415	32.5182	7800
+-89.4549	36.0339	7827
+-120.333	35.192	5999
+-91.1887	37.7498	8040
+-115.6026	31.2106	7403
+-85.0902	28.6475	6402
+-119.1179	32.4669	7322
+-123.2541	43.8557	6166
+-126.1882	49.0033	5357
+-114.9726	34.7685	6941
+-115.0027	43.8765	5063
+-114.4981	47.0951	5115
+-91.3036	37.7664	7972
+-116.3955	36.8404	6436
+-122.4601	46.0833	8522
+-119.4892	47.0677	7623
+-89.4337	36.5536	8359
+-82.1437	26.0776	7982
+-124.9108	49.1502	6345
+-79.2261	26.7965	6425
+-124.313	48.3167	7459
+-116.2069	49.9231	4653
+-117.604	37.1001	6281
+-125.0617	43.4482	5070
+-120.9486	33.7765	5503
+-118.5565	34.4882	8079
+-114.3033	30.9792	6144
+-115.7968	33.5479	8214
+-116.9718	32.7455	9673
+-91.1823	41.3462	6497
+-123.8336	47.4158	8468
+-112.5878	31.1418	6985
+-119.0098	45.8741	8455
+-122.3071	49.8725	6348
+-124.269	45.8376	7657
+-82.8821	31.8215	5227
+-80.7112	26.9758	8051
+-112.0072	32.2523	7521
+-123.3158	49.1943	7117
+-114.6883	29.3535	5129
+-85.3291	31.2017	4584
+-114.8931	35.0496	6763
+-123.9797	49.1463	6934
+-80.124	31.8177	4776
+-115.4584	30.494	6664
+-91.0172	38.9982	8691
+-119.7709	48.6245	6157
+-92.8554	41.222	5656
+-126.7899	48.0943	5157
+-89.6608	36.7756	8399
+-118.8919	36.0733	6777
+-125.3936	48.0593	6615
+-86.9989	38.9064	7391
+-88.3164	38.3863	8862
+-88.5861	38.1605	9224
+-117.4695	31.3072	7978
+-122.5106	47.3552	9002
+-119.5642	45.3511	7689
+-78.7208	24.5904	4618
+-116.7593	34.348	8937
+-87.3524	33.6742	5061
+-117.679	47.7305	7419
+-119.0274	43.3237	6216
+-121.6808	45.486	7499
+-116.4245	35.0708	8163
+-118.4368	45.1294	8220
+-83.4643	26.6764	7946
+-112.7362	34.2254	5604
+-89.3744	39.5456	8039
+-87.9578	40.433	6579
+-92.4587	37.6523	6894
+-117.0925	32.028	8862
+-90.348	35.2016	6528
+-117.7645	35.2822	8172
+-118.7888	33.1846	7581
+-112.1013	30.3045	7109
+-124.9926	48.4611	6781
+-114.9928	35.5168	6635
+-117.4519	32.1727	8853
+-117.6159	33.3353	8826
+-113.7906	36.1083	5177
+-87.7765	36.4518	8056
+-112.6016	31.9029	6992
+-108.6166	31.564	7613
+-113.9748	37.6485	4285
+-92.8663	37.5079	6432
+-119.1939	46.6487	8135
+-117.6701	45.6644	8464
+-122.182	47.4636	8647
+-109.416	29.254	6761
+-112.7463	31.9204	6834
+-88.8025	31.9587	3408
+-116.4112	34.3707	8570
+-82.2289	27.3363	9394
+-115.837	32.2424	8339
+-112.9503	25.8843	2679
+-83.2578	25.4723	7002
+-113.3494	42.9851	3081
+-121.9772	42.8014	4919
+-120.078	33.3983	6368
+-90.2022	37.6575	8231
+-120.4701	41.8062	4157
+-90.6787	40.5666	7441
+-120.5151	45.4559	6800
+-80.9874	30.2338	6815
+-89.2826	39.2063	8140
+-125.9778	48.1293	5992
+-113.6863	47.4209	4195
+-111.2468	32.6493	7953
+-116.804	44.7912	7169
+-120.7892	44.8902	6313
+-108.9557	29.0916	6389
+-119.7103	47.519	7129
+-85.6333	36.6651	6123
+-111.6084	29.8728	7162
+-117.8253	32.7939	8795
+-91.6417	38.4397	8027
+-81.7876	25.5628	7369
+-116.8264	35.5553	7914
+-86.7973	40.7109	5745
+-116.6973	33.9195	8875
+-92.7042	36.3432	5821
+-80.3918	25.3019	6478
+-120.6531	47.5004	7069
+-110.1429	34.3326	6488
+-110.1627	34.2287	6601
+-85.6612	26.3775	5603
+-118.5962	33.0478	7917
+-122.808	46.5463	9133
+-85.7666	37.4993	6442
+-118.8896	42.6267	5526
+-115.1727	31.6177	7346
+-113.8707	30.4862	5461
+-118.6232	30.2603	6355
+-108.1716	32.0341	7081
+-88.5268	35.7024	7595
+-107.703	31.0898	6574
+-116.6287	36.3138	7060
+-89.2388	37.5448	9268
+-81.3252	30.3135	6869
+-115.867	32.6662	8515
+-111.6598	31.4066	8024
+-118.6873	34.0613	7986
+-111.2123	32.4699	8121
+-123.3891	48.744	7581
+-111.3089	32.2907	8168
+-115.8608	34.8349	7824
+-120.5363	46.4801	6841
+-122.4184	49.36	6924
+-91.7446	42.6529	4969
+-121.8608	47.0173	8463
+-117.4416	34.4246	9167
+-90.9955	39.1038	8662
+-112.6448	29.966	6417
+-119.7395	47.9331	6781
+-110.4918	28.4391	6063
+-110.1776	30.578	8371
+-118.5294	47.178	8090
+-80.8364	26.3798	7744
+-120.6084	45.3649	6678
+-88.3328	38.7823	8471
+-120.7503	46.4948	7188
+-119.159	33.1637	7218
+-113.2912	31.1809	6239
+-87.6795	39.2893	7622
+-110.0631	31.3876	9112
+-119.1269	28.4878	4357
+-118.5432	34.7151	8008
+-116.1597	32.8007	8853
+-91.9045	37.3203	7174
+-80.5505	25.3507	6625
+-108.1316	32.8623	6715
+-109.8467	32.4319	8414
+-108.5775	28.3021	5442
+-111.9497	32.9068	7210
+-118.1462	36.9669	6301
+-90.5064	40.5011	7532
+-115.6342	46.7877	6362
+-118.1002	46.8488	8444
+-92.0297	36.0902	6053
+-90.0478	37.5299	8060
+-83.768	28.9049	7639
+-117.7615	30.8522	7389
+-82.9585	31.0481	6064
+-90.1473	42.6972	5162
+-109.018	33.7599	6718
+-115.2903	33.9382	7372
+-88.4182	39.623	7584
+-110.6923	32.1818	8717
+-81.7595	30.4391	6839
+-84.4455	25.2916	6061
+-116.0461	35.458	7573
+-125.5415	48.9106	6003
+-121.3006	44.394	6278
+-125.9741	44.7508	5443
+-119.1414	47.1636	7813
+-81.7215	26.3848	8261
+-114.6544	34.9602	6549
+-120.0005	34.1675	6555
+-118.2263	32.9098	8344
+-125.1881	43.7763	5293
+-82.192	28.0688	9544
+-117.5949	43.5299	6443
+-84.7407	31.1341	5074
+-120.8209	46.205	7174
+-119.1986	47.0857	7836
+-116.7728	42.6499	5272
+-115.7129	34.721	7726
+-114.8841	34.9379	6795
+-120.9686	32.4586	5271
+-116.5962	32.4803	9195
+-119.1165	46.0281	8375
+-86.2295	26.5014	5042
+-83.907	28.8204	7558
+-116.6966	45.8899	7565
+-92.2252	39.7573	7162
+-85.8154	35.9816	6001
+-89.3135	36.4585	8327
+-115.6444	31.1623	7391
+-87.5254	36.8972	8176
+-85.8505	38.5633	6390
+-82.6472	27.752	9311
+-89.6486	36.6368	8294
+-117.5633	45.2459	8077
+-114.1908	45.7541	4911
+-81.7871	35.4355	1590
+-118.3396	32.5797	8199
+-115.2698	32.9622	7853
+-123.8999	46.5722	8425
+-118.3443	44.7913	7873
+-89.2019	36.6381	8562
+-82.1893	27.2486	9303
+-105.769	32.7133	4379
+-114.9588	30.5313	6360
+-79.945	27.3896	7380
+-87.0441	38.5531	7640
+-81.9959	30.6416	6636
+-82.1126	28.432	9139
+-84.4273	30.6427	5730
+-118.6568	41.346	4210
+-116.0358	35.6675	7392
+-91.6939	38.83	8009
+-115.1261	34.9701	7031
+-118.7894	32.7673	7719
+-91.1668	40.7259	7133
+-120.6639	45.2832	6595
+-116.6848	35.3009	8115
+-115.5748	33.3606	8086
+-110.265	29.8799	7627
+-114.0112	29.3675	4821
+-124.2274	48.6511	7250
+-88.5327	34.8805	6677
+-117.9395	48.3757	6823
+-110.801	29.2598	6906
+-89.628	37.9034	8812
+-116.7824	33.3855	9086
+-125.9403	46.3458	6197
+-117.2074	29.9577	6553
+-90.6192	38.8405	9152
+-113.5706	37.3961	4160
+-119.5451	30.1766	5637
+-115.7952	33.9461	7920
+-115.3539	34.9001	7290
+-119.7394	48.1297	6615
+-110.032	29.3507	7033
+-107.1701	29.7713	5524
+-118.2581	34.4038	8417
+-108.4426	33.2976	6708
+-83.0412	24.5469	6108
+-92.188	41.8527	5556
+-117.3064	48.0704	6931
+-124.4701	48.6606	7069
+-88.0364	38.8912	8214
+-114.4459	48.4357	4503
+-90.9388	37.7592	8200
+-123.929	47.4345	8364
+-89.8807	39.3211	8604
+-81.0048	25.6786	7207
+-108.0267	30.3223	6625
+-117.8964	34.4598	8764
+-115.8293	41.2806	3533
+-118.2134	32.7545	8360
+-119.9814	49.8495	5099
+-82.4546	28.8699	8592
+-94.8932	41.3325	3823
+-109.773	28.843	6443
+-118.3608	31.6931	7756
+-122.978	47.9294	8545
+-110.7964	31.8897	8872
+-119.8959	49.5181	5258
+-122.266	48.4691	7815
+-114.5934	30.3467	5932
+-91.4406	34.323	5010
+-83.223	26.7498	8206
+-122.7446	38.7244	1741
+-123.0207	45.6211	8122
+-119.7218	47.0808	7417
+-89.851	37.4261	8568
+-120.1099	46.9372	7132
+-116.3842	31.3292	7971
+-123.5641	48.6446	7624
+-91.3548	37.7286	7905
+-116.9304	35.0894	8432
+-90.8477	34.6074	5662
+-86.9013	34.9642	6130
+-116.313	31.9727	8562
+-89.2914	41.3214	6413
+-111.6148	33.7586	6738
+-119.6199	31.4994	6449
+-90.1814	39.0599	9026
+-116.1801	35.73	7431
+-109.492	31.779	8538
+-88.9839	38.5434	8800
+-118.8884	44.8355	7776
+-115.5697	46.3291	6376
+-112.0854	35.6772	4649
+-94.0037	36.2959	4710
+-124.0333	47.1227	8349
+-112.8013	31.291	6781
+-116.914	32.303	9177
+-121.1584	45.2091	6888
+-107.2683	30.0404	5756
+-107.0733	29.8655	5481
+-113.4826	33.7249	5737
+-117.2663	46.3732	8145
+-114.8946	31.8433	7199
+-80.8049	29.6007	7330
+-115.8606	34.9091	7786
+-125.1861	49.4978	5859
+-120.2354	34.7721	6225
+-89.6838	39.8959	7977
+-90.0196	38.8598	9015
+-114.2081	47.1097	4814
+-122.5995	47.4363	8994
+-90.4793	40.1298	7934
+-107.6947	33.9688	5620
+-88.5657	40.1955	6921
+-88.9227	37.9001	9499
+-122.5158	47.1305	9147
+-84.1722	41.0552	3406
+-89.6189	34.8959	6562
+-122.2127	45.9253	8235
+-90.7012	37.1029	7616
+-115.2588	30.37	6425
+-115.5282	36.2666	6536
+-84.8932	31.5321	4611
+-117.3683	33.7089	9062
+-114.0689	33.0826	6507
+-116.246	34.6683	8281
+-120.3497	33.8895	6164
+-117.8982	49.4804	5657
+-119.8936	36.7095	5524
+-90.7499	37.4334	7951
+-117.6817	30.7185	7280
+-121.1251	45.5638	7121
+-110.4156	31.8393	9182
+-115.6014	36.2106	6634
+-112.2248	35.0556	5189
+-117.4427	32.7314	9213
+-124.1395	44.00	6074
+-105.5107	30.6806	4158
+-90.6695	35.1418	6267
+-80.6902	29.666	7194
+-89.6428	39.914	7937
+-123.619	44.6977	6991
+-117.745	30.3611	6880
+-123.6782	46.2854	8470
+-87.9237	34.973	6648
+-116.3607	35.9583	7315
+-116.8882	34.5866	8894
+-89.4452	35.4457	7209
+-127.9427	42.3503	2095
+-91.649	38.0401	7860
+-111.8841	33.7129	6619
+-116.9966	45.0222	7483
+-118.4213	35.8287	7300
+-113.2564	30.6638	6153
+-93.5817	38.7034	5977
+-93.7192	38.6885	5828
+-91.012	37.7946	8192
+-88.2202	38.1172	9020
+-120.3276	48.5618	6281
+-109.917	35.651	5043
+-121.4048	35.302	4847
+-118.5514	49.0825	6089
+-108.7699	31.1763	7723
+-89.3948	38.4133	8719
+-92.6699	39.694	6758
+-112.1063	33.6871	6493
+-80.5753	31.7263	5078
+-119.5681	45.2085	7604
+-86.0962	40.1225	5742
+-81.0479	28.1093	8605
+-112.0796	30.4415	7213
+-82.2143	27.8268	9778
+-82.828	25.7692	7500
+-81.3962	27.8906	9047
+-111.8918	26.9295	4156
+-89.2306	39.3499	8024
+-120.047	42.7254	5228
+-91.8961	37.6267	7393
+-124.3452	47.586	7879
+-91.9955	40.225	7069
+-118.7094	45.6412	8597
+-91.3129	39.827	7891
+-89.7358	34.5428	6144
+-92.6439	42.6274	4587
+-124.4009	46.1831	7746
+-89.064	36.3756	8329
+-117.5615	31.2162	7848
+-87.4473	38.3276	8158
+-120.8516	48.0991	7035
+-116.1153	32.1045	8515
+-92.0428	40.1043	7116
+-91.0569	38.1367	8442
+-124.5138	46.757	7818
+-81.2977	25.3526	7002
+-116.1958	43.3648	5616
+-120.2109	45.8607	7203
+-109.7324	32.1769	8558
+-120.2963	31.6133	5804
+-114.9996	32.4658	7524
+-89.4136	41.0043	6779
+-113.3203	29.5451	5556
+-92.0934	38.397	7542
+-91.468	41.8549	5880
+-88.7736	36.3137	8297
+-117.9009	33.6215	8649
+-114.5167	32.8262	7020
+-123.6218	47.0545	8807
+-88.3843	37.8075	9358
+-90.21	38.5115	9107
+-88.7542	38.0473	9387
+-121.3659	47.8904	7639
+-120.6557	45.6654	6706
+-86.0172	40.2466	5582
+-86.5678	34.7296	5697
+-90.4795	38.3772	9009
+-121.1069	46.0632	7400
+-124.1281	45.7299	7691
+-115.0539	34.6548	7058
+-89.4534	40.0995	7658
+-110.0155	29.9988	7723
+-88.6054	36.3311	8306
+-117.5655	47.0515	7998
+-82.0347	25.5348	7365
+-80.5138	30.1266	6654
+-84.6219	26.852	6893
+-88.8795	34.5712	6339
+-119.2565	49.2286	5790
+-88.6648	39.6288	7344
+-116.3903	30.0942	6649
+-115.6187	32.2257	8111
+-92.1498	39.8473	7183
+-89.1468	38.5162	8770
+-116.911	31.64	8439
+-110.4784	33.4191	7478
+-87.0399	36.9316	7709
+-120.6703	46.0675	6732
+-90.8729	37.5965	8074
+-111.6397	32.588	7688
+-112.0408	33.2501	6888
+-112.118	28.9074	5989
+-83.1408	26.6163	8163
+-109.4811	31.3675	8521
+-117.1944	30.9838	7693
+-94.559	38.107	4871
+-82.3528	29.511	7903
+-91.9648	37.0044	6886
+-120.4078	49.6223	5605
+-118.3991	46.4487	8871
+-119.0017	38.086	4829
+-108.8639	33.4501	6900
+-115.4915	32.9768	8098
+-93.1646	41.4133	5274
+-82.6327	30.1457	7142
+-117.1802	34.2562	9374
+-120.2753	47.3183	6788
+-89.444	39.9619	7772
+-86.0141	36.9549	6624
+-82.3868	31.4376	5729
+-109.1952	29.9613	7327
+-82.9199	31.2805	5819
+-111.583	30.0598	7339
+-116.8139	34.9688	8501
+-124.9434	44.7586	6301
+-92.7063	34.8448	4527
+-118.0357	35.176	8125
+-110.793	35.0128	5725
+-115.8395	41.7416	3968
+-115.6089	48.3075	5588
+-89.1816	34.207	5904
+-121.214	48.5439	7070
+-87.8143	38.1642	8609
+-110.4317	31.043	8879
+-88.7546	35.2305	7081
+-127.4554	44.05	3664
+-116.5839	45.9161	7450
+-79.4939	26.6901	6667
+-88.3989	36.8208	8780
+-124.0303	32.1491	1849
+-90.8867	38.9773	8829
+-115.5902	31.6076	7710
+-90.3986	37.7242	8319
+-121.5862	43.1477	5169
+-116.6216	47.0321	7243
+-125.9793	47.0873	6221
+-109.7962	29.9613	7622
+-83.5471	37.2952	3941
+-119.0156	35.3448	7217
+-117.7349	43.2122	6147
+-114.9042	34.3437	6951
+-91.0884	37.384	7767
+-88.0047	39.6025	7479
+-89.1886	41.5247	6168
+-89.0149	35.2793	7122
+-89.8634	45.3678	2269
+-79.9828	28.0765	7434
+-90.0769	38.6817	9086
+-116.5207	32.4194	9087
+-88.3521	35.0418	6833
+-82.5712	29.1836	8215
+-117.8211	47.414	7785
+-118.4054	46.3254	8989
+-119.7211	47.403	7206
+-123.2261	46.7785	9193
+-115.8044	32.1135	8238
+-121.7065	46.8706	8291
+-89.674	42.0436	5793
+-118.5843	34.0117	8094
+-119.3475	34.0298	7265
+-86.0856	38.668	6602
+-116.5597	33.0219	9244
+-84.9757	26.5396	6390
+-87.4147	37.9997	8252
+-111.725	30.7593	7721
+-88.9123	39.2248	7758
+-119.563	48.4558	6421
+-79.5956	27.2453	6961
+-108.3207	29.9839	6688
+-116.0339	46.2769	6871
+-80.7559	27.7382	8334
+-120.6894	49.5737	5851
+-79.8148	30.7813	5590
+-115.8857	46.9248	6575
+-80.9553	28.6421	8232
+-91.7459	36.7533	6819
+-122.3631	49.1517	7134
+-113.3995	32.5762	5982
+-92.6129	37.972	6879
+-117.4066	46.6147	8184
+-90.792	36.8929	7375
+-116.738	32.86	9493
+-81.0287	28.6972	8258
+-90.5804	38.6679	9194
+-123.0178	43.5558	5857
+-116.4246	47.3655	6879
+-120.5635	49.004	6200
+-84.5604	27.075	7037
+-122.7328	48.7735	7613
+-92.1241	37.4473	7081
+-116.8551	32.9585	9552
+-119.6691	43.6506	6280
+-123.4417	46.3008	8663
+-109.0916	30.8801	7927
+-119.7225	32.9502	6564
+-117.4313	34.2732	9302
+-113.8054	30.6426	5576
+-119.4154	47.9215	6989
+-77.6577	27.171	4784
+-114.6541	35.4958	6324
+-115.4679	33.3277	7987
+-119.1478	33.0582	7174
+-85.9005	26.6538	5448
+-118.411	30.6477	6846
+-83.3977	27.0328	8239
+-120.8393	45.7346	6968
+-88.5774	36.8069	8828
+-85.7799	26.031	5323
+-114.8586	34.9205	6774
+-90.0725	37.1167	8225
+-113.5431	30.1141	5649
+-90.251	34.755	6147
+-92.2042	38.0607	7326
+-82.0948	29.2812	8178
+-87.8875	37.5154	8814
+-83.1566	25.1616	6726
+-115.2202	44.3736	5537
+-80.6458	27.6874	8207
+-88.5041	40.4525	6691
+-108.061	32.3865	6862
+-111.2006	36.5819	3977
+-114.9804	38.6092	4055
+-110.7302	29.2642	6924
+-116.8736	28.4516	4883
+-86.2088	38.6795	6727
+-86.4597	37.4865	7218
+-117.0826	31.5525	8337
+-125.552	45.8257	6434
+-120.8503	49.3238	6174
+-113.1443	31.931	6405
+-116.7239	36.8196	6548
+-117.9676	30.7052	7146
+-88.7285	42.4798	5026
+-122.3686	45.8091	8207
+-114.1514	33.7606	6441
+-115.4887	27.3565	3443
+-91.6952	35.7764	5921
+-116.5008	31.0397	7704
+-91.2982	38.36	8352
+-119.1314	45.7177	8275
+-90.0819	36.3663	7739
+-114.9648	45.5673	5701
+-88.6976	37.5792	9691
+-118.6492	30.3356	6409
+-81.6753	26.2348	8084
+-83.061	28.1477	8758
+-121.1612	42.5028	4382
+-111.5305	39.9663	614
+-122.5898	44.1339	6475
+-119.9639	42.4283	4984
+-118.6013	35.7626	7240
+-123.2366	49.1156	7216
+-117.4478	46.5213	8270
+-83.1888	26.7807	8258
+-119.1549	48.4786	6578
+-118.1139	47.0001	8291
+-111.8008	30.0682	7188
+-119.5691	31.0434	6240
+-118.7263	35.2581	7528
+-82.2473	27.4465	9508
+-118.6425	32.1451	7739
+-115.9535	32.7492	8620
+-119.1455	45.4957	8145
+-113.7457	34.2677	5694
+-118.6286	33.8457	8019
+-86.5935	39.7978	6398
+-90.5379	37.1074	7646
+-111.6448	29.3959	6710
+-109.4728	31.7856	8516
+-87.9574	35.2704	6977
+-89.8762	35.4218	7005
+-117.4071	47.7547	7278
+-81.664	27.5091	9287
+-122.708	45.579	8067
+-117.958	33.6167	8596
+-116.6655	34.5967	8710
+-117.5541	31.941	8577
+-113.202	32.3928	6244
+-124.518	43.6948	5596
+-123.485	48.5313	7771
+-86.0802	36.8954	6678
+-88.6837	37.5345	9641
+-116.8593	37.5589	5775
+-111.5895	29.785	7097
+-88.7349	33.5975	5248
+-119.1679	32.8521	7297
+-117.6248	27.9445	4269
+-88.1584	36.6687	8504
+-115.9883	49.3789	5022
+-113.2774	32.4456	6150
+-107.7903	30.894	6619
+-112.1187	33.1938	6868
+-119.4007	44.7745	7424
+-121.2694	46.3179	7678
+-115.6937	45.1835	6351
+-118.6517	35.8847	7102
+-118.0364	47.5725	7679
+-81.7425	29.2946	8108
+-113.2032	31.5523	6364
+-117.1162	46.7894	7825
+-114.0669	31.2662	6085
+-121.375	44.8926	6778
+-87.0616	27.482	4307
+-120.5637	36.8796	4857
+-122.4946	47.5163	8856
+-87.0375	37.8285	7866
+-111.5636	33.3629	7130
+-121.16	45.144	6838
+-113.1895	31.0726	6330
+-121.3247	47.7199	7688
+-118.3824	48.1367	7101
+-110.2506	30.3349	8118
+-110.6811	33.6642	7188
+-91.6558	33.5707	4189
+-116.0417	41.5988	3935
+-87.8032	36.8041	8364
+-110.7991	31.6356	8966
+-108.0792	35.3666	4702
+-86.6454	39.146	6912
+-87.0761	37.4849	7907
+-116.033	46.6921	6796
+-83.6574	29.0473	7640
+-89.6601	37.8387	8794
+-90.6019	42.1579	5744
+-92.159	37.127	6831
+-80.2437	28.4177	7631
+-87.7684	38.4938	8359
+-113.5054	32.7281	5820
+-123.7818	49.9592	6179
+-88.2132	37.5548	9181
+-107.3517	30.1429	5886
+-90.0069	38.7259	9018
+-89.8632	38.5284	8815
+-88.194	35.2767	7057
+-118.3906	33.0325	8146
+-120.4124	46.9113	6847
+-107.2659	27.8908	4273
+-111.8209	34.0844	6321
+-92.4374	37.7926	6982
+-116.8211	46.8338	7528
+-117.7195	44.3748	7338
+-83.6564	29.9193	6909
+-108.5637	32.8222	7133
+-118.9114	43.6707	6603
+-115.64	38.1208	4840
+-122.0799	33.8716	4280
+-107.5559	30.8454	6360
+-116.899	38.1614	5126
+-118.6784	45.2989	8315
+-115.9039	34.0179	8046
+-110.8553	30.1041	7774
+-86.9254	34.4752	5680
+-116.4132	33.176	9017
+-110.3035	33.6577	7226
+-115.0571	34.2167	7126
+-91.5983	36.8481	6992
+-110.3633	30.3348	8120
+-85.2288	41.8466	3667
+-90.7657	39.7774	8243
+-118.8062	48.6557	6498
+-115.4199	35.0019	7312
+-126.2504	48.1344	5708
+-111.0321	29.0183	6593
+-122.8008	48.4808	7939
+-118.6863	33.6493	7902
+-125.4152	49.5448	5649
+-80.6782	26.8479	7946
+-123.0984	49.1225	7228
+-80.0943	25.9341	6791
+-87.4726	38.9296	7785
+-117.5971	35.4516	8055
+-116.6332	34.3971	8789
+-89.8497	38.2171	8611
+-117.7078	43.4055	6342
+-122.0351	46.4147	8479
+-120.4223	47.5754	6803
+-111.223	33.6904	6995
+-86.8668	35.314	6421
+-81.7473	26.9654	8886
+-123.4773	43.406	5643
+-84.4053	28.4305	7215
+-89.5383	34.0922	5711
+-115.273	35.0115	7162
+-90.1643	37.2894	8190
+-117.7409	30.2959	6812
+-90.5688	39.8214	8252
+-121.3211	48.212	7397
+-117.5141	46.5903	8294
+-91.3658	37.8863	8014
+-112.1384	30.8827	7376
+-83.7057	37.7378	4134
+-117.6799	31.5741	8155
+-87.3575	36.3441	7646
+-88.6523	38.4683	8905
+-122.3201	49.0907	7187
+-112.6054	29.9886	6466
+-118.3128	37.5593	5630
+-114.6977	34.8704	6623
+-121.2808	43.2062	5108
+-105.9732	28.481	3676
+-108.2423	31.0126	7125
+-115.6616	29.9608	6251
+-123.7526	45.1978	7449
+-90.2304	39.0654	9047
+-113.7505	30.23	5491
+-109.723	34.1394	6626
+-116.9038	36.8974	6497
+-84.0201	28.3626	7654
+-87.6696	41.1834	5496
+-82.5582	24.4852	6149
+-110.8344	35.2916	5419
+-89.1875	36.8929	8827
+-123.4648	48.6549	7650
+-81.3756	27.3772	8929
+-124.4534	49.2914	6534
+-119.0695	32.1993	7308
+-120.2501	44.7004	6704
+-114.5561	35.7418	6100
+-116.7146	45.7936	7568
+-120.4559	47.3538	6888
+-89.5441	37.8649	8914
+-123.4481	45.5185	7905
+-90.0348	40.5706	7426
+-119.5018	45.1688	7636
+-109.852	30.7879	8466
+-123.7598	46.3324	8432
+-89.3863	38.1224	8951
+-121.7155	32.4785	4360
+-89.3258	35.9701	7811
+-87.2735	38.0292	8090
+-120.7888	47.8501	7092
+-126.1995	49.8072	4823
+-83.4279	31.6696	5240
+-87.9169	40.4627	6534
+-118.5362	44.8834	7945
+-112.2305	33.7177	6380
+-123.9629	48.8779	7204
+-121.3696	47.7462	7719
+-124.5435	45.8878	7446
+-107.5623	33.596	5763
+-120.8028	46.0446	7089
+-116.1315	37.0032	6171
+-115.0208	44.7178	5508
+-116.7927	37.6817	5633
+-83.1764	30.5807	6497
+-86.0651	38.8972	6483
+-126.157	49.2637	5228
+-91.0623	38.8531	8684
+-115.7727	32.8015	8421
+-87.0302	39.1081	7281
+-118.1931	34.8624	8252
+-77.7236	26.9374	4816
+-114.2457	40.0065	2333
+-84.0193	30.449	6183
+-81.9989	26.3634	8298
+-92.6166	39.5995	6849
+-120.4679	45.9572	6942
+-118.6301	46.5792	8634
+-114.8838	46.0864	5660
+-116.3879	49.1738	5436
+-122.1877	45.195	7508
+-90.3432	40.8521	7158
+-118.1124	44.8031	7875
+-79.7961	30.476	5844
+-111.1665	35.8766	4735
+-111.8756	33.3896	6900
+-87.6598	37.7803	8566
+-81.5901	27.2684	9059
+-82.6852	28.9413	8424
+-82.2958	27.8517	9685
+-114.9337	34.9764	6832
+-107.9838	29.8077	6283
+-115.9942	34.5757	8068
+-116.4615	46.8808	7161
+-92.1034	37.7485	7279
+-117.5149	34.4406	9107
+-114.0477	30.858	5832
+-116.6289	45.2814	7306
+-116.2557	36.0825	7143
+-83.6578	33.367	3326
+-112.239	31.6809	7406
+-121.6772	47.4694	8154
+-126.3659	49.9387	4590
+-118.5784	29.9574	6092
+-118.048	45.5682	8645
+-114.5415	44.4681	4937
+-80.2302	30.4354	6184
+-126.4419	47.5622	5660
+-116.9407	45.7445	7790
+-123.1036	49.668	6630
+-109.8127	34.1423	6644
+-88.5848	34.3519	6089
+-121.2716	48.9447	6791
+-88.9308	35.7019	7603
+-92.1095	32.0882	2516
+-80.5921	27.9242	8140
+-94.4705	37.1568	4696
+-114.3548	30.5944	5928
+-92.0487	38.0184	7464
+-114.9215	34.3922	6964
+-121.0559	35.0925	5274
+-91.7188	41.3462	6278
+-92.2001	35.8587	5744
+-120.0292	43.6019	6033
+-90.2091	39.2268	8877
+-123.0214	46.1384	8687
+-116.1801	31.8226	8339
+-90.5939	37.3157	7862
+-116.1831	32.6201	8852
+-116.5736	31.9875	8729
+-84.4435	33.5663	3127
+-121.9126	47.7334	8233
+-116.5888	31.6938	8431
+-90.6534	37.5799	8130
+-90.2927	38.8321	9293
+-117.6033	36.4642	6969
+-125.1619	48.8267	6389
+-81.6049	25.6176	7389
+-113.645	34.0571	5798
+-81.6524	26.8844	8756
+-125.5453	46.5724	6668
+-114.8447	35.0553	6711
+-116.1952	34.497	8304
+-116.5765	31.1176	7808
+-82.3957	31.2069	5989
+-114.1667	37.7057	4379
+-126.0398	49.0709	5454
+-78.9725	27.7627	6316
+-82.6447	28.1706	9155
+-118.3413	33.9865	8355
+-119.9639	31.4207	6065
+-91.5706	42.7818	4894
+-90.6596	39.6317	8428
+-114.7469	32.817	7277
+-114.6365	34.0798	6668
+-87.9852	39.2183	7864
+-90.6219	39.6016	8471
+-87.5036	38.7241	7966
+-119.0518	32.4366	7389
+-116.6659	45.2242	7313
+-83.6937	28.6959	7838
+-91.4344	39.7701	7846
+-88.3708	41.9354	5363
+-113.3357	31.0027	6160
+-112.7359	35.7633	4286
+-118.9496	26.5143	2383
+-117.8844	32.6348	8709
+-86.0593	35.9365	6209
+-86.4587	36.4188	6870
+-88.994	38.1631	9201
+-122.0592	34.6577	4279
+-122.6654	46.8207	9303
+-116.1745	33.8149	8297
+-92.0985	42.9768	4508
+-119.7927	30.2152	5469
+-115.7475	45.1826	6405
+-90.0396	37.2946	8327
+-117.8413	32.6869	8767
+-86.7365	37.4077	7518
+-115.558	33.1114	8148
+-86.1565	37.7115	6885
+-89.9891	39.9807	8031
+-87.5855	42.2805	4569
+-116.5206	45.5005	7289
+-107.5878	30.3291	6203
+-121.8529	47.8656	8090
+-116.3135	33.2196	8897
+-90.0969	37.2319	8244
+-90.3417	36.8448	7821
+-83.5733	25.648	6994
+-87.5828	41.5636	5146
+-117.9232	33.8236	8746
+-91.8151	38.0698	7716
+-113.6044	35.1318	5397
+-112.8131	32.0384	6742
+-87.9769	39.3061	7772
+-119.958	45.9417	7479
+-118.8875	33.7574	7723
+-116.6255	32.2196	8986
+-88.406	35.984	7884
+-89.3334	35.845	7674
+-86.2175	35.3121	5920
+-89.3919	39.9059	7783
+-122.5596	48.342	8050
+-91.812	38.4653	7854
+-88.9178	40.6815	6811
+-89.6179	37.3636	8801
+-88.6743	36.1483	8108
+-120.4804	32.0154	5733
+-116.9497	32.919	9637
+-87.9533	37.5064	8885
+-91.0892	37.0787	7469
+-120.853	48.8225	6571
+-117.3854	46.4561	8238
+-93.1132	38.2902	6441
+-121.1583	48.8771	6766
+-80.8942	28.7761	8084
+-108.4798	30.1635	6944
+-122.1961	43.4027	5615
+-125.8215	47.1104	6393
+-80.0292	31.2306	5307
+-121.2498	31.922	4872
+-118.7234	29.6803	5743
+-84.7456	28.0798	6916
+-116.4551	32.2554	8906
+-80.2204	28.0713	7701
+-111.246	31.4221	8469
+-119.458	29.425	5059
+-81.9132	27.9399	9576
+-112.0017	30.6657	7411
+-82.2382	29.999	7364
+-119.0083	46.5811	8339
+-115.624	32.9857	8243
+-85.234	36.5466	5655
+-117.3215	31.7221	8469
+-80.5097	26.4308	7514
+-118.7993	46.2012	8704
+-112.889	30.9247	6614
+-82.5248	27.7271	9447
+-114.6176	46.7756	5313
+-112.853	28.6225	5261
+-118.0533	34.4937	8594
+-118.8268	36.7702	6196
+-117.8841	46.86	8351
+-124.0587	45.1891	7275
+-112.9738	32.9669	6244
+-116.3793	30.0166	6562
+-122.4965	49.3027	7002
+-118.5483	29.6446	5799
+-90.6656	33.8766	5057
+-118.7057	31.0333	6974
+-81.2574	28.7039	8441
+-89.9898	35.8502	7357
+-121.3553	46.3018	7759
+-116.8764	32.9302	9591
+-116.8887	37.6872	5639
+-89.4871	38.5116	8425
+-115.8709	49.6279	4734
+-112.1907	32.1264	7377
+-92.2427	37.6199	7079
+-111.0775	34.1996	6526
+-114.8435	34.5768	6851
+-123.0054	47.253	9271
+-92.0818	38.7064	7593
+-108.9252	34.1465	6305
+-81.6973	33.1255	3809
+-118.8125	49.0814	6054
+-119.2807	32.2638	7099
+-86.4309	30.337	4227
+-114.562	32.9072	7069
+-123.0696	49.0896	7266
+-83.0534	26.0617	7701
+-119.5152	49.0667	5858
+-117.3236	35.2438	8325
+-122.5777	47.2524	9133
+-90.6282	35.30	6436
+-89.4037	38.377	8744
+-120.4507	28.6756	3717
+-109.4231	32.1992	8283
+-107.5438	36.0783	3742
+-123.9305	35.7352	2062
+-93.458	37.6806	5916
+-125.2073	45.3758	6527
+-85.6082	38.412	6172
+-105.9133	32.6217	4554
+-115.2182	31.4373	7269
+-90.6503	38.2282	8793
+-87.5089	32.8614	4240
+-119.0032	48.7906	6311
+-117.0163	33.1967	9325
+-123.7155	46.2992	8448
+-120.8142	46.8121	7308
+-116.3798	48.7014	5847
+-87.8688	33.0849	4575
+-84.1369	37.6136	4618
+-90.7544	37.545	8065
+-116.2763	46.2601	7128
+-120.2862	37.7617	4389
+-88.7179	37.1871	9275
+-111.4332	35.6139	4947
+-116.0638	32.2516	8565
+-90.3513	36.9593	7867
+-85.6291	28.0795	5922
+-120.6071	34.8304	5815
+-119.3007	49.3345	5669
+-119.5459	46.0352	7922
+-112.4715	29.2223	6022
+-110.0835	33.9116	6937
+-88.0022	35.7021	7450
+-111.8594	30.5496	7477
+-88.1191	39.0439	8106
+-122.8383	47.9014	8577
+-112.0628	32.158	7499
+-90.4717	36.9164	7446
+-111.3984	34.2679	6344
+-87.8099	38.995	7977
+-90.3671	40.5496	7485
+-114.5024	33.7435	6816
+-89.633	38.245	8449
+-116.0046	34.5656	8083
+-117.1281	29.5659	6122
+-117.0476	33.4634	9026
+-118.1732	32.6956	8400
+-78.7783	29.6855	5520
+-118.5112	32.9294	8025
+-111.6742	33.7023	6757
+-113.1443	28.3963	4869
+-109.7162	32.9417	7857
+-119.9145	32.9387	6369
+-108.3315	31.75	7297
+-86.3755	35.9198	6491
+-117.3367	32.1439	8896
+-116.6375	33.3275	9075
+-122.7815	43.9762	6318
+-117.3204	47.4396	7513
+-84.7606	28.2997	6860
+-82.3901	25.1323	6898
+-109.5371	30.72	8201
+-87.8593	39.1439	7868
+-103.809	30.469	2302
+-82.2512	24.083	5723
+-81.2004	29.1153	8037
+-116.7889	45.3193	7475
+-116.2908	35.2016	7960
+-110.3582	30.9927	8833
+-118.5338	29.1011	5255
+-112.9945	33.7085	5784
+-118.1742	34.7048	8368
+-117.4307	32.2463	8933
+-117.0685	34.8083	8771
+-81.2956	27.885	8935
+-108.8816	30.2761	7357
+-91.0181	38.519	8696
+-114.1028	33.4014	6493
+-127.0023	46.7965	5095
+-120.0735	45.1733	7126
+-124.821	43.7519	5492
+-90.9647	40.3725	7567
+-114.0315	31.5522	6188
+-109.7093	30.5588	8174
+-109.5542	32.3507	8289
+-120.8882	32.7587	5312
+-111.2194	32.1594	8328
+-122.173	48.125	8104
+-117.6884	30.7454	7306
+-105.9873	31.7067	4763
+-85.6855	30.0014	5144
+-116.6779	31.7526	8523
+-121.016	43.5489	5301
+-118.8591	43.4735	6413
+-117.3403	33.0132	9282
+-84.9498	38.8903	5316
+-110.5387	34.181	6650
+-90.5401	37.5254	8094
+-113.0393	35.67	4631
+-121.6065	49.0754	6888
+-89.1899	39.4746	7920
+-109.9483	29.8169	7515
+-116.3848	33.2702	8930
+-88.7121	36.2101	8180
+-124.6957	48.1731	7229
+-121.2983	41.0261	3010
+-94.4522	38.9648	5033
+-113.9205	32.1913	6284
+-111.0406	34.2075	6529
+-109.9406	32.9252	7959
+-83.2663	27.0651	8385
+-122.7242	47.6092	8874
+-88.4933	36.5194	8492
+-120.4607	45.6936	6915
+-119.3951	30.5517	6049
+-117.1176	32.2662	9116
+-89.4945	36.7347	8488
+-79.1806	26.8775	6404
+-83.4932	27.0619	8160
+-119.2602	46.8672	7945
+-116.0289	32.7675	8705
+-115.8108	47.0946	6438
+-119.0933	31.8122	7129
+-86.4778	34.944	5823
+-117.2183	43.9783	6746
+-90.8807	40.8234	7126
+-87.9356	39.6603	7390
+-119.4849	44.9881	7527
+-116.2175	44.7522	6648
+-88.1364	39.6988	7426
+-117.7584	33.9121	8950
+-80.2619	29.1203	7279
+-124.8962	47.8527	7207
+-122.214	45.8894	8203
+-89.7315	36.4754	8095
+-116.1255	36.9435	6229
+-91.7595	35.7306	5848
+-119.9707	49.729	5022
+-106.6162	31.5499	5446
+-93.9849	39.3105	5496
+-86.227	26.6719	5098
+-109.0415	31.7701	8059
+-91.329	37.1178	7391
+-82.5483	28.615	8824
+-88.375	39.185	8054
+-118.2115	32.0909	8146
+-119.3953	29.9375	5551
+-117.6917	32.5532	8892
+-125.9573	49.3021	5379
+-84.7938	24.8687	5442
+-86.2407	39.4331	6355
+-90.6198	38.5155	9065
+-89.0835	35.496	7353
+-123.024	46.1057	8651
+-87.9732	38.7689	8290
+-117.1859	46.4785	8031
+-116.6042	31.2162	7923
+-111.0007	31.9657	8640
+-118.9282	42.8565	5758
+-89.5969	39.8809	7940
+-89.0367	36.7381	8730
+-119.4528	33.5626	7073
+-116.5858	32.1001	8848
+-90.6134	36.2445	7199
+-113.3777	34.797	5234
+-91.6671	40.1727	7359
+-120.4086	47.8917	6687
+-109.3092	30.7615	8051
+-116.7833	48.4222	6333
+-89.1916	39.6646	7805
+-108.0063	29.0889	5778
+-118.4594	46.4231	8871
+-117.3094	45.9353	8214
+-123.5105	44.9722	7315
+-119.134	45.8971	8334
+-122.7577	46.2505	8804
+-120.3245	45.4599	6995
+-110.447	31.9323	9076
+-89.6581	37.013	8575
+-121.8915	48.3427	7732
+-118.0252	30.2234	6629
+-82.1132	27.603	9706
+-119.7068	48.3196	6468
+-118.6587	48.408	6784
+-119.0084	32.4761	7444
+-116.7863	30.5988	7271
+-119.9707	48.7528	5931
+-83.4705	24.5216	5922
+-116.8218	32.211	9058
+-88.9846	38.6046	8733

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/samples/sample.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets/sample
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets/sample	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/datasets/sample	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,40009 @@
+Strip 1
+40000 Points, 2 Coordinates
+Shape: Rectangle; Site Corners: -128.00 24.00, -65.00 50.00; Area: 1,638.00
+Density: 24.42; Model: N;  Random Seed: 1180323549187
+Radius or S.D.: 02.00; Cluster Seeds: 8
+
+#points	xmin	ymin	xmax	ymax	zmin	zmax
+HEADER	40000	-128.0	24.0	-65.0	50.0	0	10000
+
+-110.3333	31.5833	9431
+-116.9666	32.8166	9709
+-90.3833	38.75	9382
+-122.90	46.9666	9563
+-82.1333	27.7666	9848
+-117.2666	34.1333	9495
+-118.2833	46.10	9219
+-88.7666	37.666	9771
+-89.3557	34.7829	6512
+-88.5979	42.9841	4472
+-82.0288	27.868	9728
+-123.567	47.3496	8761
+-119.1749	35.0171	7244
+-118.1544	34.9381	8231
+-116.7855	32.3592	9204
+-116.3594	30.7479	7348
+-118.6212	31.6211	7476
+-113.6002	35.2367	5361
+-107.5087	35.6454	4113
+-116.6336	32.8838	9374
+-118.7797	32.8172	7731
+-118.2759	30.5771	6859
+-88.2496	36.7456	8630
+-88.7946	42.822	4713
+-80.9524	27.7843	8556
+-116.418	32.0142	8669
+-112.753	32.2603	6751
+-87.194	38.5712	7778
+-92.6133	36.4364	5961
+-89.5809	39.0275	8509
+-110.7463	31.2791	8918
+-115.807	30.9427	7295
+-116.8921	45.2245	7520
+-109.9553	28.1755	5759
+-91.6339	36.5598	6706
+-87.5258	34.4033	5897
+-116.7498	47.8923	6762
+-81.3195	33.0576	3836
+-117.3878	32.5997	9224
+-120.883	47.3806	7344
+-120.003	47.2084	7094
+-117.0953	44.8634	7444
+-113.5884	34.9756	5422
+-118.9166	32.5082	7551
+-123.1644	45.5103	7980
+-84.4203	30.0589	6229
+-117.4797	33.943	9226
+-92.8435	37.6158	6504
+-115.5792	43.0335	4931
+-120.2459	34.1497	6288
+-115.0895	34.0318	7161
+-118.2839	30.5298	6809
+-91.2595	40.6533	7166
+-110.1527	30.9979	8810
+-116.0284	46.0751	6872
+-120.7972	29.5635	4147
+-89.9113	37.8333	8313
+-120.9705	45.7719	7113
+-118.1054	33.3092	8255
+-111.3804	32.9796	7583
+-108.2671	35.9965	4194
+-89.0548	39.1317	7935
+-116.4697	49.4927	5186
+-119.5072	45.3216	7724
+-113.7307	33.2561	6110
+-80.6478	29.3752	7415
+-114.2177	43.7549	4290
+-113.6874	33.6991	5965
+-90.6073	38.7414	9183
+-120.2285	45.6822	7153
+-118.4842	33.8924	8184
+-89.86	36.9426	8343
+-89.3007	40.3307	7359
+-114.8234	36.2659	6000
+-119.4385	45.2034	7712
+-83.8993	27.8434	7893
+-91.1657	37.4558	7794
+-116.4819	33.8129	8613
+-85.9819	27.6875	5537
+-91.3021	38.5431	8409
+-119.4052	47.1776	7613
+-87.643	36.333	7858
+-89.2755	39.0197	8195
+-113.9761	29.8253	5091
+-111.4685	31.8372	8213
+-83.8103	29.7611	6944
+-117.4267	33.6827	9016
+-116.5871	32.7327	9319
+-120.9984	30.7031	4675
+-91.6891	39.7889	7626
+-79.1026	30.4734	5295
+-81.8049	27.298	9245
+-81.6362	26.3505	8195
+-116.6064	32.8472	9350
+-111.4449	31.9741	8197
+-81.3962	27.7626	9058
+-87.5866	36.8573	8209
+-108.5852	34.7298	5574
+-120.11	35.6514	6022
+-109.3382	37.3007	3186
+-121.6347	45.421	7412
+-91.3036	39.71	7991
+-113.6826	32.0586	5994
+-118.2066	44.8134	7896
+-117.0997	30.0702	6686
+-82.5931	30.222	7066
+-109.516	31.5532	8587
+-119.0068	33.5485	7535
+-111.983	30.0917	7064
+-120.5771	49.3511	5949
+-84.5139	27.6974	7198
+-92.8592	36.606	5894
+-124.6289	33.0755	1424
+-123.7584	46.519	8543
+-82.315	27.7783	9687
+-125.3887	43.7689	5154
+-125.6887	45.2621	6015
+-89.0205	39.3412	7823
+-86.0333	37.3234	6723
+-118.3321	45.0273	8123
+-117.4264	32.3086	8989
+-87.7746	36.9023	8410
+-114.1714	28.8965	4397
+-112.8648	33.0267	6316
+-116.0529	44.1166	6099
+-91.0285	40.9362	6968
+-107.6269	30.6773	6381
+-116.4443	32.0603	8728
+-117.9691	44.124	7142
+-118.9048	35.0135	7509
+-78.9635	26.568	6058
+-90.2118	40.0424	8019
+-84.0169	25.0366	6140
+-115.3943	35.1164	7231
+-114.4219	45.0253	5015
+-118.1183	45.2622	8356
+-87.4207	38.6928	7915
+-119.907	47.5518	6954
+-116.1349	45.9993	6983
+-109.7721	33.0461	7776
+-117.9842	47.1396	8115
+-87.3361	38.4171	8001
+-122.8395	49.5948	6718
+-115.1597	40.8181	2762
+-92.5747	38.8926	7057
+-88.5908	37.5641	9587
+-83.979	26.8459	7559
+-124.2306	49.1863	6763
+-114.3661	34.4838	6351
+-110.2181	30.7723	8586
+-123.0632	43.3077	5582
+-120.661	33.5744	5785
+-82.0086	26.078	7977
+-125.3196	45.7968	6654
+-79.6548	25.9379	6408
+-118.8463	31.9496	7444
+-120.2059	45.697	7180
+-107.7171	32.8797	6310
+-114.555	39.1241	3342
+-121.6887	44.5581	6644
+-113.8076	31.4123	5897
+-89.0428	38.3525	8984
+-91.7195	38.2656	7892
+-109.8071	34.3764	6394
+-117.8248	32.8156	8796
+-80.3195	28.8464	7504
+-111.9624	33.4048	6826
+-119.6087	48.6869	6182
+-90.7196	38.8092	9056
+-121.6864	44.9288	7000
+-120.1081	34.7303	6371
+-117.6946	46.8018	8290
+-125.3924	46.0563	6691
+-122.7508	49.4536	6869
+-111.9389	31.8481	7711
+-83.7362	29.6975	7053
+-120.746	46.98	7240
+-93.2543	37.5353	6064
+-80.6536	28.2764	8122
+-83.532	27.5005	8282
+-91.4715	37.552	7680
+-111.1058	31.3495	8599
+-109.8691	29.9593	7644
+-119.7462	29.7023	5097
+-93.226	40.5654	5789
+-80.1619	28.3732	7559
+-111.144	31.1548	8480
+-116.5371	31.936	8660
+-109.6023	32.5059	8198
+-119.9459	36.0023	5974
+-113.9039	33.3429	6287
+-119.0109	45.0038	7867
+-118.0857	46.0497	9045
+-83.2929	26.9278	8273
+-123.3467	47.0014	9114
+-116.5869	32.113	8861
+-121.8255	45.8756	7924
+-118.603	34.6603	7971
+-89.2416	39.2252	8091
+-115.335	31.5727	7464
+-87.4646	34.041	5491
+-123.7681	43.5203	5702
+-90.8971	37.6536	8119
+-125.081	43.6253	5223
+-118.8458	29.7281	5720
+-119.9046	33.5169	6583
+-77.3909	30.178	3873
+-116.2379	34.3586	8389
+-107.7687	30.1542	6293
+-92.7802	38.9928	6828
+-122.8307	47.9489	8524
+-81.2708	27.9882	8885
+-121.9159	45.4495	7619
+-89.2013	38.2755	8975
+-116.1309	46.7543	6878
+-90.2474	36.3646	7602
+-115.9168	32.7518	8580
+-119.7187	47.689	6993
+-111.2255	29.5871	7105
+-114.0569	33.3713	6449
+-117.6734	48.0976	7049
+-120.3631	46.0187	7056
+-117.0568	46.601	7857
+-86.3996	39.532	6432
+-79.6427	29.8148	6244
+-89.8874	37.5509	8550
+-84.3052	30.3337	6088
+-121.2351	44.6687	6489
+-110.0147	31.4306	9091
+-91.7781	38.1859	7803
+-91.3019	38.1786	8258
+-116.8008	33.5728	8743
+-115.2275	31.3876	7242
+-83.7737	26.2407	7358
+-88.5042	34.5629	6319
+-117.2686	31.8811	8656
+-86.1308	35.4008	5914
+-118.9242	33.3025	7515
+-120.0818	46.0211	7354
+-110.1385	36.3725	4280
+-120.0628	47.8881	6589
+-119.5725	46.6304	7784
+-111.8997	30.0691	7113
+-90.0986	37.2183	8238
+-112.2864	34.9025	5301
+-124.8084	48.0427	7199
+-116.9971	30.9795	7704
+-82.4463	29.7676	7601
+-121.721	45.9593	7902
+-120.1031	34.0501	6442
+-109.5989	35.1964	5479
+-114.2559	33.5912	6608
+-82.0302	28.6936	8837
+-122.2254	46.4813	8693
+-91.1729	37.8972	8172
+-119.19	45.6862	8205
+-90.7886	41.3725	6564
+-81.0037	30.6482	6391
+-109.4765	30.9324	8308
+-86.4778	38.7735	6961
+-89.1663	34.6451	6395
+-119.7685	47.7153	6937
+-82.0424	27.6679	9741
+-118.8608	34.7622	7668
+-121.5627	49.7597	6204
+-126.1202	43.434	4355
+-83.7495	29.267	7398
+-90.6642	37.763	8318
+-114.5219	30.3194	5855
+-85.6758	29.5017	5430
+-115.5747	36.3014	6538
+-112.8416	34.1946	5551
+-117.3941	32.7825	9275
+-91.5526	33.7272	4400
+-83.849	26.2633	7312
+-84.2362	29.3802	6894
+-125.6772	45.368	6086
+-83.389	30.1104	6884
+-110.0042	30.3457	8086
+-92.3896	41.651	5623
+-81.7568	29.1828	8235
+-116.592	31.5928	8325
+-121.2579	46.0239	7526
+-83.6448	26.4354	7614
+-92.7903	41.2484	5685
+-80.5169	30.2938	6498
+-110.9575	31.0677	8596
+-119.0295	31.4065	6966
+-90.9876	37.2655	7697
+-83.511	26.483	7762
+-121.9896	45.2501	7472
+-86.1617	35.8417	6245
+-118.1635	48.6668	6539
+-122.7933	46.1495	8701
+-116.769	32.6953	9494
+-84.818	29.3733	6353
+-91.0626	36.6162	7011
+-82.4473	30.3665	6930
+-119.0267	45.2093	8032
+-116.7986	35.7075	7746
+-90.0423	37.1092	8253
+-118.4714	29.2252	5410
+-81.4961	27.724	9170
+-117.2358	37.7231	5622
+-88.1875	36.1108	7952
+-123.3028	48.4161	7953
+-116.9238	46.5067	7758
+-87.1453	39.0155	7447
+-116.6404	30.8308	7508
+-116.1161	34.7719	8103
+-90.2212	35.4629	6852
+-114.3587	31.9658	6693
+-106.8418	29.766	5209
+-119.1455	36.8821	5906
+-120.3298	35.1943	6002
+-115.1801	32.435	7715
+-110.2228	32.5885	8378
+-123.7734	49.4309	6734
+-121.1704	46.7924	7696
+-124.8531	46.994	7460
+-90.2615	37.0761	8011
+-117.6975	43.6259	6568
+-110.9305	32.555	8238
+-87.3706	34.6413	6076
+-114.246	33.1745	6692
+-107.0813	33.4262	5424
+-89.0454	40.6521	6918
+-110.8675	30.4711	8137
+-110.9565	30.5157	8134
+-117.2926	34.9843	8609
+-114.7681	32.4253	7262
+-90.7083	38.4725	8964
+-118.442	44.3411	7390
+-111.1869	33.5285	7172
+-106.1862	33.4831	4531
+-119.1194	48.7024	6366
+-88.9094	36.5195	8518
+-109.59	33.1792	7566
+-120.3599	44.839	6688
+-120.8937	47.0966	7397
+-84.752	26.8327	6747
+-118.8155	49.0507	6085
+-117.0582	43.768	6471
+-117.0257	44.7807	7330
+-119.6639	49.835	5043
+-82.8808	26.0815	7807
+-109.8783	31.4019	8943
+-111.1567	29.3692	6914
+-117.2579	34.6029	9026
+-117.8936	36.0356	7353
+-119.8149	34.5089	6728
+-117.0018	33.7515	9031
+-119.0776	46.9782	8006
+-92.1226	39.3202	7452
+-117.7873	32.218	8620
+-118.261	44.6821	7759
+-116.5161	46.8783	7215
+-120.956	34.9167	5424
+-115.5257	36.6327	6215
+-88.3181	34.1043	5785
+-113.2697	49.5908	2790
+-118.6977	43.887	6876
+-119.9554	34.2406	6603
+-86.6196	38.5332	7216
+-90.6981	41.6226	6310
+-121.5076	32.8918	4718
+-116.3956	32.6267	9082
+-122.9043	45.6973	8212
+-120.6318	43.3539	5434
+-80.3777	27.6986	7905
+-116.8997	45.9707	7789
+-111.6948	31.8217	7976
+-109.4892	32.0651	8420
+-119.0913	34.6201	7478
+-84.7427	38.1418	5267
+-89.0325	38.2137	9132
+-107.0363	32.2414	5831
+-110.1428	35.2146	5534
+-110.5068	31.7597	9205
+-121.904	45.4178	7583
+-113.1305	33.3284	5901
+-89.5467	38.6444	8515
+-111.8812	30.7717	7580
+-83.707	28.8561	7727
+-90.4165	36.3517	7447
+-91.9921	36.7266	6638
+-111.6437	32.7146	7598
+-95.3621	36.1748	3383
+-122.5454	43.3409	5604
+-116.6073	36.7525	6592
+-114.2097	31.5465	6367
+-88.5454	36.794	8805
+-81.8909	27.4982	9483
+-119.9456	47.6077	6884
+-91.7149	43.1847	4434
+-90.2266	38.6038	9193
+-116.191	32.9139	8881
+-109.2218	29.3378	6759
+-113.8523	32.4057	6249
+-116.8477	32.308	9170
+-90.0511	39.3753	8661
+-82.3021	27.187	9209
+-117.7051	33.9832	9032
+-116.8171	45.7696	7669
+-109.7005	31.2717	8709
+-118.0138	33.2012	8508
+-118.8979	42.7589	5663
+-89.1542	35.887	7771
+-91.2011	39.1067	8463
+-117.7288	33.4863	8671
+-89.809	43.0474	4751
+-83.832	25.8575	7001
+-116.7012	32.2274	9032
+-123.9443	48.5855	7490
+-118.1387	35.3486	7906
+-83.0545	27.4696	8797
+-90.3892	38.999	9156
+-80.7789	33.344	3399
+-89.2414	36.5314	8434
+-124.7139	48.4025	7065
+-118.2698	33.3794	8169
+-118.3568	34.9004	8084
+-89.5283	35.4934	7231
+-85.9337	36.3714	6319
+-81.8386	30.8579	6379
+-87.8373	35.5593	7230
+-82.6459	38.0136	2933
+-119.1719	46.3294	8289
+-114.7819	29.0979	4942
+-92.2086	37.862	7237
+-88.3994	38.3393	8954
+-110.2506	32.3586	8629
+-127.3649	46.3817	4659
+-117.0746	31.5096	8290
+-110.7029	31.5232	9068
+-85.9394	36.4909	6378
+-80.5387	31.6145	5180
+-92.856	36.5212	5836
+-106.3111	32.5764	4985
+-115.5454	36.2769	6539
+-93.109	43.594	3434
+-88.2302	39.2084	7982
+-84.9851	28.2891	6612
+-123.791	46.8402	8618
+-90.2919	38.1194	8738
+-80.9711	30.5412	6489
+-116.1514	33.7207	8241
+-109.4433	31.0668	8359
+-118.6293	32.7908	7898
+-119.0203	44.4642	7360
+-88.5946	34.7126	6494
+-116.3196	30.9048	7502
+-93.7182	40.8295	5188
+-87.6982	39.6109	7324
+-110.658	30.5942	8346
+-91.2521	39.0661	8428
+-120.7528	47.4491	7188
+-88.4981	38.5899	8735
+-117.7526	32.185	8628
+-91.7169	36.6657	6757
+-116.7898	34.0594	9012
+-110.0866	31.7247	9165
+-89.7344	38.6505	8717
+-113.0089	33.7918	5715
+-116.4058	32.9377	9113
+-124.9114	43.8699	5549
+-95.0276	40.188	4184
+-116.7496	34.0718	8970
+-115.0791	30.9647	6803
+-119.8844	46.5752	7492
+-111.5565	31.6566	8146
+-117.2372	33.2293	9202
+-88.0487	38.506	8575
+-123.0467	45.8758	8397
+-115.9338	34.2066	8082
+-116.9275	35.7081	7781
+-83.2591	27.2531	8493
+-106.7482	31.0183	5541
+-120.5813	47.0068	7058
+-90.7428	37.6616	8189
+-115.2964	31.9637	7661
+-89.0283	38.871	8431
+-91.5404	37.2313	7366
+-117.9197	36.8337	6507
+-87.5024	40.8525	5967
+-111.4296	33.8543	6741
+-117.7309	44.2809	7247
+-87.6009	37.945	8470
+-83.7335	27.6658	8078
+-116.1632	31.1681	7707
+-89.1613	35.7365	7604
+-92.9477	37.3489	6275
+-116.7193	34.4992	8820
+-117.7083	32.9457	8913
+-115.9143	37.8124	5262
+-113.0241	29.9449	6060
+-81.2777	29.6778	7523
+-90.5302	39.2688	8843
+-115.4241	34.5743	7471
+-89.6181	40.3144	7547
+-108.8967	31.0035	7795
+-85.1132	26.1608	6063
+-117.6458	40.7739	3579
+-88.424	37.4491	9360
+-87.1799	41.1037	5565
+-90.6522	39.6207	8442
+-118.1973	31.9517	8075
+-93.9911	36.0255	4551
+-116.2311	34.5252	8330
+-81.4709	29.8654	7402
+-117.1834	33.0586	9390
+-90.0665	35.1744	6660
+-116.7798	35.0754	8381
+-112.2121	31.1221	7378
+-90.5352	37.973	8571
+-117.1784	33.9421	9308
+-118.0337	36.1012	7234
+-115.626	33.4791	8085
+-86.7103	35.8791	6757
+-109.8545	33.2924	7551
+-91.936	41.0336	6448
+-91.2929	39.891	7852
+-122.4106	48.2428	8105
+-121.2396	49.6096	6177
+-89.4617	42.1093	5670
+-120.7584	47.1981	7240
+-109.7755	29.7375	7384
+-123.3432	45.5074	7931
+-119.4876	36.8358	5722
+-114.0849	33.2237	6507
+-112.7364	29.2891	5874
+-116.2573	36.1842	7044
+-91.1359	37.7121	8042
+-118.1416	35.6583	7620
+-94.4381	40.444	4688
+-91.5215	35.0945	5585
+-121.7293	32.702	4426
+-113.7102	26.9309	3245
+-112.2419	30.8562	7261
+-91.6921	39.9207	7532
+-124.2532	46.2707	7934
+-116.6673	34.0826	8882
+-88.0894	38.1062	8908
+-90.6818	38.9442	9041
+-109.6462	30.4979	8082
+-83.3475	27.0496	8297
+-112.8558	34.6592	5164
+-116.3523	32.914	9059
+-120.7318	32.7936	5485
+-123.0343	46.656	9234
+-117.7573	32.8698	8869
+-113.9214	32.3034	6308
+-120.456	47.0948	6730
+-91.4451	37.7072	7820
+-86.3871	37.0304	7050
+-111.0605	35.0948	5588
+-89.4329	39.3077	8237
+-126.3492	44.6626	5049
+-116.7491	48.4216	6313
+-127.0815	49.353	4317
+-83.6134	28.2901	8116
+-122.2721	46.9684	8916
+-85.272	26.9535	6224
+-111.2088	31.0712	8375
+-119.1318	30.936	6554
+-88.5362	34.8601	6655
+-120.0043	45.2127	7210
+-91.3926	36.0239	6291
+-123.8689	47.2513	8497
+-114.658	29.7867	5504
+-92.0364	37.1904	6975
+-117.0422	33.7362	9040
+-90.2636	36.6931	7811
+-111.7882	33.6621	6724
+-89.5691	36.4303	8161
+-116.6616	47.1253	7229
+-83.0526	26.4906	8113
+-117.3566	28.2723	4666
+-86.8705	37.214	7627
+-90.1351	36.7599	7973
+-90.2795	34.7186	6096
+-116.3963	35.0139	8187
+-114.2602	32.4389	6705
+-79.5561	26.7272	6749
+-91.9776	37.2857	7091
+-86.4854	35.8879	6568
+-79.1785	29.1266	6212
+-117.1776	46.6153	7969
+-122.2265	49.1452	7101
+-78.4246	27.8317	5696
+-107.9564	33.6766	6042
+-116.9991	44.7064	7254
+-116.5036	35.1845	8121
+-120.5493	44.376	6245
+-115.5145	33.2037	8077
+-87.145	38.5035	7766
+-118.9181	48.1001	7038
+-119.3222	44.7948	7494
+-115.7447	35.4861	7317
+-119.7711	35.0884	6614
+-111.2662	34.4249	6233
+-116.186	31.5365	8080
+-116.8843	34.1628	9120
+-118.9326	34.2802	7713
+-123.4113	48.9969	7306
+-120.8225	35.5197	5375
+-110.4698	32.7213	8232
+-88.7269	38.9979	8319
+-117.788	34.4498	8872
+-84.3713	27.6252	7355
+-115.9416	38.6811	4371
+-78.7759	27.4527	6077
+-116.9752	32.5199	9422
+-120.7776	47.9195	7050
+-89.9842	38.7447	8994
+-118.8312	29.2913	5305
+-116.446	34.2128	8639
+-110.3277	29.6805	7412
+-86.06	34.0974	4787
+-119.7762	46.3594	7656
+-86.3103	39.2367	6542
+-116.5549	48.7628	5898
+-109.5916	31.4757	8662
+-109.5036	33.174	7530
+-81.3601	24.5572	6158
+-116.7204	46.717	7481
+-116.0986	32.8471	8784
+-88.2447	39.1049	8097
+-118.1537	31.7191	7950
+-108.6052	29.1115	6206
+-118.6078	41.2332	4095
+-108.5459	29.4955	6496
+-119.8542	43.7518	6268
+-118.9551	31.1795	6880
+-114.477	36.5573	5507
+-90.712	39.9417	8092
+-125.6783	45.1796	5977
+-113.5046	34.2538	5572
+-117.4697	46.8128	8115
+-85.1414	38.7924	5554
+-123.0391	46.3846	8949
+-114.8164	33.1403	7327
+-87.8614	37.1517	8646
+-91.1455	41.2428	6615
+-91.4258	40.0338	7642
+-119.4879	32.9639	6800
+-107.6317	31.6582	6545
+-89.5084	41.634	6176
+-89.5544	37.6078	8928
+-93.8287	40.7395	5136
+-125.3458	47.2748	6898
+-121.9541	46.6769	8519
+-87.2676	38.0621	8075
+-91.1925	36.1839	6524
+-121.645	49.1967	6795
+-89.2478	39.5342	7937
+-112.4226	33.2196	6598
+-117.3103	36.2551	7223
+-91.6906	37.0626	7124
+-118.4968	36.0736	7032
+-87.8072	34.8932	6521
+-84.1284	39.3436	4279
+-116.8163	27.566	3894
+-81.7822	28.4378	9035
+-108.8182	34.9095	5514
+-117.6553	30.5478	7108
+-112.6656	31.4979	6945
+-79.7168	30.9625	5359
+-85.7325	35.4435	5593
+-84.2407	26.6112	7173
+-119.3898	47.1011	7680
+-84.7705	26.9489	6769
+-90.7612	41.6579	6264
+-115.5039	46.3365	6306
+-120.1152	49.5441	5437
+-90.5387	35.1496	6360
+-117.4477	45.9113	8353
+-88.9428	32.5395	4057
+-93.2928	40.1691	5935
+-86.7622	37.1243	7484
+-80.807	26.6432	7926
+-112.1057	33.3469	6765
+-114.5345	48.734	4408
+-118.1497	33.7434	8485
+-117.6097	46.2715	8524
+-110.1258	31.8175	9135
+-117.7218	43.7322	6683
+-118.7513	32.5017	7731
+-81.5959	27.6433	9269
+-120.3828	48.6036	6307
+-122.7707	45.5226	8013
+-111.6459	28.6958	6037
+-85.5891	37.436	6239
+-89.6466	38.2674	8475
+-120.3223	47.472	6658
+-116.7591	32.7444	9508
+-116.0977	32.6858	8773
+-123.7488	43.6487	5844
+-109.7654	29.008	6616
+-117.0605	36.4662	6983
+-118.7544	33.633	7826
+-115.1727	28.2868	4319
+-88.3464	38.5289	8738
+-121.2965	43.5888	5498
+-112.2163	33.8457	6284
+-89.4026	38.1485	8919
+-80.5787	26.098	7312
+-92.713	33.7265	3456
+-120.3162	47.9378	6358
+-115.9241	32.0933	8338
+-111.8975	31.3959	7767
+-86.9318	25.8687	4054
+-91.6896	39.7968	7620
+-120.4295	34.0634	6087
+-90.1396	36.1466	7516
+-83.3874	27.4034	8415
+-113.8005	29.9884	5339
+-117.2758	34.8676	8737
+-121.2927	33.9099	5139
+-118.8682	45.5992	8445
+-89.4817	38.5832	8436
+-83.9561	25.0976	6236
+-92.2007	34.4116	4355
+-118.7617	30.5776	6552
+-111.4775	30.8905	8024
+-90.6461	35.4488	6552
+-120.853	42.8425	4866
+-85.0405	27.6147	6599
+-106.8449	31.6972	5692
+-77.9837	28.2112	5171
+-87.0669	28.6473	4223
+-107.0712	33.419	5418
+-88.1839	35.1098	6872
+-114.5802	32.8154	7091
+-120.5283	42.6442	4896
+-116.5866	45.3907	7313
+-119.7147	43.5758	6187
+-88.7944	34.1973	5921
+-116.2065	49.8629	4709
+-119.0243	36.0312	6716
+-121.0267	47.8628	7325
+-82.8694	24.7782	6410
+-88.5876	35.8896	7811
+-111.1686	31.6557	8565
+-123.747	46.7187	8637
+-125.7432	48.0343	6270
+-88.829	36.5741	8587
+-115.3453	34.0826	7441
+-87.1485	39.1277	7367
+-83.1785	28.5938	8384
+-117.4008	44.1031	6948
+-116.0277	32.1989	8499
+-119.0235	48.4514	6650
+-84.8621	27.2295	6746
+-117.4348	31.871	8576
+-123.6741	44.0485	6289
+-89.9166	37.6915	8524
+-121.1029	49.3921	6290
+-84.7654	27.5281	6902
+-117.9457	26.4074	2521
+-116.7286	35.0964	8334
+-113.9254	33.3873	6301
+-125.0448	47.9209	7027
+-119.068	31.4741	6971
+-89.6226	39.1709	8487
+-123.9448	47.1221	8446
+-110.0642	31.1941	8961
+-88.9246	39.0197	8285
+-120.3362	48.6712	6224
+-92.2049	39.8578	7126
+-110.6994	33.7713	7070
+-110.2698	28.6075	6249
+-85.752	38.5718	6282
+-109.5203	30.6234	8111
+-89.6633	41.5316	6327
+-114.0162	47.1266	4612
+-119.9327	49.3879	5365
+-80.0778	27.0974	7447
+-92.1507	39.3026	7428
+-115.6004	33.4107	8091
+-80.3331	24.9478	6109
+-117.1847	37.7346	5608
+-116.8535	33.8087	8965
+-82.0108	30.7657	6497
+-121.0404	47.8259	7356
+-116.6279	48.231	6403
+-120.0847	32.5181	6259
+-120.6664	35.5072	5538
+-118.0965	47.2358	8042
+-90.8464	43.6249	4146
+-122.8867	48.0024	8468
+-94.5964	39.5924	4793
+-118.2486	47.1009	8200
+-87.6273	43.3214	3671
+-124.7852	47.4904	7457
+-80.5244	25.7938	7012
+-118.2595	36.0903	7144
+-119.5715	46.1955	7893
+-90.6977	41.6237	6309
+-120.3743	35.618	5781
+-110.6457	34.7718	6002
+-79.1189	25.1741	5394
+-110.8735	31.945	8769
+-119.2388	48.8048	6222
+-92.1725	38.2946	7434
+-108.7503	29.4642	6608
+-84.634	40.3663	4274
+-120.3398	33.2404	6047
+-89.0997	36.8526	8828
+-117.7956	35.2519	8188
+-117.1431	34.1563	9401
+-116.9341	30.4078	7066
+-122.3851	47.7029	8619
+-115.5215	32.3886	8072
+-90.5969	41.233	6738
+-118.3127	33.7925	8338
+-113.4435	36.1332	4831
+-87.2343	39.8541	6817
+-120.8168	32.0192	5367
+-118.5165	34.7581	8014
+-122.4436	45.0624	7455
+-113.5552	33.7981	5793
+-109.8441	34.1866	6604
+-109.5072	32.5648	8084
+-81.7976	28.2699	9208
+-115.1495	32.1018	7575
+-90.8682	36.4958	6939
+-110.6535	35.3482	5380
+-120.389	47.2023	6743
+-89.9907	40.1744	7832
+-107.8678	33.718	5940
+-85.7785	33.9972	4504
+-115.1964	43.9468	5274
+-88.5007	35.5117	7379
+-92.2299	38.2142	7352
+-121.7478	43.1456	5222
+-89.139	34.6001	6348
+-110.4253	27.1799	4702
+-116.8064	33.292	9193
+-90.8886	39.835	8134
+-121.8672	47.3678	8389
+-109.3527	32.957	7645
+-87.9791	38.9559	8119
+-88.3047	38.8741	8363
+-88.9305	36.298	8269
+-90.5724	39.1454	8952
+-87.182	38.5955	7753
+-114.643	34.5737	6636
+-90.9864	36.5739	6990
+-118.3616	47.1094	8188
+-118.7829	34.0842	7883
+-121.702	45.0943	7164
+-88.1764	34.0823	5738
+-117.309	31.7918	8548
+-121.4744	45.1306	7052
+-118.1413	31.5482	7825
+-95.1411	36.6928	3837
+-118.9631	39.88	3002
+-82.3114	25.8404	7704
+-118.7318	32.3494	7716
+-116.7394	45.5733	7533
+-91.541	38.9483	8158
+-80.9051	26.6174	7990
+-92.6293	39.7239	6786
+-117.5106	32.3926	8984
+-115.3191	31.3927	7324
+-125.9955	46.4191	6153
+-112.7632	34.7445	5154
+-117.8089	43.9557	6935
+-117.9411	44.5657	7596
+-81.8629	27.4999	9463
+-93.4448	39.5959	6001
+-90.1843	37.862	8443
+-89.9427	41.2508	6687
+-117.9085	47.0221	8206
+-79.2979	28.6711	6525
+-113.4217	33.9817	5591
+-84.3334	36.5443	4682
+-124.4575	46.7272	7875
+-115.5158	44.3257	5779
+-86.8832	36.9885	7568
+-91.9242	36.7936	6740
+-118.8364	36.7349	6223
+-113.5869	33.0576	5974
+-89.5574	37.3008	8837
+-120.1242	46.5773	7246
+-121.016	49.1711	6420
+-89.6529	37.0505	8604
+-80.7227	27.7875	8296
+-80.2634	27.6064	7769
+-86.4213	41.6772	4599
+-89.1195	41.6468	6018
+-119.7456	36.8108	5558
+-90.6435	37.7186	8278
+-88.1118	37.5262	9064
+-94.9939	31.4211	92
+-90.6266	36.9919	7511
+-113.9034	29.2154	4832
+-120.3349	44.2074	6304
+-88.2185	34.2292	5908
+-119.9919	45.7949	7422
+-115.8733	33.1026	8492
+-91.6025	41.1644	6509
+-117.6076	35.4453	8059
+-115.327	31.7395	7565
+-89.0655	39.3595	7859
+-116.8613	35.1358	8358
+-92.7482	43.6089	3600
+-89.7775	36.3346	7939
+-116.7975	35.3911	8074
+-119.4917	37.3877	5237
+-89.8658	35.8437	7426
+-118.4906	47.3341	7935
+-83.6841	29.9116	6898
+-122.0466	43.9884	6203
+-82.2863	25.7758	7633
+-117.1442	47.037	7698
+-116.9389	35.3549	8158
+-120.7405	32.3951	5517
+-87.6103	35.34	6899
+-117.1147	29.8656	6457
+-91.3942	39.7127	7920
+-89.2299	37.4862	9257
+-108.0861	31.2776	7016
+-120.7625	48.23	6878
+-109.977	33.8738	6962
+-109.5138	28.1295	5628
+-116.1974	45.2035	6856
+-121.3142	45.9951	7563
+-119.9124	44.6473	6949
+-120.7269	34.8405	5685
+-122.9973	49.589	6723
+-109.9833	31.1526	8872
+-84.3211	36.4971	4655
+-81.9351	27.7594	9668
+-115.0842	33.1923	7612
+-119.6281	33.6972	6918
+-87.2415	38.5479	7838
+-120.6704	43.9488	5857
+-115.9443	34.4913	8044
+-120.072	45.3808	7219
+-111.8589	31.6926	7816
+-119.8681	34.6545	6644
+-121.8697	44.9058	7075
+-118.6985	34.1125	7976
+-119.6813	47.5907	7096
+-81.521	24.112	5700
+-90.838	41.3814	6546
+-119.8779	47.7357	6841
+-83.51	29.0914	7731
+-112.5309	34.0529	5892
+-119.5655	37.5318	5062
+-115.4753	34.3191	7573
+-117.5551	35.2469	8283
+-127.1028	48.9319	4509
+-88.337	37.4648	9283
+-118.3429	33.459	8152
+-117.4456	34.07	9331
+-125.9385	47.1042	6265
+-117.9429	46.5617	8653
+-111.9691	31.3865	7688
+-115.8368	31.3377	7677
+-87.7219	36.9776	8411
+-93.5469	40.2953	5629
+-116.7953	36.1239	7306
+-109.1138	31.2915	8115
+-88.7011	41.127	6286
+-115.7613	45.0049	6349
+-86.925	37.453	7734
+-121.4445	33.0914	4841
+-116.1839	31.8079	8329
+-81.0682	26.9542	8377
+-82.9751	31.3013	5782
+-119.8974	45.288	7347
+-121.6521	34.3448	4748
+-114.8818	35.8977	6302
+-81.252	26.5329	8177
+-118.3136	39.2656	3824
+-118.146	38.3237	4867
+-120.7601	46.933	7255
+-122.6961	46.835	9340
+-116.7749	33.2082	9266
+-110.6392	33.8111	7037
+-85.0265	37.1344	5575
+-88.0386	36.8005	8546
+-116.9862	36.7465	6671
+-114.5493	31.6466	6757
+-115.3593	32.9071	7957
+-111.3742	33.235	7358
+-119.5034	33.5667	7021
+-109.7143	31.333	8750
+-122.012	46.4544	8480
+-90.8793	37.0087	7473
+-117.6492	34.4404	9003
+-116.3135	35.9181	7331
+-78.2703	28.5778	5427
+-110.741	29.9967	7699
+-115.8233	46.0599	6655
+-119.5651	32.9392	6712
+-80.5219	24.8906	6163
+-119.3111	37.1836	5532
+-124.8289	43.5175	5265
+-82.0255	28.1235	9471
+-121.1367	45.9329	7361
+-82.4716	28.6523	8820
+-119.5161	48.8294	6089
+-118.5798	36.1415	6921
+-82.8206	28.4756	8775
+-87.998	39.1318	7957
+-115.7784	36.4309	6552
+-90.7738	36.1177	6970
+-118.0325	45.9494	8951
+-83.2749	29.6936	7358
+-82.4587	25.563	7372
+-115.7301	33.6074	8116
+-88.4703	39.2545	8001
+-81.2089	27.8331	8844
+-122.1671	44.8992	7196
+-84.5566	28.0064	7138
+-115.9957	45.7412	6808
+-125.4052	48.5246	6365
+-113.8532	35.2929	5606
+-115.5845	34.7405	7587
+-115.9585	32.153	8407
+-80.5659	28.02	8096
+-91.9576	41.0468	6423
+-85.0605	26.9941	6467
+-116.5012	32.2198	8909
+-113.0167	34.619	5084
+-116.5084	35.1873	8122
+-115.7648	45.3536	6479
+-90.302	37.9937	8605
+-116.7057	46.0448	7589
+-80.402	30.2841	6436
+-88.5599	39.4926	7752
+-117.8877	33.4444	8526
+-116.8944	45.3278	7578
+-109.7649	29.9366	7586
+-90.076	35.4365	6913
+-86.1085	35.5433	5997
+-88.0727	39.6359	7471
+-120.7744	44.7588	6264
+-122.9513	44.6707	7083
+-88.7955	38.1507	9270
+-109.7629	30.2923	7944
+-107.3731	31.4159	6261
+-107.5766	33.8848	5583
+-119.105	34.5853	7473
+-94.1947	42.5189	3647
+-121.5553	46.4254	8014
+-116.7382	28.9488	5431
+-119.7929	33.2324	6612
+-87.4947	37.2229	8303
+-90.0922	35.7977	7244
+-88.7734	40.8162	6601
+-90.8308	40.4288	7552
+-87.0524	36.6419	7574
+-112.0386	33.1729	6948
+-93.1871	37.6837	6191
+-81.1256	27.3206	8646
+-118.8139	35.4927	7291
+-117.5504	36.3461	7104
+-120.3921	29.6848	4576
+-124.4798	48.4727	7208
+-110.426	27.8177	5392
+-90.0168	40.0046	8016
+-117.0011	33.7938	9068
+-80.737	25.6636	7036
+-88.9914	40.494	7019
+-88.4271	41.065	6158
+-119.2954	32.178	7059
+-84.983	26.9566	6541
+-84.2364	30.3278	6143
+-89.9707	34.255	5755
+-118.3157	36.1946	7015
+-116.2573	31.3219	7907
+-83.4342	25.9072	7325
+-90.4139	38.2741	8910
+-126.0091	49.1799	5413
+-120.0201	33.0174	6297
+-114.9617	44.9518	5538
+-124.8017	46.6262	7484
+-112.3652	27.3819	4417
+-88.2798	38.4821	8748
+-112.1034	33.032	6995
+-79.3633	26.5538	6471
+-88.64	42.2959	5166
+-94.15	38.1819	5319
+-84.9479	34.3713	4154
+-127.0783	43.6433	3741
+-88.7624	40.1642	7106
+-111.4622	30.1592	7505
+-85.5598	26.3411	5694
+-123.9558	34.9724	2184
+-83.2546	26.5204	7996
+-79.7971	25.8718	6489
+-93.9026	39.2378	5595
+-115.8662	35.167	7639
+-95.2246	39.2109	4183
+-122.4743	48.8385	7497
+-120.342	48.809	6143
+-89.8606	39.1779	8696
+-87.637	41.4667	5261
+-87.2632	38.3782	7948
+-80.1168	27.138	7503
+-117.7821	35.7428	7694
+-89.5288	37.5781	8954
+-107.8052	29.2058	5714
+-117.1874	33.3703	9088
+-82.8588	27.9186	9054
+-117.0007	32.6174	9527
+-121.0499	46.9924	7573
+-116.8741	33.1188	9400
+-120.0095	49.3369	5375
+-88.8158	39.0733	8234
+-92.4559	40.189	6705
+-127.5322	49.4232	3846
+-113.2595	33.725	5545
+-118.7727	47.6353	7554
+-84.9395	37.5297	5516
+-91.6103	39.2693	7988
+-111.7841	31.8267	7880
+-90.1123	32.865	4218
+-120.1927	32.7605	6154
+-88.6411	39.3924	7872
+-116.0292	31.7629	8180
+-119.7116	48.7026	6116
+-86.5625	40.5935	5702
+-116.377	45.6884	7195
+-83.5528	29.0994	7690
+-116.1047	36.6176	6546
+-89.7929	40.6041	7327
+-117.8775	33.5253	8598
+-117.9955	42.2211	5141
+-110.5412	29.872	7606
+-113.849	45.1449	4456
+-87.5836	38.2406	8339
+-118.18	47.1855	8106
+-119.7371	29.5926	5011
+-116.0896	33.4937	8517
+-81.4249	26.1991	7946
+-120.3612	45.9653	7055
+-118.6816	32.6655	7833
+-89.4295	38.5296	8369
+-90.2306	36.4846	7703
+-94.2411	37.7373	5125
+-83.9272	29.0561	7393
+-119.3204	30.7256	6241
+-89.2144	40.7815	6898
+-112.2551	34.4237	5758
+-118.8566	45.0448	7989
+-118.1961	31.8675	8020
+-94.7488	40.0202	4524
+-90.4156	37.2193	7774
+-119.0931	33.0451	7219
+-113.1662	32.2701	6315
+-115.9926	35.1385	7768
+-82.2532	28.6226	8915
+-123.4095	44.3036	6628
+-125.3172	48.2132	6618
+-93.7025	37.4946	5600
+-90.9587	37.2046	7647
+-119.553	33.3522	6902
+-116.564	45.3295	7265
+-106.3242	30.498	4974
+-106.9997	31.2182	5840
+-84.3298	26.5235	7037
+-108.6449	32.757	7246
+-78.2012	28.2775	5406
+-118.3125	44.8875	7976
+-89.5093	36.7407	8483
+-89.8724	42.1797	5687
+-90.7722	39.3842	8623
+-89.2436	40.1471	7481
+-114.4188	32.8313	6911
+-92.766	38.6939	6855
+-84.3206	39.2397	4521
+-106.71	32.7404	5353
+-81.2836	26.9471	8557
+-119.495	33.995	7102
+-114.5218	36.7397	5409
+-92.8413	39.6497	6603
+-108.4067	31.9001	7358
+-80.6099	27.0611	7993
+-109.1276	34.3532	6201
+-89.1813	40.4302	7198
+-117.3068	33.0419	9298
+-120.2167	44.5586	6642
+-118.0162	33.8598	8667
+-82.2143	29.5098	7918
+-121.5876	49.6947	6280
+-110.1781	30.2616	8032
+-77.7335	24.8437	3916
+-117.355	43.6369	6473
+-120.5918	46.4512	6787
+-89.474	39.0916	8377
+-117.2595	34.0722	9471
+-117.4349	33.8172	9147
+-90.1294	37.1207	8167
+-117.9068	33.9757	8819
+-87.8162	38.013	8679
+-116.7886	31.9769	8795
+-121.5368	45.6034	7488
+-110.8689	38.2436	2234
+-110.2209	31.4572	9291
+-115.5151	34.8659	7467
+-118.9736	31.5433	7102
+-112.2052	33.7249	6392
+-118.4695	37.1127	6033
+-123.3686	48.744	7587
+-119.9051	46.6119	7459
+-80.7108	26.367	7635
+-117.4177	44.9436	7731
+-115.0394	33.2105	7559
+-90.6298	36.9287	7443
+-114.4932	37.2895	4955
+-119.1345	35.4226	7062
+-120.3035	31.6961	5827
+-115.501	34.4085	7589
+-90.8376	35.0164	6040
+-87.5826	41.029	5813
+-90.4195	37.9167	8525
+-115.3296	30.5141	6602
+-113.3452	31.4328	6206
+-126.6902	47.2965	5426
+-90.52	39.3199	8793
+-114.4573	35.2346	6246
+-116.9224	47.3982	7269
+-120.2918	48.0114	6324
+-121.6622	46.4998	8153
+-115.4867	35.5564	7052
+-114.7621	38.0866	4433
+-116.9924	31.2398	7994
+-115.9772	33.5267	8394
+-121.2045	49.6664	6104
+-88.6552	39.5403	7707
+-114.8472	35.5469	6481
+-108.1228	31.3462	7065
+-115.4382	31.8856	7757
+-120.1348	33.2706	6271
+-81.8268	29.0586	8390
+-107.5663	31.6169	6475
+-118.5589	48.0899	7133
+-117.5098	30.0638	6623
+-86.9112	38.309	7611
+-90.6136	38.9086	9123
+-109.8169	31.2625	8815
+-112.2138	30.6202	7184
+-93.2766	38.766	6306
+-115.0129	33.6388	7389
+-110.7931	29.2799	6929
+-119.5582	43.7584	6437
+-81.7688	28.4013	9064
+-90.9749	36.1797	6582
+-116.65	31.2498	7970
+-125.583	44.998	5950
+-111.851	32.6772	7447
+-90.5406	37.7736	8358
+-122.7763	47.0822	9420
+-123.0366	45.4588	7943
+-85.5336	27.6445	6043
+-112.2424	30.2812	6970
+-110.5415	30.5898	8374
+-118.5807	45.20	8257
+-113.3623	32.9062	5892
+-92.4837	37.8099	6944
+-91.1543	39.4155	8327
+-90.3221	40.9034	7102
+-122.1167	48.6326	7584
+-122.9434	49.7969	6496
+-80.7371	29.6614	7230
+-117.3862	31.7166	8440
+-115.9165	46.6669	6683
+-80.9203	27.8336	8518
+-90.8641	36.674	7128
+-116.3983	35.8559	7434
+-90.7249	41.9158	5992
+-120.7568	46.977	7252
+-90.6173	39.4649	8614
+-116.7863	32.4396	9287
+-90.1991	37.3827	7937
+-84.288	26.4122	7013
+-86.5932	27.2216	4809
+-93.0128	40.1107	6233
+-122.8677	46.2402	8807
+-116.1985	35.3192	7797
+-88.2903	40.6206	6399
+-115.5436	33.0285	8148
+-118.9401	33.6288	7631
+-95.1365	40.2531	4051
+-115.8218	36.0936	6882
+-89.0327	39.0911	7923
+-120.295	35.0921	6073
+-117.8275	44.5694	7569
+-119.4628	36.6743	5874
+-92.115	40.9463	6410
+-85.915	29.5998	5138
+-113.399	27.2337	3708
+-108.6314	31.2187	7588
+-112.6535	33.8486	5960
+-115.9548	33.9665	8095
+-94.631	40.8417	4321
+-115.9727	28.7268	5058
+-119.97	31.7234	6188
+-118.5922	46.7791	8470
+-87.1431	40.9406	5712
+-82.0746	25.2904	7090
+-110.4544	29.8645	7607
+-88.3827	40.3639	6654
+-115.8982	32.7724	8560
+-88.6038	43.0314	4427
+-118.9157	34.0387	7736
+-123.3741	48.4309	7915
+-87.4557	37.0661	8197
+-88.8311	37.3271	9428
+-122.0563	47.0747	8672
+-120.8378	47.145	7332
+-87.2843	37.0316	8005
+-116.9329	27.2744	3571
+-123.391	44.1628	6479
+-111.3795	35.2002	5394
+-83.6983	25.7315	6988
+-116.4332	31.8878	8558
+-81.5571	24.8994	6584
+-91.8562	38.4783	7810
+-116.1805	32.2647	8681
+-116.8527	32.2511	9109
+-125.5994	47.5807	6565
+-115.2762	34.7291	7271
+-111.95	29.3813	6514
+-108.3074	29.2558	6130
+-117.6249	32.3337	8842
+-115.633	36.5827	6326
+-82.3729	30.3209	6990
+-114.3743	34.5139	6356
+-109.8057	31.9554	8774
+-88.3218	41.1239	6036
+-89.136	39.2242	7986
+-118.2836	33.6659	8317
+-82.9023	27.657	9014
+-115.1382	36.3363	6196
+-82.1058	31.5776	5581
+-111.5669	30.7801	7879
+-120.9838	45.6423	7047
+-127.1264	46.7274	4956
+-115.7121	46.8758	6416
+-84.4747	36.6511	4864
+-119.1997	48.0669	6962
+-92.235	36.8029	6528
+-113.5933	28.1373	4334
+-90.0318	34.845	6345
+-92.842	33.6635	3335
+-122.8531	47.7136	8784
+-124.4955	43.4641	5378
+-114.5903	31.9773	6942
+-119.4247	48.5413	6406
+-116.3974	28.9118	5351
+-118.767	29.2197	5266
+-115.5234	32.3105	8047
+-119.0196	33.1926	7368
+-89.6912	36.1743	7845
+-114.0335	33.7698	6313
+-87.5354	38.5112	8139
+-120.7793	45.2146	6456
+-120.4395	47.853	6733
+-118.6248	30.5832	6650
+-117.2475	35.9623	7543
+-80.4099	27.9734	7929
+-123.5461	48.4452	7833
+-79.1654	25.1839	5441
+-86.712	37.4467	7496
+-89.1581	34.2167	5918
+-119.2011	35.2642	7094
+-118.0602	37.9264	5311
+-120.8052	42.8698	4920
+-119.5882	29.878	5360
+-88.6698	39.0511	8256
+-118.599	35.64	7344
+-123.4865	45.8136	8185
+-116.9964	33.3316	9177
+-79.1687	25.3079	5535
+-112.6085	33.8664	5981
+-121.897	46.0189	8090
+-115.9765	33.9213	8112
+-118.9598	34.007	7686
+-83.0209	28.886	8276
+-90.5815	40.2135	7833
+-88.768	38.1187	9307
+-124.2763	46.0248	7774
+-82.9955	29.5877	7613
+-118.084	29.698	6058
+-121.3177	32.8043	4887
+-90.2365	37.4294	7992
+-120.1034	33.4145	6346
+-115.9974	35.1178	7786
+-121.394	44.3138	6255
+-117.7816	30.889	7418
+-122.9819	43.2398	5511
+-117.3718	33.0725	9218
+-90.6905	38.4157	8935
+-117.498	31.1864	7840
+-115.1385	46.222	5927
+-93.0527	41.8062	5051
+-115.9624	33.5083	8393
+-118.4007	34.6172	8193
+-120.0612	30.3507	5339
+-107.2787	35.5785	4025
+-87.3426	38.348	8043
+-114.4504	32.4067	6909
+-88.8618	36.7893	8825
+-119.2502	33.0209	7057
+-90.7731	40.774	7203
+-111.2341	29.8434	7351
+-91.669	39.0074	8011
+-122.4855	46.0778	8529
+-118.8364	45.7955	8592
+-116.0471	36.9654	6174
+-119.9418	43.6705	6145
+-87.9884	37.5203	8926
+-81.6836	24.5216	6186
+-92.4172	39.0923	7201
+-112.7049	33.1809	6375
+-108.0311	30.617	6768
+-79.9015	24.4825	5400
+-117.1294	31.8905	8704
+-118.5444	35.321	7635
+-118.0821	32.4637	8448
+-112.025	32.1157	7552
+-115.328	33.1249	7893
+-120.4839	47.0173	6736
+-81.4311	28.7519	8524
+-90.491	40.7682	7246
+-82.2178	30.5989	6687
+-116.7745	32.9239	9507
+-119.5704	31.0485	6242
+-82.7975	30.8354	6340
+-109.2337	31.9567	8215
+-92.7266	41.4387	5580
+-118.1536	45.0995	8192
+-110.0204	24.9408	2269
+-118.1844	47.3944	7886
+-109.9021	31.8589	8919
+-88.43	37.5852	9427
+-90.8228	39.4847	8502
+-123.0699	48.1163	8329
+-115.1311	34.2538	7205
+-115.1017	47.9708	5352
+-113.6193	28.0273	4228
+-90.6246	42.7047	5154
+-90.9191	41.2768	6640
+-116.8593	44.8846	7278
+-119.9388	32.8427	6301
+-121.2952	44.5825	6449
+-91.3419	35.6073	5883
+-118.1303	34.2869	8581
+-114.6462	47.3463	5189
+-88.6389	39.6864	7290
+-81.6461	28.0997	9225
+-116.9575	35.5079	8001
+-92.5948	40.2659	6534
+-85.9384	39.2053	6201
+-108.9854	30.4139	7540
+-119.3374	47.4302	7463
+-79.7272	27.1738	7089
+-117.0947	45.5607	7878
+-83.673	27.4457	8113
+-88.7173	35.7207	7631
+-105.9587	33.1646	4434
+-117.6521	47.2366	7884
+-109.5365	32.0376	8480
+-116.6973	45.1939	7326
+-92.4988	40.4788	6480
+-124.587	45.1163	6855
+-116.6428	32.0663	8841
+-108.733	28.4448	5657
+-116.9537	30.5204	7192
+-85.1379	28.2746	6445
+-86.1884	37.6638	6921
+-122.7373	47.0814	9387
+-92.6011	38.3643	6998
+-122.0068	47.2132	8588
+-118.0135	29.1017	5448
+-93.0413	37.7541	6365
+-87.5082	40.003	6836
+-122.901	47.6127	8896
+-109.5582	30.8614	8326
+-87.0603	37.7845	7895
+-111.1436	31.2972	8543
+-121.8596	32.7965	4320
+-117.9471	31.5897	8001
+-121.0657	48.5862	6918
+-127.9054	47.0904	4105
+-89.5998	37.2396	8764
+-118.0794	34.8865	8329
+-124.9829	47.3437	7281
+-121.9885	47.3262	8530
+-110.0087	30.7803	8535
+-120.1877	47.2443	6908
+-123.9666	46.3857	8272
+-124.5684	46.9464	7773
+-116.9097	36.4073	7027
+-81.3985	28.4206	8780
+-117.3958	32.9028	9265
+-82.8546	25.7861	7508
+-117.3187	33.9969	9379
+-116.2411	32.4669	8854
+-88.0392	39.0744	8036
+-114.3108	29.4257	4949
+-91.1002	43.0774	4697
+-118.2672	45.1817	8288
+-114.7845	48.1484	4967
+-85.4506	27.7071	6139
+-108.8077	33.607	6728
+-117.9848	44.6379	7680
+-112.8432	29.5592	5980
+-119.4799	33.9505	7115
+-110.2117	30.5661	8364
+-114.9231	35.8068	6397
+-88.8283	37.7196	9723
+-114.7327	32.6776	7256
+-91.1465	39.7527	8066
+-109.5445	33.7972	6927
+-81.3958	32.5407	4427
+-94.7215	36.407	4110
+-117.9075	31.9137	8298
+-113.6752	29.7513	5344
+-117.8386	43.9935	6980
+-90.7608	38.4802	8924
+-79.75	25.5891	6240
+-92.6544	36.586	6043
+-89.5098	40.4933	7323
+-113.1812	32.015	6353
+-90.6213	37.5288	8083
+-119.2659	46.4198	8166
+-109.3521	30.7907	8107
+-107.5703	29.3886	5650
+-117.739	31.0302	7582
+-115.7178	33.6585	8073
+-121.3814	49.5532	6311
+-123.6728	45.6486	7928
+-88.2913	36.688	8595
+-117.2743	32.1617	8946
+-120.5903	48.4052	6617
+-116.8865	35.7157	7763
+-120.5878	35.0809	5770
+-115.3592	37.8577	4973
+-110.2424	33.1361	7788
+-119.6889	46.3411	7750
+-88.2443	41.7829	5424
+-86.3688	31.281	3666
+-116.1403	47.6936	6432
+-83.3653	29.783	7219
+-110.2048	31.752	9244
+-81.8914	29.0304	8437
+-124.3913	47.6108	7821
+-111.5688	32.5264	7789
+-91.2948	36.7661	7071
+-86.8206	36.286	7137
+-117.7875	33.9599	8939
+-118.2321	45.2551	8364
+-119.4552	33.2691	6971
+-84.3363	28.6087	7224
+-114.7622	33.3619	7220
+-117.122	33.3907	9089
+-84.2375	25.9623	6757
+-89.9591	38.9509	8918
+-116.4579	32.0541	8730
+-118.288	44.028	7066
+-119.8863	33.4086	6573
+-84.1091	28.2871	7581
+-125.2347	48.9736	6224
+-122.0969	46.3254	8477
+-89.4097	33.6498	5249
+-78.5782	28.273	5830
+-122.6287	45.5258	7995
+-89.9253	38.468	8845
+-81.188	25.4967	7111
+-107.7462	30.3387	6363
+-119.4471	33.1622	6934
+-118.508	35.2127	7743
+-110.075	30.3758	8136
+-90.7427	37.3983	7917
+-110.458	27.159	4678
+-112.5784	31.1198	6990
+-114.8773	29.952	5798
+-87.9522	38.2356	8700
+-80.938	27.5493	8518
+-109.6737	33.584	7191
+-85.2636	28.2193	6314
+-89.7217	35.8033	7465
+-116.3505	32.3226	8872
+-117.7706	33.3378	8511
+-108.4288	34.233	5938
+-88.766	38.8304	8508
+-122.8359	44.1776	6541
+-118.688	45.8314	8746
+-121.9896	46.3143	8376
+-124.4661	48.36	7303
+-91.2757	37.8712	8074
+-106.5448	34.0473	4577
+-88.6815	36.7171	8746
+-91.4998	42.8101	4886
+-117.4578	46.6966	8182
+-84.1147	27.0753	7518
+-91.369	35.8941	6168
+-105.9877	31.5914	4765
+-86.7628	27.7401	4655
+-116.4738	34.8418	8378
+-110.2558	30.3919	8180
+-90.3159	39.6872	8412
+-94.0621	40.4392	5061
+-78.9213	29.7278	5635
+-113.1969	49.746	2633
+-120.702	45.1896	6524
+-82.0938	28.4781	9086
+-114.8927	34.3211	6940
+-119.2522	48.7368	6285
+-85.3756	36.3305	5724
+-81.0523	26.64	8126
+-88.8029	38.576	8793
+-113.6878	31.3096	5827
+-117.4616	31.8965	8587
+-83.7517	26.6651	7678
+-91.0121	35.9509	6643
+-118.6172	30.2006	6303
+-83.6833	30.1142	6710
+-108.2099	32.4266	6998
+-118.8574	31.9262	7422
+-115.2535	33.1741	7801
+-112.6794	33.5189	6178
+-118.0987	44.4452	7497
+-116.8135	46.9541	7460
+-117.7908	36.4804	6914
+-118.1443	38.3575	4832
+-114.5744	34.3934	6588
+-117.7797	35.2665	8181
+-87.9574	35.6846	7413
+-122.1111	49.8185	6355
+-90.7145	41.7324	6190
+-88.2293	29.437	2741
+-122.3774	48.5296	7796
+-81.4273	30.3899	6819
+-119.3439	32.6383	7094
+-78.8182	27.6467	6139
+-118.6283	33.1717	7719
+-112.1798	34.0806	6109
+-93.7887	39.6812	5619
+-117.8839	33.786	8765
+-115.4083	32.4956	7978
+-83.071	30.3515	6782
+-81.3489	24.7374	6352
+-89.7216	41.1053	6787
+-111.4229	29.2512	6685
+-78.92	25.8709	5672
+-125.8305	45.3934	5952
+-80.79	24.5795	5979
+-90.1338	40.3393	7690
+-113.2035	30.7168	6225
+-86.7673	37.3279	7539
+-117.2056	33.9399	9317
+-125.2517	48.8712	6281
+-83.7297	28.7584	7766
+-116.3318	33.1825	8936
+-89.6452	35.7866	7486
+-116.7538	33.0594	9393
+-86.6564	35.9759	6780
+-119.6693	47.41	7241
+-116.2361	32.7236	8931
+-88.0965	38.9968	8143
+-118.6181	42.4402	5368
+-114.8342	45.1535	5473
+-119.7758	30.5797	5747
+-93.5242	37.2797	5686
+-116.5525	35.8362	7524
+-109.8106	29.8328	7494
+-123.0045	48.1186	8335
+-112.6632	31.281	6928
+-83.7029	25.7008	6957
+-83.2715	30.2252	6827
+-116.4753	35.9501	7376
+-82.5294	26.0436	7892
+-115.8635	29.6732	6037
+-106.8322	32.2175	5619
+-88.1748	36.2914	8135
+-92.2525	39.7412	7144
+-111.4245	29.7959	7205
+-119.5412	47.402	7343
+-110.9967	32.5979	8160
+-124.1821	47.1815	8178
+-116.2274	30.5324	7075
+-84.2606	27.4129	7453
+-83.033	27.3112	8752
+-116.5141	32.2365	8932
+-89.7432	36.1302	7772
+-110.2661	30.4059	8196
+-115.9632	48.2871	5884
+-119.4701	34.7765	7034
+-120.3195	46.3878	7083
+-112.5508	32.4916	6877
+-84.5309	27.0133	7049
+-114.8026	32.0716	7200
+-90.5559	37.7247	8304
+-123.8216	47.8281	8220
+-92.6322	36.6507	6108
+-88.5467	40.9332	6349
+-118.1718	44.5917	7659
+-117.1854	32.3566	9185
+-93.2913	35.0858	4382
+-119.3038	47.2105	7663
+-92.5739	39.4423	6948
+-91.856	38.9466	7823
+-106.7798	30.8048	5532
+-121.0819	48.1484	7224
+-118.0109	44.4009	7438
+-122.5374	48.4981	7877
+-88.4695	38.147	9180
+-116.1979	29.9639	6457
+-90.778	40.4721	7520
+-86.9953	41.1786	5399
+-90.0414	37.482	8369
+-122.6499	38.8939	1699
+-88.4237	40.1315	6840
+-110.8067	31.1491	8778
+-89.6693	34.2706	5871
+-83.385	28.3267	8341
+-109.9046	30.4992	8210
+-82.6829	27.2835	9065
+-89.9019	39.6099	8362
+-86.9163	37.8504	7728
+-113.8216	33.1337	6227
+-116.941	33.8642	9077
+-117.9265	43.3446	6318
+-83.4113	25.3546	6804
+-86.8746	36.3392	7221
+-116.7309	36.4228	6973
+-107.8656	28.2764	5003
+-89.9321	41.5693	6347
+-111.3772	33.2175	7373
+-90.0317	36.7981	8093
+-118.8003	30.3445	6320
+-110.5248	32.7423	8201
+-111.1305	30.0623	7613
+-109.1753	31.6621	8216
+-110.9517	31.4614	8791
+-120.8693	46.642	7347
+-119.3879	33.4691	7113
+-92.4312	41.2793	5917
+-91.3987	39.3387	8159
+-118.2419	47.3086	7980
+-118.0407	32.2607	8404
+-86.8067	34.4554	5593
+-119.385	44.1347	6874
+-109.8838	31.6375	8983
+-115.1722	32.8115	7751
+-115.2373	34.3084	7316
+-119.381	34.1827	7231
+-108.9582	32.5188	7672
+-86.8808	37.5445	7694
+-89.0404	39.5161	7758
+-90.6266	38.8605	9136
+-81.7467	26.0716	7926
+-87.3682	36.4321	7722
+-121.6172	32.2843	4532
+-121.1911	34.1832	5257
+-119.8105	49.5089	5304
+-107.6084	33.0314	6130
+-121.6837	31.1256	4164
+-84.6872	28.1707	6967
+-109.4124	33.2616	7399
+-87.5057	41.4196	5194
+-114.8964	31.7665	7164
+-110.4459	31.6133	9347
+-117.5691	38.8277	4406
+-91.6938	38.98	7990
+-80.8749	26.1659	7589
+-82.2697	29.1439	8327
+-78.6985	27.6283	6003
+-112.2321	33.5683	6497
+-80.0229	27.9616	7495
+-89.0753	34.773	6549
+-112.5333	32.3722	6941
+-112.1933	29.8363	6709
+-89.0276	35.9875	7908
+-116.3568	46.831	7078
+-116.5491	48.4162	6196
+-122.0744	46.1946	8364
+-90.6306	35.761	6823
+-116.6329	37.3953	5913
+-118.141	30.3921	6748
+-122.401	47.1562	9020
+-120.8876	46.022	7164
+-89.1784	34.5625	6301
+-81.005	27.7884	8616
+-113.7308	31.6532	5792
+-82.374	26.1908	8089
+-90.84	38.7375	8932
+-81.8143	28.6952	8782
+-118.5318	40.6244	3455
+-116.5894	33.6032	8600
+-121.0275	46.2932	7420
+-127.2378	40.9851	1489
+-90.9161	38.8203	8845
+-116.1419	29.7258	6185
+-87.6868	33.875	5390
+-115.3108	32.9262	7902
+-124.4336	49.4767	6375
+-110.1063	30.8837	8677
+-93.7259	36.4439	5047
+-89.165	39.8204	7676
+-122.686	48.0692	8372
+-87.9614	36.8735	8547
+-121.4473	49.1675	6709
+-116.8938	30.8551	7563
+-122.9184	45.1615	7623
+-92.0083	36.5893	6510
+-115.5086	34.3466	7606
+-119.9785	43.8563	6282
+-89.0422	40.432	7106
+-87.089	36.8628	7727
+-80.8568	28.3873	8287
+-91.467	40.446	7255
+-110.5485	33.9678	6880
+-114.5606	48.5848	4520
+-91.6772	35.8373	5989
+-112.6311	33.6436	6130
+-88.363	37.3984	9271
+-92.7859	36.284	5714
+-111.8602	34.2189	6173
+-121.7825	45.3838	7477
+-81.208	29.8096	7355
+-91.8504	39.9087	7409
+-87.5937	38.3623	8284
+-114.7577	37.8245	4669
+-119.7373	32.8858	6519
+-81.6608	27.5644	9311
+-117.0074	45.6377	7823
+-120.3866	41.8543	4242
+-83.5684	25.9688	7290
+-120.5943	47.056	7071
+-125.1056	45.0706	6411
+-89.4168	32.0292	3446
+-122.6139	48.5527	7836
+-121.7492	49.2594	6788
+-120.4466	46.4201	6944
+-119.159	33.2576	7263
+-121.2222	46.3933	7658
+-79.5973	26.8931	6858
+-119.1717	41.5072	4306
+-90.2085	38.8684	9197
+-82.8908	28.9161	8335
+-116.7603	34.8628	8569
+-124.09	46.4798	8194
+-82.291	26.2446	8161
+-120.8982	27.936	2762
+-87.3035	42.9612	3801
+-114.5546	35.4027	6272
+-117.8223	33.4634	8588
+-115.5231	35.6611	7009
+-111.3306	32.4786	8021
+-82.3127	27.5527	9577
+-117.6706	33.9614	9059
+-82.6542	27.8563	9294
+-114.8841	42.2246	3801
+-117.0423	45.9218	7933
+-87.7654	39.7368	7233
+-81.3844	26.5819	8307
+-116.8024	44.0745	6603
+-111.7364	31.9366	7906
+-119.8243	47.8956	6755
+-81.657	28.5308	8874
+-112.0372	30.9255	7495
+-109.6648	28.1235	5656
+-89.3709	36.2783	8116
+-121.0919	43.4957	5204
+-118.0449	32.1168	8319
+-118.0103	35.3765	7958
+-91.9585	40.5863	6817
+-89.9376	35.0261	6573
+-115.3434	31.3414	7306
+-82.5282	27.832	9440
+-120.2717	48.2664	6385
+-91.0066	39.1759	8611
+-88.1085	42.9374	4288
+-118.9051	35.6921	7071
+-83.1445	27.0658	8501
+-116.9841	45.2674	7626
+-113.0219	31.6862	6558
+-90.0592	37.62	8157
+-121.1871	49.5749	6178
+-117.505	47.4585	7602
+-109.532	32.5664	8099
+-113.4176	35.6287	5034
+-88.8827	37.7974	9618
+-82.772	28.4662	8821
+-123.1823	44.4326	6805
+-120.0495	49.8658	5139
+-120.9747	36.5337	4720
+-116.4643	32.3055	8953
+-118.4836	43.8253	6842
+-92.0954	40.2453	6974
+-83.3319	28.4927	8307
+-125.3172	49.5733	5701
+-126.4695	47.8195	5574
+-83.8656	24.9005	6104
+-79.5626	28.203	6942
+-80.90	28.6222	8194
+-121.3937	46.3687	7826
+-112.8075	30.9951	6718
+-91.9594	39.0101	7703
+-117.8696	46.5825	8587
+-115.5096	31.1664	7297
+-115.3711	35.6824	6868
+-90.2242	34.9192	6324
+-120.4981	31.9874	5707
+-117.6326	31.9522	8536
+-116.9563	44.1883	6796
+-86.743	36.0316	6895
+-119.3455	45.783	8087
+-117.3186	36.7863	6643
+-124.346	48.3263	7426
+-84.7637	30.7007	5434
+-121.7111	46.5384	8218
+-83.1831	27.8166	8703
+-111.0715	31.6972	8664
+-119.5712	49.0789	5823
+-91.2742	38.7558	8464
+-123.8644	45.6221	7788
+-86.7083	36.6537	7240
+-88.1247	37.8297	9072
+-116.2643	35.3114	7851
+-114.665	31.4704	6779
+-117.6336	33.156	8918
+-85.2301	26.0714	5898
+-110.0027	33.9793	6853
+-87.2401	35.7417	7058
+-90.1561	38.193	8776
+-125.4002	43.6784	5068
+-121.0181	46.7942	7530
+-80.2203	26.3467	7197
+-116.0503	31.8544	8271
+-116.8224	38.1163	5166
+-93.6313	41.5726	4786
+-89.0778	36.0788	8000
+-117.5642	33.8058	9055
+-121.1959	46.1669	7538
+-113.8699	30.7192	5529
+-81.6704	25.1659	6904
+-124.0255	48.8941	7154
+-113.1282	32.2276	6366
+-87.0402	39.2487	7186
+-114.3348	31.219	6319
+-116.7778	36.6005	6794
+-90.2624	39.104	9021
+-119.3861	45.8499	8063
+-118.2697	35.1877	7950
+-78.1247	26.25	5043
+-117.8635	31.6216	8086
+-119.1668	48.0085	7033
+-124.3499	44.2058	6180
+-86.2476	28.1541	5217
+-118.1028	46.4037	8886
+-123.2739	49.1538	7168
+-118.0634	43.8233	6838
+-92.4954	37.638	6852
+-92.4226	36.7224	6325
+-84.781	37.5804	5340
+-114.2902	32.9192	6765
+-123.8021	46.9596	8615
+-89.3326	37.361	9093
+-83.5172	29.6994	7203
+-88.6263	36.4356	8425
+-120.4323	33.5831	6033
+-123.9188	46.9726	8487
+-81.425	25.901	7635
+-124.0482	48.3581	7624
+-118.4745	33.5717	8085
+-123.9673	48.8877	7192
+-109.2353	30.9273	8088
+-87.8216	39.6106	7388
+-120.1303	46.4944	7260
+-122.7111	43.7675	6085
+-89.2329	37.6814	9291
+-119.0468	30.9183	6612
+-88.1511	37.5115	9103
+-115.3172	31.0296	7040
+-113.2456	33.0946	5919
+-93.2886	38.7384	6293
+-93.8416	36.7292	5107
+-110.7428	29.9688	7669
+-80.0212	30.5205	5966
+-117.8703	48.0647	7134
+-115.6509	31.3005	7514
+-81.1061	31.9022	5071
+-123.6064	46.2216	8478
+-88.0698	39.205	7919
+-121.158	32.4964	5064
+-123.4045	47.4174	8863
+-90.9573	39.8163	8119
+-124.8122	49.7873	5862
+-122.8375	46.9759	9537
+-89.4341	36.9805	8741
+-117.4577	49.084	5981
+-86.0391	40.9073	5060
+-118.5637	34.4449	8083
+-111.3696	35.2538	5341
+-89.5469	39.8733	7915
+-124.0835	45.4103	7458
+-115.7109	44.4738	6037
+-120.6589	49.9582	5500
+-89.7015	38.8952	8673
+-88.5227	37.5623	9518
+-119.2249	34.9448	7226
+-108.0761	32.4166	6867
+-90.3762	36.9566	7841
+-116.9108	35.4229	8079
+-120.8208	34.7763	5598
+-90.1252	37.6162	8171
+-110.8727	31.4798	8879
+-108.4912	31.2675	7449
+-125.9048	47.5796	6237
+-123.1759	46.4947	9006
+-119.0704	34.2142	7568
+-112.2823	28.9502	5924
+-121.266	47.2192	7790
+-115.0023	35.3777	6720
+-119.6529	46.4447	7765
+-92.8395	42.1383	4914
+-90.6066	36.6987	7200
+-91.117	38.6426	8625
+-91.6868	40.4452	7119
+-86.4295	36.3789	6820
+-108.4321	31.264	7385
+-88.6531	38.3914	8991
+-86.6672	41.3856	5021
+-88.6814	40.9472	6429
+-93.5089	39.6983	5904
+-117.3045	33.7385	9105
+-82.6815	26.7127	8548
+-77.9298	25.0431	4226
+-83.9657	27.8534	7817
+-118.9576	33.7451	7645
+-120.9192	31.2235	4999
+-92.3459	36.0859	5858
+-80.8371	27.7343	8425
+-82.6433	25.7564	7546
+-116.1467	45.1005	6762
+-89.0589	39.3228	7869
+-92.2536	40.6753	6531
+-82.7099	26.1105	7908
+-118.0972	34.2336	8625
+-77.9284	28.6626	5028
+-124.4086	48.1911	7472
+-89.0286	36.5386	8516
+-80.3949	25.8532	6968
+-91.5858	39.4776	7909
+-122.8209	49.2692	7075
+-124.6328	45.9045	7373
+-90.7806	37.3958	7903
+-90.0638	39.2596	8776
+-111.8379	36.9121	3474
+-90.7832	36.4388	6896
+-82.6174	29.9416	7371
+-119.0324	47.553	7529
+-120.9004	45.4139	6825
+-82.3954	26.8855	8852
+-86.298	40.3477	5724
+-107.5305	32.948	6096
+-110.7527	29.6095	7287
+-91.2298	35.5168	6146
+-87.878	42.7483	4339
+-88.3622	40.6999	6397
+-121.7094	45.9364	7876
+-115.6445	31.223	7443
+-115.0529	28.8029	4793
+-117.2127	48.609	6372
+-109.9982	30.1225	7850
+-89.0931	34.2243	5934
+-105.6604	31.8647	4401
+-120.1407	44.0393	6322
+-115.2802	34.4134	7350
+-117.9627	31.6329	8027
+-110.6456	31.4753	9116
+-79.058	26.9027	6278
+-88.7371	37.7729	9691
+-117.4892	44.7221	7576
+-115.5449	32.2164	8032
+-87.3936	36.0292	7417
+-112.6827	28.8904	5602
+-118.5691	35.1036	7766
+-117.3979	33.902	9248
+-122.5018	48.1842	8199
+-120.9611	45.2552	6765
+-81.339	24.8196	6439
+-115.9905	46.3517	6818
+-90.752	39.1941	8802
+-78.6363	24.5322	4503
+-123.6111	49.1226	7112
+-89.1784	39.7591	7730
+-87.8474	39.6654	7345
+-117.685	47.6906	7461
+-82.3146	28.7745	8734
+-90.4554	36.0495	7191
+-119.1132	46.5135	8279
+-118.4957	42.3817	5316
+-92.3455	40.6977	6444
+-89.2487	36.8585	8759
+-86.9762	35.271	6459
+-118.4088	36.7085	6465
+-118.5471	32.4242	7936
+-120.9133	45.7468	7045
+-110.2986	30.0396	7801
+-126.9116	48.8014	4760
+-79.4026	28.5422	6681
+-109.084	31.1431	8038
+-110.5804	29.9957	7733
+-118.2457	32.0166	8070
+-90.3318	37.8831	8488
+-88.5225	38.8416	8467
+-114.6619	35.6137	6270
+-116.7627	35.5259	7922
+-91.0413	42.7564	5048
+-110.7415	31.3218	8948
+-88.649	35.9406	7874
+-83.2916	27.0954	8378
+-116.0079	43.4616	5571
+-118.7193	48.575	6599
+-119.6168	32.9691	6677
+-113.68	30.129	5520
+-117.1334	36.6107	6832
+-88.7918	41.4048	6088
+-79.7428	26.8655	7002
+-87.8021	36.3133	7950
+-83.0556	28.2449	8717
+-122.3764	47.7476	8573
+-119.406	46.9197	7788
+-80.1338	24.2351	5301
+-87.337	39.4876	7216
+-121.6708	45.4555	7466
+-111.0267	32.2576	8426
+-85.8093	31.9187	3618
+-111.4423	31.193	8200
+-121.1118	45.9045	7321
+-117.2881	28.8181	5279
+-121.5947	34.4114	4807
+-84.28	27.2782	7402
+-85.825	24.0861	3995
+-123.2045	49.3721	6942
+-121.1816	38.8588	2844
+-92.0349	37.7114	7321
+-122.3441	47.9665	8349
+-116.7526	32.4754	9304
+-119.2602	32.1646	7093
+-119.0885	49.8983	5148
+-113.8897	32.4754	6300
+-120.1912	43.5899	5921
+-110.8692	30.1995	7866
+-118.9011	43.9244	6865
+-120.1898	31.614	5916
+-119.3719	30.6348	6131
+-116.3686	43.507	5847
+-82.3239	27.3743	9399
+-88.3402	36.5471	8471
+-118.3343	34.0088	8365
+-120.327	45.352	6956
+-125.4085	48.3127	6479
+-115.9502	32.3414	8501
+-116.2371	34.9347	8115
+-124.8491	46.2988	7343
+-89.2129	33.8565	5510
+-92.5506	38.7723	7088
+-115.0448	30.3909	6301
+-120.3459	46.7278	6977
+-114.2033	33.0642	6658
+-92.9372	43.0174	4064
+-107.6594	33.2707	6048
+-115.408	32.4872	7976
+-116.1421	31.6374	8148
+-119.3544	43.6168	6396
+-110.0295	33.9664	6871
+-122.7098	46.2395	8781
+-115.4211	33.9366	7513
+-117.5628	32.2767	8856
+-121.5001	49.813	6121
+-119.1688	32.9191	7294
+-91.0853	40.1461	7740
+-108.9529	31.7907	7961
+-82.2182	26.0136	7907
+-89.7758	34.6741	6271
+-89.4178	37.8972	9039
+-81.1917	28.634	8444
+-118.013	30.0524	6456
+-114.6124	31.1947	6564
+-119.4257	48.6542	6297
+-120.043	45.8207	7374
+-118.3847	31.929	7887
+-119.0634	43.872	6760
+-88.4209	40.11	6851
+-88.1696	41.9921	5193
+-81.3977	31.3411	5764
+-124.9097	46.7157	7381
+-110.7301	37.6416	2896
+-109.871	32.263	8583
+-116.9208	46.5032	7756
+-87.8951	38.4479	8501
+-116.6216	44.948	7119
+-88.5017	36.8288	8829
+-82.0202	31.9429	5166
+-108.6819	29.6896	6751
+-119.8683	48.2481	6433
+-87.7004	35.3764	6980
+-117.3315	31.6828	8424
+-120.3148	46.3066	7098
+-89.0264	37.392	9391
+-122.0199	45.9849	8158
+-89.9461	40.4732	7508
+-89.1962	37.275	9163
+-109.11	31.419	8136
+-119.4307	31.3014	6526
+-85.8499	35.2469	5561
+-118.3789	35.5728	7553
+-110.7095	34.7842	5982
+-84.4371	29.5371	6605
+-118.8388	34.781	7683
+-115.5831	34.2858	7694
+-126.5651	45.6585	5331
+-114.7269	35.8691	6182
+-113.9195	32.2888	6303
+-87.9258	36.7366	8408
+-127.3924	48.3642	4437
+-89.838	39.0032	8776
+-119.6471	47.4523	7226
+-88.2379	38.7439	8467
+-115.6547	34.4846	7738
+-118.0518	35.0976	8181
+-117.489	46.4767	8330
+-113.0583	32.6205	6315
+-83.8494	24.2979	5514
+-113.1773	34.0007	5429
+-124.3647	49.7113	6188
+-80.9095	26.8687	8175
+-114.913	47.2494	5489
+-85.9169	34.8854	5346
+-112.4219	34.0509	5971
+-121.4493	47.2887	7974
+-89.8516	35.5807	7176
+-121.799	45.4267	7526
+-114.9414	32.7678	7493
+-92.0164	40.0712	7160
+-122.4867	44.8591	7247
+-82.3903	26.4157	8337
+-121.1017	45.0816	6744
+-119.8114	31.7601	6368
+-114.7907	33.6183	7166
+-119.5208	31.336	6460
+-80.2479	29.2089	7207
+-85.6386	27.5961	5922
+-120.9376	48.0755	7130
+-83.6943	27.8825	8122
+-90.4487	36.3606	7425
+-88.9703	35.74	7641
+-88.7979	37.3203	9426
+-119.6524	32.015	6626
+-125.6592	46.6009	6548
+-87.5884	39.2487	7600
+-78.7557	25.1536	5061
+-123.1129	45.4466	7920
+-83.3484	28.9105	8004
+-116.6555	32.7415	9396
+-115.8808	35.6826	7270
+-122.2671	48.5992	7683
+-90.8824	38.6626	8878
+-110.7268	29.655	7341
+-117.7524	34.5675	8827
+-110.8011	29.7895	7465
+-115.2941	46.5412	6060
+-115.5585	45.6955	6343
+-122.2934	45.9738	8328
+-117.7791	32.0402	8499
+-109.9083	34.3492	6442
+-120.8151	32.7698	5391
+-116.2076	34.778	8185
+-116.8782	34.9229	8578
+-123.7131	46.1583	8347
+-81.5677	25.6644	7430
+-81.7854	24.7393	6445
+-122.2145	47.6114	8572
+-119.7918	36.721	5594
+-116.56	36.7509	6580
+-111.0952	32.3845	8276
+-113.1804	33.0119	6022
+-82.1983	30.7966	6464
+-83.2744	28.3449	8445
+-117.2165	45.8264	8094
+-89.779	36.012	7638
+-114.7165	33.654	7075
+-88.3699	37.2849	9198
+-112.3954	32.9344	6803
+-110.20	30.4093	8193
+-118.936	35.9805	6822
+-118.4037	31.4771	7562
+-121.2769	45.6995	7344
+-116.3842	32.1817	8792
+-123.492	46.5406	8805
+-116.6997	32.5632	9342
+-85.1953	24.3155	4673
+-109.7673	31.2055	8736
+-118.2705	31.3005	7522
+-121.8667	43.6377	5777
+-84.7429	38.3934	5225
+-123.3262	48.4581	7902
+-81.8453	27.0947	9065
+-85.5934	40.7542	4845
+-120.2056	45.3925	7091
+-112.228	28.837	5859
+-87.1777	41.5441	5111
+-90.6405	35.1935	6333
+-124.285	45.6397	7499
+-89.4098	38.5459	8352
+-82.8515	25.4826	7184
+-76.8935	24.5169	2917
+-118.4506	33.3227	7973
+-81.1686	27.4459	8742
+-113.4538	30.9786	6030
+-116.2864	32.8454	8993
+-80.7119	28.6495	7999
+-80.5239	31.533	5259
+-119.2738	33.3899	7203
+-118.7428	45.8153	8688
+-87.5221	34.4623	5957
+-117.424	49.1282	5927
+-88.2221	37.0472	8890
+-79.5908	24.0699	4816
+-119.5291	45.5848	7833
+-111.3786	32.4973	7969
+-112.2623	30.2363	6924
+-113.6361	33.1772	6016
+-118.8537	35.4153	7312
+-116.6801	35.5865	7828
+-90.6155	36.3815	7288
+-107.8956	31.4357	6828
+-87.3492	30.7169	3113
+-88.3067	37.9656	9199
+-110.1323	35.3153	5424
+-109.8839	26.5297	3977
+-113.4799	29.9733	5644
+-116.5186	32.1629	8869
+-106.7745	31.3442	5609
+-109.0274	32.4895	7751
+-79.8042	30.4114	5905
+-93.3386	34.585	3920
+-116.4211	34.1109	8615
+-111.1087	29.724	7291
+-124.0844	49.2934	6738
+-111.9979	32.5087	7410
+-89.5177	37.5123	8954
+-91.1758	37.4675	7799
+-122.4782	47.4428	8907
+-87.8828	36.2088	7902
+-80.9411	26.3865	7829
+-112.6821	31.0496	6864
+-110.4003	30.086	7850
+-113.0504	29.5233	5779
+-88.0761	36.0734	7867
+-126.3003	46.7183	5861
+-79.1232	26.406	6155
+-121.1398	43.1529	4914
+-114.7819	46.4256	5536
+-124.5658	48.2262	7312
+-122.3235	49.2074	7064
+-117.4746	34.5721	9008
+-84.7735	25.3513	5844
+-90.818	42.1541	5726
+-87.8385	36.7012	8312
+-106.5889	31.746	5413
+-119.4841	34.6363	7057
+-89.7199	38.8258	8705
+-91.0105	39.3167	8513
+-116.6403	31.3399	8066
+-84.2354	27.5335	7500
+-77.1124	29.0827	4020
+-109.7931	31.2148	8765
+-81.2209	29.4772	7699
+-92.2726	37.0227	6665
+-90.4291	37.9421	8552
+-121.9822	35.0393	4300
+-121.0373	48.6884	6819
+-114.0617	33.8237	6324
+-87.7349	37.8839	8631
+-122.3401	44.1427	6443
+-87.7205	40.3748	6556
+-117.6576	35.701	7775
+-117.4703	31.8062	8494
+-122.0833	43.1299	5297
+-119.2511	47.818	7172
+-117.7537	33.5502	8709
+-113.4419	30.7412	5984
+-92.5129	34.1908	4001
+-111.7381	24.1444	1271
+-114.404	30.9784	6235
+-109.0544	31.5036	8085
+-91.3945	36.5581	6823
+-120.5055	46.4193	6883
+-115.5521	33.9666	7659
+-121.2279	46.874	7766
+-120.5149	38.7268	3401
+-123.5022	48.4801	7817
+-117.5627	37.3867	5974
+-118.5471	33.0171	7976
+-110.6973	27.6939	5241
+-117.1259	32.2387	9084
+-115.8938	30.4442	6849
+-79.0715	25.5998	5649
+-116.9914	31.0096	7737
+-117.539	34.7707	8782
+-82.508	24.2428	5883
+-109.5037	34.5237	6163
+-115.4284	32.3134	7948
+-118.8398	35.5907	7199
+-110.1774	30.4995	8287
+-85.7922	26.3774	5465
+-87.0629	38.6479	7608
+-117.0814	34.8397	8741
+-116.0915	36.4683	6686
+-116.5425	35.5193	7832
+-119.8074	47.7125	6911
+-89.8138	33.2962	4771
+-90.2124	41.0419	6947
+-111.3657	32.0274	8256
+-117.9306	34.123	8813
+-122.125	49.8899	6284
+-115.6304	42.3228	4372
+-108.871	32.2813	7718
+-109.5585	30.8456	8314
+-89.25	37.1903	9054
+-126.7748	48.2062	5137
+-117.2987	37.3199	6062
+-116.2643	32.1644	8684
+-116.2768	34.4601	8401
+-120.4689	34.5264	6019
+-121.1357	43.3023	5029
+-123.2195	49.967	6291
+-117.2596	33.0272	9350
+-89.0157	38.4265	8917
+-85.5805	36.3574	5949
+-81.5161	27.6216	9175
+-110.899	29.9086	7558
+-126.5718	44.4394	4709
+-111.1603	32.4302	8191
+-117.5563	35.1723	8361
+-91.7918	34.5117	4909
+-123.2041	46.6033	9086
+-121.2089	47.9056	7481
+-81.2289	27.8362	8866
+-117.3407	47.6252	7362
+-105.6121	31.2442	4345
+-88.8694	38.1168	9296
+-89.5313	40.3967	7426
+-110.3233	31.079	8927
+-118.8611	46.3115	8609
+-89.2797	40.5733	7127
+-82.2827	25.0292	6791
+-111.5567	30.16	7440
+-91.9639	39.4415	7565
+-124.4345	49.9385	5932
+-107.9536	33.3409	6268
+-125.1594	47.8303	6949
+-89.1918	36.5905	8517
+-90.6907	37.632	8175
+-83.8062	25.764	6940
+-122.972	48.3438	8091
+-81.1734	26.9277	8450
+-85.5893	30.3817	4989
+-115.3745	32.2915	7883
+-91.0854	36.9391	7331
+-91.0141	39.6164	8269
+-114.8599	29.3192	5199
+-90.9723	37.4161	7853
+-89.8831	42.6998	5133
+-88.8171	36.5379	8547
+-110.6125	32.907	8008
+-110.9934	31.1859	8639
+-82.8389	24.4212	6024
+-116.7466	32.6619	9453
+-126.0021	45.1609	5663
+-114.9411	30.4185	6252
+-89.155	35.1555	6963
+-111.7846	32.5276	7598
+-91.582	40.9688	6706
+-118.9352	45.926	8546
+-114.2351	31.1371	6176
+-113.3548	33.9205	5540
+-115.7588	32.8209	8406
+-82.5912	27.9735	9324
+-116.9157	42.7992	5477
+-117.7449	37.0562	6307
+-118.5925	35.5103	7453
+-119.9903	43.0699	5577
+-90.7039	40.8141	7173
+-89.1664	36.0028	7895
+-109.382	31.8846	8392
+-120.6766	46.441	7096
+-89.2531	40.559	7125
+-81.6765	28.7778	8637
+-109.3362	32.0215	8293
+-85.1137	42.7669	2772
+-90.2522	38.0396	8646
+-89.8446	40.2531	7703
+-75.5726	27.5827	2467
+-85.5502	37.8587	6198
+-118.7523	47.6468	7549
+-119.6229	31.0813	6214
+-124.7199	45.4993	7038
+-118.3226	34.5957	8280
+-81.1329	28.7356	8317
+-85.3496	37.6769	5979
+-122.9951	47.7822	8704
+-108.1911	33.1434	6602
+-88.0407	38.6352	8456
+-119.4189	34.6103	7133
+-92.9938	38.6285	6608
+-105.7849	29.9537	4239
+-112.1287	32.6449	7214
+-93.4135	38.8858	6155
+-109.54	34.5104	6188
+-84.8082	28.4683	6764
+-93.4443	38.8226	6124
+-83.1981	38.4245	3507
+-81.8302	28.778	8698
+-110.8358	31.8615	8851
+-85.6663	34.3443	4715
+-80.9157	26.622	8002
+-118.1611	47.1703	8120
+-123.2922	45.2921	7717
+-88.2237	32.0455	3477
+-83.2244	27.0533	8418
+-111.2404	33.2769	7392
+-124.894	45.508	6892
+-80.7802	26.2663	7607
+-111.4495	30.403	7714
+-118.2619	29.7018	5990
+-115.0205	35.1209	6861
+-115.5467	44.4737	5889
+-83.3293	27.4055	8479
+-115.9762	38.8949	4156
+-118.707	31.0601	6995
+-116.1686	35.2412	7836
+-122.1115	48.8476	7365
+-126.721	48.0203	5252
+-118.0279	34.2861	8691
+-86.7808	35.3588	6398
+-91.3639	38.521	8339
+-88.0598	41.2575	5740
+-115.452	33.6095	7846
+-114.8849	35.3155	6637
+-90.1002	36.2257	7612
+-115.9246	34.8872	7859
+-108.5862	33.8387	6383
+-82.6816	26.4053	8232
+-120.0138	34.0073	6538
+-110.2192	33.4325	7466
+-116.4396	33.0071	9128
+-85.068	36.7666	5542
+-117.0324	47.0454	7600
+-123.1221	47.4066	9065
+-121.7485	46.7128	8311
+-85.4191	37.3485	6041
+-117.0784	32.5606	9441
+-116.2035	47.2946	6720
+-115.8261	30.3682	6740
+-86.4798	38.0246	7217
+-122.3703	48.4257	7901
+-125.1055	46.8535	7180
+-89.5394	36.1841	7939
+-121.124	48.818	6788
+-108.3737	31.1574	7301
+-82.4688	26.8523	8791
+-117.1501	34.9379	8651
+-80.6816	28.0482	8219
+-109.5257	32.2875	8313
+-84.4431	29.0606	6897
+-109.6213	25.9878	3362
+-121.3692	46.9496	7924
+-82.0921	27.0705	9104
+-121.6842	46.8101	8259
+-116.9973	45.6828	7829
+-82.931	30.2471	6945
+-117.6597	35.5744	7908
+-124.3658	46.114	7743
+-90.3878	39.4881	8629
+-82.4769	27.5384	9426
+-122.6625	33.7907	3640
+-82.0488	24.3178	5989
+-119.4199	42.6302	5394
+-114.7627	32.632	7286
+-120.9497	48.1376	7107
+-88.8834	39.2576	7718
+-86.881	39.2119	7078
+-86.2961	40.6385	5476
+-118.4592	34.1704	8236
+-125.2332	47.1575	7034
+-107.0029	30.1906	5562
+-120.6352	46.0501	6769
+-108.0053	28.9671	5679
+-117.072	46.7048	7827
+-118.6238	31.9843	7684
+-89.3014	38.4793	8722
+-89.8662	36.8955	8308
+-121.0184	47.5515	7441
+-109.8219	31.2486	8811
+-122.983	47.46	9057
+-106.1529	30.4066	4768
+-121.451	45.9232	7644
+-89.8806	42.6468	5189
+-83.8769	26.8146	7645
+-82.7506	26.8289	8622
+-115.6671	43.6928	5495
+-81.564	31.0808	6088
+-127.71	48.0753	4183
+-87.6006	42.3194	4546
+-114.557	36.0442	5921
+-118.8232	48.272	6890
+-108.5377	30.8693	7380
+-108.1785	29.5379	6255
+-91.7916	36.4563	6523
+-118.0656	33.1342	8477
+-112.3244	32.7504	6973
+-117.8832	32.5684	8694
+-120.8359	45.6843	6937
+-111.4568	30.3032	7628
+-90.8666	37.337	7815
+-116.8033	49.25	5575
+-111.5232	29.8624	7207
+-81.4297	27.0819	8782
+-115.5185	32.0142	7906
+-115.2491	44.8977	5804
+-82.7138	26.1626	7963
+-88.521	38.187	9169
+-118.0011	32.6246	8579
+-119.314	47.2695	7610
+-120.1428	46.6698	7201
+-121.9015	49.2573	6861
+-82.9488	25.0102	6640
+-119.1504	32.8176	7317
+-117.2516	33.5981	8954
+-114.4758	32.1145	6866
+-86.7078	36.4813	7149
+-110.2687	34.4664	6349
+-123.1282	46.4983	9034
+-110.1192	30.1512	7905
+-89.0886	36.437	8389
+-121.146	44.6463	6411
+-91.5211	37.0376	7208
+-87.0823	34.182	5471
+-89.8684	36.9811	8359
+-119.1179	30.237	6006
+-90.3271	40.2301	7828
+-117.761	35.5957	7854
+-119.1782	46.6767	8133
+-123.7147	47.1305	8693
+-82.497	25.3575	7136
+-115.1876	32.9468	7763
+-116.6781	33.192	9225
+-91.8902	38.111	7660
+-110.4757	30.9642	8785
+-118.8334	34.4233	7800
+-120.1398	44.5821	6721
+-92.2802	37.1414	6744
+-115.6084	47.9898	5792
+-112.2794	33.51	6507
+-120.4723	44.1565	6160
+-124.4943	48.4468	7216
+-90.202	35.9657	7317
+-109.0101	35.0708	5432
+-120.1774	35.2471	6138
+-119.1255	36.5652	6199
+-90.9917	37.4878	7914
+-90.11	39.2653	8796
+-117.5847	34.121	9191
+-86.8317	36.7043	7390
+-116.0135	33.2905	8566
+-115.4902	43.3156	5084
+-116.9691	32.9593	9594
+-119.004	34.3255	7631
+-91.3324	35.9403	6228
+-111.6232	31.3277	8049
+-82.9805	27.6014	8916
+-123.932	46.992	8472
+-119.5915	46.1084	7875
+-88.4451	39.3387	7903
+-113.5167	29.4455	5319
+-82.6326	31.5877	5533
+-115.301	33.6502	7675
+-87.2296	40.931	5764
+-117.5564	46.7397	8235
+-116.03	47.9522	6171
+-124.5246	47.4669	7739
+-80.9205	26.0461	7511
+-117.0557	33.7626	9073
+-77.957	27.9065	5165
+-117.4037	47.3889	7608
+-116.3692	31.9068	8539
+-90.4906	40.3409	7706
+-88.564	39.5561	7681
+-119.4058	46.7249	7900
+-90.947	38.7032	8815
+-84.5913	29.5821	6435
+-112.9238	31.2906	6649
+-116.6762	31.3709	8108
+-83.8828	25.1577	6339
+-117.6467	35.3923	8103
+-108.1734	30.9417	7032
+-111.789	30.5811	7559
+-115.0025	44.6225	5450
+-112.24	32.9552	6929
+-78.0698	28.0458	5284
+-88.4583	39.5586	7663
+-113.0009	32.4711	6427
+-117.2078	46.4589	8060
+-108.491	32.0767	7407
+-117.0927	31.9228	8746
+-119.4778	32.7589	6951
+-87.9743	36.9622	8626
+-87.2858	37.6636	8153
+-88.7077	38.9035	8424
+-120.7125	37.3675	4383
+-121.2136	47.6234	7618
+-93.505	38.0331	5972
+-82.8002	28.4617	8803
+-82.4155	24.3089	5968
+-119.4338	30.9686	6315
+-122.1119	31.618	3860
+-88.3968	42.0516	5271
+-117.4334	32.9946	9196
+-117.5325	34.9244	8627
+-108.0125	30.8419	6834
+-115.1908	35.1291	7026
+-118.1717	47.4742	7800
+-116.926	48.0427	6751
+-112.0638	33.5897	6603
+-78.9587	25.9942	5779
+-82.4829	24.0873	5711
+-87.6762	40.6097	6291
+-87.8599	39.8626	7148
+-88.6869	36.4269	8421
+-90.0735	40.6802	7317
+-115.8509	47.5524	6260
+-82.778	28.6958	8613
+-108.6045	30.6306	7335
+-123.2545	48.358	8029
+-83.6283	36.5738	3918
+-116.0826	31.3935	7884
+-119.6549	31.6793	6497
+-123.9171	46.762	8466
+-81.8263	26.1369	8016
+-88.3005	39.7095	7462
+-107.6506	30.6978	6413
+-81.5956	24.5369	6188
+-82.3829	25.464	7272
+-90.5686	37.163	7702
+-114.9988	45.5688	5737
+-123.6675	45.0824	7371
+-110.7355	30.0531	7759
+-88.6695	36.5245	8529
+-113.3874	31.1769	6135
+-123.2814	46.8942	9180
+-89.7803	37.2419	8582
+-125.3153	46.4687	6897
+-88.4885	38.8992	8396
+-117.7897	34.3362	8926
+-91.3778	36.2514	6526
+-89.2128	37.9436	9225
+-81.991	28.4611	9090
+-82.679	26.6695	8506
+-109.4248	29.5955	7106
+-122.2845	46.6813	8861
+-118.1575	48.2319	6999
+-111.8749	32.9192	7263
+-121.9998	47.2533	8568
+-120.0952	34.3247	6445
+-118.5302	44.1397	7168
+-117.2118	31.3101	8050
+-116.4639	46.9294	7143
+-116.8989	48.0689	6711
+-116.6668	29.1175	5613
+-117.9965	33.3793	8393
+-118.4917	28.4144	4556
+-81.6223	26.9936	8844
+-90.2272	36.8774	7952
+-119.8995	45.5823	7463
+-84.3679	24.289	5216
+-116.0321	31.8564	8258
+-117.1442	48.7418	6214
+-113.5641	28.6032	4711
+-116.2236	41.7799	4192
+-112.9392	34.4019	5315
+-116.7179	47.4602	7064
+-89.5101	41.2627	6557
+-120.4979	31.0349	5341
+-88.4859	35.805	7703
+-81.9387	32.9174	4061
+-79.9143	28.4679	7260
+-87.0726	41.3209	5293
+-110.5446	28.1151	5709
+-87.7582	38.7545	8149
+-114.7375	48.8082	4535
+-82.2611	28.4849	9067
+-82.8672	29.9195	7319
+-117.5145	33.4983	8794
+-116.194	33.6399	8494
+-91.4534	37.6901	7801
+-122.5467	45.0473	7462
+-79.7804	29.5475	6554
+-91.1291	41.9126	5922
+-114.9931	45.9298	5771
+-119.2808	36.1711	6412
+-121.1844	46.143	7515
+-115.2829	48.7407	5027
+-119.8365	32.9378	6446
+-95.7058	38.3658	3673
+-90.3709	40.5101	7527
+-117.2398	30.4736	7122
+-87.0007	37.5755	7830
+-124.0896	45.717	7711
+-88.036	41.0383	5891
+-115.8649	34.9775	7753
+-109.8723	28.3484	5933
+-114.5716	33.634	6930
+-87.9584	40.1638	6868
+-117.1235	35.236	8325
+-122.1795	34.8606	4120
+-121.9238	44.3369	6524
+-83.3613	27.9794	8482
+-92.468	42.0337	5232
+-90.3125	37.6626	8250
+-120.013	45.6797	7375
+-119.7334	34.4554	6824
+-117.033	36.2892	7172
+-116.4224	36.1015	7202
+-117.5431	33.3559	8872
+-121.7096	48.8517	7157
+-117.222	36.635	6809
+-119.2391	32.9364	7215
+-121.2616	42.1573	4027
+-87.3536	41.5092	5219
+-119.0882	45.9455	8393
+-119.6243	48.4311	6412
+-89.5673	39.5676	8179
+-116.3916	32.7865	9111
+-117.3598	36.4121	7050
+-117.3643	45.9593	8276
+-117.3152	45.0089	7716
+-88.6454	34.9095	6718
+-109.1271	33.7042	6830
+-120.0729	45.2224	7150
+-117.178	46.1016	8090
+-90.0997	40.4472	7570
+-117.2199	34.9743	8619
+-118.0259	31.3733	7756
+-86.0564	39.1514	6346
+-82.1941	26.9824	9003
+-120.1879	47.9207	6470
+-123.3521	49.4717	6810
+-81.9232	26.213	8119
+-88.1511	34.9636	6704
+-110.8134	34.7937	5957
+-113.9096	34.313	5871
+-118.7842	43.1165	6057
+-118.6368	34.0779	8042
+-90.2598	37.1762	8051
+-96.1596	38.1278	3162
+-91.9881	37.8444	7438
+-116.133	31.1445	7669
+-118.3353	31.8294	7871
+-119.0047	33.4484	7500
+-87.9855	39.997	7056
+-115.0081	35.4584	6681
+-117.9414	45.211	8252
+-123.7775	43.6861	5875
+-125.239	47.0665	7034
+-115.1869	46.9733	5853
+-122.1564	48.0077	8201
+-88.1837	37.9464	9089
+-112.0152	32.0778	7574
+-111.4747	30.684	7899
+-124.561	48.1189	7385
+-87.486	36.9349	8160
+-117.1051	35.5495	7983
+-88.0998	40.7537	6150
+-118.8211	35.1575	7507
+-80.6478	27.1274	8063
+-117.4455	38.5367	4731
+-116.8016	42.4845	5122
+-125.8196	46.1254	6268
+-122.5395	46.3739	8844
+-113.581	34.2322	5660
+-82.351	27.4326	9441
+-114.5831	36.8669	5359
+-111.6748	33.7089	6750
+-88.5094	40.3634	6759
+-82.9597	27.7091	8955
+-114.1526	43.4844	4082
+-82.8738	29.1941	8073
+-117.0999	35.1646	8398
+-86.24	26.506	5032
+-113.287	33.1059	5873
+-118.6875	34.1702	7987
+-88.8891	41.1187	6406
+-119.8374	31.8434	6372
+-118.7423	34.3228	7915
+-122.5421	47.1154	9180
+-114.5823	28.868	4608
+-111.0234	30.433	8020
+-117.4469	32.1788	8862
+-87.7817	36.6083	8193
+-108.2433	27.5192	4522
+-80.1675	30.7842	5818
+-89.7249	39.4961	8352
+-91.034	40.0481	7859
+-86.2574	38.9295	6661
+-116.2996	33.6921	8378
+-118.5501	33.3009	7869
+-121.4063	34.9866	4927
+-89.5216	39.1894	8382
+-119.631	47.744	7009
+-111.2247	30.9491	8288
+-112.5086	30.8273	6978
+-123.6081	47.5721	8583
+-115.2127	45.0511	5824
+-114.3749	32.3573	6817
+-112.594	30.8395	6895
+-114.6799	31.9975	7044
+-112.1144	31.2316	7507
+-122.6058	40.8523	2881
+-117.1684	37.1107	6288
+-96.1251	37.2691	3033
+-111.6103	31.5807	8090
+-108.2747	32.4602	7049
+-80.4991	30.0489	6717
+-124.7662	44.0635	5815
+-116.7962	47.0506	7391
+-118.023	34.209	8709
+-115.3023	37.1557	5606
+-113.4138	44.8669	3940
+-80.6627	28.6953	7925
+-115.0601	38.232	4460
+-94.162	40.1687	5074
+-116.8834	47.1493	7408
+-81.5477	28.1643	9092
+-119.9139	47.8327	6741
+-117.2068	34.7304	8883
+-83.001	24.8753	6477
+-123.8806	46.9379	8528
+-108.3581	28.4402	5452
+-116.3242	35.888	7365
+-117.5781	30.2374	6796
+-87.5561	40.7722	6073
+-121.2046	47.804	7529
+-85.2715	37.8851	5884
+-83.2521	37.2317	3606
+-89.2287	38.8574	8175
+-118.998	33.7997	7615
+-82.2115	27.871	9745
+-109.2437	32.9865	7549
+-117.3902	44.0471	6890
+-78.2719	28.6309	5416
+-90.924	38.9932	8785
+-114.5531	31.6494	6763
+-119.4229	47.7444	7142
+-116.3551	32.0296	8641
+-120.4064	44.4728	6428
+-90.6142	40.0714	7978
+-115.4722	30.979	7111
+-91.1137	38.6722	8633
+-88.0615	40.5443	6262
+-116.3893	29.9954	6541
+-122.2568	47.0488	8894
+-87.759	39.8744	7090
+-89.6907	39.8421	8030
+-119.9845	45.7732	7426
+-88.8658	32.235	3718
+-85.3698	29.379	5802
+-118.5658	35.5432	7446
+-123.5178	48.7263	7557
+-83.0126	26.5721	8214
+-114.2032	35.4957	5881
+-115.9663	35.4545	7516
+-122.9889	47.4461	9070
+-88.9151	38.343	9037
+-87.9151	33.6875	5248
+-107.4433	30.9691	6272
+-82.6479	27.2954	9103
+-119.1588	46.3962	8282
+-111.4037	32.2314	8118
+-88.9569	39.4635	7705
+-110.7642	30.701	8410
+-84.7848	27.3372	6854
+-110.6265	33.1237	7775
+-117.3873	44.1699	7007
+-117.3449	36.7286	6706
+-114.6458	31.2275	6616
+-121.4744	48.531	7281
+-113.504	34.38	5425
+-91.1097	40.4667	7415
+-119.0869	48.7487	6329
+-83.5921	30.2116	6671
+-118.8724	46.104	8637
+-120.3209	36.3802	5402
+-110.7755	29.3817	7041
+-106.9302	32.8021	5557
+-117.9778	46.4182	8793
+-111.5065	34.2081	6359
+-87.2923	39.416	7246
+-119.8611	47.2446	7196
+-109.2195	28.1354	5548
+-115.5723	30.9258	7132
+-124.4875	48.3724	7277
+-107.637	30.6728	6390
+-114.9663	35.9213	6360
+-118.2616	49.2353	5940
+-114.7505	36.0088	6115
+-116.1559	44.0309	6117
+-79.9794	28.8372	7171
+-124.6404	43.8797	5713
+-81.9445	26.5449	8494
+-109.5047	30.9499	8344
+-83.7997	26.2455	7340
+-123.8604	46.8282	8540
+-90.5079	36.358	7370
+-113.0104	34.284	5353
+-119.9763	47.0471	7206
+-80.3942	30.5592	6170
+-112.3266	28.8725	5828
+-119.0868	31.3934	6905
+-123.4372	48.6348	7681
+-89.2064	37.7552	9311
+-109.1263	32.1151	8045
+-118.2729	31.9313	7993
+-89.4148	37.3357	8999
+-108.633	31.4828	7628
+-118.8275	44.5191	7490
+-115.5396	44.829	6058
+-122.791	45.1987	7660
+-81.5602	28.9208	8435
+-116.6882	35.7579	7657
+-116.6176	32.3434	9097
+-124.0208	43.7961	5912
+-109.359	31.1633	8324
+-85.4496	29.0137	5884
+-121.7894	46.9924	8386
+-116.2683	34.3758	8417
+-123.0771	43.0155	5261
+-113.2401	29.2748	5452
+-88.8062	38.2975	9105
+-118.8146	32.0883	7537
+-118.789	46.078	8724
+-121.9951	45.2537	7478
+-89.704	37.8194	8749
+-80.081	28.7972	7294
+-83.3878	31.0328	5934
+-108.6809	34.0937	6217
+-118.8906	47.89	7259
+-122.3954	47.534	8772
+-119.4938	48.594	6324
+-87.3093	38.4521	7956
+-119.6572	35.2041	6680
+-120.522	49.8709	5482
+-117.3921	30.2099	6807
+-118.0728	29.1699	5502
+-93.502	37.8827	5935
+-119.3204	31.1931	6563
+-82.9389	26.3658	8064
+-117.8614	31.5896	8059
+-118.8396	45.2603	8194
+-86.9457	35.6905	6799
+-124.1076	47.6219	8097
+-114.8939	32.1014	7307
+-93.3565	39.7881	6030
+-115.4525	32.4308	8010
+-92.688	37.8821	6770
+-95.4121	39.1624	3986
+-121.3033	45.3262	7091
+-116.2575	29.1274	5563
+-110.8833	31.5892	8878
+-116.0172	45.5612	6794
+-117.3915	31.165	7851
+-88.711	35.4553	7333
+-88.8331	35.0714	6902
+-112.335	33.0916	6758
+-90.1927	38.0721	8665
+-122.3134	49.9197	6298
+-82.0943	28.0289	9592
+-123.3291	49.1389	7173
+-121.2073	47.9808	7438
+-119.3048	31.8613	6936
+-118.741	39.3642	3610
+-116.1048	42.294	4616
+-88.6348	38.8988	8423
+-125.9246	47.6864	6190
+-110.5493	32.8218	8111
+-121.6418	48.7127	7242
+-83.8138	37.1466	4225
+-91.2062	38.0861	8285
+-113.4481	34.591	5343
+-89.9535	38.4081	8832
+-90.4758	36.2353	7313
+-117.0658	30.6567	7341
+-114.6855	33.3058	7151
+-122.9469	46.8323	9450
+-79.7672	27.8187	7215
+-92.118	40.1492	7022
+-82.7306	27.4395	9122
+-109.2932	30.9645	8162
+-123.7315	44.445	6689
+-117.4349	45.995	8355
+-115.4738	34.7534	7469
+-124.7258	46.6262	7566
+-78.7256	28.2158	6004
+-113.7094	32.0239	6014
+-81.1709	27.6081	8789
+-122.0306	48.0222	8104
+-83.68	30.6656	6175
+-111.3483	33.1563	7445
+-91.9125	38.0502	7612
+-86.7834	38.3575	7457
+-117.3159	31.2296	7940
+-120.6975	49.2075	6154
+-88.1707	38.8623	8315
+-84.7454	26.8343	6755
+-119.0956	45.0662	7868
+-118.9111	35.0045	7508
+-122.2656	31.8062	3736
+-79.8325	27.3521	7248
+-87.5796	36.5061	7952
+-116.8791	37.5617	5774
+-87.7239	39.6006	7348
+-110.5751	34.079	6757
+-119.4379	31.0452	6361
+-119.1519	32.3528	7261
+-115.8687	29.9533	6332
+-120.6815	48.3076	6758
+-92.1528	41.547	5857
+-119.9707	44.3966	6721
+-80.9348	28.5902	8247
+-118.0596	37.4732	5793
+-106.9113	31.9593	5744
+-88.6694	40.8804	6477
+-114.3778	34.3635	6377
+-120.2474	47.0093	6968
+-116.5998	35.3784	7997
+-111.4941	32.5967	7804
+-116.6893	31.8983	8683
+-90.2723	36.7118	7814
+-92.3815	41.6454	5633
+-116.1128	31.8307	8298
+-114.5955	29.3561	5074
+-115.9362	42.2514	4486
+-81.6157	28.9289	8453
+-91.1445	34.7558	5597
+-89.6456	40.8984	6976
+-122.1785	45.1101	7418
+-89.5845	40.608	7245
+-122.0762	44.7218	6979
+-90.6116	37.6754	8240
+-83.496	28.9933	7818
+-86.5863	37.642	7368
+-115.665	44.3907	5949
+-85.522	24.0394	4193
+-119.8212	44.8309	7149
+-118.2484	37.7259	5475
+-119.5289	36.2114	6187
+-84.0127	25.8726	6874
+-90.8942	35.2036	6162
+-105.8605	31.942	4612
+-87.1647	27.4589	4189
+-116.7562	35.3284	8120
+-110.2004	33.0287	7901
+-115.5021	35.2569	7256
+-115.5992	49.156	4953
+-119.6177	32.8229	6796
+-94.3371	37.4258	4930
+-119.7528	47.50	7111
+-90.7567	36.5222	6990
+-113.9317	30.6463	5445
+-90.0638	38.9803	9000
+-85.0487	29.2066	6214
+-115.1563	30.9916	6886
+-117.2435	34.1618	9498
+-119.5127	34.3647	7075
+-123.6518	45.4264	7723
+-89.629	39.5528	8237
+-123.5001	48.2423	8057
+-81.3189	28.2806	8803
+-121.7529	47.1604	8328
+-81.2984	27.4394	8878
+-112.5649	30.9067	6947
+-80.3229	29.1432	7319
+-81.5841	25.5892	7352
+-88.1975	38.512	8671
+-92.9017	39.6026	6559
+-114.4601	31.6234	6656
+-113.0711	32.3073	6405
+-117.3569	34.7367	8872
+-116.8563	36.113	7332
+-117.561	34.9155	8626
+-82.3283	29.6713	7726
+-116.5986	30.2264	6835
+-118.5588	45.7723	8807
+-114.7024	32.4377	7192
+-79.8282	25.3058	6078
+-117.6701	31.9407	8500
+-115.2833	33.9029	7360
+-112.1933	31.8791	7433
+-122.4904	46.1816	8633
+-117.3799	46.0717	8303
+-109.9049	26.6288	4086
+-115.0711	35.252	6850
+-96.1689	40.1275	3014
+-121.7516	48.3506	7630
+-111.5767	30.1022	7378
+-93.4286	37.0022	5640
+-83.1698	27.9418	8703
+-94.0008	35.716	4335
+-88.6099	41.8083	5614
+-118.5967	32.8062	7935
+-90.6866	37.5824	8124
+-117.1296	35.3428	8210
+-89.0007	38.866	8443
+-89.4075	38.6045	8361
+-122.3678	44.3884	6714
+-107.9991	31.8995	6921
+-92.7926	41.4179	5550
+-114.2923	34.7292	6229
+-122.68	47.5285	8943
+-90.502	37.8116	8405
+-117.114	39.324	3873
+-88.0063	37.9766	8893
+-90.0761	37.2878	8285
+-123.0735	46.6912	9249
+-117.7187	28.9715	5383
+-87.3841	37.2528	8195
+-116.8913	34.6694	8824
+-112.1485	30.9093	7376
+-120.0937	36.8083	5292
+-90.4706	38.5025	9142
+-91.3867	39.9303	7755
+-115.1876	29.3613	5418
+-123.0701	45.4639	7945
+-91.38	39.3934	8146
+-113.5338	28.513	4668
+-122.6284	47.4069	9038
+-89.7526	36.9184	8426
+-114.8601	33.2707	7349
+-121.8623	49.9372	6149
+-87.8632	37.922	8761
+-121.5836	41.9952	3956
+-91.1371	34.8107	5649
+-120.6454	44.1226	5998
+-78.0181	27.352	5213
+-113.6879	33.9963	5866
+-116.6074	34.3916	8766
+-117.1042	45.7374	7954
+-112.3639	31.6552	7272
+-116.5848	33.5156	8864
+-115.2518	35.0883	7106
+-82.2231	28.7568	8768
+-81.5339	28.7309	8608
+-123.1602	45.6811	8165
+-116.7736	33.5038	8957
+-88.4985	37.3162	9320
+-114.9374	33.1932	7451
+-118.3906	47.3995	7880
+-82.0942	26.4742	8430
+-114.977	46.7407	5694
+-78.7713	24.8215	4836
+-115.5468	36.2142	6593
+-121.689	44.5221	6609
+-86.9843	41.1587	5413
+-115.6873	33.1094	8289
+-111.8302	29.7431	6903
+-108.4237	32.2071	7297
+-121.9378	47.3205	8480
+-120.1384	44.8202	6874
+-119.7246	43.1201	5755
+-91.8057	37.3325	7260
+-82.1107	30.6026	6684
+-111.7982	35.7691	4669
+-110.4776	30.1277	7889
+-113.2755	35.223	5025
+-89.6273	40.7313	7139
+-122.7367	45.0261	7467
+-120.3066	31.0304	5528
+-117.5228	35.0187	8532
+-120.107	45.6275	7265
+-120.3113	45.7625	7083
+-123.1967	48.3695	8031
+-124.8187	47.3343	7460
+-90.7391	36.0391	6945
+-82.7281	26.2314	8030
+-88.151	36.0184	7841
+-119.8848	44.5447	6896
+-115.2078	31.6564	7403
+-116.1007	34.0149	8260
+-107.7073	29.7386	5997
+-125.2938	46.9911	6976
+-111.2428	32.9084	7732
+-119.175	43.8605	6708
+-121.572	33.8738	4833
+-114.3456	43.4843	4254
+-86.1791	33.8588	4648
+-119.1295	34.0406	7503
+-81.3847	25.7154	7422
+-124.7252	47.2841	7571
+-114.7193	36.6746	5613
+-118.7971	34.2803	7861
+-123.0825	32.7066	3006
+-110.1607	30.3449	8119
+-116.245	30.296	6828
+-81.4366	24.737	6375
+-90.344	35.7264	7009
+-86.1047	40.1255	5747
+-83.3017	27.924	8559
+-87.492	36.2817	7703
+-85.3218	38.3925	5863
+-85.2889	28.7767	6144
+-110.9872	31.6951	8755
+-88.0921	38.6945	8434
+-115.4059	30.671	6793
+-116.9468	32.8146	9731
+-86.4045	34.0815	4996
+-117.1314	33.0826	9404
+-126.1693	45.5112	5675
+-90.9897	39.9647	7961
+-122.3153	47.3027	8865
+-87.9911	38.5437	8500
+-119.6717	46.2021	7786
+-115.1809	34.7712	7159
+-80.1235	27.984	7605
+-116.7577	42.7009	5315
+-114.2312	36.2608	5494
+-89.9109	38.1325	8586
+-112.6141	32.5616	6785
+-116.6244	33.4805	8920
+-115.1112	41.0834	2974
+-108.2284	31.3819	7183
+-108.1651	31.5156	7123
+-117.8034	30.9875	7509
+-89.1825	38.014	9206
+-81.917	27.3492	9361
+-109.4621	32.2756	8268
+-117.6284	48.0425	7089
+-90.562	38.7322	9231
+-119.8215	46.0414	7630
+-92.4493	42.1647	5123
+-120.1391	47.7902	6602
+-90.7016	41.6313	6300
+-115.5214	34.3419	7621
+-87.8168	37.3994	8708
+-84.5516	30.6528	5632
+-89.827	36.5297	8071
+-115.7702	34.4005	7880
+-83.0228	29.8871	7291
+-117.0501	45.7949	7915
+-79.1172	25.9422	5904
+-120.8461	45.2591	6672
+-114.425	36.4793	5518
+-80.2946	27.2417	7729
+-118.0222	44.5786	7626
+-117.2686	30.4184	7057
+-116.2809	33.8489	8419
+-82.9303	28.7184	8488
+-84.755	25.9235	6267
+-118.902	43.4048	6332
+-127.4557	47.8633	4505
+-87.2518	35.1245	6494
+-114.4147	31.6428	6620
+-122.8825	44.4446	6835
+-106.1163	36.3119	2609
+-89.4432	36.8193	8598
+-118.6561	30.4093	6472
+-91.8146	36.8045	6821
+-114.842	35.3365	6585
+-117.852	43.6763	6653
+-113.6468	30.496	5695
+-85.3406	44.0925	1640
+-119.0888	28.888	4772
+-121.8266	47.8959	8046
+-78.2323	32.1894	3220
+-94.2846	35.6193	4033
+-89.5025	38.1265	8841
+-93.5008	38.7468	6064
+-116.511	35.4148	7915
+-126.1991	45.719	5731
+-119.1718	45.1198	7859
+-108.8265	32.7722	7394
+-83.2955	29.5146	7518
+-87.5668	40.1943	6674
+-86.6987	38.0555	7453
+-124.6553	45.526	7111
+-118.8721	40.6369	3441
+-123.5323	44.9208	7254
+-114.7513	32.4038	7239
+-83.1031	25.2603	6852
+-83.221	29.5742	7506
+-79.3866	26.9211	6641
+-115.6572	32.7377	8290
+-121.1494	47.502	7595
+-81.8708	30.0076	7340
+-81.117	28.6035	8403
+-110.5755	30.5328	8306
+-115.5729	32.2274	8065
+-119.9104	35.3418	6367
+-115.5962	46.4085	6396
+-117.6678	44.615	7558
+-115.3233	33.2052	7869
+-88.4844	36.9564	8958
+-116.5207	33.0026	9214
+-112.1184	31.2808	7512
+-117.6902	30.1584	6680
+-117.8804	47.3257	7894
+-91.4818	37.1212	7307
+-91.2511	38.613	8477
+-118.448	30.8402	6998
+-117.6463	34.8603	8643
+-116.6443	36.1259	7261
+-88.882	36.4119	8401
+-109.1364	28.1479	5532
+-90.0731	40.5885	7415
+-123.5776	46.4009	8636
+-114.2604	36.2058	5555
+-114.8788	33.5539	7283
+-89.517	38.7101	8490
+-119.5669	47.5104	7241
+-111.3831	30.7411	8015
+-89.401	36.0305	7846
+-81.84	27.7692	9561
+-125.8453	48.7303	5835
+-87.7987	40.4162	6542
+-122.4255	46.8092	9057
+-114.2429	34.1653	6239
+-121.3953	33.091	4893
+-119.0676	32.4587	7376
+-91.1493	34.9712	5777
+-111.1399	32.408	8224
+-117.6557	47.2421	7880
+-94.0189	36.3014	4700
+-88.4827	36.3817	8339
+-117.472	31.3192	7990
+-116.4379	31.1143	7765
+-115.3022	32.6302	7885
+-116.2927	46.9904	6951
+-121.2392	47.9569	7482
+-91.1111	40.4731	7408
+-119.2557	47.9472	7050
+-79.9623	30.9532	5530
+-119.4711	48.4433	6478
+-119.1858	32.4603	7246
+-92.1627	36.5038	6336
+-80.5732	27.2484	8033
+-110.3082	32.2961	8701
+-117.9159	45.7755	8741
+-121.1558	49.5387	6192
+-81.8104	27.4071	9346
+-119.2714	46.8233	7964
+-122.2818	45.6185	7977
+-75.6472	26.6597	2448
+-87.7045	36.5275	8067
+-82.3102	25.5292	7353
+-117.6552	44.3887	7330
+-121.9984	47.0947	8606
+-90.4067	38.8138	9351
+-118.7002	33.1075	7792
+-122.5838	46.8405	9232
+-117.1304	43.5478	6295
+-123.3209	46.008	8456
+-118.2506	33.9839	8452
+-79.009	29.294	5958
+-112.2172	31.6175	7432
+-117.5136	33.8865	9157
+-107.8622	32.5831	6585
+-117.6468	31.952	8526
+-125.2039	46.3129	6975
+-88.8273	38.8089	8530
+-117.7952	47.9273	7257
+-89.3972	40.6693	7099
+-123.3784	44.3797	6716
+-89.7435	36.5092	8116
+-122.2151	46.2476	8515
+-118.8138	49.2758	5850
+-118.0827	36.0608	7255
+-88.5494	40.4324	6742
+-87.958	36.9787	8624
+-117.0284	34.0528	9264
+-77.5693	28.4848	4665
+-87.9018	40.554	6431
+-87.4034	39.9255	6853
+-115.7453	34.8145	7720
+-90.7005	40.9596	7018
+-86.6519	37.0333	7337
+-78.3311	28.1972	5563
+-114.9276	32.586	7464
+-92.3966	39.2617	7185
+-78.5046	27.154	5729
+-116.6425	32.1936	8970
+-116.6791	30.6861	7355
+-94.1053	39.1371	5391
+-88.7947	36.2558	8232
+-122.9574	48.9829	7390
+-113.5163	36.9487	4423
+-116.4132	46.4981	7236
+-117.8825	33.773	8760
+-78.2471	27.6142	5492
+-117.2013	46.5734	8010
+-123.4637	46.0142	8390
+-94.6303	36.7879	4382
+-88.9458	41.1856	6376
+-90.4557	35.8585	7038
+-116.6297	38.7023	4506
+-117.4489	47.8239	7232
+-120.3298	36.2243	5492
+-88.5197	38.3541	8995
+-116.9559	33.4099	9091
+-93.1064	37.8526	6334
+-115.063	32.0812	7477
+-119.0326	44.9154	7776
+-93.5425	40.4397	5563
+-85.1481	25.4352	5581
+-115.9886	33.6459	8323
+-85.4428	24.6018	4712
+-114.6718	36.6522	5593
+-119.7696	44.0073	6542
+-108.6261	36.1031	4239
+-126.2474	44.8975	5283
+-113.7487	31.7719	5979
+-89.2623	42.5895	5113
+-119.1482	28.2886	4147
+-114.6819	38.2711	4216
+-81.9729	25.9554	7835
+-118.8164	47.9505	7221
+-111.222	31.201	8425
+-90.8437	40.4539	7522
+-112.093	35.1687	5146
+-88.9838	38.8437	8471
+-118.5266	29.0564	5212
+-90.2412	40.1797	7876
+-118.5688	45.3353	8396
+-115.7571	33.7129	8074
+-82.2554	27.9439	9649
+-91.9892	37.1178	6956
+-116.6603	35.3827	8023
+-121.0811	42.8319	4704
+-117.7977	32.9525	8814
+-116.2219	34.3495	8374
+-118.8114	33.3196	7633
+-113.1084	33.9618	5514
+-121.9728	46.4153	8421
+-110.9617	33.375	7416
+-121.8593	33.2043	4427
+-119.2941	47.0765	7772
+-90.0584	36.5582	7905
+-114.6983	32.1213	7107
+-117.1362	36.1163	7370
+-90.4964	38.0385	8648
+-89.1558	35.5933	7448
+-117.1899	34.9888	8601
+-88.1775	36.6844	8530
+-81.0648	29.7082	7385
+-86.3312	33.4668	4366
+-93.4414	39.9177	5896
+-126.1407	47.4785	6002
+-120.6951	46.5582	7143
+-92.7957	39.4909	6704
+-87.3284	36.9828	8028
+-119.9967	32.6109	6365
+-117.5982	29.9435	6472
+-88.1281	38.3311	8780
+-111.9156	31.4105	7749
+-116.8433	45.8148	7706
+-119.1898	47.7244	7290
+-116.3813	36.5756	6704
+-113.663	33.1829	6045
+-115.3702	40.3207	2479
+-123.0082	48.0529	8407
+-117.3188	33.7651	9132
+-112.6908	35.2697	4733
+-115.808	31.9226	8121
+-112.4921	30.2079	6700
+-89.9334	36.7881	8176
+-82.2171	31.4963	5672
+-82.0706	29.4455	7992
+-117.6084	46.4246	8467
+-126.0659	49.818	4925
+-118.5659	31.058	7101
+-119.9973	48.5893	6060
+-111.8877	31.3598	7772
+-121.0108	43.0754	4947
+-123.5497	47.9534	8308
+-114.6144	35.7378	6157
+-120.3117	43.9791	6152
+-82.5281	25.3892	7166
+-113.619	32.8356	6019
+-88.5784	37.6046	9593
+-113.9117	30.3593	5376
+-112.8308	35.7672	4381
+-112.5172	33.9754	5964
+-116.6761	33.1336	9273
+-116.168	31.1678	7709
+-84.5902	27.3541	7074
+-88.4967	38.5684	8758
+-109.7246	31.3936	8783
+-110.2241	32.4416	8536
+-87.7411	39.5784	7379
+-118.0902	31.5821	7891
+-117.767	33.7253	8834
+-94.2435	37.8786	5159
+-111.8589	32.6861	7434
+-124.6809	46.6364	7616
+-110.689	31.651	9081
+-82.2972	30.7607	6500
+-118.0722	33.7377	8559
+-87.6157	36.6081	8060
+-113.265	31.7446	6292
+-113.7208	38.6024	3315
+-91.4913	35.9384	6167
+-116.7982	33.0529	9429
+-117.2479	28.3919	4808
+-90.7552	36.1456	7005
+-122.0246	48.5471	7621
+-91.2054	36.516	6859
+-115.7857	37.0034	6015
+-81.9136	27.6883	9629
+-114.3342	46.6322	5040
+-117.9253	38.4256	4801
+-116.6271	34.1091	8840
+-80.1472	26.9773	7474
+-122.5651	38.6914	1914
+-91.349	40.464	7304
+-115.4625	37.7538	5125
+-117.1551	31.5841	8362
+-80.6611	28.8545	7821
+-107.4727	33.9262	5467
+-118.6759	47.4136	7809
+-91.7391	38.1302	7818
+-117.3441	34.8508	8751
+-91.3413	40.9536	6834
+-116.286	32.38	8851
+-90.1793	33.9606	5364
+-81.2373	26.0676	7719
+-116.7664	47.664	6953
+-83.5038	30.8656	6059
+-82.5711	26.6922	8580
+-114.3079	31.3424	6362
+-94.0913	38.8769	5425
+-83.3217	27.7894	8548
+-81.4719	26.3821	8157
+-117.3253	34.4767	9158
+-116.1289	31.9247	8388
+-84.7055	36.0688	4916
+-117.1583	35.868	7642
+-85.2126	42.8822	2730
+-90.6441	38.4676	9010
+-113.1067	31.6483	6468
+-113.7748	46.0573	4485
+-116.6645	30.835	7517
+-109.6118	29.4325	7016
+-124.4608	46.1665	7679
+-81.2817	27.3563	8823
+-88.5884	36.6084	8611
+-116.1738	34.0124	8339
+-86.4057	37.3732	7145
+-118.1414	34.8945	8273
+-106.8622	30.619	5570
+-92.5643	36.5773	6106
+-88.0284	41.836	5240
+-109.7212	30.8539	8442
+-118.4142	44.5503	7613
+-111.1499	30.1901	7724
+-84.113	27.7415	7653
+-119.1801	41.7104	4515
+-120.2489	44.4195	6522
+-115.5022	33.4622	7968
+-87.9051	41.8415	5154
+-85.0473	27.2065	6535
+-85.6067	36.4559	6017
+-121.7671	46.2927	8158
+-114.3131	35.0224	6173
+-110.9395	33.9487	6828
+-117.8207	34.3211	8900
+-113.0264	29.3732	5699
+-114.8598	30.6991	6421
+-109.638	34.0115	6737
+-89.8876	41.7077	6192
+-88.9511	38.6644	8675
+-87.091	37.0958	7828
+-111.0898	30.8214	8310
+-82.3891	25.9506	7818
+-116.2991	33.1376	8927
+-121.0797	30.4739	4473
+-117.7976	49.447	5679
+-119.9441	43.3672	5874
+-88.7225	37.5156	9639
+-88.593	38.0816	9310
+-115.821	34.1489	7961
+-117.8833	49.3827	5758
+-109.2431	30.5598	7853
+-81.9806	28.574	8963
+-118.1308	30.4354	6796
+-80.874	26.4043	7794
+-113.6339	29.1178	5010
+-121.631	46.2314	7995
+-122.1041	46.9269	8731
+-124.5609	35.9896	1328
+-118.101	32.765	8486
+-92.5479	35.4114	5136
+-82.5009	28.8167	8634
+-117.236	45.8194	8112
+-82.7465	29.7832	7508
+-125.1854	44.2925	5742
+-91.6341	35.3837	5554
+-123.6157	44.711	7006
+-87.3139	38.7053	7810
+-121.9954	46.8479	8604
+-125.2009	48.5012	6568
+-122.9151	44.7621	7184
+-84.8882	34.6072	4270
+-89.3565	39.7319	7893
+-85.9937	37.9635	6685
+-118.7533	34.4823	7872
+-112.0832	34.2297	6036
+-116.172	29.0569	5467
+-81.7563	27.0986	9025
+-117.8587	47.9759	7224
+-115.3782	31.7759	7635
+-82.5453	30.5083	6756
+-87.903	35.8626	7571
+-90.9054	37.6961	8157
+-88.8227	40.2988	7055
+-123.2323	47.324	9070
+-111.9071	30.8352	7586
+-91.5562	39.3188	8019
+-122.4713	49.2335	7072
+-116.9084	47.5987	7107
+-117.2018	43.8954	6660
+-119.0808	46.0598	8415
+-89.6797	41.6701	6187
+-86.9769	40.3119	6229
+-83.4828	31.7632	5120
+-80.9205	29.4665	7530
+-117.6341	32.5089	8933
+-91.3677	33.7708	4557
+-115.0701	33.433	7529
+-117.9308	34.5766	8667
+-88.0771	38.2233	8820
+-116.5217	35.2832	8043
+-90.1871	35.1827	6604
+-81.161	24.9127	6481
+-89.6994	38.3227	8555
+-114.7402	34.0831	6781
+-115.7811	33.961	7907
+-80.3561	26.8896	7650
+-117.4188	46.2056	8338
+-87.6829	40.1865	6735
+-124.2297	47.5746	8000
+-119.4232	49.2989	5664
+-80.9745	25.4841	6996
+-90.8153	37.7704	8270
+-117.877	34.8148	8540
+-88.3575	41.8994	5388
+-91.9657	37.7389	7400
+-85.0497	29.4713	6071
+-107.3154	31.1783	6175
+-109.333	32.7855	7779
+-110.1852	28.3813	6001
+-91.3614	41.7491	6024
+-110.7089	31.6108	9065
+-116.6668	35.7244	7683
+-117.6201	34.5385	8951
+-114.0038	34.6319	5937
+-81.6723	28.6601	8755
+-116.5233	44.9026	7006
+-82.9991	29.3141	7886
+-90.5919	39.5213	8563
+-92.3989	41.0406	6136
+-123.3587	46.4936	8882
+-80.8417	28.4145	8258
+-78.4187	29.3966	5303
+-89.7237	37.8821	8714
+-117.5878	37.2793	6088
+-115.7182	32.9847	8348
+-113.8674	46.3258	4578
+-110.7445	31.6209	9026
+-120.7727	36.5587	4887
+-115.4862	34.866	7438
+-116.9768	33.1615	9368
+-116.7515	34.7202	8686
+-114.6973	35.0957	6545
+-111.9704	32.0349	7634
+-118.4912	45.5833	8671
+-112.2768	29.5362	6415
+-112.7693	34.1356	5651
+-87.2121	30.3666	3437
+-117.8654	32.8868	8747
+-118.6179	35.709	7274
+-118.6302	34.6391	7951
+-90.173	36.811	7968
+-116.8019	34.8387	8616
+-121.8075	32.3595	4329
+-123.8194	47.4159	8482
+-90.6001	40.5152	7507
+-111.4605	32.9634	7543
+-87.6505	37.0045	8359
+-108.8759	27.5022	4778
+-89.1793	38.7389	8525
+-110.9739	28.3954	5951
+-116.2731	34.3287	8433
+-115.606	34.3931	7704
+-119.919	30.1346	5304
+-82.5496	28.9291	8495
+-80.3663	30.791	5930
+-116.0673	33.9133	8208
+-123.3519	46.0782	8511
+-81.3256	25.9483	7641
+-107.2057	29.641	5485
+-85.1645	38.7573	5590
+-114.5036	45.2552	5159
+-109.6018	34.7223	5981
+-120.9221	33.491	5489
+-123.0999	45.5583	8043
+-116.8853	48.3301	6473
+-92.9356	40.3878	6156
+-114.2527	34.8217	6166
+-111.9128	32.7909	7319
+-124.1402	45.873	7790
+-118.3467	31.5439	7659
+-88.3475	35.2019	7009
+-82.8822	29.7204	7525
+-89.8556	39.6639	8287
+-81.0303	27.4281	8587
+-116.4724	37.3412	5933
+-89.2924	38.6623	8245
+-118.0129	35.9164	7429
+-82.2552	27.3214	9370
+-122.8441	49.6104	6701
+-115.7512	32.9876	8384
+-119.2035	33.9077	7411
+-91.6312	37.7037	7669
+-84.155	27.997	7590
+-123.2794	47.0222	9185
+-118.6239	42.3063	5227
+-92.469	37.8129	6960
+-91.4008	35.407	5920
+-80.1717	27.4858	7651
+-82.2566	25.6603	7505
+-114.5944	33.6837	6936
+-117.2933	29.8971	6476
+-117.1002	33.7717	9104
+-114.6741	34.4021	6695
+-89.3152	36.2485	8109
+-91.8972	36.1423	6174
+-112.3431	34.4713	5661
+-86.752	41.4618	4991
+-108.2744	34.8525	5288
+-92.3648	39.3472	7194
+-79.2521	26.3382	6254
+-110.43	31.519	9348
+-117.9903	32.0372	8318
+-117.4736	33.6009	8915
+-108.9623	28.7422	6056
+-106.9782	34.9895	4293
+-89.1226	37.1522	9113
+-91.3959	38.8092	8331
+-81.4037	26.8176	8538
+-82.3803	29.3644	8063
+-113.1203	31.151	6418
+-82.5432	28.3049	9127
+-80.5868	25.4826	6772
+-109.9301	33.5005	7351
+-119.1841	44.627	7432
+-88.8214	36.5663	8579
+-118.0491	44.6403	7695
+-110.1783	31.3213	9144
+-114.1014	30.7426	5808
+-84.2087	26.8793	7339
+-87.9972	37.7067	8950
+-113.3587	46.0803	4045
+-110.1494	31.6373	9266
+-118.1401	33.8079	8521
+-117.1327	33.5424	8877
+-89.1982	37.8793	9275
+-111.8275	34.3154	6100
+-120.1559	33.1167	6197
+-116.9127	44.4815	7014
+-89.2908	35.5681	7388
+-89.4902	38.5324	8434
+-88.8798	40.2178	7160
+-116.2767	27.8669	4179
+-111.5342	32.4938	7841
+-85.0161	34.0874	3996
+-88.118	37.151	8885
+-118.2663	32.3813	8224
+-108.7113	31.4113	7706
+-112.0314	32.4022	7431
+-116.5741	32.1752	8914
+-123.5771	48.9572	7296
+-80.238	27.0291	7592
+-83.0119	29.9092	7273
+-116.3588	29.5384	6034
+-110.5652	29.4531	7152
+-122.3093	45.6467	8017
+-114.9343	34.2798	6989
+-117.0736	36.5321	6913
+-81.9933	27.907	9668
+-123.3588	48.2754	8083
+-89.6173	38.6734	8595
+-88.9185	34.3601	6100
+-123.3765	43.3698	5620
+-89.8232	41.0981	6823
+-119.5826	45.335	7664
+-81.4802	26.0674	7833
+-117.2407	34.151	9504
+-118.7072	37.44	5603
+-122.7422	47.5737	8917
+-80.4431	28.1213	7939
+-116.0794	33.3778	8582
+-90.3326	37.327	7890
+-91.2564	36.7992	7121
+-121.0871	47.7836	7421
+-122.2837	47.3032	8835
+-117.9964	35.7691	7584
+-114.3005	31.6464	6505
+-121.2853	45.3627	7106
+-84.6405	27.169	6977
+-121.4273	48.5405	7238
+-117.457	34.5959	8992
+-112.5599	31.9956	7020
+-91.0182	36.5778	6985
+-91.5425	37.4283	7530
+-83.9726	24.1906	5343
+-119.0689	32.4684	7376
+-92.4437	39.3453	7113
+-86.2324	36.9934	6872
+-113.863	35.623	5485
+-85.7728	30.343	4848
+-118.1122	35.9393	7363
+-116.4646	33.5595	8753
+-113.1667	34.0481	5405
+-125.1661	49.0578	6219
+-107.7343	30.1725	6270
+-117.8568	33.8929	8843
+-117.962	45.0291	8076
+-81.5693	24.3253	5947
+-83.0851	28.0987	8752
+-117.0654	33.64	8957
+-118.2126	32.1875	8196
+-114.9233	44.7489	5425
+-87.4222	38.6081	7972
+-117.2641	44.9219	7611
+-115.1257	30.9244	6808
+-89.6217	36.9667	8575
+-86.0701	35.6144	6012
+-122.838	45.426	7912
+-119.3942	46.2482	8074
+-107.8807	30.972	6735
+-116.8923	34.2206	9119
+-115.476	44.2385	5693
+-119.7202	46.0323	7737
+-107.2433	33.4043	5588
+-116.715	35.4285	8002
+-81.4179	27.0021	8708
+-89.8573	36.6985	8179
+-123.0672	44.5833	6981
+-126.0038	45.7354	5938
+-89.2987	39.4488	8034
+-118.6209	44.8041	7842
+-91.527	39.4029	8005
+-81.7889	27.4595	9370
+-119.5978	45.8277	7839
+-83.2371	29.1708	7872
+-117.7305	42.9189	5841
+-116.9172	46.7162	7673
+-111.4979	28.2429	5641
+-116.9901	35.1914	8345
+-90.0592	38.7901	9072
+-118.3246	44.5712	7641
+-80.8217	29.2641	7640
+-87.7996	38.7923	8149
+-91.4853	37.0383	7230
+-121.3745	35.3612	4861
+-93.7484	35.8603	4644
+-107.8755	34.1008	5662
+-91.7543	40.9945	6589
+-116.5833	30.9912	7672
+-81.7059	25.4256	7200
+-79.6472	28.9874	6759
+-118.921	47.6413	7494
+-107.5061	29.4804	5656
+-123.9046	43.5358	5679
+-121.2899	47.8507	7588
+-116.5499	33.4022	8951
+-118.3519	34.9408	8062
+-106.5456	34.1139	4538
+-108.3478	35.6407	4579
+-116.7726	32.4335	9274
+-114.9423	33.0488	7480
+-126.006	46.477	6152
+-80.8444	29.4347	7508
+-125.0179	45.0424	6462
+-81.4056	30.7419	6427
+-118.4798	44.7142	7778
+-118.9534	36.1279	6688
+-120.0195	48.481	6140
+-87.8225	40.9951	5754
+-92.074	36.5687	6450
+-83.1364	27.4431	8700
+-122.3938	45.0569	7436
+-116.1315	35.7741	7361
+-88.6253	39.9561	7126
+-121.089	43.4393	5165
+-122.3599	47.8728	8447
+-124.5983	46.8464	7736
+-91.877	38.8496	7811
+-79.2865	26.1713	6200
+-89.5618	39.0549	8480
+-124.1549	29.5458	944
+-80.4058	27.2797	7862
+-111.0542	33.4383	7317
+-121.3539	43.6371	5573
+-88.7012	39.6715	7357
+-90.0076	38.9908	8943
+-91.1179	38.8293	8628
+-86.6554	39.9087	6358
+-81.3539	31.0498	6075
+-126.7355	49.6812	4444
+-111.3979	29.8839	7301
+-90.4596	36.8369	7699
+-115.2013	31.7889	7474
+-118.0636	34.9306	8308
+-90.4239	39.4691	8648
+-118.1366	37.6528	5583
+-118.1044	45.6224	8720
+-115.5364	35.2836	7271
+-126.6035	42.0801	2870
+-117.9069	48.8555	6315
+-121.3634	44.2387	6166
+-120.6864	48.6591	6545
+-121.2465	47.3082	7751
+-111.5596	30.8364	7918
+-87.2233	38.4128	7891
+-113.66	34.6777	5559
+-117.4303	34.1779	9353
+-119.4348	46.5695	7944
+-117.6244	35.0032	8512
+-123.2439	47.2146	9140
+-112.2452	31.7249	7396
+-88.1412	39.8314	7285
+-119.6779	46.7258	7642
+-117.6598	31.2275	7819
+-118.0407	32.2389	8392
+-120.8154	35.0894	5529
+-118.2007	33.3698	8222
+-83.1926	26.1231	7680
+-119.0433	48.4373	6658
+-114.8385	33.7548	7159
+-125.0842	45.4553	6688
+-92.8895	41.0752	5740
+-90.0373	38.6704	9042
+-111.9055	31.8486	7746
+-118.001	35.2712	8061
+-116.8424	34.2666	9053
+-113.3094	33.6497	5548
+-116.9913	37.0134	6382
+-112.95	34.3737	5329
+-117.0374	46.6499	7818
+-116.2402	48.5093	5915
+-118.395	49.934	5198
+-107.7209	32.6735	6407
+-117.4402	46.4268	8303
+-124.6554	46.1299	7470
+-110.0102	28.3613	5965
+-89.29	36.5349	8416
+-111.8867	30.0304	7094
+-85.0912	29.1052	6219
+-116.6638	46.8173	7385
+-113.0477	33.1532	6076
+-126.5407	47.0734	5605
+-110.4597	33.7707	7100
+-116.5383	33.6085	8559
+-88.8202	36.695	8723
+-79.7745	28.7233	7013
+-81.0112	27.1938	8467
+-117.6943	36.4578	6960
+-118.1477	32.6087	8415
+-116.8505	49.544	5310
+-90.7832	38.5183	8926
+-85.7971	29.2938	5402
+-124.6428	49.6977	6047
+-86.9458	41.3672	5185
+-120.4715	45.4908	6855
+-94.21	42.6856	3508
+-115.1557	35.1852	6965
+-122.2357	48.2945	7975
+-117.7477	43.3332	6276
+-86.5861	36.2971	6925
+-79.9203	30.019	6320
+-117.3994	37.8278	5505
+-89.0185	40.6953	6863
+-117.7351	33.9903	9004
+-90.9524	37.4951	7939
+-90.4838	38.9772	9157
+-118.2903	46.2955	9053
+-88.5127	38.9826	8310
+-121.6306	46.3514	8056
+-117.6796	32.0479	8583
+-92.1406	37.6742	7203
+-118.7147	44.2864	7286
+-120.5932	45.4258	6712
+-89.445	40.0907	7661
+-115.5969	35.7295	7018
+-91.3032	40.0012	7751
+-110.3419	28.7173	6368
+-120.1946	35.2266	6129
+-117.5239	31.1264	7768
+-85.7829	38.9506	6169
+-116.7585	32.3043	9136
+-116.9966	32.85	9703
+-88.112	41.1064	5897
+-90.4376	38.2488	8881
+-89.4704	35.8396	7618
+-116.4129	35.6574	7632
+-114.7481	38.5605	3982
+-110.3339	33.6825	7199
+-116.6669	46.6722	7445
+-91.6886	38.3667	7958
+-115.8939	36.8321	6235
+-90.0343	37.461	8374
+-84.5837	40.2195	4314
+-89.7593	39.0197	8692
+-84.3677	26.4902	6981
+-90.8022	37.6024	8108
+-112.9623	31.8576	6610
+-92.7741	38.7688	6847
+-85.502	38.26	6090
+-107.6608	32.6199	6368
+-115.6651	32.6866	8294
+-89.5696	42.2875	5512
+-116.9769	31.9905	8831
+-89.6331	37.9104	8804
+-119.6733	43.6074	6238
+-125.4413	45.9648	6605
+-115.2641	31.7102	7488
+-118.9937	36.7945	6077
+-117.3069	45.1915	7848
+-81.8028	26.8889	8831
+-117.2162	28.5054	4936
+-121.4454	44.6304	6583
+-86.6794	38.7869	7156
+-110.3357	33.4889	7409
+-91.4784	39.1637	8163
+-81.8271	31.4186	5746
+-91.803	38.8919	7886
+-119.8773	36.8688	5413
+-118.2247	35.4202	7788
+-119.7891	49.0499	5753
+-120.608	45.1701	6609
+-83.6768	30.2311	6602
+-87.1872	37.4097	8019
+-124.0078	47.3576	8316
+-115.4606	34.9893	7358
+-80.511	30.5765	6222
+-88.8416	36.7076	8736
+-116.6967	30.2034	6823
+-92.0443	40.3355	6949
+-81.1737	26.2728	7884
+-119.1621	47.3275	7662
+-83.1905	29.3636	7726
+-117.6506	44.1582	7098
+-81.5105	30.4549	6770
+-126.5747	45.5847	5293
+-90.9457	38.8565	8807
+-82.0861	24.0632	5702
+-116.2295	33.0995	8872
+-85.7094	37.038	6312
+-85.5213	27.9902	6051
+-86.8274	34.7988	5930
+-117.8196	32.324	8654
+-87.9247	36.7387	8409
+-92.542	36.9029	6362
+-116.9745	33.6953	8964
+-82.2536	26.976	8988
+-82.8893	29.9504	7278
+-112.7425	29.7335	6183
+-81.2062	30.7978	6306
+-123.1054	47.3742	9105
+-108.8447	29.5027	6702
+-86.5869	27.3075	4827
+-121.0535	49.2355	6392
+-119.4951	29.8901	5439
+-81.5063	25.0758	6767
+-90.438	36.5657	7569
+-89.2527	38.794	8205
+-80.6972	26.7645	7911
+-92.355	38.9998	7282
+-109.5915	32.5414	8161
+-86.595	36.4732	7034
+-118.2157	49.8643	5273
+-92.1602	39.0805	7476
+-118.5335	45.22	8292
+-117.4887	34.1677	9293
+-116.8375	32.946	9549
+-118.9833	33.1973	7405
+-81.9392	31.3779	5801
+-115.8675	32.4472	8460
+-118.3966	47.3139	7969
+-115.4421	31.4979	7505
+-125.8612	48.8998	5721
+-115.1114	32.7077	7680
+-78.5559	27.8961	5842
+-119.7966	36.942	5414
+-123.8684	47.9797	8066
+-114.4702	32.3987	6930
+-84.3307	26.5003	7023
+-80.576	27.8044	8130
+-89.2724	38.0763	9084
+-109.3555	30.4735	7871
+-115.1388	30.4888	6452
+-92.3448	36.9125	6527
+-86.2198	34.999	5676
+-78.8246	27.7836	6149
+-86.8118	40.6226	5836
+-82.9048	26.7817	8477
+-116.2504	33.0228	8922
+-87.0772	36.6528	7604
+-112.1811	27.2906	4410
+-111.4853	28.3572	5762
+-121.0247	47.3014	7513
+-115.4712	47.4305	5966
+-117.8135	32.0714	8495
+-118.7824	45.4743	8413
+-118.6663	31.4773	7339
+-88.1442	35.2887	7057
+-87.7945	38.4655	8402
+-85.094	28.3239	6484
+-121.9135	45.0947	7282
+-89.3206	42.6129	5106
+-86.3643	36.3721	6752
+-117.5813	47.896	7218
+-90.3556	35.4881	6789
+-110.308	28.4833	6115
+-90.5972	39.2642	8824
+-112.8702	32.0209	6684
+-121.0254	48.5483	6912
+-120.4341	44.3267	6308
+-115.0084	46.2182	5790
+-85.7797	39.1025	6095
+-92.5984	36.5216	6038
+-118.1263	37.6829	5554
+-86.5334	25.0668	4052
+-119.0257	32.8412	7456
+-114.9734	34.4194	7017
+-91.2471	39.235	8357
+-113.8511	31.9574	6148
+-119.4186	36.0851	6369
+-119.9519	48.8135	5887
+-120.8383	31.5658	5215
+-90.2935	37.58	8160
+-80.4863	27.959	8016
+-87.7194	38.3112	8434
+-116.8599	30.0624	6678
+-93.0548	37.2583	6126
+-116.8689	32.8756	9626
+-88.3758	37.871	9320
+-112.8361	33.7004	5922
+-116.0501	36.8635	6277
+-119.4639	31.8074	6749
+-116.4655	34.1275	8664
+-117.3821	32.3643	9068
+-114.5948	30.827	6300
+-87.8206	34.4848	6090
+-122.2305	47.6657	8543
+-118.9539	47.9007	7226
+-87.3175	35.8677	7223
+-120.4031	45.8706	7002
+-117.127	46.1527	8035
+-90.9478	40.1139	7833
+-117.7446	44.9347	7901
+-110.7745	30.1332	7831
+-87.1203	39.7164	6863
+-85.4078	39.4156	5564
+-120.168	36.979	5105
+-82.8735	38.0524	3186
+-84.0514	32.5504	4061
+-90.7805	39.6251	8389
+-88.0246	38.2766	8736
+-117.2886	34.5964	9032
+-117.4924	33.1283	9071
+-88.6088	36.1174	8068
+-123.7978	45.8173	8004
+-116.1719	33.8423	8302
+-117.9615	44.1361	7153
+-116.834	32.0745	8912
+-120.4443	48.9788	6118
+-118.8544	33.1278	7488
+-110.4904	30.7981	8606
+-117.0917	33.2692	9229
+-119.5304	46.5046	7872
+-88.9651	40.6677	6854
+-87.2155	36.9987	7920
+-82.4064	27.058	9033
+-82.556	27.0374	8939
+-89.341	40.6334	7104
+-116.3647	32.9947	9053
+-118.8707	45.4993	8371
+-110.6101	33.9221	6922
+-122.9435	43.7091	6027
+-116.6611	34.9343	8443
+-117.1384	36.1069	7380
+-126.8027	47.9943	5172
+-90.2721	38.9659	9163
+-118.1993	32.8222	8378
+-115.30	44.1898	5509
+-89.7798	38.6525	8765
+-86.8082	28.5462	4530
+-83.6921	28.8906	7718
+-91.5008	37.628	7718
+-115.8839	34.1302	8030
+-109.544	32.8318	7873
+-111.2544	29.955	7447
+-89.4359	39.2123	8288
+-84.1697	34.403	3487
+-119.1279	46.8778	8045
+-91.1553	37.6559	7981
+-118.1163	47.0033	8288
+-109.9348	33.4712	7383
+-124.1103	44.8989	6974
+-82.865	35.4975	2757
+-116.5294	32.4604	9124
+-120.8676	47.2189	7356
+-121.4619	45.4616	7319
+-117.949	49.2235	5934
+-116.947	45.9503	7836
+-87.1408	30.1502	3618
+-115.5156	32.0005	7896
+-123.1366	45.0374	7471
+-82.5427	29.0268	8393
+-118.1821	44.1028	7143
+-118.7101	46.9914	8214
+-87.7169	33.9936	5528
+-122.7559	48.7352	7657
+-123.2753	46.0297	8497
+-89.7786	39.478	8404
+-80.3127	29.4499	7087
+-118.11	32.5861	8452
+-84.7601	24.7126	5335
+-120.4918	46.4411	6894
+-123.4972	47.3979	8797
+-93.9637	41.1814	4760
+-90.5358	37.4905	8057
+-91.2855	39.5749	8107
+-87.0154	34.3654	5621
+-111.4438	33.5818	6996
+-114.9335	31.491	7046
+-85.1341	26.5433	6226
+-121.3186	46.3409	7738
+-108.0092	29.415	6030
+-110.2825	31.6565	9377
+-76.7261	26.8606	3690
+-80.2737	25.5826	6647
+-89.75	40.4889	7430
+-118.8553	48.0254	7133
+-119.0498	33.1256	7304
+-91.4337	37.1077	7323
+-91.002	36.2401	6638
+-81.6396	27.2814	9109
+-118.0502	45.3619	8441
+-118.0267	30.9419	7351
+-82.7509	27.9429	9166
+-119.6729	33.4081	6796
+-82.5837	30.9666	6236
+-90.6329	35.2358	6376
+-89.572	40.9561	6891
+-112.9764	30.5573	6402
+-90.6241	35.4008	6527
+-114.7992	27.7139	3569
+-79.6346	25.9942	6427
+-115.2182	33.483	7666
+-115.6128	35.2817	7342
+-117.8437	46.9705	8228
+-113.1784	32.7285	6151
+-109.8574	30.0545	7739
+-118.9608	30.0659	5963
+-122.0305	44.6499	6888
+-91.8132	39.1344	7828
+-115.0616	36.255	6200
+-90.9275	39.4941	8431
+-117.6536	31.8037	8388
+-91.6413	40.9044	6735
+-88.4426	39.783	7411
+-115.7183	35.8694	7000
+-117.6046	32.5172	8967
+-111.0924	34.2496	6470
+-119.1639	31.5197	6907
+-89.0573	34.7543	6530
+-109.9058	34.7864	5972
+-80.037	27.6263	7515
+-111.7557	31.9865	7872
+-109.0902	34.2984	6238
+-110.2818	32.4574	8525
+-118.0997	45.0195	8100
+-124.988	45.4933	6799
+-84.8712	28.5318	6676
+-90.9531	43.6042	4156
+-117.9443	42.9205	5874
+-88.1734	39.0677	8107
+-122.9686	45.1929	7656
+-115.0037	34.7864	6969
+-123.0185	47.1161	9397
+-116.161	28.1398	4459
+-114.6753	32.7152	7195
+-109.838	31.5443	8935
+-116.6811	34.7856	8582
+-115.2923	30.4611	6529
+-121.6877	33.3038	4631
+-123.9952	47.1809	8380
+-115.3583	34.7904	7336
+-83.1087	28.6646	8393
+-123.1054	48.3544	8065
+-116.6538	33.4284	8986
+-110.9514	33.2368	7561
+-84.363	29.7185	6540
+-116.5525	46.5976	7353
+-110.7377	35.5916	5109
+-121.0454	44.5773	6283
+-118.5355	33.0883	7977
+-81.73	25.0102	6741
+-117.5035	35.2146	8330
+-82.1452	27.6249	9732
+-117.0233	44.5222	7122
+-116.9091	44.2849	6849
+-115.3961	47.7327	5748
+-89.6087	38.8396	8584
+-85.0193	29.2614	6215
+-92.6837	38.7967	6944
+-121.3294	43.6701	5595
+-92.657	37.217	6469
+-90.1743	37.0756	8102
+-123.0014	47.6461	8851
+-117.5965	46.7518	8258
+-123.7793	46.0183	8185
+-92.9266	37.8066	6501
+-109.9639	31.6549	9066
+-118.4508	35.6754	7417
+-122.4621	46.3893	8810
+-118.9047	37.8192	5138
+-121.1706	44.8343	6590
+-120.8084	46.712	7291
+-82.7699	28.8819	8440
+-122.7465	46.0166	8549
+-88.5402	37.5221	9514
+-109.072	30.4965	7670
+-116.9875	45.866	7866
+-115.1986	32.5057	7751
+-127.0742	44.8676	4473
+-114.3662	32.1566	6760
+-116.0107	31.2419	7698
+-113.8557	29.8241	5208
+-117.7471	34.18	9011
+-93.505	38.0935	5986
+-112.0052	29.135	6261
+-117.8916	49.8992	5216
+-118.5014	48.4077	6806
+-121.2446	47.2101	7768
+-87.1399	37.6147	7988
+-117.68	33.1817	8859
+-106.1597	28.2833	3709
+-118.6507	34.80	7862
+-90.6758	39.5816	8474
+-90.7503	36.418	7184
+-90.6732	37.9805	8538
+-89.876	38.9902	8819
+-117.9484	42.0626	4970
+-113.915	45.5289	4595
+-115.3986	46.4379	6184
+-85.2001	30.7793	5029
+-84.7863	38.2188	5304
+-90.6297	42.844	5004
+-113.4381	30.1723	5779
+-123.766	44.5329	6768
+-80.5414	29.4512	7270
+-119.2735	42.8944	5707
+-112.6694	32.85	6594
+-117.4925	48.7371	6345
+-94.2162	37.7891	5165
+-84.0973	26.8845	7457
+-88.6228	36.3475	8326
+-80.1543	30.2316	6316
+-108.5272	28.329	5441
+-119.1069	49.0367	6030
+-117.5561	48.2104	6896
+-118.4869	46.6631	8626
+-119.2624	49.578	5434
+-81.3066	25.7185	7394
+-91.1652	39.7352	8069
+-121.0509	45.7992	7204
+-118.6543	31.6588	7470
+-118.2622	48.7949	6406
+-78.9246	32.6407	3290
+-118.6152	43.8893	6893
+-85.3502	26.0115	5747
+-114.988	29.7726	5703
+-116.6011	34.1258	8812
+-116.6848	33.0612	9337
+-120.0346	35.7742	6028
+-87.6582	35.794	7373
+-116.5322	34.9096	8372
+-118.1155	48.209	7020
+-109.2446	30.7548	7991
+-87.6003	36.6477	8077
+-121.1274	49.0609	6592
+-117.4146	34.6275	8975
+-124.2734	45.139	7095
+-119.0406	35.3318	7203
+-87.1151	42.6958	3902
+-89.587	35.8366	7565
+-92.1819	34.5899	4539
+-120.1278	45.4573	7192
+-78.8268	29.2383	5798
+-107.1266	29.3119	5216
+-81.0231	27.5544	8614
+-116.4264	29.6777	6200
+-81.0505	29.2089	7852
+-90.2018	39.1751	8926
+-83.1289	25.6589	7255
+-90.7779	36.9182	7405
+-118.308	40.6309	3468
+-83.2885	25.2474	6757
+-127.7766	44.4119	3558
+-83.7023	26.1167	7317
+-81.8429	31.0961	6111
+-86.2896	38.6355	6829
+-112.7769	30.5138	6583
+-109.3959	29.3314	6831
+-123.7094	48.4985	7703
+-124.6761	45.949	7357
+-115.3626	29.1901	5330
+-117.9243	32.3581	8568
+-122.1977	44.7954	7099
+-118.8315	46.7297	8376
+-84.9347	28.442	6632
+-89.0286	37.3506	9355
+-91.2904	41.2231	6585
+-120.6234	45.0795	6557
+-110.6311	30.6269	8388
+-116.6312	33.2616	9131
+-117.3412	34.4022	9233
+-124.6277	42.6263	4474
+-88.5599	37.7077	9578
+-90.2303	39.6911	8397
+-113.9241	43.8208	4051
+-115.1693	32.7138	7745
+-118.8118	45.4866	8403
+-106.5616	33.1622	5043
+-120.693	47.9832	6937
+-115.9941	31.6436	8053
+-120.5973	33.5951	5858
+-79.6623	30.5914	5646
+-92.1077	39.032	7541
+-121.4291	44.4461	6400
+-85.7688	25.2104	4865
+-116.0654	44.4674	6344
+-117.678	33.0403	8921
+-112.6472	46.3428	3286
+-80.6612	27.044	8037
+-78.2478	31.37	3897
+-109.767	30.8624	8480
+-118.3038	44.1243	7168
+-122.9351	45.3513	7831
+-90.9888	43.9553	3776
+-87.9402	37.2402	8772
+-89.3767	38.8479	8334
+-113.0128	30.3521	6279
+-120.8132	33.9223	5662
+-89.0075	35.1754	7006
+-125.5761	47.6753	6565
+-111.6564	33.7337	6738
+-119.2483	48.587	6435
+-119.3838	47.3508	7496
+-115.4873	32.4972	8065
+-123.7469	44.7031	6951
+-125.512	45.5892	6362
+-90.6788	39.6919	8360
+-117.6093	44.6925	7608
+-111.407	29.0479	6490
+-91.2808	38.1923	8285
+-118.367	33.0511	8169
+-111.5184	30.8628	7971
+-90.7243	39.7317	8304
+-84.2131	27.1195	7428
+-108.5354	30.5021	7200
+-88.6584	39.8543	7217
+-116.1632	33.8071	8283
+-108.3811	29.4129	6311
+-107.9445	33.3851	6232
+-115.7008	34.469	7791
+-118.0373	32.2089	8380
+-82.5909	28.4493	8963
+-90.9807	34.7539	5709
+-117.4827	48.7409	6338
+-121.9493	45.8161	7966
+-118.4379	35.9402	7189
+-112.3181	32.8341	6932
+-121.559	48.9569	6970
+-118.5472	47.4052	7850
+-115.0544	33.385	7528
+-85.8094	31.7204	3785
+-115.7956	46.8854	6498
+-125.2769	48.2315	6648
+-116.0044	34.8778	7939
+-91.4238	38.8081	8301
+-120.1221	44.8871	6928
+-87.7867	37.8893	8687
+-122.8895	44.3253	6704
+-117.7596	31.6054	8138
+-84.2533	29.0888	7066
+-110.2006	36.5149	4128
+-87.1684	37.8001	8015
+-121.9112	47.1297	8505
+-115.8333	33.8779	7950
+-117.6472	30.7522	7328
+-88.707	36.5393	8549
+-114.4226	47.4734	4921
+-88.8425	42.1218	5429
+-114.008	29.3609	4821
+-108.9728	33.6902	6756
+-118.5905	45.111	8164
+-123.7285	46.1966	8364
+-125.7337	48.7287	5940
+-111.7854	33.6348	6750
+-79.4134	30.4344	5582
+-123.8847	45.032	7221
+-111.47	32.1326	8106
+-109.5379	34.905	5773
+-86.6329	38.6585	7174
+-87.6269	39.4952	7396
+-92.6445	40.6931	6211
+-116.3271	34.6262	8381
+-90.443	37.1719	7722
+-125.2025	46.8814	7075
+-121.5994	45.9503	7793
+-115.834	30.4435	6820
+-91.5758	40.2948	7321
+-116.95	36.0587	7409
+-117.292	30.1394	6745
+-107.7275	31.4282	6645
+-117.5895	32.3686	8897
+-90.2067	38.1885	8790
+-117.2385	31.8421	8624
+-87.263	36.2209	7474
+-91.5152	38.7468	8204
+-88.5957	40.81	6485
+-88.1746	34.8308	6564
+-82.9663	29.9417	7257
+-117.8077	46.0606	8755
+-87.6081	38.9192	7899
+-114.7527	44.0195	4920
+-121.3348	46.476	7804
+-87.1661	29.6475	3814
+-109.0716	29.9699	7254
+-109.4917	31.9975	8457
+-121.782	47.8091	8068
+-112.8551	33.3219	6155
+-93.0884	38.6858	6508
+-113.6838	31.8501	5832
+-86.8449	34.7413	5887
+-89.73	37.4615	8710
+-116.3582	44.5995	6675
+-111.9928	33.8537	6427
+-91.7099	37.186	7214
+-122.0164	45.7571	7961
+-114.9948	33.1095	7529
+-110.5962	31.6295	9184
+-112.7928	33.6043	6025
+-116.3612	48.7061	5831
+-123.9926	46.7449	8381
+-118.1197	45.0032	8086
+-93.518	35.7033	4713
+-119.8642	30.9147	5887
+-116.2955	29.5525	6036
+-83.8503	28.5802	7743
+-80.8678	30.7422	6234
+-86.3213	25.5107	4511
+-123.3232	46.2435	8686
+-110.0754	33.934	6911
+-110.1983	35.9091	4784
+-112.404	31.1158	7174
+-114.9447	30.6093	6414
+-107.7477	33.3123	6104
+-86.1926	40.9096	5167
+-114.7693	31.4084	6842
+-116.5824	33.9228	8757
+-84.1802	28.4768	7441
+-88.3004	36.8841	8793
+-85.9655	38.4389	6553
+-117.6109	32.3792	8884
+-127.5029	47.9478	4436
+-116.1545	44.1184	6180
+-111.3732	31.3678	8323
+-118.3746	30.086	6326
+-116.7247	34.5645	8782
+-83.5102	28.0254	8307
+-86.6342	28.0091	4793
+-82.0302	30.0552	7301
+-117.7249	33.3137	8742
+-115.9665	46.0211	6805
+-81.3736	27.4354	8955
+-115.9396	32.3786	8507
+-89.0305	37.2831	9293
+-87.0596	37.4972	7890
+-120.8036	43.6276	5521
+-89.1093	36.4046	8348
+-118.1353	47.996	7246
+-80.7117	27.6598	8280
+-120.0751	42.2264	4740
+-83.6254	27.7165	8203
+-121.2499	46.6893	7768
+-83.4812	27.5487	8348
+-90.0067	43.0803	4739
+-108.8263	30.773	7620
+-82.2383	26.3656	8303
+-114.7819	35.0248	6658
+-109.7072	30.2273	7855
+-116.7971	29.8493	6438
+-91.8034	37.7974	7581
+-80.3123	29.5102	7040
+-84.3361	40.9072	3653
+-90.3211	35.6016	6914
+-89.3494	36.891	8727
+-93.0927	37.486	6202
+-116.8764	33.9582	9071
+-87.9904	38.1506	8788
+-122.9738	47.8585	8623
+-113.4859	35.3243	5214
+-89.1288	35.5569	7413
+-91.7354	36.7546	6826
+-118.6073	44.7715	7812
+-125.7462	46.1773	6361
+-116.9294	38.3339	4941
+-116.4933	44.4588	6689
+-111.0403	34.0225	6722
+-124.5572	47.0836	7781
+-82.3285	31.4345	5737
+-111.9216	32.965	7193
+-78.4269	25.9403	5218
+-82.2718	29.0286	8456
+-91.0326	38.5856	8702
+-108.7156	34.3886	5965
+-89.8299	37.7056	8621
+-117.1006	34.0508	9336
+-82.6981	26.6785	8505
+-92.8204	38.3669	6765
+-87.7138	37.028	8433
+-124.3457	45.6698	7473
+-118.6357	46.8053	8426
+-118.3122	34.0576	8394
+-122.3574	48.909	7391
+-117.274	32.9184	9392
+-117.4632	29.1697	5648
+-115.6798	31.0151	7283
+-77.5149	27.9819	4662
+-118.7908	43.7846	6750
+-117.0204	33.8455	9125
+-111.6878	29.9594	7182
+-86.8687	39.5736	6795
+-120.6503	46.7072	7118
+-108.493	31.4572	7475
+-124.3793	49.7393	6154
+-80.6699	25.5221	6861
+-112.1634	33.0476	6934
+-89.4734	37.8701	8989
+-86.1106	39.4278	6237
+-117.5207	35.5025	8019
+-116.327	45.5732	7115
+-80.7708	30.8083	6122
+-89.3838	37.8126	9103
+-110.0219	32.2723	8654
+-90.2368	37.7892	8377
+-91.1962	37.3146	7646
+-116.0107	27.2548	3458
+-113.6997	48.3768	3840
+-91.6366	39.3785	7913
+-87.4762	35.2319	6723
+-112.9522	37.0734	3843
+-117.1645	33.4041	9061
+-116.7779	32.1269	8955
+-81.4989	30.3066	6931
+-122.571	45.5836	8044
+-116.5597	31.7979	8529
+-114.9246	31.2992	6915
+-111.4925	33.0383	7458
+-115.9726	34.9238	7884
+-91.407	37.7528	7884
+-114.8608	32.8755	7403
+-120.9147	44.1158	5770
+-117.8668	32.9226	8742
+-89.8224	39.4064	8494
+-109.5823	28.9092	6464
+-80.0974	31.4486	5132
+-91.5893	37.3182	7407
+-89.8809	41.1506	6781
+-116.4796	31.4643	8150
+-88.8448	40.523	6894
+-117.7808	33.1119	8787
+-115.0079	33.019	7556
+-90.364	39.359	8768
+-82.339	27.8412	9645
+-81.3785	29.4962	7757
+-117.9526	30.6834	7132
+-114.6913	31.4061	6767
+-83.9199	26.5585	7452
+-121.8888	46.9488	8495
+-123.6044	47.1256	8813
+-85.8693	36.6195	6357
+-90.2995	38.2706	8900
+-89.0993	37.4611	9376
+-118.0288	46.4652	8789
+-88.1291	39.3877	7754
+-82.2892	24.6289	6338
+-90.6927	40.0454	7989
+-111.8744	30.5477	7462
+-82.7992	28.6496	8641
+-93.6081	33.7898	3048
+-87.2524	39.0584	7506
+-113.9023	34.7742	5802
+-86.2568	41.5909	4586
+-116.36	32.2204	8804
+-117.4383	35.1279	8437
+-117.1833	31.3754	8127
+-121.4745	45.0279	6962
+-115.3367	31.707	7554
+-116.3216	33.9707	8492
+-117.2966	34.6778	8943
+-90.5452	40.1857	7867
+-88.0433	39.5935	7504
+-89.3763	35.6285	7428
+-120.8296	46.1613	7166
+-118.4102	49.3937	5770
+-119.84	47.1497	7272
+-116.0368	30.5062	6975
+-115.8547	30.2189	6601
+-81.8454	25.9264	7785
+-125.5693	45.7764	6395
+-116.593	43.2639	5764
+-117.2596	31.9796	8764
+-120.6372	46.8685	7118
+-90.1789	41.508	6444
+-119.5727	35.8569	6397
+-114.6718	34.4101	6691
+-124.0261	45.813	7835
+-92.4654	39.5432	7023
+-108.9184	30.0595	7221
+-125.8525	48.7899	5794
+-120.0175	49.8862	5099
+-109.5439	33.5134	7214
+-82.5635	28.7151	8714
+-92.7094	37.5219	6589
+-121.4853	44.2417	6233
+-80.119	27.4003	7576
+-121.9852	47.3278	8526
+-86.7029	37.2395	7450
+-77.8497	24.2807	3644
+-88.5974	34.7763	6566
+-124.5579	46.9149	7784
+-82.3685	30.1914	7136
+-119.2094	36.2791	6380
+-112.2289	28.6107	5654
+-123.6449	46.9051	8785
+-122.7184	45.3737	7845
+-92.7612	36.21	5674
+-90.733	34.5961	5723
+-118.4564	44.5813	7642
+-118.1339	46.4676	8840
+-118.2898	46.5693	8763
+-91.3909	35.8847	6151
+-94.6706	35.4206	3574
+-108.9432	30.6306	7648
+-121.0314	35.2789	5245
+-93.5008	37.0477	5596
+-121.2135	36.0856	4735
+-117.9386	46.1532	8891
+-88.8989	38.476	8894
+-110.30	31.6627	9380
+-117.0263	45.5344	7801
+-81.1214	26.0224	7611
+-117.8464	33.7784	8796
+-117.1016	32.9899	9508
+-119.4092	47.956	6962
+-123.195	45.7839	8267
+-109.7632	33.7456	7051
+-116.3523	33.027	9029
+-117.07	33.3581	9138
+-111.3163	30.0574	7507
+-114.9261	32.3578	7420
+-91.6814	38.8561	8021
+-84.0051	26.6135	7405
+-90.0978	39.3835	8675
+-116.814	34.5211	8888
+-111.4908	33.9702	6599
+-94.1129	40.1682	5124
+-118.1685	36.5751	6698
+-92.1064	38.7743	7567
+-116.4391	33.2882	8964
+-83.091	29.3409	7808
+-87.9881	41.0436	5850
+-118.0734	31.9061	8154
+-107.5049	33.1299	5981
+-110.753	30.1981	7905
+-116.717	29.4466	5984
+-87.5845	36.0718	7587
+-116.753	35.5584	7885
+-114.1822	31.6265	6375
+-121.8036	48.6217	7425
+-110.8845	33.0222	7804
+-77.5827	26.5908	4575
+-120.1174	33.0125	6197
+-89.969	36.7623	8127
+-119.473	45.9215	7986
+-116.0385	34.3212	8183
+-116.648	36.2184	7165
+-109.1512	31.3888	8176
+-90.1371	35.1299	6579
+-122.2258	47.3899	8732
+-116.7688	33.6723	8798
+-110.3817	34.4036	6417
+-117.8131	46.7029	8451
+-82.0731	28.8538	8661
+-119.0684	49.1285	5947
+-111.0268	30.959	8463
+-115.7203	31.5545	7774
+-119.8931	35.0784	6493
+-85.0062	37.2404	5567
+-82.8883	27.4762	8977
+-115.5702	33.2836	8110
+-82.9067	27.1466	8771
+-92.8491	40.1481	6369
+-83.3237	25.8247	7316
+-117.4196	45.3496	8049
+-117.3821	33.9792	9328
+-122.1995	44.9824	7294
+-81.9835	28.5191	9024
+-89.382	38.1358	8946
+-80.5889	26.948	7915
+-87.7889	38.4159	8432
+-120.58	42.4691	4710
+-114.2988	31.6274	6495
+-113.5117	32.9749	5895
+-81.5934	28.6564	8715
+-119.4615	34.3643	7130
+-115.142	38.2816	4454
+-83.5952	27.706	8237
+-86.2236	36.0267	6419
+-88.9578	42.8895	4706
+-118.596	32.3388	7859
+-114.8579	31.0407	6678
+-121.6809	46.2408	8047
+-119.3503	35.3108	6927
+-112.9711	31.8564	6600
+-84.3466	29.1398	6946
+-113.7653	46.2092	4474
+-120.3496	32.6327	5974
+-91.113	42.6116	5188
+-111.2781	32.8331	7776
+-79.5213	24.7635	5390
+-121.4753	45.9326	7672
+-92.0306	41.731	5753
+-120.6353	48.0038	6870
+-115.0954	34.6585	7101
+-122.4584	48.6415	7703
+-116.3704	32.5646	9031
+-82.7533	28.7442	8583
+-79.9864	28.5676	7300
+-108.021	36.2717	3810
+-88.1187	41.5657	5530
+-107.2612	34.9675	4521
+-81.0676	29.2047	7867
+-119.0176	36.1182	6651
+-84.2669	28.6395	7284
+-121.8096	47.6683	8182
+-109.4487	32.2251	8289
+-118.0107	35.2009	8118
+-123.1964	47.1487	9224
+-122.7914	48.0831	8374
+-109.7007	32.0111	8646
+-117.6828	34.7321	8742
+-89.8198	42.2622	5590
+-120.3563	47.7068	6483
+-90.1801	38.0093	8596
+-123.28	45.8075	8266
+-116.6948	34.9401	8459
+-90.4208	40.6661	7359
+-89.2046	43.4103	4243
+-123.4573	47.0537	8986
+-87.0745	41.2826	5333
+-119.1086	33.9362	7517
+-118.5097	44.7864	7849
+-119.8238	45.6736	7568
+-86.4286	37.4334	7178
+-81.6642	31.6382	5480
+-80.9868	28.9799	8004
+-85.8593	39.0477	6202
+-86.8199	38.1748	7557
+-90.4079	40.8097	7204
+-81.6919	28.1689	9217
+-92.555	38.1719	7002
+-116.7084	36.608	6771
+-86.5957	38.6755	7128
+-117.6465	48.7474	6377
+-118.5315	34.7207	8017
+-90.6732	36.9645	7475
+-110.8315	28.054	5612
+-110.8903	32.0873	8660
+-117.5436	33.0851	9043
+-89.3814	38.9873	8315
+-87.7061	36.2678	7845
+-93.5621	39.2969	5948
+-87.3943	38.6345	7930
+-82.2987	32.1109	4974
+-110.2532	34.4585	6357
+-118.2893	46.8469	8470
+-114.0494	32.6514	6494
+-92.6946	39.3995	6837
+-93.1049	41.5535	5213
+-87.5778	40.4709	6395
+-111.3278	32.2259	8191
+-83.5747	28.2031	8189
+-105.5417	30.7595	4206
+-90.9337	41.748	6139
+-117.8547	33.0262	8735
+-94.8555	39.4335	4548
+-83.4316	27.6906	8421
+-108.4705	29.9795	6810
+-119.1616	44.6617	7476
+-94.7755	35.9948	3836
+-118.3672	34.2139	8334
+-119.49	33.9846	7107
+-114.5161	36.9518	5242
+-106.7123	28.1641	4078
+-120.182	45.1096	6993
+-124.1123	47.9206	7911
+-122.8072	46.8139	9410
+-127.2391	48.7309	4460
+-118.0342	31.211	7602
+-90.5769	35.7698	6872
+-85.299	29.9396	5548
+-116.7389	32.9001	9482
+-90.6375	35.9023	6929
+-85.4576	25.1815	5128
+-119.8024	32.7173	6588
+-125.8672	47.3299	6322
+-89.1017	34.8688	6653
+-124.4824	45.5433	7268
+-117.8031	32.389	8705
+-85.8783	38.2605	6505
+-121.034	44.8405	6498
+-119.1359	48.4611	6602
+-113.5405	31.1127	5961
+-121.6117	48.7229	7213
+-81.6303	25.6773	7461
+-87.3279	39.6086	7102
+-114.7408	35.5731	6367
+-87.0857	38.6053	7654
+-83.6231	27.5941	8196
+-114.8561	32.2573	7318
+-117.542	29.7107	6230
+-89.4918	38.8696	8455
+-109.8128	28.154	5716
+-117.7295	31.3886	7947
+-81.2765	30.3276	6837
+-121.5362	45.9666	7748
+-84.5004	32.0737	4332
+-114.8541	31.7699	7123
+-81.0176	31.0396	5980
+-115.8524	34.828	7819
+-109.7728	30.7755	8408
+-113.2911	34.0417	5307
+-109.2274	32.9956	7530
+-109.2909	30.4869	7834
+-117.635	48.1653	6968
+-122.5349	45.9504	8420
+-82.4756	26.6822	8606
+-118.4409	33.1316	8071
+-91.3143	37.8778	8049
+-87.4882	38.6016	8037
+-91.5184	39.5186	7947
+-116.5495	45.6512	7364
+-80.5603	27.8991	8107
+-110.3169	33.2846	7630
+-119.3674	34.6202	7186
+-82.1529	26.7956	8794
+-115.7682	48.3215	5706
+-89.3709	34.6216	6331
+-114.2064	30.7196	5886
+-124.3112	45.4801	7354
+-84.714	27.9635	6964
+-118.7449	34.888	7727
+-89.4375	35.9892	7788
+-87.1511	38.8108	7593
+-116.3342	33.4763	8734
+-116.823	34.6785	8771
+-90.3815	40.2247	7835
+-82.2138	28.0634	9545
+-115.9054	34.0771	8052
+-83.4805	28.6084	8095
+-89.6575	33.7939	5355
+-117.9188	29.745	6166
+-119.3349	49.3635	5629
+-86.4115	27.5391	5045
+-85.0101	28.0239	6625
+-89.9726	35.1894	6723
+-120.5745	47.771	6903
+-118.7276	33.4392	7773
+-87.9881	38.606	8445
+-117.5986	48.5592	6557
+-85.535	27.6718	6042
+-83.2247	28.1184	8595
+-88.6728	37.0032	9064
+-92.0609	43.1559	4343
+-81.4449	25.7463	7478
+-82.8039	27.6792	9127
+-86.4128	41.4234	4838
+-121.9469	46.6053	8486
+-89.794	34.3852	5956
+-124.2923	48.6007	7248
+-114.584	35.9522	6002
+-113.1047	33.8016	5627
+-89.1279	36.738	8697
+-110.6956	34.298	6506
+-89.3962	36.7074	8528
+-119.3831	33.7359	7189
+-107.0115	32.6737	5686
+-115.9912	36.1127	6969
+-121.1907	43.8843	5734
+-110.0172	34.0416	6788
+-117.271	33.4171	9002
+-91.5052	39.3614	8047
+-120.454	45.9479	6956
+-118.3546	34.4302	8308
+-118.562	31.947	7726
+-81.4148	27.3925	8976
+-89.8859	40.8178	7132
+-91.3503	39.2956	8228
+-110.4941	33.8418	7020
+-120.1971	46.6588	7149
+-108.4982	28.9293	5978
+-84.7153	28.8837	6710
+-117.8331	31.985	8413
+-117.1789	31.5913	8366
+-88.463	36.8438	8831
+-91.9544	36.7047	6645
+-120.2027	32.8073	6024
+-121.2808	45.8167	7424
+-120.3327	48.1465	6502
+-76.5625	31.1348	2527
+-115.5948	33.5928	7995
+-88.6196	32.7656	4312
+-90.9603	40.3994	7541
+-118.0687	35.1098	8159
+-86.4378	41.5068	4773
+-111.1744	31.0511	8395
+-112.0493	32.292	7462
+-111.1812	33.1446	7549
+-120.6811	43.3106	5365
+-82.8187	28.0278	9063
+-118.3992	31.6439	7688
+-122.7107	47.2016	9275
+-92.3797	38.4389	7247
+-120.7039	32.9443	5570
+-116.6013	31.1154	7812
+-115.7375	36.6777	6300
+-110.6764	32.6264	8284
+-124.3299	49.6418	6274
+-91.0053	39.6987	8202
+-119.0933	32.9711	7374
+-113.875	32.6189	6297
+-122.1827	47.1874	8782
+-115.2088	46.5549	5969
+-119.0723	45.1847	7981
+-114.2786	30.3675	5697
+-84.1697	28.5167	7437
+-120.2932	30.5242	5247
+-122.9333	45.0161	7463
+-90.1579	35.7233	7133
+-93.389	36.4534	5347
+-116.3606	32.3343	8889
+-83.0587	27.5757	8823
+-90.1021	36.7269	7982
+-77.7975	28.557	4906
+-88.0526	36.696	8463
+-87.9463	36.9525	8595
+-121.8975	49.5706	6541
+-86.8554	38.5112	7469
+-85.6437	27.7068	5920
+-122.3334	46.4048	8730
+-91.5576	44.3866	3219
+-118.7314	48.6656	6502
+-118.0225	30.0052	6403
+-90.9964	36.6552	7072
+-89.7445	39.6562	8229
+-109.013	36.061	4416
+-88.1972	43.0802	4196
+-119.3404	35.2973	6944
+-92.4607	36.2581	5928
+-115.7094	34.7312	7718
+-88.8903	38.0913	9318
+-90.9054	38.4212	8759
+-87.589	36.1285	7641
+-91.356	37.1906	7443
+-89.7185	39.1315	8598
+-122.5828	48.6995	7671
+-113.1259	29.8896	5935
+-113.9412	34.4902	5890
+-125.1105	46.5087	7126
+-122.3692	46.9851	9023
+-127.7098	43.5562	3128
+-87.0558	40.0564	6515
+-118.532	33.1879	7815
+-91.7197	35.0345	5168
+-120.7685	42.6596	4766
+-91.2249	43.6237	4094
+-123.4684	43.9347	6217
+-89.4771	37.9634	8950
+-88.4061	37.4759	9358
+-90.4126	37.6398	8227
+-115.7468	33.1193	8351
+-84.6369	31.0765	5197
+-120.8464	32.6826	5325
+-81.4856	28.6519	8651
+-88.8127	39.328	7949
+-117.9811	44.8229	7871
+-118.4285	48.851	6343
+-118.4982	34.0955	8194
+-111.4023	32.74	7767
+-127.1129	45.2848	4623
+-119.9164	38.8579	3629
+-112.9756	33.386	6008
+-118.4411	31.9799	7862
+-79.619	26.5762	6745
+-126.3028	47.2887	5851
+-87.1453	37.1425	7903
+-118.3326	30.283	6542
+-86.681	39.0461	7008
+-79.9268	27.8469	7394
+-79.8808	27.6683	7342
+-116.9311	33.4885	9002
+-116.6715	30.1115	6718
+-119.7287	46.3395	7709
+-116.1098	36.3557	6805
+-118.6844	45.5231	8516
+-85.577	29.2433	5653
+-117.2031	33.2844	9168
+-122.7912	47.8943	8580
+-82.7507	30.5994	6612
+-122.5375	49.7611	6510
+-118.3446	31.8897	7900
+-83.9179	27.0366	7711
+-89.7464	38.2192	8531
+-116.3385	32.4665	8951
+-115.6138	34.1247	7735
+-89.6053	37.9724	8813
+-109.2522	32.6455	7832
+-119.8348	47.6651	6927
+-124.9962	42.9755	4653
+-111.0076	34.4631	6269
+-89.8748	36.7614	8209
+-115.9813	43.513	5593
+-119.1061	24.9939	707
+-120.0324	43.5743	6007
+-81.3689	25.8238	7530
+-88.151	38.0424	9005
+-119.4857	33.7609	7083
+-124.8973	45.853	7094
+-114.0209	32.5843	6457
+-88.7808	38.4517	8933
+-119.435	46.0458	8039
+-90.8259	40.8861	7073
+-119.8444	31.6084	6272
+-122.2801	43.6453	5894
+-82.4231	29.2241	8211
+-111.9264	31.1467	7684
+-79.8293	30.3621	5966
+-109.6928	32.5491	8218
+-92.3881	36.9943	6552
+-81.372	27.6932	9027
+-118.7173	33.2608	7691
+-113.9846	34.2116	5957
+-81.2987	27.5599	8920
+-117.3281	30.6631	7317
+-117.5366	32.0936	8726
+-87.3074	37.5677	8173
+-117.0009	32.9576	9591
+-120.3045	48.4877	6301
+-117.7367	36.2242	7200
+-83.0277	28.0004	8847
+-82.3779	28.9257	8552
+-118.125	49.929	5202
+-119.5789	36.9272	5582
+-117.325	46.9981	7870
+-119.3712	44.3517	7080
+-114.137	41.6953	2854
+-116.9756	35.6017	7905
+-122.0055	44.7424	6972
+-118.9105	43.7957	6731
+-117.5118	42.7175	5586
+-92.1504	43.1152	4348
+-118.4148	47.0925	8200
+-117.0382	47.8421	6993
+-114.1604	32.2062	6550
+-124.7739	44.7428	6411
+-123.6247	45.8121	8109
+-88.4775	37.2916	9284
+-88.7658	40.0192	7208
+-107.6888	30.6587	6438
+-107.2325	32.692	5906
+-86.0142	28.0413	5491
+-115.0458	44.794	5563
+-127.2428	47.5023	4799
+-111.5498	34.1047	6440
+-86.5167	38.419	7152
+-123.506	47.8372	8441
+-120.4519	46.5849	6907
+-91.9334	34.695	4745
+-118.2002	36.5553	6706
+-87.8936	38.2039	8664
+-118.6613	29.8155	5909
+-114.182	33.2291	6613
+-120.1695	46.4587	7227
+-112.9384	32.0114	6613
+-83.7072	29.8344	6953
+-82.7946	27.3602	9014
+-82.6179	30.3942	6870
+-79.9802	29.4469	6803
+-114.3854	34.1389	6395
+-122.8395	47.7911	8698
+-88.0908	38.8681	8267
+-91.7047	35.0288	5383
+-116.4488	46.9697	7110
+-82.5002	25.9259	7769
+-83.1007	26.5705	8152
+-80.2767	31.9713	4692
+-85.4132	27.8766	6180
+-87.9139	42.9498	4173
+-117.7519	32.0832	8554
+-109.2188	28.4061	5826
+-83.749	25.3385	6593
+-112.2056	32.1816	7344
+-110.3308	34.0869	6761
+-81.4008	28.7392	8515
+-112.0236	35.1744	5173
+-88.0635	38.4826	8605
+-79.6173	30.3768	5791
+-92.2238	35.455	5356
+-124.9014	47.3395	7370
+-80.064	27.3088	7495
+-107.9008	31.5708	6838
+-115.6949	33.3744	8204
+-116.8747	33.4711	9016
+-115.9152	32.3455	8468
+-111.286	29.5839	7074
+-119.8709	46.8675	7393
+-91.5774	38.5443	8118
+-117.2908	47.8196	7158
+-117.7848	36.9965	6364
+-120.4383	48.2318	6565
+-89.7753	38.5656	8740
+-124.0375	49.2823	6772
+-118.565	32.7014	7965
+-117.2785	35.2248	8347
+-120.9596	49.0488	6479
+-79.8891	29.9831	6324
+-110.3419	33.0235	7913
+-117.5969	32.7796	9049
+-117.0843	33.4557	9028
+-83.3329	25.3218	6811
+-112.4637	30.726	6985
+-87.5398	39.52	7320
+-119.1933	31.2024	6685
+-85.9867	40.6175	5264
+-121.3917	46.3313	7808
+-110.4518	33.9688	6886
+-115.576	37.6198	5311
+-122.4426	47.6758	8679
+-87.5463	34.7723	6290
+-110.9765	36.9552	3612
+-116.1116	43.9738	6042
+-91.6791	42.7519	4890
+-93.653	38.3185	5870
+-79.9459	27.9824	7406
+-116.336	31.0906	7703
+-90.1784	36.7309	7914
+-86.7391	37.9985	7509
+-89.149	34.1669	5864
+-106.4983	32.102	5281
+-119.0215	30.6877	6453
+-115.0292	32.6752	7586
+-118.1952	31.3369	7608
+-118.499	34.2342	8189
+-87.403	36.2817	7634
+-115.4357	31.6675	7618
+-111.9243	36.5873	3785
+-117.8534	32.6529	8747
+-116.3378	44.997	6892
+-119.5253	34.6362	7014
+-81.6785	26.3234	8180
+-118.34	45.9979	9137
+-117.8983	36.0401	7347
+-88.9297	39.0223	8282
+-109.0044	30.1391	7347
+-118.0334	45.1657	8236
+-86.862	37.8803	7664
+-80.9352	30.0991	6926
+-116.6933	32.5086	9294
+-89.3046	36.2221	8085
+-120.2548	46.4684	7136
+-116.962	34.5995	8930
+-117.6037	35.1648	8354
+-80.5729	26.127	7332
+-88.1941	39.662	7484
+-94.1099	35.3103	3958
+-79.6912	27.9553	7121
+-91.7537	36.1194	6227
+-91.487	40.7268	6984
+-87.4894	36.5182	7887
+-88.8308	40.3122	7050
+-85.1246	35.7037	5171
+-88.5831	36.8751	8904
+-82.622	27.047	8908
+-116.859	32.0647	8906
+-82.9332	26.1643	7866
+-116.6169	34.8844	8455
+-119.4538	46.1614	8019
+-122.4364	46.5108	8892
+-123.0796	45.8771	8393
+-111.7555	34.6015	5859
+-107.7157	34.3995	5308
+-91.2714	37.8505	8062
+-125.9004	47.1382	6304
+-107.5984	29.3841	5671
+-80.282	27.4126	7760
+-110.1532	32.3945	8573
+-115.0194	48.4412	5006
+-114.2568	32.5941	6720
+-92.8526	38.7945	6762
+-110.4161	31.9498	9066
+-115.4864	37.0475	5813
+-78.3932	27.6906	5660
+-115.1044	31.3035	7077
+-84.1979	27.6147	7550
+-122.7248	46.2041	8747
+-115.644	35.3974	7294
+-109.4949	30.3767	7882
+-84.6898	27.4749	6981
+-89.3286	37.4848	9152
+-120.8464	32.4007	5401
+-115.8335	36.1275	6859
+-120.2835	33.8471	6232
+-117.3369	47.1488	7764
+-122.3219	47.3406	8850
+-80.2713	30.0165	6588
+-111.5737	31.4952	8126
+-117.1439	31.5392	8314
+-121.7707	49.7929	6262
+-109.1401	34.0825	6473
+-120.5031	46.9926	6727
+-116.6983	32.6811	9418
+-108.8675	32.1808	7759
+-122.3709	45.903	8301
+-118.1893	43.8902	6918
+-90.5013	37.6976	8283
+-79.2448	25.1826	5508
+-87.1115	37.5888	7955
+-119.3672	31.40	6644
+-89.6134	36.8103	8464
+-118.8826	43.4123	6344
+-90.2261	40.353	7688
+-95.3623	40.0448	3879
+-117.5119	32.1793	8817
+-90.4969	37.2877	7843
+-120.3744	35.2686	5929
+-119.846	46.7696	7460
+-79.9305	26.9579	7238
+-85.9493	37.3027	6626
+-90.7965	39.6715	8336
+-87.9493	40.3614	6653
+-111.8121	34.0051	6399
+-119.2022	36.0383	6575
+-82.7161	26.9704	8776
+-113.7514	33.4772	6092
+-91.361	39.3965	8161
+-90.0237	37.4071	8374
+-91.41	35.3562	5875
+-119.2816	48.1132	6881
+-115.8097	30.0827	6442
+-117.1823	45.7265	8029
+-117.3116	37.725	5620
+-87.8063	38.2725	8540
+-115.609	30.1523	6418
+-116.7997	31.081	7808
+-111.134	31.7961	8576
+-118.2363	45.9363	9080
+-83.7715	32.5497	4172
+-124.1301	46.1249	7969
+-89.773	42.5906	5233
+-115.6924	35.1033	7521
+-119.9032	34.589	6619
+-118.2651	33.8858	8416
+-116.7499	47.6179	6975
+-123.7104	45.8139	8058
+-115.6095	33.5254	8045
+-89.7709	39.4656	8409
+-83.3292	26.9517	8255
+-77.7473	27.0922	4872
+-119.5487	32.5493	6857
+-80.131	32.6469	3924
+-91.5644	34.7909	5312
+-88.5368	38.6998	8626
+-110.3894	28.581	6220
+-125.0944	46.9682	7195
+-117.8449	33.3283	8457
+-115.9155	48.6355	5586
+-108.8128	32.7349	7407
+-108.0811	30.8151	6895
+-120.8803	45.5052	6867
+-110.8195	32.7791	8075
+-107.2185	30.9875	6038
+-81.5651	27.9614	9213
+-119.9716	44.8451	7033
+-111.0188	28.1951	5728
+-93.7598	35.3676	4273
+-110.4153	32.7152	8244
+-85.3571	28.7937	6065
+-106.9431	29.7338	5289
+-84.105	30.1949	6354
+-107.0752	30.7977	5842
+-114.0423	47.155	4632
+-121.1326	43.2358	4982
+-117.4152	45.1836	7924
+-88.1609	36.4214	8261
+-119.4483	46.7927	7825
+-109.9814	34.8577	5905
+-123.4982	44.5763	6899
+-118.6642	47.3901	7836
+-80.9695	27.0771	8362
+-90.6871	40.0416	7994
+-87.4153	35.9349	7350
+-90.5122	38.5461	9164
+-107.6592	32.9888	6200
+-118.9288	35.9996	6812
+-94.1152	41.2664	4573
+-91.7446	37.268	7255
+-121.7774	46.2549	8146
+-90.9648	36.3542	6767
+-115.7974	47.4817	6248
+-117.1308	32.5814	9433
+-88.3402	36.5502	8474
+-118.7867	34.5021	7832
+-116.4198	35.0298	8193
+-85.8724	36.1334	6139
+-83.6634	35.9269	3763
+-116.3003	34.8712	8212
+-84.1057	26.7928	7404
+-117.4281	34.8539	8732
+-123.1801	45.6954	8176
+-91.0558	34.7087	5617
+-107.4213	30.3809	6060
+-115.4709	32.7426	8082
+-88.5687	34.9682	6779
+-118.1087	29.0981	5414
+-121.078	45.7568	7203
+-121.6881	45.6805	7665
+-90.0654	39.9075	8130
+-89.1871	37.8936	9278
+-119.8561	46.0421	7594
+-121.2128	45.5703	7200
+-117.7712	35.2321	8219
+-119.6863	45.7083	7718
+-122.2764	48.9278	7345
+-117.2273	35.8773	7635
+-116.086	39.8578	3162
+-79.1932	30.8495	5073
+-122.212	44.2287	6505
+-85.0506	26.6245	6348
+-110.3707	27.4936	5042
+-123.3178	46.8158	9118
+-91.857	40.9938	6531
+-119.9442	35.6502	6181
+-89.0653	40.6153	6963
+-120.923	48.2646	7008
+-116.0341	35.1626	7786
+-115.6045	33.6568	7968
+-113.548	36.056	4971
+-110.8434	31.6708	8913
+-89.6126	39.2026	8461
+-118.4212	33.0072	8117
+-125.4771	48.158	6487
+-85.8962	35.2688	5617
+-117.3192	33.597	8950
+-116.7009	30.322	6955
+-119.1724	34.8522	7316
+-119.6452	42.2697	4955
+-87.3768	36.7116	7923
+-117.6842	47.325	7816
+-117.7514	36.4295	6978
+-86.1442	30.5387	4376
+-118.8019	32.9064	7703
+-85.08	34.3412	4242
+-89.6018	34.5053	6145
+-120.7924	44.5018	6110
+-91.3634	42.3597	5393
+-91.8654	39.0851	7787
+-121.8964	49.0422	7073
+-123.909	47.6971	8238
+-108.7489	31.6592	7755
+-88.7483	39.3084	7971
+-116.1671	35.592	7545
+-82.2973	27.1015	9117
+-88.0536	39.2987	7815
+-91.1231	36.1235	6483
+-87.1731	28.5854	4116
+-117.0816	36.0173	7473
+-123.8906	44.3303	6512
+-90.234	38.7424	9263
+-81.2901	29.1495	8060
+-79.3677	29.5999	6138
+-117.8659	33.8896	8832
+-117.9942	30.6102	7038
+-115.0951	35.0627	6961
+-82.7394	33.2709	3627
+-122.2598	46.7219	8853
+-126.0487	48.3091	5846
+-119.3842	45.6045	7982
+-80.6057	30.2089	6633
+-88.8393	41.584	5946
+-85.4672	25.7623	5491
+-117.7759	36.6299	6758
+-90.2698	35.7106	7046
+-114.8645	30.5894	6337
+-89.2458	35.0086	6784
+-88.745	41.9672	5533
+-87.8684	39.2541	7767
+-123.8874	44.9027	7093
+-117.209	49.3335	5652
+-120.7745	33.4498	5639
+-116.9207	30.1337	6760
+-117.0683	34.1549	9320
+-107.7258	32.4801	6486
+-93.4822	38.6777	6083
+-109.6484	34.3352	6401
+-118.2357	48.0443	7201
+-88.8121	35.7651	7681
+-112.5484	30.7863	6923
+-111.5936	29.4518	6791
+-119.1463	35.2406	7158
+-118.4359	33.7291	8188
+-91.6017	36.8558	6997
+-83.5596	27.7035	8277
+-83.721	29.9267	6860
+-90.5557	41.0276	6962
+-121.3615	45.7632	7460
+-117.2245	29.6921	6256
+-117.1045	36.857	6562
+-119.4353	33.6496	7114
+-125.3662	47.715	6775
+-90.4766	39.0666	9069
+-89.3662	35.6282	7431
+-91.7691	39.3596	7793
+-127.196	45.9775	4763
+-89.4387	38.3351	8751
+-124.5727	49.201	6540
+-117.4822	35.4016	8135
+-117.2813	45.6169	8082
+-90.2361	36.1023	7406
+-118.2076	38.5196	4644
+-89.6312	39.5967	8204
+-107.0325	35.0328	4301
+-115.394	30.6697	6784
+-114.9865	35.9861	6333
+-110.9986	29.5658	7172
+-81.33	26.2602	7961
+-118.7121	31.8331	7518
+-110.6789	31.7833	9041
+-85.2989	41.8379	3726
+-112.1939	32.5659	7194
+-107.8882	32.9911	6417
+-92.4211	35.6953	5467
+-117.4602	33.1386	9096
+-84.4838	41.5513	3324
+-80.9198	26.4924	7902
+-119.0603	31.9955	7244
+-115.8888	30.7618	7165
+-83.734	28.5972	7852
+-117.6609	30.7986	7373
+-113.9913	34.6433	5922
+-118.0614	31.474	7821
+-122.4953	47.6763	8709
+-81.5701	27.3544	9103
+-116.8908	34.7549	8745
+-82.779	27.4134	9060
+-117.6465	33.6183	8840
+-113.5023	31.6091	6040
+-88.9164	42.3944	5190
+-94.6885	37.5866	4618
+-109.0016	27.7971	5125
+-117.0808	30.1444	6770
+-121.3141	44.3208	6217
+-117.8278	46.7796	8394
+-109.8985	30.3723	8079
+-123.5148	47.8739	8402
+-118.2931	44.3579	7415
+-108.7062	33.1388	7035
+-108.6446	34.1166	6175
+-118.8251	36.2777	6646
+-117.3869	48.8904	6157
+-108.2393	29.3884	6187
+-117.8687	33.7406	8754
+-111.8931	33.1932	7045
+-116.7069	44.3177	6741
+-82.7915	31.4114	5702
+-115.91	33.761	8003
+-93.5483	37.7388	5843
+-88.3054	29.9165	2498
+-88.987	41.4559	6142
+-118.1926	33.4383	8275
+-121.9238	29.388	3030
+-81.0483	29.5358	7544
+-114.2493	32.2611	6659
+-89.2095	37.2947	9166
+-81.8121	27.1263	9082
+-112.9272	31.6855	6661
+-91.257	32.5773	3456
+-117.9319	32.9116	8671
+-119.5399	32.2809	6821
+-116.8847	29.6233	6190
+-118.0995	36.3575	6947
+-120.4881	44.9138	6609
+-88.6328	37.6528	9664
+-123.6746	49.4542	6744
+-124.3231	44.8032	6761
+-85.5709	26.0878	5564
+-120.626	44.3628	6172
+-83.3571	29.9526	7058
+-111.3109	34.9454	5680
+-122.9119	45.5824	8085
+-117.817	43.8146	6790
+-110.9351	33.8844	6897
+-92.9693	37.1478	6145
+-118.4833	46.3957	8883
+-108.6551	31.6565	7654
+-88.008	33.828	5424
+-111.6351	29.3929	6713
+-124.3997	45.7732	7501
+-120.42	32.4564	5880
+-91.046	38.7501	8710
+-81.9106	26.3015	8216
+-83.2799	31.6182	5346
+-81.2004	29.0811	8069
+-118.7695	44.3198	7306
+-123.9087	46.209	8220
+-117.6117	33.996	9133
+-115.4174	30.6275	6762
+-110.5614	32.3282	8629
+-114.393	45.7375	5123
+-79.0778	30.3753	5347
+-120.4154	35.0459	5962
+-122.6738	47.2508	9207
+-116.2521	30.7189	7281
+-91.3975	35.9491	6214
+-119.4163	34.9868	7015
+-91.3212	42.139	5634
+-117.2209	30.8455	7536
+-113.4687	33.7293	5721
+-111.8627	28.0369	5289
+-87.6896	37.4744	8587
+-93.1311	36.0967	5307
+-117.608	45.952	8528
+-117.7019	35.604	7865
+-90.1448	36.0198	7405
+-126.1081	45.1291	5544
+-91.3648	39.9016	7793
+-110.3344	31.3379	9208
+-81.3142	29.3142	7911
+-119.8394	35.3602	6429
+-109.1773	30.2914	7595
+-81.3811	28.8212	8427
+-118.2022	48.2385	6994
+-114.9879	34.4102	7034
+-83.8129	38.5436	4168
+-90.0638	38.3096	8838
+-121.6848	46.4158	8140
+-125.2826	48.1664	6675
+-117.1703	31.3641	8117
+-91.1748	39.6371	8143
+-84.1983	29.4685	6865
+-119.7143	34.5872	6822
+-119.4904	29.5839	5178
+-116.8688	42.4924	5157
+-90.5795	39.5732	8512
+-119.522	37.7932	4848
+-89.1823	40.7055	6951
+-118.7017	34.6061	7890
+-81.9234	26.7274	8693
+-89.3546	38.6892	8314
+-90.9003	37.5041	7970
+-116.8331	34.7946	8675
+-117.2523	32.9312	9409
+-86.3692	40.4423	5698
+-116.9223	33.0612	9476
+-87.1277	40.0932	6528
+-120.9478	43.7214	5478
+-116.6723	32.5013	9272
+-89.2647	38.8847	8210
+-119.9844	44.1136	6491
+-85.979	26.3419	5253
+-121.905	33.1842	4373
+-125.0257	46.84	7267
+-89.6359	34.8539	6511
+-117.2667	44.2001	6978
+-116.3963	35.7327	7552
+-120.7377	45.3831	6553
+-116.0327	47.816	6263
+-91.555	37.9867	7917
+-92.2293	40.7975	6453
+-120.6126	46.1457	6793
+-82.1207	26.4365	8388
+-117.7932	34.5242	8823
+-82.1084	29.7375	7662
+-118.5621	37.4951	5608
+-86.1033	36.7332	6647
+-123.9331	48.6984	7391
+-119.415	33.665	7139
+-87.907	38.5224	8453
+-117.8513	49.0757	6076
+-87.7699	34.5825	6177
+-84.4238	29.2868	6782
+-89.6001	38.9047	8564
+-119.2827	35.7777	6700
+-118.0187	44.0943	7118
+-114.6134	27.2348	2996
+-80.9079	26.4256	7837
+-86.6149	35.9434	6721
+-90.8057	37.1488	7640
+-81.5286	24.4356	6062
+-82.8063	26.7436	8507
+-93.033	42.2541	4689
+-111.5259	34.3166	6242
+-83.3349	29.4114	7588
+-109.2419	32.2312	8098
+-90.094	35.7034	7155
+-88.7697	42.0747	5441
+-123.4858	46.3965	8708
+-82.3425	25.0762	6839
+-89.9394	39.2101	8735
+-113.466	35.3023	5200
+-120.326	45.0413	6824
+-88.8216	38.4159	8971
+-91.7293	40.1193	7355
+-84.3842	27.3141	7295
+-123.0147	45.6098	8110
+-80.8531	31.7285	5182
+-80.4966	27.469	8010
+-110.6463	31.3162	9028
+-119.4955	34.2634	7102
+-122.4171	49.304	6984
+-91.4306	36.3059	6558
+-107.2408	36.1594	3490
+-107.505	30.0661	5996
+-83.9734	29.1737	7272
+-88.1776	39.3953	7764
+-124.2578	48.4514	7396
+-95.8424	39.1198	3527
+-112.0377	31.4849	7624
+-124.9739	49.6517	5879
+-116.475	32.4407	9063
+-118.4866	46.5356	8752
+-104.5342	30.8989	3147
+-122.1503	46.8498	8773
+-126.1253	49.4705	5120
+-124.5197	49.9188	5907
+-85.3645	36.5881	5809
+-106.8815	33.662	5108
+-119.5747	45.8698	7871
+-115.994	44.8286	6487
+-90.5156	37.155	7699
+-116.1866	34.426	8317
+-110.487	30.5835	8378
+-88.087	38.6541	8469
+-117.2843	31.5862	8335
+-120.2623	48.8651	6036
+-118.0603	37.6244	5633
+-119.9175	47.7146	6828
+-121.5764	49.7284	6242
+-91.1245	39.5216	8271
+-92.4659	39.7602	6930
+-91.2989	40.2892	7494
+-117.2278	34.0882	9473
+-82.4564	27.012	8964
+-118.4054	36.6188	6556
+-113.3804	34.3488	5292
+-81.6879	24.2701	5905
+-113.6692	32.7914	6075
+-88.8173	33.4455	5077
+-93.9574	36.7459	5008
+-117.1309	30.1321	6753
+-112.0112	32.3427	7478
+-92.0533	38.9821	7607
+-119.4063	31.6115	6718
+-87.4577	36.5883	7912
+-117.8325	32.9061	8782
+-87.9865	35.5199	7252
+-91.33	39.6832	7992
+-119.1145	34.1302	7522
+-118.941	49.704	5381
+-82.4097	28.0819	9418
+-90.7186	42.926	4909
+-86.7838	33.9904	5127
+-86.2416	35.9296	6375
+-111.1472	31.8736	8537
+-89.7509	36.5778	8168
+-88.8182	38.4547	8928
+-117.8364	45.28	8271
+-114.4507	34.3139	6460
+-87.0508	39.3309	7131
+-84.8751	36.8843	5360
+-117.4021	31.1449	7826
+-115.675	44.2923	5900
+-89.3175	36.0296	7877
+-120.0214	43.7645	6177
+-89.0645	35.8803	7783
+-119.9974	27.524	2950
+-83.3509	26.3406	7771
+-92.1859	40.0477	7030
+-89.4747	35.1638	6896
+-113.042	30.6197	6359
+-85.3949	28.4229	6128
+-91.918	36.4762	6468
+-121.5424	47.1809	8096
+-111.2705	35.2353	5389
+-117.4443	33.0851	9142
+-119.8766	32.9348	6405
+-120.4676	33.0766	5861
+-78.8609	25.3529	5292
+-113.3179	28.5092	4831
+-123.7053	46.1836	8372
+-118.5419	33.6613	8055
+-93.539	36.2676	5097
+-88.9172	35.1555	6992
+-114.3868	30.0282	5516
+-87.5464	42.4324	4414
+-83.3153	29.666	7361
+-118.548	33.4303	7944
+-87.9776	37.6977	8929
+-77.0301	28.618	4039
+-114.7705	29.0781	4917
+-80.9073	25.6289	7104
+-108.0661	27.3824	4301
+-118.6698	33.7132	7940
+-87.2811	37.5123	8139
+-119.4316	45.6267	7945
+-112.4531	30.1864	6723
+-121.1027	43.323	5069
+-91.3217	42.4605	5299
+-107.6324	29.5727	5825
+-124.6788	45.9765	7370
+-81.8118	30.9249	6301
+-93.362	41.6287	4960
+-87.7023	37.8708	8599
+-87.1144	34.2858	5592
+-82.8448	29.3626	7916
+-120.577	33.9944	5924
+-109.5585	32.6809	8018
+-116.4738	33.7714	8587
+-88.3534	40.7858	6326
+-117.7941	46.5383	8565
+-122.867	46.0541	8603
+-119.7586	34.6191	6768
+-85.8312	38.3347	6436
+-82.2147	27.5696	9651
+-119.1737	32.6297	7282
+-122.0615	45.8307	8055
+-118.1285	46.8281	8472
+-117.4097	35.3369	8216
+-118.9255	33.8781	7707
+-115.4402	30.341	6509
+-118.2727	47.6082	7663
+-81.3349	27.0127	8650
+-118.3612	37.1579	6029
+-116.8529	35.8022	7662
+-86.3873	38.9647	6772
+-84.3411	41.0418	3567
+-120.3916	48.6898	6263
+-81.3746	27.7575	9034
+-116.3753	30.5637	7155
+-119.1854	31.6479	6956
+-80.9367	30.7703	6234
+-112.2177	31.7231	7426
+-115.9564	47.2853	6495
+-89.9321	38.41	8815
+-80.5944	26.0122	7252
+-118.5115	34.6287	8076
+-119.2338	36.1522	6463
+-87.9386	35.781	7504
+-87.0256	38.3486	7716
+-114.0376	35.8762	5535
+-116.3988	44.9033	6896
+-118.0133	45.47	8535
+-114.0203	34.3998	5985
+-85.7343	36.0797	5974
+-120.2335	33.8512	6287
+-91.1014	37.6442	8003
+-113.1973	33.5405	5715
+-117.6948	27.012	3228
+-123.0647	46.3327	8887
+-114.447	30.3899	5851
+-119.2768	45.7538	8146
+-88.9186	38.3863	8989
+-109.4292	31.5752	8494
+-123.0678	46.0035	8532
+-89.3799	38.6826	8340
+-89.0997	39.6729	7720
+-126.9617	44.0686	4124
+-116.536	36.472	6865
+-118.8268	46.558	8508
+-114.0013	33.0138	6438
+-118.3292	45.499	8622
+-90.1588	37.7213	8289
+-88.9141	38.7214	8619
+-124.7185	48.8983	6692
+-110.3474	31.1449	8998
+-88.5779	36.9534	8988
+-85.6342	33.6967	4139
+-111.0388	32.201	8458
+-90.7423	40.0324	7989
+-119.3012	37.0755	5636
+-119.7421	46.2475	7708
+-95.0317	41.3902	3662
+-122.6285	48.2124	8205
+-115.0684	32.1174	7497
+-111.5704	31.8544	8101
+-83.159	28.3801	8540
+-119.2363	32.4995	7197
+-118.2304	31.514	7728
+-83.0423	27.6735	8859
+-121.3709	46.5813	7874
+-106.2198	26.7191	2572
+-90.8752	37.177	7648
+-89.1137	40.8758	6755
+-115.1768	29.7983	5839
+-121.3397	45.2752	7078
+-123.9638	47.8683	8074
+-117.2384	35.2175	8355
+-89.2516	39.7897	7768
+-114.9715	33.9097	7215
+-92.227	40.5962	6612
+-118.7148	30.1751	6220
+-117.4105	45.5314	8157
+-115.3268	31.422	7352
+-111.28	32.7258	7866
+-118.3033	45.1429	8247
+-90.5904	37.3395	7888
+-85.8565	26.5458	5460
+-82.1219	27.7426	9862
+-88.4828	40.9958	6253
+-117.9137	31.6113	8043
+-123.1057	45.2954	7756
+-94.2501	40.2565	4951
+-87.6687	41.0115	5863
+-125.8622	47.5855	6282
+-91.9819	41.5537	5946
+-108.52	33.9539	6240
+-89.3369	38.8657	8290
+-82.0559	25.6655	7514
+-125.8225	45.2515	5883
+-112.0296	30.8271	7461
+-118.7529	41.9667	4855
+-112.6079	30.5283	6757
+-121.0462	46.1605	7385
+-83.7001	25.1953	6486
+-115.5953	35.7723	6984
+-113.312	32.9179	5937
+-81.1818	25.8242	7445
+-111.4395	28.7002	6128
+-117.4806	32.3211	8956
+-112.9927	32.6315	6376
+-111.0315	33.1464	7619
+-116.8041	44.4426	6908
+-116.3261	37.6546	5562
+-124.6297	46.7634	7693
+-113.8359	34.6634	5751
+-117.3268	45.7162	8169
+-114.8877	32.9733	7427
+-90.0668	35.8177	7278
+-82.7909	31.7582	5316
+-114.2118	31.4025	6299
+-118.8246	32.9535	7675
+-85.4747	29.7991	5468
+-126.6818	46.5335	5424
+-82.942	27.1706	8756
+-117.2719	32.8884	9403
+-90.7278	42.0153	5885
+-86.8384	38.3907	7503
+-114.1704	31.2288	6166
+-91.2196	37.9817	8200
+-89.048	40.3828	7151
+-123.4938	45.5195	7888
+-122.5542	49.1236	7206
+-110.2452	29.0299	6705
+-121.1411	48.9164	6721
+-117.4959	35.0521	8505
+-120.2923	31.2193	5638
+-110.3169	28.1706	5776
+-112.0811	32.4935	7339
+-89.9856	40.9041	7063
+-107.0977	30.1254	5629
+-114.1705	29.6652	5054
+-81.0956	28.6812	8328
+-114.2611	32.4435	6707
+-122.1728	45.6406	7945
+-115.3102	33.2476	7844
+-89.3907	39.3613	8168
+-122.3606	44.5267	6861
+-85.2525	26.3937	6037
+-113.2977	32.5347	6100
+-111.0524	34.4687	6252
+-120.0167	47.4598	6927
+-82.0903	24.0603	5699
+-81.9081	31.0276	6194
+-119.3162	34.2875	7296
+-124.7147	48.059	7279
+-117.3919	32.0034	8729
+-108.1982	32.2677	7044
+-118.8082	29.2949	5320
+-117.028	31.4046	8176
+-113.5497	37.1144	4340
+-91.7156	40.5103	7045
+-88.9319	38.7143	8624
+-80.1557	28.717	7410
+-123.8989	48.1238	7927
+-109.3522	27.4828	4905
+-112.4705	32.7319	6845
+-89.9628	35.999	7512
+-120.0545	31.5298	6021
+-81.6406	25.6173	7398
+-115.2014	29.5372	5599
+-117.9146	45.9729	8848
+-92.0251	35.772	5759
+-106.1798	32.5748	4847
+-116.0861	33.1526	8702
+-91.3895	38.9775	8312
+-89.9489	34.8379	6374
+-120.0318	45.6203	7340
+-107.2645	31.9644	6123
+-119.8999	46.2376	7542
+-117.8211	35.555	7873
+-90.349	40.8683	7141
+-89.8153	39.344	8539
+-126.6597	47.6401	5410
+-112.387	33.4601	6459
+-81.2651	24.7007	6287
+-89.6561	40.8017	7078
+-84.9312	38.3315	5445
+-119.3677	46.092	8112
+-121.0129	48.2296	7111
+-123.5067	43.3973	5629
+-112.4595	28.1054	5057
+-120.0043	43.6817	6117
+-117.8435	45.9987	8783
+-88.7108	38.7288	8620
+-109.2572	34.3271	6280
+-89.939	39.2467	8706
+-88.904	36.9931	9044
+-116.1934	43.3542	5606
+-116.8479	30.87	7578
+-115.7983	32.6128	8430
+-116.0658	32.2557	8569
+-115.241	34.264	7324
+-91.3907	39.4351	8111
+-112.2454	32.8566	6985
+-87.2326	39.0459	7499
+-117.7674	37.5788	5740
+-115.3413	33.0442	7922
+-92.2547	41.7904	5576
+-90.0865	40.0149	8024
+-82.0666	28.1032	9504
+-80.7998	26.7639	8005
+-122.3411	32.6772	3779
+-123.5172	48.998	7274
+-84.4277	37.9856	4931
+-123.2019	49.1292	7207
+-123.953	48.8844	7203
+-108.7262	34.4282	5933
+-119.7447	44.6881	7109
+-83.6154	28.2464	8130
+-79.8985	27.712	7363
+-108.8503	30.5657	7525
+-120.8683	33.8389	5596
+-116.2251	36.1948	7018
+-120.0623	35.5447	6122
+-115.358	30.2911	6413
+-82.1428	29.1674	8308
+-115.561	35.5639	7110
+-78.3882	26.2124	5305
+-94.5639	37.8897	4824
+-116.2709	44.4429	6500
+-114.7906	35.2564	6572
+-120.0458	34.0494	6505
+-116.2593	34.6018	8326
+-118.2379	46.099	9213
+-87.7459	34.6752	6268
+-114.5272	45.8463	5273
+-117.1549	30.4972	7157
+-79.9728	29.6713	6634
+-117.2584	32.5664	9324
+-116.7677	33.2322	9239
+-123.724	48.7695	7428
+-84.3545	24.5939	5511
+-117.0368	48.7436	6165
+-117.0068	35.4763	8046
+-109.6307	30.1854	7778
+-91.6717	43.0732	4562
+-116.3255	45.6395	7131
+-118.6731	47.0763	8147
+-90.1309	37.3632	8246
+-116.2709	46.7047	7035
+-122.2141	47.3992	8715
+-86.7701	38.197	7496
+-118.3396	44.4246	7485
+-115.4873	48.9057	5065
+-119.6612	47.5893	7112
+-117.183	33.4098	9048
+-87.3693	36.2842	7609
+-91.9019	38.2326	7695
+-88.0223	37.0919	8760
+-86.0406	36.7782	6597
+-118.1459	34.5123	8493
+-117.6349	35.0417	8469
+-91.4736	40.322	7362
+-125.5375	49.0146	5938
+-90.0859	40.0541	7983
+-122.3306	43.6952	5958
+-81.6673	29.5174	7843
+-87.8712	40.3844	6602
+-125.0267	49.2039	6215
+-88.0854	37.1993	8888
+-84.0176	30.0119	6576
+-121.2247	44.0225	5885
+-89.3599	38.6964	8320
+-81.05	26.7837	8238
+-113.6358	29.3483	5153
+-115.4676	32.0737	7887
+-91.3076	38.154	8239
+-91.9855	39.2974	7599
+-123.6349	46.6198	8713
+-80.6424	27.3929	8154
+-110.3489	30.07	7834
+-126.2703	47.5571	5847
+-116.257	42.621	4997
+-84.1001	29.0557	7232
+-90.7248	37.2741	7792
+-111.7738	30.3532	7421
+-84.9169	31.532	4595
+-111.9693	31.5471	7701
+-91.7475	34.7884	5164
+-87.6907	39.9699	6961
+-118.6112	48.2163	6992
+-118.5475	32.7403	7987
+-84.6513	30.1089	6002
+-88.9483	37.3931	9447
+-115.8556	33.717	8158
+-116.6504	37.0543	6281
+-88.1136	37.6726	9082
+-111.4071	30.7353	7991
+-84.6189	28.5507	6944
+-83.0036	29.4931	7705
+-113.3091	34.3672	5213
+-125.2864	45.5084	6534
+-114.3927	32.2982	6824
+-117.8159	37.3377	5992
+-114.5449	32.1095	6939
+-88.8942	38.3105	9078
+-81.6358	29.6806	7655
+-125.2185	46.8064	7053
+-89.4794	35.6298	7393
+-110.0799	34.6905	6096
+-92.1745	40.0959	7009
+-118.2682	34.5831	8340
+-116.0214	29.9461	6382
+-92.7331	38.4361	6869
+-119.8112	43.5666	6127
+-106.8487	31.7459	5694
+-83.6568	25.2285	6543
+-90.42	39.685	8416
+-117.6375	33.8374	9020
+-89.6848	37.9902	8722
+-124.8177	46.9534	7499
+-90.6158	38.2708	8850
+-125.6453	44.452	5516
+-88.2575	39.7783	7376
+-113.7447	34.9906	5584
+-83.1126	26.4118	8001
+-80.344	25.7215	6818
+-116.0077	45.8796	6839
+-112.3603	29.9817	6675
+-119.4758	45.625	7901
+-115.504	32.7205	8118
+-118.4583	34.3968	8207
+-94.4681	37.8858	4924
+-122.8133	48.0571	8404
+-124.9651	44.61	6164
+-124.4891	43.038	4950
+-118.6917	45.3971	8400
+-117.7509	36.3161	7099
+-115.496	29.9785	6188
+-84.2959	28.047	7425
+-117.1259	46.2457	8025
+-90.1431	39.2786	8799
+-124.9909	43.4495	5111
+-115.5877	34.1068	7706
+-81.2691	24.9298	6537
+-109.2021	32.7885	7683
+-85.8569	37.1929	6506
+-89.3113	39.6882	7889
+-121.1656	47.2695	7672
+-121.7359	49.5667	6476
+-118.2667	35.2343	7915
+-119.5577	33.4459	6929
+-79.2045	24.3391	4792
+-119.34	45.8369	8107
+-82.4049	29.4106	8007
+-115.1771	33.203	7711
+-89.3384	34.6779	6400
+-92.8255	38.2729	6742
+-116.895	29.9459	6550
+-122.3455	47.3661	8855
+-89.4219	38.7688	8388
+-87.9117	39.0031	8034
+-116.5939	43.8164	6252
+-117.1009	35.283	8271
+-84.0746	38.2276	4511
+-123.0774	44.6833	7090
+-84.5568	28.767	6926
+-93.2001	37.0412	5873
+-82.768	31.1612	5985
+-120.1351	46.596	7230
+-110.1177	28.7899	6438
+-112.8068	33.1744	6287
+-88.7395	39.4951	7479
+-108.6028	29.0613	6160
+-114.0502	37.3595	4568
+-108.3712	30.763	7169
+-112.2683	32.9586	6902
+-117.3251	33.8848	9259
+-109.435	28.6149	6113
+-118.9705	47.3118	7785
+-90.6576	36.089	7051
+-91.8689	39.5181	7622
+-121.4906	49.0297	6861
+-87.3256	35.4966	6892
+-116.6041	31.8299	8580
+-121.2164	46.2298	7587
+-110.2947	32.1119	8899
+-117.1982	32.5682	9374
+-118.2816	31.5643	7727
+-118.8531	28.9171	4921
+-119.2136	44.1508	6973
+-92.6253	39.4596	6890
+-111.1511	33.2827	7430
+-119.2567	46.45	8165
+-112.7947	32.6566	6564
+-91.4116	39.3173	8159
+-115.8783	44.5093	6207
+-118.9176	41.5787	4425
+-115.7585	33.077	8374
+-116.6533	42.5285	5103
+-116.9399	47.2754	7370
+-112.2948	35.3639	4859
+-110.1873	32.902	8036
+-80.8247	28.3771	8259
+-106.8296	32.9671	5392
+-122.2829	47.6722	8576
+-79.8242	27.5343	7267
+-83.8831	25.6881	6819
+-84.7514	29.9083	6066
+-81.9991	28.934	8563
+-118.9728	47.8445	7274
+-124.0501	47.0572	8339
+-115.657	43.9075	5637
+-117.9035	33.9698	8821
+-111.1905	28.3033	5800
+-90.8875	35.4676	6386
+-117.3049	34.9617	8633
+-89.4803	36.2715	8057
+-120.9014	38.5281	3317
+-121.7104	44.9387	7023
+-119.576	44.1171	6754
+-119.0679	36.882	5953
+-127.4417	46.2508	4555
+-89.2281	40.7609	6925
+-86.3971	36.3714	6784
+-90.9811	40.5279	7403
+-83.2356	25.6198	7162
+-91.3484	38.0162	8118
+-112.3091	35.6949	4531
+-119.5699	47.7002	7086
+-91.78	35.9634	6065
+-88.4404	37.9972	9293
+-81.5718	24.7398	6410
+-90.629	34.4061	5601
+-117.8016	31.0485	7572
+-121.4822	46.254	7863
+-117.756	35.2333	8225
+-110.5468	29.8946	7629
+-113.625	33.8749	5843
+-91.6903	39.3411	7878
+-110.2917	30.9678	8805
+-117.489	30.3448	6935
+-115.7963	32.7911	8447
+-118.6944	43.4477	6418
+-82.0855	27.0502	9080
+-116.8682	44.8598	7268
+-125.0521	42.3632	4023
+-93.574	36.7794	5382
+-120.3691	33.2766	6027
+-117.9108	34.6478	8639
+-116.0302	34.0218	8184
+-105.7752	31.614	4535
+-84.9608	39.4716	5087
+-111.5891	32.7953	7583
+-119.4351	48.3047	6626
+-123.7683	48.5059	7665
+-112.5729	29.0998	5850
+-113.0742	31.5273	6503
+-113.4877	31.3666	6048
+-88.9246	41.5359	6035
+-118.8832	43.4597	6393
+-120.3593	41.8327	4235
+-90.6797	38.4766	8990
+-109.8595	32.0357	8764
+-90.4222	36.5755	7590
+-112.2187	31.9147	7400
+-122.7968	45.7711	8288
+-118.1137	36.3437	6956
+-117.7929	33.5084	8647
+-116.2249	29.0675	5490
+-115.6842	36.082	6800
+-81.8519	28.2006	9307
+-118.5568	33.1681	7780
+-108.8543	31.9261	7829
+-121.0769	46.3828	7503
+-80.5573	27.2147	8003
+-87.217	41.7179	4945
+-114.169	45.9657	4901
+-88.2029	36.3537	8212
+-123.2436	47.1846	9159
+-122.9627	45.4487	7937
+-83.1313	28.0278	8725
+-120.246	46.3082	7170
+-82.8847	29.6963	7550
+-92.2191	41.9371	5460
+-88.7153	35.521	7407
+-88.0227	40.4921	6535
+-82.2769	28.0994	9482
+-118.4698	30.9547	7084
+-118.1409	33.7271	8486
+-116.7513	35.2748	8172
+-88.9195	35.5494	7433
+-84.1268	26.1827	7012
+-109.0578	29.7463	7051
+-109.753	35.3858	5306
+-117.6565	34.4704	8976
+-115.4428	32.4077	7993
+-109.6226	31.4948	8698
+-118.1289	48.1062	7130
+-107.0283	31.4346	5889
+-82.1589	28.5431	9013
+-92.9048	36.4733	5763
+-110.5351	32.8096	8127
+-118.7167	41.0674	3911
+-117.0165	34.5078	9047
+-124.077	46.2425	8088
+-119.538	33.7155	7019
+-82.2753	26.4848	8433
+-114.935	34.6339	6937
+-117.9684	30.6889	7130
+-118.1528	35.1379	8077
+-121.3381	44.7793	6653
+-87.518	41.4468	5183
+-117.7554	32.4497	8783
+-88.6338	38.3775	9003
+-119.7856	33.1942	6605
+-78.4022	29.2094	5367
+-93.0021	37.9806	6482
+-83.4397	26.3568	7718
+-81.3794	27.9709	9009
+-115.0665	45.7408	5833
+-116.7293	31.3445	8090
+-82.635	25.5519	7323
+-122.9034	47.4198	9108
+-90.3455	36.6712	7720
+-89.0276	38.4017	8939
+-119.3007	46.325	8157
+-90.4905	38.1978	8818
+-118.458	30.9342	7074
+-108.3402	32.2136	7209
+-85.5091	37.5504	6156
+-112.1051	29.6401	6624
+-118.9932	32.4222	7450
+-90.1568	37.8476	8421
+-120.2043	47.2102	6911
+-106.9716	33.408	5329
+-120.2538	35.7273	5844
+-117.2256	46.5465	8045
+-119.2335	28.3062	4122
+-113.636	33.7893	5883
+-113.4473	31.0271	6046
+-107.4453	33.857	5491
+-86.00	38.9303	6401
+-81.7883	26.3679	8263
+-90.3757	38.1173	8742
+-88.1925	35.4066	7198
+-118.1522	32.2894	8306
+-110.8051	32.2662	8574
+-83.2811	26.9189	8278
+-88.9455	38.5219	8834
+-120.9381	47.1697	7439
+-88.034	37.8044	8978
+-79.374	31.0471	5043
+-91.4722	42.4516	5266
+-114.506	29.3735	5032
+-109.6535	32.1328	8527
+-123.3272	47.1543	9094
+-119.1437	46.6935	8154
+-91.3907	38.2791	8226
+-92.2241	37.8347	7209
+-123.2048	49.9935	6264
+-82.4068	28.1794	9332
+-122.877	47.1273	9428
+-120.6318	43.6467	5664
+-90.0541	35.0563	6549
+-119.7012	45.0535	7394
+-118.5981	32.0594	7747
+-125.055	48.5439	6672
+-116.5061	49.6919	5016
+-123.1288	46.7402	9253
+-87.8494	34.4318	6042
+-116.7973	47.4393	7142
+-121.8154	45.096	7231
+-118.421	32.5912	8111
+-118.6638	48.6228	6558
+-118.4188	49.6164	5534
+-121.9594	45.7619	7927
+-109.4298	28.19	5669
+-117.0011	36.3267	7128
+-112.0613	31.8563	7578
+-110.3864	31.8132	9218
+-90.3222	36.6405	7724
+-118.5865	45.3632	8417
+-108.5983	32.2857	7446
+-114.3995	33.4961	6791
+-84.1161	30.7972	5795
+-114.6428	34.7875	6588
+-89.2984	32.6473	4150
+-116.3351	32.233	8794
+-120.1745	33.9779	6361
+-118.2252	34.5744	8387
+-123.3949	47.8498	8494
+-88.0512	36.9581	8685
+-82.0757	26.9989	9021
+-116.6667	35.7772	7629
+-115.1487	45.6933	5913
+-118.3808	32.8323	8175
+-121.8817	47.9711	8035
+-87.8104	39.0354	7940
+-116.3114	31.1815	7788
+-112.018	32.2728	7501
+-90.0893	39.0365	8982
+-118.066	32.5727	8497
+-89.6264	37.5482	8841
+-118.5312	47.0865	8183
+-109.9199	31.9121	8901
+-89.7566	38.6842	8745
+-115.5502	34.9266	7475
+-90.8283	35.9406	6797
+-118.8395	34.7759	7685
+-116.855	44.3351	6856
+-117.5547	45.7826	8419
+-122.7582	49.2878	7051
+-87.6104	42.944	4005
+-90.4508	40.3273	7723
+-91.7971	38.3023	7826
+-89.6579	37.7601	8809
+-90.225	38.8023	9245
+-115.0752	33.3742	7553
+-116.4101	36.8231	6459
+-121.3593	48.7648	7005
+-109.8962	32.5699	8304
+-119.3183	48.2782	6706
+-109.6545	29.2292	6819
+-86.0486	37.8424	6758
+-116.9211	34.5866	8916
+-120.1342	33.9882	6406
+-118.7098	43.7733	6755
+-119.0996	36.1464	6568
+-107.2465	31.5211	6128
+-114.8699	43.7591	4877
+-119.1135	44.6785	7517
+-122.5004	44.6237	6995
+-115.8472	29.8187	6183
+-118.5181	45.4124	8491
+-107.3922	28.9718	5212
+-110.0674	30.312	8066
+-112.3638	29.7756	6528
+-117.8473	34.0161	8892
+-115.8755	32.2163	8364
+-78.5856	31.134	4359
+-107.8283	29.6244	6028
+-88.7994	35.2423	7094
+-111.3629	28.6906	6147
+-113.348	31.0758	6161
+-120.4959	45.8631	6904
+-116.4394	33.0283	9119
+-124.4623	48.6793	7059
+-117.3809	33.4891	8824
+-115.6083	32.0171	7995
+-119.0721	47.0804	7928
+-123.4608	46.1538	8521
+-121.2535	49.8529	5956
+-83.4353	27.1938	8283
+-108.9424	32.3661	7744
+-90.7543	37.3108	7822
+-120.939	49.9015	5728
+-121.1645	45.7245	7261
+-113.7426	30.0791	5436
+-117.9561	29.36	5742
+-110.5638	31.8918	9056
+-124.4305	47.7157	7734
+-87.5763	37.4057	8447
+-89.8701	35.9172	7494
+-122.7435	43.73	6046
+-118.8392	33.3416	7617
+-119.1991	48.5511	6489
+-116.0333	33.8653	8161
+-116.943	34.2279	9170
+-115.9729	33.8647	8097
+-115.0472	42.7059	4294
+-82.0482	25.8499	7722
+-124.9996	46.2013	7151
+-117.6939	33.7176	8888
+-113.717	33.8952	5934
+-107.6722	29.4598	5785
+-85.5571	35.4222	5419
+-123.871	49.6424	6479
+-116.5909	31.6852	8423
+-87.5699	38.1823	8352
+-115.696	37.5286	5457
+-89.6024	37.1292	8700
+-115.7891	47.8508	6033
+-117.3502	49.6576	5365
+-119.8341	33.0686	6506
+-125.3853	49.8447	5428
+-85.485	34.6568	4817
+-108.0622	31.6971	7010
+-123.7287	48.3985	7789
+-88.45	34.2716	5988
+-89.1974	39.1678	8069
+-114.8659	29.4243	5302
+-118.6503	31.6119	7444
+-111.8064	31.5794	7878
+-88.396	38.3048	8986
+-109.8894	29.8641	7550
+-118.8736	46.6852	8380
+-90.4736	35.1283	6382
+-83.9329	27.4895	7833
+-118.0068	33.3777	8384
+-82.8193	28.4789	8774
+-116.0654	37.8222	5306
+-122.7756	49.0453	7318
+-108.2791	31.0105	7163
+-119.1928	34.5865	7379
+-111.5442	31.267	8118
+-90.7284	35.3676	6423
+-86.1797	39.1334	6477
+-84.7254	28.6622	6790
+-121.4673	35.1933	4812
+-83.5621	32.506	4292
+-90.3621	37.9838	8598
+-92.1706	38.1959	7408
+-115.0283	32.5741	7574
+-91.6802	39.1696	7955
+-122.6671	48.1953	8232
+-86.8762	38.8078	7336
+-86.8535	42.755	3670
+-79.6883	27.5804	7118
+-120.599	43.8896	5870
+-122.1863	49.6573	6548
+-93.6356	37.6166	5712
+-117.1867	46.4136	8053
+-79.8088	28.3892	7170
+-111.3319	31.7397	8378
+-91.5382	38.9864	8154
+-117.574	34.8783	8659
+-119.928	31.5765	6172
+-116.2685	37.2171	6002
+-124.1135	47.7186	8038
+-114.7408	33.9883	6947
+-121.1858	47.8662	7479
+-90.1419	37.3342	8227
+-86.5332	38.1996	7237
+-87.9033	37.0574	8629
+-120.1983	44.2321	6427
+-126.0751	46.5442	6087
+-89.3028	35.9955	7846
+-119.4711	30.3432	5827
+-116.1606	37.515	5657
+-82.7553	31.4621	5653
+-105.1812	31.1447	3871
+-86.2596	38.6399	6796
+-82.9698	28.961	8243
+-80.415	24.759	5974
+-113.5457	32.2987	5908
+-116.7337	38.3816	4867
+-112.2009	26.4383	3543
+-120.1207	33.367	6314
+-122.5955	48.3799	8018
+-109.1567	31.352	8174
+-81.656	25.2037	6943
+-115.969	33.302	8515
+-117.4942	29.6168	6136
+-119.6291	29.7678	5238
+-84.118	27.349	7598
+-116.0033	35.3973	7589
+-116.9493	33.8411	9067
+-117.9401	34.1846	8801
+-117.4916	34.0543	9278
+-111.8386	29.613	6787
+-118.9555	43.4018	6316
+-124.1832	46.5723	8131
+-89.0709	38.0221	9289
+-89.2515	37.1241	8999
+-91.0105	39.4221	8433
+-85.2033	27.2655	6373
+-115.5547	44.4444	5880
+-117.2377	30.8101	7494
+-122.3262	46.6593	8891
+-89.4487	40.0458	7702
+-85.8895	41.2895	4621
+-110.0133	33.4528	7419
+-121.0662	46.224	7433
+-88.1664	35.4146	7200
+-83.2929	27.2542	8458
+-90.1912	38.9815	9100
+-89.8323	41.9675	5906
+-92.2122	37.4899	7030
+-123.2904	48.6903	7664
+-89.5466	38.9267	8503
+-80.6926	26.1493	7442
+-117.29	36.056	7440
+-116.277	31.6357	8228
+-126.2825	44.2782	4859
+-83.4749	27.6775	8371
+-120.8458	42.9188	4934
+-116.728	32.1072	8918
+-115.5492	32.0048	7931
+-116.5085	35.1621	8144
+-92.8495	43.336	3812
+-110.8872	32.0889	8661
+-90.103	40.4877	7527
+-122.6595	47.7162	8741
+-108.6241	32.1008	7539
+-88.3303	39.5665	7626
+-116.4915	31.3706	8055
+-90.1212	41.8137	6110
+-116.4227	34.99	8226
+-118.8842	33.9212	7758
+-119.6003	47.0546	7538
+-85.1835	29.0807	6135
+-87.5752	37.4736	8460
+-89.3049	41.0042	6731
+-120.3913	46.3028	7018
+-92.7181	39.5984	6747
+-88.3212	36.8361	8758
+-81.8609	27.6136	9539
+-88.7728	37.2859	9388
+-119.6179	33.7164	6933
+-113.876	31.4997	6006
+-123.2808	43.4569	5728
+-112.7581	34.1776	5626
+-119.7883	46.8585	7476
+-116.2353	29.6567	6135
+-121.0122	49.6053	6042
+-117.2977	35.4273	8126
+-82.0096	27.4937	9553
+-109.8343	31.7342	8909
+-122.8623	49.90	6383
+-112.7959	35.4307	4524
+-81.71	27.8098	9411
+-81.5902	29.7007	7620
+-120.6291	46.9665	7111
+-123.1461	48.2986	8118
+-109.4961	34.9902	5672
+-120.3902	47.2829	6702
+-115.7202	46.9164	6412
+-125.0675	49.0293	6319
+-115.8042	32.117	8240
+-81.9094	28.6242	8890
+-120.6424	33.8254	5840
+-88.2251	37.1429	8970
+-118.3088	33.8336	8355
+-91.0486	35.4327	6231
+-113.4555	34.9017	5297
+-88.5707	35.9455	7871
+-117.0007	31.5908	8385
+-118.3726	49.4891	5670
+-107.5763	34.266	5306
+-109.626	29.6412	7234
+-119.2653	33.9186	7345
+-116.31	46.6473	7092
+-119.9116	29.978	5191
+-111.5067	34.667	5899
+-125.9506	47.1185	6251
+-114.1324	48.8788	3970
+-113.987	33.4776	6349
+-79.4595	28.7576	6666
+-85.2314	26.9767	6275
+-120.9565	47.0827	7467
+-108.4736	34.3243	5885
+-116.7447	32.8844	9494
+-112.9381	46.3042	3595
+-92.3633	37.3084	6785
+-122.3731	31.7707	3611
+-87.8687	39.3622	7661
+-89.5481	40.6225	7214
+-119.9702	45.4239	7336
+-121.6739	46.1188	7968
+-114.5987	30.0864	5722
+-115.3042	30.7616	6805
+-93.4618	39.6812	5958
+-108.7287	30.3581	7286
+-89.198	40.2518	7362
+-121.0742	43.7492	5396
+-83.9908	38.015	4440
+-89.6982	39.5473	8291
+-86.7387	40.1369	6227
+-115.343	43.7185	5253
+-87.3581	36.8062	7963
+-119.1463	47.6436	7388
+-112.4789	31.4636	7145
+-89.3193	36.7276	8593
+-113.4565	31.4182	6085
+-109.9163	35.2781	5445
+-104.8015	33.2989	3198
+-83.4473	26.5679	7880
+-92.6989	38.9625	6918
+-120.1397	35.8973	5860
+-88.4025	35.0189	6816
+-111.7354	28.4957	5800
+-116.3687	33.0283	9045
+-81.9519	25.3679	7171
+-92.3772	38.3862	7240
+-87.4482	36.5214	7855
+-118.4702	45.339	8431
+-118.1531	33.7489	8484
+-90.3149	38.3367	8973
+-118.5773	33.3517	7873
+-93.2027	38.2292	6334
+-109.1125	31.7559	8138
+-109.801	34.842	5896
+-115.7593	33.2981	8303
+-82.9166	29.1022	8141
+-113.9296	31.8701	6205
+-116.9039	33.4257	9070
+-119.468	35.3815	6777
+-80.0437	25.9942	6792
+-79.2282	30.5737	5322
+-112.4467	33.6556	6267
+-118.6605	34.9397	7781
+-123.9207	47.3775	8397
+-125.6144	44.0929	5263
+-108.2724	32.3499	7091
+-123.3931	49.3596	6922
+-116.9761	49.8881	5016
+-117.0149	37.5161	5838
+-119.0751	37.5035	5366
+-117.3693	48.026	7003
+-116.3526	42.0176	4478
+-89.7774	39.5851	8312
+-85.1524	26.5059	6191
+-117.0771	48.7857	6142
+-84.5146	30.1977	6042
+-110.042	33.0786	7823
+-109.0153	35.0541	5451
+-109.6069	30.2187	7799
+-89.5004	37.5432	8980
+-115.2466	35.1444	7074
+-114.8014	35.796	6294
+-90.4528	39.2602	8869
+-106.2292	31.3765	5021
+-117.7627	34.0805	8994
+-90.5211	37.5367	8108
+-88.8049	38.5069	8870
+-87.382	38.5773	7954
+-108.0105	28.5171	5306
+-110.3609	31.8946	9135
+-111.2379	30.6368	8055
+-87.5777	40.4641	6402
+-85.1118	27.1911	6460
+-89.2232	41.4434	6263
+-111.5492	32.1054	8040
+-88.9266	35.4961	7373
+-86.5288	37.0096	7197
+-91.4411	36.5911	6833
+-81.9967	26.7745	8759
+-109.6836	31.1332	8617
+-114.6697	31.5741	6840
+-112.8209	33.6252	5987
+-111.8701	29.7155	6853
+-116.4837	34.5814	8554
+-81.8785	29.0779	8381
+-91.0603	37.8709	8228
+-116.0424	30.9701	7450
+-117.7299	35.1103	8358
+-123.574	46.0713	8375
+-110.0975	29.3902	7084
+-115.7596	35.6756	7186
+-92.1149	35.8846	5816
+-89.5212	37.1264	8774
+-85.4432	28.5889	6034
+-123.9535	47.3899	8359
+-86.8867	38.0937	7651
+-90.2746	41.9634	5959
+-86.4241	38.3172	7086
+-88.9067	35.5729	7460
+-109.167	30.4907	7742
+-90.7487	43.7171	4056
+-111.2452	35.1642	5470
+-123.8541	45.321	7516
+-90.7346	35.2403	6309
+-115.8339	34.2163	7972
+-83.2594	27.2881	8508
+-110.848	28.8747	6486
+-122.607	46.4184	8923
+-120.2499	35.548	5936
+-89.2103	36.8787	8801
+-122.3047	49.2234	7042
+-121.5591	47.9201	7799
+-115.8224	32.7088	8471
+-123.7995	44.8818	7112
+-123.3581	45.4814	7899
+-112.9535	31.1992	6604
+-115.3925	35.302	7129
+-87.6416	39.7189	7187
+-123.5407	44.4336	6736
+-110.6602	31.4652	9097
+-118.9449	33.5172	7588
+-122.6886	45.235	7690
+-84.7182	25.6808	6135
+-89.7023	40.2518	7647
+-107.7509	30.7249	6525
+-114.6761	35.6848	6244
+-122.5077	49.1305	7190
+-117.743	32.1572	8617
+-118.5089	35.2445	7720
+-88.1103	37.919	9026
+-120.3677	45.999	7050
+-115.3388	45.1114	5971
+-83.1024	29.0551	8068
+-89.5942	36.4874	8199
+-121.5075	46.8687	8073
+-81.8228	27.4394	9382
+-114.1506	40.3375	1965
+-117.5694	31.4108	8047
+-81.4321	24.5327	6149
+-118.8694	48.2001	6951
+-86.5104	36.2674	6835
+-88.7654	40.986	6450
+-117.5294	34.5985	8955
+-112.9451	29.7824	6036
+-108.654	33.2919	6878
+-85.5138	38.9157	5904
+-115.607	33.7451	7916
+-79.4576	25.141	5651
+-84.1177	27.3035	7587
+-108.3294	33.599	6394
+-111.8675	34.9171	5497
+-118.295	32.2163	8127
+-114.4758	34.1579	6493
+-90.8947	39.2801	8630
+-83.4252	27.8302	8429
+-114.7064	34.3581	6734
+-89.8832	37.0845	8402
+-91.6943	39.6737	7696
+-114.702	31.4425	6798
+-84.8598	30.0836	5844
+-89.6766	39.7624	8094
+-121.5953	45.9902	7816
+-124.1653	46.7591	8198
+-90.8895	40.1223	7848
+-91.1779	36.4138	6765
+-111.6998	27.7114	5025
+-88.3714	35.9391	7827
+-119.2994	43.9496	6742
+-115.9995	34.9785	7876
+-110.6034	32.0987	8843
+-83.0398	28.5241	8556
+-80.1801	24.9524	6017
+-90.4039	40.904	7103
+-90.6475	39.125	8930
+-108.1699	27.6686	4628
+-120.0724	44.8601	6955
+-110.2667	32.7101	8251
+-119.0863	48.4827	6598
+-115.9325	31.1288	7545
+-118.1529	44.9072	7990
+-116.2632	46.3431	7106
+-122.7038	45.4642	7942
+-119.8989	47.6357	6900
+-83.5079	28.6406	8050
+-115.6474	35.0048	7532
+-112.0234	31.2258	7602
+-108.7325	30.9057	7590
+-124.8057	44.7409	6387
+-119.609	45.0835	7491
+-90.6265	36.4747	7336
+-118.3893	32.1504	8001
+-113.0146	48.8885	2947
+-121.2414	44.1196	5986
+-88.3426	35.1998	7006
+-112.6555	32.5563	6746
+-81.5585	28.6739	8677
+-117.0923	31.3486	8109
+-116.4044	47.0539	7029
+-90.4446	34.7819	6070
+-113.4722	34.7429	5346
+-91.2044	39.8903	7910
+-87.8668	39.9232	7088
+-117.0583	44.6728	7269
+-91.041	39.3883	8437
+-119.5735	47.1404	7505
+-91.5019	40.2209	7433
+-116.5071	42.8169	5307
+-116.0769	36.0925	7038
+-114.3457	46.0362	5090
+-120.1984	46.9882	7025
+-111.3127	34.7506	5882
+-122.3504	46.7924	8973
+-110.4523	32.837	8109
+-90.008	36.6785	8035
+-112.9616	32.3778	6499
+-117.2794	32.0817	8862
+-83.0371	27.0808	8609
+-116.389	32.5506	9044
+-86.3085	28.5842	5079
+-80.5992	28.3405	8039
+-121.7289	47.7866	8036
+-116.7035	34.0287	8913
+-119.8472	44.0726	6549
+-118.975	35.1627	7362
+-110.68	33.2977	7578
+-79.7587	27.0996	7102
+-78.3969	25.5793	4994
+-107.3099	33.3634	5672
+-116.2338	33.0361	8900
+-118.8228	35.4062	7345
+-119.5398	43.8921	6570
+-85.5364	35.7319	5589
+-82.6274	26.3673	8214
+-107.60	30.2586	6183
+-116.9441	29.2728	5800
+-117.781	49.9289	5171
+-89.1003	40.1796	7354
+-115.6671	35.033	7536
+-117.9162	33.7689	8725
+-124.2562	46.3318	7961
+-115.6588	38.4596	4503
+-87.2693	33.5372	4885
+-119.5909	48.7624	6119
+-113.1671	30.1298	6023
+-117.5601	33.7273	8991
+-123.9672	48.2597	7764
+-91.2805	40.3818	7417
+-89.4522	36.108	7904
+-93.0869	38.1102	6430
+-114.9837	35.6806	6530
+-123.4139	48.30	8036
+-120.6772	45.3653	6608
+-117.9038	45.8686	8790
+-116.8849	32.5644	9457
+-123.2438	44.5683	6944
+-112.4239	28.154	5122
+-117.0357	35.3174	8222
+-85.958	36.6193	6451
+-82.1611	26.7149	8702
+-116.2628	39.1695	3936
+-80.9994	28.6573	8261
+-126.8315	47.1164	5284
+-122.4884	49.5462	6736
+-116.9802	33.849	9098
+-125.5182	47.1468	6723
+-90.9996	33.8958	4896
+-93.4486	35.8175	4852
+-116.4602	31.1989	7862
+-92.7097	34.905	4581
+-118.5139	29.3706	5539
+-92.0933	42.9692	4517
+-120.3297	32.4467	5979
+-120.5354	30.636	5088
+-88.2506	38.7007	8517
+-111.1692	29.4008	6941
+-123.3393	46.1996	8635
+-115.3382	44.3369	5625
+-113.0701	34.5874	5071
+-81.3647	27.8988	9010
+-89.7847	40.3018	7632
+-117.298	41.3273	4099
+-89.2546	37.3955	9189
+-84.9727	27.3331	6643
+-114.1651	38.1922	3966
+-122.7711	47.9378	8530
+-121.8688	42.9565	5057
+-119.9675	36.0159	5947
+-117.5733	36.8185	6590
+-118.1433	32.1585	8249
+-118.7086	46.9349	8268
+-119.6717	45.0572	7422
+-82.6186	27.3102	9139
+-89.3482	34.0673	5723
+-109.5027	31.0848	8424
+-84.9811	39.5926	5047
+-90.6644	40.4003	7620
+-111.3593	31.6762	8357
+-92.8447	36.743	6001
+-121.7095	43.8719	5963
+-90.7483	38.1668	8683
+-89.7258	36.6883	8278
+-82.4161	30.4681	6819
+-117.0966	37.0423	6359
+-124.7017	45.4195	6997
+-91.0623	38.4115	8607
+-122.9563	46.6232	9224
+-121.5758	48.1169	7679
+-120.3832	35.4829	5833
+-90.8827	35.6011	6496
+-116.7516	35.6619	7778
+-117.9812	37.181	6123
+-113.0201	32.1215	6505
+-125.414	47.001	6844
+-126.27	46.8181	5900
+-109.9968	31.7005	9088
+-114.7568	35.2579	6538
+-119.1271	42.5854	5433
+-113.4832	34.5604	5385
+-115.9709	31.2372	7670
+-82.0177	27.8807	9709
+-92.144	37.657	7191
+-117.748	32.318	8719
+-81.783	24.1049	5731
+-91.3762	44.242	3409
+-118.3139	46.6487	8679
+-112.6019	29.2532	5950
+-92.2621	37.669	7088
+-91.6367	36.9915	7097
+-91.899	37.0309	6954
+-118.2947	47.9689	7281
+-125.845	44.427	5334
+-118.1109	35.7336	7564
+-124.6708	46.7522	7646
+-90.7377	37.4766	8000
+-116.1034	33.2505	8675
+-117.7205	34.4645	8925
+-83.1681	27.0309	8456
+-88.7289	37.668	9773
+-115.7727	35.0304	7637
+-92.2353	38.1608	7330
+-88.4174	36.4466	8391
+-120.452	38.9618	3228
+-124.125	49.5789	6436
+-125.6391	45.2529	6057
+-119.2419	36.4426	6223
+-114.8213	36.9857	5440
+-117.8367	32.4119	8682
+-115.9642	34.6583	8006
+-93.9925	36.7251	4964
+-122.6157	45.4757	7939
+-121.7508	32.8095	4438
+-118.0138	29.8784	6274
+-114.2991	34.997	6167
+-82.4596	26.9765	8925
+-117.3756	47.5216	7474
+-90.0878	41.2601	6700
+-89.7022	38.5099	8646
+-114.6768	31.2621	6666
+-114.395	32.4325	6853
+-120.2037	33.5907	6280
+-84.8415	28.79	6617
+-119.8485	30.1204	5351
+-120.3306	47.2451	6776
+-90.6354	39.579	8490
+-85.9528	35.7423	5989
+-115.5927	34.7223	7602
+-90.7344	33.5802	4724
+-85.0519	28.7439	6410
+-116.3127	32.9058	9017
+-82.8818	27.7597	9046
+-108.7913	36.5812	3807
+-89.507	38.5613	8458
+-117.3407	47.8652	7141
+-115.918	49.2966	5049
+-116.8799	48.0656	6703
+-80.7559	31.0299	5885
+-116.0921	44.6422	6473
+-114.1418	34.9781	6007
+-82.7283	24.929	6612
+-117.5767	34.8598	8676
+-80.9518	27.3174	8462
+-115.16	45.557	5903
+-117.6416	31.0494	7643
+-116.2798	34.6022	8346
+-112.5645	32.8667	6685
+-110.836	31.5965	8929
+-119.7221	45.1392	7428
+-88.9974	34.2235	5942
+-118.5259	45.5136	8588
+-82.3039	26.1164	8016
+-85.5733	39.2933	5792
+-89.0765	37.2076	9194
+-92.6262	38.6021	7002
+-85.7135	34.1026	4548
+-123.3174	48.9227	7409
+-111.6912	30.8897	7821
+-118.8973	45.6735	8469
+-117.1032	37.5234	5836
+-90.3268	38.8358	9314
+-119.7693	46.845	7500
+-118.6468	31.8753	7605
+-120.121	36.0623	5780
+-110.371	31.3486	9216
+-108.6733	31.4015	7664
+-123.2996	47.4872	8885
+-83.6343	31.9118	4905
+-85.5617	27.2011	5961
+-107.3691	30.7595	6140
+-118.219	34.6588	8351
+-89.0748	38.2537	9070
+-93.5364	40.7882	5378
+-114.9497	46.0563	5730
+-84.2282	28.7454	7276
+-84.8722	39.921	4764
+-87.7911	39.6315	7352
+-117.228	30.1152	6726
+-87.3782	41.5175	5021
+-107.9999	32.643	6697
+-87.5863	38.872	7921
+-114.2155	32.7026	6682
+-89.7412	36.6393	8226
+-126.5798	46.2372	5485
+-90.1415	37.0464	8122
+-114.8634	31.7013	7097
+-80.5176	29.8543	6906
+-111.3593	31.4676	8355
+-105.1413	32.3814	3782
+-122.5672	47.4363	8974
+-89.587	36.2041	7933
+-113.4394	34.5228	5342
+-111.2252	29.9582	7465
+-78.3595	27.9388	5618
+-113.8377	31.7802	6076
+-83.7112	40.3989	3364
+-117.6047	44.2434	7167
+-92.1675	37.2596	6919
+-118.9698	34.3193	7669
+-118.0802	36.2882	7025
+-109.8635	28.3741	5959
+-89.164	35.6212	7477
+-124.1336	49.2578	6747
+-121.6922	45.0289	7098
+-123.0949	45.9232	8440
+-120.5117	44.8904	6575
+-89.67	38.1771	8438
+-110.5377	32.1374	8834
+-88.2615	33.7664	5401
+-123.3125	48.1228	8258
+-92.2834	37.6185	7041
+-89.2634	39.6397	7883
+-110.6673	31.0782	8817
+-118.9244	45.1811	8074
+-116.3471	33.0377	9019
+-120.4484	35.8838	5577
+-121.1636	46.6074	7658
+-110.8716	27.4234	4929
+-88.8792	38.6742	8676
+-115.2679	35.4235	6943
+-121.1076	44.8771	6582
+-80.3814	30.245	6459
+-125.1498	45.3401	6556
+-121.3172	45.662	7353
+-118.7824	48.7515	6403
+-122.297	32.238	3772
+-87.1631	39.4127	7153
+-118.0906	36.3407	6968
+-86.9531	38.222	7686
+-109.4396	31.8327	8468
+-124.7236	46.3563	7493
+-90.8392	41.0424	6905
+-109.7758	33.563	7245
+-116.3337	48.8036	5730
+-78.653	27.7133	5955
+-91.2205	37.705	7981
+-117.8045	36.2319	7175
+-94.1122	41.8283	4213
+-115.2701	35.2609	7037
+-87.1255	29.4296	3939
+-120.2557	49.9783	5203
+-93.3834	39.2415	6148
+-86.6614	37.5982	7451
+-113.2965	32.5045	6111
+-116.7626	45.4924	7526
+-113.4936	32.3712	5945
+-89.0088	40.4409	7076
+-93.359	41.1633	5295
+-119.2745	31.5573	6820
+-80.3277	26.257	7230
+-90.9425	37.645	8089
+-108.4007	30.215	6908
+-119.434	36.7944	5794
+-112.7461	32.8978	6497
+-122.0626	47.7664	8334
+-122.7512	46.2378	8789
+-126.4091	46.0951	5634
+-116.8766	33.051	9473
+-90.8668	36.4593	6901
+-118.5231	46.7524	8524
+-94.3632	36.3658	4424
+-89.0081	36.2901	8247
+-88.3074	37.0328	8937
+-86.104	44.1048	2036
+-120.7679	47.8336	7078
+-92.2746	36.6901	6410
+-119.3036	35.7847	6677
+-124.5119	41.8076	3668
+-92.3821	36.1654	5903
+-122.7814	47.8741	8601
+-120.4826	32.1682	5765
+-113.9991	32.5734	6432
+-108.2048	32.18	7079
+-123.7766	46.281	8384
+-81.6259	28.3961	8978
+-115.1899	32.7034	7767
+-122.1211	47.6568	8463
+-126.3195	49.4163	4985
+-119.0508	47.2988	7753
+-116.5896	40.9096	3478
+-121.6337	46.4598	8108
+-116.4945	31.1948	7869
+-111.5463	35.2234	5316
+-93.9992	41.0585	4800
+-84.5204	28.2603	7135
+-122.7544	42.6367	4847
+-121.6172	44.3688	6423
+-118.1395	32.7275	8441
+-115.9491	36.2734	6796
+-115.5017	33.0094	8105
+-116.1809	37.7725	5395
+-113.9988	35.3243	5744
+-116.4524	43.2742	5694
+-114.7741	43.948	4901
+-117.8032	47.2542	7937
+-120.4976	45.6027	6857
+-122.2764	45.9767	8321
+-113.8104	35.9918	5257
+-89.1152	37.0514	9022
+-116.0637	29.6013	6028
+-94.8511	38.0935	4557
+-114.5317	32.8153	7037
+-91.1728	38.4651	8520
+-116.5388	33.5337	8821
+-118.7825	32.7825	7727
+-115.817	36.8777	6152
+-87.7836	38.1288	8595
+-89.4738	38.9082	8429
+-117.6661	32.2219	8729
+-84.1623	27.5195	7580
+-90.2203	36.6873	7848
+-86.0177	30.431	4563
+-118.8137	48.0853	7084
+-111.9396	31.5594	7733
+-106.8604	30.3587	5484
+-120.7276	46.1213	7045
+-119.4254	46.9271	7767
+-115.0297	49.5293	4254
+-89.1132	37.3543	9292
+-115.1518	30.36	6346
+-83.3194	31.8362	5097
+-107.404	28.6553	4986
+-90.7254	38.5936	9019
+-82.4346	26.52	8442
+-118.4471	34.2273	8246
+-111.7115	29.4235	6698
+-115.4408	32.9115	8048
+-85.1498	35.7495	5220
+-117.348	34.8249	8778
+-124.4581	46.3481	7764
+-89.724	34.8944	6524
+-116.8428	35.8202	7641
+-110.6203	35.1834	5561
+-116.3603	46.076	7224
+-84.4795	28.1863	7196
+-117.679	47.2498	7885
+-81.1059	28.5938	8400
+-81.7295	29.3403	8054
+-84.5269	26.4524	6803
+-121.793	45.078	7201
+-108.8057	31.0396	7717
+-117.0803	32.9056	9592
+-82.7827	25.583	7315
+-116.4853	46.8893	7181
+-88.7809	38.0087	9430
+-124.2652	46.3783	7973
+-90.7529	33.6708	4807
+-110.9151	31.2843	8765
+-89.0072	36.1805	8126
+-108.6872	28.7108	5887
+-117.3328	33.4891	8831
+-89.3456	39.7134	7898
+-89.5811	37.9548	8845
+-86.2627	42.1979	4003
+-115.6101	40.6969	2876
+-123.3909	45.7793	8195
+-116.3789	35.0178	8171
+-88.2518	39.7133	7445
+-80.6059	29.2412	7490
+-83.0891	26.3283	7939
+-110.1435	28.7933	6444
+-86.9003	34.6536	5837
+-121.166	35.1449	5143
+-92.7846	40.0649	6474
+-91.8515	40.4617	6994
+-111.5773	29.65	6983
+-115.041	32.0086	7424
+-110.2672	32.3518	8638
+-110.6298	31.6429	9146
+-90.1923	36.7051	7885
+-115.5156	31.2848	7399
+-91.5772	38.7911	8137
+-87.8393	39.9711	7026
+-110.9596	31.4967	8789
+-117.9434	32.5156	8613
+-119.9346	31.4258	6097
+-87.3498	38.8016	7777
+-85.3175	36.5276	5738
+-95.9009	37.4544	3316
+-107.0931	29.3353	5201
+-82.5319	27.3237	9218
+-116.7116	48.8068	5946
+-91.3791	41.8851	5879
+-113.4041	31.4557	6144
+-118.8302	32.5156	7647
+-116.2894	30.145	6679
+-87.6235	40.0589	6838
+-108.9613	33.0731	7279
+-117.4694	46.4216	8334
+-82.5516	27.4919	9326
+-125.2961	47.9953	6741
+-114.4051	33.3721	6829
+-117.2696	31.2423	7965
+-86.9419	36.7693	7533
+-113.021	27.0894	3800
+-82.4248	30.1618	7163
+-119.3327	29.8267	5500
+-108.5584	32.3336	7386
+-115.313	34.0085	7402
+-110.1406	32.9257	8004
+-126.3944	47.7345	5676
+-121.6174	48.1246	7708
+-82.3814	28.9968	8473
+-86.0484	38.1862	6709
+-118.6039	35.0546	7766
+-117.0614	33.5126	8825
+-111.1559	32.7607	7917
+-120.9268	44.1589	5787
+-83.8568	27.1861	7835
+-119.0262	47.3995	7675
+-118.3806	32.5434	8147
+-116.5737	48.2939	6315
+-90.176	40.2604	7781
+-119.2779	42.927	5739
+-119.2464	30.0812	5781
+-79.7917	26.2334	6726
+-117.8914	34.8694	8485
+-93.7608	37.7059	5614
+-118.1234	35.3652	7901
+-91.7164	40.3582	7173
+-110.0195	29.0148	6670
+-116.9905	34.8849	8664
+-86.9262	35.9181	6966
+-112.5366	30.2214	6667
+-117.6951	33.2649	8799
+-116.1058	32.4291	8700
+-90.771	39.258	8736
+-110.3659	27.2568	4786
+-89.3659	37.6271	9141
+-124.1784	44.0884	6146
+-88.5931	41.4594	5924
+-116.3776	46.8243	7101
+-81.9445	30.7931	6462
+-81.0286	29.2221	7825
+-120.4204	34.3105	6092
+-118.645	36.2389	6793
+-118.5349	33.0712	7981
+-124.0421	44.7275	6845
+-88.2057	38.7919	8403
+-115.8201	35.1302	7622
+-122.2641	44.3149	6610
+-79.9286	27.6432	7394
+-105.8789	29.9426	4330
+-89.196	37.3101	9189
+-89.3482	37.0964	8901
+-80.8452	27.3978	8377
+-123.8601	45.0011	7203
+-112.9596	30.5391	6411
+-89.0597	36.5653	8537
+-88.8543	35.3731	7239
+-119.1317	32.9514	7333
+-121.8073	47.8739	8046
+-87.9932	39.2614	7825
+-80.0099	28.3246	7409
+-116.4812	35.5901	7733
+-117.1517	31.3739	8130
+-79.6112	28.4626	6932
+-118.2033	49.2387	5935
+-93.7317	37.2911	5488
+-116.2797	35.6514	7563
+-92.3629	35.789	5585
+-117.7149	46.8961	8225
+-120.9449	45.8338	7124
+-108.9303	32.9197	7374
+-117.4534	33.5485	8868
+-124.1281	44.876	6942
+-114.0349	29.6446	4946
+-119.1246	47.7519	7297
+-125.2776	43.0624	4584
+-116.2574	34.776	8233
+-118.2879	34.0608	8421
+-110.0528	29.9944	7725
+-115.9137	34.631	7965
+-92.8476	33.7467	3413
+-108.8622	32.0259	7809
+-116.6653	36.5435	6828
+-112.2732	30.5655	7100
+-87.1303	38.4223	7792
+-86.3719	41.0174	5191
+-120.4659	31.129	5420
+-115.9216	34.8483	7876
+-118.2097	31.2974	7563
+-111.1619	32.6579	8003
+-87.674	42.0816	4796
+-119.6767	31.3147	6297
+-92.0254	40.0636	7158
+-116.7848	32.2909	9132
+-80.0485	28.4765	7401
+-83.9118	35.4171	3809
+-125.6916	43.585	4789
+-117.8608	37.1967	6134
+-117.0331	34.8131	8754
+-89.7326	39.2136	8563
+-108.4057	34.4422	5738
+-91.3439	39.24	8262
+-88.5225	36.8749	8886
+-121.4834	44.1462	6139
+-88.7117	35.5113	7396
+-79.3993	30.2608	5706
+-92.006	37.7044	7344
+-76.4882	24.0547	2249
+-119.836	45.5609	7520
+-118.6755	44.8571	7880
+-88.5875	36.474	8462
+-88.9873	38.5999	8738
+-119.8075	46.4516	7604
+-84.4848	28.859	6959
+-111.3009	32.1473	8260
+-121.7836	48.1498	7819
+-85.7067	39.9869	5504
+-80.537	30.5371	6275
+-118.9915	45.7251	8412
+-112.5325	31.042	7020
+-118.2949	47.1208	8179
+-110.019	32.2921	8633
+-119.963	30.0435	5199
+-80.7986	29.3667	7535
+-110.1193	31.3066	9095
+-90.025	37.4522	8382
+-87.9313	38.3085	8632
+-116.4567	44.7129	6831
+-115.6706	46.3001	6485
+-122.7176	46.3066	8854
+-87.8903	35.2793	6961
+-84.5084	30.5545	5749
+-81.3487	26.0287	7735
+-88.988	37.5001	9505
+-117.2756	46.6819	8028
+-117.0568	34.4698	9105
+-117.9931	46.8469	8412
+-85.3036	39.5713	5378
+-118.0348	33.2657	8460
+-89.5282	40.571	7256
+-81.1866	25.9143	7539
+-90.2109	38.8924	9183
+-123.2912	44.9983	7401
+-86.9287	39.0849	7209
+-93.1964	38.6033	6388
+-116.9654	36.6093	6817
+-83.6165	26.3216	7550
+-110.8192	32.2511	8579
+-120.7586	48.4058	6772
+-94.8157	35.3653	3413
+-114.0659	30.7782	5798
+-116.2343	36.2132	7005
+-114.9659	35.4582	6642
+-114.0723	44.7894	4590
+-86.9953	38.5589	7588
+-115.6193	44.7669	6106
+-82.9303	25.5528	7231
+-115.478	32.9078	8089
+-85.5806	36.5153	6013
+-82.9448	25.6117	7287
+-80.2374	28.5454	7573
+-116.9248	33.6855	8923
+-117.8053	31.6671	8166
+-82.4335	24.1974	5840
+-120.4991	33.5339	5952
+-84.5592	30.198	6007
+-124.409	48.9917	6832
+-81.6616	24.3586	6000
+-110.7809	32.0587	8766
+-118.9362	42.7111	5605
+-87.7221	37.9659	8595
+-112.7945	30.9261	6714
+-88.9511	36.0185	7954
+-87.0401	36.9577	7720
+-118.8766	33.8359	7752
+-89.7135	40.1601	7742
+-118.1565	45.371	8477
+-89.4675	37.4549	8993
+-87.7987	38.7928	8148
+-87.6773	26.7109	3508
+-90.9998	37.1285	7555
+-116.3053	33.6464	8569
+-114.7396	32.7115	7266
+-81.8015	33.0434	3911
+-88.8564	40.6655	6784
+-113.9688	47.8675	4323
+-116.7419	33.1712	9285
+-91.7164	40.0071	7449
+-119.1186	45.7178	8288
+-109.7178	31.4238	8785
+-93.734	37.3884	5526
+-122.1258	47.8197	8341
+-116.7519	35.0706	8371
+-119.3213	45.8905	8139
+-123.8083	40.0956	1992
+-80.955	26.9904	8296
+-117.0153	36.5576	6879
+-120.7394	36.1726	5145
+-123.4112	48.4651	7867
+-90.2021	36.7159	7883
+-120.29	45.2561	6955
+-115.0282	49.0111	4636
+-125.0588	44.0861	5652
+-124.7556	45.4286	6958
+-116.6838	47.3238	7128
+-90.4197	41.4731	6489
+-120.6863	47.1753	7163
+-88.0164	36.4941	8253
+-118.1714	33.2377	8149
+-118.2247	33.2451	8113
+-83.4418	28.7256	8057
+-93.3084	41.5477	5062
+-116.7249	32.1658	8978
+-114.2589	35.4885	5939
+-109.2664	33.4196	7173
+-90.1867	37.1316	8112
+-112.4931	31.5407	7133
+-90.6322	38.5549	9083
+-115.1556	34.6885	7157
+-109.6978	31.8691	8719
+-90.7586	42.8914	4942
+-119.0228	35.3406	7213
+-81.8439	28.4286	9075
+-89.807	37.8134	8636
+-119.236	37.2969	5473
+-91.4736	40.786	6935
+-118.1446	38.2309	4967
+-88.5858	40.3901	6802
+-80.7736	28.4341	8179
+-87.4675	39.6898	7116
+-118.2644	30.9755	7240
+-87.364	35.4109	6834
+-115.6058	44.7342	6077
+-118.2039	30.223	6548
+-84.7055	28.1851	6944
+-126.9093	49.3114	4503
+-121.7947	46.7211	8362
+-112.2059	35.1255	5132
+-112.6516	30.5455	6722
+-117.5533	32.7103	9088
+-121.4035	32.3879	4781
+-120.2002	48.8971	5960
+-88.2302	36.0691	7924
+-119.2213	44.7103	7485
+-81.7429	27.8572	9439
+-123.0534	45.2951	7762
+-81.2177	29.1009	8062
+-89.2255	37.2025	9083
+-91.2296	40.0019	7796
+-119.1713	49.8546	5174
+-118.8292	40.5515	3356
+-118.6614	46.6107	8588
+-116.1618	36.122	7056
+-83.0472	28.4176	8623
+-118.857	44.6089	7569
+-112.8792	44.5588	3309
+-110.073	33.0145	7897
+-125.2342	45.045	6285
+-116.5224	36.1342	7209
+-118.9979	45.2551	8089
+-122.323	48.486	7821
+-89.0135	36.3396	8301
+-80.701	30.8879	6007
+-108.6756	29.0364	6181
+-91.2899	35.0172	5709
+-119.714	32.8308	6688
+-117.3264	45.8758	8220
+-118.8406	48.9363	6199
+-91.9687	38.2961	7647
+-120.5886	46.0875	6819
+-122.623	47.9127	8523
+-115.5399	30.9022	7090
+-117.9582	44.7492	7789
+-90.2582	38.7683	9288
+-109.3466	26.857	4242
+-115.9147	30.8345	7250
+-83.142	30.9841	6078
+-116.4254	31.6102	8278
+-123.8313	49.2517	6895
+-84.3321	27.324	7355
+-90.3884	39.6174	8489
+-119.8972	45.6937	7498
+-120.7724	45.0129	6384
+-118.0039	36.9132	6401
+-120.0615	45.9062	7366
+-89.5773	41.7209	6106
+-118.14	35.0327	8170
+-117.5586	46.9746	8058
+-110.1128	27.3978	4932
+-120.7071	43.1977	5256
+-87.697	37.3814	8573
+-90.3906	38.5513	9210
+-120.1553	31.3035	5816
+-119.3091	33.6626	7251
+-81.8149	24.7771	6491
+-88.6423	35.914	7843
+-81.4942	28.4891	8801
+-116.7201	45.335	7417
+-110.9718	31.5466	8781
+-88.879	37.775	9639
+-78.0312	29.5892	4814
+-80.1863	30.6909	5918
+-116.4432	44.5773	6731
+-117.6792	35.1221	8369
+-123.7521	47.2302	8626
+-89.6902	39.3892	8408
+-89.689	35.8868	7565
+-89.8816	41.2801	6644
+-115.0064	34.6767	7002
+-124.1196	45.4285	7450
+-87.9561	36.0494	7785
+-118.7016	33.7349	7913
+-81.7778	32.6403	4364
+-82.0611	24.7066	6430
+-90.9653	37.8465	8266
+-123.8094	47.6603	8350
+-114.8717	45.9159	5642
+-118.0761	34.1585	8654
+-116.4249	31.0661	7709
+-115.0122	33.1079	7549
+-118.4747	27.9655	4086
+-81.1053	27.9819	8704
+-111.0545	31.3673	8658
+-122.7431	47.7696	8707
+-79.6325	27.2373	7000
+-120.9474	43.422	5260
+-116.6933	33.2744	9158
+-115.8495	44.7856	6331
+-88.4884	38.9598	8330
+-115.6202	31.3824	7559
+-92.735	34.2926	3992
+-85.5087	26.8364	5931
+-83.8874	26.3899	7370
+-78.8524	25.9506	5650
+-123.7035	46.2926	8454
+-91.7797	36.4472	6522
+-108.2813	32.8359	6869
+-86.7175	34.6336	5707
+-92.1606	35.8525	5761
+-120.0488	32.7131	6313
+-78.0761	25.9415	4859
+-117.2694	45.1849	7814
+-88.0912	39.4161	7709
+-110.4354	32.6554	8307
+-120.8937	46.5945	7364
+-115.3153	37.396	5391
+-117.8246	31.0327	7545
+-113.6735	30.9069	5781
+-117.7329	34.5322	8868
+-119.7348	36.9991	5412
+-89.4482	38.4991	8381
+-115.8918	29.3627	5718
+-118.6588	47.6662	7555
+-115.6764	47.5352	6109
+-84.0167	29.1126	7273
+-115.4452	31.4408	7465
+-88.425	39.1165	8142
+-119.3072	47.8336	7128
+-119.671	49.5789	5294
+-83.6301	30.7492	6117
+-113.9055	31.4261	6003
+-82.7487	25.6841	7436
+-88.934	41.7333	5849
+-90.9556	36.564	6989
+-79.5375	27.4326	6931
+-124.5893	46.6158	7711
+-94.3066	37.648	5032
+-81.8854	26.4531	8380
+-119.9099	34.702	6588
+-119.865	34.7192	6632
+-117.0573	35.9081	7588
+-123.1566	46.4455	8968
+-114.1423	37.4902	4536
+-87.1485	39.941	6681
+-88.868	37.1073	9178
+-85.2074	31.8176	4139
+-117.8223	32.623	8774
+-118.7354	31.0856	6992
+-119.3782	34.3783	7219
+-117.576	35.8943	7588
+-81.6452	26.7133	8579
+-115.664	35.9888	6863
+-111.7134	34.5949	5884
+-91.5756	38.3622	8073
+-115.4709	34.1899	7578
+-83.2723	28.0209	8572
+-117.4258	44.6962	7518
+-114.6267	47.4083	5147
+-91.2578	39.6277	8089
+-116.5825	47.7228	6771
+-119.3088	46.896	7886
+-81.5392	32.3894	4619
+-89.7586	38.5182	8706
+-113.8007	35.6116	5428
+-84.4126	31.0474	5373
+-116.8668	31.8306	8647
+-90.3607	38.6399	9303
+-78.3695	27.5229	5625
+-124.7421	48.681	6842
+-108.9949	27.7289	5053
+-90.5432	41.575	6375
+-116.0172	44.3711	6242
+-118.3395	35.10	7963
+-124.2548	49.8446	6111
+-93.0569	38.5253	6533
+-118.9125	34.7149	7634
+-116.0152	46.1891	6857
+-117.5465	45.1004	7945
+-89.7454	40.9608	6944
+-111.5078	29.4396	6825
+-118.7313	32.0377	7601
+-82.5636	27.5044	9322
+-117.0285	33.6723	8972
+-88.7375	38.5874	8780
+-85.3101	37.7484	5934
+-87.4817	40.5868	6233
+-124.1755	46.6286	8157
+-118.9826	46.5834	8360
+-117.5633	31.4692	8109
+-120.5239	47.0713	6993
+-92.9793	42.0627	4888
+-115.1988	32.5259	7755
+-108.1549	32.5148	6907
+-118.1668	31.7929	7993
+-117.7116	46.7623	8334
+-83.3313	27.3094	8442
+-81.6992	26.9521	8848
+-117.4457	34.3145	9260
+-116.3264	34.3778	8478
+-114.8044	33.5384	7210
+-115.003	32.7908	7562
+-118.7818	46.3801	8655
+-111.2384	28.8976	6403
+-87.4945	38.682	7988
+-107.1305	32.1689	5946
+-82.2903	27.5078	9550
+-113.3556	34.4434	5258
+-93.024	35.2902	4733
+-88.8876	37.2494	9328
+-92.1542	37.0556	6783
+-113.9373	31.0769	5856
+-117.6959	32.6192	8910
+-119.9094	33.7357	6623
+-83.6182	27.739	8212
+-120.375	31.7904	5783
+-82.7329	26.4137	8218
+-112.3887	30.556	6984
+-89.9475	40.4677	7514
+-117.6753	30.5213	7073
+-120.5744	31.5423	5485
+-118.7994	28.264	4279
+-124.6746	49.2197	6455
+-124.3072	48.957	6928
+-116.0228	32.7898	8700
+-117.1047	34.6646	8932
+-118.8247	31.274	7059
+-120.7335	46.3694	7137
+-117.7444	46.0446	8687
+-89.2998	38.0631	9069
+-119.3462	36.1492	6379
+-112.6786	33.8167	5965
+-109.8901	33.708	7122
+-90.5751	41.6343	6309
+-113.9256	34.3888	5883
+-116.8617	33.576	8786
+-121.211	33.1331	5099
+-119.9968	33.602	6504
+-88.6688	37.9604	9467
+-111.1859	30.8762	8273
+-113.7492	35.1087	5556
+-81.7277	26.4575	8342
+-117.6077	34.9868	8535
+-118.4742	32.225	7946
+-91.4577	37.3015	7481
+-109.3179	30.9551	8180
+-114.1127	33.945	6330
+-119.0678	46.1573	8428
+-90.2395	38.0107	8613
+-123.5569	46.978	8884
+-91.046	39.3696	8446
+-116.6652	32.6783	9383
+-83.0637	30.0646	7088
+-121.2234	46.4667	7684
+-115.3186	33.2325	7857
+-118.7028	33.5206	7835
+-123.9187	49.035	7073
+-85.6543	39.3769	5828
+-119.8134	46.2218	7635
+-109.3228	28.2273	5676
+-106.7613	32.7838	5391
+-117.8478	47.4683	7740
+-80.8709	25.3026	6760
+-114.2888	33.1594	6742
+-121.349	45.7499	7440
+-117.3609	33.5531	8897
+-127.6835	48.3208	4144
+-117.2016	44.3318	7065
+-117.6447	33.8896	9047
+-117.6492	32.0076	8572
+-107.7684	26.7949	3588
+-88.8811	37.8366	9584
+-88.8191	39.6799	7463
+-86.8726	37.0837	7591
+-118.5744	45.2842	8343
+-118.1027	47.9841	7256
+-116.9041	33.2345	9281
+-114.6667	26.4974	2234
+-92.5256	36.38	5981
+-88.0128	38.2578	8739
+-90.9949	35.3563	6213
+-78.8736	28.864	6001
+-88.4764	36.3295	8280
+-116.0172	33.4585	8475
+-117.0422	31.9027	8730
+-115.29	31.2229	7173
+-91.5911	41.7955	5893
+-119.091	32.0031	7216
+-117.6405	34.0158	9110
+-119.455	45.8086	7982
+-120.406	47.0926	6779
+-92.98	42.0744	4878
+-85.6491	38.8349	6078
+-83.2191	30.2151	6862
+-83.9519	38.0463	4394
+-81.6426	31.1753	5996
+-79.4383	27.5615	6835
+-76.3248	30.2485	2746
+-125.5329	48.0872	6463
+-124.2739	48.3014	7502
+-89.4639	39.6547	8034
+-123.845	47.8693	8170
+-90.3821	40.8022	7212
+-90.1066	34.1444	5586
+-88.2454	36.7349	8617
+-89.5136	35.96	7725
+-89.1317	40.2305	7335
+-76.8592	29.4337	3634
+-91.3375	34.3365	5093
+-83.3305	26.874	8203
+-85.1106	36.7452	5583
+-117.4675	34.7944	8784
+-89.4869	41.2069	6605
+-79.3578	26.2319	6304
+-80.5537	27.122	7962
+-82.1603	28.2292	9368
+-87.643	37.8795	8531
+-122.1031	34.8874	4198
+-118.496	36.2953	6825
+-81.07	26.139	7693
+-81.1379	25.9338	7533
+-114.185	32.2514	6587
+-109.3954	30.9733	8261
+-83.3145	25.0922	6585
+-88.3835	38.0698	9190
+-115.3055	34.2817	7393
+-87.5716	35.705	7237
+-88.4024	36.3332	8264
+-82.0371	27.5092	9582
+-118.0448	45.4776	8555
+-119.2339	32.9244	7221
+-116.8048	30.7358	7425
+-117.2095	33.8523	9225
+-117.822	30.1354	6614
+-87.3579	38.7991	7786
+-115.2498	33.1375	7805
+-111.7692	31.8039	7900
+-83.0661	30.5659	6554
+-121.0344	47.2741	7529
+-91.6623	37.2193	7274
+-118.3514	45.5833	8709
+-91.1028	42.2623	5560
+-87.4702	38.8339	7856
+-122.1585	34.2635	4200
+-115.7048	33.2274	8273
+-117.4557	32.5055	9106
+-82.5619	27.8016	9406
+-118.1063	46.3341	8950
+-80.503	26.0881	7245
+-90.4709	41.6155	6334
+-86.6003	38.1952	7312
+-122.6435	45.4014	7864
+-108.7615	30.83	7585
+-119.3963	34.2682	7210
+-79.8249	25.5018	6234
+-123.9604	49.4765	6613
+-89.878	37.776	8242
+-108.9519	31.7649	7964
+-92.7548	41.7952	5264
+-89.3606	39.6273	7972
+-115.4293	43.4578	5141
+-116.2977	32.5238	8938
+-82.9384	27.2765	8826
+-83.3639	27.4352	8451
+-88.5466	36.0391	7972
+-116.9668	32.7123	9637
+-111.4149	29.7258	7145
+-83.2904	27.5168	8553
+-79.3765	29.657	6111
+-89.6622	36.142	7831
+-108.1881	34.3918	5645
+-116.7507	48.973	5812
+-118.9751	38.1916	4735
+-111.5883	30.9621	7956
+-110.4383	31.0677	8903
+-110.177	30.7412	8546
+-116.9115	35.1165	8398
+-118.827	45.9324	8658
+-118.8822	32.809	7616
+-113.8177	33.813	6069
+-82.2495	29.1955	8271
+-82.9441	32.0391	4972
+-115.4538	33.5089	7897
+-115.5021	32.728	8116
+-123.3842	47.4064	8888
+-112.3266	31.5817	7314
+-127.4874	43.3636	3198
+-80.5562	27.1732	7986
+-84.2386	24.16	5168
+-88.8522	41.3249	6195
+-117.6841	32.82	8952
+-90.3095	41.4545	6508
+-111.8485	29.2491	6458
+-89.2786	37.4849	9205
+-92.1345	37.9968	7370
+-117.2439	35.0111	8580
+-90.5859	34.7109	5920
+-122.8082	49.1296	7228
+-116.9958	46.7251	7745
+-84.3967	29.0111	6970
+-88.5906	36.888	8920
+-82.5304	28.9562	8474
+-117.7017	35.0038	8476
+-90.5236	36.2179	7259
+-119.9702	46.9735	7249
+-114.6625	34.5583	6660
+-91.9734	34.5854	4824
+-90.0847	41.182	6783
+-110.2135	31.9567	9049
+-108.485	35.259	5016
+-120.7929	43.2103	5207
+-89.465	41.974	5811
+-87.8464	38.2176	8611
+-125.1436	46.3938	7062
+-121.4014	43.7587	5716
+-125.3826	48.5573	6367
+-121.1174	30.8252	4618
+-122.2221	47.1889	8822
+-114.9659	34.8008	6925
+-107.497	35.4906	4242
+-118.7994	46.2175	8700
+-111.3399	31.2538	8326
+-123.9105	48.9711	7140
+-123.3302	47.4006	8935
+-113.4415	34.00	5605
+-80.2013	27.9571	7696
+-88.5696	36.9451	8976
+-115.3801	36.0862	6576
+-117.8428	34.1185	8909
+-109.5261	28.7945	6328
+-91.0289	41.3134	6575
+-121.0969	44.5407	6285
+-117.1214	48.3905	6540
+-117.7475	33.7548	8870
+-123.0905	48.7445	7642
+-119.1073	31.3926	6885
+-91.4566	36.9121	7130
+-120.2398	47.2234	6871
+-123.4543	45.4298	7811
+-89.9554	38.5829	8929
+-90.356	38.9291	9229
+-117.6618	30.2564	6794
+-120.7359	36.6107	4888
+-84.2361	28.3614	7420
+-117.725	32.6699	8891
+-122.1238	45.8074	8074
+-87.8382	36.7192	8327
+-90.2017	40.4955	7533
+-89.9506	39.2778	8689
+-118.215	48.6233	6587
+-124.1988	47.4193	8095
+-89.9612	38.6667	8961
+-91.4983	38.6933	8221
+-90.8897	38.9363	8843
+-119.6822	46.3238	7760
+-108.2466	30.9366	7107
+-81.3191	26.3526	8046
+-120.7667	35.6989	5355
+-85.9395	25.6251	4951
+-89.5286	37.2923	8862
+-123.0156	47.0958	9416
+-91.9811	41.2803	6199
+-121.084	46.9047	7610
+-125.2143	42.813	4382
+-122.031	44.8088	7050
+-120.191	46.4993	7196
+-123.9062	48.6952	7409
+-120.029	43.7302	6143
+-116.5784	34.668	8587
+-118.1435	44.4651	7523
+-87.4348	39.9082	6888
+-119.5398	45.715	7869
+-122.6936	46.9224	9374
+-115.4071	34.4415	7482
+-81.1691	27.2461	8653
+-81.0736	28.6996	8295
+-125.7249	47.9367	6325
+-123.3434	49.1351	7175
+-85.352	29.272	5872
+-118.2146	48.9523	6239
+-112.3816	33.5193	6420
+-119.0931	31.7623	7105
+-80.7565	28.7893	7952
+-80.4799	28.5862	7805
+-81.9065	29.6738	7720
+-110.2128	33.758	7114
+-90.571	37.3662	7919
+-87.164	35.7558	7016
+-115.3685	31.3185	7310
+-80.7788	28.0625	8324
+-90.7582	38.9391	8972
+-118.5522	34.2355	8131
+-122.8789	47.6405	8865
+-90.399	39.0188	9134
+-120.3808	47.6221	6516
+-116.4736	41.9817	4496
+-119.0917	33.9745	7540
+-89.8024	37.4435	8626
+-88.4011	38.4463	8848
+-83.6561	27.7979	8169
+-122.3216	45.4972	7871
+-115.8022	34.6605	7840
+-86.7856	39.1638	7027
+-110.4686	32.40	8577
+-88.9409	39.7696	7520
+-116.6564	31.9555	8732
+-90.0439	37.9645	8502
+-116.6253	30.8838	7564
+-82.5503	28.5254	8913
+-116.3247	35.1445	8030
+-118.6147	35.158	7691
+-117.6048	30.0996	6640
+-121.2218	45.5679	7206
+-121.6198	44.1117	6169
+-93.2663	36.0569	5172
+-111.4173	35.1975	5385
+-113.451	30.5705	5922
+-123.937	49.6821	6413
+-121.6464	33.4667	4705
+-109.9587	31.4379	9038
+-90.4518	39.7377	8357
+-82.8401	26.8089	8546
+-80.8139	27.3392	8323
+-110.7619	31.4079	8972
+-116.1781	48.2944	6040
+-77.9122	30.4088	4258
+-114.995	31.7852	7271
+-113.5512	35.6376	5165
+-79.4361	28.5375	6719
+-116.6258	32.2689	9033
+-110.399	30.354	8140
+-124.2431	43.7231	5749
+-123.0554	46.2701	8822
+-109.056	31.4923	8086
+-88.365	36.0848	7984
+-83.0189	27.8277	8888
+-89.9167	39.0767	8810
+-123.7309	47.7142	8378
+-87.5465	37.1038	8307
+-116.6593	34.1428	8875
+-114.3413	33.1481	6801
+-91.1815	38.2416	8404
+-91.9441	37.4738	7251
+-109.0233	30.448	7595
+-86.7416	42.1693	4273
+-111.6759	31.5533	8019
+-119.3372	48.3762	6604
+-109.4392	30.4924	7945
+-89.6338	39.1055	8530
+-92.6614	39.7643	6736
+-78.1036	24.8461	4262
+-91.8593	39.6243	7575
+-117.6053	34.9754	8548
+-116.7091	33.4045	9037
+-112.145	31.0712	7434
+-123.6821	44.6221	6891
+-116.359	34.8862	8252
+-81.3626	24.3213	5898
+-117.0611	31.4796	8258
+-116.3888	29.4323	5923
+-115.1809	32.5367	7737
+-117.4011	34.661	8944
+-116.7455	29.7811	6358
+-121.9147	47.5291	8360
+-115.8625	37.0076	6048
+-88.1596	38.9882	8182
+-81.8628	25.9409	7804
+-115.2568	32.5175	7817
+-116.546	42.4449	4974
+-112.3986	28.2169	5195
+-88.8766	39.1217	8176
+-81.5317	28.028	9150
+-80.6552	27.3684	8161
+-92.9685	41.8213	5097
+-89.6471	37.7461	8823
+-112.1291	32.1344	7438
+-126.5249	45.4053	5270
+-116.5755	33.9292	8752
+-119.1643	30.9049	6504
+-122.5672	44.6282	7011
+-90.0862	39.5937	8460
+-110.9021	29.1338	6749
+-124.2777	47.0593	8089
+-117.729	45.2601	8195
+-91.651	36.8709	6981
+-123.9545	46.926	8447
+-120.6716	46.7874	7150
+-111.1649	31.4701	8564
+-91.8356	36.6458	6669
+-86.1917	29.5439	4880
+-87.1279	32.7878	4038
+-120.7484	42.8053	4903
+-121.2499	44.5043	6350
+-113.8073	33.3534	6178
+-121.2306	48.2698	7279
+-81.1676	26.6307	8206
+-111.1583	28.5509	6069
+-90.0647	40.3211	7696
+-117.2362	46.6605	8003
+-89.1232	37.7661	9399
+-116.4244	35.0158	8207
+-109.8489	33.5912	7236
+-122.1257	48.8763	7342
+-123.7862	49.0132	7156
+-121.2582	48.384	7223
+-114.7023	34.2851	6736
+-111.0288	30.8897	8409
+-90.3534	35.5176	6817
+-109.883	32.0507	8770
+-82.6542	29.4441	7905
+-80.006	26.2072	6908
+-92.5211	36.795	6302
+-90.4961	40.7816	7231
+-122.8167	48.8311	7556
+-88.444	38.1034	9205
+-88.7507	35.8592	7787
+-114.6878	32.8292	7211
+-110.3739	32.0621	8953
+-87.7858	36.7412	8302
+-86.295	26.9072	5085
+-114.8459	31.4225	6922
+-125.4812	45.1405	6132
+-83.2882	28.2622	8471
+-88.7278	36.7501	8786
+-110.0121	29.0736	6732
+-116.636	36.5309	6834
+-85.7484	35.9453	5915
+-112.7167	29.7762	6233
+-123.8057	49.8864	6248
+-118.0832	37.4508	5811
+-119.6226	44.6331	7157
+-84.0147	29.4549	7033
+-117.0881	31.0827	7814
+-90.0301	36.924	8170
+-110.9443	34.8601	5862
+-126.3309	45.2542	5394
+-83.6975	38.8839	3963
+-121.5433	48.5693	7299
+-89.7377	40.1164	7795
+-107.7836	30.8868	6610
+-90.8201	40.6337	7340
+-116.5521	33.2649	9072
+-118.1184	31.5201	7819
+-127.1484	47.3272	4922
+-107.8358	31.6355	6767
+-90.9577	36.8744	7310
+-118.3588	34.6395	8225
+-116.4987	45.731	7331
+-116.6397	33.2651	9134
+-87.0878	38.6235	7646
+-117.0497	43.2655	5987
+-109.1895	29.2671	6675
+-118.6063	31.6709	7522
+-108.4407	32.7051	7090
+-126.3337	47.5955	5771
+-106.1934	30.5246	4844
+-77.9077	27.4578	5099
+-117.4761	34.4914	9085
+-91.7119	37.1017	7142
+-80.9626	26.7784	8159
+-110.9885	28.7615	6335
+-122.3698	48.1517	8180
+-115.5692	34.1649	7686
+-111.1354	27.8396	5325
+-86.1652	27.1075	5270
+-118.6675	32.7818	7855
+-80.3884	29.5048	7106
+-91.0974	36.0072	6369
+-120.732	33.8801	5748
+-86.6931	38.1927	7414
+-114.3115	36.393	5480
+-117.9562	33.4344	8467
+-124.1764	45.6861	7620
+-121.8574	48.216	7818
+-90.0234	39.8244	8203
+-107.9926	31.2196	6907
+-115.6428	34.9164	7571
+-118.9806	33.9054	7652
+-121.2893	46.0757	7584
+-81.4422	30.6728	6513
+-124.2105	49.7702	6206
+-113.8312	34.3355	5784
+-113.7347	46.7745	4390
+-118.4565	49.1949	5978
+-93.0137	39.648	6429
+-81.7651	28.2276	9225
+-114.4508	29.8994	5456
+-78.6557	28.9164	5748
+-110.1691	29.3504	7048
+-117.819	45.5507	8499
+-107.5338	29.8311	5895
+-121.053	32.8258	5168
+-81.4004	27.4374	8983
+-113.3696	32.3408	6083
+-90.938	33.2965	4338
+-118.3432	33.9371	8344
+-82.2185	30.1211	7227
+-83.4632	27.3923	8329
+-115.9583	43.0534	5202
+-88.3353	39.0954	8139
+-109.6803	34.8713	5842
+-108.5541	32.7816	7149
+-108.0246	32.8931	6598
+-116.8781	36.3281	7107
+-108.5883	30.5702	7287
+-122.5237	48.2681	8118
+-118.0252	31.9487	8226
+-121.5983	47.2196	8149
+-124.7837	48.0653	7210
+-119.1917	45.9495	8285
+-114.4555	35.7399	6006
+-81.26	25.8821	7543
+-117.958	45.8174	8804
+-111.7026	33.4687	6949
+-88.2276	36.4433	8315
+-88.2872	36.4747	8374
+-89.5733	39.1447	8453
+-119.8238	47.6505	6946
+-118.9301	32.161	7444
+-122.1483	49.0267	7197
+-115.3926	33.6777	7752
+-114.9335	33.9299	7167
+-124.3284	48.3277	7439
+-91.7238	42.7417	4886
+-115.5928	33.5799	8000
+-121.4425	47.7929	7765
+-81.1718	26.0548	7671
+-112.9396	28.6688	5237
+-119.0764	35.0723	7314
+-114.8615	36.5395	5827
+-118.8992	35.3763	7300
+-84.2589	37.9575	4745
+-114.1053	30.7272	5801
+-81.8259	25.503	7308
+-120.6793	32.7186	5508
+-117.4215	46.129	8347
+-126.2005	46.0696	5849
+-82.0342	27.2092	9252
+-81.3199	28.0762	8908
+-83.9427	27.3496	7792
+-88.4489	37.2074	9189
+-117.1738	31.9202	8727
+-117.2091	34.5337	9097
+-118.9177	32.9269	7573
+-90.5139	40.1494	7909
+-90.2652	37.4457	8013
+-109.2303	30.6328	7896
+-118.9673	32.8914	7520
+-116.1098	28.6462	5004
+-89.1086	39.9003	7574
+-87.8885	36.8736	8487
+-117.7287	34.0626	9028
+-123.5348	46.6869	8844
+-111.7195	30.0177	7208
+-114.7606	36.0284	6111
+-117.2963	34.9813	8612
+-83.0393	27.3328	8756
+-91.4329	41.9298	5815
+-123.9727	44.8392	6989
+-118.4751	31.2317	7312
+-85.7797	38.553	6318
+-117.2362	33.4016	9034
+-111.5728	32.0177	8051
+-87.902	37.1612	8691
+-82.1379	27.2164	9270
+-119.4207	48.0802	6842
+-116.7639	35.7539	7687
+-118.4992	37.1898	5943
+-90.7366	39.634	8398
+-119.8081	49.5372	5278
+-119.209	31.2225	6684
+-90.2305	39.0676	9044
+-115.1041	45.6864	5865
+-89.4204	39.8729	7830
+-125.1195	49.9084	5558
+-119.1372	46.2399	8344
+-123.7444	48.3197	7854
+-112.7485	28.6671	5371
+-83.3481	27.1701	8361
+-108.7857	30.166	7200
+-83.5633	26.7053	7878
+-114.8339	33.6204	7211
+-122.4469	47.7537	8608
+-110.9703	31.5681	8783
+-119.5906	36.73	5737
+-80.7862	27.4576	8329
+-110.7212	31.2843	8943
+-111.794	33.2371	7083
+-117.7923	30.0622	6545
+-118.455	43.2814	6270
+-89.1065	35.5792	7442
+-118.1432	47.8197	7433
+-119.609	44.5842	7128
+-107.1738	29.6225	5445
+-118.0133	33.3391	8349
+-109.9125	31.0702	8755
+-92.0219	38.0544	7506
+-123.5112	48.584	7707
+-122.3692	49.6275	6625
+-123.2601	49.3929	6911
+-79.7989	26.1836	6701
+-112.9974	32.314	6480
+-111.881	33.6208	6701
+-107.4749	32.268	6289
+-116.5129	37.2121	6080
+-81.4003	28.2598	8893
+-118.0201	30.8573	7272
+-124.5144	43.5368	5442
+-116.648	49.7105	5063
+-90.7319	39.2293	8786
+-109.2337	31.8327	8252
+-118.6341	34.6125	7957
+-110.6011	32.9743	7939
+-86.8613	35.4512	6536
+-87.6919	39.774	7159
+-117.8842	45.3611	8371
+-126.425	49.6739	4723
+-90.4636	37.8471	8447
+-89.6255	39.6472	8159
+-80.2075	26.0047	6939
+-82.4511	29.7898	7575
+-109.5494	28.5594	6089
+-83.8772	25.9796	7068
+-120.0017	45.5097	7336
+-116.6665	35.7499	7657
+-120.1864	32.2463	6106
+-80.7697	27.70	8348
+-116.5722	37.1359	6176
+-121.4788	47.6447	7876
+-118.1586	31.7539	7972
+-89.3329	36.8532	8703
+-88.8317	38.7794	8563
+-118.4007	49.7445	5399
+-80.4635	26.6993	7650
+-122.6254	47.7017	8744
+-116.3209	47.3542	6794
+-81.5846	29.6477	7676
+-114.9583	30.3238	6182
+-82.6624	26.5268	8367
+-81.3055	24.6482	6242
+-118.2039	32.5411	8339
+-81.8733	24.5722	6266
+-116.9745	34.3664	9130
+-116.624	29.0283	5510
+-112.3077	32.4242	7148
+-107.789	30.8341	6600
+-117.6264	35.0926	8420
+-93.3246	37.0909	5785
+-110.1451	30.2586	8024
+-114.1243	29.8981	5209
+-87.6123	40.2317	6657
+-114.4669	48.2539	4619
+-90.1202	37.814	8376
+-89.7778	38.6773	8767
+-115.0257	32.9519	7583
+-119.4554	46.2765	8005
+-117.5894	35.0546	8473
+-123.5996	44.9266	7237
+-116.8591	35.1105	8383
+-90.7459	39.9696	8053
+-123.7227	47.4992	8529
+-118.3308	31.7736	7837
+-89.9912	36.7496	8098
+-91.7184	37.2005	7220
+-116.9157	43.5994	6242
+-121.0728	45.945	7306
+-123.1028	43.3771	5656
+-118.1863	45.246	8350
+-109.3197	30.0562	7488
+-83.8619	38.4909	4232
+-115.7929	45.3525	6507
+-115.0362	35.118	6878
+-88.6058	35.4452	7316
+-110.1209	31.6457	9234
+-89.0272	35.5928	7470
+-123.4327	46.1524	8537
+-115.6976	32.9266	8332
+-117.7093	31.6873	8245
+-116.8277	45.0144	7337
+-79.8208	29.8818	6347
+-117.265	44.16	6940
+-90.7661	46.2687	1310
+-112.8192	31.5104	6779
+-122.4455	48.8847	7441
+-115.6999	46.8437	6413
+-87.5887	36.1656	7674
+-120.4217	34.4992	6073
+-122.4175	45.6904	8107
+-118.5927	46.2656	8889
+-118.6447	33.2902	7776
+-118.085	35.4626	7835
+-120.586	32.4096	5690
+-121.7369	47.7802	8047
+-87.9314	38.2296	8684
+-88.412	36.7278	8689
+-117.982	34.6083	8601
+-122.5261	30.2312	2914
+-81.2771	27.0305	8615
+-118.3329	45.989	9132
+-87.1874	38.8414	7605
+-108.0445	30.9934	6913
+-107.3894	32.5565	6114
+-92.0353	37.9937	7466
+-78.3501	28.5594	5519
+-91.9143	37.3875	7215
+-121.4543	47.2455	7989
+-78.8542	29.9078	5462
+-117.7984	33.9039	8906
+-124.4724	44.673	6551
+-127.6762	44.5641	3732
+-118.111	45.7013	8801
+-117.981	30.3624	6791
+-93.1599	37.8063	6263
+-84.5289	27.4536	7159
+-92.0329	37.7478	7344
+-90.9173	42.7774	5045
+-118.9449	33.4193	7548
+-120.3756	37.5596	4491
+-88.1986	40.9243	6102
+-119.4897	48.1494	6742
+-89.4204	38.3846	8725
+-110.9931	33.567	7208
+-90.6899	39.5459	8505
+-88.8534	35.3012	7159
+-82.2973	25.9235	7799
+-113.7141	31.1736	5784
+-124.5584	46.3463	7661
+-90.6088	39.8377	8227
+-119.4688	45.4584	7833
+-118.8562	47.0444	8091
+-91.0836	39.9231	7952
+-84.5935	39.7309	4589
+-87.7355	36.3042	7898
+-115.0533	35.5432	6675
+-119.8474	46.5544	7536
+-86.4731	38.4735	7086
+-91.8061	39.7926	7523
+-115.9709	47.4664	6416
+-87.2314	37.5899	8090
+-86.9349	36.7065	7494
+-112.6054	30.5517	6770
+-114.1943	33.2065	6630
+-122.5774	49.8318	6438
+-119.5673	32.1623	6762
+-89.8104	38.4281	8716
+-124.6195	47.2673	7688
+-89.2524	37.813	9245
+-118.3893	33.2118	7954
+-82.4585	28.9012	8557
+-81.7672	30.6542	6599
+-114.8734	44.48	5262
+-117.4017	35.781	7734
+-80.5518	24.6089	5897
+-88.8142	40.5983	6811
+-123.9434	41.4346	3421
+-89.7326	35.3613	7010
+-122.8561	41.8322	3965
+-116.3696	47.2723	6884
+-117.7709	34.4199	8905
+-120.6558	35.0206	5716
+-80.9553	29.085	7892
+-123.2907	47.1057	9151
+-88.2652	36.6601	8553
+-115.062	29.3987	5389
+-117.9834	31.1756	7600
+-115.8818	30.2039	6597
+-115.0551	37.1495	5458
+-123.993	49.3075	6768
+-86.3389	34.8861	5672
+-121.8203	46.8479	8413
+-120.9065	43.425	5293
+-90.5607	37.4438	8004
+-90.2336	41.6278	6318
+-112.656	31.4784	6954
+-81.5577	29.4464	7883
+-81.3344	26.4479	8148
+-90.5188	38.9532	9161
+-120.4274	48.597	6352
+-119.1864	45.3295	8003
+-87.8407	38.885	8097
+-90.4531	41.4471	6516
+-88.1149	35.826	7624
+-112.9717	32.1272	6555
+-120.3706	47.2435	6740
+-83.9539	27.3144	7770
+-121.5717	47.4718	8045
+-89.4823	36.6119	8385
+-91.0022	38.2681	8579
+-121.178	47.3679	7664
+-81.6401	27.5375	9277
+-114.7823	35.857	6240
+-89.3445	36.7767	8625
+-116.6657	32.3223	9107
+-118.5492	34.6487	8030
+-123.1222	47.391	9080
+-80.7882	26.7965	8016
+-121.2169	47.0702	7754
+-118.8362	35.4895	7275
+-122.7789	48.337	8095
+-113.3646	35.1263	5146
+-90.1771	35.9232	7298
+-90.5152	38.6856	9266
+-118.0339	28.974	5305
+-79.0335	25.8801	5787
+-111.6533	32.4362	7771
+-118.9149	47.1389	7973
+-122.4112	46.4732	8843
+-82.9989	24.5103	6081
+-88.4978	39.6491	7569
+-107.8682	32.2292	6713
+-89.4008	35.1785	6933
+-118.1275	32.4584	8398
+-89.4429	38.131	8894
+-91.2671	38.8475	8466
+-110.3031	32.4279	8558
+-89.115	37.4996	9382
+-83.8952	27.5543	7885
+-118.6986	46.5552	8608
+-92.6592	37.7754	6756
+-119.8962	45.6557	7489
+-84.8571	26.8828	6653
+-88.3432	36.8524	8786
+-80.0085	29.5727	6737
+-108.8791	32.039	7822
+-121.2125	48.2605	7270
+-118.8363	34.1378	7826
+-120.1959	46.4118	7208
+-88.8547	35.5316	7417
+-89.041	39.3007	7860
+-89.2796	40.1882	7470
+-124.7657	47.4317	7494
+-116.0798	36.2994	6844
+-87.4854	35.9629	7423
+-113.4851	30.1791	5735
+-118.6933	33.1213	7630
+-87.4314	40.8889	5899
+-117.4516	33.7308	9055
+-116.8228	34.669	8779
+-115.2789	35.5857	6852
+-114.6879	31.6915	6918
+-87.4725	35.6999	7173
+-117.4865	33.0868	9099
+-111.0949	31.3128	8598
+-110.4215	37.2323	3352
+-84.7025	37.3496	5239
+-125.9083	45.2599	5806
+-92.1502	40.524	6726
+-85.9625	36.5121	6411
+-89.2876	39.3679	8069
+-116.6899	32.4927	9278
+-118.9498	30.3501	6223
+-116.4043	35.244	8004
+-84.0698	28.3217	7613
+-82.5628	29.9106	7419
+-116.0258	36.7263	6402
+-81.2941	25.0019	6624
+-117.6868	42.8835	5796
+-118.1843	35.6473	7607
+-90.8706	34.916	5928
+-80.6889	27.6541	8253
+-82.2126	28.5525	8999
+-120.1372	46.3629	7277
+-118.4119	46.9015	8401
+-83.8768	27.3095	7853
+-117.8357	48.4509	6726
+-115.9854	35.7517	7286
+-118.4452	34.0481	8249
+-114.477	33.7926	6770
+-124.3551	45.8807	7611
+-117.8867	43.8561	6847
+-84.01	35.0763	3736
+-122.5846	46.9742	9260
+-111.9824	30.9711	7568
+-118.0334	35.0916	8199
+-119.3749	47.2196	7605
+-91.702	41.8885	5755
+-85.3001	36.7045	5777
+-117.5302	43.2658	6155
+-118.7826	44.6998	7686
+-108.3672	32.3799	7175
+-122.5156	47.6343	8760
+-120.0243	47.1033	7132
+-117.5907	34.6578	8865
+-79.4482	29.0714	6515
+-118.775	30.5824	6547
+-108.6819	31.1143	7614
+-107.347	29.2158	5345
+-79.747	30.3332	5928
+-83.1454	27.9576	8727
+-112.975	31.9396	6585
+-118.4482	35.2301	7779
+-126.2061	45.0552	5411
+-90.2027	42.1362	5769
+-115.5364	35.9461	6804
+-106.5913	29.5229	4845
+-111.084	29.8985	7475
+-89.2246	37.6141	9298
+-118.1757	35.0406	8137
+-79.3238	28.3341	6650
+-123.3473	48.01	8359
+-81.4281	30.4459	6758
+-108.8518	32.74	7437
+-91.4765	38.7655	8246
+-93.3665	34.2173	3576
+-89.1449	38.2761	9009
+-120.5776	47.1475	7047
+-122.2233	46.2888	8554
+-90.2148	39.8508	8224
+-91.0313	34.7384	5660
+-109.9429	30.3675	8090
+-123.5207	44.2072	6499
+-117.3585	46.9833	7906
+-92.4755	38.4508	7146
+-83.0956	30.8803	6205
+-89.7593	37.645	8701
+-112.245	34.555	5645
+-91.2798	36.1944	6505
+-117.4629	45.625	8257
+-83.0164	25.2297	6853
+-87.2572	38.7301	7742
+-89.023	40.842	6735
+-120.1871	46.7741	7122
+-115.1719	34.918	7098
+-81.8765	30.0505	7292
+-119.8692	48.6155	6111
+-91.6839	37.951	7779
+-109.8039	30.4229	8092
+-91.9237	34.1157	4482
+-116.1256	46.4077	6952
+-88.5557	39.2947	7972
+-115.2907	32.2273	7771
+-87.4126	42.8597	3959
+-119.4521	45.1164	7643
+-108.8022	30.2907	7303
+-118.467	42.6486	5600
+-90.5336	38.1298	8737
+-86.7895	40.1221	6276
+-89.3805	37.7661	9117
+-80.3651	25.5138	6652
+-118.1744	32.1254	8201
+-110.9521	28.8274	6413
+-123.777	48.005	8113
+-83.8805	25.2164	6395
+-90.2648	39.8988	8180
+-112.2341	35.9113	4352
+-119.2901	46.3168	8170
+-114.5136	34.5453	6501
+-81.9089	29.3262	8110
+-115.868	33.4219	8354
+-89.4007	37.6814	9103
+-118.9929	48.8332	6270
+-121.0953	33.8965	5353
+-116.7047	33.8735	8863
+-119.0398	33.0941	7296
+-90.1098	34.3162	5764
+-120.8768	47.6408	7263
+-90.6065	37.8669	8443
+-123.5953	45.8809	8190
+-115.4922	41.7913	3823
+-117.9611	32.4249	8561
+-114.4381	34.0877	6452
+-89.8264	34.3225	5878
+-116.0407	37.3899	5742
+-109.0432	32.9216	7460
+-88.3331	40.4249	6571
+-89.3338	39.0837	8237
+-87.1421	36.8973	7798
+-86.4332	29.8124	4505
+-117.9475	34.8173	8485
+-110.7743	30.9041	8596
+-91.9805	42.0154	5506
+-91.1038	36.1384	6504
+-87.5776	42.5698	4316
+-109.9741	29.4771	7159
+-116.9919	34.4178	9106
+-118.4515	35.5986	7482
+-122.5995	44.8846	7295
+-120.524	33.1193	5816
+-90.8403	38.6958	8928
+-119.7292	34.8055	6753
+-117.4937	44.8169	7665
+-86.2386	36.1513	6507
+-120.1886	34.2632	6347
+-92.9051	34.8619	4429
+-117.0052	46.2235	7901
+-119.3525	31.9692	6929
+-91.0689	35.3831	6176
+-78.7631	26.354	5758
+-118.5337	34.7068	8021
+-82.7435	29.4687	7847
+-89.9259	41.0937	6851
+-119.4654	32.8714	6965
+-120.5105	44.7032	6476
+-117.9934	31.857	8185
+-116.8728	32.6743	9563
+-90.1921	36.9615	8030
+-87.5741	37.1523	8358
+-80.8339	28.9377	7913
+-118.382	45.368	8478
+-84.3344	27.104	7292
+-116.2479	46.1775	7103
+-111.7895	32.5212	7597
+-88.8532	36.5927	8606
+-91.0683	40.1506	7744
+-125.613	42.8437	4184
+-119.9821	33.9074	6566
+-82.9977	28.2434	8776
+-85.0332	38.236	5576
+-116.3585	34.3352	8523
+-118.4402	36.1391	7003
+-107.5919	29.7624	5908
+-82.672	28.1475	9146
+-121.5456	37.1141	3849
+-118.4416	47.2142	8069
+-115.5148	30.8095	6990
+-116.4332	30.1386	6707
+-119.4647	30.9406	6268
+-118.8247	29.7708	5773
+-106.0918	35.0189	3560
+-109.7975	32.4124	8404
+-113.766	31.262	5738
+-125.1542	49.2094	6113
+-88.1231	38.7292	8420
+-109.0381	30.7348	7796
+-121.029	45.0145	6636
+-123.4758	46.8109	8951
+-108.4644	33.0053	6929
+-87.4359	37.7265	8320
+-80.893	29.3915	7580
+-119.1256	32.9501	7340
+-90.413	39.8973	8187
+-117.3872	29.8761	6440
+-81.3185	24.4309	6008
+-79.86	28.5556	7170
+-118.9149	48.0805	7059
+-109.8431	31.2793	8849
+-90.4841	39.6784	8418
+-107.6653	33.034	6183
+-110.1583	32.8374	8102
+-87.8517	35.5229	7199
+-89.2483	39.7626	7785
+-112.5182	32.3183	6976
+-114.7783	32.1141	7189
+-84.2712	28.8589	7176
+-119.2367	46.2845	8232
+-124.8622	45.3614	6821
+-88.2687	39.3127	7884
+-89.5031	38.0159	8900
+-88.5045	39.8158	7096
+-120.5655	49.9761	5422
+-85.4992	27.4881	6071
+-114.1489	31.6859	6366
+-113.967	45.7887	4677
+-119.3727	32.4481	7038
+-81.092	25.809	7384
+-108.8402	26.5985	3836
+-121.9472	33.8439	4422
+-116.6611	45.6655	7482
+-80.1169	30.88	5696
+-121.1189	44.3909	6166
+-116.866	31.1887	7934
+-117.0967	33.2382	9261
+-87.6262	40.3509	6541
+-125.0251	47.4467	7213
+-118.679	43.4358	6408
+-121.6687	47.2066	8228
+-117.3144	34.4193	9222
+-81.0877	27.5444	8683
+-119.4097	43.6714	6425
+-88.7086	40.9484	6446
+-84.3265	26.8232	7191
+-120.2104	32.0403	6032
+-109.8948	30.0752	7772
+-88.6217	38.9554	8359
+-110.4787	30.1685	7933
+-88.9812	40.8224	6727
+-89.0311	38.1968	9149
+-91.0911	39.6758	8168
+-91.9351	41.0318	6450
+-88.0408	39.5539	7545
+-123.993	43.3609	5467
+-119.0673	46.1046	8430
+-86.9061	40.7836	5740
+-91.2404	35.2829	5959
+-115.3112	35.0309	7191
+-113.9619	31.3511	6024
+-90.0057	39.4873	8531
+-121.4786	48.4003	7388
+-116.419	33.4334	8833
+-91.9409	38.0258	7573
+-121.7713	48.627	7400
+-119.4935	44.8638	7428
+-91.0778	36.0036	6371
+-112.4294	30.6332	6980
+-119.2102	31.373	6777
+-111.36	33.1552	7439
+-115.0295	34.7011	7020
+-84.8859	27.4479	6757
+-109.1284	32.6324	7743
+-91.0332	41.5745	6300
+-91.642	38.8923	8059
+-123.8413	46.7668	8549
+-112.8518	30.7982	6615
+-114.4659	35.2901	6232
+-87.3329	36.7591	7911
+-116.3202	38.3793	4793
+-120.7369	47.0967	7225
+-109.0663	31.6652	8098
+-111.9269	30.7847	7542
+-115.9877	32.7493	8658
+-114.2615	32.3306	6687
+-114.4201	31.503	6557
+-115.5283	31.3324	7448
+-87.6371	40.4308	6463
+-116.1515	45.0223	6731
+-88.4566	34.9572	6755
+-118.8716	42.3276	5217
+-112.7727	29.6775	6120
+-118.7345	46.8239	8357
+-119.2834	45.2813	7892
+-90.3145	37.1116	7657
+-84.7834	29.6163	6236
+-85.2709	39.7168	5266
+-91.5158	39.6182	7886
+-90.0431	37.7471	8283
+-82.8066	28.2257	8970
+-86.4903	38.9708	6870
+-121.9749	48.8076	7343
+-92.3185	38.1339	7235
+-85.7395	31.2726	4202
+-83.9764	29.7507	6829
+-87.4367	40.9824	5804
+-112.5123	34.1929	5790
+-91.0663	37.5392	7926
+-114.7227	34.2027	6762
+-118.7281	33.334	7721
+-118.0779	46.8547	8432
+-118.8425	32.4911	7629
+-81.4184	26.0392	7777
+-85.632	26.017	5467
+-90.3028	37.8974	8501
+-118.4624	48.8366	6356
+-88.7495	41.3036	6157
+-84.2043	24.6939	5700
+-82.3559	28.5686	8951
+-119.8231	47.3553	7156
+-113.7565	33.4184	6110
+-119.0001	43.0254	5917
+-117.2499	31.0215	7726
+-123.079	45.01	7448
+-115.9083	33.306	8452
+-83.3569	27.4309	8457
+-115.431	32.294	7944
+-90.0932	42.0719	5830
+-91.3093	39.0049	8389
+-85.6533	36.9723	6235
+-123.4222	45.8857	8287
+-115.4914	46.5894	6259
+-82.3605	28.5791	8938
+-122.8434	44.1305	6490
+-87.1851	39.2673	7289
+-87.1549	37.2354	7942
+-121.3382	43.9439	5868
+-119.7983	43.4152	5996
+-119.4242	45.1957	7719
+-117.1799	36.6455	6796
+-113.5076	29.9924	5627
+-117.5585	36.0379	7436
+-114.3653	31.4991	6500
+-109.9032	31.1827	8837
+-88.9261	35.8303	7747
+-76.81	31.0169	2836
+-111.6061	29.1766	6524
+-118.3742	47.6928	7571
+-81.2674	28.7145	8440
+-119.1284	45.248	7990
+-86.6876	36.4502	7112
+-108.0432	32.0752	6936
+-88.2583	43.1288	4178
+-117.505	34.3596	9179
+-116.2647	30.0899	6612
+-123.4875	47.7685	8514
+-117.2847	31.9099	8681
+-83.4265	25.6949	7129
+-119.9326	46.5062	7462
+-77.2903	30.2252	3748
+-114.9248	33.3376	7402
+-89.1075	37.2998	9253
+-91.0271	37.2017	7617
+-116.3693	32.6251	9053
+-118.4243	32.9578	8119
+-87.2331	37.702	8093
+-79.4279	28.4594	6733
+-118.0962	47.0702	8214
+-110.6108	29.6041	7308
+-82.6129	28.5821	8822
+-80.6085	30.0662	6771
+-110.5209	32.3511	8617
+-114.7649	32.1316	7181
+-106.7335	31.6132	5573
+-118.3226	33.0946	8209
+-89.154	35.8278	7706
+-118.0651	31.6215	7942
+-117.063	36.2547	7213
+-117.7954	47.8072	7380
+-92.2254	38.7925	7438
+-114.7925	32.1629	7221
+-120.1931	46.3343	7223
+-118.5563	34.8347	7936
+-88.5052	37.9768	9359
+-119.1693	47.9325	7105
+-119.3503	32.0814	6970
+-83.7561	27.3232	7989
+-83.7509	27.7074	8061
+-88.2117	39.0019	8191
+-109.701	29.8911	7516
+-111.0187	33.6266	7138
+-85.9862	40.0519	5702
+-82.5845	25.4286	7198
+-110.0563	31.3613	9089
+-121.2519	45.0366	6818
+-120.1252	32.4741	6209
+-126.1822	49.373	5135
+-117.0347	33.6099	8913
+-82.0228	26.1162	8021
+-82.0228	29.1653	8305
+-122.861	47.9203	8557
+-93.6535	38.921	5895
+-87.4118	39.6474	7121
+-89.8581	43.2203	4573
+-82.8607	26.2829	8023
+-117.0861	33.0782	9432
+-87.9847	40.5074	6507
+-117.3964	44.1847	7025
+-90.4227	39.017	9133
+-125.5376	45.8962	6479
+-117.7981	31.6975	8198
+-113.708	35.0566	5528
+-116.1847	32.8553	8880
+-116.1787	47.3369	6675
+-117.9492	37.2862	6019
+-118.4993	35.7029	7361
+-109.0239	30.1462	7367
+-91.0471	40.1078	7795
+-119.2882	33.2433	7128
+-113.7204	32.6347	6126
+-117.8882	34.2227	8853
+-91.2206	37.1717	7499
+-86.0838	39.4157	6220
+-79.9893	29.7805	6564
+-110.5718	29.1835	6861
+-91.4466	39.0141	8243
+-81.4843	29.3476	7959
+-89.89	36.0723	7626
+-79.6566	25.4293	6040
+-125.558	47.8101	6542
+-90.367	39.1787	8962
+-117.2134	35.6012	7936
+-117.1684	31.7042	8492
+-91.5958	40.828	6831
+-91.9178	37.9743	7571
+-90.0788	39.296	8751
+-89.9855	38.7672	8995
+-119.2296	47.4594	7506
+-88.0432	42.3369	4808
+-118.3692	43.341	6337
+-117.4669	34.7944	8784
+-111.4705	32.8259	7649
+-91.9253	38.1747	7650
+-117.6738	49.007	6115
+-124.5303	48.4132	7212
+-83.3443	29.457	7540
+-114.2967	32.9685	6770
+-111.8609	32.9158	7277
+-116.297	31.4244	8030
+-120.2884	32.1611	5976
+-112.9981	35.0397	4778
+-122.8485	47.1778	9367
+-110.7661	27.6133	5147
+-88.4543	34.3972	6129
+-116.9269	33.4446	9051
+-116.9657	43.561	6231
+-117.0631	34.4882	9092
+-116.7451	31.7299	8516
+-111.6257	28.9558	6301
+-93.1163	38.9014	6474
+-121.9314	46.3989	8373
+-117.1014	34.8708	8713
+-116.9647	29.3304	5864
+-87.7403	38.3748	8415
+-91.305	39.4409	8183
+-124.3435	48.2705	7469
+-91.3448	38.1866	8223
+-90.4002	33.4261	4715
+-109.6959	29.8624	7485
+-83.5314	28.8015	7925
+-93.3351	38.751	6243
+-118.7979	30.2363	6224
+-117.7603	33.6883	8813
+-90.973	38.8272	8783
+-117.315	33.7778	9147
+-90.6235	37.6232	8183
+-82.2863	27.9341	9636
+-120.8777	46.2046	7232
+-114.1815	32.6887	6643
+-89.3758	39.5996	8004
+-90.7545	37.9923	8515
+-126.1595	45.6937	5762
+-108.6594	31.3507	7642
+-118.8944	37.4495	5508
+-118.5062	35.3685	7629
+-85.1644	28.784	6275
+-118.1045	33.5148	8402
+-125.0368	44.2546	5813
+-117.7856	45.3254	8285
+-94.0426	35.7705	4338
+-114.4592	31.4279	6556
+-118.6535	35.3891	7497
+-91.0542	37.5848	7975
+-82.805	27.6076	9112
+-111.6173	30.4372	7609
+-118.8305	36.4164	6519
+-85.6355	40.9844	4694
+-107.9482	30.4072	6592
+-119.7904	45.3964	7499
+-117.5307	35.7089	7795
+-118.0261	45.2615	8332
+-91.2047	40.2613	7570
+-117.0115	31.9348	8768
+-89.2299	37.8299	9263
+-109.9207	29.5619	7238
+-91.7252	39.3064	7859
+-91.6802	34.4484	4943
+-125.8671	48.1337	6103
+-86.108	28.8591	5229
+-92.3679	36.6875	6339
+-90.5804	35.4358	6588
+-119.6377	35.7562	6404
+-123.3774	46.7162	9014
+-122.5633	47.9171	8498
+-88.6754	37.8883	9545
+-116.6755	34.103	8892
+-118.9748	36.4113	6432
+-91.8009	39.7021	7584
+-110.7152	32.7805	8112
+-115.5184	36.0982	6669
+-116.4279	48.5641	5994
+-118.7787	33.254	7630
+-117.7272	34.4657	8918
+-123.9581	47.7045	8189
+-118.1373	41.374	4253
+-111.1121	30.6183	8130
+-85.3961	37.3082	6010
+-117.7512	46.3568	8635
+-116.079	35.8415	7268
+-125.5563	46.1917	6566
+-85.945	34.9589	5426
+-119.3618	35.2891	6928
+-121.3361	42.5534	4304
+-92.6984	42.1031	5032
+-120.278	46.9266	6974
+-123.2508	47.9942	8413
+-116.093	33.0766	8736
+-121.6654	46.3582	8094
+-90.9075	38.2624	8653
+-124.9046	46.8928	7402
+-108.5571	28.1125	5249
+-87.1704	39.8204	6805
+-115.5829	26.8856	2960
+-84.6107	30.527	5696
+-87.8881	35.4357	7124
+-117.0756	35.2424	8310
+-119.5838	47.0065	7582
+-118.1482	30.4224	6775
+-118.4275	33.6913	8183
+-120.1607	48.2593	6230
+-119.2566	33.1039	7094
+-112.0496	30.9271	7483
+-80.7262	27.8726	8296
+-90.4859	39.3067	8814
+-109.4942	31.8872	8507
+-118.4826	45.9483	8995
+-123.2902	47.6818	8711
+-120.6962	32.1911	5535
+-116.8864	36.5291	6892
+-119.1144	34.8368	7381
+-89.9977	34.4305	5929
+-119.0455	49.4727	5598
+-89.3188	37.275	9056
+-108.7386	32.4325	7516
+-88.4195	34.3919	6119
+-120.2895	35.0872	6080
+-80.6268	27.0039	7982
+-79.8089	26.7645	7029
+-113.0246	32.0355	6517
+-115.2416	33.9507	7320
+-83.9983	30.3588	6280
+-89.7785	37.2325	8579
+-120.6782	46.294	7056
+-86.6311	40.9304	5436
+-88.8044	39.4514	7562
+-116.2234	33.7608	8330
+-117.0439	45.5721	7834
+-90.5916	37.7352	8308
+-105.8476	34.688	3563
+-116.0787	34.5328	8171
+-90.3843	41.7561	6184
+-118.4646	31.8218	7747
+-91.121	34.1712	5085
+-115.8636	45.3342	6573
+-91.3113	38.782	8423
+-118.3135	28.4691	4676
+-109.6392	34.0483	6699
+-111.5465	31.4367	8150
+-89.7453	35.8132	7463
+-117.9948	36.207	7140
+-120.7911	46.1952	7139
+-118.5991	31.709	7552
+-118.7495	47.8467	7346
+-117.2788	36.395	7071
+-86.6834	36.9726	7351
+-115.0237	33.6844	7379
+-119.7847	32.274	6552
+-118.2588	48.2048	7031
+-95.5616	39.1636	3825
+-109.3788	32.9227	7692
+-118.5609	48.0369	7188
+-110.8086	31.0933	8734
+-88.8149	43.0026	4539
+-117.0686	31.9542	8784
+-89.9225	37.249	8436
+-114.3114	49.0576	4016
+-117.2634	32.1581	8947
+-89.7032	40.9853	6906
+-89.4811	39.2051	8335
+-120.1373	47.5534	6766
+-112.5678	32.8283	6702
+-81.8472	25.6133	7435
+-93.6437	38.3406	5883
+-90.1496	36.1838	7540
+-81.6887	29.5204	7845
+-117.0968	33.3182	9175
+-117.35	35.1783	8394
+-120.9175	30.5938	4696
+-86.4138	37.6043	7173
+-123.5617	47.054	8873
+-124.5365	45.9737	7503
+-114.9961	31.7231	7239
+-108.6857	30.6352	7414
+-114.9269	33.4103	7383
+-88.9745	37.4022	9438
+-112.1118	29.9412	6851
+-126.9965	47.311	5090
+-117.709	44.4494	7410
+-89.3679	43.5058	4183
+-120.0469	48.8681	5784
+-118.9378	45.8836	8531
+-90.2067	36.8972	7983
+-82.9046	28.0975	8943
+-117.3964	32.3514	9046
+-85.687	35.8221	5786
+-85.8475	35.2017	5527
+-119.0851	34.9662	7356
+-92.294	37.6472	7047
+-120.3146	42.5151	4897
+-121.2174	47.9028	7491
+-119.0646	47.1171	7902
+-81.0619	24.4984	6001
+-118.3211	47.7669	7495
+-109.1899	30.8708	8014
+-92.7194	38.3295	6866
+-76.9209	29.5273	3668
+-81.5041	27.9571	9149
+-121.6792	47.9933	7854
+-111.6723	32.0324	7943
+-118.7064	35.4824	7386
+-82.313	30.2851	7036
+-112.5981	30.8627	6899
+-122.888	43.8273	6157
+-116.7144	35.5124	7917
+-116.2201	45.7029	7035
+-120.196	44.85	6841
+-90.0417	36.5397	7905
+-81.5471	28.6881	8657
+-110.9589	33.817	6960
+-109.6777	33.4406	7340
+-108.3831	30.6963	7152
+-117.334	36.2717	7204
+-117.4543	38.8986	4336
+-82.0575	27.7972	9800
+-117.0606	34.7465	8832
+-89.1892	41.0537	6628
+-119.101	31.0252	6645
+-116.1977	31.4491	8003
+-89.4433	38.941	8390
+-78.8018	29.5074	5640
+-91.1466	36.3301	6689
+-115.0075	32.8917	7566
+-116.6636	30.4131	7051
+-110.3311	30.3417	8128
+-90.1022	38.5912	9076
+-117.1502	44.1409	6864
+-106.1514	31.4742	4941
+-81.3667	29.657	7585
+-83.955	33.0579	3561
+-118.7008	32.8861	7817
+-121.117	33.6083	5299
+-89.3963	38.4973	8326
+-119.2213	47.2862	7659
+-86.3227	36.5598	6804
+-89.2359	39.2701	8066
+-116.5877	36.632	6713
+-120.1952	48.6855	6085
+-120.5026	28.4664	3500
+-89.8549	39.9794	7982
+-125.9333	47.153	6267
+-113.1046	32.5083	6308
+-109.375	30.9535	8231
+-118.5301	31.0431	7116
+-84.1119	40.5073	3694
+-89.3788	38.789	8341
+-119.6787	31.2289	6247
+-89.4248	37.7547	9070
+-109.4238	35.0188	5623
+-81.5695	28.3227	8996
+-119.1717	36.1954	6475
+-106.526	31.9207	5332
+-124.454	43.35	5282
+-87.2116	35.2856	6623
+-111.6327	32.6494	7652
+-113.2236	34.5201	5108
+-87.7339	38.6624	8204
+-111.2091	30.4553	7926
+-81.0349	30.3331	6734
+-116.123	32.9645	8798
+-115.4015	36.8037	5985
+-116.1444	33.8163	8266
+-117.189	30.5068	7165
+-118.3805	34.3097	8308
+-116.846	34.3172	9037
+-110.8704	33.4229	7397
+-115.9038	47.9247	6085
+-123.3089	49.5258	6759
+-116.5852	36.5404	6809
+-117.1567	32.0639	8887
+-117.4612	35.4376	8099
+-117.2865	45.7838	8153
+-110.8365	32.7287	8118
+-91.419	38.9105	8295
+-78.2307	26.3927	5212
+-87.4877	39.4331	7366
+-115.3245	35.6044	6880
+-117.5243	30.7776	7395
+-93.662	36.9013	5367
+-120.9765	46.1986	7331
+-91.4643	40.1859	7487
+-118.1381	45.6697	8780
+-108.5274	31.972	7472
+-114.4763	34.151	6494
+-114.1778	35.2688	5948
+-116.468	43.6127	5999
+-118.6385	34.3685	8020
+-93.0366	37.914	6426
+-121.3332	49.4661	6365
+-82.5396	31.5702	5565
+-80.6386	26.8283	7896
+-88.2392	41.8125	5395
+-119.2577	30.1225	5808
+-111.1081	29.5367	7103
+-109.8761	34.26	6531
+-114.6058	46.9648	5259
+-121.3353	47.67	7721
+-120.0054	33.3151	6420
+-90.8285	39.2429	8708
+-123.5187	47.2974	8835
+-117.9859	30.7534	7186
+-124.0064	45.4203	7517
+-85.0466	27.1476	6523
+-117.5181	34.5898	8969
+-121.889	48.2394	7820
+-94.4764	36.8639	4567
+-110.6203	34.4073	6398
+-92.7113	35.8523	5418
+-119.771	46.8754	7484
+-111.515	31.7229	8184
+-90.3025	37.4667	8038
+-119.0885	34.6886	7460
+-86.922	37.9181	7725
+-118.673	43.7715	6760
+-120.3389	47.842	6407
+-89.9702	35.5236	7057
+-80.275	29.9583	6641
+-115.3509	29.8577	5992
+-107.2436	30.9501	6056
+-79.6544	24.5617	5308
+-82.8313	26.0324	7777
+-119.771	45.342	7492
+-121.2471	46.4094	7690
+-113.3128	34.995	5124
+-116.3316	31.1371	7750
+-112.8125	45.1166	3374
+-118.5216	47.7105	7536
+-117.9916	33.4685	8465
+-117.5919	42.769	5658
+-88.6835	38.3011	9096
+-118.6589	31.2966	7216
+-116.0898	31.5025	7991
+-115.2083	47.9645	5452
+-114.0772	33.2666	6491
+-114.6283	30.5599	6128
+-115.0948	35.5602	6703
+-86.1505	39.9316	5930
+-91.9717	36.7984	6712
+-113.3639	30.5201	5994
+-93.2629	35.5594	4792
+-119.6953	46.0346	7764
+-87.5486	42.7408	4148
+-80.9396	25.7117	7204
+-110.7491	29.6669	7349
+-82.4887	28.8093	8646
+-81.9436	26.0207	7906
+-119.4384	46.7714	7846
+-80.5475	24.884	6170
+-91.7732	35.6548	5767
+-116.6405	45.0147	7175
+-115.2574	33.6348	7639
+-119.2475	45.9866	8232
+-116.4668	35.038	8221
+-80.6497	25.5103	6837
+-94.6017	40.0007	4682
+-90.0197	39.095	8884
+-82.6671	25.7065	7485
+-114.4181	32.8426	6910
+-82.7801	30.206	7037
+-117.9705	34.5617	8639
+-115.2489	44.8663	5791
+-91.7593	40.8718	6699
+-82.533	30.5379	6725
+-93.2626	37.7218	6129
+-118.9782	45.8157	8465
+-117.0192	32.1326	8988
+-120.5955	48.8941	6306
+-90.5798	36.4604	7371
+-116.0561	46.3149	6891
+-115.3706	33.4487	7838
+-91.0275	40.6056	7307
+-90.5822	36.7985	7310
+-115.6868	45.119	6321
+-88.6482	34.911	6720
+-89.2433	37.7318	9275
+-115.3902	32.0739	7809
+-114.9728	33.7076	7317
+-89.1971	40.0419	7534
+-109.9471	33.57	7281
+-118.6803	32.8144	7841
+-122.4906	49.1663	7148
+-117.3016	32.8728	9374
+-118.285	34.5778	8326
+-91.4465	39.8131	7804
+-114.6834	33.3423	7139
+-117.9986	44.4036	7439
+-115.891	33.0585	8523
+-119.14	47.7571	7285
+-114.4762	30.3758	5863
+-114.9185	33.1252	7443
+-115.3849	32.2855	7892
+-110.202	28.4974	6127
+-117.1883	33.9169	9287
+-122.7665	48.8247	7560
+-116.7635	32.5862	9410
+-118.7458	46.4744	8630
+-113.7904	34.2934	5742
+-86.5904	34.7024	5688
+-89.9612	39.5302	8468
+-115.415	32.3828	7956
+-110.0615	28.1852	5780
+-87.4942	38.2378	8249
+-119.3382	45.1776	7776
+-90.7627	41.9203	5983
+-118.3497	35.4345	7691
+-93.6985	37.4549	5588
+-88.6012	40.8024	6495
+-118.8914	35.5668	7174
+-119.5789	34.2477	7012
+-116.1255	43.7397	5874
+-117.7049	35.0166	8462
+-87.9753	38.885	8184
+-86.0461	34.9701	5516
+-126.6301	48.1665	5301
+-90.1644	38.2205	8807
+-118.9372	32.8398	7555
+-118.8281	43.9178	6878
+-118.1455	29.4947	5821
+-86.3414	37.283	7059
+-122.4544	45.8978	8334
+-107.2142	34.0935	5136
+-123.3189	49.7687	6494
+-113.6212	48.3106	3796
+-116.9196	44.8438	7297
+-121.499	47.3229	8018
+-115.1318	44.7027	5609
+-120.9973	46.7377	7501
+-107.7516	32.1396	6612
+-81.285	28.8902	8300
+-117.8028	44.5023	7494
+-117.8427	31.9283	8361
+-86.9602	35.0438	6241
+-86.2674	44.3366	1945
+-113.588	33.1054	5971
+-89.5481	41.3621	6468
+-92.3083	39.0816	7319
+-89.7086	40.5286	7374
+-110.068	31.933	8998
+-83.9871	32.7848	3840
+-91.7071	39.0719	7956
+-108.8746	32.3138	7706
+-107.0374	34.6499	4596
+-118.7963	44.00	6971
+-87.9734	39.9659	7084
+-122.4556	46.9776	9118
+-105.8027	33.7659	4025
+-117.8576	36.9525	6396
+-113.8418	46.4236	4544
+-82.394	26.0536	7932
+-118.5762	32.7718	7957
+-83.241	26.859	8272
+-117.213	33.5473	8896
+-107.4776	31.7466	6375
+-93.7221	41.6293	4672
+-122.5948	46.0539	8549
+-125.0462	47.9591	7008
+-81.7828	26.1293	7998
+-90.1294	37.5228	8074
+-92.2477	34.9292	4842
+-93.9067	39.7473	5477
+-116.2758	45.9933	7131
+-117.2805	35.9765	7527
+-117.7139	32.1828	8660
+-118.4258	34.2245	8269
+-80.6846	28.067	8219
+-116.7717	30.2054	6832
+-84.069	29.2508	7133
+-81.5732	29.5827	7742
+-91.2834	38.3859	8378
+-109.7902	30.4472	8109
+-119.8957	32.6656	6481
+-83.4562	28.9031	7919
+-122.077	46.6706	8645
+-111.4141	27.6846	5090
+-93.7711	35.9065	4657
+-88.639	36.2667	8238
+-108.3971	28.7241	5732
+-116.7015	48.6035	6124
+-114.2443	31.9004	6549
+-121.8875	44.2843	6456
+-123.9726	47.4411	8318
+-114.5293	33.8326	6808
+-116.8031	35.2237	8245
+-86.6374	37.0005	7311
+-92.5308	38.8725	7106
+-121.8064	49.8146	6255
+-117.8077	30.4739	6976
+-124.6846	46.8576	7642
+-113.8007	31.0439	5672
+-93.5909	36.4878	5194
+-114.9791	33.3356	7462
+-111.6145	32.8398	7529
+-116.1308	34.5639	8213
+-92.6385	40.6787	6226
+-114.3279	32.5448	6794
+-118.085	44.1467	7181
+-124.3662	48.4807	7291
+-83.0527	28.7582	8363
+-84.0604	37.7767	4531
+-119.3135	31.2419	6601
+-91.8266	37.8645	7599
+-112.7344	33.2329	6317
+-120.1127	35.225	6213
+-119.1954	48.1709	6864
+-111.9816	32.9273	7169
+-120.9385	35.8706	5107
+-114.1797	35.5701	5824
+-121.9553	48.6646	7471
+-87.6313	36.6648	8116
+-108.3614	33.3017	6640
+-117.1766	35.1139	8464
+-80.6394	24.7562	6090
+-87.8638	36.8633	8459
+-79.9976	26.4957	7081
+-119.638	44.9333	7367
+-118.0357	44.7202	7776
+-89.3671	36.6035	8445
+-111.5576	45.1056	2060
+-88.7873	37.7664	9700
+-83.9363	28.2119	7791
+-81.2944	30.4567	6704
+-118.1035	35.35	7927
+-115.8661	31.5126	7850
+-116.6904	33.2482	9181
+-107.7993	29.1554	5671
+-116.6753	34.7272	8624
+-119.8213	46.6787	7520
+-120.9081	48.1495	7061
+-114.4677	32.4563	6937
+-120.3496	48.4223	6380
+-111.495	29.5174	6906
+-118.794	27.7481	3743
+-90.2593	35.7669	7104
+-120.3593	45.7106	7024
+-115.522	30.2168	6435
+-108.6594	29.8405	6855
+-86.3177	38.2313	6994
+-87.8904	36.8663	8484
+-82.0747	31.121	6097
+-92.3116	39.8059	7055
+-93.3806	40.3318	5772
+-117.6625	45.8617	8556
+-114.3488	30.8034	6069
+-117.9628	33.7618	8677
+-80.217	24.8998	5991
+-84.6611	38.6766	5069
+-110.8445	31.8858	8830
+-81.9407	24.8333	6567
+-123.9196	43.7346	5883
+-90.1355	38.9741	9064
+-88.6592	42.505	4971
+-87.4652	39.3663	7412
+-88.3572	37.7256	9351
+-90.5881	35.9925	7038
+-119.5509	35.5619	6599
+-117.4715	36.0674	7416
+-80.8519	25.8612	7295
+-115.6649	48.7291	5331
+-113.4211	32.6859	5921
+-89.5763	41.3884	6451
+-115.5706	31.5349	7639
+-119.1908	46.3755	8256
+-121.0964	31.5156	4923
+-119.5531	48.3425	6531
+-120.4523	48.8936	6184
+-89.3095	38.779	8267
+-83.3855	25.205	6667
+-116.7928	46.9398	7449
+-117.9487	30.9925	7442
+-111.4623	33.5376	7028
+-110.5285	34.8185	5962
+-116.656	41.4711	4064
+-120.1547	35.1973	6180
+-120.8874	47.0518	7393
+-89.0462	39.9976	7453
+-88.2538	37.2338	9062
+-86.1749	36.5635	6654
+-109.3643	34.5683	6073
+-82.4544	30.2355	7076
+-116.4974	45.61	7299
+-85.4392	28.837	5961
+-111.3751	32.5128	7961
+-117.7499	47.0106	8143
+-117.3957	33.5042	8837
+-109.695	31.1127	8614
+-81.8395	29.1728	8267
+-125.7914	47.4685	6382
+-81.3423	27.2714	8837
+-117.1054	30.5766	7250
+-87.1925	37.7813	8043
+-115.2545	34.6325	7276
+-86.9087	37.3884	7706
+-120.7715	40.8086	3068
+-117.1786	33.2528	9212
+-117.137	36.0919	7397
+-88.8738	35.8294	7750
+-119.5302	47.2124	7491
+-118.4861	47.3266	7944
+-89.2281	38.1632	9054
+-117.7156	32.6676	8901
+-88.3973	37.4913	9357
+-111.8167	29.559	6754
+-109.4773	32.7677	7890
+-119.7476	29.5058	4930
+-117.2553	30.6614	7327
+-118.2757	37.2192	5996
+-87.7487	37.9883	8617
+-121.2296	45.3057	7018
+-87.6495	34.4647	6009
+-110.1287	32.2226	8746
+-118.4341	45.3971	8499
+-120.6184	48.3442	6678
+-80.0194	27.8913	7497
+-115.9317	29.0966	5446
+-116.1972	34.7745	8178
+-78.0221	29.3356	4914
+-81.3787	31.4569	5631
+-124.8189	48.4826	6920
+-121.8114	45.9235	7950
+-123.8575	48.8206	7314
+-107.9523	29.6615	6158
+-90.7602	38.9548	8962
+-90.775	38.2599	8748
+-125.0689	42.3969	4049
+-90.6182	41.8285	6097
+-124.9787	45.2045	6612
+-87.5258	36.1461	7613
+-119.3796	36.0342	6438
+-89.4564	35.2547	7000
+-81.9306	27.8736	9633
+-90.5368	40.9565	7040
+-90.1338	34.0032	5426
+-116.1971	35.4995	7645
+-119.5094	32.4221	6883
+-117.3255	46.3919	8200
+-93.1416	37.3441	6087
+-119.5402	46.6778	7795
+-118.0835	31.3356	7684
+-89.5739	34.754	6423
+-93.4671	41.3419	5082
+-114.9836	31.7249	7228
+-120.0113	30.0512	5165
+-107.521	33.9808	5470
+-92.3341	39.0097	7303
+-124.0694	42.255	4273
+-115.5196	38.1477	4762
+-123.2294	46.3707	8858
+-118.7806	48.7899	6363
+-119.1647	35.0719	7228
+-108.1044	32.2546	6952
+-116.8728	46.5226	7701
+-107.9449	30.0406	6393
+-124.7164	47.8076	7407
+-108.1349	30.9337	6990
+-117.3894	34.6167	8994
+-123.1874	46.8813	9277
+-82.8994	26.4732	8192
+-116.0468	48.3781	5879
+-115.7046	34.6283	7751
+-119.7298	45.4376	7576
+-80.589	28.3745	8015
+-89.1842	35.9343	7815
+-83.2079	25.806	7363
+-119.8565	45.5737	7504
+-114.4771	32.6643	6971
+-83.5369	29.9295	6975
+-116.267	45.6623	7075
+-89.0021	37.2493	9278
+-116.3747	31.4933	8136
+-118.4948	30.5596	6713
+-119.4258	32.5709	6996
+-115.0781	31.3294	7072
+-116.3595	32.4394	8956
+-118.9813	34.1503	7667
+-115.5964	33.5138	8038
+-113.5701	32.4404	5846
+-90.8788	35.6492	6537
+-92.2347	39.7071	7178
+-85.8751	35.3848	5681
+-118.5829	32.8292	7950
+-83.3551	27.1665	8352
+-80.2555	28.322	7677
+-81.5907	28.9967	8371
+-116.7378	47.5872	6989
+-123.2791	45.1481	7565
+-88.6679	36.8617	8906
+-121.2688	46.8317	7808
+-89.4865	40.3069	7488
+-88.1659	36.6562	8496
+-93.7182	41.5118	4757
+-89.8473	38.5509	8808
+-111.6969	31.3275	7970
+-96.6704	39.3711	2615
+-80.5153	27.9742	8047
+-88.6952	35.9575	7896
+-118.7015	47.6235	7587
+-94.023	36.0083	4513
+-115.9001	33.3744	8410
+-120.2584	48.9817	5956
+-112.7511	29.7763	6203
+-91.4138	43.7088	3965
+-80.7542	29.4462	7434
+-89.1562	43.2954	4350
+-86.0985	41.4786	4591
+-117.5572	32.4042	8949
+-118.0683	31.5672	7895
+-121.7053	47.5606	8140
+-121.5617	44.1824	6212
+-120.917	47.8138	7237
+-118.5595	32.319	7891
+-114.7277	33.1577	7227
+-87.097	38.7951	7553
+-112.1303	31.427	7519
+-112.0485	32.1403	7520
+-118.3775	46.0633	9154
+-89.5635	39.3648	8320
+-89.3881	39.8008	7864
+-81.2438	29.8472	7332
+-91.4414	40.0875	7586
+-122.4977	45.9062	8360
+-81.7584	25.6758	7489
+-116.5587	34.6352	8591
+-108.176	31.4039	7128
+-88.1822	38.044	9034
+-114.7875	34.5197	6801
+-116.3257	36.2859	6975
+-119.8727	45.9693	7572
+-120.6595	31.975	5528
+-92.0228	41.8831	5613
+-82.8856	24.9032	6543
+-110.4663	38.0672	2447
+-115.6652	35.4267	7292
+-115.6927	31.9785	8052
+-110.2472	31.6861	9328
+-115.4549	33.2537	7998
+-125.5921	49.7439	5357
+-116.6474	33.7659	8752
+-110.4138	33.5915	7296
+-89.3226	36.8773	8732
+-116.5045	33.4421	8885
+-82.7248	26.9939	8792
+-91.2899	38.1923	8277
+-89.4085	34.6288	6331
+-117.5122	36.4064	7044
+-116.9722	36.0885	7381
+-113.253	32.7797	6055
+-118.7244	29.4514	5518
+-123.6847	45.7897	8052
+-88.2096	35.8737	7708
+-115.6577	46.6454	6420
+-118.7874	46.8519	8302
+-82.0335	28.2111	9377
+-117.456	31.1116	7774
+-111.2438	32.1449	8315
+-90.2027	44.3937	3338
+-82.2066	25.5191	7348
+-125.8396	48.9277	5724
+-89.0427	36.7322	8722
+-117.3554	31.8446	8585
+-116.6199	33.6844	8679
+-114.9206	32.9825	7463
+-90.7229	41.4379	6504
+-115.1728	33.724	7511
+-117.5379	33.6219	8906
+-113.974	33.9579	6180
+-118.756	37.6619	5360
+-80.8765	28.6465	8157
+-88.7274	38.12	9304
+-89.5405	39.4785	8224
+-89.9332	40.4297	7550
+-121.8878	46.4182	8341
+-91.6464	37.6659	7630
+-117.0978	48.2338	6675
+-116.6789	36.7173	6647
+-82.0662	25.1985	6986
+-121.9944	47.9422	8144
+-111.7266	32.8763	7414
+-114.1745	31.4805	6300
+-89.3765	32.9676	4497
+-81.2445	27.3031	8758
+-120.1278	45.8304	7286
+-88.5282	38.4264	8921
+-122.2506	45.7152	8057
+-110.8593	31.8624	8828
+-93.4565	37.2976	5761
+-91.843	39.626	7589
+-116.4531	44.616	6765
+-122.524	47.7855	8616
+-83.9736	25.8908	6919
+-115.5935	36.6318	6258
+-126.8844	48.4013	4954
+-119.3879	33.0531	6941
+-120.6878	47.2038	7162
+-79.398	30.0251	5879
+-114.7383	45.9133	5501
+-119.4035	44.2368	6958
+-88.7326	37.4303	9548
+-119.5069	35.6509	6586
+-84.3318	25.5838	6387
+-117.6067	34.0803	9162
+-109.3354	30.2998	7712
+-122.1898	42.5947	4740
+-89.8963	38.7668	8899
+-111.6329	28.7582	6104
+-91.2701	40.7846	7032
+-118.3405	35.2457	7851
+-86.0578	26.0567	5049
+-118.805	45.8094	8628
+-84.6009	29.7265	6327
+-110.9593	30.6685	8273
+-121.6628	45.6635	7632
+-119.4311	29.5949	5229
+-111.7987	33.6106	6763
+-118.7203	35.9197	7025
+-94.6903	39.7067	4669
+-111.2608	30.113	7590
+-107.4191	31.3651	6307
+-117.8923	34.8212	8524
+-124.4055	46.561	7893
+-113.8568	33.1423	6265
+-83.7206	27.0356	7915
+-120.065	35.0142	6338
+-112.4878	35.2749	4842
+-113.7054	33.3759	6062
+-120.3307	43.3298	5612
+-79.8235	28.7342	7059
+-118.3619	34.615	8233
+-117.2863	30.8044	7480
+-88.3072	38.6698	8576
+-80.4741	27.6212	8008
+-109.6706	31.9622	8647
+-120.7535	33.2535	5615
+-116.672	30.9875	7686
+-116.4565	35.3826	7914
+-79.4351	26.1747	6348
+-122.795	48.2474	8194
+-81.5222	29.2733	8053
+-116.9363	46.0268	7832
+-118.3931	44.7652	7842
+-110.8193	32.1299	8681
+-87.9376	37.2492	8774
+-115.9575	32.8073	8627
+-89.3434	36.5193	8374
+-83.7813	28.2479	7950
+-90.3876	41.089	6903
+-82.9393	26.9707	8611
+-91.0626	36.8272	7226
+-120.264	31.2212	5667
+-119.9879	44.8168	7001
+-119.4979	47.0671	7616
+-90.0309	34.4285	5914
+-89.0306	33.8896	5566
+-84.4895	28.5298	7090
+-82.9199	28.3936	8754
+-120.3881	32.3167	5896
+-86.3111	36.5867	6804
+-88.8488	39.8826	7369
+-122.3516	44.9585	7319
+-116.8178	34.945	8526
+-118.2601	33.1218	8270
+-115.687	33.5703	8096
+-88.0104	35.8297	7586
+-111.9868	33.6425	6612
+-122.3606	46.6728	8931
+-87.4896	37.4082	8353
+-115.0046	49.2325	4458
+-79.3819	30.5466	5467
+-122.0008	45.5285	7743
+-89.0585	36.7525	8739
+-83.8161	27.1316	7858
+-81.5968	28.2745	9057
+-117.9654	47.2017	8046
+-83.2138	26.9816	8382
+-117.2386	33.8807	9261
+-116.5193	36.0616	7282
+-119.2971	46.07	8186
+-83.4716	28.7768	7995
+-119.8708	47.8993	6719
+-93.1868	41.5726	5136
+-117.6132	33.3185	8840
+-87.8191	35.3385	6994
+-120.9387	47.4804	7379
+-121.8198	44.7228	6870
+-118.5804	48.2549	6957
+-84.4776	36.6602	4870
+-111.4021	30.084	7479
+-83.0885	30.8151	6278
+-93.5945	40.8845	5268
+-117.3446	38.097	5213
+-78.3905	27.9336	5654
+-122.6756	44.6948	7098
+-88.8473	37.8781	9560
+-85.0037	34.4365	4249
+-112.759	30.3663	6533
+-82.8258	27.0805	8790
+-82.8356	26.5057	8260
+-115.0374	45.4154	5747
+-112.2089	35.1783	5080
+-85.6293	37.8111	6290
+-111.2922	33.3775	7269
+-110.7779	34.085	6721
+-88.9714	36.6179	8616
+-117.1592	34.4285	9195
+-111.2001	32.7189	7926
+-119.2358	42.7754	5598
+-107.8932	34.1045	5672
+-121.2475	29.716	3857
+-116.7303	34.4794	8842
+-86.391	39.2775	6593
+-109.7177	33.6369	7151
+-89.1892	40.5553	7091
+-87.3479	37.3416	8181
+-120.8715	33.6937	5576
+-109.144	32.9025	7549
+-81.355	28.3567	8787
+-114.437	32.3384	6881
+-89.2931	40.2756	7403
+-115.898	27.5111	3716
+-81.538	28.3301	8965
+-113.6826	31.8922	5829
+-91.9368	34.8137	4863
+-122.9154	49.9995	6274
+-88.3781	39.6909	7501
+-118.4621	31.3727	7434
+-89.5501	39.4259	8268
+-119.6532	45.9479	7801
+-116.0618	47.1838	6643
+-116.1134	33.8494	8242
+-89.0808	37.1342	9122
+-115.8215	47.6312	6190
+-115.9854	30.9482	7399
+-114.3429	34.1857	6348
+-117.6997	29.952	6455
+-114.7884	31.9234	7127
+-88.8495	38.704	8646
+-94.3792	37.7414	4982
+-119.1091	46.3408	8350
+-122.297	47.6448	8609
+-82.171	29.7109	7692
+-85.2236	29.2367	6021
+-110.2618	30.4658	8260
+-90.1776	40.5918	7427
+-126.1438	45.8669	5843
+-85.3852	36.5924	5833
+-86.7966	25.8587	4192
+-112.4064	30.6193	6996
+-119.7814	46.9866	7417
+-83.2965	31.4378	5536
+-116.2042	29.5641	6027
+-116.5424	31.9149	8641
+-91.1068	40.7347	7147
+-126.7519	49.1923	4719
+-123.9681	46.8706	8428
+-87.0431	37.5289	7874
+-90.7978	37.0304	7518
+-117.2743	33.8992	9282
+-82.0065	26.2478	8168
+-118.4012	47.6917	7570
+-111.0672	31.6239	8677
+-82.1843	26.7052	8690
+-88.6039	34.6313	6404
+-90.283	40.3772	7667
+-78.8652	30.2396	5256
+-79.9849	30.5437	5920
+-113.8027	32.305	6178
+-81.2152	29.2981	7872
+-79.3575	29.4579	6215
+-117.2955	38.1768	5127
+-84.6356	25.718	6234
+-119.9663	27.9873	3412
+-114.2168	30.7423	5911
+-106.899	30.2656	5488
+-118.8561	30.2458	6194
+-89.8063	36.2781	7868
+-114.8714	47.086	5499
+-84.0921	27.4706	7651
+-122.5987	45.4966	7958
+-112.3658	35.3627	4824
+-117.135	48.1372	6784
+-116.2558	35.453	7725
+-117.6647	42.3503	5236
+-80.6264	28.3596	8060
+-81.4214	31.96	5080
+-92.4562	39.5651	7024
+-91.4283	33.3963	4167
+-118.7988	34.9296	7654
+-118.2349	38.662	4486
+-115.1271	31.0088	6876
+-82.3295	30.4178	6885
+-90.3895	40.0186	8057
+-81.965	26.0182	7905
+-89.7275	37.1769	8605
+-125.7954	45.8157	6183
+-89.4559	37.0785	8798
+-120.9156	46.1838	7263
+-122.1778	46.7644	8782
+-113.135	32.0577	6395
+-111.753	29.9164	7101
+-126.2564	49.1047	5234
+-122.9726	46.2833	8851
+-89.6463	38.6968	8628
+-108.6796	34.4353	5902
+-108.3102	30.0295	6710
+-119.507	47.7271	7104
+-108.782	28.1655	5407
+-112.5294	32.4979	6896
+-88.1792	40.3884	6464
+-83.0366	27.0378	8579
+-113.0557	34.2029	5380
+-114.9984	31.4562	7084
+-118.7752	34.5338	7835
+-124.785	49.3926	6231
+-122.8039	46.8076	9402
+-120.9461	31.1836	4955
+-114.7651	45.2102	5417
+-120.6238	34.14	5876
+-120.3947	43.4951	5709
+-118.6398	45.4629	8487
+-113.018	31.7186	6561
+-80.9457	28.2244	8452
+-85.4482	26.6686	5942
+-81.8567	26.953	8920
+-91.8257	36.3221	6380
+-88.8129	39.1477	8151
+-117.9153	31.242	7702
+-119.5885	42.967	5666
+-113.7214	32.4383	6109
+-92.1152	37.0971	6844
+-91.1135	39.4522	8332
+-116.3193	47.1239	6915
+-118.6223	33.8839	8034
+-83.6074	25.9965	7286
+-116.6998	33.7895	8815
+-116.8386	44.6233	7073
+-92.0284	38.4045	7612
+-110.6726	30.2465	7979
+-110.8355	34.4282	6344
+-117.1504	33.5195	8856
+-92.2428	39.6807	7183
+-83.6523	26.3486	7542
+-109.2368	30.567	7854
+-109.1685	30.2129	7525
+-108.1204	28.6283	5474
+-89.8261	40.7496	7187
+-117.5979	31.1987	7816
+-116.025	45.0088	6604
+-82.552	30.2818	7008
+-77.6903	26.8527	4761
+-86.9827	32.16	3318
+-115.2963	31.7406	7537
+-113.9244	31.9767	6233
+-118.1754	33.7628	8467
+-114.0701	31.5203	6213
+-116.6509	37.3662	5948
+-110.6172	30.0461	7780
+-106.9158	26.6497	2971
+-111.3529	29.6746	7129
+-88.0743	35.1799	6918
+-79.5797	31.006	5226
+-107.8965	27.4281	4254
+-81.2688	26.2401	7908
+-118.1408	33.3282	8241
+-121.4608	48.555	7251
+-117.0196	49.3687	5549
+-116.8279	43.6097	6206
+-88.3918	39.0727	8181
+-108.37	32.3522	7189
+-117.6081	30.8739	7471
+-108.4792	28.2829	5372
+-125.6133	43.7047	4945
+-89.7572	40.9003	7010
+-117.5503	27.3261	3594
+-91.9392	38.8298	7745
+-119.2585	34.8258	7238
+-119.8543	36.5548	5672
+-122.7571	46.3368	8897
+-125.794	48.6124	5949
+-83.9699	28.2246	7751
+-87.8969	40.3625	6635
+-120.9653	41.7297	3830
+-117.32	35.204	8368
+-120.3467	45.3988	6953
+-90.6943	38.6168	9060
+-109.6703	30.8716	8420
+-115.6171	32.4082	8180
+-119.0854	33.7739	7515
+-114.8695	33.6208	7248
+-120.2548	32.3326	6046
+-87.5612	41.8619	4896
+-88.3526	37.8691	9297
+-89.6867	38.3647	8566
+-81.0179	26.5153	7996
+-118.6113	32.7994	7918
+-114.6566	30.8294	6354
+-91.0423	39.3192	8486
+-119.6439	42.8023	5482
+-111.956	28.9027	6079
+-114.6103	26.7554	2485
+-117.0095	30.5956	7275
+-115.5145	34.7312	7518
+-85.5472	27.9143	6027
+-121.9526	46.9033	8563
+-113.2631	30.4148	6056
+-119.6784	45.8777	7764
+-109.7111	33.3633	7431
+-119.163	44.7635	7566
+-118.0499	32.6939	8537
+-117.888	33.1837	8647
+-116.6823	34.8011	8570
+-109.3327	28.5992	6063
+-116.2364	31.7201	8283
+-115.8591	34.2748	7995
+-91.2056	35.7101	6306
+-107.4391	30.4709	6114
+-91.6877	36.2179	6354
+-91.6003	41.3643	6316
+-89.6299	36.2758	7978
+-90.6776	38.8028	9102
+-90.3336	36.2818	7468
+-118.0513	43.3566	6345
+-124.0569	46.5426	8253
+-82.0064	29.948	7420
+-111.4691	35.1639	5404
+-122.5991	48.6431	7735
+-85.1188	30.1299	5585
+-109.1441	30.4199	7671
+-117.6082	33.5828	8831
+-77.6576	30.063	4201
+-90.6803	35.6169	6668
+-88.8182	34.9351	6749
+-118.9373	45.4874	8312
+-117.6252	29.93	6450
+-91.391	38.9285	8321
+-118.1068	43.6096	6616
+-91.3359	37.2155	7478
+-117.9484	32.4301	8576
+-89.4286	35.687	7473
+-116.2066	33.3106	8742
+-108.7589	33.8821	6455
+-120.1959	48.2441	6218
+-121.8584	46.846	8454
+-110.415	34.5717	6235
+-119.9811	38.3517	4066
+-79.827	27.355	7242
+-84.8867	37.947	5448
+-107.0416	33.3963	5402
+-121.9511	44.9049	7113
+-115.9168	34.6027	7979
+-109.3606	28.7241	6201
+-118.8894	30.5761	6460
+-112.3081	34.954	5241
+-119.6807	43.6572	6280
+-113.3947	26.2369	2799
+-90.519	41.3011	6671
+-114.4068	37.4666	4747
+-111.8237	33.6615	6703
+-118.9196	45.803	8517
+-90.2809	36.1951	7445
+-118.3018	28.8163	5049
+-84.9596	29.3752	6213
+-110.9534	29.2419	6849
+-119.2396	45.6874	8158
+-90.6793	35.1605	6277
+-118.3666	32.0366	7965
+-120.2187	43.6433	5948
+-106.5199	30.4679	5169
+-117.5586	38.7591	4482
+-120.0317	45.9106	7398
+-117.2591	29.4822	6019
+-88.5281	37.5062	9493
+-84.946	28.074	6691
+-82.2352	26.2322	8153
+-87.2758	36.5917	7752
+-120.1732	44.9869	6938
+-121.0541	48.0024	7281
+-113.516	29.7608	5500
+-108.9324	29.5442	6793
+-90.2104	39.3248	8777
+-115.2909	33.7071	7636
+-121.0741	43.9416	5524
+-115.7872	35.7459	7151
+-116.535	32.5104	9163
+-119.3875	36.6219	5971
+-82.6775	29.8926	7410
+-81.7164	27.7981	9419
+-107.0568	30.0781	5567
+-88.694	38.8656	8466
+-112.0666	35.629	4705
+-119.1444	49.3968	5652
+-88.02	36.5158	8276
+-117.8696	34.8724	8497
+-114.8498	31.6616	7063
+-91.6856	40.6377	6952
+-82.3142	28.5535	8979
+-124.1065	45.8262	7782
+-81.9784	26.7006	8674
+-121.3104	47.7076	7679
+-89.7958	38.7175	8790
+-122.4318	45.5915	8010
+-89.4997	38.1094	8853
+-120.9969	32.4619	5240
+-91.0256	37.4701	7881
+-116.2678	48.6643	5806
+-118.605	44.2206	7241
+-88.2905	39.5333	7652
+-117.5562	33.7769	9037
+-89.5093	34.8161	6509
+-120.9871	49.664	5973
+-116.24	45.4421	6987
+-116.829	32.365	9226
+-85.8345	39.5374	5911
+-124.2737	46.7065	8070
+-115.6201	32.7398	8248
+-83.7079	27.3856	8060
+-125.6829	47.4896	6495
+-118.6049	45.6504	8675
+-89.6657	33.774	5331
+-116.4164	46.4483	7249
+-114.0784	33.5485	6430
+-116.4738	34.878	8351
+-121.7785	32.1734	4338
+-123.6754	46.4437	8579
+-120.9698	47.0669	7483
+-125.0245	49.1157	6286
+-86.713	40.0408	6291
+-116.7669	31.9632	8775
+-89.9654	42.0038	5889
+-115.4393	43.9739	5500
+-88.3885	38.6369	8646
+-116.1107	31.4598	7964
+-116.8995	33.0075	9527
+-119.5248	32.4162	6865
+-127.4839	43.8884	3540
+-120.6436	37.5782	4276
+-123.266	45.5518	8001
+-118.2257	32.4101	8277
+-116.8865	34.5075	8956
+-90.3151	35.898	7177
+-94.2337	39.0709	5260
+-123.8701	46.2705	8294
+-116.6696	29.413	5942
+-84.1973	27.695	7556
+-114.9088	33.538	7321
+-91.0638	38.7608	8691
+-119.1062	45.9728	8379
+-118.8136	31.123	6958
+-80.8821	25.5491	7012
+-110.4775	28.3974	6018
+-113.8628	33.6061	6181
+-93.1077	35.8942	5170
+-111.6046	34.1796	6341
+-90.7788	38.1934	8688
+-120.6013	49.0172	6222
+-90.6591	36.5969	7085
+-119.7002	46.3592	7735
+-117.1747	44.6167	7299
+-89.5149	34.6945	6375
+-90.0949	38.7682	9113
+-118.4851	32.4741	8017
+-88.2659	36.1228	7994
+-109.7627	31.3671	8812
+-115.1393	33.5056	7575
+-88.4235	37.9555	9311
+-115.9881	30.8618	7315
+-120.1078	48.8552	5761
+-116.6781	33.3197	9106
+-80.6407	25.9454	7228
+-111.6758	35.8854	4591
+-124.2251	43.2884	5311
+-118.9243	33.9015	7712
+-116.997	35.2078	8329
+-93.0633	38.2674	6489
+-81.4679	28.1123	9044
+-79.6801	30.2427	5949
+-85.5837	38.0756	6213
+-92.0884	36.3381	6241
+-113.6494	29.5858	5279
+-117.9583	43.0858	6050
+-91.445	37.7255	7834
+-116.4189	31.5598	8224
+-88.4037	37.355	9279
+-116.6903	31.798	8576
+-125.274	49.7045	5625
+-116.7493	34.0579	8968
+-114.0693	29.4797	4828
+-91.1678	36.9156	7274
+-117.3298	49.9299	5081
+-115.9911	34.535	8079
+-119.4225	44.9424	7540
+-93.3574	39.9097	5984
+-112.8279	32.8244	6455
+-117.5362	35.0538	8492
+-91.2276	39.2845	8347
+-92.7654	39.0575	6836
+-120.6707	46.1454	6996
+-81.8385	26.6819	8621
+-124.3593	46.427	7897
+-118.9817	49.8082	5264
+-81.8812	27.4047	9393
+-83.895	30.1058	6579
+-114.5198	46.7195	5221
+-117.5332	45.105	7941
+-117.7421	49.8381	5260
+-89.1846	37.4404	9282
+-80.382	27.8975	7906
+-115.3983	45.2299	6069
+-81.2295	25.7957	7439
+-78.40	28.5322	5581
+-121.7203	47.472	8196
+-88.2373	37.2299	9045
+-110.569	32.1663	8792
+-122.3447	48.6669	7641
+-93.9033	38.2282	5589
+-88.9472	41.3055	6265
+-89.5544	37.5026	8912
+-89.3526	37.9515	9083
+-108.4367	31.3686	7406
+-110.068	30.8296	8608
+-83.2778	27.055	8368
+-122.0477	47.0371	8667
+-89.9892	38.3964	8854
+-89.9362	42.1326	5747
+-92.3245	37.0198	6622
+-88.2139	39.4228	7748
+-118.7283	44.4762	7477
+-116.8982	34.3668	9062
+-91.4087	41.6451	6114
+-81.3884	25.7856	7498
+-117.9681	33.9465	8746
+-79.7874	27.2011	7162
+-91.1285	39.2891	8433
+-121.2611	31.2825	4666
+-88.5144	39.3215	7935
+-92.3836	41.7976	5495
+-117.1024	37.2473	6136
+-117.7341	46.452	8570
+-120.8159	47.2893	7289
+-88.8544	36.2412	8213
+-116.7641	32.9686	9470
+-113.6379	30.5162	5711
+-116.6421	32.471	9224
+-123.9595	42.0474	4078
+-90.3533	41.5657	6389
+-116.4685	47.4979	6834
+-124.9255	47.3476	7342
+-118.0088	35.4273	7911
+-114.8141	33.0063	7343
+-114.9632	46.5758	5708
+-125.3601	47.759	6767
+-111.4646	29.8461	7227
+-81.5946	25.8819	7675
+-123.0747	45.9618	8486
+-116.2295	35.0054	8060
+-116.1303	29.0523	5452
+-118.2059	44.6876	7762
+-120.0493	45.3241	7218
+-119.4665	44.5192	7169
+-113.9098	29.7918	5140
+-117.5708	32.8597	9077
+-119.7228	45.7201	7684
+-117.8476	33.3443	8469
+-81.4102	26.5502	8291
+-92.6775	37.6743	6693
+-116.9087	35.6963	7789
+-91.1316	37.7486	8077
+-120.5045	46.2557	6902
+-119.1552	33.8155	7449
+-124.3369	48.3604	7407
+-120.059	34.116	6492
+-116.9154	45.7061	7753
+-83.954	25.8165	6874
+-120.1057	43.1551	5593
+-114.0541	29.9185	5057
+-115.6965	28.658	4903
+-109.4691	29.3011	6830
+-82.8132	28.1275	9022
+-118.8291	48.8312	6311
+-109.4062	31.7949	8443
+-114.0789	34.3706	6051
+-83.6479	28.7755	7834
+-82.2993	24.7229	6444
+-80.9249	31.0357	5949
+-118.1971	34.1186	8523
+-117.2539	34.0724	9470
+-116.4669	34.7919	8408
+-119.9397	47.5553	6925
+-90.1067	39.4252	8638
+-84.279	28.7201	7236
+-119.2733	45.127	7790
+-79.1601	27.1381	6454
+-82.6929	28.6554	8704
+-120.5614	43.8145	5843
+-92.1432	39.1309	7484
+-123.9766	49.7119	6367
+-115.6019	35.0427	7469
+-118.7373	44.6849	7687
+-120.017	43.4477	5905
+-118.4733	30.9767	7100
+-117.4989	37.0779	6316
+-113.9879	34.5196	5937
+-115.9467	28.9051	5244
+-115.9759	31.573	7979
+-118.2435	35.5553	7656
+-111.9263	33.0439	7132
+-90.0052	39.0827	8881
+-119.3976	49.0203	5950
+-124.5097	46.5849	7789
+-116.5356	33.7127	8618
+-117.9417	35.0384	8306
+-88.4797	37.6906	9492
+-115.8605	45.3005	6559
+-92.2969	38.2859	7302
+-79.1441	24.9064	5212
+-119.2638	48.691	6327
+-118.4918	30.7076	6850
+-117.6734	35.0536	8440
+-121.2752	43.4157	5316
+-122.9835	48.7333	7663
+-83.2627	27.9614	8596
+-88.914	39.2647	7746
+-116.6829	45.5026	7451
+-118.2704	47.8356	7422
+-92.7916	38.1162	6740
+-117.7268	28.2727	4614
+-107.4528	33.1843	5903
+-117.5192	44.8539	7712
+-105.3821	31.3839	4105
+-118.8978	29.2807	5259
+-113.0376	29.5374	5799
+-120.8358	46.8977	7337
+-114.9734	31.2003	6890
+-82.0804	28.3149	9269
+-118.6998	44.8296	7845
+-114.0516	33.1026	6486
+-114.2442	46.6007	4950
+-111.8114	34.1751	6241
+-115.1688	32.494	7716
+-110.7921	33.6843	7144
+-85.1851	32.6453	3382
+-119.8194	34.041	6751
+-89.8024	41.0319	6886
+-109.6922	30.9031	8461
+-83.3365	28.9147	8011
+-121.2213	42.8286	4604
+-89.6286	37.1636	8695
+-118.5716	32.3887	7900
+-116.6096	31.3482	8067
+-113.03	31.2045	6523
+-109.8774	32.1815	8659
+-111.7145	29.7556	6991
+-86.9775	34.5386	5771
+-125.261	46.6003	6981
+-115.2879	32.3153	7799
+-116.7544	45.2742	7420
+-123.565	48.7464	7519
+-119.9438	33.8062	6596
+-121.4781	45.0681	7000
+-85.3855	26.8696	6076
+-116.1187	31.5593	8061
+-118.1508	42.5121	5458
+-121.2079	49.6555	6116
+-91.8393	40.2806	7147
+-119.0104	32.9867	7465
+-112.4375	30.1214	6698
+-114.902	36.421	5949
+-118.9777	34.924	7482
+-110.2042	33.6976	7179
+-90.5849	43.8342	3940
+-87.353	36.3449	7643
+-115.9877	45.761	6803
+-119.9984	33.0961	6350
+-91.5512	38.3468	8093
+-81.6109	30.4301	6822
+-116.9731	33.6257	8898
+-83.0673	27.308	8715
+-115.8765	32.8943	8534
+-117.2739	44.0024	6795
+-121.7257	49.828	6208
+-115.0016	35.405	6704
+-118.8737	34.4224	7757
+-83.1218	28.8603	8225
+-123.3556	46.3715	8783
+-81.5466	28.8014	8547
+-118.6985	36.3604	6650
+-117.7728	38.3432	4913
+-117.8517	30.5532	7042
+-118.045	47.1516	8119
+-108.931	32.4669	7678
+-117.9332	46.6799	8543
+-90.135	34.9294	6381
+-119.9001	34.1241	6665
+-109.8535	32.0684	8734
+-117.6597	29.7948	6295
+-80.0641	28.5983	7369
+-118.8399	32.2925	7583
+-117.1216	48.9466	6004
+-87.5631	39.1741	7649
+-118.8154	31.3162	7097
+-117.4396	48.3049	6760
+-79.7518	27.7664	7198
+-123.3667	45.776	8201
+-109.7949	30.7438	8393
+-90.4554	40.3915	7653
+-114.5046	33.4472	6918
+-122.0709	46.2339	8391
+-81.1346	24.8491	6404
+-117.7139	36.6129	6789
+-90.0946	37.3757	8289
+-123.6613	48.4977	7728
+-93.6993	37.4057	5568
+-93.3028	41.5696	5050
+-91.5426	35.5304	5736
+-83.7202	36.1299	3894
+-78.3203	27.4367	5562
+-122.3378	49.8078	6424
+-117.7119	31.0364	7600
+-87.4069	37.4684	8273
+-123.0128	46.1671	8719
+-89.6277	36.9107	8529
+-105.9715	30.6114	4632
+-88.0042	40.0912	6961
+-116.4725	46.9911	7123
+-116.7973	30.4878	7148
+-91.5845	39.5827	7849
+-85.8022	39.6684	5800
+-116.4678	34.8592	8360
+-118.7068	32.9763	7804
+-120.5656	45.6604	6799
+-80.7323	27.9236	8297
+-77.8454	27.715	5041
+-85.9896	35.9527	6152
+-87.1268	37.7463	7972
+-82.2772	27.7655	9730
+-114.47	35.1969	6274
+-110.6122	31.3013	9044
+-115.9492	33.6618	8278
+-119.035	49.7997	5262
+-116.299	43.0705	5425
+-79.9584	26.1754	6844
+-116.3957	34.2061	8585
+-119.0022	44.9769	7848
+-124.4541	43.8985	5828
+-117.4277	43.4233	6284
+-80.8828	26.2992	7711
+-113.0299	30.9714	6478
+-109.9553	32.3906	8508
+-111.9162	32.125	7661
+-117.6409	33.0069	8971
+-85.6673	32.1394	3532
+-111.647	30.4573	7599
+-116.9618	45.4847	7717
+-117.5039	43.8567	6745
+-88.6087	38.2237	9164
+-84.5763	25.5969	6196
+-92.5516	38.0537	6970
+-113.3474	32.6887	5995
+-118.5894	46.8303	8422
+-119.2637	33.0949	7082
+-81.5758	28.8646	8499
+-119.278	44.7452	7481
+-115.3452	47.6995	5718
+-90.1816	38.3196	8912
+-108.5846	33.0419	7006
+-113.436	30.6318	5957
+-115.6492	46.2798	6464
+-123.4316	47.0306	9018
+-118.7824	46.236	8713
+-78.4517	24.6725	4452
+-112.7187	26.7439	3628
+-87.8016	36.8842	8421
+-88.7794	38.7676	8579
+-118.4604	34.6636	8113
+-86.4418	38.8302	6897
+-118.3253	32.1297	8055
+-124.4458	46.5372	7844
+-87.836	42.4051	4622
+-85.2608	40.6291	4662
+-88.421	34.7997	6574
+-115.6669	45.1386	6308
+-115.8604	34.3569	7985
+-89.4783	39.8463	7892
+-83.5418	28.2833	8195
+-92.7624	39.8824	6584
+-114.2302	44.9427	4796
+-112.0777	29.5382	6561
+-114.0947	35.1611	5901
+-117.3259	32.1106	8869
+-117.5724	30.5401	7125
+-109.4667	36.0363	4558
+-80.7089	28.2403	8194
+-86.3003	27.3897	5159
+-115.7527	34.8945	7689
+-122.6676	45.3774	7842
+-122.5537	42.5502	4739
+-81.3215	25.9955	7688
+-121.9078	33.6268	4445
+-114.9735	37.3813	5201
+-108.0323	33.0876	6495
+-81.7615	27.2739	9194
+-118.0755	31.298	7655
+-115.9423	30.6159	7045
+-87.5047	37.3329	8350
+-92.4068	38.899	7237
+-90.0803	38.0854	8637
+-112.2164	35.8844	4386
+-116.6837	34.2024	8898
+-123.7239	47.0406	8697
+-124.2653	46.4531	8004
+-114.6796	31.4201	6764
+-106.5631	33.621	4830
+-118.4203	29.4663	5679
+-114.9238	36.6012	5826
+-117.772	29.8116	6283
+-80.886	26.8616	8149
+-108.8597	34.9977	5444
+-117.9104	33.5451	8587
+-111.5956	30.3404	7554
+-122.4503	48.7654	7569
+-118.1145	43.9098	6934
+-114.5457	30.9001	6309
+-127.405	48.4796	4385
+-117.6135	34.2873	9124
+-120.5097	47.1809	6970
+-122.3289	48.9803	7307
+-85.7798	39.2553	6017
+-118.5544	45.5352	8597
+-83.6083	27.2539	8126
+-119.0412	35.8792	6822
+-87.1671	39.3162	7235
+-83.1817	30.1721	6924
+-87.2886	27.9408	4057
+-118.601	34.7539	7933
+-89.7743	38.9836	8721
+-117.4859	49.0697	6004
+-86.6031	39.785	6416
+-119.9766	43.5958	6059
+-80.1525	28.4255	7531
+-84.5627	31.3101	5032
+-119.0983	34.1032	7540
+-109.3463	29.8267	7291
+-111.8735	30.923	7658
+-80.7791	29.3247	7557
+-90.2469	36.0752	7376
+-115.6344	46.6041	6405
+-118.8174	35.9733	6913
+-124.6294	45.9692	7413
+-116.9735	41.2546	3945
+-84.169	27.6578	7586
+-89.0665	37.867	9410
+-88.2373	38.9837	8221
+-107.9968	28.983	5686
+-89.827	36.4316	7988
+-88.3812	41.0507	6137
+-122.1347	48.5175	7706
+-91.416	37.17	7390
+-117.5963	35.5938	7905
+-120.2592	31.7109	5879
+-82.7858	27.1911	8908
+-90.2996	38.1389	8760
+-118.7107	35.5624	7322
+-79.9841	26.5476	7097
+-118.3855	32.797	8170
+-117.3186	34.4831	9152
+-85.9994	37.1646	6658
+-110.5898	30.0617	7802
+-124.0694	48.4855	7500
+-111.2537	31.1787	8384
+-81.8587	29.4474	7966
+-115.2647	30.5577	6598
+-89.0299	36.6664	8655
+-83.7671	26.5183	7566
+-121.3246	42.7882	4700
+-107.7457	33.6597	5879
+-110.352	34.0349	6817
+-109.7548	28.6448	6229
+-110.5324	29.5889	7302
+-119.8317	43.6495	6191
+-82.3769	30.0012	7349
+-91.6674	36.7576	6869
+-115.8805	34.5408	7962
+-90.262	40.5921	7435
+-79.0156	26.2931	5991
+-117.4251	48.6545	6407
+-84.2954	28.4386	7331
+-116.0633	31.9014	8319
+-119.1526	49.2444	5805
+-114.1369	44.1718	4418
+-115.1225	34.732	7110
+-85.1468	25.5649	5670
+-90.648	37.2869	7822
+-117.6514	49.7605	5326
+-117.0164	32.7055	9617
+-118.7259	32.7448	7789
+-110.6144	30.8016	8573
+-108.2831	32.39	7086
+-121.1041	43.9535	5753
+-121.4615	45.6309	7450
+-117.9786	35.7131	7648
+-115.4937	32.9401	8104
+-93.6238	40.8611	5256
+-88.5085	37.8111	9483
+-109.9905	31.6582	9093
+-85.0927	25.1524	5425
+-115.5052	29.7435	5957
+-87.6539	36.0636	7625
+-92.3457	35.983	5768
+-118.4111	33.3552	8028
+-81.8291	29.7023	7676
+-115.5143	31.718	7722
+-113.1859	43.3745	3139
+-120.6776	47.0032	7164
+-118.9542	32.944	7531
+-89.3682	40.9406	6822
+-88.4286	38.8289	8456
+-92.0447	40.3466	6941
+-113.1136	28.0636	4614
+-117.3499	28.8081	5261
+-90.7604	39.2542	8746
+-111.4565	29.2992	6716
+-85.4627	25.6327	5418
+-115.6574	32.2774	8174
+-117.5066	43.0951	5973
+-81.7943	27.0934	9040
+-90.7032	39.55	8496
+-122.3974	48.72	7602
+-108.7736	34.4677	5921
+-117.8957	45.582	8575
+-89.5852	36.3968	8120
+-121.3468	48.2555	7389
+-88.2164	39.1393	8050
+-120.1065	42.2414	4741
+-87.7392	39.5355	7421
+-108.8879	32.102	7810
+-92.1359	37.7017	7223
+-112.5426	30.6323	6868
+-88.774	36.1623	8127
+-117.0399	43.0067	5730
+-117.513	33.80	9086
+-90.5622	36.1638	7187
+-118.8366	43.0618	5990
+-114.2993	32.5879	6767
+-80.9527	27.2802	8448
+-118.1663	29.5853	5908
+-88.116	39.6725	7447
+-119.4627	32.4672	6942
+-108.8551	29.6814	6864
+-121.6053	49.183	6786
+-117.4639	46.2006	8386
+-124.4144	48.2041	7458
+-123.4548	45.2766	7652
+-81.7969	28.576	8901
+-109.6941	35.1062	5594
+-83.2071	26.5575	8063
+-118.4562	34.031	8235
+-90.522	37.9713	8572
+-122.1231	45.8582	8119
+-123.4224	46.5222	8853
+-117.5137	45.6038	8291
+-115.8219	32.76	8474
+-91.9609	40.7222	6702
+-119.9662	29.3779	4663
+-84.414	29.0686	6921
+-92.8688	37.4874	6420
+-82.0021	28.8859	8617
+-83.111	24.8528	6415
+-81.0476	26.4695	7979
+-91.4334	39.661	7926
+-89.2524	37.7208	9266
+-104.5701	29.1062	2677
+-122.9548	44.5157	6913
+-122.7653	46.7267	9304
+-81.8013	25.3767	7163
+-118.0563	33.6817	8546
+-120.7345	46.3835	7142
+-126.2213	47.1562	5951
+-79.646	28.9829	6760
+-86.8675	38.0675	7636
+-85.963	38.5512	6515
+-111.8626	31.131	7746
+-86.6895	40.6332	5749
+-109.5703	28.6639	6204
+-115.4382	32.9278	8044
+-114.208	31.8968	6509
+-89.8302	40.9316	6999
+-121.361	46.4074	7807
+-111.5749	30.8176	7893
+-120.6142	46.076	6792
+-116.7594	36.5655	6828
+-91.504	37.6133	7704
+-116.3647	34.1946	8552
+-119.3235	45.4817	7979
+-119.6359	34.5546	6913
+-124.3579	46.6209	7960
+-118.3564	35.6787	7475
+-88.4142	35.6576	7526
+-112.351	33.3833	6544
+-118.3024	48.5557	6660
+-121.4077	46.1501	7737
+-107.9479	35.5636	4446
+-112.3548	31.1103	7224
+-88.0374	38.1731	8818
+-118.5778	31.6936	7562
+-110.6833	31.4562	9070
+-83.3204	28.3094	8416
+-117.9072	34.8603	8481
+-108.8129	29.0434	6266
+-88.2773	39.9117	7235
+-116.8094	45.5612	7599
+-117.2245	43.7275	6509
+-118.7843	31.2645	7087
+-86.9483	42.1277	4232
+-109.3062	33.035	7547
+-93.0315	38.2978	6529
+-93.2643	35.0515	4371
+-91.5202	37.7618	7801
+-90.2063	38.3757	8978
+-115.8868	33.3606	8404
+-112.3847	28.8245	5749
+-119.5338	45.2839	7679
+-116.6338	30.06	6656
+-115.9094	45.098	6532
+-84.222	25.4344	6350
+-91.0934	36.39	6768
+-117.5601	42.8647	5750
+-123.4646	47.3534	8854
+-119.2165	32.5559	7226
+-126.3045	47.0213	5865
+-91.9618	42.576	4963
+-81.5392	29.7669	7532
+-110.6018	30.4309	8192
+-111.7071	28.6069	5922
+-117.9535	43.7045	6700
+-86.7661	37.0226	7456
+-115.7629	33.023	8391
+-92.2872	39.6528	7153
+-120.5285	45.8597	6869
+-107.7842	32.9303	6350
+-86.1233	36.767	6681
+-118.3399	44.2187	7267
+-116.8226	32.3268	9183
+-125.6832	45.2626	6021
+-79.4247	25.9029	6173
+-117.678	34.9035	8585
+-90.0764	36.3431	7725
+-123.1825	45.2346	7678
+-113.9577	35.8591	5467
+-114.4002	33.8358	6673
+-89.0237	40.0126	7424
+-88.4312	39.258	7989
+-91.1421	38.4562	8547
+-122.2575	44.4276	6729
+-121.9427	47.3421	8476
+-112.0265	31.559	7639
+-116.7592	33.7911	8870
+-88.228	38.4624	8736
+-115.0131	35.714	6535
+-89.6977	40.4476	7451
+-122.4574	46.046	8484
+-88.2893	40.0994	7032
+-119.9366	38.1437	4282
+-115.7179	30.7934	7101
+-119.5399	45.6002	7828
+-118.05	34.0298	8676
+-83.2045	27.7925	8680
+-115.308	47.1986	5901
+-90.9753	40.1004	7835
+-88.9125	36.619	8628
+-87.6329	39.0826	7778
+-90.8314	41.7592	6145
+-116.4806	45.6212	7285
+-118.6261	32.1965	7777
+-126.0663	46.4166	6075
+-85.8939	29.0638	5392
+-88.18	39.4247	7734
+-82.1003	26.5648	8532
+-116.7097	32.3864	9194
+-92.8061	38.0978	6720
+-120.1423	49.3853	5576
+-88.1822	43.2072	4066
+-88.1545	39.5513	7590
+-90.5918	36.8947	7412
+-90.1748	40.1147	7936
+-108.0633	32.7403	6713
+-81.9489	27.1857	9203
+-118.4092	34.9024	8035
+-120.6444	46.7329	7115
+-114.3824	37.1252	5005
+-89.8533	36.7436	8215
+-122.8062	47.393	9127
+-117.1727	35.2074	8362
+-115.2956	35.0363	7173
+-108.6112	33.0651	7012
+-114.7256	31.8712	7040
+-91.4055	42.4247	5313
+-81.1486	25.9163	7521
+-89.4733	38.4027	8375
+-89.8915	37.7431	8217
+-109.7594	34.5201	6231
+-118.1414	29.0773	5381
+-88.858	38.9686	8349
+-92.3703	37.2147	6718
+-117.3259	34.5203	9111
+-110.1323	31.7136	9214
+-119.0067	31.634	7123
+-119.8633	49.1606	5613
+-124.8007	45.5015	6970
+-85.6254	25.8199	5369
+-116.5874	32.2583	9000
+-112.7385	32.4998	6685
+-118.2269	38.4314	4734
+-124.1995	46.7421	8157
+-108.8893	25.4426	2639
+-84.822	30.2731	5734
+-112.9881	31.8846	6579
+-89.0121	43.7989	3785
+-115.3494	34.1647	7446
+-91.2732	38.9605	8439
+-120.7396	44.3227	6050
+-125.4067	46.1319	6704
+-124.122	48.4357	7507
+-94.3668	37.7096	4987
+-78.8976	25.2952	5286
+-79.1204	27.0219	6381
+-116.7475	45.8671	7615
+-88.9283	37.7464	9612
+-94.5498	41.7582	3885
+-119.951	44.06	6470
+-121.5018	35.032	4815
+-117.896	39.1649	4006
+-110.345	29.7564	7494
+-118.6633	46.4094	8742
+-118.6544	38.4719	4569
+-109.3003	34.0107	6615
+-87.9973	39.4497	7635
+-111.4664	29.9307	7303
+-117.5164	36.0791	7398
+-89.7233	36.5626	8176
+-107.1661	31.8616	6029
+-113.3106	30.9978	6186
+-118.9524	41.4114	4245
+-85.9064	31.1236	4179
+-114.2377	35.073	6079
+-125.054	45.1415	6504
+-114.7032	34.4481	6721
+-119.572	33.6087	6959
+-85.1293	31.4912	4484
+-87.8293	37.2154	8648
+-91.2914	39.0857	8381
+-111.0547	31.8319	8647
+-90.2267	39.6491	8441
+-117.4488	33.6635	8988
+-89.8805	38.1312	8565
+-86.4476	43.1549	3058
+-116.8217	31.4898	8264
+-122.7874	47.6331	8864
+-117.5861	34.4632	9037
+-87.8334	37.7458	8764
+-81.6618	29.284	8095
+-117.6327	32.335	8836
+-122.427	48.4373	7909
+-118.5642	48.2046	7012
+-117.5694	33.9015	9122
+-124.5082	43.0215	4926
+-111.3291	31.9974	8305
+-118.2143	36.0553	7200
+-108.4045	33.2848	6687
+-121.3694	47.3142	7882
+-120.7809	34.413	5692
+-120.6128	43.8121	5802
+-113.0401	33.6599	5777
+-118.7991	43.7304	6692
+-87.8074	38.7018	8230
+-121.6906	47.0592	8274
+-118.9323	46.007	8566
+-84.0755	27.7339	7695
+-92.0396	36.9592	6795
+-124.7247	48.5086	6982
+-89.8763	39.1427	8733
+-118.8216	41.8756	4750
+-120.5927	47.715	6941
+-126.6509	47.2489	5474
+-122.609	48.0053	8421
+-118.3666	33.3457	8062
+-118.4216	46.2779	9022
+-120.1395	33.865	6390
+-89.103	39.0752	8001
+-109.7614	32.9502	7868
+-88.1054	34.4829	6166
+-91.3986	39.5104	8057
+-120.3853	47.2723	6712
+-122.7857	47.5298	8975
+-90.7918	40.8135	7157
+-90.0274	35.961	7435
+-119.2807	48.241	6759
+-119.7573	46.3835	7671
+-80.3191	27.6512	7836
+-88.6827	37.7894	9648
+-117.3481	36.7518	6680
+-116.3688	31.9538	8582
+-90.1077	39.3058	8756
+-116.7844	31.4703	8237
+-116.4409	34.5483	8530
+-109.884	29.55	7217
+-110.7959	32.0671	8748
+-80.2111	27.693	7716
+-122.1157	29.2732	2781
+-83.362	26.3773	7794
+-79.9475	28.4774	7292
+-111.7695	32.617	7556
+-112.472	30.7734	6996
+-82.5577	29.1338	8273
+-117.181	30.7542	7440
+-110.0362	33.0237	7880
+-118.623	29.3669	5485
+-92.7875	41.424	5549
+-85.7313	26.2349	5468
+-86.5835	40.1019	6143
+-89.2846	40.4616	7232
+-117.8704	38.0409	5225
+-90.8474	38.1762	8629
+-94.4939	40.4262	4640
+-115.7464	46.661	6509
+-115.9802	29.9948	6419
+-124.3341	48.8013	7048
+-82.1102	27.2131	9266
+-122.0955	31.3029	3788
+-119.71	34.3161	6865
+-112.3309	33.4318	6525
+-122.0678	46.9443	8692
+-86.1261	41.1798	4881
+-91.8936	38.7502	7796
+-86.992	37.464	7810
+-88.7912	40.0256	7225
+-115.1056	36.3673	6147
+-116.4785	43.8609	6215
+-91.4332	40.0079	7658
+-90.9802	42.8879	4918
+-86.4198	30.5791	4092
+-117.1787	28.3403	4754
+-116.9703	43.2213	5910
+-109.1591	29.2656	6659
+-113.1416	30.5863	6245
+-109.8064	33.2396	7590
+-89.7298	36.0121	7667
+-87.5442	36.3921	7833
+-80.7677	28.1393	8291
+-115.5811	46.2068	6396
+-117.7966	45.2177	8193
+-121.779	49.5911	6471
+-81.9359	28.6721	8844
+-121.7346	46.1488	8042
+-81.6058	24.2878	5912
+-124.0218	47.6426	8167
+-117.1512	27.0308	3296
+-120.0851	48.6363	5966
+-110.4207	30.1505	7918
+-114.6487	32.028	7022
+-88.2789	38.1717	9026
+-81.805	27.5315	9436
+-89.3927	36.1615	7986
+-119.1966	46.5749	8170
+-110.5362	34.718	6070
+-87.5036	37.08	8252
+-86.9555	35.9571	7020
+-86.6959	39.0034	7048
+-91.5873	38.9119	8115
+-92.4932	40.138	6702
+-109.7954	31.5779	8891
+-88.1085	38.9056	8240
+-115.3529	36.2492	6426
+-88.805	34.5674	6337
+-117.9881	32.5606	8578
+-108.3787	33.1288	6774
+-117.9431	34.0825	8798
+-93.2093	39.8126	6170
+-88.6244	38.5003	8865
+-85.4455	42.512	3220
+-118.0694	35.0075	8243
+-88.3709	40.8135	6318
+-83.6966	27.3461	8061
+-110.9967	35.6031	5059
+-91.5431	42.7479	4938
+-91.5399	35.966	6175
+-127.6528	45.3825	4102
+-81.6275	30.0822	7211
+-125.1368	47.9536	6920
+-116.1356	36.1989	6969
+-93.7293	36.93	5319
+-118.7841	33.925	7867
+-106.0151	35.5383	3129
+-111.5197	31.4991	8185
+-123.4939	47.8268	8458
+-114.8567	40.6742	2464
+-107.0648	31.881	5918
+-91.0497	40.3043	7602
+-123.049	48.2758	8159
+-93.0242	37.2128	6131
+-79.0289	26.9625	6264
+-106.3552	32.8052	4965
+-116.0648	35.20	7785
+-111.4618	29.9634	7335
+-107.6932	33.691	5813
+-109.9913	29.0687	6724
+-119.6711	43.1754	5832
+-118.7393	33.0184	7763
+-115.2244	30.1998	6246
+-106.5838	32.51	5289
+-80.0343	30.5042	5990
+-114.3187	33.3677	6736
+-93.8336	33.4525	2610
+-111.2356	31.9701	8410
+-87.5937	35.3329	6884
+-112.6288	33.2098	6425
+-111.1462	31.4862	8587
+-115.3565	36.7435	6010
+-88.2593	34.2581	5948
+-120.4923	47.4099	6917
+-112.6826	32.7532	6630
+-86.6739	39.2772	6850
+-109.5328	27.5316	4999
+-80.2073	30.4143	6188
+-117.8245	30.4883	6985
+-112.0018	29.8362	6856
+-88.4293	34.3764	6103
+-93.9961	37.2134	5193
+-89.3931	36.4793	8309
+-116.3966	30.883	7504
+-123.5274	46.4818	8735
+-112.3972	33.0691	6718
+-114.9797	36.8731	5645
+-120.3427	47.6918	6504
+-90.3428	35.3954	6712
+-92.8904	40.8115	5926
+-81.5848	27.3132	9087
+-89.7126	41.5901	6279
+-87.7837	41.6317	5241
+-106.1132	33.2289	4566
+-118.2684	30.2206	6514
+-118.7449	33.991	7918
+-120.8798	44.4537	6004
+-117.9613	45.7366	8746
+-118.662	48.1943	7007
+-90.7257	39.2063	8809
+-118.1261	29.5652	5903
+-90.5882	35.5242	6659
+-109.4609	31.9644	8442
+-122.8383	46.5761	9172
+-111.2539	32.0137	8372
+-82.7506	34.0958	2698
+-88.3756	39.5773	7625
+-119.9811	48.0655	6510
+-88.7472	38.8866	8445
+-111.5101	35.8981	4628
+-111.7584	34.2356	6211
+-87.4546	37.0716	8198
+-120.7905	30.8306	4947
+-123.5652	48.1614	8104
+-112.1627	31.5461	7491
+-119.4945	46.1069	7978
+-116.8945	34.619	8870
+-80.7351	27.7731	8311
+-111.8058	29.9338	7078
+-116.5743	43.0165	5527
+-88.924	38.9326	8382
+-88.5841	35.6163	7505
+-89.7449	37.4429	8689
+-85.4644	35.3369	5279
+-123.8293	44.5255	6737
+-116.4828	32.9668	9188
+-118.3835	33.7754	8258
+-109.6497	34.4623	6268
+-110.6359	32.0647	8857
+-89.3372	35.5264	7329
+-109.3305	32.0915	8255
+-96.8285	40.0872	2330
+-87.9875	39.6968	7374
+-116.1662	32.4863	8787
+-92.9667	35.8478	5237
+-83.5982	26.7188	7855
+-116.2938	33.8254	8425
+-109.2005	32.2653	8041
+-85.4686	37.3489	6096
+-89.3611	37.6054	9144
+-83.7296	28.5475	7882
+-85.6856	37.7577	6355
+-120.0863	48.7861	5834
+-85.0685	28.8979	6334
+-78.536	27.2042	5773
+-114.4318	37.6457	4614
+-91.8003	36.8246	6848
+-118.7834	49.3459	5782
+-91.1896	39.3021	8371
+-111.1631	33.0844	7615
+-120.925	49.0592	6445
+-114.4097	33.3685	6835
+-109.05	34.3158	6203
+-113.0255	34.9034	4842
+-122.9544	44.7664	7188
+-106.0856	30.3504	4681
+-120.7467	43.66	5588
+-122.8206	47.1969	9339
+-88.2192	39.7224	7426
+-89.605	39.6399	8150
+-117.8325	35.2031	8218
+-117.2224	41.9555	4730
+-113.76	32.7182	6175
+-90.1203	38.5804	9087
+-88.5835	40.2787	6879
+-89.6285	38.8324	8606
+-111.3267	33.067	7539
+-120.9619	35.6078	5198
+-122.1471	46.4414	8598
+-126.5199	48.5183	5279
+-116.7389	47.7618	6858
+-113.8423	29.4955	5050
+-118.4553	37.2822	5866
+-119.77	48.9866	5822
+-114.7237	33.644	7086
+-87.152	37.7203	8002
+-82.8216	28.5817	8686
+-90.7821	40.1716	7833
+-127.0151	44.6782	4433
+-111.7374	34.4746	5991
+-91.1578	39.5105	8254
+-119.0792	31.1022	6718
+-86.9777	38.6622	7517
+-92.1508	37.6663	7190
+-87.8622	40.0311	6973
+-120.1995	43.8933	6165
+-122.9322	45.1839	7647
+-90.1335	38.6254	9123
+-88.7526	39.4343	7830
+-118.664	35.2056	7616
+-85.365	42.9687	2743
+-110.6581	29.4199	7103
+-109.86	32.1057	8710
+-91.3926	38.7298	8336
+-117.8105	45.0508	8042
+-114.6367	30.8554	6356
+-116.9598	37.0671	6320
+-81.4006	29.0142	8256
+-110.1313	27.8785	5454
+-115.2403	34.8399	7197
+-118.491	35.2292	7745
+-118.3705	42.3707	5310
+-82.8892	28.4927	8707
+-88.978	39.0046	8294
+-117.4202	45.8256	8301
+-116.3807	34.8976	8262
+-91.8454	36.7552	6759
+-87.1302	37.968	7947
+-118.2547	34.3131	8442
+-93.525	39.2786	5991
+-107.7768	30.332	6390
+-122.145	45.4419	7737
+-117.7412	35.4299	8032
+-81.9209	29.8614	7510
+-87.8939	39.9489	7072
+-118.3316	30.2473	6508
+-90.0727	36.8445	8083
+-86.6263	36.2477	6933
+-120.0452	48.76	5881
+-114.6363	33.5063	7042
+-83.3508	25.8643	7337
+-91.2359	35.3324	6001
+-122.1552	46.5838	8686
+-121.0054	46.3367	7413
+-117.3387	33.8931	9264
+-88.7186	36.8097	8852
+-114.2993	35.1209	6126
+-126.6324	47.6912	5429
+-89.6415	40.9628	6909
+-125.0658	46.2873	7112
+-119.6886	45.0095	7377
+-117.4122	45.8528	8302
+-116.9041	29.9051	6505
+-111.892	26.726	3947
+-109.0547	31.3044	8056
+-116.1824	32.6661	8862
+-89.3682	39.6145	7987
+-88.5098	38.9733	8320
+-118.4212	33.0828	8103
+-116.2217	44.3204	6376
+-120.5066	43.7014	5797
+-89.0309	38.1331	9213
+-118.7228	30.9673	6908
+-124.2045	44.2297	6275
+-115.0682	46.1784	5854
+-116.8211	42.6777	5319
+-124.901	48.5204	6823
+-119.4092	47.2158	7582
+-80.8455	26.692	7995
+-90.0169	38.3766	8860
+-109.7931	31.7474	8862
+-88.5963	40.6187	6638
+-117.6325	34.6236	8871
+-83.2771	28.2205	8500
+-91.5723	44.1761	3437
+-120.227	46.2624	7195
+-111.3356	30.7173	8038
+-119.7873	36.0918	6056
+-116.3112	34.1607	8495
+-116.2099	34.1653	8385
+-108.4712	31.7662	7446
+-110.3582	30.0577	7820
+-112.982	34.3868	5295
+-106.4816	33.705	4709
+-87.8755	41.0081	5787
+-117.2984	36.7953	6634
+-91.569	40.3435	7284
+-117.5318	36.6132	6817
+-121.2878	47.5935	7706
+-88.5624	38.039	9338
+-112.8403	28.7679	5389
+-114.8921	35.5942	6497
+-90.8802	36.0621	6837
+-113.3315	31.7006	6223
+-120.6921	44.7218	6321
+-124.2472	45.8693	7697
+-93.3436	37.2851	5864
+-90.6669	37.5517	8097
+-115.5435	32.4605	8117
+-87.7406	39.7376	7220
+-81.1459	29.4046	7729
+-115.8857	30.1946	6589
+-115.108	30.9584	6821
+-78.7979	28.9616	5884
+-110.5772	30.9815	8770
+-118.9303	32.4998	7534
+-113.7696	31.4993	5749
+-83.8418	29.2673	7320
+-82.3068	27.1919	9213
+-117.3723	36.6657	6773
+-110.6382	32.2394	8690
+-83.6478	29.8794	6951
+-113.8127	36.4859	4979
+-124.1351	48.3175	7595
+-119.8983	30.3042	5446
+-121.749	48.6515	7364
+-124.4893	45.7537	7410
+-117.5028	44.3329	7215
+-88.4273	40.098	6864
+-118.4505	47.4064	7866
+-92.7798	40.795	6029
+-89.7103	40.1086	7790
+-118.5674	34.0499	8116
+-92.2038	41.0285	6281
+-82.913	27.7635	9010
+-82.3211	25.336	7134
+-88.3562	39.1892	8044
+-110.4063	29.2824	6979
+-114.2563	31.1261	6190
+-123.557	44.4723	6772
+-118.5409	47.2669	7995
+-117.8902	34.3018	8833
+-89.8058	39.9695	7970
+-117.0452	30.41	7067
+-117.2221	33.7297	9095
+-122.4236	47.3743	8917
+-89.5347	37.7863	8942
+-115.9145	33.4965	8356
+-118.8247	29.7683	5771
+-85.4742	41.691	3978
+-125.0141	47.5481	7197
+-117.7552	47.1344	8031
+-87.22	36.0211	7281
+-119.7559	41.2622	3905
+-117.128	34.3561	9252
+-116.9284	44.366	6930
+-111.3249	31.2563	8342
+-120.54	37.4428	4460
+-92.3236	36.2354	6001
+-88.8397	37.9756	9458
+-89.3202	38.3421	8834
+-89.3141	37.2195	9022
+-111.5443	28.5786	5964
+-115.5992	31.2296	7416
+-86.9355	33.6029	4812
+-78.8525	28.4308	6105
+-87.7256	35.5584	7176
+-80.8563	27.6905	8445
+-110.7636	28.9576	6591
+-89.4308	37.5144	9050
+-114.7883	30.7454	6400
+-82.171	27.1256	9166
+-81.059	29.6113	7477
+-111.512	32.8819	7573
+-90.241	39.7759	8308
+-120.7186	45.0837	6466
+-81.2461	29.7326	7452
+-89.7908	37.1756	8540
+-87.665	37.8019	8569
+-80.2711	26.6311	7425
+-112.7421	35.4234	4562
+-118.4937	44.6011	7658
+-90.0503	40.2176	7802
+-116.9092	32.92	9621
+-86.2529	36.3502	6630
+-124.8764	48.3624	6948
+-82.4052	28.1085	9398
+-90.1748	37.7148	8286
+-116.5413	31.8371	8562
+-91.2892	37.4789	7742
+-116.3387	29.2576	5722
+-120.2409	43.1888	5545
+-89.7808	37.0523	8484
+-120.7933	47.488	7222
+-125.4026	42.8965	4357
+-114.3287	34.253	6330
+-117.9606	35.5069	7859
+-119.9982	47.9627	6579
+-125.6468	43.4653	4717
+-81.817	25.7376	7569
+-119.0743	43.5191	6402
+-109.6343	33.2117	7554
+-86.0747	38.9446	6470
+-84.3437	25.0279	5911
+-108.9589	26.1502	3402
+-116.0773	46.9331	6763
+-90.4132	40.4652	7575
+-86.3096	41.2499	4938
+-117.6769	46.7923	8286
+-114.6659	33.7638	6978
+-86.2478	35.9269	6379
+-121.1353	32.9993	5140
+-114.9882	44.1847	5224
+-116.1545	34.0446	8321
+-81.3853	26.8268	8534
+-114.492	35.5431	6143
+-111.2387	33.549	7129
+-91.6616	36.7081	6828
+-118.8027	46.8146	8325
+-88.1061	37.6638	9074
+-89.1037	40.8851	6741
+-113.8159	34.2787	5770
+-117.9094	34.2006	8833
+-87.7085	35.9238	7527
+-115.5849	37.1195	5799
+-89.299	37.9779	9122
+-121.6848	47.4003	8189
+-84.0358	26.9265	7540
+-85.9533	39.5207	6033
+-88.0462	36.5884	8360
+-119.7637	36.5221	5768
+-118.7834	36.1609	6776
+-118.2841	32.1387	8100
+-116.7923	34.4026	8943
+-91.0143	41.5447	6336
+-119.0492	32.6874	7425
+-116.1659	46.8991	6864
+-91.3376	38.2357	8256
+-84.5842	30.7762	5501
+-81.8626	29.1991	8243
+-92.1427	38.0981	7402
+-123.8956	48.0413	7997
+-119.304	46.5356	8085
+-114.8795	35.1005	6728
+-117.345	34.4434	9189
+-93.2969	38.9207	6279
+-115.1719	45.9366	5961
+-81.4286	27.7066	9092
+-92.1519	39.27	7437
+-119.3077	47.8441	7118
+-90.93	37.9148	8348
+-93.8645	36.9812	5216
+-119.5755	29.8827	5374
+-89.6681	36.3586	8032
+-83.0144	29.3665	7826
+-117.4293	34.8537	8732
+-120.3327	47.8021	6439
+-125.6324	43.8692	5068
+-127.5491	48.0099	4371
+-118.0437	30.6344	7038
+-115.2287	46.8179	5937
+-116.3057	37.312	5916
+-90.8892	39.1483	8730
+-91.3043	38.3388	8337
+-125.70	48.0573	6305
+-116.4234	34.2917	8602
+-80.7526	25.8266	7198
+-90.1566	37.6714	8236
+-119.6021	45.6412	7782
+-89.1997	40.519	7130
+-84.8054	26.2593	6422
+-91.385	38.6226	8336
+-92.4452	36.7865	6355
+-117.0536	31.691	8494
+-89.0852	38.7776	8517
+-105.9127	33.76	4135
+-116.7928	33.2877	9193
+-114.6485	43.4692	4508
+-119.3392	46.4139	8094
+-127.2077	45.2311	4504
+-115.1739	33.6708	7538
+-86.6521	38.5921	7224
+-121.8468	46.6291	8391
+-94.0887	36.3345	4657
+-122.8608	45.7799	8302
+-110.5125	30.7344	8533
+-90.3989	37.5793	8162
+-83.481	25.9741	7355
+-87.8277	38.6127	8318
+-92.0996	36.934	6731
+-111.8703	29.7616	6891
+-119.2758	46.893	7915
+-117.934	33.7594	8703
+-86.4289	38.3974	7066
+-82.1193	25.7277	7586
+-93.1869	36.846	5772
+-117.3808	38.0906	5219
+-117.7118	45.3553	8266
+-118.1119	30.2298	6597
+-87.6431	37.7783	8548
+-117.284	45.7912	8153
+-117.1771	32.2548	9084
+-112.7601	30.5977	6636
+-91.1734	38.9365	8549
+-87.0668	38.1206	7840
+-115.3146	30.6322	6698
+-121.8014	47.6412	8190
+-85.4095	29.8171	5520
+-126.0222	46.5084	6139
+-89.948	39.4977	8492
+-89.6803	37.3113	8715
+-82.8129	26.2393	8001
+-114.0798	30.5145	5634
+-116.0341	33.7885	8142
+-117.509	36.4028	7048
+-118.3421	31.9354	7931
+-109.8555	32.0079	8781
+-112.9522	31.5181	6635
+-86.1762	37.3882	6891
+-118.3683	45.1601	8261
+-116.8235	29.9313	6531
+-115.705	30.5677	6877
+-116.7396	36.5726	6816
+-119.6115	47.1916	7440
+-119.1662	33.5031	7355
+-89.0218	43.0593	4553
+-84.7777	26.2794	6460
+-120.2611	32.2066	6016
+-115.648	35.5287	7207
+-115.1721	33.9851	7247
+-114.9209	47.5757	5372
+-121.6974	49.1753	6843
+-86.9016	36.1994	7152
+-109.5045	31.6691	8571
+-81.0198	26.333	7839
+-92.5141	37.2229	6599
+-118.7724	33.1496	7576
+-119.099	46.3468	8358
+-116.2911	35.5039	7703
+-89.6612	39.282	8458
+-115.1838	31.9019	7518
+-115.9669	41.7482	4039
+-80.0409	28.4558	7400
+-89.5975	37.2983	8795
+-118.1271	36.5498	6740
+-116.422	31.309	7965
+-123.0261	48.7563	7635
+-121.2868	47.7099	7655
+-123.2535	46.4848	8950
+-118.5018	30.8707	6988
+-112.3271	32.8118	6936
+-82.2874	27.8024	9714
+-88.0106	37.7539	8961
+-118.8031	35.2931	7438
+-108.7677	31.9252	7737
+-87.4883	37.5758	8377
+-90.3001	37.4635	8035
+-90.7359	38.2554	8770
+-108.6342	30.0021	6959
+-90.8655	37.2013	7676
+-117.0691	35.0613	8503
+-112.6353	29.8946	6380
+-120.5307	47.0328	7002
+-113.2787	28.7616	5054
+-87.339	39.3211	7362
+-109.8162	31.4203	8886
+-117.7015	30.2479	6773
+-117.6029	36.5155	6914
+-117.3212	46.5069	8154
+-116.6546	32.5029	9259
+-116.4101	38.07	5143
+-122.4386	46.3947	8799
+-93.7832	37.0323	5319
+-87.9205	39.8999	7134
+-81.4718	28.4852	8787
+-116.2291	35.8699	7331
+-119.4095	32.7635	7027
+-96.875	38.5805	2425
+-89.9696	40.6871	7289
+-119.053	34.5162	7545
+-94.4047	33.8956	2630
+-117.5681	32.7963	9082
+-85.4293	32.046	3781
+-82.341	27.3579	9374
+-117.8394	36.561	6817
+-110.0361	33.4003	7479
+-91.1907	39.8069	7991
+-117.1113	49.4008	5551
+-80.5707	29.0812	7582
+-83.5231	27.3534	8252
+-88.8676	38.3319	9059
+-113.9698	29.6845	5029
+-117.5501	33.898	9136
+-114.5244	34.2445	6544
+-118.7759	44.5983	7587
+-85.7113	36.21	6016
+-124.3685	48.7985	7027
+-118.7573	33.2768	7662
+-118.1394	47.5607	7706
+-118.6346	42.973	5928
+-87.451	38.4316	8106
+-81.7178	24.6867	6376
+-79.4382	29.098	6492
+-117.6421	36.8198	6579
+-115.4678	31.9814	7839
+-87.4904	38.3819	8173
+-90.2704	37.1557	8032
+-114.2068	36.1764	5525
+-112.0703	29.0568	6152
+-117.2444	35.2608	8308
+-91.4163	37.3327	7534
+-110.2133	27.389	4927
+-108.9237	31.7341	7938
+-126.5708	45.6975	5339
+-91.9155	37.2567	7118
+-109.8102	31.4757	8895
+-86.6844	40.7202	5666
+-96.0406	38.8614	3326
+-120.335	33.1799	6033
+-111.6009	33.9323	6582
+-125.9137	46.1128	6165
+-120.3501	48.0072	6581
+-116.5174	41.5847	4126
+-118.9281	48.7919	6329
+-117.6333	43.2625	6178
+-118.7054	31.0965	7025
+-117.5429	34.4849	9050
+-121.2621	48.6699	7010
+-114.19	45.6824	4903
+-119.8109	46.2884	7630
+-111.8077	31.5458	7876
+-115.6459	33.6628	8003
+-88.8826	38.1421	9265
+-116.4847	33.7791	8602
+-89.5059	35.9494	7717
+-117.7688	33.7653	8859
+-115.9511	45.5754	6729
+-87.938	36.9092	8555
+-119.0267	46.8284	8158
+-87.8533	41.3627	5504
+-90.1207	39.682	8381
+-113.7083	29.5968	5230
+-122.5166	41.599	3694
+-109.3865	29.9836	7460
+-118.632	33.5048	7898
+-89.7489	39.8916	8017
+-122.276	46.7001	8861
+-110.7256	35.9476	4726
+-83.7816	29.7762	6952
+-124.6953	44.7581	6479
+-120.0711	46.9837	7149
+-92.6229	37.2858	6540
+-91.2489	37.402	7698
+-116.70	38.8332	4374
+-116.2344	31.4641	8037
+-84.7579	30.6302	5498
+-109.5679	29.0558	6612
+-90.5183	35.7555	6906
+-122.9395	45.4389	7927
+-110.6573	30.784	8539
+-82.9656	33.165	3713
+-86.1022	36.4391	6522
+-119.0205	31.8122	7203
+-89.2807	38.5564	8661
+-87.4092	39.9453	6837
+-117.4585	36.2846	7182
+-91.787	39.4838	7717
+-88.502	37.7555	9502
+-119.646	45.6661	7746
+-88.7155	36.6804	8707
+-82.2628	26.6988	8676
+-82.2326	29.872	7508
+-119.093	32.1911	7280
+-86.2481	39.9925	5966
+-121.0379	48.8958	6660
+-82.9865	30.7894	6339
+-116.2911	33.4775	8699
+-109.0037	34.1071	6383
+-109.426	31.5101	8487
+-119.475	45.6558	7914
+-111.0152	31.976	8621
+-121.9752	46.1796	8272
+-80.6027	26.5885	7707
+-115.1883	35.3695	6900
+-113.278	47.3751	3790
+-117.731	45.2191	8159
+-117.5184	48.5274	6565
+-113.6878	33.1846	6073
+-116.1171	45.389	6846
+-124.8884	45.8941	7124
+-88.9933	35.7058	7600
+-110.4918	29.68	7404
+-76.8364	27.3103	3877
+-120.0934	31.2678	5861
+-110.7646	33.7115	7121
+-118.8259	38.5584	4420
+-80.9391	25.6635	7156
+-81.242	27.7098	8882
+-118.0625	32.6251	8512
+-88.9872	42.2932	5320
+-90.5107	40.8266	7182
+-117.6184	31.0746	7678
+-116.3101	29.4878	5968
+-113.0887	31.3676	6479
+-117.6597	34.4986	8952
+-109.3421	30.9056	8173
+-109.2746	34.7836	5821
+-80.2678	27.5472	7767
+-118.5196	47.2304	8038
+-124.9724	43.3021	4981
+-90.5414	33.5836	4818
+-119.2925	33.3518	7169
+-90.8078	38.626	8948
+-89.6945	40.7587	7136
+-111.6925	32.8461	7463
+-85.6922	38.0324	6340
+-108.6503	30.5843	7353
+-117.6253	34.4258	9033
+-122.8459	44.0756	6429
+-123.801	48.3361	7805
+-90.0111	37.2376	8338
+-85.1248	28.2735	6460
+-122.7492	46.7776	9340
+-119.289	33.9194	7319
+-119.6301	43.4985	6158
+-120.5129	47.708	6860
+-118.9945	42.7816	5666
+-81.6887	25.5074	7287
+-83.4813	28.4716	8171
+-121.3699	48.5426	7193
+-109.6458	32.6282	8118
+-111.6228	31.9912	8008
+-116.2514	31.9837	8528
+-90.2167	38.1612	8765
+-83.9764	26.1954	7152
+-117.1565	31.1936	7930
+-88.5189	36.7935	8797
+-119.6228	46.3824	7811
+-126.5423	48.0424	5434
+-89.48	41.3432	6465
+-88.2262	37.986	9110
+-82.3998	26.3996	8317
+-89.0985	37.3099	9269
+-121.4978	48.7536	7111
+-113.2324	35.8882	4739
+-118.1424	48.2179	7013
+-116.004	46.7969	6736
+-78.2203	30.0586	4762
+-114.4223	33.4685	6823
+-82.5322	26.6217	8521
+-91.5424	36.8474	7023
+-116.0089	35.8663	7202
+-86.2227	25.6271	4671
+-115.2856	47.935	5538
+-87.6947	35.8208	7420
+-82.2671	26.6979	8674
+-110.5761	33.7545	7106
+-116.2614	44.5471	6560
+-90.5568	38.9518	9138
+-115.0597	44.1844	5289
+-116.9673	37.6159	5725
+-93.9397	36.4981	4887
+-109.0025	29.6325	6915
+-123.4228	46.9065	9028
+-121.47	49.4225	6484
+-118.0507	35.9097	7420
+-116.3842	35.6758	7599
+-80.6902	27.7393	8259
+-119.1928	44.6203	7421
+-122.3027	46.6919	8884
+-122.1634	47.9175	8285
+-121.4887	47.476	7958
+-122.4681	46.0245	8468
+-122.5565	48.4623	7920
+-112.9948	31.5201	6589
+-122.4651	45.2777	7690
+-114.6759	36.3582	5813
+-116.7248	32.494	9303
+-81.2266	26.7475	8349
+-93.2744	39.6303	6167
+-118.5969	35.1154	7734
+-116.8182	31.9861	8812
+-117.5808	33.9059	9115
+-117.3697	30.6336	7277
+-114.3587	33.547	6732
+-92.7686	40.9265	5944
+-123.0323	45.9063	8432
+-116.3351	44.5001	6591
+-123.6718	46.3171	8498
+-88.9053	42.6203	4959
+-118.7629	32.9346	7745
+-108.7341	30.5298	7399
+-113.6451	30.4522	5682
+-119.2502	45.9044	8216
+-82.9605	29.5088	7711
+-88.8724	36.9585	9012
+-93.8158	40.1992	5408
+-122.2283	46.9197	8866
+-119.2329	33.0289	7078
+-91.2515	37.875	8096
+-122.1727	45.068	7372
+-85.408	37.0438	5981
+-116.7975	34.835	8617
+-89.8867	39.5553	8405
+-80.6852	27.9997	8233
+-87.5722	39.0687	7747
+-117.23	34.2607	9393
+-85.5034	39.4037	5665
+-115.7994	44.6422	6210
+-90.0335	40.0374	7986
+-86.6959	33.6998	4793
+-114.0599	32.2849	6457
+-119.3379	43.5136	6302
+-109.5574	30.7976	8277
+-87.8769	39.3533	7674
+-86.6161	35.3704	6284
+-120.7339	33.3198	5653
+-80.7558	27.3046	8249
+-82.8432	25.6818	7401
+-90.2313	38.4665	9078
+-123.4888	40.6911	2681
+-87.8547	38.3645	8526
+-111.1843	32.531	8094
+-123.7305	45.636	7883
+-119.6099	47.5386	7188
+-117.8182	33.6883	8765
+-119.1512	48.6075	6450
+-120.0491	30.7199	5595
+-123.3404	48.0281	8344
+-110.4103	29.0551	6733
+-89.249	36.6719	8575
+-90.9249	37.1189	7572
+-116.8637	48.4067	6392
+-122.8673	48.1471	8309
+-120.4489	44.5357	6431
+-88.752	41.4445	6029
+-82.8401	25.7653	7491
+-88.1478	39.0316	8132
+-86.8437	38.5961	7417
+-83.9173	25.5047	6633
+-117.5842	45.6399	8374
+-117.9512	32.2676	8495
+-88.6267	37.2057	9275
+-111.3857	30.787	8044
+-109.1728	31.0844	8105
+-117.119	32.8624	9575
+-119.2061	45.1554	7862
+-120.029	47.5856	6833
+-83.71	28.1667	8052
+-117.6314	31.754	8355
+-88.2475	34.5027	6217
+-91.3897	39.3517	8160
+-81.6954	26.2682	8126
+-120.32	33.169	6045
+-86.9195	38.6207	7481
+-109.5344	30.7325	8209
+-110.3063	28.7713	6427
+-119.438	35.0977	6946
+-120.1618	45.4286	7148
+-91.0322	39.7582	8132
+-84.5781	36.8757	5031
+-120.8105	46.09	7117
+-115.3834	35.1431	7207
+-83.4344	29.3241	7596
+-116.6243	33.2355	9149
+-116.7875	47.5754	7035
+-111.6052	32.1627	7959
+-79.321	25.5599	5848
+-123.5544	46.0185	8341
+-78.6991	28.8814	5807
+-90.0471	37.3028	8321
+-115.9383	32.2402	8438
+-116.2354	32.7044	8928
+-78.8081	30.2909	5169
+-117.5607	34.4628	9056
+-116.6261	35.2471	8136
+-119.0491	45.6007	8292
+-91.8567	37.5273	7361
+-87.3376	33.4793	4849
+-116.8236	44.115	6651
+-119.4154	46.0881	8061
+-90.977	39.1837	8632
+-93.4249	41.612	4923
+-89.0879	38.9181	8364
+-116.1502	32.2786	8662
+-123.264	45.8137	8278
+-109.80	32.7693	8065
+-116.7503	33.6931	8798
+-80.8961	30.7923	6194
+-107.6694	30.0143	6124
+-118.2377	47.9017	7352
+-87.9239	37.4779	8846
+-121.5351	46.4313	7995
+-119.1314	48.2391	6823
+-90.8826	39.8015	8170
+-120.8293	47.2467	7310
+-77.5195	29.0054	4488
+-90.5407	39.1354	8976
+-92.019	38.9908	7642
+-82.2597	27.582	9639
+-88.2363	39.3633	7819
+-118.1589	46.0796	9127
+-112.0687	33.2193	6890
+-79.6536	31.7965	4539
+-117.973	48.5493	6646
+-87.318	40.8416	5897
+-114.3633	33.336	6792
+-107.6003	29.4045	5687
+-88.6125	37.5181	9575
+-125.862	48.1441	6104
+-115.3639	29.0094	5145
+-90.4957	39.559	8544
+-88.3801	36.9215	8873
+-91.9351	40.9924	6485
+-123.1042	48.3105	8113
+-124.0205	45.4291	7516
+-119.5501	31.5708	6554
+-116.318	42.6938	5096
+-109.6177	33.5952	7160
+-116.0731	49.2583	5178
+-82.5935	25.9693	7793
+-123.1316	47.3877	9078
+-122.8511	47.0116	9533
+-117.6654	44.7938	7730
+-125.1049	47.4942	7115
+-115.3684	33.6871	7723
+-114.6911	34.8005	6636
+-121.0068	35.2996	5264
+-88.061	39.8082	7283
+-84.6458	37.2633	5167
+-113.9159	31.2501	5928
+-114.8876	30.8457	6557
+-93.6109	32.5262	1868
+-111.3063	32.4117	8089
+-113.3077	27.9801	4411
+-83.1455	29.2116	7896
+-89.5927	36.391	8110
+-115.6491	29.9383	6222
+-110.0832	30.4388	8204
+-122.794	47.54	8966
+-122.0146	36.1139	3926
+-110.7946	31.3365	8907
+-83.1724	28.7108	8304
+-116.2337	46.2646	7083
+-115.6523	32.9789	8276
+-89.0433	36.4316	8395
+-88.9432	37.4368	9490
+-127.0647	49.6797	4145
+-117.9592	47.3731	7869
+-117.6935	42.793	5703
+-119.944	31.1667	5956
+-91.4798	38.5182	8216
+-79.6935	29.0351	6781
+-88.4927	39.7479	7458
+-92.1171	41.2182	6173
+-89.9233	35.0246	6578
+-89.0213	35.3183	7164
+-124.514	46.4339	7739
+-119.3564	48.7962	6187
+-116.7528	45.4553	7502
+-119.1103	32.8862	7360
+-89.0716	37.0461	9040
+-116.2775	34.8014	8236
+-117.403	32.4905	9145
+-106.8465	34.1881	4758
+-123.3371	46.4921	8897
+-82.1179	30.1351	7213
+-118.3441	45.7323	8866
+-118.7728	36.985	6020
+-117.2607	43.8017	6596
+-107.1243	34.7344	4601
+-114.1323	47.23	4704
+-117.5777	29.4469	5933
+-115.0838	49.4039	4390
+-83.8712	27.0822	7779
+-87.2093	33.8697	5209
+-87.3527	36.1297	7471
+-94.6983	42.4809	3276
+-88.9982	36.5117	8494
+-124.4177	47.5656	7814
+-116.5233	30.7096	7351
+-124.0467	47.4333	8246
+-114.518	34.1665	6539
+-119.4206	37.0924	5545
+-108.6494	29.4266	6509
+-86.2154	37.2628	6916
+-89.6707	36.9768	8539
+-115.6685	31.1433	7391
+-89.3705	38.8306	8329
+-79.0168	26.7459	6182
+-85.0485	25.4031	5647
+-88.9827	36.5953	8589
+-79.8858	26.2186	6805
+-86.8973	37.5952	7715
+-89.8553	40.4792	7476
+-84.5852	26.1377	6562
+-91.526	40.2766	7369
+-120.3273	30.9932	5488
+-88.8342	39.0381	8273
+-87.9861	36.2911	8040
+-122.2218	47.6705	8532
+-84.4574	27.8847	7260
+-90.6737	37.2754	7804
+-120.1273	45.285	7125
+-115.0044	34.5084	7037
+-88.9718	34.9992	6813
+-112.1736	33.2084	6813
+-114.0958	31.8115	6360
+-79.5795	29.3615	6486
+-108.4874	29.593	6532
+-110.6533	32.1116	8804
+-82.3307	30.5042	6787
+-117.134	35.0717	8504
+-122.86	43.0083	5257
+-118.5361	48.6643	6532
+-119.9273	36.4906	5660
+-122.7585	45.966	8496
+-87.2794	36.9982	7985
+-93.1495	38.6267	6440
+-81.9265	30.0533	7295
+-120.1555	33.5059	6313
+-94.3896	40.508	4709
+-89.3143	39.1188	8205
+-117.5366	32.4806	9015
+-88.7505	35.5578	7449
+-126.2047	49.5812	4977
+-93.6889	37.4261	5586
+-120.4234	31.3628	5570
+-120.0149	46.8759	7251
+-89.817	38.1999	8573
+-109.65	32.5085	8227
+-85.0186	25.9133	6013
+-118.0122	48.1347	7087
+-118.5361	45.9354	8941
+-115.4409	32.1244	7884
+-88.5981	38.2955	9084
+-86.2179	30.6825	4215
+-118.3252	36.0831	7118
+-89.6189	38.3708	8505
+-113.8698	30.7725	5542
+-119.5969	47.1768	7462
+-91.6332	39.2834	7960
+-86.91	37.7622	7728
+-114.8892	34.013	6941
+-85.222	39.4694	5351
+-116.1881	37.3476	5840
+-89.4056	40.2719	7475
+-114.817	30.4371	6176
+-115.8097	33.4915	8259
+-81.8817	27.8245	9600
+-121.4221	45.8358	7562
+-111.25	33.2965	7368
+-87.6512	38.7792	8046
+-91.9625	34.7766	4816
+-109.001	31.8826	7994
+-82.7436	31.8069	5270
+-90.5652	38.4365	9034
+-119.7142	30.0586	5411
+-118.2238	33.6239	8355
+-83.9108	27.4024	7840
+-119.9589	32.1879	6342
+-91.7618	42.2935	5326
+-109.8128	35.6112	5073
+-121.1748	44.2743	6093
+-90.2759	38.2998	8926
+-124.8015	49.5851	6051
+-120.3692	45.195	6852
+-114.5077	34.3873	6516
+-118.6659	37.346	5715
+-84.4919	28.3176	7152
+-88.9744	38.6332	8705
+-118.7449	30.2798	6297
+-116.8002	48.1337	6595
+-121.4651	46.8161	8021
+-123.715	48.4619	7735
+-121.5396	47.491	8004
+-78.6724	28.3537	5921
+-80.0991	28.4989	7446
+-79.069	27.7566	6426
+-118.0311	46.3047	8917
+-116.2437	33.653	8520
+-88.2379	37.9038	9164
+-123.9296	47.4184	8371
+-88.4742	40.1734	6858
+-107.2084	32.6193	5907
+-116.7053	47.4026	7093
+-121.8429	35.694	4264
+-85.9445	27.9289	5577
+-78.4572	27.7127	5733
+-111.4683	30.5193	7788
+-87.4345	41.6938	4933
+-118.7359	44.7621	7765
+-88.6659	41.2058	6194
+-123.0474	42.0565	4209
+-116.4798	46.0372	7349
+-125.1189	44.8753	6256
+-117.2933	47.0439	7812
+-109.4974	32.7681	7903
+-115.3494	47.2509	5923
+-116.0716	49.3677	5082
+-87.3489	41.3001	5436
+-90.9735	37.8937	8303
+-113.3569	33.1488	5785
+-114.6922	49.5914	3956
+-115.7983	46.2682	6623
+-92.5424	39.5263	6951
+-116.0619	44.7198	6491
+-115.9703	34.1276	8124
+-116.8794	38.7707	4462
+-89.6069	38.3796	8497
+-83.985	31.0991	5579
+-88.9871	38.9417	8362
+-109.149	30.1787	7483
+-79.2499	30.9685	5018
+-110.0776	33.3714	7517
+-90.5212	39.3131	8799
+-110.7294	30.1886	7903
+-88.5734	36.8353	8858
+-89.9626	39.7122	8292
+-114.1074	31.5371	6259
+-80.9105	27.4755	8470
+-85.2437	30.4123	5273
+-90.1365	35.5265	6963
+-117.6267	48.4361	6691
+-120.5777	32.4713	5707
+-88.77	37.9276	9521
+-117.3231	46.727	8046
+-79.6249	28.2033	7012
+-118.3541	33.9229	8330
+-90.2308	36.955	7988
+-88.549	42.272	5144
+-83.4663	26.5989	7888
+-85.3929	28.9413	5973
+-125.3277	44.2792	5627
+-117.2441	45.0972	7731
+-120.3049	44.9765	6811
+-117.4371	36.0052	7488
+-118.9188	31.6462	7214
+-110.5913	28.5958	6225
+-115.0352	32.0888	7451
+-111.7592	34.4822	5973
+-109.8484	31.7596	8915
+-93.1043	36.2896	5470
+-119.7175	48.5306	6272
+-116.1566	36.5987	6589
+-89.0122	39.7692	7583
+-89.424	39.4089	8170
+-124.0159	44.2165	6346
+-91.2238	39.4264	8262
+-118.1147	49.2444	5926
+-115.6719	47.4569	6144
+-110.401	31.8527	9173
+-92.0121	40.3492	6964
+-123.2069	49.3537	6962
+-118.438	35.0931	7886
+-91.6802	35.4892	5642
+-114.421	35.0559	6275
+-113.3426	30.683	6070
+-90.6166	39.884	8176
+-83.5158	27.7519	8328
+-88.5765	35.7018	7600
+-121.4944	46.1838	7839
+-92.1376	39.4898	7372
+-87.9143	37.1582	8701
+-117.2962	32.9991	9333
+-118.3163	34.7852	8190
+-88.3231	38.4561	8798
+-119.3438	35.3575	6908
+-85.6453	38.4384	6206
+-85.695	39.7457	5651
+-90.6365	38.5615	9084
+-89.6212	40.6522	7216
+-118.2984	44.3571	7415
+-121.4445	45.3599	7224
+-114.8145	37.4282	5058
+-125.6482	47.8409	6438
+-89.264	37.1415	9004
+-119.6536	49.3672	5508
+-120.8605	33.4465	5547
+-119.1977	47.1705	7770
+-81.4686	28.9677	8339
+-86.7484	26.8064	4559
+-110.5648	30.2122	7967
+-87.6047	41.0331	5817
+-110.233	27.7077	5273
+-82.5702	30.2417	7049
+-112.3141	29.5877	6427
+-118.5715	34.5724	8036
+-119.4035	49.7777	5189
+-91.148	37.1714	7534
+-115.9903	32.3371	8540
+-93.555	38.6171	6003
+-117.8084	47.4517	7743
+-119.0716	37.4173	5450
+-118.0661	35.7873	7534
+-118.1298	34.77	8368
+-88.3699	37.5135	9338
+-118.806	48.6746	6478
+-115.8833	43.8876	5804
+-86.1087	41.2602	4797
+-120.6796	47.1269	7160
+-121.8022	42.8078	4881
+-119.477	36.4867	6016
+-117.3696	47.8909	7131
+-116.6634	35.0758	8317
+-115.5753	32.5752	8178
+-90.0975	36.1738	7571
+-89.9553	39.6176	8382
+-116.0748	32.3518	8631
+-82.8247	27.159	8851
+-114.8056	31.0417	6634
+-83.7212	30.4267	6388
+-120.3315	48.2388	6457
+-118.1133	34.9077	8286
+-117.3238	35.277	8289
+-123.8191	48.8357	7318
+-118.5928	34.5318	8027
+-88.4587	37.2736	9255
+-120.8365	46.3134	7228
+-89.7896	42.1143	5742
+-87.7604	38.5291	8327
+-112.3707	33.3974	6518
+-116.5058	36.394	6936
+-83.4336	25.4092	6847
+-87.9374	38.3913	8578
+-118.2201	35.6568	7577
+-82.2649	28.9609	8533
+-84.6709	26.588	6727
+-90.7153	38.972	8994
+-84.431	29.8668	6371
+-111.3967	28.7115	6156
+-84.8846	25.9743	6178
+-124.345	44.8096	6754
+-112.1412	34.7796	5495
+-113.3974	30.5737	5978
+-111.8381	48.4202	2006
+-90.5233	36.123	7190
+-115.4125	31.9826	7786
+-118.7056	44.2743	7276
+-77.7481	27.2148	4892
+-117.0838	44.5982	7225
+-116.1841	37.4862	5695
+-116.5598	27.7746	4111
+-92.272	36.5205	6275
+-116.9772	48.0924	6737
+-89.1954	38.9807	8120
+-122.2951	46.5408	8793
+-113.4269	35.4314	5117
+-89.0294	38.8679	8434
+-82.4219	27.9272	9519
+-79.1424	28.3811	6438
+-91.9295	35.5156	5560
+-122.9664	45.5933	8096
+-81.6468	24.4564	6107
+-114.7478	42.8664	4186
+-84.0154	24.6928	5815
+-106.9758	31.2899	5822
+-119.3521	28.6012	4350
+-113.1133	33.8257	5604
+-115.4703	43.4008	5132
+-111.7145	30.8667	7788
+-117.165	47.4786	7381
+-116.5007	45.4669	7257
+-88.7134	39.0704	8238
+-113.9953	32.7812	6438
+-87.6629	35.1856	6768
+-87.0442	41.8849	4700
+-118.0218	34.6254	8555
+-78.9032	29.2574	5868
+-120.5176	33.7572	5968
+-123.3094	49.0734	7248
+-89.6629	36.8075	8422
+-91.0203	41.6793	6193
+-118.3973	46.7579	8553
+-90.6661	36.9592	7470
+-119.2311	35.6116	6856
+-119.0523	43.9409	6833
+-88.6856	37.642	9720
+-109.1513	29.9685	7305
+-115.4064	33.0272	7997
+-112.9681	32.1992	6542
+-122.2983	31.1693	3529
+-125.1255	45.7555	6823
+-117.4677	47.2769	7744
+-119.2959	34.1662	7324
+-124.0892	46.5838	8234
+-91.2753	41.2216	6592
+-79.2818	27.1711	6597
+-86.6844	40.339	6012
+-83.584	32.1799	4637
+-88.3716	38.7272	8544
+-81.9969	27.6429	9684
+-120.5834	33.2782	5802
+-112.4475	31.8577	7164
+-117.3371	36.1011	7390
+-86.7045	39.2681	6884
+-89.1303	38.198	9092
+-83.473	26.3645	7699
+-119.6688	31.1846	6232
+-117.2551	35.0044	8588
+-81.6809	27.4167	9245
+-93.8333	38.6108	5703
+-117.3826	37.5429	5816
+-90.6214	36.702	7202
+-113.4407	49.7567	2834
+-90.1595	40.5807	7436
+-108.8919	35.7357	4711
+-88.6156	39.4808	7771
+-117.0791	48.3828	6527
+-90.5772	38.8562	9186
+-83.2141	27.078	8443
+-92.1487	39.9996	7093
+-115.6985	34.9979	7585
+-88.8858	35.8989	7827
+-111.5858	30.5035	7682
+-113.9571	33.9878	6151
+-116.0678	34.5099	8167
+-121.242	47.7973	7569
+-79.7477	28.8969	6906
+-80.8679	28.2943	8341
+-118.2625	39.9953	3052
+-83.9282	27.6914	7860
+-88.0738	39.3836	7736
+-116.8336	33.6511	8831
+-122.3188	47.4539	8773
+-123.6506	46.3925	8568
+-84.0369	31.5252	5126
+-90.1375	37.1909	8186
+-88.6098	38.7657	8568
+-117.2216	34.8855	8716
+-122.5866	42.7101	4917
+-82.6908	26.4581	8283
+-93.5094	41.7086	4785
+-118.5055	45.6466	8726
+-88.4085	39.3985	7829
+-88.5757	33.6121	5259
+-82.9796	28.2694	8779
+-84.7016	26.4726	6639
+-115.8888	32.9192	8545
+-111.6429	31.4989	8052
+-118.8687	34.0348	7787
+-108.803	32.9739	7233
+-116.0212	34.9599	7907
+-81.7386	27.5982	9407
+-117.1644	36.345	7123
+-115.7118	33.3157	8247
+-89.3361	39.988	7677
+-81.5742	25.9574	7750
+-89.7394	41.7023	6167
+-91.7032	38.617	7994
+-90.4569	35.1912	6451
+-81.2926	27.0812	8665
+-119.7451	43.638	6228
+-87.1758	27.9758	4183
+-89.717	36.8661	8421
+-115.6841	31.6122	7790
+-121.3535	44.479	6388
+-116.0026	47.4797	6437
+-83.1204	25.6039	7203
+-108.454	31.415	7429
+-117.3903	44.9458	7715
+-107.8242	27.43	4216
+-117.0187	30.91	7625
+-84.3624	27.6997	7369
+-117.498	36.5945	6841
+-118.3735	36.7607	6428
+-88.2004	39.9903	7130
+-119.2225	34.2539	7400
+-90.675	37.6393	8187
+-118.1861	33.4298	8275
+-116.1955	34.7826	8172
+-89.1357	39.3374	7938
+-116.2537	33.0727	8908
+-109.9993	32.8307	8074
+-90.7615	40.5381	7454
+-124.8621	44.768	6369
+-123.9954	46.0832	8060
+-118.7632	32.7598	7748
+-88.7164	37.32	9423
+-118.6603	45.2423	8268
+-118.6295	30.3923	6474
+-119.1277	32.1599	7233
+-122.5766	48.68	7691
+-122.5871	46.017	8508
+-88.5289	37.7384	9536
+-117.1097	31.604	8391
+-90.6418	38.9043	9100
+-118.3304	35.6866	7484
+-90.3853	39.3284	8801
+-92.1695	39.2261	7432
+-118.4937	31.1678	7246
+-116.7079	32.6143	9387
+-91.2508	39.0899	8420
+-117.8401	33.4662	8578
+-115.9609	36.0684	6991
+-120.2005	34.4776	6316
+-123.9849	49.3428	6736
+-122.0217	49.5269	6632
+-117.7652	32.1082	8562
+-83.9382	26.9432	7648
+-111.5732	28.3632	5735
+-120.3855	45.4063	6916
+-115.2295	30.4679	6494
+-89.9277	41.7587	6145
+-119.6633	36.6052	5782
+-123.8351	45.444	7643
+-120.4737	33.8744	6028
+-124.6666	45.4535	7051
+-123.8547	46.0599	8160
+-116.6947	46.346	7558
+-88.8264	41.9246	5613
+-106.5075	34.6128	4186
+-109.8996	30.5124	8222
+-111.2915	30.3666	7796
+-116.6802	44.2843	6695
+-119.8715	48.972	5785
+-118.5353	45.3136	8386
+-109.1593	30.0242	7359
+-86.0037	38.9505	6395
+-82.4588	27.1629	9116
+-110.499	33.9081	6948
+-90.887	38.4144	8772
+-117.4922	33.2592	8986
+-112.7468	33.3694	6220
+-121.896	46.4183	8349
+-117.7232	33.9185	8987
+-121.3318	32.0718	4814
+-118.1971	42.5986	5551
+-116.6694	30.9397	7633
+-117.0461	33.2976	9209
+-117.4637	45.3451	8080
+-89.0771	39.6472	7716
+-119.4261	35.3963	6809
+-117.9523	44.2919	7314
+-117.3686	31.7303	8461
+-118.6463	48.4548	6737
+-117.7319	34.8033	8648
+-119.5028	32.8869	6923
+-88.3389	36.6255	8552
+-111.1455	35.5871	5047
+-110.3286	34.4749	6341
+-110.5854	31.9362	9004
+-109.2795	31.7082	8324
+-116.5225	30.3639	6973
+-91.9411	37.2801	7116
+-117.1919	31.7026	8485
+-120.5815	45.4821	6740
+-121.8174	49.6206	6457
+-86.3846	28.5054	5011
+-86.0442	28.3816	5413
+-90.9837	34.7471	5701
+-118.6818	33.5356	7862
+-91.6515	41.3935	6264
+-117.5808	32.8105	9068
+-120.3391	36.8731	5047
+-111.2085	33.3998	7289
+-84.5359	30.4954	5779
+-90.0619	37.7157	8257
+-118.648	44.2081	7220
+-114.0925	34.3601	6067
+-121.4451	47.5456	7886
+-82.9275	30.2432	6950
+-118.7814	34.472	7845
+-111.2817	30.4525	7875
+-83.6094	24.5959	5936
+-120.0156	34.7271	6470
+-108.5327	32.2955	7376
+-107.2353	32.2996	6028
+-120.0716	36.5835	5475
+-117.3904	30.5644	7197
+-116.2223	31.3703	7939
+-119.1357	44.845	7654
+-81.9507	24.8394	6574
+-117.1909	34.4408	9192
+-113.0689	32.2324	6427
+-121.0983	44.7732	6488
+-93.3377	38.3482	6211
+-109.8838	31.8532	8905
+-118.6915	29.0944	5177
+-115.3299	32.0966	7758
+-88.5904	36.2424	8205
+-117.7936	47.6613	7528
+-118.7878	33.6094	7783
+-90.848	39.3771	8583
+-92.2542	36.7227	6451
+-125.8364	47.8282	6244
+-82.4522	31.3756	5793
+-116.0487	31.6085	8061
+-117.4204	36.8097	6614
+-119.167	44.7499	7552
+-111.6128	32.2829	7894
+-124.4136	46.3549	7813
+-108.2864	34.0978	5961
+-124.8654	47.9073	7212
+-118.793	29.9342	5947
+-117.809	33.0245	8785
+-118.1751	47.6988	7563
+-89.1409	35.9095	7799
+-109.6993	32.0033	8650
+-86.6429	37.9349	7412
+-109.0945	31.5161	8129
+-119.6975	46.841	7570
+-105.5976	32.2183	4297
+-87.0864	39.3191	7169
+-121.5435	49.8605	6095
+-115.4674	31.3241	7393
+-118.1872	34.4004	8492
+-117.1207	32.6884	9529
+-91.7188	39.3215	7859
+-113.3104	33.1646	5821
+-117.6253	33.1811	8913
+-80.5612	27.5398	8095
+-92.5344	38.8418	7104
+-92.4207	42.3702	4947
+-118.3205	35.5139	7643
+-116.6867	32.1709	8968
+-120.4789	45.3312	6797
+-117.5855	33.8223	9052
+-121.9684	44.4381	6646
+-119.2652	36.3933	6247
+-89.1119	40.8994	6733
+-118.628	34.8826	7843
+-120.0907	47.3826	6913
+-122.2713	35.5708	3858
+-118.5766	35.276	7642
+-108.9332	35.6176	4847
+-83.3575	25.4217	6900
+-124.8737	45.5594	6943
+-92.4405	41.17	6001
+-124.5993	46.9527	7739
+-109.68	28.3251	5873
+-86.008	41.0864	4882
+-90.6245	36.1758	7142
+-85.4159	28.5188	6082
+-115.1592	34.523	7200
+-118.1939	28.4329	4675
+-113.6353	30.2135	5600
+-117.9513	35.6517	7721
+-83.5493	24.9191	6295
+-122.6748	48.7113	7674
+-107.4986	32.4184	6272
+-111.7965	30.7223	7634
+-119.0209	34.2635	7619
+-107.6074	31.6112	6520
+-118.6434	34.2659	8029
+-109.7807	30.2847	7945
+-84.4109	28.6458	7130
+-117.0814	44.0672	6759
+-80.9105	28.0177	8480
+-89.9262	37.1113	8372
+-119.1604	34.0668	7471
+-84.8791	26.8087	6602
+-117.0092	35.8285	7668
+-81.5563	25.7144	7481
+-94.0011	39.1121	5505
+-122.8123	48.1248	8330
+-123.486	47.2948	8868
+-82.5015	28.844	8604
+-108.7561	32.235	7625
+-105.8054	31.8194	4561
+-117.9612	35.4977	7868
+-120.3059	47.5912	6599
+-86.6281	40.0207	6245
+-84.4081	28.1852	7276
+-122.3235	35.0114	3939
+-80.6642	28.6796	7936
+-113.256	33.3137	5794
+-90.7623	37.3649	7877
+-113.5721	26.8893	3295
+-92.4579	35.3464	5128
+-125.0254	44.952	6389
+-120.9748	45.783	7123
+-113.4193	31.6581	6129
+-116.155	44.9243	6685
+-116.3279	34.0336	8508
+-118.825	47.6602	7511
+-110.513	33.0574	7865
+-92.1675	39.268	7422
+-107.9708	34.6139	5310
+-117.4411	31.3494	8033
+-117.6222	33.8908	9068
+-88.4159	38.7039	8585
+-89.0343	38.9317	8363
+-116.1793	33.3031	8721
+-119.3266	29.2308	4965
+-114.9455	48.5234	4892
+-116.4727	43.5058	5910
+-88.3721	37.6087	9368
+-88.4638	37.3517	9325
+-109.5938	31.0656	8496
+-110.8347	30.0219	7697
+-117.1112	30.8164	7516
+-109.3656	33.8892	6764
+-124.1073	43.5598	5635
+-111.6322	34.0949	6410
+-89.0821	42.2235	5426
+-124.3578	48.0082	7638
+-118.892	32.3637	7547
+-117.1395	31.3934	8154
+-120.8241	33.6903	5627
+-88.1987	36.617	8476
+-120.4419	49.7224	5549
+-82.7449	26.6278	8430
+-117.3649	36.171	7313
+-108.3097	34.809	5348
+-117.5299	32.2151	8834
+-112.9326	32.2789	6558
+-116.4434	31.046	7693
+-107.9352	35.2193	4754
+-112.1686	28.4806	5568
+-120.9969	45.7073	7099
+-90.1756	38.3141	8904
+-119.5407	46.8363	7717
+-118.7269	29.5839	5647
+-117.0383	33.2758	9234
+-116.3803	32.0203	8650
+-117.5767	32.7825	9071
+-89.9758	40.8249	7145
+-112.7448	31.2102	6830
+-91.8757	35.4874	5557
+-85.0114	24.5522	5011
+-124.2279	43.8142	5848
+-117.036	46.9578	7657
+-84.8254	24.8316	5387
+-121.1528	48.4895	7060
+-116.0392	32.0286	8395
+-126.332	48.2031	5598
+-111.5542	32.55	7786
+-89.3873	41.1367	6637
+-118.5491	35.5689	7438
+-123.6751	46.7485	8722
+-81.2767	25.8724	7540
+-119.7726	46.0134	7681
+-80.721	27.4711	8260
+-120.5408	45.8112	6850
+-121.5969	44.8934	6916
+-112.8327	32.9541	6385
+-117.6502	33.8685	9029
+-87.9669	37.3586	8853
+-123.3059	31.5419	2540
+-92.9873	41.8672	5046
+-91.9222	38.2777	7689
+-92.082	34.3315	4537
+-110.6253	31.9822	8938
+-113.2772	33.0484	5911
+-109.9182	34.3657	6426
+-117.87	45.2265	8237
+-89.7713	39.559	8331
+-116.1651	45.46	6917
+-123.8461	45.7444	7908
+-109.115	33.2991	7194
+-92.4702	38.4589	7153
+-119.3464	44.2414	6993
+-120.1332	44.6057	6742
+-118.635	36.4247	6627
+-124.1475	47.8208	7945
+-89.3973	41.6625	6110
+-122.4003	46.4951	8851
+-78.9739	25.4792	5480
+-88.1354	37.9938	9017
+-89.8879	36.3503	7875
+-118.5815	45.6037	8647
+-88.0588	34.4381	6106
+-89.7363	35.6816	7336
+-109.6761	31.5634	8761
+-82.3566	25.5461	7368
+-107.9524	33.5279	6143
+-90.5334	37.0921	7630
+-90.7715	40.2919	7711
+-118.3623	45.5377	8659
+-112.0541	35.1992	5135
+-91.3998	40.87	6890
+-122.8945	46.6071	9211
+-122.9399	44.3089	6686
+-120.3119	48.7138	6175
+-87.7873	38.0894	8617
+-114.2954	34.20	6296
+-109.2717	31.1287	8222
+-108.5978	29.8995	6854
+-114.7161	48.2809	4832
+-120.7818	46.6916	7260
+-82.8853	28.5904	8631
+-122.3372	46.4866	8794
+-83.3909	27.5975	8457
+-123.0406	45.5065	7995
+-93.6523	41.3651	4912
+-110.1456	32.2059	8769
+-81.3085	27.7184	8958
+-113.2844	28.9122	5161
+-117.1965	31.8964	8695
+-79.9365	27.7483	7407
+-88.7663	37.484	9611
+-124.0379	47.4641	8242
+-124.5489	47.3128	7755
+-117.2313	31.526	8283
+-118.2997	35.6888	7501
+-125.5691	47.3238	6648
+-91.7716	35.1933	5309
+-124.5478	45.1453	6908
+-89.6848	41.756	6098
+-120.567	47.4555	6987
+-82.66	30.6682	6556
+-116.7218	31.3576	8103
+-79.3311	30.2341	5668
+-119.4119	45.4189	7864
+-110.4444	28.3732	5993
+-92.5792	41.3334	5770
+-114.4695	34.7455	6415
+-91.0137	41.6918	6182
+-91.0303	38.5217	8685
+-86.418	38.6021	6977
+-116.1792	33.3357	8701
+-117.8207	32.9787	8783
+-120.6231	47.7777	6951
+-119.0086	32.2858	7399
+-77.8867	29.9183	4506
+-122.1986	47.4785	8652
+-109.9575	33.7357	7106
+-121.5552	48.3079	7519
+-120.408	33.5464	6052
+-112.2764	31.3729	7356
+-120.0662	47.1654	7061
+-118.0936	46.4209	8866
+-89.8705	36.5738	8072
+-78.8351	28.2636	6119
+-110.0166	35.0251	5729
+-108.6571	30.4957	7309
+-81.1857	27.0809	8569
+-88.509	35.3136	7159
+-81.8512	26.2425	8139
+-93.0887	41.6997	5110
+-81.1779	29.7698	7382
+-124.2491	45.2434	7202
+-114.6495	37.3914	4979
+-123.6327	45.9688	8246
+-117.2408	33.0754	9332
+-123.6968	46.3779	8518
+-80.4669	28.2608	7926
+-92.6423	38.7914	6989
+-88.1812	39.5103	7643
+-92.3425	37.4885	6913
+-82.2979	26.3563	8286
+-120.5005	44.9723	6626
+-89.3164	36.1482	8003
+-84.034	29.3607	7086
+-90.7765	40.861	7110
+-119.2885	28.1879	3977
+-109.01	29.6616	6946
+-118.8998	36.1368	6718
+-88.2842	37.2622	9109
+-79.4567	26.9277	6719
+-119.5667	44.0355	6686
+-117.1706	35.6809	7847
+-109.5895	34.4291	6287
+-117.6395	46.7786	8270
+-107.4189	30.3843	6059
+-118.5863	48.3589	6847
+-118.6491	28.8877	4986
+-87.1168	35.041	6335
+-78.8254	24.6758	4771
+-116.9501	33.8402	9067
+-91.4441	36.691	6928
+-107.227	33.8962	5278
+-122.3511	44.7319	7078
+-115.62	35.6846	7070
+-115.6666	34.6998	7686
+-89.3542	34.8798	6619
+-94.1733	39.4858	5263
+-113.5754	44.6876	4055
+-117.3788	33.9277	9282
+-91.1313	38.7738	8618
+-115.7689	31.0309	7355
+-119.5022	45.2202	7668
+-111.9921	30.5887	7378
+-120.3915	33.991	6126
+-90.7479	35.6694	6658
+-114.9956	31.5738	7154
+-82.08	26.1004	8006
+-91.4703	38.9135	8240
+-117.9355	47.0555	8184
+-84.2396	26.9478	7336
+-115.7439	35.4868	7316
+-109.1676	32.1214	8083
+-81.3488	27.3121	8867
+-118.446	46.5774	8726
+-121.0812	48.4979	6994
+-80.3722	26.8344	7638
+-84.5343	27.9121	7171
+-116.5044	32.8461	9236
+-118.6847	46.3433	8763
+-121.9262	43.2385	5373
+-109.8002	31.0298	8641
+-125.3175	46.8939	6949
+-111.5088	29.5161	6897
+-110.6509	31.2096	8942
+-89.9399	38.8078	8942
+-92.0318	38.8386	7645
+-120.8034	31.7327	5306
+-119.5327	46.10	7937
+-116.2309	33.2001	8827
+-117.7915	33.992	8945
+-114.7287	34.9763	6621
+-81.3743	29.3667	7889
+-115.1983	33.3305	7699
+-110.9337	27.2614	4746
+-84.9602	37.8879	5535
+-120.1417	46.1682	7291
+-88.9921	38.5996	8737
+-82.0117	29.1997	8265
+-109.2232	33.1802	7366
+-83.6382	25.1757	6503
+-86.1987	39.5282	6254
+-117.9225	34.075	8820
+-119.0206	37.1846	5699
+-110.0025	33.9641	6869
+-117.694	34.9948	8489
+-81.6715	28.5089	8903
+-118.3765	42.9951	5971
+-81.565	27.7724	9249
+-84.642	26.3275	6620
+-82.4946	27.9301	9444
+-118.7742	34.9424	7671
+-117.7926	33.1687	8751
+-127.4525	45.7829	4438
+-116.074	32.0207	8419
+-118.5624	30.3666	6492
+-121.9734	44.9243	7142
+-107.776	31.8474	6688
+-114.7615	36.0505	6097
+-125.0901	47.2722	7177
+-90.6549	39.9243	8125
+-118.218	30.9816	7275
+-107.5158	31.4207	6416
+-123.3292	49.717	6548
+-113.5813	33.7273	5843
+-119.0554	32.2719	7345
+-117.0216	46.4211	7882
+-116.8747	36.0953	7355
+-86.273	35.3727	6012
+-118.7834	34.2529	7878
+-118.8068	49.1657	5967
+-112.7057	35.2138	4775
+-120.9228	47.4796	7362
+-83.0651	24.9961	6585
+-86.6556	35.0889	6076
+-94.6578	40.4952	4448
+-116.7636	31.1249	7852
+-114.1897	32.3502	6612
+-86.2009	38.8322	6652
+-81.7085	27.4792	9312
+-120.3138	43.7189	5946
+-113.8323	29.5671	5098
+-120.4161	47.9775	6660
+-113.1504	32.0505	6380
+-116.4389	42.7592	5219
+-121.6106	34.4266	4789
+-80.4449	24.0973	5323
+-123.5508	46.9967	8890
+-120.5346	42.5676	4824
+-88.2825	38.8962	8331
+-90.3405	35.5047	6814
+-84.8871	26.2487	6335
+-120.6984	48.9645	6340
+-114.5346	37.324	4956
+-77.9685	26.2673	4884
+-117.8542	34.4017	8833
+-115.7892	47.8015	6063
+-90.9192	38.7289	8846
+-116.3703	32.8255	9088
+-89.8185	40.125	7822
+-118.3338	34.9187	8092
+-92.6518	43.9683	3291
+-120.8475	33.8924	5623
+-82.2071	26.1179	8025
+-111.4771	33.1275	7391
+-118.6825	33.8953	7972
+-116.4119	47.7488	6619
+-117.4432	31.3767	8061
+-107.962	30.2693	6536
+-84.126	28.6999	7403
+-118.9116	33.3698	7560
+-117.8674	28.9744	5351
+-81.1852	30.3542	6775
+-86.0609	41.8821	4192
+-115.4082	44.3922	5719
+-111.9139	32.5841	7447
+-124.2939	44.743	6723
+-114.5771	34.1295	6604
+-120.9789	33.7929	5471
+-113.8514	31.4591	5963
+-88.9234	41.181	6368
+-120.8353	44.4753	6057
+-117.5558	36.5754	6855
+-116.2987	35.329	7860
+-116.7485	34.0682	8968
+-109.1486	30.3965	7657
+-109.0701	31.1147	8014
+-117.417	45.1237	7878
+-89.1687	35.34	7165
+-88.472	38.4948	8828
+-87.9378	37.9559	8830
+-122.718	48.5333	7873
+-124.174	44.8721	6913
+-117.684	40.1421	2919
+-114.731	31.2041	6678
+-113.2765	34.616	5154
+-77.6487	27.20	4778
+-117.2104	48.6399	6340
+-117.2659	32.2738	9061
+-116.8497	33.8676	8999
+-86.5774	37.3987	7339
+-91.3228	37.7665	7958
+-92.9266	37.3832	6312
+-120.8108	35.114	5527
+-119.5229	35.9024	6410
+-118.421	34.1277	8279
+-79.592	28.0591	6998
+-88.0794	39.0775	8053
+-120.1416	42.5691	5035
+-92.3655	38.0774	7168
+-111.2266	36.0934	4492
+-119.6588	27.9985	3597
+-88.2063	35.4786	7280
+-111.1792	28.9081	6434
+-119.474	34.3572	7118
+-80.6201	25.8166	7100
+-114.6753	33.3661	7125
+-110.2952	32.5491	8426
+-107.8878	31.0667	6765
+-118.1741	43.5774	6586
+-84.0157	27.1228	7642
+-117.4438	33.5844	8909
+-81.365	27.5167	8978
+-115.3232	44.9039	5879
+-84.0576	31.089	5549
+-116.0981	44.9686	6654
+-118.2895	30.9542	7205
+-112.4047	31.6226	7229
+-122.6894	47.8323	8627
+-109.7114	33.52	7270
+-111.5987	29.0542	6410
+-83.4482	28.7057	8064
+-118.2319	30.6317	6937
+-113.9586	30.5582	5557
+-116.0076	48.3249	5890
+-124.4177	48.0282	7571
+-117.5859	33.9978	9159
+-87.9717	34.0016	5606
+-81.2544	30.6918	6437
+-118.2328	32.6663	8331
+-115.5861	35.2584	7332
+-82.8441	27.2512	8899
+-90.1345	36.2758	7626
+-82.9712	29.1028	8108
+-90.99	34.742	5692
+-87.5374	37.7327	8433
+-109.4161	32.7703	7848
+-114.3299	33.2668	6769
+-90.1261	36.0274	7425
+-122.1183	47.5594	8528
+-91.5751	39.4346	7943
+-85.0335	30.0389	5724
+-114.5549	29.2729	4972
+-86.8413	42.1777	4309
+-87.0071	40.7951	5785
+-115.8229	35.5267	7349
+-87.8942	40.7268	5998
+-122.0617	46.8123	8670
+-122.8467	44.9333	7372
+-90.1242	40.7744	7225
+-88.8824	39.1959	8093
+-84.758	40.1602	4515
+-109.5475	32.8573	7852
+-89.9093	36.1429	7678
+-117.0678	46.4312	7926
+-124.6532	46.3141	7551
+-87.5964	35.6535	7202
+-110.4228	32.5988	8369
+-119.3848	48.4224	6538
+-92.6737	36.2573	5776
+-109.1804	26.9862	4339
+-80.7823	28.6745	8051
+-118.3218	31.8853	7919
+-79.2544	26.8425	6472
+-118.2037	45.2501	8357
+-117.0851	45.8074	7954
+-106.5443	29.343	4704
+-111.4991	33.0333	7458
+-81.8907	24.5835	6281
+-119.4758	33.6867	7079
+-87.9233	39.5929	7454
+-117.6707	43.3436	6270
+-86.4072	36.6885	6948
+-117.3055	36.3843	7082
+-115.4169	29.8308	6001
+-86.1356	37.4559	6852
+-126.1228	46.3645	6004
+-115.1861	33.2003	7721
+-119.6301	47.9878	6805
+-114.4663	31.0889	6363
+-93.7936	38.3429	5723
+-89.798	39.0485	8716
+-79.8151	27.4319	7243
+-117.8031	33.8506	8876
+-117.4404	35.3303	8218
+-116.9807	47.0844	7531
+-114.7591	36.3192	5909
+-93.3561	35.0659	4322
+-119.3713	33.8792	7225
+-118.7663	48.2348	6942
+-88.8472	39.0513	8257
+-119.3166	45.9624	8157
+-124.1611	49.3762	6618
+-83.642	27.065	8010
+-118.9224	47.5306	7601
+-90.1794	37.7703	8346
+-110.321	32.1308	8880
+-117.5089	32.155	8799
+-119.5252	31.8625	6707
+-109.2068	34.7229	5860
+-88.2784	36.3778	8269
+-111.8416	36.1342	4279
+-86.4808	36.152	6737
+-85.9097	42.8993	3122
+-122.6875	49.1291	7219
+-117.6779	33.2457	8826
+-87.0001	35.8298	6955
+-124.0952	45.0306	7107
+-89.2739	33.6455	5266
+-110.9287	31.0958	8640
+-119.2982	31.7748	6904
+-83.3028	24.6514	6128
+-115.2265	34.4959	7278
+-80.6178	28.3053	8073
+-120.458	43.7605	5878
+-78.4268	29.3662	5325
+-89.2522	35.7208	7565
+-79.3006	28.2117	6648
+-110.1514	32.1113	8869
+-119.904	47.9286	6673
+-114.4023	48.4113	4476
+-121.0223	46.9942	7543
+-113.8445	33.0698	6259
+-124.4425	48.4155	7281
+-87.8694	39.4279	7596
+-119.4425	45.5362	7895
+-109.4227	35.1661	5468
+-113.2038	30.447	6129
+-120.8206	47.956	7076
+-111.2303	31.6927	8494
+-108.9455	28.5413	5851
+-84.7076	33.1777	3113
+-119.4011	48.3051	6642
+-115.1301	31.3408	7125
+-114.9659	31.7091	7202
+-126.9766	42.8084	3209
+-84.3402	26.3636	6934
+-116.4939	33.518	8809
+-90.9903	37.4876	7915
+-87.5323	37.7196	8428
+-116.5674	31.6721	8401
+-121.0943	47.262	7596
+-89.665	38.2016	8450
+-112.1573	35.4702	4822
+-116.8665	48.8211	6011
+-119.6558	47.1672	7419
+-89.9585	37.4659	8459
+-121.9249	44.0747	6253
+-90.1919	42.6371	5230
+-94.6227	34.0836	2629
+-122.2669	46.6705	8838
+-90.4617	35.7542	6947
+-121.5264	47.8651	7803
+-123.5814	47.3686	8737
+-123.9273	49.2476	6858
+-95.3733	35.786	3169
+-86.0036	28.1782	5489
+-82.9254	29.2458	7994
+-114.8499	31.4099	6918
+-125.1036	46.7262	7171
+-87.3273	39.207	7448
+-89.2825	40.9022	6819
+-88.026	36.1606	7932
+-114.4579	32.4433	6924
+-113.7762	31.7612	6005
+-119.9565	33.9041	6593
+-117.1119	33.8749	9209
+-115.5636	33.9784	7673
+-117.812	30.579	7085
+-123.6037	44.5053	6794
+-119.3635	47.6725	7240
+-95.3157	41.6248	3271
+-113.2446	30.8543	6222
+-116.444	33.2098	9023
+-117.8375	38.2742	4978
+-89.7128	39.6028	8255
+-123.4253	47.1891	8979
+-115.1943	33.851	7464
+-120.3216	44.2546	6348
+-114.4733	37.6508	4638
+-89.9375	34.1012	5603
+-121.7916	45.6889	7748
+-118.2918	47.7428	7521
+-119.8312	47.7859	6837
+-118.6751	30.7692	6778
+-113.2711	32.4259	6162
+-119.3706	46.2753	8094
+-90.534	39.4431	8660
+-118.7756	35.7842	7098
+-107.2039	32.9416	5777
+-90.3992	39.3314	8797
+-107.3936	32.0819	6243
+-118.6014	45.9939	8905
+-108.9092	32.4169	7686
+-88.8802	34.071	5778
+-83.5941	27.9271	8230
+-122.0651	46.0436	8239
+-81.0542	28.9116	8112
+-91.7389	38.8681	7958
+-115.3258	35.323	7055
+-114.6042	31.334	6642
+-112.1724	31.7889	7469
+-87.8191	38.9448	8029
+-110.9573	30.5722	8186
+-120.6527	34.25	5842
+-93.1534	38.562	6432
+-108.539	32.4945	7293
+-87.7253	34.9914	6593
+-113.3888	32.9207	5860
+-83.3947	30.5002	6486
+-118.9272	46.1261	8578
+-83.731	28.16	8031
+-82.228	29.1785	8292
+-109.3299	30.4035	7796
+-111.1518	28.9694	6506
+-91.1004	34.2525	5173
+-87.6805	39.3419	7573
+-114.2729	32.6763	6744
+-109.6124	32.8677	7878
+-112.4938	32.6912	6843
+-115.5683	30.3402	6581
+-116.2419	34.2089	8417
+-117.9116	32.4703	8630
+-90.5397	35.2131	6418
+-86.1987	29.8108	4744
+-115.828	35.5803	7312
+-110.4035	29.1433	6829
+-78.5519	26.1212	5433
+-126.5681	47.6015	5516
+-117.0501	38.1744	5123
+-115.6436	33.1999	8216
+-86.6901	37.3098	7450
+-115.4835	36.8167	6023
+-123.5643	45.2535	7588
+-88.0644	40.3386	6713
+-86.6618	38.173	7385
+-121.2225	45.8278	7379
+-78.9662	28.5007	6214
+-114.7888	27.758	3610
+-90.3968	38.7753	9393
+-116.0134	37.8405	5269
+-118.5341	48.1046	7121
+-116.1447	44.3986	6366
+-86.1351	36.0302	6337
+-126.1944	48.2618	5717
+-89.0509	40.8058	6784
+-109.163	34.6396	5928
+-92.3521	37.4886	6904
+-117.7109	34.3066	9018
+-115.0616	32.6857	7623
+-117.3331	35.8709	7641
+-89.5229	38.6566	8492
+-115.2221	47.6045	5648
+-109.8028	33.8379	6964
+-90.4488	39.3864	8735
+-114.6617	33.2345	7140
+-84.486	38.0703	4989
+-123.5967	46.6136	8748
+-108.3103	34.434	5686
+-116.8688	29.3192	5850
+-123.6696	46.331	8510
+-118.17	43.9807	7013
+-121.4691	43.7289	5717
+-82.707	28.3157	8994
+-111.9309	35.093	5295
+-111.2297	28.7536	6258
+-91.138	36.9603	7331
+-111.4186	28.2722	5698
+-91.0046	39.5059	8370
+-120.726	45.368	6560
+-89.3089	38.9578	8245
+-119.5128	45.3889	7756
+-89.4556	37.8898	9002
+-110.8031	33.9672	6841
+-83.6646	40.6375	3188
+-82.5392	27.5966	9395
+-87.4377	41.0334	5751
+-90.8299	39.3769	8595
+-79.1816	27.6338	6550
+-118.297	31.1495	7374
+-114.7746	33.4527	7207
+-119.7484	46.2794	7697
+-123.7376	46.5668	8587
+-117.234	33.5392	8889
+-87.4288	38.137	8223
+-116.3462	32.9522	9044
+-115.3204	32.0683	7736
+-87.6334	38.894	7939
+-87.3913	37.3729	8237
+-81.9367	28.9563	8528
+-91.0495	38.4563	8640
+-86.7463	37.5055	7540
+-108.0273	32.9314	6579
+-116.1805	34.8155	8139
+-87.9701	37.8641	8894
+-96.7405	36.5437	2171
+-84.0639	35.5184	4012
+-122.2261	47.1889	8827
+-125.0114	46.3175	7179
+-109.4878	32.0641	8420
+-116.8791	47.2993	7305
+-91.7978	40.0853	7328
+-119.0693	45.8693	8393
+-78.9053	25.8469	5643
+-122.193	44.8972	7204
+-82.5653	27.3518	9215
+-120.3027	31.1597	5598
+-112.0106	32.5759	7362
+-88.2495	37.4236	9174
+-113.1193	33.4814	5821
+-122.6559	43.6996	6007
+-111.5418	30.6155	7796
+-89.9818	39.5524	8457
+-118.4565	33.5283	8082
+-91.5598	40.4385	7206
+-110.637	33.1828	7710
+-115.9616	49.201	5158
+-113.2233	32.007	6309
+-91.566	36.8155	6980
+-118.9063	35.7082	7058
+-121.3645	32.2897	4812
+-119.0384	32.597	7429
+-89.3404	38.9239	8285
+-123.1032	46.2368	8774
+-116.0859	32.4098	8671
+-117.8008	47.1252	8061
+-89.05	40.0352	7428
+-118.6101	34.204	8070
+-87.1759	39.0367	7458
+-107.6726	31.5741	6591
+-118.7987	33.3429	7657
+-88.5744	42.0925	5328
+-89.9397	38.2992	8743
+-116.836	43.8515	6429
+-117.0171	35.7096	7797
+-90.4261	38.9446	9210
+-116.4359	31.4082	8074
+-81.7639	26.8887	8815
+-110.3284	31.1813	9038
+-122.2551	44.4051	6704
+-91.8704	35.6418	5710
+-111.059	27.8843	5389
+-117.1615	45.7694	8022
+-90.5922	36.2737	7238
+-90.8639	37.0133	7482
+-122.1647	46.5414	8673
+-115.3098	36.4162	6258
+-82.2307	24.3494	6025
+-89.7077	38.7962	8694
+-116.6755	35.5443	7869
+-112.6236	33.6411	6138
+-116.8961	36.0357	7424
+-109.7191	32.0754	8621
+-127.9598	46.125	3971
+-115.2996	35.4537	6954
+-117.5777	33.508	8776
+-117.3356	34.2382	9401
+-89.7888	40.518	7414
+-113.8426	30.4039	5462
+-91.3318	38.7941	8401
+-90.0192	40.2595	7751
+-124.831	45.2758	6786
+-90.2535	40.8504	7156
+-91.533	37.8462	7848
+-115.8449	32.9067	8498
+-86.9838	39.2967	7103
+-109.8638	27.6558	5188
+-86.1115	28.0356	5381
+-116.35	38.4105	4766
+-89.0654	36.7474	8731
+-121.0684	46.0803	7371
+-117.7294	34.3429	8984
+-87.7813	42.0938	4858
+-121.9472	46.6295	8496
+-114.0254	45.8904	4746
+-114.9394	36.8389	5645
+-108.7502	30.0884	7114
+-112.8895	29.9215	6170
+-111.1009	29.8882	7457
+-114.4972	29.8399	5439
+-80.3981	26.6301	7546
+-117.4713	48.9906	6081
+-118.8808	33.1647	7484
+-118.1354	33.9344	8566
+-90.6801	36.2146	7119
+-116.6055	30.8106	7479
+-90.0396	34.6521	6143
+-111.8475	29.3204	6524
+-116.2659	32.8991	8966
+-121.21	46.9736	7749
+-116.7531	36.2585	7153
+-110.2409	32.7644	8190
+-118.6937	36.836	6204
+-116.8385	31.9961	8827
+-117.0695	34.0994	9320
+-110.9023	33.8297	6963
+-116.538	31.4865	8194
+-117.383	32.3359	9043
+-115.3803	32.9526	7977
+-116.5276	34.1343	8732
+-91.1924	36.9894	7336
+-122.1091	49.0372	7171
+-119.1984	47.7067	7302
+-87.7079	36.9512	8381
+-88.5412	37.1502	9183
+-87.7764	37.6909	8703
+-120.652	48.1176	6832
+-115.8869	34.8619	7836
+-119.421	46.8041	7844
+-117.0913	33.0073	9499
+-119.601	36.1884	6145
+-115.4303	34.6732	7450
+-88.4665	39.4791	7752
+-118.9934	46.3135	8475
+-121.7149	46.5648	8231
+-118.4737	30.8314	6973
+-119.3522	45.5057	7965
+-121.2915	33.5151	5096
+-121.7202	46.577	8241
+-90.2513	37.4616	8028
+-113.9101	36.0932	5298
+-122.5506	43.8611	6173
+-114.7393	30.9328	6499
+-119.6389	46.7627	7662
+-89.353	37.5122	9135
+-89.2628	38.6957	8215
+-111.522	33.3292	7185
+-112.8434	36.9002	3847
+-117.3502	35.7186	7806
+-90.1055	38.0188	8581
+-116.1436	32.9189	8828
+-113.2143	35.0182	5013
+-89.5343	37.2335	8826
+-80.3078	28.301	7740
+-92.0939	37.1649	6911
+-81.1559	28.4386	8550
+-117.1632	36.2789	7195
+-93.3693	39.9033	5974
+-84.185	24.5508	5577
+-92.4582	37.0273	6518
+-122.3715	49.0952	7197
+-118.0394	35.4492	7873
+-82.3036	27.6958	9684
+-118.0932	35.0385	8201
+-87.3186	37.978	8152
+-80.0035	27.7252	7482
+-117.6647	33.0279	8939
+-123.5858	43.1402	5335
+-114.8521	46.1387	5626
+-116.1036	31.3138	7820
+-125.9185	47.2575	6275
+-92.124	35.8057	5738
+-93.3213	35.1365	4405
+-118.0746	46.5393	8746
+-115.1123	34.2499	7185
+-116.7494	35.0775	8364
+-116.702	49.532	5258
+-83.5407	28.3834	8154
+-119.8204	33.6021	6692
+-115.2428	33.908	7317
+-117.0649	31.6785	8479
+-89.725	36.7511	8328
+-117.2312	34.0924	9479
+-115.1467	35.5556	6753
+-86.6278	38.9869	6993
+-116.1618	33.82	8285
+-90.0996	38.0225	8583
+-115.5608	34.6861	7582
+-116.4638	32.7401	9186
+-116.1366	32.4659	8748
+-91.6899	37.8099	7689
+-117.7154	47.0309	8106
+-115.0828	35.5865	6676
+-92.1963	43.1712	4274
+-122.3224	45.7656	8142
+-81.5452	30.7933	6404
+-91.70	39.9424	7510
+-118.6509	33.2036	7719
+-90.0736	33.4168	4825
+-82.0404	28.9798	8516
+-88.4305	34.5454	6292
+-88.3992	39.4455	7775
+-122.2032	45.0022	7316
+-118.1131	44.9816	8062
+-121.4417	44.4468	6408
+-88.5385	38.5998	8736
+-121.8842	47.5834	8301
+-117.2445	29.8631	6444
+-88.076	36.9894	8730
+-90.8011	40.6301	7348
+-118.9977	48.0079	7103
+-120.707	30.1555	4633
+-121.7745	45.3579	7449
+-118.7695	33.8653	7873
+-81.8653	35.9024	1819
+-120.5238	47.3142	6968
+-124.9744	47.2218	7310
+-85.4837	30.7118	4846
+-120.9074	43.5807	5408
+-118.6922	33.8417	7951
+-108.0584	32.4506	6836
+-80.4648	28.3647	7887
+-86.7388	37.6259	7538
+-119.9587	41.9606	4531
+-87.586	36.2461	7742
+-91.7942	39.7228	7577
+-91.5001	40.0546	7573
+-116.5935	38.7155	4486
+-92.1707	40.6982	6575
+-118.0976	49.1425	6032
+-116.8667	31.1694	7912
+-110.0427	30.9112	8680
+-82.8937	27.0178	8685
+-79.1458	27.8174	6512
+-116.1611	33.5107	8567
+-116.4421	34.4021	8592
+-81.7591	25.6887	7504
+-82.6756	29.0299	8337
+-83.5035	27.6485	8337
+-86.3087	27.8209	5168
+-117.0768	46.5224	7907
+-94.2539	41.2576	4454
+-120.6989	32.545	5579
+-119.5056	42.9294	5662
+-90.2911	38.1366	8756
+-115.2483	45.9834	6044
+-91.1247	39.8679	7979
+-118.2834	43.4339	6437
+-80.9796	28.8156	8128
+-80.1588	26.655	7329
+-121.9115	47.7254	8237
+-109.9012	30.4059	8115
+-119.5854	44.2836	6894
+-116.6672	36.0566	7340
+-87.0267	35.0787	6315
+-81.0464	25.4294	6976
+-124.1049	46.1806	8026
+-86.5207	40.708	5571
+-119.8645	48.0275	6620
+-81.3231	31.6215	5436
+-116.4169	28.9767	5426
+-117.8271	33.017	8767
+-121.2981	45.1217	6922
+-116.7143	34.2313	8926
+-91.439	39.2853	8149
+-88.6552	38.8582	8471
+-83.5803	35.9423	3680
+-84.4343	24.7136	5567
+-126.1059	46.8489	6082
+-118.3001	31.6463	7774
+-118.3461	30.0706	6325
+-116.5323	34.4247	8676
+-112.426	36.3331	3850
+-111.106	34.5925	6107
+-89.091	34.4914	6233
+-88.4762	36.6039	8579
+-122.8991	49.0421	7326
+-127.2217	45.1062	4437
+-89.3644	36.3126	8154
+-89.8468	39.7654	8187
+-113.246	30.0329	5899
+-110.7659	30.3254	8032
+-81.8471	25.7475	7585
+-120.1421	30.5039	5371
+-90.9952	38.443	8686
+-116.1881	47.3313	6687
+-87.7604	40.5548	6381
+-117.1982	42.8614	5643
+-119.123	31.7697	7079
+-113.4175	35.6306	5033
+-114.5642	46.9443	5221
+-86.9298	35.2798	6435
+-118.3064	44.8424	7928
+-82.522	25.1872	6941
+-124.1682	47.8064	7935
+-113.5592	32.2485	5905
+-81.6731	24.8414	6542
+-93.2133	41.0133	5519
+-119.4379	42.0215	4771
+-116.8768	33.7139	8913
+-93.1846	41.3593	5298
+-111.1608	30.0121	7550
+-86.2077	28.9992	5077
+-81.9726	25.8116	7673
+-90.4556	40.1593	7903
+-88.6386	34.3261	6063
+-89.1744	37.7221	9353
+-90.8908	37.3107	7779
+-83.1985	32.1412	4799
+-90.1679	37.6994	8268
+-117.9473	44.6982	7734
+-79.6483	28.1746	7043
+-116.9709	46.8953	7635
+-91.701	38.0969	7839
+-117.9984	33.5708	8531
+-77.2887	24.0317	2972
+-122.0093	47.8503	8228
+-113.9109	31.9884	6222
+-88.2945	35.6332	7473
+-87.5925	36.2336	7736
+-93.2569	38.2127	6273
+-87.0458	38.7067	7558
+-118.1585	45.4409	8550
+-89.3738	41.251	6517
+-123.2257	47.1013	9219
+-118.7992	46.9778	8182
+-110.8252	36.3128	4322
+-90.8673	39.6489	8324
+-123.5831	46.6437	8776
+-118.7191	34.3253	7940
+-117.1046	28.8464	5322
+-107.1772	35.897	3682
+-118.1538	34.3032	8552
+-83.8952	31.9769	4729
+-108.9023	34.3028	6144
+-109.6967	34.0992	6662
+-89.5186	41.2225	6601
+-92.5289	35.9716	5641
+-83.4678	28.7041	8047
+-78.5374	30.385	4860
+-115.9103	33.1923	8502
+-117.652	36.1728	7274
+-84.1236	24.171	5243
+-112.5711	32.5196	6845
+-109.1572	28.244	5638
+-80.3141	31.6158	5076
+-92.5739	39.3307	6982
+-92.086	40.7569	6588
+-118.8735	45.9293	8610
+-89.3283	38.1365	8993
+-110.6166	35.5567	5158
+-115.9057	31.0862	7489
+-86.662	27.2922	4741
+-92.2862	37.442	6936
+-119.1909	33.5029	7329
+-117.8843	34.1792	8862
+-89.6249	35.925	7636
+-119.7301	46.654	7620
+-89.9587	39.3089	8668
+-119.9303	32.5186	6431
+-117.047	37.0378	6361
+-86.0827	37.9841	6781
+-90.4866	42.6202	5251
+-92.3357	36.2521	6007
+-123.1523	47.8542	8592
+-81.573	26.8129	8641
+-118.7377	30.1321	6166
+-78.9514	31.9733	3925
+-115.8355	33.5503	8249
+-86.7973	37.6017	7603
+-121.3798	42.8762	4812
+-112.5253	28.3851	5273
+-122.5978	43.6664	5965
+-91.2005	38.8636	8535
+-118.7567	37.533	5489
+-115.8064	41.975	4165
+-117.0187	34.6485	8914
+-83.7873	24.8729	6122
+-124.6698	45.7628	7255
+-115.6135	34.1466	7735
+-84.4549	25.874	6504
+-119.7197	35.1183	6654
+-80.6101	24.9229	6243
+-116.8089	44.6962	7104
+-118.7186	30.8613	6824
+-86.2493	38.8661	6685
+-120.8444	41.8143	3973
+-114.0967	31.5646	6260
+-111.1589	28.5378	6055
+-91.6797	38.4884	7999
+-107.9536	32.9896	6479
+-109.4839	29.5676	7104
+-82.8967	26.3637	8086
+-91.7853	34.3384	4772
+-86.7432	33.85	4967
+-111.1213	31.1092	8477
+-83.5474	28.0368	8264
+-78.8275	26.3634	5829
+-91.0197	37.4662	7880
+-114.0083	34.4631	5966
+-86.7597	36.0719	6938
+-90.7076	40.176	7848
+-118.5818	36.8826	6213
+-118.4586	32.1122	7913
+-88.8093	33.9766	5673
+-122.3555	47.3227	8891
+-89.4468	37.8968	9009
+-77.5697	26.4751	4527
+-109.8195	32.4436	8388
+-114.2732	43.4514	4171
+-86.664	39.2188	6881
+-120.6984	32.2851	5548
+-122.4849	47.6961	8684
+-116.8553	31.4027	8171
+-117.4693	34.1878	9309
+-116.0978	30.624	7122
+-116.8125	36.5701	6834
+-112.4754	32.9121	6742
+-112.5987	32.3562	6880
+-93.4736	33.875	3203
+-117.3251	34.0053	9384
+-110.6781	29.9049	7617
+-115.3329	33.2617	7864
+-84.4705	28.6676	7059
+-88.5612	40.3674	6798
+-91.4721	41.2427	6492
+-108.6234	31.5383	7620
+-126.4516	46.2582	5627
+-118.2345	34.6806	8325
+-117.6625	34.1626	9105
+-118.3127	34.0342	8392
+-125.7293	48.3112	6165
+-81.8179	27.2976	9253
+-120.9948	41.8127	3888
+-90.3745	35.8274	7073
+-79.0768	26.5308	6162
+-122.392	45.1673	7552
+-112.0018	35.1745	5183
+-84.6382	28.5297	6930
+-109.4059	32.0677	8340
+-85.7959	40.0309	5553
+-125.4294	44.763	5921
+-115.3727	32.1102	7808
+-117.5978	46.0448	8532
+-111.0013	32.0809	8571
+-111.8526	30.5766	7499
+-118.6786	34.6522	7897
+-90.2638	40.1168	7946
+-92.6159	37.8798	6842
+-118.1523	47.1784	8110
+-81.1239	28.1811	8658
+-117.1888	46.1782	8098
+-116.6104	32.293	9046
+-114.0212	47.764	4415
+-118.5296	33.7261	8090
+-123.6247	48.4002	7841
+-83.7096	28.3809	7978
+-115.4058	31.5722	7526
+-85.4299	37.2194	6036
+-89.3159	37.4884	9167
+-112.0774	31.7666	7573
+-78.4274	29.4627	5281
+-120.7463	35.6362	5403
+-82.3389	27.8525	9640
+-83.5412	25.1971	6578
+-82.5037	25.8382	7671
+-123.5386	45.3697	7717
+-88.882	38.1463	9261
+-116.7968	32.4779	9330
+-125.3401	45.5805	6523
+-114.211	48.098	4456
+-118.5872	31.3963	7349
+-117.4449	43.8338	6701
+-123.05	46.7764	9340
+-118.5891	46.4201	8792
+-93.1268	35.8369	5111
+-109.3239	31.7725	8361
+-124.3704	45.8739	7594
+-120.9698	32.5733	5279
+-109.5408	33.1051	7615
+-82.1512	26.0221	7919
+-121.7054	45.7325	7719
+-87.4426	38.199	8213
+-116.462	34.4786	8583
+-109.5025	29.2891	6830
+-124.8269	46.7105	7471
+-78.9237	27.9481	6255
+-90.1524	41.0098	6976
+-119.4871	33.1834	6903
+-109.7879	33.2185	7606
+-107.2939	33.0369	5823
+-88.9268	37.8978	9499
+-124.603	47.1563	7724
+-84.9895	28.6483	6511
+-89.7829	37.3494	8620
+-122.0845	46.2159	8388
+-81.0526	29.8693	7218
+-116.0147	34.4858	8119
+-80.7649	29.3119	7557
+-110.8743	31.902	8793
+-117.5117	33.7613	9052
+-119.9393	46.3335	7489
+-89.6202	38.5691	8579
+-77.2202	25.6767	3852
+-112.2398	31.8853	7382
+-89.1903	42.1916	5498
+-113.843	46.6131	4527
+-92.9282	39.5414	6552
+-117.1689	32.5045	9338
+-88.107	33.7616	5370
+-118.7362	46.0134	8772
+-121.1025	47.1216	7624
+-84.9095	26.8831	6596
+-90.9396	39.3711	8526
+-85.9998	35.542	5900
+-127.6401	47.1291	4395
+-83.047	30.7202	6395
+-110.9418	30.7109	8321
+-116.0394	31.8546	8263
+-119.2008	44.8138	7587
+-118.6113	35.0105	7787
+-120.6067	35.8943	5419
+-91.3892	39.9653	7724
+-121.026	47.8033	7351
+-90.6427	36.2095	7149
+-88.1841	40.4953	6398
+-114.8379	33.4725	7268
+-118.6077	35.2943	7603
+-111.8865	29.2446	6432
+-88.469	36.6879	8667
+-118.4321	45.851	8953
+-120.9111	32.2855	5313
+-77.4455	30.6406	3671
+-119.2027	46.1767	8283
+-119.9827	49.0228	5680
+-119.1777	46.1361	8313
+-120.7867	44.7609	6254
+-116.1058	34.5256	8201
+-114.3805	33.5469	6756
+-123.9831	46.6827	8376
+-118.467	44.2724	7315
+-122.7658	46.9096	9446
+-114.5814	31.0166	6420
+-88.0594	38.6206	8482
+-118.3645	31.5551	7653
+-117.4638	33.8905	9197
+-117.4173	46.6051	8199
+-112.9591	30.4952	6394
+-120.4299	44.0326	6104
+-116.4687	46.1465	7338
+-120.0379	33.8058	6494
+-110.6476	32.3951	8530
+-109.3484	28.0023	5450
+-84.5036	39.1238	4758
+-122.3248	46.1345	8495
+-116.9872	46.6191	7782
+-121.682	46.5761	8201
+-120.0803	30.7636	5593
+-87.6911	36.9439	8361
+-88.2511	37.829	9208
+-116.5125	32.8492	9245
+-119.122	44.0731	6937
+-120.5852	45.8359	6807
+-88.8333	34.1431	5860
+-117.9594	35.7108	7658
+-85.8162	38.1147	6465
+-90.3056	38.6592	9296
+-81.5834	29.427	7914
+-107.7181	33.1956	6145
+-110.5861	30.7814	8563
+-116.6896	42.0326	4634
+-93.6715	37.9729	5783
+-116.539	43.1749	5654
+-90.7804	36.2358	7042
+-86.4151	36.3858	6810
+-109.9592	33.5679	7285
+-107.6337	28.5373	5064
+-116.7837	45.3122	7467
+-113.3122	33.9141	5376
+-116.8533	33.3428	9152
+-118.2912	46.8386	8478
+-91.7529	36.5598	6640
+-115.81	32.8502	8462
+-81.1413	24.0566	5548
+-125.0347	46.2541	7134
+-108.7081	31.7943	7698
+-117.3605	37.1326	6265
+-85.9533	42.1248	3897
+-121.9349	45.6627	7824
+-115.9673	33.3088	8510
+-117.2719	30.7499	7423
+-122.1143	49.5125	6679
+-112.1912	34.4668	5757
+-110.8977	29.5725	7211
+-89.7972	37.8429	8641
+-87.5094	39.3146	7488
+-79.4304	28.6588	6672
+-79.4566	28.2093	6823
+-117.5445	48.3433	6759
+-121.0772	46.5813	7559
+-110.9397	31.4567	8802
+-89.7219	41.6047	6266
+-119.8255	34.7004	6679
+-89.272	35.5357	7357
+-118.6321	32.9445	7890
+-119.262	32.9618	7187
+-123.0768	49.3728	6955
+-80.845	26.8182	8083
+-118.909	35.0532	7484
+-115.6717	42.6843	4707
+-84.9213	28.0569	6721
+-92.5861	39.8578	6767
+-114.6832	29.4507	5216
+-90.6701	40.6253	7380
+-117.0634	30.5332	7204
+-80.7502	28.3536	8193
+-115.0736	35.4825	6729
+-81.2558	28.3548	8697
+-121.8955	42.9824	5092
+-107.4729	33.7134	5610
+-116.4196	40.3709	2880
+-82.8735	29.1915	8076
+-82.3477	28.978	8501
+-113.14	34.4298	5142
+-118.9388	47.5276	7597
+-120.072	45.4798	7256
+-82.7458	27.3619	9062
+-113.52	44.9626	4074
+-83.7894	28.2629	7936
+-120.4051	48.2171	6540
+-116.8663	49.3897	5467
+-107.5244	29.9524	5954
+-121.979	47.9987	8086
+-81.3282	27.9329	8962
+-108.9428	33.1762	7183
+-117.8624	34.774	8583
+-108.0202	27.1363	4043
+-110.5987	30.2818	8034
+-93.1128	37.9446	6357
+-124.4997	48.8846	6862
+-107.6092	34.4148	5217
+-118.7301	31.1438	7042
+-88.9125	43.1529	4421
+-115.7061	32.3522	8254
+-116.8004	31.6929	8486
+-111.4169	31.5705	8299
+-88.2232	38.2777	8897
+-90.0045	35.8455	7344
+-112.5154	28.9308	5752
+-115.1345	31.1877	7018
+-89.8974	40.6191	7343
+-115.3733	30.6244	6730
+-108.4638	34.1661	6019
+-122.009	46.3199	8397
+-123.884	47.9358	8089
+-119.7576	34.3525	6810
+-117.6853	44.9788	7915
+-112.5806	36.3175	3898
+-119.1683	44.1524	6995
+-118.4838	36.3862	6745
+-119.3769	44.7347	7408
+-91.8476	39.8763	7433
+-117.6363	44.3975	7332
+-122.782	49.669	6634
+-123.7349	46.9716	8689
+-91.1585	38.7835	8588
+-118.6688	48.2447	6953
+-88.7543	38.2839	9121
+-88.247	38.0077	9117
+-90.7929	38.5786	8946
+-121.0173	36.3596	4780
+-92.4319	40.3442	6627
+-91.5675	39.0774	8100
+-93.6298	39.0782	5907
+-109.2123	32.9618	7549
+-91.4001	37.296	7512
+-88.3264	38.456	8800
+-88.5045	34.4499	6193
+-85.9251	30.446	4640
+-120.9051	48.9931	6482
+-119.0331	47.3504	7716
+-117.3374	44.3212	7127
+-111.9344	30.0645	7082
+-91.9504	35.8038	5828
+-117.1601	35.4492	8098
+-93.7726	41.1129	4971
+-109.659	31.7496	8721
+-120.4132	48.3385	6486
+-114.122	33.3546	6524
+-119.2451	46.2031	8236
+-86.6556	39.599	6602
+-118.5898	42.6909	5635
+-82.3481	28.1607	9385
+-90.1288	39.3306	8741
+-89.1271	42.9479	4702
+-109.2554	33.1317	7429
+-113.681	32.7242	6087
+-108.3771	33.1103	6785
+-114.1991	31.0935	6116
+-117.1313	31.3453	8101
+-118.521	49.6388	5504
+-118.895	42.9954	5909
+-80.212	25.689	6691
+-90.2945	37.4643	8035
+-88.775	42.9426	4584
+-117.5204	34.5379	9017
+-120.0041	44.8114	6984
+-84.2704	25.0474	5980
+-90.8429	36.7113	7172
+-90.1945	37.743	8320
+-107.0936	30.8753	5881
+-113.9746	34.35	5939
+-107.6575	30.4667	6332
+-112.2139	32.0837	7365
+-115.8591	31.7663	8050
+-90.6509	37.0919	7614
+-119.8687	46.8401	7407
+-91.0692	39.1176	8586
+-84.864	36.1356	5110
+-123.0028	49.8971	6385
+-120.2349	46.8742	7037
+-116.0005	35.1812	7745
+-90.9212	38.5668	8812
+-122.7985	48.4127	8014
+-92.3219	39.538	7169
+-88.3269	35.1825	6984
+-111.5069	28.7063	6107
+-115.8249	31.0835	7438
+-111.1455	30.4238	7940
+-116.0476	36.9462	6194
+-116.4981	31.3494	8035
+-120.3186	48.362	6382
+-118.4959	42.7234	5677
+-116.2013	33.0643	8856
+-93.4593	38.3539	6082
+-110.5149	31.9059	9072
+-109.4034	31.7773	8444
+-115.8879	34.2469	8029
+-111.1345	32.3727	8255
+-86.2894	37.1015	6963
+-82.0614	28.3378	9241
+-125.3035	48.2151	6631
+-119.6225	46.9503	7580
+-118.4721	34.2226	8219
+-118.4201	37.0469	6120
+-89.124	35.7433	7620
+-120.2683	32.2425	6015
+-91.2092	39.3807	8304
+-86.5029	35.4006	6220
+-125.2401	46.5481	6994
+-88.7097	37.3795	9487
+-82.459	26.4244	8330
+-121.0776	47.3257	7566
+-94.5997	36.9426	4480
+-117.9059	33.446	8514
+-115.4188	32.2182	7902
+-117.4451	46.777	8119
+-79.9655	28.6168	7258
+-112.2166	27.3704	4474
+-123.6715	48.4435	7776
+-120.1002	46.5289	7283
+-112.301	31.9713	7301
+-86.8275	38.075	7590
+-88.8387	36.7502	8784
+-118.5933	33.9286	8074
+-117.9658	45.9345	8881
+-89.4626	36.7489	8523
+-80.6534	26.7193	7841
+-122.1106	43.5112	5712
+-84.4973	29.5393	6550
+-88.9886	39.8329	7521
+-124.8467	48.5126	6875
+-89.074	34.6563	6419
+-125.2404	46.3063	6935
+-110.6695	31.0537	8794
+-89.4931	40.6011	7210
+-87.9948	36.414	8164
+-87.292	41.9078	4661
+-111.0443	30.8115	8337
+-120.449	31.7481	5690
+-88.7316	36.2559	8232
+-109.9826	32.484	8426
+-88.639	36.4619	8456
+-88.2685	40.5305	6445
+-79.7468	26.7273	6947
+-83.4181	27.3553	8366
+-109.8399	29.2729	6914
+-88.2553	28.8819	2852
+-116.3384	34.8764	8241
+-105.0096	31.9352	3693
+-83.1702	28.2666	8590
+-121.1846	46.1233	7506
+-117.9762	35.8617	7500
+-110.9604	33.4139	7377
+-92.4448	36.0259	5742
+-117.2911	46.5975	8085
+-89.2365	41.7857	5927
+-85.5583	35.5236	5485
+-110.8643	29.9639	7627
+-114.4583	34.4269	6458
+-91.6657	37.5005	7495
+-80.1971	25.6219	6623
+-118.382	37.7024	5459
+-87.9044	36.7795	8427
+-121.8129	29.7746	3371
+-111.3159	30.6951	8038
+-111.974	32.5954	7385
+-116.2678	32.9253	8964
+-111.9435	35.9213	4460
+-87.9388	37.3726	8829
+-110.9955	31.8776	8688
+-85.7796	40.3674	5294
+-88.0901	36.964	8721
+-119.7657	49.2719	5553
+-116.3463	47.4305	6772
+-111.5183	29.5228	6898
+-120.5875	43.3316	5446
+-83.2613	26.5542	8019
+-117.3883	47.2164	7745
+-117.0856	36.355	7106
+-111.6538	32.1462	7918
+-110.515	31.3659	9167
+-87.158	39.8322	6786
+-117.7526	45.0382	8003
+-115.217	31.317	7183
+-117.9331	48.4925	6700
+-90.5967	41.0232	6963
+-86.7039	39.9775	6338
+-86.7523	37.5775	7552
+-118.3795	46.3191	9007
+-80.8472	26.316	7699
+-122.0173	43.7388	5930
+-91.6897	37.3301	7345
+-113.0086	33.7713	5729
+-83.3192	28.566	8274
+-105.7987	32.7597	4398
+-124.4151	48.021	7578
+-119.9021	47.1079	7241
+-89.9558	38.0279	8520
+-116.3266	32.7962	9039
+-87.5101	39.3949	7416
+-114.6045	32.4437	7085
+-89.3652	38.7197	8326
+-110.377	33.9547	6904
+-119.9173	47.6369	6885
+-87.4091	34.8334	6289
+-82.661	28.6001	8776
+-113.3677	30.4269	5955
+-78.9099	24.5006	4701
+-90.7547	44.5137	3199
+-89.5327	41.2976	6529
+-85.5954	36.1532	5871
+-117.3115	32.1708	8936
+-109.3565	33.2128	7415
+-107.8885	33.5452	6077
+-118.4192	31.7575	7748
+-80.2158	29.5749	6910
+-107.8753	30.6761	6635
+-106.56	32.2319	5325
+-108.4118	31.9454	7355
+-114.5345	36.344	5704
+-82.9392	28.7814	8426
+-118.5065	28.6257	4773
+-89.0671	38.7262	8578
+-118.9411	29.9145	5838
+-119.0055	35.5396	7098
+-94.1936	39.0879	5301
+-110.0434	29.3795	7065
+-91.7628	39.3538	7801
+-116.7119	30.8161	7503
+-116.9725	44.012	6649
+-116.2402	44.9179	6761
+-87.6038	37.7357	8508
+-122.8728	47.1797	9370
+-115.226	44.089	5385
+-115.9364	36.0707	6974
+-111.8372	30.7627	7617
+-114.8148	30.246	6014
+-109.4802	30.8216	8234
+-91.4036	37.0561	7293
+-82.3209	27.5326	9553
+-111.2336	28.343	5830
+-108.4645	33.8611	6281
+-118.3691	34.0749	8334
+-85.7068	37.872	6373
+-114.5976	31.9588	6943
+-114.0474	31.9475	6355
+-121.0764	47.8961	7357
+-124.3634	48.9262	6919
+-92.4706	37.1877	6614
+-91.2476	35.9063	6221
+-91.3415	39.5856	8054
+-118.6919	43.8232	6811
+-116.9752	33.2065	9318
+-120.0185	47.8961	6616
+-114.0048	33.0127	6442
+-114.0108	28.5904	4336
+-87.695	37.3304	8555
+-88.3087	38.9789	8254
+-90.7648	41.2696	6678
+-82.0127	28.2831	9292
+-117.2326	42.6607	5452
+-88.6876	40.4163	6862
+-114.0829	29.2641	4697
+-111.2079	30.1686	7671
+-82.9386	30.1978	6995
+-123.4677	48.5767	7731
+-111.4901	31.7734	8203
+-123.27	46.2332	8704
+-113.7173	46.3397	4418
+-117.2244	30.372	7011
+-89.9074	39.865	8118
+-119.3257	34.3279	7282
+-117.9377	32.8281	8670
+-119.3373	48.6655	6323
+-90.7995	41.9854	5908
+-119.1146	48.4691	6602
+-88.4728	38.4915	8832
+-112.4004	30.2517	6809
+-120.5239	45.8486	6873
+-119.9193	45.8854	7513
+-93.7355	37.2794	5479
+-110.141	34.1066	6732
+-92.4524	41.291	5892
+-110.7103	34.6244	6153
+-89.5403	38.587	8499
+-117.42	31.8771	8589
+-120.3973	45.1375	6800
+-85.4872	35.3143	5285
+-117.8974	33.2134	8624
+-123.295	46.9015	9166
+-117.0072	33.323	9186
+-86.572	39.1201	6860
+-88.0064	35.7307	7481
+-122.0543	31.6874	3940
+-85.5328	40.6718	4859
+-82.675	28.3547	8988
+-89.4693	40.6492	7153
+-117.9773	31.2101	7636
+-121.0465	46.9738	7570
+-81.1111	25.7295	7314
+-117.7525	36.6599	6731
+-115.7947	34.7349	7803
+-121.7631	45.945	7927
+-115.2886	35.2193	7076
+-116.4296	34.3637	8591
+-124.8228	46.3614	7392
+-82.0967	27.8027	9834
+-120.3906	33.9999	6127
+-85.2735	30.8254	4933
+-88.0418	38.2289	8785
+-118.0521	48.9578	6224
+-118.2272	33.2449	8111
+-116.2571	41.3268	3769
+-119.9438	46.5248	7445
+-89.3864	34.2183	5883
+-124.2274	46.8872	8145
+-94.9422	35.6079	3457
+-84.399	28.5983	7162
+-122.7162	46.8599	9373
+-81.2397	24.7482	6331
+-116.3426	31.6491	8276
+-119.5144	33.2792	6915
+-116.566	35.7243	7642
+-106.5247	31.0922	5313
+-115.6172	28.7894	5015
+-115.0317	35.9904	6368
+-107.9536	26.6582	3547
+-90.6468	40.4021	7621
+-81.1637	28.6427	8414
+-121.1223	31.8236	4987
+-90.1874	36.6011	7822
+-118.2292	31.3458	7591
+-118.4963	44.7386	7801
+-125.8708	48.339	6011
+-115.9374	36.5385	6540
+-81.6329	25.9186	7726
+-88.2114	42.5098	4744
+-106.5422	31.251	5350
+-109.7747	29.6054	7247
+-82.5289	27.5445	9379
+-117.7747	34.2843	8960
+-125.29	44.7346	6014
+-89.9108	41.6073	6303
+-90.8403	39.9584	8032
+-112.347	32.2474	7176
+-117.8945	46.9809	8241
+-92.975	42.1632	4805
+-125.1516	48.3035	6729
+-117.478	32.1245	8793
+-89.8521	35.0457	6631
+-88.8313	34.0646	5772
+-109.6208	31.8572	8647
+-120.843	48.0684	7043
+-109.2891	32.8169	7722
+-91.9371	37.9917	7561
+-82.8129	25.4685	7181
+-91.9503	37.8649	7485
+-123.0373	49.6074	6701
+-81.6378	27.1102	8962
+-83.5489	28.8756	7858
+-84.5665	30.4364	5806
+-84.4345	38.6923	4818
+-116.3221	35.7051	7538
+-119.565	43.7211	6399
+-115.1051	33.359	7590
+-116.5753	33.0021	9270
+-79.1863	27.2257	6503
+-118.6102	34.7628	7919
+-79.9003	27.1161	7261
+-117.6778	48.127	7020
+-111.7819	36.1991	4232
+-89.8373	36.7369	8224
+-110.258	30.5902	8394
+-120.9571	46.4921	7409
+-122.7585	48.8292	7554
+-87.2033	40.7187	5965
+-118.4339	37.1361	6024
+-90.7134	38.4628	8953
+-114.732	29.8495	5610
+-91.6545	37.4419	7458
+-122.8281	47.2536	9281
+-116.1505	46.6555	6926
+-124.3281	49.192	6701
+-116.6862	44.2502	6672
+-117.4798	31.297	7964
+-91.847	39.317	7732
+-117.6152	48.7027	6415
+-117.9211	33.9285	8790
+-116.7309	35.5511	7885
+-78.957	31.0768	4702
+-113.8753	32.8588	6304
+-90.4051	36.1317	7295
+-81.2489	32.6549	4272
+-118.2445	44.3588	7416
+-108.1326	32.2545	6981
+-109.1124	33.465	7043
+-87.541	38.6654	8040
+-112.8231	30.9191	6682
+-120.9607	46.8027	7468
+-116.3068	31.7147	8320
+-119.8588	48.2475	6440
+-118.9764	31.4426	7037
+-119.0905	36.9674	5861
+-125.2563	45.637	6634
+-80.1453	29.2654	7076
+-118.8071	35.2647	7453
+-82.5573	27.5404	9349
+-112.6843	34.5593	5364
+-89.0201	37.1414	9161
+-107.7925	34.061	5629
+-84.3916	24.1152	5035
+-114.2744	33.2514	6711
+-111.8266	31.2813	7823
+-88.9732	36.0101	7942
+-119.7086	34.4459	6852
+-121.7601	43.3878	5480
+-91.0507	41.0878	6804
+-82.9116	24.3735	5954
+-120.82	45.789	6980
+-117.2287	46.0607	8143
+-113.0291	34.0546	5511
+-109.5539	31.5245	8627
+-83.9284	24.2741	5450
+-83.9056	28.7376	7606
+-88.7768	35.4336	7309
+-116.2336	31.3468	7921
+-120.0042	48.0656	6494
+-116.2387	32.9257	8932
+-81.6451	26.8701	8738
+-91.4463	36.6446	6882
+-86.3249	37.7149	7074
+-116.2122	48.03	6262
+-80.7463	28.4238	8156
+-91.9861	37.3874	7157
+-122.0767	47.3917	8588
+-115.7315	32.6589	8364
+-91.9704	34.5801	4822
+-79.1848	26.5159	6269
+-86.6055	38.5845	7179
+-87.5241	36.5138	7913
+-123.9736	44.292	6440
+-117.4166	32.9286	9236
+-88.4927	38.3517	8986
+-88.6508	37.8342	9586
+-117.366	32.0978	8836
+-110.3368	28.8545	6517
+-109.0702	30.9435	7940
+-82.1683	29.1761	8297
+-87.2982	36.1016	7407
+-112.0207	30.9086	7505
+-121.9628	42.711	4819
+-114.3882	46.3609	5126
+-88.7941	38.6248	8738
+-116.8613	45.694	7694
+-91.3202	38.1533	8227
+-89.6758	37.2407	8688
+-116.5854	28.2531	4645
+-123.1132	48.0743	8367
+-90.6486	38.0387	8606
+-119.2413	48.6352	6390
+-81.0176	24.2426	5711
+-113.4898	31.4823	6052
+-114.9322	28.8718	4802
+-87.2172	39.3799	7222
+-124.9367	46.4886	7308
+-123.5712	47.1145	8851
+-119.3661	42.4856	5265
+-92.8541	39.1256	6731
+-90.0611	38.5302	9004
+-115.5447	34.5138	7614
+-81.523	31.9591	5099
+-81.6216	28.6685	8719
+-122.288	46.6746	8861
+-126.3117	47.9117	5717
+-111.2739	31.4731	8448
+-118.7491	32.2042	7651
+-117.9468	30.5798	7029
+-82.5914	26.251	8101
+-87.7061	33.3242	4798
+-80.4291	27.1522	7843
+-93.6712	40.47	5425
+-114.2187	37.408	4658
+-90.8698	40.8795	7070
+-80.0138	27.7722	7494
+-116.3258	31.6838	8301
+-116.3124	32.188	8741
+-118.1901	34.5734	8422
+-83.1851	28.6185	8361
+-81.5189	27.7504	9197
+-118.9045	34.8936	7568
+-116.9482	29.9502	6556
+-122.9805	49.0265	7341
+-85.884	25.7357	5067
+-117.1833	36.3528	7115
+-123.3803	43.8757	6170
+-115.6581	32.268	8170
+-124.0782	49.2177	6815
+-118.7646	43.9542	6931
+-116.9288	45.80	7791
+-83.9817	24.8407	5977
+-115.7167	35.6127	7201
+-82.7932	28.7859	8519
+-111.9118	31.3062	7737
+-108.4088	32.3863	7214
+-111.078	30.8856	8368
+-93.6356	32.9577	2264
+-115.9983	34.6732	8034
+-90.4189	40.393	7653
+-116.5848	49.1189	5592
+-116.3263	29.7084	6213
+-120.2919	47.9864	6342
+-87.8268	36.7215	8319
+-88.5894	41.203	6149
+-116.4576	31.1144	7771
+-125.9076	48.7182	5782
+-122.6478	45.5114	7984
+-119.3569	42.8205	5606
+-87.1153	36.0684	7236
+-119.1143	31.4015	6884
+-79.5298	29.8978	6086
+-80.6299	27.5513	8174
+-117.8109	34.9532	8464
+-88.2109	34.4913	6197
+-80.4316	24.098	5317
+-109.9493	31.3733	8999
+-123.6326	47.1267	8782
+-92.8838	39.7427	6525
+-118.445	33.7532	8187
+-115.7245	35.8711	7003
+-89.7224	40.3993	7509
+-83.1581	26.2431	7815
+-91.6446	36.1055	6266
+-116.6841	32.4969	9277
+-118.8881	33.9983	7763
+-82.1581	27.0345	9064
+-91.5978	38.7696	8115
+-123.2965	47.0705	9156
+-84.9122	32.2552	3920
+-115.0541	35.0139	6940
+-117.625	31.3243	7933
+-87.9806	36.6964	8414
+-81.9831	28.5962	8939
+-113.3388	32.5343	6058
+-116.7026	36.7653	6602
+-116.8257	38.1052	5179
+-80.2051	28.618	7508
+-118.6607	32.8925	7861
+-90.2805	40.7195	7299
+-115.9367	34.7373	7945
+-108.2562	30.0746	6692
+-90.8725	39.0862	8785
+-91.7878	39.8166	7524
+-82.6269	26.1483	7978
+-108.6511	31.6237	7650
+-116.288	32.7894	8995
+-92.1799	35.9622	5850
+-119.6323	31.3325	6350
+-81.317	27.9176	8953
+-120.0668	46.3828	7348
+-123.8219	45.8388	8006
+-82.4721	26.2647	8151
+-117.3976	45.6809	8223
+-88.9737	38.7991	8522
+-110.5512	30.47	8244
+-84.6139	30.6313	5605
+-124.26	46.8796	8109
+-122.2593	47.8957	8366
+-89.5261	37.0282	8702
+-110.8699	29.8979	7557
+-114.289	45.4218	4970
+-115.7471	30.6086	6939
+-87.4647	36.1441	7567
+-126.8662	43.6348	3915
+-76.0318	28.9797	2854
+-122.2206	48.5347	7729
+-120.399	35.1176	5956
+-87.6376	37.4087	8515
+-118.7204	32.0871	7634
+-123.2091	44.2134	6562
+-79.3683	28.0016	6753
+-82.5445	28.7825	8653
+-115.819	33.0097	8455
+-117.452	35.9452	7551
+-91.2202	36.393	6728
+-87.8482	39.0445	7956
+-88.8003	36.4781	8481
+-124.1202	45.8481	7788
+-120.0558	49.835	5168
+-89.6709	39.5617	8260
+-116.0149	36.0481	7042
+-118.6441	36.8982	6168
+-108.8152	35.5919	4829
+-119.5917	33.6266	6942
+-118.286	32.0888	8072
+-80.8405	27.5752	8414
+-118.9854	33.0471	7486
+-123.0424	46.4683	9037
+-110.2007	32.5368	8431
+-87.9932	38.2108	8753
+-120.3079	47.7392	6502
+-118.4284	43.9738	7004
+-87.7017	37.8012	8610
+-115.0367	43.1759	4633
+-123.6537	46.9699	8778
+-115.6479	35.0956	7484
+-83.0815	28.823	8286
+-117.5001	30.8262	7454
+-114.3983	31.9998	6747
+-92.0092	36.4444	6383
+-117.761	45.4343	8364
+-123.0078	39.8955	1837
+-92.0868	40.5155	6780
+-88.2334	37.8912	9165
+-121.373	48.0406	7555
+-89.3773	34.8353	6565
+-82.8057	28.2573	8951
+-116.3699	37.5304	5705
+-91.5437	41.5332	6174
+-90.9685	40.149	7790
+-116.2581	29.86	6362
+-115.9624	34.3668	8093
+-117.2066	32.7276	9467
+-116.8541	49.3123	5537
+-122.5358	48.1125	8285
+-81.7374	30.4209	6856
+-120.7395	45.1791	6482
+-116.3273	46.9736	6992
+-81.6854	27.3198	9177
+-122.8371	47.1264	9418
+-117.9198	47.9035	7312
+-116.2426	34.7416	8239
+-115.6224	31.7775	7858
+-118.9519	47.6561	7467
+-109.6585	33.8042	6959
+-120.4367	46.1957	6978
+-90.4707	42.0318	5886
+-119.1325	45.2198	7965
+-91.0366	36.1225	6506
+-121.8649	49.2132	6889
+-121.8234	47.0848	8416
+-109.3819	35.526	5079
+-108.1498	29.4918	6198
+-115.2213	44.1445	5413
+-81.2977	30.0232	7170
+-84.9632	29.3764	6209
+-115.1765	47.4836	5659
+-110.3043	28.6627	6309
+-111.71	31.6572	7980
+-120.1755	48.6566	5892
+-85.7755	36.9853	6372
+-121.047	30.1206	4298
+-106.9661	34.3273	4767
+-90.6901	41.7687	6154
+-112.1764	29.6869	6608
+-117.3037	34.1101	9490
+-117.0411	35.1777	8372
+-118.0421	48.0418	7188
+-122.1831	47.263	8754
+-87.9584	43.4644	3710
+-114.9975	32.3264	7489
+-90.149	39.5074	8570
+-122.0013	48.4369	7713
+-116.2291	30.1893	6709
+-123.988	45.7027	7774
+-111.7748	28.7852	6063
+-79.6851	27.0089	6993
+-116.0878	32.2468	8585
+-117.2953	31.5586	8303
+-118.0725	41.6779	4572
+-122.2449	48.3202	7954
+-117.2883	34.8045	8805
+-122.9307	43.2147	5484
+-124.1501	47.4368	8139
+-120.7301	48.0826	6925
+-114.9863	44.5136	5386
+-119.8534	35.587	6301
+-80.4738	27.9914	7998
+-88.0125	40.6635	6141
+-114.8987	31.5426	7044
+-81.2634	27.7323	8907
+-81.7556	30.3281	6963
+-91.1722	35.3564	6072
+-89.0807	27.2629	2012
+-115.165	34.2026	7244
+-114.7982	34.6268	6792
+-113.2778	32.2013	6214
+-93.4083	37.2616	5791
+-109.9267	33.2905	7572
+-115.9698	32.737	8637
+-118.9572	48.2827	6841
+-88.8252	39.8089	7394
+-82.922	28.3842	8759
+-88.1802	37.7924	9142
+-125.1657	47.4686	7057
+-123.9336	47.8669	8100
+-88.5677	37.7778	9559
+-79.985	28.5455	7307
+-114.1662	32.7946	6629
+-110.8335	33.4931	7335
+-89.868	39.0299	8792
+-83.3986	25.5155	6971
+-124.6445	44.1977	6011
+-118.7654	46.1447	8748
+-114.2281	37.4321	4646
+-116.2528	35.8942	7321
+-86.4573	37.4569	7212
+-93.4039	37.2249	5777
+-119.3169	33.0283	6997
+-82.1254	27.157	9203
+-119.601	34.1137	6991
+-105.9221	35.6633	2963
+-120.282	43.2723	5593
+-110.1957	32.0473	8949
+-92.4638	36.3931	6036
+-92.6646	40.0893	6573
+-114.3693	32.4353	6825
+-81.2676	27.8855	8904
+-87.2295	29.5369	3789
+-113.3825	32.4125	6050
+-112.4859	29.7903	6438
+-93.3155	41.0035	5438
+-93.0856	42.6004	4354
+-118.0224	49.5118	5637
+-112.0185	32.969	7110
+-89.6884	37.2705	8689
+-94.2653	37.6028	5061
+-79.8798	28.2281	7290
+-117.5647	49.3105	5776
+-119.0494	44.4185	7304
+-118.4562	36.0305	7095
+-83.54	26.4957	7748
+-89.4683	38.6235	8429
+-78.6961	27.40	5982
+-87.802	36.4525	8075
+-89.6544	39.2982	8441
+-94.152	39.8768	5185
+-86.7156	37.0705	7418
+-82.2196	28.5273	9026
+-123.1025	46.2746	8814
+-85.9071	37.2112	6565
+-118.8349	49.3521	5767
+-118.1183	49.2766	5892
+-117.593	45.4897	8285
+-122.3157	43.7658	6032
+-119.342	31.1057	6488
+-87.0801	37.1175	7824
+-113.9101	34.604	5841
+-86.7625	39.9384	6414
+-118.3203	31.36	7535
+-84.9931	40.8007	4308
+-111.2875	31.3665	8413
+-89.9732	38.9791	8918
+-82.9917	27.3165	8796
+-127.7848	45.569	4024
+-118.4584	33.2853	7942
+-88.868	36.1653	8127
+-89.2667	32.075	3514
+-83.9734	24.256	5408
+-120.2057	40.9136	3402
+-114.8163	35.548	6452
+-118.77	43.4776	6436
+-81.432	29.7372	7526
+-83.0835	29.7314	7423
+-116.8035	32.8573	9565
+-82.4709	24.9781	6715
+-117.9974	47.9094	7320
+-113.4515	32.2962	6008
+-81.7601	28.2473	9204
+-118.3122	46.2996	9047
+-90.8804	37.8184	8286
+-114.5691	32.114	6966
+-124.7297	47.6303	7468
+-117.0812	34.8133	8769
+-86.4309	32.3208	3267
+-90.3812	42.8712	4982
+-119.0546	47.7501	7331
+-119.7425	42.9331	5568
+-123.9564	45.0204	7173
+-115.1297	35.2126	6926
+-93.0345	33.5981	3179
+-124.9613	47.2995	7312
+-114.0847	32.9492	6535
+-118.9916	44.802	7695
+-110.4731	29.8483	7588
+-109.9552	31.3008	8962
+-117.9827	34.9931	8317
+-112.5058	30.2825	6730
+-122.963	45.5111	8006
+-82.1987	27.2356	9287
+-111.9868	35.423	4944
+-108.4111	31.1813	7346
+-80.6032	28.1435	8110
+-82.0439	28.8405	8673
+-119.2255	44.1328	6950
+-88.1892	27.0575	2994
+-115.6233	31.2466	7448
+-81.1629	28.7657	8317
+-117.9617	37.1102	6203
+-78.8095	26.5415	5885
+-110.4574	30.1157	7878
+-81.5589	26.1703	7973
+-88.8576	35.5192	7403
+-89.9414	35.1345	6682
+-89.0857	39.349	7884
+-108.6881	28.0143	5216
+-121.8163	45.8136	7868
+-116.0076	44.5866	6366
+-119.3286	34.4407	7264
+-86.6246	37.1975	7354
+-92.0805	35.4636	5438
+-115.0772	37.8296	4852
+-78.7881	28.3523	6050
+-80.0108	28.8905	7175
+-113.6308	33.7737	5882
+-83.4809	26.3677	7695
+-122.4946	46.5348	8956
+-117.1759	33.9106	9276
+-119.4953	33.0161	6818
+-113.2988	35.2572	5039
+-114.8136	48.0289	5056
+-81.9034	28.1435	9393
+-120.1155	44.7665	6861
+-88.4352	34.1519	5853
+-116.5837	46.3317	7444
+-84.7911	27.0992	6792
+-80.899	25.6995	7169
+-111.7164	28.7699	6077
+-89.4679	42.4597	5306
+-86.3252	36.0718	6542
+-112.9905	30.3043	6278
+-86.1298	37.3069	6828
+-89.9966	39.212	8775
+-84.2468	26.4601	7081
+-79.6781	28.9842	6792
+-114.1406	33.3606	6543
+-122.4832	47.525	8841
+-116.9015	46.9554	7539
+-87.2134	37.4828	8059
+-117.064	31.8945	8719
+-120.0457	36.0496	5856
+-87.373	40.6201	6149
+-90.6656	40.4549	7562
+-85.1609	42.0994	3400
+-86.0958	29.8164	4845
+-122.8154	48.8878	7493
+-115.8982	32.5651	8529
+-86.7697	38.007	7541
+-115.5331	28.3646	4536
+-118.9039	34.3217	7740
+-80.441	30.737	6025
+-123.5243	49.5095	6730
+-114.6558	31.3983	6729
+-117.2905	33.2071	9187
+-117.0934	34.4814	9114
+-91.3487	39.334	8208
+-90.3384	39.3358	8791
+-83.7772	40.9107	3134
+-89.6359	36.8984	8513
+-117.1338	34.1237	9393
+-81.0717	29.2024	7872
+-88.7501	36.4666	8469
+-88.1084	38.4534	8663
+-115.2978	34.4643	7360
+-111.3503	31.3717	8348
+-79.7612	27.6332	7204
+-115.9144	47.4473	6374
+-116.9541	37.281	6087
+-118.0209	34.071	8712
+-116.1771	28.868	5261
+-81.2842	27.2851	8788
+-92.9389	36.9793	6073
+-81.5139	25.9985	7773
+-86.3246	37.7518	7072
+-84.3618	30.7112	5715
+-120.1336	31.0098	5686
+-114.9978	34.5189	7028
+-115.8989	45.9534	6731
+-115.6147	33.838	7707
+-119.6893	31.8195	6519
+-117.4195	45.2181	7953
+-84.0154	26.2456	7155
+-89.8648	32.5241	3913
+-93.155	42.2404	4620
+-113.7061	29.3154	5070
+-107.4504	29.6692	5724
+-119.251	33.1341	7114
+-116.7386	31.7242	8508
+-91.2271	36.4174	6751
+-123.1166	44.3466	6718
+-119.0599	30.3817	6171
+-109.7028	33.2101	7583
+-118.3688	32.8494	8188
+-89.0711	38.9327	8353
+-110.2065	32.6003	8363
+-88.9448	39.0343	8266
+-109.4954	33.2086	7492
+-80.0127	24.8012	5768
+-118.4616	30.4708	6650
+-82.0687	25.8768	7753
+-79.7316	27.3886	7142
+-121.6314	44.4689	6528
+-87.3297	36.7358	7894
+-107.318	32.7097	5986
+-120.4561	46.0814	6959
+-119.1556	32.6436	7304
+-107.4556	30.6268	6188
+-114.4688	34.3788	6474
+-117.6492	35.0236	8481
+-87.4951	36.3341	7748
+-89.2593	40.414	7260
+-118.9797	34.0063	7664
+-78.7599	27.738	6076
+-116.0074	29.8666	6293
+-118.3971	34.5436	8226
+-119.7658	31.9987	6500
+-110.0238	31.4783	9119
+-94.6948	37.1331	4461
+-85.5265	34.7308	4908
+-117.9048	34.8516	8490
+-108.9172	30.7359	7686
+-86.4263	38.3314	7084
+-77.535	29.5203	4325
+-118.8829	36.34	6554
+-107.0508	30.9812	5858
+-91.8701	42.9132	4660
+-86.5713	34.6883	5662
+-118.9628	30.3435	6208
+-117.5929	44.0685	6988
+-120.6325	34.884	5776
+-116.5698	32.051	8791
+-118.7137	35.3303	7489
+-118.4817	46.5041	8784
+-79.2029	34.6243	1455
+-109.9733	32.5557	8350
+-78.9676	27.5593	6303
+-82.8442	26.9397	8659
+-80.5665	29.1092	7558
+-90.4245	38.2232	8855
+-93.3773	41.6788	4910
+-91.1806	38.7523	8565
+-119.4361	46.7517	7858
+-115.9449	45.0661	6553
+-123.5805	44.3604	6647
+-83.356	27.0076	8264
+-109.0797	34.4695	6064
+-80.2803	26.6079	7420
+-114.9115	32.8789	7460
+-115.4489	30.4739	6639
+-121.1496	46.7652	7670
+-120.7761	33.0804	5541
+-78.3393	28.8873	5417
+-116.1799	34.2204	8349
+-115.6343	34.3041	7748
+-120.4261	33.1237	5920
+-117.0869	33.111	9398
+-114.3629	35.2397	6148
+-127.0513	46.9146	5045
+-117.1951	31.3403	8087
+-91.6968	38.1774	7880
+-117.0663	30.6378	7320
+-118.5082	47.5131	7745
+-123.3293	48.0039	8373
+-119.898	33.7169	6632
+-118.7805	34.8038	7732
+-120.3243	42.8718	5216
+-89.5767	38.2921	8425
+-112.6567	31.4055	6949
+-111.4817	34.7772	5796
+-117.2853	46.1543	8202
+-83.8488	29.549	7094
+-125.9491	48.2431	5975
+-116.998	30.3685	7022
+-87.5208	38.5571	8096
+-109.0908	32.0135	8049
+-80.0958	24.3106	5354
+-124.594	46.8149	7738
+-90.1309	34.7438	6195
+-124.9411	44.7359	6284
+-116.1364	34.7998	8107
+-120.2316	49.0024	5919
+-109.7697	31.4097	8835
+-118.8768	35.3205	7356
+-118.3727	45.5347	8654
+-120.2149	44.7748	6780
+-115.2924	30.7175	6758
+-123.1683	46.2277	8743
+-124.6002	48.0955	7364
+-119.1146	34.9644	7328
+-109.1626	32.9182	7550
+-91.7186	38.4214	7942
+-93.0469	36.013	5308
+-92.9916	41.516	5327
+-121.7324	34.5568	4645
+-92.5793	41.3177	5783
+-116.762	34.8426	8588
+-88.1519	39.9161	7197
+-81.0122	26.2699	7777
+-116.9429	47.1247	7474
+-115.9028	33.1548	8508
+-92.0305	40.4631	6863
+-92.1143	34.7303	4707
+-91.6878	36.5381	6657
+-119.2254	34.8822	7250
+-84.1604	28.4126	7485
+-114.0334	31.1902	6012
+-121.0874	32.9052	5160
+-110.7757	34.4988	6279
+-116.9524	35.7513	7740
+-117.838	34.4344	8833
+-112.2625	32.1856	7284
+-107.0328	36.2688	3264
+-121.5368	47.4567	8015
+-93.5733	41.7752	4686
+-110.612	35.6108	5099
+-118.842	36.1847	6716
+-114.7375	43.729	4743
+-120.3191	43.3058	5599
+-85.6011	37.1646	6217
+-82.8556	29.4087	7863
+-89.9854	36.9894	8250
+-124.3722	48.0563	7594
+-120.8546	34.3885	5614
+-117.9998	34.1684	8737
+-117.2384	45.7235	8084
+-118.4547	49.372	5790
+-90.5803	35.2441	6419
+-115.7339	32.8388	8378
+-87.1838	40.5542	6118
+-80.3962	27.7486	7927
+-90.0936	37.2917	8267
+-90.1685	35.3412	6768
+-108.2147	31.911	7151
+-88.5638	32.8712	4428
+-119.9214	47.1764	7185
+-112.8032	30.4805	6543
+-118.3952	49.1486	6030
+-115.9102	34.0366	8055
+-111.5129	29.5454	6922
+-117.1161	34.2053	9356
+-118.6319	43.2942	6266
+-81.1443	27.2451	8627
+-106.5466	29.6047	4845
+-93.6595	37.87	5768
+-111.071	35.5672	5084
+-89.0156	39.2726	7846
+-110.822	32.7388	8114
+-113.5408	30.2209	5698
+-120.2956	34.9157	6125
+-91.5483	36.3737	6572
+-124.4439	45.0854	6933
+-116.8428	45.8556	7713
+-119.1298	32.6232	7330
+-88.8777	39.6857	7514
+-89.7403	36.6404	8228
+-117.6967	45.1116	8043
+-89.6934	36.9004	8466
+-88.9731	36.3375	8306
+-108.0412	32.437	6823
+-113.6901	30.80	5739
+-90.4242	35.9388	7128
+-91.8021	39.2573	7800
+-89.199	42.3726	5316
+-118.1417	46.5085	8803
+-87.3692	37.9568	8213
+-117.4231	33.9931	9309
+-79.891	25.3843	6191
+-110.526	30.2896	8056
+-117.5296	31.1083	7747
+-86.3306	39.9569	6061
+-93.0368	40.9879	5683
+-123.0252	49.9415	6335
+-91.0748	40.1562	7735
+-93.6682	38.1103	5817
+-113.5427	35.4787	5219
+-107.7342	31.0742	6604
+-120.4207	34.3223	6091
+-110.3691	29.6516	7380
+-88.5846	38.9861	8319
+-112.5097	34.983	5100
+-116.8853	31.8461	8667
+-117.4271	28.1501	4523
+-117.8386	29.5393	5970
+-125.6887	47.2418	6528
+-83.6881	28.5522	7922
+-89.7193	37.5589	8739
+-88.7087	37.3377	9441
+-117.0758	35.3136	8234
+-88.1336	42.7123	4513
+-111.2984	32.74	7841
+-115.2908	33.6445	7668
+-90.9619	41.1341	6780
+-116.6816	37.2068	6125
+-117.5342	33.4339	8721
+-108.4238	29.5558	6456
+-93.6651	41.0788	5087
+-82.5095	26.2256	8098
+-86.8989	37.4306	7702
+-92.6752	39.4901	6829
+-117.0184	34.566	8994
+-89.6525	36.675	8323
+-111.3336	30.9821	8209
+-90.9419	38.3067	8656
+-92.3598	37.2459	6747
+-117.553	30.2165	6780
+-89.4617	38.8504	8425
+-110.1942	33.2054	7710
+-79.9511	32.7754	3711
+-120.6087	32.6401	5686
+-120.3206	36.8937	5047
+-117.529	33.1998	8994
+-110.0565	32.2559	8685
+-82.3605	24.9825	6732
+-88.7621	41.329	6141
+-110.5785	31.4695	9181
+-86.0937	35.2472	5769
+-116.0685	30.4401	6919
+-119.1661	48.6537	6399
+-114.9252	31.7806	7199
+-106.896	30.9902	5694
+-119.8446	45.4439	7467
+-113.7494	47.1757	4325
+-82.4829	30.2669	7036
+-108.8807	30.6492	7602
+-111.1462	31.8494	8547
+-113.5894	31.424	5942
+-89.5241	42.2669	5522
+-110.8021	34.3761	6405
+-118.097	45.2102	8298
+-115.9646	28.3936	4694
+-116.6878	32.1994	8997
+-119.6751	48.157	6630
+-81.9288	24.0237	5652
+-88.2818	33.7852	5425
+-83.2304	27.2773	8533
+-119.1409	36.7007	6070
+-86.6386	36.9863	7307
+-115.7461	45.759	6549
+-91.3707	35.8456	6118
+-112.3721	30.8071	7110
+-79.3936	27.5191	6780
+-110.2697	30.2642	8043
+-82.5516	30.2141	7083
+-88.1777	38.2442	8889
+-120.5991	47.6118	6981
+-91.1633	35.2305	5979
+-90.656	37.1169	7640
+-88.5037	37.9949	9343
+-89.8186	38.405	8711
+-112.5577	30.8392	6932
+-117.384	33.844	9197
+-115.4707	29.7688	5966
+-88.5589	43.8806	3555
+-113.1701	29.2571	5499
+-112.6225	25.7795	2714
+-119.503	46.2447	7960
+-110.7413	32.6933	8192
+-81.3101	31.4048	5672
+-82.7893	31.0212	6136
+-83.0409	25.0649	6668
+-90.9387	38.6622	8818
+-116.8225	32.8983	9568
+-114.8982	34.5565	6913
+-117.5248	33.4711	8763
+-117.8308	43.4316	6394
+-110.7453	32.0735	8780
+-113.5789	29.704	5410
+-121.561	34.2679	4851
+-116.5465	47.5768	6846
+-79.343	30.6636	5342
+-85.1893	39.0515	5509
+-89.195	39.7317	7763
+-117.8807	46.8469	8362
+-111.6883	31.9902	7941
+-88.7404	36.8186	8863
+-85.0389	25.5873	5783
+-118.0121	45.75	8792
+-108.7905	33.2752	6993
+-91.1604	40.7627	7099
+-121.0307	30.6765	4630
+-82.9429	38.1177	3258
+-89.4393	41.5632	6226
+-112.1171	35.6505	4662
+-118.6012	35.0448	7775
+-114.5658	30.5569	6075
+-118.158	31.2062	7518
+-117.7675	36.1285	7294
+-123.2071	46.8872	9258
+-121.8789	47.9388	8057
+-122.2427	46.5018	8722
+-81.2899	30.8471	6279
+-120.8731	46.4048	7295
+-92.8556	35.9375	5388
+-117.6708	33.6404	8843
+-113.0227	32.7069	6316
+-80.7172	27.4292	8245
+-91.2503	40.0639	7728
+-86.203	39.0749	6532
+-86.0287	27.0705	5416
+-111.8767	33.9706	6393
+-79.7335	27.3124	7129
+-117.9047	34.5742	8692
+-115.2302	32.2213	7705
+-124.5627	45.5561	7211
+-114.9866	33.9273	7221
+-111.4194	33.5953	6996
+-87.0837	36.8665	7724
+-86.9503	36.5864	7443
+-86.965	39.1231	7214
+-88.8244	37.9713	9466
+-123.3472	46.0193	8455
+-91.651	35.5243	5689
+-91.3718	37.2738	7509
+-92.2043	37.9989	7301
+-119.3726	46.7989	7890
+-119.1641	44.3863	7220
+-119.0403	35.0861	7342
+-118.3939	31.3825	7496
+-111.7297	33.2188	7144
+-83.1431	27.5878	8732
+-91.1141	37.9688	8271
+-88.8065	36.2686	8246
+-91.5691	39.3063	8013
+-111.1207	32.5129	8154
+-116.3361	34.0956	8522
+-92.1393	40.2104	6963
+-81.0232	27.1679	8465
+-109.5873	32.0374	8527
+-121.196	47.3702	7682
+-120.9666	34.8807	5420
+-79.5002	29.1662	6519
+-120.673	47.5372	7081
+-90.777	41.748	6165
+-118.7826	33.3167	7660
+-112.9863	36.2425	4333
+-121.798	47.7693	8108
+-119.9717	33.8738	6574
+-110.8316	33.9286	6876
+-83.5689	27.5678	8253
+-109.588	28.1883	5708
+-87.4881	39.6421	7173
+-117.2206	31.2074	7936
+-93.4154	41.2422	5194
+-113.1405	29.3812	5608
+-81.3767	25.332	7008
+-118.518	32.7552	8021
+-82.1929	29.9691	7400
+-109.8835	30.7789	8475
+-95.1988	38.3414	4215
+-89.4945	38.3604	8378
+-119.2094	49.4341	5596
+-81.246	29.5237	7665
+-90.9399	38.9915	8770
+-77.4099	28.2382	4522
+-121.9367	47.9792	8071
+-116.6521	45.9482	7526
+-121.2854	46.3194	7695
+-116.2867	32.6744	8978
+-119.0496	48.4624	6630
+-91.1906	38.4597	8500
+-88.0804	39.6709	7436
+-117.1026	42.696	5445
+-123.5877	45.3581	7684
+-110.8404	31.734	8900
+-90.6691	36.6709	7162
+-120.6231	35.8841	5408
+-111.8391	33.3159	6986
+-116.2786	45.925	7129
+-89.4436	41.2696	6526
+-110.215	32.9402	7998
+-109.3016	28.9385	6398
+-89.1119	36.0793	7992
+-120.842	44.7137	6178
+-87.3605	41.1701	5577
+-117.2754	37.3961	5979
+-112.82	33.8167	5852
+-125.0162	46.3421	7182
+-110.4554	28.9375	6604
+-81.8585	26.7405	8691
+-117.757	30.0026	6493
+-87.9083	37.4297	8816
+-90.6264	40.7042	7302
+-119.1407	33.1839	7246
+-81.1664	27.0398	8524
+-117.9739	33.2187	8543
+-89.6858	38.7668	8672
+-115.2775	35.1038	7124
+-91.7445	38.2282	7853
+-86.8631	35.5589	6628
+-116.3192	33.7522	8424
+-82.0025	29.5562	7862
+-89.7423	39.9824	7927
+-123.0946	47.1822	9287
+-119.5597	42.6358	5350
+-125.2559	47.5017	6952
+-87.5503	34.6821	6198
+-122.661	46.779	9272
+-119.626	32.7568	6786
+-116.7462	32.3526	9180
+-82.8038	28.9445	8359
+-117.1983	45.9073	8093
+-117.5202	33.9929	9222
+-120.4103	46.411	6984
+-117.7882	43.2834	6232
+-119.3731	33.956	7232
+-122.912	47.7701	8723
+-124.1606	47.5604	8075
+-88.6342	35.2736	7126
+-88.742	40.77	6619
+-87.7082	38.5939	8235
+-80.4589	27.4164	7957
+-115.2434	32.8581	7830
+-90.5218	39.4555	8649
+-116.5056	33.9227	8677
+-110.336	32.4497	8535
+-117.16	34.0802	9408
+-88.6253	34.4007	6146
+-88.991	38.2278	9136
+-93.1964	36.6057	5612
+-119.6865	33.5584	6825
+-116.7105	34.0341	8922
+-90.7958	38.0154	8516
+-84.6524	26.5475	6726
+-115.4523	34.3132	7549
+-121.2092	46.752	7734
+-117.1439	32.2732	9115
+-90.8209	35.5889	6536
+-118.681	47.3179	7904
+-120.2446	45.8852	7171
+-81.1764	26.4302	8033
+-122.6766	47.2892	9175
+-86.4527	40.5303	5682
+-117.2302	45.0634	7696
+-114.5109	40.9088	2464
+-115.6892	34.1513	7817
+-108.7185	30.3306	7259
+-116.4249	33.9636	8601
+-112.1821	30.07	6885
+-117.4992	32.3545	8966
+-117.6117	35.444	8059
+-90.6972	40.947	7032
+-88.2669	36.212	8089
+-115.5083	32.2159	7994
+-124.576	45.9177	7434
+-112.3221	33.3509	6591
+-91.6532	40.8932	6739
+-117.5615	33.9578	9163
+-117.8683	48.3078	6881
+-117.3514	32.79	9323
+-120.455	46.449	6931
+-109.8756	31.9958	8806
+-88.9431	40.3768	7083
+-108.9724	30.9268	7836
+-83.5228	26.8223	7992
+-89.9677	36.2762	7753
+-89.4735	38.109	8879
+-124.3312	47.1008	8027
+-119.0764	46.321	8389
+-124.5326	45.3876	7111
+-117.2242	33.004	9398
+-86.3333	36.5158	6794
+-124.8335	44.072	5782
+-110.6227	30.148	7887
+-122.0607	45.263	7520
+-83.6727	29.8354	6975
+-81.5089	27.6192	9167
+-116.6213	44.3053	6670
+-117.7088	32.6727	8910
+-117.9543	28.5265	4842
+-92.2979	43.2822	4121
+-123.7969	44.8778	7109
+-120.8527	45.0505	6321
+-88.828	35.9912	7934
+-92.0994	40.0781	7085
+-122.5628	48.1111	8295
+-79.2812	26.6329	6420
+-118.1689	34.5738	8443
+-119.8607	34.8563	6600
+-90.9812	37.2281	7662
+-93.3965	38.3879	6153
+-115.82	35.0886	7647
+-122.2211	45.4343	7765
+-118.3104	46.1763	9175
+-117.0194	31.6441	8444
+-116.1435	32.4073	8727
+-84.3241	38.0098	4813
+-115.2345	44.7033	5709
+-121.721	44.2706	6373
+-82.5677	27.6185	9373
+-78.0942	27.1225	5265
+-117.6325	46.9833	8099
+-117.1484	36.8061	6619
+-117.3383	30.4657	7098
+-117.4653	42.0282	4862
+-117.063	36.9354	6473
+-119.7475	37.1646	5265
+-122.9622	49.3309	7008
+-123.9123	44.4921	6669
+-118.6794	45.4879	8488
+-117.1542	46.6486	7931
+-83.1465	27.5644	8724
+-114.8101	35.129	6647
+-110.1547	30.0165	7765
+-110.7507	29.0009	6639
+-120.5311	43.90	5929
+-118.783	44.3887	7372
+-80.4609	30.6612	6110
+-84.1069	28.093	7629
+-116.405	34.9006	8279
+-92.1274	38.3923	7505
+-124.4686	46.7415	7865
+-114.614	31.3934	6686
+-84.1598	26.1865	6985
+-90.985	37.0555	7486
+-119.3082	47.0847	7755
+-88.199	41.366	5751
+-118.5101	47.2135	8057
+-123.5054	48.5634	7730
+-125.249	45.6704	6659
+-86.9748	33.3959	4617
+-126.0494	49.1451	5399
+-120.0591	36.516	5534
+-110.3232	31.9345	9093
+-121.95	44.5351	6738
+-117.2404	45.4874	7980
+-116.4163	34.4962	8529
+-121.175	30.8082	4552
+-114.8615	33.8687	7128
+-116.8867	34.4229	9017
+-90.8664	36.7439	7200
+-91.2373	37.3013	7612
+-117.0716	31.9692	8800
+-89.7203	39.6468	8222
+-117.3412	33.5364	8882
+-79.3127	25.5853	5858
+-109.2542	32.665	7818
+-114.3386	30.9554	6161
+-119.4613	49.2488	5700
+-108.6123	33.7575	6469
+-117.1589	36.2232	7255
+-118.7598	45.1959	8178
+-118.7523	30.624	6599
+-87.2288	36.2285	7452
+-89.9806	38.5245	8927
+-120.5973	34.1396	5905
+-119.1937	36.9349	5829
+-117.6997	34.2857	9037
+-124.9438	44.6331	6198
+-115.6663	32.215	8155
+-123.9326	47.9613	8031
+-116.5975	36.7827	6557
+-88.5345	37.77	9530
+-116.215	33.9975	8381
+-84.0773	29.1534	7191
+-112.3557	29.512	6337
+-88.3799	38.8378	8430
+-89.778	36.2391	7852
+-114.6624	31.8461	6964
+-105.4162	33.3547	3811
+-113.1408	34.7772	4983
+-110.6933	31.5513	9082
+-86.9662	38.887	7373
+-114.9716	45.9118	5747
+-86.4729	37.7229	7240
+-109.3846	31.0345	8286
+-108.7672	32.7938	7329
+-87.9888	35.6979	7440
+-113.9884	35.6123	5615
+-122.565	49.3893	6919
+-117.0852	33.0765	9434
+-123.77	42.8807	5017
+-118.3815	32.5567	8148
+-88.8083	44.8496	2634
+-116.2202	32.1859	8663
+-81.3053	24.9702	6593
+-118.0867	33.0065	8486
+-116.42	34.5357	8515
+-93.8852	38.9641	5643
+-89.2163	36.2878	8188
+-105.0722	33.4627	3421
+-83.8596	27.3124	7873
+-90.38	37.9211	8531
+-117.0235	35.678	7832
+-119.0006	44.1985	7108
+-119.2284	48.1242	6895
+-109.5428	31.4124	8597
+-80.4205	27.2196	7858
+-88.5497	36.4999	8484
+-90.9991	37.246	7673
+-118.1707	32.9056	8406
+-117.1616	30.1552	6776
+-88.8803	39.9206	7371
+-117.2261	30.6775	7349
+-93.1442	34.7442	4181
+-119.6745	45.3717	7597
+-122.6199	48.7738	7597
+-110.469	33.9556	6899
+-119.3007	35.727	6719
+-113.8918	31.1245	5838
+-90.119	39.7923	8265
+-90.1546	38.4486	9017
+-117.8947	33.5989	8638
+-119.5938	46.3341	7851
+-83.0198	28.1584	8796
+-123.5406	43.8961	6160
+-125.9839	47.1478	6212
+-116.2748	32.7882	8981
+-121.1531	45.5805	7156
+-114.2379	46.5595	4948
+-117.2645	46.4754	8111
+-124.1566	45.6912	7639
+-88.0565	38.2472	8785
+-117.3476	32.112	8859
+-117.1218	46.3952	7991
+-121.8253	45.80	7864
+-81.2036	27.8721	8834
+-90.5132	38.5659	9181
+-111.5135	33.9006	6656
+-108.4685	32.7133	7111
+-87.3441	24.495	2932
+-124.9614	47.5911	7240
+-110.3725	29.9766	7732
+-81.476	27.0826	8819
+-116.6599	35.6015	7805
+-118.6021	44.6735	7712
+-113.408	32.3091	6051
+-89.4336	39.6018	8049
+-123.589	46.2764	8535
+-126.0394	47.128	6153
+-88.7786	35.4754	7356
+-88.2195	33.3368	4917
+-118.5557	35.4418	7534
+-120.1096	42.4853	4971
+-110.2531	32.3252	8665
+-91.7267	35.8542	5984
+-118.0902	30.8979	7273
+-85.0737	40.4151	4647
+-116.8403	33.1341	9372
+-92.5934	38.4115	7014
+-111.4608	32.7402	7723
+-79.7945	29.4802	6612
+-121.2042	29.829	3970
+-117.9533	31.5391	7952
+-86.6606	26.2349	4485
+-112.7426	33.9356	5825
+-119.3777	32.6872	7060
+-114.6504	29.449	5194
+-120.9577	46.4448	7397
+-108.1538	31.6065	7112
+-114.9277	46.2995	5700
+-91.5149	38.6852	8203
+-122.5568	49.2278	7094
+-82.1767	28.7554	8773
+-82.1481	25.9719	7862
+-90.4174	37.5766	8159
+-81.0908	25.2188	6778
+-119.0117	33.3795	7464
+-89.1167	39.2681	7949
+-118.0071	30.6657	7088
+-116.8035	47.5862	7039
+-112.9761	34.3549	5324
+-90.4026	37.5669	8149
+-108.2763	30.8319	7101
+-90.0725	40.7831	7208
+-80.6147	27.6457	8169
+-123.3109	45.4225	7851
+-90.538	39.9048	8169
+-118.2173	38.3127	4862
+-87.3638	41.8554	4756
+-89.2134	39.2477	8054
+-116.9511	49.0317	5850
+-113.2748	32.4303	6157
+-123.1925	47.7568	8681
+-116.8716	44.4437	6956
+-89.4554	40.3191	7459
+-116.2114	32.1773	8649
+-84.9704	29.0798	6356
+-107.4239	31.3907	6314
+-88.5774	36.023	7959
+-118.2016	45.7081	8837
+-90.6697	39.7296	8324
+-116.7609	45.9475	7640
+-111.2843	33.4621	7192
+-122.3314	45.205	7573
+-116.639	32.5452	9278
+-117.2173	43.4167	6203
+-91.0397	37.8555	8229
+-110.5763	34.6177	6175
+-117.6854	32.5893	8912
+-91.4816	36.0276	6260
+-88.6789	39.3458	7927
+-83.5069	26.027	7385
+-112.1984	32.8671	7020
+-117.9541	49.5909	5547
+-117.4042	33.3063	9020
+-94.6418	37.9178	4748
+-120.9146	46.7109	7407
+-118.4879	46.5686	8719
+-91.1383	40.3543	7513
+-116.4016	33.9119	8564
+-116.2872	33.3688	8776
+-123.817	44.9903	7213
+-86.3919	37.9367	7132
+-121.8473	47.8562	8092
+-116.149	34.0955	8318
+-89.9018	33.9086	5409
+-88.9221	37.896	9503
+-108.1594	35.0077	5079
+-105.9733	28.5362	3710
+-88.6442	44.0763	3385
+-88.0607	36.8366	8593
+-118.9315	48.4697	6659
+-88.1911	39.4893	7669
+-81.6036	29.5085	7833
+-84.9688	29.8775	5893
+-106.4944	32.4159	5218
+-90.9409	39.5782	8348
+-125.733	46.9004	6493
+-114.7159	33.074	7226
+-119.9361	36.0566	5949
+-119.3538	46.4966	8052
+-115.4174	48.5233	5286
+-117.737	47.4838	7685
+-119.3165	31.0624	6482
+-109.554	29.3545	6915
+-113.7134	30.3615	5579
+-88.8703	35.5056	7387
+-126.248	47.6325	5856
+-113.131	33.149	6000
+-85.4433	38.9429	5819
+-124.7342	45.2521	6848
+-92.8988	38.3943	6686
+-116.621	35.8867	7500
+-110.8563	32.4902	8339
+-107.9819	28.8905	5600
+-80.4155	27.2302	7856
+-114.2576	32.7553	6730
+-118.3054	32.124	8072
+-111.2938	30.1404	7596
+-116.4847	35.7106	7617
+-83.1779	28.6875	8317
+-118.224	31.6261	7821
+-118.9058	43.1529	6070
+-116.4625	32.8056	9190
+-121.2756	44.6228	6473
+-117.5774	34.0584	9189
+-117.0998	48.6997	6235
+-117.3615	35.1246	8452
+-116.4574	33.5401	8766
+-82.6996	28.7562	8603
+-116.7539	33.9125	8929
+-88.4425	40.0813	6888
+-118.942	46.6059	8381
+-108.2733	32.7908	6886
+-112.7901	26.3585	3218
+-117.2668	44.8817	7580
+-88.3122	38.2811	8957
+-85.0833	26.3403	6185
+-90.7499	39.7343	8292
+-115.821	37.4103	5631
+-86.8717	38.366	7548
+-89.6125	38.7325	8593
+-90.8275	40.0608	7933
+-108.6471	30.548	7330
+-83.6975	27.4977	8097
+-119.7519	47.9668	6745
+-119.8366	46.9035	7408
+-82.7005	29.0494	8306
+-120.2016	47.4681	6765
+-118.2494	47.4966	7781
+-118.8981	47.7672	7379
+-85.4979	26.2325	5709
+-93.1452	34.6934	4135
+-120.583	45.6502	6779
+-110.3485	30.2862	8068
+-109.497	27.3326	4780
+-119.5345	47.334	7399
+-87.426	38.4045	8097
+-110.7954	29.3232	6974
+-111.5893	37.4878	2933
+-111.1037	30.9353	8383
+-113.4063	35.2936	5141
+-90.0394	36.4632	7849
+-113.6727	33.4504	6011
+-81.4634	26.0269	7783
+-121.3812	46.2057	7740
+-116.6252	45.918	7494
+-117.7693	29.9715	6456
+-115.7271	29.7022	6014
+-86.5063	36.8353	7112
+-88.4514	38.4493	8867
+-122.895	44.807	7234
+-92.6498	39.6783	6784
+-120.0868	32.6537	6268
+-92.2273	38.2599	7368
+-109.3069	31.1003	8245
+-89.9859	37.6914	8206
+-82.6236	26.1337	7964
+-81.7055	26.4731	8351
+-120.1055	48.9508	5677
+-92.551	42.6448	4620
+-88.8836	39.4571	7637
+-88.1463	38.7349	8428
+-116.2602	38.9198	4203
+-113.8737	42.4251	3181
+-91.2486	34.4529	5258
+-106.8425	30.4981	5513
+-119.4389	46.7559	7853
+-121.201	47.2413	7715
+-116.7874	33.3981	9074
+-117.1845	49.1493	5828
+-111.092	31.6214	8650
+-81.741	28.0711	9331
+-81.0765	26.9312	8368
+-84.0434	26.0758	7006
+-118.8977	35.5799	7160
+-88.6364	39.4313	7828
+-117.2037	38.746	4506
+-109.4318	30.8973	8246
+-112.0317	32.4142	7425
+-81.4108	26.3394	8083
+-117.3615	30.6715	7320
+-91.6612	35.1934	5351
+-117.6121	46.8442	8199
+-111.2806	35.2615	5358
+-116.5159	30.6784	7315
+-122.0453	46.141	8301
+-82.2693	29.6212	7789
+-110.8021	33.506	7329
+-115.4154	33.602	7814
+-90.6158	35.205	6360
+-80.6308	31.3432	5503
+-115.175	37.1889	5499
+-118.1688	30.4572	6799
+-116.0877	35.1626	7831
+-82.3691	28.1301	9402
+-89.8855	38.8716	8872
+-82.1543	28.2105	9390
+-116.0773	44.4204	6324
+-85.1889	35.9198	5346
+-119.8792	43.0831	5646
+-116.443	34.2992	8621
+-91.9124	41.5484	5987
+-125.1197	45.3187	6569
+-117.5342	34.3063	9190
+-118.3123	43.9192	6951
+-90.2741	38.0876	8701
+-122.4696	46.2167	8656
+-89.2659	38.0911	9079
+-81.2687	26.9375	8537
+-124.2016	48.8418	7098
+-91.2999	37.2372	7518
+-87.4076	37.464	8273
+-82.3858	28.2231	9302
+-123.422	47.0788	9020
+-88.7411	39.9893	7207
+-81.6362	25.6594	7443
+-115.4085	33.4745	7866
+-93.7777	37.9193	5658
+-119.8666	35.1349	6499
+-113.772	33.4851	6112
+-115.7832	31.6367	7889
+-88.6078	40.0222	7070
+-117.5211	35.6858	7822
+-115.5192	33.6222	7905
+-82.9717	25.7605	7433
+-92.9442	41.3203	5514
+-113.1676	29.1708	5441
+-117.5751	45.0432	7913
+-87.2513	28.1477	4086
+-122.0656	48.5868	7604
+-88.8366	38.9773	8341
+-88.8524	40.2279	7131
+-116.7231	44.7732	7091
+-85.3233	37.2867	5927
+-88.152	37.5475	9112
+-107.8631	29.3727	5882
+-118.1653	41.8531	4761
+-120.7259	44.4819	6157
+-117.7754	35.5387	7907
+-91.0199	38.9752	8697
+-121.793	46.5809	8318
+-117.1495	33.3998	9071
+-109.7534	34.1555	6617
+-117.3276	46.6905	8071
+-118.1984	45.6866	8814
+-91.0326	38.2963	8571
+-82.9539	28.2648	8806
+-117.7219	32.4816	8831
+-109.6866	32.2638	8456
+-85.5769	39.0528	5911
+-115.8368	33.5636	8242
+-118.0637	32.4844	8474
+-92.3925	38.2142	7183
+-125.7043	48.833	5905
+-89.8191	39.273	8595
+-117.9967	49.6565	5482
+-116.3376	30.6684	7256
+-84.801	37.7854	5362
+-114.2138	36.6234	5240
+-118.3189	46.4432	8895
+-123.1603	47.9807	8456
+-84.1697	28.9146	7248
+-90.9466	38.2375	8604
+-120.0134	46.7581	7300
+-124.1868	48.9132	7043
+-93.2291	39.3094	6298
+-120.2588	32.8038	5966
+-90.3771	37.293	7854
+-89.7417	38.8098	8730
+-86.3951	37.5149	7148
+-119.0861	44.8949	7727
+-127.6582	48.438	4134
+-86.5799	39.5451	6579
+-121.1407	37.0889	4223
+-121.0755	45.3855	6954
+-109.8229	28.859	6471
+-89.4286	36.8527	8638
+-91.993	36.777	6680
+-78.5529	26.4328	5570
+-123.9854	49.2051	6873
+-116.6052	35.7621	7620
+-77.4327	24.6122	3488
+-118.3189	34.5949	8284
+-122.6255	45.8903	8386
+-117.1183	38.6739	4582
+-117.2674	29.9587	6548
+-82.0801	26.0827	7986
+-91.2747	42.8999	4849
+-117.3046	33.6785	9040
+-117.6858	45.5862	8426
+-87.5892	41.3267	5328
+-112.5948	32.0925	6962
+-118.2294	34.9901	8132
+-84.2323	28.9882	7145
+-123.8811	47.5541	8350
+-79.5007	30.1334	5887
+-118.913	33.0354	7568
+-116.9801	45.5169	7748
+-123.38	47.8795	8473
+-121.6095	46.9454	8188
+-123.7134	44.8078	7072
+-90.999	38.883	8745
+-112.2216	32.6749	7110
+-91.4416	40.8413	6898
+-111.8853	31.6795	7789
+-87.4932	37.594	8383
+-84.0455	27.7873	7729
+-88.593	34.6589	6434
+-86.5181	38.4666	7136
+-126.0736	46.686	6106
+-108.3704	30.6764	7131
+-113.0619	30.0303	6072
+-119.9058	28.2506	3696
+-88.5561	39.0795	8211
+-91.2489	39.2131	8366
+-90.5928	38.2695	8859
+-107.1889	29.5864	5438
+-116.442	31.5472	8221
+-118.5111	48.0866	7143
+-117.4092	43.0437	5894
+-120.9007	35.1921	5409
+-90.3519	43.0084	4834
+-85.8273	35.0716	5414
+-88.4987	38.032	9306
+-120.476	48.2817	6576
+-115.7112	33.5539	8129
+-90.9474	34.0947	5118
+-112.5248	30.3537	6751
+-85.7293	42.5082	3399
+-91.7318	41.8537	5777
+-118.7949	46.6075	8497
+-120.4189	47.6324	6784
+-115.0275	37.0854	5496
+-118.0366	28.5971	4897
+-124.1427	49.4691	6537
+-117.73	48.3278	6829
+-89.7949	39.7949	8132
+-121.4987	41.9461	3880
+-113.2421	31.8624	6308
+-108.2222	31.6257	7186
+-86.3985	40.2185	5907
+-112.752	31.2541	6829
+-88.5016	36.9079	8914
+-107.9286	34.3567	5496
+-86.0823	37.2205	6761
+-118.7082	36.2035	6786
+-117.7424	35.5158	7943
+-110.7053	33.4989	7359
+-90.6097	40.0179	8036
+-81.9767	27.9133	9650
+-118.9907	32.7708	7495
+-120.5261	45.1654	6687
+-91.1889	38.0843	8298
+-125.8996	45.3776	5877
+-119.0925	48.612	6465
+-83.048	27.6343	8847
+-112.3381	33.9306	6129
+-92.9487	37.0151	6086
+-109.1306	30.7862	7910
+-123.5928	46.3733	8604
+-117.0065	44.5495	7133
+-79.9087	28.3345	7295
+-115.271	34.2076	7359
+-108.0962	33.0798	6557
+-111.9068	28.7088	5923
+-123.8437	46.8974	8567
+-119.9859	46.8914	7272
+-92.3856	39.4353	7143
+-85.1694	37.0984	5727
+-113.3611	49.0455	3185
+-81.5327	27.3722	9080
+-88.9417	37.0506	9097
+-82.3991	25.7211	7559
+-111.6971	30.8865	7814
+-86.6123	40.1791	6099
+-105.7598	28.4642	3476
+-117.716	43.2534	6186
+-116.792	32.8922	9541
+-118.1478	35.3936	7860
+-118.764	48.0776	7105
+-123.7041	47.8137	8323
+-86.9882	39.1278	7231
+-88.9178	36.3999	8384
+-91.6258	36.2059	6373
+-118.6978	46.7279	8464
+-119.6773	48.37	6439
+-119.7909	45.4742	7532
+-86.4696	40.2163	5962
+-110.5928	30.5947	8366
+-114.8574	34.7402	6828
+-90.7657	35.8939	6816
+-116.6983	32.9672	9410
+-112.0709	30.7395	7381
+-90.9053	37.1892	7651
+-109.936	32.715	8174
+-114.6655	31.7239	6911
+-117.9445	32.4646	8594
+-116.1627	43.382	5610
+-115.777	33.1174	8384
+-89.4369	39.1631	8311
+-89.5808	33.6217	5184
+-90.6032	40.3755	7656
+-117.4787	46.276	8388
+-121.5102	47.6971	7881
+-123.4663	47.2077	8930
+-88.1877	38.6355	8548
+-116.9041	45.8984	7784
+-117.1471	46.9316	7769
+-121.762	41.5795	3557
+-116.1005	30.542	7038
+-79.8039	30.3693	5941
+-113.1259	28.6344	5073
+-86.2628	39.911	6040
+-121.5652	48.5042	7369
+-88.2937	39.9925	7150
+-121.0175	43.7081	5413
+-113.7765	34.12	5909
+-81.4508	25.7513	7485
+-115.8689	34.428	7980
+-117.3599	31.7372	8471
+-127.1743	45.7009	4709
+-88.2287	38.8969	8307
+-124.8312	46.405	7397
+-88.2696	37.3692	9165
+-117.8291	36.0883	7319
+-121.293	45.4045	7144
+-109.6811	34.6994	6024
+-91.9752	38.7647	7708
+-112.4652	31.0559	7094
+-123.022	46.3145	8877
+-117.6224	33.5219	8766
+-82.648	25.8364	7632
+-79.7656	24.4595	5291
+-82.7028	29.7604	7547
+-90.5561	39.6409	8446
+-122.0712	47.1392	8676
+-115.4258	31.2066	7267
+-116.5311	44.9855	7061
+-89.149	38.6994	8578
+-120.1583	34.0168	6381
+-116.2538	32.7944	8957
+-117.4049	32.5369	9173
+-96.9169	35.6619	1635
+-114.6676	34.5447	6668
+-89.8307	37.0052	8409
+-116.1137	33.5777	8478
+-88.3728	39.8737	7298
+-116.5748	33.4592	8913
+-87.5743	39.6881	7180
+-80.7172	27.4885	8260
+-115.3324	33.5845	7739
+-118.4655	32.9663	8073
+-95.0502	38.9569	4389
+-87.1316	36.9441	7809
+-111.5859	32.9786	7442
+-120.7803	45.2225	6457
+-116.2847	28.2183	4568
+-108.4025	32.26	7257
+-120.1787	48.0886	6351
+-81.7331	27.1688	9079
+-124.7219	43.682	5480
+-92.1916	40.483	6725
+-116.924	34.013	9142
+-121.0594	44.4439	6175
+-117.059	33.5801	8893
+-90.7771	37.2169	7718
+-115.8094	48.0524	5923
+-118.7949	46.9586	8202
+-122.1936	33.2001	4068
+-118.6996	30.5151	6539
+-117.5129	32.5879	9092
+-84.0764	29.9432	6591
+-116.0289	33.1916	8626
+-110.80	35.1915	5532
+-107.151	33.7315	5314
+-117.0548	33.899	9193
+-121.604	31.3722	4335
+-116.0064	35.751	7301
+-114.5455	48.33	4651
+-118.8996	37.0252	5915
+-85.025	40.1678	4763
+-110.917	31.4346	8821
+-123.8268	46.751	8561
+-113.5073	32.8109	5786
+-112.4394	30.9868	7102
+-89.3142	35.652	7472
+-106.7927	32.5858	5487
+-116.4343	46.5572	7243
+-117.0223	33.8512	9131
+-109.1064	31.9784	8077
+-79.6967	24.3455	5141
+-81.0608	29.3433	7735
+-121.8522	48.2914	7751
+-85.4653	41.0373	4519
+-87.578	37.7789	8475
+-123.6114	49.5006	6715
+-110.4207	32.2474	8748
+-120.8255	46.0425	7111
+-83.3374	26.7187	8087
+-117.2298	33.7234	9089
+-117.8776	46.8814	8328
+-125.2409	45.9112	6785
+-90.844	37.5981	8087
+-120.5592	47.9546	6815
+-121.0994	48.0691	7287
+-115.5781	33.4077	8070
+-91.7637	35.7727	5887
+-91.7553	38.1725	7820
+-116.9112	30.5143	7184
+-118.6397	32.9924	7876
+-118.2318	45.392	8509
+-125.1466	44.5203	5957
+-112.1556	31.3794	7487
+-114.9161	34.0582	6973
+-84.519	24.2951	5127
+-108.7065	32.1046	7623
+-79.8334	28.9605	6961
+-92.175	38.0723	7360
+-83.2539	24.7916	6296
+-116.5442	46.1703	7417
+-119.2548	49.3055	5713
+-81.563	24.7378	6406
+-84.5474	30.8819	5434
+-78.6106	27.5653	5901
+-117.074	46.1434	7979
+-113.825	41.6912	2620
+-120.8092	45.0808	6376
+-117.6811	33.4491	8665
+-118.297	49.9416	5192
+-86.997	37.1007	7730
+-115.1502	32.616	7715
+-85.3022	26.7286	6120
+-121.1699	44.6983	6472
+-91.7901	36.2884	6368
+-116.5931	33.2045	9152
+-87.5597	40.0734	6792
+-109.0657	29.2343	6582
+-121.2506	47.5284	7692
+-118.0549	30.6596	7058
+-89.039	39.418	7806
+-117.6708	33.1616	8878
+-123.4016	42.5706	4745
+-81.0591	28.133	8608
+-123.0352	45.9264	8454
+-116.3148	34.7404	8306
+-124.9736	46.728	7313
+-92.1829	38.4753	7462
+-107.8446	32.3194	6662
+-119.7508	31.9642	6505
+-83.1474	31.3453	5684
+-123.8796	45.8802	7999
+-121.7192	49.7071	6328
+-89.9709	36.0378	7542
+-118.0673	46.7994	8485
+-124.7083	45.0427	6705
+-114.7491	33.2395	7235
+-125.0795	44.2421	5773
+-87.0828	40.6898	5930
+-81.5396	27.4064	9107
+-110.318	31.6424	9407
+-122.0639	45.6957	7935
+-117.0085	34.0791	9250
+-88.1734	36.7103	8552
+-109.5693	30.5154	8051
+-83.204	28.1081	8621
+-88.6796	37.3671	9466
+-88.2707	37.9571	9170
+-87.8463	40.6975	6259
+-107.3788	30.0161	5850
+-116.7518	36.5267	6867
+-81.679	26.2114	8059
+-120.9858	48.8647	6645
+-108.124	33.7174	6146
+-120.1363	35.4648	6087
+-90.6824	37.9781	8532
+-90.8025	36.4498	6904
+-90.5021	37.2336	7785
+-90.7648	38.8639	8995
+-88.7888	35.8312	7755
+-115.6269	32.7813	8258
+-119.0693	46.3754	8379
+-83.496	31.9117	4956
+-79.1123	27.4644	6457
+-115.3979	33.4679	7858
+-87.6389	38.3097	8358
+-89.3995	36.2649	8089
+-121.3299	43.9609	5881
+-115.8591	33.3526	8380
+-107.2046	30.9351	6012
+-89.8337	39.1883	8667
+-123.1577	45.1458	7586
+-88.244	39.946	7189
+-82.5346	26.1004	7953
+-108.6162	31.1706	7560
+-88.0664	37.5752	9023
+-119.513	30.5184	5927
+-118.4881	29.3211	5501
+-89.0563	34.8125	6596
+-117.4954	31.9217	8593
+-92.0284	36.0356	6003
+-125.3125	48.3572	6547
+-89.8872	38.8434	8880
+-124.8157	49.8335	5818
+-109.5659	31.4083	8621
+-109.337	29.9134	7367
+-117.3502	34.4033	9229
+-87.6135	37.1602	8402
+-78.5946	28.1292	5868
+-81.2569	29.0407	8143
+-121.0197	43.8229	5490
+-119.9675	47.0069	7235
+-124.0384	42.9624	5033
+-91.1146	38.9279	8613
+-116.0245	35.494	7528
+-124.0291	47.0329	8364
+-116.2326	35.4557	7707
+-118.5958	46.0241	8920
+-109.1372	30.93	7997
+-112.3518	32.5039	7070
+-125.3292	47.5757	6855
+-123.7452	43.1066	5265
+-118.701	47.8999	7304
+-80.6703	26.8864	7961
+-121.0729	35.273	5204
+-118.598	32.0878	7760
+-118.3981	48.5323	6682
+-116.5733	32.2242	8960
+-87.7054	37.0047	8411
+-92.6534	39.6211	6804
+-110.9011	32.8567	7963
+-86.2443	25.8974	4783
+-107.4095	32.1759	6241
+-118.9382	33.1253	7409
+-116.2012	32.5178	8836
+-124.0947	47.0627	8289
+-87.0433	38.382	7720
+-117.6075	49.5173	5571
+-118.6908	47.5534	7662
+-81.4535	25.6375	7364
+-109.8217	32.6405	8201
+-94.2235	38.787	5285
+-85.7206	40.2985	5296
+-87.4156	39.532	7229
+-79.6666	29.865	6228
+-89.9894	38.3282	8802
+-89.2609	39.0073	8183
+-112.3495	31.659	7288
+-120.0252	31.5224	6048
+-115.2258	32.7129	7808
+-83.5371	27.5506	8286
+-88.2849	37.3667	9178
+-120.1331	46.114	7301
+-88.7848	36.8273	8873
+-81.61	27.5886	9267
+-91.851	37.9541	7625
+-119.4852	45.0492	7570
+-108.9451	31.8957	7932
+-120.0131	31.6291	6106
+-88.7596	40.8703	6546
+-106.9788	32.1132	5794
+-82.7266	28.2981	8991
+-91.9083	40.8265	6648
+-124.3459	49.7901	6121
+-85.8625	35.7533	5912
+-114.6212	29.8414	5527
+-81.6084	28.9049	8474
+-104.7588	33.4292	3111
+-109.5962	29.6322	7214
+-88.8851	38.2934	9098
+-116.2483	46.6369	7032
+-120.6079	34.1974	5892
+-119.6626	49.2562	5613
+-86.6263	39.3577	6753
+-110.6416	32.9146	7993
+-90.3421	37.4008	7969
+-83.1258	28.2277	8654
+-88.4498	37.869	9393
+-113.2727	31.8224	6278
+-81.1798	29.4664	7687
+-87.5038	36.1988	7642
+-123.6841	48.439	7773
+-77.1554	31.6746	2732
+-120.1697	31.5297	5903
+-114.3627	34.9414	6250
+-125.1276	44.7038	6118
+-85.8111	28.8303	5561
+-119.8384	34.9984	6578
+-86.1929	26.9276	5203
+-117.1441	33.6965	9043
+-80.3491	27.6415	7869
+-83.0781	27.0882	8577
+-120.5129	45.0943	6670
+-125.1691	44.4239	5862
+-124.9369	48.435	6848
+-118.0269	44.691	7744
+-110.1578	29.6324	7351
+-90.4051	36.293	7416
+-119.5573	35.8206	6434
+-113.0296	32.042	6510
+-93.304	38.5817	6271
+-91.7241	38.3961	7930
+-118.6182	33.4079	7865
+-116.0495	33.8697	8179
+-90.9301	38.5028	8778
+-118.1826	33.4259	8275
+-89.404	40.6514	7119
+-121.9952	45.1355	7362
+-125.863	47.0914	6348
+-117.5146	48.9734	6110
+-108.0442	33.2352	6415
+-87.4587	39.3666	7407
+-123.3518	47.026	9106
+-118.6661	35.0887	7689
+-120.7813	44.5303	6136
+-111.3797	34.8897	5716
+-90.8465	39.7323	8254
+-91.9482	40.7409	6695
+-116.7145	46.948	7372
+-83.7123	26.5139	7612
+-82.0392	32.6719	4342
+-112.4592	31.9975	7127
+-83.5183	28.2784	8222
+-90.6578	42.6667	5192
+-91.909	38.1167	7644
+-116.0051	45.828	6831
+-116.0376	33.2106	8627
+-87.8009	37.7177	8730
+-111.5573	31.0915	8044
+-84.2769	27.0601	7339
+-82.2342	29.3872	8055
+-92.1187	35.7047	5646
+-89.0087	34.7524	6533
+-85.5683	26.4036	5712
+-108.8503	32.6648	7485
+-81.3734	29.5841	7664
+-123.2031	45.2856	7730
+-123.6156	48.1537	8083
+-122.3232	46.4766	8775
+-85.7253	26.6191	5626
+-90.3331	37.6297	8216
+-126.1467	44.0494	4811
+-126.9319	45.9645	5042
+-89.3844	33.1291	4675
+-111.4939	28.6869	6093
+-120.3371	44.078	6208
+-107.5209	31.499	6425
+-121.2499	43.7669	5651
+-89.5671	40.7126	7133
+-109.1467	30.5004	7733
+-117.793	44.1786	7160
+-90.9914	41.488	6401
+-83.0132	29.7157	7473
+-83.2078	27.4254	8617
+-88.1192	37.8321	9065
+-112.9522	33.1937	6143
+-120.1462	32.6019	6198
+-82.8814	31.9564	5077
+-123.0754	36.899	2520
+-117.9897	47.9709	7255
+-115.5375	32.642	8147
+-88.4431	38.4374	8876
+-117.6834	33.8034	8958
+-120.1382	47.531	6779
+-79.9143	26.6843	7099
+-114.769	30.6529	6313
+-117.7943	44.6715	7661
+-118.5665	31.9401	7718
+-85.7989	36.5344	6250
+-89.8613	36.7086	8183
+-88.7083	38.6049	8759
+-112.9588	30.2043	6260
+-88.6836	37.3293	9426
+-120.4218	33.3173	5983
+-90.0334	39.2485	8768
+-120.2095	45.6085	7155
+-92.6251	37.9947	6875
+-125.3723	45.7997	6603
+-118.1013	35.2178	8045
+-90.1101	37.9947	8559
+-117.237	36.8047	6624
+-91.2951	41.3554	6449
+-89.2768	38.0609	9091
+-123.3887	47.5352	8782
+-114.635	37.616	4776
+-124.5164	48.7533	6959
+-87.9861	36.8932	8582
+-82.796	24.4228	6036
+-89.6099	38.6041	8576
+-88.4962	37.3292	9330
+-117.666	45.4108	8281
+-119.3192	47.1979	7662
+-123.3967	49.2714	7016
+-90.1675	32.4976	3804
+-117.4385	34.0437	9326
+-89.1921	39.4526	7934
+-113.7737	30.4449	5547
+-118.8607	29.6253	5614
+-121.0669	48.1613	7202
+-118.7768	47.5687	7620
+-119.5729	34.2206	7020
+-115.2618	34.3405	7339
+-116.2488	34.2037	8425
+-87.8801	37.7555	8815
+-80.1875	28.2179	7633
+-112.6917	34.4938	5415
+-115.2083	31.7686	7470
+-89.3098	36.5608	8433
+-92.4088	37.8753	7046
+-84.5379	34.8398	4106
+-116.7608	44.1794	6665
+-118.8532	48.4726	6676
+-118.4006	46.1255	9133
+-118.9477	47.1812	7917
+-125.8884	47.7278	6218
+-87.3943	36.6388	7891
+-89.5687	39.8668	7934
+-87.9041	37.1856	8707
+-125.649	45.9721	6394
+-121.2528	44.1935	6063
+-91.70	38.8746	7999
+-113.1379	32.6433	6225
+-120.5549	47.0383	7029
+-119.1072	30.1147	5908
+-90.5902	39.0667	9017
+-84.8961	27.1158	6681
+-105.7962	35.6927	2841
+-118.7381	44.9154	7917
+-116.6234	34.3734	8789
+-109.6023	32.1054	8500
+-122.1274	47.7741	8378
+-118.8263	31.9748	7476
+-106.7448	36.1478	3183
+-115.6309	33.081	8234
+-106.3927	30.0807	4904
+-116.4582	35.3402	7953
+-119.2561	44.8805	7608
+-110.1249	30.5594	8341
+-116.9089	32.6558	9562
+-80.381	29.0685	7423
+-87.9362	38.0271	8799
+-81.533	28.2154	9045
+-90.4673	38.3262	8959
+-90.7896	42.4855	5374
+-111.168	32.2827	8294
+-122.0367	49.3164	6856
+-79.6127	27.9695	7032
+-115.9992	33.3241	8534
+-123.8592	47.9443	8101
+-88.5593	34.8092	6600
+-115.0634	34.6985	7057
+-116.0656	32.30	8594
+-86.2251	35.336	5945
+-118.9729	32.8997	7513
+-124.3344	44.6408	6604
+-118.3599	34.5832	8248
+-79.2978	27.7004	6684
+-119.3074	45.8078	8133
+-118.4524	47.5882	7674
+-110.0421	29.5734	7273
+-113.0533	33.5277	5851
+-89.8119	38.9428	8774
+-114.1635	33.3183	6577
+-92.5687	40.8886	6129
+-91.1345	39.8806	7961
+-120.3233	32.3502	5973
+-83.8231	28.4147	7845
+-80.271	29.0911	7307
+-121.1343	47.4544	7594
+-107.0735	32.7881	5708
+-124.2208	47.2352	8125
+-87.1105	39.7749	6805
+-118.4437	44.1355	7173
+-121.167	46.9423	7702
+-81.0907	28.3862	8520
+-116.3972	32.4857	9018
+-119.2854	49.6471	5357
+-116.823	32.3609	9220
+-91.8208	42.134	5461
+-115.6295	31.5908	7730
+-116.7562	44.2329	6706
+-82.2869	27.1308	9152
+-115.1448	35.0472	7018
+-84.0087	24.5515	5681
+-120.5164	44.2216	6170
+-85.3819	38.869	5783
+-120.4263	45.5995	6930
+-82.5309	26.9833	8899
+-82.494	26.432	8328
+-116.4209	35.9097	7392
+-119.588	48.6086	6266
+-121.104	31.8265	5008
+-90.1421	36.4106	7725
+-117.9095	33.4067	8480
+-90.9025	38.3394	8711
+-84.8319	24.5218	5118
+-81.1985	29.6671	7496
+-115.2364	34.0142	7319
+-122.1293	44.5254	6794
+-85.1158	26.3809	6172
+-117.5444	33.7696	9039
+-114.4974	35.571	6134
+-89.7156	37.2501	8652
+-89.5041	38.5361	8449
+-92.1843	36.8235	6582
+-93.0506	39.4254	6459
+-114.8707	33.1299	7389
+-115.8558	34.8126	7830
+-92.4759	41.3644	5815
+-115.5124	45.6036	6279
+-86.3036	37.7483	7049
+-117.0369	32.2251	9088
+-115.8116	33.9633	7940
+-120.0126	34.4787	6519
+-89.2238	34.8303	6591
+-85.5038	40.6464	4855
+-110.9044	31.1588	8703
+-114.1988	29.4031	4851
+-123.0929	44.3053	6675
+-109.2127	33.9849	6602
+-83.156	27.514	8701
+-115.6744	34.5645	7738
+-94.2115	37.9058	5199
+-88.6191	34.5651	6330
+-87.3762	36.7912	7971
+-119.0499	33.7462	7547
+-123.728	49.8469	6314
+-116.1757	30.1838	6687
+-117.6382	49.3835	5717
+-122.9258	46.9394	9565
+-89.804	36.5613	8114
+-123.5536	44.595	6904
+-86.5521	39.0928	6858
+-89.5103	39.0574	8427
+-113.0122	34.8462	4900
+-88.2316	36.1764	8038
+-122.5594	45.4489	7897
+-108.1098	29.4846	6161
+-82.8653	26.5968	8331
+-94.5454	41.9264	3781
+-120.3885	45.9194	7023
+-109.8443	34.1464	6646
+-114.8189	34.8032	6770
+-116.7583	31.4854	8250
+-78.4663	29.4671	5319
+-90.4941	36.4746	7460
+-117.5139	33.9609	9209
+-118.3569	28.4671	4660
+-120.6915	46.6243	7151
+-114.4014	32.232	6818
+-120.6018	33.1824	5755
+-119.1811	45.2814	7974
+-80.5115	27.2251	7958
+-92.9791	35.7898	5181
+-118.9348	46.9071	8162
+-88.0612	37.4664	8992
+-83.747	27.828	8065
+-109.1371	32.7121	7692
+-116.7859	48.8499	5944
+-116.8005	30.8565	7559
+-119.1174	45.0152	7811
+-89.8619	38.1646	8579
+-117.9249	33.2077	8598
+-87.4713	39.9616	6856
+-87.7688	40.5893	6348
+-116.5546	32.7941	9293
+-87.443	36.4678	7811
+-84.1545	30.1354	6369
+-86.4893	39.3297	6649
+-90.1465	39.6381	8434
+-88.8156	37.0273	9096
+-120.0093	49.8772	5099
+-108.3978	30.9564	7269
+-117.0966	45.8348	7973
+-116.52	33.8251	8657
+-80.4748	27.9739	8001
+-119.6565	31.865	6570
+-127.0673	47.5998	4975
+-115.7684	34.293	7894
+-88.0131	37.0517	8724
+-107.681	30.3308	6296
+-123.2166	47.8937	8530
+-80.6381	29.6287	7191
+-117.022	49.5246	5395
+-94.1444	37.1215	5007
+-114.6734	47.9058	4986
+-89.2797	35.3068	7105
+-115.2886	31.7572	7539
+-91.9625	36.0898	6090
+-88.1469	38.1058	8962
+-117.2404	47.0407	7773
+-80.6441	28.531	7999
+-120.8104	45.8621	7009
+-114.9084	47.0152	5557
+-117.7944	32.7287	8824
+-90.4329	31.5868	2739
+-88.4815	35.5042	7367
+-86.6046	37.6039	7387
+-118.6723	32.8922	7848
+-89.5423	39.8412	7939
+-117.758	48.0591	7112
+-109.7444	32.4472	8341
+-82.1123	26.8952	8906
+-81.5765	30.3454	6908
+-90.6178	35.8712	6921
+-110.2026	29.238	6929
+-113.1036	33.0256	6090
+-117.9294	48.3703	6827
+-95.5442	37.939	3793
+-86.5995	42.9405	3339
+-93.1693	38.9744	6412
+-124.1832	47.5799	8044
+-84.5258	26.4632	6810
+-110.0448	35.1587	5587
+-121.6552	45.5204	7510
+-121.7206	42.4295	4456
+-113.1715	34.282	5230
+-121.1313	44.1756	5976
+-117.2532	30.5544	7209
+-85.5885	37.3467	6230
+-117.9975	35.782	7571
+-82.7805	32.0218	5023
+-88.9666	36.1939	8147
+-90.9711	36.2911	6699
+-118.7515	36.4072	6575
+-112.3433	33.5344	6438
+-111.7518	30.6051	7607
+-87.0093	36.3288	7336
+-112.6884	28.1734	4984
+-78.2788	31.314	3966
+-115.4151	35.5846	6972
+-118.147	35.9204	7365
+-113.9435	31.5028	6076
+-116.4491	31.4985	8173
+-124.2623	47.976	7743
+-112.7269	34.1811	5646
+-116.1032	36.438	6722
+-114.6109	32.5984	7114
+-115.6374	32.9107	8267
+-117.0592	38.287	5001
+-113.3939	34.5072	5294
+-117.3613	45.2481	7931
+-114.5468	32.3368	7001
+-90.013	36.9962	8227
+-92.7166	41.5794	5472
+-92.5212	34.4129	4213
+-121.1272	34.6891	5283
+-114.6577	33.1519	7151
+-119.4368	42.9985	5756
+-111.7775	31.9707	7854
+-117.0653	35.0661	8497
+-124.195	32.9885	1878
+-115.9763	31.5752	7982
+-116.8024	30.8298	7529
+-110.413	32.1862	8815
+-117.3361	36.7667	6664
+-121.3591	45.0391	6895
+-93.2237	38.00	6258
+-87.6149	33.878	5371
+-115.8743	34.3216	8005
+-114.3011	34.6636	6252
+-86.6362	33.7732	4834
+-82.3859	30.4061	6893
+-90.233	39.084	9030
+-83.3804	29.3678	7596
+-119.0983	45.3713	8103
+-91.6843	36.4897	6613
+-124.3508	49.5293	6371
+-111.1891	32.5053	8111
+-117.3457	46.1299	8267
+-115.774	33.0877	8389
+-90.3554	37.6374	8225
+-85.9722	39.9542	5761
+-118.9432	44.0324	6962
+-117.6465	35.0128	8493
+-117.0768	35.0703	8495
+-121.2869	42.2999	4130
+-112.7651	31.5326	6838
+-121.0494	47.6494	7439
+-117.3545	34.6688	8946
+-118.3078	30.6519	6912
+-110.1281	27.2509	4774
+-118.7751	31.3852	7180
+-118.4084	45.4559	8566
+-114.3553	29.7467	5257
+-122.9042	47.5519	8963
+-120.2561	46.953	6984
+-123.3772	46.5943	8941
+-117.7074	33.358	8565
+-116.1731	33.7069	8258
+-86.737	38.5967	7309
+-119.6896	31.9003	6548
+-112.5993	28.0856	4958
+-109.2426	31.2314	8232
+-118.8725	47.349	7798
+-118.0997	30.5806	6957
+-87.9716	41.0317	5846
+-127.7352	46.6803	4285
+-90.4688	40.8082	7204
+-87.6459	25.3033	3061
+-93.821	39.5595	5618
+-115.0754	36.4449	6063
+-80.3287	26.0481	7073
+-87.925	38.6436	8367
+-117.4056	32.6962	9245
+-118.6651	33.0993	7832
+-115.0683	32.0877	7485
+-116.7759	36.4021	7006
+-121.0905	49.5844	6110
+-93.8125	39.62	5611
+-115.608	44.5971	6011
+-121.2803	49.8721	5952
+-91.5302	39.2673	8068
+-94.0668	39.3948	5394
+-125.5069	48.4726	6299
+-118.5308	44.7958	7855
+-90.5494	38.4213	9027
+-81.9018	28.1521	9384
+-120.5119	31.823	5646
+-114.2298	32.8749	6700
+-119.7594	34.2128	6817
+-119.9029	33.9445	6655
+-88.4875	34.5961	6355
+-108.2431	31.2998	7188
+-122.7319	47.3771	9119
+-108.0038	36.896	3188
+-121.6204	45.1944	7205
+-78.7408	26.4969	5794
+-117.3977	48.632	6420
+-118.9826	35.3572	7239
+-115.1373	34.5886	7163
+-117.6723	45.2546	8156
+-123.3552	47.8922	8473
+-106.5423	29.2598	4656
+-88.0473	38.5832	8507
+-113.6018	28.6829	4739
+-87.7622	40.7284	6197
+-123.8164	48.9163	7239
+-89.4967	39.7149	8012
+-81.5553	25.1658	6878
+-119.7461	46.8275	7530
+-91.2681	35.8895	6197
+-120.0103	36.0645	5878
+-89.2979	37.392	9144
+-119.6148	35.3655	6645
+-84.4777	28.8613	6965
+-89.2752	35.7817	7624
+-115.8726	36.2357	6786
+-89.7652	38.4551	8686
+-93.8007	37.9523	5642
+-109.9648	29.7853	7485
+-122.7846	48.0757	8381
+-112.123	32.2708	7396
+-121.0903	41.6677	3704
+-80.7828	30.6835	6256
+-84.3406	27.5017	7377
+-122.6855	47.6963	8771
+-108.854	30.2457	7313
+-92.8077	42.5134	4599
+-116.3011	35.4401	7766
+-116.3851	48.0906	6347
+-87.6295	36.5056	7991
+-119.5319	44.0562	6724
+-111.8371	31.909	7807
+-109.0968	34.2122	6326
+-119.9101	31.4946	6154
+-118.1604	26.4792	2560
+-119.2949	44.4476	7209
+-121.3343	44.7219	6600
+-116.9705	45.0979	7511
+-116.8565	33.7532	8928
+-116.705	37.1064	6237
+-87.175	33.9081	5234
+-119.511	42.7022	5434
+-115.3246	47.4057	5835
+-86.2547	39.8984	6043
+-119.9614	45.9474	7476
+-91.5913	40.6029	7040
+-112.363	32.5787	7024
+-111.8923	32.6307	7439
+-92.3548	36.7736	6415
+-116.9395	32.696	9615
+-92.9593	39.7441	6448
+-88.614	41.1578	6204
+-86.2744	35.4262	6054
+-90.9795	41.0202	6895
+-119.3715	34.9134	7089
+-112.5683	35.6393	4456
+-86.776	39.5927	6705
+-89.7778	38.8212	8767
+-124.5235	47.7307	7635
+-91.2333	37.8181	8065
+-111.7587	30.1101	7253
+-113.793	29.9232	5316
+-119.6695	29.792	5228
+-79.8497	27.981	7297
+-118.7727	48.5744	6589
+-81.065	28.4802	8439
+-119.3897	30.5101	6021
+-82.3566	29.0969	8366
+-83.5156	27.7179	8328
+-114.7739	34.1229	6819
+-112.7064	30.6851	6724
+-109.2754	31.0342	8182
+-119.4419	46.5884	7929
+-111.5952	35.7155	4792
+-122.9089	46.3831	8965
+-117.8694	34.7127	8626
+-77.8214	31.8316	3188
+-86.3195	39.7028	6241
+-89.6106	37.8662	8841
+-87.4912	37.3935	8351
+-117.7172	45.8976	8624
+-122.2648	49.2391	7014
+-87.8351	39.6789	7325
+-89.986	39.5694	8443
+-118.2696	35.0785	8035
+-122.4042	47.7711	8568
+-109.8055	32.2343	8566
+-115.374	36.2995	6400
+-117.4219	48.0799	6974
+-119.6865	46.7984	7601
+-89.7301	35.2604	6906
+-110.2325	30.9949	8827
+-120.0511	42.1321	4660
+-114.3052	31.3418	6359
+-120.5736	46.2587	6829
+-89.2949	39.2835	8118
+-122.0984	45.5881	7854
+-109.1782	35.9525	4577
+-118.0085	34.207	8725
+-118.5868	35.1534	7718
+-118.6682	32.7116	7851
+-117.2486	31.1782	7898
+-119.911	31.0303	5912
+-114.6838	31.533	6832
+-79.4681	26.85	6704
+-90.076	39.9235	8117
+-117.7951	34.163	8960
+-90.9413	38.3963	8712
+-119.9447	35.4843	6266
+-112.6613	29.1226	5803
+-84.2304	28.6299	7327
+-116.9745	34.6477	8893
+-87.7479	32.8856	4329
+-116.2499	31.0737	7651
+-92.8953	36.106	5493
+-78.2337	29.5595	5037
+-86.5262	35.1831	6061
+-124.4513	48.5001	7210
+-116.9011	47.5098	7170
+-88.3269	38.3342	8917
+-125.1898	47.6711	6974
+-112.8324	32.8467	6440
+-119.9504	45.5733	7409
+-85.1522	30.2652	5459
+-114.3103	37.3773	4750
+-114.8906	33.6908	7240
+-109.2527	28.7772	6216
+-109.3552	34.6599	5976
+-91.0039	42.6678	5149
+-119.3893	29.0202	4730
+-119.5179	34.9604	6922
+-121.3963	45.1801	7041
+-120.2451	34.1749	6289
+-94.9003	37.8762	4466
+-110.9404	33.6839	7105
+-90.9242	36.875	7321
+-83.8834	27.0625	7758
+-120.1951	45.7182	7196
+-92.8692	39.4106	6652
+-117.9648	27.7363	3978
+-117.1463	35.4217	8126
+-116.0201	36.3829	6732
+-90.8945	37.1297	7593
+-118.6013	47.193	8055
+-88.4526	36.2576	8195
+-84.2418	28.329	7424
+-89.1369	38.206	9080
+-116.7609	34.5619	8815
+-117.5152	34.5442	9014
+-114.1961	45.1864	4825
+-125.9504	47.312	6233
+-115.4371	36.8323	5981
+-91.6697	37.7046	7638
+-110.0452	32.2324	8704
+-124.1663	49.8102	6186
+-123.9481	48.5498	7520
+-116.0517	46.7731	6792
+-88.578	37.8762	9498
+-81.8274	27.7743	9546
+-94.054	39.3898	5408
+-80.4587	28.2503	7920
+-81.9074	30.0646	7280
+-86.5846	37.2921	7330
+-127.7377	48.8857	3888
+-117.4751	47.2771	7748
+-116.2162	34.1145	8392
+-112.3358	31.3864	7294
+-115.5273	35.3135	7245
+-117.2584	34.8129	8796
+-87.9513	39.2716	7794
+-114.1918	44.7768	4706
+-116.387	33.5683	8694
+-114.3288	32.836	6811
+-85.2195	26.9826	6290
+-91.8387	35.4998	5586
+-116.4681	36.4106	6905
+-91.1195	36.6324	7008
+-83.2476	25.9358	7468
+-85.3154	37.3552	5925
+-81.2155	27.3341	8745
+-80.9633	30.1955	6842
+-79.9211	27.1535	7295
+-90.9163	39.1785	8687
+-116.2639	36.4494	6785
+-84.718	26.867	6796
+-82.6554	25.1984	6927
+-90.3295	36.606	7695
+-90.3646	36.8139	7782
+-117.7336	46.2317	8662
+-84.0003	26.0072	6990
+-116.3168	32.2411	8785
+-109.1069	34.3033	6241
+-86.8991	44.7149	1979
+-121.7577	47.8794	8000
+-119.1372	44.9503	7744
+-86.251	36.3857	6647
+-91.5028	36.177	6400
+-118.2994	45.2361	8345
+-111.1089	31.4849	8627
+-115.4816	35.488	7093
+-114.1259	29.5548	4814
+-117.8263	35.6942	7729
+-118.8281	46.1324	8683
+-116.9218	47.0481	7503
+-120.8971	31.8375	5235
+-117.9569	32.4211	8563
+-116.4778	34.2474	8668
+-92.8435	41.9473	5076
+-123.3043	48.3455	8027
+-90.036	36.808	8095
+-119.5495	46.9201	7663
+-120.7224	48.2542	6827
+-81.125	28.2048	8649
+-117.2407	34.0027	9393
+-110.6071	34.7866	5990
+-116.1244	45.6187	6918
+-88.3846	41.939	5368
+-83.338	27.3894	8464
+-125.7003	47.3397	6503
+-88.3325	38.5193	8740
+-119.4437	47.1962	7570
+-119.1924	34.5573	7387
+-115.4174	29.9502	6119
+-89.3276	41.8273	5918
+-79.2646	29.7857	5924
+-115.0929	34.6513	7100
+-83.657	25.1252	6443
+-113.8227	35.3281	5562
+-118.3218	31.6199	7736
+-114.2327	34.8278	6143
+-125.0138	48.7968	6534
+-91.1629	36.8124	7173
+-114.1491	33.4679	6527
+-125.2683	45.6833	6647
+-115.6915	36.1758	6724
+-120.4914	47.7697	6817
+-113.5988	32.9653	5993
+-118.451	32.9725	8088
+-123.0453	46.4298	8995
+-108.9823	32.5932	7646
+-115.6283	29.6454	5914
+-91.3925	39.4772	8084
+-117.5662	31.6088	8249
+-116.7303	45.6312	7542
+-123.8825	47.5409	8356
+-118.6924	47.5529	7662
+-123.8567	46.4669	8420
+-120.0189	32.794	6348
+-89.0702	38.5567	8759
+-119.5546	32.4241	6833
+-90.1528	38.1182	8699
+-113.5583	32.3984	5870
+-117.0884	32.1021	8944
+-115.6787	33.9141	7789
+-89.2093	37.7079	9316
+-112.0611	28.9202	6034
+-119.9561	31.7439	6210
+-115.4938	34.3421	7591
+-119.1856	31.3257	6771
+-115.2626	36.7267	5963
+-112.3869	33.7177	6264
+-89.9104	39.3026	8640
+-124.2048	48.7017	7221
+-116.0995	33.6384	8420
+-93.3577	36.9356	5669
+-121.7107	31.6896	4314
+-120.6711	46.8972	7156
+-122.0768	47.717	8382
+-116.8559	33.5127	8967
+-121.771	46.3835	8210
+-117.3132	47.3014	7625
+-110.1692	30.7508	8554
+-90.3272	39.1916	8945
+-117.0629	31.0427	7771
+-115.1799	31.4974	7276
+-121.352	48.0908	7504
+-90.2791	38.2768	8902
+-115.3235	32.0265	7719
+-88.7206	37.5571	9682
+-121.6443	46.8809	8223
+-84.4092	26.4497	6918
+-87.9995	40.5458	6470
+-124.1758	48.521	7397
+-113.4168	47.7843	3807
+-108.3966	30.385	7006
+-82.6321	30.2556	7021
+-111.0657	29.2957	6871
+-114.6674	33.2888	7135
+-106.1489	31.1265	4913
+-87.5851	37.4066	8457
+-83.0575	25.5183	7142
+-117.9345	35.0201	8327
+-89.4248	37.3246	8983
+-117.6857	30.431	6974
+-120.9294	43.3577	5225
+-81.3148	26.3703	8061
+-86.7396	37.6166	7539
+-90.8312	38.2301	8685
+-117.1822	44.1926	6928
+-122.0968	43.413	5604
+-88.6676	38.1913	9215
+-119.2735	33.781	7315
+-122.7022	46.6718	9216
+-84.1988	28.7635	7298
+-116.0903	32.6156	8750
+-121.7017	47.7858	8011
+-116.8129	42.7776	5413
+-122.9397	48.4558	7970
+-117.329	32.2403	8993
+-90.2192	36.0955	7414
+-93.2005	37.1148	5913
+-81.2421	28.4304	8635
+-118.3566	37.9288	5230
+-119.5722	32.1146	6743
+-85.6345	38.5424	6164
+-119.2989	46.509	8101
+-112.3778	31.128	7204
+-108.483	30.9846	7367
+-116.1651	33.4852	8589
+-118.6533	32.3649	7805
+-88.0663	37.0106	8738
+-120.3751	32.5117	5936
+-123.8439	49.6493	6482
+-116.4414	33.6459	8492
+-119.6298	46.0846	7834
+-109.3116	29.5393	6998
+-122.6928	46.1332	8663
+-115.9473	35.8252	7198
+-118.2612	37.348	5867
+-89.4931	37.9143	8953
+-124.7488	47.062	7572
+-117.5796	41.7973	4643
+-115.6814	36.2565	6647
+-107.1563	30.6595	5889
+-118.6377	45.4599	8486
+-108.2609	32.1567	7144
+-120.6999	34.4562	5776
+-123.4676	44.6021	6935
+-115.0972	33.107	7643
+-80.2175	25.2339	6300
+-86.5864	36.0438	6765
+-124.0069	46.8051	8377
+-115.908	32.4475	8502
+-119.2869	35.7562	6711
+-119.2857	48.727	6283
+-121.8914	48.8596	7250
+-121.4866	49.7984	6129
+-114.9286	44.3556	5256
+-90.1415	41.9278	5989
+-120.7198	31.7044	5387
+-80.6148	25.0707	6392
+-118.3331	44.3721	7430
+-88.6812	36.118	8075
+-88.5555	41.8188	5574
+-87.8231	36.8902	8444
+-115.5851	41.4423	3560
+-111.4982	30.8487	7981
+-117.2141	35.1118	8469
+-95.5136	42.9328	2290
+-116.054	31.6535	8104
+-112.9024	32.5348	6505
+-109.0407	30.368	7551
+-120.326	43.0683	5389
+-89.7423	39.3843	8452
+-114.823	36.4267	5882
+-120.9549	47.8287	7269
+-117.6013	33.1334	8962
+-116.897	47.7086	7012
+-87.0896	37.0253	7800
+-89.6464	39.4039	8362
+-92.8173	36.8359	6087
+-118.88	34.8428	7615
+-109.6677	27.9049	5423
+-87.4668	40.2233	6595
+-109.7884	30.1738	7836
+-81.3503	27.6208	8991
+-88.1522	36.9567	8762
+-110.0411	33.1046	7795
+-122.4615	35.0641	3781
+-91.5923	35.3878	5573
+-87.5568	40.9093	5929
+-115.6568	37.827	5143
+-87.3305	36.4219	7682
+-89.5304	38.6027	8491
+-118.5182	35.3795	7611
+-119.3125	45.2877	7872
+-93.8284	39.0246	5699
+-109.4847	32.3165	8258
+-108.6911	30.5904	7394
+-86.681	39.3092	6835
+-82.6283	27.1562	9003
+-122.262	45.0596	7397
+-113.0715	33.6545	5754
+-86.4796	38.7391	6979
+-84.8005	40.8208	4126
+-117.9344	32.9851	8657
+-87.9099	31.4233	2742
+-91.0447	37.3149	7721
+-81.9081	27.3486	9355
+-117.8132	45.0945	8085
+-105.7198	30.1664	4245
+-91.7964	39.2585	7806
+-121.4883	46.7961	8044
+-110.747	30.1725	7881
+-90.204	39.3321	8768
+-88.8494	41.5683	5966
+-115.0252	49.5369	4245
+-86.9893	40.2037	6337
+-112.1724	33.4023	6671
+-80.0205	29.0937	7070
+-117.3259	36.1259	7363
+-117.8882	30.8706	7351
+-88.7887	40.1667	7125
+-109.9749	28.4749	6083
+-119.1202	37.0345	5782
+-92.2508	36.4001	6189
+-87.5531	38.8712	7895
+-106.5182	29.8649	4940
+-107.494	34.0821	5376
+-89.4264	36.7516	8549
+-114.6794	36.8675	5432
+-110.114	34.6729	6118
+-90.9565	36.997	7436
+-117.0991	32.6362	9503
+-111.4329	33.2475	7312
+-93.5331	39.1999	5995
+-90.1541	39.2559	8826
+-124.3823	48.2963	7418
+-118.1758	35.004	8165
+-125.9867	47.8066	6092
+-114.8369	34.5482	6849
+-112.6444	30.9214	6869
+-108.7689	31.0609	7687
+-82.4606	27.863	9506
+-91.5101	36.1064	6327
+-122.5024	44.1427	6473
+-78.9243	26.6816	6060
+-117.8653	46.8088	8389
+-114.2558	30.8122	5992
+-113.8168	33.8772	6046
+-122.8255	48.2971	8142
+-85.3875	40.9551	4522
+-118.7135	44.9009	7911
+-87.7153	39.3078	7627
+-81.4397	29.995	7252
+-114.4524	49.1662	4064
+-123.0761	41.8444	3975
+-92.5771	38.9213	7053
+-81.1605	27.0259	8509
+-88.111	37.3298	8988
+-88.9823	37.744	9558
+-122.4447	46.9324	9105
+-108.8659	31.4754	7879
+-120.6027	45.0342	6557
+-119.8135	45.2178	7390
+-119.2715	47.0115	7837
+-121.3848	44.8021	6703
+-116.4802	31.6649	8358
+-108.753	33.0166	7162
+-109.7082	29.1102	6710
+-90.9287	41.5558	6344
+-79.2105	26.4505	6266
+-124.2304	47.9069	7816
+-117.3909	35.6093	7922
+-82.9395	29.6798	7544
+-121.1913	47.9031	7466
+-93.1032	35.6421	4973
+-118.662	49.512	5625
+-117.9902	34.0123	8738
+-92.4218	40.4276	6579
+-90.2053	38.0762	8673
+-118.1057	38.9813	4171
+-119.0157	34.3976	7608
+-115.9615	30.1531	6577
+-117.4628	48.8816	6189
+-91.5709	38.1939	8011
+-117.3761	46.3578	8262
+-87.2566	38.0734	8060
+-108.5333	28.0334	5161
+-118.8986	36.1304	6724
+-117.6716	32.0826	8618
+-116.2476	44.7988	6702
+-80.7272	27.0456	8105
+-83.6381	28.0272	8165
+-79.4702	26.9202	6731
+-82.5346	27.5039	9350
+-118.1045	48.3568	6863
+-110.9663	30.6103	8216
+-90.10	38.4617	8989
+-81.9203	27.7506	9651
+-116.7935	48.5052	6264
+-88.0765	37.2971	8937
+-112.5893	30.9416	6932
+-115.9991	36.1025	6983
+-118.3496	43.6349	6649
+-113.0278	32.2039	6478
+-90.925	40.3793	7574
+-119.2917	48.5733	6432
+-122.0509	46.1002	8273
+-90.9855	40.8464	7073
+-124.8495	46.2484	7324
+-88.2685	36.0251	7890
+-114.5826	35.677	6160
+-119.7406	46.6448	7613
+-91.8386	39.087	7814
+-84.4029	24.5017	5394
+-117.9489	32.1122	8405
+-90.8943	38.5372	8828
+-116.2253	35.7353	7454
+-88.9637	36.483	8469
+-119.2879	44.1631	6950
+-81.9103	24.2894	5950
+-120.7261	44.2338	6005
+-116.7439	35.0593	8378
+-116.7226	33.5862	8696
+-117.4815	44.7757	7621
+-115.2143	32.5367	7774
+-86.9859	36.6982	7540
+-118.7618	28.9301	4978
+-119.8024	46.6011	7566
+-80.3508	27.0937	7737
+-121.4298	47.1496	7979
+-108.8062	32.9959	7220
+-116.3514	47.3462	6826
+-109.0405	27.6836	5022
+-82.2004	28.367	9209
+-85.7573	38.7397	6229
+-118.6532	42.5926	5525
+-91.2766	36.7031	7017
+-86.2769	36.7702	6845
+-117.9421	33.4645	8501
+-116.701	35.7559	7663
+-108.7181	32.2513	7580
+-91.0589	36.8633	7264
+-87.8771	36.017	7712
+-87.7972	37.9928	8667
+-120.9435	44.6731	6294
+-84.6876	34.7795	4206
+-118.0696	45.2514	8334
+-114.8408	33.8474	7118
+-118.7097	30.7578	6744
+-116.1023	33.4551	8554
+-79.4688	27.3964	6849
+-87.594	38.4507	8231
+-118.2331	33.8627	8443
+-89.1518	37.9895	9250
+-108.7036	30.1159	7098
+-82.4442	27.1215	9082
+-123.2288	48.8578	7497
+-116.0608	49.7006	4779
+-116.7696	45.3517	7472
+-107.8268	32.3534	6633
+-108.2838	31.2833	7229
+-117.4154	36.8786	6539
+-81.4661	24.386	5994
+-117.7668	45.957	8693
+-89.2057	41.9076	5792
+-112.2809	29.7254	6557
+-122.3992	46.3633	8745
+-113.0424	31.4032	6532
+-118.7686	46.6086	8516
+-119.8427	43.7408	6265
+-90.2879	37.7271	8317
+-123.1747	48.1173	8306
+-94.1396	42.6565	3583
+-110.7234	29.6891	7378
+-109.9139	31.7441	8987
+-125.0269	45.4586	6742
+-92.557	39.095	7052
+-80.6129	26.0666	7312
+-118.4771	46.0527	9049
+-88.6074	35.6045	7494
+-117.5927	31.7266	8351
+-91.8395	38.009	7663
+-110.1698	35.223	5526
+-120.8085	49.7581	5774
+-116.0353	34.7903	8015
+-116.0702	39.1047	3960
+-116.1707	30.792	7326
+-93.7046	40.3314	5459
+-123.5442	47.756	8487
+-122.6836	46.597	9136
+-110.5583	31.6341	9224
+-116.1699	42.5984	4929
+-119.0411	33.3307	7413
+-116.6293	43.8111	6270
+-86.884	39.234	7065
+-91.945	38.0884	7596
+-87.1301	34.2231	5536
+-123.5158	47.3322	8819
+-110.375	33.8918	6972
+-82.6375	25.7297	7518
+-118.8684	31.9446	7419
+-120.2081	47.2274	6898
+-89.0202	41.0684	6526
+-94.8783	38.9303	4576
+-115.5712	29.7379	5983
+-114.738	40.0505	2519
+-89.5242	38.6134	8487
+-116.6058	34.1149	8817
+-91.5383	39.059	8136
+-117.4775	35.8067	7698
+-122.4381	30.3284	3049
+-113.1177	27.0962	3752
+-90.3528	38.8137	9348
+-91.528	40.0002	7597
+-113.4475	32.033	6064
+-117.5996	44.0361	6958
+-121.3075	47.1619	7843
+-82.5913	24.0762	5685
+-108.7883	29.4321	6604
+-116.9554	36.5785	6849
+-92.3673	36.9807	6559
+-109.2947	32.6783	7838
+-122.1745	44.015	6267
+-121.1517	46.5771	7638
+-122.6177	44.1056	6448
+-80.1154	26.286	7061
+-106.0483	31.0716	4798
+-119.3026	47.4374	7480
+-122.9532	46.3921	8972
+-81.8832	24.9931	6742
+-108.1364	34.0934	5859
+-91.4726	38.7031	8249
+-89.9898	39.224	8760
+-86.942	39.4076	6984
+-92.0325	36.3642	6298
+-113.7715	29.0721	4861
+-118.7436	32.3423	7701
+-116.3934	33.0596	9058
+-109.7281	28.5269	6098
+-117.0413	45.924	7932
+-120.2637	46.1744	7162
+-116.5849	43.6436	6098
+-83.7518	27.7141	8060
+-90.0644	36.5957	7927
+-89.0338	36.1453	8082
+-120.5342	49.4427	5844
+-119.1622	34.316	7461
+-124.5852	46.017	7481
+-90.5688	37.4486	8008
+-118.9192	48.5493	6581
+-108.1994	29.4115	6175
+-116.29	34.9713	8134
+-120.0607	33.1008	6289
+-117.4836	34.8347	8737
+-124.5799	47.5218	7662
+-117.29	33.6817	9045
+-123.7587	48.8781	7304
+-122.5614	36.0246	3405
+-124.6003	44.9782	6732
+-90.1821	33.0417	4387
+-112.5067	32.4454	6940
+-125.6297	44.8298	5798
+-124.4918	46.7209	7837
+-123.6224	47.8419	8359
+-92.0963	41.6916	5755
+-117.7029	43.4478	6385
+-89.0132	40.997	6588
+-79.5525	27.8502	6971
+-115.9807	34.5489	8064
+-112.9361	31.0489	6595
+-118.9809	33.3186	7467
+-84.2579	27.1837	7400
+-115.7353	34.0423	7864
+-89.6122	43.2154	4540
+-119.4396	45.6492	7946
+-108.7957	32.2851	7642
+-109.2863	30.8624	8096
+-91.4274	34.4766	5153
+-117.4336	30.2531	6846
+-86.4966	38.4923	7103
+-123.3744	49.3566	6929
+-88.6609	37.0339	9096
+-79.1657	27.2945	6493
+-90.5872	34.6871	5896
+-81.7899	26.5618	8475
+-121.1825	46.9358	7719
+-108.4449	28.3865	5451
+-89.6561	41.0111	6864
+-87.5928	40.9259	5926
+-87.94	36.1494	7876
+-106.2627	33.3328	4673
+-87.8214	33.0843	4564
+-119.1686	34.5654	7410
+-113.1674	32.7807	6140
+-83.8071	30.3082	6449
+-89.4426	38.0946	8917
+-109.4263	32.1444	8318
+-112.3995	37.5172	3072
+-93.1619	33.7332	3243
+-109.2805	31.3545	8306
+-89.5145	34.062	5683
+-118.318	49.6169	5536
+-89.7704	41.242	6658
+-126.5102	46.9225	5640
+-90.6939	37.2314	7754
+-79.053	29.7594	5742
+-89.4294	38.6681	8392
+-117.9181	31.5498	7986
+-112.5682	30.2471	6652
+-93.4481	39.1758	6089
+-95.9113	37.6686	3353
+-88.4102	40.7397	6404
+-108.9746	26.3217	3586
+-119.2438	46.7481	8033
+-114.1333	29.5172	4787
+-109.506	30.8328	8263
+-89.5769	41.6142	6217
+-89.4392	37.7792	9049
+-117.6809	37.2453	6113
+-81.1653	30.8246	6264
+-88.3152	39.8611	7300
+-86.6275	33.5066	4565
+-81.6904	28.2267	9170
+-90.1754	38.4738	9052
+-89.1759	36.5519	8483
+-122.1704	45.70	8000
+-89.4584	36.2216	8017
+-77.6616	29.0541	4628
+-91.7155	40.528	7030
+-90.8162	36.2918	7045
+-119.7442	42.3523	5000
+-87.6727	34.3901	5938
+-119.5449	49.4289	5490
+-80.6021	25.6279	6917
+-86.6229	38.0314	7374
+-116.1422	32.6632	8818
+-91.3105	40.7953	7004
+-81.8033	26.9345	8880
+-116.9607	32.317	9195
+-118.6238	28.5729	4671
+-117.016	49.3794	5537
+-84.4686	28.7396	7030
+-118.0629	34.997	8256
+-87.7771	38.6999	8209
+-120.8977	46.9504	7406
+-109.1268	31.1389	8081
+-89.8573	39.9763	7986
+-119.8086	32.056	6471
+-89.1057	37.9169	9342
+-90.1068	36.0036	7418
+-86.6266	39.2208	6846
+-112.3032	31.6791	7337
+-93.0518	44.2932	2793
+-84.1117	33.3234	3219
+-110.2325	30.4196	8208
+-116.0336	31.1484	7621
+-112.5504	34.992	5068
+-115.8848	32.6482	8532
+-114.3733	45.899	5114
+-116.8065	35.1619	8309
+-120.0504	28.5639	3894
+-116.9035	34.3536	9075
+-118.3776	48.3977	6825
+-119.7075	31.2043	6206
+-117.6124	35.338	8171
+-108.9602	30.8256	7774
+-89.4441	39.2782	8263
+-116.3874	31.562	8212
+-89.2721	40.883	6832
+-116.3011	34.9849	8133
+-109.7041	29.5867	7205
+-88.1489	36.8752	8689
+-115.9402	36.9104	6181
+-121.5157	45.9561	7723
+-112.1436	33.6677	6482
+-118.8204	47.0078	8143
+-80.1043	26.2444	7023
+-117.2535	33.1439	9267
+-80.595	27.6675	8148
+-120.8962	31.8354	5235
+-86.2463	38.0042	6961
+-93.9829	39.2468	5508
+-118.3296	34.1737	8377
+-110.5111	27.2344	4758
+-83.3109	27.0962	8359
+-117.6574	43.3785	6303
+-110.7833	28.5438	6145
+-90.393	39.1993	8940
+-89.2194	40.4386	7214
+-89.2563	38.7991	8208
+-117.1234	34.1333	9382
+-117.1869	32.4606	9286
+-89.077	37.2293	9214
+-116.0116	31.435	7880
+-122.2856	48.7498	7534
+-117.6328	35.4349	8063
+-116.7456	31.6461	8424
+-89.7428	38.889	8718
+-116.9497	34.78	8752
+-89.1295	39.6785	7743
+-93.6438	43.1499	3522
+-123.2414	48.4325	7953
+-114.2761	33.595	6629
+-125.1767	48.1103	6807
+-121.1266	37.2382	4134
+-81.6638	29.8778	7446
+-81.5197	26.3867	8184
+-80.8511	28.6274	8145
+-113.4144	29.0461	5149
+-123.3824	49.9336	6304
+-124.4638	44.081	6000
+-117.9592	31.9257	8265
+-108.3722	33.6851	6359
+-108.89	32.2606	7746
+-118.2666	48.5634	6652
+-119.631	45.9321	7822
+-115.5961	49.3605	4786
+-120.2832	32.9732	6012
+-113.063	36.3914	4333
+-118.7542	36.3983	6582
+-118.1174	35.008	8207
+-118.1791	43.5733	6582
+-109.8045	31.4104	8871
+-115.4517	32.3195	7975
+-119.317	31.7442	6871
+-122.0893	33.1975	4179
+-90.8647	35.1937	6175
+-118.9829	48.4493	6664
+-89.264	37.4557	9209
+-114.4725	45.1481	5101
+-115.1669	46.3109	5952
+-96.0447	38.4926	3316
+-89.2697	36.8994	8786
+-118.0582	34.5477	8563
+-78.6433	24.1026	4168
+-89.3125	39.1544	8191
+-86.183	24.4869	3997
+-112.9607	27.0519	3798
+-107.7685	34.3209	5409
+-116.563	30.9965	7673
+-82.0683	28.4657	9098
+-82.3635	31.5593	5594
+-118.0571	34.3597	8641
+-91.0111	38.7673	8747
+-88.8309	37.5654	9681
+-120.3746	32.1723	5884
+-121.1978	31.9396	4933
+-109.1872	30.2045	7531
+-82.926	27.8181	8994
+-86.3964	39.0932	6709
+-112.3123	29.3575	6247
+-108.5436	33.6024	6550
+-123.2089	43.1941	5448
+-118.9426	31.8562	7302
+-121.6501	44.6694	6733
+-83.1372	29.517	7610
+-107.5732	35.8781	3942
+-112.3944	29.7978	6519
+-79.5334	27.1584	6872
+-83.7404	26.7929	7767
+-85.797	28.3911	5688
+-91.9547	38.6461	7727
+-80.235	26.2359	7134
+-90.0994	38.0363	8596
+-116.9608	33.849	9082
+-121.726	44.2325	6337
+-89.9101	36.3184	7831
+-109.0724	27.0017	4325
+-120.7813	44.1549	5908
+-110.494	29.9169	7660
+-81.50	32.6549	4316
+-124.2789	48.7372	7141
+-82.6969	27.4279	9149
+-88.0732	38.7302	8389
+-84.994	29.2816	6230
+-111.4817	31.3701	8208
+-92.1613	39.7272	7238
+-80.2283	26.0761	7011
+-88.2659	38.4313	8788
+-111.551	32.1578	8015
+-107.8924	33.0287	6400
+-115.0246	34.7156	7011
+-118.9151	46.5678	8428
+-108.4136	31.7741	7383
+-118.5327	46.5154	8747
+-90.6387	41.5534	6390
+-82.8679	30.5264	6661
+-120.1066	37.2338	4951
+-88.7597	37.6269	9770
+-116.6248	31.8564	8616
+-116.0213	32.4621	8627
+-119.7272	44.2915	6810
+-114.4647	30.7475	6132
+-91.1497	35.1945	5961
+-117.7994	36.8906	6474
+-117.5755	36.0311	7440
+-120.8339	33.1893	5513
+-114.0689	31.9723	6386
+-82.5257	25.6539	7461
+-92.9969	41.2761	5507
+-108.3409	30.6295	7080
+-110.6506	33.9959	6837
+-116.5865	34.3728	8751
+-123.0615	48.3888	8034
+-89.8138	36.3922	7964
+-115.0141	30.8732	6680
+-116.5084	32.602	9188
+-118.4746	36.84	6305
+-90.0531	38.1673	8702
+-84.952	26.9321	6567
+-123.8609	46.4575	8412
+-94.4325	36.239	4289
+-119.9876	49.0343	5667
+-125.9815	44.6781	5389
+-117.2304	32.9123	9440
+-90.058	35.1884	6679
+-125.5586	47.2697	6666
+-116.1786	30.2015	6706
+-118.9245	46.2428	8565
+-114.7951	32.4144	7290
+-111.6869	31.246	7962
+-82.3947	30.5051	6780
+-89.0712	37.4014	9362
+-80.1235	31.0463	5541
+-87.5112	38.2065	8281
+-80.3109	26.8302	7574
+-116.1595	32.627	8828
+-115.8322	34.176	7972
+-108.9688	28.5366	5857
+-119.3847	35.759	6625
+-88.6038	38.2317	9154
+-79.8286	26.7073	7023
+-87.3759	37.9738	8216
+-115.0205	46.0811	5805
+-116.9026	33.8041	9003
+-118.6371	43.364	6339
+-112.3437	47.8155	2713
+-112.2172	31.1964	7390
+-120.1363	45.5824	7223
+-89.917	36.3699	7870
+-89.2443	40.3651	7294
+-84.0344	34.0893	3157
+-120.2224	34.9785	6184
+-89.659	38.8556	8635
+-79.3394	26.651	6489
+-123.3617	45.8157	8244
+-123.7128	46.6643	8653
+-88.80	37.4457	9565
+-114.4621	33.2204	6923
+-87.5899	36.1059	7622
+-112.8878	35.9338	4373
+-82.4192	28.5555	8943
+-117.0173	33.2294	9289
+-119.9914	31.4975	6072
+-120.3124	45.6792	7066
+-116.0709	36.5711	6576
+-87.9281	36.8903	8533
+-90.2402	38.7682	9269
+-114.773	36.2386	5978
+-88.5263	41.8437	5535
+-119.9343	48.6474	6046
+-109.6717	32.2424	8462
+-115.8337	33.3713	8346
+-90.8956	39.5035	8442
+-121.3623	46.4045	7807
+-118.2826	32.3775	8205
+-122.4634	47.0293	9122
+-120.1391	47.5618	6759
+-122.0571	44.8141	7067
+-89.6957	33.7705	5320
+-87.8684	36.7683	8390
+-117.9434	38.4818	4737
+-120.5794	31.5408	5479
+-116.2912	32.0577	8620
+-116.7901	46.0675	7679
+-84.3316	28.9607	7062
+-121.203	45.8525	7376
+-120.5034	30.9934	5315
+-108.5372	29.8005	6732
+-113.8573	32.7297	6283
+-79.4626	27.3238	6830
+-115.038	33.8782	7297
+-121.0641	35.7482	5037
+-111.1607	30.8619	8284
+-88.0503	37.0992	8790
+-109.6103	33.8507	6895
+-117.047	32.0909	8938
+-118.5476	35.1254	7770
+-122.5574	46.1529	8636
+-88.6422	37.123	9190
+-115.0352	32.7727	7598
+-91.5759	38.9469	8121
+-89.8641	38.717	8864
+-84.6599	33.0522	3264
+-80.6811	24.8625	6219
+-119.0223	32.8734	7459
+-88.7333	34.0878	5798
+-116.202	33.5608	8563
+-82.011	28.1902	9394
+-111.8464	30.0116	7110
+-111.784	33.6548	6734
+-86.5717	38.3387	7238
+-90.2376	39.7632	8321
+-88.6021	37.2198	9281
+-91.3795	40.8136	6954
+-90.9739	37.9729	8372
+-87.2733	32.694	3988
+-88.062	35.7338	7506
+-81.8778	26.0991	7984
+-87.969	38.0409	8826
+-120.2887	32.6266	6041
+-89.8912	39.7982	8176
+-88.6232	36.7182	8739
+-120.6581	49.9913	5470
+-118.1113	31.0992	7451
+-93.5077	41.524	4921
+-90.6011	39.3687	8717
+-114.0459	29.531	4877
+-114.0372	32.1707	6407
+-117.6637	31.1706	7759
+-119.4483	36.0859	6344
+-90.0714	43.4665	4330
+-113.9367	33.3377	6324
+-121.6997	44.6489	6739
+-89.2545	35.7874	7636
+-108.3238	29.3297	6202
+-90.1812	38.1752	8768
+-116.6551	37.5703	5730
+-82.0223	27.3456	9400
+-118.7178	32.9496	7794
+-87.8162	38.4948	8400
+-120.9346	45.0729	6608
+-82.3895	29.4322	7986
+-92.5838	40.5436	6365
+-119.4504	36.9139	5681
+-125.1203	49.159	6178
+-120.3054	33.5295	6158
+-126.0074	44.1945	5031
+-119.4485	31.5049	6622
+-90.4828	39.5742	8530
+-108.6916	31.5717	7695
+-116.8956	44.886	7308
+-111.4089	31.8402	8275
+-87.2699	35.4779	6839
+-88.4337	37.2255	9195
+-90.2858	36.4429	7626
+-123.5393	47.8166	8438
+-78.1716	25.5387	4750
+-111.5154	31.411	8179
+-90.1451	35.5262	6958
+-110.1497	29.9058	7645
+-122.925	45.7872	8310
+-91.0234	41.8797	5981
+-82.5876	29.1543	8241
+-89.8457	39.322	8578
+-119.096	36.9969	5831
+-83.4489	29.2602	7641
+-84.3039	27.332	7388
+-108.4247	27.8661	4946
+-90.0729	39.6575	8391
+-120.6177	45.8368	6773
+-87.9558	36.9235	8581
+-120.4019	44.7089	6576
+-84.5029	40.5729	4023
+-84.9642	27.8293	6689
+-117.4817	29.3484	5842
+-89.0664	38.119	9205
+-92.5809	42.115	5093
+-92.1266	40.381	6851
+-82.5924	30.9408	6264
+-121.0826	46.6974	7588
+-126.2275	48.6779	5495
+-116.2363	33.0693	8891
+-83.4938	27.2313	8238
+-119.0591	47.1157	7907
+-116.7281	31.0447	7759
+-122.6307	43.0298	5271
+-116.7662	34.2804	8969
+-108.8192	35.6261	4796
+-124.6097	49.0038	6684
+-77.7818	26.3564	4717
+-119.7771	46.8056	7511
+-91.4783	36.1573	6391
+-110.0214	34.6894	6091
+-123.9631	45.5893	7695
+-112.8235	33.8982	5790
+-91.3264	36.7553	7046
+-117.2042	48.6212	6356
+-114.1357	45.8755	4861
+-112.1747	31.3486	7462
+-107.6489	31.6692	6564
+-89.3717	42.0494	5705
+-118.095	35.3634	7920
+-120.0294	46.9503	7204
+-88.4867	39.8348	7069
+-114.6273	33.8344	6907
+-124.3317	46.1159	7777
+-116.7484	33.2665	9195
+-112.5118	33.844	6072
+-88.4448	39.7627	7434
+-90.563	39.7468	8333
+-115.5209	34.2029	7632
+-108.8482	33.4208	6914
+-121.256	47.3846	7743
+-108.5308	25.1709	2257
+-108.2113	32.3355	7034
+-121.2158	47.3756	7702
+-111.6368	32.0029	7990
+-81.3081	28.4725	8664
+-121.3328	44.9881	6833
+-107.9186	32.0957	6799
+-92.4523	38.7481	7194
+-89.5097	39.3229	8298
+-120.0905	34.6498	6406
+-117.1974	33.072	9369
+-119.6405	33.8297	6927
+-90.931	38.2898	8653
+-113.227	31.395	6332
+-120.5086	48.6443	6397
+-117.5719	33.9382	9143
+-120.36	33.9213	6156
+-116.019	32.0005	8358
+-85.4936	38.0551	6115
+-118.0808	45.8062	8883
+-119.5122	34.432	7067
+-117.4346	31.1352	7806
+-90.9075	36.2475	6669
+-79.8398	27.2977	7244
+-109.6541	32.6807	8075
+-108.4838	30.7625	7281
+-116.7178	33.18	9262
+-80.6058	26.6306	7739
+-81.459	31.4695	5634
+-118.1782	44.752	7829
+-89.133	38.2338	9057
+-115.8603	48.4479	5687
+-126.5837	46.7376	5551
+-113.6923	29.8985	5402
+-118.6024	31.8117	7612
+-107.5485	31.0847	6408
+-109.63	33.2604	7503
+-82.367	27.6275	9585
+-108.7472	31.0675	7667
+-80.8496	25.1923	6638
+-115.856	31.3867	7733
+-114.6701	33.5946	7048
+-120.1317	46.6136	7229
+-123.4796	43.9275	6207
+-119.2067	32.2125	7165
+-123.7519	46.7576	8643
+-116.8373	34.9449	8536
+-118.8543	37.6327	5346
+-108.3008	33.1364	6702
+-119.6521	46.8312	7617
+-92.1262	39.8823	7184
+-118.9083	32.7635	7586
+-79.9704	29.7581	6566
+-116.2651	36.2456	6988
+-116.5077	43.9772	6329
+-108.692	30.6511	7428
+-120.6453	49.5812	5813
+-110.5433	27.3502	4882
+-116.9131	46.4555	7761
+-88.7535	34.7061	6493
+-108.423	31.14	7349
+-119.4719	49.085	5858
+-118.1869	48.9413	6250
+-117.5324	43.9351	6834
+-90.68	39.5236	8531
+-80.2195	26.4357	7255
+-87.7659	34.8956	6509
+-122.3768	44.4262	6757
+-113.9054	36.4349	5094
+-121.1936	48.2535	7258
+-85.6922	25.8086	5297
+-116.7231	46.5781	7532
+-92.3317	38.2078	7245
+-88.1846	37.705	9160
+-115.7525	30.478	6814
+-89.0138	39.3318	7821
+-121.4833	43.0291	5009
+-115.5198	33.9443	7621
+-115.1081	35.8686	6517
+-110.9318	29.8601	7497
+-88.5053	38.6428	8680
+-116.0504	48.4636	5817
+-90.9568	38.1962	8565
+-116.7198	31.0179	7728
+-78.9857	27.7042	6331
+-82.4134	27.8636	9557
+-88.3197	36.75	8671
+-88.5539	38.3133	9050
+-117.9872	34.4237	8690
+-88.7152	33.1555	4752
+-120.4119	34.0715	6106
+-119.7637	46.9721	7441
+-115.1455	32.9049	7719
+-117.761	31.1233	7667
+-107.7902	31.9677	6687
+-90.974	37.2675	7704
+-109.7147	31.2683	8721
+-114.7318	33.6941	7075
+-118.1369	33.1331	8401
+-116.6445	32.1248	8902
+-117.1709	33.7406	9097
+-113.5912	30.7485	5830
+-120.931	31.9284	5221
+-118.4015	43.5759	6584
+-119.5277	45.4138	7756
+-113.1346	36.2875	4455
+-119.4165	49.5564	5408
+-83.2385	27.9575	8624
+-91.5471	40.0286	7561
+-109.45	32.7292	7906
+-80.2898	27.4125	7769
+-118.4329	36.6677	6495
+-120.0858	28.7292	4018
+-90.8508	42.2275	5642
+-121.3851	45.5119	7299
+-115.8564	49.7086	4655
+-120.5799	45.1454	6627
+-87.1179	37.9269	7941
+-86.2585	37.3708	6980
+-91.3881	37.5931	7773
+-107.0125	30.2034	5577
+-87.8754	39.5497	7476
+-111.0532	32.1749	8464
+-120.6564	45.0077	6494
+-89.7629	38.9892	8708
+-93.4916	38.4524	6059
+-81.4362	27.90	9089
+-120.62	46.3075	6776
+-79.7458	28.807	6946
+-91.8841	41.5027	6045
+-118.3629	49.9783	5152
+-119.9031	36.5038	5670
+-122.8306	45.8404	8367
+-117.2681	33.2369	9176
+-110.2794	33.7667	7107
+-115.6667	35.019	7543
+-121.038	46.0259	7314
+-89.5278	38.8099	8500
+-87.8135	34.8071	6432
+-124.8661	45.082	6614
+-119.4434	48.4464	6488
+-91.5964	41.9658	5720
+-110.3593	34.5705	6237
+-122.1932	46.36	8583
+-92.9241	37.2047	6219
+-113.6711	33.9569	5863
+-113.2061	27.2607	3850
+-92.1934	37.9178	7277
+-117.7582	33.6418	8780
+-122.0571	45.5679	7812
+-90.8573	39.4661	8499
+-115.964	45.2855	6657
+-81.5004	29.79	7494
+-91.2269	36.9001	7233
+-79.9438	29.1461	6965
+-122.4978	48.5627	7798
+-111.5028	32.6342	7770
+-122.9627	46.6318	9232
+-81.115	28.5793	8418
+-123.7477	43.8395	6047
+-116.042	32.1577	8487
+-108.3372	30.5995	7062
+-122.064	47.1054	8675
+-118.9493	33.4746	7567
+-122.3462	29.5452	2730
+-89.4434	38.4965	8375
+-107.4381	26.9517	3556
+-87.486	38.6946	7971
+-80.9834	27.1734	8429
+-91.8571	37.6597	7448
+-95.0579	37.8326	4290
+-108.2989	30.1641	6786
+-107.2676	30.9829	6089
+-116.25	33.9573	8412
+-89.7482	40.2982	7621
+-90.7549	41.478	6457
+-108.6821	29.8829	6906
+-118.2787	31.783	7890
+-88.7401	37.0006	9068
+-86.4129	34.4385	5331
+-119.0339	30.2333	6062
+-118.3184	31.0833	7301
+-122.9742	45.3536	7832
+-80.162	28.272	7590
+-120.3782	47.2441	6733
+-117.3895	32.613	9229
+-115.7336	34.5091	7816
+-123.6289	43.3268	5528
+-112.4866	33.9074	6041
+-117.8934	35.8143	7581
+-115.04	33.2203	7557
+-85.6213	35.0078	5192
+-123.2195	47.069	9238
+-81.1213	28.5268	8460
+-122.8545	46.5052	9097
+-91.2683	42.4992	5272
+-86.4476	36.4035	6851
+-110.1266	33.0756	7841
+-119.0727	31.0407	6680
+-120.1968	44.1588	6374
+-115.9917	32.2823	8513
+-87.638	41.3538	5346
+-119.8884	32.1456	6409
+-117.8034	47.645	7547
+-91.0143	37.9591	8334
+-117.8431	31.784	8242
+-112.6182	33.5486	6208
+-118.589	32.3497	7870
+-119.8767	45.5734	7483
+-118.0957	35.6624	7640
+-82.6084	28.6806	8727
+-85.6908	27.9019	5865
+-89.9847	37.5894	8445
+-120.9102	33.0163	5381
+-79.1938	26.167	6106
+-90.6578	38.6324	9102
+-88.9629	40.8512	6691
+-80.2539	31.4852	5179
+-116.613	33.0959	9250
+-114.9125	31.0486	6730
+-92.498	43.567	3754
+-122.2405	43.685	5929
+-117.8546	33.2046	8672
+-86.0712	38.9258	6475
+-119.0624	45.054	7879
+-110.2969	30.9818	8821
+-85.5397	30.0188	5272
+-80.8371	29.9942	6977
+-118.0714	47.1191	8158
+-114.5482	33.115	7035
+-121.0031	30.2509	4418
+-110.0379	34.3534	6455
+-116.4365	32.3529	8967
+-83.6092	29.1418	7610
+-89.8222	35.881	7487
+-112.2292	30.076	6849
+-88.7221	38.2226	9188
+-114.8891	30.9543	6641
+-124.76	43.4649	5250
+-121.3147	48.6712	7049
+-122.6766	44.9105	7334
+-113.127	34.2255	5307
+-81.5299	26.8245	8627
+-83.7837	26.8929	7780
+-116.4782	44.7288	6860
+-90.9734	36.1807	6583
+-83.3851	28.1757	8403
+-119.8375	34.266	6730
+-90.9188	40.3534	7602
+-116.8629	47.2574	7320
+-117.7952	33.4016	8553
+-117.7052	32.8267	8929
+-117.9854	32.1141	8373
+-83.4252	27.2076	8300
+-112.7528	32.3525	6723
+-119.085	48.1188	6960
+-110.0806	34.0758	6759
+-124.4815	43.3295	5249
+-89.3579	42.3671	5372
+-117.2761	47.3266	7580
+-119.4584	35.8857	6477
+-87.3161	37.3102	8139
+-121.5209	44.3884	6394
+-125.0619	46.5562	7189
+-117.9698	33.5996	8575
+-116.8954	33.5102	8975
+-117.4676	31.6689	8356
+-79.2057	28.9689	6312
+-118.9144	32.3226	7511
+-109.0913	31.9726	8063
+-118.4681	33.4124	8009
+-84.8753	26.204	6322
+-89.4223	38.5085	8356
+-116.6132	49.7274	5031
+-108.4994	32.9854	6972
+-115.2489	33.4551	7709
+-115.816	31.9353	8136
+-125.1328	48.0567	6876
+-120.462	47.4227	6881
+-90.373	37.4124	7983
+-79.3471	28.2706	6689
+-115.9556	34.1729	8107
+-120.1714	35.7607	5906
+-126.9326	47.7293	5097
+-108.2043	32.3357	7027
+-120.8403	43.7402	5575
+-82.9649	26.1775	7863
+-118.3625	33.5325	8175
+-120.424	49.0278	6067
+-110.6043	26.2551	3693
+-118.5031	46.4532	8820
+-119.7492	44.4105	6892
+-93.5162	39.289	5998
+-90.3918	36.0357	7231
+-116.6994	32.3235	9127
+-82.3889	28.2351	9289
+-118.0056	32.2319	8423
+-84.9626	36.0864	5192
+-79.1252	28.4179	6410
+-82.3787	29.2301	8214
+-116.3787	31.3047	7943
+-121.8036	44.6865	6827
+-115.5804	35.8999	6874
+-90.5298	39.9214	8152
+-88.6479	38.2527	9143
+-89.9716	37.4231	8435
+-115.3805	44.4748	5737
+-80.515	25.803	7014
+-113.8959	35.7878	5442
+-87.5216	36.6578	8017
+-83.098	27.9988	8770
+-81.9679	25.8681	7736
+-89.4055	36.3484	8171
+-116.355	46.0501	7218
+-117.6446	46.4413	8494
+-118.0734	31.9614	8193
+-86.221	40.3413	5670
+-120.8095	35.2941	5471
+-92.5398	37.222	6576
+-86.9894	38.5875	7568
+-121.8633	47.3801	8380
+-90.7408	40.9846	6985
+-91.3737	37.8101	7953
+-88.9942	38.1133	9252
+-92.5579	38.3361	7038
+-82.4113	27.6897	9566
+-121.7038	43.4552	5531
+-123.0856	46.0557	8585
+-78.8656	25.8721	5619
+-114.8512	32.7482	7392
+-116.2252	44.6233	6578
+-90.7126	38.7033	9066
+-120.1729	47.8219	6553
+-125.6775	47.1629	6547
+-114.6528	35.9945	6038
+-115.2778	31.1911	7138
+-111.0858	31.3774	8628
+-119.8891	47.9131	6695
+-119.9916	42.5658	5103
+-110.0503	31.9935	8934
+-124.4178	47.5011	7838
+-122.6126	44.9626	7382
+-115.6722	34.0597	7797
+-93.1016	35.6355	4969
+-111.2357	30.898	8246
+-118.78	46.1312	8733
+-89.8585	42.903	4913
+-83.7141	25.0467	6333
+-89.609	36.2428	7959
+-95.5267	38.3442	3863
+-89.2883	40.8715	6851
+-90.6072	38.4593	9029
+-119.6091	34.135	6983
+-114.8101	33.8577	7082
+-80.4041	24.2478	5457
+-120.1977	35.3406	6080
+-116.3448	36.8471	6411
+-117.0762	47.8744	6988
+-82.4856	26.10	7965
+-115.4256	30.6312	6770
+-83.0151	26.5569	8199
+-120.7692	43.7865	5664
+-116.236	36.985	6230
+-82.253	27.6659	9716
+-80.8158	26.4436	7780
+-117.9946	46.0466	8950
+-79.7215	31.9788	4401
+-120.3497	46.2318	7068
+-117.9181	36.9825	6350
+-110.8174	32.6521	8202
+-92.2108	37.8619	7234
+-120.7793	49.0712	6324
+-121.9297	47.2001	8510
+-92.1721	34.7264	4678
+-119.2268	36.1217	6492
+-116.6685	31.0705	7777
+-93.0214	41.5083	5311
+-116.2665	34.6518	8309
+-89.5912	33.2461	4768
+-119.6447	36.1871	6110
+-117.4108	32.5628	9182
+-80.992	27.4343	8548
+-110.6447	33.5377	7329
+-117.5189	27.9432	4282
+-109.647	32.4443	8281
+-118.6333	33.5307	7909
+-94.1582	36.7038	4796
+-122.2321	49.2988	6941
+-86.2182	27.4192	5254
+-83.5505	26.8264	7968
+-89.803	38.215	8574
+-125.7073	47.6954	6420
+-118.2055	46.5962	8729
+-115.1653	28.1812	4206
+-91.548	41.2571	6445
+-86.1687	40.1309	5795
+-122.5725	45.8265	8303
+-113.3797	33.373	5646
+-89.9174	39.1475	8764
+-84.201	27.2257	7474
+-81.676	26.7778	8660
+-120.2944	33.8083	6216
+-111.1161	34.2142	6500
+-111.9573	36.8269	3526
+-110.3551	29.2619	6958
+-120.9975	47.0443	7514
+-124.7699	48.7307	6782
+-112.6128	35.6591	4414
+-88.6087	36.0442	7986
+-79.7809	31.8663	4545
+-91.2949	42.2196	5558
+-124.8869	45.8458	7100
+-118.1251	35.4549	7819
+-90.4428	35.2813	6543
+-82.0751	29.6635	7745
+-120.0573	33.4806	6412
+-110.7898	30.7841	8476
+-85.8468	27.1167	5627
+-90.9892	35.8566	6598
+-112.1775	32.4394	7271
+-122.5433	48.1315	8268
+-120.6118	48.7583	6413
+-114.987	33.5653	7392
+-89.9317	36.0824	7608
+-89.4425	39.1869	8306
+-81.3146	31.1347	5971
+-111.2131	33.6819	7008
+-115.5615	33.3503	8076
+-80.0749	27.1043	7446
+-79.7849	29.1008	6837
+-119.0097	47.0039	8032
+-121.3751	48.1244	7503
+-93.6349	38.1476	5860
+-122.033	44.6437	6882
+-117.5717	38.2759	5007
+-117.3514	33.6814	9036
+-83.5297	27.1015	8143
+-91.329	37.8048	7983
+-117.7163	31.7199	8271
+-121.9585	47.9087	8143
+-87.7854	34.5886	6189
+-81.6044	29.3802	7971
+-118.03	45.2602	8332
+-88.7473	39.4991	7485
+-89.1716	39.837	7670
+-90.9091	38.6522	8848
+-116.3759	45.3286	7081
+-87.2012	37.7523	8055
+-81.4716	32.8461	4097
+-125.2337	44.5639	5926
+-86.2985	38.1159	6999
+-88.7269	34.8749	6682
+-79.9187	25.5736	6366
+-110.2421	33.2445	7671
+-116.202	31.3682	7926
+-87.8549	38.4342	8477
+-87.4616	38.2423	8214
+-86.9586	36.103	7132
+-92.7093	36.4955	5933
+-117.969	36.1877	7170
+-84.6077	30.7434	5513
+-87.6166	31.9374	3256
+-118.4646	28.1195	4254
+-89.7891	36.0176	7638
+-124.8755	46.6379	7406
+-115.9618	32.7293	8628
+-112.913	31.5816	6679
+-92.2678	36.5173	6275
+-113.8567	31.7659	6091
+-117.2063	49.3001	5685
+-117.8451	48.1158	7076
+-118.2051	36.3309	6931
+-112.4241	34.3117	5749
+-111.4786	29.6713	7059
+-111.1815	27.7006	5168
+-119.9893	47.6036	6852
+-91.712	41.0736	6539
+-120.8421	45.9983	7108
+-119.9007	32.1718	6402
+-117.31	38.7025	4554
+-122.6715	46.6556	9182
+-92.3133	35.5145	5364
+-118.524	45.1191	8191
+-118.6413	45.7403	8723
+-116.0182	32.8468	8694
+-83.6847	31.4139	5408
+-83.317	25.469	6968
+-118.7064	32.6741	7806
+-123.0872	43.7618	6079
+-90.4899	40.0599	8008
+-91.3485	35.4634	6006
+-116.5864	33.2367	9121
+-117.2311	36.4646	6995
+-123.6951	44.5626	6824
+-120.7697	39.6469	2412
+-89.9964	38.8506	8993
+-84.0406	40.7861	3458
+-114.0871	33.6224	6418
+-117.4334	31.674	8376
+-120.0384	46.9206	7209
+-124.3826	47.4529	7892
+-108.6701	33.2376	6932
+-123.7824	43.6637	5850
+-90.5975	36.329	7270
+-88.4648	37.13	9125
+-118.3913	44.7959	7875
+-88.3695	35.3451	7172
+-108.8675	28.4987	5773
+-87.8877	36.7678	8404
+-89.8393	39.4224	8492
+-115.9083	33.2568	8474
+-119.2284	31.6712	6925
+-125.5578	46.8174	6682
+-84.1104	25.5922	6568
+-83.0667	29.8621	7297
+-79.2792	27.2775	6616
+-89.2456	40.5637	7117
+-113.7888	45.0622	4375
+-88.9199	38.5748	8781
+-120.1704	47.8838	6510
+-82.7358	30.6255	6587
+-83.4452	27.9788	8389
+-92.4943	39.1009	7118
+-119.6228	34.7317	6886
+-79.975	26.2375	6900
+-123.3819	45.8578	8278
+-116.5868	35.2513	8111
+-86.1955	42.7878	3382
+-90.576	38.9222	9146
+-86.2568	36.4891	6703
+-95.4719	37.1467	3674
+-88.3487	35.9092	7788
+-116.8789	36.4531	6972
+-89.4559	36.7049	8488
+-116.3037	44.3657	6473
+-84.0972	29.0435	7242
+-88.4611	38.6825	8624
+-117.5321	35.7513	7749
+-85.4733	36.7045	5964
+-109.0322	31.3214	8036
+-90.0046	38.4675	8915
+-91.378	38.7366	8352
+-79.4648	30.329	5707
+-117.0544	36.0692	7414
+-115.2459	28.6558	4731
+-118.9995	33.2069	7394
+-116.1063	33.9875	8262
+-125.332	48.9795	6138
+-114.9941	32.6624	7546
+-91.3018	37.1053	7394
+-106.2201	30.5175	4870
+-122.7456	49.0799	7278
+-110.8538	30.5796	8249
+-85.7647	39.4135	5916
+-120.3542	35.0949	6010
+-81.032	26.3012	7819
+-125.4493	47.6226	6714
+-120.6311	45.3854	6661
+-117.2395	34.8192	8789
+-92.8352	35.7653	5261
+-110.0281	33.4174	7459
+-108.4492	30.6417	7191
+-115.7655	47.9873	5928
+-92.1053	38.3135	7510
+-80.1209	31.0711	5515
+-89.9726	37.516	8451
+-90.9893	37.3787	7808
+-120.3053	48.3877	6356
+-83.7773	30.2444	6528
+-82.3539	29.4642	7956
+-113.3366	31.0999	6178
+-116.0074	32.5359	8638
+-85.9113	27.0096	5533
+-81.5015	28.5574	8747
+-84.9447	27.0911	6621
+-88.9532	40.6214	6886
+-125.5493	46.4681	6645
+-89.4767	35.2538	6992
+-82.5154	26.9533	8876
+-124.4372	49.8497	6017
+-118.5847	46.699	8550
+-91.6511	39.1659	7986
+-117.3338	35.3105	8252
+-117.4973	35.1078	8445
+-88.8118	44.412	3091
+-82.5553	29.5799	7786
+-108.1918	30.6108	6925
+-90.3202	40.1693	7893
+-119.0744	29.5805	5445
+-92.7482	33.815	3526
+-112.5148	29.5075	6211
+-86.1297	36.9516	6748
+-124.2415	45.828	7673
+-119.4071	45.0351	7621
+-91.9465	38.6149	7733
+-90.3906	41.762	6178
+-117.8931	33.2616	8606
+-121.1556	45.7669	7280
+-119.3871	47.9334	6994
+-116.4318	47.3449	6898
+-83.1935	27.7964	8692
+-118.2017	37.8655	5341
+-123.3675	45.5519	7969
+-84.8146	35.678	4849
+-108.2379	31.55	7203
+-87.0342	41.5769	5014
+-116.4827	33.1008	9127
+-123.1256	48.0806	8357
+-118.6342	45.5858	8601
+-120.8652	45.5613	6889
+-89.3714	40.9615	6803
+-115.8426	46.0146	6674
+-116.0771	33.8513	8204
+-118.0891	28.9095	5219
+-88.5728	37.0629	9104
+-122.1891	43.4593	5675
+-118.1164	33.3273	8260
+-125.7662	46.8598	6455
+-91.0225	42.0017	5852
+-119.261	35.8225	6687
+-108.0881	32.6002	6803
+-124.6766	49.0256	6618
+-91.423	35.8497	6104
+-117.5445	46.6643	8276
+-118.6983	45.334	8338
+-115.9848	32.3891	8558
+-115.0551	31.1891	6953
+-90.1103	40.0984	7942
+-115.4655	31.23	7317
+-90.2474	42.7446	5116
+-79.8275	32.3103	4128
+-108.074	29.6849	6276
+-109.992	28.5136	6127
+-122.6971	46.942	9382
+-91.3196	36.9728	7259
+-118.6192	49.3612	5788
+-114.7326	42.8601	4170
+-87.1627	37.5055	8006
+-92.3556	39.3772	7194
+-119.5662	46.6165	7796
+-88.5029	37.2945	9304
+-88.6498	40.7131	6602
+-121.7163	45.4523	7495
+-110.0079	29.1919	6859
+-115.7569	33.4255	8242
+-89.2343	38.0514	9135
+-88.2562	38.6113	8609
+-86.9829	34.6794	5910
+-119.1852	34.6382	7374
+-119.9836	46.1249	7460
+-123.942	45.2212	7373
+-114.2105	44.1523	4479
+-116.3532	34.9542	8198
+-106.3506	31.4087	5154
+-121.0753	46.3816	7501
+-120.173	46.8346	7113
+-90.2856	38.7017	9307
+-108.7671	32.7561	7354
+-77.9916	27.2366	5168
+-112.7335	32.5904	6653
+-90.8303	36.1047	6910
+-122.8187	48.4295	7997
+-123.1258	45.1576	7603
+-92.1822	42.5048	4937
+-118.1138	31.3257	7655
+-117.4335	43.008	5864
+-119.8771	34.2169	6689
+-107.2452	32.6153	5946
+-104.7287	33.3587	3104
+-89.3311	37.2969	9058
+-92.883	40.6029	6071
+-116.9184	31.978	8816
+-120.387	35.3041	5902
+-83.2754	26.6839	8112
+-117.0394	34.9267	8638
+-120.3795	46.2238	7037
+-126.0495	48.1391	5914
+-81.6437	27.4374	9225
+-87.4875	40.5953	6227
+-111.2147	31.7079	8509
+-108.2726	34.4171	5677
+-90.2523	38.7124	9277
+-82.2547	29.3504	8095
+-120.4501	33.619	6020
+-119.785	47.0992	7350
+-81.566	25.8181	7596
+-87.1652	32.8351	4102
+-115.5601	34.9863	7457
+-118.2921	45.9475	9099
+-116.0552	47.4269	6514
+-118.1463	32.6725	8427
+-87.3536	37.1446	8124
+-115.6513	34.7344	7658
+-116.3755	35.5784	7686
+-113.992	37.9055	4089
+-89.7526	39.261	8549
+-116.1549	31.5637	8088
+-87.3513	37.0862	8098
+-116.6026	33.0885	9246
+-89.031	38.5653	8763
+-84.3645	36.4349	4684
+-115.9748	37.0847	6024
+-110.8384	27.3382	4842
+-116.2592	29.9641	6475
+-108.4974	31.1131	7420
+-89.8382	37.5564	8606
+-118.7893	45.5874	8498
+-110.9228	30.5509	8185
+-115.3551	33.6458	7731
+-123.3524	44.7621	7134
+-83.6252	25.7895	7090
+-117.4329	37.2219	6164
+-122.9803	45.6727	8182
+-86.2165	37.223	6910
+-111.387	37.6504	2802
+-85.0321	30.7593	5179
+-82.2681	27.4787	9533
+-94.46	38.1381	4981
+-115.0903	44.1705	5309
+-120.4142	42.3069	4653
+-79.6608	29.7168	6330
+-119.4699	48.2783	6633
+-122.4718	47.1668	9087
+-87.819	41.8206	5112
+-87.3604	36.0158	7381
+-117.9133	48.4678	6722
+-122.6861	44.187	6543
+-91.5453	34.2471	4870
+-114.6257	33.4254	7055
+-113.3491	31.9257	6185
+-116.4899	32.0559	8751
+-113.9752	33.3676	6360
+-124.9381	45.6836	6960
+-116.7989	30.7578	7449
+-119.8266	44.6418	7012
+-119.7769	45.8766	7661
+-90.5616	34.0117	5245
+-107.2277	30.4488	5891
+-87.2646	40.829	5885
+-118.5553	31.4124	7388
+-124.8666	47.4274	7387
+-91.0101	40.8476	7065
+-88.9563	38.9676	8339
+-79.1546	29.8089	5806
+-117.5139	48.8192	6268
+-87.6367	38.5691	8191
+-116.8072	48.038	6680
+-86.1924	36.5105	6648
+-116.8963	31.1932	7940
+-89.2043	35.5818	7425
+-118.4767	35.7064	7373
+-107.2693	29.2841	5323
+-81.7247	27.0546	8964
+-111.0036	29.8119	7422
+-92.1919	39.7786	7182
+-116.5599	34.2096	8762
+-116.2146	31.1343	7697
+-115.321	46.7361	6052
+-109.4881	31.5825	8558
+-86.1267	39.7857	6015
+-123.3489	49.2096	7093
+-120.3147	30.3834	5136
+-109.6833	32.0752	8590
+-113.7909	29.2728	4968
+-121.2665	47.3057	7773
+-119.8531	44.3043	6734
+-115.6415	32.0891	8067
+-87.4852	35.9911	7448
+-114.8493	44.1937	5101
+-119.3511	43.5081	6292
+-117.8816	32.2065	8526
+-122.7961	45.8327	8355
+-89.2599	39.7002	7838
+-82.6017	26.4498	8311
+-122.29	45.7332	8094
+-107.0469	30.0789	5558
+-117.7074	30.2195	6741
+-116.7618	33.379	9085
+-83.0036	27.265	8756
+-82.1253	28.079	9539
+-117.3699	37.987	5333
+-91.2089	39.5315	8199
+-89.4698	39.302	8274
+-84.8481	28.6391	6666
+-119.2728	45.0576	7738
+-85.0437	29.9355	5786
+-88.3679	38.8386	8425
+-117.9496	49.9128	5207
+-121.3593	43.2428	5179
+-76.738	27.8188	3788
+-119.2657	32.887	7187
+-119.9857	45.8186	7433
+-88.2095	34.2536	5934
+-80.5992	26.2263	7433
+-89.592	39.5142	8239
+-114.3131	32.5979	6783
+-116.9339	47.6251	7104
+-108.3166	31.5397	7288
+-120.4029	34.1899	6116
+-86.3775	38.536	6961
+-115.825	43.1993	5234
+-112.2804	30.9846	7267
+-88.5744	33.9196	5604
+-90.362	38.061	8681
+-123.5556	44.3967	6692
+-112.8514	28.3878	5066
+-118.8491	46.0386	8658
+-81.7798	28.5241	8947
+-120.1006	32.4824	6237
+-118.0582	34.2498	8665
+-84.3586	28.5644	7218
+-119.5618	43.4186	6114
+-94.1232	35.2569	3909
+-87.8466	36.5071	8154
+-118.304	34.5098	8334
+-114.6923	35.1626	6514
+-81.3726	31.9511	5081
+-88.747	38.6387	8723
+-88.243	38.3483	8850
+-93.3459	37.9558	6118
+-89.6447	38.7701	8628
+-83.3127	29.209	7785
+-119.6525	45.9203	7798
+-117.9722	34.9253	8381
+-87.0727	36.6015	7569
+-89.8381	41.4659	6439
+-90.9956	38.0369	8411
+-107.7987	29.3733	5830
+-110.0345	31.4005	9094
+-84.1469	27.4136	7580
+-116.2813	31.8309	8414
+-83.3073	28.6364	8239
+-122.4126	44.3687	6702
+-89.258	37.2215	9071
+-105.559	27.638	2763
+-123.9492	44.6051	6767
+-119.6891	35.098	6694
+-87.1679	37.8184	8012
+-113.7603	33.252	6144
+-116.8887	35.6125	7872
+-118.205	45.3402	8452
+-83.3634	27.6273	8492
+-90.1664	40.179	7866
+-87.483	40.6435	6175
+-90.5953	37.0675	7597
+-123.8415	48.8402	7302
+-79.8438	29.853	6388
+-119.8842	45.0979	7260
+-116.8072	31.2166	7959
+-82.2365	29.1065	8372
+-118.6258	45.3761	8412
+-118.5674	33.6737	8033
+-121.7223	47.6127	8130
+-118.7785	46.5354	8562
+-116.3699	33.5696	8681
+-117.3218	32.2253	8984
+-108.5131	33.8343	6337
+-109.973	31.4504	9057
+-120.8687	49.5107	6030
+-117.7562	33.0599	8831
+-118.6558	31.1281	7089
+-116.7936	34.3767	8958
+-90.8567	34.6202	5669
+-111.7004	31.2663	7953
+-117.3751	36.0526	7441
+-117.8532	34.6983	8649
+-92.2976	37.0005	6629
+-122.2443	47.7695	8467
+-108.1587	28.2237	5138
+-120.2284	33.3096	6184
+-84.6101	26.4674	6728
+-119.9319	47.1647	7182
+-88.4306	37.3664	9310
+-117.1087	31.7668	8571
+-81.7146	26.425	8302
+-88.9669	35.6414	7531
+-107.905	29.7672	6188
+-115.4842	46.4994	6266
+-119.4827	34.3119	7113
+-126.7318	47.5075	5355
+-108.8148	33.789	6572
+-116.5402	34.507	8647
+-111.3647	31.1286	8252
+-115.4631	44.7229	5937
+-115.2344	38.3878	4395
+-85.6342	38.9568	6012
+-87.6718	39.4204	7494
+-78.6123	27.9934	5901
+-88.9299	40.9647	6569
+-115.5772	30.5415	6779
+-120.316	33.0801	6019
+-116.0795	29.6868	6124
+-90.4883	36.5636	7520
+-115.4434	32.5041	8019
+-85.4515	39.4231	5603
+-118.3326	32.0498	8006
+-117.3417	45.7175	8184
+-90.5287	36.2236	7259
+-117.6466	33.5561	8784
+-124.8734	45.0013	6546
+-86.7317	38.7246	7240
+-86.4491	35.5861	6320
+-111.5242	30.5492	7765
+-124.0834	44.957	7044
+-85.254	39.8877	5150
+-118.5583	34.5522	8057
+-82.4984	28.4089	9057
+-83.3777	27.9085	8475
+-112.0196	28.9568	6092
+-81.22	27.3043	8734
+-90.3865	34.9039	6221
+-117.3626	41.4853	4277
+-87.0782	38.1641	7839
+-79.8334	27.3933	7256
+-83.3234	31.6372	5311
+-117.9409	32.4107	8576
+-80.9273	25.592	7079
+-89.1248	35.0204	6818
+-82.8072	27.718	9128
+-109.8606	30.5061	8199
+-120.7863	45.534	6801
+-89.0795	37.9407	9348
+-90.0019	38.6237	8991
+-123.3343	45.7501	8187
+-90.2087	37.7186	8297
+-123.6723	43.5332	5740
+-121.5874	45.4655	7415
+-121.6811	48.1909	7708
+-118.0186	34.3838	8673
+-111.1473	33.0241	7681
+-115.5272	31.0084	7175
+-114.9494	35.3379	6689
+-90.286	38.9318	9202
+-80.225	27.6123	7726
+-115.4158	32.8243	8023
+-90.4681	37.9878	8598
+-122.5822	49.1224	7212
+-78.7573	27.3158	6039
+-107.9894	35.5709	4462
+-88.4177	38.0346	9245
+-117.3387	36.8498	6574
+-85.9903	39.0534	6331
+-117.8429	34.3727	8857
+-91.5507	37.6239	7676
+-89.0857	36.5524	8515
+-122.6012	46.7356	9191
+-118.2843	48.9902	6200
+-121.5362	49.3698	6570
+-118.5259	32.3366	7933
+-121.6544	47.9292	7877
+-117.3816	46.4764	8226
+-88.9418	33.9312	5618
+-119.8264	30.5173	5660
+-83.9137	28.9892	7449
+-89.9227	41.1607	6779
+-108.9681	33.3562	7049
+-117.3613	30.1934	6794
+-83.4613	25.9865	7380
+-93.6315	36.7398	5307
+-116.4047	30.654	7261
+-118.843	46.275	8639
+-121.4837	44.2781	6268
+-86.6005	37.1157	7306
+-111.6998	32.829	7470
+-91.7039	39.5411	7765
+-89.4432	37.1152	8836
+-125.0406	49.0631	6314
+-93.6007	36.3374	5090
+-110.9586	32.556	8221
+-120.2087	44.4008	6541
+-83.8634	39.2514	4031
+-87.2304	37.9662	8058
+-84.1227	24.9557	5996
+-91.8359	41.0798	6465
+-119.8883	43.5399	6060
+-123.0956	47.5393	8941
+-119.1796	34.3867	7433
+-107.1797	32.0637	6017
+-90.7016	36.5889	7070
+-119.8874	47.1803	7212
+-122.4553	47.0517	9109
+-82.4841	28.8082	8649
+-125.2123	47.6813	6947
+-79.0724	27.6387	6426
+-120.3071	46.3933	7095
+-91.0465	39.4389	8394
+-110.6269	30.0156	7745
+-109.001	33.3155	7106
+-120.2651	46.3806	7141
+-81.1092	28.2344	8619
+-92.3407	37.7924	7076
+-82.6141	27.8784	9334
+-108.5901	30.6157	7313
+-85.937	33.8471	4480
+-87.3746	35.3719	6803
+-81.514	25.3993	7124
+-117.5517	45.0088	7869
+-80.8725	31.329	5617
+-109.3826	30.8114	8147
+-109.5793	35.2398	5428
+-116.5092	33.0804	9164
+-119.969	49.5714	5173
+-116.4263	35.1146	8129
+-115.922	33.7504	8013
+-114.9263	33.9224	7164
+-120.1211	47.4895	6821
+-110.0497	34.2369	6582
+-118.4648	44.8419	7914
+-120.121	33.6028	6371
+-121.2981	49.576	6242
+-111.3639	30.284	7677
+-93.5764	37.3966	5686
+-81.8948	25.9283	7795
+-119.0199	45.7092	8377
+-111.6525	30.7833	7802
+-125.2092	47.1944	7057
+-118.0712	29.7933	6163
+-80.7707	28.0704	8313
+-90.9621	34.9783	5920
+-115.8092	34.3765	7926
+-106.3842	31.806	5188
+-121.5194	31.9518	4584
+-116.2444	30.8412	7407
+-94.6799	36.9991	4424
+-113.9506	37.0593	4714
+-118.0162	34.238	8712
+-117.8601	32.8875	8753
+-111.8252	28.1834	5451
+-122.5994	46.6625	9136
+-80.6736	31.4943	5363
+-117.0442	31.9375	8769
+-116.6383	45.8168	7493
+-114.3308	47.0765	4949
+-106.9762	32.5462	5690
+-116.2464	33.6739	8317
+-88.8664	36.9264	8977
+-122.0526	49.2007	6981
+-116.9346	33.33	9179
+-118.3209	34.7774	8190
+-113.2977	31.9361	6239
+-82.4201	27.6163	9526
+-122.0089	49.7533	6392
+-87.4528	37.6448	8340
+-115.9307	31.9831	8270
+-90.6139	35.9216	6963
+-91.7226	44.0332	3550
+-117.6357	45.6523	8427
+-84.6119	30.7311	5521
+-123.7277	45.5002	7756
+-121.9729	48.2823	7838
+-84.3342	28.3107	7328
+-113.3995	31.7099	6149
+-124.9812	44.8526	6347
+-116.5945	34.8551	8462
+-118.60	32.8196	7931
+-91.6086	40.1968	7381
+-89.9352	42.2657	5604
+-88.5832	36.7589	8776
+-89.0974	37.5165	9408
+-114.2677	33.5705	6627
+-127.1675	48.062	4766
+-79.9966	26.5829	7129
+-119.2877	49.2424	5767
+-80.5152	29.2943	7375
+-82.1482	25.6585	7507
+-115.5563	36.5063	6347
+-114.6483	32.7464	7166
+-87.8094	36.7742	8347
+-87.1041	38.8696	7511
+-117.7114	33.3977	8600
+-115.9788	33.5829	8358
+-120.1626	37.4811	4709
+-89.1724	36.5538	8486
+-119.8233	32.4562	6541
+-118.7963	36.0497	6863
+-109.5866	31.7541	8644
+-124.8878	48.2174	7026
+-113.2632	40.8932	1600
+-115.3362	32.9044	7932
+-120.8128	42.6534	4733
+-89.4949	37.9668	8931
+-114.997	33.6773	7355
+-122.1787	44.655	6946
+-87.0686	39.0986	7321
+-111.4218	31.149	8204
+-80.5875	27.109	7992
+-110.5861	30.3695	8130
+-123.2237	44.593	6974
+-109.1784	33.8685	6699
+-117.7378	31.6488	8192
+-117.9486	44.5766	7609
+-118.5114	48.9003	6285
+-114.9187	37.1365	5380
+-110.5187	35.5409	5181
+-120.4237	49.1142	6005
+-114.151	29.5732	4962
+-116.8992	41.2245	3893
+-85.7252	26.7653	5674
+-83.8268	29.6512	7026
+-117.1829	33.7826	9145
+-115.7377	34.189	7869
+-91.883	37.0949	7017
+-117.1557	35.7622	7757
+-116.1326	34.3614	8276
+-90.8578	37.3558	7837
+-113.6853	34.2988	5627
+-113.7241	33.625	6025
+-120.327	45.4741	6997
+-85.5565	38.8213	5985
+-109.8102	32.3677	8452
+-89.4598	36.6338	8419
+-116.4765	46.4358	7314
+-117.3418	34.4577	9175
+-92.7564	40.7199	6100
+-83.3425	29.4391	7558
+-118.3194	33.774	8324
+-114.5585	31.4122	6643
+-109.0042	30.483	7604
+-117.678	31.7808	8351
+-87.1643	37.3585	7984
+-109.7723	31.1418	8700
+-118.3928	37.7957	5358
+-81.4407	27.4748	9042
+-123.0557	48.1954	8245
+-93.301	40.0072	6000
+-88.0122	42.818	4349
+-83.8443	27.2732	7878
+-119.7485	46.869	7508
+-92.7353	34.4861	4176
+-111.2657	28.8681	6363
+-87.2488	40.1755	6523
+-86.9739	39.7067	6766
+-113.9832	34.664	5910
+-123.293	49.3849	6915
+-117.2562	35.7812	7740
+-109.0376	32.7793	7563
+-90.263	41.3904	6576
+-92.6308	37.72	6760
+-115.2253	33.4529	7685
+-88.724	35.2236	7073
+-90.5992	39.7855	8284
+-92.2847	36.5213	6267
+-112.5765	34.1023	5819
+-121.2047	35.356	5040
+-83.2721	28.5258	8344
+-86.8337	39.0358	7156
+-90.5914	36.7316	7237
+-117.3957	30.6481	7287
+-115.7745	47.0124	6433
+-122.3007	49.2243	7040
+-112.185	34.0256	6153
+-92.1957	36.8787	6617
+-89.4239	38.3626	8740
+-115.2815	33.2051	7824
+-108.1325	29.2137	5970
+-116.9822	31.816	8637
+-78.6769	33.6581	2165
+-108.4727	31.8623	7435
+-113.372	31.2632	6163
+-118.5455	44.8328	7890
+-119.1555	36.7329	6033
+-114.6216	31.5509	6781
+-117.6061	31.999	8595
+-119.5646	37.1721	5382
+-93.2289	38.8741	6354
+-117.1686	46.1477	8079
+-120.9568	35.577	5215
+-120.0316	47.8365	6651
+-124.1769	48.7829	7167
+-116.4157	32.2167	8844
+-122.7047	44.8356	7255
+-89.3957	39.9643	7737
+-112.4072	33.1015	6689
+-80.1463	32.086	4513
+-117.8321	33.9582	8892
+-122.7017	48.2786	8148
+-108.1907	31.1306	7101
+-111.0566	33.1151	7638
+-120.4205	47.4752	6825
+-117.7372	30.3705	6892
+-116.415	33.4595	8808
+-90.3169	40.4023	7642
+-112.4463	33.4488	6420
+-117.8486	35.0101	8390
+-81.6368	26.1608	7991
+-123.1746	47.6074	8840
+-115.6418	34.8278	7610
+-115.0412	46.6629	5776
+-107.647	30.491	6332
+-89.4329	40.8652	6925
+-124.1753	45.8102	7715
+-83.2048	26.0647	7617
+-118.544	32.5593	7970
+-90.6047	35.7885	6866
+-81.6163	27.4567	9211
+-81.5605	28.4258	8904
+-118.4047	34.3953	8264
+-117.8138	44.3365	7328
+-119.6418	47.7052	7033
+-116.8206	33.1666	9330
+-116.3853	34.5104	8492
+-118.5509	42.4229	5356
+-125.6538	45.9059	6364
+-120.6778	49.3205	6050
+-80.8074	29.3122	7589
+-88.0448	35.4677	7218
+-117.5466	44.0494	6953
+-90.3522	34.9898	6323
+-117.8209	47.3388	7860
+-118.4214	32.0698	7929
+-109.2229	29.9775	7358
+-119.2405	33.6762	7328
+-118.1369	31.694	7944
+-90.3964	39.7412	8356
+-120.8581	36.5492	4816
+-117.2766	35.1944	8380
+-119.3855	31.6282	6747
+-121.2471	33.0207	5029
+-84.6113	31.3398	4973
+-80.4234	31.768	4969
+-88.5807	40.637	6612
+-85.9856	26.3644	5254
+-82.3236	25.6268	7462
+-110.9316	30.8455	8444
+-125.3691	44.4999	5772
+-119.5584	48.4543	6425
+-88.4692	34.9005	6693
+-119.4796	43.4218	6154
+-90.6177	39.4899	8588
+-81.4815	29.466	7833
+-84.0663	26.901	7496
+-120.5604	45.797	6828
+-115.3028	33.6732	7666
+-114.2647	34.2151	6262
+-108.8593	30.8945	7711
+-89.951	38.2934	8747
+-117.2649	32.5703	9321
+-81.1719	25.7301	7345
+-114.0981	32.856	6553
+-116.158	34.2991	8315
+-83.2085	25.0022	6537
+-80.4211	28.9341	7548
+-116.0639	30.5498	7031
+-115.5964	38.331	4610
+-115.719	31.3297	7588
+-118.4821	35.8565	7238
+-119.4416	43.7948	6528
+-114.6456	36.0884	5971
+-88.6824	38.8522	8480
+-121.6888	48.9477	7055
+-116.7907	45.4315	7528
+-123.1624	49.478	6832
+-89.144	36.0631	7967
+-89.474	42.4791	5287
+-81.4333	27.7734	9100
+-113.8771	31.88	6152
+-117.4171	30.8199	7470
+-92.7578	36.5413	5929
+-116.2178	36.6922	6521
+-117.9372	39.1075	4063
+-114.1435	47.3774	4672
+-123.4377	46.0759	8463
+-116.1616	33.4281	8625
+-115.8214	32.2493	8327
+-123.3114	49.3461	6953
+-116.0554	49.491	4963
+-119.8403	33.929	6722
+-114.534	33.6079	6900
+-82.0125	30.6563	6620
+-92.1097	39.1704	7509
+-120.0677	36.3592	5635
+-83.6947	26.9177	7882
+-112.9811	34.765	4989
+-118.4362	45.3864	8488
+-109.3205	29.8317	7281
+-112.6914	28.1408	4953
+-91.2331	39.6214	8112
+-84.3759	31.8304	4641
+-121.4205	29.5437	3588
+-91.4311	36.3918	6643
+-89.099	37.9968	9289
+-94.0006	35.699	4324
+-117.3612	44.3273	7144
+-120.777	41.7082	3912
+-86.9395	37.6298	7764
+-120.6431	48.9153	6330
+-110.2455	33.0237	7910
+-112.3906	34.4615	5640
+-115.0599	47.9453	5327
+-117.895	36.3928	6980
+-85.8526	38.1269	6503
+-86.9343	36.9385	7602
+-81.5849	28.3309	9002
+-123.1589	45.9296	8432
+-80.6866	29.1951	7592
+-123.8634	47.1359	8531
+-117.3958	45.3832	8052
+-126.4649	45.0218	5145
+-82.2455	27.249	9293
+-87.2288	41.7431	4737
+-117.2642	31.3262	8058
+-115.6206	34.3918	7720
+-108.2044	32.6281	6904
+-119.0204	31.2862	6896
+-110.7409	31.5644	9031
+-124.316	48.1913	7549
+-88.0322	38.1176	8847
+-114.3618	33.9646	6578
+-120.2704	43.6436	5914
+-79.7668	25.4047	6110
+-119.8912	36.5679	5633
+-121.3232	47.5023	7777
+-117.5079	32.8978	9142
+-110.4716	29.5962	7315
+-115.2055	38.3649	4404
+-81.2532	29.2045	7985
+-81.4448	28.2633	8932
+-82.1116	30.3882	6926
+-108.4698	30.9606	7345
+-124.3533	43.7421	5720
+-110.4253	32.0307	8979
+-125.0835	47.0369	7206
+-116.7703	48.3726	6369
+-116.7043	47.9488	6686
+-116.7408	44.2122	6679
+-111.6556	31.8311	8016
+-122.0171	43.8417	6039
+-113.9975	31.1075	5932
+-118.451	32.2258	7971
+-89.386	40.2919	7445
+-110.9697	36.7726	3809
+-111.6716	33.8235	6646
+-90.7013	33.3792	4536
+-90.1181	40.8923	7098
+-113.7594	34.5085	5690
+-82.1441	26.3687	8311
+-121.694	46.568	8211
+-118.4667	31.2718	7351
+-122.0075	44.8955	7129
+-110.1626	28.5099	6139
+-113.6444	34.2967	5583
+-115.6086	31.2404	7432
+-79.4212	24.7171	5275
+-89.5012	40.0712	7712
+-112.1914	32.7887	7074
+-88.9925	41.9983	5616
+-123.1315	48.0959	8340
+-83.7216	28.8159	7739
+-87.5195	38.0817	8339
+-121.7272	47.5616	8161
+-119.6523	32.5792	6746
+-122.2101	43.4044	5620
+-118.4132	31.6803	7701
+-116.4956	38.2309	4990
+-120.162	42.5514	5008
+-110.9513	30.223	7855
+-121.5837	48.5833	7316
+-121.1856	45.0654	6794
+-116.3072	34.6392	8355
+-122.0364	45.201	7447
+-89.1566	41.0385	6626
+-86.4007	39.3944	6526
+-118.8109	33.3399	7644
+-118.7849	33.1629	7572
+-123.0615	46.908	9417
+-87.5858	36.3681	7846
+-90.4222	33.0799	4342
+-115.6884	35.6653	7139
+-110.2597	28.8536	6515
+-80.0656	27.9185	7547
+-90.9372	36.3961	6818
+-117.8951	44.1554	7160
+-111.2843	28.2788	5748
+-110.1722	31.4983	9276
+-107.0605	32.8613	5667
+-119.8307	35.4777	6380
+-82.7118	27.8233	9235
+-115.5519	33.6327	7931
+-119.1455	32.5075	7298
+-92.8719	40.2808	6275
+-119.6128	34.7629	6888
+-83.558	25.2885	6659
+-118.1447	33.15	8387
+-87.6195	38.8521	7963
+-118.7996	33.3763	7673
+-84.5191	40.2498	4234
+-116.5043	32.9542	9215
+-106.0183	29.6094	4332
+-119.2658	45.961	8210
+-111.1099	30.4137	7952
+-88.5811	32.2653	3749
+-123.7919	45.8892	8070
+-120.5685	43.3418	5467
+-117.679	48.8395	6289
+-106.6145	28.557	4279
+-88.6377	36.6571	8673
+-126.4738	48.449	5356
+-82.1832	25.8297	7700
+-114.8159	32.0368	7201
+-115.7403	36.16	6770
+-119.5348	34.7206	6982
+-88.8869	41.3381	6202
+-88.782	42.1444	5379
+-117.0515	30.7449	7440
+-120.8028	33.2912	5573
+-82.2791	26.6049	8568
+-117.0544	31.4056	8176
+-115.0257	31.5156	7147
+-89.4014	36.5981	8421
+-117.4779	33.8925	9188
+-116.372	38.489	4687
+-116.515	48.4497	6146
+-85.7458	27.4966	5794
+-81.6531	28.9379	8460
+-115.1248	31.9396	7477
+-120.8777	34.4649	5582
+-118.0092	45.0334	8094
+-88.8195	35.1721	7015
+-120.0407	32.7083	6322
+-116.0211	33.4093	8508
+-83.1408	25.1517	6722
+-116.7403	33.9762	8939
+-116.9325	34.6098	8903
+-118.5569	36.7555	6350
+-122.6117	48.4769	7917
+-89.8403	38.03	8452
+-107.0209	30.6745	5752
+-89.4834	38.5136	8421
+-106.2882	30.4543	4923
+-119.0308	32.7577	7450
+-116.0562	33.7634	8157
+-92.3803	37.9999	7125
+-107.236	30.5308	5929
+-80.5137	26.4383	7523
+-117.478	34.1101	9306
+-83.0816	30.8167	6279
+-116.2061	33.3539	8714
+-108.4821	30.5557	7180
+-89.4444	39.6857	7996
+-113.0191	32.3924	6434
+-116.3304	45.3586	7048
+-117.7451	30.5063	7034
+-114.0261	31.8426	6298
+-123.8799	44.4181	6606
+-88.1285	39.9644	7138
+-117.2576	34.9659	8630
+-111.0143	34.6838	6034
+-86.6755	38.6189	7236
+-116.473	38.9123	4253
+-119.8162	35.0597	6579
+-117.3646	46.0704	8287
+-91.1859	39.0699	8493
+-114.9543	30.9587	6698
+-80.6102	25.8279	7103
+-89.3008	32.8775	4407
+-109.1087	31.4885	8143
+-118.0991	33.0605	8461
+-120.59	46.767	7059
+-81.3032	27.9122	8939
+-91.1032	41.5417	6317
+-117.5735	33.6726	8934
+-109.5646	31.7393	8624
+-115.922	32.5404	8548
+-82.8458	25.2911	6978
+-117.6309	47.534	7592
+-120.7127	46.2374	7073
+-116.1435	34.2443	8307
+-119.4715	27.7533	3452
+-122.5624	43.8998	6217
+-90.6003	40.3704	7662
+-91.9585	39.864	7345
+-118.9123	47.4548	7679
+-79.8095	28.7365	7044
+-117.9727	34.1037	8767
+-126.3971	46.493	5729
+-118.7496	32.1479	7629
+-118.1906	32.1671	8207
+-113.0425	31.6092	6538
+-80.9698	31.114	5883
+-111.7865	33.9435	6471
+-121.3295	45.3532	7132
+-80.2807	26.6132	7423
+-83.4142	25.5274	6974
+-81.2032	29.1606	7996
+-90.0766	37.83	8379
+-88.8387	39.8205	7399
+-116.0978	44.2861	6253
+-121.8078	30.6906	3855
+-79.5457	26.9374	6818
+-117.1408	27.9399	4310
+-114.8007	30.6008	6297
+-106.062	33.1767	4534
+-92.6357	39.869	6714
+-89.1042	36.2029	8130
+-83.4935	30.5359	6402
+-116.4324	31.5004	8168
+-119.0453	46.2121	8445
+-123.2814	42.8248	5037
+-90.8248	41.4645	6460
+-94.7037	39.5872	4681
+-80.7113	26.1593	7465
+-122.5504	46.6903	9117
+-115.0042	28.2159	4174
+-117.4371	35.6953	7824
+-121.8963	48.1096	7935
+-89.5166	38.9087	8475
+-88.9826	41.0399	6531
+-91.9785	38.1285	7579
+-116.0128	36.4491	6665
+-117.2518	32.8845	9426
+-124.7808	47.1079	7534
+-118.0139	34.8839	8382
+-111.2776	33.1842	7460
+-81.8847	29.6327	7763
+-117.1952	33.9407	9314
+-113.2401	34.0269	5359
+-119.159	37.6588	5173
+-117.1164	33.9742	9299
+-120.0742	43.5868	5992
+-89.9573	38.9457	8919
+-115.8735	46.2879	6701
+-117.7715	33.7129	8821
+-114.1597	30.7073	5837
+-117.5933	31.7237	8348
+-84.3653	28.3306	7288
+-87.3059	36.5754	7769
+-119.4605	32.3645	6926
+-118.5967	33.8376	8052
+-87.4607	39.9843	6828
+-116.3407	31.0891	7703
+-113.9394	30.6259	5431
+-91.0672	40.2585	7639
+-118.2198	46.1433	9179
+-84.6052	37.1993	5115
+-89.5541	37.3629	8868
+-110.304	30.1543	7925
+-112.6497	34.4443	5485
+-113.726	36.7021	4766
+-116.6874	33.0727	9330
+-123.1965	48.2323	8178
+-114.2399	32.8196	6711
+-115.3143	31.398	7324
+-83.4666	30.1936	6760
+-88.6008	38.3655	9008
+-91.8507	35.7992	5872
+-107.9221	34.2197	5603
+-88.5142	39.9223	7046
+-122.3464	45.818	8205
+-92.7621	38.5573	6852
+-121.0151	28.8171	3405
+-88.7766	38.3699	9025
+-78.9694	27.1057	6236
+-88.2491	36.8873	8766
+-109.2778	29.9724	7387
+-88.4638	37.7238	9469
+-83.7834	26.5373	7565
+-89.5525	36.8765	8565
+-120.8482	41.7868	3946
+-88.5907	38.7737	8556
+-83.7131	27.4363	8067
+-107.7117	32.0679	6585
+-108.5942	32.3276	7424
+-92.0586	38.2312	7534
+-115.4506	35.4322	7102
+-116.5771	48.9347	5756
+-114.5549	38.7515	3696
+-116.4425	34.8357	8357
+-110.9789	34.0483	6713
+-92.8985	38.9685	6703
+-107.8302	29.89	6199
+-87.1651	37.2726	7964
+-111.9911	31.6878	7674
+-84.2692	30.9571	5549
+-122.0788	32.208	4010
+-121.952	49.0929	7048
+-87.6306	40.585	6299
+-122.2112	46.3839	8615
+-90.5406	38.0448	8646
+-94.1114	37.2036	5074
+-119.842	31.105	6020
+-90.4663	36.9085	7438
+-122.0491	49.4633	6708
+-121.3777	32.9255	4864
+-82.4573	29.6088	7776
+-115.8957	33.6865	8214
+-114.5189	33.0812	7007
+-89.4026	37.2915	8987
+-119.1252	34.2985	7502
+-116.0585	36.2284	6900
+-88.0066	39.7091	7368
+-90.8281	38.611	8922
+-120.4697	39.7744	2462
+-117.5439	46.0917	8477
+-116.592	32.1925	8941
+-77.9443	27.4782	5142
+-123.1098	43.773	6090
+-90.6839	40.215	7812
+-125.3581	47.8606	6733
+-87.6379	36.2638	7794
+-94.7249	37.6113	4587
+-118.3872	46.7106	8605
+-123.4718	44.9805	7335
+-107.5906	29.0375	5419
+-85.6023	35.2034	5314
+-120.5502	31.2072	5371
+-108.4797	29.4995	6452
+-91.3358	36.6296	6919
+-109.8451	29.4301	7081
+-90.0854	40.0223	8016
+-81.1947	28.0223	8792
+-90.6083	38.5616	9108
+-119.4654	31.9852	6815
+-122.7319	46.418	8976
+-84.9736	29.1038	6341
+-114.2114	30.5485	5772
+-123.512	46.5732	8807
+-118.4877	48.8025	6390
+-119.2232	31.6871	6938
+-85.4492	35.1751	5158
+-114.1835	37.064	4898
+-87.1709	39.5958	7004
+-120.1282	33.6805	6378
+-120.5045	35.4198	5737
+-122.213	47.0778	8842
+-90.6143	39.4947	8584
+-117.8287	32.9453	8781
+-123.3767	43.0291	5249
+-118.7397	45.2185	8209
+-89.5377	35.966	7720
+-111.8678	32.9715	7232
+-117.689	37.0016	6375
+-88.2735	40.6635	6354
+-88.9305	39.2262	7777
+-114.1146	34.5626	6068
+-110.1798	33.3155	7589
+-118.6642	46.1798	8848
+-112.2973	33.4167	6563
+-85.9185	36.4331	6331
+-114.6954	32.0425	7076
+-109.1734	31.5412	8216
+-123.5088	48.0816	8210
+-123.389	49.5327	6736
+-112.8323	28.3111	5013
+-87.8886	37.4721	8806
+-89.4737	35.1074	6835
+-116.6679	31.943	8723
+-118.1937	48.5891	6623
+-118.21	47.5287	7745
+-115.9032	31.2718	7661
+-118.2289	34.6655	8338
+-114.9431	32.8567	7495
+-120.0785	43.1264	5582
+-80.9229	28.3775	8359
+-89.2259	38.8775	8169
+-115.2497	33.1927	7792
+-116.7993	46.5326	7623
+-112.0824	32.128	7489
+-85.0507	28.4153	6511
+-123.1496	31.4188	2682
+-119.6559	30.762	5978
+-115.59	32.5583	8191
+-115.2165	34.0205	7298
+-91.1928	37.958	8204
+-116.7198	30.9539	7657
+-91.0489	36.9396	7345
+-84.461	24.656	5497
+-115.798	34.9125	7724
+-109.115	30.3194	7572
+-110.358	33.23	7689
+-121.0331	45.6987	7127
+-117.8614	37.6866	5608
+-118.0442	37.4658	5805
+-116.6483	36.7425	6613
+-80.1712	28.5328	7509
+-117.8084	44.9711	7963
+-89.3713	35.9863	7811
+-92.7318	41.1369	5815
+-124.6264	46.974	7709
+-94.4214	38.1445	5023
+-94.6959	39.1009	4761
+-88.8111	42.5463	4996
+-89.5949	38.0043	8811
+-89.3038	42.7913	4916
+-85.4597	37.094	6048
+-118.6821	30.7063	6719
+-90.1306	39.7968	8264
+-91.704	38.066	7821
+-85.2727	37.1646	5853
+-89.166	42.5798	5093
+-117.6295	46.1268	8568
+-89.6894	37.1259	8615
+-91.2431	34.5233	5324
+-116.7896	32.9204	9524
+-110.6383	31.0899	8845
+-120.2748	48.8118	6081
+-118.5812	32.3787	7887
+-116.8888	34.3619	9056
+-121.2777	42.1824	4038
+-89.7706	37.1182	8531
+-82.2105	32.1785	4900
+-108.1417	31.7124	7095
+-90.1049	43.1432	4680
+-109.4205	33.0553	7597
+-83.5251	29.1943	7637
+-108.8515	31.1555	7802
+-112.5792	32.8419	6684
+-108.03	33.1668	6445
+-85.6055	39.0079	5960
+-90.4034	38.1864	8817
+-116.2268	32.9612	8912
+-108.8854	26.5275	3776
+-116.6718	34.9791	8410
+-118.3549	45.5358	8658
+-121.897	46.1365	8176
+-108.6778	31.7045	7675
+-115.6025	32.9671	8222
+-125.3657	45.1822	6262
+-116.2431	47.0835	6862
+-118.1086	47.5774	7685
+-81.6537	26.7823	8654
+-92.6875	35.9615	5526
+-107.0564	28.0967	4289
+-114.9497	31.5109	7073
+-91.0673	40.1302	7764
+-90.5629	38.7246	9229
+-118.0828	42.4602	5400
+-116.1648	47.9138	6307
+-82.8894	25.2275	6895
+-116.949	28.6804	5139
+-109.7433	32.6319	8170
+-119.3249	45.4644	7968
+-88.2505	36.8904	8769
+-123.9621	45.818	7887
+-119.4644	44.8641	7450
+-117.6116	36.7963	6609
+-87.9664	36.6366	8352
+-112.1895	29.1166	6129
+-84.0309	27.4439	7715
+-87.0804	35.0827	6352
+-114.2218	48.7138	4145
+-84.9682	37.8105	5548
+-118.28	34.1336	8432
+-92.3003	39.018	7338
+-90.4285	37.4603	8033
+-90.6175	37.8571	8429
+-81.9223	26.3554	8278
+-111.4889	33.7697	6794
+-115.8954	45.5308	6661
+-109.7368	33.0766	7731
+-80.7677	28.4041	8187
+-115.5173	31.2509	7373
+-86.9368	39.711	6735
+-118.8209	34.6301	7758
+-118.0267	33.2024	8495
+-116.709	35.4956	7932
+-124.6559	47.7603	7489
+-122.1494	47.9116	8280
+-90.2487	36.7034	7831
+-115.893	46.4722	6699
+-89.5032	39.4686	8200
+-81.6563	28.5072	8896
+-116.3271	32.3808	8890
+-107.7952	30.4159	6447
+-111.8287	31.5749	7853
+-116.7351	37.0109	6346
+-78.8055	27.665	6126
+-91.5858	38.1793	7990
+-112.5665	33.9388	5957
+-81.9334	30.6004	6678
+-113.5214	31.0835	5977
+-109.937	29.237	6895
+-116.9586	44.4958	7057
+-110.4113	28.839	6499
+-107.7929	29.4288	5865
+-80.7383	30.7876	6128
+-90.2469	36.7569	7865
+-116.7467	47.0661	7338
+-114.3496	31.2412	6346
+-85.0467	36.7704	5520
+-112.9664	30.8529	6513
+-115.8664	32.3964	8439
+-120.7464	45.243	6499
+-116.7991	34.1456	9028
+-81.3908	27.3854	8948
+-111.79	31.9836	7837
+-118.7376	35.1602	7581
+-124.6746	47.2612	7630
+-121.9996	48.7345	7427
+-86.9312	39.0285	7249
+-89.0673	37.5864	9466
+-82.6222	25.004	6718
+-117.0662	34.2537	9283
+-119.3722	46.1698	8105
+-81.7394	25.3152	7083
+-116.1883	36.5225	6679
+-121.1089	32.7794	5094
+-87.9057	40.6054	6377
+-117.56	31.5824	8225
+-82.0102	30.6295	6650
+-119.5943	33.5478	6920
+-115.9503	29.7891	6191
+-86.9718	38.6252	7531
+-92.4972	39.2789	7076
+-91.9315	37.0105	6914
+-119.3554	34.2223	7257
+-109.676	29.7891	7403
+-121.2202	46.1825	7570
+-119.861	44.6818	7014
+-90.4212	39.54	8572
+-115.3142	49.9898	4078
+-82.0425	27.2251	9271
+-113.5513	34.3432	5479
+-120.2097	31.8327	5973
+-87.0355	38.7465	7524
+-116.0763	35.6446	7439
+-114.8575	46.5752	5598
+-119.1257	32.6572	7338
+-116.5351	43.7795	6184
+-113.9692	30.5112	5535
+-117.5188	35.9527	7534
+-112.2244	32.7253	7080
+-115.506	36.4584	6356
+-119.2899	34.6439	7262
+-89.9223	35.1804	6738
+-117.9843	31.1055	7532
+-111.0199	37.5913	2922
+-92.1469	37.4971	7093
+-80.8994	26.3216	7743
+-118.5898	35.3305	7591
+-117.5473	48.2368	6867
+-79.037	27.361	6359
+-116.8585	36.3553	7074
+-121.8511	46.6426	8400
+-89.7266	40.2347	7675
+-88.1411	36.37	8200
+-117.4483	37.6774	5667
+-109.4721	31.6338	8539
+-122.1198	48.5604	7657
+-90.4543	38.8382	9302
+-89.398	38.482	8324
+-119.0175	31.9473	7268
+-117.0859	29.8883	6484
+-82.4728	24.9056	6633
+-117.6698	36.2619	7175
+-92.2642	41.4835	5848
+-116.5763	47.8666	6659
+-116.1699	46.9014	6867
+-118.4714	36.7871	6359
+-87.7363	35.2102	6826
+-114.0784	35.2221	5863
+-122.7353	46.3516	8907
+-110.1339	34.8724	5903
+-117.6602	35.5323	7953
+-82.5976	26.8122	8692
+-89.9851	36.4228	7861
+-117.2414	45.7163	8085
+-86.274	37.9966	6993
+-80.9434	26.8256	8176
+-86.7143	38.9513	7097
+-107.2775	29.8707	5678
+-87.5094	38.0471	8341
+-88.8006	35.7559	7671
+-118.7731	31.7912	7436
+-80.0365	31.9263	4622
+-118.0922	46.9612	8326
+-83.8576	26.5864	7528
+-116.0163	46.4591	6830
+-125.2716	46.7895	6993
+-121.6411	46.1639	7966
+-111.4847	29.8872	7252
+-92.0826	35.6784	5641
+-119.4744	31.3178	6494
+-115.8429	37.4387	5612
+-92.9393	40.0296	6343
+-88.6896	39.8367	7255
+-111.5307	32.7639	7652
+-90.2327	37.3857	7945
+-121.1473	47.229	7659
+-111.5861	30.8179	7883
+-79.8488	28.5631	7155
+-87.8558	34.6041	6229
+-84.1617	31.0039	5570
+-90.5559	39.4559	8641
+-79.0223	28.8414	6169
+-117.2316	46.4174	8097
+-123.216	46.0796	8572
+-88.2434	36.6615	8544
+-84.7395	39.7776	4711
+-92.6934	39.5221	6799
+-113.239	30.8669	6231
+-119.5526	43.486	6183
+-86.2885	39.1745	6559
+-92.3264	37.4997	6934
+-119.9108	46.1611	7536
+-118.2628	31.8056	7919
+-88.9032	34.6419	6417
+-117.2647	45.8903	8159
+-123.3534	45.6342	8060
+-82.5833	26.3038	8161
+-90.193	40.0832	7973
+-117.8293	35.5405	7885
+-126.1693	47.8885	5874
+-124.0577	45.7847	7789
+-118.6938	30.7901	6783
+-123.6322	45.5886	7892
+-91.0028	38.0547	8421
+-116.9892	45.0568	7500
+-83.246	28.4227	8431
+-121.6066	49.3448	6632
+-112.1181	28.6725	5774
+-111.0822	30.319	7881
+-81.3433	29.1117	8128
+-121.8558	34.3462	4526
+-86.6276	38.1908	7343
+-110.6794	30.1176	7842
+-83.7411	29.0731	7549
+-108.9087	29.6973	6913
+-91.5852	39.9461	7597
+-126.6423	46.2199	5414
+-118.1249	32.6593	8449
+-124.0625	45.1695	7255
+-115.6068	33.2076	8175
+-90.5485	38.8664	9206
+-91.2216	40.9564	6880
+-124.1861	47.7864	7931
+-109.1132	30.3236	7574
+-118.0666	35.6439	7673
+-124.5688	45.4968	7163
+-118.3761	44.5539	7620
+-107.5139	31.0123	6357
+-90.7803	36.3966	7143
+-109.9349	30.8458	8565
+-111.5332	31.2382	8121
+-116.5744	34.7835	8502
+-118.9439	47.9965	7134
+-114.7352	31.7387	6989
+-119.6937	32.6213	6703
+-119.146	45.0631	7832
+-90.1408	35.1158	6563
+-117.1271	47.4326	7392
+-119.5945	45.8708	7851
+-117.3778	46.5606	8185
+-90.5468	38.9784	9122
+-109.6658	31.4996	8745
+-89.4113	40.9158	6866
+-89.5389	36.7445	8466
+-119.424	34.10	7184
+-79.9768	26.0616	6782
+-86.1292	33.588	4364
+-122.2265	43.4643	5688
+-109.5578	32.6586	8037
+-88.8865	37.9957	9421
+-118.4712	45.1964	8283
+-91.2161	37.2622	7587
+-116.9329	31.2133	7964
+-109.3966	28.5792	6064
+-90.4058	40.1978	7864
+-88.3003	38.8346	8403
+-115.3877	34.5045	7449
+-110.1484	31.5329	9266
+-117.1591	47.9338	6982
+-90.1148	40.5285	7486
+-87.9788	36.7065	8422
+-109.741	30.061	7704
+-113.1048	46.0101	3775
+-116.1713	35.5153	7614
+-117.8814	44.3815	7391
+-122.7892	46.3284	8895
+-88.9687	37.6366	9586
+-115.0922	33.2108	7616
+-118.3514	32.5926	8188
+-90.4471	37.1279	7675
+-111.8386	33.323	6981
+-117.9875	32.0959	8359
+-105.8816	36.7924	2050
+-118.2633	45.0026	8098
+-124.8416	44.0496	5756
+-80.3367	29.1908	7299
+-118.4504	34.3189	8231
+-84.794	38.2228	5312
+-119.3638	36.01	6468
+-122.8911	45.1611	7623
+-108.0009	35.9366	4123
+-118.2164	44.3402	7395
+-115.149	37.6184	5090
+-89.2174	41.9212	5783
+-118.563	44.4168	7454
+-118.4317	34.9254	8001
+-116.5224	33.69	8593
+-89.0673	35.1648	6987
+-109.6539	31.5757	8737
+-86.6299	39.2282	6844
+-92.2146	38.6375	7447
+-119.0347	31.3726	6939
+-118.2302	42.8956	5866
+-114.7779	46.6705	5499
+-126.1382	45.7007	5786
+-119.7905	46.6757	7552
+-116.0238	34.8624	7966
+-91.4544	39.8569	7764
+-116.5301	33.3494	8985
+-118.4667	47.3173	7957
+-126.0984	46.8614	6090
+-90.8475	41.601	6311
+-120.2591	29.6975	4694
+-117.0325	32.6247	9527
+-124.231	47.1912	8123
+-81.7969	29.8755	7476
+-91.4495	41.8484	5893
+-113.0699	31.6291	6508
+-117.067	44.6326	7242
+-114.9117	31.1005	6767
+-110.743	34.007	6810
+-116.8624	43.1438	5787
+-89.4189	39.3589	8195
+-92.6375	40.9042	6064
+-90.4045	36.4736	7541
+-118.2283	47.9877	7260
+-88.6702	36.9037	8953
+-123.1928	48.9281	7427
+-79.5835	29.2732	6542
+-119.8931	32.5069	6470
+-115.5988	47.3523	6123
+-124.3491	49.5293	6372
+-92.4701	36.2963	5953
+-110.5332	32.0301	8943
+-91.7734	34.7899	5144
+-121.0143	48.5027	6934
+-87.9051	34.8739	6535
+-109.9112	32.3498	8525
+-92.9826	37.0477	6075
+-110.8941	33.4495	7362
+-82.7071	30.268	6989
+-110.7891	29.7565	7434
+-114.3553	35.3949	6077
+-120.7675	32.4254	5491
+-120.3099	47.3035	6764
+-115.8722	35.474	7428
+-118.5818	35.3308	7598
+-123.90	48.7135	7395
+-113.149	33.5444	5756
+-117.4587	46.5171	8282
+-122.6089	42.6366	4838
+-90.0849	37.3918	8304
+-117.522	38.2925	4992
+-117.3417	36.5953	6851
+-93.252	40.1168	5999
+-114.6848	47.0079	5330
+-119.9148	46.6912	7423
+-120.454	43.9653	6036
+-120.9193	43.5409	5370
+-80.4217	24.1703	5386
+-121.6259	32.9481	4610
+-89.5953	38.6284	8565
+-118.1775	46.4447	8879
+-83.5338	24.2257	5584
+-120.2437	45.2683	7005
+-90.7773	38.9042	8968
+-89.0854	37.3754	9331
+-89.661	39.4734	8323
+-89.4653	37.1964	8870
+-117.286	34.528	9107
+-93.112	39.8941	6235
+-88.3541	35.1385	6940
+-117.1706	30.2808	6915
+-120.3399	45.9017	7072
+-107.066	29.7515	5415
+-118.4808	31.9906	7829
+-119.2042	46.4488	8218
+-112.3601	31.9414	7244
+-122.0364	45.3978	7639
+-116.8042	46.5596	7620
+-76.9184	28.8231	3873
+-115.1893	36.0398	6462
+-110.2869	31.1038	8952
+-88.4537	35.4039	7252
+-120.7797	45.3393	6497
+-122.707	46.4177	8967
+-82.2538	27.8887	9698
+-121.8053	43.7942	5919
+-115.875	33.944	8006
+-88.4268	36.7088	8675
+-107.4552	29.6437	5713
+-88.1869	36.0862	7926
+-117.6848	33.3268	8770
+-93.8009	39.3636	5682
+-84.0021	26.6386	7423
+-114.904	35.1231	6744
+-87.4345	37.3638	8282
+-116.0583	35.373	7650
+-117.2257	36.5099	6945
+-92.1171	37.016	6781
+-116.4234	47.6766	6678
+-83.0999	24.6308	6180
+-108.1925	28.555	5455
+-83.2037	27.6288	8672
+-113.4821	33.111	5852
+-93.0862	37.033	5973
+-91.8923	36.6873	6670
+-91.2819	38.378	8376
+-83.5594	29.8895	6999
+-89.4046	38.4589	8673
+-116.3091	31.9461	8536
+-77.4557	30.6579	3671
+-115.1257	29.643	5661
+-122.7004	49.9417	6330
+-88.4804	40.3138	6770
+-127.1045	49.8413	4011
+-110.811	33.2214	7625
+-83.2405	26.4953	7985
+-114.8252	35.1461	6655
+-122.4102	47.5354	8782
+-117.1637	45.6372	7977
+-87.496	36.321	7738
+-87.7808	33.6662	5191
+-116.5214	45.7143	7350
+-110.4952	34.7897	5995
+-92.1274	38.2122	7457
+-88.0296	34.1014	5729
+-124.9655	46.0727	7134
+-119.1078	31.9287	7167
+-92.324	36.375	6119
+-113.7077	33.529	6032
+-109.5392	33.2758	7448
+-120.7595	29.8392	4374
+-115.3928	32.6886	7992
+-91.2548	39.4882	8193
+-105.901	31.4945	4670
+-83.7858	24.7573	6008
+-89.1456	40.0577	7484
+-110.1563	35.7865	4916
+-89.5403	31.1473	2446
+-85.5623	28.8575	5821
+-108.2018	28.9636	5814
+-126.9327	48.6772	4794
+-92.8091	39.0634	6788
+-117.8109	44.0566	7039
+-110.6341	32.5769	8349
+-118.4459	36.0784	7057
+-115.4554	31.6764	7641
+-81.3501	28.9376	8299
+-116.3249	35.4754	7749
+-116.1887	38.1673	4983
+-111.8883	32.1745	7671
+-82.7845	28.8305	8481
+-85.7556	35.4466	5616
+-81.669	28.9482	8456
+-119.6244	32.5446	6773
+-90.0785	39.4269	8624
+-89.1387	35.4319	7273
+-90.7381	40.7546	7230
+-93.3562	38.1036	6145
+-91.0144	42.0237	5831
+-108.2591	31.1196	7171
+-118.5329	31.6224	7556
+-88.4629	42.9711	4426
+-87.8573	36.5963	8239
+-93.684	36.5921	5174
+-127.5056	48.2895	4342
+-124.35	46.7766	8000
+-79.1848	27.8206	6556
+-119.3642	35.8645	6571
+-124.1581	46.2573	8019
+-91.789	36.7499	6789
+-91.4794	35.8229	6055
+-93.1956	41.8806	4889
+-90.8529	38.8414	8909
+-86.2517	39.0299	6604
+-80.6421	28.5073	8009
+-118.9579	35.6068	7091
+-115.0708	34.7665	7045
+-112.0946	31.9018	7534
+-87.1107	38.2702	7836
+-87.893	38.0666	8736
+-117.8124	33.7748	8826
+-116.5687	45.2184	7219
+-116.5148	34.0716	8715
+-91.192	36.2853	6628
+-95.2317	41.8026	3249
+-88.0539	38.3546	8703
+-115.6826	45.7037	6474
+-120.3978	46.6743	6940
+-123.406	46.3513	8731
+-111.8657	29.7754	6906
+-117.1479	33.1235	9355
+-117.1947	43.5427	6317
+-87.7858	34.8376	6455
+-89.6483	37.4951	8807
+-117.0712	33.8593	9171
+-80.80	29.1513	7718
+-116.6014	33.8561	8752
+-125.8956	45.7487	6053
+-107.9327	30.3607	6555
+-120.4911	43.0923	5309
+-118.6877	37.2312	5820
+-119.4708	44.8551	7438
+-90.2763	38.8604	9259
+-81.8232	28.1062	9372
+-80.9232	25.4429	6928
+-123.4991	48.7274	7563
+-84.2855	27.1262	7352
+-77.9366	27.9522	5140
+-118.2276	46.0358	9171
+-108.5721	28.0034	5151
+-113.3307	33.5453	5592
+-110.2627	30.3122	8094
+-119.354	46.03	8124
+-84.9921	39.4065	5149
+-118.375	32.7447	8180
+-123.7855	45.8095	8005
+-92.855	37.3101	6341
+-115.1349	36.5387	6032
+-117.453	33.5428	8862
+-83.0176	27.2012	8705
+-113.6874	34.7497	5576
+-116.3235	31.0719	7679
+-116.0265	43.939	5951
+-92.5923	34.5122	4273
+-82.8215	27.7754	9114
+-115.5277	30.0982	6322
+-82.8307	27.9615	9073
+-116.2867	49.4186	5159
+-116.8276	31.8866	8704
+-117.3449	34.487	9143
+-87.6562	34.9292	6500
+-110.536	30.9875	8792
+-83.3019	30.948	6058
+-118.0123	30.2211	6632
+-116.325	47.9452	6411
+-114.896	34.8776	6828
+-110.496	30.6564	8454
+-82.328	29.3988	8033
+-111.8213	34.7435	5689
+-117.6841	31.337	7919
+-90.4282	37.276	7835
+-116.9089	47.2749	7346
+-88.8316	41.282	6224
+-117.8529	34.3625	8851
+-91.52	40.4733	7199
+-88.9518	36.8098	8832
+-121.2715	48.4749	7168
+-111.3873	33.0737	7496
+-121.8055	46.0148	8013
+-89.0796	32.84	4386
+-116.0812	36.5452	6606
+-108.8076	31.5984	7820
+-121.9615	49.447	6693
+-117.0227	33.4446	9050
+-84.4612	42.8499	2251
+-92.5319	43.2664	4034
+-91.1485	38.6409	8591
+-115.8255	29.1074	5424
+-103.2943	30.0281	1663
+-93.6771	38.2539	5834
+-117.5148	34.5697	8990
+-93.3856	42.2367	4465
+-87.577	40.2833	6588
+-88.5073	37.0388	9053
+-83.7299	30.4955	6316
+-88.3592	38.2336	9031
+-80.8546	27.4411	8400
+-118.4911	31.6415	7606
+-115.7336	35.0305	7600
+-119.2818	30.5319	6125
+-112.0516	34.415	5885
+-81.2997	28.2249	8816
+-117.9459	33.3067	8371
+-119.6492	49.0104	5856
+-122.0442	46.9405	8666
+-120.6416	34.5256	5832
+-120.0007	48.3601	6254
+-115.544	31.2064	7356
+-107.6901	31.2255	6584
+-90.74	38.3117	8815
+-89.9108	37.2807	8460
+-117.5504	32.5189	9022
+-125.7682	48.3095	6127
+-111.0886	31.6364	8653
+-88.8494	39.1967	8094
+-92.8007	37.0764	6255
+-120.626	48.8297	6376
+-85.5012	36.0943	5747
+-79.3876	30.4695	5533
+-121.2154	45.2635	6974
+-119.7126	33.1213	6650
+-118.0279	34.912	8350
+-119.9147	45.2888	7331
+-124.8447	45.2803	6778
+-117.8984	42.9414	5891
+-87.3142	40.3256	6413
+-91.1701	39.5811	8191
+-89.8061	37.5652	8643
+-92.4969	40.2986	6600
+-84.4539	36.6898	4852
+-115.242	44.2933	5514
+-84.9488	31.5278	4577
+-117.9454	32.2717	8503
+-117.2972	42.9161	5730
+-110.2208	31.3899	9231
+-80.3054	28.2518	7753
+-107.6922	27.6475	4338
+-120.0717	33.7572	6451
+-108.3569	31.5429	7332
+-92.4786	39.8822	6857
+-117.0599	29.7643	6347
+-117.6191	33.6966	8926
+-113.6782	46.4216	4371
+-87.8064	41.243	5560
+-82.9197	27.3967	8909
+-109.272	35.305	5281
+-123.8107	45.8677	8038
+-120.8596	46.8408	7360
+-119.9746	46.1194	7469
+-91.2842	39.939	7816
+-114.3065	32.3395	6738
+-115.906	34.4816	8006
+-110.9494	31.4837	8797
+-116.3408	37.5403	5687
+-122.4148	43.0289	5247
+-92.5668	36.7182	6210
+-84.6471	30.9636	5291
+-118.766	45.5754	8506
+-91.5755	40.8572	6815
+-90.4866	36.5798	7532
+-120.3939	46.186	7023
+-118.7837	36.9744	6025
+-89.8097	42.2129	5641
+-118.0313	44.7306	7786
+-80.4052	29.43	7179
+-89.9371	39.8537	8141
+-88.3595	39.1082	8133
+-86.3885	35.5845	6268
+-116.7605	35.1255	8323
+-119.4062	32.6485	7025
+-90.5732	37.0058	7533
+-118.1836	32.4522	8336
+-117.5857	35.9039	7575
+-124.1873	45.9597	7811
+-110.3987	33.3693	7537
+-118.7446	31.3303	7168
+-111.7696	34.8802	5577
+-117.3422	47.4569	7512
+-114.8943	33.5797	7290
+-120.887	47.0443	7393
+-90.6147	34.7614	5951
+-118.5413	44.4385	7480
+-123.1633	43.8942	6218
+-122.6315	47.3297	9110
+-115.8685	35.176	7635
+-81.7957	26.8266	8762
+-90.0462	34.704	6193
+-117.9473	41.4716	4346
+-80.0574	31.6523	4908
+-116.0222	30.535	6999
+-110.4026	29.641	7368
+-116.9004	34.5992	8891
+-109.436	34.0351	6645
+-117.3325	38.3095	4982
+-109.2863	27.9062	5331
+-125.1169	46.8068	7164
+-85.9573	39.5136	6041
+-117.979	36.9171	6403
+-84.3037	27.6177	7431
+-113.7701	32.388	6156
+-90.4534	39.8653	8220
+-91.1419	36.6513	7019
+-84.0117	27.4849	7744
+-115.2958	39.1143	3695
+-118.9911	33.2667	7433
+-81.8213	28.4605	9032
+-112.6083	32.2752	6897
+-80.3387	24.3228	5499
+-113.602	34.8091	5473
+-121.582	48.6677	7242
+-90.6932	41.9075	6005
+-87.5594	36.5397	7962
+-112.87	32.7822	6434
+-125.1426	47.4767	7079
+-123.7444	45.8915	8104
+-120.0111	36.4874	5594
+-89.3204	40.7342	6998
+-88.0065	39.9468	7116
+-120.0069	46.8275	7279
+-91.5854	42.2377	5448
+-119.9608	36.2828	5778
+-83.6196	28.8824	7790
+-80.3965	26.0041	7093
+-116.7744	46.6205	7570
+-83.2906	29.348	7675
+-119.4974	46.4677	7917
+-87.938	37.7543	8880
+-89.3079	38.8619	8259
+-88.9488	38.0473	9341
+-122.8761	49.6288	6681
+-82.7951	28.833	8473
+-110.7892	31.015	8684
+-89.4308	37.4135	9017
+-118.0399	45.3819	8458
+-117.9179	34.1189	8827
+-87.1821	38.9401	7533
+-88.9116	38.4735	8894
+-87.0324	35.1381	6374
+-80.4682	29.0876	7488
+-110.3318	33.1849	7738
+-112.0986	30.8242	7392
+-89.8137	41.4318	6469
+-78.0422	29.5356	4850
+-117.4075	36.895	6521
+-123.9544	44.6588	6819
+-91.5857	37.5749	7612
+-91.6012	36.9559	7087
+-87.4839	40.2529	6574
+-119.8363	45.4379	7473
+-109.1695	35.6044	4938
+-108.4222	27.9096	4987
+-117.4121	34.1794	9371
+-82.3238	30.1468	7191
+-87.2168	38.2518	7955
+-116.6897	33.9366	8873
+-116.2439	34.2572	8414
+-90.0501	38.3813	8889
+-120.3187	45.8058	7082
+-121.7132	45.1125	7188
+-113.6488	34.0152	5818
+-121.4978	45.6229	7472
+-117.6047	31.0874	7697
+-121.0704	44.4973	6230
+-81.9629	30.2018	7131
+-90.3333	37.1769	7728
+-116.882	33.1296	9391
+-122.1415	46.6302	8695
+-86.7486	41.3501	5100
+-118.0569	34.7695	8431
+-92.9138	41.4395	5444
+-116.2418	32.629	8918
+-89.2289	35.5009	7330
+-115.6762	44.7916	6171
+-117.2759	31.9732	8751
+-85.2272	27.5926	6387
+-120.5917	44.541	6310
+-81.6804	30.4785	6782
+-122.6762	44.9934	7424
+-116.601	33.6276	8626
+-90.7767	36.6877	7161
+-116.3548	33.7025	8438
+-124.2107	46.894	8164
+-110.6902	33.8502	6987
+-117.5852	33.3201	8863
+-89.9452	39.9611	8036
+-112.3165	35.428	4786
+-114.1225	31.6086	6306
+-109.8619	30.7514	8438
+-118.5004	32.8062	8042
+-124.4135	44.5601	6483
+-116.5745	46.1997	7448
+-81.9536	29.8878	7484
+-119.3809	45.6104	7988
+-111.9016	32.4052	7555
+-88.7584	38.9929	8326
+-92.5843	41.9353	5251
+-117.9981	30.5666	6992
+-118.1935	47.9687	7279
+-115.5842	46.2056	6400
+-111.3148	28.5217	5990
+-111.797	29.9877	7128
+-81.4634	30.8157	6360
+-113.9253	34.4959	5872
+-119.553	30.6316	5976
+-84.3733	28.9763	7012
+-83.1736	27.9269	8702
+-123.0843	47.0021	9400
+-86.1541	36.66	6673
+-93.5443	35.5952	4611
+-110.5357	35.1607	5591
+-117.8158	34.3718	8885
+-117.0712	46.6382	7856
+-91.3376	37.2933	7547
+-119.4128	45.4686	7890
+-114.5569	35.5811	6187
+-112.3664	28.6394	5597
+-85.5707	36.5436	6013
+-80.7449	26.3934	7683
+-109.9286	30.3688	8087
+-82.1464	28.3742	9205
+-89.0726	36.3512	8300
+-78.1995	27.3583	5418
+-89.3635	37.6306	9144
+-88.1544	38.4919	8661
+-116.7804	35.4323	8025
+-111.1767	33.8259	6878
+-114.629	31.8671	6939
+-118.2679	35.313	7850
+-117.0745	35.2414	8311
+-116.768	33.6779	8801
+-91.1592	40.2946	7561
+-119.1043	47.3719	7657
+-117.0981	35.4479	8092
+-81.8388	25.5014	7308
+-115.9793	31.952	8289
+-121.7828	46.6616	8334
+-120.2878	45.5902	7070
+-125.5114	45.403	6262
+-116.0543	34.4264	8177
+-90.6033	40.5494	7470
+-116.3924	35.8089	7476
+-90.0362	38.4754	8947
+-115.4226	28.3869	4520
+-121.8358	46.1211	8113
+-116.8993	44.7467	7210
+-90.6072	34.3574	5565
+-117.3684	31.0158	7695
+-115.8706	46.8242	6593
+-119.6611	32.0455	6627
+-112.0525	42.5549	1668
+-91.8831	40.8496	6643
+-114.6135	31.1293	6523
+-93.1783	35.7319	4991
+-112.2038	30.2416	6979
+-115.6968	29.812	6114
+-116.2059	33.508	8606
+-86.9745	39.4662	6964
+-114.6689	32.7856	7190
+-118.8167	45.9951	8685
+-120.9582	47.9504	7215
+-117.0431	34.5022	9067
+-110.9771	31.8463	8720
+-92.1545	36.0636	5956
+-122.4362	44.9126	7293
+-109.3615	31.0083	8250
+-118.2986	32.3449	8177
+-115.9888	31.6943	8093
+-119.2713	46.8045	7975
+-91.695	38.048	7821
+-114.5167	34.4947	6512
+-89.753	38.8225	8740
+-86.6181	38.5179	7221
+-92.0648	37.6656	7268
+-84.0746	31.2941	5337
+-121.1308	48.9811	6661
+-93.2039	39.4458	6293
+-88.1928	37.8273	9146
+-116.3846	33.4603	8785
+-121.6724	46.7103	8228
+-116.8742	32.2133	9072
+-90.8054	37.4345	7935
+-88.5202	34.8538	6646
+-117.1362	48.1652	6759
+-83.8061	29.109	7466
+-122.0031	48.3976	7751
+-87.6441	36.9348	8311
+-87.35	35.8253	7208
+-89.2908	36.4024	8279
+-117.6284	32.385	8872
+-84.2635	28.6119	7300
+-81.9955	26.8653	8861
+-80.7377	30.2136	6705
+-93.3982	36.0239	5043
+-88.8355	35.895	7826
+-82.7834	28.5204	8766
+-89.8109	38.3183	8652
+-89.1416	35.3263	7155
+-90.5707	38.5762	9149
+-93.0574	37.9681	6421
+-117.7584	48.6643	6488
+-118.4833	45.4454	8536
+-116.8013	34.2857	9004
+-112.1856	32.8724	7029
+-90.1694	40.8778	7119
+-87.8134	40.1321	6847
+-120.2307	45.4896	7099
+-119.2532	34.5778	7317
+-111.5083	28.4588	5857
+-124.1845	46.0244	7856
+-113.7554	45.9244	4461
+-117.8096	44.6731	7668
+-79.4298	28.3997	6751
+-120.6055	46.106	6801
+-79.7469	28.6254	7023
+-119.5889	30.8498	6097
+-116.8922	30.8361	7542
+-87.5299	39.6437	7197
+-92.3644	37.8985	7100
+-117.4067	46.7342	8115
+-121.9948	43.6535	5833
+-108.9678	33.4159	6997
+-122.4771	47.2237	9062
+-94.2938	37.8324	5095
+-92.3029	37.7035	7068
+-89.8507	35.5506	7147
+-117.03	47.5246	7251
+-85.1351	25.2351	5450
+-118.5053	35.7225	7340
+-109.7399	30.6541	8279
+-121.8262	44.6201	6771
+-91.938	36.9291	6844
+-120.4628	46.3126	6941
+-91.0762	37.0367	7432
+-88.0261	33.9254	5535
+-88.9049	38.5983	8757
+-88.0605	35.4541	7209
+-109.6275	31.1277	8563
+-112.9357	32.134	6592
+-83.4808	30.6891	6252
+-110.6979	30.6777	8416
+-91.989	40.8077	6611
+-118.7655	43.5842	6548
+-81.3021	25.5132	7175
+-82.1541	27.9656	9666
+-122.7299	49.2444	7097
+-118.2038	31.9214	8050
+-119.2096	44.9816	7723
+-79.619	26.1002	6480
+-117.5779	31.2376	7864
+-92.8174	37.6737	6556
+-120.6719	37.2758	4483
+-118.9226	45.7504	8489
+-92.3498	41.2528	5994
+-112.6033	30.3886	6694
+-91.423	37.5922	7747
+-118.4035	47.0199	8278
+-93.5085	41.2753	5094
+-124.8298	47.5787	7382
+-115.0438	33.387	7516
+-116.8341	34.7249	8738
+-85.9846	38.9827	6360
+-81.9172	26.5809	8529
+-117.4008	33.111	9168
+-88.5888	44.0184	3426
+-116.5695	33.9658	8756
+-120.0604	42.9253	5407
+-110.9915	31.321	8706
+-88.8257	37.6686	9749
+-90.3776	38.8817	9282
+-119.5875	32.0707	6713
+-87.2161	35.4909	6817
+-93.6749	39.5279	5779
+-108.3622	32.0127	7288
+-91.7535	39.1306	7892
+-116.5952	33.795	8718
+-119.1814	32.7498	7281
+-84.5437	39.9813	4409
+-119.0832	46.6135	8254
+-89.6448	36.7076	8356
+-108.2157	26.9491	3953
+-90.2981	37.2095	7761
+-88.2923	35.2844	7089
+-86.4482	40.8976	5351
+-76.3931	26.9106	3326
+-109.7591	30.8528	8467
+-118.6336	36.94	6132
+-116.8341	33.6205	8806
+-89.8002	36.8492	8336
+-116.2315	46.6186	7019
+-115.7264	47.0741	6363
+-111.5243	29.3822	6762
+-111.4796	34.0647	6512
+-80.2012	28.4785	7563
+-107.8203	31.5055	6750
+-87.9268	41.2658	5634
+-88.6646	35.8408	7763
+-88.3022	40.8232	6258
+-118.0715	33.2108	8444
+-83.8564	28.8753	7574
+-119.6514	44.7842	7250
+-91.154	38.5092	8554
+-91.5164	38.8034	8202
+-107.3711	30.4219	6026
+-110.1349	31.199	9005
+-114.7022	36.6725	5601
+-118.7437	44.3023	7295
+-88.6819	38.5732	8792
+-91.3303	38.8706	8395
+-114.3453	33.4917	6734
+-115.4342	46.5592	6204
+-121.5775	47.9448	7799
+-90.2368	39.0873	9028
+-122.5619	48.1723	8230
+-86.2855	37.6191	7029
+-87.9774	35.1834	6891
+-107.8027	31.2483	6708
+-117.3948	30.1073	6693
+-82.0325	28.3389	9235
+-111.2707	31.0648	8313
+-92.167	37.7252	7207
+-91.5452	37.0638	7217
+-124.839	49.8594	5780
+-87.4206	37.982	8263
+-126.6781	45.2032	5026
+-89.1284	38.2756	9019
+-92.0825	39.3986	7464
+-119.1299	45.9471	8349
+-106.3058	33.2005	4771
+-80.8998	31.303	5655
+-119.213	48.4186	6615
+-82.0466	28.4843	9075
+-109.6891	31.5562	8775
+-93.2377	39.892	6111
+-117.2242	44.5127	7240
+-84.8401	39.1854	5089
+-119.6577	37.493	5040
+-86.7334	39.682	6601
+-110.1472	34.8379	5942
+-120.6502	47.2296	7118
+-118.6265	47.1907	8050
+-85.5059	27.7929	6077
+-87.9668	38.1334	8775
+-80.4957	29.2649	7381
+-107.3522	29.7528	5683
+-81.1986	26.7507	8331
+-81.1605	26.612	8184
+-122.6462	44.9787	7404
+-90.577	39.9816	8081
+-121.601	35.0167	4713
+-121.105	44.1581	5944
+-91.1324	41.741	6101
+-92.6072	40.3417	6477
+-92.6437	44.1563	3108
+-109.2734	32.7171	7792
+-118.8704	46.8196	8277
+-82.6081	28.031	9278
+-116.0845	31.4179	7908
+-119.5271	32.3727	6854
+-93.1509	39.7235	6262
+-89.6806	38.4129	8584
+-119.3582	49.2426	5743
+-114.4854	32.5468	6969
+-114.2796	36.1058	5633
+-119.3882	33.5402	7135
+-82.264	28.2184	9360
+-89.0192	37.9632	9377
+-108.5981	31.1004	7522
+-118.8911	47.9308	7218
+-113.9847	35.0107	5832
+-117.86	35.4381	7974
+-118.0594	43.5355	6534
+-78.6055	25.3285	5041
+-113.0289	46.2046	3695
+-114.6075	34.2208	6636
+-91.7745	36.6621	6720
+-117.2018	34.5497	9078
+-118.2911	31.5566	7714
+-121.9569	46.3319	8357
+-84.3059	25.2851	6161
+-115.482	32.2379	7976
+-83.7883	27.2154	7919
+-89.5573	36.725	8435
+-121.8867	45.645	7777
+-116.4861	36.7693	6539
+-88.1614	36.7004	8536
+-86.3155	36.7277	6869
+-85.2168	38.7764	5640
+-90.087	39.593	8461
+-115.3299	34.9209	7257
+-116.6897	31.0704	7781
+-118.0622	35.3686	7935
+-108.1812	31.194	7104
+-118.4517	47.3207	7956
+-119.9625	35.0952	6416
+-91.5682	41.563	6134
+-110.6537	30.8986	8655
+-81.9678	30.4621	6837
+-114.8924	46.3921	5656
+-93.3751	38.0304	6108
+-115.8934	35.0598	7731
+-116.9363	31.682	8487
+-89.0376	40.3381	7181
+-119.2243	47.4626	7507
+-110.3548	32.6165	8354
+-89.076	37.2738	9254
+-89.5821	35.3713	7081
+-120.1394	47.7997	6595
+-118.4395	36.2837	6866
+-88.6246	33.3697	4990
+-115.8633	27.8205	4046
+-121.6407	46.1128	7935
+-120.3952	32.0075	5824
+-115.0582	34.8142	7017
+-88.4558	37.7572	9451
+-114.3462	34.7932	6272
+-122.8475	46.5944	9193
+-115.099	33.3145	7597
+-89.6827	36.514	8163
+-80.3108	25.6957	6771
+-85.3354	39.262	5567
+-111.3957	31.2657	8272
+-110.5439	31.2263	9024
+-117.702	48.7322	6406
+-88.5482	39.0026	8295
+-116.4036	36.645	6641
+-87.6745	40.5861	6315
+-119.9218	38.9362	3551
+-121.7429	47.8565	8002
+-88.8283	38.6893	8664
+-114.7448	33.1389	7249
+-89.506	41.0252	6796
+-120.2391	45.7601	7158
+-116.094	33.807	8210
+-87.4355	39.0005	7699
+-123.9944	45.1086	7237
+-118.2882	44.9363	8028
+-89.7626	37.9175	8662
+-81.0268	27.9502	8623
+-124.9548	47.4751	7281
+-108.1078	30.6617	6864
+-84.2857	36.6349	4654
+-117.7422	32.5937	8853
+-117.3124	46.8704	7948
+-80.1717	26.629	7327
+-83.9158	33.2046	3418
+-81.8511	30.34	6964
+-87.8898	40.902	5874
+-122.3222	48.9136	7375
+-87.4414	38.4745	8073
+-92.7975	38.0581	6717
+-120.6634	35.9652	5328
+-117.3777	35.5702	7966
+-81.6021	29.0539	8317
+-89.5275	36.2612	8022
+-118.8238	36.0181	6871
+-116.5158	32.4682	9117
+-91.817	34.1337	4576
+-120.9754	48.0925	7157
+-115.8923	45.7738	6705
+-80.9307	28.9029	8021
+-87.9985	37.2255	8821
+-83.0523	31.7724	5243
+-84.4666	37.3172	4972
+-117.3447	31.6954	8433
+-117.1785	30.4064	7054
+-117.7885	32.6192	8810
+-108.123	34.8291	5219
+-123.3195	44.5151	6874
+-118.7339	32.2564	7685
+-114.7555	35.7655	6271
+-116.6711	45.754	7514
+-115.3825	31.809	7659
+-120.8045	47.7679	7141
+-122.4968	48.996	7333
+-114.5709	33.0973	7062
+-88.7374	43.2304	4280
+-114.1351	33.3138	6546
+-113.2523	33.3527	5775
+-119.5359	45.9562	7925
+-92.4508	35.3838	5166
+-119.4115	42.6209	5387
+-123.9661	45.5323	7643
+-90.8417	39.8135	8176
+-116.3628	49.5162	5110
+-108.3765	30.3367	6960
+-116.7355	46.1381	7621
+-83.9802	28.1524	7758
+-81.4174	30.3025	6911
+-118.1286	46.4959	8810
+-119.8927	35.754	6172
+-123.6059	48.9638	7279
+-118.5875	36.2185	6845
+-120.2921	45.0882	6878
+-87.8803	37.8969	8787
+-112.865	32.9277	6368
+-80.2993	26.2225	7180
+-84.8263	25.3421	5793
+-88.6147	42.3505	5101
+-112.5213	34.4643	5554
+-91.009	35.0251	5926
+-113.0514	30.4484	6282
+-123.3913	45.7191	8133
+-123.2843	49.1209	7202
+-82.7967	28.1322	9036
+-125.0844	49.1489	6214
+-82.0269	26.7625	8750
+-125.9172	48.0598	6081
+-89.299	38.1606	8999
+-118.5026	30.0243	6198
+-116.7031	34.8835	8514
+-118.0506	35.0981	8182
+-88.4712	39.6004	7618
+-125.7651	48.5475	6011
+-89.7987	35.9248	7543
+-123.9726	49.6326	6449
+-119.0749	44.3583	7234
+-92.9347	41.0669	5710
+-118.21	32.636	8351
+-88.9506	38.0991	9287
+-91.0107	40.7524	7163
+-117.4286	35.6887	7832
+-123.695	48.5633	7647
+-80.8053	29.0817	7778
+-89.7477	38.5014	8689
+-117.7792	47.2856	7896
+-121.8253	43.3823	5495
+-80.9754	26.506	7956
+-108.9049	32.5713	7592
+-120.6271	48.1237	6804
+-89.5494	38.4897	8483
+-119.275	35.467	6908
+-92.1355	40.009	7099
+-87.7084	35.1894	6792
+-113.3893	28.5391	4800
+-117.4674	35.7931	7714
+-123.237	45.8055	8278
+-92.0617	37.298	7032
+-92.2629	38.0713	7270
+-119.3347	49.971	5012
+-108.6124	33.6479	6561
+-78.4881	27.7888	5768
+-116.5394	32.1649	8884
+-117.5705	32.612	9042
+-91.0888	37.1143	7504
+-115.6224	46.3912	6426
+-81.8087	29.3563	8057
+-83.3758	28.2849	8369
+-118.9874	36.8059	6071
+-93.8198	38.3646	5697
+-126.3219	49.6823	4807
+-110.5786	32.7983	8131
+-121.2455	43.819	5699
+-117.6598	29.647	6134
+-83.2736	26.7677	8177
+-119.5063	31.7227	6668
+-117.8824	33.6978	8715
+-115.7245	35.4094	7354
+-81.8315	31.1647	6033
+-126.0744	48.0864	5908
+-89.2534	38.8347	8203
+-82.8109	28.2974	8919
+-108.6722	29.3016	6416
+-125.0751	47.606	7115
+-83.4857	26.1236	7485
+-90.2418	41.7573	6179
+-91.8334	40.2842	7149
+-89.2645	40.6535	7045
+-116.1913	31.847	8368
+-114.9817	48.5178	4927
+-116.0869	33.3437	8609
+-108.2188	32.3863	7023
+-88.5706	41.7754	5623
+-82.7021	26.5482	8371
+-114.6365	29.5593	5286
+-118.1314	27.6536	3849
+-83.1231	26.7813	8312
+-119.3141	47.2611	7616
+-81.6357	27.1782	9021
+-117.4988	45.3506	8112
+-119.7955	35.0341	6609
+-115.2625	33.0457	7835
+-121.5619	45.385	7330
+-119.9459	34.7914	6528
+-113.6314	46.7198	4290
+-118.7681	34.5422	7840
+-109.4329	29.811	7320
+-121.8575	29.8264	3359
+-116.7132	33.8027	8835
+-90.1253	40.7436	7258
+-85.8769	27.1719	5604
+-89.8808	44.2167	3507
+-117.6217	44.9589	7864
+-89.7077	36.5075	8140
+-116.5897	46.8409	7303
+-120.0283	34.4884	6501
+-91.968	38.6278	7711
+-81.6066	26.8866	8732
+-114.8185	34.5366	6831
+-118.3101	44.8765	7964
+-116.2833	35.5729	7636
+-116.0875	26.9032	3085
+-121.7124	43.0029	5060
+-109.0093	35.9782	4500
+-85.8574	27.3151	5648
+-81.1309	26.0069	7601
+-123.1206	44.5605	6952
+-87.8147	37.3638	8694
+-87.2931	34.5707	5967
+-108.7647	33.1326	7085
+-88.035	39.4934	7606
+-112.0146	35.1087	5242
+-117.7355	30.0799	6582
+-114.5822	34.816	6516
+-88.6553	34.1998	5922
+-111.278	31.2611	8392
+-110.4093	32.3819	8604
+-122.7673	49.952	6323
+-118.9189	28.8135	4785
+-119.0673	29.0805	4972
+-92.1369	36.8899	6669
+-109.9642	27.7336	5283
+-88.3126	35.2161	7018
+-93.757	39.8883	5587
+-81.3126	27.824	8962
+-83.8739	29.3011	7267
+-118.0759	46.8314	8455
+-90.2414	41.7488	6188
+-87.7925	38.9862	7973
+-116.0317	32.1526	8474
+-89.4345	38.1211	8908
+-110.9703	31.512	8779
+-89.5909	39.4744	8267
+-88.0983	38.3675	8728
+-116.334	35.9327	7327
+-78.8774	31.3232	4437
+-110.4551	31.4358	9266
+-89.7443	40.9251	6981
+-122.2604	45.8589	8201
+-79.2469	30.1123	5685
+-85.4534	39.2523	5692
+-82.8526	28.3779	8825
+-82.3112	28.7983	8708
+-90.1524	37.9235	8499
+-116.3014	34.5858	8375
+-90.7255	36.7591	7247
+-117.0904	33.8778	9199
+-113.9265	33.8466	6173
+-110.3173	31.7552	9287
+-80.3356	26.3286	7288
+-81.2968	28.2841	8780
+-109.1907	29.9005	7270
+-80.4141	26.9302	7729
+-89.1775	37.5871	9345
+-119.6247	31.5582	6473
+-109.6043	31.0519	8496
+-118.4515	47.2109	8071
+-91.6746	38.214	7917
+-92.3932	38.2032	7179
+-89.6668	42.6565	5144
+-90.3378	39.5677	8542
+-122.3155	45.6498	8023
+-118.1565	32.1873	8251
+-89.9928	36.5921	7985
+-115.5951	32.6957	8217
+-113.0856	32.8839	6175
+-116.0094	44.6036	6378
+-118.7819	44.8658	7851
+-117.3126	34.0144	9399
+-125.6595	47.6166	6492
+-119.0001	49.8819	5184
+-90.7064	35.6728	6693
+-114.2578	31.3773	6331
+-114.4537	33.5064	6846
+-123.4986	48.7177	7573
+-123.1429	49.4401	6876
+-120.6171	36.5612	5024
+-91.4415	39.5639	7985
+-109.0124	31.4249	8032
+-124.6389	48.6822	6922
+-117.6613	34.4269	9001
+-117.8759	46.3517	8753
+-124.683	47.4275	7583
+-87.7621	42.4706	4519
+-85.3067	40.8232	4557
+-116.2515	34.4294	8384
+-81.7579	25.8868	7724
+-89.7203	36.7857	8358
+-89.6048	35.9855	7707
+-116.7111	48.9645	5800
+-85.3131	41.2809	4203
+-116.358	35.0242	8150
+-87.1134	38.2363	7852
+-88.6186	36.7685	8794
+-89.4694	36.6949	8469
+-115.62	34.4788	7703
+-82.2353	28.0472	9555
+-117.004	32.0178	8861
+-109.6198	32.3266	8357
+-116.7316	33.9075	8904
+-117.7355	32.9113	8889
+-89.4615	37.5992	9031
+-88.9563	38.6521	8688
+-117.7145	33.1922	8819
+-115.0816	47.7199	5460
+-119.4624	31.5641	6638
+-90.9263	40.0132	7942
+-91.5408	43.7414	3902
+-109.9445	33.4651	7392
+-109.5554	33.7218	7008
+-118.4098	36.1561	7003
+-118.0737	35.0537	8202
+-118.4526	48.8259	6368
+-90.4859	38.224	8847
+-86.6103	24.4205	3569
+-90.2381	35.5921	6961
+-88.8533	40.0087	7289
+-79.2141	28.2205	6550
+-114.3615	35.7993	5885
+-81.8817	29.8799	7485
+-89.1975	34.7656	6524
+-87.1403	36.8623	7779
+-108.7392	31.5159	7745
+-120.8825	36.0318	5083
+-121.8498	45.222	7369
+-120.5986	47.6548	6967
+-120.6262	46.9177	7108
+-117.1887	48.5211	6446
+-88.6321	38.8796	8444
+-116.585	31.1421	7837
+-122.012	48.9956	7173
+-116.6637	45.8461	7524
+-116.8977	25.8774	2012
+-118.9968	31.6566	7145
+-87.6558	38.6554	8145
+-86.3624	40.5586	5593
+-123.3171	43.316	5569
+-88.3723	41.6429	5627
+-82.7965	28.9379	8370
+-89.3329	35.1329	6901
+-87.634	38.3938	8304
+-117.3009	37.3067	6076
+-83.5491	29.6864	7194
+-120.8339	45.5017	6824
+-111.3821	31.6418	8335
+-83.1458	25.0041	6564
+-82.2312	31.3482	5839
+-92.948	39.2595	6606
+-117.8372	35.5802	7841
+-119.4252	47.6033	7261
+-115.2068	33.8404	7482
+-118.662	30.9216	6917
+-119.4621	46.9036	7750
+-115.9603	35.3237	7610
+-118.1504	37.5113	5729
+-89.2661	36.8612	8752
+-89.2281	37.6627	9297
+-115.0169	36.7071	5809
+-119.2804	45.5108	8034
+-111.1038	32.9979	7728
+-123.6545	46.0237	8279
+-116.5072	48.6304	5986
+-119.3743	43.664	6434
+-85.4988	39.504	5607
+-117.1004	43.5464	6280
+-91.5359	37.5331	7618
+-121.813	46.197	8143
+-113.594	31.5067	5940
+-119.7912	45.9782	7658
+-118.8399	30.9126	6774
+-109.4537	32.515	8085
+-117.1965	46.7788	7903
+-109.3381	31.3183	8358
+-119.9543	33.379	6493
+-119.2279	36.8689	5866
+-82.5792	27.4709	9287
+-81.2192	25.9392	7581
+-116.2983	27.6095	3897
+-87.4002	34.5626	6009
+-115.5992	28.8396	5062
+-91.8717	37.6068	7402
+-120.5682	47.9409	6830
+-118.4244	43.9996	7031
+-123.4763	44.3193	6630
+-118.3584	29.4274	5666
+-115.5849	32.5629	8186
+-87.717	37.1682	8511
+-93.6271	38.1355	5866
+-82.6569	24.9697	6673
+-117.0594	34.2045	9299
+-122.1107	44.5398	6803
+-117.7719	43.5936	6551
+-87.2301	42.0956	4469
+-88.5252	39.3112	7949
+-78.8058	28.424	6055
+-117.65	45.4402	8292
+-118.8073	32.7848	7699
+-123.1093	46.7536	9278
+-118.2469	42.7719	5736
+-116.0876	29.6752	6114
+-118.8572	36.1511	6735
+-115.603	33.009	8217
+-89.6419	36.9501	8546
+-91.8747	39.9804	7340
+-86.5862	35.4854	6354
+-109.9036	30.4895	8200
+-90.8831	33.1608	4228
+-106.6769	32.4599	5400
+-117.9989	45.4008	8461
+-124.4754	46.1368	7650
+-114.8345	30.4725	6218
+-90.7103	38.8131	9065
+-119.8572	44.7616	7072
+-116.6392	46.7145	7402
+-123.9796	45.3683	7487
+-82.6424	36.6556	2848
+-93.4477	40.5653	5585
+-115.9233	32.6335	8571
+-118.7582	32.626	7743
+-81.252	27.2188	8718
+-116.2964	36.7454	6498
+-81.3836	31.0311	6103
+-90.1942	36.6588	7854
+-108.3995	31.7376	7372
+-120.1206	48.272	6248
+-115.9684	31.8266	8185
+-123.9768	48.7453	7322
+-88.8835	41.0717	6445
+-91.4424	38.8113	8281
+-90.8839	38.9706	8835
+-122.3562	47.0914	8993
+-117.4752	43.6682	6547
+-90.4783	39.299	8824
+-122.4594	46.5885	8968
+-94.2602	37.226	4934
+-109.733	30.4501	8084
+-85.8925	36.742	6426
+-123.8122	49.7776	6359
+-110.2066	32.9947	7938
+-118.3878	33.5973	8182
+-109.7422	28.9091	6506
+-117.4726	33.30	8972
+-79.8222	28.0491	7258
+-86.9812	39.1599	7202
+-117.118	35.2031	8360
+-88.3987	37.1732	9125
+-84.6699	39.2395	4889
+-116.3033	44.9516	6836
+-118.7332	36.2254	6751
+-123.3356	49.3905	6900
+-90.4521	36.9173	7448
+-122.838	49.1202	7239
+-108.6244	31.5542	7622
+-87.2061	38.6626	7737
+-119.3764	35.444	6828
+-123.5442	45.1731	7513
+-91.3414	36.511	6799
+-84.0272	26.7519	7462
+-121.7224	46.5373	8229
+-90.7684	42.6168	5236
+-110.6597	31.7466	9078
+-82.321	24.2015	5853
+-90.4621	37.7293	8321
+-117.6406	45.5909	8392
+-120.8339	33.789	5629
+-90.7536	39.57	8455
+-117.4037	32.0791	8797
+-85.8143	40.6794	5080
+-114.5678	35.3198	6322
+-116.3721	31.5562	8198
+-88.5101	35.2769	7118
+-84.2051	26.5476	7173
+-79.526	25.1056	5678
+-115.3425	37.3077	5489
+-118.313	46.2685	9079
+-88.3324	39.4786	7723
+-118.4251	45.6657	8777
+-89.5255	40.0779	7720
+-115.8683	36.7381	6313
+-87.2222	35.3885	6726
+-82.2844	27.4533	9499
+-114.3534	32.2954	6781
+-88.1892	40.1911	6907
+-83.8378	28.7289	7678
+-109.7641	32.9493	7870
+-88.9491	35.548	7429
+-112.1786	27.7795	4893
+-116.149	36.9477	6235
+-113.1348	32.8219	6155
+-92.054	37.5531	7209
+-92.8686	36.966	6127
+-124.287	46.0746	7794
+-87.8766	35.7904	7485
+-121.7337	48.4857	7502
+-108.5111	27.6564	4783
+-117.5155	45.3002	8086
+-93.1919	37.8646	6250
+-89.5244	35.2193	6940
+-88.5249	39.7959	7126
+-86.7697	40.1004	6281
+-114.5576	35.046	6420
+-110.2086	32.6165	8346
+-111.9877	31.0994	7606
+-110.9982	28.7907	6363
+-84.2382	25.2538	6184
+-112.7623	31.445	6838
+-91.5822	35.7031	5895
+-93.7722	37.7641	5620
+-119.8795	42.9735	5543
+-88.989	38.7398	8584
+-82.3063	29.1558	8309
+-123.6699	48.70	7522
+-110.9173	33.1726	7639
+-90.3042	40.0113	8062
+-82.7836	29.0033	8312
+-84.3857	26.7143	7080
+-117.9326	34.5157	8700
+-110.0655	30.7431	8518
+-78.0909	28.1508	5298
+-90.8261	35.5909	6533
+-109.1819	31.589	8226
+-113.272	32.2531	6208
+-112.0837	29.6879	6678
+-84.2858	26.4324	7027
+-120.575	42.5787	4811
+-121.6042	48.479	7418
+-86.5487	37.0215	7222
+-93.3023	37.5018	6003
+-84.1716	27.9464	7577
+-90.1528	36.2125	7560
+-120.3701	31.3261	5608
+-84.3091	24.3817	5340
+-116.2631	32.5459	8912
+-126.9109	43.7503	3958
+-119.3191	32.767	7128
+-90.8954	38.2936	8685
+-119.8118	42.9842	5585
+-91.5699	38.9356	8130
+-91.3397	40.5182	7258
+-89.5575	35.5692	7300
+-118.0379	46.1407	8997
+-123.0453	46.3529	8913
+-83.8243	28.6303	7744
+-93.0057	35.5434	4960
+-83.8276	27.7013	7974
+-115.7425	46.6743	6502
+-126.689	49.1866	4782
+-124.4153	47.1788	7925
+-115.4676	31.7016	7669
+-123.3041	46.7691	9112
+-116.98	46.0579	7880
+-86.7147	39.9127	6400
+-83.8141	27.9822	7975
+-115.1264	43.8275	5141
+-81.5578	25.8396	7617
+-83.0001	29.3309	7869
+-119.7751	33.7991	6777
+-92.2153	39.2115	7388
+-92.6518	38.4485	6958
+-124.0312	46.6138	8304
+-118.4488	32.9475	8093
+-91.8522	38.5621	7828
+-86.2372	34.803	5527
+-114.3654	34.5845	6335
+-91.2573	39.5248	8165
+-82.1315	27.492	9582
+-121.6394	45.5263	7503
+-115.7342	36.6276	6345
+-115.0349	34.6837	7031
+-117.2564	35.8305	7686
+-88.2364	33.043	4592
+-90.4413	39.244	8888
+-119.4584	45.7597	7965
+-86.1227	36.115	6374
+-81.5848	25.7714	7551
+-88.0657	39.6421	7462
+-124.67	48.5569	6992
+-119.7931	47.6332	6982
+-112.5428	31.7245	7075
+-116.5543	44.6259	6854
+-114.0697	31.8137	6334
+-116.8582	30.1142	6736
+-113.0095	33.6221	5828
+-114.8271	45.7032	5576
+-125.0262	47.8354	7083
+-80.039	27.1522	7423
+-115.9794	34.0928	8133
+-119.4994	45.9968	7968
+-117.7862	43.056	5994
+-125.4699	48.5076	6314
+-109.6705	31.2014	8645
+-83.0915	30.3705	6753
+-86.974	38.5177	7587
+-112.7901	28.2281	4968
+-90.0968	39.2507	8803
+-82.1251	32.4936	4545
+-93.2269	43.2636	3674
+-112.9253	33.7315	5826
+-124.9695	44.245	5850
+-119.725	44.3225	6837
+-92.325	39.752	7069
+-117.7625	48.0827	7089
+-82.0618	30.7855	6476
+-117.9162	32.5824	8662
+-88.5059	35.7631	7659
+-118.5717	35.6204	7380
+-91.6045	38.743	8108
+-124.6216	48.3916	7151
+-122.2992	47.0513	8940
+-118.1918	31.8271	7996
+-119.1772	35.9117	6691
+-120.4804	41.0881	3465
+-92.3889	39.3909	7155
+-87.7755	38.8832	8053
+-83.376	25.205	6671
+-115.7246	34.4719	7816
+-90.166	38.2235	8810
+-110.6832	32.1354	8765
+-124.5074	47.9328	7546
+-110.0619	34.761	6018
+-87.6593	37.0914	8415
+-113.9984	33.1539	6421
+-121.2247	48.4787	7127
+-118.4988	32.0485	7841
+-118.0326	33.3244	8323
+-83.273	28.9244	8054
+-81.3719	26.5432	8262
+-113.3299	33.5392	5596
+-113.3474	30.1705	5867
+-117.8553	48.1573	7035
+-115.6701	29.3847	5661
+-109.3535	29.3535	6835
+-87.5264	38.128	8329
+-116.924	47.1245	7458
+-121.0835	45.8931	7288
+-120.4641	43.6957	5823
+-89.4015	37.989	9016
+-115.6443	32.0168	8029
+-112.9015	27.3703	4128
+-118.1891	33.5566	8351
+-116.383	34.4962	8496
+-90.517	41.9866	5933
+-121.118	48.9234	6698
+-122.061	46.6123	8606
+-117.242	31.156	7875
+-116.6329	32.159	8930
+-79.8104	27.3755	7227
+-87.6364	37.6154	8545
+-88.1898	36.2661	8116
+-88.1374	37.9822	9025
+-120.8423	43.074	5063
+-82.5286	28.5095	8940
+-80.2995	24.2868	5442
+-120.4767	45.2261	6760
+-91.8985	38.7638	7791
+-87.0753	36.1475	7264
+-113.0524	29.9905	6059
+-121.3384	46.2317	7710
+-125.0638	46.5085	7176
+-117.3835	32.8939	9280
+-88.1063	37.7068	9073
+-87.5472	26.9039	3690
+-119.0887	33.2017	7306
+-89.5834	36.3392	8066
+-93.9232	38.56	5603
+-89.7705	36.7313	8275
+-92.4647	37.3961	6748
+-122.424	44.6408	6998
+-117.4986	31.9751	8642
+-87.246	38.3339	7951
+-85.8701	42.4536	3534
+-91.0203	37.61	8017
+-82.1442	27.4038	9482
+-106.6793	31.612	5514
+-91.6037	38.9916	8083
+-117.7456	31.0259	7575
+-109.8912	29.9057	7594
+-122.5284	49.0976	7230
+-119.4123	49.0774	5888
+-88.6572	40.6656	6645
+-118.7819	34.0144	7880
+-119.4489	30.7457	6147
+-86.0355	37.1822	6702
+-118.1641	34.7219	8367
+-119.8797	43.0079	5575
+-113.755	30.8597	5684
+-87.311	24.8616	3176
+-83.8448	29.2286	7346
+-120.0879	47.217	7013
+-113.1923	32.5165	6215
+-121.1267	46.3501	7544
+-115.6877	34.1279	7816
+-122.1497	46.4239	8589
+-80.6287	26.2104	7443
+-80.9951	24.1658	5620
+-117.1857	44.35	7073
+-116.2304	44.5158	6514
+-125.7048	46.8166	6520
+-118.8492	47.1155	8029
+-109.4526	33.8651	6824
+-87.9289	37.5564	8867
+-111.688	33.4081	7011
+-111.7558	29.0731	6347
+-83.8951	29.386	7185
+-87.6688	36.2046	7763
+-119.0286	46.9106	8094
+-109.8023	32.0069	8738
+-119.2018	34.6848	7343
+-86.1494	24.9589	4349
+-118.4305	34.0195	8262
+-85.6231	36.803	6156
+-90.65	38.2194	8784
+-121.4609	46.5339	7955
+-116.0746	35.9023	7211
+-81.1449	27.4304	8711
+-115.27	44.8507	5806
+-86.2801	39.8205	6122
+-88.081	40.5121	6299
+-120.9603	49.3454	6234
+-121.8058	44.6894	6831
+-86.9466	37.5449	7768
+-109.6079	30.0164	7603
+-123.6357	48.6185	7619
+-119.5007	43.3097	6036
+-124.95	46.9912	7354
+-109.5648	29.1082	6666
+-89.7646	39.5631	8323
+-119.1156	42.2045	5042
+-107.9456	34.8796	5064
+-119.1181	30.8579	6507
+-117.5295	33.5441	8834
+-120.1926	35.8258	5851
+-83.2089	28.9862	8053
+-122.5534	47.8168	8597
+-90.2151	37.545	8113
+-90.9601	35.1445	6064
+-89.434	37.2748	8947
+-89.4546	39.3265	8246
+-118.272	32.2211	8152
+-92.6897	37.9802	6804
+-123.59	45.5004	7826
+-81.4242	28.7881	8486
+-119.4898	31.1346	6370
+-124.3263	46.0456	7741
+-108.9816	30.825	7794
+-116.6788	30.8403	7525
+-81.5451	27.9013	9210
+-119.4786	42.6499	5394
+-83.8759	29.2387	7312
+-112.5001	31.9455	7093
+-120.7917	32.1135	5415
+-113.1126	31.0571	6409
+-89.1861	37.7379	9337
+-88.4973	33.6492	5296
+-120.1557	32.8333	6082
+-115.4055	36.4115	6329
+-83.9916	26.8502	7548
+-113.6724	29.4854	5201
+-80.8003	28.4011	8222
+-110.8288	30.5287	8211
+-116.5253	33.5361	8811
+-88.5624	37.8411	9513
+-89.675	41.082	6797
+-111.0908	32.3583	8299
+-126.0219	47.729	6076
+-120.9189	38.7422	3123
+-93.8779	38.7598	5658
+-124.4224	47.5704	7807
+-90.644	37.1325	7658
+-81.4935	30.4071	6819
+-109.0952	31.0736	8023
+-109.451	28.1396	5622
+-113.6297	44.7464	4128
+-117.8557	48.6646	6507
+-121.5302	48.1587	7611
+-115.6639	33.0836	8270
+-111.731	33.9647	6482
+-116.2449	34.4569	8369
+-120.0977	46.4865	7296
+-115.6349	31.7486	7849
+-122.0539	47.9636	8170
+-88.2502	36.1714	8040
+-116.8296	35.4291	8046
+-83.2723	29.346	7689
+-110.5283	29.5891	7303
+-122.6809	34.2273	3631
+-117.8094	44.2871	7276
+-84.8372	36.2491	5126
+-85.0351	38.9095	5400
+-118.0031	37.0093	6299
+-116.979	46.3111	7861
+-94.4044	39.6939	4972
+-117.5631	31.6803	8321
+-86.6426	37.3163	7399
+-116.6011	45.7384	7438
+-120.7824	34.2547	5700
+-90.1419	36.1469	7515
+-117.4058	31.6971	8411
+-117.0884	34.2631	9297
+-123.401	47.0026	9054
+-122.1102	46.5725	8636
+-124.3407	44.5908	6554
+-84.093	37.187	4541
+-91.5023	38.9005	8207
+-119.3097	32.8292	7139
+-88.0243	35.3519	7087
+-120.6106	45.8368	6780
+-119.2198	49.4022	5625
+-89.4554	38.3365	8736
+-120.4127	46.3657	6988
+-122.313	48.0881	8215
+-123.2417	44.0202	6347
+-116.5579	44.2747	6600
+-109.887	33.155	7703
+-89.0727	40.9294	6683
+-116.7801	30.4966	7157
+-109.3403	28.8302	6303
+-116.5069	38.7515	4433
+-120.7811	37.5058	4225
+-90.0555	37.42	8342
+-122.2448	47.4367	8720
+-107.6858	33.635	5845
+-118.1681	45.4583	8570
+-90.3099	37.7186	8310
+-90.9695	41.9682	5899
+-108.7877	28.9667	6181
+-85.5375	28.68	5905
+-82.4138	29.2144	8224
+-91.7719	42.2329	5383
+-112.337	31.2907	7280
+-80.0257	28.1206	7475
+-110.6992	29.3103	6979
+-115.3143	34.496	7372
+-107.3143	33.489	5605
+-112.3052	35.2654	4948
+-115.633	31.4185	7598
+-118.4206	35.7918	7334
+-111.8037	34.4491	5984
+-116.6701	35.1239	8277
+-91.2421	39.6451	8087
+-118.4251	36.3086	6849
+-122.6974	43.257	5525
+-115.1921	49.676	4254
+-115.4598	32.9828	8062
+-82.9848	24.5589	6138
+-121.9899	43.9426	6137
+-82.1931	30.5296	6766
+-119.7233	32.6072	6669
+-88.0713	37.8566	9006
+-94.9577	39.005	4486
+-108.9697	29.1445	6446
+-117.1715	35.5152	8027
+-125.3457	47.3757	6882
+-121.2628	45.0726	6856
+-109.6878	27.8689	5389
+-88.6312	37.5061	9580
+-80.9948	26.371	7855
+-80.8277	29.3485	7572
+-109.0681	31.2318	8051
+-119.3874	31.4195	6635
+-117.1912	44.7732	7441
+-117.4884	28.4977	4901
+-88.8792	35.6391	7536
+-118.8125	33.4269	7684
+-113.1512	46.077	3825
+-114.0696	33.4132	6454
+-114.1537	33.6765	6472
+-117.4175	33.578	8910
+-124.7924	48.7017	6785
+-111.4535	31.1121	8157
+-111.4107	32.5457	7908
+-94.7897	40.0587	4470
+-121.908	48.3539	7732
+-91.3512	37.7389	7916
+-113.5391	32.1774	5941
+-115.4578	30.5891	6752
+-117.0318	41.3555	4064
+-116.794	33.2114	9272
+-86.9066	30.2525	3804
+-109.9767	33.8268	7012
+-124.7983	49.1764	6406
+-116.9908	32.0664	8916
+-78.5925	26.423	5608
+-123.8758	41.6009	3615
+-86.5225	39.2694	6719
+-124.0209	47.6289	8176
+-89.6579	39.8221	8029
+-116.0947	29.9518	6413
+-119.3023	32.7643	7147
+-120.3505	31.6237	5751
+-110.5162	30.2677	8034
+-89.5402	39.151	8418
+-80.3623	27.8491	7887
+-87.3162	35.9442	7288
+-116.5013	34.4557	8632
+-80.6028	26.4743	7626
+-91.183	39.2307	8419
+-118.1767	46.2987	9022
+-92.1462	38.261	7452
+-122.0351	44.5204	6756
+-120.1862	33.8272	6336
+-86.8665	36.8727	7504
+-118.2079	46.3493	8985
+-92.8079	36.4411	5816
+-117.1442	34.4311	9187
+-116.7997	30.5599	7229
+-88.2248	37.2928	9077
+-118.6876	45.0027	8022
+-120.8709	35.1943	5439
+-84.1444	26.7854	7361
+-118.7043	45.6609	8616
+-120.0884	45.9873	7345
+-84.1695	26.6129	7245
+-119.9738	47.2244	7110
+-80.8359	24.3089	5714
+-82.6621	26.4298	8266
+-87.7034	40.2582	6670
+-116.7841	45.2197	7419
+-77.8375	28.6183	4938
+-114.0333	33.653	6351
+-124.1666	42.884	4910
+-119.1279	32.6343	7334
+-80.7968	25.907	7302
+-114.8181	30.6753	6369
+-118.3674	36.1419	7039
+-113.7485	32.5914	6155
+-113.5214	49.1641	3263
+-117.8155	43.5752	6541
+-118.0214	46.927	8342
+-118.0946	33.6669	8501
+-89.1735	40.811	6848
+-117.0295	33.5341	8835
+-122.7701	48.3978	8027
+-109.4488	32.5905	8021
+-87.2902	38.5316	7894
+-81.1108	28.5144	8459
+-109.3644	32.7588	7823
+-84.5724	26.8252	6935
+-116.8493	32.7548	9605
+-117.4889	34.5536	9019
+-88.8998	38.5175	8848
+-85.7905	39.4988	5892
+-92.9608	34.1162	3709
+-85.4389	36.5016	5858
+-111.9674	34.652	5707
+-86.4859	43.0227	3191
+-81.3609	27.4732	8958
+-116.2332	32.7367	8930
+-111.823	30.4919	7473
+-91.2605	40.924	6898
+-109.154	32.1667	8048
+-123.635	48.1589	8067
+-87.0732	35.9614	7118
+-116.8276	33.0097	9487
+-89.5495	38.3817	8442
+-86.2455	40.0904	5889
+-81.3068	29.8884	7316
+-109.2402	30.2131	7575
+-121.1786	35.5073	5015
+-86.7014	42.6186	3668
+-109.533	31.9276	8530
+-117.3665	36.4011	7062
+-120.8731	34.4174	5592
+-87.727	36.0486	7657
+-118.248	34.6395	8333
+-85.7334	38.2961	6338
+-118.4366	44.7283	7799
+-107.1929	32.5364	5918
+-116.5094	48.5446	6062
+-111.4726	34.441	6140
+-116.8448	31.3683	8132
+-123.1127	47.7494	8715
+-92.4391	38.6676	7207
+-115.407	34.9519	7322
+-95.7725	40.7668	3222
+-122.3112	43.6418	5897
+-115.586	36.309	6539
+-88.6959	40.5879	6735
+-111.024	29.3762	6968
+-87.922	40.6321	6353
+-118.2692	32.1539	8123
+-118.9274	45.93	8555
+-90.5831	39.4414	8649
+-88.9578	36.2023	8158
+-81.6661	29.4925	7870
+-119.0589	32.0012	7248
+-116.5702	44.2245	6570
+-89.6857	37.3967	8740
+-118.7649	45.0449	8032
+-118.5013	34.2006	8189
+-114.1345	27.5438	3464
+-117.3055	32.6299	9321
+-109.7692	33.3963	7416
+-90.7648	33.7244	4855
+-88.9445	39.2095	7796
+-91.3352	39.0245	8357
+-91.7534	39.2776	7842
+-87.8422	36.5529	8191
+-114.9566	32.7937	7511
+-118.0346	44.0603	7084
+-116.5591	34.5422	8646
+-118.1432	46.9927	8304
+-124.118	46.7124	8239
+-108.5421	28.7115	5806
+-90.1441	36.9895	8092
+-121.8754	46.8412	8472
+-109.0496	33.0442	7367
+-82.2234	29.1047	8375
+-110.8414	29.8646	7532
+-114.4925	47.823	4851
+-113.9685	33.5605	6307
+-92.1134	39.5502	7370
+-120.1236	47.4956	6814
+-90.0582	37.2828	8303
+-89.012	40.9183	6659
+-118.8963	35.2181	7402
+-87.9485	40.3209	6697
+-110.544	31.5043	9230
+-83.5877	30.2175	6668
+-113.4714	30.3162	5807
+-89.0848	40.3124	7235
+-82.8722	27.6313	9043
+-88.8139	35.5052	7389
+-117.9845	31.5059	7902
+-86.4031	36.5101	6862
+-113.9159	32.7912	6350
+-109.3764	32.5171	8025
+-118.7429	34.8822	7732
+-116.7343	32.0109	8818
+-116.0234	29.521	5929
+-88.4694	41.517	5798
+-121.8861	46.9329	8492
+-118.4547	35.359	7676
+-82.2459	28.081	9515
+-88.5513	35.2458	7088
+-116.134	32.8315	8824
+-124.4163	44.9843	6864
+-79.7532	26.8955	7025
+-123.4479	44.7068	7052
+-120.981	46.3836	7403
+-110.3423	31.485	9367
+-115.3662	36.4793	6245
+-84.5207	27.5094	7176
+-82.8009	25.6603	7393
+-91.315	42.6959	5054
+-86.7873	37.7787	7590
+-117.2381	36.0606	7435
+-118.5907	44.8056	7852
+-109.5769	30.455	8002
+-91.821	41.1999	6363
+-106.0774	28.7506	3934
+-118.9453	33.3047	7496
+-108.4139	31.0546	7317
+-91.2077	40.4785	7360
+-117.9701	35.0936	8239
+-94.3193	35.6832	4046
+-114.9976	36.9016	5633
+-114.321	34.1763	6324
+-89.7451	39.3784	8459
+-108.3354	29.4553	6311
+-116.6004	29.7361	6293
+-122.7708	46.2392	8795
+-82.6379	25.452	7212
+-122.6887	44.9148	7340
+-87.961	35.1276	6826
+-110.1158	31.0558	8855
+-125.3252	45.3163	6383
+-113.4356	29.2633	5276
+-111.1767	31.1682	8455
+-119.5963	47.1398	7487
+-120.923	46.5333	7383
+-116.3007	37.8515	5347
+-114.8981	30.4519	6249
+-119.1581	43.5704	6426
+-116.7157	35.0723	8350
+-86.2669	29.0052	5010
+-90.426	35.8562	7059
+-124.8745	46.7977	7429
+-81.3901	26.6816	8405
+-123.5371	44.0186	6293
+-90.5041	37.233	7784
+-114.5859	30.918	6356
+-116.1522	30.1539	6647
+-90.8874	38.7851	8880
+-126.3833	46.8327	5776
+-81.4244	25.9558	7692
+-125.1774	48.8185	6381
+-91.0647	37.3803	7775
+-117.6327	48.0431	7090
+-116.7046	48.3911	6314
+-122.4434	47.7453	8614
+-110.5769	33.2915	7604
+-109.8848	30.3471	8049
+-110.1561	31.8741	9105
+-122.2396	30.0945	3134
+-92.0398	41.3843	6070
+-123.2104	46.0715	8565
+-115.5788	32.536	8174
+-116.7789	34.9431	8507
+-122.5286	35.5796	3585
+-109.5288	32.3966	8234
+-114.5916	30.9129	6358
+-116.2049	44.8507	6692
+-114.5838	34.4941	6585
+-90.7158	37.688	8225
+-114.6483	45.8375	5401
+-118.7262	43.5567	6526
+-114.9498	36.1645	6177
+-114.0477	33.0299	6488
+-87.1584	40.0229	6612
+-116.4206	31.6872	8354
+-115.2848	35.8615	6670
+-80.3516	26.6906	7538
+-123.8813	47.6324	8303
+-83.3211	27.3247	8459
+-93.2237	42.8226	4073
+-122.7976	48.7164	7681
+-126.7537	46.8188	5369
+-116.234	44.0088	6160
+-89.0442	38.8411	8460
+-83.8966	29.3383	7220
+-115.593	38.6446	4289
+-88.7549	37.3986	9515
+-118.4576	36.8675	6285
+-116.4763	46.8172	7202
+-85.778	40.4878	5201
+-82.4589	27.0694	9022
+-126.2669	41.4134	2472
+-113.1045	32.3787	6350
+-118.3099	45.754	8893
+-85.8975	38.4849	6466
+-89.5306	38.2467	8738
+-93.4505	39.0633	6101
+-111.2301	32.5414	8052
+-120.60	43.3198	5428
+-119.4111	34.358	7186
+-83.2551	27.2013	8471
+-117.3094	35.7026	7825
+-121.4326	45.6205	7418
+-82.943	30.8417	6295
+-111.2417	33.1252	7535
+-83.0747	26.6247	8218
+-82.588	24.7021	6387
+-124.2498	45.3028	7252
+-105.5493	32.236	4242
+-81.6721	26.6904	8568
+-90.4896	39.3312	8788
+-85.1735	26.1089	5975
+-80.9241	28.265	8413
+-118.7759	34.8933	7695
+-111.0566	30.6786	8219
+-113.2525	33.4064	5745
+-116.5473	32.6471	9248
+-113.6943	32.8811	6102
+-118.9564	43.7095	6630
+-119.5471	45.1622	7594
+-87.0261	40.8304	5761
+-84.4742	29.3629	6687
+-89.9444	38.9331	8912
+-117.4742	35.6301	7890
+-116.7696	33.3507	9118
+-107.4873	31.8355	6378
+-89.9393	35.1522	6701
+-124.8214	45.2532	6778
+-117.30	30.6153	7269
+-110.5555	31.6483	9223
+-82.6451	25.3009	7043
+-117.352	31.1534	7849
+-108.7702	31.4921	7777
+-119.0284	46.0724	8471
+-85.7963	38.9628	6177
+-120.6306	45.4933	6693
+-109.0204	29.3733	6688
+-111.4327	32.6792	7792
+-117.134	35.5421	7994
+-89.8404	37.9351	8369
+-86.7555	36.7298	7325
+-118.7206	48.2657	6921
+-118.7973	31.1131	6964
+-122.7558	44.4855	6876
+-90.0936	41.9817	5927
+-116.6475	32.2985	9074
+-119.4083	46.4458	8014
+-89.2091	33.3137	4904
+-118.7781	45.6571	8557
+-117.5598	46.7796	8209
+-119.1727	47.2237	7743
+-81.4097	28.2014	8937
+-127.7877	45.3817	3961
+-124.6781	44.4532	6224
+-117.3139	34.2031	9446
+-123.4833	44.6902	7024
+-116.4428	35.2335	8039
+-123.1575	48.0967	8333
+-117.5228	48.1596	6935
+-108.5652	33.2812	6818
+-91.3378	38.7312	8395
+-87.6272	40.9087	5957
+-114.8283	32.4229	7328
+-119.2158	35.0526	7187
+-115.2753	45.8046	6060
+-88.8048	38.3707	9023
+-84.0837	28.7584	7417
+-92.8484	38.3979	6740
+-120.9734	45.8959	7185
+-126.0764	46.1983	6016
+-91.6094	41.5836	6097
+-89.7392	37.9535	8677
+-83.7504	30.6829	6120
+-83.9609	27.8196	7824
+-117.8585	33.5607	8640
+-89.7825	39.0693	8691
+-89.8813	38.1396	8573
+-117.0778	31.9628	8792
+-87.413	31.0874	2836
+-118.5059	47.2863	7982
+-106.3111	27.1321	2974
+-87.4484	38.7804	7877
+-118.5058	47.4081	7855
+-115.7851	36.2789	6694
+-81.5499	25.8585	7635
+-119.4695	44.5899	7227
+-115.6982	46.6116	6470
+-118.6888	34.6086	7902
+-90.3076	36.4167	7588
+-114.9584	32.1536	7394
+-88.941	40.2132	7210
+-121.7575	43.4595	5554
+-93.6535	37.6144	5693
+-117.3584	46.3723	8239
+-117.4272	32.1508	8850
+-89.1841	38.1207	9122
+-120.4672	42.5495	4846
+-111.4764	32.941	7551
+-121.4936	44.0602	6059
+-117.046	31.1053	7842
+-107.5117	33.7966	5588
+-87.9798	42.2182	4876
+-116.1069	31.9298	8375
+-88.6072	41.7466	5670
+-111.5145	30.591	7802
+-113.7337	46.6697	4404
+-117.2251	32.2228	9030
+-115.7695	34.6324	7816
+-89.9978	34.925	6442
+-120.1233	31.5365	5953
+-116.325	38.7012	4450
+-80.878	30.2619	6732
+-108.114	30.3874	6742
+-122.5337	44.6286	7006
+-124.4805	44.6009	6480
+-87.9657	38.6678	8375
+-117.8916	30.5489	7021
+-83.0076	28.2149	8781
+-89.9797	36.0278	7527
+-114.6163	46.8162	5304
+-81.5639	26.6732	8498
+-93.0771	35.5653	4928
+-121.4802	34.4407	4929
+-123.5378	48.2554	8026
+-116.8707	44.1717	6729
+-116.4568	46.3973	7301
+-116.1309	47.1547	6722
+-115.489	35.527	7074
+-120.7074	46.5843	7161
+-121.9807	48.2264	7893
+-87.9005	36.2456	7948
+-84.8563	26.6439	6560
+-119.5285	44.8293	7376
+-89.4879	38.5756	8441
+-117.7433	32.7453	8883
+-93.4925	37.8047	5922
+-77.917	28.991	4925
+-117.4201	46.1508	8345
+-122.1623	43.784	6017
+-117.858	38.9658	4227
+-119.2247	42.1361	4946
+-87.7916	40.1126	6859
+-119.4006	48.4786	6477
+-82.1012	28.0832	9532
+-109.0336	32.9083	7463
+-117.1971	32.72	9474
+-117.6421	34.5894	8893
+-116.5495	30.7084	7356
+-119.6525	46.0901	7810
+-89.3738	37.9248	9074
+-123.0502	44.6754	7084
+-89.7976	36.5194	8084
+-81.6859	30.9378	6269
+-116.8614	34.1225	9096
+-117.4828	45.8484	8372
+-82.122	29.3512	8100
+-89.1757	38.4653	8807
+-83.0973	29.10	8031
+-126.2566	43.1238	4001
+-116.4346	34.3706	8594
+-121.3339	48.2655	7371
+-84.4454	27.9061	7272
+-113.3471	30.5585	6025
+-122.944	41.1598	3227
+-117.3013	33.384	9018
+-116.9555	34.1073	9197
+-122.9167	48.6206	7789
+-109.5607	29.2841	6846
+-89.2382	40.4463	7218
+-92.7532	38.3316	6830
+-118.5122	35.2164	7737
+-90.7546	40.2853	7722
+-124.7433	44.322	6065
+-116.0863	35.2929	7733
+-91.3765	36.738	7006
+-83.7169	28.0645	8069
+-120.5813	47.4315	7008
+-91.1615	35.2295	5980
+-82.4855	31.4671	5687
+-90.432	39.6471	8456
+-121.748	47.6354	8143
+-107.4595	32.5897	6174
+-91.2486	41.065	6760
+-83.6305	27.3336	8129
+-92.0642	35.7649	5732
+-121.8254	46.1575	8128
+-119.2883	43.9131	6712
+-119.0315	47.701	7389
+-117.0214	43.9858	6653
+-86.4867	39.0959	6794
+-120.9285	48.9603	6526
+-114.2176	34.0317	6400
+-120.1517	48.6112	5946
+-110.8736	27.3332	4832
+-87.3752	39.2961	7409
+-83.7849	29.9021	6838
+-110.1076	33.0684	7846
+-91.9032	41.6073	5936
+-81.2547	29.1001	8086
+-88.1424	36.1992	8026
+-115.7377	47.2447	6304
+-81.2237	29.736	7438
+-116.8202	34.5537	8869
+-87.6995	34.2048	5749
+-90.7368	39.3723	8653
+-117.8144	32.4847	8737
+-81.909	28.2579	9281
+-80.6896	28.6986	7948
+-125.3632	44.0218	5388
+-82.665	28.0262	9223
+-122.576	43.8833	6200
+-116.8482	45.7037	7684
+-118.4011	46.0926	9136
+-116.0523	32.9198	8727
+-88.6015	37.9668	9430
+-123.6483	45.4091	7708
+-118.7458	32.6845	7763
+-85.2229	38.8924	5606
+-109.0393	28.5537	5904
+-111.0685	32.8143	7920
+-90.5956	37.5348	8095
+-114.4722	28.6479	4334
+-83.4463	28.1575	8343
+-90.1858	40.2068	7840
+-108.6026	32.138	7504
+-124.6373	44.8973	6638
+-111.6662	34.7038	5797
+-110.8362	30.093	7769
+-114.5985	37.0081	5260
+-124.0382	47.0308	8354
+-116.2772	46.2152	7132
+-120.2389	45.7034	7147
+-120.6113	44.662	6363
+-91.6741	39.0538	7995
+-89.6541	38.457	8577
+-122.5673	48.5291	7851
+-81.1571	28.2747	8647
+-84.8357	40.5418	4348
+-108.8344	33.5688	6778
+-86.3439	35.3041	6017
+-81.6926	27.5019	9311
+-111.0641	29.3224	6899
+-88.4864	35.9662	7881
+-87.1312	36.8758	7776
+-118.8104	46.3258	8653
+-115.7629	32.4744	8357
+-118.897	46.7769	8293
+-108.888	30.1037	7233
+-124.2034	46.1314	7905
+-88.5611	37.9303	9439
+-91.3402	36.2035	6492
+-115.4956	33.1263	8076
+-90.3005	35.8196	7121
+-110.6395	34.3927	6412
+-115.561	33.3002	8095
+-117.5816	47.7909	7322
+-109.4514	31.5698	8518
+-121.1807	49.4471	6290
+-81.3828	29.9543	7276
+-119.4393	34.4284	7146
+-90.3526	40.2702	7785
+-109.5158	30.2423	7772
+-117.7467	49.6668	5441
+-92.0956	39.7014	7313
+-115.4584	34.3216	7555
+-84.6389	27.7462	7058
+-119.7289	34.9687	6702
+-116.4894	46.0431	7360
+-120.929	44.2421	5837
+-115.8113	33.1767	8403
+-86.1038	24.0135	3711
+-89.6125	40.5418	7322
+-110.5766	32.5947	8346
+-89.4158	39.2154	8267
+-113.8749	34.0405	6044
+-80.8372	31.2769	5659
+-91.5848	38.8701	8123
+-88.4679	38.4155	8909
+-116.8314	30.9393	7653
+-91.2307	39.9486	7842
+-118.9225	42.0035	4869
+-112.6099	35.5018	4563
+-118.0555	33.5133	8443
+-116.3774	45.3562	7094
+-123.8154	43.6459	5822
+-124.5668	46.1867	7584
+-92.6511	36.4779	5964
+-92.0631	38.9239	7604
+-91.2097	38.1186	8303
+-119.2657	29.869	5583
+-116.6149	35.5549	7832
+-118.254	34.9956	8108
+-81.294	29.1021	8108
+-117.9881	46.0916	8948
+-83.8193	28.9992	7530
+-123.5726	44.6924	7001
+-89.2789	39.3325	8079
+-120.9211	30.8766	4840
+-91.7287	40.0214	7429
+-117.7993	43.2627	6212
+-114.2135	35.2394	5996
+-90.0293	39.3674	8657
+-113.8785	31.6303	6063
+-91.742	39.6947	7641
+-82.8534	24.7836	6421
+-95.764	43.1707	1919
+-109.4665	32.8096	7846
+-87.2437	38.1477	8022
+-111.5448	32.4359	7869
+-88.9128	40.5242	6941
+-80.6848	25.9425	7257
+-107.8839	29.4034	5921
+-117.0123	34.2411	9237
+-121.181	45.6324	7216
+-119.3761	34.0558	7235
+-119.4584	33.4789	7043
+-121.6984	46.3553	8125
+-83.0268	26.7656	8374
+-84.6644	27.4824	7011
+-91.2611	37.9318	8131
+-118.4854	49.2603	5907
+-115.3865	34.449	7458
+-92.3632	38.5407	7278
+-119.3077	34.8502	7178
+-123.1672	48.2241	8194
+-119.4227	37.3315	5330
+-122.9551	47.6956	8803
+-118.2659	30.9902	7253
+-118.8941	31.1527	6913
+-119.6307	48.2904	6537
+-109.2903	30.1325	7538
+-108.5331	34.3729	5876
+-83.3225	31.1751	5808
+-117.7361	35.6489	7807
+-115.5766	37.7829	5151
+-115.4999	33.0346	8099
+-119.1881	43.6496	6494
+-86.9762	37.6847	7805
+-124.2504	43.4875	5506
+-88.7162	37.0463	9117
+-81.5141	26.9506	8734
+-115.6857	43.0944	5053
+-120.7268	46.1061	7038
+-79.7501	29.4259	6607
+-120.11	46.315	7313
+-78.5475	27.4879	5823
+-126.6236	45.7234	5293
+-114.8989	34.7005	6882
+-111.0732	32.7407	7985
+-120.2808	39.9988	2461
+-123.7064	49.695	6481
+-89.5486	39.1456	8429
+-107.0951	31.9388	5944
+-91.6348	37.6692	7642
+-115.6458	32.0096	8026
+-88.7156	44.0383	3448
+-122.3191	46.4041	8718
+-89.0731	38.7873	8510
+-110.7877	31.1271	8776
+-89.3774	36.7798	8607
+-90.8947	36.217	6925
+-76.5508	28.8917	3450
+-119.3146	43.6205	6416
+-92.1278	37.3986	7046
+-93.8128	36.6285	5078
+-120.4654	44.1854	6186
+-90.093	34.4409	5901
+-111.2824	30.208	7663
+-83.9823	27.7035	7799
+-88.1725	37.6653	9148
+-117.841	35.4932	7928
+-83.3733	30.3027	6699
+-114.5779	31.3892	6649
+-122.3883	49.3009	6981
+-117.9793	32.0067	8306
+-127.6221	44.3069	3652
+-119.1399	37.0741	5734
+-89.80	39.0988	8692
+-91.8231	36.6501	6680
+-81.4756	29.0879	8223
+-81.5846	27.5518	9226
+-117.7586	32.5166	8808
+-120.6407	31.516	5406
+-122.9111	46.5338	9131
+-86.1521	38.8058	6613
+-89.47	36.7123	8485
+-82.7767	27.3475	9024
+-118.9484	43.4317	6348
+-115.0052	33.3734	7479
+-81.4103	29.1375	8139
+-118.1984	37.6269	5594
+-79.2911	25.1064	5488
+-115.1725	31.5623	7311
+-113.1944	30.7507	6245
+-117.3231	35.8339	7682
+-116.7289	45.2805	7400
+-118.1567	43.2821	6273
+-88.1788	33.8366	5466
+-109.4096	29.5474	7051
+-90.5066	38.1919	8808
+-87.8577	36.0959	7779
+-88.9314	39.5527	7636
+-114.4293	34.8775	6338
+-106.8154	31.8722	5649
+-91.9741	35.3781	5406
+-90.969	40.0332	7904
+-88.5683	36.0487	7986
+-113.3151	31.8681	6228
+-113.2156	30.0706	5947
+-119.0118	34.4437	7604
+-106.9725	29.8156	5359
+-119.6457	36.5869	5810
+-117.7704	46.9153	8240
+-91.7235	37.4454	7408
+-88.4832	38.9721	8315
+-111.3589	31.5241	8361
+-118.7009	30.6826	6686
+-116.6398	45.4961	7406
+-124.0976	45.483	7511
+-124.5131	48.4889	7169
+-125.6091	45.4249	6182
+-85.1061	30.8018	5086
+-121.0576	47.2563	7557
+-90.3065	34.7841	6147
+-91.5885	36.8183	6970
+-117.6824	43.5345	6470
+-118.4754	34.5977	8125
+-117.3292	33.0979	9241
+-121.4554	44.4999	6466
+-115.9692	35.0339	7815
+-89.7395	39.0766	8646
+-125.6154	46.9759	6623
+-88.1157	38.2552	8830
+-118.7085	46.2248	8791
+-81.8606	30.3595	6943
+-121.8409	46.2344	8192
+-116.3742	33.4654	8773
+-87.4579	39.5265	7262
+-114.3647	30.9088	6154
+-118.7272	34.3837	7921
+-82.8003	27.3378	8995
+-117.3993	47.3234	7662
+-88.8035	39.5704	7506
+-90.045	38.6316	9038
+-81.2806	25.7624	7428
+-89.8689	39.1965	8690
+-86.4707	40.6314	5605
+-111.3937	33.9537	6660
+-116.0247	28.9307	5293
+-110.5403	33.214	7693
+-89.3305	39.0028	8257
+-89.1741	39.388	7951
+-89.4434	39.4602	8155
+-115.826	29.4602	5799
+-108.5586	31.1145	7485
+-89.7891	37.9854	8381
+-117.6004	33.6345	8883
+-88.3506	38.6869	8578
+-93.5255	34.9322	4095
+-87.7566	36.0501	7676
+-109.4737	29.0975	6624
+-88.815	36.5658	8579
+-108.7495	33.07	7120
+-90.2454	38.6354	9231
+-116.2392	33.8091	8363
+-112.2103	48.2631	2433
+-93.3366	40.2892	5835
+-125.4983	46.5213	6710
+-82.0135	30.6472	6631
+-109.6569	28.6654	6228
+-110.903	31.8102	8809
+-119.8953	30.8451	5815
+-119.8255	47.534	7030
+-83.199	29.7883	7307
+-116.3911	46.4101	7230
+-115.5593	31.8232	7831
+-83.7222	26.7282	7745
+-116.3781	33.6257	8637
+-79.1795	30.968	4964
+-117.0779	34.9858	8585
+-113.4607	31.8875	6069
+-122.4599	48.5764	7773
+-83.6489	27.885	8173
+-114.722	34.8138	6665
+-117.8539	35.3524	8062
+-115.9636	34.8743	7903
+-89.6269	40.622	7248
+-88.8819	38.233	9166
+-120.7301	46.0124	7002
+-116.2138	48.6756	5761
+-120.6117	28.3591	3330
+-119.3465	35.207	6985
+-116.4041	32.3513	8939
+-118.9765	44.0207	6939
+-88.6368	41.4037	6000
+-119.994	35.652	6133
+-111.6082	31.7918	8074
+-118.3753	43.9163	6946
+-90.9119	40.7851	7158
+-86.9358	36.1542	7150
+-111.0267	36.9849	3573
+-124.8804	46.5731	7388
+-83.524	28.5688	8076
+-115.7617	36.2823	6676
+-107.2765	36.896	2833
+-121.6092	48.0287	7770
+-85.981	27.7654	5539
+-119.9697	45.5971	7397
+-109.0686	30.4178	7610
+-82.6667	26.0351	7843
+-90.19	34.8514	6275
+-82.7883	28.4741	8802
+-86.1146	36.1277	6374
+-89.20	40.5234	7126
+-121.6308	43.6052	5659
+-87.646	39.5377	7366
+-118.1145	44.294	7339
+-106.881	29.5724	5145
+-89.2629	38.9103	8204
+-112.3978	28.9796	5873
+-117.6773	46.6954	8361
+-109.2798	30.6283	7933
+-118.6722	44.2507	7259
+-96.0051	40.8893	2941
+-80.3043	30.483	6188
+-111.3924	29.1973	6645
+-109.3092	31.8008	8339
+-110.3798	30.6708	8484
+-88.9222	40.4418	7015
+-121.8352	45.0162	7165
+-120.0337	47.0731	7140
+-116.1951	35.196	7892
+-94.495	41.1542	4291
+-80.7232	27.7472	8297
+-117.1759	48.6134	6352
+-119.9467	30.9853	5851
+-87.8429	39.2407	7766
+-117.927	45.9335	8844
+-125.795	45.7028	6136
+-114.4481	32.2308	6869
+-80.1032	27.1388	7488
+-116.8892	30.2767	6919
+-118.5138	47.244	8025
+-115.0206	37.7193	4922
+-87.9464	34.9118	6589
+-116.1739	33.3986	8656
+-124.7192	48.2432	7165
+-118.3052	31.1947	7407
+-90.3066	39.6935	8404
+-85.9164	29.62	5126
+-112.4921	33.3095	6479
+-116.3668	34.3454	8529
+-118.64	35.0763	7721
+-90.4011	39.7073	8392
+-89.1836	39.0862	8081
+-121.3723	44.8799	6765
+-119.8604	34.5201	6677
+-115.7663	32.5957	8392
+-116.7704	35.8203	7620
+-88.1935	38.8869	8301
+-85.0758	26.1764	6108
+-110.5496	31.4676	9208
+-118.7014	34.8094	7808
+-85.9711	37.162	6626
+-112.0955	34.4408	5836
+-118.3191	49.4959	5664
+-115.7328	35.9859	6914
+-115.0112	33.4913	7446
+-110.8599	33.8746	6926
+-91.7494	36.2147	6320
+-87.157	36.9289	7828
+-115.1493	32.5077	7697
+-121.5698	48.068	7709
+-123.0946	44.5885	6985
+-86.6703	39.2339	6877
+-81.7359	29.5842	7788
+-121.0675	45.5692	7074
+-88.6657	40.0159	7125
+-106.395	30.4137	5022
+-122.8024	47.0639	9455
+-92.8695	38.0868	6651
+-109.8835	31.3103	8903
+-91.0159	37.2508	7671
+-81.0387	26.0255	7566
+-110.7534	29.6525	7333
+-121.974	49.6281	6510
+-116.14	35.5834	7535
+-118.6717	32.7124	7847
+-119.2956	42.6141	5416
+-115.0973	32.7839	7667
+-124.9464	49.0971	6361
+-111.0404	32.9965	7761
+-90.1976	40.6109	7409
+-110.3491	33.1005	7830
+-83.82	28.2262	7915
+-122.1563	46.2306	8457
+-113.0775	32.4694	6349
+-109.5679	33.885	6845
+-82.646	29.0712	8307
+-116.4395	35.2495	8022
+-109.3599	31.89	8368
+-117.4418	47.2348	7764
+-113.7826	34.7707	5674
+-121.1544	45.379	7014
+-87.7348	39.1783	7760
+-81.987	32.7026	4306
+-111.4289	33.7773	6817
+-88.9142	44.1763	3365
+-117.9127	29.4157	5815
+-82.4781	27.0515	8994
+-119.0357	46.016	8459
+-86.8664	43.2541	3265
+-113.6911	36.3397	4955
+-119.3661	28.6089	4350
+-88.7832	37.1198	9202
+-115.8143	33.3186	8351
+-118.5348	46.3504	8885
+-91.5402	41.6206	6089
+-117.0566	47.4003	7367
+-87.1754	39.8619	6771
+-114.7024	32.5714	7213
+-120.4148	48.923	6131
+-88.2905	40.4666	6507
+-88.37	40.1117	6805
+-115.7272	33.2562	8286
+-118.7227	48.9185	6239
+-110.2425	30.162	7931
+-118.2161	32.9341	8353
+-119.2206	32.1941	7145
+-89.5475	40.6141	7222
+-112.7534	31.1059	6801
+-88.3508	38.8413	8416
+-83.8785	30.1561	6545
+-114.158	36.4151	5332
+-116.4669	45.0173	7021
+-124.5832	44.9706	6738
+-89.7695	36.9587	8437
+-121.4633	47.5325	7910
+-91.8027	40.6913	6832
+-125.7943	45.7656	6164
+-88.2579	34.2995	5993
+-81.9382	27.2469	9264
+-111.4385	30.8664	8046
+-93.5293	42.0929	4477
+-86.0413	24.6772	4256
+-124.9548	45.3263	6718
+-119.2387	31.1079	6582
+-119.1672	33.2095	7233
+-81.3603	27.2428	8836
+-118.5426	32.5317	7967
+-111.1477	32.5886	8072
+-91.5555	38.6344	8155
+-117.2976	46.4165	8164
+-122.4215	48.8531	7468
+-112.0666	30.4997	7259
+-118.4511	46.7186	8582
+-118.7725	31.3867	7184
+-115.5636	33.0406	8168
+-123.215	46.4451	8937
+-115.2299	34.22	7314
+-88.97	39.9822	7403
+-115.8348	30.8831	7254
+-94.051	38.0866	5407
+-89.4243	36.9287	8706
+-79.6943	28.3103	7065
+-117.0348	30.5547	7229
+-117.3877	32.9244	9268
+-83.578	29.2689	7535
+-83.1817	27.9776	8683
+-117.158	31.164	7897
+-123.0646	33.3604	3157
+-85.3148	39.9224	5186
+-90.3159	35.8944	7173
+-117.8269	33.3933	8525
+-87.2219	35.7769	7076
+-88.5751	36.719	8731
+-88.8755	35.2039	7049
+-119.3042	36.6669	5991
+-124.0131	44.6979	6830
+-115.835	33.5842	8228
+-81.7869	26.5018	8409
+-89.6471	39.1162	8538
+-85.9115	36.256	6241
+-113.5344	28.9617	4991
+-87.9424	36.1322	7861
+-117.3705	34.2084	9398
+-87.4895	39.3789	7417
+-91.2965	37.3278	7603
+-114.6092	34.2609	6636
+-116.0043	35.408	7581
+-115.9598	44.2427	6110
+-118.3161	34.5442	8308
+-113.5055	30.8501	5946
+-116.3299	31.4654	8087
+-118.5522	34.5818	8053
+-125.5858	46.4515	6602
+-110.0852	33.8539	6999
+-88.1544	38.7117	8455
+-112.2725	31.5058	7371
+-88.6408	39.3494	7920
+-90.0496	38.8179	9057
+-117.2321	46.6427	8008
+-117.8977	47.2076	8018
+-113.1146	31.4364	6456
+-111.7822	31.9274	7860
+-89.8523	38.0443	8472
+-115.3642	45.4835	6101
+-91.129	35.3488	6100
+-118.4966	49.4485	5707
+-95.161	39.2781	4243
+-90.1984	35.7673	7146
+-116.6561	44.2344	6639
+-119.0847	32.2561	7309
+-121.8918	44.9055	7085
+-120.945	44.6796	6301
+-89.4709	40.6914	7112
+-88.3415	37.4257	9267
+-117.8938	45.2288	8250
+-110.3619	30.6486	8460
+-121.9324	48.7745	7353
+-116.5496	36.2313	7119
+-112.1411	34.4267	5823
+-83.9604	26.9166	7613
+-108.4091	31.2377	7355
+-110.9772	32.2962	8433
+-115.7812	31.8164	8023
+-118.726	32.3568	7725
+-88.6823	37.612	9703
+-122.3753	49.7353	6510
+-82.6202	26.29	8133
+-92.2732	36.5967	6336
+-118.6587	46.9157	8310
+-109.6421	31.3974	8698
+-86.6331	37.5536	7417
+-120.4993	32.901	5764
+-109.8375	33.0988	7746
+-116.5967	47.424	6990
+-92.5261	36.4681	6050
+-120.1337	49.361	5587
+-82.9121	25.3362	7005
+-118.5227	47.1173	8154
+-115.1737	33.7762	7485
+-88.3215	37.6702	9315
+-89.6871	34.2807	5877
+-88.8007	39.6431	7466
+-89.6475	39.0693	8560
+-93.0325	36.3948	5604
+-84.7112	27.0103	6853
+-112.2406	31.0745	7335
+-89.4651	35.7509	7527
+-88.2225	36.8563	8720
+-122.5932	48.713	7658
+-89.06	39.1476	7935
+-79.7598	31.4324	4952
+-120.1942	45.3885	7101
+-113.083	35.6888	4669
+-108.7279	31.6209	7734
+-79.7913	24.1149	4984
+-88.5905	42.5806	4866
+-88.2843	39.0828	8135
+-117.3096	31.454	8186
+-89.7493	35.8914	7538
+-116.6803	44.1326	6573
+-121.2237	49.4439	6320
+-86.0844	37.8567	6797
+-88.1279	36.3489	8172
+-88.5955	39.8309	7173
+-86.5433	29.0615	4693
+-119.8422	33.6735	6684
+-114.0483	32.8295	6498
+-85.3139	37.3612	5924
+-115.8511	30.5941	6979
+-82.9366	28.1898	8865
+-120.3464	43.56	5795
+-88.9498	37.54	9566
+-113.0294	33.5441	5862
+-111.4081	27.716	5125
+-120.0853	34.5763	6425
+-82.1421	28.3986	9177
+-118.2728	35.4379	7741
+-118.7147	49.7742	5343
+-92.1476	38.8772	7518
+-90.5019	40.6964	7323
+-120.3206	44.886	6749
+-114.7747	32.8024	7308
+-118.1022	33.301	8251
+-91.0361	40.32	7592
+-116.3935	33.1564	9010
+-118.6755	32.0261	7653
+-118.80	32.7781	7707
+-111.2633	33.1601	7490
+-89.2667	36.1852	8061
+-119.72	33.4572	6762
+-110.4628	32.1316	8863
+-86.6939	26.7324	4602
+-117.728	33.1585	8822
+-91.3388	36.9633	7241
+-88.6165	37.2102	9276
+-115.809	35.0693	7648
+-91.6984	37.7072	7615
+-88.296	38.9692	8260
+-87.8924	36.8227	8452
+-116.9407	41.9216	4612
+-81.2036	28.1404	8759
+-89.1071	41.9084	5753
+-85.0827	28.7288	6383
+-90.3766	40.405	7641
+-116.3542	33.4007	8809
+-117.3738	30.8086	7468
+-124.5934	44.2385	6079
+-91.8769	37.2931	7175
+-119.3206	33.2016	7078
+-120.8061	44.4523	6069
+-113.7304	35.8319	5259
+-116.1091	45.9029	6948
+-117.711	32.905	8917
+-124.336	45.9611	7680
+-125.6171	44.5128	5584
+-89.3253	40.4355	7279
+-91.4034	38.1831	8167
+-123.8603	47.2352	8511
+-89.48	39.0167	8409
+-117.0363	29.6799	6253
+-92.1006	40.6316	6679
+-122.63	46.307	8823
+-91.1362	35.0158	5825
+-79.1301	27.9928	6485
+-113.2628	31.8974	6281
+-88.4238	39.8566	7326
+-82.6564	27.6225	9279
+-117.6816	34.9837	8506
+-122.8917	43.4236	5714
+-109.1436	33.4377	7086
+-92.4335	37.14	6615
+-122.2718	49.9731	6232
+-107.4387	33.9721	5407
+-88.3987	37.3181	9247
+-120.3207	46.9323	6930
+-110.2844	31.5511	9410
+-116.6071	32.1919	8949
+-88.5331	38.9442	8357
+-89.7738	36.0493	7677
+-122.3956	49.6376	6620
+-81.2254	30.7425	6372
+-114.5265	30.7133	6160
+-92.882	37.7121	6508
+-117.9334	32.6288	8654
+-89.2719	34.3474	6047
+-118.5913	30.1287	6250
+-83.8825	26.7692	7614
+-89.9909	39.6223	8393
+-122.4428	46.2937	8712
+-83.2032	26.1439	7693
+-119.4847	32.4501	6915
+-112.5098	31.3687	7104
+-119.2395	32.5947	7206
+-123.4876	46.5906	8840
+-88.4388	37.4677	9385
+-122.1668	46.067	8331
+-111.1757	31.192	8467
+-91.368	38.3435	8276
+-115.5323	30.2138	6438
+-121.2336	43.9092	5781
+-80.786	27.9992	8346
+-116.2755	44.4762	6526
+-116.536	43.5808	6014
+-118.6822	31.8665	7565
+-90.3286	34.9945	6341
+-122.4987	44.0057	6323
+-86.653	28.0913	4766
+-119.9711	34.8267	6492
+-125.5112	47.2573	6720
+-85.2227	34.5386	4510
+-83.2423	27.3059	8534
+-115.8355	44.1416	5940
+-115.3012	34.5582	7344
+-89.3331	39.7352	7872
+-80.9423	30.0782	6950
+-111.0462	34.8763	5823
+-111.1284	30.1249	7674
+-117.8767	45.9922	8815
+-93.3325	40.7552	5580
+-110.1117	29.834	7563
+-81.1233	26.1199	7707
+-121.0767	44.2774	6037
+-116.7943	30.6885	7371
+-118.1336	33.7803	8517
+-117.0276	32.4244	9310
+-83.4755	27.2759	8276
+-116.4362	32.9369	9146
+-85.0237	29.8961	5831
+-118.2528	33.7671	8390
+-120.3791	44.5126	6476
+-89.7513	39.3843	8459
+-108.218	31.3828	7171
+-116.3266	30.8082	7402
+-117.3314	33.8189	9188
+-85.3119	28.4874	6205
+-108.6017	31.3343	7578
+-116.897	34.639	8855
+-125.1578	45.8614	6844
+-90.4108	41.2404	6740
+-89.3056	38.1612	8993
+-115.1956	31.9413	7549
+-90.6065	39.1155	8963
+-117.7192	46.2673	8637
+-117.0946	30.9913	7712
+-83.3713	26.2674	7693
+-90.9276	35.8354	6636
+-122.1358	48.6575	7568
+-116.3229	47.0133	6970
+-119.5471	46.5417	7843
+-122.4967	31.6602	3451
+-119.9106	45.5866	7453
+-114.5273	32.8992	7031
+-79.9065	26.6244	7061
+-125.3919	43.9441	5303
+-117.2448	34.4864	9152
+-86.9919	38.8815	7400
+-85.6634	27.4753	5885
+-118.6266	47.819	7404
+-114.8291	28.7795	4658
+-87.3481	39.2158	7457
+-113.8803	45.8761	4591
+-117.6815	47.3402	7801
+-91.7577	36.1207	6227
+-117.0059	36.5162	6923
+-109.6927	33.0939	7696
+-88.054	39.8973	7186
+-92.1403	42.9714	4496
+-118.0757	33.8047	8585
+-88.7027	41.4452	6001
+-119.3893	43.6062	6371
+-89.1595	39.0103	8076
+-121.1377	45.6967	7220
+-119.058	34.2202	7581
+-117.6444	34.1015	9124
+-115.0596	36.3183	6150
+-89.8071	39.222	8622
+-91.4609	35.5208	5755
+-87.3477	33.4557	4828
+-111.1208	33.3624	7366
+-83.0564	36.0609	3157
+-110.6415	33.0092	7893
+-117.0742	45.6619	7899
+-116.8503	46.5363	7674
+-118.3842	28.9452	5154
+-117.4577	33.9719	9265
+-90.0746	39.3547	8693
+-88.9736	41.2749	6307
+-109.38	29.096	6588
+-117.6664	48.1548	6988
+-86.3651	33.2984	4220
+-124.1394	45.3594	7376
+-113.8499	33.9704	6046
+-121.703	42.9091	4959
+-83.5083	30.0848	6843
+-87.7513	42.2666	4690
+-118.4337	43.9382	6965
+-90.4596	36.5494	7539
+-111.3872	29.6395	7078
+-88.3609	37.5356	9337
+-117.5906	43.9393	6857
+-88.6859	39.3894	7878
+-81.6778	26.3228	8180
+-91.4219	38.0432	8070
+-90.1299	37.1969	8197
+-120.3904	49.3717	5787
+-88.2485	38.2411	8946
+-90.0143	38.8507	9012
+-90.1636	37.2178	8168
+-80.6122	26.7971	7852
+-119.1693	48.355	6695
+-119.2298	33.3883	7247
+-118.3084	45.9321	9081
+-84.2319	28.6019	7337
+-115.4041	30.8736	6972
+-90.0485	37.5393	8070
+-117.3809	34.7703	8832
+-114.364	34.1237	6372
+-116.7453	32.4585	9283
+-121.716	47.2634	8265
+-120.0173	44.2462	6572
+-115.9269	32.9059	8589
+-113.7174	34.0813	5864
+-111.0701	28.8833	6441
+-121.8815	45.0198	7192
+-82.2668	24.3776	6055
+-115.5059	31.0308	7179
+-114.7979	31.6549	7009
+-111.9858	31.6001	7683
+-120.9205	45.0314	6565
+-83.2594	35.8075	3291
+-118.9656	31.503	7085
+-110.7592	33.831	6995
+-111.0412	33.9674	6779
+-82.3358	30.5317	6756
+-116.8676	34.5109	8939
+-114.7617	36.8539	5504
+-115.9308	30.9961	7417
+-118.5759	32.7909	7958
+-111.377	29.2641	6718
+-93.2836	39.8443	6083
+-117.6119	33.8268	9034
+-83.0915	25.1296	6718
+-89.2208	39.5332	7914
+-120.3867	32.417	5912
+-122.149	43.6234	5842
+-89.5621	39.6324	8125
+-89.0643	37.5619	9461
+-88.0747	32.4343	3891
+-115.0256	34.0202	7090
+-119.3762	45.0895	7684
+-93.017	41.5366	5292
+-91.1674	35.5242	6204
+-83.4108	28.9964	7886
+-125.0569	29.5514	22
+-113.9502	32.1955	6318
+-117.6173	34.8417	8676
+-88.4517	41.5202	5784
+-116.2102	31.4774	8037
+-115.4881	32.7983	8104
+-119.2989	46.2852	8167
+-103.7932	31.2373	2378
+-122.4546	43.4314	5692
+-81.3754	24.8324	6464
+-113.0096	28.8273	5311
+-116.6824	31.4255	8169
+-112.1318	33.2618	6808
+-118.6645	48.5703	6613
+-89.9734	38.8701	8964
+-120.1476	47.1883	6974
+-110.7924	29.4814	7143
+-88.4844	39.0015	8283
+-112.4286	32.605	6948
+-112.0915	31.7637	7559
+-117.5341	48.6229	6473
+-85.3199	28.7484	6120
+-88.456	38.2086	9113
+-121.7027	44.0282	6120
+-116.9122	35.2818	8227
+-89.8963	39.1688	8732
+-117.6125	30.0153	6546
+-83.7422	27.8389	8070
+-120.6312	31.9357	5549
+-116.8407	34.9747	8509
+-122.9699	47.3322	9197
+-115.6123	31.5664	7697
+-122.2706	47.662	8576
+-115.7194	34.0274	7846
+-119.1847	31.6252	6944
+-79.3895	26.9551	6655
+-119.3224	32.2732	7056
+-90.6936	40.0052	8031
+-80.0636	27.3483	7504
+-85.3685	36.5949	5816
+-116.8437	30.8583	7564
+-92.642	35.8347	5449
+-93.0748	42.4857	4462
+-82.2674	30.4731	6827
+-88.5779	36.6731	8681
+-120.8646	47.6665	7242
+-109.7978	31.826	8837
+-119.6778	35.0454	6726
+-116.5478	34.9421	8358
+-113.9165	29.9907	5225
+-115.4408	29.9572	6138
+-109.4423	32.0155	8401
+-113.6447	32.3511	6011
+-114.9218	34.9086	6844
+-83.5742	29.054	7706
+-112.7293	34.5515	5341
+-123.0677	45.6522	8150
+-85.7976	37.9429	6468
+-83.1991	26.6939	8182
+-115.9919	32.6433	8649
+-117.2267	46.0151	8138
+-122.372	47.4899	8789
+-83.7964	26.8938	7768
+-109.1309	27.8854	5261
+-84.573	36.7017	4985
+-88.8141	38.8939	8436
+-116.2394	35.731	7466
+-116.4734	34.3292	8647
+-118.9434	33.1975	7443
+-126.6951	45.0282	4924
+-125.7696	46.4566	6404
+-114.806	32.853	7343
+-117.0986	48.3287	6587
+-77.774	29.3168	4658
+-118.9188	47.5306	7603
+-115.5343	29.934	6163
+-85.3439	26.9061	6132
+-82.1017	26.3994	8345
+-109.9592	29.9238	7630
+-88.9582	41.8187	5778
+-108.5338	29.7065	6656
+-90.6921	38.2792	8817
+-87.8248	39.7593	7238
+-112.8723	34.9759	4882
+-121.6576	48.026	7812
+-115.2839	32.4434	7830
+-116.8791	31.5027	8284
+-91.8257	33.9659	4426
+-111.9598	30.4848	7347
+-109.1413	31.6784	8178
+-80.7479	27.7199	8324
+-123.174	32.5924	2878
+-117.7292	33.1359	8831
+-86.8198	36.658	7354
+-116.2233	31.6966	8253
+-86.1892	38.2032	6860
+-117.8629	33.6022	8667
+-88.0346	37.095	8773
+-123.6585	45.9292	8194
+-116.372	32.8006	9089
+-122.1129	46.18	8384
+-91.6415	39.0965	8018
+-87.8656	40.7737	5943
+-118.2908	35.5111	7665
+-117.0243	49.6406	5281
+-118.1656	35.48	7772
+-112.6873	34.358	5531
+-84.4392	26.715	7025
+-91.9763	37.769	7408
+-118.6653	48.0827	7122
+-117.4012	44.7504	7553
+-119.1815	33.7914	7416
+-118.318	47.7601	7502
+-109.5814	35.2532	5415
+-91.2368	36.5394	6870
+-93.589	38.9309	5964
+-87.7001	38.0525	8542
+-112.193	34.3452	5866
+-85.0505	26.4952	6292
+-83.4734	25.8056	7205
+-87.6285	38.5394	8205
+-113.3448	28.8265	5050
+-122.2898	35.232	3929
+-117.1083	36.1387	7343
+-124.6599	44.8906	6616
+-111.3491	32.5733	7937
+-83.0824	31.1623	5904
+-116.7345	30.4573	7109
+-88.7119	39.8729	7254
+-111.311	32.683	7879
+-118.7097	33.5299	7832
+-116.2611	33.4626	8686
+-121.2733	45.7382	7367
+-120.6562	42.3124	4527
+-116.5495	34.2417	8747
+-117.1613	27.7433	4090
+-84.8074	27.9007	6863
+-125.5253	45.3371	6212
+-124.5474	48.0874	7417
+-120.8908	35.2498	5401
+-120.0675	43.3084	5752
+-115.2013	32.7462	7782
+-114.3167	47.2965	4873
+-118.0858	33.3385	8293
+-85.831	38.9954	6198
+-91.2308	39.7866	7981
+-86.0795	34.828	5428
+-120.1211	41.4706	3985
+-123.3616	47.839	8522
+-119.9927	35.2595	6320
+-114.3262	32.4508	6780
+-87.4497	39.202	7544
+-81.6382	28.2655	9097
+-90.0497	36.8653	8117
+-84.8982	40.1978	4625
+-120.5839	43.5881	5653
+-113.7287	35.8735	5237
+-87.1264	34.4757	5788
+-116.5226	31.3159	8007
+-112.1823	30.3962	7093
+-118.0658	42.8022	5760
+-123.1065	47.5979	8876
+-87.7847	37.9784	8658
+-117.6537	45.8497	8543
+-117.8351	34.6138	8726
+-115.8054	42.9055	4979
+-80.5898	31.2828	5548
+-90.3621	35.0705	6395
+-114.8696	34.3837	6909
+-116.7095	31.1678	7891
+-89.1647	36.8421	8788
+-116.8213	49.5563	5286
+-115.8634	34.5881	7929
+-88.2366	35.4313	7237
+-84.0691	29.5381	6924
+-122.5095	48.4306	7942
+-118.4202	43.4504	6451
+-90.2831	39.204	8923
+-88.7004	38.3809	9009
+-118.0659	35.7452	7575
+-86.9719	33.8984	5131
+-117.3621	28.4897	4906
+-116.0953	45.8199	6924
+-117.2367	46.6931	7987
+-116.7066	33.4667	8972
+-112.4281	31.364	7192
+-116.8672	32.4896	9372
+-115.4175	42.8411	4664
+-114.6295	31.8065	6913
+-82.3787	30.43	6866
+-120.7291	44.6614	6255
+-112.9643	31.7187	6619
+-114.4534	33.1955	6918
+-118.7452	43.4268	6387
+-110.5645	30.1762	7929
+-90.386	38.6929	9363
+-119.895	48.104	6537
+-83.8711	30.5169	6212
+-120.6961	45.9847	6955
+-117.0112	44.1896	6830
+-88.0918	35.2501	6999
+-109.7482	29.0888	6698
+-115.2484	30.8343	6827
+-79.908	28.0727	7351
+-120.9899	48.3709	7002
+-124.3845	48.118	7542
+-84.2319	28.4495	7396
+-118.0061	33.0283	8570
+-118.4182	34.4601	8232
+-115.3178	34.2637	7407
+-80.7816	27.7207	8362
+-90.816	38.6311	8941
+-91.8341	35.4966	5585
+-110.559	34.4897	6315
+-108.4112	32.4996	7167
+-111.4594	30.701	7924
+-91.7742	35.1961	5311
+-112.1848	31.9598	7426
+-83.0209	32.6966	4225
+-123.6401	45.1015	7402
+-116.6475	32.3035	9079
+-116.2836	32.4048	8863
+-107.9672	31.2844	6890
+-90.9731	41.4295	6467
+-118.5537	34.5229	8071
+-90.1852	44.198	3548
+-84.8224	27.0809	6753
+-117.0374	32.5591	9455
+-91.0747	37.8703	8218
+-114.5122	35.1167	6348
+-88.528	36.2905	8248
+-117.7892	31.8861	8368
+-81.9052	24.7307	6448
+-89.4308	34.6246	6321
+-124.1184	45.4882	7502
+-89.458	36.8843	8644
+-118.6092	32.3692	7854
+-92.4298	37.0943	6587
+-112.9518	33.2935	6085
+-93.5631	39.6672	5857
+-89.5215	39.5865	8130
+-124.1199	48.0892	7785
+-122.3857	46.3714	8742
+-119.0214	32.2297	7369
+-83.937	26.8857	7621
+-119.5361	45.6924	7865
+-111.6437	33.4415	7010
+-81.9561	27.8677	9662
+-87.2722	39.8628	6833
+-108.8744	33.3305	7007
+-90.8217	37.7866	8283
+-84.3752	25.0936	5945
+-79.845	26.8422	7100
+-121.2992	47.1741	7833
+-81.2312	29.9338	7237
+-80.1526	30.7961	5797
+-116.9993	43.5607	6247
+-118.7547	42.4986	5414
+-119.9859	46.5127	7405
+-114.8348	35.6054	6437
+-113.9769	31.6939	6191
+-116.516	36.1931	7146
+-106.6894	30.1299	5223
+-113.797	30.3196	5479
+-87.7073	28.3028	3557
+-112.3393	35.1846	5007
+-116.2059	32.7784	8903
+-126.0064	46.8879	6192
+-116.1323	35.3396	7732
+-92.8581	39.0214	6741
+-80.9001	30.2677	6738
+-81.0453	27.5463	8637
+-118.4448	46.6729	8630
+-115.3221	35.9091	6665
+-125.2504	47.3376	6992
+-91.0271	38.3661	8616
+-111.788	30.9889	7771
+-117.8751	47.6147	7599
+-80.4096	28.5423	7754
+-108.6945	32.5816	7395
+-90.1801	36.9827	8053
+-115.605	28.8929	5120
+-120.3059	33.2115	6073
+-122.6809	47.8274	8630
+-81.52	27.8246	9195
+-108.2644	28.3029	5272
+-112.4082	32.3486	7077
+-124.9153	44.8517	6397
+-94.5296	36.5894	4385
+-124.2824	46.755	8070
+-90.8559	37.3184	7799
+-82.5849	32.2198	4828
+-118.3971	34.6725	8172
+-123.453	48.443	7874
+-115.7029	33.6488	8065
+-111.2237	31.2205	8432
+-90.8651	41.7397	6160
+-116.6119	35.525	7860
+-118.2938	45.5857	8716
+-124.358	48.4125	7350
+-117.0551	46.9617	7672
+-118.7538	33.1641	7602
+-90.6919	40.9845	6993
+-117.4822	45.5205	8213
+-118.1246	34.9886	8216
+-114.9747	36.1926	6177
+-108.9306	32.6192	7584
+-121.189	36.2059	4699
+-82.7344	27.6021	9187
+-117.5444	45.6318	8334
+-117.1735	43.2619	6033
+-118.0446	45.4556	8533
+-90.5788	36.5621	7433
+-111.0479	30.8166	8338
+-116.3417	34.7227	8342
+-90.0133	34.0243	5494
+-89.0664	39.9221	7524
+-83.2743	24.1834	5638
+-110.7445	32.9641	7913
+-114.6123	30.4612	6038
+-87.6699	38.7386	8093
+-116.518	31.3955	8091
+-121.5406	43.3927	5405
+-115.864	46.1915	6696
+-118.9024	33.1293	7444
+-118.8629	37.2119	5755
+-84.2404	25.6717	6531
+-121.6318	42.7821	4802
+-82.1657	26.3301	8267
+-111.9595	33.1137	7054
+-87.3154	35.214	6617
+-117.2773	42.591	5395
+-115.4895	30.5282	6715
+-122.9862	47.4308	9087
+-91.0201	37.8064	8197
+-119.2643	32.4294	7154
+-125.1441	47.7001	7012
+-114.411	34.3094	6417
+-87.9571	37.0027	8640
+-122.2278	48.7097	7554
+-121.065	46.1561	7402
+-118.2457	42.0078	4926
+-115.2828	48.8156	4975
+-81.1397	28.4436	8532
+-118.4712	45.7662	8855
+-114.1187	48.0707	4381
+-89.6749	36.3433	8014
+-80.8034	27.8115	8387
+-91.1444	38.3191	8482
+-80.9861	26.7854	8185
+-117.0406	42.6812	5408
+-91.5001	39.6424	7884
+-84.7837	37.4529	5338
+-113.8595	30.8896	5580
+-116.9292	37.7916	5530
+-88.6736	37.7535	9672
+-90.5936	37.0824	7613
+-119.9188	36.4666	5685
+-119.4869	32.307	6885
+-117.122	31.6097	8395
+-113.5786	35.2067	5348
+-112.7153	31.7469	6887
+-88.9308	39.6412	7588
+-119.6222	49.7467	5146
+-108.767	32.8434	7296
+-80.3822	29.8744	6792
+-82.1922	30.053	7305
+-124.7099	47.4721	7542
+-117.6644	28.9393	5359
+-118.0699	35.966	7355
+-112.6012	30.7204	6845
+-109.3686	28.4062	5876
+-89.2913	39.1251	8180
+-113.2573	34.6267	5131
+-119.6689	31.5953	6445
+-88.0483	38.0761	8887
+-119.0206	45.2458	8065
+-121.3518	46.2573	7735
+-122.3332	47.1781	8942
+-81.6296	29.9641	7342
+-117.9593	35.6117	7757
+-117.4622	34.3429	9225
+-89.8178	39.1026	8706
+-90.5092	32.4233	3613
+-116.8955	33.6311	8857
+-90.5337	40.3079	7737
+-81.6486	28.3829	9005
+-115.7304	35.3887	7374
+-117.7057	49.6785	5422
+-116.969	35.5351	7975
+-111.0431	33.9067	6841
+-89.392	38.646	8350
+-117.7271	27.9218	4228
+-93.2767	38.9725	6297
+-92.4933	37.0661	6515
+-124.5203	47.7826	7613
+-115.4049	44.9115	5962
+-112.4321	32.442	7017
+-114.9703	32.3172	7458
+-115.9526	32.1655	8409
+-87.0957	35.8521	7047
+-123.5935	47.1678	8813
+-116.4962	30.227	6817
+-124.53	42.5986	4484
+-117.7465	46.6131	8474
+-116.5195	36.4232	6910
+-111.9851	31.3635	7668
+-125.1976	46.9141	7081
+-121.5774	45.5817	7502
+-79.7814	28.6802	7038
+-115.4442	33.3455	7955
+-118.1534	34.1541	8570
+-120.3035	35.3232	5980
+-90.5889	39.4352	8653
+-122.5056	46.6553	9054
+-117.3876	42.0986	4918
+-111.3269	30.2813	7699
+-108.9467	29.8244	7047
+-109.2632	32.5309	7925
+-110.9959	31.4864	8748
+-81.3276	28.7335	8468
+-121.0151	32.9471	5249
+-118.9876	34.1122	7660
+-124.1941	46.7676	8168
+-92.2277	41.5731	5790
+-110.8413	29.5188	7170
+-90.8828	41.1202	6814
+-115.7761	29.4194	5738
+-92.1655	40.6209	6639
+-115.7925	34.6719	7826
+-87.4134	36.5466	7844
+-117.3584	46.8685	7987
+-91.1031	33.5905	4542
+-114.5888	33.8608	6856
+-78.4681	26.3838	5460
+-117.9544	35.6921	7679
+-114.2422	36.7358	5186
+-83.4789	29.3983	7500
+-113.126	33.8551	5573
+-91.5991	37.9038	7828
+-121.0897	34.8757	5290
+-114.7269	46.8412	5413
+-109.0254	31.6288	8056
+-80.2939	28.4788	7661
+-84.2021	26.4273	7104
+-116.684	32.8674	9433
+-113.7691	30.5936	5600
+-115.2669	29.5709	5666
+-84.2433	27.2598	7437
+-83.7904	28.1857	7959
+-119.6377	47.3977	7274
+-120.8865	46.0014	7153
+-123.7633	44.09	6307
+-112.7583	30.87	6735
+-120.8936	45.1246	6614
+-81.0034	29.769	7291
+-82.4096	28.507	8998
+-89.8878	37.149	8429
+-117.9223	31.2391	7696
+-88.1411	39.5545	7582
+-112.2635	29.6167	6488
+-90.0976	37.8403	8397
+-123.5423	46.6104	8799
+-89.8535	40.806	7136
+-120.9109	48.9006	6558
+-87.4396	37.906	8301
+-79.1233	29.01	6208
+-115.0233	29.9502	5890
+-89.115	34.7007	6464
+-87.5732	37.9254	8444
+-123.4599	46.9019	8987
+-117.6221	33.0766	8966
+-108.4279	30.284	6975
+-116.106	34.8974	8022
+-115.7074	32.1254	8151
+-118.7148	33.1931	7654
+-94.3573	38.713	5141
+-88.6201	38.6273	8724
+-117.3734	33.2442	9094
+-121.7908	45.1467	7265
+-119.9648	47.2801	7085
+-118.3945	31.9587	7895
+-121.8456	48.7222	7356
+-112.3534	30.1228	6773
+-114.6063	30.9824	6419
+-85.3589	28.5816	6128
+-120.0276	36.312	5701
+-117.9555	30.2928	6729
+-126.612	48.4087	5231
+-86.9141	34.8658	6046
+-94.3511	41.0011	4507
+-90.9944	37.6771	8094
+-107.9482	30.2557	6516
+-123.7501	48.7802	7406
+-93.3046	37.3362	5926
+-110.4547	33.6322	7250
+-88.6213	36.0775	8025
+-119.2778	47.1653	7717
+-89.6792	34.3757	5982
+-115.6896	33.5659	8101
+-78.1468	28.7271	5253
+-84.0321	28.0554	7720
+-92.3194	38.3309	7289
+-110.0366	30.6563	8419
+-118.8506	34.5282	7757
+-119.2906	30.9135	6402
+-115.6919	30.5268	6830
+-120.9428	44.0522	5706
+-90.5328	41.7144	6225
+-122.2692	48.5843	7699
+-125.075	48.6856	6560
+-80.7186	30.3316	6578
+-114.0036	32.9804	6443
+-118.3612	47.2071	8085
+-123.3965	46.7929	9028
+-110.0756	33.2501	7646
+-119.9785	45.6838	7412
+-92.0176	38.6001	7655
+-124.7108	47.5618	7512
+-83.9732	28.8413	7482
+-90.2576	37.7408	8328
+-88.2051	38.814	8381
+-119.1642	31.7893	7047
+-88.5095	38.1752	9175
+-109.3048	26.4692	3822
+-123.2409	48.7353	7627
+-111.0731	30.4809	8035
+-119.5171	36.6388	5864
+-87.25	40.2795	6423
+-119.2252	34.1174	7401
+-121.5131	46.3793	7952
+-111.1535	31.2822	8527
+-117.1099	35.1866	8376
+-90.052	38.2945	8817
+-117.2839	34.4405	9202
+-88.7329	35.8738	7803
+-91.1005	40.5616	7324
+-91.0644	37.0263	7427
+-90.121	35.797	7224
+-120.9835	32.695	5190
+-121.6586	49.7252	6283
+-106.4196	29.9106	4862
+-110.3253	28.9464	6617
+-89.3917	36.4312	8262
+-115.014	33.787	7321
+-108.7165	31.3986	7710
+-109.8889	29.7035	7381
+-88.2735	38.4065	8816
+-88.8733	42.3132	5253
+-120.0984	46.1411	7338
+-117.5061	30.058	6618
+-116.6338	32.7304	9369
+-118.3901	48.0429	7200
+-118.067	34.2078	8661
+-118.6286	33.8111	8011
+-117.7285	30.5302	7065
+-87.274	40.1589	6554
+-106.0743	29.5637	4367
+-118.4607	36.0662	7060
+-90.5215	35.209	6426
+-115.4502	46.6108	6212
+-115.6009	46.5675	6377
+-117.5604	34.3337	9150
+-87.7399	39.1189	7818
+-110.1938	33.2218	7692
+-118.8616	43.6412	6585
+-118.5915	33.3378	7852
+-116.0283	35.0808	7837
+-120.4586	49.4031	5817
+-82.9791	25.4243	7075
+-115.1209	34.2072	7196
+-89.058	37.9957	9321
+-90.0824	36.8682	8088
+-119.4673	46.123	8006
+-114.3485	36.6053	5366
+-119.3154	33.6256	7235
+-111.0593	33.4143	7340
+-83.7165	26.2182	7387
+-117.1282	33.1357	9354
+-112.0394	34.0864	6192
+-92.4982	39.0711	7119
+-118.3706	35.4234	7686
+-90.1646	38.8322	9172
+-88.4232	41.8123	5505
+-119.8139	34.5234	6727
+-89.8567	36.9353	8342
+-118.5463	35.552	7454
+-115.309	30.4375	6519
+-119.7784	44.0421	6567
+-118.1929	33.5695	8355
+-89.1503	37.4096	9297
+-82.7379	29.2277	8103
+-111.4937	32.4812	7884
+-120.115	36.368	5589
+-89.351	34.5779	6287
+-115.7345	35.8188	7053
+-121.2616	42.2896	4139
+-122.5853	48.0203	8398
+-121.8459	49.3725	6720
+-110.2579	35.1338	5626
+-117.922	33.269	8574
+-109.7317	32.4078	8368
+-81.2368	27.9287	8862
+-85.9002	37.6162	6597
+-123.5086	49.115	7153
+-111.196	32.05	8411
+-120.3282	34.0972	6198
+-119.909	41.437	4030
+-119.0034	31.7642	7196
+-112.2161	33.4846	6574
+-119.2595	45.7131	8148
+-90.3082	39.789	8302
+-89.1032	38.3443	8965
+-116.6981	36.7932	6571
+-90.3563	39.5186	8595
+-92.6421	37.5726	6679
+-90.5897	37.6131	8179
+-116.8174	36.0881	7350
+-89.8426	37.6802	8607
+-82.0229	25.4807	7303
+-82.6986	25.489	7238
+-120.9628	44.5408	5977
+-91.2704	38.5268	8438
+-121.8231	46.8588	8417
+-81.6982	30.4928	6769
+-85.0363	38.794	5440
+-88.169	35.4038	7189
+-124.7693	48.4237	7002
+-119.115	36.0859	6605
+-117.8596	34.1325	8891
+-115.6323	34.2284	7752
+-113.5382	33.0601	5919
+-109.2486	32.2471	8096
+-119.9295	48.287	6361
+-81.1306	29.491	7636
+-92.6968	37.6487	6663
+-121.5808	30.8555	4161
+-77.7718	26.4174	4727
+-118.414	37.4056	5755
+-88.5425	40.6803	6549
+-113.3954	47.1542	3965
+-88.3606	38.8515	8409
+-81.6294	24.9727	6681
+-106.7087	29.4785	4932
+-111.7271	26.6827	3953
+-83.2912	33.1698	3641
+-119.4802	46.2566	7982
+-119.6333	31.7531	6551
+-120.8415	48.2182	6959
+-110.4037	34.7051	6090
+-116.9324	32.1346	8991
+-92.3716	37.9295	7106
+-89.975	36.8308	8166
+-90.1459	38.4563	9017
+-118.2185	42.7763	5740
+-119.4315	34.3235	7167
+-115.0773	35.6361	6641
+-87.7174	37.6545	8637
+-116.3954	32.9926	9086
+-123.919	46.3172	8279
+-119.2607	48.0936	6909
+-117.7398	31.632	8175
+-89.7699	36.708	8258
+-119.8462	49.324	5466
+-117.0995	34.1962	9343
+-115.8258	30.015	6379
+-123.56	47.0133	8879
+-118.8993	45.3758	8254
+-115.8409	36.7693	6269
+-78.7044	30.3649	5025
+-116.3202	32.8687	9030
+-119.9831	31.0844	5873
+-89.2579	37.5607	9251
+-120.1169	49.6517	5358
+-110.3778	31.3426	9208
+-121.3893	43.8795	5830
+-115.6071	33.0266	8218
+-124.0397	47.2216	8323
+-84.0095	36.3632	4279
+-122.8851	47.9504	8525
+-109.8544	30.3158	8006
+-90.2598	36.7138	7827
+-116.7221	33.6841	8768
+-84.5749	24.967	5690
+-118.4369	36.3838	6771
+-118.7335	45.0156	8017
+-86.3946	37.5438	7149
+-125.2213	44.9823	6251
+-117.457	34.9506	8622
+-89.861	39.1003	8747
+-106.3026	32.3206	5034
+-95.0126	36.925	4061
+-110.9186	30.7233	8346
+-117.0386	34.2516	9258
+-107.0013	32.9755	5561
+-118.7822	34.8988	7686
+-90.7302	41.5817	6349
+-87.1501	37.076	7883
+-106.3846	29.5896	4681
+-82.533	27.282	9182
+-113.8666	33.0495	6285
+-89.4567	39.0048	8389
+-111.2318	30.3937	7858
+-82.6879	28.5612	8796
+-118.9209	29.5986	5553
+-117.6988	33.471	8675
+-121.8985	47.0237	8504
+-119.2922	36.7717	5909
+-115.2575	32.3475	7776
+-121.4828	43.9061	5901
+-121.4252	45.7199	7485
+-89.8726	40.8254	7121
+-80.5801	33.0297	3684
+-79.685	31.5049	4837
+-89.5117	39.8382	7922
+-121.0638	45.025	6670
+-82.9639	27.9499	8930
+-90.6135	36.9256	7442
+-85.4267	39.2077	5686
+-113.4206	33.6655	5686
+-90.0471	38.3553	8865
+-115.0008	29.502	5454
+-121.6278	35.1372	4656
+-108.0455	30.5877	6770
+-88.5285	35.5344	7408
+-121.4967	43.5603	5559
+-118.3327	35.0787	7984
+-83.2083	27.3647	8594
+-115.0886	29.9962	5973
+-115.788	34.0911	7924
+-90.639	37.7257	8286
+-87.278	34.1161	5494
+-115.8455	35.8699	7090
+-117.5946	30.9964	7605
+-91.4954	39.783	7788
+-122.3931	49.0239	7278
+-89.4747	40.4625	7335
+-117.8492	30.7233	7219
+-88.8456	37.2278	9315
+-88.7731	40.9043	6525
+-91.7635	37.8795	7666
+-118.2577	34.8263	8219
+-104.9869	32.7379	3547
+-119.7887	44.4961	6931
+-113.8892	32.7117	6318
+-121.871	45.2164	7376
+-108.9103	30.1614	7294
+-92.9151	36.5841	5833
+-81.3267	26.3841	8082
+-116.9074	30.5333	7205
+-88.2325	35.0783	6849
+-88.0895	39.4933	7628
+-120.4968	43.0112	5236
+-88.3272	42.4466	4865
+-116.9131	34.3675	9075
+-116.9672	31.1339	7876
+-87.9056	39.9419	7084
+-116.8072	46.5554	7625
+-112.5775	31.0813	6982
+-112.0132	33.8767	6393
+-89.2193	37.984	9194
+-92.2132	38.0225	7302
+-110.8307	33.6972	7121
+-82.6172	30.232	7050
+-118.3717	44.8935	7979
+-90.3486	37.7405	8336
+-84.8768	29.883	5972
+-88.8073	38.5827	8785
+-87.1958	38.92	7559
+-113.6549	45.3142	4288
+-126.4287	46.095	5613
+-116.4214	32.9705	9121
+-109.0752	31.2114	8052
+-88.8398	37.9365	9501
+-91.7849	36.8175	6851
+-88.7144	38.9551	8367
+-119.6343	47.1248	7465
+-112.8095	33.9039	5797
+-87.1374	36.2851	7418
+-120.2089	47.501	6738
+-94.2472	37.2138	4943
+-115.9478	47.6341	6301
+-116.5177	31.0742	7746
+-91.9216	41.1955	6310
+-110.1335	28.2389	5844
+-118.3485	30.8259	7050
+-123.1017	49.6384	6662
+-110.6867	34.5183	6271
+-110.109	33.8275	7030
+-109.9702	29.4903	7172
+-117.383	33.8819	9236
+-114.8351	33.0805	7357
+-107.8942	31.8462	6816
+-118.2947	46.7765	8544
+-83.6655	26.3136	7504
+-115.5431	33.4237	8027
+-118.3118	48.3537	6873
+-87.9619	35.2057	6909
+-112.7986	33.294	6222
+-118.1903	45.0588	8153
+-124.438	47.7363	7717
+-111.9878	35.2095	5155
+-81.9709	30.0894	7258
+-118.6241	27.1764	3196
+-118.5746	33.5993	7997
+-119.7885	45.4407	7520
+-117.5654	32.0775	8692
+-89.5379	35.7093	7454
+-118.9999	35.3418	7233
+-115.8422	32.2719	8359
+-81.7512	26.0293	7880
+-119.1598	46.2324	8322
+-88.9371	37.7045	9619
+-115.5513	32.8356	8174
+-116.6964	31.9698	8761
+-86.7129	36.9026	7356
+-91.5562	37.5454	7612
+-125.5726	48.3661	6292
+-79.0425	24.6146	4898
+-119.3875	35.3013	6897
+-119.0466	32.7758	7432
+-87.3496	38.5427	7945
+-119.4242	43.8799	6617
+-117.0553	32.0655	8909
+-119.7332	48.8747	5945
+-85.4484	39.2914	5667
+-117.5043	46.1216	8435
+-90.1255	40.0446	8002
+-89.2679	39.6649	7869
+-81.0548	30.9809	6057
+-115.6908	46.5135	6480
+-83.2161	27.45	8616
+-87.1194	38.3761	7802
+-123.9134	48.7089	7392
+-83.2572	30.1392	6922
+-109.0872	32.4849	7807
+-121.4414	47.9014	7703
+-112.6746	30.8645	6820
+-122.7411	34.9418	3501
+-91.254	40.2508	7554
+-119.7852	45.7221	7620
+-108.2214	30.4711	6888
+-115.4246	46.1705	6232
+-89.1235	36.8488	8814
+-94.0856	36.7296	4878
+-111.9894	32.1297	7584
+-82.3108	27.7976	9689
+-117.4121	33.0603	9186
+-88.2735	36.2973	8182
+-107.3513	32.3801	6129
+-124.1248	48.5368	7418
+-120.0575	36.8802	5266
+-118.5105	36.1163	6984
+-86.7838	39.8682	6489
+-117.7347	33.04	8861
+-117.5894	33.8858	9094
+-108.2438	28.8441	5741
+-116.6312	31.3496	8074
+-89.5988	35.404	7110
+-86.5965	37.0932	7296
+-124.3556	43.3662	5340
+-83.0106	28.8068	8353
+-88.0003	36.8476	8557
+-120.553	45.9225	6849
+-117.0382	34.5991	8972
+-117.7263	48.1567	7004
+-119.6225	36.2323	6096
+-117.0295	33.5703	8871
+-123.8912	45.8596	7974
+-120.7868	45.6265	6857
+-115.1182	37.0916	5550
+-110.1634	32.5356	8425
+-115.667	32.4969	8260
+-89.6634	35.0446	6705
+-91.9853	39.2513	7615
+-116.9652	32.6765	9597
+-123.8233	47.4726	8449
+-92.9266	39.0274	6667
+-92.0003	36.7309	6636
+-109.6204	31.3194	8650
+-121.6891	47.0769	8270
+-86.7554	37.7537	7555
+-118.7813	48.7312	6424
+-119.2132	34.4468	7387
+-122.3018	47.0202	8946
+-115.8824	28.8523	5169
+-114.1897	31.8823	6485
+-79.7799	30.8049	5544
+-80.5305	26.528	7601
+-114.6074	34.347	6628
+-117.295	33.5063	8853
+-116.8215	47.6493	7005
+-115.3114	29.4746	5593
+-123.7407	47.3785	8578
+-117.6992	47.9214	7235
+-117.6204	33.8341	9032
+-78.873	27.7104	6203
+-91.0155	42.758	5051
+-116.7241	30.4203	7066
+-88.749	37.8379	9621
+-121.2798	28.5601	2994
+-89.4994	39.2729	8317
+-108.7699	32.2853	7617
+-115.8658	28.2504	4514
+-84.6309	25.3123	5931
+-113.8682	32.3816	6263
+-118.3939	34.1822	8307
+-88.2417	37.773	9214
+-120.727	30.7898	4988
+-118.6421	29.9784	6077
+-84.1141	27.3531	7603
+-109.3909	30.5478	7957
+-117.7618	32.0033	8484
+-114.1727	27.3688	3297
+-115.6468	42.6092	4627
+-125.3068	46.1602	6818
+-93.0724	43.7319	3322
+-118.3216	33.5296	8212
+-117.0975	47.4063	7392
+-114.5861	33.8678	6850
+-89.0922	39.7814	7643
+-113.9464	33.0157	6377
+-115.8262	30.4462	6819
+-87.479	37.6435	8370
+-121.4917	45.7354	7551
+-117.964	45.8348	8821
+-117.3111	47.5378	7422
+-118.0676	34.4784	8586
+-119.7975	43.424	6004
+-91.5329	37.3016	7431
+-116.37	26.7598	2964
+-109.8724	30.912	8591
+-89.2714	36.6804	8572
+-113.3539	34.4011	5260
+-116.7428	35.3778	8065
+-115.8139	32.9635	8457
+-115.8247	32.1902	8300
+-124.2908	44.9307	6897
+-80.6688	28.1282	8186
+-89.5488	38.3704	8436
+-89.3088	34.5495	6264
+-111.8693	33.6424	6690
+-89.2071	38.885	8148
+-86.1123	29.2231	5099
+-107.3705	31.04	6210
+-91.4909	37.4109	7551
+-123.592	45.0933	7412
+-86.0658	36.5358	6529
+-115.6949	35.8455	7003
+-85.5585	25.0774	4966
+-91.0398	37.4558	7860
+-88.5657	40.7587	6504
+-113.05	32.8514	6225
+-122.1821	47.695	8483
+-92.3201	35.8723	5686
+-109.481	33.2606	7435
+-90.8831	37.5688	8042
+-119.6537	44.8849	7321
+-109.1869	34.5671	6010
+-113.9136	31.9996	6228
+-92.0263	38.0347	7493
+-87.9565	37.2244	8779
+-109.8952	31.228	8862
+-122.6542	47.5145	8946
+-116.4763	44.8159	6913
+-117.7506	48.4874	6670
+-118.5239	33.518	8011
+-83.4815	26.0494	7422
+-79.8394	25.9736	6598
+-91.6967	39.5709	7755
+-122.4597	34.6716	3843
+-89.4412	39.6129	8047
+-121.8819	42.5858	4665
+-118.7019	49.6035	5524
+-118.5698	30.8267	6903
+-90.4903	35.2342	6469
+-86.9791	34.2947	5532
+-93.2653	37.7159	6124
+-91.0918	39.6466	8193
+-83.8909	28.364	7792
+-91.3028	35.0336	5712
+-80.0436	28.4883	7391
+-125.3528	47.1161	6906
+-117.7044	32.4897	8853
+-110.2116	31.4012	9236
+-114.2486	32.5766	6709
+-113.2815	29.5688	5605
+-124.102	46.814	8275
+-115.9276	46.0436	6765
+-81.5425	30.3365	6909
+-124.0818	46.0956	7993
+-115.429	30.3276	6490
+-117.979	34.0897	8759
+-108.7898	29.8832	6986
+-111.2245	26.0686	3421
+-115.1284	36.6398	5944
+-86.0011	37.1502	6657
+-89.2073	37.7649	9308
+-111.4906	29.372	6769
+-122.3919	47.0916	9031
+-91.4283	40.26	7445
+-118.2281	32.578	8321
+-89.243	42.0996	5611
+-90.9818	39.7293	8187
+-119.9637	49.2007	5525
+-124.4644	42.3422	4243
+-125.8221	48.4109	6025
+-116.5299	44.4516	6712
+-83.9259	39.3608	4058
+-87.0017	35.8548	6976
+-115.5097	34.5356	7572
+-123.2857	47.7964	8601
+-123.323	46.0124	8459
+-96.8468	39.7556	2374
+-114.8293	43.601	4745
+-116.4711	30.0226	6588
+-110.3185	32.3221	8673
+-120.0905	31.8622	6109
+-115.6496	31.5754	7734
+-89.0003	38.8819	8425
+-120.3222	44.5364	6539
+-83.6281	29.3961	7391
+-109.3257	34.6714	5954
+-118.9151	48.4633	6670
+-116.3301	30.7625	7354
+-113.4024	29.5251	5470
+-120.757	31.6022	5313
+-90.4772	38.9103	9224
+-113.7297	30.4151	5582
+-90.9854	38.2709	8595
+-108.8641	29.9243	7073
+-113.6914	34.4344	5624
+-86.0485	40.5315	5382
+-110.1553	30.4923	8276
+-115.728	42.788	4830
+-115.3189	31.701	7533
+-80.8454	26.4429	7803
+-118.8822	27.9036	3871
+-90.8298	35.6202	6554
+-121.8089	46.796	8393
+-94.5409	42.323	3516
+-89.3901	36.812	8628
+-91.7916	37.7537	7565
+-121.8378	44.8688	7023
+-115.7264	34.1141	7858
+-108.0202	31.5474	6967
+-87.6807	37.3498	8546
+-86.9059	34.795	5975
+-112.1442	31.7691	7501
+-118.7231	36.5993	6414
+-116.9647	48.1347	6693
+-91.9723	40.8184	6613
+-125.4251	49.0411	6016
+-116.3386	33.0307	9013
+-110.5535	31.359	9133
+-80.7279	27.4877	8271
+-85.3365	36.0923	5579
+-88.0625	36.7736	8539
+-86.2769	39.6691	6228
+-110.5514	32.1357	8830
+-88.7358	37.1674	9254
+-90.9076	38.6136	8840
+-122.4141	48.2449	8104
+-80.9785	25.1026	6608
+-88.9724	39.0529	8241
+-115.9974	30.1613	6600
+-117.3939	34.1755	9392
+-81.4676	26.8239	8587
+-85.7034	30.0633	5090
+-89.999	36.3055	7755
+-120.2992	37.1054	4906
+-88.8897	35.743	7652
+-88.5566	37.958	9411
+-118.58	47.5045	7740
+-85.9398	38.382	6542
+-90.1982	36.5271	7762
+-119.7007	34.5468	6845
+-117.8519	32.9338	8757
+-85.3411	25.7399	5600
+-81.167	31.3356	5709
+-118.0949	31.9118	8140
+-117.7117	44.0243	6980
+-78.8265	28.3574	6092
+-91.7084	40.6332	6942
+-113.1636	30.0855	6004
+-125.0396	45.3233	6642
+-115.4673	33.7959	7755
+-116.742	31.5484	8316
+-87.7867	38.2797	8517
+-115.035	34.0773	7103
+-91.5965	37.9444	7855
+-125.6005	47.8537	6483
+-111.8124	30.2093	7286
+-121.8791	46.3918	8319
+-116.8676	33.0481	9472
+-122.0334	48.3714	7793
+-90.9574	37.0657	7506
+-123.1539	45.431	7896
+-117.6644	33.9468	9059
+-118.0406	32.2578	8402
+-83.1455	25.9556	7545
+-124.6341	49.8595	5901
+-125.2271	48.9094	6276
+-109.3113	36.1907	4360
+-120.613	44.6971	6380
+-108.7532	32.4907	7499
+-113.2249	34.6003	5100
+-123.4942	42.7352	4912
+-88.2029	39.6478	7502
+-125.0231	47.0023	7273
+-83.1772	30.1406	6958
+-114.0943	32.0622	6440
+-82.9798	27.2799	8788
+-116.7719	34.7123	8707
+-116.0575	30.5162	6994
+-116.4922	35.8235	7510
+-126.525	46.1475	5523
+-119.0427	45.8592	8417
+-118.1895	34.6838	8366
+-116.853	37.025	6352
+-90.5845	41.8162	6112
+-118.8935	33.7276	7709
+-92.0723	40.1083	7088
+-120.5861	42.0758	4350
+-78.7046	24.4669	4509
+-120.5804	45.4893	6743
+-84.3145	30.1813	6211
+-88.2341	41.6789	5509
+-81.7761	32.5123	4508
+-107.9288	28.7547	5451
+-116.4549	47.2171	6991
+-90.1141	35.8099	7240
+-81.2127	26.3418	7973
+-121.07	44.3273	6078
+-117.7217	44.5477	7512
+-118.4459	36.9404	6217
+-123.1106	49.3505	6977
+-117.6037	47.1143	7968
+-91.8345	42.4313	5159
+-91.4666	40.6784	7040
+-87.3596	35.7156	7116
+-84.4232	28.8116	7045
+-113.462	31.6176	6084
+-123.3418	46.8768	9111
+-109.2293	32.8926	7618
+-77.1479	31.7099	2701
+-88.9555	33.5395	5178
+-91.9903	34.934	4961
+-88.4814	40.1602	6872
+-116.8784	32.6831	9574
+-120.9483	43.569	5368
+-117.4247	45.7226	8267
+-86.4779	39.2155	6713
+-120.8006	34.086	5683
+-107.9384	31.7791	6870
+-87.6558	41.6153	5161
+-122.0802	48.2005	7979
+-114.8332	35.0298	6709
+-118.1006	32.5924	8463
+-115.4541	31.9433	7805
+-108.8164	33.6406	6704
+-93.7629	43.6118	3042
+-124.5825	49.8297	5958
+-118.4153	35.0323	7947
+-106.6993	32.9014	5285
+-90.4171	38.3733	9017
+-116.6365	32.2924	9062
+-116.7672	29.9528	6551
+-115.9054	34.7215	7920
+-117.0286	30.9517	7672
+-80.1767	25.5542	6551
+-82.196	27.7272	9809
+-110.4727	28.9437	6610
+-119.7831	49.3654	5455
+-123.1071	45.5304	8012
+-85.9138	37.9709	6594
+-95.1616	39.1786	4253
+-115.641	46.9668	6315
+-87.6585	39.2952	7603
+-87.3207	40.0879	6649
+-81.6256	30.4582	6794
+-115.2748	30.4895	6544
+-114.5535	30.5046	6025
+-82.3844	28.5219	8992
+-92.4912	36.215	5871
+-110.7854	30.7957	8490
+-123.5709	44.4525	6747
+-82.3664	27.9772	9537
+-118.3754	36.1172	7059
+-110.7482	31.6347	9021
+-116.7854	46.7766	7520
+-107.4587	33.6426	5642
+-117.8826	33.232	8631
+-118.1145	30.0869	6450
+-87.0288	39.2556	7171
+-123.3695	49.3571	6930
+-117.1824	47.5133	7363
+-115.6048	40.3437	2536
+-82.9608	27.6841	8952
+-91.613	37.6205	7625
+-89.0587	40.0353	7435
+-121.7496	47.6748	8122
+-79.4084	25.9885	6211
+-118.9886	45.9668	8500
+-117.5503	44.6051	7497
+-82.9875	28.2773	8767
+-118.1367	32.8764	8446
+-118.2298	37.486	5733
+-122.9303	47.442	9083
+-108.0177	31.5061	6963
+-92.8919	42.0231	4980
+-108.641	33.8617	6399
+-120.5444	46.8624	7016
+-89.5337	36.4931	8242
+-112.8115	32.42	6640
+-90.3893	41.0671	6927
+-82.1296	30.4595	6846
+-81.2677	33.4192	3423
+-118.7115	33.3617	7751
+-86.3457	29.3761	4791
+-116.2177	32.968	8901
+-84.7321	33.0383	3243
+-116.6705	33.1738	9235
+-87.3478	37.3474	8183
+-119.8356	35.4108	6408
+-118.1399	45.1548	8248
+-90.4165	37.465	8039
+-92.0457	41.2734	6167
+-87.1985	36.2274	7426
+-119.1593	36.7676	6000
+-119.0942	28.6318	4517
+-122.7339	48.0492	8403
+-120.6344	32.7108	5550
+-93.1407	39.2428	6405
+-90.5519	38.6878	9231
+-115.0245	45.9489	5805
+-117.3677	48.5449	6496
+-119.651	32.8206	6759
+-122.8265	48.9621	7412
+-119.4584	32.6228	6965
+-107.9239	33.775	5945
+-109.9909	29.7134	7414
+-116.6857	32.1372	8933
+-109.4175	29.8737	7372
+-84.6706	28.0683	7002
+-88.3213	38.5548	8699
+-116.8948	33.8751	9044
+-90.1024	35.6539	7104
+-80.5265	26.528	7597
+-88.7474	36.3283	8313
+-110.9324	33.4267	7373
+-89.2718	39.8576	7733
+-83.6484	26.5914	7723
+-85.6865	35.0871	5306
+-91.1856	41.1963	6649
+-119.9953	36.1625	5829
+-119.2384	35.7928	6727
+-113.8484	33.3091	6232
+-121.2464	48.0351	7443
+-116.5665	33.1192	9193
+-120.8149	45.0223	6347
+-90.2495	35.1852	6571
+-90.293	39.5972	8506
+-108.9594	30.2852	7426
+-123.483	43.3151	5544
+-90.0006	36.2564	7712
+-114.0336	37.4153	4513
+-90.9457	37.2953	7743
+-85.5086	27.4093	6053
+-123.7246	47.5254	8512
+-92.5127	40.3485	6554
+-119.3025	32.0651	7016
+-91.0848	39.2988	8464
+-90.6501	34.8413	6004
+-116.4146	47.0865	7023
+-118.9176	31.6897	7240
+-85.0518	28.2821	6540
+-113.7717	31.922	6052
+-124.8252	43.4239	5176
+-89.3403	41.5786	6175
+-108.9613	32.0687	7897
+-81.4903	25.1462	6840
+-116.5077	44.6539	6835
+-89.6773	41.163	6715
+-83.1476	29.6894	7433
+-93.0786	35.8039	5120
+-88.5188	37.1317	9154
+-109.8749	29.2705	6919
+-89.4088	38.6372	8367
+-78.9418	28.2386	6242
+-88.84	39.8987	7351
+-127.5967	43.7921	3378
+-110.8244	28.7012	6306
+-118.4494	36.5655	6588
+-87.2194	39.731	6919
+-91.494	40.4612	7226
+-115.0811	35.4915	6731
+-117.2911	33.9245	9309
+-111.7153	29.5323	6794
+-113.0126	27.0577	3775
+-117.9201	35.8912	7492
+-119.5233	32.4097	6865
+-107.5563	29.4099	5653
+-108.6214	32.0557	7549
+-112.4052	32.2375	7120
+-122.898	44.1493	6511
+-89.9407	38.3567	8786
+-108.3682	27.5205	4584
+-108.6804	30.2237	7155
+-91.8168	35.6635	5756
+-85.0528	38.6393	5506
+-117.0369	36.3015	7159
+-118.3535	46.7888	8527
+-88.7354	35.3279	7190
+-120.3196	30.6151	5279
+-89.571	36.007	7746
+-109.7861	32.7185	8108
+-115.8552	28.5706	4857
+-90.6319	37.4261	7972
+-124.6037	48.4988	7089
+-119.6838	48.1024	6673
+-83.1781	24.7409	6271
+-115.4132	36.0408	6637
+-89.8317	35.7314	7336
+-116.4304	45.8524	7281
+-87.7556	39.432	7531
+-110.7634	31.2119	8858
+-117.7183	48.2342	6922
+-110.402	30.4452	8238
+-82.6969	26.6052	8432
+-92.2047	38.344	7413
+-114.1685	37.0798	4874
+-117.6837	49.2787	5835
+-119.1471	35.2438	7156
+-85.8192	28.5244	5635
+-123.2088	49.0855	7254
+-118.7108	46.5507	8603
+-117.0164	32.6138	9520
+-84.2079	38.7491	4555
+-108.4354	35.2818	4970
+-79.9668	27.608	7435
+-120.9049	44.5633	6042
+-121.3579	36.6579	4294
+-87.4769	39.8951	6924
+-114.8032	43.8411	4866
+-90.8048	39.7699	8235
+-90.3319	41.0434	6952
+-91.4379	39.2492	8167
+-110.0983	36.468	4175
+-91.4628	36.9612	7172
+-119.4208	43.0744	5837
+-92.4312	35.7723	5529
+-83.9203	30.6069	6096
+-85.8107	35.613	5775
+-116.8959	37.9013	5408
+-111.3971	29.4458	6887
+-125.1394	43.2061	4798
+-127.0289	43.8085	3895
+-89.441	38.7893	8408
+-118.5626	33.2112	7803
+-88.5364	34.7228	6501
+-119.6853	29.4782	4951
+-93.444	39.0567	6109
+-78.3994	29.1564	5385
+-117.3637	31.4511	8167
+-87.7869	38.4211	8427
+-81.5083	26.4201	8213
+-117.2943	32.4687	9220
+-120.3279	47.2663	6768
+-88.9483	37.2756	9332
+-117.9635	33.30	8353
+-109.4783	31.2747	8489
+-122.4146	45.1511	7542
+-112.3345	28.9507	5891
+-90.0516	38.4028	8907
+-90.3519	37.0939	7639
+-114.735	32.0067	7105
+-80.3392	27.8749	7859
+-116.7662	30.6322	7306
+-117.8365	35.6949	7725
+-117.1139	42.1786	4927
+-118.3824	35.9882	7177
+-108.5894	33.4498	6706
+-88.9599	37.0733	9115
+-89.5439	36.6887	8413
+-90.3663	37.5206	8099
+-111.3592	30.0076	7436
+-121.8354	49.0544	7031
+-115.853	34.6517	7896
+-116.735	34.1649	8957
+-118.8067	34.4321	7827
+-117.8596	36.1787	7215
+-90.1125	39.0578	8982
+-119.1944	46.2412	8284
+-118.3604	31.9912	7946
+-88.8644	39.6679	7512
+-91.7053	38.4552	7964
+-125.2095	46.6625	7047
+-90.1359	37.8884	8458
+-113.0179	35.1235	4779
+-124.8438	48.383	6964
+-127.2795	45.2322	4431
+-116.6093	33.1497	9208
+-89.0375	41.0784	6526
+-87.1239	36.5493	7585
+-121.3509	46.9971	7904
+-117.3274	29.2385	5742
+-84.3205	28.1068	7388
+-80.2402	27.6972	7749
+-120.9549	48.423	6937
+-84.2453	24.5643	5553
+-116.563	47.3538	7006
+-111.2033	29.1898	6714
+-90.6048	33.4129	4614
+-114.0948	33.6544	6416
+-118.7161	32.2853	7713
+-111.0148	35.902	4736
+-88.1271	38.1994	8880
+-86.2087	36.9614	6837
+-109.9335	33.3563	7504
+-80.7185	26.239	7537
+-87.7133	33.4403	4927
+-116.1713	43.7341	5902
+-94.0923	37.8205	5303
+-119.341	47.8417	7102
+-116.235	33.8611	8374
+-88.4798	36.8701	8865
+-81.2258	26.5436	8169
+-93.1094	40.4498	5962
+-82.8206	29.2213	8072
+-87.7939	39.6416	7343
+-86.3575	28.7342	4990
+-126.3079	47.4017	5832
+-117.1219	33.1175	9375
+-110.1335	34.3563	6461
+-80.366	29.2673	7269
+-122.6143	47.9922	8437
+-91.1307	41.0399	6828
+-117.9332	29.8146	6235
+-117.1296	31.4987	8272
+-90.1854	36.2412	7558
+-91.3608	36.5839	6863
+-89.1008	35.476	7328
+-108.343	29.7002	6505
+-88.9162	39.8536	7446
+-113.3102	31.9149	6228
+-90.2201	38.0067	8604
+-94.4922	39.9263	4818
+-126.8807	49.4824	4433
+-115.82	45.916	6644
+-117.0337	35.1806	8368
+-115.6464	34.9682	7550
+-117.7277	44.1336	7096
+-119.0702	37.1309	5722
+-88.3889	35.9695	7864
+-86.2605	38.0923	6962
+-117.7276	35.05	8419
+-116.3394	34.3933	8487
+-111.687	32.4566	7728
+-116.8746	31.2931	8050
+-91.0867	37.7504	8107
+-117.8795	35.8764	7522
+-111.466	31.5062	8243
+-116.0164	32.4469	8616
+-90.4175	37.8994	8507
+-118.7194	47.8913	7308
+-117.8108	47.8735	7317
+-77.2554	25.9462	4002
+-122.9101	49.6629	6644
+-90.2251	37.8307	8419
+-118.5322	34.4701	8109
+-86.0137	39.4253	6148
+-93.5003	39.8402	5865
+-118.5799	45.9537	8910
+-108.4169	31.8988	7369
+-119.6001	32.2242	6742
+-93.3896	35.9889	5025
+-88.5297	38.6488	8680
+-120.7265	31.8607	5426
+-118.335	47.0753	8226
+-90.9999	36.2436	6642
+-115.2389	33.5668	7652
+-119.2181	46.2435	8259
+-90.7336	41.1281	6834
+-106.7408	32.2153	5521
+-88.079	35.2545	7000
+-124.8056	46.655	7485
+-119.8941	46.0658	7554
+-120.4082	46.2088	7007
+-88.4494	37.4023	9352
+-89.4111	39.1576	8288
+-112.516	29.6543	6318
+-116.9722	32.7182	9643
+-118.8416	30.5773	6495
+-123.4594	44.804	7152
+-112.8208	30.605	6577
+-111.3477	28.0123	5451
+-116.2016	37.0443	6157
+-88.4065	38.8289	8449
+-109.2737	31.742	8313
+-123.7251	45.4011	7662
+-112.7144	33.5278	6143
+-93.1998	40.0445	6083
+-90.5387	36.7635	7583
+-123.38	49.4357	6843
+-80.4423	27.4826	7952
+-120.5946	47.298	7047
+-118.2265	33.4742	8268
+-90.298	38.4731	9112
+-111.9378	32.1437	7632
+-91.9012	40.7859	6687
+-90.7706	37.1494	7649
+-79.3071	28.1117	6671
+-110.2698	31.3984	9262
+-108.822	30.8058	7632
+-117.4992	30.1728	6745
+-114.8639	35.6625	6431
+-117.5482	31.3678	8011
+-115.7646	47.8426	6017
+-85.497	29.7182	5493
+-125.6932	44.3323	5388
+-112.6505	30.159	6527
+-87.7754	36.8394	8366
+-117.574	35.3234	8197
+-118.3873	43.3001	6293
+-88.937	40.4051	7055
+-116.9842	33.9912	9193
+-122.6069	44.8132	7219
+-118.1878	44.9916	8082
+-83.3718	29.7768	7221
+-81.6861	26.8808	8770
+-118.477	47.4585	7807
+-120.518	45.9669	6890
+-118.2226	32.458	8296
+-81.5586	27.4893	9170
+-122.0063	45.9726	8138
+-114.8608	45.9525	5632
+-88.9483	35.4893	7363
+-116.2965	36.6148	6631
+-107.3769	34.3195	5109
+-88.4488	37.4294	9370
+-115.5813	31.7626	7811
+-81.8743	26.1899	8085
+-88.1048	36.9437	8715
+-117.8619	33.7064	8739
+-81.206	29.8628	7299
+-81.6692	31.6603	5456
+-116.7568	32.2607	9090
+-122.2143	32.8771	3970
+-118.2462	30.0619	6365
+-115.2327	35.9345	6574
+-87.1584	36.7628	7745
+-115.0052	33.0725	7547
+-124.6313	47.4361	7635
+-90.9717	33.5717	4595
+-110.5991	30.2738	8026
+-116.4659	31.7764	8465
+-117.8066	45.3272	8299
+-109.7677	33.9096	6880
+-82.647	24.90	6598
+-89.4255	39.5857	8054
+-118.9635	35.5159	7150
+-93.0492	40.535	5966
+-114.762	33.4262	7202
+-124.3652	45.6256	7424
+-89.6615	36.675	8316
+-115.4529	35.589	7001
+-80.5667	26.6122	7691
+-118.3476	44.8676	7954
+-115.7747	31.4111	7697
+-92.3297	35.1625	5025
+-116.2199	35.0297	8035
+-88.0766	39.0063	8123
+-123.5454	47.7886	8458
+-108.0641	32.3244	6887
+-88.7609	36.8251	8871
+-88.4614	34.5312	6280
+-116.7302	33.994	8933
+-121.6357	46.1325	7942
+-112.4952	35.1848	4922
+-93.1712	38.0097	6315
+-84.0006	27.9821	7766
+-89.9807	37.6501	8162
+-123.452	45.5633	7949
+-116.7937	43.0306	5647
+-116.1686	34.9625	8037
+-112.7589	34.2408	5575
+-78.3415	30.0144	4905
+-89.7094	38.3326	8570
+-110.8542	33.1387	7696
+-80.4019	28.4107	7802
+-121.0366	48.2166	7141
+-88.6159	40.5531	6703
+-80.1019	26.2276	7009
+-111.1282	30.9609	8380
+-119.5058	46.9789	7666
+-87.0113	41.0369	5549
+-118.112	31.0668	7420
+-121.2293	46.1056	7541
+-114.7719	30.9724	6555
+-92.5852	39.5939	6883
+-90.2415	35.0317	6426
+-117.5321	47.9958	7101
+-124.005	45.4662	7559
+-88.1931	37.4472	9126
+-112.0119	31.1172	7586
+-81.8767	24.5583	6251
+-88.6667	37.7438	9673
+-117.5534	31.99	8622
+-123.3909	48.7049	7622
+-110.2376	29.739	7473
+-119.4913	45.8699	7958
+-108.9056	30.0172	7177
+-112.2859	33.4566	6542
+-114.1643	38.5448	3655
+-85.8221	36.4402	6235
+-122.0657	44.9911	7250
+-118.8117	34.2873	7844
+-79.2962	28.2219	6642
+-91.0531	40.153	7749
+-119.6608	30.8668	6043
+-117.404	34.4781	9133
+-80.0319	26.1267	6877
+-90.5976	38.6393	9164
+-85.9238	38.6973	6420
+-91.5779	36.3948	6578
+-90.4726	41.7767	6161
+-117.1399	33.9403	9286
+-87.3085	29.8596	3577
+-116.6317	34.8072	8528
+-112.4536	31.1694	7133
+-119.3868	36.705	5902
+-116.7144	34.8629	8540
+-111.0606	33.5652	7186
+-119.5919	36.5387	5888
+-116.2695	32.0981	8636
+-120.1538	35.192	6183
+-123.7141	47.3888	8599
+-88.6989	39.773	7300
+-117.4014	34.5777	9031
+-115.932	31.4927	7879
+-122.2491	49.4104	6828
+-88.5843	41.21	6140
+-116.6376	48.2449	6397
+-81.7001	27.0232	8919
+-92.5522	39.4632	6964
+-116.7905	34.2403	9006
+-122.9525	45.7941	8317
+-117.0608	47.0534	7619
+-86.9414	36.1993	7187
+-110.585	31.775	9131
+-114.6262	33.8473	6900
+-120.7888	43.3287	5304
+-121.7487	35.3578	4470
+-122.3882	45.7966	8203
+-114.9713	30.3135	6182
+-92.71	37.6978	6672
+-111.2655	33.1548	7494
+-117.6491	36.1041	7348
+-111.5342	33.5909	6939
+-118.1419	31.6954	7941
+-115.0332	35.6416	6598
+-113.0211	31.5703	6561
+-83.8253	29.2088	7377
+-81.8436	26.9869	8951
+-117.6458	30.1024	6632
+-118.2209	37.8936	5306
+-88.7624	35.0004	6823
+-90.206	38.625	9190
+-114.7911	48.127	4984
+-87.1503	36.9343	7824
+-82.1128	24.1511	5802
+-91.0704	37.5686	7951
+-125.0172	46.8298	7275
+-84.3723	29.5165	6678
+-117.9651	47.0021	8247
+-120.9921	46.3178	7392
+-118.8959	36.3876	6504
+-121.1923	48.8716	6795
+-118.1145	45.8339	8927
+-81.8468	28.9246	8543
+-114.8225	42.1873	3728
+-80.8708	26.1478	7570
+-89.2413	36.4766	8378
+-118.7044	49.8038	5313
+-88.1525	37.6874	9125
+-117.9248	45.7357	8719
+-108.7676	28.1645	5399
+-121.2983	49.1749	6609
+-122.329	45.7935	8173
+-118.2333	33.2556	8114
+-119.4876	44.9089	7467
+-117.5307	28.7138	5134
+-117.812	35.5669	7865
+-118.0932	35.9343	7376
+-115.0499	34.6935	7044
+-116.7378	32.6495	9437
+-87.2136	35.506	6829
+-121.9369	46.3449	8347
+-123.8294	46.8388	8576
+-89.7478	40.8488	7061
+-115.187	44.6829	5654
+-117.3759	32.0764	8809
+-115.5277	32.6166	8132
+-113.4243	43.3049	3324
+-84.2366	26.4301	7073
+-125.3026	48.1821	6648
+-79.4942	27.7417	6907
+-110.6669	33.9254	6910
+-115.3459	34.3378	7431
+-111.2499	31.3933	8459
+-116.1983	47.905	6340
+-117.9904	32.9703	8598
+-91.8558	43.2891	4281
+-118.4759	34.7202	8072
+-112.301	27.9338	4981
+-114.7269	35.0587	6589
+-90.6078	40.3806	7650
+-89.2445	37.7445	9271
+-79.7753	30.863	5489
+-116.2137	30.8811	7436
+-118.2515	34.5807	8358
+-120.0542	44.957	7028
+-91.7144	34.5561	5005
+-122.7706	31.4072	3091
+-115.7067	32.6984	8341
+-120.5372	43.6472	5733
+-116.0227	33.3102	8565
+-120.9817	47.5918	7390
+-122.5868	45.1892	7623
+-90.2651	36.2544	7504
+-116.5138	32.698	9231
+-81.7667	29.2829	8128
+-111.9092	36.4301	3952
+-117.6743	32.7651	8961
+-115.7523	35.09	7584
+-90.0517	42.058	5841
+-121.2453	31.3118	4694
+-115.7724	33.0907	8386
+-115.774	33.9624	7899
+-116.4984	34.1349	8700
+-109.8519	30.1354	7820
+-119.2824	39.2638	3525
+-90.1164	37.0166	8134
+-115.2271	31.7824	7496
+-84.8755	35.0659	4562
+-116.6421	32.7696	9387
+-87.6269	37.2839	8466
+-109.2129	31.2724	8214
+-123.2055	42.6364	4837
+-88.8928	39.1356	8159
+-111.9435	33.6332	6649
+-89.8652	37.3628	8536
+-122.496	47.0898	9142
+-115.8533	33.584	8245
+-115.5121	34.308	7615
+-111.8151	31.1367	7797
+-87.5385	35.6117	7128
+-90.6314	35.9473	6968
+-117.4429	29.187	5670
+-119.0696	47.4321	7622
+-83.4269	24.8496	6282
+-89.8086	38.5284	8760
+-119.176	49.1314	5914
+-87.9592	35.179	6880
+-91.0396	39.91	7988
+-90.7819	37.986	8496
+-110.9309	33.936	6844
+-91.9685	39.267	7627
+-87.7842	41.0675	5671
+-109.0504	30.0022	7268
+-122.7224	47.2369	9251
+-114.8662	36.9313	5517
+-89.8677	39.585	8367
+-78.1227	29.2717	5046
+-109.1781	30.0036	7353
+-112.7902	32.5737	6603
+-116.5971	48.0729	6512
+-115.112	33.4009	7584
+-120.2786	46.7899	7025
+-119.7832	47.9971	6699
+-92.4928	40.0747	6740
+-81.0538	28.5203	8403
+-118.0503	30.2987	6695
+-120.2954	43.808	6030
+-117.7429	32.7967	8887
+-121.8108	44.9171	7056
+-121.3058	47.9779	7532
+-115.7914	34.3747	7907
+-91.5048	33.9541	4637
+-124.7026	44.6181	6354
+-125.51	42.3261	3757
+-89.4507	36.9805	8728
+-119.294	31.9596	6986
+-121.0703	48.2623	7143
+-118.22	49.2245	5951
+-90.77	36.2798	7080
+-118.7924	32.9911	7707
+-116.8091	30.5054	7169
+-116.4657	35.8543	7467
+-125.4601	47.5302	6726
+-92.3191	35.9549	5760
+-118.0939	46.6079	8686
+-119.2156	42.8635	5693
+-88.6755	39.5117	7741
+-118.2171	31.1008	7385
+-118.9514	45.0604	7952
+-121.8857	44.9166	7093
+-124.3931	47.9319	7653
+-120.1677	45.2416	7068
+-112.9072	31.3197	6670
+-83.7615	28.0713	8018
+-116.49	32.7337	9213
+-87.7083	41.2803	5456
+-89.1236	37.8604	9359
+-119.1066	34.4926	7493
+-82.1157	27.78	9867
+-117.9144	33.3263	8409
+-119.2376	33.5765	7304
+-117.2083	44.2898	7031
+-88.3879	40.6338	6467
+-120.6286	45.8946	6767
+-122.6873	48.8822	7489
+-114.1137	34.1972	6098
+-119.8038	46.3378	7631
+-115.5449	33.2884	8082
+-91.1197	37.294	7666
+-119.9939	48.0535	6511
+-114.0573	33.4454	6433
+-110.4419	28.9479	6616
+-81.0106	25.7964	7327
+-118.1767	33.2394	8146
+-110.3181	28.8752	6539
+-108.7619	32.8375	7295
+-81.5541	28.9172	8435
+-121.9204	47.6798	8275
+-88.928	38.911	8406
+-114.6351	36.5383	5649
+-117.5096	44.3567	7241
+-126.352	48.3286	5529
+-108.2712	31.4002	7231
+-91.7197	42.1738	5463
+-117.0039	30.9242	7642
+-109.7754	33.3744	7441
+-118.597	34.0555	8084
+-91.8173	40.8778	6659
+-125.2126	47.7639	6919
+-120.1082	29.4557	4621
+-92.0349	37.7366	7336
+-116.5401	35.0829	8234
+-90.0749	37.7038	8249
+-115.9287	33.5015	8366
+-89.2654	38.8712	8212
+-112.5624	34.3582	5617
+-110.6985	36.9121	3686
+-90.3034	37.6778	8265
+-116.1133	33.984	8269
+-116.6154	46.4651	7452
+-91.5381	38.0376	7962
+-81.9883	28.7974	8715
+-120.8155	31.8778	5334
+-119.0192	46.284	8457
+-81.5854	29.8414	7465
+-88.4099	37.6024	9408
+-116.0278	30.659	7128
+-88.4936	39.1801	8088
+-116.77	47.0791	7352
+-124.2324	44.872	6879
+-88.9838	38.5631	8779
+-116.7725	31.0247	7742
+-125.0693	49.0517	6301
+-123.2879	47.2471	9080
+-89.6608	37.6905	8811
+-113.2745	31.242	6266
+-87.861	33.1083	4599
+-117.7549	33.8414	8917
+-117.13	35.3399	8213
+-119.2739	44.7347	7474
+-117.1532	44.847	7474
+-87.0595	40.5296	6073
+-80.6779	28.5903	8000
+-81.0893	26.5485	8077
+-122.0034	42.9495	5084
+-89.9373	39.8107	8184
+-117.822	32.6101	8771
+-122.3944	46.8551	9037
+-116.5695	32.1412	8879
+-118.6151	33.9671	8056
+-120.2894	47.9716	6355
+-117.9667	36.9037	6421
+-111.302	30.9494	8219
+-110.6652	31.4805	9097
+-92.1385	36.7284	6539
+-81.8928	28.9074	8573
+-111.2601	32.1266	8310
+-115.3794	44.4212	5708
+-120.6688	33.9159	5819
+-118.1493	32.1745	8252
+-91.8407	33.7738	4248
+-110.8541	32.3984	8426
+-90.9266	39.783	8166
+-107.1445	33.1122	5642
+-116.4198	29.5714	6082
+-119.5157	36.0087	6344
+-105.9623	33.9892	4068
+-90.0239	41.851	6060
+-88.8701	37.0917	9160
+-118.2057	31.5499	7776
+-111.2612	31.7974	8442
+-88.0502	37.7754	9002
+-83.5461	26.6355	7845
+-124.6941	44.6785	6412
+-83.1583	40.0943	2955
+-83.8508	25.9254	7044
+-81.432	27.6268	9083
+-89.1113	38.4281	8876
+-115.889	45.9954	6722
+-83.6386	24.888	6217
+-87.0622	41.3439	5265
+-90.0126	39.2835	8724
+-123.6933	44.0378	6273
+-117.4059	31.8361	8554
+-86.9939	36.4758	7418
+-120.2096	40.5221	3011
+-90.9267	37.9151	8351
+-84.77	25.0105	5577
+-90.7145	36.0076	6943
+-113.0915	29.109	5459
+-119.2307	44.6436	7420
+-79.6082	26.6684	6777
+-89.7705	36.311	7922
+-118.1769	34.7264	8353
+-118.2164	35.644	7591
+-86.3686	40.3938	5738
+-108.2257	28.2308	5183
+-118.9533	49.6082	5478
+-90.8583	35.7825	6655
+-110.3679	29.7598	7498
+-120.2411	31.2406	5699
+-119.3136	46.5285	8079
+-89.5916	42.3221	5481
+-115.7347	32.45	8319
+-116.1509	31.4522	7980
+-115.7324	31.9341	8060
+-116.7488	31.041	7758
+-124.0833	49.16	6868
+-90.9252	37.7325	8182
+-88.7679	39.6881	7411
+-117.1026	33.4369	9044
+-114.2493	33.7079	6563
+-123.089	48.9271	7442
+-91.5755	37.2484	7358
+-117.711	45.0115	7958
+-116.9603	32.169	9030
+-91.8823	39.2613	7717
+-118.8716	35.9878	6863
+-120.7658	31.6849	5331
+-116.1394	44.0214	6098
+-118.4118	45.0498	8140
+-116.0964	33.77	8201
+-87.7874	37.4536	8690
+-122.1668	44.9373	7236
+-84.4012	35.6671	4426
+-90.0718	40.3785	7637
+-82.3995	26.1309	8018
+-116.2025	35.9566	7235
+-118.6363	33.5843	7928
+-80.6311	24.1038	5414
+-90.5842	38.7563	9208
+-91.3192	38.7432	8416
+-118.987	35.0045	7434
+-117.9791	31.5803	7970
+-118.948	32.9584	7537
+-118.7072	28.2129	4263
+-82.1752	24.2053	5863
+-115.1079	31.5532	7246
+-118.0018	35.7679	7583
+-118.6847	36.6546	6382
+-87.2666	36.3853	7601
+-82.8272	27.0428	8758
+-113.9623	33.21	6373
+-110.2402	32.8233	8126
+-117.4752	31.517	8196
+-88.9673	38.2493	9123
+-88.4676	37.0219	9018
+-85.468	25.9648	5604
+-117.8849	33.892	8814
+-115.4889	33.0875	8077
+-91.164	38.1925	8390
+-116.456	45.3143	7154
+-115.5415	34.8262	7510
+-113.57	44.4121	3958
+-115.6536	35.321	7353
+-117.9085	42.3902	5312
+-89.0839	35.5233	7384
+-108.9932	33.9523	6525
+-117.156	31.4839	8251
+-115.9721	30.1736	6603
+-86.2764	34.9493	5678
+-83.6599	29.4973	7282
+-86.1634	35.4225	5958
+-114.7753	44.7566	5282
+-93.3091	40.8806	5523
+-124.5884	44.853	6634
+-118.8881	38.0546	4909
+-118.5087	36.2814	6831
+-87.6096	40.4395	6442
+-85.0003	29.5172	6092
+-110.9629	30.3165	7941
+-117.4666	45.7534	8321
+-90.6436	38.8368	9129
+-114.5636	32.5343	7054
+-114.4272	33.2308	6883
+-119.5375	46.3184	7912
+-82.1449	28.9599	8542
+-119.4279	35.072	6968
+-117.2385	49.1961	5800
+-116.0066	35.6815	7360
+-79.7213	27.231	7097
+-115.3353	32.795	7933
+-89.4771	35.7262	7496
+-110.5099	31.0583	8873
+-114.7345	35.1859	6547
+-125.0964	46.1915	7047
+-89.049	39.0043	7960
+-123.7974	45.9504	8117
+-86.7364	37.7387	7535
+-119.1418	35.8275	6781
+-88.1279	40.5916	6286
+-93.5934	40.4604	5504
+-90.1623	39.5765	8502
+-120.864	44.3263	5944
+-124.195	49.2159	6755
+-120.8189	47.1226	7313
+-91.1882	37.091	7437
+-114.4935	31.4425	6597
+-88.3738	39.4986	7711
+-81.1113	31.2765	5757
+-82.6851	27.8926	9252
+-81.2172	29.7449	7426
+-113.2563	31.214	6281
+-117.8263	46.1303	8776
+-89.8796	38.4647	8800
+-117.5492	48.0172	7086
+-115.7843	33.0776	8402
+-121.1126	34.5347	5320
+-117.0406	33.1825	9336
+-120.4999	46.5852	6857
+-110.8501	30.0963	7768
+-110.8533	30.0782	7748
+-110.9521	30.6084	8222
+-91.9607	36.9264	6826
+-117.5505	34.5703	8969
+-106.152	35.7972	3042
+-123.7811	45.9302	8112
+-89.8685	38.49	8803
+-88.9646	42.6254	4976
+-88.7331	38.457	8926
+-116.4785	35.1031	8175
+-121.9015	46.4143	8353
+-122.2321	45.0537	7380
+-119.9112	31.2775	6047
+-117.5729	32.8883	9072
+-81.5739	26.9809	8801
+-88.0532	39.0587	8059
+-122.5373	45.3984	7838
+-116.1304	31.3095	7830
+-90.204	39.3316	8768
+-118.8255	31.2454	7038
+-118.4407	46.3955	8906
+-87.8704	41.7484	5208
+-124.9488	48.1804	6990
+-84.7751	39.9828	4635
+-115.8044	34.4184	7913
+-121.6103	49.0883	6878
+-114.146	29.7151	5077
+-89.4386	39.2527	8271
+-109.1491	33.3162	7200
+-87.8804	37.321	8748
+-89.2995	37.533	9199
+-80.0937	28.0945	7555
+-87.5648	36.261	7740
+-87.8835	40.258	6741
+-86.2469	30.6916	4182
+-85.1579	34.7033	4574
+-116.6764	32.5758	9332
+-119.1772	31.8856	7077
+-119.8393	32.6621	6544
+-118.7697	46.0139	8737
+-90.9219	38.2932	8663
+-81.3914	29.2498	8016
+-117.9917	34.057	8743
+-80.8804	26.965	8210
+-81.6704	25.6521	7444
+-119.0637	36.6637	6152
+-117.9992	45.2854	8347
+-115.8013	31.7041	7956
+-122.5894	46.7811	9209
+-116.8083	43.9616	6509
+-119.1219	37.0304	5785
+-87.389	36.7502	7958
+-112.7592	34.8122	5098
+-110.7089	31.2331	8917
+-125.4792	47.9336	6580
+-117.2674	29.0467	5534
+-126.0532	48.0286	5951
+-115.3491	33.9636	7438
+-119.4807	32.0288	6814
+-119.2033	43.2607	6100
+-118.9572	34.2852	7686
+-88.5505	39.4248	7826
+-89.4341	36.2788	8087
+-90.6475	37.2031	7733
+-83.3789	25.9175	7370
+-82.4949	27.6517	9463
+-124.2771	43.5835	5593
+-114.6948	26.3651	2105
+-117.3859	33.3901	8960
+-86.9747	34.0602	5295
+-81.7778	25.6572	7472
+-91.7501	42.1162	5508
+-117.9572	33.6307	8606
+-117.9853	44.9699	8023
+-110.4384	34.8789	5901
+-122.9314	45.7231	8240
+-114.4438	33.1008	6921
+-116.6585	44.0374	6480
+-121.132	43.6482	5280
+-108.8719	29.2626	6502
+-81.8994	31.249	5944
+-86.786	39.2082	6997
+-117.9297	35.3113	8063
+-121.1235	46.6926	7631
+-122.6261	45.6311	8108
+-89.7383	39.5617	8307
+-91.8499	35.3286	5412
+-111.5524	34.855	5691
+-115.5478	29.7529	5987
+-90.6867	41.9239	5988
+-119.5857	43.6053	6280
+-109.9248	30.5794	8299
+-88.5861	41.2313	6122
+-117.0547	47.3954	7370
+-115.156	41.6325	3485
+-117.4891	46.0832	8419
+-123.8583	43.5626	5721
+-92.4163	38.1414	7137
+-122.7364	45.8076	8320
+-88.752	39.3491	7926
+-87.6129	37.0762	8361
+-78.7099	25.2825	5107
+-120.8487	34.8436	5554
+-123.5057	47.4679	8742
+-110.5913	31.8073	9103
+-89.1985	35.8711	7743
+-91.3318	40.3412	7428
+-119.4882	33.166	6895
+-118.0623	35.0379	8224
+-120.2942	46.4014	7107
+-82.5896	25.2654	7016
+-81.3367	27.7762	8991
+-108.0958	33.2256	6466
+-82.9617	29.7617	7448
+-82.2941	25.478	7297
+-119.4341	45.1457	7677
+-87.9376	38.0608	8784
+-123.5188	44.3576	6660
+-119.1104	48.8016	6268
+-123.203	48.0787	8340
+-107.7539	29.849	6106
+-121.3465	48.0069	7552
+-121.2994	43.8109	5719
+-91.6435	37.5087	7518
+-115.0198	44.7426	5517
+-83.8909	25.9173	7006
+-90.5785	41.3564	6607
+-115.9274	33.7573	8021
+-125.149	46.9065	7134
+-81.0157	24.8598	6369
+-88.197	39.1342	8047
+-120.3671	46.9344	6883
+-117.1267	32.6573	9501
+-120.878	48.9548	6491
+-116.0975	34.5273	8192
+-117.785	40.5204	3328
+-88.7728	39.3729	7899
+-85.1116	28.8369	6312
+-116.3674	32.6412	9056
+-111.2803	28.2564	5726
+-113.0968	46.4455	3755
+-112.6971	41.3942	1525
+-87.0479	39.0193	7360
+-82.6918	24.3705	5999
+-122.6948	47.119	9325
+-115.8167	33.8201	7920
+-117.8917	33.9634	8831
+-120.4545	45.551	6889
+-117.6021	34.4022	9069
+-112.7351	32.4924	6691
+-123.9916	47.884	8040
+-118.0906	46.3507	8926
+-112.7615	34.3852	5456
+-109.147	32.7231	7691
+-120.6302	36.7549	4886
+-113.8936	30.4079	5411
+-79.1379	25.0414	5311
+-114.1924	33.2548	6620
+-117.3355	36.7961	6632
+-108.6023	33.3114	6823
+-88.3948	32.8399	4382
+-82.9385	29.5504	7678
+-87.8331	38.8171	8152
+-120.3962	46.088	7023
+-89.4444	40.2464	7520
+-84.0543	38.2625	4483
+-116.8113	34.5593	8858
+-123.0273	47.0143	9457
+-118.3509	44.6608	7735
+-116.1585	33.7213	8248
+-122.6105	47.4959	8943
+-106.9717	31.6239	5831
+-118.2749	33.033	8274
+-115.8862	46.9835	6555
+-85.1663	28.5576	6346
+-119.7006	44.3533	6878
+-89.8771	32.9071	4330
+-92.041	43.0328	4475
+-116.278	31.4515	8047
+-118.631	38.0068	5058
+-120.9576	48.041	7168
+-107.526	33.4428	5825
+-89.723	36.3065	7949
+-83.4173	27.4299	8391
+-83.2429	25.0797	6604
+-120.0358	44.7838	6939
+-83.5715	27.9265	8255
+-119.4403	34.1781	7166
+-120.6876	48.35	6739
+-117.0687	34.8023	8777
+-115.0099	32.6664	7564
+-81.7043	32.8425	4129
+-89.5937	36.6083	8308
+-89.0652	41.9168	5727
+-112.2838	40.2616	922
+-119.6771	42.3558	5029
+-92.5048	35.9731	5658
+-117.0343	48.1685	6701
+-80.3443	27.9493	7858
+-89.6109	37.6881	8867
+-80.5276	29.0516	7566
+-118.2795	33.152	8241
+-92.3295	40.284	6753
+-93.3473	40.3174	5810
+-112.3089	26.8325	3899
+-115.9527	49.9657	4480
+-89.7008	37.3826	8719
+-84.9785	38.8154	5371
+-118.0164	47.8943	7339
+-110.662	30.4703	8216
+-86.1883	35.1311	5756
+-120.017	35.3829	6243
+-94.577	37.9733	4827
+-108.2773	33.8541	6155
+-84.7256	27.8959	6956
+-119.1302	32.4451	7304
+-89.9294	36.7001	8118
+-90.2213	38.4944	9098
+-120.9653	34.4745	5486
+-117.1711	33.8023	9162
+-118.0384	30.4639	6869
+-117.856	33.524	8613
+-117.9749	33.5992	8570
+-113.4341	30.9354	6041
+-117.3937	31.3037	7999
+-83.4496	30.5153	6444
+-117.9873	35.1503	8178
+-117.471	33.7225	9037
+-117.8995	47.9926	7215
+-115.4456	27.9768	4094
+-81.3811	26.6484	8368
+-116.9336	32.789	9705
+-120.0906	31.4202	5936
+-89.9434	38.6174	8929
+-116.5388	30.7946	7448
+-124.4392	43.9234	5860
+-116.1838	32.9351	8870
+-78.4093	33.3324	2316
+-114.7576	35.5344	6403
+-83.9144	27.6379	7872
+-122.2815	48.2426	8048
+-113.2872	34.451	5183
+-125.6694	48.2344	6260
+-119.6658	49.8643	5013
+-118.8176	42.1083	4995
+-110.31	28.4169	6043
+-109.3493	31.6081	8407
+-117.6751	32.1046	8632
+-121.1625	49.2046	6493
+-109.0969	29.1867	6552
+-122.7464	49.2281	7116
+-115.1614	33.2939	7670
+-81.3291	25.6302	7310
+-86.2413	25.2138	4421
+-90.5451	41.9251	5998
+-80.6033	28.5791	7932
+-108.7271	31.7267	7726
+-116.6073	34.625	8641
+-122.605	49.0375	7308
+-78.6497	27.8877	5949
+-90.42	39.3271	8801
+-82.0008	31.3756	5807
+-117.619	47.0193	8059
+-84.7463	28.1348	6907
+-111.489	31.31	8187
+-86.8427	28.6605	4469
+-117.5874	47.5906	7518
+-121.3957	32.8908	4834
+-113.5526	32.9087	5943
+-92.9769	34.4093	3974
+-118.7564	34.5583	7848
+-87.648	30.6974	2827
+-92.647	35.8363	5447
+-88.4765	34.7346	6509
+-122.5965	46.2124	8713
+-117.2435	33.4338	8998
+-120.0366	46.8719	7232
+-116.5029	46.465	7336
+-124.859	48.0439	7150
+-114.6744	34.518	6679
+-123.1633	47.0996	9282
+-92.2339	38.4265	7399
+-125.4759	44.354	5575
+-111.4663	31.3061	8210
+-118.7621	34.6663	7806
+-87.4759	37.5458	8360
+-119.6093	45.2161	7573
+-87.5349	38.7183	7997
+-89.0441	39.7033	7653
+-86.3543	38.9491	6748
+-122.0042	46.2558	8350
+-120.9519	31.0354	4884
+-111.8845	34.5255	5870
+-89.1967	37.5304	9309
+-91.7155	38.771	7988
+-107.6436	30.5353	6346
+-82.4023	29.4792	7931
+-82.701	27.6792	9243
+-112.03	32.2083	7515
+-93.15	38.9228	6436
+-116.1201	33.8089	8238
+-113.4397	36.3906	4691
+-114.7185	34.4836	6732
+-116.5259	45.9745	7395
+-118.0858	32.3371	8395
+-91.8033	38.7241	7894
+-117.2015	28.9664	5450
+-115.4401	34.8106	7413
+-124.1421	45.536	7525
+-119.5449	48.1461	6715
+-118.5816	43.068	6034
+-80.6657	27.3956	8180
+-82.4029	27.0474	9024
+-82.5218	27.2641	9174
+-89.4896	39.7258	7998
+-93.8651	38.2163	5628
+-114.2696	43.9886	4457
+-82.4415	30.8243	6416
+-113.3942	33.374	5631
+-80.822	30.2525	6713
+-110.0044	31.7109	9091
+-117.9398	35.8003	7577
+-111.7156	33.9196	6532
+-125.2114	45.2007	6410
+-118.9355	33.3243	7515
+-114.4717	34.5349	6458
+-118.8093	44.1123	7083
+-123.8281	46.8464	8578
+-80.9882	27.1176	8403
+-120.5622	48.7679	6364
+-93.5533	36.368	5151
+-108.8871	33.6635	6729
+-88.3232	36.0596	7944
+-88.0256	38.9578	8143
+-119.4569	45.3527	7787
+-115.1198	44.6412	5571
+-118.7506	33.9473	7906
+-107.8732	33.6454	5996
+-92.1306	38.0819	7408
+-119.6531	47.1971	7402
+-120.6223	46.9459	7104
+-116.5142	36.6754	6646
+-120.2984	32.5946	6028
+-89.7131	41.4667	6408
+-76.2265	28.6839	3130
+-119.6476	34.7792	6847
+-123.6911	48.9517	7258
+-85.363	28.5784	6125
+-113.0762	29.0406	5421
+-112.393	30.6785	7036
+-88.5473	38.5795	8761
+-78.1379	27.8551	5371
+-122.2485	46.8328	8875
+-87.598	36.3532	7842
+-119.5077	35.0133	6912
+-110.3549	31.3153	9182
+-88.4633	35.8194	7714
+-116.7024	31.4454	8195
+-117.8875	34.5884	8698
+-118.4023	44.9966	8085
+-117.0439	31.9143	8743
+-116.58	31.6927	8427
+-86.1566	38.2085	6823
+-117.4324	35.2018	8358
+-88.3361	38.8938	8355
+-126.0908	46.6644	6085
+-120.4527	34.4754	6042
+-121.3672	34.8459	4998
+-118.0244	31.7074	8043
+-107.3333	31.6425	6223
+-90.0639	41.1467	6818
+-123.5397	46.8545	8893
+-116.78	43.9677	6497
+-111.5719	33.5474	6958
+-88.9963	38.4947	8850
+-87.105	39.0549	7384
+-118.5712	33.8483	8081
+-81.7534	31.3091	5862
+-123.0434	48.0012	8459
+-80.9869	29.3284	7701
+-120.9756	46.7621	7480
+-115.9555	43.5339	5591
+-109.1046	32.0621	8045
+-110.3655	30.818	8644
+-87.0884	37.0686	7815
+-82.2314	28.1245	9473
+-117.968	47.8834	7343
+-122.5435	44.8685	7268
+-121.6624	46.043	7910
+-111.8028	31.784	7867
+-111.0742	33.7278	7015
+-121.5844	30.1199	3788
+-86.0335	28.9054	5296
+-89.1549	37.6509	9379
+-113.1674	33.0299	6026
+-121.4976	46.5178	7988
+-119.7623	33.6815	6771
+-118.5547	32.9815	7972
+-84.3066	28.7574	7190
+-110.4109	30.7159	8530
+-113.9761	31.8101	6233
+-81.4832	30.4456	6774
+-93.325	36.3139	5308
+-123.1096	43.8951	6224
+-119.8152	45.4227	7487
+-117.407	35.0058	8574
+-82.1045	24.6025	6313
+-122.6972	48.7367	7649
+-117.4629	34.0316	9297
+-118.558	33.7523	8069
+-112.4839	30.9989	7059
+-120.1285	42.6207	5090
+-114.1261	36.286	5385
+-90.9018	42.6472	5187
+-115.8425	35.7212	7211
+-92.1861	36.558	6365
+-91.7163	37.4862	7445
+-123.3411	40.3899	2365
+-114.5594	29.0623	4778
+-81.1471	27.8527	8772
+-116.5151	33.2089	9086
+-81.2426	27.4638	8828
+-117.5771	33.4292	8698
+-82.2838	27.6122	9649
+-110.0986	28.2913	5898
+-116.1982	32.8636	8894
+-82.3978	26.2458	8146
+-116.6241	35.1587	8218
+-118.4507	32.3591	8021
+-84.5953	28.9952	6780
+-110.8982	30.3476	8001
+-90.0575	35.4754	6961
+-112.0436	30.127	7040
+-79.7671	29.9826	6225
+-122.0824	46.7983	8689
+-118.0106	33.346	8356
+-89.1322	40.1242	7421
+-120.4632	34.276	6047
+-87.0618	38.5108	7679
+-92.9156	39.0889	6671
+-89.3495	35.6381	7447
+-119.6725	33.8033	6889
+-107.9818	31.2646	6902
+-115.5036	46.4536	6293
+-115.7774	47.098	6404
+-83.2529	29.0521	7964
+-124.3982	43.9799	5935
+-119.2345	31.4965	6826
+-123.4227	45.7723	8174
+-107.4185	34.6727	4872
+-85.029	34.3662	4218
+-83.4791	25.1814	6595
+-122.492	48.0582	8326
+-119.6344	43.3992	6062
+-92.3827	35.5997	5403
+-107.4425	33.4051	5771
+-89.643	35.283	6965
+-116.7976	33.0801	9404
+-113.3575	30.6197	6035
+-117.6602	42.63	5527
+-86.3528	36.1343	6606
+-85.8246	36.6828	6333
+-89.3782	37.9233	9070
+-91.4558	38.581	8254
+-89.3051	42.0722	5660
+-117.0304	32.6641	9568
+-118.471	29.9935	6185
+-90.2686	40.2753	7776
+-117.7159	34.6062	8826
+-91.1934	36.2377	6579
+-80.72	26.3116	7598
+-83.2055	31.8564	5109
+-123.2427	49.2949	7021
+-118.5417	33.2787	7864
+-87.9149	38.7305	8285
+-125.352	48.9332	6153
+-119.9552	45.3981	7340
+-117.7857	36.6752	6708
+-119.2036	47.4596	7522
+-120.0612	47.1003	7100
+-110.7161	33.4914	7365
+-117.5773	46.8741	8151
+-86.622	39.228	6837
+-110.2354	30.4965	8291
+-113.7227	47.522	4201
+-92.8508	38.691	6764
+-120.3974	47.978	6641
+-112.9892	28.6453	5183
+-124.0841	43.7472	5838
+-109.8434	33.0019	7848
+-116.2124	35.128	7957
+-91.346	37.3261	7572
+-124.0508	43.478	5570
+-124.376	46.9681	7985
+-123.4478	42.3374	4485
+-113.9262	33.4094	6298
+-85.583	28.2336	5954
+-112.1538	35.6385	4657
+-117.9832	46.55	8688
+-94.0735	38.7124	5447
+-115.5197	45.3643	6232
+-89.1829	38.8636	8125
+-118.7436	48.397	6779
+-109.9588	27.5463	5081
+-113.4725	32.2223	6003
+-119.891	32.4031	6458
+-118.6888	32.2332	7725
+-91.6229	41.1496	6513
+-119.603	42.7114	5409
+-82.4759	27.9911	9429
+-115.1153	41.5644	3401
+-91.1943	37.5582	7871
+-116.9027	31.007	7733
+-88.6808	37.5845	9682
+-118.5965	32.1656	7795
+-116.476	34.1568	8675
+-87.5536	36.7579	8114
+-116.5412	37.5606	5717
+-122.1849	30.3845	3331
+-89.4195	40.3949	7370
+-115.9016	36.1815	6853
+-87.9429	38.6314	8391
+-87.2075	37.1226	7962
+-83.1549	26.3011	7871
+-121.9226	46.9833	8532
+-119.8548	48.4174	6295
+-116.2031	30.5792	7116
+-115.5498	36.5579	6297
+-119.0636	32.4506	7378
+-123.7859	45.7261	7931
+-81.0301	28.9034	8100
+-87.9789	37.7336	8928
+-123.1217	45.7553	8253
+-82.7474	25.2694	6983
+-111.4179	26.0835	3400
+-117.3187	35.2502	8318
+-81.5781	29.7805	7529
+-107.969	31.6628	6910
+-116.0105	33.605	8371
+-114.3656	33.2797	6806
+-87.4095	37.3337	8247
+-85.5849	42.4841	3334
+-125.8893	48.3152	6003
+-118.3755	43.4328	6434
+-118.0857	35.8741	7439
+-90.8448	39.7337	8253
+-108.8696	33.9186	6487
+-86.5042	38.7217	7013
+-120.4528	45.9217	6955
+-114.0807	35.7926	5620
+-121.4405	48.9947	6861
+-82.84	26.0749	7818
+-92.2418	40.3826	6758
+-92.5918	34.9316	4670
+-121.2615	32.0128	4879
+-119.7733	33.798	6779
+-112.6217	34.1955	5711
+-110.3365	33.1838	7739
+-122.8386	45.0559	7506
+-115.1683	32.6736	7741
+-125.5078	46.9589	6741
+-116.4275	33.8974	8587
+-117.684	49.2906	5822
+-117.9193	29.064	5434
+-112.7101	31.6191	6898
+-83.758	30.4053	6387
+-110.2612	34.5102	6301
+-86.7934	41.72	4754
+-121.1542	44.7948	6545
+-87.14	36.0905	7273
+-123.6715	43.899	6131
+-124.0795	46.4007	8169
+-121.2356	45.1645	6911
+-117.25	33.5535	8905
+-90.179	37.6413	8209
+-111.2693	34.4058	6252
+-80.0588	24.549	5561
+-114.1018	34.726	6026
+-89.1591	37.6534	9374
+-108.1162	32.744	6762
+-81.3778	26.4036	8129
+-88.2402	39.8621	7280
+-80.5962	29.4202	7338
+-126.886	45.3164	4867
+-82.756	26.7636	8557
+-88.6885	37.784	9656
+-92.2349	40.7882	6456
+-115.6817	29.8373	6134
+-122.2825	43.276	5495
+-89.1061	39.123	7990
+-116.3602	45.6534	7170
+-116.2529	33.4072	8720
+-81.3658	29.4454	7804
+-92.6554	38.3911	6945
+-119.0604	31.9786	7237
+-92.0637	37.7874	7337
+-90.7389	34.5593	5684
+-84.4605	28.8349	6995
+-85.4531	29.3975	5708
+-106.6768	29.5618	4947
+-119.38	44.4061	7123
+-113.462	31.3809	6077
+-120.3518	42.8707	5199
+-78.9346	28.9478	6035
+-115.4902	33.3332	8008
+-88.5357	36.9781	9001
+-92.4472	38.757	7200
+-121.3815	45.765	7479
+-122.5877	45.6697	8141
+-124.2145	48.2311	7602
+-115.6077	33.9859	7721
+-117.7809	31.4338	7963
+-91.8108	36.8362	6851
+-117.618	46.1855	8550
+-118.9068	45.3077	8193
+-118.8191	44.8913	7860
+-121.7381	34.3266	4656
+-78.5195	28.9893	5576
+-118.8008	34.1754	7864
+-92.4639	39.6434	6984
+-93.8007	37.8499	5615
+-119.5258	31.4954	6540
+-79.518	26.9994	6809
+-112.9255	31.007	6596
+-120.4832	46.5927	6873
+-116.7969	29.4229	5963
+-90.5708	37.7219	8298
+-115.6625	35.4105	7301
+-88.419	37.8987	9346
+-79.305	24.7506	5215
+-88.384	42.5008	4843
+-91.653	34.4646	4977
+-91.7657	36.857	6898
+-119.8478	36.0514	6030
+-78.8011	31.0423	4606
+-92.5264	37.6957	6850
+-89.9537	39.1231	8811
+-120.6924	47.3505	7144
+-77.1763	24.3039	3051
+-121.5073	47.2184	8051
+-112.7601	33.5518	6088
+-123.0171	44.746	7163
+-122.0393	45.1937	7441
+-118.7496	34.057	7918
+-81.4688	26.6934	8464
+-89.9793	41.6143	6307
+-117.0819	28.6241	5075
+-116.3026	35.6117	7613
+-109.6511	33.0103	7760
+-116.9004	33.6893	8910
+-83.0651	25.4658	7084
+-109.8731	31.8536	8895
+-117.842	32.8469	8776
+-117.7476	44.975	7941
+-82.8884	28.9251	8328
+-118.8115	33.2959	7621
+-119.4159	43.9264	6665
+-89.9685	34.8413	6369
+-87.4374	36.2912	7669
+-116.2781	37.61	5595
+-86.6583	37.4612	7437
+-124.1948	46.2615	7986
+-109.998	31.0515	8792
+-126.273	48.5971	5490
+-122.0324	44.2249	6447
+-82.2012	28.4536	9111
+-91.2187	39.3818	8295
+-89.6606	37.3087	8734
+-117.1347	31.375	8134
+-112.8599	29.3702	5834
+-116.5971	33.8506	8745
+-87.4676	34.5295	6004
+-120.6146	47.0475	7094
+-87.6067	36.6151	8058
+-92.1043	37.8202	7316
+-115.995	48.3945	5828
+-80.814	31.4894	5424
+-119.6396	46.1341	7824
+-89.833	36.3455	7910
+-107.5538	32.3957	6336
+-79.4905	24.5898	5217
+-112.122	29.3368	6362
+-117.8858	32.3432	8600
+-122.5869	47.6743	8756
+-88.6953	41.5202	5928
+-87.7691	37.6435	8695
+-82.5276	28.4867	8964
+-119.1874	45.8291	8261
+-121.26	49.6739	6129
+-112.7171	32.8396	6554
+-117.2699	32.874	9409
+-89.8278	37.8799	8312
+-117.1115	35.142	8425
+-86.5058	36.8889	7132
+-121.0142	47.6872	7388
+-84.2185	28.5814	7360
+-126.2746	45.6149	5612
+-119.2088	33.0584	7116
+-117.7803	31.8107	8310
+-120.6776	44.2944	6085
+-82.3188	30.898	6344
+-91.1644	37.4808	7818
+-110.9687	31.4527	8771
+-125.1565	45.0645	6364
+-95.0955	37.1256	4052
+-110.1273	28.4737	6097
+-117.4612	33.0963	9119
+-115.4199	34.6254	7453
+-116.4606	32.8557	9187
+-111.7689	35.4095	5046
+-124.1473	45.163	7197
+-91.2255	36.7241	7060
+-121.9191	49.455	6668
+-90.917	38.9277	8818
+-80.3848	27.9975	7897
+-115.4849	35.1603	7295
+-112.4891	30.4352	6827
+-120.6465	36.9286	4754
+-93.182	34.7522	4164
+-114.3834	33.084	6856
+-119.298	34.8801	7177
+-85.952	36.2662	6287
+-85.2111	37.706	5824
+-109.5309	27.9575	5450
+-111.0514	29.6943	7284
+-111.0564	32.8271	7915
+-90.3471	36.1036	7320
+-123.1444	44.4604	6840
+-80.1221	26.5842	7253
+-107.3623	28.9664	5184
+-116.9026	36.5241	6900
+-91.5728	38.573	8128
+-122.9941	49.7457	6551
+-88.4581	41.9392	5409
+-122.8796	49.8897	6395
+-109.0291	31.2164	8006
+-120.0539	36.2554	5717
+-111.7096	32.3745	7754
+-118.5205	42.2179	5141
+-118.2688	44.7098	7788
+-85.0852	27.2616	6504
+-118.8053	33.7789	7816
+-119.8308	33.6119	6684
+-118.3299	45.1486	8252
+-118.1059	45.0916	8176
+-116.8601	34.256	9075
+-119.3887	48.8794	6093
+-117.1011	33.1504	9351
+-114.7128	34.697	6685
+-88.7979	39.9865	7257
+-84.6746	27.2143	6950
+-91.9966	35.0742	5098
+-89.4688	39.7214	7986
+-114.9103	33.6874	7262
+-88.4559	33.1823	4770
+-117.3996	42.2881	5116
+-115.2458	32.5686	7814
+-116.6174	34.2954	8808
+-80.8669	27.2937	8363
+-89.938	37.5747	8496
+-118.9212	46.2951	8554
+-117.291	42.4564	5261
+-90.294	38.2091	8833
+-115.2247	46.6924	5961
+-88.8278	34.2973	6033
+-116.3055	34.1694	8489
+-123.834	47.9302	8132
+-120.0925	32.9558	6198
+-113.5661	30.7738	5863
+-89.1949	39.0801	8095
+-124.0469	43.8494	5957
+-108.7831	34.4459	5946
+-80.4158	27.3756	7900
+-83.5495	25.5538	6920
+-120.6134	46.1946	6791
+-117.2837	33.438	8779
+-89.9638	39.0127	8891
+-116.8408	34.1661	9072
+-115.0725	33.533	7494
+-115.876	30.8173	7213
+-89.6523	37.2724	8727
+-109.1798	33.4306	7114
+-115.0302	33.8999	7278
+-117.9001	34.7217	8595
+-88.7811	40.5474	6829
+-116.0035	33.5241	8420
+-107.497	33.2119	5930
+-118.2732	31.803	7908
+-119.2794	42.1871	4984
+-90.2432	36.286	7546
+-89.0724	36.016	7931
+-89.8222	38.2636	8624
+-115.3589	34.101	7457
+-112.8854	36.6053	4051
+-117.0252	48.5959	6300
+-119.7002	45.0957	7421
+-115.8996	33.0649	8531
+-122.0084	46.9764	8627
+-121.836	49.2694	6819
+-113.2979	33.4153	5698
+-116.8351	45.5466	7619
+-106.6633	31.7628	5493
+-122.5456	46.2721	8750
+-112.5409	34.0666	5874
+-119.2313	49.9542	5057
+-83.1174	39.5748	3122
+-88.0488	36.8919	8630
+-88.4084	39.6387	7564
+-118.3456	49.2104	5966
+-84.0451	30.0953	6484
+-89.5811	39.0148	8514
+-109.7155	32.7777	8017
+-88.6357	34.9319	6743
+-81.8586	28.7961	8687
+-94.777	37.3432	4452
+-82.429	28.5636	8931
+-112.5476	29.3521	6068
+-117.5781	34.2989	9153
+-83.1278	29.7829	7349
+-110.1366	31.4749	9230
+-124.3341	44.5218	6492
+-117.0558	33.4153	9078
+-111.7246	28.4281	5737
+-123.7245	47.0182	8699
+-108.951	32.5469	7648
+-90.6945	36.4237	7241
+-118.6575	46.5816	8615
+-84.871	28.7364	6607
+-87.8743	37.869	8788
+-119.2092	43.6654	6502
+-126.4455	44.3035	4735
+-118.6032	39.1752	3848
+-109.9743	32.2257	8676
+-115.4325	32.8446	8041
+-117.2485	36.338	7133
+-113.2946	30.8042	6156
+-85.7494	38.3555	6341
+-121.6623	48.4963	7444
+-118.8918	47.3136	7823
+-83.4192	28.714	8086
+-119.9462	45.3812	7342
+-116.7094	42.9431	5525
+-124.0143	46.2101	8127
+-111.6302	31.0693	7962
+-81.2959	31.0869	6018
+-89.5138	40.8436	6981
+-116.4472	34.3323	8618
+-127.7273	43.2944	2943
+-116.1037	35.3058	7736
+-113.6941	32.9494	6100
+-80.6529	29.9251	6931
+-110.5052	34.0021	6846
+-117.5532	45.0482	7905
+-115.1155	30.8529	6743
+-109.1111	28.9634	6341
+-90.8857	37.6378	8109
+-89.8492	40.4203	7534
+-110.1114	29.1991	6879
+-110.8487	30.0995	7772
+-114.7124	36.5214	5724
+-120.2981	45.5737	7055
+-117.0019	34.5922	8960
+-92.9516	36.9376	6036
+-109.7591	35.3288	5368
+-118.6714	46.8427	8373
+-111.1183	30.0351	7593
+-111.8547	28.9369	6166
+-125.5017	44.0708	5329
+-92.1629	38.036	7358
+-88.3433	37.6778	9340
+-79.3141	26.0207	6141
+-121.9585	43.9755	6161
+-87.7321	40.6565	6263
+-124.2011	46.4566	8071
+-124.329	46.4281	7928
+-88.0749	39.9918	7091
+-94.3882	40.3495	4776
+-120.7588	33.811	5712
+-116.129	30.6609	7173
+-125.1863	49.2329	6069
+-118.4644	45.6647	8761
+-111.1943	28.5233	6029
+-86.4224	33.3813	4333
+-122.0798	46.779	8682
+-122.3974	44.0235	6326
+-91.2527	38.844	8482
+-90.3367	38.9602	9192
+-119.8679	42.0718	4676
+-116.1494	45.8218	6981
+-93.3245	37.1948	5838
+-120.0029	48.5219	6115
+-115.1582	36.9045	5740
+-120.5044	33.2227	5869
+-117.5878	44.8768	7770
+-118.0272	47.2884	7973
+-120.8811	43.6312	5465
+-118.9265	34.6161	7652
+-110.2322	34.9906	5780
+-86.4099	41.1906	5056
+-119.8032	45.2932	7438
+-91.1557	37.8203	8122
+-112.2283	32.3017	7278
+-118.0858	43.8369	6855
+-116.0341	34.5307	8125
+-125.7046	48.0339	6309
+-79.1407	32.5575	3502
+-119.502	49.3289	5605
+-87.7624	36.9121	8406
+-108.7982	29.8173	6938
+-109.8757	28.7234	6336
+-93.1382	37.6091	6210
+-88.757	38.2616	9146
+-119.0537	44.0244	6916
+-110.2351	29.8382	7580
+-123.1728	46.8784	9291
+-90.1338	35.1738	6624
+-117.2051	31.1096	7830
+-90.9567	35.5025	6359
+-84.5546	27.3302	7109
+-107.9294	33.1641	6356
+-113.345	30.9322	6135
+-89.317	38.037	9070
+-124.7762	46.1521	7359
+-116.7952	32.132	8966
+-88.1277	34.9294	6661
+-86.6915	38.3066	7377
+-125.0608	43.5361	5152
+-111.0845	32.7131	8004
+-80.9926	25.4543	6975
+-84.5481	29.601	6462
+-79.1899	30.497	5350
+-113.9765	36.5386	5092
+-119.0138	32.1964	7367
+-123.6187	43.9069	6153
+-117.068	32.5372	9421
+-114.612	37.1305	5171
+-88.6743	36.9497	9004
+-89.3998	38.1793	8900
+-112.2061	30.6145	7189
+-124.9253	44.1625	5806
+-116.071	42.1093	4428
+-92.2165	37.3311	6926
+-90.2559	35.874	7200
+-86.0916	38.963	6478
+-118.152	48.5842	6626
+-86.1829	26.1213	4947
+-124.8472	47.3112	7434
+-89.1476	37.2633	9193
+-124.2213	46.7408	8134
+-93.0338	37.2327	6133
+-81.2707	25.3197	6957
+-86.985	39.3166	7089
+-95.9366	41.2155	2875
+-118.39	44.1004	7140
+-108.8993	34.227	6215
+-110.3647	33.454	7446
+-114.8858	32.4167	7389
+-116.7522	46.7953	7480
+-120.2767	33.1589	6087
+-87.6597	39.2077	7685
+-120.7757	34.919	5615
+-123.6858	48.3423	7866
+-107.9944	30.5703	6712
+-116.2368	34.6301	8291
+-118.0937	36.6816	6615
+-121.9696	43.7829	5962
+-119.4493	33.2275	6960
+-86.5749	38.2901	7257
+-115.5997	46.7043	6347
+-112.7936	37.2363	3599
+-119.0159	47.5047	7583
+-80.264	27.3871	7734
+-91.195	38.0169	8245
+-121.6877	32.1399	4433
+-109.8422	33.7104	7108
+-82.9712	28.612	8546
+-88.6298	40.955	6388
+-89.9578	38.9073	8935
+-87.1438	39.3794	7166
+-120.7304	35.5858	5441
+-121.4602	47.9691	7679
+-87.426	39.3519	7397
+-117.7546	31.4363	7980
+-126.5677	45.7762	5370
+-116.1366	35.8427	7303
+-89.8564	36.8434	8282
+-113.4769	29.8121	5564
+-123.6559	48.9717	7252
+-107.7157	34.3932	5313
+-117.6103	44.9499	7849
+-114.673	34.4043	6693
+-87.7622	39.049	7896
+-89.2761	34.272	5963
+-80.9773	27.1519	8411
+-81.8235	27.0391	8998
+-114.8933	31.82	7187
+-124.1376	44.758	6825
+-119.481	46.4656	7934
+-88.9508	35.6488	7541
+-93.2749	38.3253	6274
+-127.3717	47.215	4686
+-114.6702	48.8408	4458
+-121.7686	48.5927	7430
+-90.9402	35.5598	6418
+-122.3417	45.2794	7654
+-82.5514	26.0872	7934
+-113.0368	31.5887	6544
+-89.0384	42.4558	5175
+-89.8678	34.2461	5782
+-85.8076	27.7281	5735
+-80.7283	27.9513	8289
+-117.1426	47.3357	7480
+-88.065	39.0913	8032
+-81.8057	26.4998	8412
+-95.4003	38.8537	4016
+-116.7066	33.3675	9073
+-119.9415	33.0574	6393
+-123.4352	47.0199	9015
+-115.6764	37.3595	5614
+-113.2763	35.1298	5051
+-123.6711	44.9335	7217
+-124.5017	41.3194	3157
+-115.1163	33.8691	7379
+-88.1931	40.9851	6051
+-116.306	32.3404	8845
+-84.3694	29.044	6979
+-123.9026	47.9423	8069
+-122.0639	48.1664	8000
+-91.7383	39.0887	7919
+-89.2949	36.4456	8322
+-125.9446	47.4043	6227
+-86.6775	41.0372	5363
+-106.9154	35.0718	4182
+-122.8197	47.2683	9263
+-115.9756	32.8708	8646
+-88.2476	42.5067	4767
+-80.3417	29.2627	7252
+-108.3455	29.7488	6543
+-115.9939	35.4506	7540
+-88.6532	38.5339	8833
+-112.5717	27.4235	4356
+-92.9389	33.2614	2899
+-112.185	30.4002	7093
+-81.4509	27.7676	9120
+-114.6609	32.7564	7180
+-122.3095	47.4629	8759
+-119.1106	45.3004	8042
+-115.639	27.7829	3946
+-89.0459	40.4781	7069
+-87.9219	39.187	7862
+-91.8808	33.8726	4306
+-121.8698	45.1085	7272
+-121.5647	32.9151	4665
+-82.6822	24.7234	6394
+-87.7232	35.7717	7388
+-79.5457	29.8018	6168
+-83.7869	27.5445	8005
+-123.5836	47.518	8641
+-107.6101	30.1104	6119
+-117.1904	33.4639	8803
+-83.5419	27.1693	8162
+-120.7728	47.7642	7110
+-122.9426	49.8618	6425
+-107.8405	31.1499	6732
+-88.7258	42.1208	5376
+-81.6795	24.8859	6593
+-87.0747	38.9237	7449
+-119.7046	45.9756	7750
+-120.3043	47.4713	6674
+-117.0174	36.026	7455
+-114.2117	28.1649	3872
+-83.5517	29.0907	7697
+-116.3412	31.4452	8072
+-107.7905	31.8038	6708
+-110.5988	31.2013	8970
+-92.6118	37.705	6771
+-117.3559	35.4876	8057
+-90.1568	37.5433	8101
+-88.1712	34.0179	5666
+-118.9238	31.481	7110
+-114.019	33.2212	6434
+-117.5586	34.0699	9212
+-125.0143	45.6006	6841
+-124.3309	44.8118	6764
+-111.9925	30.4493	7296
+-122.7423	46.2645	8816
+-119.7524	46.9174	7480
+-120.5966	43.7271	5751
+-86.9201	36.3783	7288
+-92.3757	38.1354	7177
+-80.3002	24.0056	5159
+-87.6149	25.0534	2973
+-122.3418	47.3398	8868
+-81.0656	29.1115	7950
+-119.2403	29.8214	5558
+-93.3692	38.1726	6146
+-91.9694	35.2385	5271
+-93.3627	38.682	6212
+-91.2472	40.7599	7066
+-109.5114	29.8683	7413
+-124.1454	49.1358	6858
+-121.0181	44.3636	6077
+-91.4675	36.2294	6467
+-117.1127	34.2384	9335
+-89.5888	37.3051	8807
+-114.2804	34.2553	6278
+-115.8627	32.4862	8468
+-88.0792	42.096	5046
+-118.3159	47.1856	8110
+-104.7122	32.5912	3286
+-85.9892	37.223	6658
+-92.2095	39.6843	7213
+-117.9041	46.5976	8598
+-125.3086	47.3191	6932
+-80.2328	26.2763	7160
+-118.2581	43.9562	6990
+-79.5345	29.2371	6514
+-87.5426	35.1197	6644
+-110.0247	30.8296	8591
+-124.7603	46.2804	7428
+-91.5288	38.9471	8172
+-110.0054	30.2491	7985
+-90.9876	38.7255	8772
+-89.0431	36.3013	8252
+-79.519	25.8704	6239
+-87.5425	39.7623	7090
+-122.8143	48.4158	8011
+-91.2347	37.7348	7996
+-115.42	44.0455	5528
+-115.6997	29.3513	5637
+-117.7181	34.9586	8512
+-110.5014	28.9226	6585
+-118.4382	33.0863	8084
+-109.5604	36.1716	4432
+-118.5259	48.3656	6847
+-106.3197	36.6465	2473
+-117.4883	33.9212	9203
+-110.3257	31.4535	9333
+-122.5247	45.1947	7616
+-110.6403	27.6033	5149
+-82.9472	26.7501	8419
+-112.8368	33.9849	5715
+-119.3092	44.3329	7096
+-111.8832	34.7747	5630
+-92.2167	37.4599	7008
+-80.8095	28.685	8070
+-87.8553	36.0849	7767
+-90.8692	36.1276	6891
+-115.9075	48.465	5710
+-116.6318	36.7183	6634
+-90.9877	38.0961	8465
+-91.6067	37.7088	7693
+-118.5861	37.9928	5089
+-123.1511	46.101	8616
+-80.404	24.8086	6016
+-116.9156	33.748	8969
+-117.14	32.421	9271
+-119.1455	33.9593	7480
+-89.1381	39.4173	7902
+-111.0601	28.5945	6141
+-90.2149	36.3765	7638
+-119.5038	30.82	6152
+-117.1432	29.7339	6309
+-90.262	36.7684	7857
+-88.4149	39.1654	8086
+-82.5456	29.7197	7634
+-114.6639	47.4004	5187
+-88.2224	36.5254	8397
+-89.5769	39.0071	8512
+-118.5572	26.8652	2882
+-83.0777	26.8029	8366
+-118.6823	34.6315	7901
+-120.7819	43.4488	5402
+-79.8503	26.9608	7153
+-122.1047	44.8539	7126
+-123.6149	46.8963	8817
+-118.0587	46.0659	9020
+-120.3789	43.722	5904
+-121.1692	46.5552	7652
+-111.3289	33.6571	6981
+-117.0076	34.9207	8634
+-117.1867	31.6569	8436
+-117.8837	45.0237	8045
+-119.1717	47.1891	7772
+-111.1461	31.9216	8520
+-119.8323	48.2904	6419
+-120.5455	34.6416	5919
+-124.2462	43.8383	5865
+-118.7325	34.8439	7761
+-82.8062	30.0391	7211
+-124.7448	46.6409	7548
+-115.5766	35.801	6948
+-88.1823	39.1483	8027
+-88.6413	35.9874	7926
+-81.5555	28.258	9034
+-87.3211	35.8822	7238
+-109.2759	30.3918	7748
+-119.985	35.2764	6321
+-116.0686	46.4669	6883
+-88.2794	40.1472	6702
+-108.2143	31.8851	7155
+-111.8278	29.2051	6430
+-91.4911	38.2083	8095
+-89.7347	40.1538	7758
+-93.5271	38.0905	5962
+-110.468	32.4846	8486
+-115.8859	33.5179	8316
+-120.6316	35.4549	5594
+-123.7068	43.3878	5576
+-124.3105	47.2913	8016
+-119.9532	44.6779	6938
+-112.2687	33.4281	6577
+-113.2726	34.6073	5151
+-123.3119	49.0158	7310
+-90.4646	39.7472	8346
+-115.9572	34.4636	8065
+-90.8423	39.4019	8565
+-117.7095	46.4792	8532
+-109.6576	30.6452	8221
+-117.6341	32.7472	9004
+-89.4376	35.1352	6876
+-110.0277	29.7247	7433
+-118.1636	35.0541	8136
+-117.3963	48.0941	6949
+-125.0825	47.9749	6965
+-120.8022	34.2653	5678
+-86.9198	40.7624	5768
+-117.2784	46.0974	8196
+-115.7237	44.3366	5969
+-118.8776	36.5353	6383
+-124.9339	47.3306	7336
+-81.1764	30.2562	6875
+-116.2429	29.2059	5645
+-119.583	34.3462	7000
+-116.2386	34.3924	8381
+-118.7315	47.6117	7591
+-122.3307	42.3261	4470
+-81.7778	25.2447	7011
+-118.8773	31.4709	7146
+-115.9145	33.3386	8443
+-113.0923	28.1304	4685
+-110.1742	33.2946	7611
+-106.717	32.7432	5359
+-121.7542	48.6569	7363
+-90.2069	35.4126	6813
+-119.7084	35.3013	6585
+-79.9241	28.4723	7269
+-121.4934	49.8168	6114
+-109.6118	32.9998	7751
+-80.2239	29.8407	6703
+-120.8903	48.011	7118
+-115.8031	47.4873	6251
+-119.1193	47.7369	7314
+-123.4144	44.0215	6322
+-79.6039	28.0756	7009
+-92.7744	39.6408	6674
+-109.8345	34.1884	6600
+-121.1742	33.5755	5232
+-90.8579	36.0307	6835
+-117.7305	32.1095	8592
+-90.4662	34.5779	5858
+-83.4877	30.0211	6917
+-89.5618	36.7638	8465
+-118.1833	33.1709	8339
+-79.5758	27.4079	6971
+-117.2539	34.5906	9039
+-83.7577	25.6427	6867
+-107.608	30.6533	6354
+-116.4999	34.4055	8650
+-121.8179	35.0497	4474
+-116.4392	31.0084	7652
+-89.7893	34.3775	5949
+-118.6454	33.1263	7849
+-83.1702	28.1516	8641
+-113.6992	34.4236	5634
+-82.5039	27.2429	9167
+-89.7678	39.4581	8413
+-82.4532	24.1852	5824
+-79.447	30.0563	5899
+-113.0753	33.3949	5913
+-89.664	39.9431	7923
+-80.3468	28.5222	7698
+-93.6931	39.6382	5731
+-83.5369	29.9068	6997
+-114.5853	37.4939	4848
+-90.6305	37.3802	7924
+-108.3718	30.4263	7006
+-115.4485	30.5354	6696
+-121.6712	45.4155	7432
+-121.1578	46.1601	7497
+-120.0588	48.1959	6351
+-82.3601	28.4335	9096
+-115.3128	33.0098	7896
+-92.6707	37.5339	6632
+-80.8433	28.8464	7989
+-87.6523	38.1279	8461
+-113.0367	28.584	5099
+-90.3294	40.9994	6999
+-108.9274	33.5469	6857
+-116.9672	33.3681	9138
+-88.2312	36.7639	8638
+-90.8948	39.5361	8413
+-122.2131	47.4077	8709
+-122.7796	46.6879	9273
+-92.4435	40.4627	6537
+-115.6614	36.6059	6322
+-87.6719	39.4722	7444
+-90.0865	40.0521	7985
+-92.0477	40.2244	7028
+-86.6251	37.9095	7396
+-118.2316	42.8352	5802
+-110.2904	32.9004	8046
+-110.5525	30.598	8380
+-111.6669	28.7079	6039
+-116.1477	46.1289	6999
+-122.1131	42.3213	4430
+-118.902	34.6028	7682
+-88.8156	38.9759	8344
+-80.2293	24.9372	6034
+-121.538	44.0268	6047
+-88.518	37.4167	9420
+-123.8469	48.2843	7823
+-111.9087	31.462	7762
+-115.4629	45.7631	6252
+-122.2623	44.4102	6712
+-118.5708	32.7896	7963
+-119.4055	47.9734	6948
+-90.3915	39.2038	8935
+-114.8206	35.1645	6642
+-109.5322	29.6792	7235
+-126.7326	46.3109	5334
+-116.0308	32.1511	8472
+-119.1592	35.1814	7178
+-116.6766	36.4389	6942
+-91.0582	36.7367	7136
+-81.308	24.9196	6539
+-86.5186	40.4428	5805
+-108.0989	31.5184	7052
+-81.6583	28.5148	8890
+-90.6868	34.7143	5862
+-121.1967	48.023	7404
+-117.1721	32.2439	9074
+-89.0708	36.3589	8309
+-126.5744	47.1742	5563
+-109.9728	30.8149	8554
+-118.1725	44.7617	7838
+-85.4832	27.2108	6051
+-116.2843	33.3333	8798
+-116.5679	31.6801	8409
+-86.9454	37.1528	7691
+-81.7733	27.946	9437
+-86.0959	36.8064	6666
+-115.0935	33.80	7393
+-122.7803	46.03	8569
+-121.9105	34.8472	4413
+-119.283	31.187	6594
+-109.0845	31.0283	7993
+-84.8819	37.6475	5454
+-89.9149	36.7084	8137
+-92.064	39.7403	7322
+-124.2698	49.8415	6108
+-119.2055	44.8702	7633
+-117.856	35.4092	8005
+-87.9756	38.6843	8368
+-116.7476	33.3925	9066
+-117.9727	28.5989	4916
+-81.881	25.2046	6980
+-80.8414	24.1516	5549
+-92.1994	38.5927	7460
+-80.832	28.1866	8345
+-120.9011	49.0202	6458
+-111.6401	30.5309	7656
+-116.695	45.6825	7521
+-123.609	48.7551	7493
+-115.2162	30.2721	6308
+-92.1592	39.9447	7117
+-110.5493	30.9329	8731
+-87.7524	37.1095	8516
+-117.4681	32.6502	9164
+-90.2952	36.784	7834
+-114.222	43.0603	3888
+-84.3241	26.7775	7173
+-82.0286	24.0173	5649
+-122.8234	32.2766	3147
+-117.5626	46.826	8177
+-90.2161	36.7394	7884
+-115.9958	47.981	6124
+-119.1139	43.5938	6464
+-82.1629	26.5769	8546
+-89.2647	36.4931	8385
+-116.4014	35.1277	8100
+-110.2856	30.3695	8157
+-122.738	42.4728	4666
+-80.0258	28.7215	7275
+-114.4438	46.7342	5139
+-118.1363	33.3661	8273
+-120.2987	30.658	5325
+-124.5508	43.2294	5118
+-121.8377	44.7419	6898
+-115.989	32.7062	8655
+-110.559	34.3081	6511
+-89.1729	39.0334	8084
+-90.8428	38.341	8761
+-118.3701	43.4548	6458
+-109.8441	32.1677	8648
+-118.6375	30.8354	6862
+-116.7727	33.5306	8928
+-120.683	46.9872	7170
+-110.3661	30.47	8267
+-118.0624	45.8006	8867
+-82.944	25.6752	7355
+-119.9907	47.4397	6962
+-116.1801	33.1127	8815
+-82.251	28.4952	9057
+-121.344	34.513	5071
+-88.6775	36.2725	8248
+-85.8527	24.2609	4110
+-88.7631	36.0485	7999
+-122.2475	47.7666	8472
+-109.3504	33.2289	7397
+-109.7103	32.4153	8347
+-119.1113	34.6351	7453
+-126.4371	47.7309	5631
+-87.0494	38.0874	7830
+-115.9341	28.8274	5157
+-115.1677	32.4387	7702
+-108.66	30.9795	7546
+-115.8764	30.7152	7112
+-119.1677	32.0782	7163
+-115.8216	32.9126	8471
+-117.9575	49.5127	5630
+-109.0712	30.5554	7710
+-119.306	34.1115	7313
+-80.8242	28.4039	8245
+-111.2231	33.5145	7170
+-82.3027	30.0286	7326
+-119.1315	46.9843	7963
+-89.0512	35.4515	7309
+-117.8874	47.0263	8194
+-92.3231	37.5784	6982
+-88.6925	37.0305	9097
+-88.0466	37.2598	8887
+-119.1744	34.1724	7456
+-120.3483	34.6153	6135
+-88.4884	39.2629	7996
+-81.2859	29.6448	7561
+-121.0342	35.0451	5309
+-118.0251	30.4577	6869
+-86.532	36.4721	6971
+-111.2775	30.668	8049
+-86.5267	40.4603	5795
+-116.6154	47.6656	6838
+-123.2846	47.1678	9129
+-126.558	42.6405	3382
+-83.6374	28.0439	8162
+-109.8698	33.5869	7245
+-87.2058	39.1281	7414
+-86.3104	35.8007	6353
+-110.9015	34.4544	6303
+-123.0822	48.497	7913
+-120.3584	45.714	7025
+-118.8212	45.0181	7981
+-115.9343	33.3308	8466
+-88.0292	39.2344	7870
+-118.8162	48.5906	6563
+-119.037	47.1301	7909
+-95.334	36.8074	3692
+-115.1653	34.5177	7208
+-81.0179	28.8336	8146
+-115.8874	30.9811	7378
+-115.2874	33.2008	7831
+-117.8041	32.9462	8808
+-123.8438	46.8904	8566
+-88.5301	35.068	6887
+-118.7807	34.5448	7826
+-111.2986	25.8356	3159
+-92.4561	33.4871	3558
+-114.9451	34.7876	6907
+-80.0667	26.0502	6853
+-94.1678	35.7051	4189
+-117.023	33.2134	9306
+-113.6878	35.2114	5461
+-118.385	36.6609	6523
+-114.5651	49.6221	3836
+-111.6259	28.6387	5989
+-115.8288	34.3236	7956
+-91.2757	37.1522	7452
+-79.6473	31.235	5065
+-114.788	31.0735	6641
+-119.4833	43.1506	5888
+-118.9925	49.163	5931
+-116.2179	45.945	7067
+-118.5932	37.9759	5103
+-118.2719	45.2195	8328
+-116.7121	32.7605	9462
+-83.7504	28.177	8005
+-88.1501	38.1322	8947
+-87.0546	35.7709	6948
+-109.7736	32.8657	7958
+-119.9451	30.3063	5408
+-89.515	38.9573	8462
+-81.1529	26.2939	7891
+-120.5452	41.0714	3421
+-87.3637	38.4818	7993
+-109.8962	31.051	8727
+-118.4559	34.916	7985
+-122.8689	46.8729	9498
+-89.0508	39.2108	7905
+-115.544	36.5185	6328
+-111.5599	31.8657	8110
+-112.4791	31.5792	7149
+-81.1834	24.3312	5860
+-91.6615	38.3491	7981
+-117.916	31.8968	8278
+-91.97	39.1843	7651
+-118.3035	34.8806	8144
+-118.3722	44.6305	7701
+-117.6692	45.4803	8337
+-117.8161	47.1671	8027
+-119.8071	46.3262	7629
+-90.0098	38.2887	8785
+-121.9556	45.8081	7964
+-111.7084	31.3914	7969
+-109.3145	27.4764	4889
+-82.5216	29.0052	8424
+-118.363	34.8141	8130
+-89.5063	35.0555	6769
+-117.1206	31.8503	8661
+-92.0373	40.9362	6470
+-121.4591	48.1555	7554
+-84.0094	26.389	7259
+-120.0928	35.6099	6060
+-84.3135	25.3877	6242
+-79.7828	25.3244	6058
+-82.1127	26.5344	8498
+-109.3583	32.5472	7988
+-117.2266	45.7521	8082
+-117.1698	32.8636	9520
+-123.2515	48.1723	8226
+-119.1746	31.6953	6991
+-117.6983	32.2368	8712
+-86.2346	39.473	6323
+-109.0947	33.3869	7103
+-82.1587	24.5357	6237
+-120.7692	45.1375	6437
+-115.5555	31.234	7388
+-89.0771	34.5302	6278
+-83.127	26.9749	8455
+-90.3343	39.6936	8406
+-120.8272	45.4652	6794
+-80.9298	32.966	3854
+-87.504	39.5825	7239
+-113.6769	31.059	5807
+-92.6544	41.1937	5829
+-85.8575	36.0709	6091
+-90.7097	37.1521	7667
+-118.9209	28.2983	4262
+-114.8425	34.1242	6894
+-117.6684	29.0828	5515
+-86.9709	40.0107	6500
+-109.0001	28.4683	5802
+-111.1376	34.101	6610
+-90.3073	41.6047	6346
+-115.9867	32.4239	8575
+-117.7469	36.0292	7404
+-109.3599	29.5771	7058
+-87.2333	27.3147	4100
+-122.9563	48.3124	8126
+-114.2845	33.2859	6716
+-108.2868	29.799	6532
+-118.684	47.3643	7856
+-123.5922	44.1853	6457
+-83.6467	28.4731	8003
+-108.4966	27.8333	4949
+-113.9121	35.1599	5711
+-91.8865	37.1356	7047
+-118.8803	35.8536	6965
+-115.7756	34.589	7837
+-119.2684	45.3606	7956
+-83.7334	30.6784	6134
+-115.6611	34.8484	7621
+-118.0769	38.981	4177
+-82.2925	27.1808	9206
+-118.1327	47.8798	7369
+-87.4879	38.9505	7781
+-93.6039	39.1622	5925
+-115.2111	45.1311	5849
+-110.8823	29.6067	7251
+-119.6011	32.6429	6808
+-89.0282	34.8371	6626
+-86.5967	38.2626	7289
+-120.3519	49.0741	5973
+-116.5395	36.0874	7263
+-116.7709	33.73	8841
+-114.2795	28.3271	3930
+-85.6376	35.7208	5679
+-122.1268	48.9491	7268
+-110.3511	32.6434	8325
+-90.5304	39.0538	9061
+-122.4299	47.9569	8402
+-76.5989	28.5312	3572
+-89.9871	39.4038	8600
+-84.7856	27.767	6892
+-117.155	33.7207	9072
+-121.219	48.2664	7272
+-82.546	29.845	7495
+-89.6216	38.4342	8536
+-90.0427	38.1436	8675
+-83.2261	25.474	7019
+-117.8427	36.5515	6826
+-117.6692	30.8902	7466
+-121.7314	46.2214	8084
+-118.8318	30.1014	6079
+-82.6005	28.4988	8910
+-81.425	29.3089	7972
+-123.3396	44.1642	6490
+-121.0389	45.5393	7029
+-116.0621	35.8613	7240
+-86.8726	36.1797	7113
+-123.2035	47.0218	9267
+-82.2822	29.73	7665
+-107.9746	31.969	6884
+-89.0158	36.2219	8170
+-82.0685	26.3046	8237
+-122.613	48.7542	7617
+-90.0926	37.5797	8125
+-80.2628	26.4747	7321
+-118.1273	34.209	8595
+-117.4474	45.6373	8249
+-119.6739	36.3075	5999
+-93.1104	35.6132	4944
+-108.855	31.5686	7872
+-113.2583	28.3577	4756
+-119.0368	32.4342	7405
+-112.8666	32.6206	6508
+-117.2968	32.7706	9381
+-118.5687	46.0618	8956
+-112.4995	45.3808	3088
+-113.904	32.34	6296
+-117.8849	46.8459	8365
+-88.8039	38.9535	8369
+-120.793	30.2421	4609
+-87.1338	36.4703	7543
+-116.9238	33.091	9443
+-95.3907	38.1149	3984
+-110.922	35.9087	4744
+-120.104	32.3354	6212
+-118.4706	32.3016	7980
+-90.3075	38.3084	8941
+-115.5476	36.0056	6765
+-106.0036	26.1378	1936
+-121.9127	35.0565	4371
+-114.5338	29.7593	5395
+-107.8157	33.101	6289
+-91.5971	39.1078	8060
+-113.1035	30.2458	6141
+-116.2898	33.2528	8855
+-120.7255	44.4292	6127
+-91.7896	38.8773	7902
+-111.9837	32.1282	7591
+-85.4602	31.5367	4204
+-121.2031	38.9521	2751
+-118.2225	44.3721	7429
+-115.328	36.266	6394
+-84.2225	25.6614	6537
+-115.5212	32.5696	8117
+-112.6866	33.637	6089
+-108.6099	32.8084	7183
+-117.9631	33.2458	8543
+-111.8866	33.4145	6872
+-121.5805	47.058	8153
+-123.2414	49.1712	7155
+-92.0738	39.9619	7182
+-79.6989	28.4253	7039
+-107.6073	29.8052	5947
+-109.2848	31.7155	8329
+-91.538	39.0258	8145
+-118.55	32.746	7985
+-89.2661	35.3456	7151
+-89.0728	37.2829	9265
+-81.4311	29.0279	8259
+-115.3753	33.3453	7882
+-118.261	32.5759	8284
+-117.0884	32.9833	9523
+-82.8417	28.5436	8703
+-123.0339	48.3198	8112
+-111.9815	29.7926	6837
+-110.5095	31.3376	9146
+-111.1238	32.4792	8179
+-120.9886	49.6557	5982
+-119.1074	35.4375	7077
+-117.5665	31.6425	8282
+-123.6376	47.0871	8785
+-89.3605	38.7277	8322
+-116.8483	34.5379	8903
+-122.6044	47.1141	9243
+-118.6247	30.7315	6781
+-113.9949	34.7707	5902
+-123.1057	46.341	8883
+-118.2071	33.5508	8331
+-90.8162	35.705	6631
+-112.2416	37.4696	2958
+-115.7215	34.2667	7846
+-87.9373	39.8829	7158
+-118.3531	46.3017	9035
+-118.7125	33.6771	7884
+-81.0114	26.0371	7560
+-81.9037	28.7579	8741
+-88.2905	38.1657	9040
+-116.9885	36.3009	7154
+-112.9937	33.9164	5640
+-111.7077	33.6676	6769
+-116.5313	33.511	8839
+-116.3801	36.8086	6464
+-80.124	28.7383	7367
+-87.4647	36.1433	7566
+-117.5046	34.623	8944
+-81.3616	28.6227	8588
+-88.7936	36.6778	8705
+-88.5932	38.2138	9170
+-123.4455	43.0031	5211
+-79.1743	26.7994	6370
+-86.1508	34.2865	5018
+-91.4871	39.4294	8027
+-87.2988	40.8308	5899
+-120.5406	46.6876	6790
+-92.4914	37.8521	6955
+-116.5297	36.5295	6803
+-123.7669	45.741	7957
+-115.329	30.0876	6203
+-86.4941	32.8002	3787
+-82.5447	26.9476	8856
+-112.2834	32.8187	6972
+-118.6097	43.7062	6702
+-110.3145	28.5652	6203
+-83.2497	27.073	8406
+-123.1621	48.9446	7414
+-91.2178	41.7801	6037
+-119.7107	45.9838	7744
+-118.3201	31.0884	7304
+-121.06	32.0296	5103
+-120.0674	46.9744	7156
+-118.4424	49.844	5292
+-122.9945	48.9124	7466
+-119.5758	32.0665	6725
+-105.7735	30.4643	4387
+-114.2579	48.0863	4506
+-107.1384	29.8286	5524
+-121.009	43.2907	5115
+-116.3882	30.7513	7361
+-89.2825	41.8989	5829
+-113.4863	35.1827	5258
+-110.4093	28.7336	6385
+-118.2604	44.6946	7772
+-117.5716	47.6541	7450
+-110.2327	30.4999	8295
+-119.3865	32.5516	7038
+-122.6817	49.214	7125
+-85.3243	26.532	6021
+-92.8821	38.0543	6629
+-88.7891	36.1758	8142
+-117.7668	43.1411	6079
+-79.9029	28.1353	7335
+-89.1998	38.7433	8512
+-123.0605	44.5054	6897
+-107.2721	34.3053	5035
+-91.5949	38.9061	8108
+-110.9051	31.7595	8825
+-108.0648	32.0953	6954
+-114.8829	34.1149	6938
+-82.8846	27.6808	9037
+-87.1834	37.1776	7955
+-89.2043	38.4345	8822
+-88.1244	41.554	5543
+-109.5113	31.8853	8525
+-109.8034	33.9808	6813
+-81.3263	25.7763	7463
+-90.4625	42.1946	5711
+-119.2214	44.5908	7379
+-118.4457	33.1543	8061
+-126.1271	46.4774	6020
+-122.3169	48.009	8294
+-117.5182	34.2082	9252
+-85.2022	27.9667	6413
+-118.9325	46.5176	8443
+-111.3413	28.8672	6335
+-117.0694	30.7104	7401
+-121.1095	47.704	7479
+-122.97	43.3173	5596
+-88.0938	42.1006	5050
+-90.8528	35.1807	6173
+-122.817	44.6399	7048
+-88.6526	38.525	8842
+-117.5503	35.119	8419
+-118.6923	33.4106	7794
+-108.8566	30.1829	7269
+-122.4617	47.3943	8933
+-108.3045	33.8846	6150
+-121.5063	49.3074	6613
+-91.5178	39.8363	7731
+-119.6542	47.3865	7269
+-117.8749	33.7627	8761
+-125.4784	46.0456	6598
+-108.4183	31.7721	7389
+-88.8921	31.938	3384
+-110.4886	31.5688	9305
+-125.2253	48.8897	6291
+-117.5521	48.4201	6684
+-92.0362	38.3613	7594
+-83.997	28.2099	7725
+-90.1651	37.168	8149
+-111.4904	29.842	7208
+-110.5813	31.0532	8839
+-81.3495	25.6534	7342
+-90.9109	37.9269	8371
+-117.4538	31.7336	8428
+-89.6529	41.1982	6671
+-89.3825	37.5837	9118
+-116.1496	33.3303	8676
+-88.6057	41.2579	6111
+-90.4529	40.9474	7055
+-89.2269	34.3181	6022
+-112.1646	32.4997	7255
+-118.6303	44.9073	7945
+-118.0382	33.4295	8399
+-86.9776	38.6642	7516
+-116.8673	35.6719	7804
+-82.7074	29.6214	7696
+-89.3835	37.6143	9120
+-113.8933	34.0367	6065
+-122.2346	36.4911	3539
+-79.9939	25.2464	6152
+-106.623	29.7668	4998
+-119.1759	48.1457	6897
+-90.627	36.7774	7282
+-123.3468	46.2331	8663
+-122.1985	48.9677	7276
+-110.9286	24.4427	1710
+-117.0217	34.3363	9191
+-90.9962	34.1106	5104
+-80.4844	26.3315	7419
+-90.8961	39.1612	8716
+-112.9167	31.625	6674
+-89.0653	37.2798	9267
+-88.0754	35.9519	7740
+-119.7147	32.8786	6687
+-117.3143	36.9676	6446
+-89.7503	42.5072	5318
+-110.263	31.732	9295
+-126.6746	45.1006	4980
+-112.2512	32.5504	7146
+-118.5753	33.9234	8092
+-122.519	47.4638	8918
+-81.1327	27.9144	8748
+-86.3583	41.6766	4564
+-91.2099	39.042	8479
+-116.2098	35.5321	7625
+-115.021	35.4877	6677
+-120.7178	34.6409	5733
+-81.789	29.943	7400
+-118.1976	34.2101	8519
+-118.6387	45.6738	8673
+-113.8862	31.4809	6008
+-126.8543	45.2996	4892
+-116.6303	46.8516	7337
+-112.4861	32.3072	7013
+-89.9259	36.4487	7928
+-118.3638	46.1919	9131
+-116.7545	35.1148	8330
+-118.541	43.8934	6908
+-116.667	36.8855	6465
+-118.7961	46.4219	8619
+-112.4692	45.8594	3098
+-123.8949	48.6916	7418
+-112.9005	31.5685	6692
+-90.1763	39.769	8304
+-116.3113	32.9441	9008
+-116.8761	33.6506	8861
+-91.006	38.04	8406
+-120.9598	45.1799	6708
+-83.0159	28.0789	8833
+-117.0366	34.557	9012
+-112.9068	34.2828	5433
+-122.3127	44.9216	7269
+-110.474	32.5766	8387
+-89.3092	40.8989	6835
+-114.7597	34.3716	6791
+-118.3277	32.0871	8030
+-117.1843	32.2522	9078
+-117.6156	47.1541	7939
+-110.4731	33.3143	7592
+-124.0792	46.1871	8053
+-115.7642	35.1542	7556
+-78.6269	32.6524	3089
+-117.0936	35.5693	7960
+-86.4628	33.4226	4395
+-81.8541	27.9541	9512
+-117.6275	34.1951	9138
+-119.5368	46.5638	7845
+-83.2655	29.7219	7336
+-113.9376	31.8071	6192
+-120.0368	44.1865	6512
+-116.9144	35.3448	8162
+-119.5649	32.4574	6827
+-115.953	33.2624	8518
+-109.5048	31.6817	8570
+-113.8717	33.472	6224
+-86.1097	36.5323	6572
+-109.396	31.12	8341
+-108.0083	32.426	6794
+-123.9236	49.4913	6613
+-112.2369	33.7088	6382
+-90.0797	38.0634	8615
+-117.208	34.0444	9422
+-107.9441	30.4454	6606
+-118.7455	46.05	8768
+-108.8658	31.5585	7883
+-119.8292	32.9707	6468
+-115.6183	32.2809	8135
+-123.6522	47.9329	8261
+-119.3824	43.3663	6140
+-88.5741	36.8419	8865
+-109.1974	33.6508	6918
+-123.6487	47.4376	8634
+-114.5979	33.7084	6930
+-89.2073	36.2084	8106
+-116.1957	33.832	8324
+-116.2215	45.3699	6944
+-118.2127	34.1025	8505
+-123.8919	48.0515	7991
+-119.666	43.3043	5957
+-79.4334	32.8211	3409
+-122.8198	45.5976	8100
+-92.9634	39.4302	6548
+-116.506	31.5213	8219
+-119.8318	46.0011	7617
+-119.7703	44.658	7067
+-80.4696	26.8419	7739
+-123.4542	43.4941	5743
+-84.916	36.3093	5232
+-118.6317	31.5397	7412
+-109.8362	30.4823	8165
+-107.1058	31.5083	5976
+-117.2981	38.3319	4958
+-126.9283	49.1103	4593
+-120.7421	48.2252	6862
+-114.7041	32.8205	7229
+-91.5398	39.5379	7916
+-117.949	33.4757	8504
+-90.5851	38.1368	8728
+-111.9202	32.9841	7180
+-123.5266	44.672	6993
+-120.4085	47.6444	6770
+-81.4455	29.2118	8082
+-86.3399	41.1064	5089
+-117.2895	34.1401	9512
+-117.9501	30.2569	6694
+-122.6861	48.9817	7380
+-88.8318	35.4544	7332
+-117.3022	32.6152	9316
+-116.4222	32.5823	9092
+-115.3008	30.9518	6964
+-116.8131	35.2964	8176
+-119.5915	31.8438	6630
+-90.9076	35.4284	6339
+-85.8934	42.3309	3665
+-117.0989	33.1675	9335
+-119.4934	34.2959	7102
+-81.6539	24.2018	5823
+-122.6473	47.4629	8994
+-89.6267	35.9345	7645
+-85.3154	38.7404	5758
+-117.4031	32.1813	8893
+-118.674	33.113	7820
+-118.9881	33.8833	7640
+-108.7426	33.3154	6926
+-90.2051	40.8133	7192
+-119.461	45.6377	7921
+-87.3776	28.2127	3938
+-119.3291	43.1329	5929
+-115.9718	33.0086	8623
+-82.6007	26.7705	8648
+-115.7196	34.4207	7822
+-92.1387	36.2613	6142
+-116.5651	33.9536	8748
+-87.4571	40.4448	6367
+-85.8259	28.3662	5660
+-120.3823	35.7126	5727
+-89.1293	38.7526	8529
+-124.5931	47.1558	7735
+-84.7195	40.5557	4233
+-93.5051	37.3542	5739
+-84.638	28.9492	6759
+-86.6302	38.7552	7123
+-89.1424	41.0557	6602
+-121.1804	47.1644	7704
+-93.4499	41.2374	5168
+-88.2488	38.9889	8220
+-115.2374	31.52	7342
+-122.5517	48.8767	7473
+-118.3466	35.4548	7676
+-88.7096	37.4757	9592
+-83.7985	28.0305	7985
+-112.1204	33.0984	6935
+-88.3152	38.6699	8580
+-83.9861	28.2026	7739
+-118.2324	41.7244	4626
+-112.8997	29.9665	6187
+-120.4699	31.9631	5731
+-118.0114	34.0047	8713
+-115.4895	32.0814	7913
+-126.0079	44.7151	5390
+-84.2678	27.728	7477
+-93.021	43.2327	3818
+-91.8476	39.0666	7810
+-89.4103	37.5258	9076
+-117.6943	31.8001	8358
+-111.0021	32.3169	8398
+-120.3106	48.7643	6143
+-86.9672	35.6938	6818
+-110.0398	31.8289	9059
+-88.5802	36.663	8670
+-109.3608	30.8981	8185
+-108.5467	29.8425	6771
+-88.501	38.8217	8484
+-123.1918	45.7326	8213
+-110.5148	30.9175	8726
+-86.3122	37.0725	6981
+-115.785	38.7637	4235
+-80.721	25.901	7245
+-116.9698	31.5153	8301
+-114.8749	33.4518	7315
+-116.6608	48.0162	6601
+-118.2126	34.8002	8275
+-111.4893	33.0065	7487
+-117.4893	30.9012	7538
+-118.1383	30.7359	7089
+-108.2583	30.6175	6994
+-121.9803	30.7093	3687
+-117.3895	46.6185	8166
+-89.0214	43.1173	4494
+-84.3346	26.5202	7030
+-117.2127	42.7569	5543
+-90.4692	39.9053	8176
+-116.3983	32.7784	9118
+-115.7564	49.0772	5125
+-108.3182	29.6869	6476
+-82.4143	25.3572	7148
+-108.5395	30.7454	7328
+-81.2162	26.38	8012
+-87.3059	38.1415	8091
+-116.7638	33.9296	8946
+-116.787	44.8251	7179
+-119.5891	35.1489	6773
+-110.5103	31.5799	9282
+-117.2782	35.6699	7862
+-115.9503	46.0811	6790
+-119.2491	43.8836	6700
+-110.8841	33.1687	7655
+-116.9785	47.881	6922
+-81.1499	27.7613	8780
+-111.0244	30.4902	8072
+-88.6902	36.0187	7964
+-115.0486	30.3399	6259
+-89.9244	38.5755	8895
+-84.6321	31.1631	5122
+-89.9439	40.3946	7590
+-118.727	33.1052	7763
+-122.5021	49.8632	6394
+-113.9229	31.6425	6114
+-79.6747	32.0248	4330
+-83.8356	26.5951	7555
+-123.7207	45.8641	8096
+-92.7081	39.3611	6834
+-115.9758	33.9111	8109
+-88.2027	38.0547	9046
+-118.4732	35.8891	7214
+-85.5315	38.3038	6114
+-117.6562	44.639	7577
+-83.8151	28.6623	7737
+-110.3835	29.198	6889
+-113.9902	34.242	5962
+-111.561	31.4809	8139
+-125.5952	48.068	6407
+-124.5166	43.4276	5332
+-117.5406	38.8726	4360
+-126.71	48.7749	4973
+-124.7705	44.6555	6340
+-115.7018	46.2476	6522
+-90.0084	36.0299	7509
+-113.3915	34.2463	5458
+-115.5354	45.4463	6269
+-89.3605	37.0738	8874
+-108.3697	29.9828	6729
+-88.5164	37.8958	9434
+-82.1415	27.6411	9750
+-114.5483	28.8301	4552
+-92.4625	39.9825	6819
+-89.5036	35.1088	6828
+-86.9883	39.7125	6772
+-77.9008	29.1917	4840
+-124.955	47.3892	7301
+-88.6012	39.4208	7837
+-120.5819	44.1892	6095
+-109.2096	34.5006	6086
+-116.1395	31.4838	8003
+-90.3576	38.4832	9135
+-88.5957	34.5453	6307
+-88.3269	34.9592	6737
+-84.8936	26.015	6194
+-114.8702	34.6425	6865
+-120.0859	47.3205	6955
+-90.8196	34.9388	5983
+-121.0582	32.7642	5141
+-115.3265	34.1474	7421
+-122.5721	45.9265	8408
+-87.9769	36.0918	7838
+-118.2418	45.1909	8297
+-84.1972	28.1753	7512
+-112.9004	35.8871	4405
+-89.436	37.9594	8995
+-116.9694	33.7012	8966
+-88.936	37.479	9532
+-110.221	30.8544	8674
+-119.0053	47.2036	7864
+-90.5865	40.4112	7620
+-118.374	46.7586	8556
+-116.5535	47.7958	6695
+-118.6147	35.6803	7300
+-110.6773	32.8163	8087
+-122.5601	48.0166	8394
+-118.7596	30.1091	6131
+-116.454	30.9108	7552
+-114.9657	32.3187	7453
+-95.4675	36.8751	3584
+-84.6823	40.6943	4108
+-118.9099	36.8342	6089
+-90.0002	37.4701	8413
+-115.6726	33.6491	8037
+-87.884	27.5544	3382
+-89.8269	39.5372	8385
+-116.1968	35.5593	7593
+-119.5612	33.1065	6796
+-91.8052	40.1501	7274
+-106.1476	31.3202	4930
+-118.0472	32.2083	8370
+-89.5492	36.0224	7772
+-117.7202	29.4836	5941
+-81.6695	25.7974	7604
+-88.3744	39.0182	8235
+-116.3091	34.0507	8490
+-118.0791	30.5451	6932
+-120.9817	45.6453	7047
+-84.844	37.0954	5366
+-81.9627	25.3225	7121
+-123.2244	48.0154	8400
+-118.2836	34.2232	8424
+-112.2018	33.3611	6679
+-86.7518	38.4524	7387
+-89.9234	41.4264	6497
+-82.8573	26.1768	7916
+-114.9374	47.4749	5429
+-108.0239	29.8448	6342
+-107.5254	30.6644	6273
+-112.4227	32.7277	6892
+-92.6068	38.4112	7000
+-117.4289	44.7623	7580
+-119.9673	31.7324	6194
+-87.9899	37.0757	8720
+-112.4754	33.647	6251
+-89.3699	37.333	9042
+-115.8895	35.452	7458
+-118.3369	36.1925	7006
+-122.2808	47.6243	8614
+-116.9006	45.8463	7772
+-92.0728	39.0022	7583
+-86.6543	36.9388	7307
+-90.5735	39.0143	9073
+-116.8883	31.4974	8279
+-110.8454	30.1085	7782
+-108.9396	29.4575	6719
+-115.7899	34.8642	7741
+-123.6822	47.5759	8517
+-91.4279	41.3302	6424
+-82.9209	29.5337	7704
+-120.254	45.3057	7010
+-123.9621	48.8049	7274
+-83.136	29.0878	8016
+-119.9852	45.1005	7170
+-117.1223	33.7478	9089
+-88.1762	38.5307	8640
+-111.7895	32.4114	7659
+-118.0635	48.794	6398
+-125.1809	48.5023	6585
+-93.4846	38.1992	6029
+-117.1498	38.0108	5306
+-116.7619	34.8505	8581
+-80.4099	30.4939	6242
+-90.3611	38.3133	8953
+-119.4716	43.1628	5905
+-121.8727	45.0479	7215
+-118.2892	47.217	8078
+-88.2837	35.7964	7648
+-114.4031	31.1614	6349
+-85.5841	27.6321	5985
+-118.9016	44.1177	7061
+-110.3053	32.3284	8666
+-118.7096	45.1112	8120
+-116.6641	36.0007	7397
+-121.425	34.0694	5001
+-87.5016	35.8011	7286
+-89.4548	42.2332	5539
+-109.2874	32.7132	7805
+-123.181	46.6039	9102
+-116.3816	35.0901	8116
+-122.0847	49.9168	6243
+-118.524	33.4334	7968
+-111.0085	33.7101	7056
+-112.1123	28.6382	5746
+-90.9526	39.1595	8668
+-117.1432	32.2319	9072
+-117.3162	46.7496	8027
+-109.6303	36.823	3746
+-87.3501	40.343	6415
+-125.6739	43.673	4875
+-116.3269	32.925	9029
+-116.5009	33.1956	9083
+-89.8384	37.5692	8607
+-116.4387	33.7622	8548
+-81.1059	29.711	7404
+-119.9137	35.7878	6133
+-116.4002	34.4163	8544
+-117.1959	32.7405	9483
+-90.4535	36.6426	7600
+-82.5747	24.7282	6419
+-121.3337	48.3782	7290
+-117.9407	31.625	8036
+-122.3335	46.284	8632
+-119.2462	32.4495	7177
+-81.9357	27.3872	9408
+-78.8267	28.1283	6129
+-114.1666	33.5539	6523
+-124.964	46.034	7118
+-113.1874	29.8622	5863
+-109.2433	29.4491	6877
+-123.8442	44.1268	6318
+-118.8163	35.6206	7195
+-118.0454	36.9878	6310
+-87.7868	34.6523	6258
+-121.4382	48.8074	7024
+-124.1907	45.7937	7690
+-109.25	31.2361	8241
+-123.6563	45.9724	8234
+-91.2899	35.0694	5751
+-83.8287	28.6957	7705
+-94.6595	40.1123	4587
+-79.5461	26.2997	6528
+-117.1269	34.9807	8601
+-109.815	32.1559	8637
+-86.6178	36.4204	7027
+-91.9967	36.694	6607
+-115.532	35.9808	6773
+-118.3049	44.5654	7635
+-107.1802	32.1501	6003
+-87.1543	37.7679	8002
+-92.8104	40.0561	6454
+-123.7986	46.5827	8533
+-85.7317	27.5279	5812
+-93.435	39.2117	6098
+-82.569	37.7659	2857
+-117.8887	31.8086	8229
+-85.3145	35.801	5411
+-93.7186	39.8073	5653
+-90.8602	34.775	5808
+-123.4081	44.0301	6332
+-114.6545	34.1487	6688
+-87.4042	38.2029	8171
+-111.4193	35.1804	5403
+-91.5841	39.1927	8045
+-119.0729	34.2189	7565
+-91.0258	39.435	8412
+-116.2183	31.2704	7837
+-84.499	27.7026	7215
+-116.5029	45.7449	7338
+-116.6018	36.2798	7087
+-90.7268	39.5572	8479
+-115.5512	31.472	7575
+-124.705	48.1983	7205
+-119.8863	45.5956	7481
+-110.8165	32.9782	7874
+-121.586	44.7355	6762
+-118.4985	28.7506	4906
+-124.2071	46.9829	8170
+-94.306	34.8486	3461
+-84.5179	40.6984	3956
+-108.9609	32.5919	7628
+-111.7214	29.387	6659
+-89.9607	38.433	8855
+-121.0704	46.3698	7492
+-121.7248	48.7805	7232
+-116.9985	36.4963	6944
+-117.9995	34.412	8683
+-88.8764	33.447	5078
+-90.5452	38.6609	9225
+-118.3535	33.9311	8332
+-116.0001	30.6423	7099
+-116.5797	44.3798	6696
+-120.6871	36.52	4988
+-117.3278	35.4314	8120
+-123.7281	47.1305	8679
+-84.7269	28.1919	6919
+-82.3815	27.2325	9226
+-110.3794	31.1777	9031
+-113.6043	32.0636	5892
+-87.1756	37.6797	8029
+-123.4454	45.6465	8037
+-92.1431	40.6499	6633
+-115.7433	35.378	7392
+-120.8284	33.4523	5582
+-83.6933	38.829	3972
+-87.4186	39.9319	6856
+-109.4312	31.4499	8486
+-121.8506	30.3107	3630
+-125.625	48.5618	6137
+-118.4379	42.867	5833
+-119.2276	48.1782	6843
+-117.915	41.8518	4744
+-114.3555	36.2843	5590
+-89.6613	39.6761	8159
+-82.6997	27.9073	9232
+-90.3962	38.7653	9403
+-117.6515	31.3499	7947
+-116.955	31.6079	8405
+-82.6504	30.6842	6540
+-117.6669	47.9637	7182
+-111.6067	30.625	7747
+-78.8501	26.3853	5863
+-94.3602	35.71	4029
+-89.5463	39.2057	8397
+-92.4634	39.0606	7157
+-123.2618	48.0222	8380
+-118.3315	34.2231	8372
+-117.5459	33.3387	8883
+-122.7319	47.3413	9155
+-121.0443	47.1342	7559
+-119.0323	48.2356	6864
+-77.5503	28.7202	4596
+-119.443	32.6099	6981
+-88.669	36.485	8485
+-116.7153	34.7798	8611
+-114.7276	35.5045	6390
+-118.7504	29.3259	5380
+-89.165	39.6578	7787
+-112.5409	30.8459	6952
+-114.4126	34.9776	6291
+-107.1595	32.0407	5999
+-117.2111	45.3066	7848
+-89.2084	36.5928	8512
+-118.5211	33.1984	7831
+-113.1714	31.0675	6348
+-91.8579	38.6055	7827
+-87.8491	40.1035	6892
+-78.0148	27.8636	5232
+-118.5237	42.9103	5873
+-118.249	30.0776	6379
+-115.9092	35.539	7406
+-109.7121	31.8043	8759
+-82.9523	29.7647	7449
+-121.3664	47.2447	7894
+-123.3658	47.8716	8488
+-117.3511	38.1318	5175
+-85.1408	39.016	5472
+-110.8199	34.3464	6434
+-118.4383	42.764	5724
+-115.6446	35.5067	7219
+-87.8368	37.3171	8700
+-91.1677	37.3292	7675
+-88.6635	39.4024	7863
+-120.48	46.2728	6927
+-116.685	44.9215	7157
+-115.0816	38.7956	3921
+-111.3943	35.4324	5148
+-80.6297	26.9229	7942
+-117.7792	29.5923	6044
+-109.3189	25.7436	3052
+-118.8398	35.5085	7259
+-115.6934	34.0033	7816
+-119.1128	31.6551	7031
+-88.8285	36.8812	8931
+-91.5964	40.5153	7116
+-121.4019	45.4624	7274
+-86.4307	40.685	5530
+-89.6628	36.3786	8054
+-116.4182	30.7764	7396
+-123.0896	48.6192	7779
+-89.3335	40.3539	7358
+-83.9303	30.9403	5766
+-88.7289	41.476	5987
+-88.7528	38.6647	8694
+-118.2728	32.2053	8144
+-122.1235	46.526	8625
+-90.2955	37.6116	8194
+-124.5831	45.6823	7280
+-110.145	30.7092	8505
+-118.4733	49.6492	5496
+-91.4841	35.9295	6161
+-118.9451	32.6468	7538
+-116.2884	38.2462	4926
+-87.5649	36.3244	7793
+-84.7513	39.4757	4871
+-120.6802	46.4541	7103
+-83.8486	27.7408	7952
+-83.7209	30.9147	5904
+-115.9195	31.2577	7658
+-111.2798	31.9166	8386
+-114.4084	46.0048	5155
+-117.0737	47.3362	7429
+-83.2484	26.3193	7825
+-119.0782	43.7433	6626
+-89.3825	37.6853	9123
+-115.0076	35.1369	6841
+-81.3935	28.0595	8992
+-91.8301	38.4794	7838
+-90.3545	34.8691	6205
+-110.8847	31.7582	8847
+-116.7102	47.3328	7144
+-89.2005	41.428	6269
+-121.809	45.8547	7895
+-83.9062	29.1672	7336
+-90.4578	37.5352	8113
+-118.9449	35.2496	7339
+-111.443	34.0479	6545
+-87.4579	39.3574	7415
+-86.7079	34.4706	5548
+-111.7249	34.8063	5670
+-117.651	45.0012	7918
+-109.2357	30.3969	7722
+-123.0414	45.2379	7701
+-114.5225	46.964	5174
+-116.4025	33.7553	8509
+-124.2778	47.7994	7837
+-117.5719	45.3785	8187
+-117.2647	34.8863	8716
+-106.2598	28.8964	4186
+-90.2846	37.7662	8359
+-77.9298	26.0169	4741
+-117.5492	43.7624	6666
+-83.2399	26.7843	8218
+-117.6187	32.6532	9003
+-83.564	26.2803	7558
+-89.8466	37.2747	8526
+-117.9032	44.4806	7499
+-88.3345	37.6765	9330
+-108.9343	29.1755	6456
+-126.2978	45.7446	5639
+-89.8846	37.4625	8540
+-111.5425	30.8567	7945
+-118.0335	34.4486	8633
+-91.2942	39.8984	7844
+-127.1848	46.0787	4799
+-87.8324	39.3481	7655
+-118.4348	30.8236	6992
+-91.0511	36.2591	6645
+-112.9619	32.0305	6585
+-91.0559	36.9356	7339
+-116.7523	47.1275	7308
+-81.0662	30.0644	7026
+-109.0331	31.6276	8064
+-90.53	40.1082	7952
+-80.6579	24.8054	6149
+-123.0432	46.3579	8919
+-120.4617	46.0423	6953
+-90.0218	40.502	7496
+-92.1113	36.8169	6630
+-114.7181	32.7153	7242
+-122.15	46.7899	8760
+-122.4768	48.2018	8172
+-121.4242	48.7043	7102
+-116.7252	33.7883	8838
+-117.1819	44.8341	7483
+-108.8715	30.8583	7706
+-115.603	41.1972	3343
+-123.515	43.7066	5961
+-125.7445	46.9421	6481
+-89.8553	38.6656	8848
+-90.2076	39.7269	8355
+-118.0467	32.9191	8543
+-91.136	40.1691	7693
+-121.3008	43.2572	5168
+-107.4082	31.084	6258
+-107.3871	29.6471	5654
+-125.5318	43.2772	4627
+-92.1744	40.1529	6972
+-120.8583	44.9928	6292
+-124.1798	48.4171	7481
+-78.9084	26.4865	5967
+-81.3589	26.2613	7977
+-117.3987	37.7553	5584
+-108.3498	32.8001	6952
+-112.4615	30.0591	6637
+-80.3747	29.655	6973
+-80.0345	26.0536	6827
+-83.2875	24.9045	6401
+-91.5962	40.2189	7371
+-110.0494	33.3166	7571
+-117.8315	48.1905	6995
+-126.8584	47.3221	5240
+-86.2278	35.6452	6173
+-90.5191	35.346	6551
+-117.0445	33.0581	9470
+-88.7168	33.1304	4723
+-85.4986	38.9222	5885
+-114.2229	32.5882	6682
+-121.0288	32.4625	5205
+-109.9156	34.1123	6696
+-89.4783	34.3543	6013
+-117.712	32.6917	8910
+-123.7002	43.4837	5680
+-84.3024	24.3376	5302
+-118.1711	33.0116	8392
+-115.6947	31.8328	7959
+-116.1542	33.6877	8424
+-110.7955	32.7641	8100
+-114.2466	31.7834	6507
+-91.7192	36.2328	6353
+-114.4079	34.4258	6403
+-89.7101	38.2907	8546
+-118.2593	33.1017	8276
+-91.6837	37.213	7254
+-119.1817	33.9061	7434
+-89.2096	36.9179	8839
+-119.1118	45.7503	8308
+-118.1915	45.6724	8797
+-109.0192	30.1418	7360
+-88.425	36.1178	8035
+-121.4605	45.5154	7360
+-120.4121	46.361	6989
+-120.5502	43.5393	5639
+-109.7772	33.3961	7419
+-111.7142	30.1931	7351
+-119.7408	36.1908	6028
+-81.066	27.5021	8648
+-106.2097	30.7901	4924
+-90.0272	36.4084	7816
+-116.6029	44.0726	6472
+-119.4304	46.3596	8015
+-123.5201	46.0001	8345
+-108.355	30.0783	6780
+-89.3924	38.8563	8350
+-89.2464	40.2876	7363
+-89.5214	37.3662	8903
+-123.1618	46.4622	8982
+-116.5756	32.5099	9199
+-86.2868	35.5286	6140
+-91.7884	38.9641	7892
+-121.3668	47.4568	7838
+-118.3954	32.6864	8153
+-123.2478	44.3347	6690
+-122.9416	49.7712	6525
+-91.1391	42.0771	5747
+-124.4882	46.6132	7819
+-95.6147	42.8165	2283
+-93.629	42.0196	4459
+-82.90	28.5422	8659
+-117.9691	34.7927	8487
+-115.9247	32.6719	8580
+-90.8691	36.1979	6937
+-89.5921	35.0764	6764
+-85.944	36.1677	6228
+-82.1414	25.4842	7310
+-115.8622	48.3668	5748
+-119.4429	45.4434	7849
+-118.6812	41.8801	4771
+-90.2709	41.0932	6896
+-109.664	31.9501	8647
+-116.2669	43.3676	5664
+-91.4166	38.411	8252
+-87.3929	39.2782	7438
+-124.7791	47.5331	7450
+-91.3441	38.2554	8260
+-112.1082	33.4894	6652
+-90.0533	36.1681	7599
+-116.2734	48.5689	5889
+-81.77	27.998	9405
+-91.9358	34.1049	4464
+-82.7477	29.2679	8057
+-82.7183	25.8951	7674
+-82.3955	27.7659	9596
+-118.4918	31.9966	7821
+-118.6058	35.5622	7402
+-88.4045	39.5191	7696
+-82.5996	27.8044	9363
+-118.3497	49.073	6111
+-78.696	25.5199	5247
+-82.1218	28.1553	9452
+-109.8581	32.5662	8291
+-114.6303	33.7931	6928
+-117.038	36.0398	7443
+-111.8164	31.8249	7846
+-118.4212	29.4432	5655
+-116.0323	47.2216	6597
+-125.65	48.7737	5991
+-116.3715	47.0259	7011
+-80.2707	29.5264	6993
+-89.5065	40.8842	6937
+-110.9569	32.0329	8641
+-83.9698	29.189	7264
+-108.7786	30.5012	7421
+-124.9007	45.8388	7083
+-118.4279	33.109	8091
+-120.9112	47.1249	7414
+-123.9896	48.2437	7762
+-113.7201	45.0187	4294
+-113.9781	46.2403	4699
+-87.3658	34.571	6002
+-86.8619	40.0587	6382
+-83.1233	27.0943	8539
+-89.8522	40.2784	7680
+-120.9166	45.0441	6571
+-114.811	31.3605	6851
+-84.9317	39.3725	5103
+-91.8533	40.7978	6707
+-122.7873	46.572	9155
+-92.082	41.273	6146
+-121.8894	47.4635	8369
+-91.6932	39.1134	7959
+-81.76	29.1864	8232
+-119.4111	32.2767	6961
+-118.2954	43.7632	6786
+-111.5865	28.8049	6171
+-117.8941	46.6682	8531
+-76.3156	29.5052	3023
+-123.8406	46.0795	8186
+-124.0095	47.1038	8378
+-87.6957	39.8562	7078
+-88.8722	42.9954	4567
+-89.9065	35.2934	6860
+-120.2026	47.37	6823
+-119.3387	49.6889	5299
+-92.3585	38.1135	7188
+-82.7481	27.7239	9195
+-86.2096	36.1883	6500
+-92.4772	39.6895	6951
+-113.9519	36.1443	5309
+-90.368	37.0273	7567
+-82.8847	26.3095	8038
+-118.6636	49.1403	6015
+-118.5801	48.0926	7127
+-112.962	33.1786	6142
+-124.9109	48.9194	6527
+-107.7101	30.7914	6505
+-112.8097	35.5674	4431
+-78.035	29.5255	4847
+-116.4039	34.2506	8588
+-83.789	31.5522	5218
+-114.4868	36.2525	5725
+-114.8622	44.1365	5083
+-116.7029	44.9754	7206
+-118.8725	37.0656	5891
+-89.0869	35.307	7143
+-116.1747	36.4148	6779
+-88.1285	33.8878	5514
+-120.3969	44.574	6500
+-119.253	32.1749	7104
+-119.8319	48.7421	6017
+-116.8176	44.003	6551
+-88.0604	37.8622	8992
+-93.4615	37.0181	5617
+-124.2488	46.9979	8124
+-92.0566	40.4877	6824
+-89.4075	33.0969	4636
+-110.4684	32.042	8955
+-115.7687	33.3392	8295
+-113.3231	29.9947	5805
+-94.9847	40.6731	4049
+-89.9605	37.8815	8383
+-117.8002	36.1243	7289
+-108.5013	28.9886	6032
+-108.5681	33.5528	6608
+-86.4025	37.5725	7159
+-107.8617	29.5553	6010
+-90.412	39.1405	9002
+-118.9395	32.1295	7423
+-121.1629	46.2182	7528
+-114.9315	28.2627	4189
+-85.614	34.1296	4497
+-119.988	34.1135	6569
+-88.0786	36.6551	8442
+-108.4923	31.7926	7466
+-86.3297	26.9773	5062
+-106.1164	30.6635	4797
+-118.1907	43.5443	6552
+-84.3584	28.5769	7213
+-85.7723	31.3066	4149
+-122.1455	47.4757	8606
+-80.1186	27.1653	7514
+-110.3979	31.7132	9316
+-117.2026	36.7075	6729
+-119.8494	46.8085	7440
+-120.1442	48.9023	5698
+-116.4463	46.8918	7142
+-120.464	43.6225	5765
+-84.6632	30.2399	5890
+-113.5583	46.9919	4168
+-109.0524	31.6666	8083
+-116.7405	31.5204	8285
+-87.8858	35.6972	7394
+-121.8538	45.4769	7606
+-115.9772	31.6526	8049
+-83.4732	27.9509	8362
+-93.4325	38.5552	6131
+-112.4114	33.7929	6187
+-119.418	38.2576	4464
+-124.8942	45.8424	7091
+-113.933	30.0503	5234
+-114.7903	31.5508	6945
+-121.0599	32.5676	5179
+-91.2289	38.3554	8419
+-116.0871	33.9473	8235
+-88.3986	32.3205	3800
+-119.6271	34.143	6963
+-112.1956	34.3659	5846
+-88.4298	35.6326	7502
+-116.2833	32.965	8973
+-116.1614	45.7564	6984
+-87.9381	39.4305	7627
+-111.2139	29.2096	6730
+-118.8892	45.3944	8276
+-116.9865	32.5484	9453
+-114.6196	31.3212	6649
+-120.8232	46.5473	7278
+-88.1243	38.6463	8500
+-109.0783	32.7872	7589
+-84.5382	27.2756	7116
+-82.8407	28.2484	8924
+-119.9252	35.3865	6332
+-87.1054	38.7194	7607
+-124.6527	46.4049	7584
+-85.5654	42.0328	3737
+-83.1203	26.9506	8444
+-79.2906	29.5199	6114
+-120.5496	34.1816	5956
+-121.5527	45.6261	7518
+-118.833	46.5666	8497
+-117.9743	34.0293	8758
+-112.8608	32.8263	6422
+-123.9217	46.1819	8191
+-114.2115	33.5497	6573
+-92.9687	38.5571	6630
+-89.5261	41.1057	6722
+-82.2776	26.8239	8814
+-116.8179	31.9832	8809
+-81.7227	28.1392	9265
+-91.5618	38.6414	8149
+-91.2411	42.2482	5542
+-116.178	33.4701	8610
+-90.1225	42.2847	5604
+-118.7977	35.399	7371
+-112.7441	29.0038	5648
+-119.3745	43.8299	6593
+-119.4876	45.5529	7860
+-90.3782	40.9938	7006
+-88.1807	35.8457	7669
+-119.3092	46.7992	7946
+-87.0307	40.055	6500
+-89.5694	35.1381	6838
+-108.3136	31.8066	7272
+-118.4694	38.0732	5044
+-108.5239	32.1626	7415
+-115.9612	31.9301	8258
+-115.3945	30.1026	6254
+-84.9356	26.7713	6528
+-118.2582	34.398	8418
+-123.3945	46.4391	8812
+-115.0273	34.8162	6984
+-116.3361	32.1657	8742
+-125.1008	43.0245	4646
+-112.0095	29.3592	6456
+-90.7339	36.0721	6973
+-116.675	33.7801	8786
+-91.4579	40.582	7135
+-116.3457	32.5623	9004
+-120.5799	32.3909	5695
+-86.8414	38.8111	7301
+-91.5373	37.7895	7806
+-91.6234	39.5306	7845
+-89.5965	33.6734	5238
+-108.5887	32.5782	7298
+-121.4748	46.9996	8040
+-80.2618	25.1285	6233
+-108.1282	29.8209	6415
+-111.5372	33.7077	6828
+-117.0202	35.0789	8472
+-83.3505	26.9187	8214
+-87.2611	34.5579	5938
+-123.9304	45.9322	8002
+-90.4609	35.1884	6446
+-116.9291	47.0821	7489
+-116.4123	33.6598	8472
+-112.2986	29.6142	6459
+-118.4624	36.566	6581
+-88.1677	38.7469	8428
+-89.8603	39.6286	8322
+-86.2688	32.4059	3279
+-89.6785	40.0959	7787
+-116.2515	49.8806	4715
+-112.1873	31.3799	7453
+-114.7956	33.7822	7103
+-89.6676	39.6432	8191
+-121.2842	42.9953	4896
+-120.6122	32.7163	5575
+-124.5555	46.6012	7744
+-125.0089	46.7321	7275
+-123.7637	45.6556	7881
+-108.0814	32.8312	6684
+-119.647	45.6413	7737
+-122.4017	48.4539	7883
+-80.1061	27.0034	7442
+-111.7641	30.0617	7211
+-119.2209	46.4802	8189
+-121.9259	47.0626	8531
+-114.4048	36.3258	5605
+-79.4597	28.3978	6784
+-121.2798	31.6421	4767
+-83.3859	27.6154	8465
+-84.3882	30.6712	5732
+-124.9784	44.6575	6193
+-121.4971	34.6242	4892
+-121.3569	44.62	6521
+-117.2569	34.8341	8773
+-119.5365	29.8669	5389
+-118.8733	47.5195	7632
+-79.0786	27.0825	6351
+-111.7448	29.7678	6982
+-119.4089	43.9255	6667
+-108.7469	33.3305	6917
+-111.8635	33.4872	6827
+-115.3617	49.2971	4674
+-107.9169	27.8579	4663
+-83.8204	26.4687	7484
+-82.4862	27.2282	9164
+-115.9335	32.0437	8314
+-80.6269	28.2078	8117
+-82.4075	26.3466	8256
+-91.3269	39.4058	8186
+-113.9018	33.2891	6294
+-115.6057	29.7991	6061
+-93.8271	43.7236	2904
+-80.0891	25.4975	6437
+-115.8753	31.9576	8204
+-120.9985	35.3896	5243
+-82.4258	27.0263	8992
+-87.6839	39.7592	7170
+-88.8611	38.684	8667
+-109.9274	34.4952	6288
+-119.8445	44.688	7031
+-93.3959	37.1175	5731
+-124.3866	42.138	4056
+-110.5656	32.0272	8931
+-113.6141	36.1866	4967
+-120.544	34.4113	5950
+-90.8388	39.2877	8665
+-119.6984	46.7445	7614
+-127.1169	48.8508	4532
+-121.3011	43.8013	5710
+-118.0241	33.438	8416
+-90.5802	37.7461	8322
+-82.663	26.734	8580
+-120.1947	33.0691	6139
+-82.508	26.8429	8765
+-116.1554	35.6769	7463
+-83.3775	26.3183	7732
+-83.734	24.331	5604
+-80.8338	29.1054	7782
+-119.4627	31.1735	6420
+-120.8574	45.2003	6639
+-87.5124	37.4087	8378
+-118.7526	33.4424	7750
+-88.9717	40.3248	7145
+-116.5227	44.0461	6395
+-88.8057	38.0622	9368
+-85.9962	37.3357	6683
+-80.5372	26.9332	7855
+-117.8125	34.1292	8942
+-82.0934	25.6216	7465
+-120.3006	48.8608	6073
+-113.4308	31.9822	6090
+-117.5718	32.9874	9051
+-118.7715	34.6542	7801
+-120.9709	45.9473	7209
+-91.2964	37.4315	7696
+-117.8855	45.0849	8106
+-122.903	41.9398	4084
+-117.2416	31.6067	8369
+-83.0609	28.6719	8426
+-109.9253	31.9387	8887
+-115.7933	31.6805	7931
+-88.8478	38.9517	8369
+-116.3843	33.4538	8790
+-117.0314	36.2807	7181
+-88.8677	39.2874	7691
+-117.2148	32.8782	9468
+-87.6232	36.2165	7743
+-123.824	47.1372	8574
+-89.2364	41.0813	6624
+-120.7423	49.0731	6293
+-112.6733	32.00	6898
+-123.7685	48.2452	7908
+-80.7378	26.3765	7664
+-117.4279	33.6338	8965
+-116.7277	44.2805	6725
+-119.0294	35.5855	7046
+-80.3203	31.1917	5508
+-108.905	34.9295	5532
+-117.6728	44.9886	7918
+-89.7075	39.4643	8364
+-92.3485	33.9381	4012
+-111.7999	28.3271	5604
+-120.1738	35.683	5944
+-115.4239	32.5486	8006
+-118.4267	32.3961	8058
+-88.6556	35.3436	7205
+-85.4063	36.4322	5797
+-119.878	30.8473	5832
+-115.2347	32.583	7804
+-109.6729	35.5019	5168
+-109.1282	29.9934	7312
+-125.4213	49.6995	5521
+-88.7637	37.9891	9452
+-114.2005	32.3732	6628
+-122.8068	44.567	6968
+-108.6037	31.7889	7586
+-87.5685	38.5138	8168
+-126.719	43.0224	3575
+-116.8979	31.3463	8111
+-118.1823	32.1405	8201
+-110.0479	32.7882	8132
+-112.7116	32.4366	6736
+-117.2276	35.0155	8575
+-88.452	42.9763	4416
+-82.7449	25.6241	7372
+-81.7317	26.6394	8539
+-116.9226	33.8351	9041
+-118.4948	48.0817	7150
+-87.9295	37.6761	8875
+-93.9158	38.5277	5609
+-105.812	29.3671	4018
+-88.6121	37.5943	9624
+-120.213	46.3548	7199
+-109.268	31.2038	8248
+-108.6816	31.1708	7629
+-121.0914	46.8524	7615
+-116.7292	44.2364	6691
+-122.9918	46.3294	8899
+-123.0141	45.6505	8155
+-111.3048	32.392	8104
+-83.0137	31.5765	5468
+-117.9109	36.2528	7121
+-117.599	34.0462	9163
+-86.5119	38.2261	7207
+-81.1088	27.9966	8704
+-114.5401	31.9225	6868
+-86.8886	37.97	7680
+-118.4217	47.8054	7448
+-80.5298	27.9347	8068
+-109.8271	32.5294	8311
+-116.8299	32.8673	9590
+-118.4445	48.1316	7102
+-80.9654	26.3775	7839
+-118.3634	44.4525	7514
+-110.615	27.9331	5507
+-84.8584	28.2457	6762
+-113.8077	34.0244	5981
+-90.7624	40.9657	7001
+-87.7814	38.0772	8617
+-81.0128	28.9213	8072
+-116.9716	34.0354	9199
+-116.4076	33.7145	8495
+-118.8566	34.1258	7803
+-81.5722	29.6973	7618
+-120.8205	35.04	5537
+-118.053	33.9378	8654
+-107.3742	30.9128	6186
+-119.5143	46.7713	7776
+-90.5699	35.4585	6615
+-117.329	32.2239	8978
+-118.6719	29.9599	6042
+-122.215	44.0791	6346
+-109.8652	33.3658	7477
+-87.969	39.2663	7808
+-117.6524	34.4954	8961
+-89.9152	38.0384	8506
+-118.9618	49.9652	5104
+-83.6089	30.9247	5949
+-119.4608	48.509	6421
+-113.3181	27.7033	4170
+-119.3783	31.7453	6809
+-117.8243	46.2141	8760
+-125.8192	47.983	6210
+-93.5287	39.4794	5944
+-115.9069	47.2722	6454
+-107.8328	33.8971	5782
+-90.9271	38.6589	8830
+-120.5497	47.5247	6952
+-88.3146	37.2567	9131
+-81.4419	26.252	8009
+-116.7222	32.4067	9221
+-89.253	37.6192	9267
+-124.8314	47.3153	7450
+-79.463	29.7743	6113
+-116.9309	33.6278	8876
+-107.8564	33.9422	5768
+-109.8997	31.7883	8954
+-119.8763	30.5474	5637
+-90.1522	37.5113	8066
+-91.0315	44.5535	3130
+-119.2921	33.3175	7156
+-89.9659	40.736	7237
+-90.9346	39.3074	8579
+-90.8733	37.5714	8049
+-121.3078	44.3318	6224
+-114.0153	35.7931	5556
+-89.4626	39.0642	8376
+-118.6841	35.1048	7663
+-89.651	43.3965	4354
+-88.3236	40.3655	6603
+-89.4955	37.2057	8847
+-118.3938	33.4226	8084
+-91.0063	39.2184	8584
+-123.9974	43.5097	5622
+-113.4961	33.7688	5739
+-79.4857	27.2007	6829
+-120.3639	46.7062	6965
+-117.8204	35.2418	8186
+-91.8409	36.1686	6229
+-115.7677	45.6216	6549
+-95.956	38.5824	3415
+-108.0344	30.924	6882
+-110.2713	31.1157	8962
+-91.6712	39.5386	7797
+-111.197	30.3319	7826
+-81.0056	28.4447	8404
+-83.4171	28.3234	8309
+-82.0135	29.3736	8069
+-77.5508	28.2443	4680
+-110.7048	32.4991	8403
+-86.5127	26.7992	4818
+-110.2309	30.2787	8056
+-81.4995	26.5077	8298
+-118.1266	33.2859	8221
+-118.08	34.7824	8403
+-114.174	30.5938	5772
+-108.8956	33.998	6429
+-85.2486	26.7581	6188
+-94.6302	40.3017	4551
+-84.1548	28.7687	7340
+-109.1244	33.6221	6905
+-84.5338	24.0069	4846
+-116.9676	35.4597	8055
+-125.1756	48.1438	6791
+-118.5362	47.1621	8104
+-86.1105	38.9266	6515
+-109.0431	30.5435	7678
+-115.5972	33.059	8202
+-111.2905	33.6825	6974
+-92.0254	39.4619	7495
+-115.6906	44.6177	6098
+-87.1393	36.5456	7597
+-118.9865	33.6487	7589
+-119.8389	48.2441	6455
+-112.6229	33.8577	5977
+-117.4512	35.9832	7510
+-90.0118	39.0624	8901
+-93.7699	36.5811	5090
+-125.4148	46.128	6694
+-86.3553	37.9602	7088
+-115.0207	32.267	7498
+-87.9725	39.211	7865
+-117.8859	33.968	8839
+-117.2657	35.971	7533
+-91.7026	38.2655	7910
+-81.3878	26.3872	8119
+-91.7366	37.5631	7484
+-117.4863	33.4593	8765
+-122.8764	49.1749	7180
+-114.231	31.8428	6514
+-117.6921	41.5472	4398
+-88.6529	35.371	7236
+-118.7795	33.9007	7868
+-119.0041	45.4399	8225
+-119.7516	46.8118	7532
+-124.5597	45.2422	6977
+-89.7278	39.364	8456
+-119.2321	32.7987	7226
+-88.4779	40.3996	6708
+-88.7099	40.2264	7019
+-119.6459	47.3167	7326
+-111.5547	28.7302	6111
+-87.5266	39.9575	6890
+-89.0402	36.5998	8580
+-81.9709	30.7097	6558
+-88.7922	41.268	6214
+-120.9519	45.7008	7054
+-90.7445	39.721	8308
+-109.6202	33.7006	7053
+-119.2418	43.5574	6383
+-91.6282	38.296	7996
+-119.7108	43.3756	6003
+-87.8285	39.7819	7217
+-109.4812	32.2782	8282
+-110.6258	30.8724	8641
+-124.5914	48.412	7162
+-117.3132	46.792	7999
+-85.1479	40.3125	4783
+-116.0252	32.9226	8696
+-81.5428	29.293	8041
+-118.6409	33.9123	8019
+-111.639	29.2631	6589
+-117.8881	33.1478	8661
+-115.6307	36.4882	6410
+-112.4223	31.8411	7193
+-113.03	27.2569	3950
+-88.5635	36.388	8363
+-89.8667	35.715	7301
+-77.2608	27.3465	4359
+-117.8911	45.8872	8788
+-122.7415	48.9515	7419
+-110.4177	32.2047	8794
+-92.3956	36.4172	6104
+-90.0642	35.9229	7376
+-90.8777	36.7417	7195
+-83.7095	26.3406	7488
+-116.6433	35.3479	8049
+-119.964	47.9875	6584
+-90.3392	38.4823	9132
+-125.4853	44.5831	5743
+-121.4335	47.8667	7716
+-87.4006	39.8838	6891
+-88.2928	34.8375	6596
+-107.7844	31.2093	6682
+-110.2951	30.8943	8726
+-111.6204	31.0373	7959
+-118.7757	45.8448	8673
+-87.3097	34.7586	6165
+-120.885	48.376	6905
+-119.0595	31.3441	6898
+-119.4024	30.5349	6030
+-119.5321	46.4369	7891
+-125.4282	47.1397	6822
+-89.7392	38.0595	8407
+-92.5893	37.5474	6716
+-85.1767	24.0555	4463
+-111.5352	29.9449	7272
+-119.8638	36.4659	5730
+-116.3184	46.5859	7117
+-89.9867	37.8888	8402
+-115.8907	31.8738	8157
+-121.2032	49.547	6213
+-87.079	33.8039	5084
+-89.2512	38.1058	9080
+-79.4095	30.384	5619
+-116.7544	33.6831	8794
+-110.183	31.2403	9068
+-118.6144	47.8551	7369
+-117.4431	35.5835	7944
+-113.3894	36.3752	4652
+-118.0583	34.4949	8588
+-119.5117	36.0394	6325
+-119.0544	32.1772	7317
+-120.4231	48.1068	6610
+-115.8352	35.1399	7629
+-119.7117	31.9033	6526
+-86.4878	27.6848	4965
+-111.5018	31.1629	8128
+-89.8253	37.912	8339
+-88.2925	37.6207	9280
+-118.2757	32.6678	8283
+-122.7799	48.8627	7519
+-117.5078	47.4173	7642
+-87.2752	39.7051	6979
+-119.2906	33.6666	7272
+-88.6916	38.9424	8380
+-108.9124	29.4372	6685
+-83.5639	29.3858	7448
+-89.4964	34.3856	6043
+-116.5359	42.5605	5080
+-118.6826	30.391	6439
+-123.1414	46.4527	8982
+-115.7615	43.6189	5514
+-89.7726	40.3413	7587
+-89.1168	36.0483	7957
+-116.4958	32.25	8931
+-117.9294	45.5775	8592
+-122.099	46.0976	8308
+-82.5855	24.8452	6548
+-113.5651	31.6542	5971
+-108.4799	28.947	5982
+-114.5021	33.8455	6774
+-91.0652	36.6605	7055
+-92.6195	39.7388	6789
+-117.4927	34.7427	8829
+-123.3294	46.0334	8478
+-115.3743	27.4512	3510
+-107.3795	29.4416	5520
+-85.5879	26.7922	5832
+-89.4266	36.543	8353
+-88.1669	40.1281	6971
+-116.0046	43.9068	5911
+-118.0389	36.5796	6740
+-124.3187	46.5581	7984
+-91.1157	41.4481	6411
+-86.4844	39.7115	6375
+-82.4635	24.1878	5826
+-116.8974	43.9959	6592
+-88.0137	38.2654	8735
+-117.3063	30.3983	7029
+-82.6328	27.7137	9324
+-121.8261	45.6572	7746
+-89.9382	37.8877	8378
+-122.5595	49.8376	6430
+-108.9463	33.9427	6508
+-120.435	48.0856	6632
+-107.5963	28.9504	5359
+-109.6562	26.9605	4412
+-121.6463	46.5585	8158
+-90.1043	36.8033	8028
+-85.4556	37.8917	6090
+-93.1091	36.3736	5527
+-120.5765	35.6994	5544
+-118.6037	45.454	8497
+-81.3765	27.3403	8910
+-81.0732	27.9406	8677
+-115.295	34.9788	7198
+-118.7534	32.9215	7756
+-109.2803	33.9928	6625
+-116.5869	30.7946	7458
+-85.0458	28.1844	6564
+-120.4174	49.856	5421
+-122.5194	45.1709	7590
+-86.3011	42.4204	3803
+-116.7375	35.35	8091
+-91.9832	36.915	6800
+-119.2881	36.5269	6120
+-82.2611	25.7064	7557
+-116.705	32.8482	9459
+-115.5328	44.6263	5956
+-115.1661	34.4433	7222
+-87.9326	36.9491	8581
+-109.1701	32.394	7937
+-117.9048	33.5854	8620
+-90.35	43.4873	4318
+-116.3413	33.841	8479
+-112.8565	32.3126	6628
+-110.4915	29.3607	7059
+-122.3179	43.136	5349
+-109.4152	31.1241	8361
+-119.6511	32.6131	6750
+-117.6151	45.0506	7943
+-85.3775	32.2762	3607
+-82.0136	32.4775	4561
+-123.8909	48.3421	7744
+-90.2247	39.5614	8533
+-89.4389	37.5336	9046
+-110.7032	29.8069	7508
+-110.8852	30.3837	8043
+-86.7086	41.1931	5231
+-117.3467	45.7348	8196
+-92.4913	38.1663	7067
+-90.1075	39.2353	8823
+-114.8695	32.1009	7281
+-116.1836	35.9709	7211
+-91.7875	37.9275	7670
+-117.0011	32.5315	9432
+-115.1167	44.5836	5542
+-119.0675	33.0626	7252
+-81.2341	27.3747	8783
+-120.0594	35.1655	6290
+-110.4126	29.3033	7002
+-118.9054	49.309	5799
+-121.3683	36.0618	4594
+-121.2664	49.2636	6510
+-122.3927	46.8175	9025
+-115.8242	46.2179	6653
+-116.2043	33.0961	8847
+-83.7183	26.8315	7810
+-116.1321	33.7108	8217
+-117.9592	44.73	7770
+-121.19	35.2055	5101
+-81.7297	27.8034	9434
+-110.4556	30.6261	8428
+-117.7454	32.4048	8770
+-119.4512	33.0566	6881
+-124.5503	47.2287	7770
+-87.0393	38.9499	7399
+-80.1279	27.7231	7623
+-88.5585	35.0676	6889
+-119.1525	35.8211	6777
+-84.6959	27.7375	6993
+-118.6231	34.8472	7866
+-83.0567	27.9519	8827
+-117.2247	34.6915	8927
+-83.0461	24.0924	5609
+-117.7699	32.5184	8797
+-114.1639	36.1213	5518
+-89.7465	36.3722	7993
+-118.5831	43.7318	6732
+-112.0984	31.6521	7560
+-91.8616	37.4295	7288
+-119.471	35.9391	6429
+-90.4508	39.8347	8253
+-108.8438	33.3766	6948
+-117.4805	30.2433	6826
+-118.2693	44.8144	7899
+-85.8798	30.4275	4693
+-89.4383	38.6545	8401
+-89.065	38.6673	8642
+-88.9178	37.0059	9055
+-82.7398	29.5093	7805
+-125.09	46.9133	7199
+-111.2167	30.929	8282
+-124.7114	46.6099	7578
+-86.0051	37.3944	6700
+-117.6662	34.1436	9102
+-123.8837	47.5475	8351
+-118.8953	36.3416	6545
+-118.8539	30.4752	6399
+-115.1233	32.7503	7695
+-118.1293	34.5414	8497
+-121.3142	48.3662	7282
+-109.6052	34.6799	6027
+-118.8806	33.6237	7692
+-108.5113	32.9534	7004
+-124.6664	43.067	4903
+-114.8151	32.1572	7243
+-81.2575	27.8676	8895
+-112.6638	30.471	6676
+-120.812	48.5602	6720
+-121.9738	48.3053	7818
+-79.6916	30.3093	5904
+-116.8053	36.4697	6940
+-117.1058	36.5591	6886
+-116.078	29.734	6174
+-78.4459	31.6429	3840
+-89.4722	39.0698	8384
+-116.4587	34.3282	8631
+-106.9957	30.9786	5799
+-124.1005	46.1264	7996
+-117.0474	33.912	9198
+-115.8276	31.4634	7780
+-111.9688	35.8404	4532
+-82.1206	26.7479	8740
+-111.5504	33.8773	6660
+-82.9011	31.775	5275
+-126.788	46.3975	5289
+-119.6801	34.0507	6904
+-120.923	33.2313	5430
+-120.758	33.5787	5682
+-90.6485	36.0652	7042
+-120.4379	35.0165	5947
+-116.5776	37.766	5505
+-78.8728	25.2481	5231
+-116.9246	33.3134	9197
+-80.9928	29.508	7537
+-114.0457	31.581	6215
+-119.5516	30.1733	5629
+-88.6703	35.7999	7718
+-114.7779	32.4995	7286
+-83.3226	26.4138	7855
+-127.156	43.8878	3835
+-90.2404	42.2436	5656
+-113.6144	34.4079	5543
+-117.3417	45.6438	8152
+-119.0003	34.2648	7641
+-86.4608	33.2711	4244
+-117.0347	31.2535	8008
+-89.3482	40.4125	7313
+-84.6549	28.0643	7020
+-79.4669	26.8649	6708
+-108.6959	33.4216	6806
+-114.9312	45.876	5702
+-117.5622	33.3095	8891
+-95.009	41.0045	3878
+-115.5302	46.5359	6308
+-116.1033	35.2362	7789
+-122.2561	45.1371	7475
+-93.8804	40.5149	5202
+-117.8244	34.4115	8858
+-87.3804	40.9868	5776
+-109.2887	28.6777	6128
+-79.914	26.2561	6855
+-117.9437	37.138	6178
+-88.0145	36.0775	7842
+-113.3143	32.936	5927
+-116.1802	45.4217	6920
+-120.1271	33.3181	6293
+-110.7339	30.2336	7948
+-116.9885	38.218	5072
+-116.0377	45.6621	6837
+-87.7327	38.7015	8173
+-116.6282	38.3481	4888
+-117.1751	34.4451	9183
+-90.0836	34.2943	5752
+-89.0847	38.2677	9051
+-117.2399	43.8807	6663
+-117.5386	47.8545	7242
+-88.7297	33.6945	5357
+-107.8089	34.4375	5345
+-110.248	34.6101	6193
+-119.1193	30.9002	6538
+-117.9399	30.8717	7327
+-111.6211	34.9079	5611
+-90.7271	36.4266	7212
+-116.1537	33.8469	8284
+-113.9922	30.7942	5741
+-118.8499	31.245	7017
+-121.2043	46.6394	7709
+-114.4571	35.0152	6326
+-85.7813	28.1312	5745
+-114.192	35.3345	5937
+-114.628	36.5499	5635
+-121.2741	32.7319	4907
+-81.9781	27.2081	9237
+-84.6521	37.2564	5174
+-115.7917	33.4403	8269
+-120.6205	46.6421	7077
+-117.5359	31.0332	7665
+-122.7015	48.4472	7965
+-89.1654	37.6827	9367
+-110.5225	30.0332	7782
+-88.2349	37.5668	9208
+-124.5576	49.3736	6395
+-115.6071	37.3494	5590
+-89.1093	36.5057	8457
+-117.9291	46.2147	8866
+-82.4399	28.1298	9355
+-87.0175	35.4665	6661
+-106.9398	29.7627	5301
+-117.4331	33.4372	8757
+-91.1816	37.784	8074
+-123.8312	46.0811	8194
+-122.7565	44.6409	7046
+-89.405	35.7667	7566
+-121.5583	45.2527	7215
+-123.04	43.5181	5814
+-86.0739	39.7644	5983
+-108.037	31.3727	6975
+-89.0191	36.3402	8300
+-118.9759	34.0978	7673
+-89.7019	39.701	8163
+-89.8839	38.9708	8836
+-113.2037	32.3483	6255
+-120.5244	46.9029	6995
+-78.5157	26.9159	5688
+-117.1585	33.2651	9209
+-122.3873	45.6054	8008
+-116.2052	32.3781	8773
+-119.0517	46.4339	8373
+-120.3739	44.7765	6640
+-112.1078	32.8014	7142
+-112.2666	31.6223	7378
+-92.4812	38.6507	7161
+-118.656	34.5041	7969
+-105.7894	33.7401	4024
+-123.0967	45.5361	8020
+-115.8975	46.298	6725
+-88.2903	40.5715	6434
+-87.575	35.8546	7381
+-93.9062	39.2733	5586
+-115.2207	33.3068	7730
+-90.6896	39.463	8588
+-115.5417	32.429	8106
+-91.7042	39.9403	7508
+-81.9657	31.4651	5704
+-119.9875	44.1958	6554
+-113.445	34.1719	5544
+-119.6122	28.3921	4003
+-85.6989	36.3895	6085
+-120.6378	49.4489	5916
+-119.6813	32.4761	6701
+-84.4797	25.4007	6123
+-118.7967	47.7972	7383
+-118.4118	44.2788	7327
+-115.0951	33.3082	7595
+-123.498	47.9219	8368
+-79.902	31.5576	4916
+-121.1868	49.5059	6241
+-115.6087	33.4974	8059
+-89.6502	39.6932	8137
+-116.461	31.3203	7991
+-121.2819	33.1841	5037
+-82.1417	26.1516	8065
+-89.3286	40.4469	7271
+-89.0571	35.8684	7771
+-92.4368	39.9944	6836
+-119.6228	33.0375	6703
+-113.6941	34.0854	5838
+-111.8643	31.6694	7812
+-110.9432	32.89	7911
+-89.4258	37.3522	8996
+-118.5786	47.0844	8172
+-124.5568	48.3236	7253
+-82.6292	30.7722	6446
+-115.5262	35.3708	7208
+-114.888	35.0616	6753
+-119.9741	34.8893	6472
+-116.3217	45.3266	7027
+-111.0968	32.9099	7815
+-125.029	46.2779	7148
+-116.5551	45.80	7403
+-82.3831	26.6963	8649
+-89.7988	40.6692	7262
+-111.4762	31.2643	8188
+-121.0948	47.0866	7619
+-106.9129	30.5965	5617
+-89.0667	37.6088	9472
+-117.4179	46.711	8139
+-117.5172	31.0066	7643
+-90.4472	37.78	8377
+-109.5956	32.8179	7915
+-123.7351	48.9923	7199
+-87.1173	37.281	7914
+-82.0866	26.8048	8803
+-117.0139	29.8459	6439
+-91.9141	38.1285	7644
+-109.2747	30.6531	7947
+-115.7676	45.7499	6571
+-88.2337	35.5372	7352
+-116.7565	44.7831	7125
+-82.5255	28.4299	9021
+-117.1211	44.7801	7398
+-89.4196	38.4704	8343
+-116.7077	31.983	8779
+-119.428	47.6596	7212
+-110.8621	32.2035	8591
+-117.0866	42.2621	5003
+-91.8444	38.8842	7843
+-118.9724	49.3841	5707
+-116.2404	33.0309	8908
+-107.6057	27.9137	4520
+-118.4173	29.2969	5507
+-93.5116	38.6524	6051
+-89.2687	39.4408	8011
+-116.4961	43.7189	6107
+-90.4814	37.4249	7992
+-117.8232	45.1263	8120
+-119.0548	44.3242	7210
+-109.2364	31.7055	8278
+-110.6295	29.6314	7335
+-88.5087	35.6051	7484
+-118.948	45.8365	8503
+-117.9726	47.6605	7575
+-108.4378	33.1119	6835
+-91.7016	39.134	7944
+-84.1082	25.829	6762
+-87.7779	39.992	6978
+-107.9006	30.8925	6734
+-118.4239	31.2505	7367
+-120.7607	43.4018	5381
+-124.5766	46.4894	7691
+-113.4869	32.2253	5987
+-91.0387	37.1789	7590
+-121.2788	45.6364	7302
+-87.32	36.9217	7989
+-110.6799	33.0262	7866
+-121.7958	46.8882	8390
+-118.7123	30.6323	6634
+-113.772	31.7695	6003
+-87.4507	37.9912	8294
+-84.5509	29.0678	6786
+-120.1589	32.3789	6159
+-117.5705	30.3192	6887
+-118.7861	35.8436	7042
+-89.0977	37.8985	9361
+-117.1586	33.2708	9203
+-90.1544	39.0835	8988
+-114.4356	35.7622	5975
+-89.8497	37.7537	8595
+-90.2595	38.6196	9231
+-111.382	31.6471	8335
+-115.9245	32.167	8383
+-87.5613	37.1676	8351
+-119.9502	48.0475	6546
+-83.176	25.865	7439
+-120.9009	44.0043	5709
+-115.5653	43.7915	5484
+-118.5648	44.4557	7494
+-107.941	32.1679	6805
+-90.0753	39.4279	8622
+-117.7049	44.3076	7266
+-125.947	46.6147	6236
+-122.1016	48.2847	7913
+-93.0432	36.9256	5948
+-79.1914	30.3641	5452
+-126.1732	49.5286	5040
+-81.0017	29.3042	7733
+-80.2621	27.7196	7775
+-85.756	27.6943	5793
+-89.8748	39.4787	8467
+-81.4046	29.8458	7400
+-118.1162	29.8291	6182
+-89.4353	36.8944	8669
+-115.1983	30.8178	6776
+-124.4295	44.0868	6024
+-88.2138	36.8789	8735
+-89.9793	38.0334	8538
+-116.8224	33.8301	8951
+-88.9355	39.3305	7743
+-91.1869	39.8383	7966
+-115.7612	32.1682	8226
+-86.2188	36.1878	6509
+-115.8693	34.2297	8010
+-78.1427	30.1829	4614
+-119.4403	37.9396	4757
+-83.2803	28.7453	8187
+-115.5217	45.9352	6331
+-90.7309	38.6583	9037
+-83.1174	26.2835	7879
+-89.2023	39.9654	7598
+-111.4173	29.4663	6897
+-122.9497	43.7718	6096
+-118.1574	49.2483	5924
+-124.0926	45.6333	7641
+-90.2808	39.5939	8508
+-110.2093	33.4871	7406
+-118.0599	35.1651	8118
+-110.1914	31.8469	9149
+-121.6257	44.3962	6454
+-117.3223	35.5049	8040
+-109.0977	30.4098	7627
+-113.6733	28.186	4312
+-126.1518	44.6581	5225
+-104.784	29.9612	3210
+-88.1053	37.498	9049
+-87.0939	39.4242	7091
+-114.9851	38.2926	4363
+-86.8595	35.0682	6198
+-121.2419	48.8379	6859
+-119.843	31.5041	6226
+-87.4299	30.2334	3282
+-115.0655	31.6693	7276
+-115.2931	32.5134	7856
+-123.3773	47.5195	8804
+-121.3034	43.6507	5563
+-86.6058	37.5163	7384
+-117.3842	34.3683	9251
+-121.4799	49.0823	6807
+-109.7609	29.6794	7320
+-117.0439	33.765	9068
+-116.1221	33.8745	8258
+-81.3918	27.9917	9016
+-116.0648	42.3228	4621
+-91.8519	36.6273	6642
+-118.6987	45.8936	8769
+-117.9933	34.304	8724
+-118.0941	33.6972	8518
+-85.7485	28.1217	5783
+-122.3778	44.0604	6362
+-115.4601	46.9374	6142
+-111.5958	31.8233	8081
+-89.8209	37.0328	8435
+-120.7111	46.1931	7056
+-81.4519	27.1358	8842
+-122.8351	48.2396	8206
+-112.4884	32.1919	7047
+-88.7951	35.9505	7889
+-80.936	28.5863	8251
+-117.7463	37.3135	6030
+-119.5372	46.2058	7928
+-108.6184	31.9315	7578
+-112.4179	31.5865	7215
+-119.6096	47.1913	7442
+-119.1208	32.0571	7205
+-88.9019	38.773	8563
+-90.4956	38.5666	9193
+-117.7469	42.0383	4921
+-84.0154	40.4068	3658
+-116.9975	34.1803	9240
+-117.6334	49.9511	5124
+-91.3063	39.0596	8375
+-114.519	37.4278	4858
+-84.2172	30.4758	6026
+-80.5382	31.3981	5405
+-118.9844	47.6154	7492
+-87.6516	34.0519	5570
+-117.237	34.4027	9242
+-114.5858	35.395	6306
+-112.1324	31.2507	7491
+-119.0067	30.9403	6661
+-89.646	41.0907	6779
+-110.4276	31.0755	8914
+-124.4749	48.5618	7144
+-91.1343	35.2909	6051
+-109.8733	31.4627	8958
+-87.1928	38.4287	7852
+-109.9378	32.1696	8707
+-116.2999	36.2351	7014
+-114.7805	49.1678	4329
+-82.3458	25.7223	7567
+-90.2133	40.2504	7797
+-117.8312	46.0338	8777
+-77.8852	28.4547	5024
+-122.5676	49.3447	6968
+-91.27	40.7193	7097
+-90.4616	33.5745	4844
+-124.8138	46.8404	7499
+-120.585	47.5672	6979
+-123.6878	48.0124	8168
+-119.3359	32.7955	7110
+-122.1921	48.4698	7781
+-117.5908	45.805	8463
+-122.474	47.7732	8604
+-90.4033	35.3351	6618
+-117.8799	46.649	8539
+-107.6327	27.8804	4508
+-83.4363	26.9495	8152
+-114.01	32.3307	6411
+-125.8156	45.5456	6043
+-86.3388	37.219	7044
+-117.2301	32.718	9439
+-118.0146	45.3528	8420
+-124.8071	48.1117	7162
+-114.6528	38.1478	4312
+-110.9926	32.002	8627
+-81.504	28.9426	8383
+-110.0139	30.4839	8233
+-118.4432	36.0464	7088
+-109.4705	28.8787	6398
+-92.4467	36.2256	5910
+-90.8605	35.2842	6255
+-88.2514	36.752	8637
+-118.5931	46.0769	8932
+-117.8398	34.5073	8791
+-89.2094	35.8274	7692
+-115.9771	46.5755	6767
+-122.8614	47.9447	8531
+-80.0661	28.2332	7495
+-88.731	38.5832	8785
+-84.0921	25.1862	6227
+-110.3147	29.5964	7321
+-110.0628	30.4863	8249
+-116.8102	33.1122	9380
+-117.8912	45.9045	8797
+-90.9014	41.7177	6177
+-91.9742	37.2726	7084
+-92.7755	38.4318	6823
+-109.6203	31.1542	8572
+-77.4109	29.4278	4229
+-125.8833	45.1542	5771
+-117.5699	33.8317	9071
+-80.9922	28.2386	8495
+-115.799	36.4522	6544
+-121.1283	42.9673	4779
+-91.8658	37.8704	7566
+-121.5225	47.5565	7960
+-111.1573	32.0559	8444
+-90.5385	41.6797	6262
+-120.4347	35.0017	5955
+-123.4599	47.4369	8803
+-90.1769	37.6229	8189
+-83.098	25.4335	7036
+-111.3028	29.48	6964
+-90.4815	37.8723	8472
+-118.8272	43.8101	6768
+-94.6388	38.9738	4831
+-111.8598	35.4452	4974
+-110.2277	33.7917	7078
+-87.5651	40.3099	6555
+-84.9749	27.2691	6629
+-119.0132	32.573	7454
+-116.2742	32.4467	8877
+-87.5048	38.467	8137
+-114.3664	32.7728	6852
+-88.5486	36.7605	8770
+-86.0179	36.1408	6287
+-109.2539	30.5145	7828
+-121.9385	46.4602	8412
+-115.3987	31.2835	7307
+-117.5992	31.0924	7704
+-119.3376	35.0369	7073
+-116.3659	30.5329	7119
+-119.1586	45.2101	7939
+-118.8427	33.8779	7796
+-89.8481	38.525	8799
+-118.1002	33.989	8615
+-83.1966	25.3929	6950
+-117.821	29.7629	6216
+-118.8506	31.9296	7430
+-117.5325	34.5979	8954
+-119.3312	46.1504	8149
+-90.5553	36.1097	7154
+-119.3678	47.0785	7714
+-120.9186	33.4989	5495
+-116.0127	37.9881	5116
+-79.0718	26.0731	5934
+-115.5964	47.0644	6237
+-122.2969	46.0368	8389
+-120.4937	34.2737	6014
+-116.2034	32.864	8900
+-87.8552	39.7348	7277
+-120.695	48.9375	6357
+-113.7928	34.2898	5745
+-88.6406	38.4738	8897
+-110.4714	34.4166	6400
+-85.6724	27.4061	5868
+-117.4914	31.7239	8401
+-92.8847	35.8294	5280
+-118.1118	32.1859	8295
+-87.7163	32.6268	4037
+-123.5313	44.4593	6766
+-89.8492	37.2948	8530
+-90.2663	37.3128	7870
+-117.0593	46.4364	7916
+-121.4577	33.945	4962
+-89.7223	41.9161	5938
+-122.1223	48.2898	7920
+-117.1269	35.6262	7902
+-118.9017	35.6631	7095
+-121.2479	47.7764	7585
+-121.2391	43.4283	5312
+-117.5176	35.1984	8344
+-91.4905	37.5181	7639
+-87.9866	32.9397	4438
+-116.8713	38.5445	4707
+-115.7231	30.946	7247
+-126.117	46.8154	6068
+-93.0622	41.3992	5363
+-91.2546	36.9718	7290
+-91.6227	43.4764	4158
+-92.578	35.2311	4954
+-114.9095	33.7853	7217
+-111.9527	28.2661	5474
+-120.0724	46.7184	7256
+-122.9681	43.8625	6195
+-121.0603	49.985	5723
+-118.2007	34.0957	8518
+-88.2848	38.0801	9102
+-86.9338	35.7476	6837
+-85.0365	28.0273	6595
+-120.4328	32.0416	5791
+-112.7269	35.2408	4738
+-123.9649	45.2514	7388
+-118.4416	43.7589	6776
+-106.5365	30.3847	5160
+-80.8488	29.774	7196
+-87.303	36.6019	7784
+-78.2376	24.9566	4458
+-115.1315	33.9063	7372
+-116.9251	43.3209	5985
+-117.3063	31.108	7810
+-114.8221	30.3843	6136
+-89.5016	35.8295	7595
+-81.1897	24.2855	5812
+-81.6115	25.6985	7479
+-80.4217	26.5221	7498
+-115.9847	45.1491	6626
+-118.9927	47.3559	7733
+-117.3726	34.0244	9372
+-111.3599	30.3499	7735
+-113.8695	32.3141	6253
+-119.3296	32.4748	7090
+-119.6117	36.1192	6186
+-118.295	34.2903	8403
+-116.999	45.3431	7682
+-115.3637	34.972	7269
+-112.1944	31.765	7448
+-117.574	44.8422	7731
+-90.0637	39.3572	8685
+-121.7023	44.8127	6899
+-112.593	29.6027	6218
+-120.0496	44.5291	6757
+-110.0721	38.6776	1782
+-82.8021	24.8097	6463
+-120.9738	48.5905	6838
+-122.3646	46.4784	8810
+-116.2836	32.6723	8974
+-114.5609	47.2611	5131
+-117.2362	34.9276	8671
+-87.3915	38.353	8090
+-118.512	41.4709	4352
+-116.0826	46.2341	6926
+-91.4468	39.207	8177
+-87.5209	36.7422	8074
+-109.6835	31.5108	8765
+-111.0113	32.3378	8375
+-111.7757	31.0776	7818
+-117.1907	34.6647	8952
+-117.321	30.8863	7564
+-108.8453	30.6391	7564
+-118.364	33.7519	8271
+-87.4636	38.5576	8043
+-116.0215	49.5142	4923
+-82.1368	27.0613	9094
+-92.3125	39.6187	7144
+-89.8187	35.4847	7097
+-117.536	34.5832	8966
+-89.2336	37.9616	9195
+-78.9457	25.6817	5583
+-90.1948	40.8355	7167
+-117.0399	35.8206	7681
+-119.3715	46.7259	7931
+-119.1502	30.943	6544
+-80.6283	30.1638	6690
+-118.3264	42.1571	5084
+-122.9223	47.6376	8869
+-86.3596	35.4907	6173
+-88.5979	37.2948	9357
+-87.5113	39.2618	7536
+-113.8481	28.6501	4514
+-116.1523	33.2444	8727
+-117.0689	32.4734	9353
+-91.1776	40.3629	7487
+-122.2005	47.7911	8418
+-110.0572	30.5452	8310
+-81.9368	26.5664	8516
+-116.4807	36.1741	7152
+-82.6263	28.5228	8871
+-122.4116	45.7093	8124
+-82.7935	27.4403	9059
+-121.147	49.3326	6371
+-117.701	49.3982	5713
+-85.5148	38.3534	6084
+-89.3406	40.2046	7495
+-81.4935	28.0494	9101
+-117.9796	30.9908	7424
+-117.8624	45.0535	8066
+-83.9084	27.6881	7882
+-88.1813	38.5356	8638
+-91.2617	40.068	7717
+-80.0807	30.4082	6108
+-122.1342	44.8772	7161
+-88.1301	39.2825	7865
+-113.9849	31.8991	6273
+-94.6709	40.5497	4412
+-116.035	36.4975	6630
+-82.4608	27.3769	9317
+-117.7412	36.0189	7417
+-88.907	34.6506	6427
+-108.6795	31.7828	7669
+-124.1669	44.7911	6840
+-116.3779	34.0461	8564
+-117.0831	33.6686	8993
+-90.0253	41.9586	5945
+-107.3136	30.8722	6112
+-89.8019	34.1489	5700
+-118.2993	32.85	8266
+-111.3218	32.4477	8051
+-119.3144	29.6877	5390
+-115.9763	33.4107	8465
+-113.0237	33.2125	6066
+-88.9421	36.9631	9002
+-116.2951	33.1813	8901
+-80.1597	28.6146	7462
+-87.4344	34.2788	5729
+-117.3436	33.5306	8875
+-120.2578	37.2692	4811
+-82.4338	26.5891	8518
+-118.1624	33.2678	8179
+-113.5051	36.1518	4881
+-113.2312	34.1829	5256
+-112.9456	31.8612	6627
+-89.1285	35.2427	7065
+-116.3699	33.5833	8669
+-88.5062	36.7077	8700
+-92.982	36.6952	5854
+-113.4845	29.8753	5590
+-86.0101	36.312	6368
+-83.7448	27.2541	7979
+-89.7458	39.848	8056
+-111.1067	29.3711	6934
+-112.5549	35.4512	4641
+-116.6804	37.2097	6122
+-116.3358	33.2108	8923
+-113.0782	30.3113	6196
+-115.7298	37.7131	5288
+-115.5848	32.9538	8204
+-81.8891	26.7888	8752
+-84.2504	28.8458	7204
+-117.9601	37.0935	6221
+-117.706	31.6899	8250
+-110.7844	32.4911	8375
+-109.7391	32.5431	8250
+-117.4658	31.7721	8462
+-120.2072	31.7976	5964
+-116.6058	35.0874	8272
+-123.5166	43.5711	5815
+-112.1793	34.5007	5733
+-90.5532	36.4487	7388
+-119.9797	47.9525	6600
+-81.5708	25.648	7413
+-116.9488	32.887	9672
+-114.1436	32.04	6487
+-82.3359	26.4817	8421
+-83.6433	27.4071	8136
+-121.2544	41.6483	3592
+-116.9387	44.0741	6685
+-116.622	35.0671	8300
+-89.5814	42.1699	5638
+-84.4082	30.12	6189
+-117.8877	49.7808	5340
+-90.145	40.34	7691
+-88.55	38.0943	9276
+-111.0566	33.0454	7706
+-87.5162	38.535	8106
+-118.3034	34.0599	8404
+-79.9803	27.5969	7449
+-96.0466	35.7996	2542
+-82.2972	31.3989	5779
+-92.7529	35.8843	5416
+-119.5639	45.6181	7811
+-124.7747	47.0253	7546
+-121.5252	45.4324	7343
+-116.7084	35.8846	7533
+-91.5309	40.4232	7238
+-87.6209	38.9181	7910
+-117.7525	44.552	7527
+-112.6599	32.2759	6843
+-123.5341	48.1923	8090
+-123.4841	43.6066	5859
+-118.3048	48.1974	7039
+-124.2025	49.1307	6831
+-91.9214	35.1691	5224
+-115.37	36.5047	6226
+-121.3624	43.0673	5001
+-90.866	34.8819	5901
+-110.2198	30.6837	8491
+-120.5232	48.0334	6744
+-116.6508	40.1661	2923
+-117.6158	27.9564	4284
+-89.9375	38.3472	8777
+-124.6122	49.2817	6443
+-89.4549	35.8432	7628
+-90.3678	36.6264	7672
+-85.449	30.1212	5292
+-119.9442	49.8371	4929
+-112.9484	36.8592	3967
+-119.0294	33.6874	7554
+-116.4199	46.8052	7150
+-117.6868	49.9019	5185
+-113.9024	32.9268	6333
+-86.6973	38.2794	7392
+-118.3166	30.6095	6867
+-118.0181	47.3506	7907
+-122.4803	46.6843	9050
+-88.1243	36.5428	8363
+-106.6717	29.8124	5067
+-82.8919	30.3654	6830
+-88.8296	39.7601	7427
+-117.5074	35.2181	8326
+-123.9904	46.4948	8301
+-118.6745	49.1667	5986
+-115.7567	34.7907	7742
+-114.1753	36.9499	4976
+-83.7463	27.5021	8043
+-84.0604	27.0289	7558
+-111.2617	34.338	6324
+-118.5599	31.0289	7082
+-115.1288	30.9031	6794
+-114.4555	31.9672	6796
+-118.1081	36.2514	7052
+-114.5507	33.7745	6854
+-118.5616	44.8578	7912
+-89.7138	40.3922	7513
+-88.1294	36.3578	8182
+-118.1593	44.1056	7144
+-78.4541	28.8206	5563
+-124.1622	43.7164	5776
+-116.2284	32.6911	8918
+-120.9475	48.8438	6631
+-89.5732	38.6147	8539
+-125.5846	41.7331	3144
+-90.6672	34.0581	5238
+-90.2281	37.3255	7880
+-125.6972	48.3379	6184
+-92.157	40.8755	6441
+-85.4399	28.3497	6094
+-89.6437	39.8338	8010
+-108.7772	31.6655	7785
+-86.1679	39.05	6510
+-90.3939	37.7298	8325
+-116.5989	32.8622	9340
+-118.7058	48.7935	6373
+-115.6385	44.8282	6152
+-108.8824	32.2753	7732
+-88.4784	39.104	8169
+-119.0341	47.388	7682
+-114.9789	32.4158	7491
+-108.6593	28.5917	5759
+-89.9802	39.7356	8277
+-86.8283	39.4047	6892
+-87.4358	38.1639	8220
+-84.0208	28.422	7632
+-124.4813	48.2823	7346
+-108.8055	32.2279	7677
+-115.71	48.6708	5408
+-86.8336	37.3593	7618
+-82.2437	25.7048	7556
+-80.8202	31.4274	5492
+-118.0307	49.4451	5708
+-87.5986	37.8009	8495
+-90.1766	43.9084	3860
+-92.3826	39.5204	7115
+-126.074	41.2376	2411
+-107.7794	30.2455	6350
+-82.5055	25.9358	7779
+-89.8837	39.013	8816
+-109.0573	30.2577	7480
+-118.3167	47.7448	7518
+-111.3187	30.6098	7973
+-111.4738	31.1781	8162
+-92.6611	37.3863	6563
+-123.922	45.8358	7932
+-81.111	28.6891	8335
+-107.2686	33.2334	5702
+-116.7253	35.0871	8342
+-124.9238	45.8542	7069
+-85.7766	41.0863	4716
+-83.078	25.6836	7305
+-119.8861	36.7407	5506
+-110.4042	32.0725	8938
+-118.4426	33.6407	8147
+-115.4006	45.5568	6154
+-123.8929	47.3462	8438
+-118.1531	31.3049	7609
+-83.0621	28.9201	8217
+-112.9289	34.9611	4858
+-121.2323	47.1431	7764
+-114.6746	35.3643	6408
+-81.0593	29.2401	7830
+-123.7368	43.7618	5967
+-114.2126	37.6462	4460
+-89.3667	37.244	8992
+-110.5082	33.9441	6909
+-113.9086	38.4559	3567
+-87.2141	37.6825	8072
+-115.3868	33.7735	7693
+-121.665	34.4161	4730
+-89.898	41.7913	6105
+-109.3211	30.6521	7983
+-116.3698	35.7479	7523
+-112.1308	29.1232	6172
+-116.4267	33.8048	8554
+-87.9507	37.233	8778
+-126.1069	49.1168	5364
+-81.2174	25.9815	7623
+-120.9814	33.891	5477
+-114.4401	43.6981	4461
+-119.0805	31.8574	7164
+-86.4955	37.121	7193
+-83.9126	24.6735	5855
+-90.447	40.6868	7336
+-119.5953	45.044	7477
+-120.3762	42.9725	5275
+-119.8798	47.277	7160
+-86.278	26.8543	5091
+-118.68	33.5486	7869
+-116.8177	46.9374	7473
+-113.1763	30.5781	6206
+-90.0375	38.6422	9034
+-92.1745	38.6562	7491
+-80.8714	30.6266	6356
+-117.5774	46.8789	8147
+-114.4812	33.9518	6705
+-118.5951	32.5645	7915
+-90.0956	32.7368	4084
+-122.947	47.8379	8648
+-113.5895	31.9829	5919
+-90.2693	38.1607	8777
+-121.3235	46.8604	7870
+-119.2568	31.3957	6747
+-91.8546	41.7983	5776
+-81.1122	30.6467	6435
+-87.8777	42.5468	4521
+-114.4923	39.0631	3367
+-118.6411	47.8269	7393
+-118.5531	43.1568	6130
+-90.0456	35.928	7393
+-123.4958	46.7711	8917
+-117.7097	33.0869	8871
+-91.1506	39.2492	8438
+-114.4522	31.7125	6690
+-91.4688	37.4988	7639
+-117.4375	43.6732	6539
+-117.209	44.5616	7273
+-116.907	32.7531	9656
+-110.111	33.5691	7309
+-120.3772	49.8588	5390
+-109.8582	31.7226	8937
+-87.8051	39.9188	7066
+-87.9921	36.9422	8625
+-87.6027	35.1964	6750
+-85.4427	37.4109	6073
+-113.2183	30.8186	6240
+-109.6794	33.4097	7372
+-115.8525	43.2712	5310
+-124.7055	47.3791	7571
+-113.1597	31.4639	6409
+-114.3056	33.4515	6702
+-117.3143	30.1783	6785
+-116.589	45.1509	7204
+-119.2135	37.2839	5498
+-120.4164	47.285	6676
+-89.3685	38.6078	8320
+-120.277	47.1731	6863
+-93.6936	39.8394	5668
+-110.22	31.5146	9330
+-117.874	31.1099	7597
+-80.4567	29.1863	7407
+-127.4974	46.7684	4551
+-111.0071	34.8885	5819
+-117.1369	34.538	9074
+-111.6279	31.4396	8062
+-91.8051	34.5895	4961
+-83.1375	28.1436	8679
+-117.9048	30.709	7180
+-117.0002	34.7836	8771
+-116.1896	34.2706	8354
+-87.5035	40.1859	6651
+-94.2064	39.1738	5278
+-92.5517	34.8729	4636
+-85.4932	27.4498	6074
+-117.0387	34.6872	8885
+-119.9696	49.3395	5393
+-117.5363	45.8877	8438
+-116.1924	32.8066	8889
+-118.211	30.4079	6729
+-117.1464	46.8917	7793
+-118.0315	34.3889	8658
+-89.013	40.7047	6851
+-90.1597	39.9718	8086
+-123.2225	47.0993	9223
+-114.4063	34.6161	6374
+-84.2754	27.767	7469
+-118.4345	32.1404	7950
+-114.6271	33.5465	7019
+-115.0843	32.8391	7653
+-89.8745	36.7594	8208
+-110.5827	33.2342	7665
+-121.7494	44.9261	7033
+-89.5408	37.9682	8882
+-91.6554	40.6557	6955
+-90.6713	36.4518	7280
+-117.4559	46.3269	8352
+-117.2258	34.5408	9091
+-118.3331	46.3376	9003
+-80.8964	26.6498	8007
+-121.709	48.6576	7334
+-86.8894	40.1127	6353
+-111.9452	30.643	7452
+-88.039	37.0386	8737
+-115.3656	48.2952	5394
+-125.7741	49.0316	5718
+-116.4603	44.8417	6915
+-121.6807	46.0561	7934
+-116.7636	33.1253	9341
+-88.9472	36.7581	8776
+-110.8144	34.2343	6554
+-88.7267	37.3628	9472
+-83.0576	28.8791	8256
+-118.2622	44.6048	7677
+-90.2548	34.644	6034
+-93.9975	37.4022	5267
+-122.6426	45.2037	7649
+-115.1875	32.8454	7768
+-105.8877	33.2078	4345
+-116.7048	31.6118	8378
+-90.1637	40.3344	7700
+-119.6669	45.8378	7769
+-88.7876	39.6546	7447
+-110.0308	31.6944	9124
+-120.0125	46.8713	7255
+-118.9813	33.8536	7643
+-80.65	29.2017	7557
+-82.2615	26.6887	8664
+-92.8266	34.4798	4122
+-90.178	40.947	7046
+-115.5028	34.041	7611
+-110.7031	31.3678	9010
+-88.7199	36.0822	8037
+-111.9734	26.5451	3733
+-115.1624	32.8122	7740
+-115.0935	43.3689	4813
+-87.4783	36.609	7944
+-118.3378	35.9713	7217
+-89.2329	37.3059	9154
+-117.8953	36.298	7079
+-117.0604	31.7882	8601
+-122.2405	46.5308	8738
+-122.9136	45.9343	8472
+-109.6674	32.0739	8577
+-90.2137	41.1579	6823
+-80.353	25.2992	6450
+-116.9451	34.6282	8894
+-118.0575	30.2586	6651
+-81.57	26.8096	8636
+-81.2695	25.3792	7020
+-85.3093	27.2005	6243
+-84.3493	27.2259	7312
+-83.7043	25.1321	6422
+-120.4943	33.069	5831
+-118.5013	33.2105	7856
+-115.1707	32.3992	7696
+-118.8787	32.3679	7562
+-125.1889	44.2701	5720
+-121.4561	45.7341	7521
+-80.2141	26.7131	7416
+-90.2325	37.5398	8110
+-89.7711	38.1099	8470
+-119.4771	32.8394	6952
+-90.3538	40.0262	8048
+-118.1248	33.6599	8469
+-118.5968	35.747	7257
+-117.7461	33.5475	8712
+-119.3495	31.4996	6716
+-116.7648	33.149	9319
+-83.0172	26.9793	8553
+-87.6798	40.2462	6672
+-119.0019	33.2915	7434
+-87.2881	42.4219	4248
+-77.2719	29.7649	3946
+-118.7967	37.8213	5182
+-92.7049	40.6139	6215
+-112.5362	29.9666	6513
+-81.4917	28.7575	8557
+-116.4216	33.8505	8566
+-118.3339	34.8631	8127
+-124.7631	47.7795	7373
+-88.0768	38.6422	8473
+-118.3991	33.202	7938
+-90.8842	38.75	8884
+-117.6871	32.6284	8922
+-88.0213	38.4308	8616
+-81.4167	29.2994	7978
+-92.3174	39.7861	7059
+-124.5311	44.5238	6379
+-90.7874	36.6139	7081
+-116.6892	35.9259	7484
+-119.8867	32.4473	6470
+-110.3978	33.363	7544
+-89.6401	39.8659	7979
+-117.3434	34.1175	9452
+-115.5751	35.2169	7347
+-86.686	37.5218	7474
+-90.7953	34.488	5583
+-89.9728	38.6957	8978
+-119.2869	44.4463	7212
+-119.4634	46.7454	7836
+-119.3191	44.2545	7019
+-116.4791	30.8362	7478
+-85.745	36.8499	6302
+-89.7535	42.383	5450
+-112.9229	31.2534	6645
+-116.1029	47.1669	6690
+-87.7136	38.4026	8373
+-120.8624	46.6112	7334
+-88.5065	40.4706	6680
+-115.6569	29.831	6116
+-119.8886	32.69	6491
+-89.3347	38.2727	8882
+-90.0473	38.067	8604
+-118.1467	31.6134	7873
+-81.8344	26.8803	8834
+-120.5006	36.1312	5391
+-117.0392	34.8109	8758
+-113.7878	48.3959	3914
+-120.4735	44.1314	6142
+-89.39	36.8244	8639
+-79.5105	24.4083	5072
+-119.4142	42.9822	5748
+-117.8134	33.5865	8694
+-92.6861	39.2588	6882
+-118.9931	34.4959	7613
+-93.9293	38.987	5594
+-104.429	30.7511	3013
+-86.0143	36.6092	6506
+-111.5306	34.0777	6476
+-115.2706	47.2517	5845
+-115.9784	34.4122	8100
+-112.5982	33.6668	6139
+-115.9477	36.903	6192
+-89.956	42.6799	5164
+-113.9694	33.8483	6217
+-119.515	45.7754	7912
+-119.063	33.157	7308
+-118.5726	43.8852	6895
+-124.7697	46.0775	7332
+-82.6607	29.6742	7653
+-82.632	26.2501	8086
+-116.3132	32.9497	9009
+-119.0554	30.056	5892
+-109.4116	31.8299	8440
+-123.6997	47.8793	8273
+-110.2121	30.5879	8387
+-85.0299	38.1254	5589
+-118.4089	47.1775	8112
+-81.554	27.9583	9202
+-113.8341	34.1493	5956
+-120.981	48.6481	6803
+-121.2703	47.5579	7702
+-118.9552	29.4398	5382
+-118.9422	43.5424	6463
+-80.1676	29.5603	6882
+-89.7576	39.9955	7922
+-119.5539	36.3313	6078
+-114.6775	35.0223	6552
+-115.0254	34.8116	6984
+-115.4088	30.9871	7073
+-121.5948	47.3742	8104
+-87.8622	40.6859	6277
+-110.9314	34.6878	6048
+-114.0475	33.9105	6276
+-88.6391	39.386	7879
+-116.845	32.3406	9205
+-115.0115	31.9153	7352
+-109.7437	30.5019	8139
+-110.7642	30.3697	8078
+-122.4447	45.8916	8324
+-91.259	39.7537	7989
+-122.3854	48.9044	7403
+-92.928	39.6901	6500
+-119.2659	32.4006	7147
+-118.8877	46.3921	8550
+-110.8555	32.3889	8433
+-120.9393	44.1419	5766
+-84.3607	27.0893	7259
+-86.1778	36.2015	6476
+-90.8828	34.6414	5671
+-118.4502	30.7881	6950
+-111.0326	30.3196	7909
+-118.3441	29.6702	5922
+-125.0887	49.2419	6138
+-81.4946	26.6274	8415
+-120.559	46.6202	6788
+-111.7474	31.4874	7938
+-111.2443	30.6396	8052
+-83.2614	28.0054	8588
+-91.1562	37.4974	7838
+-125.0829	49.8633	5621
+-90.2157	34.1193	5514
+-88.8823	38.432	8946
+-117.0112	32.7624	9675
+-88.8843	36.851	8891
+-78.9442	24.369	4620
+-115.1313	44.8554	5671
+-120.9956	32.2106	5208
+-116.0331	33.1114	8661
+-108.7866	31.0696	7708
+-119.9011	46.033	7546
+-89.1543	36.7573	8706
+-117.1287	35.6042	7926
+-91.7356	37.3365	7316
+-90.36	34.6809	6017
+-120.2141	46.9732	7016
+-119.9367	49.953	4820
+-107.3295	30.4063	5978
+-123.6517	45.8087	8089
+-112.34	37.4307	3071
+-89.1865	37.1237	9045
+-116.8875	35.2111	8292
+-91.4637	36.6494	6878
+-108.5452	31.2553	7504
+-87.6866	36.3251	7882
+-119.6258	33.0178	6691
+-83.7989	26.0967	7224
+-113.0985	33.686	5710
+-92.3322	40.6577	6485
+-109.3696	28.8638	6348
+-81.4038	25.3222	7006
+-91.1087	34.3695	5276
+-117.2863	32.373	9143
+-80.5112	28.2093	7990
+-82.9269	28.3508	8778
+-112.1096	30.9284	7422
+-84.9341	34.3415	4120
+-90.5163	41.722	6218
+-85.7834	37.6778	6466
+-116.9356	46.8509	7627
+-124.3709	44.8757	6798
+-92.0871	38.8782	7583
+-90.4194	37.5425	8122
+-115.9341	33.0035	8582
+-117.1449	35.1516	8419
+-90.2678	35.6825	7023
+-115.2261	32.1856	7688
+-81.1913	28.2263	8707
+-90.604	34.9696	6152
+-121.2106	37.5256	3863
+-110.1338	34.5076	6298
+-87.6618	35.1262	6706
+-81.9856	28.8598	8644
+-120.3036	48.6995	6177
+-85.7289	28.9581	5607
+-118.7303	35.8787	7053
+-116.329	33.2649	8883
+-121.4452	46.1532	7775
+-119.4645	42.7308	5479
+-121.2874	33.8517	5141
+-80.6994	29.2546	7555
+-117.6663	37.8114	5502
+-80.0907	26.3102	7054
+-118.5302	33.919	8140
+-92.8128	38.1312	6722
+-120.271	42.6876	5078
+-111.6833	27.9763	5301
+-107.8635	31.2411	6772
+-118.8974	46.3847	8544
+-80.7324	28.3715	8166
+-88.4581	37.6564	9469
+-111.712	31.9678	7923
+-119.9641	47.6315	6852
+-115.5589	36.0299	6754
+-115.4336	34.1025	7538
+-81.9339	29.5542	7858
+-120.1926	27.9582	3248
+-114.5215	33.5242	6914
+-94.4503	38.0748	4981
+-82.0463	29.3588	8088
+-119.1794	32.3638	7234
+-113.4932	32.7297	5832
+-92.8448	39.7521	6560
+-119.0387	48.1028	6994
+-116.7956	32.0383	8864
+-118.2867	48.297	6934
+-115.7725	29.5424	5866
+-117.2864	46.7723	7987
+-85.7683	41.633	4233
+-116.4102	35.1485	8089
+-88.5291	37.5117	9497
+-82.4248	28.3493	9155
+-91.3235	39.6208	8043
+-118.263	45.1775	8283
+-118.4666	29.7205	5916
+-85.1353	37.8394	5734
+-116.1179	34.1165	8285
+-86.7379	37.9807	7511
+-120.2129	32.5354	6118
+-86.9711	34.9345	6146
+-123.4269	46.0298	8425
+-109.6718	33.1872	7594
+-88.5227	36.8511	8860
+-90.4898	42.2883	5609
+-115.8277	34.7263	7840
+-117.8109	32.3406	8672
+-82.2812	30.1306	7213
+-116.8461	32.2409	9097
+-108.8646	27.5736	4847
+-117.522	31.0128	7648
+-112.1004	31.1045	7490
+-81.8384	27.687	9547
+-98.5306	40.5475	432
+-115.1555	35.6694	6690
+-119.3992	29.5607	5220
+-83.9065	25.292	6448
+-122.8844	44.7845	7209
+-80.4611	29.1115	7465
+-85.2868	30.2613	5343
+-120.3548	32.4271	5949
+-120.8353	45.8933	7050
+-112.8357	31.8423	6748
+-87.2105	33.5656	4892
+-81.0903	24.1005	5580
+-120.4165	37.7416	4313
+-120.9395	47.3573	7410
+-120.2994	30.2818	5082
+-122.2183	46.9622	8857
+-88.9444	38.956	8353
+-116.8506	27.8783	4243
+-120.0503	47.9474	6553
+-92.3887	39.9984	6878
+-118.2292	31.071	7350
+-91.2062	39.9017	7899
+-112.4947	28.9521	5784
+-90.4973	41.9115	6015
+-110.8763	29.7049	7355
+-83.701	28.4655	7951
+-125.1448	46.9979	7140
+-111.3383	27.0393	4431
+-115.6866	32.6012	8305
+-127.2029	45.2603	4521
+-118.7972	35.7103	7141
+-82.6208	30.5989	6641
+-81.6866	27.8151	9384
+-91.5328	40.349	7302
+-113.1573	30.5962	6232
+-109.8048	35.3635	5338
+-88.5557	36.7595	8770
+-88.8107	30.8444	2158
+-117.7161	32.7817	8916
+-84.8081	27.6704	6864
+-119.1126	43.4696	6339
+-113.7653	35.4819	5445
+-117.8408	33.0012	8756
+-116.4302	37.8388	5394
+-85.5601	36.106	5812
+-112.9247	34.0856	5571
+-120.3952	33.5011	6056
+-86.7723	38.9831	7132
+-89.1909	37.1542	9069
+-89.9587	38.0352	8528
+-116.2562	31.8151	8383
+-116.5535	30.7508	7403
+-116.8382	42.8241	5468
+-117.3847	31.6924	8415
+-117.3832	31.8471	8576
+-111.4573	32.325	8015
+-109.4726	30.3366	7832
+-115.3931	38.0813	4771
+-90.8056	38.9864	8903
+-109.7126	30.0381	7669
+-117.4459	32.7734	9216
+-120.6483	34.9402	5745
+-87.6143	36.6634	8101
+-87.224	36.8819	7873
+-88.7122	37.6717	9754
+-111.3919	33.7721	6839
+-113.5333	32.1643	5950
+-120.9521	45.8907	7161
+-91.4013	38.8629	8320
+-84.663	28.3066	6966
+-116.4949	35.8425	7492
+-110.1748	35.6861	5025
+-119.2987	35.8342	6647
+-92.542	37.3021	6623
+-116.2257	34.3969	8367
+-119.565	30.2897	5710
+-80.0047	28.0373	7465
+-114.9354	32.6788	7482
+-82.8212	30.3054	6917
+-108.6964	30.003	7008
+-116.5909	36.2442	7120
+-118.6663	44.8998	7926
+-81.7576	26.5857	8490
+-86.4271	36.0121	6599
+-91.16	41.8185	6013
+-81.3741	26.2577	7981
+-119.2296	43.3021	6132
+-116.5945	34.696	8582
+-87.7881	42.6732	4354
+-86.527	38.167	7239
+-119.0738	47.9229	7156
+-110.8755	30.5312	8191
+-114.7233	35.786	6229
+-124.7468	47.1845	7563
+-88.9286	37.4871	9544
+-90.2196	41.0081	6984
+-89.1493	38.4496	8836
+-119.0417	31.4478	6980
+-89.5845	39.4555	8276
+-90.7384	37.8447	8376
+-91.0187	37.3514	7769
+-116.1679	33.6263	8484
+-119.5581	32.6573	6857
+-116.5709	33.0284	9252
+-90.2839	38.9702	9164
+-117.8879	33.1373	8665
+-118.1184	32.4974	8420
+-112.4187	31.8598	7194
+-117.4038	30.4135	7028
+-117.2596	33.265	9155
+-86.9187	39.0463	7226
+-119.4563	31.3723	6542
+-92.2128	41.1191	6198
+-90.5358	38.1633	8771
+-88.8796	40.1333	7222
+-88.7651	36.7142	8747
+-117.3113	34.5327	9099
+-89.3174	38.1629	8982
+-119.6507	42.2227	4906
+-82.9307	28.7188	8487
+-121.617	48.4401	7460
+-88.8407	37.1504	9230
+-88.3609	40.27	6697
+-89.5423	36.0172	7770
+-118.9088	47.1026	8009
+-123.1578	30.9875	2552
+-79.0732	29.7844	5745
+-112.496	30.9928	7045
+-81.4921	27.6518	9155
+-115.9619	32.4512	8560
+-87.1882	35.7585	7036
+-111.871	32.1566	7695
+-77.6251	27.0074	4720
+-116.6004	33.6668	8651
+-107.3715	28.31	4691
+-81.9617	27.0478	9056
+-121.9266	47.824	8181
+-113.9308	33.1579	6345
+-110.7884	29.6184	7288
+-118.2488	33.3608	8175
+-86.786	36.9118	7436
+-88.5471	37.92	9438
+-115.7459	32.6632	8381
+-86.3547	40.0919	5975
+-118.4062	34.8327	8079
+-116.8842	32.4932	9381
+-80.0644	24.4461	5466
+-90.4528	38.1331	8755
+-120.6858	49.2595	6104
+-91.9977	36.3157	6276
+-88.4567	41.3231	5960
+-91.1169	38.7225	8633
+-81.7882	30.0825	7243
+-112.6422	32.0714	6917
+-85.9925	37.1059	6638
+-90.5921	39.3764	8713
+-118.3204	30.8946	7131
+-112.984	32.0027	6566
+-120.6323	45.9259	6766
+-80.2759	26.6112	7418
+-121.9134	43.6144	5767
+-87.8243	34.6159	6232
+-117.8552	30.5476	7035
+-89.5712	36.5519	8272
+-88.584	38.7822	8545
+-106.8294	32.5478	5536
+-90.3941	41.3165	6658
+-92.5388	41.5307	5632
+-116.3997	44.705	6778
+-117.4877	42.8809	5749
+-114.6493	46.647	5368
+-89.8184	39.3172	8561
+-113.218	32.4843	6199
+-116.0589	47.7623	6320
+-107.6505	31.1821	6535
+-119.8993	46.6268	7460
+-82.1062	25.0596	6830
+-111.0227	31.2782	8657
+-79.1758	26.6538	6317
+-111.7638	30.0922	7235
+-111.1851	28.0278	5512
+-120.4513	32.8861	5807
+-117.3538	47.7817	7226
+-80.5383	31.8015	4984
+-117.2616	33.6933	9058
+-87.5934	39.9288	6954
+-90.3142	40.3682	7679
+-116.3089	35.3768	7826
+-121.2105	43.8809	5741
+-121.3428	35.9869	4653
+-93.1695	38.4061	6398
+-117.1666	32.448	9285
+-79.988	27.9085	7460
+-112.2971	33.1307	6765
+-85.5966	34.8097	5025
+-116.5822	32.9498	9299
+-119.6571	48.3522	6466
+-80.9564	29.4519	7567
+-116.443	35.0246	8214
+-90.3579	44.0959	3662
+-91.5342	40.3617	7290
+-120.4263	33.4128	6003
+-79.8404	26.9746	7148
+-122.9426	48.1933	8258
+-123.4891	47.2336	8896
+-106.6926	29.3515	4847
+-85.1716	39.9261	5048
+-117.441	37.2206	6165
+-118.3817	33.3699	8064
+-118.9006	33.6177	7669
+-88.9491	38.3312	9041
+-90.1862	38.2726	8868
+-88.041	37.2835	8894
+-117.2742	46.63	8053
+-121.3056	48.7381	6988
+-125.4171	46.6732	6822
+-121.5803	46.1731	7914
+-88.5982	38.9761	8332
+-80.5921	26.3896	7554
+-118.9447	34.764	7582
+-89.9608	38.5145	8903
+-114.4447	31.1257	6366
+-122.1541	49.9988	6176
+-118.5656	35.1571	7734
+-118.1487	43.2526	6241
+-115.9724	36.5514	6546
+-118.3928	33.8321	8266
+-115.5455	31.021	7199
+-91.8168	40.1164	7290
+-109.8359	30.6574	8335
+-82.8619	29.7262	7527
+-91.4963	36.1425	6369
+-91.9329	35.5601	5602
+-88.1074	40.1934	6883
+-118.9586	33.4185	7534
+-87.0668	40.0965	6486
+-122.1693	46.6946	8750
+-116.9517	36.0143	7458
+-110.7334	29.4248	7095
+-122.648	48.202	8221
+-89.6262	39.1058	8523
+-86.039	30.4528	4530
+-90.9967	36.03	6710
+-116.394	32.2536	8857
+-115.984	33.7976	8092
+-119.465	39.1621	3551
+-88.9266	38.2994	9082
+-122.1581	32.3433	3856
+-120.8464	47.5696	7255
+-117.7871	35.1108	8330
+-115.6021	33.7895	7884
+-118.0954	35.9033	7406
+-115.4713	32.7854	8085
+-109.5114	34.9777	5690
+-116.866	32.3832	9257
+-117.806	47.3941	7800
+-92.4128	40.0854	6806
+-84.0596	30.4159	6187
+-116.9811	46.4845	7823
+-124.7852	49.7576	5906
+-111.7078	32.2254	7830
+-121.1864	48.1135	7341
+-119.8605	37.0189	5305
+-81.5679	26.2898	8103
+-115.0518	35.8416	6487
+-82.9995	32.6836	4244
+-116.5775	34.1812	8784
+-123.4304	47.1251	8998
+-118.7081	27.9714	4010
+-124.0364	49.2958	6759
+-92.2031	37.0916	6771
+-118.6492	32.7998	7876
+-120.5803	45.2066	6650
+-112.1869	31.6475	7464
+-124.2567	46.7604	8099
+-119.5261	47.9443	6905
+-89.5009	38.9147	8457
+-84.3424	26.3021	6894
+-110.5245	33.0056	7919
+-121.0947	46.5902	7580
+-85.001	24.4857	4963
+-119.4416	29.9882	5561
+-88.1763	39.1637	8008
+-86.8136	36.8009	7417
+-119.5688	45.858	7875
+-88.9216	37.7727	9604
+-119.3217	48.8526	6145
+-117.5587	37.5525	5795
+-109.439	33.9033	6780
+-108.7634	32.4832	7513
+-89.3678	37.4197	9086
+-114.9979	36.6704	5825
+-123.6782	47.4019	8627
+-116.1717	32.1827	8619
+-88.0597	37.4056	8969
+-84.2531	39.6137	4297
+-119.5856	32.5939	6821
+-88.4477	37.5144	9419
+-80.3443	28.0385	7845
+-78.0682	30.4534	4379
+-82.0694	28.174	9426
+-90.9907	36.3752	6782
+-119.3327	32.3252	7057
+-113.8836	30.5803	5476
+-118.9878	47.7768	7334
+-115.0336	34.865	6975
+-89.8288	40.7045	7235
+-111.6258	30.1977	7421
+-118.7447	34.6949	7813
+-121.1524	31.5218	4866
+-82.1791	28.2247	9372
+-116.7275	46.3479	7592
+-88.5832	42.7549	4692
+-118.9735	36.2517	6570
+-111.4423	29.9024	7292
+-81.2491	25.1691	6788
+-83.8055	27.8412	7999
+-89.1507	38.9866	8072
+-117.9911	32.1881	8412
+-82.9642	25.1838	6823
+-118.6846	47.2848	7936
+-123.0084	47.6883	8804
+-123.7124	45.1256	7395
+-89.3884	39.6921	7947
+-108.8455	29.1987	6428
+-85.1281	40.4914	4644
+-85.3846	27.7666	6214
+-80.0276	30.7056	5802
+-122.6667	48.9613	7400
+-109.6398	31.7772	8693
+-88.211	36.8723	8728
+-120.7732	42.3994	4537
+-91.0582	36.2002	6581
+-109.4114	33.3067	7356
+-120.8339	33.6688	5614
+-122.2099	46.9294	8847
+-120.7175	45.0929	6471
+-90.2296	43.452	4354
+-110.4734	31.2067	9038
+-86.5962	38.9601	6979
+-116.3776	32.8029	9096
+-87.4916	32.3175	3643
+-89.639	39.1422	8518
+-87.594	39.3164	7543
+-122.8787	47.1025	9455
+-89.3153	40.819	6915
+-85.9811	27.872	5538
+-87.8055	35.3484	6999
+-89.8321	38.4994	8772
+-118.1667	32.6522	8402
+-89.5131	40.198	7604
+-82.7268	29.7226	7580
+-90.5578	38.4598	9059
+-119.306	31.3317	6662
+-107.5759	31.2496	6464
+-116.9134	45.4857	7671
+-83.8221	30.781	5983
+-115.9567	29.8404	6247
+-121.4518	46.1095	7757
+-118.2348	33.7255	8392
+-91.8948	42.7192	4847
+-110.4397	32.36	8624
+-121.8505	49.5122	6581
+-85.9791	37.0527	6611
+-114.0119	30.7626	5739
+-117.8178	48.3276	6850
+-79.9489	28.8982	7109
+-116.9098	47.0066	7518
+-108.8099	33.6436	6697
+-117.4808	45.6484	8285
+-122.0584	46.4988	8548
+-123.4288	49.4069	6863
+-120.0439	46.3705	7374
+-119.7911	47.2927	7224
+-111.4972	30.262	7566
+-109.8034	30.3687	8038
+-86.2046	27.2698	5252
+-83.3925	26.4226	7809
+-116.3428	32.1049	8697
+-81.5557	30.8015	6397
+-118.8987	46.7105	8343
+-94.5401	38.7709	4944
+-122.4982	44.8753	7267
+-116.7891	32.2544	9095
+-120.9366	46.1213	7258
+-88.1087	38.5689	8561
+-119.9626	48.6437	6032
+-117.4007	48.1876	6860
+-120.8803	45.8899	7092
+-84.3832	25.9806	6643
+-87.1287	36.3544	7460
+-122.4865	48.8096	7531
+-91.7274	36.7133	6794
+-126.6242	48.1035	5328
+-115.9473	48.2877	5871
+-118.6015	41.0755	3928
+-90.3778	37.2118	7766
+-120.0032	34.067	6552
+-92.5147	40.7845	6248
+-91.0812	39.5286	8297
+-119.3256	45.7509	8096
+-88.7554	32.4947	4010
+-86.2633	39.0669	6595
+-89.169	36.7191	8660
+-111.5616	30.3886	7617
+-120.8774	48.8375	6579
+-118.8561	32.5294	7621
+-123.2476	47.0858	9202
+-116.669	35.1743	8228
+-79.7352	30.7844	5532
+-109.987	32.2933	8618
+-92.8075	40.0907	6439
+-113.8262	31.5583	5979
+-117.3825	46.158	8305
+-88.8398	37.0662	9137
+-120.7731	44.5219	6139
+-117.8435	32.0392	8446
+-114.1499	47.366	4682
+-106.3357	32.4193	5049
+-89.8704	39.9734	7995
+-87.3781	42.3848	4341
+-87.2221	32.9553	4250
+-80.5388	27.4794	8059
+-116.9644	33.2906	9224
+-83.4283	30.8683	6090
+-80.8716	28.8388	8019
+-117.6633	34.6285	8846
+-83.1291	31.1892	5860
+-87.0708	39.109	7316
+-124.1403	43.8466	5918
+-81.0421	28.3803	8476
+-116.9676	32.2448	9115
+-92.0829	38.9552	7579
+-91.3289	39.905	7815
+-106.4453	30.4589	5088
+-118.2097	32.3625	8277
+-124.3237	48.1059	7603
+-113.4645	38.1828	3479
+-115.1659	36.5739	6025
+-117.9867	45.532	8582
+-112.9054	31.6265	6686
+-113.8248	28.4003	4355
+-79.0809	30.9059	4939
+-81.5352	25.739	7501
+-86.3279	37.9836	7055
+-81.6551	31.7405	5364
+-91.0686	39.4581	8362
+-88.489	38.5733	8750
+-115.6771	32.4991	8272
+-118.039	31.8037	8107
+-118.6487	47.9128	7302
+-85.8989	39.6418	5906
+-114.3719	31.1354	6304
+-87.4123	38.7309	7881
+-88.1963	38.1757	8957
+-118.4878	33.326	7941
+-114.9965	32.7029	7552
+-116.3714	42.933	5343
+-116.8861	32.0051	8843
+-119.407	46.5337	7985
+-94.1395	39.1213	5356
+-119.3996	48.4629	6493
+-118.7568	31.791	7452
+-117.8936	32.2091	8517
+-122.0777	44.5782	6831
+-122.7533	49.9543	6320
+-77.5692	24.9752	3840
+-115.2217	31.2107	7108
+-90.7724	40.0164	7996
+-120.7509	47.052	7243
+-117.0701	35.3255	8220
+-120.3479	46.2333	7069
+-123.0778	47.8815	8582
+-111.1441	29.6115	7164
+-117.5029	32.3612	8968
+-117.8637	48.5743	6603
+-117.8509	45.9355	8771
+-121.477	48.4995	7308
+-84.2825	26.8694	7258
+-117.1768	36.9974	6412
+-123.5056	46.7317	8893
+-117.0408	45.7499	7893
+-90.5642	40.3763	7661
+-91.2052	40.0305	7784
+-89.1777	36.6672	8603
+-82.2924	30.0782	7271
+-118.0567	37.9753	5259
+-105.9677	32.6212	4612
+-91.3588	38.9635	8348
+-92.3083	35.3178	5183
+-86.7853	36.0665	6957
+-90.2017	36.3641	7640
+-88.4163	39.6477	7556
+-118.6057	46.376	8811
+-91.7681	38.8824	7925
+-116.8581	31.1653	7907
+-114.8674	33.3985	7323
+-111.9513	30.5595	7399
+-113.8403	34.5814	5769
+-117.3332	33.4081	8977
+-118.3616	32.2571	8076
+-109.8413	31.4505	8921
+-90.4522	38.5964	9243
+-88.8697	42.5939	4972
+-82.082	24.5956	6304
+-109.982	29.694	7391
+-117.2977	48.6044	6410
+-116.7622	33.4205	9042
+-118.2382	45.5134	8638
+-122.0351	48.0151	8113
+-116.5868	36.1073	7261
+-118.8795	36.1042	6760
+-115.0536	32.5772	7602
+-111.3895	29.1781	6627
+-81.9032	29.3304	8104
+-114.53	46.7457	5227
+-82.4351	27.3317	9294
+-78.3245	29.2642	5262
+-118.3289	32.4377	8176
+-119.7465	37.6263	4865
+-111.4963	29.1922	6593
+-113.9628	32.6054	6394
+-80.5915	33.0045	3715
+-116.7026	33.0908	9328
+-109.2832	31.6338	8334
+-109.4572	30.3496	7834
+-89.925	38.2651	8705
+-121.1916	46.3604	7615
+-91.0421	38.2016	8500
+-80.1965	28.7678	7426
+-90.5499	40.5817	7442
+-123.7697	45.7957	8004
+-93.8533	40.8487	5053
+-108.0386	32.6174	6747
+-112.9514	35.6657	4543
+-84.427	26.6921	7027
+-120.3504	45.5419	6993
+-120.3227	35.0026	6072
+-91.3566	41.4816	6299
+-118.402	48.5533	6659
+-121.9896	44.2207	6428
+-88.6959	41.3796	6057
+-87.8821	39.7743	7249
+-118.9932	41.0607	3871
+-119.2301	32.2354	7146
+-83.1473	25.5674	7153
+-120.5964	45.6647	6768
+-121.1793	43.873	5717
+-119.8714	46.3802	7553
+-90.8111	37.8015	8303
+-114.5429	30.5209	6029
+-111.7109	30.8156	7765
+-119.1968	35.9223	6667
+-115.2417	30.6884	6697
+-117.7917	43.1248	6067
+-120.4576	46.6467	6886
+-115.9992	35.6138	7412
+-116.6839	29.2016	5708
+-119.2792	33.2149	7125
+-79.5796	27.3732	6969
+-93.0258	40.149	6202
+-123.4556	44.9077	7263
+-118.9272	30.8291	6639
+-117.5778	45.4157	8220
+-119.2387	45.9483	8236
+-127.2125	43.4557	3497
+-116.1697	35.5433	7589
+-79.5594	31.6868	4587
+-88.8261	40.1452	7171
+-108.7585	32.7822	7329
+-117.2336	42.8502	5644
+-119.56	48.7019	6191
+-115.6056	30.6021	6854
+-117.7335	47.3992	7766
+-86.349	39.5106	6402
+-92.8726	40.2413	6297
+-119.9324	46.2286	7509
+-121.0169	48.0335	7228
+-118.3646	29.0127	5233
+-118.1096	31.9893	8179
+-120.448	45.9707	6964
+-79.4026	25.6605	5991
+-89.0358	39.2195	7886
+-122.9905	49.012	7357
+-93.1877	40.2171	6013
+-117.1066	34.7541	8839
+-89.4515	39.6089	8058
+-110.6516	33.5243	7343
+-118.1805	31.8233	8003
+-117.8162	45.9303	8734
+-115.747	31.7972	7980
+-87.3559	37.2149	8153
+-119.9515	34.0381	6607
+-115.905	28.9151	5243
+-117.5676	34.6282	8906
+-85.0257	28.2069	6582
+-117.2475	46.0621	8163
+-113.2317	34.1973	5245
+-115.0298	34.0094	7094
+-116.1383	34.4776	8251
+-124.1932	47.5495	8048
+-119.8009	31.8712	6420
+-116.8356	32.7747	9599
+-106.5766	32.8857	5166
+-80.3163	28.1881	7782
+-82.8216	25.3467	7046
+-109.5974	34.1852	6544
+-115.2875	34.2342	7376
+-116.1392	31.4964	8015
+-80.8103	27.0644	8198
+-108.9069	32.2012	7789
+-88.9196	42.8805	4701
+-116.2094	32.708	8900
+-107.733	30.8167	6536
+-113.567	32.0416	5935
+-122.834	46.214	8776
+-122.3383	45.7909	8175
+-118.8098	34.332	7841
+-113.5833	31.0958	5913
+-89.1046	38.5143	8790
+-88.5489	42.3465	5073
+-117.9653	31.2557	7686
+-78.8478	24.7576	4852
+-80.4258	26.9785	7765
+-89.156	38.7163	8558
+-90.7952	36.0712	6919
+-109.3845	26.6567	4038
+-90.7077	38.6987	9070
+-114.3809	34.5709	6354
+-112.2768	42.6374	1918
+-88.7426	36.5053	8512
+-87.2808	41.6582	4841
+-90.3685	39.1691	8972
+-121.3257	45.8941	7513
+-115.2346	49.3709	4525
+-93.2093	39.6783	6218
+-117.5018	46.8923	8082
+-85.4435	37.9241	6074
+-79.5752	25.8396	6269
+-107.8777	31.7094	6810
+-78.7434	27.9648	6051
+-110.3041	33.687	7194
+-89.6465	34.9486	6609
+-115.2692	33.4578	7729
+-111.1791	27.5881	5049
+-118.3419	46.1401	9185
+-116.7499	45.7133	7586
+-118.4867	34.7853	8029
+-117.9158	35.7377	7650
+-83.0965	24.4309	5964
+-84.585	26.805	6913
+-117.05	32.6325	9527
+-119.085	31.1595	6753
+-119.1907	44.467	7282
+-121.9002	45.6484	7789
+-82.9862	30.3349	6831
+-117.3453	35.2674	8298
+-86.6907	37.9399	7465
+-117.7161	46.9933	8140
+-111.5936	29.769	7080
+-116.442	35.4705	7824
+-122.7324	45.7586	8266
+-118.547	35.9027	7155
+-90.8888	40.8365	7110
+-122.8262	45.878	8407
+-86.1574	38.5924	6707
+-85.4471	36.893	5989
+-109.7625	29.2054	6824
+-92.7571	37.3179	6436
+-114.4017	47.552	4871
+-81.2115	30.0026	7156
+-118.9618	30.479	6325
+-115.9788	30.4641	6907
+-118.5882	32.6583	7936
+-116.3899	40.2351	2733
+-83.7541	27.4042	8013
+-90.2626	40.6249	7399
+-92.9523	39.1235	6626
+-125.537	47.0239	6708
+-92.9183	37.859	6528
+-93.1154	42.0665	4793
+-86.2445	40.7673	5328
+-121.7716	33.0712	4489
+-115.64	32.4127	8206
+-85.6973	41.868	3974
+-121.3492	47.0515	7900
+-109.3072	31.8597	8322
+-116.4394	43.5384	5918
+-89.0111	35.951	7871
+-125.9644	46.5931	6215
+-117.0669	34.2711	9273
+-112.1989	32.4022	7266
+-87.595	38.6409	8104
+-88.2812	37.6838	9270
+-87.4755	39.2859	7490
+-92.5081	37.5437	6791
+-119.4523	28.9132	4591
+-122.6832	48.4969	7908
+-118.2942	33.0633	8247
+-114.1654	34.273	6152
+-78.5458	26.6867	5654
+-86.6592	28.8828	4619
+-124.3582	47.1447	7992
+-124.8086	45.8658	7186
+-113.1493	30.8709	6326
+-89.7351	38.2931	8570
+-115.8479	33.163	8447
+-116.7366	35.7815	7649
+-116.5251	34.5002	8635
+-123.9325	48.0131	7991
+-112.3443	33.6501	6349
+-120.675	36.1807	5201
+-122.652	44.0653	6407
+-117.1174	28.7959	5265
+-117.0835	47.5945	7231
+-82.5411	29.7754	7573
+-113.1864	31.2977	6367
+-91.6035	36.9168	7051
+-111.565	27.3104	4656
+-118.0398	31.3719	7745
+-86.5126	27.5192	4930
+-118.7249	47.0924	8110
+-109.4422	26.1421	3500
+-122.167	48.7006	7538
+-86.6236	37.5223	7404
+-116.9742	30.9871	7712
+-111.6359	29.7651	7050
+-113.4858	46.353	4172
+-92.1349	35.3951	5345
+-122.5218	47.089	9169
+-90.7864	39.4775	8528
+-117.5531	45.2916	8107
+-118.673	43.3618	6331
+-117.3358	48.521	6507
+-84.6634	26.9394	6881
+-112.7063	31.8919	6881
+-117.6803	36.7636	6633
+-116.9544	43.4724	6142
+-115.2087	47.2247	5793
+-121.2425	47.9642	7481
+-116.4943	30.7531	7392
+-107.197	35.0676	4394
+-88.3081	41.7914	5456
+-91.1474	42.1055	5715
+-120.3409	45.9434	7075
+-117.6892	45.7947	8553
+-111.8802	32.3513	7602
+-90.5166	37.5357	8108
+-119.9915	35.3567	6280
+-91.286	36.4744	6786
+-107.0616	31.0106	5875
+-81.4621	27.6269	9117
+-120.662	47.2513	7128
+-108.918	28.6762	5970
+-78.3419	27.6356	5600
+-121.3697	44.2227	6154
+-124.1198	47.0159	8265
+-87.6001	39.1059	7735
+-91.3674	37.4299	7650
+-109.0867	32.7889	7595
+-119.4884	47.8532	7007
+-121.513	34.2337	4905
+-125.977	46.161	6112
+-108.8173	37.9387	2395
+-88.6159	35.99	7926
+-119.7249	45.2555	7491
+-84.2738	25.8997	6679
+-121.5472	48.6056	7271
+-116.0951	30.7025	7202
+-116.3811	44.5383	6654
+-91.739	42.0999	5529
+-81.305	28.7741	8417
+-91.4799	39.5785	7943
+-119.5381	34.0322	7058
+-114.7784	31.1301	6671
+-126.4146	44.6861	5003
+-121.0543	31.3391	4905
+-119.4355	32.1327	6895
+-91.3749	38.1231	8160
+-109.1628	28.029	5419
+-118.2956	31.8621	7928
+-90.5362	38.8993	9194
+-127.4592	47.0674	4596
+-112.3483	32.7656	6942
+-118.6518	49.5773	5557
+-77.5415	28.2786	4665
+-116.1728	32.157	8602
+-85.0817	38.7641	5499
+-119.1867	30.5689	6229
+-118.0963	45.9228	8988
+-86.5678	37.9938	7320
+-86.4428	40.0313	6093
+-116.9529	36.6834	6735
+-108.9133	33.5123	6878
+-123.1866	47.1917	9206
+-120.5725	45.1487	6635
+-90.4224	41.8089	6127
+-91.1549	40.8526	7010
+-112.6419	29.5404	6134
+-110.0505	30.9619	8734
+-117.6402	33.9569	9087
+-111.0991	30.7631	8258
+-117.2314	45.5593	8008
+-117.6314	30.2822	6830
+-83.7854	26.9805	7823
+-121.2823	48.1898	7378
+-91.807	36.7748	6800
+-107.7883	30.0251	6240
+-114.7385	30.7412	6356
+-89.8301	37.7421	8618
+-115.5537	34.3676	7652
+-123.7401	49.9362	6216
+-107.1332	27.9063	4192
+-117.8566	33.4242	8532
+-89.8949	35.9176	7479
+-116.7818	49.7997	5032
+-116.3884	46.0934	7254
+-116.8158	36.4605	6952
+-117.7213	36.9398	6437
+-79.7294	27.8222	7172
+-107.6444	29.0347	5459
+-92.623	36.4231	5943
+-108.615	33.6969	6522
+-118.9049	43.0762	5991
+-83.9532	25.8765	6924
+-114.758	46.9488	5420
+-118.9542	34.7706	7570
+-113.8684	36.7711	4845
+-82.9382	28.1741	8872
+-124.891	46.3097	7303
+-119.6837	36.4574	5880
+-80.4849	27.6104	8019
+-89.4415	39.495	8130
+-84.8133	35.2331	4604
+-79.6497	27.0788	6977
+-81.1041	28.211	8624
+-115.3485	37.8618	4964
+-90.8433	40.1965	7788
+-121.7025	44.3663	6461
+-77.1659	26.9883	4204
+-119.2982	32.7014	7149
+-116.4959	33.298	9002
+-122.9164	46.4445	9032
+-112.6008	28.7117	5509
+-115.6035	34.9096	7536
+-78.1191	27.0271	5274
+-124.2438	45.2596	7219
+-82.4898	27.0326	8969
+-80.1219	27.918	7610
+-121.0748	46.7744	7590
+-116.7669	45.074	7322
+-107.8248	29.9951	6257
+-84.4505	24.6539	5502
+-123.6307	46.2579	8488
+-120.6122	45.7731	6770
+-88.9392	39.0624	8236
+-91.205	39.3426	8332
+-118.4679	32.4315	8024
+-122.6104	46.0982	8600
+-110.4922	31.4992	9279
+-86.9518	36.7453	7531
+-118.6075	44.377	7404
+-114.2051	47.4544	4709
+-91.1117	37.0815	7462
+-78.5091	31.4961	4009
+-117.3315	44.2424	7050
+-88.4054	44.4114	2961
+-91.3036	37.1971	7479
+-121.8896	43.706	5856
+-88.1421	36.3572	8187
+-121.5417	44.7533	6753
+-118.2685	35.1772	7960
+-117.0455	49.6536	5275
+-120.0927	48.0679	6429
+-86.2755	31.1757	3823
+-118.7808	48.0653	7114
+-122.901	48.1442	8312
+-88.1703	37.8881	9101
+-117.8328	32.1746	8550
+-117.6336	42.9176	5821
+-115.3218	34.1774	7416
+-86.8364	40.6821	5796
+-117.2432	35.368	8191
+-83.7032	28.2391	8038
+-118.03	36.7697	6544
+-121.3672	44.1281	6062
+-118.9103	43.6974	6631
+-91.2597	38.8193	8477
+-88.0109	41.0517	5862
+-118.7994	32.1646	7583
+-117.6205	33.9843	9119
+-115.9142	35.4473	7481
+-108.6778	32.0411	7613
+-117.7155	35.025	8449
+-110.2423	32.7384	8218
+-83.8057	28.9387	7582
+-113.9673	35.1449	5774
+-93.3494	38.7044	6227
+-89.3063	36.6551	8529
+-120.0147	34.4793	6516
+-118.9244	36.1764	6668
+-82.9003	27.4539	8955
+-116.0978	47.2241	6658
+-119.0816	47.6248	7438
+-110.2824	33.3812	7525
+-118.5409	31.7348	7622
+-80.6267	25.996	7262
+-124.3786	45.2492	7116
+-114.8124	47.4717	5308
+-120.0645	44.7622	6901
+-116.3667	30.8216	7429
+-112.0053	28.7504	5909
+-87.5402	39.5041	7335
+-84.5287	25.5875	6229
+-117.6689	33.0168	8938
+-117.6747	35.501	7981
+-114.3309	36.2039	5619
+-117.147	44.1994	6915
+-111.4735	32.8164	7654
+-115.3691	37.2876	5523
+-109.2731	33.9542	6660
+-92.2058	37.8535	7235
+-118.2858	45.0108	8107
+-117.0122	49.1183	5792
+-82.1871	28.7238	8808
+-115.712	32.8932	8351
+-115.3465	33.0731	7923
+-91.4061	35.676	5932
+-120.2108	34.5394	6296
+-120.8646	29.149	3783
+-125.3262	46.2192	6817
+-112.7432	33.9738	5796
+-89.7375	41.3458	6541
+-104.4717	33.0971	2914
+-112.7068	31.7065	6898
+-81.6666	28.0608	9268
+-89.7743	41.5359	6351
+-111.3308	33.9817	6659
+-117.5549	32.4588	8985
+-111.983	31.4732	7682
+-89.9548	42.5693	5282
+-89.6507	40.3721	7506
+-121.6409	43.2675	5313
+-85.3078	25.5705	5525
+-92.3037	37.2945	6827
+-116.3051	49.3401	5240
+-117.2751	46.9676	7852
+-89.217	40.6279	7042
+-116.5062	30.8401	7489
+-112.7933	33.6931	5962
+-124.678	47.409	7593
+-88.5067	39.7329	7477
+-89.2694	39.4448	8009
+-119.0041	47.117	7940
+-110.9969	33.773	6995
+-90.9082	40.2152	7747
+-114.7909	34.1331	6837
+-115.4945	36.1841	6581
+-120.7672	36.6846	4813
+-119.1055	47.1928	7812
+-117.1106	32.5529	9418
+-119.461	31.7955	6746
+-109.6737	29.2164	6811
+-121.6759	32.9345	4554
+-89.2528	42.0963	5617
+-88.3016	36.0239	7899
+-117.0911	30.5974	7274
+-85.9072	27.6863	5622
+-123.724	47.6178	8452
+-121.0568	32.7355	5131
+-91.3791	36.6977	6966
+-118.9262	32.8984	7565
+-94.9335	38.2877	4495
+-112.2228	29.6947	6579
+-123.7414	47.8588	8259
+-88.177	40.3954	6458
+-121.5891	46.818	8157
+-115.5661	33.477	8026
+-92.2553	39.6928	7165
+-115.8549	28.8753	5185
+-116.2643	45.2418	6937
+-88.3256	39.9533	7200
+-112.8114	43.5797	2880
+-117.0535	48.3856	6512
+-118.7726	34.3636	7876
+-87.2912	37.2424	8092
+-81.0657	27.048	8436
+-117.5877	33.2674	8897
+-117.8672	47.4019	7813
+-122.0753	46.3408	8469
+-118.172	32.7033	8402
+-115.6408	34.0857	7764
+-107.9529	32.5635	6684
+-121.6395	46.8765	8218
+-121.8906	48.7643	7341
+-83.9835	25.855	6883
+-89.6297	39.9889	7861
+-117.5915	35.8995	7579
+-110.8613	36.4137	4209
+-122.4537	43.6637	5945
+-115.5052	46.2941	6311
+-88.1809	36.8675	8704
+-81.9542	28.5159	9021
+-88.1123	37.3909	9018
+-112.8197	36.3869	4100
+-119.723	46.9906	7468
+-118.0449	33.2448	8459
+-120.3837	44.3476	6363
+-116.4305	35.1439	8107
+-111.6665	34.9388	5562
+-117.0414	43.9389	6621
+-91.6204	37.0931	7196
+-86.1987	36.2076	6500
+-83.5086	27.5593	8319
+-123.9134	44.6236	6802
+-113.1862	31.9826	6352
+-81.8924	27.7935	9618
+-118.3152	35.4128	7733
+-88.4625	36.6667	8643
+-115.5855	33.7348	7903
+-111.2673	28.6867	6176
+-118.3609	37.1551	6032
+-107.7131	38.067	1897
+-81.0113	27.4169	8563
+-87.2035	34.4362	5787
+-122.8891	46.2206	8786
+-119.4355	30.1502	5700
+-112.2733	33.4992	6519
+-114.7385	33.409	7181
+-89.8917	39.4625	8491
+-83.2454	28.0325	8599
+-115.0677	32.2925	7556
+-89.4256	38.5044	8359
+-79.207	26.9298	6449
+-76.19	30.8884	2297
+-118.6008	33.1475	7728
+-86.5143	27.8185	4936
+-88.9988	35.7468	7645
+-117.7961	34.665	8719
+-123.1434	47.1059	9298
+-88.3827	38.8504	8417
+-124.0213	46.1823	8103
+-81.45	29.0759	8222
+-89.186	37.4009	9258
+-83.9018	35.7381	3941
+-124.8754	46.1583	7261
+-90.6608	40.563	7447
+-88.4137	38.3178	8983
+-108.2284	33.3185	6518
+-121.0281	33.6359	5399
+-112.5782	32.0048	6999
+-118.9958	31.9061	7272
+-122.3518	44.8941	7251
+-85.1464	27.1104	6404
+-123.0043	45.2164	7680
+-110.9332	30.088	7728
+-117.0195	34.4623	9089
+-90.5742	38.7321	9218
+-90.4207	36.7392	7687
+-107.8622	33.3579	6177
+-113.5403	28.636	4754
+-111.1565	33.9946	6713
+-80.6735	25.3542	6702
+-118.5986	32.4976	7898
+-86.9918	39.1199	7240
+-76.004	27.4402	2948
+-115.0607	46.6079	5805
+-111.2418	30.4572	7906
+-88.3245	38.2018	9035
+-93.5496	35.8872	4823
+-120.258	47.6962	6571
+-123.192	47.0626	9268
+-116.668	37.1684	6163
+-92.7916	37.6219	6558
+-108.4464	30.6575	7196
+-124.4396	47.1811	7898
+-91.8857	36.3962	6415
+-83.2218	27.6502	8654
+-119.0902	45.3346	8083
+-124.8167	46.5515	7452
+-89.4624	40.9491	6855
+-111.6093	34.62	5905
+-123.8279	47.929	8137
+-112.3225	32.2831	7189
+-123.7052	47.8876	8262
+-116.236	34.7468	8230
+-118.0618	45.701	8777
+-91.1769	35.9561	6294
+-115.3062	35.781	6744
+-95.1099	39.2892	4297
+-121.8066	41.9612	3977
+-125.7981	47.8887	6265
+-116.0902	34.7444	8092
+-112.2752	29.8805	6675
+-109.2556	30.6225	7909
+-107.3068	32.2818	6108
+-119.8364	46.9054	7408
+-109.1442	30.7296	7888
+-91.035	39.799	8093
+-123.4885	46.8607	8949
+-88.4857	40.1131	6906
+-113.1745	30.5737	6207
+-115.9261	31.9449	8239
+-118.8714	46.5285	8490
+-126.2723	47.7829	5794
+-88.4241	37.7016	9429
+-118.2295	47.9235	7329
+-95.0654	37.9232	4300
+-117.1283	35.721	7799
+-115.6953	43.2987	5221
+-91.192	38.4872	8508
+-121.0275	45.0687	6677
+-118.789	32.3031	7641
+-91.4394	37.847	7927
+-115.0714	31.1715	6954
+-111.8768	34.1068	6269
+-90.3117	37.9282	8535
+-114.5498	32.3203	7001
+-113.0587	32.999	6146
+-90.1906	41.0434	6944
+-115.3274	37.813	5001
+-124.5701	47.0112	7771
+-93.7513	40.765	5194
+-88.804	39.0687	8240
+-119.7076	41.1183	3773
+-110.8994	31.2949	8785
+-90.1977	37.5036	8066
+-109.9115	29.8578	7549
+-124.2254	44.6313	6656
+-118.3253	46.8277	8489
+-117.802	35.1096	8323
+-84.4856	29.2407	6752
+-115.6092	31.6301	7742
+-108.8185	33.8706	6501
+-89.5481	39.8036	7975
+-109.0372	29.8809	7155
+-109.2068	32.9427	7561
+-118.875	46.857	8243
+-106.737	34.7058	4313
+-116.7601	29.1174	5620
+-118.6631	45.0081	8036
+-118.6666	36.9979	6060
+-112.1956	30.7637	7269
+-107.0898	32.7944	5722
+-122.0759	45.2705	7535
+-83.6332	26.1314	7382
+-112.9893	31.2824	6577
+-84.8928	38.4046	5388
+-123.4651	47.315	8877
+-109.3804	30.881	8191
+-115.0889	34.3634	7149
+-118.3611	46.0691	9172
+-109.1634	32.3684	7947
+-90.5114	40.3271	7719
+-92.5147	38.1157	7027
+-111.3202	31.4743	8398
+-114.5837	33.8394	6860
+-117.0499	34.493	9080
+-115.0125	31.3106	7001
+-121.6865	42.8701	4912
+-122.606	45.1406	7574
+-121.4222	32.2999	4750
+-110.4891	33.5007	7389
+-109.6293	31.2799	8643
+-117.3753	34.7563	8848
+-119.7022	35.1135	6674
+-117.2279	36.8135	6614
+-118.922	37.4046	5539
+-112.5069	31.2479	7091
+-88.3596	43.2978	4059
+-122.5843	48.0009	8418
+-119.8734	45.6116	7499
+-88.1223	39.1788	7969
+-123.1354	45.3067	7764
+-81.2018	31.3334	5722
+-115.2804	32.8298	7872
+-81.5134	25.1851	6889
+-109.3449	32.217	8201
+-110.2699	32.7159	8244
+-123.5082	45.7184	8081
+-119.6663	35.2237	6663
+-119.7667	47.3232	7224
+-87.0385	41.5922	5000
+-91.0954	43.6988	4035
+-94.6794	37.8784	4700
+-119.5557	45.9971	7909
+-83.7533	29.6332	7096
+-119.2271	35.4862	6940
+-117.1365	46.3284	8022
+-113.5345	28.0254	4288
+-91.0511	34.8757	5767
+-116.8658	31.9761	8809
+-109.137	32.5285	7822
+-109.3125	32.5749	7932
+-114.2544	33.1971	6698
+-88.4182	38.3991	8904
+-116.9532	33.0618	9479
+-120.1148	30.8691	5624
+-120.0073	31.7635	6164
+-119.7395	32.8691	6659
+-108.2005	28.8085	5682
+-89.0396	38.6613	8657
+-81.2052	27.5086	8803
+-92.6037	38.3775	6998
+-117.4868	33.3001	8961
+-123.2533	45.6226	8079
+-90.241	38.6841	9255
+-92.305	40.5825	6562
+-90.8734	40.835	7116
+-108.3307	31.9502	7268
+-89.6179	35.9425	7657
+-117.1408	33.2671	9214
+-86.6637	38.0532	7415
+-82.002	30.046	7309
+-86.1088	28.7972	5246
+-89.7679	39.2287	8584
+-126.6145	47.0645	5524
+-91.7635	40.5269	6999
+-115.6964	34.7779	7686
+-85.8701	38.263	6495
+-108.6023	30.1399	7032
+-111.2142	30.0461	7554
+-117.7454	34.9062	8546
+-116.3064	33.0269	8980
+-124.8596	44.1822	5866
+-115.5315	33.3382	8050
+-82.8655	25.9769	7705
+-111.7335	30.9711	7818
+-124.4185	48.7756	7011
+-108.1834	32.5141	6935
+-108.7993	29.9253	7026
+-117.5996	30.4095	6977
+-116.4175	32.6447	9111
+-84.7736	26.9878	6778
+-109.4958	30.5683	8048
+-123.9214	47.968	8035
+-125.8807	45.8853	6123
+-118.9228	44.8105	7736
+-111.9244	35.3694	5024
+-116.3185	34.2199	8499
+-83.7519	29.3313	7346
+-117.086	47.009	7668
+-119.2412	37.4586	5319
+-114.7518	32.1835	7183
+-88.2785	38.3074	8910
+-90.7235	40.8918	7087
+-118.6754	46.6013	8587
+-118.5252	31.952	7765
+-110.2925	33.3948	7510
+-94.148	38.0847	5304
+-121.5358	48.5092	7344
+-91.518	36.7271	6924
+-119.0959	34.4511	7513
+-117.5079	32.321	8934
+-90.4891	35.867	7019
+-117.2096	35.7975	7721
+-110.3552	33.6408	7244
+-87.5573	41.6735	5042
+-86.0955	37.2399	6779
+-118.0151	35.2529	8069
+-89.1681	35.4587	7297
+-117.86	33.8631	8827
+-125.6814	46.8352	6547
+-123.7783	44.1368	6351
+-92.0389	42.1509	5347
+-87.5554	38.8982	7876
+-107.1015	34.454	4790
+-117.0947	36.1885	7288
+-85.2838	26.7543	6149
+-91.5994	36.6338	6794
+-90.8948	36.7563	7206
+-116.7497	49.2344	5565
+-91.5252	35.258	5705
+-122.3314	49.9759	6242
+-118.6194	35.2869	7599
+-122.2794	48.9715	7300
+-118.0345	32.6405	8546
+-81.4191	27.782	9084
+-88.7143	38.2951	9107
+-90.9665	37.7676	8193
+-116.6291	46.1262	7508
+-117.2519	28.7858	5246
+-84.3882	28.5525	7191
+-119.1103	46.1352	8384
+-111.119	32.7694	7932
+-117.0402	33.04	9490
+-91.2247	36.2697	6601
+-118.9769	49.0337	6068
+-82.4965	26.7855	8709
+-121.1125	45.3674	6971
+-111.9307	35.5408	4850
+-124.8251	48.245	7067
+-119.4116	46.54	7978
+-89.4968	34.8197	6517
+-118.3296	34.8971	8110
+-117.8373	35.1901	8228
+-78.9412	30.7109	4979
+-116.4295	32.5701	9094
+-123.3764	48.8947	7424
+-118.8852	34.7592	7645
+-87.5569	35.6444	7171
+-117.2596	33.5601	8913
+-89.974	39.2157	8756
+-92.5647	35.6403	5330
+-117.4839	33.1855	9044
+-119.4695	46.8126	7795
+-89.0906	37.9162	9356
+-117.471	45.5566	8226
+-93.1907	42.2168	4616
+-120.4524	44.9105	6641
+-112.8509	32.1471	6678
+-82.7726	26.1021	7875
+-120.7628	47.9857	7005
+-79.809	29.7476	6437
+-117.4582	44.444	7301
+-116.1825	37.2885	5899
+-117.9816	31.5515	7944
+-122.0214	46.963	8641
+-125.2162	47.936	6848
+-106.2467	34.348	4128
+-90.5314	42.0295	5886
+-114.7662	45.9039	5530
+-119.0468	46.4413	8375
+-91.4969	39.5538	7944
+-87.0075	41.0395	5544
+-85.2876	37.4027	5899
+-120.3398	34.4732	6165
+-82.4869	26.215	8092
+-118.4238	29.9119	6128
+-123.3011	46.9179	9162
+-119.7858	34.5973	6744
+-119.7476	32.9861	6556
+-84.3579	37.8999	4859
+-119.635	47.7457	7005
+-111.511	35.3975	5149
+-90.7784	40.2999	7700
+-110.0409	31.179	8933
+-117.4189	43.8604	6718
+-112.4127	35.3656	4797
+-118.6505	47.302	7929
+-118.2683	49.7241	5422
+-88.4372	35.7144	7593
+-115.6036	47.6274	5994
+-121.9755	44.9911	7210
+-91.1762	37.098	7449
+-122.5301	47.0199	9196
+-116.3888	30.4587	7045
+-110.2974	29.1047	6788
+-118.8334	31.9723	7468
+-91.262	39.8876	7875
+-123.3325	49.2389	7065
+-118.2033	34.1971	8514
+-83.6113	26.9182	7964
+-117.3047	45.2504	7888
+-119.0131	33.3158	7434
+-117.6425	32.1996	8732
+-115.5991	34.8007	7579
+-117.7106	37.4472	5891
+-115.8637	35.3444	7516
+-83.979	27.4555	7775
+-111.444	36.6684	3834
+-125.5896	44.8587	5852
+-119.7137	31.3146	6261
+-89.985	43.7756	3991
+-118.0008	34.6716	8545
+-116.7137	45.6161	7521
+-122.1873	43.3388	5544
+-90.1964	36.8029	7940
+-83.8957	25.8603	6955
+-123.4892	48.4948	7807
+-87.7602	37.9575	8639
+-115.3661	31.6474	7542
+-117.1369	34.9141	8674
+-109.2281	31.4212	8263
+-115.2299	33.2413	7759
+-91.6177	39.6148	7800
+-83.0883	26.0773	7697
+-115.8645	30.1618	6547
+-120.264	30.5365	5281
+-120.795	29.5729	4156
+-89.1499	38.0814	9181
+-87.3115	36.9688	8004
+-119.4553	45.1092	7635
+-110.396	31.173	9024
+-120.9966	45.6866	7086
+-119.0804	35.1141	7289
+-81.9588	27.1893	9210
+-111.1937	31.5301	8540
+-87.382	38.0409	8205
+-86.7051	38.1074	7449
+-80.5153	27.469	8031
+-117.3781	45.3508	8016
+-110.779	31.9519	8847
+-88.5361	39.0066	8288
+-90.9304	39.9338	8019
+-115.8286	31.2458	7589
+-109.4241	26.9214	4327
+-114.2355	32.2464	6641
+-126.9633	45.8685	4982
+-116.7756	36.698	6689
+-117.2986	35.0882	8496
+-114.0218	33.4945	6382
+-86.2259	34.4385	5204
+-123.8489	47.0191	8562
+-120.5793	48.7074	6419
+-110.1502	33.1771	7735
+-112.0311	28.8449	5983
+-118.6956	34.8379	7800
+-89.7592	35.3179	6954
+-90.2665	39.4033	8709
+-92.156	39.0296	7490
+-81.7982	27.2193	9166
+-89.7555	39.7184	8180
+-87.2004	36.0621	7299
+-120.4641	49.4493	5785
+-109.0066	31.3951	8022
+-118.7344	44.3548	7351
+-114.1756	32.9497	6636
+-121.2277	46.7831	7758
+-119.2957	49.404	5601
+-108.2441	31.967	7172
+-117.7052	32.551	8877
+-124.2519	46.6203	8073
+-91.1875	38.1251	8327
+-84.8179	29.8354	6058
+-117.2528	32.2027	8997
+-117.0387	33.9394	9211
+-118.5638	35.2097	7699
+-122.1728	46.4102	8600
+-90.3232	39.6001	8506
+-121.5349	47.9819	7737
+-82.7979	29.184	8121
+-89.2669	36.5068	8398
+-118.3475	31.6627	7746
+-80.2102	26.3711	7204
+-91.0681	38.48	8631
+-115.8079	34.0453	7944
+-121.4479	35.1411	4846
+-125.0685	44.5386	6030
+-93.7524	37.5668	5576
+-117.8382	49.1447	6002
+-105.974	32.805	4569
+-118.3976	32.2852	8050
+-86.8864	38.5933	7462
+-123.0255	46.1506	8699
+-91.7701	36.3951	6479
+-82.471	26.1126	7983
+-126.3485	48.0712	5628
+-114.6284	46.6719	5343
+-115.735	46.7116	6485
+-113.9128	30.3446	5370
+-115.6177	31.723	7816
+-115.8598	42.0356	4249
+-118.7844	49.33	5799
+-115.1904	33.8975	7434
+-108.3345	34.5825	5569
+-107.9526	32.5214	6701
+-118.2991	36.828	6390
+-122.2679	45.0119	7349
+-115.2656	32.7654	7855
+-89.507	40.1718	7624
+-123.6602	49.4873	6714
+-122.257	47.2583	8830
+-83.4034	27.596	8443
+-115.491	44.8518	6021
+-92.2156	41.9172	5480
+-116.7344	31.6698	8448
+-88.2484	41.8487	5368
+-88.3587	35.1164	6917
+-116.486	48.8716	5762
+-116.1078	34.8366	8059
+-110.9909	35.1623	5531
+-121.7479	49.809	6237
+-119.2852	46.6968	8025
+-115.8155	44.0027	5831
+-122.8427	45.9642	8503
+-112.8073	32.699	6533
+-118.9148	33.4812	7604
+-110.6765	34.4002	6399
+-118.1184	44.2003	7241
+-82.1235	27.9076	9733
+-115.5582	32.1818	8030
+-88.4928	39.1205	8154
+-81.2703	29.0463	8146
+-113.7687	36.6643	4828
+-115.3854	34.5339	7440
+-114.8613	34.2951	6908
+-109.9691	34.4004	6396
+-86.2239	40.1978	5787
+-118.9176	47.9799	7159
+-119.9983	46.2735	7435
+-90.7604	40.0867	7927
+-115.4165	32.9163	8020
+-119.0426	34.1294	7601
+-115.9344	35.4605	7487
+-119.3149	34.0067	7299
+-82.6933	29.1327	8222
+-118.0469	31.2132	7596
+-116.7732	45.283	7442
+-91.5318	42.4085	5291
+-87.6227	34.6173	6160
+-123.5248	44.2439	6537
+-124.62	46.1786	7528
+-114.8715	44.6491	5334
+-118.5527	35.4718	7513
+-82.4898	28.8912	8558
+-122.4593	45.5865	8015
+-115.78	34.5591	7851
+-122.4046	45.8457	8260
+-117.1874	45.9307	8086
+-115.6465	29.7209	5999
+-119.4982	30.9446	6241
+-111.4184	33.8028	6797
+-91.5125	39.6351	7878
+-88.0867	39.5549	7562
+-107.8119	33.8783	5780
+-124.3457	47.9259	7700
+-109.5103	32.9462	7749
+-122.1519	44.8108	7099
+-118.907	47.3919	7741
+-84.8174	29.5384	6254
+-108.0484	31.4263	6992
+-90.3658	37.4082	7978
+-88.8456	45.484	1979
+-115.0507	29.9891	5943
+-117.139	49.3871	5574
+-116.4207	32.612	9103
+-82.2261	30.764	6500
+-117.7649	47.0488	8115
+-89.3705	40.5899	7161
+-92.2093	35.662	5558
+-80.4201	27.0433	7789
+-118.1019	30.8252	7196
+-122.1236	43.958	6193
+-88.2648	37.0805	8950
+-89.2847	37.7711	9222
+-89.4325	36.3624	8172
+-112.385	29.8342	6552
+-90.7103	40.1084	7918
+-89.9798	41.0396	6919
+-113.937	32.802	6374
+-82.0427	31.9797	5125
+-114.2581	33.1597	6708
+-123.1806	45.419	7878
+-82.2566	27.8323	9734
+-79.9408	28.1654	7371
+-116.9625	46.1181	7862
+-120.6978	47.0646	7184
+-80.37	26.2202	7239
+-116.1598	32.9188	8846
+-89.4044	38.1556	8913
+-83.5833	25.4386	6790
+-94.7373	36.8738	4314
+-87.9285	37.1153	8689
+-88.4819	36.5166	8486
+-78.6172	28.0408	5902
+-124.9208	46.5713	7344
+-88.2801	35.402	7216
+-94.7574	37.3046	4459
+-125.0377	47.6428	7143
+-90.0167	40.1122	7904
+-118.2082	45.2555	8363
+-119.8365	43.1851	5762
+-112.353	29.1903	6081
+-107.7613	33.1163	6229
+-79.4051	28.0958	6783
+-88.2097	36.6343	8499
+-116.4984	33.6699	8559
+-112.7244	35.2412	4739
+-118.0809	48.3195	6900
+-124.2702	49.1445	6779
+-110.3316	30.2544	8034
+-124.7996	46.9928	7519
+-123.4831	45.7815	8155
+-119.6599	32.6372	6742
+-110.6951	34.8147	5951
+-117.6412	31.7852	8378
+-117.9435	32.4915	8604
+-115.224	29.5685	5642
+-87.6748	39.9501	6973
+-117.5146	33.1197	9054
+-114.6704	34.4895	6679
+-91.6175	41.1467	6519
+-112.1929	31.7081	7454
+-117.0932	31.0883	7820
+-121.8147	34.5127	4560
+-117.6892	47.0763	8050
+-117.768	45.916	8681
+-84.0437	30.7042	5928
+-86.227	35.5444	6101
+-120.5875	34.7746	5848
+-82.7946	27.8823	9133
+-80.7945	27.2383	8264
+-117.9494	42.8279	5777
+-109.5235	30.056	7601
+-115.3471	35.5743	6920
+-122.6703	48.5547	7843
+-118.1146	32.4953	8423
+-123.2912	46.5032	8940
+-88.4875	43.6482	3763
+-90.8467	36.9658	7437
+-114.4114	37.8122	4458
+-115.3153	33.8575	7576
+-117.0076	33.9811	9210
+-117.548	35.3428	8183
+-81.9006	29.7413	7643
+-108.0173	28.8487	5591
+-112.0437	34.1249	6154
+-125.4814	49.4495	5671
+-118.1586	31.4492	7729
+-126.2544	45.5327	5598
+-85.6804	38.6435	6181
+-92.7585	38.3572	6830
+-117.391	31.0075	7680
+-88.6786	37.9414	9491
+-85.9189	37.7843	6616
+-82.7586	27.2957	9007
+-123.2683	46.454	8913
+-119.4335	33.6818	7123
+-112.2855	32.7415	7014
+-122.3469	48.7181	7588
+-108.7216	28.2534	5465
+-117.7029	35.8998	7553
+-88.6583	38.0784	9336
+-90.598	37.5308	8090
+-118.2469	32.8833	8323
+-108.1769	31.6074	7137
+-91.2067	41.7233	6099
+-116.1586	34.3033	8315
+-119.2517	46.9095	7924
+-88.2859	37.0867	8970
+-108.8401	32.2353	7708
+-91.2615	38.2923	8357
+-115.0265	37.8051	4846
+-119.2217	34.2092	7404
+-90.4476	39.0334	9111
+-114.1198	35.3905	5842
+-94.3135	37.6642	5030
+-117.0614	36.943	6465
+-117.1904	33.1698	9286
+-84.6476	28.8753	6784
+-115.884	35.573	7361
+-119.5304	44.7371	7304
+-87.101	41.5287	5093
+-91.2313	39.8974	7887
+-82.1532	29.3745	8073
+-81.0689	30.2395	6847
+-116.5843	31.7409	8479
+-84.6283	39.3857	4785
+-94.4787	38.9949	5002
+-84.9138	29.9886	5866
+-88.7239	34.461	6217
+-116.9199	32.6306	9539
+-82.0598	29.3085	8146
+-119.7261	36.206	6029
+-108.2103	32.9712	6725
+-92.3072	38.0953	7234
+-90.7974	36.4817	6939
+-83.0632	26.4212	8042
+-111.2732	30.397	7834
+-80.7364	24.9621	6348
+-81.2876	27.0264	8621
+-123.1493	45.7268	8217
+-112.7203	29.4262	5988
+-89.3354	38.8792	8286
+-109.0491	34.0874	6425
+-119.2115	33.6764	7359
+-88.7053	37.8139	9635
+-79.2685	31.6232	4457
+-111.4502	30.023	7395
+-121.1444	35.1561	5163
+-84.767	26.6833	6671
+-117.808	35.3469	8088
+-121.0827	34.0848	5375
+-116.8423	33.9517	9034
+-89.3589	39.4046	8114
+-110.7421	33.1069	7764
+-121.2355	47.2664	7748
+-116.6219	43.5044	5997
+-90.9346	40.3936	7556
+-120.0597	47.4067	6925
+-123.3682	45.6885	8111
+-112.1303	30.7311	7319
+-120.4123	44.2727	6289
+-75.7032	27.3945	2605
+-112.5189	30.3951	6778
+-119.6532	32.8559	6756
+-114.4073	32.0366	6769
+-92.4247	38.2457	7158
+-125.8704	47.7836	6222
+-80.9438	26.8001	8158
+-123.7788	45.2718	7509
+-116.8059	37.6308	5690
+-122.5852	45.6515	8121
+-116.8422	46.7093	7604
+-89.6219	37.5643	8848
+-80.634	32.3948	4388
+-119.0945	33.143	7270
+-116.7825	32.0694	8894
+-111.1736	28.9534	6482
+-87.9816	38.0894	8814
+-90.2468	41.388	6577
+-114.5713	32.9683	7076
+-115.8242	46.6302	6596
+-114.528	28.6555	4373
+-118.1518	34.9387	8232
+-124.0711	47.6966	8090
+-117.3634	32.4487	9149
+-119.2492	34.4636	7345
+-115.4743	35.0049	7364
+-85.0756	29.9943	5717
+-119.8069	35.0566	6590
+-114.5182	46.3343	5265
+-109.0277	32.3266	7846
+-123.3606	44.7796	7151
+-119.7208	35.2626	6591
+-110.0185	31.4156	9087
+-90.4516	38.2907	8924
+-120.0183	48.6735	5973
+-119.1483	37.1533	5656
+-123.0912	46.6973	9243
+-117.4939	30.0827	6647
+-116.6551	48.403	6273
+-87.345	39.9175	6826
+-108.1999	30.7842	7005
+-114.3611	36.5664	5404
+-89.4262	36.9523	8724
+-116.9096	34.3365	9090
+-126.1123	48.7416	5574
+-114.6733	34.9429	6574
+-110.115	31.6536	9225
+-107.9904	27.8346	4684
+-86.9425	38.2359	7670
+-113.7445	31.4373	5774
+-114.6593	34.1566	6694
+-86.4008	37.3645	7138
+-87.8739	41.6149	5319
+-89.5438	39.5646	8164
+-113.8496	32.898	6275
+-79.503	28.3926	6833
+-82.0782	26.7565	8748
+-112.698	32.4042	6762
+-115.3907	36.9242	5870
+-116.4782	37.5166	5748
+-92.1915	38.5725	7466
+-108.9375	29.1354	6421
+-120.1284	44.0157	6312
+-77.1027	29.7332	3782
+-90.3841	38.7854	9386
+-116.2462	45.5359	7022
+-109.9367	31.2376	8904
+-84.1053	42.372	2380
+-116.426	44.6706	6778
+-116.3575	30.4307	7006
+-92.856	40.6706	6050
+-89.3076	39.109	8202
+-83.5261	24.1838	5543
+-121.1698	33.3804	5202
+-120.4996	32.8501	5744
+-88.1001	38.5482	8574
+-113.662	35.209	5435
+-117.9229	35.6859	7699
+-83.3798	27.3912	8420
+-122.9727	49.3905	6942
+-115.0153	33.5916	7411
+-122.2486	47.87	8383
+-116.6213	35.1506	8224
+-122.1655	42.7199	4871
+-123.8844	43.6633	5819
+-125.343	47.8358	6757
+-124.236	46.6029	8085
+-88.6289	39.1311	8163
+-82.7414	26.9062	8701
+-82.5559	25.1253	6866
+-90.685	39.0858	8938
+-77.4614	29.7577	4147
+-115.7541	40.0038	2925
+-117.1747	31.5412	8311
+-109.051	32.1498	7955
+-116.821	32.747	9573
+-91.6077	35.0998	5518
+-84.436	30.5628	5794
+-80.688	27.6765	8254
+-118.4858	31.7054	7653
+-111.9242	33.4823	6789
+-87.9811	36.5724	8304
+-82.4581	30.2242	7088
+-110.5298	30.0539	7803
+-117.8192	31.8973	8354
+-116.4137	34.3019	8589
+-117.7403	45.2769	8216
+-85.7189	40.642	5034
+-116.9776	35.6822	7819
+-118.0113	32.8667	8586
+-87.2581	33.0926	4409
+-85.128	27.2777	6460
+-83.6115	26.8474	7923
+-114.088	34.8182	5991
+-113.5959	34.3277	5528
+-84.3697	26.8293	7149
+-80.9682	28.353	8417
+-126.5205	46.5041	5596
+-119.2469	46.2472	8228
+-115.9573	44.3938	6205
+-117.1593	44.6608	7327
+-85.6269	38.3143	6216
+-119.2834	36.6638	6008
+-83.3703	28.6645	8163
+-115.813	47.2359	6381
+-116.9376	33.5106	8978
+-120.6087	32.8765	5643
+-92.4351	38.2488	7148
+-123.6521	47.3118	8697
+-118.0092	31.1258	7537
+-120.8356	43.1325	5115
+-89.1917	40.3256	7295
+-88.1489	41.6333	5493
+-113.2263	29.806	5795
+-85.7398	30.3796	4854
+-83.084	27.4596	8762
+-108.6961	30.426	7301
+-120.4238	32.517	5882
+-89.9426	36.1825	7690
+-88.264	31.7975	3203
+-88.1326	39.1731	7980
+-114.7526	31.8545	7060
+-112.5679	29.7394	6335
+-119.2694	48.9522	6064
+-111.6873	31.9915	7941
+-117.0507	33.2757	9232
+-90.1832	36.2275	7549
+-114.7415	34.7333	6707
+-90.3752	43.1387	4694
+-85.305	24.2736	4555
+-115.6455	34.3824	7749
+-82.1376	29.302	8155
+-89.6965	37.3038	8695
+-85.2635	36.9785	5808
+-115.6514	38.1446	4821
+-116.2709	34.0339	8446
+-121.3383	46.771	7877
+-108.3953	31.352	7359
+-89.9226	40.691	7274
+-122.7998	47.4317	9083
+-114.7217	48.1269	4920
+-81.628	27.2528	9077
+-87.943	40.4415	6565
+-113.3266	30.1941	5898
+-89.5609	40.9898	6853
+-120.4622	43.1055	5338
+-117.1434	35.6657	7861
+-94.3388	40.8852	4580
+-89.0985	38.3715	8940
+-89.9129	36.2251	7748
+-88.8022	42.6374	4901
+-116.2467	34.2303	8420
+-84.8225	38.3854	5315
+-82.5073	26.9307	8856
+-124.9683	44.8798	6378
+-120.1927	43.8424	6129
+-117.8884	32.3813	8616
+-84.9224	35.7154	4976
+-118.692	31.8858	7566
+-89.5029	36.2894	8063
+-109.4111	29.7965	7295
+-86.9966	36.7639	7585
+-76.7586	29.1024	3627
+-122.3153	45.8006	8173
+-91.7355	37.373	7344
+-117.201	34.7194	8895
+-118.0913	34.2515	8629
+-116.5475	35.9157	7441
+-118.5189	32.115	7853
+-86.7497	24.1214	3238
+-85.5684	35.8556	5690
+-109.8408	30.9206	8579
+-110.6555	32.4947	8426
+-78.9048	27.5349	6230
+-107.766	32.1839	6617
+-119.1603	35.6284	6906
+-109.6264	30.6227	8181
+-116.7382	30.1479	6765
+-117.1509	35.2295	8335
+-78.3795	28.4684	5572
+-93.921	37.5944	5413
+-119.0609	46.3904	8381
+-80.3613	24.6703	5856
+-119.4733	45.203	7682
+-117.007	33.0782	9458
+-90.9668	34.8493	5803
+-85.8139	35.4534	5673
+-91.7217	42.9587	4664
+-116.6094	49.9452	4819
+-117.6437	34.7182	8779
+-117.3286	34.8908	8709
+-117.0379	44.7205	7292
+-125.3741	49.2188	5931
+-82.2311	27.9189	9688
+-81.3904	26.3714	8104
+-123.4218	45.8825	8284
+-112.2966	31.0849	7279
+-112.1282	28.6463	5744
+-89.6851	39.979	7901
+-89.6702	41.3879	6479
+-115.2448	46.1909	6041
+-120.6922	45.2458	6554
+-109.9142	35.1836	5546
+-121.8618	49.5739	6523
+-121.4636	48.3268	7433
+-116.2679	32.4352	8865
+-114.4566	36.5481	5496
+-106.3874	32.3742	5113
+-116.8559	35.4555	8028
+-117.3931	33.0855	9190
+-88.3028	34.9598	6733
+-125.4807	48.467	6327
+-118.3379	48.4083	6815
+-78.6819	27.7748	5988
+-113.8824	36.0593	5290
+-121.2525	43.7997	5684
+-88.9038	37.365	9444
+-93.1789	39.2824	6357
+-121.3259	49.2776	6534
+-118.4609	32.2426	7967
+-118.8799	43.236	6162
+-84.4187	38.6516	4811
+-91.2287	38.6408	8506
+-116.865	47.6886	7005
+-118.0524	46.4687	8800
+-110.5078	32.5473	8412
+-109.3396	31.3768	8374
+-90.8169	37.738	8238
+-92.1684	38.4599	7475
+-90.0435	37.4173	8355
+-90.1225	41.4215	6531
+-88.3927	39.0603	8195
+-93.119	36.7264	5757
+-120.2464	34.7854	6210
+-108.1843	32.8094	6793
+-114.3564	31.6927	6583
+-117.2063	32.2708	9088
+-119.2845	45.6042	8077
+-116.0843	32.2632	8591
+-82.3218	26.8531	8837
+-116.6611	33.9436	8846
+-117.6008	47.8708	7251
+-82.0647	27.2832	9340
+-124.9058	46.7085	7384
+-123.5396	46.3083	8598
+-91.1027	36.2936	6666
+-88.9219	35.9891	7925
+-108.0184	33.1471	6447
+-110.6123	32.0001	8930
+-116.5928	29.9228	6498
+-120.8391	48.0556	7045
+-113.8275	31.9927	6133
+-118.2498	32.2425	8185
+-88.9141	37.3756	9449
+-124.8513	45.8804	7153
+-125.8341	47.6149	6305
+-116.0772	35.0463	7902
+-114.5015	32.8776	7002
+-121.7984	48.2814	7722
+-119.1221	49.6105	5438
+-92.4216	37.8675	7030
+-117.574	35.6245	7877
+-123.7922	45.6398	7850
+-120.876	34.204	5600
+-111.1711	33.6109	7097
+-87.652	41.0942	5545
+-116.8211	34.5712	8856
+-89.9772	36.9965	8262
+-115.8748	38.0213	5033
+-123.0512	47.6531	8834
+-110.2391	30.9913	8824
+-90.7944	36.0957	6936
+-117.4614	31.0878	7747
+-123.9115	48.9415	7168
+-83.9927	28.8668	7448
+-120.82	44.3558	6000
+-125.0638	48.7143	6550
+-120.7764	47.0928	7269
+-90.4408	39.0012	9147
+-118.6546	31.3084	7228
+-83.3819	28.9991	7908
+-114.5499	33.9877	6757
+-108.7496	29.9382	6999
+-106.911	30.9939	5711
+-112.1065	35.6736	4643
+-89.2177	37.6674	9309
+-123.9521	45.0702	7224
+-86.7038	37.0654	7403
+-90.8744	37.3832	7859
+-119.6721	44.1717	6744
+-117.1292	30.6145	7290
+-82.2331	26.5259	8484
+-122.494	48.3368	8036
+-115.8443	46.3104	6668
+-119.2723	35.6747	6779
+-114.5423	32.1396	6945
+-116.8027	29.8766	6468
+-91.7179	42.0621	5576
+-117.319	30.6232	7275
+-118.4396	28.434	4596
+-81.7281	27.9523	9388
+-110.4814	32.7561	8193
+-90.853	36.5899	7042
+-82.467	30.9795	6238
+-92.5883	38.982	7035
+-119.1765	34.0114	7450
+-86.8567	25.412	3921
+-109.9071	32.7332	8145
+-119.3247	46.3091	8136
+-120.0407	45.1374	7138
+-113.9806	37.8517	4125
+-115.0956	34.3933	7153
+-117.9747	28.8778	5218
+-116.6399	34.6044	8683
+-81.9054	28.3493	9185
+-118.3085	30.2926	6564
+-91.4821	40.9433	6780
+-114.0407	32.657	6484
+-122.8974	46.1511	8710
+-113.6637	28.5405	4586
+-109.7709	30.7451	8380
+-112.5894	35.3175	4747
+-117.7909	35.4928	7948
+-121.3238	47.6642	7713
+-124.4395	47.1372	7904
+-113.5012	32.6047	5867
+-113.7575	30.5426	5596
+-118.7402	35.2728	7506
+-117.5189	43.8553	6749
+-83.8388	31.5405	5207
+-119.2617	45.3287	7941
+-115.4418	34.9397	7362
+-116.1385	32.4942	8762
+-115.3166	32.1509	7768
+-85.7597	38.3466	6354
+-112.5416	33.0945	6574
+-118.9095	31.9883	7397
+-117.3935	33.9708	9313
+-117.6158	48.8957	6216
+-117.7353	34.3199	8988
+-118.0539	31.0392	7429
+-82.8871	26.2347	7961
+-123.0293	45.4623	7947
+-116.0224	44.6715	6428
+-86.496	37.126	7195
+-120.3189	43.3168	5609
+-88.9936	38.1703	9194
+-87.4929	39.3758	7422
+-117.1313	35.4427	8102
+-116.8576	47.1459	7388
+-114.9975	30.3456	6229
+-118.8185	43.8105	6770
+-86.4857	39.1816	6741
+-107.0934	30.6144	5810
+-116.9796	37.7991	5527
+-119.443	33.7376	7125
+-120.5816	45.8841	6816
+-124.1238	48.1007	7773
+-90.9025	35.3158	6250
+-115.2578	32.1877	7722
+-119.4717	45.152	7651
+-113.6368	31.0466	5847
+-117.0537	47.7514	7080
+-118.8495	49.945	5144
+-124.3211	46.4257	7936
+-81.076	29.8807	7218
+-110.5305	32.5215	8435
+-117.6291	43.8225	6751
+-80.217	27.8912	7720
+-111.7065	34.3728	6105
+-89.3722	38.288	8841
+-116.6193	35.3755	8010
+-117.2539	35.9043	7606
+-92.3299	35.5678	5404
+-90.7535	39.4254	8594
+-120.7912	46.319	7183
+-113.1968	31.5794	6371
+-87.3927	38.1346	8186
+-123.3766	48.6586	7675
+-85.9207	44.5205	1562
+-116.7056	30.6066	7271
+-118.9993	47.7137	7391
+-89.3705	40.4233	7316
+-115.7343	45.7437	6535
+-116.6776	38.56	4667
+-117.3862	44.6361	7442
+-118.6417	32.3384	7810
+-115.5728	29.5865	5829
+-117.2659	34.4377	9206
+-124.1839	41.5726	3515
+-117.9035	49.6053	5526
+-80.3527	27.5008	7856
+-119.3013	45.6755	8092
+-91.063	40.3111	7589
+-118.2184	31.979	8073
+-85.7917	35.26	5520
+-88.6387	41.2657	6125
+-110.2268	31.3157	9161
+-90.0185	40.0601	7959
+-110.2595	32.9106	8033
+-90.1715	35.8565	7244
+-85.1483	36.576	5573
+-111.1587	30.9512	8347
+-116.0945	35.4262	7634
+-117.7539	37.733	5575
+-120.2187	45.6486	7156
+-116.7441	30.81	7501
+-115.0522	39.6644	3039
+-81.9859	28.9655	8526
+-90.5862	39.7992	8273
+-81.2026	29.5756	7591
+-80.1768	27.6013	7671
+-109.5096	33.8535	6857
+-118.3355	36.7562	6448
+-108.623	30.6857	7381
+-121.4752	47.154	8027
+-123.6644	44.5286	6799
+-118.6818	37.23	5824
+-91.1575	37.8184	8119
+-118.474	47.7538	7497
+-83.7529	27.4324	8022
+-91.2575	39.9669	7809
+-78.9022	27.4576	6220
+-117.3929	33.2872	9045
+-110.0686	28.8565	6505
+-114.5404	33.2071	7012
+-109.0255	29.9763	7229
+-90.8982	38.5728	8837
+-112.9142	34.431	5310
+-81.1769	27.2335	8654
+-118.0075	30.5607	6982
+-113.2029	33.1736	5919
+-120.9016	47.6057	7301
+-90.332	37.0024	7907
+-114.8274	46.3016	5594
+-121.0598	46.969	7584
+-116.8584	35.2751	8215
+-116.7424	46.7816	7476
+-89.2493	36.9265	8824
+-118.5281	33.2279	7844
+-121.4597	47.6355	7861
+-109.9984	30.734	8484
+-119.4387	45.7181	7972
+-89.0036	36.3385	8301
+-116.5397	34.8296	8440
+-126.6633	49.9266	4346
+-79.0666	31.6599	4285
+-116.8918	31.2285	7980
+-115.291	41.6014	3538
+-114.3361	33.4277	6741
+-111.5119	33.1829	7321
+-114.82	33.3403	7288
+-89.9853	38.7749	8995
+-92.4061	39.3783	7141
+-90.7139	37.2288	7746
+-79.7795	26.9436	7071
+-109.4501	32.9145	7743
+-109.642	32.0826	8550
+-89.2514	39.2157	8105
+-87.5782	38.2181	8344
+-89.7088	34.176	5757
+-119.0376	43.4864	6380
+-82.6356	29.1955	8179
+-90.1034	41.7723	6153
+-124.0414	47.3453	8285
+-119.0375	34.7857	7479
+-114.0986	33.4603	6474
+-92.5879	38.9466	7039
+-116.4337	44.0134	6307
+-88.3861	38.6116	8671
+-110.6857	32.4535	8456
+-114.3932	32.7433	6881
+-85.2378	37.4016	5843
+-121.1622	47.7553	7510
+-122.0291	48.3583	7802
+-115.008	30.2966	6193
+-82.8527	30.5388	6652
+-91.9469	36.2516	6248
+-117.234	27.6564	3989
+-107.6779	36.3273	3583
+-89.2318	38.0809	9115
+-116.5489	33.6342	8584
+-120.6674	44.8237	6397
+-118.1832	33.9054	8508
+-118.8646	45.3748	8276
+-82.052	29.1812	8289
+-113.4559	34.1631	5559
+-120.6138	32.6979	5565
+-89.2919	34.9709	6733
+-109.2032	29.0842	6502
+-118.9011	47.8912	7254
+-108.5608	31.4121	7544
+-80.0012	30.3185	6130
+-110.7639	32.2039	8655
+-118.8367	33.8087	7789
+-123.0961	45.9176	8434
+-121.9138	33.9392	4464
+-119.193	46.7252	8092
+-90.9868	37.4162	7846
+-117.7635	38.2391	5027
+-117.4777	45.9102	8384
+-116.0327	32.4821	8646
+-88.6503	37.2595	9341
+-116.457	35.4582	7844
+-88.508	37.1848	9202
+-80.339	27.0367	7701
+-90.5007	40.2893	7760
+-91.5574	39.0942	8106
+-120.3117	47.6939	6528
+-90.714	37.8819	8423
+-82.422	27.2712	9244
+-124.3371	49.5828	6327
+-123.7441	45.9817	8181
+-82.5577	25.1144	6854
+-118.1826	29.458	5769
+-109.3748	32.3002	8177
+-92.8952	35.9687	5385
+-117.7935	44.2761	7261
+-92.3563	36.5067	6204
+-88.7669	38.0043	9435
+-120.1352	34.529	6379
+-108.9417	28.1112	5421
+-88.42	38.6953	8596
+-118.774	48.8082	6346
+-89.9322	37.9335	8419
+-116.8749	33.3768	9120
+-89.2323	39.574	7899
+-118.068	32.0639	8265
+-124.1766	49.6244	6367
+-124.0301	45.4592	7536
+-90.3493	36.0102	7244
+-88.8807	38.5756	8786
+-111.5877	31.6175	8114
+-110.5978	32.6529	8280
+-124.7978	47.7568	7348
+-112.1784	32.694	7140
+-122.2754	44.4334	6740
+-117.7429	32.7818	8886
+-85.8921	38.2973	6512
+-82.9455	28.2682	8812
+-107.073	34.986	4368
+-90.2263	41.1176	6867
+-122.0989	42.433	4548
+-111.4476	32.143	8123
+-93.4341	39.7404	5967
+-118.4518	35.4016	7644
+-88.791	34.5648	6334
+-113.6528	32.6331	6051
+-116.7242	34.7464	8645
+-87.2541	37.8141	8109
+-81.0658	24.4546	5956
+-92.9321	41.0076	5755
+-111.2634	31.7871	8442
+-114.5052	35.4587	6197
+-90.3769	40.2519	7806
+-120.5951	46.8344	7070
+-78.9291	25.5998	5516
+-89.4382	41.3999	6392
+-124.2757	47.9328	7759
+-116.2486	30.9484	7520
+-91.0396	35.5077	6297
+-85.2584	39.1002	5561
+-116.2044	34.5184	8305
+-117.3175	49.2265	5795
+-118.5857	48.2854	6924
+-78.304	29.7808	4997
+-116.6158	28.7502	5200
+-79.0576	27.346	6380
+-119.1693	32.9132	7294
+-79.6472	32.6657	3677
+-121.6896	47.8988	7928
+-118.2589	47.4096	7873
+-117.5419	29.6272	6138
+-123.408	47.2954	8941
+-78.9195	25.3608	5351
+-88.0368	39.9857	7085
+-88.6099	38.4594	8907
+-116.3644	36.0642	7213
+-79.9922	27.6372	7466
+-120.54	36.5571	5095
+-91.5392	36.0431	6252
+-120.3627	46.207	7055
+-87.1387	42.0542	4433
+-110.1459	29.3557	7052
+-88.3177	38.4575	8794
+-120.8974	36.0242	5072
+-89.5694	41.6282	6200
+-122.8591	47.4111	9116
+-79.354	29.2749	6315
+-88.3381	36.4271	8344
+-82.0595	27.4601	9536
+-114.6575	47.4685	5156
+-77.8849	24.6309	3918
+-121.6281	44.8712	6913
+-76.1468	27.1979	3089
+-84.6716	32.129	4182
+-111.4288	36.5158	3999
+-117.9524	44.7648	7804
+-116.9285	47.6833	7054
+-118.0755	34.3762	8617
+-116.2582	30.8592	7431
+-106.1058	34.6067	3842
+-113.802	30.4341	5515
+-116.7268	33.5873	8700
+-84.588	25.8559	6373
+-108.8297	29.8828	7014
+-113.9549	34.915	5826
+-93.039	38.0062	6452
+-89.6654	36.8324	8439
+-90.231	35.7889	7143
+-121.9167	49.4382	6684
+-114.1413	44.6081	4598
+-123.1759	45.045	7473
+-121.7895	43.8487	5970
+-88.3548	36.2853	8198
+-120.9576	43.7828	5513
+-113.4564	30.7843	5981
+-91.1837	39.7134	8074
+-79.5817	26.1614	6482
+-124.3327	47.2147	8009
+-117.5253	45.4946	8233
+-126.5634	48.2672	5335
+-117.4944	34.853	8714
+-81.413	30.3306	6879
+-111.8275	31.2528	7816
+-118.1024	34.6604	8460
+-117.0974	35.3015	8250
+-116.0425	34.3436	8183
+-91.2173	37.4696	7777
+-121.5144	45.3613	7276
+-91.2304	38.5512	8486
+-119.0813	32.1206	7270
+-106.4844	30.0175	4972
+-119.0236	33.3838	7454
+-117.2646	44.1014	6885
+-87.9662	36.9027	8574
+-113.2492	29.0807	5310
+-92.885	34.0848	3719
+-87.1935	36.9375	7869
+-85.7928	39.1405	6089
+-86.9804	36.7304	7552
+-83.078	24.4324	5972
+-90.5547	37.7022	8280
+-117.5372	41.6491	4481
+-121.0962	45.1636	6804
+-90.2917	36.095	7357
+-82.1731	28.8191	8701
+-117.9013	31.2175	7687
+-113.9956	35.0105	5844
+-124.1455	46.7059	8208
+-89.1684	38.5911	8683
+-117.1905	32.8747	9495
+-116.2469	45.5855	7036
+-116.422	35.4707	7813
+-79.0936	24.7283	5030
+-84.6347	24.9485	5629
+-112.2703	34.4432	5731
+-115.2501	34.3211	7329
+-118.4201	35.1482	7862
+-78.9399	31.4253	4398
+-108.7137	28.2538	5462
+-117.3548	34.6959	8917
+-89.5833	37.1563	8735
+-118.7937	48.5413	6619
+-116.3996	36.5385	6749
+-116.6919	33.2888	9144
+-85.7275	41.5429	4285
+-122.7282	47.4269	9066
+-121.5483	45.9725	7763
+-117.9566	48.9644	6207
+-88.2004	41.4959	5644
+-82.5976	26.7268	8604
+-114.8782	36.8546	5588
+-114.1325	31.7582	6378
+-87.8083	36.4755	8100
+-122.3073	44.5527	6875
+-116.7072	43.5919	6123
+-85.9589	40.1133	5634
+-116.5809	35.4596	7909
+-117.4213	47.1367	7833
+-88.3491	39.9453	7214
+-108.2302	31.3718	7183
+-110.399	32.9134	8031
+-108.3252	31.1973	7258
+-112.8213	31.3414	6765
+-81.3347	26.6394	8330
+-120.559	33.8276	5931
+-85.7974	28.6881	5618
+-117.4645	33.94	9236
+-124.4499	49.3428	6489
+-122.928	42.3244	4506
+-88.9844	39.3265	7794
+-119.5326	43.4755	6182
+-119.0114	35.1653	7327
+-88.871	40.5993	6849
+-89.2354	39.289	8057
+-83.4258	28.6711	8108
+-114.1751	32.047	6523
+-117.3451	32.1775	8924
+-118.9458	49.1367	5969
+-83.5946	27.338	8170
+-91.661	36.3488	6493
+-92.508	40.2749	6606
+-111.6455	30.807	7822
+-117.8484	44.1682	7163
+-89.5754	43.0039	4757
+-116.7394	30.1014	6714
+-84.4047	40.7472	3820
+-78.0992	26.4393	5088
+-117.5911	47.3043	7789
+-79.4268	26.574	6546
+-119.4275	47.1285	7631
+-111.2479	29.4687	6977
+-118.1591	32.8887	8420
+-113.2355	31.5572	6329
+-80.5021	26.134	7281
+-81.344	30.2514	6943
+-94.4529	38.1161	4985
+-117.5827	32.6836	9050
+-114.2276	36.4336	5380
+-120.1439	44.3265	6538
+-85.5127	39.9203	5372
+-115.6241	32.6474	8244
+-124.5983	46.2548	7583
+-117.2495	31.4966	8247
+-89.2827	35.9421	7795
+-120.8269	45.6952	6934
+-121.8191	32.8437	4377
+-109.6839	32.0831	8586
+-117.2368	47.0726	7747
+-114.7277	33.3931	7174
+-121.9437	38.2076	2772
+-85.4429	35.6504	5452
+-117.8042	46.9442	8233
+-89.7454	34.8858	6506
+-114.2039	32.9711	6667
+-116.2294	33.2977	8771
+-120.1275	46.2929	7297
+-116.0379	36.5025	6627
+-77.9838	28.5635	5112
+-81.0577	27.8395	8673
+-111.4568	30.408	7712
+-89.5413	38.5558	8493
+-89.5798	42.6536	5129
+-121.2709	47.7083	7640
+-117.5023	33.3048	8944
+-85.0692	24.0049	4494
+-114.6028	48.6774	4502
+-109.5641	34.5839	6117
+-119.6693	45.2852	7558
+-91.3455	37.252	7505
+-92.791	38.1532	6751
+-119.5673	34.999	6856
+-90.6563	40.0854	7955
+-116.2244	32.8151	8925
+-120.6331	48.1275	6808
+-119.7883	48.3399	6403
+-90.6819	38.1437	8696
+-117.4999	35.0673	8488
+-107.9505	31.1872	6856
+-80.20	26.3535	7183
+-108.0243	28.997	5717
+-90.73	40.573	7424
+-83.2477	30.5399	6511
+-117.8007	32.80	8822
+-114.9865	33.0683	7526
+-86.5781	36.0996	6794
+-110.0005	31.5069	9104
+-89.3832	36.8663	8682
+-91.2388	37.2401	7554
+-117.6025	47.3935	7713
+-89.2795	38.1187	9047
+-117.3386	37.0722	6331
+-89.0579	38.7584	8546
+-119.7114	33.5324	6792
+-90.3744	39.9267	8156
+-117.9214	29.5655	5973
+-115.5159	33.8787	7608
+-82.7306	24.6511	6303
+-117.8208	45.9742	8753
+-91.0523	38.653	8696
+-126.4012	46.5165	5728
+-119.8482	43.4233	5977
+-123.291	45.2828	7707
+-85.7611	40.5925	5106
+-120.5018	46.3609	6895
+-89.4547	37.3659	8972
+-116.581	36.4979	6852
+-88.1247	37.6903	9094
+-82.0372	25.5837	7420
+-84.9882	36.6146	5413
+-119.9615	48.998	5714
+-108.4775	30.7683	7278
+-116.8929	35.4174	8079
+-87.9613	40.0071	7036
+-118.0334	35.2042	8101
+-119.4107	44.6862	7345
+-89.7937	41.9792	5886
+-88.9768	40.8675	6684
+-88.3571	30.3535	2267
+-108.5114	34.2644	5961
+-115.0252	30.2419	6156
+-93.6359	38.4682	5905
+-125.2256	48.5457	6518
+-121.0663	45.1198	6747
+-93.8065	39.2009	5703
+-123.5198	48.5885	7699
+-116.0503	48.5426	5756
+-82.2949	27.353	9390
+-86.3528	33.1987	4115
+-115.5698	35.8247	6924
+-119.3022	46.5797	8068
+-118.9861	49.2297	5863
+-117.6786	32.2744	8755
+-117.7588	46.0953	8705
+-87.0403	39.2768	7165
+-107.6258	32.7215	6291
+-121.3223	31.8416	4774
+-87.5695	38.1011	8385
+-89.5438	38.4544	8465
+-120.1279	28.0269	3352
+-88.12	41.9816	5172
+-120.4943	34.1673	6017
+-116.8165	42.8551	5489
+-118.963	43.5666	6483
+-115.8655	31.7179	8018
+-118.5965	49.3212	5833
+-120.4565	34.2009	6057
+-119.6828	43.9715	6563
+-91.0563	42.4862	5333
+-108.7169	32.8559	7245
+-114.0303	29.2806	4755
+-115.831	33.7515	8112
+-87.236	36.4658	7632
+-114.2506	33.2137	6691
+-121.7124	33.9425	4684
+-89.198	39.9299	7622
+-121.3607	46.3944	7802
+-116.5845	34.5198	8683
+-121.2805	47.357	7776
+-83.3352	28.2354	8433
+-83.8593	28.6768	7685
+-86.5268	37.3232	7272
+-88.1387	37.4794	9080
+-113.6945	29.5774	5233
+-91.3333	39.1952	8294
+-91.775	38.6471	7920
+-116.5244	36.9294	6382
+-108.0065	33.9672	5864
+-120.3377	32.0632	5900
+-116.0008	32.8487	8675
+-119.819	34.9441	6617
+-91.6811	37.9613	7787
+-90.2657	36.3781	7597
+-92.7449	38.2242	6817
+-119.9401	47.4668	6986
+-89.3423	38.1128	8997
+-83.4592	25.8086	7217
+-121.6442	45.0926	7128
+-120.5815	45.0597	6589
+-92.5609	38.4008	7047
+-115.2515	45.4037	5966
+-123.5345	44.0283	6304
+-87.9159	36.5555	8245
+-115.984	33.0484	8627
+-120.0383	32.7213	6325
+-87.7904	34.8465	6466
+-90.017	37.7823	8309
+-122.9417	44.5979	7003
+-122.7319	45.2924	7758
+-82.7547	30.0255	7242
+-89.8467	40.1458	7813
+-90.7739	40.998	6965
+-82.1337	25.5733	7411
+-122.924	46.2674	8838
+-112.0695	28.6468	5777
+-122.9102	48.2776	8166
+-117.0677	43.8626	6564
+-118.538	48.5408	6661
+-90.60	40.6306	7384
+-88.7151	35.3121	7172
+-89.9826	38.4982	8914
+-113.0695	30.1496	6127
+-112.4192	29.7571	6470
+-76.4956	25.5542	3041
+-113.2894	27.6765	4166
+-81.2822	27.9182	8914
+-123.0263	46.2793	8838
+-119.5938	34.6073	6947
+-114.8314	31.6319	7029
+-117.271	30.5452	7197
+-118.9604	49.1736	5927
+-85.4637	40.1418	5182
+-111.1382	33.5778	7143
+-116.6885	30.1512	6764
+-82.7207	29.6226	7690
+-122.7073	47.5544	8927
+-118.6858	30.6989	6710
+-118.9877	49.8099	5261
+-113.9682	47.3876	4491
+-87.3266	42.5035	4207
+-115.2433	31.9392	7596
+-119.4375	44.3455	7036
+-79.9506	26.5005	7038
+-111.8402	29.6646	6830
+-87.8202	36.9333	8472
+-88.8853	39.4197	7656
+-113.0105	30.2802	6248
+-84.7971	26.4162	6514
+-115.2821	34.4576	7344
+-91.1393	39.9719	7876
+-121.131	47.5434	7562
+-115.0351	29.6453	5611
+-122.9221	44.6759	7089
+-114.9551	36.175	6174
+-109.8189	34.8788	5860
+-107.1334	28.3414	4538
+-80.8964	27.2912	8393
+-116.5637	44.1567	6512
+-83.5018	27.7176	8343
+-115.0056	33.4687	7448
+-83.8587	29.2247	7337
+-123.5495	47.5112	8675
+-109.4023	27.3615	4790
+-113.2674	35.9384	4752
+-122.3573	49.2573	7020
+-123.6889	46.6384	8667
+-120.7563	45.097	6434
+-124.5729	43.8251	5696
+-110.3258	32.1986	8807
+-114.6557	35.5332	6306
+-86.1449	34.5674	5259
+-119.8037	34.9537	6629
+-116.5006	31.5741	8273
+-115.6355	46.5805	6411
+-114.8519	31.4334	6934
+-86.971	36.8686	7610
+-119.7439	35.2015	6595
+-87.2312	40.797	5901
+-86.5167	36.7128	7072
+-127.6398	43.6639	3259
+-123.9071	46.5191	8395
+-115.5797	49.2609	4855
+-119.5255	46.9622	7659
+-91.0277	36.4937	6895
+-116.1764	30.1096	6607
+-89.7479	36.4592	8069
+-113.6386	29.5685	5280
+-110.979	30.4269	8039
+-90.6908	38.9874	9006
+-117.4918	31.6488	8325
+-119.2984	35.4725	6883
+-81.7175	28.9094	8517
+-81.6963	30.9369	6272
+-114.9814	30.5957	6430
+-110.3252	32.1957	8810
+-119.4238	28.568	4279
+-113.3684	32.9404	5871
+-114.5575	36.0165	5939
+-119.6434	30.0262	5440
+-123.5474	48.3587	7919
+-83.6677	30.3928	6451
+-116.8288	41.823	4476
+-111.8839	33.3351	6939
+-91.3608	36.6569	6934
+-85.7865	38.8816	6202
+-122.3965	43.5001	5758
+-85.4148	36.1723	5696
+-123.3131	48.8548	7483
+-112.2849	32.8428	6957
+-117.4067	32.4069	9082
+-116.8342	34.1991	9061
+-119.4558	43.631	6366
+-119.2747	32.7179	7176
+-113.3613	36.3019	4665
+-127.2653	44.5992	4150
+-117.5315	32.3393	8928
+-90.5088	37.927	8527
+-112.7086	28.4498	5213
+-116.2193	31.0108	7573
+-112.3516	31.077	7219
+-81.2722	27.6227	8905
+-110.7705	33.0203	7846
+-116.5091	32.6588	9213
+-79.8493	30.8882	5516
+-115.8522	31.0638	7436
+-91.8416	40.1762	7226
+-79.923	27.9063	7387
+-115.8283	33.3129	8368
+-81.655	28.653	8753
+-92.107	38.0744	7429
+-81.7505	28.3758	9078
+-115.1376	31.8626	7452
+-88.1838	39.4511	7707
+-120.1603	34.197	6381
+-116.2749	33.8322	8407
+-80.8973	28.8197	8055
+-122.0888	43.6207	5824
+-109.8839	31.3459	8923
+-118.0155	45.9413	8931
+-116.6477	45.1354	7250
+-116.5078	31.6799	8386
+-121.8996	31.0161	3895
+-86.8932	36.3931	7273
+-98.2967	41.8724	255
+-91.5069	37.6159	7704
+-115.562	34.0316	7675
+-121.6948	46.7419	8259
+-94.3192	39.4408	5117
+-118.4586	35.2654	7745
+-117.5377	33.1482	9016
+-83.0265	27.7182	8880
+-108.7374	29.2758	6434
+-110.6299	32.6617	8262
+-89.4721	41.8951	5895
+-117.6628	46.5575	8444
+-112.3103	27.4503	4510
+-119.218	33.8225	7382
+-85.3934	41.2135	4320
+-90.3098	38.4306	9071
+-122.3019	47.4297	8775
+-118.7387	35.0646	7638
+-83.4093	27.9596	8432
+-122.2787	46.1454	8475
+-122.3042	47.2282	8891
+-118.6377	47.4736	7758
+-118.7004	45.9852	8802
+-120.5267	47.2128	6985
+-92.8124	33.8803	3559
+-121.8452	45.5957	7706
+-109.659	33.1121	7663
+-94.4948	37.8028	4877
+-117.5296	32.3479	8936
+-94.572	40.4021	4571
+-106.1179	31.8796	4895
+-88.6767	38.0397	9384
+-111.4211	30.5589	7855
+-88.6522	38.628	8728
+-90.7622	40.9537	7014
+-122.7625	49.5098	6808
+-118.8756	33.606	7691
+-114.282	33.7782	6572
+-119.9199	47.4829	6991
+-112.5017	31.2626	7099
+-92.6278	40.4046	6419
+-91.477	37.1145	7304
+-117.7204	31.7231	8271
+-81.8721	27.6872	9584
+-113.4534	36.0495	4883
+-121.6267	48.428	7477
+-88.4595	40.2631	6786
+-120.2888	44.0222	6202
+-116.5847	35.3595	8007
+-123.5471	47.955	8308
+-110.4058	32.6969	8265
+-89.8929	37.3968	8515
+-80.7823	25.6866	7086
+-89.8456	38.6835	8840
+-118.0014	35.4105	7931
+-123.5558	44.6991	7013
+-83.8434	28.9782	7521
+-87.4171	38.9583	7718
+-113.984	30.9072	5803
+-92.4038	39.9051	6916
+-80.2347	25.7767	6781
+-118.4024	46.7829	8526
+-89.7048	40.7595	7138
+-124.6385	46.8223	7690
+-89.8717	37.3676	8530
+-117.6104	33.5536	8803
+-119.0237	45.9184	8453
+-121.9519	48.0802	7999
+-123.9699	44.1475	6293
+-89.9361	41.4512	6473
+-120.8091	45.35	6470
+-89.1994	37.9285	9247
+-119.635	42.495	5183
+-79.2714	27.7825	6655
+-116.0109	45.9414	6848
+-81.0171	27.3721	8553
+-118.8534	35.4716	7274
+-115.9042	28.5534	4852
+-79.1397	27.2856	6462
+-89.9532	34.1695	5670
+-118.4275	47.7861	7468
+-123.1905	42.8232	5043
+-118.443	46.4201	8882
+-80.8247	24.7342	6156
+-119.5155	33.251	6903
+-123.1174	46.0122	8531
+-88.3165	35.2723	7081
+-121.4253	45.5726	7377
+-117.7152	46.4689	8543
+-93.3517	41.6252	4970
+-117.7882	47.4514	7736
+-96.4696	38.3804	2852
+-115.5984	44.2352	5798
+-89.0703	36.2939	8238
+-88.261	36.5402	8430
+-116.8077	36.6106	6790
+-114.2815	31.2914	6308
+-112.973	30.4769	6373
+-89.9108	37.9065	8382
+-119.2103	28.9934	4808
+-120.5573	34.6538	5904
+-110.6031	30.4873	8251
+-87.8665	41.0139	5776
+-112.6852	31.7328	6920
+-113.5019	34.0863	5637
+-120.8844	48.9159	6526
+-91.3757	37.3354	7562
+-114.8318	33.9289	7068
+-118.1377	31.367	7674
+-126.255	46.6487	5904
+-88.5693	42.7594	4681
+-89.2433	40.0531	7558
+-89.2571	40.8692	6838
+-119.7629	42.9715	5595
+-114.2427	48.3546	4360
+-117.0468	38.344	4939
+-121.1064	45.1953	6837
+-116.9051	36.5835	6836
+-114.3903	34.8365	6308
+-121.3986	45.7352	7473
+-119.0134	33.7261	7581
+-117.2401	32.7024	9422
+-81.1326	29.6883	7441
+-86.6901	33.7314	4821
+-114.8256	34.207	6874
+-89.0931	40.7267	6880
+-90.482	40.2651	7788
+-83.8088	29.7623	6944
+-80.8546	27.7195	8445
+-114.8309	32.5485	7352
+-117.6324	45.0678	7968
+-117.228	32.4006	9205
+-123.5486	49.7491	6467
+-119.4774	33.1428	6895
+-114.7511	36.6734	5638
+-90.1879	35.4163	6828
+-117.7627	46.1253	8709
+-92.0231	38.5736	7647
+-120.0018	48.1144	6456
+-87.5233	38.7213	7985
+-81.849	27.7238	9567
+-118.9382	34.4626	7679
+-84.8649	31.1219	4998
+-108.1544	34.2004	5784
+-126.9731	48.9837	4613
+-115.5601	45.2404	6236
+-93.33	37.4018	5932
+-88.9099	39.611	7585
+-123.1886	46.2327	8740
+-118.9457	32.666	7539
+-123.6763	46.948	8753
+-84.4172	29.5062	6644
+-118.0984	45.243	8332
+-117.1173	33.7056	9044
+-87.7075	39.2322	7693
+-115.0333	34.0952	7101
+-121.0247	32.3402	5195
+-93.9746	37.8309	5429
+-109.471	32.9759	7699
+-125.5379	44.8064	5860
+-83.154	29.1109	7983
+-83.0553	26.708	8304
+-87.2785	26.4181	3875
+-87.0932	37.8539	7925
+-89.9106	36.2008	7728
+-127.4778	49.0438	4083
+-117.1869	46.433	8047
+-121.885	49.6023	6503
+-122.91	45.9943	8538
+-79.2992	28.0381	6671
+-78.9849	28.1001	6310
+-79.6861	28.8091	6883
+-119.6826	33.4671	6804
+-123.0032	45.1517	7609
+-123.6059	43.5224	5744
+-93.2558	39.3702	6257
+-111.6173	32.4726	7781
+-118.4908	38.7349	4344
+-89.541	39.5639	8162
+-120.3461	46.6107	7010
+-80.5374	26.2077	7368
+-115.2836	33.532	7713
+-81.5635	30.5024	6731
+-116.5797	44.2247	6577
+-89.1616	39.2046	8019
+-80.3062	28.8004	7517
+-89.3187	36.9511	8801
+-118.0448	31.2377	7620
+-82.4148	32.1366	4938
+-119.0206	46.4762	8384
+-121.349	34.3026	5081
+-114.5912	31.5845	6768
+-83.7426	27.433	8033
+-122.6389	48.7484	7628
+-117.521	34.6971	8863
+-118.8553	31.3867	7111
+-117.1513	34.033	9371
+-120.3559	36.0366	5580
+-115.8564	37.3616	5695
+-123.1358	46.4126	8945
+-107.9914	29.4337	6029
+-115.4914	46.1521	6303
+-81.5421	30.4854	6745
+-121.867	47.3273	8404
+-79.4309	26.7761	6636
+-82.328	25.926	7798
+-84.428	31.7245	4717
+-80.4828	24.7355	5988
+-117.9949	44.8894	7943
+-117.6216	44.4233	7352
+-116.569	34.5794	8635
+-118.2938	29.8344	6112
+-118.429	40.957	3811
+-92.8042	36.0687	5531
+-120.4723	44.3117	6267
+-125.2943	44.8024	6060
+-118.0356	28.722	5033
+-88.9175	36.4824	8476
+-111.9281	34.2071	6147
+-91.505	36.7664	6968
+-80.8155	29.7839	7166
+-119.4666	45.6596	7923
+-123.266	49.1812	7140
+-81.2232	24.0087	5518
+-122.4412	45.9318	8363
+-82.9332	25.1726	6821
+-89.6958	34.5382	6152
+-116.7584	32.444	9277
+-88.5782	37.9149	9465
+-91.8664	37.8871	7575
+-84.4428	25.2889	6060
+-124.08	44.4248	6527
+-116.2822	32.296	8794
+-78.7647	29.5335	5589
+-85.5864	29.1671	5677
+-114.6959	31.6315	6896
+-88.5977	42.5237	4925
+-114.0488	33.2545	6462
+-84.3344	29.0364	7018
+-108.7858	32.0442	7724
+-110.2387	32.8149	8135
+-80.6276	28.5405	7977
+-123.1154	44.3585	6731
+-119.5396	48.3228	6556
+-119.0079	33.1728	7369
+-119.8822	43.8452	6333
+-114.3568	41.7697	3070
+-120.6089	47.9537	6865
+-112.5449	32.6775	6800
+-111.5458	29.9081	7233
+-118.3649	48.0025	7244
+-109.9948	31.7724	9053
+-80.3495	29.0446	7410
+-115.0835	37.0379	5574
+-80.9469	26.3132	7770
+-117.3078	28.6072	5042
+-116.2235	33.7641	8331
+-87.7392	33.9456	5483
+-117.4761	35.4523	8081
+-118.2326	34.1411	8484
+-120.6342	44.3172	6136
+-123.8328	43.5572	5723
+-112.2567	29.4655	6374
+-120.8072	34.6644	5633
+-113.2025	31.5105	6364
+-92.8759	40.9246	5859
+-87.4463	42.8639	3976
+-117.0828	29.7396	6318
+-121.5026	48.1942	7563
+-118.3873	47.2379	8050
+-79.0359	27.2311	6336
+-89.9238	39.6513	8334
+-84.2707	27.0387	7338
+-91.5853	38.2259	8011
+-81.8284	25.6784	7505
+-120.9639	49.2552	6313
+-112.9889	32.581	6400
+-90.39	36.273	7414
+-119.3741	48.9333	6045
+-114.935	37.0235	5487
+-82.627	27.3086	9131
+-114.5934	32.6708	7101
+-80.4205	27.6448	7950
+-107.9135	30.56	6627
+-92.6997	41.7979	5298
+-121.7522	47.141	8331
+-80.1528	29.6452	6804
+-119.1163	32.1256	7234
+-119.5197	44.8294	7383
+-121.5218	31.6255	4501
+-111.6368	34.5911	5922
+-118.9413	34.4782	7673
+-91.2023	36.7537	7099
+-109.2997	31.0168	8197
+-113.3156	35.408	5009
+-120.3491	30.1808	4970
+-116.6026	37.6769	5605
+-81.8984	27.623	9581
+-91.0564	36.2063	6588
+-122.8569	44.9603	7402
+-122.9028	46.3008	8875
+-105.9195	31.0726	4659
+-109.8384	34.6462	6112
+-111.6666	33.2096	7195
+-117.1748	45.5326	7942
+-118.5289	33.2069	7830
+-120.6917	49.0501	6271
+-118.8994	36.6207	6292
+-115.5529	35.6566	7037
+-121.4299	49.5469	6344
+-89.3972	39.4038	8149
+-86.9961	39.0306	7306
+-118.0252	33.6841	8576
+-119.0422	35.5332	7071
+-83.1426	28.3036	8599
+-88.2263	39.391	7786
+-119.1197	34.9586	7325
+-110.6655	32.905	7997
+-109.8751	33.8994	6916
+-121.8064	32.2487	4317
+-87.8391	37.9442	8728
+-120.144	47.0371	7054
+-122.3373	43.3212	5554
+-122.2006	45.9418	8243
+-87.6912	38.1194	8505
+-89.4335	38.5697	8382
+-118.8227	32.8426	7682
+-80.1423	25.4547	6441
+-117.8168	33.1648	8728
+-89.9743	38.2489	8727
+-84.9386	36.7405	5394
+-87.6644	36.2021	7758
+-111.5829	32.8605	7538
+-82.6184	27.8375	9338
+-115.9187	36.8317	6248
+-90.877	39.0824	8783
+-118.7155	42.5294	5451
+-91.3214	42.2482	5521
+-118.0059	39.9254	3169
+-80.0141	27.9133	7489
+-82.1943	30.861	6391
+-116.1426	44.11	6165
+-117.6316	32.1281	8685
+-87.1257	40.157	6467
+-125.4558	46.5465	6761
+-91.8297	37.4453	7325
+-89.4676	38.6566	8432
+-117.5079	32.7824	9148
+-120.6723	45.0551	6499
+-81.1662	28.641	8417
+-90.5383	36.3088	7310
+-117.0984	31.8719	8689
+-108.0702	30.7977	6878
+-88.4584	36.339	8286
+-116.9381	45.3483	7629
+-111.074	33.9973	6738
+-113.8939	45.3005	4535
+-115.2281	34.1613	7314
+-90.7963	36.7868	7262
+-85.4944	28.3524	6033
+-112.0549	30.6711	7363
+-117.349	36.8796	6541
+-91.8056	36.8551	6871
+-87.1139	36.8121	7727
+-92.595	36.3585	5913
+-89.653	37.7129	8819
+-120.8746	47.5653	7286
+-92.6314	40.026	6638
+-123.0414	44.4983	6890
+-115.2222	32.9329	7803
+-85.8651	37.5801	6557
+-92.0491	39.8907	7248
+-90.3494	37.8777	8483
+-90.4546	39.2678	8861
+-115.781	33.9978	7911
+-105.2587	28.6386	3117
+-89.884	35.9433	7510
+-111.616	29.1654	6508
+-114.8316	30.8243	6496
+-109.1268	30.2726	7543
+-116.9759	36.5384	6895
+-116.755	32.5537	9376
+-87.9008	35.6014	7302
+-117.698	47.3777	7772
+-121.4564	30.6747	4204
+-119.6111	45.4118	7677
+-92.5955	39.3029	6967
+-113.5888	35.1781	5367
+-78.1533	27.2243	5348
+-122.223	45.8113	8135
+-117.8899	34.4274	8786
+-120.4287	48.0832	6627
+-117.4354	35.916	7585
+-89.2534	34.1204	5798
+-109.2614	31.4104	8297
+-109.9366	32.8858	7998
+-119.3393	43.6558	6441
+-111.4309	31.5468	8284
+-116.9309	33.0533	9486
+-105.4956	32.1242	4199
+-90.4057	37.7928	8392
+-125.1061	43.8633	5423
+-119.4768	44.6205	7247
+-88.0429	38.6645	8431
+-88.4385	37.3899	9334
+-120.9333	46.4383	7369
+-117.4233	30.0036	6574
+-89.5887	38.615	8556
+-120.6135	44.5977	6324
+-111.9803	34.6389	5713
+-77.9962	29.2628	4915
+-119.2355	46.1351	8251
+-120.6584	34.1475	5838
+-83.0242	28.397	8658
+-114.3495	37.7146	4499
+-119.5124	40.5164	3205
+-111.0251	32.7814	7975
+-84.9667	38.0638	5526
+-87.8843	40.1261	6881
+-120.6154	34.0031	5882
+-93.2919	37.9633	6177
+-118.2569	32.0945	8104
+-91.4874	41.4222	6308
+-84.2818	39.395	4420
+-86.8885	38.2205	7617
+-118.7091	33.3852	7765
+-117.0123	36.3013	7157
+-120.5445	45.0155	6605
+-114.8629	34.1409	6916
+-119.3261	30.9531	6399
+-109.3472	32.7973	7779
+-107.9246	27.76	4578
+-108.9288	30.7755	7718
+-123.4882	44.9514	7300
+-111.0273	33.7816	6976
+-114.5032	30.6977	6129
+-123.9459	48.7359	7348
+-83.1493	28.0677	8694
+-81.0564	29.405	7674
+-122.7993	44.721	7137
+-83.0582	29.5738	7596
+-116.019	31.0361	7503
+-78.3682	25.3725	4845
+-90.0152	40.354	7651
+-92.2877	36.0925	5900
+-117.3184	49.1305	5892
+-112.2395	33.5766	6485
+-112.9948	33.7566	5751
+-122.3323	45.4917	7870
+-122.2497	48.1289	8143
+-84.9714	39.4894	5089
+-89.9806	39.0816	8862
+-119.8124	42.887	5492
+-91.6584	40.7787	6842
+-108.3925	30.9465	7261
+-124.7022	44.4124	6172
+-120.378	32.5114	5933
+-88.5338	35.4443	7308
+-118.3063	37.7663	5416
+-117.8468	36.4417	6942
+-79.7833	30.5351	5784
+-117.2821	44.4812	7245
+-116.4816	34.963	8292
+-91.7859	37.3815	7312
+-86.5929	36.1688	6852
+-117.6447	32.9345	8985
+-116.8125	36.0806	7357
+-114.0905	34.1121	6234
+-121.4761	46.4469	7941
+-115.0205	47.4227	5532
+-123.4456	46.157	8534
+-83.6631	38.0773	4068
+-87.4425	37.8066	8320
+-118.9111	47.8096	7332
+-113.5266	29.9481	5587
+-114.3119	35.4959	5989
+-82.2467	29.4081	8031
+-113.6058	32.7293	6003
+-115.5911	31.6256	7723
+-90.361	39.5456	8566
+-116.6708	38.6654	4552
+-108.3857	35.9659	4277
+-122.2752	47.3149	8820
+-79.8711	28.3956	7236
+-119.5092	45.5195	7824
+-88.4599	34.733	6505
+-116.1393	45.4386	6884
+-107.7617	35.1959	4669
+-88.6593	37.0485	9112
+-81.7664	26.3803	8270
+-88.984	39.2117	7836
+-117.5891	28.624	5025
+-117.0714	34.9899	8579
+-117.9842	33.8658	8702
+-88.6941	38.8991	8429
+-121.7914	49.224	6843
+-121.9547	47.8096	8215
+-117.9552	33.43	8464
+-116.6981	33.0039	9388
+-90.1059	37.4201	7960
+-115.9452	33.6458	8285
+-86.8595	40.5388	5944
+-120.0921	43.8349	6191
+-85.0151	25.4113	5682
+-90.4659	35.2088	6462
+-109.6334	31.545	8714
+-118.2575	32.1034	8108
+-118.0526	37.6323	5626
+-121.1385	45.5688	7136
+-123.6577	46.8622	8766
+-91.0641	39.6372	8219
+-90.4381	38.9533	9197
+-109.1583	31.9822	8129
+-124.6321	44.0982	5925
+-117.8476	33.4425	8553
+-117.2326	46.8421	7898
+-112.7279	33.489	6158
+-116.6939	32.3114	9112
+-112.1146	33.1798	6882
+-124.7401	45.992	7319
+-118.5564	33.2975	7861
+-116.651	43.5078	6016
+-116.2204	33.474	8644
+-114.6129	46.7891	5305
+-116.4956	49.4217	5265
+-113.4494	31.2071	6073
+-90.4084	38.197	8828
+-117.5126	34.0705	9261
+-117.3459	32.7853	9328
+-80.9356	26.7238	8096
+-88.8105	40.701	6723
+-117.2558	46.1226	8172
+-118.1103	43.1031	6081
+-121.9736	43.0383	5172
+-115.199	36.9401	5735
+-83.2654	28.1893	8525
+-125.421	45.9339	6613
+-114.6636	45.3299	5341
+-89.5399	35.0157	6716
+-89.9378	38.8824	8923
+-81.4479	25.6465	7372
+-107.5606	32.4817	6316
+-115.0006	32.1737	7446
+-90.0677	37.0275	8188
+-90.2337	38.5331	9140
+-89.4899	36.7486	8504
+-93.0347	37.638	6325
+-86.9975	37.1824	7756
+-118.8118	36.1193	6793
+-84.4415	27.8973	7277
+-88.3351	40.907	6218
+-110.8809	31.6958	8868
+-82.4986	25.8531	7689
+-110.8668	29.0238	6641
+-113.5968	35.1372	5388
+-90.3581	40.3293	7722
+-90.2433	36.8559	7924
+-115.8395	32.7997	8495
+-114.6822	44.4445	5063
+-111.9317	32.0373	7673
+-120.5858	45.7689	6797
+-79.8669	24.6339	5518
+-119.5895	47.4249	7290
+-86.8631	38.6826	7393
+-94.6924	39.0051	4772
+-78.2237	27.1777	5419
+-86.4263	31.4405	3500
+-118.9999	32.2406	7396
+-124.3196	47.699	7851
+-118.1089	31.5141	7820
+-109.3678	29.7792	7257
+-90.9436	41.1673	6750
+-114.2164	29.2651	4743
+-123.315	43.9149	6223
+-84.1627	25.8826	6760
+-118.7286	47.3596	7846
+-84.5922	28.6444	6939
+-112.6536	30.4037	6653
+-89.7762	38.9034	8749
+-119.4551	31.3438	6527
+-119.984	34.7173	6506
+-124.3692	49.8097	6090
+-118.8195	45.1937	8145
+-114.5082	30.4492	5946
+-116.8789	28.7593	5226
+-120.3233	46.495	7060
+-124.5115	48.9738	6778
+-121.9557	47.1722	8544
+-112.3567	34.9269	5239
+-89.1274	36.6561	8611
+-110.7919	33.608	7224
+-121.6338	40.2822	2150
+-90.9756	36.7128	7138
+-109.8344	30.1616	7841
+-81.7611	28.8615	8584
+-92.2038	36.2413	6083
+-114.8545	35.3988	6567
+-77.7726	27.4444	4945
+-119.8751	43.5363	6065
+-85.8541	40.3653	5358
+-117.3227	33.3751	9014
+-114.5508	36.1636	5839
+-93.3392	40.4939	5725
+-108.7965	30.894	7649
+-116.592	43.5066	5981
+-119.617	47.3936	7293
+-121.4127	45.2831	7138
+-117.9241	34.1744	8819
+-86.9698	39.1885	7171
+-120.7312	46.8583	7221
+-119.6651	33.8473	6903
+-89.4249	38.2076	8858
+-119.4414	45.1397	7667
+-115.9805	37.233	5877
+-117.4085	32.3508	9037
+-79.9263	29.2917	6857
+-80.181	25.5526	6553
+-116.0254	33.0655	8667
+-119.2693	35.0442	7138
+-119.1481	35.3224	7110
+-85.0745	26.5125	6275
+-91.1492	35.4719	6179
+-123.5784	47.346	8752
+-82.6855	31.2487	5904
+-86.3332	41.6797	4546
+-89.7569	37.483	8685
+-123.1329	46.7956	9289
+-119.164	46.6324	8171
+-109.1762	29.0704	6476
+-113.3137	35.0695	5107
+-116.9726	30.8604	7571
+-88.5212	37.4559	9453
+-92.142	41.8877	5547
+-78.784	30.3311	5120
+-114.4795	44.50	4890
+-111.599	32.5519	7747
+-88.5077	43.1023	4316
+-78.9196	28.1759	6227
+-111.9984	31.2736	7639
+-123.2988	44.9795	7380
+-119.8836	45.8386	7543
+-116.89	47.7132	7003
+-90.3442	38.0653	8685
+-124.212	44.5957	6629
+-82.5141	29.6879	7677
+-111.654	29.8495	7112
+-83.0083	37.1548	3326
+-114.3698	28.6562	4283
+-90.9332	40.6626	7279
+-86.9474	36.2802	7248
+-116.7817	32.7779	9542
+-117.8787	33.4874	8567
+-89.7583	38.6799	8746
+-82.3623	26.0082	7886
+-124.2898	47.4107	8003
+-117.9357	32.643	8655
+-87.2177	35.3486	6686
+-79.1255	27.3988	6464
+-82.7913	27.2608	8953
+-120.8342	42.4584	4552
+-116.4309	33.9904	8613
+-85.8877	36.7261	6416
+-109.2423	30.2479	7605
+-91.7174	39.1175	7933
+-122.4964	49.6822	6590
+-116.1714	49.5902	4940
+-112.4301	32.1286	7126
+-119.2569	47.8157	7171
+-91.9427	39.4505	7582
+-124.2145	47.9718	7788
+-124.4939	46.7588	7840
+-115.4823	34.1481	7591
+-116.0151	34.8493	7965
+-118.4555	34.9677	7953
+-117.423	30.8451	7496
+-126.3055	46.7243	5855
+-86.5368	33.8568	4860
+-89.3882	37.9752	9036
+-86.7423	37.4451	7529
+-112.8237	31.7653	6768
+-91.5291	39.0038	8159
+-81.5052	27.0072	8778
+-117.9344	30.0202	6452
+-83.9005	26.9653	7697
+-89.4224	38.9147	8374
+-82.3511	25.275	7063
+-109.68	35.4689	5205
+-81.4226	29.2486	8033
+-121.8873	49.8836	6214
+-82.0957	30.0455	7314
+-116.4202	35.3072	7959
+-117.2064	33.0719	9362
+-108.9868	31.9338	7966
+-117.7356	34.1252	9026
+-121.1453	47.2314	7657
+-86.5298	37.3385	7278
+-84.794	28.3535	6810
+-121.3859	36.7583	4210
+-116.3457	31.6638	8292
+-119.1422	44.656	7481
+-118.5593	47.3395	7916
+-117.7718	46.2705	8690
+-93.8244	36.3531	4904
+-90.0371	38.2485	8768
+-92.8159	39.7912	6572
+-89.9351	39.7996	8194
+-110.6324	32.7248	8195
+-110.3615	33.1564	7769
+-110.927	36.1874	4444
+-114.8829	30.9933	6665
+-111.3075	29.1513	6635
+-82.0007	29.8164	7569
+-88.0902	39.935	7157
+-105.8547	32.9678	4395
+-109.8885	29.7894	7471
+-114.7249	29.706	5476
+-86.6888	33.619	4709
+-117.0677	45.457	7804
+-90.3818	37.9995	8615
+-117.6526	33.2167	8867
+-84.121	24.134	5208
+-89.8826	36.624	8101
+-117.192	34.0579	9422
+-107.9271	27.9285	4733
+-113.6023	45.1203	4195
+-117.3353	32.7366	9332
+-86.0561	41.0633	4936
+-116.0002	46.0629	6842
+-79.3659	24.2659	4844
+-115.9648	31.4012	7819
+-92.7323	37.2512	6421
+-119.6476	32.7234	6761
+-116.7596	31.6021	8379
+-109.543	31.9383	8535
+-89.3975	39.7664	7898
+-90.4468	36.8154	7701
+-113.519	30.6094	5864
+-83.238	26.9849	8361
+-88.2666	42.5984	4690
+-116.3317	35.2126	7980
+-80.8201	30.981	5964
+-89.9424	40.6844	7286
+-123.085	48.4429	7972
+-93.4193	40.2485	5775
+-121.6065	48.0476	7754
+-116.4426	33.5897	8711
+-88.4924	37.7718	9485
+-118.5298	32.4571	7964
+-81.6746	28.7365	8679
+-86.4353	35.5522	6283
+-118.7092	43.8219	6806
+-116.751	44.3603	6805
+-111.0193	37.1814	3363
+-81.8113	29.1391	8297
+-116.2456	32.4097	8829
+-119.1485	45.5411	8170
+-108.3335	34.2603	5853
+-86.8425	38.8583	7274
+-117.687	45.7279	8516
+-117.4747	35.4252	8110
+-117.3445	34.641	8978
+-122.2192	46.2438	8515
+-92.3647	37.015	6586
+-91.3574	32.1045	2928
+-92.9263	36.4444	5725
+-88.034	37.3551	8922
+-116.2147	33.1132	8851
+-117.7639	31.2076	7750
+-116.7879	34.4263	8926
+-116.3997	32.5315	9045
+-91.8554	39.8941	7415
+-116.3113	34.515	8416
+-111.3565	33.4395	7177
+-114.0654	33.2618	6479
+-83.3384	27.8619	8525
+-119.428	36.6938	5883
+-115.736	33.5904	8131
+-122.2806	46.664	8849
+-79.8191	26.803	7056
+-120.27	35.5714	5905
+-118.2362	47.1335	8165
+-111.0013	29.9744	7586
+-81.7386	28.9302	8502
+-91.1772	39.184	8449
+-88.9766	38.16	9213
+-113.2661	31.6701	6295
+-107.8786	32.914	6448
+-118.3627	31.9953	7946
+-81.5538	30.0092	7272
+-118.6542	35.7506	7213
+-80.2555	25.5575	6612
+-113.9092	35.5609	5558
+-112.3282	33.8284	6219
+-112.5528	28.6938	5526
+-89.0373	41.2171	6395
+-122.8174	41.2311	3304
+-84.169	28.657	7379
+-92.3021	37.5147	6965
+-86.9771	37.261	7756
+-89.1135	38.8087	8475
+-117.3862	35.5935	7940
+-116.5469	47.0613	7159
+-93.0975	39.0403	6482
+-119.666	35.7465	6384
+-107.9284	30.4729	6604
+-117.7104	48.6902	6451
+-92.2335	39.9604	7041
+-119.4577	48.6556	6282
+-120.4857	47.4653	6898
+-110.1459	30.0604	7811
+-85.7366	40.5326	5133
+-113.9099	33.5209	6254
+-92.0937	40.6231	6690
+-80.0547	30.0006	6440
+-88.9603	38.3582	9008
+-119.1946	31.7412	6993
+-127.1601	47.4885	4891
+-85.1945	33.8878	3979
+-87.8976	37.3296	8769
+-92.4254	39.875	6911
+-115.8966	33.4239	8380
+-116.532	38.86	4320
+-91.3711	38.7298	8359
+-118.2178	33.0412	8335
+-121.314	46.5962	7817
+-116.3513	48.8765	5678
+-117.7185	32.7798	8913
+-125.3108	45.7541	6641
+-125.3357	43.6825	5114
+-90.4735	38.9966	9141
+-121.5887	46.55	8095
+-110.53	36.8018	3816
+-88.3096	37.9025	9238
+-110.7684	36.1268	4528
+-109.8497	30.0514	7733
+-90.3919	41.0996	6892
+-80.6582	31.0982	5770
+-86.4699	41.5274	4772
+-123.2716	46.4626	8918
+-107.8668	31.4076	6794
+-122.456	46.4623	8868
+-80.8754	28.5992	8186
+-122.1757	47.6848	8485
+-82.8839	25.5821	7279
+-112.18	32.119	7390
+-88.7085	35.9671	7907
+-116.9852	35.9482	7534
+-124.0472	44.9672	7074
+-115.6603	35.302	7371
+-83.3131	33.8282	2906
+-116.0837	32.0544	8452
+-81.0451	30.2683	6806
+-114.6063	44.9587	5183
+-82.9249	26.4731	8177
+-84.9199	36.6596	5352
+-118.2741	29.679	5961
+-112.7619	31.9715	6809
+-91.9598	35.0835	5123
+-119.1507	42.9556	5806
+-118.9174	33.2724	7507
+-117.5529	31.419	8062
+-89.3509	38.6239	8303
+-110.52	30.0064	7753
+-117.1994	33.3884	9064
+-118.4696	46.4443	8846
+-120.0098	35.1546	6345
+-117.2222	49.4826	5506
+-126.0495	48.6118	5702
+-89.5306	38.3571	8412
+-117.3067	33.9152	9296
+-83.7142	27.443	8067
+-115.9377	30.3561	6778
+-87.6189	40.0265	6869
+-86.5123	37.5564	7282
+-117.7015	31.1289	7700
+-91.2982	38.3491	8348
+-79.1538	27.5701	6514
+-88.608	36.8137	8842
+-111.5834	28.9591	6324
+-117.6257	47.4253	7694
+-116.7674	32.5212	9355
+-86.2298	25.9902	4841
+-110.0583	33.8687	6980
+-114.9342	45.7905	5698
+-88.3233	36.2129	8110
+-86.8109	38.0402	7580
+-108.6089	32.0055	7550
+-120.6253	46.3837	7026
+-116.5119	49.0726	5596
+-115.475	34.368	7567
+-89.6781	35.7954	7479
+-116.7488	34.5945	8782
+-118.0444	35.0862	8196
+-123.1218	47.8875	8565
+-88.4957	40.7998	6421
+-119.0008	45.9044	8473
+-90.5453	39.651	8438
+-90.2477	36.6479	7798
+-82.5471	25.9492	7784
+-116.5137	30.8947	7550
+-125.4734	45.6357	6423
+-109.65	30.8008	8348
+-123.101	46.8873	9369
+-85.9654	37.5164	6666
+-90.9364	36.4348	6859
+-79.4782	28.111	6863
+-91.468	37.956	7975
+-117.5816	31.7231	8354
+-108.8107	31.3317	7802
+-89.3211	37.4601	9151
+-115.723	35.4758	7306
+-110.3335	28.9904	6664
+-114.499	32.0934	6885
+-114.9085	33.2979	7395
+-109.4691	33.3197	7372
+-79.2635	28.466	6551
+-81.7126	25.8987	7726
+-118.3928	31.8413	7826
+-117.1181	32.0799	8914
+-89.5792	38.5311	8526
+-118.5557	47.4822	7769
+-115.2255	35.0017	7118
+-108.951	31.8539	7947
+-121.8035	48.6283	7419
+-119.0102	34.0493	7634
+-122.1248	44.6558	6928
+-116.3049	30.4133	6972
+-117.5781	31.129	7751
+-87.6003	37.8943	8481
+-119.5254	37.5122	5104
+-90.3907	36.9532	7824
+-109.676	33.0595	7723
+-116.7906	45.2093	7420
+-87.9168	39.1595	7886
+-92.8323	38.7219	6785
+-110.0235	32.2629	8664
+-120.8752	48.2551	6969
+-124.5544	48.105	7400
+-117.2942	45.8138	8170
+-83.4185	30.5085	6467
+-80.6964	30.0904	6801
+-123.3896	46.0097	8425
+-108.3071	31.3549	7264
+-88.9905	37.2424	9277
+-118.5461	33.2696	7854
+-123.1874	47.7578	8681
+-118.3779	33.7281	8248
+-115.8334	31.1836	7536
+-120.6345	49.6041	5786
+-116.9732	43.7105	6374
+-112.2144	27.4779	4581
+-116.8074	35.0498	8420
+-125.7653	46.4391	6405
+-84.4643	28.4609	7141
+-117.1565	48.7558	6205
+-110.8627	34.2812	6495
+-120.933	47.8059	7257
+-88.2781	43.2323	4087
+-119.804	45.7621	7611
+-115.135	36.7943	5819
+-120.1162	49.2203	5671
+-80.3863	25.3441	6513
+-115.3014	44.3892	5620
+-116.2242	33.8272	8353
+-120.5443	45.4293	6763
+-83.80	29.7377	6972
+-117.4164	35.2199	8341
+-87.3621	37.2878	8182
+-116.1217	30.1233	6604
+-112.6689	32.3636	6806
+-81.402	30.0299	7202
+-90.6171	33.7172	4920
+-88.3973	36.2726	8197
+-117.1681	32.7098	9498
+-116.3001	30.8791	7467
+-93.0074	41.1259	5609
+-114.1077	32.1938	6489
+-123.0587	44.5249	6918
+-110.8951	31.9173	8765
+-83.0525	24.2245	5752
+-122.7621	47.2789	9231
+-81.964	27.8043	9696
+-86.329	40.6514	5489
+-81.9145	24.9231	6666
+-118.0544	37.8154	5430
+-119.4293	49.2032	5757
+-85.648	26.9605	5813
+-108.8205	31.7799	7821
+-111.6369	29.3792	6699
+-93.2219	39.218	6323
+-112.6616	28.1671	4994
+-118.4221	46.1248	9111
+-107.8176	31.9136	6725
+-83.2484	29.2373	7804
+-86.2749	28.1554	5186
+-86.9002	36.4525	7316
+-88.5506	36.87	8889
+-118.5448	46.0536	8979
+-118.336	34.5001	8305
+-118.9805	46.83	8191
+-114.9728	32.7557	7528
+-121.2101	29.1026	3463
+-79.6469	27.5744	7071
+-121.5846	47.9592	7796
+-87.4278	39.7973	6990
+-89.4268	38.1971	8864
+-108.6854	35.5823	4787
+-116.7954	30.6198	7295
+-118.5506	47.0212	8245
+-85.0421	26.989	6486
+-110.4873	33.386	7513
+-119.5628	48.6394	6249
+-114.4903	34.0195	6682
+-118.4046	42.2161	5145
+-115.8627	33.463	8326
+-83.8274	27.3283	7913
+-120.3142	33.1562	6047
+-122.2221	46.34	8592
+-116.9174	33.9941	9128
+-126.9948	48.5029	4801
+-108.4203	28.9365	5935
+-90.1169	37.3634	8262
+-107.1442	31.7999	6010
+-115.8724	32.7128	8527
+-90.5989	38.7292	9191
+-89.9597	40.7173	7255
+-120.2717	44.7701	6727
+-91.7664	36.235	6331
+-106.8008	30.6328	5510
+-89.1992	34.424	6144
+-117.1792	32.7519	9505
+-108.8158	33.5669	6768
+-90.1085	38.8794	9097
+-121.2959	43.8372	5743
+-116.5426	31.1563	7841
+-123.4436	49.7412	6500
+-89.6496	36.4747	8151
+-118.3296	30.6168	6866
+-113.5972	35.9474	5073
+-110.1671	32.9112	8024
+-116.8738	34.1022	9108
+-118.5197	48.3892	6823
+-80.1161	31.1615	5425
+-113.2174	29.5942	5678
+-116.953	46.6132	7750
+-85.0443	25.7784	5904
+-82.3552	29.0913	8373
+-116.6259	36.5412	6820
+-110.409	32.7234	8236
+-121.5693	34.1895	4844
+-121.1152	47.5964	7527
+-110.9068	27.8986	5433
+-116.2131	33.8644	8352
+-79.4441	27.4171	6824
+-118.5211	33.4507	7980
+-109.8774	30.0907	7783
+-92.5985	40.9812	6036
+-116.3181	43.0821	5446
+-119.3389	48.0325	6928
+-119.0797	29.86	5699
+-87.6972	38.2477	8449
+-120.2156	31.6169	5890
+-109.1028	29.7802	7108
+-117.1787	32.1605	8984
+-117.7352	31.2477	7804
+-79.7174	30.7881	5516
+-118.391	32.7349	8161
+-117.2643	33.4544	8797
+-89.4732	38.5134	8411
+-90.7555	37.4007	7916
+-113.3951	30.4252	5927
+-91.7639	39.8192	7542
+-118.6876	44.5779	7593
+-119.127	36.4281	6315
+-85.7869	24.3446	4229
+-120.018	46.887	7243
+-80.3381	25.3203	6460
+-117.8411	31.7827	8242
+-86.5896	39.4652	6645
+-85.0844	35.4385	4984
+-112.4829	35.9511	4199
+-121.9169	45.6812	7828
+-121.3767	45.2934	7120
+-119.0573	30.8223	6530
+-121.6758	47.499	8140
+-87.9686	40.1235	6915
+-115.9701	32.0694	8364
+-115.3604	33.8926	7442
+-78.0173	28.4723	5168
+-79.772	28.5134	7091
+-121.055	47.1057	7573
+-107.3473	26.888	3445
+-91.999	37.911	7462
+-116.3664	33.7586	8474
+-120.4292	48.1149	6613
+-90.4299	39.2238	8911
+-116.6482	35.8283	7570
+-116.3482	32.7532	9059
+-115.7743	33.0382	8400
+-78.1761	27.6507	5413
+-118.5531	46.3387	8879
+-82.3242	27.298	9320
+-93.0649	39.3599	6460
+-124.09	46.8017	8286
+-117.9975	32.7219	8598
+-115.7283	33.5272	8160
+-114.6416	31.4273	6732
+-119.1227	48.0394	7022
+-115.6344	35.9484	6875
+-118.0042	36.8617	6455
+-82.3506	27.7733	9646
+-116.4264	35.0029	8219
+-124.1499	45.7379	7681
+-117.5082	45.0463	7875
+-124.6286	45.5441	7147
+-109.2714	31.4589	8315
+-78.9186	27.2345	6206
+-121.3398	42.7478	4664
+-91.8816	40.8889	6610
+-122.5641	45.52	7975
+-88.1767	39.7919	7339
+-87.7325	39.6239	7330
+-112.7905	31.7422	6806
+-114.7445	45.8151	5501
+-80.9325	26.505	7922
+-114.2235	36.1209	5573
+-91.0381	40.6977	7210
+-90.6152	37.6624	8226
+-86.2198	40.0777	5878
+-115.6014	36.0597	6760
+-82.386	29.7763	7601
+-80.5128	28.2531	7978
+-117.5724	35.4785	8033
+-113.8742	29.326	4924
+-107.3435	31.5674	6234
+-89.2046	38.7106	8544
+-89.2491	41.6867	6031
+-119.4312	45.7495	7989
+-81.8517	24.8758	6606
+-91.6542	36.1084	6265
+-85.1702	25.9179	5870
+-82.3065	28.6399	8885
+-120.2929	33.0122	6018
+-116.952	33.5972	8860
+-119.5811	31.6715	6569
+-120.2066	35.495	6004
+-84.0346	27.1608	7635
+-84.6382	30.7414	5493
+-89.1384	40.9452	6704
+-115.7901	35.5857	7279
+-81.6035	28.6878	8690
+-120.1257	45.153	7067
+-91.2251	37.4156	7724
+-120.0313	32.066	6233
+-108.9431	32.4601	7693
+-88.4965	38.0032	9330
+-89.3447	35.6383	7448
+-119.7846	44.6566	7055
+-110.5378	32.0104	8960
+-107.6158	33.1745	6062
+-86.1977	37.9663	6912
+-119.5594	45.4662	7752
+-119.3475	44.8864	7551
+-119.1426	48.8061	6254
+-118.285	32.7106	8278
+-88.9829	37.1755	9213
+-89.3763	38.7362	8339
+-122.9274	48.086	8376
+-87.8693	36.2414	7925
+-121.5916	45.397	7361
+-88.6834	35.0932	6926
+-109.7124	29.8997	7529
+-118.9234	43.7745	6706
+-117.8359	33.8025	8820
+-89.869	37.4216	8548
+-82.7924	27.4797	9079
+-118.2463	45.8198	8961
+-81.493	26.2176	7996
+-93.1634	37.3858	6087
+-90.5412	37.5858	8158
+-90.8832	34.32	5371
+-122.8391	45.4159	7901
+-118.0951	47.9884	7251
+-118.4226	47.4616	7811
+-92.0923	39.0689	7550
+-114.1165	34.3882	6090
+-114.6171	30.6591	6195
+-119.7851	34.0597	6789
+-87.6561	35.4431	7026
+-91.5621	36.3656	6557
+-120.8522	48.3361	6900
+-117.0105	45.6233	7821
+-118.2797	32.6596	8278
+-81.5123	24.2321	5832
+-112.2053	32.8265	7039
+-122.4889	45.4557	7886
+-78.5937	28.9466	5671
+-82.9114	29.3314	7915
+-118.0871	34.0136	8633
+-116.9027	35.9346	7533
+-90.4514	40.2033	7856
+-115.9114	34.192	8058
+-86.6625	38.5412	7257
+-116.6816	31.4825	8231
+-116.0596	36.1839	6942
+-121.9018	44.1694	6343
+-90.3827	40.3517	7698
+-114.9639	44.078	5144
+-117.5103	46.399	8383
+-90.5964	35.049	6231
+-118.4429	46.5799	8725
+-110.4069	30.1218	7888
+-79.1179	28.7554	6302
+-120.9266	33.6805	5515
+-119.9614	44.5296	6826
+-87.7664	36.5771	8155
+-81.1081	28.7255	8304
+-89.6861	35.9147	7595
+-117.0638	45.6763	7893
+-81.1945	27.4035	8754
+-111.6658	35.8007	4682
+-118.792	31.7603	7400
+-122.5035	49.6277	6650
+-113.3027	32.3373	6154
+-114.8005	34.0756	6847
+-123.4472	49.5086	6749
+-120.7476	45.6713	6611
+-88.4567	39.0532	8220
+-119.9852	41.3349	3902
+-121.4678	33.4362	4892
+-119.2804	45.6052	8082
+-94.663	36.125	4013
+-116.9812	36.017	7460
+-120.004	45.6201	7369
+-117.0038	34.9561	8596
+-118.1879	31.2972	7578
+-82.5033	28.0367	9374
+-117.4532	42.1668	5003
+-122.2658	46.2839	8582
+-116.3952	32.8575	9114
+-123.304	46.0112	8466
+-81.3183	27.831	8968
+-90.4348	37.1942	7747
+-115.4684	46.6079	6231
+-90.5528	38.6808	9227
+-114.1161	43.6247	4127
+-121.503	45.3828	7286
+-88.5192	39.603	7623
+-81.7328	28.0082	9363
+-117.0051	36.3023	7155
+-79.3182	25.1161	5518
+-112.1743	32.1607	7383
+-88.3455	37.6087	9338
+-88.83	36.271	8248
+-117.1679	33.0058	9445
+-113.9527	34.3405	5916
+-111.0396	30.5216	8092
+-86.2414	38.7587	6727
+-109.1935	32.5449	7858
+-121.8611	48.871	7223
+-123.807	45.6137	7817
+-119.5447	46.628	7812
+-81.2453	27.9435	8868
+-89.0949	39.3835	7877
+-121.0338	44.2096	5949
+-117.7171	35.8138	7640
+-109.6159	30.9513	8438
+-91.2968	37.9146	8090
+-108.612	31.4002	7598
+-127.2605	46.8401	4814
+-83.3108	28.6657	8216
+-90.7765	36.9032	7389
+-126.3673	45.23	5346
+-87.315	29.3709	3756
+-92.3567	40.5714	6530
+-120.941	32.0208	5232
+-92.2772	40.8124	6406
+-81.8913	27.4195	9414
+-117.0776	33.0763	9438
+-119.6934	49.337	5521
+-123.9536	46.6727	8404
+-119.3512	40.429	3149
+-123.292	43.9451	6259
+-116.7584	36.6256	6763
+-112.7991	35.1297	4794
+-79.8345	29.1318	6868
+-89.744	37.6151	8716
+-89.7405	30.8846	2125
+-119.8486	41.2301	3843
+-115.5304	44.54	5909
+-115.8661	36.7644	6287
+-81.3624	32.4336	4541
+-118.7046	33.7655	7919
+-118.5627	33.5126	7970
+-91.0158	37.4166	7834
+-81.9323	26.4938	8435
+-109.6393	28.0247	5545
+-107.2379	32.1174	6070
+-88.1982	40.2704	6555
+-110.3747	34.3378	6489
+-91.3143	35.5527	6099
+-83.2633	30.1011	6958
+-83.7221	28.5682	7879
+-88.7953	35.7351	7647
+-89.1995	38.4741	8786
+-117.2221	32.5683	9355
+-116.1355	33.3545	8649
+-110.7694	31.2745	8895
+-118.3222	38.4022	4741
+-111.6233	31.1084	7984
+-118.5305	34.4085	8127
+-91.0655	38.0039	8335
+-84.6024	35.4222	4505
+-117.0686	31.8272	8643
+-82.98	25.7502	7418
+-116.086	32.7168	8764
+-85.263	29.8165	5660
+-115.2616	31.4666	7327
+-90.337	38.4268	9072
+-118.6044	30.3551	6455
+-90.4935	37.491	8062
+-114.7382	33.7589	7054
+-92.8044	38.5275	6804
+-116.5028	33.6777	8568
+-78.9095	26.8895	6113
+-81.3009	28.432	8687
+-124.7933	48.3974	6999
+-90.6231	35.785	6848
+-123.9552	49.1993	6893
+-88.3826	37.7261	9379
+-89.4738	37.5771	9015
+-118.0735	47.0083	8273
+-89.0694	38.096	9225
+-88.0467	37.8116	8991
+-91.0092	36.0976	6487
+-117.6756	30.554	7108
+-118.3427	44.8554	7941
+-122.6422	46.044	8554
+-88.5779	36.7179	8730
+-117.245	34.924	8675
+-81.6633	28.7267	8683
+-118.1982	35.2904	7917
+-92.2188	35.0298	4953
+-90.4247	37.6017	8186
+-90.4864	40.6531	7370
+-125.5293	46.7783	6710
+-117.3653	48.5759	6464
+-116.8191	33.3676	9117
+-118.055	34.1433	8678
+-124.3869	45.2594	7119
+-119.1615	43.902	6754
+-112.4773	31.8062	7138
+-91.6116	35.7558	5936
+-89.5416	37.4435	8910
+-116.502	32.4279	9077
+-121.1913	45.8409	7358
+-118.3968	33.5817	8166
+-116.1669	34.8554	8103
+-115.5275	33.5951	7928
+-84.7326	27.1485	6870
+-116.8913	48.1883	6603
+-125.3618	46.4395	6840
+-122.9107	47.6842	8818
+-116.7257	46.1162	7611
+-80.2578	24.3559	5489
+-117.1402	31.7199	8514
+-83.7186	27.9083	8092
+-125.2675	46.0863	6831
+-87.3802	37.0859	8128
+-117.6181	33.6791	8911
+-88.4922	38.3034	9036
+-116.5395	43.3077	5774
+-107.7585	33.2384	6157
+-79.2819	27.2306	6610
+-88.4637	36.9046	8895
+-91.6648	34.5084	5004
+-108.6607	31.3717	7647
+-117.7714	47.0478	8120
+-124.6403	46.4767	7620
+-85.9652	26.0275	5132
+-108.4177	33.578	6477
+-120.6083	45.9529	6793
+-119.2559	45.7473	8165
+-118.1826	47.5875	7682
+-88.7567	35.7103	7620
+-113.2074	33.9084	5468
+-118.8112	48.2891	6876
+-124.4021	44.7189	6636
+-88.1725	36.7278	8569
+-120.0816	34.6733	6411
+-93.2726	39.2962	6255
+-115.5589	34.4006	7652
+-90.7088	36.4379	7236
+-121.0038	42.3762	4376
+-109.377	32.951	7665
+-119.618	31.8682	6612
+-120.3423	33.8361	6167
+-115.0508	34.9649	6956
+-118.0213	30.8421	7256
+-120.2651	46.8578	7013
+-88.0281	38.5277	8541
+-121.0195	47.9048	7297
+-91.4763	40.0877	7562
+-109.5674	33.8234	6909
+-113.7631	37.2167	4447
+-125.8352	47.858	6236
+-83.8189	29.5755	7095
+-116.2436	34.7632	8227
+-115.2487	46.0884	6047
+-81.9979	26.8727	8870
+-86.5558	35.6225	6436
+-85.1304	27.5022	6488
+-121.1522	46.4803	7613
+-115.608	46.6725	6363
+-84.7073	29.5642	6341
+-122.2872	47.8031	8467
+-115.7343	37.09	5905
+-115.1201	35.9365	6480
+-77.296	26.4604	4224
+-88.7195	37.5944	9719
+-88.4808	37.9721	9345
+-113.0745	29.648	5838
+-116.9551	42.0206	4717
+-117.3624	34.7905	8813
+-84.0537	41.6711	2872
+-87.3843	38.1089	8186
+-113.9043	34.80	5799
+-85.6418	37.0238	6234
+-87.0072	37.0619	7727
+-92.3355	39.7874	7042
+-126.4065	47.4045	5724
+-123.4628	46.9974	8987
+-118.0555	32.8249	8538
+-88.4989	40.418	6712
+-110.4759	31.0587	8885
+-111.9318	32.5817	7432
+-120.5717	45.5715	6773
+-117.8007	31.6446	8148
+-81.8549	25.2916	7075
+-116.7648	46.5041	7596
+-89.8163	38.0264	8434
+-114.4433	30.1723	5676
+-84.8245	26.5383	6546
+-116.0901	30.8553	7357
+-90.9621	41.0451	6873
+-115.4364	48.3032	5448
+-111.8115	30.7549	7638
+-122.0203	46.1632	8297
+-112.9249	33.0302	6258
+-91.7153	36.5243	6629
+-123.5172	49.3532	6898
+-89.0395	37.5629	9488
+-114.7901	31.9528	7141
+-116.3047	26.8229	3027
+-118.9246	45.7385	8481
+-118.2932	33.9174	8394
+-118.5764	33.7662	8054
+-79.7592	29.4474	6601
+-120.3205	34.5067	6182
+-119.8514	35.9975	6062
+-84.4154	28.2385	7256
+-109.2181	33.6694	6911
+-89.7562	33.784	5318
+-111.8518	32.6208	7481
+-88.984	38.792	8528
+-117.3593	42.6321	5460
+-119.6276	48.6335	6223
+-119.4131	41.0389	3768
+-90.4841	37.9878	8596
+-119.3447	43.5079	6294
+-90.7824	36.8724	7355
+-124.0434	43.4737	5568
+-90.6568	38.4248	8966
+-117.5037	31.4224	8086
+-119.0623	34.8294	7437
+-82.7401	30.0083	7265
+-116.5517	35.8457	7514
+-89.2074	34.272	5973
+-80.0542	27.011	7390
+-111.4392	27.9173	5325
+-120.3601	35.4251	5881
+-90.0946	38.3703	8910
+-121.8757	45.7553	7863
+-90.0007	37.7729	8293
+-115.1306	29.5925	5614
+-88.1331	35.0602	6805
+-83.08	29.5719	7586
+-121.2504	45.7243	7337
+-79.3317	28.3484	6655
+-113.8493	45.7836	4553
+-109.9376	35.2257	5504
+-119.7746	43.6581	6230
+-124.2395	48.9365	6989
+-124.0608	45.8857	7864
+-91.9925	40.969	6470
+-116.8074	34.9364	8529
+-89.6791	38.0334	8711
+-117.0075	46.4268	7866
+-90.5087	38.9089	9206
+-110.7489	32.0267	8815
+-87.3199	35.8217	7184
+-108.8898	28.665	5946
+-115.6106	46.4225	6409
+-88.6472	39.6719	7306
+-83.7985	26.1158	7240
+-126.3905	49.10	5112
+-121.6488	46.5535	8159
+-91.1036	39.1552	8534
+-92.4812	41.3804	5798
+-120.2534	46.5252	7126
+-119.3352	34.3015	7274
+-115.6102	33.3956	8108
+-109.5604	32.9432	7779
+-117.8833	32.5725	8695
+-118.4928	35.101	7834
+-113.2939	28.6753	4977
+-82.4238	25.7968	7640
+-115.988	31.9817	8318
+-124.5633	48.3099	7257
+-90.1988	36.9578	8022
+-108.6283	33.2268	6908
+-119.6977	45.199	7485
+-92.3151	40.8866	6320
+-107.0806	30.3441	5702
+-118.341	37.3888	5798
+-88.5445	34.4062	6147
+-87.006	37.2329	7780
+-118.0311	48.1126	7112
+-117.5393	34.8346	8717
+-88.9338	38.18	9208
+-111.9828	31.2203	7644
+-122.5138	47.6825	8712
+-110.3225	31.1891	9046
+-123.6297	47.6981	8471
+-114.5262	32.642	7024
+-115.777	34.0592	7911
+-121.7053	45.6906	7686
+-118.1704	34.1244	8552
+-90.4308	40.1486	7916
+-112.6825	33.6651	6073
+-116.5392	46.0209	7412
+-116.9126	32.0283	8872
+-110.3204	32.8683	8081
+-107.3162	30.4103	5966
+-92.084	35.4596	5432
+-109.1181	32.2993	7945
+-91.9329	35.8482	5879
+-109.8303	27.4218	4932
+-116.676	30.1017	6707
+-107.7637	28.6749	5269
+-87.8354	35.597	7268
+-119.6098	34.8194	6875
+-87.5535	36.2295	7705
+-119.4477	35.6655	6630
+-123.7917	46.814	8612
+-121.4017	44.808	6719
+-86.6778	35.0934	6095
+-123.6609	48.8424	7382
+-122.7069	45.57	8057
+-106.6535	33.7278	4859
+-117.7315	35.7319	7722
+-124.2174	45.251	7230
+-91.5743	41.7565	5939
+-89.272	39.9768	7640
+-116.9587	47.1511	7470
+-87.6499	38.1147	8464
+-91.0872	33.566	4527
+-120.5079	48.3639	6563
+-126.2745	45.805	5685
+-115.673	34.5285	7747
+-111.9132	35.0551	5341
+-115.0325	32.2001	7489
+-81.0807	26.2803	7832
+-115.2364	28.9537	5032
+-125.9686	43.2451	4307
+-114.4488	34.7066	6401
+-116.0858	32.8178	8770
+-87.7143	36.0751	7674
+-117.9412	34.5527	8671
+-118.0529	46.4515	8815
+-116.3973	48.3262	6170
+-89.9375	35.7049	7251
+-89.6631	34.7059	6343
+-119.2091	48.0392	6985
+-94.0104	38.8991	5512
+-117.4552	47.892	7170
+-118.5775	32.0335	7755
+-118.129	45.6722	8779
+-125.7303	46.6479	6477
+-87.1713	40.4405	6223
+-84.6585	28.7103	6843
+-109.2794	31.0107	8174
+-82.4407	26.4498	8363
+-114.0887	31.576	6257
+-85.2317	37.0829	5793
+-83.5024	28.1861	8272
+-91.1017	39.5885	8234
+-81.0691	29.7394	7356
+-120.1855	45.5008	7148
+-92.1223	39.0261	7526
+-120.9954	47.7373	7349
+-121.5886	46.2793	7980
+-80.3348	29.4055	7140
+-85.0626	25.6805	5824
+-90.7567	42.0949	5797
+-117.1052	34.1444	9361
+-125.4432	47.1725	6803
+-115.4324	32.8132	8042
+-115.9035	32.3074	8438
+-120.0956	46.9741	7130
+-116.2176	30.0779	6586
+-116.5354	33.8605	8687
+-90.7622	41.5792	6348
+-109.1231	31.688	8158
+-120.2856	48.2363	6413
+-117.645	49.397	5704
+-111.7057	31.1458	7913
+-119.2708	47.4957	7450
+-120.5261	47.3691	6961
+-108.1906	29.9316	6542
+-81.9873	25.1224	6896
+-116.5349	32.2528	8961
+-111.4625	31.9572	8185
+-118.4646	44.0825	7115
+-122.2467	47.1672	8855
+-121.9632	42.8571	4976
+-90.5929	43.3235	4490
+-81.4171	28.6076	8643
+-115.1954	35.0295	7076
+-117.6898	33.1109	8882
+-119.5986	46.3914	7834
+-123.1123	47.5536	8920
+-88.0137	37.714	8968
+-82.4615	28.8517	8610
+-116.6688	35.6175	7792
+-116.7563	33.5072	8948
+-88.7621	38.0523	9381
+-89.5833	36.2461	7976
+-92.2597	41.5884	5757
+-117.7128	34.7563	8702
+-121.0452	33.296	5316
+-117.4558	48.9895	6077
+-118.4226	46.1786	9091
+-119.7976	46.1481	7656
+-119.2742	45.3268	7929
+-118.9304	44.5544	7486
+-114.8121	30.1642	5941
+-113.5387	43.3935	3476
+-122.8008	47.241	9286
+-118.5463	45.5767	8640
+-118.9344	34.8185	7571
+-88.8425	35.752	7665
+-118.2177	33.3121	8167
+-91.8114	38.9027	7876
+-121.4164	48.1365	7530
+-89.9406	36.0677	7589
+-118.5418	45.518	8586
+-88.6849	40.0868	7095
+-89.856	40.4084	7549
+-120.1983	32.2424	6092
+-88.422	33.5453	5173
+-117.9951	31.7225	8078
+-91.3113	40.4694	7318
+-89.9454	38.8541	8939
+-112.0159	30.6796	7404
+-112.8777	34.539	5248
+-109.3668	32.5174	8017
+-117.6535	32.2366	8750
+-89.1373	41.0178	6635
+-112.3946	32.5754	6995
+-117.4075	43.3211	6175
+-115.6011	47.6406	5985
+-118.2178	34.2642	8491
+-89.1142	36.2704	8201
+-119.1385	30.5843	6279
+-82.0529	28.1064	9497
+-107.9164	33.0963	6384
+-88.8915	38.8277	8504
+-124.2037	49.8031	6176
+-91.2314	39.3323	8316
+-115.107	34.5869	7131
+-120.9556	49.4792	6116
+-81.8933	24.1584	5801
+-119.1786	43.3823	6230
+-88.1966	36.497	8355
+-84.5032	38.9042	4832
+-90.2217	35.0598	6465
+-88.287	38.2631	8955
+-110.658	27.7599	5316
+-116.5408	33.9535	8722
+-113.3219	31.446	6232
+-90.0717	38.6965	9084
+-119.4816	48.877	6057
+-83.3282	27.088	8338
+-120.5777	32.2482	5675
+-120.626	35.5302	5569
+-80.4716	26.8284	7733
+-118.0772	35.353	7940
+-110.637	29.2646	6940
+-124.7997	43.0534	4827
+-106.5785	32.1329	5362
+-122.2363	49.2189	7026
+-111.1752	31.5479	8561
+-114.5343	28.1431	3876
+-79.5162	30.0376	5972
+-116.4637	46.1815	7331
+-118.9361	36.0583	6758
+-116.2332	48.5137	5907
+-115.9617	36.0832	6979
+-117.1492	42.9467	5711
+-123.528	45.4349	7787
+-90.6627	35.4131	6510
+-108.4314	33.6983	6392
+-117.7585	41.2269	4070
+-116.687	47.7776	6808
+-81.0242	24.2647	5737
+-87.6712	40.0786	6841
+-109.9206	31.9668	8863
+-82.4717	24.4605	6133
+-116.5669	34.4834	8684
+-121.6026	46.4091	8055
+-113.0409	32.6429	6323
+-107.5229	31.1412	6391
+-103.8601	31.0626	2437
+-90.3699	39.0781	9070
+-108.6602	32.7084	7289
+-112.3754	29.603	6392
+-88.1729	40.2318	6859
+-116.6732	45.7591	7518
+-90.0169	42.5247	5337
+-113.2118	30.7931	6239
+-89.902	36.6357	8094
+-83.3816	26.727	8055
+-119.1189	33.9835	7511
+-121.7196	46.8664	8305
+-81.0214	26.086	7613
+-110.9452	32.611	8178
+-121.4062	44.7503	6670
+-84.3028	29.6777	6621
+-119.2346	46.9484	7911
+-112.6946	27.1689	4049
+-118.3956	36.47	6707
+-120.1506	32.4666	6180
+-112.7566	46.1237	3407
+-88.0349	39.079	8029
+-119.2756	31.8815	6974
+-124.3201	47.199	8025
+-114.7283	35.5845	6348
+-93.9865	39.0482	5527
+-79.0173	29.3327	5947
+-111.4097	30.6653	7941
+-120.6375	49.1326	6165
+-87.0999	26.6652	4137
+-82.2907	28.6645	8861
+-88.9351	39.7093	7552
+-118.2022	34.5672	8413
+-116.3398	46.3579	7184
+-83.562	26.681	7862
+-117.036	43.2418	5958
+-117.8906	32.5693	8686
+-90.5391	36.7713	7285
+-124.3907	46.5632	7910
+-117.2575	34.7108	8908
+-115.0278	45.9198	5807
+-123.0416	49.2661	7075
+-115.9746	33.3943	8472
+-115.8841	31.9626	8215
+-116.0838	36.3704	6778
+-114.2685	29.8363	5269
+-119.1033	47.3421	7684
+-87.369	28.5412	3905
+-119.9389	29.0487	4400
+-88.3013	35.8725	7735
+-116.8901	32.8377	9664
+-91.7632	37.0513	7066
+-80.8597	29.4874	7470
+-115.5249	31.5682	7626
+-119.7522	39.6951	2893
+-114.0788	32.6999	6529
+-111.2827	31.1103	8324
+-122.0792	46.9439	8704
+-88.4377	35.6793	7555
+-117.9255	32.5306	8637
+-111.9921	31.776	7664
+-87.4355	37.7203	8320
+-118.2314	48.097	7145
+-90.8116	34.9669	6014
+-116.212	30.474	7008
+-117.3573	45.461	8069
+-89.665	40.5629	7323
+-115.003	31.8204	7297
+-117.5063	34.6853	8881
+-124.0746	45.6435	7662
+-117.3562	33.7025	9058
+-84.3102	28.2584	7368
+-114.4428	33.0871	6922
+-93.4929	35.7577	4773
+-115.8061	30.9723	7322
+-94.2466	34.6519	3354
+-110.0576	36.0164	4661
+-78.3574	29.5067	5189
+-94.4968	36.8425	4537
+-119.3625	47.7641	7160
+-120.0323	43.196	5670
+-83.3782	26.7129	8047
+-110.8654	28.6496	6243
+-117.7045	46.1071	8647
+-118.1979	34.3571	8493
+-110.1563	30.4123	8190
+-80.4196	29.4468	7177
+-89.2276	39.9857	7601
+-80.3779	26.0504	7115
+-90.6856	38.8685	9074
+-115.9775	35.9773	7084
+-88.7731	41.4844	6004
+-122.1184	47.1083	8733
+-90.8698	35.524	6445
+-118.0412	30.3232	6724
+-125.309	46.7408	6948
+-115.1493	34.6598	7158
+-115.8056	31.8622	8077
+-111.3487	34.4383	6190
+-116.5126	32.6334	9207
+-122.2195	48.481	7782
+-123.1088	49.018	7341
+-116.1169	33.2847	8671
+-77.4828	30.1679	3971
+-86.2112	34.7864	5493
+-123.1298	47.9568	8489
+-109.3086	30.1366	7553
+-90.9106	34.4798	5504
+-123.1583	47.1766	9240
+-124.0433	48.0495	7876
+-86.2195	39.2436	6452
+-126.3277	47.4624	5801
+-120.5024	34.9033	5910
+-83.1206	27.4829	8730
+-119.3771	31.3028	6578
+-90.0264	36.4028	7812
+-118.6595	46.97	8257
+-117.3029	47.9657	7028
+-113.1291	28.0749	4613
+-87.2665	39.2804	7341
+-118.3773	31.9654	7915
+-126.5216	47.2733	5613
+-117.8839	33.4005	8493
+-86.9987	38.9137	7386
+-118.3324	32.8121	8229
+-119.1206	45.6077	8232
+-118.7894	44.3517	7333
+-116.8564	39.4783	3690
+-118.411	34.0721	8288
+-90.9352	36.9885	7435
+-117.3115	34.9979	8593
+-87.3932	38.3402	8098
+-115.448	31.5012	7512
+-76.4766	28.6539	3414
+-89.424	36.5443	8356
+-115.0052	36.2438	6164
+-109.3713	27.7054	5145
+-83.4607	27.2689	8289
+-120.7634	49.0936	6294
+-89.0576	38.077	9250
+-86.5774	35.4956	6355
+-117.9884	36.0692	7284
+-84.6454	27.5351	7038
+-122.0498	45.6032	7841
+-79.579	26.9259	6850
+-118.0334	49.9318	5194
+-117.894	33.1019	8671
+-115.1897	31.5323	7307
+-88.3319	39.0302	8208
+-123.6921	44.9585	7235
+-110.6424	28.0178	5596
+-89.4274	37.4487	9034
+-118.0451	38.6002	4592
+-112.3852	36.3487	3852
+-118.686	45.7085	8666
+-87.5772	39.1926	7643
+-119.3254	37.4166	5311
+-121.8849	45.2029	7370
+-112.2907	32.1273	7272
+-124.6672	45.5349	7108
+-120.6538	46.4728	7080
+-79.3204	28.8903	6465
+-115.6736	46.4782	6468
+-88.419	41.4547	5821
+-86.4234	26.3238	4772
+-88.1466	38.1046	8963
+-116.1103	35.0281	7943
+-117.9097	33.5183	8567
+-124.2913	47.2098	8054
+-81.8766	29.4412	7976
+-117.7762	46.4568	8604
+-121.7492	44.2255	6340
+-83.4008	25.7114	7161
+-114.9274	36.2845	6071
+-116.598	34.3805	8760
+-87.3407	34.3566	5770
+-119.8326	37.5607	4868
+-116.8501	33.0399	9472
+-90.7044	34.5539	5700
+-116.8051	33.9207	8984
+-121.3761	45.3212	7142
+-85.0401	25.9206	5997
+-81.2587	27.3206	8782
+-115.8748	46.0203	6708
+-88.3675	39.8037	7374
+-87.132	41.1552	5490
+-117.5285	34.3044	9197
+-90.503	36.9303	7459
+-87.539	39.3983	7432
+-82.0439	27.9068	9704
+-109.5611	32.7986	7914
+-89.0976	38.3633	8949
+-89.2748	38.1135	9055
+-79.566	28.5539	6854
+-122.6016	48.6923	7682
+-120.2425	45.6546	7133
+-90.4419	37.4276	7998
+-80.2878	26.7629	7516
+-115.5895	34.9437	7506
+-123.5297	44.6967	7018
+-91.7366	42.6473	4978
+-117.5196	34.2835	9217
+-116.0242	45.3474	6739
+-111.8786	33.8717	6482
+-116.3149	33.1327	8945
+-112.3024	31.8327	7323
+-93.1795	37.6492	6185
+-111.6967	31.6278	7996
+-109.7962	33.2212	7606
+-120.9718	45.3398	6835
+-117.2051	33.7073	9068
+-119.0928	30.5248	6266
+-117.817	32.9382	8795
+-119.2757	33.0398	7043
+-82.2283	28.6689	8866
+-78.7793	27.8976	6095
+-120.2562	45.85	7154
+-115.7469	46.2635	6569
+-91.3119	37.1812	7459
+-89.8746	38.339	8720
+-96.3572	37.4335	2831
+-82.913	27.1819	8790
+-90.8229	40.5922	7383
+-87.5105	38.3504	8209
+-112.3806	29.9264	6620
+-112.1938	29.8285	6703
+-79.7059	25.4142	6068
+-87.6578	37.7275	8569
+-110.3203	27.8543	5433
+-123.3409	47.2239	9045
+-123.3404	44.8842	7268
+-84.369	29.2243	6873
+-107.3228	32.965	5885
+-85.0544	39.1127	5343
+-117.3085	29.9781	6564
+-125.2275	46.8169	7044
+-108.6371	34.643	5683
+-91.4511	42.366	5361
+-89.9874	37.5488	8438
+-116.1137	45.3767	6838
+-89.6523	39.909	7947
+-85.989	28.5619	5438
+-90.9396	39.1897	8660
+-112.2366	31.7591	7403
+-112.1441	29.6938	6638
+-123.2291	45.518	7974
+-117.4222	35.0691	8503
+-115.4915	32.4832	8066
+-81.7326	29.5633	7810
+-116.0307	30.6561	7127
+-89.7762	32.0216	3379
+-116.0552	33.4485	8516
+-90.5054	40.6884	7331
+-81.7472	27.9882	9389
+-82.814	27.4257	9031
+-88.8258	36.9743	9036
+-92.9328	40.1842	6271
+-117.5125	31.0013	7639
+-121.6517	44.6232	6689
+-87.5313	36.7033	8057
+-81.9369	25.2547	7042
+-88.8355	38.3605	9032
+-118.2946	30.3321	6611
+-81.2023	27.9678	8815
+-83.4938	26.6663	7913
+-109.9186	31.9438	8878
+-115.5537	31.9975	7931
+-118.0454	33.1629	8489
+-84.8639	27.2477	6748
+-109.4846	30.2356	7748
+-117.4068	31.9193	8638
+-120.3597	44.5803	6535
+-86.8832	37.7785	7697
+-114.664	30.1121	5791
+-77.5611	28.4568	4661
+-113.2202	35.5919	4846
+-118.7942	47.5037	7679
+-125.5239	45.9253	6505
+-115.3377	33.0119	7923
+-111.4384	31.849	8242
+-86.622	35.9262	6715
+-86.5721	38.9001	6989
+-120.5577	43.6846	5747
+-80.4928	24.9459	6201
+-117.9308	32.5146	8626
+-118.6245	49.2555	5899
+-111.8849	30.5078	7428
+-88.1812	35.381	7167
+-87.1355	37.8102	7977
+-123.357	46.3414	8755
+-91.2275	36.4377	6771
+-117.3611	46.0063	8279
+-88.7906	36.3125	8296
+-116.1325	30.1665	6654
+-122.6378	44.3705	6739
+-116.7773	49.9024	4929
+-115.4357	31.0197	7120
+-91.9011	34.1092	4493
+-122.7085	48.1824	8254
+-93.1711	37.245	6010
+-115.9957	45.4998	6756
+-122.9006	48.8917	7491
+-119.579	45.0993	7527
+-119.1501	43.8843	6741
+-91.9584	39.7997	7384
+-117.3285	32.4152	9150
+-122.4335	44.9308	7312
+-118.4794	45.6425	8733
+-106.9073	31.5012	5761
+-122.449	44.0123	6323
+-108.77	32.3783	7573
+-90.0356	35.6936	7182
+-89.2956	38.3741	8823
+-86.0056	29.435	5122
+-117.3912	44.7804	7574
+-88.1948	37.9655	9091
+-116.0009	31.489	7922
+-121.7321	46.6584	8279
+-113.1077	30.852	6365
+-88.5241	38.3538	8996
+-115.3595	30.8114	6887
+-89.1068	35.8679	7761
+-113.0975	32.3703	6360
+-110.9632	34.9702	5741
+-119.9895	42.5332	5073
+-82.9621	26.2138	7901
+-109.5026	31.2499	8504
+-113.0078	29.3436	5694
+-124.528	46.0622	7560
+-115.8787	47.5235	6301
+-122.4397	33.3344	3828
+-87.7538	35.8805	7511
+-80.9228	27.8793	8517
+-122.4848	32.1367	3551
+-123.5758	47.4503	8693
+-118.3735	33.2929	8022
+-116.0599	33.3708	8568
+-110.912	31.7221	8829
+-117.5612	30.6983	7299
+-118.4669	46.0082	9043
+-118.6951	38.0116	5029
+-118.4702	30.8184	6963
+-88.7746	37.8858	9568
+-82.6472	25.2014	6933
+-116.3496	43.4535	5789
+-107.9652	33.7382	6005
+-120.854	35.5162	5344
+-119.8213	37.3343	5070
+-90.4727	36.4711	7477
+-115.6845	36.6142	6328
+-118.0886	33.3423	8293
+-88.9731	36.1563	8105
+-117.1589	32.6261	9451
+-79.8142	26.8152	7056
+-93.0669	41.314	5424
+-125.6252	49.2964	5667
+-116.6512	32.2387	9018
+-116.407	46.6092	7201
+-83.4498	32.6656	4153
+-109.2715	28.4366	5875
+-91.1054	36.7947	7178
+-119.1524	47.0516	7896
+-80.803	29.52	7402
+-117.7473	47.0515	8104
+-118.3818	34.0607	8319
+-113.8545	34.9646	5707
+-90.3663	35.2628	6574
+-120.4784	43.5708	5714
+-76.8943	25.3072	3345
+-89.0473	35.6778	7561
+-113.3158	34.9106	5146
+-117.3602	46.0649	8282
+-123.2512	44.8521	7251
+-90.0837	36.5466	7875
+-118.4079	31.3404	7452
+-106.5401	31.767	5359
+-119.2843	35.1989	7049
+-92.1992	41.1677	6165
+-120.6938	45.2086	6539
+-117.3278	29.8481	6417
+-114.5219	36.0496	5886
+-87.9294	38.3837	8577
+-120.4936	48.0293	6716
+-115.6056	37.2934	5644
+-79.3645	27.6414	6757
+-86.4507	28.9785	4819
+-112.7738	30.3417	6507
+-89.93	41.5685	6347
+-117.3944	46.9133	7985
+-88.6996	38.3361	9059
+-82.5654	26.5112	8390
+-110.2923	32.9265	8018
+-117.541	30.8382	7455
+-116.7397	33.2028	9253
+-80.5477	30.2541	6555
+-87.0191	36.0568	7148
+-123.8948	45.3753	7544
+-118.3945	32.489	8119
+-119.4016	44.8027	7447
+-124.3948	49.315	6548
+-117.7715	33.3641	8534
+-116.002	34.5533	8084
+-90.2445	38.9199	9188
+-123.4922	46.2137	8554
+-117.3251	45.7704	8187
+-83.6256	31.1126	5748
+-120.7653	45.0789	6418
+-89.2629	36.2265	8106
+-117.945	30.8962	7349
+-87.389	38.2727	8125
+-112.5558	30.9229	6962
+-90.7256	37.3188	7838
+-117.7955	34.356	8912
+-79.2632	27.4824	6629
+-123.6776	46.489	8604
+-82.9217	28.0769	8934
+-87.5227	36.1651	7627
+-87.516	41.1656	5643
+-114.221	33.4235	6617
+-86.3171	39.1869	6579
+-119.8561	43.8383	6343
+-81.9296	25.6045	7436
+-77.4422	28.7934	4459
+-117.3193	32.974	9322
+-95.671	37.7154	3617
+-90.4749	40.3564	7690
+-118.0821	42.4038	5340
+-111.9138	34.2683	6098
+-120.3877	44.0426	6144
+-121.3539	47.1709	7893
+-119.8072	45.6372	7574
+-86.2672	39.7398	6169
+-116.5518	33.7167	8635
+-121.442	48.1024	7576
+-111.5463	33.5772	6945
+-92.1153	39.2098	7493
+-114.2656	32.7918	6740
+-116.3688	36.3349	6944
+-116.5303	33.5903	8762
+-122.7471	46.3304	8887
+-109.7422	32.431	8354
+-115.5836	32.0387	7983
+-88.5213	38.7566	8560
+-116.3545	34.6067	8417
+-88.1744	38.911	8268
+-82.9683	26.1633	7847
+-89.3105	42.8185	4889
+-114.0063	28.9828	4598
+-119.3938	47.717	7183
+-117.1717	31.1024	7827
+-113.3525	33.5924	5544
+-121.7621	49.9201	6129
+-117.8187	48.0052	7184
+-122.848	45.6451	8153
+-124.9964	48.2417	6910
+-121.3024	47.4175	7782
+-117.9498	34.6444	8607
+-116.6928	33.7088	8759
+-90.2579	36.7286	7838
+-116.0703	34.1021	8232
+-110.2258	29.8125	7551
+-114.7558	36.296	5923
+-118.8013	35.8522	7024
+-116.8767	31.1105	7847
+-115.7741	32.5739	8395
+-88.7151	37.832	9620
+-116.9509	34.3886	9095
+-117.1214	31.2036	7945
+-116.6794	35.9563	7449
+-122.0863	48.8231	7379
+-108.4856	29.6261	6557
+-110.5034	31.7596	9208
+-116.0684	43.9451	5988
+-84.0691	29.4985	6954
+-117.382	34.5693	9046
+-121.0978	28.9887	3471
+-121.748	46.75	8318
+-83.0013	27.2696	8761
+-116.0412	34.6063	8105
+-83.4212	26.9286	8154
+-87.4654	38.6835	7961
+-116.5561	31.6565	8380
+-120.5724	37.3511	4506
+-120.4671	44.6082	6460
+-115.8396	36.3234	6686
+-126.0776	45.4511	5738
+-109.5515	34.5934	6104
+-81.882	33.3754	3541
+-119.4291	45.6662	7963
+-116.3988	30.3603	6941
+-83.0927	28.7397	8346
+-90.1583	35.2691	6704
+-84.1442	27.8645	7615
+-117.7036	43.8978	6849
+-84.8834	28.6524	6624
+-107.935	29.3486	5922
+-114.7224	35.7406	6255
+-89.2095	38.2503	8992
+-121.5575	32.5677	4556
+-123.572	47.6104	8584
+-118.7819	29.6493	5681
+-119.8946	33.7273	6637
+-117.836	31.2468	7751
+-89.6021	40.2507	7601
+-85.0353	39.0253	5357
+-114.8973	35.3313	6642
+-118.5704	33.692	8036
+-81.3617	24.3291	5907
+-79.6045	26.514	6700
+-91.9403	40.5933	6824
+-112.8879	32.6264	6484
+-115.446	38.2044	4673
+-115.4108	49.1855	4796
+-110.4774	31.4442	9257
+-118.395	47.249	8038
+-114.8274	45.8802	5593
+-119.258	35.2111	7068
+-123.7275	44.945	7206
+-90.3123	37.5527	8132
+-81.5176	25.7788	7538
+-90.554	38.6589	9216
+-118.9357	44.6044	7532
+-117.1666	42.6933	5464
+-87.282	40.1538	6563
+-117.6679	46.5386	8460
+-87.7814	39.1207	7843
+-117.3669	43.8124	6651
+-90.2809	37.9071	8509
+-95.1576	39.8004	4155
+-116.8743	33.007	9517
+-88.5546	38.7601	8564
+-108.4454	32.6408	7129
+-89.4129	37.0587	8820
+-91.2772	35.3381	5972
+-88.8855	34.8424	6643
+-118.9861	34.8896	7489
+-119.9554	45.7684	7455
+-111.5114	34.8809	5680
+-87.3828	34.487	5923
+-92.1378	41.1747	6198
+-79.7206	27.1912	7086
+-118.5507	48.6306	6566
+-122.4033	33.3533	3870
+-89.6097	36.0627	7782
+-80.2457	27.6777	7755
+-120.4349	31.797	5721
+-89.7325	36.8537	8398
+-109.1199	30.5211	7726
+-110.9736	34.0866	6674
+-80.3291	27.3112	7787
+-116.6311	46.929	7303
+-119.1965	47.1934	7752
+-81.9928	26.2925	8217
+-85.6313	34.0066	4406
+-108.6114	29.6274	6650
+-110.6308	31.3174	9041
+-112.9978	33.6486	5821
+-117.5922	34.9882	8540
+-118.2452	47.8302	7428
+-119.3673	44.1321	6881
+-83.3287	24.7054	6174
+-89.1321	41.0022	6647
+-119.0289	49.2023	5881
+-82.2328	28.4625	9097
+-118.4072	35.8608	7280
+-110.8389	31.7697	8890
+-117.471	46.6713	8209
+-90.0943	35.991	7416
+-86.3763	24.0212	3489
+-116.6939	46.042	7576
+-116.0064	31.8925	8266
+-116.8329	32.1151	8956
+-118.9856	46.9199	8117
+-116.8606	31.8595	8679
+-91.9765	37.0293	6897
+-123.8678	45.4709	7649
+-120.9503	46.7259	7448
+-88.0967	36.3304	8138
+-116.087	34.2297	8247
+-116.8642	34.3857	9020
+-83.6646	26.0016	7249
+-106.8235	32.6772	5490
+-121.1123	47.2453	7618
+-120.7837	45.1647	6433
+-91.0854	38.8487	8660
+-83.0283	24.4876	6047
+-119.2877	33.2809	7145
+-116.3035	49.0743	5476
+-121.4257	48.0557	7592
+-120.4426	47.4077	6863
+-122.8089	46.9044	9485
+-115.7378	30.0635	6390
+-115.0916	31.1251	6936
+-89.8429	37.6623	8607
+-119.0184	44.2437	7146
+-111.0864	29.7276	7304
+-116.935	34.9533	8573
+-86.8887	37.5127	7700
+-118.0166	48.1906	7028
+-108.6387	32.6067	7329
+-120.8106	35.8615	5237
+-84.2431	28.6909	7287
+-110.7705	33.4416	7405
+-118.5367	48.796	6393
+-111.1232	29.2556	6810
+-121.9319	48.7617	7365
+-88.5997	38.4409	8925
+-87.7627	36.7731	8307
+-84.2137	40.1237	4007
+-106.9678	31.3244	5816
+-79.4356	30.6536	5422
+-93.2041	40.9053	5598
+-87.2533	36.3709	7579
+-118.0066	47.4347	7817
+-92.5876	37.4378	6659
+-81.6827	29.4473	7924
+-110.9719	34.5232	6214
+-82.1406	24.8913	6639
+-113.3268	32.9533	5907
+-122.6372	45.2065	7651
+-118.0829	33.657	8507
+-91.5614	37.837	7818
+-119.074	37.2631	5595
+-90.1449	38.5158	9064
+-91.2944	41.3636	6441
+-122.8592	48.0166	8452
+-121.2282	45.8116	7374
+-88.0144	36.2724	8038
+-89.4437	35.2142	6960
+-120.0203	46.0764	7421
+-111.5929	33.118	7322
+-114.982	35.1952	6790
+-115.2919	34.7264	7289
+-89.8626	35.5042	7094
+-86.0559	39.5871	6086
+-115.3232	34.6563	7343
+-107.6373	30.4428	6302
+-91.1969	36.0074	6341
+-90.3163	42.5243	5356
+-88.5685	38.0587	9321
+-89.6238	42.684	5106
+-120.4459	43.1372	5376
+-117.2989	46.3013	8196
+-83.0432	29.3043	7871
+-124.7129	45.3565	6942
+-89.4499	39.7694	7935
+-117.8994	45.7201	8689
+-119.8214	45.1969	7372
+-91.2495	38.2724	8358
+-125.181	47.5173	7028
+-122.4084	48.6719	7656
+-85.4269	36.2356	5737
+-116.3466	34.9525	8194
+-118.2959	44.9952	8090
+-118.4006	31.3531	7467
+-90.2936	40.0094	8063
+-93.538	39.2964	5973
+-117.507	32.9594	9129
+-81.8156	26.4916	8406
+-117.7208	34.1751	9040
+-117.5493	30.2383	6804
+-87.8135	37.9753	8690
+-109.9985	30.2473	7981
+-108.7023	31.0258	7606
+-87.6553	37.3845	8528
+-108.9352	33.8594	6579
+-118.5385	44.8715	7932
+-113.9669	48.8153	3860
+-116.1409	43.69	5845
+-118.6156	47.2308	8012
+-93.9355	36.5454	4918
+-121.3526	37.8361	3523
+-116.4769	32.6365	9171
+-91.131	34.9883	5805
+-83.6064	29.2146	7556
+-109.6705	28.019	5546
+-88.0432	38.9881	8123
+-115.8771	34.4205	7990
+-116.1254	32.6285	8791
+-125.3486	48.394	6492
+-116.2566	34.2078	8433
+-112.3995	34.7617	5366
+-120.011	34.0791	6544
+-90.828	37.9974	8482
+-115.3505	34.3109	7439
+-116.7599	31.9371	8745
+-119.6721	34.0943	6914
+-115.3605	32.1136	7797
+-89.766	33.9497	5495
+-88.0973	38.059	8944
+-116.8786	45.9095	7759
+-121.2201	44.6628	6474
+-115.6358	29.7705	6045
+-88.948	39.3666	7741
+-117.0706	32.6378	9522
+-81.6336	30.9503	6246
+-117.6512	48.3743	6761
+-88.2579	41.281	5862
+-119.144	33.5693	7400
+-110.5507	31.6471	9228
+-118.6248	32.2384	7794
+-87.8882	37.6122	8827
+-118.2822	31.7734	7880
+-83.7314	28.3316	7975
+-86.9814	36.479	7409
+-120.97	45.5438	6972
+-88.8796	36.3452	8327
+-109.9925	32.2915	8622
+-116.134	34.7952	8107
+-83.4232	28.6791	8105
+-113.959	35.2504	5730
+-82.4091	25.3394	7129
+-85.9636	36.0592	6188
+-114.6878	32.8315	7211
+-80.6112	27.6195	8162
+-107.8436	33.1673	6276
+-117.2009	33.4953	8838
+-110.6476	31.2381	8968
+-121.6543	49.0103	6977
+-119.2588	46.8373	7966
+-124.7582	49.878	5812
+-116.8579	35.8953	7565
+-87.6388	38.1751	8426
+-92.8846	39.5416	6597
+-123.3741	46.7999	9054
+-118.6555	33.4886	7868
+-92.9269	41.2636	5570
+-83.5647	27.5418	8253
+-119.6353	45.8531	7805
+-118.299	34.9419	8107
+-86.7137	34.9228	5969
+-81.6169	24.7767	6460
+-110.9817	29.305	6907
+-114.8621	35.0098	6746
+-119.2512	48.7698	6253
+-127.6234	49.9668	3459
+-121.7215	47.5378	8167
+-124.3106	47.2545	8024
+-115.5096	43.0078	4861
+-117.9538	35.2655	8093
+-106.2506	32.0004	5027
+-118.2513	33.6127	8323
+-88.981	36.6911	8695
+-115.1069	30.7277	6633
+-119.2368	33.7446	7347
+-111.6036	29.3065	6649
+-108.8933	31.1456	7843
+-119.6895	33.0052	6623
+-125.6543	47.829	6435
+-114.9506	33.2702	7448
+-124.1824	46.4795	8099
+-120.528	42.2771	4565
+-91.5876	39.5822	7847
+-88.6769	39.3494	7923
+-87.7866	38.8969	8049
+-80.5767	30.6097	6225
+-116.1214	34.8806	8046
+-91.2342	40.1485	7660
+-81.1078	26.025	7606
+-80.0269	28.3113	7431
+-121.0077	45.9633	7253
+-108.5076	29.5031	6475
+-83.9253	29.4824	7086
+-89.2948	33.9899	5646
+-82.5195	27.8369	9448
+-82.5922	31.1344	6047
+-114.7026	29.9744	5700
+-87.2828	34.4532	5843
+-90.7644	40.1089	7903
+-86.9162	33.3497	4544
+-116.5223	30.0463	6623
+-116.512	31.9688	8680
+-110.6949	32.8101	8088
+-112.0567	32.8558	7152
+-117.8487	34.8953	8492
+-81.282	26.8265	8458
+-115.3772	35.1835	7180
+-121.9567	46.9627	8570
+-119.6906	48.9514	5893
+-82.8276	30.1109	7126
+-109.0061	33.2179	7192
+-115.9107	33.1664	8512
+-90.4812	35.3329	6565
+-121.9551	45.9913	8114
+-119.6217	46.7581	7681
+-89.8956	39.0573	8803
+-90.9268	35.4571	6347
+-119.1743	32.5572	7273
+-86.9039	36.9949	7593
+-88.9037	39.6982	7530
+-112.6195	30.5093	6737
+-87.5075	39.7002	7130
+-118.6439	34.1466	8035
+-92.5915	42.2762	4940
+-121.2348	45.3204	7034
+-108.3744	29.951	6711
+-92.851	36.8204	6048
+-116.155	30.8374	7367
+-116.4047	33.3811	8864
+-106.4373	33.7976	4618
+-114.8855	32.0027	7260
+-83.6767	27.4643	8113
+-109.8367	30.3206	8004
+-88.8507	39.017	8296
+-115.4385	34.0663	7542
+-117.1626	46.8823	7813
+-120.6393	37.1286	4617
+-89.3265	37.5267	9167
+-89.0622	37.4821	9424
+-92.9997	37.3752	6239
+-88.1362	36.577	8403
+-120.9881	47.3401	7466
+-89.947	36.6311	8053
+-116.1615	30.4508	6965
+-109.5792	33.7308	7008
+-111.0404	29.7139	7308
+-80.8655	28.8851	7980
+-115.1253	34.8101	7088
+-120.9269	31.9497	5231
+-81.9736	29.1891	8273
+-116.3038	35.9357	7309
+-89.3636	38.9356	8307
+-81.9338	32.316	4740
+-79.8542	25.8821	6547
+-91.9299	37.2138	7075
+-125.918	45.0989	5707
+-113.4819	32.8694	5789
+-114.568	48.4191	4622
+-115.6723	32.2494	8177
+-113.6336	33.859	5858
+-83.7984	31.2031	5572
+-119.2792	33.7284	7299
+-110.7348	32.6107	8278
+-90.8222	42.2476	5625
+-116.4284	30.6716	7286
+-83.421	30.4289	6547
+-90.6736	40.5706	7437
+-121.4719	45.5069	7363
+-92.0974	37.4172	7084
+-116.1266	30.8987	7417
+-122.8774	45.0671	7519
+-111.0398	33.159	7603
+-108.2881	32.1218	7182
+-118.5333	47.616	7633
+-91.7376	39.144	7904
+-89.4053	37.6918	9098
+-83.2142	28.2212	8566
+-81.8879	26.1414	8033
+-117.336	35.1289	8449
+-118.7705	30.7304	6677
+-119.0093	45.3775	8176
+-109.2209	31.0143	8120
+-116.3234	33.3912	8791
+-80.2095	29.6701	6831
+-115.3555	31.253	7249
+-115.7989	35.2114	7551
+-110.8784	29.1339	6755
+-120.1248	32.9436	6161
+-119.3741	42.6792	5458
+-119.4591	46.3278	7992
+-93.8573	39.5276	5587
+-83.6295	29.7148	7113
+-109.2627	33.4697	7123
+-118.5828	47.99	7234
+-116.5992	33.5038	8884
+-119.2548	36.2638	6359
+-118.1279	35.7535	7536
+-81.7046	25.5986	7392
+-116.0991	43.5773	5726
+-115.5566	34.5317	7623
+-119.7636	37.0219	5373
+-82.8302	29.4638	7817
+-87.0008	37.415	7813
+-109.8899	30.5171	8222
+-80.6053	25.3789	6685
+-89.81	35.2634	6875
+-112.4063	29.5724	6344
+-84.1205	25.6396	6599
+-122.6459	44.2523	6611
+-91.1513	35.7193	6360
+-116.7966	46.4018	7654
+-87.1183	37.3049	7921
+-119.607	46.8636	7642
+-82.375	25.3006	7089
+-116.9694	44.5236	7087
+-122.059	47.9491	8185
+-117.9501	33.0507	8625
+-88.0975	32.2602	3701
+-118.2547	45.1538	8258
+-116.7076	46.5789	7516
+-88.0709	38.8821	8242
+-108.2584	33.6609	6292
+-120.3958	30.8562	5347
+-118.6583	28.5284	4611
+-86.552	39.276	6742
+-110.6794	34.0613	6763
+-120.3341	32.3431	5960
+-117.9573	44.1544	7171
+-92.172	37.216	6884
+-93.8461	36.9409	5213
+-115.9686	34.2019	8120
+-92.3518	41.8696	5448
+-114.4534	33.7552	6761
+-118.257	35.0841	8040
+-84.097	28.92	7316
+-116.6646	47.3303	7107
+-88.9525	37.3126	9367
+-110.7696	34.4046	6380
+-125.9649	46.8957	6238
+-87.382	37.8085	8253
+-87.3568	39.2105	7468
+-120.6254	43.5543	5597
+-115.7243	35.931	6954
+-117.3626	45.634	8168
+-86.6164	39.4008	6714
+-121.2695	48.2709	7312
+-89.1957	36.7399	8669
+-116.8176	33.7818	8916
+-92.3671	36.2752	6006
+-118.3261	47.3135	7975
+-88.8914	40.303	7103
+-83.8838	27.7904	7912
+-106.8866	30.5587	5578
+-83.7265	39.6188	3748
+-85.2378	38.339	5783
+-120.2426	48.2191	6204
+-119.283	31.6926	6881
+-120.6352	44.7341	6380
+-121.8052	46.7493	8380
+-90.9172	39.9728	7986
+-116.6908	43.9779	6451
+-113.1079	32.8339	6176
+-89.9501	37.4145	8457
+-90.1386	36.0248	7414
+-92.0756	38.5145	7583
+-84.7144	29.4863	6384
+-122.5805	48.1984	8208
+-90.1806	35.1166	6543
+-92.2393	36.8192	6538
+-115.2569	32.1627	7711
+-122.7648	47.6922	8795
+-91.7794	38.641	7915
+-114.0021	34.0944	6152
+-91.4062	35.9551	6216
+-90.4344	42.6007	5274
+-118.9855	32.1138	7368
+-120.8151	44.906	6296
+-115.0555	32.5766	7604
+-117.5386	31.6312	8285
+-81.7189	30.2315	7065
+-112.9161	29.1087	5598
+-90.219	40.2909	7754
+-117.7586	31.9962	8481
+-116.5491	32.1277	8854
+-77.1499	24.4284	3106
+-113.9522	30.5149	5385
+-92.9692	40.6766	5949
+-118.8363	28.8904	4902
+-86.1534	39.3635	6317
+-124.5421	45.7893	7386
+-85.5473	28.8822	5829
+-87.5798	25.8326	3354
+-90.9664	34.3758	5372
+-125.6486	48.6314	6076
+-91.7836	37.6419	7500
+-80.595	30.6648	6180
+-81.7641	27.6083	9438
+-91.706	36.877	6953
+-116.391	33.3817	8853
+-117.4702	46.8981	8054
+-112.4553	32.2008	7079
+-107.6797	33.9476	5623
+-113.5646	48.6307	3590
+-117.7211	34.6881	8756
+-113.3944	33.4505	5589
+-83.1733	28.9133	8141
+-121.1902	48.1126	7345
+-82.8936	28.7352	8499
+-121.4619	46.868	8022
+-119.0741	32.1437	7285
+-112.9198	30.6597	6498
+-112.7022	31.2615	6883
+-113.4113	29.0335	5143
+-121.7131	48.2928	7651
+-90.3046	37.8046	8402
+-89.224	34.1239	5806
+-118.3429	35.9269	7256
+-125.9814	48.2307	5947
+-119.426	43.0919	5853
+-119.1929	49.3546	5682
+-116.3267	49.0316	5528
+-88.289	38.525	8712
+-90.1385	35.4711	6910
+-88.7555	37.0246	9095
+-121.0484	48.0478	7251
+-107.7535	30.8597	6571
+-89.9818	43.4793	4309
+-109.8275	30.2092	7887
+-114.0587	34.599	6002
+-121.2096	46.5654	7698
+-83.8388	27.553	7948
+-91.5303	33.477	4182
+-91.8292	37.7844	7550
+-90.9588	37.6108	8049
+-91.1876	37.8871	8153
+-124.7931	44.4453	6142
+-118.1917	32.6578	8375
+-121.60	46.2829	7992
+-121.3903	48.3174	7381
+-115.9243	31.6019	7967
+-110.0901	34.9092	5860
+-92.9569	38.181	6583
+-123.524	47.8086	8455
+-119.4049	28.631	4350
+-83.7776	29.45	7230
+-114.4257	32.5422	6902
+-82.9019	33.7279	3092
+-125.0472	47.391	7202
+-118.5349	47.7244	7520
+-110.0703	31.9155	9015
+-117.1788	35.9038	7604
+-110.1739	30.34	8115
+-117.8316	45.9037	8739
+-116.6358	31.8418	8605
+-118.0173	48.3421	6869
+-110.4892	30.9591	8776
+-79.9229	27.9969	7378
+-124.8424	43.686	5418
+-124.2115	42.264	4243
+-117.6227	35.2724	8236
+-116.0697	32.6798	8741
+-86.3161	41.269	4924
+-115.7288	33.6287	8102
+-86.6482	35.1486	6122
+-118.7049	44.7036	7716
+-89.2948	40.0972	7558
+-85.7484	36.7023	6259
+-80.682	27.7749	8250
+-89.7233	34.6752	6290
+-87.5268	33.0695	4471
+-91.3447	36.4328	6720
+-118.2709	31.7141	7848
+-123.4912	33.5673	2720
+-117.3688	35.2571	8307
+-119.2949	49.5346	5469
+-115.3624	34.8466	7320
+-117.5254	33.0395	9082
+-111.1716	30.5484	8031
+-114.7524	33.5599	7148
+-81.7285	25.7315	7545
+-111.1179	30.2794	7825
+-109.7661	31.2598	8766
+-123.888	48.2118	7860
+-117.3624	34.8039	8799
+-115.1817	35.1327	7016
+-113.4548	32.1511	6036
+-81.6977	28.5903	8838
+-117.9066	33.4071	8482
+-82.6439	26.9821	8833
+-127.4908	45.7992	4402
+-89.7873	37.2589	8582
+-114.8715	32.5246	7393
+-88.0335	36.5062	8275
+-85.5337	29.6465	5497
+-80.1976	27.4717	7677
+-91.2925	38.2634	8313
+-121.1658	29.0696	3475
+-81.0873	27.5138	8675
+-88.594	40.1677	6964
+-112.0971	29.9953	6902
+-114.7129	33.1928	7204
+-115.2386	32.217	7713
+-91.118	37.8727	8191
+-114.2603	34.7468	6191
+-89.3345	35.4228	7218
+-116.149	30.2479	6746
+-81.3415	26.88	8548
+-90.2992	37.8423	8442
+-118.5526	34.3142	8121
+-108.0698	27.7355	4637
+-82.9332	26.6444	8333
+-85.7692	39.7725	5703
+-116.7606	30.305	6942
+-89.8376	36.9165	8348
+-87.6232	36.6506	8099
+-108.6012	29.0823	6177
+-82.7803	29.0661	8250
+-85.9338	38.7111	6426
+-119.2956	44.1351	6920
+-110.183	33.3319	7572
+-108.3006	36.4338	3775
+-92.7279	40.1872	6460
+-120.3417	47.6738	6516
+-117.213	34.4604	9176
+-84.0709	34.7839	3631
+-120.1784	46.9829	7046
+-122.7311	44.4741	6862
+-114.282	36.3637	5474
+-88.2055	38.5597	8631
+-90.5326	40.4005	7638
+-81.5634	28.4661	8872
+-117.6423	37.6394	5691
+-125.9187	48.5619	5855
+-120.1152	49.8182	5227
+-119.972	34.6716	6529
+-124.0572	49.3271	6718
+-83.2627	25.0887	6604
+-91.3242	36.2754	6571
+-118.5467	32.1402	7836
+-89.3147	38.5025	8693
+-118.1693	44.0108	7045
+-118.3189	35.2152	7892
+-118.7011	48.0415	7157
+-91.1451	38.0618	8318
+-118.449	32.1418	7936
+-118.9855	31.0933	6792
+-117.9208	30.6331	7095
+-89.8572	42.0455	5827
+-86.8243	37.7001	7634
+-80.735	28.2314	8225
+-118.401	32.4009	8087
+-117.2556	37.242	6147
+-113.6746	30.5906	5697
+-111.9591	29.2645	6405
+-122.00	45.743	7937
+-118.7451	32.4282	7722
+-85.5651	27.1826	5954
+-116.8597	31.3579	8121
+-88.236	37.4547	9174
+-116.2192	35.4039	7742
+-117.4774	31.0864	7741
+-90.629	37.1579	7688
+-85.1504	37.7599	5755
+-119.2328	33.1423	7136
+-119.3014	34.3104	7310
+-89.0544	39.2696	7886
+-89.2584	40.5456	7141
+-119.0118	35.6876	6989
+-92.7291	38.3079	6851
+-89.5265	38.044	8862
+-115.4179	32.8057	8025
+-117.1744	34.2135	9405
+-118.9828	37.4283	5485
+-81.4146	29.1727	8106
+-117.1443	33.3969	9076
+-109.0218	32.201	7903
+-113.2171	34.1213	5311
+-106.398	29.8836	4829
+-112.8856	32.404	6569
+-127.9042	49.7702	3304
+-106.3167	30.507	4968
+-82.5246	26.2632	8135
+-114.0698	31.8017	6329
+-90.7588	38.9101	8984
+-120.0027	45.4847	7326
+-115.5804	35.8874	6884
+-94.1239	40.1557	5117
+-81.2238	29.6887	7487
+-89.6202	37.50	8839
+-87.64	37.0742	8387
+-119.8538	34.8158	6619
+-80.6434	29.793	7047
+-90.6793	40.6074	7397
+-90.8542	40.022	7962
+-118.3809	47.046	8253
+-80.9512	26.0845	7566
+-89.0743	39.1196	7958
+-110.5402	31.7197	9205
+-121.1189	42.0297	4007
+-117.5842	49.3142	5777
+-96.4887	41.6144	2155
+-87.4416	39.7077	7083
+-120.3535	45.0609	6807
+-81.2904	28.3641	8724
+-116.7946	33.1631	9321
+-89.6921	37.4002	8734
+-117.25	44.9711	7640
+-118.8692	37.2885	5678
+-89.5186	39.7604	7991
+-87.9908	38.4353	8589
+-86.1749	31.0027	4035
+-92.655	35.9315	5523
+-89.6678	38.5415	8621
+-115.0114	30.1969	6107
+-80.6365	26.4698	7652
+-82.8263	31.1985	5931
+-115.4554	34.0649	7561
+-122.6689	47.1073	9309
+-116.7683	46.0377	7655
+-123.311	43.9353	6245
+-84.7258	28.7582	6752
+-120.0167	45.5642	7339
+-123.1188	43.781	6098
+-91.6974	39.1888	7931
+-87.7636	34.563	6154
+-116.6291	43.0157	5554
+-120.2367	35.5943	5927
+-110.6739	31.1868	8907
+-112.1631	30.3083	7057
+-90.3265	39.1628	8975
+-119.1908	32.8098	7272
+-91.0895	35.5941	6321
+-107.2806	28.0154	4386
+-83.4022	25.8158	7260
+-111.3553	34.5622	6061
+-121.0097	32.7375	5180
+-88.7505	36.8371	8884
+-109.2615	30.8261	8052
+-111.2198	29.359	6879
+-110.6711	29.5971	7291
+-92.1425	37.2945	6963
+-120.1853	40.9589	3455
+-119.8201	48.3225	6399
+-116.9702	45.8078	7836
+-82.8029	31.6436	5441
+-117.3175	45.9976	8232
+-115.6585	48.5186	5480
+-117.1241	46.6953	7880
+-123.8776	47.1094	8521
+-93.066	38.6495	6531
+-117.8972	30.4384	6904
+-87.2241	29.8731	3659
+-111.2187	30.3129	7796
+-89.6543	39.9411	7919
+-85.2748	36.2231	5574
+-86.9053	40.201	6285
+-118.6908	46.3548	8752
+-117.1144	35.5911	7939
+-87.4913	37.5388	8377
+-84.0569	37.0522	4484
+-117.4858	45.0756	7886
+-107.5027	30.434	6164
+-115.0929	46.5328	5851
+-118.8501	45.6092	8466
+-92.966	38.0672	6545
+-109.337	30.4788	7862
+-122.5204	46.5665	9000
+-82.7949	25.5056	7227
+-80.7039	25.099	6468
+-118.2942	32.3709	8191
+-108.7191	32.8573	7245
+-120.2452	44.1411	6324
+-116.7123	44.6959	7029
+-117.6843	29.6206	6099
+-79.4191	28.6078	6678
+-115.915	33.3497	8438
+-92.0444	44.1592	3325
+-88.6354	31.0646	2403
+-111.9383	31.8927	7703
+-117.3796	35.3639	8190
+-81.8388	29.1923	8245
+-116.0235	44.3417	6228
+-119.8257	47.1306	7296
+-126.1035	47.2126	6076
+-115.4968	32.875	8112
+-116.3711	42.5255	4967
+-109.5669	34.7326	5962
+-88.5846	41.2029	6146
+-90.1643	35.5718	6989
+-90.6862	37.757	8305
+-115.1875	42.7979	4467
+-118.9192	33.5853	7639
+-82.9295	28.5582	8622
+-116.5802	33.2021	9144
+-78.3442	26.3954	5334
+-84.1252	28.0223	7620
+-115.6881	35.6724	7133
+-114.3378	36.2214	5614
+-115.0937	34.9701	6998
+-125.8713	47.2404	6328
+-87.121	38.9309	7485
+-88.8602	37.7835	9647
+-117.6357	44.8929	7810
+-116.6181	46.3715	7474
+-88.7832	34.1219	5837
+-87.2461	40.0487	6642
+-89.6859	40.0065	7875
+-116.5739	48.5014	6139
+-111.1141	32.5599	8119
+-89.6652	39.4669	8331
+-79.0905	29.6244	5859
+-119.9543	34.4393	6587
+-106.0961	35.9755	2861
+-124.3916	45.9424	7618
+-119.0992	36.8663	5949
+-89.5352	39.6855	8063
+-115.5104	33.497	7960
+-110.2186	32.6502	8311
+-117.0227	47.7643	7049
+-89.7783	38.1829	8531
+-92.2057	40.2997	6846
+-118.2445	33.7244	8382
+-117.5738	48.1359	6977
+-121.4993	45.4974	7376
+-118.5598	31.5074	7453
+-116.7499	32.9508	9469
+-115.648	35.0932	7485
+-107.7462	34.5907	5175
+-90.1714	39.2764	8813
+-118.9664	46.9239	8127
+-110.4669	33.2219	7692
+-117.025	48.2981	6578
+-113.2982	33.4648	5669
+-116.7443	33.939	8930
+-118.6443	40.9746	3819
+-119.955	48.2907	6342
+-122.0351	46.0363	8211
+-122.6208	43.7947	6108
+-82.2962	27.2017	9227
+-124.5507	44.5202	6364
+-89.5522	39.9248	7873
+-120.4324	42.9348	5209
+-109.2949	27.2185	4612
+-119.4573	49.5241	5427
+-114.2524	30.0613	5439
+-112.8966	30.0863	6257
+-92.8005	37.5395	6511
+-90.6652	41.7818	6143
+-89.4465	38.6429	8408
+-90.2723	37.6051	8185
+-124.4068	48.9615	6860
+-87.5742	36.2214	7712
+-111.298	31.0249	8266
+-118.8865	28.5017	4485
+-109.2233	30.2186	7568
+-118.9263	32.0779	7417
+-122.0387	46.2152	8350
+-124.2179	46.4608	8055
+-116.4103	31.0249	7660
+-118.2445	46.4931	8842
+-81.6321	30.6747	6554
+-89.8518	37.1203	8452
+-119.4237	48.0833	6838
+-81.6732	26.3183	8173
+-90.5229	43.4264	4382
+-120.1947	36.4505	5465
+-116.1542	32.6435	8826
+-115.999	36.7567	6360
+-118.9323	44.3109	7245
+-114.9458	45.7702	5709
+-107.2495	30.8511	6040
+-118.119	33.6519	8470
+-90.3147	35.8252	7115
+-116.3839	32.5926	9057
+-122.3097	46.8723	8949
+-87.0829	36.5674	7558
+-117.1915	43.1436	5923
+-119.4723	36.1155	6303
+-107.8747	32.8482	6478
+-117.698	44.428	7384
+-118.182	48.8016	6397
+-117.7662	32.3999	8747
+-113.3794	34.5799	5270
+-116.2748	46.7586	7022
+-113.4289	31.1194	6082
+-117.525	35.9487	7538
+-121.6985	44.4671	6559
+-123.2869	49.1587	7161
+-117.5578	47.2012	7864
+-122.4475	47.7092	8651
+-84.3465	27.8139	7388
+-109.3808	29.5132	7005
+-112.2101	29.9049	6746
+-122.874	47.6054	8904
+-120.0101	49.3782	5336
+-126.9665	47.00	5138
+-93.4301	39.1701	6109
+-116.6959	46.5064	7525
+-92.6997	42.7095	4480
+-85.9334	36.9264	6528
+-87.1053	37.0692	7834
+-120.7628	32.5653	5509
+-125.085	42.1655	3811
+-89.9069	34.7403	6290
+-117.4719	43.747	6625
+-124.2834	45.0521	7011
+-121.9836	48.2029	7916
+-90.2743	37.803	8397
+-118.1628	37.1816	6072
+-111.9342	31.1801	7685
+-94.764	40.5735	4310
+-88.4793	39.8967	7029
+-93.243	38.3904	6318
+-79.637	27.5726	7060
+-120.2059	38.5618	3740
+-81.5521	24.8828	6564
+-85.8141	37.5788	6499
+-117.7672	33.4573	8620
+-109.548	30.7759	8253
+-86.164	28.5288	5251
+-123.6373	44.7467	7036
+-118.7202	34.2041	7950
+-89.6366	36.9372	8541
+-112.7224	30.5115	6637
+-91.4615	36.7748	6999
+-122.4961	48.8625	7477
+-88.2974	37.3163	9158
+-117.5418	47.9844	7116
+-117.267	30.6293	7290
+-116.1328	41.5501	3931
+-88.1042	37.9387	9011
+-90.3997	39.7077	8392
+-78.666	25.9088	5442
+-118.2861	43.6423	6658
+-120.1829	48.7245	6051
+-83.8345	26.9051	7735
+-89.207	33.5211	5136
+-108.812	28.869	6102
+-117.2206	30.7367	7416
+-123.0317	48.0314	8427
+-82.5971	27.9668	9321
+-123.1728	46.2065	8719
+-113.3304	35.8005	4875
+-124.1531	46.9937	8229
+-82.6563	25.0545	6768
+-118.2416	33.5615	8305
+-110.8696	33.0505	7781
+-117.2576	34.8098	8800
+-123.4181	48.4533	7877
+-119.7999	46.3237	7637
+-114.2237	35.0668	6066
+-121.3306	47.3369	7835
+-120.3052	46.3523	7103
+-119.8734	29.886	5149
+-114.9936	32.5597	7534
+-81.0356	28.6784	8278
+-91.6823	38.7522	8024
+-81.9317	28.2314	9319
+-118.5578	35.5472	7449
+-91.3861	35.8457	6113
+-119.194	34.0666	7434
+-89.9118	38.0019	8471
+-117.3579	32.5594	9231
+-116.3804	32.9403	9085
+-84.3149	27.689	7423
+-110.5486	32.6189	8327
+-113.2058	32.493	6209
+-112.6239	33.8612	5974
+-114.8465	33.2135	7347
+-89.2102	36.2021	8098
+-82.1515	27.5074	9598
+-117.4417	33.1197	9124
+-119.8841	32.4654	6475
+-116.3689	33.248	8931
+-118.9138	35.5752	7150
+-87.1017	36.3241	7415
+-91.8763	37.7487	7487
+-119.9219	44.0415	6474
+-115.3553	33.3676	7853
+-90.032	36.26	7692
+-126.9169	48.1052	5019
+-117.2941	45.5671	8071
+-114.197	43.5056	4134
+-90.7378	42.1744	5714
+-110.7661	32.266	8598
+-111.4992	32.6187	7784
+-84.7833	30.8937	5255
+-121.8549	30.3047	3623
+-117.0299	32.5224	9417
+-90.7729	37.5154	8029
+-83.3184	27.1202	8365
+-117.2788	42.0622	4854
+-110.0331	32.8484	8065
+-88.0486	40.6839	6157
+-115.5895	31.7807	7831
+-117.784	43.6426	6605
+-119.7905	32.8986	6473
+-115.633	27.4148	3547
+-89.929	38.7211	8934
+-123.7521	46.6435	8605
+-112.4046	34.0522	5982
+-118.0704	44.0561	7084
+-88.7138	37.2841	9382
+-115.6217	33.5761	8030
+-121.7032	45.566	7582
+-87.9139	35.8376	7550
+-109.311	30.5047	7863
+-120.0899	32.1966	6201
+-86.5177	36.3906	6913
+-117.8476	35.1511	8260
+-118.9265	44.8413	7764
+-117.6162	44.2881	7216
+-116.868	33.9233	9046
+-91.8225	39.2468	7783
+-122.1271	47.5153	8565
+-118.0213	42.2955	5222
+-122.5174	44.8801	7276
+-116.1802	34.0545	8350
+-118.4205	33.5081	8106
+-119.5648	46.9425	7636
+-117.4995	38.6003	4659
+-109.16	34.4688	6099
+-89.9514	39.4598	8529
+-116.0597	35.2053	7777
+-78.9063	27.2337	6192
+-113.2165	35.1866	4973
+-94.3761	35.3116	3745
+-114.5676	31.1392	6488
+-112.6279	32.8134	6653
+-119.8962	34.9478	6535
+-123.3897	47.2443	8988
+-124.0447	46.8217	8339
+-88.4562	37.8821	9391
+-123.6632	48.2125	8001
+-84.1158	31.6724	4937
+-87.0358	38.89	7436
+-108.3538	31.8633	7307
+-82.4204	27.0121	8979
+-121.6775	46.8942	8261
+-115.8946	33.8438	8008
+-122.9507	47.9431	8532
+-88.0807	37.0062	8747
+-117.9418	31.1385	7588
+-117.286	32.4461	9207
+-89.0873	34.6021	6357
+-108.1758	32.7054	6839
+-112.7549	33.6173	6047
+-114.8863	44.1545	5115
+-120.4599	44.8471	6601
+-115.6111	34.5928	7664
+-109.8782	27.5787	5107
+-106.383	32.7687	5005
+-119.3051	32.605	7134
+-117.682	45.7152	8505
+-87.9118	35.4435	7142
+-82.6456	28.0166	9248
+-88.7056	37.9702	9467
+-89.4973	39.1496	8377
+-118.416	33.8503	8247
+-116.1211	31.0889	7607
+-124.1256	45.8826	7809
+-113.5919	30.0301	5562
+-85.4227	39.7577	5388
+-84.3591	27.312	7322
+-114.017	30.9317	5848
+-117.3674	34.9816	8606
+-89.3063	37.9232	9144
+-123.5964	44.2077	6480
+-117.661	34.4746	8969
+-91.3018	41.5046	6295
+-115.30	35.9883	6589
+-88.7131	37.1975	9286
+-115.1878	33.0243	7755
+-91.4739	35.7479	5982
+-89.3446	33.7732	5398
+-122.2054	45.987	8287
+-117.595	33.1053	8981
+-119.121	44.0351	6901
+-115.2224	33.1718	7767
+-120.9777	46.4041	7406
+-114.5973	36.852	5382
+-89.5045	36.5691	8331
+-83.9615	24.8778	6025
+-116.483	34.1951	8680
+-92.3253	40.6513	6495
+-89.9655	39.6502	8355
+-87.852	39.9783	7024
+-80.5375	26.7033	7723
+-116.9995	44.9476	7433
+-120.2196	46.2509	7204
+-89.2652	36.9463	8832
+-83.7627	26.56	7599
+-89.2614	38.0152	9135
+-81.6121	27.8557	9294
+-82.856	27.3394	8943
+-90.7872	38.2828	8759
+-121.2354	47.8459	7538
+-79.9329	27.6795	7401
+-87.7484	36.9834	8439
+-118.0066	45.1519	8215
+-92.5201	38.5162	7107
+-111.6752	27.9794	5307
+-78.4936	29.8038	5173
+-107.7195	27.9587	4632
+-118.1585	49.1979	5977
+-116.8562	31.0917	7825
+-112.5707	30.4348	6749
+-118.1486	36.199	7088
+-111.0937	28.4039	5932
+-116.7304	46.2252	7611
+-83.1149	27.549	8755
+-119.5884	48.189	6652
+-79.1835	28.3779	6484
+-89.535	38.5427	8483
+-118.9894	31.1724	6845
+-91.5456	35.1273	5590
+-116.7981	47.0701	7382
+-90.7701	40.7296	7250
+-121.3505	44.0282	5957
+-88.6799	39.6322	7357
+-118.1314	46.2959	8998
+-81.7448	29.9337	7402
+-88.0714	38.2831	8772
+-115.3342	35.1342	7164
+-89.446	37.4451	9013
+-91.8779	37.2865	7170
+-120.9464	35.3641	5305
+-114.5653	33.073	7059
+-91.2199	40.6608	7176
+-80.6032	27.2862	8078
+-90.9476	35.9434	6695
+-89.4086	42.8021	4932
+-90.4053	39.6146	8492
+-114.7964	35.0071	6680
+-86.6737	35.4909	6427
+-116.7225	36.1833	7224
+-89.8394	41.5731	6326
+-121.0145	47.0559	7532
+-114.1982	28.5014	4118
+-117.8353	34.2828	8896
+-84.0249	25.4023	6467
+-112.9222	33.3873	6055
+-120.5661	45.9915	6840
+-83.8438	27.773	7957
+-113.0452	34.1566	5423
+-118.7768	47.4287	7759
+-111.0045	32.0221	8605
+-114.8239	33.8784	7086
+-116.2281	44.8871	6733
+-115.0534	33.1565	7585
+-112.4414	33.2165	6584
+-80.4281	30.8787	5878
+-111.0165	29.5676	7168
+-118.5139	34.071	8176
+-122.3368	46.2114	8571
+-89.6347	36.966	8563
+-111.3921	27.0627	4443
+-123.1484	49.2935	7035
+-90.8579	42.8623	4963
+-111.4543	32.3777	7985
+-87.5371	35.0921	6613
+-120.2158	47.0953	6958
+-87.2606	40.4267	6285
+-88.7411	37.4367	9556
+-118.1518	38.0394	5169
+-117.1027	36.645	6792
+-89.9609	36.2361	7724
+-80.8039	28.1577	8325
+-118.2655	35.192	7950
+-83.4037	27.4554	8413
+-107.543	28.3651	4859
+-89.7853	38.9763	8735
+-87.8025	37.2449	8634
+-116.1226	33.6839	8403
+-116.2059	32.2337	8684
+-119.4299	48.2249	6703
+-120.6495	46.8709	7131
+-87.7339	39.3542	7594
+-124.8597	46.1095	7256
+-86.5562	40.9494	5372
+-113.2527	30.8165	6203
+-122.7642	44.7246	7139
+-91.0661	36.5369	6928
+-121.7475	49.1292	6914
+-81.6054	28.1848	9130
+-87.9867	40.332	6697
+-119.4361	31.6997	6730
+-110.8078	30.7576	8442
+-117.8272	33.345	8483
+-117.3931	35.4094	8139
+-118.2877	45.0004	8096
+-111.8158	27.3601	4624
+-106.7193	30.7301	5450
+-83.2681	28.7184	8217
+-115.9063	36.1393	6894
+-89.9646	35.3763	6914
+-82.0757	27.1352	9175
+-124.0334	44.5371	6661
+-111.7808	33.0414	7248
+-91.5616	34.9228	5419
+-109.3449	33.9389	6706
+-91.8043	38.4821	7866
+-113.5382	34.5867	5441
+-114.0196	32.4818	6445
+-108.8809	35.5712	4875
+-117.1531	34.8822	8712
+-91.4791	39.0687	8194
+-120.0793	45.6946	7311
+-85.9378	26.3467	5298
+-123.6832	48.0412	8145
+-81.8775	27.184	9173
+-88.9322	35.5195	7398
+-117.5657	37.0104	6383
+-119.776	45.028	7314
+-116.3962	34.4778	8517
+-80.4379	27.6733	7971
+-107.6177	29.2841	5618
+-87.5705	38.2188	8336
+-123.01	46.883	9454
+-88.0661	39.6025	7503
+-117.0301	33.2917	9218
+-122.1551	46.7935	8766
+-114.8967	36.1168	6167
+-121.7846	49.4156	6650
+-117.2965	30.8932	7576
+-88.8192	36.301	8282
+-118.692	29.3752	5459
+-121.397	45.5958	7371
+-82.4625	26.4711	8380
+-89.4957	43.9959	3690
+-116.11	34.503	8213
+-113.8691	44.9126	4419
+-90.4662	40.663	7361
+-116.5651	31.1614	7853
+-121.5016	46.1295	7816
+-112.8986	31.2089	6665
+-89.9127	38.3605	8766
+-124.6171	45.3293	7000
+-115.819	33.8196	7922
+-120.3468	35.1746	5991
+-124.2008	45.7398	7642
+-109.0579	28.2416	5598
+-119.1188	44.5539	7399
+-117.008	47.78	7027
+-81.0772	31.634	5357
+-108.1467	31.383	7095
+-84.3863	30.9817	5451
+-117.9999	34.1055	8737
+-117.8324	43.7088	6683
+-117.5858	45.5166	8298
+-89.3282	38.3759	8799
+-117.2814	32.2306	9011
+-88.1498	38.0058	9025
+-83.1493	26.904	8385
+-92.1127	39.2641	7480
+-117.3274	32.5048	9221
+-117.2492	42.8374	5636
+-87.174	38.4989	7798
+-87.772	36.2019	7828
+-112.3258	29.7646	6551
+-111.1233	32.8802	7828
+-80.0108	28.3036	7415
+-91.8613	38.1876	7720
+-118.2076	32.479	8318
+-90.8361	38.5322	8883
+-117.3095	31.3274	8048
+-123.5448	46.2582	8554
+-80.4307	30.2076	6525
+-88.9864	39.8519	7507
+-117.2092	49.8728	5106
+-116.4203	34.8358	8338
+-91.1701	35.7945	6396
+-92.2074	39.4806	7306
+-115.3939	35.6411	6915
+-118.4404	43.8779	6901
+-118.4445	47.837	7413
+-113.7813	29.375	5037
+-119.8791	46.8023	7414
+-116.7561	29.4198	5957
+-89.2169	38.8187	8165
+-87.6305	42.5031	4408
+-125.4301	46.4591	6771
+-123.298	48.7427	7606
+-89.7681	38.0608	8429
+-112.2828	32.7257	7025
+-124.6317	47.2713	7674
+-119.8244	35.8678	6167
+-115.2388	33.8357	7515
+-116.9729	46.2659	7862
+-122.2547	49.9053	6301
+-108.4291	31.8585	7389
+-117.6973	34.7812	8689
+-115.2551	34.7477	7244
+-81.0993	26.0418	7617
+-105.8755	28.561	3638
+-120.8938	46.4626	7334
+-85.4264	37.7692	6064
+-110.5891	29.6418	7352
+-118.9834	31.1665	6846
+-118.9196	33.3171	7527
+-90.3578	40.9557	7047
+-122.3134	45.6425	8015
+-106.4702	29.6025	4770
+-113.1144	33.9864	5491
+-83.7036	28.4325	7963
+-118.1275	46.1741	9078
+-88.7936	35.4448	7322
+-121.3309	31.6638	4718
+-117.5858	34.2767	9156
+-87.3178	38.4073	7988
+-89.6849	37.8559	8762
+-90.2822	38.6019	9231
+-123.6643	45.2206	7512
+-83.9946	29.5078	7009
+-83.2044	30.4905	6581
+-89.9205	40.9855	6964
+-123.6831	45.7273	7996
+-85.8925	26.8339	5511
+-113.1192	33.8568	5578
+-117.8558	32.0208	8422
+-118.886	35.486	7236
+-89.9771	37.6339	8144
+-89.3089	41.1806	6560
+-117.8126	33.4611	8593
+-119.5714	46.9557	7623
+-120.2855	47.5803	6623
+-114.9118	45.9221	5685
+-122.3807	46.8609	9024
+-89.6235	38.9488	8578
+-114.5568	31.4584	6667
+-86.6669	34.9992	6005
+-88.5726	41.6091	5777
+-89.7733	38.5107	8718
+-123.968	48.3137	7717
+-83.6281	28.6796	7911
+-90.5727	42.3663	5521
+-125.3478	45.8521	6651
+-117.963	41.5583	4438
+-119.0549	45.5439	8253
+-90.6039	38.1144	8699
+-87.4421	36.5938	7902
+-90.1031	32.9819	4347
+-87.9792	37.3823	8876
+-117.1955	48.7891	6188
+-112.655	32.4804	6777
+-118.4771	47.0047	8281
+-105.6677	32.4642	4329
+-83.0328	25.5117	7146
+-83.8027	28.0314	7980
+-88.5678	38.236	9137
+-118.0609	44.2998	7340
+-80.4834	29.9537	6793
+-113.2342	28.8488	5154
+-85.9099	39.1233	6215
+-85.0773	41.2262	4060
+-114.523	32.334	6975
+-117.8442	32.313	8624
+-92.6287	38.619	7000
+-119.223	46.5513	8157
+-93.2683	37.2947	5942
+-91.2269	39.7565	8009
+-114.8541	34.1171	6906
+-118.8841	44.7159	7663
+-90.8471	37.0219	7496
+-114.2214	29.2679	4748
+-88.1125	34.3197	5988
+-117.4177	34.8449	8744
+-117.1635	33.2905	9180
+-92.0912	34.4878	4475
+-110.608	31.5441	9173
+-124.7358	47.9624	7312
+-116.6102	34.1204	8822
+-125.4755	46.1295	6631
+-123.3057	49.0591	7264
+-94.1516	36.9409	4919
+-116.5892	30.2399	6848
+-119.1537	36.5677	6178
+-80.9629	28.5159	8320
+-118.3722	46.1142	9165
+-82.5062	30.0135	7316
+-88.7578	38.2161	9198
+-120.653	46.8352	7133
+-81.993	26.3528	8285
+-115.761	28.9934	5281
+-81.181	24.368	5899
+-113.0953	32.4144	6348
+-109.3477	33.0781	7534
+-119.3807	46.4971	8025
+-82.3076	29.484	7940
+-119.6034	46.4907	7803
+-109.6833	34.6157	6113
+-118.2567	31.0806	7340
+-88.6589	39.0204	8290
+-87.784	37.3924	8670
+-119.3018	33.48	7206
+-115.2362	32.2396	7718
+-83.4359	26.4596	7805
+-109.2926	31.8539	8308
+-121.8589	45.1302	7287
+-119.3483	36.4345	6153
+-79.9196	28.2954	7317
+-109.9578	31.6908	9050
+-91.7812	35.1482	5260
+-80.0427	28.0727	7502
+-112.426	32.6914	6908
+-114.5638	31.095	6456
+-116.245	33.2188	8831
+-108.6926	34.9595	5406
+-119.6789	47.8189	6916
+-82.0937	24.5898	6298
+-107.2672	32.1652	6092
+-119.8854	45.0666	7241
+-110.4056	31.1191	8965
+-87.249	37.0859	7991
+-115.8084	37.1647	5869
+-116.5176	35.391	7941
+-89.4535	39.958	7781
+-116.9819	40.5163	3188
+-118.9037	46.5367	8457
+-119.9977	43.5696	6023
+-91.7729	38.9909	7904
+-81.383	27.5074	8994
+-83.8284	28.6826	7713
+-117.0174	41.8872	4602
+-116.2489	33.2736	8804
+-115.2167	47.1842	5816
+-119.1582	44.2039	7049
+-87.1125	36.0941	7254
+-120.2272	45.443	7087
+-117.0439	47.2878	7442
+-80.1063	27.7899	7599
+-114.3799	31.2708	6392
+-115.5627	44.2747	5791
+-108.1803	32.0149	7095
+-87.862	35.2594	6929
+-116.45	33.321	8948
+-115.3242	35.1921	7125
+-89.7166	35.524	7185
+-110.1786	31.2691	9094
+-109.4442	33.4454	7238
+-88.0202	40.7385	6096
+-121.1337	49.9257	5820
+-120.4739	42.8585	5117
+-117.3534	48.2268	6802
+-119.6121	45.5378	7732
+-88.9791	40.5987	6922
+-84.5228	26.2911	6715
+-82.9224	28.6946	8514
+-88.0047	38.5081	8540
+-125.7829	46.0624	6287
+-118.327	35.5089	7643
+-118.4904	36.6572	6478
+-109.7582	32.7486	8066
+-87.0522	40.9493	5657
+-118.7472	46.596	8541
+-113.329	38.3205	3268
+-114.2345	36.1901	5541
+-120.0971	32.8124	6131
+-111.1216	30.8195	8284
+-87.72	35.7118	7327
+-82.1461	25.8117	7681
+-93.057	39.0431	6525
+-123.065	45.4222	7900
+-117.4966	35.842	7657
+-119.0825	31.2163	6794
+-87.6794	38.2051	8453
+-109.5006	34.4689	6220
+-111.0742	32.3792	8295
+-117.816	46.7458	8416
+-118.7903	35.3401	7418
+-118.5604	46.2365	8933
+-110.3676	30.1847	7958
+-82.299	31.4903	5675
+-110.4189	34.3614	6462
+-115.3887	35.796	6802
+-111.1551	31.7486	8565
+-118.0164	44.4654	7506
+-89.2706	37.0675	8937
+-108.2986	35.4323	4756
+-114.0845	34.8183	5987
+-89.9394	34.5678	6097
+-118.0254	33.481	8446
+-112.4867	28.4291	5336
+-110.8608	33.3903	7434
+-91.6307	38.4891	8051
+-89.0641	40.4693	7089
+-84.8418	37.8265	5406
+-116.0354	35.3583	7643
+-93.3878	39.5582	6071
+-112.4105	31.2134	7188
+-118.5571	32.4378	7929
+-89.7497	39.408	8440
+-115.9522	33.7233	8235
+-119.446	48.48	6455
+-83.7013	27.655	8114
+-115.0659	49.4393	4349
+-80.5106	28.0198	8034
+-89.637	36.2876	7985
+-116.295	35.7669	7465
+-114.869	31.2435	6828
+-90.0466	37.0142	8203
+-116.581	45.4838	7343
+-117.3465	35.1212	8457
+-112.8138	28.1741	4906
+-84.9377	38.4255	5433
+-116.0236	33.0685	8664
+-79.309	30.2237	5657
+-118.4462	37.5789	5565
+-78.8626	27.5794	6186
+-120.8662	46.1755	7209
+-114.7624	44.5481	5185
+-88.6093	37.8448	9548
+-88.2119	36.227	8084
+-121.5982	49.2313	6736
+-122.5239	45.5066	7950
+-115.2324	32.3162	7740
+-114.9623	31.8669	7279
+-83.7546	24.4588	5725
+-77.4669	29.7331	4163
+-86.7796	37.6328	7584
+-82.492	28.9963	8443
+-111.4531	32.2611	8055
+-92.5162	39.1208	7091
+-79.5893	28.5497	6881
+-86.1296	38.3047	6769
+-79.3218	28.0091	6700
+-113.2924	35.4504	4971
+-125.9011	45.2079	5785
+-90.4862	37.7956	8390
+-116.2443	35.2711	7869
+-83.7244	29.4418	7279
+-89.0265	40.7559	6814
+-121.9469	47.0888	8551
+-116.7478	34.9529	8480
+-116.4997	32.8016	9232
+-81.8923	31.0327	6187
+-118.3983	48.3837	6839
+-86.9574	36.8142	7570
+-108.8422	31.3808	7843
+-115.1033	36.5003	6040
+-116.4633	46.5472	7276
+-91.316	37.8392	8019
+-86.5594	35.7848	6560
+-122.8362	44.8182	7245
+-116.9588	34.3342	9137
+-119.1725	47.1943	7767
+-109.9821	31.3075	8990
+-112.9106	29.5836	5939
+-122.333	31.6832	3635
+-118.4878	33.753	8143
+-79.6478	28.0393	7064
+-116.9743	34.0341	9201
+-82.9464	27.4094	8888
+-117.1323	29.1915	5705
+-88.075	40.5364	6278
+-116.0151	36.0049	7082
+-117.5606	46.6039	8327
+-92.983	37.6363	6376
+-90.8384	34.4604	5531
+-113.4755	31.6377	6069
+-121.8018	45.003	7134
+-117.6436	32.8705	8995
+-92.6073	39.4938	6897
+-115.1416	31.8599	7454
+-123.0598	45.4297	7909
+-90.312	39.0829	9057
+-90.7355	37.8513	8384
+-124.5283	45.5991	7270
+-116.1708	35.114	7934
+-116.419	36.1077	7194
+-106.7266	30.1792	5280
+-80.2831	25.0566	6180
+-92.1587	36.4511	6294
+-120.1581	46.6381	7195
+-88.2226	38.2639	8908
+-120.7492	46.6521	7218
+-117.0691	35.9713	7521
+-107.834	32.0017	6728
+-110.4626	31.9377	9065
+-108.6667	35.2955	5065
+-122.769	49.7682	6525
+-79.4013	30.2749	5696
+-109.8091	32.5207	8310
+-89.4887	38.965	8433
+-89.2095	40.5104	7144
+-79.7374	27.3482	7141
+-111.3816	33.7208	6894
+-117.51	31.6112	8278
+-91.9511	35.7786	5803
+-119.4196	47.4696	7376
+-81.9348	25.5502	7375
+-110.6497	29.2887	6964
+-115.6311	34.6192	7677
+-115.9496	33.6827	8263
+-88.891	36.9633	9014
+-82.8043	27.8517	9127
+-118.9765	46.8481	8180
+-84.0823	37.7637	4556
+-82.006	33.5061	3397
+-90.7152	37.2451	7763
+-119.0136	47.5011	7587
+-89.1033	37.4696	9378
+-115.2599	29.7195	5809
+-88.0978	37.9724	8989
+-89.015	39.5024	7741
+-80.5396	24.8068	6089
+-117.4777	34.5751	9004
+-82.1659	27.5027	9592
+-94.9156	35.5495	3444
+-117.3079	34.6276	8997
+-115.6071	35.2608	7349
+-115.4281	35.7819	6844
+-118.0404	42.2262	5150
+-110.2658	27.478	5025
+-125.1028	46.853	7183
+-109.3807	27.0558	4461
+-111.4375	31.4982	8274
+-80.0122	27.7107	7492
+-80.8221	31.1476	5790
+-90.6352	38.86	9128
+-80.2786	27.7705	7794
+-118.4841	34.0746	8208
+-82.4124	31.1669	6033
+-126.0176	45.9932	6018
+-87.7927	37.7508	8718
+-123.4151	48.154	8184
+-91.0064	41.3463	6547
+-82.8888	27.6887	9033
+-89.7741	39.5885	8307
+-84.177	29.3752	6950
+-125.691	46.9187	6540
+-126.2948	44.99	5290
+-111.2363	28.926	6433
+-89.4014	39.8443	7840
+-113.9917	45.5255	4675
+-111.1095	32.7321	7971
+-119.6605	48.5616	6273
+-83.4838	26.8796	8065
+-120.334	47.6014	6569
+-88.041	37.6513	9000
+-90.0523	41.2761	6678
+-122.0516	45.9675	8166
+-119.1234	31.8473	7115
+-123.3776	46.7889	9046
+-90.784	39.5113	8497
+-82.5128	24.987	6719
+-116.3998	31.4239	8076
+-119.235	44.2473	7055
+-92.9929	38.733	6612
+-115.9821	37.3118	5798
+-89.9962	37.5132	8424
+-115.1371	36.1227	6359
+-107.87	32.5489	6607
+-110.9187	30.7372	8359
+-123.1624	49.2534	7077
+-121.3018	41.4744	3411
+-118.4877	33.3087	7931
+-111.3434	29.1534	6622
+-121.674	46.9949	8259
+-106.414	35.0512	3803
+-123.6984	49.1779	7023
+-90.5875	36.9248	7445
+-107.9903	28.6175	5379
+-84.3128	36.1432	4532
+-91.5069	40.4981	7185
+-119.2728	44.4419	7216
+-120.0796	31.4299	5952
+-117.1384	45.6502	7958
+-92.4524	40.7968	6287
+-106.6346	29.3347	4784
+-112.6669	32.0388	6898
+-92.621	38.2424	6951
+-90.1713	40.2616	7779
+-107.5094	32.4333	6278
+-115.4399	33.606	7836
+-91.3554	39.4019	8163
+-118.2633	48.7476	6456
+-89.7179	39.4692	8368
+-110.2517	28.3344	5952
+-110.0887	28.1672	5763
+-117.4384	33.9052	9226
+-118.4837	42.2423	5169
+-85.9218	37.417	6610
+-111.1901	32.459	8146
+-87.2022	35.5108	6826
+-114.4745	31.4757	6596
+-88.769	33.8584	5541
+-82.7906	32.0874	4948
+-113.3384	33.1934	5780
+-124.9675	45.8937	7047
+-88.6254	37.6153	9647
+-82.8994	27.622	9010
+-118.1814	36.026	7245
+-105.1866	29.7035	3537
+-126.943	42.6835	3135
+-82.041	30.2709	7057
+-118.1479	48.0679	7171
+-116.4126	33.9871	8593
+-91.8408	38.7626	7853
+-120.1322	47.9323	6504
+-125.5875	47.4291	6610
+-89.1128	40.5939	7011
+-117.7644	32.299	8692
+-89.6552	36.3301	8014
+-90.2882	41.1738	6810
+-86.638	40.2463	6060
+-112.9715	32.1491	6550
+-123.1622	48.2829	8132
+-87.5212	35.1582	6672
+-90.2483	37.6466	8226
+-90.4676	39.3734	8746
+-86.8528	28.3388	4514
+-91.9346	39.6617	7485
+-110.8331	32.7288	8119
+-79.8958	26.9979	7216
+-89.8548	38.4363	8762
+-110.9178	28.7606	6350
+-87.3303	39.3264	7351
+-119.4238	43.3301	6088
+-114.9951	33.2806	7494
+-86.9071	36.3972	7288
+-108.4511	29.7168	6602
+-119.9319	32.8543	6313
+-119.0393	32.5699	7425
+-122.2523	49.1694	7084
+-90.2561	36.654	7794
+-124.5936	46.0241	7477
+-108.1858	33.1796	6574
+-118.9834	33.0971	7350
+-126.082	48.80	5572
+-116.2008	45.4342	6945
+-83.0474	30.3675	6773
+-115.3104	34.0049	7399
+-91.4387	38.5987	8275
+-110.659	32.7306	8181
+-108.6141	28.9646	6079
+-110.3372	32.9372	8007
+-119.9622	44.1601	6543
+-117.8568	46.7534	8434
+-112.5272	34.5275	5495
+-92.0758	36.745	6596
+-118.9111	38.7974	4143
+-92.2775	38.7013	7382
+-110.5209	31.6359	9262
+-117.9392	47.4221	7814
+-109.3642	33.6003	7049
+-86.8851	34.5905	5768
+-118.1008	46.4918	8803
+-122.3804	45.8793	8282
+-79.5366	27.2206	6890
+-117.1586	34.1468	9419
+-110.6246	30.823	8591
+-119.9886	30.597	5571
+-80.4865	31.3805	5399
+-82.3552	29.0227	8449
+-117.2268	34.4844	9152
+-106.227	29.8381	4639
+-117.2919	47.648	7314
+-90.9326	40.5075	7440
+-125.4103	46.7985	6842
+-116.8524	32.5724	9452
+-115.4211	46.6096	6182
+-119.8549	47.3102	7160
+-122.2658	44.0387	6315
+-91.3612	38.2365	8234
+-109.6006	30.2695	7844
+-116.591	42.6136	5156
+-80.4956	26.3998	7479
+-114.1573	33.7598	6447
+-113.6186	34.6711	5516
+-80.9214	25.6057	7089
+-118.2825	46.6077	8723
+-83.2275	27.181	8488
+-89.8613	42.3568	5496
+-114.9002	33.5779	7296
+-122.4716	46.4841	8897
+-117.9844	34.9394	8360
+-89.3963	39.5175	8077
+-119.0479	36.0688	6669
+-81.5648	26.6215	8446
+-110.7642	31.6569	9000
+-86.7006	35.4864	6444
+-117.4951	33.6604	8965
+-90.1392	34.3982	5837
+-111.5161	29.3938	6777
+-83.0789	25.4039	7013
+-108.2381	29.8113	6500
+-87.5662	35.5557	7090
+-120.1417	34.0527	6400
+-84.3811	25.7756	6495
+-86.258	28.0049	5218
+-108.4713	31.5297	7455
+-77.3937	28.5712	4453
+-85.1049	26.1122	6045
+-115.5499	33.6352	7928
+-119.4274	34.0951	7180
+-85.1158	28.4873	6421
+-80.0312	25.7971	6633
+-119.5239	33.0652	6814
+-87.4436	39.3482	7413
+-90.3064	40.1138	7952
+-92.5232	40.1719	6655
+-119.7675	44.4245	6890
+-119.7998	46.6205	7563
+-82.4849	28.0455	9385
+-116.2016	31.7535	8292
+-114.8936	32.7513	7440
+-90.0187	36.0186	7492
+-110.8211	30.9709	8625
+-90.3915	39.9844	8094
+-82.8171	26.1662	7923
+-87.8293	38.0839	8663
+-80.2583	27.3615	7722
+-118.677	29.973	6051
+-117.6009	35.0391	8485
+-94.096	34.4063	3265
+-89.9067	37.2471	8452
+-118.3967	36.3409	6833
+-112.4464	35.8252	4339
+-107.2125	31.5561	6092
+-117.4531	34.63	8959
+-84.3484	26.7611	7140
+-92.7964	37.7821	6622
+-121.6636	44.3789	6455
+-85.2312	38.0867	5819
+-116.9999	33.6666	8952
+-118.5703	47.864	7368
+-85.1979	24.8138	5078
+-111.3829	31.4565	8328
+-92.2047	34.027	4195
+-107.5396	34.6136	5008
+-90.8233	40.1658	7826
+-116.9843	31.6694	8473
+-114.3182	28.8945	4474
+-116.831	33.1774	9323
+-120.7487	45.4025	6547
+-108.0437	34.9505	5062
+-115.3855	33.3484	7892
+-113.6504	32.4566	6032
+-124.4954	45.5898	7291
+-121.2892	46.4848	7759
+-82.3602	28.8164	8677
+-117.7414	35.8514	7593
+-80.878	29.0242	7882
+-80.6421	29.9839	6869
+-120.0024	45.6665	7383
+-119.7114	45.4932	7617
+-123.3227	46.3845	8816
+-123.2216	45.7621	8236
+-117.7609	37.2139	6134
+-88.4757	37.6522	9488
+-81.833	25.8195	7664
+-91.0197	34.2193	5193
+-93.798	38.2369	5703
+-82.0451	29.4532	7982
+-116.5979	34.8113	8499
+-109.6014	29.8209	7406
+-90.5236	36.5326	7468
+-89.0405	36.699	8687
+-119.3802	48.5095	6457
+-88.774	40.5618	6812
+-115.1645	33.5994	7561
+-80.5486	27.5111	8076
+-106.5888	33.5507	4891
+-124.5095	46.4164	7737
+-117.7701	34.8252	8604
+-124.1402	45.2009	7236
+-111.7577	30.7579	7690
+-86.7774	36.3142	7115
+-116.3488	33.4584	8759
+-88.7342	38.4902	8889
+-94.3908	38.2699	5074
+-91.8346	42.3195	5271
+-113.7285	31.6835	5793
+-110.1109	30.3086	8072
+-120.6154	47.4851	7032
+-113.7602	32.1612	6102
+-118.6536	45.1613	8192
+-116.5491	41.0155	3571
+-89.4469	38.898	8403
+-115.1967	29.5047	5564
+-118.0208	32.2301	8407
+-90.7857	38.3024	8776
+-120.8195	48.8494	6523
+-121.6875	47.4865	8157
+-119.931	47.7734	6773
+-115.8538	35.2731	7558
+-79.7882	27.8292	7238
+-124.106	47.7419	8031
+-109.2518	29.5854	7012
+-113.5037	33.5188	5812
+-124.8244	45.7592	7110
+-122.4301	44.5595	6912
+-117.5212	33.5795	8873
+-120.424	31.2644	5526
+-82.8029	26.3866	8157
+-82.5061	27.0876	9016
+-106.93	32.4889	5658
+-122.6221	47.5203	8926
+-80.0216	27.3002	7446
+-124.6298	47.6258	7572
+-119.7834	42.709	5333
+-120.4595	48.9623	6143
+-113.7136	32.7591	6124
+-92.2078	36.1891	6035
+-114.7963	33.7574	7114
+-117.1627	30.9509	7660
+-120.8651	44.9445	6265
+-118.0642	32.7995	8528
+-111.1967	31.2968	8488
+-118.1687	47.694	7568
+-123.9404	44.9376	7101
+-94.0685	39.681	5328
+-112.1386	28.6941	5782
+-115.9007	34.9294	7813
+-115.0626	31.865	7379
+-117.0074	35.785	7714
+-118.2662	35.2028	7941
+-89.945	38.8044	8948
+-116.1191	33.1622	8732
+-123.2186	48.9292	7422
+-84.9279	39.7192	4928
+-117.9653	49.3908	5759
+-117.4352	31.3324	8017
+-116.787	33.7948	8898
+-88.4667	41.0202	6222
+-109.7353	26.9713	4435
+-116.9855	31.452	8231
+-116.1393	31.1733	7701
+-119.3995	32.2006	6954
+-111.6283	31.4559	8064
+-116.8592	32.0925	8936
+-112.6433	31.6217	6970
+-124.6833	48.4443	7062
+-88.7194	38.1291	9293
+-110.7367	29.3558	7021
+-111.2396	32.7956	7834
+-122.965	46.6599	9262
+-117.2884	47.5112	7432
+-118.7192	35.8117	7117
+-89.902	37.6429	8540
+-122.1771	47.3791	8692
+-89.6065	34.1544	5762
+-109.7931	30.1809	7845
+-91.4287	39.6052	7969
+-88.4471	41.4907	5808
+-119.0369	46.3319	8425
+-108.1819	31.8743	7121
+-90.8693	43.0115	4801
+-116.3298	34.3453	8490
+-81.832	26.6912	8629
+-89.1163	35.8179	7704
+-124.1027	46.5281	8200
+-86.2692	41.5824	4601
+-122.4661	46.9257	9127
+-118.1651	33.723	8460
+-114.3064	30.6927	5956
+-93.1711	37.7748	6241
+-115.1356	32.4459	7669
+-109.3479	29.8828	7344
+-117.7115	37.1953	6163
+-92.3238	36.2297	5996
+-121.4554	46.5212	7945
+-111.9506	30.9554	7594
+-115.2443	30.0607	6128
+-110.3442	28.7182	6369
+-115.551	32.0113	7936
+-86.5963	38.0383	7343
+-121.7289	37.203	3630
+-91.2098	38.0425	8252
+-83.3394	26.8197	8158
+-110.371	35.025	5744
+-118.681	32.9357	7836
+-82.5591	30.4497	6819
+-89.8545	38.3283	8695
+-120.3235	31.4587	5714
+-91.2943	35.8814	6180
+-120.1011	46.7276	7224
+-116.4979	34.2017	8696
+-122.7636	46.0376	8575
+-117.8254	33.7185	8779
+-120.46	45.1961	6764
+-119.3509	33.3971	7127
+-114.7762	33.7434	7100
+-125.731	45.7796	6234
+-115.4959	34.2595	7601
+-124.0725	46.8235	8308
+-87.9318	39.9817	7052
+-118.5126	42.774	5730
+-88.1538	36.2094	8041
+-123.1628	47.5669	8886
+-116.2768	31.4105	8006
+-88.9414	35.8772	7798
+-90.6649	39.7738	8280
+-110.3714	31.6715	9369
+-94.9271	41.8762	3480
+-117.0875	44.416	7073
+-109.6532	31.384	8706
+-118.8964	34.8081	7614
+-118.0106	46.9762	8289
+-89.3134	35.9756	7821
+-86.2384	38.3188	6884
+-118.6115	47.0406	8206
+-119.3316	45.9004	8130
+-117.6847	32.4593	8858
+-83.4176	29.2171	7701
+-124.7366	46.674	7563
+-118.6541	37.5123	5553
+-88.0326	41.5109	5516
+-89.321	39.7556	7848
+-91.1222	41.7508	6093
+-122.529	46.0488	8519
+-88.5429	35.912	7830
+-120.7582	44.4092	6086
+-89.3708	37.6104	9134
+-119.871	45.4487	7443
+-90.5334	38.33	8944
+-114.6992	30.9556	6481
+-91.0872	38.6247	8654
+-87.1113	34.4491	5754
+-91.0412	37.6443	8038
+-116.6282	47.9268	6650
+-123.3796	45.632	8048
+-117.1277	32.6629	9505
+-81.4927	30.2389	7003
+-126.534	45.471	5289
+-110.6188	29.6738	7382
+-121.8402	49.223	6867
+-90.4763	38.0275	8639
+-122.7879	48.7811	7609
+-84.2933	26.441	7025
+-91.2734	40.4471	7359
+-118.5186	31.5583	7524
+-123.9405	46.7935	8447
+-88.2396	37.4614	9181
+-119.1459	46.9195	8000
+-117.8864	47.0663	8154
+-125.0849	45.9862	6975
+-90.5001	37.5964	8175
+-108.1629	33.8421	6080
+-92.1167	39.9327	7163
+-114.291	44.4704	4694
+-117.2749	40.9275	3679
+-123.0747	46.2417	8787
+-86.5408	37.5077	7310
+-82.3944	26.3959	8314
+-81.6125	25.7432	7529
+-80.8062	28.7376	8032
+-88.823	42.6509	4896
+-90.9304	39.9209	8031
+-81.92	27.1496	9154
+-116.495	33.5304	8799
+-116.5641	45.8809	7425
+-122.6594	47.2152	9226
+-117.9115	37.0317	6299
+-118.0997	48.6598	6543
+-119.3544	46.6987	7961
+-115.585	32.4776	8166
+-88.6307	39.2516	8029
+-86.3736	37.4226	7115
+-118.7414	37.1195	5905
+-121.8273	46.3917	8269
+-110.6719	31.0778	8814
+-108.5427	30.2422	7050
+-93.4782	38.7593	6088
+-114.5989	35.5485	6244
+-87.398	35.3334	6779
+-85.5804	37.4426	6230
+-112.4124	29.3237	6147
+-116.7455	32.8123	9506
+-111.6226	29.8804	7159
+-82.9441	28.5183	8642
+-92.3954	40.483	6562
+-121.6993	48.503	7464
+-111.124	37.5865	2913
+-89.3844	37.2246	8963
+-108.8905	32.0278	7838
+-105.501	29.2388	3654
+-86.409	38.0363	7136
+-114.8937	32.4241	7400
+-119.8821	48.6097	6109
+-89.1264	37.5877	9402
+-115.0297	44.2804	5312
+-124.9199	49.5497	6004
+-114.6824	31.4599	6790
+-118.2821	46.7435	8579
+-87.8799	38.872	8135
+-108.4898	33.11	6880
+-115.8255	33.4281	8309
+-119.5736	30.1029	5555
+-86.3907	38.8679	6826
+-114.4002	34.1498	6411
+-125.0073	45.887	7005
+-89.3678	41.0392	6725
+-109.0103	33.7845	6691
+-118.2279	33.9719	8475
+-85.7802	33.57	4125
+-113.8328	42.6757	3313
+-120.5144	48.2331	6639
+-85.102	29.4805	6014
+-123.6051	47.3116	8744
+-113.5052	31.8501	6025
+-88.3458	38.2429	9014
+-84.809	30.1986	5802
+-108.0883	28.8475	5639
+-89.1455	38.6623	8619
+-114.144	35.7345	5710
+-82.718	27.4533	9142
+-116.0628	41.9939	4317
+-93.2922	39.2493	6243
+-79.4012	25.5931	5943
+-88.2304	37.1339	8967
+-117.8721	46.8773	8329
+-120.4981	46.0758	6915
+-84.9472	28.8674	6474
+-117.5872	30.2764	6836
+-88.5636	36.6065	8604
+-120.816	46.8251	7311
+-108.6025	35.6597	4675
+-81.2053	25.4904	7111
+-116.4662	31.8913	8580
+-90.3612	39.161	8981
+-117.8393	33.0504	8745
+-107.6379	31.1573	6517
+-113.5822	30.079	5594
+-119.3422	43.1538	5945
+-84.2264	27.3373	7475
+-118.3649	34.0715	8338
+-94.4194	42.4453	3526
+-120.8656	47.3343	7335
+-121.1235	48.8245	6782
+-88.628	37.6721	9659
+-114.7558	33.1096	7265
+-116.4294	48.0437	6416
+-91.6268	40.5958	7026
+-117.4556	48.4745	6597
+-109.2276	28.8871	6316
+-116.4267	36.1367	7168
+-117.3985	31.3762	8076
+-112.8618	32.3944	6597
+-121.3216	42.4884	4262
+-93.3193	39.7692	6075
+-119.546	33.2277	6862
+-111.9142	36.1111	4277
+-79.7442	28.5745	7039
+-124.0095	48.6648	7378
+-111.8892	32.5191	7506
+-91.1744	39.183	8452
+-114.9901	31.0463	6793
+-88.5629	37.1118	9152
+-89.2862	35.2268	7016
+-88.647	43.0256	4450
+-91.8731	41.1997	6334
+-115.0025	49.8784	3961
+-111.3394	33.1049	7497
+-106.6956	32.4037	5433
+-123.0962	46.2624	8803
+-116.3215	37.4554	5770
+-115.5722	35.5947	7097
+-122.3877	46.0269	8430
+-88.2701	36.6091	8504
+-124.1211	47.464	8158
+-79.4944	26.4693	6566
+-91.2283	33.2135	4104
+-88.8104	37.7065	9748
+-117.0805	45.0762	7588
+-118.2387	45.8027	8942
+-110.4393	29.3686	7071
+-80.0986	29.0362	7179
+-90.3956	38.3175	8958
+-91.2712	39.2855	8307
+-111.1298	31.7168	8599
+-105.2383	32.0697	3928
+-120.5623	47.4329	6987
+-91.6868	35.4855	5636
+-125.0813	45.9223	6949
+-115.4965	28.8412	5025
+-119.4334	44.1307	6845
+-116.6188	33.4426	8954
+-84.9641	29.5688	6096
+-109.2512	32.2162	8115
+-110.1596	26.48	3941
+-115.6269	30.0405	6315
+-87.2857	40.1547	6564
+-115.1212	31.8002	7403
+-83.8835	27.4436	7879
+-91.7714	35.4283	5544
+-108.2304	33.727	6220
+-119.1177	44.0928	6958
+-107.4691	30.0626	5960
+-114.7244	33.13	7228
+-111.9954	28.7062	5874
+-78.3428	27.0567	5529
+-122.0258	48.3926	7769
+-110.8419	28.61	6205
+-83.0402	28.487	8582
+-119.7491	43.5589	6154
+-82.8453	25.6451	7361
+-115.7413	31.414	7675
+-119.2509	31.6743	6904
+-115.5339	49.6914	4470
+-82.0022	27.2584	9299
+-84.1434	28.0243	7600
+-113.7594	32.1194	6092
+-124.3794	45.3246	7178
+-92.2863	40.248	6814
+-91.8144	39.8551	7476
+-115.4805	33.454	7949
+-115.1286	45.9291	5915
+-113.2115	35.7355	4782
+-92.9827	38.0223	6515
+-108.1459	33.1279	6572
+-116.4017	44.5815	6700
+-117.1453	31.9676	8785
+-110.4855	30.9561	8774
+-113.1705	32.0425	6360
+-83.6241	28.2874	8106
+-111.3314	33.6642	6973
+-118.2493	46.9547	8355
+-87.1637	37.5016	8006
+-88.6159	36.3893	8372
+-120.3306	30.7523	5351
+-116.9488	32.7979	9724
+-120.5897	34.4517	5896
+-114.603	31.5758	6775
+-109.778	33.3085	7510
+-122.8974	48.8788	7505
+-110.8486	31.2495	8808
+-119.597	30.3705	5746
+-119.3114	29.3697	5103
+-81.7809	27.8043	9491
+-119.0172	32.7227	7463
+-88.0906	39.8304	7270
+-109.9186	31.6909	9009
+-118.7651	49.7982	5311
+-115.5386	29.6207	5848
+-122.5313	48.6721	7689
+-87.9247	39.0784	7969
+-88.8178	36.1691	8134
+-119.3172	31.039	6466
+-122.7405	47.8921	8574
+-88.3704	36.691	8634
+-118.4708	33.694	8140
+-114.0977	28.443	4162
+-108.1283	32.556	6862
+-115.4333	32.8983	8040
+-116.8745	33.6163	8830
+-118.5882	45.661	8694
+-88.9083	38.8231	8507
+-92.2133	34.5262	4463
+-88.9982	35.8352	7744
+-91.1547	42.6775	5110
+-124.2669	46.6481	8064
+-90.4388	41.13	6858
+-86.713	37.4957	7502
+-87.6155	36.6204	8069
+-117.8545	45.3692	8363
+-121.4993	48.3278	7460
+-83.6519	27.1645	8044
+-88.7358	38.9941	8324
+-122.7932	45.0682	7517
+-118.6244	32.6829	7898
+-90.4133	35.6951	6932
+-120.2451	46.4516	7150
+-89.2247	38.5974	8650
+-112.9545	36.0988	4369
+-125.0352	44.6296	6128
+-119.9793	33.8197	6559
+-117.2243	32.2104	9018
+-122.603	42.3006	4470
+-117.2832	33.5899	8945
+-116.2181	33.8345	8349
+-109.5044	32.5653	8081
+-90.0501	36.1413	7578
+-83.7112	28.6131	7867
+-115.3517	30.8778	6938
+-114.8715	33.7147	7210
+-111.9498	33.8506	6457
+-118.5251	44.3059	7343
+-122.0655	47.7627	8339
+-86.5918	36.5391	7066
+-87.8611	38.6418	8321
+-89.7381	41.3854	6500
+-108.8474	32.7045	7457
+-81.983	28.6515	8877
+-111.5325	31.3197	8143
+-79.6416	27.7254	7073
+-123.5227	45.4049	7759
+-117.8388	34.6487	8698
+-114.8877	33.8637	7157
+-84.3382	38.437	4769
+-86.811	39.8884	6492
+-117.2079	44.9492	7592
+-111.3049	31.3563	8392
+-84.1321	27.22	7548
+-108.9331	32.3521	7743
+-119.7392	32.7484	6659
+-118.4021	29.014	5219
+-87.7344	35.9182	7537
+-79.5197	25.4416	5935
+-112.3757	29.6882	6455
+-117.698	28.9271	5339
+-116.8392	47.7742	6919
+-123.0294	43.4778	5771
+-116.0384	36.3823	6743
+-113.5095	32.6057	5858
+-88.7322	38.0935	9334
+-117.0264	43.4883	6191
+-122.9092	45.1553	7616
+-119.3275	45.8108	8113
+-117.808	43.6831	6652
+-117.5855	43.1756	6076
+-89.1624	38.8412	8105
+-86.343	41.5742	4653
+-87.6385	34.71	6263
+-117.5215	46.915	8079
+-114.2951	27.9018	3614
+-116.7133	34.3972	8869
+-122.0593	46.4619	8529
+-118.4344	45.6938	8802
+-113.6136	30.5099	5734
+-118.4701	42.872	5836
+-89.3049	38.4723	8727
+-116.4545	46.2164	7320
+-115.3581	31.7522	7601
+-116.9346	33.6004	8853
+-81.4369	25.5367	7249
+-116.9817	31.3458	8112
+-108.9471	31.3148	7944
+-118.79	31.0097	6890
+-115.018	32.9245	7576
+-88.438	33.3009	4901
+-116.0267	37.584	5538
+-91.686	36.4838	6607
+-117.7118	47.7447	7417
+-112.9455	31.9386	6617
+-122.8581	44.9432	7383
+-115.1285	32.7708	7702
+-83.2904	25.8537	7363
+-117.3296	34.3542	9287
+-111.3777	32.5558	7927
+-84.0632	27.5088	7690
+-115.3296	35.4109	7007
+-90.5657	39.4091	8687
+-120.2017	49.0962	5830
+-92.656	38.4244	6950
+-109.3374	31.5521	8394
+-118.3232	36.3495	6860
+-115.5683	35.1552	7376
+-110.0416	31.279	9017
+-122.1094	43.8128	6034
+-91.9217	42.5468	5009
+-116.7551	34.8303	8595
+-119.0952	34.7973	7416
+-117.9299	33.9043	8772
+-120.6039	48.1654	6760
+-126.4901	45.7545	5443
+-115.0648	45.3283	5755
+-114.6937	33.367	7144
+-111.5968	30.9975	7965
+-112.1677	28.0454	5156
+-119.407	47.7073	7184
+-116.226	42.5753	4938
+-119.0501	29.8196	5682
+-109.8075	34.1529	6632
+-120.6207	32.0922	5598
+-111.372	30.7201	8010
+-125.6081	44.3162	5443
+-118.8955	33.2732	7529
+-78.6885	28.0594	5981
+-89.0855	36.4421	8395
+-116.6497	36.1133	7276
+-89.3687	37.0523	8850
+-116.0893	37.0448	6112
+-116.6922	33.7208	8766
+-118.2331	45.4695	8591
+-117.153	35.3701	8183
+-119.0383	34.0605	7604
+-108.8627	30.8351	7686
+-89.7315	36.498	8114
+-89.2015	38.6297	8628
+-119.9141	39.3609	3146
+-118.1471	46.371	8939
+-119.742	46.5551	7642
+-117.866	33.4943	8582
+-78.4492	24.8672	4588
+-121.3325	48.2618	7372
+-121.6159	44.7253	6768
+-117.2602	35.4399	8113
+-116.7753	34.0603	8996
+-86.394	38.4225	7020
+-123.1912	45.3855	7840
+-118.4801	32.9423	8059
+-82.958	26.7284	8392
+-119.945	46.0537	7500
+-109.4502	36.4093	4158
+-110.1198	32.7193	8221
+-80.6652	29.2923	7497
+-118.0941	41.518	4404
+-85.3393	38.1724	5926
+-86.0872	37.1076	6743
+-90.5492	39.6233	8466
+-85.9174	28.4696	5538
+-118.7675	45.1559	8137
+-88.1564	39.6698	7464
+-117.7809	33.1538	8770
+-104.7286	28.5504	2569
+-111.231	33.4834	7197
+-118.0478	31.4194	7782
+-113.4261	34.8322	5280
+-92.027	39.269	7567
+-124.9086	45.0773	6577
+-108.4083	26.4133	3496
+-116.2788	45.0105	6844
+-115.5338	33.6503	7904
+-121.4717	32.9512	4773
+-112.5872	33.234	6447
+-119.5425	46.8119	7729
+-117.3254	33.3382	9047
+-109.3664	33.0098	7606
+-81.254	27.2763	8753
+-113.6538	35.5154	5318
+-83.8165	27.7897	7988
+-83.2154	30.1096	6973
+-108.9778	29.0608	6371
+-119.0839	46.5893	8267
+-91.1507	35.7953	6413
+-120.5795	49.6375	5719
+-115.7697	34.3496	7888
+-91.8307	38.8471	7861
+-118.3055	45.2201	8328
+-117.1712	47.03	7725
+-91.1747	39.1441	8471
+-88.5789	39.0368	8262
+-113.9008	32.3535	6294
+-119.9686	48.8655	5831
+-85.764	35.7038	5789
+-110.0817	30.4712	8238
+-95.0101	37.9655	4366
+-86.8447	27.8138	4562
+-119.1568	32.7126	7307
+-122.9349	44.8747	7308
+-117.1705	35.597	7938
+-123.7834	48.1574	7977
+-88.7148	41.3173	6124
+-116.0926	34.047	8254
+-119.9949	46.3351	7431
+-119.0108	29.7573	5649
+-115.597	31.1867	7378
+-85.8617	36.0721	6096
+-89.6127	35.7527	7467
+-121.0347	44.8121	6475
+-119.6526	34.9021	6803
+-116.9025	44.7975	7250
+-88.541	36.256	8212
+-88.8342	41.4139	6103
+-119.3825	35.7215	6652
+-116.7229	35.614	7817
+-111.2939	32.1294	8276
+-117.3285	34.1928	9444
+-116.8958	47.4439	7215
+-118.8885	47.3256	7813
+-80.9803	27.2618	8468
+-118.3049	35.883	7319
+-117.3859	36.3483	7118
+-94.9075	38.8048	4548
+-109.4253	31.6031	8490
+-115.1698	31.5335	7290
+-116.0534	45.818	6880
+-84.5764	36.0874	4789
+-89.949	39.4884	8501
+-118.2476	33.0522	8300
+-87.8729	37.9249	8771
+-89.5849	36.3734	8098
+-114.212	37.3906	4667
+-115.5646	32.0308	7960
+-109.7239	33.6721	7116
+-80.2366	29.0171	7322
+-90.5989	37.8069	8382
+-86.3419	37.1894	7041
+-91.139	37.3352	7695
+-88.0723	33.481	5053
+-125.0782	45.4413	6685
+-89.6369	40.3494	7522
+-116.9838	34.5925	8950
+-113.6705	44.6916	4152
+-116.958	33.4031	9099
+-120.1013	31.0859	5759
+-109.5382	29.8534	7411
+-115.513	42.2529	4240
+-118.757	47.3263	7868
+-80.7478	27.2353	8214
+-116.9365	47.2774	7366
+-83.0756	27.3058	8706
+-91.7656	37.887	7668
+-122.2962	45.4133	7775
+-117.0128	49.6954	5222
+-117.3498	34.6824	8932
+-117.8132	47.0248	8162
+-122.9569	47.3899	9137
+-120.8848	33.3551	5501
+-118.8686	42.9594	5877
+-92.4604	37.6797	6906
+-111.2049	33.8168	6876
+-116.6824	34.1341	8901
+-119.5078	32.439	6887
+-117.7491	35.1488	8312
+-120.0045	46.5131	7386
+-113.5989	31.4462	5932
+-117.8225	33.5693	8674
+-123.9753	44.6477	6798
+-94.1591	40.1819	5072
+-110.42	30.2687	8046
+-113.7115	27.54	3765
+-85.4391	38.2128	6030
+-119.1523	43.5147	6372
+-116.45	31.9465	8624
+-121.3562	47.9054	7621
+-80.3245	32.5426	4115
+-116.5648	33.6839	8629
+-89.087	36.3762	8323
+-123.2384	46.6374	9087
+-123.6759	47.7567	8390
+-90.7429	38.8924	9007
+-117.6134	45.3444	8191
+-117.1671	43.4684	6233
+-124.878	47.6944	7291
+-122.6229	44.3479	6713
+-112.1836	30.1743	6954
+-89.3404	39.3371	8134
+-125.8365	47.0244	6379
+-87.7354	38.3541	8424
+-117.7192	33.3138	8747
+-107.3823	30.8799	6187
+-91.9201	37.6037	7358
+-93.2603	40.7034	5676
+-118.9601	45.8844	8508
+-88.8347	40.8689	6596
+-106.592	29.2109	4674
+-117.2264	45.9215	8125
+-115.8099	33.8548	7920
+-123.0963	45.7146	8214
+-89.3991	38.4353	8697
+-87.0641	37.9164	7883
+-80.5458	32.5151	4228
+-117.3649	34.0932	9422
+-116.6059	42.5313	5084
+-110.0426	32.3989	8535
+-90.9699	41.6295	6257
+-116.7633	32.9134	9502
+-116.2084	33.837	8339
+-117.3428	34.5116	9117
+-127.7439	47.5983	4240
+-111.2606	30.493	7923
+-91.00	37.5243	7945
+-116.387	36.4509	6834
+-117.6011	33.482	8739
+-88.5041	39.4222	7822
+-90.9922	40.5601	7366
+-82.843	29.4443	7832
+-81.9446	26.2306	8142
+-115.9978	32.853	8671
+-90.7724	38.1167	8623
+-120.8601	46.9793	7365
+-115.2804	33.4752	7734
+-120.7527	43.9327	5781
+-116.9772	32.3469	9229
+-81.285	27.2062	8742
+-88.2474	38.5433	8671
+-80.0657	26.5634	7186
+-91.4578	40.4729	7236
+-116.4719	43.01	5467
+-119.3052	37.6869	5069
+-88.226	38.6742	8531
+-108.6138	31.5914	7611
+-117.3671	33.4575	8793
+-118.864	47.2292	7916
+-123.0842	46.6449	9199
+-80.1461	27.9013	7639
+-83.3363	24.0076	5427
+-116.0195	32.5943	8668
+-116.8209	33.7486	8896
+-92.4884	40.8672	6206
+-121.9221	49.0275	7100
+-117.5865	48.5831	6529
+-120.7577	31.1269	5123
+-91.634	39.7969	7666
+-87.6639	38.2881	8394
+-112.5819	29.8524	6399
+-90.6644	39.6732	8384
+-83.2933	26.4129	7876
+-93.9829	37.7637	5402
+-88.7614	40.5618	6803
+-116.7769	36.6922	6696
+-116.5335	35.759	7593
+-109.8534	32.1116	8700
+-125.2423	42.3287	3898
+-119.3434	47.1183	7704
+-111.8562	32.6506	7459
+-119.5946	44.7248	7248
+-82.1577	30.487	6815
+-119.3293	46.3341	8125
+-117.8011	44.5065	7497
+-111.9634	31.0336	7610
+-92.8239	38.1677	6720
+-116.7675	32.0411	8860
+-120.7986	44.6147	6167
+-90.3605	37.0253	7887
+-109.8174	30.725	8389
+-117.1469	48.0304	6888
+-118.3997	38.4852	4633
+-115.8832	35.757	7211
+-81.2596	28.5227	8585
+-117.8512	29.7967	6243
+-91.3859	36.5897	6857
+-117.975	35.8907	7471
+-87.4152	39.479	7277
+-86.0485	32.49	3253
+-117.2169	30.9954	7702
+-113.9561	43.0163	3633
+-76.8635	24.8638	3086
+-121.854	47.1731	8435
+-116.8362	34.0083	9049
+-126.8518	47.8833	5149
+-91.5797	42.2225	5466
+-111.9188	32.9303	7220
+-117.3383	35.2533	8314
+-117.7233	32.0126	8521
+-118.6141	45.1696	8215
+-105.2601	26.9439	2025
+-116.78	30.0714	6684
+-119.107	46.5737	8254
+-107.9311	28.9076	5578
+-115.5919	33.1937	8163
+-119.0837	47.7267	7340
+-122.1044	44.8814	7154
+-118.379	32.0219	7945
+-109.4671	32.4125	8174
+-91.3123	39.4567	8166
+-86.3946	37.9856	7128
+-118.8367	32.2588	7576
+-110.1191	35.11	5645
+-116.2569	34.7115	8269
+-94.2353	39.6125	5170
+-108.6573	31.9129	7623
+-115.1628	31.7838	7434
+-125.221	48.7496	6391
+-84.2006	31.7673	4798
+-119.5413	33.0884	6807
+-115.1851	47.4903	5664
+-81.8518	25.4185	7217
+-114.1665	32.0859	6525
+-89.2525	37.5975	9264
+-113.7778	32.4242	6169
+-121.4118	46.7517	7954
+-78.1966	27.2054	5394
+-117.2828	29.9103	6492
+-88.5826	35.6609	7555
+-119.0563	46.1457	8440
+-111.5458	31.6432	8158
+-88.032	40.0639	7000
+-113.7997	35.023	5634
+-81.8879	27.3067	9303
+-90.8292	36.1819	6963
+-116.2206	34.3353	8376
+-88.9287	42.0357	5551
+-91.7273	37.5445	7478
+-116.8948	34.0652	9126
+-108.5285	31.0254	7427
+-123.9364	49.8143	6277
+-112.4538	30.6942	6982
+-120.5128	42.539	4811
+-90.2595	38.5681	9187
+-90.0533	41.2356	6722
+-117.9057	42.6971	5634
+-116.4673	45.9336	7329
+-117.2432	35.8873	7624
+-81.1857	25.1307	6723
+-124.0021	47.8118	8080
+-83.4623	28.7016	8054
+-119.9034	31.7012	6249
+-90.0509	37.1038	8241
+-127.3095	44.4332	4019
+-113.0606	30.5767	6324
+-90.9514	38.0525	8455
+-88.4245	34.0036	5686
+-111.7291	33.7391	6691
+-116.0954	33.1116	8727
+-124.6109	45.6617	7242
+-87.7937	36.5156	8124
+-107.5089	33.0968	6002
+-112.4573	34.8976	5209
+-87.0846	39.1517	7296
+-107.0143	27.8032	4023
+-118.2318	30.9824	7267
+-117.5442	46.2723	8457
+-121.3202	46.1494	7652
+-120.0273	43.5723	6008
+-121.8017	48.442	7585
+-117.5446	36.258	7200
+-104.8099	29.6692	3140
+-88.6297	35.0159	6836
+-114.0729	34.5554	6024
+-82.8595	25.6371	7347
+-105.373	33.145	3839
+-112.9435	27.7616	4459
+-111.7166	30.6424	7661
+-121.8101	45.2827	7402
+-118.3578	45.622	8748
+-118.1289	45.4278	8530
+-88.6511	35.942	7875
+-118.0614	32.1872	8344
+-110.0259	29.9388	7661
+-121.8322	49.0859	6999
+-114.808	29.1108	4969
+-89.2971	37.5038	9192
+-80.899	28.0111	8469
+-111.6898	33.2515	7144
+-89.8883	40.2511	7721
+-115.7702	38.874	4115
+-86.764	37.4216	7551
+-83.6407	28.8727	7777
+-121.7149	31.8428	4346
+-117.0045	33.9534	9191
+-118.8888	48.0068	7142
+-90.3096	36.919	7891
+-88.7271	38.2853	9118
+-118.2231	33.9235	8470
+-123.1522	47.1979	9230
+-107.7594	33.564	5955
+-116.5206	34.0714	8721
+-123.5941	49.6815	6528
+-89.1148	39.9791	7521
+-122.1435	47.0978	8763
+-118.8297	47.2984	7866
+-90.0026	35.1051	6623
+-115.8939	30.07	6464
+-116.9083	46.3825	7774
+-124.123	35.1263	1981
+-121.9941	33.7359	4363
+-111.5052	30.1265	7448
+-115.5305	33.4099	8020
+-81.125	27.1203	8537
+-89.6265	37.8155	8835
+-124.9437	49.3789	6133
+-116.3998	33.6414	8451
+-85.388	28.0904	6192
+-122.476	47.9295	8450
+-118.059	33.8843	8632
+-118.6228	48.0388	7176
+-118.6933	43.7533	6738
+-92.1814	37.574	7109
+-123.4186	47.2781	8942
+-120.671	43.2087	5289
+-120.5197	33.9569	5984
+-120.9136	44.1425	5788
+-123.171	47.7747	8670
+-115.8394	45.9428	6667
+-79.4722	27.7168	6881
+-112.8899	30.7641	6565
+-123.0699	46.3001	8850
+-90.3344	39.4845	8631
+-119.3223	45.6262	8051
+-112.0063	31.4445	7655
+-117.9126	33.5173	8564
+-119.1989	44.2002	7027
+-116.1205	34.8826	8044
+-84.04	29.2698	7146
+-116.3106	28.5686	4958
+-91.3822	37.252	7484
+-124.9967	48.7683	6569
+-113.2209	33.5124	5711
+-87.1119	40.3732	6254
+-86.0266	36.1006	6273
+-80.9334	28.2173	8442
+-113.5002	29.6256	5440
+-82.9832	30.7414	6392
+-116.2928	47.0982	6902
+-117.1805	35.2151	8354
+-118.7743	48.4869	6680
+-120.0576	35.0159	6345
+-119.5292	35.9595	6366
+-119.3563	47.5826	7322
+-123.6646	45.7083	7989
+-124.9446	48.2104	6977
+-115.6472	32.2228	8139
+-117.0278	32.5035	9397
+-93.2106	40.7187	5711
+-91.1212	35.5813	6285
+-87.7734	38.7321	8180
+-117.7124	43.0738	5999
+-122.6969	46.7104	9247
+-119.1548	31.2481	6750
+-90.002	33.2727	4692
+-118.7195	34.2816	7945
+-116.6689	32.9986	9364
+-112.7109	30.7448	6742
+-109.4065	33.1788	7474
+-90.3186	35.7529	7050
+-122.8308	47.4725	9045
+-90.8034	36.3049	7065
+-115.9694	31.4345	7852
+-117.6817	29.3451	5799
+-121.3429	46.9186	7895
+-115.2156	34.4651	7271
+-109.6587	30.3822	7981
+-127.5086	47.0874	4541
+-114.3148	45.1989	4951
+-111.6241	35.9344	4556
+-77.7718	27.7949	4958
+-93.0333	37.0408	6026
+-80.3007	27.1502	7705
+-118.7956	31.3995	7172
+-117.4376	38.7934	4451
+-80.515	27.1787	7944
+-108.7549	31.838	7741
+-117.8486	32.4983	8707
+-88.7429	41.5006	5972
+-87.9512	35.6089	7331
+-119.3086	32.6409	7133
+-89.5264	33.7808	5371
+-108.208	30.0406	6628
+-90.1676	40.1548	7893
+-123.2013	46.6768	9147
+-88.6717	37.7701	9657
+-118.6941	34.5515	7915
+-119.4484	31.5499	6645
+-89.3984	39.7083	7943
+-116.2821	37.1131	6115
+-111.4488	31.7303	8255
+-116.2537	36.6081	6621
+-115.6319	35.4933	7218
+-120.9183	47.47	7360
+-116.2355	33.1626	8851
+-127.0546	48.6846	4667
+-118.7027	46.0492	8813
+-115.8014	49.2638	5002
+-87.5875	41.34	5317
+-91.5324	38.5459	8166
+-91.8688	37.8117	7531
+-89.7935	37.849	8644
+-111.498	36.5166	3982
+-83.3588	25.5739	7051
+-117.582	29.9186	6448
+-113.1057	30.6751	6313
+-112.7709	32.4817	6659
+-90.0686	37.7893	8335
+-125.0967	46.5205	7144
+-89.8349	37.9832	8408
+-91.5789	35.9953	6188
+-110.1823	30.8186	8629
+-123.2144	46.2172	8713
+-89.9008	36.2436	7773
+-119.1245	36.3706	6366
+-108.7787	31.0798	7703
+-90.9898	42.7776	5034
+-115.8865	34.3932	8006
+-116.6996	32.1147	8915
+-119.697	47.9087	6829
+-118.2666	35.2889	7871
+-84.2547	30.262	6187
+-107.4461	30.033	5923
+-108.0654	33.5283	6236
+-116.9716	34.2873	9175
+-116.5971	32.3603	9098
+-81.4067	24.9122	6560
+-118.5993	45.4949	8538
+-81.5169	28.8613	8471
+-118.3903	33.9522	8296
+-116.3953	32.3606	8938
+-89.4894	38.8685	8452
+-88.4931	36.7234	8713
+-86.90	40.3334	6161
+-116.8945	34.2696	9106
+-116.5537	36.1802	7174
+-118.8139	48.225	6941
+-110.4947	35.0793	5682
+-88.988	39.9256	7458
+-78.5795	29.7235	5303
+-118.3523	48.1643	7073
+-80.0086	27.3171	7435
+-82.0506	25.5715	7407
+-110.7556	29.8416	7532
+-90.3467	39.5098	8604
+-90.0394	38.8877	9025
+-118.4439	47.6741	7585
+-116.0102	32.062	8394
+-116.7759	37.14	6215
+-117.5779	35.4874	8022
+-115.6104	33.3827	8114
+-77.6047	26.6549	4617
+-121.8114	45.2195	7345
+-119.4199	30.7625	6184
+-86.5091	37.5768	7279
+-108.9106	31.7407	7923
+-83.1777	27.60	8696
+-123.4201	49.5789	6680
+-116.8184	33.7721	8910
+-123.8318	44.0225	6214
+-79.2423	27.5906	6616
+-91.083	38.4367	8598
+-84.4674	27.1952	7174
+-81.6138	30.6078	6625
+-93.0153	36.9073	5961
+-123.6151	45.9021	8197
+-123.916	44.4292	6603
+-114.7623	44.8619	5308
+-80.1764	25.0468	6102
+-119.0564	44.1937	7082
+-125.727	48.8926	5848
+-88.7169	36.6959	8725
+-89.2074	36.2484	8149
+-115.3493	32.2938	7857
+-93.3402	40.8665	5505
+-112.1399	31.8051	7502
+-90.3748	35.3029	6606
+-110.5337	30.5924	8378
+-88.7617	38.6852	8671
+-121.8924	41.7906	3813
+-116.3629	31.6671	8305
+-115.0699	31.3786	7098
+-120.503	46.1289	6909
+-114.9709	34.4899	7004
+-94.0805	38.6624	5438
+-112.2691	30.6946	7166
+-116.5845	44.1607	6530
+-88.2541	36.755	8642
+-84.0481	27.7191	7726
+-118.1769	30.2591	6597
+-83.0674	27.3671	8743
+-109.096	30.3559	7585
+-122.3762	46.6744	8947
+-89.3768	35.6775	7480
+-117.2356	33.1317	9291
+-86.7103	36.433	7124
+-87.771	40.1261	6836
+-107.8769	32.511	6629
+-81.2292	27.6119	8855
+-119.9108	33.0633	6426
+-80.4089	25.7753	6912
+-90.5121	37.3782	7939
+-114.5019	31.9944	6855
+-123.1232	49.2676	7066
+-84.9953	24.0327	4570
+-117.4669	44.658	7506
+-82.7778	24.9297	6601
+-88.7886	39.7027	7422
+-108.0413	32.3872	6842
+-121.2038	33.9811	5240
+-116.3214	34.3445	8481
+-114.7662	45.1776	5410
+-89.0844	40.3676	7188
+-89.8709	39.0798	8768
+-115.9019	31.9977	8255
+-90.1034	38.0479	8610
+-119.4629	44.3494	7025
+-115.6021	36.0698	6752
+-123.5158	42.9732	5167
+-109.3534	31.4243	8398
+-120.843	33.9811	5633
+-125.4885	46.037	6585
+-113.7008	31.1546	5796
+-118.6679	35.1025	7679
+-117.8199	33.6553	8740
+-84.692	29.3203	6506
+-91.6002	39.8591	7650
+-89.7834	41.8064	6067
+-125.9892	47.2901	6194
+-116.4024	45.2353	7068
+-88.2369	37.7708	9209
+-85.0983	37.037	5637
+-111.4789	32.4403	7923
+-109.34	29.2116	6688
+-117.2418	46.0349	8155
+-118.2714	34.3073	8425
+-84.3788	39.3782	4528
+-112.1238	31.0553	7451
+-89.9053	38.0438	8505
+-117.1204	28.9893	5480
+-83.0497	29.5683	7606
+-111.5443	32.2263	7988
+-117.8939	44.9097	7934
+-108.5852	28.8279	5938
+-116.6072	34.342	8783
+-88.7325	37.142	9226
+-109.4888	31.9039	8495
+-115.1823	35.1436	7011
+-91.2735	35.8787	6184
+-116.6265	35.8336	7556
+-117.3785	46.1958	8297
+-123.0855	47.3155	9172
+-110.9199	29.0105	6614
+-118.0271	45.7172	8773
+-122.7428	44.3355	6710
+-119.5654	46.319	7883
+-116.668	34.804	8557
+-89.5461	37.8229	8923
+-80.3315	28.8937	7488
+-111.666	29.4505	6749
+-110.1219	32.0646	8904
+-119.0753	33.4773	7439
+-83.5677	24.3399	5690
+-91.1182	37.0941	7472
+-114.3798	34.2818	6385
+-88.2828	35.4554	7275
+-116.4402	34.1167	8636
+-122.0749	33.0028	4150
+-89.6361	39.0668	8550
+-120.1365	36.6814	5351
+-122.3367	45.2629	7635
+-110.405	29.6662	7395
+-87.0561	38.7773	7525
+-82.6162	27.3114	9142
+-79.0425	25.5353	5580
+-118.3163	33.203	8008
+-88.8819	37.7012	9680
+-121.6853	46.828	8263
+-117.2123	32.809	9479
+-83.883	28.8832	7544
+-91.0735	37.6486	8023
+-106.137	30.8415	4857
+-121.2014	47.6201	7607
+-117.6922	46.3603	8577
+-115.3829	31.7446	7620
+-112.711	30.3128	6553
+-118.5812	34.6402	8001
+-114.5888	30.8566	6316
+-87.2542	35.9187	7221
+-88.8641	40.5708	6868
+-87.2074	39.5142	7101
+-79.9823	25.3943	6269
+-114.8927	31.0894	6742
+-92.6151	38.2616	6962
+-89.2754	38.8702	8223
+-117.2857	29.7516	6316
+-127.2513	47.2414	4816
+-78.0441	24.6643	4085
+-87.8235	37.2426	8655
+-117.0811	43.5327	6258
+-91.5727	37.554	7606
+-83.4125	27.803	8445
+-87.0102	35.2686	6479
+-80.7037	29.5627	7295
+-87.726	38.7725	8110
+-112.3943	33.3524	6531
+-83.6589	28.2157	8093
+-80.4888	30.7463	6042
+-107.2204	29.4035	5356
+-121.1226	46.9007	7652
+-116.8949	33.8974	9058
+-123.1541	48.6978	7684
+-119.6253	43.4269	6093
+-124.8974	45.8046	7067
+-117.2211	45.1951	7783
+-91.7815	38.9654	7900
+-89.8466	38.9396	8811
+-108.4546	29.0221	6032
+-88.2247	37.7814	9193
+-110.6158	34.9171	5849
+-117.9181	34.1352	8827
+-115.446	33.2024	8003
+-122.9831	47.2206	9313
+-116.2215	34.4875	8334
+-108.081	29.2283	5943
+-117.597	37.4694	5881
+-79.3528	30.2621	5666
+-117.4506	33.8162	9138
+-116.301	34.5624	8385
+-82.997	24.8439	6444
+-114.4257	30.5061	5922
+-85.1756	32.3823	3638
+-119.9461	43.4534	5950
+-109.8392	34.4884	6281
+-116.8853	46.5996	7688
+-113.6309	32.2587	5827
+-90.4801	38.1712	8792
+-112.6107	28.6207	5425
+-115.2694	34.0077	7355
+-119.6846	40.7196	3372
+-89.477	36.5089	8291
+-88.7668	38.091	9338
+-121.1942	49.9245	5855
+-117.8841	33.3202	8424
+-109.2654	33.3706	7218
+-93.5112	39.0038	6042
+-120.4907	44.4253	6326
+-111.0989	30.4897	8027
+-123.3629	46.4256	8824
+-120.708	32.9729	5576
+-88.1529	35.0502	6799
+-92.0578	37.1228	6908
+-123.2704	46.7467	9133
+-120.1217	36.5759	5439
+-114.5227	39.6955	2772
+-114.9411	32.3285	7429
+-111.0933	32.5868	8110
+-107.8372	30.4645	6510
+-79.4845	30.8583	5286
+-118.6625	30.3779	6440
+-106.992	30.6853	5725
+-80.8004	26.4485	7772
+-89.9596	38.1323	8617
+-91.3843	37.6992	7860
+-87.6514	36.6857	8148
+-117.0841	42.0337	4771
+-88.2675	38.2885	8920
+-115.0948	32.8875	7664
+-117.0381	34.1918	9281
+-112.9011	33.4495	6034
+-118.9682	32.0244	7352
+-114.8491	32.1944	7291
+-116.3201	34.1487	8505
+-88.3393	35.9465	7826
+-123.5553	48.8611	7404
+-90.3019	37.6885	8277
+-125.1256	49.1528	6179
+-121.0541	47.0047	7578
+-90.0226	41.3365	6610
+-88.4097	37.3747	9298
+-82.2391	27.0485	9071
+-124.1244	49.1704	6836
+-89.7641	37.8583	8675
+-82.5678	27.3027	9173
+-87.4247	36.3807	7729
+-109.7363	29.8496	7487
+-113.6861	36.4435	4890
+-125.3649	47.4521	6846
+-88.0382	36.0004	7774
+-124.6897	47.3797	7588
+-116.367	46.5394	7178
+-118.8196	44.179	7148
+-118.3248	34.8472	8145
+-119.4663	47.1504	7585
+-79.8846	29.2502	6844
+-89.3616	37.4242	9094
+-115.6737	33.9102	7783
+-123.6101	47.8325	8376
+-114.8951	32.4159	7399
+-93.4386	37.346	5800
+-117.2227	35.5203	8024
+-121.8904	44.9784	7156
+-91.0077	40.0155	7903
+-117.8089	37.7437	5555
+-87.3127	38.1873	8081
+-116.5355	34.1088	8740
+-118.0803	46.3873	8888
+-122.147	44.5647	6841
+-88.8485	38.6861	8666
+-81.833	24.9715	6712
+-117.3869	26.6923	2906
+-116.8429	46.523	7671
+-125.3919	47.0712	6866
+-109.2846	31.3234	8303
+-90.791	39.7286	8282
+-126.6649	49.1676	4815
+-111.0763	34.6225	6084
+-117.8159	42.9818	5921
+-116.6164	30.9833	7671
+-105.6515	32.1385	4365
+-119.6412	44.792	7264
+-91.289	38.0062	8161
+-117.2436	47.9159	7044
+-119.4142	48.4542	6495
+-120.8528	46.8821	7355
+-111.1258	31.1789	8510
+-110.9635	33.6034	7181
+-118.9018	33.774	7712
+-118.2702	35.4065	7769
+-116.9012	31.5372	8324
+-118.1715	44.3907	7446
+-124.2636	46.524	8031
+-117.0167	47.3166	7401
+-125.5339	48.3708	6327
+-116.3715	32.0615	8680
+-120.0219	47.1348	7118
+-91.3336	35.9737	6261
+-110.8059	32.6594	8200
+-116.5573	33.2537	9085
+-117.8644	43.3383	6302
+-88.9412	37.6601	9619
+-114.8993	35.752	6410
+-116.2558	33.3608	8754
+-82.1335	28.8042	8719
+-83.8246	26.9307	7758
+-84.3308	26.762	7159
+-119.7121	36.8871	5520
+-89.3115	36.5836	8455
+-91.5674	39.0195	8115
+-91.5567	37.6054	7658
+-90.4253	37.5291	8108
+-126.1543	46.9024	6030
+-117.1406	46.9378	7760
+-121.0828	32.9545	5181
+-122.4226	35.7021	3659
+-119.5059	34.0072	7091
+-123.5316	49.2217	7033
+-114.6287	34.7048	6594
+-85.1674	38.5418	5657
+-125.9678	46.879	6234
+-119.4098	33.2951	7028
+-109.0087	32.4769	7742
+-116.4395	35.6979	7607
+-85.2496	29.5523	5829
+-116.3395	49.9966	4649
+-120.7943	33.9233	5683
+-118.2907	33.3168	8109
+-114.087	29.9773	5242
+-117.854	46.2987	8760
+-116.8634	34.3875	9018
+-122.0324	43.4888	5668
+-91.3099	36.4375	6739
+-116.2799	29.3087	5766
+-110.3284	29.5304	7249
+-108.1476	31.6803	7103
+-114.3421	33.7778	6635
+-117.3526	36.6186	6825
+-115.6528	33.3769	8160
+-89.2138	36.8392	8760
+-110.6562	31.6462	9117
+-115.4637	35.8356	6833
+-118.8323	38.088	4898
+-112.2733	34.0381	6084
+-89.8674	39.5705	8380
+-117.3857	33.0417	9222
+-113.1878	36.7443	4255
+-110.3617	29.3474	7051
+-111.6987	32.6606	7589
+-118.6739	37.5058	5552
+-118.2123	33.4501	8265
+-90.609	35.3466	6490
+-109.112	28.9862	6364
+-121.5278	46.3702	7962
+-91.9906	38.9981	7671
+-89.4988	37.8173	8976
+-113.7807	30.0546	5388
+-119.0764	33.8015	7531
+-125.0142	46.9155	7283
+-91.222	40.151	7664
+-90.8023	42.4876	5371
+-109.0003	29.5542	6843
+-115.2151	32.7669	7798
+-111.7997	30.4259	7450
+-89.5478	38.4468	8466
+-116.1748	29.9124	6395
+-125.1374	49.1189	6195
+-83.7284	27.0302	7905
+-83.4955	26.4257	7730
+-116.4823	32.7776	9211
+-85.4462	37.7427	6087
+-121.3731	48.0536	7547
+-91.6945	42.1326	5514
+-115.638	33.5476	8061
+-126.9058	49.8643	4175
+-116.5657	43.0135	5520
+-116.4173	38.3298	4867
+-117.9505	32.6031	8630
+-78.7977	29.7174	5521
+-84.3573	28.6121	7201
+-123.9012	49.9075	6193
+-117.3297	36.3933	7072
+-82.6644	28.0393	9217
+-114.4647	33.414	6884
+-118.6847	34.5852	7914
+-107.8956	27.8991	4687
+-118.7742	46.728	8416
+-110.0181	30.9847	8741
+-89.683	37.0838	8596
+-116.8067	36.191	7238
+-118.0524	47.6399	7611
+-91.1225	39.3458	8401
+-117.0111	33.8269	9103
+-80.6253	26.8616	7903
+-108.8188	31.0812	7745
+-88.9866	37.6786	9568
+-110.0205	33.9999	6833
+-109.047	27.418	4750
+-112.4227	30.5128	6930
+-115.7868	32.4208	8365
+-119.881	44.9407	7170
+-115.7737	29.8552	6192
+-91.7601	36.7424	6801
+-90.0235	38.0966	8620
+-117.4667	46.4823	8306
+-92.5397	38.9689	7088
+-90.4269	38.0508	8669
+-116.782	32.6313	9461
+-86.5963	40.2395	6036
+-119.0233	29.4611	5363
+-88.5324	39.1088	8174
+-118.8709	31.6226	7246
+-118.5502	41.5052	4386
+-88.0298	36.5026	8269
+-117.8402	46.4817	8641
+-116.2449	33.2536	8812
+-122.0932	48.3327	7863
+-113.085	31.3828	6484
+-109.0281	33.113	7295
+-90.3427	38.7282	9375
+-108.7511	31.0751	7673
+-123.6414	43.6508	5873
+-92.9793	37.894	6478
+-114.1031	33.9919	6300
+-118.5907	32.0987	7772
+-91.4188	35.3385	5854
+-115.5761	34.9294	7500
+-120.2585	35.7453	5831
+-88.7486	35.8022	7723
+-94.0786	41.2442	4619
+-89.3032	36.0737	7929
+-85.4734	35.5589	5426
+-116.5626	30.2121	6813
+-120.5845	48.2801	6682
+-116.7009	34.8337	8556
+-89.4376	39.6314	8031
+-118.8989	32.5835	7582
+-114.2179	33.6046	6563
+-116.4255	34.2368	8613
+-90.2621	41.0927	6896
+-120.4735	45.8562	6927
+-116.9073	33.8751	9055
+-109.7837	32.8477	7980
+-89.5251	38.9114	8483
+-117.2868	33.2039	9192
+-89.8256	38.1217	8519
+-120.2661	32.7425	6072
+-86.7376	35.9963	6865
+-90.1351	36.5062	7801
+-110.992	34.8897	5821
+-118.4808	43.8502	6869
+-81.935	24.179	5827
+-91.4068	39.6444	7959
+-90.1096	36.7718	8004
+-116.8228	29.8336	6422
+-125.7875	46.3779	6369
+-118.7066	35.1559	7611
+-89.6257	40.5186	7351
+-119.1612	46.5297	8225
+-89.0197	37.464	9452
+-117.6161	36.76	6647
+-77.4053	26.931	4460
+-119.8122	49.167	5631
+-120.3454	46.8237	6946
+-118.2457	31.5072	7711
+-85.2255	26.9813	6283
+-114.3127	32.5737	6780
+-87.1027	34.9677	6257
+-119.8986	46.4106	7518
+-113.5734	32.3007	5878
+-108.7272	29.5831	6694
+-81.057	28.6976	8282
+-119.6606	46.6302	7698
+-108.7759	30.6885	7528
+-114.6457	44.3792	4999
+-109.3103	30.6679	7986
+-110.5697	29.6379	7350
+-82.7202	26.7901	8604
+-112.7556	31.4133	6843
+-87.903	35.8483	7556
+-88.0872	34.431	6105
+-123.4747	47.2562	8899
+-121.5418	48.362	7467
+-118.4475	47.9936	7248
+-116.0893	32.577	8738
+-122.7423	45.7548	8264
+-90.1527	34.4537	5888
+-90.9209	36.7181	7159
+-120.0439	33.0078	6269
+-114.1844	34.4573	6157
+-110.0856	34.4346	6373
+-109.7842	31.7581	8849
+-80.0193	25.981	6762
+-82.8216	25.4705	7181
+-118.8121	48.6959	6455
+-89.987	40.2399	7763
+-81.2503	27.2915	8758
+-80.3648	29.9798	6687
+-108.2605	32.2918	7100
+-94.3408	38.642	5157
+-117.1919	31.7178	8502
+-83.6336	29.5752	7234
+-107.5665	33.9613	5521
+-87.2044	37.7591	8058
+-108.7363	31.7622	7732
+-118.3582	34.5899	8247
+-116.7454	44.2309	6697
+-81.5912	24.1981	5809
+-117.3987	31.3938	8094
+-86.6472	35.8128	6655
+-121.3231	45.1658	6976
+-121.4105	41.7938	3624
+-124.5311	46.8832	7812
+-115.0284	33.7513	7353
+-118.5558	30.5708	6684
+-115.1124	32.3476	7619
+-82.5731	25.6438	7440
+-120.9966	48.8818	6640
+-84.4665	34.5458	3851
+-89.8975	37.2387	8458
+-119.7524	44.2528	6761
+-122.689	46.599	9140
+-91.488	40.8866	6832
+-115.8585	28.9885	5308
+-117.79	33.0054	8811
+-122.5462	45.8264	8295
+-88.087	36.9293	8690
+-120.1595	35.4833	6056
+-117.1864	33.4386	9017
+-113.4053	33.8021	5631
+-116.0967	36.9677	6193
+-84.9245	31.3839	4723
+-81.5244	25.944	7718
+-121.9247	45.9542	8062
+-110.4754	34.6249	6175
+-87.0785	39.9642	6614
+-83.4149	25.1543	6600
+-89.3107	35.9509	7795
+-117.9275	47.9772	7237
+-114.6206	32.558	7120
+-116.5915	34.9702	8365
+-88.5837	37.8859	9494
+-115.7146	32.9008	8353
+-87.2221	34.7169	6078
+-87.5142	36.5625	7941
+-116.6431	45.4106	7376
+-115.1287	30.7196	6643
+-126.9395	47.3837	5145
+-79.5275	25.477	5968
+-90.5017	39.0287	9098
+-117.6304	32.7066	9002
+-117.347	32.9217	9313
+-92.5582	36.6658	6178
+-122.0623	44.3295	6566
+-106.7336	31.3759	5567
+-82.0069	25.5871	7423
+-86.7268	34.8338	5897
+-83.1216	29.6696	7466
+-124.1778	46.6422	8158
+-115.6628	30.4199	6710
+-108.3173	29.9633	6671
+-93.357	35.3594	4563
+-82.2048	31.052	6175
+-113.7372	34.5675	5659
+-121.1742	45.373	7025
+-88.29	38.9415	8287
+-115.445	34.0571	7549
+-119.1253	35.2779	7157
+-93.4641	38.7864	6104
+-118.3868	43.9931	7026
+-89.3308	40.6509	7082
+-120.5034	46.9717	6734
+-91.2368	42.8382	4923
+-113.8219	31.8005	6067
+-116.9104	36.5637	6858
+-88.9442	38.624	8721
+-117.3525	32.2163	8957
+-91.2149	38.9893	8492
+-83.5255	29.2989	7550
+-109.1479	35.9021	4621
+-116.7418	33.4926	8958
+-111.7615	28.9161	6196
+-80.6783	27.9345	8235
+-118.3443	33.5865	8220
+-91.1648	37.3823	7727
+-86.0457	33.2107	3955
+-115.7402	32.7972	8385
+-78.037	25.7512	4727
+-119.944	46.1945	7499
+-115.4794	33.6651	7843
+-118.8239	33.6902	7772
+-119.6843	46.0948	7777
+-117.5577	36.2353	7223
+-116.6192	33.9395	8801
+-115.5187	35.2093	7299
+-83.4607	28.2992	8274
+-118.2056	41.9966	4914
+-83.3093	26.7968	8168
+-82.8088	27.1125	8829
+-87.4065	35.1237	6579
+-111.5121	32.5724	7806
+-82.8506	27.6038	9060
+-124.6792	46.7487	7637
+-115.485	36.2218	6543
+-109.7432	33.1965	7612
+-124.7886	48.4555	6964
+-82.3522	29.0749	8392
+-119.2301	49.4734	5550
+-92.7675	37.4685	6507
+-116.7703	47.8609	6802
+-89.5999	36.8816	8530
+-87.9507	39.0171	8043
+-114.3563	30.1139	5562
+-121.3493	46.8699	7899
+-119.5783	33.1345	6791
+-109.7131	30.1893	7821
+-116.2571	47.2264	6805
+-108.6479	30.7572	7440
+-78.5175	28.9976	5571
+-119.6714	34.2615	6911
+-87.3243	40.4714	6274
+-115.524	34.9521	7438
+-116.6321	32.7513	9373
+-111.1984	31.1109	8406
+-115.991	32.7692	8663
+-81.7855	26.7826	8712
+-113.7265	33.0019	6133
+-120.1314	46.1357	7303
+-89.7378	35.5763	7228
+-111.7364	34.3575	6105
+-112.9754	33.7839	5748
+-118.0882	35.0443	8200
+-123.425	48.0614	8272
+-88.497	35.7381	7630
+-86.9399	37.836	7756
+-88.372	33.582	5209
+-87.8743	37.7817	8805
+-115.6252	37.729	5226
+-93.9708	39.2372	5522
+-125.8002	47.2356	6406
+-80.2482	25.8774	6873
+-118.7963	33.9945	7862
+-117.2156	37.5963	5760
+-115.9206	35.1381	7706
+-117.6958	34.1891	9066
+-88.6557	39.4908	7763
+-81.4552	25.6589	7388
+-116.5106	32.2515	8943
+-117.9963	34.2233	8736
+-127.2095	44.0865	3912
+-122.8746	48.8684	7517
+-89.5313	41.8204	5990
+-125.2572	45.9727	6796
+-93.0231	37.0755	6055
+-118.0471	31.7171	8033
+-80.7047	27.4985	8248
+-82.4492	28.323	9169
+-112.9755	30.3074	6295
+-115.3113	30.9292	6953
+-121.5006	45.0386	6989
+-88.5302	40.7329	6499
+-114.0213	32.1707	6390
+-123.4894	48.7468	7546
+-80.4248	25.2627	6463
+-124.3634	48.4354	7328
+-107.7182	34.1687	5489
+-121.067	43.2911	5072
+-122.122	49.6415	6546
+-116.7167	46.765	7458
+-119.4893	44.9737	7513
+-91.2845	38.4372	8396
+-115.2603	31.8518	7566
+-117.5952	47.653	7462
+-110.8975	29.0756	6689
+-118.6235	32.7384	7903
+-109.0685	28.9079	6267
+-117.9652	45.7153	8732
+-112.7584	30.3909	6546
+-86.475	32.9224	3902
+-87.7535	39.3213	7637
+-91.4218	38.7736	8305
+-110.6673	33.0644	7829
+-81.3884	28.3173	8844
+-91.7435	36.6802	6755
+-109.2715	28.6353	6079
+-115.9449	32.6694	8601
+-120.4239	34.3919	6082
+-82.9069	26.3765	8093
+-125.7754	47.3411	6421
+-114.7023	33.9272	6940
+-116.167	31.8859	8384
+-120.9848	47.6306	7379
+-114.7772	44.789	5296
+-120.8909	35.4109	5346
+-79.2486	25.8477	5973
+-86.6249	25.6072	4254
+-115.5192	33.9476	7621
+-116.3899	30.5909	7188
+-108.3946	33.4998	6520
+-116.9835	31.6586	8461
+-89.1651	37.9679	9254
+-82.9412	28.1199	8895
+-92.4476	40.881	6227
+-108.2318	28.2814	5233
+-115.2102	34.0213	7291
+-108.5089	30.5489	7201
+-89.1757	38.9334	8108
+-117.9468	46.6144	8610
+-116.9861	33.2946	9219
+-89.2252	37.7733	9286
+-109.4346	30.4981	7947
+-88.9637	39.9211	7441
+-116.8217	32.9254	9551
+-119.1243	47.7266	7321
+-118.998	46.1549	8501
+-116.2064	41.3102	3731
+-111.0625	32.5903	8127
+-110.477	34.2657	6563
+-81.7715	25.0022	6738
+-114.4028	34.4441	6396
+-89.0979	38.5962	8707
+-88.1202	36.7987	8601
+-113.7198	33.0275	6124
+-91.3818	40.7781	6988
+-91.6538	37.7414	7676
+-116.868	34.3254	9055
+-118.637	45.0196	8057
+-88.2754	37.8182	9238
+-116.6837	31.9509	8737
+-109.8286	32.1607	8643
+-90.4238	38.5125	9165
+-127.0426	44.7168	4427
+-87.8182	38.5404	8367
+-118.046	35.7138	7616
+-115.3691	33.4362	7842
+-118.3735	35.032	7983
+-87.2421	37.332	8063
+-109.8063	33.8098	6995
+-111.1043	33.1062	7624
+-123.1302	46.8509	9323
+-86.7937	35.8091	6774
+-80.7598	29.3568	7515
+-113.7859	35.7698	5342
+-123.3795	44.642	6999
+-109.4653	32.926	7741
+-118.1049	35.5334	7758
+-88.8218	38.9267	8399
+-84.3582	26.4957	6994
+-86.0352	39.6301	6039
+-117.9899	32.6395	8594
+-92.4163	36.3673	6048
+-115.2351	31.7243	7469
+-81.4454	28.0101	9067
+-90.8002	37.9718	8473
+-114.6811	34.9339	6585
+-109.7008	32.4108	8345
+-118.0428	44.3993	7441
+-111.2787	32.4693	8070
+-88.9803	37.7452	9559
+-119.6261	37.5727	4988
+-90.3997	42.8406	5015
+-111.0452	29.7236	7316
+-93.5385	41.4126	4974
+-119.3076	46.1265	8175
+-114.7533	31.4978	6879
+-124.4786	48.653	7068
+-116.6802	30.4927	7141
+-112.0899	29.9036	6840
+-88.5548	34.4884	6240
+-118.3587	32.8769	8199
+-87.1574	40.2794	6370
+-120.5569	49.2431	6017
+-87.5751	38.0051	8424
+-115.9575	35.2333	7673
+-118.7136	46.5261	8619
+-116.9712	30.3643	7018
+-81.7354	26.6312	8531
+-92.2789	36.4226	6189
+-89.1052	36.8537	8827
+-88.3686	39.2893	7939
+-88.5658	40.5668	6655
+-81.2819	26.8138	8447
+-121.939	44.2495	6440
+-118.7926	46.6931	8433
+-82.8882	29.1477	8112
+-82.0579	30.3449	6974
+-114.1968	31.935	6511
+-110.6648	28.5607	6179
+-118.3673	48.4593	6760
+-117.3219	33.5107	8856
+-89.259	38.1992	9000
+-88.6698	39.4471	7813
+-121.0004	46.0046	7267
+-92.9421	39.0577	6646
+-118.0163	43.0266	5993
+-92.0113	37.5482	7243
+-121.7253	32.9651	4510
+-116.7595	47.8183	6828
+-110.1426	34.8344	5945
+-118.7532	36.4363	6548
+-91.8997	39.6051	7548
+-118.0017	47.4656	7784
+-115.4938	30.6933	6871
+-88.9553	39.4974	7687
+-117.6123	34.5604	8939
+-121.4233	47.7944	7746
+-89.8212	43.1013	4695
+-115.4933	31.7175	7703
+-115.772	36.0833	6858
+-122.2661	47.0389	8905
+-115.6362	33.3472	8155
+-110.1696	31.1288	8950
+-118.201	33.2212	8304
+-88.7308	37.1172	9198
+-91.3534	41.0606	6723
+-118.5786	47.8139	7419
+-119.9107	43.1673	5708
+-88.6971	35.3416	7205
+-86.5578	37.6209	7335
+-121.0449	47.3449	7526
+-121.6894	42.5123	4535
+-120.4116	33.9683	6103
+-110.0895	32.9441	7976
+-87.3041	37.5437	8168
+-88.1276	39.9012	7206
+-118.8935	44.7791	7720
+-117.2025	48.529	6445
+-108.3417	31.8211	7300
+-84.53	31.0689	5276
+-91.693	35.9286	6072
+-119.3658	47.1235	7683
+-115.6101	33.5929	8010
+-90.2506	41.067	6923
+-114.0915	34.075	6252
+-91.3509	40.0903	7643
+-117.4784	43.7733	6653
+-80.6172	27.2215	8070
+-119.8585	45.2737	7377
+-119.7448	48.3486	6420
+-89.2467	35.1269	6914
+-116.8174	34.186	9044
+-121.5925	46.9512	8170
+-111.8645	28.8533	6082
+-121.3709	34.1169	5061
+-85.1665	40.5321	4650
+-117.198	44.2178	6960
+-121.6289	45.3681	7362
+-81.7763	27.0171	8953
+-91.9103	38.363	7726
+-87.386	34.4465	5883
+-121.2537	35.3003	5006
+-89.7698	39.3041	8533
+-112.8419	30.5914	6551
+-121.051	35.2243	5242
+-115.5227	32.444	8090
+-89.0684	36.6917	8670
+-120.5824	44.9156	6521
+-84.4965	27.9834	7208
+-82.1196	31.0891	6133
+-124.0082	45.3903	7489
+-81.1539	27.5562	8759
+-125.7876	48.903	5787
+-120.4471	48.8217	6227
+-124.5074	47.0625	7837
+-83.4738	28.5539	8134
+-91.6224	35.5009	5676
+-120.087	33.3997	6359
+-118.4768	45.3256	8415
+-127.6337	48.8508	4009
+-90.8274	39.4273	8551
+-87.5593	43.7458	3239
+-119.863	44.9654	7201
+-88.9489	37.9706	9417
+-125.0882	44.4321	5927
+-119.6527	33.0745	6690
+-80.867	29.8329	7151
+-85.247	28.9237	6134
+-92.1539	33.6604	3927
+-83.8088	28.2279	7926
+-117.8388	34.3297	8878
+-92.4912	40.8421	6223
+-123.5008	47.053	8939
+-85.3762	36.7412	5870
+-78.1994	30.8372	4246
+-92.0963	36.1298	6050
+-106.3106	30.2805	4892
+-91.0356	35.8142	6528
+-84.5624	31.1802	5152
+-115.9244	33.1573	8530
+-116.3843	32.3111	8893
+-83.232	27.7348	8649
+-117.8293	34.7077	8661
+-115.6692	33.4173	8158
+-89.4831	40.8978	6914
+-90.8855	37.8428	8307
+-127.5396	46.4967	4483
+-83.9791	35.5738	3950
+-118.3716	33.8041	8280
+-110.6946	34.5791	6204
+-121.8391	48.221	7801
+-126.6911	47.1267	5437
+-82.769	29.5328	7769
+-115.2165	32.5465	7778
+-84.1603	28.9138	7257
+-91.9544	36.4638	6434
+-111.9465	33.6594	6625
+-115.4442	28.4081	4551
+-123.6075	47.6923	8493
+-108.2856	30.5003	6964
+-114.2917	44.8408	4828
+-120.1502	47.225	6952
+-117.5916	31.6324	8259
+-121.1881	33.8901	5252
+-80.9388	26.2635	7720
+-119.046	45.044	7881
+-89.5295	39.3529	8298
+-116.4519	43.4452	5845
+-116.1471	30.6189	7137
+-111.7375	34.2454	6213
+-88.4306	37.8558	9382
+-117.978	30.3348	6764
+-125.6246	48.3583	6245
+-86.1813	34.738	5431
+-116.5128	32.2073	8905
+-110.0557	29.4186	7109
+-80.6812	25.3833	6735
+-120.9055	45.0768	6588
+-90.1185	37.3547	8258
+-126.6411	45.9524	5348
+-123.4632	47.1431	8958
+-93.146	36.8335	5800
+-115.7767	32.5277	8387
+-124.4161	44.5363	6459
+-80.8278	27.8046	8415
+-107.9537	30.8392	6772
+-121.1659	46.792	7691
+-109.1962	32.4463	7927
+-80.9278	27.0247	8291
+-120.6412	35.1005	5709
+-122.1157	48.13	8065
+-83.917	26.4305	7371
+-83.2325	28.2952	8513
+-117.4288	34.7537	8838
+-115.0489	37.6931	4963
+-92.3087	38.2791	7288
+-87.3453	38.3967	8021
+-108.6926	32.0581	7623
+-119.1697	29.723	5517
+-82.5274	24.237	5874
+-81.2825	26.513	8178
+-81.8117	28.5107	8975
+-119.5788	43.6939	6366
+-81.1599	25.6069	7212
+-115.1602	34.9164	7087
+-91.1278	42.1706	5651
+-116.8209	32.1072	8945
+-121.254	45.1617	6923
+-111.2219	31.1737	8413
+-121.2006	48.6893	6948
+-91.291	39.7959	7932
+-118.2131	33.7641	8430
+-109.6453	31.2327	8637
+-114.4503	31.8035	6727
+-118.2634	42.5564	5508
+-83.4435	27.8413	8408
+-119.6373	43.5006	6156
+-124.6749	47.1015	7651
+-115.4058	34.7596	7396
+-115.3532	31.2322	7231
+-85.6396	36.1041	5892
+-123.0781	41.7062	3824
+-88.1857	39.3184	7849
+-117.1421	31.6318	8417
+-87.9909	37.714	8943
+-82.1434	27.5291	9624
+-117.7192	35.3817	8089
+-117.9712	33.1645	8567
+-90.2562	36.255	7512
+-117.3661	32.6369	9264
+-89.6749	41.3395	6531
+-108.9448	30.3631	7471
+-112.76	31.2707	6823
+-108.0179	33.4486	6252
+-90.1223	36.2706	7631
+-92.7888	35.6912	5230
+-115.5694	36.0678	6731
+-118.0938	36.6415	6657
+-118.3356	36.5235	6682
+-84.3713	40.1657	4139
+-122.8509	47.1361	9412
+-117.7675	34.1966	8987
+-91.0727	40.5279	7369
+-91.4878	34.3862	5031
+-117.9971	32.9586	8593
+-120.6619	32.2985	5591
+-125.9212	48.3851	5939
+-79.7377	25.9076	6462
+-113.2114	46.8483	3831
+-121.2357	49.4799	6294
+-118.8393	43.4916	6436
+-86.5299	38.7559	7022
+-112.7039	29.607	6130
+-104.5069	30.6693	3084
+-83.4788	29.5122	7399
+-88.0351	36.2639	8040
+-82.9729	26.2413	7923
+-86.7482	36.2231	7030
+-115.2847	44.9302	5852
+-84.7224	30.8424	5344
+-116.8552	46.7864	7582
+-116.2933	35.4048	7791
+-108.2934	34.4549	5657
+-111.1949	30.9308	8303
+-119.961	45.4508	7355
+-106.673	30.4901	5335
+-119.3299	30.7179	6228
+-118.5058	32.8833	8034
+-115.8787	37.0824	5983
+-109.3281	30.8251	8109
+-116.6487	43.3441	5867
+-113.5138	31.9297	6007
+-114.8165	32.3273	7293
+-89.7922	38.9183	8762
+-80.8246	30.6595	6300
+-90.5055	33.8478	5106
+-81.7228	24.9511	6673
+-89.7916	39.3664	8503
+-124.2382	47.9315	7794
+-115.3754	33.3592	7878
+-89.8717	41.5786	6326
+-118.1531	44.9695	8055
+-121.2404	45.8082	7383
+-90.0545	38.376	8888
+-79.5509	27.6098	6965
+-107.7761	31.0766	6649
+-74.3767	24.874	527
+-118.2629	30.8081	7086
+-116.0468	35.9292	7170
+-117.3777	46.2637	8286
+-118.7276	47.34	7866
+-90.091	38.7914	9106
+-113.9561	31.9875	6270
+-112.5033	33.4407	6379
+-81.4963	30.5022	6715
+-89.6247	35.9728	7684
+-88.9639	36.4931	8480
+-117.5185	32.3646	8957
+-122.9505	48.2352	8211
+-123.0024	48.4634	7958
+-122.8711	42.2767	4454
+-118.7575	45.8945	8713
+-124.1712	44.8703	6913
+-88.4798	38.2154	9119
+-82.978	29.9647	7228
+-118.7536	32.6561	7752
+-117.4566	33.2509	9023
+-117.7766	32.5377	8797
+-115.8035	45.6433	6590
+-87.2049	35.9536	7214
+-121.4384	46.8566	7996
+-121.8613	44.6615	6828
+-115.7561	35.113	7574
+-118.7247	49.2051	5939
+-117.6494	44.5563	7493
+-117.4737	34.3858	9182
+-89.4548	37.2137	8891
+-90.5414	35.9852	7071
+-114.303	31.8115	6577
+-111.4912	32.1331	8085
+-116.5714	33.4745	8897
+-94.0798	37.0038	5018
+-116.8612	36.3115	7121
+-115.6329	43.9502	5646
+-89.5106	36.4889	8252
+-114.5929	34.5704	6583
+-122.3478	35.5427	3786
+-117.6341	43.3717	6290
+-117.8254	30.6249	7127
+-87.702	38.1456	8504
+-110.5635	29.2974	6984
+-117.2735	42.7817	5587
+-85.2959	25.6473	5585
+-114.9758	44.4324	5337
+-121.5863	34.2249	4825
+-118.8278	48.5831	6568
+-113.9296	34.5128	5874
+-107.6079	32.9268	6181
+-120.0352	48.0927	6450
+-90.4033	36.134	7299
+-83.2933	26.2065	7693
+-115.6552	44.7963	6154
+-118.3378	34.5229	8295
+-88.7041	40.325	6943
+-89.0938	40.3844	7180
+-114.4946	30.1092	5664
+-118.2606	44.6802	7757
+-91.4788	35.3827	5608
+-87.8253	36.2684	7924
+-116.3839	31.7629	8410
+-110.8942	30.2172	7874
+-90.9392	40.2096	7741
+-83.2703	28.272	8485
+-109.4549	36.851	3687
+-118.0968	47.7661	7485
+-117.2751	33.9542	9342
+-116.7093	31.4746	8229
+-117.7257	30.3765	6903
+-117.0514	48.9934	5930
+-81.3569	27.5462	8979
+-89.528	40.9439	6886
+-122.0755	47.8561	8274
+-121.5826	44.2827	6321
+-114.3002	28.6018	4097
+-80.7126	25.0103	6384
+-118.582	34.9921	7824
+-108.9154	31.0595	7836
+-119.0212	43.4627	6360
+-109.2046	32.2562	8050
+-123.3925	44.3284	6658
+-122.5157	47.3708	8993
+-120.1864	48.5194	6000
+-117.3572	49.1121	5923
+-124.9013	46.4327	7331
+-118.6065	34.1917	8075
+-86.6022	36.5621	7088
+-85.1547	26.3547	6119
+-87.4589	38.4958	8077
+-90.2315	42.5986	5273
+-112.1803	35.0343	5233
+-89.7964	37.1964	8545
+-117.541	34.9939	8553
+-116.4882	37.6831	5574
+-116.5958	32.8349	9339
+-81.0767	26.9923	8410
+-127.2431	43.7525	3670
+-116.9164	34.1891	9151
+-82.4295	28.7315	8751
+-117.6672	37.4069	5940
+-90.4535	36.7796	7676
+-123.5212	47.3409	8809
+-108.443	30.5512	7140
+-110.8158	30.3358	8024
+-116.7784	30.749	7437
+-120.227	43.5969	5904
+-114.908	35.1498	6736
+-78.1594	29.8432	4820
+-82.5362	28.0209	9353
+-115.9333	33.5787	8321
+-90.4103	42.127	5784
+-118.6688	33.5705	7890
+-117.9251	33.391	8455
+-116.259	32.7418	8959
+-120.4489	35.3729	5812
+-89.7463	41.4997	6382
+-108.8921	28.038	5327
+-115.5081	29.3364	5544
+-117.9076	44.6024	7625
+-79.2781	26.6792	6436
+-110.9965	32.2433	8460
+-91.1945	39.3275	8351
+-121.1935	47.2554	7705
+-87.5226	38.4725	8151
+-124.7858	45.0781	6674
+-117.2561	35.6644	7868
+-117.0979	34.0755	9343
+-116.7125	48.451	6266
+-91.3563	36.9486	7218
+-90.6826	41.2567	6703
+-80.355	27.7706	7881
+-82.9528	28.0464	8913
+-115.975	30.8634	7310
+-91.0405	37.7239	8111
+-83.4433	26.7947	8047
+-83.0857	25.7913	7412
+-109.756	30.4679	8113
+-117.4289	32.1968	8890
+-119.504	45.4138	7778
+-91.1286	39.34	8400
+-90.2546	41.8789	6049
+-115.7561	31.7761	7972
+-90.8911	35.5917	6482
+-117.2124	32.6594	9427
+-108.5021	31.5809	7490
+-116.5725	34.3761	8736
+-124.5908	45.5312	7170
+-110.0672	32.4817	8458
+-81.0674	25.0523	6593
+-115.0327	32.3841	7542
+-90.5854	39.2464	8847
+-88.423	38.6727	8621
+-89.4218	40.8688	6916
+-117.9603	46.1701	8911
+-114.2057	28.4228	4058
+-118.393	31.0977	7261
+-120.3767	46.2676	7036
+-115.1905	33.8826	7442
+-117.202	31.9334	8733
+-118.3354	36.0656	7129
+-114.5697	35.063	6426
+-117.3927	43.0585	5904
+-109.3926	29.818	7306
+-110.7623	34.9975	5745
+-116.841	47.8074	6893
+-115.921	33.6016	8295
+-115.7631	32.2672	8277
+-119.0803	45.886	8387
+-117.5496	31.7943	8440
+-84.4303	26.8109	7078
+-123.0014	45.0396	7486
+-112.7867	35.903	4284
+-118.0923	46.4904	8800
+-120.5698	45.9582	6834
+-117.9893	33.2064	8532
+-110.8487	30.2903	7965
+-122.6772	46.7309	9250
+-120.5511	45.6639	6815
+-110.519	30.3215	8092
+-88.9774	36.9107	8935
+-118.6228	33.2695	7784
+-118.5404	47.4125	7844
+-88.0637	33.8357	5444
+-121.0206	48.0996	7195
+-82.9833	28.2433	8790
+-123.2821	45.3956	7830
+-80.2098	28.1209	7680
+-90.9879	42.2423	5604
+-108.5617	31.2322	7517
+-83.431	29.5901	7360
+-118.9324	32.1671	7444
+-126.9629	45.7221	4938
+-119.1327	37.9266	4927
+-82.6556	27.5824	9266
+-123.4761	47.9768	8329
+-82.3905	29.674	7715
+-124.7385	46.9587	7586
+-117.7224	40.5566	3360
+-116.8791	35.0711	8431
+-122.4922	47.1939	9093
+-114.1566	31.7238	6390
+-121.2286	32.2528	4958
+-80.6627	27.886	8223
+-118.5401	49.6683	5472
+-82.7422	26.8405	8639
+-79.791	28.3222	7169
+-122.1688	45.2997	7606
+-119.5232	44.6722	7258
+-88.5085	39.9047	7051
+-117.2001	45.3653	7874
+-80.996	28.195	8517
+-93.2986	38.4962	6270
+-84.3528	27.5646	7371
+-114.8267	34.0583	6875
+-110.1586	29.5693	7283
+-81.0297	29.476	7590
+-109.5376	29.8353	7393
+-90.2473	36.9097	7949
+-115.0914	32.7683	7660
+-119.7298	44.4348	6925
+-122.9973	49.2767	7066
+-82.5147	29.5023	7882
+-121.6808	46.6979	8235
+-124.8435	45.7629	7095
+-92.7236	41.1304	5826
+-124.8789	45.8538	7112
+-115.5891	45.0563	6201
+-122.6358	46.9661	9316
+-114.1021	33.7787	6382
+-117.8674	47.1171	8097
+-120.5614	46.7293	7024
+-89.879	35.8784	7452
+-82.4725	29.6662	7709
+-123.0491	48.5041	7909
+-120.4312	35.3997	5820
+-119.1112	30.7104	6400
+-119.6984	32.9428	6584
+-78.0626	26.7833	5154
+-112.7234	35.1336	4837
+-86.5085	38.6398	7055
+-111.4306	33.3126	7255
+-109.1655	30.1416	7463
+-116.0637	32.692	8736
+-125.6425	49.2885	5658
+-118.0599	33.3123	8293
+-119.6331	35.3014	6659
+-121.0746	47.7567	7421
+-109.8773	34.4353	6344
+-119.5398	49.6208	5301
+-115.284	32.3748	7812
+-118.2231	32.2723	8225
+-87.7128	36.7299	8233
+-119.3641	42.7707	5553
+-89.028	38.7565	8556
+-89.9305	39.4089	8563
+-92.2333	37.8995	7230
+-122.0047	42.7603	4882
+-115.665	32.0471	8066
+-118.2092	32.919	8362
+-109.6654	29.0729	6659
+-119.1139	35.316	7145
+-114.2079	29.5384	4974
+-114.1561	34.66	6097
+-93.1565	37.0333	5909
+-90.8393	38.6554	8922
+-125.4616	46.34	6709
+-89.9699	37.3093	8406
+-122.5859	44.8828	7291
+-113.3065	32.8787	5960
+-122.0723	49.4283	6753
+-89.5697	39.4567	8263
+-86.583	24.32	3525
+-83.1541	25.8647	7450
+-86.8135	35.472	6518
+-78.1441	28.921	5194
+-89.9629	33.2412	4670
+-111.8351	30.9285	7698
+-85.9521	38.2213	6595
+-89.9234	43.3913	4397
+-118.0112	32.0003	8274
+-81.2183	27.0168	8554
+-120.1121	47.3363	6923
+-81.8967	28.1465	9386
+-92.0354	40.0735	7143
+-110.9829	30.4521	8060
+-116.0679	32.3024	8598
+-89.8257	41.9381	5936
+-116.9249	35.5317	7968
+-118.3624	45.7565	8887
+-108.4379	32.3216	7270
+-89.9283	34.7665	6309
+-118.1962	36.0023	7261
+-115.8838	45.6269	6670
+-83.0219	25.3594	6989
+-107.9553	32.0847	6840
+-88.9241	36.8599	8893
+-111.2957	33.9673	6688
+-122.3721	46.0466	8441
+-85.6447	28.3013	5874
+-90.4667	39.186	8946
+-116.3324	45.7785	7166
+-89.3485	37.3611	9078
+-119.3001	44.6628	7396
+-119.3465	38.146	4608
+-119.0912	35.1328	7268
+-95.6925	37.418	3525
+-87.5753	37.0954	8332
+-114.9736	46.5074	5729
+-118.9389	33.8532	7688
+-111.4446	32.569	7864
+-117.1771	34.0437	9400
+-79.8502	25.8386	6512
+-89.0239	36.9303	8940
+-118.4126	36.3675	6799
+-107.9107	29.237	5820
+-123.0146	46.0214	8560
+-90.9742	37.7993	8218
+-88.3557	35.5657	7413
+-88.3242	35.7494	7607
+-114.865	33.3377	7338
+-114.2612	47.5421	4735
+-88.7742	35.796	7716
+-85.0749	40.6646	4476
+-115.6879	31.1623	7421
+-118.5387	45.8019	8845
+-82.7475	30.7346	6463
+-90.0089	36.662	8022
+-117.9994	32.4776	8540
+-118.4838	33.7227	8137
+-115.0031	33.9509	7224
+-82.6514	26.3922	8231
+-93.544	38.4688	6004
+-82.3877	25.6098	7435
+-91.3972	41.0527	6713
+-109.3962	27.0632	4472
+-119.2659	48.2252	6781
+-116.447	43.8531	6187
+-115.6527	31.2776	7496
+-86.8103	35.5525	6582
+-118.6169	44.0517	7063
+-82.7885	28.893	8418
+-116.6844	30.5035	7154
+-88.4229	35.2364	7061
+-122.9872	32.4953	3047
+-119.5306	35.3222	6748
+-87.7311	36.7269	8246
+-119.2072	49.1159	5920
+-108.8876	30.8966	7740
+-89.8451	38.5311	8798
+-124.2893	46.0748	7792
+-83.8029	26.1042	7227
+-87.0134	36.8607	7649
+-89.0082	37.6592	9544
+-124.5289	48.0451	7460
+-119.3933	48.0018	6928
+-84.0054	26.4658	7313
+-123.4011	45.5132	7917
+-83.487	28.7649	7990
+-108.1959	33.134	6613
+-116.2099	48.7933	5661
+-113.3327	29.9102	5752
+-121.7448	46.8039	8325
+-84.4393	25.9121	6545
+-107.7508	28.1719	4838
+-111.9039	29.8712	6956
+-116.4513	34.5247	8551
+-124.78	47.8296	7334
+-117.9998	33.8748	8690
+-120.5205	48.0414	6738
+-89.4844	38.487	8415
+-120.5782	47.6051	6961
+-119.5075	47.9712	6892
+-115.27	38.3765	4422
+-81.2431	26.4671	8110
+-87.4226	40.6866	6104
+-94.2549	37.6958	5099
+-119.8459	36.4812	5733
+-84.9829	30.3266	5559
+-118.5936	33.7763	8039
+-90.6161	37.0684	7595
+-119.9297	34.5999	6589
+-79.892	24.9779	5845
+-111.1725	32.2876	8287
+-116.0031	38.0424	5057
+-120.0548	43.4822	5913
+-123.5976	47.0607	8833
+-123.3649	43.2235	5462
+-112.8334	32.105	6706
+-88.1668	40.5213	6366
+-121.3019	49.1417	6641
+-120.204	45.4671	7119
+-85.4071	35.0525	5037
+-118.8248	32.3524	7616
+-116.1427	45.4073	6878
+-118.114	45.7095	8810
+-110.3052	27.5813	5137
+-109.2307	33.0436	7491
+-106.8445	34.7669	4356
+-112.5234	35.1592	4930
+-121.4999	47.609	7914
+-114.1581	36.8953	5002
+-111.6155	31.5812	8084
+-115.5905	33.2668	8138
+-93.0987	38.3943	6473
+-112.1719	30.0553	6883
+-88.9987	36.6783	8676
+-111.3911	33.1456	7429
+-89.5276	36.5488	8298
+-114.2084	46.3981	4933
+-92.0254	37.1154	6927
+-110.032	32.5111	8417
+-116.9016	31.8022	8619
+-81.6396	30.4675	6786
+-95.7272	37.8628	3586
+-117.0787	44.8452	7418
+-113.1786	44.5371	3606
+-113.9878	35.3414	5726
+-126.0501	46.708	6134
+-110.2262	31.3862	9231
+-119.2838	35.108	7094
+-116.113	37.0781	6088
+-89.1738	42.2899	5392
+-88.7683	39.241	8047
+-119.7379	44.4157	6904
+-88.254	35.9068	7758
+-121.007	48.9619	6585
+-120.9424	30.575	4662
+-82.1608	29.6868	7720
+-88.2461	38.1708	9001
+-116.7982	29.4028	5940
+-91.15	31.2302	2111
+-115.6164	36.0292	6796
+-115.0493	33.2674	7556
+-119.5174	45.458	7787
+-88.5334	40.3002	6823
+-81.2659	28.0333	8866
+-89.6651	36.4745	8140
+-119.8049	36.2998	5898
+-122.8665	49.2489	7098
+-88.4928	36.6876	8675
+-113.5116	31.0783	5987
+-116.3159	36.3255	6931
+-84.5059	29.834	6332
+-115.1805	33.0081	7749
+-88.9675	40.0761	7334
+-88.9064	38.3496	9032
+-117.1373	31.0023	7720
+-115.9337	32.1416	8377
+-115.9331	34.7104	7953
+-117.6052	49.4858	5603
+-119.5822	31.4125	6442
+-123.5085	46.7589	8900
+-91.8594	37.7798	7520
+-113.0485	34.2858	5323
+-118.3644	30.8115	7027
+-89.4728	42.2449	5532
+-118.0444	37.0903	6203
+-81.5879	30.8319	6370
+-90.5809	40.6143	7404
+-87.7009	40.1173	6815
+-82.6525	26.4232	8263
+-125.5965	46.1561	6513
+-87.5988	37.9286	8472
+-108.4122	33.0903	6828
+-114.9102	35.8288	6371
+-124.2911	45.8247	7629
+-122.2928	47.3233	8833
+-110.2564	30.4506	8244
+-116.1354	33.8814	8274
+-119.6138	33.4294	6865
+-82.8556	29.4307	7840
+-81.8587	28.4772	9031
+-117.5676	44.1815	7092
+-83.7421	26.0243	7209
+-121.8264	46.1249	8107
+-114.1019	32.6188	6550
+-119.0253	46.4684	8383
+-87.0743	37.8799	7900
+-87.6596	36.6519	8130
+-80.8083	27.6184	8384
+-123.7817	49.9061	6235
+-93.7508	36.612	5125
+-83.3769	26.7803	8097
+-116.3657	31.3568	7992
+-116.3226	32.2728	8813
+-123.8316	47.9288	8135
+-91.9525	38.7868	7733
+-81.6412	26.9099	8775
+-86.3708	38.0253	7096
+-86.9668	37.6364	7795
+-118.3327	47.9661	7284
+-116.0007	33.8114	8113
+-114.5919	35.9646	6002
+-117.6409	36.3016	7138
+-88.0708	35.9159	7701
+-92.5571	38.1244	6986
+-117.9426	32.4689	8597
+-80.5984	29.7189	7083
+-91.9757	39.8151	7359
+-93.1183	36.0058	5248
+-88.1045	37.1422	8867
+-88.441	39.1104	8153
+-119.9295	32.4045	6416
+-118.2348	33.1142	8300
+-81.0144	28.5354	8357
+-89.9433	34.6829	6215
+-117.7818	33.2741	8710
+-89.8635	39.1042	8746
+-118.366	36.0552	7123
+-119.5477	36.0794	6267
+-90.7696	37.6123	8129
+-111.7489	31.99	7878
+-122.4874	44.6439	7014
+-87.3701	36.0926	7454
+-116.0518	30.0089	6459
+-116.9654	33.9966	9177
+-90.5665	38.3697	8969
+-121.7337	45.7818	7780
+-115.0083	33.2027	7527
+-114.5696	29.3148	5019
+-82.9072	27.9581	8991
+-89.6987	38.2571	8515
+-89.8049	38.5546	8766
+-87.1528	38.2419	7892
+-116.9744	33.5958	8871
+-118.9163	48.1987	6939
+-90.9998	38.0172	8392
+-120.7978	48.6372	6656
+-93.4327	40.4392	5667
+-92.6278	38.6813	7004
+-113.8417	30.8826	5597
+-118.0752	48.9839	6198
+-91.9702	38.3241	7653
+-111.7275	30.8639	7774
+-88.6419	34.6265	6400
+-120.0334	34.1268	6520
+-93.5448	37.6569	5819
+-91.4547	37.3701	7541
+-118.4125	31.5035	7574
+-111.1969	30.6767	8117
+-88.4694	36.3602	8312
+-115.109	30.6633	6581
+-91.3897	37.9865	8063
+-82.3636	25.3088	7100
+-117.8394	30.2228	6700
+-118.5406	33.8125	8105
+-120.1416	44.6408	6758
+-85.3967	40.3335	4991
+-116.5665	45.1966	7206
+-124.3927	42.4226	4352
+-123.3111	44.913	7305
+-118.234	36.2331	7016
+-116.8545	36.7321	6668
+-115.301	33.8261	7580
+-88.6534	38.6046	8754
+-90.2374	37.1678	8072
+-107.698	31.6631	6617
+-120.2284	32.878	6029
+-84.201	32.5168	4031
+-87.7399	41.3465	5431
+-114.9652	30.3509	6211
+-109.2889	32.6392	7864
+-93.6832	39.2694	5824
+-93.0569	36.8471	5887
+-119.0656	48.5476	6539
+-122.0771	33.1101	4173
+-116.0456	30.4124	6881
+-112.6618	32.0631	6898
+-115.6261	46.2789	6440
+-108.897	32.037	7842
+-118.9938	33.7618	7611
+-84.4952	28.3983	7126
+-116.051	33.2334	8631
+-119.883	32.5172	6483
+-116.5435	31.5506	8264
+-113.6276	32.095	5862
+-109.5311	31.2195	8519
+-110.5092	34.4954	6313
+-112.355	34.2822	5820
+-117.1619	45.9137	8057
+-113.9371	33.1493	6353
+-87.122	39.8774	6722
+-121.398	45.5725	7355
+-121.9932	45.4212	7638
+-91.0908	39.4657	8340
+-109.8685	31.209	8827
+-120.1722	44.9463	6916
+-85.5027	40.9362	4629
+-88.347	37.8888	9282
+-117.3277	44.2663	7071
+-119.6923	44.6137	7092
+-108.4682	30.4172	7090
+-117.1424	42.0412	4795
+-86.9911	39.8375	6666
+-90.4753	38.3503	8982
+-87.4193	38.7447	7878
+-113.9711	32.5838	6402
+-81.7132	29.1111	8299
+-115.2803	31.2101	7155
+-87.0161	38.6602	7555
+-109.7104	30.5614	8177
+-120.7772	43.8051	5671
+-121.5852	46.0479	7844
+-124.7538	44.4736	6193
+-116.5732	35.7964	7572
+-83.6814	30.7988	6041
+-90.5359	38.5831	9181
+-119.2033	47.3689	7601
+-92.3748	40.4175	6625
+-79.897	31.5087	4960
+-114.4548	48.13	4671
+-117.4168	31.2389	7923
+-120.446	49.9919	5326
+-118.3365	35.9186	7267
+-119.7438	31.7127	6419
+-112.0783	33.2786	6838
+-116.9779	44.6404	7187
+-116.1132	33.6547	8419
+-88.2596	38.2581	8940
+-115.3178	32.0789	7738
+-88.5943	36.8913	8924
+-88.3299	41.2302	5954
+-80.7655	30.3792	6556
+-122.7782	45.3334	7807
+-85.6715	38.3368	6260
+-84.5769	27.9308	7122
+-112.1227	29.9623	6858
+-107.1774	28.6188	4782
+-117.0638	29.1688	5683
+-117.5356	33.5844	8871
+-119.9609	48.5089	6152
+-81.7691	29.5949	7783
+-124.0764	45.7566	7752
+-93.0848	39.1936	6474
+-112.7402	36.084	4161
+-123.9396	42.9363	5033
+-88.5155	40.2496	6843
+-122.617	44.9778	7399
+-114.6672	44.9428	5239
+-89.0861	38.848	8441
+-115.2821	35.6514	6812
+-118.3229	43.4964	6503
+-117.4462	32.126	8815
+-118.3153	32.729	8245
+-84.3713	26.4692	6966
+-116.705	35.2795	8146
+-78.2468	29.7969	4932
+-83.1454	26.4562	8019
+-120.1468	34.2803	6392
+-86.4347	37.0603	7111
+-91.0972	37.6465	8008
+-121.5671	44.8497	6858
+-80.5673	28.5439	7914
+-83.4166	37.3125	3796
+-83.9054	27.6763	7885
+-118.9473	30.6957	6516
+-120.3052	49.2117	5836
+-126.3444	45.4207	5458
+-115.3795	39.5685	3262
+-91.5628	35.4213	5618
+-115.2415	32.5182	7800
+-89.4549	36.0339	7827
+-120.333	35.192	5999
+-91.1887	37.7498	8040
+-115.6026	31.2106	7403
+-85.0902	28.6475	6402
+-119.1179	32.4669	7322
+-123.2541	43.8557	6166
+-126.1882	49.0033	5357
+-114.9726	34.7685	6941
+-115.0027	43.8765	5063
+-114.4981	47.0951	5115
+-91.3036	37.7664	7972
+-116.3955	36.8404	6436
+-122.4601	46.0833	8522
+-119.4892	47.0677	7623
+-89.4337	36.5536	8359
+-82.1437	26.0776	7982
+-124.9108	49.1502	6345
+-79.2261	26.7965	6425
+-124.313	48.3167	7459
+-116.2069	49.9231	4653
+-117.604	37.1001	6281
+-125.0617	43.4482	5070
+-120.9486	33.7765	5503
+-118.5565	34.4882	8079
+-114.3033	30.9792	6144
+-115.7968	33.5479	8214
+-116.9718	32.7455	9673
+-91.1823	41.3462	6497
+-123.8336	47.4158	8468
+-112.5878	31.1418	6985
+-119.0098	45.8741	8455
+-122.3071	49.8725	6348
+-124.269	45.8376	7657
+-82.8821	31.8215	5227
+-80.7112	26.9758	8051
+-112.0072	32.2523	7521
+-123.3158	49.1943	7117
+-114.6883	29.3535	5129
+-85.3291	31.2017	4584
+-114.8931	35.0496	6763
+-123.9797	49.1463	6934
+-80.124	31.8177	4776
+-115.4584	30.494	6664
+-91.0172	38.9982	8691
+-119.7709	48.6245	6157
+-92.8554	41.222	5656
+-126.7899	48.0943	5157
+-89.6608	36.7756	8399
+-118.8919	36.0733	6777
+-125.3936	48.0593	6615
+-86.9989	38.9064	7391
+-88.3164	38.3863	8862
+-88.5861	38.1605	9224
+-117.4695	31.3072	7978
+-122.5106	47.3552	9002
+-119.5642	45.3511	7689
+-78.7208	24.5904	4618
+-116.7593	34.348	8937
+-87.3524	33.6742	5061
+-117.679	47.7305	7419
+-119.0274	43.3237	6216
+-121.6808	45.486	7499
+-116.4245	35.0708	8163
+-118.4368	45.1294	8220
+-83.4643	26.6764	7946
+-112.7362	34.2254	5604
+-89.3744	39.5456	8039
+-87.9578	40.433	6579
+-92.4587	37.6523	6894
+-117.0925	32.028	8862
+-90.348	35.2016	6528
+-117.7645	35.2822	8172
+-118.7888	33.1846	7581
+-112.1013	30.3045	7109
+-124.9926	48.4611	6781
+-114.9928	35.5168	6635
+-117.4519	32.1727	8853
+-117.6159	33.3353	8826
+-113.7906	36.1083	5177
+-87.7765	36.4518	8056
+-112.6016	31.9029	6992
+-108.6166	31.564	7613
+-113.9748	37.6485	4285
+-92.8663	37.5079	6432
+-119.1939	46.6487	8135
+-117.6701	45.6644	8464
+-122.182	47.4636	8647
+-109.416	29.254	6761
+-112.7463	31.9204	6834
+-88.8025	31.9587	3408
+-116.4112	34.3707	8570
+-82.2289	27.3363	9394
+-115.837	32.2424	8339
+-112.9503	25.8843	2679
+-83.2578	25.4723	7002
+-113.3494	42.9851	3081
+-121.9772	42.8014	4919
+-120.078	33.3983	6368
+-90.2022	37.6575	8231
+-120.4701	41.8062	4157
+-90.6787	40.5666	7441
+-120.5151	45.4559	6800
+-80.9874	30.2338	6815
+-89.2826	39.2063	8140
+-125.9778	48.1293	5992
+-113.6863	47.4209	4195
+-111.2468	32.6493	7953
+-116.804	44.7912	7169
+-120.7892	44.8902	6313
+-108.9557	29.0916	6389
+-119.7103	47.519	7129
+-85.6333	36.6651	6123
+-111.6084	29.8728	7162
+-117.8253	32.7939	8795
+-91.6417	38.4397	8027
+-81.7876	25.5628	7369
+-116.8264	35.5553	7914
+-86.7973	40.7109	5745
+-116.6973	33.9195	8875
+-92.7042	36.3432	5821
+-80.3918	25.3019	6478
+-120.6531	47.5004	7069
+-110.1429	34.3326	6488
+-110.1627	34.2287	6601
+-85.6612	26.3775	5603
+-118.5962	33.0478	7917
+-122.808	46.5463	9133
+-85.7666	37.4993	6442
+-118.8896	42.6267	5526
+-115.1727	31.6177	7346
+-113.8707	30.4862	5461
+-118.6232	30.2603	6355
+-108.1716	32.0341	7081
+-88.5268	35.7024	7595
+-107.703	31.0898	6574
+-116.6287	36.3138	7060
+-89.2388	37.5448	9268
+-81.3252	30.3135	6869
+-115.867	32.6662	8515
+-111.6598	31.4066	8024
+-118.6873	34.0613	7986
+-111.2123	32.4699	8121
+-123.3891	48.744	7581
+-111.3089	32.2907	8168
+-115.8608	34.8349	7824
+-120.5363	46.4801	6841
+-122.4184	49.36	6924
+-91.7446	42.6529	4969
+-121.8608	47.0173	8463
+-117.4416	34.4246	9167
+-90.9955	39.1038	8662
+-112.6448	29.966	6417
+-119.7395	47.9331	6781
+-110.4918	28.4391	6063
+-110.1776	30.578	8371
+-118.5294	47.178	8090
+-80.8364	26.3798	7744
+-120.6084	45.3649	6678
+-88.3328	38.7823	8471
+-120.7503	46.4948	7188
+-119.159	33.1637	7218
+-113.2912	31.1809	6239
+-87.6795	39.2893	7622
+-110.0631	31.3876	9112
+-119.1269	28.4878	4357
+-118.5432	34.7151	8008
+-116.1597	32.8007	8853
+-91.9045	37.3203	7174
+-80.5505	25.3507	6625
+-108.1316	32.8623	6715
+-109.8467	32.4319	8414
+-108.5775	28.3021	5442
+-111.9497	32.9068	7210
+-118.1462	36.9669	6301
+-90.5064	40.5011	7532
+-115.6342	46.7877	6362
+-118.1002	46.8488	8444
+-92.0297	36.0902	6053
+-90.0478	37.5299	8060
+-83.768	28.9049	7639
+-117.7615	30.8522	7389
+-82.9585	31.0481	6064
+-90.1473	42.6972	5162
+-109.018	33.7599	6718
+-115.2903	33.9382	7372
+-88.4182	39.623	7584
+-110.6923	32.1818	8717
+-81.7595	30.4391	6839
+-84.4455	25.2916	6061
+-116.0461	35.458	7573
+-125.5415	48.9106	6003
+-121.3006	44.394	6278
+-125.9741	44.7508	5443
+-119.1414	47.1636	7813
+-81.7215	26.3848	8261
+-114.6544	34.9602	6549
+-120.0005	34.1675	6555
+-118.2263	32.9098	8344
+-125.1881	43.7763	5293
+-82.192	28.0688	9544
+-117.5949	43.5299	6443
+-84.7407	31.1341	5074
+-120.8209	46.205	7174
+-119.1986	47.0857	7836
+-116.7728	42.6499	5272
+-115.7129	34.721	7726
+-114.8841	34.9379	6795
+-120.9686	32.4586	5271
+-116.5962	32.4803	9195
+-119.1165	46.0281	8375
+-86.2295	26.5014	5042
+-83.907	28.8204	7558
+-116.6966	45.8899	7565
+-92.2252	39.7573	7162
+-85.8154	35.9816	6001
+-89.3135	36.4585	8327
+-115.6444	31.1623	7391
+-87.5254	36.8972	8176
+-85.8505	38.5633	6390
+-82.6472	27.752	9311
+-89.6486	36.6368	8294
+-117.5633	45.2459	8077
+-114.1908	45.7541	4911
+-81.7871	35.4355	1590
+-118.3396	32.5797	8199
+-115.2698	32.9622	7853
+-123.8999	46.5722	8425
+-118.3443	44.7913	7873
+-89.2019	36.6381	8562
+-82.1893	27.2486	9303
+-105.769	32.7133	4379
+-114.9588	30.5313	6360
+-79.945	27.3896	7380
+-87.0441	38.5531	7640
+-81.9959	30.6416	6636
+-82.1126	28.432	9139
+-84.4273	30.6427	5730
+-118.6568	41.346	4210
+-116.0358	35.6675	7392
+-91.6939	38.83	8009
+-115.1261	34.9701	7031
+-118.7894	32.7673	7719
+-91.1668	40.7259	7133
+-120.6639	45.2832	6595
+-116.6848	35.3009	8115
+-115.5748	33.3606	8086
+-110.265	29.8799	7627
+-114.0112	29.3675	4821
+-124.2274	48.6511	7250
+-88.5327	34.8805	6677
+-117.9395	48.3757	6823
+-110.801	29.2598	6906
+-89.628	37.9034	8812
+-116.7824	33.3855	9086
+-125.9403	46.3458	6197
+-117.2074	29.9577	6553
+-90.6192	38.8405	9152
+-113.5706	37.3961	4160
+-119.5451	30.1766	5637
+-115.7952	33.9461	7920
+-115.3539	34.9001	7290
+-119.7394	48.1297	6615
+-110.032	29.3507	7033
+-107.1701	29.7713	5524
+-118.2581	34.4038	8417
+-108.4426	33.2976	6708
+-83.0412	24.5469	6108
+-92.188	41.8527	5556
+-117.3064	48.0704	6931
+-124.4701	48.6606	7069
+-88.0364	38.8912	8214
+-114.4459	48.4357	4503
+-90.9388	37.7592	8200
+-123.929	47.4345	8364
+-89.8807	39.3211	8604
+-81.0048	25.6786	7207
+-108.0267	30.3223	6625
+-117.8964	34.4598	8764
+-115.8293	41.2806	3533
+-118.2134	32.7545	8360
+-119.9814	49.8495	5099
+-82.4546	28.8699	8592
+-94.8932	41.3325	3823
+-109.773	28.843	6443
+-118.3608	31.6931	7756
+-122.978	47.9294	8545
+-110.7964	31.8897	8872
+-119.8959	49.5181	5258
+-122.266	48.4691	7815
+-114.5934	30.3467	5932
+-91.4406	34.323	5010
+-83.223	26.7498	8206
+-122.7446	38.7244	1741
+-123.0207	45.6211	8122
+-119.7218	47.0808	7417
+-89.851	37.4261	8568
+-120.1099	46.9372	7132
+-116.3842	31.3292	7971
+-123.5641	48.6446	7624
+-91.3548	37.7286	7905
+-116.9304	35.0894	8432
+-90.8477	34.6074	5662
+-86.9013	34.9642	6130
+-116.313	31.9727	8562
+-89.2914	41.3214	6413
+-111.6148	33.7586	6738
+-119.6199	31.4994	6449
+-90.1814	39.0599	9026
+-116.1801	35.73	7431
+-109.492	31.779	8538
+-88.9839	38.5434	8800
+-118.8884	44.8355	7776
+-115.5697	46.3291	6376
+-112.0854	35.6772	4649
+-94.0037	36.2959	4710
+-124.0333	47.1227	8349
+-112.8013	31.291	6781
+-116.914	32.303	9177
+-121.1584	45.2091	6888
+-107.2683	30.0404	5756
+-107.0733	29.8655	5481
+-113.4826	33.7249	5737
+-117.2663	46.3732	8145
+-114.8946	31.8433	7199
+-80.8049	29.6007	7330
+-115.8606	34.9091	7786
+-125.1861	49.4978	5859
+-120.2354	34.7721	6225
+-89.6838	39.8959	7977
+-90.0196	38.8598	9015
+-114.2081	47.1097	4814
+-122.5995	47.4363	8994
+-90.4793	40.1298	7934
+-107.6947	33.9688	5620
+-88.5657	40.1955	6921
+-88.9227	37.9001	9499
+-122.5158	47.1305	9147
+-84.1722	41.0552	3406
+-89.6189	34.8959	6562
+-122.2127	45.9253	8235
+-90.7012	37.1029	7616
+-115.2588	30.37	6425
+-115.5282	36.2666	6536
+-84.8932	31.5321	4611
+-117.3683	33.7089	9062
+-114.0689	33.0826	6507
+-116.246	34.6683	8281
+-120.3497	33.8895	6164
+-117.8982	49.4804	5657
+-119.8936	36.7095	5524
+-90.7499	37.4334	7951
+-117.6817	30.7185	7280
+-121.1251	45.5638	7121
+-110.4156	31.8393	9182
+-115.6014	36.2106	6634
+-112.2248	35.0556	5189
+-117.4427	32.7314	9213
+-124.1395	44.00	6074
+-105.5107	30.6806	4158
+-90.6695	35.1418	6267
+-80.6902	29.666	7194
+-89.6428	39.914	7937
+-123.619	44.6977	6991
+-117.745	30.3611	6880
+-123.6782	46.2854	8470
+-87.9237	34.973	6648
+-116.3607	35.9583	7315
+-116.8882	34.5866	8894
+-89.4452	35.4457	7209
+-127.9427	42.3503	2095
+-91.649	38.0401	7860
+-111.8841	33.7129	6619
+-116.9966	45.0222	7483
+-118.4213	35.8287	7300
+-113.2564	30.6638	6153
+-93.5817	38.7034	5977
+-93.7192	38.6885	5828
+-91.012	37.7946	8192
+-88.2202	38.1172	9020
+-120.3276	48.5618	6281
+-109.917	35.651	5043
+-121.4048	35.302	4847
+-118.5514	49.0825	6089
+-108.7699	31.1763	7723
+-89.3948	38.4133	8719
+-92.6699	39.694	6758
+-112.1063	33.6871	6493
+-80.5753	31.7263	5078
+-119.5681	45.2085	7604
+-86.0962	40.1225	5742
+-81.0479	28.1093	8605
+-112.0796	30.4415	7213
+-82.2143	27.8268	9778
+-82.828	25.7692	7500
+-81.3962	27.8906	9047
+-111.8918	26.9295	4156
+-89.2306	39.3499	8024
+-120.047	42.7254	5228
+-91.8961	37.6267	7393
+-124.3452	47.586	7879
+-91.9955	40.225	7069
+-118.7094	45.6412	8597
+-91.3129	39.827	7891
+-89.7358	34.5428	6144
+-92.6439	42.6274	4587
+-124.4009	46.1831	7746
+-89.064	36.3756	8329
+-117.5615	31.2162	7848
+-87.4473	38.3276	8158
+-120.8516	48.0991	7035
+-116.1153	32.1045	8515
+-92.0428	40.1043	7116
+-91.0569	38.1367	8442
+-124.5138	46.757	7818
+-81.2977	25.3526	7002
+-116.1958	43.3648	5616
+-120.2109	45.8607	7203
+-109.7324	32.1769	8558
+-120.2963	31.6133	5804
+-114.9996	32.4658	7524
+-89.4136	41.0043	6779
+-113.3203	29.5451	5556
+-92.0934	38.397	7542
+-91.468	41.8549	5880
+-88.7736	36.3137	8297
+-117.9009	33.6215	8649
+-114.5167	32.8262	7020
+-123.6218	47.0545	8807
+-88.3843	37.8075	9358
+-90.21	38.5115	9107
+-88.7542	38.0473	9387
+-121.3659	47.8904	7639
+-120.6557	45.6654	6706
+-86.0172	40.2466	5582
+-86.5678	34.7296	5697
+-90.4795	38.3772	9009
+-121.1069	46.0632	7400
+-124.1281	45.7299	7691
+-115.0539	34.6548	7058
+-89.4534	40.0995	7658
+-110.0155	29.9988	7723
+-88.6054	36.3311	8306
+-117.5655	47.0515	7998
+-82.0347	25.5348	7365
+-80.5138	30.1266	6654
+-84.6219	26.852	6893
+-88.8795	34.5712	6339
+-119.2565	49.2286	5790
+-88.6648	39.6288	7344
+-116.3903	30.0942	6649
+-115.6187	32.2257	8111
+-92.1498	39.8473	7183
+-89.1468	38.5162	8770
+-116.911	31.64	8439
+-110.4784	33.4191	7478
+-87.0399	36.9316	7709
+-120.6703	46.0675	6732
+-90.8729	37.5965	8074
+-111.6397	32.588	7688
+-112.0408	33.2501	6888
+-112.118	28.9074	5989
+-83.1408	26.6163	8163
+-109.4811	31.3675	8521
+-117.1944	30.9838	7693
+-94.559	38.107	4871
+-82.3528	29.511	7903
+-91.9648	37.0044	6886
+-120.4078	49.6223	5605
+-118.3991	46.4487	8871
+-119.0017	38.086	4829
+-108.8639	33.4501	6900
+-115.4915	32.9768	8098
+-93.1646	41.4133	5274
+-82.6327	30.1457	7142
+-117.1802	34.2562	9374
+-120.2753	47.3183	6788
+-89.444	39.9619	7772
+-86.0141	36.9549	6624
+-82.3868	31.4376	5729
+-109.1952	29.9613	7327
+-82.9199	31.2805	5819
+-111.583	30.0598	7339
+-116.8139	34.9688	8501
+-124.9434	44.7586	6301
+-92.7063	34.8448	4527
+-118.0357	35.176	8125
+-110.793	35.0128	5725
+-115.8395	41.7416	3968
+-115.6089	48.3075	5588
+-89.1816	34.207	5904
+-121.214	48.5439	7070
+-87.8143	38.1642	8609
+-110.4317	31.043	8879
+-88.7546	35.2305	7081
+-127.4554	44.05	3664
+-116.5839	45.9161	7450
+-79.4939	26.6901	6667
+-88.3989	36.8208	8780
+-124.0303	32.1491	1849
+-90.8867	38.9773	8829
+-115.5902	31.6076	7710
+-90.3986	37.7242	8319
+-121.5862	43.1477	5169
+-116.6216	47.0321	7243
+-125.9793	47.0873	6221
+-109.7962	29.9613	7622
+-83.5471	37.2952	3941
+-119.0156	35.3448	7217
+-117.7349	43.2122	6147
+-114.9042	34.3437	6951
+-91.0884	37.384	7767
+-88.0047	39.6025	7479
+-89.1886	41.5247	6168
+-89.0149	35.2793	7122
+-89.8634	45.3678	2269
+-79.9828	28.0765	7434
+-90.0769	38.6817	9086
+-116.5207	32.4194	9087
+-88.3521	35.0418	6833
+-82.5712	29.1836	8215
+-117.8211	47.414	7785
+-118.4054	46.3254	8989
+-119.7211	47.403	7206
+-123.2261	46.7785	9193
+-115.8044	32.1135	8238
+-121.7065	46.8706	8291
+-89.674	42.0436	5793
+-118.5843	34.0117	8094
+-119.3475	34.0298	7265
+-86.0856	38.668	6602
+-116.5597	33.0219	9244
+-84.9757	26.5396	6390
+-87.4147	37.9997	8252
+-111.725	30.7593	7721
+-88.9123	39.2248	7758
+-119.563	48.4558	6421
+-79.5956	27.2453	6961
+-108.3207	29.9839	6688
+-116.0339	46.2769	6871
+-80.7559	27.7382	8334
+-120.6894	49.5737	5851
+-79.8148	30.7813	5590
+-115.8857	46.9248	6575
+-80.9553	28.6421	8232
+-91.7459	36.7533	6819
+-122.3631	49.1517	7134
+-113.3995	32.5762	5982
+-92.6129	37.972	6879
+-117.4066	46.6147	8184
+-90.792	36.8929	7375
+-116.738	32.86	9493
+-81.0287	28.6972	8258
+-90.5804	38.6679	9194
+-123.0178	43.5558	5857
+-116.4246	47.3655	6879
+-120.5635	49.004	6200
+-84.5604	27.075	7037
+-122.7328	48.7735	7613
+-92.1241	37.4473	7081
+-116.8551	32.9585	9552
+-119.6691	43.6506	6280
+-123.4417	46.3008	8663
+-109.0916	30.8801	7927
+-119.7225	32.9502	6564
+-117.4313	34.2732	9302
+-113.8054	30.6426	5576
+-119.4154	47.9215	6989
+-77.6577	27.171	4784
+-114.6541	35.4958	6324
+-115.4679	33.3277	7987
+-119.1478	33.0582	7174
+-85.9005	26.6538	5448
+-118.411	30.6477	6846
+-83.3977	27.0328	8239
+-120.8393	45.7346	6968
+-88.5774	36.8069	8828
+-85.7799	26.031	5323
+-114.8586	34.9205	6774
+-90.0725	37.1167	8225
+-113.5431	30.1141	5649
+-90.251	34.755	6147
+-92.2042	38.0607	7326
+-82.0948	29.2812	8178
+-87.8875	37.5154	8814
+-83.1566	25.1616	6726
+-115.2202	44.3736	5537
+-80.6458	27.6874	8207
+-88.5041	40.4525	6691
+-108.061	32.3865	6862
+-111.2006	36.5819	3977
+-114.9804	38.6092	4055
+-110.7302	29.2642	6924
+-116.8736	28.4516	4883
+-86.2088	38.6795	6727
+-86.4597	37.4865	7218
+-117.0826	31.5525	8337
+-125.552	45.8257	6434
+-120.8503	49.3238	6174
+-113.1443	31.931	6405
+-116.7239	36.8196	6548
+-117.9676	30.7052	7146
+-88.7285	42.4798	5026
+-122.3686	45.8091	8207
+-114.1514	33.7606	6441
+-115.4887	27.3565	3443
+-91.6952	35.7764	5921
+-116.5008	31.0397	7704
+-91.2982	38.36	8352
+-119.1314	45.7177	8275
+-90.0819	36.3663	7739
+-114.9648	45.5673	5701
+-88.6976	37.5792	9691
+-118.6492	30.3356	6409
+-81.6753	26.2348	8084
+-83.061	28.1477	8758
+-121.1612	42.5028	4382
+-111.5305	39.9663	614
+-122.5898	44.1339	6475
+-119.9639	42.4283	4984
+-118.6013	35.7626	7240
+-123.2366	49.1156	7216
+-117.4478	46.5213	8270
+-83.1888	26.7807	8258
+-119.1549	48.4786	6578
+-118.1139	47.0001	8291
+-111.8008	30.0682	7188
+-119.5691	31.0434	6240
+-118.7263	35.2581	7528
+-82.2473	27.4465	9508
+-118.6425	32.1451	7739
+-115.9535	32.7492	8620
+-119.1455	45.4957	8145
+-113.7457	34.2677	5694
+-118.6286	33.8457	8019
+-86.5935	39.7978	6398
+-90.5379	37.1074	7646
+-111.6448	29.3959	6710
+-109.4728	31.7856	8516
+-87.9574	35.2704	6977
+-89.8762	35.4218	7005
+-117.4071	47.7547	7278
+-81.664	27.5091	9287
+-122.708	45.579	8067
+-117.958	33.6167	8596
+-116.6655	34.5967	8710
+-117.5541	31.941	8577
+-113.202	32.3928	6244
+-124.518	43.6948	5596
+-123.485	48.5313	7771
+-86.0802	36.8954	6678
+-88.6837	37.5345	9641
+-116.8593	37.5589	5775
+-111.5895	29.785	7097
+-88.7349	33.5975	5248
+-119.1679	32.8521	7297
+-117.6248	27.9445	4269
+-88.1584	36.6687	8504
+-115.9883	49.3789	5022
+-113.2774	32.4456	6150
+-107.7903	30.894	6619
+-112.1187	33.1938	6868
+-119.4007	44.7745	7424
+-121.2694	46.3179	7678
+-115.6937	45.1835	6351
+-118.6517	35.8847	7102
+-118.0364	47.5725	7679
+-81.7425	29.2946	8108
+-113.2032	31.5523	6364
+-117.1162	46.7894	7825
+-114.0669	31.2662	6085
+-121.375	44.8926	6778
+-87.0616	27.482	4307
+-120.5637	36.8796	4857
+-122.4946	47.5163	8856
+-87.0375	37.8285	7866
+-111.5636	33.3629	7130
+-121.16	45.144	6838
+-113.1895	31.0726	6330
+-121.3247	47.7199	7688
+-118.3824	48.1367	7101
+-110.2506	30.3349	8118
+-110.6811	33.6642	7188
+-91.6558	33.5707	4189
+-116.0417	41.5988	3935
+-87.8032	36.8041	8364
+-110.7991	31.6356	8966
+-108.0792	35.3666	4702
+-86.6454	39.146	6912
+-87.0761	37.4849	7907
+-116.033	46.6921	6796
+-83.6574	29.0473	7640
+-89.6601	37.8387	8794
+-90.6019	42.1579	5744
+-92.159	37.127	6831
+-80.2437	28.4177	7631
+-87.7684	38.4938	8359
+-113.5054	32.7281	5820
+-123.7818	49.9592	6179
+-88.2132	37.5548	9181
+-107.3517	30.1429	5886
+-90.0069	38.7259	9018
+-89.8632	38.5284	8815
+-88.194	35.2767	7057
+-118.3906	33.0325	8146
+-120.4124	46.9113	6847
+-107.2659	27.8908	4273
+-111.8209	34.0844	6321
+-92.4374	37.7926	6982
+-116.8211	46.8338	7528
+-117.7195	44.3748	7338
+-83.6564	29.9193	6909
+-108.5637	32.8222	7133
+-118.9114	43.6707	6603
+-115.64	38.1208	4840
+-122.0799	33.8716	4280
+-107.5559	30.8454	6360
+-116.899	38.1614	5126
+-118.6784	45.2989	8315
+-115.9039	34.0179	8046
+-110.8553	30.1041	7774
+-86.9254	34.4752	5680
+-116.4132	33.176	9017
+-110.3035	33.6577	7226
+-115.0571	34.2167	7126
+-91.5983	36.8481	6992
+-110.3633	30.3348	8120
+-85.2288	41.8466	3667
+-90.7657	39.7774	8243
+-118.8062	48.6557	6498
+-115.4199	35.0019	7312
+-126.2504	48.1344	5708
+-111.0321	29.0183	6593
+-122.8008	48.4808	7939
+-118.6863	33.6493	7902
+-125.4152	49.5448	5649
+-80.6782	26.8479	7946
+-123.0984	49.1225	7228
+-80.0943	25.9341	6791
+-87.4726	38.9296	7785
+-117.5971	35.4516	8055
+-116.6332	34.3971	8789
+-89.8497	38.2171	8611
+-117.7078	43.4055	6342
+-122.0351	46.4147	8479
+-120.4223	47.5754	6803
+-111.223	33.6904	6995
+-86.8668	35.314	6421
+-81.7473	26.9654	8886
+-123.4773	43.406	5643
+-84.4053	28.4305	7215
+-89.5383	34.0922	5711
+-115.273	35.0115	7162
+-90.1643	37.2894	8190
+-117.7409	30.2959	6812
+-90.5688	39.8214	8252
+-121.3211	48.212	7397
+-117.5141	46.5903	8294
+-91.3658	37.8863	8014
+-112.1384	30.8827	7376
+-83.7057	37.7378	4134
+-117.6799	31.5741	8155
+-87.3575	36.3441	7646
+-88.6523	38.4683	8905
+-122.3201	49.0907	7187
+-112.6054	29.9886	6466
+-118.3128	37.5593	5630
+-114.6977	34.8704	6623
+-121.2808	43.2062	5108
+-105.9732	28.481	3676
+-108.2423	31.0126	7125
+-115.6616	29.9608	6251
+-123.7526	45.1978	7449
+-90.2304	39.0654	9047
+-113.7505	30.23	5491
+-109.723	34.1394	6626
+-116.9038	36.8974	6497
+-84.0201	28.3626	7654
+-87.6696	41.1834	5496
+-82.5582	24.4852	6149
+-110.8344	35.2916	5419
+-89.1875	36.8929	8827
+-123.4648	48.6549	7650
+-81.3756	27.3772	8929
+-124.4534	49.2914	6534
+-119.0695	32.1993	7308
+-120.2501	44.7004	6704
+-114.5561	35.7418	6100
+-116.7146	45.7936	7568
+-120.4559	47.3538	6888
+-89.5441	37.8649	8914
+-123.4481	45.5185	7905
+-90.0348	40.5706	7426
+-119.5018	45.1688	7636
+-109.852	30.7879	8466
+-123.7598	46.3324	8432
+-89.3863	38.1224	8951
+-121.7155	32.4785	4360
+-89.3258	35.9701	7811
+-87.2735	38.0292	8090
+-120.7888	47.8501	7092
+-126.1995	49.8072	4823
+-83.4279	31.6696	5240
+-87.9169	40.4627	6534
+-118.5362	44.8834	7945
+-112.2305	33.7177	6380
+-123.9629	48.8779	7204
+-121.3696	47.7462	7719
+-124.5435	45.8878	7446
+-107.5623	33.596	5763
+-120.8028	46.0446	7089
+-116.1315	37.0032	6171
+-115.0208	44.7178	5508
+-116.7927	37.6817	5633
+-83.1764	30.5807	6497
+-86.0651	38.8972	6483
+-126.157	49.2637	5228
+-91.0623	38.8531	8684
+-115.7727	32.8015	8421
+-87.0302	39.1081	7281
+-118.1931	34.8624	8252
+-77.7236	26.9374	4816
+-114.2457	40.0065	2333
+-84.0193	30.449	6183
+-81.9989	26.3634	8298
+-92.6166	39.5995	6849
+-120.4679	45.9572	6942
+-118.6301	46.5792	8634
+-114.8838	46.0864	5660
+-116.3879	49.1738	5436
+-122.1877	45.195	7508
+-90.3432	40.8521	7158
+-118.1124	44.8031	7875
+-79.7961	30.476	5844
+-111.1665	35.8766	4735
+-111.8756	33.3896	6900
+-87.6598	37.7803	8566
+-81.5901	27.2684	9059
+-82.6852	28.9413	8424
+-82.2958	27.8517	9685
+-114.9337	34.9764	6832
+-107.9838	29.8077	6283
+-115.9942	34.5757	8068
+-116.4615	46.8808	7161
+-92.1034	37.7485	7279
+-117.5149	34.4406	9107
+-114.0477	30.858	5832
+-116.6289	45.2814	7306
+-116.2557	36.0825	7143
+-83.6578	33.367	3326
+-112.239	31.6809	7406
+-121.6772	47.4694	8154
+-126.3659	49.9387	4590
+-118.5784	29.9574	6092
+-118.048	45.5682	8645
+-114.5415	44.4681	4937
+-80.2302	30.4354	6184
+-126.4419	47.5622	5660
+-116.9407	45.7445	7790
+-123.1036	49.668	6630
+-109.8127	34.1423	6644
+-88.5848	34.3519	6089
+-121.2716	48.9447	6791
+-88.9308	35.7019	7603
+-92.1095	32.0882	2516
+-80.5921	27.9242	8140
+-94.4705	37.1568	4696
+-114.3548	30.5944	5928
+-92.0487	38.0184	7464
+-114.9215	34.3922	6964
+-121.0559	35.0925	5274
+-91.7188	41.3462	6278
+-92.2001	35.8587	5744
+-120.0292	43.6019	6033
+-90.2091	39.2268	8877
+-123.0214	46.1384	8687
+-116.1801	31.8226	8339
+-90.5939	37.3157	7862
+-116.1831	32.6201	8852
+-116.5736	31.9875	8729
+-84.4435	33.5663	3127
+-121.9126	47.7334	8233
+-116.5888	31.6938	8431
+-90.6534	37.5799	8130
+-90.2927	38.8321	9293
+-117.6033	36.4642	6969
+-125.1619	48.8267	6389
+-81.6049	25.6176	7389
+-113.645	34.0571	5798
+-81.6524	26.8844	8756
+-125.5453	46.5724	6668
+-114.8447	35.0553	6711
+-116.1952	34.497	8304
+-116.5765	31.1176	7808
+-82.3957	31.2069	5989
+-114.1667	37.7057	4379
+-126.0398	49.0709	5454
+-78.9725	27.7627	6316
+-82.6447	28.1706	9155
+-118.3413	33.9865	8355
+-119.9639	31.4207	6065
+-91.5706	42.7818	4894
+-90.6596	39.6317	8428
+-114.7469	32.817	7277
+-114.6365	34.0798	6668
+-87.9852	39.2183	7864
+-90.6219	39.6016	8471
+-87.5036	38.7241	7966
+-119.0518	32.4366	7389
+-116.6659	45.2242	7313
+-83.6937	28.6959	7838
+-91.4344	39.7701	7846
+-88.3708	41.9354	5363
+-113.3357	31.0027	6160
+-112.7359	35.7633	4286
+-118.9496	26.5143	2383
+-117.8844	32.6348	8709
+-86.0593	35.9365	6209
+-86.4587	36.4188	6870
+-88.994	38.1631	9201
+-122.0592	34.6577	4279
+-122.6654	46.8207	9303
+-116.1745	33.8149	8297
+-92.0985	42.9768	4508
+-119.7927	30.2152	5469
+-115.7475	45.1826	6405
+-90.0396	37.2946	8327
+-117.8413	32.6869	8767
+-86.7365	37.4077	7518
+-115.558	33.1114	8148
+-86.1565	37.7115	6885
+-89.9891	39.9807	8031
+-87.5855	42.2805	4569
+-116.5206	45.5005	7289
+-107.5878	30.3291	6203
+-121.8529	47.8656	8090
+-116.3135	33.2196	8897
+-90.0969	37.2319	8244
+-90.3417	36.8448	7821
+-83.5733	25.648	6994
+-87.5828	41.5636	5146
+-117.9232	33.8236	8746
+-91.8151	38.0698	7716
+-113.6044	35.1318	5397
+-112.8131	32.0384	6742
+-87.9769	39.3061	7772
+-119.958	45.9417	7479
+-118.8875	33.7574	7723
+-116.6255	32.2196	8986
+-88.406	35.984	7884
+-89.3334	35.845	7674
+-86.2175	35.3121	5920
+-89.3919	39.9059	7783
+-122.5596	48.342	8050
+-91.812	38.4653	7854
+-88.9178	40.6815	6811
+-89.6179	37.3636	8801
+-88.6743	36.1483	8108
+-120.4804	32.0154	5733
+-116.9497	32.919	9637
+-87.9533	37.5064	8885
+-91.0892	37.0787	7469
+-120.853	48.8225	6571
+-117.3854	46.4561	8238
+-93.1132	38.2902	6441
+-121.1583	48.8771	6766
+-80.8942	28.7761	8084
+-108.4798	30.1635	6944
+-122.1961	43.4027	5615
+-125.8215	47.1104	6393
+-80.0292	31.2306	5307
+-121.2498	31.922	4872
+-118.7234	29.6803	5743
+-84.7456	28.0798	6916
+-116.4551	32.2554	8906
+-80.2204	28.0713	7701
+-111.246	31.4221	8469
+-119.458	29.425	5059
+-81.9132	27.9399	9576
+-112.0017	30.6657	7411
+-82.2382	29.999	7364
+-119.0083	46.5811	8339
+-115.624	32.9857	8243
+-85.234	36.5466	5655
+-117.3215	31.7221	8469
+-80.5097	26.4308	7514
+-118.7993	46.2012	8704
+-112.889	30.9247	6614
+-82.5248	27.7271	9447
+-114.6176	46.7756	5313
+-112.853	28.6225	5261
+-118.0533	34.4937	8594
+-118.8268	36.7702	6196
+-117.8841	46.86	8351
+-124.0587	45.1891	7275
+-112.9738	32.9669	6244
+-116.3793	30.0166	6562
+-122.4965	49.3027	7002
+-118.5483	29.6446	5799
+-90.6656	33.8766	5057
+-118.7057	31.0333	6974
+-81.2574	28.7039	8441
+-89.9898	35.8502	7357
+-121.3553	46.3018	7759
+-116.8764	32.9302	9591
+-116.8887	37.6872	5639
+-89.4871	38.5116	8425
+-115.8709	49.6279	4734
+-112.1907	32.1264	7377
+-92.2427	37.6199	7079
+-111.0775	34.1996	6526
+-114.8435	34.5768	6851
+-123.0054	47.253	9271
+-92.0818	38.7064	7593
+-108.9252	34.1465	6305
+-81.6973	33.1255	3809
+-118.8125	49.0814	6054
+-119.2807	32.2638	7099
+-86.4309	30.337	4227
+-114.562	32.9072	7069
+-123.0696	49.0896	7266
+-83.0534	26.0617	7701
+-119.5152	49.0667	5858
+-117.3236	35.2438	8325
+-122.5777	47.2524	9133
+-90.6282	35.30	6436
+-89.4037	38.377	8744
+-120.4507	28.6756	3717
+-109.4231	32.1992	8283
+-107.5438	36.0783	3742
+-123.9305	35.7352	2062
+-93.458	37.6806	5916
+-125.2073	45.3758	6527
+-85.6082	38.412	6172
+-105.9133	32.6217	4554
+-115.2182	31.4373	7269
+-90.6503	38.2282	8793
+-87.5089	32.8614	4240
+-119.0032	48.7906	6311
+-117.0163	33.1967	9325
+-123.7155	46.2992	8448
+-120.8142	46.8121	7308
+-116.3798	48.7014	5847
+-87.8688	33.0849	4575
+-84.1369	37.6136	4618
+-90.7544	37.545	8065
+-116.2763	46.2601	7128
+-120.2862	37.7617	4389
+-88.7179	37.1871	9275
+-111.4332	35.6139	4947
+-116.0638	32.2516	8565
+-90.3513	36.9593	7867
+-85.6291	28.0795	5922
+-120.6071	34.8304	5815
+-119.3007	49.3345	5669
+-119.5459	46.0352	7922
+-112.4715	29.2223	6022
+-110.0835	33.9116	6937
+-88.0022	35.7021	7450
+-111.8594	30.5496	7477
+-88.1191	39.0439	8106
+-122.8383	47.9014	8577
+-112.0628	32.158	7499
+-90.4717	36.9164	7446
+-111.3984	34.2679	6344
+-87.8099	38.995	7977
+-90.3671	40.5496	7485
+-114.5024	33.7435	6816
+-89.633	38.245	8449
+-116.0046	34.5656	8083
+-117.1281	29.5659	6122
+-117.0476	33.4634	9026
+-118.1732	32.6956	8400
+-78.7783	29.6855	5520
+-118.5112	32.9294	8025
+-111.6742	33.7023	6757
+-113.1443	28.3963	4869
+-109.7162	32.9417	7857
+-119.9145	32.9387	6369
+-108.3315	31.75	7297
+-86.3755	35.9198	6491
+-117.3367	32.1439	8896
+-116.6375	33.3275	9075
+-122.7815	43.9762	6318
+-117.3204	47.4396	7513
+-84.7606	28.2997	6860
+-82.3901	25.1323	6898
+-109.5371	30.72	8201
+-87.8593	39.1439	7868
+-103.809	30.469	2302
+-82.2512	24.083	5723
+-81.2004	29.1153	8037
+-116.7889	45.3193	7475
+-116.2908	35.2016	7960
+-110.3582	30.9927	8833
+-118.5338	29.1011	5255
+-112.9945	33.7085	5784
+-118.1742	34.7048	8368
+-117.4307	32.2463	8933
+-117.0685	34.8083	8771
+-81.2956	27.885	8935
+-108.8816	30.2761	7357
+-91.0181	38.519	8696
+-114.1028	33.4014	6493
+-127.0023	46.7965	5095
+-120.0735	45.1733	7126
+-124.821	43.7519	5492
+-90.9647	40.3725	7567
+-114.0315	31.5522	6188
+-109.7093	30.5588	8174
+-109.5542	32.3507	8289
+-120.8882	32.7587	5312
+-111.2194	32.1594	8328
+-122.173	48.125	8104
+-117.6884	30.7454	7306
+-105.9873	31.7067	4763
+-85.6855	30.0014	5144
+-116.6779	31.7526	8523
+-121.016	43.5489	5301
+-118.8591	43.4735	6413
+-117.3403	33.0132	9282
+-84.9498	38.8903	5316
+-110.5387	34.181	6650
+-90.5401	37.5254	8094
+-113.0393	35.67	4631
+-121.6065	49.0754	6888
+-89.1899	39.4746	7920
+-109.9483	29.8169	7515
+-116.3848	33.2702	8930
+-88.7121	36.2101	8180
+-124.6957	48.1731	7229
+-121.2983	41.0261	3010
+-94.4522	38.9648	5033
+-113.9205	32.1913	6284
+-111.0406	34.2075	6529
+-109.9406	32.9252	7959
+-83.2663	27.0651	8385
+-122.7242	47.6092	8874
+-88.4933	36.5194	8492
+-120.4607	45.6936	6915
+-119.3951	30.5517	6049
+-117.1176	32.2662	9116
+-89.4945	36.7347	8488
+-79.1806	26.8775	6404
+-83.4932	27.0619	8160
+-119.2602	46.8672	7945
+-116.0289	32.7675	8705
+-115.8108	47.0946	6438
+-119.0933	31.8122	7129
+-86.4778	34.944	5823
+-117.2183	43.9783	6746
+-90.8807	40.8234	7126
+-87.9356	39.6603	7390
+-119.4849	44.9881	7527
+-116.2175	44.7522	6648
+-88.1364	39.6988	7426
+-117.7584	33.9121	8950
+-80.2619	29.1203	7279
+-124.8962	47.8527	7207
+-122.214	45.8894	8203
+-89.7315	36.4754	8095
+-116.1255	36.9435	6229
+-91.7595	35.7306	5848
+-119.9707	49.729	5022
+-106.6162	31.5499	5446
+-93.9849	39.3105	5496
+-86.227	26.6719	5098
+-109.0415	31.7701	8059
+-91.329	37.1178	7391
+-82.5483	28.615	8824
+-88.375	39.185	8054
+-118.2115	32.0909	8146
+-119.3953	29.9375	5551
+-117.6917	32.5532	8892
+-125.9573	49.3021	5379
+-84.7938	24.8687	5442
+-86.2407	39.4331	6355
+-90.6198	38.5155	9065
+-89.0835	35.496	7353
+-123.024	46.1057	8651
+-87.9732	38.7689	8290
+-117.1859	46.4785	8031
+-116.6042	31.2162	7923
+-111.0007	31.9657	8640
+-118.9282	42.8565	5758
+-89.5969	39.8809	7940
+-89.0367	36.7381	8730
+-119.4528	33.5626	7073
+-116.5858	32.1001	8848
+-90.6134	36.2445	7199
+-113.3777	34.797	5234
+-91.6671	40.1727	7359
+-120.4086	47.8917	6687
+-109.3092	30.7615	8051
+-116.7833	48.4222	6333
+-89.1916	39.6646	7805
+-108.0063	29.0889	5778
+-118.4594	46.4231	8871
+-117.3094	45.9353	8214
+-123.5105	44.9722	7315
+-119.134	45.8971	8334
+-122.7577	46.2505	8804
+-120.3245	45.4599	6995
+-110.447	31.9323	9076
+-89.6581	37.013	8575
+-121.8915	48.3427	7732
+-118.0252	30.2234	6629
+-82.1132	27.603	9706
+-119.7068	48.3196	6468
+-118.6587	48.408	6784
+-119.0084	32.4761	7444
+-116.7863	30.5988	7271
+-119.9707	48.7528	5931
+-83.4705	24.5216	5922
+-116.8218	32.211	9058
+-88.9846	38.6046	8733

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/images/sample.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/train17/dms/images/sample.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/uscities.dat
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/uscities.dat	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/storage/uscities.dat	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,744 @@
+-85.9500 32.9500
+-85.8500 33.5833
+-85.5000 32.6000
+-86.7500 33.5666
+-86.9833 34.6166
+-85.4500 31.3166
+-87.6666 34.8000
+-86.0 34.166
+-86.5833 34.7000
+-88.2500 30.6833
+-88.2500 30.6666
+-86.3666 32.3833
+-87.9833 32.3333
+-86.1000 33.4500
+-87.6166 33.2166
+-109.6000 31.4500
+-111.6666 35.1333
+-110.3333 31.5833
+-114.166 35.2000
+-110.9166 31.3500
+-112.166 33.4333
+-112.4333 34.6500
+-110.9333 32.1166
+-110.7333 35.166
+-114.6166 32.6500
+-89.9500 35.9500
+-92.8166 33.6000
+-92.8166 33.2166
+-94.1666 36.0
+-94.3666 35.3333
+-93.1000 34.4833
+-90.7000 35.8333
+-92.2333 34.7333
+-92.833 34.3000
+-93.9833 33.4500
+-119.500 35.4166
+-116.7833 34.8500
+-114.7166 33.6166
+-118.3500 34.2000
+-121.8500 39.8000
+-121.9833 37.9666
+-117.8666 34.833
+-124.2000 41.7666
+-118.1333 33.9333
+-116.9666 32.8166
+-115.6666 32.8166
+-117.833 33.1166
+-124.1000 40.9833
+-121.9333 38.2666
+-119.7166 36.7666
+-122.5000 38.666
+-117.7833 33.5500
+-121.9500 37.7000
+-120.5666 34.7166
+-118.1500 33.8166
+-118.4000 33.9333
+-118.2333 34.500
+-120.5666 37.3833
+-121.0 37.6500
+-121.9000 36.6000
+-122.2833 38.2166
+-114.6166 34.6000
+-122.3166 37.8166
+-117.4166 33.2333
+-117.6000 34.500
+-119.1833 34.2000
+-118.1000 34.6333
+-116.5333 33.8166
+-118.1500 34.1500
+-122.6333 38.2333
+-117.7500 34.500
+-122.3000 40.5166
+-117.1833 34.500
+-122.3500 37.9333
+-117.2500 33.9000
+-121.5000 38.5166
+-121.6000 36.6666
+-117.2666 34.1333
+-117.1666 32.7333
+-118.4666 34.2833
+-122.3833 37.6166
+-122.4333 37.7666
+-121.9333 37.3666
+-120.7166 35.3333
+-117.8666 33.7500
+-119.8333 34.4333
+-122.166 36.9833
+-120.4500 34.9000
+-118.4833 34.166
+-119.833 34.3500
+-122.8166 38.5166
+-121.2500 37.9000
+-123.2000 39.1500
+-119.3000 36.3333
+-122.6333 41.7166
+-121.6000 39.1333
+-105.8666 37.4500
+-105.2666 40.0
+-104.7166 38.8166
+-104.8666 39.7500
+-107.8833 37.2833
+-105.833 40.7500
+-108.5333 39.1166
+-104.6333 40.4333
+-103.5000 38.500
+-106.3000 39.2500
+-104.4833 38.3000
+-103.2000 40.6166
+-104.3333 37.2500
+-73.1833 41.1833
+-72.6500 41.7333
+-73.9166 41.3166
+-72.1000 41.3500
+-73.4166 41.1166
+-72.666 41.5333
+-73.666 41.5833
+-72.6833 41.9333
+-75.4666 39.1333
+-75.6000 39.6666
+-76.833 38.833
+-77.333 38.8500
+-80.6500 26.6500
+-80.5666 28.4833
+-81.500 29.1833
+-80.1500 26.666
+-81.8666 26.5833
+-80.3500 27.4666
+-82.2666 29.6833
+-81.7000 30.5000
+-81.7500 24.5500
+-81.9500 28.333
+-80.2666 25.8000
+-80.2833 25.7833
+-82.1333 29.1833
+-81.3833 28.5500
+-85.5833 30.666
+-87.2166 30.4166
+-81.3333 29.9666
+-82.13333 27.7666
+-81.2833 28.7666
+-82.5500 27.3833
+-84.3666 30.3833
+-82.5333 27.9666
+-80.1000 26.6833
+-84.833 31.6000
+-84.2333 32.500
+-83.3166 33.9500
+-84.4333 33.6500
+-81.9666 33.3666
+-81.4833 31.2500
+-84.9333 32.5166
+-84.9500 34.5666
+-82.9000 32.3333
+-83.6833 34.1833
+-84.2666 33.2166
+-85.666 33.166
+-83.6500 32.7000
+-84.5166 33.9166
+-81.2000 32.1333
+-83.2000 30.9666
+-82.4000 31.2500
+-116.2166 43.5666
+-113.7666 42.5333
+-116.8166 47.7666
+-112.666 43.5166
+-117.166 46.3833
+-116.9666 46.7333
+-115.9000 43.333
+-112.6000 42.9166
+-114.4833 42.4833
+-88.3333 41.7500
+-89.8500 38.5500
+-88.9500 40.4833
+-89.2500 37.7833
+-88.2833 40.333
+-87.7500 41.7833
+-87.9000 41.9833
+-87.6333 41.8833
+-87.6000 40.2000
+-88.8666 39.8333
+-89.4833 41.8333
+-88.2666 42.333
+-89.6166 42.3000
+-90.4333 40.9333
+-89.4000 38.8833
+-88.1666 41.5166
+-87.9166 41.833
+-89.1000 41.3166
+-90.6666 40.4666
+-90.5166 41.4500
+-88.8666 38.3166
+-89.6833 40.6666
+-91.2000 39.9500
+-88.1333 40.3000
+-89.500 42.3500
+-89.6666 39.8333
+-87.8833 42.3500
+-85.6166 40.1000
+-86.5000 38.8500
+-86.6166 39.1333
+-85.9000 39.2666
+-86.9000 40.500
+-87.5333 38.500
+-85.2000 41.0
+-85.8000 41.5333
+-87.2500 41.5333
+-85.5000 40.8833
+-86.2833 39.7333
+-85.7500 38.2833
+-86.500 40.4166
+-86.833 40.333
+-86.7166 41.6000
+-85.6833 40.4833
+-85.3500 40.1833
+-86.1500 40.6500
+-84.8333 39.7666
+-85.7833 39.5166
+-86.3166 41.7000
+-87.3000 39.4500
+-87.333 41.5166
+-87.5333 38.6833
+-93.8000 42.333
+-91.1166 40.7833
+-91.7000 41.8833
+-90.2166 41.8333
+-95.8166 41.3333
+-93.6500 41.5333
+-90.7000 42.4000
+-94.1833 42.5500
+-91.5500 41.6333
+-91.4000 40.4000
+-92.9333 42.666
+-93.3333 43.1500
+-93.333 41.6833
+-92.4500 41.1000
+-96.3833 42.4000
+-92.4000 42.5500
+-95.1166 39.5666
+-95.4833 37.6666
+-99.9666 37.7666
+-96.8333 37.8166
+-96.2000 38.3333
+-100.7333 37.9333
+-101.7000 39.3666
+-98.8666 38.3500
+-97.8666 38.666
+-100.9666 37.500
+-96.7666 39.500
+-95.5166 37.3333
+-98.8166 38.8666
+-97.6500 38.8000
+-95.6333 39.666
+-97.4166 37.6500
+-82.7333 38.5500
+-86.4666 35.9666
+-84.1000 36.9500
+-84.6666 39.500
+-87.4833 36.6666
+-84.6000 38.333
+-85.7333 38.1833
+-87.4833 37.3166
+-87.1666 37.7500
+-88.7666 37.666
+-92.3000 31.4000
+-91.1500 30.5333
+-89.8666 30.7833
+-90.6666 29.5166
+-92.0 30.2000
+-93.2166 30.1166
+-93.3000 32.6000
+-92.333 32.5166
+-93.833 31.7666
+-90.2500 29.9833
+-93.8166 32.4666
+-69.8000 44.3166
+-68.8333 44.8000
+-68.166 46.8666
+-70.2500 44.333
+-68.7000 45.6500
+-70.3166 43.6500
+-69.6666 44.5333
+-76.6666 39.1833
+-76.4166 39.3333
+-78.7666 39.6166
+-77.4166 39.4500
+-77.7333 39.7000
+-75.5000 38.3333
+-71.333 42.3666
+-71.6833 42.4000
+-71.1333 41.7166
+-71.4166 42.2833
+-70.6833 42.5833
+-72.666 42.500
+-71.1666 42.7000
+-71.3166 42.6500
+-70.9666 41.6833
+-73.3000 42.4333
+-72.5333 42.2000
+-71.666 41.9000
+-71.8666 42.2666
+-84.166 41.9166
+-83.4333 45.666
+-85.2500 42.3166
+-86.4333 42.1333
+-83.166 42.4166
+-87.833 45.7333
+-83.7333 42.9666
+-85.5166 42.8833
+-86.1000 42.7000
+-84.4666 42.2666
+-85.6000 42.2833
+-84.6000 42.7833
+-87.4000 46.5666
+-84.7666 43.5833
+-86.2333 43.1666
+-83.4166 42.6666
+-82.4166 42.9833
+-84.833 43.5333
+-84.3666 46.4666
+-85.5833 44.7500
+-83.5333 42.2333
+-93.3500 43.6500
+-95.3833 45.8666
+-94.9333 47.5166
+-94.1333 46.4000
+-92.1833 46.8333
+-93.2666 44.3000
+-96.666 46.2666
+-93.3833 48.5666
+-93.9833 44.1500
+-93.2166 44.8833
+-92.5000 43.9166
+-94.1833 45.5833
+-92.5500 47.5000
+-95.833 45.1166
+-91.6333 44.500
+-88.9166 30.4166
+-90.5666 34.2000
+-88.4500 33.6500
+-90.9833 33.4833
+-90.833 33.5000
+-89.2500 31.2666
+-90.833 32.3166
+-89.1666 31.6666
+-90.4666 31.2500
+-88.7500 32.3333
+-91.3833 31.5500
+-88.7666 34.2666
+-90.7833 32.4000
+-89.5833 37.2333
+-92.3666 38.9666
+-90.4000 37.7666
+-91.3500 39.7000
+-92.1833 38.5666
+-94.5000 37.1500
+-94.5833 39.1166
+-92.5500 40.1000
+-91.9000 39.1833
+-92.4333 39.4000
+-90.4166 36.7666
+-91.7166 37.9833
+-94.9166 39.7666
+-90.3833 38.7500
+-90.6333 38.6500
+-89.6000 36.8833
+-93.5500 38.7166
+-89.6000 36.8833
+-93.3833 37.2333
+-108.5333 45.8000
+-111.1500 45.7833
+-112.5000 45.9500
+-112.3666 48.6166
+-106.5333 48.4166
+-104.8000 47.1333
+-111.3666 47.4833
+-109.6666 48.5666
+-112.0 46.6000
+-114.2666 48.3000
+-109.4500 47.666
+-110.4333 45.7000
+-105.8666 46.4333
+-114.833 46.9166
+-96.7500 40.2666
+-103.833 42.8333
+-97.3333 41.4666
+-96.4833 41.4333
+-98.3166 40.9833
+-98.4333 40.6000
+-99.166 40.7333
+-96.7500 40.8500
+-100.6333 40.2000
+-97.4333 41.9833
+-100.6833 41.1333
+-95.9000 41.3000
+-103.6000 41.8666
+-103.1000 41.2166
+-119.7666 39.1666
+-115.7833 40.8333
+-114.8500 39.2833
+-115.1666 36.833
+-118.5500 40.666
+-119.7833 39.5000
+-119.7833 39.5000
+-117.833 38.666
+-117.8000 40.9000
+-71.166 44.500
+-72.333 43.333
+-71.5000 43.2000
+-72.2833 42.9166
+-71.500 43.500
+-71.4333 42.9333
+-70.8166 43.666
+-74.4333 39.3833
+-74.166 40.3166
+-74.1666 40.7000
+-74.4333 40.4833
+-74.1500 40.9000
+-75.1833 40.6833
+-74.7666 40.2166
+-75.0 39.4833
+-106.1000 32.8500
+-106.6166 35.500
+-104.3833 32.7666
+-104.2666 32.3333
+-103.3166 34.3833
+-108.2333 36.7333
+-108.7833 35.5166
+-107.9000 35.1666
+-103.2166 32.7500
+-106.9166 32.3000
+-106.3166 35.8666
+-104.5000 36.7500
+-104.5333 33.3000
+-106.833 35.6166
+-108.1666 32.6333
+-106.8833 34.500
+-103.6000 35.1833
+-73.8000 42.7500
+-73.7500 42.6500
+-76.5333 42.9000
+-78.1833 43.0
+-75.9833 42.2166
+-78.7333 42.9333
+-76.1833 42.6000
+-79.2666 42.4833
+-76.9000 42.1666
+-76.9000 42.7500
+-73.6166 43.3333
+-74.3500 43.333
+-77.7000 42.3500
+-76.4833 42.4500
+-79.2333 42.1166
+-74.0 41.9333
+-79.2500 43.1500
+-74.8500 44.9333
+-74.1000 41.5000
+-73.9666 40.7833
+-73.7833 40.6500
+-73.9000 40.7666
+-79.9500 43.1000
+-78.3666 42.2333
+-75.666 42.5166
+-76.5500 43.4666
+-73.4666 44.6500
+-73.9166 41.6333
+-77.6666 43.1166
+-75.4166 43.2333
+-73.9500 42.8500
+-72.6333 40.8500
+-76.1166 43.1166
+-75.3833 43.1500
+-76.166 43.9833
+-82.5333 35.4333
+-80.9333 35.2166
+-78.7833 35.8666
+-76.1833 36.2666
+-79.166 35.1666
+-77.9666 35.3333
+-79.9500 36.833
+-77.4166 35.6166
+-78.4166 36.3666
+-81.3833 35.7500
+-77.6166 34.8333
+-79.666 34.6166
+-77.500 35.833
+-78.7833 35.8666
+-77.8000 35.9666
+-77.9166 34.2666
+-80.2166 36.1333
+-100.7500 46.7666
+-98.9000 48.1166
+-102.8000 46.8000
+-96.8000 46.9000
+-97.4000 47.9500
+-98.6833 46.9166
+-101.3500 48.4166
+-103.5833 48.1500
+-81.4333 40.9166
+-80.8000 41.8500
+-82.1000 39.3333
+-83.6333 41.3833
+-81.5833 40.666
+-83.0 39.3500
+-84.5166 39.1500
+-81.8500 41.4000
+-82.8833 40.0
+-84.2166 39.9000
+-84.3833 41.2833
+-83.6666 41.166
+-83.1166 41.3333
+-84.5833 39.4000
+-82.6333 39.7333
+-84.333 40.7000
+-82.5166 40.8166
+-83.1666 40.6000
+-84.4166 39.5166
+-82.4666 40.166
+-82.6166 41.2666
+-82.9166 38.7500
+-82.7166 41.4500
+-83.8333 39.8333
+-80.6333 40.3833
+-83.8000 41.6000
+-80.8500 41.3333
+-81.9166 40.7833
+-80.6666 41.2666
+-81.9000 39.9500
+-96.6833 34.7833
+-99.2666 34.6500
+-97.166 34.3000
+-96.0 36.7500
+-97.9166 35.500
+-97.9166 36.3500
+-98.4166 34.5666
+-95.9166 34.8333
+-95.3666 35.6666
+-97.4833 35.2500
+-97.6000 35.4000
+-97.1000 36.7333
+-96.6666 35.2333
+-97.833 36.1666
+-95.9000 36.2000
+-99.5166 36.6000
+-123.1166 44.6333
+-123.8833 46.1500
+-117.8166 44.8333
+-121.3166 44.666
+-123.2833 44.5000
+-123.2166 44.1166
+-123.3166 42.4333
+-121.7333 42.1500
+-122.8666 42.3666
+-118.8500 45.6833
+-122.6000 45.6000
+-122.6666 45.5333
+-123.3666 43.2333
+-123.166 44.9166
+-121.2000 45.6000
+-75.4333 40.6500
+-78.3166 40.3000
+-79.9000 40.8666
+-77.6333 39.9333
+-80.1833 42.833
+-76.7666 40.2000
+-78.8333 40.3166
+-76.3000 40.1166
+-80.1666 41.6333
+-80.3666 41.166
+-75.2500 39.8833
+-80.2166 40.5000
+-80.0 40.4500
+-75.6333 40.3333
+-75.7333 41.3333
+-77.8666 40.8000
+-76.7666 40.8833
+-79.7166 39.9166
+-79.1333 41.8500
+-75.6333 39.9666
+-76.9166 41.2500
+-76.7500 39.9166
+-71.3333 41.5000
+-71.4333 41.7333
+-82.7166 34.5000
+-80.333 32.9000
+-79.9666 32.9000
+-81.1166 33.9500
+-79.7166 34.1833
+-79.2833 33.3833
+-82.2166 34.9000
+-82.1166 34.1666
+-80.8666 33.5000
+-80.9666 34.9833
+-82.0 34.9666
+-80.3666 33.9000
+-98.4333 45.4500
+-96.8000 44.3000
+-98.2166 44.3833
+-98.166 43.6833
+-100.2833 44.3833
+-103.666 44.500
+-96.7333 43.5666
+-97.1500 44.9166
+-97.3833 42.9166
+-84.5833 35.4333
+-82.4000 36.4833
+-85.2000 35.333
+-87.3666 36.5500
+-87.333 35.6333
+-89.4000 36.166
+-82.8333 36.666
+-88.9166 35.6000
+-83.9833 35.8166
+-90.0 35.500
+-86.4666 34.9166
+-86.6833 36.1166
+-86.833 35.3833
+-99.6833 32.4166
+-98.333 27.7333
+-100.7000 35.2333
+-97.7000 30.3000
+-95.9666 29.0
+-94.166 29.9500
+-97.6666 28.3666
+-101.4500 32.3000
+-97.4333 25.9000
+-98.9500 31.8000
+-96.5500 30.6666
+-97.5000 27.7666
+-96.4666 32.833
+-96.8500 32.8500
+-100.7833 29.3666
+-97.1000 33.2000
+-100.5333 28.8666
+-106.4000 31.8000
+-97.500 32.8333
+-94.8000 29.3000
+-96.500 33.666
+-97.6500 26.2333
+-95.3500 29.9666
+-95.3666 29.9833
+-95.5500 30.7166
+-97.6833 31.833
+-101.9333 32.7000
+-99.4500 27.5333
+-94.7333 32.4666
+-101.8166 33.6500
+-94.8000 31.4166
+-98.2166 26.2000
+-102.1833 31.9500
+-98.666 32.7833
+-95.6333 31.7833
+-100.9833 35.5333
+-103.5000 31.4166
+-101.7000 34.1833
+-94.166 29.9500
+-100.4000 31.4333
+-98.4666 29.5333
+-96.6666 33.7166
+-100.9166 32.7166
+-97.3500 31.1000
+-95.2666 32.3500
+-99.3000 34.1666
+-96.9166 28.8500
+-97.2166 31.6166
+-98.4833 33.9666
+-113.1000 37.7000
+-111.8166 41.7500
+-109.6000 38.6000
+-112.166 41.2000
+-110.8333 39.6166
+-111.7166 40.2166
+-112.833 38.7666
+-113.5166 37.333
+-111.9666 40.7666
+-109.5166 40.4500
+-72.5166 44.2000
+-73.1500 44.4666
+-72.9666 43.6000
+-78.5166 38.333
+-79.3333 36.5666
+-77.4666 38.3000
+-78.9000 38.4500
+-79.2000 37.3333
+-76.2000 36.9000
+-77.5166 37.1833
+-77.3333 37.5000
+-79.9666 37.3166
+-78.9000 38.2666
+-78.1666 39.2000
+-123.8166 46.9833
+-122.5333 48.8000
+-122.6666 47.5666
+-120.5166 47.333
+-122.2833 47.9166
+-119.1333 46.2166
+-122.9333 46.1666
+-119.3166 47.2000
+-122.9000 46.9666
+-123.4333 48.1166
+-122.3000 47.5333
+-122.3000 47.6500
+-122.3000 47.4500
+-117.5166 47.6333
+-122.5000 47.2500
+-118.2833 46.1000
+-120.3166 47.4166
+-120.5333 46.5666
+-81.1166 37.7833
+-81.2166 37.3000
+-81.6000 38.3666
+-80.3500 39.2666
+-79.8500 38.8833
+-82.5000 38.4166
+-77.9833 39.4000
+-79.9166 39.6500
+-81.5666 39.2666
+-80.7000 40.1166
+-88.3833 44.2500
+-90.9666 46.5666
+-89.333 42.5000
+-91.4833 44.8666
+-88.4500 43.8000
+-88.1333 44.4833
+-91.2500 43.8666
+-89.3333 43.1333
+-87.6833 44.1000
+-87.6333 45.1000
+-87.9000 42.9500
+-87.8500 42.7166
+-87.7166 43.7500
+-89.5666 44.5000
+-88.2333 43.166
+-89.6166 44.9166
+-106.4666 42.9166
+-104.8166 41.1500
+-109.666 44.5500
+-110.9500 41.2666
+-108.7333 42.8166
+-105.6833 41.3166
+-104.2166 43.8500
+-107.2000 41.8000
+-109.0 41.6000
+-106.9666 44.7666
+-104.2166 42.833

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-0.vm
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-0.vm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-0.vm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,120 @@
+#if( !$gisolve_portal_error_info.equals("") )
+  <pre><p><font face="Arial Narrow" color="red">$gisolve_portal_error_info</font><p></pre>
+  <hr>
+#end
+
+<p><b><font color="#000080" face="MS Serif" size="4"><u>Spatial Interpolation: Dynamically Memorized Strategy</u></font></b></p>
+
+<form name="dms0001" method="POST" action="$actionURL">
+  <input type="hidden" name="gisolve_dms_job_list" value="$gisolve_dms_job_list">
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+    <tr>
+      <td width="20%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Dataset</font></b></u></td>
+      <td width="8%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Ks</font></b></u></td>
+      <td width="14%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Resolution</font></b></u></td>
+      <td width="20%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Grid site</font></b></u></td>
+      <td width="13%" style="border-style: groove; border-width: medium" bgcolor="#000066" height="26">
+      <u><b><font face="Arial Narrow" color="#FFFFFF">Status</font></b></u></td>
+    </tr>
+    #if( $gisolve_dms_job_list )
+      #foreach( $dmsitem in $gisolve_dms_job_list )
+	    <tr>
+	      <td width="20%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      #if( $gisolve_dms_cur_sid && ( $dmsitem.getId() == $gisolve_dms_cur_sid ) )
+		<input type="radio" name="gisolve_dms_id" value="$dmsitem.getId()" checked>
+	      #else
+		<input type="radio" name="gisolve_dms_id" value="$dmsitem.getId()" >
+	      #end
+	      #if( $dmsitem.getDataset() )
+		<font face="MS Sans Serif" color="#000080">$dmsitem.getDataset()</font></td>
+	      #else
+		<font face="MS Sans Serif" color="#000080">none</font></td>
+	      #end
+	      <td width="8%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getKnum()</font></td>
+	      <td width="14%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getN() x $dmsitem.getN()</font></td>
+	      <td width="20%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">$dmsitem.getSite()</font></td>
+	      <td width="13%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <b><font face="MS Sans Serif" color="#800000">$dmsitem.getStatus()</font></b></td>
+	    </tr>
+      #end
+    #end
+  </table>
+  #if( $gisolve_dms_status_info )
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <tr>
+  	<td width="100%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#FFFFFF">
+  	<b><font face="Arial Narrow" color="darkgreen">$!gisolve_dms_status_info</font></b></td>
+  </tr>
+  </table>
+  #end
+	<hr>
+  <table border="0"><tr>
+  <td width="50%" align="left">   <input type="submit" value="Next" name="actionMethod_doDms_submit">   </td>
+  <td width="50%" align="right"> <input type="submit" value="Delete" name="actionMethod_doDms_delete"> </td>
+  </tr></table>
+  <p>&nbsp;</p>
+  <hr>
+  <p><b><font color="#000080" face="MS Serif" size="3"><u>Create a DMS job:</u></font></b></p>
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <!-- dataset selection -->
+  <tr>
+  	<td width="40%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Dataset: </font>
+	      <select name="gisolve_dms_parm_dataset">
+	      #foreach( $dataitem in $gisolve_dms_parm_datalist )
+		<option value="$dataitem">$!dataitem</option>
+	      #end
+	      </select>
+	      <input type="submit" value="View Dataset" name="actionMethod_doDms_view_dataset">
+	</td>
+<!--
+	<td width="60%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Resolution (NxN): </font>
+	      <input type="radio" name="gisolve_dms_parm_globus" value="GT2" checked> GT2
+	      <input type="radio" name="gisolve_dms_parm_globus" value="GT4" > GT4
+	</td>
+-->
+  </tr>
+  <tr>
+  	<td width="40%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Resolution (NxN): </font>
+	      <input type="text" name="gisolve_dms_parm_r" value="500" size=4>
+	</td>
+  	<td width="60%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">K-neighbor: </font>
+	      <input type="text" name="gisolve_dms_parm_k" value="20" size=2>
+	</td>
+  </tr>
+  </table>
+  <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 2px" bordercolor="#FFFFF0" width="100%" height="54">
+  <tr>
+  	<td width="100%" style="border-style: groove; border-width: 1px" height="24" bgcolor="#99CCFF">
+	      <font face="MS Sans Serif" color="#000080">Grid site selection: </font>
+	      #foreach( $dmssite in $gisolve_dms_site_list )
+	      #if( $dmssite.equals($gisolve_dms_site_list.get(0)) )
+	      <input type="radio" name="gisolve_dms_parm_site" value="$dmssite" checked> $!dmssite
+	      #else
+	      <input type="radio" name="gisolve_dms_parm_site" value="$dmssite" > $!dmssite
+	      #end
+	      #end
+	</td>
+  </tr>
+  </table>
+  <input type="submit" value="Create" name="actionMethod_doDms_create">
+</form>
+<hr>
+#if( $gisolve_dms_viz_vieworig )
+<p><b><font color="#000080" face="MS Serif" size="3">Original Dataset: </font>
+<a href="$gisolve_dms_viz_datasetlink" target="new">Download</a>
+</b></p>
+<p><b><font color="#000080" face="MS Serif" size="3"><u>Plot: </u></font>
+</b></p>
+<img src="$gisolve_dms_viz_datasetimagelink" width="800" height="512">
+#end

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-1.vm
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-1.vm	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/templates/dms-1.vm	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+#if( !$gisolve_portal_error_info.equals("") )
+  <pre><p><font face="Arial Narrow" color="red">$gisolve_portal_error_info</font><p></pre>
+  <hr>
+#end
+<form name="dms0002" method="POST" action="$actionURL">
+<input type="submit" value="Return" name="actionMethod_doDms_return">
+</form>
+<hr>
+<p><b><font color="#000080" face="MS Serif" size="3">Dataset: $gisolve_dms_viz_dataset , Jod ID: $gisolve_dms_viz_jobid </font></b></p>
+#set( $vizcount = 0)
+#foreach( $imagelink in $$gisolve_dms_viz_imagelink )
+#set( $datalink = $gisolve_dms_viz_resultlink.get($vizcount) )
+	<p><b><font color="#000080" face="MS Serif" size="3">Result dataset (K= $gisolve_dms_viz_klist.get($vizcount) ): </font>
+	<a href="$!datalink" target="new">Download</a>
+	</b></p>
+<table border="0">
+<tr>
+<td align="right">Zmax($!gisolve_dms_viz_zmax)</td>
+<td><img src="$!gisolve_dms_viz_legendlink"</td>
+<td align="left">Zmin($!gisolve_dms_viz_zmin)</td>
+</tr>
+</table>
+	<p><b><font color="#000080" face="MS Serif" size="3"><u>Visualization: </u></font>
+	</b></p>
+	<img src="$!imagelink" width="800" height="512">
+	<hr>
+	#set( $vizcount = $vizcount + 1 )
+#end
+
+
+
+

Added: cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/velocity.properties
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/velocity.properties	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/simplegrid/webapp/velocity.properties	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,2 @@
+file.resource.loader.path = templates
+runtime.log = velocity.log

Added: cs/trunk/cigtg-dev/SimpleGrid/test2/result2
===================================================================
--- cs/trunk/cigtg-dev/SimpleGrid/test2/result2	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/SimpleGrid/test2/result2	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,250001 @@
+HEADER=500 500 -128.00 24.00 -65.00 50.00 0 10000
+-128 50 3707
+-127.874 50 3565
+-127.748 50 3459
+-127.622 50 3612
+-127.496 50 3893
+-127.37 50 4088
+-127.244 50 4191
+-127.118 50 4250
+-126.992 50 4305
+-126.866 50 4371
+-126.74 50 4407
+-126.614 50 4511
+-126.488 50 4593
+-126.362 50 4677
+-126.236 50 4795
+-126.11 50 4892
+-125.984 50 5016
+-125.858 50 5209
+-125.732 50 5337
+-125.606 50 5478
+-125.48 50 5538
+-125.354 50 5602
+-125.228 50 5631
+-125.102 50 5708
+-124.976 50 5791
+-124.85 50 5873
+-124.724 50 5923
+-124.598 50 5949
+-124.472 50 5983
+-124.346 50 6040
+-124.22 50 6109
+-124.094 50 6168
+-123.968 50 6199
+-123.842 50 6179
+-123.716 50 6244
+-123.59 50 6300
+-123.464 50 6310
+-123.338 50 6291
+-123.212 50 6264
+-123.086 50 6333
+-122.96 50 6274
+-122.834 50 6321
+-122.708 50 6335
+-122.582 50 6310
+-122.456 50 6242
+-122.33 50 6232
+-122.204 50 6176
+-122.078 50 6223
+-121.952 50 6198
+-121.826 50 6170
+-121.7 50 6151
+-121.574 50 6106
+-121.448 50 6021
+-121.322 50 5909
+-121.196 50 5813
+-121.07 50 5723
+-120.944 50 5701
+-120.818 50 5566
+-120.692 50 5485
+-120.566 50 5374
+-120.44 50 5321
+-120.314 50 5203
+-120.188 50 5103
+-120.062 50 4820
+-119.936 50 4998
+-119.81 50 5063
+-119.684 50 5070
+-119.558 50 5064
+-119.432 50 5012
+-119.306 50 5057
+-119.18 50 5123
+-119.054 50 5104
+-118.928 50 5156
+-118.802 50 5186
+-118.676 50 5204
+-118.55 50 5199
+-118.424 50 5152
+-118.298 50 5203
+-118.172 50 5212
+-118.046 50 5213
+-117.92 50 5209
+-117.794 50 5182
+-117.668 50 5124
+-117.542 50 5146
+-117.416 50 5122
+-117.29 50 5111
+-117.164 50 5082
+-117.038 50 5022
+-116.912 50 4962
+-116.786 50 4911
+-116.66 50 4851
+-116.534 50 4761
+-116.408 50 4649
+-116.282 50 4678
+-116.156 50 4612
+-116.03 50 4480
+-115.904 50 4543
+-115.778 50 4528
+-115.652 50 4422
+-115.526 50 4198
+-115.4 50 4078
+-115.274 50 4149
+-115.148 50 4180
+-115.022 50 4159
+-114.896 50 4138
+-114.77 50 4074
+-114.644 50 4057
+-114.518 50 4021
+-114.392 50 3965
+-114.266 50 3886
+-114.14 50 3796
+-114.014 50 3688
+-113.888 50 3532
+-113.762 50 3409
+-113.636 50 3308
+-113.51 50 3230
+-113.384 50 3156
+-113.258 50 3132
+-113.132 50 3135
+-113.006 50 3159
+-112.88 50 3196
+-112.754 50 3210
+-112.628 50 3245
+-112.502 50 3271
+-112.376 50 3302
+-112.25 50 3335
+-112.124 50 3358
+-111.998 50 3384
+-111.872 50 3394
+-111.746 50 3394
+-111.62 50 3415
+-111.494 50 3433
+-111.368 50 3449
+-111.242 50 3382
+-111.116 50 3378
+-110.99 50 3385
+-110.864 50 3394
+-110.738 50 3383
+-110.612 50 3376
+-110.486 50 3312
+-110.36 50 3317
+-110.234 50 3322
+-110.108 50 3327
+-109.982 50 3331
+-109.856 50 3336
+-109.73 50 3340
+-109.604 50 3344
+-109.478 50 3347
+-109.352 50 3351
+-109.226 50 3339
+-109.1 50 3292
+-108.974 50 3279
+-108.848 50 3282
+-108.722 50 3284
+-108.596 50 3287
+-108.47 50 3290
+-108.344 50 3292
+-108.218 50 3272
+-108.092 50 3275
+-107.966 50 3278
+-107.84 50 3281
+-107.714 50 3253
+-107.588 50 3256
+-107.462 50 3259
+-107.336 50 3262
+-107.21 50 3249
+-107.084 50 3252
+-106.958 50 3254
+-106.832 50 3257
+-106.706 50 3251
+-106.58 50 3254
+-106.454 50 3257
+-106.328 50 3259
+-106.202 50 3250
+-106.076 50 3253
+-105.95 50 3256
+-105.824 50 3258
+-105.698 50 3261
+-105.572 50 3264
+-105.446 50 3266
+-105.32 50 3269
+-105.194 50 3271
+-105.068 50 3274
+-104.942 50 3276
+-104.816 50 3214
+-104.69 50 3199
+-104.564 50 3201
+-104.438 50 3204
+-104.312 50 3206
+-104.186 50 3208
+-104.06 50 3180
+-103.934 50 3174
+-103.808 50 3176
+-103.682 50 3178
+-103.556 50 3156
+-103.43 50 3158
+-103.304 50 3160
+-103.178 50 3162
+-103.052 50 3164
+-102.926 50 3166
+-102.8 50 3168
+-102.674 50 3170
+-102.548 50 3172
+-102.422 50 3173
+-102.296 50 3175
+-102.17 50 3085
+-102.044 50 3070
+-101.918 50 3070
+-101.792 50 3069
+-101.666 50 3068
+-101.54 50 3029
+-101.414 50 3028
+-101.288 50 3027
+-101.162 50 3026
+-101.036 50 2891
+-100.91 50 2888
+-100.784 50 2885
+-100.658 50 2881
+-100.532 50 2878
+-100.406 50 2847
+-100.28 50 2843
+-100.154 50 2860
+-100.028 50 2761
+-99.902 50 2803
+-99.776 50 2800
+-99.65 50 2806
+-99.524 50 2720
+-99.398 50 2650
+-99.272 50 2649
+-99.146 50 2524
+-99.02 50 2557
+-98.894 50 2502
+-98.768 50 2501
+-98.642 50 2564
+-98.516 50 2777
+-98.39 50 2734
+-98.264 50 2711
+-98.138 50 2685
+-98.012 50 2681
+-97.886 50 2681
+-97.76 50 2696
+-97.634 50 2695
+-97.508 50 2793
+-97.382 50 2792
+-97.256 50 2790
+-97.13 50 2789
+-97.004 50 2787
+-96.878 50 2786
+-96.752 50 2785
+-96.626 50 2783
+-96.5 50 2782
+-96.374 50 2780
+-96.248 50 2779
+-96.122 50 2777
+-95.996 50 2776
+-95.87 50 2775
+-95.744 50 2773
+-95.618 50 2772
+-95.492 50 2770
+-95.366 50 2769
+-95.24 50 2767
+-95.114 50 2766
+-94.988 50 2764
+-94.862 50 2763
+-94.736 50 2761
+-94.61 50 2760
+-94.484 50 2758
+-94.358 50 2757
+-94.232 50 2756
+-94.106 50 2754
+-93.98 50 2753
+-93.854 50 2751
+-93.728 50 2750
+-93.602 50 2749
+-93.476 50 2747
+-93.35 50 2746
+-93.224 50 2745
+-93.098 50 2743
+-92.972 50 2742
+-92.846 50 2741
+-92.72 50 2740
+-92.594 50 2738
+-92.468 50 2737
+-92.342 50 2736
+-92.216 50 2735
+-92.09 50 2734
+-91.964 50 2733
+-91.838 50 2732
+-91.712 50 2731
+-91.586 50 2730
+-91.46 50 2729
+-91.334 50 2728
+-91.208 50 2727
+-91.082 50 2727
+-90.956 50 2726
+-90.83 50 2725
+-90.704 50 2724
+-90.578 50 2676
+-90.452 50 2675
+-90.326 50 2675
+-90.2 50 2674
+-90.074 50 2673
+-89.948 50 2673
+-89.822 50 2672
+-89.696 50 2672
+-89.57 50 2671
+-89.444 50 2671
+-89.318 50 2671
+-89.192 50 2670
+-89.066 50 2670
+-88.94 50 2670
+-88.814 50 2669
+-88.688 50 2669
+-88.562 50 2669
+-88.436 50 2669
+-88.31 50 2669
+-88.184 50 2668
+-88.058 50 2668
+-87.932 50 2668
+-87.806 50 2668
+-87.68 50 2668
+-87.554 50 2668
+-87.428 50 2668
+-87.302 50 2668
+-87.176 50 2668
+-87.05 50 2668
+-86.924 50 2668
+-86.798 50 2668
+-86.672 50 2668
+-86.546 50 2669
+-86.42 50 2669
+-86.294 50 2669
+-86.168 50 2669
+-86.042 50 2669
+-85.916 50 2669
+-85.79 50 2670
+-85.664 50 2670
+-85.538 50 2670
+-85.412 50 2670
+-85.286 50 2671
+-85.16 50 2671
+-85.034 50 2671
+-84.908 50 2671
+-84.782 50 2672
+-84.656 50 2672
+-84.53 50 2672
+-84.404 50 2672
+-84.278 50 2673
+-84.152 50 2673
+-84.026 50 2673
+-83.9 50 2674
+-83.774 50 2674
+-83.648 50 2674
+-83.522 50 2675
+-83.396 50 2675
+-83.27 50 2675
+-83.144 50 2676
+-83.018 50 2676
+-82.892 50 2677
+-82.766 50 2677
+-82.64 50 2677
+-82.514 50 2678
+-82.388 50 2678
+-82.262 50 2678
+-82.136 50 2679
+-82.01 50 2679
+-81.884 50 2680
+-81.758 50 2680
+-81.632 50 2680
+-81.506 50 2681
+-81.38 50 2681
+-81.254 50 2682
+-81.128 50 2682
+-81.002 50 2683
+-80.876 50 2683
+-80.75 50 2683
+-80.624 50 2684
+-80.498 50 2684
+-80.372 50 2685
+-80.246 50 2685
+-80.12 50 2686
+-79.994 50 2686
+-79.868 50 2686
+-79.742 50 2687
+-79.616 50 2687
+-79.49 50 2688
+-79.364 50 2688
+-79.238 50 2689
+-79.112 50 2689
+-78.986 50 2701
+-78.86 50 2701
+-78.734 50 2702
+-78.608 50 2702
+-78.482 50 2585
+-78.356 50 2586
+-78.23 50 2586
+-78.104 50 2586
+-77.978 50 2587
+-77.852 50 2587
+-77.726 50 2587
+-77.6 50 2587
+-77.474 50 2588
+-77.348 50 2588
+-77.222 50 2595
+-77.096 50 2602
+-76.97 50 2602
+-76.844 50 2603
+-76.718 50 2603
+-76.592 50 2621
+-76.466 50 2622
+-76.34 50 2622
+-76.214 50 2622
+-76.088 50 2625
+-75.962 50 2757
+-75.836 50 2757
+-75.71 50 2758
+-75.584 50 2765
+-75.458 50 2765
+-75.332 50 2765
+-75.206 50 2785
+-75.08 50 2763
+-74.954 50 2779
+-74.828 50 2779
+-74.702 50 2773
+-74.576 50 2774
+-74.45 50 2774
+-74.324 50 2774
+-74.198 50 2776
+-74.072 50 2868
+-73.946 50 2868
+-73.82 50 2868
+-73.694 50 2869
+-73.568 50 2889
+-73.442 50 2890
+-73.316 50 2866
+-73.19 50 2867
+-73.064 50 2867
+-72.938 50 2867
+-72.812 50 2836
+-72.686 50 2846
+-72.56 50 2847
+-72.434 50 2978
+-72.308 50 2935
+-72.182 50 2935
+-72.056 50 3082
+-71.93 50 3078
+-71.804 50 3036
+-71.678 50 3105
+-71.552 50 2986
+-71.426 50 3020
+-71.3 50 3078
+-71.174 50 2968
+-71.048 50 2976
+-70.922 50 2875
+-70.796 50 2871
+-70.67 50 2889
+-70.544 50 2857
+-70.418 50 2858
+-70.292 50 2858
+-70.166 50 2792
+-70.04 50 2840
+-69.914 50 2831
+-69.788 50 2818
+-69.662 50 2819
+-69.536 50 2820
+-69.41 50 2820
+-69.284 50 2755
+-69.158 50 2749
+-69.032 50 2750
+-68.906 50 2750
+-68.78 50 2751
+-68.654 50 2746
+-68.528 50 2688
+-68.402 50 2795
+-68.276 50 2790
+-68.15 50 2796
+-68.024 50 2796
+-67.898 50 2797
+-67.772 50 2797
+-67.646 50 2824
+-67.52 50 2800
+-67.394 50 2870
+-67.268 50 2870
+-67.142 50 2860
+-67.016 50 2868
+-66.89 50 2868
+-66.764 50 2869
+-66.638 50 2855
+-66.512 50 2972
+-66.386 50 2973
+-66.26 50 2973
+-66.134 50 2974
+-66.008 50 3073
+-65.882 50 3023
+-65.756 50 3170
+-65.63 50 3170
+-65.504 50 3131
+-65.378 50 3131
+-65.252 50 3131
+-65.126 50 3131
+-128 49.948 3703
+-127.874 49.948 3634
+-127.748 49.948 3589
+-127.622 49.948 3724
+-127.496 49.948 3951
+-127.37 49.948 4106
+-127.244 49.948 4177
+-127.118 49.948 4209
+-126.992 49.948 4238
+-126.866 49.948 4328
+-126.74 49.948 4346
+-126.614 49.948 4497
+-126.488 49.948 4590
+-126.362 49.948 4666
+-126.236 49.948 4793
+-126.11 49.948 4895
+-125.984 49.948 5034
+-125.858 49.948 5185
+-125.732 49.948 5368
+-125.606 49.948 5449
+-125.48 49.948 5509
+-125.354 49.948 5576
+-125.228 49.948 5558
+-125.102 49.948 5670
+-124.976 49.948 5775
+-124.85 49.948 5854
+-124.724 49.948 5915
+-124.598 49.948 5907
+-124.472 49.948 5932
+-124.346 49.948 6049
+-124.22 49.948 6123
+-124.094 49.948 6182
+-123.968 49.948 6193
+-123.842 49.948 6225
+-123.716 49.948 6268
+-123.59 49.948 6316
+-123.464 49.948 6304
+-123.338 49.948 6331
+-123.212 49.948 6347
+-123.086 49.948 6360
+-122.96 49.948 6383
+-122.834 49.948 6361
+-122.708 49.948 6330
+-122.582 49.948 6346
+-122.456 49.948 6307
+-122.33 49.948 6299
+-122.204 49.948 6243
+-122.078 49.948 6234
+-121.952 49.948 6149
+-121.826 49.948 6129
+-121.7 49.948 6149
+-121.574 49.948 6104
+-121.448 49.948 6038
+-121.322 49.948 5930
+-121.196 49.948 5837
+-121.07 49.948 5772
+-120.944 49.948 5728
+-120.818 49.948 5621
+-120.692 49.948 5488
+-120.566 49.948 5430
+-120.44 49.948 5368
+-120.314 49.948 5264
+-120.188 49.948 5158
+-120.062 49.948 5060
+-119.936 49.948 5065
+-119.81 49.948 5071
+-119.684 49.948 5061
+-119.558 49.948 5077
+-119.432 49.948 5089
+-119.306 49.948 5122
+-119.18 49.948 5148
+-119.054 49.948 5159
+-118.928 49.948 5144
+-118.802 49.948 5198
+-118.676 49.948 5229
+-118.55 49.948 5222
+-118.424 49.948 5198
+-118.298 49.948 5192
+-118.172 49.948 5202
+-118.046 49.948 5200
+-117.92 49.948 5216
+-117.794 49.948 5178
+-117.668 49.948 5180
+-117.542 49.948 5144
+-117.416 49.948 5081
+-117.29 49.948 5107
+-117.164 49.948 5081
+-117.038 49.948 5027
+-116.912 49.948 4970
+-116.786 49.948 4929
+-116.66 49.948 4819
+-116.534 49.948 4809
+-116.408 49.948 4720
+-116.282 49.948 4653
+-116.156 49.948 4662
+-116.03 49.948 4587
+-115.904 49.948 4586
+-115.778 49.948 4550
+-115.652 49.948 4434
+-115.526 49.948 4279
+-115.4 49.948 4179
+-115.274 49.948 4181
+-115.148 49.948 4123
+-115.022 49.948 4055
+-114.896 49.948 4072
+-114.77 49.948 4092
+-114.644 49.948 4052
+-114.518 49.948 4016
+-114.392 49.948 3954
+-114.266 49.948 3879
+-114.14 49.948 3776
+-114.014 49.948 3611
+-113.888 49.948 3463
+-113.762 49.948 3322
+-113.636 49.948 3200
+-113.51 49.948 3093
+-113.384 49.948 3040
+-113.258 49.948 3018
+-113.132 49.948 3030
+-113.006 49.948 3071
+-112.88 49.948 3105
+-112.754 49.948 3156
+-112.628 49.948 3197
+-112.502 49.948 3240
+-112.376 49.948 3282
+-112.25 49.948 3314
+-112.124 49.948 3346
+-111.998 49.948 3362
+-111.872 49.948 3367
+-111.746 49.948 3391
+-111.62 49.948 3412
+-111.494 49.948 3431
+-111.368 49.948 3368
+-111.242 49.948 3366
+-111.116 49.948 3374
+-110.99 49.948 3383
+-110.864 49.948 3374
+-110.738 49.948 3369
+-110.612 49.948 3306
+-110.486 49.948 3310
+-110.36 49.948 3316
+-110.234 49.948 3321
+-110.108 49.948 3326
+-109.982 49.948 3331
+-109.856 49.948 3335
+-109.73 49.948 3339
+-109.604 49.948 3343
+-109.478 49.948 3346
+-109.352 49.948 3335
+-109.226 49.948 3288
+-109.1 49.948 3275
+-108.974 49.948 3278
+-108.848 49.948 3281
+-108.722 49.948 3284
+-108.596 49.948 3286
+-108.47 49.948 3289
+-108.344 49.948 3269
+-108.218 49.948 3272
+-108.092 49.948 3275
+-107.966 49.948 3278
+-107.84 49.948 3250
+-107.714 49.948 3253
+-107.588 49.948 3256
+-107.462 49.948 3259
+-107.336 49.948 3247
+-107.21 49.948 3249
+-107.084 49.948 3252
+-106.958 49.948 3255
+-106.832 49.948 3248
+-106.706 49.948 3251
+-106.58 49.948 3254
+-106.454 49.948 3257
+-106.328 49.948 3248
+-106.202 49.948 3251
+-106.076 49.948 3254
+-105.95 49.948 3256
+-105.824 49.948 3259
+-105.698 49.948 3262
+-105.572 49.948 3265
+-105.446 49.948 3267
+-105.32 49.948 3270
+-105.194 49.948 3272
+-105.068 49.948 3274
+-104.942 49.948 3213
+-104.816 49.948 3198
+-104.69 49.948 3200
+-104.564 49.948 3202
+-104.438 49.948 3204
+-104.312 49.948 3207
+-104.186 49.948 3178
+-104.06 49.948 3172
+-103.934 49.948 3175
+-103.808 49.948 3177
+-103.682 49.948 3155
+-103.556 49.948 3157
+-103.43 49.948 3159
+-103.304 49.948 3161
+-103.178 49.948 3163
+-103.052 49.948 3165
+-102.926 49.948 3167
+-102.8 49.948 3169
+-102.674 49.948 3171
+-102.548 49.948 3173
+-102.422 49.948 3174
+-102.296 49.948 3176
+-102.17 49.948 3086
+-102.044 49.948 3071
+-101.918 49.948 3070
+-101.792 49.948 3070
+-101.666 49.948 3031
+-101.54 49.948 3030
+-101.414 49.948 3029
+-101.288 49.948 3027
+-101.162 49.948 3026
+-101.036 49.948 2891
+-100.91 49.948 2888
+-100.784 49.948 2885
+-100.658 49.948 2881
+-100.532 49.948 2878
+-100.406 49.948 2847
+-100.28 49.948 2863
+-100.154 49.948 2810
+-100.028 49.948 2806
+-99.902 49.948 2803
+-99.776 49.948 2808
+-99.65 49.948 2721
+-99.524 49.948 2652
+-99.398 49.948 2650
+-99.272 49.948 2525
+-99.146 49.948 2558
+-99.02 49.948 2503
+-98.894 49.948 2502
+-98.768 49.948 2564
+-98.642 49.948 2777
+-98.516 49.948 2734
+-98.39 49.948 2711
+-98.264 49.948 2685
+-98.138 49.948 2685
+-98.012 49.948 2681
+-97.886 49.948 2696
+-97.76 49.948 2696
+-97.634 49.948 2794
+-97.508 49.948 2793
+-97.382 49.948 2791
+-97.256 49.948 2790
+-97.13 49.948 2789
+-97.004 49.948 2787
+-96.878 49.948 2786
+-96.752 49.948 2784
+-96.626 49.948 2783
+-96.5 49.948 2781
+-96.374 49.948 2780
+-96.248 49.948 2778
+-96.122 49.948 2777
+-95.996 49.948 2775
+-95.87 49.948 2774
+-95.744 49.948 2772
+-95.618 49.948 2771
+-95.492 49.948 2769
+-95.366 49.948 2768
+-95.24 49.948 2766
+-95.114 49.948 2765
+-94.988 49.948 2763
+-94.862 49.948 2762
+-94.736 49.948 2760
+-94.61 49.948 2759
+-94.484 49.948 2757
+-94.358 49.948 2756
+-94.232 49.948 2755
+-94.106 49.948 2753
+-93.98 49.948 2752
+-93.854 49.948 2750
+-93.728 49.948 2749
+-93.602 49.948 2747
+-93.476 49.948 2746
+-93.35 49.948 2745
+-93.224 49.948 2743
+-93.098 49.948 2742
+-92.972 49.948 2741
+-92.846 49.948 2739
+-92.72 49.948 2738
+-92.594 49.948 2737
+-92.468 49.948 2736
+-92.342 49.948 2735
+-92.216 49.948 2733
+-92.09 49.948 2732
+-91.964 49.948 2731
+-91.838 49.948 2730
+-91.712 49.948 2729
+-91.586 49.948 2728
+-91.46 49.948 2727
+-91.334 49.948 2727
+-91.208 49.948 2726
+-91.082 49.948 2725
+-90.956 49.948 2724
+-90.83 49.948 2723
+-90.704 49.948 2723
+-90.578 49.948 2674
+-90.452 49.948 2674
+-90.326 49.948 2673
+-90.2 49.948 2672
+-90.074 49.948 2672
+-89.948 49.948 2671
+-89.822 49.948 2671
+-89.696 49.948 2670
+-89.57 49.948 2670
+-89.444 49.948 2669
+-89.318 49.948 2669
+-89.192 49.948 2669
+-89.066 49.948 2668
+-88.94 49.948 2668
+-88.814 49.948 2668
+-88.688 49.948 2667
+-88.562 49.948 2667
+-88.436 49.948 2667
+-88.31 49.948 2667
+-88.184 49.948 2667
+-88.058 49.948 2667
+-87.932 49.948 2667
+-87.806 49.948 2667
+-87.68 49.948 2666
+-87.554 49.948 2666
+-87.428 49.948 2667
+-87.302 49.948 2667
+-87.176 49.948 2667
+-87.05 49.948 2667
+-86.924 49.948 2667
+-86.798 49.948 2667
+-86.672 49.948 2667
+-86.546 49.948 2667
+-86.42 49.948 2667
+-86.294 49.948 2667
+-86.168 49.948 2668
+-86.042 49.948 2668
+-85.916 49.948 2668
+-85.79 49.948 2668
+-85.664 49.948 2669
+-85.538 49.948 2669
+-85.412 49.948 2669
+-85.286 49.948 2669
+-85.16 49.948 2670
+-85.034 49.948 2670
+-84.908 49.948 2670
+-84.782 49.948 2670
+-84.656 49.948 2671
+-84.53 49.948 2671
+-84.404 49.948 2671
+-84.278 49.948 2672
+-84.152 49.948 2672
+-84.026 49.948 2672
+-83.9 49.948 2673
+-83.774 49.948 2673
+-83.648 49.948 2673
+-83.522 49.948 2674
+-83.396 49.948 2674
+-83.27 49.948 2674
+-83.144 49.948 2675
+-83.018 49.948 2675
+-82.892 49.948 2676
+-82.766 49.948 2676
+-82.64 49.948 2676
+-82.514 49.948 2677
+-82.388 49.948 2677
+-82.262 49.948 2678
+-82.136 49.948 2678
+-82.01 49.948 2678
+-81.884 49.948 2679
+-81.758 49.948 2679
+-81.632 49.948 2680
+-81.506 49.948 2680
+-81.38 49.948 2680
+-81.254 49.948 2681
+-81.128 49.948 2681
+-81.002 49.948 2682
+-80.876 49.948 2682
+-80.75 49.948 2683
+-80.624 49.948 2683
+-80.498 49.948 2683
+-80.372 49.948 2684
+-80.246 49.948 2684
+-80.12 49.948 2685
+-79.994 49.948 2685
+-79.868 49.948 2686
+-79.742 49.948 2686
+-79.616 49.948 2687
+-79.49 49.948 2687
+-79.364 49.948 2687
+-79.238 49.948 2688
+-79.112 49.948 2700
+-78.986 49.948 2700
+-78.86 49.948 2701
+-78.734 49.948 2701
+-78.608 49.948 2585
+-78.482 49.948 2585
+-78.356 49.948 2585
+-78.23 49.948 2585
+-78.104 49.948 2586
+-77.978 49.948 2586
+-77.852 49.948 2586
+-77.726 49.948 2586
+-77.6 49.948 2587
+-77.474 49.948 2587
+-77.348 49.948 2594
+-77.222 49.948 2601
+-77.096 49.948 2602
+-76.97 49.948 2602
+-76.844 49.948 2602
+-76.718 49.948 2620
+-76.592 49.948 2621
+-76.466 49.948 2621
+-76.34 49.948 2622
+-76.214 49.948 2625
+-76.088 49.948 2756
+-75.962 49.948 2756
+-75.836 49.948 2757
+-75.71 49.948 2764
+-75.584 49.948 2764
+-75.458 49.948 2764
+-75.332 49.948 2784
+-75.206 49.948 2762
+-75.08 49.948 2778
+-74.954 49.948 2778
+-74.828 49.948 2772
+-74.702 49.948 2773
+-74.576 49.948 2773
+-74.45 49.948 2773
+-74.324 49.948 2775
+-74.198 49.948 2867
+-74.072 49.948 2867
+-73.946 49.948 2867
+-73.82 49.948 2868
+-73.694 49.948 2888
+-73.568 49.948 2889
+-73.442 49.948 2865
+-73.316 49.948 2866
+-73.19 49.948 2866
+-73.064 49.948 2867
+-72.938 49.948 2835
+-72.812 49.948 2846
+-72.686 49.948 2846
+-72.56 49.948 2977
+-72.434 49.948 2934
+-72.308 49.948 2935
+-72.182 49.948 3081
+-72.056 49.948 3077
+-71.93 49.948 3035
+-71.804 49.948 3104
+-71.678 49.948 2985
+-71.552 49.948 3019
+-71.426 49.948 3078
+-71.3 49.948 2967
+-71.174 49.948 2975
+-71.048 49.948 2875
+-70.922 49.948 2870
+-70.796 49.948 2888
+-70.67 49.948 2857
+-70.544 49.948 2857
+-70.418 49.948 2858
+-70.292 49.948 2792
+-70.166 49.948 2840
+-70.04 49.948 2830
+-69.914 49.948 2818
+-69.788 49.948 2818
+-69.662 49.948 2819
+-69.536 49.948 2819
+-69.41 49.948 2754
+-69.284 49.948 2749
+-69.158 49.948 2749
+-69.032 49.948 2750
+-68.906 49.948 2750
+-68.78 49.948 2746
+-68.654 49.948 2687
+-68.528 49.948 2794
+-68.402 49.948 2789
+-68.276 49.948 2795
+-68.15 49.948 2796
+-68.024 49.948 2796
+-67.898 49.948 2797
+-67.772 49.948 2824
+-67.646 49.948 2799
+-67.52 49.948 2869
+-67.394 49.948 2870
+-67.268 49.948 2859
+-67.142 49.948 2868
+-67.016 49.948 2868
+-66.89 49.948 2869
+-66.764 49.948 2855
+-66.638 49.948 2972
+-66.512 49.948 2972
+-66.386 49.948 2973
+-66.26 49.948 2973
+-66.134 49.948 3072
+-66.008 49.948 3023
+-65.882 49.948 3170
+-65.756 49.948 3170
+-65.63 49.948 3130
+-65.504 49.948 3131
+-65.378 49.948 3131
+-65.252 49.948 3131
+-65.126 49.948 3131
+-128 49.896 3643
+-127.874 49.896 3682
+-127.748 49.896 3755
+-127.622 49.896 3875
+-127.496 49.896 4025
+-127.37 49.896 4125
+-127.244 49.896 4144
+-127.118 49.896 4146
+-126.992 49.896 4175
+-126.866 49.896 4280
+-126.74 49.896 4396
+-126.614 49.896 4524
+-126.488 49.896 4629
+-126.362 49.896 4734
+-126.236 49.896 4827
+-126.11 49.896 4908
+-125.984 49.896 5001
+-125.858 49.896 5175
+-125.732 49.896 5352
+-125.606 49.896 5450
+-125.48 49.896 5428
+-125.354 49.896 5555
+-125.228 49.896 5633
+-125.102 49.896 5621
+-124.976 49.896 5778
+-124.85 49.896 5796
+-124.724 49.896 5901
+-124.598 49.896 5972
+-124.472 49.896 6017
+-124.346 49.896 6111
+-124.22 49.896 6136
+-124.094 49.896 6193
+-123.968 49.896 6244
+-123.842 49.896 6281
+-123.716 49.896 6310
+-123.59 49.896 6358
+-123.464 49.896 6366
+-123.338 49.896 6390
+-123.212 49.896 6413
+-123.086 49.896 6411
+-122.96 49.896 6410
+-122.834 49.896 6411
+-122.708 49.896 6390
+-122.582 49.896 6394
+-122.456 49.896 6365
+-122.33 49.896 6348
+-122.204 49.896 6284
+-122.078 49.896 6261
+-121.952 49.896 6214
+-121.826 49.896 6199
+-121.7 49.896 6162
+-121.574 49.896 6095
+-121.448 49.896 6053
+-121.322 49.896 5954
+-121.196 49.896 5898
+-121.07 49.896 5815
+-120.944 49.896 5737
+-120.818 49.896 5655
+-120.692 49.896 5513
+-120.566 49.896 5482
+-120.44 49.896 5405
+-120.314 49.896 5303
+-120.188 49.896 5185
+-120.062 49.896 5104
+-119.936 49.896 5104
+-119.81 49.896 5073
+-119.684 49.896 5013
+-119.558 49.896 5084
+-119.432 49.896 5131
+-119.306 49.896 5169
+-119.18 49.896 5174
+-119.054 49.896 5184
+-118.928 49.896 5210
+-118.802 49.896 5254
+-118.676 49.896 5268
+-118.55 49.896 5265
+-118.424 49.896 5253
+-118.298 49.896 5273
+-118.172 49.896 5245
+-118.046 49.896 5239
+-117.92 49.896 5238
+-117.794 49.896 5234
+-117.668 49.896 5228
+-117.542 49.896 5192
+-117.416 49.896 5141
+-117.29 49.896 5106
+-117.164 49.896 5082
+-117.038 49.896 5016
+-116.912 49.896 5005
+-116.786 49.896 4962
+-116.66 49.896 4905
+-116.534 49.896 4852
+-116.408 49.896 4763
+-116.282 49.896 4712
+-116.156 49.896 4708
+-116.03 49.896 4679
+-115.904 49.896 4636
+-115.778 49.896 4570
+-115.652 49.896 4487
+-115.526 49.896 4372
+-115.4 49.896 4294
+-115.274 49.896 4216
+-115.148 49.896 4080
+-115.022 49.896 3961
+-114.896 49.896 4048
+-114.77 49.896 4081
+-114.644 49.896 4049
+-114.518 49.896 4009
+-114.392 49.896 3956
+-114.266 49.896 3875
+-114.14 49.896 3723
+-114.014 49.896 3572
+-113.888 49.896 3404
+-113.762 49.896 3230
+-113.636 49.896 3067
+-113.51 49.896 2978
+-113.384 49.896 2923
+-113.258 49.896 2890
+-113.132 49.896 2913
+-113.006 49.896 2968
+-112.88 49.896 3041
+-112.754 49.896 3105
+-112.628 49.896 3164
+-112.502 49.896 3219
+-112.376 49.896 3262
+-112.25 49.896 3303
+-112.124 49.896 3326
+-111.998 49.896 3336
+-111.872 49.896 3364
+-111.746 49.896 3389
+-111.62 49.896 3411
+-111.494 49.896 3354
+-111.368 49.896 3354
+-111.242 49.896 3363
+-111.116 49.896 3373
+-110.99 49.896 3365
+-110.864 49.896 3361
+-110.738 49.896 3300
+-110.612 49.896 3304
+-110.486 49.896 3310
+-110.36 49.896 3316
+-110.234 49.896 3321
+-110.108 49.896 3326
+-109.982 49.896 3330
+-109.856 49.896 3334
+-109.73 49.896 3338
+-109.604 49.896 3342
+-109.478 49.896 3330
+-109.352 49.896 3284
+-109.226 49.896 3271
+-109.1 49.896 3274
+-108.974 49.896 3277
+-108.848 49.896 3280
+-108.722 49.896 3283
+-108.596 49.896 3286
+-108.47 49.896 3265
+-108.344 49.896 3268
+-108.218 49.896 3271
+-108.092 49.896 3274
+-107.966 49.896 3247
+-107.84 49.896 3250
+-107.714 49.896 3253
+-107.588 49.896 3256
+-107.462 49.896 3244
+-107.336 49.896 3247
+-107.21 49.896 3250
+-107.084 49.896 3252
+-106.958 49.896 3246
+-106.832 49.896 3249
+-106.706 49.896 3252
+-106.58 49.896 3255
+-106.454 49.896 3245
+-106.328 49.896 3248
+-106.202 49.896 3251
+-106.076 49.896 3254
+-105.95 49.896 3257
+-105.824 49.896 3260
+-105.698 49.896 3263
+-105.572 49.896 3265
+-105.446 49.896 3268
+-105.32 49.896 3270
+-105.194 49.896 3273
+-105.068 49.896 3211
+-104.942 49.896 3196
+-104.816 49.896 3199
+-104.69 49.896 3201
+-104.564 49.896 3203
+-104.438 49.896 3205
+-104.312 49.896 3177
+-104.186 49.896 3171
+-104.06 49.896 3173
+-103.934 49.896 3176
+-103.808 49.896 3153
+-103.682 49.896 3156
+-103.556 49.896 3158
+-103.43 49.896 3160
+-103.304 49.896 3162
+-103.178 49.896 3164
+-103.052 49.896 3166
+-102.926 49.896 3168
+-102.8 49.896 3170
+-102.674 49.896 3172
+-102.548 49.896 3174
+-102.422 49.896 3176
+-102.296 49.896 3177
+-102.17 49.896 3087
+-102.044 49.896 3072
+-101.918 49.896 3071
+-101.792 49.896 3033
+-101.666 49.896 3032
+-101.54 49.896 3030
+-101.414 49.896 3029
+-101.288 49.896 3028
+-101.162 49.896 3026
+-101.036 49.896 2891
+-100.91 49.896 2888
+-100.784 49.896 2885
+-100.658 49.896 2881
+-100.532 49.896 2878
+-100.406 49.896 2866
+-100.28 49.896 2813
+-100.154 49.896 2809
+-100.028 49.896 2806
+-99.902 49.896 2811
+-99.776 49.896 2723
+-99.65 49.896 2653
+-99.524 49.896 2652
+-99.398 49.896 2526
+-99.272 49.896 2559
+-99.146 49.896 2504
+-99.02 49.896 2503
+-98.894 49.896 2565
+-98.768 49.896 2776
+-98.642 49.896 2734
+-98.516 49.896 2710
+-98.39 49.896 2685
+-98.264 49.896 2685
+-98.138 49.896 2686
+-98.012 49.896 2697
+-97.886 49.896 2696
+-97.76 49.896 2795
+-97.634 49.896 2794
+-97.508 49.896 2793
+-97.382 49.896 2791
+-97.256 49.896 2790
+-97.13 49.896 2788
+-97.004 49.896 2787
+-96.878 49.896 2785
+-96.752 49.896 2784
+-96.626 49.896 2782
+-96.5 49.896 2781
+-96.374 49.896 2779
+-96.248 49.896 2778
+-96.122 49.896 2776
+-95.996 49.896 2775
+-95.87 49.896 2773
+-95.744 49.896 2772
+-95.618 49.896 2770
+-95.492 49.896 2769
+-95.366 49.896 2767
+-95.24 49.896 2766
+-95.114 49.896 2764
+-94.988 49.896 2763
+-94.862 49.896 2761
+-94.736 49.896 2760
+-94.61 49.896 2758
+-94.484 49.896 2757
+-94.358 49.896 2755
+-94.232 49.896 2753
+-94.106 49.896 2752
+-93.98 49.896 2751
+-93.854 49.896 2749
+-93.728 49.896 2748
+-93.602 49.896 2746
+-93.476 49.896 2745
+-93.35 49.896 2743
+-93.224 49.896 2742
+-93.098 49.896 2741
+-92.972 49.896 2739
+-92.846 49.896 2738
+-92.72 49.896 2737
+-92.594 49.896 2735
+-92.468 49.896 2734
+-92.342 49.896 2733
+-92.216 49.896 2732
+-92.09 49.896 2731
+-91.964 49.896 2730
+-91.838 49.896 2729
+-91.712 49.896 2728
+-91.586 49.896 2727
+-91.46 49.896 2726
+-91.334 49.896 2725
+-91.208 49.896 2724
+-91.082 49.896 2723
+-90.956 49.896 2722
+-90.83 49.896 2721
+-90.704 49.896 2721
+-90.578 49.896 2720
+-90.452 49.896 2672
+-90.326 49.896 2671
+-90.2 49.896 2671
+-90.074 49.896 2670
+-89.948 49.896 2669
+-89.822 49.896 2669
+-89.696 49.896 2668
+-89.57 49.896 2668
+-89.444 49.896 2668
+-89.318 49.896 2667
+-89.192 49.896 2667
+-89.066 49.896 2666
+-88.94 49.896 2666
+-88.814 49.896 2666
+-88.688 49.896 2666
+-88.562 49.896 2666
+-88.436 49.896 2665
+-88.31 49.896 2665
+-88.184 49.896 2665
+-88.058 49.896 2665
+-87.932 49.896 2665
+-87.806 49.896 2665
+-87.68 49.896 2665
+-87.554 49.896 2665
+-87.428 49.896 2665
+-87.302 49.896 2665
+-87.176 49.896 2665
+-87.05 49.896 2665
+-86.924 49.896 2665
+-86.798 49.896 2665
+-86.672 49.896 2666
+-86.546 49.896 2666
+-86.42 49.896 2666
+-86.294 49.896 2666
+-86.168 49.896 2666
+-86.042 49.896 2666
+-85.916 49.896 2667
+-85.79 49.896 2667
+-85.664 49.896 2667
+-85.538 49.896 2667
+-85.412 49.896 2668
+-85.286 49.896 2668
+-85.16 49.896 2668
+-85.034 49.896 2669
+-84.908 49.896 2669
+-84.782 49.896 2669
+-84.656 49.896 2670
+-84.53 49.896 2670
+-84.404 49.896 2670
+-84.278 49.896 2671
+-84.152 49.896 2671
+-84.026 49.896 2671
+-83.9 49.896 2672
+-83.774 49.896 2672
+-83.648 49.896 2672
+-83.522 49.896 2673
+-83.396 49.896 2673
+-83.27 49.896 2673
+-83.144 49.896 2674
+-83.018 49.896 2674
+-82.892 49.896 2675
+-82.766 49.896 2675
+-82.64 49.896 2675
+-82.514 49.896 2676
+-82.388 49.896 2676
+-82.262 49.896 2677
+-82.136 49.896 2677
+-82.01 49.896 2677
+-81.884 49.896 2678
+-81.758 49.896 2678
+-81.632 49.896 2679
+-81.506 49.896 2679
+-81.38 49.896 2680
+-81.254 49.896 2680
+-81.128 49.896 2680
+-81.002 49.896 2681
+-80.876 49.896 2681
+-80.75 49.896 2682
+-80.624 49.896 2682
+-80.498 49.896 2683
+-80.372 49.896 2683
+-80.246 49.896 2684
+-80.12 49.896 2684
+-79.994 49.896 2684
+-79.868 49.896 2685
+-79.742 49.896 2685
+-79.616 49.896 2686
+-79.49 49.896 2686
+-79.364 49.896 2687
+-79.238 49.896 2699
+-79.112 49.896 2699
+-78.986 49.896 2700
+-78.86 49.896 2700
+-78.734 49.896 2584
+-78.608 49.896 2584
+-78.482 49.896 2584
+-78.356 49.896 2584
+-78.23 49.896 2585
+-78.104 49.896 2585
+-77.978 49.896 2585
+-77.852 49.896 2585
+-77.726 49.896 2586
+-77.6 49.896 2586
+-77.474 49.896 2593
+-77.348 49.896 2600
+-77.222 49.896 2601
+-77.096 49.896 2601
+-76.97 49.896 2601
+-76.844 49.896 2620
+-76.718 49.896 2620
+-76.592 49.896 2620
+-76.466 49.896 2621
+-76.34 49.896 2624
+-76.214 49.896 2755
+-76.088 49.896 2756
+-75.962 49.896 2756
+-75.836 49.896 2763
+-75.71 49.896 2764
+-75.584 49.896 2763
+-75.458 49.896 2783
+-75.332 49.896 2761
+-75.206 49.896 2777
+-75.08 49.896 2777
+-74.954 49.896 2772
+-74.828 49.896 2772
+-74.702 49.896 2772
+-74.576 49.896 2773
+-74.45 49.896 2774
+-74.324 49.896 2866
+-74.198 49.896 2866
+-74.072 49.896 2867
+-73.946 49.896 2867
+-73.82 49.896 2887
+-73.694 49.896 2888
+-73.568 49.896 2864
+-73.442 49.896 2865
+-73.316 49.896 2865
+-73.19 49.896 2866
+-73.064 49.896 2834
+-72.938 49.896 2845
+-72.812 49.896 2845
+-72.686 49.896 2976
+-72.56 49.896 2933
+-72.434 49.896 2934
+-72.308 49.896 3080
+-72.182 49.896 3076
+-72.056 49.896 3034
+-71.93 49.896 3103
+-71.804 49.896 2984
+-71.678 49.896 3018
+-71.552 49.896 3077
+-71.426 49.896 2967
+-71.3 49.896 2974
+-71.174 49.896 2874
+-71.048 49.896 2870
+-70.922 49.896 2888
+-70.796 49.896 2856
+-70.67 49.896 2856
+-70.544 49.896 2857
+-70.418 49.896 2791
+-70.292 49.896 2839
+-70.166 49.896 2830
+-70.04 49.896 2817
+-69.914 49.896 2818
+-69.788 49.896 2818
+-69.662 49.896 2819
+-69.536 49.896 2754
+-69.41 49.896 2748
+-69.284 49.896 2749
+-69.158 49.896 2749
+-69.032 49.896 2750
+-68.906 49.896 2745
+-68.78 49.896 2687
+-68.654 49.896 2794
+-68.528 49.896 2789
+-68.402 49.896 2795
+-68.276 49.896 2795
+-68.15 49.896 2796
+-68.024 49.896 2796
+-67.898 49.896 2823
+-67.772 49.896 2799
+-67.646 49.896 2869
+-67.52 49.896 2870
+-67.394 49.896 2859
+-67.268 49.896 2867
+-67.142 49.896 2868
+-67.016 49.896 2868
+-66.89 49.896 2854
+-66.764 49.896 2971
+-66.638 49.896 2972
+-66.512 49.896 2972
+-66.386 49.896 2973
+-66.26 49.896 3072
+-66.134 49.896 3023
+-66.008 49.896 3170
+-65.882 49.896 3170
+-65.756 49.896 3130
+-65.63 49.896 3130
+-65.504 49.896 3131
+-65.378 49.896 3131
+-65.252 49.896 3131
+-65.126 49.896 3131
+-128 49.844 3447
+-127.874 49.844 3576
+-127.748 49.844 3783
+-127.622 49.844 3952
+-127.496 49.844 4075
+-127.37 49.844 4138
+-127.244 49.844 4112
+-127.118 49.844 4011
+-126.992 49.844 4174
+-126.866 49.844 4304
+-126.74 49.844 4443
+-126.614 49.844 4571
+-126.488 49.844 4688
+-126.362 49.844 4786
+-126.236 49.844 4823
+-126.11 49.844 4925
+-125.984 49.844 5000
+-125.858 49.844 5171
+-125.732 49.844 5354
+-125.606 49.844 5430
+-125.48 49.844 5493
+-125.354 49.844 5587
+-125.228 49.844 5671
+-125.102 49.844 5722
+-124.976 49.844 5817
+-124.85 49.844 5818
+-124.724 49.844 5928
+-124.598 49.844 5958
+-124.472 49.844 6090
+-124.346 49.844 6108
+-124.22 49.844 6181
+-124.094 49.844 6223
+-123.968 49.844 6277
+-123.842 49.844 6312
+-123.716 49.844 6362
+-123.59 49.844 6419
+-123.464 49.844 6449
+-123.338 49.844 6469
+-123.212 49.844 6476
+-123.086 49.844 6482
+-122.96 49.844 6496
+-122.834 49.844 6474
+-122.708 49.844 6450
+-122.582 49.844 6434
+-122.456 49.844 6424
+-122.33 49.844 6368
+-122.204 49.844 6355
+-122.078 49.844 6315
+-121.952 49.844 6262
+-121.826 49.844 6235
+-121.7 49.844 6191
+-121.574 49.844 6119
+-121.448 49.844 6103
+-121.322 49.844 6026
+-121.196 49.844 5957
+-121.07 49.844 5862
+-120.944 49.844 5785
+-120.818 49.844 5703
+-120.692 49.844 5594
+-120.566 49.844 5476
+-120.44 49.844 5401
+-120.314 49.844 5284
+-120.188 49.844 5227
+-120.062 49.844 5048
+-119.936 49.844 5106
+-119.81 49.844 5093
+-119.684 49.844 5043
+-119.558 49.844 5117
+-119.432 49.844 5180
+-119.306 49.844 5201
+-119.18 49.844 5216
+-119.054 49.844 5262
+-118.928 49.844 5272
+-118.802 49.844 5312
+-118.676 49.844 5300
+-118.55 49.844 5292
+-118.424 49.844 5320
+-118.298 49.844 5303
+-118.172 49.844 5299
+-118.046 49.844 5294
+-117.92 49.844 5289
+-117.794 49.844 5260
+-117.668 49.844 5276
+-117.542 49.844 5250
+-117.416 49.844 5193
+-117.29 49.844 5147
+-117.164 49.844 5126
+-117.038 49.844 5077
+-116.912 49.844 5045
+-116.786 49.844 5032
+-116.66 49.844 4981
+-116.534 49.844 4916
+-116.408 49.844 4826
+-116.282 49.844 4768
+-116.156 49.844 4748
+-116.03 49.844 4716
+-115.904 49.844 4661
+-115.778 49.844 4593
+-115.652 49.844 4512
+-115.526 49.844 4429
+-115.4 49.844 4346
+-115.274 49.844 4268
+-115.148 49.844 4153
+-115.022 49.844 4072
+-114.896 49.844 4106
+-114.77 49.844 4118
+-114.644 49.844 4044
+-114.518 49.844 4012
+-114.392 49.844 3959
+-114.266 49.844 3859
+-114.14 49.844 3712
+-114.014 49.844 3554
+-113.888 49.844 3359
+-113.762 49.844 3131
+-113.636 49.844 2962
+-113.51 49.844 2879
+-113.384 49.844 2825
+-113.258 49.844 2743
+-113.132 49.844 2789
+-113.006 49.844 2894
+-112.88 49.844 2990
+-112.754 49.844 3073
+-112.628 49.844 3146
+-112.502 49.844 3203
+-112.376 49.844 3254
+-112.25 49.844 3286
+-112.124 49.844 3303
+-111.998 49.844 3336
+-111.872 49.844 3365
+-111.746 49.844 3390
+-111.62 49.844 3339
+-111.494 49.844 3341
+-111.368 49.844 3352
+-111.242 49.844 3362
+-111.116 49.844 3356
+-110.99 49.844 3353
+-110.864 49.844 3294
+-110.738 49.844 3298
+-110.612 49.844 3304
+-110.486 49.844 3310
+-110.36 49.844 3316
+-110.234 49.844 3320
+-110.108 49.844 3325
+-109.982 49.844 3329
+-109.856 49.844 3333
+-109.73 49.844 3337
+-109.604 49.844 3326
+-109.478 49.844 3280
+-109.352 49.844 3268
+-109.226 49.844 3271
+-109.1 49.844 3274
+-108.974 49.844 3277
+-108.848 49.844 3280
+-108.722 49.844 3282
+-108.596 49.844 3262
+-108.47 49.844 3265
+-108.344 49.844 3268
+-108.218 49.844 3271
+-108.092 49.844 3243
+-107.966 49.844 3247
+-107.84 49.844 3250
+-107.714 49.844 3253
+-107.588 49.844 3241
+-107.462 49.844 3244
+-107.336 49.844 3247
+-107.21 49.844 3250
+-107.084 49.844 3243
+-106.958 49.844 3246
+-106.832 49.844 3249
+-106.706 49.844 3252
+-106.58 49.844 3243
+-106.454 49.844 3246
+-106.328 49.844 3249
+-106.202 49.844 3252
+-106.076 49.844 3255
+-105.95 49.844 3258
+-105.824 49.844 3261
+-105.698 49.844 3264
+-105.572 49.844 3266
+-105.446 49.844 3269
+-105.32 49.844 3271
+-105.194 49.844 3209
+-105.068 49.844 3195
+-104.942 49.844 3197
+-104.816 49.844 3200
+-104.69 49.844 3202
+-104.564 49.844 3204
+-104.438 49.844 3175
+-104.312 49.844 3169
+-104.186 49.844 3172
+-104.06 49.844 3175
+-103.934 49.844 3152
+-103.808 49.844 3155
+-103.682 49.844 3157
+-103.556 49.844 3159
+-103.43 49.844 3161
+-103.304 49.844 3163
+-103.178 49.844 3165
+-103.052 49.844 3167
+-102.926 49.844 3169
+-102.8 49.844 3171
+-102.674 49.844 3173
+-102.548 49.844 3175
+-102.422 49.844 3177
+-102.296 49.844 3178
+-102.17 49.844 3087
+-102.044 49.844 3073
+-101.918 49.844 3034
+-101.792 49.844 3033
+-101.666 49.844 3032
+-101.54 49.844 3031
+-101.414 49.844 3030
+-101.288 49.844 3028
+-101.162 49.844 3027
+-101.036 49.844 2891
+-100.91 49.844 2888
+-100.784 49.844 2885
+-100.658 49.844 2881
+-100.532 49.844 2870
+-100.406 49.844 2816
+-100.28 49.844 2812
+-100.154 49.844 2809
+-100.028 49.844 2832
+-99.902 49.844 2724
+-99.776 49.844 2654
+-99.65 49.844 2653
+-99.524 49.844 2684
+-99.398 49.844 2560
+-99.272 49.844 2504
+-99.146 49.844 2504
+-99.02 49.844 2566
+-98.894 49.844 2776
+-98.768 49.844 2733
+-98.642 49.844 2710
+-98.516 49.844 2685
+-98.39 49.844 2686
+-98.264 49.844 2686
+-98.138 49.844 2698
+-98.012 49.844 2697
+-97.886 49.844 2797
+-97.76 49.844 2795
+-97.634 49.844 2794
+-97.508 49.844 2792
+-97.382 49.844 2791
+-97.256 49.844 2790
+-97.13 49.844 2788
+-97.004 49.844 2787
+-96.878 49.844 2785
+-96.752 49.844 2784
+-96.626 49.844 2782
+-96.5 49.844 2781
+-96.374 49.844 2779
+-96.248 49.844 2778
+-96.122 49.844 2776
+-95.996 49.844 2774
+-95.87 49.844 2773
+-95.744 49.844 2771
+-95.618 49.844 2770
+-95.492 49.844 2768
+-95.366 49.844 2767
+-95.24 49.844 2765
+-95.114 49.844 2763
+-94.988 49.844 2762
+-94.862 49.844 2760
+-94.736 49.844 2759
+-94.61 49.844 2757
+-94.484 49.844 2756
+-94.358 49.844 2754
+-94.232 49.844 2752
+-94.106 49.844 2751
+-93.98 49.844 2749
+-93.854 49.844 2748
+-93.728 49.844 2746
+-93.602 49.844 2745
+-93.476 49.844 2743
+-93.35 49.844 2742
+-93.224 49.844 2741
+-93.098 49.844 2739
+-92.972 49.844 2738
+-92.846 49.844 2736
+-92.72 49.844 2735
+-92.594 49.844 2734
+-92.468 49.844 2733
+-92.342 49.844 2731
+-92.216 49.844 2730
+-92.09 49.844 2729
+-91.964 49.844 2728
+-91.838 49.844 2727
+-91.712 49.844 2726
+-91.586 49.844 2725
+-91.46 49.844 2724
+-91.334 49.844 2723
+-91.208 49.844 2722
+-91.082 49.844 2721
+-90.956 49.844 2720
+-90.83 49.844 2720
+-90.704 49.844 2719
+-90.578 49.844 2718
+-90.452 49.844 2670
+-90.326 49.844 2669
+-90.2 49.844 2669
+-90.074 49.844 2668
+-89.948 49.844 2668
+-89.822 49.844 2667
+-89.696 49.844 2667
+-89.57 49.844 2666
+-89.444 49.844 2666
+-89.318 49.844 2665
+-89.192 49.844 2665
+-89.066 49.844 2665
+-88.94 49.844 2664
+-88.814 49.844 2664
+-88.688 49.844 2664
+-88.562 49.844 2664
+-88.436 49.844 2664
+-88.31 49.844 2664
+-88.184 49.844 2663
+-88.058 49.844 2663
+-87.932 49.844 2663
+-87.806 49.844 2663
+-87.68 49.844 2663
+-87.554 49.844 2663
+-87.428 49.844 2663
+-87.302 49.844 2663
+-87.176 49.844 2664
+-87.05 49.844 2664
+-86.924 49.844 2664
+-86.798 49.844 2664
+-86.672 49.844 2664
+-86.546 49.844 2664
+-86.42 49.844 2664
+-86.294 49.844 2665
+-86.168 49.844 2665
+-86.042 49.844 2665
+-85.916 49.844 2665
+-85.79 49.844 2666
+-85.664 49.844 2666
+-85.538 49.844 2666
+-85.412 49.844 2666
+-85.286 49.844 2667
+-85.16 49.844 2667
+-85.034 49.844 2667
+-84.908 49.844 2668
+-84.782 49.844 2668
+-84.656 49.844 2668
+-84.53 49.844 2669
+-84.404 49.844 2669
+-84.278 49.844 2669
+-84.152 49.844 2670
+-84.026 49.844 2670
+-83.9 49.844 2670
+-83.774 49.844 2671
+-83.648 49.844 2671
+-83.522 49.844 2672
+-83.396 49.844 2672
+-83.27 49.844 2672
+-83.144 49.844 2673
+-83.018 49.844 2673
+-82.892 49.844 2674
+-82.766 49.844 2674
+-82.64 49.844 2674
+-82.514 49.844 2675
+-82.388 49.844 2675
+-82.262 49.844 2676
+-82.136 49.844 2676
+-82.01 49.844 2677
+-81.884 49.844 2677
+-81.758 49.844 2677
+-81.632 49.844 2678
+-81.506 49.844 2678
+-81.38 49.844 2679
+-81.254 49.844 2679
+-81.128 49.844 2680
+-81.002 49.844 2680
+-80.876 49.844 2681
+-80.75 49.844 2681
+-80.624 49.844 2681
+-80.498 49.844 2682
+-80.372 49.844 2682
+-80.246 49.844 2683
+-80.12 49.844 2683
+-79.994 49.844 2684
+-79.868 49.844 2684
+-79.742 49.844 2685
+-79.616 49.844 2685
+-79.49 49.844 2686
+-79.364 49.844 2697
+-79.238 49.844 2698
+-79.112 49.844 2698
+-78.986 49.844 2699
+-78.86 49.844 2583
+-78.734 49.844 2583
+-78.608 49.844 2583
+-78.482 49.844 2583
+-78.356 49.844 2584
+-78.23 49.844 2584
+-78.104 49.844 2584
+-77.978 49.844 2585
+-77.852 49.844 2585
+-77.726 49.844 2585
+-77.6 49.844 2592
+-77.474 49.844 2600
+-77.348 49.844 2600
+-77.222 49.844 2600
+-77.096 49.844 2601
+-76.97 49.844 2619
+-76.844 49.844 2619
+-76.718 49.844 2619
+-76.592 49.844 2620
+-76.466 49.844 2623
+-76.34 49.844 2754
+-76.214 49.844 2755
+-76.088 49.844 2755
+-75.962 49.844 2762
+-75.836 49.844 2763
+-75.71 49.844 2762
+-75.584 49.844 2782
+-75.458 49.844 2760
+-75.332 49.844 2776
+-75.206 49.844 2776
+-75.08 49.844 2771
+-74.954 49.844 2771
+-74.828 49.844 2771
+-74.702 49.844 2772
+-74.576 49.844 2773
+-74.45 49.844 2865
+-74.324 49.844 2865
+-74.198 49.844 2866
+-74.072 49.844 2866
+-73.946 49.844 2886
+-73.82 49.844 2887
+-73.694 49.844 2864
+-73.568 49.844 2864
+-73.442 49.844 2864
+-73.316 49.844 2865
+-73.19 49.844 2833
+-73.064 49.844 2844
+-72.938 49.844 2845
+-72.812 49.844 2975
+-72.686 49.844 2933
+-72.56 49.844 2933
+-72.434 49.844 3079
+-72.308 49.844 3075
+-72.182 49.844 3033
+-72.056 49.844 3102
+-71.93 49.844 2983
+-71.804 49.844 3017
+-71.678 49.844 3075
+-71.552 49.844 2966
+-71.426 49.844 2973
+-71.3 49.844 2873
+-71.174 49.844 2869
+-71.048 49.844 2887
+-70.922 49.844 2855
+-70.796 49.844 2856
+-70.67 49.844 2856
+-70.544 49.844 2791
+-70.418 49.844 2838
+-70.292 49.844 2829
+-70.166 49.844 2817
+-70.04 49.844 2817
+-69.914 49.844 2818
+-69.788 49.844 2818
+-69.662 49.844 2753
+-69.536 49.844 2748
+-69.41 49.844 2748
+-69.284 49.844 2749
+-69.158 49.844 2749
+-69.032 49.844 2745
+-68.906 49.844 2686
+-68.78 49.844 2793
+-68.654 49.844 2788
+-68.528 49.844 2794
+-68.402 49.844 2795
+-68.276 49.844 2795
+-68.15 49.844 2796
+-68.024 49.844 2823
+-67.898 49.844 2798
+-67.772 49.844 2868
+-67.646 49.844 2869
+-67.52 49.844 2858
+-67.394 49.844 2867
+-67.268 49.844 2867
+-67.142 49.844 2868
+-67.016 49.844 2854
+-66.89 49.844 2971
+-66.764 49.844 2971
+-66.638 49.844 2972
+-66.512 49.844 2972
+-66.386 49.844 3072
+-66.26 49.844 3022
+-66.134 49.844 3169
+-66.008 49.844 3170
+-65.882 49.844 3130
+-65.756 49.844 3130
+-65.63 49.844 3130
+-65.504 49.844 3131
+-65.378 49.844 3131
+-65.252 49.844 3131
+-65.126 49.844 3235
+-128 49.792 3304
+-127.874 49.792 3477
+-127.748 49.792 3781
+-127.622 49.792 3990
+-127.496 49.792 4114
+-127.37 49.792 4167
+-127.244 49.792 4163
+-127.118 49.792 4151
+-126.992 49.792 4242
+-126.866 49.792 4359
+-126.74 49.792 4495
+-126.614 49.792 4604
+-126.488 49.792 4714
+-126.362 49.792 4789
+-126.236 49.792 4842
+-126.11 49.792 4929
+-125.984 49.792 5034
+-125.858 49.792 5224
+-125.732 49.792 5361
+-125.606 49.792 5357
+-125.48 49.792 5513
+-125.354 49.792 5608
+-125.228 49.792 5690
+-125.102 49.792 5768
+-124.976 49.792 5853
+-124.85 49.792 5884
+-124.724 49.792 5965
+-124.598 49.792 6029
+-124.472 49.792 6095
+-124.346 49.792 6121
+-124.22 49.792 6206
+-124.094 49.792 6265
+-123.968 49.792 6318
+-123.842 49.792 6359
+-123.716 49.792 6419
+-123.59 49.792 6467
+-123.464 49.792 6500
+-123.338 49.792 6494
+-123.212 49.792 6521
+-123.086 49.792 6551
+-122.96 49.792 6525
+-122.834 49.792 6525
+-122.708 49.792 6509
+-122.582 49.792 6510
+-122.456 49.792 6470
+-122.33 49.792 6434
+-122.204 49.792 6397
+-122.078 49.792 6392
+-121.952 49.792 6323
+-121.826 49.792 6285
+-121.7 49.792 6238
+-121.574 49.792 6204
+-121.448 49.792 6161
+-121.322 49.792 6091
+-121.196 49.792 6018
+-121.07 49.792 5929
+-120.944 49.792 5811
+-120.818 49.792 5774
+-120.692 49.792 5663
+-120.566 49.792 5540
+-120.44 49.792 5436
+-120.314 49.792 5325
+-120.188 49.792 5207
+-120.062 49.792 5131
+-119.936 49.792 5126
+-119.81 49.792 5133
+-119.684 49.792 5146
+-119.558 49.792 5181
+-119.432 49.792 5189
+-119.306 49.792 5244
+-119.18 49.792 5277
+-119.054 49.792 5304
+-118.928 49.792 5320
+-118.802 49.792 5343
+-118.676 49.792 5337
+-118.55 49.792 5351
+-118.424 49.792 5399
+-118.298 49.792 5372
+-118.172 49.792 5356
+-118.046 49.792 5346
+-117.92 49.792 5340
+-117.794 49.792 5318
+-117.668 49.792 5326
+-117.542 49.792 5302
+-117.416 49.792 5265
+-117.29 49.792 5217
+-117.164 49.792 5189
+-117.038 49.792 5170
+-116.912 49.792 5111
+-116.786 49.792 5051
+-116.66 49.792 5025
+-116.534 49.792 4982
+-116.408 49.792 4911
+-116.282 49.792 4830
+-116.156 49.792 4792
+-116.03 49.792 4733
+-115.904 49.792 4669
+-115.778 49.792 4593
+-115.652 49.792 4511
+-115.526 49.792 4447
+-115.4 49.792 4378
+-115.274 49.792 4300
+-115.148 49.792 4245
+-115.022 49.792 4193
+-114.896 49.792 4163
+-114.77 49.792 4120
+-114.644 49.792 4071
+-114.518 49.792 4008
+-114.392 49.792 3944
+-114.266 49.792 3842
+-114.14 49.792 3722
+-114.014 49.792 3556
+-113.888 49.792 3319
+-113.762 49.792 3102
+-113.636 49.792 2912
+-113.51 49.792 2834
+-113.384 49.792 2784
+-113.258 49.792 2633
+-113.132 49.792 2730
+-113.006 49.792 2862
+-112.88 49.792 2972
+-112.754 49.792 3065
+-112.628 49.792 3137
+-112.502 49.792 3200
+-112.376 49.792 3243
+-112.25 49.792 3267
+-112.124 49.792 3306
+-111.998 49.792 3339
+-111.872 49.792 3368
+-111.746 49.792 3323
+-111.62 49.792 3328
+-111.494 49.792 3340
+-111.368 49.792 3351
+-111.242 49.792 3347
+-111.116 49.792 3345
+-110.99 49.792 3288
+-110.864 49.792 3292
+-110.738 49.792 3299
+-110.612 49.792 3305
+-110.486 49.792 3310
+-110.36 49.792 3315
+-110.234 49.792 3320
+-110.108 49.792 3325
+-109.982 49.792 3329
+-109.856 49.792 3333
+-109.73 49.792 3321
+-109.604 49.792 3277
+-109.478 49.792 3264
+-109.352 49.792 3267
+-109.226 49.792 3270
+-109.1 49.792 3273
+-108.974 49.792 3276
+-108.848 49.792 3279
+-108.722 49.792 3258
+-108.596 49.792 3261
+-108.47 49.792 3265
+-108.344 49.792 3268
+-108.218 49.792 3240
+-108.092 49.792 3243
+-107.966 49.792 3247
+-107.84 49.792 3250
+-107.714 49.792 3238
+-107.588 49.792 3241
+-107.462 49.792 3244
+-107.336 49.792 3247
+-107.21 49.792 3240
+-107.084 49.792 3244
+-106.958 49.792 3247
+-106.832 49.792 3250
+-106.706 49.792 3240
+-106.58 49.792 3244
+-106.454 49.792 3247
+-106.328 49.792 3250
+-106.202 49.792 3253
+-106.076 49.792 3256
+-105.95 49.792 3259
+-105.824 49.792 3262
+-105.698 49.792 3265
+-105.572 49.792 3267
+-105.446 49.792 3270
+-105.32 49.792 3208
+-105.194 49.792 3193
+-105.068 49.792 3196
+-104.942 49.792 3198
+-104.816 49.792 3201
+-104.69 49.792 3203
+-104.564 49.792 3173
+-104.438 49.792 3168
+-104.312 49.792 3171
+-104.186 49.792 3173
+-104.06 49.792 3151
+-103.934 49.792 3153
+-103.808 49.792 3156
+-103.682 49.792 3158
+-103.556 49.792 3160
+-103.43 49.792 3162
+-103.304 49.792 3164
+-103.178 49.792 3167
+-103.052 49.792 3169
+-102.926 49.792 3170
+-102.8 49.792 3172
+-102.674 49.792 3174
+-102.548 49.792 3176
+-102.422 49.792 3178
+-102.296 49.792 3180
+-102.17 49.792 3154
+-102.044 49.792 3036
+-101.918 49.792 3035
+-101.792 49.792 3034
+-101.666 49.792 3033
+-101.54 49.792 3031
+-101.414 49.792 3030
+-101.288 49.792 3029
+-101.162 49.792 3027
+-101.036 49.792 2892
+-100.91 49.792 2888
+-100.784 49.792 2885
+-100.658 49.792 2873
+-100.532 49.792 2820
+-100.406 49.792 2816
+-100.28 49.792 2812
+-100.154 49.792 2834
+-100.028 49.792 2725
+-99.902 49.792 2656
+-99.776 49.792 2654
+-99.65 49.792 2685
+-99.524 49.792 2574
+-99.398 49.792 2633
+-99.272 49.792 2505
+-99.146 49.792 2566
+-99.02 49.792 2776
+-98.894 49.792 2736
+-98.768 49.792 2709
+-98.642 49.792 2685
+-98.516 49.792 2686
+-98.39 49.792 2686
+-98.264 49.792 2699
+-98.138 49.792 2698
+-98.012 49.792 2798
+-97.886 49.792 2797
+-97.76 49.792 2795
+-97.634 49.792 2794
+-97.508 49.792 2792
+-97.382 49.792 2791
+-97.256 49.792 2789
+-97.13 49.792 2788
+-97.004 49.792 2786
+-96.878 49.792 2785
+-96.752 49.792 2783
+-96.626 49.792 2782
+-96.5 49.792 2780
+-96.374 49.792 2779
+-96.248 49.792 2777
+-96.122 49.792 2775
+-95.996 49.792 2774
+-95.87 49.792 2772
+-95.744 49.792 2771
+-95.618 49.792 2769
+-95.492 49.792 2767
+-95.366 49.792 2766
+-95.24 49.792 2764
+-95.114 49.792 2763
+-94.988 49.792 2761
+-94.862 49.792 2759
+-94.736 49.792 2758
+-94.61 49.792 2756
+-94.484 49.792 2755
+-94.358 49.792 2753
+-94.232 49.792 2751
+-94.106 49.792 2750
+-93.98 49.792 2748
+-93.854 49.792 2747
+-93.728 49.792 2745
+-93.602 49.792 2744
+-93.476 49.792 2742
+-93.35 49.792 2741
+-93.224 49.792 2739
+-93.098 49.792 2738
+-92.972 49.792 2736
+-92.846 49.792 2735
+-92.72 49.792 2734
+-92.594 49.792 2732
+-92.468 49.792 2731
+-92.342 49.792 2730
+-92.216 49.792 2728
+-92.09 49.792 2727
+-91.964 49.792 2726
+-91.838 49.792 2725
+-91.712 49.792 2724
+-91.586 49.792 2723
+-91.46 49.792 2722
+-91.334 49.792 2721
+-91.208 49.792 2720
+-91.082 49.792 2719
+-90.956 49.792 2718
+-90.83 49.792 2718
+-90.704 49.792 2717
+-90.578 49.792 2716
+-90.452 49.792 2668
+-90.326 49.792 2668
+-90.2 49.792 2667
+-90.074 49.792 2666
+-89.948 49.792 2666
+-89.822 49.792 2665
+-89.696 49.792 2665
+-89.57 49.792 2664
+-89.444 49.792 2664
+-89.318 49.792 2664
+-89.192 49.792 2663
+-89.066 49.792 2663
+-88.94 49.792 2663
+-88.814 49.792 2662
+-88.688 49.792 2662
+-88.562 49.792 2662
+-88.436 49.792 2662
+-88.31 49.792 2662
+-88.184 49.792 2662
+-88.058 49.792 2662
+-87.932 49.792 2662
+-87.806 49.792 2662
+-87.68 49.792 2662
+-87.554 49.792 2662
+-87.428 49.792 2662
+-87.302 49.792 2662
+-87.176 49.792 2662
+-87.05 49.792 2662
+-86.924 49.792 2662
+-86.798 49.792 2662
+-86.672 49.792 2663
+-86.546 49.792 2663
+-86.42 49.792 2663
+-86.294 49.792 2663
+-86.168 49.792 2663
+-86.042 49.792 2664
+-85.916 49.792 2664
+-85.79 49.792 2664
+-85.664 49.792 2664
+-85.538 49.792 2665
+-85.412 49.792 2665
+-85.286 49.792 2665
+-85.16 49.792 2666
+-85.034 49.792 2666
+-84.908 49.792 2666
+-84.782 49.792 2667
+-84.656 49.792 2667
+-84.53 49.792 2667
+-84.404 49.792 2668
+-84.278 49.792 2668
+-84.152 49.792 2669
+-84.026 49.792 2669
+-83.9 49.792 2669
+-83.774 49.792 2670
+-83.648 49.792 2670
+-83.522 49.792 2671
+-83.396 49.792 2671
+-83.27 49.792 2671
+-83.144 49.792 2672
+-83.018 49.792 2672
+-82.892 49.792 2673
+-82.766 49.792 2673
+-82.64 49.792 2673
+-82.514 49.792 2674
+-82.388 49.792 2674
+-82.262 49.792 2675
+-82.136 49.792 2675
+-82.01 49.792 2676
+-81.884 49.792 2676
+-81.758 49.792 2677
+-81.632 49.792 2677
+-81.506 49.792 2677
+-81.38 49.792 2678
+-81.254 49.792 2678
+-81.128 49.792 2679
+-81.002 49.792 2679
+-80.876 49.792 2680
+-80.75 49.792 2680
+-80.624 49.792 2681
+-80.498 49.792 2681
+-80.372 49.792 2682
+-80.246 49.792 2682
+-80.12 49.792 2683
+-79.994 49.792 2683
+-79.868 49.792 2683
+-79.742 49.792 2684
+-79.616 49.792 2684
+-79.49 49.792 2696
+-79.364 49.792 2697
+-79.238 49.792 2697
+-79.112 49.792 2698
+-78.986 49.792 2582
+-78.86 49.792 2582
+-78.734 49.792 2582
+-78.608 49.792 2582
+-78.482 49.792 2583
+-78.356 49.792 2583
+-78.23 49.792 2583
+-78.104 49.792 2584
+-77.978 49.792 2584
+-77.852 49.792 2584
+-77.726 49.792 2591
+-77.6 49.792 2599
+-77.474 49.792 2599
+-77.348 49.792 2599
+-77.222 49.792 2600
+-77.096 49.792 2618
+-76.97 49.792 2618
+-76.844 49.792 2619
+-76.718 49.792 2619
+-76.592 49.792 2622
+-76.466 49.792 2754
+-76.34 49.792 2754
+-76.214 49.792 2754
+-76.088 49.792 2761
+-75.962 49.792 2762
+-75.836 49.792 2762
+-75.71 49.792 2781
+-75.584 49.792 2759
+-75.458 49.792 2775
+-75.332 49.792 2776
+-75.206 49.792 2770
+-75.08 49.792 2770
+-74.954 49.792 2771
+-74.828 49.792 2771
+-74.702 49.792 2773
+-74.576 49.792 2864
+-74.45 49.792 2864
+-74.324 49.792 2865
+-74.198 49.792 2865
+-74.072 49.792 2885
+-73.946 49.792 2886
+-73.82 49.792 2863
+-73.694 49.792 2863
+-73.568 49.792 2864
+-73.442 49.792 2864
+-73.316 49.792 2833
+-73.19 49.792 2843
+-73.064 49.792 2844
+-72.938 49.792 2975
+-72.812 49.792 2932
+-72.686 49.792 2932
+-72.56 49.792 3078
+-72.434 49.792 3074
+-72.308 49.792 3032
+-72.182 49.792 3101
+-72.056 49.792 2982
+-71.93 49.792 3016
+-71.804 49.792 3074
+-71.678 49.792 2965
+-71.552 49.792 2973
+-71.426 49.792 2872
+-71.3 49.792 2868
+-71.174 49.792 2886
+-71.048 49.792 2854
+-70.922 49.792 2855
+-70.796 49.792 2855
+-70.67 49.792 2790
+-70.544 49.792 2837
+-70.418 49.792 2828
+-70.292 49.792 2816
+-70.166 49.792 2816
+-70.04 49.792 2817
+-69.914 49.792 2818
+-69.788 49.792 2753
+-69.662 49.792 2747
+-69.536 49.792 2748
+-69.41 49.792 2748
+-69.284 49.792 2749
+-69.158 49.792 2744
+-69.032 49.792 2686
+-68.906 49.792 2793
+-68.78 49.792 2788
+-68.654 49.792 2794
+-68.528 49.792 2794
+-68.402 49.792 2795
+-68.276 49.792 2795
+-68.15 49.792 2822
+-68.024 49.792 2798
+-67.898 49.792 2868
+-67.772 49.792 2869
+-67.646 49.792 2858
+-67.52 49.792 2866
+-67.394 49.792 2867
+-67.268 49.792 2867
+-67.142 49.792 2853
+-67.016 49.792 2970
+-66.89 49.792 2971
+-66.764 49.792 2971
+-66.638 49.792 2972
+-66.512 49.792 3071
+-66.386 49.792 3022
+-66.26 49.792 3169
+-66.134 49.792 3169
+-66.008 49.792 3129
+-65.882 49.792 3130
+-65.756 49.792 3130
+-65.63 49.792 3130
+-65.504 49.792 3131
+-65.378 49.792 3131
+-65.252 49.792 3235
+-65.126 49.792 3229
+-128 49.74 3453
+-127.874 49.74 3596
+-127.748 49.74 3853
+-127.622 49.74 4041
+-127.496 49.74 4148
+-127.37 49.74 4202
+-127.244 49.74 4210
+-127.118 49.74 4213
+-126.992 49.74 4292
+-126.866 49.74 4425
+-126.74 49.74 4496
+-126.614 49.74 4623
+-126.488 49.74 4731
+-126.362 49.74 4787
+-126.236 49.74 4865
+-126.11 49.74 4956
+-125.984 49.74 5084
+-125.858 49.74 5252
+-125.732 49.74 5385
+-125.606 49.74 5474
+-125.48 49.74 5521
+-125.354 49.74 5625
+-125.228 49.74 5690
+-125.102 49.74 5803
+-124.976 49.74 5872
+-124.85 49.74 5947
+-124.724 49.74 6047
+-124.598 49.74 6079
+-124.472 49.74 6171
+-124.346 49.74 6202
+-124.22 49.74 6257
+-124.094 49.74 6367
+-123.968 49.74 6373
+-123.842 49.74 6415
+-123.716 49.74 6481
+-123.59 49.74 6492
+-123.464 49.74 6527
+-123.338 49.74 6548
+-123.212 49.74 6574
+-123.086 49.74 6575
+-122.96 49.74 6576
+-122.834 49.74 6574
+-122.708 49.74 6560
+-122.582 49.74 6543
+-122.456 49.74 6510
+-122.33 49.74 6504
+-122.204 49.74 6475
+-122.078 49.74 6427
+-121.952 49.74 6372
+-121.826 49.74 6328
+-121.7 49.74 6272
+-121.574 49.74 6236
+-121.448 49.74 6181
+-121.322 49.74 6128
+-121.196 49.74 6064
+-121.07 49.74 5995
+-120.944 49.74 5890
+-120.818 49.74 5803
+-120.692 49.74 5677
+-120.566 49.74 5549
+-120.44 49.74 5504
+-120.314 49.74 5365
+-120.188 49.74 5247
+-120.062 49.74 5022
+-119.936 49.74 5152
+-119.81 49.74 5186
+-119.684 49.74 5198
+-119.558 49.74 5246
+-119.432 49.74 5299
+-119.306 49.74 5305
+-119.18 49.74 5333
+-119.054 49.74 5381
+-118.928 49.74 5366
+-118.802 49.74 5381
+-118.676 49.74 5403
+-118.55 49.74 5428
+-118.424 49.74 5424
+-118.298 49.74 5422
+-118.172 49.74 5425
+-118.046 49.74 5421
+-117.92 49.74 5399
+-117.794 49.74 5387
+-117.668 49.74 5362
+-117.542 49.74 5343
+-117.416 49.74 5326
+-117.29 49.74 5277
+-117.164 49.74 5242
+-117.038 49.74 5222
+-116.912 49.74 5181
+-116.786 49.74 5098
+-116.66 49.74 5047
+-116.534 49.74 5016
+-116.408 49.74 4963
+-116.282 49.74 4849
+-116.156 49.74 4779
+-116.03 49.74 4747
+-115.904 49.74 4655
+-115.778 49.74 4594
+-115.652 49.74 4470
+-115.526 49.74 4469
+-115.4 49.74 4363
+-115.274 49.74 4297
+-115.148 49.74 4272
+-115.022 49.74 4222
+-114.896 49.74 4162
+-114.77 49.74 4084
+-114.644 49.74 4031
+-114.518 49.74 3977
+-114.392 49.74 3927
+-114.266 49.74 3859
+-114.14 49.74 3744
+-114.014 49.74 3569
+-113.888 49.74 3346
+-113.762 49.74 3137
+-113.636 49.74 2964
+-113.51 49.74 2879
+-113.384 49.74 2824
+-113.258 49.74 2750
+-113.132 49.74 2796
+-113.006 49.74 2893
+-112.88 49.74 2991
+-112.754 49.74 3075
+-112.628 49.74 3147
+-112.502 49.74 3199
+-112.376 49.74 3232
+-112.25 49.74 3276
+-112.124 49.74 3314
+-111.998 49.74 3346
+-111.872 49.74 3308
+-111.746 49.74 3315
+-111.62 49.74 3329
+-111.494 49.74 3340
+-111.368 49.74 3338
+-111.242 49.74 3337
+-111.116 49.74 3282
+-110.99 49.74 3287
+-110.864 49.74 3293
+-110.738 49.74 3300
+-110.612 49.74 3305
+-110.486 49.74 3311
+-110.36 49.74 3315
+-110.234 49.74 3320
+-110.108 49.74 3324
+-109.982 49.74 3328
+-109.856 49.74 3316
+-109.73 49.74 3273
+-109.604 49.74 3260
+-109.478 49.74 3263
+-109.352 49.74 3266
+-109.226 49.74 3269
+-109.1 49.74 3272
+-108.974 49.74 3275
+-108.848 49.74 3254
+-108.722 49.74 3258
+-108.596 49.74 3261
+-108.47 49.74 3264
+-108.344 49.74 3236
+-108.218 49.74 3240
+-108.092 49.74 3244
+-107.966 49.74 3247
+-107.84 49.74 3235
+-107.714 49.74 3238
+-107.588 49.74 3242
+-107.462 49.74 3245
+-107.336 49.74 3237
+-107.21 49.74 3241
+-107.084 49.74 3244
+-106.958 49.74 3247
+-106.832 49.74 3238
+-106.706 49.74 3241
+-106.58 49.74 3245
+-106.454 49.74 3248
+-106.328 49.74 3251
+-106.202 49.74 3254
+-106.076 49.74 3257
+-105.95 49.74 3260
+-105.824 49.74 3263
+-105.698 49.74 3266
+-105.572 49.74 3268
+-105.446 49.74 3206
+-105.32 49.74 3192
+-105.194 49.74 3194
+-105.068 49.74 3197
+-104.942 49.74 3199
+-104.816 49.74 3202
+-104.69 49.74 3172
+-104.564 49.74 3166
+-104.438 49.74 3169
+-104.312 49.74 3172
+-104.186 49.74 3150
+-104.06 49.74 3152
+-103.934 49.74 3155
+-103.808 49.74 3157
+-103.682 49.74 3159
+-103.556 49.74 3161
+-103.43 49.74 3164
+-103.304 49.74 3166
+-103.178 49.74 3168
+-103.052 49.74 3170
+-102.926 49.74 3172
+-102.8 49.74 3174
+-102.674 49.74 3175
+-102.548 49.74 3177
+-102.422 49.74 3179
+-102.296 49.74 3154
+-102.17 49.74 3108
+-102.044 49.74 3036
+-101.918 49.74 3035
+-101.792 49.74 3034
+-101.666 49.74 3033
+-101.54 49.74 3032
+-101.414 49.74 3031
+-101.288 49.74 3029
+-101.162 49.74 3028
+-101.036 49.74 2892
+-100.91 49.74 2888
+-100.784 49.74 2877
+-100.658 49.74 2823
+-100.532 49.74 2819
+-100.406 49.74 2815
+-100.28 49.74 2837
+-100.154 49.74 2727
+-100.028 49.74 2705
+-99.902 49.74 2656
+-99.776 49.74 2686
+-99.65 49.74 2692
+-99.524 49.74 2634
+-99.398 49.74 2580
+-99.272 49.74 2567
+-99.146 49.74 2724
+-99.02 49.74 2735
+-98.894 49.74 2709
+-98.768 49.74 2685
+-98.642 49.74 2686
+-98.516 49.74 2686
+-98.39 49.74 2700
+-98.264 49.74 2699
+-98.138 49.74 2799
+-98.012 49.74 2798
+-97.886 49.74 2797
+-97.76 49.74 2795
+-97.634 49.74 2794
+-97.508 49.74 2792
+-97.382 49.74 2791
+-97.256 49.74 2789
+-97.13 49.74 2788
+-97.004 49.74 2786
+-96.878 49.74 2785
+-96.752 49.74 2783
+-96.626 49.74 2781
+-96.5 49.74 2780
+-96.374 49.74 2778
+-96.248 49.74 2777
+-96.122 49.74 2775
+-95.996 49.74 2773
+-95.87 49.74 2772
+-95.744 49.74 2770
+-95.618 49.74 2768
+-95.492 49.74 2767
+-95.366 49.74 2765
+-95.24 49.74 2763
+-95.114 49.74 2762
+-94.988 49.74 2760
+-94.862 49.74 2758
+-94.736 49.74 2757
+-94.61 49.74 2755
+-94.484 49.74 2753
+-94.358 49.74 2752
+-94.232 49.74 2750
+-94.106 49.74 2749
+-93.98 49.74 2747
+-93.854 49.74 2745
+-93.728 49.74 2744
+-93.602 49.74 2742
+-93.476 49.74 2741
+-93.35 49.74 2739
+-93.224 49.74 2738
+-93.098 49.74 2736
+-92.972 49.74 2735
+-92.846 49.74 2733
+-92.72 49.74 2732
+-92.594 49.74 2731
+-92.468 49.74 2729
+-92.342 49.74 2728
+-92.216 49.74 2727
+-92.09 49.74 2726
+-91.964 49.74 2724
+-91.838 49.74 2723
+-91.712 49.74 2722
+-91.586 49.74 2721
+-91.46 49.74 2720
+-91.334 49.74 2719
+-91.208 49.74 2718
+-91.082 49.74 2717
+-90.956 49.74 2716
+-90.83 49.74 2716
+-90.704 49.74 2715
+-90.578 49.74 2714
+-90.452 49.74 2666
+-90.326 49.74 2666
+-90.2 49.74 2665
+-90.074 49.74 2664
+-89.948 49.74 2664
+-89.822 49.74 2663
+-89.696 49.74 2663
+-89.57 49.74 2662
+-89.444 49.74 2662
+-89.318 49.74 2662
+-89.192 49.74 2661
+-89.066 49.74 2661
+-88.94 49.74 2661
+-88.814 49.74 2661
+-88.688 49.74 2660
+-88.562 49.74 2660
+-88.436 49.74 2660
+-88.31 49.74 2660
+-88.184 49.74 2660
+-88.058 49.74 2660
+-87.932 49.74 2660
+-87.806 49.74 2660
+-87.68 49.74 2660
+-87.554 49.74 2660
+-87.428 49.74 2660
+-87.302 49.74 2660
+-87.176 49.74 2660
+-87.05 49.74 2660
+-86.924 49.74 2661
+-86.798 49.74 2661
+-86.672 49.74 2661
+-86.546 49.74 2661
+-86.42 49.74 2661
+-86.294 49.74 2662
+-86.168 49.74 2662
+-86.042 49.74 2662
+-85.916 49.74 2663
+-85.79 49.74 2663
+-85.664 49.74 2663
+-85.538 49.74 2663
+-85.412 49.74 2664
+-85.286 49.74 2664
+-85.16 49.74 2664
+-85.034 49.74 2665
+-84.908 49.74 2665
+-84.782 49.74 2665
+-84.656 49.74 2666
+-84.53 49.74 2666
+-84.404 49.74 2667
+-84.278 49.74 2667
+-84.152 49.74 2667
+-84.026 49.74 2668
+-83.9 49.74 2668
+-83.774 49.74 2669
+-83.648 49.74 2669
+-83.522 49.74 2669
+-83.396 49.74 2670
+-83.27 49.74 2670
+-83.144 49.74 2671
+-83.018 49.74 2671
+-82.892 49.74 2672
+-82.766 49.74 2672
+-82.64 49.74 2672
+-82.514 49.74 2673
+-82.388 49.74 2673
+-82.262 49.74 2674
+-82.136 49.74 2674
+-82.01 49.74 2675
+-81.884 49.74 2675
+-81.758 49.74 2676
+-81.632 49.74 2676
+-81.506 49.74 2677
+-81.38 49.74 2677
+-81.254 49.74 2677
+-81.128 49.74 2678
+-81.002 49.74 2678
+-80.876 49.74 2679
+-80.75 49.74 2679
+-80.624 49.74 2680
+-80.498 49.74 2680
+-80.372 49.74 2681
+-80.246 49.74 2681
+-80.12 49.74 2682
+-79.994 49.74 2682
+-79.868 49.74 2683
+-79.742 49.74 2683
+-79.616 49.74 2695
+-79.49 49.74 2696
+-79.364 49.74 2696
+-79.238 49.74 2697
+-79.112 49.74 2581
+-78.986 49.74 2581
+-78.86 49.74 2581
+-78.734 49.74 2581
+-78.608 49.74 2582
+-78.482 49.74 2582
+-78.356 49.74 2582
+-78.23 49.74 2583
+-78.104 49.74 2583
+-77.978 49.74 2583
+-77.852 49.74 2590
+-77.726 49.74 2598
+-77.6 49.74 2598
+-77.474 49.74 2598
+-77.348 49.74 2599
+-77.222 49.74 2617
+-77.096 49.74 2617
+-76.97 49.74 2618
+-76.844 49.74 2618
+-76.718 49.74 2621
+-76.592 49.74 2753
+-76.466 49.74 2753
+-76.34 49.74 2753
+-76.214 49.74 2761
+-76.088 49.74 2761
+-75.962 49.74 2761
+-75.836 49.74 2780
+-75.71 49.74 2758
+-75.584 49.74 2774
+-75.458 49.74 2775
+-75.332 49.74 2769
+-75.206 49.74 2769
+-75.08 49.74 2770
+-74.954 49.74 2770
+-74.828 49.74 2772
+-74.702 49.74 2863
+-74.576 49.74 2863
+-74.45 49.74 2864
+-74.324 49.74 2864
+-74.198 49.74 2884
+-74.072 49.74 2885
+-73.946 49.74 2862
+-73.82 49.74 2862
+-73.694 49.74 2863
+-73.568 49.74 2863
+-73.442 49.74 2832
+-73.316 49.74 2842
+-73.19 49.74 2843
+-73.064 49.74 2974
+-72.938 49.74 2931
+-72.812 49.74 2931
+-72.686 49.74 3077
+-72.56 49.74 3073
+-72.434 49.74 3031
+-72.308 49.74 3100
+-72.182 49.74 2981
+-72.056 49.74 3015
+-71.93 49.74 3073
+-71.804 49.74 2964
+-71.678 49.74 2972
+-71.552 49.74 2871
+-71.426 49.74 2867
+-71.3 49.74 2885
+-71.174 49.74 2854
+-71.048 49.74 2854
+-70.922 49.74 2855
+-70.796 49.74 2789
+-70.67 49.74 2837
+-70.544 49.74 2827
+-70.418 49.74 2815
+-70.292 49.74 2816
+-70.166 49.74 2816
+-70.04 49.74 2817
+-69.914 49.74 2752
+-69.788 49.74 2747
+-69.662 49.74 2747
+-69.536 49.74 2748
+-69.41 49.74 2748
+-69.284 49.74 2744
+-69.158 49.74 2686
+-69.032 49.74 2792
+-68.906 49.74 2787
+-68.78 49.74 2793
+-68.654 49.74 2794
+-68.528 49.74 2794
+-68.402 49.74 2795
+-68.276 49.74 2822
+-68.15 49.74 2798
+-68.024 49.74 2867
+-67.898 49.74 2868
+-67.772 49.74 2857
+-67.646 49.74 2866
+-67.52 49.74 2866
+-67.394 49.74 2867
+-67.268 49.74 2853
+-67.142 49.74 2970
+-67.016 49.74 2970
+-66.89 49.74 2971
+-66.764 49.74 2971
+-66.638 49.74 3071
+-66.512 49.74 3021
+-66.386 49.74 3169
+-66.26 49.74 3169
+-66.134 49.74 3129
+-66.008 49.74 3129
+-65.882 49.74 3130
+-65.756 49.74 3130
+-65.63 49.74 3130
+-65.504 49.74 3131
+-65.378 49.74 3234
+-65.252 49.74 3229
+-65.126 49.74 3229
+-128 49.688 3715
+-127.874 49.688 3807
+-127.748 49.688 3960
+-127.622 49.688 4097
+-127.496 49.688 4185
+-127.37 49.688 4226
+-127.244 49.688 4212
+-127.118 49.688 4145
+-126.992 49.688 4297
+-126.866 49.688 4446
+-126.74 49.688 4444
+-126.614 49.688 4623
+-126.488 49.688 4723
+-126.362 49.688 4807
+-126.236 49.688 4869
+-126.11 49.688 4993
+-125.984 49.688 5121
+-125.858 49.688 5266
+-125.732 49.688 5416
+-125.606 49.688 5522
+-125.48 49.688 5598
+-125.354 49.688 5663
+-125.228 49.688 5739
+-125.102 49.688 5838
+-124.976 49.688 5879
+-124.85 49.688 5975
+-124.724 49.688 6052
+-124.598 49.688 6122
+-124.472 49.688 6210
+-124.346 49.688 6274
+-124.22 49.688 6328
+-124.094 49.688 6384
+-123.968 49.688 6464
+-123.842 49.688 6477
+-123.716 49.688 6528
+-123.59 49.688 6552
+-123.464 49.688 6587
+-123.338 49.688 6605
+-123.212 49.688 6646
+-123.086 49.688 6643
+-122.96 49.688 6644
+-122.834 49.688 6634
+-122.708 49.688 6609
+-122.582 49.688 6590
+-122.456 49.688 6620
+-122.33 49.688 6561
+-122.204 49.688 6547
+-122.078 49.688 6502
+-121.952 49.688 6464
+-121.826 49.688 6403
+-121.7 49.688 6340
+-121.574 49.688 6266
+-121.448 49.688 6191
+-121.322 49.688 6119
+-121.196 49.688 6094
+-121.07 49.688 5977
+-120.944 49.688 5970
+-120.818 49.688 5838
+-120.692 49.688 5719
+-120.566 49.688 5639
+-120.44 49.688 5558
+-120.314 49.688 5432
+-120.188 49.688 5358
+-120.062 49.688 5233
+-119.936 49.688 5215
+-119.81 49.688 5234
+-119.684 49.688 5268
+-119.558 49.688 5300
+-119.432 49.688 5325
+-119.306 49.688 5357
+-119.18 49.688 5388
+-119.054 49.688 5414
+-118.928 49.688 5427
+-118.802 49.688 5469
+-118.676 49.688 5471
+-118.55 49.688 5486
+-118.424 49.688 5491
+-118.298 49.688 5481
+-118.172 49.688 5487
+-118.046 49.688 5482
+-117.92 49.688 5482
+-117.794 49.688 5431
+-117.668 49.688 5438
+-117.542 49.688 5392
+-117.416 49.688 5365
+-117.29 49.688 5313
+-117.164 49.688 5275
+-117.038 49.688 5281
+-116.912 49.688 5238
+-116.786 49.688 5160
+-116.66 49.688 5081
+-116.534 49.688 5042
+-116.408 49.688 4983
+-116.282 49.688 4917
+-116.156 49.688 4852
+-116.03 49.688 4791
+-115.904 49.688 4724
+-115.778 49.688 4649
+-115.652 49.688 4541
+-115.526 49.688 4469
+-115.4 49.688 4339
+-115.274 49.688 4254
+-115.148 49.688 4273
+-115.022 49.688 4224
+-114.896 49.688 4122
+-114.77 49.688 4005
+-114.644 49.688 3944
+-114.518 49.688 3944
+-114.392 49.688 3931
+-114.266 49.688 3879
+-114.14 49.688 3761
+-114.014 49.688 3584
+-113.888 49.688 3396
+-113.762 49.688 3200
+-113.636 49.688 3031
+-113.51 49.688 2905
+-113.384 49.688 2846
+-113.258 49.688 2851
+-113.132 49.688 2888
+-113.006 49.688 2955
+-112.88 49.688 3030
+-112.754 49.688 3104
+-112.628 49.688 3161
+-112.502 49.688 3200
+-112.376 49.688 3249
+-112.25 49.688 3290
+-112.124 49.688 3326
+-111.998 49.688 3293
+-111.872 49.688 3304
+-111.746 49.688 3318
+-111.62 49.688 3331
+-111.494 49.688 3330
+-111.368 49.688 3331
+-111.242 49.688 3278
+-111.116 49.688 3281
+-110.99 49.688 3289
+-110.864 49.688 3295
+-110.738 49.688 3301
+-110.612 49.688 3306
+-110.486 49.688 3311
+-110.36 49.688 3315
+-110.234 49.688 3319
+-110.108 49.688 3323
+-109.982 49.688 3312
+-109.856 49.688 3269
+-109.73 49.688 3256
+-109.604 49.688 3259
+-109.478 49.688 3262
+-109.352 49.688 3266
+-109.226 49.688 3269
+-109.1 49.688 3272
+-108.974 49.688 3250
+-108.848 49.688 3254
+-108.722 49.688 3257
+-108.596 49.688 3261
+-108.47 49.688 3233
+-108.344 49.688 3236
+-108.218 49.688 3240
+-108.092 49.688 3244
+-107.966 49.688 3232
+-107.84 49.688 3235
+-107.714 49.688 3239
+-107.588 49.688 3242
+-107.462 49.688 3234
+-107.336 49.688 3238
+-107.21 49.688 3241
+-107.084 49.688 3245
+-106.958 49.688 3235
+-106.832 49.688 3239
+-106.706 49.688 3242
+-106.58 49.688 3246
+-106.454 49.688 3249
+-106.328 49.688 3252
+-106.202 49.688 3255
+-106.076 49.688 3258
+-105.95 49.688 3261
+-105.824 49.688 3264
+-105.698 49.688 3267
+-105.572 49.688 3204
+-105.446 49.688 3190
+-105.32 49.688 3193
+-105.194 49.688 3195
+-105.068 49.688 3198
+-104.942 49.688 3200
+-104.816 49.688 3170
+-104.69 49.688 3165
+-104.564 49.688 3168
+-104.438 49.688 3171
+-104.312 49.688 3149
+-104.186 49.688 3151
+-104.06 49.688 3154
+-103.934 49.688 3156
+-103.808 49.688 3158
+-103.682 49.688 3161
+-103.556 49.688 3163
+-103.43 49.688 3165
+-103.304 49.688 3167
+-103.178 49.688 3169
+-103.052 49.688 3171
+-102.926 49.688 3173
+-102.8 49.688 3175
+-102.674 49.688 3177
+-102.548 49.688 3179
+-102.422 49.688 3153
+-102.296 49.688 3108
+-102.17 49.688 3109
+-102.044 49.688 3037
+-101.918 49.688 3036
+-101.792 49.688 3035
+-101.666 49.688 3034
+-101.54 49.688 3033
+-101.414 49.688 3031
+-101.288 49.688 3030
+-101.162 49.688 3028
+-101.036 49.688 2892
+-100.91 49.688 2880
+-100.784 49.688 2827
+-100.658 49.688 2822
+-100.532 49.688 2819
+-100.406 49.688 2839
+-100.28 49.688 2729
+-100.154 49.688 2706
+-100.028 49.688 2705
+-99.902 49.688 2687
+-99.776 49.688 2693
+-99.65 49.688 2635
+-99.524 49.688 2738
+-99.398 49.688 2581
+-99.272 49.688 2724
+-99.146 49.688 2734
+-99.02 49.688 2708
+-98.894 49.688 2685
+-98.768 49.688 2686
+-98.642 49.688 2686
+-98.516 49.688 2701
+-98.39 49.688 2700
+-98.264 49.688 2818
+-98.138 49.688 2799
+-98.012 49.688 2798
+-97.886 49.688 2796
+-97.76 49.688 2795
+-97.634 49.688 2794
+-97.508 49.688 2792
+-97.382 49.688 2791
+-97.256 49.688 2789
+-97.13 49.688 2787
+-97.004 49.688 2786
+-96.878 49.688 2784
+-96.752 49.688 2783
+-96.626 49.688 2781
+-96.5 49.688 2779
+-96.374 49.688 2778
+-96.248 49.688 2776
+-96.122 49.688 2775
+-95.996 49.688 2773
+-95.87 49.688 2771
+-95.744 49.688 2769
+-95.618 49.688 2768
+-95.492 49.688 2766
+-95.366 49.688 2764
+-95.24 49.688 2763
+-95.114 49.688 2761
+-94.988 49.688 2759
+-94.862 49.688 2758
+-94.736 49.688 2756
+-94.61 49.688 2754
+-94.484 49.688 2752
+-94.358 49.688 2751
+-94.232 49.688 2749
+-94.106 49.688 2747
+-93.98 49.688 2746
+-93.854 49.688 2744
+-93.728 49.688 2742
+-93.602 49.688 2741
+-93.476 49.688 2739
+-93.35 49.688 2738
+-93.224 49.688 2736
+-93.098 49.688 2735
+-92.972 49.688 2733
+-92.846 49.688 2732
+-92.72 49.688 2730
+-92.594 49.688 2729
+-92.468 49.688 2728
+-92.342 49.688 2726
+-92.216 49.688 2725
+-92.09 49.688 2724
+-91.964 49.688 2722
+-91.838 49.688 2721
+-91.712 49.688 2720
+-91.586 49.688 2719
+-91.46 49.688 2718
+-91.334 49.688 2717
+-91.208 49.688 2716
+-91.082 49.688 2715
+-90.956 49.688 2714
+-90.83 49.688 2714
+-90.704 49.688 2713
+-90.578 49.688 2712
+-90.452 49.688 2664
+-90.326 49.688 2664
+-90.2 49.688 2663
+-90.074 49.688 2663
+-89.948 49.688 2662
+-89.822 49.688 2661
+-89.696 49.688 2661
+-89.57 49.688 2661
+-89.444 49.688 2660
+-89.318 49.688 2660
+-89.192 49.688 2659
+-89.066 49.688 2659
+-88.94 49.688 2659
+-88.814 49.688 2659
+-88.688 49.688 2659
+-88.562 49.688 2658
+-88.436 49.688 2658
+-88.31 49.688 2658
+-88.184 49.688 2658
+-88.058 49.688 2658
+-87.932 49.688 2658
+-87.806 49.688 2658
+-87.68 49.688 2658
+-87.554 49.688 2658
+-87.428 49.688 2658
+-87.302 49.688 2659
+-87.176 49.688 2659
+-87.05 49.688 2659
+-86.924 49.688 2659
+-86.798 49.688 2659
+-86.672 49.688 2659
+-86.546 49.688 2660
+-86.42 49.688 2660
+-86.294 49.688 2660
+-86.168 49.688 2660
+-86.042 49.688 2661
+-85.916 49.688 2661
+-85.79 49.688 2661
+-85.664 49.688 2662
+-85.538 49.688 2662
+-85.412 49.688 2662
+-85.286 49.688 2663
+-85.16 49.688 2663
+-85.034 49.688 2663
+-84.908 49.688 2664
+-84.782 49.688 2664
+-84.656 49.688 2665
+-84.53 49.688 2665
+-84.404 49.688 2665
+-84.278 49.688 2666
+-84.152 49.688 2666
+-84.026 49.688 2667
+-83.9 49.688 2667
+-83.774 49.688 2667
+-83.648 49.688 2668
+-83.522 49.688 2668
+-83.396 49.688 2669
+-83.27 49.688 2669
+-83.144 49.688 2670
+-83.018 49.688 2670
+-82.892 49.688 2671
+-82.766 49.688 2671
+-82.64 49.688 2671
+-82.514 49.688 2672
+-82.388 49.688 2672
+-82.262 49.688 2673
+-82.136 49.688 2673
+-82.01 49.688 2674
+-81.884 49.688 2674
+-81.758 49.688 2675
+-81.632 49.688 2675
+-81.506 49.688 2676
+-81.38 49.688 2676
+-81.254 49.688 2677
+-81.128 49.688 2677
+-81.002 49.688 2678
+-80.876 49.688 2678
+-80.75 49.688 2679
+-80.624 49.688 2679
+-80.498 49.688 2680
+-80.372 49.688 2680
+-80.246 49.688 2680
+-80.12 49.688 2681
+-79.994 49.688 2681
+-79.868 49.688 2682
+-79.742 49.688 2694
+-79.616 49.688 2694
+-79.49 49.688 2695
+-79.364 49.688 2695
+-79.238 49.688 2580
+-79.112 49.688 2580
+-78.986 49.688 2580
+-78.86 49.688 2581
+-78.734 49.688 2581
+-78.608 49.688 2581
+-78.482 49.688 2581
+-78.356 49.688 2582
+-78.23 49.688 2582
+-78.104 49.688 2582
+-77.978 49.688 2589
+-77.852 49.688 2597
+-77.726 49.688 2597
+-77.6 49.688 2597
+-77.474 49.688 2598
+-77.348 49.688 2616
+-77.222 49.688 2616
+-77.096 49.688 2617
+-76.97 49.688 2617
+-76.844 49.688 2620
+-76.718 49.688 2752
+-76.592 49.688 2752
+-76.466 49.688 2752
+-76.34 49.688 2760
+-76.214 49.688 2760
+-76.088 49.688 2760
+-75.962 49.688 2779
+-75.836 49.688 2757
+-75.71 49.688 2773
+-75.584 49.688 2774
+-75.458 49.688 2768
+-75.332 49.688 2768
+-75.206 49.688 2769
+-75.08 49.688 2769
+-74.954 49.688 2771
+-74.828 49.688 2862
+-74.702 49.688 2862
+-74.576 49.688 2863
+-74.45 49.688 2863
+-74.324 49.688 2883
+-74.198 49.688 2884
+-74.072 49.688 2861
+-73.946 49.688 2861
+-73.82 49.688 2862
+-73.694 49.688 2862
+-73.568 49.688 2831
+-73.442 49.688 2842
+-73.316 49.688 2842
+-73.19 49.688 2973
+-73.064 49.688 2930
+-72.938 49.688 2930
+-72.812 49.688 3076
+-72.686 49.688 3072
+-72.56 49.688 3030
+-72.434 49.688 3099
+-72.308 49.688 2980
+-72.182 49.688 3014
+-72.056 49.688 3072
+-71.93 49.688 2963
+-71.804 49.688 2971
+-71.678 49.688 2871
+-71.552 49.688 2867
+-71.426 49.688 2884
+-71.3 49.688 2853
+-71.174 49.688 2853
+-71.048 49.688 2854
+-70.922 49.688 2789
+-70.796 49.688 2836
+-70.67 49.688 2827
+-70.544 49.688 2815
+-70.418 49.688 2815
+-70.292 49.688 2816
+-70.166 49.688 2816
+-70.04 49.688 2752
+-69.914 49.688 2746
+-69.788 49.688 2747
+-69.662 49.688 2747
+-69.536 49.688 2748
+-69.41 49.688 2743
+-69.284 49.688 2685
+-69.158 49.688 2792
+-69.032 49.688 2787
+-68.906 49.688 2793
+-68.78 49.688 2793
+-68.654 49.688 2794
+-68.528 49.688 2794
+-68.402 49.688 2822
+-68.276 49.688 2797
+-68.15 49.688 2867
+-68.024 49.688 2868
+-67.898 49.688 2857
+-67.772 49.688 2865
+-67.646 49.688 2866
+-67.52 49.688 2866
+-67.394 49.688 2852
+-67.268 49.688 2969
+-67.142 49.688 2970
+-67.016 49.688 2970
+-66.89 49.688 2971
+-66.764 49.688 3070
+-66.638 49.688 3021
+-66.512 49.688 3168
+-66.386 49.688 3169
+-66.26 49.688 3129
+-66.134 49.688 3129
+-66.008 49.688 3129
+-65.882 49.688 3130
+-65.756 49.688 3130
+-65.63 49.688 3130
+-65.504 49.688 3234
+-65.378 49.688 3228
+-65.252 49.688 3229
+-65.126 49.688 3229
+-128 49.636 3902
+-127.874 49.636 3966
+-127.748 49.636 4045
+-127.622 49.636 4135
+-127.496 49.636 4216
+-127.37 49.636 4257
+-127.244 49.636 4263
+-127.118 49.636 4263
+-126.992 49.636 4386
+-126.866 49.636 4485
+-126.74 49.636 4536
+-126.614 49.636 4660
+-126.488 49.636 4755
+-126.362 49.636 4833
+-126.236 49.636 4944
+-126.11 49.636 5032
+-125.984 49.636 5153
+-125.858 49.636 5282
+-125.732 49.636 5446
+-125.606 49.636 5577
+-125.48 49.636 5660
+-125.354 49.636 5712
+-125.228 49.636 5780
+-125.102 49.636 5884
+-124.976 49.636 5962
+-124.85 49.636 6051
+-124.724 49.636 6089
+-124.598 49.636 6194
+-124.472 49.636 6273
+-124.346 49.636 6331
+-124.22 49.636 6367
+-124.094 49.636 6449
+-123.968 49.636 6470
+-123.842 49.636 6533
+-123.716 49.636 6581
+-123.59 49.636 6630
+-123.464 49.636 6673
+-123.338 49.636 6662
+-123.212 49.636 6672
+-123.086 49.636 6712
+-122.96 49.636 6695
+-122.834 49.636 6658
+-122.708 49.636 6650
+-122.582 49.636 6650
+-122.456 49.636 6625
+-122.33 49.636 6593
+-122.204 49.636 6556
+-122.078 49.636 6510
+-121.952 49.636 6503
+-121.826 49.636 6464
+-121.7 49.636 6412
+-121.574 49.636 6315
+-121.448 49.636 6233
+-121.322 49.636 6177
+-121.196 49.636 6110
+-121.07 49.636 6042
+-120.944 49.636 5999
+-120.818 49.636 5874
+-120.692 49.636 5786
+-120.566 49.636 5698
+-120.44 49.636 5605
+-120.314 49.636 5490
+-120.188 49.636 5377
+-120.062 49.636 5287
+-119.936 49.636 5274
+-119.81 49.636 5282
+-119.684 49.636 5307
+-119.558 49.636 5301
+-119.432 49.636 5373
+-119.306 49.636 5408
+-119.18 49.636 5438
+-119.054 49.636 5478
+-118.928 49.636 5489
+-118.802 49.636 5524
+-118.676 49.636 5527
+-118.55 49.636 5527
+-118.424 49.636 5535
+-118.298 49.636 5539
+-118.172 49.636 5549
+-118.046 49.636 5547
+-117.92 49.636 5526
+-117.794 49.636 5513
+-117.668 49.636 5507
+-117.542 49.636 5455
+-117.416 49.636 5407
+-117.29 49.636 5367
+-117.164 49.636 5319
+-117.038 49.636 5299
+-116.912 49.636 5278
+-116.786 49.636 5238
+-116.66 49.636 5170
+-116.534 49.636 5100
+-116.408 49.636 5007
+-116.282 49.636 4940
+-116.156 49.636 4921
+-116.03 49.636 4833
+-115.904 49.636 4734
+-115.778 49.636 4715
+-115.652 49.636 4622
+-115.526 49.636 4509
+-115.4 49.636 4382
+-115.274 49.636 4300
+-115.148 49.636 4274
+-115.022 49.636 4236
+-114.896 49.636 4090
+-114.77 49.636 3956
+-114.644 49.636 3836
+-114.518 49.636 3923
+-114.392 49.636 3939
+-114.266 49.636 3888
+-114.14 49.636 3769
+-114.014 49.636 3629
+-113.888 49.636 3456
+-113.762 49.636 3265
+-113.636 49.636 3058
+-113.51 49.636 2883
+-113.384 49.636 2790
+-113.258 49.636 2854
+-113.132 49.636 2941
+-113.006 49.636 3012
+-112.88 49.636 3081
+-112.754 49.636 3137
+-112.628 49.636 3178
+-112.502 49.636 3228
+-112.376 49.636 3272
+-112.25 49.636 3309
+-112.124 49.636 3282
+-111.998 49.636 3294
+-111.872 49.636 3310
+-111.746 49.636 3323
+-111.62 49.636 3323
+-111.494 49.636 3325
+-111.368 49.636 3274
+-111.242 49.636 3277
+-111.116 49.636 3284
+-110.99 49.636 3291
+-110.864 49.636 3296
+-110.738 49.636 3301
+-110.612 49.636 3306
+-110.486 49.636 3311
+-110.36 49.636 3315
+-110.234 49.636 3319
+-110.108 49.636 3307
+-109.982 49.636 3265
+-109.856 49.636 3252
+-109.73 49.636 3255
+-109.604 49.636 3258
+-109.478 49.636 3262
+-109.352 49.636 3265
+-109.226 49.636 3268
+-109.1 49.636 3246
+-108.974 49.636 3250
+-108.848 49.636 3253
+-108.722 49.636 3257
+-108.596 49.636 3229
+-108.47 49.636 3233
+-108.344 49.636 3236
+-108.218 49.636 3240
+-108.092 49.636 3229
+-107.966 49.636 3232
+-107.84 49.636 3236
+-107.714 49.636 3239
+-107.588 49.636 3231
+-107.462 49.636 3235
+-107.336 49.636 3239
+-107.21 49.636 3242
+-107.084 49.636 3233
+-106.958 49.636 3236
+-106.832 49.636 3240
+-106.706 49.636 3243
+-106.58 49.636 3247
+-106.454 49.636 3250
+-106.328 49.636 3253
+-106.202 49.636 3256
+-106.076 49.636 3259
+-105.95 49.636 3262
+-105.824 49.636 3265
+-105.698 49.636 3202
+-105.572 49.636 3189
+-105.446 49.636 3191
+-105.32 49.636 3194
+-105.194 49.636 3196
+-105.068 49.636 3199
+-104.942 49.636 3169
+-104.816 49.636 3163
+-104.69 49.636 3166
+-104.564 49.636 3169
+-104.438 49.636 3148
+-104.312 49.636 3150
+-104.186 49.636 3153
+-104.06 49.636 3155
+-103.934 49.636 3157
+-103.808 49.636 3160
+-103.682 49.636 3162
+-103.556 49.636 3164
+-103.43 49.636 3166
+-103.304 49.636 3168
+-103.178 49.636 3170
+-103.052 49.636 3172
+-102.926 49.636 3174
+-102.8 49.636 3176
+-102.674 49.636 3178
+-102.548 49.636 3152
+-102.422 49.636 3107
+-102.296 49.636 3109
+-102.17 49.636 3110
+-102.044 49.636 3038
+-101.918 49.636 3037
+-101.792 49.636 3036
+-101.666 49.636 3034
+-101.54 49.636 3033
+-101.414 49.636 3032
+-101.288 49.636 3030
+-101.162 49.636 3028
+-101.036 49.636 2883
+-100.91 49.636 2831
+-100.784 49.636 2825
+-100.658 49.636 2822
+-100.532 49.636 2842
+-100.406 49.636 2730
+-100.28 49.636 2707
+-100.154 49.636 2706
+-100.028 49.636 2688
+-99.902 49.636 2710
+-99.776 49.636 2635
+-99.65 49.636 2738
+-99.524 49.636 2728
+-99.398 49.636 2728
+-99.272 49.636 2734
+-99.146 49.636 2708
+-99.02 49.636 2685
+-98.894 49.636 2686
+-98.768 49.636 2686
+-98.642 49.636 2702
+-98.516 49.636 2701
+-98.39 49.636 2819
+-98.264 49.636 2801
+-98.138 49.636 2799
+-98.012 49.636 2798
+-97.886 49.636 2796
+-97.76 49.636 2795
+-97.634 49.636 2793
+-97.508 49.636 2792
+-97.382 49.636 2790
+-97.256 49.636 2789
+-97.13 49.636 2787
+-97.004 49.636 2786
+-96.878 49.636 2784
+-96.752 49.636 2782
+-96.626 49.636 2781
+-96.5 49.636 2779
+-96.374 49.636 2777
+-96.248 49.636 2776
+-96.122 49.636 2774
+-95.996 49.636 2772
+-95.87 49.636 2771
+-95.744 49.636 2769
+-95.618 49.636 2767
+-95.492 49.636 2765
+-95.366 49.636 2764
+-95.24 49.636 2762
+-95.114 49.636 2760
+-94.988 49.636 2758
+-94.862 49.636 2757
+-94.736 49.636 2755
+-94.61 49.636 2753
+-94.484 49.636 2751
+-94.358 49.636 2750
+-94.232 49.636 2748
+-94.106 49.636 2746
+-93.98 49.636 2744
+-93.854 49.636 2743
+-93.728 49.636 2741
+-93.602 49.636 2739
+-93.476 49.636 2738
+-93.35 49.636 2736
+-93.224 49.636 2735
+-93.098 49.636 2733
+-92.972 49.636 2732
+-92.846 49.636 2730
+-92.72 49.636 2729
+-92.594 49.636 2727
+-92.468 49.636 2726
+-92.342 49.636 2724
+-92.216 49.636 2723
+-92.09 49.636 2722
+-91.964 49.636 2721
+-91.838 49.636 2719
+-91.712 49.636 2718
+-91.586 49.636 2717
+-91.46 49.636 2716
+-91.334 49.636 2715
+-91.208 49.636 2714
+-91.082 49.636 2713
+-90.956 49.636 2712
+-90.83 49.636 2711
+-90.704 49.636 2711
+-90.578 49.636 2710
+-90.452 49.636 2662
+-90.326 49.636 2662
+-90.2 49.636 2661
+-90.074 49.636 2661
+-89.948 49.636 2660
+-89.822 49.636 2659
+-89.696 49.636 2659
+-89.57 49.636 2659
+-89.444 49.636 2658
+-89.318 49.636 2658
+-89.192 49.636 2657
+-89.066 49.636 2657
+-88.94 49.636 2657
+-88.814 49.636 2657
+-88.688 49.636 2657
+-88.562 49.636 2656
+-88.436 49.636 2656
+-88.31 49.636 2656
+-88.184 49.636 2656
+-88.058 49.636 2656
+-87.932 49.636 2656
+-87.806 49.636 2656
+-87.68 49.636 2656
+-87.554 49.636 2657
+-87.428 49.636 2657
+-87.302 49.636 2657
+-87.176 49.636 2657
+-87.05 49.636 2657
+-86.924 49.636 2657
+-86.798 49.636 2658
+-86.672 49.636 2658
+-86.546 49.636 2658
+-86.42 49.636 2658
+-86.294 49.636 2659
+-86.168 49.636 2659
+-86.042 49.636 2659
+-85.916 49.636 2660
+-85.79 49.636 2660
+-85.664 49.636 2660
+-85.538 49.636 2661
+-85.412 49.636 2661
+-85.286 49.636 2661
+-85.16 49.636 2662
+-85.034 49.636 2662
+-84.908 49.636 2663
+-84.782 49.636 2663
+-84.656 49.636 2663
+-84.53 49.636 2664
+-84.404 49.636 2664
+-84.278 49.636 2665
+-84.152 49.636 2665
+-84.026 49.636 2665
+-83.9 49.636 2666
+-83.774 49.636 2666
+-83.648 49.636 2667
+-83.522 49.636 2667
+-83.396 49.636 2668
+-83.27 49.636 2668
+-83.144 49.636 2669
+-83.018 49.636 2669
+-82.892 49.636 2669
+-82.766 49.636 2670
+-82.64 49.636 2670
+-82.514 49.636 2671
+-82.388 49.636 2671
+-82.262 49.636 2672
+-82.136 49.636 2672
+-82.01 49.636 2673
+-81.884 49.636 2673
+-81.758 49.636 2674
+-81.632 49.636 2674
+-81.506 49.636 2675
+-81.38 49.636 2675
+-81.254 49.636 2676
+-81.128 49.636 2676
+-81.002 49.636 2677
+-80.876 49.636 2677
+-80.75 49.636 2678
+-80.624 49.636 2678
+-80.498 49.636 2679
+-80.372 49.636 2679
+-80.246 49.636 2680
+-80.12 49.636 2680
+-79.994 49.636 2681
+-79.868 49.636 2692
+-79.742 49.636 2693
+-79.616 49.636 2693
+-79.49 49.636 2694
+-79.364 49.636 2579
+-79.238 49.636 2579
+-79.112 49.636 2579
+-78.986 49.636 2579
+-78.86 49.636 2580
+-78.734 49.636 2580
+-78.608 49.636 2580
+-78.482 49.636 2581
+-78.356 49.636 2581
+-78.23 49.636 2581
+-78.104 49.636 2588
+-77.978 49.636 2596
+-77.852 49.636 2596
+-77.726 49.636 2596
+-77.6 49.636 2597
+-77.474 49.636 2615
+-77.348 49.636 2616
+-77.222 49.636 2616
+-77.096 49.636 2616
+-76.97 49.636 2619
+-76.844 49.636 2751
+-76.718 49.636 2751
+-76.592 49.636 2751
+-76.466 49.636 2759
+-76.34 49.636 2759
+-76.214 49.636 2759
+-76.088 49.636 2778
+-75.962 49.636 2756
+-75.836 49.636 2772
+-75.71 49.636 2773
+-75.584 49.636 2767
+-75.458 49.636 2768
+-75.332 49.636 2768
+-75.206 49.636 2768
+-75.08 49.636 2770
+-74.954 49.636 2861
+-74.828 49.636 2861
+-74.702 49.636 2862
+-74.576 49.636 2862
+-74.45 49.636 2882
+-74.324 49.636 2883
+-74.198 49.636 2860
+-74.072 49.636 2860
+-73.946 49.636 2861
+-73.82 49.636 2861
+-73.694 49.636 2830
+-73.568 49.636 2841
+-73.442 49.636 2841
+-73.316 49.636 2972
+-73.19 49.636 2929
+-73.064 49.636 2930
+-72.938 49.636 3075
+-72.812 49.636 3071
+-72.686 49.636 3029
+-72.56 49.636 3098
+-72.434 49.636 2980
+-72.308 49.636 3013
+-72.182 49.636 3071
+-72.056 49.636 2962
+-71.93 49.636 2970
+-71.804 49.636 2870
+-71.678 49.636 2866
+-71.552 49.636 2884
+-71.426 49.636 2852
+-71.3 49.636 2853
+-71.174 49.636 2853
+-71.048 49.636 2788
+-70.922 49.636 2835
+-70.796 49.636 2826
+-70.67 49.636 2814
+-70.544 49.636 2814
+-70.418 49.636 2815
+-70.292 49.636 2816
+-70.166 49.636 2751
+-70.04 49.636 2746
+-69.914 49.636 2746
+-69.788 49.636 2747
+-69.662 49.636 2747
+-69.536 49.636 2743
+-69.41 49.636 2685
+-69.284 49.636 2791
+-69.158 49.636 2786
+-69.032 49.636 2793
+-68.906 49.636 2793
+-68.78 49.636 2793
+-68.654 49.636 2794
+-68.528 49.636 2821
+-68.402 49.636 2797
+-68.276 49.636 2866
+-68.15 49.636 2867
+-68.024 49.636 2856
+-67.898 49.636 2865
+-67.772 49.636 2865
+-67.646 49.636 2866
+-67.52 49.636 2852
+-67.394 49.636 2969
+-67.268 49.636 2969
+-67.142 49.636 2970
+-67.016 49.636 2970
+-66.89 49.636 3070
+-66.764 49.636 3021
+-66.638 49.636 3168
+-66.512 49.636 3168
+-66.386 49.636 3129
+-66.26 49.636 3129
+-66.134 49.636 3129
+-66.008 49.636 3129
+-65.882 49.636 3130
+-65.756 49.636 3130
+-65.63 49.636 3234
+-65.504 49.636 3228
+-65.378 49.636 3228
+-65.252 49.636 3229
+-65.126 49.636 3229
+-128 49.584 4009
+-127.874 49.584 4046
+-127.748 49.584 4093
+-127.622 49.584 4141
+-127.496 49.584 4212
+-127.37 49.584 4289
+-127.244 49.584 4334
+-127.118 49.584 4396
+-126.992 49.584 4446
+-126.866 49.584 4503
+-126.74 49.584 4615
+-126.614 49.584 4720
+-126.488 49.584 4818
+-126.362 49.584 4942
+-126.236 49.584 4977
+-126.11 49.584 5048
+-125.984 49.584 5160
+-125.858 49.584 5310
+-125.732 49.584 5479
+-125.606 49.584 5613
+-125.48 49.584 5649
+-125.354 49.584 5701
+-125.228 49.584 5806
+-125.102 49.584 5929
+-124.976 49.584 6004
+-124.85 49.584 6049
+-124.724 49.584 6170
+-124.598 49.584 6275
+-124.472 49.584 6339
+-124.346 49.584 6327
+-124.22 49.584 6436
+-124.094 49.584 6476
+-123.968 49.584 6548
+-123.842 49.584 6608
+-123.716 49.584 6670
+-123.59 49.584 6711
+-123.464 49.584 6708
+-123.338 49.584 6736
+-123.212 49.584 6742
+-123.086 49.584 6735
+-122.96 49.584 6721
+-122.834 49.584 6726
+-122.708 49.584 6716
+-122.582 49.584 6736
+-122.456 49.584 6674
+-122.33 49.584 6642
+-122.204 49.584 6615
+-122.078 49.584 6574
+-121.952 49.584 6532
+-121.826 49.584 6476
+-121.7 49.584 6459
+-121.574 49.584 6346
+-121.448 49.584 6327
+-121.322 49.584 6227
+-121.196 49.584 6185
+-121.07 49.584 6121
+-120.944 49.584 6035
+-120.818 49.584 5912
+-120.692 49.584 5832
+-120.566 49.584 5757
+-120.44 49.584 5623
+-120.314 49.584 5497
+-120.188 49.584 5437
+-120.062 49.584 5173
+-119.936 49.584 5291
+-119.81 49.584 5278
+-119.684 49.584 5294
+-119.558 49.584 5373
+-119.432 49.584 5408
+-119.306 49.584 5451
+-119.18 49.584 5469
+-119.054 49.584 5502
+-118.928 49.584 5535
+-118.802 49.584 5568
+-118.676 49.584 5557
+-118.55 49.584 5588
+-118.424 49.584 5601
+-118.298 49.584 5602
+-118.172 49.584 5602
+-118.046 49.584 5598
+-117.92 49.584 5592
+-117.794 49.584 5581
+-117.668 49.584 5571
+-117.542 49.584 5537
+-117.416 49.584 5483
+-117.29 49.584 5452
+-117.164 49.584 5404
+-117.038 49.584 5351
+-116.912 49.584 5298
+-116.786 49.584 5279
+-116.66 49.584 5215
+-116.534 49.584 5150
+-116.408 49.584 5081
+-116.282 49.584 5005
+-116.156 49.584 4958
+-116.03 49.584 4914
+-115.904 49.584 4837
+-115.778 49.584 4748
+-115.652 49.584 4668
+-115.526 49.584 4550
+-115.4 49.584 4400
+-115.274 49.584 4315
+-115.148 49.584 4245
+-115.022 49.584 4257
+-114.896 49.584 4162
+-114.77 49.584 4042
+-114.644 49.584 3979
+-114.518 49.584 3977
+-114.392 49.584 3965
+-114.266 49.584 3890
+-114.14 49.584 3800
+-114.014 49.584 3675
+-113.888 49.584 3520
+-113.762 49.584 3318
+-113.636 49.584 3138
+-113.51 49.584 2963
+-113.384 49.584 2878
+-113.258 49.584 2924
+-113.132 49.584 3006
+-113.006 49.584 3078
+-112.88 49.584 3131
+-112.754 49.584 3171
+-112.628 49.584 3219
+-112.502 49.584 3262
+-112.376 49.584 3299
+-112.25 49.584 3275
+-112.124 49.584 3288
+-111.998 49.584 3304
+-111.872 49.584 3317
+-111.746 49.584 3319
+-111.62 49.584 3321
+-111.494 49.584 3271
+-111.368 49.584 3274
+-111.242 49.584 3281
+-111.116 49.584 3287
+-110.99 49.584 3293
+-110.864 49.584 3298
+-110.738 49.584 3302
+-110.612 49.584 3306
+-110.486 49.584 3310
+-110.36 49.584 3314
+-110.234 49.584 3302
+-110.108 49.584 3260
+-109.982 49.584 3248
+-109.856 49.584 3251
+-109.73 49.584 3254
+-109.604 49.584 3257
+-109.478 49.584 3261
+-109.352 49.584 3264
+-109.226 49.584 3242
+-109.1 49.584 3246
+-108.974 49.584 3249
+-108.848 49.584 3253
+-108.722 49.584 3225
+-108.596 49.584 3229
+-108.47 49.584 3233
+-108.344 49.584 3237
+-108.218 49.584 3226
+-108.092 49.584 3229
+-107.966 49.584 3233
+-107.84 49.584 3236
+-107.714 49.584 3228
+-107.588 49.584 3232
+-107.462 49.584 3236
+-107.336 49.584 3239
+-107.21 49.584 3230
+-107.084 49.584 3234
+-106.958 49.584 3237
+-106.832 49.584 3241
+-106.706 49.584 3244
+-106.58 49.584 3248
+-106.454 49.584 3251
+-106.328 49.584 3254
+-106.202 49.584 3257
+-106.076 49.584 3260
+-105.95 49.584 3263
+-105.824 49.584 3201
+-105.698 49.584 3187
+-105.572 49.584 3190
+-105.446 49.584 3192
+-105.32 49.584 3195
+-105.194 49.584 3198
+-105.068 49.584 3167
+-104.942 49.584 3162
+-104.816 49.584 3165
+-104.69 49.584 3168
+-104.564 49.584 3146
+-104.438 49.584 3149
+-104.312 49.584 3152
+-104.186 49.584 3154
+-104.06 49.584 3156
+-103.934 49.584 3159
+-103.808 49.584 3161
+-103.682 49.584 3163
+-103.556 49.584 3166
+-103.43 49.584 3168
+-103.304 49.584 3170
+-103.178 49.584 3172
+-103.052 49.584 3174
+-102.926 49.584 3176
+-102.8 49.584 3178
+-102.674 49.584 3152
+-102.548 49.584 3107
+-102.422 49.584 3108
+-102.296 49.584 3110
+-102.17 49.584 3111
+-102.044 49.584 3039
+-101.918 49.584 3038
+-101.792 49.584 3036
+-101.666 49.584 3035
+-101.54 49.584 3034
+-101.414 49.584 3032
+-101.288 49.584 3031
+-101.162 49.584 2939
+-101.036 49.584 2884
+-100.91 49.584 2829
+-100.784 49.584 2825
+-100.658 49.584 2845
+-100.532 49.584 2744
+-100.406 49.584 2709
+-100.28 49.584 2707
+-100.154 49.584 2689
+-100.028 49.584 2711
+-99.902 49.584 2737
+-99.776 49.584 2738
+-99.65 49.584 2727
+-99.524 49.584 2728
+-99.398 49.584 2733
+-99.272 49.584 2707
+-99.146 49.584 2699
+-99.02 49.584 2686
+-98.894 49.584 2686
+-98.768 49.584 2703
+-98.642 49.584 2702
+-98.516 49.584 2820
+-98.39 49.584 2802
+-98.264 49.584 2801
+-98.138 49.584 2799
+-98.012 49.584 2798
+-97.886 49.584 2796
+-97.76 49.584 2795
+-97.634 49.584 2793
+-97.508 49.584 2792
+-97.382 49.584 2790
+-97.256 49.584 2789
+-97.13 49.584 2787
+-97.004 49.584 2785
+-96.878 49.584 2784
+-96.752 49.584 2782
+-96.626 49.584 2780
+-96.5 49.584 2779
+-96.374 49.584 2777
+-96.248 49.584 2775
+-96.122 49.584 2774
+-95.996 49.584 2772
+-95.87 49.584 2770
+-95.744 49.584 2768
+-95.618 49.584 2766
+-95.492 49.584 2765
+-95.366 49.584 2763
+-95.24 49.584 2761
+-95.114 49.584 2759
+-94.988 49.584 2757
+-94.862 49.584 2756
+-94.736 49.584 2754
+-94.61 49.584 2752
+-94.484 49.584 2750
+-94.358 49.584 2748
+-94.232 49.584 2747
+-94.106 49.584 2745
+-93.98 49.584 2743
+-93.854 49.584 2741
+-93.728 49.584 2740
+-93.602 49.584 2738
+-93.476 49.584 2736
+-93.35 49.584 2735
+-93.224 49.584 2733
+-93.098 49.584 2731
+-92.972 49.584 2730
+-92.846 49.584 2728
+-92.72 49.584 2727
+-92.594 49.584 2725
+-92.468 49.584 2724
+-92.342 49.584 2722
+-92.216 49.584 2721
+-92.09 49.584 2720
+-91.964 49.584 2719
+-91.838 49.584 2717
+-91.712 49.584 2716
+-91.586 49.584 2715
+-91.46 49.584 2714
+-91.334 49.584 2713
+-91.208 49.584 2712
+-91.082 49.584 2711
+-90.956 49.584 2710
+-90.83 49.584 2709
+-90.704 49.584 2708
+-90.578 49.584 2708
+-90.452 49.584 2660
+-90.326 49.584 2660
+-90.2 49.584 2659
+-90.074 49.584 2658
+-89.948 49.584 2658
+-89.822 49.584 2657
+-89.696 49.584 2657
+-89.57 49.584 2656
+-89.444 49.584 2656
+-89.318 49.584 2656
+-89.192 49.584 2655
+-89.066 49.584 2655
+-88.94 49.584 2655
+-88.814 49.584 2655
+-88.688 49.584 2655
+-88.562 49.584 2655
+-88.436 49.584 2654
+-88.31 49.584 2654
+-88.184 49.584 2654
+-88.058 49.584 2654
+-87.932 49.584 2654
+-87.806 49.584 2655
+-87.68 49.584 2655
+-87.554 49.584 2655
+-87.428 49.584 2655
+-87.302 49.584 2655
+-87.176 49.584 2655
+-87.05 49.584 2655
+-86.924 49.584 2656
+-86.798 49.584 2656
+-86.672 49.584 2656
+-86.546 49.584 2657
+-86.42 49.584 2657
+-86.294 49.584 2657
+-86.168 49.584 2657
+-86.042 49.584 2658
+-85.916 49.584 2658
+-85.79 49.584 2658
+-85.664 49.584 2659
+-85.538 49.584 2659
+-85.412 49.584 2660
+-85.286 49.584 2660
+-85.16 49.584 2660
+-85.034 49.584 2661
+-84.908 49.584 2661
+-84.782 49.584 2662
+-84.656 49.584 2662
+-84.53 49.584 2662
+-84.404 49.584 2663
+-84.278 49.584 2663
+-84.152 49.584 2664
+-84.026 49.584 2664
+-83.9 49.584 2665
+-83.774 49.584 2665
+-83.648 49.584 2666
+-83.522 49.584 2666
+-83.396 49.584 2667
+-83.27 49.584 2667
+-83.144 49.584 2667
+-83.018 49.584 2668
+-82.892 49.584 2668
+-82.766 49.584 2669
+-82.64 49.584 2669
+-82.514 49.584 2670
+-82.388 49.584 2670
+-82.262 49.584 2671
+-82.136 49.584 2671
+-82.01 49.584 2672
+-81.884 49.584 2672
+-81.758 49.584 2673
+-81.632 49.584 2673
+-81.506 49.584 2674
+-81.38 49.584 2674
+-81.254 49.584 2675
+-81.128 49.584 2675
+-81.002 49.584 2676
+-80.876 49.584 2676
+-80.75 49.584 2677
+-80.624 49.584 2677
+-80.498 49.584 2678
+-80.372 49.584 2678
+-80.246 49.584 2679
+-80.12 49.584 2679
+-79.994 49.584 2691
+-79.868 49.584 2692
+-79.742 49.584 2692
+-79.616 49.584 2693
+-79.49 49.584 2578
+-79.364 49.584 2578
+-79.238 49.584 2578
+-79.112 49.584 2578
+-78.986 49.584 2579
+-78.86 49.584 2579
+-78.734 49.584 2579
+-78.608 49.584 2580
+-78.482 49.584 2580
+-78.356 49.584 2580
+-78.23 49.584 2587
+-78.104 49.584 2595
+-77.978 49.584 2595
+-77.852 49.584 2595
+-77.726 49.584 2596
+-77.6 49.584 2614
+-77.474 49.584 2615
+-77.348 49.584 2615
+-77.222 49.584 2615
+-77.096 49.584 2619
+-76.97 49.584 2750
+-76.844 49.584 2750
+-76.718 49.584 2750
+-76.592 49.584 2758
+-76.466 49.584 2758
+-76.34 49.584 2758
+-76.214 49.584 2777
+-76.088 49.584 2756
+-75.962 49.584 2771
+-75.836 49.584 2772
+-75.71 49.584 2766
+-75.584 49.584 2767
+-75.458 49.584 2767
+-75.332 49.584 2767
+-75.206 49.584 2769
+-75.08 49.584 2860
+-74.954 49.584 2860
+-74.828 49.584 2861
+-74.702 49.584 2861
+-74.576 49.584 2881
+-74.45 49.584 2882
+-74.324 49.584 2859
+-74.198 49.584 2859
+-74.072 49.584 2860
+-73.946 49.584 2860
+-73.82 49.584 2829
+-73.694 49.584 2840
+-73.568 49.584 2840
+-73.442 49.584 2971
+-73.316 49.584 2928
+-73.19 49.584 2929
+-73.064 49.584 3074
+-72.938 49.584 3070
+-72.812 49.584 3028
+-72.686 49.584 3097
+-72.56 49.584 2979
+-72.434 49.584 3012
+-72.308 49.584 3070
+-72.182 49.584 2961
+-72.056 49.584 2969
+-71.93 49.584 2869
+-71.804 49.584 2865
+-71.678 49.584 2883
+-71.552 49.584 2851
+-71.426 49.584 2852
+-71.3 49.584 2852
+-71.174 49.584 2787
+-71.048 49.584 2834
+-70.922 49.584 2825
+-70.796 49.584 2813
+-70.67 49.584 2814
+-70.544 49.584 2814
+-70.418 49.584 2815
+-70.292 49.584 2751
+-70.166 49.584 2745
+-70.04 49.584 2746
+-69.914 49.584 2746
+-69.788 49.584 2747
+-69.662 49.584 2742
+-69.536 49.584 2684
+-69.41 49.584 2791
+-69.284 49.584 2786
+-69.158 49.584 2792
+-69.032 49.584 2793
+-68.906 49.584 2793
+-68.78 49.584 2793
+-68.654 49.584 2821
+-68.528 49.584 2796
+-68.402 49.584 2866
+-68.276 49.584 2866
+-68.15 49.584 2856
+-68.024 49.584 2864
+-67.898 49.584 2865
+-67.772 49.584 2865
+-67.646 49.584 2852
+-67.52 49.584 2968
+-67.394 49.584 2969
+-67.268 49.584 2969
+-67.142 49.584 2970
+-67.016 49.584 3069
+-66.89 49.584 3020
+-66.764 49.584 3168
+-66.638 49.584 3168
+-66.512 49.584 3128
+-66.386 49.584 3129
+-66.26 49.584 3129
+-66.134 49.584 3129
+-66.008 49.584 3129
+-65.882 49.584 3130
+-65.756 49.584 3233
+-65.63 49.584 3227
+-65.504 49.584 3228
+-65.378 49.584 3228
+-65.252 49.584 3229
+-65.126 49.584 3168
+-128 49.532 4055
+-127.874 49.532 4069
+-127.748 49.532 4076
+-127.622 49.532 4102
+-127.496 49.532 4170
+-127.37 49.532 4298
+-127.244 49.532 4394
+-127.118 49.532 4439
+-126.992 49.532 4433
+-126.866 49.532 4523
+-126.74 49.532 4685
+-126.614 49.532 4800
+-126.488 49.532 4918
+-126.362 49.532 5002
+-126.236 49.532 5040
+-126.11 49.532 5083
+-125.984 49.532 5198
+-125.858 49.532 5334
+-125.732 49.532 5549
+-125.606 49.532 5644
+-125.48 49.532 5696
+-125.354 49.532 5787
+-125.228 49.532 5859
+-125.102 49.532 5944
+-124.976 49.532 6034
+-124.85 49.532 6124
+-124.724 49.532 6249
+-124.598 49.532 6335
+-124.472 49.532 6371
+-124.346 49.532 6419
+-124.22 49.532 6482
+-124.094 49.532 6544
+-123.968 49.532 6613
+-123.842 49.532 6674
+-123.716 49.532 6714
+-123.59 49.532 6730
+-123.464 49.532 6749
+-123.338 49.532 6759
+-123.212 49.532 6811
+-123.086 49.532 6815
+-122.96 49.532 6811
+-122.834 49.532 6808
+-122.708 49.532 6789
+-122.582 49.532 6753
+-122.456 49.532 6734
+-122.33 49.532 6692
+-122.204 49.532 6679
+-122.078 49.532 6632
+-121.952 49.532 6581
+-121.826 49.532 6549
+-121.7 49.532 6497
+-121.574 49.532 6386
+-121.448 49.532 6312
+-121.322 49.532 6256
+-121.196 49.532 6241
+-121.07 49.532 6155
+-120.944 49.532 6030
+-120.818 49.532 5973
+-120.692 49.532 5878
+-120.566 49.532 5789
+-120.44 49.532 5688
+-120.314 49.532 5537
+-120.188 49.532 5429
+-120.062 49.532 5336
+-119.936 49.532 5281
+-119.81 49.532 5342
+-119.684 49.532 5386
+-119.558 49.532 5427
+-119.432 49.532 5466
+-119.306 49.532 5507
+-119.18 49.532 5540
+-119.054 49.532 5573
+-118.928 49.532 5599
+-118.802 49.532 5626
+-118.676 49.532 5625
+-118.55 49.532 5650
+-118.424 49.532 5667
+-118.298 49.532 5656
+-118.172 49.532 5649
+-118.046 49.532 5633
+-117.92 49.532 5657
+-117.794 49.532 5639
+-117.668 49.532 5587
+-117.542 49.532 5594
+-117.416 49.532 5533
+-117.29 49.532 5506
+-117.164 49.532 5454
+-117.038 49.532 5395
+-116.912 49.532 5347
+-116.786 49.532 5258
+-116.66 49.532 5237
+-116.534 49.532 5186
+-116.408 49.532 5110
+-116.282 49.532 5049
+-116.156 49.532 4963
+-116.03 49.532 4923
+-115.904 49.532 4925
+-115.778 49.532 4794
+-115.652 49.532 4694
+-115.526 49.532 4589
+-115.4 49.532 4442
+-115.274 49.532 4345
+-115.148 49.532 4254
+-115.022 49.532 4291
+-114.896 49.532 4257
+-114.77 49.532 4180
+-114.644 49.532 4102
+-114.518 49.532 4058
+-114.392 49.532 3984
+-114.266 49.532 3915
+-114.14 49.532 3842
+-114.014 49.532 3731
+-113.888 49.532 3588
+-113.762 49.532 3409
+-113.636 49.532 3250
+-113.51 49.532 3123
+-113.384 49.532 3056
+-113.258 49.532 3061
+-113.132 49.532 3106
+-113.006 49.532 3149
+-112.88 49.532 3184
+-112.754 49.532 3226
+-112.628 49.532 3264
+-112.502 49.532 3298
+-112.376 49.532 3275
+-112.25 49.532 3288
+-112.124 49.532 3303
+-111.998 49.532 3315
+-111.872 49.532 3317
+-111.746 49.532 3319
+-111.62 49.532 3270
+-111.494 49.532 3272
+-111.368 49.532 3279
+-111.242 49.532 3285
+-111.116 49.532 3290
+-110.99 49.532 3294
+-110.864 49.532 3298
+-110.738 49.532 3302
+-110.612 49.532 3306
+-110.486 49.532 3310
+-110.36 49.532 3297
+-110.234 49.532 3256
+-110.108 49.532 3243
+-109.982 49.532 3247
+-109.856 49.532 3250
+-109.73 49.532 3253
+-109.604 49.532 3256
+-109.478 49.532 3259
+-109.352 49.532 3237
+-109.226 49.532 3241
+-109.1 49.532 3245
+-108.974 49.532 3249
+-108.848 49.532 3220
+-108.722 49.532 3224
+-108.596 49.532 3229
+-108.47 49.532 3233
+-108.344 49.532 3222
+-108.218 49.532 3226
+-108.092 49.532 3229
+-107.966 49.532 3233
+-107.84 49.532 3225
+-107.714 49.532 3229
+-107.588 49.532 3233
+-107.462 49.532 3237
+-107.336 49.532 3227
+-107.21 49.532 3231
+-107.084 49.532 3235
+-106.958 49.532 3238
+-106.832 49.532 3242
+-106.706 49.532 3246
+-106.58 49.532 3249
+-106.454 49.532 3252
+-106.328 49.532 3255
+-106.202 49.532 3259
+-106.076 49.532 3262
+-105.95 49.532 3199
+-105.824 49.532 3185
+-105.698 49.532 3188
+-105.572 49.532 3191
+-105.446 49.532 3194
+-105.32 49.532 3196
+-105.194 49.532 3165
+-105.068 49.532 3160
+-104.942 49.532 3163
+-104.816 49.532 3167
+-104.69 49.532 3145
+-104.564 49.532 3148
+-104.438 49.532 3151
+-104.312 49.532 3153
+-104.186 49.532 3156
+-104.06 49.532 3158
+-103.934 49.532 3160
+-103.808 49.532 3163
+-103.682 49.532 3165
+-103.556 49.532 3167
+-103.43 49.532 3169
+-103.304 49.532 3171
+-103.178 49.532 3173
+-103.052 49.532 3175
+-102.926 49.532 3177
+-102.8 49.532 3151
+-102.674 49.532 3106
+-102.548 49.532 3108
+-102.422 49.532 3109
+-102.296 49.532 3111
+-102.17 49.532 3112
+-102.044 49.532 3039
+-101.918 49.532 3038
+-101.792 49.532 3037
+-101.666 49.532 3036
+-101.54 49.532 3034
+-101.414 49.532 3033
+-101.288 49.532 2942
+-101.162 49.532 2940
+-101.036 49.532 2856
+-100.91 49.532 2829
+-100.784 49.532 2849
+-100.658 49.532 2746
+-100.532 49.532 2710
+-100.406 49.532 2709
+-100.28 49.532 2691
+-100.154 49.532 2712
+-100.028 49.532 2737
+-99.902 49.532 2738
+-99.776 49.532 2727
+-99.65 49.532 2728
+-99.524 49.532 2732
+-99.398 49.532 2706
+-99.272 49.532 2759
+-99.146 49.532 2699
+-99.02 49.532 2700
+-98.894 49.532 2704
+-98.768 49.532 2703
+-98.642 49.532 2820
+-98.516 49.532 2804
+-98.39 49.532 2802
+-98.264 49.532 2801
+-98.138 49.532 2799
+-98.012 49.532 2798
+-97.886 49.532 2796
+-97.76 49.532 2795
+-97.634 49.532 2793
+-97.508 49.532 2792
+-97.382 49.532 2790
+-97.256 49.532 2789
+-97.13 49.532 2787
+-97.004 49.532 2785
+-96.878 49.532 2784
+-96.752 49.532 2782
+-96.626 49.532 2780
+-96.5 49.532 2778
+-96.374 49.532 2777
+-96.248 49.532 2775
+-96.122 49.532 2773
+-95.996 49.532 2771
+-95.87 49.532 2769
+-95.744 49.532 2768
+-95.618 49.532 2766
+-95.492 49.532 2764
+-95.366 49.532 2762
+-95.24 49.532 2760
+-95.114 49.532 2758
+-94.988 49.532 2757
+-94.862 49.532 2755
+-94.736 49.532 2753
+-94.61 49.532 2751
+-94.484 49.532 2749
+-94.358 49.532 2747
+-94.232 49.532 2745
+-94.106 49.532 2744
+-93.98 49.532 2742
+-93.854 49.532 2740
+-93.728 49.532 2738
+-93.602 49.532 2737
+-93.476 49.532 2735
+-93.35 49.532 2733
+-93.224 49.532 2731
+-93.098 49.532 2730
+-92.972 49.532 2728
+-92.846 49.532 2727
+-92.72 49.532 2725
+-92.594 49.532 2723
+-92.468 49.532 2722
+-92.342 49.532 2721
+-92.216 49.532 2719
+-92.09 49.532 2718
+-91.964 49.532 2716
+-91.838 49.532 2715
+-91.712 49.532 2714
+-91.586 49.532 2713
+-91.46 49.532 2712
+-91.334 49.532 2711
+-91.208 49.532 2710
+-91.082 49.532 2709
+-90.956 49.532 2708
+-90.83 49.532 2707
+-90.704 49.532 2706
+-90.578 49.532 2705
+-90.452 49.532 2658
+-90.326 49.532 2658
+-90.2 49.532 2657
+-90.074 49.532 2656
+-89.948 49.532 2656
+-89.822 49.532 2655
+-89.696 49.532 2655
+-89.57 49.532 2654
+-89.444 49.532 2654
+-89.318 49.532 2654
+-89.192 49.532 2653
+-89.066 49.532 2653
+-88.94 49.532 2653
+-88.814 49.532 2653
+-88.688 49.532 2653
+-88.562 49.532 2652
+-88.436 49.532 2652
+-88.31 49.532 2652
+-88.184 49.532 2652
+-88.058 49.532 2652
+-87.932 49.532 2653
+-87.806 49.532 2653
+-87.68 49.532 2653
+-87.554 49.532 2653
+-87.428 49.532 2653
+-87.302 49.532 2653
+-87.176 49.532 2654
+-87.05 49.532 2654
+-86.924 49.532 2654
+-86.798 49.532 2654
+-86.672 49.532 2655
+-86.546 49.532 2655
+-86.42 49.532 2655
+-86.294 49.532 2656
+-86.168 49.532 2656
+-86.042 49.532 2656
+-85.916 49.532 2657
+-85.79 49.532 2657
+-85.664 49.532 2657
+-85.538 49.532 2658
+-85.412 49.532 2658
+-85.286 49.532 2659
+-85.16 49.532 2659
+-85.034 49.532 2659
+-84.908 49.532 2660
+-84.782 49.532 2660
+-84.656 49.532 2661
+-84.53 49.532 2661
+-84.404 49.532 2662
+-84.278 49.532 2662
+-84.152 49.532 2663
+-84.026 49.532 2663
+-83.9 49.532 2664
+-83.774 49.532 2664
+-83.648 49.532 2664
+-83.522 49.532 2665
+-83.396 49.532 2665
+-83.27 49.532 2666
+-83.144 49.532 2666
+-83.018 49.532 2667
+-82.892 49.532 2667
+-82.766 49.532 2668
+-82.64 49.532 2668
+-82.514 49.532 2669
+-82.388 49.532 2669
+-82.262 49.532 2670
+-82.136 49.532 2670
+-82.01 49.532 2671
+-81.884 49.532 2671
+-81.758 49.532 2672
+-81.632 49.532 2672
+-81.506 49.532 2673
+-81.38 49.532 2673
+-81.254 49.532 2674
+-81.128 49.532 2674
+-81.002 49.532 2675
+-80.876 49.532 2675
+-80.75 49.532 2676
+-80.624 49.532 2677
+-80.498 49.532 2677
+-80.372 49.532 2678
+-80.246 49.532 2678
+-80.12 49.532 2690
+-79.994 49.532 2690
+-79.868 49.532 2691
+-79.742 49.532 2691
+-79.616 49.532 2577
+-79.49 49.532 2577
+-79.364 49.532 2577
+-79.238 49.532 2577
+-79.112 49.532 2578
+-78.986 49.532 2578
+-78.86 49.532 2578
+-78.734 49.532 2579
+-78.608 49.532 2579
+-78.482 49.532 2579
+-78.356 49.532 2586
+-78.23 49.532 2594
+-78.104 49.532 2594
+-77.978 49.532 2594
+-77.852 49.532 2595
+-77.726 49.532 2613
+-77.6 49.532 2614
+-77.474 49.532 2614
+-77.348 49.532 2614
+-77.222 49.532 2618
+-77.096 49.532 2749
+-76.97 49.532 2749
+-76.844 49.532 2749
+-76.718 49.532 2757
+-76.592 49.532 2757
+-76.466 49.532 2757
+-76.34 49.532 2776
+-76.214 49.532 2755
+-76.088 49.532 2770
+-75.962 49.532 2771
+-75.836 49.532 2765
+-75.71 49.532 2766
+-75.584 49.532 2766
+-75.458 49.532 2766
+-75.332 49.532 2768
+-75.206 49.532 2859
+-75.08 49.532 2859
+-74.954 49.532 2860
+-74.828 49.532 2860
+-74.702 49.532 2880
+-74.576 49.532 2880
+-74.45 49.532 2858
+-74.324 49.532 2858
+-74.198 49.532 2859
+-74.072 49.532 2859
+-73.946 49.532 2828
+-73.82 49.532 2839
+-73.694 49.532 2839
+-73.568 49.532 2970
+-73.442 49.532 2927
+-73.316 49.532 2928
+-73.19 49.532 3072
+-73.064 49.532 3068
+-72.938 49.532 3027
+-72.812 49.532 3096
+-72.686 49.532 2978
+-72.56 49.532 3011
+-72.434 49.532 3069
+-72.308 49.532 2960
+-72.182 49.532 2968
+-72.056 49.532 2868
+-71.93 49.532 2864
+-71.804 49.532 2882
+-71.678 49.532 2851
+-71.552 49.532 2851
+-71.426 49.532 2852
+-71.3 49.532 2787
+-71.174 49.532 2834
+-71.048 49.532 2824
+-70.922 49.532 2812
+-70.796 49.532 2813
+-70.67 49.532 2814
+-70.544 49.532 2814
+-70.418 49.532 2750
+-70.292 49.532 2745
+-70.166 49.532 2745
+-70.04 49.532 2746
+-69.914 49.532 2746
+-69.788 49.532 2742
+-69.662 49.532 2684
+-69.536 49.532 2790
+-69.41 49.532 2785
+-69.284 49.532 2792
+-69.158 49.532 2792
+-69.032 49.532 2793
+-68.906 49.532 2793
+-68.78 49.532 2820
+-68.654 49.532 2796
+-68.528 49.532 2865
+-68.402 49.532 2866
+-68.276 49.532 2855
+-68.15 49.532 2864
+-68.024 49.532 2864
+-67.898 49.532 2865
+-67.772 49.532 2851
+-67.646 49.532 2968
+-67.52 49.532 2968
+-67.394 49.532 2969
+-67.268 49.532 2970
+-67.142 49.532 3069
+-67.016 49.532 3020
+-66.89 49.532 3167
+-66.764 49.532 3168
+-66.638 49.532 3128
+-66.512 49.532 3128
+-66.386 49.532 3129
+-66.26 49.532 3129
+-66.134 49.532 3129
+-66.008 49.532 3129
+-65.882 49.532 3233
+-65.756 49.532 3227
+-65.63 49.532 3227
+-65.504 49.532 3228
+-65.378 49.532 3228
+-65.252 49.532 3168
+-65.126 49.532 3207
+-128 49.48 4077
+-127.874 49.48 4054
+-127.748 49.48 4006
+-127.622 49.48 3971
+-127.496 49.48 4101
+-127.37 49.48 4285
+-127.244 49.48 4408
+-127.118 49.48 4470
+-126.992 49.48 4490
+-126.866 49.48 4564
+-126.74 49.48 4712
+-126.614 49.48 4863
+-126.488 49.48 4961
+-126.362 49.48 5035
+-126.236 49.48 5120
+-126.11 49.48 5131
+-125.984 49.48 5251
+-125.858 49.48 5410
+-125.732 49.48 5580
+-125.606 49.48 5671
+-125.48 49.48 5754
+-125.354 49.48 5846
+-125.228 49.48 5912
+-125.102 49.48 6031
+-124.976 49.48 6125
+-124.85 49.48 6204
+-124.724 49.48 6293
+-124.598 49.48 6373
+-124.472 49.48 6375
+-124.346 49.48 6476
+-124.22 49.48 6537
+-124.094 49.48 6586
+-123.968 49.48 6613
+-123.842 49.48 6734
+-123.716 49.48 6744
+-123.59 49.48 6785
+-123.464 49.48 6826
+-123.338 49.48 6845
+-123.212 49.48 6854
+-123.086 49.48 6889
+-122.96 49.48 6884
+-122.834 49.48 6869
+-122.708 49.48 6865
+-122.582 49.48 6867
+-122.456 49.48 6833
+-122.33 49.48 6772
+-122.204 49.48 6712
+-122.078 49.48 6726
+-121.952 49.48 6676
+-121.826 49.48 6612
+-121.7 49.48 6543
+-121.574 49.48 6441
+-121.448 49.48 6365
+-121.322 49.48 6307
+-121.196 49.48 6290
+-121.07 49.48 6116
+-120.944 49.48 6095
+-120.818 49.48 5990
+-120.692 49.48 5916
+-120.566 49.48 5814
+-120.44 49.48 5739
+-120.314 49.48 5598
+-120.188 49.48 5499
+-120.062 49.48 5407
+-119.936 49.48 5372
+-119.81 49.48 5397
+-119.684 49.48 5442
+-119.558 49.48 5490
+-119.432 49.48 5532
+-119.306 49.48 5573
+-119.18 49.48 5609
+-119.054 49.48 5598
+-118.928 49.48 5654
+-118.802 49.48 5685
+-118.676 49.48 5688
+-118.55 49.48 5707
+-118.424 49.48 5714
+-118.298 49.48 5715
+-118.172 49.48 5705
+-118.046 49.48 5708
+-117.92 49.48 5679
+-117.794 49.48 5683
+-117.668 49.48 5662
+-117.542 49.48 5646
+-117.416 49.48 5585
+-117.29 49.48 5531
+-117.164 49.48 5513
+-117.038 49.48 5467
+-116.912 49.48 5422
+-116.786 49.48 5356
+-116.66 49.48 5276
+-116.534 49.48 5213
+-116.408 49.48 5154
+-116.282 49.48 5094
+-116.156 49.48 5020
+-116.03 49.48 4985
+-115.904 49.48 4973
+-115.778 49.48 4855
+-115.652 49.48 4731
+-115.526 49.48 4627
+-115.4 49.48 4505
+-115.274 49.48 4396
+-115.148 49.48 4349
+-115.022 49.48 4349
+-114.896 49.48 4315
+-114.77 49.48 4277
+-114.644 49.48 4219
+-114.518 49.48 4129
+-114.392 49.48 4046
+-114.266 49.48 3953
+-114.14 49.48 3873
+-114.014 49.48 3761
+-113.888 49.48 3610
+-113.762 49.48 3492
+-113.636 49.48 3369
+-113.51 49.48 3278
+-113.384 49.48 3218
+-113.258 49.48 3202
+-113.132 49.48 3210
+-113.006 49.48 3223
+-112.88 49.48 3252
+-112.754 49.48 3281
+-112.628 49.48 3309
+-112.502 49.48 3283
+-112.376 49.48 3294
+-112.25 49.48 3307
+-112.124 49.48 3318
+-111.998 49.48 3319
+-111.872 49.48 3320
+-111.746 49.48 3271
+-111.62 49.48 3273
+-111.494 49.48 3278
+-111.368 49.48 3283
+-111.242 49.48 3288
+-111.116 49.48 3292
+-110.99 49.48 3295
+-110.864 49.48 3299
+-110.738 49.48 3302
+-110.612 49.48 3305
+-110.486 49.48 3293
+-110.36 49.48 3252
+-110.234 49.48 3239
+-110.108 49.48 3242
+-109.982 49.48 3245
+-109.856 49.48 3248
+-109.73 49.48 3252
+-109.604 49.48 3255
+-109.478 49.48 3232
+-109.352 49.48 3236
+-109.226 49.48 3240
+-109.1 49.48 3244
+-108.974 49.48 3216
+-108.848 49.48 3220
+-108.722 49.48 3224
+-108.596 49.48 3229
+-108.47 49.48 3218
+-108.344 49.48 3222
+-108.218 49.48 3226
+-108.092 49.48 3230
+-107.966 49.48 3221
+-107.84 49.48 3226
+-107.714 49.48 3230
+-107.588 49.48 3234
+-107.462 49.48 3224
+-107.336 49.48 3228
+-107.21 49.48 3232
+-107.084 49.48 3236
+-106.958 49.48 3240
+-106.832 49.48 3243
+-106.706 49.48 3247
+-106.58 49.48 3250
+-106.454 49.48 3254
+-106.328 49.48 3257
+-106.202 49.48 3260
+-106.076 49.48 3197
+-105.95 49.48 3184
+-105.824 49.48 3187
+-105.698 49.48 3189
+-105.572 49.48 3192
+-105.446 49.48 3195
+-105.32 49.48 3164
+-105.194 49.48 3159
+-105.068 49.48 3162
+-104.942 49.48 3165
+-104.816 49.48 3144
+-104.69 49.48 3147
+-104.564 49.48 3149
+-104.438 49.48 3152
+-104.312 49.48 3155
+-104.186 49.48 3157
+-104.06 49.48 3160
+-103.934 49.48 3162
+-103.808 49.48 3164
+-103.682 49.48 3166
+-103.556 49.48 3169
+-103.43 49.48 3171
+-103.304 49.48 3173
+-103.178 49.48 3175
+-103.052 49.48 3177
+-102.926 49.48 3151
+-102.8 49.48 3106
+-102.674 49.48 3107
+-102.548 49.48 3109
+-102.422 49.48 3110
+-102.296 49.48 3112
+-102.17 49.48 3113
+-102.044 49.48 3040
+-101.918 49.48 3039
+-101.792 49.48 3038
+-101.666 49.48 3036
+-101.54 49.48 3035
+-101.414 49.48 2945
+-101.288 49.48 2943
+-101.162 49.48 2940
+-101.036 49.48 2856
+-100.91 49.48 2852
+-100.784 49.48 2748
+-100.658 49.48 2711
+-100.532 49.48 2710
+-100.406 49.48 2692
+-100.28 49.48 2713
+-100.154 49.48 2738
+-100.028 49.48 2738
+-99.902 49.48 2726
+-99.776 49.48 2727
+-99.65 49.48 2731
+-99.524 49.48 2706
+-99.398 49.48 2758
+-99.272 49.48 2803
+-99.146 49.48 2804
+-99.02 49.48 2805
+-98.894 49.48 2822
+-98.768 49.48 2821
+-98.642 49.48 2805
+-98.516 49.48 2804
+-98.39 49.48 2802
+-98.264 49.48 2801
+-98.138 49.48 2800
+-98.012 49.48 2798
+-97.886 49.48 2796
+-97.76 49.48 2795
+-97.634 49.48 2793
+-97.508 49.48 2792
+-97.382 49.48 2790
+-97.256 49.48 2788
+-97.13 49.48 2787
+-97.004 49.48 2785
+-96.878 49.48 2783
+-96.752 49.48 2782
+-96.626 49.48 2780
+-96.5 49.48 2778
+-96.374 49.48 2776
+-96.248 49.48 2774
+-96.122 49.48 2773
+-95.996 49.48 2771
+-95.87 49.48 2769
+-95.744 49.48 2767
+-95.618 49.48 2765
+-95.492 49.48 2763
+-95.366 49.48 2761
+-95.24 49.48 2759
+-95.114 49.48 2758
+-94.988 49.48 2756
+-94.862 49.48 2754
+-94.736 49.48 2752
+-94.61 49.48 2750
+-94.484 49.48 2748
+-94.358 49.48 2746
+-94.232 49.48 2744
+-94.106 49.48 2742
+-93.98 49.48 2741
+-93.854 49.48 2739
+-93.728 49.48 2737
+-93.602 49.48 2735
+-93.476 49.48 2733
+-93.35 49.48 2731
+-93.224 49.48 2730
+-93.098 49.48 2728
+-92.972 49.48 2726
+-92.846 49.48 2725
+-92.72 49.48 2723
+-92.594 49.48 2722
+-92.468 49.48 2720
+-92.342 49.48 2719
+-92.216 49.48 2717
+-92.09 49.48 2716
+-91.964 49.48 2714
+-91.838 49.48 2713
+-91.712 49.48 2712
+-91.586 49.48 2711
+-91.46 49.48 2709
+-91.334 49.48 2708
+-91.208 49.48 2707
+-91.082 49.48 2706
+-90.956 49.48 2705
+-90.83 49.48 2705
+-90.704 49.48 2704
+-90.578 49.48 2703
+-90.452 49.48 2656
+-90.326 49.48 2655
+-90.2 49.48 2655
+-90.074 49.48 2654
+-89.948 49.48 2654
+-89.822 49.48 2653
+-89.696 49.48 2653
+-89.57 49.48 2652
+-89.444 49.48 2652
+-89.318 49.48 2651
+-89.192 49.48 2651
+-89.066 49.48 2651
+-88.94 49.48 2651
+-88.814 49.48 2651
+-88.688 49.48 2651
+-88.562 49.48 2650
+-88.436 49.48 2650
+-88.31 49.48 2650
+-88.184 49.48 2650
+-88.058 49.48 2651
+-87.932 49.48 2651
+-87.806 49.48 2651
+-87.68 49.48 2651
+-87.554 49.48 2651
+-87.428 49.48 2651
+-87.302 49.48 2651
+-87.176 49.48 2652
+-87.05 49.48 2652
+-86.924 49.48 2652
+-86.798 49.48 2653
+-86.672 49.48 2653
+-86.546 49.48 2653
+-86.42 49.48 2654
+-86.294 49.48 2654
+-86.168 49.48 2654
+-86.042 49.48 2655
+-85.916 49.48 2655
+-85.79 49.48 2655
+-85.664 49.48 2656
+-85.538 49.48 2656
+-85.412 49.48 2657
+-85.286 49.48 2657
+-85.16 49.48 2658
+-85.034 49.48 2658
+-84.908 49.48 2659
+-84.782 49.48 2659
+-84.656 49.48 2659
+-84.53 49.48 2660
+-84.404 49.48 2660
+-84.278 49.48 2661
+-84.152 49.48 2661
+-84.026 49.48 2662
+-83.9 49.48 2662
+-83.774 49.48 2663
+-83.648 49.48 2663
+-83.522 49.48 2664
+-83.396 49.48 2664
+-83.27 49.48 2665
+-83.144 49.48 2665
+-83.018 49.48 2666
+-82.892 49.48 2666
+-82.766 49.48 2667
+-82.64 49.48 2667
+-82.514 49.48 2668
+-82.388 49.48 2668
+-82.262 49.48 2669
+-82.136 49.48 2669
+-82.01 49.48 2670
+-81.884 49.48 2670
+-81.758 49.48 2671
+-81.632 49.48 2671
+-81.506 49.48 2672
+-81.38 49.48 2673
+-81.254 49.48 2673
+-81.128 49.48 2674
+-81.002 49.48 2674
+-80.876 49.48 2675
+-80.75 49.48 2675
+-80.624 49.48 2676
+-80.498 49.48 2676
+-80.372 49.48 2677
+-80.246 49.48 2688
+-80.12 49.48 2689
+-79.994 49.48 2690
+-79.868 49.48 2690
+-79.742 49.48 2575
+-79.616 49.48 2576
+-79.49 49.48 2576
+-79.364 49.48 2576
+-79.238 49.48 2577
+-79.112 49.48 2577
+-78.986 49.48 2577
+-78.86 49.48 2578
+-78.734 49.48 2578
+-78.608 49.48 2578
+-78.482 49.48 2585
+-78.356 49.48 2593
+-78.23 49.48 2593
+-78.104 49.48 2593
+-77.978 49.48 2594
+-77.852 49.48 2612
+-77.726 49.48 2613
+-77.6 49.48 2613
+-77.474 49.48 2613
+-77.348 49.48 2617
+-77.222 49.48 2748
+-77.096 49.48 2748
+-76.97 49.48 2748
+-76.844 49.48 2756
+-76.718 49.48 2756
+-76.592 49.48 2756
+-76.466 49.48 2775
+-76.34 49.48 2754
+-76.214 49.48 2769
+-76.088 49.48 2770
+-75.962 49.48 2764
+-75.836 49.48 2765
+-75.71 49.48 2765
+-75.584 49.48 2765
+-75.458 49.48 2767
+-75.332 49.48 2858
+-75.206 49.48 2858
+-75.08 49.48 2859
+-74.954 49.48 2859
+-74.828 49.48 2879
+-74.702 49.48 2879
+-74.576 49.48 2857
+-74.45 49.48 2857
+-74.324 49.48 2858
+-74.198 49.48 2858
+-74.072 49.48 2827
+-73.946 49.48 2838
+-73.82 49.48 2839
+-73.694 49.48 2969
+-73.568 49.48 2926
+-73.442 49.48 2927
+-73.316 49.48 3071
+-73.19 49.48 3067
+-73.064 49.48 3026
+-72.938 49.48 3094
+-72.812 49.48 2977
+-72.686 49.48 3010
+-72.56 49.48 3068
+-72.434 49.48 2959
+-72.308 49.48 2967
+-72.182 49.48 2867
+-72.056 49.48 2863
+-71.93 49.48 2881
+-71.804 49.48 2850
+-71.678 49.48 2850
+-71.552 49.48 2851
+-71.426 49.48 2786
+-71.3 49.48 2833
+-71.174 49.48 2824
+-71.048 49.48 2812
+-70.922 49.48 2812
+-70.796 49.48 2813
+-70.67 49.48 2813
+-70.544 49.48 2749
+-70.418 49.48 2744
+-70.292 49.48 2745
+-70.166 49.48 2745
+-70.04 49.48 2746
+-69.914 49.48 2741
+-69.788 49.48 2683
+-69.662 49.48 2790
+-69.536 49.48 2785
+-69.41 49.48 2791
+-69.284 49.48 2792
+-69.158 49.48 2792
+-69.032 49.48 2793
+-68.906 49.48 2820
+-68.78 49.48 2795
+-68.654 49.48 2865
+-68.528 49.48 2865
+-68.402 49.48 2855
+-68.276 49.48 2863
+-68.15 49.48 2864
+-68.024 49.48 2864
+-67.898 49.48 2851
+-67.772 49.48 2967
+-67.646 49.48 2968
+-67.52 49.48 2969
+-67.394 49.48 2969
+-67.268 49.48 3068
+-67.142 49.48 3019
+-67.016 49.48 3167
+-66.89 49.48 3167
+-66.764 49.48 3128
+-66.638 49.48 3128
+-66.512 49.48 3128
+-66.386 49.48 3129
+-66.26 49.48 3129
+-66.134 49.48 3129
+-66.008 49.48 3232
+-65.882 49.48 3227
+-65.756 49.48 3227
+-65.63 49.48 3227
+-65.504 49.48 3228
+-65.378 49.48 3167
+-65.252 49.48 3207
+-65.126 49.48 3207
+-128 49.428 4094
+-127.874 49.428 4049
+-127.748 49.428 3956
+-127.622 49.428 3846
+-127.496 49.428 4026
+-127.37 49.428 4283
+-127.244 49.428 4402
+-127.118 49.428 4426
+-126.992 49.428 4513
+-126.866 49.428 4612
+-126.74 49.428 4759
+-126.614 49.428 4908
+-126.488 49.428 4985
+-126.362 49.428 4985
+-126.236 49.428 5095
+-126.11 49.428 5179
+-125.984 49.428 5297
+-125.858 49.428 5434
+-125.732 49.428 5587
+-125.606 49.428 5680
+-125.48 49.428 5825
+-125.354 49.428 5927
+-125.228 49.428 6013
+-125.102 49.428 6099
+-124.976 49.428 6133
+-124.85 49.428 6231
+-124.724 49.428 6320
+-124.598 49.428 6412
+-124.472 49.428 6459
+-124.346 49.428 6533
+-124.22 49.428 6618
+-124.094 49.428 6639
+-123.968 49.428 6682
+-123.842 49.428 6733
+-123.716 49.428 6787
+-123.59 49.428 6844
+-123.464 49.428 6863
+-123.338 49.428 6906
+-123.212 49.428 6930
+-123.086 49.428 6942
+-122.96 49.428 6954
+-122.834 49.428 6941
+-122.708 49.428 6942
+-122.582 49.428 6919
+-122.456 49.428 6896
+-122.33 49.428 6828
+-122.204 49.428 6798
+-122.078 49.428 6732
+-121.952 49.428 6687
+-121.826 49.428 6650
+-121.7 49.428 6592
+-121.574 49.428 6484
+-121.448 49.428 6422
+-121.322 49.428 6335
+-121.196 49.428 6290
+-121.07 49.428 6228
+-120.944 49.428 6142
+-120.818 49.428 6024
+-120.692 49.428 5925
+-120.566 49.428 5817
+-120.44 49.428 5766
+-120.314 49.428 5622
+-120.188 49.428 5576
+-120.062 49.428 5336
+-119.936 49.428 5365
+-119.81 49.428 5449
+-119.684 49.428 5503
+-119.558 49.428 5563
+-119.432 49.428 5603
+-119.306 49.428 5613
+-119.18 49.428 5652
+-119.054 49.428 5707
+-118.928 49.428 5726
+-118.802 49.428 5755
+-118.676 49.428 5762
+-118.55 49.428 5764
+-118.424 49.428 5770
+-118.298 49.428 5767
+-118.172 49.428 5758
+-118.046 49.428 5759
+-117.92 49.428 5758
+-117.794 49.428 5713
+-117.668 49.428 5710
+-117.542 49.428 5684
+-117.416 49.428 5635
+-117.29 49.428 5594
+-117.164 49.428 5562
+-117.038 49.428 5537
+-116.912 49.428 5467
+-116.786 49.428 5418
+-116.66 49.428 5304
+-116.534 49.428 5265
+-116.408 49.428 5159
+-116.282 49.428 5133
+-116.156 49.428 5069
+-116.03 49.428 5022
+-115.904 49.428 4990
+-115.778 49.428 4894
+-115.652 49.428 4780
+-115.526 49.428 4691
+-115.4 49.428 4563
+-115.274 49.428 4467
+-115.148 49.428 4390
+-115.022 49.428 4396
+-114.896 49.428 4371
+-114.77 49.428 4343
+-114.644 49.428 4286
+-114.518 49.428 4206
+-114.392 49.428 4088
+-114.266 49.428 3978
+-114.14 49.428 3899
+-114.014 49.428 3788
+-113.888 49.428 3650
+-113.762 49.428 3542
+-113.636 49.428 3458
+-113.51 49.428 3393
+-113.384 49.428 3346
+-113.258 49.428 3308
+-113.132 49.428 3292
+-113.006 49.428 3300
+-112.88 49.428 3315
+-112.754 49.428 3332
+-112.628 49.428 3300
+-112.502 49.428 3308
+-112.376 49.428 3317
+-112.25 49.428 3325
+-112.124 49.428 3324
+-111.998 49.428 3324
+-111.872 49.428 3275
+-111.746 49.428 3275
+-111.62 49.428 3280
+-111.494 49.428 3284
+-111.368 49.428 3287
+-111.242 49.428 3290
+-111.116 49.428 3293
+-110.99 49.428 3295
+-110.864 49.428 3298
+-110.738 49.428 3301
+-110.612 49.428 3288
+-110.486 49.428 3248
+-110.36 49.428 3235
+-110.234 49.428 3237
+-110.108 49.428 3240
+-109.982 49.428 3244
+-109.856 49.428 3247
+-109.73 49.428 3250
+-109.604 49.428 3227
+-109.478 49.428 3231
+-109.352 49.428 3235
+-109.226 49.428 3239
+-109.1 49.428 3211
+-108.974 49.428 3215
+-108.848 49.428 3220
+-108.722 49.428 3224
+-108.596 49.428 3214
+-108.47 49.428 3218
+-108.344 49.428 3222
+-108.218 49.428 3226
+-108.092 49.428 3218
+-107.966 49.428 3222
+-107.84 49.428 3226
+-107.714 49.428 3231
+-107.588 49.428 3221
+-107.462 49.428 3225
+-107.336 49.428 3229
+-107.21 49.428 3233
+-107.084 49.428 3237
+-106.958 49.428 3241
+-106.832 49.428 3245
+-106.706 49.428 3248
+-106.58 49.428 3252
+-106.454 49.428 3255
+-106.328 49.428 3258
+-106.202 49.428 3195
+-106.076 49.428 3182
+-105.95 49.428 3185
+-105.824 49.428 3188
+-105.698 49.428 3191
+-105.572 49.428 3194
+-105.446 49.428 3162
+-105.32 49.428 3157
+-105.194 49.428 3161
+-105.068 49.428 3164
+-104.942 49.428 3143
+-104.816 49.428 3146
+-104.69 49.428 3148
+-104.564 49.428 3151
+-104.438 49.428 3154
+-104.312 49.428 3156
+-104.186 49.428 3159
+-104.06 49.428 3161
+-103.934 49.428 3164
+-103.808 49.428 3166
+-103.682 49.428 3168
+-103.556 49.428 3170
+-103.43 49.428 3172
+-103.304 49.428 3174
+-103.178 49.428 3176
+-103.052 49.428 3150
+-102.926 49.428 3105
+-102.8 49.428 3107
+-102.674 49.428 3108
+-102.548 49.428 3110
+-102.422 49.428 3111
+-102.296 49.428 3113
+-102.17 49.428 3114
+-102.044 49.428 3041
+-101.918 49.428 3040
+-101.792 49.428 3039
+-101.666 49.428 3037
+-101.54 49.428 2948
+-101.414 49.428 2945
+-101.288 49.428 2943
+-101.162 49.428 2935
+-101.036 49.428 2855
+-100.91 49.428 2750
+-100.784 49.428 2748
+-100.658 49.428 2712
+-100.532 49.428 2706
+-100.406 49.428 2714
+-100.28 49.428 2738
+-100.154 49.428 2738
+-100.028 49.428 2726
+-99.902 49.428 2727
+-99.776 49.428 2730
+-99.65 49.428 2745
+-99.524 49.428 2757
+-99.398 49.428 2803
+-99.272 49.428 2804
+-99.146 49.428 2804
+-99.02 49.428 2823
+-98.894 49.428 2822
+-98.768 49.428 2807
+-98.642 49.428 2806
+-98.516 49.428 2804
+-98.39 49.428 2803
+-98.264 49.428 2801
+-98.138 49.428 2800
+-98.012 49.428 2798
+-97.886 49.428 2796
+-97.76 49.428 2795
+-97.634 49.428 2793
+-97.508 49.428 2792
+-97.382 49.428 2790
+-97.256 49.428 2788
+-97.13 49.428 2787
+-97.004 49.428 2785
+-96.878 49.428 2783
+-96.752 49.428 2781
+-96.626 49.428 2779
+-96.5 49.428 2778
+-96.374 49.428 2776
+-96.248 49.428 2774
+-96.122 49.428 2772
+-95.996 49.428 2770
+-95.87 49.428 2768
+-95.744 49.428 2766
+-95.618 49.428 2764
+-95.492 49.428 2763
+-95.366 49.428 2761
+-95.24 49.428 2759
+-95.114 49.428 2757
+-94.988 49.428 2755
+-94.862 49.428 2753
+-94.736 49.428 2751
+-94.61 49.428 2749
+-94.484 49.428 2747
+-94.358 49.428 2745
+-94.232 49.428 2743
+-94.106 49.428 2741
+-93.98 49.428 2739
+-93.854 49.428 2737
+-93.728 49.428 2735
+-93.602 49.428 2733
+-93.476 49.428 2732
+-93.35 49.428 2730
+-93.224 49.428 2728
+-93.098 49.428 2726
+-92.972 49.428 2725
+-92.846 49.428 2723
+-92.72 49.428 2721
+-92.594 49.428 2720
+-92.468 49.428 2718
+-92.342 49.428 2716
+-92.216 49.428 2715
+-92.09 49.428 2714
+-91.964 49.428 2712
+-91.838 49.428 2711
+-91.712 49.428 2710
+-91.586 49.428 2708
+-91.46 49.428 2707
+-91.334 49.428 2706
+-91.208 49.428 2705
+-91.082 49.428 2704
+-90.956 49.428 2703
+-90.83 49.428 2702
+-90.704 49.428 2701
+-90.578 49.428 2701
+-90.452 49.428 2654
+-90.326 49.428 2653
+-90.2 49.428 2652
+-90.074 49.428 2652
+-89.948 49.428 2651
+-89.822 49.428 2651
+-89.696 49.428 2650
+-89.57 49.428 2650
+-89.444 49.428 2650
+-89.318 49.428 2649
+-89.192 49.428 2649
+-89.066 49.428 2649
+-88.94 49.428 2649
+-88.814 49.428 2648
+-88.688 49.428 2648
+-88.562 49.428 2648
+-88.436 49.428 2648
+-88.31 49.428 2648
+-88.184 49.428 2648
+-88.058 49.428 2648
+-87.932 49.428 2649
+-87.806 49.428 2649
+-87.68 49.428 2649
+-87.554 49.428 2649
+-87.428 49.428 2649
+-87.302 49.428 2650
+-87.176 49.428 2650
+-87.05 49.428 2650
+-86.924 49.428 2651
+-86.798 49.428 2651
+-86.672 49.428 2651
+-86.546 49.428 2652
+-86.42 49.428 2652
+-86.294 49.428 2652
+-86.168 49.428 2653
+-86.042 49.428 2653
+-85.916 49.428 2654
+-85.79 49.428 2654
+-85.664 49.428 2654
+-85.538 49.428 2655
+-85.412 49.428 2655
+-85.286 49.428 2656
+-85.16 49.428 2656
+-85.034 49.428 2657
+-84.908 49.428 2657
+-84.782 49.428 2658
+-84.656 49.428 2658
+-84.53 49.428 2659
+-84.404 49.428 2659
+-84.278 49.428 2660
+-84.152 49.428 2660
+-84.026 49.428 2661
+-83.9 49.428 2661
+-83.774 49.428 2662
+-83.648 49.428 2662
+-83.522 49.428 2663
+-83.396 49.428 2663
+-83.27 49.428 2664
+-83.144 49.428 2664
+-83.018 49.428 2665
+-82.892 49.428 2665
+-82.766 49.428 2666
+-82.64 49.428 2666
+-82.514 49.428 2667
+-82.388 49.428 2667
+-82.262 49.428 2668
+-82.136 49.428 2668
+-82.01 49.428 2669
+-81.884 49.428 2669
+-81.758 49.428 2670
+-81.632 49.428 2671
+-81.506 49.428 2671
+-81.38 49.428 2672
+-81.254 49.428 2672
+-81.128 49.428 2673
+-81.002 49.428 2673
+-80.876 49.428 2674
+-80.75 49.428 2674
+-80.624 49.428 2675
+-80.498 49.428 2675
+-80.372 49.428 2687
+-80.246 49.428 2688
+-80.12 49.428 2688
+-79.994 49.428 2689
+-79.868 49.428 2574
+-79.742 49.428 2575
+-79.616 49.428 2575
+-79.49 49.428 2575
+-79.364 49.428 2576
+-79.238 49.428 2576
+-79.112 49.428 2576
+-78.986 49.428 2576
+-78.86 49.428 2577
+-78.734 49.428 2577
+-78.608 49.428 2584
+-78.482 49.428 2592
+-78.356 49.428 2592
+-78.23 49.428 2592
+-78.104 49.428 2593
+-77.978 49.428 2611
+-77.852 49.428 2612
+-77.726 49.428 2612
+-77.6 49.428 2612
+-77.474 49.428 2616
+-77.348 49.428 2747
+-77.222 49.428 2747
+-77.096 49.428 2747
+-76.97 49.428 2754
+-76.844 49.428 2755
+-76.718 49.428 2755
+-76.592 49.428 2774
+-76.466 49.428 2753
+-76.34 49.428 2768
+-76.214 49.428 2769
+-76.088 49.428 2763
+-75.962 49.428 2764
+-75.836 49.428 2764
+-75.71 49.428 2764
+-75.584 49.428 2766
+-75.458 49.428 2857
+-75.332 49.428 2857
+-75.206 49.428 2857
+-75.08 49.428 2858
+-74.954 49.428 2878
+-74.828 49.428 2878
+-74.702 49.428 2856
+-74.576 49.428 2856
+-74.45 49.428 2857
+-74.324 49.428 2857
+-74.198 49.428 2827
+-74.072 49.428 2837
+-73.946 49.428 2838
+-73.82 49.428 2968
+-73.694 49.428 2925
+-73.568 49.428 2926
+-73.442 49.428 3070
+-73.316 49.428 3066
+-73.19 49.428 3025
+-73.064 49.428 3093
+-72.938 49.428 2976
+-72.812 49.428 3009
+-72.686 49.428 3067
+-72.56 49.428 2958
+-72.434 49.428 2966
+-72.308 49.428 2866
+-72.182 49.428 2862
+-72.056 49.428 2880
+-71.93 49.428 2849
+-71.804 49.428 2849
+-71.678 49.428 2850
+-71.552 49.428 2785
+-71.426 49.428 2832
+-71.3 49.428 2823
+-71.174 49.428 2811
+-71.048 49.428 2812
+-70.922 49.428 2812
+-70.796 49.428 2813
+-70.67 49.428 2749
+-70.544 49.428 2743
+-70.418 49.428 2744
+-70.292 49.428 2745
+-70.166 49.428 2745
+-70.04 49.428 2741
+-69.914 49.428 2683
+-69.788 49.428 2789
+-69.662 49.428 2784
+-69.536 49.428 2791
+-69.41 49.428 2791
+-69.284 49.428 2792
+-69.158 49.428 2792
+-69.032 49.428 2819
+-68.906 49.428 2795
+-68.78 49.428 2864
+-68.654 49.428 2865
+-68.528 49.428 2854
+-68.402 49.428 2863
+-68.276 49.428 2863
+-68.15 49.428 2864
+-68.024 49.428 2850
+-67.898 49.428 2967
+-67.772 49.428 2967
+-67.646 49.428 2968
+-67.52 49.428 2969
+-67.394 49.428 3068
+-67.268 49.428 3019
+-67.142 49.428 3166
+-67.016 49.428 3167
+-66.89 49.428 3127
+-66.764 49.428 3128
+-66.638 49.428 3128
+-66.512 49.428 3128
+-66.386 49.428 3129
+-66.26 49.428 3129
+-66.134 49.428 3232
+-66.008 49.428 3226
+-65.882 49.428 3227
+-65.756 49.428 3227
+-65.63 49.428 3227
+-65.504 49.428 3167
+-65.378 49.428 3206
+-65.252 49.428 3207
+-65.126 49.428 3289
+-128 49.376 4151
+-127.874 49.376 4112
+-127.748 49.376 4038
+-127.622 49.376 3993
+-127.496 49.376 4138
+-127.37 49.376 4352
+-127.244 49.376 4399
+-127.118 49.376 4317
+-126.992 49.376 4483
+-126.866 49.376 4618
+-126.74 49.376 4795
+-126.614 49.376 4908
+-126.488 49.376 5014
+-126.362 49.376 5076
+-126.236 49.376 5135
+-126.11 49.376 5224
+-125.984 49.376 5349
+-125.858 49.376 5477
+-125.732 49.376 5597
+-125.606 49.376 5710
+-125.48 49.376 5903
+-125.354 49.376 6003
+-125.228 49.376 6083
+-125.102 49.376 6145
+-124.976 49.376 6222
+-124.85 49.376 6282
+-124.724 49.376 6388
+-124.598 49.376 6395
+-124.472 49.376 6489
+-124.346 49.376 6574
+-124.22 49.376 6660
+-124.094 49.376 6727
+-123.968 49.376 6753
+-123.842 49.376 6794
+-123.716 49.376 6870
+-123.59 49.376 6898
+-123.464 49.376 6927
+-123.338 49.376 6953
+-123.212 49.376 6964
+-123.086 49.376 6981
+-122.96 49.376 7001
+-122.834 49.376 7010
+-122.708 49.376 6988
+-122.582 49.376 6968
+-122.456 49.376 6924
+-122.33 49.376 6908
+-122.204 49.376 6862
+-122.078 49.376 6801
+-121.952 49.376 6720
+-121.826 49.376 6681
+-121.7 49.376 6632
+-121.574 49.376 6570
+-121.448 49.376 6507
+-121.322 49.376 6405
+-121.196 49.376 6371
+-121.07 49.376 6234
+-120.944 49.376 6186
+-120.818 49.376 6069
+-120.692 49.376 5949
+-120.566 49.376 5883
+-120.44 49.376 5787
+-120.314 49.376 5663
+-120.188 49.376 5587
+-120.062 49.376 5384
+-119.936 49.376 5456
+-119.81 49.376 5488
+-119.684 49.376 5508
+-119.558 49.376 5605
+-119.432 49.376 5629
+-119.306 49.376 5675
+-119.18 49.376 5691
+-119.054 49.376 5736
+-118.928 49.376 5767
+-118.802 49.376 5790
+-118.676 49.376 5788
+-118.55 49.376 5790
+-118.424 49.376 5815
+-118.298 49.376 5832
+-118.172 49.376 5828
+-118.046 49.376 5797
+-117.92 49.376 5776
+-117.794 49.376 5763
+-117.668 49.376 5742
+-117.542 49.376 5718
+-117.416 49.376 5675
+-117.29 49.376 5652
+-117.164 49.376 5593
+-117.038 49.376 5549
+-116.912 49.376 5512
+-116.786 49.376 5465
+-116.66 49.376 5367
+-116.534 49.376 5262
+-116.408 49.376 5240
+-116.282 49.376 5155
+-116.156 49.376 5082
+-116.03 49.376 5049
+-115.904 49.376 5000
+-115.778 49.376 4883
+-115.652 49.376 4786
+-115.526 49.376 4738
+-115.4 49.376 4618
+-115.274 49.376 4525
+-115.148 49.376 4466
+-115.022 49.376 4435
+-114.896 49.376 4407
+-114.77 49.376 4377
+-114.644 49.376 4314
+-114.518 49.376 4268
+-114.392 49.376 4105
+-114.266 49.376 3996
+-114.14 49.376 3874
+-114.014 49.376 3773
+-113.888 49.376 3674
+-113.762 49.376 3588
+-113.636 49.376 3509
+-113.51 49.376 3455
+-113.384 49.376 3401
+-113.258 49.376 3370
+-113.132 49.376 3360
+-113.006 49.376 3359
+-112.88 49.376 3364
+-112.754 49.376 3337
+-112.628 49.376 3328
+-112.502 49.376 3332
+-112.376 49.376 3337
+-112.25 49.376 3334
+-112.124 49.376 3331
+-111.998 49.376 3281
+-111.872 49.376 3280
+-111.746 49.376 3283
+-111.62 49.376 3285
+-111.494 49.376 3287
+-111.368 49.376 3289
+-111.242 49.376 3291
+-111.116 49.376 3293
+-110.99 49.376 3295
+-110.864 49.376 3297
+-110.738 49.376 3283
+-110.612 49.376 3243
+-110.486 49.376 3230
+-110.36 49.376 3232
+-110.234 49.376 3235
+-110.108 49.376 3238
+-109.982 49.376 3241
+-109.856 49.376 3245
+-109.73 49.376 3222
+-109.604 49.376 3226
+-109.478 49.376 3230
+-109.352 49.376 3234
+-109.226 49.376 3206
+-109.1 49.376 3210
+-108.974 49.376 3215
+-108.848 49.376 3220
+-108.722 49.376 3210
+-108.596 49.376 3214
+-108.47 49.376 3218
+-108.344 49.376 3222
+-108.218 49.376 3214
+-108.092 49.376 3218
+-107.966 49.376 3223
+-107.84 49.376 3227
+-107.714 49.376 3218
+-107.588 49.376 3222
+-107.462 49.376 3226
+-107.336 49.376 3231
+-107.21 49.376 3235
+-107.084 49.376 3239
+-106.958 49.376 3242
+-106.832 49.376 3246
+-106.706 49.376 3250
+-106.58 49.376 3253
+-106.454 49.376 3256
+-106.328 49.376 3193
+-106.202 49.376 3180
+-106.076 49.376 3183
+-105.95 49.376 3186
+-105.824 49.376 3189
+-105.698 49.376 3192
+-105.572 49.376 3160
+-105.446 49.376 3156
+-105.32 49.376 3159
+-105.194 49.376 3163
+-105.068 49.376 3142
+-104.942 49.376 3145
+-104.816 49.376 3147
+-104.69 49.376 3150
+-104.564 49.376 3153
+-104.438 49.376 3155
+-104.312 49.376 3158
+-104.186 49.376 3160
+-104.06 49.376 3163
+-103.934 49.376 3165
+-103.808 49.376 3167
+-103.682 49.376 3170
+-103.556 49.376 3172
+-103.43 49.376 3174
+-103.304 49.376 3176
+-103.178 49.376 3149
+-103.052 49.376 3105
+-102.926 49.376 3106
+-102.8 49.376 3108
+-102.674 49.376 3109
+-102.548 49.376 3111
+-102.422 49.376 3112
+-102.296 49.376 3114
+-102.17 49.376 3115
+-102.044 49.376 3042
+-101.918 49.376 3041
+-101.792 49.376 3039
+-101.666 49.376 2988
+-101.54 49.376 2948
+-101.414 49.376 2946
+-101.288 49.376 2947
+-101.162 49.376 2911
+-101.036 49.376 2855
+-100.91 49.376 2750
+-100.784 49.376 2739
+-100.658 49.376 2707
+-100.532 49.376 2715
+-100.406 49.376 2739
+-100.28 49.376 2738
+-100.154 49.376 2725
+-100.028 49.376 2726
+-99.902 49.376 2729
+-99.776 49.376 2744
+-99.65 49.376 2756
+-99.524 49.376 2802
+-99.398 49.376 2803
+-99.272 49.376 2804
+-99.146 49.376 2824
+-99.02 49.376 2823
+-98.894 49.376 2822
+-98.768 49.376 2821
+-98.642 49.376 2806
+-98.516 49.376 2804
+-98.39 49.376 2803
+-98.264 49.376 2801
+-98.138 49.376 2800
+-98.012 49.376 2798
+-97.886 49.376 2797
+-97.76 49.376 2795
+-97.634 49.376 2793
+-97.508 49.376 2792
+-97.382 49.376 2790
+-97.256 49.376 2788
+-97.13 49.376 2786
+-97.004 49.376 2785
+-96.878 49.376 2783
+-96.752 49.376 2781
+-96.626 49.376 2779
+-96.5 49.376 2777
+-96.374 49.376 2775
+-96.248 49.376 2774
+-96.122 49.376 2772
+-95.996 49.376 2770
+-95.87 49.376 2768
+-95.744 49.376 2766
+-95.618 49.376 2764
+-95.492 49.376 2762
+-95.366 49.376 2760
+-95.24 49.376 2758
+-95.114 49.376 2756
+-94.988 49.376 2754
+-94.862 49.376 2752
+-94.736 49.376 2750
+-94.61 49.376 2748
+-94.484 49.376 2746
+-94.358 49.376 2744
+-94.232 49.376 2742
+-94.106 49.376 2740
+-93.98 49.376 2738
+-93.854 49.376 2736
+-93.728 49.376 2734
+-93.602 49.376 2732
+-93.476 49.376 2730
+-93.35 49.376 2728
+-93.224 49.376 2726
+-93.098 49.376 2724
+-92.972 49.376 2723
+-92.846 49.376 2721
+-92.72 49.376 2719
+-92.594 49.376 2718
+-92.468 49.376 2716
+-92.342 49.376 2714
+-92.216 49.376 2713
+-92.09 49.376 2711
+-91.964 49.376 2710
+-91.838 49.376 2709
+-91.712 49.376 2707
+-91.586 49.376 2706
+-91.46 49.376 2705
+-91.334 49.376 2704
+-91.208 49.376 2703
+-91.082 49.376 2702
+-90.956 49.376 2701
+-90.83 49.376 2700
+-90.704 49.376 2699
+-90.578 49.376 2698
+-90.452 49.376 2651
+-90.326 49.376 2651
+-90.2 49.376 2650
+-90.074 49.376 2649
+-89.948 49.376 2649
+-89.822 49.376 2648
+-89.696 49.376 2648
+-89.57 49.376 2648
+-89.444 49.376 2647
+-89.318 49.376 2647
+-89.192 49.376 2647
+-89.066 49.376 2646
+-88.94 49.376 2646
+-88.814 49.376 2646
+-88.688 49.376 2646
+-88.562 49.376 2646
+-88.436 49.376 2646
+-88.31 49.376 2646
+-88.184 49.376 2646
+-88.058 49.376 2646
+-87.932 49.376 2647
+-87.806 49.376 2647
+-87.68 49.376 2647
+-87.554 49.376 2647
+-87.428 49.376 2647
+-87.302 49.376 2648
+-87.176 49.376 2648
+-87.05 49.376 2648
+-86.924 49.376 2649
+-86.798 49.376 2649
+-86.672 49.376 2649
+-86.546 49.376 2650
+-86.42 49.376 2650
+-86.294 49.376 2651
+-86.168 49.376 2651
+-86.042 49.376 2652
+-85.916 49.376 2652
+-85.79 49.376 2652
+-85.664 49.376 2653
+-85.538 49.376 2653
+-85.412 49.376 2654
+-85.286 49.376 2654
+-85.16 49.376 2655
+-85.034 49.376 2655
+-84.908 49.376 2656
+-84.782 49.376 2656
+-84.656 49.376 2657
+-84.53 49.376 2657
+-84.404 49.376 2658
+-84.278 49.376 2658
+-84.152 49.376 2659
+-84.026 49.376 2659
+-83.9 49.376 2660
+-83.774 49.376 2660
+-83.648 49.376 2661
+-83.522 49.376 2661
+-83.396 49.376 2662
+-83.27 49.376 2663
+-83.144 49.376 2663
+-83.018 49.376 2664
+-82.892 49.376 2664
+-82.766 49.376 2665
+-82.64 49.376 2665
+-82.514 49.376 2666
+-82.388 49.376 2666
+-82.262 49.376 2667
+-82.136 49.376 2667
+-82.01 49.376 2668
+-81.884 49.376 2668
+-81.758 49.376 2669
+-81.632 49.376 2670
+-81.506 49.376 2670
+-81.38 49.376 2671
+-81.254 49.376 2671
+-81.128 49.376 2672
+-81.002 49.376 2672
+-80.876 49.376 2673
+-80.75 49.376 2673
+-80.624 49.376 2674
+-80.498 49.376 2686
+-80.372 49.376 2686
+-80.246 49.376 2687
+-80.12 49.376 2687
+-79.994 49.376 2573
+-79.868 49.376 2574
+-79.742 49.376 2574
+-79.616 49.376 2574
+-79.49 49.376 2574
+-79.364 49.376 2575
+-79.238 49.376 2575
+-79.112 49.376 2575
+-78.986 49.376 2576
+-78.86 49.376 2576
+-78.734 49.376 2583
+-78.608 49.376 2591
+-78.482 49.376 2591
+-78.356 49.376 2591
+-78.23 49.376 2592
+-78.104 49.376 2610
+-77.978 49.376 2611
+-77.852 49.376 2611
+-77.726 49.376 2611
+-77.6 49.376 2615
+-77.474 49.376 2746
+-77.348 49.376 2746
+-77.222 49.376 2746
+-77.096 49.376 2753
+-76.97 49.376 2754
+-76.844 49.376 2754
+-76.718 49.376 2773
+-76.592 49.376 2752
+-76.466 49.376 2767
+-76.34 49.376 2768
+-76.214 49.376 2762
+-76.088 49.376 2763
+-75.962 49.376 2763
+-75.836 49.376 2763
+-75.71 49.376 2765
+-75.584 49.376 2855
+-75.458 49.376 2856
+-75.332 49.376 2856
+-75.206 49.376 2857
+-75.08 49.376 2877
+-74.954 49.376 2877
+-74.828 49.376 2855
+-74.702 49.376 2855
+-74.576 49.376 2856
+-74.45 49.376 2856
+-74.324 49.376 2826
+-74.198 49.376 2836
+-74.072 49.376 2837
+-73.946 49.376 2967
+-73.82 49.376 2924
+-73.694 49.376 2925
+-73.568 49.376 3069
+-73.442 49.376 3065
+-73.316 49.376 3024
+-73.19 49.376 3092
+-73.064 49.376 2975
+-72.938 49.376 3008
+-72.812 49.376 3066
+-72.686 49.376 2957
+-72.56 49.376 2965
+-72.434 49.376 2866
+-72.308 49.376 2861
+-72.182 49.376 2879
+-72.056 49.376 2848
+-71.93 49.376 2849
+-71.804 49.376 2849
+-71.678 49.376 2784
+-71.552 49.376 2831
+-71.426 49.376 2822
+-71.3 49.376 2810
+-71.174 49.376 2811
+-71.048 49.376 2811
+-70.922 49.376 2812
+-70.796 49.376 2748
+-70.67 49.376 2743
+-70.544 49.376 2743
+-70.418 49.376 2744
+-70.292 49.376 2745
+-70.166 49.376 2740
+-70.04 49.376 2682
+-69.914 49.376 2789
+-69.788 49.376 2784
+-69.662 49.376 2790
+-69.536 49.376 2791
+-69.41 49.376 2791
+-69.284 49.376 2792
+-69.158 49.376 2819
+-69.032 49.376 2794
+-68.906 49.376 2864
+-68.78 49.376 2864
+-68.654 49.376 2854
+-68.528 49.376 2862
+-68.402 49.376 2863
+-68.276 49.376 2863
+-68.15 49.376 2850
+-68.024 49.376 2966
+-67.898 49.376 2967
+-67.772 49.376 2968
+-67.646 49.376 2968
+-67.52 49.376 3068
+-67.394 49.376 3019
+-67.268 49.376 3166
+-67.142 49.376 3166
+-67.016 49.376 3127
+-66.89 49.376 3127
+-66.764 49.376 3128
+-66.638 49.376 3128
+-66.512 49.376 3128
+-66.386 49.376 3128
+-66.26 49.376 3232
+-66.134 49.376 3226
+-66.008 49.376 3226
+-65.882 49.376 3227
+-65.756 49.376 3227
+-65.63 49.376 3167
+-65.504 49.376 3206
+-65.378 49.376 3207
+-65.252 49.376 3289
+-65.126 49.376 3192
+-128 49.324 4204
+-127.874 49.324 4183
+-127.748 49.324 4168
+-127.622 49.324 4185
+-127.496 49.324 4279
+-127.37 49.324 4411
+-127.244 49.324 4464
+-127.118 49.324 4472
+-126.992 49.324 4503
+-126.866 49.324 4631
+-126.74 49.324 4807
+-126.614 49.324 4919
+-126.488 49.324 5037
+-126.362 49.324 5140
+-126.236 49.324 5200
+-126.11 49.324 5300
+-125.984 49.324 5379
+-125.858 49.324 5499
+-125.732 49.324 5662
+-125.606 49.324 5744
+-125.48 49.324 5938
+-125.354 49.324 6062
+-125.228 49.324 6118
+-125.102 49.324 6176
+-124.976 49.324 6250
+-124.85 49.324 6354
+-124.724 49.324 6443
+-124.598 49.324 6480
+-124.472 49.324 6541
+-124.346 49.324 6631
+-124.22 49.324 6720
+-124.094 49.324 6760
+-123.968 49.324 6813
+-123.842 49.324 6867
+-123.716 49.324 6926
+-123.59 49.324 6974
+-123.464 49.324 6995
+-123.338 49.324 7021
+-123.212 49.324 7035
+-123.086 49.324 7066
+-122.96 49.324 7060
+-122.834 49.324 7051
+-122.708 49.324 7039
+-122.582 49.324 7002
+-122.456 49.324 6982
+-122.33 49.324 6941
+-122.204 49.324 6930
+-122.078 49.324 6856
+-121.952 49.324 6800
+-121.826 49.324 6751
+-121.7 49.324 6679
+-121.574 49.324 6613
+-121.448 49.324 6534
+-121.322 49.324 6478
+-121.196 49.324 6391
+-121.07 49.324 6294
+-120.944 49.324 6174
+-120.818 49.324 6109
+-120.692 49.324 6050
+-120.566 49.324 5970
+-120.44 49.324 5837
+-120.314 49.324 5698
+-120.188 49.324 5606
+-120.062 49.324 5517
+-119.936 49.324 5466
+-119.81 49.324 5530
+-119.684 49.324 5583
+-119.558 49.324 5639
+-119.432 49.324 5664
+-119.306 49.324 5713
+-119.18 49.324 5748
+-119.054 49.324 5796
+-118.928 49.324 5824
+-118.802 49.324 5828
+-118.676 49.324 5833
+-118.55 49.324 5860
+-118.424 49.324 5885
+-118.298 49.324 5896
+-118.172 49.324 5892
+-118.046 49.324 5875
+-117.92 49.324 5838
+-117.794 49.324 5828
+-117.668 49.324 5776
+-117.542 49.324 5771
+-117.416 49.324 5730
+-117.29 49.324 5685
+-117.164 49.324 5648
+-117.038 49.324 5580
+-116.912 49.324 5537
+-116.786 49.324 5525
+-116.66 49.324 5439
+-116.534 49.324 5332
+-116.408 49.324 5256
+-116.282 49.324 5186
+-116.156 49.324 5118
+-116.03 49.324 5049
+-115.904 49.324 5020
+-115.778 49.324 4924
+-115.652 49.324 4827
+-115.526 49.324 4749
+-115.4 49.324 4674
+-115.274 49.324 4596
+-115.148 49.324 4509
+-115.022 49.324 4463
+-114.896 49.324 4437
+-114.77 49.324 4386
+-114.644 49.324 4310
+-114.518 49.324 4254
+-114.392 49.324 4160
+-114.266 49.324 4061
+-114.14 49.324 3917
+-114.014 49.324 3773
+-113.888 49.324 3672
+-113.762 49.324 3573
+-113.636 49.324 3507
+-113.51 49.324 3455
+-113.384 49.324 3422
+-113.258 49.324 3407
+-113.132 49.324 3407
+-113.006 49.324 3404
+-112.88 49.324 3398
+-112.754 49.324 3351
+-112.628 49.324 3350
+-112.502 49.324 3352
+-112.376 49.324 3346
+-112.25 49.324 3341
+-112.124 49.324 3290
+-111.998 49.324 3287
+-111.872 49.324 3288
+-111.746 49.324 3289
+-111.62 49.324 3289
+-111.494 49.324 3289
+-111.368 49.324 3290
+-111.242 49.324 3290
+-111.116 49.324 3291
+-110.99 49.324 3292
+-110.864 49.324 3278
+-110.738 49.324 3238
+-110.612 49.324 3225
+-110.486 49.324 3227
+-110.36 49.324 3230
+-110.234 49.324 3232
+-110.108 49.324 3236
+-109.982 49.324 3239
+-109.856 49.324 3216
+-109.73 49.324 3220
+-109.604 49.324 3224
+-109.478 49.324 3229
+-109.352 49.324 3200
+-109.226 49.324 3205
+-109.1 49.324 3210
+-108.974 49.324 3215
+-108.848 49.324 3205
+-108.722 49.324 3210
+-108.596 49.324 3214
+-108.47 49.324 3218
+-108.344 49.324 3210
+-108.218 49.324 3215
+-108.092 49.324 3219
+-107.966 49.324 3224
+-107.84 49.324 3214
+-107.714 49.324 3219
+-107.588 49.324 3223
+-107.462 49.324 3228
+-107.336 49.324 3232
+-107.21 49.324 3236
+-107.084 49.324 3240
+-106.958 49.324 3244
+-106.832 49.324 3247
+-106.706 49.324 3251
+-106.58 49.324 3255
+-106.454 49.324 3191
+-106.328 49.324 3178
+-106.202 49.324 3182
+-106.076 49.324 3185
+-105.95 49.324 3188
+-105.824 49.324 3191
+-105.698 49.324 3159
+-105.572 49.324 3154
+-105.446 49.324 3158
+-105.32 49.324 3161
+-105.194 49.324 3140
+-105.068 49.324 3143
+-104.942 49.324 3146
+-104.816 49.324 3149
+-104.69 49.324 3152
+-104.564 49.324 3155
+-104.438 49.324 3157
+-104.312 49.324 3160
+-104.186 49.324 3162
+-104.06 49.324 3165
+-103.934 49.324 3167
+-103.808 49.324 3169
+-103.682 49.324 3171
+-103.556 49.324 3173
+-103.43 49.324 3176
+-103.304 49.324 3149
+-103.178 49.324 3104
+-103.052 49.324 3106
+-102.926 49.324 3108
+-102.8 49.324 3109
+-102.674 49.324 3111
+-102.548 49.324 3112
+-102.422 49.324 3114
+-102.296 49.324 3115
+-102.17 49.324 3116
+-102.044 49.324 3043
+-101.918 49.324 3042
+-101.792 49.324 2990
+-101.666 49.324 2985
+-101.54 49.324 2949
+-101.414 49.324 2950
+-101.288 49.324 2913
+-101.162 49.324 2911
+-101.036 49.324 2833
+-100.91 49.324 2741
+-100.784 49.324 2709
+-100.658 49.324 2716
+-100.532 49.324 2733
+-100.406 49.324 2738
+-100.28 49.324 2725
+-100.154 49.324 2726
+-100.028 49.324 2728
+-99.902 49.324 2744
+-99.776 49.324 2756
+-99.65 49.324 2802
+-99.524 49.324 2803
+-99.398 49.324 2804
+-99.272 49.324 2825
+-99.146 49.324 2824
+-99.02 49.324 2892
+-98.894 49.324 2942
+-98.768 49.324 2821
+-98.642 49.324 2819
+-98.516 49.324 2804
+-98.39 49.324 2803
+-98.264 49.324 2801
+-98.138 49.324 2800
+-98.012 49.324 2798
+-97.886 49.324 2797
+-97.76 49.324 2795
+-97.634 49.324 2793
+-97.508 49.324 2792
+-97.382 49.324 2790
+-97.256 49.324 2788
+-97.13 49.324 2786
+-97.004 49.324 2784
+-96.878 49.324 2783
+-96.752 49.324 2781
+-96.626 49.324 2779
+-96.5 49.324 2777
+-96.374 49.324 2775
+-96.248 49.324 2773
+-96.122 49.324 2771
+-95.996 49.324 2769
+-95.87 49.324 2767
+-95.744 49.324 2765
+-95.618 49.324 2763
+-95.492 49.324 2761
+-95.366 49.324 2759
+-95.24 49.324 2757
+-95.114 49.324 2755
+-94.988 49.324 2753
+-94.862 49.324 2751
+-94.736 49.324 2749
+-94.61 49.324 2747
+-94.484 49.324 2745
+-94.358 49.324 2742
+-94.232 49.324 2740
+-94.106 49.324 2738
+-93.98 49.324 2736
+-93.854 49.324 2734
+-93.728 49.324 2732
+-93.602 49.324 2730
+-93.476 49.324 2728
+-93.35 49.324 2726
+-93.224 49.324 2724
+-93.098 49.324 2723
+-92.972 49.324 2721
+-92.846 49.324 2719
+-92.72 49.324 2717
+-92.594 49.324 2715
+-92.468 49.324 2714
+-92.342 49.324 2712
+-92.216 49.324 2711
+-92.09 49.324 2709
+-91.964 49.324 2708
+-91.838 49.324 2706
+-91.712 49.324 2705
+-91.586 49.324 2704
+-91.46 49.324 2702
+-91.334 49.324 2701
+-91.208 49.324 2700
+-91.082 49.324 2699
+-90.956 49.324 2698
+-90.83 49.324 2697
+-90.704 49.324 2696
+-90.578 49.324 2695
+-90.452 49.324 2649
+-90.326 49.324 2648
+-90.2 49.324 2648
+-90.074 49.324 2647
+-89.948 49.324 2646
+-89.822 49.324 2646
+-89.696 49.324 2646
+-89.57 49.324 2645
+-89.444 49.324 2645
+-89.318 49.324 2645
+-89.192 49.324 2644
+-89.066 49.324 2644
+-88.94 49.324 2644
+-88.814 49.324 2644
+-88.688 49.324 2644
+-88.562 49.324 2644
+-88.436 49.324 2644
+-88.31 49.324 2644
+-88.184 49.324 2644
+-88.058 49.324 2644
+-87.932 49.324 2644
+-87.806 49.324 2645
+-87.68 49.324 2645
+-87.554 49.324 2645
+-87.428 49.324 2645
+-87.302 49.324 2646
+-87.176 49.324 2646
+-87.05 49.324 2647
+-86.924 49.324 2647
+-86.798 49.324 2647
+-86.672 49.324 2648
+-86.546 49.324 2648
+-86.42 49.324 2649
+-86.294 49.324 2649
+-86.168 49.324 2649
+-86.042 49.324 2650
+-85.916 49.324 2650
+-85.79 49.324 2651
+-85.664 49.324 2651
+-85.538 49.324 2652
+-85.412 49.324 2652
+-85.286 49.324 2653
+-85.16 49.324 2653
+-85.034 49.324 2654
+-84.908 49.324 2654
+-84.782 49.324 2655
+-84.656 49.324 2655
+-84.53 49.324 2656
+-84.404 49.324 2656
+-84.278 49.324 2657
+-84.152 49.324 2658
+-84.026 49.324 2658
+-83.9 49.324 2659
+-83.774 49.324 2659
+-83.648 49.324 2660
+-83.522 49.324 2660
+-83.396 49.324 2661
+-83.27 49.324 2661
+-83.144 49.324 2662
+-83.018 49.324 2662
+-82.892 49.324 2663
+-82.766 49.324 2664
+-82.64 49.324 2664
+-82.514 49.324 2665
+-82.388 49.324 2665
+-82.262 49.324 2666
+-82.136 49.324 2666
+-82.01 49.324 2667
+-81.884 49.324 2667
+-81.758 49.324 2668
+-81.632 49.324 2669
+-81.506 49.324 2669
+-81.38 49.324 2670
+-81.254 49.324 2670
+-81.128 49.324 2671
+-81.002 49.324 2671
+-80.876 49.324 2672
+-80.75 49.324 2673
+-80.624 49.324 2684
+-80.498 49.324 2685
+-80.372 49.324 2685
+-80.246 49.324 2686
+-80.12 49.324 2572
+-79.994 49.324 2572
+-79.868 49.324 2573
+-79.742 49.324 2573
+-79.616 49.324 2573
+-79.49 49.324 2574
+-79.364 49.324 2574
+-79.238 49.324 2574
+-79.112 49.324 2575
+-78.986 49.324 2575
+-78.86 49.324 2582
+-78.734 49.324 2590
+-78.608 49.324 2590
+-78.482 49.324 2590
+-78.356 49.324 2591
+-78.23 49.324 2609
+-78.104 49.324 2610
+-77.978 49.324 2610
+-77.852 49.324 2610
+-77.726 49.324 2614
+-77.6 49.324 2744
+-77.474 49.324 2745
+-77.348 49.324 2745
+-77.222 49.324 2752
+-77.096 49.324 2753
+-76.97 49.324 2753
+-76.844 49.324 2771
+-76.718 49.324 2751
+-76.592 49.324 2766
+-76.466 49.324 2766
+-76.34 49.324 2761
+-76.214 49.324 2762
+-76.088 49.324 2762
+-75.962 49.324 2762
+-75.836 49.324 2764
+-75.71 49.324 2854
+-75.584 49.324 2855
+-75.458 49.324 2855
+-75.332 49.324 2856
+-75.206 49.324 2875
+-75.08 49.324 2876
+-74.954 49.324 2854
+-74.828 49.324 2854
+-74.702 49.324 2855
+-74.576 49.324 2855
+-74.45 49.324 2825
+-74.324 49.324 2835
+-74.198 49.324 2836
+-74.072 49.324 2966
+-73.946 49.324 2923
+-73.82 49.324 2924
+-73.694 49.324 3068
+-73.568 49.324 3064
+-73.442 49.324 3023
+-73.316 49.324 3091
+-73.19 49.324 2974
+-73.064 49.324 3007
+-72.938 49.324 3064
+-72.812 49.324 2956
+-72.686 49.324 2964
+-72.56 49.324 2865
+-72.434 49.324 2861
+-72.308 49.324 2878
+-72.182 49.324 2847
+-72.056 49.324 2848
+-71.93 49.324 2848
+-71.804 49.324 2784
+-71.678 49.324 2830
+-71.552 49.324 2821
+-71.426 49.324 2809
+-71.3 49.324 2810
+-71.174 49.324 2811
+-71.048 49.324 2811
+-70.922 49.324 2748
+-70.796 49.324 2742
+-70.67 49.324 2743
+-70.544 49.324 2743
+-70.418 49.324 2744
+-70.292 49.324 2740
+-70.166 49.324 2682
+-70.04 49.324 2788
+-69.914 49.324 2783
+-69.788 49.324 2790
+-69.662 49.324 2790
+-69.536 49.324 2791
+-69.41 49.324 2791
+-69.284 49.324 2818
+-69.158 49.324 2794
+-69.032 49.324 2863
+-68.906 49.324 2864
+-68.78 49.324 2853
+-68.654 49.324 2861
+-68.528 49.324 2862
+-68.402 49.324 2863
+-68.276 49.324 2849
+-68.15 49.324 2966
+-68.024 49.324 2966
+-67.898 49.324 2967
+-67.772 49.324 2968
+-67.646 49.324 3067
+-67.52 49.324 3018
+-67.394 49.324 3166
+-67.268 49.324 3166
+-67.142 49.324 3127
+-67.016 49.324 3127
+-66.89 49.324 3127
+-66.764 49.324 3128
+-66.638 49.324 3128
+-66.512 49.324 3128
+-66.386 49.324 3231
+-66.26 49.324 3225
+-66.134 49.324 3226
+-66.008 49.324 3226
+-65.882 49.324 3227
+-65.756 49.324 3166
+-65.63 49.324 3206
+-65.504 49.324 3206
+-65.378 49.324 3288
+-65.252 49.324 3192
+-65.126 49.324 3192
+-128 49.272 4249
+-127.874 49.272 4247
+-127.748 49.272 4260
+-127.622 49.272 4316
+-127.496 49.272 4377
+-127.37 49.272 4434
+-127.244 49.272 4504
+-127.118 49.272 4571
+-126.992 49.272 4614
+-126.866 49.272 4709
+-126.74 49.272 4808
+-126.614 49.272 4904
+-126.488 49.272 5034
+-126.362 49.272 5183
+-126.236 49.272 5228
+-126.11 49.272 5332
+-125.984 49.272 5407
+-125.858 49.272 5515
+-125.732 49.272 5688
+-125.606 49.272 5842
+-125.48 49.272 5997
+-125.354 49.272 6087
+-125.228 49.272 6069
+-125.102 49.272 6138
+-124.976 49.272 6255
+-124.85 49.272 6365
+-124.724 49.272 6434
+-124.598 49.272 6521
+-124.472 49.272 6614
+-124.346 49.272 6706
+-124.22 49.272 6747
+-124.094 49.272 6806
+-123.968 49.272 6858
+-123.842 49.272 6895
+-123.716 49.272 6982
+-123.59 49.272 7033
+-123.464 49.272 7016
+-123.338 49.272 7065
+-123.212 49.272 7071
+-123.086 49.272 7075
+-122.96 49.272 7098
+-122.834 49.272 7101
+-122.708 49.272 7095
+-122.582 49.272 7083
+-122.456 49.272 7020
+-122.33 49.272 7034
+-122.204 49.272 6976
+-122.078 49.272 6912
+-121.952 49.272 6853
+-121.826 49.272 6815
+-121.7 49.272 6736
+-121.574 49.272 6673
+-121.448 49.272 6585
+-121.322 49.272 6510
+-121.196 49.272 6450
+-121.07 49.272 6352
+-120.944 49.272 6268
+-120.818 49.272 6157
+-120.692 49.272 6104
+-120.566 49.272 6017
+-120.44 49.272 5898
+-120.314 49.272 5757
+-120.188 49.272 5671
+-120.062 49.272 5584
+-119.936 49.272 5547
+-119.81 49.272 5553
+-119.684 49.272 5613
+-119.558 49.272 5700
+-119.432 49.272 5743
+-119.306 49.272 5778
+-119.18 49.272 5805
+-119.054 49.272 5863
+-118.928 49.272 5867
+-118.802 49.272 5892
+-118.676 49.272 5899
+-118.55 49.272 5907
+-118.424 49.272 5935
+-118.298 49.272 5944
+-118.172 49.272 5925
+-118.046 49.272 5934
+-117.92 49.272 5893
+-117.794 49.272 5853
+-117.668 49.272 5828
+-117.542 49.272 5808
+-117.416 49.272 5795
+-117.29 49.272 5748
+-117.164 49.272 5707
+-117.038 49.272 5635
+-116.912 49.272 5575
+-116.786 49.272 5565
+-116.66 49.272 5506
+-116.534 49.272 5414
+-116.408 49.272 5343
+-116.282 49.272 5237
+-116.156 49.272 5178
+-116.03 49.272 5099
+-115.904 49.272 5002
+-115.778 49.272 4950
+-115.652 49.272 4855
+-115.526 49.272 4800
+-115.4 49.272 4720
+-115.274 49.272 4639
+-115.148 49.272 4533
+-115.022 49.272 4458
+-114.896 49.272 4437
+-114.77 49.272 4380
+-114.644 49.272 4288
+-114.518 49.272 4202
+-114.392 49.272 4107
+-114.266 49.272 4056
+-114.14 49.272 3944
+-114.014 49.272 3808
+-113.888 49.272 3644
+-113.762 49.272 3527
+-113.636 49.272 3445
+-113.51 49.272 3418
+-113.384 49.272 3422
+-113.258 49.272 3420
+-113.132 49.272 3419
+-113.006 49.272 3412
+-112.88 49.272 3369
+-112.754 49.272 3366
+-112.628 49.272 3366
+-112.502 49.272 3358
+-112.376 49.272 3352
+-112.25 49.272 3300
+-112.124 49.272 3296
+-111.998 49.272 3295
+-111.872 49.272 3294
+-111.746 49.272 3292
+-111.62 49.272 3291
+-111.494 49.272 3289
+-111.368 49.272 3288
+-111.242 49.272 3288
+-111.116 49.272 3288
+-110.99 49.272 3273
+-110.864 49.272 3233
+-110.738 49.272 3219
+-110.612 49.272 3221
+-110.486 49.272 3223
+-110.36 49.272 3226
+-110.234 49.272 3229
+-110.108 49.272 3232
+-109.982 49.272 3209
+-109.856 49.272 3213
+-109.73 49.272 3218
+-109.604 49.272 3222
+-109.478 49.272 3194
+-109.352 49.272 3199
+-109.226 49.272 3204
+-109.1 49.272 3209
+-108.974 49.272 3200
+-108.848 49.272 3205
+-108.722 49.272 3210
+-108.596 49.272 3214
+-108.47 49.272 3206
+-108.344 49.272 3211
+-108.218 49.272 3215
+-108.092 49.272 3220
+-107.966 49.272 3211
+-107.84 49.272 3216
+-107.714 49.272 3220
+-107.588 49.272 3225
+-107.462 49.272 3229
+-107.336 49.272 3233
+-107.21 49.272 3238
+-107.084 49.272 3242
+-106.958 49.272 3245
+-106.832 49.272 3249
+-106.706 49.272 3253
+-106.58 49.272 3189
+-106.454 49.272 3177
+-106.328 49.272 3180
+-106.202 49.272 3183
+-106.076 49.272 3186
+-105.95 49.272 3190
+-105.824 49.272 3157
+-105.698 49.272 3153
+-105.572 49.272 3156
+-105.446 49.272 3160
+-105.32 49.272 3139
+-105.194 49.272 3142
+-105.068 49.272 3145
+-104.942 49.272 3148
+-104.816 49.272 3151
+-104.69 49.272 3154
+-104.564 49.272 3157
+-104.438 49.272 3159
+-104.312 49.272 3162
+-104.186 49.272 3164
+-104.06 49.272 3166
+-103.934 49.272 3169
+-103.808 49.272 3171
+-103.682 49.272 3173
+-103.556 49.272 3175
+-103.43 49.272 3148
+-103.304 49.272 3104
+-103.178 49.272 3105
+-103.052 49.272 3107
+-102.926 49.272 3109
+-102.8 49.272 3110
+-102.674 49.272 3112
+-102.548 49.272 3113
+-102.422 49.272 3115
+-102.296 49.272 3116
+-102.17 49.272 3118
+-102.044 49.272 3044
+-101.918 49.272 2992
+-101.792 49.272 2991
+-101.666 49.272 2986
+-101.54 49.272 2953
+-101.414 49.272 2914
+-101.288 49.272 2913
+-101.162 49.272 2891
+-101.036 49.272 2833
+-100.91 49.272 2749
+-100.784 49.272 2726
+-100.658 49.272 2734
+-100.532 49.272 2738
+-100.406 49.272 2724
+-100.28 49.272 2725
+-100.154 49.272 2726
+-100.028 49.272 2743
+-99.902 49.272 2755
+-99.776 49.272 2801
+-99.65 49.272 2802
+-99.524 49.272 2804
+-99.398 49.272 2819
+-99.272 49.272 2825
+-99.146 49.272 2893
+-99.02 49.272 2944
+-98.894 49.272 2942
+-98.768 49.272 2941
+-98.642 49.272 2819
+-98.516 49.272 2818
+-98.39 49.272 2803
+-98.264 49.272 2802
+-98.138 49.272 2800
+-98.012 49.272 2798
+-97.886 49.272 2797
+-97.76 49.272 2795
+-97.634 49.272 2793
+-97.508 49.272 2792
+-97.382 49.272 2790
+-97.256 49.272 2788
+-97.13 49.272 2786
+-97.004 49.272 2784
+-96.878 49.272 2782
+-96.752 49.272 2781
+-96.626 49.272 2779
+-96.5 49.272 2777
+-96.374 49.272 2775
+-96.248 49.272 2773
+-96.122 49.272 2771
+-95.996 49.272 2769
+-95.87 49.272 2767
+-95.744 49.272 2765
+-95.618 49.272 2762
+-95.492 49.272 2760
+-95.366 49.272 2758
+-95.24 49.272 2756
+-95.114 49.272 2754
+-94.988 49.272 2752
+-94.862 49.272 2750
+-94.736 49.272 2748
+-94.61 49.272 2745
+-94.484 49.272 2743
+-94.358 49.272 2741
+-94.232 49.272 2739
+-94.106 49.272 2737
+-93.98 49.272 2735
+-93.854 49.272 2733
+-93.728 49.272 2731
+-93.602 49.272 2729
+-93.476 49.272 2727
+-93.35 49.272 2725
+-93.224 49.272 2723
+-93.098 49.272 2721
+-92.972 49.272 2719
+-92.846 49.272 2717
+-92.72 49.272 2715
+-92.594 49.272 2713
+-92.468 49.272 2712
+-92.342 49.272 2710
+-92.216 49.272 2708
+-92.09 49.272 2707
+-91.964 49.272 2705
+-91.838 49.272 2704
+-91.712 49.272 2702
+-91.586 49.272 2701
+-91.46 49.272 2700
+-91.334 49.272 2699
+-91.208 49.272 2697
+-91.082 49.272 2696
+-90.956 49.272 2695
+-90.83 49.272 2694
+-90.704 49.272 2694
+-90.578 49.272 2693
+-90.452 49.272 2646
+-90.326 49.272 2646
+-90.2 49.272 2645
+-90.074 49.272 2644
+-89.948 49.272 2644
+-89.822 49.272 2643
+-89.696 49.272 2643
+-89.57 49.272 2643
+-89.444 49.272 2642
+-89.318 49.272 2642
+-89.192 49.272 2642
+-89.066 49.272 2642
+-88.94 49.272 2642
+-88.814 49.272 2642
+-88.688 49.272 2642
+-88.562 49.272 2642
+-88.436 49.272 2642
+-88.31 49.272 2642
+-88.184 49.272 2642
+-88.058 49.272 2642
+-87.932 49.272 2642
+-87.806 49.272 2643
+-87.68 49.272 2643
+-87.554 49.272 2643
+-87.428 49.272 2643
+-87.302 49.272 2644
+-87.176 49.272 2644
+-87.05 49.272 2645
+-86.924 49.272 2645
+-86.798 49.272 2645
+-86.672 49.272 2646
+-86.546 49.272 2646
+-86.42 49.272 2647
+-86.294 49.272 2647
+-86.168 49.272 2648
+-86.042 49.272 2648
+-85.916 49.272 2649
+-85.79 49.272 2649
+-85.664 49.272 2650
+-85.538 49.272 2650
+-85.412 49.272 2651
+-85.286 49.272 2651
+-85.16 49.272 2652
+-85.034 49.272 2652
+-84.908 49.272 2653
+-84.782 49.272 2653
+-84.656 49.272 2654
+-84.53 49.272 2655
+-84.404 49.272 2655
+-84.278 49.272 2656
+-84.152 49.272 2656
+-84.026 49.272 2657
+-83.9 49.272 2657
+-83.774 49.272 2658
+-83.648 49.272 2659
+-83.522 49.272 2659
+-83.396 49.272 2660
+-83.27 49.272 2660
+-83.144 49.272 2661
+-83.018 49.272 2661
+-82.892 49.272 2662
+-82.766 49.272 2662
+-82.64 49.272 2663
+-82.514 49.272 2664
+-82.388 49.272 2664
+-82.262 49.272 2665
+-82.136 49.272 2665
+-82.01 49.272 2666
+-81.884 49.272 2666
+-81.758 49.272 2667
+-81.632 49.272 2668
+-81.506 49.272 2668
+-81.38 49.272 2669
+-81.254 49.272 2669
+-81.128 49.272 2670
+-81.002 49.272 2671
+-80.876 49.272 2671
+-80.75 49.272 2683
+-80.624 49.272 2683
+-80.498 49.272 2684
+-80.372 49.272 2684
+-80.246 49.272 2571
+-80.12 49.272 2571
+-79.994 49.272 2572
+-79.868 49.272 2572
+-79.742 49.272 2572
+-79.616 49.272 2572
+-79.49 49.272 2573
+-79.364 49.272 2573
+-79.238 49.272 2573
+-79.112 49.272 2574
+-78.986 49.272 2581
+-78.86 49.272 2589
+-78.734 49.272 2589
+-78.608 49.272 2589
+-78.482 49.272 2590
+-78.356 49.272 2608
+-78.23 49.272 2609
+-78.104 49.272 2609
+-77.978 49.272 2609
+-77.852 49.272 2613
+-77.726 49.272 2743
+-77.6 49.272 2744
+-77.474 49.272 2744
+-77.348 49.272 2751
+-77.222 49.272 2751
+-77.096 49.272 2751
+-76.97 49.272 2770
+-76.844 49.272 2749
+-76.718 49.272 2765
+-76.592 49.272 2765
+-76.466 49.272 2760
+-76.34 49.272 2761
+-76.214 49.272 2761
+-76.088 49.272 2761
+-75.962 49.272 2763
+-75.836 49.272 2853
+-75.71 49.272 2854
+-75.584 49.272 2854
+-75.458 49.272 2855
+-75.332 49.272 2874
+-75.206 49.272 2875
+-75.08 49.272 2853
+-74.954 49.272 2853
+-74.828 49.272 2854
+-74.702 49.272 2854
+-74.576 49.272 2824
+-74.45 49.272 2834
+-74.324 49.272 2835
+-74.198 49.272 2964
+-74.072 49.272 2922
+-73.946 49.272 2923
+-73.82 49.272 3066
+-73.694 49.272 3062
+-73.568 49.272 3022
+-73.442 49.272 3089
+-73.316 49.272 2972
+-73.19 49.272 3006
+-73.064 49.272 3063
+-72.938 49.272 2955
+-72.812 49.272 2963
+-72.686 49.272 2864
+-72.56 49.272 2860
+-72.434 49.272 2877
+-72.308 49.272 2846
+-72.182 49.272 2847
+-72.056 49.272 2848
+-71.93 49.272 2783
+-71.804 49.272 2829
+-71.678 49.272 2821
+-71.552 49.272 2809
+-71.426 49.272 2809
+-71.3 49.272 2810
+-71.174 49.272 2811
+-71.048 49.272 2747
+-70.922 49.272 2742
+-70.796 49.272 2742
+-70.67 49.272 2743
+-70.544 49.272 2743
+-70.418 49.272 2739
+-70.292 49.272 2681
+-70.166 49.272 2788
+-70.04 49.272 2783
+-69.914 49.272 2789
+-69.788 49.272 2790
+-69.662 49.272 2790
+-69.536 49.272 2791
+-69.41 49.272 2817
+-69.284 49.272 2794
+-69.158 49.272 2863
+-69.032 49.272 2863
+-68.906 49.272 2853
+-68.78 49.272 2861
+-68.654 49.272 2862
+-68.528 49.272 2862
+-68.402 49.272 2849
+-68.276 49.272 2965
+-68.15 49.272 2966
+-68.024 49.272 2967
+-67.898 49.272 2967
+-67.772 49.272 3067
+-67.646 49.272 3018
+-67.52 49.272 3165
+-67.394 49.272 3166
+-67.268 49.272 3126
+-67.142 49.272 3127
+-67.016 49.272 3127
+-66.89 49.272 3127
+-66.764 49.272 3128
+-66.638 49.272 3128
+-66.512 49.272 3231
+-66.386 49.272 3225
+-66.26 49.272 3225
+-66.134 49.272 3226
+-66.008 49.272 3226
+-65.882 49.272 3166
+-65.756 49.272 3205
+-65.63 49.272 3206
+-65.504 49.272 3288
+-65.378 49.272 3191
+-65.252 49.272 3192
+-65.126 49.272 3192
+-128 49.22 4313
+-127.874 49.22 4311
+-127.748 49.22 4327
+-127.622 49.22 4343
+-127.496 49.22 4397
+-127.37 49.22 4471
+-127.244 49.22 4543
+-127.118 49.22 4620
+-126.992 49.22 4685
+-126.866 49.22 4719
+-126.74 49.22 4782
+-126.614 49.22 4882
+-126.488 49.22 5050
+-126.362 49.22 5200
+-126.236 49.22 5314
+-126.11 49.22 5413
+-125.984 49.22 5436
+-125.858 49.22 5563
+-125.732 49.22 5742
+-125.606 49.22 5916
+-125.48 49.22 5931
+-125.354 49.22 6097
+-125.228 49.22 6113
+-125.102 49.22 6215
+-124.976 49.22 6284
+-124.85 49.22 6406
+-124.724 49.22 6455
+-124.598 49.22 6540
+-124.472 49.22 6656
+-124.346 49.22 6732
+-124.22 49.22 6795
+-124.094 49.22 6844
+-123.968 49.22 6893
+-123.842 49.22 6948
+-123.716 49.22 7023
+-123.59 49.22 7066
+-123.464 49.22 7093
+-123.338 49.22 7132
+-123.212 49.22 7132
+-123.086 49.22 7141
+-122.96 49.22 7180
+-122.834 49.22 7164
+-122.708 49.22 7125
+-122.582 49.22 7116
+-122.456 49.22 7086
+-122.33 49.22 7064
+-122.204 49.22 7024
+-122.078 49.22 6981
+-121.952 49.22 6889
+-121.826 49.22 6844
+-121.7 49.22 6816
+-121.574 49.22 6741
+-121.448 49.22 6642
+-121.322 49.22 6609
+-121.196 49.22 6493
+-121.07 49.22 6420
+-120.944 49.22 6301
+-120.818 49.22 6154
+-120.692 49.22 6126
+-120.566 49.22 6043
+-120.44 49.22 5926
+-120.314 49.22 5836
+-120.188 49.22 5698
+-120.062 49.22 5525
+-119.936 49.22 5599
+-119.81 49.22 5618
+-119.684 49.22 5666
+-119.558 49.22 5726
+-119.432 49.22 5757
+-119.306 49.22 5805
+-119.18 49.22 5864
+-119.054 49.22 5904
+-118.928 49.22 5926
+-118.802 49.22 5939
+-118.676 49.22 5946
+-118.55 49.22 5978
+-118.424 49.22 5966
+-118.298 49.22 5972
+-118.172 49.22 5977
+-118.046 49.22 5965
+-117.92 49.22 5956
+-117.794 49.22 5922
+-117.668 49.22 5897
+-117.542 49.22 5871
+-117.416 49.22 5834
+-117.29 49.22 5800
+-117.164 49.22 5768
+-117.038 49.22 5714
+-116.912 49.22 5645
+-116.786 49.22 5586
+-116.66 49.22 5545
+-116.534 49.22 5472
+-116.408 49.22 5436
+-116.282 49.22 5314
+-116.156 49.22 5188
+-116.03 49.22 5158
+-115.904 49.22 5066
+-115.778 49.22 4975
+-115.652 49.22 4888
+-115.526 49.22 4796
+-115.4 49.22 4778
+-115.274 49.22 4678
+-115.148 49.22 4555
+-115.022 49.22 4470
+-114.896 49.22 4406
+-114.77 49.22 4360
+-114.644 49.22 4229
+-114.518 49.22 4136
+-114.392 49.22 4095
+-114.266 49.22 4073
+-114.14 49.22 3945
+-114.014 49.22 3817
+-113.888 49.22 3655
+-113.762 49.22 3430
+-113.636 49.22 3343
+-113.51 49.22 3362
+-113.384 49.22 3390
+-113.258 49.22 3400
+-113.132 49.22 3401
+-113.006 49.22 3371
+-112.88 49.22 3371
+-112.754 49.22 3373
+-112.628 49.22 3366
+-112.502 49.22 3360
+-112.376 49.22 3310
+-112.25 49.22 3305
+-112.124 49.22 3303
+-111.998 49.22 3299
+-111.872 49.22 3296
+-111.746 49.22 3292
+-111.62 49.22 3289
+-111.494 49.22 3286
+-111.368 49.22 3284
+-111.242 49.22 3283
+-111.116 49.22 3267
+-110.99 49.22 3227
+-110.864 49.22 3212
+-110.738 49.22 3214
+-110.612 49.22 3216
+-110.486 49.22 3218
+-110.36 49.22 3221
+-110.234 49.22 3224
+-110.108 49.22 3201
+-109.982 49.22 3206
+-109.856 49.22 3210
+-109.73 49.22 3215
+-109.604 49.22 3187
+-109.478 49.22 3192
+-109.352 49.22 3198
+-109.226 49.22 3203
+-109.1 49.22 3195
+-108.974 49.22 3200
+-108.848 49.22 3205
+-108.722 49.22 3209
+-108.596 49.22 3201
+-108.47 49.22 3206
+-108.344 49.22 3211
+-108.218 49.22 3216
+-108.092 49.22 3207
+-107.966 49.22 3212
+-107.84 49.22 3217
+-107.714 49.22 3222
+-107.588 49.22 3226
+-107.462 49.22 3231
+-107.336 49.22 3235
+-107.21 49.22 3239
+-107.084 49.22 3243
+-106.958 49.22 3247
+-106.832 49.22 3251
+-106.706 49.22 3187
+-106.58 49.22 3175
+-106.454 49.22 3178
+-106.328 49.22 3182
+-106.202 49.22 3185
+-106.076 49.22 3188
+-105.95 49.22 3155
+-105.824 49.22 3151
+-105.698 49.22 3155
+-105.572 49.22 3159
+-105.446 49.22 3138
+-105.32 49.22 3141
+-105.194 49.22 3144
+-105.068 49.22 3147
+-104.942 49.22 3150
+-104.816 49.22 3153
+-104.69 49.22 3156
+-104.564 49.22 3159
+-104.438 49.22 3161
+-104.312 49.22 3164
+-104.186 49.22 3166
+-104.06 49.22 3168
+-103.934 49.22 3171
+-103.808 49.22 3173
+-103.682 49.22 3175
+-103.556 49.22 3148
+-103.43 49.22 3103
+-103.304 49.22 3105
+-103.178 49.22 3107
+-103.052 49.22 3108
+-102.926 49.22 3110
+-102.8 49.22 3112
+-102.674 49.22 3113
+-102.548 49.22 3115
+-102.422 49.22 3116
+-102.296 49.22 3117
+-102.17 49.22 3119
+-102.044 49.22 2994
+-101.918 49.22 2993
+-101.792 49.22 2991
+-101.666 49.22 2987
+-101.54 49.22 2916
+-101.414 49.22 2914
+-101.288 49.22 2893
+-101.162 49.22 2891
+-101.036 49.22 2833
+-100.91 49.22 2782
+-100.784 49.22 2735
+-100.658 49.22 2737
+-100.532 49.22 2723
+-100.406 49.22 2725
+-100.28 49.22 2725
+-100.154 49.22 2742
+-100.028 49.22 2754
+-99.902 49.22 2801
+-99.776 49.22 2802
+-99.65 49.22 2803
+-99.524 49.22 2819
+-99.398 49.22 2895
+-99.272 49.22 2894
+-99.146 49.22 2945
+-99.02 49.22 2944
+-98.894 49.22 2942
+-98.768 49.22 2941
+-98.642 49.22 2939
+-98.516 49.22 2818
+-98.39 49.22 2817
+-98.264 49.22 2802
+-98.138 49.22 2800
+-98.012 49.22 2798
+-97.886 49.22 2797
+-97.76 49.22 2795
+-97.634 49.22 2793
+-97.508 49.22 2792
+-97.382 49.22 2790
+-97.256 49.22 2788
+-97.13 49.22 2786
+-97.004 49.22 2784
+-96.878 49.22 2782
+-96.752 49.22 2780
+-96.626 49.22 2778
+-96.5 49.22 2776
+-96.374 49.22 2774
+-96.248 49.22 2772
+-96.122 49.22 2770
+-95.996 49.22 2768
+-95.87 49.22 2766
+-95.744 49.22 2764
+-95.618 49.22 2762
+-95.492 49.22 2760
+-95.366 49.22 2757
+-95.24 49.22 2755
+-95.114 49.22 2753
+-94.988 49.22 2751
+-94.862 49.22 2749
+-94.736 49.22 2747
+-94.61 49.22 2744
+-94.484 49.22 2742
+-94.358 49.22 2740
+-94.232 49.22 2738
+-94.106 49.22 2735
+-93.98 49.22 2733
+-93.854 49.22 2731
+-93.728 49.22 2729
+-93.602 49.22 2727
+-93.476 49.22 2725
+-93.35 49.22 2723
+-93.224 49.22 2721
+-93.098 49.22 2719
+-92.972 49.22 2717
+-92.846 49.22 2715
+-92.72 49.22 2713
+-92.594 49.22 2711
+-92.468 49.22 2709
+-92.342 49.22 2708
+-92.216 49.22 2706
+-92.09 49.22 2704
+-91.964 49.22 2703
+-91.838 49.22 2701
+-91.712 49.22 2700
+-91.586 49.22 2698
+-91.46 49.22 2697
+-91.334 49.22 2696
+-91.208 49.22 2695
+-91.082 49.22 2694
+-90.956 49.22 2693
+-90.83 49.22 2692
+-90.704 49.22 2691
+-90.578 49.22 2690
+-90.452 49.22 2689
+-90.326 49.22 2643
+-90.2 49.22 2642
+-90.074 49.22 2642
+-89.948 49.22 2641
+-89.822 49.22 2641
+-89.696 49.22 2640
+-89.57 49.22 2640
+-89.444 49.22 2640
+-89.318 49.22 2640
+-89.192 49.22 2639
+-89.066 49.22 2639
+-88.94 49.22 2639
+-88.814 49.22 2639
+-88.688 49.22 2639
+-88.562 49.22 2639
+-88.436 49.22 2639
+-88.31 49.22 2640
+-88.184 49.22 2640
+-88.058 49.22 2640
+-87.932 49.22 2640
+-87.806 49.22 2640
+-87.68 49.22 2641
+-87.554 49.22 2641
+-87.428 49.22 2641
+-87.302 49.22 2642
+-87.176 49.22 2642
+-87.05 49.22 2643
+-86.924 49.22 2643
+-86.798 49.22 2644
+-86.672 49.22 2644
+-86.546 49.22 2645
+-86.42 49.22 2645
+-86.294 49.22 2646
+-86.168 49.22 2646
+-86.042 49.22 2647
+-85.916 49.22 2647
+-85.79 49.22 2648
+-85.664 49.22 2648
+-85.538 49.22 2649
+-85.412 49.22 2649
+-85.286 49.22 2650
+-85.16 49.22 2650
+-85.034 49.22 2651
+-84.908 49.22 2652
+-84.782 49.22 2652
+-84.656 49.22 2653
+-84.53 49.22 2653
+-84.404 49.22 2654
+-84.278 49.22 2654
+-84.152 49.22 2655
+-84.026 49.22 2656
+-83.9 49.22 2656
+-83.774 49.22 2657
+-83.648 49.22 2657
+-83.522 49.22 2658
+-83.396 49.22 2658
+-83.27 49.22 2659
+-83.144 49.22 2660
+-83.018 49.22 2660
+-82.892 49.22 2661
+-82.766 49.22 2661
+-82.64 49.22 2662
+-82.514 49.22 2663
+-82.388 49.22 2663
+-82.262 49.22 2664
+-82.136 49.22 2664
+-82.01 49.22 2665
+-81.884 49.22 2665
+-81.758 49.22 2666
+-81.632 49.22 2667
+-81.506 49.22 2667
+-81.38 49.22 2668
+-81.254 49.22 2668
+-81.128 49.22 2669
+-81.002 49.22 2670
+-80.876 49.22 2681
+-80.75 49.22 2682
+-80.624 49.22 2682
+-80.498 49.22 2683
+-80.372 49.22 2570
+-80.246 49.22 2570
+-80.12 49.22 2570
+-79.994 49.22 2571
+-79.868 49.22 2571
+-79.742 49.22 2571
+-79.616 49.22 2572
+-79.49 49.22 2572
+-79.364 49.22 2572
+-79.238 49.22 2573
+-79.112 49.22 2580
+-78.986 49.22 2587
+-78.86 49.22 2588
+-78.734 49.22 2588
+-78.608 49.22 2589
+-78.482 49.22 2607
+-78.356 49.22 2607
+-78.23 49.22 2608
+-78.104 49.22 2608
+-77.978 49.22 2612
+-77.852 49.22 2742
+-77.726 49.22 2742
+-77.6 49.22 2743
+-77.474 49.22 2750
+-77.348 49.22 2750
+-77.222 49.22 2750
+-77.096 49.22 2769
+-76.97 49.22 2748
+-76.844 49.22 2764
+-76.718 49.22 2764
+-76.592 49.22 2759
+-76.466 49.22 2760
+-76.34 49.22 2760
+-76.214 49.22 2760
+-76.088 49.22 2762
+-75.962 49.22 2852
+-75.836 49.22 2852
+-75.71 49.22 2853
+-75.584 49.22 2853
+-75.458 49.22 2873
+-75.332 49.22 2873
+-75.206 49.22 2851
+-75.08 49.22 2852
+-74.954 49.22 2853
+-74.828 49.22 2853
+-74.702 49.22 2823
+-74.576 49.22 2833
+-74.45 49.22 2834
+-74.324 49.22 2963
+-74.198 49.22 2921
+-74.072 49.22 2922
+-73.946 49.22 3065
+-73.82 49.22 3061
+-73.694 49.22 3021
+-73.568 49.22 3088
+-73.442 49.22 2971
+-73.316 49.22 3004
+-73.19 49.22 3062
+-73.064 49.22 2954
+-72.938 49.22 2962
+-72.812 49.22 2863
+-72.686 49.22 2859
+-72.56 49.22 2876
+-72.434 49.22 2845
+-72.308 49.22 2846
+-72.182 49.22 2847
+-72.056 49.22 2782
+-71.93 49.22 2829
+-71.804 49.22 2820
+-71.678 49.22 2808
+-71.552 49.22 2808
+-71.426 49.22 2809
+-71.3 49.22 2810
+-71.174 49.22 2746
+-71.048 49.22 2741
+-70.922 49.22 2742
+-70.796 49.22 2742
+-70.67 49.22 2743
+-70.544 49.22 2738
+-70.418 49.22 2681
+-70.292 49.22 2787
+-70.166 49.22 2782
+-70.04 49.22 2789
+-69.914 49.22 2789
+-69.788 49.22 2790
+-69.662 49.22 2790
+-69.536 49.22 2817
+-69.41 49.22 2793
+-69.284 49.22 2862
+-69.158 49.22 2863
+-69.032 49.22 2852
+-68.906 49.22 2860
+-68.78 49.22 2861
+-68.654 49.22 2862
+-68.528 49.22 2848
+-68.402 49.22 2965
+-68.276 49.22 2965
+-68.15 49.22 2966
+-68.024 49.22 2967
+-67.898 49.22 3066
+-67.772 49.22 3017
+-67.646 49.22 3165
+-67.52 49.22 3165
+-67.394 49.22 3126
+-67.268 49.22 3126
+-67.142 49.22 3127
+-67.016 49.22 3127
+-66.89 49.22 3127
+-66.764 49.22 3128
+-66.638 49.22 3230
+-66.512 49.22 3225
+-66.386 49.22 3225
+-66.26 49.22 3225
+-66.134 49.22 3226
+-66.008 49.22 3166
+-65.882 49.22 3205
+-65.756 49.22 3205
+-65.63 49.22 3287
+-65.504 49.22 3191
+-65.378 49.22 3191
+-65.252 49.22 3192
+-65.126 49.22 3244
+-128 49.168 4311
+-127.874 49.168 4309
+-127.748 49.168 4328
+-127.622 49.168 4330
+-127.496 49.168 4363
+-127.37 49.168 4439
+-127.244 49.168 4531
+-127.118 49.168 4619
+-126.992 49.168 4661
+-126.866 49.168 4756
+-126.74 49.168 4815
+-126.614 49.168 4928
+-126.488 49.168 5092
+-126.362 49.168 5214
+-126.236 49.168 5343
+-126.11 49.168 5381
+-125.984 49.168 5462
+-125.858 49.168 5607
+-125.732 49.168 5791
+-125.606 49.168 5940
+-125.48 49.168 6054
+-125.354 49.168 6137
+-125.228 49.168 6186
+-125.102 49.168 6214
+-124.976 49.168 6345
+-124.85 49.168 6376
+-124.724 49.168 6473
+-124.598 49.168 6583
+-124.472 49.168 6692
+-124.346 49.168 6779
+-124.22 49.168 6844
+-124.094 49.168 6901
+-123.968 49.168 6928
+-123.842 49.168 7027
+-123.716 49.168 7112
+-123.59 49.168 7128
+-123.464 49.168 7175
+-123.338 49.168 7173
+-123.212 49.168 7217
+-123.086 49.168 7222
+-122.96 49.168 7239
+-122.834 49.168 7228
+-122.708 49.168 7215
+-122.582 49.168 7173
+-122.456 49.168 7134
+-122.33 49.168 7101
+-122.204 49.168 7086
+-122.078 49.168 7006
+-121.952 49.168 6953
+-121.826 49.168 6914
+-121.7 49.168 6841
+-121.574 49.168 6778
+-121.448 49.168 6709
+-121.322 49.168 6641
+-121.196 49.168 6543
+-121.07 49.168 6440
+-120.944 49.168 6356
+-120.818 49.168 6242
+-120.692 49.168 6165
+-120.566 49.168 6086
+-120.44 49.168 5965
+-120.314 49.168 5865
+-120.188 49.168 5745
+-120.062 49.168 5657
+-119.936 49.168 5622
+-119.81 49.168 5698
+-119.684 49.168 5762
+-119.558 49.168 5806
+-119.432 49.168 5830
+-119.306 49.168 5881
+-119.18 49.168 5930
+-119.054 49.168 5950
+-118.928 49.168 5967
+-118.802 49.168 5981
+-118.676 49.168 6000
+-118.55 49.168 6002
+-118.424 49.168 6030
+-118.298 49.168 6015
+-118.172 49.168 6032
+-118.046 49.168 6017
+-117.92 49.168 6002
+-117.794 49.168 5984
+-117.668 49.168 5941
+-117.542 49.168 5927
+-117.416 49.168 5892
+-117.29 49.168 5828
+-117.164 49.168 5809
+-117.038 49.168 5792
+-116.912 49.168 5723
+-116.786 49.168 5632
+-116.66 49.168 5592
+-116.534 49.168 5532
+-116.408 49.168 5469
+-116.282 49.168 5387
+-116.156 49.168 5253
+-116.03 49.168 5157
+-115.904 49.168 5095
+-115.778 49.168 5020
+-115.652 49.168 4953
+-115.526 49.168 4869
+-115.4 49.168 4809
+-115.274 49.168 4707
+-115.148 49.168 4578
+-115.022 49.168 4439
+-114.896 49.168 4329
+-114.77 49.168 4348
+-114.644 49.168 4180
+-114.518 49.168 4064
+-114.392 49.168 4094
+-114.266 49.168 4065
+-114.14 49.168 3976
+-114.014 49.168 3824
+-113.888 49.168 3627
+-113.762 49.168 3391
+-113.636 49.168 3263
+-113.51 49.168 3321
+-113.384 49.168 3347
+-113.258 49.168 3354
+-113.132 49.168 3373
+-113.006 49.168 3356
+-112.88 49.168 3365
+-112.754 49.168 3363
+-112.628 49.168 3361
+-112.502 49.168 3316
+-112.376 49.168 3313
+-112.25 49.168 3310
+-112.124 49.168 3305
+-111.998 49.168 3300
+-111.872 49.168 3295
+-111.746 49.168 3289
+-111.62 49.168 3284
+-111.494 49.168 3280
+-111.368 49.168 3277
+-111.242 49.168 3260
+-111.116 49.168 3220
+-110.99 49.168 3204
+-110.864 49.168 3205
+-110.738 49.168 3207
+-110.612 49.168 3209
+-110.486 49.168 3212
+-110.36 49.168 3215
+-110.234 49.168 3192
+-110.108 49.168 3197
+-109.982 49.168 3202
+-109.856 49.168 3207
+-109.73 49.168 3179
+-109.604 49.168 3185
+-109.478 49.168 3191
+-109.352 49.168 3197
+-109.226 49.168 3189
+-109.1 49.168 3194
+-108.974 49.168 3199
+-108.848 49.168 3204
+-108.722 49.168 3196
+-108.596 49.168 3201
+-108.47 49.168 3207
+-108.344 49.168 3212
+-108.218 49.168 3203
+-108.092 49.168 3208
+-107.966 49.168 3214
+-107.84 49.168 3219
+-107.714 49.168 3223
+-107.588 49.168 3228
+-107.462 49.168 3232
+-107.336 49.168 3237
+-107.21 49.168 3241
+-107.084 49.168 3245
+-106.958 49.168 3249
+-106.832 49.168 3185
+-106.706 49.168 3173
+-106.58 49.168 3176
+-106.454 49.168 3180
+-106.328 49.168 3183
+-106.202 49.168 3187
+-106.076 49.168 3154
+-105.95 49.168 3150
+-105.824 49.168 3153
+-105.698 49.168 3157
+-105.572 49.168 3137
+-105.446 49.168 3140
+-105.32 49.168 3143
+-105.194 49.168 3147
+-105.068 49.168 3150
+-104.942 49.168 3152
+-104.816 49.168 3155
+-104.69 49.168 3158
+-104.564 49.168 3161
+-104.438 49.168 3163
+-104.312 49.168 3166
+-104.186 49.168 3168
+-104.06 49.168 3170
+-103.934 49.168 3173
+-103.808 49.168 3175
+-103.682 49.168 3147
+-103.556 49.168 3103
+-103.43 49.168 3105
+-103.304 49.168 3107
+-103.178 49.168 3108
+-103.052 49.168 3110
+-102.926 49.168 3111
+-102.8 49.168 3113
+-102.674 49.168 3114
+-102.548 49.168 3116
+-102.422 49.168 3117
+-102.296 49.168 3119
+-102.17 49.168 3120
+-102.044 49.168 2995
+-101.918 49.168 2994
+-101.792 49.168 2990
+-101.666 49.168 2958
+-101.54 49.168 2917
+-101.414 49.168 2896
+-101.288 49.168 2894
+-101.162 49.168 2891
+-101.036 49.168 2846
+-100.91 49.168 2771
+-100.784 49.168 2737
+-100.658 49.168 2723
+-100.532 49.168 2724
+-100.406 49.168 2724
+-100.28 49.168 2740
+-100.154 49.168 2753
+-100.028 49.168 2800
+-99.902 49.168 2801
+-99.776 49.168 2803
+-99.65 49.168 2819
+-99.524 49.168 2895
+-99.398 49.168 2895
+-99.272 49.168 2947
+-99.146 49.168 2945
+-99.02 49.168 2944
+-98.894 49.168 2942
+-98.768 49.168 2941
+-98.642 49.168 2939
+-98.516 49.168 2937
+-98.39 49.168 2817
+-98.264 49.168 2815
+-98.138 49.168 2800
+-98.012 49.168 2799
+-97.886 49.168 2797
+-97.76 49.168 2795
+-97.634 49.168 2793
+-97.508 49.168 2792
+-97.382 49.168 2790
+-97.256 49.168 2788
+-97.13 49.168 2786
+-97.004 49.168 2784
+-96.878 49.168 2782
+-96.752 49.168 2780
+-96.626 49.168 2778
+-96.5 49.168 2776
+-96.374 49.168 2774
+-96.248 49.168 2772
+-96.122 49.168 2770
+-95.996 49.168 2768
+-95.87 49.168 2766
+-95.744 49.168 2763
+-95.618 49.168 2761
+-95.492 49.168 2759
+-95.366 49.168 2757
+-95.24 49.168 2754
+-95.114 49.168 2752
+-94.988 49.168 2750
+-94.862 49.168 2748
+-94.736 49.168 2745
+-94.61 49.168 2743
+-94.484 49.168 2741
+-94.358 49.168 2739
+-94.232 49.168 2736
+-94.106 49.168 2734
+-93.98 49.168 2732
+-93.854 49.168 2730
+-93.728 49.168 2727
+-93.602 49.168 2725
+-93.476 49.168 2723
+-93.35 49.168 2721
+-93.224 49.168 2719
+-93.098 49.168 2717
+-92.972 49.168 2715
+-92.846 49.168 2713
+-92.72 49.168 2711
+-92.594 49.168 2709
+-92.468 49.168 2707
+-92.342 49.168 2705
+-92.216 49.168 2703
+-92.09 49.168 2702
+-91.964 49.168 2700
+-91.838 49.168 2699
+-91.712 49.168 2697
+-91.586 49.168 2696
+-91.46 49.168 2694
+-91.334 49.168 2693
+-91.208 49.168 2692
+-91.082 49.168 2691
+-90.956 49.168 2690
+-90.83 49.168 2689
+-90.704 49.168 2688
+-90.578 49.168 2687
+-90.452 49.168 2686
+-90.326 49.168 2640
+-90.2 49.168 2640
+-90.074 49.168 2639
+-89.948 49.168 2639
+-89.822 49.168 2638
+-89.696 49.168 2638
+-89.57 49.168 2637
+-89.444 49.168 2637
+-89.318 49.168 2637
+-89.192 49.168 2637
+-89.066 49.168 2637
+-88.94 49.168 2637
+-88.814 49.168 2637
+-88.688 49.168 2637
+-88.562 49.168 2637
+-88.436 49.168 2637
+-88.31 49.168 2637
+-88.184 49.168 2637
+-88.058 49.168 2638
+-87.932 49.168 2638
+-87.806 49.168 2638
+-87.68 49.168 2639
+-87.554 49.168 2639
+-87.428 49.168 2639
+-87.302 49.168 2640
+-87.176 49.168 2640
+-87.05 49.168 2641
+-86.924 49.168 2641
+-86.798 49.168 2642
+-86.672 49.168 2642
+-86.546 49.168 2643
+-86.42 49.168 2643
+-86.294 49.168 2644
+-86.168 49.168 2644
+-86.042 49.168 2645
+-85.916 49.168 2645
+-85.79 49.168 2646
+-85.664 49.168 2647
+-85.538 49.168 2647
+-85.412 49.168 2648
+-85.286 49.168 2648
+-85.16 49.168 2649
+-85.034 49.168 2649
+-84.908 49.168 2650
+-84.782 49.168 2651
+-84.656 49.168 2651
+-84.53 49.168 2652
+-84.404 49.168 2652
+-84.278 49.168 2653
+-84.152 49.168 2654
+-84.026 49.168 2654
+-83.9 49.168 2655
+-83.774 49.168 2655
+-83.648 49.168 2656
+-83.522 49.168 2657
+-83.396 49.168 2657
+-83.27 49.168 2658
+-83.144 49.168 2658
+-83.018 49.168 2659
+-82.892 49.168 2660
+-82.766 49.168 2660
+-82.64 49.168 2661
+-82.514 49.168 2661
+-82.388 49.168 2662
+-82.262 49.168 2663
+-82.136 49.168 2663
+-82.01 49.168 2664
+-81.884 49.168 2664
+-81.758 49.168 2665
+-81.632 49.168 2666
+-81.506 49.168 2666
+-81.38 49.168 2667
+-81.254 49.168 2667
+-81.128 49.168 2668
+-81.002 49.168 2680
+-80.876 49.168 2680
+-80.75 49.168 2681
+-80.624 49.168 2681
+-80.498 49.168 2569
+-80.372 49.168 2569
+-80.246 49.168 2569
+-80.12 49.168 2569
+-79.994 49.168 2570
+-79.868 49.168 2570
+-79.742 49.168 2570
+-79.616 49.168 2571
+-79.49 49.168 2571
+-79.364 49.168 2571
+-79.238 49.168 2578
+-79.112 49.168 2586
+-78.986 49.168 2587
+-78.86 49.168 2587
+-78.734 49.168 2587
+-78.608 49.168 2606
+-78.482 49.168 2606
+-78.356 49.168 2607
+-78.23 49.168 2607
+-78.104 49.168 2611
+-77.978 49.168 2741
+-77.852 49.168 2741
+-77.726 49.168 2742
+-77.6 49.168 2749
+-77.474 49.168 2749
+-77.348 49.168 2749
+-77.222 49.168 2768
+-77.096 49.168 2747
+-76.97 49.168 2763
+-76.844 49.168 2763
+-76.718 49.168 2758
+-76.592 49.168 2758
+-76.466 49.168 2759
+-76.34 49.168 2759
+-76.214 49.168 2761
+-76.088 49.168 2851
+-75.962 49.168 2851
+-75.836 49.168 2852
+-75.71 49.168 2852
+-75.584 49.168 2872
+-75.458 49.168 2872
+-75.332 49.168 2850
+-75.206 49.168 2851
+-75.08 49.168 2851
+-74.954 49.168 2852
+-74.828 49.168 2822
+-74.702 49.168 2832
+-74.576 49.168 2833
+-74.45 49.168 2962
+-74.324 49.168 2920
+-74.198 49.168 2921
+-74.072 49.168 3064
+-73.946 49.168 3060
+-73.82 49.168 3019
+-73.694 49.168 3087
+-73.568 49.168 2970
+-73.442 49.168 3003
+-73.316 49.168 3061
+-73.19 49.168 2953
+-73.064 49.168 2961
+-72.938 49.168 2862
+-72.812 49.168 2858
+-72.686 49.168 2875
+-72.56 49.168 2844
+-72.434 49.168 2845
+-72.308 49.168 2846
+-72.182 49.168 2781
+-72.056 49.168 2828
+-71.93 49.168 2819
+-71.804 49.168 2807
+-71.678 49.168 2808
+-71.552 49.168 2808
+-71.426 49.168 2809
+-71.3 49.168 2746
+-71.174 49.168 2740
+-71.048 49.168 2741
+-70.922 49.168 2742
+-70.796 49.168 2742
+-70.67 49.168 2738
+-70.544 49.168 2680
+-70.418 49.168 2787
+-70.292 49.168 2782
+-70.166 49.168 2788
+-70.04 49.168 2789
+-69.914 49.168 2789
+-69.788 49.168 2790
+-69.662 49.168 2816
+-69.536 49.168 2793
+-69.41 49.168 2861
+-69.284 49.168 2862
+-69.158 49.168 2852
+-69.032 49.168 2860
+-68.906 49.168 2860
+-68.78 49.168 2861
+-68.654 49.168 2848
+-68.528 49.168 2964
+-68.402 49.168 2965
+-68.276 49.168 2965
+-68.15 49.168 2966
+-68.024 49.168 3066
+-67.898 49.168 3017
+-67.772 49.168 3165
+-67.646 49.168 3165
+-67.52 49.168 3126
+-67.394 49.168 3126
+-67.268 49.168 3126
+-67.142 49.168 3127
+-67.016 49.168 3127
+-66.89 49.168 3127
+-66.764 49.168 3230
+-66.638 49.168 3224
+-66.512 49.168 3225
+-66.386 49.168 3225
+-66.26 49.168 3225
+-66.134 49.168 3165
+-66.008 49.168 3205
+-65.882 49.168 3205
+-65.756 49.168 3287
+-65.63 49.168 3191
+-65.504 49.168 3191
+-65.378 49.168 3191
+-65.252 49.168 3243
+-65.126 49.168 3194
+-128 49.116 4295
+-127.874 49.116 4305
+-127.748 49.116 4291
+-127.622 49.116 4253
+-127.496 49.116 4227
+-127.37 49.116 4357
+-127.244 49.116 4501
+-127.118 49.116 4597
+-126.992 49.116 4593
+-126.866 49.116 4727
+-126.74 49.116 4837
+-126.614 49.116 4996
+-126.488 49.116 5112
+-126.362 49.116 5234
+-126.236 49.116 5354
+-126.11 49.116 5454
+-125.984 49.116 5527
+-125.858 49.116 5682
+-125.732 49.116 5819
+-125.606 49.116 5969
+-125.48 49.116 6072
+-125.354 49.116 6159
+-125.228 49.116 6218
+-125.102 49.116 6286
+-124.976 49.116 6361
+-124.85 49.116 6413
+-124.724 49.116 6553
+-124.598 49.116 6647
+-124.472 49.116 6742
+-124.346 49.116 6815
+-124.22 49.116 6876
+-124.094 49.116 6943
+-123.968 49.116 7029
+-123.842 49.116 7097
+-123.716 49.116 7145
+-123.59 49.116 7153
+-123.464 49.116 7201
+-123.338 49.116 7232
+-123.212 49.116 7254
+-123.086 49.116 7266
+-122.96 49.116 7281
+-122.834 49.116 7278
+-122.708 49.116 7256
+-122.582 49.116 7230
+-122.456 49.116 7197
+-122.33 49.116 7187
+-122.204 49.116 7155
+-122.078 49.116 7086
+-121.952 49.116 7023
+-121.826 49.116 6943
+-121.7 49.116 6883
+-121.574 49.116 6807
+-121.448 49.116 6744
+-121.322 49.116 6657
+-121.196 49.116 6582
+-121.07 49.116 6482
+-120.944 49.116 6404
+-120.818 49.116 6301
+-120.692 49.116 6234
+-120.566 49.116 6103
+-120.44 49.116 5989
+-120.314 49.116 5830
+-120.188 49.116 5806
+-120.062 49.116 5732
+-119.936 49.116 5713
+-119.81 49.116 5762
+-119.684 49.116 5823
+-119.558 49.116 5858
+-119.432 49.116 5888
+-119.306 49.116 5920
+-119.18 49.116 5960
+-119.054 49.116 5997
+-118.928 49.116 6054
+-118.802 49.116 6031
+-118.676 49.116 6089
+-118.55 49.116 6057
+-118.424 49.116 6111
+-118.298 49.116 6067
+-118.172 49.116 6063
+-118.046 49.116 6062
+-117.92 49.116 6076
+-117.794 49.116 6027
+-117.668 49.116 5985
+-117.542 49.116 5992
+-117.416 49.116 5923
+-117.29 49.116 5885
+-117.164 49.116 5849
+-117.038 49.116 5814
+-116.912 49.116 5752
+-116.786 49.116 5687
+-116.66 49.116 5615
+-116.534 49.116 5596
+-116.408 49.116 5476
+-116.282 49.116 5449
+-116.156 49.116 5342
+-116.03 49.116 5218
+-115.904 49.116 5122
+-115.778 49.116 5125
+-115.652 49.116 4998
+-115.526 49.116 4896
+-115.4 49.116 4826
+-115.274 49.116 4702
+-115.148 49.116 4618
+-115.022 49.116 4505
+-114.896 49.116 4408
+-114.77 49.116 4346
+-114.644 49.116 4214
+-114.518 49.116 4118
+-114.392 49.116 4073
+-114.266 49.116 4045
+-114.14 49.116 3980
+-114.014 49.116 3850
+-113.888 49.116 3682
+-113.762 49.116 3479
+-113.636 49.116 3362
+-113.51 49.116 3334
+-113.384 49.116 3266
+-113.258 49.116 3290
+-113.132 49.116 3312
+-113.006 49.116 3333
+-112.88 49.116 3341
+-112.754 49.116 3347
+-112.628 49.116 3313
+-112.502 49.116 3314
+-112.376 49.116 3314
+-112.25 49.116 3310
+-112.124 49.116 3304
+-111.998 49.116 3297
+-111.872 49.116 3290
+-111.746 49.116 3282
+-111.62 49.116 3276
+-111.494 49.116 3270
+-111.368 49.116 3252
+-111.242 49.116 3211
+-111.116 49.116 3195
+-110.99 49.116 3195
+-110.864 49.116 3196
+-110.738 49.116 3198
+-110.612 49.116 3201
+-110.486 49.116 3205
+-110.36 49.116 3181
+-110.234 49.116 3186
+-110.108 49.116 3192
+-109.982 49.116 3198
+-109.856 49.116 3170
+-109.73 49.116 3176
+-109.604 49.116 3183
+-109.478 49.116 3189
+-109.352 49.116 3182
+-109.226 49.116 3188
+-109.1 49.116 3193
+-108.974 49.116 3199
+-108.848 49.116 3190
+-108.722 49.116 3196
+-108.596 49.116 3202
+-108.47 49.116 3208
+-108.344 49.116 3199
+-108.218 49.116 3204
+-108.092 49.116 3210
+-107.966 49.116 3215
+-107.84 49.116 3220
+-107.714 49.116 3225
+-107.588 49.116 3230
+-107.462 49.116 3234
+-107.336 49.116 3239
+-107.21 49.116 3243
+-107.084 49.116 3247
+-106.958 49.116 3182
+-106.832 49.116 3171
+-106.706 49.116 3175
+-106.58 49.116 3178
+-106.454 49.116 3182
+-106.328 49.116 3185
+-106.202 49.116 3152
+-106.076 49.116 3148
+-105.95 49.116 3152
+-105.824 49.116 3156
+-105.698 49.116 3136
+-105.572 49.116 3139
+-105.446 49.116 3143
+-105.32 49.116 3146
+-105.194 49.116 3149
+-105.068 49.116 3152
+-104.942 49.116 3155
+-104.816 49.116 3157
+-104.69 49.116 3160
+-104.564 49.116 3163
+-104.438 49.116 3165
+-104.312 49.116 3168
+-104.186 49.116 3170
+-104.06 49.116 3172
+-103.934 49.116 3174
+-103.808 49.116 3147
+-103.682 49.116 3103
+-103.556 49.116 3105
+-103.43 49.116 3106
+-103.304 49.116 3108
+-103.178 49.116 3110
+-103.052 49.116 3111
+-102.926 49.116 3113
+-102.8 49.116 3114
+-102.674 49.116 3116
+-102.548 49.116 3117
+-102.422 49.116 3119
+-102.296 49.116 3120
+-102.17 49.116 3092
+-102.044 49.116 2996
+-101.918 49.116 2992
+-101.792 49.116 2990
+-101.666 49.116 2959
+-101.54 49.116 2898
+-101.414 49.116 2896
+-101.288 49.116 2894
+-101.162 49.116 2838
+-101.036 49.116 2826
+-100.91 49.116 2759
+-100.784 49.116 2721
+-100.658 49.116 2723
+-100.532 49.116 2727
+-100.406 49.116 2739
+-100.28 49.116 2752
+-100.154 49.116 2799
+-100.028 49.116 2801
+-99.902 49.116 2802
+-99.776 49.116 2819
+-99.65 49.116 2896
+-99.524 49.116 2896
+-99.398 49.116 2948
+-99.272 49.116 2947
+-99.146 49.116 2945
+-99.02 49.116 2944
+-98.894 49.116 2942
+-98.768 49.116 2941
+-98.642 49.116 2939
+-98.516 49.116 2937
+-98.39 49.116 2936
+-98.264 49.116 2815
+-98.138 49.116 2814
+-98.012 49.116 2799
+-97.886 49.116 2797
+-97.76 49.116 2795
+-97.634 49.116 2793
+-97.508 49.116 2792
+-97.382 49.116 2790
+-97.256 49.116 2788
+-97.13 49.116 2786
+-97.004 49.116 2784
+-96.878 49.116 2782
+-96.752 49.116 2780
+-96.626 49.116 2778
+-96.5 49.116 2776
+-96.374 49.116 2774
+-96.248 49.116 2772
+-96.122 49.116 2769
+-95.996 49.116 2767
+-95.87 49.116 2765
+-95.744 49.116 2763
+-95.618 49.116 2760
+-95.492 49.116 2758
+-95.366 49.116 2756
+-95.24 49.116 2754
+-95.114 49.116 2751
+-94.988 49.116 2749
+-94.862 49.116 2747
+-94.736 49.116 2744
+-94.61 49.116 2742
+-94.484 49.116 2740
+-94.358 49.116 2737
+-94.232 49.116 2735
+-94.106 49.116 2733
+-93.98 49.116 2730
+-93.854 49.116 2728
+-93.728 49.116 2726
+-93.602 49.116 2723
+-93.476 49.116 2721
+-93.35 49.116 2719
+-93.224 49.116 2717
+-93.098 49.116 2715
+-92.972 49.116 2712
+-92.846 49.116 2710
+-92.72 49.116 2708
+-92.594 49.116 2706
+-92.468 49.116 2704
+-92.342 49.116 2703
+-92.216 49.116 2701
+-92.09 49.116 2699
+-91.964 49.116 2697
+-91.838 49.116 2696
+-91.712 49.116 2694
+-91.586 49.116 2693
+-91.46 49.116 2691
+-91.334 49.116 2690
+-91.208 49.116 2689
+-91.082 49.116 2688
+-90.956 49.116 2687
+-90.83 49.116 2686
+-90.704 49.116 2685
+-90.578 49.116 2684
+-90.452 49.116 2683
+-90.326 49.116 2638
+-90.2 49.116 2637
+-90.074 49.116 2636
+-89.948 49.116 2636
+-89.822 49.116 2635
+-89.696 49.116 2635
+-89.57 49.116 2635
+-89.444 49.116 2634
+-89.318 49.116 2634
+-89.192 49.116 2634
+-89.066 49.116 2634
+-88.94 49.116 2634
+-88.814 49.116 2634
+-88.688 49.116 2634
+-88.562 49.116 2634
+-88.436 49.116 2635
+-88.31 49.116 2635
+-88.184 49.116 2635
+-88.058 49.116 2635
+-87.932 49.116 2636
+-87.806 49.116 2636
+-87.68 49.116 2636
+-87.554 49.116 2637
+-87.428 49.116 2637
+-87.302 49.116 2638
+-87.176 49.116 2638
+-87.05 49.116 2639
+-86.924 49.116 2639
+-86.798 49.116 2640
+-86.672 49.116 2640
+-86.546 49.116 2641
+-86.42 49.116 2641
+-86.294 49.116 2642
+-86.168 49.116 2643
+-86.042 49.116 2643
+-85.916 49.116 2644
+-85.79 49.116 2644
+-85.664 49.116 2645
+-85.538 49.116 2646
+-85.412 49.116 2646
+-85.286 49.116 2647
+-85.16 49.116 2647
+-85.034 49.116 2648
+-84.908 49.116 2649
+-84.782 49.116 2649
+-84.656 49.116 2650
+-84.53 49.116 2650
+-84.404 49.116 2651
+-84.278 49.116 2652
+-84.152 49.116 2652
+-84.026 49.116 2653
+-83.9 49.116 2654
+-83.774 49.116 2654
+-83.648 49.116 2655
+-83.522 49.116 2655
+-83.396 49.116 2656
+-83.27 49.116 2657
+-83.144 49.116 2657
+-83.018 49.116 2658
+-82.892 49.116 2658
+-82.766 49.116 2659
+-82.64 49.116 2660
+-82.514 49.116 2660
+-82.388 49.116 2661
+-82.262 49.116 2662
+-82.136 49.116 2662
+-82.01 49.116 2663
+-81.884 49.116 2663
+-81.758 49.116 2664
+-81.632 49.116 2665
+-81.506 49.116 2665
+-81.38 49.116 2666
+-81.254 49.116 2667
+-81.128 49.116 2678
+-81.002 49.116 2679
+-80.876 49.116 2679
+-80.75 49.116 2680
+-80.624 49.116 2567
+-80.498 49.116 2568
+-80.372 49.116 2568
+-80.246 49.116 2568
+-80.12 49.116 2569
+-79.994 49.116 2569
+-79.868 49.116 2569
+-79.742 49.116 2570
+-79.616 49.116 2570
+-79.49 49.116 2570
+-79.364 49.116 2577
+-79.238 49.116 2585
+-79.112 49.116 2585
+-78.986 49.116 2586
+-78.86 49.116 2586
+-78.734 49.116 2605
+-78.608 49.116 2605
+-78.482 49.116 2606
+-78.356 49.116 2606
+-78.23 49.116 2610
+-78.104 49.116 2740
+-77.978 49.116 2740
+-77.852 49.116 2740
+-77.726 49.116 2748
+-77.6 49.116 2748
+-77.474 49.116 2748
+-77.348 49.116 2767
+-77.222 49.116 2746
+-77.096 49.116 2761
+-76.97 49.116 2762
+-76.844 49.116 2757
+-76.718 49.116 2757
+-76.592 49.116 2758
+-76.466 49.116 2758
+-76.34 49.116 2760
+-76.214 49.116 2849
+-76.088 49.116 2850
+-75.962 49.116 2850
+-75.836 49.116 2851
+-75.71 49.116 2870
+-75.584 49.116 2871
+-75.458 49.116 2849
+-75.332 49.116 2850
+-75.206 49.116 2850
+-75.08 49.116 2851
+-74.954 49.116 2821
+-74.828 49.116 2831
+-74.702 49.116 2832
+-74.576 49.116 2961
+-74.45 49.116 2919
+-74.324 49.116 2920
+-74.198 49.116 3062
+-74.072 49.116 3059
+-73.946 49.116 3018
+-73.82 49.116 3085
+-73.694 49.116 2969
+-73.568 49.116 3002
+-73.442 49.116 3059
+-73.316 49.116 2952
+-73.19 49.116 2959
+-73.064 49.116 2861
+-72.938 49.116 2857
+-72.812 49.116 2874
+-72.686 49.116 2844
+-72.56 49.116 2844
+-72.434 49.116 2845
+-72.308 49.116 2781
+-72.182 49.116 2827
+-72.056 49.116 2818
+-71.93 49.116 2806
+-71.804 49.116 2807
+-71.678 49.116 2808
+-71.552 49.116 2808
+-71.426 49.116 2745
+-71.3 49.116 2740
+-71.174 49.116 2740
+-71.048 49.116 2741
+-70.922 49.116 2742
+-70.796 49.116 2737
+-70.67 49.116 2680
+-70.544 49.116 2786
+-70.418 49.116 2781
+-70.292 49.116 2787
+-70.166 49.116 2788
+-70.04 49.116 2789
+-69.914 49.116 2789
+-69.788 49.116 2816
+-69.662 49.116 2792
+-69.536 49.116 2861
+-69.41 49.116 2861
+-69.284 49.116 2851
+-69.158 49.116 2859
+-69.032 49.116 2860
+-68.906 49.116 2861
+-68.78 49.116 2847
+-68.654 49.116 2964
+-68.528 49.116 2964
+-68.402 49.116 2965
+-68.276 49.116 2966
+-68.15 49.116 3065
+-68.024 49.116 3016
+-67.898 49.116 3164
+-67.772 49.116 3165
+-67.646 49.116 3125
+-67.52 49.116 3126
+-67.394 49.116 3126
+-67.268 49.116 3126
+-67.142 49.116 3127
+-67.016 49.116 3127
+-66.89 49.116 3229
+-66.764 49.116 3224
+-66.638 49.116 3224
+-66.512 49.116 3225
+-66.386 49.116 3225
+-66.26 49.116 3165
+-66.134 49.116 3204
+-66.008 49.116 3205
+-65.882 49.116 3286
+-65.756 49.116 3190
+-65.63 49.116 3191
+-65.504 49.116 3191
+-65.378 49.116 3243
+-65.252 49.116 3193
+-65.126 49.116 3194
+-128 49.064 4276
+-127.874 49.064 4261
+-127.748 49.064 4251
+-127.622 49.064 4191
+-127.496 49.064 4083
+-127.37 49.064 4283
+-127.244 49.064 4487
+-127.118 49.064 4588
+-126.992 49.064 4627
+-126.866 49.064 4716
+-126.74 49.064 4849
+-126.614 49.064 5017
+-126.488 49.064 5154
+-126.362 49.064 5260
+-126.236 49.064 5392
+-126.11 49.064 5485
+-125.984 49.064 5614
+-125.858 49.064 5718
+-125.732 49.064 5852
+-125.606 49.064 5938
+-125.48 49.064 6016
+-125.354 49.064 6160
+-125.228 49.064 6219
+-125.102 49.064 6308
+-124.976 49.064 6357
+-124.85 49.064 6512
+-124.724 49.064 6618
+-124.598 49.064 6703
+-124.472 49.064 6798
+-124.346 49.064 6879
+-124.22 49.064 6971
+-124.094 49.064 7051
+-123.968 49.064 7073
+-123.842 49.064 7156
+-123.716 49.064 7208
+-123.59 49.064 7235
+-123.464 49.064 7264
+-123.338 49.064 7287
+-123.212 49.064 7341
+-123.086 49.064 7341
+-122.96 49.064 7326
+-122.834 49.064 7318
+-122.708 49.064 7308
+-122.582 49.064 7284
+-122.456 49.064 7278
+-122.33 49.064 7238
+-122.204 49.064 7184
+-122.078 49.064 7147
+-121.952 49.064 7076
+-121.826 49.064 7001
+-121.7 49.064 6912
+-121.574 49.064 6861
+-121.448 49.064 6800
+-121.322 49.064 6686
+-121.196 49.064 6592
+-121.07 49.064 6479
+-120.944 49.064 6451
+-120.818 49.064 6353
+-120.692 49.064 6246
+-120.566 49.064 6159
+-120.44 49.064 6067
+-120.314 49.064 5930
+-120.188 49.064 5811
+-120.062 49.064 5673
+-119.936 49.064 5763
+-119.81 49.064 5753
+-119.684 49.064 5837
+-119.558 49.064 5888
+-119.432 49.064 5950
+-119.306 49.064 5967
+-119.18 49.064 6030
+-119.054 49.064 6068
+-118.928 49.064 6085
+-118.802 49.064 6075
+-118.676 49.064 6078
+-118.55 49.064 6103
+-118.424 49.064 6121
+-118.298 49.064 6135
+-118.172 49.064 6145
+-118.046 49.064 6139
+-117.92 49.064 6112
+-117.794 49.064 6092
+-117.668 49.064 6055
+-117.542 49.064 6009
+-117.416 49.064 5975
+-117.29 49.064 5939
+-117.164 49.064 5895
+-117.038 49.064 5850
+-116.912 49.064 5801
+-116.786 49.064 5747
+-116.66 49.064 5684
+-116.534 49.064 5598
+-116.408 49.064 5528
+-116.282 49.064 5512
+-116.156 49.064 5406
+-116.03 49.064 5292
+-115.904 49.064 5165
+-115.778 49.064 5101
+-115.652 49.064 5013
+-115.526 49.064 4922
+-115.4 49.064 4838
+-115.274 49.064 4733
+-115.148 49.064 4645
+-115.022 49.064 4572
+-114.896 49.064 4482
+-114.77 49.064 4379
+-114.644 49.064 4253
+-114.518 49.064 4117
+-114.392 49.064 4016
+-114.266 49.064 4036
+-114.14 49.064 3990
+-114.014 49.064 3907
+-113.888 49.064 3785
+-113.762 49.064 3607
+-113.636 49.064 3463
+-113.51 49.064 3300
+-113.384 49.064 3185
+-113.258 49.064 3250
+-113.132 49.064 3307
+-113.006 49.064 3333
+-112.88 49.064 3316
+-112.754 49.064 3305
+-112.628 49.064 3304
+-112.502 49.064 3310
+-112.376 49.064 3311
+-112.25 49.064 3306
+-112.124 49.064 3299
+-111.998 49.064 3289
+-111.872 49.064 3280
+-111.746 49.064 3270
+-111.62 49.064 3262
+-111.494 49.064 3242
+-111.368 49.064 3200
+-111.242 49.064 3183
+-111.116 49.064 3182
+-110.99 49.064 3182
+-110.864 49.064 3184
+-110.738 49.064 3187
+-110.612 49.064 3191
+-110.486 49.064 3168
+-110.36 49.064 3174
+-110.234 49.064 3180
+-110.108 49.064 3186
+-109.982 49.064 3159
+-109.856 49.064 3166
+-109.73 49.064 3173
+-109.604 49.064 3180
+-109.478 49.064 3174
+-109.352 49.064 3180
+-109.226 49.064 3187
+-109.1 49.064 3193
+-108.974 49.064 3184
+-108.848 49.064 3191
+-108.722 49.064 3197
+-108.596 49.064 3203
+-108.47 49.064 3194
+-108.344 49.064 3200
+-108.218 49.064 3206
+-108.092 49.064 3211
+-107.966 49.064 3217
+-107.84 49.064 3222
+-107.714 49.064 3227
+-107.588 49.064 3232
+-107.462 49.064 3236
+-107.336 49.064 3241
+-107.21 49.064 3245
+-107.084 49.064 3180
+-106.958 49.064 3169
+-106.832 49.064 3173
+-106.706 49.064 3177
+-106.58 49.064 3180
+-106.454 49.064 3184
+-106.328 49.064 3150
+-106.202 49.064 3146
+-106.076 49.064 3151
+-105.95 49.064 3155
+-105.824 49.064 3135
+-105.698 49.064 3138
+-105.572 49.064 3142
+-105.446 49.064 3145
+-105.32 49.064 3148
+-105.194 49.064 3151
+-105.068 49.064 3154
+-104.942 49.064 3157
+-104.816 49.064 3160
+-104.69 49.064 3162
+-104.564 49.064 3165
+-104.438 49.064 3167
+-104.312 49.064 3170
+-104.186 49.064 3172
+-104.06 49.064 3174
+-103.934 49.064 3146
+-103.808 49.064 3102
+-103.682 49.064 3104
+-103.556 49.064 3106
+-103.43 49.064 3108
+-103.304 49.064 3110
+-103.178 49.064 3111
+-103.052 49.064 3113
+-102.926 49.064 3114
+-102.8 49.064 3116
+-102.674 49.064 3117
+-102.548 49.064 3119
+-102.422 49.064 3120
+-102.296 49.064 3121
+-102.17 49.064 3093
+-102.044 49.064 3000
+-101.918 49.064 2993
+-101.792 49.064 2979
+-101.666 49.064 2940
+-101.54 49.064 2899
+-101.414 49.064 2897
+-101.288 49.064 2839
+-101.162 49.064 2826
+-101.036 49.064 2816
+-100.91 49.064 2818
+-100.784 49.064 2758
+-100.658 49.064 2726
+-100.532 49.064 2738
+-100.406 49.064 2765
+-100.28 49.064 2799
+-100.154 49.064 2800
+-100.028 49.064 2802
+-99.902 49.064 2818
+-99.776 49.064 2897
+-99.65 49.064 2896
+-99.524 49.064 2950
+-99.398 49.064 2948
+-99.272 49.064 2947
+-99.146 49.064 2945
+-99.02 49.064 2944
+-98.894 49.064 2942
+-98.768 49.064 2940
+-98.642 49.064 2939
+-98.516 49.064 2937
+-98.39 49.064 2936
+-98.264 49.064 2934
+-98.138 49.064 2814
+-98.012 49.064 2812
+-97.886 49.064 2797
+-97.76 49.064 2795
+-97.634 49.064 2794
+-97.508 49.064 2792
+-97.382 49.064 2790
+-97.256 49.064 2788
+-97.13 49.064 2786
+-97.004 49.064 2784
+-96.878 49.064 2782
+-96.752 49.064 2780
+-96.626 49.064 2778
+-96.5 49.064 2776
+-96.374 49.064 2773
+-96.248 49.064 2771
+-96.122 49.064 2769
+-95.996 49.064 2767
+-95.87 49.064 2764
+-95.744 49.064 2762
+-95.618 49.064 2760
+-95.492 49.064 2757
+-95.366 49.064 2755
+-95.24 49.064 2753
+-95.114 49.064 2750
+-94.988 49.064 2748
+-94.862 49.064 2746
+-94.736 49.064 2743
+-94.61 49.064 2741
+-94.484 49.064 2738
+-94.358 49.064 2736
+-94.232 49.064 2733
+-94.106 49.064 2731
+-93.98 49.064 2729
+-93.854 49.064 2726
+-93.728 49.064 2724
+-93.602 49.064 2721
+-93.476 49.064 2719
+-93.35 49.064 2717
+-93.224 49.064 2715
+-93.098 49.064 2712
+-92.972 49.064 2710
+-92.846 49.064 2708
+-92.72 49.064 2706
+-92.594 49.064 2704
+-92.468 49.064 2702
+-92.342 49.064 2700
+-92.216 49.064 2698
+-92.09 49.064 2696
+-91.964 49.064 2695
+-91.838 49.064 2693
+-91.712 49.064 2691
+-91.586 49.064 2690
+-91.46 49.064 2689
+-91.334 49.064 2687
+-91.208 49.064 2686
+-91.082 49.064 2685
+-90.956 49.064 2684
+-90.83 49.064 2683
+-90.704 49.064 2682
+-90.578 49.064 2681
+-90.452 49.064 2680
+-90.326 49.064 2635
+-90.2 49.064 2634
+-90.074 49.064 2633
+-89.948 49.064 2633
+-89.822 49.064 2633
+-89.696 49.064 2632
+-89.57 49.064 2632
+-89.444 49.064 2632
+-89.318 49.064 2632
+-89.192 49.064 2631
+-89.066 49.064 2631
+-88.94 49.064 2631
+-88.814 49.064 2631
+-88.688 49.064 2632
+-88.562 49.064 2632
+-88.436 49.064 2632
+-88.31 49.064 2632
+-88.184 49.064 2633
+-88.058 49.064 2633
+-87.932 49.064 2633
+-87.806 49.064 2634
+-87.68 49.064 2634
+-87.554 49.064 2635
+-87.428 49.064 2635
+-87.302 49.064 2636
+-87.176 49.064 2636
+-87.05 49.064 2637
+-86.924 49.064 2637
+-86.798 49.064 2638
+-86.672 49.064 2638
+-86.546 49.064 2639
+-86.42 49.064 2640
+-86.294 49.064 2640
+-86.168 49.064 2641
+-86.042 49.064 2641
+-85.916 49.064 2642
+-85.79 49.064 2643
+-85.664 49.064 2643
+-85.538 49.064 2644
+-85.412 49.064 2645
+-85.286 49.064 2645
+-85.16 49.064 2646
+-85.034 49.064 2646
+-84.908 49.064 2647
+-84.782 49.064 2648
+-84.656 49.064 2648
+-84.53 49.064 2649
+-84.404 49.064 2650
+-84.278 49.064 2650
+-84.152 49.064 2651
+-84.026 49.064 2652
+-83.9 49.064 2652
+-83.774 49.064 2653
+-83.648 49.064 2654
+-83.522 49.064 2654
+-83.396 49.064 2655
+-83.27 49.064 2655
+-83.144 49.064 2656
+-83.018 49.064 2657
+-82.892 49.064 2657
+-82.766 49.064 2658
+-82.64 49.064 2659
+-82.514 49.064 2659
+-82.388 49.064 2660
+-82.262 49.064 2661
+-82.136 49.064 2661
+-82.01 49.064 2662
+-81.884 49.064 2662
+-81.758 49.064 2663
+-81.632 49.064 2664
+-81.506 49.064 2664
+-81.38 49.064 2665
+-81.254 49.064 2676
+-81.128 49.064 2677
+-81.002 49.064 2678
+-80.876 49.064 2678
+-80.75 49.064 2566
+-80.624 49.064 2566
+-80.498 49.064 2567
+-80.372 49.064 2567
+-80.246 49.064 2567
+-80.12 49.064 2568
+-79.994 49.064 2568
+-79.868 49.064 2568
+-79.742 49.064 2569
+-79.616 49.064 2569
+-79.49 49.064 2576
+-79.364 49.064 2584
+-79.238 49.064 2584
+-79.112 49.064 2585
+-78.986 49.064 2585
+-78.86 49.064 2604
+-78.734 49.064 2604
+-78.608 49.064 2605
+-78.482 49.064 2605
+-78.356 49.064 2608
+-78.23 49.064 2739
+-78.104 49.064 2739
+-77.978 49.064 2739
+-77.852 49.064 2746
+-77.726 49.064 2747
+-77.6 49.064 2747
+-77.474 49.064 2765
+-77.348 49.064 2745
+-77.222 49.064 2760
+-77.096 49.064 2761
+-76.97 49.064 2756
+-76.844 49.064 2756
+-76.718 49.064 2757
+-76.592 49.064 2757
+-76.466 49.064 2759
+-76.34 49.064 2848
+-76.214 49.064 2849
+-76.088 49.064 2849
+-75.962 49.064 2850
+-75.836 49.064 2869
+-75.71 49.064 2870
+-75.584 49.064 2848
+-75.458 49.064 2849
+-75.332 49.064 2849
+-75.206 49.064 2850
+-75.08 49.064 2820
+-74.954 49.064 2830
+-74.828 49.064 2831
+-74.702 49.064 2960
+-74.576 49.064 2918
+-74.45 49.064 2919
+-74.324 49.064 3061
+-74.198 49.064 3057
+-74.072 49.064 3017
+-73.946 49.064 3084
+-73.82 49.064 2968
+-73.694 49.064 3001
+-73.568 49.064 3058
+-73.442 49.064 2951
+-73.316 49.064 2958
+-73.19 49.064 2860
+-73.064 49.064 2856
+-72.938 49.064 2873
+-72.812 49.064 2843
+-72.686 49.064 2843
+-72.56 49.064 2844
+-72.434 49.064 2780
+-72.308 49.064 2826
+-72.182 49.064 2817
+-72.056 49.064 2805
+-71.93 49.064 2806
+-71.804 49.064 2807
+-71.678 49.064 2807
+-71.552 49.064 2744
+-71.426 49.064 2739
+-71.3 49.064 2740
+-71.174 49.064 2740
+-71.048 49.064 2741
+-70.922 49.064 2737
+-70.796 49.064 2679
+-70.67 49.064 2786
+-70.544 49.064 2781
+-70.418 49.064 2787
+-70.292 49.064 2787
+-70.166 49.064 2788
+-70.04 49.064 2789
+-69.914 49.064 2815
+-69.788 49.064 2792
+-69.662 49.064 2860
+-69.536 49.064 2861
+-69.41 49.064 2851
+-69.284 49.064 2859
+-69.158 49.064 2859
+-69.032 49.064 2860
+-68.906 49.064 2847
+-68.78 49.064 2963
+-68.654 49.064 2964
+-68.528 49.064 2964
+-68.402 49.064 2965
+-68.276 49.064 3065
+-68.15 49.064 3016
+-68.024 49.064 3164
+-67.898 49.064 3164
+-67.772 49.064 3125
+-67.646 49.064 3125
+-67.52 49.064 3126
+-67.394 49.064 3126
+-67.268 49.064 3126
+-67.142 49.064 3127
+-67.016 49.064 3229
+-66.89 49.064 3223
+-66.764 49.064 3224
+-66.638 49.064 3224
+-66.512 49.064 3225
+-66.386 49.064 3165
+-66.26 49.064 3204
+-66.134 49.064 3204
+-66.008 49.064 3286
+-65.882 49.064 3190
+-65.756 49.064 3190
+-65.63 49.064 3191
+-65.504 49.064 3242
+-65.378 49.064 3193
+-65.252 49.064 3193
+-65.126 49.064 3194
+-128 49.012 4231
+-127.874 49.012 4199
+-127.748 49.012 4199
+-127.622 49.012 4217
+-127.496 49.012 4230
+-127.37 49.012 4362
+-127.244 49.012 4510
+-127.118 49.012 4569
+-126.992 49.012 4613
+-126.866 49.012 4687
+-126.74 49.012 4844
+-126.614 49.012 5035
+-126.488 49.012 5201
+-126.362 49.012 5321
+-126.236 49.012 5357
+-126.11 49.012 5527
+-125.984 49.012 5678
+-125.858 49.012 5757
+-125.732 49.012 5869
+-125.606 49.012 5995
+-125.48 49.012 6089
+-125.354 49.012 6181
+-125.228 49.012 6237
+-125.102 49.012 6320
+-124.976 49.012 6432
+-124.85 49.012 6560
+-124.724 49.012 6684
+-124.598 49.012 6778
+-124.472 49.012 6846
+-124.346 49.012 6922
+-124.22 49.012 7035
+-124.094 49.012 7121
+-123.968 49.012 7140
+-123.842 49.012 7199
+-123.716 49.012 7265
+-123.59 49.012 7274
+-123.464 49.012 7306
+-123.338 49.012 7341
+-123.212 49.012 7365
+-123.086 49.012 7357
+-122.96 49.012 7390
+-122.834 49.012 7412
+-122.708 49.012 7390
+-122.582 49.012 7333
+-122.456 49.012 7323
+-122.33 49.012 7303
+-122.204 49.012 7276
+-122.078 49.012 7173
+-121.952 49.012 7130
+-121.826 49.012 7037
+-121.7 49.012 6977
+-121.574 49.012 6910
+-121.448 49.012 6861
+-121.322 49.012 6744
+-121.196 49.012 6661
+-121.07 49.012 6585
+-120.944 49.012 6504
+-120.818 49.012 6340
+-120.692 49.012 6285
+-120.566 49.012 6165
+-120.44 49.012 6064
+-120.314 49.012 5937
+-120.188 49.012 5824
+-120.062 49.012 5714
+-119.936 49.012 5785
+-119.81 49.012 5822
+-119.684 49.012 5856
+-119.558 49.012 5938
+-119.432 49.012 5990
+-119.306 49.012 6028
+-119.18 49.012 6059
+-119.054 49.012 6091
+-118.928 49.012 6133
+-118.802 49.012 6162
+-118.676 49.012 6168
+-118.55 49.012 6178
+-118.424 49.012 6193
+-118.298 49.012 6200
+-118.172 49.012 6198
+-118.046 49.012 6207
+-117.92 49.012 6160
+-117.794 49.012 6115
+-117.668 49.012 6103
+-117.542 49.012 6086
+-117.416 49.012 6045
+-117.29 49.012 5986
+-117.164 49.012 5930
+-117.038 49.012 5909
+-116.912 49.012 5839
+-116.786 49.012 5806
+-116.66 49.012 5745
+-116.534 49.012 5687
+-116.408 49.012 5610
+-116.282 49.012 5575
+-116.156 49.012 5503
+-116.03 49.012 5376
+-115.904 49.012 5255
+-115.778 49.012 5144
+-115.652 49.012 5056
+-115.526 49.012 4972
+-115.4 49.012 4870
+-115.274 49.012 4730
+-115.148 49.012 4636
+-115.022 49.012 4616
+-114.896 49.012 4516
+-114.77 49.012 4420
+-114.644 49.012 4298
+-114.518 49.012 4177
+-114.392 49.012 4076
+-114.266 49.012 4046
+-114.14 49.012 3997
+-114.014 49.012 3940
+-113.888 49.012 3856
+-113.762 49.012 3729
+-113.636 49.012 3574
+-113.51 49.012 3381
+-113.384 49.012 3278
+-113.258 49.012 3266
+-113.132 49.012 3244
+-113.006 49.012 3262
+-112.88 49.012 3289
+-112.754 49.012 3280
+-112.628 49.012 3294
+-112.502 49.012 3304
+-112.376 49.012 3305
+-112.25 49.012 3299
+-112.124 49.012 3289
+-111.998 49.012 3277
+-111.872 49.012 3264
+-111.746 49.012 3252
+-111.62 49.012 3230
+-111.494 49.012 3186
+-111.368 49.012 3167
+-111.242 49.012 3165
+-111.116 49.012 3165
+-110.99 49.012 3167
+-110.864 49.012 3170
+-110.738 49.012 3174
+-110.612 49.012 3151
+-110.486 49.012 3158
+-110.36 49.012 3165
+-110.234 49.012 3173
+-110.108 49.012 3146
+-109.982 49.012 3154
+-109.856 49.012 3162
+-109.73 49.012 3170
+-109.604 49.012 3165
+-109.478 49.012 3172
+-109.352 49.012 3179
+-109.226 49.012 3185
+-109.1 49.012 3177
+-108.974 49.012 3184
+-108.848 49.012 3191
+-108.722 49.012 3198
+-108.596 49.012 3189
+-108.47 49.012 3196
+-108.344 49.012 3202
+-108.218 49.012 3208
+-108.092 49.012 3213
+-107.966 49.012 3219
+-107.84 49.012 3224
+-107.714 49.012 3229
+-107.588 49.012 3234
+-107.462 49.012 3238
+-107.336 49.012 3243
+-107.21 49.012 3178
+-107.084 49.012 3167
+-106.958 49.012 3171
+-106.832 49.012 3175
+-106.706 49.012 3179
+-106.58 49.012 3182
+-106.454 49.012 3148
+-106.328 49.012 3145
+-106.202 49.012 3149
+-106.076 49.012 3153
+-105.95 49.012 3134
+-105.824 49.012 3137
+-105.698 49.012 3141
+-105.572 49.012 3144
+-105.446 49.012 3147
+-105.32 49.012 3150
+-105.194 49.012 3154
+-105.068 49.012 3156
+-104.942 49.012 3159
+-104.816 49.012 3162
+-104.69 49.012 3165
+-104.564 49.012 3167
+-104.438 49.012 3170
+-104.312 49.012 3172
+-104.186 49.012 3174
+-104.06 49.012 3146
+-103.934 49.012 3102
+-103.808 49.012 3104
+-103.682 49.012 3106
+-103.556 49.012 3108
+-103.43 49.012 3109
+-103.304 49.012 3111
+-103.178 49.012 3113
+-103.052 49.012 3114
+-102.926 49.012 3116
+-102.8 49.012 3117
+-102.674 49.012 3119
+-102.548 49.012 3120
+-102.422 49.012 3121
+-102.296 49.012 3123
+-102.17 49.012 3082
+-102.044 49.012 3001
+-101.918 49.012 2981
+-101.792 49.012 2942
+-101.666 49.012 2945
+-101.54 49.012 2899
+-101.414 49.012 2840
+-101.288 49.012 2826
+-101.162 49.012 2816
+-101.036 49.012 2817
+-100.91 49.012 2826
+-100.784 49.012 2766
+-100.658 49.012 2727
+-100.532 49.012 2764
+-100.406 49.012 2781
+-100.28 49.012 2830
+-100.154 49.012 2801
+-100.028 49.012 2818
+-99.902 49.012 2898
+-99.776 49.012 2897
+-99.65 49.012 2951
+-99.524 49.012 2950
+-99.398 49.012 2948
+-99.272 49.012 2947
+-99.146 49.012 2945
+-99.02 49.012 2944
+-98.894 49.012 2942
+-98.768 49.012 2940
+-98.642 49.012 2939
+-98.516 49.012 2937
+-98.39 49.012 2935
+-98.264 49.012 2934
+-98.138 49.012 2932
+-98.012 49.012 2812
+-97.886 49.012 2810
+-97.76 49.012 2796
+-97.634 49.012 2794
+-97.508 49.012 2792
+-97.382 49.012 2790
+-97.256 49.012 2788
+-97.13 49.012 2786
+-97.004 49.012 2784
+-96.878 49.012 2782
+-96.752 49.012 2780
+-96.626 49.012 2777
+-96.5 49.012 2775
+-96.374 49.012 2773
+-96.248 49.012 2771
+-96.122 49.012 2769
+-95.996 49.012 2766
+-95.87 49.012 2764
+-95.744 49.012 2762
+-95.618 49.012 2759
+-95.492 49.012 2757
+-95.366 49.012 2754
+-95.24 49.012 2752
+-95.114 49.012 2749
+-94.988 49.012 2747
+-94.862 49.012 2744
+-94.736 49.012 2742
+-94.61 49.012 2739
+-94.484 49.012 2737
+-94.358 49.012 2734
+-94.232 49.012 2732
+-94.106 49.012 2729
+-93.98 49.012 2727
+-93.854 49.012 2724
+-93.728 49.012 2722
+-93.602 49.012 2720
+-93.476 49.012 2717
+-93.35 49.012 2715
+-93.224 49.012 2712
+-93.098 49.012 2710
+-92.972 49.012 2708
+-92.846 49.012 2706
+-92.72 49.012 2703
+-92.594 49.012 2701
+-92.468 49.012 2699
+-92.342 49.012 2697
+-92.216 49.012 2695
+-92.09 49.012 2694
+-91.964 49.012 2692
+-91.838 49.012 2690
+-91.712 49.012 2688
+-91.586 49.012 2687
+-91.46 49.012 2685
+-91.334 49.012 2684
+-91.208 49.012 2683
+-91.082 49.012 2682
+-90.956 49.012 2680
+-90.83 49.012 2679
+-90.704 49.012 2679
+-90.578 49.012 2678
+-90.452 49.012 2677
+-90.326 49.012 2632
+-90.2 49.012 2631
+-90.074 49.012 2630
+-89.948 49.012 2630
+-89.822 49.012 2630
+-89.696 49.012 2629
+-89.57 49.012 2629
+-89.444 49.012 2629
+-89.318 49.012 2629
+-89.192 49.012 2629
+-89.066 49.012 2629
+-88.94 49.012 2629
+-88.814 49.012 2629
+-88.688 49.012 2629
+-88.562 49.012 2629
+-88.436 49.012 2629
+-88.31 49.012 2630
+-88.184 49.012 2630
+-88.058 49.012 2630
+-87.932 49.012 2631
+-87.806 49.012 2631
+-87.68 49.012 2632
+-87.554 49.012 2632
+-87.428 49.012 2633
+-87.302 49.012 2633
+-87.176 49.012 2634
+-87.05 49.012 2635
+-86.924 49.012 2635
+-86.798 49.012 2636
+-86.672 49.012 2636
+-86.546 49.012 2637
+-86.42 49.012 2638
+-86.294 49.012 2638
+-86.168 49.012 2639
+-86.042 49.012 2640
+-85.916 49.012 2640
+-85.79 49.012 2641
+-85.664 49.012 2642
+-85.538 49.012 2642
+-85.412 49.012 2643
+-85.286 49.012 2644
+-85.16 49.012 2644
+-85.034 49.012 2645
+-84.908 49.012 2646
+-84.782 49.012 2646
+-84.656 49.012 2647
+-84.53 49.012 2648
+-84.404 49.012 2648
+-84.278 49.012 2649
+-84.152 49.012 2650
+-84.026 49.012 2650
+-83.9 49.012 2651
+-83.774 49.012 2652
+-83.648 49.012 2652
+-83.522 49.012 2653
+-83.396 49.012 2654
+-83.27 49.012 2654
+-83.144 49.012 2655
+-83.018 49.012 2656
+-82.892 49.012 2656
+-82.766 49.012 2657
+-82.64 49.012 2657
+-82.514 49.012 2658
+-82.388 49.012 2659
+-82.262 49.012 2659
+-82.136 49.012 2660
+-82.01 49.012 2661
+-81.884 49.012 2661
+-81.758 49.012 2662
+-81.632 49.012 2663
+-81.506 49.012 2663
+-81.38 49.012 2675
+-81.254 49.012 2675
+-81.128 49.012 2676
+-81.002 49.012 2677
+-80.876 49.012 2565
+-80.75 49.012 2565
+-80.624 49.012 2565
+-80.498 49.012 2566
+-80.372 49.012 2566
+-80.246 49.012 2566
+-80.12 49.012 2567
+-79.994 49.012 2567
+-79.868 49.012 2567
+-79.742 49.012 2568
+-79.616 49.012 2575
+-79.49 49.012 2583
+-79.364 49.012 2583
+-79.238 49.012 2584
+-79.112 49.012 2584
+-78.986 49.012 2602
+-78.86 49.012 2603
+-78.734 49.012 2603
+-78.608 49.012 2604
+-78.482 49.012 2607
+-78.356 49.012 2737
+-78.23 49.012 2738
+-78.104 49.012 2738
+-77.978 49.012 2745
+-77.852 49.012 2745
+-77.726 49.012 2746
+-77.6 49.012 2764
+-77.474 49.012 2744
+-77.348 49.012 2759
+-77.222 49.012 2759
+-77.096 49.012 2755
+-76.97 49.012 2755
+-76.844 49.012 2755
+-76.718 49.012 2756
+-76.592 49.012 2758
+-76.466 49.012 2847
+-76.34 49.012 2847
+-76.214 49.012 2848
+-76.088 49.012 2848
+-75.962 49.012 2868
+-75.836 49.012 2868
+-75.71 49.012 2847
+-75.584 49.012 2847
+-75.458 49.012 2848
+-75.332 49.012 2849
+-75.206 49.012 2819
+-75.08 49.012 2829
+-74.954 49.012 2829
+-74.828 49.012 2959
+-74.702 49.012 2917
+-74.576 49.012 2918
+-74.45 49.012 3060
+-74.324 49.012 3056
+-74.198 49.012 3016
+-74.072 49.012 3083
+-73.946 49.012 2967
+-73.82 49.012 2999
+-73.694 49.012 3057
+-73.568 49.012 2950
+-73.442 49.012 2957
+-73.316 49.012 2859
+-73.19 49.012 2855
+-73.064 49.012 2872
+-72.938 49.012 2842
+-72.812 49.012 2842
+-72.686 49.012 2843
+-72.56 49.012 2779
+-72.434 49.012 2825
+-72.308 49.012 2816
+-72.182 49.012 2804
+-72.056 49.012 2805
+-71.93 49.012 2806
+-71.804 49.012 2807
+-71.678 49.012 2744
+-71.552 49.012 2738
+-71.426 49.012 2739
+-71.3 49.012 2740
+-71.174 49.012 2740
+-71.048 49.012 2736
+-70.922 49.012 2679
+-70.796 49.012 2785
+-70.67 49.012 2780
+-70.544 49.012 2786
+-70.418 49.012 2787
+-70.292 49.012 2788
+-70.166 49.012 2788
+-70.04 49.012 2815
+-69.914 49.012 2791
+-69.788 49.012 2860
+-69.662 49.012 2860
+-69.536 49.012 2850
+-69.41 49.012 2858
+-69.284 49.012 2859
+-69.158 49.012 2859
+-69.032 49.012 2846
+-68.906 49.012 2963
+-68.78 49.012 2963
+-68.654 49.012 2964
+-68.528 49.012 2965
+-68.402 49.012 3064
+-68.276 49.012 3015
+-68.15 49.012 3163
+-68.024 49.012 3164
+-67.898 49.012 3125
+-67.772 49.012 3125
+-67.646 49.012 3125
+-67.52 49.012 3126
+-67.394 49.012 3126
+-67.268 49.012 3126
+-67.142 49.012 3229
+-67.016 49.012 3223
+-66.89 49.012 3223
+-66.764 49.012 3224
+-66.638 49.012 3224
+-66.512 49.012 3164
+-66.386 49.012 3203
+-66.26 49.012 3204
+-66.134 49.012 3285
+-66.008 49.012 3189
+-65.882 49.012 3190
+-65.756 49.012 3190
+-65.63 49.012 3242
+-65.504 49.012 3192
+-65.378 49.012 3193
+-65.252 49.012 3193
+-65.126 49.012 3420
+-128 48.96 4168
+-127.874 48.96 4098
+-127.748 48.96 4052
+-127.622 48.96 4159
+-127.496 48.96 4316
+-127.37 48.96 4438
+-127.244 48.96 4517
+-127.118 48.96 4509
+-126.992 48.96 4604
+-126.866 48.96 4721
+-126.74 48.96 4857
+-126.614 48.96 5007
+-126.488 48.96 5208
+-126.362 48.96 5425
+-126.236 48.96 5508
+-126.11 48.96 5629
+-125.984 48.96 5719
+-125.858 48.96 5724
+-125.732 48.96 5869
+-125.606 48.96 6003
+-125.48 48.96 6102
+-125.354 48.96 6153
+-125.228 48.96 6276
+-125.102 48.96 6352
+-124.976 48.96 6527
+-124.85 48.96 6599
+-124.724 48.96 6721
+-124.598 48.96 6831
+-124.472 48.96 6919
+-124.346 48.96 6958
+-124.22 48.96 7043
+-124.094 48.96 7144
+-123.968 48.96 7168
+-123.842 48.96 7239
+-123.716 48.96 7258
+-123.59 48.96 7296
+-123.464 48.96 7358
+-123.338 48.96 7415
+-123.212 48.96 7424
+-123.086 48.96 7466
+-122.96 48.96 7426
+-122.834 48.96 7419
+-122.708 48.96 7428
+-122.582 48.96 7400
+-122.456 48.96 7391
+-122.33 48.96 7360
+-122.204 48.96 7268
+-122.078 48.96 7248
+-121.952 48.96 7191
+-121.826 48.96 7100
+-121.7 48.96 7055
+-121.574 48.96 6970
+-121.448 48.96 6859
+-121.322 48.96 6791
+-121.196 48.96 6709
+-121.07 48.96 6604
+-120.944 48.96 6508
+-120.818 48.96 6357
+-120.692 48.96 6330
+-120.566 48.96 6212
+-120.44 48.96 6131
+-120.314 48.96 5945
+-120.188 48.96 5677
+-120.062 48.96 5793
+-119.936 48.96 5827
+-119.81 48.96 5893
+-119.684 48.96 5920
+-119.558 48.96 6007
+-119.432 48.96 6045
+-119.306 48.96 6064
+-119.18 48.96 6128
+-119.054 48.96 6176
+-118.928 48.96 6199
+-118.802 48.96 6239
+-118.676 48.96 6242
+-118.55 48.96 6256
+-118.424 48.96 6245
+-118.298 48.96 6244
+-118.172 48.96 6224
+-118.046 48.96 6217
+-117.92 48.96 6201
+-117.794 48.96 6181
+-117.668 48.96 6172
+-117.542 48.96 6147
+-117.416 48.96 6118
+-117.29 48.96 6048
+-117.164 48.96 6004
+-117.038 48.96 5973
+-116.912 48.96 5890
+-116.786 48.96 5815
+-116.66 48.96 5756
+-116.534 48.96 5740
+-116.408 48.96 5694
+-116.282 48.96 5657
+-116.156 48.96 5591
+-116.03 48.96 5488
+-115.904 48.96 5345
+-115.778 48.96 5202
+-115.652 48.96 5120
+-115.526 48.96 5031
+-115.4 48.96 4946
+-115.274 48.96 4793
+-115.148 48.96 4688
+-115.022 48.96 4634
+-114.896 48.96 4538
+-114.77 48.96 4460
+-114.644 48.96 4359
+-114.518 48.96 4249
+-114.392 48.96 4135
+-114.266 48.96 4049
+-114.14 48.96 3988
+-114.014 48.96 3953
+-113.888 48.96 3896
+-113.762 48.96 3803
+-113.636 48.96 3659
+-113.51 48.96 3505
+-113.384 48.96 3371
+-113.258 48.96 3205
+-113.132 48.96 3087
+-113.006 48.96 3129
+-112.88 48.96 3232
+-112.754 48.96 3308
+-112.628 48.96 3292
+-112.502 48.96 3298
+-112.376 48.96 3298
+-112.25 48.96 3288
+-112.124 48.96 3274
+-111.998 48.96 3257
+-111.872 48.96 3241
+-111.746 48.96 3214
+-111.62 48.96 3168
+-111.494 48.96 3147
+-111.368 48.96 3143
+-111.242 48.96 3142
+-111.116 48.96 3144
+-110.99 48.96 3147
+-110.864 48.96 3153
+-110.738 48.96 3131
+-110.612 48.96 3139
+-110.486 48.96 3147
+-110.36 48.96 3156
+-110.234 48.96 3131
+-110.108 48.96 3140
+-109.982 48.96 3150
+-109.856 48.96 3159
+-109.73 48.96 3154
+-109.604 48.96 3162
+-109.478 48.96 3170
+-109.352 48.96 3177
+-109.226 48.96 3170
+-109.1 48.96 3177
+-108.974 48.96 3185
+-108.848 48.96 3192
+-108.722 48.96 3184
+-108.596 48.96 3191
+-108.47 48.96 3197
+-108.344 48.96 3203
+-108.218 48.96 3209
+-108.092 48.96 3215
+-107.966 48.96 3221
+-107.84 48.96 3226
+-107.714 48.96 3231
+-107.588 48.96 3236
+-107.462 48.96 3241
+-107.336 48.96 3175
+-107.21 48.96 3165
+-107.084 48.96 3169
+-106.958 48.96 3173
+-106.832 48.96 3177
+-106.706 48.96 3181
+-106.58 48.96 3147
+-106.454 48.96 3143
+-106.328 48.96 3148
+-106.202 48.96 3152
+-106.076 48.96 3133
+-105.95 48.96 3136
+-105.824 48.96 3140
+-105.698 48.96 3143
+-105.572 48.96 3147
+-105.446 48.96 3150
+-105.32 48.96 3153
+-105.194 48.96 3156
+-105.068 48.96 3159
+-104.942 48.96 3162
+-104.816 48.96 3164
+-104.69 48.96 3167
+-104.564 48.96 3169
+-104.438 48.96 3172
+-104.312 48.96 3174
+-104.186 48.96 3146
+-104.06 48.96 3102
+-103.934 48.96 3104
+-103.808 48.96 3106
+-103.682 48.96 3108
+-103.556 48.96 3109
+-103.43 48.96 3111
+-103.304 48.96 3113
+-103.178 48.96 3114
+-103.052 48.96 3116
+-102.926 48.96 3117
+-102.8 48.96 3119
+-102.674 48.96 3120
+-102.548 48.96 3121
+-102.422 48.96 3123
+-102.296 48.96 3098
+-102.17 48.96 3084
+-102.044 48.96 2987
+-101.918 48.96 2944
+-101.792 48.96 2943
+-101.666 48.96 2945
+-101.54 48.96 2890
+-101.414 48.96 2826
+-101.288 48.96 2816
+-101.162 48.96 2816
+-101.036 48.96 2824
+-100.91 48.96 2828
+-100.784 48.96 2831
+-100.658 48.96 2788
+-100.532 48.96 2780
+-100.406 48.96 2829
+-100.28 48.96 2831
+-100.154 48.96 2833
+-100.028 48.96 2898
+-99.902 48.96 2898
+-99.776 48.96 2953
+-99.65 48.96 2951
+-99.524 48.96 2950
+-99.398 48.96 2948
+-99.272 48.96 2947
+-99.146 48.96 2945
+-99.02 48.96 2944
+-98.894 48.96 2942
+-98.768 48.96 2940
+-98.642 48.96 2939
+-98.516 48.96 2937
+-98.39 48.96 2935
+-98.264 48.96 2934
+-98.138 48.96 2932
+-98.012 48.96 2930
+-97.886 48.96 2811
+-97.76 48.96 2809
+-97.634 48.96 2794
+-97.508 48.96 2792
+-97.382 48.96 2790
+-97.256 48.96 2788
+-97.13 48.96 2786
+-97.004 48.96 2784
+-96.878 48.96 2782
+-96.752 48.96 2779
+-96.626 48.96 2777
+-96.5 48.96 2775
+-96.374 48.96 2773
+-96.248 48.96 2770
+-96.122 48.96 2768
+-95.996 48.96 2766
+-95.87 48.96 2763
+-95.744 48.96 2761
+-95.618 48.96 2758
+-95.492 48.96 2756
+-95.366 48.96 2754
+-95.24 48.96 2751
+-95.114 48.96 2748
+-94.988 48.96 2746
+-94.862 48.96 2743
+-94.736 48.96 2741
+-94.61 48.96 2738
+-94.484 48.96 2736
+-94.358 48.96 2733
+-94.232 48.96 2730
+-94.106 48.96 2728
+-93.98 48.96 2725
+-93.854 48.96 2723
+-93.728 48.96 2720
+-93.602 48.96 2718
+-93.476 48.96 2715
+-93.35 48.96 2713
+-93.224 48.96 2710
+-93.098 48.96 2708
+-92.972 48.96 2705
+-92.846 48.96 2703
+-92.72 48.96 2701
+-92.594 48.96 2699
+-92.468 48.96 2697
+-92.342 48.96 2695
+-92.216 48.96 2693
+-92.09 48.96 2691
+-91.964 48.96 2689
+-91.838 48.96 2687
+-91.712 48.96 2685
+-91.586 48.96 2684
+-91.46 48.96 2682
+-91.334 48.96 2681
+-91.208 48.96 2680
+-91.082 48.96 2678
+-90.956 48.96 2677
+-90.83 48.96 2676
+-90.704 48.96 2675
+-90.578 48.96 2674
+-90.452 48.96 2674
+-90.326 48.96 2629
+-90.2 48.96 2628
+-90.074 48.96 2627
+-89.948 48.96 2627
+-89.822 48.96 2626
+-89.696 48.96 2626
+-89.57 48.96 2626
+-89.444 48.96 2626
+-89.318 48.96 2626
+-89.192 48.96 2626
+-89.066 48.96 2626
+-88.94 48.96 2626
+-88.814 48.96 2626
+-88.688 48.96 2626
+-88.562 48.96 2626
+-88.436 48.96 2627
+-88.31 48.96 2627
+-88.184 48.96 2627
+-88.058 48.96 2628
+-87.932 48.96 2628
+-87.806 48.96 2629
+-87.68 48.96 2629
+-87.554 48.96 2630
+-87.428 48.96 2631
+-87.302 48.96 2631
+-87.176 48.96 2632
+-87.05 48.96 2632
+-86.924 48.96 2633
+-86.798 48.96 2634
+-86.672 48.96 2634
+-86.546 48.96 2635
+-86.42 48.96 2636
+-86.294 48.96 2636
+-86.168 48.96 2637
+-86.042 48.96 2638
+-85.916 48.96 2638
+-85.79 48.96 2639
+-85.664 48.96 2640
+-85.538 48.96 2641
+-85.412 48.96 2641
+-85.286 48.96 2642
+-85.16 48.96 2643
+-85.034 48.96 2643
+-84.908 48.96 2644
+-84.782 48.96 2645
+-84.656 48.96 2645
+-84.53 48.96 2646
+-84.404 48.96 2647
+-84.278 48.96 2648
+-84.152 48.96 2648
+-84.026 48.96 2649
+-83.9 48.96 2650
+-83.774 48.96 2650
+-83.648 48.96 2651
+-83.522 48.96 2652
+-83.396 48.96 2652
+-83.27 48.96 2653
+-83.144 48.96 2654
+-83.018 48.96 2654
+-82.892 48.96 2655
+-82.766 48.96 2656
+-82.64 48.96 2656
+-82.514 48.96 2657
+-82.388 48.96 2658
+-82.262 48.96 2658
+-82.136 48.96 2659
+-82.01 48.96 2660
+-81.884 48.96 2660
+-81.758 48.96 2661
+-81.632 48.96 2662
+-81.506 48.96 2673
+-81.38 48.96 2674
+-81.254 48.96 2674
+-81.128 48.96 2675
+-81.002 48.96 2563
+-80.876 48.96 2564
+-80.75 48.96 2564
+-80.624 48.96 2564
+-80.498 48.96 2565
+-80.372 48.96 2565
+-80.246 48.96 2565
+-80.12 48.96 2566
+-79.994 48.96 2566
+-79.868 48.96 2567
+-79.742 48.96 2573
+-79.616 48.96 2581
+-79.49 48.96 2582
+-79.364 48.96 2582
+-79.238 48.96 2583
+-79.112 48.96 2601
+-78.986 48.96 2602
+-78.86 48.96 2602
+-78.734 48.96 2603
+-78.608 48.96 2606
+-78.482 48.96 2736
+-78.356 48.96 2736
+-78.23 48.96 2737
+-78.104 48.96 2744
+-77.978 48.96 2744
+-77.852 48.96 2744
+-77.726 48.96 2763
+-77.6 48.96 2743
+-77.474 48.96 2758
+-77.348 48.96 2758
+-77.222 48.96 2753
+-77.096 48.96 2754
+-76.97 48.96 2754
+-76.844 48.96 2755
+-76.718 48.96 2757
+-76.592 48.96 2845
+-76.466 48.96 2846
+-76.34 48.96 2847
+-76.214 48.96 2847
+-76.088 48.96 2866
+-75.962 48.96 2867
+-75.836 48.96 2846
+-75.71 48.96 2846
+-75.584 48.96 2847
+-75.458 48.96 2847
+-75.332 48.96 2817
+-75.206 48.96 2828
+-75.08 48.96 2828
+-74.954 48.96 2957
+-74.828 48.96 2916
+-74.702 48.96 2916
+-74.576 48.96 3058
+-74.45 48.96 3055
+-74.324 48.96 3014
+-74.198 48.96 3081
+-74.072 48.96 2966
+-73.946 48.96 2998
+-73.82 48.96 3055
+-73.694 48.96 2948
+-73.568 48.96 2956
+-73.442 48.96 2858
+-73.316 48.96 2854
+-73.19 48.96 2871
+-73.064 48.96 2841
+-72.938 48.96 2841
+-72.812 48.96 2842
+-72.686 48.96 2778
+-72.56 48.96 2824
+-72.434 48.96 2815
+-72.308 48.96 2804
+-72.182 48.96 2804
+-72.056 48.96 2805
+-71.93 48.96 2806
+-71.804 48.96 2743
+-71.678 48.96 2738
+-71.552 48.96 2738
+-71.426 48.96 2739
+-71.3 48.96 2740
+-71.174 48.96 2735
+-71.048 48.96 2678
+-70.922 48.96 2784
+-70.796 48.96 2780
+-70.67 48.96 2786
+-70.544 48.96 2786
+-70.418 48.96 2787
+-70.292 48.96 2788
+-70.166 48.96 2814
+-70.04 48.96 2790
+-69.914 48.96 2859
+-69.788 48.96 2860
+-69.662 48.96 2849
+-69.536 48.96 2857
+-69.41 48.96 2858
+-69.284 48.96 2859
+-69.158 48.96 2845
+-69.032 48.96 2962
+-68.906 48.96 2963
+-68.78 48.96 2963
+-68.654 48.96 2964
+-68.528 48.96 3063
+-68.402 48.96 3015
+-68.276 48.96 3163
+-68.15 48.96 3163
+-68.024 48.96 3124
+-67.898 48.96 3125
+-67.772 48.96 3125
+-67.646 48.96 3125
+-67.52 48.96 3126
+-67.394 48.96 3126
+-67.268 48.96 3228
+-67.142 48.96 3223
+-67.016 48.96 3223
+-66.89 48.96 3223
+-66.764 48.96 3224
+-66.638 48.96 3164
+-66.512 48.96 3203
+-66.386 48.96 3203
+-66.26 48.96 3285
+-66.134 48.96 3189
+-66.008 48.96 3189
+-65.882 48.96 3190
+-65.756 48.96 3241
+-65.63 48.96 3192
+-65.504 48.96 3193
+-65.378 48.96 3193
+-65.252 48.96 3420
+-65.126 48.96 3363
+-128 48.908 4139
+-127.874 48.908 4030
+-127.748 48.908 3888
+-127.622 48.908 4081
+-127.496 48.908 4317
+-127.37 48.908 4461
+-127.244 48.908 4545
+-127.118 48.908 4566
+-126.992 48.908 4629
+-126.866 48.908 4759
+-126.74 48.908 4907
+-126.614 48.908 5036
+-126.488 48.908 5258
+-126.362 48.908 5515
+-126.236 48.908 5596
+-126.11 48.908 5689
+-125.984 48.908 5721
+-125.858 48.908 5787
+-125.732 48.908 5848
+-125.606 48.908 5962
+-125.48 48.908 6126
+-125.354 48.908 6281
+-125.228 48.908 6291
+-125.102 48.908 6375
+-124.976 48.908 6495
+-124.85 48.908 6649
+-124.724 48.908 6692
+-124.598 48.908 6862
+-124.472 48.908 6931
+-124.346 48.908 7007
+-124.22 48.908 7100
+-124.094 48.908 7154
+-123.968 48.908 7200
+-123.842 48.908 7304
+-123.716 48.908 7315
+-123.59 48.908 7404
+-123.464 48.908 7424
+-123.338 48.908 7497
+-123.212 48.908 7456
+-123.086 48.908 7477
+-122.96 48.908 7507
+-122.834 48.908 7506
+-122.708 48.908 7489
+-122.582 48.908 7475
+-122.456 48.908 7422
+-122.33 48.908 7384
+-122.204 48.908 7342
+-122.078 48.908 7306
+-121.952 48.908 7236
+-121.826 48.908 7180
+-121.7 48.908 7078
+-121.574 48.908 6992
+-121.448 48.908 6917
+-121.322 48.908 6813
+-121.196 48.908 6780
+-121.07 48.908 6646
+-120.944 48.908 6558
+-120.818 48.908 6421
+-120.692 48.908 6306
+-120.566 48.908 6184
+-120.44 48.908 6107
+-120.314 48.908 6035
+-120.188 48.908 5698
+-120.062 48.908 5807
+-119.936 48.908 5860
+-119.81 48.908 5945
+-119.684 48.908 5998
+-119.558 48.908 6057
+-119.432 48.908 6093
+-119.306 48.908 6149
+-119.18 48.908 6200
+-119.054 48.908 6238
+-118.928 48.908 6264
+-118.802 48.908 6284
+-118.676 48.908 6303
+-118.55 48.908 6285
+-118.424 48.908 6301
+-118.298 48.908 6283
+-118.172 48.908 6271
+-118.046 48.908 6276
+-117.92 48.908 6271
+-117.794 48.908 6251
+-117.668 48.908 6216
+-117.542 48.908 6189
+-117.416 48.908 6157
+-117.29 48.908 6126
+-117.164 48.908 6058
+-117.038 48.908 6023
+-116.912 48.908 5954
+-116.786 48.908 5885
+-116.66 48.908 5809
+-116.534 48.908 5762
+-116.408 48.908 5678
+-116.282 48.908 5694
+-116.156 48.908 5641
+-116.03 48.908 5532
+-115.904 48.908 5397
+-115.778 48.908 5267
+-115.652 48.908 5130
+-115.526 48.908 5065
+-115.4 48.908 4998
+-115.274 48.908 4895
+-115.148 48.908 4769
+-115.022 48.908 4652
+-114.896 48.908 4538
+-114.77 48.908 4485
+-114.644 48.908 4418
+-114.518 48.908 4308
+-114.392 48.908 4170
+-114.266 48.908 4026
+-114.14 48.908 3970
+-114.014 48.908 3936
+-113.888 48.908 3909
+-113.762 48.908 3839
+-113.636 48.908 3725
+-113.51 48.908 3586
+-113.384 48.908 3399
+-113.258 48.908 3113
+-113.132 48.908 2947
+-113.006 48.908 3063
+-112.88 48.908 3206
+-112.754 48.908 3300
+-112.628 48.908 3334
+-112.502 48.908 3351
+-112.376 48.908 3288
+-112.25 48.908 3272
+-112.124 48.908 3251
+-111.998 48.908 3229
+-111.872 48.908 3197
+-111.746 48.908 3146
+-111.62 48.908 3122
+-111.494 48.908 3115
+-111.368 48.908 3112
+-111.242 48.908 3114
+-111.116 48.908 3118
+-110.99 48.908 3124
+-110.864 48.908 3104
+-110.738 48.908 3114
+-110.612 48.908 3125
+-110.486 48.908 3135
+-110.36 48.908 3112
+-110.234 48.908 3123
+-110.108 48.908 3134
+-109.982 48.908 3145
+-109.856 48.908 3142
+-109.73 48.908 3151
+-109.604 48.908 3160
+-109.478 48.908 3168
+-109.352 48.908 3161
+-109.226 48.908 3170
+-109.1 48.908 3178
+-108.974 48.908 3185
+-108.848 48.908 3178
+-108.722 48.908 3185
+-108.596 48.908 3192
+-108.47 48.908 3199
+-108.344 48.908 3205
+-108.218 48.908 3212
+-108.092 48.908 3217
+-107.966 48.908 3223
+-107.84 48.908 3228
+-107.714 48.908 3233
+-107.588 48.908 3238
+-107.462 48.908 3173
+-107.336 48.908 3163
+-107.21 48.908 3167
+-107.084 48.908 3171
+-106.958 48.908 3175
+-106.832 48.908 3179
+-106.706 48.908 3145
+-106.58 48.908 3142
+-106.454 48.908 3147
+-106.328 48.908 3151
+-106.202 48.908 3132
+-106.076 48.908 3136
+-105.95 48.908 3139
+-105.824 48.908 3143
+-105.698 48.908 3146
+-105.572 48.908 3149
+-105.446 48.908 3153
+-105.32 48.908 3156
+-105.194 48.908 3159
+-105.068 48.908 3161
+-104.942 48.908 3164
+-104.816 48.908 3167
+-104.69 48.908 3169
+-104.564 48.908 3172
+-104.438 48.908 3174
+-104.312 48.908 3145
+-104.186 48.908 3102
+-104.06 48.908 3104
+-103.934 48.908 3106
+-103.808 48.908 3108
+-103.682 48.908 3109
+-103.556 48.908 3111
+-103.43 48.908 3113
+-103.304 48.908 3114
+-103.178 48.908 3116
+-103.052 48.908 3117
+-102.926 48.908 3119
+-102.8 48.908 3120
+-102.674 48.908 3122
+-102.548 48.908 3123
+-102.422 48.908 3097
+-102.296 48.908 3099
+-102.17 48.908 3073
+-102.044 48.908 2985
+-101.918 48.908 2945
+-101.792 48.908 2943
+-101.666 48.908 2941
+-101.54 48.908 2879
+-101.414 48.908 2816
+-101.288 48.908 2815
+-101.162 48.908 2823
+-101.036 48.908 2826
+-100.91 48.908 2829
+-100.784 48.908 2837
+-100.658 48.908 2802
+-100.532 48.908 2804
+-100.406 48.908 2830
+-100.28 48.908 2832
+-100.154 48.908 2915
+-100.028 48.908 2899
+-99.902 48.908 2954
+-99.776 48.908 2953
+-99.65 48.908 2951
+-99.524 48.908 2950
+-99.398 48.908 2948
+-99.272 48.908 2947
+-99.146 48.908 2945
+-99.02 48.908 2944
+-98.894 48.908 2942
+-98.768 48.908 2940
+-98.642 48.908 2939
+-98.516 48.908 2937
+-98.39 48.908 2935
+-98.264 48.908 2933
+-98.138 48.908 2932
+-98.012 48.908 2930
+-97.886 48.908 2928
+-97.76 48.908 2809
+-97.634 48.908 2807
+-97.508 48.908 2792
+-97.382 48.908 2790
+-97.256 48.908 2788
+-97.13 48.908 2786
+-97.004 48.908 2784
+-96.878 48.908 2782
+-96.752 48.908 2779
+-96.626 48.908 2777
+-96.5 48.908 2775
+-96.374 48.908 2772
+-96.248 48.908 2770
+-96.122 48.908 2768
+-95.996 48.908 2765
+-95.87 48.908 2763
+-95.744 48.908 2760
+-95.618 48.908 2758
+-95.492 48.908 2755
+-95.366 48.908 2753
+-95.24 48.908 2750
+-95.114 48.908 2748
+-94.988 48.908 2745
+-94.862 48.908 2742
+-94.736 48.908 2740
+-94.61 48.908 2737
+-94.484 48.908 2734
+-94.358 48.908 2732
+-94.232 48.908 2729
+-94.106 48.908 2726
+-93.98 48.908 2724
+-93.854 48.908 2721
+-93.728 48.908 2718
+-93.602 48.908 2716
+-93.476 48.908 2713
+-93.35 48.908 2710
+-93.224 48.908 2708
+-93.098 48.908 2705
+-92.972 48.908 2703
+-92.846 48.908 2701
+-92.72 48.908 2698
+-92.594 48.908 2696
+-92.468 48.908 2694
+-92.342 48.908 2692
+-92.216 48.908 2690
+-92.09 48.908 2688
+-91.964 48.908 2686
+-91.838 48.908 2684
+-91.712 48.908 2682
+-91.586 48.908 2680
+-91.46 48.908 2679
+-91.334 48.908 2677
+-91.208 48.908 2676
+-91.082 48.908 2675
+-90.956 48.908 2674
+-90.83 48.908 2673
+-90.704 48.908 2672
+-90.578 48.908 2671
+-90.452 48.908 2670
+-90.326 48.908 2625
+-90.2 48.908 2625
+-90.074 48.908 2624
+-89.948 48.908 2624
+-89.822 48.908 2623
+-89.696 48.908 2623
+-89.57 48.908 2623
+-89.444 48.908 2623
+-89.318 48.908 2623
+-89.192 48.908 2623
+-89.066 48.908 2623
+-88.94 48.908 2623
+-88.814 48.908 2623
+-88.688 48.908 2623
+-88.562 48.908 2624
+-88.436 48.908 2624
+-88.31 48.908 2624
+-88.184 48.908 2625
+-88.058 48.908 2625
+-87.932 48.908 2626
+-87.806 48.908 2626
+-87.68 48.908 2627
+-87.554 48.908 2628
+-87.428 48.908 2628
+-87.302 48.908 2629
+-87.176 48.908 2630
+-87.05 48.908 2630
+-86.924 48.908 2631
+-86.798 48.908 2632
+-86.672 48.908 2632
+-86.546 48.908 2633
+-86.42 48.908 2634
+-86.294 48.908 2634
+-86.168 48.908 2635
+-86.042 48.908 2636
+-85.916 48.908 2637
+-85.79 48.908 2637
+-85.664 48.908 2638
+-85.538 48.908 2639
+-85.412 48.908 2640
+-85.286 48.908 2640
+-85.16 48.908 2641
+-85.034 48.908 2642
+-84.908 48.908 2643
+-84.782 48.908 2643
+-84.656 48.908 2644
+-84.53 48.908 2645
+-84.404 48.908 2645
+-84.278 48.908 2646
+-84.152 48.908 2647
+-84.026 48.908 2648
+-83.9 48.908 2648
+-83.774 48.908 2649
+-83.648 48.908 2650
+-83.522 48.908 2650
+-83.396 48.908 2651
+-83.27 48.908 2652
+-83.144 48.908 2652
+-83.018 48.908 2653
+-82.892 48.908 2654
+-82.766 48.908 2654
+-82.64 48.908 2655
+-82.514 48.908 2656
+-82.388 48.908 2657
+-82.262 48.908 2657
+-82.136 48.908 2658
+-82.01 48.908 2659
+-81.884 48.908 2659
+-81.758 48.908 2660
+-81.632 48.908 2671
+-81.506 48.908 2672
+-81.38 48.908 2673
+-81.254 48.908 2673
+-81.128 48.908 2562
+-81.002 48.908 2562
+-80.876 48.908 2563
+-80.75 48.908 2563
+-80.624 48.908 2563
+-80.498 48.908 2564
+-80.372 48.908 2564
+-80.246 48.908 2565
+-80.12 48.908 2565
+-79.994 48.908 2565
+-79.868 48.908 2572
+-79.742 48.908 2580
+-79.616 48.908 2581
+-79.49 48.908 2581
+-79.364 48.908 2582
+-79.238 48.908 2600
+-79.112 48.908 2601
+-78.986 48.908 2601
+-78.86 48.908 2602
+-78.734 48.908 2605
+-78.608 48.908 2735
+-78.482 48.908 2735
+-78.356 48.908 2735
+-78.23 48.908 2742
+-78.104 48.908 2743
+-77.978 48.908 2743
+-77.852 48.908 2761
+-77.726 48.908 2741
+-77.6 48.908 2756
+-77.474 48.908 2757
+-77.348 48.908 2752
+-77.222 48.908 2753
+-77.096 48.908 2753
+-76.97 48.908 2754
+-76.844 48.908 2755
+-76.718 48.908 2844
+-76.592 48.908 2845
+-76.466 48.908 2845
+-76.34 48.908 2846
+-76.214 48.908 2865
+-76.088 48.908 2866
+-75.962 48.908 2844
+-75.836 48.908 2845
+-75.71 48.908 2846
+-75.584 48.908 2846
+-75.458 48.908 2816
+-75.332 48.908 2827
+-75.206 48.908 2827
+-75.08 48.908 2956
+-74.954 48.908 2915
+-74.828 48.908 2915
+-74.702 48.908 3057
+-74.576 48.908 3053
+-74.45 48.908 3013
+-74.324 48.908 3080
+-74.198 48.908 2964
+-74.072 48.908 2997
+-73.946 48.908 3054
+-73.82 48.908 2947
+-73.694 48.908 2955
+-73.568 48.908 2857
+-73.442 48.908 2853
+-73.316 48.908 2870
+-73.19 48.908 2840
+-73.064 48.908 2840
+-72.938 48.908 2841
+-72.812 48.908 2777
+-72.686 48.908 2823
+-72.56 48.908 2814
+-72.434 48.908 2803
+-72.308 48.908 2803
+-72.182 48.908 2804
+-72.056 48.908 2805
+-71.93 48.908 2742
+-71.804 48.908 2737
+-71.678 48.908 2738
+-71.552 48.908 2738
+-71.426 48.908 2739
+-71.3 48.908 2735
+-71.174 48.908 2678
+-71.048 48.908 2784
+-70.922 48.908 2779
+-70.796 48.908 2785
+-70.67 48.908 2786
+-70.544 48.908 2786
+-70.418 48.908 2787
+-70.292 48.908 2814
+-70.166 48.908 2790
+-70.04 48.908 2858
+-69.914 48.908 2859
+-69.788 48.908 2849
+-69.662 48.908 2857
+-69.536 48.908 2858
+-69.41 48.908 2858
+-69.284 48.908 2845
+-69.158 48.908 2961
+-69.032 48.908 2962
+-68.906 48.908 2963
+-68.78 48.908 2963
+-68.654 48.908 3063
+-68.528 48.908 3014
+-68.402 48.908 3163
+-68.276 48.908 3163
+-68.15 48.908 3124
+-68.024 48.908 3124
+-67.898 48.908 3125
+-67.772 48.908 3125
+-67.646 48.908 3125
+-67.52 48.908 3126
+-67.394 48.908 3228
+-67.268 48.908 3222
+-67.142 48.908 3223
+-67.016 48.908 3223
+-66.89 48.908 3223
+-66.764 48.908 3164
+-66.638 48.908 3202
+-66.512 48.908 3203
+-66.386 48.908 3284
+-66.26 48.908 3189
+-66.134 48.908 3189
+-66.008 48.908 3189
+-65.882 48.908 3241
+-65.756 48.908 3192
+-65.63 48.908 3192
+-65.504 48.908 3193
+-65.378 48.908 3419
+-65.252 48.908 3362
+-65.126 48.908 3363
+-128 48.856 4157
+-127.874 48.856 4069
+-127.748 48.856 4009
+-127.622 48.856 4125
+-127.496 48.856 4339
+-127.37 48.856 4491
+-127.244 48.856 4554
+-127.118 48.856 4532
+-126.992 48.856 4672
+-126.866 48.856 4809
+-126.74 48.856 4945
+-126.614 48.856 5057
+-126.488 48.856 5313
+-126.362 48.856 5549
+-126.236 48.856 5635
+-126.11 48.856 5696
+-125.984 48.856 5756
+-125.858 48.856 5824
+-125.732 48.856 5905
+-125.606 48.856 5965
+-125.48 48.856 6123
+-125.354 48.856 6278
+-125.228 48.856 6385
+-125.102 48.856 6458
+-124.976 48.856 6559
+-124.85 48.856 6705
+-124.724 48.856 6831
+-124.598 48.856 6911
+-124.472 48.856 6994
+-124.346 48.856 7073
+-124.22 48.856 7098
+-124.094 48.856 7207
+-123.968 48.856 7294
+-123.842 48.856 7310
+-123.716 48.856 7382
+-123.59 48.856 7412
+-123.464 48.856 7462
+-123.338 48.856 7483
+-123.212 48.856 7525
+-123.086 48.856 7547
+-122.96 48.856 7543
+-122.834 48.856 7556
+-122.708 48.856 7530
+-122.582 48.856 7514
+-122.456 48.856 7468
+-122.33 48.856 7437
+-122.204 48.856 7372
+-122.078 48.856 7343
+-121.952 48.856 7286
+-121.826 48.856 7157
+-121.7 48.856 7144
+-121.574 48.856 7054
+-121.448 48.856 7024
+-121.322 48.856 6859
+-121.196 48.856 6785
+-121.07 48.856 6631
+-120.944 48.856 6561
+-120.818 48.856 6442
+-120.692 48.856 6376
+-120.566 48.856 6227
+-120.44 48.856 6143
+-120.314 48.856 6081
+-120.188 48.856 5761
+-120.062 48.856 5887
+-119.936 48.856 5912
+-119.81 48.856 5979
+-119.684 48.856 6066
+-119.558 48.856 6089
+-119.432 48.856 6145
+-119.306 48.856 6222
+-119.18 48.856 6254
+-119.054 48.856 6270
+-118.928 48.856 6311
+-118.802 48.856 6346
+-118.676 48.856 6350
+-118.55 48.856 6358
+-118.424 48.856 6354
+-118.298 48.856 6362
+-118.172 48.856 6354
+-118.046 48.856 6330
+-117.92 48.856 6315
+-117.794 48.856 6289
+-117.668 48.856 6270
+-117.542 48.856 6268
+-117.416 48.856 6213
+-117.29 48.856 6183
+-117.164 48.856 6139
+-117.038 48.856 6067
+-116.912 48.856 6011
+-116.786 48.856 5945
+-116.66 48.856 5875
+-116.534 48.856 5795
+-116.408 48.856 5747
+-116.282 48.856 5714
+-116.156 48.856 5686
+-116.03 48.856 5581
+-115.904 48.856 5458
+-115.778 48.856 5325
+-115.652 48.856 5199
+-115.526 48.856 5066
+-115.4 48.856 4975
+-115.274 48.856 4952
+-115.148 48.856 4818
+-115.022 48.856 4679
+-114.896 48.856 4543
+-114.77 48.856 4496
+-114.644 48.856 4447
+-114.518 48.856 4358
+-114.392 48.856 4221
+-114.266 48.856 4081
+-114.14 48.856 3970
+-114.014 48.856 3860
+-113.888 48.856 3899
+-113.762 48.856 3860
+-113.636 48.856 3774
+-113.51 48.856 3656
+-113.384 48.856 3483
+-113.258 48.856 3217
+-113.132 48.856 3087
+-113.006 48.856 3151
+-112.88 48.856 3268
+-112.754 48.856 3322
+-112.628 48.856 3340
+-112.502 48.856 3349
+-112.376 48.856 3339
+-112.25 48.856 3249
+-112.124 48.856 3214
+-111.998 48.856 3179
+-111.872 48.856 3121
+-111.746 48.856 3090
+-111.62 48.856 3077
+-111.494 48.856 3072
+-111.368 48.856 3073
+-111.242 48.856 3078
+-111.116 48.856 3087
+-110.99 48.856 3069
+-110.864 48.856 3082
+-110.738 48.856 3096
+-110.612 48.856 3109
+-110.486 48.856 3089
+-110.36 48.856 3102
+-110.234 48.856 3115
+-110.108 48.856 3128
+-109.982 48.856 3127
+-109.856 48.856 3138
+-109.73 48.856 3148
+-109.604 48.856 3157
+-109.478 48.856 3151
+-109.352 48.856 3161
+-109.226 48.856 3170
+-109.1 48.856 3178
+-108.974 48.856 3171
+-108.848 48.856 3179
+-108.722 48.856 3187
+-108.596 48.856 3194
+-108.47 48.856 3201
+-108.344 48.856 3208
+-108.218 48.856 3214
+-108.092 48.856 3220
+-107.966 48.856 3225
+-107.84 48.856 3231
+-107.714 48.856 3236
+-107.588 48.856 3170
+-107.462 48.856 3160
+-107.336 48.856 3165
+-107.21 48.856 3170
+-107.084 48.856 3174
+-106.958 48.856 3178
+-106.832 48.856 3143
+-106.706 48.856 3141
+-106.58 48.856 3145
+-106.454 48.856 3150
+-106.328 48.856 3131
+-106.202 48.856 3135
+-106.076 48.856 3138
+-105.95 48.856 3142
+-105.824 48.856 3146
+-105.698 48.856 3149
+-105.572 48.856 3152
+-105.446 48.856 3155
+-105.32 48.856 3158
+-105.194 48.856 3161
+-105.068 48.856 3164
+-104.942 48.856 3167
+-104.816 48.856 3169
+-104.69 48.856 3172
+-104.564 48.856 3174
+-104.438 48.856 3145
+-104.312 48.856 3102
+-104.186 48.856 3104
+-104.06 48.856 3106
+-103.934 48.856 3108
+-103.808 48.856 3109
+-103.682 48.856 3111
+-103.556 48.856 3113
+-103.43 48.856 3114
+-103.304 48.856 3116
+-103.178 48.856 3117
+-103.052 48.856 3119
+-102.926 48.856 3120
+-102.8 48.856 3122
+-102.674 48.856 3123
+-102.548 48.856 3124
+-102.422 48.856 3099
+-102.296 48.856 3073
+-102.17 48.856 3074
+-102.044 48.856 2986
+-101.918 48.856 2946
+-101.792 48.856 2942
+-101.666 48.856 2879
+-101.54 48.856 2859
+-101.414 48.856 2817
+-101.288 48.856 2822
+-101.162 48.856 2824
+-101.036 48.856 2827
+-100.91 48.856 2836
+-100.784 48.856 2827
+-100.658 48.856 2799
+-100.532 48.856 2801
+-100.406 48.856 2845
+-100.28 48.856 2846
+-100.154 48.856 2915
+-100.028 48.856 2928
+-99.902 48.856 2955
+-99.776 48.856 2953
+-99.65 48.856 2952
+-99.524 48.856 2950
+-99.398 48.856 2949
+-99.272 48.856 2947
+-99.146 48.856 2945
+-99.02 48.856 2944
+-98.894 48.856 2942
+-98.768 48.856 2940
+-98.642 48.856 2939
+-98.516 48.856 2937
+-98.39 48.856 2935
+-98.264 48.856 2933
+-98.138 48.856 2932
+-98.012 48.856 2930
+-97.886 48.856 2928
+-97.76 48.856 2926
+-97.634 48.856 2807
+-97.508 48.856 2805
+-97.382 48.856 2790
+-97.256 48.856 2788
+-97.13 48.856 2786
+-97.004 48.856 2784
+-96.878 48.856 2782
+-96.752 48.856 2779
+-96.626 48.856 2777
+-96.5 48.856 2775
+-96.374 48.856 2772
+-96.248 48.856 2770
+-96.122 48.856 2767
+-95.996 48.856 2765
+-95.87 48.856 2762
+-95.744 48.856 2760
+-95.618 48.856 2757
+-95.492 48.856 2755
+-95.366 48.856 2752
+-95.24 48.856 2749
+-95.114 48.856 2747
+-94.988 48.856 2744
+-94.862 48.856 2741
+-94.736 48.856 2738
+-94.61 48.856 2736
+-94.484 48.856 2733
+-94.358 48.856 2730
+-94.232 48.856 2727
+-94.106 48.856 2725
+-93.98 48.856 2722
+-93.854 48.856 2719
+-93.728 48.856 2716
+-93.602 48.856 2714
+-93.476 48.856 2711
+-93.35 48.856 2708
+-93.224 48.856 2706
+-93.098 48.856 2703
+-92.972 48.856 2700
+-92.846 48.856 2698
+-92.72 48.856 2696
+-92.594 48.856 2693
+-92.468 48.856 2691
+-92.342 48.856 2689
+-92.216 48.856 2687
+-92.09 48.856 2684
+-91.964 48.856 2682
+-91.838 48.856 2681
+-91.712 48.856 2679
+-91.586 48.856 2677
+-91.46 48.856 2675
+-91.334 48.856 2674
+-91.208 48.856 2673
+-91.082 48.856 2671
+-90.956 48.856 2670
+-90.83 48.856 2669
+-90.704 48.856 2668
+-90.578 48.856 2667
+-90.452 48.856 2667
+-90.326 48.856 2622
+-90.2 48.856 2621
+-90.074 48.856 2621
+-89.948 48.856 2620
+-89.822 48.856 2620
+-89.696 48.856 2620
+-89.57 48.856 2620
+-89.444 48.856 2619
+-89.318 48.856 2619
+-89.192 48.856 2619
+-89.066 48.856 2620
+-88.94 48.856 2620
+-88.814 48.856 2620
+-88.688 48.856 2620
+-88.562 48.856 2621
+-88.436 48.856 2621
+-88.31 48.856 2622
+-88.184 48.856 2622
+-88.058 48.856 2623
+-87.932 48.856 2623
+-87.806 48.856 2624
+-87.68 48.856 2624
+-87.554 48.856 2625
+-87.428 48.856 2626
+-87.302 48.856 2627
+-87.176 48.856 2627
+-87.05 48.856 2628
+-86.924 48.856 2629
+-86.798 48.856 2629
+-86.672 48.856 2630
+-86.546 48.856 2631
+-86.42 48.856 2632
+-86.294 48.856 2633
+-86.168 48.856 2633
+-86.042 48.856 2634
+-85.916 48.856 2635
+-85.79 48.856 2636
+-85.664 48.856 2636
+-85.538 48.856 2637
+-85.412 48.856 2638
+-85.286 48.856 2639
+-85.16 48.856 2639
+-85.034 48.856 2640
+-84.908 48.856 2641
+-84.782 48.856 2642
+-84.656 48.856 2642
+-84.53 48.856 2643
+-84.404 48.856 2644
+-84.278 48.856 2645
+-84.152 48.856 2645
+-84.026 48.856 2646
+-83.9 48.856 2647
+-83.774 48.856 2648
+-83.648 48.856 2648
+-83.522 48.856 2649
+-83.396 48.856 2650
+-83.27 48.856 2650
+-83.144 48.856 2651
+-83.018 48.856 2652
+-82.892 48.856 2653
+-82.766 48.856 2653
+-82.64 48.856 2654
+-82.514 48.856 2655
+-82.388 48.856 2655
+-82.262 48.856 2656
+-82.136 48.856 2657
+-82.01 48.856 2658
+-81.884 48.856 2658
+-81.758 48.856 2669
+-81.632 48.856 2670
+-81.506 48.856 2671
+-81.38 48.856 2672
+-81.254 48.856 2561
+-81.128 48.856 2561
+-81.002 48.856 2561
+-80.876 48.856 2562
+-80.75 48.856 2562
+-80.624 48.856 2563
+-80.498 48.856 2563
+-80.372 48.856 2563
+-80.246 48.856 2564
+-80.12 48.856 2564
+-79.994 48.856 2571
+-79.868 48.856 2579
+-79.742 48.856 2579
+-79.616 48.856 2580
+-79.49 48.856 2580
+-79.364 48.856 2599
+-79.238 48.856 2599
+-79.112 48.856 2600
+-78.986 48.856 2600
+-78.86 48.856 2604
+-78.734 48.856 2734
+-78.608 48.856 2734
+-78.482 48.856 2734
+-78.356 48.856 2741
+-78.23 48.856 2741
+-78.104 48.856 2742
+-77.978 48.856 2760
+-77.852 48.856 2740
+-77.726 48.856 2755
+-77.6 48.856 2756
+-77.474 48.856 2751
+-77.348 48.856 2751
+-77.222 48.856 2752
+-77.096 48.856 2752
+-76.97 48.856 2754
+-76.844 48.856 2843
+-76.718 48.856 2843
+-76.592 48.856 2844
+-76.466 48.856 2844
+-76.34 48.856 2864
+-76.214 48.856 2864
+-76.088 48.856 2843
+-75.962 48.856 2844
+-75.836 48.856 2844
+-75.71 48.856 2845
+-75.584 48.856 2815
+-75.458 48.856 2825
+-75.332 48.856 2826
+-75.206 48.856 2955
+-75.08 48.856 2913
+-74.954 48.856 2914
+-74.828 48.856 3055
+-74.702 48.856 3052
+-74.576 48.856 3012
+-74.45 48.856 3078
+-74.324 48.856 2963
+-74.198 48.856 2996
+-74.072 48.856 3052
+-73.946 48.856 2946
+-73.82 48.856 2953
+-73.694 48.856 2856
+-73.568 48.856 2852
+-73.442 48.856 2869
+-73.316 48.856 2839
+-73.19 48.856 2839
+-73.064 48.856 2840
+-72.938 48.856 2777
+-72.812 48.856 2822
+-72.686 48.856 2813
+-72.56 48.856 2802
+-72.434 48.856 2803
+-72.308 48.856 2803
+-72.182 48.856 2804
+-72.056 48.856 2742
+-71.93 48.856 2736
+-71.804 48.856 2737
+-71.678 48.856 2738
+-71.552 48.856 2738
+-71.426 48.856 2734
+-71.3 48.856 2677
+-71.174 48.856 2783
+-71.048 48.856 2778
+-70.922 48.856 2785
+-70.796 48.856 2785
+-70.67 48.856 2786
+-70.544 48.856 2786
+-70.418 48.856 2813
+-70.292 48.856 2789
+-70.166 48.856 2858
+-70.04 48.856 2858
+-69.914 48.856 2848
+-69.788 48.856 2856
+-69.662 48.856 2857
+-69.536 48.856 2858
+-69.41 48.856 2844
+-69.284 48.856 2961
+-69.158 48.856 2962
+-69.032 48.856 2962
+-68.906 48.856 2963
+-68.78 48.856 3062
+-68.654 48.856 3014
+-68.528 48.856 3162
+-68.402 48.856 3163
+-68.276 48.856 3124
+-68.15 48.856 3124
+-68.024 48.856 3124
+-67.898 48.856 3125
+-67.772 48.856 3125
+-67.646 48.856 3125
+-67.52 48.856 3227
+-67.394 48.856 3222
+-67.268 48.856 3222
+-67.142 48.856 3223
+-67.016 48.856 3223
+-66.89 48.856 3163
+-66.764 48.856 3202
+-66.638 48.856 3203
+-66.512 48.856 3284
+-66.386 48.856 3188
+-66.26 48.856 3189
+-66.134 48.856 3189
+-66.008 48.856 3240
+-65.882 48.856 3191
+-65.756 48.856 3192
+-65.63 48.856 3192
+-65.504 48.856 3419
+-65.378 48.856 3362
+-65.252 48.856 3362
+-65.126 48.856 3497
+-128 48.804 4211
+-127.874 48.804 4149
+-127.748 48.804 4126
+-127.622 48.804 4239
+-127.496 48.804 4401
+-127.37 48.804 4509
+-127.244 48.804 4552
+-127.118 48.804 4637
+-126.992 48.804 4760
+-126.866 48.804 4847
+-126.74 48.804 4973
+-126.614 48.804 5071
+-126.488 48.804 5354
+-126.362 48.804 5569
+-126.236 48.804 5630
+-126.11 48.804 5572
+-125.984 48.804 5757
+-125.858 48.804 5794
+-125.732 48.804 5991
+-125.606 48.804 5975
+-125.48 48.804 6157
+-125.354 48.804 6323
+-125.228 48.804 6425
+-125.102 48.804 6551
+-124.976 48.804 6606
+-124.85 48.804 6763
+-124.724 48.804 6891
+-124.598 48.804 6959
+-124.472 48.804 7019
+-124.346 48.804 7048
+-124.22 48.804 7167
+-124.094 48.804 7245
+-123.968 48.804 7318
+-123.842 48.804 7417
+-123.716 48.804 7493
+-123.59 48.804 7501
+-123.464 48.804 7556
+-123.338 48.804 7573
+-123.212 48.804 7602
+-123.086 48.804 7635
+-122.96 48.804 7609
+-122.834 48.804 7611
+-122.708 48.804 7607
+-122.582 48.804 7570
+-122.456 48.804 7569
+-122.33 48.804 7511
+-122.204 48.804 7451
+-122.078 48.804 7389
+-121.952 48.804 7356
+-121.826 48.804 7232
+-121.7 48.804 7188
+-121.574 48.804 7111
+-121.448 48.804 7005
+-121.322 48.804 6933
+-121.196 48.804 6820
+-121.07 48.804 6698
+-120.944 48.804 6565
+-120.818 48.804 6447
+-120.692 48.804 6413
+-120.566 48.804 6364
+-120.44 48.804 6176
+-120.314 48.804 6143
+-120.188 48.804 5834
+-120.062 48.804 5906
+-119.936 48.804 5979
+-119.81 48.804 6068
+-119.684 48.804 6119
+-119.558 48.804 6158
+-119.432 48.804 6187
+-119.306 48.804 6253
+-119.18 48.804 6268
+-119.054 48.804 6320
+-118.928 48.804 6338
+-118.802 48.804 6368
+-118.676 48.804 6382
+-118.55 48.804 6391
+-118.424 48.804 6407
+-118.298 48.804 6401
+-118.172 48.804 6398
+-118.046 48.804 6397
+-117.92 48.804 6363
+-117.794 48.804 6354
+-117.668 48.804 6335
+-117.542 48.804 6306
+-117.416 48.804 6263
+-117.29 48.804 6188
+-117.164 48.804 6173
+-117.038 48.804 6138
+-116.912 48.804 6038
+-116.786 48.804 5956
+-116.66 48.804 5898
+-116.534 48.804 5827
+-116.408 48.804 5730
+-116.282 48.804 5661
+-116.156 48.804 5701
+-116.03 48.804 5606
+-115.904 48.804 5477
+-115.778 48.804 5364
+-115.652 48.804 5294
+-115.526 48.804 5138
+-115.4 48.804 5034
+-115.274 48.804 4993
+-115.148 48.804 4868
+-115.022 48.804 4699
+-114.896 48.804 4567
+-114.77 48.804 4488
+-114.644 48.804 4440
+-114.518 48.804 4361
+-114.392 48.804 4258
+-114.266 48.804 4144
+-114.14 48.804 4038
+-114.014 48.804 3945
+-113.888 48.804 3922
+-113.762 48.804 3875
+-113.636 48.804 3803
+-113.51 48.804 3717
+-113.384 48.804 3573
+-113.258 48.804 3408
+-113.132 48.804 3318
+-113.006 48.804 3316
+-112.88 48.804 3357
+-112.754 48.804 3373
+-112.628 48.804 3387
+-112.502 48.804 3345
+-112.376 48.804 3319
+-112.25 48.804 3282
+-112.124 48.804 3163
+-111.998 48.804 3113
+-111.872 48.804 3051
+-111.746 48.804 3030
+-111.62 48.804 3019
+-111.494 48.804 3018
+-111.368 48.804 3024
+-111.242 48.804 3036
+-111.116 48.804 3022
+-110.99 48.804 3040
+-110.864 48.804 3058
+-110.738 48.804 3076
+-110.612 48.804 3059
+-110.486 48.804 3076
+-110.36 48.804 3092
+-110.234 48.804 3107
+-110.108 48.804 3109
+-109.982 48.804 3122
+-109.856 48.804 3134
+-109.73 48.804 3145
+-109.604 48.804 3140
+-109.478 48.804 3151
+-109.352 48.804 3161
+-109.226 48.804 3170
+-109.1 48.804 3164
+-108.974 48.804 3173
+-108.848 48.804 3181
+-108.722 48.804 3189
+-108.596 48.804 3196
+-108.47 48.804 3203
+-108.344 48.804 3210
+-108.218 48.804 3216
+-108.092 48.804 3222
+-107.966 48.804 3228
+-107.84 48.804 3233
+-107.714 48.804 3168
+-107.588 48.804 3158
+-107.462 48.804 3163
+-107.336 48.804 3168
+-107.21 48.804 3172
+-107.084 48.804 3177
+-106.958 48.804 3142
+-106.832 48.804 3139
+-106.706 48.804 3144
+-106.58 48.804 3149
+-106.454 48.804 3130
+-106.328 48.804 3134
+-106.202 48.804 3138
+-106.076 48.804 3142
+-105.95 48.804 3145
+-105.824 48.804 3149
+-105.698 48.804 3152
+-105.572 48.804 3155
+-105.446 48.804 3158
+-105.32 48.804 3161
+-105.194 48.804 3164
+-105.068 48.804 3167
+-104.942 48.804 3169
+-104.816 48.804 3172
+-104.69 48.804 3174
+-104.564 48.804 3145
+-104.438 48.804 3102
+-104.312 48.804 3104
+-104.186 48.804 3106
+-104.06 48.804 3108
+-103.934 48.804 3109
+-103.808 48.804 3111
+-103.682 48.804 3113
+-103.556 48.804 3115
+-103.43 48.804 3116
+-103.304 48.804 3118
+-103.178 48.804 3119
+-103.052 48.804 3121
+-102.926 48.804 3122
+-102.8 48.804 3123
+-102.674 48.804 3125
+-102.548 48.804 3126
+-102.422 48.804 3086
+-102.296 48.804 3074
+-102.17 48.804 3075
+-102.044 48.804 3053
+-101.918 48.804 2944
+-101.792 48.804 2879
+-101.666 48.804 2880
+-101.54 48.804 2860
+-101.414 48.804 2828
+-101.288 48.804 2823
+-101.162 48.804 2826
+-101.036 48.804 2834
+-100.91 48.804 2826
+-100.784 48.804 2862
+-100.658 48.804 2906
+-100.532 48.804 2897
+-100.406 48.804 2858
+-100.28 48.804 2929
+-100.154 48.804 2929
+-100.028 48.804 2985
+-99.902 48.804 2968
+-99.776 48.804 2953
+-99.65 48.804 2952
+-99.524 48.804 2950
+-99.398 48.804 2949
+-99.272 48.804 2947
+-99.146 48.804 2946
+-99.02 48.804 2944
+-98.894 48.804 2942
+-98.768 48.804 2941
+-98.642 48.804 2939
+-98.516 48.804 2937
+-98.39 48.804 2935
+-98.264 48.804 2933
+-98.138 48.804 2931
+-98.012 48.804 2929
+-97.886 48.804 2928
+-97.76 48.804 2925
+-97.634 48.804 2923
+-97.508 48.804 2805
+-97.382 48.804 2803
+-97.256 48.804 2788
+-97.13 48.804 2786
+-97.004 48.804 2784
+-96.878 48.804 2782
+-96.752 48.804 2779
+-96.626 48.804 2777
+-96.5 48.804 2774
+-96.374 48.804 2772
+-96.248 48.804 2770
+-96.122 48.804 2767
+-95.996 48.804 2764
+-95.87 48.804 2762
+-95.744 48.804 2759
+-95.618 48.804 2757
+-95.492 48.804 2754
+-95.366 48.804 2751
+-95.24 48.804 2748
+-95.114 48.804 2746
+-94.988 48.804 2743
+-94.862 48.804 2740
+-94.736 48.804 2737
+-94.61 48.804 2734
+-94.484 48.804 2731
+-94.358 48.804 2729
+-94.232 48.804 2726
+-94.106 48.804 2723
+-93.98 48.804 2720
+-93.854 48.804 2717
+-93.728 48.804 2714
+-93.602 48.804 2711
+-93.476 48.804 2709
+-93.35 48.804 2706
+-93.224 48.804 2703
+-93.098 48.804 2700
+-92.972 48.804 2698
+-92.846 48.804 2695
+-92.72 48.804 2693
+-92.594 48.804 2690
+-92.468 48.804 2688
+-92.342 48.804 2686
+-92.216 48.804 2683
+-92.09 48.804 2681
+-91.964 48.804 2679
+-91.838 48.804 2677
+-91.712 48.804 2675
+-91.586 48.804 2674
+-91.46 48.804 2672
+-91.334 48.804 2670
+-91.208 48.804 2669
+-91.082 48.804 2668
+-90.956 48.804 2666
+-90.83 48.804 2665
+-90.704 48.804 2664
+-90.578 48.804 2663
+-90.452 48.804 2663
+-90.326 48.804 2618
+-90.2 48.804 2618
+-90.074 48.804 2617
+-89.948 48.804 2617
+-89.822 48.804 2617
+-89.696 48.804 2616
+-89.57 48.804 2616
+-89.444 48.804 2616
+-89.318 48.804 2616
+-89.192 48.804 2616
+-89.066 48.804 2616
+-88.94 48.804 2617
+-88.814 48.804 2617
+-88.688 48.804 2617
+-88.562 48.804 2618
+-88.436 48.804 2618
+-88.31 48.804 2619
+-88.184 48.804 2619
+-88.058 48.804 2620
+-87.932 48.804 2621
+-87.806 48.804 2621
+-87.68 48.804 2622
+-87.554 48.804 2623
+-87.428 48.804 2623
+-87.302 48.804 2624
+-87.176 48.804 2625
+-87.05 48.804 2626
+-86.924 48.804 2627
+-86.798 48.804 2627
+-86.672 48.804 2628
+-86.546 48.804 2629
+-86.42 48.804 2630
+-86.294 48.804 2631
+-86.168 48.804 2631
+-86.042 48.804 2632
+-85.916 48.804 2633
+-85.79 48.804 2634
+-85.664 48.804 2635
+-85.538 48.804 2635
+-85.412 48.804 2636
+-85.286 48.804 2637
+-85.16 48.804 2638
+-85.034 48.804 2639
+-84.908 48.804 2639
+-84.782 48.804 2640
+-84.656 48.804 2641
+-84.53 48.804 2642
+-84.404 48.804 2643
+-84.278 48.804 2643
+-84.152 48.804 2644
+-84.026 48.804 2645
+-83.9 48.804 2646
+-83.774 48.804 2646
+-83.648 48.804 2647
+-83.522 48.804 2648
+-83.396 48.804 2648
+-83.27 48.804 2649
+-83.144 48.804 2650
+-83.018 48.804 2651
+-82.892 48.804 2651
+-82.766 48.804 2652
+-82.64 48.804 2653
+-82.514 48.804 2654
+-82.388 48.804 2654
+-82.262 48.804 2655
+-82.136 48.804 2656
+-82.01 48.804 2656
+-81.884 48.804 2668
+-81.758 48.804 2668
+-81.632 48.804 2669
+-81.506 48.804 2670
+-81.38 48.804 2559
+-81.254 48.804 2560
+-81.128 48.804 2560
+-81.002 48.804 2560
+-80.876 48.804 2561
+-80.75 48.804 2561
+-80.624 48.804 2562
+-80.498 48.804 2562
+-80.372 48.804 2562
+-80.246 48.804 2563
+-80.12 48.804 2569
+-79.994 48.804 2578
+-79.868 48.804 2578
+-79.742 48.804 2579
+-79.616 48.804 2579
+-79.49 48.804 2598
+-79.364 48.804 2598
+-79.238 48.804 2599
+-79.112 48.804 2599
+-78.986 48.804 2603
+-78.86 48.804 2732
+-78.734 48.804 2732
+-78.608 48.804 2733
+-78.482 48.804 2740
+-78.356 48.804 2740
+-78.23 48.804 2741
+-78.104 48.804 2759
+-77.978 48.804 2739
+-77.852 48.804 2754
+-77.726 48.804 2754
+-77.6 48.804 2750
+-77.474 48.804 2750
+-77.348 48.804 2751
+-77.222 48.804 2751
+-77.096 48.804 2753
+-76.97 48.804 2841
+-76.844 48.804 2842
+-76.718 48.804 2842
+-76.592 48.804 2843
+-76.466 48.804 2862
+-76.34 48.804 2863
+-76.214 48.804 2842
+-76.088 48.804 2842
+-75.962 48.804 2843
+-75.836 48.804 2844
+-75.71 48.804 2814
+-75.584 48.804 2824
+-75.458 48.804 2825
+-75.332 48.804 2953
+-75.206 48.804 2912
+-75.08 48.804 2913
+-74.954 48.804 3054
+-74.828 48.804 3050
+-74.702 48.804 3010
+-74.576 48.804 3077
+-74.45 48.804 2962
+-74.324 48.804 2994
+-74.198 48.804 3051
+-74.072 48.804 2945
+-73.946 48.804 2952
+-73.82 48.804 2854
+-73.694 48.804 2851
+-73.568 48.804 2868
+-73.442 48.804 2838
+-73.316 48.804 2838
+-73.19 48.804 2839
+-73.064 48.804 2776
+-72.938 48.804 2821
+-72.812 48.804 2812
+-72.686 48.804 2801
+-72.56 48.804 2802
+-72.434 48.804 2802
+-72.308 48.804 2803
+-72.182 48.804 2741
+-72.056 48.804 2736
+-71.93 48.804 2736
+-71.804 48.804 2737
+-71.678 48.804 2738
+-71.552 48.804 2734
+-71.426 48.804 2677
+-71.3 48.804 2783
+-71.174 48.804 2778
+-71.048 48.804 2784
+-70.922 48.804 2785
+-70.796 48.804 2785
+-70.67 48.804 2786
+-70.544 48.804 2812
+-70.418 48.804 2789
+-70.292 48.804 2857
+-70.166 48.804 2858
+-70.04 48.804 2848
+-69.914 48.804 2856
+-69.788 48.804 2856
+-69.662 48.804 2857
+-69.536 48.804 2844
+-69.41 48.804 2960
+-69.284 48.804 2961
+-69.158 48.804 2962
+-69.032 48.804 2962
+-68.906 48.804 3062
+-68.78 48.804 3013
+-68.654 48.804 3162
+-68.528 48.804 3162
+-68.402 48.804 3123
+-68.276 48.804 3124
+-68.15 48.804 3124
+-68.024 48.804 3124
+-67.898 48.804 3125
+-67.772 48.804 3125
+-67.646 48.804 3227
+-67.52 48.804 3221
+-67.394 48.804 3222
+-67.268 48.804 3222
+-67.142 48.804 3223
+-67.016 48.804 3163
+-66.89 48.804 3202
+-66.764 48.804 3202
+-66.638 48.804 3283
+-66.512 48.804 3188
+-66.386 48.804 3188
+-66.26 48.804 3189
+-66.134 48.804 3240
+-66.008 48.804 3191
+-65.882 48.804 3191
+-65.756 48.804 3192
+-65.63 48.804 3419
+-65.504 48.804 3362
+-65.378 48.804 3362
+-65.252 48.804 3497
+-65.126 48.804 3468
+-128 48.752 4278
+-127.874 48.752 4262
+-127.748 48.752 4278
+-127.622 48.752 4357
+-127.496 48.752 4452
+-127.37 48.752 4520
+-127.244 48.752 4460
+-127.118 48.752 4647
+-126.992 48.752 4746
+-126.866 48.752 4856
+-126.74 48.752 4978
+-126.614 48.752 5128
+-126.488 48.752 5408
+-126.362 48.752 5554
+-126.236 48.752 5574
+-126.11 48.752 5692
+-125.984 48.752 5782
+-125.858 48.752 5887
+-125.732 48.752 5907
+-125.606 48.752 6025
+-125.48 48.752 6194
+-125.354 48.752 6378
+-125.228 48.752 6391
+-125.102 48.752 6550
+-124.976 48.752 6674
+-124.85 48.752 6783
+-124.724 48.752 6905
+-124.598 48.752 7014
+-124.472 48.752 7078
+-124.346 48.752 7141
+-124.22 48.752 7221
+-124.094 48.752 7322
+-123.968 48.752 7370
+-123.842 48.752 7431
+-123.716 48.752 7517
+-123.59 48.752 7553
+-123.464 48.752 7592
+-123.338 48.752 7616
+-123.212 48.752 7642
+-123.086 48.752 7663
+-122.96 48.752 7653
+-122.834 48.752 7669
+-122.708 48.752 7642
+-122.582 48.752 7623
+-122.456 48.752 7595
+-122.33 48.752 7544
+-122.204 48.752 7538
+-122.078 48.752 7427
+-121.952 48.752 7356
+-121.826 48.752 7299
+-121.7 48.752 7227
+-121.574 48.752 7152
+-121.448 48.752 7102
+-121.322 48.752 6988
+-121.196 48.752 6904
+-121.07 48.752 6766
+-120.944 48.752 6630
+-120.818 48.752 6482
+-120.692 48.752 6419
+-120.566 48.752 6326
+-120.44 48.752 6202
+-120.314 48.752 6175
+-120.188 48.752 6051
+-120.062 48.752 5988
+-119.936 48.752 6017
+-119.81 48.752 6116
+-119.684 48.752 6191
+-119.558 48.752 6214
+-119.432 48.752 6258
+-119.306 48.752 6284
+-119.18 48.752 6347
+-119.054 48.752 6354
+-118.928 48.752 6400
+-118.802 48.752 6413
+-118.676 48.752 6441
+-118.55 48.752 6459
+-118.424 48.752 6468
+-118.298 48.752 6456
+-118.172 48.752 6467
+-118.046 48.752 6467
+-117.92 48.752 6443
+-117.794 48.752 6406
+-117.668 48.752 6396
+-117.542 48.752 6341
+-117.416 48.752 6319
+-117.29 48.752 6249
+-117.164 48.752 6214
+-117.038 48.752 6165
+-116.912 48.752 6110
+-116.786 48.752 6008
+-116.66 48.752 5929
+-116.534 48.752 5862
+-116.408 48.752 5839
+-116.282 48.752 5766
+-116.156 48.752 5724
+-116.03 48.752 5620
+-115.904 48.752 5459
+-115.778 48.752 5331
+-115.652 48.752 5340
+-115.526 48.752 5173
+-115.4 48.752 5027
+-115.274 48.752 5020
+-115.148 48.752 4896
+-115.022 48.752 4746
+-114.896 48.752 4601
+-114.77 48.752 4486
+-114.644 48.752 4408
+-114.518 48.752 4400
+-114.392 48.752 4262
+-114.266 48.752 4145
+-114.14 48.752 4115
+-114.014 48.752 4018
+-113.888 48.752 3941
+-113.762 48.752 3860
+-113.636 48.752 3789
+-113.51 48.752 3741
+-113.384 48.752 3661
+-113.258 48.752 3549
+-113.132 48.752 3483
+-113.006 48.752 3450
+-112.88 48.752 3424
+-112.754 48.752 3418
+-112.628 48.752 3402
+-112.502 48.752 3369
+-112.376 48.752 3288
+-112.25 48.752 3191
+-112.124 48.752 3117
+-111.998 48.752 3066
+-111.872 48.752 3025
+-111.746 48.752 2949
+-111.62 48.752 2943
+-111.494 48.752 2950
+-111.368 48.752 2965
+-111.242 48.752 2959
+-111.116 48.752 2983
+-110.99 48.752 3008
+-110.864 48.752 3032
+-110.738 48.752 3021
+-110.612 48.752 3043
+-110.486 48.752 3064
+-110.36 48.752 3083
+-110.234 48.752 3088
+-110.108 48.752 3103
+-109.982 48.752 3117
+-109.856 48.752 3130
+-109.73 48.752 3127
+-109.604 48.752 3139
+-109.478 48.752 3150
+-109.352 48.752 3161
+-109.226 48.752 3156
+-109.1 48.752 3165
+-108.974 48.752 3174
+-108.848 48.752 3183
+-108.722 48.752 3191
+-108.596 48.752 3199
+-108.47 48.752 3206
+-108.344 48.752 3213
+-108.218 48.752 3219
+-108.092 48.752 3225
+-107.966 48.752 3231
+-107.84 48.752 3165
+-107.714 48.752 3156
+-107.588 48.752 3161
+-107.462 48.752 3166
+-107.336 48.752 3171
+-107.21 48.752 3175
+-107.084 48.752 3140
+-106.958 48.752 3138
+-106.832 48.752 3143
+-106.706 48.752 3148
+-106.58 48.752 3129
+-106.454 48.752 3133
+-106.328 48.752 3137
+-106.202 48.752 3141
+-106.076 48.752 3145
+-105.95 48.752 3148
+-105.824 48.752 3152
+-105.698 48.752 3155
+-105.572 48.752 3158
+-105.446 48.752 3161
+-105.32 48.752 3164
+-105.194 48.752 3167
+-105.068 48.752 3170
+-104.942 48.752 3172
+-104.816 48.752 3175
+-104.69 48.752 3145
+-104.564 48.752 3102
+-104.438 48.752 3104
+-104.312 48.752 3106
+-104.186 48.752 3108
+-104.06 48.752 3110
+-103.934 48.752 3111
+-103.808 48.752 3113
+-103.682 48.752 3115
+-103.556 48.752 3116
+-103.43 48.752 3118
+-103.304 48.752 3119
+-103.178 48.752 3121
+-103.052 48.752 3122
+-102.926 48.752 3124
+-102.8 48.752 3125
+-102.674 48.752 3126
+-102.548 48.752 3086
+-102.422 48.752 3087
+-102.296 48.752 3076
+-102.17 48.752 3073
+-102.044 48.752 3040
+-101.918 48.752 2880
+-101.792 48.752 2880
+-101.666 48.752 2870
+-101.54 48.752 2870
+-101.414 48.752 2877
+-101.288 48.752 2829
+-101.162 48.752 2832
+-101.036 48.752 2824
+-100.91 48.752 2860
+-100.784 48.752 2904
+-100.658 48.752 2915
+-100.532 48.752 2906
+-100.406 48.752 2900
+-100.28 48.752 2931
+-100.154 48.752 2989
+-100.028 48.752 2988
+-99.902 48.752 2984
+-99.776 48.752 2966
+-99.65 48.752 2952
+-99.524 48.752 2951
+-99.398 48.752 2949
+-99.272 48.752 2947
+-99.146 48.752 2946
+-99.02 48.752 2944
+-98.894 48.752 2942
+-98.768 48.752 2941
+-98.642 48.752 2939
+-98.516 48.752 2937
+-98.39 48.752 2935
+-98.264 48.752 2933
+-98.138 48.752 2931
+-98.012 48.752 2929
+-97.886 48.752 2927
+-97.76 48.752 2925
+-97.634 48.752 2923
+-97.508 48.752 2921
+-97.382 48.752 2803
+-97.256 48.752 2801
+-97.13 48.752 2786
+-97.004 48.752 2784
+-96.878 48.752 2782
+-96.752 48.752 2779
+-96.626 48.752 2777
+-96.5 48.752 2774
+-96.374 48.752 2772
+-96.248 48.752 2769
+-96.122 48.752 2767
+-95.996 48.752 2764
+-95.87 48.752 2761
+-95.744 48.752 2759
+-95.618 48.752 2756
+-95.492 48.752 2753
+-95.366 48.752 2750
+-95.24 48.752 2748
+-95.114 48.752 2745
+-94.988 48.752 2742
+-94.862 48.752 2739
+-94.736 48.752 2736
+-94.61 48.752 2733
+-94.484 48.752 2730
+-94.358 48.752 2727
+-94.232 48.752 2724
+-94.106 48.752 2721
+-93.98 48.752 2718
+-93.854 48.752 2715
+-93.728 48.752 2712
+-93.602 48.752 2709
+-93.476 48.752 2706
+-93.35 48.752 2703
+-93.224 48.752 2701
+-93.098 48.752 2698
+-92.972 48.752 2695
+-92.846 48.752 2692
+-92.72 48.752 2690
+-92.594 48.752 2687
+-92.468 48.752 2685
+-92.342 48.752 2682
+-92.216 48.752 2680
+-92.09 48.752 2678
+-91.964 48.752 2676
+-91.838 48.752 2674
+-91.712 48.752 2672
+-91.586 48.752 2670
+-91.46 48.752 2668
+-91.334 48.752 2667
+-91.208 48.752 2665
+-91.082 48.752 2664
+-90.956 48.752 2662
+-90.83 48.752 2661
+-90.704 48.752 2660
+-90.578 48.752 2660
+-90.452 48.752 2659
+-90.326 48.752 2615
+-90.2 48.752 2614
+-90.074 48.752 2614
+-89.948 48.752 2613
+-89.822 48.752 2613
+-89.696 48.752 2613
+-89.57 48.752 2613
+-89.444 48.752 2613
+-89.318 48.752 2613
+-89.192 48.752 2613
+-89.066 48.752 2613
+-88.94 48.752 2613
+-88.814 48.752 2614
+-88.688 48.752 2614
+-88.562 48.752 2615
+-88.436 48.752 2615
+-88.31 48.752 2616
+-88.184 48.752 2616
+-88.058 48.752 2617
+-87.932 48.752 2618
+-87.806 48.752 2619
+-87.68 48.752 2619
+-87.554 48.752 2620
+-87.428 48.752 2621
+-87.302 48.752 2622
+-87.176 48.752 2623
+-87.05 48.752 2623
+-86.924 48.752 2624
+-86.798 48.752 2625
+-86.672 48.752 2626
+-86.546 48.752 2627
+-86.42 48.752 2628
+-86.294 48.752 2629
+-86.168 48.752 2629
+-86.042 48.752 2630
+-85.916 48.752 2631
+-85.79 48.752 2632
+-85.664 48.752 2633
+-85.538 48.752 2634
+-85.412 48.752 2635
+-85.286 48.752 2635
+-85.16 48.752 2636
+-85.034 48.752 2637
+-84.908 48.752 2638
+-84.782 48.752 2639
+-84.656 48.752 2639
+-84.53 48.752 2640
+-84.404 48.752 2641
+-84.278 48.752 2642
+-84.152 48.752 2643
+-84.026 48.752 2643
+-83.9 48.752 2644
+-83.774 48.752 2645
+-83.648 48.752 2646
+-83.522 48.752 2646
+-83.396 48.752 2647
+-83.27 48.752 2648
+-83.144 48.752 2649
+-83.018 48.752 2649
+-82.892 48.752 2650
+-82.766 48.752 2651
+-82.64 48.752 2652
+-82.514 48.752 2652
+-82.388 48.752 2653
+-82.262 48.752 2654
+-82.136 48.752 2655
+-82.01 48.752 2666
+-81.884 48.752 2666
+-81.758 48.752 2667
+-81.632 48.752 2668
+-81.506 48.752 2558
+-81.38 48.752 2558
+-81.254 48.752 2559
+-81.128 48.752 2559
+-81.002 48.752 2559
+-80.876 48.752 2560
+-80.75 48.752 2560
+-80.624 48.752 2561
+-80.498 48.752 2561
+-80.372 48.752 2561
+-80.246 48.752 2568
+-80.12 48.752 2576
+-79.994 48.752 2577
+-79.868 48.752 2577
+-79.742 48.752 2578
+-79.616 48.752 2596
+-79.49 48.752 2597
+-79.364 48.752 2597
+-79.238 48.752 2598
+-79.112 48.752 2601
+-78.986 48.752 2731
+-78.86 48.752 2731
+-78.734 48.752 2731
+-78.608 48.752 2738
+-78.482 48.752 2739
+-78.356 48.752 2739
+-78.23 48.752 2757
+-78.104 48.752 2738
+-77.978 48.752 2752
+-77.852 48.752 2753
+-77.726 48.752 2748
+-77.6 48.752 2749
+-77.474 48.752 2749
+-77.348 48.752 2750
+-77.222 48.752 2752
+-77.096 48.752 2840
+-76.97 48.752 2840
+-76.844 48.752 2841
+-76.718 48.752 2842
+-76.592 48.752 2861
+-76.466 48.752 2861
+-76.34 48.752 2840
+-76.214 48.752 2841
+-76.088 48.752 2842
+-75.962 48.752 2842
+-75.836 48.752 2813
+-75.71 48.752 2823
+-75.584 48.752 2824
+-75.458 48.752 2952
+-75.332 48.752 2911
+-75.206 48.752 2912
+-75.08 48.752 3052
+-74.954 48.752 3049
+-74.828 48.752 3009
+-74.702 48.752 3075
+-74.576 48.752 2961
+-74.45 48.752 2993
+-74.324 48.752 3049
+-74.198 48.752 2943
+-74.072 48.752 2951
+-73.946 48.752 2853
+-73.82 48.752 2849
+-73.694 48.752 2867
+-73.568 48.752 2836
+-73.442 48.752 2837
+-73.316 48.752 2838
+-73.19 48.752 2775
+-73.064 48.752 2820
+-72.938 48.752 2811
+-72.812 48.752 2800
+-72.686 48.752 2801
+-72.56 48.752 2802
+-72.434 48.752 2802
+-72.308 48.752 2740
+-72.182 48.752 2735
+-72.056 48.752 2736
+-71.93 48.752 2736
+-71.804 48.752 2737
+-71.678 48.752 2733
+-71.552 48.752 2676
+-71.426 48.752 2782
+-71.3 48.752 2777
+-71.174 48.752 2783
+-71.048 48.752 2784
+-70.922 48.752 2785
+-70.796 48.752 2785
+-70.67 48.752 2812
+-70.544 48.752 2788
+-70.418 48.752 2856
+-70.292 48.752 2857
+-70.166 48.752 2847
+-70.04 48.752 2855
+-69.914 48.752 2856
+-69.788 48.752 2856
+-69.662 48.752 2843
+-69.536 48.752 2960
+-69.41 48.752 2960
+-69.284 48.752 2961
+-69.158 48.752 2962
+-69.032 48.752 3061
+-68.906 48.752 3013
+-68.78 48.752 3161
+-68.654 48.752 3162
+-68.528 48.752 3123
+-68.402 48.752 3123
+-68.276 48.752 3124
+-68.15 48.752 3124
+-68.024 48.752 3124
+-67.898 48.752 3125
+-67.772 48.752 3226
+-67.646 48.752 3221
+-67.52 48.752 3221
+-67.394 48.752 3222
+-67.268 48.752 3222
+-67.142 48.752 3162
+-67.016 48.752 3201
+-66.89 48.752 3202
+-66.764 48.752 3283
+-66.638 48.752 3187
+-66.512 48.752 3188
+-66.386 48.752 3188
+-66.26 48.752 3239
+-66.134 48.752 3190
+-66.008 48.752 3191
+-65.882 48.752 3191
+-65.756 48.752 3418
+-65.63 48.752 3361
+-65.504 48.752 3362
+-65.378 48.752 3496
+-65.252 48.752 3467
+-65.126 48.752 3468
+-128 48.7 4339
+-127.874 48.7 4345
+-127.748 48.7 4378
+-127.622 48.7 4429
+-127.496 48.7 4500
+-127.37 48.7 4548
+-127.244 48.7 4606
+-127.118 48.7 4667
+-126.992 48.7 4794
+-126.866 48.7 4858
+-126.74 48.7 5024
+-126.614 48.7 5200
+-126.488 48.7 5440
+-126.362 48.7 5537
+-126.236 48.7 5495
+-126.11 48.7 5690
+-125.984 48.7 5817
+-125.858 48.7 5896
+-125.732 48.7 5972
+-125.606 48.7 6087
+-125.48 48.7 6238
+-125.354 48.7 6420
+-125.228 48.7 6513
+-125.102 48.7 6560
+-124.976 48.7 6720
+-124.85 48.7 6842
+-124.724 48.7 6922
+-124.598 48.7 7068
+-124.472 48.7 7064
+-124.346 48.7 7250
+-124.22 48.7 7248
+-124.094 48.7 7378
+-123.968 48.7 7409
+-123.842 48.7 7495
+-123.716 48.7 7522
+-123.59 48.7 7650
+-123.464 48.7 7675
+-123.338 48.7 7664
+-123.212 48.7 7684
+-123.086 48.7 7688
+-122.96 48.7 7706
+-122.834 48.7 7695
+-122.708 48.7 7676
+-122.582 48.7 7690
+-122.456 48.7 7648
+-122.33 48.7 7606
+-122.204 48.7 7568
+-122.078 48.7 7471
+-121.952 48.7 7410
+-121.826 48.7 7348
+-121.7 48.7 7242
+-121.574 48.7 7219
+-121.448 48.7 7112
+-121.322 48.7 6988
+-121.196 48.7 6930
+-121.07 48.7 6811
+-120.944 48.7 6702
+-120.818 48.7 6557
+-120.692 48.7 6545
+-120.566 48.7 6343
+-120.44 48.7 6243
+-120.314 48.7 6131
+-120.188 48.7 5892
+-120.062 48.7 5973
+-119.936 48.7 6057
+-119.81 48.7 6137
+-119.684 48.7 6182
+-119.558 48.7 6282
+-119.432 48.7 6310
+-119.306 48.7 6327
+-119.18 48.7 6399
+-119.054 48.7 6408
+-118.928 48.7 6482
+-118.802 48.7 6502
+-118.676 48.7 6512
+-118.55 48.7 6532
+-118.424 48.7 6531
+-118.298 48.7 6535
+-118.172 48.7 6541
+-118.046 48.7 6518
+-117.92 48.7 6507
+-117.794 48.7 6469
+-117.668 48.7 6428
+-117.542 48.7 6407
+-117.416 48.7 6380
+-117.29 48.7 6317
+-117.164 48.7 6235
+-117.038 48.7 6220
+-116.912 48.7 6163
+-116.786 48.7 6091
+-116.66 48.7 6006
+-116.534 48.7 5920
+-116.408 48.7 5852
+-116.282 48.7 5783
+-116.156 48.7 5738
+-116.03 48.7 5642
+-115.904 48.7 5501
+-115.778 48.7 5408
+-115.652 48.7 5396
+-115.526 48.7 5272
+-115.4 48.7 5104
+-115.274 48.7 5052
+-115.148 48.7 4925
+-115.022 48.7 4796
+-114.896 48.7 4637
+-114.77 48.7 4518
+-114.644 48.7 4502
+-114.518 48.7 4436
+-114.392 48.7 4321
+-114.266 48.7 4205
+-114.14 48.7 4166
+-114.014 48.7 4071
+-113.888 48.7 3960
+-113.762 48.7 3811
+-113.636 48.7 3696
+-113.51 48.7 3713
+-113.384 48.7 3711
+-113.258 48.7 3640
+-113.132 48.7 3590
+-113.006 48.7 3520
+-112.88 48.7 3486
+-112.754 48.7 3450
+-112.628 48.7 3406
+-112.502 48.7 3347
+-112.376 48.7 3236
+-112.25 48.7 3151
+-112.124 48.7 3028
+-111.998 48.7 2958
+-111.872 48.7 2912
+-111.746 48.7 2892
+-111.62 48.7 2871
+-111.494 48.7 2893
+-111.368 48.7 2870
+-111.242 48.7 2905
+-111.116 48.7 2940
+-110.99 48.7 2974
+-110.864 48.7 2973
+-110.738 48.7 3002
+-110.612 48.7 3028
+-110.486 48.7 3052
+-110.36 48.7 3062
+-110.234 48.7 3081
+-110.108 48.7 3098
+-109.982 48.7 3113
+-109.856 48.7 3112
+-109.73 48.7 3126
+-109.604 48.7 3139
+-109.478 48.7 3151
+-109.352 48.7 3146
+-109.226 48.7 3157
+-109.1 48.7 3167
+-108.974 48.7 3177
+-108.848 48.7 3186
+-108.722 48.7 3194
+-108.596 48.7 3202
+-108.47 48.7 3209
+-108.344 48.7 3216
+-108.218 48.7 3222
+-108.092 48.7 3228
+-107.966 48.7 3162
+-107.84 48.7 3153
+-107.714 48.7 3159
+-107.588 48.7 3164
+-107.462 48.7 3169
+-107.336 48.7 3174
+-107.21 48.7 3139
+-107.084 48.7 3136
+-106.958 48.7 3142
+-106.832 48.7 3147
+-106.706 48.7 3128
+-106.58 48.7 3133
+-106.454 48.7 3137
+-106.328 48.7 3141
+-106.202 48.7 3144
+-106.076 48.7 3148
+-105.95 48.7 3152
+-105.824 48.7 3155
+-105.698 48.7 3158
+-105.572 48.7 3161
+-105.446 48.7 3164
+-105.32 48.7 3167
+-105.194 48.7 3170
+-105.068 48.7 3172
+-104.942 48.7 3175
+-104.816 48.7 3145
+-104.69 48.7 3102
+-104.564 48.7 3104
+-104.438 48.7 3106
+-104.312 48.7 3108
+-104.186 48.7 3110
+-104.06 48.7 3112
+-103.934 48.7 3113
+-103.808 48.7 3115
+-103.682 48.7 3117
+-103.556 48.7 3118
+-103.43 48.7 3120
+-103.304 48.7 3121
+-103.178 48.7 3123
+-103.052 48.7 3124
+-102.926 48.7 3125
+-102.8 48.7 3127
+-102.674 48.7 3086
+-102.548 48.7 3088
+-102.422 48.7 3089
+-102.296 48.7 3073
+-102.17 48.7 3049
+-102.044 48.7 3041
+-101.918 48.7 2881
+-101.792 48.7 2881
+-101.666 48.7 2870
+-101.54 48.7 2873
+-101.414 48.7 2872
+-101.288 48.7 2820
+-101.162 48.7 2823
+-101.036 48.7 2858
+-100.91 48.7 2902
+-100.784 48.7 2913
+-100.658 48.7 2980
+-100.532 48.7 2982
+-100.406 48.7 2909
+-100.28 48.7 2985
+-100.154 48.7 3001
+-100.028 48.7 2988
+-99.902 48.7 2987
+-99.776 48.7 2983
+-99.65 48.7 2965
+-99.524 48.7 2951
+-99.398 48.7 2949
+-99.272 48.7 2948
+-99.146 48.7 2946
+-99.02 48.7 2944
+-98.894 48.7 2943
+-98.768 48.7 2941
+-98.642 48.7 2939
+-98.516 48.7 2937
+-98.39 48.7 2935
+-98.264 48.7 2933
+-98.138 48.7 2931
+-98.012 48.7 2929
+-97.886 48.7 2927
+-97.76 48.7 2925
+-97.634 48.7 2923
+-97.508 48.7 2921
+-97.382 48.7 2919
+-97.256 48.7 2801
+-97.13 48.7 2799
+-97.004 48.7 2784
+-96.878 48.7 2782
+-96.752 48.7 2779
+-96.626 48.7 2777
+-96.5 48.7 2774
+-96.374 48.7 2772
+-96.248 48.7 2769
+-96.122 48.7 2766
+-95.996 48.7 2764
+-95.87 48.7 2761
+-95.744 48.7 2758
+-95.618 48.7 2755
+-95.492 48.7 2753
+-95.366 48.7 2750
+-95.24 48.7 2747
+-95.114 48.7 2744
+-94.988 48.7 2741
+-94.862 48.7 2738
+-94.736 48.7 2735
+-94.61 48.7 2732
+-94.484 48.7 2729
+-94.358 48.7 2726
+-94.232 48.7 2722
+-94.106 48.7 2719
+-93.98 48.7 2716
+-93.854 48.7 2713
+-93.728 48.7 2710
+-93.602 48.7 2707
+-93.476 48.7 2704
+-93.35 48.7 2701
+-93.224 48.7 2698
+-93.098 48.7 2695
+-92.972 48.7 2692
+-92.846 48.7 2689
+-92.72 48.7 2687
+-92.594 48.7 2684
+-92.468 48.7 2681
+-92.342 48.7 2679
+-92.216 48.7 2677
+-92.09 48.7 2674
+-91.964 48.7 2672
+-91.838 48.7 2670
+-91.712 48.7 2668
+-91.586 48.7 2666
+-91.46 48.7 2664
+-91.334 48.7 2663
+-91.208 48.7 2661
+-91.082 48.7 2660
+-90.956 48.7 2658
+-90.83 48.7 2657
+-90.704 48.7 2656
+-90.578 48.7 2655
+-90.452 48.7 2655
+-90.326 48.7 2611
+-90.2 48.7 2610
+-90.074 48.7 2610
+-89.948 48.7 2609
+-89.822 48.7 2609
+-89.696 48.7 2609
+-89.57 48.7 2609
+-89.444 48.7 2609
+-89.318 48.7 2609
+-89.192 48.7 2609
+-89.066 48.7 2610
+-88.94 48.7 2610
+-88.814 48.7 2611
+-88.688 48.7 2611
+-88.562 48.7 2612
+-88.436 48.7 2612
+-88.31 48.7 2613
+-88.184 48.7 2614
+-88.058 48.7 2614
+-87.932 48.7 2615
+-87.806 48.7 2616
+-87.68 48.7 2617
+-87.554 48.7 2618
+-87.428 48.7 2618
+-87.302 48.7 2619
+-87.176 48.7 2620
+-87.05 48.7 2621
+-86.924 48.7 2622
+-86.798 48.7 2623
+-86.672 48.7 2624
+-86.546 48.7 2625
+-86.42 48.7 2626
+-86.294 48.7 2627
+-86.168 48.7 2627
+-86.042 48.7 2628
+-85.916 48.7 2629
+-85.79 48.7 2630
+-85.664 48.7 2631
+-85.538 48.7 2632
+-85.412 48.7 2633
+-85.286 48.7 2634
+-85.16 48.7 2635
+-85.034 48.7 2635
+-84.908 48.7 2636
+-84.782 48.7 2637
+-84.656 48.7 2638
+-84.53 48.7 2639
+-84.404 48.7 2640
+-84.278 48.7 2640
+-84.152 48.7 2641
+-84.026 48.7 2642
+-83.9 48.7 2643
+-83.774 48.7 2644
+-83.648 48.7 2644
+-83.522 48.7 2645
+-83.396 48.7 2646
+-83.27 48.7 2647
+-83.144 48.7 2647
+-83.018 48.7 2648
+-82.892 48.7 2649
+-82.766 48.7 2650
+-82.64 48.7 2650
+-82.514 48.7 2651
+-82.388 48.7 2652
+-82.262 48.7 2653
+-82.136 48.7 2664
+-82.01 48.7 2665
+-81.884 48.7 2665
+-81.758 48.7 2666
+-81.632 48.7 2557
+-81.506 48.7 2557
+-81.38 48.7 2557
+-81.254 48.7 2558
+-81.128 48.7 2558
+-81.002 48.7 2558
+-80.876 48.7 2559
+-80.75 48.7 2559
+-80.624 48.7 2559
+-80.498 48.7 2560
+-80.372 48.7 2567
+-80.246 48.7 2575
+-80.12 48.7 2575
+-79.994 48.7 2576
+-79.868 48.7 2576
+-79.742 48.7 2595
+-79.616 48.7 2596
+-79.49 48.7 2596
+-79.364 48.7 2597
+-79.238 48.7 2600
+-79.112 48.7 2729
+-78.986 48.7 2730
+-78.86 48.7 2730
+-78.734 48.7 2737
+-78.608 48.7 2737
+-78.482 48.7 2738
+-78.356 48.7 2756
+-78.23 48.7 2736
+-78.104 48.7 2751
+-77.978 48.7 2751
+-77.852 48.7 2747
+-77.726 48.7 2748
+-77.6 48.7 2748
+-77.474 48.7 2748
+-77.348 48.7 2750
+-77.222 48.7 2838
+-77.096 48.7 2839
+-76.97 48.7 2840
+-76.844 48.7 2840
+-76.718 48.7 2859
+-76.592 48.7 2860
+-76.466 48.7 2839
+-76.34 48.7 2840
+-76.214 48.7 2840
+-76.088 48.7 2841
+-75.962 48.7 2812
+-75.836 48.7 2822
+-75.71 48.7 2822
+-75.584 48.7 2951
+-75.458 48.7 2910
+-75.332 48.7 2910
+-75.206 48.7 3051
+-75.08 48.7 3047
+-74.954 48.7 3008
+-74.828 48.7 3073
+-74.702 48.7 2959
+-74.576 48.7 2991
+-74.45 48.7 3048
+-74.324 48.7 2942
+-74.198 48.7 2950
+-74.072 48.7 2852
+-73.946 48.7 2848
+-73.82 48.7 2865
+-73.694 48.7 2835
+-73.568 48.7 2836
+-73.442 48.7 2837
+-73.316 48.7 2774
+-73.19 48.7 2819
+-73.064 48.7 2810
+-72.938 48.7 2799
+-72.812 48.7 2800
+-72.686 48.7 2801
+-72.56 48.7 2801
+-72.434 48.7 2739
+-72.308 48.7 2734
+-72.182 48.7 2735
+-72.056 48.7 2736
+-71.93 48.7 2736
+-71.804 48.7 2732
+-71.678 48.7 2675
+-71.552 48.7 2781
+-71.426 48.7 2777
+-71.3 48.7 2783
+-71.174 48.7 2783
+-71.048 48.7 2784
+-70.922 48.7 2785
+-70.796 48.7 2811
+-70.67 48.7 2788
+-70.544 48.7 2856
+-70.418 48.7 2856
+-70.292 48.7 2846
+-70.166 48.7 2854
+-70.04 48.7 2855
+-69.914 48.7 2856
+-69.788 48.7 2843
+-69.662 48.7 2959
+-69.536 48.7 2960
+-69.41 48.7 2960
+-69.284 48.7 2961
+-69.158 48.7 3061
+-69.032 48.7 3012
+-68.906 48.7 3161
+-68.78 48.7 3161
+-68.654 48.7 3122
+-68.528 48.7 3123
+-68.402 48.7 3123
+-68.276 48.7 3124
+-68.15 48.7 3124
+-68.024 48.7 3124
+-67.898 48.7 3226
+-67.772 48.7 3220
+-67.646 48.7 3221
+-67.52 48.7 3221
+-67.394 48.7 3222
+-67.268 48.7 3162
+-67.142 48.7 3201
+-67.016 48.7 3201
+-66.89 48.7 3282
+-66.764 48.7 3187
+-66.638 48.7 3187
+-66.512 48.7 3188
+-66.386 48.7 3239
+-66.26 48.7 3190
+-66.134 48.7 3191
+-66.008 48.7 3191
+-65.882 48.7 3418
+-65.756 48.7 3361
+-65.63 48.7 3361
+-65.504 48.7 3496
+-65.378 48.7 3467
+-65.252 48.7 3467
+-65.126 48.7 3411
+-128 48.648 4370
+-127.874 48.648 4382
+-127.748 48.648 4425
+-127.622 48.648 4466
+-127.496 48.648 4535
+-127.37 48.648 4594
+-127.244 48.648 4658
+-127.118 48.648 4703
+-126.992 48.648 4792
+-126.866 48.648 4911
+-126.74 48.648 5094
+-126.614 48.648 5259
+-126.488 48.648 5440
+-126.362 48.648 5490
+-126.236 48.648 5618
+-126.11 48.648 5702
+-125.984 48.648 5858
+-125.858 48.648 5949
+-125.732 48.648 6076
+-125.606 48.648 6144
+-125.48 48.648 6308
+-125.354 48.648 6437
+-125.228 48.648 6554
+-125.102 48.648 6636
+-124.976 48.648 6771
+-124.85 48.648 6877
+-124.724 48.648 6988
+-124.598 48.648 7067
+-124.472 48.648 7146
+-124.346 48.648 7248
+-124.22 48.648 7274
+-124.094 48.648 7379
+-123.968 48.648 7464
+-123.842 48.648 7568
+-123.716 48.648 7619
+-123.59 48.648 7624
+-123.464 48.648 7681
+-123.338 48.648 7693
+-123.212 48.648 7779
+-123.086 48.648 7749
+-122.96 48.648 7789
+-122.834 48.648 7768
+-122.708 48.648 7735
+-122.582 48.648 7703
+-122.456 48.648 7688
+-122.33 48.648 7683
+-122.204 48.648 7584
+-122.078 48.648 7551
+-121.952 48.648 7453
+-121.826 48.648 7415
+-121.7 48.648 7320
+-121.574 48.648 7271
+-121.448 48.648 7192
+-121.322 48.648 7075
+-121.196 48.648 6963
+-121.07 48.648 6861
+-120.944 48.648 6733
+-120.818 48.648 6656
+-120.692 48.648 6506
+-120.566 48.648 6397
+-120.44 48.648 6329
+-120.314 48.648 6137
+-120.188 48.648 5956
+-120.062 48.648 6032
+-119.936 48.648 6093
+-119.81 48.648 6157
+-119.684 48.648 6240
+-119.558 48.648 6290
+-119.432 48.648 6344
+-119.306 48.648 6390
+-119.18 48.648 6457
+-119.054 48.648 6472
+-118.928 48.648 6516
+-118.802 48.648 6551
+-118.676 48.648 6562
+-118.55 48.648 6580
+-118.424 48.648 6593
+-118.298 48.648 6587
+-118.172 48.648 6587
+-118.046 48.648 6585
+-117.92 48.648 6549
+-117.794 48.648 6515
+-117.668 48.648 6489
+-117.542 48.648 6473
+-117.416 48.648 6415
+-117.29 48.648 6354
+-117.164 48.648 6323
+-117.038 48.648 6273
+-116.912 48.648 6194
+-116.786 48.648 6124
+-116.66 48.648 6050
+-116.534 48.648 5986
+-116.408 48.648 5926
+-116.282 48.648 5832
+-116.156 48.648 5742
+-116.03 48.648 5586
+-115.904 48.648 5586
+-115.778 48.648 5487
+-115.652 48.648 5429
+-115.526 48.648 5349
+-115.4 48.648 5188
+-115.274 48.648 5090
+-115.148 48.648 4962
+-115.022 48.648 4845
+-114.896 48.648 4701
+-114.77 48.648 4563
+-114.644 48.648 4516
+-114.518 48.648 4468
+-114.392 48.648 4379
+-114.266 48.648 4300
+-114.14 48.648 4226
+-114.014 48.648 4113
+-113.888 48.648 3951
+-113.762 48.648 3743
+-113.636 48.648 3590
+-113.51 48.648 3683
+-113.384 48.648 3734
+-113.258 48.648 3688
+-113.132 48.648 3622
+-113.006 48.648 3575
+-112.88 48.648 3524
+-112.754 48.648 3466
+-112.628 48.648 3395
+-112.502 48.648 3265
+-112.376 48.648 3166
+-112.25 48.648 3037
+-112.124 48.648 2929
+-111.998 48.648 2818
+-111.872 48.648 2761
+-111.746 48.648 2748
+-111.62 48.648 2772
+-111.494 48.648 2793
+-111.368 48.648 2796
+-111.242 48.648 2848
+-111.116 48.648 2896
+-110.99 48.648 2909
+-110.864 48.648 2948
+-110.738 48.648 2983
+-110.612 48.648 3014
+-110.486 48.648 3030
+-110.36 48.648 3053
+-110.234 48.648 3074
+-110.108 48.648 3093
+-109.982 48.648 3094
+-109.856 48.648 3111
+-109.73 48.648 3126
+-109.604 48.648 3139
+-109.478 48.648 3136
+-109.352 48.648 3148
+-109.226 48.648 3160
+-109.1 48.648 3170
+-108.974 48.648 3180
+-108.848 48.648 3189
+-108.722 48.648 3197
+-108.596 48.648 3205
+-108.47 48.648 3212
+-108.344 48.648 3219
+-108.218 48.648 3226
+-108.092 48.648 3159
+-107.966 48.648 3151
+-107.84 48.648 3156
+-107.714 48.648 3162
+-107.588 48.648 3167
+-107.462 48.648 3172
+-107.336 48.648 3137
+-107.21 48.648 3135
+-107.084 48.648 3141
+-106.958 48.648 3146
+-106.832 48.648 3127
+-106.706 48.648 3132
+-106.58 48.648 3136
+-106.454 48.648 3140
+-106.328 48.648 3144
+-106.202 48.648 3148
+-106.076 48.648 3152
+-105.95 48.648 3155
+-105.824 48.648 3158
+-105.698 48.648 3161
+-105.572 48.648 3164
+-105.446 48.648 3167
+-105.32 48.648 3170
+-105.194 48.648 3173
+-105.068 48.648 3175
+-104.942 48.648 3145
+-104.816 48.648 3102
+-104.69 48.648 3104
+-104.564 48.648 3106
+-104.438 48.648 3108
+-104.312 48.648 3110
+-104.186 48.648 3112
+-104.06 48.648 3114
+-103.934 48.648 3115
+-103.808 48.648 3117
+-103.682 48.648 3119
+-103.556 48.648 3120
+-103.43 48.648 3122
+-103.304 48.648 3123
+-103.178 48.648 3124
+-103.052 48.648 3126
+-102.926 48.648 3127
+-102.8 48.648 3087
+-102.674 48.648 3088
+-102.548 48.648 3089
+-102.422 48.648 3074
+-102.296 48.648 3049
+-102.17 48.648 3051
+-102.044 48.648 3042
+-101.918 48.648 2882
+-101.792 48.648 2870
+-101.666 48.648 2872
+-101.54 48.648 2870
+-101.414 48.648 2875
+-101.288 48.648 2879
+-101.162 48.648 2855
+-101.036 48.648 2871
+-100.91 48.648 2911
+-100.784 48.648 2978
+-100.658 48.648 2981
+-100.532 48.648 2984
+-100.406 48.648 2910
+-100.28 48.648 3005
+-100.154 48.648 3008
+-100.028 48.648 3000
+-99.902 48.648 2987
+-99.776 48.648 2985
+-99.65 48.648 2981
+-99.524 48.648 2964
+-99.398 48.648 2949
+-99.272 48.648 2948
+-99.146 48.648 2946
+-99.02 48.648 2944
+-98.894 48.648 2943
+-98.768 48.648 2941
+-98.642 48.648 2939
+-98.516 48.648 2937
+-98.39 48.648 2935
+-98.264 48.648 2933
+-98.138 48.648 2931
+-98.012 48.648 2929
+-97.886 48.648 2927
+-97.76 48.648 2925
+-97.634 48.648 2923
+-97.508 48.648 2921
+-97.382 48.648 2918
+-97.256 48.648 2916
+-97.13 48.648 2799
+-97.004 48.648 2797
+-96.878 48.648 2782
+-96.752 48.648 2779
+-96.626 48.648 2777
+-96.5 48.648 2774
+-96.374 48.648 2771
+-96.248 48.648 2769
+-96.122 48.648 2766
+-95.996 48.648 2763
+-95.87 48.648 2761
+-95.744 48.648 2758
+-95.618 48.648 2755
+-95.492 48.648 2752
+-95.366 48.648 2749
+-95.24 48.648 2746
+-95.114 48.648 2743
+-94.988 48.648 2740
+-94.862 48.648 2737
+-94.736 48.648 2733
+-94.61 48.648 2730
+-94.484 48.648 2727
+-94.358 48.648 2724
+-94.232 48.648 2721
+-94.106 48.648 2718
+-93.98 48.648 2714
+-93.854 48.648 2711
+-93.728 48.648 2708
+-93.602 48.648 2705
+-93.476 48.648 2702
+-93.35 48.648 2698
+-93.224 48.648 2695
+-93.098 48.648 2692
+-92.972 48.648 2689
+-92.846 48.648 2686
+-92.72 48.648 2684
+-92.594 48.648 2681
+-92.468 48.648 2678
+-92.342 48.648 2675
+-92.216 48.648 2673
+-92.09 48.648 2671
+-91.964 48.648 2668
+-91.838 48.648 2666
+-91.712 48.648 2664
+-91.586 48.648 2662
+-91.46 48.648 2660
+-91.334 48.648 2658
+-91.208 48.648 2657
+-91.082 48.648 2655
+-90.956 48.648 2654
+-90.83 48.648 2653
+-90.704 48.648 2652
+-90.578 48.648 2651
+-90.452 48.648 2650
+-90.326 48.648 2607
+-90.2 48.648 2606
+-90.074 48.648 2606
+-89.948 48.648 2606
+-89.822 48.648 2605
+-89.696 48.648 2605
+-89.57 48.648 2605
+-89.444 48.648 2605
+-89.318 48.648 2606
+-89.192 48.648 2606
+-89.066 48.648 2606
+-88.94 48.648 2607
+-88.814 48.648 2607
+-88.688 48.648 2608
+-88.562 48.648 2608
+-88.436 48.648 2609
+-88.31 48.648 2610
+-88.184 48.648 2611
+-88.058 48.648 2611
+-87.932 48.648 2612
+-87.806 48.648 2613
+-87.68 48.648 2614
+-87.554 48.648 2615
+-87.428 48.648 2616
+-87.302 48.648 2617
+-87.176 48.648 2618
+-87.05 48.648 2619
+-86.924 48.648 2620
+-86.798 48.648 2621
+-86.672 48.648 2622
+-86.546 48.648 2623
+-86.42 48.648 2624
+-86.294 48.648 2625
+-86.168 48.648 2625
+-86.042 48.648 2626
+-85.916 48.648 2627
+-85.79 48.648 2628
+-85.664 48.648 2629
+-85.538 48.648 2630
+-85.412 48.648 2631
+-85.286 48.648 2632
+-85.16 48.648 2633
+-85.034 48.648 2634
+-84.908 48.648 2635
+-84.782 48.648 2636
+-84.656 48.648 2636
+-84.53 48.648 2637
+-84.404 48.648 2638
+-84.278 48.648 2639
+-84.152 48.648 2640
+-84.026 48.648 2641
+-83.9 48.648 2641
+-83.774 48.648 2642
+-83.648 48.648 2643
+-83.522 48.648 2644
+-83.396 48.648 2645
+-83.27 48.648 2645
+-83.144 48.648 2646
+-83.018 48.648 2647
+-82.892 48.648 2648
+-82.766 48.648 2648
+-82.64 48.648 2649
+-82.514 48.648 2650
+-82.388 48.648 2651
+-82.262 48.648 2662
+-82.136 48.648 2663
+-82.01 48.648 2663
+-81.884 48.648 2664
+-81.758 48.648 2555
+-81.632 48.648 2555
+-81.506 48.648 2556
+-81.38 48.648 2556
+-81.254 48.648 2557
+-81.128 48.648 2557
+-81.002 48.648 2557
+-80.876 48.648 2558
+-80.75 48.648 2558
+-80.624 48.648 2558
+-80.498 48.648 2565
+-80.372 48.648 2574
+-80.246 48.648 2574
+-80.12 48.648 2575
+-79.994 48.648 2575
+-79.868 48.648 2594
+-79.742 48.648 2594
+-79.616 48.648 2595
+-79.49 48.648 2595
+-79.364 48.648 2599
+-79.238 48.648 2728
+-79.112 48.648 2728
+-78.986 48.648 2728
+-78.86 48.648 2735
+-78.734 48.648 2736
+-78.608 48.648 2736
+-78.482 48.648 2754
+-78.356 48.648 2735
+-78.23 48.648 2750
+-78.104 48.648 2750
+-77.978 48.648 2746
+-77.852 48.648 2746
+-77.726 48.648 2747
+-77.6 48.648 2747
+-77.474 48.648 2749
+-77.348 48.648 2837
+-77.222 48.648 2837
+-77.096 48.648 2838
+-76.97 48.648 2839
+-76.844 48.648 2857
+-76.718 48.648 2858
+-76.592 48.648 2838
+-76.466 48.648 2838
+-76.34 48.648 2839
+-76.214 48.648 2840
+-76.088 48.648 2810
+-75.962 48.648 2821
+-75.836 48.648 2821
+-75.71 48.648 2949
+-75.584 48.648 2908
+-75.458 48.648 2909
+-75.332 48.648 3049
+-75.206 48.648 3045
+-75.08 48.648 3006
+-74.954 48.648 3072
+-74.828 48.648 2958
+-74.702 48.648 2990
+-74.576 48.648 3046
+-74.45 48.648 2941
+-74.324 48.648 2948
+-74.198 48.648 2851
+-74.072 48.648 2847
+-73.946 48.648 2864
+-73.82 48.648 2834
+-73.694 48.648 2835
+-73.568 48.648 2836
+-73.442 48.648 2773
+-73.316 48.648 2818
+-73.19 48.648 2809
+-73.064 48.648 2798
+-72.938 48.648 2799
+-72.812 48.648 2800
+-72.686 48.648 2800
+-72.56 48.648 2739
+-72.434 48.648 2733
+-72.308 48.648 2734
+-72.182 48.648 2735
+-72.056 48.648 2736
+-71.93 48.648 2732
+-71.804 48.648 2675
+-71.678 48.648 2781
+-71.552 48.648 2776
+-71.426 48.648 2782
+-71.3 48.648 2783
+-71.174 48.648 2783
+-71.048 48.648 2784
+-70.922 48.648 2810
+-70.796 48.648 2787
+-70.67 48.648 2855
+-70.544 48.648 2856
+-70.418 48.648 2846
+-70.292 48.648 2854
+-70.166 48.648 2854
+-70.04 48.648 2855
+-69.914 48.648 2842
+-69.788 48.648 2958
+-69.662 48.648 2959
+-69.536 48.648 2960
+-69.41 48.648 2961
+-69.284 48.648 3060
+-69.158 48.648 3012
+-69.032 48.648 3160
+-68.906 48.648 3161
+-68.78 48.648 3122
+-68.654 48.648 3122
+-68.528 48.648 3123
+-68.402 48.648 3123
+-68.276 48.648 3123
+-68.15 48.648 3124
+-68.024 48.648 3225
+-67.898 48.648 3220
+-67.772 48.648 3220
+-67.646 48.648 3221
+-67.52 48.648 3221
+-67.394 48.648 3162
+-67.268 48.648 3200
+-67.142 48.648 3201
+-67.016 48.648 3282
+-66.89 48.648 3186
+-66.764 48.648 3187
+-66.638 48.648 3187
+-66.512 48.648 3238
+-66.386 48.648 3190
+-66.26 48.648 3190
+-66.134 48.648 3191
+-66.008 48.648 3418
+-65.882 48.648 3361
+-65.756 48.648 3361
+-65.63 48.648 3495
+-65.504 48.648 3467
+-65.378 48.648 3467
+-65.252 48.648 3411
+-65.126 48.648 3483
+-128 48.596 4380
+-127.874 48.596 4389
+-127.748 48.596 4427
+-127.622 48.596 4469
+-127.496 48.596 4525
+-127.37 48.596 4601
+-127.244 48.596 4692
+-127.118 48.596 4760
+-126.992 48.596 4851
+-126.866 48.596 4993
+-126.74 48.596 5154
+-126.614 48.596 5272
+-126.488 48.596 5396
+-126.362 48.596 5559
+-126.236 48.596 5663
+-126.11 48.596 5779
+-125.984 48.596 5855
+-125.858 48.596 6011
+-125.732 48.596 6137
+-125.606 48.596 6209
+-125.48 48.596 6367
+-125.354 48.596 6458
+-125.228 48.596 6518
+-125.102 48.596 6672
+-124.976 48.596 6827
+-124.85 48.596 6929
+-124.724 48.596 6992
+-124.598 48.596 7144
+-124.472 48.596 7176
+-124.346 48.596 7256
+-124.22 48.596 7339
+-124.094 48.596 7438
+-123.968 48.596 7505
+-123.842 48.596 7621
+-123.716 48.596 7647
+-123.59 48.596 7711
+-123.464 48.596 7710
+-123.338 48.596 7751
+-123.212 48.596 7797
+-123.086 48.596 7843
+-122.96 48.596 7843
+-122.834 48.596 7837
+-122.708 48.596 7839
+-122.582 48.596 7785
+-122.456 48.596 7759
+-122.33 48.596 7699
+-122.204 48.596 7657
+-122.078 48.596 7612
+-121.952 48.596 7508
+-121.826 48.596 7430
+-121.7 48.596 7316
+-121.574 48.596 7275
+-121.448 48.596 7217
+-121.322 48.596 7109
+-121.196 48.596 6995
+-121.07 48.596 6876
+-120.944 48.596 6808
+-120.818 48.596 6720
+-120.692 48.596 6558
+-120.566 48.596 6371
+-120.44 48.596 6281
+-120.314 48.596 6165
+-120.188 48.596 6077
+-120.062 48.596 6060
+-119.936 48.596 6124
+-119.81 48.596 6214
+-119.684 48.596 6273
+-119.558 48.596 6324
+-119.432 48.596 6395
+-119.306 48.596 6447
+-119.18 48.596 6539
+-119.054 48.596 6534
+-118.928 48.596 6570
+-118.802 48.596 6594
+-118.676 48.596 6613
+-118.55 48.596 6639
+-118.424 48.596 6659
+-118.298 48.596 6637
+-118.172 48.596 6626
+-118.046 48.596 6646
+-117.92 48.596 6603
+-117.794 48.596 6562
+-117.668 48.596 6543
+-117.542 48.596 6498
+-117.416 48.596 6480
+-117.29 48.596 6424
+-117.164 48.596 6361
+-117.038 48.596 6300
+-116.912 48.596 6253
+-116.786 48.596 6172
+-116.66 48.596 6096
+-116.534 48.596 6028
+-116.408 48.596 5950
+-116.282 48.596 5889
+-116.156 48.596 5792
+-116.03 48.596 5699
+-115.904 48.596 5627
+-115.778 48.596 5549
+-115.652 48.596 5475
+-115.526 48.596 5369
+-115.4 48.596 5303
+-115.274 48.596 5107
+-115.148 48.596 4968
+-115.022 48.596 4887
+-114.896 48.596 4772
+-114.77 48.596 4605
+-114.644 48.596 4520
+-114.518 48.596 4500
+-114.392 48.596 4418
+-114.266 48.596 4343
+-114.14 48.596 4263
+-114.014 48.596 4169
+-113.888 48.596 4013
+-113.762 48.596 3838
+-113.636 48.596 3729
+-113.51 48.596 3768
+-113.384 48.596 3799
+-113.258 48.596 3733
+-113.132 48.596 3662
+-113.006 48.596 3609
+-112.88 48.596 3544
+-112.754 48.596 3470
+-112.628 48.596 3325
+-112.502 48.596 3213
+-112.376 48.596 3065
+-112.25 48.596 2923
+-112.124 48.596 2777
+-111.998 48.596 2651
+-111.872 48.596 2566
+-111.746 48.596 2569
+-111.62 48.596 2625
+-111.494 48.596 2705
+-111.368 48.596 2790
+-111.242 48.596 2806
+-111.116 48.596 2825
+-110.99 48.596 2880
+-110.864 48.596 2927
+-110.738 48.596 2967
+-110.612 48.596 2991
+-110.486 48.596 3021
+-110.36 48.596 3047
+-110.234 48.596 3070
+-110.108 48.596 3074
+-109.982 48.596 3093
+-109.856 48.596 3111
+-109.73 48.596 3126
+-109.604 48.596 3125
+-109.478 48.596 3139
+-109.352 48.596 3151
+-109.226 48.596 3163
+-109.1 48.596 3173
+-108.974 48.596 3183
+-108.848 48.596 3192
+-108.722 48.596 3201
+-108.596 48.596 3208
+-108.47 48.596 3216
+-108.344 48.596 3223
+-108.218 48.596 3156
+-108.092 48.596 3148
+-107.966 48.596 3154
+-107.84 48.596 3160
+-107.714 48.596 3165
+-107.588 48.596 3171
+-107.462 48.596 3136
+-107.336 48.596 3134
+-107.21 48.596 3140
+-107.084 48.596 3145
+-106.958 48.596 3127
+-106.832 48.596 3131
+-106.706 48.596 3136
+-106.58 48.596 3140
+-106.454 48.596 3144
+-106.328 48.596 3148
+-106.202 48.596 3152
+-106.076 48.596 3155
+-105.95 48.596 3158
+-105.824 48.596 3162
+-105.698 48.596 3165
+-105.572 48.596 3168
+-105.446 48.596 3171
+-105.32 48.596 3173
+-105.194 48.596 3176
+-105.068 48.596 3145
+-104.942 48.596 3102
+-104.816 48.596 3104
+-104.69 48.596 3106
+-104.564 48.596 3108
+-104.438 48.596 3110
+-104.312 48.596 3112
+-104.186 48.596 3114
+-104.06 48.596 3116
+-103.934 48.596 3117
+-103.808 48.596 3119
+-103.682 48.596 3121
+-103.556 48.596 3122
+-103.43 48.596 3123
+-103.304 48.596 3125
+-103.178 48.596 3126
+-103.052 48.596 3127
+-102.926 48.596 3087
+-102.8 48.596 3089
+-102.674 48.596 3090
+-102.548 48.596 3075
+-102.422 48.596 3075
+-102.296 48.596 3051
+-102.17 48.596 3052
+-102.044 48.596 3049
+-101.918 48.596 2887
+-101.792 48.596 2862
+-101.666 48.596 2873
+-101.54 48.596 2876
+-101.414 48.596 2886
+-101.288 48.596 2890
+-101.162 48.596 2869
+-101.036 48.596 2909
+-100.91 48.596 2912
+-100.784 48.596 2980
+-100.658 48.596 2982
+-100.532 48.596 2992
+-100.406 48.596 3093
+-100.28 48.596 3014
+-100.154 48.596 3062
+-100.028 48.596 3007
+-99.902 48.596 2999
+-99.776 48.596 2986
+-99.65 48.596 2984
+-99.524 48.596 2980
+-99.398 48.596 2963
+-99.272 48.596 2948
+-99.146 48.596 2946
+-99.02 48.596 2945
+-98.894 48.596 2943
+-98.768 48.596 2941
+-98.642 48.596 2939
+-98.516 48.596 2937
+-98.39 48.596 2935
+-98.264 48.596 2933
+-98.138 48.596 2931
+-98.012 48.596 2929
+-97.886 48.596 2927
+-97.76 48.596 2925
+-97.634 48.596 2923
+-97.508 48.596 2921
+-97.382 48.596 2918
+-97.256 48.596 2916
+-97.13 48.596 2913
+-97.004 48.596 2797
+-96.878 48.596 2794
+-96.752 48.596 2779
+-96.626 48.596 2777
+-96.5 48.596 2774
+-96.374 48.596 2771
+-96.248 48.596 2769
+-96.122 48.596 2766
+-95.996 48.596 2763
+-95.87 48.596 2760
+-95.744 48.596 2757
+-95.618 48.596 2754
+-95.492 48.596 2751
+-95.366 48.596 2748
+-95.24 48.596 2745
+-95.114 48.596 2742
+-94.988 48.596 2739
+-94.862 48.596 2735
+-94.736 48.596 2732
+-94.61 48.596 2729
+-94.484 48.596 2726
+-94.358 48.596 2722
+-94.232 48.596 2719
+-94.106 48.596 2716
+-93.98 48.596 2712
+-93.854 48.596 2709
+-93.728 48.596 2706
+-93.602 48.596 2702
+-93.476 48.596 2699
+-93.35 48.596 2696
+-93.224 48.596 2693
+-93.098 48.596 2689
+-92.972 48.596 2686
+-92.846 48.596 2683
+-92.72 48.596 2680
+-92.594 48.596 2677
+-92.468 48.596 2675
+-92.342 48.596 2672
+-92.216 48.596 2669
+-92.09 48.596 2667
+-91.964 48.596 2664
+-91.838 48.596 2662
+-91.712 48.596 2660
+-91.586 48.596 2658
+-91.46 48.596 2656
+-91.334 48.596 2654
+-91.208 48.596 2653
+-91.082 48.596 2651
+-90.956 48.596 2650
+-90.83 48.596 2649
+-90.704 48.596 2648
+-90.578 48.596 2647
+-90.452 48.596 2646
+-90.326 48.596 2603
+-90.2 48.596 2602
+-90.074 48.596 2602
+-89.948 48.596 2601
+-89.822 48.596 2601
+-89.696 48.596 2601
+-89.57 48.596 2601
+-89.444 48.596 2601
+-89.318 48.596 2602
+-89.192 48.596 2602
+-89.066 48.596 2602
+-88.94 48.596 2603
+-88.814 48.596 2604
+-88.688 48.596 2604
+-88.562 48.596 2605
+-88.436 48.596 2606
+-88.31 48.596 2607
+-88.184 48.596 2607
+-88.058 48.596 2608
+-87.932 48.596 2609
+-87.806 48.596 2610
+-87.68 48.596 2611
+-87.554 48.596 2612
+-87.428 48.596 2613
+-87.302 48.596 2614
+-87.176 48.596 2615
+-87.05 48.596 2616
+-86.924 48.596 2617
+-86.798 48.596 2618
+-86.672 48.596 2619
+-86.546 48.596 2620
+-86.42 48.596 2621
+-86.294 48.596 2622
+-86.168 48.596 2623
+-86.042 48.596 2624
+-85.916 48.596 2625
+-85.79 48.596 2626
+-85.664 48.596 2627
+-85.538 48.596 2628
+-85.412 48.596 2629
+-85.286 48.596 2630
+-85.16 48.596 2631
+-85.034 48.596 2632
+-84.908 48.596 2633
+-84.782 48.596 2634
+-84.656 48.596 2635
+-84.53 48.596 2636
+-84.404 48.596 2637
+-84.278 48.596 2637
+-84.152 48.596 2638
+-84.026 48.596 2639
+-83.9 48.596 2640
+-83.774 48.596 2641
+-83.648 48.596 2642
+-83.522 48.596 2642
+-83.396 48.596 2643
+-83.27 48.596 2644
+-83.144 48.596 2645
+-83.018 48.596 2646
+-82.892 48.596 2646
+-82.766 48.596 2647
+-82.64 48.596 2648
+-82.514 48.596 2649
+-82.388 48.596 2660
+-82.262 48.596 2661
+-82.136 48.596 2661
+-82.01 48.596 2662
+-81.884 48.596 2554
+-81.758 48.596 2554
+-81.632 48.596 2554
+-81.506 48.596 2555
+-81.38 48.596 2555
+-81.254 48.596 2555
+-81.128 48.596 2556
+-81.002 48.596 2556
+-80.876 48.596 2557
+-80.75 48.596 2557
+-80.624 48.596 2564
+-80.498 48.596 2572
+-80.372 48.596 2573
+-80.246 48.596 2573
+-80.12 48.596 2574
+-79.994 48.596 2592
+-79.868 48.596 2593
+-79.742 48.596 2593
+-79.616 48.596 2594
+-79.49 48.596 2598
+-79.364 48.596 2726
+-79.238 48.596 2727
+-79.112 48.596 2727
+-78.986 48.596 2734
+-78.86 48.596 2734
+-78.734 48.596 2735
+-78.608 48.596 2753
+-78.482 48.596 2733
+-78.356 48.596 2748
+-78.23 48.596 2749
+-78.104 48.596 2744
+-77.978 48.596 2745
+-77.852 48.596 2745
+-77.726 48.596 2746
+-77.6 48.596 2748
+-77.474 48.596 2835
+-77.348 48.596 2836
+-77.222 48.596 2837
+-77.096 48.596 2837
+-76.97 48.596 2856
+-76.844 48.596 2857
+-76.718 48.596 2836
+-76.592 48.596 2837
+-76.466 48.596 2838
+-76.34 48.596 2838
+-76.214 48.596 2809
+-76.088 48.596 2819
+-75.962 48.596 2820
+-75.836 48.596 2948
+-75.71 48.596 2907
+-75.584 48.596 2908
+-75.458 48.596 3047
+-75.332 48.596 3044
+-75.206 48.596 3005
+-75.08 48.596 3070
+-74.954 48.596 2956
+-74.828 48.596 2988
+-74.702 48.596 3045
+-74.576 48.596 2939
+-74.45 48.596 2947
+-74.324 48.596 2850
+-74.198 48.596 2846
+-74.072 48.596 2863
+-73.946 48.596 2833
+-73.82 48.596 2834
+-73.694 48.596 2835
+-73.568 48.596 2772
+-73.442 48.596 2817
+-73.316 48.596 2808
+-73.19 48.596 2797
+-73.064 48.596 2798
+-72.938 48.596 2799
+-72.812 48.596 2800
+-72.686 48.596 2738
+-72.56 48.596 2733
+-72.434 48.596 2733
+-72.308 48.596 2734
+-72.182 48.596 2735
+-72.056 48.596 2731
+-71.93 48.596 2674
+-71.804 48.596 2780
+-71.678 48.596 2775
+-71.552 48.596 2782
+-71.426 48.596 2782
+-71.3 48.596 2783
+-71.174 48.596 2784
+-71.048 48.596 2810
+-70.922 48.596 2787
+-70.796 48.596 2854
+-70.67 48.596 2855
+-70.544 48.596 2845
+-70.418 48.596 2853
+-70.292 48.596 2854
+-70.166 48.596 2855
+-70.04 48.596 2841
+-69.914 48.596 2958
+-69.788 48.596 2959
+-69.662 48.596 2959
+-69.536 48.596 2960
+-69.41 48.596 3060
+-69.284 48.596 3011
+-69.158 48.596 3160
+-69.032 48.596 3160
+-68.906 48.596 3122
+-68.78 48.596 3122
+-68.654 48.596 3122
+-68.528 48.596 3123
+-68.402 48.596 3123
+-68.276 48.596 3123
+-68.15 48.596 3225
+-68.024 48.596 3219
+-67.898 48.596 3220
+-67.772 48.596 3220
+-67.646 48.596 3221
+-67.52 48.596 3161
+-67.394 48.596 3200
+-67.268 48.596 3200
+-67.142 48.596 3281
+-67.016 48.596 3186
+-66.89 48.596 3186
+-66.764 48.596 3187
+-66.638 48.596 3238
+-66.512 48.596 3189
+-66.386 48.596 3190
+-66.26 48.596 3190
+-66.134 48.596 3417
+-66.008 48.596 3360
+-65.882 48.596 3361
+-65.756 48.596 3495
+-65.63 48.596 3466
+-65.504 48.596 3467
+-65.378 48.596 3410
+-65.252 48.596 3483
+-65.126 48.596 3484
+-128 48.544 4361
+-127.874 48.544 4359
+-127.748 48.544 4385
+-127.622 48.544 4426
+-127.496 48.544 4463
+-127.37 48.544 4567
+-127.244 48.544 4732
+-127.118 48.544 4801
+-126.992 48.544 4865
+-126.866 48.544 5031
+-126.74 48.544 5210
+-126.614 48.544 5279
+-126.488 48.544 5374
+-126.362 48.544 5541
+-126.236 48.544 5694
+-126.11 48.544 5832
+-125.984 48.544 5935
+-125.858 48.544 6030
+-125.732 48.544 6150
+-125.606 48.544 6279
+-125.48 48.544 6339
+-125.354 48.544 6481
+-125.228 48.544 6576
+-125.102 48.544 6672
+-124.976 48.544 6823
+-124.85 48.544 6928
+-124.724 48.544 7089
+-124.598 48.544 7141
+-124.472 48.544 7210
+-124.346 48.544 7303
+-124.22 48.544 7407
+-124.094 48.544 7495
+-123.968 48.544 7604
+-123.842 48.544 7665
+-123.716 48.544 7715
+-123.59 48.544 7789
+-123.464 48.544 7795
+-123.338 48.544 7847
+-123.212 48.544 7895
+-123.086 48.544 7911
+-122.96 48.544 7915
+-122.834 48.544 7873
+-122.708 48.544 7908
+-122.582 48.544 7864
+-122.456 48.544 7796
+-122.33 48.544 7729
+-122.204 48.544 7706
+-122.078 48.544 7665
+-121.952 48.544 7560
+-121.826 48.544 7461
+-121.7 48.544 7454
+-121.574 48.544 7330
+-121.448 48.544 7215
+-121.322 48.544 7070
+-121.196 48.544 6994
+-121.07 48.544 6934
+-120.944 48.544 6864
+-120.818 48.544 6720
+-120.692 48.544 6595
+-120.566 48.544 6412
+-120.44 48.544 6313
+-120.314 48.544 6190
+-120.188 48.544 6000
+-120.062 48.544 6133
+-119.936 48.544 6185
+-119.81 48.544 6272
+-119.684 48.544 6347
+-119.558 48.544 6421
+-119.432 48.544 6431
+-119.306 48.544 6480
+-119.18 48.544 6538
+-119.054 48.544 6593
+-118.928 48.544 6625
+-118.802 48.544 6619
+-118.676 48.544 6669
+-118.55 48.544 6661
+-118.424 48.544 6682
+-118.298 48.544 6679
+-118.172 48.544 6670
+-118.046 48.544 6700
+-117.92 48.544 6652
+-117.794 48.544 6623
+-117.668 48.544 6574
+-117.542 48.544 6565
+-117.416 48.544 6507
+-117.29 48.544 6445
+-117.164 48.544 6403
+-117.038 48.544 6328
+-116.912 48.544 6264
+-116.786 48.544 6226
+-116.66 48.544 6139
+-116.534 48.544 6094
+-116.408 48.544 5972
+-116.282 48.544 5911
+-116.156 48.544 5756
+-116.03 48.544 5745
+-115.904 48.544 5651
+-115.778 48.544 5480
+-115.652 48.544 5469
+-115.526 48.544 5286
+-115.4 48.544 5324
+-115.274 48.544 5189
+-115.148 48.544 4980
+-115.022 48.544 4909
+-114.896 48.544 4841
+-114.77 48.544 4674
+-114.644 48.544 4577
+-114.518 48.544 4509
+-114.392 48.544 4441
+-114.266 48.544 4366
+-114.14 48.544 4272
+-114.014 48.544 4131
+-113.888 48.544 4036
+-113.762 48.544 3964
+-113.636 48.544 3912
+-113.51 48.544 3883
+-113.384 48.544 3854
+-113.258 48.544 3789
+-113.132 48.544 3722
+-113.006 48.544 3630
+-112.88 48.544 3557
+-112.754 48.544 3420
+-112.628 48.544 3300
+-112.502 48.544 3129
+-112.376 48.544 2976
+-112.25 48.544 2801
+-112.124 48.544 2608
+-111.998 48.544 2432
+-111.872 48.544 2344
+-111.746 48.544 2375
+-111.62 48.544 2471
+-111.494 48.544 2596
+-111.368 48.544 2681
+-111.242 48.544 2779
+-111.116 48.544 2836
+-110.99 48.544 2856
+-110.864 48.544 2910
+-110.738 48.544 2944
+-110.612 48.544 2982
+-110.486 48.544 3014
+-110.36 48.544 3042
+-110.234 48.544 3051
+-110.108 48.544 3074
+-109.982 48.544 3094
+-109.856 48.544 3112
+-109.73 48.544 3113
+-109.604 48.544 3128
+-109.478 48.544 3142
+-109.352 48.544 3155
+-109.226 48.544 3166
+-109.1 48.544 3177
+-108.974 48.544 3187
+-108.848 48.544 3196
+-108.722 48.544 3205
+-108.596 48.544 3212
+-108.47 48.544 3220
+-108.344 48.544 3153
+-108.218 48.544 3146
+-108.092 48.544 3152
+-107.966 48.544 3158
+-107.84 48.544 3164
+-107.714 48.544 3169
+-107.588 48.544 3134
+-107.462 48.544 3133
+-107.336 48.544 3139
+-107.21 48.544 3144
+-107.084 48.544 3126
+-106.958 48.544 3131
+-106.832 48.544 3136
+-106.706 48.544 3140
+-106.58 48.544 3144
+-106.454 48.544 3148
+-106.328 48.544 3152
+-106.202 48.544 3155
+-106.076 48.544 3159
+-105.95 48.544 3162
+-105.824 48.544 3165
+-105.698 48.544 3168
+-105.572 48.544 3171
+-105.446 48.544 3174
+-105.32 48.544 3177
+-105.194 48.544 3145
+-105.068 48.544 3102
+-104.942 48.544 3105
+-104.816 48.544 3107
+-104.69 48.544 3109
+-104.564 48.544 3111
+-104.438 48.544 3113
+-104.312 48.544 3115
+-104.186 48.544 3116
+-104.06 48.544 3118
+-103.934 48.544 3120
+-103.808 48.544 3121
+-103.682 48.544 3123
+-103.556 48.544 3124
+-103.43 48.544 3125
+-103.304 48.544 3127
+-103.178 48.544 3128
+-103.052 48.544 3088
+-102.926 48.544 3089
+-102.8 48.544 3090
+-102.674 48.544 3091
+-102.548 48.544 3076
+-102.422 48.544 3077
+-102.296 48.544 3052
+-102.17 48.544 3049
+-102.044 48.544 2996
+-101.918 48.544 2889
+-101.792 48.544 2863
+-101.666 48.544 2875
+-101.54 48.544 2877
+-101.414 48.544 2887
+-101.288 48.544 2891
+-101.162 48.544 2870
+-101.036 48.544 2910
+-100.91 48.544 2986
+-100.784 48.544 2988
+-100.658 48.544 2991
+-100.532 48.544 3093
+-100.406 48.544 3093
+-100.28 48.544 3019
+-100.154 48.544 3083
+-100.028 48.544 3061
+-99.902 48.544 3006
+-99.776 48.544 2998
+-99.65 48.544 2985
+-99.524 48.544 2983
+-99.398 48.544 2979
+-99.272 48.544 2961
+-99.146 48.544 2947
+-99.02 48.544 2945
+-98.894 48.544 2943
+-98.768 48.544 2941
+-98.642 48.544 2939
+-98.516 48.544 2938
+-98.39 48.544 2936
+-98.264 48.544 2934
+-98.138 48.544 2931
+-98.012 48.544 2929
+-97.886 48.544 2927
+-97.76 48.544 2925
+-97.634 48.544 2923
+-97.508 48.544 2920
+-97.382 48.544 2918
+-97.256 48.544 2916
+-97.13 48.544 2913
+-97.004 48.544 2911
+-96.878 48.544 2794
+-96.752 48.544 2792
+-96.626 48.544 2777
+-96.5 48.544 2774
+-96.374 48.544 2771
+-96.248 48.544 2768
+-96.122 48.544 2766
+-95.996 48.544 2763
+-95.87 48.544 2760
+-95.744 48.544 2757
+-95.618 48.544 2754
+-95.492 48.544 2751
+-95.366 48.544 2747
+-95.24 48.544 2744
+-95.114 48.544 2741
+-94.988 48.544 2738
+-94.862 48.544 2734
+-94.736 48.544 2731
+-94.61 48.544 2728
+-94.484 48.544 2724
+-94.358 48.544 2721
+-94.232 48.544 2717
+-94.106 48.544 2714
+-93.98 48.544 2710
+-93.854 48.544 2707
+-93.728 48.544 2703
+-93.602 48.544 2700
+-93.476 48.544 2697
+-93.35 48.544 2693
+-93.224 48.544 2690
+-93.098 48.544 2686
+-92.972 48.544 2683
+-92.846 48.544 2680
+-92.72 48.544 2677
+-92.594 48.544 2674
+-92.468 48.544 2671
+-92.342 48.544 2668
+-92.216 48.544 2665
+-92.09 48.544 2663
+-91.964 48.544 2660
+-91.838 48.544 2658
+-91.712 48.544 2655
+-91.586 48.544 2653
+-91.46 48.544 2651
+-91.334 48.544 2650
+-91.208 48.544 2648
+-91.082 48.544 2646
+-90.956 48.544 2645
+-90.83 48.544 2644
+-90.704 48.544 2643
+-90.578 48.544 2642
+-90.452 48.544 2641
+-90.326 48.544 2641
+-90.2 48.544 2598
+-90.074 48.544 2597
+-89.948 48.544 2597
+-89.822 48.544 2597
+-89.696 48.544 2597
+-89.57 48.544 2597
+-89.444 48.544 2597
+-89.318 48.544 2598
+-89.192 48.544 2598
+-89.066 48.544 2599
+-88.94 48.544 2599
+-88.814 48.544 2600
+-88.688 48.544 2601
+-88.562 48.544 2602
+-88.436 48.544 2602
+-88.31 48.544 2603
+-88.184 48.544 2604
+-88.058 48.544 2605
+-87.932 48.544 2606
+-87.806 48.544 2607
+-87.68 48.544 2608
+-87.554 48.544 2609
+-87.428 48.544 2610
+-87.302 48.544 2612
+-87.176 48.544 2613
+-87.05 48.544 2614
+-86.924 48.544 2615
+-86.798 48.544 2616
+-86.672 48.544 2617
+-86.546 48.544 2618
+-86.42 48.544 2619
+-86.294 48.544 2620
+-86.168 48.544 2621
+-86.042 48.544 2622
+-85.916 48.544 2624
+-85.79 48.544 2625
+-85.664 48.544 2626
+-85.538 48.544 2627
+-85.412 48.544 2628
+-85.286 48.544 2629
+-85.16 48.544 2629
+-85.034 48.544 2630
+-84.908 48.544 2631
+-84.782 48.544 2632
+-84.656 48.544 2633
+-84.53 48.544 2634
+-84.404 48.544 2635
+-84.278 48.544 2636
+-84.152 48.544 2637
+-84.026 48.544 2638
+-83.9 48.544 2639
+-83.774 48.544 2639
+-83.648 48.544 2640
+-83.522 48.544 2641
+-83.396 48.544 2642
+-83.27 48.544 2643
+-83.144 48.544 2644
+-83.018 48.544 2644
+-82.892 48.544 2645
+-82.766 48.544 2646
+-82.64 48.544 2647
+-82.514 48.544 2658
+-82.388 48.544 2659
+-82.262 48.544 2659
+-82.136 48.544 2660
+-82.01 48.544 2552
+-81.884 48.544 2552
+-81.758 48.544 2553
+-81.632 48.544 2553
+-81.506 48.544 2554
+-81.38 48.544 2554
+-81.254 48.544 2554
+-81.128 48.544 2555
+-81.002 48.544 2555
+-80.876 48.544 2556
+-80.75 48.544 2562
+-80.624 48.544 2571
+-80.498 48.544 2571
+-80.372 48.544 2572
+-80.246 48.544 2572
+-80.12 48.544 2591
+-79.994 48.544 2591
+-79.868 48.544 2592
+-79.742 48.544 2593
+-79.616 48.544 2596
+-79.49 48.544 2725
+-79.364 48.544 2725
+-79.238 48.544 2725
+-79.112 48.544 2732
+-78.986 48.544 2733
+-78.86 48.544 2733
+-78.734 48.544 2751
+-78.608 48.544 2732
+-78.482 48.544 2747
+-78.356 48.544 2747
+-78.23 48.544 2743
+-78.104 48.544 2743
+-77.978 48.544 2744
+-77.852 48.544 2744
+-77.726 48.544 2746
+-77.6 48.544 2834
+-77.474 48.544 2834
+-77.348 48.544 2835
+-77.222 48.544 2836
+-77.096 48.544 2854
+-76.97 48.544 2855
+-76.844 48.544 2835
+-76.718 48.544 2835
+-76.592 48.544 2836
+-76.466 48.544 2837
+-76.34 48.544 2808
+-76.214 48.544 2818
+-76.088 48.544 2819
+-75.962 48.544 2946
+-75.836 48.544 2906
+-75.71 48.544 2906
+-75.584 48.544 3046
+-75.458 48.544 3042
+-75.332 48.544 3003
+-75.206 48.544 3068
+-75.08 48.544 2955
+-74.954 48.544 2987
+-74.828 48.544 3043
+-74.702 48.544 2938
+-74.576 48.544 2945
+-74.45 48.544 2849
+-74.324 48.544 2845
+-74.198 48.544 2862
+-74.072 48.544 2832
+-73.946 48.544 2833
+-73.82 48.544 2834
+-73.694 48.544 2771
+-73.568 48.544 2816
+-73.442 48.544 2807
+-73.316 48.544 2796
+-73.19 48.544 2797
+-73.064 48.544 2798
+-72.938 48.544 2799
+-72.812 48.544 2737
+-72.686 48.544 2732
+-72.56 48.544 2733
+-72.434 48.544 2733
+-72.308 48.544 2734
+-72.182 48.544 2730
+-72.056 48.544 2674
+-71.93 48.544 2779
+-71.804 48.544 2775
+-71.678 48.544 2781
+-71.552 48.544 2782
+-71.426 48.544 2782
+-71.3 48.544 2783
+-71.174 48.544 2809
+-71.048 48.544 2786
+-70.922 48.544 2854
+-70.796 48.544 2854
+-70.67 48.544 2844
+-70.544 48.544 2852
+-70.418 48.544 2853
+-70.292 48.544 2854
+-70.166 48.544 2841
+-70.04 48.544 2957
+-69.914 48.544 2958
+-69.788 48.544 2959
+-69.662 48.544 2959
+-69.536 48.544 3059
+-69.41 48.544 3011
+-69.284 48.544 3159
+-69.158 48.544 3160
+-69.032 48.544 3121
+-68.906 48.544 3122
+-68.78 48.544 3122
+-68.654 48.544 3122
+-68.528 48.544 3123
+-68.402 48.544 3123
+-68.276 48.544 3224
+-68.15 48.544 3219
+-68.024 48.544 3219
+-67.898 48.544 3220
+-67.772 48.544 3220
+-67.646 48.544 3161
+-67.52 48.544 3199
+-67.394 48.544 3200
+-67.268 48.544 3281
+-67.142 48.544 3185
+-67.016 48.544 3186
+-66.89 48.544 3187
+-66.764 48.544 3237
+-66.638 48.544 3189
+-66.512 48.544 3189
+-66.386 48.544 3190
+-66.26 48.544 3417
+-66.134 48.544 3360
+-66.008 48.544 3360
+-65.882 48.544 3495
+-65.756 48.544 3466
+-65.63 48.544 3466
+-65.504 48.544 3410
+-65.378 48.544 3483
+-65.252 48.544 3484
+-65.126 48.544 3484
+-128 48.492 4329
+-127.874 48.492 4294
+-127.748 48.492 4275
+-127.622 48.492 4370
+-127.496 48.492 4385
+-127.37 48.492 4515
+-127.244 48.492 4710
+-127.118 48.492 4829
+-126.992 48.492 4912
+-126.866 48.492 5056
+-126.74 48.492 5217
+-126.614 48.492 5309
+-126.488 48.492 5356
+-126.362 48.492 5509
+-126.236 48.492 5720
+-126.11 48.492 5844
+-125.984 48.492 5992
+-125.858 48.492 6082
+-125.732 48.492 6184
+-125.606 48.492 6313
+-125.48 48.492 6366
+-125.354 48.492 6516
+-125.228 48.492 6655
+-125.102 48.492 6781
+-124.976 48.492 6873
+-124.85 48.492 6942
+-124.724 48.492 7062
+-124.598 48.492 7190
+-124.472 48.492 7291
+-124.346 48.492 7396
+-124.22 48.492 7435
+-124.094 48.492 7500
+-123.968 48.492 7648
+-123.842 48.492 7736
+-123.716 48.492 7755
+-123.59 48.492 7825
+-123.464 48.492 7873
+-123.338 48.492 7902
+-123.212 48.492 7950
+-123.086 48.492 7965
+-122.96 48.492 7970
+-122.834 48.492 7939
+-122.708 48.492 7941
+-122.582 48.492 7920
+-122.456 48.492 7883
+-122.33 48.492 7808
+-122.204 48.492 7781
+-122.078 48.492 7721
+-121.952 48.492 7615
+-121.826 48.492 7543
+-121.7 48.492 7439
+-121.574 48.492 7363
+-121.448 48.492 7253
+-121.322 48.492 7147
+-121.196 48.492 7060
+-121.07 48.492 6971
+-120.944 48.492 6883
+-120.818 48.492 6755
+-120.692 48.492 6633
+-120.566 48.492 6492
+-120.44 48.492 6366
+-120.314 48.492 6301
+-120.188 48.492 6191
+-120.062 48.492 6140
+-119.936 48.492 6248
+-119.81 48.492 6338
+-119.684 48.492 6423
+-119.558 48.492 6469
+-119.432 48.492 6490
+-119.306 48.492 6540
+-119.18 48.492 6589
+-119.054 48.492 6656
+-118.928 48.492 6673
+-118.802 48.492 6680
+-118.676 48.492 6737
+-118.55 48.492 6740
+-118.424 48.492 6760
+-118.298 48.492 6748
+-118.172 48.492 6733
+-118.046 48.492 6722
+-117.92 48.492 6724
+-117.794 48.492 6670
+-117.668 48.492 6635
+-117.542 48.492 6597
+-117.416 48.492 6539
+-117.29 48.492 6498
+-117.164 48.492 6458
+-117.038 48.492 6384
+-116.912 48.492 6316
+-116.786 48.492 6266
+-116.66 48.492 6210
+-116.534 48.492 6146
+-116.408 48.492 6031
+-116.282 48.492 5884
+-116.156 48.492 5817
+-116.03 48.492 5710
+-115.904 48.492 5687
+-115.778 48.492 5630
+-115.652 48.492 5530
+-115.526 48.492 5423
+-115.4 48.492 5375
+-115.274 48.492 5190
+-115.148 48.492 5016
+-115.022 48.492 5006
+-114.896 48.492 4874
+-114.77 48.492 4706
+-114.644 48.492 4612
+-114.518 48.492 4543
+-114.392 48.492 4471
+-114.266 48.492 4393
+-114.14 48.492 4282
+-114.014 48.492 4116
+-113.888 48.492 4002
+-113.762 48.492 3973
+-113.636 48.492 3960
+-113.51 48.492 3958
+-113.384 48.492 3918
+-113.258 48.492 3826
+-113.132 48.492 3778
+-113.006 48.492 3677
+-112.88 48.492 3517
+-112.754 48.492 3396
+-112.628 48.492 3216
+-112.502 48.492 3059
+-112.376 48.492 2888
+-112.25 48.492 2696
+-112.124 48.492 2464
+-111.998 48.492 2226
+-111.872 48.492 2115
+-111.746 48.492 2188
+-111.62 48.492 2353
+-111.494 48.492 2501
+-111.368 48.492 2629
+-111.242 48.492 2744
+-111.116 48.492 2837
+-110.99 48.492 2913
+-110.864 48.492 2889
+-110.738 48.492 2937
+-110.612 48.492 2977
+-110.486 48.492 3011
+-110.36 48.492 3025
+-110.234 48.492 3052
+-110.108 48.492 3075
+-109.982 48.492 3096
+-109.856 48.492 3099
+-109.73 48.492 3116
+-109.604 48.492 3132
+-109.478 48.492 3146
+-109.352 48.492 3159
+-109.226 48.492 3171
+-109.1 48.492 3181
+-108.974 48.492 3191
+-108.848 48.492 3201
+-108.722 48.492 3209
+-108.596 48.492 3217
+-108.47 48.492 3150
+-108.344 48.492 3143
+-108.218 48.492 3150
+-108.092 48.492 3156
+-107.966 48.492 3162
+-107.84 48.492 3168
+-107.714 48.492 3133
+-107.588 48.492 3132
+-107.462 48.492 3138
+-107.336 48.492 3144
+-107.21 48.492 3126
+-107.084 48.492 3131
+-106.958 48.492 3136
+-106.832 48.492 3140
+-106.706 48.492 3144
+-106.58 48.492 3148
+-106.454 48.492 3152
+-106.328 48.492 3156
+-106.202 48.492 3159
+-106.076 48.492 3163
+-105.95 48.492 3166
+-105.824 48.492 3169
+-105.698 48.492 3172
+-105.572 48.492 3175
+-105.446 48.492 3177
+-105.32 48.492 3146
+-105.194 48.492 3103
+-105.068 48.492 3105
+-104.942 48.492 3107
+-104.816 48.492 3109
+-104.69 48.492 3111
+-104.564 48.492 3113
+-104.438 48.492 3115
+-104.312 48.492 3117
+-104.186 48.492 3119
+-104.06 48.492 3120
+-103.934 48.492 3122
+-103.808 48.492 3123
+-103.682 48.492 3125
+-103.556 48.492 3126
+-103.43 48.492 3127
+-103.304 48.492 3129
+-103.178 48.492 3089
+-103.052 48.492 3090
+-102.926 48.492 3091
+-102.8 48.492 3092
+-102.674 48.492 3093
+-102.548 48.492 3078
+-102.422 48.492 3078
+-102.296 48.492 3049
+-102.17 48.492 3050
+-102.044 48.492 2997
+-101.918 48.492 2995
+-101.792 48.492 2865
+-101.666 48.492 2876
+-101.54 48.492 2879
+-101.414 48.492 2889
+-101.288 48.492 2933
+-101.162 48.492 2872
+-101.036 48.492 2984
+-100.91 48.492 2987
+-100.784 48.492 2990
+-100.658 48.492 3093
+-100.532 48.492 3094
+-100.406 48.492 3106
+-100.28 48.492 3177
+-100.154 48.492 3096
+-100.028 48.492 3082
+-99.902 48.492 3060
+-99.776 48.492 3005
+-99.65 48.492 2996
+-99.524 48.492 2983
+-99.398 48.492 2982
+-99.272 48.492 2977
+-99.146 48.492 2960
+-99.02 48.492 2945
+-98.894 48.492 2943
+-98.768 48.492 2942
+-98.642 48.492 2940
+-98.516 48.492 2938
+-98.39 48.492 2936
+-98.264 48.492 2934
+-98.138 48.492 2932
+-98.012 48.492 2929
+-97.886 48.492 2927
+-97.76 48.492 2925
+-97.634 48.492 2923
+-97.508 48.492 2920
+-97.382 48.492 2918
+-97.256 48.492 2916
+-97.13 48.492 2913
+-97.004 48.492 2910
+-96.878 48.492 2908
+-96.752 48.492 2792
+-96.626 48.492 2789
+-96.5 48.492 2774
+-96.374 48.492 2771
+-96.248 48.492 2768
+-96.122 48.492 2765
+-95.996 48.492 2762
+-95.87 48.492 2759
+-95.744 48.492 2756
+-95.618 48.492 2753
+-95.492 48.492 2750
+-95.366 48.492 2747
+-95.24 48.492 2743
+-95.114 48.492 2740
+-94.988 48.492 2737
+-94.862 48.492 2733
+-94.736 48.492 2730
+-94.61 48.492 2726
+-94.484 48.492 2723
+-94.358 48.492 2719
+-94.232 48.492 2715
+-94.106 48.492 2712
+-93.98 48.492 2708
+-93.854 48.492 2705
+-93.728 48.492 2701
+-93.602 48.492 2697
+-93.476 48.492 2694
+-93.35 48.492 2690
+-93.224 48.492 2687
+-93.098 48.492 2683
+-92.972 48.492 2680
+-92.846 48.492 2677
+-92.72 48.492 2673
+-92.594 48.492 2670
+-92.468 48.492 2667
+-92.342 48.492 2664
+-92.216 48.492 2661
+-92.09 48.492 2658
+-91.964 48.492 2656
+-91.838 48.492 2653
+-91.712 48.492 2651
+-91.586 48.492 2649
+-91.46 48.492 2647
+-91.334 48.492 2645
+-91.208 48.492 2643
+-91.082 48.492 2642
+-90.956 48.492 2640
+-90.83 48.492 2639
+-90.704 48.492 2638
+-90.578 48.492 2637
+-90.452 48.492 2636
+-90.326 48.492 2636
+-90.2 48.492 2593
+-90.074 48.492 2593
+-89.948 48.492 2593
+-89.822 48.492 2593
+-89.696 48.492 2593
+-89.57 48.492 2593
+-89.444 48.492 2593
+-89.318 48.492 2594
+-89.192 48.492 2594
+-89.066 48.492 2595
+-88.94 48.492 2595
+-88.814 48.492 2596
+-88.688 48.492 2597
+-88.562 48.492 2598
+-88.436 48.492 2599
+-88.31 48.492 2600
+-88.184 48.492 2601
+-88.058 48.492 2602
+-87.932 48.492 2603
+-87.806 48.492 2604
+-87.68 48.492 2605
+-87.554 48.492 2607
+-87.428 48.492 2608
+-87.302 48.492 2609
+-87.176 48.492 2610
+-87.05 48.492 2611
+-86.924 48.492 2612
+-86.798 48.492 2614
+-86.672 48.492 2615
+-86.546 48.492 2616
+-86.42 48.492 2617
+-86.294 48.492 2618
+-86.168 48.492 2619
+-86.042 48.492 2620
+-85.916 48.492 2622
+-85.79 48.492 2623
+-85.664 48.492 2624
+-85.538 48.492 2625
+-85.412 48.492 2626
+-85.286 48.492 2627
+-85.16 48.492 2628
+-85.034 48.492 2629
+-84.908 48.492 2630
+-84.782 48.492 2631
+-84.656 48.492 2632
+-84.53 48.492 2633
+-84.404 48.492 2633
+-84.278 48.492 2634
+-84.152 48.492 2635
+-84.026 48.492 2636
+-83.9 48.492 2637
+-83.774 48.492 2638
+-83.648 48.492 2639
+-83.522 48.492 2640
+-83.396 48.492 2641
+-83.27 48.492 2641
+-83.144 48.492 2642
+-83.018 48.492 2643
+-82.892 48.492 2644
+-82.766 48.492 2645
+-82.64 48.492 2656
+-82.514 48.492 2657
+-82.388 48.492 2657
+-82.262 48.492 2658
+-82.136 48.492 2551
+-82.01 48.492 2551
+-81.884 48.492 2551
+-81.758 48.492 2552
+-81.632 48.492 2552
+-81.506 48.492 2552
+-81.38 48.492 2553
+-81.254 48.492 2553
+-81.128 48.492 2554
+-81.002 48.492 2554
+-80.876 48.492 2561
+-80.75 48.492 2569
+-80.624 48.492 2570
+-80.498 48.492 2570
+-80.372 48.492 2571
+-80.246 48.492 2589
+-80.12 48.492 2590
+-79.994 48.492 2591
+-79.868 48.492 2591
+-79.742 48.492 2595
+-79.616 48.492 2723
+-79.49 48.492 2724
+-79.364 48.492 2724
+-79.238 48.492 2731
+-79.112 48.492 2731
+-78.986 48.492 2732
+-78.86 48.492 2750
+-78.734 48.492 2730
+-78.608 48.492 2745
+-78.482 48.492 2746
+-78.356 48.492 2741
+-78.23 48.492 2742
+-78.104 48.492 2742
+-77.978 48.492 2743
+-77.852 48.492 2745
+-77.726 48.492 2832
+-77.6 48.492 2833
+-77.474 48.492 2833
+-77.348 48.492 2834
+-77.222 48.492 2853
+-77.096 48.492 2853
+-76.97 48.492 2833
+-76.844 48.492 2834
+-76.718 48.492 2835
+-76.592 48.492 2835
+-76.466 48.492 2806
+-76.34 48.492 2817
+-76.214 48.492 2817
+-76.088 48.492 2945
+-75.962 48.492 2904
+-75.836 48.492 2905
+-75.71 48.492 3044
+-75.584 48.492 3041
+-75.458 48.492 3002
+-75.332 48.492 3067
+-75.206 48.492 2954
+-75.08 48.492 2985
+-74.954 48.492 3041
+-74.828 48.492 2937
+-74.702 48.492 2944
+-74.576 48.492 2847
+-74.45 48.492 2844
+-74.324 48.492 2860
+-74.198 48.492 2831
+-74.072 48.492 2832
+-73.946 48.492 2833
+-73.82 48.492 2770
+-73.694 48.492 2815
+-73.568 48.492 2806
+-73.442 48.492 2795
+-73.316 48.492 2796
+-73.19 48.492 2797
+-73.064 48.492 2798
+-72.938 48.492 2736
+-72.812 48.492 2731
+-72.686 48.492 2732
+-72.56 48.492 2733
+-72.434 48.492 2733
+-72.308 48.492 2729
+-72.182 48.492 2673
+-72.056 48.492 2779
+-71.93 48.492 2774
+-71.804 48.492 2780
+-71.678 48.492 2781
+-71.552 48.492 2782
+-71.426 48.492 2782
+-71.3 48.492 2808
+-71.174 48.492 2785
+-71.048 48.492 2853
+-70.922 48.492 2854
+-70.796 48.492 2844
+-70.67 48.492 2852
+-70.544 48.492 2852
+-70.418 48.492 2853
+-70.292 48.492 2840
+-70.166 48.492 2957
+-70.04 48.492 2957
+-69.914 48.492 2958
+-69.788 48.492 2959
+-69.662 48.492 3058
+-69.536 48.492 3010
+-69.41 48.492 3159
+-69.284 48.492 3159
+-69.158 48.492 3121
+-69.032 48.492 3121
+-68.906 48.492 3122
+-68.78 48.492 3122
+-68.654 48.492 3122
+-68.528 48.492 3123
+-68.402 48.492 3224
+-68.276 48.492 3218
+-68.15 48.492 3219
+-68.024 48.492 3219
+-67.898 48.492 3220
+-67.772 48.492 3160
+-67.646 48.492 3199
+-67.52 48.492 3199
+-67.394 48.492 3280
+-67.268 48.492 3185
+-67.142 48.492 3186
+-67.016 48.492 3186
+-66.89 48.492 3237
+-66.764 48.492 3188
+-66.638 48.492 3189
+-66.512 48.492 3189
+-66.386 48.492 3416
+-66.26 48.492 3360
+-66.134 48.492 3360
+-66.008 48.492 3494
+-65.882 48.492 3465
+-65.756 48.492 3466
+-65.63 48.492 3410
+-65.504 48.492 3482
+-65.378 48.492 3484
+-65.252 48.492 3484
+-65.126 48.492 3484
+-128 48.44 4308
+-127.874 48.44 4250
+-127.748 48.44 4134
+-127.622 48.44 4330
+-127.496 48.44 4437
+-127.37 48.44 4532
+-127.244 48.44 4709
+-127.118 48.44 4877
+-126.992 48.44 4954
+-126.866 48.44 5053
+-126.74 48.44 5217
+-126.614 48.44 5231
+-126.488 48.44 5391
+-126.362 48.44 5567
+-126.236 48.44 5741
+-126.11 48.44 5931
+-125.984 48.44 6003
+-125.858 48.44 6025
+-125.732 48.44 6177
+-125.606 48.44 6283
+-125.48 48.44 6412
+-125.354 48.44 6492
+-125.228 48.44 6644
+-125.102 48.44 6804
+-124.976 48.44 6848
+-124.85 48.44 7000
+-124.724 48.44 7108
+-124.598 48.44 7187
+-124.472 48.44 7321
+-124.346 48.44 7373
+-124.22 48.44 7494
+-124.094 48.44 7583
+-123.968 48.44 7707
+-123.842 48.44 7789
+-123.716 48.44 7807
+-123.59 48.44 7855
+-123.464 48.44 7915
+-123.338 48.44 7953
+-123.212 48.44 8005
+-123.086 48.44 8034
+-122.96 48.44 8015
+-122.834 48.44 8013
+-122.708 48.44 7975
+-122.582 48.44 7942
+-122.456 48.44 7905
+-122.33 48.44 7851
+-122.204 48.44 7799
+-122.078 48.44 7750
+-121.952 48.44 7683
+-121.826 48.44 7573
+-121.7 48.44 7477
+-121.574 48.44 7388
+-121.448 48.44 7307
+-121.322 48.44 7205
+-121.196 48.44 7078
+-121.07 48.44 6937
+-120.944 48.44 6884
+-120.818 48.44 6772
+-120.692 48.44 6617
+-120.566 48.44 6540
+-120.44 48.44 6380
+-120.314 48.44 6348
+-120.188 48.44 6280
+-120.062 48.44 6266
+-119.936 48.44 6295
+-119.81 48.44 6387
+-119.684 48.44 6412
+-119.558 48.44 6488
+-119.432 48.44 6538
+-119.306 48.44 6615
+-119.18 48.44 6634
+-119.054 48.44 6658
+-118.928 48.44 6716
+-118.802 48.44 6779
+-118.676 48.44 6784
+-118.55 48.44 6814
+-118.424 48.44 6820
+-118.298 48.44 6808
+-118.172 48.44 6808
+-118.046 48.44 6789
+-117.92 48.44 6749
+-117.794 48.44 6717
+-117.668 48.44 6687
+-117.542 48.44 6655
+-117.416 48.44 6603
+-117.29 48.44 6531
+-117.164 48.44 6540
+-117.038 48.44 6441
+-116.912 48.44 6392
+-116.786 48.44 6323
+-116.66 48.44 6234
+-116.534 48.44 6180
+-116.408 48.44 6070
+-116.282 48.44 5938
+-116.156 48.44 5845
+-116.03 48.44 5828
+-115.904 48.44 5738
+-115.778 48.44 5686
+-115.652 48.44 5594
+-115.526 48.44 5504
+-115.4 48.44 5418
+-115.274 48.44 5240
+-115.148 48.44 5055
+-115.022 48.44 4952
+-114.896 48.44 4836
+-114.77 48.44 4686
+-114.644 48.44 4622
+-114.518 48.44 4489
+-114.392 48.44 4480
+-114.266 48.44 4398
+-114.14 48.44 4297
+-114.014 48.44 4079
+-113.888 48.44 3914
+-113.762 48.44 3935
+-113.636 48.44 3934
+-113.51 48.44 3930
+-113.384 48.44 3928
+-113.258 48.44 3870
+-113.132 48.44 3778
+-113.006 48.44 3643
+-112.88 48.44 3531
+-112.754 48.44 3387
+-112.628 48.44 3160
+-112.502 48.44 2981
+-112.376 48.44 2805
+-112.25 48.44 2632
+-112.124 48.44 2408
+-111.998 48.44 2135
+-111.872 48.44 2006
+-111.746 48.44 2107
+-111.62 48.44 2289
+-111.494 48.44 2473
+-111.368 48.44 2628
+-111.242 48.44 2732
+-111.116 48.44 2829
+-110.99 48.44 2882
+-110.864 48.44 2947
+-110.738 48.44 2969
+-110.612 48.44 3013
+-110.486 48.44 2997
+-110.36 48.44 3028
+-110.234 48.44 3055
+-110.108 48.44 3079
+-109.982 48.44 3085
+-109.856 48.44 3104
+-109.73 48.44 3121
+-109.604 48.44 3137
+-109.478 48.44 3151
+-109.352 48.44 3164
+-109.226 48.44 3176
+-109.1 48.44 3187
+-108.974 48.44 3197
+-108.848 48.44 3206
+-108.722 48.44 3214
+-108.596 48.44 3147
+-108.47 48.44 3140
+-108.344 48.44 3148
+-108.218 48.44 3154
+-108.092 48.44 3161
+-107.966 48.44 3167
+-107.84 48.44 3132
+-107.714 48.44 3131
+-107.588 48.44 3137
+-107.462 48.44 3143
+-107.336 48.44 3126
+-107.21 48.44 3131
+-107.084 48.44 3136
+-106.958 48.44 3140
+-106.832 48.44 3145
+-106.706 48.44 3149
+-106.58 48.44 3153
+-106.454 48.44 3156
+-106.328 48.44 3160
+-106.202 48.44 3163
+-106.076 48.44 3167
+-105.95 48.44 3170
+-105.824 48.44 3173
+-105.698 48.44 3176
+-105.572 48.44 3178
+-105.446 48.44 3146
+-105.32 48.44 3104
+-105.194 48.44 3106
+-105.068 48.44 3108
+-104.942 48.44 3110
+-104.816 48.44 3112
+-104.69 48.44 3114
+-104.564 48.44 3116
+-104.438 48.44 3118
+-104.312 48.44 3119
+-104.186 48.44 3121
+-104.06 48.44 3122
+-103.934 48.44 3124
+-103.808 48.44 3125
+-103.682 48.44 3127
+-103.556 48.44 3128
+-103.43 48.44 3129
+-103.304 48.44 3131
+-103.178 48.44 3090
+-103.052 48.44 3092
+-102.926 48.44 3093
+-102.8 48.44 3094
+-102.674 48.44 3095
+-102.548 48.44 3079
+-102.422 48.44 3059
+-102.296 48.44 3050
+-102.17 48.44 3051
+-102.044 48.44 2999
+-101.918 48.44 2997
+-101.792 48.44 2866
+-101.666 48.44 2897
+-101.54 48.44 2906
+-101.414 48.44 2890
+-101.288 48.44 2939
+-101.162 48.44 2994
+-101.036 48.44 2990
+-100.91 48.44 2988
+-100.784 48.44 2996
+-100.658 48.44 3106
+-100.532 48.44 3106
+-100.406 48.44 3179
+-100.28 48.44 3177
+-100.154 48.44 3176
+-100.028 48.44 3094
+-99.902 48.44 3081
+-99.776 48.44 3059
+-99.65 48.44 3004
+-99.524 48.44 2995
+-99.398 48.44 2982
+-99.272 48.44 2980
+-99.146 48.44 2976
+-99.02 48.44 2959
+-98.894 48.44 2944
+-98.768 48.44 2942
+-98.642 48.44 2940
+-98.516 48.44 2938
+-98.39 48.44 2936
+-98.264 48.44 2934
+-98.138 48.44 2932
+-98.012 48.44 2930
+-97.886 48.44 2927
+-97.76 48.44 2925
+-97.634 48.44 2923
+-97.508 48.44 2920
+-97.382 48.44 2918
+-97.256 48.44 2915
+-97.13 48.44 2913
+-97.004 48.44 2910
+-96.878 48.44 2907
+-96.752 48.44 2905
+-96.626 48.44 2789
+-96.5 48.44 2786
+-96.374 48.44 2771
+-96.248 48.44 2768
+-96.122 48.44 2765
+-95.996 48.44 2762
+-95.87 48.44 2759
+-95.744 48.44 2756
+-95.618 48.44 2753
+-95.492 48.44 2749
+-95.366 48.44 2746
+-95.24 48.44 2743
+-95.114 48.44 2739
+-94.988 48.44 2736
+-94.862 48.44 2732
+-94.736 48.44 2728
+-94.61 48.44 2725
+-94.484 48.44 2721
+-94.358 48.44 2717
+-94.232 48.44 2714
+-94.106 48.44 2710
+-93.98 48.44 2706
+-93.854 48.44 2702
+-93.728 48.44 2699
+-93.602 48.44 2695
+-93.476 48.44 2691
+-93.35 48.44 2687
+-93.224 48.44 2684
+-93.098 48.44 2680
+-92.972 48.44 2677
+-92.846 48.44 2673
+-92.72 48.44 2670
+-92.594 48.44 2666
+-92.468 48.44 2663
+-92.342 48.44 2660
+-92.216 48.44 2657
+-92.09 48.44 2654
+-91.964 48.44 2651
+-91.838 48.44 2649
+-91.712 48.44 2646
+-91.586 48.44 2644
+-91.46 48.44 2642
+-91.334 48.44 2640
+-91.208 48.44 2638
+-91.082 48.44 2636
+-90.956 48.44 2635
+-90.83 48.44 2634
+-90.704 48.44 2633
+-90.578 48.44 2632
+-90.452 48.44 2631
+-90.326 48.44 2631
+-90.2 48.44 2588
+-90.074 48.44 2588
+-89.948 48.44 2588
+-89.822 48.44 2588
+-89.696 48.44 2588
+-89.57 48.44 2588
+-89.444 48.44 2589
+-89.318 48.44 2589
+-89.192 48.44 2590
+-89.066 48.44 2591
+-88.94 48.44 2591
+-88.814 48.44 2592
+-88.688 48.44 2593
+-88.562 48.44 2594
+-88.436 48.44 2595
+-88.31 48.44 2596
+-88.184 48.44 2598
+-88.058 48.44 2599
+-87.932 48.44 2600
+-87.806 48.44 2601
+-87.68 48.44 2602
+-87.554 48.44 2604
+-87.428 48.44 2605
+-87.302 48.44 2606
+-87.176 48.44 2607
+-87.05 48.44 2609
+-86.924 48.44 2610
+-86.798 48.44 2611
+-86.672 48.44 2612
+-86.546 48.44 2614
+-86.42 48.44 2615
+-86.294 48.44 2616
+-86.168 48.44 2617
+-86.042 48.44 2618
+-85.916 48.44 2620
+-85.79 48.44 2621
+-85.664 48.44 2622
+-85.538 48.44 2623
+-85.412 48.44 2624
+-85.286 48.44 2625
+-85.16 48.44 2626
+-85.034 48.44 2627
+-84.908 48.44 2628
+-84.782 48.44 2629
+-84.656 48.44 2630
+-84.53 48.44 2631
+-84.404 48.44 2632
+-84.278 48.44 2633
+-84.152 48.44 2634
+-84.026 48.44 2635
+-83.9 48.44 2636
+-83.774 48.44 2637
+-83.648 48.44 2637
+-83.522 48.44 2638
+-83.396 48.44 2639
+-83.27 48.44 2640
+-83.144 48.44 2641
+-83.018 48.44 2642
+-82.892 48.44 2643
+-82.766 48.44 2654
+-82.64 48.44 2654
+-82.514 48.44 2655
+-82.388 48.44 2656
+-82.262 48.44 2549
+-82.136 48.44 2549
+-82.01 48.44 2550
+-81.884 48.44 2550
+-81.758 48.44 2550
+-81.632 48.44 2551
+-81.506 48.44 2551
+-81.38 48.44 2552
+-81.254 48.44 2552
+-81.128 48.44 2553
+-81.002 48.44 2559
+-80.876 48.44 2568
+-80.75 48.44 2568
+-80.624 48.44 2569
+-80.498 48.44 2569
+-80.372 48.44 2588
+-80.246 48.44 2589
+-80.12 48.44 2589
+-79.994 48.44 2590
+-79.868 48.44 2594
+-79.742 48.44 2722
+-79.616 48.44 2722
+-79.49 48.44 2722
+-79.364 48.44 2729
+-79.238 48.44 2730
+-79.112 48.44 2730
+-78.986 48.44 2748
+-78.86 48.44 2729
+-78.734 48.44 2743
+-78.608 48.44 2744
+-78.482 48.44 2740
+-78.356 48.44 2740
+-78.23 48.44 2741
+-78.104 48.44 2741
+-77.978 48.44 2744
+-77.852 48.44 2830
+-77.726 48.44 2831
+-77.6 48.44 2832
+-77.474 48.44 2832
+-77.348 48.44 2851
+-77.222 48.44 2852
+-77.096 48.44 2832
+-76.97 48.44 2832
+-76.844 48.44 2833
+-76.718 48.44 2834
+-76.592 48.44 2805
+-76.466 48.44 2815
+-76.34 48.44 2816
+-76.214 48.44 2943
+-76.088 48.44 2903
+-75.962 48.44 2904
+-75.836 48.44 3042
+-75.71 48.44 3039
+-75.584 48.44 3000
+-75.458 48.44 3065
+-75.332 48.44 2952
+-75.206 48.44 2984
+-75.08 48.44 3040
+-74.954 48.44 2935
+-74.828 48.44 2942
+-74.702 48.44 2846
+-74.576 48.44 2842
+-74.45 48.44 2859
+-74.324 48.44 2830
+-74.198 48.44 2831
+-74.072 48.44 2831
+-73.946 48.44 2769
+-73.82 48.44 2814
+-73.694 48.44 2805
+-73.568 48.44 2794
+-73.442 48.44 2795
+-73.316 48.44 2796
+-73.19 48.44 2797
+-73.064 48.44 2735
+-72.938 48.44 2730
+-72.812 48.44 2731
+-72.686 48.44 2732
+-72.56 48.44 2733
+-72.434 48.44 2729
+-72.308 48.44 2672
+-72.182 48.44 2778
+-72.056 48.44 2773
+-71.93 48.44 2780
+-71.804 48.44 2780
+-71.678 48.44 2781
+-71.552 48.44 2782
+-71.426 48.44 2808
+-71.3 48.44 2785
+-71.174 48.44 2852
+-71.048 48.44 2853
+-70.922 48.44 2843
+-70.796 48.44 2851
+-70.67 48.44 2852
+-70.544 48.44 2853
+-70.418 48.44 2840
+-70.292 48.44 2956
+-70.166 48.44 2957
+-70.04 48.44 2957
+-69.914 48.44 2958
+-69.788 48.44 3058
+-69.662 48.44 3010
+-69.536 48.44 3158
+-69.41 48.44 3159
+-69.284 48.44 3120
+-69.158 48.44 3121
+-69.032 48.44 3121
+-68.906 48.44 3122
+-68.78 48.44 3122
+-68.654 48.44 3122
+-68.528 48.44 3223
+-68.402 48.44 3218
+-68.276 48.44 3218
+-68.15 48.44 3219
+-68.024 48.44 3219
+-67.898 48.44 3160
+-67.772 48.44 3198
+-67.646 48.44 3199
+-67.52 48.44 3279
+-67.394 48.44 3185
+-67.268 48.44 3185
+-67.142 48.44 3186
+-67.016 48.44 3236
+-66.89 48.44 3188
+-66.764 48.44 3188
+-66.638 48.44 3189
+-66.512 48.44 3416
+-66.386 48.44 3359
+-66.26 48.44 3360
+-66.134 48.44 3494
+-66.008 48.44 3465
+-65.882 48.44 3466
+-65.756 48.44 3410
+-65.63 48.44 3482
+-65.504 48.44 3483
+-65.378 48.44 3484
+-65.252 48.44 3484
+-65.126 48.44 3484
+-128 48.388 4320
+-127.874 48.388 4276
+-127.748 48.388 4259
+-127.622 48.388 4357
+-127.496 48.388 4437
+-127.37 48.388 4525
+-127.244 48.388 4704
+-127.118 48.388 4879
+-126.992 48.388 4973
+-126.866 48.388 5125
+-126.74 48.388 5293
+-126.614 48.388 5352
+-126.488 48.388 5488
+-126.362 48.388 5609
+-126.236 48.388 5767
+-126.11 48.388 5913
+-125.984 48.388 5975
+-125.858 48.388 6094
+-125.732 48.388 6214
+-125.606 48.388 6309
+-125.48 48.388 6430
+-125.354 48.388 6547
+-125.228 48.388 6676
+-125.102 48.388 6837
+-124.976 48.388 6948
+-124.85 48.388 6964
+-124.724 48.388 7135
+-124.598 48.388 7277
+-124.472 48.388 7303
+-124.346 48.388 7407
+-124.22 48.388 7521
+-124.094 48.388 7624
+-123.968 48.388 7744
+-123.842 48.388 7805
+-123.716 48.388 7866
+-123.59 48.388 7919
+-123.464 48.388 7964
+-123.338 48.388 8028
+-123.212 48.388 8048
+-123.086 48.388 8091
+-122.96 48.388 8087
+-122.834 48.388 8095
+-122.708 48.388 8018
+-122.582 48.388 8043
+-122.456 48.388 7964
+-122.33 48.388 7907
+-122.204 48.388 7847
+-122.078 48.388 7797
+-121.952 48.388 7732
+-121.826 48.388 7630
+-121.7 48.388 7526
+-121.574 48.388 7467
+-121.448 48.388 7290
+-121.322 48.388 7252
+-121.196 48.388 7141
+-121.07 48.388 7002
+-120.944 48.388 6902
+-120.818 48.388 6785
+-120.692 48.388 6708
+-120.566 48.388 6563
+-120.44 48.388 6434
+-120.314 48.388 6356
+-120.188 48.388 6320
+-120.062 48.388 6254
+-119.936 48.388 6364
+-119.81 48.388 6411
+-119.684 48.388 6452
+-119.558 48.388 6531
+-119.432 48.388 6604
+-119.306 48.388 6633
+-119.18 48.388 6695
+-119.054 48.388 6729
+-118.928 48.388 6793
+-118.802 48.388 6815
+-118.676 48.388 6847
+-118.55 48.388 6847
+-118.424 48.388 6856
+-118.298 48.388 6872
+-118.172 48.388 6863
+-118.046 48.388 6835
+-117.92 48.388 6834
+-117.794 48.388 6792
+-117.668 48.388 6760
+-117.542 48.388 6729
+-117.416 48.388 6675
+-117.29 48.388 6582
+-117.164 48.388 6519
+-117.038 48.388 6491
+-116.912 48.388 6418
+-116.786 48.388 6369
+-116.66 48.388 6307
+-116.534 48.388 6219
+-116.408 48.388 6099
+-116.282 48.388 5980
+-116.156 48.388 5879
+-116.03 48.388 5818
+-115.904 48.388 5748
+-115.778 48.388 5703
+-115.652 48.388 5604
+-115.526 48.388 5505
+-115.4 48.388 5416
+-115.274 48.388 5302
+-115.148 48.388 5109
+-115.022 48.388 4945
+-114.896 48.388 4814
+-114.77 48.388 4712
+-114.644 48.388 4633
+-114.518 48.388 4573
+-114.392 48.388 4486
+-114.266 48.388 4360
+-114.14 48.388 4333
+-114.014 48.388 4144
+-113.888 48.388 3973
+-113.762 48.388 3840
+-113.636 48.388 3889
+-113.51 48.388 3903
+-113.384 48.388 3924
+-113.258 48.388 3874
+-113.132 48.388 3767
+-113.006 48.388 3670
+-112.88 48.388 3518
+-112.754 48.388 3353
+-112.628 48.388 3149
+-112.502 48.388 2889
+-112.376 48.388 2710
+-112.25 48.388 2585
+-112.124 48.388 2457
+-111.998 48.388 2250
+-111.872 48.388 2126
+-111.746 48.388 2188
+-111.62 48.388 2344
+-111.494 48.388 2507
+-111.368 48.388 2649
+-111.242 48.388 2767
+-111.116 48.388 2856
+-110.99 48.388 2891
+-110.864 48.388 2954
+-110.738 48.388 3008
+-110.612 48.388 3054
+-110.486 48.388 3003
+-110.36 48.388 3034
+-110.234 48.388 3061
+-110.108 48.388 3069
+-109.982 48.388 3091
+-109.856 48.388 3110
+-109.73 48.388 3128
+-109.604 48.388 3143
+-109.478 48.388 3157
+-109.352 48.388 3170
+-109.226 48.388 3182
+-109.1 48.388 3193
+-108.974 48.388 3202
+-108.848 48.388 3211
+-108.722 48.388 3144
+-108.596 48.388 3138
+-108.47 48.388 3146
+-108.344 48.388 3153
+-108.218 48.388 3160
+-108.092 48.388 3166
+-107.966 48.388 3131
+-107.84 48.388 3131
+-107.714 48.388 3137
+-107.588 48.388 3143
+-107.462 48.388 3126
+-107.336 48.388 3131
+-107.21 48.388 3136
+-107.084 48.388 3141
+-106.958 48.388 3145
+-106.832 48.388 3149
+-106.706 48.388 3153
+-106.58 48.388 3157
+-106.454 48.388 3161
+-106.328 48.388 3164
+-106.202 48.388 3168
+-106.076 48.388 3171
+-105.95 48.388 3174
+-105.824 48.388 3177
+-105.698 48.388 3179
+-105.572 48.388 3147
+-105.446 48.388 3104
+-105.32 48.388 3107
+-105.194 48.388 3109
+-105.068 48.388 3111
+-104.942 48.388 3113
+-104.816 48.388 3115
+-104.69 48.388 3117
+-104.564 48.388 3118
+-104.438 48.388 3120
+-104.312 48.388 3122
+-104.186 48.388 3123
+-104.06 48.388 3125
+-103.934 48.388 3126
+-103.808 48.388 3127
+-103.682 48.388 3129
+-103.556 48.388 3130
+-103.43 48.388 3131
+-103.304 48.388 3133
+-103.178 48.388 3092
+-103.052 48.388 3093
+-102.926 48.388 3094
+-102.8 48.388 3095
+-102.674 48.388 3096
+-102.548 48.388 3081
+-102.422 48.388 3060
+-102.296 48.388 3051
+-102.17 48.388 3053
+-102.044 48.388 3000
+-101.918 48.388 2998
+-101.792 48.388 2868
+-101.666 48.388 2898
+-101.54 48.388 2908
+-101.414 48.388 2892
+-101.288 48.388 2940
+-101.162 48.388 2996
+-101.036 48.388 2991
+-100.91 48.388 2994
+-100.784 48.388 3106
+-100.658 48.388 3106
+-100.532 48.388 3181
+-100.406 48.388 3179
+-100.28 48.388 3178
+-100.154 48.388 3176
+-100.028 48.388 3175
+-99.902 48.388 3093
+-99.776 48.388 3080
+-99.65 48.388 3058
+-99.524 48.388 3003
+-99.398 48.388 2994
+-99.272 48.388 2981
+-99.146 48.388 2979
+-99.02 48.388 2975
+-98.894 48.388 2957
+-98.768 48.388 2942
+-98.642 48.388 2940
+-98.516 48.388 2938
+-98.39 48.388 2936
+-98.264 48.388 2934
+-98.138 48.388 2932
+-98.012 48.388 2930
+-97.886 48.388 2927
+-97.76 48.388 2925
+-97.634 48.388 2923
+-97.508 48.388 2920
+-97.382 48.388 2918
+-97.256 48.388 2915
+-97.13 48.388 2913
+-97.004 48.388 2910
+-96.878 48.388 2907
+-96.752 48.388 2904
+-96.626 48.388 2902
+-96.5 48.388 2786
+-96.374 48.388 2783
+-96.248 48.388 2768
+-96.122 48.388 2765
+-95.996 48.388 2762
+-95.87 48.388 2759
+-95.744 48.388 2756
+-95.618 48.388 2752
+-95.492 48.388 2749
+-95.366 48.388 2745
+-95.24 48.388 2742
+-95.114 48.388 2738
+-94.988 48.388 2735
+-94.862 48.388 2731
+-94.736 48.388 2727
+-94.61 48.388 2723
+-94.484 48.388 2720
+-94.358 48.388 2716
+-94.232 48.388 2712
+-94.106 48.388 2708
+-93.98 48.388 2704
+-93.854 48.388 2700
+-93.728 48.388 2696
+-93.602 48.388 2692
+-93.476 48.388 2688
+-93.35 48.388 2684
+-93.224 48.388 2681
+-93.098 48.388 2677
+-92.972 48.388 2673
+-92.846 48.388 2669
+-92.72 48.388 2666
+-92.594 48.388 2662
+-92.468 48.388 2659
+-92.342 48.388 2656
+-92.216 48.388 2653
+-92.09 48.388 2649
+-91.964 48.388 2647
+-91.838 48.388 2644
+-91.712 48.388 2641
+-91.586 48.388 2639
+-91.46 48.388 2637
+-91.334 48.388 2635
+-91.208 48.388 2633
+-91.082 48.388 2631
+-90.956 48.388 2630
+-90.83 48.388 2628
+-90.704 48.388 2627
+-90.578 48.388 2626
+-90.452 48.388 2626
+-90.326 48.388 2625
+-90.2 48.388 2583
+-90.074 48.388 2583
+-89.948 48.388 2583
+-89.822 48.388 2583
+-89.696 48.388 2583
+-89.57 48.388 2584
+-89.444 48.388 2584
+-89.318 48.388 2585
+-89.192 48.388 2586
+-89.066 48.388 2586
+-88.94 48.388 2587
+-88.814 48.388 2588
+-88.688 48.388 2589
+-88.562 48.388 2590
+-88.436 48.388 2592
+-88.31 48.388 2593
+-88.184 48.388 2594
+-88.058 48.388 2595
+-87.932 48.388 2597
+-87.806 48.388 2598
+-87.68 48.388 2599
+-87.554 48.388 2601
+-87.428 48.388 2602
+-87.302 48.388 2603
+-87.176 48.388 2605
+-87.05 48.388 2606
+-86.924 48.388 2607
+-86.798 48.388 2609
+-86.672 48.388 2610
+-86.546 48.388 2611
+-86.42 48.388 2613
+-86.294 48.388 2614
+-86.168 48.388 2615
+-86.042 48.388 2616
+-85.916 48.388 2618
+-85.79 48.388 2619
+-85.664 48.388 2620
+-85.538 48.388 2621
+-85.412 48.388 2622
+-85.286 48.388 2623
+-85.16 48.388 2624
+-85.034 48.388 2625
+-84.908 48.388 2626
+-84.782 48.388 2627
+-84.656 48.388 2628
+-84.53 48.388 2629
+-84.404 48.388 2630
+-84.278 48.388 2631
+-84.152 48.388 2632
+-84.026 48.388 2633
+-83.9 48.388 2634
+-83.774 48.388 2635
+-83.648 48.388 2636
+-83.522 48.388 2637
+-83.396 48.388 2638
+-83.27 48.388 2639
+-83.144 48.388 2640
+-83.018 48.388 2640
+-82.892 48.388 2651
+-82.766 48.388 2652
+-82.64 48.388 2653
+-82.514 48.388 2654
+-82.388 48.388 2547
+-82.262 48.388 2548
+-82.136 48.388 2548
+-82.01 48.388 2549
+-81.884 48.388 2549
+-81.758 48.388 2549
+-81.632 48.388 2550
+-81.506 48.388 2550
+-81.38 48.388 2551
+-81.254 48.388 2551
+-81.128 48.388 2558
+-81.002 48.388 2566
+-80.876 48.388 2567
+-80.75 48.388 2567
+-80.624 48.388 2568
+-80.498 48.388 2586
+-80.372 48.388 2587
+-80.246 48.388 2588
+-80.12 48.388 2588
+-79.994 48.388 2592
+-79.868 48.388 2720
+-79.742 48.388 2720
+-79.616 48.388 2721
+-79.49 48.388 2728
+-79.364 48.388 2728
+-79.238 48.388 2729
+-79.112 48.388 2746
+-78.986 48.388 2727
+-78.86 48.388 2742
+-78.734 48.388 2742
+-78.608 48.388 2738
+-78.482 48.388 2739
+-78.356 48.388 2739
+-78.23 48.388 2740
+-78.104 48.388 2742
+-77.978 48.388 2829
+-77.852 48.388 2829
+-77.726 48.388 2830
+-77.6 48.388 2831
+-77.474 48.388 2849
+-77.348 48.388 2850
+-77.222 48.388 2830
+-77.096 48.388 2831
+-76.97 48.388 2832
+-76.844 48.388 2832
+-76.718 48.388 2804
+-76.592 48.388 2814
+-76.466 48.388 2814
+-76.34 48.388 2941
+-76.214 48.388 2901
+-76.088 48.388 2902
+-75.962 48.388 3040
+-75.836 48.388 3037
+-75.71 48.388 2998
+-75.584 48.388 3063
+-75.458 48.388 2951
+-75.332 48.388 2982
+-75.206 48.388 3038
+-75.08 48.388 2934
+-74.954 48.388 2941
+-74.828 48.388 2845
+-74.702 48.388 2841
+-74.576 48.388 2858
+-74.45 48.388 2828
+-74.324 48.388 2829
+-74.198 48.388 2830
+-74.072 48.388 2768
+-73.946 48.388 2812
+-73.82 48.388 2804
+-73.694 48.388 2793
+-73.568 48.388 2794
+-73.442 48.388 2795
+-73.316 48.388 2796
+-73.19 48.388 2735
+-73.064 48.388 2729
+-72.938 48.388 2730
+-72.812 48.388 2731
+-72.686 48.388 2732
+-72.56 48.388 2728
+-72.434 48.388 2672
+-72.308 48.388 2777
+-72.182 48.388 2773
+-72.056 48.388 2779
+-71.93 48.388 2780
+-71.804 48.388 2780
+-71.678 48.388 2781
+-71.552 48.388 2807
+-71.426 48.388 2784
+-71.3 48.388 2851
+-71.174 48.388 2852
+-71.048 48.388 2842
+-70.922 48.388 2850
+-70.796 48.388 2851
+-70.67 48.388 2852
+-70.544 48.388 2839
+-70.418 48.388 2955
+-70.292 48.388 2956
+-70.166 48.388 2957
+-70.04 48.388 2958
+-69.914 48.388 3057
+-69.788 48.388 3009
+-69.662 48.388 3158
+-69.536 48.388 3158
+-69.41 48.388 3120
+-69.284 48.388 3120
+-69.158 48.388 3121
+-69.032 48.388 3121
+-68.906 48.388 3122
+-68.78 48.388 3122
+-68.654 48.388 3223
+-68.528 48.388 3217
+-68.402 48.388 3218
+-68.276 48.388 3218
+-68.15 48.388 3219
+-68.024 48.388 3160
+-67.898 48.388 3198
+-67.772 48.388 3198
+-67.646 48.388 3279
+-67.52 48.388 3184
+-67.394 48.388 3185
+-67.268 48.388 3185
+-67.142 48.388 3236
+-67.016 48.388 3187
+-66.89 48.388 3188
+-66.764 48.388 3189
+-66.638 48.388 3416
+-66.512 48.388 3359
+-66.386 48.388 3359
+-66.26 48.388 3494
+-66.134 48.388 3465
+-66.008 48.388 3465
+-65.882 48.388 3409
+-65.756 48.388 3482
+-65.63 48.388 3483
+-65.504 48.388 3483
+-65.378 48.388 3484
+-65.252 48.388 3484
+-65.126 48.388 3484
+-128 48.336 4339
+-127.874 48.336 4267
+-127.748 48.336 4144
+-127.622 48.336 4342
+-127.496 48.336 4428
+-127.37 48.336 4561
+-127.244 48.336 4729
+-127.118 48.336 4926
+-126.992 48.336 5094
+-126.866 48.336 5197
+-126.74 48.336 5314
+-126.614 48.336 5400
+-126.488 48.336 5513
+-126.362 48.336 5529
+-126.236 48.336 5763
+-126.11 48.336 5846
+-125.984 48.336 6003
+-125.858 48.336 6127
+-125.732 48.336 6165
+-125.606 48.336 6302
+-125.48 48.336 6479
+-125.354 48.336 6576
+-125.228 48.336 6729
+-125.102 48.336 6851
+-124.976 48.336 6975
+-124.85 48.336 7072
+-124.724 48.336 7183
+-124.598 48.336 7255
+-124.472 48.336 7418
+-124.346 48.336 7455
+-124.22 48.336 7595
+-124.094 48.336 7674
+-123.968 48.336 7770
+-123.842 48.336 7854
+-123.716 48.336 7891
+-123.59 48.336 7969
+-123.464 48.336 8036
+-123.338 48.336 8068
+-123.212 48.336 8115
+-123.086 48.336 8112
+-122.96 48.336 8126
+-122.834 48.336 8142
+-122.708 48.336 8107
+-122.582 48.336 8081
+-122.456 48.336 8039
+-122.33 48.336 7964
+-122.204 48.336 7889
+-122.078 48.336 7818
+-121.952 48.336 7751
+-121.826 48.336 7651
+-121.7 48.336 7579
+-121.574 48.336 7468
+-121.448 48.336 7381
+-121.322 48.336 7288
+-121.196 48.336 7181
+-121.07 48.336 7046
+-120.944 48.336 6918
+-120.818 48.336 6805
+-120.692 48.336 6758
+-120.566 48.336 6606
+-120.44 48.336 6476
+-120.314 48.336 6396
+-120.188 48.336 6339
+-120.062 48.336 6342
+-119.936 48.336 6394
+-119.81 48.336 6468
+-119.684 48.336 6537
+-119.558 48.336 6591
+-119.432 48.336 6642
+-119.306 48.336 6693
+-119.18 48.336 6750
+-119.054 48.336 6807
+-118.928 48.336 6876
+-118.802 48.336 6876
+-118.676 48.336 6924
+-118.55 48.336 6899
+-118.424 48.336 6912
+-118.298 48.336 6934
+-118.172 48.336 6900
+-118.046 48.336 6896
+-117.92 48.336 6865
+-117.794 48.336 6829
+-117.668 48.336 6829
+-117.542 48.336 6760
+-117.416 48.336 6742
+-117.29 48.336 6641
+-117.164 48.336 6587
+-117.038 48.336 6578
+-116.912 48.336 6473
+-116.786 48.336 6410
+-116.66 48.336 6315
+-116.534 48.336 6266
+-116.408 48.336 6170
+-116.282 48.336 6040
+-116.156 48.336 5931
+-116.03 48.336 5879
+-115.904 48.336 5768
+-115.778 48.336 5706
+-115.652 48.336 5588
+-115.526 48.336 5448
+-115.4 48.336 5394
+-115.274 48.336 5330
+-115.148 48.336 5108
+-115.022 48.336 4944
+-114.896 48.336 4820
+-114.77 48.336 4746
+-114.644 48.336 4651
+-114.518 48.336 4624
+-114.392 48.336 4539
+-114.266 48.336 4442
+-114.14 48.336 4378
+-114.014 48.336 4227
+-113.888 48.336 4057
+-113.762 48.336 3916
+-113.636 48.336 3796
+-113.51 48.336 3882
+-113.384 48.336 3945
+-113.258 48.336 3885
+-113.132 48.336 3768
+-113.006 48.336 3671
+-112.88 48.336 3534
+-112.754 48.336 3324
+-112.628 48.336 3098
+-112.502 48.336 2812
+-112.376 48.336 2595
+-112.25 48.336 2498
+-112.124 48.336 2495
+-111.998 48.336 2437
+-111.872 48.336 2352
+-111.746 48.336 2374
+-111.62 48.336 2469
+-111.494 48.336 2588
+-111.368 48.336 2702
+-111.242 48.336 2803
+-111.116 48.336 2881
+-110.99 48.336 2953
+-110.864 48.336 2970
+-110.738 48.336 3021
+-110.612 48.336 3065
+-110.486 48.336 3102
+-110.36 48.336 3066
+-110.234 48.336 3055
+-110.108 48.336 3079
+-109.982 48.336 3100
+-109.856 48.336 3119
+-109.73 48.336 3136
+-109.604 48.336 3151
+-109.478 48.336 3165
+-109.352 48.336 3177
+-109.226 48.336 3189
+-109.1 48.336 3199
+-108.974 48.336 3209
+-108.848 48.336 3141
+-108.722 48.336 3136
+-108.596 48.336 3144
+-108.47 48.336 3151
+-108.344 48.336 3158
+-108.218 48.336 3165
+-108.092 48.336 3131
+-107.966 48.336 3130
+-107.84 48.336 3137
+-107.714 48.336 3143
+-107.588 48.336 3126
+-107.462 48.336 3132
+-107.336 48.336 3137
+-107.21 48.336 3141
+-107.084 48.336 3146
+-106.958 48.336 3150
+-106.832 48.336 3154
+-106.706 48.336 3158
+-106.58 48.336 3162
+-106.454 48.336 3165
+-106.328 48.336 3169
+-106.202 48.336 3172
+-106.076 48.336 3175
+-105.95 48.336 3178
+-105.824 48.336 3181
+-105.698 48.336 3148
+-105.572 48.336 3105
+-105.446 48.336 3107
+-105.32 48.336 3110
+-105.194 48.336 3112
+-105.068 48.336 3114
+-104.942 48.336 3116
+-104.816 48.336 3117
+-104.69 48.336 3119
+-104.564 48.336 3121
+-104.438 48.336 3123
+-104.312 48.336 3124
+-104.186 48.336 3126
+-104.06 48.336 3127
+-103.934 48.336 3128
+-103.808 48.336 3130
+-103.682 48.336 3131
+-103.556 48.336 3132
+-103.43 48.336 3133
+-103.304 48.336 3135
+-103.178 48.336 3094
+-103.052 48.336 3095
+-102.926 48.336 3096
+-102.8 48.336 3097
+-102.674 48.336 3098
+-102.548 48.336 3082
+-102.422 48.336 3061
+-102.296 48.336 3052
+-102.17 48.336 3054
+-102.044 48.336 3002
+-101.918 48.336 3000
+-101.792 48.336 2859
+-101.666 48.336 2850
+-101.54 48.336 2863
+-101.414 48.336 2851
+-101.288 48.336 2907
+-101.162 48.336 2967
+-101.036 48.336 3082
+-100.91 48.336 2996
+-100.784 48.336 3107
+-100.658 48.336 3107
+-100.532 48.336 3193
+-100.406 48.336 3180
+-100.28 48.336 3178
+-100.154 48.336 3177
+-100.028 48.336 3175
+-99.902 48.336 3173
+-99.776 48.336 3092
+-99.65 48.336 3078
+-99.524 48.336 3056
+-99.398 48.336 3002
+-99.272 48.336 2993
+-99.146 48.336 2979
+-99.02 48.336 2977
+-98.894 48.336 2973
+-98.768 48.336 2956
+-98.642 48.336 2941
+-98.516 48.336 2939
+-98.39 48.336 2936
+-98.264 48.336 2934
+-98.138 48.336 2932
+-98.012 48.336 2930
+-97.886 48.336 2928
+-97.76 48.336 2925
+-97.634 48.336 2923
+-97.508 48.336 2920
+-97.382 48.336 2918
+-97.256 48.336 2915
+-97.13 48.336 2913
+-97.004 48.336 2910
+-96.878 48.336 2907
+-96.752 48.336 2904
+-96.626 48.336 2901
+-96.5 48.336 2898
+-96.374 48.336 2783
+-96.248 48.336 2780
+-96.122 48.336 2765
+-95.996 48.336 2762
+-95.87 48.336 2759
+-95.744 48.336 2755
+-95.618 48.336 2752
+-95.492 48.336 2748
+-95.366 48.336 2745
+-95.24 48.336 2741
+-95.114 48.336 2737
+-94.988 48.336 2734
+-94.862 48.336 2730
+-94.736 48.336 2726
+-94.61 48.336 2722
+-94.484 48.336 2718
+-94.358 48.336 2714
+-94.232 48.336 2710
+-94.106 48.336 2706
+-93.98 48.336 2702
+-93.854 48.336 2698
+-93.728 48.336 2694
+-93.602 48.336 2690
+-93.476 48.336 2685
+-93.35 48.336 2681
+-93.224 48.336 2677
+-93.098 48.336 2673
+-92.972 48.336 2670
+-92.846 48.336 2666
+-92.72 48.336 2662
+-92.594 48.336 2658
+-92.468 48.336 2655
+-92.342 48.336 2651
+-92.216 48.336 2648
+-92.09 48.336 2645
+-91.964 48.336 2642
+-91.838 48.336 2639
+-91.712 48.336 2636
+-91.586 48.336 2634
+-91.46 48.336 2631
+-91.334 48.336 2629
+-91.208 48.336 2627
+-91.082 48.336 2626
+-90.956 48.336 2624
+-90.83 48.336 2623
+-90.704 48.336 2622
+-90.578 48.336 2621
+-90.452 48.336 2620
+-90.326 48.336 2620
+-90.2 48.336 2578
+-90.074 48.336 2578
+-89.948 48.336 2578
+-89.822 48.336 2578
+-89.696 48.336 2578
+-89.57 48.336 2579
+-89.444 48.336 2580
+-89.318 48.336 2580
+-89.192 48.336 2581
+-89.066 48.336 2582
+-88.94 48.336 2583
+-88.814 48.336 2584
+-88.688 48.336 2585
+-88.562 48.336 2587
+-88.436 48.336 2588
+-88.31 48.336 2589
+-88.184 48.336 2591
+-88.058 48.336 2592
+-87.932 48.336 2593
+-87.806 48.336 2595
+-87.68 48.336 2596
+-87.554 48.336 2598
+-87.428 48.336 2599
+-87.302 48.336 2601
+-87.176 48.336 2602
+-87.05 48.336 2604
+-86.924 48.336 2605
+-86.798 48.336 2606
+-86.672 48.336 2608
+-86.546 48.336 2609
+-86.42 48.336 2610
+-86.294 48.336 2612
+-86.168 48.336 2613
+-86.042 48.336 2614
+-85.916 48.336 2616
+-85.79 48.336 2617
+-85.664 48.336 2618
+-85.538 48.336 2619
+-85.412 48.336 2620
+-85.286 48.336 2621
+-85.16 48.336 2623
+-85.034 48.336 2624
+-84.908 48.336 2625
+-84.782 48.336 2626
+-84.656 48.336 2627
+-84.53 48.336 2628
+-84.404 48.336 2629
+-84.278 48.336 2630
+-84.152 48.336 2631
+-84.026 48.336 2632
+-83.9 48.336 2633
+-83.774 48.336 2634
+-83.648 48.336 2635
+-83.522 48.336 2636
+-83.396 48.336 2636
+-83.27 48.336 2637
+-83.144 48.336 2638
+-83.018 48.336 2649
+-82.892 48.336 2650
+-82.766 48.336 2651
+-82.64 48.336 2652
+-82.514 48.336 2546
+-82.388 48.336 2546
+-82.262 48.336 2546
+-82.136 48.336 2547
+-82.01 48.336 2547
+-81.884 48.336 2548
+-81.758 48.336 2548
+-81.632 48.336 2549
+-81.506 48.336 2549
+-81.38 48.336 2549
+-81.254 48.336 2556
+-81.128 48.336 2565
+-81.002 48.336 2565
+-80.876 48.336 2566
+-80.75 48.336 2566
+-80.624 48.336 2585
+-80.498 48.336 2586
+-80.372 48.336 2586
+-80.246 48.336 2587
+-80.12 48.336 2591
+-79.994 48.336 2718
+-79.868 48.336 2719
+-79.742 48.336 2719
+-79.616 48.336 2726
+-79.49 48.336 2726
+-79.364 48.336 2727
+-79.238 48.336 2744
+-79.112 48.336 2726
+-78.986 48.336 2740
+-78.86 48.336 2741
+-78.734 48.336 2737
+-78.608 48.336 2737
+-78.482 48.336 2738
+-78.356 48.336 2738
+-78.23 48.336 2740
+-78.104 48.336 2827
+-77.978 48.336 2828
+-77.852 48.336 2828
+-77.726 48.336 2829
+-77.6 48.336 2847
+-77.474 48.336 2848
+-77.348 48.336 2828
+-77.222 48.336 2829
+-77.096 48.336 2830
+-76.97 48.336 2831
+-76.844 48.336 2802
+-76.718 48.336 2812
+-76.592 48.336 2813
+-76.466 48.336 2940
+-76.34 48.336 2900
+-76.214 48.336 2901
+-76.088 48.336 3038
+-75.962 48.336 3035
+-75.836 48.336 2997
+-75.71 48.336 3061
+-75.584 48.336 2949
+-75.458 48.336 2980
+-75.332 48.336 3036
+-75.206 48.336 2932
+-75.08 48.336 2939
+-74.954 48.336 2843
+-74.828 48.336 2840
+-74.702 48.336 2856
+-74.576 48.336 2827
+-74.45 48.336 2828
+-74.324 48.336 2829
+-74.198 48.336 2767
+-74.072 48.336 2811
+-73.946 48.336 2803
+-73.82 48.336 2792
+-73.694 48.336 2793
+-73.568 48.336 2794
+-73.442 48.336 2795
+-73.316 48.336 2734
+-73.19 48.336 2729
+-73.064 48.336 2729
+-72.938 48.336 2730
+-72.812 48.336 2731
+-72.686 48.336 2727
+-72.56 48.336 2671
+-72.434 48.336 2776
+-72.308 48.336 2772
+-72.182 48.336 2778
+-72.056 48.336 2779
+-71.93 48.336 2780
+-71.804 48.336 2780
+-71.678 48.336 2806
+-71.552 48.336 2783
+-71.426 48.336 2851
+-71.3 48.336 2851
+-71.174 48.336 2842
+-71.048 48.336 2850
+-70.922 48.336 2850
+-70.796 48.336 2851
+-70.67 48.336 2838
+-70.544 48.336 2955
+-70.418 48.336 2955
+-70.292 48.336 2956
+-70.166 48.336 2957
+-70.04 48.336 3057
+-69.914 48.336 3009
+-69.788 48.336 3157
+-69.662 48.336 3158
+-69.536 48.336 3120
+-69.41 48.336 3120
+-69.284 48.336 3120
+-69.158 48.336 3121
+-69.032 48.336 3121
+-68.906 48.336 3122
+-68.78 48.336 3222
+-68.654 48.336 3217
+-68.528 48.336 3217
+-68.402 48.336 3218
+-68.276 48.336 3218
+-68.15 48.336 3159
+-68.024 48.336 3197
+-67.898 48.336 3198
+-67.772 48.336 3278
+-67.646 48.336 3184
+-67.52 48.336 3184
+-67.394 48.336 3185
+-67.268 48.336 3235
+-67.142 48.336 3187
+-67.016 48.336 3187
+-66.89 48.336 3188
+-66.764 48.336 3415
+-66.638 48.336 3359
+-66.512 48.336 3359
+-66.386 48.336 3493
+-66.26 48.336 3464
+-66.134 48.336 3465
+-66.008 48.336 3409
+-65.882 48.336 3482
+-65.756 48.336 3483
+-65.63 48.336 3483
+-65.504 48.336 3483
+-65.378 48.336 3484
+-65.252 48.336 3483
+-65.126 48.336 3484
+-128 48.284 4370
+-127.874 48.284 4329
+-127.748 48.284 4305
+-127.622 48.284 4377
+-127.496 48.284 4483
+-127.37 48.284 4620
+-127.244 48.284 4789
+-127.118 48.284 4949
+-126.992 48.284 5129
+-126.866 48.284 5204
+-126.74 48.284 5319
+-126.614 48.284 5335
+-126.488 48.284 5518
+-126.362 48.284 5645
+-126.236 48.284 5717
+-126.11 48.284 5887
+-125.984 48.284 5975
+-125.858 48.284 6091
+-125.732 48.284 6260
+-125.606 48.284 6314
+-125.48 48.284 6484
+-125.354 48.284 6625
+-125.228 48.284 6757
+-125.102 48.284 6910
+-124.976 48.284 7001
+-124.85 48.284 7067
+-124.724 48.284 7165
+-124.598 48.284 7346
+-124.472 48.284 7400
+-124.346 48.284 7469
+-124.22 48.284 7593
+-124.094 48.284 7762
+-123.968 48.284 7764
+-123.842 48.284 7908
+-123.716 48.284 7957
+-123.59 48.284 8041
+-123.464 48.284 8083
+-123.338 48.284 8115
+-123.212 48.284 8155
+-123.086 48.284 8159
+-122.96 48.284 8198
+-122.834 48.284 8194
+-122.708 48.284 8148
+-122.582 48.284 8118
+-122.456 48.284 8104
+-122.33 48.284 8048
+-122.204 48.284 7933
+-122.078 48.284 7838
+-121.952 48.284 7820
+-121.826 48.284 7722
+-121.7 48.284 7634
+-121.574 48.284 7495
+-121.448 48.284 7376
+-121.322 48.284 7292
+-121.196 48.284 7200
+-121.07 48.284 7086
+-120.944 48.284 6988
+-120.818 48.284 6827
+-120.692 48.284 6682
+-120.566 48.284 6607
+-120.44 48.284 6457
+-120.314 48.284 6357
+-120.188 48.284 6239
+-120.062 48.284 6367
+-119.936 48.284 6445
+-119.81 48.284 6497
+-119.684 48.284 6582
+-119.558 48.284 6633
+-119.432 48.284 6706
+-119.306 48.284 6759
+-119.18 48.284 6823
+-119.054 48.284 6852
+-118.928 48.284 6890
+-118.802 48.284 6931
+-118.676 48.284 6955
+-118.55 48.284 6962
+-118.424 48.284 6981
+-118.298 48.284 6994
+-118.172 48.284 6976
+-118.046 48.284 6970
+-117.92 48.284 6939
+-117.794 48.284 6922
+-117.668 48.284 6867
+-117.542 48.284 6847
+-117.416 48.284 6796
+-117.29 48.284 6708
+-117.164 48.284 6675
+-117.038 48.284 6584
+-116.912 48.284 6533
+-116.786 48.284 6456
+-116.66 48.284 6397
+-116.534 48.284 6323
+-116.408 48.284 6205
+-116.282 48.284 6079
+-116.156 48.284 5981
+-116.03 48.284 5888
+-115.904 48.284 5790
+-115.778 48.284 5705
+-115.652 48.284 5628
+-115.526 48.284 5514
+-115.4 48.284 5429
+-115.274 48.284 5321
+-115.148 48.284 5111
+-115.022 48.284 4961
+-114.896 48.284 4852
+-114.77 48.284 4832
+-114.644 48.284 4712
+-114.518 48.284 4619
+-114.392 48.284 4601
+-114.266 48.284 4528
+-114.14 48.284 4431
+-114.014 48.284 4312
+-113.888 48.284 4175
+-113.762 48.284 4016
+-113.636 48.284 3923
+-113.51 48.284 3941
+-113.384 48.284 3957
+-113.258 48.284 3903
+-113.132 48.284 3811
+-113.006 48.284 3692
+-112.88 48.284 3550
+-112.754 48.284 3344
+-112.628 48.284 3080
+-112.502 48.284 2774
+-112.376 48.284 2529
+-112.25 48.284 2433
+-112.124 48.284 2490
+-111.998 48.284 2528
+-111.872 48.284 2528
+-111.746 48.284 2548
+-111.62 48.284 2606
+-111.494 48.284 2687
+-111.368 48.284 2773
+-111.242 48.284 2846
+-111.116 48.284 2918
+-110.99 48.284 2962
+-110.864 48.284 3018
+-110.738 48.284 3067
+-110.612 48.284 3109
+-110.486 48.284 3147
+-110.36 48.284 3147
+-110.234 48.284 3105
+-110.108 48.284 3090
+-109.982 48.284 3110
+-109.856 48.284 3128
+-109.73 48.284 3145
+-109.604 48.284 3160
+-109.478 48.284 3173
+-109.352 48.284 3185
+-109.226 48.284 3196
+-109.1 48.284 3206
+-108.974 48.284 3139
+-108.848 48.284 3134
+-108.722 48.284 3142
+-108.596 48.284 3150
+-108.47 48.284 3158
+-108.344 48.284 3164
+-108.218 48.284 3130
+-108.092 48.284 3130
+-107.966 48.284 3137
+-107.84 48.284 3144
+-107.714 48.284 3127
+-107.588 48.284 3132
+-107.462 48.284 3137
+-107.336 48.284 3142
+-107.21 48.284 3147
+-107.084 48.284 3151
+-106.958 48.284 3155
+-106.832 48.284 3159
+-106.706 48.284 3163
+-106.58 48.284 3167
+-106.454 48.284 3170
+-106.328 48.284 3173
+-106.202 48.284 3176
+-106.076 48.284 3179
+-105.95 48.284 3182
+-105.824 48.284 3149
+-105.698 48.284 3106
+-105.572 48.284 3108
+-105.446 48.284 3111
+-105.32 48.284 3113
+-105.194 48.284 3115
+-105.068 48.284 3117
+-104.942 48.284 3118
+-104.816 48.284 3120
+-104.69 48.284 3122
+-104.564 48.284 3124
+-104.438 48.284 3125
+-104.312 48.284 3127
+-104.186 48.284 3128
+-104.06 48.284 3129
+-103.934 48.284 3131
+-103.808 48.284 3132
+-103.682 48.284 3133
+-103.556 48.284 3134
+-103.43 48.284 3135
+-103.304 48.284 3137
+-103.178 48.284 3096
+-103.052 48.284 3097
+-102.926 48.284 3098
+-102.8 48.284 3099
+-102.674 48.284 3100
+-102.548 48.284 3084
+-102.422 48.284 3063
+-102.296 48.284 3054
+-102.17 48.284 3040
+-102.044 48.284 2975
+-101.918 48.284 2961
+-101.792 48.284 2848
+-101.666 48.284 2861
+-101.54 48.284 2865
+-101.414 48.284 2928
+-101.288 48.284 2965
+-101.162 48.284 3037
+-101.036 48.284 3040
+-100.91 48.284 2978
+-100.784 48.284 3107
+-100.658 48.284 3195
+-100.532 48.284 3193
+-100.406 48.284 3192
+-100.28 48.284 3178
+-100.154 48.284 3177
+-100.028 48.284 3175
+-99.902 48.284 3174
+-99.776 48.284 3172
+-99.65 48.284 3091
+-99.524 48.284 3077
+-99.398 48.284 3055
+-99.272 48.284 3001
+-99.146 48.284 2991
+-99.02 48.284 2978
+-98.894 48.284 2976
+-98.768 48.284 2972
+-98.642 48.284 2954
+-98.516 48.284 2939
+-98.39 48.284 2937
+-98.264 48.284 2935
+-98.138 48.284 2932
+-98.012 48.284 2930
+-97.886 48.284 2928
+-97.76 48.284 2925
+-97.634 48.284 2923
+-97.508 48.284 2920
+-97.382 48.284 2918
+-97.256 48.284 2915
+-97.13 48.284 2912
+-97.004 48.284 2910
+-96.878 48.284 2907
+-96.752 48.284 2904
+-96.626 48.284 2901
+-96.5 48.284 2898
+-96.374 48.284 2895
+-96.248 48.284 2780
+-96.122 48.284 2777
+-95.996 48.284 2762
+-95.87 48.284 2758
+-95.744 48.284 2755
+-95.618 48.284 2751
+-95.492 48.284 2748
+-95.366 48.284 2744
+-95.24 48.284 2740
+-95.114 48.284 2737
+-94.988 48.284 2733
+-94.862 48.284 2729
+-94.736 48.284 2725
+-94.61 48.284 2721
+-94.484 48.284 2717
+-94.358 48.284 2712
+-94.232 48.284 2708
+-94.106 48.284 2704
+-93.98 48.284 2700
+-93.854 48.284 2695
+-93.728 48.284 2691
+-93.602 48.284 2687
+-93.476 48.284 2683
+-93.35 48.284 2678
+-93.224 48.284 2674
+-93.098 48.284 2670
+-92.972 48.284 2666
+-92.846 48.284 2662
+-92.72 48.284 2658
+-92.594 48.284 2654
+-92.468 48.284 2650
+-92.342 48.284 2647
+-92.216 48.284 2643
+-92.09 48.284 2640
+-91.964 48.284 2636
+-91.838 48.284 2633
+-91.712 48.284 2631
+-91.586 48.284 2628
+-91.46 48.284 2626
+-91.334 48.284 2623
+-91.208 48.284 2621
+-91.082 48.284 2620
+-90.956 48.284 2618
+-90.83 48.284 2617
+-90.704 48.284 2616
+-90.578 48.284 2615
+-90.452 48.284 2614
+-90.326 48.284 2614
+-90.2 48.284 2573
+-90.074 48.284 2573
+-89.948 48.284 2573
+-89.822 48.284 2573
+-89.696 48.284 2573
+-89.57 48.284 2574
+-89.444 48.284 2575
+-89.318 48.284 2575
+-89.192 48.284 2576
+-89.066 48.284 2577
+-88.94 48.284 2579
+-88.814 48.284 2580
+-88.688 48.284 2581
+-88.562 48.284 2583
+-88.436 48.284 2584
+-88.31 48.284 2585
+-88.184 48.284 2587
+-88.058 48.284 2588
+-87.932 48.284 2590
+-87.806 48.284 2592
+-87.68 48.284 2593
+-87.554 48.284 2595
+-87.428 48.284 2596
+-87.302 48.284 2598
+-87.176 48.284 2599
+-87.05 48.284 2601
+-86.924 48.284 2602
+-86.798 48.284 2604
+-86.672 48.284 2605
+-86.546 48.284 2607
+-86.42 48.284 2608
+-86.294 48.284 2610
+-86.168 48.284 2611
+-86.042 48.284 2612
+-85.916 48.284 2613
+-85.79 48.284 2615
+-85.664 48.284 2616
+-85.538 48.284 2617
+-85.412 48.284 2618
+-85.286 48.284 2620
+-85.16 48.284 2621
+-85.034 48.284 2622
+-84.908 48.284 2623
+-84.782 48.284 2624
+-84.656 48.284 2625
+-84.53 48.284 2626
+-84.404 48.284 2627
+-84.278 48.284 2628
+-84.152 48.284 2629
+-84.026 48.284 2630
+-83.9 48.284 2631
+-83.774 48.284 2632
+-83.648 48.284 2633
+-83.522 48.284 2634
+-83.396 48.284 2635
+-83.27 48.284 2636
+-83.144 48.284 2647
+-83.018 48.284 2648
+-82.892 48.284 2649
+-82.766 48.284 2650
+-82.64 48.284 2544
+-82.514 48.284 2544
+-82.388 48.284 2545
+-82.262 48.284 2545
+-82.136 48.284 2546
+-82.01 48.284 2546
+-81.884 48.284 2546
+-81.758 48.284 2547
+-81.632 48.284 2547
+-81.506 48.284 2548
+-81.38 48.284 2554
+-81.254 48.284 2563
+-81.128 48.284 2564
+-81.002 48.284 2564
+-80.876 48.284 2565
+-80.75 48.284 2583
+-80.624 48.284 2584
+-80.498 48.284 2585
+-80.372 48.284 2585
+-80.246 48.284 2589
+-80.12 48.284 2717
+-79.994 48.284 2717
+-79.868 48.284 2717
+-79.742 48.284 2724
+-79.616 48.284 2725
+-79.49 48.284 2725
+-79.364 48.284 2743
+-79.238 48.284 2724
+-79.112 48.284 2738
+-78.986 48.284 2739
+-78.86 48.284 2735
+-78.734 48.284 2736
+-78.608 48.284 2736
+-78.482 48.284 2737
+-78.356 48.284 2739
+-78.23 48.284 2825
+-78.104 48.284 2826
+-77.978 48.284 2826
+-77.852 48.284 2827
+-77.726 48.284 2845
+-77.6 48.284 2846
+-77.474 48.284 2827
+-77.348 48.284 2828
+-77.222 48.284 2828
+-77.096 48.284 2829
+-76.97 48.284 2801
+-76.844 48.284 2811
+-76.718 48.284 2812
+-76.592 48.284 2938
+-76.466 48.284 2898
+-76.34 48.284 2899
+-76.214 48.284 3037
+-76.088 48.284 3033
+-75.962 48.284 2995
+-75.836 48.284 3059
+-75.71 48.284 2947
+-75.584 48.284 2979
+-75.458 48.284 3034
+-75.332 48.284 2931
+-75.206 48.284 2938
+-75.08 48.284 2842
+-74.954 48.284 2838
+-74.828 48.284 2855
+-74.702 48.284 2826
+-74.576 48.284 2827
+-74.45 48.284 2828
+-74.324 48.284 2766
+-74.198 48.284 2810
+-74.072 48.284 2802
+-73.946 48.284 2791
+-73.82 48.284 2792
+-73.694 48.284 2793
+-73.568 48.284 2793
+-73.442 48.284 2733
+-73.316 48.284 2728
+-73.19 48.284 2729
+-73.064 48.284 2730
+-72.938 48.284 2730
+-72.812 48.284 2726
+-72.686 48.284 2670
+-72.56 48.284 2776
+-72.434 48.284 2771
+-72.308 48.284 2777
+-72.182 48.284 2778
+-72.056 48.284 2779
+-71.93 48.284 2780
+-71.804 48.284 2806
+-71.678 48.284 2783
+-71.552 48.284 2850
+-71.426 48.284 2851
+-71.3 48.284 2841
+-71.174 48.284 2849
+-71.048 48.284 2850
+-70.922 48.284 2851
+-70.796 48.284 2838
+-70.67 48.284 2954
+-70.544 48.284 2955
+-70.418 48.284 2955
+-70.292 48.284 2956
+-70.166 48.284 3056
+-70.04 48.284 3008
+-69.914 48.284 3157
+-69.788 48.284 3157
+-69.662 48.284 3119
+-69.536 48.284 3120
+-69.41 48.284 3120
+-69.284 48.284 3120
+-69.158 48.284 3121
+-69.032 48.284 3121
+-68.906 48.284 3222
+-68.78 48.284 3216
+-68.654 48.284 3217
+-68.528 48.284 3217
+-68.402 48.284 3218
+-68.276 48.284 3159
+-68.15 48.284 3197
+-68.024 48.284 3197
+-67.898 48.284 3278
+-67.772 48.284 3183
+-67.646 48.284 3184
+-67.52 48.284 3184
+-67.394 48.284 3235
+-67.268 48.284 3186
+-67.142 48.284 3187
+-67.016 48.284 3188
+-66.89 48.284 3415
+-66.764 48.284 3358
+-66.638 48.284 3359
+-66.512 48.284 3493
+-66.386 48.284 3464
+-66.26 48.284 3464
+-66.134 48.284 3409
+-66.008 48.284 3481
+-65.882 48.284 3482
+-65.756 48.284 3483
+-65.63 48.284 3483
+-65.504 48.284 3483
+-65.378 48.284 3483
+-65.252 48.284 3483
+-65.126 48.284 3484
+-128 48.232 4411
+-127.874 48.232 4417
+-127.748 48.232 4421
+-127.622 48.232 4468
+-127.496 48.232 4559
+-127.37 48.232 4697
+-127.244 48.232 4841
+-127.118 48.232 4971
+-126.992 48.232 5152
+-126.866 48.232 5137
+-126.74 48.232 5284
+-126.614 48.232 5393
+-126.488 48.232 5559
+-126.362 48.232 5598
+-126.236 48.232 5768
+-126.11 48.232 5913
+-125.984 48.232 5947
+-125.858 48.232 6065
+-125.732 48.232 6238
+-125.606 48.232 6382
+-125.48 48.232 6547
+-125.354 48.232 6640
+-125.228 48.232 6758
+-125.102 48.232 6899
+-124.976 48.232 6992
+-124.85 48.232 7147
+-124.724 48.232 7205
+-124.598 48.232 7312
+-124.472 48.232 7465
+-124.346 48.232 7549
+-124.22 48.232 7602
+-124.094 48.232 7740
+-123.968 48.232 7860
+-123.842 48.232 7932
+-123.716 48.232 8001
+-123.59 48.232 8090
+-123.464 48.232 8123
+-123.338 48.232 8170
+-123.212 48.232 8194
+-123.086 48.232 8245
+-122.96 48.232 8258
+-122.834 48.232 8254
+-122.708 48.232 8219
+-122.582 48.232 8196
+-122.456 48.232 8139
+-122.33 48.232 8065
+-122.204 48.232 7979
+-122.078 48.232 7904
+-121.952 48.232 7809
+-121.826 48.232 7765
+-121.7 48.232 7708
+-121.574 48.232 7563
+-121.448 48.232 7450
+-121.322 48.232 7387
+-121.196 48.232 7227
+-121.07 48.232 7126
+-120.944 48.232 6959
+-120.818 48.232 6870
+-120.692 48.232 6759
+-120.566 48.232 6620
+-120.44 48.232 6552
+-120.314 48.232 6204
+-120.188 48.232 6353
+-120.062 48.232 6351
+-119.936 48.232 6451
+-119.81 48.232 6560
+-119.684 48.232 6652
+-119.558 48.232 6676
+-119.432 48.232 6703
+-119.306 48.232 6781
+-119.18 48.232 6843
+-119.054 48.232 6896
+-118.928 48.232 6942
+-118.802 48.232 6976
+-118.676 48.232 7004
+-118.55 48.232 7036
+-118.424 48.232 7039
+-118.298 48.232 7031
+-118.172 48.232 7011
+-118.046 48.232 7028
+-117.92 48.232 6995
+-117.794 48.232 6961
+-117.668 48.232 6896
+-117.542 48.232 6901
+-117.416 48.232 6831
+-117.29 48.232 6779
+-117.164 48.232 6709
+-117.038 48.232 6643
+-116.912 48.232 6603
+-116.786 48.232 6519
+-116.66 48.232 6403
+-116.534 48.232 6381
+-116.408 48.232 6284
+-116.282 48.232 6160
+-116.156 48.232 6058
+-116.03 48.232 5932
+-115.904 48.232 5846
+-115.778 48.232 5789
+-115.652 48.232 5706
+-115.526 48.232 5579
+-115.4 48.232 5454
+-115.274 48.232 5314
+-115.148 48.232 5110
+-115.022 48.232 4985
+-114.896 48.232 4911
+-114.77 48.232 4841
+-114.644 48.232 4752
+-114.518 48.232 4675
+-114.392 48.232 4627
+-114.266 48.232 4550
+-114.14 48.232 4484
+-114.014 48.232 4406
+-113.888 48.232 4274
+-113.762 48.232 4164
+-113.636 48.232 4093
+-113.51 48.232 4048
+-113.384 48.232 3999
+-113.258 48.232 3926
+-113.132 48.232 3862
+-113.006 48.232 3734
+-112.88 48.232 3570
+-112.754 48.232 3366
+-112.628 48.232 3104
+-112.502 48.232 2847
+-112.376 48.232 2619
+-112.25 48.232 2517
+-112.124 48.232 2559
+-111.998 48.232 2631
+-111.872 48.232 2650
+-111.746 48.232 2682
+-111.62 48.232 2727
+-111.494 48.232 2778
+-111.368 48.232 2840
+-111.242 48.232 2903
+-111.116 48.232 2944
+-110.99 48.232 2999
+-110.864 48.232 3048
+-110.738 48.232 3091
+-110.612 48.232 3130
+-110.486 48.232 3164
+-110.36 48.232 3130
+-110.234 48.232 3157
+-110.108 48.232 3177
+-109.982 48.232 3157
+-109.856 48.232 3140
+-109.73 48.232 3155
+-109.604 48.232 3170
+-109.478 48.232 3182
+-109.352 48.232 3194
+-109.226 48.232 3205
+-109.1 48.232 3137
+-108.974 48.232 3132
+-108.848 48.232 3141
+-108.722 48.232 3150
+-108.596 48.232 3157
+-108.47 48.232 3164
+-108.344 48.232 3131
+-108.218 48.232 3131
+-108.092 48.232 3138
+-107.966 48.232 3145
+-107.84 48.232 3128
+-107.714 48.232 3133
+-107.588 48.232 3139
+-107.462 48.232 3144
+-107.336 48.232 3148
+-107.21 48.232 3153
+-107.084 48.232 3157
+-106.958 48.232 3161
+-106.832 48.232 3165
+-106.706 48.232 3168
+-106.58 48.232 3172
+-106.454 48.232 3175
+-106.328 48.232 3178
+-106.202 48.232 3181
+-106.076 48.232 3184
+-105.95 48.232 3150
+-105.824 48.232 3107
+-105.698 48.232 3110
+-105.572 48.232 3112
+-105.446 48.232 3114
+-105.32 48.232 3116
+-105.194 48.232 3118
+-105.068 48.232 3120
+-104.942 48.232 3121
+-104.816 48.232 3123
+-104.69 48.232 3125
+-104.564 48.232 3126
+-104.438 48.232 3128
+-104.312 48.232 3129
+-104.186 48.232 3130
+-104.06 48.232 3132
+-103.934 48.232 3133
+-103.808 48.232 3134
+-103.682 48.232 3135
+-103.556 48.232 3136
+-103.43 48.232 3138
+-103.304 48.232 3139
+-103.178 48.232 3098
+-103.052 48.232 3099
+-102.926 48.232 3100
+-102.8 48.232 3101
+-102.674 48.232 3101
+-102.548 48.232 3085
+-102.422 48.232 3064
+-102.296 48.232 3040
+-102.17 48.232 2984
+-102.044 48.232 2975
+-101.918 48.232 2992
+-101.792 48.232 3017
+-101.666 48.232 2863
+-101.54 48.232 2925
+-101.414 48.232 2984
+-101.288 48.232 3057
+-101.162 48.232 3038
+-101.036 48.232 3041
+-100.91 48.232 3142
+-100.784 48.232 3080
+-100.658 48.232 3195
+-100.532 48.232 3194
+-100.406 48.232 3192
+-100.28 48.232 3190
+-100.154 48.232 3177
+-100.028 48.232 3176
+-99.902 48.232 3174
+-99.776 48.232 3172
+-99.65 48.232 3171
+-99.524 48.232 3089
+-99.398 48.232 3076
+-99.272 48.232 3054
+-99.146 48.232 2999
+-99.02 48.232 2990
+-98.894 48.232 2976
+-98.768 48.232 2974
+-98.642 48.232 2970
+-98.516 48.232 2953
+-98.39 48.232 2937
+-98.264 48.232 2935
+-98.138 48.232 2933
+-98.012 48.232 2930
+-97.886 48.232 2928
+-97.76 48.232 2926
+-97.634 48.232 2923
+-97.508 48.232 2921
+-97.382 48.232 2918
+-97.256 48.232 2915
+-97.13 48.232 2912
+-97.004 48.232 2910
+-96.878 48.232 2907
+-96.752 48.232 2904
+-96.626 48.232 2901
+-96.5 48.232 2898
+-96.374 48.232 2894
+-96.248 48.232 2891
+-96.122 48.232 2777
+-95.996 48.232 2774
+-95.87 48.232 2758
+-95.744 48.232 2755
+-95.618 48.232 2751
+-95.492 48.232 2747
+-95.366 48.232 2744
+-95.24 48.232 2740
+-95.114 48.232 2736
+-94.988 48.232 2732
+-94.862 48.232 2728
+-94.736 48.232 2723
+-94.61 48.232 2719
+-94.484 48.232 2715
+-94.358 48.232 2711
+-94.232 48.232 2706
+-94.106 48.232 2702
+-93.98 48.232 2697
+-93.854 48.232 2693
+-93.728 48.232 2688
+-93.602 48.232 2684
+-93.476 48.232 2679
+-93.35 48.232 2675
+-93.224 48.232 2671
+-93.098 48.232 2666
+-92.972 48.232 2662
+-92.846 48.232 2658
+-92.72 48.232 2653
+-92.594 48.232 2649
+-92.468 48.232 2645
+-92.342 48.232 2642
+-92.216 48.232 2638
+-92.09 48.232 2634
+-91.964 48.232 2631
+-91.838 48.232 2628
+-91.712 48.232 2625
+-91.586 48.232 2622
+-91.46 48.232 2620
+-91.334 48.232 2617
+-91.208 48.232 2615
+-91.082 48.232 2613
+-90.956 48.232 2612
+-90.83 48.232 2610
+-90.704 48.232 2609
+-90.578 48.232 2609
+-90.452 48.232 2608
+-90.326 48.232 2608
+-90.2 48.232 2567
+-90.074 48.232 2567
+-89.948 48.232 2567
+-89.822 48.232 2567
+-89.696 48.232 2568
+-89.57 48.232 2569
+-89.444 48.232 2569
+-89.318 48.232 2570
+-89.192 48.232 2571
+-89.066 48.232 2573
+-88.94 48.232 2574
+-88.814 48.232 2575
+-88.688 48.232 2577
+-88.562 48.232 2578
+-88.436 48.232 2580
+-88.31 48.232 2582
+-88.184 48.232 2583
+-88.058 48.232 2585
+-87.932 48.232 2587
+-87.806 48.232 2588
+-87.68 48.232 2590
+-87.554 48.232 2592
+-87.428 48.232 2593
+-87.302 48.232 2595
+-87.176 48.232 2597
+-87.05 48.232 2598
+-86.924 48.232 2600
+-86.798 48.232 2601
+-86.672 48.232 2603
+-86.546 48.232 2604
+-86.42 48.232 2606
+-86.294 48.232 2607
+-86.168 48.232 2609
+-86.042 48.232 2610
+-85.916 48.232 2611
+-85.79 48.232 2613
+-85.664 48.232 2614
+-85.538 48.232 2615
+-85.412 48.232 2617
+-85.286 48.232 2618
+-85.16 48.232 2619
+-85.034 48.232 2620
+-84.908 48.232 2621
+-84.782 48.232 2622
+-84.656 48.232 2623
+-84.53 48.232 2625
+-84.404 48.232 2626
+-84.278 48.232 2627
+-84.152 48.232 2628
+-84.026 48.232 2629
+-83.9 48.232 2630
+-83.774 48.232 2631
+-83.648 48.232 2632
+-83.522 48.232 2633
+-83.396 48.232 2634
+-83.27 48.232 2644
+-83.144 48.232 2645
+-83.018 48.232 2646
+-82.892 48.232 2647
+-82.766 48.232 2542
+-82.64 48.232 2543
+-82.514 48.232 2543
+-82.388 48.232 2544
+-82.262 48.232 2544
+-82.136 48.232 2544
+-82.01 48.232 2545
+-81.884 48.232 2545
+-81.758 48.232 2546
+-81.632 48.232 2546
+-81.506 48.232 2553
+-81.38 48.232 2561
+-81.254 48.232 2562
+-81.128 48.232 2563
+-81.002 48.232 2563
+-80.876 48.232 2582
+-80.75 48.232 2582
+-80.624 48.232 2583
+-80.498 48.232 2584
+-80.372 48.232 2588
+-80.246 48.232 2715
+-80.12 48.232 2715
+-79.994 48.232 2716
+-79.868 48.232 2722
+-79.742 48.232 2723
+-79.616 48.232 2724
+-79.49 48.232 2741
+-79.364 48.232 2723
+-79.238 48.232 2737
+-79.112 48.232 2737
+-78.986 48.232 2733
+-78.86 48.232 2734
+-78.734 48.232 2735
+-78.608 48.232 2735
+-78.482 48.232 2737
+-78.356 48.232 2823
+-78.23 48.232 2824
+-78.104 48.232 2825
+-77.978 48.232 2825
+-77.852 48.232 2844
+-77.726 48.232 2844
+-77.6 48.232 2825
+-77.474 48.232 2826
+-77.348 48.232 2827
+-77.222 48.232 2828
+-77.096 48.232 2799
+-76.97 48.232 2809
+-76.844 48.232 2810
+-76.718 48.232 2936
+-76.592 48.232 2897
+-76.466 48.232 2897
+-76.34 48.232 3035
+-76.214 48.232 3031
+-76.088 48.232 2993
+-75.962 48.232 3057
+-75.836 48.232 2946
+-75.71 48.232 2977
+-75.584 48.232 3032
+-75.458 48.232 2929
+-75.332 48.232 2936
+-75.206 48.232 2841
+-75.08 48.232 2837
+-74.954 48.232 2854
+-74.828 48.232 2825
+-74.702 48.232 2826
+-74.576 48.232 2827
+-74.45 48.232 2765
+-74.324 48.232 2809
+-74.198 48.232 2801
+-74.072 48.232 2789
+-73.946 48.232 2790
+-73.82 48.232 2791
+-73.694 48.232 2792
+-73.568 48.232 2732
+-73.442 48.232 2727
+-73.316 48.232 2728
+-73.19 48.232 2729
+-73.064 48.232 2730
+-72.938 48.232 2726
+-72.812 48.232 2670
+-72.686 48.232 2775
+-72.56 48.232 2771
+-72.434 48.232 2777
+-72.308 48.232 2777
+-72.182 48.232 2778
+-72.056 48.232 2779
+-71.93 48.232 2805
+-71.804 48.232 2782
+-71.678 48.232 2849
+-71.552 48.232 2850
+-71.426 48.232 2840
+-71.3 48.232 2848
+-71.174 48.232 2849
+-71.048 48.232 2850
+-70.922 48.232 2837
+-70.796 48.232 2953
+-70.67 48.232 2954
+-70.544 48.232 2955
+-70.418 48.232 2956
+-70.292 48.232 3055
+-70.166 48.232 3008
+-70.04 48.232 3156
+-69.914 48.232 3157
+-69.788 48.232 3119
+-69.662 48.232 3119
+-69.536 48.232 3120
+-69.41 48.232 3120
+-69.284 48.232 3120
+-69.158 48.232 3121
+-69.032 48.232 3221
+-68.906 48.232 3216
+-68.78 48.232 3216
+-68.654 48.232 3217
+-68.528 48.232 3217
+-68.402 48.232 3158
+-68.276 48.232 3196
+-68.15 48.232 3197
+-68.024 48.232 3277
+-67.898 48.232 3183
+-67.772 48.232 3183
+-67.646 48.232 3184
+-67.52 48.232 3234
+-67.394 48.232 3186
+-67.268 48.232 3187
+-67.142 48.232 3187
+-67.016 48.232 3414
+-66.89 48.232 3358
+-66.764 48.232 3358
+-66.638 48.232 3492
+-66.512 48.232 3464
+-66.386 48.232 3464
+-66.26 48.232 3408
+-66.134 48.232 3481
+-66.008 48.232 3482
+-65.882 48.232 3482
+-65.756 48.232 3483
+-65.63 48.232 3483
+-65.504 48.232 3483
+-65.378 48.232 3483
+-65.252 48.232 3483
+-65.126 48.232 3473
+-128 48.18 4454
+-127.874 48.18 4438
+-127.748 48.18 4447
+-127.622 48.18 4504
+-127.496 48.18 4610
+-127.37 48.18 4735
+-127.244 48.18 4886
+-127.118 48.18 5000
+-126.992 48.18 5128
+-126.866 48.18 5215
+-126.74 48.18 5301
+-126.614 48.18 5397
+-126.488 48.18 5568
+-126.362 48.18 5708
+-126.236 48.18 5805
+-126.11 48.18 5914
+-125.984 48.18 6047
+-125.858 48.18 6102
+-125.732 48.18 6275
+-125.606 48.18 6437
+-125.48 48.18 6487
+-125.354 48.18 6675
+-125.228 48.18 6791
+-125.102 48.18 6896
+-124.976 48.18 7054
+-124.85 48.18 7199
+-124.724 48.18 7229
+-124.598 48.18 7351
+-124.472 48.18 7463
+-124.346 48.18 7559
+-124.22 48.18 7666
+-124.094 48.18 7787
+-123.968 48.18 7901
+-123.842 48.18 7977
+-123.716 48.18 8075
+-123.59 48.18 8104
+-123.464 48.18 8184
+-123.338 48.18 8226
+-123.212 48.18 8259
+-123.086 48.18 8286
+-122.96 48.18 8310
+-122.834 48.18 8284
+-122.708 48.18 8254
+-122.582 48.18 8249
+-122.456 48.18 8180
+-122.33 48.18 8143
+-122.204 48.18 8065
+-122.078 48.18 8000
+-121.952 48.18 7888
+-121.826 48.18 7819
+-121.7 48.18 7691
+-121.574 48.18 7582
+-121.448 48.18 7530
+-121.322 48.18 7375
+-121.196 48.18 7224
+-121.07 48.18 7154
+-120.944 48.18 7061
+-120.818 48.18 6926
+-120.692 48.18 6760
+-120.566 48.18 6666
+-120.44 48.18 6502
+-120.314 48.18 6443
+-120.188 48.18 6406
+-120.062 48.18 6441
+-119.936 48.18 6517
+-119.81 48.18 6615
+-119.684 48.18 6630
+-119.558 48.18 6728
+-119.432 48.18 6793
+-119.306 48.18 6853
+-119.18 48.18 6897
+-119.054 48.18 6951
+-118.928 48.18 7003
+-118.802 48.18 7049
+-118.676 48.18 7076
+-118.55 48.18 7102
+-118.424 48.18 7087
+-118.298 48.18 7092
+-118.172 48.18 7083
+-118.046 48.18 7087
+-117.92 48.18 7035
+-117.794 48.18 7004
+-117.668 48.18 6977
+-117.542 48.18 6935
+-117.416 48.18 6910
+-117.29 48.18 6819
+-117.164 48.18 6771
+-117.038 48.18 6697
+-116.912 48.18 6595
+-116.786 48.18 6566
+-116.66 48.18 6482
+-116.534 48.18 6426
+-116.408 48.18 6341
+-116.282 48.18 6246
+-116.156 48.18 6138
+-116.03 48.18 6013
+-115.904 48.18 5935
+-115.778 48.18 5848
+-115.652 48.18 5777
+-115.526 48.18 5632
+-115.4 48.18 5500
+-115.274 48.18 5308
+-115.148 48.18 5106
+-115.022 48.18 4992
+-114.896 48.18 4967
+-114.77 48.18 4902
+-114.644 48.18 4793
+-114.518 48.18 4671
+-114.392 48.18 4625
+-114.266 48.18 4537
+-114.14 48.18 4489
+-114.014 48.18 4440
+-113.888 48.18 4367
+-113.762 48.18 4270
+-113.636 48.18 4207
+-113.51 48.18 4140
+-113.384 48.18 4044
+-113.258 48.18 3952
+-113.132 48.18 3876
+-113.006 48.18 3761
+-112.88 48.18 3615
+-112.754 48.18 3431
+-112.628 48.18 3191
+-112.502 48.18 2979
+-112.376 48.18 2807
+-112.25 48.18 2717
+-112.124 48.18 2708
+-111.998 48.18 2749
+-111.872 48.18 2772
+-111.746 48.18 2803
+-111.62 48.18 2841
+-111.494 48.18 2885
+-111.368 48.18 2934
+-111.242 48.18 2946
+-111.116 48.18 2994
+-110.99 48.18 3039
+-110.864 48.18 3081
+-110.738 48.18 3119
+-110.612 48.18 3154
+-110.486 48.18 3176
+-110.36 48.18 3149
+-110.234 48.18 3170
+-110.108 48.18 3193
+-109.982 48.18 3214
+-109.856 48.18 3189
+-109.73 48.18 3205
+-109.604 48.18 3220
+-109.478 48.18 3233
+-109.352 48.18 3245
+-109.226 48.18 3136
+-109.1 48.18 3132
+-108.974 48.18 3141
+-108.848 48.18 3149
+-108.722 48.18 3157
+-108.596 48.18 3165
+-108.47 48.18 3131
+-108.344 48.18 3132
+-108.218 48.18 3139
+-108.092 48.18 3146
+-107.966 48.18 3129
+-107.84 48.18 3135
+-107.714 48.18 3140
+-107.588 48.18 3145
+-107.462 48.18 3150
+-107.336 48.18 3154
+-107.21 48.18 3159
+-107.084 48.18 3163
+-106.958 48.18 3166
+-106.832 48.18 3170
+-106.706 48.18 3173
+-106.58 48.18 3177
+-106.454 48.18 3180
+-106.328 48.18 3183
+-106.202 48.18 3186
+-106.076 48.18 3151
+-105.95 48.18 3109
+-105.824 48.18 3111
+-105.698 48.18 3113
+-105.572 48.18 3115
+-105.446 48.18 3117
+-105.32 48.18 3119
+-105.194 48.18 3121
+-105.068 48.18 3123
+-104.942 48.18 3124
+-104.816 48.18 3126
+-104.69 48.18 3127
+-104.564 48.18 3129
+-104.438 48.18 3130
+-104.312 48.18 3132
+-104.186 48.18 3133
+-104.06 48.18 3134
+-103.934 48.18 3135
+-103.808 48.18 3136
+-103.682 48.18 3138
+-103.556 48.18 3139
+-103.43 48.18 3140
+-103.304 48.18 3141
+-103.178 48.18 3100
+-103.052 48.18 3101
+-102.926 48.18 3102
+-102.8 48.18 3102
+-102.674 48.18 3103
+-102.548 48.18 3080
+-102.422 48.18 3044
+-102.296 48.18 2987
+-102.17 48.18 2973
+-102.044 48.18 2977
+-101.918 48.18 2994
+-101.792 48.18 3019
+-101.666 48.18 2865
+-101.54 48.18 2985
+-101.414 48.18 3070
+-101.288 48.18 3073
+-101.162 48.18 3062
+-101.036 48.18 3158
+-100.91 48.18 3143
+-100.784 48.18 3231
+-100.658 48.18 3150
+-100.532 48.18 3194
+-100.406 48.18 3192
+-100.28 48.18 3191
+-100.154 48.18 3189
+-100.028 48.18 3176
+-99.902 48.18 3174
+-99.776 48.18 3173
+-99.65 48.18 3171
+-99.524 48.18 3169
+-99.398 48.18 3088
+-99.272 48.18 3074
+-99.146 48.18 3052
+-99.02 48.18 2998
+-98.894 48.18 2989
+-98.768 48.18 2975
+-98.642 48.18 2973
+-98.516 48.18 2968
+-98.39 48.18 2951
+-98.264 48.18 2935
+-98.138 48.18 2933
+-98.012 48.18 2931
+-97.886 48.18 2928
+-97.76 48.18 2926
+-97.634 48.18 2923
+-97.508 48.18 2921
+-97.382 48.18 2918
+-97.256 48.18 2915
+-97.13 48.18 2913
+-97.004 48.18 2910
+-96.878 48.18 2907
+-96.752 48.18 2904
+-96.626 48.18 2900
+-96.5 48.18 2897
+-96.374 48.18 2894
+-96.248 48.18 2891
+-96.122 48.18 2887
+-95.996 48.18 2773
+-95.87 48.18 2770
+-95.744 48.18 2754
+-95.618 48.18 2751
+-95.492 48.18 2747
+-95.366 48.18 2743
+-95.24 48.18 2739
+-95.114 48.18 2735
+-94.988 48.18 2731
+-94.862 48.18 2727
+-94.736 48.18 2722
+-94.61 48.18 2718
+-94.484 48.18 2713
+-94.358 48.18 2709
+-94.232 48.18 2704
+-94.106 48.18 2700
+-93.98 48.18 2695
+-93.854 48.18 2690
+-93.728 48.18 2686
+-93.602 48.18 2681
+-93.476 48.18 2676
+-93.35 48.18 2672
+-93.224 48.18 2667
+-93.098 48.18 2662
+-92.972 48.18 2658
+-92.846 48.18 2653
+-92.72 48.18 2649
+-92.594 48.18 2645
+-92.468 48.18 2640
+-92.342 48.18 2636
+-92.216 48.18 2633
+-92.09 48.18 2629
+-91.964 48.18 2625
+-91.838 48.18 2622
+-91.712 48.18 2619
+-91.586 48.18 2616
+-91.46 48.18 2613
+-91.334 48.18 2611
+-91.208 48.18 2609
+-91.082 48.18 2607
+-90.956 48.18 2605
+-90.83 48.18 2604
+-90.704 48.18 2603
+-90.578 48.18 2602
+-90.452 48.18 2601
+-90.326 48.18 2601
+-90.2 48.18 2561
+-90.074 48.18 2561
+-89.948 48.18 2561
+-89.822 48.18 2562
+-89.696 48.18 2562
+-89.57 48.18 2563
+-89.444 48.18 2564
+-89.318 48.18 2565
+-89.192 48.18 2566
+-89.066 48.18 2568
+-88.94 48.18 2569
+-88.814 48.18 2571
+-88.688 48.18 2572
+-88.562 48.18 2574
+-88.436 48.18 2576
+-88.31 48.18 2578
+-88.184 48.18 2579
+-88.058 48.18 2581
+-87.932 48.18 2583
+-87.806 48.18 2585
+-87.68 48.18 2587
+-87.554 48.18 2588
+-87.428 48.18 2590
+-87.302 48.18 2592
+-87.176 48.18 2594
+-87.05 48.18 2595
+-86.924 48.18 2597
+-86.798 48.18 2599
+-86.672 48.18 2600
+-86.546 48.18 2602
+-86.42 48.18 2604
+-86.294 48.18 2605
+-86.168 48.18 2607
+-86.042 48.18 2608
+-85.916 48.18 2609
+-85.79 48.18 2611
+-85.664 48.18 2612
+-85.538 48.18 2613
+-85.412 48.18 2615
+-85.286 48.18 2616
+-85.16 48.18 2617
+-85.034 48.18 2618
+-84.908 48.18 2620
+-84.782 48.18 2621
+-84.656 48.18 2622
+-84.53 48.18 2623
+-84.404 48.18 2624
+-84.278 48.18 2625
+-84.152 48.18 2626
+-84.026 48.18 2627
+-83.9 48.18 2628
+-83.774 48.18 2629
+-83.648 48.18 2630
+-83.522 48.18 2631
+-83.396 48.18 2642
+-83.27 48.18 2643
+-83.144 48.18 2644
+-83.018 48.18 2645
+-82.892 48.18 2541
+-82.766 48.18 2541
+-82.64 48.18 2541
+-82.514 48.18 2542
+-82.388 48.18 2542
+-82.262 48.18 2543
+-82.136 48.18 2543
+-82.01 48.18 2544
+-81.884 48.18 2544
+-81.758 48.18 2544
+-81.632 48.18 2551
+-81.506 48.18 2560
+-81.38 48.18 2560
+-81.254 48.18 2561
+-81.128 48.18 2561
+-81.002 48.18 2580
+-80.876 48.18 2581
+-80.75 48.18 2581
+-80.624 48.18 2582
+-80.498 48.18 2586
+-80.372 48.18 2713
+-80.246 48.18 2714
+-80.12 48.18 2714
+-79.994 48.18 2721
+-79.868 48.18 2721
+-79.742 48.18 2722
+-79.616 48.18 2739
+-79.49 48.18 2721
+-79.364 48.18 2735
+-79.238 48.18 2735
+-79.112 48.18 2732
+-78.986 48.18 2732
+-78.86 48.18 2733
+-78.734 48.18 2734
+-78.608 48.18 2736
+-78.482 48.18 2821
+-78.356 48.18 2822
+-78.23 48.18 2823
+-78.104 48.18 2824
+-77.978 48.18 2842
+-77.852 48.18 2842
+-77.726 48.18 2823
+-77.6 48.18 2824
+-77.474 48.18 2825
+-77.348 48.18 2826
+-77.222 48.18 2798
+-77.096 48.18 2808
+-76.97 48.18 2808
+-76.844 48.18 2935
+-76.718 48.18 2895
+-76.592 48.18 2896
+-76.466 48.18 3033
+-76.34 48.18 3029
+-76.214 48.18 2991
+-76.088 48.18 3055
+-75.962 48.18 2944
+-75.836 48.18 2975
+-75.71 48.18 3030
+-75.584 48.18 2927
+-75.458 48.18 2935
+-75.332 48.18 2839
+-75.206 48.18 2836
+-75.08 48.18 2852
+-74.954 48.18 2823
+-74.828 48.18 2824
+-74.702 48.18 2825
+-74.576 48.18 2764
+-74.45 48.18 2807
+-74.324 48.18 2799
+-74.198 48.18 2788
+-74.072 48.18 2789
+-73.946 48.18 2790
+-73.82 48.18 2791
+-73.694 48.18 2731
+-73.568 48.18 2726
+-73.442 48.18 2727
+-73.316 48.18 2728
+-73.19 48.18 2729
+-73.064 48.18 2725
+-72.938 48.18 2669
+-72.812 48.18 2774
+-72.686 48.18 2770
+-72.56 48.18 2776
+-72.434 48.18 2777
+-72.308 48.18 2778
+-72.182 48.18 2778
+-72.056 48.18 2804
+-71.93 48.18 2781
+-71.804 48.18 2848
+-71.678 48.18 2849
+-71.552 48.18 2839
+-71.426 48.18 2847
+-71.3 48.18 2848
+-71.174 48.18 2849
+-71.048 48.18 2836
+-70.922 48.18 2952
+-70.796 48.18 2953
+-70.67 48.18 2954
+-70.544 48.18 2955
+-70.418 48.18 3055
+-70.292 48.18 3007
+-70.166 48.18 3156
+-70.04 48.18 3156
+-69.914 48.18 3118
+-69.788 48.18 3119
+-69.662 48.18 3119
+-69.536 48.18 3120
+-69.41 48.18 3120
+-69.284 48.18 3120
+-69.158 48.18 3220
+-69.032 48.18 3215
+-68.906 48.18 3216
+-68.78 48.18 3216
+-68.654 48.18 3217
+-68.528 48.18 3158
+-68.402 48.18 3196
+-68.276 48.18 3197
+-68.15 48.18 3276
+-68.024 48.18 3182
+-67.898 48.18 3183
+-67.772 48.18 3183
+-67.646 48.18 3234
+-67.52 48.18 3185
+-67.394 48.18 3186
+-67.268 48.18 3187
+-67.142 48.18 3414
+-67.016 48.18 3358
+-66.89 48.18 3358
+-66.764 48.18 3492
+-66.638 48.18 3463
+-66.512 48.18 3464
+-66.386 48.18 3408
+-66.26 48.18 3481
+-66.134 48.18 3482
+-66.008 48.18 3482
+-65.882 48.18 3482
+-65.756 48.18 3483
+-65.63 48.18 3482
+-65.504 48.18 3483
+-65.378 48.18 3483
+-65.252 48.18 3472
+-65.126 48.18 3418
+-128 48.128 4434
+-127.874 48.128 4386
+-127.748 48.128 4348
+-127.622 48.128 4451
+-127.496 48.128 4601
+-127.37 48.128 4753
+-127.244 48.128 4843
+-127.118 48.128 5003
+-126.992 48.128 5019
+-126.866 48.128 5157
+-126.74 48.128 5328
+-126.614 48.128 5396
+-126.488 48.128 5539
+-126.362 48.128 5688
+-126.236 48.128 5836
+-126.11 48.128 5908
+-125.984 48.128 6032
+-125.858 48.128 6183
+-125.732 48.128 6325
+-125.606 48.128 6463
+-125.48 48.128 6567
+-125.354 48.128 6701
+-125.228 48.128 6807
+-125.102 48.128 6922
+-124.976 48.128 7110
+-124.85 48.128 7162
+-124.724 48.128 7364
+-124.598 48.128 7400
+-124.472 48.128 7542
+-124.346 48.128 7603
+-124.22 48.128 7779
+-124.094 48.128 7855
+-123.968 48.128 7927
+-123.842 48.128 8018
+-123.716 48.128 8116
+-123.59 48.128 8210
+-123.464 48.128 8232
+-123.338 48.128 8258
+-123.212 48.128 8337
+-123.086 48.128 8332
+-122.96 48.128 8376
+-122.834 48.128 8352
+-122.708 48.128 8317
+-122.582 48.128 8290
+-122.456 48.128 8229
+-122.33 48.128 8215
+-122.204 48.128 8104
+-122.078 48.128 8027
+-121.952 48.128 7967
+-121.826 48.128 7821
+-121.7 48.128 7693
+-121.574 48.128 7633
+-121.448 48.128 7539
+-121.322 48.128 7416
+-121.196 48.128 7343
+-121.07 48.128 7176
+-120.944 48.128 7035
+-120.818 48.128 6925
+-120.692 48.128 6813
+-120.566 48.128 6691
+-120.44 48.128 6618
+-120.314 48.128 6473
+-120.188 48.128 6351
+-120.062 48.128 6453
+-119.936 48.128 6537
+-119.81 48.128 6614
+-119.684 48.128 6673
+-119.558 48.128 6771
+-119.432 48.128 6840
+-119.306 48.128 6898
+-119.18 48.128 6960
+-119.054 48.128 6994
+-118.928 48.128 7060
+-118.802 48.128 7105
+-118.676 48.128 7127
+-118.55 48.128 7141
+-118.424 48.128 7148
+-118.298 48.128 7145
+-118.172 48.128 7130
+-118.046 48.128 7112
+-117.92 48.128 7076
+-117.794 48.128 7061
+-117.668 48.128 7023
+-117.542 48.128 6974
+-117.416 48.128 6949
+-117.29 48.128 6879
+-117.164 48.128 6795
+-117.038 48.128 6737
+-116.912 48.128 6670
+-116.786 48.128 6596
+-116.66 48.128 6527
+-116.534 48.128 6445
+-116.408 48.128 6347
+-116.282 48.128 6295
+-116.156 48.128 6188
+-116.03 48.128 6061
+-115.904 48.128 5973
+-115.778 48.128 5906
+-115.652 48.128 5827
+-115.526 48.128 5685
+-115.4 48.128 5534
+-115.274 48.128 5357
+-115.148 48.128 5154
+-115.022 48.128 5026
+-114.896 48.128 4984
+-114.77 48.128 4920
+-114.644 48.128 4850
+-114.518 48.128 4712
+-114.392 48.128 4590
+-114.266 48.128 4481
+-114.14 48.128 4462
+-114.014 48.128 4442
+-113.888 48.128 4413
+-113.762 48.128 4368
+-113.636 48.128 4286
+-113.51 48.128 4196
+-113.384 48.128 4089
+-113.258 48.128 3964
+-113.132 48.128 3886
+-113.006 48.128 3789
+-112.88 48.128 3661
+-112.754 48.128 3499
+-112.628 48.128 3307
+-112.502 48.128 3139
+-112.376 48.128 2994
+-112.25 48.128 2916
+-112.124 48.128 2891
+-111.998 48.128 2886
+-111.872 48.128 2879
+-111.746 48.128 2909
+-111.62 48.128 2939
+-111.494 48.128 2973
+-111.368 48.128 2967
+-111.242 48.128 3005
+-111.116 48.128 3044
+-110.99 48.128 3081
+-110.864 48.128 3116
+-110.738 48.128 3149
+-110.612 48.128 3171
+-110.486 48.128 3176
+-110.36 48.128 3202
+-110.234 48.128 3225
+-110.108 48.128 3211
+-109.982 48.128 3231
+-109.856 48.128 3249
+-109.73 48.128 3265
+-109.604 48.128 3280
+-109.478 48.128 3263
+-109.352 48.128 3135
+-109.226 48.128 3131
+-109.1 48.128 3141
+-108.974 48.128 3150
+-108.848 48.128 3158
+-108.722 48.128 3165
+-108.596 48.128 3133
+-108.47 48.128 3133
+-108.344 48.128 3141
+-108.218 48.128 3148
+-108.092 48.128 3131
+-107.966 48.128 3137
+-107.84 48.128 3142
+-107.714 48.128 3147
+-107.588 48.128 3152
+-107.462 48.128 3156
+-107.336 48.128 3161
+-107.21 48.128 3165
+-107.084 48.128 3169
+-106.958 48.128 3172
+-106.832 48.128 3176
+-106.706 48.128 3179
+-106.58 48.128 3182
+-106.454 48.128 3185
+-106.328 48.128 3188
+-106.202 48.128 3153
+-106.076 48.128 3110
+-105.95 48.128 3112
+-105.824 48.128 3115
+-105.698 48.128 3117
+-105.572 48.128 3119
+-105.446 48.128 3121
+-105.32 48.128 3122
+-105.194 48.128 3124
+-105.068 48.128 3126
+-104.942 48.128 3127
+-104.816 48.128 3129
+-104.69 48.128 3130
+-104.564 48.128 3132
+-104.438 48.128 3133
+-104.312 48.128 3134
+-104.186 48.128 3135
+-104.06 48.128 3137
+-103.934 48.128 3138
+-103.808 48.128 3139
+-103.682 48.128 3140
+-103.556 48.128 3141
+-103.43 48.128 3142
+-103.304 48.128 3143
+-103.178 48.128 3102
+-103.052 48.128 3103
+-102.926 48.128 3104
+-102.8 48.128 3104
+-102.674 48.128 3105
+-102.548 48.128 3044
+-102.422 48.128 3045
+-102.296 48.128 2989
+-102.17 48.128 2974
+-102.044 48.128 2959
+-101.918 48.128 2960
+-101.792 48.128 3021
+-101.666 48.128 2841
+-101.54 48.128 2987
+-101.414 48.128 3071
+-101.288 48.128 3075
+-101.162 48.128 3068
+-101.036 48.128 3187
+-100.91 48.128 3253
+-100.784 48.128 3231
+-100.658 48.128 3230
+-100.532 48.128 3149
+-100.406 48.128 3193
+-100.28 48.128 3191
+-100.154 48.128 3190
+-100.028 48.128 3188
+-99.902 48.128 3175
+-99.776 48.128 3173
+-99.65 48.128 3171
+-99.524 48.128 3170
+-99.398 48.128 3168
+-99.272 48.128 3087
+-99.146 48.128 3073
+-99.02 48.128 3051
+-98.894 48.128 2997
+-98.768 48.128 2987
+-98.642 48.128 2973
+-98.516 48.128 2971
+-98.39 48.128 2967
+-98.264 48.128 2949
+-98.138 48.128 2933
+-98.012 48.128 2931
+-97.886 48.128 2929
+-97.76 48.128 2926
+-97.634 48.128 2924
+-97.508 48.128 2921
+-97.382 48.128 2918
+-97.256 48.128 2915
+-97.13 48.128 2913
+-97.004 48.128 2910
+-96.878 48.128 2907
+-96.752 48.128 2904
+-96.626 48.128 2900
+-96.5 48.128 2897
+-96.374 48.128 2894
+-96.248 48.128 2890
+-96.122 48.128 2887
+-95.996 48.128 2883
+-95.87 48.128 2770
+-95.744 48.128 2766
+-95.618 48.128 2751
+-95.492 48.128 2747
+-95.366 48.128 2743
+-95.24 48.128 2738
+-95.114 48.128 2734
+-94.988 48.128 2730
+-94.862 48.128 2726
+-94.736 48.128 2721
+-94.61 48.128 2717
+-94.484 48.128 2712
+-94.358 48.128 2707
+-94.232 48.128 2702
+-94.106 48.128 2698
+-93.98 48.128 2693
+-93.854 48.128 2688
+-93.728 48.128 2683
+-93.602 48.128 2678
+-93.476 48.128 2673
+-93.35 48.128 2668
+-93.224 48.128 2663
+-93.098 48.128 2658
+-92.972 48.128 2654
+-92.846 48.128 2649
+-92.72 48.128 2644
+-92.594 48.128 2640
+-92.468 48.128 2635
+-92.342 48.128 2631
+-92.216 48.128 2627
+-92.09 48.128 2623
+-91.964 48.128 2619
+-91.838 48.128 2616
+-91.712 48.128 2612
+-91.586 48.128 2609
+-91.46 48.128 2607
+-91.334 48.128 2604
+-91.208 48.128 2602
+-91.082 48.128 2600
+-90.956 48.128 2598
+-90.83 48.128 2597
+-90.704 48.128 2596
+-90.578 48.128 2595
+-90.452 48.128 2594
+-90.326 48.128 2594
+-90.2 48.128 2554
+-90.074 48.128 2554
+-89.948 48.128 2555
+-89.822 48.128 2555
+-89.696 48.128 2556
+-89.57 48.128 2557
+-89.444 48.128 2558
+-89.318 48.128 2560
+-89.192 48.128 2561
+-89.066 48.128 2563
+-88.94 48.128 2564
+-88.814 48.128 2566
+-88.688 48.128 2568
+-88.562 48.128 2570
+-88.436 48.128 2572
+-88.31 48.128 2573
+-88.184 48.128 2575
+-88.058 48.128 2577
+-87.932 48.128 2579
+-87.806 48.128 2581
+-87.68 48.128 2583
+-87.554 48.128 2585
+-87.428 48.128 2587
+-87.302 48.128 2589
+-87.176 48.128 2591
+-87.05 48.128 2593
+-86.924 48.128 2594
+-86.798 48.128 2596
+-86.672 48.128 2598
+-86.546 48.128 2600
+-86.42 48.128 2601
+-86.294 48.128 2603
+-86.168 48.128 2604
+-86.042 48.128 2606
+-85.916 48.128 2607
+-85.79 48.128 2609
+-85.664 48.128 2610
+-85.538 48.128 2611
+-85.412 48.128 2613
+-85.286 48.128 2614
+-85.16 48.128 2615
+-85.034 48.128 2617
+-84.908 48.128 2618
+-84.782 48.128 2619
+-84.656 48.128 2620
+-84.53 48.128 2621
+-84.404 48.128 2622
+-84.278 48.128 2623
+-84.152 48.128 2625
+-84.026 48.128 2626
+-83.9 48.128 2627
+-83.774 48.128 2628
+-83.648 48.128 2629
+-83.522 48.128 2639
+-83.396 48.128 2640
+-83.27 48.128 2641
+-83.144 48.128 2642
+-83.018 48.128 2539
+-82.892 48.128 2539
+-82.766 48.128 2540
+-82.64 48.128 2540
+-82.514 48.128 2540
+-82.388 48.128 2541
+-82.262 48.128 2541
+-82.136 48.128 2542
+-82.01 48.128 2542
+-81.884 48.128 2543
+-81.758 48.128 2549
+-81.632 48.128 2558
+-81.506 48.128 2559
+-81.38 48.128 2559
+-81.254 48.128 2560
+-81.128 48.128 2579
+-81.002 48.128 2579
+-80.876 48.128 2580
+-80.75 48.128 2580
+-80.624 48.128 2585
+-80.498 48.128 2711
+-80.372 48.128 2712
+-80.246 48.128 2712
+-80.12 48.128 2719
+-79.994 48.128 2719
+-79.868 48.128 2720
+-79.742 48.128 2737
+-79.616 48.128 2719
+-79.49 48.128 2733
+-79.364 48.128 2734
+-79.238 48.128 2730
+-79.112 48.128 2731
+-78.986 48.128 2731
+-78.86 48.128 2732
+-78.734 48.128 2734
+-78.608 48.128 2819
+-78.482 48.128 2820
+-78.356 48.128 2821
+-78.23 48.128 2822
+-78.104 48.128 2840
+-77.978 48.128 2840
+-77.852 48.128 2821
+-77.726 48.128 2822
+-77.6 48.128 2823
+-77.474 48.128 2824
+-77.348 48.128 2796
+-77.222 48.128 2806
+-77.096 48.128 2807
+-76.97 48.128 2933
+-76.844 48.128 2893
+-76.718 48.128 2894
+-76.592 48.128 3031
+-76.466 48.128 3027
+-76.34 48.128 2989
+-76.214 48.128 3053
+-76.088 48.128 2942
+-75.962 48.128 2973
+-75.836 48.128 3028
+-75.71 48.128 2926
+-75.584 48.128 2933
+-75.458 48.128 2838
+-75.332 48.128 2834
+-75.206 48.128 2851
+-75.08 48.128 2822
+-74.954 48.128 2823
+-74.828 48.128 2824
+-74.702 48.128 2762
+-74.576 48.128 2806
+-74.45 48.128 2798
+-74.324 48.128 2787
+-74.198 48.128 2788
+-74.072 48.128 2789
+-73.946 48.128 2790
+-73.82 48.128 2730
+-73.694 48.128 2725
+-73.568 48.128 2726
+-73.442 48.128 2727
+-73.316 48.128 2728
+-73.19 48.128 2724
+-73.064 48.128 2668
+-72.938 48.128 2773
+-72.812 48.128 2769
+-72.686 48.128 2775
+-72.56 48.128 2776
+-72.434 48.128 2777
+-72.308 48.128 2778
+-72.182 48.128 2803
+-72.056 48.128 2781
+-71.93 48.128 2847
+-71.804 48.128 2848
+-71.678 48.128 2839
+-71.552 48.128 2847
+-71.426 48.128 2847
+-71.3 48.128 2848
+-71.174 48.128 2836
+-71.048 48.128 2952
+-70.922 48.128 2953
+-70.796 48.128 2953
+-70.67 48.128 2954
+-70.544 48.128 3054
+-70.418 48.128 3006
+-70.292 48.128 3155
+-70.166 48.128 3156
+-70.04 48.128 3118
+-69.914 48.128 3118
+-69.788 48.128 3119
+-69.662 48.128 3119
+-69.536 48.128 3120
+-69.41 48.128 3120
+-69.284 48.128 3220
+-69.158 48.128 3215
+-69.032 48.128 3215
+-68.906 48.128 3216
+-68.78 48.128 3216
+-68.654 48.128 3157
+-68.528 48.128 3195
+-68.402 48.128 3196
+-68.276 48.128 3276
+-68.15 48.128 3182
+-68.024 48.128 3182
+-67.898 48.128 3183
+-67.772 48.128 3233
+-67.646 48.128 3185
+-67.52 48.128 3186
+-67.394 48.128 3186
+-67.268 48.128 3414
+-67.142 48.128 3357
+-67.016 48.128 3358
+-66.89 48.128 3492
+-66.764 48.128 3463
+-66.638 48.128 3463
+-66.512 48.128 3408
+-66.386 48.128 3480
+-66.26 48.128 3481
+-66.134 48.128 3482
+-66.008 48.128 3482
+-65.882 48.128 3482
+-65.756 48.128 3482
+-65.63 48.128 3483
+-65.504 48.128 3483
+-65.378 48.128 3472
+-65.252 48.128 3418
+-65.126 48.128 3412
+-128 48.076 4408
+-127.874 48.076 4327
+-127.748 48.076 4183
+-127.622 48.076 4390
+-127.496 48.076 4563
+-127.37 48.076 4739
+-127.244 48.076 4766
+-127.118 48.076 4963
+-126.992 48.076 5124
+-126.866 48.076 5218
+-126.74 48.076 5314
+-126.614 48.076 5434
+-126.488 48.076 5519
+-126.362 48.076 5628
+-126.236 48.076 5837
+-126.11 48.076 5951
+-125.984 48.076 6081
+-125.858 48.076 6270
+-125.732 48.076 6307
+-125.606 48.076 6407
+-125.48 48.076 6615
+-125.354 48.076 6720
+-125.228 48.076 6876
+-125.102 48.076 6976
+-124.976 48.076 7150
+-124.85 48.076 7204
+-124.724 48.076 7279
+-124.598 48.076 7460
+-124.472 48.076 7582
+-124.346 48.076 7640
+-124.22 48.076 7768
+-124.094 48.076 7876
+-123.968 48.076 7994
+-123.842 48.076 8084
+-123.716 48.076 8145
+-123.59 48.076 8231
+-123.464 48.076 8308
+-123.338 48.076 8340
+-123.212 48.076 8367
+-123.086 48.076 8417
+-122.96 48.076 8410
+-122.834 48.076 8397
+-122.708 48.076 8372
+-122.582 48.076 8326
+-122.456 48.076 8299
+-122.33 48.076 8230
+-122.204 48.076 8159
+-122.078 48.076 8079
+-121.952 48.076 7991
+-121.826 48.076 7856
+-121.7 48.076 7772
+-121.574 48.076 7709
+-121.448 48.076 7560
+-121.322 48.076 7443
+-121.196 48.076 7287
+-121.07 48.076 7224
+-120.944 48.076 7065
+-120.818 48.076 6989
+-120.692 48.076 6850
+-120.566 48.076 6734
+-120.44 48.076 6610
+-120.314 48.076 6483
+-120.188 48.076 6429
+-120.062 48.076 6526
+-119.936 48.076 6620
+-119.81 48.076 6653
+-119.684 48.076 6738
+-119.558 48.076 6833
+-119.432 48.076 6928
+-119.306 48.076 6973
+-119.18 48.076 7022
+-119.054 48.076 7058
+-118.928 48.076 7133
+-118.802 48.076 7135
+-118.676 48.076 7182
+-118.55 48.076 7187
+-118.424 48.076 7200
+-118.298 48.076 7201
+-118.172 48.076 7171
+-118.046 48.076 7188
+-117.92 48.076 7134
+-117.794 48.076 7112
+-117.668 48.076 7089
+-117.542 48.076 7043
+-117.416 48.076 6967
+-117.29 48.076 6927
+-117.164 48.076 6888
+-117.038 48.076 6751
+-116.912 48.076 6693
+-116.786 48.076 6627
+-116.66 48.076 6512
+-116.534 48.076 6416
+-116.408 48.076 6379
+-116.282 48.076 6262
+-116.156 48.076 6202
+-116.03 48.076 6081
+-115.904 48.076 5923
+-115.778 48.076 5928
+-115.652 48.076 5852
+-115.526 48.076 5723
+-115.4 48.076 5567
+-115.274 48.076 5401
+-115.148 48.076 5215
+-115.022 48.076 5083
+-114.896 48.076 5056
+-114.77 48.076 4960
+-114.644 48.076 4884
+-114.518 48.076 4765
+-114.392 48.076 4628
+-114.266 48.076 4494
+-114.14 48.076 4381
+-114.014 48.076 4428
+-113.888 48.076 4426
+-113.762 48.076 4394
+-113.636 48.076 4340
+-113.51 48.076 4191
+-113.384 48.076 4117
+-113.258 48.076 4035
+-113.132 48.076 3899
+-113.006 48.076 3796
+-112.88 48.076 3662
+-112.754 48.076 3512
+-112.628 48.076 3373
+-112.502 48.076 3251
+-112.376 48.076 3151
+-112.25 48.076 3070
+-112.124 48.076 3028
+-111.998 48.076 2983
+-111.872 48.076 2992
+-111.746 48.076 2999
+-111.62 48.076 3021
+-111.494 48.076 3048
+-111.368 48.076 3031
+-111.242 48.076 3061
+-111.116 48.076 3104
+-110.99 48.076 3135
+-110.864 48.076 3166
+-110.738 48.076 3194
+-110.612 48.076 3176
+-110.486 48.076 3202
+-110.36 48.076 3225
+-110.234 48.076 3248
+-110.108 48.076 3269
+-109.982 48.076 3249
+-109.856 48.076 3290
+-109.73 48.076 3306
+-109.604 48.076 3308
+-109.478 48.076 3136
+-109.352 48.076 3169
+-109.226 48.076 3166
+-109.1 48.076 3176
+-108.974 48.076 3185
+-108.848 48.076 3193
+-108.722 48.076 3135
+-108.596 48.076 3135
+-108.47 48.076 3143
+-108.344 48.076 3150
+-108.218 48.076 3133
+-108.092 48.076 3139
+-107.966 48.076 3144
+-107.84 48.076 3150
+-107.714 48.076 3154
+-107.588 48.076 3159
+-107.462 48.076 3163
+-107.336 48.076 3167
+-107.21 48.076 3171
+-107.084 48.076 3175
+-106.958 48.076 3178
+-106.832 48.076 3181
+-106.706 48.076 3184
+-106.58 48.076 3187
+-106.454 48.076 3190
+-106.328 48.076 3155
+-106.202 48.076 3112
+-106.076 48.076 3114
+-105.95 48.076 3116
+-105.824 48.076 3119
+-105.698 48.076 3120
+-105.572 48.076 3122
+-105.446 48.076 3124
+-105.32 48.076 3126
+-105.194 48.076 3127
+-105.068 48.076 3129
+-104.942 48.076 3130
+-104.816 48.076 3132
+-104.69 48.076 3133
+-104.564 48.076 3134
+-104.438 48.076 3136
+-104.312 48.076 3137
+-104.186 48.076 3138
+-104.06 48.076 3139
+-103.934 48.076 3140
+-103.808 48.076 3141
+-103.682 48.076 3142
+-103.556 48.076 3143
+-103.43 48.076 3144
+-103.304 48.076 3145
+-103.178 48.076 3104
+-103.052 48.076 3105
+-102.926 48.076 3105
+-102.8 48.076 3106
+-102.674 48.076 3044
+-102.548 48.076 3045
+-102.422 48.076 3037
+-102.296 48.076 2972
+-102.17 48.076 2957
+-102.044 48.076 2984
+-101.918 48.076 3008
+-101.792 48.076 2984
+-101.666 48.076 3048
+-101.54 48.076 2941
+-101.414 48.076 3077
+-101.288 48.076 3077
+-101.162 48.076 3202
+-101.036 48.076 3187
+-100.91 48.076 3253
+-100.784 48.076 3252
+-100.658 48.076 3231
+-100.532 48.076 3229
+-100.406 48.076 3148
+-100.28 48.076 3192
+-100.154 48.076 3190
+-100.028 48.076 3189
+-99.902 48.076 3187
+-99.776 48.076 3174
+-99.65 48.076 3172
+-99.524 48.076 3170
+-99.398 48.076 3168
+-99.272 48.076 3166
+-99.146 48.076 3085
+-99.02 48.076 3071
+-98.894 48.076 3049
+-98.768 48.076 2995
+-98.642 48.076 2986
+-98.516 48.076 2972
+-98.39 48.076 2969
+-98.264 48.076 2965
+-98.138 48.076 2947
+-98.012 48.076 2932
+-97.886 48.076 2929
+-97.76 48.076 2927
+-97.634 48.076 2924
+-97.508 48.076 2921
+-97.382 48.076 2919
+-97.256 48.076 2916
+-97.13 48.076 2913
+-97.004 48.076 2910
+-96.878 48.076 2907
+-96.752 48.076 2903
+-96.626 48.076 2900
+-96.5 48.076 2897
+-96.374 48.076 2893
+-96.248 48.076 2890
+-96.122 48.076 2886
+-95.996 48.076 2882
+-95.87 48.076 2879
+-95.744 48.076 2766
+-95.618 48.076 2762
+-95.492 48.076 2746
+-95.366 48.076 2742
+-95.24 48.076 2738
+-95.114 48.076 2734
+-94.988 48.076 2729
+-94.862 48.076 2725
+-94.736 48.076 2720
+-94.61 48.076 2715
+-94.484 48.076 2710
+-94.358 48.076 2706
+-94.232 48.076 2701
+-94.106 48.076 2696
+-93.98 48.076 2690
+-93.854 48.076 2685
+-93.728 48.076 2680
+-93.602 48.076 2675
+-93.476 48.076 2670
+-93.35 48.076 2665
+-93.224 48.076 2660
+-93.098 48.076 2654
+-92.972 48.076 2649
+-92.846 48.076 2644
+-92.72 48.076 2639
+-92.594 48.076 2635
+-92.468 48.076 2630
+-92.342 48.076 2625
+-92.216 48.076 2621
+-92.09 48.076 2617
+-91.964 48.076 2613
+-91.838 48.076 2609
+-91.712 48.076 2606
+-91.586 48.076 2603
+-91.46 48.076 2600
+-91.334 48.076 2597
+-91.208 48.076 2595
+-91.082 48.076 2593
+-90.956 48.076 2591
+-90.83 48.076 2589
+-90.704 48.076 2588
+-90.578 48.076 2588
+-90.452 48.076 2587
+-90.326 48.076 2587
+-90.2 48.076 2548
+-90.074 48.076 2548
+-89.948 48.076 2548
+-89.822 48.076 2549
+-89.696 48.076 2550
+-89.57 48.076 2551
+-89.444 48.076 2552
+-89.318 48.076 2554
+-89.192 48.076 2556
+-89.066 48.076 2557
+-88.94 48.076 2559
+-88.814 48.076 2561
+-88.688 48.076 2563
+-88.562 48.076 2565
+-88.436 48.076 2567
+-88.31 48.076 2569
+-88.184 48.076 2571
+-88.058 48.076 2573
+-87.932 48.076 2576
+-87.806 48.076 2578
+-87.68 48.076 2580
+-87.554 48.076 2582
+-87.428 48.076 2584
+-87.302 48.076 2586
+-87.176 48.076 2588
+-87.05 48.076 2590
+-86.924 48.076 2592
+-86.798 48.076 2594
+-86.672 48.076 2595
+-86.546 48.076 2597
+-86.42 48.076 2599
+-86.294 48.076 2600
+-86.168 48.076 2602
+-86.042 48.076 2604
+-85.916 48.076 2605
+-85.79 48.076 2607
+-85.664 48.076 2608
+-85.538 48.076 2610
+-85.412 48.076 2611
+-85.286 48.076 2612
+-85.16 48.076 2614
+-85.034 48.076 2615
+-84.908 48.076 2616
+-84.782 48.076 2617
+-84.656 48.076 2618
+-84.53 48.076 2620
+-84.404 48.076 2621
+-84.278 48.076 2622
+-84.152 48.076 2623
+-84.026 48.076 2624
+-83.9 48.076 2625
+-83.774 48.076 2626
+-83.648 48.076 2637
+-83.522 48.076 2638
+-83.396 48.076 2639
+-83.27 48.076 2640
+-83.144 48.076 2537
+-83.018 48.076 2537
+-82.892 48.076 2538
+-82.766 48.076 2538
+-82.64 48.076 2539
+-82.514 48.076 2539
+-82.388 48.076 2540
+-82.262 48.076 2540
+-82.136 48.076 2540
+-82.01 48.076 2541
+-81.884 48.076 2547
+-81.758 48.076 2556
+-81.632 48.076 2557
+-81.506 48.076 2557
+-81.38 48.076 2558
+-81.254 48.076 2577
+-81.128 48.076 2578
+-81.002 48.076 2578
+-80.876 48.076 2579
+-80.75 48.076 2583
+-80.624 48.076 2710
+-80.498 48.076 2710
+-80.372 48.076 2710
+-80.246 48.076 2717
+-80.12 48.076 2717
+-79.994 48.076 2718
+-79.868 48.076 2735
+-79.742 48.076 2717
+-79.616 48.076 2731
+-79.49 48.076 2732
+-79.364 48.076 2728
+-79.238 48.076 2729
+-79.112 48.076 2729
+-78.986 48.076 2730
+-78.86 48.076 2732
+-78.734 48.076 2817
+-78.608 48.076 2818
+-78.482 48.076 2819
+-78.356 48.076 2820
+-78.23 48.076 2838
+-78.104 48.076 2838
+-77.978 48.076 2820
+-77.852 48.076 2821
+-77.726 48.076 2821
+-77.6 48.076 2822
+-77.474 48.076 2794
+-77.348 48.076 2804
+-77.222 48.076 2805
+-77.096 48.076 2931
+-76.97 48.076 2892
+-76.844 48.076 2893
+-76.718 48.076 3028
+-76.592 48.076 3025
+-76.466 48.076 2988
+-76.34 48.076 3051
+-76.214 48.076 2941
+-76.088 48.076 2971
+-75.962 48.076 3026
+-75.836 48.076 2924
+-75.71 48.076 2931
+-75.584 48.076 2836
+-75.458 48.076 2833
+-75.332 48.076 2849
+-75.206 48.076 2820
+-75.08 48.076 2822
+-74.954 48.076 2823
+-74.828 48.076 2761
+-74.702 48.076 2805
+-74.576 48.076 2797
+-74.45 48.076 2786
+-74.324 48.076 2787
+-74.198 48.076 2788
+-74.072 48.076 2789
+-73.946 48.076 2729
+-73.82 48.076 2724
+-73.694 48.076 2725
+-73.568 48.076 2726
+-73.442 48.076 2727
+-73.316 48.076 2723
+-73.19 48.076 2668
+-73.064 48.076 2773
+-72.938 48.076 2768
+-72.812 48.076 2774
+-72.686 48.076 2775
+-72.56 48.076 2776
+-72.434 48.076 2777
+-72.308 48.076 2803
+-72.182 48.076 2780
+-72.056 48.076 2847
+-71.93 48.076 2847
+-71.804 48.076 2838
+-71.678 48.076 2846
+-71.552 48.076 2847
+-71.426 48.076 2848
+-71.3 48.076 2835
+-71.174 48.076 2951
+-71.048 48.076 2952
+-70.922 48.076 2953
+-70.796 48.076 2954
+-70.67 48.076 3053
+-70.544 48.076 3006
+-70.418 48.076 3155
+-70.292 48.076 3155
+-70.166 48.076 3117
+-70.04 48.076 3118
+-69.914 48.076 3118
+-69.788 48.076 3119
+-69.662 48.076 3119
+-69.536 48.076 3120
+-69.41 48.076 3219
+-69.284 48.076 3214
+-69.158 48.076 3215
+-69.032 48.076 3215
+-68.906 48.076 3216
+-68.78 48.076 3157
+-68.654 48.076 3195
+-68.528 48.076 3195
+-68.402 48.076 3275
+-68.276 48.076 3181
+-68.15 48.076 3182
+-68.024 48.076 3182
+-67.898 48.076 3233
+-67.772 48.076 3184
+-67.646 48.076 3185
+-67.52 48.076 3186
+-67.394 48.076 3413
+-67.268 48.076 3357
+-67.142 48.076 3357
+-67.016 48.076 3491
+-66.89 48.076 3463
+-66.764 48.076 3463
+-66.638 48.076 3407
+-66.512 48.076 3480
+-66.386 48.076 3481
+-66.26 48.076 3481
+-66.134 48.076 3482
+-66.008 48.076 3482
+-65.882 48.076 3482
+-65.756 48.076 3482
+-65.63 48.076 3483
+-65.504 48.076 3472
+-65.378 48.076 3418
+-65.252 48.076 3411
+-65.126 48.076 3412
+-128 48.024 4451
+-127.874 48.024 4394
+-127.748 48.024 4370
+-127.622 48.024 4371
+-127.496 48.024 4518
+-127.37 48.024 4718
+-127.244 48.024 4840
+-127.118 48.024 5006
+-126.992 48.024 5150
+-126.866 48.024 5172
+-126.74 48.024 5252
+-126.614 48.024 5398
+-126.488 48.024 5542
+-126.362 48.024 5685
+-126.236 48.024 5866
+-126.11 48.024 6009
+-125.984 48.024 6130
+-125.858 48.024 6210
+-125.732 48.024 6324
+-125.606 48.024 6459
+-125.48 48.024 6607
+-125.354 48.024 6741
+-125.228 48.024 6877
+-125.102 48.024 6965
+-124.976 48.024 7116
+-124.85 48.024 7253
+-124.724 48.024 7368
+-124.598 48.024 7508
+-124.472 48.024 7608
+-124.346 48.024 7743
+-124.22 48.024 7814
+-124.094 48.024 7939
+-123.968 48.024 8028
+-123.842 48.024 8113
+-123.716 48.024 8168
+-123.59 48.024 8329
+-123.464 48.024 8359
+-123.338 48.024 8388
+-123.212 48.024 8456
+-123.086 48.024 8459
+-122.96 48.024 8460
+-122.834 48.024 8452
+-122.708 48.024 8420
+-122.582 48.024 8394
+-122.456 48.024 8349
+-122.33 48.024 8294
+-122.204 48.024 8201
+-122.078 48.024 8104
+-121.952 48.024 8071
+-121.826 48.024 7924
+-121.7 48.024 7854
+-121.574 48.024 7737
+-121.448 48.024 7552
+-121.322 48.024 7444
+-121.196 48.024 7334
+-121.07 48.024 7281
+-120.944 48.024 7118
+-120.818 48.024 6971
+-120.692 48.024 6870
+-120.566 48.024 6731
+-120.44 48.024 6630
+-120.314 48.024 6333
+-120.188 48.024 6491
+-120.062 48.024 6584
+-119.936 48.024 6624
+-119.81 48.024 6699
+-119.684 48.024 6805
+-119.558 48.024 6879
+-119.432 48.024 6938
+-119.306 48.024 7000
+-119.18 48.024 7033
+-119.054 48.024 7118
+-118.928 48.024 7150
+-118.802 48.024 7177
+-118.676 48.024 7234
+-118.55 48.024 7248
+-118.424 48.024 7244
+-118.298 48.024 7260
+-118.172 48.024 7251
+-118.046 48.024 7237
+-117.92 48.024 7201
+-117.794 48.024 7164
+-117.668 48.024 7086
+-117.542 48.024 7108
+-117.416 48.024 7051
+-117.29 48.024 6985
+-117.164 48.024 6904
+-117.038 48.024 6804
+-116.912 48.024 6715
+-116.786 48.024 6601
+-116.66 48.024 6586
+-116.534 48.024 6500
+-116.408 48.024 6410
+-116.282 48.024 6309
+-116.156 48.024 6192
+-116.03 48.024 6124
+-115.904 48.024 6034
+-115.778 48.024 5928
+-115.652 48.024 5792
+-115.526 48.024 5721
+-115.4 48.024 5560
+-115.274 48.024 5465
+-115.148 48.024 5337
+-115.022 48.024 5176
+-114.896 48.024 5065
+-114.77 48.024 4988
+-114.644 48.024 4918
+-114.518 48.024 4821
+-114.392 48.024 4674
+-114.266 48.024 4545
+-114.14 48.024 4458
+-114.014 48.024 4443
+-113.888 48.024 4427
+-113.762 48.024 4388
+-113.636 48.024 4321
+-113.51 48.024 4193
+-113.384 48.024 4117
+-113.258 48.024 4067
+-113.132 48.024 3925
+-113.006 48.024 3790
+-112.88 48.024 3654
+-112.754 48.024 3530
+-112.628 48.024 3404
+-112.502 48.024 3292
+-112.376 48.024 3209
+-112.25 48.024 3151
+-112.124 48.024 3093
+-111.998 48.024 3070
+-111.872 48.024 3079
+-111.746 48.024 3086
+-111.62 48.024 3090
+-111.494 48.024 3117
+-111.368 48.024 3141
+-111.242 48.024 3125
+-111.116 48.024 3151
+-110.99 48.024 3177
+-110.864 48.024 3202
+-110.738 48.024 3182
+-110.612 48.024 3206
+-110.486 48.024 3228
+-110.36 48.024 3250
+-110.234 48.024 3271
+-110.108 48.024 3290
+-109.982 48.024 3292
+-109.856 48.024 3307
+-109.73 48.024 3309
+-109.604 48.024 3322
+-109.478 48.024 3334
+-109.352 48.024 3211
+-109.226 48.024 3178
+-109.1 48.024 3210
+-108.974 48.024 3219
+-108.848 48.024 3138
+-108.722 48.024 3138
+-108.596 48.024 3146
+-108.47 48.024 3153
+-108.344 48.024 3136
+-108.218 48.024 3142
+-108.092 48.024 3147
+-107.966 48.024 3153
+-107.84 48.024 3157
+-107.714 48.024 3162
+-107.588 48.024 3166
+-107.462 48.024 3170
+-107.336 48.024 3174
+-107.21 48.024 3177
+-107.084 48.024 3181
+-106.958 48.024 3184
+-106.832 48.024 3187
+-106.706 48.024 3190
+-106.58 48.024 3231
+-106.454 48.024 3157
+-106.328 48.024 3114
+-106.202 48.024 3116
+-106.076 48.024 3118
+-105.95 48.024 3120
+-105.824 48.024 3122
+-105.698 48.024 3124
+-105.572 48.024 3126
+-105.446 48.024 3128
+-105.32 48.024 3129
+-105.194 48.024 3131
+-105.068 48.024 3132
+-104.942 48.024 3133
+-104.816 48.024 3135
+-104.69 48.024 3136
+-104.564 48.024 3137
+-104.438 48.024 3138
+-104.312 48.024 3139
+-104.186 48.024 3141
+-104.06 48.024 3142
+-103.934 48.024 3143
+-103.808 48.024 3143
+-103.682 48.024 3144
+-103.556 48.024 3145
+-103.43 48.024 3146
+-103.304 48.024 3147
+-103.178 48.024 3106
+-103.052 48.024 3107
+-102.926 48.024 3107
+-102.8 48.024 3045
+-102.674 48.024 3046
+-102.548 48.024 3037
+-102.422 48.024 2988
+-102.296 48.024 2974
+-102.17 48.024 2960
+-102.044 48.024 3003
+-101.918 48.024 3010
+-101.792 48.024 3087
+-101.666 48.024 3113
+-101.54 48.024 3212
+-101.414 48.024 3026
+-101.288 48.024 3029
+-101.162 48.024 3202
+-101.036 48.024 3135
+-100.91 48.024 3283
+-100.784 48.024 3252
+-100.658 48.024 3251
+-100.532 48.024 3230
+-100.406 48.024 3228
+-100.28 48.024 3147
+-100.154 48.024 3191
+-100.028 48.024 3189
+-99.902 48.024 3187
+-99.776 48.024 3186
+-99.65 48.024 3172
+-99.524 48.024 3170
+-99.398 48.024 3169
+-99.272 48.024 3167
+-99.146 48.024 3165
+-99.02 48.024 3084
+-98.894 48.024 3070
+-98.768 48.024 3048
+-98.642 48.024 2994
+-98.516 48.024 2984
+-98.39 48.024 2970
+-98.264 48.024 2968
+-98.138 48.024 2963
+-98.012 48.024 2946
+-97.886 48.024 2930
+-97.76 48.024 2927
+-97.634 48.024 2924
+-97.508 48.024 2922
+-97.382 48.024 2919
+-97.256 48.024 2916
+-97.13 48.024 2913
+-97.004 48.024 2910
+-96.878 48.024 2907
+-96.752 48.024 2904
+-96.626 48.024 2900
+-96.5 48.024 2897
+-96.374 48.024 2893
+-96.248 48.024 2890
+-96.122 48.024 2886
+-95.996 48.024 2882
+-95.87 48.024 2878
+-95.744 48.024 2874
+-95.618 48.024 2762
+-95.492 48.024 2758
+-95.366 48.024 2742
+-95.24 48.024 2737
+-95.114 48.024 2733
+-94.988 48.024 2728
+-94.862 48.024 2724
+-94.736 48.024 2719
+-94.61 48.024 2714
+-94.484 48.024 2709
+-94.358 48.024 2704
+-94.232 48.024 2699
+-94.106 48.024 2693
+-93.98 48.024 2688
+-93.854 48.024 2683
+-93.728 48.024 2677
+-93.602 48.024 2672
+-93.476 48.024 2666
+-93.35 48.024 2661
+-93.224 48.024 2656
+-93.098 48.024 2650
+-92.972 48.024 2645
+-92.846 48.024 2640
+-92.72 48.024 2634
+-92.594 48.024 2629
+-92.468 48.024 2624
+-92.342 48.024 2620
+-92.216 48.024 2615
+-92.09 48.024 2610
+-91.964 48.024 2606
+-91.838 48.024 2602
+-91.712 48.024 2599
+-91.586 48.024 2595
+-91.46 48.024 2592
+-91.334 48.024 2589
+-91.208 48.024 2587
+-91.082 48.024 2585
+-90.956 48.024 2583
+-90.83 48.024 2582
+-90.704 48.024 2580
+-90.578 48.024 2580
+-90.452 48.024 2579
+-90.326 48.024 2579
+-90.2 48.024 2540
+-90.074 48.024 2541
+-89.948 48.024 2541
+-89.822 48.024 2542
+-89.696 48.024 2543
+-89.57 48.024 2545
+-89.444 48.024 2546
+-89.318 48.024 2548
+-89.192 48.024 2550
+-89.066 48.024 2552
+-88.94 48.024 2554
+-88.814 48.024 2556
+-88.688 48.024 2558
+-88.562 48.024 2560
+-88.436 48.024 2563
+-88.31 48.024 2565
+-88.184 48.024 2567
+-88.058 48.024 2570
+-87.932 48.024 2572
+-87.806 48.024 2574
+-87.68 48.024 2576
+-87.554 48.024 2579
+-87.428 48.024 2581
+-87.302 48.024 2583
+-87.176 48.024 2585
+-87.05 48.024 2587
+-86.924 48.024 2589
+-86.798 48.024 2591
+-86.672 48.024 2593
+-86.546 48.024 2595
+-86.42 48.024 2596
+-86.294 48.024 2598
+-86.168 48.024 2600
+-86.042 48.024 2602
+-85.916 48.024 2603
+-85.79 48.024 2605
+-85.664 48.024 2606
+-85.538 48.024 2608
+-85.412 48.024 2609
+-85.286 48.024 2610
+-85.16 48.024 2612
+-85.034 48.024 2613
+-84.908 48.024 2614
+-84.782 48.024 2616
+-84.656 48.024 2617
+-84.53 48.024 2618
+-84.404 48.024 2619
+-84.278 48.024 2620
+-84.152 48.024 2621
+-84.026 48.024 2622
+-83.9 48.024 2624
+-83.774 48.024 2634
+-83.648 48.024 2635
+-83.522 48.024 2636
+-83.396 48.024 2637
+-83.27 48.024 2535
+-83.144 48.024 2536
+-83.018 48.024 2536
+-82.892 48.024 2536
+-82.766 48.024 2537
+-82.64 48.024 2537
+-82.514 48.024 2538
+-82.388 48.024 2538
+-82.262 48.024 2539
+-82.136 48.024 2539
+-82.01 48.024 2545
+-81.884 48.024 2555
+-81.758 48.024 2555
+-81.632 48.024 2556
+-81.506 48.024 2556
+-81.38 48.024 2575
+-81.254 48.024 2576
+-81.128 48.024 2576
+-81.002 48.024 2577
+-80.876 48.024 2581
+-80.75 48.024 2708
+-80.624 48.024 2708
+-80.498 48.024 2708
+-80.372 48.024 2715
+-80.246 48.024 2715
+-80.12 48.024 2716
+-79.994 48.024 2733
+-79.868 48.024 2715
+-79.742 48.024 2729
+-79.616 48.024 2730
+-79.49 48.024 2726
+-79.364 48.024 2727
+-79.238 48.024 2728
+-79.112 48.024 2728
+-78.986 48.024 2730
+-78.86 48.024 2815
+-78.734 48.024 2816
+-78.608 48.024 2817
+-78.482 48.024 2818
+-78.356 48.024 2835
+-78.23 48.024 2836
+-78.104 48.024 2818
+-77.978 48.024 2819
+-77.852 48.024 2820
+-77.726 48.024 2821
+-77.6 48.024 2793
+-77.474 48.024 2803
+-77.348 48.024 2804
+-77.222 48.024 2929
+-77.096 48.024 2890
+-76.97 48.024 2891
+-76.844 48.024 3026
+-76.718 48.024 3023
+-76.592 48.024 2986
+-76.466 48.024 3049
+-76.34 48.024 2939
+-76.214 48.024 2969
+-76.088 48.024 3024
+-75.962 48.024 2922
+-75.836 48.024 2929
+-75.71 48.024 2835
+-75.584 48.024 2831
+-75.458 48.024 2848
+-75.332 48.024 2819
+-75.206 48.024 2820
+-75.08 48.024 2821
+-74.954 48.024 2760
+-74.828 48.024 2803
+-74.702 48.024 2796
+-74.576 48.024 2785
+-74.45 48.024 2786
+-74.324 48.024 2787
+-74.198 48.024 2788
+-74.072 48.024 2728
+-73.946 48.024 2723
+-73.82 48.024 2724
+-73.694 48.024 2725
+-73.568 48.024 2726
+-73.442 48.024 2722
+-73.316 48.024 2667
+-73.19 48.024 2772
+-73.064 48.024 2767
+-72.938 48.024 2774
+-72.812 48.024 2775
+-72.686 48.024 2775
+-72.56 48.024 2776
+-72.434 48.024 2802
+-72.308 48.024 2779
+-72.182 48.024 2846
+-72.056 48.024 2847
+-71.93 48.024 2837
+-71.804 48.024 2845
+-71.678 48.024 2846
+-71.552 48.024 2847
+-71.426 48.024 2834
+-71.3 48.024 2950
+-71.174 48.024 2951
+-71.048 48.024 2952
+-70.922 48.024 2953
+-70.796 48.024 3053
+-70.67 48.024 3005
+-70.544 48.024 3154
+-70.418 48.024 3155
+-70.292 48.024 3117
+-70.166 48.024 3117
+-70.04 48.024 3118
+-69.914 48.024 3118
+-69.788 48.024 3119
+-69.662 48.024 3119
+-69.536 48.024 3219
+-69.41 48.024 3214
+-69.284 48.024 3214
+-69.158 48.024 3215
+-69.032 48.024 3215
+-68.906 48.024 3157
+-68.78 48.024 3194
+-68.654 48.024 3195
+-68.528 48.024 3274
+-68.402 48.024 3181
+-68.276 48.024 3181
+-68.15 48.024 3182
+-68.024 48.024 3232
+-67.898 48.024 3184
+-67.772 48.024 3185
+-67.646 48.024 3185
+-67.52 48.024 3413
+-67.394 48.024 3356
+-67.268 48.024 3357
+-67.142 48.024 3491
+-67.016 48.024 3462
+-66.89 48.024 3463
+-66.764 48.024 3407
+-66.638 48.024 3480
+-66.512 48.024 3481
+-66.386 48.024 3481
+-66.26 48.024 3481
+-66.134 48.024 3482
+-66.008 48.024 3482
+-65.882 48.024 3482
+-65.756 48.024 3482
+-65.63 48.024 3471
+-65.504 48.024 3417
+-65.378 48.024 3411
+-65.252 48.024 3411
+-65.126 48.024 3412
+-128 47.972 4484
+-127.874 47.972 4469
+-127.748 47.972 4458
+-127.622 47.972 4436
+-127.496 47.972 4529
+-127.37 47.972 4709
+-127.244 47.972 4899
+-127.118 47.972 5042
+-126.992 47.972 5159
+-126.866 47.972 5222
+-126.74 47.972 5296
+-126.614 47.972 5442
+-126.488 47.972 5607
+-126.362 47.972 5739
+-126.236 47.972 5878
+-126.11 47.972 6023
+-125.984 47.972 6172
+-125.858 47.972 6276
+-125.732 47.972 6325
+-125.606 47.972 6476
+-125.48 47.972 6580
+-125.354 47.972 6753
+-125.228 47.972 6884
+-125.102 47.972 7017
+-124.976 47.972 7144
+-124.85 47.972 7312
+-124.724 47.972 7393
+-124.598 47.972 7546
+-124.472 47.972 7653
+-124.346 47.972 7761
+-124.22 47.972 7849
+-124.094 47.972 7987
+-123.968 47.972 8054
+-123.842 47.972 8134
+-123.716 47.972 8261
+-123.59 47.972 8323
+-123.464 47.972 8392
+-123.338 47.972 8461
+-123.212 47.972 8489
+-123.086 47.972 8545
+-122.96 47.972 8534
+-122.834 47.972 8527
+-122.708 47.972 8481
+-122.582 47.972 8450
+-122.456 47.972 8375
+-122.33 47.972 8329
+-122.204 47.972 8229
+-122.078 47.972 8171
+-121.952 47.972 8046
+-121.826 47.972 7967
+-121.7 47.972 7817
+-121.574 47.972 7739
+-121.448 47.972 7612
+-121.322 47.972 7481
+-121.196 47.972 7373
+-121.07 47.972 7215
+-120.944 47.972 7076
+-120.818 47.972 7009
+-120.692 47.972 6847
+-120.566 47.972 6815
+-120.44 47.972 6358
+-120.314 47.972 6355
+-120.188 47.972 6487
+-120.062 47.972 6571
+-119.936 47.972 6673
+-119.81 47.972 6763
+-119.684 47.972 6815
+-119.558 47.972 6898
+-119.432 47.972 6983
+-119.306 47.972 7050
+-119.18 47.972 7130
+-119.054 47.972 7159
+-118.928 47.972 7219
+-118.802 47.972 7243
+-118.676 47.972 7261
+-118.55 47.972 7276
+-118.424 47.972 7284
+-118.298 47.972 7304
+-118.172 47.972 7285
+-118.046 47.972 7255
+-117.92 47.972 7257
+-117.794 47.972 7235
+-117.668 47.972 7182
+-117.542 47.972 7128
+-117.416 47.972 7028
+-117.29 47.972 7035
+-117.164 47.972 6982
+-117.038 47.972 6893
+-116.912 47.972 6773
+-116.786 47.972 6686
+-116.66 47.972 6650
+-116.534 47.972 6548
+-116.408 47.972 6411
+-116.282 47.972 6338
+-116.156 47.972 6206
+-116.03 47.972 6171
+-115.904 47.972 6085
+-115.778 47.972 5989
+-115.652 47.972 5877
+-115.526 47.972 5697
+-115.4 47.972 5538
+-115.274 47.972 5452
+-115.148 47.972 5339
+-115.022 47.972 5271
+-114.896 47.972 5099
+-114.77 47.972 4997
+-114.644 47.972 4939
+-114.518 47.972 4864
+-114.392 47.972 4730
+-114.266 47.972 4631
+-114.14 47.972 4524
+-114.014 47.972 4449
+-113.888 47.972 4419
+-113.762 47.972 4365
+-113.636 47.972 4298
+-113.51 47.972 4184
+-113.384 47.972 4098
+-113.258 47.972 4045
+-113.132 47.972 3966
+-113.006 47.972 3820
+-112.88 47.972 3679
+-112.754 47.972 3518
+-112.628 47.972 3371
+-112.502 47.972 3243
+-112.376 47.972 3155
+-112.25 47.972 3128
+-112.124 47.972 3113
+-111.998 47.972 3127
+-111.872 47.972 3132
+-111.746 47.972 3155
+-111.62 47.972 3178
+-111.494 47.972 3184
+-111.368 47.972 3151
+-111.242 47.972 3173
+-111.116 47.972 3195
+-110.99 47.972 3217
+-110.864 47.972 3194
+-110.738 47.972 3216
+-110.612 47.972 3237
+-110.486 47.972 3258
+-110.36 47.972 3277
+-110.234 47.972 3295
+-110.108 47.972 3296
+-109.982 47.972 3311
+-109.856 47.972 3312
+-109.73 47.972 3325
+-109.604 47.972 3337
+-109.478 47.972 3214
+-109.352 47.972 3225
+-109.226 47.972 3212
+-109.1 47.972 3221
+-108.974 47.972 3142
+-108.848 47.972 3179
+-108.722 47.972 3187
+-108.596 47.972 3195
+-108.47 47.972 3172
+-108.344 47.972 3178
+-108.218 47.972 3184
+-108.092 47.972 3190
+-107.966 47.972 3195
+-107.84 47.972 3200
+-107.714 47.972 3204
+-107.588 47.972 3209
+-107.462 47.972 3213
+-107.336 47.972 3217
+-107.21 47.972 3220
+-107.084 47.972 3224
+-106.958 47.972 3227
+-106.832 47.972 3230
+-106.706 47.972 3233
+-106.58 47.972 3160
+-106.454 47.972 3116
+-106.328 47.972 3119
+-106.202 47.972 3121
+-106.076 47.972 3123
+-105.95 47.972 3125
+-105.824 47.972 3126
+-105.698 47.972 3128
+-105.572 47.972 3130
+-105.446 47.972 3131
+-105.32 47.972 3133
+-105.194 47.972 3134
+-105.068 47.972 3135
+-104.942 47.972 3137
+-104.816 47.972 3138
+-104.69 47.972 3139
+-104.564 47.972 3140
+-104.438 47.972 3141
+-104.312 47.972 3142
+-104.186 47.972 3143
+-104.06 47.972 3144
+-103.934 47.972 3145
+-103.808 47.972 3146
+-103.682 47.972 3147
+-103.556 47.972 3147
+-103.43 47.972 3148
+-103.304 47.972 3149
+-103.178 47.972 3108
+-103.052 47.972 3109
+-102.926 47.972 3045
+-102.8 47.972 3046
+-102.674 47.972 3038
+-102.548 47.972 3039
+-102.422 47.972 2986
+-102.296 47.972 2975
+-102.17 47.972 2979
+-102.044 47.972 2984
+-101.918 47.972 2991
+-101.792 47.972 3059
+-101.666 47.972 3088
+-101.54 47.972 3213
+-101.414 47.972 3218
+-101.288 47.972 3149
+-101.162 47.972 3150
+-101.036 47.972 3246
+-100.91 47.972 3228
+-100.784 47.972 3282
+-100.658 47.972 3251
+-100.532 47.972 3250
+-100.406 47.972 3229
+-100.28 47.972 3227
+-100.154 47.972 3147
+-100.028 47.972 3189
+-99.902 47.972 3188
+-99.776 47.972 3186
+-99.65 47.972 3184
+-99.524 47.972 3171
+-99.398 47.972 3169
+-99.272 47.972 3167
+-99.146 47.972 3165
+-99.02 47.972 3163
+-98.894 47.972 3082
+-98.768 47.972 3068
+-98.642 47.972 3046
+-98.516 47.972 2993
+-98.39 47.972 2983
+-98.264 47.972 2968
+-98.138 47.972 2966
+-98.012 47.972 2961
+-97.886 47.972 2944
+-97.76 47.972 2927
+-97.634 47.972 2925
+-97.508 47.972 2922
+-97.382 47.972 2919
+-97.256 47.972 2916
+-97.13 47.972 2913
+-97.004 47.972 2910
+-96.878 47.972 2907
+-96.752 47.972 2904
+-96.626 47.972 2900
+-96.5 47.972 2897
+-96.374 47.972 2893
+-96.248 47.972 2889
+-96.122 47.972 2886
+-95.996 47.972 2882
+-95.87 47.972 2878
+-95.744 47.972 2873
+-95.618 47.972 2869
+-95.492 47.972 2757
+-95.366 47.972 2753
+-95.24 47.972 2737
+-95.114 47.972 2732
+-94.988 47.972 2728
+-94.862 47.972 2723
+-94.736 47.972 2718
+-94.61 47.972 2713
+-94.484 47.972 2707
+-94.358 47.972 2702
+-94.232 47.972 2697
+-94.106 47.972 2691
+-93.98 47.972 2686
+-93.854 47.972 2680
+-93.728 47.972 2674
+-93.602 47.972 2669
+-93.476 47.972 2663
+-93.35 47.972 2657
+-93.224 47.972 2652
+-93.098 47.972 2646
+-92.972 47.972 2640
+-92.846 47.972 2635
+-92.72 47.972 2629
+-92.594 47.972 2624
+-92.468 47.972 2618
+-92.342 47.972 2613
+-92.216 47.972 2608
+-92.09 47.972 2604
+-91.964 47.972 2599
+-91.838 47.972 2595
+-91.712 47.972 2591
+-91.586 47.972 2588
+-91.46 47.972 2584
+-91.334 47.972 2581
+-91.208 47.972 2579
+-91.082 47.972 2577
+-90.956 47.972 2575
+-90.83 47.972 2573
+-90.704 47.972 2572
+-90.578 47.972 2571
+-90.452 47.972 2571
+-90.326 47.972 2571
+-90.2 47.972 2533
+-90.074 47.972 2533
+-89.948 47.972 2534
+-89.822 47.972 2535
+-89.696 47.972 2537
+-89.57 47.972 2538
+-89.444 47.972 2540
+-89.318 47.972 2542
+-89.192 47.972 2544
+-89.066 47.972 2546
+-88.94 47.972 2548
+-88.814 47.972 2551
+-88.688 47.972 2553
+-88.562 47.972 2555
+-88.436 47.972 2558
+-88.31 47.972 2560
+-88.184 47.972 2563
+-88.058 47.972 2565
+-87.932 47.972 2568
+-87.806 47.972 2570
+-87.68 47.972 2573
+-87.554 47.972 2575
+-87.428 47.972 2578
+-87.302 47.972 2580
+-87.176 47.972 2582
+-87.05 47.972 2584
+-86.924 47.972 2586
+-86.798 47.972 2588
+-86.672 47.972 2590
+-86.546 47.972 2592
+-86.42 47.972 2594
+-86.294 47.972 2596
+-86.168 47.972 2598
+-86.042 47.972 2599
+-85.916 47.972 2601
+-85.79 47.972 2603
+-85.664 47.972 2604
+-85.538 47.972 2606
+-85.412 47.972 2607
+-85.286 47.972 2608
+-85.16 47.972 2610
+-85.034 47.972 2611
+-84.908 47.972 2613
+-84.782 47.972 2614
+-84.656 47.972 2615
+-84.53 47.972 2616
+-84.404 47.972 2617
+-84.278 47.972 2619
+-84.152 47.972 2620
+-84.026 47.972 2621
+-83.9 47.972 2631
+-83.774 47.972 2633
+-83.648 47.972 2634
+-83.522 47.972 2635
+-83.396 47.972 2533
+-83.27 47.972 2534
+-83.144 47.972 2534
+-83.018 47.972 2535
+-82.892 47.972 2535
+-82.766 47.972 2535
+-82.64 47.972 2536
+-82.514 47.972 2536
+-82.388 47.972 2537
+-82.262 47.972 2537
+-82.136 47.972 2544
+-82.01 47.972 2553
+-81.884 47.972 2553
+-81.758 47.972 2554
+-81.632 47.972 2554
+-81.506 47.972 2573
+-81.38 47.972 2574
+-81.254 47.972 2575
+-81.128 47.972 2575
+-81.002 47.972 2580
+-80.876 47.972 2706
+-80.75 47.972 2706
+-80.624 47.972 2706
+-80.498 47.972 2713
+-80.372 47.972 2713
+-80.246 47.972 2714
+-80.12 47.972 2731
+-79.994 47.972 2713
+-79.868 47.972 2727
+-79.742 47.972 2728
+-79.616 47.972 2724
+-79.49 47.972 2725
+-79.364 47.972 2726
+-79.238 47.972 2726
+-79.112 47.972 2729
+-78.986 47.972 2813
+-78.86 47.972 2814
+-78.734 47.972 2815
+-78.608 47.972 2816
+-78.482 47.972 2833
+-78.356 47.972 2834
+-78.23 47.972 2816
+-78.104 47.972 2817
+-77.978 47.972 2818
+-77.852 47.972 2819
+-77.726 47.972 2791
+-77.6 47.972 2801
+-77.474 47.972 2802
+-77.348 47.972 2927
+-77.222 47.972 2888
+-77.096 47.972 2889
+-76.97 47.972 3024
+-76.844 47.972 3021
+-76.718 47.972 2984
+-76.592 47.972 3046
+-76.466 47.972 2937
+-76.34 47.972 2967
+-76.214 47.972 3022
+-76.088 47.972 2920
+-75.962 47.972 2928
+-75.836 47.972 2833
+-75.71 47.972 2830
+-75.584 47.972 2846
+-75.458 47.972 2818
+-75.332 47.972 2819
+-75.206 47.972 2820
+-75.08 47.972 2759
+-74.954 47.972 2802
+-74.828 47.972 2794
+-74.702 47.972 2783
+-74.576 47.972 2785
+-74.45 47.972 2786
+-74.324 47.972 2787
+-74.198 47.972 2727
+-74.072 47.972 2722
+-73.946 47.972 2723
+-73.82 47.972 2724
+-73.694 47.972 2725
+-73.568 47.972 2722
+-73.442 47.972 2666
+-73.316 47.972 2771
+-73.19 47.972 2767
+-73.064 47.972 2773
+-72.938 47.972 2774
+-72.812 47.972 2775
+-72.686 47.972 2775
+-72.56 47.972 2801
+-72.434 47.972 2779
+-72.308 47.972 2845
+-72.182 47.972 2846
+-72.056 47.972 2836
+-71.93 47.972 2844
+-71.804 47.972 2845
+-71.678 47.972 2846
+-71.552 47.972 2833
+-71.426 47.972 2949
+-71.3 47.972 2950
+-71.174 47.972 2951
+-71.048 47.972 2952
+-70.922 47.972 3052
+-70.796 47.972 3005
+-70.67 47.972 3154
+-70.544 47.972 3154
+-70.418 47.972 3116
+-70.292 47.972 3117
+-70.166 47.972 3117
+-70.04 47.972 3118
+-69.914 47.972 3118
+-69.788 47.972 3119
+-69.662 47.972 3218
+-69.536 47.972 3213
+-69.41 47.972 3214
+-69.284 47.972 3214
+-69.158 47.972 3215
+-69.032 47.972 3156
+-68.906 47.972 3194
+-68.78 47.972 3194
+-68.654 47.972 3274
+-68.528 47.972 3180
+-68.402 47.972 3181
+-68.276 47.972 3181
+-68.15 47.972 3231
+-68.024 47.972 3183
+-67.898 47.972 3184
+-67.772 47.972 3185
+-67.646 47.972 3412
+-67.52 47.972 3356
+-67.394 47.972 3356
+-67.268 47.972 3490
+-67.142 47.972 3462
+-67.016 47.972 3462
+-66.89 47.972 3407
+-66.764 47.972 3479
+-66.638 47.972 3480
+-66.512 47.972 3481
+-66.386 47.972 3481
+-66.26 47.972 3481
+-66.134 47.972 3481
+-66.008 47.972 3482
+-65.882 47.972 3482
+-65.756 47.972 3471
+-65.63 47.972 3417
+-65.504 47.972 3411
+-65.378 47.972 3411
+-65.252 47.972 3412
+-65.126 47.972 3412
+-128 47.92 4531
+-127.874 47.92 4529
+-127.748 47.92 4518
+-127.622 47.92 4513
+-127.496 47.92 4576
+-127.37 47.92 4698
+-127.244 47.92 4898
+-127.118 47.92 5049
+-126.992 47.92 5167
+-126.866 47.92 5149
+-126.74 47.92 5314
+-126.614 47.92 5498
+-126.488 47.92 5642
+-126.362 47.92 5717
+-126.236 47.92 5874
+-126.11 47.92 6022
+-125.984 47.92 6194
+-125.858 47.92 6265
+-125.732 47.92 6379
+-125.606 47.92 6508
+-125.48 47.92 6643
+-125.354 47.92 6782
+-125.228 47.92 6924
+-125.102 47.92 7065
+-124.976 47.92 7212
+-124.85 47.92 7276
+-124.724 47.92 7409
+-124.598 47.92 7554
+-124.472 47.92 7695
+-124.346 47.92 7816
+-124.22 47.92 7910
+-124.094 47.92 8040
+-123.968 47.92 8122
+-123.842 47.92 8206
+-123.716 47.92 8267
+-123.59 47.92 8402
+-123.464 47.92 8480
+-123.338 47.92 8530
+-123.212 47.92 8565
+-123.086 47.92 8582
+-122.96 47.92 8577
+-122.834 47.92 8582
+-122.708 47.92 8523
+-122.582 47.92 8498
+-122.456 47.92 8447
+-122.33 47.92 8374
+-122.204 47.92 8282
+-122.078 47.92 8143
+-121.952 47.92 8046
+-121.826 47.92 8023
+-121.7 47.92 7928
+-121.574 47.92 7760
+-121.448 47.92 7650
+-121.322 47.92 7486
+-121.196 47.92 7411
+-121.07 47.92 7297
+-120.944 47.92 7172
+-120.818 47.92 7050
+-120.692 47.92 6901
+-120.566 47.92 6727
+-120.44 47.92 6687
+-120.314 47.92 6542
+-120.188 47.92 6549
+-120.062 47.92 6616
+-119.936 47.92 6716
+-119.81 47.92 6829
+-119.684 47.92 6865
+-119.558 47.92 6963
+-119.432 47.92 7042
+-119.306 47.92 7103
+-119.18 47.92 7167
+-119.054 47.92 7226
+-118.928 47.92 7256
+-118.802 47.92 7306
+-118.676 47.92 7302
+-118.55 47.92 7348
+-118.424 47.92 7347
+-118.298 47.92 7352
+-118.172 47.92 7369
+-118.046 47.92 7336
+-117.92 47.92 7314
+-117.794 47.92 7245
+-117.668 47.92 7234
+-117.542 47.92 7170
+-117.416 47.92 7131
+-117.29 47.92 7044
+-117.164 47.92 6988
+-117.038 47.92 6922
+-116.912 47.92 6832
+-116.786 47.92 6762
+-116.66 47.92 6697
+-116.534 47.92 6602
+-116.408 47.92 6460
+-116.282 47.92 6323
+-116.156 47.92 6248
+-116.03 47.92 6145
+-115.904 47.92 6069
+-115.778 47.92 6016
+-115.652 47.92 5917
+-115.526 47.92 5766
+-115.4 47.92 5603
+-115.274 47.92 5496
+-115.148 47.92 5405
+-115.022 47.92 5298
+-114.896 47.92 5103
+-114.77 47.92 4986
+-114.644 47.92 4946
+-114.518 47.92 4861
+-114.392 47.92 4774
+-114.266 47.92 4638
+-114.14 47.92 4505
+-114.014 47.92 4403
+-113.888 47.92 4400
+-113.762 47.92 4330
+-113.636 47.92 4229
+-113.51 47.92 4110
+-113.384 47.92 4025
+-113.258 47.92 4000
+-113.132 47.92 3958
+-113.006 47.92 3804
+-112.88 47.92 3673
+-112.754 47.92 3497
+-112.628 47.92 3296
+-112.502 47.92 3100
+-112.376 47.92 3010
+-112.25 47.92 3004
+-112.124 47.92 3066
+-111.998 47.92 3128
+-111.872 47.92 3181
+-111.746 47.92 3194
+-111.62 47.92 3207
+-111.494 47.92 3232
+-111.368 47.92 3254
+-111.242 47.92 3217
+-111.116 47.92 3236
+-110.99 47.92 3255
+-110.864 47.92 3230
+-110.738 47.92 3251
+-110.612 47.92 3269
+-110.486 47.92 3287
+-110.36 47.92 3304
+-110.234 47.92 3304
+-110.108 47.92 3318
+-109.982 47.92 3332
+-109.856 47.92 3345
+-109.73 47.92 3357
+-109.604 47.92 3368
+-109.478 47.92 3229
+-109.352 47.92 3256
+-109.226 47.92 3266
+-109.1 47.92 3274
+-108.974 47.92 3184
+-108.848 47.92 3192
+-108.722 47.92 3199
+-108.596 47.92 3176
+-108.47 47.92 3182
+-108.344 47.92 3188
+-108.218 47.92 3194
+-108.092 47.92 3199
+-107.966 47.92 3203
+-107.84 47.92 3208
+-107.714 47.92 3212
+-107.588 47.92 3216
+-107.462 47.92 3220
+-107.336 47.92 3224
+-107.21 47.92 3227
+-107.084 47.92 3230
+-106.958 47.92 3233
+-106.832 47.92 3236
+-106.706 47.92 3163
+-106.58 47.92 3119
+-106.454 47.92 3121
+-106.328 47.92 3123
+-106.202 47.92 3125
+-106.076 47.92 3127
+-105.95 47.92 3129
+-105.824 47.92 3130
+-105.698 47.92 3132
+-105.572 47.92 3133
+-105.446 47.92 3135
+-105.32 47.92 3136
+-105.194 47.92 3137
+-105.068 47.92 3139
+-104.942 47.92 3140
+-104.816 47.92 3141
+-104.69 47.92 3142
+-104.564 47.92 3143
+-104.438 47.92 3144
+-104.312 47.92 3145
+-104.186 47.92 3146
+-104.06 47.92 3147
+-103.934 47.92 3147
+-103.808 47.92 3148
+-103.682 47.92 3149
+-103.556 47.92 3150
+-103.43 47.92 3150
+-103.304 47.92 3151
+-103.178 47.92 3110
+-103.052 47.92 3111
+-102.926 47.92 3047
+-102.8 47.92 3039
+-102.674 47.92 3039
+-102.548 47.92 2984
+-102.422 47.92 2980
+-102.296 47.92 2977
+-102.17 47.92 2981
+-102.044 47.92 3003
+-101.918 47.92 3054
+-101.792 47.92 3127
+-101.666 47.92 3224
+-101.54 47.92 3181
+-101.414 47.92 3186
+-101.288 47.92 3356
+-101.162 47.92 3248
+-101.036 47.92 3247
+-100.91 47.92 3246
+-100.784 47.92 3227
+-100.658 47.92 3281
+-100.532 47.92 3250
+-100.406 47.92 3249
+-100.28 47.92 3228
+-100.154 47.92 3226
+-100.028 47.92 3146
+-99.902 47.92 3188
+-99.776 47.92 3187
+-99.65 47.92 3185
+-99.524 47.92 3183
+-99.398 47.92 3170
+-99.272 47.92 3168
+-99.146 47.92 3166
+-99.02 47.92 3164
+-98.894 47.92 3162
+-98.768 47.92 3081
+-98.642 47.92 3067
+-98.516 47.92 3045
+-98.39 47.92 2991
+-98.264 47.92 2981
+-98.138 47.92 2967
+-98.012 47.92 2964
+-97.886 47.92 2959
+-97.76 47.92 2942
+-97.634 47.92 2925
+-97.508 47.92 2922
+-97.382 47.92 2920
+-97.256 47.92 2917
+-97.13 47.92 2914
+-97.004 47.92 2910
+-96.878 47.92 2907
+-96.752 47.92 2904
+-96.626 47.92 2900
+-96.5 47.92 2897
+-96.374 47.92 2893
+-96.248 47.92 2889
+-96.122 47.92 2885
+-95.996 47.92 2881
+-95.87 47.92 2877
+-95.744 47.92 2873
+-95.618 47.92 2868
+-95.492 47.92 2864
+-95.366 47.92 2753
+-95.24 47.92 2748
+-95.114 47.92 2732
+-94.988 47.92 2727
+-94.862 47.92 2722
+-94.736 47.92 2717
+-94.61 47.92 2711
+-94.484 47.92 2706
+-94.358 47.92 2700
+-94.232 47.92 2695
+-94.106 47.92 2689
+-93.98 47.92 2683
+-93.854 47.92 2677
+-93.728 47.92 2672
+-93.602 47.92 2666
+-93.476 47.92 2659
+-93.35 47.92 2653
+-93.224 47.92 2647
+-93.098 47.92 2641
+-92.972 47.92 2635
+-92.846 47.92 2629
+-92.72 47.92 2624
+-92.594 47.92 2618
+-92.468 47.92 2612
+-92.342 47.92 2607
+-92.216 47.92 2602
+-92.09 47.92 2597
+-91.964 47.92 2592
+-91.838 47.92 2587
+-91.712 47.92 2583
+-91.586 47.92 2579
+-91.46 47.92 2576
+-91.334 47.92 2573
+-91.208 47.92 2570
+-91.082 47.92 2568
+-90.956 47.92 2566
+-90.83 47.92 2564
+-90.704 47.92 2563
+-90.578 47.92 2563
+-90.452 47.92 2562
+-90.326 47.92 2562
+-90.2 47.92 2563
+-90.074 47.92 2525
+-89.948 47.92 2526
+-89.822 47.92 2528
+-89.696 47.92 2529
+-89.57 47.92 2531
+-89.444 47.92 2533
+-89.318 47.92 2535
+-89.192 47.92 2537
+-89.066 47.92 2540
+-88.94 47.92 2542
+-88.814 47.92 2545
+-88.688 47.92 2548
+-88.562 47.92 2550
+-88.436 47.92 2553
+-88.31 47.92 2556
+-88.184 47.92 2559
+-88.058 47.92 2561
+-87.932 47.92 2564
+-87.806 47.92 2567
+-87.68 47.92 2569
+-87.554 47.92 2572
+-87.428 47.92 2574
+-87.302 47.92 2577
+-87.176 47.92 2579
+-87.05 47.92 2581
+-86.924 47.92 2584
+-86.798 47.92 2586
+-86.672 47.92 2588
+-86.546 47.92 2590
+-86.42 47.92 2592
+-86.294 47.92 2594
+-86.168 47.92 2595
+-86.042 47.92 2597
+-85.916 47.92 2599
+-85.79 47.92 2601
+-85.664 47.92 2602
+-85.538 47.92 2604
+-85.412 47.92 2605
+-85.286 47.92 2607
+-85.16 47.92 2608
+-85.034 47.92 2609
+-84.908 47.92 2611
+-84.782 47.92 2612
+-84.656 47.92 2613
+-84.53 47.92 2615
+-84.404 47.92 2616
+-84.278 47.92 2617
+-84.152 47.92 2618
+-84.026 47.92 2629
+-83.9 47.92 2630
+-83.774 47.92 2631
+-83.648 47.92 2632
+-83.522 47.92 2531
+-83.396 47.92 2532
+-83.27 47.92 2532
+-83.144 47.92 2533
+-83.018 47.92 2533
+-82.892 47.92 2534
+-82.766 47.92 2534
+-82.64 47.92 2534
+-82.514 47.92 2535
+-82.388 47.92 2535
+-82.262 47.92 2542
+-82.136 47.92 2551
+-82.01 47.92 2552
+-81.884 47.92 2552
+-81.758 47.92 2553
+-81.632 47.92 2572
+-81.506 47.92 2572
+-81.38 47.92 2573
+-81.254 47.92 2574
+-81.128 47.92 2578
+-81.002 47.92 2704
+-80.876 47.92 2704
+-80.75 47.92 2704
+-80.624 47.92 2711
+-80.498 47.92 2711
+-80.372 47.92 2712
+-80.246 47.92 2729
+-80.12 47.92 2711
+-79.994 47.92 2725
+-79.868 47.92 2726
+-79.742 47.92 2722
+-79.616 47.92 2723
+-79.49 47.92 2724
+-79.364 47.92 2725
+-79.238 47.92 2727
+-79.112 47.92 2811
+-78.986 47.92 2812
+-78.86 47.92 2813
+-78.734 47.92 2814
+-78.608 47.92 2831
+-78.482 47.92 2832
+-78.356 47.92 2814
+-78.23 47.92 2815
+-78.104 47.92 2816
+-77.978 47.92 2817
+-77.852 47.92 2789
+-77.726 47.92 2799
+-77.6 47.92 2800
+-77.474 47.92 2925
+-77.348 47.92 2886
+-77.222 47.92 2887
+-77.096 47.92 3022
+-76.97 47.92 3019
+-76.844 47.92 2982
+-76.718 47.92 3044
+-76.592 47.92 2935
+-76.466 47.92 2965
+-76.34 47.92 3020
+-76.214 47.92 2918
+-76.088 47.92 2926
+-75.962 47.92 2831
+-75.836 47.92 2828
+-75.71 47.92 2844
+-75.584 47.92 2816
+-75.458 47.92 2817
+-75.332 47.92 2818
+-75.206 47.92 2758
+-75.08 47.92 2801
+-74.954 47.92 2793
+-74.828 47.92 2782
+-74.702 47.92 2783
+-74.576 47.92 2784
+-74.45 47.92 2785
+-74.324 47.92 2726
+-74.198 47.92 2721
+-74.072 47.92 2722
+-73.946 47.92 2723
+-73.82 47.92 2724
+-73.694 47.92 2721
+-73.568 47.92 2665
+-73.442 47.92 2770
+-73.316 47.92 2766
+-73.19 47.92 2772
+-73.064 47.92 2773
+-72.938 47.92 2774
+-72.812 47.92 2775
+-72.686 47.92 2800
+-72.56 47.92 2778
+-72.434 47.92 2844
+-72.308 47.92 2845
+-72.182 47.92 2835
+-72.056 47.92 2843
+-71.93 47.92 2844
+-71.804 47.92 2845
+-71.678 47.92 2833
+-71.552 47.92 2949
+-71.426 47.92 2950
+-71.3 47.92 2951
+-71.174 47.92 2951
+-71.048 47.92 3051
+-70.922 47.92 3004
+-70.796 47.92 3153
+-70.67 47.92 3154
+-70.544 47.92 3116
+-70.418 47.92 3116
+-70.292 47.92 3117
+-70.166 47.92 3117
+-70.04 47.92 3118
+-69.914 47.92 3118
+-69.788 47.92 3218
+-69.662 47.92 3212
+-69.536 47.92 3213
+-69.41 47.92 3214
+-69.284 47.92 3214
+-69.158 47.92 3156
+-69.032 47.92 3193
+-68.906 47.92 3194
+-68.78 47.92 3273
+-68.654 47.92 3180
+-68.528 47.92 3180
+-68.402 47.92 3181
+-68.276 47.92 3231
+-68.15 47.92 3183
+-68.024 47.92 3184
+-67.898 47.92 3184
+-67.772 47.92 3412
+-67.646 47.92 3356
+-67.52 47.92 3356
+-67.394 47.92 3490
+-67.268 47.92 3461
+-67.142 47.92 3462
+-67.016 47.92 3406
+-66.89 47.92 3479
+-66.764 47.92 3480
+-66.638 47.92 3480
+-66.512 47.92 3481
+-66.386 47.92 3481
+-66.26 47.92 3481
+-66.134 47.92 3481
+-66.008 47.92 3482
+-65.882 47.92 3471
+-65.756 47.92 3417
+-65.63 47.92 3411
+-65.504 47.92 3411
+-65.378 47.92 3411
+-65.252 47.92 3412
+-65.126 47.92 3412
+-128 47.868 4585
+-127.874 47.868 4586
+-127.748 47.868 4603
+-127.622 47.868 4573
+-127.496 47.868 4505
+-127.37 47.868 4664
+-127.244 47.868 4893
+-127.118 47.868 5061
+-126.992 47.868 5173
+-126.866 47.868 5252
+-126.74 47.868 5409
+-126.614 47.868 5570
+-126.488 47.868 5574
+-126.362 47.868 5759
+-126.236 47.868 5923
+-126.11 47.868 6081
+-125.984 47.868 6202
+-125.858 47.868 6240
+-125.732 47.868 6436
+-125.606 47.868 6483
+-125.48 47.868 6733
+-125.354 47.868 6757
+-125.228 47.868 6949
+-125.102 47.868 7083
+-124.976 47.868 7207
+-124.85 47.868 7334
+-124.724 47.868 7427
+-124.598 47.868 7569
+-124.472 47.868 7723
+-124.346 47.868 7847
+-124.22 47.868 7945
+-124.094 47.868 8042
+-123.968 47.868 8100
+-123.842 47.868 8239
+-123.716 47.868 8367
+-123.59 47.868 8443
+-123.464 47.868 8508
+-123.338 47.868 8553
+-123.212 47.868 8592
+-123.086 47.868 8623
+-122.96 47.868 8648
+-122.834 47.868 8625
+-122.708 47.868 8628
+-122.582 47.868 8597
+-122.456 47.868 8503
+-122.33 47.868 8405
+-122.204 47.868 8341
+-122.078 47.868 8251
+-121.952 47.868 8113
+-121.826 47.868 8002
+-121.7 47.868 7917
+-121.574 47.868 7803
+-121.448 47.868 7716
+-121.322 47.868 7563
+-121.196 47.868 7479
+-121.07 47.868 7304
+-120.944 47.868 7219
+-120.818 47.868 7085
+-120.692 47.868 6946
+-120.566 47.868 6739
+-120.44 47.868 6570
+-120.314 47.868 6561
+-120.188 47.868 6553
+-120.062 47.868 6651
+-119.936 47.868 6741
+-119.81 47.868 6816
+-119.684 47.868 6916
+-119.558 47.868 7007
+-119.432 47.868 7112
+-119.306 47.868 7172
+-119.18 47.868 7217
+-119.054 47.868 7274
+-118.928 47.868 7311
+-118.802 47.868 7346
+-118.676 47.868 7378
+-118.55 47.868 7413
+-118.424 47.868 7418
+-118.298 47.868 7425
+-118.172 47.868 7433
+-118.046 47.868 7375
+-117.92 47.868 7337
+-117.794 47.868 7291
+-117.668 47.868 7243
+-117.542 47.868 7237
+-117.416 47.868 7149
+-117.29 47.868 7088
+-117.164 47.868 6993
+-117.038 47.868 6961
+-116.912 47.868 6865
+-116.786 47.868 6815
+-116.66 47.868 6659
+-116.534 47.868 6671
+-116.408 47.868 6543
+-116.282 47.868 6359
+-116.156 47.868 6263
+-116.03 47.868 6143
+-115.904 47.868 6033
+-115.778 47.868 6017
+-115.652 47.868 5953
+-115.526 47.868 5830
+-115.4 47.868 5676
+-115.274 47.868 5564
+-115.148 47.868 5477
+-115.022 47.868 5340
+-114.896 47.868 5164
+-114.77 47.868 5024
+-114.644 47.868 4927
+-114.518 47.868 4851
+-114.392 47.868 4791
+-114.266 47.868 4624
+-114.14 47.868 4450
+-114.014 47.868 4323
+-113.888 47.868 4374
+-113.762 47.868 4320
+-113.636 47.868 4098
+-113.51 47.868 3942
+-113.384 47.868 3964
+-113.258 47.868 4000
+-113.132 47.868 3966
+-113.006 47.868 3813
+-112.88 47.868 3665
+-112.754 47.868 3455
+-112.628 47.868 3182
+-112.502 47.868 2930
+-112.376 47.868 2818
+-112.25 47.868 2869
+-112.124 47.868 2995
+-111.998 47.868 3110
+-111.872 47.868 3194
+-111.746 47.868 3240
+-111.62 47.868 3245
+-111.494 47.868 3273
+-111.368 47.868 3261
+-111.242 47.868 3281
+-111.116 47.868 3286
+-110.99 47.868 3273
+-110.864 47.868 3290
+-110.738 47.868 3307
+-110.612 47.868 3301
+-110.486 47.868 3317
+-110.36 47.868 3344
+-110.234 47.868 3359
+-110.108 47.868 3341
+-109.982 47.868 3353
+-109.856 47.868 3364
+-109.73 47.868 3374
+-109.604 47.868 3384
+-109.478 47.868 3261
+-109.352 47.868 3270
+-109.226 47.868 3279
+-109.1 47.868 3287
+-108.974 47.868 3294
+-108.848 47.868 3205
+-108.722 47.868 3226
+-108.596 47.868 3232
+-108.47 47.868 3239
+-108.344 47.868 3245
+-108.218 47.868 3250
+-108.092 47.868 3256
+-107.966 47.868 3261
+-107.84 47.868 3266
+-107.714 47.868 3270
+-107.588 47.868 3274
+-107.462 47.868 3278
+-107.336 47.868 3282
+-107.21 47.868 3286
+-107.084 47.868 3289
+-106.958 47.868 3293
+-106.832 47.868 3166
+-106.706 47.868 3122
+-106.58 47.868 3124
+-106.454 47.868 3126
+-106.328 47.868 3128
+-106.202 47.868 3130
+-106.076 47.868 3131
+-105.95 47.868 3133
+-105.824 47.868 3134
+-105.698 47.868 3136
+-105.572 47.868 3137
+-105.446 47.868 3138
+-105.32 47.868 3139
+-105.194 47.868 3141
+-105.068 47.868 3142
+-104.942 47.868 3143
+-104.816 47.868 3144
+-104.69 47.868 3145
+-104.564 47.868 3146
+-104.438 47.868 3147
+-104.312 47.868 3147
+-104.186 47.868 3148
+-104.06 47.868 3149
+-103.934 47.868 3150
+-103.808 47.868 3151
+-103.682 47.868 3151
+-103.556 47.868 3152
+-103.43 47.868 3153
+-103.304 47.868 3116
+-103.178 47.868 3112
+-103.052 47.868 3113
+-102.926 47.868 3040
+-102.8 47.868 3040
+-102.674 47.868 2996
+-102.548 47.868 2961
+-102.422 47.868 2982
+-102.296 47.868 2979
+-102.17 47.868 2983
+-102.044 47.868 3005
+-101.918 47.868 3056
+-101.792 47.868 3129
+-101.666 47.868 3226
+-101.54 47.868 3231
+-101.414 47.868 3316
+-101.288 47.868 3316
+-101.162 47.868 3214
+-101.036 47.868 3247
+-100.91 47.868 3246
+-100.784 47.868 3245
+-100.658 47.868 3226
+-100.532 47.868 3280
+-100.406 47.868 3250
+-100.28 47.868 3248
+-100.154 47.868 3227
+-100.028 47.868 3225
+-99.902 47.868 3145
+-99.776 47.868 3187
+-99.65 47.868 3185
+-99.524 47.868 3183
+-99.398 47.868 3182
+-99.272 47.868 3168
+-99.146 47.868 3166
+-99.02 47.868 3164
+-98.894 47.868 3162
+-98.768 47.868 3160
+-98.642 47.868 3079
+-98.516 47.868 3065
+-98.39 47.868 3043
+-98.264 47.868 2990
+-98.138 47.868 2979
+-98.012 47.868 2965
+-97.886 47.868 2962
+-97.76 47.868 2957
+-97.634 47.868 2940
+-97.508 47.868 2923
+-97.382 47.868 2920
+-97.256 47.868 2917
+-97.13 47.868 2914
+-97.004 47.868 2911
+-96.878 47.868 2907
+-96.752 47.868 2904
+-96.626 47.868 2901
+-96.5 47.868 2897
+-96.374 47.868 2893
+-96.248 47.868 2889
+-96.122 47.868 2885
+-95.996 47.868 2881
+-95.87 47.868 2877
+-95.744 47.868 2872
+-95.618 47.868 2868
+-95.492 47.868 2863
+-95.366 47.868 2858
+-95.24 47.868 2747
+-95.114 47.868 2743
+-94.988 47.868 2726
+-94.862 47.868 2721
+-94.736 47.868 2716
+-94.61 47.868 2710
+-94.484 47.868 2705
+-94.358 47.868 2699
+-94.232 47.868 2693
+-94.106 47.868 2687
+-93.98 47.868 2681
+-93.854 47.868 2675
+-93.728 47.868 2669
+-93.602 47.868 2662
+-93.476 47.868 2656
+-93.35 47.868 2649
+-93.224 47.868 2643
+-93.098 47.868 2637
+-92.972 47.868 2630
+-92.846 47.868 2624
+-92.72 47.868 2618
+-92.594 47.868 2612
+-92.468 47.868 2606
+-92.342 47.868 2600
+-92.216 47.868 2594
+-92.09 47.868 2589
+-91.964 47.868 2584
+-91.838 47.868 2579
+-91.712 47.868 2575
+-91.586 47.868 2571
+-91.46 47.868 2567
+-91.334 47.868 2564
+-91.208 47.868 2561
+-91.082 47.868 2558
+-90.956 47.868 2556
+-90.83 47.868 2555
+-90.704 47.868 2554
+-90.578 47.868 2553
+-90.452 47.868 2553
+-90.326 47.868 2553
+-90.2 47.868 2554
+-90.074 47.868 2517
+-89.948 47.868 2518
+-89.822 47.868 2520
+-89.696 47.868 2522
+-89.57 47.868 2524
+-89.444 47.868 2526
+-89.318 47.868 2528
+-89.192 47.868 2531
+-89.066 47.868 2534
+-88.94 47.868 2536
+-88.814 47.868 2539
+-88.688 47.868 2542
+-88.562 47.868 2545
+-88.436 47.868 2548
+-88.31 47.868 2551
+-88.184 47.868 2554
+-88.058 47.868 2557
+-87.932 47.868 2560
+-87.806 47.868 2563
+-87.68 47.868 2566
+-87.554 47.868 2568
+-87.428 47.868 2571
+-87.302 47.868 2573
+-87.176 47.868 2576
+-87.05 47.868 2578
+-86.924 47.868 2581
+-86.798 47.868 2583
+-86.672 47.868 2585
+-86.546 47.868 2587
+-86.42 47.868 2589
+-86.294 47.868 2591
+-86.168 47.868 2593
+-86.042 47.868 2595
+-85.916 47.868 2597
+-85.79 47.868 2598
+-85.664 47.868 2600
+-85.538 47.868 2602
+-85.412 47.868 2603
+-85.286 47.868 2605
+-85.16 47.868 2606
+-85.034 47.868 2608
+-84.908 47.868 2609
+-84.782 47.868 2610
+-84.656 47.868 2612
+-84.53 47.868 2613
+-84.404 47.868 2614
+-84.278 47.868 2615
+-84.152 47.868 2626
+-84.026 47.868 2627
+-83.9 47.868 2628
+-83.774 47.868 2629
+-83.648 47.868 2529
+-83.522 47.868 2530
+-83.396 47.868 2530
+-83.27 47.868 2531
+-83.144 47.868 2531
+-83.018 47.868 2532
+-82.892 47.868 2532
+-82.766 47.868 2533
+-82.64 47.868 2533
+-82.514 47.868 2533
+-82.388 47.868 2540
+-82.262 47.868 2549
+-82.136 47.868 2550
+-82.01 47.868 2550
+-81.884 47.868 2551
+-81.758 47.868 2570
+-81.632 47.868 2570
+-81.506 47.868 2571
+-81.38 47.868 2572
+-81.254 47.868 2576
+-81.128 47.868 2701
+-81.002 47.868 2702
+-80.876 47.868 2702
+-80.75 47.868 2709
+-80.624 47.868 2709
+-80.498 47.868 2710
+-80.372 47.868 2727
+-80.246 47.868 2709
+-80.12 47.868 2723
+-79.994 47.868 2724
+-79.868 47.868 2720
+-79.742 47.868 2721
+-79.616 47.868 2722
+-79.49 47.868 2723
+-79.364 47.868 2725
+-79.238 47.868 2809
+-79.112 47.868 2810
+-78.986 47.868 2811
+-78.86 47.868 2811
+-78.734 47.868 2829
+-78.608 47.868 2830
+-78.482 47.868 2812
+-78.356 47.868 2813
+-78.23 47.868 2814
+-78.104 47.868 2815
+-77.978 47.868 2787
+-77.852 47.868 2797
+-77.726 47.868 2798
+-77.6 47.868 2923
+-77.474 47.868 2884
+-77.348 47.868 2885
+-77.222 47.868 3019
+-77.096 47.868 3017
+-76.97 47.868 2979
+-76.844 47.868 3042
+-76.718 47.868 2933
+-76.592 47.868 2963
+-76.466 47.868 3018
+-76.34 47.868 2917
+-76.214 47.868 2924
+-76.088 47.868 2830
+-75.962 47.868 2826
+-75.836 47.868 2843
+-75.71 47.868 2815
+-75.584 47.868 2816
+-75.458 47.868 2817
+-75.332 47.868 2756
+-75.206 47.868 2799
+-75.08 47.868 2791
+-74.954 47.868 2781
+-74.828 47.868 2782
+-74.702 47.868 2783
+-74.576 47.868 2784
+-74.45 47.868 2725
+-74.324 47.868 2720
+-74.198 47.868 2721
+-74.072 47.868 2722
+-73.946 47.868 2723
+-73.82 47.868 2720
+-73.694 47.868 2664
+-73.568 47.868 2769
+-73.442 47.868 2765
+-73.316 47.868 2771
+-73.19 47.868 2772
+-73.064 47.868 2773
+-72.938 47.868 2774
+-72.812 47.868 2799
+-72.686 47.868 2777
+-72.56 47.868 2843
+-72.434 47.868 2844
+-72.308 47.868 2835
+-72.182 47.868 2843
+-72.056 47.868 2844
+-71.93 47.868 2845
+-71.804 47.868 2832
+-71.678 47.868 2948
+-71.552 47.868 2949
+-71.426 47.868 2950
+-71.3 47.868 2951
+-71.174 47.868 3050
+-71.048 47.868 3003
+-70.922 47.868 3153
+-70.796 47.868 3153
+-70.67 47.868 3115
+-70.544 47.868 3116
+-70.418 47.868 3116
+-70.292 47.868 3117
+-70.166 47.868 3117
+-70.04 47.868 3118
+-69.914 47.868 3217
+-69.788 47.868 3212
+-69.662 47.868 3212
+-69.536 47.868 3213
+-69.41 47.868 3214
+-69.284 47.868 3155
+-69.158 47.868 3193
+-69.032 47.868 3193
+-68.906 47.868 3272
+-68.78 47.868 3179
+-68.654 47.868 3180
+-68.528 47.868 3180
+-68.402 47.868 3230
+-68.276 47.868 3182
+-68.15 47.868 3183
+-68.024 47.868 3184
+-67.898 47.868 3411
+-67.772 47.868 3355
+-67.646 47.868 3356
+-67.52 47.868 3489
+-67.394 47.868 3461
+-67.268 47.868 3461
+-67.142 47.868 3406
+-67.016 47.868 3479
+-66.89 47.868 3480
+-66.764 47.868 3480
+-66.638 47.868 3480
+-66.512 47.868 3481
+-66.386 47.868 3480
+-66.26 47.868 3481
+-66.134 47.868 3481
+-66.008 47.868 3470
+-65.882 47.868 3417
+-65.756 47.868 3410
+-65.63 47.868 3411
+-65.504 47.868 3411
+-65.378 47.868 3411
+-65.252 47.868 3412
+-65.126 47.868 3412
+-128 47.816 4619
+-127.874 47.816 4650
+-127.748 47.816 4646
+-127.622 47.816 4636
+-127.496 47.816 4629
+-127.37 47.816 4746
+-127.244 47.816 4932
+-127.118 47.816 5110
+-126.992 47.816 5185
+-126.866 47.816 5315
+-126.74 47.816 5477
+-126.614 47.816 5596
+-126.488 47.816 5687
+-126.362 47.816 5794
+-126.236 47.816 5968
+-126.11 47.816 6092
+-125.984 47.816 6222
+-125.858 47.816 6306
+-125.732 47.816 6433
+-125.606 47.816 6542
+-125.48 47.816 6661
+-125.354 47.816 6809
+-125.228 47.816 6947
+-125.102 47.816 7105
+-124.976 47.816 7251
+-124.85 47.816 7373
+-124.724 47.816 7407
+-124.598 47.816 7613
+-124.472 47.816 7719
+-124.346 47.816 7837
+-124.22 47.816 7933
+-124.094 47.816 8080
+-123.968 47.816 8166
+-123.842 47.816 8301
+-123.716 47.816 8323
+-123.59 47.816 8470
+-123.464 47.816 8508
+-123.338 47.816 8601
+-123.212 47.816 8670
+-123.086 47.816 8704
+-122.96 47.816 8710
+-122.834 47.816 8707
+-122.708 47.816 8656
+-122.582 47.816 8610
+-122.456 47.816 8568
+-122.33 47.816 8468
+-122.204 47.816 8398
+-122.078 47.816 8274
+-121.952 47.816 8186
+-121.826 47.816 8044
+-121.7 47.816 7943
+-121.574 47.816 7771
+-121.448 47.816 7755
+-121.322 47.816 7567
+-121.196 47.816 7421
+-121.07 47.816 7351
+-120.944 47.816 7247
+-120.818 47.816 7125
+-120.692 47.816 6927
+-120.566 47.816 6817
+-120.44 47.816 6439
+-120.314 47.816 6576
+-120.188 47.816 6598
+-120.062 47.816 6699
+-119.936 47.816 6805
+-119.81 47.816 6876
+-119.684 47.816 6975
+-119.558 47.816 7077
+-119.432 47.816 7160
+-119.306 47.816 7171
+-119.18 47.816 7275
+-119.054 47.816 7334
+-118.928 47.816 7355
+-118.802 47.816 7383
+-118.676 47.816 7419
+-118.55 47.816 7468
+-118.424 47.816 7471
+-118.298 47.816 7475
+-118.172 47.816 7485
+-118.046 47.816 7435
+-117.92 47.816 7380
+-117.794 47.816 7356
+-117.668 47.816 7322
+-117.542 47.816 7241
+-117.416 47.816 7226
+-117.29 47.816 7128
+-117.164 47.816 7038
+-117.038 47.816 7038
+-116.912 47.816 6906
+-116.786 47.816 6808
+-116.66 47.816 6695
+-116.534 47.816 6700
+-116.408 47.816 6588
+-116.282 47.816 6387
+-116.156 47.816 6263
+-116.03 47.816 6187
+-115.904 47.816 6063
+-115.778 47.816 6040
+-115.652 47.816 5960
+-115.526 47.816 5839
+-115.4 47.816 5733
+-115.274 47.816 5635
+-115.148 47.816 5500
+-115.022 47.816 5403
+-114.896 47.816 5252
+-114.77 47.816 5118
+-114.644 47.816 4974
+-114.518 47.816 4863
+-114.392 47.816 4773
+-114.266 47.816 4589
+-114.14 47.816 4465
+-114.014 47.816 4411
+-113.888 47.816 4379
+-113.762 47.816 4279
+-113.636 47.816 4009
+-113.51 47.816 3807
+-113.384 47.816 3913
+-113.258 47.816 4004
+-113.132 47.816 3992
+-113.006 47.816 3894
+-112.88 47.816 3667
+-112.754 47.816 3442
+-112.628 47.816 3139
+-112.502 47.816 2838
+-112.376 47.816 2713
+-112.25 47.816 2804
+-112.124 47.816 2967
+-111.998 47.816 3112
+-111.872 47.816 3204
+-111.746 47.816 3272
+-111.62 47.816 3319
+-111.494 47.816 3353
+-111.368 47.816 3311
+-111.242 47.816 3331
+-111.116 47.816 3349
+-110.99 47.816 3339
+-110.864 47.816 3326
+-110.738 47.816 3341
+-110.612 47.816 3338
+-110.486 47.816 3359
+-110.36 47.816 3372
+-110.234 47.816 3353
+-110.108 47.816 3363
+-109.982 47.816 3373
+-109.856 47.816 3383
+-109.73 47.816 3392
+-109.604 47.816 3267
+-109.478 47.816 3276
+-109.352 47.816 3284
+-109.226 47.816 3292
+-109.1 47.816 3299
+-108.974 47.816 3306
+-108.848 47.816 3231
+-108.722 47.816 3238
+-108.596 47.816 3244
+-108.47 47.816 3250
+-108.344 47.816 3255
+-108.218 47.816 3260
+-108.092 47.816 3265
+-107.966 47.816 3270
+-107.84 47.816 3274
+-107.714 47.816 3278
+-107.588 47.816 3282
+-107.462 47.816 3286
+-107.336 47.816 3289
+-107.21 47.816 3293
+-107.084 47.816 3296
+-106.958 47.816 3169
+-106.832 47.816 3125
+-106.706 47.816 3127
+-106.58 47.816 3129
+-106.454 47.816 3131
+-106.328 47.816 3133
+-106.202 47.816 3134
+-106.076 47.816 3136
+-105.95 47.816 3137
+-105.824 47.816 3138
+-105.698 47.816 3140
+-105.572 47.816 3141
+-105.446 47.816 3142
+-105.32 47.816 3143
+-105.194 47.816 3144
+-105.068 47.816 3145
+-104.942 47.816 3146
+-104.816 47.816 3147
+-104.69 47.816 3148
+-104.564 47.816 3149
+-104.438 47.816 3149
+-104.312 47.816 3150
+-104.186 47.816 3151
+-104.06 47.816 3152
+-103.934 47.816 3152
+-103.808 47.816 3153
+-103.682 47.816 3154
+-103.556 47.816 3154
+-103.43 47.816 3117
+-103.304 47.816 3118
+-103.178 47.816 3114
+-103.052 47.816 3115
+-102.926 47.816 3041
+-102.8 47.816 2966
+-102.674 47.816 2959
+-102.548 47.816 2963
+-102.422 47.816 2983
+-102.296 47.816 2981
+-102.17 47.816 2985
+-102.044 47.816 3007
+-101.918 47.816 3059
+-101.792 47.816 3134
+-101.666 47.816 3232
+-101.54 47.816 3233
+-101.414 47.816 3316
+-101.288 47.816 3420
+-101.162 47.816 3419
+-101.036 47.816 3213
+-100.91 47.816 3247
+-100.784 47.816 3245
+-100.658 47.816 3244
+-100.532 47.816 3225
+-100.406 47.816 3279
+-100.28 47.816 3249
+-100.154 47.816 3247
+-100.028 47.816 3226
+-99.902 47.816 3224
+-99.776 47.816 3144
+-99.65 47.816 3186
+-99.524 47.816 3184
+-99.398 47.816 3182
+-99.272 47.816 3180
+-99.146 47.816 3167
+-99.02 47.816 3165
+-98.894 47.816 3163
+-98.768 47.816 3160
+-98.642 47.816 3158
+-98.516 47.816 3078
+-98.39 47.816 3063
+-98.264 47.816 3041
+-98.138 47.816 2988
+-98.012 47.816 2978
+-97.886 47.816 2963
+-97.76 47.816 2960
+-97.634 47.816 2955
+-97.508 47.816 2938
+-97.382 47.816 2921
+-97.256 47.816 2918
+-97.13 47.816 2914
+-97.004 47.816 2911
+-96.878 47.816 2908
+-96.752 47.816 2904
+-96.626 47.816 2901
+-96.5 47.816 2897
+-96.374 47.816 2893
+-96.248 47.816 2889
+-96.122 47.816 2885
+-95.996 47.816 2881
+-95.87 47.816 2877
+-95.744 47.816 2872
+-95.618 47.816 2867
+-95.492 47.816 2863
+-95.366 47.816 2858
+-95.24 47.816 2853
+-95.114 47.816 2742
+-94.988 47.816 2737
+-94.862 47.816 2720
+-94.736 47.816 2715
+-94.61 47.816 2709
+-94.484 47.816 2703
+-94.358 47.816 2697
+-94.232 47.816 2691
+-94.106 47.816 2685
+-93.98 47.816 2679
+-93.854 47.816 2672
+-93.728 47.816 2666
+-93.602 47.816 2659
+-93.476 47.816 2652
+-93.35 47.816 2645
+-93.224 47.816 2639
+-93.098 47.816 2632
+-92.972 47.816 2625
+-92.846 47.816 2618
+-92.72 47.816 2612
+-92.594 47.816 2605
+-92.468 47.816 2599
+-92.342 47.816 2593
+-92.216 47.816 2587
+-92.09 47.816 2581
+-91.964 47.816 2576
+-91.838 47.816 2570
+-91.712 47.816 2566
+-91.586 47.816 2561
+-91.46 47.816 2557
+-91.334 47.816 2554
+-91.208 47.816 2551
+-91.082 47.816 2548
+-90.956 47.816 2546
+-90.83 47.816 2545
+-90.704 47.816 2544
+-90.578 47.816 2543
+-90.452 47.816 2543
+-90.326 47.816 2543
+-90.2 47.816 2544
+-90.074 47.816 2508
+-89.948 47.816 2510
+-89.822 47.816 2511
+-89.696 47.816 2513
+-89.57 47.816 2516
+-89.444 47.816 2518
+-89.318 47.816 2521
+-89.192 47.816 2524
+-89.066 47.816 2527
+-88.94 47.816 2530
+-88.814 47.816 2533
+-88.688 47.816 2537
+-88.562 47.816 2540
+-88.436 47.816 2543
+-88.31 47.816 2546
+-88.184 47.816 2550
+-88.058 47.816 2553
+-87.932 47.816 2556
+-87.806 47.816 2559
+-87.68 47.816 2562
+-87.554 47.816 2565
+-87.428 47.816 2568
+-87.302 47.816 2570
+-87.176 47.816 2573
+-87.05 47.816 2575
+-86.924 47.816 2578
+-86.798 47.816 2580
+-86.672 47.816 2583
+-86.546 47.816 2585
+-86.42 47.816 2587
+-86.294 47.816 2589
+-86.168 47.816 2591
+-86.042 47.816 2593
+-85.916 47.816 2595
+-85.79 47.816 2596
+-85.664 47.816 2598
+-85.538 47.816 2600
+-85.412 47.816 2601
+-85.286 47.816 2603
+-85.16 47.816 2604
+-85.034 47.816 2606
+-84.908 47.816 2607
+-84.782 47.816 2609
+-84.656 47.816 2610
+-84.53 47.816 2611
+-84.404 47.816 2612
+-84.278 47.816 2623
+-84.152 47.816 2624
+-84.026 47.816 2625
+-83.9 47.816 2626
+-83.774 47.816 2527
+-83.648 47.816 2528
+-83.522 47.816 2528
+-83.396 47.816 2529
+-83.27 47.816 2529
+-83.144 47.816 2530
+-83.018 47.816 2530
+-82.892 47.816 2531
+-82.766 47.816 2531
+-82.64 47.816 2532
+-82.514 47.816 2538
+-82.388 47.816 2547
+-82.262 47.816 2548
+-82.136 47.816 2548
+-82.01 47.816 2549
+-81.884 47.816 2568
+-81.758 47.816 2569
+-81.632 47.816 2569
+-81.506 47.816 2570
+-81.38 47.816 2574
+-81.254 47.816 2699
+-81.128 47.816 2700
+-81.002 47.816 2700
+-80.876 47.816 2706
+-80.75 47.816 2707
+-80.624 47.816 2708
+-80.498 47.816 2724
+-80.372 47.816 2707
+-80.246 47.816 2721
+-80.12 47.816 2721
+-79.994 47.816 2718
+-79.868 47.816 2719
+-79.742 47.816 2720
+-79.616 47.816 2721
+-79.49 47.816 2723
+-79.364 47.816 2806
+-79.238 47.816 2807
+-79.112 47.816 2808
+-78.986 47.816 2809
+-78.86 47.816 2827
+-78.734 47.816 2828
+-78.608 47.816 2810
+-78.482 47.816 2811
+-78.356 47.816 2812
+-78.23 47.816 2813
+-78.104 47.816 2786
+-77.978 47.816 2795
+-77.852 47.816 2796
+-77.726 47.816 2921
+-77.6 47.816 2882
+-77.474 47.816 2883
+-77.348 47.816 3017
+-77.222 47.816 3014
+-77.096 47.816 2977
+-76.97 47.816 3039
+-76.844 47.816 2931
+-76.718 47.816 2961
+-76.592 47.816 3015
+-76.466 47.816 2915
+-76.34 47.816 2922
+-76.214 47.816 2828
+-76.088 47.816 2825
+-75.962 47.816 2841
+-75.836 47.816 2813
+-75.71 47.816 2814
+-75.584 47.816 2815
+-75.458 47.816 2755
+-75.332 47.816 2798
+-75.206 47.816 2790
+-75.08 47.816 2779
+-74.954 47.816 2781
+-74.828 47.816 2782
+-74.702 47.816 2783
+-74.576 47.816 2724
+-74.45 47.816 2719
+-74.324 47.816 2720
+-74.198 47.816 2721
+-74.072 47.816 2722
+-73.946 47.816 2719
+-73.82 47.816 2664
+-73.694 47.816 2768
+-73.568 47.816 2764
+-73.442 47.816 2770
+-73.316 47.816 2771
+-73.19 47.816 2772
+-73.064 47.816 2773
+-72.938 47.816 2799
+-72.812 47.816 2776
+-72.686 47.816 2842
+-72.56 47.816 2843
+-72.434 47.816 2834
+-72.308 47.816 2842
+-72.182 47.816 2843
+-72.056 47.816 2844
+-71.93 47.816 2831
+-71.804 47.816 2947
+-71.678 47.816 2948
+-71.552 47.816 2949
+-71.426 47.816 2950
+-71.3 47.816 3050
+-71.174 47.816 3003
+-71.048 47.816 3152
+-70.922 47.816 3153
+-70.796 47.816 3115
+-70.67 47.816 3115
+-70.544 47.816 3116
+-70.418 47.816 3116
+-70.292 47.816 3117
+-70.166 47.816 3117
+-70.04 47.816 3216
+-69.914 47.816 3211
+-69.788 47.816 3212
+-69.662 47.816 3212
+-69.536 47.816 3213
+-69.41 47.816 3155
+-69.284 47.816 3192
+-69.158 47.816 3193
+-69.032 47.816 3272
+-68.906 47.816 3178
+-68.78 47.816 3179
+-68.654 47.816 3180
+-68.528 47.816 3230
+-68.402 47.816 3182
+-68.276 47.816 3183
+-68.15 47.816 3183
+-68.024 47.816 3411
+-67.898 47.816 3355
+-67.772 47.816 3355
+-67.646 47.816 3489
+-67.52 47.816 3460
+-67.394 47.816 3461
+-67.268 47.816 3406
+-67.142 47.816 3478
+-67.016 47.816 3479
+-66.89 47.816 3480
+-66.764 47.816 3480
+-66.638 47.816 3480
+-66.512 47.816 3480
+-66.386 47.816 3481
+-66.26 47.816 3481
+-66.134 47.816 3470
+-66.008 47.816 3416
+-65.882 47.816 3410
+-65.756 47.816 3410
+-65.63 47.816 3411
+-65.504 47.816 3411
+-65.378 47.816 3411
+-65.252 47.816 3412
+-65.126 47.816 3412
+-128 47.764 4643
+-127.874 47.764 4653
+-127.748 47.764 4661
+-127.622 47.764 4695
+-127.496 47.764 4752
+-127.37 47.764 4865
+-127.244 47.764 5005
+-127.118 47.764 5121
+-126.992 47.764 5097
+-126.866 47.764 5306
+-126.74 47.764 5473
+-126.614 47.764 5598
+-126.488 47.764 5653
+-126.362 47.764 5814
+-126.236 47.764 5985
+-126.11 47.764 6076
+-125.984 47.764 6218
+-125.858 47.764 6313
+-125.732 47.764 6436
+-125.606 47.764 6580
+-125.48 47.764 6771
+-125.354 47.764 6823
+-125.228 47.764 6919
+-125.102 47.764 7104
+-124.976 47.764 7292
+-124.85 47.764 7348
+-124.724 47.764 7489
+-124.598 47.764 7635
+-124.472 47.764 7725
+-124.346 47.764 7873
+-124.22 47.764 8034
+-124.094 47.764 8094
+-123.968 47.764 8237
+-123.842 47.764 8378
+-123.716 47.764 8390
+-123.59 47.764 8487
+-123.464 47.764 8524
+-123.338 47.764 8637
+-123.212 47.764 8689
+-123.086 47.764 8731
+-122.96 47.764 8784
+-122.834 47.764 8746
+-122.708 47.764 8741
+-122.582 47.764 8656
+-122.456 47.764 8602
+-122.33 47.764 8520
+-122.204 47.764 8415
+-122.078 47.764 8360
+-121.952 47.764 8235
+-121.826 47.764 8141
+-121.7 47.764 7998
+-121.574 47.764 7808
+-121.448 47.764 7703
+-121.322 47.764 7584
+-121.196 47.764 7465
+-121.07 47.764 7349
+-120.944 47.764 7268
+-120.818 47.764 7121
+-120.692 47.764 6941
+-120.566 47.764 6792
+-120.44 47.764 6627
+-120.314 47.764 6502
+-120.188 47.764 6633
+-120.062 47.764 6775
+-119.936 47.764 6834
+-119.81 47.764 6924
+-119.684 47.764 7007
+-119.558 47.764 7104
+-119.432 47.764 7162
+-119.306 47.764 7290
+-119.18 47.764 7323
+-119.054 47.764 7391
+-118.928 47.764 7410
+-118.802 47.764 7437
+-118.676 47.764 7479
+-118.55 47.764 7508
+-118.424 47.764 7510
+-118.298 47.764 7521
+-118.172 47.764 7526
+-118.046 47.764 7511
+-117.92 47.764 7463
+-117.794 47.764 7418
+-117.668 47.764 7365
+-117.542 47.764 7289
+-117.416 47.764 7278
+-117.29 47.764 7152
+-117.164 47.764 7080
+-117.038 47.764 7013
+-116.912 47.764 7003
+-116.786 47.764 6858
+-116.66 47.764 6771
+-116.534 47.764 6619
+-116.408 47.764 6634
+-116.282 47.764 6439
+-116.156 47.764 6320
+-116.03 47.764 6261
+-115.904 47.764 6141
+-115.778 47.764 6076
+-115.652 47.764 5960
+-115.526 47.764 5813
+-115.4 47.764 5748
+-115.274 47.764 5631
+-115.148 47.764 5460
+-115.022 47.764 5449
+-114.896 47.764 5319
+-114.77 47.764 5188
+-114.644 47.764 5038
+-114.518 47.764 4914
+-114.392 47.764 4759
+-114.266 47.764 4553
+-114.14 47.764 4415
+-114.014 47.764 4447
+-113.888 47.764 4416
+-113.762 47.764 4313
+-113.636 47.764 4127
+-113.51 47.764 3964
+-113.384 47.764 4014
+-113.258 47.764 4053
+-113.132 47.764 4012
+-113.006 47.764 3924
+-112.88 47.764 3776
+-112.754 47.764 3557
+-112.628 47.764 3230
+-112.502 47.764 2953
+-112.376 47.764 2820
+-112.25 47.764 2888
+-112.124 47.764 3036
+-111.998 47.764 3164
+-111.872 47.764 3265
+-111.746 47.764 3335
+-111.62 47.764 3384
+-111.494 47.764 3420
+-111.368 47.764 3383
+-111.242 47.764 3372
+-111.116 47.764 3362
+-110.99 47.764 3377
+-110.864 47.764 3392
+-110.738 47.764 3388
+-110.612 47.764 3378
+-110.486 47.764 3389
+-110.36 47.764 3402
+-110.234 47.764 3412
+-110.108 47.764 3422
+-109.982 47.764 3432
+-109.856 47.764 3441
+-109.73 47.764 3276
+-109.604 47.764 3284
+-109.478 47.764 3292
+-109.352 47.764 3299
+-109.226 47.764 3305
+-109.1 47.764 3307
+-108.974 47.764 3238
+-108.848 47.764 3244
+-108.722 47.764 3250
+-108.596 47.764 3255
+-108.47 47.764 3261
+-108.344 47.764 3265
+-108.218 47.764 3270
+-108.092 47.764 3274
+-107.966 47.764 3279
+-107.84 47.764 3283
+-107.714 47.764 3286
+-107.588 47.764 3290
+-107.462 47.764 3293
+-107.336 47.764 3296
+-107.21 47.764 3299
+-107.084 47.764 3173
+-106.958 47.764 3129
+-106.832 47.764 3131
+-106.706 47.764 3133
+-106.58 47.764 3134
+-106.454 47.764 3136
+-106.328 47.764 3137
+-106.202 47.764 3139
+-106.076 47.764 3140
+-105.95 47.764 3141
+-105.824 47.764 3142
+-105.698 47.764 3143
+-105.572 47.764 3144
+-105.446 47.764 3145
+-105.32 47.764 3146
+-105.194 47.764 3147
+-105.068 47.764 3148
+-104.942 47.764 3149
+-104.816 47.764 3150
+-104.69 47.764 3151
+-104.564 47.764 3151
+-104.438 47.764 3152
+-104.312 47.764 3153
+-104.186 47.764 3153
+-104.06 47.764 3154
+-103.934 47.764 3155
+-103.808 47.764 3155
+-103.682 47.764 3156
+-103.556 47.764 3119
+-103.43 47.764 3119
+-103.304 47.764 3120
+-103.178 47.764 3116
+-103.052 47.764 3036
+-102.926 47.764 3043
+-102.8 47.764 2968
+-102.674 47.764 2961
+-102.548 47.764 2965
+-102.422 47.764 2985
+-102.296 47.764 2983
+-102.17 47.764 2987
+-102.044 47.764 3009
+-101.918 47.764 3061
+-101.792 47.764 3136
+-101.666 47.764 3234
+-101.54 47.764 3239
+-101.414 47.764 3316
+-101.288 47.764 3419
+-101.162 47.764 3419
+-101.036 47.764 3419
+-100.91 47.764 3213
+-100.784 47.764 3246
+-100.658 47.764 3245
+-100.532 47.764 3243
+-100.406 47.764 3225
+-100.28 47.764 3278
+-100.154 47.764 3248
+-100.028 47.764 3246
+-99.902 47.764 3225
+-99.776 47.764 3223
+-99.65 47.764 3143
+-99.524 47.764 3185
+-99.398 47.764 3183
+-99.272 47.764 3181
+-99.146 47.764 3179
+-99.02 47.764 3165
+-98.894 47.764 3163
+-98.768 47.764 3161
+-98.642 47.764 3159
+-98.516 47.764 3156
+-98.39 47.764 3076
+-98.264 47.764 3062
+-98.138 47.764 3039
+-98.012 47.764 2986
+-97.886 47.764 2976
+-97.76 47.764 2961
+-97.634 47.764 2958
+-97.508 47.764 2953
+-97.382 47.764 2935
+-97.256 47.764 2918
+-97.13 47.764 2915
+-97.004 47.764 2912
+-96.878 47.764 2908
+-96.752 47.764 2905
+-96.626 47.764 2901
+-96.5 47.764 2897
+-96.374 47.764 2893
+-96.248 47.764 2889
+-96.122 47.764 2885
+-95.996 47.764 2881
+-95.87 47.764 2876
+-95.744 47.764 2872
+-95.618 47.764 2867
+-95.492 47.764 2862
+-95.366 47.764 2857
+-95.24 47.764 2852
+-95.114 47.764 2846
+-94.988 47.764 2736
+-94.862 47.764 2731
+-94.736 47.764 2714
+-94.61 47.764 2708
+-94.484 47.764 2702
+-94.358 47.764 2696
+-94.232 47.764 2689
+-94.106 47.764 2683
+-93.98 47.764 2676
+-93.854 47.764 2669
+-93.728 47.764 2662
+-93.602 47.764 2655
+-93.476 47.764 2648
+-93.35 47.764 2641
+-93.224 47.764 2634
+-93.098 47.764 2627
+-92.972 47.764 2620
+-92.846 47.764 2613
+-92.72 47.764 2605
+-92.594 47.764 2598
+-92.468 47.764 2592
+-92.342 47.764 2585
+-92.216 47.764 2579
+-92.09 47.764 2572
+-91.964 47.764 2567
+-91.838 47.764 2561
+-91.712 47.764 2556
+-91.586 47.764 2551
+-91.46 47.764 2547
+-91.334 47.764 2544
+-91.208 47.764 2540
+-91.082 47.764 2538
+-90.956 47.764 2536
+-90.83 47.764 2534
+-90.704 47.764 2533
+-90.578 47.764 2532
+-90.452 47.764 2532
+-90.326 47.764 2533
+-90.2 47.764 2534
+-90.074 47.764 2499
+-89.948 47.764 2500
+-89.822 47.764 2502
+-89.696 47.764 2505
+-89.57 47.764 2508
+-89.444 47.764 2510
+-89.318 47.764 2514
+-89.192 47.764 2517
+-89.066 47.764 2520
+-88.94 47.764 2524
+-88.814 47.764 2527
+-88.688 47.764 2531
+-88.562 47.764 2534
+-88.436 47.764 2538
+-88.31 47.764 2541
+-88.184 47.764 2545
+-88.058 47.764 2548
+-87.932 47.764 2552
+-87.806 47.764 2555
+-87.68 47.764 2558
+-87.554 47.764 2561
+-87.428 47.764 2564
+-87.302 47.764 2567
+-87.176 47.764 2570
+-87.05 47.764 2573
+-86.924 47.764 2575
+-86.798 47.764 2578
+-86.672 47.764 2580
+-86.546 47.764 2582
+-86.42 47.764 2585
+-86.294 47.764 2587
+-86.168 47.764 2589
+-86.042 47.764 2591
+-85.916 47.764 2593
+-85.79 47.764 2594
+-85.664 47.764 2596
+-85.538 47.764 2598
+-85.412 47.764 2599
+-85.286 47.764 2601
+-85.16 47.764 2602
+-85.034 47.764 2604
+-84.908 47.764 2605
+-84.782 47.764 2607
+-84.656 47.764 2608
+-84.53 47.764 2609
+-84.404 47.764 2620
+-84.278 47.764 2621
+-84.152 47.764 2622
+-84.026 47.764 2624
+-83.9 47.764 2525
+-83.774 47.764 2526
+-83.648 47.764 2526
+-83.522 47.764 2527
+-83.396 47.764 2527
+-83.27 47.764 2528
+-83.144 47.764 2528
+-83.018 47.764 2529
+-82.892 47.764 2529
+-82.766 47.764 2530
+-82.64 47.764 2536
+-82.514 47.764 2545
+-82.388 47.764 2546
+-82.262 47.764 2546
+-82.136 47.764 2547
+-82.01 47.764 2566
+-81.884 47.764 2567
+-81.758 47.764 2567
+-81.632 47.764 2568
+-81.506 47.764 2572
+-81.38 47.764 2697
+-81.254 47.764 2697
+-81.128 47.764 2698
+-81.002 47.764 2704
+-80.876 47.764 2704
+-80.75 47.764 2706
+-80.624 47.764 2722
+-80.498 47.764 2705
+-80.372 47.764 2719
+-80.246 47.764 2719
+-80.12 47.764 2716
+-79.994 47.764 2717
+-79.868 47.764 2718
+-79.742 47.764 2718
+-79.616 47.764 2721
+-79.49 47.764 2804
+-79.364 47.764 2805
+-79.238 47.764 2806
+-79.112 47.764 2807
+-78.986 47.764 2824
+-78.86 47.764 2825
+-78.734 47.764 2807
+-78.608 47.764 2809
+-78.482 47.764 2810
+-78.356 47.764 2811
+-78.23 47.764 2784
+-78.104 47.764 2793
+-77.978 47.764 2794
+-77.852 47.764 2919
+-77.726 47.764 2880
+-77.6 47.764 2881
+-77.474 47.764 3015
+-77.348 47.764 3012
+-77.222 47.764 2975
+-77.096 47.764 3037
+-76.97 47.764 2929
+-76.844 47.764 2959
+-76.718 47.764 3013
+-76.592 47.764 2913
+-76.466 47.764 2920
+-76.34 47.764 2826
+-76.214 47.764 2823
+-76.088 47.764 2839
+-75.962 47.764 2811
+-75.836 47.764 2813
+-75.71 47.764 2814
+-75.584 47.764 2754
+-75.458 47.764 2796
+-75.332 47.764 2789
+-75.206 47.764 2778
+-75.08 47.764 2779
+-74.954 47.764 2780
+-74.828 47.764 2782
+-74.702 47.764 2723
+-74.576 47.764 2718
+-74.45 47.764 2719
+-74.324 47.764 2720
+-74.198 47.764 2721
+-74.072 47.764 2718
+-73.946 47.764 2663
+-73.82 47.764 2767
+-73.694 47.764 2763
+-73.568 47.764 2770
+-73.442 47.764 2770
+-73.316 47.764 2771
+-73.19 47.764 2772
+-73.064 47.764 2798
+-72.938 47.764 2776
+-72.812 47.764 2841
+-72.686 47.764 2842
+-72.56 47.764 2833
+-72.434 47.764 2841
+-72.308 47.764 2842
+-72.182 47.764 2843
+-72.056 47.764 2830
+-71.93 47.764 2946
+-71.804 47.764 2947
+-71.678 47.764 2948
+-71.552 47.764 2949
+-71.426 47.764 3049
+-71.3 47.764 3002
+-71.174 47.764 3151
+-71.048 47.764 3152
+-70.922 47.764 3114
+-70.796 47.764 3115
+-70.67 47.764 3115
+-70.544 47.764 3116
+-70.418 47.764 3116
+-70.292 47.764 3117
+-70.166 47.764 3216
+-70.04 47.764 3211
+-69.914 47.764 3211
+-69.788 47.764 3212
+-69.662 47.764 3212
+-69.536 47.764 3154
+-69.41 47.764 3192
+-69.284 47.764 3192
+-69.158 47.764 3271
+-69.032 47.764 3178
+-68.906 47.764 3179
+-68.78 47.764 3179
+-68.654 47.764 3229
+-68.528 47.764 3181
+-68.402 47.764 3182
+-68.276 47.764 3183
+-68.15 47.764 3410
+-68.024 47.764 3354
+-67.898 47.764 3355
+-67.772 47.764 3488
+-67.646 47.764 3460
+-67.52 47.764 3461
+-67.394 47.764 3405
+-67.268 47.764 3478
+-67.142 47.764 3479
+-67.016 47.764 3479
+-66.89 47.764 3480
+-66.764 47.764 3480
+-66.638 47.764 3480
+-66.512 47.764 3480
+-66.386 47.764 3481
+-66.26 47.764 3470
+-66.134 47.764 3416
+-66.008 47.764 3410
+-65.882 47.764 3410
+-65.756 47.764 3410
+-65.63 47.764 3411
+-65.504 47.764 3411
+-65.378 47.764 3411
+-65.252 47.764 3412
+-65.126 47.764 3412
+-128 47.712 4622
+-127.874 47.712 4594
+-127.748 47.712 4608
+-127.622 47.712 4682
+-127.496 47.712 4790
+-127.37 47.712 4943
+-127.244 47.712 5034
+-127.118 47.712 5161
+-126.992 47.712 5246
+-126.866 47.712 5383
+-126.74 47.712 5429
+-126.614 47.712 5556
+-126.488 47.712 5702
+-126.362 47.712 5828
+-126.236 47.712 5956
+-126.11 47.712 6122
+-125.984 47.712 6190
+-125.858 47.712 6338
+-125.732 47.712 6420
+-125.606 47.712 6565
+-125.48 47.712 6695
+-125.354 47.712 6853
+-125.228 47.712 6986
+-125.102 47.712 7141
+-124.976 47.712 7291
+-124.85 47.712 7387
+-124.724 47.712 7508
+-124.598 47.712 7636
+-124.472 47.712 7769
+-124.346 47.712 7851
+-124.22 47.712 8023
+-124.094 47.712 8090
+-123.968 47.712 8213
+-123.842 47.712 8350
+-123.716 47.712 8482
+-123.59 47.712 8492
+-123.464 47.712 8583
+-123.338 47.712 8711
+-123.212 47.712 8749
+-123.086 47.712 8804
+-122.96 47.712 8810
+-122.834 47.712 8795
+-122.708 47.712 8756
+-122.582 47.712 8704
+-122.456 47.712 8650
+-122.33 47.712 8560
+-122.204 47.712 8484
+-122.078 47.712 8360
+-121.952 47.712 8275
+-121.826 47.712 8152
+-121.7 47.712 8004
+-121.574 47.712 7881
+-121.448 47.712 7717
+-121.322 47.712 7653
+-121.196 47.712 7479
+-121.07 47.712 7388
+-120.944 47.712 7242
+-120.818 47.712 7141
+-120.692 47.712 6941
+-120.566 47.712 6860
+-120.44 47.712 6504
+-120.314 47.712 6549
+-120.188 47.712 6689
+-120.062 47.712 6825
+-119.936 47.712 6927
+-119.81 47.712 6993
+-119.684 47.712 7059
+-119.558 47.712 7119
+-119.432 47.712 7212
+-119.306 47.712 7302
+-119.18 47.712 7347
+-119.054 47.712 7389
+-118.928 47.712 7511
+-118.802 47.712 7514
+-118.676 47.712 7555
+-118.55 47.712 7560
+-118.424 47.712 7570
+-118.298 47.712 7563
+-118.172 47.712 7568
+-118.046 47.712 7575
+-117.92 47.712 7531
+-117.794 47.712 7494
+-117.668 47.712 7437
+-117.542 47.712 7371
+-117.416 47.712 7293
+-117.29 47.712 7195
+-117.164 47.712 7090
+-117.038 47.712 7054
+-116.912 47.712 7008
+-116.786 47.712 6953
+-116.66 47.712 6838
+-116.534 47.712 6678
+-116.408 47.712 6669
+-116.282 47.712 6469
+-116.156 47.712 6432
+-116.03 47.712 6299
+-115.904 47.712 6199
+-115.778 47.712 6100
+-115.652 47.712 6001
+-115.526 47.712 5843
+-115.4 47.712 5718
+-115.274 47.712 5673
+-115.148 47.712 5541
+-115.022 47.712 5446
+-114.896 47.712 5346
+-114.77 47.712 5209
+-114.644 47.712 5068
+-114.518 47.712 4935
+-114.392 47.712 4792
+-114.266 47.712 4635
+-114.14 47.712 4522
+-114.014 47.712 4496
+-113.888 47.712 4455
+-113.762 47.712 4375
+-113.636 47.712 4277
+-113.51 47.712 4168
+-113.384 47.712 4126
+-113.258 47.712 4129
+-113.132 47.712 4113
+-113.006 47.712 3981
+-112.88 47.712 3864
+-112.754 47.712 3675
+-112.628 47.712 3448
+-112.502 47.712 3199
+-112.376 47.712 3063
+-112.25 47.712 3083
+-112.124 47.712 3171
+-111.998 47.712 3267
+-111.872 47.712 3347
+-111.746 47.712 3407
+-111.62 47.712 3435
+-111.494 47.712 3404
+-111.368 47.712 3427
+-111.242 47.712 3446
+-111.116 47.712 3427
+-110.99 47.712 3416
+-110.864 47.712 3410
+-110.738 47.712 3427
+-110.612 47.712 3438
+-110.486 47.712 3420
+-110.36 47.712 3429
+-110.234 47.712 3437
+-110.108 47.712 3445
+-109.982 47.712 3453
+-109.856 47.712 3287
+-109.73 47.712 3310
+-109.604 47.712 3317
+-109.478 47.712 3324
+-109.352 47.712 3331
+-109.226 47.712 3314
+-109.1 47.712 3319
+-108.974 47.712 3324
+-108.848 47.712 3257
+-108.722 47.712 3262
+-108.596 47.712 3267
+-108.47 47.712 3272
+-108.344 47.712 3276
+-108.218 47.712 3280
+-108.092 47.712 3284
+-107.966 47.712 3288
+-107.84 47.712 3301
+-107.714 47.712 3304
+-107.588 47.712 3308
+-107.462 47.712 3311
+-107.336 47.712 3314
+-107.21 47.712 3178
+-107.084 47.712 3133
+-106.958 47.712 3135
+-106.832 47.712 3136
+-106.706 47.712 3138
+-106.58 47.712 3139
+-106.454 47.712 3141
+-106.328 47.712 3142
+-106.202 47.712 3143
+-106.076 47.712 3144
+-105.95 47.712 3145
+-105.824 47.712 3146
+-105.698 47.712 3147
+-105.572 47.712 3148
+-105.446 47.712 3149
+-105.32 47.712 3150
+-105.194 47.712 3151
+-105.068 47.712 3151
+-104.942 47.712 3152
+-104.816 47.712 3153
+-104.69 47.712 3154
+-104.564 47.712 3154
+-104.438 47.712 3155
+-104.312 47.712 3155
+-104.186 47.712 3156
+-104.06 47.712 3157
+-103.934 47.712 3157
+-103.808 47.712 3158
+-103.682 47.712 3158
+-103.556 47.712 3121
+-103.43 47.712 3121
+-103.304 47.712 3122
+-103.178 47.712 3118
+-103.052 47.712 3037
+-102.926 47.712 3044
+-102.8 47.712 2970
+-102.674 47.712 2963
+-102.548 47.712 2967
+-102.422 47.712 2987
+-102.296 47.712 2984
+-102.17 47.712 2989
+-102.044 47.712 3012
+-101.918 47.712 3063
+-101.792 47.712 3139
+-101.666 47.712 3235
+-101.54 47.712 3241
+-101.414 47.712 3371
+-101.288 47.712 3419
+-101.162 47.712 3419
+-101.036 47.712 3419
+-100.91 47.712 3418
+-100.784 47.712 3212
+-100.658 47.712 3245
+-100.532 47.712 3244
+-100.406 47.712 3242
+-100.28 47.712 3224
+-100.154 47.712 3277
+-100.028 47.712 3247
+-99.902 47.712 3245
+-99.776 47.712 3224
+-99.65 47.712 3222
+-99.524 47.712 3142
+-99.398 47.712 3183
+-99.272 47.712 3181
+-99.146 47.712 3179
+-99.02 47.712 3177
+-98.894 47.712 3164
+-98.768 47.712 3162
+-98.642 47.712 3159
+-98.516 47.712 3157
+-98.39 47.712 3155
+-98.264 47.712 3074
+-98.138 47.712 3060
+-98.012 47.712 3038
+-97.886 47.712 2985
+-97.76 47.712 2974
+-97.634 47.712 2959
+-97.508 47.712 2956
+-97.382 47.712 2951
+-97.256 47.712 2933
+-97.13 47.712 2916
+-97.004 47.712 2912
+-96.878 47.712 2909
+-96.752 47.712 2905
+-96.626 47.712 2902
+-96.5 47.712 2898
+-96.374 47.712 2894
+-96.248 47.712 2890
+-96.122 47.712 2885
+-95.996 47.712 2881
+-95.87 47.712 2876
+-95.744 47.712 2872
+-95.618 47.712 2867
+-95.492 47.712 2862
+-95.366 47.712 2856
+-95.24 47.712 2851
+-95.114 47.712 2845
+-94.988 47.712 2840
+-94.862 47.712 2730
+-94.736 47.712 2724
+-94.61 47.712 2707
+-94.484 47.712 2701
+-94.358 47.712 2694
+-94.232 47.712 2688
+-94.106 47.712 2681
+-93.98 47.712 2674
+-93.854 47.712 2667
+-93.728 47.712 2659
+-93.602 47.712 2652
+-93.476 47.712 2645
+-93.35 47.712 2637
+-93.224 47.712 2629
+-93.098 47.712 2622
+-92.972 47.712 2614
+-92.846 47.712 2606
+-92.72 47.712 2599
+-92.594 47.712 2591
+-92.468 47.712 2584
+-92.342 47.712 2577
+-92.216 47.712 2570
+-92.09 47.712 2564
+-91.964 47.712 2557
+-91.838 47.712 2551
+-91.712 47.712 2546
+-91.586 47.712 2541
+-91.46 47.712 2536
+-91.334 47.712 2532
+-91.208 47.712 2529
+-91.082 47.712 2526
+-90.956 47.712 2524
+-90.83 47.712 2522
+-90.704 47.712 2521
+-90.578 47.712 2521
+-90.452 47.712 2521
+-90.326 47.712 2522
+-90.2 47.712 2523
+-90.074 47.712 2489
+-89.948 47.712 2491
+-89.822 47.712 2493
+-89.696 47.712 2496
+-89.57 47.712 2499
+-89.444 47.712 2502
+-89.318 47.712 2506
+-89.192 47.712 2509
+-89.066 47.712 2513
+-88.94 47.712 2517
+-88.814 47.712 2521
+-88.688 47.712 2525
+-88.562 47.712 2529
+-88.436 47.712 2533
+-88.31 47.712 2536
+-88.184 47.712 2540
+-88.058 47.712 2544
+-87.932 47.712 2548
+-87.806 47.712 2551
+-87.68 47.712 2554
+-87.554 47.712 2558
+-87.428 47.712 2561
+-87.302 47.712 2564
+-87.176 47.712 2567
+-87.05 47.712 2570
+-86.924 47.712 2572
+-86.798 47.712 2575
+-86.672 47.712 2577
+-86.546 47.712 2580
+-86.42 47.712 2582
+-86.294 47.712 2584
+-86.168 47.712 2586
+-86.042 47.712 2588
+-85.916 47.712 2590
+-85.79 47.712 2592
+-85.664 47.712 2594
+-85.538 47.712 2596
+-85.412 47.712 2597
+-85.286 47.712 2599
+-85.16 47.712 2601
+-85.034 47.712 2602
+-84.908 47.712 2604
+-84.782 47.712 2605
+-84.656 47.712 2606
+-84.53 47.712 2617
+-84.404 47.712 2618
+-84.278 47.712 2619
+-84.152 47.712 2621
+-84.026 47.712 2523
+-83.9 47.712 2524
+-83.774 47.712 2524
+-83.648 47.712 2525
+-83.522 47.712 2525
+-83.396 47.712 2526
+-83.27 47.712 2526
+-83.144 47.712 2527
+-83.018 47.712 2527
+-82.892 47.712 2527
+-82.766 47.712 2534
+-82.64 47.712 2543
+-82.514 47.712 2544
+-82.388 47.712 2544
+-82.262 47.712 2545
+-82.136 47.712 2564
+-82.01 47.712 2565
+-81.884 47.712 2565
+-81.758 47.712 2566
+-81.632 47.712 2570
+-81.506 47.712 2695
+-81.38 47.712 2695
+-81.254 47.712 2695
+-81.128 47.712 2702
+-81.002 47.712 2702
+-80.876 47.712 2704
+-80.75 47.712 2720
+-80.624 47.712 2703
+-80.498 47.712 2716
+-80.372 47.712 2717
+-80.246 47.712 2714
+-80.12 47.712 2715
+-79.994 47.712 2716
+-79.868 47.712 2716
+-79.742 47.712 2719
+-79.616 47.712 2802
+-79.49 47.712 2803
+-79.364 47.712 2804
+-79.238 47.712 2805
+-79.112 47.712 2822
+-78.986 47.712 2823
+-78.86 47.712 2805
+-78.734 47.712 2806
+-78.608 47.712 2807
+-78.482 47.712 2808
+-78.356 47.712 2782
+-78.23 47.712 2791
+-78.104 47.712 2792
+-77.978 47.712 2916
+-77.852 47.712 2878
+-77.726 47.712 2879
+-77.6 47.712 3012
+-77.474 47.712 3009
+-77.348 47.712 2973
+-77.222 47.712 3034
+-77.096 47.712 2927
+-76.97 47.712 2957
+-76.844 47.712 3011
+-76.718 47.712 2911
+-76.592 47.712 2918
+-76.466 47.712 2825
+-76.34 47.712 2821
+-76.214 47.712 2837
+-76.088 47.712 2810
+-75.962 47.712 2811
+-75.836 47.712 2812
+-75.71 47.712 2752
+-75.584 47.712 2795
+-75.458 47.712 2787
+-75.332 47.712 2777
+-75.206 47.712 2778
+-75.08 47.712 2779
+-74.954 47.712 2780
+-74.828 47.712 2722
+-74.702 47.712 2717
+-74.576 47.712 2718
+-74.45 47.712 2719
+-74.324 47.712 2720
+-74.198 47.712 2717
+-74.072 47.712 2662
+-73.946 47.712 2767
+-73.82 47.712 2762
+-73.694 47.712 2769
+-73.568 47.712 2770
+-73.442 47.712 2771
+-73.316 47.712 2771
+-73.19 47.712 2797
+-73.064 47.712 2775
+-72.938 47.712 2840
+-72.812 47.712 2841
+-72.686 47.712 2832
+-72.56 47.712 2840
+-72.434 47.712 2841
+-72.308 47.712 2842
+-72.182 47.712 2830
+-72.056 47.712 2945
+-71.93 47.712 2946
+-71.804 47.712 2947
+-71.678 47.712 2948
+-71.552 47.712 3048
+-71.426 47.712 3001
+-71.3 47.712 3151
+-71.174 47.712 3151
+-71.048 47.712 3114
+-70.922 47.712 3114
+-70.796 47.712 3115
+-70.67 47.712 3115
+-70.544 47.712 3116
+-70.418 47.712 3116
+-70.292 47.712 3215
+-70.166 47.712 3210
+-70.04 47.712 3211
+-69.914 47.712 3211
+-69.788 47.712 3212
+-69.662 47.712 3154
+-69.536 47.712 3191
+-69.41 47.712 3192
+-69.284 47.712 3270
+-69.158 47.712 3177
+-69.032 47.712 3178
+-68.906 47.712 3179
+-68.78 47.712 3228
+-68.654 47.712 3181
+-68.528 47.712 3182
+-68.402 47.712 3182
+-68.276 47.712 3410
+-68.15 47.712 3354
+-68.024 47.712 3355
+-67.898 47.712 3488
+-67.772 47.712 3460
+-67.646 47.712 3460
+-67.52 47.712 3405
+-67.394 47.712 3477
+-67.268 47.712 3479
+-67.142 47.712 3479
+-67.016 47.712 3479
+-66.89 47.712 3480
+-66.764 47.712 3479
+-66.638 47.712 3480
+-66.512 47.712 3480
+-66.386 47.712 3469
+-66.26 47.712 3416
+-66.134 47.712 3409
+-66.008 47.712 3410
+-65.882 47.712 3410
+-65.756 47.712 3410
+-65.63 47.712 3411
+-65.504 47.712 3411
+-65.378 47.712 3411
+-65.252 47.712 3412
+-65.126 47.712 3412
+-128 47.66 4546
+-127.874 47.66 4478
+-127.748 47.66 4415
+-127.622 47.66 4564
+-127.496 47.66 4810
+-127.37 47.66 4966
+-127.244 47.66 5053
+-127.118 47.66 5106
+-126.992 47.66 5274
+-126.866 47.66 5410
+-126.74 47.66 5410
+-126.614 47.66 5561
+-126.488 47.66 5710
+-126.362 47.66 5856
+-126.236 47.66 5923
+-126.11 47.66 6114
+-125.984 47.66 6253
+-125.858 47.66 6305
+-125.732 47.66 6492
+-125.606 47.66 6583
+-125.48 47.66 6714
+-125.354 47.66 6852
+-125.228 47.66 7025
+-125.102 47.66 7143
+-124.976 47.66 7280
+-124.85 47.66 7468
+-124.724 47.66 7572
+-124.598 47.66 7661
+-124.472 47.66 7821
+-124.346 47.66 7927
+-124.22 47.66 8097
+-124.094 47.66 8171
+-123.968 47.66 8303
+-123.842 47.66 8452
+-123.716 47.66 8471
+-123.59 47.66 8584
+-123.464 47.66 8635
+-123.338 47.66 8744
+-123.212 47.66 8820
+-123.086 47.66 8842
+-122.96 47.66 8874
+-122.834 47.66 8869
+-122.708 47.66 8811
+-122.582 47.66 8760
+-122.456 47.66 8664
+-122.33 47.66 8602
+-122.204 47.66 8463
+-122.078 47.66 8393
+-121.952 47.66 8262
+-121.826 47.66 8151
+-121.7 47.66 8028
+-121.574 47.66 7891
+-121.448 47.66 7749
+-121.322 47.66 7612
+-121.196 47.66 7506
+-121.07 47.66 7409
+-120.944 47.66 7263
+-120.818 47.66 7147
+-120.692 47.66 6974
+-120.566 47.66 6819
+-120.44 47.66 6710
+-120.314 47.66 6685
+-120.188 47.66 6759
+-120.062 47.66 6852
+-119.936 47.66 6904
+-119.81 47.66 6982
+-119.684 47.66 7056
+-119.558 47.66 7154
+-119.432 47.66 7212
+-119.306 47.66 7302
+-119.18 47.66 7413
+-119.054 47.66 7479
+-118.928 47.66 7494
+-118.802 47.66 7580
+-118.676 47.66 7595
+-118.55 47.66 7633
+-118.424 47.66 7618
+-118.298 47.66 7663
+-118.172 47.66 7611
+-118.046 47.66 7608
+-117.92 47.66 7573
+-117.794 47.66 7522
+-117.668 47.66 7456
+-117.542 47.66 7426
+-117.416 47.66 7338
+-117.29 47.66 7264
+-117.164 47.66 7154
+-117.038 47.66 7104
+-116.912 47.66 7005
+-116.786 47.66 6975
+-116.66 47.66 6894
+-116.534 47.66 6809
+-116.408 47.66 6700
+-116.282 47.66 6522
+-116.156 47.66 6367
+-116.03 47.66 6301
+-115.904 47.66 6190
+-115.778 47.66 6116
+-115.652 47.66 5989
+-115.526 47.66 5902
+-115.4 47.66 5757
+-115.274 47.66 5669
+-115.148 47.66 5534
+-115.022 47.66 5429
+-114.896 47.66 5340
+-114.77 47.66 5223
+-114.644 47.66 5050
+-114.518 47.66 4964
+-114.392 47.66 4847
+-114.266 47.66 4720
+-114.14 47.66 4622
+-114.014 47.66 4556
+-113.888 47.66 4475
+-113.762 47.66 4390
+-113.636 47.66 4319
+-113.51 47.66 4244
+-113.384 47.66 4203
+-113.258 47.66 4179
+-113.132 47.66 4123
+-113.006 47.66 4074
+-112.88 47.66 3933
+-112.754 47.66 3800
+-112.628 47.66 3636
+-112.502 47.66 3491
+-112.376 47.66 3343
+-112.25 47.66 3296
+-112.124 47.66 3331
+-111.998 47.66 3383
+-111.872 47.66 3434
+-111.746 47.66 3476
+-111.62 47.66 3429
+-111.494 47.66 3453
+-111.368 47.66 3473
+-111.242 47.66 3488
+-111.116 47.66 3485
+-110.99 47.66 3475
+-110.864 47.66 3445
+-110.738 47.66 3461
+-110.612 47.66 3441
+-110.486 47.66 3448
+-110.36 47.66 3455
+-110.234 47.66 3462
+-110.108 47.66 3468
+-109.982 47.66 3300
+-109.856 47.66 3322
+-109.73 47.66 3328
+-109.604 47.66 3334
+-109.478 47.66 3340
+-109.352 47.66 3322
+-109.226 47.66 3327
+-109.1 47.66 3332
+-108.974 47.66 3336
+-108.848 47.66 3340
+-108.722 47.66 3274
+-108.596 47.66 3279
+-108.47 47.66 3283
+-108.344 47.66 3286
+-108.218 47.66 3290
+-108.092 47.66 3302
+-107.966 47.66 3306
+-107.84 47.66 3309
+-107.714 47.66 3312
+-107.588 47.66 3315
+-107.462 47.66 3318
+-107.336 47.66 3183
+-107.21 47.66 3138
+-107.084 47.66 3139
+-106.958 47.66 3141
+-106.832 47.66 3142
+-106.706 47.66 3143
+-106.58 47.66 3144
+-106.454 47.66 3146
+-106.328 47.66 3147
+-106.202 47.66 3148
+-106.076 47.66 3149
+-105.95 47.66 3149
+-105.824 47.66 3150
+-105.698 47.66 3151
+-105.572 47.66 3152
+-105.446 47.66 3153
+-105.32 47.66 3153
+-105.194 47.66 3154
+-105.068 47.66 3155
+-104.942 47.66 3155
+-104.816 47.66 3156
+-104.69 47.66 3156
+-104.564 47.66 3157
+-104.438 47.66 3158
+-104.312 47.66 3158
+-104.186 47.66 3159
+-104.06 47.66 3159
+-103.934 47.66 3160
+-103.808 47.66 3160
+-103.682 47.66 3160
+-103.556 47.66 3123
+-103.43 47.66 3124
+-103.304 47.66 3124
+-103.178 47.66 3120
+-103.052 47.66 3039
+-102.926 47.66 3046
+-102.8 47.66 2971
+-102.674 47.66 2965
+-102.548 47.66 2968
+-102.422 47.66 2989
+-102.296 47.66 2986
+-102.17 47.66 2991
+-102.044 47.66 3012
+-101.918 47.66 3061
+-101.792 47.66 3130
+-101.666 47.66 3237
+-101.54 47.66 3242
+-101.414 47.66 3370
+-101.288 47.66 3424
+-101.162 47.66 3418
+-101.036 47.66 3418
+-100.91 47.66 3418
+-100.784 47.66 3418
+-100.658 47.66 3212
+-100.532 47.66 3244
+-100.406 47.66 3243
+-100.28 47.66 3242
+-100.154 47.66 3223
+-100.028 47.66 3276
+-99.902 47.66 3246
+-99.776 47.66 3244
+-99.65 47.66 3223
+-99.524 47.66 3221
+-99.398 47.66 3141
+-99.272 47.66 3182
+-99.146 47.66 3180
+-99.02 47.66 3178
+-98.894 47.66 3176
+-98.768 47.66 3162
+-98.642 47.66 3160
+-98.516 47.66 3158
+-98.39 47.66 3155
+-98.264 47.66 3153
+-98.138 47.66 3072
+-98.012 47.66 3058
+-97.886 47.66 3036
+-97.76 47.66 2983
+-97.634 47.66 2972
+-97.508 47.66 2957
+-97.382 47.66 2954
+-97.256 47.66 2948
+-97.13 47.66 2931
+-97.004 47.66 2913
+-96.878 47.66 2910
+-96.752 47.66 2906
+-96.626 47.66 2902
+-96.5 47.66 2898
+-96.374 47.66 2894
+-96.248 47.66 2890
+-96.122 47.66 2886
+-95.996 47.66 2881
+-95.87 47.66 2876
+-95.744 47.66 2872
+-95.618 47.66 2867
+-95.492 47.66 2861
+-95.366 47.66 2856
+-95.24 47.66 2850
+-95.114 47.66 2845
+-94.988 47.66 2839
+-94.862 47.66 2833
+-94.736 47.66 2723
+-94.61 47.66 2717
+-94.484 47.66 2700
+-94.358 47.66 2693
+-94.232 47.66 2686
+-94.106 47.66 2679
+-93.98 47.66 2671
+-93.854 47.66 2664
+-93.728 47.66 2656
+-93.602 47.66 2649
+-93.476 47.66 2641
+-93.35 47.66 2633
+-93.224 47.66 2625
+-93.098 47.66 2616
+-92.972 47.66 2608
+-92.846 47.66 2600
+-92.72 47.66 2592
+-92.594 47.66 2584
+-92.468 47.66 2576
+-92.342 47.66 2569
+-92.216 47.66 2561
+-92.09 47.66 2554
+-91.964 47.66 2547
+-91.838 47.66 2541
+-91.712 47.66 2535
+-91.586 47.66 2530
+-91.46 47.66 2525
+-91.334 47.66 2520
+-91.208 47.66 2517
+-91.082 47.66 2514
+-90.956 47.66 2512
+-90.83 47.66 2510
+-90.704 47.66 2509
+-90.578 47.66 2509
+-90.452 47.66 2509
+-90.326 47.66 2510
+-90.2 47.66 2512
+-90.074 47.66 2478
+-89.948 47.66 2480
+-89.822 47.66 2483
+-89.696 47.66 2486
+-89.57 47.66 2490
+-89.444 47.66 2493
+-89.318 47.66 2497
+-89.192 47.66 2502
+-89.066 47.66 2506
+-88.94 47.66 2510
+-88.814 47.66 2514
+-88.688 47.66 2519
+-88.562 47.66 2523
+-88.436 47.66 2527
+-88.31 47.66 2531
+-88.184 47.66 2535
+-88.058 47.66 2539
+-87.932 47.66 2543
+-87.806 47.66 2547
+-87.68 47.66 2551
+-87.554 47.66 2554
+-87.428 47.66 2557
+-87.302 47.66 2561
+-87.176 47.66 2564
+-87.05 47.66 2567
+-86.924 47.66 2570
+-86.798 47.66 2572
+-86.672 47.66 2575
+-86.546 47.66 2577
+-86.42 47.66 2580
+-86.294 47.66 2582
+-86.168 47.66 2584
+-86.042 47.66 2586
+-85.916 47.66 2588
+-85.79 47.66 2590
+-85.664 47.66 2592
+-85.538 47.66 2594
+-85.412 47.66 2595
+-85.286 47.66 2597
+-85.16 47.66 2599
+-85.034 47.66 2600
+-84.908 47.66 2602
+-84.782 47.66 2603
+-84.656 47.66 2614
+-84.53 47.66 2615
+-84.404 47.66 2616
+-84.278 47.66 2618
+-84.152 47.66 2521
+-84.026 47.66 2522
+-83.9 47.66 2522
+-83.774 47.66 2523
+-83.648 47.66 2523
+-83.522 47.66 2524
+-83.396 47.66 2524
+-83.27 47.66 2525
+-83.144 47.66 2525
+-83.018 47.66 2525
+-82.892 47.66 2531
+-82.766 47.66 2541
+-82.64 47.66 2542
+-82.514 47.66 2542
+-82.388 47.66 2543
+-82.262 47.66 2562
+-82.136 47.66 2563
+-82.01 47.66 2563
+-81.884 47.66 2564
+-81.758 47.66 2568
+-81.632 47.66 2692
+-81.506 47.66 2693
+-81.38 47.66 2693
+-81.254 47.66 2699
+-81.128 47.66 2700
+-81.002 47.66 2701
+-80.876 47.66 2717
+-80.75 47.66 2701
+-80.624 47.66 2714
+-80.498 47.66 2715
+-80.372 47.66 2712
+-80.246 47.66 2713
+-80.12 47.66 2713
+-79.994 47.66 2714
+-79.868 47.66 2716
+-79.742 47.66 2799
+-79.616 47.66 2800
+-79.49 47.66 2801
+-79.364 47.66 2802
+-79.238 47.66 2819
+-79.112 47.66 2820
+-78.986 47.66 2803
+-78.86 47.66 2804
+-78.734 47.66 2805
+-78.608 47.66 2806
+-78.482 47.66 2780
+-78.356 47.66 2789
+-78.23 47.66 2790
+-78.104 47.66 2914
+-77.978 47.66 2876
+-77.852 47.66 2877
+-77.726 47.66 3009
+-77.6 47.66 3007
+-77.474 47.66 2970
+-77.348 47.66 3032
+-77.222 47.66 2925
+-77.096 47.66 2954
+-76.97 47.66 3008
+-76.844 47.66 2909
+-76.718 47.66 2916
+-76.592 47.66 2823
+-76.466 47.66 2819
+-76.34 47.66 2836
+-76.214 47.66 2808
+-76.088 47.66 2809
+-75.962 47.66 2811
+-75.836 47.66 2751
+-75.71 47.66 2793
+-75.584 47.66 2786
+-75.458 47.66 2775
+-75.332 47.66 2776
+-75.206 47.66 2778
+-75.08 47.66 2779
+-74.954 47.66 2721
+-74.828 47.66 2716
+-74.702 47.66 2717
+-74.576 47.66 2718
+-74.45 47.66 2719
+-74.324 47.66 2716
+-74.198 47.66 2661
+-74.072 47.66 2766
+-73.946 47.66 2762
+-73.82 47.66 2768
+-73.694 47.66 2769
+-73.568 47.66 2770
+-73.442 47.66 2771
+-73.316 47.66 2796
+-73.19 47.66 2774
+-73.064 47.66 2839
+-72.938 47.66 2840
+-72.812 47.66 2831
+-72.686 47.66 2839
+-72.56 47.66 2840
+-72.434 47.66 2841
+-72.308 47.66 2829
+-72.182 47.66 2945
+-72.056 47.66 2946
+-71.93 47.66 2947
+-71.804 47.66 2948
+-71.678 47.66 3047
+-71.552 47.66 3001
+-71.426 47.66 3150
+-71.3 47.66 3151
+-71.174 47.66 3113
+-71.048 47.66 3114
+-70.922 47.66 3114
+-70.796 47.66 3115
+-70.67 47.66 3115
+-70.544 47.66 3116
+-70.418 47.66 3214
+-70.292 47.66 3209
+-70.166 47.66 3210
+-70.04 47.66 3211
+-69.914 47.66 3211
+-69.788 47.66 3153
+-69.662 47.66 3190
+-69.536 47.66 3191
+-69.41 47.66 3270
+-69.284 47.66 3177
+-69.158 47.66 3177
+-69.032 47.66 3178
+-68.906 47.66 3228
+-68.78 47.66 3180
+-68.654 47.66 3181
+-68.528 47.66 3182
+-68.402 47.66 3409
+-68.276 47.66 3354
+-68.15 47.66 3354
+-68.024 47.66 3487
+-67.898 47.66 3459
+-67.772 47.66 3460
+-67.646 47.66 3404
+-67.52 47.66 3477
+-67.394 47.66 3478
+-67.268 47.66 3479
+-67.142 47.66 3479
+-67.016 47.66 3479
+-66.89 47.66 3479
+-66.764 47.66 3479
+-66.638 47.66 3480
+-66.512 47.66 3469
+-66.386 47.66 3415
+-66.26 47.66 3409
+-66.134 47.66 3409
+-66.008 47.66 3410
+-65.882 47.66 3410
+-65.756 47.66 3411
+-65.63 47.66 3411
+-65.504 47.66 3411
+-65.378 47.66 3412
+-65.252 47.66 3412
+-65.126 47.66 3412
+-128 47.608 4506
+-127.874 47.608 4383
+-127.748 47.608 4240
+-127.622 47.608 4484
+-127.496 47.608 4805
+-127.37 47.608 4953
+-127.244 47.608 5032
+-127.118 47.608 4975
+-126.992 47.608 5194
+-126.866 47.608 5396
+-126.74 47.608 5462
+-126.614 47.608 5516
+-126.488 47.608 5660
+-126.362 47.608 5809
+-126.236 47.608 5890
+-126.11 47.608 6136
+-125.984 47.608 6259
+-125.858 47.608 6368
+-125.732 47.608 6511
+-125.606 47.608 6565
+-125.48 47.608 6745
+-125.354 47.608 6855
+-125.228 47.608 7043
+-125.102 47.608 7115
+-124.976 47.608 7240
+-124.85 47.608 7382
+-124.724 47.608 7512
+-124.598 47.608 7656
+-124.472 47.608 7810
+-124.346 47.608 7939
+-124.22 47.608 8059
+-124.094 47.608 8178
+-123.968 47.608 8307
+-123.842 47.608 8438
+-123.716 47.608 8550
+-123.59 47.608 8606
+-123.464 47.608 8716
+-123.338 47.608 8835
+-123.212 47.608 8872
+-123.086 47.608 8891
+-122.96 47.608 8904
+-122.834 47.608 8917
+-122.708 47.608 8874
+-122.582 47.608 8820
+-122.456 47.608 8722
+-122.33 47.608 8620
+-122.204 47.608 8528
+-122.078 47.608 8410
+-121.952 47.608 8301
+-121.826 47.608 8150
+-121.7 47.608 8060
+-121.574 47.608 7960
+-121.448 47.608 7794
+-121.322 47.608 7704
+-121.196 47.608 7527
+-121.07 47.608 7390
+-120.944 47.608 7282
+-120.818 47.608 7152
+-120.692 47.608 6970
+-120.566 47.608 6869
+-120.44 47.608 6686
+-120.314 47.608 6611
+-120.188 47.608 6759
+-120.062 47.608 6855
+-119.936 47.608 6952
+-119.81 47.608 7038
+-119.684 47.608 7104
+-119.558 47.608 7198
+-119.432 47.608 7291
+-119.306 47.608 7351
+-119.18 47.608 7450
+-119.054 47.608 7516
+-118.928 47.608 7580
+-118.802 47.608 7620
+-118.676 47.608 7663
+-118.55 47.608 7674
+-118.424 47.608 7681
+-118.298 47.608 7682
+-118.172 47.608 7695
+-118.046 47.608 7679
+-117.92 47.608 7632
+-117.794 47.608 7574
+-117.668 47.608 7518
+-117.542 47.608 7494
+-117.416 47.608 7408
+-117.29 47.608 7328
+-117.164 47.608 7231
+-117.038 47.608 7133
+-116.912 47.608 7055
+-116.786 47.608 6989
+-116.66 47.608 6846
+-116.534 47.608 6880
+-116.408 47.608 6740
+-116.282 47.608 6521
+-116.156 47.608 6385
+-116.03 47.608 6302
+-115.904 47.608 6222
+-115.778 47.608 6141
+-115.652 47.608 6064
+-115.526 47.608 5930
+-115.4 47.608 5763
+-115.274 47.608 5648
+-115.148 47.608 5529
+-115.022 47.608 5372
+-114.896 47.608 5336
+-114.77 47.608 5204
+-114.644 47.608 5047
+-114.518 47.608 4945
+-114.392 47.608 4841
+-114.266 47.608 4767
+-114.14 47.608 4679
+-114.014 47.608 4571
+-113.888 47.608 4428
+-113.762 47.608 4302
+-113.636 47.608 4303
+-113.51 47.608 4270
+-113.384 47.608 4232
+-113.258 47.608 4203
+-113.132 47.608 4146
+-113.006 47.608 4103
+-112.88 47.608 4035
+-112.754 47.608 3956
+-112.628 47.608 3806
+-112.502 47.608 3689
+-112.376 47.608 3620
+-112.25 47.608 3536
+-112.124 47.608 3478
+-111.998 47.608 3498
+-111.872 47.608 3523
+-111.746 47.608 3547
+-111.62 47.608 3506
+-111.494 47.608 3504
+-111.368 47.608 3518
+-111.242 47.608 3534
+-111.116 47.608 3503
+-110.99 47.608 3512
+-110.864 47.608 3486
+-110.738 47.608 3497
+-110.612 47.608 3489
+-110.486 47.608 3495
+-110.36 47.608 3500
+-110.234 47.608 3506
+-110.108 47.608 3511
+-109.982 47.608 3336
+-109.856 47.608 3342
+-109.73 47.608 3347
+-109.604 47.608 3351
+-109.478 47.608 3351
+-109.352 47.608 3356
+-109.226 47.608 3360
+-109.1 47.608 3364
+-108.974 47.608 3368
+-108.848 47.608 3372
+-108.722 47.608 3375
+-108.596 47.608 3290
+-108.47 47.608 3294
+-108.344 47.608 3297
+-108.218 47.608 3308
+-108.092 47.608 3311
+-107.966 47.608 3314
+-107.84 47.608 3317
+-107.714 47.608 3320
+-107.588 47.608 3322
+-107.462 47.608 3189
+-107.336 47.608 3143
+-107.21 47.608 3144
+-107.084 47.608 3145
+-106.958 47.608 3146
+-106.832 47.608 3148
+-106.706 47.608 3149
+-106.58 47.608 3149
+-106.454 47.608 3150
+-106.328 47.608 3151
+-106.202 47.608 3152
+-106.076 47.608 3153
+-105.95 47.608 3154
+-105.824 47.608 3154
+-105.698 47.608 3155
+-105.572 47.608 3156
+-105.446 47.608 3156
+-105.32 47.608 3157
+-105.194 47.608 3157
+-105.068 47.608 3158
+-104.942 47.608 3158
+-104.816 47.608 3159
+-104.69 47.608 3159
+-104.564 47.608 3160
+-104.438 47.608 3160
+-104.312 47.608 3161
+-104.186 47.608 3161
+-104.06 47.608 3162
+-103.934 47.608 3162
+-103.808 47.608 3162
+-103.682 47.608 3192
+-103.556 47.608 3125
+-103.43 47.608 3126
+-103.304 47.608 3126
+-103.178 47.608 3122
+-103.052 47.608 3058
+-102.926 47.608 3047
+-102.8 47.608 2973
+-102.674 47.608 2967
+-102.548 47.608 3003
+-102.422 47.608 2991
+-102.296 47.608 3017
+-102.17 47.608 3045
+-102.044 47.608 3009
+-101.918 47.608 3056
+-101.792 47.608 3223
+-101.666 47.608 3229
+-101.54 47.608 3234
+-101.414 47.608 3370
+-101.288 47.608 3424
+-101.162 47.608 3418
+-101.036 47.608 3418
+-100.91 47.608 3418
+-100.784 47.608 3418
+-100.658 47.608 3417
+-100.532 47.608 3211
+-100.406 47.608 3244
+-100.28 47.608 3242
+-100.154 47.608 3241
+-100.028 47.608 3222
+-99.902 47.608 3275
+-99.776 47.608 3245
+-99.65 47.608 3243
+-99.524 47.608 3222
+-99.398 47.608 3220
+-99.272 47.608 3140
+-99.146 47.608 3181
+-99.02 47.608 3179
+-98.894 47.608 3177
+-98.768 47.608 3174
+-98.642 47.608 3161
+-98.516 47.608 3158
+-98.39 47.608 3156
+-98.264 47.608 3153
+-98.138 47.608 3151
+-98.012 47.608 3071
+-97.886 47.608 3056
+-97.76 47.608 3034
+-97.634 47.608 2981
+-97.508 47.608 2970
+-97.382 47.608 2955
+-97.256 47.608 2951
+-97.13 47.608 2946
+-97.004 47.608 2928
+-96.878 47.608 2910
+-96.752 47.608 2907
+-96.626 47.608 2903
+-96.5 47.608 2899
+-96.374 47.608 2895
+-96.248 47.608 2890
+-96.122 47.608 2886
+-95.996 47.608 2881
+-95.87 47.608 2877
+-95.744 47.608 2872
+-95.618 47.608 2866
+-95.492 47.608 2861
+-95.366 47.608 2856
+-95.24 47.608 2850
+-95.114 47.608 2844
+-94.988 47.608 2838
+-94.862 47.608 2831
+-94.736 47.608 2825
+-94.61 47.608 2716
+-94.484 47.608 2709
+-94.358 47.608 2692
+-94.232 47.608 2684
+-94.106 47.608 2677
+-93.98 47.608 2669
+-93.854 47.608 2661
+-93.728 47.608 2653
+-93.602 47.608 2645
+-93.476 47.608 2637
+-93.35 47.608 2628
+-93.224 47.608 2620
+-93.098 47.608 2611
+-92.972 47.608 2602
+-92.846 47.608 2594
+-92.72 47.608 2585
+-92.594 47.608 2576
+-92.468 47.608 2568
+-92.342 47.608 2560
+-92.216 47.608 2552
+-92.09 47.608 2544
+-91.964 47.608 2537
+-91.838 47.608 2530
+-91.712 47.608 2523
+-91.586 47.608 2517
+-91.46 47.608 2512
+-91.334 47.608 2508
+-91.208 47.608 2504
+-91.082 47.608 2501
+-90.956 47.608 2498
+-90.83 47.608 2497
+-90.704 47.608 2496
+-90.578 47.608 2495
+-90.452 47.608 2496
+-90.326 47.608 2497
+-90.2 47.608 2499
+-90.074 47.608 2466
+-89.948 47.608 2469
+-89.822 47.608 2472
+-89.696 47.608 2476
+-89.57 47.608 2480
+-89.444 47.608 2484
+-89.318 47.608 2489
+-89.192 47.608 2493
+-89.066 47.608 2498
+-88.94 47.608 2503
+-88.814 47.608 2508
+-88.688 47.608 2512
+-88.562 47.608 2517
+-88.436 47.608 2522
+-88.31 47.608 2526
+-88.184 47.608 2531
+-88.058 47.608 2535
+-87.932 47.608 2539
+-87.806 47.608 2543
+-87.68 47.608 2547
+-87.554 47.608 2550
+-87.428 47.608 2554
+-87.302 47.608 2557
+-87.176 47.608 2561
+-87.05 47.608 2564
+-86.924 47.608 2567
+-86.798 47.608 2570
+-86.672 47.608 2572
+-86.546 47.608 2575
+-86.42 47.608 2577
+-86.294 47.608 2580
+-86.168 47.608 2582
+-86.042 47.608 2584
+-85.916 47.608 2586
+-85.79 47.608 2588
+-85.664 47.608 2590
+-85.538 47.608 2592
+-85.412 47.608 2594
+-85.286 47.608 2595
+-85.16 47.608 2597
+-85.034 47.608 2598
+-84.908 47.608 2600
+-84.782 47.608 2610
+-84.656 47.608 2612
+-84.53 47.608 2613
+-84.404 47.608 2614
+-84.278 47.608 2519
+-84.152 47.608 2520
+-84.026 47.608 2520
+-83.9 47.608 2521
+-83.774 47.608 2521
+-83.648 47.608 2521
+-83.522 47.608 2522
+-83.396 47.608 2522
+-83.27 47.608 2523
+-83.144 47.608 2523
+-83.018 47.608 2529
+-82.892 47.608 2539
+-82.766 47.608 2540
+-82.64 47.608 2540
+-82.514 47.608 2541
+-82.388 47.608 2560
+-82.262 47.608 2561
+-82.136 47.608 2561
+-82.01 47.608 2562
+-81.884 47.608 2566
+-81.758 47.608 2690
+-81.632 47.608 2690
+-81.506 47.608 2691
+-81.38 47.608 2697
+-81.254 47.608 2697
+-81.128 47.608 2699
+-81.002 47.608 2715
+-80.876 47.608 2698
+-80.75 47.608 2711
+-80.624 47.608 2712
+-80.498 47.608 2710
+-80.372 47.608 2710
+-80.246 47.608 2711
+-80.12 47.608 2712
+-79.994 47.608 2714
+-79.868 47.608 2797
+-79.742 47.608 2798
+-79.616 47.608 2799
+-79.49 47.608 2800
+-79.364 47.608 2816
+-79.238 47.608 2818
+-79.112 47.608 2801
+-78.986 47.608 2802
+-78.86 47.608 2803
+-78.734 47.608 2804
+-78.608 47.608 2777
+-78.482 47.608 2787
+-78.356 47.608 2788
+-78.23 47.608 2912
+-78.104 47.608 2874
+-77.978 47.608 2875
+-77.852 47.608 3007
+-77.726 47.608 3004
+-77.6 47.608 2968
+-77.474 47.608 3029
+-77.348 47.608 2922
+-77.222 47.608 2952
+-77.096 47.608 3006
+-76.97 47.608 2906
+-76.844 47.608 2914
+-76.718 47.608 2821
+-76.592 47.608 2818
+-76.466 47.608 2834
+-76.34 47.608 2806
+-76.214 47.608 2808
+-76.088 47.608 2809
+-75.962 47.608 2749
+-75.836 47.608 2791
+-75.71 47.608 2784
+-75.584 47.608 2774
+-75.458 47.608 2775
+-75.332 47.608 2776
+-75.206 47.608 2778
+-75.08 47.608 2720
+-74.954 47.608 2715
+-74.828 47.608 2716
+-74.702 47.608 2717
+-74.576 47.608 2718
+-74.45 47.608 2715
+-74.324 47.608 2660
+-74.198 47.608 2765
+-74.072 47.608 2761
+-73.946 47.608 2767
+-73.82 47.608 2768
+-73.694 47.608 2769
+-73.568 47.608 2770
+-73.442 47.608 2795
+-73.316 47.608 2773
+-73.19 47.608 2838
+-73.064 47.608 2840
+-72.938 47.608 2830
+-72.812 47.608 2838
+-72.686 47.608 2839
+-72.56 47.608 2840
+-72.434 47.608 2828
+-72.308 47.608 2944
+-72.182 47.608 2945
+-72.056 47.608 2946
+-71.93 47.608 2947
+-71.804 47.608 3047
+-71.678 47.608 3000
+-71.552 47.608 3150
+-71.426 47.608 3150
+-71.3 47.608 3113
+-71.174 47.608 3113
+-71.048 47.608 3114
+-70.922 47.608 3114
+-70.796 47.608 3115
+-70.67 47.608 3115
+-70.544 47.608 3214
+-70.418 47.608 3209
+-70.292 47.608 3209
+-70.166 47.608 3210
+-70.04 47.608 3211
+-69.914 47.608 3153
+-69.788 47.608 3190
+-69.662 47.608 3190
+-69.536 47.608 3269
+-69.41 47.608 3176
+-69.284 47.608 3177
+-69.158 47.608 3178
+-69.032 47.608 3227
+-68.906 47.608 3180
+-68.78 47.608 3180
+-68.654 47.608 3181
+-68.528 47.608 3409
+-68.402 47.608 3353
+-68.276 47.608 3354
+-68.15 47.608 3487
+-68.024 47.608 3459
+-67.898 47.608 3459
+-67.772 47.608 3404
+-67.646 47.608 3477
+-67.52 47.608 3478
+-67.394 47.608 3478
+-67.268 47.608 3479
+-67.142 47.608 3479
+-67.016 47.608 3479
+-66.89 47.608 3479
+-66.764 47.608 3479
+-66.638 47.608 3469
+-66.512 47.608 3415
+-66.386 47.608 3409
+-66.26 47.608 3409
+-66.134 47.608 3410
+-66.008 47.608 3410
+-65.882 47.608 3410
+-65.756 47.608 3411
+-65.63 47.608 3411
+-65.504 47.608 3411
+-65.378 47.608 3412
+-65.252 47.608 3412
+-65.126 47.608 3412
+-128 47.556 4548
+-127.874 47.556 4476
+-127.748 47.556 4439
+-127.622 47.556 4611
+-127.496 47.556 4864
+-127.37 47.556 4959
+-127.244 47.556 4973
+-127.118 47.556 5069
+-126.992 47.556 5240
+-126.866 47.556 5366
+-126.74 47.556 5355
+-126.614 47.556 5531
+-126.488 47.556 5701
+-126.362 47.556 5812
+-126.236 47.556 5929
+-126.11 47.556 6096
+-125.984 47.556 6258
+-125.858 47.556 6397
+-125.732 47.556 6526
+-125.606 47.556 6646
+-125.48 47.556 6726
+-125.354 47.556 6914
+-125.228 47.556 7028
+-125.102 47.556 7197
+-124.976 47.556 7311
+-124.85 47.556 7450
+-124.724 47.556 7531
+-124.598 47.556 7662
+-124.472 47.556 7801
+-124.346 47.556 7977
+-124.22 47.556 8048
+-124.094 47.556 8216
+-123.968 47.556 8352
+-123.842 47.556 8512
+-123.716 47.556 8573
+-123.59 47.556 8658
+-123.464 47.556 8793
+-123.338 47.556 8861
+-123.212 47.556 8930
+-123.086 47.556 8958
+-122.96 47.556 8963
+-122.834 47.556 8970
+-122.708 47.556 8930
+-122.582 47.556 8848
+-122.456 47.556 8777
+-122.33 47.556 8694
+-122.204 47.556 8565
+-122.078 47.556 8450
+-121.952 47.556 8360
+-121.826 47.556 8167
+-121.7 47.556 8075
+-121.574 47.556 7910
+-121.448 47.556 7886
+-121.322 47.556 7692
+-121.196 47.556 7562
+-121.07 47.556 7441
+-120.944 47.556 7316
+-120.818 47.556 7165
+-120.692 47.556 7081
+-120.566 47.556 6952
+-120.44 47.556 6807
+-120.314 47.556 6768
+-120.188 47.556 6772
+-120.062 47.556 6925
+-119.936 47.556 6992
+-119.81 47.556 7129
+-119.684 47.556 7214
+-119.558 47.556 7245
+-119.432 47.556 7344
+-119.306 47.556 7431
+-119.18 47.556 7527
+-119.054 47.556 7573
+-118.928 47.556 7617
+-118.802 47.556 7662
+-118.676 47.556 7740
+-118.55 47.556 7745
+-118.424 47.556 7750
+-118.298 47.556 7745
+-118.172 47.556 7733
+-118.046 47.556 7729
+-117.92 47.556 7699
+-117.794 47.556 7650
+-117.668 47.556 7592
+-117.542 47.556 7541
+-117.416 47.556 7448
+-117.29 47.556 7397
+-117.164 47.556 7288
+-117.038 47.556 7251
+-116.912 47.556 7170
+-116.786 47.556 7046
+-116.66 47.556 6956
+-116.534 47.556 6901
+-116.408 47.556 6796
+-116.282 47.556 6572
+-116.156 47.556 6446
+-116.03 47.556 6334
+-115.904 47.556 6280
+-115.778 47.556 6109
+-115.652 47.556 6095
+-115.526 47.556 5940
+-115.4 47.556 5776
+-115.274 47.556 5660
+-115.148 47.556 5530
+-115.022 47.556 5414
+-114.896 47.556 5313
+-114.77 47.556 5194
+-114.644 47.556 5045
+-114.518 47.556 4871
+-114.392 47.556 4846
+-114.266 47.556 4735
+-114.14 47.556 4708
+-114.014 47.556 4574
+-113.888 47.556 4356
+-113.762 47.556 4201
+-113.636 47.556 4267
+-113.51 47.556 4275
+-113.384 47.556 4218
+-113.258 47.556 4181
+-113.132 47.556 4145
+-113.006 47.556 4123
+-112.88 47.556 4076
+-112.754 47.556 4027
+-112.628 47.556 3953
+-112.502 47.556 3837
+-112.376 47.556 3783
+-112.25 47.556 3751
+-112.124 47.556 3673
+-111.998 47.556 3612
+-111.872 47.556 3620
+-111.746 47.556 3555
+-111.62 47.556 3566
+-111.494 47.556 3577
+-111.368 47.556 3568
+-111.242 47.556 3535
+-111.116 47.556 3542
+-110.99 47.556 3539
+-110.864 47.556 3523
+-110.738 47.556 3513
+-110.612 47.556 3517
+-110.486 47.556 3524
+-110.36 47.556 3528
+-110.234 47.556 3532
+-110.108 47.556 3377
+-109.982 47.556 3374
+-109.856 47.556 3379
+-109.73 47.556 3383
+-109.604 47.556 3365
+-109.478 47.556 3367
+-109.352 47.556 3370
+-109.226 47.556 3373
+-109.1 47.556 3377
+-108.974 47.556 3380
+-108.848 47.556 3383
+-108.722 47.556 3386
+-108.596 47.556 3389
+-108.47 47.556 3305
+-108.344 47.556 3315
+-108.218 47.556 3318
+-108.092 47.556 3320
+-107.966 47.556 3323
+-107.84 47.556 3325
+-107.714 47.556 3327
+-107.588 47.556 3195
+-107.462 47.556 3172
+-107.336 47.556 3173
+-107.21 47.556 3174
+-107.084 47.556 3175
+-106.958 47.556 3177
+-106.832 47.556 3178
+-106.706 47.556 3179
+-106.58 47.556 3180
+-106.454 47.556 3181
+-106.328 47.556 3182
+-106.202 47.556 3182
+-106.076 47.556 3183
+-105.95 47.556 3184
+-105.824 47.556 3185
+-105.698 47.556 3186
+-105.572 47.556 3186
+-105.446 47.556 3187
+-105.32 47.556 3188
+-105.194 47.556 3188
+-105.068 47.556 3189
+-104.942 47.556 3189
+-104.816 47.556 3190
+-104.69 47.556 3191
+-104.564 47.556 3191
+-104.438 47.556 3192
+-104.312 47.556 3192
+-104.186 47.556 3193
+-104.06 47.556 3193
+-103.934 47.556 3194
+-103.808 47.556 3194
+-103.682 47.556 3126
+-103.556 47.556 3127
+-103.43 47.556 3128
+-103.304 47.556 3128
+-103.178 47.556 3124
+-103.052 47.556 3059
+-102.926 47.556 3049
+-102.8 47.556 2975
+-102.674 47.556 2969
+-102.548 47.556 3001
+-102.422 47.556 3028
+-102.296 47.556 3058
+-102.17 47.556 3047
+-102.044 47.556 3133
+-101.918 47.556 3141
+-101.792 47.556 3211
+-101.666 47.556 3231
+-101.54 47.556 3360
+-101.414 47.556 3363
+-101.288 47.556 3413
+-101.162 47.556 3423
+-101.036 47.556 3423
+-100.91 47.556 3417
+-100.784 47.556 3417
+-100.658 47.556 3417
+-100.532 47.556 3417
+-100.406 47.556 3211
+-100.28 47.556 3243
+-100.154 47.556 3241
+-100.028 47.556 3240
+-99.902 47.556 3221
+-99.776 47.556 3274
+-99.65 47.556 3244
+-99.524 47.556 3242
+-99.398 47.556 3221
+-99.272 47.556 3219
+-99.146 47.556 3139
+-99.02 47.556 3179
+-98.894 47.556 3177
+-98.768 47.556 3175
+-98.642 47.556 3173
+-98.516 47.556 3159
+-98.39 47.556 3157
+-98.264 47.556 3154
+-98.138 47.556 3152
+-98.012 47.556 3149
+-97.886 47.556 3069
+-97.76 47.556 3054
+-97.634 47.556 3032
+-97.508 47.556 2979
+-97.382 47.556 2968
+-97.256 47.556 2952
+-97.13 47.556 2949
+-97.004 47.556 2943
+-96.878 47.556 2925
+-96.752 47.556 2907
+-96.626 47.556 2903
+-96.5 47.556 2899
+-96.374 47.556 2895
+-96.248 47.556 2891
+-96.122 47.556 2886
+-95.996 47.556 2882
+-95.87 47.556 2877
+-95.744 47.556 2872
+-95.618 47.556 2867
+-95.492 47.556 2861
+-95.366 47.556 2855
+-95.24 47.556 2849
+-95.114 47.556 2843
+-94.988 47.556 2837
+-94.862 47.556 2830
+-94.736 47.556 2824
+-94.61 47.556 2817
+-94.484 47.556 2708
+-94.358 47.556 2701
+-94.232 47.556 2683
+-94.106 47.556 2675
+-93.98 47.556 2667
+-93.854 47.556 2659
+-93.728 47.556 2650
+-93.602 47.556 2642
+-93.476 47.556 2633
+-93.35 47.556 2624
+-93.224 47.556 2615
+-93.098 47.556 2605
+-92.972 47.556 2596
+-92.846 47.556 2587
+-92.72 47.556 2578
+-92.594 47.556 2568
+-92.468 47.556 2559
+-92.342 47.556 2550
+-92.216 47.556 2542
+-92.09 47.556 2533
+-91.964 47.556 2525
+-91.838 47.556 2518
+-91.712 47.556 2511
+-91.586 47.556 2505
+-91.46 47.556 2499
+-91.334 47.556 2494
+-91.208 47.556 2490
+-91.082 47.556 2486
+-90.956 47.556 2484
+-90.83 47.556 2482
+-90.704 47.556 2481
+-90.578 47.556 2481
+-90.452 47.556 2482
+-90.326 47.556 2484
+-90.2 47.556 2486
+-90.074 47.556 2454
+-89.948 47.556 2457
+-89.822 47.556 2461
+-89.696 47.556 2465
+-89.57 47.556 2470
+-89.444 47.556 2475
+-89.318 47.556 2480
+-89.192 47.556 2485
+-89.066 47.556 2490
+-88.94 47.556 2495
+-88.814 47.556 2501
+-88.688 47.556 2506
+-88.562 47.556 2511
+-88.436 47.556 2516
+-88.31 47.556 2521
+-88.184 47.556 2526
+-88.058 47.556 2530
+-87.932 47.556 2535
+-87.806 47.556 2539
+-87.68 47.556 2543
+-87.554 47.556 2547
+-87.428 47.556 2551
+-87.302 47.556 2554
+-87.176 47.556 2558
+-87.05 47.556 2561
+-86.924 47.556 2564
+-86.798 47.556 2567
+-86.672 47.556 2570
+-86.546 47.556 2572
+-86.42 47.556 2575
+-86.294 47.556 2577
+-86.168 47.556 2580
+-86.042 47.556 2582
+-85.916 47.556 2584
+-85.79 47.556 2586
+-85.664 47.556 2588
+-85.538 47.556 2590
+-85.412 47.556 2592
+-85.286 47.556 2593
+-85.16 47.556 2595
+-85.034 47.556 2596
+-84.908 47.556 2607
+-84.782 47.556 2608
+-84.656 47.556 2610
+-84.53 47.556 2611
+-84.404 47.556 2517
+-84.278 47.556 2517
+-84.152 47.556 2518
+-84.026 47.556 2518
+-83.9 47.556 2519
+-83.774 47.556 2519
+-83.648 47.556 2520
+-83.522 47.556 2520
+-83.396 47.556 2521
+-83.27 47.556 2521
+-83.144 47.556 2527
+-83.018 47.556 2537
+-82.892 47.556 2538
+-82.766 47.556 2538
+-82.64 47.556 2539
+-82.514 47.556 2558
+-82.388 47.556 2559
+-82.262 47.556 2559
+-82.136 47.556 2560
+-82.01 47.556 2564
+-81.884 47.556 2688
+-81.758 47.556 2688
+-81.632 47.556 2688
+-81.506 47.556 2694
+-81.38 47.556 2695
+-81.254 47.556 2696
+-81.128 47.556 2712
+-81.002 47.556 2696
+-80.876 47.556 2709
+-80.75 47.556 2710
+-80.624 47.556 2707
+-80.498 47.556 2708
+-80.372 47.556 2709
+-80.246 47.556 2710
+-80.12 47.556 2712
+-79.994 47.556 2794
+-79.868 47.556 2795
+-79.742 47.556 2796
+-79.616 47.556 2797
+-79.49 47.556 2814
+-79.364 47.556 2815
+-79.238 47.556 2798
+-79.112 47.556 2799
+-78.986 47.556 2800
+-78.86 47.556 2802
+-78.734 47.556 2775
+-78.608 47.556 2785
+-78.482 47.556 2786
+-78.356 47.556 2909
+-78.23 47.556 2872
+-78.104 47.556 2873
+-77.978 47.556 3004
+-77.852 47.556 3001
+-77.726 47.556 2965
+-77.6 47.556 3026
+-77.474 47.556 2920
+-77.348 47.556 2950
+-77.222 47.556 3003
+-77.096 47.556 2904
+-76.97 47.556 2911
+-76.844 47.556 2819
+-76.718 47.556 2816
+-76.592 47.556 2832
+-76.466 47.556 2805
+-76.34 47.556 2806
+-76.214 47.556 2807
+-76.088 47.556 2748
+-75.962 47.556 2790
+-75.836 47.556 2782
+-75.71 47.556 2772
+-75.584 47.556 2774
+-75.458 47.556 2775
+-75.332 47.556 2776
+-75.206 47.556 2718
+-75.08 47.556 2714
+-74.954 47.556 2715
+-74.828 47.556 2716
+-74.702 47.556 2717
+-74.576 47.556 2714
+-74.45 47.556 2659
+-74.324 47.556 2764
+-74.198 47.556 2760
+-74.072 47.556 2766
+-73.946 47.556 2767
+-73.82 47.556 2768
+-73.694 47.556 2769
+-73.568 47.556 2794
+-73.442 47.556 2772
+-73.316 47.556 2837
+-73.19 47.556 2839
+-73.064 47.556 2829
+-72.938 47.556 2837
+-72.812 47.556 2838
+-72.686 47.556 2840
+-72.56 47.556 2827
+-72.434 47.556 2943
+-72.308 47.556 2944
+-72.182 47.556 2945
+-72.056 47.556 2946
+-71.93 47.556 3046
+-71.804 47.556 2999
+-71.678 47.556 3149
+-71.552 47.556 3150
+-71.426 47.556 3112
+-71.3 47.556 3113
+-71.174 47.556 3113
+-71.048 47.556 3114
+-70.922 47.556 3114
+-70.796 47.556 3115
+-70.67 47.556 3213
+-70.544 47.556 3208
+-70.418 47.556 3209
+-70.292 47.556 3209
+-70.166 47.556 3210
+-70.04 47.556 3152
+-69.914 47.556 3189
+-69.788 47.556 3190
+-69.662 47.556 3268
+-69.536 47.556 3176
+-69.41 47.556 3176
+-69.284 47.556 3177
+-69.158 47.556 3226
+-69.032 47.556 3179
+-68.906 47.556 3180
+-68.78 47.556 3181
+-68.654 47.556 3408
+-68.528 47.556 3353
+-68.402 47.556 3353
+-68.276 47.556 3487
+-68.15 47.556 3458
+-68.024 47.556 3459
+-67.898 47.556 3404
+-67.772 47.556 3476
+-67.646 47.556 3477
+-67.52 47.556 3478
+-67.394 47.556 3478
+-67.268 47.556 3479
+-67.142 47.556 3478
+-67.016 47.556 3479
+-66.89 47.556 3479
+-66.764 47.556 3468
+-66.638 47.556 3415
+-66.512 47.556 3408
+-66.386 47.556 3409
+-66.26 47.556 3409
+-66.134 47.556 3410
+-66.008 47.556 3410
+-65.882 47.556 3410
+-65.756 47.556 3411
+-65.63 47.556 3411
+-65.504 47.556 3411
+-65.378 47.556 3412
+-65.252 47.556 3412
+-65.126 47.556 3412
+-128 47.504 4632
+-127.874 47.504 4633
+-127.748 47.504 4667
+-127.622 47.504 4777
+-127.496 47.504 4885
+-127.37 47.504 4939
+-127.244 47.504 4845
+-127.118 47.504 5032
+-126.992 47.504 5250
+-126.866 47.504 5368
+-126.74 47.504 5446
+-126.614 47.504 5593
+-126.488 47.504 5734
+-126.362 47.504 5801
+-126.236 47.504 6002
+-126.11 47.504 6103
+-125.984 47.504 6277
+-125.858 47.504 6382
+-125.732 47.504 6495
+-125.606 47.504 6659
+-125.48 47.504 6846
+-125.354 47.504 6952
+-125.228 47.504 7082
+-125.102 47.504 7200
+-124.976 47.504 7281
+-124.85 47.504 7457
+-124.724 47.504 7542
+-124.598 47.504 7739
+-124.472 47.504 7865
+-124.346 47.504 8013
+-124.22 47.504 8158
+-124.094 47.504 8242
+-123.968 47.504 8372
+-123.842 47.504 8489
+-123.716 47.504 8601
+-123.59 47.504 8742
+-123.464 47.504 8803
+-123.338 47.504 8885
+-123.212 47.504 8974
+-123.086 47.504 9057
+-122.96 47.504 9024
+-122.834 47.504 9045
+-122.708 47.504 8968
+-122.582 47.504 8918
+-122.456 47.504 8789
+-122.33 47.504 8766
+-122.204 47.504 8638
+-122.078 47.504 8490
+-121.952 47.504 8369
+-121.826 47.504 8196
+-121.7 47.504 8151
+-121.574 47.504 8008
+-121.448 47.504 7807
+-121.322 47.504 7721
+-121.196 47.504 7594
+-121.07 47.504 7471
+-120.944 47.504 7365
+-120.818 47.504 7222
+-120.692 47.504 7039
+-120.566 47.504 6898
+-120.44 47.504 6741
+-120.314 47.504 6712
+-120.188 47.504 6817
+-120.062 47.504 6956
+-119.936 47.504 6991
+-119.81 47.504 7111
+-119.684 47.504 7226
+-119.558 47.504 7307
+-119.432 47.504 7376
+-119.306 47.504 7482
+-119.18 47.504 7560
+-119.054 47.504 7587
+-118.928 47.504 7679
+-118.802 47.504 7679
+-118.676 47.504 7763
+-118.55 47.504 7807
+-118.424 47.504 7811
+-118.298 47.504 7781
+-118.172 47.504 7800
+-118.046 47.504 7784
+-117.92 47.504 7740
+-117.794 47.504 7685
+-117.668 47.504 7644
+-117.542 47.504 7602
+-117.416 47.504 7512
+-117.29 47.504 7381
+-117.164 47.504 7354
+-117.038 47.504 7246
+-116.912 47.504 7143
+-116.786 47.504 7064
+-116.66 47.504 6984
+-116.534 47.504 6834
+-116.408 47.504 6795
+-116.282 47.504 6643
+-116.156 47.504 6478
+-116.03 47.504 6426
+-115.904 47.504 6249
+-115.778 47.504 6144
+-115.652 47.504 6101
+-115.526 47.504 5953
+-115.4 47.504 5806
+-115.274 47.504 5661
+-115.148 47.504 5546
+-115.022 47.504 5429
+-114.896 47.504 5308
+-114.77 47.504 5156
+-114.644 47.504 5083
+-114.518 47.504 4921
+-114.392 47.504 4852
+-114.266 47.504 4709
+-114.14 47.504 4699
+-114.014 47.504 4572
+-113.888 47.504 4386
+-113.762 47.504 4275
+-113.636 47.504 4266
+-113.51 47.504 4234
+-113.384 47.504 4172
+-113.258 47.504 4121
+-113.132 47.504 4133
+-113.006 47.504 4139
+-112.88 47.504 4105
+-112.754 47.504 4062
+-112.628 47.504 4024
+-112.502 47.504 3983
+-112.376 47.504 3891
+-112.25 47.504 3861
+-112.124 47.504 3773
+-111.998 47.504 3769
+-111.872 47.504 3709
+-111.746 47.504 3620
+-111.62 47.504 3623
+-111.494 47.504 3624
+-111.368 47.504 3592
+-111.242 47.504 3596
+-111.116 47.504 3570
+-110.99 47.504 3574
+-110.864 47.504 3555
+-110.738 47.504 3544
+-110.612 47.504 3547
+-110.486 47.504 3549
+-110.36 47.504 3551
+-110.234 47.504 3395
+-110.108 47.504 3391
+-109.982 47.504 3394
+-109.856 47.504 3397
+-109.73 47.504 3376
+-109.604 47.504 3379
+-109.478 47.504 3381
+-109.352 47.504 3384
+-109.226 47.504 3386
+-109.1 47.504 3389
+-108.974 47.504 3391
+-108.848 47.504 3394
+-108.722 47.504 3396
+-108.596 47.504 3398
+-108.47 47.504 3322
+-108.344 47.504 3325
+-108.218 47.504 3327
+-108.092 47.504 3329
+-107.966 47.504 3331
+-107.84 47.504 3333
+-107.714 47.504 3202
+-107.588 47.504 3177
+-107.462 47.504 3178
+-107.336 47.504 3179
+-107.21 47.504 3180
+-107.084 47.504 3181
+-106.958 47.504 3182
+-106.832 47.504 3183
+-106.706 47.504 3184
+-106.58 47.504 3184
+-106.454 47.504 3185
+-106.328 47.504 3186
+-106.202 47.504 3187
+-106.076 47.504 3187
+-105.95 47.504 3188
+-105.824 47.504 3189
+-105.698 47.504 3189
+-105.572 47.504 3190
+-105.446 47.504 3190
+-105.32 47.504 3191
+-105.194 47.504 3191
+-105.068 47.504 3192
+-104.942 47.504 3192
+-104.816 47.504 3193
+-104.69 47.504 3193
+-104.564 47.504 3194
+-104.438 47.504 3194
+-104.312 47.504 3194
+-104.186 47.504 3195
+-104.06 47.504 3195
+-103.934 47.504 3196
+-103.808 47.504 3128
+-103.682 47.504 3129
+-103.556 47.504 3129
+-103.43 47.504 3130
+-103.304 47.504 3130
+-103.178 47.504 3126
+-103.052 47.504 3043
+-102.926 47.504 3050
+-102.8 47.504 2968
+-102.674 47.504 2999
+-102.548 47.504 3050
+-102.422 47.504 3024
+-102.296 47.504 3061
+-102.17 47.504 3043
+-102.044 47.504 3125
+-101.918 47.504 3136
+-101.792 47.504 3240
+-101.666 47.504 3218
+-101.54 47.504 3340
+-101.414 47.504 3343
+-101.288 47.504 3466
+-101.162 47.504 3412
+-101.036 47.504 3423
+-100.91 47.504 3417
+-100.784 47.504 3417
+-100.658 47.504 3417
+-100.532 47.504 3417
+-100.406 47.504 3416
+-100.28 47.504 3210
+-100.154 47.504 3242
+-100.028 47.504 3241
+-99.902 47.504 3239
+-99.776 47.504 3221
+-99.65 47.504 3273
+-99.524 47.504 3243
+-99.398 47.504 3241
+-99.272 47.504 3220
+-99.146 47.504 3218
+-99.02 47.504 3138
+-98.894 47.504 3178
+-98.768 47.504 3176
+-98.642 47.504 3174
+-98.516 47.504 3171
+-98.39 47.504 3158
+-98.264 47.504 3155
+-98.138 47.504 3152
+-98.012 47.504 3150
+-97.886 47.504 3147
+-97.76 47.504 3067
+-97.634 47.504 3052
+-97.508 47.504 3030
+-97.382 47.504 2977
+-97.256 47.504 2966
+-97.13 47.504 2950
+-97.004 47.504 2946
+-96.878 47.504 2940
+-96.752 47.504 2923
+-96.626 47.504 2904
+-96.5 47.504 2900
+-96.374 47.504 2896
+-96.248 47.504 2892
+-96.122 47.504 2887
+-95.996 47.504 2882
+-95.87 47.504 2877
+-95.744 47.504 2872
+-95.618 47.504 2867
+-95.492 47.504 2861
+-95.366 47.504 2855
+-95.24 47.504 2849
+-95.114 47.504 2843
+-94.988 47.504 2836
+-94.862 47.504 2830
+-94.736 47.504 2823
+-94.61 47.504 2815
+-94.484 47.504 2808
+-94.358 47.504 2700
+-94.232 47.504 2692
+-94.106 47.504 2673
+-93.98 47.504 2665
+-93.854 47.504 2656
+-93.728 47.504 2647
+-93.602 47.504 2638
+-93.476 47.504 2629
+-93.35 47.504 2619
+-93.224 47.504 2610
+-93.098 47.504 2600
+-92.972 47.504 2590
+-92.846 47.504 2580
+-92.72 47.504 2570
+-92.594 47.504 2560
+-92.468 47.504 2550
+-92.342 47.504 2540
+-92.216 47.504 2531
+-92.09 47.504 2522
+-91.964 47.504 2513
+-91.838 47.504 2505
+-91.712 47.504 2497
+-91.586 47.504 2491
+-91.46 47.504 2484
+-91.334 47.504 2479
+-91.208 47.504 2474
+-91.082 47.504 2471
+-90.956 47.504 2468
+-90.83 47.504 2466
+-90.704 47.504 2466
+-90.578 47.504 2466
+-90.452 47.504 2467
+-90.326 47.504 2469
+-90.2 47.504 2471
+-90.074 47.504 2441
+-89.948 47.504 2445
+-89.822 47.504 2449
+-89.696 47.504 2454
+-89.57 47.504 2459
+-89.444 47.504 2465
+-89.318 47.504 2470
+-89.192 47.504 2476
+-89.066 47.504 2482
+-88.94 47.504 2488
+-88.814 47.504 2493
+-88.688 47.504 2499
+-88.562 47.504 2505
+-88.436 47.504 2510
+-88.31 47.504 2515
+-88.184 47.504 2521
+-88.058 47.504 2525
+-87.932 47.504 2530
+-87.806 47.504 2535
+-87.68 47.504 2539
+-87.554 47.504 2543
+-87.428 47.504 2547
+-87.302 47.504 2551
+-87.176 47.504 2555
+-87.05 47.504 2558
+-86.924 47.504 2561
+-86.798 47.504 2564
+-86.672 47.504 2567
+-86.546 47.504 2570
+-86.42 47.504 2573
+-86.294 47.504 2575
+-86.168 47.504 2577
+-86.042 47.504 2580
+-85.916 47.504 2582
+-85.79 47.504 2584
+-85.664 47.504 2586
+-85.538 47.504 2588
+-85.412 47.504 2590
+-85.286 47.504 2591
+-85.16 47.504 2593
+-85.034 47.504 2603
+-84.908 47.504 2605
+-84.782 47.504 2606
+-84.656 47.504 2608
+-84.53 47.504 2515
+-84.404 47.504 2515
+-84.278 47.504 2516
+-84.152 47.504 2516
+-84.026 47.504 2517
+-83.9 47.504 2517
+-83.774 47.504 2518
+-83.648 47.504 2518
+-83.522 47.504 2519
+-83.396 47.504 2519
+-83.27 47.504 2525
+-83.144 47.504 2535
+-83.018 47.504 2535
+-82.892 47.504 2536
+-82.766 47.504 2537
+-82.64 47.504 2556
+-82.514 47.504 2556
+-82.388 47.504 2557
+-82.262 47.504 2558
+-82.136 47.504 2562
+-82.01 47.504 2685
+-81.884 47.504 2685
+-81.758 47.504 2686
+-81.632 47.504 2692
+-81.506 47.504 2692
+-81.38 47.504 2694
+-81.254 47.504 2710
+-81.128 47.504 2694
+-81.002 47.504 2706
+-80.876 47.504 2707
+-80.75 47.504 2705
+-80.624 47.504 2706
+-80.498 47.504 2706
+-80.372 47.504 2707
+-80.246 47.504 2709
+-80.12 47.504 2791
+-79.994 47.504 2792
+-79.868 47.504 2793
+-79.742 47.504 2794
+-79.616 47.504 2811
+-79.49 47.504 2812
+-79.364 47.504 2796
+-79.238 47.504 2797
+-79.112 47.504 2798
+-78.986 47.504 2799
+-78.86 47.504 2773
+-78.734 47.504 2783
+-78.608 47.504 2784
+-78.482 47.504 2906
+-78.356 47.504 2869
+-78.23 47.504 2870
+-78.104 47.504 3001
+-77.978 47.504 2999
+-77.852 47.504 2963
+-77.726 47.504 3023
+-77.6 47.504 2918
+-77.474 47.504 2947
+-77.348 47.504 3000
+-77.222 47.504 2902
+-77.096 47.504 2909
+-76.97 47.504 2817
+-76.844 47.504 2814
+-76.718 47.504 2830
+-76.592 47.504 2803
+-76.466 47.504 2804
+-76.34 47.504 2806
+-76.214 47.504 2746
+-76.088 47.504 2788
+-75.962 47.504 2781
+-75.836 47.504 2771
+-75.71 47.504 2772
+-75.584 47.504 2773
+-75.458 47.504 2775
+-75.332 47.504 2717
+-75.206 47.504 2713
+-75.08 47.504 2714
+-74.954 47.504 2715
+-74.828 47.504 2716
+-74.702 47.504 2713
+-74.576 47.504 2659
+-74.45 47.504 2763
+-74.324 47.504 2759
+-74.198 47.504 2765
+-74.072 47.504 2766
+-73.946 47.504 2767
+-73.82 47.504 2768
+-73.694 47.504 2793
+-73.568 47.504 2772
+-73.442 47.504 2836
+-73.316 47.504 2838
+-73.19 47.504 2828
+-73.064 47.504 2836
+-72.938 47.504 2838
+-72.812 47.504 2839
+-72.686 47.504 2826
+-72.56 47.504 2942
+-72.434 47.504 2943
+-72.308 47.504 2944
+-72.182 47.504 2945
+-72.056 47.504 3045
+-71.93 47.504 2998
+-71.804 47.504 3148
+-71.678 47.504 3149
+-71.552 47.504 3112
+-71.426 47.504 3112
+-71.3 47.504 3113
+-71.174 47.504 3113
+-71.048 47.504 3114
+-70.922 47.504 3114
+-70.796 47.504 3212
+-70.67 47.504 3207
+-70.544 47.504 3208
+-70.418 47.504 3209
+-70.292 47.504 3209
+-70.166 47.504 3152
+-70.04 47.504 3189
+-69.914 47.504 3189
+-69.788 47.504 3267
+-69.662 47.504 3175
+-69.536 47.504 3176
+-69.41 47.504 3177
+-69.284 47.504 3226
+-69.158 47.504 3179
+-69.032 47.504 3179
+-68.906 47.504 3180
+-68.78 47.504 3408
+-68.654 47.504 3352
+-68.528 47.504 3353
+-68.402 47.504 3486
+-68.276 47.504 3458
+-68.15 47.504 3458
+-68.024 47.504 3403
+-67.898 47.504 3476
+-67.772 47.504 3477
+-67.646 47.504 3477
+-67.52 47.504 3478
+-67.394 47.504 3478
+-67.268 47.504 3478
+-67.142 47.504 3478
+-67.016 47.504 3479
+-66.89 47.504 3468
+-66.764 47.504 3414
+-66.638 47.504 3408
+-66.512 47.504 3409
+-66.386 47.504 3409
+-66.26 47.504 3409
+-66.134 47.504 3410
+-66.008 47.504 3410
+-65.882 47.504 3410
+-65.756 47.504 3411
+-65.63 47.504 3411
+-65.504 47.504 3411
+-65.378 47.504 3412
+-65.252 47.504 3412
+-65.126 47.504 3412
+-128 47.452 4697
+-127.874 47.452 4727
+-127.748 47.452 4760
+-127.622 47.452 4834
+-127.496 47.452 4900
+-127.37 47.452 4956
+-127.244 47.452 4995
+-127.118 47.452 5096
+-126.992 47.452 5206
+-126.866 47.452 5325
+-126.74 47.452 5462
+-126.614 47.452 5632
+-126.488 47.452 5724
+-126.362 47.452 5832
+-126.236 47.452 5957
+-126.11 47.452 6140
+-125.984 47.452 6227
+-125.858 47.452 6381
+-125.732 47.452 6542
+-125.606 47.452 6610
+-125.48 47.452 6794
+-125.354 47.452 6961
+-125.228 47.452 7105
+-125.102 47.452 7213
+-124.976 47.452 7387
+-124.85 47.452 7494
+-124.724 47.452 7601
+-124.598 47.452 7659
+-124.472 47.452 7865
+-124.346 47.452 8003
+-124.22 47.452 8117
+-124.094 47.452 8282
+-123.968 47.452 8367
+-123.842 47.452 8475
+-123.716 47.452 8630
+-123.59 47.452 8693
+-123.464 47.452 8839
+-123.338 47.452 8935
+-123.212 47.452 9065
+-123.086 47.452 9078
+-122.96 47.452 9105
+-122.834 47.452 9074
+-122.708 47.452 9016
+-122.582 47.452 8940
+-122.456 47.452 8845
+-122.33 47.452 8744
+-122.204 47.452 8673
+-122.078 47.452 8543
+-121.952 47.452 8387
+-121.826 47.452 8240
+-121.7 47.452 8189
+-121.574 47.452 8017
+-121.448 47.452 7843
+-121.322 47.452 7782
+-121.196 47.452 7635
+-121.07 47.452 7473
+-120.944 47.452 7302
+-120.818 47.452 7188
+-120.692 47.452 7008
+-120.566 47.452 6934
+-120.44 47.452 6869
+-120.314 47.452 6829
+-120.188 47.452 6885
+-120.062 47.452 6943
+-119.936 47.452 7074
+-119.81 47.452 7206
+-119.684 47.452 7265
+-119.558 47.452 7343
+-119.432 47.452 7463
+-119.306 47.452 7480
+-119.18 47.452 7622
+-119.054 47.452 7660
+-118.928 47.452 7724
+-118.802 47.452 7759
+-118.676 47.452 7809
+-118.55 47.452 7850
+-118.424 47.452 7847
+-118.298 47.452 7873
+-118.172 47.452 7826
+-118.046 47.452 7815
+-117.92 47.452 7781
+-117.794 47.452 7736
+-117.668 47.452 7694
+-117.542 47.452 7642
+-117.416 47.452 7513
+-117.29 47.452 7463
+-117.164 47.452 7385
+-117.038 47.452 7288
+-116.912 47.452 7178
+-116.786 47.452 7093
+-116.66 47.452 6990
+-116.534 47.452 6895
+-116.408 47.452 6772
+-116.282 47.452 6683
+-116.156 47.452 6514
+-116.03 47.452 6374
+-115.904 47.452 6312
+-115.778 47.452 6186
+-115.652 47.452 6084
+-115.526 47.452 5966
+-115.4 47.452 5835
+-115.274 47.452 5712
+-115.148 47.452 5555
+-115.022 47.452 5532
+-114.896 47.452 5330
+-114.77 47.452 5187
+-114.644 47.452 5147
+-114.518 47.452 5010
+-114.392 47.452 4866
+-114.266 47.452 4754
+-114.14 47.452 4675
+-114.014 47.452 4552
+-113.888 47.452 4391
+-113.762 47.452 4195
+-113.636 47.452 4251
+-113.51 47.452 4131
+-113.384 47.452 3970
+-113.258 47.452 4017
+-113.132 47.452 4096
+-113.006 47.452 4115
+-112.88 47.452 4121
+-112.754 47.452 4093
+-112.628 47.452 4072
+-112.502 47.452 4046
+-112.376 47.452 4020
+-112.25 47.452 3940
+-112.124 47.452 3864
+-111.998 47.452 3854
+-111.872 47.452 3851
+-111.746 47.452 3771
+-111.62 47.452 3673
+-111.494 47.452 3651
+-111.368 47.452 3636
+-111.242 47.452 3618
+-111.116 47.452 3607
+-110.99 47.452 3585
+-110.864 47.452 3571
+-110.738 47.452 3572
+-110.612 47.452 3572
+-110.486 47.452 3559
+-110.36 47.452 3559
+-110.234 47.452 3443
+-110.108 47.452 3446
+-109.982 47.452 3449
+-109.856 47.452 3420
+-109.73 47.452 3422
+-109.604 47.452 3424
+-109.478 47.452 3426
+-109.352 47.452 3406
+-109.226 47.452 3408
+-109.1 47.452 3410
+-108.974 47.452 3412
+-108.848 47.452 3414
+-108.722 47.452 3415
+-108.596 47.452 3330
+-108.47 47.452 3332
+-108.344 47.452 3334
+-108.218 47.452 3336
+-108.092 47.452 3338
+-107.966 47.452 3339
+-107.84 47.452 3341
+-107.714 47.452 3183
+-107.588 47.452 3184
+-107.462 47.452 3184
+-107.336 47.452 3185
+-107.21 47.452 3186
+-107.084 47.452 3187
+-106.958 47.452 3187
+-106.832 47.452 3188
+-106.706 47.452 3188
+-106.58 47.452 3189
+-106.454 47.452 3190
+-106.328 47.452 3190
+-106.202 47.452 3191
+-106.076 47.452 3191
+-105.95 47.452 3192
+-105.824 47.452 3192
+-105.698 47.452 3193
+-105.572 47.452 3193
+-105.446 47.452 3193
+-105.32 47.452 3194
+-105.194 47.452 3194
+-105.068 47.452 3195
+-104.942 47.452 3195
+-104.816 47.452 3195
+-104.69 47.452 3196
+-104.564 47.452 3196
+-104.438 47.452 3196
+-104.312 47.452 3197
+-104.186 47.452 3197
+-104.06 47.452 3197
+-103.934 47.452 3130
+-103.808 47.452 3131
+-103.682 47.452 3131
+-103.556 47.452 3131
+-103.43 47.452 3132
+-103.304 47.452 3132
+-103.178 47.452 3128
+-103.052 47.452 3062
+-102.926 47.452 3010
+-102.8 47.452 2966
+-102.674 47.452 3001
+-102.548 47.452 3044
+-102.422 47.452 3074
+-102.296 47.452 3054
+-102.17 47.452 3144
+-102.044 47.452 3202
+-101.918 47.452 3304
+-101.792 47.452 3231
+-101.666 47.452 3375
+-101.54 47.452 3341
+-101.414 47.452 3449
+-101.288 47.452 3449
+-101.162 47.452 3465
+-101.036 47.452 3412
+-100.91 47.452 3422
+-100.784 47.452 3422
+-100.658 47.452 3416
+-100.532 47.452 3416
+-100.406 47.452 3416
+-100.28 47.452 3416
+-100.154 47.452 3210
+-100.028 47.452 3241
+-99.902 47.452 3240
+-99.776 47.452 3238
+-99.65 47.452 3220
+-99.524 47.452 3272
+-99.398 47.452 3242
+-99.272 47.452 3240
+-99.146 47.452 3219
+-99.02 47.452 3217
+-98.894 47.452 3137
+-98.768 47.452 3177
+-98.642 47.452 3174
+-98.516 47.452 3172
+-98.39 47.452 3169
+-98.264 47.452 3156
+-98.138 47.452 3153
+-98.012 47.452 3151
+-97.886 47.452 3148
+-97.76 47.452 3145
+-97.634 47.452 3065
+-97.508 47.452 3050
+-97.382 47.452 3027
+-97.256 47.452 2975
+-97.13 47.452 2964
+-97.004 47.452 2947
+-96.878 47.452 2944
+-96.752 47.452 2938
+-96.626 47.452 2920
+-96.5 47.452 2901
+-96.374 47.452 2897
+-96.248 47.452 2892
+-96.122 47.452 2888
+-95.996 47.452 2883
+-95.87 47.452 2878
+-95.744 47.452 2873
+-95.618 47.452 2867
+-95.492 47.452 2861
+-95.366 47.452 2855
+-95.24 47.452 2849
+-95.114 47.452 2843
+-94.988 47.452 2836
+-94.862 47.452 2829
+-94.736 47.452 2822
+-94.61 47.452 2814
+-94.484 47.452 2806
+-94.358 47.452 2798
+-94.232 47.452 2690
+-94.106 47.452 2682
+-93.98 47.452 2663
+-93.854 47.452 2654
+-93.728 47.452 2644
+-93.602 47.452 2635
+-93.476 47.452 2625
+-93.35 47.452 2615
+-93.224 47.452 2605
+-93.098 47.452 2594
+-92.972 47.452 2583
+-92.846 47.452 2573
+-92.72 47.452 2562
+-92.594 47.452 2551
+-92.468 47.452 2540
+-92.342 47.452 2530
+-92.216 47.452 2520
+-92.09 47.452 2510
+-91.964 47.452 2500
+-91.838 47.452 2491
+-91.712 47.452 2483
+-91.586 47.452 2476
+-91.46 47.452 2469
+-91.334 47.452 2463
+-91.208 47.452 2458
+-91.082 47.452 2454
+-90.956 47.452 2451
+-90.83 47.452 2450
+-90.704 47.452 2449
+-90.578 47.452 2449
+-90.452 47.452 2451
+-90.326 47.452 2453
+-90.2 47.452 2456
+-90.074 47.452 2427
+-89.948 47.452 2431
+-89.822 47.452 2436
+-89.696 47.452 2442
+-89.57 47.452 2448
+-89.444 47.452 2454
+-89.318 47.452 2460
+-89.192 47.452 2467
+-89.066 47.452 2473
+-88.94 47.452 2480
+-88.814 47.452 2486
+-88.688 47.452 2492
+-88.562 47.452 2498
+-88.436 47.452 2504
+-88.31 47.452 2510
+-88.184 47.452 2515
+-88.058 47.452 2521
+-87.932 47.452 2526
+-87.806 47.452 2531
+-87.68 47.452 2535
+-87.554 47.452 2540
+-87.428 47.452 2544
+-87.302 47.452 2548
+-87.176 47.452 2552
+-87.05 47.452 2555
+-86.924 47.452 2559
+-86.798 47.452 2562
+-86.672 47.452 2565
+-86.546 47.452 2568
+-86.42 47.452 2570
+-86.294 47.452 2573
+-86.168 47.452 2575
+-86.042 47.452 2578
+-85.916 47.452 2580
+-85.79 47.452 2582
+-85.664 47.452 2584
+-85.538 47.452 2586
+-85.412 47.452 2588
+-85.286 47.452 2589
+-85.16 47.452 2600
+-85.034 47.452 2601
+-84.908 47.452 2603
+-84.782 47.452 2604
+-84.656 47.452 2512
+-84.53 47.452 2513
+-84.404 47.452 2513
+-84.278 47.452 2514
+-84.152 47.452 2514
+-84.026 47.452 2515
+-83.9 47.452 2515
+-83.774 47.452 2516
+-83.648 47.452 2516
+-83.522 47.452 2517
+-83.396 47.452 2523
+-83.27 47.452 2533
+-83.144 47.452 2533
+-83.018 47.452 2534
+-82.892 47.452 2534
+-82.766 47.452 2554
+-82.64 47.452 2554
+-82.514 47.452 2555
+-82.388 47.452 2556
+-82.262 47.452 2560
+-82.136 47.452 2682
+-82.01 47.452 2683
+-81.884 47.452 2683
+-81.758 47.452 2689
+-81.632 47.452 2690
+-81.506 47.452 2691
+-81.38 47.452 2707
+-81.254 47.452 2691
+-81.128 47.452 2704
+-81.002 47.452 2704
+-80.876 47.452 2702
+-80.75 47.452 2703
+-80.624 47.452 2704
+-80.498 47.452 2705
+-80.372 47.452 2707
+-80.246 47.452 2788
+-80.12 47.452 2789
+-79.994 47.452 2790
+-79.868 47.452 2792
+-79.742 47.452 2808
+-79.616 47.452 2809
+-79.49 47.452 2793
+-79.364 47.452 2794
+-79.238 47.452 2796
+-79.112 47.452 2797
+-78.986 47.452 2771
+-78.86 47.452 2780
+-78.734 47.452 2782
+-78.608 47.452 2904
+-78.482 47.452 2867
+-78.356 47.452 2868
+-78.23 47.452 2998
+-78.104 47.452 2996
+-77.978 47.452 2960
+-77.852 47.452 3020
+-77.726 47.452 2915
+-77.6 47.452 2945
+-77.474 47.452 2998
+-77.348 47.452 2900
+-77.222 47.452 2907
+-77.096 47.452 2815
+-76.97 47.452 2812
+-76.844 47.452 2828
+-76.718 47.452 2801
+-76.592 47.452 2802
+-76.466 47.452 2804
+-76.34 47.452 2745
+-76.214 47.452 2786
+-76.088 47.452 2779
+-75.962 47.452 2769
+-75.836 47.452 2770
+-75.71 47.452 2772
+-75.584 47.452 2773
+-75.458 47.452 2716
+-75.332 47.452 2711
+-75.206 47.452 2713
+-75.08 47.452 2714
+-74.954 47.452 2715
+-74.828 47.452 2712
+-74.702 47.452 2658
+-74.576 47.452 2762
+-74.45 47.452 2758
+-74.324 47.452 2764
+-74.198 47.452 2765
+-74.072 47.452 2766
+-73.946 47.452 2767
+-73.82 47.452 2792
+-73.694 47.452 2771
+-73.568 47.452 2835
+-73.442 47.452 2837
+-73.316 47.452 2828
+-73.19 47.452 2835
+-73.064 47.452 2837
+-72.938 47.452 2838
+-72.812 47.452 2826
+-72.686 47.452 2941
+-72.56 47.452 2942
+-72.434 47.452 2943
+-72.308 47.452 2944
+-72.182 47.452 3044
+-72.056 47.452 2998
+-71.93 47.452 3148
+-71.804 47.452 3148
+-71.678 47.452 3111
+-71.552 47.452 3112
+-71.426 47.452 3112
+-71.3 47.452 3113
+-71.174 47.452 3113
+-71.048 47.452 3114
+-70.922 47.452 3212
+-70.796 47.452 3207
+-70.67 47.452 3207
+-70.544 47.452 3208
+-70.418 47.452 3209
+-70.292 47.452 3151
+-70.166 47.452 3188
+-70.04 47.452 3189
+-69.914 47.452 3267
+-69.788 47.452 3174
+-69.662 47.452 3175
+-69.536 47.452 3176
+-69.41 47.452 3225
+-69.284 47.452 3178
+-69.158 47.452 3179
+-69.032 47.452 3180
+-68.906 47.452 3407
+-68.78 47.452 3352
+-68.654 47.452 3352
+-68.528 47.452 3486
+-68.402 47.452 3457
+-68.276 47.452 3458
+-68.15 47.452 3403
+-68.024 47.452 3476
+-67.898 47.452 3477
+-67.772 47.452 3477
+-67.646 47.452 3477
+-67.52 47.452 3478
+-67.394 47.452 3478
+-67.268 47.452 3478
+-67.142 47.452 3478
+-67.016 47.452 3467
+-66.89 47.452 3414
+-66.764 47.452 3408
+-66.638 47.452 3408
+-66.512 47.452 3409
+-66.386 47.452 3409
+-66.26 47.452 3409
+-66.134 47.452 3410
+-66.008 47.452 3410
+-65.882 47.452 3410
+-65.756 47.452 3411
+-65.63 47.452 3411
+-65.504 47.452 3411
+-65.378 47.452 3412
+-65.252 47.452 3412
+-65.126 47.452 3413
+-128 47.4 4716
+-127.874 47.4 4740
+-127.748 47.4 4793
+-127.622 47.4 4839
+-127.496 47.4 4899
+-127.37 47.4 4951
+-127.244 47.4 5015
+-127.118 47.4 5111
+-126.992 47.4 5145
+-126.866 47.4 5285
+-126.74 47.4 5430
+-126.614 47.4 5585
+-126.488 47.4 5727
+-126.362 47.4 5849
+-126.236 47.4 6020
+-126.11 47.4 6187
+-125.984 47.4 6292
+-125.858 47.4 6403
+-125.732 47.4 6532
+-125.606 47.4 6636
+-125.48 47.4 6809
+-125.354 47.4 6882
+-125.228 47.4 7098
+-125.102 47.4 7202
+-124.976 47.4 7301
+-124.85 47.4 7446
+-124.724 47.4 7579
+-124.598 47.4 7650
+-124.472 47.4 7847
+-124.346 47.4 8049
+-124.22 47.4 8222
+-124.094 47.4 8316
+-123.968 47.4 8378
+-123.842 47.4 8578
+-123.716 47.4 8599
+-123.59 47.4 8776
+-123.464 47.4 8848
+-123.338 47.4 8984
+-123.212 47.4 9085
+-123.086 47.4 9106
+-122.96 47.4 9137
+-122.834 47.4 9123
+-122.708 47.4 9051
+-122.582 47.4 8982
+-122.456 47.4 8886
+-122.33 47.4 8723
+-122.204 47.4 8692
+-122.078 47.4 8588
+-121.952 47.4 8384
+-121.826 47.4 8276
+-121.7 47.4 8104
+-121.574 47.4 8001
+-121.448 47.4 7843
+-121.322 47.4 7749
+-121.196 47.4 7673
+-121.07 47.4 7499
+-120.944 47.4 7377
+-120.818 47.4 7144
+-120.692 47.4 7063
+-120.566 47.4 6924
+-120.44 47.4 6888
+-120.314 47.4 6823
+-120.188 47.4 6913
+-120.062 47.4 7008
+-119.936 47.4 7156
+-119.81 47.4 7206
+-119.684 47.4 7282
+-119.558 47.4 7375
+-119.432 47.4 7496
+-119.306 47.4 7601
+-119.18 47.4 7657
+-119.054 47.4 7698
+-118.928 47.4 7769
+-118.802 47.4 7851
+-118.676 47.4 7836
+-118.55 47.4 7877
+-118.424 47.4 7880
+-118.298 47.4 7886
+-118.172 47.4 7875
+-118.046 47.4 7888
+-117.92 47.4 7800
+-117.794 47.4 7769
+-117.668 47.4 7713
+-117.542 47.4 7661
+-117.416 47.4 7608
+-117.29 47.4 7507
+-117.164 47.4 7370
+-117.038 47.4 7269
+-116.912 47.4 7235
+-116.786 47.4 7112
+-116.66 47.4 7006
+-116.534 47.4 6879
+-116.408 47.4 6794
+-116.282 47.4 6723
+-116.156 47.4 6583
+-116.03 47.4 6467
+-115.904 47.4 6364
+-115.778 47.4 6200
+-115.652 47.4 6123
+-115.526 47.4 6009
+-115.4 47.4 5865
+-115.274 47.4 5736
+-115.148 47.4 5588
+-115.022 47.4 5478
+-114.896 47.4 5335
+-114.77 47.4 5203
+-114.644 47.4 5117
+-114.518 47.4 4998
+-114.392 47.4 4850
+-114.266 47.4 4677
+-114.14 47.4 4655
+-114.014 47.4 4491
+-113.888 47.4 4466
+-113.762 47.4 4329
+-113.636 47.4 4268
+-113.51 47.4 4036
+-113.384 47.4 3790
+-113.258 47.4 3939
+-113.132 47.4 4061
+-113.006 47.4 4116
+-112.88 47.4 4134
+-112.754 47.4 4118
+-112.628 47.4 4106
+-112.502 47.4 4088
+-112.376 47.4 4070
+-112.25 47.4 3999
+-112.124 47.4 3988
+-111.998 47.4 3914
+-111.872 47.4 3887
+-111.746 47.4 3821
+-111.62 47.4 3821
+-111.494 47.4 3697
+-111.368 47.4 3667
+-111.242 47.4 3643
+-111.116 47.4 3633
+-110.99 47.4 3611
+-110.864 47.4 3610
+-110.738 47.4 3584
+-110.612 47.4 3582
+-110.486 47.4 3581
+-110.36 47.4 3463
+-110.234 47.4 3464
+-110.108 47.4 3466
+-109.982 47.4 3450
+-109.856 47.4 3452
+-109.73 47.4 3453
+-109.604 47.4 3455
+-109.478 47.4 3456
+-109.352 47.4 3458
+-109.226 47.4 3459
+-109.1 47.4 3461
+-108.974 47.4 3463
+-108.848 47.4 3465
+-108.722 47.4 3340
+-108.596 47.4 3341
+-108.47 47.4 3342
+-108.344 47.4 3344
+-108.218 47.4 3345
+-108.092 47.4 3346
+-107.966 47.4 3307
+-107.84 47.4 3189
+-107.714 47.4 3190
+-107.588 47.4 3190
+-107.462 47.4 3191
+-107.336 47.4 3191
+-107.21 47.4 3192
+-107.084 47.4 3192
+-106.958 47.4 3192
+-106.832 47.4 3193
+-106.706 47.4 3193
+-106.58 47.4 3194
+-106.454 47.4 3194
+-106.328 47.4 3194
+-106.202 47.4 3195
+-106.076 47.4 3195
+-105.95 47.4 3195
+-105.824 47.4 3196
+-105.698 47.4 3196
+-105.572 47.4 3196
+-105.446 47.4 3197
+-105.32 47.4 3197
+-105.194 47.4 3197
+-105.068 47.4 3197
+-104.942 47.4 3198
+-104.816 47.4 3198
+-104.69 47.4 3198
+-104.564 47.4 3199
+-104.438 47.4 3199
+-104.312 47.4 3199
+-104.186 47.4 3199
+-104.06 47.4 3132
+-103.934 47.4 3132
+-103.808 47.4 3133
+-103.682 47.4 3133
+-103.556 47.4 3133
+-103.43 47.4 3134
+-103.304 47.4 3134
+-103.178 47.4 3077
+-103.052 47.4 3046
+-102.926 47.4 3012
+-102.8 47.4 2968
+-102.674 47.4 3039
+-102.548 47.4 2949
+-102.422 47.4 3077
+-102.296 47.4 2955
+-102.17 47.4 3022
+-102.044 47.4 3074
+-101.918 47.4 3168
+-101.792 47.4 3311
+-101.666 47.4 3362
+-101.54 47.4 3493
+-101.414 47.4 3449
+-101.288 47.4 3448
+-101.162 47.4 3448
+-101.036 47.4 3465
+-100.91 47.4 3411
+-100.784 47.4 3421
+-100.658 47.4 3416
+-100.532 47.4 3416
+-100.406 47.4 3416
+-100.28 47.4 3415
+-100.154 47.4 3415
+-100.028 47.4 3209
+-99.902 47.4 3241
+-99.776 47.4 3239
+-99.65 47.4 3237
+-99.524 47.4 3219
+-99.398 47.4 3271
+-99.272 47.4 3241
+-99.146 47.4 3239
+-99.02 47.4 3218
+-98.894 47.4 3216
+-98.768 47.4 3136
+-98.642 47.4 3175
+-98.516 47.4 3173
+-98.39 47.4 3170
+-98.264 47.4 3168
+-98.138 47.4 3154
+-98.012 47.4 3151
+-97.886 47.4 3149
+-97.76 47.4 3146
+-97.634 47.4 3143
+-97.508 47.4 3063
+-97.382 47.4 3048
+-97.256 47.4 3025
+-97.13 47.4 2973
+-97.004 47.4 2961
+-96.878 47.4 2945
+-96.752 47.4 2941
+-96.626 47.4 2935
+-96.5 47.4 2917
+-96.374 47.4 2898
+-96.248 47.4 2893
+-96.122 47.4 2889
+-95.996 47.4 2884
+-95.87 47.4 2878
+-95.744 47.4 2873
+-95.618 47.4 2868
+-95.492 47.4 2862
+-95.366 47.4 2856
+-95.24 47.4 2849
+-95.114 47.4 2843
+-94.988 47.4 2836
+-94.862 47.4 2828
+-94.736 47.4 2821
+-94.61 47.4 2813
+-94.484 47.4 2805
+-94.358 47.4 2796
+-94.232 47.4 2788
+-94.106 47.4 2680
+-93.98 47.4 2671
+-93.854 47.4 2651
+-93.728 47.4 2642
+-93.602 47.4 2632
+-93.476 47.4 2621
+-93.35 47.4 2610
+-93.224 47.4 2599
+-93.098 47.4 2588
+-92.972 47.4 2577
+-92.846 47.4 2565
+-92.72 47.4 2554
+-92.594 47.4 2542
+-92.468 47.4 2530
+-92.342 47.4 2519
+-92.216 47.4 2508
+-92.09 47.4 2497
+-91.964 47.4 2487
+-91.838 47.4 2477
+-91.712 47.4 2468
+-91.586 47.4 2459
+-91.46 47.4 2452
+-91.334 47.4 2445
+-91.208 47.4 2440
+-91.082 47.4 2436
+-90.956 47.4 2433
+-90.83 47.4 2431
+-90.704 47.4 2431
+-90.578 47.4 2431
+-90.452 47.4 2433
+-90.326 47.4 2436
+-90.2 47.4 2439
+-90.074 47.4 2412
+-89.948 47.4 2417
+-89.822 47.4 2423
+-89.696 47.4 2429
+-89.57 47.4 2436
+-89.444 47.4 2443
+-89.318 47.4 2450
+-89.192 47.4 2457
+-89.066 47.4 2464
+-88.94 47.4 2471
+-88.814 47.4 2478
+-88.688 47.4 2485
+-88.562 47.4 2492
+-88.436 47.4 2498
+-88.31 47.4 2504
+-88.184 47.4 2510
+-88.058 47.4 2516
+-87.932 47.4 2521
+-87.806 47.4 2527
+-87.68 47.4 2532
+-87.554 47.4 2536
+-87.428 47.4 2541
+-87.302 47.4 2545
+-87.176 47.4 2549
+-87.05 47.4 2552
+-86.924 47.4 2556
+-86.798 47.4 2559
+-86.672 47.4 2562
+-86.546 47.4 2565
+-86.42 47.4 2568
+-86.294 47.4 2571
+-86.168 47.4 2573
+-86.042 47.4 2575
+-85.916 47.4 2578
+-85.79 47.4 2580
+-85.664 47.4 2582
+-85.538 47.4 2584
+-85.412 47.4 2586
+-85.286 47.4 2596
+-85.16 47.4 2598
+-85.034 47.4 2599
+-84.908 47.4 2601
+-84.782 47.4 2510
+-84.656 47.4 2511
+-84.53 47.4 2511
+-84.404 47.4 2512
+-84.278 47.4 2512
+-84.152 47.4 2513
+-84.026 47.4 2513
+-83.9 47.4 2514
+-83.774 47.4 2514
+-83.648 47.4 2515
+-83.522 47.4 2520
+-83.396 47.4 2530
+-83.27 47.4 2531
+-83.144 47.4 2532
+-83.018 47.4 2532
+-82.892 47.4 2551
+-82.766 47.4 2552
+-82.64 47.4 2553
+-82.514 47.4 2554
+-82.388 47.4 2558
+-82.262 47.4 2680
+-82.136 47.4 2680
+-82.01 47.4 2680
+-81.884 47.4 2686
+-81.758 47.4 2687
+-81.632 47.4 2689
+-81.506 47.4 2704
+-81.38 47.4 2688
+-81.254 47.4 2701
+-81.128 47.4 2702
+-81.002 47.4 2700
+-80.876 47.4 2700
+-80.75 47.4 2701
+-80.624 47.4 2702
+-80.498 47.4 2704
+-80.372 47.4 2785
+-80.246 47.4 2787
+-80.12 47.4 2788
+-79.994 47.4 2789
+-79.868 47.4 2805
+-79.742 47.4 2806
+-79.616 47.4 2790
+-79.49 47.4 2792
+-79.364 47.4 2793
+-79.238 47.4 2794
+-79.112 47.4 2768
+-78.986 47.4 2778
+-78.86 47.4 2779
+-78.734 47.4 2901
+-78.608 47.4 2864
+-78.482 47.4 2866
+-78.356 47.4 2995
+-78.23 47.4 2993
+-78.104 47.4 2958
+-77.978 47.4 3017
+-77.852 47.4 2913
+-77.726 47.4 2942
+-77.6 47.4 2995
+-77.474 47.4 2897
+-77.348 47.4 2904
+-77.222 47.4 2813
+-77.096 47.4 2810
+-76.97 47.4 2826
+-76.844 47.4 2799
+-76.718 47.4 2800
+-76.592 47.4 2802
+-76.466 47.4 2743
+-76.34 47.4 2785
+-76.214 47.4 2777
+-76.088 47.4 2767
+-75.962 47.4 2769
+-75.836 47.4 2770
+-75.71 47.4 2772
+-75.584 47.4 2715
+-75.458 47.4 2710
+-75.332 47.4 2712
+-75.206 47.4 2713
+-75.08 47.4 2714
+-74.954 47.4 2711
+-74.828 47.4 2657
+-74.702 47.4 2761
+-74.576 47.4 2757
+-74.45 47.4 2763
+-74.324 47.4 2764
+-74.198 47.4 2765
+-74.072 47.4 2766
+-73.946 47.4 2791
+-73.82 47.4 2770
+-73.694 47.4 2834
+-73.568 47.4 2836
+-73.442 47.4 2827
+-73.316 47.4 2834
+-73.19 47.4 2836
+-73.064 47.4 2837
+-72.938 47.4 2825
+-72.812 47.4 2940
+-72.686 47.4 2941
+-72.56 47.4 2943
+-72.434 47.4 2944
+-72.308 47.4 3043
+-72.182 47.4 2997
+-72.056 47.4 3147
+-71.93 47.4 3148
+-71.804 47.4 3110
+-71.678 47.4 3111
+-71.552 47.4 3112
+-71.426 47.4 3112
+-71.3 47.4 3113
+-71.174 47.4 3113
+-71.048 47.4 3211
+-70.922 47.4 3206
+-70.796 47.4 3207
+-70.67 47.4 3207
+-70.544 47.4 3208
+-70.418 47.4 3150
+-70.292 47.4 3187
+-70.166 47.4 3188
+-70.04 47.4 3266
+-69.914 47.4 3174
+-69.788 47.4 3175
+-69.662 47.4 3175
+-69.536 47.4 3224
+-69.41 47.4 3177
+-69.284 47.4 3178
+-69.158 47.4 3179
+-69.032 47.4 3407
+-68.906 47.4 3351
+-68.78 47.4 3352
+-68.654 47.4 3485
+-68.528 47.4 3457
+-68.402 47.4 3457
+-68.276 47.4 3402
+-68.15 47.4 3475
+-68.024 47.4 3476
+-67.898 47.4 3477
+-67.772 47.4 3477
+-67.646 47.4 3477
+-67.52 47.4 3477
+-67.394 47.4 3478
+-67.268 47.4 3478
+-67.142 47.4 3467
+-67.016 47.4 3414
+-66.89 47.4 3407
+-66.764 47.4 3408
+-66.638 47.4 3408
+-66.512 47.4 3409
+-66.386 47.4 3409
+-66.26 47.4 3409
+-66.134 47.4 3410
+-66.008 47.4 3410
+-65.882 47.4 3411
+-65.756 47.4 3411
+-65.63 47.4 3411
+-65.504 47.4 3412
+-65.378 47.4 3412
+-65.252 47.4 3412
+-65.126 47.4 3413
+-128 47.348 4694
+-127.874 47.348 4730
+-127.748 47.348 4773
+-127.622 47.348 4821
+-127.496 47.348 4868
+-127.37 47.348 4929
+-127.244 47.348 4922
+-127.118 47.348 5090
+-126.992 47.348 5201
+-126.866 47.348 5240
+-126.74 47.348 5426
+-126.614 47.348 5546
+-126.488 47.348 5727
+-126.362 47.348 5889
+-126.236 47.348 6053
+-126.11 47.348 6215
+-125.984 47.348 6277
+-125.858 47.348 6421
+-125.732 47.348 6503
+-125.606 47.348 6648
+-125.48 47.348 6811
+-125.354 47.348 6962
+-125.228 47.348 7113
+-125.102 47.348 7281
+-124.976 47.348 7335
+-124.85 47.348 7448
+-124.724 47.348 7569
+-124.598 47.348 7755
+-124.472 47.348 7848
+-124.346 47.348 8069
+-124.22 47.348 8245
+-124.094 47.348 8285
+-123.968 47.348 8438
+-123.842 47.348 8554
+-123.716 47.348 8720
+-123.59 47.348 8805
+-123.464 47.348 8926
+-123.338 47.348 9070
+-123.212 47.348 9112
+-123.086 47.348 9184
+-122.96 47.348 9169
+-122.834 47.348 9155
+-122.708 47.348 9110
+-122.582 47.348 9022
+-122.456 47.348 8879
+-122.33 47.348 8834
+-122.204 47.348 8692
+-122.078 47.348 8528
+-121.952 47.348 8441
+-121.826 47.348 8306
+-121.7 47.348 8127
+-121.574 47.348 8018
+-121.448 47.348 7858
+-121.322 47.348 7762
+-121.196 47.348 7566
+-121.07 47.348 7507
+-120.944 47.348 7335
+-120.818 47.348 7215
+-120.692 47.348 7047
+-120.566 47.348 6968
+-120.44 47.348 6873
+-120.314 47.348 6776
+-120.188 47.348 6939
+-120.062 47.348 7041
+-119.936 47.348 7160
+-119.81 47.348 7224
+-119.684 47.348 7326
+-119.558 47.348 7399
+-119.432 47.348 7522
+-119.306 47.348 7619
+-119.18 47.348 7673
+-119.054 47.348 7769
+-118.928 47.348 7842
+-118.802 47.348 7876
+-118.676 47.348 7922
+-118.55 47.348 7952
+-118.424 47.348 7972
+-118.298 47.348 7980
+-118.172 47.348 7943
+-118.046 47.348 7903
+-117.92 47.348 7877
+-117.794 47.348 7808
+-117.668 47.348 7789
+-117.542 47.348 7709
+-117.416 47.348 7643
+-117.29 47.348 7580
+-117.164 47.348 7454
+-117.038 47.348 7401
+-116.912 47.348 7305
+-116.786 47.348 7121
+-116.66 47.348 7011
+-116.534 47.348 6898
+-116.408 47.348 6826
+-116.282 47.348 6681
+-116.156 47.348 6645
+-116.03 47.348 6528
+-115.904 47.348 6404
+-115.778 47.348 6271
+-115.652 47.348 6127
+-115.526 47.348 6005
+-115.4 47.348 5899
+-115.274 47.348 5799
+-115.148 47.348 5639
+-115.022 47.348 5490
+-114.896 47.348 5336
+-114.77 47.348 5189
+-114.644 47.348 5108
+-114.518 47.348 4983
+-114.392 47.348 4873
+-114.266 47.348 4772
+-114.14 47.348 4689
+-114.014 47.348 4568
+-113.888 47.348 4504
+-113.762 47.348 4416
+-113.636 47.348 4317
+-113.51 47.348 4147
+-113.384 47.348 3988
+-113.258 47.348 4022
+-113.132 47.348 4101
+-113.006 47.348 4145
+-112.88 47.348 4136
+-112.754 47.348 4137
+-112.628 47.348 4130
+-112.502 47.348 4118
+-112.376 47.348 4051
+-112.25 47.348 4040
+-112.124 47.348 4030
+-111.998 47.348 4007
+-111.872 47.348 3930
+-111.746 47.348 3886
+-111.62 47.348 3832
+-111.494 47.348 3801
+-111.368 47.348 3773
+-111.242 47.348 3765
+-111.116 47.348 3662
+-110.99 47.348 3658
+-110.864 47.348 3623
+-110.738 47.348 3620
+-110.612 47.348 3617
+-110.486 47.348 3485
+-110.36 47.348 3484
+-110.234 47.348 3484
+-110.108 47.348 3468
+-109.982 47.348 3468
+-109.856 47.348 3468
+-109.73 47.348 3468
+-109.604 47.348 3469
+-109.478 47.348 3470
+-109.352 47.348 3471
+-109.226 47.348 3472
+-109.1 47.348 3473
+-108.974 47.348 3474
+-108.848 47.348 3349
+-108.722 47.348 3350
+-108.596 47.348 3351
+-108.47 47.348 3352
+-108.344 47.348 3353
+-108.218 47.348 3354
+-108.092 47.348 3313
+-107.966 47.348 3313
+-107.84 47.348 3197
+-107.714 47.348 3197
+-107.588 47.348 3197
+-107.462 47.348 3197
+-107.336 47.348 3197
+-107.21 47.348 3197
+-107.084 47.348 3197
+-106.958 47.348 3198
+-106.832 47.348 3198
+-106.706 47.348 3198
+-106.58 47.348 3198
+-106.454 47.348 3198
+-106.328 47.348 3198
+-106.202 47.348 3199
+-106.076 47.348 3199
+-105.95 47.348 3199
+-105.824 47.348 3199
+-105.698 47.348 3199
+-105.572 47.348 3199
+-105.446 47.348 3200
+-105.32 47.348 3200
+-105.194 47.348 3200
+-105.068 47.348 3200
+-104.942 47.348 3200
+-104.816 47.348 3201
+-104.69 47.348 3201
+-104.564 47.348 3201
+-104.438 47.348 3201
+-104.312 47.348 3201
+-104.186 47.348 3134
+-104.06 47.348 3135
+-103.934 47.348 3135
+-103.808 47.348 3135
+-103.682 47.348 3135
+-103.556 47.348 3136
+-103.43 47.348 3136
+-103.304 47.348 3136
+-103.178 47.348 3079
+-103.052 47.348 3011
+-102.926 47.348 2937
+-102.8 47.348 2922
+-102.674 47.348 2946
+-102.548 47.348 2962
+-102.422 47.348 2968
+-102.296 47.348 3045
+-102.17 47.348 3089
+-102.044 47.348 3189
+-101.918 47.348 3169
+-101.792 47.348 3174
+-101.666 47.348 3229
+-101.54 47.348 3475
+-101.414 47.348 3492
+-101.288 47.348 3448
+-101.162 47.348 3448
+-101.036 47.348 3448
+-100.91 47.348 3464
+-100.784 47.348 3411
+-100.658 47.348 3421
+-100.532 47.348 3421
+-100.406 47.348 3415
+-100.28 47.348 3415
+-100.154 47.348 3415
+-100.028 47.348 3415
+-99.902 47.348 3208
+-99.776 47.348 3240
+-99.65 47.348 3238
+-99.524 47.348 3237
+-99.398 47.348 3218
+-99.272 47.348 3269
+-99.146 47.348 3240
+-99.02 47.348 3238
+-98.894 47.348 3217
+-98.768 47.348 3215
+-98.642 47.348 3135
+-98.516 47.348 3174
+-98.39 47.348 3171
+-98.264 47.348 3169
+-98.138 47.348 3166
+-98.012 47.348 3152
+-97.886 47.348 3150
+-97.76 47.348 3147
+-97.634 47.348 3144
+-97.508 47.348 3140
+-97.382 47.348 3061
+-97.256 47.348 3046
+-97.13 47.348 3023
+-97.004 47.348 2971
+-96.878 47.348 2959
+-96.752 47.348 2942
+-96.626 47.348 2938
+-96.5 47.348 2932
+-96.374 47.348 2914
+-96.248 47.348 2894
+-96.122 47.348 2890
+-95.996 47.348 2885
+-95.87 47.348 2879
+-95.744 47.348 2874
+-95.618 47.348 2868
+-95.492 47.348 2862
+-95.366 47.348 2856
+-95.24 47.348 2849
+-95.114 47.348 2843
+-94.988 47.348 2836
+-94.862 47.348 2828
+-94.736 47.348 2820
+-94.61 47.348 2812
+-94.484 47.348 2804
+-94.358 47.348 2795
+-94.232 47.348 2786
+-94.106 47.348 2776
+-93.98 47.348 2669
+-93.854 47.348 2659
+-93.728 47.348 2639
+-93.602 47.348 2628
+-93.476 47.348 2617
+-93.35 47.348 2606
+-93.224 47.348 2594
+-93.098 47.348 2582
+-92.972 47.348 2570
+-92.846 47.348 2558
+-92.72 47.348 2545
+-92.594 47.348 2532
+-92.468 47.348 2520
+-92.342 47.348 2507
+-92.216 47.348 2495
+-92.09 47.348 2483
+-91.964 47.348 2472
+-91.838 47.348 2461
+-91.712 47.348 2451
+-91.586 47.348 2442
+-91.46 47.348 2434
+-91.334 47.348 2426
+-91.208 47.348 2421
+-91.082 47.348 2416
+-90.956 47.348 2413
+-90.83 47.348 2411
+-90.704 47.348 2411
+-90.578 47.348 2411
+-90.452 47.348 2414
+-90.326 47.348 2417
+-90.2 47.348 2422
+-90.074 47.348 2395
+-89.948 47.348 2401
+-89.822 47.348 2408
+-89.696 47.348 2415
+-89.57 47.348 2423
+-89.444 47.348 2431
+-89.318 47.348 2439
+-89.192 47.348 2447
+-89.066 47.348 2455
+-88.94 47.348 2463
+-88.814 47.348 2470
+-88.688 47.348 2478
+-88.562 47.348 2485
+-88.436 47.348 2492
+-88.31 47.348 2499
+-88.184 47.348 2505
+-88.058 47.348 2511
+-87.932 47.348 2517
+-87.806 47.348 2523
+-87.68 47.348 2528
+-87.554 47.348 2533
+-87.428 47.348 2537
+-87.302 47.348 2542
+-87.176 47.348 2546
+-87.05 47.348 2550
+-86.924 47.348 2553
+-86.798 47.348 2557
+-86.672 47.348 2560
+-86.546 47.348 2563
+-86.42 47.348 2566
+-86.294 47.348 2568
+-86.168 47.348 2571
+-86.042 47.348 2573
+-85.916 47.348 2576
+-85.79 47.348 2578
+-85.664 47.348 2580
+-85.538 47.348 2582
+-85.412 47.348 2592
+-85.286 47.348 2594
+-85.16 47.348 2596
+-85.034 47.348 2597
+-84.908 47.348 2508
+-84.782 47.348 2508
+-84.656 47.348 2509
+-84.53 47.348 2509
+-84.404 47.348 2510
+-84.278 47.348 2510
+-84.152 47.348 2511
+-84.026 47.348 2511
+-83.9 47.348 2512
+-83.774 47.348 2512
+-83.648 47.348 2518
+-83.522 47.348 2528
+-83.396 47.348 2529
+-83.27 47.348 2529
+-83.144 47.348 2530
+-83.018 47.348 2549
+-82.892 47.348 2550
+-82.766 47.348 2550
+-82.64 47.348 2551
+-82.514 47.348 2556
+-82.388 47.348 2677
+-82.262 47.348 2677
+-82.136 47.348 2678
+-82.01 47.348 2684
+-81.884 47.348 2684
+-81.758 47.348 2686
+-81.632 47.348 2701
+-81.506 47.348 2686
+-81.38 47.348 2698
+-81.254 47.348 2699
+-81.128 47.348 2697
+-81.002 47.348 2698
+-80.876 47.348 2699
+-80.75 47.348 2699
+-80.624 47.348 2702
+-80.498 47.348 2782
+-80.372 47.348 2784
+-80.246 47.348 2785
+-80.12 47.348 2786
+-79.994 47.348 2802
+-79.868 47.348 2803
+-79.742 47.348 2788
+-79.616 47.348 2789
+-79.49 47.348 2790
+-79.364 47.348 2792
+-79.238 47.348 2766
+-79.112 47.348 2776
+-78.986 47.348 2777
+-78.86 47.348 2898
+-78.734 47.348 2862
+-78.608 47.348 2863
+-78.482 47.348 2992
+-78.356 47.348 2990
+-78.23 47.348 2955
+-78.104 47.348 3014
+-77.978 47.348 2910
+-77.852 47.348 2939
+-77.726 47.348 2992
+-77.6 47.348 2895
+-77.474 47.348 2902
+-77.348 47.348 2811
+-77.222 47.348 2808
+-77.096 47.348 2823
+-76.97 47.348 2797
+-76.844 47.348 2798
+-76.718 47.348 2800
+-76.592 47.348 2742
+-76.466 47.348 2783
+-76.34 47.348 2776
+-76.214 47.348 2766
+-76.088 47.348 2767
+-75.962 47.348 2769
+-75.836 47.348 2770
+-75.71 47.348 2713
+-75.584 47.348 2709
+-75.458 47.348 2710
+-75.332 47.348 2712
+-75.206 47.348 2713
+-75.08 47.348 2710
+-74.954 47.348 2656
+-74.828 47.348 2760
+-74.702 47.348 2756
+-74.576 47.348 2762
+-74.45 47.348 2763
+-74.324 47.348 2764
+-74.198 47.348 2765
+-74.072 47.348 2790
+-73.946 47.348 2769
+-73.82 47.348 2833
+-73.694 47.348 2835
+-73.568 47.348 2826
+-73.442 47.348 2833
+-73.316 47.348 2835
+-73.19 47.348 2836
+-73.064 47.348 2824
+-72.938 47.348 2939
+-72.812 47.348 2940
+-72.686 47.348 2942
+-72.56 47.348 2943
+-72.434 47.348 3043
+-72.308 47.348 2996
+-72.182 47.348 3146
+-72.056 47.348 3147
+-71.93 47.348 3110
+-71.804 47.348 3110
+-71.678 47.348 3111
+-71.552 47.348 3112
+-71.426 47.348 3112
+-71.3 47.348 3113
+-71.174 47.348 3210
+-71.048 47.348 3205
+-70.922 47.348 3206
+-70.796 47.348 3207
+-70.67 47.348 3208
+-70.544 47.348 3150
+-70.418 47.348 3187
+-70.292 47.348 3187
+-70.166 47.348 3265
+-70.04 47.348 3173
+-69.914 47.348 3174
+-69.788 47.348 3175
+-69.662 47.348 3224
+-69.536 47.348 3177
+-69.41 47.348 3178
+-69.284 47.348 3178
+-69.158 47.348 3406
+-69.032 47.348 3351
+-68.906 47.348 3351
+-68.78 47.348 3484
+-68.654 47.348 3456
+-68.528 47.348 3457
+-68.402 47.348 3402
+-68.276 47.348 3475
+-68.15 47.348 3476
+-68.024 47.348 3476
+-67.898 47.348 3477
+-67.772 47.348 3477
+-67.646 47.348 3477
+-67.52 47.348 3477
+-67.394 47.348 3478
+-67.268 47.348 3467
+-67.142 47.348 3413
+-67.016 47.348 3407
+-66.89 47.348 3408
+-66.764 47.348 3408
+-66.638 47.348 3408
+-66.512 47.348 3409
+-66.386 47.348 3409
+-66.26 47.348 3409
+-66.134 47.348 3410
+-66.008 47.348 3410
+-65.882 47.348 3411
+-65.756 47.348 3411
+-65.63 47.348 3411
+-65.504 47.348 3412
+-65.378 47.348 3412
+-65.252 47.348 3412
+-65.126 47.348 3526
+-128 47.296 4612
+-127.874 47.296 4671
+-127.748 47.296 4719
+-127.622 47.296 4765
+-127.496 47.296 4792
+-127.37 47.296 4879
+-127.244 47.296 4986
+-127.118 47.296 5089
+-126.992 47.296 5231
+-126.866 47.296 5354
+-126.74 47.296 5474
+-126.614 47.296 5613
+-126.488 47.296 5720
+-126.362 47.296 5851
+-126.236 47.296 6054
+-126.11 47.296 6194
+-125.984 47.296 6275
+-125.858 47.296 6385
+-125.732 47.296 6520
+-125.606 47.296 6693
+-125.48 47.296 6797
+-125.354 47.296 6898
+-125.228 47.296 7072
+-125.102 47.296 7177
+-124.976 47.296 7361
+-124.85 47.296 7571
+-124.724 47.296 7666
+-124.598 47.296 7723
+-124.472 47.296 7901
+-124.346 47.296 8020
+-124.22 47.296 8189
+-124.094 47.296 8363
+-123.968 47.296 8497
+-123.842 47.296 8582
+-123.716 47.296 8755
+-123.59 47.296 8883
+-123.464 47.296 8953
+-123.338 47.296 9080
+-123.212 47.296 9163
+-123.086 47.296 9271
+-122.96 47.296 9225
+-122.834 47.296 9251
+-122.708 47.296 9191
+-122.582 47.296 9133
+-122.456 47.296 8951
+-122.33 47.296 8830
+-122.204 47.296 8754
+-122.078 47.296 8568
+-121.952 47.296 8472
+-121.826 47.296 8265
+-121.7 47.296 8151
+-121.574 47.296 7981
+-121.448 47.296 7894
+-121.322 47.296 7748
+-121.196 47.296 7665
+-121.07 47.296 7543
+-120.944 47.296 7310
+-120.818 47.296 7289
+-120.692 47.296 7128
+-120.566 47.296 6971
+-120.44 47.296 6712
+-120.314 47.296 6882
+-120.188 47.296 6908
+-120.062 47.296 7085
+-119.936 47.296 7178
+-119.81 47.296 7224
+-119.684 47.296 7354
+-119.558 47.296 7485
+-119.432 47.296 7613
+-119.306 47.296 7659
+-119.18 47.296 7723
+-119.054 47.296 7794
+-118.928 47.296 7860
+-118.802 47.296 7936
+-118.676 47.296 7961
+-118.55 47.296 7988
+-118.424 47.296 8038
+-118.298 47.296 8021
+-118.172 47.296 8008
+-118.046 47.296 7973
+-117.92 47.296 7937
+-117.794 47.296 7890
+-117.668 47.296 7819
+-117.542 47.296 7746
+-117.416 47.296 7682
+-117.29 47.296 7549
+-117.164 47.296 7442
+-117.038 47.296 7368
+-116.912 47.296 7333
+-116.786 47.296 7208
+-116.66 47.296 7025
+-116.534 47.296 6918
+-116.408 47.296 6884
+-116.282 47.296 6720
+-116.156 47.296 6654
+-116.03 47.296 6474
+-115.904 47.296 6426
+-115.778 47.296 6304
+-115.652 47.296 6190
+-115.526 47.296 5996
+-115.4 47.296 5923
+-115.274 47.296 5845
+-115.148 47.296 5684
+-115.022 47.296 5489
+-114.896 47.296 5407
+-114.77 47.296 5208
+-114.644 47.296 5131
+-114.518 47.296 5019
+-114.392 47.296 4876
+-114.266 47.296 4783
+-114.14 47.296 4708
+-114.014 47.296 4613
+-113.888 47.296 4527
+-113.762 47.296 4435
+-113.636 47.296 4323
+-113.51 47.296 4225
+-113.384 47.296 4172
+-113.258 47.296 4155
+-113.132 47.296 4150
+-113.006 47.296 4170
+-112.88 47.296 4153
+-112.754 47.296 4154
+-112.628 47.296 4149
+-112.502 47.296 4141
+-112.376 47.296 4131
+-112.25 47.296 4070
+-112.124 47.296 4046
+-111.998 47.296 4038
+-111.872 47.296 3993
+-111.746 47.296 3943
+-111.62 47.296 3932
+-111.494 47.296 3825
+-111.368 47.296 3797
+-111.242 47.296 3787
+-111.116 47.296 3785
+-110.99 47.296 3652
+-110.864 47.296 3647
+-110.738 47.296 3642
+-110.612 47.296 3638
+-110.486 47.296 3635
+-110.36 47.296 3504
+-110.234 47.296 3486
+-110.108 47.296 3485
+-109.982 47.296 3484
+-109.856 47.296 3483
+-109.73 47.296 3483
+-109.604 47.296 3483
+-109.478 47.296 3483
+-109.352 47.296 3483
+-109.226 47.296 3484
+-109.1 47.296 3484
+-108.974 47.296 3360
+-108.848 47.296 3360
+-108.722 47.296 3361
+-108.596 47.296 3361
+-108.47 47.296 3361
+-108.344 47.296 3362
+-108.218 47.296 3320
+-108.092 47.296 3320
+-107.966 47.296 3320
+-107.84 47.296 3319
+-107.714 47.296 3203
+-107.588 47.296 3203
+-107.462 47.296 3203
+-107.336 47.296 3203
+-107.21 47.296 3203
+-107.084 47.296 3203
+-106.958 47.296 3203
+-106.832 47.296 3202
+-106.706 47.296 3202
+-106.58 47.296 3202
+-106.454 47.296 3202
+-106.328 47.296 3202
+-106.202 47.296 3202
+-106.076 47.296 3202
+-105.95 47.296 3202
+-105.824 47.296 3202
+-105.698 47.296 3203
+-105.572 47.296 3203
+-105.446 47.296 3203
+-105.32 47.296 3203
+-105.194 47.296 3203
+-105.068 47.296 3203
+-104.942 47.296 3203
+-104.816 47.296 3203
+-104.69 47.296 3203
+-104.564 47.296 3203
+-104.438 47.296 3203
+-104.312 47.296 3137
+-104.186 47.296 3137
+-104.06 47.296 3137
+-103.934 47.296 3137
+-103.808 47.296 3137
+-103.682 47.296 3137
+-103.556 47.296 3138
+-103.43 47.296 3138
+-103.304 47.296 3104
+-103.178 47.296 3020
+-103.052 47.296 2939
+-102.926 47.296 2930
+-102.8 47.296 2924
+-102.674 47.296 2948
+-102.548 47.296 2964
+-102.422 47.296 2971
+-102.296 47.296 3047
+-102.17 47.296 3092
+-102.044 47.296 3191
+-101.918 47.296 3196
+-101.792 47.296 3302
+-101.666 47.296 3301
+-101.54 47.296 3333
+-101.414 47.296 3474
+-101.288 47.296 3491
+-101.162 47.296 3448
+-101.036 47.296 3447
+-100.91 47.296 3447
+-100.784 47.296 3463
+-100.658 47.296 3410
+-100.532 47.296 3420
+-100.406 47.296 3415
+-100.28 47.296 3415
+-100.154 47.296 3415
+-100.028 47.296 3414
+-99.902 47.296 3414
+-99.776 47.296 3208
+-99.65 47.296 3239
+-99.524 47.296 3238
+-99.398 47.296 3236
+-99.272 47.296 3217
+-99.146 47.296 3268
+-99.02 47.296 3239
+-98.894 47.296 3237
+-98.768 47.296 3216
+-98.642 47.296 3214
+-98.516 47.296 3134
+-98.39 47.296 3172
+-98.264 47.296 3170
+-98.138 47.296 3167
+-98.012 47.296 3164
+-97.886 47.296 3151
+-97.76 47.296 3148
+-97.634 47.296 3145
+-97.508 47.296 3141
+-97.382 47.296 3138
+-97.256 47.296 3059
+-97.13 47.296 3043
+-97.004 47.296 3021
+-96.878 47.296 2969
+-96.752 47.296 2956
+-96.626 47.296 2939
+-96.5 47.296 2935
+-96.374 47.296 2929
+-96.248 47.296 2910
+-96.122 47.296 2891
+-95.996 47.296 2886
+-95.87 47.296 2880
+-95.744 47.296 2875
+-95.618 47.296 2869
+-95.492 47.296 2863
+-95.366 47.296 2857
+-95.24 47.296 2850
+-95.114 47.296 2843
+-94.988 47.296 2836
+-94.862 47.296 2828
+-94.736 47.296 2820
+-94.61 47.296 2812
+-94.484 47.296 2803
+-94.358 47.296 2794
+-94.232 47.296 2784
+-94.106 47.296 2774
+-93.98 47.296 2764
+-93.854 47.296 2657
+-93.728 47.296 2646
+-93.602 47.296 2625
+-93.476 47.296 2614
+-93.35 47.296 2601
+-93.224 47.296 2589
+-93.098 47.296 2576
+-92.972 47.296 2563
+-92.846 47.296 2550
+-92.72 47.296 2536
+-92.594 47.296 2523
+-92.468 47.296 2509
+-92.342 47.296 2495
+-92.216 47.296 2482
+-92.09 47.296 2469
+-91.964 47.296 2456
+-91.838 47.296 2444
+-91.712 47.296 2433
+-91.586 47.296 2423
+-91.46 47.296 2414
+-91.334 47.296 2406
+-91.208 47.296 2399
+-91.082 47.296 2394
+-90.956 47.296 2391
+-90.83 47.296 2389
+-90.704 47.296 2389
+-90.578 47.296 2390
+-90.452 47.296 2393
+-90.326 47.296 2397
+-90.2 47.296 2402
+-90.074 47.296 2377
+-89.948 47.296 2385
+-89.822 47.296 2392
+-89.696 47.296 2401
+-89.57 47.296 2409
+-89.444 47.296 2418
+-89.318 47.296 2427
+-89.192 47.296 2436
+-89.066 47.296 2445
+-88.94 47.296 2454
+-88.814 47.296 2463
+-88.688 47.296 2471
+-88.562 47.296 2479
+-88.436 47.296 2486
+-88.31 47.296 2493
+-88.184 47.296 2500
+-88.058 47.296 2507
+-87.932 47.296 2513
+-87.806 47.296 2519
+-87.68 47.296 2524
+-87.554 47.296 2529
+-87.428 47.296 2534
+-87.302 47.296 2539
+-87.176 47.296 2543
+-87.05 47.296 2547
+-86.924 47.296 2551
+-86.798 47.296 2554
+-86.672 47.296 2557
+-86.546 47.296 2561
+-86.42 47.296 2563
+-86.294 47.296 2566
+-86.168 47.296 2569
+-86.042 47.296 2571
+-85.916 47.296 2574
+-85.79 47.296 2576
+-85.664 47.296 2578
+-85.538 47.296 2588
+-85.412 47.296 2590
+-85.286 47.296 2592
+-85.16 47.296 2594
+-85.034 47.296 2505
+-84.908 47.296 2506
+-84.782 47.296 2506
+-84.656 47.296 2507
+-84.53 47.296 2508
+-84.404 47.296 2508
+-84.278 47.296 2509
+-84.152 47.296 2509
+-84.026 47.296 2509
+-83.9 47.296 2510
+-83.774 47.296 2516
+-83.648 47.296 2526
+-83.522 47.296 2526
+-83.396 47.296 2527
+-83.27 47.296 2528
+-83.144 47.296 2547
+-83.018 47.296 2547
+-82.892 47.296 2548
+-82.766 47.296 2549
+-82.64 47.296 2554
+-82.514 47.296 2674
+-82.388 47.296 2674
+-82.262 47.296 2675
+-82.136 47.296 2681
+-82.01 47.296 2681
+-81.884 47.296 2683
+-81.758 47.296 2698
+-81.632 47.296 2683
+-81.506 47.296 2695
+-81.38 47.296 2696
+-81.254 47.296 2694
+-81.128 47.296 2695
+-81.002 47.296 2696
+-80.876 47.296 2697
+-80.75 47.296 2699
+-80.624 47.296 2779
+-80.498 47.296 2780
+-80.372 47.296 2782
+-80.246 47.296 2783
+-80.12 47.296 2799
+-79.994 47.296 2800
+-79.868 47.296 2785
+-79.742 47.296 2786
+-79.616 47.296 2787
+-79.49 47.296 2789
+-79.364 47.296 2763
+-79.238 47.296 2773
+-79.112 47.296 2774
+-78.986 47.296 2895
+-78.86 47.296 2859
+-78.734 47.296 2860
+-78.608 47.296 2989
+-78.482 47.296 2987
+-78.356 47.296 2952
+-78.23 47.296 3011
+-78.104 47.296 2908
+-77.978 47.296 2936
+-77.852 47.296 2989
+-77.726 47.296 2892
+-77.6 47.296 2899
+-77.474 47.296 2809
+-77.348 47.296 2806
+-77.222 47.296 2821
+-77.096 47.296 2795
+-76.97 47.296 2797
+-76.844 47.296 2798
+-76.718 47.296 2740
+-76.592 47.296 2781
+-76.466 47.296 2774
+-76.34 47.296 2764
+-76.214 47.296 2766
+-76.088 47.296 2767
+-75.962 47.296 2769
+-75.836 47.296 2712
+-75.71 47.296 2708
+-75.584 47.296 2709
+-75.458 47.296 2710
+-75.332 47.296 2712
+-75.206 47.296 2709
+-75.08 47.296 2655
+-74.954 47.296 2758
+-74.828 47.296 2755
+-74.702 47.296 2761
+-74.576 47.296 2762
+-74.45 47.296 2763
+-74.324 47.296 2764
+-74.198 47.296 2789
+-74.072 47.296 2768
+-73.946 47.296 2832
+-73.82 47.296 2834
+-73.694 47.296 2825
+-73.568 47.296 2832
+-73.442 47.296 2834
+-73.316 47.296 2835
+-73.19 47.296 2823
+-73.064 47.296 2938
+-72.938 47.296 2940
+-72.812 47.296 2941
+-72.686 47.296 2942
+-72.56 47.296 3042
+-72.434 47.296 2995
+-72.308 47.296 3146
+-72.182 47.296 3146
+-72.056 47.296 3109
+-71.93 47.296 3110
+-71.804 47.296 3110
+-71.678 47.296 3111
+-71.552 47.296 3112
+-71.426 47.296 3112
+-71.3 47.296 3210
+-71.174 47.296 3205
+-71.048 47.296 3205
+-70.922 47.296 3206
+-70.796 47.296 3207
+-70.67 47.296 3149
+-70.544 47.296 3186
+-70.418 47.296 3187
+-70.292 47.296 3264
+-70.166 47.296 3173
+-70.04 47.296 3173
+-69.914 47.296 3174
+-69.788 47.296 3223
+-69.662 47.296 3176
+-69.536 47.296 3177
+-69.41 47.296 3178
+-69.284 47.296 3406
+-69.158 47.296 3350
+-69.032 47.296 3351
+-68.906 47.296 3484
+-68.78 47.296 3456
+-68.654 47.296 3456
+-68.528 47.296 3402
+-68.402 47.296 3474
+-68.276 47.296 3475
+-68.15 47.296 3476
+-68.024 47.296 3476
+-67.898 47.296 3477
+-67.772 47.296 3476
+-67.646 47.296 3477
+-67.52 47.296 3477
+-67.394 47.296 3466
+-67.268 47.296 3413
+-67.142 47.296 3407
+-67.016 47.296 3407
+-66.89 47.296 3408
+-66.764 47.296 3408
+-66.638 47.296 3408
+-66.512 47.296 3409
+-66.386 47.296 3409
+-66.26 47.296 3410
+-66.134 47.296 3410
+-66.008 47.296 3410
+-65.882 47.296 3411
+-65.756 47.296 3411
+-65.63 47.296 3411
+-65.504 47.296 3412
+-65.378 47.296 3412
+-65.252 47.296 3525
+-65.126 47.296 3526
+-128 47.244 4501
+-127.874 47.244 4568
+-127.748 47.244 4655
+-127.622 47.244 4713
+-127.496 47.244 4686
+-127.37 47.244 4816
+-127.244 47.244 4943
+-127.118 47.244 5106
+-126.992 47.244 5252
+-126.866 47.244 5396
+-126.74 47.244 5482
+-126.614 47.244 5574
+-126.488 47.244 5719
+-126.362 47.244 5912
+-126.236 47.244 6074
+-126.11 47.244 6076
+-125.984 47.244 6328
+-125.858 47.244 6406
+-125.732 47.244 6528
+-125.606 47.244 6658
+-125.48 47.244 6797
+-125.354 47.244 6935
+-125.228 47.244 7057
+-125.102 47.244 7217
+-124.976 47.244 7310
+-124.85 47.244 7531
+-124.724 47.244 7668
+-124.598 47.244 7770
+-124.472 47.244 7912
+-124.346 47.244 8050
+-124.22 47.244 8207
+-124.094 47.244 8323
+-123.968 47.244 8511
+-123.842 47.244 8626
+-123.716 47.244 8769
+-123.59 47.244 8913
+-123.464 47.244 9045
+-123.338 47.244 9140
+-123.212 47.244 9230
+-123.086 47.244 9313
+-122.96 47.244 9281
+-122.834 47.244 9282
+-122.708 47.244 9226
+-122.582 47.244 9077
+-122.456 47.244 8984
+-122.33 47.244 8891
+-122.204 47.244 8720
+-122.078 47.244 8588
+-121.952 47.244 8510
+-121.826 47.244 8342
+-121.7 47.244 8188
+-121.574 47.244 8051
+-121.448 47.244 7878
+-121.322 47.244 7747
+-121.196 47.244 7658
+-121.07 47.244 7520
+-120.944 47.244 7356
+-120.818 47.244 7240
+-120.692 47.244 7140
+-120.566 47.244 6985
+-120.44 47.244 6741
+-120.314 47.244 6894
+-120.188 47.244 6982
+-120.062 47.244 7102
+-119.936 47.244 7169
+-119.81 47.244 7302
+-119.684 47.244 7402
+-119.558 47.244 7530
+-119.432 47.244 7627
+-119.306 47.244 7707
+-119.18 47.244 7772
+-119.054 47.244 7864
+-118.928 47.244 7916
+-118.802 47.244 7964
+-118.676 47.244 8033
+-118.55 47.244 8044
+-118.424 47.244 8067
+-118.298 47.244 8078
+-118.172 47.244 8042
+-118.046 47.244 8046
+-117.92 47.244 8018
+-117.794 47.244 7934
+-117.668 47.244 7873
+-117.542 47.244 7764
+-117.416 47.244 7745
+-117.29 47.244 7642
+-117.164 47.244 7490
+-117.038 47.244 7422
+-116.912 47.244 7359
+-116.786 47.244 7269
+-116.66 47.244 7071
+-116.534 47.244 6991
+-116.408 47.244 6858
+-116.282 47.244 6805
+-116.156 47.244 6627
+-116.03 47.244 6553
+-115.904 47.244 6381
+-115.778 47.244 6329
+-115.652 47.244 6204
+-115.526 47.244 5995
+-115.4 47.244 5901
+-115.274 47.244 5793
+-115.148 47.244 5733
+-115.022 47.244 5555
+-114.896 47.244 5430
+-114.77 47.244 5273
+-114.644 47.244 5120
+-114.518 47.244 5004
+-114.392 47.244 4890
+-114.266 47.244 4766
+-114.14 47.244 4704
+-114.014 47.244 4634
+-113.888 47.244 4510
+-113.762 47.244 4381
+-113.636 47.244 4272
+-113.51 47.244 4141
+-113.384 47.244 4160
+-113.258 47.244 4196
+-113.132 47.244 4213
+-113.006 47.244 4223
+-112.88 47.244 4169
+-112.754 47.244 4169
+-112.628 47.244 4165
+-112.502 47.244 4159
+-112.376 47.244 4123
+-112.25 47.244 4078
+-112.124 47.244 4070
+-111.998 47.244 4028
+-111.872 47.244 3970
+-111.746 47.244 3959
+-111.62 47.244 3927
+-111.494 47.244 3903
+-111.368 47.244 3820
+-111.242 47.244 3808
+-111.116 47.244 3772
+-110.99 47.244 3769
+-110.864 47.244 3668
+-110.738 47.244 3662
+-110.612 47.244 3657
+-110.486 47.244 3653
+-110.36 47.244 3505
+-110.234 47.244 3503
+-110.108 47.244 3501
+-109.982 47.244 3499
+-109.856 47.244 3498
+-109.73 47.244 3497
+-109.604 47.244 3496
+-109.478 47.244 3495
+-109.352 47.244 3495
+-109.226 47.244 3495
+-109.1 47.244 3372
+-108.974 47.244 3371
+-108.848 47.244 3371
+-108.722 47.244 3371
+-108.596 47.244 3370
+-108.47 47.244 3370
+-108.344 47.244 3328
+-108.218 47.244 3327
+-108.092 47.244 3326
+-107.966 47.244 3326
+-107.84 47.244 3325
+-107.714 47.244 3325
+-107.588 47.244 3209
+-107.462 47.244 3209
+-107.336 47.244 3208
+-107.21 47.244 3208
+-107.084 47.244 3208
+-106.958 47.244 3207
+-106.832 47.244 3207
+-106.706 47.244 3207
+-106.58 47.244 3207
+-106.454 47.244 3206
+-106.328 47.244 3206
+-106.202 47.244 3206
+-106.076 47.244 3206
+-105.95 47.244 3206
+-105.824 47.244 3206
+-105.698 47.244 3206
+-105.572 47.244 3206
+-105.446 47.244 3223
+-105.32 47.244 3223
+-105.194 47.244 3223
+-105.068 47.244 3223
+-104.942 47.244 3223
+-104.816 47.244 3224
+-104.69 47.244 3224
+-104.564 47.244 3224
+-104.438 47.244 3139
+-104.312 47.244 3139
+-104.186 47.244 3139
+-104.06 47.244 3139
+-103.934 47.244 3139
+-103.808 47.244 3139
+-103.682 47.244 3140
+-103.556 47.244 3140
+-103.43 47.244 3107
+-103.304 47.244 3024
+-103.178 47.244 3021
+-103.052 47.244 2940
+-102.926 47.244 2932
+-102.8 47.244 2926
+-102.674 47.244 2950
+-102.548 47.244 2967
+-102.422 47.244 2973
+-102.296 47.244 3050
+-102.17 47.244 3225
+-102.044 47.244 3192
+-101.918 47.244 3329
+-101.792 47.244 3329
+-101.666 47.244 3420
+-101.54 47.244 3415
+-101.414 47.244 3333
+-101.288 47.244 3474
+-101.162 47.244 3491
+-101.036 47.244 3447
+-100.91 47.244 3447
+-100.784 47.244 3446
+-100.658 47.244 3463
+-100.532 47.244 3410
+-100.406 47.244 3420
+-100.28 47.244 3419
+-100.154 47.244 3414
+-100.028 47.244 3414
+-99.902 47.244 3414
+-99.776 47.244 3414
+-99.65 47.244 3207
+-99.524 47.244 3238
+-99.398 47.244 3237
+-99.272 47.244 3235
+-99.146 47.244 3217
+-99.02 47.244 3267
+-98.894 47.244 3238
+-98.768 47.244 3236
+-98.642 47.244 3215
+-98.516 47.244 3213
+-98.39 47.244 3132
+-98.264 47.244 3171
+-98.138 47.244 3168
+-98.012 47.244 3166
+-97.886 47.244 3163
+-97.76 47.244 3149
+-97.634 47.244 3146
+-97.508 47.244 3143
+-97.382 47.244 3139
+-97.256 47.244 3136
+-97.13 47.244 3056
+-97.004 47.244 3041
+-96.878 47.244 3018
+-96.752 47.244 2966
+-96.626 47.244 2954
+-96.5 47.244 2937
+-96.374 47.244 2932
+-96.248 47.244 2925
+-96.122 47.244 2907
+-95.996 47.244 2887
+-95.87 47.244 2882
+-95.744 47.244 2876
+-95.618 47.244 2870
+-95.492 47.244 2864
+-95.366 47.244 2857
+-95.24 47.244 2851
+-95.114 47.244 2843
+-94.988 47.244 2836
+-94.862 47.244 2828
+-94.736 47.244 2820
+-94.61 47.244 2811
+-94.484 47.244 2802
+-94.358 47.244 2793
+-94.232 47.244 2783
+-94.106 47.244 2772
+-93.98 47.244 2762
+-93.854 47.244 2750
+-93.728 47.244 2644
+-93.602 47.244 2632
+-93.476 47.244 2610
+-93.35 47.244 2597
+-93.224 47.244 2584
+-93.098 47.244 2570
+-92.972 47.244 2556
+-92.846 47.244 2542
+-92.72 47.244 2527
+-92.594 47.244 2512
+-92.468 47.244 2497
+-92.342 47.244 2483
+-92.216 47.244 2468
+-92.09 47.244 2453
+-91.964 47.244 2439
+-91.838 47.244 2426
+-91.712 47.244 2414
+-91.586 47.244 2402
+-91.46 47.244 2392
+-91.334 47.244 2383
+-91.208 47.244 2376
+-91.082 47.244 2370
+-90.956 47.244 2367
+-90.83 47.244 2365
+-90.704 47.244 2365
+-90.578 47.244 2366
+-90.452 47.244 2370
+-90.326 47.244 2375
+-90.2 47.244 2381
+-90.074 47.244 2389
+-89.948 47.244 2367
+-89.822 47.244 2376
+-89.696 47.244 2385
+-89.57 47.244 2395
+-89.444 47.244 2405
+-89.318 47.244 2415
+-89.192 47.244 2425
+-89.066 47.244 2435
+-88.94 47.244 2445
+-88.814 47.244 2454
+-88.688 47.244 2463
+-88.562 47.244 2472
+-88.436 47.244 2480
+-88.31 47.244 2488
+-88.184 47.244 2495
+-88.058 47.244 2502
+-87.932 47.244 2509
+-87.806 47.244 2515
+-87.68 47.244 2520
+-87.554 47.244 2526
+-87.428 47.244 2531
+-87.302 47.244 2536
+-87.176 47.244 2540
+-87.05 47.244 2544
+-86.924 47.244 2548
+-86.798 47.244 2552
+-86.672 47.244 2555
+-86.546 47.244 2558
+-86.42 47.244 2561
+-86.294 47.244 2564
+-86.168 47.244 2567
+-86.042 47.244 2569
+-85.916 47.244 2571
+-85.79 47.244 2574
+-85.664 47.244 2584
+-85.538 47.244 2586
+-85.412 47.244 2588
+-85.286 47.244 2590
+-85.16 47.244 2503
+-85.034 47.244 2503
+-84.908 47.244 2504
+-84.782 47.244 2505
+-84.656 47.244 2505
+-84.53 47.244 2506
+-84.404 47.244 2506
+-84.278 47.244 2507
+-84.152 47.244 2507
+-84.026 47.244 2508
+-83.9 47.244 2513
+-83.774 47.244 2524
+-83.648 47.244 2524
+-83.522 47.244 2525
+-83.396 47.244 2525
+-83.27 47.244 2544
+-83.144 47.244 2545
+-83.018 47.244 2546
+-82.892 47.244 2547
+-82.766 47.244 2551
+-82.64 47.244 2671
+-82.514 47.244 2671
+-82.388 47.244 2672
+-82.262 47.244 2678
+-82.136 47.244 2678
+-82.01 47.244 2680
+-81.884 47.244 2695
+-81.758 47.244 2680
+-81.632 47.244 2692
+-81.506 47.244 2693
+-81.38 47.244 2691
+-81.254 47.244 2692
+-81.128 47.244 2693
+-81.002 47.244 2694
+-80.876 47.244 2696
+-80.75 47.244 2776
+-80.624 47.244 2777
+-80.498 47.244 2778
+-80.372 47.244 2780
+-80.246 47.244 2796
+-80.12 47.244 2797
+-79.994 47.244 2782
+-79.868 47.244 2783
+-79.742 47.244 2785
+-79.616 47.244 2786
+-79.49 47.244 2761
+-79.364 47.244 2770
+-79.238 47.244 2772
+-79.112 47.244 2892
+-78.986 47.244 2856
+-78.86 47.244 2858
+-78.734 47.244 2986
+-78.608 47.244 2983
+-78.482 47.244 2949
+-78.356 47.244 3008
+-78.23 47.244 2905
+-78.104 47.244 2933
+-77.978 47.244 2986
+-77.852 47.244 2889
+-77.726 47.244 2897
+-77.6 47.244 2806
+-77.474 47.244 2803
+-77.348 47.244 2819
+-77.222 47.244 2793
+-77.096 47.244 2794
+-76.97 47.244 2796
+-76.844 47.244 2738
+-76.718 47.244 2779
+-76.592 47.244 2772
+-76.466 47.244 2762
+-76.34 47.244 2764
+-76.214 47.244 2765
+-76.088 47.244 2767
+-75.962 47.244 2711
+-75.836 47.244 2706
+-75.71 47.244 2708
+-75.584 47.244 2709
+-75.458 47.244 2711
+-75.332 47.244 2708
+-75.206 47.244 2654
+-75.08 47.244 2757
+-74.954 47.244 2754
+-74.828 47.244 2760
+-74.702 47.244 2761
+-74.576 47.244 2762
+-74.45 47.244 2763
+-74.324 47.244 2788
+-74.198 47.244 2767
+-74.072 47.244 2831
+-73.946 47.244 2832
+-73.82 47.244 2824
+-73.694 47.244 2831
+-73.568 47.244 2833
+-73.442 47.244 2834
+-73.316 47.244 2822
+-73.19 47.244 2937
+-73.064 47.244 2939
+-72.938 47.244 2940
+-72.812 47.244 2941
+-72.686 47.244 3041
+-72.56 47.244 2995
+-72.434 47.244 3145
+-72.308 47.244 3146
+-72.182 47.244 3109
+-72.056 47.244 3109
+-71.93 47.244 3110
+-71.804 47.244 3111
+-71.678 47.244 3111
+-71.552 47.244 3112
+-71.426 47.244 3209
+-71.3 47.244 3204
+-71.174 47.244 3205
+-71.048 47.244 3205
+-70.922 47.244 3206
+-70.796 47.244 3149
+-70.67 47.244 3185
+-70.544 47.244 3186
+-70.418 47.244 3263
+-70.292 47.244 3172
+-70.166 47.244 3173
+-70.04 47.244 3174
+-69.914 47.244 3222
+-69.788 47.244 3176
+-69.662 47.244 3176
+-69.536 47.244 3177
+-69.41 47.244 3405
+-69.284 47.244 3350
+-69.158 47.244 3351
+-69.032 47.244 3483
+-68.906 47.244 3455
+-68.78 47.244 3456
+-68.654 47.244 3401
+-68.528 47.244 3474
+-68.402 47.244 3475
+-68.276 47.244 3475
+-68.15 47.244 3476
+-68.024 47.244 3476
+-67.898 47.244 3476
+-67.772 47.244 3476
+-67.646 47.244 3477
+-67.52 47.244 3466
+-67.394 47.244 3413
+-67.268 47.244 3406
+-67.142 47.244 3407
+-67.016 47.244 3407
+-66.89 47.244 3408
+-66.764 47.244 3408
+-66.638 47.244 3408
+-66.512 47.244 3409
+-66.386 47.244 3409
+-66.26 47.244 3410
+-66.134 47.244 3410
+-66.008 47.244 3410
+-65.882 47.244 3411
+-65.756 47.244 3411
+-65.63 47.244 3411
+-65.504 47.244 3412
+-65.378 47.244 3525
+-65.252 47.244 3525
+-65.126 47.244 3509
+-128 47.192 4309
+-127.874 47.192 4438
+-127.748 47.192 4528
+-127.622 47.192 4653
+-127.496 47.192 4740
+-127.37 47.192 4820
+-127.244 47.192 4975
+-127.118 47.192 5128
+-126.992 47.192 5273
+-126.866 47.192 5376
+-126.74 47.192 5478
+-126.614 47.192 5563
+-126.488 47.192 5708
+-126.362 47.192 5927
+-126.236 47.192 5951
+-126.11 47.192 6180
+-125.984 47.192 6239
+-125.858 47.192 6383
+-125.732 47.192 6547
+-125.606 47.192 6723
+-125.48 47.192 6803
+-125.354 47.192 7034
+-125.228 47.192 7049
+-125.102 47.192 7224
+-124.976 47.192 7437
+-124.85 47.192 7563
+-124.724 47.192 7724
+-124.598 47.192 7735
+-124.472 47.192 7928
+-124.346 47.192 8123
+-124.22 47.192 8178
+-124.094 47.192 8380
+-123.968 47.192 8479
+-123.842 47.192 8643
+-123.716 47.192 8813
+-123.59 47.192 8912
+-123.464 47.192 8968
+-123.338 47.192 9127
+-123.212 47.192 9235
+-123.086 47.192 9295
+-122.96 47.192 9368
+-122.834 47.192 9283
+-122.708 47.192 9195
+-122.582 47.192 9087
+-122.456 47.192 8981
+-122.33 47.192 8839
+-122.204 47.192 8782
+-122.078 47.192 8544
+-121.952 47.192 8435
+-121.826 47.192 8329
+-121.7 47.192 8201
+-121.574 47.192 8061
+-121.448 47.192 7936
+-121.322 47.192 7801
+-121.196 47.192 7704
+-121.07 47.192 7531
+-120.944 47.192 7385
+-120.818 47.192 7228
+-120.692 47.192 7105
+-120.566 47.192 6970
+-120.44 47.192 6898
+-120.314 47.192 6863
+-120.188 47.192 7017
+-120.062 47.192 7111
+-119.936 47.192 7208
+-119.81 47.192 7338
+-119.684 47.192 7442
+-119.558 47.192 7585
+-119.432 47.192 7613
+-119.306 47.192 7743
+-119.18 47.192 7792
+-119.054 47.192 7917
+-118.928 47.192 7955
+-118.802 47.192 8032
+-118.676 47.192 8050
+-118.55 47.192 8097
+-118.424 47.192 8111
+-118.298 47.192 8106
+-118.172 47.192 8115
+-118.046 47.192 8119
+-117.92 47.192 8027
+-117.794 47.192 7993
+-117.668 47.192 7939
+-117.542 47.192 7851
+-117.416 47.192 7764
+-117.29 47.192 7683
+-117.164 47.192 7543
+-117.038 47.192 7470
+-116.912 47.192 7398
+-116.786 47.192 7310
+-116.66 47.192 7146
+-116.534 47.192 6994
+-116.408 47.192 6901
+-116.282 47.192 6791
+-116.156 47.192 6686
+-116.03 47.192 6586
+-115.904 47.192 6461
+-115.778 47.192 6375
+-115.652 47.192 6253
+-115.526 47.192 6070
+-115.4 47.192 5925
+-115.274 47.192 5816
+-115.148 47.192 5755
+-115.022 47.192 5597
+-114.896 47.192 5448
+-114.77 47.192 5286
+-114.644 47.192 5137
+-114.518 47.192 5046
+-114.392 47.192 4918
+-114.266 47.192 4765
+-114.14 47.192 4632
+-114.014 47.192 4636
+-113.888 47.192 4475
+-113.762 47.192 4325
+-113.636 47.192 4225
+-113.51 47.192 3965
+-113.384 47.192 4103
+-113.258 47.192 4199
+-113.132 47.192 4225
+-113.006 47.192 4245
+-112.88 47.192 4235
+-112.754 47.192 4179
+-112.628 47.192 4177
+-112.502 47.192 4145
+-112.376 47.192 4104
+-112.25 47.192 4097
+-112.124 47.192 4052
+-111.998 47.192 3995
+-111.872 47.192 3985
+-111.746 47.192 3950
+-111.62 47.192 3923
+-111.494 47.192 3919
+-111.368 47.192 3879
+-111.242 47.192 3869
+-111.116 47.192 3788
+-110.99 47.192 3783
+-110.864 47.192 3780
+-110.738 47.192 3680
+-110.612 47.192 3674
+-110.486 47.192 3525
+-110.36 47.192 3522
+-110.234 47.192 3518
+-110.108 47.192 3516
+-109.982 47.192 3513
+-109.856 47.192 3511
+-109.73 47.192 3510
+-109.604 47.192 3508
+-109.478 47.192 3507
+-109.352 47.192 3506
+-109.226 47.192 3505
+-109.1 47.192 3505
+-108.974 47.192 3382
+-108.848 47.192 3381
+-108.722 47.192 3380
+-108.596 47.192 3385
+-108.47 47.192 3336
+-108.344 47.192 3335
+-108.218 47.192 3334
+-108.092 47.192 3332
+-107.966 47.192 3331
+-107.84 47.192 3331
+-107.714 47.192 3330
+-107.588 47.192 3329
+-107.462 47.192 3214
+-107.336 47.192 3214
+-107.21 47.192 3213
+-107.084 47.192 3227
+-106.958 47.192 3227
+-106.832 47.192 3227
+-106.706 47.192 3226
+-106.58 47.192 3226
+-106.454 47.192 3226
+-106.328 47.192 3226
+-106.202 47.192 3226
+-106.076 47.192 3226
+-105.95 47.192 3226
+-105.824 47.192 3226
+-105.698 47.192 3226
+-105.572 47.192 3226
+-105.446 47.192 3226
+-105.32 47.192 3226
+-105.194 47.192 3226
+-105.068 47.192 3226
+-104.942 47.192 3226
+-104.816 47.192 3226
+-104.69 47.192 3226
+-104.564 47.192 3141
+-104.438 47.192 3141
+-104.312 47.192 3141
+-104.186 47.192 3141
+-104.06 47.192 3141
+-103.934 47.192 3142
+-103.808 47.192 3142
+-103.682 47.192 3142
+-103.556 47.192 3110
+-103.43 47.192 3026
+-103.304 47.192 3025
+-103.178 47.192 3022
+-103.052 47.192 2942
+-102.926 47.192 2934
+-102.8 47.192 2927
+-102.674 47.192 2952
+-102.548 47.192 2969
+-102.422 47.192 2975
+-102.296 47.192 3052
+-102.17 47.192 3226
+-102.044 47.192 3232
+-101.918 47.192 3329
+-101.792 47.192 3329
+-101.666 47.192 3450
+-101.54 47.192 3419
+-101.414 47.192 3415
+-101.288 47.192 3332
+-101.162 47.192 3473
+-101.036 47.192 3490
+-100.91 47.192 3447
+-100.784 47.192 3446
+-100.658 47.192 3446
+-100.532 47.192 3462
+-100.406 47.192 3409
+-100.28 47.192 3419
+-100.154 47.192 3414
+-100.028 47.192 3414
+-99.902 47.192 3413
+-99.776 47.192 3413
+-99.65 47.192 3413
+-99.524 47.192 3207
+-99.398 47.192 3238
+-99.272 47.192 3236
+-99.146 47.192 3234
+-99.02 47.192 3216
+-98.894 47.192 3266
+-98.768 47.192 3237
+-98.642 47.192 3235
+-98.516 47.192 3214
+-98.39 47.192 3211
+-98.264 47.192 3131
+-98.138 47.192 3170
+-98.012 47.192 3167
+-97.886 47.192 3164
+-97.76 47.192 3161
+-97.634 47.192 3147
+-97.508 47.192 3144
+-97.382 47.192 3141
+-97.256 47.192 3137
+-97.13 47.192 3133
+-97.004 47.192 3054
+-96.878 47.192 3038
+-96.752 47.192 3016
+-96.626 47.192 2964
+-96.5 47.192 2951
+-96.374 47.192 2934
+-96.248 47.192 2929
+-96.122 47.192 2922
+-95.996 47.192 2903
+-95.87 47.192 2883
+-95.744 47.192 2877
+-95.618 47.192 2871
+-95.492 47.192 2865
+-95.366 47.192 2858
+-95.24 47.192 2851
+-95.114 47.192 2844
+-94.988 47.192 2837
+-94.862 47.192 2828
+-94.736 47.192 2820
+-94.61 47.192 2811
+-94.484 47.192 2802
+-94.358 47.192 2792
+-94.232 47.192 2782
+-94.106 47.192 2771
+-93.98 47.192 2760
+-93.854 47.192 2748
+-93.728 47.192 2735
+-93.602 47.192 2629
+-93.476 47.192 2616
+-93.35 47.192 2593
+-93.224 47.192 2579
+-93.098 47.192 2564
+-92.972 47.192 2549
+-92.846 47.192 2534
+-92.72 47.192 2518
+-92.594 47.192 2502
+-92.468 47.192 2486
+-92.342 47.192 2469
+-92.216 47.192 2453
+-92.09 47.192 2437
+-91.964 47.192 2421
+-91.838 47.192 2407
+-91.712 47.192 2393
+-91.586 47.192 2380
+-91.46 47.192 2368
+-91.334 47.192 2358
+-91.208 47.192 2350
+-91.082 47.192 2344
+-90.956 47.192 2340
+-90.83 47.192 2338
+-90.704 47.192 2338
+-90.578 47.192 2341
+-90.452 47.192 2345
+-90.326 47.192 2351
+-90.2 47.192 2358
+-90.074 47.192 2367
+-89.948 47.192 2347
+-89.822 47.192 2358
+-89.696 47.192 2369
+-89.57 47.192 2380
+-89.444 47.192 2392
+-89.318 47.192 2403
+-89.192 47.192 2414
+-89.066 47.192 2425
+-88.94 47.192 2436
+-88.814 47.192 2446
+-88.688 47.192 2456
+-88.562 47.192 2465
+-88.436 47.192 2474
+-88.31 47.192 2482
+-88.184 47.192 2490
+-88.058 47.192 2498
+-87.932 47.192 2504
+-87.806 47.192 2511
+-87.68 47.192 2517
+-87.554 47.192 2523
+-87.428 47.192 2528
+-87.302 47.192 2533
+-87.176 47.192 2537
+-87.05 47.192 2542
+-86.924 47.192 2546
+-86.798 47.192 2549
+-86.672 47.192 2553
+-86.546 47.192 2556
+-86.42 47.192 2559
+-86.294 47.192 2562
+-86.168 47.192 2565
+-86.042 47.192 2567
+-85.916 47.192 2569
+-85.79 47.192 2580
+-85.664 47.192 2582
+-85.538 47.192 2584
+-85.412 47.192 2586
+-85.286 47.192 2500
+-85.16 47.192 2501
+-85.034 47.192 2502
+-84.908 47.192 2502
+-84.782 47.192 2503
+-84.656 47.192 2503
+-84.53 47.192 2504
+-84.404 47.192 2504
+-84.278 47.192 2505
+-84.152 47.192 2505
+-84.026 47.192 2511
+-83.9 47.192 2521
+-83.774 47.192 2522
+-83.648 47.192 2522
+-83.522 47.192 2523
+-83.396 47.192 2542
+-83.27 47.192 2543
+-83.144 47.192 2543
+-83.018 47.192 2544
+-82.892 47.192 2549
+-82.766 47.192 2668
+-82.64 47.192 2668
+-82.514 47.192 2669
+-82.388 47.192 2674
+-82.262 47.192 2675
+-82.136 47.192 2677
+-82.01 47.192 2692
+-81.884 47.192 2677
+-81.758 47.192 2689
+-81.632 47.192 2690
+-81.506 47.192 2688
+-81.38 47.192 2689
+-81.254 47.192 2690
+-81.128 47.192 2691
+-81.002 47.192 2693
+-80.876 47.192 2773
+-80.75 47.192 2774
+-80.624 47.192 2775
+-80.498 47.192 2776
+-80.372 47.192 2792
+-80.246 47.192 2794
+-80.12 47.192 2779
+-79.994 47.192 2780
+-79.868 47.192 2782
+-79.742 47.192 2783
+-79.616 47.192 2758
+-79.49 47.192 2768
+-79.364 47.192 2769
+-79.238 47.192 2889
+-79.112 47.192 2854
+-78.986 47.192 2855
+-78.86 47.192 2982
+-78.734 47.192 2980
+-78.608 47.192 2946
+-78.482 47.192 3004
+-78.356 47.192 2902
+-78.23 47.192 2930
+-78.104 47.192 2983
+-77.978 47.192 2887
+-77.852 47.192 2894
+-77.726 47.192 2804
+-77.6 47.192 2801
+-77.474 47.192 2817
+-77.348 47.192 2791
+-77.222 47.192 2792
+-77.096 47.192 2794
+-76.97 47.192 2736
+-76.844 47.192 2777
+-76.718 47.192 2770
+-76.592 47.192 2760
+-76.466 47.192 2762
+-76.34 47.192 2764
+-76.214 47.192 2765
+-76.088 47.192 2709
+-75.962 47.192 2705
+-75.836 47.192 2707
+-75.71 47.192 2708
+-75.584 47.192 2709
+-75.458 47.192 2706
+-75.332 47.192 2653
+-75.206 47.192 2756
+-75.08 47.192 2753
+-74.954 47.192 2759
+-74.828 47.192 2760
+-74.702 47.192 2761
+-74.576 47.192 2762
+-74.45 47.192 2787
+-74.324 47.192 2766
+-74.198 47.192 2830
+-74.072 47.192 2831
+-73.946 47.192 2823
+-73.82 47.192 2830
+-73.694 47.192 2832
+-73.568 47.192 2833
+-73.442 47.192 2821
+-73.316 47.192 2936
+-73.19 47.192 2938
+-73.064 47.192 2939
+-72.938 47.192 2940
+-72.812 47.192 3040
+-72.686 47.192 2994
+-72.56 47.192 3144
+-72.434 47.192 3145
+-72.308 47.192 3108
+-72.182 47.192 3109
+-72.056 47.192 3109
+-71.93 47.192 3110
+-71.804 47.192 3111
+-71.678 47.192 3111
+-71.552 47.192 3208
+-71.426 47.192 3203
+-71.3 47.192 3204
+-71.174 47.192 3205
+-71.048 47.192 3206
+-70.922 47.192 3148
+-70.796 47.192 3185
+-70.67 47.192 3185
+-70.544 47.192 3263
+-70.418 47.192 3171
+-70.292 47.192 3172
+-70.166 47.192 3173
+-70.04 47.192 3222
+-69.914 47.192 3175
+-69.788 47.192 3176
+-69.662 47.192 3177
+-69.536 47.192 3405
+-69.41 47.192 3350
+-69.284 47.192 3350
+-69.158 47.192 3483
+-69.032 47.192 3455
+-68.906 47.192 3455
+-68.78 47.192 3401
+-68.654 47.192 3473
+-68.528 47.192 3475
+-68.402 47.192 3475
+-68.276 47.192 3475
+-68.15 47.192 3476
+-68.024 47.192 3476
+-67.898 47.192 3476
+-67.772 47.192 3476
+-67.646 47.192 3466
+-67.52 47.192 3412
+-67.394 47.192 3406
+-67.268 47.192 3407
+-67.142 47.192 3407
+-67.016 47.192 3407
+-66.89 47.192 3408
+-66.764 47.192 3408
+-66.638 47.192 3409
+-66.512 47.192 3409
+-66.386 47.192 3409
+-66.26 47.192 3410
+-66.134 47.192 3410
+-66.008 47.192 3410
+-65.882 47.192 3411
+-65.756 47.192 3411
+-65.63 47.192 3412
+-65.504 47.192 3525
+-65.378 47.192 3525
+-65.252 47.192 3509
+-65.126 47.192 3509
+-128 47.14 4105
+-127.874 47.14 4370
+-127.748 47.14 4395
+-127.622 47.14 4569
+-127.496 47.14 4674
+-127.37 47.14 4795
+-127.244 47.14 4981
+-127.118 47.14 5130
+-126.992 47.14 5282
+-126.866 47.14 5284
+-126.74 47.14 5437
+-126.614 47.14 5558
+-126.488 47.14 5711
+-126.362 47.14 5908
+-126.236 47.14 6071
+-126.11 47.14 6153
+-125.984 47.14 6307
+-125.858 47.14 6393
+-125.732 47.14 6532
+-125.606 47.14 6728
+-125.48 47.14 6822
+-125.354 47.14 6906
+-125.228 47.14 7042
+-125.102 47.14 7219
+-124.976 47.14 7426
+-124.85 47.14 7534
+-124.724 47.14 7651
+-124.598 47.14 7792
+-124.472 47.14 7904
+-124.346 47.14 8027
+-124.22 47.14 8226
+-124.094 47.14 8363
+-123.968 47.14 8504
+-123.842 47.14 8626
+-123.716 47.14 8767
+-123.59 47.14 8851
+-123.464 47.14 8998
+-123.338 47.14 9204
+-123.212 47.14 9290
+-123.086 47.14 9406
+-122.96 47.14 9425
+-122.834 47.14 9335
+-122.708 47.14 9296
+-122.582 47.14 9156
+-122.456 47.14 9012
+-122.33 47.14 8893
+-122.204 47.14 8748
+-122.078 47.14 8658
+-121.952 47.14 8528
+-121.826 47.14 8409
+-121.7 47.14 8246
+-121.574 47.14 8053
+-121.448 47.14 7886
+-121.322 47.14 7748
+-121.196 47.14 7624
+-121.07 47.14 7566
+-120.944 47.14 7384
+-120.818 47.14 7247
+-120.692 47.14 7160
+-120.566 47.14 6730
+-120.44 47.14 6779
+-120.314 47.14 6958
+-120.188 47.14 7031
+-120.062 47.14 7117
+-119.936 47.14 7268
+-119.81 47.14 7350
+-119.684 47.14 7476
+-119.558 47.14 7584
+-119.432 47.14 7681
+-119.306 47.14 7777
+-119.18 47.14 7904
+-119.054 47.14 7924
+-118.928 47.14 8005
+-118.802 47.14 8110
+-118.676 47.14 8130
+-118.55 47.14 8154
+-118.424 47.14 8194
+-118.298 47.14 8177
+-118.172 47.14 8158
+-118.046 47.14 8115
+-117.92 47.14 8079
+-117.794 47.14 8031
+-117.668 47.14 7968
+-117.542 47.14 7833
+-117.416 47.14 7812
+-117.29 47.14 7732
+-117.164 47.14 7597
+-117.038 47.14 7466
+-116.912 47.14 7409
+-116.786 47.14 7268
+-116.66 47.14 7203
+-116.534 47.14 7043
+-116.408 47.14 6908
+-116.282 47.14 6869
+-116.156 47.14 6738
+-116.03 47.14 6563
+-115.904 47.14 6438
+-115.778 47.14 6404
+-115.652 47.14 6297
+-115.526 47.14 6159
+-115.4 47.14 6005
+-115.274 47.14 5858
+-115.148 47.14 5729
+-115.022 47.14 5581
+-114.896 47.14 5468
+-114.77 47.14 5335
+-114.644 47.14 5165
+-114.518 47.14 5115
+-114.392 47.14 4945
+-114.266 47.14 4814
+-114.14 47.14 4612
+-114.014 47.14 4643
+-113.888 47.14 4504
+-113.762 47.14 4375
+-113.636 47.14 4265
+-113.51 47.14 4140
+-113.384 47.14 4166
+-113.258 47.14 4207
+-113.132 47.14 4229
+-113.006 47.14 4232
+-112.88 47.14 4244
+-112.754 47.14 4256
+-112.628 47.14 4154
+-112.502 47.14 4125
+-112.376 47.14 4120
+-112.25 47.14 4073
+-112.124 47.14 4020
+-111.998 47.14 4008
+-111.872 47.14 3971
+-111.746 47.14 3942
+-111.62 47.14 3937
+-111.494 47.14 3893
+-111.368 47.14 3882
+-111.242 47.14 3878
+-111.116 47.14 3875
+-110.99 47.14 3796
+-110.864 47.14 3792
+-110.738 47.14 3788
+-110.612 47.14 3690
+-110.486 47.14 3541
+-110.36 47.14 3536
+-110.234 47.14 3533
+-110.108 47.14 3529
+-109.982 47.14 3526
+-109.856 47.14 3524
+-109.73 47.14 3522
+-109.604 47.14 3520
+-109.478 47.14 3518
+-109.352 47.14 3517
+-109.226 47.14 3515
+-109.1 47.14 3490
+-108.974 47.14 3489
+-108.848 47.14 3390
+-108.722 47.14 3394
+-108.596 47.14 3345
+-108.47 47.14 3343
+-108.344 47.14 3341
+-108.218 47.14 3340
+-108.092 47.14 3338
+-107.966 47.14 3337
+-107.84 47.14 3336
+-107.714 47.14 3335
+-107.588 47.14 3334
+-107.462 47.14 3333
+-107.336 47.14 3219
+-107.21 47.14 3232
+-107.084 47.14 3232
+-106.958 47.14 3231
+-106.832 47.14 3231
+-106.706 47.14 3230
+-106.58 47.14 3230
+-106.454 47.14 3230
+-106.328 47.14 3229
+-106.202 47.14 3229
+-106.076 47.14 3229
+-105.95 47.14 3229
+-105.824 47.14 3229
+-105.698 47.14 3228
+-105.572 47.14 3228
+-105.446 47.14 3228
+-105.32 47.14 3228
+-105.194 47.14 3228
+-105.068 47.14 3228
+-104.942 47.14 3228
+-104.816 47.14 3228
+-104.69 47.14 3144
+-104.564 47.14 3144
+-104.438 47.14 3144
+-104.312 47.14 3144
+-104.186 47.14 3144
+-104.06 47.14 3144
+-103.934 47.14 3144
+-103.808 47.14 3144
+-103.682 47.14 3113
+-103.556 47.14 3112
+-103.43 47.14 3027
+-103.304 47.14 3026
+-103.178 47.14 3023
+-103.052 47.14 2943
+-102.926 47.14 2935
+-102.8 47.14 2881
+-102.674 47.14 2973
+-102.548 47.14 2971
+-102.422 47.14 3045
+-102.296 47.14 3119
+-102.17 47.14 3219
+-102.044 47.14 3234
+-101.918 47.14 3329
+-101.792 47.14 3452
+-101.666 47.14 3449
+-101.54 47.14 3449
+-101.414 47.14 3418
+-101.288 47.14 3414
+-101.162 47.14 3332
+-101.036 47.14 3473
+-100.91 47.14 3489
+-100.784 47.14 3446
+-100.658 47.14 3446
+-100.532 47.14 3445
+-100.406 47.14 3461
+-100.28 47.14 3409
+-100.154 47.14 3418
+-100.028 47.14 3418
+-99.902 47.14 3413
+-99.776 47.14 3413
+-99.65 47.14 3412
+-99.524 47.14 3412
+-99.398 47.14 3206
+-99.272 47.14 3237
+-99.146 47.14 3235
+-99.02 47.14 3233
+-98.894 47.14 3215
+-98.768 47.14 3265
+-98.642 47.14 3236
+-98.516 47.14 3233
+-98.39 47.14 3213
+-98.264 47.14 3210
+-98.138 47.14 3130
+-98.012 47.14 3168
+-97.886 47.14 3165
+-97.76 47.14 3162
+-97.634 47.14 3159
+-97.508 47.14 3145
+-97.382 47.14 3142
+-97.256 47.14 3138
+-97.13 47.14 3135
+-97.004 47.14 3131
+-96.878 47.14 3052
+-96.752 47.14 3036
+-96.626 47.14 3013
+-96.5 47.14 2961
+-96.374 47.14 2948
+-96.248 47.14 2931
+-96.122 47.14 2925
+-95.996 47.14 2918
+-95.87 47.14 2899
+-95.744 47.14 2879
+-95.618 47.14 2873
+-95.492 47.14 2866
+-95.366 47.14 2860
+-95.24 47.14 2853
+-95.114 47.14 2845
+-94.988 47.14 2837
+-94.862 47.14 2829
+-94.736 47.14 2820
+-94.61 47.14 2811
+-94.484 47.14 2802
+-94.358 47.14 2792
+-94.232 47.14 2781
+-94.106 47.14 2770
+-93.98 47.14 2758
+-93.854 47.14 2746
+-93.728 47.14 2733
+-93.602 47.14 2719
+-93.476 47.14 2613
+-93.35 47.14 2598
+-93.224 47.14 2574
+-93.098 47.14 2559
+-92.972 47.14 2542
+-92.846 47.14 2526
+-92.72 47.14 2509
+-92.594 47.14 2491
+-92.468 47.14 2473
+-92.342 47.14 2455
+-92.216 47.14 2437
+-92.09 47.14 2420
+-91.964 47.14 2402
+-91.838 47.14 2386
+-91.712 47.14 2370
+-91.586 47.14 2355
+-91.46 47.14 2343
+-91.334 47.14 2331
+-91.208 47.14 2322
+-91.082 47.14 2315
+-90.956 47.14 2311
+-90.83 47.14 2309
+-90.704 47.14 2309
+-90.578 47.14 2312
+-90.452 47.14 2317
+-90.326 47.14 2324
+-90.2 47.14 2333
+-90.074 47.14 2344
+-89.948 47.14 2326
+-89.822 47.14 2339
+-89.696 47.14 2351
+-89.57 47.14 2364
+-89.444 47.14 2377
+-89.318 47.14 2390
+-89.192 47.14 2403
+-89.066 47.14 2415
+-88.94 47.14 2427
+-88.814 47.14 2438
+-88.688 47.14 2449
+-88.562 47.14 2459
+-88.436 47.14 2468
+-88.31 47.14 2477
+-88.184 47.14 2485
+-88.058 47.14 2493
+-87.932 47.14 2500
+-87.806 47.14 2507
+-87.68 47.14 2513
+-87.554 47.14 2519
+-87.428 47.14 2525
+-87.302 47.14 2530
+-87.176 47.14 2535
+-87.05 47.14 2539
+-86.924 47.14 2543
+-86.798 47.14 2547
+-86.672 47.14 2550
+-86.546 47.14 2554
+-86.42 47.14 2557
+-86.294 47.14 2560
+-86.168 47.14 2562
+-86.042 47.14 2565
+-85.916 47.14 2575
+-85.79 47.14 2578
+-85.664 47.14 2580
+-85.538 47.14 2582
+-85.412 47.14 2498
+-85.286 47.14 2498
+-85.16 47.14 2499
+-85.034 47.14 2500
+-84.908 47.14 2500
+-84.782 47.14 2501
+-84.656 47.14 2501
+-84.53 47.14 2502
+-84.404 47.14 2502
+-84.278 47.14 2503
+-84.152 47.14 2508
+-84.026 47.14 2519
+-83.9 47.14 2519
+-83.774 47.14 2520
+-83.648 47.14 2520
+-83.522 47.14 2539
+-83.396 47.14 2540
+-83.27 47.14 2541
+-83.144 47.14 2542
+-83.018 47.14 2546
+-82.892 47.14 2665
+-82.766 47.14 2665
+-82.64 47.14 2665
+-82.514 47.14 2671
+-82.388 47.14 2672
+-82.262 47.14 2674
+-82.136 47.14 2688
+-82.01 47.14 2674
+-81.884 47.14 2686
+-81.758 47.14 2687
+-81.632 47.14 2685
+-81.506 47.14 2686
+-81.38 47.14 2687
+-81.254 47.14 2688
+-81.128 47.14 2690
+-81.002 47.14 2769
+-80.876 47.14 2771
+-80.75 47.14 2772
+-80.624 47.14 2773
+-80.498 47.14 2789
+-80.372 47.14 2790
+-80.246 47.14 2776
+-80.12 47.14 2777
+-79.994 47.14 2779
+-79.868 47.14 2780
+-79.742 47.14 2755
+-79.616 47.14 2765
+-79.49 47.14 2766
+-79.364 47.14 2886
+-79.238 47.14 2851
+-79.112 47.14 2852
+-78.986 47.14 2979
+-78.86 47.14 2977
+-78.734 47.14 2943
+-78.608 47.14 3001
+-78.482 47.14 2899
+-78.356 47.14 2927
+-78.23 47.14 2979
+-78.104 47.14 2884
+-77.978 47.14 2891
+-77.852 47.14 2802
+-77.726 47.14 2799
+-77.6 47.14 2814
+-77.474 47.14 2789
+-77.348 47.14 2790
+-77.222 47.14 2792
+-77.096 47.14 2735
+-76.97 47.14 2775
+-76.844 47.14 2768
+-76.718 47.14 2759
+-76.592 47.14 2760
+-76.466 47.14 2762
+-76.34 47.14 2764
+-76.214 47.14 2708
+-76.088 47.14 2704
+-75.962 47.14 2705
+-75.836 47.14 2707
+-75.71 47.14 2708
+-75.584 47.14 2705
+-75.458 47.14 2652
+-75.332 47.14 2755
+-75.206 47.14 2751
+-75.08 47.14 2758
+-74.954 47.14 2759
+-74.828 47.14 2760
+-74.702 47.14 2761
+-74.576 47.14 2786
+-74.45 47.14 2765
+-74.324 47.14 2829
+-74.198 47.14 2830
+-74.072 47.14 2822
+-73.946 47.14 2829
+-73.82 47.14 2831
+-73.694 47.14 2832
+-73.568 47.14 2820
+-73.442 47.14 2935
+-73.316 47.14 2937
+-73.19 47.14 2938
+-73.064 47.14 2939
+-72.938 47.14 3039
+-72.812 47.14 2993
+-72.686 47.14 3143
+-72.56 47.14 3144
+-72.434 47.14 3107
+-72.308 47.14 3108
+-72.182 47.14 3109
+-72.056 47.14 3109
+-71.93 47.14 3110
+-71.804 47.14 3111
+-71.678 47.14 3207
+-71.552 47.14 3202
+-71.426 47.14 3203
+-71.3 47.14 3204
+-71.174 47.14 3205
+-71.048 47.14 3148
+-70.922 47.14 3184
+-70.796 47.14 3185
+-70.67 47.14 3262
+-70.544 47.14 3171
+-70.418 47.14 3171
+-70.292 47.14 3172
+-70.166 47.14 3221
+-70.04 47.14 3174
+-69.914 47.14 3175
+-69.788 47.14 3176
+-69.662 47.14 3404
+-69.536 47.14 3349
+-69.41 47.14 3350
+-69.284 47.14 3482
+-69.158 47.14 3454
+-69.032 47.14 3455
+-68.906 47.14 3400
+-68.78 47.14 3473
+-68.654 47.14 3474
+-68.528 47.14 3475
+-68.402 47.14 3475
+-68.276 47.14 3475
+-68.15 47.14 3475
+-68.024 47.14 3476
+-67.898 47.14 3476
+-67.772 47.14 3465
+-67.646 47.14 3412
+-67.52 47.14 3406
+-67.394 47.14 3406
+-67.268 47.14 3407
+-67.142 47.14 3407
+-67.016 47.14 3407
+-66.89 47.14 3408
+-66.764 47.14 3408
+-66.638 47.14 3409
+-66.512 47.14 3409
+-66.386 47.14 3409
+-66.26 47.14 3410
+-66.134 47.14 3410
+-66.008 47.14 3411
+-65.882 47.14 3411
+-65.756 47.14 3411
+-65.63 47.14 3525
+-65.504 47.14 3525
+-65.378 47.14 3509
+-65.252 47.14 3509
+-65.126 47.14 3509
+-128 47.088 4317
+-127.874 47.088 4442
+-127.748 47.088 4522
+-127.622 47.088 4541
+-127.496 47.088 4596
+-127.37 47.088 4741
+-127.244 47.088 4984
+-127.118 47.088 5128
+-126.992 47.088 5244
+-126.866 47.088 5387
+-126.74 47.088 5524
+-126.614 47.088 5605
+-126.488 47.088 5707
+-126.362 47.088 5894
+-126.236 47.088 6077
+-126.11 47.088 6232
+-125.984 47.088 6221
+-125.858 47.088 6402
+-125.732 47.088 6561
+-125.606 47.088 6741
+-125.48 47.088 6866
+-125.354 47.088 7034
+-125.228 47.088 7088
+-125.102 47.088 7206
+-124.976 47.088 7406
+-124.85 47.088 7572
+-124.724 47.088 7667
+-124.598 47.088 7809
+-124.472 47.088 7954
+-124.346 47.088 8089
+-124.22 47.088 8289
+-124.094 47.088 8339
+-123.968 47.088 8513
+-123.842 47.088 8697
+-123.716 47.088 8808
+-123.59 47.088 8906
+-123.464 47.088 9003
+-123.338 47.088 9199
+-123.212 47.088 9268
+-123.086 47.088 9343
+-122.96 47.088 9404
+-122.834 47.088 9429
+-122.708 47.088 9260
+-122.582 47.088 9125
+-122.456 47.088 9109
+-122.33 47.088 8904
+-122.204 47.088 8766
+-122.078 47.088 8669
+-121.952 47.088 8531
+-121.826 47.088 8416
+-121.7 47.088 8212
+-121.574 47.088 8061
+-121.448 47.088 7900
+-121.322 47.088 7754
+-121.196 47.088 7619
+-121.07 47.088 7513
+-120.944 47.088 7393
+-120.818 47.088 7213
+-120.692 47.088 7082
+-120.566 47.088 7011
+-120.44 47.088 6933
+-120.314 47.088 6981
+-120.188 47.088 7054
+-120.062 47.088 7173
+-119.936 47.088 7307
+-119.81 47.088 7417
+-119.684 47.088 7538
+-119.558 47.088 7619
+-119.432 47.088 7734
+-119.306 47.088 7804
+-119.18 47.088 7912
+-119.054 47.088 7984
+-118.928 47.088 8091
+-118.802 47.088 8134
+-118.676 47.088 8182
+-118.55 47.088 8183
+-118.424 47.088 8239
+-118.298 47.088 8208
+-118.172 47.088 8214
+-118.046 47.088 8184
+-117.92 47.088 8154
+-117.794 47.088 8102
+-117.668 47.088 7998
+-117.542 47.088 7915
+-117.416 47.088 7812
+-117.29 47.088 7760
+-117.164 47.088 7658
+-117.038 47.088 7511
+-116.912 47.088 7386
+-116.786 47.088 7345
+-116.66 47.088 7159
+-116.534 47.088 7023
+-116.408 47.088 7029
+-116.282 47.088 6862
+-116.156 47.088 6787
+-116.03 47.088 6591
+-115.904 47.088 6446
+-115.778 47.088 6363
+-115.652 47.088 6237
+-115.526 47.088 6219
+-115.4 47.088 6073
+-115.274 47.088 5885
+-115.148 47.088 5727
+-115.022 47.088 5546
+-114.896 47.088 5499
+-114.77 47.088 5369
+-114.644 47.088 5225
+-114.518 47.088 5072
+-114.392 47.088 4949
+-114.266 47.088 4864
+-114.14 47.088 4744
+-114.014 47.088 4682
+-113.888 47.088 4529
+-113.762 47.088 4364
+-113.636 47.088 4259
+-113.51 47.088 4238
+-113.384 47.088 4226
+-113.258 47.088 4223
+-113.132 47.088 4218
+-113.006 47.088 4228
+-112.88 47.088 4240
+-112.754 47.088 4216
+-112.628 47.088 4224
+-112.502 47.088 4136
+-112.376 47.088 4098
+-112.25 47.088 4038
+-112.124 47.088 4027
+-111.998 47.088 3989
+-111.872 47.088 3959
+-111.746 47.088 3952
+-111.62 47.088 3907
+-111.494 47.088 3894
+-111.368 47.088 3889
+-111.242 47.088 3885
+-111.116 47.088 3882
+-110.99 47.088 3879
+-110.864 47.088 3801
+-110.738 47.088 3797
+-110.612 47.088 3744
+-110.486 47.088 3740
+-110.36 47.088 3550
+-110.234 47.088 3546
+-110.108 47.088 3542
+-109.982 47.088 3538
+-109.856 47.088 3535
+-109.73 47.088 3533
+-109.604 47.088 3508
+-109.478 47.088 3505
+-109.352 47.088 3503
+-109.226 47.088 3501
+-109.1 47.088 3499
+-108.974 47.088 3497
+-108.848 47.088 3404
+-108.722 47.088 3353
+-108.596 47.088 3351
+-108.47 47.088 3362
+-108.344 47.088 3361
+-108.218 47.088 3359
+-108.092 47.088 3357
+-107.966 47.088 3356
+-107.84 47.088 3355
+-107.714 47.088 3354
+-107.588 47.088 3353
+-107.462 47.088 3352
+-107.336 47.088 3238
+-107.21 47.088 3237
+-107.084 47.088 3236
+-106.958 47.088 3235
+-106.832 47.088 3235
+-106.706 47.088 3234
+-106.58 47.088 3234
+-106.454 47.088 3233
+-106.328 47.088 3233
+-106.202 47.088 3232
+-106.076 47.088 3232
+-105.95 47.088 3232
+-105.824 47.088 3231
+-105.698 47.088 3231
+-105.572 47.088 3231
+-105.446 47.088 3231
+-105.32 47.088 3231
+-105.194 47.088 3230
+-105.068 47.088 3230
+-104.942 47.088 3230
+-104.816 47.088 3147
+-104.69 47.088 3146
+-104.564 47.088 3146
+-104.438 47.088 3146
+-104.312 47.088 3146
+-104.186 47.088 3146
+-104.06 47.088 3146
+-103.934 47.088 3146
+-103.808 47.088 3116
+-103.682 47.088 3115
+-103.556 47.088 3113
+-103.43 47.088 3029
+-103.304 47.088 3027
+-103.178 47.088 2985
+-103.052 47.088 2894
+-102.926 47.088 2880
+-102.8 47.088 2940
+-102.674 47.088 2906
+-102.548 47.088 2910
+-102.422 47.088 2973
+-102.296 47.088 3041
+-102.17 47.088 3131
+-102.044 47.088 3226
+-101.918 47.088 3319
+-101.792 47.088 3451
+-101.666 47.088 3451
+-101.54 47.088 3449
+-101.414 47.088 3448
+-101.288 47.088 3417
+-101.162 47.088 3413
+-101.036 47.088 3331
+-100.91 47.088 3472
+-100.784 47.088 3489
+-100.658 47.088 3445
+-100.532 47.088 3445
+-100.406 47.088 3445
+-100.28 47.088 3461
+-100.154 47.088 3408
+-100.028 47.088 3418
+-99.902 47.088 3413
+-99.776 47.088 3412
+-99.65 47.088 3412
+-99.524 47.088 3412
+-99.398 47.088 3412
+-99.272 47.088 3206
+-99.146 47.088 3236
+-99.02 47.088 3234
+-98.894 47.088 3232
+-98.768 47.088 3214
+-98.642 47.088 3264
+-98.516 47.088 3235
+-98.39 47.088 3232
+-98.264 47.088 3211
+-98.138 47.088 3209
+-98.012 47.088 3129
+-97.886 47.088 3167
+-97.76 47.088 3164
+-97.634 47.088 3160
+-97.508 47.088 3157
+-97.382 47.088 3143
+-97.256 47.088 3140
+-97.13 47.088 3136
+-97.004 47.088 3132
+-96.878 47.088 3128
+-96.752 47.088 3049
+-96.626 47.088 3033
+-96.5 47.088 3010
+-96.374 47.088 2959
+-96.248 47.088 2946
+-96.122 47.088 2927
+-95.996 47.088 2922
+-95.87 47.088 2914
+-95.744 47.088 2895
+-95.618 47.088 2874
+-95.492 47.088 2868
+-95.366 47.088 2861
+-95.24 47.088 2854
+-95.114 47.088 2846
+-94.988 47.088 2838
+-94.862 47.088 2830
+-94.736 47.088 2821
+-94.61 47.088 2812
+-94.484 47.088 2802
+-94.358 47.088 2792
+-94.232 47.088 2781
+-94.106 47.088 2769
+-93.98 47.088 2757
+-93.854 47.088 2744
+-93.728 47.088 2730
+-93.602 47.088 2716
+-93.476 47.088 2701
+-93.35 47.088 2594
+-93.224 47.088 2578
+-93.098 47.088 2553
+-92.972 47.088 2536
+-92.846 47.088 2518
+-92.72 47.088 2499
+-92.594 47.088 2480
+-92.468 47.088 2461
+-92.342 47.088 2441
+-92.216 47.088 2421
+-92.09 47.088 2401
+-91.964 47.088 2382
+-91.838 47.088 2363
+-91.712 47.088 2345
+-91.586 47.088 2329
+-91.46 47.088 2314
+-91.334 47.088 2302
+-91.208 47.088 2291
+-91.082 47.088 2283
+-90.956 47.088 2278
+-90.83 47.088 2276
+-90.704 47.088 2277
+-90.578 47.088 2281
+-90.452 47.088 2287
+-90.326 47.088 2296
+-90.2 47.088 2306
+-90.074 47.088 2318
+-89.948 47.088 2304
+-89.822 47.088 2318
+-89.696 47.088 2333
+-89.57 47.088 2348
+-89.444 47.088 2362
+-89.318 47.088 2377
+-89.192 47.088 2391
+-89.066 47.088 2404
+-88.94 47.088 2417
+-88.814 47.088 2430
+-88.688 47.088 2441
+-88.562 47.088 2452
+-88.436 47.088 2462
+-88.31 47.088 2472
+-88.184 47.088 2481
+-88.058 47.088 2489
+-87.932 47.088 2496
+-87.806 47.088 2504
+-87.68 47.088 2510
+-87.554 47.088 2516
+-87.428 47.088 2522
+-87.302 47.088 2527
+-87.176 47.088 2532
+-87.05 47.088 2537
+-86.924 47.088 2541
+-86.798 47.088 2545
+-86.672 47.088 2548
+-86.546 47.088 2552
+-86.42 47.088 2555
+-86.294 47.088 2558
+-86.168 47.088 2560
+-86.042 47.088 2571
+-85.916 47.088 2573
+-85.79 47.088 2575
+-85.664 47.088 2578
+-85.538 47.088 2495
+-85.412 47.088 2496
+-85.286 47.088 2497
+-85.16 47.088 2497
+-85.034 47.088 2498
+-84.908 47.088 2498
+-84.782 47.088 2499
+-84.656 47.088 2499
+-84.53 47.088 2500
+-84.404 47.088 2500
+-84.278 47.088 2506
+-84.152 47.088 2516
+-84.026 47.088 2517
+-83.9 47.088 2517
+-83.774 47.088 2518
+-83.648 47.088 2537
+-83.522 47.088 2538
+-83.396 47.088 2538
+-83.27 47.088 2539
+-83.144 47.088 2544
+-83.018 47.088 2662
+-82.892 47.088 2662
+-82.766 47.088 2662
+-82.64 47.088 2668
+-82.514 47.088 2668
+-82.388 47.088 2671
+-82.262 47.088 2685
+-82.136 47.088 2671
+-82.01 47.088 2682
+-81.884 47.088 2683
+-81.758 47.088 2682
+-81.632 47.088 2683
+-81.506 47.088 2684
+-81.38 47.088 2685
+-81.254 47.088 2687
+-81.128 47.088 2766
+-81.002 47.088 2767
+-80.876 47.088 2768
+-80.75 47.088 2770
+-80.624 47.088 2785
+-80.498 47.088 2787
+-80.372 47.088 2772
+-80.246 47.088 2774
+-80.12 47.088 2775
+-79.994 47.088 2777
+-79.868 47.088 2753
+-79.742 47.088 2762
+-79.616 47.088 2763
+-79.49 47.088 2883
+-79.364 47.088 2848
+-79.238 47.088 2849
+-79.112 47.088 2975
+-78.986 47.088 2973
+-78.86 47.088 2939
+-78.734 47.088 2997
+-78.608 47.088 2896
+-78.482 47.088 2924
+-78.356 47.088 2976
+-78.23 47.088 2881
+-78.104 47.088 2888
+-77.978 47.088 2799
+-77.852 47.088 2796
+-77.726 47.088 2812
+-77.6 47.088 2786
+-77.474 47.088 2788
+-77.348 47.088 2790
+-77.222 47.088 2733
+-77.096 47.088 2773
+-76.97 47.088 2766
+-76.844 47.088 2757
+-76.718 47.088 2758
+-76.592 47.088 2760
+-76.466 47.088 2762
+-76.34 47.088 2706
+-76.214 47.088 2702
+-76.088 47.088 2704
+-75.962 47.088 2705
+-75.836 47.088 2707
+-75.71 47.088 2704
+-75.584 47.088 2651
+-75.458 47.088 2754
+-75.332 47.088 2750
+-75.206 47.088 2757
+-75.08 47.088 2758
+-74.954 47.088 2759
+-74.828 47.088 2760
+-74.702 47.088 2785
+-74.576 47.088 2764
+-74.45 47.088 2828
+-74.324 47.088 2829
+-74.198 47.088 2820
+-74.072 47.088 2828
+-73.946 47.088 2830
+-73.82 47.088 2831
+-73.694 47.088 2819
+-73.568 47.088 2934
+-73.442 47.088 2936
+-73.316 47.088 2937
+-73.19 47.088 2938
+-73.064 47.088 3038
+-72.938 47.088 2992
+-72.812 47.088 3143
+-72.686 47.088 3143
+-72.56 47.088 3107
+-72.434 47.088 3107
+-72.308 47.088 3108
+-72.182 47.088 3109
+-72.056 47.088 3109
+-71.93 47.088 3110
+-71.804 47.088 3206
+-71.678 47.088 3202
+-71.552 47.088 3202
+-71.426 47.088 3203
+-71.3 47.088 3204
+-71.174 47.088 3147
+-71.048 47.088 3183
+-70.922 47.088 3184
+-70.796 47.088 3261
+-70.67 47.088 3170
+-70.544 47.088 3171
+-70.418 47.088 3172
+-70.292 47.088 3220
+-70.166 47.088 3174
+-70.04 47.088 3175
+-69.914 47.088 3175
+-69.788 47.088 3403
+-69.662 47.088 3349
+-69.536 47.088 3349
+-69.41 47.088 3482
+-69.284 47.088 3454
+-69.158 47.088 3454
+-69.032 47.088 3400
+-68.906 47.088 3473
+-68.78 47.088 3474
+-68.654 47.088 3474
+-68.528 47.088 3475
+-68.402 47.088 3475
+-68.276 47.088 3475
+-68.15 47.088 3475
+-68.024 47.088 3476
+-67.898 47.088 3465
+-67.772 47.088 3412
+-67.646 47.088 3405
+-67.52 47.088 3406
+-67.394 47.088 3406
+-67.268 47.088 3407
+-67.142 47.088 3407
+-67.016 47.088 3408
+-66.89 47.088 3408
+-66.764 47.088 3408
+-66.638 47.088 3409
+-66.512 47.088 3409
+-66.386 47.088 3410
+-66.26 47.088 3410
+-66.134 47.088 3410
+-66.008 47.088 3411
+-65.882 47.088 3411
+-65.756 47.088 3524
+-65.63 47.088 3525
+-65.504 47.088 3508
+-65.378 47.088 3509
+-65.252 47.088 3509
+-65.126 47.088 3509
+-128 47.036 4499
+-127.874 47.036 4555
+-127.748 47.036 4595
+-127.622 47.036 4618
+-127.496 47.036 4671
+-127.37 47.036 4807
+-127.244 47.036 5004
+-127.118 47.036 5134
+-126.992 47.036 5138
+-126.866 47.036 5343
+-126.74 47.036 5524
+-126.614 47.036 5617
+-126.488 47.036 5783
+-126.362 47.036 5865
+-126.236 47.036 6052
+-126.11 47.036 6249
+-125.984 47.036 6336
+-125.858 47.036 6379
+-125.732 47.036 6583
+-125.606 47.036 6708
+-125.48 47.036 6844
+-125.354 47.036 6976
+-125.228 47.036 7140
+-125.102 47.036 7273
+-124.976 47.036 7407
+-124.85 47.036 7532
+-124.724 47.036 7669
+-124.598 47.036 7771
+-124.472 47.036 7964
+-124.346 47.036 8124
+-124.22 47.036 8247
+-124.094 47.036 8359
+-123.968 47.036 8517
+-123.842 47.036 8699
+-123.716 47.036 8780
+-123.59 47.036 8884
+-123.464 47.036 9014
+-123.338 47.036 9185
+-123.212 47.036 9267
+-123.086 47.036 9428
+-122.96 47.036 9533
+-122.834 47.036 9400
+-122.708 47.036 9269
+-122.582 47.036 9159
+-122.456 47.036 9023
+-122.33 47.036 8946
+-122.204 47.036 8780
+-122.078 47.036 8613
+-121.952 47.036 8483
+-121.826 47.036 8386
+-121.7 47.036 8259
+-121.574 47.036 8040
+-121.448 47.036 7904
+-121.322 47.036 7780
+-121.196 47.036 7641
+-121.07 47.036 7568
+-120.944 47.036 7402
+-120.818 47.036 7223
+-120.692 47.036 7140
+-120.566 47.036 6866
+-120.44 47.036 6951
+-120.314 47.036 6996
+-120.188 47.036 7097
+-120.062 47.036 7235
+-119.936 47.036 7335
+-119.81 47.036 7442
+-119.684 47.036 7582
+-119.558 47.036 7630
+-119.432 47.036 7768
+-119.306 47.036 7837
+-119.18 47.036 7963
+-119.054 47.036 8032
+-118.928 47.036 8143
+-118.802 47.036 8214
+-118.676 47.036 8245
+-118.55 47.036 8281
+-118.424 47.036 8278
+-118.298 47.036 8270
+-118.172 47.036 8287
+-118.046 47.036 8247
+-117.92 47.036 8181
+-117.794 47.036 8132
+-117.668 47.036 8059
+-117.542 47.036 7953
+-117.416 47.036 7870
+-117.29 47.036 7725
+-117.164 47.036 7668
+-117.038 47.036 7585
+-116.912 47.036 7518
+-116.786 47.036 7349
+-116.66 47.036 7243
+-116.534 47.036 7123
+-116.408 47.036 6985
+-116.282 47.036 6945
+-116.156 47.036 6801
+-116.03 47.036 6624
+-115.904 47.036 6488
+-115.778 47.036 6433
+-115.652 47.036 6326
+-115.526 47.036 6227
+-115.4 47.036 6107
+-115.274 47.036 5900
+-115.148 47.036 5698
+-115.022 47.036 5557
+-114.896 47.036 5452
+-114.77 47.036 5330
+-114.644 47.036 5271
+-114.518 47.036 5148
+-114.392 47.036 5025
+-114.266 47.036 4933
+-114.14 47.036 4825
+-114.014 47.036 4690
+-113.888 47.036 4531
+-113.762 47.036 4310
+-113.636 47.036 4168
+-113.51 47.036 4227
+-113.384 47.036 4235
+-113.258 47.036 4225
+-113.132 47.036 4211
+-113.006 47.036 4213
+-112.88 47.036 4190
+-112.754 47.036 4203
+-112.628 47.036 4164
+-112.502 47.036 4156
+-112.376 47.036 4129
+-112.25 47.036 4101
+-112.124 47.036 4005
+-111.998 47.036 3992
+-111.872 47.036 3985
+-111.746 47.036 3944
+-111.62 47.036 3905
+-111.494 47.036 3899
+-111.368 47.036 3894
+-111.242 47.036 3890
+-111.116 47.036 3886
+-110.99 47.036 3835
+-110.864 47.036 3832
+-110.738 47.036 3829
+-110.612 47.036 3772
+-110.486 47.036 3768
+-110.36 47.036 3741
+-110.234 47.036 3557
+-110.108 47.036 3553
+-109.982 47.036 3549
+-109.856 47.036 3546
+-109.73 47.036 3520
+-109.604 47.036 3517
+-109.478 47.036 3514
+-109.352 47.036 3512
+-109.226 47.036 3509
+-109.1 47.036 3507
+-108.974 47.036 3415
+-108.848 47.036 3375
+-108.722 47.036 3372
+-108.596 47.036 3370
+-108.47 47.036 3368
+-108.344 47.036 3366
+-108.218 47.036 3364
+-108.092 47.036 3362
+-107.966 47.036 3360
+-107.84 47.036 3359
+-107.714 47.036 3358
+-107.588 47.036 3356
+-107.462 47.036 3243
+-107.336 47.036 3242
+-107.21 47.036 3241
+-107.084 47.036 3240
+-106.958 47.036 3239
+-106.832 47.036 3238
+-106.706 47.036 3238
+-106.58 47.036 3237
+-106.454 47.036 3236
+-106.328 47.036 3236
+-106.202 47.036 3235
+-106.076 47.036 3235
+-105.95 47.036 3234
+-105.824 47.036 3234
+-105.698 47.036 3234
+-105.572 47.036 3233
+-105.446 47.036 3233
+-105.32 47.036 3233
+-105.194 47.036 3233
+-105.068 47.036 3232
+-104.942 47.036 3149
+-104.816 47.036 3149
+-104.69 47.036 3149
+-104.564 47.036 3149
+-104.438 47.036 3149
+-104.312 47.036 3148
+-104.186 47.036 3148
+-104.06 47.036 3148
+-103.934 47.036 3148
+-103.808 47.036 3118
+-103.682 47.036 3116
+-103.556 47.036 3115
+-103.43 47.036 3030
+-103.304 47.036 2988
+-103.178 47.036 2986
+-103.052 47.036 2895
+-102.926 47.036 2882
+-102.8 47.036 2942
+-102.674 47.036 2908
+-102.548 47.036 2912
+-102.422 47.036 3036
+-102.296 47.036 3043
+-102.17 47.036 3133
+-102.044 47.036 3138
+-101.918 47.036 3359
+-101.792 47.036 3441
+-101.666 47.036 3450
+-101.54 47.036 3450
+-101.414 47.036 3448
+-101.288 47.036 3447
+-101.162 47.036 3416
+-101.036 47.036 3412
+-100.91 47.036 3331
+-100.784 47.036 3471
+-100.658 47.036 3488
+-100.532 47.036 3445
+-100.406 47.036 3444
+-100.28 47.036 3444
+-100.154 47.036 3460
+-100.028 47.036 3408
+-99.902 47.036 3417
+-99.776 47.036 3417
+-99.65 47.036 3412
+-99.524 47.036 3411
+-99.398 47.036 3411
+-99.272 47.036 3411
+-99.146 47.036 3205
+-99.02 47.036 3236
+-98.894 47.036 3234
+-98.768 47.036 3232
+-98.642 47.036 3213
+-98.516 47.036 3263
+-98.39 47.036 3234
+-98.264 47.036 3231
+-98.138 47.036 3210
+-98.012 47.036 3208
+-97.886 47.036 3128
+-97.76 47.036 3165
+-97.634 47.036 3162
+-97.508 47.036 3159
+-97.382 47.036 3155
+-97.256 47.036 3141
+-97.13 47.036 3138
+-97.004 47.036 3134
+-96.878 47.036 3130
+-96.752 47.036 3126
+-96.626 47.036 3047
+-96.5 47.036 3031
+-96.374 47.036 3008
+-96.248 47.036 2956
+-96.122 47.036 2943
+-95.996 47.036 2924
+-95.87 47.036 2918
+-95.744 47.036 2910
+-95.618 47.036 2891
+-95.492 47.036 2870
+-95.366 47.036 2863
+-95.24 47.036 2856
+-95.114 47.036 2848
+-94.988 47.036 2840
+-94.862 47.036 2831
+-94.736 47.036 2822
+-94.61 47.036 2813
+-94.484 47.036 2803
+-94.358 47.036 2792
+-94.232 47.036 2781
+-94.106 47.036 2769
+-93.98 47.036 2756
+-93.854 47.036 2742
+-93.728 47.036 2728
+-93.602 47.036 2713
+-93.476 47.036 2697
+-93.35 47.036 2680
+-93.224 47.036 2574
+-93.098 47.036 2556
+-92.972 47.036 2529
+-92.846 47.036 2510
+-92.72 47.036 2490
+-92.594 47.036 2469
+-92.468 47.036 2448
+-92.342 47.036 2426
+-92.216 47.036 2404
+-92.09 47.036 2382
+-91.964 47.036 2360
+-91.838 47.036 2339
+-91.712 47.036 2319
+-91.586 47.036 2300
+-91.46 47.036 2283
+-91.334 47.036 2269
+-91.208 47.036 2257
+-91.082 47.036 2248
+-90.956 47.036 2242
+-90.83 47.036 2240
+-90.704 47.036 2241
+-90.578 47.036 2246
+-90.452 47.036 2253
+-90.326 47.036 2264
+-90.2 47.036 2276
+-90.074 47.036 2291
+-89.948 47.036 2280
+-89.822 47.036 2296
+-89.696 47.036 2313
+-89.57 47.036 2330
+-89.444 47.036 2347
+-89.318 47.036 2363
+-89.192 47.036 2379
+-89.066 47.036 2394
+-88.94 47.036 2408
+-88.814 47.036 2422
+-88.688 47.036 2434
+-88.562 47.036 2446
+-88.436 47.036 2457
+-88.31 47.036 2467
+-88.184 47.036 2476
+-88.058 47.036 2485
+-87.932 47.036 2493
+-87.806 47.036 2500
+-87.68 47.036 2507
+-87.554 47.036 2513
+-87.428 47.036 2519
+-87.302 47.036 2525
+-87.176 47.036 2530
+-87.05 47.036 2534
+-86.924 47.036 2538
+-86.798 47.036 2542
+-86.672 47.036 2546
+-86.546 47.036 2549
+-86.42 47.036 2553
+-86.294 47.036 2555
+-86.168 47.036 2566
+-86.042 47.036 2569
+-85.916 47.036 2571
+-85.79 47.036 2573
+-85.664 47.036 2492
+-85.538 47.036 2493
+-85.412 47.036 2494
+-85.286 47.036 2495
+-85.16 47.036 2495
+-85.034 47.036 2496
+-84.908 47.036 2496
+-84.782 47.036 2497
+-84.656 47.036 2497
+-84.53 47.036 2498
+-84.404 47.036 2503
+-84.278 47.036 2514
+-84.152 47.036 2514
+-84.026 47.036 2515
+-83.9 47.036 2515
+-83.774 47.036 2534
+-83.648 47.036 2535
+-83.522 47.036 2536
+-83.396 47.036 2536
+-83.27 47.036 2541
+-83.144 47.036 2658
+-83.018 47.036 2659
+-82.892 47.036 2659
+-82.766 47.036 2664
+-82.64 47.036 2665
+-82.514 47.036 2667
+-82.388 47.036 2681
+-82.262 47.036 2667
+-82.136 47.036 2679
+-82.01 47.036 2680
+-81.884 47.036 2679
+-81.758 47.036 2680
+-81.632 47.036 2681
+-81.506 47.036 2682
+-81.38 47.036 2684
+-81.254 47.036 2762
+-81.128 47.036 2763
+-81.002 47.036 2765
+-80.876 47.036 2766
+-80.75 47.036 2782
+-80.624 47.036 2783
+-80.498 47.036 2769
+-80.372 47.036 2771
+-80.246 47.036 2772
+-80.12 47.036 2774
+-79.994 47.036 2750
+-79.868 47.036 2759
+-79.742 47.036 2761
+-79.616 47.036 2879
+-79.49 47.036 2844
+-79.364 47.036 2846
+-79.238 47.036 2971
+-79.112 47.036 2969
+-78.986 47.036 2936
+-78.86 47.036 2993
+-78.734 47.036 2893
+-78.608 47.036 2921
+-78.482 47.036 2972
+-78.356 47.036 2878
+-78.23 47.036 2885
+-78.104 47.036 2797
+-77.978 47.036 2794
+-77.852 47.036 2809
+-77.726 47.036 2784
+-77.6 47.036 2786
+-77.474 47.036 2788
+-77.348 47.036 2731
+-77.222 47.036 2771
+-77.096 47.036 2764
+-76.97 47.036 2755
+-76.844 47.036 2757
+-76.718 47.036 2758
+-76.592 47.036 2760
+-76.466 47.036 2705
+-76.34 47.036 2701
+-76.214 47.036 2702
+-76.088 47.036 2704
+-75.962 47.036 2705
+-75.836 47.036 2703
+-75.71 47.036 2649
+-75.584 47.036 2753
+-75.458 47.036 2749
+-75.332 47.036 2756
+-75.206 47.036 2757
+-75.08 47.036 2758
+-74.954 47.036 2759
+-74.828 47.036 2784
+-74.702 47.036 2763
+-74.576 47.036 2827
+-74.45 47.036 2828
+-74.324 47.036 2819
+-74.198 47.036 2827
+-74.072 47.036 2829
+-73.946 47.036 2830
+-73.82 47.036 2818
+-73.694 47.036 2933
+-73.568 47.036 2935
+-73.442 47.036 2936
+-73.316 47.036 2937
+-73.19 47.036 3037
+-73.064 47.036 2991
+-72.938 47.036 3142
+-72.812 47.036 3143
+-72.686 47.036 3106
+-72.56 47.036 3107
+-72.434 47.036 3107
+-72.308 47.036 3108
+-72.182 47.036 3109
+-72.056 47.036 3109
+-71.93 47.036 3206
+-71.804 47.036 3201
+-71.678 47.036 3202
+-71.552 47.036 3203
+-71.426 47.036 3203
+-71.3 47.036 3146
+-71.174 47.036 3183
+-71.048 47.036 3183
+-70.922 47.036 3260
+-70.796 47.036 3169
+-70.67 47.036 3170
+-70.544 47.036 3171
+-70.418 47.036 3219
+-70.292 47.036 3173
+-70.166 47.036 3174
+-70.04 47.036 3175
+-69.914 47.036 3403
+-69.788 47.036 3348
+-69.662 47.036 3349
+-69.536 47.036 3481
+-69.41 47.036 3453
+-69.284 47.036 3454
+-69.158 47.036 3399
+-69.032 47.036 3472
+-68.906 47.036 3473
+-68.78 47.036 3474
+-68.654 47.036 3474
+-68.528 47.036 3475
+-68.402 47.036 3474
+-68.276 47.036 3475
+-68.15 47.036 3475
+-68.024 47.036 3464
+-67.898 47.036 3411
+-67.772 47.036 3405
+-67.646 47.036 3405
+-67.52 47.036 3406
+-67.394 47.036 3406
+-67.268 47.036 3407
+-67.142 47.036 3407
+-67.016 47.036 3408
+-66.89 47.036 3408
+-66.764 47.036 3408
+-66.638 47.036 3409
+-66.512 47.036 3409
+-66.386 47.036 3410
+-66.26 47.036 3410
+-66.134 47.036 3410
+-66.008 47.036 3411
+-65.882 47.036 3524
+-65.756 47.036 3524
+-65.63 47.036 3508
+-65.504 47.036 3508
+-65.378 47.036 3509
+-65.252 47.036 3509
+-65.126 47.036 3509
+-128 46.984 4585
+-127.874 46.984 4622
+-127.748 46.984 4663
+-127.622 46.984 4705
+-127.496 46.984 4778
+-127.37 46.984 4877
+-127.244 46.984 5005
+-127.118 46.984 5095
+-126.992 46.984 5196
+-126.866 46.984 5369
+-126.74 46.984 5546
+-126.614 46.984 5660
+-126.488 46.984 5775
+-126.362 46.984 5949
+-126.236 46.984 6086
+-126.11 46.984 6221
+-125.984 46.984 6348
+-125.858 46.984 6481
+-125.732 46.984 6623
+-125.606 46.984 6741
+-125.48 46.984 6833
+-125.354 46.984 6998
+-125.228 46.984 7131
+-125.102 46.984 7195
+-124.976 46.984 7373
+-124.85 46.984 7542
+-124.724 46.984 7724
+-124.598 46.984 7773
+-124.472 46.984 7985
+-124.346 46.984 8104
+-124.22 46.984 8170
+-124.094 46.984 8367
+-123.968 46.984 8507
+-123.842 46.984 8652
+-123.716 46.984 8765
+-123.59 46.984 8884
+-123.464 46.984 9013
+-123.338 46.984 9147
+-123.212 46.984 9281
+-123.086 46.984 9403
+-122.96 46.984 9557
+-122.834 46.984 9402
+-122.708 46.984 9318
+-122.582 46.984 9157
+-122.456 46.984 9111
+-122.33 46.984 8886
+-122.204 46.984 8704
+-122.078 46.984 8608
+-121.952 46.984 8512
+-121.826 46.984 8366
+-121.7 46.984 8179
+-121.574 46.984 8067
+-121.448 46.984 7924
+-121.322 46.984 7749
+-121.196 46.984 7710
+-121.07 46.984 7577
+-120.944 46.984 7385
+-120.818 46.984 7249
+-120.692 46.984 7107
+-120.566 46.984 6734
+-120.44 46.984 6906
+-120.314 46.984 7000
+-120.188 46.984 7112
+-120.062 46.984 7226
+-119.936 46.984 7358
+-119.81 46.984 7441
+-119.684 46.984 7615
+-119.558 46.984 7662
+-119.432 46.984 7803
+-119.306 46.984 7911
+-119.18 46.984 8006
+-119.054 46.984 8047
+-118.928 46.984 8151
+-118.802 46.984 8213
+-118.676 46.984 8257
+-118.55 46.984 8287
+-118.424 46.984 8317
+-118.298 46.984 8355
+-118.172 46.984 8326
+-118.046 46.984 8289
+-117.92 46.984 8233
+-117.794 46.984 8181
+-117.668 46.984 8078
+-117.542 46.984 7996
+-117.416 46.984 7906
+-117.29 46.984 7852
+-117.164 46.984 7716
+-117.038 46.984 7657
+-116.912 46.984 7484
+-116.786 46.984 7372
+-116.66 46.984 7239
+-116.534 46.984 7110
+-116.408 46.984 6992
+-116.282 46.984 6948
+-116.156 46.984 6763
+-116.03 46.984 6624
+-115.904 46.984 6555
+-115.778 46.984 6429
+-115.652 46.984 6315
+-115.526 46.984 6142
+-115.4 46.984 6089
+-115.274 46.984 5853
+-115.148 46.984 5765
+-115.022 46.984 5573
+-114.896 46.984 5448
+-114.77 46.984 5420
+-114.644 46.984 5207
+-114.518 46.984 5217
+-114.392 46.984 5111
+-114.266 46.984 4998
+-114.14 46.984 4881
+-114.014 46.984 4700
+-113.888 46.984 4549
+-113.762 46.984 4388
+-113.636 46.984 4268
+-113.51 46.984 4256
+-113.384 46.984 4210
+-113.258 46.984 4156
+-113.132 46.984 4132
+-113.006 46.984 4154
+-112.88 46.984 4176
+-112.754 46.984 4154
+-112.628 46.984 4144
+-112.502 46.984 4129
+-112.376 46.984 4096
+-112.25 46.984 4069
+-112.124 46.984 4067
+-111.998 46.984 4066
+-111.872 46.984 3953
+-111.746 46.984 3913
+-111.62 46.984 3907
+-111.494 46.984 3902
+-111.368 46.984 3897
+-111.242 46.984 3893
+-111.116 46.984 3840
+-110.99 46.984 3836
+-110.864 46.984 3816
+-110.738 46.984 3813
+-110.612 46.984 3811
+-110.486 46.984 3809
+-110.36 46.984 3807
+-110.234 46.984 3726
+-110.108 46.984 3563
+-109.982 46.984 3559
+-109.856 46.984 3533
+-109.73 46.984 3529
+-109.604 46.984 3526
+-109.478 46.984 3523
+-109.352 46.984 3520
+-109.226 46.984 3517
+-109.1 46.984 3515
+-108.974 46.984 3383
+-108.848 46.984 3380
+-108.722 46.984 3378
+-108.596 46.984 3375
+-108.47 46.984 3372
+-108.344 46.984 3370
+-108.218 46.984 3368
+-108.092 46.984 3366
+-107.966 46.984 3364
+-107.84 46.984 3363
+-107.714 46.984 3361
+-107.588 46.984 3249
+-107.462 46.984 3247
+-107.336 46.984 3246
+-107.21 46.984 3245
+-107.084 46.984 3244
+-106.958 46.984 3243
+-106.832 46.984 3242
+-106.706 46.984 3241
+-106.58 46.984 3240
+-106.454 46.984 3239
+-106.328 46.984 3239
+-106.202 46.984 3238
+-106.076 46.984 3238
+-105.95 46.984 3237
+-105.824 46.984 3237
+-105.698 46.984 3236
+-105.572 46.984 3236
+-105.446 46.984 3235
+-105.32 46.984 3235
+-105.194 46.984 3235
+-105.068 46.984 3152
+-104.942 46.984 3152
+-104.816 46.984 3152
+-104.69 46.984 3151
+-104.564 46.984 3151
+-104.438 46.984 3151
+-104.312 46.984 3151
+-104.186 46.984 3150
+-104.06 46.984 3150
+-103.934 46.984 3150
+-103.808 46.984 3119
+-103.682 46.984 3118
+-103.556 46.984 3116
+-103.43 46.984 2991
+-103.304 46.984 2989
+-103.178 46.984 2986
+-103.052 46.984 2896
+-102.926 46.984 2883
+-102.8 46.984 2944
+-102.674 46.984 2910
+-102.548 46.984 2914
+-102.422 46.984 3038
+-102.296 46.984 3045
+-102.17 46.984 3134
+-102.044 46.984 3139
+-101.918 46.984 3263
+-101.792 46.984 3342
+-101.666 46.984 3440
+-101.54 46.984 3449
+-101.414 46.984 3449
+-101.288 46.984 3447
+-101.162 46.984 3446
+-101.036 46.984 3416
+-100.91 46.984 3412
+-100.784 46.984 3330
+-100.658 46.984 3471
+-100.532 46.984 3487
+-100.406 46.984 3444
+-100.28 46.984 3444
+-100.154 46.984 3443
+-100.028 46.984 3459
+-99.902 46.984 3407
+-99.776 46.984 3416
+-99.65 46.984 3411
+-99.524 46.984 3411
+-99.398 46.984 3411
+-99.272 46.984 3410
+-99.146 46.984 3410
+-99.02 46.984 3205
+-98.894 46.984 3235
+-98.768 46.984 3233
+-98.642 46.984 3231
+-98.516 46.984 3213
+-98.39 46.984 3262
+-98.264 46.984 3233
+-98.138 46.984 3230
+-98.012 46.984 3209
+-97.886 46.984 3207
+-97.76 46.984 3127
+-97.634 46.984 3164
+-97.508 46.984 3160
+-97.382 46.984 3157
+-97.256 46.984 3154
+-97.13 46.984 3139
+-97.004 46.984 3136
+-96.878 46.984 3132
+-96.752 46.984 3128
+-96.626 46.984 3123
+-96.5 46.984 3044
+-96.374 46.984 3028
+-96.248 46.984 3005
+-96.122 46.984 2953
+-95.996 46.984 2940
+-95.87 46.984 2921
+-95.744 46.984 2915
+-95.618 46.984 2906
+-95.492 46.984 2887
+-95.366 46.984 2865
+-95.24 46.984 2857
+-95.114 46.984 2850
+-94.988 46.984 2841
+-94.862 46.984 2833
+-94.736 46.984 2824
+-94.61 46.984 2814
+-94.484 46.984 2804
+-94.358 46.984 2793
+-94.232 46.984 2781
+-94.106 46.984 2769
+-93.98 46.984 2755
+-93.854 46.984 2741
+-93.728 46.984 2727
+-93.602 46.984 2711
+-93.476 46.984 2694
+-93.35 46.984 2677
+-93.224 46.984 2658
+-93.098 46.984 2551
+-92.972 46.984 2531
+-92.846 46.984 2502
+-92.72 46.984 2480
+-92.594 46.984 2458
+-92.468 46.984 2435
+-92.342 46.984 2411
+-92.216 46.984 2386
+-92.09 46.984 2362
+-91.964 46.984 2337
+-91.838 46.984 2313
+-91.712 46.984 2290
+-91.586 46.984 2269
+-91.46 46.984 2250
+-91.334 46.984 2233
+-91.208 46.984 2219
+-91.082 46.984 2209
+-90.956 46.984 2202
+-90.83 46.984 2200
+-90.704 46.984 2202
+-90.578 46.984 2207
+-90.452 46.984 2217
+-90.326 46.984 2229
+-90.2 46.984 2244
+-90.074 46.984 2261
+-89.948 46.984 2254
+-89.822 46.984 2273
+-89.696 46.984 2293
+-89.57 46.984 2312
+-89.444 46.984 2331
+-89.318 46.984 2349
+-89.192 46.984 2367
+-89.066 46.984 2383
+-88.94 46.984 2399
+-88.814 46.984 2414
+-88.688 46.984 2427
+-88.562 46.984 2440
+-88.436 46.984 2451
+-88.31 46.984 2462
+-88.184 46.984 2472
+-88.058 46.984 2481
+-87.932 46.984 2489
+-87.806 46.984 2497
+-87.68 46.984 2504
+-87.554 46.984 2510
+-87.428 46.984 2516
+-87.302 46.984 2522
+-87.176 46.984 2527
+-87.05 46.984 2532
+-86.924 46.984 2536
+-86.798 46.984 2540
+-86.672 46.984 2544
+-86.546 46.984 2547
+-86.42 46.984 2550
+-86.294 46.984 2561
+-86.168 46.984 2564
+-86.042 46.984 2566
+-85.916 46.984 2569
+-85.79 46.984 2490
+-85.664 46.984 2491
+-85.538 46.984 2492
+-85.412 46.984 2492
+-85.286 46.984 2493
+-85.16 46.984 2494
+-85.034 46.984 2494
+-84.908 46.984 2494
+-84.782 46.984 2495
+-84.656 46.984 2495
+-84.53 46.984 2500
+-84.404 46.984 2511
+-84.278 46.984 2512
+-84.152 46.984 2512
+-84.026 46.984 2513
+-83.9 46.984 2532
+-83.774 46.984 2532
+-83.648 46.984 2533
+-83.522 46.984 2534
+-83.396 46.984 2539
+-83.27 46.984 2655
+-83.144 46.984 2655
+-83.018 46.984 2655
+-82.892 46.984 2661
+-82.766 46.984 2661
+-82.64 46.984 2664
+-82.514 46.984 2678
+-82.388 46.984 2664
+-82.262 46.984 2675
+-82.136 46.984 2676
+-82.01 46.984 2675
+-81.884 46.984 2676
+-81.758 46.984 2677
+-81.632 46.984 2678
+-81.506 46.984 2681
+-81.38 46.984 2758
+-81.254 46.984 2760
+-81.128 46.984 2761
+-81.002 46.984 2762
+-80.876 46.984 2778
+-80.75 46.984 2779
+-80.624 46.984 2765
+-80.498 46.984 2767
+-80.372 46.984 2769
+-80.246 46.984 2770
+-80.12 46.984 2746
+-79.994 46.984 2756
+-79.868 46.984 2757
+-79.742 46.984 2876
+-79.616 46.984 2841
+-79.49 46.984 2843
+-79.364 46.984 2967
+-79.238 46.984 2966
+-79.112 46.984 2932
+-78.986 46.984 2989
+-78.86 46.984 2890
+-78.734 46.984 2917
+-78.608 46.984 2969
+-78.482 46.984 2875
+-78.356 46.984 2882
+-78.23 46.984 2794
+-78.104 46.984 2791
+-77.978 46.984 2807
+-77.852 46.984 2782
+-77.726 46.984 2783
+-77.6 46.984 2785
+-77.474 46.984 2729
+-77.348 46.984 2768
+-77.222 46.984 2762
+-77.096 46.984 2753
+-76.97 46.984 2755
+-76.844 46.984 2756
+-76.718 46.984 2758
+-76.592 46.984 2703
+-76.466 46.984 2699
+-76.34 46.984 2701
+-76.214 46.984 2703
+-76.088 46.984 2704
+-75.962 46.984 2701
+-75.836 46.984 2648
+-75.71 46.984 2751
+-75.584 46.984 2748
+-75.458 46.984 2754
+-75.332 46.984 2756
+-75.206 46.984 2757
+-75.08 46.984 2758
+-74.954 46.984 2783
+-74.828 46.984 2762
+-74.702 46.984 2825
+-74.576 46.984 2827
+-74.45 46.984 2818
+-74.324 46.984 2826
+-74.198 46.984 2828
+-74.072 46.984 2829
+-73.946 46.984 2817
+-73.82 46.984 2932
+-73.694 46.984 2934
+-73.568 46.984 2935
+-73.442 46.984 2936
+-73.316 46.984 3036
+-73.19 46.984 2991
+-73.064 46.984 3141
+-72.938 46.984 3142
+-72.812 46.984 3105
+-72.686 46.984 3106
+-72.56 46.984 3107
+-72.434 46.984 3107
+-72.308 46.984 3108
+-72.182 46.984 3109
+-72.056 46.984 3205
+-71.93 46.984 3200
+-71.804 46.984 3201
+-71.678 46.984 3202
+-71.552 46.984 3203
+-71.426 46.984 3146
+-71.3 46.984 3182
+-71.174 46.984 3183
+-71.048 46.984 3259
+-70.922 46.984 3169
+-70.796 46.984 3170
+-70.67 46.984 3170
+-70.544 46.984 3219
+-70.418 46.984 3172
+-70.292 46.984 3173
+-70.166 46.984 3174
+-70.04 46.984 3402
+-69.914 46.984 3348
+-69.788 46.984 3348
+-69.662 46.984 3481
+-69.536 46.984 3453
+-69.41 46.984 3453
+-69.284 46.984 3399
+-69.158 46.984 3472
+-69.032 46.984 3473
+-68.906 46.984 3473
+-68.78 46.984 3474
+-68.654 46.984 3474
+-68.528 46.984 3474
+-68.402 46.984 3474
+-68.276 46.984 3475
+-68.15 46.984 3464
+-68.024 46.984 3411
+-67.898 46.984 3405
+-67.772 46.984 3405
+-67.646 46.984 3406
+-67.52 46.984 3406
+-67.394 46.984 3406
+-67.268 46.984 3407
+-67.142 46.984 3407
+-67.016 46.984 3408
+-66.89 46.984 3408
+-66.764 46.984 3409
+-66.638 46.984 3409
+-66.512 46.984 3409
+-66.386 46.984 3410
+-66.26 46.984 3410
+-66.134 46.984 3410
+-66.008 46.984 3524
+-65.882 46.984 3524
+-65.756 46.984 3508
+-65.63 46.984 3508
+-65.504 46.984 3508
+-65.378 46.984 3509
+-65.252 46.984 3509
+-65.126 46.984 3509
+-128 46.932 4627
+-127.874 46.932 4661
+-127.748 46.932 4693
+-127.622 46.932 4750
+-127.496 46.932 4831
+-127.37 46.932 4881
+-127.244 46.932 5001
+-127.118 46.932 5045
+-126.992 46.932 5186
+-126.866 46.932 5410
+-126.74 46.932 5567
+-126.614 46.932 5640
+-126.488 46.932 5787
+-126.362 46.932 5970
+-126.236 46.932 6030
+-126.11 46.932 6192
+-125.984 46.932 6238
+-125.858 46.932 6493
+-125.732 46.932 6540
+-125.606 46.932 6648
+-125.48 46.932 6854
+-125.354 46.932 6949
+-125.228 46.932 7106
+-125.102 46.932 7241
+-124.976 46.932 7402
+-124.85 46.932 7515
+-124.724 46.932 7678
+-124.598 46.932 7798
+-124.472 46.932 7959
+-124.346 46.932 8145
+-124.22 46.932 8164
+-124.094 46.932 8382
+-123.968 46.932 8536
+-123.842 46.932 8644
+-123.716 46.932 8801
+-123.59 46.932 8900
+-123.464 46.932 9007
+-123.338 46.932 9167
+-123.212 46.932 9318
+-123.086 46.932 9435
+-122.96 46.932 9421
+-122.834 46.932 9465
+-122.708 46.932 9374
+-122.582 46.932 9127
+-122.456 46.932 9021
+-122.33 46.932 8856
+-122.204 46.932 8731
+-122.078 46.932 8563
+-121.952 46.932 8482
+-121.826 46.932 8390
+-121.7 46.932 8242
+-121.574 46.932 8067
+-121.448 46.932 7895
+-121.322 46.932 7784
+-121.196 46.932 7631
+-121.07 46.932 7521
+-120.944 46.932 7346
+-120.818 46.932 7227
+-120.692 46.932 7132
+-120.566 46.932 6995
+-120.44 46.932 6847
+-120.314 46.932 6974
+-120.188 46.932 7121
+-120.062 46.932 7241
+-119.936 46.932 7408
+-119.81 46.932 7480
+-119.684 46.932 7591
+-119.558 46.932 7706
+-119.432 46.932 7831
+-119.306 46.932 7919
+-119.18 46.932 8000
+-119.054 46.932 8124
+-118.928 46.932 8196
+-118.802 46.932 8271
+-118.676 46.932 8310
+-118.55 46.932 8342
+-118.424 46.932 8401
+-118.298 46.932 8396
+-118.172 46.932 8367
+-118.046 46.932 8342
+-117.92 46.932 8328
+-117.794 46.932 8232
+-117.668 46.932 8134
+-117.542 46.932 8073
+-117.416 46.932 7985
+-117.29 46.932 7860
+-117.164 46.932 7797
+-117.038 46.932 7635
+-116.912 46.932 7534
+-116.786 46.932 7394
+-116.66 46.932 7303
+-116.534 46.932 7156
+-116.408 46.932 7065
+-116.282 46.932 6865
+-116.156 46.932 6831
+-116.03 46.932 6632
+-115.904 46.932 6536
+-115.778 46.932 6412
+-115.652 46.932 6359
+-115.526 46.932 6250
+-115.4 46.932 6138
+-115.274 46.932 5940
+-115.148 46.932 5770
+-115.022 46.932 5586
+-114.896 46.932 5449
+-114.77 46.932 5379
+-114.644 46.932 5315
+-114.518 46.932 5251
+-114.392 46.932 5186
+-114.266 46.932 5036
+-114.14 46.932 4910
+-114.014 46.932 4719
+-113.888 46.932 4555
+-113.762 46.932 4459
+-113.636 46.932 4379
+-113.51 46.932 4273
+-113.384 46.932 4099
+-113.258 46.932 3981
+-113.132 46.932 4026
+-113.006 46.932 4111
+-112.88 46.932 4126
+-112.754 46.932 4129
+-112.628 46.932 4113
+-112.502 46.932 4090
+-112.376 46.932 4073
+-112.25 46.932 4063
+-112.124 46.932 4061
+-111.998 46.932 4018
+-111.872 46.932 4015
+-111.746 46.932 3967
+-111.62 46.932 3892
+-111.494 46.932 3887
+-111.368 46.932 3882
+-111.242 46.932 3828
+-111.116 46.932 3823
+-110.99 46.932 3819
+-110.864 46.932 3816
+-110.738 46.932 3813
+-110.612 46.932 3811
+-110.486 46.932 3809
+-110.36 46.932 3807
+-110.234 46.932 3800
+-110.108 46.932 3798
+-109.982 46.932 3546
+-109.856 46.932 3541
+-109.73 46.932 3537
+-109.604 46.932 3534
+-109.478 46.932 3530
+-109.352 46.932 3527
+-109.226 46.932 3524
+-109.1 46.932 3392
+-108.974 46.932 3389
+-108.848 46.932 3385
+-108.722 46.932 3382
+-108.596 46.932 3379
+-108.47 46.932 3377
+-108.344 46.932 3374
+-108.218 46.932 3372
+-108.092 46.932 3370
+-107.966 46.932 3368
+-107.84 46.932 3366
+-107.714 46.932 3255
+-107.588 46.932 3253
+-107.462 46.932 3251
+-107.336 46.932 3250
+-107.21 46.932 3249
+-107.084 46.932 3247
+-106.958 46.932 3246
+-106.832 46.932 3245
+-106.706 46.932 3244
+-106.58 46.932 3243
+-106.454 46.932 3242
+-106.328 46.932 3242
+-106.202 46.932 3241
+-106.076 46.932 3240
+-105.95 46.932 3240
+-105.824 46.932 3239
+-105.698 46.932 3239
+-105.572 46.932 3238
+-105.446 46.932 3238
+-105.32 46.932 3237
+-105.194 46.932 3155
+-105.068 46.932 3155
+-104.942 46.932 3154
+-104.816 46.932 3154
+-104.69 46.932 3154
+-104.564 46.932 3153
+-104.438 46.932 3153
+-104.312 46.932 3153
+-104.186 46.932 3152
+-104.06 46.932 3152
+-103.934 46.932 3152
+-103.808 46.932 3121
+-103.682 46.932 3119
+-103.556 46.932 3117
+-103.43 46.932 2992
+-103.304 46.932 2989
+-103.178 46.932 2966
+-103.052 46.932 2852
+-102.926 46.932 2832
+-102.8 46.932 2879
+-102.674 46.932 2850
+-102.548 46.932 2853
+-102.422 46.932 3040
+-102.296 46.932 2971
+-102.17 46.932 3135
+-102.044 46.932 3141
+-101.918 46.932 3262
+-101.792 46.932 3382
+-101.666 46.932 3341
+-101.54 46.932 3439
+-101.414 46.932 3448
+-101.288 46.932 3448
+-101.162 46.932 3446
+-101.036 46.932 3445
+-100.91 46.932 3415
+-100.784 46.932 3411
+-100.658 46.932 3330
+-100.532 46.932 3470
+-100.406 46.932 3486
+-100.28 46.932 3443
+-100.154 46.932 3443
+-100.028 46.932 3443
+-99.902 46.932 3458
+-99.776 46.932 3406
+-99.65 46.932 3416
+-99.524 46.932 3415
+-99.398 46.932 3410
+-99.272 46.932 3410
+-99.146 46.932 3410
+-99.02 46.932 3409
+-98.894 46.932 3205
+-98.768 46.932 3234
+-98.642 46.932 3232
+-98.516 46.932 3230
+-98.39 46.932 3212
+-98.264 46.932 3261
+-98.138 46.932 3232
+-98.012 46.932 3229
+-97.886 46.932 3208
+-97.76 46.932 3206
+-97.634 46.932 3126
+-97.508 46.932 3162
+-97.382 46.932 3159
+-97.256 46.932 3155
+-97.13 46.932 3152
+-97.004 46.932 3137
+-96.878 46.932 3134
+-96.752 46.932 3129
+-96.626 46.932 3125
+-96.5 46.932 3121
+-96.374 46.932 3042
+-96.248 46.932 3025
+-96.122 46.932 3002
+-95.996 46.932 2950
+-95.87 46.932 2936
+-95.744 46.932 2917
+-95.618 46.932 2911
+-95.492 46.932 2902
+-95.366 46.932 2882
+-95.24 46.932 2860
+-95.114 46.932 2852
+-94.988 46.932 2843
+-94.862 46.932 2835
+-94.736 46.932 2825
+-94.61 46.932 2815
+-94.484 46.932 2805
+-94.358 46.932 2794
+-94.232 46.932 2782
+-94.106 46.932 2769
+-93.98 46.932 2755
+-93.854 46.932 2741
+-93.728 46.932 2726
+-93.602 46.932 2709
+-93.476 46.932 2692
+-93.35 46.932 2673
+-93.224 46.932 2654
+-93.098 46.932 2633
+-92.972 46.932 2525
+-92.846 46.932 2503
+-92.72 46.932 2472
+-92.594 46.932 2447
+-92.468 46.932 2422
+-92.342 46.932 2395
+-92.216 46.932 2368
+-92.09 46.932 2341
+-91.964 46.932 2313
+-91.838 46.932 2286
+-91.712 46.932 2260
+-91.586 46.932 2235
+-91.46 46.932 2212
+-91.334 46.932 2193
+-91.208 46.932 2177
+-91.082 46.932 2165
+-90.956 46.932 2157
+-90.83 46.932 2155
+-90.704 46.932 2157
+-90.578 46.932 2164
+-90.452 46.932 2176
+-90.326 46.932 2191
+-90.2 46.932 2209
+-90.074 46.932 2229
+-89.948 46.932 2226
+-89.822 46.932 2249
+-89.696 46.932 2271
+-89.57 46.932 2293
+-89.444 46.932 2315
+-89.318 46.932 2335
+-89.192 46.932 2355
+-89.066 46.932 2373
+-88.94 46.932 2390
+-88.814 46.932 2406
+-88.688 46.932 2420
+-88.562 46.932 2434
+-88.436 46.932 2446
+-88.31 46.932 2457
+-88.184 46.932 2468
+-88.058 46.932 2477
+-87.932 46.932 2486
+-87.806 46.932 2494
+-87.68 46.932 2501
+-87.554 46.932 2508
+-87.428 46.932 2514
+-87.302 46.932 2520
+-87.176 46.932 2525
+-87.05 46.932 2530
+-86.924 46.932 2534
+-86.798 46.932 2538
+-86.672 46.932 2542
+-86.546 46.932 2545
+-86.42 46.932 2556
+-86.294 46.932 2559
+-86.168 46.932 2562
+-86.042 46.932 2564
+-85.916 46.932 2487
+-85.79 46.932 2488
+-85.664 46.932 2489
+-85.538 46.932 2490
+-85.412 46.932 2490
+-85.286 46.932 2491
+-85.16 46.932 2492
+-85.034 46.932 2492
+-84.908 46.932 2492
+-84.782 46.932 2493
+-84.656 46.932 2498
+-84.53 46.932 2509
+-84.404 46.932 2509
+-84.278 46.932 2510
+-84.152 46.932 2510
+-84.026 46.932 2529
+-83.9 46.932 2530
+-83.774 46.932 2530
+-83.648 46.932 2531
+-83.522 46.932 2536
+-83.396 46.932 2652
+-83.27 46.932 2652
+-83.144 46.932 2652
+-83.018 46.932 2657
+-82.892 46.932 2658
+-82.766 46.932 2660
+-82.64 46.932 2674
+-82.514 46.932 2660
+-82.388 46.932 2672
+-82.262 46.932 2673
+-82.136 46.932 2672
+-82.01 46.932 2673
+-81.884 46.932 2674
+-81.758 46.932 2675
+-81.632 46.932 2677
+-81.506 46.932 2754
+-81.38 46.932 2756
+-81.254 46.932 2757
+-81.128 46.932 2759
+-81.002 46.932 2774
+-80.876 46.932 2776
+-80.75 46.932 2762
+-80.624 46.932 2764
+-80.498 46.932 2765
+-80.372 46.932 2767
+-80.246 46.932 2743
+-80.12 46.932 2753
+-79.994 46.932 2754
+-79.868 46.932 2872
+-79.742 46.932 2838
+-79.616 46.932 2840
+-79.49 46.932 2963
+-79.364 46.932 2962
+-79.238 46.932 2929
+-79.112 46.932 2985
+-78.986 46.932 2886
+-78.86 46.932 2914
+-78.734 46.932 2965
+-78.608 46.932 2872
+-78.482 46.932 2879
+-78.356 46.932 2791
+-78.23 46.932 2789
+-78.104 46.932 2804
+-77.978 46.932 2779
+-77.852 46.932 2781
+-77.726 46.932 2783
+-77.6 46.932 2727
+-77.474 46.932 2766
+-77.348 46.932 2760
+-77.222 46.932 2751
+-77.096 46.932 2753
+-76.97 46.932 2754
+-76.844 46.932 2756
+-76.718 46.932 2702
+-76.592 46.932 2698
+-76.466 46.932 2700
+-76.34 46.932 2701
+-76.214 46.932 2703
+-76.088 46.932 2700
+-75.962 46.932 2647
+-75.836 46.932 2750
+-75.71 46.932 2747
+-75.584 46.932 2753
+-75.458 46.932 2755
+-75.332 46.932 2756
+-75.206 46.932 2757
+-75.08 46.932 2782
+-74.954 46.932 2761
+-74.828 46.932 2824
+-74.702 46.932 2826
+-74.576 46.932 2817
+-74.45 46.932 2825
+-74.324 46.932 2826
+-74.198 46.932 2828
+-74.072 46.932 2816
+-73.946 46.932 2931
+-73.82 46.932 2933
+-73.694 46.932 2934
+-73.568 46.932 2935
+-73.442 46.932 3035
+-73.316 46.932 2990
+-73.19 46.932 3140
+-73.064 46.932 3141
+-72.938 46.932 3105
+-72.812 46.932 3105
+-72.686 46.932 3106
+-72.56 46.932 3107
+-72.434 46.932 3108
+-72.308 46.932 3108
+-72.182 46.932 3204
+-72.056 46.932 3199
+-71.93 46.932 3200
+-71.804 46.932 3201
+-71.678 46.932 3202
+-71.552 46.932 3145
+-71.426 46.932 3181
+-71.3 46.932 3182
+-71.174 46.932 3258
+-71.048 46.932 3168
+-70.922 46.932 3169
+-70.796 46.932 3170
+-70.67 46.932 3218
+-70.544 46.932 3172
+-70.418 46.932 3173
+-70.292 46.932 3174
+-70.166 46.932 3402
+-70.04 46.932 3347
+-69.914 46.932 3348
+-69.788 46.932 3480
+-69.662 46.932 3452
+-69.536 46.932 3453
+-69.41 46.932 3398
+-69.284 46.932 3471
+-69.158 46.932 3472
+-69.032 46.932 3473
+-68.906 46.932 3473
+-68.78 46.932 3474
+-68.654 46.932 3473
+-68.528 46.932 3474
+-68.402 46.932 3474
+-68.276 46.932 3463
+-68.15 46.932 3410
+-68.024 46.932 3404
+-67.898 46.932 3405
+-67.772 46.932 3405
+-67.646 46.932 3406
+-67.52 46.932 3406
+-67.394 46.932 3407
+-67.268 46.932 3407
+-67.142 46.932 3407
+-67.016 46.932 3408
+-66.89 46.932 3408
+-66.764 46.932 3409
+-66.638 46.932 3409
+-66.512 46.932 3409
+-66.386 46.932 3410
+-66.26 46.932 3410
+-66.134 46.932 3523
+-66.008 46.932 3524
+-65.882 46.932 3508
+-65.756 46.932 3508
+-65.63 46.932 3508
+-65.504 46.932 3509
+-65.378 46.932 3509
+-65.252 46.932 3509
+-65.126 46.932 3509
+-128 46.88 4629
+-127.874 46.88 4652
+-127.748 46.88 4689
+-127.622 46.88 4747
+-127.496 46.88 4815
+-127.37 46.88 4814
+-127.244 46.88 4969
+-127.118 46.88 5095
+-126.992 46.88 5222
+-126.866 46.88 5406
+-126.74 46.88 5553
+-126.614 46.88 5710
+-126.488 46.88 5776
+-126.362 46.88 5936
+-126.236 46.88 6057
+-126.11 46.88 6086
+-125.984 46.88 6234
+-125.858 46.88 6455
+-125.732 46.88 6547
+-125.606 46.88 6660
+-125.48 46.88 6844
+-125.354 46.88 7018
+-125.228 46.88 7181
+-125.102 46.88 7271
+-124.976 46.88 7378
+-124.85 46.88 7499
+-124.724 46.88 7689
+-124.598 46.88 7781
+-124.472 46.88 7960
+-124.346 46.88 8109
+-124.22 46.88 8251
+-124.094 46.88 8428
+-123.968 46.88 8540
+-123.842 46.88 8587
+-123.716 46.88 8766
+-123.59 46.88 8921
+-123.464 46.88 9111
+-123.338 46.88 9165
+-123.212 46.88 9307
+-123.086 46.88 9355
+-122.96 46.88 9474
+-122.834 46.88 9373
+-122.708 46.88 9286
+-122.582 46.88 9173
+-122.456 46.88 9030
+-122.33 46.88 8912
+-122.204 46.88 8773
+-122.078 46.88 8604
+-121.952 46.88 8463
+-121.826 46.88 8325
+-121.7 46.88 8218
+-121.574 46.88 8047
+-121.448 46.88 7940
+-121.322 46.88 7787
+-121.196 46.88 7615
+-121.07 46.88 7530
+-120.944 46.88 7360
+-120.818 46.88 7221
+-120.692 46.88 7122
+-120.566 46.88 7016
+-120.44 46.88 6991
+-120.314 46.88 7025
+-120.188 46.88 7113
+-120.062 46.88 7248
+-119.936 46.88 7400
+-119.81 46.88 7518
+-119.684 46.88 7629
+-119.558 46.88 7717
+-119.432 46.88 7852
+-119.306 46.88 7955
+-119.18 46.88 8045
+-119.054 46.88 8177
+-118.928 46.88 8243
+-118.802 46.88 8302
+-118.676 46.88 8397
+-118.55 46.88 8414
+-118.424 46.88 8458
+-118.298 46.88 8474
+-118.172 46.88 8448
+-118.046 46.88 8412
+-117.92 46.88 8348
+-117.794 46.88 8270
+-117.668 46.88 8161
+-117.542 46.88 8078
+-117.416 46.88 7967
+-117.29 46.88 7898
+-117.164 46.88 7787
+-117.038 46.88 7627
+-116.912 46.88 7528
+-116.786 46.88 7424
+-116.66 46.88 7320
+-116.534 46.88 7215
+-116.408 46.88 7078
+-116.282 46.88 6993
+-116.156 46.88 6846
+-116.03 46.88 6678
+-115.904 46.88 6543
+-115.778 46.88 6414
+-115.652 46.88 6373
+-115.526 46.88 6281
+-115.4 46.88 6130
+-115.274 46.88 5951
+-115.148 46.88 5778
+-115.022 46.88 5582
+-114.896 46.88 5456
+-114.77 46.88 5413
+-114.644 46.88 5343
+-114.518 46.88 5283
+-114.392 46.88 5210
+-114.266 46.88 5068
+-114.14 46.88 4934
+-114.014 46.88 4710
+-113.888 46.88 4563
+-113.762 46.88 4472
+-113.636 46.88 4380
+-113.51 46.88 4253
+-113.384 46.88 4026
+-113.258 46.88 3831
+-113.132 46.88 3945
+-113.006 46.88 4060
+-112.88 46.88 4103
+-112.754 46.88 4105
+-112.628 46.88 4089
+-112.502 46.88 4067
+-112.376 46.88 4063
+-112.25 46.88 4054
+-112.124 46.88 4023
+-111.998 46.88 3996
+-111.872 46.88 3959
+-111.746 46.88 3943
+-111.62 46.88 3941
+-111.494 46.88 3885
+-111.368 46.88 3839
+-111.242 46.88 3834
+-111.116 46.88 3830
+-110.99 46.88 3826
+-110.864 46.88 3809
+-110.738 46.88 3807
+-110.612 46.88 3804
+-110.486 46.88 3802
+-110.36 46.88 3801
+-110.234 46.88 3800
+-110.108 46.88 3619
+-109.982 46.88 3616
+-109.856 46.88 3549
+-109.73 46.88 3544
+-109.604 46.88 3541
+-109.478 46.88 3537
+-109.352 46.88 3534
+-109.226 46.88 3401
+-109.1 46.88 3397
+-108.974 46.88 3393
+-108.848 46.88 3390
+-108.722 46.88 3387
+-108.596 46.88 3383
+-108.47 46.88 3381
+-108.344 46.88 3378
+-108.218 46.88 3376
+-108.092 46.88 3373
+-107.966 46.88 3371
+-107.84 46.88 3261
+-107.714 46.88 3259
+-107.588 46.88 3257
+-107.462 46.88 3255
+-107.336 46.88 3254
+-107.21 46.88 3252
+-107.084 46.88 3251
+-106.958 46.88 3249
+-106.832 46.88 3248
+-106.706 46.88 3247
+-106.58 46.88 3246
+-106.454 46.88 3245
+-106.328 46.88 3244
+-106.202 46.88 3243
+-106.076 46.88 3243
+-105.95 46.88 3242
+-105.824 46.88 3241
+-105.698 46.88 3241
+-105.572 46.88 3240
+-105.446 46.88 3240
+-105.32 46.88 3158
+-105.194 46.88 3158
+-105.068 46.88 3157
+-104.942 46.88 3157
+-104.816 46.88 3156
+-104.69 46.88 3156
+-104.564 46.88 3155
+-104.438 46.88 3155
+-104.312 46.88 3155
+-104.186 46.88 3154
+-104.06 46.88 3154
+-103.934 46.88 3154
+-103.808 46.88 3122
+-103.682 46.88 3120
+-103.556 46.88 3119
+-103.43 46.88 2992
+-103.304 46.88 2990
+-103.178 46.88 2966
+-103.052 46.88 2884
+-102.926 46.88 2833
+-102.8 46.88 2908
+-102.674 46.88 2901
+-102.548 46.88 2911
+-102.422 46.88 2966
+-102.296 46.88 3050
+-102.17 46.88 3055
+-102.044 46.88 3060
+-101.918 46.88 3262
+-101.792 46.88 3382
+-101.666 46.88 3381
+-101.54 46.88 3340
+-101.414 46.88 3438
+-101.288 46.88 3447
+-101.162 46.88 3447
+-101.036 46.88 3445
+-100.91 46.88 3444
+-100.784 46.88 3414
+-100.658 46.88 3410
+-100.532 46.88 3329
+-100.406 46.88 3469
+-100.28 46.88 3485
+-100.154 46.88 3443
+-100.028 46.88 3442
+-99.902 46.88 3442
+-99.776 46.88 3458
+-99.65 46.88 3406
+-99.524 46.88 3415
+-99.398 46.88 3410
+-99.272 46.88 3409
+-99.146 46.88 3409
+-99.02 46.88 3409
+-98.894 46.88 3409
+-98.768 46.88 3204
+-98.642 46.88 3234
+-98.516 46.88 3231
+-98.39 46.88 3229
+-98.264 46.88 3211
+-98.138 46.88 3260
+-98.012 46.88 3231
+-97.886 46.88 3228
+-97.76 46.88 3207
+-97.634 46.88 3204
+-97.508 46.88 3125
+-97.382 46.88 3161
+-97.256 46.88 3157
+-97.13 46.88 3154
+-97.004 46.88 3150
+-96.878 46.88 3136
+-96.752 46.88 3131
+-96.626 46.88 3127
+-96.5 46.88 3123
+-96.374 46.88 3118
+-96.248 46.88 3039
+-96.122 46.88 3023
+-95.996 46.88 2999
+-95.87 46.88 2948
+-95.744 46.88 2933
+-95.618 46.88 2913
+-95.492 46.88 2907
+-95.366 46.88 2898
+-95.24 46.88 2877
+-95.114 46.88 2854
+-94.988 46.88 2846
+-94.862 46.88 2837
+-94.736 46.88 2828
+-94.61 46.88 2817
+-94.484 46.88 2807
+-94.358 46.88 2795
+-94.232 46.88 2783
+-94.106 46.88 2770
+-93.98 46.88 2756
+-93.854 46.88 2741
+-93.728 46.88 2725
+-93.602 46.88 2708
+-93.476 46.88 2690
+-93.35 46.88 2671
+-93.224 46.88 2650
+-93.098 46.88 2628
+-92.972 46.88 2604
+-92.846 46.88 2496
+-92.72 46.88 2471
+-92.594 46.88 2436
+-92.468 46.88 2409
+-92.342 46.88 2380
+-92.216 46.88 2350
+-92.09 46.88 2319
+-91.964 46.88 2288
+-91.838 46.88 2257
+-91.712 46.88 2227
+-91.586 46.88 2198
+-91.46 46.88 2172
+-91.334 46.88 2149
+-91.208 46.88 2130
+-91.082 46.88 2116
+-90.956 46.88 2107
+-90.83 46.88 2104
+-90.704 46.88 2107
+-90.578 46.88 2116
+-90.452 46.88 2130
+-90.326 46.88 2148
+-90.2 46.88 2170
+-90.074 46.88 2195
+-89.948 46.88 2197
+-89.822 46.88 2223
+-89.696 46.88 2249
+-89.57 46.88 2274
+-89.444 46.88 2298
+-89.318 46.88 2321
+-89.192 46.88 2343
+-89.066 46.88 2363
+-88.94 46.88 2381
+-88.814 46.88 2398
+-88.688 46.88 2414
+-88.562 46.88 2428
+-88.436 46.88 2441
+-88.31 46.88 2453
+-88.184 46.88 2464
+-88.058 46.88 2474
+-87.932 46.88 2483
+-87.806 46.88 2491
+-87.68 46.88 2498
+-87.554 46.88 2505
+-87.428 46.88 2512
+-87.302 46.88 2517
+-87.176 46.88 2523
+-87.05 46.88 2527
+-86.924 46.88 2532
+-86.798 46.88 2536
+-86.672 46.88 2540
+-86.546 46.88 2551
+-86.42 46.88 2554
+-86.294 46.88 2557
+-86.168 46.88 2560
+-86.042 46.88 2484
+-85.916 46.88 2485
+-85.79 46.88 2486
+-85.664 46.88 2487
+-85.538 46.88 2488
+-85.412 46.88 2488
+-85.286 46.88 2489
+-85.16 46.88 2489
+-85.034 46.88 2490
+-84.908 46.88 2490
+-84.782 46.88 2495
+-84.656 46.88 2506
+-84.53 46.88 2507
+-84.404 46.88 2507
+-84.278 46.88 2507
+-84.152 46.88 2526
+-84.026 46.88 2527
+-83.9 46.88 2528
+-83.774 46.88 2528
+-83.648 46.88 2533
+-83.522 46.88 2648
+-83.396 46.88 2648
+-83.27 46.88 2648
+-83.144 46.88 2653
+-83.018 46.88 2654
+-82.892 46.88 2656
+-82.766 46.88 2670
+-82.64 46.88 2657
+-82.514 46.88 2668
+-82.388 46.88 2669
+-82.262 46.88 2668
+-82.136 46.88 2669
+-82.01 46.88 2670
+-81.884 46.88 2671
+-81.758 46.88 2674
+-81.632 46.88 2750
+-81.506 46.88 2752
+-81.38 46.88 2753
+-81.254 46.88 2755
+-81.128 46.88 2770
+-81.002 46.88 2771
+-80.876 46.88 2758
+-80.75 46.88 2760
+-80.624 46.88 2762
+-80.498 46.88 2763
+-80.372 46.88 2740
+-80.246 46.88 2749
+-80.12 46.88 2751
+-79.994 46.88 2868
+-79.868 46.88 2834
+-79.742 46.88 2836
+-79.616 46.88 2959
+-79.49 46.88 2957
+-79.364 46.88 2925
+-79.238 46.88 2981
+-79.112 46.88 2883
+-78.986 46.88 2910
+-78.86 46.88 2961
+-78.734 46.88 2869
+-78.608 46.88 2876
+-78.482 46.88 2788
+-78.356 46.88 2786
+-78.23 46.88 2801
+-78.104 46.88 2776
+-77.978 46.88 2779
+-77.852 46.88 2780
+-77.726 46.88 2725
+-77.6 46.88 2764
+-77.474 46.88 2758
+-77.348 46.88 2749
+-77.222 46.88 2751
+-77.096 46.88 2753
+-76.97 46.88 2754
+-76.844 46.88 2700
+-76.718 46.88 2696
+-76.592 46.88 2698
+-76.466 46.88 2700
+-76.34 46.88 2701
+-76.214 46.88 2699
+-76.088 46.88 2646
+-75.962 46.88 2749
+-75.836 46.88 2745
+-75.71 46.88 2752
+-75.584 46.88 2753
+-75.458 46.88 2755
+-75.332 46.88 2756
+-75.206 46.88 2780
+-75.08 46.88 2760
+-74.954 46.88 2823
+-74.828 46.88 2824
+-74.702 46.88 2816
+-74.576 46.88 2824
+-74.45 46.88 2825
+-74.324 46.88 2827
+-74.198 46.88 2815
+-74.072 46.88 2930
+-73.946 46.88 2932
+-73.82 46.88 2933
+-73.694 46.88 2934
+-73.568 46.88 3034
+-73.442 46.88 2989
+-73.316 46.88 3140
+-73.19 46.88 3140
+-73.064 46.88 3104
+-72.938 46.88 3105
+-72.812 46.88 3105
+-72.686 46.88 3106
+-72.56 46.88 3107
+-72.434 46.88 3108
+-72.308 46.88 3203
+-72.182 46.88 3199
+-72.056 46.88 3199
+-71.93 46.88 3200
+-71.804 46.88 3201
+-71.678 46.88 3145
+-71.552 46.88 3180
+-71.426 46.88 3181
+-71.3 46.88 3257
+-71.174 46.88 3167
+-71.048 46.88 3168
+-70.922 46.88 3169
+-70.796 46.88 3217
+-70.67 46.88 3171
+-70.544 46.88 3172
+-70.418 46.88 3173
+-70.292 46.88 3401
+-70.166 46.88 3346
+-70.04 46.88 3347
+-69.914 46.88 3479
+-69.788 46.88 3452
+-69.662 46.88 3452
+-69.536 46.88 3398
+-69.41 46.88 3471
+-69.284 46.88 3472
+-69.158 46.88 3472
+-69.032 46.88 3473
+-68.906 46.88 3473
+-68.78 46.88 3473
+-68.654 46.88 3473
+-68.528 46.88 3474
+-68.402 46.88 3463
+-68.276 46.88 3410
+-68.15 46.88 3404
+-68.024 46.88 3404
+-67.898 46.88 3405
+-67.772 46.88 3405
+-67.646 46.88 3406
+-67.52 46.88 3406
+-67.394 46.88 3407
+-67.268 46.88 3407
+-67.142 46.88 3407
+-67.016 46.88 3408
+-66.89 46.88 3408
+-66.764 46.88 3409
+-66.638 46.88 3409
+-66.512 46.88 3410
+-66.386 46.88 3410
+-66.26 46.88 3523
+-66.134 46.88 3523
+-66.008 46.88 3507
+-65.882 46.88 3508
+-65.756 46.88 3508
+-65.63 46.88 3508
+-65.504 46.88 3509
+-65.378 46.88 3509
+-65.252 46.88 3509
+-65.126 46.88 3510
+-128 46.828 4627
+-127.874 46.828 4612
+-127.748 46.828 4614
+-127.622 46.828 4645
+-127.496 46.828 4780
+-127.37 46.828 4883
+-127.244 46.828 4999
+-127.118 46.828 5095
+-126.992 46.828 5251
+-126.866 46.828 5369
+-126.74 46.828 5518
+-126.614 46.828 5688
+-126.488 46.828 5828
+-126.362 46.828 5900
+-126.236 46.828 6068
+-126.11 46.828 6135
+-125.984 46.828 6271
+-125.858 46.828 6436
+-125.732 46.828 6520
+-125.606 46.828 6696
+-125.48 46.828 6842
+-125.354 46.828 6993
+-125.228 46.828 7076
+-125.102 46.828 7241
+-124.976 46.828 7429
+-124.85 46.828 7537
+-124.724 46.828 7690
+-124.598 46.828 7738
+-124.472 46.828 8000
+-124.346 46.828 8099
+-124.22 46.828 8275
+-124.094 46.828 8321
+-123.968 46.828 8447
+-123.842 46.828 8612
+-123.716 46.828 8753
+-123.59 46.828 8951
+-123.464 46.828 9043
+-123.338 46.828 9155
+-123.212 46.828 9289
+-123.086 46.828 9340
+-122.96 46.828 9353
+-122.834 46.828 9373
+-122.708 46.828 9271
+-122.582 46.828 9157
+-122.456 46.828 9020
+-122.33 46.828 8859
+-122.204 46.828 8744
+-122.078 46.828 8670
+-121.952 46.828 8477
+-121.826 46.828 8359
+-121.7 46.828 8235
+-121.574 46.828 8032
+-121.448 46.828 7903
+-121.322 46.828 7758
+-121.196 46.828 7693
+-121.07 46.828 7499
+-120.944 46.828 7375
+-120.818 46.828 7309
+-120.692 46.828 7150
+-120.566 46.828 7039
+-120.44 46.828 6946
+-120.314 46.828 7025
+-120.188 46.828 7170
+-120.062 46.828 7279
+-119.936 46.828 7427
+-119.81 46.828 7535
+-119.684 46.828 7647
+-119.558 46.828 7769
+-119.432 46.828 7906
+-119.306 46.828 7969
+-119.18 46.828 8056
+-119.054 46.828 8201
+-118.928 46.828 8297
+-118.802 46.828 8357
+-118.676 46.828 8448
+-118.55 46.828 8482
+-118.424 46.828 8517
+-118.298 46.828 8544
+-118.172 46.828 8485
+-118.046 46.828 8416
+-117.92 46.828 8391
+-117.794 46.828 8288
+-117.668 46.828 8208
+-117.542 46.828 8117
+-117.416 46.828 7999
+-117.29 46.828 7903
+-117.164 46.828 7825
+-117.038 46.828 7699
+-116.912 46.828 7582
+-116.786 46.828 7471
+-116.66 46.828 7339
+-116.534 46.828 7176
+-116.408 46.828 7101
+-116.282 46.828 7003
+-116.156 46.828 6858
+-116.03 46.828 6736
+-115.904 46.828 6593
+-115.778 46.828 6467
+-115.652 46.828 6362
+-115.526 46.828 6261
+-115.4 46.828 6091
+-115.274 46.828 5937
+-115.148 46.828 5807
+-115.022 46.828 5629
+-114.896 46.828 5500
+-114.77 46.828 5379
+-114.644 46.828 5304
+-114.518 46.828 5260
+-114.392 46.828 5193
+-114.266 46.828 5101
+-114.14 46.828 4922
+-114.014 46.828 4736
+-113.888 46.828 4547
+-113.762 46.828 4436
+-113.636 46.828 4377
+-113.51 46.828 4300
+-113.384 46.828 4137
+-113.258 46.828 3985
+-113.132 46.828 4027
+-113.006 46.828 4083
+-112.88 46.828 4076
+-112.754 46.828 4077
+-112.628 46.828 4070
+-112.502 46.828 4057
+-112.376 46.828 4054
+-112.25 46.828 4015
+-112.124 46.828 4000
+-111.998 46.828 3949
+-111.872 46.828 3934
+-111.746 46.828 3932
+-111.62 46.828 3931
+-111.494 46.828 3889
+-111.368 46.828 3835
+-111.242 46.828 3831
+-111.116 46.828 3813
+-110.99 46.828 3810
+-110.864 46.828 3807
+-110.738 46.828 3805
+-110.612 46.828 3803
+-110.486 46.828 3802
+-110.36 46.828 3800
+-110.234 46.828 3799
+-110.108 46.828 3798
+-109.982 46.828 3619
+-109.856 46.828 3617
+-109.73 46.828 3551
+-109.604 46.828 3547
+-109.478 46.828 3478
+-109.352 46.828 3410
+-109.226 46.828 3405
+-109.1 46.828 3401
+-108.974 46.828 3397
+-108.848 46.828 3394
+-108.722 46.828 3390
+-108.596 46.828 3387
+-108.47 46.828 3384
+-108.344 46.828 3381
+-108.218 46.828 3379
+-108.092 46.828 3376
+-107.966 46.828 3267
+-107.84 46.828 3265
+-107.714 46.828 3274
+-107.588 46.828 3272
+-107.462 46.828 3271
+-107.336 46.828 3269
+-107.21 46.828 3268
+-107.084 46.828 3266
+-106.958 46.828 3265
+-106.832 46.828 3264
+-106.706 46.828 3263
+-106.58 46.828 3262
+-106.454 46.828 3261
+-106.328 46.828 3260
+-106.202 46.828 3260
+-106.076 46.828 3259
+-105.95 46.828 3258
+-105.824 46.828 3258
+-105.698 46.828 3257
+-105.572 46.828 3257
+-105.446 46.828 3162
+-105.32 46.828 3161
+-105.194 46.828 3160
+-105.068 46.828 3160
+-104.942 46.828 3159
+-104.816 46.828 3159
+-104.69 46.828 3158
+-104.564 46.828 3158
+-104.438 46.828 3157
+-104.312 46.828 3157
+-104.186 46.828 3156
+-104.06 46.828 3156
+-103.934 46.828 3156
+-103.808 46.828 3123
+-103.682 46.828 3122
+-103.556 46.828 3120
+-103.43 46.828 2993
+-103.304 46.828 2990
+-103.178 46.828 2966
+-103.052 46.828 2886
+-102.926 46.828 2833
+-102.8 46.828 2910
+-102.674 46.828 2903
+-102.548 46.828 2913
+-102.422 46.828 2968
+-102.296 46.828 3051
+-102.17 46.828 3056
+-102.044 46.828 3169
+-101.918 46.828 3172
+-101.792 46.828 3381
+-101.666 46.828 3381
+-101.54 46.828 3380
+-101.414 46.828 3339
+-101.288 46.828 3437
+-101.162 46.828 3446
+-101.036 46.828 3446
+-100.91 46.828 3444
+-100.784 46.828 3443
+-100.658 46.828 3413
+-100.532 46.828 3409
+-100.406 46.828 3328
+-100.28 46.828 3468
+-100.154 46.828 3485
+-100.028 46.828 3442
+-99.902 46.828 3442
+-99.776 46.828 3441
+-99.65 46.828 3457
+-99.524 46.828 3405
+-99.398 46.828 3414
+-99.272 46.828 3414
+-99.146 46.828 3409
+-99.02 46.828 3408
+-98.894 46.828 3408
+-98.768 46.828 3408
+-98.642 46.828 3204
+-98.516 46.828 3233
+-98.39 46.828 3231
+-98.264 46.828 3229
+-98.138 46.828 3210
+-98.012 46.828 3259
+-97.886 46.828 3230
+-97.76 46.828 3227
+-97.634 46.828 3206
+-97.508 46.828 3203
+-97.382 46.828 3124
+-97.256 46.828 3159
+-97.13 46.828 3155
+-97.004 46.828 3152
+-96.878 46.828 3148
+-96.752 46.828 3134
+-96.626 46.828 3129
+-96.5 46.828 3125
+-96.374 46.828 3120
+-96.248 46.828 3115
+-96.122 46.828 3037
+-95.996 46.828 3020
+-95.87 46.828 2996
+-95.744 46.828 2945
+-95.618 46.828 2930
+-95.492 46.828 2909
+-95.366 46.828 2902
+-95.24 46.828 2893
+-95.114 46.828 2872
+-94.988 46.828 2849
+-94.862 46.828 2840
+-94.736 46.828 2830
+-94.61 46.828 2820
+-94.484 46.828 2809
+-94.358 46.828 2797
+-94.232 46.828 2785
+-94.106 46.828 2772
+-93.98 46.828 2757
+-93.854 46.828 2742
+-93.728 46.828 2726
+-93.602 46.828 2708
+-93.476 46.828 2689
+-93.35 46.828 2669
+-93.224 46.828 2647
+-93.098 46.828 2624
+-92.972 46.828 2599
+-92.846 46.828 2572
+-92.72 46.828 2463
+-92.594 46.828 2434
+-92.468 46.828 2396
+-92.342 46.828 2364
+-92.216 46.828 2331
+-92.09 46.828 2297
+-91.964 46.828 2262
+-91.838 46.828 2227
+-91.712 46.828 2192
+-91.586 46.828 2159
+-91.46 46.828 2128
+-91.334 46.828 2101
+-91.208 46.828 2078
+-91.082 46.828 2061
+-90.956 46.828 2051
+-90.83 46.828 2048
+-90.704 46.828 2052
+-90.578 46.828 2063
+-90.452 46.828 2080
+-90.326 46.828 2102
+-90.2 46.828 2128
+-90.074 46.828 2157
+-89.948 46.828 2165
+-89.822 46.828 2196
+-89.696 46.828 2226
+-89.57 46.828 2254
+-89.444 46.828 2282
+-89.318 46.828 2308
+-89.192 46.828 2331
+-89.066 46.828 2353
+-88.94 46.828 2373
+-88.814 46.828 2391
+-88.688 46.828 2408
+-88.562 46.828 2423
+-88.436 46.828 2437
+-88.31 46.828 2449
+-88.184 46.828 2460
+-88.058 46.828 2470
+-87.932 46.828 2480
+-87.806 46.828 2488
+-87.68 46.828 2496
+-87.554 46.828 2503
+-87.428 46.828 2509
+-87.302 46.828 2515
+-87.176 46.828 2520
+-87.05 46.828 2525
+-86.924 46.828 2530
+-86.798 46.828 2534
+-86.672 46.828 2545
+-86.546 46.828 2549
+-86.42 46.828 2552
+-86.294 46.828 2555
+-86.168 46.828 2481
+-86.042 46.828 2483
+-85.916 46.828 2484
+-85.79 46.828 2485
+-85.664 46.828 2485
+-85.538 46.828 2486
+-85.412 46.828 2486
+-85.286 46.828 2487
+-85.16 46.828 2487
+-85.034 46.828 2488
+-84.908 46.828 2493
+-84.782 46.828 2504
+-84.656 46.828 2504
+-84.53 46.828 2504
+-84.404 46.828 2505
+-84.278 46.828 2524
+-84.152 46.828 2524
+-84.026 46.828 2525
+-83.9 46.828 2526
+-83.774 46.828 2530
+-83.648 46.828 2644
+-83.522 46.828 2644
+-83.396 46.828 2644
+-83.27 46.828 2650
+-83.144 46.828 2650
+-83.018 46.828 2652
+-82.892 46.828 2666
+-82.766 46.828 2653
+-82.64 46.828 2664
+-82.514 46.828 2665
+-82.388 46.828 2664
+-82.262 46.828 2665
+-82.136 46.828 2666
+-82.01 46.828 2667
+-81.884 46.828 2670
+-81.758 46.828 2746
+-81.632 46.828 2747
+-81.506 46.828 2749
+-81.38 46.828 2750
+-81.254 46.828 2765
+-81.128 46.828 2767
+-81.002 46.828 2754
+-80.876 46.828 2756
+-80.75 46.828 2758
+-80.624 46.828 2760
+-80.498 46.828 2737
+-80.372 46.828 2746
+-80.246 46.828 2748
+-80.12 46.828 2864
+-79.994 46.828 2831
+-79.868 46.828 2832
+-79.742 46.828 2954
+-79.616 46.828 2953
+-79.49 46.828 2921
+-79.364 46.828 2977
+-79.238 46.828 2879
+-79.112 46.828 2907
+-78.986 46.828 2957
+-78.86 46.828 2865
+-78.734 46.828 2873
+-78.608 46.828 2786
+-78.482 46.828 2783
+-78.356 46.828 2798
+-78.23 46.828 2774
+-78.104 46.828 2776
+-77.978 46.828 2778
+-77.852 46.828 2723
+-77.726 46.828 2761
+-77.6 46.828 2755
+-77.474 46.828 2747
+-77.348 46.828 2748
+-77.222 46.828 2750
+-77.096 46.828 2752
+-76.97 46.828 2699
+-76.844 46.828 2695
+-76.718 46.828 2696
+-76.592 46.828 2698
+-76.466 46.828 2700
+-76.34 46.828 2697
+-76.214 46.828 2645
+-76.088 46.828 2747
+-75.962 46.828 2744
+-75.836 46.828 2751
+-75.71 46.828 2752
+-75.584 46.828 2754
+-75.458 46.828 2755
+-75.332 46.828 2779
+-75.206 46.828 2759
+-75.08 46.828 2822
+-74.954 46.828 2823
+-74.828 46.828 2815
+-74.702 46.828 2823
+-74.576 46.828 2824
+-74.45 46.828 2826
+-74.324 46.828 2814
+-74.198 46.828 2929
+-74.072 46.828 2931
+-73.946 46.828 2932
+-73.82 46.828 2933
+-73.694 46.828 3033
+-73.568 46.828 2988
+-73.442 46.828 3139
+-73.316 46.828 3140
+-73.19 46.828 3103
+-73.064 46.828 3104
+-72.938 46.828 3105
+-72.812 46.828 3106
+-72.686 46.828 3106
+-72.56 46.828 3107
+-72.434 46.828 3202
+-72.308 46.828 3198
+-72.182 46.828 3199
+-72.056 46.828 3200
+-71.93 46.828 3200
+-71.804 46.828 3144
+-71.678 46.828 3180
+-71.552 46.828 3181
+-71.426 46.828 3256
+-71.3 46.828 3166
+-71.174 46.828 3167
+-71.048 46.828 3168
+-70.922 46.828 3216
+-70.796 46.828 3170
+-70.67 46.828 3171
+-70.544 46.828 3172
+-70.418 46.828 3400
+-70.292 46.828 3346
+-70.166 46.828 3347
+-70.04 46.828 3479
+-69.914 46.828 3451
+-69.788 46.828 3452
+-69.662 46.828 3398
+-69.536 46.828 3470
+-69.41 46.828 3471
+-69.284 46.828 3472
+-69.158 46.828 3472
+-69.032 46.828 3473
+-68.906 46.828 3472
+-68.78 46.828 3473
+-68.654 46.828 3473
+-68.528 46.828 3462
+-68.402 46.828 3410
+-68.276 46.828 3404
+-68.15 46.828 3404
+-68.024 46.828 3404
+-67.898 46.828 3405
+-67.772 46.828 3405
+-67.646 46.828 3406
+-67.52 46.828 3406
+-67.394 46.828 3407
+-67.268 46.828 3407
+-67.142 46.828 3408
+-67.016 46.828 3408
+-66.89 46.828 3408
+-66.764 46.828 3409
+-66.638 46.828 3409
+-66.512 46.828 3410
+-66.386 46.828 3523
+-66.26 46.828 3523
+-66.134 46.828 3507
+-66.008 46.828 3507
+-65.882 46.828 3508
+-65.756 46.828 3508
+-65.63 46.828 3508
+-65.504 46.828 3509
+-65.378 46.828 3509
+-65.252 46.828 3509
+-65.126 46.828 3510
+-128 46.776 4573
+-127.874 46.776 4519
+-127.748 46.776 4501
+-127.622 46.776 4551
+-127.496 46.776 4696
+-127.37 46.776 4907
+-127.244 46.776 4956
+-127.118 46.776 5089
+-126.992 46.776 5270
+-126.866 46.776 5431
+-126.74 46.776 5551
+-126.614 46.776 5551
+-126.488 46.776 5812
+-126.362 46.776 5855
+-126.236 46.776 5993
+-126.11 46.776 6114
+-125.984 46.776 6236
+-125.858 46.776 6417
+-125.732 46.776 6558
+-125.606 46.776 6736
+-125.48 46.776 6865
+-125.354 46.776 6948
+-125.228 46.776 7171
+-125.102 46.776 7275
+-124.976 46.776 7313
+-124.85 46.776 7517
+-124.724 46.776 7653
+-124.598 46.776 7829
+-124.472 46.776 7870
+-124.346 46.776 8100
+-124.22 46.776 8172
+-124.094 46.776 8381
+-123.968 46.776 8466
+-123.842 46.776 8599
+-123.716 46.776 8722
+-123.59 46.776 8902
+-123.464 46.776 9012
+-123.338 46.776 9122
+-123.212 46.776 9265
+-123.086 46.776 9270
+-122.96 46.776 9287
+-122.834 46.776 9304
+-122.708 46.776 9220
+-122.582 46.776 9130
+-122.456 46.776 8990
+-122.33 46.776 8838
+-122.204 46.776 8782
+-122.078 46.776 8630
+-121.952 46.776 8460
+-121.826 46.776 8349
+-121.7 46.776 8259
+-121.574 46.776 8082
+-121.448 46.776 7915
+-121.322 46.776 7734
+-121.196 46.776 7630
+-121.07 46.776 7469
+-120.944 46.776 7374
+-120.818 46.776 7217
+-120.692 46.776 7087
+-120.566 46.776 7024
+-120.44 46.776 6977
+-120.314 46.776 7074
+-120.188 46.776 7173
+-120.062 46.776 7300
+-119.936 46.776 7460
+-119.81 46.776 7614
+-119.684 46.776 7666
+-119.558 46.776 7825
+-119.432 46.776 7915
+-119.306 46.776 8062
+-119.18 46.776 8096
+-119.054 46.776 8240
+-118.928 46.776 8376
+-118.802 46.776 8440
+-118.676 46.776 8473
+-118.55 46.776 8524
+-118.424 46.776 8554
+-118.298 46.776 8579
+-118.172 46.776 8516
+-118.046 46.776 8455
+-117.92 46.776 8425
+-117.794 46.776 8334
+-117.668 46.776 8246
+-117.542 46.776 8129
+-117.416 46.776 8053
+-117.29 46.776 7987
+-117.164 46.776 7852
+-117.038 46.776 7745
+-116.912 46.776 7604
+-116.786 46.776 7458
+-116.66 46.776 7385
+-116.534 46.776 7235
+-116.408 46.776 7093
+-116.282 46.776 7022
+-116.156 46.776 6835
+-116.03 46.776 6742
+-115.904 46.776 6619
+-115.778 46.776 6504
+-115.652 46.776 6386
+-115.526 46.776 6227
+-115.4 46.776 6052
+-115.274 46.776 5970
+-115.148 46.776 5795
+-115.022 46.776 5694
+-114.896 46.776 5537
+-114.77 46.776 5367
+-114.644 46.776 5270
+-114.518 46.776 5139
+-114.392 46.776 5178
+-114.266 46.776 5072
+-114.14 46.776 4922
+-114.014 46.776 4702
+-113.888 46.776 4507
+-113.762 46.776 4390
+-113.636 46.776 4365
+-113.51 46.776 4329
+-113.384 46.776 4240
+-113.258 46.776 4159
+-113.132 46.776 4119
+-113.006 46.776 4108
+-112.88 46.776 4088
+-112.754 46.776 4086
+-112.628 46.776 4032
+-112.502 46.776 4019
+-112.376 46.776 4012
+-112.25 46.776 3989
+-112.124 46.776 3960
+-111.998 46.776 3921
+-111.872 46.776 3920
+-111.746 46.776 3919
+-111.62 46.776 3879
+-111.494 46.776 3878
+-111.368 46.776 3877
+-111.242 46.776 3876
+-111.116 46.776 3809
+-110.99 46.776 3807
+-110.864 46.776 3805
+-110.738 46.776 3803
+-110.612 46.776 3801
+-110.486 46.776 3800
+-110.36 46.776 3799
+-110.234 46.776 3798
+-110.108 46.776 3797
+-109.982 46.776 3797
+-109.856 46.776 3619
+-109.73 46.776 3605
+-109.604 46.776 3487
+-109.478 46.776 3418
+-109.352 46.776 3414
+-109.226 46.776 3409
+-109.1 46.776 3405
+-108.974 46.776 3401
+-108.848 46.776 3397
+-108.722 46.776 3393
+-108.596 46.776 3390
+-108.47 46.776 3387
+-108.344 46.776 3384
+-108.218 46.776 3381
+-108.092 46.776 3379
+-107.966 46.776 3282
+-107.84 46.776 3280
+-107.714 46.776 3278
+-107.588 46.776 3276
+-107.462 46.776 3274
+-107.336 46.776 3272
+-107.21 46.776 3271
+-107.084 46.776 3269
+-106.958 46.776 3268
+-106.832 46.776 3267
+-106.706 46.776 3266
+-106.58 46.776 3265
+-106.454 46.776 3264
+-106.328 46.776 3263
+-106.202 46.776 3262
+-106.076 46.776 3261
+-105.95 46.776 3260
+-105.824 46.776 3260
+-105.698 46.776 3259
+-105.572 46.776 3165
+-105.446 46.776 3164
+-105.32 46.776 3163
+-105.194 46.776 3162
+-105.068 46.776 3162
+-104.942 46.776 3161
+-104.816 46.776 3161
+-104.69 46.776 3160
+-104.564 46.776 3160
+-104.438 46.776 3159
+-104.312 46.776 3159
+-104.186 46.776 3158
+-104.06 46.776 3158
+-103.934 46.776 3157
+-103.808 46.776 3133
+-103.682 46.776 3131
+-103.556 46.776 3129
+-103.43 46.776 2993
+-103.304 46.776 2969
+-103.178 46.776 2892
+-103.052 46.776 2870
+-102.926 46.776 2879
+-102.8 46.776 2894
+-102.674 46.776 2886
+-102.548 46.776 2895
+-102.422 46.776 2949
+-102.296 46.776 3052
+-102.17 46.776 3163
+-102.044 46.776 3166
+-101.918 46.776 3277
+-101.792 46.776 3277
+-101.666 46.776 3380
+-101.54 46.776 3379
+-101.414 46.776 3379
+-101.288 46.776 3338
+-101.162 46.776 3436
+-101.036 46.776 3445
+-100.91 46.776 3445
+-100.784 46.776 3442
+-100.658 46.776 3442
+-100.532 46.776 3412
+-100.406 46.776 3408
+-100.28 46.776 3328
+-100.154 46.776 3468
+-100.028 46.776 3484
+-99.902 46.776 3441
+-99.776 46.776 3441
+-99.65 46.776 3440
+-99.524 46.776 3456
+-99.398 46.776 3404
+-99.272 46.776 3413
+-99.146 46.776 3408
+-99.02 46.776 3408
+-98.894 46.776 3408
+-98.768 46.776 3407
+-98.642 46.776 3407
+-98.516 46.776 3203
+-98.39 46.776 3232
+-98.264 46.776 3230
+-98.138 46.776 3228
+-98.012 46.776 3210
+-97.886 46.776 3258
+-97.76 46.776 3229
+-97.634 46.776 3226
+-97.508 46.776 3205
+-97.382 46.776 3202
+-97.256 46.776 3123
+-97.13 46.776 3158
+-97.004 46.776 3154
+-96.878 46.776 3150
+-96.752 46.776 3146
+-96.626 46.776 3132
+-96.5 46.776 3127
+-96.374 46.776 3122
+-96.248 46.776 3118
+-96.122 46.776 3112
+-95.996 46.776 3034
+-95.87 46.776 3017
+-95.744 46.776 2993
+-95.618 46.776 2942
+-95.492 46.776 2926
+-95.366 46.776 2906
+-95.24 46.776 2898
+-95.114 46.776 2888
+-94.988 46.776 2867
+-94.862 46.776 2843
+-94.736 46.776 2833
+-94.61 46.776 2823
+-94.484 46.776 2812
+-94.358 46.776 2800
+-94.232 46.776 2787
+-94.106 46.776 2774
+-93.98 46.776 2759
+-93.854 46.776 2744
+-93.728 46.776 2727
+-93.602 46.776 2708
+-93.476 46.776 2689
+-93.35 46.776 2668
+-93.224 46.776 2645
+-93.098 46.776 2620
+-92.972 46.776 2594
+-92.846 46.776 2566
+-92.72 46.776 2535
+-92.594 46.776 2425
+-92.468 46.776 2392
+-92.342 46.776 2350
+-92.216 46.776 2313
+-92.09 46.776 2275
+-91.964 46.776 2235
+-91.838 46.776 2195
+-91.712 46.776 2155
+-91.586 46.776 2116
+-91.46 46.776 2080
+-91.334 46.776 2048
+-91.208 46.776 2021
+-91.082 46.776 2001
+-90.956 46.776 1988
+-90.83 46.776 1984
+-90.704 46.776 1989
+-90.578 46.776 2003
+-90.452 46.776 2024
+-90.326 46.776 2051
+-90.2 46.776 2083
+-90.074 46.776 2118
+-89.948 46.776 2132
+-89.822 46.776 2168
+-89.696 46.776 2202
+-89.57 46.776 2235
+-89.444 46.776 2266
+-89.318 46.776 2294
+-89.192 46.776 2320
+-89.066 46.776 2344
+-88.94 46.776 2366
+-88.814 46.776 2385
+-88.688 46.776 2403
+-88.562 46.776 2418
+-88.436 46.776 2433
+-88.31 46.776 2445
+-88.184 46.776 2457
+-88.058 46.776 2468
+-87.932 46.776 2477
+-87.806 46.776 2486
+-87.68 46.776 2494
+-87.554 46.776 2501
+-87.428 46.776 2507
+-87.302 46.776 2513
+-87.176 46.776 2518
+-87.05 46.776 2523
+-86.924 46.776 2528
+-86.798 46.776 2539
+-86.672 46.776 2543
+-86.546 46.776 2546
+-86.42 46.776 2550
+-86.294 46.776 2478
+-86.168 46.776 2480
+-86.042 46.776 2481
+-85.916 46.776 2482
+-85.79 46.776 2483
+-85.664 46.776 2483
+-85.538 46.776 2484
+-85.412 46.776 2484
+-85.286 46.776 2485
+-85.16 46.776 2485
+-85.034 46.776 2490
+-84.908 46.776 2501
+-84.782 46.776 2501
+-84.656 46.776 2502
+-84.53 46.776 2502
+-84.404 46.776 2521
+-84.278 46.776 2522
+-84.152 46.776 2522
+-84.026 46.776 2523
+-83.9 46.776 2528
+-83.774 46.776 2640
+-83.648 46.776 2640
+-83.522 46.776 2640
+-83.396 46.776 2646
+-83.27 46.776 2646
+-83.144 46.776 2648
+-83.018 46.776 2662
+-82.892 46.776 2649
+-82.766 46.776 2660
+-82.64 46.776 2661
+-82.514 46.776 2660
+-82.388 46.776 2661
+-82.262 46.776 2662
+-82.136 46.776 2664
+-82.01 46.776 2666
+-81.884 46.776 2741
+-81.758 46.776 2743
+-81.632 46.776 2745
+-81.506 46.776 2746
+-81.38 46.776 2761
+-81.254 46.776 2763
+-81.128 46.776 2750
+-81.002 46.776 2752
+-80.876 46.776 2754
+-80.75 46.776 2756
+-80.624 46.776 2733
+-80.498 46.776 2742
+-80.372 46.776 2744
+-80.246 46.776 2860
+-80.12 46.776 2827
+-79.994 46.776 2829
+-79.868 46.776 2950
+-79.742 46.776 2949
+-79.616 46.776 2917
+-79.49 46.776 2972
+-79.364 46.776 2876
+-79.238 46.776 2903
+-79.112 46.776 2953
+-78.986 46.776 2862
+-78.86 46.776 2869
+-78.734 46.776 2783
+-78.608 46.776 2780
+-78.482 46.776 2795
+-78.356 46.776 2771
+-78.23 46.776 2773
+-78.104 46.776 2775
+-77.978 46.776 2720
+-77.852 46.776 2759
+-77.726 46.776 2753
+-77.6 46.776 2744
+-77.474 46.776 2746
+-77.348 46.776 2748
+-77.222 46.776 2750
+-77.096 46.776 2697
+-76.97 46.776 2693
+-76.844 46.776 2695
+-76.718 46.776 2697
+-76.592 46.776 2698
+-76.466 46.776 2696
+-76.34 46.776 2644
+-76.214 46.776 2746
+-76.088 46.776 2743
+-75.962 46.776 2749
+-75.836 46.776 2751
+-75.71 46.776 2752
+-75.584 46.776 2754
+-75.458 46.776 2778
+-75.332 46.776 2758
+-75.206 46.776 2820
+-75.08 46.776 2822
+-74.954 46.776 2814
+-74.828 46.776 2821
+-74.702 46.776 2823
+-74.576 46.776 2825
+-74.45 46.776 2813
+-74.324 46.776 2928
+-74.198 46.776 2930
+-74.072 46.776 2931
+-73.946 46.776 2932
+-73.82 46.776 3032
+-73.694 46.776 2987
+-73.568 46.776 3138
+-73.442 46.776 3139
+-73.316 46.776 3103
+-73.19 46.776 3103
+-73.064 46.776 3104
+-72.938 46.776 3105
+-72.812 46.776 3106
+-72.686 46.776 3106
+-72.56 46.776 3201
+-72.434 46.776 3197
+-72.308 46.776 3198
+-72.182 46.776 3199
+-72.056 46.776 3200
+-71.93 46.776 3143
+-71.804 46.776 3179
+-71.678 46.776 3180
+-71.552 46.776 3255
+-71.426 46.776 3166
+-71.3 46.776 3167
+-71.174 46.776 3168
+-71.048 46.776 3216
+-70.922 46.776 3170
+-70.796 46.776 3171
+-70.67 46.776 3172
+-70.544 46.776 3400
+-70.418 46.776 3345
+-70.292 46.776 3346
+-70.166 46.776 3478
+-70.04 46.776 3451
+-69.914 46.776 3451
+-69.788 46.776 3397
+-69.662 46.776 3470
+-69.536 46.776 3471
+-69.41 46.776 3471
+-69.284 46.776 3472
+-69.158 46.776 3472
+-69.032 46.776 3472
+-68.906 46.776 3472
+-68.78 46.776 3473
+-68.654 46.776 3462
+-68.528 46.776 3409
+-68.402 46.776 3403
+-68.276 46.776 3404
+-68.15 46.776 3404
+-68.024 46.776 3405
+-67.898 46.776 3405
+-67.772 46.776 3405
+-67.646 46.776 3406
+-67.52 46.776 3406
+-67.394 46.776 3407
+-67.268 46.776 3407
+-67.142 46.776 3408
+-67.016 46.776 3408
+-66.89 46.776 3409
+-66.764 46.776 3409
+-66.638 46.776 3409
+-66.512 46.776 3522
+-66.386 46.776 3523
+-66.26 46.776 3507
+-66.134 46.776 3507
+-66.008 46.776 3507
+-65.882 46.776 3508
+-65.756 46.776 3508
+-65.63 46.776 3508
+-65.504 46.776 3509
+-65.378 46.776 3509
+-65.252 46.776 3509
+-65.126 46.776 3510
+-128 46.724 4548
+-127.874 46.724 4439
+-127.748 46.724 4285
+-127.622 46.724 4525
+-127.496 46.724 4726
+-127.37 46.724 4907
+-127.244 46.724 5016
+-127.118 46.724 5135
+-126.992 46.724 5298
+-126.866 46.724 5480
+-126.74 46.724 5621
+-126.614 46.724 5708
+-126.488 46.724 5828
+-126.362 46.724 5861
+-126.236 46.724 5991
+-126.11 46.724 6120
+-125.984 46.724 6204
+-125.858 46.724 6397
+-125.732 46.724 6563
+-125.606 46.724 6746
+-125.48 46.724 6822
+-125.354 46.724 6967
+-125.228 46.724 7142
+-125.102 46.724 7276
+-124.976 46.724 7382
+-124.85 46.724 7517
+-124.724 46.724 7654
+-124.598 46.724 7837
+-124.472 46.724 7947
+-124.346 46.724 8070
+-124.22 46.724 8223
+-124.094 46.724 8376
+-123.968 46.724 8404
+-123.842 46.724 8637
+-123.716 46.724 8711
+-123.59 46.724 8844
+-123.464 46.724 9014
+-123.338 46.724 9099
+-123.212 46.724 9195
+-123.086 46.724 9249
+-122.96 46.724 9245
+-122.834 46.724 9273
+-122.708 46.724 9247
+-122.582 46.724 9083
+-122.456 46.724 8939
+-122.33 46.724 8866
+-122.204 46.724 8750
+-122.078 46.724 8519
+-121.952 46.724 8454
+-121.826 46.724 8336
+-121.7 46.724 8231
+-121.574 46.724 8083
+-121.448 46.724 7861
+-121.322 46.724 7768
+-121.196 46.724 7609
+-121.07 46.724 7502
+-120.944 46.724 7407
+-120.818 46.724 7275
+-120.692 46.724 7118
+-120.566 46.724 6790
+-120.44 46.724 6952
+-120.314 46.724 7095
+-120.188 46.724 7256
+-120.062 46.724 7355
+-119.936 46.724 7471
+-119.81 46.724 7552
+-119.684 46.724 7694
+-119.558 46.724 7795
+-119.432 46.724 7961
+-119.306 46.724 8025
+-119.18 46.724 8143
+-119.054 46.724 8257
+-118.928 46.724 8361
+-118.802 46.724 8433
+-118.676 46.724 8550
+-118.55 46.724 8606
+-118.424 46.724 8605
+-118.298 46.724 8591
+-118.172 46.724 8557
+-118.046 46.724 8543
+-117.92 46.724 8451
+-117.794 46.724 8361
+-117.668 46.724 8266
+-117.542 46.724 8160
+-117.416 46.724 8071
+-117.29 46.724 8007
+-117.164 46.724 7853
+-117.038 46.724 7673
+-116.912 46.724 7604
+-116.786 46.724 7463
+-116.66 46.724 7402
+-116.534 46.724 7265
+-116.408 46.724 7094
+-116.282 46.724 7035
+-116.156 46.724 6796
+-116.03 46.724 6764
+-115.904 46.724 6612
+-115.778 46.724 6493
+-115.652 46.724 6355
+-115.526 46.724 6250
+-115.4 46.724 6072
+-115.274 46.724 5961
+-115.148 46.724 5801
+-115.022 46.724 5660
+-114.896 46.724 5530
+-114.77 46.724 5389
+-114.644 46.724 5221
+-114.518 46.724 5235
+-114.392 46.724 5133
+-114.266 46.724 5034
+-114.14 46.724 4910
+-114.014 46.724 4698
+-113.888 46.724 4519
+-113.762 46.724 4407
+-113.636 46.724 4290
+-113.51 46.724 4332
+-113.384 46.724 4301
+-113.258 46.724 4208
+-113.132 46.724 4152
+-113.006 46.724 4104
+-112.88 46.724 4086
+-112.754 46.724 4042
+-112.628 46.724 4029
+-112.502 46.724 3988
+-112.376 46.724 3980
+-112.25 46.724 3968
+-112.124 46.724 3956
+-111.998 46.724 3904
+-111.872 46.724 3904
+-111.746 46.724 3867
+-111.62 46.724 3866
+-111.494 46.724 3866
+-111.368 46.724 3866
+-111.242 46.724 3866
+-111.116 46.724 3866
+-110.99 46.724 3807
+-110.864 46.724 3806
+-110.738 46.724 3804
+-110.612 46.724 3803
+-110.486 46.724 3802
+-110.36 46.724 3801
+-110.234 46.724 3801
+-110.108 46.724 3800
+-109.982 46.724 3800
+-109.856 46.724 3609
+-109.73 46.724 3554
+-109.604 46.724 3550
+-109.478 46.724 3484
+-109.352 46.724 3416
+-109.226 46.724 3412
+-109.1 46.724 3407
+-108.974 46.724 3403
+-108.848 46.724 3399
+-108.722 46.724 3396
+-108.596 46.724 3392
+-108.47 46.724 3389
+-108.344 46.724 3386
+-108.218 46.724 3383
+-108.092 46.724 3288
+-107.966 46.724 3285
+-107.84 46.724 3283
+-107.714 46.724 3281
+-107.588 46.724 3279
+-107.462 46.724 3277
+-107.336 46.724 3275
+-107.21 46.724 3274
+-107.084 46.724 3272
+-106.958 46.724 3271
+-106.832 46.724 3269
+-106.706 46.724 3268
+-106.58 46.724 3267
+-106.454 46.724 3266
+-106.328 46.724 3265
+-106.202 46.724 3264
+-106.076 46.724 3263
+-105.95 46.724 3263
+-105.824 46.724 3262
+-105.698 46.724 3168
+-105.572 46.724 3167
+-105.446 46.724 3166
+-105.32 46.724 3165
+-105.194 46.724 3165
+-105.068 46.724 3164
+-104.942 46.724 3163
+-104.816 46.724 3163
+-104.69 46.724 3162
+-104.564 46.724 3162
+-104.438 46.724 3161
+-104.312 46.724 3160
+-104.186 46.724 3160
+-104.06 46.724 3160
+-103.934 46.724 3135
+-103.808 46.724 3134
+-103.682 46.724 3132
+-103.556 46.724 3130
+-103.43 46.724 2993
+-103.304 46.724 2969
+-103.178 46.724 2893
+-103.052 46.724 2871
+-102.926 46.724 2865
+-102.8 46.724 2879
+-102.674 46.724 2887
+-102.548 46.724 2896
+-102.422 46.724 3036
+-102.296 46.724 3032
+-102.17 46.724 3163
+-102.044 46.724 3165
+-101.918 46.724 3276
+-101.792 46.724 3276
+-101.666 46.724 3276
+-101.54 46.724 3379
+-101.414 46.724 3378
+-101.288 46.724 3378
+-101.162 46.724 3337
+-101.036 46.724 3435
+-100.91 46.724 3444
+-100.784 46.724 3444
+-100.658 46.724 3441
+-100.532 46.724 3441
+-100.406 46.724 3411
+-100.28 46.724 3407
+-100.154 46.724 3327
+-100.028 46.724 3467
+-99.902 46.724 3483
+-99.776 46.724 3441
+-99.65 46.724 3440
+-99.524 46.724 3440
+-99.398 46.724 3455
+-99.272 46.724 3403
+-99.146 46.724 3413
+-99.02 46.724 3412
+-98.894 46.724 3407
+-98.768 46.724 3407
+-98.642 46.724 3406
+-98.516 46.724 3406
+-98.39 46.724 3203
+-98.264 46.724 3232
+-98.138 46.724 3229
+-98.012 46.724 3227
+-97.886 46.724 3209
+-97.76 46.724 3257
+-97.634 46.724 3228
+-97.508 46.724 3225
+-97.382 46.724 3204
+-97.256 46.724 3201
+-97.13 46.724 3122
+-97.004 46.724 3156
+-96.878 46.724 3152
+-96.752 46.724 3148
+-96.626 46.724 3144
+-96.5 46.724 3130
+-96.374 46.724 3125
+-96.248 46.724 3120
+-96.122 46.724 3115
+-95.996 46.724 3109
+-95.87 46.724 3031
+-95.744 46.724 3014
+-95.618 46.724 2990
+-95.492 46.724 2938
+-95.366 46.724 2923
+-95.24 46.724 2901
+-95.114 46.724 2893
+-94.988 46.724 2883
+-94.862 46.724 2862
+-94.736 46.724 2836
+-94.61 46.724 2826
+-94.484 46.724 2815
+-94.358 46.724 2803
+-94.232 46.724 2790
+-94.106 46.724 2777
+-93.98 46.724 2762
+-93.854 46.724 2746
+-93.728 46.724 2729
+-93.602 46.724 2710
+-93.476 46.724 2690
+-93.35 46.724 2668
+-93.224 46.724 2644
+-93.098 46.724 2619
+-92.972 46.724 2591
+-92.846 46.724 2561
+-92.72 46.724 2528
+-92.594 46.724 2493
+-92.468 46.724 2381
+-92.342 46.724 2343
+-92.216 46.724 2295
+-92.09 46.724 2253
+-91.964 46.724 2208
+-91.838 46.724 2163
+-91.712 46.724 2117
+-91.586 46.724 2072
+-91.46 46.724 2029
+-91.334 46.724 1991
+-91.208 46.724 1958
+-91.082 46.724 1933
+-90.956 46.724 1918
+-90.83 46.724 1914
+-90.704 46.724 1920
+-90.578 46.724 1937
+-90.452 46.724 1963
+-90.326 46.724 1996
+-90.2 46.724 2035
+-90.074 46.724 2076
+-89.948 46.724 2098
+-89.822 46.724 2139
+-89.696 46.724 2179
+-89.57 46.724 2216
+-89.444 46.724 2250
+-89.318 46.724 2282
+-89.192 46.724 2310
+-89.066 46.724 2336
+-88.94 46.724 2359
+-88.814 46.724 2380
+-88.688 46.724 2398
+-88.562 46.724 2414
+-88.436 46.724 2429
+-88.31 46.724 2442
+-88.184 46.724 2454
+-88.058 46.724 2465
+-87.932 46.724 2475
+-87.806 46.724 2483
+-87.68 46.724 2491
+-87.554 46.724 2499
+-87.428 46.724 2505
+-87.302 46.724 2511
+-87.176 46.724 2517
+-87.05 46.724 2521
+-86.924 46.724 2533
+-86.798 46.724 2537
+-86.672 46.724 2541
+-86.546 46.724 2544
+-86.42 46.724 2475
+-86.294 46.724 2477
+-86.168 46.724 2478
+-86.042 46.724 2479
+-85.916 46.724 2480
+-85.79 46.724 2481
+-85.664 46.724 2481
+-85.538 46.724 2482
+-85.412 46.724 2482
+-85.286 46.724 2483
+-85.16 46.724 2487
+-85.034 46.724 2498
+-84.908 46.724 2499
+-84.782 46.724 2499
+-84.656 46.724 2499
+-84.53 46.724 2518
+-84.404 46.724 2519
+-84.278 46.724 2519
+-84.152 46.724 2520
+-84.026 46.724 2525
+-83.9 46.724 2636
+-83.774 46.724 2636
+-83.648 46.724 2636
+-83.522 46.724 2641
+-83.396 46.724 2642
+-83.27 46.724 2644
+-83.144 46.724 2657
+-83.018 46.724 2645
+-82.892 46.724 2656
+-82.766 46.724 2657
+-82.64 46.724 2656
+-82.514 46.724 2657
+-82.388 46.724 2658
+-82.262 46.724 2659
+-82.136 46.724 2662
+-82.01 46.724 2737
+-81.884 46.724 2738
+-81.758 46.724 2740
+-81.632 46.724 2742
+-81.506 46.724 2756
+-81.38 46.724 2758
+-81.254 46.724 2746
+-81.128 46.724 2748
+-81.002 46.724 2750
+-80.876 46.724 2752
+-80.75 46.724 2729
+-80.624 46.724 2738
+-80.498 46.724 2740
+-80.372 46.724 2856
+-80.246 46.724 2823
+-80.12 46.724 2825
+-79.994 46.724 2945
+-79.868 46.724 2944
+-79.742 46.724 2913
+-79.616 46.724 2968
+-79.49 46.724 2872
+-79.364 46.724 2899
+-79.238 46.724 2949
+-79.112 46.724 2858
+-78.986 46.724 2866
+-78.86 46.724 2779
+-78.734 46.724 2777
+-78.608 46.724 2792
+-78.482 46.724 2768
+-78.356 46.724 2771
+-78.23 46.724 2773
+-78.104 46.724 2718
+-77.978 46.724 2756
+-77.852 46.724 2751
+-77.726 46.724 2742
+-77.6 46.724 2744
+-77.474 46.724 2746
+-77.348 46.724 2748
+-77.222 46.724 2695
+-77.096 46.724 2691
+-76.97 46.724 2693
+-76.844 46.724 2695
+-76.718 46.724 2697
+-76.592 46.724 2695
+-76.466 46.724 2642
+-76.34 46.724 2745
+-76.214 46.724 2742
+-76.088 46.724 2748
+-75.962 46.724 2750
+-75.836 46.724 2751
+-75.71 46.724 2753
+-75.584 46.724 2777
+-75.458 46.724 2757
+-75.332 46.724 2819
+-75.206 46.724 2821
+-75.08 46.724 2812
+-74.954 46.724 2820
+-74.828 46.724 2822
+-74.702 46.724 2823
+-74.576 46.724 2812
+-74.45 46.724 2927
+-74.324 46.724 2928
+-74.198 46.724 2930
+-74.072 46.724 2931
+-73.946 46.724 3031
+-73.82 46.724 2986
+-73.694 46.724 3137
+-73.568 46.724 3138
+-73.442 46.724 3102
+-73.316 46.724 3103
+-73.19 46.724 3103
+-73.064 46.724 3104
+-72.938 46.724 3105
+-72.812 46.724 3106
+-72.686 46.724 3201
+-72.56 46.724 3196
+-72.434 46.724 3197
+-72.308 46.724 3198
+-72.182 46.724 3199
+-72.056 46.724 3143
+-71.93 46.724 3178
+-71.804 46.724 3179
+-71.678 46.724 3254
+-71.552 46.724 3165
+-71.426 46.724 3166
+-71.3 46.724 3167
+-71.174 46.724 3215
+-71.048 46.724 3169
+-70.922 46.724 3170
+-70.796 46.724 3171
+-70.67 46.724 3399
+-70.544 46.724 3345
+-70.418 46.724 3345
+-70.292 46.724 3478
+-70.166 46.724 3450
+-70.04 46.724 3451
+-69.914 46.724 3397
+-69.788 46.724 3469
+-69.662 46.724 3470
+-69.536 46.724 3471
+-69.41 46.724 3471
+-69.284 46.724 3472
+-69.158 46.724 3471
+-69.032 46.724 3472
+-68.906 46.724 3473
+-68.78 46.724 3462
+-68.654 46.724 3409
+-68.528 46.724 3403
+-68.402 46.724 3403
+-68.276 46.724 3404
+-68.15 46.724 3404
+-68.024 46.724 3405
+-67.898 46.724 3405
+-67.772 46.724 3406
+-67.646 46.724 3406
+-67.52 46.724 3406
+-67.394 46.724 3407
+-67.268 46.724 3407
+-67.142 46.724 3408
+-67.016 46.724 3408
+-66.89 46.724 3409
+-66.764 46.724 3409
+-66.638 46.724 3522
+-66.512 46.724 3522
+-66.386 46.724 3506
+-66.26 46.724 3507
+-66.134 46.724 3507
+-66.008 46.724 3507
+-65.882 46.724 3508
+-65.756 46.724 3508
+-65.63 46.724 3508
+-65.504 46.724 3509
+-65.378 46.724 3509
+-65.252 46.724 3509
+-65.126 46.724 3510
+-128 46.672 4560
+-127.874 46.672 4503
+-127.748 46.672 4462
+-127.622 46.672 4594
+-127.496 46.672 4753
+-127.37 46.672 4932
+-127.244 46.672 5060
+-127.118 46.672 5178
+-126.992 46.672 5338
+-126.866 46.672 5502
+-126.74 46.672 5646
+-126.614 46.672 5760
+-126.488 46.672 5853
+-126.362 46.672 5904
+-126.236 46.672 5995
+-126.11 46.672 6085
+-125.984 46.672 6197
+-125.858 46.672 6406
+-125.732 46.672 6477
+-125.606 46.672 6693
+-125.48 46.672 6829
+-125.354 46.672 6966
+-125.228 46.672 7047
+-125.102 46.672 7269
+-124.976 46.672 7406
+-124.85 46.672 7526
+-124.724 46.672 7616
+-124.598 46.672 7784
+-124.472 46.672 7960
+-124.346 46.672 8068
+-124.22 46.672 8157
+-124.094 46.672 8298
+-123.968 46.672 8451
+-123.842 46.672 8605
+-123.716 46.672 8660
+-123.59 46.672 8776
+-123.464 46.672 8927
+-123.338 46.672 9087
+-123.212 46.672 9135
+-123.086 46.672 9223
+-122.96 46.672 9224
+-122.834 46.672 9187
+-122.708 46.672 9167
+-122.582 46.672 9054
+-122.456 46.672 8939
+-122.33 46.672 8856
+-122.204 46.672 8695
+-122.078 46.672 8645
+-121.952 46.672 8421
+-121.826 46.672 8306
+-121.7 46.672 8244
+-121.574 46.672 8070
+-121.448 46.672 7840
+-121.322 46.672 7709
+-121.196 46.672 7633
+-121.07 46.672 7470
+-120.944 46.672 7347
+-120.818 46.672 7218
+-120.692 46.672 7114
+-120.566 46.672 6837
+-120.44 46.672 7013
+-120.314 46.672 7149
+-120.188 46.672 7198
+-120.062 46.672 7368
+-119.936 46.672 7460
+-119.81 46.672 7589
+-119.684 46.672 7741
+-119.558 46.672 7812
+-119.432 46.672 7973
+-119.306 46.672 8135
+-119.18 46.672 8171
+-119.054 46.672 8279
+-118.928 46.672 8400
+-118.802 46.672 8504
+-118.676 46.672 8572
+-118.55 46.672 8626
+-118.424 46.672 8679
+-118.298 46.672 8654
+-118.172 46.672 8628
+-118.046 46.672 8565
+-117.92 46.672 8535
+-117.794 46.672 8410
+-117.668 46.672 8276
+-117.542 46.672 8209
+-117.416 46.672 8109
+-117.29 46.672 8029
+-117.164 46.672 7893
+-117.038 46.672 7818
+-116.912 46.672 7657
+-116.786 46.672 7570
+-116.66 46.672 7436
+-116.534 46.672 7238
+-116.408 46.672 7092
+-116.282 46.672 7032
+-116.156 46.672 6926
+-116.03 46.672 6683
+-115.904 46.672 6596
+-115.778 46.672 6464
+-115.652 46.672 6390
+-115.526 46.672 6247
+-115.4 46.672 6098
+-115.274 46.672 5919
+-115.148 46.672 5776
+-115.022 46.672 5677
+-114.896 46.672 5499
+-114.77 46.672 5368
+-114.644 46.672 5343
+-114.518 46.672 5236
+-114.392 46.672 5040
+-114.266 46.672 4997
+-114.14 46.672 4890
+-114.014 46.672 4687
+-113.888 46.672 4526
+-113.762 46.672 4404
+-113.636 46.672 4380
+-113.51 46.672 4353
+-113.384 46.672 4296
+-113.258 46.672 4231
+-113.132 46.672 4179
+-113.006 46.672 4093
+-112.88 46.672 4037
+-112.754 46.672 4014
+-112.628 46.672 3973
+-112.502 46.672 3962
+-112.376 46.672 3937
+-112.25 46.672 3935
+-112.124 46.672 3935
+-111.998 46.672 3891
+-111.872 46.672 3850
+-111.746 46.672 3851
+-111.62 46.672 3852
+-111.494 46.672 3853
+-111.368 46.672 3854
+-111.242 46.672 3855
+-111.116 46.672 3856
+-110.99 46.672 3858
+-110.864 46.672 3802
+-110.738 46.672 3801
+-110.612 46.672 3801
+-110.486 46.672 3800
+-110.36 46.672 3800
+-110.234 46.672 3799
+-110.108 46.672 3799
+-109.982 46.672 3663
+-109.856 46.672 3587
+-109.73 46.672 3553
+-109.604 46.672 3549
+-109.478 46.672 3545
+-109.352 46.672 3480
+-109.226 46.672 3414
+-109.1 46.672 3409
+-108.974 46.672 3405
+-108.848 46.672 3401
+-108.722 46.672 3398
+-108.596 46.672 3394
+-108.47 46.672 3391
+-108.344 46.672 3388
+-108.218 46.672 3385
+-108.092 46.672 3382
+-107.966 46.672 3288
+-107.84 46.672 3286
+-107.714 46.672 3284
+-107.588 46.672 3282
+-107.462 46.672 3280
+-107.336 46.672 3278
+-107.21 46.672 3276
+-107.084 46.672 3275
+-106.958 46.672 3273
+-106.832 46.672 3272
+-106.706 46.672 3270
+-106.58 46.672 3269
+-106.454 46.672 3268
+-106.328 46.672 3267
+-106.202 46.672 3266
+-106.076 46.672 3265
+-105.95 46.672 3265
+-105.824 46.672 3264
+-105.698 46.672 3170
+-105.572 46.672 3169
+-105.446 46.672 3168
+-105.32 46.672 3168
+-105.194 46.672 3167
+-105.068 46.672 3166
+-104.942 46.672 3165
+-104.816 46.672 3165
+-104.69 46.672 3164
+-104.564 46.672 3163
+-104.438 46.672 3163
+-104.312 46.672 3162
+-104.186 46.672 3162
+-104.06 46.672 3138
+-103.934 46.672 3136
+-103.808 46.672 3134
+-103.682 46.672 3132
+-103.556 46.672 2989
+-103.43 46.672 2994
+-103.304 46.672 2890
+-103.178 46.672 2814
+-103.052 46.672 2872
+-102.926 46.672 2867
+-102.8 46.672 2886
+-102.674 46.672 2949
+-102.548 46.672 3001
+-102.422 46.672 3019
+-102.296 46.672 3042
+-102.17 46.672 3141
+-102.044 46.672 3144
+-101.918 46.672 3253
+-101.792 46.672 3275
+-101.666 46.672 3275
+-101.54 46.672 3275
+-101.414 46.672 3377
+-101.288 46.672 3377
+-101.162 46.672 3377
+-101.036 46.672 3337
+-100.91 46.672 3434
+-100.784 46.672 3443
+-100.658 46.672 3443
+-100.532 46.672 3440
+-100.406 46.672 3440
+-100.28 46.672 3410
+-100.154 46.672 3406
+-100.028 46.672 3327
+-99.902 46.672 3466
+-99.776 46.672 3482
+-99.65 46.672 3440
+-99.524 46.672 3439
+-99.398 46.672 3439
+-99.272 46.672 3454
+-99.146 46.672 3403
+-99.02 46.672 3412
+-98.894 46.672 3407
+-98.768 46.672 3406
+-98.642 46.672 3406
+-98.516 46.672 3406
+-98.39 46.672 3405
+-98.264 46.672 3203
+-98.138 46.672 3231
+-98.012 46.672 3229
+-97.886 46.672 3226
+-97.76 46.672 3208
+-97.634 46.672 3256
+-97.508 46.672 3227
+-97.382 46.672 3224
+-97.256 46.672 3203
+-97.13 46.672 3200
+-97.004 46.672 3121
+-96.878 46.672 3155
+-96.752 46.672 3151
+-96.626 46.672 3147
+-96.5 46.672 3142
+-96.374 46.672 3128
+-96.248 46.672 3123
+-96.122 46.672 3118
+-95.996 46.672 3112
+-95.87 46.672 3107
+-95.744 46.672 3029
+-95.618 46.672 3011
+-95.492 46.672 2986
+-95.366 46.672 2935
+-95.24 46.672 2919
+-95.114 46.672 2897
+-94.988 46.672 2889
+-94.862 46.672 2878
+-94.736 46.672 2856
+-94.61 46.672 2830
+-94.484 46.672 2819
+-94.358 46.672 2807
+-94.232 46.672 2794
+-94.106 46.672 2780
+-93.98 46.672 2765
+-93.854 46.672 2749
+-93.728 46.672 2731
+-93.602 46.672 2712
+-93.476 46.672 2691
+-93.35 46.672 2669
+-93.224 46.672 2645
+-93.098 46.672 2618
+-92.972 46.672 2589
+-92.846 46.672 2557
+-92.72 46.672 2523
+-92.594 46.672 2486
+-92.468 46.672 2445
+-92.342 46.672 2330
+-92.216 46.672 2286
+-92.09 46.672 2232
+-91.964 46.672 2182
+-91.838 46.672 2131
+-91.712 46.672 2078
+-91.586 46.672 2026
+-91.46 46.672 1975
+-91.334 46.672 1929
+-91.208 46.672 1890
+-91.082 46.672 1860
+-90.956 46.672 1841
+-90.83 46.672 1835
+-90.704 46.672 1843
+-90.578 46.672 1864
+-90.452 46.672 1896
+-90.326 46.672 1937
+-90.2 46.672 1983
+-90.074 46.672 2033
+-89.948 46.672 2063
+-89.822 46.672 2111
+-89.696 46.672 2156
+-89.57 46.672 2198
+-89.444 46.672 2236
+-89.318 46.672 2271
+-89.192 46.672 2302
+-89.066 46.672 2329
+-88.94 46.672 2353
+-88.814 46.672 2375
+-88.688 46.672 2394
+-88.562 46.672 2411
+-88.436 46.672 2426
+-88.31 46.672 2440
+-88.184 46.672 2452
+-88.058 46.672 2463
+-87.932 46.672 2473
+-87.806 46.672 2481
+-87.68 46.672 2489
+-87.554 46.672 2497
+-87.428 46.672 2503
+-87.302 46.672 2509
+-87.176 46.672 2515
+-87.05 46.672 2527
+-86.924 46.672 2531
+-86.798 46.672 2535
+-86.672 46.672 2539
+-86.546 46.672 2472
+-86.42 46.672 2474
+-86.294 46.672 2475
+-86.168 46.672 2477
+-86.042 46.672 2478
+-85.916 46.672 2478
+-85.79 46.672 2479
+-85.664 46.672 2479
+-85.538 46.672 2480
+-85.412 46.672 2480
+-85.286 46.672 2485
+-85.16 46.672 2496
+-85.034 46.672 2496
+-84.908 46.672 2496
+-84.782 46.672 2497
+-84.656 46.672 2515
+-84.53 46.672 2516
+-84.404 46.672 2516
+-84.278 46.672 2517
+-84.152 46.672 2522
+-84.026 46.672 2632
+-83.9 46.672 2632
+-83.774 46.672 2632
+-83.648 46.672 2637
+-83.522 46.672 2637
+-83.396 46.672 2640
+-83.27 46.672 2653
+-83.144 46.672 2641
+-83.018 46.672 2651
+-82.892 46.672 2652
+-82.766 46.672 2652
+-82.64 46.672 2653
+-82.514 46.672 2654
+-82.388 46.672 2655
+-82.262 46.672 2658
+-82.136 46.672 2732
+-82.01 46.672 2734
+-81.884 46.672 2735
+-81.758 46.672 2737
+-81.632 46.672 2752
+-81.506 46.672 2753
+-81.38 46.672 2742
+-81.254 46.672 2743
+-81.128 46.672 2745
+-81.002 46.672 2747
+-80.876 46.672 2725
+-80.75 46.672 2735
+-80.624 46.672 2737
+-80.498 46.672 2852
+-80.372 46.672 2819
+-80.246 46.672 2821
+-80.12 46.672 2940
+-79.994 46.672 2939
+-79.868 46.672 2908
+-79.742 46.672 2963
+-79.616 46.672 2868
+-79.49 46.672 2894
+-79.364 46.672 2944
+-79.238 46.672 2854
+-79.112 46.672 2862
+-78.986 46.672 2776
+-78.86 46.672 2774
+-78.734 46.672 2789
+-78.608 46.672 2765
+-78.482 46.672 2768
+-78.356 46.672 2770
+-78.23 46.672 2716
+-78.104 46.672 2754
+-77.978 46.672 2748
+-77.852 46.672 2740
+-77.726 46.672 2742
+-77.6 46.672 2744
+-77.474 46.672 2746
+-77.348 46.672 2693
+-77.222 46.672 2690
+-77.096 46.672 2692
+-76.97 46.672 2694
+-76.844 46.672 2695
+-76.718 46.672 2693
+-76.592 46.672 2641
+-76.466 46.672 2743
+-76.34 46.672 2740
+-76.214 46.672 2747
+-76.088 46.672 2748
+-75.962 46.672 2750
+-75.836 46.672 2751
+-75.71 46.672 2775
+-75.584 46.672 2756
+-75.458 46.672 2818
+-75.332 46.672 2819
+-75.206 46.672 2811
+-75.08 46.672 2819
+-74.954 46.672 2821
+-74.828 46.672 2822
+-74.702 46.672 2811
+-74.576 46.672 2926
+-74.45 46.672 2927
+-74.324 46.672 2929
+-74.198 46.672 2930
+-74.072 46.672 3030
+-73.946 46.672 2985
+-73.82 46.672 3136
+-73.694 46.672 3137
+-73.568 46.672 3101
+-73.442 46.672 3102
+-73.316 46.672 3103
+-73.19 46.672 3103
+-73.064 46.672 3104
+-72.938 46.672 3105
+-72.812 46.672 3200
+-72.686 46.672 3195
+-72.56 46.672 3196
+-72.434 46.672 3197
+-72.308 46.672 3198
+-72.182 46.672 3142
+-72.056 46.672 3177
+-71.93 46.672 3178
+-71.804 46.672 3254
+-71.678 46.672 3164
+-71.552 46.672 3165
+-71.426 46.672 3166
+-71.3 46.672 3214
+-71.174 46.672 3168
+-71.048 46.672 3169
+-70.922 46.672 3170
+-70.796 46.672 3398
+-70.67 46.672 3344
+-70.544 46.672 3345
+-70.418 46.672 3477
+-70.292 46.672 3449
+-70.166 46.672 3450
+-70.04 46.672 3396
+-69.914 46.672 3469
+-69.788 46.672 3470
+-69.662 46.672 3470
+-69.536 46.672 3471
+-69.41 46.672 3471
+-69.284 46.672 3471
+-69.158 46.672 3472
+-69.032 46.672 3472
+-68.906 46.672 3461
+-68.78 46.672 3408
+-68.654 46.672 3402
+-68.528 46.672 3403
+-68.402 46.672 3403
+-68.276 46.672 3404
+-68.15 46.672 3404
+-68.024 46.672 3405
+-67.898 46.672 3405
+-67.772 46.672 3406
+-67.646 46.672 3406
+-67.52 46.672 3407
+-67.394 46.672 3407
+-67.268 46.672 3407
+-67.142 46.672 3408
+-67.016 46.672 3408
+-66.89 46.672 3409
+-66.764 46.672 3522
+-66.638 46.672 3522
+-66.512 46.672 3506
+-66.386 46.672 3506
+-66.26 46.672 3507
+-66.134 46.672 3507
+-66.008 46.672 3507
+-65.882 46.672 3508
+-65.756 46.672 3508
+-65.63 46.672 3509
+-65.504 46.672 3509
+-65.378 46.672 3509
+-65.252 46.672 3510
+-65.126 46.672 3551
+-128 46.62 4587
+-127.874 46.62 4583
+-127.748 46.62 4605
+-127.622 46.62 4675
+-127.496 46.62 4791
+-127.37 46.62 4919
+-127.244 46.62 5058
+-127.118 46.62 5204
+-126.992 46.62 5327
+-126.866 46.62 5511
+-126.74 46.62 5578
+-126.614 46.62 5708
+-126.488 46.62 5803
+-126.362 46.62 5895
+-126.236 46.62 6001
+-126.11 46.62 6126
+-125.984 46.62 6225
+-125.858 46.62 6405
+-125.732 46.62 6548
+-125.606 46.62 6668
+-125.48 46.62 6818
+-125.354 46.62 6981
+-125.228 46.62 7077
+-125.102 46.62 7251
+-124.976 46.62 7366
+-124.85 46.62 7486
+-124.724 46.62 7578
+-124.598 46.62 7764
+-124.472 46.62 7942
+-124.346 46.62 8085
+-124.22 46.62 8131
+-124.094 46.62 8269
+-123.968 46.62 8425
+-123.842 46.62 8533
+-123.716 46.62 8730
+-123.59 46.62 8811
+-123.464 46.62 8941
+-123.338 46.62 8987
+-123.212 46.62 9094
+-123.086 46.62 9143
+-122.96 46.62 9192
+-122.834 46.62 9155
+-122.708 46.62 9138
+-122.582 46.62 8968
+-122.456 46.62 8915
+-122.33 46.62 8777
+-122.204 46.62 8661
+-122.078 46.62 8606
+-121.952 46.62 8486
+-121.826 46.62 8279
+-121.7 46.62 8201
+-121.574 46.62 8024
+-121.448 46.62 7874
+-121.322 46.62 7817
+-121.196 46.62 7601
+-121.07 46.62 7469
+-120.944 46.62 7349
+-120.818 46.62 7161
+-120.692 46.62 7084
+-120.566 46.62 6877
+-120.44 46.62 7010
+-120.314 46.62 7135
+-120.188 46.62 7233
+-120.062 46.62 7381
+-119.936 46.62 7475
+-119.81 46.62 7566
+-119.684 46.62 7796
+-119.558 46.62 7936
+-119.432 46.62 8003
+-119.306 46.62 8119
+-119.18 46.62 8257
+-119.054 46.62 8354
+-118.928 46.62 8433
+-118.802 46.62 8523
+-118.676 46.62 8614
+-118.55 46.62 8723
+-118.424 46.62 8696
+-118.298 46.62 8734
+-118.172 46.62 8686
+-118.046 46.62 8610
+-117.92 46.62 8592
+-117.794 46.62 8474
+-117.668 46.62 8327
+-117.542 46.62 8246
+-117.416 46.62 8154
+-117.29 46.62 7989
+-117.164 46.62 7857
+-117.038 46.62 7766
+-116.912 46.62 7688
+-116.786 46.62 7524
+-116.66 46.62 7353
+-116.534 46.62 7272
+-116.408 46.62 7159
+-116.282 46.62 7019
+-116.156 46.62 6892
+-116.03 46.62 6767
+-115.904 46.62 6606
+-115.778 46.62 6470
+-115.652 46.62 6408
+-115.526 46.62 6207
+-115.4 46.62 6125
+-115.274 46.62 5939
+-115.148 46.62 5805
+-115.022 46.62 5708
+-114.896 46.62 5598
+-114.77 46.62 5475
+-114.644 46.62 5370
+-114.518 46.62 5232
+-114.392 46.62 5062
+-114.266 46.62 4950
+-114.14 46.62 4878
+-114.014 46.62 4668
+-113.888 46.62 4527
+-113.762 46.62 4485
+-113.636 46.62 4437
+-113.51 46.62 4356
+-113.384 46.62 4285
+-113.258 46.62 4204
+-113.132 46.62 4113
+-113.006 46.62 4044
+-112.88 46.62 3986
+-112.754 46.62 3962
+-112.628 46.62 3940
+-112.502 46.62 3918
+-112.376 46.62 3916
+-112.25 46.62 3919
+-112.124 46.62 3882
+-111.998 46.62 3843
+-111.872 46.62 3831
+-111.746 46.62 3834
+-111.62 46.62 3837
+-111.494 46.62 3839
+-111.368 46.62 3842
+-111.242 46.62 3844
+-111.116 46.62 3846
+-110.99 46.62 3849
+-110.864 46.62 3851
+-110.738 46.62 3853
+-110.612 46.62 3798
+-110.486 46.62 3798
+-110.36 46.62 3798
+-110.234 46.62 3798
+-110.108 46.62 3662
+-109.982 46.62 3586
+-109.856 46.62 3583
+-109.73 46.62 3580
+-109.604 46.62 3533
+-109.478 46.62 3529
+-109.352 46.62 3480
+-109.226 46.62 3477
+-109.1 46.62 3411
+-108.974 46.62 3406
+-108.848 46.62 3403
+-108.722 46.62 3399
+-108.596 46.62 3395
+-108.47 46.62 3392
+-108.344 46.62 3389
+-108.218 46.62 3386
+-108.092 46.62 3384
+-107.966 46.62 3381
+-107.84 46.62 3288
+-107.714 46.62 3286
+-107.588 46.62 3284
+-107.462 46.62 3282
+-107.336 46.62 3280
+-107.21 46.62 3278
+-107.084 46.62 3277
+-106.958 46.62 3275
+-106.832 46.62 3274
+-106.706 46.62 3273
+-106.58 46.62 3271
+-106.454 46.62 3270
+-106.328 46.62 3269
+-106.202 46.62 3268
+-106.076 46.62 3267
+-105.95 46.62 3266
+-105.824 46.62 3266
+-105.698 46.62 3265
+-105.572 46.62 3171
+-105.446 46.62 3170
+-105.32 46.62 3170
+-105.194 46.62 3169
+-105.068 46.62 3168
+-104.942 46.62 3167
+-104.816 46.62 3166
+-104.69 46.62 3166
+-104.564 46.62 3165
+-104.438 46.62 3165
+-104.312 46.62 3164
+-104.186 46.62 3141
+-104.06 46.62 3139
+-103.934 46.62 3137
+-103.808 46.62 3135
+-103.682 46.62 2992
+-103.556 46.62 2942
+-103.43 46.62 2838
+-103.304 46.62 2815
+-103.178 46.62 2815
+-103.052 46.62 2873
+-102.926 46.62 2868
+-102.8 46.62 2888
+-102.674 46.62 2951
+-102.548 46.62 3003
+-102.422 46.62 3020
+-102.296 46.62 3025
+-102.17 46.62 3162
+-102.044 46.62 3249
+-101.918 46.62 3249
+-101.792 46.62 3252
+-101.666 46.62 3274
+-101.54 46.62 3274
+-101.414 46.62 3274
+-101.288 46.62 3376
+-101.162 46.62 3376
+-101.036 46.62 3376
+-100.91 46.62 3336
+-100.784 46.62 3433
+-100.658 46.62 3442
+-100.532 46.62 3442
+-100.406 46.62 3439
+-100.28 46.62 3439
+-100.154 46.62 3409
+-100.028 46.62 3405
+-99.902 46.62 3326
+-99.776 46.62 3465
+-99.65 46.62 3481
+-99.524 46.62 3439
+-99.398 46.62 3439
+-99.272 46.62 3438
+-99.146 46.62 3453
+-99.02 46.62 3402
+-98.894 46.62 3411
+-98.768 46.62 3410
+-98.642 46.62 3405
+-98.516 46.62 3405
+-98.39 46.62 3405
+-98.264 46.62 3404
+-98.138 46.62 3203
+-98.012 46.62 3231
+-97.886 46.62 3228
+-97.76 46.62 3226
+-97.634 46.62 3208
+-97.508 46.62 3255
+-97.382 46.62 3226
+-97.256 46.62 3223
+-97.13 46.62 3202
+-97.004 46.62 3199
+-96.878 46.62 3120
+-96.752 46.62 3153
+-96.626 46.62 3149
+-96.5 46.62 3145
+-96.374 46.62 3140
+-96.248 46.62 3126
+-96.122 46.62 3121
+-95.996 46.62 3115
+-95.87 46.62 3110
+-95.744 46.62 3104
+-95.618 46.62 3026
+-95.492 46.62 3008
+-95.366 46.62 2983
+-95.24 46.62 2932
+-95.114 46.62 2915
+-94.988 46.62 2893
+-94.862 46.62 2884
+-94.736 46.62 2872
+-94.61 46.62 2850
+-94.484 46.62 2823
+-94.358 46.62 2811
+-94.232 46.62 2798
+-94.106 46.62 2784
+-93.98 46.62 2769
+-93.854 46.62 2753
+-93.728 46.62 2735
+-93.602 46.62 2716
+-93.476 46.62 2694
+-93.35 46.62 2671
+-93.224 46.62 2646
+-93.098 46.62 2619
+-92.972 46.62 2589
+-92.846 46.62 2556
+-92.72 46.62 2520
+-92.594 46.62 2480
+-92.468 46.62 2437
+-92.342 46.62 2360
+-92.216 46.62 2271
+-92.09 46.62 2219
+-91.964 46.62 2158
+-91.838 46.62 2100
+-91.712 46.62 2040
+-91.586 46.62 1979
+-91.46 46.62 1920
+-91.334 46.62 1864
+-91.208 46.62 1817
+-91.082 46.62 1780
+-90.956 46.62 1757
+-90.83 46.62 1750
+-90.704 46.62 1760
+-90.578 46.62 1785
+-90.452 46.62 1825
+-90.326 46.62 1874
+-90.2 46.62 1930
+-90.074 46.62 1989
+-89.948 46.62 2029
+-89.822 46.62 2084
+-89.696 46.62 2135
+-89.57 46.62 2182
+-89.444 46.62 2224
+-89.318 46.62 2261
+-89.192 46.62 2294
+-89.066 46.62 2323
+-88.94 46.62 2349
+-88.814 46.62 2371
+-88.688 46.62 2391
+-88.562 46.62 2408
+-88.436 46.62 2424
+-88.31 46.62 2437
+-88.184 46.62 2450
+-88.058 46.62 2461
+-87.932 46.62 2471
+-87.806 46.62 2480
+-87.68 46.62 2488
+-87.554 46.62 2495
+-87.428 46.62 2501
+-87.302 46.62 2507
+-87.176 46.62 2520
+-87.05 46.62 2525
+-86.924 46.62 2529
+-86.798 46.62 2533
+-86.672 46.62 2469
+-86.546 46.62 2471
+-86.42 46.62 2472
+-86.294 46.62 2474
+-86.168 46.62 2475
+-86.042 46.62 2476
+-85.916 46.62 2476
+-85.79 46.62 2477
+-85.664 46.62 2477
+-85.538 46.62 2477
+-85.412 46.62 2482
+-85.286 46.62 2493
+-85.16 46.62 2493
+-85.034 46.62 2494
+-84.908 46.62 2494
+-84.782 46.62 2513
+-84.656 46.62 2513
+-84.53 46.62 2513
+-84.404 46.62 2514
+-84.278 46.62 2519
+-84.152 46.62 2628
+-84.026 46.62 2628
+-83.9 46.62 2628
+-83.774 46.62 2633
+-83.648 46.62 2633
+-83.522 46.62 2636
+-83.396 46.62 2648
+-83.27 46.62 2636
+-83.144 46.62 2647
+-83.018 46.62 2647
+-82.892 46.62 2647
+-82.766 46.62 2648
+-82.64 46.62 2650
+-82.514 46.62 2651
+-82.388 46.62 2654
+-82.262 46.62 2727
+-82.136 46.62 2729
+-82.01 46.62 2730
+-81.884 46.62 2732
+-81.758 46.62 2747
+-81.632 46.62 2749
+-81.506 46.62 2737
+-81.38 46.62 2739
+-81.254 46.62 2741
+-81.128 46.62 2743
+-81.002 46.62 2721
+-80.876 46.62 2731
+-80.75 46.62 2733
+-80.624 46.62 2847
+-80.498 46.62 2815
+-80.372 46.62 2817
+-80.246 46.62 2935
+-80.12 46.62 2935
+-79.994 46.62 2904
+-79.868 46.62 2958
+-79.742 46.62 2864
+-79.616 46.62 2890
+-79.49 46.62 2940
+-79.364 46.62 2850
+-79.238 46.62 2858
+-79.112 46.62 2773
+-78.986 46.62 2771
+-78.86 46.62 2786
+-78.734 46.62 2762
+-78.608 46.62 2765
+-78.482 46.62 2767
+-78.356 46.62 2713
+-78.23 46.62 2751
+-78.104 46.62 2746
+-77.978 46.62 2737
+-77.852 46.62 2739
+-77.726 46.62 2742
+-77.6 46.62 2744
+-77.474 46.62 2692
+-77.348 46.62 2688
+-77.222 46.62 2690
+-77.096 46.62 2692
+-76.97 46.62 2694
+-76.844 46.62 2692
+-76.718 46.62 2640
+-76.592 46.62 2742
+-76.466 46.62 2739
+-76.34 46.62 2745
+-76.214 46.62 2747
+-76.088 46.62 2749
+-75.962 46.62 2750
+-75.836 46.62 2774
+-75.71 46.62 2754
+-75.584 46.62 2816
+-75.458 46.62 2818
+-75.332 46.62 2810
+-75.206 46.62 2818
+-75.08 46.62 2819
+-74.954 46.62 2821
+-74.828 46.62 2810
+-74.702 46.62 2925
+-74.576 46.62 2926
+-74.45 46.62 2928
+-74.324 46.62 2929
+-74.198 46.62 3029
+-74.072 46.62 2984
+-73.946 46.62 3135
+-73.82 46.62 3136
+-73.694 46.62 3100
+-73.568 46.62 3101
+-73.442 46.62 3102
+-73.316 46.62 3103
+-73.19 46.62 3104
+-73.064 46.62 3104
+-72.938 46.62 3199
+-72.812 46.62 3194
+-72.686 46.62 3195
+-72.56 46.62 3196
+-72.434 46.62 3197
+-72.308 46.62 3141
+-72.182 46.62 3177
+-72.056 46.62 3178
+-71.93 46.62 3253
+-71.804 46.62 3164
+-71.678 46.62 3165
+-71.552 46.62 3166
+-71.426 46.62 3213
+-71.3 46.62 3168
+-71.174 46.62 3169
+-71.048 46.62 3170
+-70.922 46.62 3398
+-70.796 46.62 3344
+-70.67 46.62 3344
+-70.544 46.62 3476
+-70.418 46.62 3449
+-70.292 46.62 3449
+-70.166 46.62 3395
+-70.04 46.62 3468
+-69.914 46.62 3469
+-69.788 46.62 3470
+-69.662 46.62 3470
+-69.536 46.62 3471
+-69.41 46.62 3470
+-69.284 46.62 3471
+-69.158 46.62 3472
+-69.032 46.62 3461
+-68.906 46.62 3408
+-68.78 46.62 3402
+-68.654 46.62 3402
+-68.528 46.62 3403
+-68.402 46.62 3403
+-68.276 46.62 3404
+-68.15 46.62 3404
+-68.024 46.62 3405
+-67.898 46.62 3405
+-67.772 46.62 3406
+-67.646 46.62 3406
+-67.52 46.62 3407
+-67.394 46.62 3407
+-67.268 46.62 3408
+-67.142 46.62 3408
+-67.016 46.62 3408
+-66.89 46.62 3521
+-66.764 46.62 3522
+-66.638 46.62 3506
+-66.512 46.62 3506
+-66.386 46.62 3507
+-66.26 46.62 3507
+-66.134 46.62 3507
+-66.008 46.62 3508
+-65.882 46.62 3508
+-65.756 46.62 3508
+-65.63 46.62 3509
+-65.504 46.62 3509
+-65.378 46.62 3509
+-65.252 46.62 3550
+-65.126 46.62 3551
+-128 46.568 4646
+-127.874 46.568 4637
+-127.748 46.568 4617
+-127.622 46.568 4599
+-127.496 46.568 4711
+-127.37 46.568 4886
+-127.244 46.568 5037
+-127.118 46.568 5189
+-126.992 46.568 5392
+-126.866 46.568 5479
+-126.74 46.568 5424
+-126.614 46.568 5661
+-126.488 46.568 5728
+-126.362 46.568 5864
+-126.236 46.568 6033
+-126.11 46.568 6087
+-125.984 46.568 6223
+-125.858 46.568 6419
+-125.732 46.568 6587
+-125.606 46.568 6710
+-125.48 46.568 6761
+-125.354 46.568 6994
+-125.228 46.568 7068
+-125.102 46.568 7166
+-124.976 46.568 7326
+-124.85 46.568 7452
+-124.724 46.568 7592
+-124.598 46.568 7756
+-124.472 46.568 7889
+-124.346 46.568 8007
+-124.22 46.568 8200
+-124.094 46.568 8253
+-123.968 46.568 8395
+-123.842 46.568 8565
+-123.716 46.568 8668
+-123.59 46.568 8805
+-123.464 46.568 8853
+-123.338 46.568 8936
+-123.212 46.568 9027
+-123.086 46.568 9080
+-122.96 46.568 9131
+-122.834 46.568 9133
+-122.708 46.568 9053
+-122.582 46.568 8978
+-122.456 46.568 8862
+-122.33 46.568 8765
+-122.204 46.568 8649
+-122.078 46.568 8564
+-121.952 46.568 8415
+-121.826 46.568 8226
+-121.7 46.568 8149
+-121.574 46.568 7958
+-121.448 46.568 7845
+-121.322 46.568 7698
+-121.196 46.568 7652
+-121.07 46.568 7465
+-120.944 46.568 7330
+-120.818 46.568 7143
+-120.692 46.568 7087
+-120.566 46.568 6999
+-120.44 46.568 7058
+-120.314 46.568 7126
+-120.188 46.568 7283
+-120.062 46.568 7445
+-119.936 46.568 7536
+-119.81 46.568 7642
+-119.684 46.568 7762
+-119.558 46.568 7844
+-119.432 46.568 8005
+-119.306 46.568 8121
+-119.18 46.568 8225
+-119.054 46.568 8443
+-118.928 46.568 8471
+-118.802 46.568 8606
+-118.676 46.568 8657
+-118.55 46.568 8752
+-118.424 46.568 8755
+-118.298 46.568 8758
+-118.172 46.568 8746
+-118.046 46.568 8670
+-117.92 46.568 8565
+-117.794 46.568 8499
+-117.668 46.568 8452
+-117.542 46.568 8276
+-117.416 46.568 8185
+-117.29 46.568 8045
+-117.164 46.568 7907
+-117.038 46.568 7808
+-116.912 46.568 7656
+-116.786 46.568 7550
+-116.66 46.568 7397
+-116.534 46.568 7259
+-116.408 46.568 7178
+-116.282 46.568 7061
+-116.156 46.568 6909
+-116.03 46.568 6769
+-115.904 46.568 6598
+-115.778 46.568 6454
+-115.652 46.568 6342
+-115.526 46.568 6204
+-115.4 46.568 6060
+-115.274 46.568 5969
+-115.148 46.568 5851
+-115.022 46.568 5750
+-114.896 46.568 5639
+-114.77 46.568 5506
+-114.644 46.568 5382
+-114.518 46.568 5256
+-114.392 46.568 5068
+-114.266 46.568 4948
+-114.14 46.568 4872
+-114.014 46.568 4699
+-113.888 46.568 4567
+-113.762 46.568 4497
+-113.636 46.568 4434
+-113.51 46.568 4345
+-113.384 46.568 4257
+-113.258 46.568 4122
+-113.132 46.568 4006
+-113.006 46.568 3948
+-112.88 46.568 3924
+-112.754 46.568 3896
+-112.628 46.568 3871
+-112.502 46.568 3869
+-112.376 46.568 3875
+-112.25 46.568 3847
+-112.124 46.568 3812
+-111.998 46.568 3820
+-111.872 46.568 3827
+-111.746 46.568 3833
+-111.62 46.568 3839
+-111.494 46.568 3844
+-111.368 46.568 3848
+-111.242 46.568 3853
+-111.116 46.568 3836
+-110.99 46.568 3839
+-110.864 46.568 3802
+-110.738 46.568 3803
+-110.612 46.568 3804
+-110.486 46.568 3806
+-110.36 46.568 3807
+-110.234 46.568 3660
+-110.108 46.568 3584
+-109.982 46.568 3581
+-109.856 46.568 3578
+-109.73 46.568 3575
+-109.604 46.568 3572
+-109.478 46.568 3526
+-109.352 46.568 3479
+-109.226 46.568 3476
+-109.1 46.568 3473
+-108.974 46.568 3407
+-108.848 46.568 3403
+-108.722 46.568 3400
+-108.596 46.568 3396
+-108.47 46.568 3393
+-108.344 46.568 3390
+-108.218 46.568 3387
+-108.092 46.568 3385
+-107.966 46.568 3382
+-107.84 46.568 3380
+-107.714 46.568 3288
+-107.588 46.568 3286
+-107.462 46.568 3284
+-107.336 46.568 3282
+-107.21 46.568 3280
+-107.084 46.568 3279
+-106.958 46.568 3277
+-106.832 46.568 3276
+-106.706 46.568 3274
+-106.58 46.568 3273
+-106.454 46.568 3272
+-106.328 46.568 3271
+-106.202 46.568 3270
+-106.076 46.568 3269
+-105.95 46.568 3268
+-105.824 46.568 3267
+-105.698 46.568 3267
+-105.572 46.568 3187
+-105.446 46.568 3186
+-105.32 46.568 3185
+-105.194 46.568 3184
+-105.068 46.568 3184
+-104.942 46.568 3183
+-104.816 46.568 3182
+-104.69 46.568 3182
+-104.564 46.568 3181
+-104.438 46.568 3181
+-104.312 46.568 3144
+-104.186 46.568 3142
+-104.06 46.568 3140
+-103.934 46.568 3138
+-103.808 46.568 3136
+-103.682 46.568 2946
+-103.556 46.568 2942
+-103.43 46.568 2839
+-103.304 46.568 2816
+-103.178 46.568 2815
+-103.052 46.568 2874
+-102.926 46.568 2783
+-102.8 46.568 2876
+-102.674 46.568 2938
+-102.548 46.568 2989
+-102.422 46.568 3095
+-102.296 46.568 3026
+-102.17 46.568 3131
+-102.044 46.568 3229
+-101.918 46.568 3248
+-101.792 46.568 3248
+-101.666 46.568 3251
+-101.54 46.568 3273
+-101.414 46.568 3273
+-101.288 46.568 3273
+-101.162 46.568 3375
+-101.036 46.568 3375
+-100.91 46.568 3375
+-100.784 46.568 3335
+-100.658 46.568 3432
+-100.532 46.568 3441
+-100.406 46.568 3440
+-100.28 46.568 3438
+-100.154 46.568 3438
+-100.028 46.568 3408
+-99.902 46.568 3404
+-99.776 46.568 3325
+-99.65 46.568 3464
+-99.524 46.568 3480
+-99.398 46.568 3438
+-99.272 46.568 3438
+-99.146 46.568 3437
+-99.02 46.568 3452
+-98.894 46.568 3401
+-98.768 46.568 3410
+-98.642 46.568 3405
+-98.516 46.568 3404
+-98.39 46.568 3404
+-98.264 46.568 3404
+-98.138 46.568 3403
+-98.012 46.568 3203
+-97.886 46.568 3230
+-97.76 46.568 3228
+-97.634 46.568 3225
+-97.508 46.568 3207
+-97.382 46.568 3254
+-97.256 46.568 3225
+-97.13 46.568 3222
+-97.004 46.568 3201
+-96.878 46.568 3198
+-96.752 46.568 3119
+-96.626 46.568 3152
+-96.5 46.568 3148
+-96.374 46.568 3143
+-96.248 46.568 3139
+-96.122 46.568 3124
+-95.996 46.568 3119
+-95.87 46.568 3113
+-95.744 46.568 3107
+-95.618 46.568 3101
+-95.492 46.568 3023
+-95.366 46.568 3005
+-95.24 46.568 2980
+-95.114 46.568 2929
+-94.988 46.568 2912
+-94.862 46.568 2889
+-94.736 46.568 2879
+-94.61 46.568 2867
+-94.484 46.568 2844
+-94.358 46.568 2816
+-94.232 46.568 2803
+-94.106 46.568 2789
+-93.98 46.568 2774
+-93.854 46.568 2758
+-93.728 46.568 2740
+-93.602 46.568 2720
+-93.476 46.568 2699
+-93.35 46.568 2675
+-93.224 46.568 2649
+-93.098 46.568 2621
+-92.972 46.568 2590
+-92.846 46.568 2556
+-92.72 46.568 2518
+-92.594 46.568 2477
+-92.468 46.568 2431
+-92.342 46.568 2381
+-92.216 46.568 2298
+-92.09 46.568 2203
+-91.964 46.568 2142
+-91.838 46.568 2071
+-91.712 46.568 2003
+-91.586 46.568 1933
+-91.46 46.568 1864
+-91.334 46.568 1798
+-91.208 46.568 1741
+-91.082 46.568 1696
+-90.956 46.568 1667
+-90.83 46.568 1658
+-90.704 46.568 1670
+-90.578 46.568 1702
+-90.452 46.568 1750
+-90.326 46.568 1810
+-90.2 46.568 1877
+-90.074 46.568 1946
+-89.948 46.568 2014
+-89.822 46.568 2060
+-89.696 46.568 2117
+-89.57 46.568 2169
+-89.444 46.568 2214
+-89.318 46.568 2254
+-89.192 46.568 2289
+-89.066 46.568 2319
+-88.94 46.568 2346
+-88.814 46.568 2368
+-88.688 46.568 2389
+-88.562 46.568 2406
+-88.436 46.568 2422
+-88.31 46.568 2436
+-88.184 46.568 2448
+-88.058 46.568 2459
+-87.932 46.568 2469
+-87.806 46.568 2478
+-87.68 46.568 2486
+-87.554 46.568 2493
+-87.428 46.568 2500
+-87.302 46.568 2512
+-87.176 46.568 2518
+-87.05 46.568 2523
+-86.924 46.568 2527
+-86.798 46.568 2466
+-86.672 46.568 2468
+-86.546 46.568 2470
+-86.42 46.568 2471
+-86.294 46.568 2472
+-86.168 46.568 2473
+-86.042 46.568 2474
+-85.916 46.568 2474
+-85.79 46.568 2475
+-85.664 46.568 2475
+-85.538 46.568 2479
+-85.412 46.568 2491
+-85.286 46.568 2491
+-85.16 46.568 2491
+-85.034 46.568 2491
+-84.908 46.568 2510
+-84.782 46.568 2510
+-84.656 46.568 2510
+-84.53 46.568 2511
+-84.404 46.568 2516
+-84.278 46.568 2624
+-84.152 46.568 2623
+-84.026 46.568 2623
+-83.9 46.568 2628
+-83.774 46.568 2628
+-83.648 46.568 2631
+-83.522 46.568 2643
+-83.396 46.568 2632
+-83.27 46.568 2642
+-83.144 46.568 2643
+-83.018 46.568 2643
+-82.892 46.568 2644
+-82.766 46.568 2645
+-82.64 46.568 2646
+-82.514 46.568 2649
+-82.388 46.568 2722
+-82.262 46.568 2723
+-82.136 46.568 2725
+-82.01 46.568 2727
+-81.884 46.568 2741
+-81.758 46.568 2743
+-81.632 46.568 2732
+-81.506 46.568 2734
+-81.38 46.568 2736
+-81.254 46.568 2739
+-81.128 46.568 2717
+-81.002 46.568 2726
+-80.876 46.568 2728
+-80.75 46.568 2842
+-80.624 46.568 2810
+-80.498 46.568 2812
+-80.372 46.568 2930
+-80.246 46.568 2929
+-80.12 46.568 2899
+-79.994 46.568 2953
+-79.868 46.568 2859
+-79.742 46.568 2886
+-79.616 46.568 2935
+-79.49 46.568 2846
+-79.364 46.568 2854
+-79.238 46.568 2770
+-79.112 46.568 2767
+-78.986 46.568 2782
+-78.86 46.568 2759
+-78.734 46.568 2762
+-78.608 46.568 2764
+-78.482 46.568 2711
+-78.356 46.568 2748
+-78.23 46.568 2743
+-78.104 46.568 2735
+-77.978 46.568 2737
+-77.852 46.568 2739
+-77.726 46.568 2742
+-77.6 46.568 2690
+-77.474 46.568 2686
+-77.348 46.568 2688
+-77.222 46.568 2690
+-77.096 46.568 2692
+-76.97 46.568 2690
+-76.844 46.568 2638
+-76.718 46.568 2740
+-76.592 46.568 2737
+-76.466 46.568 2744
+-76.34 46.568 2746
+-76.214 46.568 2747
+-76.088 46.568 2749
+-75.962 46.568 2773
+-75.836 46.568 2753
+-75.71 46.568 2815
+-75.584 46.568 2817
+-75.458 46.568 2809
+-75.332 46.568 2817
+-75.206 46.568 2818
+-75.08 46.568 2820
+-74.954 46.568 2809
+-74.828 46.568 2923
+-74.702 46.568 2925
+-74.576 46.568 2927
+-74.45 46.568 2928
+-74.324 46.568 3028
+-74.198 46.568 2983
+-74.072 46.568 3134
+-73.946 46.568 3135
+-73.82 46.568 3100
+-73.694 46.568 3100
+-73.568 46.568 3101
+-73.442 46.568 3102
+-73.316 46.568 3103
+-73.19 46.568 3104
+-73.064 46.568 3198
+-72.938 46.568 3193
+-72.812 46.568 3194
+-72.686 46.568 3195
+-72.56 46.568 3196
+-72.434 46.568 3140
+-72.308 46.568 3176
+-72.182 46.568 3177
+-72.056 46.568 3252
+-71.93 46.568 3163
+-71.804 46.568 3164
+-71.678 46.568 3165
+-71.552 46.568 3212
+-71.426 46.568 3167
+-71.3 46.568 3168
+-71.174 46.568 3169
+-71.048 46.568 3397
+-70.922 46.568 3343
+-70.796 46.568 3344
+-70.67 46.568 3476
+-70.544 46.568 3448
+-70.418 46.568 3449
+-70.292 46.568 3395
+-70.166 46.568 3468
+-70.04 46.568 3469
+-69.914 46.568 3469
+-69.788 46.568 3470
+-69.662 46.568 3470
+-69.536 46.568 3470
+-69.41 46.568 3471
+-69.284 46.568 3471
+-69.158 46.568 3460
+-69.032 46.568 3408
+-68.906 46.568 3402
+-68.78 46.568 3402
+-68.654 46.568 3403
+-68.528 46.568 3403
+-68.402 46.568 3404
+-68.276 46.568 3404
+-68.15 46.568 3405
+-68.024 46.568 3405
+-67.898 46.568 3405
+-67.772 46.568 3406
+-67.646 46.568 3406
+-67.52 46.568 3407
+-67.394 46.568 3407
+-67.268 46.568 3408
+-67.142 46.568 3408
+-67.016 46.568 3521
+-66.89 46.568 3521
+-66.764 46.568 3505
+-66.638 46.568 3506
+-66.512 46.568 3506
+-66.386 46.568 3507
+-66.26 46.568 3507
+-66.134 46.568 3507
+-66.008 46.568 3508
+-65.882 46.568 3508
+-65.756 46.568 3508
+-65.63 46.568 3509
+-65.504 46.568 3509
+-65.378 46.568 3550
+-65.252 46.568 3550
+-65.126 46.568 3551
+-128 46.516 4663
+-127.874 46.516 4654
+-127.748 46.516 4579
+-127.622 46.516 4483
+-127.496 46.516 4636
+-127.37 46.516 4833
+-127.244 46.516 5012
+-127.118 46.516 5189
+-126.992 46.516 5377
+-126.866 46.516 5487
+-126.74 46.516 5569
+-126.614 46.516 5596
+-126.488 46.516 5729
+-126.362 46.516 5886
+-126.236 46.516 6020
+-126.11 46.516 6145
+-125.984 46.516 6227
+-125.858 46.516 6409
+-125.732 46.516 6571
+-125.606 46.516 6645
+-125.48 46.516 6793
+-125.354 46.516 6897
+-125.228 46.516 7126
+-125.102 46.516 7176
+-124.976 46.516 7308
+-124.85 46.516 7457
+-124.724 46.516 7620
+-124.598 46.516 7691
+-124.472 46.516 7880
+-124.346 46.516 8012
+-124.22 46.516 8099
+-124.094 46.516 8247
+-123.968 46.516 8420
+-123.842 46.516 8506
+-123.716 46.516 8604
+-123.59 46.516 8735
+-123.464 46.516 8882
+-123.338 46.516 8931
+-123.212 46.516 9020
+-123.086 46.516 9037
+-122.96 46.516 9097
+-122.834 46.516 9039
+-122.708 46.516 8980
+-122.582 46.516 8897
+-122.456 46.516 8818
+-122.33 46.516 8741
+-122.204 46.516 8634
+-122.078 46.516 8548
+-121.952 46.516 8394
+-121.826 46.516 8222
+-121.7 46.516 8153
+-121.574 46.516 7983
+-121.448 46.516 7804
+-121.322 46.516 7721
+-121.196 46.516 7613
+-121.07 46.516 7409
+-120.944 46.516 7311
+-120.818 46.516 7188
+-120.692 46.516 7080
+-120.566 46.516 6841
+-120.44 46.516 7060
+-120.314 46.516 7166
+-120.188 46.516 7278
+-120.062 46.516 7395
+-119.936 46.516 7462
+-119.81 46.516 7642
+-119.684 46.516 7803
+-119.558 46.516 7914
+-119.432 46.516 8038
+-119.306 46.516 8145
+-119.18 46.516 8279
+-119.054 46.516 8383
+-118.928 46.516 8492
+-118.802 46.516 8630
+-118.676 46.516 8710
+-118.55 46.516 8765
+-118.424 46.516 8812
+-118.298 46.516 8842
+-118.172 46.516 8802
+-118.046 46.516 8789
+-117.92 46.516 8641
+-117.794 46.516 8537
+-117.668 46.516 8412
+-117.542 46.516 8318
+-117.416 46.516 8190
+-117.29 46.516 8071
+-117.164 46.516 7953
+-117.038 46.516 7790
+-116.912 46.516 7695
+-116.786 46.516 7560
+-116.66 46.516 7452
+-116.534 46.516 7286
+-116.408 46.516 7218
+-116.282 46.516 7055
+-116.156 46.516 6883
+-116.03 46.516 6778
+-115.904 46.516 6699
+-115.778 46.516 6474
+-115.652 46.516 6361
+-115.526 46.516 6266
+-115.4 46.516 6169
+-115.274 46.516 6026
+-115.148 46.516 5859
+-115.022 46.516 5729
+-114.896 46.516 5648
+-114.77 46.516 5535
+-114.644 46.516 5412
+-114.518 46.516 5246
+-114.392 46.516 5072
+-114.266 46.516 4950
+-114.14 46.516 4818
+-114.014 46.516 4664
+-113.888 46.516 4553
+-113.762 46.516 4463
+-113.636 46.516 4420
+-113.51 46.516 4327
+-113.384 46.516 4181
+-113.258 46.516 3984
+-113.132 46.516 3864
+-113.006 46.516 3864
+-112.88 46.516 3844
+-112.754 46.516 3811
+-112.628 46.516 3796
+-112.502 46.516 3807
+-112.376 46.516 3801
+-112.25 46.516 3818
+-112.124 46.516 3784
+-111.998 46.516 3797
+-111.872 46.516 3807
+-111.746 46.516 3816
+-111.62 46.516 3824
+-111.494 46.516 3830
+-111.368 46.516 3836
+-111.242 46.516 3842
+-111.116 46.516 3810
+-110.99 46.516 3812
+-110.864 46.516 3815
+-110.738 46.516 3817
+-110.612 46.516 3819
+-110.486 46.516 3821
+-110.36 46.516 3657
+-110.234 46.516 3582
+-110.108 46.516 3578
+-109.982 46.516 3575
+-109.856 46.516 3572
+-109.73 46.516 3569
+-109.604 46.516 3567
+-109.478 46.516 3564
+-109.352 46.516 3520
+-109.226 46.516 3474
+-109.1 46.516 3471
+-108.974 46.516 3469
+-108.848 46.516 3403
+-108.722 46.516 3400
+-108.596 46.516 3396
+-108.47 46.516 3393
+-108.344 46.516 3390
+-108.218 46.516 3388
+-108.092 46.516 3385
+-107.966 46.516 3383
+-107.84 46.516 3380
+-107.714 46.516 3378
+-107.588 46.516 3288
+-107.462 46.516 3286
+-107.336 46.516 3284
+-107.21 46.516 3282
+-107.084 46.516 3280
+-106.958 46.516 3279
+-106.832 46.516 3277
+-106.706 46.516 3276
+-106.58 46.516 3275
+-106.454 46.516 3274
+-106.328 46.516 3273
+-106.202 46.516 3271
+-106.076 46.516 3271
+-105.95 46.516 3270
+-105.824 46.516 3269
+-105.698 46.516 3189
+-105.572 46.516 3188
+-105.446 46.516 3187
+-105.32 46.516 3187
+-105.194 46.516 3186
+-105.068 46.516 3185
+-104.942 46.516 3184
+-104.816 46.516 3184
+-104.69 46.516 3183
+-104.564 46.516 3183
+-104.438 46.516 3182
+-104.312 46.516 3145
+-104.186 46.516 3143
+-104.06 46.516 3141
+-103.934 46.516 3139
+-103.808 46.516 2949
+-103.682 46.516 2945
+-103.556 46.516 2941
+-103.43 46.516 2777
+-103.304 46.516 2816
+-103.178 46.516 2862
+-103.052 46.516 2758
+-102.926 46.516 2844
+-102.8 46.516 2864
+-102.674 46.516 2921
+-102.548 46.516 3090
+-102.422 46.516 3072
+-102.296 46.516 3011
+-102.17 46.516 3130
+-102.044 46.516 3251
+-101.918 46.516 3228
+-101.792 46.516 3247
+-101.666 46.516 3247
+-101.54 46.516 3250
+-101.414 46.516 3272
+-101.288 46.516 3272
+-101.162 46.516 3272
+-101.036 46.516 3374
+-100.91 46.516 3374
+-100.784 46.516 3374
+-100.658 46.516 3334
+-100.532 46.516 3430
+-100.406 46.516 3439
+-100.28 46.516 3439
+-100.154 46.516 3437
+-100.028 46.516 3436
+-99.902 46.516 3407
+-99.776 46.516 3403
+-99.65 46.516 3324
+-99.524 46.516 3463
+-99.398 46.516 3479
+-99.272 46.516 3437
+-99.146 46.516 3437
+-99.02 46.516 3436
+-98.894 46.516 3451
+-98.768 46.516 3400
+-98.642 46.516 3409
+-98.516 46.516 3409
+-98.39 46.516 3403
+-98.264 46.516 3403
+-98.138 46.516 3403
+-98.012 46.516 3402
+-97.886 46.516 3202
+-97.76 46.516 3230
+-97.634 46.516 3227
+-97.508 46.516 3225
+-97.382 46.516 3207
+-97.256 46.516 3253
+-97.13 46.516 3224
+-97.004 46.516 3221
+-96.878 46.516 3201
+-96.752 46.516 3197
+-96.626 46.516 3119
+-96.5 46.516 3151
+-96.374 46.516 3146
+-96.248 46.516 3142
+-96.122 46.516 3137
+-95.996 46.516 3122
+-95.87 46.516 3117
+-95.744 46.516 3111
+-95.618 46.516 3105
+-95.492 46.516 3098
+-95.366 46.516 3021
+-95.24 46.516 3002
+-95.114 46.516 2977
+-94.988 46.516 2926
+-94.862 46.516 2908
+-94.736 46.516 2884
+-94.61 46.516 2874
+-94.484 46.516 2861
+-94.358 46.516 2838
+-94.232 46.516 2809
+-94.106 46.516 2795
+-93.98 46.516 2780
+-93.854 46.516 2763
+-93.728 46.516 2745
+-93.602 46.516 2726
+-93.476 46.516 2704
+-93.35 46.516 2680
+-93.224 46.516 2654
+-93.098 46.516 2626
+-92.972 46.516 2594
+-92.846 46.516 2559
+-92.72 46.516 2520
+-92.594 46.516 2477
+-92.468 46.516 2429
+-92.342 46.516 2376
+-92.216 46.516 2317
+-92.09 46.516 2227
+-91.964 46.516 2124
+-91.838 46.516 2052
+-91.712 46.516 1971
+-91.586 46.516 1891
+-91.46 46.516 1811
+-91.334 46.516 1734
+-91.208 46.516 1665
+-91.082 46.516 1610
+-90.956 46.516 1575
+-90.83 46.516 1563
+-90.704 46.516 1577
+-90.578 46.516 1616
+-90.452 46.516 1675
+-90.326 46.516 1747
+-90.2 46.516 1827
+-90.074 46.516 1907
+-89.948 46.516 1985
+-89.822 46.516 2039
+-89.696 46.516 2103
+-89.57 46.516 2159
+-89.444 46.516 2207
+-89.318 46.516 2249
+-89.192 46.516 2286
+-89.066 46.516 2317
+-88.94 46.516 2344
+-88.814 46.516 2367
+-88.688 46.516 2387
+-88.562 46.516 2405
+-88.436 46.516 2420
+-88.31 46.516 2434
+-88.184 46.516 2446
+-88.058 46.516 2457
+-87.932 46.516 2467
+-87.806 46.516 2476
+-87.68 46.516 2484
+-87.554 46.516 2492
+-87.428 46.516 2505
+-87.302 46.516 2511
+-87.176 46.516 2516
+-87.05 46.516 2521
+-86.924 46.516 2462
+-86.798 46.516 2464
+-86.672 46.516 2466
+-86.546 46.516 2468
+-86.42 46.516 2470
+-86.294 46.516 2471
+-86.168 46.516 2471
+-86.042 46.516 2472
+-85.916 46.516 2472
+-85.79 46.516 2472
+-85.664 46.516 2477
+-85.538 46.516 2488
+-85.412 46.516 2488
+-85.286 46.516 2488
+-85.16 46.516 2488
+-85.034 46.516 2507
+-84.908 46.516 2507
+-84.782 46.516 2507
+-84.656 46.516 2508
+-84.53 46.516 2512
+-84.404 46.516 2619
+-84.278 46.516 2619
+-84.152 46.516 2619
+-84.026 46.516 2623
+-83.9 46.516 2623
+-83.774 46.516 2626
+-83.648 46.516 2638
+-83.522 46.516 2627
+-83.396 46.516 2637
+-83.27 46.516 2638
+-83.144 46.516 2638
+-83.018 46.516 2639
+-82.892 46.516 2640
+-82.766 46.516 2642
+-82.64 46.516 2644
+-82.514 46.516 2716
+-82.388 46.516 2718
+-82.262 46.516 2720
+-82.136 46.516 2722
+-82.01 46.516 2736
+-81.884 46.516 2738
+-81.758 46.516 2727
+-81.632 46.516 2729
+-81.506 46.516 2732
+-81.38 46.516 2734
+-81.254 46.516 2713
+-81.128 46.516 2722
+-81.002 46.516 2724
+-80.876 46.516 2837
+-80.75 46.516 2806
+-80.624 46.516 2808
+-80.498 46.516 2924
+-80.372 46.516 2924
+-80.246 46.516 2894
+-80.12 46.516 2947
+-79.994 46.516 2855
+-79.868 46.516 2881
+-79.742 46.516 2930
+-79.616 46.516 2842
+-79.49 46.516 2850
+-79.364 46.516 2766
+-79.238 46.516 2764
+-79.112 46.516 2779
+-78.986 46.516 2756
+-78.86 46.516 2759
+-78.734 46.516 2761
+-78.608 46.516 2708
+-78.482 46.516 2746
+-78.356 46.516 2740
+-78.23 46.516 2732
+-78.104 46.516 2735
+-77.978 46.516 2737
+-77.852 46.516 2739
+-77.726 46.516 2688
+-77.6 46.516 2684
+-77.474 46.516 2686
+-77.348 46.516 2688
+-77.222 46.516 2690
+-77.096 46.516 2688
+-76.97 46.516 2637
+-76.844 46.516 2739
+-76.718 46.516 2736
+-76.592 46.516 2743
+-76.466 46.516 2744
+-76.34 46.516 2746
+-76.214 46.516 2748
+-76.088 46.516 2771
+-75.962 46.516 2752
+-75.836 46.516 2813
+-75.71 46.516 2815
+-75.584 46.516 2807
+-75.458 46.516 2815
+-75.332 46.516 2817
+-75.206 46.516 2819
+-75.08 46.516 2808
+-74.954 46.516 2922
+-74.828 46.516 2924
+-74.702 46.516 2925
+-74.576 46.516 2927
+-74.45 46.516 3027
+-74.324 46.516 2982
+-74.198 46.516 3133
+-74.072 46.516 3134
+-73.946 46.516 3099
+-73.82 46.516 3100
+-73.694 46.516 3100
+-73.568 46.516 3101
+-73.442 46.516 3102
+-73.316 46.516 3103
+-73.19 46.516 3197
+-73.064 46.516 3192
+-72.938 46.516 3194
+-72.812 46.516 3195
+-72.686 46.516 3196
+-72.56 46.516 3140
+-72.434 46.516 3175
+-72.308 46.516 3176
+-72.182 46.516 3251
+-72.056 46.516 3162
+-71.93 46.516 3163
+-71.804 46.516 3164
+-71.678 46.516 3211
+-71.552 46.516 3166
+-71.426 46.516 3167
+-71.3 46.516 3168
+-71.174 46.516 3396
+-71.048 46.516 3342
+-70.922 46.516 3343
+-70.796 46.516 3475
+-70.67 46.516 3448
+-70.544 46.516 3448
+-70.418 46.516 3394
+-70.292 46.516 3467
+-70.166 46.516 3468
+-70.04 46.516 3469
+-69.914 46.516 3469
+-69.788 46.516 3470
+-69.662 46.516 3469
+-69.536 46.516 3470
+-69.41 46.516 3471
+-69.284 46.516 3460
+-69.158 46.516 3407
+-69.032 46.516 3401
+-68.906 46.516 3402
+-68.78 46.516 3402
+-68.654 46.516 3403
+-68.528 46.516 3403
+-68.402 46.516 3404
+-68.276 46.516 3404
+-68.15 46.516 3405
+-68.024 46.516 3405
+-67.898 46.516 3406
+-67.772 46.516 3406
+-67.646 46.516 3407
+-67.52 46.516 3407
+-67.394 46.516 3407
+-67.268 46.516 3408
+-67.142 46.516 3521
+-67.016 46.516 3521
+-66.89 46.516 3505
+-66.764 46.516 3506
+-66.638 46.516 3506
+-66.512 46.516 3506
+-66.386 46.516 3507
+-66.26 46.516 3507
+-66.134 46.516 3507
+-66.008 46.516 3508
+-65.882 46.516 3508
+-65.756 46.516 3508
+-65.63 46.516 3509
+-65.504 46.516 3550
+-65.378 46.516 3550
+-65.252 46.516 3551
+-65.126 46.516 3551
+-128 46.464 4685
+-127.874 46.464 4664
+-127.748 46.464 4626
+-127.622 46.464 4607
+-127.496 46.464 4699
+-127.37 46.464 4766
+-127.244 46.464 4928
+-127.118 46.464 5171
+-126.992 46.464 5332
+-126.866 46.464 5428
+-126.74 46.464 5549
+-126.614 46.464 5657
+-126.488 46.464 5755
+-126.362 46.464 5894
+-126.236 46.464 6023
+-126.11 46.464 6114
+-125.984 46.464 6259
+-125.858 46.464 6404
+-125.732 46.464 6512
+-125.606 46.464 6602
+-125.48 46.464 6805
+-125.354 46.464 6926
+-125.228 46.464 7057
+-125.102 46.464 7204
+-124.976 46.464 7331
+-124.85 46.464 7430
+-124.724 46.464 7607
+-124.598 46.464 7738
+-124.472 46.464 7897
+-124.346 46.464 7951
+-124.22 46.464 8063
+-124.094 46.464 8224
+-123.968 46.464 8412
+-123.842 46.464 8474
+-123.716 46.464 8579
+-123.59 46.464 8712
+-123.464 46.464 8818
+-123.338 46.464 8921
+-123.212 46.464 8961
+-123.086 46.464 8995
+-122.96 46.464 9032
+-122.834 46.464 8976
+-122.708 46.464 8945
+-122.582 46.464 8856
+-122.456 46.464 8868
+-122.33 46.464 8700
+-122.204 46.464 8593
+-122.078 46.464 8484
+-121.952 46.464 8380
+-121.826 46.464 8222
+-121.7 46.464 8124
+-121.574 46.464 7972
+-121.448 46.464 7843
+-121.322 46.464 7691
+-121.196 46.464 7542
+-121.07 46.464 7397
+-120.944 46.464 7351
+-120.818 46.464 7166
+-120.692 46.464 7022
+-120.566 46.464 6917
+-120.44 46.464 7055
+-120.314 46.464 7150
+-120.188 46.464 7227
+-120.062 46.464 7361
+-119.936 46.464 7520
+-119.81 46.464 7604
+-119.684 46.464 7765
+-119.558 46.464 7891
+-119.432 46.464 8054
+-119.306 46.464 8191
+-119.18 46.464 8283
+-119.054 46.464 8374
+-118.928 46.464 8536
+-118.802 46.464 8619
+-118.676 46.464 8792
+-118.55 46.464 8859
+-118.424 46.464 8883
+-118.298 46.464 8879
+-118.172 46.464 8840
+-118.046 46.464 8793
+-117.92 46.464 8677
+-117.794 46.464 8587
+-117.668 46.464 8480
+-117.542 46.464 8318
+-117.416 46.464 8201
+-117.29 46.464 8061
+-117.164 46.464 7921
+-117.038 46.464 7843
+-116.912 46.464 7737
+-116.786 46.464 7551
+-116.66 46.464 7415
+-116.534 46.464 7281
+-116.408 46.464 7219
+-116.282 46.464 7081
+-116.156 46.464 6933
+-116.03 46.464 6830
+-115.904 46.464 6658
+-115.778 46.464 6488
+-115.652 46.464 6409
+-115.526 46.464 6293
+-115.4 46.464 6184
+-115.274 46.464 6080
+-115.148 46.464 5880
+-115.022 46.464 5714
+-114.896 46.464 5536
+-114.77 46.464 5545
+-114.644 46.464 5420
+-114.518 46.464 5233
+-114.392 46.464 5066
+-114.266 46.464 4949
+-114.14 46.464 4811
+-114.014 46.464 4629
+-113.888 46.464 4544
+-113.762 46.464 4371
+-113.636 46.464 4398
+-113.51 46.464 4306
+-113.384 46.464 4133
+-113.258 46.464 3899
+-113.132 46.464 3755
+-113.006 46.464 3799
+-112.88 46.464 3755
+-112.754 46.464 3694
+-112.628 46.464 3695
+-112.502 46.464 3712
+-112.376 46.464 3751
+-112.25 46.464 3782
+-112.124 46.464 3805
+-111.998 46.464 3775
+-111.872 46.464 3789
+-111.746 46.464 3800
+-111.62 46.464 3809
+-111.494 46.464 3817
+-111.368 46.464 3825
+-111.242 46.464 3796
+-111.116 46.464 3800
+-110.99 46.464 3803
+-110.864 46.464 3806
+-110.738 46.464 3809
+-110.612 46.464 3812
+-110.486 46.464 3729
+-110.36 46.464 3578
+-110.234 46.464 3575
+-110.108 46.464 3572
+-109.982 46.464 3569
+-109.856 46.464 3566
+-109.73 46.464 3563
+-109.604 46.464 3561
+-109.478 46.464 3558
+-109.352 46.464 3556
+-109.226 46.464 3513
+-109.1 46.464 3469
+-108.974 46.464 3466
+-108.848 46.464 3464
+-108.722 46.464 3399
+-108.596 46.464 3396
+-108.47 46.464 3393
+-108.344 46.464 3390
+-108.218 46.464 3387
+-108.092 46.464 3385
+-107.966 46.464 3383
+-107.84 46.464 3380
+-107.714 46.464 3378
+-107.588 46.464 3377
+-107.462 46.464 3287
+-107.336 46.464 3285
+-107.21 46.464 3284
+-107.084 46.464 3282
+-106.958 46.464 3280
+-106.832 46.464 3279
+-106.706 46.464 3278
+-106.58 46.464 3276
+-106.454 46.464 3275
+-106.328 46.464 3274
+-106.202 46.464 3273
+-106.076 46.464 3272
+-105.95 46.464 3271
+-105.824 46.464 3191
+-105.698 46.464 3191
+-105.572 46.464 3190
+-105.446 46.464 3189
+-105.32 46.464 3188
+-105.194 46.464 3187
+-105.068 46.464 3186
+-104.942 46.464 3186
+-104.816 46.464 3185
+-104.69 46.464 3185
+-104.564 46.464 3184
+-104.438 46.464 3184
+-104.312 46.464 3146
+-104.186 46.464 3143
+-104.06 46.464 3141
+-103.934 46.464 2953
+-103.808 46.464 2949
+-103.682 46.464 2945
+-103.556 46.464 2816
+-103.43 46.464 2776
+-103.304 46.464 2863
+-103.178 46.464 2863
+-103.052 46.464 2826
+-102.926 46.464 2905
+-102.8 46.464 2866
+-102.674 46.464 2886
+-102.548 46.464 3052
+-102.422 46.464 3097
+-102.296 46.464 3189
+-102.17 46.464 3113
+-102.044 46.464 3246
+-101.918 46.464 3250
+-101.792 46.464 3227
+-101.666 46.464 3246
+-101.54 46.464 3246
+-101.414 46.464 3249
+-101.288 46.464 3271
+-101.162 46.464 3271
+-101.036 46.464 3271
+-100.91 46.464 3373
+-100.784 46.464 3373
+-100.658 46.464 3373
+-100.532 46.464 3333
+-100.406 46.464 3429
+-100.28 46.464 3438
+-100.154 46.464 3438
+-100.028 46.464 3435
+-99.902 46.464 3435
+-99.776 46.464 3406
+-99.65 46.464 3402
+-99.524 46.464 3324
+-99.398 46.464 3462
+-99.272 46.464 3478
+-99.146 46.464 3436
+-99.02 46.464 3436
+-98.894 46.464 3435
+-98.768 46.464 3450
+-98.642 46.464 3399
+-98.516 46.464 3408
+-98.39 46.464 3403
+-98.264 46.464 3402
+-98.138 46.464 3402
+-98.012 46.464 3402
+-97.886 46.464 3401
+-97.76 46.464 3202
+-97.634 46.464 3229
+-97.508 46.464 3227
+-97.382 46.464 3224
+-97.256 46.464 3206
+-97.13 46.464 3252
+-97.004 46.464 3224
+-96.878 46.464 3220
+-96.752 46.464 3200
+-96.626 46.464 3197
+-96.5 46.464 3118
+-96.374 46.464 3150
+-96.248 46.464 3145
+-96.122 46.464 3140
+-95.996 46.464 3135
+-95.87 46.464 3120
+-95.744 46.464 3115
+-95.618 46.464 3109
+-95.492 46.464 3102
+-95.366 46.464 3095
+-95.24 46.464 3018
+-95.114 46.464 2999
+-94.988 46.464 2974
+-94.862 46.464 2922
+-94.736 46.464 2904
+-94.61 46.464 2880
+-94.484 46.464 2869
+-94.358 46.464 2855
+-94.232 46.464 2831
+-94.106 46.464 2801
+-93.98 46.464 2786
+-93.854 46.464 2770
+-93.728 46.464 2752
+-93.602 46.464 2732
+-93.476 46.464 2711
+-93.35 46.464 2687
+-93.224 46.464 2661
+-93.098 46.464 2632
+-92.972 46.464 2600
+-92.846 46.464 2564
+-92.72 46.464 2524
+-92.594 46.464 2480
+-92.468 46.464 2430
+-92.342 46.464 2375
+-92.216 46.464 2313
+-92.09 46.464 2245
+-91.964 46.464 2146
+-91.838 46.464 2034
+-91.712 46.464 1949
+-91.586 46.464 1856
+-91.46 46.464 1765
+-91.334 46.464 1676
+-91.208 46.464 1595
+-91.082 46.464 1529
+-90.956 46.464 1485
+-90.83 46.464 1471
+-90.704 46.464 1488
+-90.578 46.464 1534
+-90.452 46.464 1604
+-90.326 46.464 1690
+-90.2 46.464 1782
+-90.074 46.464 1875
+-89.948 46.464 1962
+-89.822 46.464 2024
+-89.696 46.464 2093
+-89.57 46.464 2153
+-89.444 46.464 2204
+-89.318 46.464 2248
+-89.192 46.464 2285
+-89.066 46.464 2316
+-88.94 46.464 2343
+-88.814 46.464 2366
+-88.688 46.464 2387
+-88.562 46.464 2404
+-88.436 46.464 2419
+-88.31 46.464 2433
+-88.184 46.464 2445
+-88.058 46.464 2456
+-87.932 46.464 2466
+-87.806 46.464 2475
+-87.68 46.464 2483
+-87.554 46.464 2496
+-87.428 46.464 2503
+-87.302 46.464 2509
+-87.176 46.464 2514
+-87.05 46.464 2458
+-86.924 46.464 2461
+-86.798 46.464 2463
+-86.672 46.464 2465
+-86.546 46.464 2467
+-86.42 46.464 2468
+-86.294 46.464 2469
+-86.168 46.464 2469
+-86.042 46.464 2470
+-85.916 46.464 2470
+-85.79 46.464 2474
+-85.664 46.464 2486
+-85.538 46.464 2486
+-85.412 46.464 2486
+-85.286 46.464 2486
+-85.16 46.464 2504
+-85.034 46.464 2504
+-84.908 46.464 2504
+-84.782 46.464 2505
+-84.656 46.464 2509
+-84.53 46.464 2614
+-84.404 46.464 2614
+-84.278 46.464 2614
+-84.152 46.464 2618
+-84.026 46.464 2618
+-83.9 46.464 2621
+-83.774 46.464 2633
+-83.648 46.464 2622
+-83.522 46.464 2632
+-83.396 46.464 2633
+-83.27 46.464 2633
+-83.144 46.464 2634
+-83.018 46.464 2635
+-82.892 46.464 2637
+-82.766 46.464 2639
+-82.64 46.464 2711
+-82.514 46.464 2712
+-82.388 46.464 2714
+-82.262 46.464 2716
+-82.136 46.464 2730
+-82.01 46.464 2732
+-81.884 46.464 2722
+-81.758 46.464 2724
+-81.632 46.464 2727
+-81.506 46.464 2729
+-81.38 46.464 2708
+-81.254 46.464 2717
+-81.128 46.464 2720
+-81.002 46.464 2832
+-80.876 46.464 2801
+-80.75 46.464 2803
+-80.624 46.464 2919
+-80.498 46.464 2919
+-80.372 46.464 2889
+-80.246 46.464 2942
+-80.12 46.464 2850
+-79.994 46.464 2876
+-79.868 46.464 2925
+-79.742 46.464 2838
+-79.616 46.464 2846
+-79.49 46.464 2762
+-79.364 46.464 2760
+-79.238 46.464 2775
+-79.112 46.464 2753
+-78.986 46.464 2756
+-78.86 46.464 2758
+-78.734 46.464 2706
+-78.608 46.464 2743
+-78.482 46.464 2737
+-78.356 46.464 2729
+-78.23 46.464 2732
+-78.104 46.464 2734
+-77.978 46.464 2737
+-77.852 46.464 2686
+-77.726 46.464 2682
+-77.6 46.464 2685
+-77.474 46.464 2687
+-77.348 46.464 2689
+-77.222 46.464 2687
+-77.096 46.464 2636
+-76.97 46.464 2737
+-76.844 46.464 2734
+-76.718 46.464 2741
+-76.592 46.464 2743
+-76.466 46.464 2745
+-76.34 46.464 2746
+-76.214 46.464 2770
+-76.088 46.464 2751
+-75.962 46.464 2812
+-75.836 46.464 2814
+-75.71 46.464 2806
+-75.584 46.464 2814
+-75.458 46.464 2816
+-75.332 46.464 2818
+-75.206 46.464 2807
+-75.08 46.464 2921
+-74.954 46.464 2923
+-74.828 46.464 2924
+-74.702 46.464 2926
+-74.576 46.464 3026
+-74.45 46.464 2981
+-74.324 46.464 3132
+-74.198 46.464 3133
+-74.072 46.464 3098
+-73.946 46.464 3099
+-73.82 46.464 3100
+-73.694 46.464 3101
+-73.568 46.464 3101
+-73.442 46.464 3102
+-73.316 46.464 3196
+-73.19 46.464 3192
+-73.064 46.464 3193
+-72.938 46.464 3194
+-72.812 46.464 3195
+-72.686 46.464 3139
+-72.56 46.464 3174
+-72.434 46.464 3175
+-72.308 46.464 3250
+-72.182 46.464 3161
+-72.056 46.464 3162
+-71.93 46.464 3163
+-71.804 46.464 3211
+-71.678 46.464 3165
+-71.552 46.464 3166
+-71.426 46.464 3168
+-71.3 46.464 3396
+-71.174 46.464 3342
+-71.048 46.464 3343
+-70.922 46.464 3474
+-70.796 46.464 3447
+-70.67 46.464 3448
+-70.544 46.464 3394
+-70.418 46.464 3467
+-70.292 46.464 3468
+-70.166 46.464 3468
+-70.04 46.464 3469
+-69.914 46.464 3469
+-69.788 46.464 3469
+-69.662 46.464 3470
+-69.536 46.464 3470
+-69.41 46.464 3459
+-69.284 46.464 3407
+-69.158 46.464 3401
+-69.032 46.464 3401
+-68.906 46.464 3402
+-68.78 46.464 3402
+-68.654 46.464 3403
+-68.528 46.464 3403
+-68.402 46.464 3404
+-68.276 46.464 3404
+-68.15 46.464 3405
+-68.024 46.464 3405
+-67.898 46.464 3406
+-67.772 46.464 3406
+-67.646 46.464 3407
+-67.52 46.464 3407
+-67.394 46.464 3408
+-67.268 46.464 3520
+-67.142 46.464 3521
+-67.016 46.464 3505
+-66.89 46.464 3505
+-66.764 46.464 3506
+-66.638 46.464 3506
+-66.512 46.464 3506
+-66.386 46.464 3507
+-66.26 46.464 3507
+-66.134 46.464 3507
+-66.008 46.464 3508
+-65.882 46.464 3508
+-65.756 46.464 3508
+-65.63 46.464 3549
+-65.504 46.464 3550
+-65.378 46.464 3550
+-65.252 46.464 3551
+-65.126 46.464 3551
+-128 46.412 4660
+-127.874 46.412 4688
+-127.748 46.412 4686
+-127.622 46.412 4701
+-127.496 46.412 4723
+-127.37 46.412 4659
+-127.244 46.412 4844
+-127.118 46.412 5165
+-126.992 46.412 5319
+-126.866 46.412 5289
+-126.74 46.412 5444
+-126.614 46.412 5603
+-126.488 46.412 5743
+-126.362 46.412 5902
+-126.236 46.412 6004
+-126.11 46.412 6110
+-125.984 46.412 6258
+-125.858 46.412 6369
+-125.732 46.412 6505
+-125.606 46.412 6672
+-125.48 46.412 6804
+-125.354 46.412 6958
+-125.228 46.412 7062
+-125.102 46.412 7167
+-124.976 46.412 7317
+-124.85 46.412 7394
+-124.724 46.412 7584
+-124.598 46.412 7692
+-124.472 46.412 7844
+-124.346 46.412 7973
+-124.22 46.412 8077
+-124.094 46.412 8169
+-123.968 46.412 8272
+-123.842 46.412 8447
+-123.716 46.412 8573
+-123.59 46.412 8672
+-123.464 46.412 8783
+-123.338 46.412 8837
+-123.212 46.412 8905
+-123.086 46.412 8949
+-122.96 46.412 8968
+-122.834 46.412 8934
+-122.708 46.412 8877
+-122.582 46.412 8827
+-122.456 46.412 8748
+-122.33 46.412 8666
+-122.204 46.412 8600
+-122.078 46.412 8456
+-121.952 46.412 8307
+-121.826 46.412 8210
+-121.7 46.412 8055
+-121.574 46.412 7957
+-121.448 46.412 7806
+-121.322 46.412 7674
+-121.196 46.412 7556
+-121.07 46.412 7404
+-120.944 46.412 7295
+-120.818 46.412 7139
+-120.692 46.412 7026
+-120.566 46.412 6895
+-120.44 46.412 6999
+-120.314 46.412 7126
+-120.188 46.412 7312
+-120.062 46.412 7374
+-119.936 46.412 7535
+-119.81 46.412 7671
+-119.684 46.412 7822
+-119.558 46.412 7928
+-119.432 46.412 8083
+-119.306 46.412 8256
+-119.18 46.412 8355
+-119.054 46.412 8436
+-118.928 46.412 8547
+-118.802 46.412 8655
+-118.676 46.412 8776
+-118.55 46.412 8894
+-118.424 46.412 8905
+-118.298 46.412 8908
+-118.172 46.412 8900
+-118.046 46.412 8814
+-117.92 46.412 8700
+-117.794 46.412 8577
+-117.668 46.412 8461
+-117.542 46.412 8383
+-117.416 46.412 8219
+-117.29 46.412 8145
+-117.164 46.412 7991
+-117.038 46.412 7885
+-116.912 46.412 7714
+-116.786 46.412 7577
+-116.66 46.412 7474
+-116.534 46.412 7301
+-116.408 46.412 7230
+-116.282 46.412 7082
+-116.156 46.412 6952
+-116.03 46.412 6825
+-115.904 46.412 6672
+-115.778 46.412 6499
+-115.652 46.412 6411
+-115.526 46.412 6329
+-115.4 46.412 6223
+-115.274 46.412 6061
+-115.148 46.412 5897
+-115.022 46.412 5729
+-114.896 46.412 5656
+-114.77 46.412 5557
+-114.644 46.412 5383
+-114.518 46.412 5211
+-114.392 46.412 5126
+-114.266 46.412 4933
+-114.14 46.412 4832
+-114.014 46.412 4629
+-113.888 46.412 4528
+-113.762 46.412 4447
+-113.636 46.412 4371
+-113.51 46.412 4230
+-113.384 46.412 4120
+-113.258 46.412 3948
+-113.132 46.412 3827
+-113.006 46.412 3768
+-112.88 46.412 3631
+-112.754 46.412 3488
+-112.628 46.412 3537
+-112.502 46.412 3638
+-112.376 46.412 3707
+-112.25 46.412 3751
+-112.124 46.412 3781
+-111.998 46.412 3803
+-111.872 46.412 3772
+-111.746 46.412 3784
+-111.62 46.412 3795
+-111.494 46.412 3805
+-111.368 46.412 3780
+-111.242 46.412 3785
+-111.116 46.412 3790
+-110.99 46.412 3794
+-110.864 46.412 3798
+-110.738 46.412 3801
+-110.612 46.412 3737
+-110.486 46.412 3736
+-110.36 46.412 3735
+-110.234 46.412 3577
+-110.108 46.412 3575
+-109.982 46.412 3572
+-109.856 46.412 3570
+-109.73 46.412 3568
+-109.604 46.412 3566
+-109.478 46.412 3564
+-109.352 46.412 3562
+-109.226 46.412 3561
+-109.1 46.412 3493
+-108.974 46.412 3463
+-108.848 46.412 3461
+-108.722 46.412 3460
+-108.596 46.412 3395
+-108.47 46.412 3392
+-108.344 46.412 3390
+-108.218 46.412 3387
+-108.092 46.412 3385
+-107.966 46.412 3382
+-107.84 46.412 3380
+-107.714 46.412 3378
+-107.588 46.412 3376
+-107.462 46.412 3375
+-107.336 46.412 3286
+-107.21 46.412 3285
+-107.084 46.412 3283
+-106.958 46.412 3282
+-106.832 46.412 3280
+-106.706 46.412 3279
+-106.58 46.412 3278
+-106.454 46.412 3276
+-106.328 46.412 3275
+-106.202 46.412 3274
+-106.076 46.412 3273
+-105.95 46.412 3194
+-105.824 46.412 3193
+-105.698 46.412 3192
+-105.572 46.412 3191
+-105.446 46.412 3190
+-105.32 46.412 3189
+-105.194 46.412 3188
+-105.068 46.412 3188
+-104.942 46.412 3187
+-104.816 46.412 3186
+-104.69 46.412 3186
+-104.564 46.412 3185
+-104.438 46.412 3185
+-104.312 46.412 3146
+-104.186 46.412 3144
+-104.06 46.412 2957
+-103.934 46.412 2953
+-103.808 46.412 2948
+-103.682 46.412 2944
+-103.556 46.412 2805
+-103.43 46.412 2782
+-103.304 46.412 2807
+-103.178 46.412 2748
+-103.052 46.412 2828
+-102.926 46.412 2759
+-102.8 46.412 2803
+-102.674 46.412 2958
+-102.548 46.412 3079
+-102.422 46.412 3059
+-102.296 46.412 3148
+-102.17 46.412 3319
+-102.044 46.412 3220
+-101.918 46.412 3245
+-101.792 46.412 3249
+-101.666 46.412 3226
+-101.54 46.412 3245
+-101.414 46.412 3245
+-101.288 46.412 3248
+-101.162 46.412 3270
+-101.036 46.412 3270
+-100.91 46.412 3270
+-100.784 46.412 3371
+-100.658 46.412 3371
+-100.532 46.412 3371
+-100.406 46.412 3331
+-100.28 46.412 3428
+-100.154 46.412 3437
+-100.028 46.412 3436
+-99.902 46.412 3434
+-99.776 46.412 3434
+-99.65 46.412 3404
+-99.524 46.412 3401
+-99.398 46.412 3323
+-99.272 46.412 3461
+-99.146 46.412 3477
+-99.02 46.412 3435
+-98.894 46.412 3435
+-98.768 46.412 3434
+-98.642 46.412 3449
+-98.516 46.412 3398
+-98.39 46.412 3407
+-98.264 46.412 3407
+-98.138 46.412 3401
+-98.012 46.412 3401
+-97.886 46.412 3401
+-97.76 46.412 3400
+-97.634 46.412 3202
+-97.508 46.412 3229
+-97.382 46.412 3227
+-97.256 46.412 3224
+-97.13 46.412 3206
+-97.004 46.412 3251
+-96.878 46.412 3223
+-96.752 46.412 3220
+-96.626 46.412 3199
+-96.5 46.412 3196
+-96.374 46.412 3117
+-96.248 46.412 3149
+-96.122 46.412 3144
+-95.996 46.412 3139
+-95.87 46.412 3134
+-95.744 46.412 3119
+-95.618 46.412 3113
+-95.492 46.412 3107
+-95.366 46.412 3100
+-95.24 46.412 3093
+-95.114 46.412 3016
+-94.988 46.412 2996
+-94.862 46.412 2971
+-94.736 46.412 2919
+-94.61 46.412 2900
+-94.484 46.412 2876
+-94.358 46.412 2864
+-94.232 46.412 2849
+-94.106 46.412 2825
+-93.98 46.412 2794
+-93.854 46.412 2777
+-93.728 46.412 2760
+-93.602 46.412 2740
+-93.476 46.412 2719
+-93.35 46.412 2695
+-93.224 46.412 2669
+-93.098 46.412 2640
+-92.972 46.412 2608
+-92.846 46.412 2572
+-92.72 46.412 2532
+-92.594 46.412 2487
+-92.468 46.412 2436
+-92.342 46.412 2379
+-92.216 46.412 2315
+-92.09 46.412 2244
+-91.964 46.412 2164
+-91.838 46.412 2055
+-91.712 46.412 1933
+-91.586 46.412 1835
+-91.46 46.412 1731
+-91.334 46.412 1630
+-91.208 46.412 1536
+-91.082 46.412 1459
+-90.956 46.412 1407
+-90.83 46.412 1390
+-90.704 46.412 1409
+-90.578 46.412 1464
+-90.452 46.412 1546
+-90.326 46.412 1644
+-90.2 46.412 1749
+-90.074 46.412 1853
+-89.948 46.412 1948
+-89.822 46.412 2017
+-89.696 46.412 2090
+-89.57 46.412 2152
+-89.444 46.412 2205
+-89.318 46.412 2249
+-89.192 46.412 2286
+-89.066 46.412 2318
+-88.94 46.412 2344
+-88.814 46.412 2367
+-88.688 46.412 2387
+-88.562 46.412 2404
+-88.436 46.412 2419
+-88.31 46.412 2432
+-88.184 46.412 2444
+-88.058 46.412 2455
+-87.932 46.412 2464
+-87.806 46.412 2473
+-87.68 46.412 2487
+-87.554 46.412 2495
+-87.428 46.412 2501
+-87.302 46.412 2507
+-87.176 46.412 2454
+-87.05 46.412 2457
+-86.924 46.412 2460
+-86.798 46.412 2462
+-86.672 46.412 2464
+-86.546 46.412 2465
+-86.42 46.412 2466
+-86.294 46.412 2467
+-86.168 46.412 2467
+-86.042 46.412 2468
+-85.916 46.412 2472
+-85.79 46.412 2483
+-85.664 46.412 2483
+-85.538 46.412 2483
+-85.412 46.412 2483
+-85.286 46.412 2501
+-85.16 46.412 2501
+-85.034 46.412 2501
+-84.908 46.412 2502
+-84.782 46.412 2506
+-84.656 46.412 2610
+-84.53 46.412 2609
+-84.404 46.412 2609
+-84.278 46.412 2613
+-84.152 46.412 2613
+-84.026 46.412 2616
+-83.9 46.412 2627
+-83.774 46.412 2617
+-83.648 46.412 2626
+-83.522 46.412 2627
+-83.396 46.412 2628
+-83.27 46.412 2629
+-83.144 46.412 2630
+-83.018 46.412 2631
+-82.892 46.412 2634
+-82.766 46.412 2705
+-82.64 46.412 2706
+-82.514 46.412 2708
+-82.388 46.412 2710
+-82.262 46.412 2724
+-82.136 46.412 2727
+-82.01 46.412 2717
+-81.884 46.412 2719
+-81.758 46.412 2721
+-81.632 46.412 2724
+-81.506 46.412 2703
+-81.38 46.412 2713
+-81.254 46.412 2715
+-81.128 46.412 2826
+-81.002 46.412 2796
+-80.876 46.412 2798
+-80.75 46.412 2913
+-80.624 46.412 2913
+-80.498 46.412 2884
+-80.372 46.412 2936
+-80.246 46.412 2845
+-80.12 46.412 2871
+-79.994 46.412 2920
+-79.868 46.412 2833
+-79.742 46.412 2841
+-79.616 46.412 2759
+-79.49 46.412 2757
+-79.364 46.412 2772
+-79.238 46.412 2750
+-79.112 46.412 2752
+-78.986 46.412 2755
+-78.86 46.412 2703
+-78.734 46.412 2740
+-78.608 46.412 2735
+-78.482 46.412 2727
+-78.356 46.412 2729
+-78.23 46.412 2732
+-78.104 46.412 2734
+-77.978 46.412 2684
+-77.852 46.412 2680
+-77.726 46.412 2683
+-77.6 46.412 2685
+-77.474 46.412 2687
+-77.348 46.412 2685
+-77.222 46.412 2634
+-77.096 46.412 2736
+-76.97 46.412 2733
+-76.844 46.412 2740
+-76.718 46.412 2741
+-76.592 46.412 2743
+-76.466 46.412 2745
+-76.34 46.412 2769
+-76.214 46.412 2749
+-76.088 46.412 2810
+-75.962 46.412 2812
+-75.836 46.412 2805
+-75.71 46.412 2813
+-75.584 46.412 2814
+-75.458 46.412 2816
+-75.332 46.412 2806
+-75.206 46.412 2920
+-75.08 46.412 2921
+-74.954 46.412 2923
+-74.828 46.412 2925
+-74.702 46.412 3025
+-74.576 46.412 2980
+-74.45 46.412 3131
+-74.324 46.412 3132
+-74.198 46.412 3097
+-74.072 46.412 3098
+-73.946 46.412 3099
+-73.82 46.412 3100
+-73.694 46.412 3101
+-73.568 46.412 3101
+-73.442 46.412 3195
+-73.316 46.412 3191
+-73.19 46.412 3192
+-73.064 46.412 3193
+-72.938 46.412 3194
+-72.812 46.412 3138
+-72.686 46.412 3173
+-72.56 46.412 3174
+-72.434 46.412 3248
+-72.308 46.412 3160
+-72.182 46.412 3161
+-72.056 46.412 3163
+-71.93 46.412 3210
+-71.804 46.412 3165
+-71.678 46.412 3166
+-71.552 46.412 3167
+-71.426 46.412 3395
+-71.3 46.412 3341
+-71.174 46.412 3342
+-71.048 46.412 3473
+-70.922 46.412 3446
+-70.796 46.412 3447
+-70.67 46.412 3393
+-70.544 46.412 3466
+-70.418 46.412 3467
+-70.292 46.412 3468
+-70.166 46.412 3468
+-70.04 46.412 3469
+-69.914 46.412 3468
+-69.788 46.412 3469
+-69.662 46.412 3470
+-69.536 46.412 3459
+-69.41 46.412 3406
+-69.284 46.412 3400
+-69.158 46.412 3401
+-69.032 46.412 3401
+-68.906 46.412 3402
+-68.78 46.412 3402
+-68.654 46.412 3403
+-68.528 46.412 3403
+-68.402 46.412 3404
+-68.276 46.412 3404
+-68.15 46.412 3405
+-68.024 46.412 3405
+-67.898 46.412 3406
+-67.772 46.412 3406
+-67.646 46.412 3407
+-67.52 46.412 3407
+-67.394 46.412 3520
+-67.268 46.412 3520
+-67.142 46.412 3505
+-67.016 46.412 3505
+-66.89 46.412 3505
+-66.764 46.412 3506
+-66.638 46.412 3506
+-66.512 46.412 3506
+-66.386 46.412 3507
+-66.26 46.412 3507
+-66.134 46.412 3508
+-66.008 46.412 3508
+-65.882 46.412 3508
+-65.756 46.412 3549
+-65.63 46.412 3549
+-65.504 46.412 3550
+-65.378 46.412 3550
+-65.252 46.412 3551
+-65.126 46.412 3551
+-128 46.36 4619
+-127.874 46.36 4663
+-127.748 46.36 4700
+-127.622 46.36 4731
+-127.496 46.36 4748
+-127.37 46.36 4776
+-127.244 46.36 4914
+-127.118 46.36 5173
+-126.992 46.36 5299
+-126.866 46.36 5366
+-126.74 46.36 5334
+-126.614 46.36 5538
+-126.488 46.36 5674
+-126.362 46.36 5821
+-126.236 46.36 5990
+-126.11 46.36 6124
+-125.984 46.36 6197
+-125.858 46.36 6322
+-125.732 46.36 6499
+-125.606 46.36 6702
+-125.48 46.36 6709
+-125.354 46.36 6930
+-125.228 46.36 6975
+-125.102 46.36 7180
+-124.976 46.36 7303
+-124.85 46.36 7406
+-124.724 46.36 7522
+-124.598 46.36 7661
+-124.472 46.36 7788
+-124.346 46.36 7961
+-124.22 46.36 8042
+-124.094 46.36 8182
+-123.968 46.36 8279
+-123.842 46.36 8432
+-123.716 46.36 8504
+-123.59 46.36 8598
+-123.464 46.36 8743
+-123.338 46.36 8793
+-123.212 46.36 8883
+-123.086 46.36 8903
+-122.96 46.36 8888
+-122.834 46.36 8892
+-122.708 46.36 8823
+-122.582 46.36 8755
+-122.456 46.36 8681
+-122.33 46.36 8592
+-122.204 46.36 8530
+-122.078 46.36 8420
+-121.952 46.36 8347
+-121.826 46.36 8183
+-121.7 46.36 8100
+-121.574 46.36 7934
+-121.448 46.36 7808
+-121.322 46.36 7697
+-121.196 46.36 7544
+-121.07 46.36 7402
+-120.944 46.36 7228
+-120.818 46.36 7183
+-120.692 46.36 7020
+-120.566 46.36 6941
+-120.44 46.36 7055
+-120.314 46.36 7150
+-120.188 46.36 7313
+-120.062 46.36 7460
+-119.936 46.36 7555
+-119.81 46.36 7644
+-119.684 46.36 7844
+-119.558 46.36 7952
+-119.432 46.36 8100
+-119.306 46.36 8163
+-119.18 46.36 8363
+-119.054 46.36 8450
+-118.928 46.36 8631
+-118.802 46.36 8757
+-118.676 46.36 8879
+-118.55 46.36 8885
+-118.424 46.36 8997
+-118.298 46.36 8985
+-118.172 46.36 8938
+-118.046 46.36 8843
+-117.92 46.36 8753
+-117.794 46.36 8635
+-117.668 46.36 8487
+-117.542 46.36 8352
+-117.416 46.36 8262
+-117.29 46.36 8132
+-117.164 46.36 8022
+-117.038 46.36 7861
+-116.912 46.36 7753
+-116.786 46.36 7575
+-116.66 46.36 7444
+-116.534 46.36 7304
+-116.408 46.36 7184
+-116.282 46.36 7106
+-116.156 46.36 6891
+-116.03 46.36 6818
+-115.904 46.36 6668
+-115.778 46.36 6533
+-115.652 46.36 6376
+-115.526 46.36 6306
+-115.4 46.36 6200
+-115.274 46.36 5952
+-115.148 46.36 5894
+-115.022 46.36 5756
+-114.896 46.36 5658
+-114.77 46.36 5528
+-114.644 46.36 5265
+-114.518 46.36 5252
+-114.392 46.36 5083
+-114.266 46.36 4931
+-114.14 46.36 4795
+-114.014 46.36 4622
+-113.888 46.36 4578
+-113.762 46.36 4418
+-113.636 46.36 4341
+-113.51 46.36 4172
+-113.384 46.36 4123
+-113.258 46.36 3957
+-113.132 46.36 3799
+-113.006 46.36 3688
+-112.88 46.36 3539
+-112.754 46.36 3286
+-112.628 46.36 3449
+-112.502 46.36 3601
+-112.376 46.36 3684
+-112.25 46.36 3733
+-112.124 46.36 3765
+-111.998 46.36 3788
+-111.872 46.36 3806
+-111.746 46.36 3770
+-111.62 46.36 3782
+-111.494 46.36 3761
+-111.368 46.36 3768
+-111.242 46.36 3774
+-111.116 46.36 3780
+-110.99 46.36 3784
+-110.864 46.36 3789
+-110.738 46.36 3727
+-110.612 46.36 3726
+-110.486 46.36 3726
+-110.36 46.36 3608
+-110.234 46.36 3607
+-110.108 46.36 3567
+-109.982 46.36 3565
+-109.856 46.36 3563
+-109.73 46.36 3561
+-109.604 46.36 3559
+-109.478 46.36 3558
+-109.352 46.36 3556
+-109.226 46.36 3490
+-109.1 46.36 3488
+-108.974 46.36 3487
+-108.848 46.36 3458
+-108.722 46.36 3457
+-108.596 46.36 3455
+-108.47 46.36 3375
+-108.344 46.36 3372
+-108.218 46.36 3370
+-108.092 46.36 3367
+-107.966 46.36 3365
+-107.84 46.36 3363
+-107.714 46.36 3361
+-107.588 46.36 3359
+-107.462 46.36 3357
+-107.336 46.36 3355
+-107.21 46.36 3286
+-107.084 46.36 3284
+-106.958 46.36 3283
+-106.832 46.36 3281
+-106.706 46.36 3280
+-106.58 46.36 3279
+-106.454 46.36 3277
+-106.328 46.36 3276
+-106.202 46.36 3275
+-106.076 46.36 3196
+-105.95 46.36 3195
+-105.824 46.36 3194
+-105.698 46.36 3193
+-105.572 46.36 3192
+-105.446 46.36 3191
+-105.32 46.36 3190
+-105.194 46.36 3190
+-105.068 46.36 3189
+-104.942 46.36 3188
+-104.816 46.36 3188
+-104.69 46.36 3187
+-104.564 46.36 3186
+-104.438 46.36 3186
+-104.312 46.36 3147
+-104.186 46.36 2961
+-104.06 46.36 2956
+-103.934 46.36 2952
+-103.808 46.36 2948
+-103.682 46.36 2943
+-103.556 46.36 2783
+-103.43 46.36 2782
+-103.304 46.36 2864
+-103.178 46.36 2749
+-103.052 46.36 2887
+-102.926 46.36 2760
+-102.8 46.36 2805
+-102.674 46.36 2960
+-102.548 46.36 3048
+-102.422 46.36 3038
+-102.296 46.36 3172
+-102.17 46.36 3268
+-102.044 46.36 3317
+-101.918 46.36 3219
+-101.792 46.36 3243
+-101.666 46.36 3247
+-101.54 46.36 3225
+-101.414 46.36 3244
+-101.288 46.36 3244
+-101.162 46.36 3247
+-101.036 46.36 3269
+-100.91 46.36 3269
+-100.784 46.36 3269
+-100.658 46.36 3370
+-100.532 46.36 3370
+-100.406 46.36 3370
+-100.28 46.36 3330
+-100.154 46.36 3427
+-100.028 46.36 3435
+-99.902 46.36 3435
+-99.776 46.36 3433
+-99.65 46.36 3432
+-99.524 46.36 3403
+-99.398 46.36 3400
+-99.272 46.36 3322
+-99.146 46.36 3460
+-99.02 46.36 3475
+-98.894 46.36 3434
+-98.768 46.36 3434
+-98.642 46.36 3433
+-98.516 46.36 3448
+-98.39 46.36 3397
+-98.264 46.36 3406
+-98.138 46.36 3401
+-98.012 46.36 3400
+-97.886 46.36 3400
+-97.76 46.36 3400
+-97.634 46.36 3399
+-97.508 46.36 3202
+-97.382 46.36 3229
+-97.256 46.36 3226
+-97.13 46.36 3224
+-97.004 46.36 3206
+-96.878 46.36 3251
+-96.752 46.36 3223
+-96.626 46.36 3219
+-96.5 46.36 3199
+-96.374 46.36 3195
+-96.248 46.36 3117
+-96.122 46.36 3148
+-95.996 46.36 3143
+-95.87 46.36 3138
+-95.744 46.36 3132
+-95.618 46.36 3117
+-95.492 46.36 3111
+-95.366 46.36 3105
+-95.24 46.36 3098
+-95.114 46.36 3090
+-94.988 46.36 3013
+-94.862 46.36 2994
+-94.736 46.36 2968
+-94.61 46.36 2916
+-94.484 46.36 2897
+-94.358 46.36 2871
+-94.232 46.36 2859
+-94.106 46.36 2844
+-93.98 46.36 2818
+-93.854 46.36 2786
+-93.728 46.36 2769
+-93.602 46.36 2749
+-93.476 46.36 2728
+-93.35 46.36 2705
+-93.224 46.36 2679
+-93.098 46.36 2650
+-92.972 46.36 2618
+-92.846 46.36 2583
+-92.72 46.36 2542
+-92.594 46.36 2497
+-92.468 46.36 2446
+-92.342 46.36 2389
+-92.216 46.36 2324
+-92.09 46.36 2250
+-91.964 46.36 2168
+-91.838 46.36 2075
+-91.712 46.36 1956
+-91.586 46.36 1825
+-91.46 46.36 1715
+-91.334 46.36 1602
+-91.208 46.36 1498
+-91.082 46.36 1411
+-90.956 46.36 1352
+-90.83 46.36 1332
+-90.704 46.36 1353
+-90.578 46.36 1415
+-90.452 46.36 1507
+-90.326 46.36 1618
+-90.2 46.36 1733
+-90.074 46.36 1845
+-89.948 46.36 1946
+-89.822 46.36 2020
+-89.696 46.36 2095
+-89.57 46.36 2158
+-89.444 46.36 2210
+-89.318 46.36 2254
+-89.192 46.36 2291
+-89.066 46.36 2321
+-88.94 46.36 2347
+-88.814 46.36 2368
+-88.688 46.36 2387
+-88.562 46.36 2403
+-88.436 46.36 2418
+-88.31 46.36 2431
+-88.184 46.36 2443
+-88.058 46.36 2453
+-87.932 46.36 2463
+-87.806 46.36 2477
+-87.68 46.36 2485
+-87.554 46.36 2493
+-87.428 46.36 2499
+-87.302 46.36 2449
+-87.176 46.36 2453
+-87.05 46.36 2456
+-86.924 46.36 2459
+-86.798 46.36 2461
+-86.672 46.36 2463
+-86.546 46.36 2464
+-86.42 46.36 2465
+-86.294 46.36 2465
+-86.168 46.36 2465
+-86.042 46.36 2469
+-85.916 46.36 2481
+-85.79 46.36 2481
+-85.664 46.36 2480
+-85.538 46.36 2480
+-85.412 46.36 2498
+-85.286 46.36 2498
+-85.16 46.36 2498
+-85.034 46.36 2498
+-84.908 46.36 2503
+-84.782 46.36 2605
+-84.656 46.36 2604
+-84.53 46.36 2604
+-84.404 46.36 2608
+-84.278 46.36 2608
+-84.152 46.36 2611
+-84.026 46.36 2622
+-83.9 46.36 2611
+-83.774 46.36 2621
+-83.648 46.36 2621
+-83.522 46.36 2622
+-83.396 46.36 2623
+-83.27 46.36 2625
+-83.144 46.36 2626
+-83.018 46.36 2629
+-82.892 46.36 2698
+-82.766 46.36 2700
+-82.64 46.36 2702
+-82.514 46.36 2704
+-82.388 46.36 2718
+-82.262 46.36 2720
+-82.136 46.36 2711
+-82.01 46.36 2713
+-81.884 46.36 2716
+-81.758 46.36 2718
+-81.632 46.36 2698
+-81.506 46.36 2707
+-81.38 46.36 2710
+-81.254 46.36 2820
+-81.128 46.36 2790
+-81.002 46.36 2793
+-80.876 46.36 2906
+-80.75 46.36 2907
+-80.624 46.36 2878
+-80.498 46.36 2930
+-80.372 46.36 2840
+-80.246 46.36 2866
+-80.12 46.36 2914
+-79.994 46.36 2829
+-79.868 46.36 2836
+-79.742 46.36 2755
+-79.616 46.36 2753
+-79.49 46.36 2768
+-79.364 46.36 2746
+-79.238 46.36 2749
+-79.112 46.36 2752
+-78.986 46.36 2700
+-78.86 46.36 2736
+-78.734 46.36 2732
+-78.608 46.36 2724
+-78.482 46.36 2727
+-78.356 46.36 2729
+-78.23 46.36 2732
+-78.104 46.36 2681
+-77.978 46.36 2678
+-77.852 46.36 2681
+-77.726 46.36 2683
+-77.6 46.36 2685
+-77.474 46.36 2684
+-77.348 46.36 2633
+-77.222 46.36 2734
+-77.096 46.36 2731
+-76.97 46.36 2738
+-76.844 46.36 2740
+-76.718 46.36 2742
+-76.592 46.36 2744
+-76.466 46.36 2767
+-76.34 46.36 2748
+-76.214 46.36 2809
+-76.088 46.36 2811
+-75.962 46.36 2803
+-75.836 46.36 2811
+-75.71 46.36 2813
+-75.584 46.36 2815
+-75.458 46.36 2804
+-75.332 46.36 2918
+-75.206 46.36 2920
+-75.08 46.36 2922
+-74.954 46.36 2924
+-74.828 46.36 3023
+-74.702 46.36 2979
+-74.576 46.36 3130
+-74.45 46.36 3131
+-74.324 46.36 3096
+-74.198 46.36 3097
+-74.072 46.36 3098
+-73.946 46.36 3099
+-73.82 46.36 3100
+-73.694 46.36 3101
+-73.568 46.36 3194
+-73.442 46.36 3190
+-73.316 46.36 3191
+-73.19 46.36 3192
+-73.064 46.36 3193
+-72.938 46.36 3138
+-72.812 46.36 3172
+-72.686 46.36 3173
+-72.56 46.36 3247
+-72.434 46.36 3160
+-72.308 46.36 3161
+-72.182 46.36 3162
+-72.056 46.36 3209
+-71.93 46.36 3164
+-71.804 46.36 3165
+-71.678 46.36 3166
+-71.552 46.36 3394
+-71.426 46.36 3341
+-71.3 46.36 3341
+-71.174 46.36 3473
+-71.048 46.36 3446
+-70.922 46.36 3446
+-70.796 46.36 3393
+-70.67 46.36 3466
+-70.544 46.36 3467
+-70.418 46.36 3467
+-70.292 46.36 3468
+-70.166 46.36 3468
+-70.04 46.36 3468
+-69.914 46.36 3468
+-69.788 46.36 3469
+-69.662 46.36 3458
+-69.536 46.36 3406
+-69.41 46.36 3400
+-69.284 46.36 3400
+-69.158 46.36 3401
+-69.032 46.36 3401
+-68.906 46.36 3402
+-68.78 46.36 3403
+-68.654 46.36 3403
+-68.528 46.36 3404
+-68.402 46.36 3404
+-68.276 46.36 3405
+-68.15 46.36 3405
+-68.024 46.36 3406
+-67.898 46.36 3406
+-67.772 46.36 3406
+-67.646 46.36 3407
+-67.52 46.36 3520
+-67.394 46.36 3520
+-67.268 46.36 3504
+-67.142 46.36 3505
+-67.016 46.36 3505
+-66.89 46.36 3505
+-66.764 46.36 3506
+-66.638 46.36 3506
+-66.512 46.36 3507
+-66.386 46.36 3507
+-66.26 46.36 3507
+-66.134 46.36 3508
+-66.008 46.36 3508
+-65.882 46.36 3549
+-65.756 46.36 3549
+-65.63 46.36 3549
+-65.504 46.36 3550
+-65.378 46.36 3550
+-65.252 46.36 3551
+-65.126 46.36 3508
+-128 46.308 4540
+-127.874 46.308 4605
+-127.748 46.308 4662
+-127.622 46.308 4676
+-127.496 46.308 4685
+-127.37 46.308 4788
+-127.244 46.308 4977
+-127.118 46.308 5149
+-126.992 46.308 5302
+-126.866 46.308 5399
+-126.74 46.308 5451
+-126.614 46.308 5553
+-126.488 46.308 5627
+-126.362 46.308 5750
+-126.236 46.308 5949
+-126.11 46.308 6112
+-125.984 46.308 6218
+-125.858 46.308 6334
+-125.732 46.308 6475
+-125.606 46.308 6672
+-125.48 46.308 6821
+-125.354 46.308 6935
+-125.228 46.308 7033
+-125.102 46.308 7130
+-124.976 46.308 7262
+-124.85 46.308 7385
+-124.724 46.308 7500
+-124.598 46.308 7641
+-124.472 46.308 7794
+-124.346 46.308 7934
+-124.22 46.308 8002
+-124.094 46.308 8166
+-123.968 46.308 8294
+-123.842 46.308 8384
+-123.716 46.308 8459
+-123.59 46.308 8544
+-123.464 46.308 8663
+-123.338 46.308 8735
+-123.212 46.308 8808
+-123.086 46.308 8843
+-122.96 46.308 8856
+-122.834 46.308 8835
+-122.708 46.308 8823
+-122.582 46.308 8750
+-122.456 46.308 8672
+-122.33 46.308 8568
+-122.204 46.308 8489
+-122.078 46.308 8381
+-121.952 46.308 8246
+-121.826 46.308 8158
+-121.7 46.308 7986
+-121.574 46.308 7894
+-121.448 46.308 7747
+-121.322 46.308 7650
+-121.196 46.308 7518
+-121.07 46.308 7420
+-120.944 46.308 7270
+-120.818 46.308 7109
+-120.692 46.308 6859
+-120.566 46.308 6927
+-120.44 46.308 7047
+-120.314 46.308 7195
+-120.188 46.308 7297
+-120.062 46.308 7435
+-119.936 46.308 7630
+-119.81 46.308 7697
+-119.684 46.308 7834
+-119.558 46.308 7993
+-119.432 46.308 8094
+-119.306 46.308 8199
+-119.18 46.308 8335
+-119.054 46.308 8457
+-118.928 46.308 8596
+-118.802 46.308 8719
+-118.676 46.308 8889
+-118.55 46.308 8912
+-118.424 46.308 9045
+-118.298 46.308 9037
+-118.172 46.308 8998
+-118.046 46.308 8917
+-117.92 46.308 8760
+-117.794 46.308 8663
+-117.668 46.308 8490
+-117.542 46.308 8388
+-117.416 46.308 8241
+-117.29 46.308 8152
+-117.164 46.308 8001
+-117.038 46.308 7862
+-116.912 46.308 7768
+-116.786 46.308 7597
+-116.66 46.308 7455
+-116.534 46.308 7291
+-116.408 46.308 7180
+-116.282 46.308 7105
+-116.156 46.308 6871
+-116.03 46.308 6815
+-115.904 46.308 6693
+-115.778 46.308 6527
+-115.652 46.308 6452
+-115.526 46.308 6311
+-115.4 46.308 6217
+-115.274 46.308 6014
+-115.148 46.308 5873
+-115.022 46.308 5700
+-114.896 46.308 5594
+-114.77 46.308 5577
+-114.644 46.308 5422
+-114.518 46.308 5306
+-114.392 46.308 5079
+-114.266 46.308 4916
+-114.14 46.308 4745
+-114.014 46.308 4628
+-113.888 46.308 4535
+-113.762 46.308 4450
+-113.636 46.308 4338
+-113.51 46.308 4199
+-113.384 46.308 4079
+-113.258 46.308 3894
+-113.132 46.308 3732
+-113.006 46.308 3595
+-112.88 46.308 3603
+-112.754 46.308 3490
+-112.628 46.308 3538
+-112.502 46.308 3629
+-112.376 46.308 3682
+-112.25 46.308 3723
+-112.124 46.308 3752
+-111.998 46.308 3774
+-111.872 46.308 3792
+-111.746 46.308 3807
+-111.62 46.308 3741
+-111.494 46.308 3749
+-111.368 46.308 3757
+-111.242 46.308 3764
+-111.116 46.308 3770
+-110.99 46.308 3775
+-110.864 46.308 3715
+-110.738 46.308 3715
+-110.612 46.308 3715
+-110.486 46.308 3600
+-110.36 46.308 3599
+-110.234 46.308 3598
+-110.108 46.308 3597
+-109.982 46.308 3558
+-109.856 46.308 3556
+-109.73 46.308 3554
+-109.604 46.308 3553
+-109.478 46.308 3551
+-109.352 46.308 3486
+-109.226 46.308 3484
+-109.1 46.308 3483
+-108.974 46.308 3482
+-108.848 46.308 3481
+-108.722 46.308 3438
+-108.596 46.308 3437
+-108.47 46.308 3435
+-108.344 46.308 3434
+-108.218 46.308 3433
+-108.092 46.308 3432
+-107.966 46.308 3364
+-107.84 46.308 3362
+-107.714 46.308 3360
+-107.588 46.308 3358
+-107.462 46.308 3357
+-107.336 46.308 3355
+-107.21 46.308 3354
+-107.084 46.308 3285
+-106.958 46.308 3283
+-106.832 46.308 3282
+-106.706 46.308 3281
+-106.58 46.308 3280
+-106.454 46.308 3276
+-106.328 46.308 3275
+-106.202 46.308 3198
+-106.076 46.308 3197
+-105.95 46.308 3196
+-105.824 46.308 3195
+-105.698 46.308 3194
+-105.572 46.308 3193
+-105.446 46.308 3192
+-105.32 46.308 3192
+-105.194 46.308 3191
+-105.068 46.308 3190
+-104.942 46.308 3189
+-104.816 46.308 3189
+-104.69 46.308 3188
+-104.564 46.308 3187
+-104.438 46.308 3187
+-104.312 46.308 2964
+-104.186 46.308 2960
+-104.06 46.308 2956
+-103.934 46.308 2951
+-103.808 46.308 2947
+-103.682 46.308 2942
+-103.556 46.308 2779
+-103.43 46.308 2782
+-103.304 46.308 2799
+-103.178 46.308 2750
+-103.052 46.308 2747
+-102.926 46.308 2821
+-102.8 46.308 2869
+-102.674 46.308 2941
+-102.548 46.308 3049
+-102.422 46.308 3165
+-102.296 46.308 3141
+-102.17 46.308 3296
+-102.044 46.308 3267
+-101.918 46.308 3316
+-101.792 46.308 3218
+-101.666 46.308 3242
+-101.54 46.308 3246
+-101.414 46.308 3224
+-101.288 46.308 3243
+-101.162 46.308 3243
+-101.036 46.308 3246
+-100.91 46.308 3268
+-100.784 46.308 3268
+-100.658 46.308 3268
+-100.532 46.308 3369
+-100.406 46.308 3369
+-100.28 46.308 3369
+-100.154 46.308 3329
+-100.028 46.308 3425
+-99.902 46.308 3434
+-99.776 46.308 3434
+-99.65 46.308 3431
+-99.524 46.308 3431
+-99.398 46.308 3402
+-99.272 46.308 3398
+-99.146 46.308 3321
+-99.02 46.308 3459
+-98.894 46.308 3474
+-98.768 46.308 3433
+-98.642 46.308 3433
+-98.516 46.308 3432
+-98.39 46.308 3446
+-98.264 46.308 3396
+-98.138 46.308 3405
+-98.012 46.308 3404
+-97.886 46.308 3399
+-97.76 46.308 3399
+-97.634 46.308 3398
+-97.508 46.308 3398
+-97.382 46.308 3203
+-97.256 46.308 3229
+-97.13 46.308 3226
+-97.004 46.308 3223
+-96.878 46.308 3206
+-96.752 46.308 3250
+-96.626 46.308 3222
+-96.5 46.308 3219
+-96.374 46.308 3198
+-96.248 46.308 3195
+-96.122 46.308 3117
+-95.996 46.308 3147
+-95.87 46.308 3142
+-95.744 46.308 3137
+-95.618 46.308 3131
+-95.492 46.308 3116
+-95.366 46.308 3110
+-95.24 46.308 3103
+-95.114 46.308 3096
+-94.988 46.308 3088
+-94.862 46.308 3011
+-94.736 46.308 2991
+-94.61 46.308 2965
+-94.484 46.308 2914
+-94.358 46.308 2894
+-94.232 46.308 2867
+-94.106 46.308 2854
+-93.98 46.308 2838
+-93.854 46.308 2812
+-93.728 46.308 2778
+-93.602 46.308 2760
+-93.476 46.308 2739
+-93.35 46.308 2716
+-93.224 46.308 2691
+-93.098 46.308 2663
+-92.972 46.308 2631
+-92.846 46.308 2596
+-92.72 46.308 2556
+-92.594 46.308 2512
+-92.468 46.308 2461
+-92.342 46.308 2404
+-92.216 46.308 2339
+-92.09 46.308 2266
+-91.964 46.308 2182
+-91.838 46.308 2089
+-91.712 46.308 1984
+-91.586 46.308 1855
+-91.46 46.308 1718
+-91.334 46.308 1602
+-91.208 46.308 1490
+-91.082 46.308 1396
+-90.956 46.308 1332
+-90.83 46.308 1310
+-90.704 46.308 1333
+-90.578 46.308 1400
+-90.452 46.308 1499
+-90.326 46.308 1617
+-90.2 46.308 1738
+-90.074 46.308 1854
+-89.948 46.308 1958
+-89.822 46.308 2033
+-89.696 46.308 2107
+-89.57 46.308 2169
+-89.444 46.308 2220
+-89.318 46.308 2262
+-89.192 46.308 2297
+-89.066 46.308 2325
+-88.94 46.308 2350
+-88.814 46.308 2370
+-88.688 46.308 2388
+-88.562 46.308 2403
+-88.436 46.308 2417
+-88.31 46.308 2430
+-88.184 46.308 2441
+-88.058 46.308 2451
+-87.932 46.308 2467
+-87.806 46.308 2476
+-87.68 46.308 2484
+-87.554 46.308 2491
+-87.428 46.308 2444
+-87.302 46.308 2449
+-87.176 46.308 2452
+-87.05 46.308 2456
+-86.924 46.308 2458
+-86.798 46.308 2460
+-86.672 46.308 2461
+-86.546 46.308 2462
+-86.42 46.308 2463
+-86.294 46.308 2463
+-86.168 46.308 2467
+-86.042 46.308 2478
+-85.916 46.308 2478
+-85.79 46.308 2478
+-85.664 46.308 2478
+-85.538 46.308 2496
+-85.412 46.308 2496
+-85.286 46.308 2495
+-85.16 46.308 2495
+-85.034 46.308 2500
+-84.908 46.308 2600
+-84.782 46.308 2599
+-84.656 46.308 2599
+-84.53 46.308 2602
+-84.404 46.308 2602
+-84.278 46.308 2605
+-84.152 46.308 2616
+-84.026 46.308 2606
+-83.9 46.308 2615
+-83.774 46.308 2616
+-83.648 46.308 2616
+-83.522 46.308 2618
+-83.396 46.308 2619
+-83.27 46.308 2620
+-83.144 46.308 2623
+-83.018 46.308 2692
+-82.892 46.308 2694
+-82.766 46.308 2696
+-82.64 46.308 2698
+-82.514 46.308 2711
+-82.388 46.308 2714
+-82.262 46.308 2705
+-82.136 46.308 2707
+-82.01 46.308 2710
+-81.884 46.308 2713
+-81.758 46.308 2693
+-81.632 46.308 2702
+-81.506 46.308 2705
+-81.38 46.308 2814
+-81.254 46.308 2785
+-81.128 46.308 2788
+-81.002 46.308 2900
+-80.876 46.308 2900
+-80.75 46.308 2872
+-80.624 46.308 2924
+-80.498 46.308 2835
+-80.372 46.308 2860
+-80.246 46.308 2908
+-80.12 46.308 2824
+-79.994 46.308 2832
+-79.868 46.308 2751
+-79.742 46.308 2749
+-79.616 46.308 2764
+-79.49 46.308 2742
+-79.364 46.308 2745
+-79.238 46.308 2748
+-79.112 46.308 2697
+-78.986 46.308 2733
+-78.86 46.308 2729
+-78.734 46.308 2721
+-78.608 46.308 2724
+-78.482 46.308 2727
+-78.356 46.308 2729
+-78.23 46.308 2679
+-78.104 46.308 2676
+-77.978 46.308 2679
+-77.852 46.308 2681
+-77.726 46.308 2683
+-77.6 46.308 2682
+-77.474 46.308 2631
+-77.348 46.308 2732
+-77.222 46.308 2730
+-77.096 46.308 2736
+-76.97 46.308 2738
+-76.844 46.308 2740
+-76.718 46.308 2742
+-76.592 46.308 2766
+-76.466 46.308 2747
+-76.34 46.308 2807
+-76.214 46.308 2809
+-76.088 46.308 2802
+-75.962 46.308 2810
+-75.836 46.308 2812
+-75.71 46.308 2814
+-75.584 46.308 2803
+-75.458 46.308 2917
+-75.332 46.308 2919
+-75.206 46.308 2921
+-75.08 46.308 2922
+-74.954 46.308 3022
+-74.828 46.308 2978
+-74.702 46.308 3129
+-74.576 46.308 3130
+-74.45 46.308 3095
+-74.324 46.308 3096
+-74.198 46.308 3097
+-74.072 46.308 3098
+-73.946 46.308 3099
+-73.82 46.308 3100
+-73.694 46.308 3193
+-73.568 46.308 3189
+-73.442 46.308 3190
+-73.316 46.308 3191
+-73.19 46.308 3192
+-73.064 46.308 3137
+-72.938 46.308 3171
+-72.812 46.308 3173
+-72.686 46.308 3246
+-72.56 46.308 3159
+-72.434 46.308 3160
+-72.308 46.308 3161
+-72.182 46.308 3208
+-72.056 46.308 3163
+-71.93 46.308 3164
+-71.804 46.308 3165
+-71.678 46.308 3393
+-71.552 46.308 3340
+-71.426 46.308 3341
+-71.3 46.308 3472
+-71.174 46.308 3445
+-71.048 46.308 3446
+-70.922 46.308 3392
+-70.796 46.308 3465
+-70.67 46.308 3466
+-70.544 46.308 3467
+-70.418 46.308 3467
+-70.292 46.308 3468
+-70.166 46.308 3467
+-70.04 46.308 3468
+-69.914 46.308 3469
+-69.788 46.308 3458
+-69.662 46.308 3405
+-69.536 46.308 3399
+-69.41 46.308 3400
+-69.284 46.308 3400
+-69.158 46.308 3401
+-69.032 46.308 3402
+-68.906 46.308 3402
+-68.78 46.308 3403
+-68.654 46.308 3403
+-68.528 46.308 3404
+-68.402 46.308 3404
+-68.276 46.308 3405
+-68.15 46.308 3405
+-68.024 46.308 3406
+-67.898 46.308 3406
+-67.772 46.308 3407
+-67.646 46.308 3519
+-67.52 46.308 3520
+-67.394 46.308 3504
+-67.268 46.308 3504
+-67.142 46.308 3505
+-67.016 46.308 3505
+-66.89 46.308 3505
+-66.764 46.308 3506
+-66.638 46.308 3506
+-66.512 46.308 3507
+-66.386 46.308 3507
+-66.26 46.308 3507
+-66.134 46.308 3508
+-66.008 46.308 3548
+-65.882 46.308 3549
+-65.756 46.308 3549
+-65.63 46.308 3550
+-65.504 46.308 3550
+-65.378 46.308 3551
+-65.252 46.308 3508
+-65.126 46.308 3508
+-128 46.256 4388
+-127.874 46.256 4495
+-127.748 46.256 4617
+-127.622 46.256 4629
+-127.496 46.256 4555
+-127.37 46.256 4737
+-127.244 46.256 4960
+-127.118 46.256 5124
+-126.992 46.256 5296
+-126.866 46.256 5400
+-126.74 46.256 5414
+-126.614 46.256 5485
+-126.488 46.256 5619
+-126.362 46.256 5782
+-126.236 46.256 5961
+-126.11 46.256 6068
+-125.984 46.256 6192
+-125.858 46.256 6324
+-125.732 46.256 6456
+-125.606 46.256 6598
+-125.48 46.256 6787
+-125.354 46.256 6817
+-125.228 46.256 7007
+-125.102 46.256 7134
+-124.976 46.256 7257
+-124.85 46.256 7324
+-124.724 46.256 7583
+-124.598 46.256 7602
+-124.472 46.256 7743
+-124.346 46.256 7892
+-124.22 46.256 8016
+-124.094 46.256 8107
+-123.968 46.256 8220
+-123.842 46.256 8357
+-123.716 46.256 8478
+-123.59 46.256 8554
+-123.464 46.256 8663
+-123.338 46.256 8704
+-123.212 46.256 8734
+-123.086 46.256 8787
+-122.96 46.256 8796
+-122.834 46.256 8792
+-122.708 46.256 8713
+-122.582 46.256 8656
+-122.456 46.256 8571
+-122.33 46.256 8515
+-122.204 46.256 8422
+-122.078 46.256 8360
+-121.952 46.256 8192
+-121.826 46.256 8115
+-121.7 46.256 8021
+-121.574 46.256 7863
+-121.448 46.256 7725
+-121.322 46.256 7587
+-121.196 46.256 7528
+-121.07 46.256 7433
+-120.944 46.256 7203
+-120.818 46.256 7073
+-120.692 46.256 6969
+-120.566 46.256 6902
+-120.44 46.256 7052
+-120.314 46.256 7204
+-120.188 46.256 7291
+-120.062 46.256 7451
+-119.936 46.256 7548
+-119.81 46.256 7708
+-119.684 46.256 7854
+-119.558 46.256 7944
+-119.432 46.256 8074
+-119.306 46.256 8249
+-119.18 46.256 8333
+-119.054 46.256 8445
+-118.928 46.256 8565
+-118.802 46.256 8748
+-118.676 46.256 8933
+-118.55 46.256 8933
+-118.424 46.256 9028
+-118.298 46.256 9025
+-118.172 46.256 8966
+-118.046 46.256 8866
+-117.92 46.256 8760
+-117.794 46.256 8662
+-117.668 46.256 8508
+-117.542 46.256 8338
+-117.416 46.256 8283
+-117.29 46.256 8137
+-117.164 46.256 8025
+-117.038 46.256 7901
+-116.912 46.256 7761
+-116.786 46.256 7611
+-116.66 46.256 7446
+-116.534 46.256 7320
+-116.408 46.256 7195
+-116.282 46.256 7132
+-116.156 46.256 6926
+-116.03 46.256 6804
+-115.904 46.256 6653
+-115.778 46.256 6522
+-115.652 46.256 6398
+-115.526 46.256 6334
+-115.4 46.256 6200
+-115.274 46.256 6012
+-115.148 46.256 5927
+-115.022 46.256 5790
+-114.896 46.256 5713
+-114.77 46.256 5624
+-114.644 46.256 5504
+-114.518 46.256 5338
+-114.392 46.256 5109
+-114.266 46.256 4904
+-114.14 46.256 4727
+-114.014 46.256 4699
+-113.888 46.256 4474
+-113.762 46.256 4456
+-113.636 46.256 4335
+-113.51 46.256 4179
+-113.384 46.256 4030
+-113.258 46.256 3828
+-113.132 46.256 3695
+-113.006 46.256 3687
+-112.88 46.256 3651
+-112.754 46.256 3622
+-112.628 46.256 3630
+-112.502 46.256 3665
+-112.376 46.256 3702
+-112.25 46.256 3721
+-112.124 46.256 3745
+-111.998 46.256 3764
+-111.872 46.256 3749
+-111.746 46.256 3761
+-111.62 46.256 3772
+-111.494 46.256 3737
+-111.368 46.256 3745
+-111.242 46.256 3753
+-111.116 46.256 3745
+-110.99 46.256 3701
+-110.864 46.256 3680
+-110.738 46.256 3679
+-110.612 46.256 3590
+-110.486 46.256 3589
+-110.36 46.256 3588
+-110.234 46.256 3588
+-110.108 46.256 3588
+-109.982 46.256 3587
+-109.856 46.256 3548
+-109.73 46.256 3546
+-109.604 46.256 3545
+-109.478 46.256 3481
+-109.352 46.256 3479
+-109.226 46.256 3478
+-109.1 46.256 3477
+-108.974 46.256 3477
+-108.848 46.256 3476
+-108.722 46.256 3475
+-108.596 46.256 3433
+-108.47 46.256 3432
+-108.344 46.256 3431
+-108.218 46.256 3430
+-108.092 46.256 3429
+-107.966 46.256 3428
+-107.84 46.256 3428
+-107.714 46.256 3427
+-107.588 46.256 3426
+-107.462 46.256 3426
+-107.336 46.256 3355
+-107.21 46.256 3353
+-107.084 46.256 3352
+-106.958 46.256 3282
+-106.832 46.256 3280
+-106.706 46.256 3279
+-106.58 46.256 3278
+-106.454 46.256 3277
+-106.328 46.256 3200
+-106.202 46.256 3199
+-106.076 46.256 3198
+-105.95 46.256 3197
+-105.824 46.256 3196
+-105.698 46.256 3195
+-105.572 46.256 3194
+-105.446 46.256 3193
+-105.32 46.256 3192
+-105.194 46.256 3192
+-105.068 46.256 3191
+-104.942 46.256 3190
+-104.816 46.256 3190
+-104.69 46.256 3189
+-104.564 46.256 3188
+-104.438 46.256 3188
+-104.312 46.256 2964
+-104.186 46.256 2959
+-104.06 46.256 2955
+-103.934 46.256 2951
+-103.808 46.256 2946
+-103.682 46.256 2942
+-103.556 46.256 2779
+-103.43 46.256 2778
+-103.304 46.256 2744
+-103.178 46.256 2744
+-103.052 46.256 2748
+-102.926 46.256 2823
+-102.8 46.256 2871
+-102.674 46.256 2943
+-102.548 46.256 3021
+-102.422 46.256 3165
+-102.296 46.256 3141
+-102.17 46.256 3261
+-102.044 46.256 3295
+-101.918 46.256 3265
+-101.792 46.256 3314
+-101.666 46.256 3217
+-101.54 46.256 3241
+-101.414 46.256 3245
+-101.288 46.256 3223
+-101.162 46.256 3242
+-101.036 46.256 3242
+-100.91 46.256 3245
+-100.784 46.256 3267
+-100.658 46.256 3267
+-100.532 46.256 3267
+-100.406 46.256 3367
+-100.28 46.256 3367
+-100.154 46.256 3367
+-100.028 46.256 3328
+-99.902 46.256 3424
+-99.776 46.256 3433
+-99.65 46.256 3432
+-99.524 46.256 3430
+-99.398 46.256 3430
+-99.272 46.256 3401
+-99.146 46.256 3397
+-99.02 46.256 3321
+-98.894 46.256 3458
+-98.768 46.256 3473
+-98.642 46.256 3432
+-98.516 46.256 3432
+-98.39 46.256 3431
+-98.264 46.256 3445
+-98.138 46.256 3395
+-98.012 46.256 3404
+-97.886 46.256 3398
+-97.76 46.256 3398
+-97.634 46.256 3398
+-97.508 46.256 3397
+-97.382 46.256 3397
+-97.256 46.256 3203
+-97.13 46.256 3229
+-97.004 46.256 3226
+-96.878 46.256 3223
+-96.752 46.256 3206
+-96.626 46.256 3250
+-96.5 46.256 3222
+-96.374 46.256 3218
+-96.248 46.256 3198
+-96.122 46.256 3194
+-95.996 46.256 3117
+-95.87 46.256 3146
+-95.744 46.256 3141
+-95.618 46.256 3136
+-95.492 46.256 3130
+-95.366 46.256 3115
+-95.24 46.256 3108
+-95.114 46.256 3102
+-94.988 46.256 3094
+-94.862 46.256 3086
+-94.736 46.256 3010
+-94.61 46.256 2989
+-94.484 46.256 2962
+-94.358 46.256 2911
+-94.232 46.256 2890
+-94.106 46.256 2863
+-93.98 46.256 2850
+-93.854 46.256 2833
+-93.728 46.256 2806
+-93.602 46.256 2771
+-93.476 46.256 2751
+-93.35 46.256 2729
+-93.224 46.256 2704
+-93.098 46.256 2677
+-92.972 46.256 2646
+-92.846 46.256 2612
+-92.72 46.256 2573
+-92.594 46.256 2530
+-92.468 46.256 2481
+-92.342 46.256 2425
+-92.216 46.256 2361
+-92.09 46.256 2289
+-91.964 46.256 2208
+-91.838 46.256 2115
+-91.712 46.256 2012
+-91.586 46.256 1884
+-91.46 46.256 1765
+-91.334 46.256 1629
+-91.208 46.256 1518
+-91.082 46.256 1422
+-90.956 46.256 1357
+-90.83 46.256 1334
+-90.704 46.256 1358
+-90.578 46.256 1427
+-90.452 46.256 1528
+-90.326 46.256 1647
+-90.2 46.256 1768
+-90.074 46.256 1883
+-89.948 46.256 1985
+-89.822 46.256 2056
+-89.696 46.256 2127
+-89.57 46.256 2186
+-89.444 46.256 2234
+-89.318 46.256 2273
+-89.192 46.256 2305
+-89.066 46.256 2331
+-88.94 46.256 2353
+-88.814 46.256 2372
+-88.688 46.256 2388
+-88.562 46.256 2403
+-88.436 46.256 2416
+-88.31 46.256 2428
+-88.184 46.256 2439
+-88.058 46.256 2455
+-87.932 46.256 2465
+-87.806 46.256 2473
+-87.68 46.256 2481
+-87.554 46.256 2439
+-87.428 46.256 2444
+-87.302 46.256 2448
+-87.176 46.256 2452
+-87.05 46.256 2455
+-86.924 46.256 2457
+-86.798 46.256 2459
+-86.672 46.256 2460
+-86.546 46.256 2460
+-86.42 46.256 2461
+-86.294 46.256 2465
+-86.168 46.256 2476
+-86.042 46.256 2476
+-85.916 46.256 2476
+-85.79 46.256 2475
+-85.664 46.256 2493
+-85.538 46.256 2493
+-85.412 46.256 2492
+-85.286 46.256 2492
+-85.16 46.256 2496
+-85.034 46.256 2595
+-84.908 46.256 2594
+-84.782 46.256 2593
+-84.656 46.256 2597
+-84.53 46.256 2596
+-84.404 46.256 2599
+-84.278 46.256 2610
+-84.152 46.256 2600
+-84.026 46.256 2609
+-83.9 46.256 2609
+-83.774 46.256 2610
+-83.648 46.256 2612
+-83.522 46.256 2613
+-83.396 46.256 2614
+-83.27 46.256 2617
+-83.144 46.256 2685
+-83.018 46.256 2687
+-82.892 46.256 2689
+-82.766 46.256 2691
+-82.64 46.256 2705
+-82.514 46.256 2707
+-82.388 46.256 2699
+-82.262 46.256 2701
+-82.136 46.256 2704
+-82.01 46.256 2707
+-81.884 46.256 2688
+-81.758 46.256 2697
+-81.632 46.256 2700
+-81.506 46.256 2808
+-81.38 46.256 2779
+-81.254 46.256 2782
+-81.128 46.256 2893
+-81.002 46.256 2894
+-80.876 46.256 2866
+-80.75 46.256 2917
+-80.624 46.256 2829
+-80.498 46.256 2855
+-80.372 46.256 2902
+-80.246 46.256 2819
+-80.12 46.256 2827
+-79.994 46.256 2746
+-79.868 46.256 2745
+-79.742 46.256 2760
+-79.616 46.256 2739
+-79.49 46.256 2742
+-79.364 46.256 2745
+-79.238 46.256 2694
+-79.112 46.256 2730
+-78.986 46.256 2725
+-78.86 46.256 2718
+-78.734 46.256 2721
+-78.608 46.256 2724
+-78.482 46.256 2727
+-78.356 46.256 2677
+-78.23 46.256 2674
+-78.104 46.256 2677
+-77.978 46.256 2679
+-77.852 46.256 2681
+-77.726 46.256 2680
+-77.6 46.256 2630
+-77.474 46.256 2730
+-77.348 46.256 2728
+-77.222 46.256 2735
+-77.096 46.256 2737
+-76.97 46.256 2739
+-76.844 46.256 2741
+-76.718 46.256 2764
+-76.592 46.256 2745
+-76.466 46.256 2806
+-76.34 46.256 2808
+-76.214 46.256 2800
+-76.088 46.256 2808
+-75.962 46.256 2810
+-75.836 46.256 2812
+-75.71 46.256 2802
+-75.584 46.256 2916
+-75.458 46.256 2918
+-75.332 46.256 2919
+-75.206 46.256 2921
+-75.08 46.256 3021
+-74.954 46.256 2977
+-74.828 46.256 3128
+-74.702 46.256 3129
+-74.576 46.256 3094
+-74.45 46.256 3095
+-74.324 46.256 3096
+-74.198 46.256 3097
+-74.072 46.256 3098
+-73.946 46.256 3099
+-73.82 46.256 3192
+-73.694 46.256 3188
+-73.568 46.256 3189
+-73.442 46.256 3190
+-73.316 46.256 3191
+-73.19 46.256 3136
+-73.064 46.256 3171
+-72.938 46.256 3172
+-72.812 46.256 3245
+-72.686 46.256 3158
+-72.56 46.256 3159
+-72.434 46.256 3160
+-72.308 46.256 3207
+-72.182 46.256 3162
+-72.056 46.256 3163
+-71.93 46.256 3165
+-71.804 46.256 3393
+-71.678 46.256 3339
+-71.552 46.256 3340
+-71.426 46.256 3471
+-71.3 46.256 3444
+-71.174 46.256 3445
+-71.048 46.256 3392
+-70.922 46.256 3464
+-70.796 46.256 3465
+-70.67 46.256 3466
+-70.544 46.256 3467
+-70.418 46.256 3467
+-70.292 46.256 3467
+-70.166 46.256 3467
+-70.04 46.256 3468
+-69.914 46.256 3457
+-69.788 46.256 3405
+-69.662 46.256 3399
+-69.536 46.256 3399
+-69.41 46.256 3400
+-69.284 46.256 3401
+-69.158 46.256 3401
+-69.032 46.256 3402
+-68.906 46.256 3402
+-68.78 46.256 3403
+-68.654 46.256 3403
+-68.528 46.256 3404
+-68.402 46.256 3404
+-68.276 46.256 3405
+-68.15 46.256 3405
+-68.024 46.256 3406
+-67.898 46.256 3406
+-67.772 46.256 3519
+-67.646 46.256 3519
+-67.52 46.256 3504
+-67.394 46.256 3504
+-67.268 46.256 3504
+-67.142 46.256 3505
+-67.016 46.256 3505
+-66.89 46.256 3506
+-66.764 46.256 3506
+-66.638 46.256 3506
+-66.512 46.256 3507
+-66.386 46.256 3507
+-66.26 46.256 3507
+-66.134 46.256 3548
+-66.008 46.256 3548
+-65.882 46.256 3549
+-65.756 46.256 3549
+-65.63 46.256 3550
+-65.504 46.256 3550
+-65.378 46.256 3508
+-65.252 46.256 3508
+-65.126 46.256 3509
+-128 46.204 4151
+-127.874 46.204 4320
+-127.748 46.204 4561
+-127.622 46.204 4660
+-127.496 46.204 4677
+-127.37 46.204 4799
+-127.244 46.204 4937
+-127.118 46.204 5068
+-126.992 46.204 5261
+-126.866 46.204 5387
+-126.74 46.204 5460
+-126.614 46.204 5537
+-126.488 46.204 5645
+-126.362 46.204 5804
+-126.236 46.204 5969
+-126.11 46.204 6016
+-125.984 46.204 6112
+-125.858 46.204 6361
+-125.732 46.204 6434
+-125.606 46.204 6539
+-125.48 46.204 6709
+-125.354 46.204 6818
+-125.228 46.204 6979
+-125.102 46.204 7099
+-124.976 46.204 7261
+-124.85 46.204 7359
+-124.724 46.204 7528
+-124.598 46.204 7584
+-124.472 46.204 7712
+-124.346 46.204 7845
+-124.22 46.204 8026
+-124.094 46.204 8078
+-123.968 46.204 8191
+-123.842 46.204 8364
+-123.716 46.204 8359
+-123.59 46.204 8492
+-123.464 46.204 8545
+-123.338 46.204 8632
+-123.212 46.204 8692
+-123.086 46.204 8719
+-122.96 46.204 8731
+-122.834 46.204 8723
+-122.708 46.204 8686
+-122.582 46.204 8634
+-122.456 46.204 8568
+-122.33 46.204 8483
+-122.204 46.204 8384
+-122.078 46.204 8307
+-121.952 46.204 8176
+-121.826 46.204 8135
+-121.7 46.204 7940
+-121.574 46.204 7839
+-121.448 46.204 7775
+-121.322 46.204 7570
+-121.196 46.204 7517
+-121.07 46.204 7380
+-120.944 46.204 7211
+-120.818 46.204 7097
+-120.692 46.204 6791
+-120.566 46.204 6950
+-120.44 46.204 7000
+-120.314 46.204 7162
+-120.188 46.204 7291
+-120.062 46.204 7499
+-119.936 46.204 7536
+-119.81 46.204 7703
+-119.684 46.204 7839
+-119.558 46.204 8019
+-119.432 46.204 8105
+-119.306 46.204 8259
+-119.18 46.204 8428
+-119.054 46.204 8501
+-118.928 46.204 8614
+-118.802 46.204 8704
+-118.676 46.204 8848
+-118.55 46.204 8980
+-118.424 46.204 9122
+-118.298 46.204 9079
+-118.172 46.204 9078
+-118.046 46.204 8901
+-117.92 46.204 8794
+-117.794 46.204 8642
+-117.668 46.204 8550
+-117.542 46.204 8386
+-117.416 46.204 8301
+-117.29 46.204 8150
+-117.164 46.204 8035
+-117.038 46.204 7924
+-116.912 46.204 7761
+-116.786 46.204 7584
+-116.66 46.204 7432
+-116.534 46.204 7331
+-116.408 46.204 7226
+-116.282 46.204 7103
+-116.156 46.204 6960
+-116.03 46.204 6857
+-115.904 46.204 6696
+-115.778 46.204 6603
+-115.652 46.204 6439
+-115.526 46.204 6267
+-115.4 46.204 6148
+-115.274 46.204 6041
+-115.148 46.204 5854
+-115.022 46.204 5807
+-114.896 46.204 5707
+-114.77 46.204 5634
+-114.644 46.204 5514
+-114.518 46.204 5360
+-114.392 46.204 5162
+-114.266 46.204 4906
+-114.14 46.204 4732
+-114.014 46.204 4628
+-113.888 46.204 4540
+-113.762 46.204 4450
+-113.636 46.204 4302
+-113.51 46.204 4143
+-113.384 46.204 4015
+-113.258 46.204 3871
+-113.132 46.204 3769
+-113.006 46.204 3690
+-112.88 46.204 3583
+-112.754 46.204 3608
+-112.628 46.204 3651
+-112.502 46.204 3683
+-112.376 46.204 3708
+-112.25 46.204 3730
+-112.124 46.204 3740
+-111.998 46.204 3740
+-111.872 46.204 3744
+-111.746 46.204 3749
+-111.62 46.204 3720
+-111.494 46.204 3731
+-111.368 46.204 3734
+-111.242 46.204 3728
+-111.116 46.204 3666
+-110.99 46.204 3667
+-110.864 46.204 3667
+-110.738 46.204 3579
+-110.612 46.204 3578
+-110.486 46.204 3578
+-110.36 46.204 3578
+-110.234 46.204 3578
+-110.108 46.204 3577
+-109.982 46.204 3578
+-109.856 46.204 3578
+-109.73 46.204 3538
+-109.604 46.204 3475
+-109.478 46.204 3469
+-109.352 46.204 3468
+-109.226 46.204 3467
+-109.1 46.204 3466
+-108.974 46.204 3465
+-108.848 46.204 3465
+-108.722 46.204 3465
+-108.596 46.204 3464
+-108.47 46.204 3464
+-108.344 46.204 3464
+-108.218 46.204 3464
+-108.092 46.204 3426
+-107.966 46.204 3426
+-107.84 46.204 3425
+-107.714 46.204 3425
+-107.588 46.204 3424
+-107.462 46.204 3424
+-107.336 46.204 3423
+-107.21 46.204 3423
+-107.084 46.204 3283
+-106.958 46.204 3282
+-106.832 46.204 3280
+-106.706 46.204 3279
+-106.58 46.204 3278
+-106.454 46.204 3202
+-106.328 46.204 3201
+-106.202 46.204 3200
+-106.076 46.204 3199
+-105.95 46.204 3198
+-105.824 46.204 3197
+-105.698 46.204 3196
+-105.572 46.204 3195
+-105.446 46.204 3194
+-105.32 46.204 3193
+-105.194 46.204 3193
+-105.068 46.204 3192
+-104.942 46.204 3191
+-104.816 46.204 3190
+-104.69 46.204 3190
+-104.564 46.204 3189
+-104.438 46.204 3189
+-104.312 46.204 2943
+-104.186 46.204 2959
+-104.06 46.204 2954
+-103.934 46.204 2950
+-103.808 46.204 2945
+-103.682 46.204 2802
+-103.556 46.204 2779
+-103.43 46.204 2778
+-103.304 46.204 2745
+-103.178 46.204 2745
+-103.052 46.204 2749
+-102.926 46.204 2825
+-102.8 46.204 2873
+-102.674 46.204 2945
+-102.548 46.204 3022
+-102.422 46.204 3131
+-102.296 46.204 3118
+-102.17 46.204 3260
+-102.044 46.204 3260
+-101.918 46.204 3293
+-101.792 46.204 3264
+-101.666 46.204 3313
+-101.54 46.204 3216
+-101.414 46.204 3240
+-101.288 46.204 3244
+-101.162 46.204 3222
+-101.036 46.204 3241
+-100.91 46.204 3241
+-100.784 46.204 3244
+-100.658 46.204 3265
+-100.532 46.204 3266
+-100.406 46.204 3266
+-100.28 46.204 3366
+-100.154 46.204 3366
+-100.028 46.204 3366
+-99.902 46.204 3327
+-99.776 46.204 3423
+-99.65 46.204 3431
+-99.524 46.204 3431
+-99.398 46.204 3428
+-99.272 46.204 3428
+-99.146 46.204 3399
+-99.02 46.204 3396
+-98.894 46.204 3320
+-98.768 46.204 3457
+-98.642 46.204 3472
+-98.516 46.204 3431
+-98.39 46.204 3431
+-98.264 46.204 3430
+-98.138 46.204 3444
+-98.012 46.204 3394
+-97.886 46.204 3402
+-97.76 46.204 3402
+-97.634 46.204 3397
+-97.508 46.204 3396
+-97.382 46.204 3396
+-97.256 46.204 3395
+-97.13 46.204 3203
+-97.004 46.204 3229
+-96.878 46.204 3226
+-96.752 46.204 3223
+-96.626 46.204 3206
+-96.5 46.204 3250
+-96.374 46.204 3222
+-96.248 46.204 3218
+-96.122 46.204 3198
+-95.996 46.204 3194
+-95.87 46.204 3117
+-95.744 46.204 3146
+-95.618 46.204 3141
+-95.492 46.204 3135
+-95.366 46.204 3129
+-95.24 46.204 3114
+-95.114 46.204 3107
+-94.988 46.204 3100
+-94.862 46.204 3093
+-94.736 46.204 3084
+-94.61 46.204 3008
+-94.484 46.204 2987
+-94.358 46.204 2960
+-94.232 46.204 2909
+-94.106 46.204 2888
+-93.98 46.204 2860
+-93.854 46.204 2845
+-93.728 46.204 2828
+-93.602 46.204 2800
+-93.476 46.204 2764
+-93.35 46.204 2743
+-93.224 46.204 2719
+-93.098 46.204 2693
+-92.972 46.204 2663
+-92.846 46.204 2630
+-92.72 46.204 2593
+-92.594 46.204 2552
+-92.468 46.204 2504
+-92.342 46.204 2451
+-92.216 46.204 2390
+-92.09 46.204 2321
+-91.964 46.204 2243
+-91.838 46.204 2155
+-91.712 46.204 2057
+-91.586 46.204 1949
+-91.46 46.204 1820
+-91.334 46.204 1704
+-91.208 46.204 1582
+-91.082 46.204 1492
+-90.956 46.204 1430
+-90.83 46.204 1408
+-90.704 46.204 1432
+-90.578 46.204 1498
+-90.452 46.204 1595
+-90.326 46.204 1707
+-90.2 46.204 1822
+-90.074 46.204 1929
+-89.948 46.204 2024
+-89.822 46.204 2089
+-89.696 46.204 2154
+-89.57 46.204 2207
+-89.444 46.204 2250
+-89.318 46.204 2285
+-89.192 46.204 2313
+-89.066 46.204 2336
+-88.94 46.204 2356
+-88.814 46.204 2373
+-88.688 46.204 2388
+-88.562 46.204 2401
+-88.436 46.204 2414
+-88.31 46.204 2426
+-88.184 46.204 2442
+-88.058 46.204 2452
+-87.932 46.204 2462
+-87.806 46.204 2471
+-87.68 46.204 2432
+-87.554 46.204 2438
+-87.428 46.204 2443
+-87.302 46.204 2447
+-87.176 46.204 2451
+-87.05 46.204 2454
+-86.924 46.204 2456
+-86.798 46.204 2457
+-86.672 46.204 2458
+-86.546 46.204 2459
+-86.42 46.204 2462
+-86.294 46.204 2474
+-86.168 46.204 2474
+-86.042 46.204 2473
+-85.916 46.204 2473
+-85.79 46.204 2490
+-85.664 46.204 2490
+-85.538 46.204 2490
+-85.412 46.204 2489
+-85.286 46.204 2493
+-85.16 46.204 2589
+-85.034 46.204 2588
+-84.908 46.204 2588
+-84.782 46.204 2591
+-84.656 46.204 2590
+-84.53 46.204 2593
+-84.404 46.204 2603
+-84.278 46.204 2594
+-84.152 46.204 2602
+-84.026 46.204 2603
+-83.9 46.204 2604
+-83.774 46.204 2605
+-83.648 46.204 2607
+-83.522 46.204 2608
+-83.396 46.204 2611
+-83.27 46.204 2678
+-83.144 46.204 2680
+-83.018 46.204 2682
+-82.892 46.204 2685
+-82.766 46.204 2697
+-82.64 46.204 2700
+-82.514 46.204 2692
+-82.388 46.204 2695
+-82.262 46.204 2698
+-82.136 46.204 2700
+-82.01 46.204 2682
+-81.884 46.204 2691
+-81.758 46.204 2694
+-81.632 46.204 2801
+-81.506 46.204 2773
+-81.38 46.204 2776
+-81.254 46.204 2886
+-81.128 46.204 2887
+-81.002 46.204 2860
+-80.876 46.204 2910
+-80.75 46.204 2824
+-80.624 46.204 2849
+-80.498 46.204 2896
+-80.372 46.204 2814
+-80.246 46.204 2821
+-80.12 46.204 2742
+-79.994 46.204 2741
+-79.868 46.204 2755
+-79.742 46.204 2735
+-79.616 46.204 2738
+-79.49 46.204 2741
+-79.364 46.204 2691
+-79.238 46.204 2726
+-79.112 46.204 2722
+-78.986 46.204 2715
+-78.86 46.204 2718
+-78.734 46.204 2721
+-78.608 46.204 2724
+-78.482 46.204 2675
+-78.356 46.204 2672
+-78.23 46.204 2675
+-78.104 46.204 2677
+-77.978 46.204 2680
+-77.852 46.204 2678
+-77.726 46.204 2628
+-77.6 46.204 2729
+-77.474 46.204 2726
+-77.348 46.204 2733
+-77.222 46.204 2735
+-77.096 46.204 2737
+-76.97 46.204 2739
+-76.844 46.204 2763
+-76.718 46.204 2744
+-76.592 46.204 2804
+-76.466 46.204 2806
+-76.34 46.204 2799
+-76.214 46.204 2807
+-76.088 46.204 2809
+-75.962 46.204 2811
+-75.836 46.204 2801
+-75.71 46.204 2914
+-75.584 46.204 2916
+-75.458 46.204 2918
+-75.332 46.204 2920
+-75.206 46.204 3020
+-75.08 46.204 2976
+-74.954 46.204 3127
+-74.828 46.204 3128
+-74.702 46.204 3094
+-74.576 46.204 3095
+-74.45 46.204 3096
+-74.324 46.204 3097
+-74.198 46.204 3098
+-74.072 46.204 3098
+-73.946 46.204 3191
+-73.82 46.204 3187
+-73.694 46.204 3188
+-73.568 46.204 3189
+-73.442 46.204 3190
+-73.316 46.204 3135
+-73.19 46.204 3170
+-73.064 46.204 3171
+-72.938 46.204 3244
+-72.812 46.204 3157
+-72.686 46.204 3158
+-72.56 46.204 3159
+-72.434 46.204 3206
+-72.308 46.204 3161
+-72.182 46.204 3163
+-72.056 46.204 3164
+-71.93 46.204 3392
+-71.804 46.204 3339
+-71.678 46.204 3339
+-71.552 46.204 3470
+-71.426 46.204 3444
+-71.3 46.204 3444
+-71.174 46.204 3391
+-71.048 46.204 3464
+-70.922 46.204 3465
+-70.796 46.204 3466
+-70.67 46.204 3466
+-70.544 46.204 3467
+-70.418 46.204 3466
+-70.292 46.204 3467
+-70.166 46.204 3468
+-70.04 46.204 3457
+-69.914 46.204 3404
+-69.788 46.204 3398
+-69.662 46.204 3399
+-69.536 46.204 3400
+-69.41 46.204 3400
+-69.284 46.204 3401
+-69.158 46.204 3401
+-69.032 46.204 3402
+-68.906 46.204 3402
+-68.78 46.204 3403
+-68.654 46.204 3403
+-68.528 46.204 3404
+-68.402 46.204 3404
+-68.276 46.204 3405
+-68.15 46.204 3405
+-68.024 46.204 3406
+-67.898 46.204 3519
+-67.772 46.204 3519
+-67.646 46.204 3503
+-67.52 46.204 3504
+-67.394 46.204 3504
+-67.268 46.204 3504
+-67.142 46.204 3505
+-67.016 46.204 3505
+-66.89 46.204 3506
+-66.764 46.204 3506
+-66.638 46.204 3506
+-66.512 46.204 3507
+-66.386 46.204 3507
+-66.26 46.204 3547
+-66.134 46.204 3548
+-66.008 46.204 3548
+-65.882 46.204 3549
+-65.756 46.204 3549
+-65.63 46.204 3550
+-65.504 46.204 3507
+-65.378 46.204 3508
+-65.252 46.204 3508
+-65.126 46.204 3509
+-128 46.152 3971
+-127.874 46.152 4194
+-127.748 46.152 4519
+-127.622 46.152 4679
+-127.496 46.152 4765
+-127.37 46.152 4839
+-127.244 46.152 4875
+-127.118 46.152 4996
+-126.992 46.152 5202
+-126.866 46.152 5361
+-126.74 46.152 5483
+-126.614 46.152 5523
+-126.488 46.152 5642
+-126.362 46.152 5788
+-126.236 46.152 5939
+-126.11 46.152 6085
+-125.984 46.152 6165
+-125.858 46.152 6268
+-125.732 46.152 6405
+-125.606 46.152 6575
+-125.48 46.152 6665
+-125.354 46.152 6802
+-125.228 46.152 6950
+-125.102 46.152 7150
+-124.976 46.152 7256
+-124.85 46.152 7362
+-124.724 46.152 7470
+-124.598 46.152 7650
+-124.472 46.152 7743
+-124.346 46.152 7777
+-124.22 46.152 7966
+-124.094 46.152 8038
+-123.968 46.152 8157
+-123.842 46.152 8256
+-123.716 46.152 8349
+-123.59 46.152 8442
+-123.464 46.152 8517
+-123.338 46.152 8576
+-123.212 46.152 8616
+-123.086 46.152 8672
+-122.96 46.152 8710
+-122.834 46.152 8701
+-122.708 46.152 8663
+-122.582 46.152 8592
+-122.456 46.152 8522
+-122.33 46.152 8485
+-122.204 46.152 8351
+-122.078 46.152 8287
+-121.952 46.152 8125
+-121.826 46.152 8042
+-121.7 46.152 7946
+-121.574 46.152 7786
+-121.448 46.152 7737
+-121.322 46.152 7596
+-121.196 46.152 7510
+-121.07 46.152 7360
+-120.944 46.152 7258
+-120.818 46.152 7041
+-120.692 46.152 6847
+-120.566 46.152 6909
+-120.44 46.152 7020
+-120.314 46.152 7174
+-120.188 46.152 7311
+-120.062 46.152 7464
+-119.936 46.152 7579
+-119.81 46.152 7656
+-119.684 46.152 7849
+-119.558 46.152 7992
+-119.432 46.152 8162
+-119.306 46.152 8251
+-119.18 46.152 8408
+-119.054 46.152 8487
+-118.928 46.152 8645
+-118.802 46.152 8740
+-118.676 46.152 8866
+-118.55 46.152 9007
+-118.424 46.152 9150
+-118.298 46.152 9179
+-118.172 46.152 9031
+-118.046 46.152 8997
+-117.92 46.152 8776
+-117.794 46.152 8678
+-117.668 46.152 8568
+-117.542 46.152 8390
+-117.416 46.152 8267
+-117.29 46.152 8128
+-117.164 46.152 7979
+-117.038 46.152 7862
+-116.912 46.152 7747
+-116.786 46.152 7616
+-116.66 46.152 7508
+-116.534 46.152 7338
+-116.408 46.152 7251
+-116.282 46.152 7083
+-116.156 46.152 6999
+-116.03 46.152 6848
+-115.904 46.152 6733
+-115.778 46.152 6648
+-115.652 46.152 6499
+-115.526 46.152 6319
+-115.4 46.152 6112
+-115.274 46.152 5974
+-115.148 46.152 5872
+-115.022 46.152 5770
+-114.896 46.152 5626
+-114.77 46.152 5639
+-114.644 46.152 5521
+-114.518 46.152 5335
+-114.392 46.152 5159
+-114.266 46.152 4949
+-114.14 46.152 4773
+-114.014 46.152 4604
+-113.888 46.152 4524
+-113.762 46.152 4459
+-113.636 46.152 4290
+-113.51 46.152 4122
+-113.384 46.152 4002
+-113.258 46.152 3894
+-113.132 46.152 3815
+-113.006 46.152 3641
+-112.88 46.152 3407
+-112.754 46.152 3552
+-112.628 46.152 3651
+-112.502 46.152 3688
+-112.376 46.152 3706
+-112.25 46.152 3723
+-112.124 46.152 3716
+-111.998 46.152 3731
+-111.872 46.152 3747
+-111.746 46.152 3761
+-111.62 46.152 3707
+-111.494 46.152 3719
+-111.368 46.152 3709
+-111.242 46.152 3650
+-111.116 46.152 3652
+-110.99 46.152 3652
+-110.864 46.152 3652
+-110.738 46.152 3652
+-110.612 46.152 3566
+-110.486 46.152 3566
+-110.36 46.152 3566
+-110.234 46.152 3567
+-110.108 46.152 3567
+-109.982 46.152 3567
+-109.856 46.152 3568
+-109.73 46.152 3568
+-109.604 46.152 3529
+-109.478 46.152 3462
+-109.352 46.152 3461
+-109.226 46.152 3460
+-109.1 46.152 3460
+-108.974 46.152 3460
+-108.848 46.152 3459
+-108.722 46.152 3459
+-108.596 46.152 3459
+-108.47 46.152 3459
+-108.344 46.152 3460
+-108.218 46.152 3460
+-108.092 46.152 3460
+-107.966 46.152 3460
+-107.84 46.152 3461
+-107.714 46.152 3461
+-107.588 46.152 3462
+-107.462 46.152 3462
+-107.336 46.152 3462
+-107.21 46.152 3284
+-107.084 46.152 3283
+-106.958 46.152 3282
+-106.832 46.152 3280
+-106.706 46.152 3279
+-106.58 46.152 3204
+-106.454 46.152 3203
+-106.328 46.152 3202
+-106.202 46.152 3201
+-106.076 46.152 3200
+-105.95 46.152 3199
+-105.824 46.152 3198
+-105.698 46.152 3197
+-105.572 46.152 3196
+-105.446 46.152 3195
+-105.32 46.152 3194
+-105.194 46.152 3193
+-105.068 46.152 3193
+-104.942 46.152 3192
+-104.816 46.152 3191
+-104.69 46.152 3191
+-104.564 46.152 3190
+-104.438 46.152 3190
+-104.312 46.152 2942
+-104.186 46.152 2958
+-104.06 46.152 2953
+-103.934 46.152 2949
+-103.808 46.152 2944
+-103.682 46.152 2802
+-103.556 46.152 2779
+-103.43 46.152 2778
+-103.304 46.152 2745
+-103.178 46.152 2746
+-103.052 46.152 2751
+-102.926 46.152 2826
+-102.8 46.152 2875
+-102.674 46.152 3038
+-102.548 46.152 3023
+-102.422 46.152 3131
+-102.296 46.152 3256
+-102.17 46.152 3227
+-102.044 46.152 3259
+-101.918 46.152 3258
+-101.792 46.152 3292
+-101.666 46.152 3263
+-101.54 46.152 3311
+-101.414 46.152 3214
+-101.288 46.152 3239
+-101.162 46.152 3242
+-101.036 46.152 3221
+-100.91 46.152 3240
+-100.784 46.152 3240
+-100.658 46.152 3243
+-100.532 46.152 3264
+-100.406 46.152 3264
+-100.28 46.152 3265
+-100.154 46.152 3365
+-100.028 46.152 3364
+-99.902 46.152 3364
+-99.776 46.152 3326
+-99.65 46.152 3421
+-99.524 46.152 3430
+-99.398 46.152 3429
+-99.272 46.152 3427
+-99.146 46.152 3426
+-99.02 46.152 3398
+-98.894 46.152 3395
+-98.768 46.152 3319
+-98.642 46.152 3456
+-98.516 46.152 3470
+-98.39 46.152 3430
+-98.264 46.152 3429
+-98.138 46.152 3429
+-98.012 46.152 3442
+-97.886 46.152 3393
+-97.76 46.152 3401
+-97.634 46.152 3396
+-97.508 46.152 3396
+-97.382 46.152 3395
+-97.256 46.152 3395
+-97.13 46.152 3394
+-97.004 46.152 3204
+-96.878 46.152 3229
+-96.752 46.152 3226
+-96.626 46.152 3223
+-96.5 46.152 3206
+-96.374 46.152 3249
+-96.248 46.152 3222
+-96.122 46.152 3218
+-95.996 46.152 3198
+-95.87 46.152 3194
+-95.744 46.152 3117
+-95.618 46.152 3146
+-95.492 46.152 3140
+-95.366 46.152 3135
+-95.24 46.152 3129
+-95.114 46.152 3113
+-94.988 46.152 3107
+-94.862 46.152 3099
+-94.736 46.152 3092
+-94.61 46.152 3083
+-94.484 46.152 3007
+-94.358 46.152 2986
+-94.232 46.152 2959
+-94.106 46.152 2908
+-93.98 46.152 2886
+-93.854 46.152 2857
+-93.728 46.152 2842
+-93.602 46.152 2824
+-93.476 46.152 2795
+-93.35 46.152 2758
+-93.224 46.152 2736
+-93.098 46.152 2710
+-92.972 46.152 2683
+-92.846 46.152 2651
+-92.72 46.152 2616
+-92.594 46.152 2576
+-92.468 46.152 2532
+-92.342 46.152 2481
+-92.216 46.152 2424
+-92.09 46.152 2360
+-91.964 46.152 2287
+-91.838 46.152 2206
+-91.712 46.152 2115
+-91.586 46.152 2016
+-91.46 46.152 1911
+-91.334 46.152 1792
+-91.208 46.152 1694
+-91.082 46.152 1598
+-90.956 46.152 1544
+-90.83 46.152 1526
+-90.704 46.152 1548
+-90.578 46.152 1608
+-90.452 46.152 1694
+-90.326 46.152 1794
+-90.2 46.152 1895
+-90.074 46.152 1990
+-89.948 46.152 2074
+-89.822 46.152 2128
+-89.696 46.152 2185
+-89.57 46.152 2231
+-89.444 46.152 2268
+-89.318 46.152 2298
+-89.192 46.152 2322
+-89.066 46.152 2341
+-88.94 46.152 2358
+-88.814 46.152 2373
+-88.688 46.152 2386
+-88.562 46.152 2399
+-88.436 46.152 2410
+-88.31 46.152 2427
+-88.184 46.152 2438
+-88.058 46.152 2449
+-87.932 46.152 2459
+-87.806 46.152 2424
+-87.68 46.152 2431
+-87.554 46.152 2437
+-87.428 46.152 2442
+-87.302 46.152 2446
+-87.176 46.152 2450
+-87.05 46.152 2453
+-86.924 46.152 2454
+-86.798 46.152 2456
+-86.672 46.152 2456
+-86.546 46.152 2460
+-86.42 46.152 2472
+-86.294 46.152 2472
+-86.168 46.152 2471
+-86.042 46.152 2470
+-85.916 46.152 2488
+-85.79 46.152 2487
+-85.664 46.152 2487
+-85.538 46.152 2486
+-85.412 46.152 2490
+-85.286 46.152 2584
+-85.16 46.152 2583
+-85.034 46.152 2582
+-84.908 46.152 2585
+-84.782 46.152 2584
+-84.656 46.152 2587
+-84.53 46.152 2597
+-84.404 46.152 2588
+-84.278 46.152 2596
+-84.152 46.152 2596
+-84.026 46.152 2598
+-83.9 46.152 2599
+-83.774 46.152 2600
+-83.648 46.152 2601
+-83.522 46.152 2604
+-83.396 46.152 2670
+-83.27 46.152 2672
+-83.144 46.152 2675
+-83.018 46.152 2677
+-82.892 46.152 2690
+-82.766 46.152 2693
+-82.64 46.152 2685
+-82.514 46.152 2688
+-82.388 46.152 2691
+-82.262 46.152 2694
+-82.136 46.152 2676
+-82.01 46.152 2685
+-81.884 46.152 2688
+-81.758 46.152 2794
+-81.632 46.152 2766
+-81.506 46.152 2770
+-81.38 46.152 2878
+-81.254 46.152 2880
+-81.128 46.152 2853
+-81.002 46.152 2903
+-80.876 46.152 2818
+-80.75 46.152 2843
+-80.624 46.152 2889
+-80.498 46.152 2808
+-80.372 46.152 2816
+-80.246 46.152 2737
+-80.12 46.152 2736
+-79.994 46.152 2751
+-79.868 46.152 2730
+-79.742 46.152 2734
+-79.616 46.152 2737
+-79.49 46.152 2687
+-79.364 46.152 2723
+-79.238 46.152 2719
+-79.112 46.152 2712
+-78.986 46.152 2715
+-78.86 46.152 2718
+-78.734 46.152 2721
+-78.608 46.152 2672
+-78.482 46.152 2670
+-78.356 46.152 2672
+-78.23 46.152 2675
+-78.104 46.152 2678
+-77.978 46.152 2676
+-77.852 46.152 2627
+-77.726 46.152 2727
+-77.6 46.152 2725
+-77.474 46.152 2732
+-77.348 46.152 2734
+-77.222 46.152 2736
+-77.096 46.152 2738
+-76.97 46.152 2761
+-76.844 46.152 2743
+-76.718 46.152 2802
+-76.592 46.152 2805
+-76.466 46.152 2797
+-76.34 46.152 2805
+-76.214 46.152 2808
+-76.088 46.152 2810
+-75.962 46.152 2799
+-75.836 46.152 2913
+-75.71 46.152 2915
+-75.584 46.152 2917
+-75.458 46.152 2919
+-75.332 46.152 3019
+-75.206 46.152 2975
+-75.08 46.152 3126
+-74.954 46.152 3127
+-74.828 46.152 3093
+-74.702 46.152 3094
+-74.576 46.152 3095
+-74.45 46.152 3096
+-74.324 46.152 3097
+-74.198 46.152 3098
+-74.072 46.152 3190
+-73.946 46.152 3186
+-73.82 46.152 3187
+-73.694 46.152 3188
+-73.568 46.152 3189
+-73.442 46.152 3134
+-73.316 46.152 3169
+-73.19 46.152 3170
+-73.064 46.152 3243
+-72.938 46.152 3156
+-72.812 46.152 3157
+-72.686 46.152 3159
+-72.56 46.152 3205
+-72.434 46.152 3161
+-72.308 46.152 3162
+-72.182 46.152 3163
+-72.056 46.152 3391
+-71.93 46.152 3338
+-71.804 46.152 3339
+-71.678 46.152 3470
+-71.552 46.152 3443
+-71.426 46.152 3444
+-71.3 46.152 3390
+-71.174 46.152 3463
+-71.048 46.152 3464
+-70.922 46.152 3465
+-70.796 46.152 3466
+-70.67 46.152 3466
+-70.544 46.152 3466
+-70.418 46.152 3466
+-70.292 46.152 3467
+-70.166 46.152 3456
+-70.04 46.152 3404
+-69.914 46.152 3398
+-69.788 46.152 3399
+-69.662 46.152 3399
+-69.536 46.152 3400
+-69.41 46.152 3400
+-69.284 46.152 3401
+-69.158 46.152 3401
+-69.032 46.152 3402
+-68.906 46.152 3403
+-68.78 46.152 3403
+-68.654 46.152 3404
+-68.528 46.152 3404
+-68.402 46.152 3405
+-68.276 46.152 3405
+-68.15 46.152 3406
+-68.024 46.152 3518
+-67.898 46.152 3519
+-67.772 46.152 3503
+-67.646 46.152 3503
+-67.52 46.152 3504
+-67.394 46.152 3504
+-67.268 46.152 3505
+-67.142 46.152 3505
+-67.016 46.152 3505
+-66.89 46.152 3506
+-66.764 46.152 3506
+-66.638 46.152 3506
+-66.512 46.152 3507
+-66.386 46.152 3547
+-66.26 46.152 3548
+-66.134 46.152 3548
+-66.008 46.152 3549
+-65.882 46.152 3549
+-65.756 46.152 3550
+-65.63 46.152 3507
+-65.504 46.152 3508
+-65.378 46.152 3508
+-65.252 46.152 3508
+-65.126 46.152 3549
+-128 46.1 4151
+-127.874 46.1 4311
+-127.748 46.1 4564
+-127.622 46.1 4707
+-127.496 46.1 4795
+-127.37 46.1 4834
+-127.244 46.1 4799
+-127.118 46.1 4922
+-126.992 46.1 5124
+-126.866 46.1 5303
+-126.74 46.1 5461
+-126.614 46.1 5559
+-126.488 46.1 5623
+-126.362 46.1 5782
+-126.236 46.1 5849
+-126.11 46.1 6053
+-125.984 46.1 6221
+-125.858 46.1 6287
+-125.732 46.1 6425
+-125.606 46.1 6581
+-125.48 46.1 6691
+-125.354 46.1 6831
+-125.228 46.1 6902
+-125.102 46.1 7099
+-124.976 46.1 7134
+-124.85 46.1 7332
+-124.724 46.1 7457
+-124.598 46.1 7560
+-124.472 46.1 7678
+-124.346 46.1 7793
+-124.22 46.1 7890
+-124.094 46.1 8026
+-123.968 46.1 8160
+-123.842 46.1 8190
+-123.716 46.1 8293
+-123.59 46.1 8375
+-123.464 46.1 8487
+-123.338 46.1 8572
+-123.212 46.1 8565
+-123.086 46.1 8585
+-122.96 46.1 8603
+-122.834 46.1 8601
+-122.708 46.1 8574
+-122.582 46.1 8523
+-122.456 46.1 8472
+-122.33 46.1 8392
+-122.204 46.1 8319
+-122.078 46.1 8225
+-121.952 46.1 8109
+-121.826 46.1 8008
+-121.7 46.1 7934
+-121.574 46.1 7826
+-121.448 46.1 7673
+-121.322 46.1 7584
+-121.196 46.1 7400
+-121.07 46.1 7371
+-120.944 46.1 7179
+-120.818 46.1 7117
+-120.692 46.1 6762
+-120.566 46.1 6937
+-120.44 46.1 7023
+-120.314 46.1 7167
+-120.188 46.1 7357
+-120.062 46.1 7460
+-119.936 46.1 7554
+-119.81 46.1 7777
+-119.684 46.1 7822
+-119.558 46.1 7937
+-119.432 46.1 8086
+-119.306 46.1 8186
+-119.18 46.1 8415
+-119.054 46.1 8471
+-118.928 46.1 8638
+-118.802 46.1 8779
+-118.676 46.1 8944
+-118.55 46.1 9014
+-118.424 46.1 9158
+-118.298 46.1 9216
+-118.172 46.1 9053
+-118.046 46.1 8948
+-117.92 46.1 8755
+-117.794 46.1 8705
+-117.668 46.1 8477
+-117.542 46.1 8419
+-117.416 46.1 8288
+-117.29 46.1 8166
+-117.164 46.1 8028
+-117.038 46.1 7880
+-116.912 46.1 7679
+-116.786 46.1 7598
+-116.66 46.1 7486
+-116.534 46.1 7365
+-116.408 46.1 7237
+-116.282 46.1 7097
+-116.156 46.1 6931
+-116.03 46.1 6836
+-115.904 46.1 6655
+-115.778 46.1 6668
+-115.652 46.1 6532
+-115.526 46.1 6275
+-115.4 46.1 6052
+-115.274 46.1 6047
+-115.148 46.1 5865
+-115.022 46.1 5767
+-114.896 46.1 5660
+-114.77 46.1 5616
+-114.644 46.1 5447
+-114.518 46.1 5235
+-114.392 46.1 5132
+-114.266 46.1 5014
+-114.14 46.1 4826
+-114.014 46.1 4602
+-113.888 46.1 4485
+-113.762 46.1 4474
+-113.636 46.1 4301
+-113.51 46.1 4100
+-113.384 46.1 4045
+-113.258 46.1 3825
+-113.132 46.1 3826
+-113.006 46.1 3733
+-112.88 46.1 3599
+-112.754 46.1 3626
+-112.628 46.1 3664
+-112.502 46.1 3679
+-112.376 46.1 3686
+-112.25 46.1 3677
+-112.124 46.1 3693
+-111.998 46.1 3712
+-111.872 46.1 3730
+-111.746 46.1 3748
+-111.62 46.1 3764
+-111.494 46.1 3690
+-111.368 46.1 3632
+-111.242 46.1 3634
+-111.116 46.1 3636
+-110.99 46.1 3637
+-110.864 46.1 3637
+-110.738 46.1 3557
+-110.612 46.1 3557
+-110.486 46.1 3558
+-110.36 46.1 3558
+-110.234 46.1 3559
+-110.108 46.1 3560
+-109.982 46.1 3561
+-109.856 46.1 3562
+-109.73 46.1 3563
+-109.604 46.1 3564
+-109.478 46.1 3566
+-109.352 46.1 3454
+-109.226 46.1 3454
+-109.1 46.1 3454
+-108.974 46.1 3454
+-108.848 46.1 3454
+-108.722 46.1 3454
+-108.596 46.1 3454
+-108.47 46.1 3455
+-108.344 46.1 3455
+-108.218 46.1 3456
+-108.092 46.1 3456
+-107.966 46.1 3457
+-107.84 46.1 3457
+-107.714 46.1 3458
+-107.588 46.1 3458
+-107.462 46.1 3459
+-107.336 46.1 3285
+-107.21 46.1 3283
+-107.084 46.1 3282
+-106.958 46.1 3281
+-106.832 46.1 3280
+-106.706 46.1 3279
+-106.58 46.1 3278
+-106.454 46.1 3203
+-106.328 46.1 3202
+-106.202 46.1 3201
+-106.076 46.1 3200
+-105.95 46.1 3199
+-105.824 46.1 3198
+-105.698 46.1 3197
+-105.572 46.1 3196
+-105.446 46.1 3196
+-105.32 46.1 3195
+-105.194 46.1 3194
+-105.068 46.1 3193
+-104.942 46.1 3193
+-104.816 46.1 3192
+-104.69 46.1 3191
+-104.564 46.1 3191
+-104.438 46.1 3190
+-104.312 46.1 2941
+-104.186 46.1 2937
+-104.06 46.1 2952
+-103.934 46.1 2947
+-103.808 46.1 2943
+-103.682 46.1 2801
+-103.556 46.1 2779
+-103.43 46.1 2778
+-103.304 46.1 2746
+-103.178 46.1 2747
+-103.052 46.1 2752
+-102.926 46.1 2828
+-102.8 46.1 2877
+-102.674 46.1 3040
+-102.548 46.1 3025
+-102.422 46.1 3131
+-102.296 46.1 3255
+-102.17 46.1 3255
+-102.044 46.1 3226
+-101.918 46.1 3257
+-101.792 46.1 3257
+-101.666 46.1 3290
+-101.54 46.1 3261
+-101.414 46.1 3310
+-101.288 46.1 3213
+-101.162 46.1 3237
+-101.036 46.1 3241
+-100.91 46.1 3220
+-100.784 46.1 3239
+-100.658 46.1 3239
+-100.532 46.1 3242
+-100.406 46.1 3263
+-100.28 46.1 3263
+-100.154 46.1 3263
+-100.028 46.1 3363
+-99.902 46.1 3363
+-99.776 46.1 3363
+-99.65 46.1 3324
+-99.524 46.1 3420
+-99.398 46.1 3428
+-99.272 46.1 3428
+-99.146 46.1 3425
+-99.02 46.1 3425
+-98.894 46.1 3397
+-98.768 46.1 3393
+-98.642 46.1 3318
+-98.516 46.1 3454
+-98.39 46.1 3469
+-98.264 46.1 3429
+-98.138 46.1 3428
+-98.012 46.1 3427
+-97.886 46.1 3441
+-97.76 46.1 3392
+-97.634 46.1 3400
+-97.508 46.1 3399
+-97.382 46.1 3394
+-97.256 46.1 3394
+-97.13 46.1 3393
+-97.004 46.1 3393
+-96.878 46.1 3204
+-96.752 46.1 3229
+-96.626 46.1 3227
+-96.5 46.1 3224
+-96.374 46.1 3206
+-96.248 46.1 3249
+-96.122 46.1 3222
+-95.996 46.1 3218
+-95.87 46.1 3198
+-95.744 46.1 3195
+-95.618 46.1 3118
+-95.492 46.1 3146
+-95.366 46.1 3140
+-95.24 46.1 3135
+-95.114 46.1 3129
+-94.988 46.1 3113
+-94.862 46.1 3106
+-94.736 46.1 3099
+-94.61 46.1 3091
+-94.484 46.1 3082
+-94.358 46.1 3007
+-94.232 46.1 2985
+-94.106 46.1 2958
+-93.98 46.1 2907
+-93.854 46.1 2884
+-93.728 46.1 2855
+-93.602 46.1 2839
+-93.476 46.1 2820
+-93.35 46.1 2791
+-93.224 46.1 2753
+-93.098 46.1 2729
+-92.972 46.1 2703
+-92.846 46.1 2674
+-92.72 46.1 2641
+-92.594 46.1 2604
+-92.468 46.1 2563
+-92.342 46.1 2516
+-92.216 46.1 2463
+-92.09 46.1 2404
+-91.964 46.1 2338
+-91.838 46.1 2265
+-91.712 46.1 2184
+-91.586 46.1 2097
+-91.46 46.1 2006
+-91.334 46.1 1914
+-91.208 46.1 1816
+-91.082 46.1 1747
+-90.956 46.1 1686
+-90.83 46.1 1672
+-90.704 46.1 1690
+-90.578 46.1 1741
+-90.452 46.1 1813
+-90.326 46.1 1896
+-90.2 46.1 1981
+-90.074 46.1 2060
+-89.948 46.1 2130
+-89.822 46.1 2172
+-89.696 46.1 2219
+-89.57 46.1 2257
+-89.444 46.1 2286
+-89.318 46.1 2310
+-89.192 46.1 2329
+-89.066 46.1 2344
+-88.94 46.1 2358
+-88.814 46.1 2370
+-88.688 46.1 2382
+-88.562 46.1 2394
+-88.436 46.1 2410
+-88.31 46.1 2422
+-88.184 46.1 2433
+-88.058 46.1 2444
+-87.932 46.1 2414
+-87.806 46.1 2422
+-87.68 46.1 2430
+-87.554 46.1 2436
+-87.428 46.1 2441
+-87.302 46.1 2446
+-87.176 46.1 2449
+-87.05 46.1 2451
+-86.924 46.1 2453
+-86.798 46.1 2454
+-86.672 46.1 2458
+-86.546 46.1 2470
+-86.42 46.1 2470
+-86.294 46.1 2469
+-86.168 46.1 2468
+-86.042 46.1 2485
+-85.916 46.1 2485
+-85.79 46.1 2484
+-85.664 46.1 2483
+-85.538 46.1 2487
+-85.412 46.1 2579
+-85.286 46.1 2577
+-85.16 46.1 2576
+-85.034 46.1 2579
+-84.908 46.1 2578
+-84.782 46.1 2581
+-84.656 46.1 2590
+-84.53 46.1 2581
+-84.404 46.1 2589
+-84.278 46.1 2589
+-84.152 46.1 2591
+-84.026 46.1 2592
+-83.9 46.1 2593
+-83.774 46.1 2594
+-83.648 46.1 2597
+-83.522 46.1 2662
+-83.396 46.1 2665
+-83.27 46.1 2667
+-83.144 46.1 2669
+-83.018 46.1 2682
+-82.892 46.1 2685
+-82.766 46.1 2678
+-82.64 46.1 2681
+-82.514 46.1 2684
+-82.388 46.1 2687
+-82.262 46.1 2669
+-82.136 46.1 2678
+-82.01 46.1 2682
+-81.884 46.1 2787
+-81.758 46.1 2760
+-81.632 46.1 2763
+-81.506 46.1 2871
+-81.38 46.1 2872
+-81.254 46.1 2846
+-81.128 46.1 2895
+-81.002 46.1 2811
+-80.876 46.1 2836
+-80.75 46.1 2883
+-80.624 46.1 2802
+-80.498 46.1 2810
+-80.372 46.1 2732
+-80.246 46.1 2731
+-80.12 46.1 2746
+-79.994 46.1 2726
+-79.868 46.1 2730
+-79.742 46.1 2733
+-79.616 46.1 2684
+-79.49 46.1 2719
+-79.364 46.1 2715
+-79.238 46.1 2708
+-79.112 46.1 2712
+-78.986 46.1 2715
+-78.86 46.1 2718
+-78.734 46.1 2670
+-78.608 46.1 2667
+-78.482 46.1 2670
+-78.356 46.1 2673
+-78.23 46.1 2675
+-78.104 46.1 2674
+-77.978 46.1 2625
+-77.852 46.1 2725
+-77.726 46.1 2723
+-77.6 46.1 2730
+-77.474 46.1 2732
+-77.348 46.1 2734
+-77.222 46.1 2736
+-77.096 46.1 2759
+-76.97 46.1 2741
+-76.844 46.1 2801
+-76.718 46.1 2803
+-76.592 46.1 2796
+-76.466 46.1 2804
+-76.34 46.1 2806
+-76.214 46.1 2808
+-76.088 46.1 2798
+-75.962 46.1 2912
+-75.836 46.1 2914
+-75.71 46.1 2916
+-75.584 46.1 2918
+-75.458 46.1 3017
+-75.332 46.1 2974
+-75.206 46.1 3125
+-75.08 46.1 3126
+-74.954 46.1 3092
+-74.828 46.1 3093
+-74.702 46.1 3094
+-74.576 46.1 3095
+-74.45 46.1 3096
+-74.324 46.1 3097
+-74.198 46.1 3189
+-74.072 46.1 3185
+-73.946 46.1 3186
+-73.82 46.1 3187
+-73.694 46.1 3188
+-73.568 46.1 3134
+-73.442 46.1 3168
+-73.316 46.1 3169
+-73.19 46.1 3242
+-73.064 46.1 3155
+-72.938 46.1 3157
+-72.812 46.1 3158
+-72.686 46.1 3204
+-72.56 46.1 3160
+-72.434 46.1 3161
+-72.308 46.1 3162
+-72.182 46.1 3390
+-72.056 46.1 3337
+-71.93 46.1 3338
+-71.804 46.1 3469
+-71.678 46.1 3442
+-71.552 46.1 3443
+-71.426 46.1 3390
+-71.3 46.1 3463
+-71.174 46.1 3464
+-71.048 46.1 3464
+-70.922 46.1 3465
+-70.796 46.1 3466
+-70.67 46.1 3465
+-70.544 46.1 3466
+-70.418 46.1 3466
+-70.292 46.1 3455
+-70.166 46.1 3403
+-70.04 46.1 3398
+-69.914 46.1 3398
+-69.788 46.1 3399
+-69.662 46.1 3399
+-69.536 46.1 3400
+-69.41 46.1 3400
+-69.284 46.1 3401
+-69.158 46.1 3402
+-69.032 46.1 3402
+-68.906 46.1 3403
+-68.78 46.1 3403
+-68.654 46.1 3404
+-68.528 46.1 3404
+-68.402 46.1 3405
+-68.276 46.1 3405
+-68.15 46.1 3518
+-68.024 46.1 3518
+-67.898 46.1 3503
+-67.772 46.1 3503
+-67.646 46.1 3503
+-67.52 46.1 3504
+-67.394 46.1 3504
+-67.268 46.1 3505
+-67.142 46.1 3505
+-67.016 46.1 3505
+-66.89 46.1 3506
+-66.764 46.1 3506
+-66.638 46.1 3507
+-66.512 46.1 3547
+-66.386 46.1 3547
+-66.26 46.1 3548
+-66.134 46.1 3548
+-66.008 46.1 3549
+-65.882 46.1 3549
+-65.756 46.1 3507
+-65.63 46.1 3507
+-65.504 46.1 3508
+-65.378 46.1 3508
+-65.252 46.1 3549
+-65.126 46.1 3549
+-128 46.048 4403
+-127.874 46.048 4491
+-127.748 46.048 4613
+-127.622 46.048 4744
+-127.496 46.048 4801
+-127.37 46.048 4831
+-127.244 46.048 4846
+-127.118 46.048 4955
+-126.992 46.048 5074
+-126.866 46.048 5257
+-126.74 46.048 5379
+-126.614 46.048 5516
+-126.488 46.048 5656
+-126.362 46.048 5800
+-126.236 46.048 5937
+-126.11 46.048 6054
+-125.984 46.048 6208
+-125.858 46.048 6326
+-125.732 46.048 6466
+-125.606 46.048 6585
+-125.48 46.048 6598
+-125.354 46.048 6731
+-125.228 46.048 6856
+-125.102 46.048 7040
+-124.976 46.048 7118
+-124.85 46.048 7286
+-124.724 46.048 7423
+-124.598 46.048 7479
+-124.472 46.048 7636
+-124.346 46.048 7757
+-124.22 46.048 7856
+-124.094 46.048 7967
+-123.968 46.048 8110
+-123.842 46.048 8185
+-123.716 46.048 8279
+-123.59 46.048 8343
+-123.464 46.048 8424
+-123.338 46.048 8469
+-123.212 46.048 8531
+-123.086 46.048 8546
+-122.96 46.048 8555
+-122.834 46.048 8567
+-122.708 46.048 8531
+-122.582 46.048 8476
+-122.456 46.048 8435
+-122.33 46.048 8389
+-122.204 46.048 8280
+-122.078 46.048 8225
+-121.952 46.048 8090
+-121.826 46.048 8013
+-121.7 46.048 7877
+-121.574 46.048 7797
+-121.448 46.048 7626
+-121.322 46.048 7526
+-121.196 46.048 7387
+-121.07 46.048 7290
+-120.944 46.048 7137
+-120.818 46.048 7045
+-120.692 46.048 6945
+-120.566 46.048 6953
+-120.44 46.048 7053
+-120.314 46.048 7180
+-120.188 46.048 7354
+-120.062 46.048 7480
+-119.936 46.048 7580
+-119.81 46.048 7715
+-119.684 46.048 7838
+-119.558 46.048 7939
+-119.432 46.048 8124
+-119.306 46.048 8236
+-119.18 46.048 8375
+-119.054 46.048 8512
+-118.928 46.048 8658
+-118.802 46.048 8754
+-118.676 46.048 8920
+-118.55 46.048 9043
+-118.424 46.048 9137
+-118.298 46.048 9171
+-118.172 46.048 9030
+-118.046 46.048 8950
+-117.92 46.048 8780
+-117.794 46.048 8687
+-117.668 46.048 8532
+-117.542 46.048 8406
+-117.416 46.048 8255
+-117.29 46.048 8146
+-117.164 46.048 7999
+-117.038 46.048 7832
+-116.912 46.048 7729
+-116.786 46.048 7618
+-116.66 46.048 7412
+-116.534 46.048 7354
+-116.408 46.048 7267
+-116.282 46.048 7078
+-116.156 46.048 6983
+-116.03 46.048 6785
+-115.904 46.048 6691
+-115.778 46.048 6702
+-115.652 46.048 6527
+-115.526 46.048 6267
+-115.4 46.048 6053
+-115.274 46.048 5940
+-115.148 46.048 5841
+-115.022 46.048 5751
+-114.896 46.048 5670
+-114.77 46.048 5572
+-114.644 46.048 5382
+-114.518 46.048 5155
+-114.392 46.048 5090
+-114.266 46.048 5008
+-114.14 46.048 4885
+-114.014 46.048 4689
+-113.888 46.048 4554
+-113.762 46.048 4488
+-113.636 46.048 4355
+-113.51 46.048 4147
+-113.384 46.048 4011
+-113.258 46.048 3883
+-113.132 46.048 3775
+-113.006 46.048 3793
+-112.88 46.048 3739
+-112.754 46.048 3699
+-112.628 46.048 3670
+-112.502 46.048 3634
+-112.376 46.048 3611
+-112.25 46.048 3628
+-112.124 46.048 3656
+-111.998 46.048 3684
+-111.872 46.048 3710
+-111.746 46.048 3732
+-111.62 46.048 3663
+-111.494 46.048 3610
+-111.368 46.048 3614
+-111.242 46.048 3617
+-111.116 46.048 3619
+-110.99 46.048 3620
+-110.864 46.048 3543
+-110.738 46.048 3544
+-110.612 46.048 3544
+-110.486 46.048 3545
+-110.36 46.048 3546
+-110.234 46.048 3547
+-110.108 46.048 3548
+-109.982 46.048 3550
+-109.856 46.048 3551
+-109.73 46.048 3553
+-109.604 46.048 3555
+-109.478 46.048 3557
+-109.352 46.048 3539
+-109.226 46.048 3446
+-109.1 46.048 3447
+-108.974 46.048 3447
+-108.848 46.048 3448
+-108.722 46.048 3448
+-108.596 46.048 3449
+-108.47 46.048 3450
+-108.344 46.048 3450
+-108.218 46.048 3451
+-108.092 46.048 3452
+-107.966 46.048 3453
+-107.84 46.048 3453
+-107.714 46.048 3454
+-107.588 46.048 3455
+-107.462 46.048 3285
+-107.336 46.048 3284
+-107.21 46.048 3283
+-107.084 46.048 3282
+-106.958 46.048 3281
+-106.832 46.048 3280
+-106.706 46.048 3279
+-106.58 46.048 3278
+-106.454 46.048 3277
+-106.328 46.048 3202
+-106.202 46.048 3201
+-106.076 46.048 3200
+-105.95 46.048 3200
+-105.824 46.048 3199
+-105.698 46.048 3198
+-105.572 46.048 3197
+-105.446 46.048 3196
+-105.32 46.048 3195
+-105.194 46.048 3195
+-105.068 46.048 3194
+-104.942 46.048 3193
+-104.816 46.048 3193
+-104.69 46.048 3192
+-104.564 46.048 3192
+-104.438 46.048 3157
+-104.312 46.048 2939
+-104.186 46.048 2935
+-104.06 46.048 2951
+-103.934 46.048 2938
+-103.808 46.048 2933
+-103.682 46.048 2800
+-103.556 46.048 2779
+-103.43 46.048 2778
+-103.304 46.048 2746
+-103.178 46.048 2748
+-103.052 46.048 2753
+-102.926 46.048 2829
+-102.8 46.048 2879
+-102.674 46.048 3041
+-102.548 46.048 3026
+-102.422 46.048 3130
+-102.296 46.048 3254
+-102.17 46.048 3254
+-102.044 46.048 3253
+-101.918 46.048 3225
+-101.792 46.048 3256
+-101.666 46.048 3255
+-101.54 46.048 3289
+-101.414 46.048 3260
+-101.288 46.048 3308
+-101.162 46.048 3212
+-101.036 46.048 3236
+-100.91 46.048 3240
+-100.784 46.048 3219
+-100.658 46.048 3237
+-100.532 46.048 3237
+-100.406 46.048 3240
+-100.28 46.048 3262
+-100.154 46.048 3262
+-100.028 46.048 3262
+-99.902 46.048 3361
+-99.776 46.048 3361
+-99.65 46.048 3361
+-99.524 46.048 3323
+-99.398 46.048 3418
+-99.272 46.048 3426
+-99.146 46.048 3426
+-99.02 46.048 3424
+-98.894 46.048 3423
+-98.768 46.048 3395
+-98.642 46.048 3392
+-98.516 46.048 3317
+-98.39 46.048 3453
+-98.264 46.048 3467
+-98.138 46.048 3428
+-98.012 46.048 3427
+-97.886 46.048 3426
+-97.76 46.048 3439
+-97.634 46.048 3391
+-97.508 46.048 3398
+-97.382 46.048 3393
+-97.256 46.048 3393
+-97.13 46.048 3392
+-97.004 46.048 3392
+-96.878 46.048 3391
+-96.752 46.048 3205
+-96.626 46.048 3230
+-96.5 46.048 3227
+-96.374 46.048 3224
+-96.248 46.048 3207
+-96.122 46.048 3250
+-95.996 46.048 3222
+-95.87 46.048 3218
+-95.744 46.048 3199
+-95.618 46.048 3195
+-95.492 46.048 3119
+-95.366 46.048 3146
+-95.24 46.048 3141
+-95.114 46.048 3135
+-94.988 46.048 3129
+-94.862 46.048 3113
+-94.736 46.048 3106
+-94.61 46.048 3099
+-94.484 46.048 3091
+-94.358 46.048 3082
+-94.232 46.048 3007
+-94.106 46.048 2985
+-93.98 46.048 2958
+-93.854 46.048 2906
+-93.728 46.048 2883
+-93.602 46.048 2854
+-93.476 46.048 2838
+-93.35 46.048 2818
+-93.224 46.048 2788
+-93.098 46.048 2749
+-92.972 46.048 2725
+-92.846 46.048 2698
+-92.72 46.048 2667
+-92.594 46.048 2633
+-92.468 46.048 2595
+-92.342 46.048 2553
+-92.216 46.048 2506
+-92.09 46.048 2453
+-91.964 46.048 2394
+-91.838 46.048 2329
+-91.712 46.048 2259
+-91.586 46.048 2185
+-91.46 46.048 2108
+-91.334 46.048 2033
+-91.208 46.048 1964
+-91.082 46.048 1893
+-90.956 46.048 1858
+-90.83 46.048 1828
+-90.704 46.048 1845
+-90.578 46.048 1881
+-90.452 46.048 1938
+-90.326 46.048 2003
+-90.2 46.048 2070
+-90.074 46.048 2132
+-89.948 46.048 2186
+-89.822 46.048 2215
+-89.696 46.048 2252
+-89.57 46.048 2280
+-89.444 46.048 2302
+-89.318 46.048 2320
+-89.192 46.048 2333
+-89.066 46.048 2344
+-88.94 46.048 2355
+-88.814 46.048 2365
+-88.688 46.048 2375
+-88.562 46.048 2391
+-88.436 46.048 2403
+-88.31 46.048 2415
+-88.184 46.048 2427
+-88.058 46.048 2402
+-87.932 46.048 2412
+-87.806 46.048 2420
+-87.68 46.048 2428
+-87.554 46.048 2435
+-87.428 46.048 2440
+-87.302 46.048 2445
+-87.176 46.048 2448
+-87.05 46.048 2450
+-86.924 46.048 2452
+-86.798 46.048 2456
+-86.672 46.048 2468
+-86.546 46.048 2468
+-86.42 46.048 2467
+-86.294 46.048 2466
+-86.168 46.048 2483
+-86.042 46.048 2482
+-85.916 46.048 2481
+-85.79 46.048 2480
+-85.664 46.048 2494
+-85.538 46.048 2573
+-85.412 46.048 2571
+-85.286 46.048 2570
+-85.16 46.048 2572
+-85.034 46.048 2571
+-84.908 46.048 2574
+-84.782 46.048 2583
+-84.656 46.048 2574
+-84.53 46.048 2581
+-84.404 46.048 2582
+-84.278 46.048 2583
+-84.152 46.048 2584
+-84.026 46.048 2586
+-83.9 46.048 2587
+-83.774 46.048 2590
+-83.648 46.048 2654
+-83.522 46.048 2656
+-83.396 46.048 2659
+-83.27 46.048 2661
+-83.144 46.048 2674
+-83.018 46.048 2677
+-82.892 46.048 2670
+-82.766 46.048 2673
+-82.64 46.048 2676
+-82.514 46.048 2680
+-82.388 46.048 2663
+-82.262 46.048 2672
+-82.136 46.048 2675
+-82.01 46.048 2779
+-81.884 46.048 2753
+-81.758 46.048 2756
+-81.632 46.048 2862
+-81.506 46.048 2864
+-81.38 46.048 2839
+-81.254 46.048 2887
+-81.128 46.048 2805
+-81.002 46.048 2829
+-80.876 46.048 2875
+-80.75 46.048 2796
+-80.624 46.048 2805
+-80.498 46.048 2727
+-80.372 46.048 2727
+-80.246 46.048 2741
+-80.12 46.048 2722
+-79.994 46.048 2726
+-79.868 46.048 2729
+-79.742 46.048 2680
+-79.616 46.048 2715
+-79.49 46.048 2711
+-79.364 46.048 2705
+-79.238 46.048 2708
+-79.112 46.048 2712
+-78.986 46.048 2715
+-78.86 46.048 2667
+-78.734 46.048 2665
+-78.608 46.048 2668
+-78.482 46.048 2671
+-78.356 46.048 2673
+-78.23 46.048 2672
+-78.104 46.048 2623
+-77.978 46.048 2723
+-77.852 46.048 2721
+-77.726 46.048 2728
+-77.6 46.048 2730
+-77.474 46.048 2732
+-77.348 46.048 2735
+-77.222 46.048 2758
+-77.096 46.048 2740
+-76.97 46.048 2799
+-76.844 46.048 2801
+-76.718 46.048 2794
+-76.592 46.048 2802
+-76.466 46.048 2805
+-76.34 46.048 2807
+-76.214 46.048 2797
+-76.088 46.048 2910
+-75.962 46.048 2912
+-75.836 46.048 2914
+-75.71 46.048 2916
+-75.584 46.048 3016
+-75.458 46.048 2973
+-75.332 46.048 3124
+-75.206 46.048 3125
+-75.08 46.048 3091
+-74.954 46.048 3092
+-74.828 46.048 3093
+-74.702 46.048 3094
+-74.576 46.048 3095
+-74.45 46.048 3096
+-74.324 46.048 3188
+-74.198 46.048 3184
+-74.072 46.048 3185
+-73.946 46.048 3186
+-73.82 46.048 3187
+-73.694 46.048 3133
+-73.568 46.048 3167
+-73.442 46.048 3168
+-73.316 46.048 3241
+-73.19 46.048 3154
+-73.064 46.048 3156
+-72.938 46.048 3157
+-72.812 46.048 3203
+-72.686 46.048 3159
+-72.56 46.048 3160
+-72.434 46.048 3162
+-72.308 46.048 3389
+-72.182 46.048 3337
+-72.056 46.048 3337
+-71.93 46.048 3468
+-71.804 46.048 3441
+-71.678 46.048 3442
+-71.552 46.048 3389
+-71.426 46.048 3462
+-71.3 46.048 3463
+-71.174 46.048 3464
+-71.048 46.048 3464
+-70.922 46.048 3465
+-70.796 46.048 3464
+-70.67 46.048 3465
+-70.544 46.048 3466
+-70.418 46.048 3455
+-70.292 46.048 3403
+-70.166 46.048 3397
+-70.04 46.048 3398
+-69.914 46.048 3398
+-69.788 46.048 3399
+-69.662 46.048 3399
+-69.536 46.048 3400
+-69.41 46.048 3401
+-69.284 46.048 3401
+-69.158 46.048 3402
+-69.032 46.048 3402
+-68.906 46.048 3403
+-68.78 46.048 3403
+-68.654 46.048 3404
+-68.528 46.048 3404
+-68.402 46.048 3405
+-68.276 46.048 3517
+-68.15 46.048 3518
+-68.024 46.048 3502
+-67.898 46.048 3503
+-67.772 46.048 3503
+-67.646 46.048 3503
+-67.52 46.048 3504
+-67.394 46.048 3504
+-67.268 46.048 3505
+-67.142 46.048 3505
+-67.016 46.048 3506
+-66.89 46.048 3506
+-66.764 46.048 3506
+-66.638 46.048 3546
+-66.512 46.048 3547
+-66.386 46.048 3547
+-66.26 46.048 3548
+-66.134 46.048 3548
+-66.008 46.048 3549
+-65.882 46.048 3507
+-65.756 46.048 3507
+-65.63 46.048 3507
+-65.504 46.048 3508
+-65.378 46.048 3548
+-65.252 46.048 3549
+-65.126 46.048 3550
+-128 45.996 4496
+-127.874 45.996 4593
+-127.748 45.996 4666
+-127.622 45.996 4720
+-127.496 45.996 4794
+-127.37 45.996 4816
+-127.244 45.996 4763
+-127.118 45.996 4948
+-126.992 45.996 5042
+-126.866 45.996 5190
+-126.74 45.996 5348
+-126.614 45.996 5436
+-126.488 45.996 5624
+-126.362 45.996 5829
+-126.236 45.996 5960
+-126.11 45.996 6018
+-125.984 45.996 6178
+-125.858 45.996 6346
+-125.732 45.996 6394
+-125.606 45.996 6538
+-125.48 45.996 6605
+-125.354 45.996 6796
+-125.228 45.996 6856
+-125.102 45.996 6975
+-124.976 45.996 7134
+-124.85 45.996 7319
+-124.724 45.996 7388
+-124.598 45.996 7503
+-124.472 45.996 7595
+-124.346 45.996 7680
+-124.22 45.996 7811
+-124.094 45.996 7929
+-123.968 45.996 8064
+-123.842 45.996 8149
+-123.716 45.996 8240
+-123.59 45.996 8278
+-123.464 45.996 8375
+-123.338 45.996 8456
+-123.212 45.996 8485
+-123.086 45.996 8486
+-122.96 45.996 8520
+-122.834 45.996 8496
+-122.708 45.996 8471
+-122.582 45.996 8420
+-122.456 45.996 8365
+-122.33 45.996 8305
+-122.204 45.996 8235
+-122.078 45.996 8148
+-121.952 45.996 8062
+-121.826 45.996 7914
+-121.7 45.996 7804
+-121.574 45.996 7749
+-121.448 45.996 7586
+-121.322 45.996 7563
+-121.196 45.996 7306
+-121.07 45.996 7231
+-120.944 45.996 7110
+-120.818 45.996 6955
+-120.692 45.996 6825
+-120.566 45.996 6942
+-120.44 45.996 7055
+-120.314 45.996 7159
+-120.188 45.996 7345
+-120.062 45.996 7476
+-119.936 45.996 7572
+-119.81 45.996 7724
+-119.684 45.996 7801
+-119.558 45.996 7925
+-119.432 45.996 8157
+-119.306 45.996 8235
+-119.18 45.996 8367
+-119.054 45.996 8500
+-118.928 45.996 8685
+-118.802 45.996 8802
+-118.676 45.996 8907
+-118.55 45.996 8995
+-118.424 45.996 9132
+-118.298 45.996 9099
+-118.172 45.996 9001
+-118.046 45.996 8951
+-117.92 45.996 8792
+-117.794 45.996 8693
+-117.668 45.996 8528
+-117.542 45.996 8355
+-117.416 45.996 8276
+-117.29 45.996 8162
+-117.164 45.996 7990
+-117.038 45.996 7836
+-116.912 45.996 7789
+-116.786 45.996 7640
+-116.66 45.996 7526
+-116.534 45.996 7395
+-116.408 45.996 7262
+-116.282 45.996 7099
+-116.156 45.996 6960
+-116.03 45.996 6834
+-115.904 45.996 6726
+-115.778 45.996 6707
+-115.652 45.996 6479
+-115.526 45.996 6288
+-115.4 45.996 6052
+-115.274 45.996 6044
+-115.148 45.996 5805
+-115.022 45.996 5732
+-114.896 45.996 5632
+-114.77 45.996 5563
+-114.644 45.996 5406
+-114.518 45.996 5226
+-114.392 45.996 5083
+-114.266 45.996 4901
+-114.14 45.996 4898
+-114.014 45.996 4748
+-113.888 45.996 4599
+-113.762 45.996 4508
+-113.636 45.996 4424
+-113.51 45.996 4270
+-113.384 45.996 4089
+-113.258 45.996 3946
+-113.132 45.996 3856
+-113.006 45.996 3832
+-112.88 45.996 3778
+-112.754 45.996 3697
+-112.628 45.996 3574
+-112.502 45.996 3486
+-112.376 45.996 3492
+-112.25 45.996 3546
+-112.124 45.996 3604
+-111.998 45.996 3652
+-111.872 45.996 3665
+-111.746 45.996 3634
+-111.62 45.996 3582
+-111.494 45.996 3589
+-111.368 45.996 3594
+-111.242 45.996 3598
+-111.116 45.996 3600
+-110.99 45.996 3601
+-110.864 45.996 3602
+-110.738 45.996 3529
+-110.612 45.996 3530
+-110.486 45.996 3532
+-110.36 45.996 3533
+-110.234 45.996 3518
+-110.108 45.996 3519
+-109.982 45.996 3520
+-109.856 45.996 3522
+-109.73 45.996 3523
+-109.604 45.996 3525
+-109.478 45.996 3527
+-109.352 45.996 3529
+-109.226 45.996 3531
+-109.1 45.996 3440
+-108.974 45.996 3441
+-108.848 45.996 3441
+-108.722 45.996 3442
+-108.596 45.996 3443
+-108.47 45.996 3444
+-108.344 45.996 3445
+-108.218 45.996 3446
+-108.092 45.996 3447
+-107.966 45.996 3448
+-107.84 45.996 3450
+-107.714 45.996 3451
+-107.588 45.996 3451
+-107.462 45.996 3284
+-107.336 45.996 3283
+-107.21 45.996 3282
+-107.084 45.996 3281
+-106.958 45.996 3280
+-106.832 45.996 3279
+-106.706 45.996 3278
+-106.58 45.996 3277
+-106.454 45.996 3276
+-106.328 45.996 3276
+-106.202 45.996 3202
+-106.076 45.996 3201
+-105.95 45.996 3200
+-105.824 45.996 3199
+-105.698 45.996 3198
+-105.572 45.996 3197
+-105.446 45.996 3197
+-105.32 45.996 3196
+-105.194 45.996 3195
+-105.068 45.996 3195
+-104.942 45.996 3194
+-104.816 45.996 3193
+-104.69 45.996 3193
+-104.564 45.996 3159
+-104.438 45.996 3157
+-104.312 45.996 2938
+-104.186 45.996 2934
+-104.06 45.996 2950
+-103.934 45.996 2936
+-103.808 45.996 2932
+-103.682 45.996 2800
+-103.556 45.996 2779
+-103.43 45.996 2778
+-103.304 45.996 2747
+-103.178 45.996 2749
+-103.052 45.996 2754
+-102.926 45.996 2837
+-102.8 45.996 2881
+-102.674 45.996 3037
+-102.548 45.996 3027
+-102.422 45.996 3130
+-102.296 45.996 3253
+-102.17 45.996 3253
+-102.044 45.996 3252
+-101.918 45.996 3251
+-101.792 45.996 3224
+-101.666 45.996 3254
+-101.54 45.996 3254
+-101.414 45.996 3287
+-101.288 45.996 3259
+-101.162 45.996 3306
+-101.036 45.996 3211
+-100.91 45.996 3235
+-100.784 45.996 3238
+-100.658 45.996 3218
+-100.532 45.996 3236
+-100.406 45.996 3236
+-100.28 45.996 3239
+-100.154 45.996 3260
+-100.028 45.996 3261
+-99.902 45.996 3261
+-99.776 45.996 3360
+-99.65 45.996 3360
+-99.524 45.996 3360
+-99.398 45.996 3322
+-99.272 45.996 3416
+-99.146 45.996 3425
+-99.02 45.996 3424
+-98.894 45.996 3422
+-98.768 45.996 3422
+-98.642 45.996 3394
+-98.516 45.996 3390
+-98.39 45.996 3316
+-98.264 45.996 3452
+-98.138 45.996 3466
+-98.012 45.996 3426
+-97.886 45.996 3425
+-97.76 45.996 3425
+-97.634 45.996 3438
+-97.508 45.996 3389
+-97.382 45.996 3397
+-97.256 45.996 3396
+-97.13 45.996 3391
+-97.004 45.996 3391
+-96.878 45.996 3390
+-96.752 45.996 3390
+-96.626 45.996 3206
+-96.5 45.996 3230
+-96.374 45.996 3227
+-96.248 45.996 3225
+-96.122 45.996 3207
+-95.996 45.996 3250
+-95.87 45.996 3223
+-95.744 45.996 3219
+-95.618 45.996 3199
+-95.492 45.996 3196
+-95.366 45.996 3120
+-95.24 45.996 3147
+-95.114 45.996 3141
+-94.988 45.996 3136
+-94.862 45.996 3129
+-94.736 45.996 3114
+-94.61 45.996 3107
+-94.484 45.996 3099
+-94.358 45.996 3091
+-94.232 45.996 3082
+-94.106 45.996 3008
+-93.98 45.996 2986
+-93.854 45.996 2958
+-93.728 45.996 2907
+-93.602 45.996 2884
+-93.476 45.996 2854
+-93.35 45.996 2837
+-93.224 45.996 2817
+-93.098 45.996 2787
+-92.972 45.996 2748
+-92.846 45.996 2723
+-92.72 45.996 2695
+-92.594 45.996 2664
+-92.468 45.996 2630
+-92.342 45.996 2592
+-92.216 45.996 2550
+-92.09 45.996 2503
+-91.964 45.996 2452
+-91.838 45.996 2396
+-91.712 45.996 2337
+-91.586 45.996 2275
+-91.46 45.996 2212
+-91.334 45.996 2151
+-91.208 45.996 2097
+-91.082 45.996 2054
+-90.956 45.996 2010
+-90.83 45.996 2003
+-90.704 45.996 1991
+-90.578 45.996 2020
+-90.452 45.996 2058
+-90.326 45.996 2106
+-90.2 45.996 2155
+-90.074 45.996 2201
+-89.948 45.996 2240
+-89.822 45.996 2256
+-89.696 45.996 2282
+-89.57 45.996 2301
+-89.444 45.996 2315
+-89.318 45.996 2326
+-89.192 45.996 2333
+-89.066 45.996 2340
+-88.94 45.996 2347
+-88.814 45.996 2355
+-88.688 45.996 2369
+-88.562 45.996 2380
+-88.436 45.996 2393
+-88.31 45.996 2406
+-88.184 45.996 2420
+-88.058 45.996 2398
+-87.932 45.996 2408
+-87.806 45.996 2418
+-87.68 45.996 2426
+-87.554 45.996 2434
+-87.428 45.996 2439
+-87.302 45.996 2444
+-87.176 45.996 2447
+-87.05 45.996 2449
+-86.924 45.996 2453
+-86.798 45.996 2466
+-86.672 45.996 2466
+-86.546 45.996 2465
+-86.42 45.996 2464
+-86.294 45.996 2481
+-86.168 45.996 2480
+-86.042 45.996 2479
+-85.916 45.996 2477
+-85.79 45.996 2490
+-85.664 45.996 2567
+-85.538 45.996 2566
+-85.412 45.996 2564
+-85.286 45.996 2566
+-85.16 45.996 2565
+-85.034 45.996 2567
+-84.908 45.996 2575
+-84.782 45.996 2567
+-84.656 45.996 2574
+-84.53 45.996 2574
+-84.404 45.996 2576
+-84.278 45.996 2577
+-84.152 45.996 2578
+-84.026 45.996 2579
+-83.9 45.996 2582
+-83.774 45.996 2645
+-83.648 45.996 2647
+-83.522 45.996 2650
+-83.396 45.996 2653
+-83.27 45.996 2665
+-83.144 45.996 2668
+-83.018 45.996 2662
+-82.892 45.996 2665
+-82.766 45.996 2669
+-82.64 45.996 2672
+-82.514 45.996 2655
+-82.388 45.996 2665
+-82.262 45.996 2668
+-82.136 45.996 2771
+-82.01 45.996 2745
+-81.884 45.996 2749
+-81.758 45.996 2854
+-81.632 45.996 2856
+-81.506 45.996 2831
+-81.38 45.996 2879
+-81.254 45.996 2798
+-81.128 45.996 2822
+-81.002 45.996 2868
+-80.876 45.996 2790
+-80.75 45.996 2798
+-80.624 45.996 2722
+-80.498 45.996 2722
+-80.372 45.996 2736
+-80.246 45.996 2717
+-80.12 45.996 2721
+-79.994 45.996 2725
+-79.868 45.996 2677
+-79.742 45.996 2711
+-79.616 45.996 2708
+-79.49 45.996 2701
+-79.364 45.996 2705
+-79.238 45.996 2708
+-79.112 45.996 2712
+-78.986 45.996 2665
+-78.86 45.996 2662
+-78.734 45.996 2665
+-78.608 45.996 2668
+-78.482 45.996 2671
+-78.356 45.996 2670
+-78.23 45.996 2621
+-78.104 45.996 2721
+-77.978 45.996 2719
+-77.852 45.996 2726
+-77.726 45.996 2729
+-77.6 45.996 2731
+-77.474 45.996 2733
+-77.348 45.996 2756
+-77.222 45.996 2738
+-77.096 45.996 2797
+-76.97 45.996 2800
+-76.844 45.996 2793
+-76.718 45.996 2801
+-76.592 45.996 2803
+-76.466 45.996 2805
+-76.34 45.996 2795
+-76.214 45.996 2909
+-76.088 45.996 2911
+-75.962 45.996 2913
+-75.836 45.996 2915
+-75.71 45.996 3015
+-75.584 45.996 2972
+-75.458 45.996 3123
+-75.332 45.996 3124
+-75.206 45.996 3090
+-75.08 45.996 3091
+-74.954 45.996 3092
+-74.828 45.996 3093
+-74.702 45.996 3094
+-74.576 45.996 3095
+-74.45 45.996 3186
+-74.324 45.996 3182
+-74.198 45.996 3184
+-74.072 45.996 3185
+-73.946 45.996 3186
+-73.82 45.996 3132
+-73.694 45.996 3166
+-73.568 45.996 3167
+-73.442 45.996 3240
+-73.316 45.996 3153
+-73.19 45.996 3155
+-73.064 45.996 3156
+-72.938 45.996 3202
+-72.812 45.996 3158
+-72.686 45.996 3159
+-72.56 45.996 3161
+-72.434 45.996 3389
+-72.308 45.996 3336
+-72.182 45.996 3337
+-72.056 45.996 3467
+-71.93 45.996 3441
+-71.804 45.996 3441
+-71.678 45.996 3388
+-71.552 45.996 3461
+-71.426 45.996 3462
+-71.3 45.996 3463
+-71.174 45.996 3464
+-71.048 45.996 3465
+-70.922 45.996 3464
+-70.796 45.996 3465
+-70.67 45.996 3465
+-70.544 45.996 3454
+-70.418 45.996 3402
+-70.292 45.996 3397
+-70.166 45.996 3397
+-70.04 45.996 3398
+-69.914 45.996 3398
+-69.788 45.996 3399
+-69.662 45.996 3400
+-69.536 45.996 3400
+-69.41 45.996 3401
+-69.284 45.996 3401
+-69.158 45.996 3402
+-69.032 45.996 3402
+-68.906 45.996 3403
+-68.78 45.996 3404
+-68.654 45.996 3404
+-68.528 45.996 3405
+-68.402 45.996 3517
+-68.276 45.996 3517
+-68.15 45.996 3502
+-68.024 45.996 3502
+-67.898 45.996 3503
+-67.772 45.996 3503
+-67.646 45.996 3504
+-67.52 45.996 3504
+-67.394 45.996 3504
+-67.268 45.996 3505
+-67.142 45.996 3505
+-67.016 45.996 3506
+-66.89 45.996 3506
+-66.764 45.996 3546
+-66.638 45.996 3546
+-66.512 45.996 3547
+-66.386 45.996 3547
+-66.26 45.996 3548
+-66.134 45.996 3548
+-66.008 45.996 3506
+-65.882 45.996 3507
+-65.756 45.996 3507
+-65.63 45.996 3508
+-65.504 45.996 3548
+-65.378 45.996 3549
+-65.252 45.996 3549
+-65.126 45.996 3500
+-128 45.944 4549
+-127.874 45.944 4592
+-127.748 45.944 4663
+-127.622 45.944 4687
+-127.496 45.944 4719
+-127.37 45.944 4788
+-127.244 45.944 4849
+-127.118 45.944 4969
+-126.992 45.944 5049
+-126.866 45.944 5159
+-126.74 45.944 5324
+-126.614 45.944 5440
+-126.488 45.944 5611
+-126.362 45.944 5801
+-126.236 45.944 5906
+-126.11 45.944 6028
+-125.984 45.944 6156
+-125.858 45.944 6314
+-125.732 45.944 6364
+-125.606 45.944 6492
+-125.48 45.944 6613
+-125.354 45.944 6785
+-125.228 45.944 6841
+-125.102 45.944 6949
+-124.976 45.944 7085
+-124.85 45.944 7240
+-124.724 45.944 7373
+-124.598 45.944 7434
+-124.472 45.944 7618
+-124.346 45.944 7674
+-124.22 45.944 7776
+-124.094 45.944 7901
+-123.968 45.944 8002
+-123.842 45.944 8112
+-123.716 45.944 8195
+-123.59 45.944 8215
+-123.464 45.944 8295
+-123.338 45.944 8384
+-123.212 45.944 8435
+-123.086 45.944 8443
+-122.96 45.944 8472
+-122.834 45.944 8440
+-122.708 45.944 8407
+-122.582 45.944 8384
+-122.456 45.944 8340
+-122.33 45.944 8235
+-122.204 45.944 8243
+-122.078 45.944 8118
+-121.952 45.944 8000
+-121.826 45.944 7913
+-121.7 45.944 7815
+-121.574 45.944 7658
+-121.448 45.944 7513
+-121.322 45.944 7413
+-121.196 45.944 7314
+-121.07 45.944 7185
+-120.944 45.944 7050
+-120.818 45.944 6964
+-120.692 45.944 6766
+-120.566 45.944 6902
+-120.44 45.944 7061
+-120.314 45.944 7124
+-120.188 45.944 7324
+-120.062 45.944 7430
+-119.936 45.944 7572
+-119.81 45.944 7715
+-119.684 45.944 7810
+-119.558 45.944 7986
+-119.432 45.944 8130
+-119.306 45.944 8216
+-119.18 45.944 8334
+-119.054 45.944 8486
+-118.928 45.944 8594
+-118.802 45.944 8741
+-118.676 45.944 8858
+-118.55 45.944 8941
+-118.424 45.944 9081
+-118.298 45.944 9080
+-118.172 45.944 8988
+-118.046 45.944 8896
+-117.92 45.944 8749
+-117.794 45.944 8652
+-117.668 45.944 8512
+-117.542 45.944 8368
+-117.416 45.944 8214
+-117.29 45.944 8107
+-117.164 45.944 7994
+-117.038 45.944 7848
+-116.912 45.944 7771
+-116.786 45.944 7595
+-116.66 45.944 7472
+-116.534 45.944 7329
+-116.408 45.944 7249
+-116.282 45.944 7129
+-116.156 45.944 6948
+-116.03 45.944 6848
+-115.904 45.944 6655
+-115.778 45.944 6688
+-115.652 45.944 6446
+-115.526 45.944 6331
+-115.4 45.944 6040
+-115.274 45.944 5961
+-115.148 45.944 5861
+-115.022 45.944 5722
+-114.896 45.944 5642
+-114.77 45.944 5515
+-114.644 45.944 5405
+-114.518 45.944 5244
+-114.392 45.944 5114
+-114.266 45.944 4988
+-114.14 45.944 4873
+-114.014 45.944 4737
+-113.888 45.944 4592
+-113.762 45.944 4461
+-113.636 45.944 4475
+-113.51 45.944 4368
+-113.384 45.944 4199
+-113.258 45.944 4040
+-113.132 45.944 3943
+-113.006 45.944 3876
+-112.88 45.944 3794
+-112.754 45.944 3613
+-112.628 45.944 3384
+-112.502 45.944 3248
+-112.376 45.944 3318
+-112.25 45.944 3450
+-112.124 45.944 3551
+-111.998 45.944 3600
+-111.872 45.944 3589
+-111.746 45.944 3556
+-111.62 45.944 3569
+-111.494 45.944 3566
+-111.368 45.944 3571
+-111.242 45.944 3574
+-111.116 45.944 3577
+-110.99 45.944 3578
+-110.864 45.944 3580
+-110.738 45.944 3517
+-110.612 45.944 3515
+-110.486 45.944 3517
+-110.36 45.944 3503
+-110.234 45.944 3505
+-110.108 45.944 3506
+-109.982 45.944 3508
+-109.856 45.944 3511
+-109.73 45.944 3513
+-109.604 45.944 3515
+-109.478 45.944 3518
+-109.352 45.944 3520
+-109.226 45.944 3523
+-109.1 45.944 3525
+-108.974 45.944 3434
+-108.848 45.944 3435
+-108.722 45.944 3436
+-108.596 45.944 3438
+-108.47 45.944 3439
+-108.344 45.944 3440
+-108.218 45.944 3442
+-108.092 45.944 3443
+-107.966 45.944 3444
+-107.84 45.944 3446
+-107.714 45.944 3447
+-107.588 45.944 3448
+-107.462 45.944 3449
+-107.336 45.944 3281
+-107.21 45.944 3280
+-107.084 45.944 3280
+-106.958 45.944 3279
+-106.832 45.944 3278
+-106.706 45.944 3277
+-106.58 45.944 3277
+-106.454 45.944 3276
+-106.328 45.944 3275
+-106.202 45.944 3275
+-106.076 45.944 3201
+-105.95 45.944 3200
+-105.824 45.944 3199
+-105.698 45.944 3199
+-105.572 45.944 3198
+-105.446 45.944 3197
+-105.32 45.944 3196
+-105.194 45.944 3165
+-105.068 45.944 3164
+-104.942 45.944 3163
+-104.816 45.944 3162
+-104.69 45.944 3161
+-104.564 45.944 3159
+-104.438 45.944 3157
+-104.312 45.944 2936
+-104.186 45.944 2910
+-104.06 45.944 2905
+-103.934 45.944 2900
+-103.808 45.944 2895
+-103.682 45.944 2799
+-103.556 45.944 2778
+-103.43 45.944 2778
+-103.304 45.944 2747
+-103.178 45.944 2751
+-103.052 45.944 2755
+-102.926 45.944 2839
+-102.8 45.944 2990
+-102.674 45.944 3039
+-102.548 45.944 3155
+-102.422 45.944 3130
+-102.296 45.944 3252
+-102.17 45.944 3252
+-102.044 45.944 3251
+-101.918 45.944 3251
+-101.792 45.944 3250
+-101.666 45.944 3222
+-101.54 45.944 3253
+-101.414 45.944 3252
+-101.288 45.944 3285
+-101.162 45.944 3257
+-101.036 45.944 3304
+-100.91 45.944 3209
+-100.784 45.944 3233
+-100.658 45.944 3237
+-100.532 45.944 3217
+-100.406 45.944 3235
+-100.28 45.944 3235
+-100.154 45.944 3238
+-100.028 45.944 3259
+-99.902 45.944 3259
+-99.776 45.944 3259
+-99.65 45.944 3358
+-99.524 45.944 3358
+-99.398 45.944 3358
+-99.272 45.944 3320
+-99.146 45.944 3415
+-99.02 45.944 3423
+-98.894 45.944 3422
+-98.768 45.944 3420
+-98.642 45.944 3420
+-98.516 45.944 3392
+-98.39 45.944 3389
+-98.264 45.944 3315
+-98.138 45.944 3450
+-98.012 45.944 3464
+-97.886 45.944 3425
+-97.76 45.944 3424
+-97.634 45.944 3423
+-97.508 45.944 3436
+-97.382 45.944 3388
+-97.256 45.944 3395
+-97.13 45.944 3390
+-97.004 45.944 3390
+-96.878 45.944 3389
+-96.752 45.944 3389
+-96.626 45.944 3388
+-96.5 45.944 3207
+-96.374 45.944 3231
+-96.248 45.944 3228
+-96.122 45.944 3225
+-95.996 45.944 3208
+-95.87 45.944 3250
+-95.744 45.944 3224
+-95.618 45.944 3220
+-95.492 45.944 3200
+-95.366 45.944 3197
+-95.24 45.944 3121
+-95.114 45.944 3148
+-94.988 45.944 3142
+-94.862 45.944 3137
+-94.736 45.944 3130
+-94.61 45.944 3115
+-94.484 45.944 3108
+-94.358 45.944 3101
+-94.232 45.944 3092
+-94.106 45.944 3083
+-93.98 45.944 3009
+-93.854 45.944 2987
+-93.728 45.944 2960
+-93.602 45.944 2909
+-93.476 45.944 2885
+-93.35 45.944 2856
+-93.224 45.944 2839
+-93.098 45.944 2818
+-92.972 45.944 2788
+-92.846 45.944 2749
+-92.72 45.944 2724
+-92.594 45.944 2696
+-92.468 45.944 2665
+-92.342 45.944 2631
+-92.216 45.944 2594
+-92.09 45.944 2554
+-91.964 45.944 2510
+-91.838 45.944 2462
+-91.712 45.944 2413
+-91.586 45.944 2362
+-91.46 45.944 2311
+-91.334 45.944 2263
+-91.208 45.944 2221
+-91.082 45.944 2188
+-90.956 45.944 2168
+-90.83 45.944 2142
+-90.704 45.944 2150
+-90.578 45.944 2141
+-90.452 45.944 2170
+-90.326 45.944 2198
+-90.2 45.944 2231
+-90.074 45.944 2262
+-89.948 45.944 2288
+-89.822 45.944 2292
+-89.696 45.944 2307
+-89.57 45.944 2317
+-89.444 45.944 2323
+-89.318 45.944 2326
+-89.192 45.944 2328
+-89.066 45.944 2330
+-88.94 45.944 2334
+-88.814 45.944 2344
+-88.688 45.944 2353
+-88.562 45.944 2365
+-88.436 45.944 2379
+-88.31 45.944 2396
+-88.184 45.944 2412
+-88.058 45.944 2392
+-87.932 45.944 2405
+-87.806 45.944 2415
+-87.68 45.944 2425
+-87.554 45.944 2432
+-87.428 45.944 2438
+-87.302 45.944 2443
+-87.176 45.944 2446
+-87.05 45.944 2451
+-86.924 45.944 2464
+-86.798 45.944 2464
+-86.672 45.944 2464
+-86.546 45.944 2463
+-86.42 45.944 2479
+-86.294 45.944 2478
+-86.168 45.944 2476
+-86.042 45.944 2475
+-85.916 45.944 2487
+-85.79 45.944 2562
+-85.664 45.944 2560
+-85.538 45.944 2558
+-85.412 45.944 2559
+-85.286 45.944 2558
+-85.16 45.944 2560
+-85.034 45.944 2568
+-84.908 45.944 2560
+-84.782 45.944 2566
+-84.656 45.944 2566
+-84.53 45.944 2568
+-84.404 45.944 2569
+-84.278 45.944 2570
+-84.152 45.944 2571
+-84.026 45.944 2574
+-83.9 45.944 2636
+-83.774 45.944 2638
+-83.648 45.944 2641
+-83.522 45.944 2644
+-83.396 45.944 2656
+-83.27 45.944 2659
+-83.144 45.944 2653
+-83.018 45.944 2657
+-82.892 45.944 2660
+-82.766 45.944 2664
+-82.64 45.944 2648
+-82.514 45.944 2657
+-82.388 45.944 2661
+-82.262 45.944 2763
+-82.136 45.944 2737
+-82.01 45.944 2741
+-81.884 45.944 2845
+-81.758 45.944 2847
+-81.632 45.944 2823
+-81.506 45.944 2870
+-81.38 45.944 2791
+-81.254 45.944 2815
+-81.128 45.944 2860
+-81.002 45.944 2784
+-80.876 45.944 2792
+-80.75 45.944 2717
+-80.624 45.944 2716
+-80.498 45.944 2731
+-80.372 45.944 2712
+-80.246 45.944 2716
+-80.12 45.944 2720
+-79.994 45.944 2673
+-79.868 45.944 2707
+-79.742 45.944 2704
+-79.616 45.944 2698
+-79.49 45.944 2701
+-79.364 45.944 2705
+-79.238 45.944 2709
+-79.112 45.944 2662
+-78.986 45.944 2660
+-78.86 45.944 2663
+-78.734 45.944 2666
+-78.608 45.944 2669
+-78.482 45.944 2668
+-78.356 45.944 2620
+-78.23 45.944 2719
+-78.104 45.944 2717
+-77.978 45.944 2724
+-77.852 45.944 2727
+-77.726 45.944 2729
+-77.6 45.944 2731
+-77.474 45.944 2754
+-77.348 45.944 2737
+-77.222 45.944 2795
+-77.096 45.944 2798
+-76.97 45.944 2791
+-76.844 45.944 2799
+-76.718 45.944 2802
+-76.592 45.944 2804
+-76.466 45.944 2794
+-76.34 45.944 2907
+-76.214 45.944 2909
+-76.088 45.944 2912
+-75.962 45.944 2914
+-75.836 45.944 3013
+-75.71 45.944 2971
+-75.584 45.944 3122
+-75.458 45.944 3123
+-75.332 45.944 3089
+-75.206 45.944 3090
+-75.08 45.944 3091
+-74.954 45.944 3092
+-74.828 45.944 3093
+-74.702 45.944 3094
+-74.576 45.944 3185
+-74.45 45.944 3181
+-74.324 45.944 3183
+-74.198 45.944 3184
+-74.072 45.944 3185
+-73.946 45.944 3131
+-73.82 45.944 3165
+-73.694 45.944 3166
+-73.568 45.944 3238
+-73.442 45.944 3153
+-73.316 45.944 3154
+-73.19 45.944 3155
+-73.064 45.944 3201
+-72.938 45.944 3157
+-72.812 45.944 3159
+-72.686 45.944 3160
+-72.56 45.944 3388
+-72.434 45.944 3335
+-72.308 45.944 3336
+-72.182 45.944 3466
+-72.056 45.944 3440
+-71.93 45.944 3441
+-71.804 45.944 3388
+-71.678 45.944 3461
+-71.552 45.944 3462
+-71.426 45.944 3462
+-71.3 45.944 3463
+-71.174 45.944 3464
+-71.048 45.944 3463
+-70.922 45.944 3464
+-70.796 45.944 3465
+-70.67 45.944 3454
+-70.544 45.944 3402
+-70.418 45.944 3396
+-70.292 45.944 3397
+-70.166 45.944 3397
+-70.04 45.944 3398
+-69.914 45.944 3399
+-69.788 45.944 3399
+-69.662 45.944 3400
+-69.536 45.944 3400
+-69.41 45.944 3401
+-69.284 45.944 3402
+-69.158 45.944 3402
+-69.032 45.944 3403
+-68.906 45.944 3403
+-68.78 45.944 3404
+-68.654 45.944 3404
+-68.528 45.944 3517
+-68.402 45.944 3517
+-68.276 45.944 3501
+-68.15 45.944 3502
+-68.024 45.944 3502
+-67.898 45.944 3503
+-67.772 45.944 3503
+-67.646 45.944 3504
+-67.52 45.944 3504
+-67.394 45.944 3504
+-67.268 45.944 3505
+-67.142 45.944 3505
+-67.016 45.944 3506
+-66.89 45.944 3545
+-66.764 45.944 3546
+-66.638 45.944 3547
+-66.512 45.944 3547
+-66.386 45.944 3548
+-66.26 45.944 3548
+-66.134 45.944 3506
+-66.008 45.944 3506
+-65.882 45.944 3507
+-65.756 45.944 3507
+-65.63 45.944 3548
+-65.504 45.944 3548
+-65.378 45.944 3549
+-65.252 45.944 3500
+-65.126 45.944 3500
+-128 45.892 4574
+-127.874 45.892 4587
+-127.748 45.892 4595
+-127.622 45.892 4594
+-127.496 45.892 4570
+-127.37 45.892 4693
+-127.244 45.892 4862
+-127.118 45.892 4985
+-126.992 45.892 4982
+-126.866 45.892 5114
+-126.74 45.892 5309
+-126.614 45.892 5481
+-126.488 45.892 5600
+-126.362 45.892 5746
+-126.236 45.892 5843
+-126.11 45.892 6011
+-125.984 45.892 6123
+-125.858 45.892 6236
+-125.732 45.892 6390
+-125.606 45.892 6496
+-125.48 45.892 6609
+-125.354 45.892 6651
+-125.228 45.892 6844
+-125.102 45.892 7005
+-124.976 45.892 7114
+-124.85 45.892 7186
+-124.724 45.892 7337
+-124.598 45.892 7446
+-124.472 45.892 7602
+-124.346 45.892 7697
+-124.22 45.892 7799
+-124.094 45.892 7864
+-123.968 45.892 7986
+-123.842 45.892 8087
+-123.716 45.892 8190
+-123.59 45.892 8186
+-123.464 45.892 8283
+-123.338 45.892 8292
+-123.212 45.892 8370
+-123.086 45.892 8395
+-122.96 45.892 8393
+-122.834 45.892 8387
+-122.708 45.892 8386
+-122.582 45.892 8315
+-122.456 45.892 8287
+-122.33 45.892 8202
+-122.204 45.892 8119
+-122.078 45.892 8060
+-121.952 45.892 7962
+-121.826 45.892 7909
+-121.7 45.892 7806
+-121.574 45.892 7639
+-121.448 45.892 7490
+-121.322 45.892 7376
+-121.196 45.892 7358
+-121.07 45.892 7161
+-120.944 45.892 7092
+-120.818 45.892 7009
+-120.692 45.892 6816
+-120.566 45.892 6903
+-120.44 45.892 7002
+-120.314 45.892 7182
+-120.188 45.892 7292
+-120.062 45.892 7440
+-119.936 45.892 7513
+-119.81 45.892 7661
+-119.684 45.892 7829
+-119.558 45.892 7958
+-119.432 45.892 8101
+-119.306 45.892 8220
+-119.18 45.892 8390
+-119.054 45.892 8473
+-118.928 45.892 8583
+-118.802 45.892 8673
+-118.676 45.892 8809
+-118.55 45.892 8953
+-118.424 45.892 8973
+-118.298 45.892 8974
+-118.172 45.892 8927
+-118.046 45.892 8834
+-117.92 45.892 8789
+-117.794 45.892 8617
+-117.668 45.892 8549
+-117.542 45.892 8405
+-117.416 45.892 8261
+-117.29 45.892 8159
+-117.164 45.892 7983
+-117.038 45.892 7866
+-116.912 45.892 7742
+-116.786 45.892 7567
+-116.66 45.892 7425
+-116.534 45.892 7281
+-116.408 45.892 7246
+-116.282 45.892 7078
+-116.156 45.892 6921
+-116.03 45.892 6839
+-115.904 45.892 6763
+-115.778 45.892 6655
+-115.652 45.892 6475
+-115.526 45.892 6246
+-115.4 45.892 6032
+-115.274 45.892 5896
+-115.148 45.892 5794
+-115.022 45.892 5702
+-114.896 45.892 5593
+-114.77 45.892 5520
+-114.644 45.892 5273
+-114.518 45.892 5259
+-114.392 45.892 5094
+-114.266 45.892 4944
+-114.14 45.892 4803
+-114.014 45.892 4721
+-113.888 45.892 4591
+-113.762 45.892 4571
+-113.636 45.892 4544
+-113.51 45.892 4443
+-113.384 45.892 4289
+-113.258 45.892 4163
+-113.132 45.892 4033
+-113.006 45.892 3898
+-112.88 45.892 3767
+-112.754 45.892 3567
+-112.628 45.892 3265
+-112.502 45.892 3098
+-112.376 45.892 3217
+-112.25 45.892 3394
+-112.124 45.892 3505
+-111.998 45.892 3532
+-111.872 45.892 3569
+-111.746 45.892 3537
+-111.62 45.892 3551
+-111.494 45.892 3560
+-111.368 45.892 3565
+-111.242 45.892 3556
+-111.116 45.892 3559
+-110.99 45.892 3560
+-110.864 45.892 3499
+-110.738 45.892 3501
+-110.612 45.892 3503
+-110.486 45.892 3486
+-110.36 45.892 3488
+-110.234 45.892 3490
+-110.108 45.892 3493
+-109.982 45.892 3496
+-109.856 45.892 3499
+-109.73 45.892 3502
+-109.604 45.892 3505
+-109.478 45.892 3508
+-109.352 45.892 3494
+-109.226 45.892 3497
+-109.1 45.892 3500
+-108.974 45.892 3502
+-108.848 45.892 3428
+-108.722 45.892 3430
+-108.596 45.892 3432
+-108.47 45.892 3433
+-108.344 45.892 3435
+-108.218 45.892 3437
+-108.092 45.892 3438
+-107.966 45.892 3440
+-107.84 45.892 3442
+-107.714 45.892 3443
+-107.588 45.892 3444
+-107.462 45.892 3446
+-107.336 45.892 3316
+-107.21 45.892 3279
+-107.084 45.892 3278
+-106.958 45.892 3278
+-106.832 45.892 3277
+-106.706 45.892 3277
+-106.58 45.892 3276
+-106.454 45.892 3275
+-106.328 45.892 3275
+-106.202 45.892 3274
+-106.076 45.892 3274
+-105.95 45.892 3200
+-105.824 45.892 3199
+-105.698 45.892 3199
+-105.572 45.892 3198
+-105.446 45.892 3167
+-105.32 45.892 3166
+-105.194 45.892 3165
+-105.068 45.892 3164
+-104.942 45.892 3163
+-104.816 45.892 3162
+-104.69 45.892 3161
+-104.564 45.892 3159
+-104.438 45.892 3157
+-104.312 45.892 2913
+-104.186 45.892 2908
+-104.06 45.892 2903
+-103.934 45.892 2898
+-103.808 45.892 2893
+-103.682 45.892 2798
+-103.556 45.892 2778
+-103.43 45.892 2777
+-103.304 45.892 2748
+-103.178 45.892 2752
+-103.052 45.892 2756
+-102.926 45.892 2841
+-102.8 45.892 2992
+-102.674 45.892 3040
+-102.548 45.892 3151
+-102.422 45.892 3273
+-102.296 45.892 3252
+-102.17 45.892 3251
+-102.044 45.892 3250
+-101.918 45.892 3250
+-101.792 45.892 3249
+-101.666 45.892 3248
+-101.54 45.892 3221
+-101.414 45.892 3251
+-101.288 45.892 3251
+-101.162 45.892 3283
+-101.036 45.892 3255
+-100.91 45.892 3303
+-100.784 45.892 3208
+-100.658 45.892 3232
+-100.532 45.892 3235
+-100.406 45.892 3215
+-100.28 45.892 3233
+-100.154 45.892 3234
+-100.028 45.892 3237
+-99.902 45.892 3258
+-99.776 45.892 3258
+-99.65 45.892 3258
+-99.524 45.892 3356
+-99.398 45.892 3356
+-99.272 45.892 3356
+-99.146 45.892 3319
+-99.02 45.892 3413
+-98.894 45.892 3421
+-98.768 45.892 3421
+-98.642 45.892 3418
+-98.516 45.892 3418
+-98.39 45.892 3391
+-98.264 45.892 3387
+-98.138 45.892 3314
+-98.012 45.892 3449
+-97.886 45.892 3462
+-97.76 45.892 3423
+-97.634 45.892 3422
+-97.508 45.892 3422
+-97.382 45.892 3434
+-97.256 45.892 3386
+-97.13 45.892 3394
+-97.004 45.892 3393
+-96.878 45.892 3388
+-96.752 45.892 3388
+-96.626 45.892 3387
+-96.5 45.892 3386
+-96.374 45.892 3208
+-96.248 45.892 3232
+-96.122 45.892 3229
+-95.996 45.892 3226
+-95.87 45.892 3209
+-95.744 45.892 3251
+-95.618 45.892 3225
+-95.492 45.892 3221
+-95.366 45.892 3202
+-95.24 45.892 3198
+-95.114 45.892 3123
+-94.988 45.892 3149
+-94.862 45.892 3144
+-94.736 45.892 3138
+-94.61 45.892 3132
+-94.484 45.892 3117
+-94.358 45.892 3110
+-94.232 45.892 3102
+-94.106 45.892 3094
+-93.98 45.892 3085
+-93.854 45.892 3012
+-93.728 45.892 2990
+-93.602 45.892 2962
+-93.476 45.892 2912
+-93.35 45.892 2888
+-93.224 45.892 2859
+-93.098 45.892 2842
+-92.972 45.892 2821
+-92.846 45.892 2791
+-92.72 45.892 2752
+-92.594 45.892 2728
+-92.468 45.892 2701
+-92.342 45.892 2671
+-92.216 45.892 2638
+-92.09 45.892 2603
+-91.964 45.892 2566
+-91.838 45.892 2526
+-91.712 45.892 2485
+-91.586 45.892 2443
+-91.46 45.892 2402
+-91.334 45.892 2364
+-91.208 45.892 2331
+-91.082 45.892 2305
+-90.956 45.892 2288
+-90.83 45.892 2259
+-90.704 45.892 2263
+-90.578 45.892 2274
+-90.452 45.892 2261
+-90.326 45.892 2280
+-90.2 45.892 2295
+-90.074 45.892 2313
+-89.948 45.892 2327
+-89.822 45.892 2337
+-89.696 45.892 2327
+-89.57 45.892 2328
+-89.444 45.892 2326
+-89.318 45.892 2321
+-89.192 45.892 2316
+-89.066 45.892 2313
+-88.94 45.892 2317
+-88.814 45.892 2322
+-88.688 45.892 2332
+-88.562 45.892 2346
+-88.436 45.892 2365
+-88.31 45.892 2383
+-88.184 45.892 2402
+-88.058 45.892 2386
+-87.932 45.892 2400
+-87.806 45.892 2413
+-87.68 45.892 2423
+-87.554 45.892 2431
+-87.428 45.892 2437
+-87.302 45.892 2442
+-87.176 45.892 2448
+-87.05 45.892 2461
+-86.924 45.892 2462
+-86.798 45.892 2462
+-86.672 45.892 2461
+-86.546 45.892 2478
+-86.42 45.892 2476
+-86.294 45.892 2474
+-86.168 45.892 2472
+-86.042 45.892 2484
+-85.916 45.892 2556
+-85.79 45.892 2554
+-85.664 45.892 2551
+-85.538 45.892 2553
+-85.412 45.892 2551
+-85.286 45.892 2553
+-85.16 45.892 2560
+-85.034 45.892 2552
+-84.908 45.892 2558
+-84.782 45.892 2558
+-84.656 45.892 2559
+-84.53 45.892 2560
+-84.404 45.892 2561
+-84.278 45.892 2563
+-84.152 45.892 2566
+-84.026 45.892 2626
+-83.9 45.892 2628
+-83.774 45.892 2631
+-83.648 45.892 2634
+-83.522 45.892 2646
+-83.396 45.892 2649
+-83.27 45.892 2644
+-83.144 45.892 2648
+-83.018 45.892 2651
+-82.892 45.892 2655
+-82.766 45.892 2640
+-82.64 45.892 2649
+-82.514 45.892 2653
+-82.388 45.892 2753
+-82.262 45.892 2729
+-82.136 45.892 2733
+-82.01 45.892 2835
+-81.884 45.892 2837
+-81.758 45.892 2814
+-81.632 45.892 2861
+-81.506 45.892 2783
+-81.38 45.892 2807
+-81.254 45.892 2852
+-81.128 45.892 2777
+-81.002 45.892 2785
+-80.876 45.892 2711
+-80.75 45.892 2711
+-80.624 45.892 2725
+-80.498 45.892 2707
+-80.372 45.892 2712
+-80.246 45.892 2716
+-80.12 45.892 2669
+-79.994 45.892 2703
+-79.868 45.892 2700
+-79.742 45.892 2694
+-79.616 45.892 2698
+-79.49 45.892 2702
+-79.364 45.892 2705
+-79.238 45.892 2659
+-79.112 45.892 2657
+-78.986 45.892 2661
+-78.86 45.892 2664
+-78.734 45.892 2667
+-78.608 45.892 2666
+-78.482 45.892 2618
+-78.356 45.892 2717
+-78.23 45.892 2715
+-78.104 45.892 2722
+-77.978 45.892 2725
+-77.852 45.892 2727
+-77.726 45.892 2730
+-77.6 45.892 2752
+-77.474 45.892 2735
+-77.348 45.892 2794
+-77.222 45.892 2796
+-77.096 45.892 2790
+-76.97 45.892 2798
+-76.844 45.892 2800
+-76.718 45.892 2803
+-76.592 45.892 2793
+-76.466 45.892 2906
+-76.34 45.892 2908
+-76.214 45.892 2910
+-76.088 45.892 2912
+-75.962 45.892 3012
+-75.836 45.892 2969
+-75.71 45.892 3120
+-75.584 45.892 3122
+-75.458 45.892 3088
+-75.332 45.892 3089
+-75.206 45.892 3090
+-75.08 45.892 3091
+-74.954 45.892 3092
+-74.828 45.892 3093
+-74.702 45.892 3184
+-74.576 45.892 3180
+-74.45 45.892 3182
+-74.324 45.892 3183
+-74.198 45.892 3184
+-74.072 45.892 3130
+-73.946 45.892 3164
+-73.82 45.892 3165
+-73.694 45.892 3237
+-73.568 45.892 3152
+-73.442 45.892 3153
+-73.316 45.892 3154
+-73.19 45.892 3200
+-73.064 45.892 3156
+-72.938 45.892 3158
+-72.812 45.892 3159
+-72.686 45.892 3387
+-72.56 45.892 3334
+-72.434 45.892 3335
+-72.308 45.892 3466
+-72.182 45.892 3439
+-72.056 45.892 3440
+-71.93 45.892 3387
+-71.804 45.892 3460
+-71.678 45.892 3461
+-71.552 45.892 3462
+-71.426 45.892 3463
+-71.3 45.892 3463
+-71.174 45.892 3463
+-71.048 45.892 3463
+-70.922 45.892 3464
+-70.796 45.892 3453
+-70.67 45.892 3401
+-70.544 45.892 3396
+-70.418 45.892 3396
+-70.292 45.892 3397
+-70.166 45.892 3398
+-70.04 45.892 3398
+-69.914 45.892 3399
+-69.788 45.892 3399
+-69.662 45.892 3400
+-69.536 45.892 3401
+-69.41 45.892 3401
+-69.284 45.892 3402
+-69.158 45.892 3402
+-69.032 45.892 3403
+-68.906 45.892 3403
+-68.78 45.892 3404
+-68.654 45.892 3516
+-68.528 45.892 3517
+-68.402 45.892 3501
+-68.276 45.892 3502
+-68.15 45.892 3502
+-68.024 45.892 3502
+-67.898 45.892 3503
+-67.772 45.892 3503
+-67.646 45.892 3504
+-67.52 45.892 3504
+-67.394 45.892 3505
+-67.268 45.892 3505
+-67.142 45.892 3505
+-67.016 45.892 3545
+-66.89 45.892 3546
+-66.764 45.892 3546
+-66.638 45.892 3547
+-66.512 45.892 3547
+-66.386 45.892 3548
+-66.26 45.892 3506
+-66.134 45.892 3506
+-66.008 45.892 3507
+-65.882 45.892 3507
+-65.756 45.892 3547
+-65.63 45.892 3548
+-65.504 45.892 3548
+-65.378 45.892 3500
+-65.252 45.892 3500
+-65.126 45.892 3500
+-128 45.84 4529
+-127.874 45.84 4578
+-127.748 45.84 4563
+-127.622 45.84 4503
+-127.496 45.84 4402
+-127.37 45.84 4596
+-127.244 45.84 4829
+-127.118 45.84 4961
+-126.992 45.84 5052
+-126.866 45.84 5160
+-126.74 45.84 5343
+-126.614 45.84 5460
+-126.488 45.84 5588
+-126.362 45.84 5685
+-126.236 45.84 5807
+-126.11 45.84 5987
+-125.984 45.84 6116
+-125.858 45.84 6183
+-125.732 45.84 6323
+-125.606 45.84 6434
+-125.48 45.84 6603
+-125.354 45.84 6654
+-125.228 45.84 6796
+-125.102 45.84 6944
+-124.976 45.84 7075
+-124.85 45.84 7173
+-124.724 45.84 7322
+-124.598 45.84 7386
+-124.472 45.84 7542
+-124.346 45.84 7654
+-124.22 45.84 7719
+-124.094 45.84 7835
+-123.968 45.84 7909
+-123.842 45.84 8004
+-123.716 45.84 8078
+-123.59 45.84 8185
+-123.464 45.84 8244
+-123.338 45.84 8275
+-123.212 45.84 8284
+-123.086 45.84 8325
+-122.96 45.84 8317
+-122.834 45.84 8337
+-122.708 45.84 8321
+-122.582 45.84 8299
+-122.456 45.84 8198
+-122.33 45.84 8154
+-122.204 45.84 8074
+-122.078 45.84 8009
+-121.952 45.84 7966
+-121.826 45.84 7866
+-121.7 45.84 7771
+-121.574 45.84 7599
+-121.448 45.84 7562
+-121.322 45.84 7385
+-121.196 45.84 7263
+-121.07 45.84 7164
+-120.944 45.84 6980
+-120.818 45.84 6950
+-120.692 45.84 6785
+-120.566 45.84 6839
+-120.44 45.84 7082
+-120.314 45.84 7147
+-120.188 45.84 7286
+-120.062 45.84 7415
+-119.936 45.84 7543
+-119.81 45.84 7670
+-119.684 45.84 7804
+-119.558 45.84 7982
+-119.432 45.84 8116
+-119.306 45.84 8261
+-119.18 45.84 8333
+-119.054 45.84 8484
+-118.928 45.84 8563
+-118.802 45.84 8717
+-118.676 45.84 8778
+-118.55 45.84 8845
+-118.424 45.84 8900
+-118.298 45.84 8951
+-118.172 45.84 8886
+-118.046 45.84 8812
+-117.92 45.84 8711
+-117.794 45.84 8553
+-117.668 45.84 8463
+-117.542 45.84 8301
+-117.416 45.84 8170
+-117.29 45.84 8128
+-117.164 45.84 7953
+-117.038 45.84 7813
+-116.912 45.84 7706
+-116.786 45.84 7568
+-116.66 45.84 7448
+-116.534 45.84 7351
+-116.408 45.84 7205
+-116.282 45.84 7036
+-116.156 45.84 6916
+-116.03 45.84 6831
+-115.904 45.84 6742
+-115.778 45.84 6611
+-115.652 45.84 6441
+-115.526 45.84 6213
+-115.4 45.84 6060
+-115.274 45.84 5918
+-115.148 45.84 5785
+-115.022 45.84 5698
+-114.896 45.84 5629
+-114.77 45.84 5451
+-114.644 45.84 5374
+-114.518 45.84 5231
+-114.392 45.84 5088
+-114.266 45.84 4927
+-114.14 45.84 4809
+-114.014 45.84 4677
+-113.888 45.84 4640
+-113.762 45.84 4607
+-113.636 45.84 4592
+-113.51 45.84 4469
+-113.384 45.84 4369
+-113.258 45.84 4223
+-113.132 45.84 4098
+-113.006 45.84 3964
+-112.88 45.84 3798
+-112.754 45.84 3597
+-112.628 45.84 3363
+-112.502 45.84 3232
+-112.376 45.84 3291
+-112.25 45.84 3411
+-112.124 45.84 3465
+-111.998 45.84 3519
+-111.872 45.84 3551
+-111.746 45.84 3516
+-111.62 45.84 3528
+-111.494 45.84 3535
+-111.368 45.84 3540
+-111.242 45.84 3543
+-111.116 45.84 3545
+-110.99 45.84 3547
+-110.864 45.84 3479
+-110.738 45.84 3482
+-110.612 45.84 3467
+-110.486 45.84 3470
+-110.36 45.84 3472
+-110.234 45.84 3476
+-110.108 45.84 3479
+-109.982 45.84 3483
+-109.856 45.84 3486
+-109.73 45.84 3490
+-109.604 45.84 3494
+-109.478 45.84 3482
+-109.352 45.84 3485
+-109.226 45.84 3489
+-109.1 45.84 3492
+-108.974 45.84 3495
+-108.848 45.84 3498
+-108.722 45.84 3424
+-108.596 45.84 3426
+-108.47 45.84 3428
+-108.344 45.84 3430
+-108.218 45.84 3432
+-108.092 45.84 3434
+-107.966 45.84 3436
+-107.84 45.84 3437
+-107.714 45.84 3439
+-107.588 45.84 3441
+-107.462 45.84 3313
+-107.336 45.84 3313
+-107.21 45.84 3313
+-107.084 45.84 3277
+-106.958 45.84 3277
+-106.832 45.84 3276
+-106.706 45.84 3276
+-106.58 45.84 3275
+-106.454 45.84 3275
+-106.328 45.84 3274
+-106.202 45.84 3274
+-106.076 45.84 3273
+-105.95 45.84 3273
+-105.824 45.84 3200
+-105.698 45.84 3199
+-105.572 45.84 3168
+-105.446 45.84 3167
+-105.32 45.84 3166
+-105.194 45.84 3165
+-105.068 45.84 3164
+-104.942 45.84 3163
+-104.816 45.84 3162
+-104.69 45.84 3161
+-104.564 45.84 3159
+-104.438 45.84 3156
+-104.312 45.84 2911
+-104.186 45.84 2906
+-104.06 45.84 2901
+-103.934 45.84 2895
+-103.808 45.84 2890
+-103.682 45.84 2797
+-103.556 45.84 2778
+-103.43 45.84 2777
+-103.304 45.84 2748
+-103.178 45.84 2753
+-103.052 45.84 2757
+-102.926 45.84 2820
+-102.8 45.84 2971
+-102.674 45.84 3018
+-102.548 45.84 3152
+-102.422 45.84 3263
+-102.296 45.84 3251
+-102.17 45.84 3250
+-102.044 45.84 3249
+-101.918 45.84 3249
+-101.792 45.84 3248
+-101.666 45.84 3247
+-101.54 45.84 3247
+-101.414 45.84 3219
+-101.288 45.84 3250
+-101.162 45.84 3249
+-101.036 45.84 3281
+-100.91 45.84 3254
+-100.784 45.84 3301
+-100.658 45.84 3207
+-100.532 45.84 3230
+-100.406 45.84 3234
+-100.28 45.84 3214
+-100.154 45.84 3232
+-100.028 45.84 3232
+-99.902 45.84 3235
+-99.776 45.84 3256
+-99.65 45.84 3256
+-99.524 45.84 3257
+-99.398 45.84 3355
+-99.272 45.84 3355
+-99.146 45.84 3355
+-99.02 45.84 3317
+-98.894 45.84 3411
+-98.768 45.84 3419
+-98.642 45.84 3419
+-98.516 45.84 3417
+-98.39 45.84 3416
+-98.264 45.84 3389
+-98.138 45.84 3386
+-98.012 45.84 3313
+-97.886 45.84 3447
+-97.76 45.84 3460
+-97.634 45.84 3422
+-97.508 45.84 3421
+-97.382 45.84 3420
+-97.256 45.84 3432
+-97.13 45.84 3385
+-97.004 45.84 3392
+-96.878 45.84 3387
+-96.752 45.84 3386
+-96.626 45.84 3386
+-96.5 45.84 3385
+-96.374 45.84 3385
+-96.248 45.84 3209
+-96.122 45.84 3232
+-95.996 45.84 3230
+-95.87 45.84 3227
+-95.744 45.84 3211
+-95.618 45.84 3252
+-95.492 45.84 3226
+-95.366 45.84 3222
+-95.24 45.84 3203
+-95.114 45.84 3200
+-94.988 45.84 3125
+-94.862 45.84 3151
+-94.736 45.84 3146
+-94.61 45.84 3140
+-94.484 45.84 3134
+-94.358 45.84 3119
+-94.232 45.84 3112
+-94.106 45.84 3105
+-93.98 45.84 3097
+-93.854 45.84 3088
+-93.728 45.84 3015
+-93.602 45.84 2994
+-93.476 45.84 2967
+-93.35 45.84 2917
+-93.224 45.84 2893
+-93.098 45.84 2864
+-92.972 45.84 2847
+-92.846 45.84 2827
+-92.72 45.84 2797
+-92.594 45.84 2759
+-92.468 45.84 2735
+-92.342 45.84 2709
+-92.216 45.84 2681
+-92.09 45.84 2651
+-91.964 45.84 2619
+-91.838 45.84 2586
+-91.712 45.84 2551
+-91.586 45.84 2517
+-91.46 45.84 2483
+-91.334 45.84 2453
+-91.208 45.84 2425
+-91.082 45.84 2404
+-90.956 45.84 2389
+-90.83 45.84 2380
+-90.704 45.84 2355
+-90.578 45.84 2358
+-90.452 45.84 2370
+-90.326 45.84 2343
+-90.2 45.84 2352
+-90.074 45.84 2354
+-89.948 45.84 2358
+-89.822 45.84 2358
+-89.696 45.84 2340
+-89.57 45.84 2332
+-89.444 45.84 2321
+-89.318 45.84 2309
+-89.192 45.84 2297
+-89.066 45.84 2291
+-88.94 45.84 2288
+-88.814 45.84 2292
+-88.688 45.84 2303
+-88.562 45.84 2324
+-88.436 45.84 2345
+-88.31 45.84 2368
+-88.184 45.84 2361
+-88.058 45.84 2379
+-87.932 45.84 2396
+-87.806 45.84 2410
+-87.68 45.84 2421
+-87.554 45.84 2430
+-87.428 45.84 2437
+-87.302 45.84 2444
+-87.176 45.84 2459
+-87.05 45.84 2460
+-86.924 45.84 2461
+-86.798 45.84 2460
+-86.672 45.84 2476
+-86.546 45.84 2475
+-86.42 45.84 2473
+-86.294 45.84 2470
+-86.168 45.84 2482
+-86.042 45.84 2551
+-85.916 45.84 2548
+-85.79 45.84 2545
+-85.664 45.84 2546
+-85.538 45.84 2543
+-85.412 45.84 2545
+-85.286 45.84 2551
+-85.16 45.84 2544
+-85.034 45.84 2549
+-84.908 45.84 2549
+-84.782 45.84 2551
+-84.656 45.84 2551
+-84.53 45.84 2552
+-84.404 45.84 2554
+-84.278 45.84 2556
+-84.152 45.84 2615
+-84.026 45.84 2618
+-83.9 45.84 2621
+-83.774 45.84 2624
+-83.648 45.84 2635
+-83.522 45.84 2639
+-83.396 45.84 2634
+-83.27 45.84 2638
+-83.144 45.84 2642
+-83.018 45.84 2646
+-82.892 45.84 2631
+-82.766 45.84 2641
+-82.64 45.84 2645
+-82.514 45.84 2744
+-82.388 45.84 2720
+-82.262 45.84 2724
+-82.136 45.84 2825
+-82.01 45.84 2828
+-81.884 45.84 2805
+-81.758 45.84 2852
+-81.632 45.84 2775
+-81.506 45.84 2799
+-81.38 45.84 2843
+-81.254 45.84 2769
+-81.128 45.84 2778
+-81.002 45.84 2705
+-80.876 45.84 2705
+-80.75 45.84 2720
+-80.624 45.84 2702
+-80.498 45.84 2707
+-80.372 45.84 2711
+-80.246 45.84 2665
+-80.12 45.84 2698
+-79.994 45.84 2696
+-79.868 45.84 2690
+-79.742 45.84 2694
+-79.616 45.84 2698
+-79.49 45.84 2702
+-79.364 45.84 2656
+-79.238 45.84 2655
+-79.112 45.84 2658
+-78.986 45.84 2661
+-78.86 45.84 2664
+-78.734 45.84 2664
+-78.608 45.84 2616
+-78.482 45.84 2715
+-78.356 45.84 2713
+-78.23 45.84 2720
+-78.104 45.84 2723
+-77.978 45.84 2726
+-77.852 45.84 2728
+-77.726 45.84 2751
+-77.6 45.84 2733
+-77.474 45.84 2792
+-77.348 45.84 2794
+-77.222 45.84 2788
+-77.096 45.84 2796
+-76.97 45.84 2799
+-76.844 45.84 2801
+-76.718 45.84 2791
+-76.592 45.84 2904
+-76.466 45.84 2907
+-76.34 45.84 2909
+-76.214 45.84 2911
+-76.088 45.84 3011
+-75.962 45.84 2968
+-75.836 45.84 3119
+-75.71 45.84 3121
+-75.584 45.84 3087
+-75.458 45.84 3088
+-75.332 45.84 3089
+-75.206 45.84 3090
+-75.08 45.84 3091
+-74.954 45.84 3093
+-74.828 45.84 3183
+-74.702 45.84 3179
+-74.576 45.84 3180
+-74.45 45.84 3182
+-74.324 45.84 3183
+-74.198 45.84 3129
+-74.072 45.84 3163
+-73.946 45.84 3164
+-73.82 45.84 3236
+-73.694 45.84 3151
+-73.568 45.84 3152
+-73.442 45.84 3153
+-73.316 45.84 3199
+-73.19 45.84 3156
+-73.064 45.84 3157
+-72.938 45.84 3158
+-72.812 45.84 3386
+-72.686 45.84 3334
+-72.56 45.84 3334
+-72.434 45.84 3465
+-72.308 45.84 3438
+-72.182 45.84 3439
+-72.056 45.84 3386
+-71.93 45.84 3459
+-71.804 45.84 3460
+-71.678 45.84 3461
+-71.552 45.84 3462
+-71.426 45.84 3463
+-71.3 45.84 3462
+-71.174 45.84 3463
+-71.048 45.84 3464
+-70.922 45.84 3452
+-70.796 45.84 3401
+-70.67 45.84 3395
+-70.544 45.84 3396
+-70.418 45.84 3396
+-70.292 45.84 3397
+-70.166 45.84 3398
+-70.04 45.84 3398
+-69.914 45.84 3399
+-69.788 45.84 3400
+-69.662 45.84 3400
+-69.536 45.84 3401
+-69.41 45.84 3401
+-69.284 45.84 3402
+-69.158 45.84 3402
+-69.032 45.84 3403
+-68.906 45.84 3404
+-68.78 45.84 3516
+-68.654 45.84 3516
+-68.528 45.84 3501
+-68.402 45.84 3501
+-68.276 45.84 3502
+-68.15 45.84 3502
+-68.024 45.84 3503
+-67.898 45.84 3503
+-67.772 45.84 3503
+-67.646 45.84 3504
+-67.52 45.84 3504
+-67.394 45.84 3505
+-67.268 45.84 3505
+-67.142 45.84 3545
+-67.016 45.84 3545
+-66.89 45.84 3546
+-66.764 45.84 3546
+-66.638 45.84 3547
+-66.512 45.84 3547
+-66.386 45.84 3505
+-66.26 45.84 3506
+-66.134 45.84 3506
+-66.008 45.84 3507
+-65.882 45.84 3547
+-65.756 45.84 3548
+-65.63 45.84 3548
+-65.504 45.84 3499
+-65.378 45.84 3500
+-65.252 45.84 3500
+-65.126 45.84 3635
+-128 45.788 4475
+-127.874 45.788 4537
+-127.748 45.788 4539
+-127.622 45.788 4509
+-127.496 45.788 4438
+-127.37 45.788 4594
+-127.244 45.788 4777
+-127.118 45.788 4924
+-126.992 45.788 5045
+-126.866 45.788 5193
+-126.74 45.788 5342
+-126.614 45.788 5406
+-126.488 45.788 5542
+-126.362 45.788 5639
+-126.236 45.788 5773
+-126.11 45.788 5947
+-125.984 45.788 6053
+-125.858 45.788 6164
+-125.732 45.788 6234
+-125.606 45.788 6395
+-125.48 45.788 6531
+-125.354 45.788 6641
+-125.228 45.788 6823
+-125.102 45.788 6886
+-124.976 45.788 7052
+-124.85 45.788 7102
+-124.724 45.788 7255
+-124.598 45.788 7410
+-124.472 45.788 7501
+-124.346 45.788 7621
+-124.22 45.788 7661
+-124.094 45.788 7770
+-123.968 45.788 7908
+-123.842 45.788 7957
+-123.716 45.788 8050
+-123.59 45.788 8155
+-123.464 45.788 8186
+-123.338 45.788 8211
+-123.212 45.788 8260
+-123.086 45.788 8263
+-122.96 45.788 8306
+-122.834 45.788 8270
+-122.708 45.788 8253
+-122.582 45.788 8219
+-122.456 45.788 8149
+-122.33 45.788 8142
+-122.204 45.788 8042
+-122.078 45.788 7940
+-121.952 45.788 7863
+-121.826 45.788 7780
+-121.7 45.788 7721
+-121.574 45.788 7532
+-121.448 45.788 7464
+-121.322 45.788 7367
+-121.196 45.788 7241
+-121.07 45.788 7118
+-120.944 45.788 7045
+-120.818 45.788 6924
+-120.692 45.788 6783
+-120.566 45.788 6906
+-120.44 45.788 7029
+-120.314 45.788 7120
+-120.188 45.788 7291
+-120.062 45.788 7440
+-119.936 45.788 7528
+-119.81 45.788 7611
+-119.684 45.788 7801
+-119.558 45.788 7938
+-119.432 45.788 8040
+-119.306 45.788 8155
+-119.18 45.788 8308
+-119.054 45.788 8410
+-118.928 45.788 8485
+-118.802 45.788 8645
+-118.676 45.788 8765
+-118.55 45.788 8855
+-118.424 45.788 8890
+-118.298 45.788 8852
+-118.172 45.788 8818
+-118.046 45.788 8769
+-117.92 45.788 8741
+-117.794 45.788 8546
+-117.668 45.788 8419
+-117.542 45.788 8321
+-117.416 45.788 8187
+-117.29 45.788 8117
+-117.164 45.788 7940
+-117.038 45.788 7790
+-116.912 45.788 7669
+-116.786 45.788 7516
+-116.66 45.788 7438
+-116.534 45.788 7338
+-116.408 45.788 7166
+-116.282 45.788 6984
+-116.156 45.788 6933
+-116.03 45.788 6805
+-115.904 45.788 6705
+-115.778 45.788 6547
+-115.652 45.788 6413
+-115.526 45.788 6252
+-115.4 45.788 6083
+-115.274 45.788 5914
+-115.148 45.788 5833
+-115.022 45.788 5709
+-114.896 45.788 5645
+-114.77 45.788 5518
+-114.644 45.788 5346
+-114.518 45.788 5123
+-114.392 45.788 5048
+-114.266 45.788 4911
+-114.14 45.788 4845
+-114.014 45.788 4697
+-113.888 45.788 4553
+-113.762 45.788 4616
+-113.636 45.788 4597
+-113.51 45.788 4524
+-113.384 45.788 4409
+-113.258 45.788 4273
+-113.132 45.788 4159
+-113.006 45.788 4029
+-112.88 45.788 3870
+-112.754 45.788 3691
+-112.628 45.788 3537
+-112.502 45.788 3438
+-112.376 45.788 3425
+-112.25 45.788 3435
+-112.124 45.788 3481
+-111.998 45.788 3515
+-111.872 45.788 3489
+-111.746 45.788 3503
+-111.62 45.788 3511
+-111.494 45.788 3517
+-111.368 45.788 3520
+-111.242 45.788 3523
+-111.116 45.788 3525
+-110.99 45.788 3457
+-110.864 45.788 3460
+-110.738 45.788 3446
+-110.612 45.788 3449
+-110.486 45.788 3452
+-110.36 45.788 3456
+-110.234 45.788 3461
+-110.108 45.788 3465
+-109.982 45.788 3470
+-109.856 45.788 3474
+-109.73 45.788 3463
+-109.604 45.788 3468
+-109.478 45.788 3472
+-109.352 45.788 3476
+-109.226 45.788 3480
+-109.1 45.788 3484
+-108.974 45.788 3488
+-108.848 45.788 3492
+-108.722 45.788 3495
+-108.596 45.788 3420
+-108.47 45.788 3422
+-108.344 45.788 3425
+-108.218 45.788 3427
+-108.092 45.788 3429
+-107.966 45.788 3431
+-107.84 45.788 3433
+-107.714 45.788 3435
+-107.588 45.788 3437
+-107.462 45.788 3439
+-107.336 45.788 3310
+-107.21 45.788 3311
+-107.084 45.788 3311
+-106.958 45.788 3275
+-106.832 45.788 3275
+-106.706 45.788 3275
+-106.58 45.788 3274
+-106.454 45.788 3274
+-106.328 45.788 3273
+-106.202 45.788 3273
+-106.076 45.788 3273
+-105.95 45.788 3272
+-105.824 45.788 3272
+-105.698 45.788 3168
+-105.572 45.788 3167
+-105.446 45.788 3166
+-105.32 45.788 3165
+-105.194 45.788 3164
+-105.068 45.788 3163
+-104.942 45.788 3162
+-104.816 45.788 3161
+-104.69 45.788 3160
+-104.564 45.788 3158
+-104.438 45.788 3156
+-104.312 45.788 2908
+-104.186 45.788 2903
+-104.06 45.788 2898
+-103.934 45.788 2893
+-103.808 45.788 2888
+-103.682 45.788 2796
+-103.556 45.788 2777
+-103.43 45.788 2634
+-103.304 45.788 2598
+-103.178 45.788 2756
+-103.052 45.788 2813
+-102.926 45.788 2614
+-102.8 45.788 2737
+-102.674 45.788 2806
+-102.548 45.788 3130
+-102.422 45.788 3263
+-102.296 45.788 3401
+-102.17 45.788 3249
+-102.044 45.788 3248
+-101.918 45.788 3248
+-101.792 45.788 3247
+-101.666 45.788 3246
+-101.54 45.788 3245
+-101.414 45.788 3245
+-101.288 45.788 3218
+-101.162 45.788 3248
+-101.036 45.788 3247
+-100.91 45.788 3280
+-100.784 45.788 3252
+-100.658 45.788 3299
+-100.532 45.788 3205
+-100.406 45.788 3228
+-100.28 45.788 3232
+-100.154 45.788 3213
+-100.028 45.788 3231
+-99.902 45.788 3231
+-99.776 45.788 3234
+-99.65 45.788 3255
+-99.524 45.788 3255
+-99.398 45.788 3255
+-99.272 45.788 3353
+-99.146 45.788 3353
+-99.02 45.788 3353
+-98.894 45.788 3316
+-98.768 45.788 3409
+-98.642 45.788 3417
+-98.516 45.788 3417
+-98.39 45.788 3415
+-98.264 45.788 3414
+-98.138 45.788 3387
+-98.012 45.788 3384
+-97.886 45.788 3312
+-97.76 45.788 3446
+-97.634 45.788 3459
+-97.508 45.788 3420
+-97.382 45.788 3419
+-97.256 45.788 3418
+-97.13 45.788 3431
+-97.004 45.788 3383
+-96.878 45.788 3390
+-96.752 45.788 3390
+-96.626 45.788 3385
+-96.5 45.788 3384
+-96.374 45.788 3383
+-96.248 45.788 3383
+-96.122 45.788 3210
+-95.996 45.788 3234
+-95.87 45.788 3231
+-95.744 45.788 3229
+-95.618 45.788 3212
+-95.492 45.788 3253
+-95.366 45.788 3227
+-95.24 45.788 3223
+-95.114 45.788 3205
+-94.988 45.788 3202
+-94.862 45.788 3128
+-94.736 45.788 3153
+-94.61 45.788 3148
+-94.484 45.788 3143
+-94.358 45.788 3137
+-94.232 45.788 3122
+-94.106 45.788 3116
+-93.98 45.788 3108
+-93.854 45.788 3100
+-93.728 45.788 3092
+-93.602 45.788 3020
+-93.476 45.788 2999
+-93.35 45.788 2972
+-93.224 45.788 2923
+-93.098 45.788 2899
+-92.972 45.788 2871
+-92.846 45.788 2854
+-92.72 45.788 2835
+-92.594 45.788 2806
+-92.468 45.788 2769
+-92.342 45.788 2747
+-92.216 45.788 2722
+-92.09 45.788 2697
+-91.964 45.788 2669
+-91.838 45.788 2641
+-91.712 45.788 2612
+-91.586 45.788 2583
+-91.46 45.788 2555
+-91.334 45.788 2529
+-91.208 45.788 2505
+-91.082 45.788 2485
+-90.956 45.788 2470
+-90.83 45.788 2459
+-90.704 45.788 2452
+-90.578 45.788 2428
+-90.452 45.788 2427
+-90.326 45.788 2427
+-90.2 45.788 2390
+-90.074 45.788 2388
+-89.948 45.788 2379
+-89.822 45.788 2372
+-89.696 45.788 2347
+-89.57 45.788 2331
+-89.444 45.788 2311
+-89.318 45.788 2289
+-89.192 45.788 2270
+-89.066 45.788 2254
+-88.94 45.788 2248
+-88.814 45.788 2252
+-88.688 45.788 2270
+-88.562 45.788 2294
+-88.436 45.788 2321
+-88.31 45.788 2350
+-88.184 45.788 2350
+-88.058 45.788 2373
+-87.932 45.788 2392
+-87.806 45.788 2408
+-87.68 45.788 2421
+-87.554 45.788 2430
+-87.428 45.788 2439
+-87.302 45.788 2455
+-87.176 45.788 2458
+-87.05 45.788 2459
+-86.924 45.788 2459
+-86.798 45.788 2475
+-86.672 45.788 2474
+-86.546 45.788 2471
+-86.42 45.788 2469
+-86.294 45.788 2480
+-86.168 45.788 2546
+-86.042 45.788 2542
+-85.916 45.788 2539
+-85.79 45.788 2539
+-85.664 45.788 2536
+-85.538 45.788 2537
+-85.412 45.788 2543
+-85.286 45.788 2535
+-85.16 45.788 2540
+-85.034 45.788 2540
+-84.908 45.788 2541
+-84.782 45.788 2542
+-84.656 45.788 2543
+-84.53 45.788 2544
+-84.404 45.788 2547
+-84.278 45.788 2604
+-84.152 45.788 2607
+-84.026 45.788 2610
+-83.9 45.788 2613
+-83.774 45.788 2624
+-83.648 45.788 2628
+-83.522 45.788 2624
+-83.396 45.788 2628
+-83.27 45.788 2632
+-83.144 45.788 2636
+-83.018 45.788 2622
+-82.892 45.788 2632
+-82.766 45.788 2636
+-82.64 45.788 2734
+-82.514 45.788 2710
+-82.388 45.788 2715
+-82.262 45.788 2814
+-82.136 45.788 2817
+-82.01 45.788 2796
+-81.884 45.788 2841
+-81.758 45.788 2766
+-81.632 45.788 2790
+-81.506 45.788 2834
+-81.38 45.788 2762
+-81.254 45.788 2771
+-81.128 45.788 2699
+-81.002 45.788 2699
+-80.876 45.788 2714
+-80.75 45.788 2697
+-80.624 45.788 2701
+-80.498 45.788 2706
+-80.372 45.788 2660
+-80.246 45.788 2694
+-80.12 45.788 2691
+-79.994 45.788 2686
+-79.868 45.788 2690
+-79.742 45.788 2694
+-79.616 45.788 2698
+-79.49 45.788 2653
+-79.364 45.788 2652
+-79.238 45.788 2655
+-79.112 45.788 2659
+-78.986 45.788 2662
+-78.86 45.788 2662
+-78.734 45.788 2614
+-78.608 45.788 2712
+-78.482 45.788 2711
+-78.356 45.788 2718
+-78.23 45.788 2721
+-78.104 45.788 2724
+-77.978 45.788 2726
+-77.852 45.788 2749
+-77.726 45.788 2732
+-77.6 45.788 2790
+-77.474 45.788 2793
+-77.348 45.788 2786
+-77.222 45.788 2794
+-77.096 45.788 2797
+-76.97 45.788 2799
+-76.844 45.788 2790
+-76.718 45.788 2903
+-76.592 45.788 2905
+-76.466 45.788 2907
+-76.34 45.788 2910
+-76.214 45.788 3009
+-76.088 45.788 2967
+-75.962 45.788 3118
+-75.836 45.788 3119
+-75.71 45.788 3086
+-75.584 45.788 3087
+-75.458 45.788 3088
+-75.332 45.788 3089
+-75.206 45.788 3090
+-75.08 45.788 3092
+-74.954 45.788 3182
+-74.828 45.788 3178
+-74.702 45.788 3179
+-74.576 45.788 3181
+-74.45 45.788 3182
+-74.324 45.788 3128
+-74.198 45.788 3162
+-74.072 45.788 3163
+-73.946 45.788 3235
+-73.82 45.788 3150
+-73.694 45.788 3151
+-73.568 45.788 3153
+-73.442 45.788 3198
+-73.316 45.788 3155
+-73.19 45.788 3156
+-73.064 45.788 3158
+-72.938 45.788 3385
+-72.812 45.788 3333
+-72.686 45.788 3334
+-72.56 45.788 3464
+-72.434 45.788 3437
+-72.308 45.788 3438
+-72.182 45.788 3386
+-72.056 45.788 3459
+-71.93 45.788 3460
+-71.804 45.788 3460
+-71.678 45.788 3461
+-71.552 45.788 3462
+-71.426 45.788 3461
+-71.3 45.788 3462
+-71.174 45.788 3463
+-71.048 45.788 3452
+-70.922 45.788 3400
+-70.796 45.788 3395
+-70.67 45.788 3395
+-70.544 45.788 3396
+-70.418 45.788 3397
+-70.292 45.788 3397
+-70.166 45.788 3398
+-70.04 45.788 3398
+-69.914 45.788 3399
+-69.788 45.788 3400
+-69.662 45.788 3400
+-69.536 45.788 3401
+-69.41 45.788 3402
+-69.284 45.788 3402
+-69.158 45.788 3403
+-69.032 45.788 3403
+-68.906 45.788 3515
+-68.78 45.788 3516
+-68.654 45.788 3500
+-68.528 45.788 3501
+-68.402 45.788 3501
+-68.276 45.788 3502
+-68.15 45.788 3502
+-68.024 45.788 3503
+-67.898 45.788 3503
+-67.772 45.788 3504
+-67.646 45.788 3504
+-67.52 45.788 3504
+-67.394 45.788 3505
+-67.268 45.788 3544
+-67.142 45.788 3545
+-67.016 45.788 3545
+-66.89 45.788 3546
+-66.764 45.788 3546
+-66.638 45.788 3547
+-66.512 45.788 3505
+-66.386 45.788 3506
+-66.26 45.788 3506
+-66.134 45.788 3506
+-66.008 45.788 3547
+-65.882 45.788 3547
+-65.756 45.788 3548
+-65.63 45.788 3499
+-65.504 45.788 3499
+-65.378 45.788 3500
+-65.252 45.788 3635
+-65.126 45.788 3635
+-128 45.736 4421
+-127.874 45.736 4474
+-127.748 45.736 4517
+-127.622 45.736 4537
+-127.496 45.736 4551
+-127.37 45.736 4678
+-127.244 45.736 4709
+-127.118 45.736 4899
+-126.992 45.736 4938
+-126.866 45.736 5179
+-126.74 45.736 5293
+-126.614 45.736 5339
+-126.488 45.736 5487
+-126.362 45.736 5663
+-126.236 45.736 5766
+-126.11 45.736 5938
+-125.984 45.736 6051
+-125.858 45.736 6136
+-125.732 45.736 6258
+-125.606 45.736 6386
+-125.48 45.736 6508
+-125.354 45.736 6623
+-125.228 45.736 6739
+-125.102 45.736 6875
+-124.976 45.736 7013
+-124.85 45.736 7159
+-124.724 45.736 7255
+-124.598 45.736 7354
+-124.472 45.736 7459
+-124.346 45.736 7574
+-124.22 45.736 7660
+-124.094 45.736 7742
+-123.968 45.736 7844
+-123.842 45.736 7931
+-123.716 45.736 7992
+-123.59 45.736 8081
+-123.464 45.736 8122
+-123.338 45.736 8160
+-123.212 45.736 8209
+-123.086 45.736 8203
+-122.96 45.736 8226
+-122.834 45.736 8209
+-122.708 45.736 8181
+-122.582 45.736 8132
+-122.456 45.736 8115
+-122.33 45.736 8075
+-122.204 45.736 8000
+-122.078 45.736 7935
+-121.952 45.736 7842
+-121.826 45.736 7709
+-121.7 45.736 7654
+-121.574 45.736 7536
+-121.448 45.736 7479
+-121.322 45.736 7340
+-121.196 45.736 7240
+-121.07 45.736 7084
+-120.944 45.736 6951
+-120.818 45.736 6876
+-120.692 45.736 6841
+-120.566 45.736 6915
+-120.44 45.736 7024
+-120.314 45.736 7167
+-120.188 45.736 7311
+-120.062 45.736 7397
+-119.936 45.736 7498
+-119.81 45.736 7660
+-119.684 45.736 7779
+-119.558 45.736 7919
+-119.432 45.736 8032
+-119.306 45.736 8164
+-119.18 45.736 8281
+-119.054 45.736 8394
+-118.928 45.736 8507
+-118.802 45.736 8666
+-118.676 45.736 8708
+-118.55 45.736 8802
+-118.424 45.736 8866
+-118.298 45.736 8825
+-118.172 45.736 8799
+-118.046 45.736 8739
+-117.92 45.736 8689
+-117.794 45.736 8510
+-117.668 45.736 8389
+-117.542 45.736 8267
+-117.416 45.736 8186
+-117.29 45.736 8070
+-117.164 45.736 7933
+-117.038 45.736 7753
+-116.912 45.736 7689
+-116.786 45.736 7586
+-116.66 45.736 7434
+-116.534 45.736 7340
+-116.408 45.736 7195
+-116.282 45.736 7035
+-116.156 45.736 6943
+-116.03 45.736 6780
+-115.904 45.736 6655
+-115.778 45.736 6474
+-115.652 45.736 6343
+-115.526 45.736 6283
+-115.4 45.736 6082
+-115.274 45.736 5913
+-115.148 45.736 5865
+-115.022 45.736 5734
+-114.896 45.736 5576
+-114.77 45.736 5549
+-114.644 45.736 5391
+-114.518 45.736 5194
+-114.392 45.736 5034
+-114.266 45.736 4924
+-114.14 45.736 4866
+-114.014 45.736 4760
+-113.888 45.736 4670
+-113.762 45.736 4644
+-113.636 45.736 4615
+-113.51 45.736 4550
+-113.384 45.736 4405
+-113.258 45.736 4323
+-113.132 45.736 4192
+-113.006 45.736 4091
+-112.88 45.736 3917
+-112.754 45.736 3773
+-112.628 45.736 3663
+-112.502 45.736 3537
+-112.376 45.736 3482
+-112.25 45.736 3492
+-112.124 45.736 3499
+-111.998 45.736 3466
+-111.872 45.736 3478
+-111.746 45.736 3478
+-111.62 45.736 3483
+-111.494 45.736 3486
+-111.368 45.736 3488
+-111.242 45.736 3489
+-111.116 45.736 3491
+-110.99 45.736 3493
+-110.864 45.736 3421
+-110.738 45.736 3424
+-110.612 45.736 3429
+-110.486 45.736 3434
+-110.36 45.736 3439
+-110.234 45.736 3445
+-110.108 45.736 3450
+-109.982 45.736 3456
+-109.856 45.736 3446
+-109.73 45.736 3452
+-109.604 45.736 3457
+-109.478 45.736 3462
+-109.352 45.736 3467
+-109.226 45.736 3472
+-109.1 45.736 3476
+-108.974 45.736 3481
+-108.848 45.736 3485
+-108.722 45.736 3489
+-108.596 45.736 3493
+-108.47 45.736 3416
+-108.344 45.736 3419
+-108.218 45.736 3422
+-108.092 45.736 3425
+-107.966 45.736 3427
+-107.84 45.736 3429
+-107.714 45.736 3431
+-107.588 45.736 3434
+-107.462 45.736 3436
+-107.336 45.736 3438
+-107.21 45.736 3308
+-107.084 45.736 3309
+-106.958 45.736 3309
+-106.832 45.736 3274
+-106.706 45.736 3274
+-106.58 45.736 3273
+-106.454 45.736 3273
+-106.328 45.736 3273
+-106.202 45.736 3272
+-106.076 45.736 3272
+-105.95 45.736 3272
+-105.824 45.736 3168
+-105.698 45.736 3167
+-105.572 45.736 3166
+-105.446 45.736 3165
+-105.32 45.736 3164
+-105.194 45.736 3163
+-105.068 45.736 3162
+-104.942 45.736 3162
+-104.816 45.736 3161
+-104.69 45.736 3152
+-104.564 45.736 3158
+-104.438 45.736 3156
+-104.312 45.736 2906
+-104.186 45.736 2901
+-104.06 45.736 2896
+-103.934 45.736 2891
+-103.808 45.736 2802
+-103.682 45.736 2779
+-103.556 45.736 2636
+-103.43 45.736 2626
+-103.304 45.736 2627
+-103.178 45.736 2593
+-103.052 45.736 2608
+-102.926 45.736 2749
+-102.8 45.736 2835
+-102.674 45.736 2926
+-102.548 45.736 2892
+-102.422 45.736 3233
+-102.296 45.736 3399
+-102.17 45.736 3398
+-102.044 45.736 3247
+-101.918 45.736 3247
+-101.792 45.736 3246
+-101.666 45.736 3245
+-101.54 45.736 3244
+-101.414 45.736 3244
+-101.288 45.736 3243
+-101.162 45.736 3216
+-101.036 45.736 3246
+-100.91 45.736 3246
+-100.784 45.736 3277
+-100.658 45.736 3250
+-100.532 45.736 3297
+-100.406 45.736 3204
+-100.28 45.736 3227
+-100.154 45.736 3230
+-100.028 45.736 3211
+-99.902 45.736 3229
+-99.776 45.736 3229
+-99.65 45.736 3232
+-99.524 45.736 3253
+-99.398 45.736 3253
+-99.272 45.736 3254
+-99.146 45.736 3351
+-99.02 45.736 3351
+-98.894 45.736 3351
+-98.768 45.736 3314
+-98.642 45.736 3408
+-98.516 45.736 3415
+-98.39 45.736 3415
+-98.264 45.736 3413
+-98.138 45.736 3412
+-98.012 45.736 3386
+-97.886 45.736 3383
+-97.76 45.736 3311
+-97.634 45.736 3444
+-97.508 45.736 3457
+-97.382 45.736 3419
+-97.256 45.736 3417
+-97.13 45.736 3416
+-97.004 45.736 3428
+-96.878 45.736 3382
+-96.752 45.736 3388
+-96.626 45.736 3383
+-96.5 45.736 3383
+-96.374 45.736 3382
+-96.248 45.736 3381
+-96.122 45.736 3381
+-95.996 45.736 3212
+-95.87 45.736 3235
+-95.744 45.736 3232
+-95.618 45.736 3230
+-95.492 45.736 3214
+-95.366 45.736 3254
+-95.24 45.736 3229
+-95.114 45.736 3225
+-94.988 45.736 3207
+-94.862 45.736 3204
+-94.736 45.736 3131
+-94.61 45.736 3156
+-94.484 45.736 3151
+-94.358 45.736 3146
+-94.232 45.736 3140
+-94.106 45.736 3126
+-93.98 45.736 3120
+-93.854 45.736 3113
+-93.728 45.736 3105
+-93.602 45.736 3096
+-93.476 45.736 3026
+-93.35 45.736 3005
+-93.224 45.736 2979
+-93.098 45.736 2930
+-92.972 45.736 2907
+-92.846 45.736 2880
+-92.72 45.736 2864
+-92.594 45.736 2845
+-92.468 45.736 2818
+-92.342 45.736 2782
+-92.216 45.736 2761
+-92.09 45.736 2739
+-91.964 45.736 2716
+-91.838 45.736 2691
+-91.712 45.736 2667
+-91.586 45.736 2642
+-91.46 45.736 2617
+-91.334 45.736 2594
+-91.208 45.736 2572
+-91.082 45.736 2553
+-90.956 45.736 2535
+-90.83 45.736 2521
+-90.704 45.736 2508
+-90.578 45.736 2497
+-90.452 45.736 2468
+-90.326 45.736 2460
+-90.2 45.736 2451
+-90.074 45.736 2408
+-89.948 45.736 2397
+-89.822 45.736 2380
+-89.696 45.736 2349
+-89.57 45.736 2326
+-89.444 45.736 2297
+-89.318 45.736 2265
+-89.192 45.736 2232
+-89.066 45.736 2207
+-88.94 45.736 2196
+-88.814 45.736 2216
+-88.688 45.736 2226
+-88.562 45.736 2258
+-88.436 45.736 2295
+-88.31 45.736 2332
+-88.184 45.736 2340
+-88.058 45.736 2367
+-87.932 45.736 2389
+-87.806 45.736 2407
+-87.68 45.736 2421
+-87.554 45.736 2433
+-87.428 45.736 2451
+-87.302 45.736 2456
+-87.176 45.736 2458
+-87.05 45.736 2458
+-86.924 45.736 2475
+-86.798 45.736 2473
+-86.672 45.736 2470
+-86.546 45.736 2467
+-86.42 45.736 2478
+-86.294 45.736 2541
+-86.168 45.736 2537
+-86.042 45.736 2533
+-85.916 45.736 2532
+-85.79 45.736 2529
+-85.664 45.736 2530
+-85.538 45.736 2534
+-85.412 45.736 2527
+-85.286 45.736 2531
+-85.16 45.736 2530
+-85.034 45.736 2532
+-84.908 45.736 2532
+-84.782 45.736 2533
+-84.656 45.736 2534
+-84.53 45.736 2541
+-84.404 45.736 2592
+-84.278 45.736 2595
+-84.152 45.736 2598
+-84.026 45.736 2601
+-83.9 45.736 2612
+-83.774 45.736 2616
+-83.648 45.736 2613
+-83.522 45.736 2617
+-83.396 45.736 2622
+-83.27 45.736 2626
+-83.144 45.736 2613
+-83.018 45.736 2622
+-82.892 45.736 2627
+-82.766 45.736 2723
+-82.64 45.736 2700
+-82.514 45.736 2706
+-82.388 45.736 2803
+-82.262 45.736 2806
+-82.136 45.736 2786
+-82.01 45.736 2831
+-81.884 45.736 2757
+-81.758 45.736 2781
+-81.632 45.736 2825
+-81.506 45.736 2754
+-81.38 45.736 2763
+-81.254 45.736 2692
+-81.128 45.736 2693
+-81.002 45.736 2707
+-80.876 45.736 2691
+-80.75 45.736 2696
+-80.624 45.736 2701
+-80.498 45.736 2656
+-80.372 45.736 2689
+-80.246 45.736 2687
+-80.12 45.736 2682
+-79.994 45.736 2686
+-79.868 45.736 2690
+-79.742 45.736 2694
+-79.616 45.736 2650
+-79.49 45.736 2649
+-79.364 45.736 2653
+-79.238 45.736 2656
+-79.112 45.736 2659
+-78.986 45.736 2659
+-78.86 45.736 2612
+-78.734 45.736 2710
+-78.608 45.736 2709
+-78.482 45.736 2716
+-78.356 45.736 2719
+-78.23 45.736 2722
+-78.104 45.736 2724
+-77.978 45.736 2747
+-77.852 45.736 2730
+-77.726 45.736 2788
+-77.6 45.736 2791
+-77.474 45.736 2785
+-77.348 45.736 2793
+-77.222 45.736 2795
+-77.096 45.736 2798
+-76.97 45.736 2789
+-76.844 45.736 2901
+-76.718 45.736 2904
+-76.592 45.736 2906
+-76.466 45.736 2908
+-76.34 45.736 3008
+-76.214 45.736 2966
+-76.088 45.736 3117
+-75.962 45.736 3118
+-75.836 45.736 3085
+-75.71 45.736 3086
+-75.584 45.736 3087
+-75.458 45.736 3088
+-75.332 45.736 3090
+-75.206 45.736 3091
+-75.08 45.736 3180
+-74.954 45.736 3177
+-74.828 45.736 3178
+-74.702 45.736 3180
+-74.576 45.736 3181
+-74.45 45.736 3128
+-74.324 45.736 3161
+-74.198 45.736 3162
+-74.072 45.736 3233
+-73.946 45.736 3149
+-73.82 45.736 3150
+-73.694 45.736 3152
+-73.568 45.736 3197
+-73.442 45.736 3154
+-73.316 45.736 3155
+-73.19 45.736 3157
+-73.064 45.736 3384
+-72.938 45.736 3332
+-72.812 45.736 3333
+-72.686 45.736 3463
+-72.56 45.736 3437
+-72.434 45.736 3438
+-72.308 45.736 3385
+-72.182 45.736 3458
+-72.056 45.736 3459
+-71.93 45.736 3460
+-71.804 45.736 3461
+-71.678 45.736 3461
+-71.552 45.736 3461
+-71.426 45.736 3461
+-71.3 45.736 3462
+-71.174 45.736 3451
+-71.048 45.736 3400
+-70.922 45.736 3394
+-70.796 45.736 3395
+-70.67 45.736 3395
+-70.544 45.736 3396
+-70.418 45.736 3397
+-70.292 45.736 3397
+-70.166 45.736 3398
+-70.04 45.736 3399
+-69.914 45.736 3399
+-69.788 45.736 3400
+-69.662 45.736 3401
+-69.536 45.736 3401
+-69.41 45.736 3402
+-69.284 45.736 3402
+-69.158 45.736 3403
+-69.032 45.736 3515
+-68.906 45.736 3515
+-68.78 45.736 3500
+-68.654 45.736 3500
+-68.528 45.736 3501
+-68.402 45.736 3501
+-68.276 45.736 3502
+-68.15 45.736 3502
+-68.024 45.736 3503
+-67.898 45.736 3503
+-67.772 45.736 3504
+-67.646 45.736 3504
+-67.52 45.736 3505
+-67.394 45.736 3544
+-67.268 45.736 3544
+-67.142 45.736 3545
+-67.016 45.736 3545
+-66.89 45.736 3546
+-66.764 45.736 3547
+-66.638 45.736 3505
+-66.512 45.736 3505
+-66.386 45.736 3506
+-66.26 45.736 3506
+-66.134 45.736 3546
+-66.008 45.736 3547
+-65.882 45.736 3547
+-65.756 45.736 3499
+-65.63 45.736 3499
+-65.504 45.736 3500
+-65.378 45.736 3635
+-65.252 45.736 3635
+-65.126 45.736 3635
+-128 45.684 4333
+-127.874 45.684 4341
+-127.748 45.684 4433
+-127.622 45.684 4530
+-127.496 45.684 4629
+-127.37 45.684 4716
+-127.244 45.684 4784
+-127.118 45.684 4949
+-126.992 45.684 5065
+-126.866 45.684 5224
+-126.74 45.684 5333
+-126.614 45.684 5331
+-126.488 45.684 5461
+-126.362 45.684 5625
+-126.236 45.684 5740
+-126.11 45.684 5870
+-125.984 45.684 6024
+-125.858 45.684 6150
+-125.732 45.684 6279
+-125.606 45.684 6392
+-125.48 45.684 6423
+-125.354 45.684 6646
+-125.228 45.684 6702
+-125.102 45.684 6860
+-124.976 45.684 6960
+-124.85 45.684 7125
+-124.724 45.684 7242
+-124.598 45.684 7280
+-124.472 45.684 7401
+-124.346 45.684 7486
+-124.22 45.684 7617
+-124.094 45.684 7651
+-123.968 45.684 7789
+-123.842 45.684 7866
+-123.716 45.684 7928
+-123.59 45.684 8017
+-123.464 45.684 8048
+-123.338 45.684 8107
+-123.212 45.684 8165
+-123.086 45.684 8160
+-122.96 45.684 8153
+-122.834 45.684 8139
+-122.708 45.684 8131
+-122.582 45.684 8076
+-122.456 45.684 8041
+-122.33 45.684 8017
+-122.204 45.684 7945
+-122.078 45.684 7880
+-121.952 45.684 7804
+-121.826 45.684 7716
+-121.7 45.684 7648
+-121.574 45.684 7501
+-121.448 45.684 7388
+-121.322 45.684 7327
+-121.196 45.684 7216
+-121.07 45.684 7047
+-120.944 45.684 6938
+-120.818 45.684 6611
+-120.692 45.684 6739
+-120.566 45.684 6807
+-120.44 45.684 6991
+-120.314 45.684 7132
+-120.188 45.684 7259
+-120.062 45.684 7388
+-119.936 45.684 7528
+-119.81 45.684 7574
+-119.684 45.684 7750
+-119.558 45.684 7924
+-119.432 45.684 7963
+-119.306 45.684 8092
+-119.18 45.684 8222
+-119.054 45.684 8352
+-118.928 45.684 8469
+-118.802 45.684 8591
+-118.676 45.684 8684
+-118.55 45.684 8744
+-118.424 45.684 8760
+-118.298 45.684 8797
+-118.172 45.684 8779
+-118.046 45.684 8687
+-117.92 45.684 8586
+-117.794 45.684 8464
+-117.668 45.684 8400
+-117.542 45.684 8267
+-117.416 45.684 8177
+-117.29 45.684 8056
+-117.164 45.684 7936
+-117.038 45.684 7826
+-116.912 45.684 7673
+-116.786 45.684 7501
+-116.66 45.684 7364
+-116.534 45.684 7277
+-116.408 45.684 7150
+-116.282 45.684 7075
+-116.156 45.684 6837
+-116.03 45.684 6784
+-115.904 45.684 6590
+-115.778 45.684 6543
+-115.652 45.684 6419
+-115.526 45.684 6297
+-115.4 45.684 6119
+-115.274 45.684 5963
+-115.148 45.684 5863
+-115.022 45.684 5766
+-114.896 45.684 5655
+-114.77 45.684 5560
+-114.644 45.684 5412
+-114.518 45.684 5168
+-114.392 45.684 4997
+-114.266 45.684 4903
+-114.14 45.684 4872
+-114.014 45.684 4775
+-113.888 45.684 4730
+-113.762 45.684 4693
+-113.636 45.684 4633
+-113.51 45.684 4562
+-113.384 45.684 4455
+-113.258 45.684 4338
+-113.132 45.684 4239
+-113.006 45.684 4084
+-112.88 45.684 3967
+-112.754 45.684 3834
+-112.628 45.684 3691
+-112.502 45.684 3617
+-112.376 45.684 3540
+-112.25 45.684 3507
+-112.124 45.684 3510
+-111.998 45.684 3505
+-111.872 45.684 3456
+-111.746 45.684 3459
+-111.62 45.684 3461
+-111.494 45.684 3461
+-111.368 45.684 3462
+-111.242 45.684 3463
+-111.116 45.684 3465
+-110.99 45.684 3396
+-110.864 45.684 3386
+-110.738 45.684 3390
+-110.612 45.684 3396
+-110.486 45.684 3402
+-110.36 45.684 3409
+-110.234 45.684 3416
+-110.108 45.684 3422
+-109.982 45.684 3429
+-109.856 45.684 3429
+-109.73 45.684 3436
+-109.604 45.684 3442
+-109.478 45.684 3448
+-109.352 45.684 3454
+-109.226 45.684 3459
+-109.1 45.684 3464
+-108.974 45.684 3469
+-108.848 45.684 3474
+-108.722 45.684 3478
+-108.596 45.684 3482
+-108.47 45.684 3416
+-108.344 45.684 3414
+-108.218 45.684 3417
+-108.092 45.684 3420
+-107.966 45.684 3423
+-107.84 45.684 3425
+-107.714 45.684 3428
+-107.588 45.684 3430
+-107.462 45.684 3432
+-107.336 45.684 3434
+-107.21 45.684 3436
+-107.084 45.684 3306
+-106.958 45.684 3307
+-106.832 45.684 3307
+-106.706 45.684 3272
+-106.58 45.684 3272
+-106.454 45.684 3272
+-106.328 45.684 3272
+-106.202 45.684 3272
+-106.076 45.684 3271
+-105.95 45.684 3168
+-105.824 45.684 3167
+-105.698 45.684 3166
+-105.572 45.684 3165
+-105.446 45.684 3164
+-105.32 45.684 3163
+-105.194 45.684 3163
+-105.068 45.684 3162
+-104.942 45.684 3161
+-104.816 45.684 3152
+-104.69 45.684 3151
+-104.564 45.684 3158
+-104.438 45.684 3155
+-104.312 45.684 2904
+-104.186 45.684 2899
+-104.06 45.684 2893
+-103.934 45.684 2820
+-103.808 45.684 2663
+-103.682 45.684 2634
+-103.556 45.684 2633
+-103.43 45.684 2624
+-103.304 45.684 2627
+-103.178 45.684 2592
+-103.052 45.684 2600
+-102.926 45.684 2708
+-102.8 45.684 2792
+-102.674 45.684 2947
+-102.548 45.684 3028
+-102.422 45.684 2991
+-102.296 45.684 3363
+-102.17 45.684 3397
+-102.044 45.684 3396
+-101.918 45.684 3245
+-101.792 45.684 3245
+-101.666 45.684 3244
+-101.54 45.684 3243
+-101.414 45.684 3242
+-101.288 45.684 3242
+-101.162 45.684 3241
+-101.036 45.684 3215
+-100.91 45.684 3244
+-100.784 45.684 3244
+-100.658 45.684 3275
+-100.532 45.684 3249
+-100.406 45.684 3294
+-100.28 45.684 3202
+-100.154 45.684 3225
+-100.028 45.684 3229
+-99.902 45.684 3210
+-99.776 45.684 3227
+-99.65 45.684 3228
+-99.524 45.684 3231
+-99.398 45.684 3251
+-99.272 45.684 3252
+-99.146 45.684 3252
+-99.02 45.684 3349
+-98.894 45.684 3349
+-98.768 45.684 3349
+-98.642 45.684 3313
+-98.516 45.684 3406
+-98.39 45.684 3413
+-98.264 45.684 3413
+-98.138 45.684 3411
+-98.012 45.684 3410
+-97.886 45.684 3384
+-97.76 45.684 3381
+-97.634 45.684 3310
+-97.508 45.684 3442
+-97.382 45.684 3454
+-97.256 45.684 3417
+-97.13 45.684 3416
+-97.004 45.684 3414
+-96.878 45.684 3426
+-96.752 45.684 3380
+-96.626 45.684 3387
+-96.5 45.684 3386
+-96.374 45.684 3381
+-96.248 45.684 3380
+-96.122 45.684 3379
+-95.996 45.684 3379
+-95.87 45.684 3214
+-95.744 45.684 3236
+-95.618 45.684 3234
+-95.492 45.684 3232
+-95.366 45.684 3216
+-95.24 45.684 3256
+-95.114 45.684 3231
+-94.988 45.684 3227
+-94.862 45.684 3210
+-94.736 45.684 3207
+-94.61 45.684 3134
+-94.484 45.684 3159
+-94.358 45.684 3155
+-94.232 45.684 3150
+-94.106 45.684 3144
+-93.98 45.684 3130
+-93.854 45.684 3124
+-93.728 45.684 3118
+-93.602 45.684 3110
+-93.476 45.684 3102
+-93.35 45.684 3033
+-93.224 45.684 3013
+-93.098 45.684 2987
+-92.972 45.684 2939
+-92.846 45.684 2917
+-92.72 45.684 2891
+-92.594 45.684 2876
+-92.468 45.684 2858
+-92.342 45.684 2832
+-92.216 45.684 2798
+-92.09 45.684 2779
+-91.964 45.684 2759
+-91.838 45.684 2738
+-91.712 45.684 2716
+-91.586 45.684 2694
+-91.46 45.684 2671
+-91.334 45.684 2649
+-91.208 45.684 2628
+-91.082 45.684 2608
+-90.956 45.684 2588
+-90.83 45.684 2569
+-90.704 45.684 2550
+-90.578 45.684 2532
+-90.452 45.684 2496
+-90.326 45.684 2479
+-90.2 45.684 2463
+-90.074 45.684 2448
+-89.948 45.684 2402
+-89.822 45.684 2386
+-89.696 45.684 2349
+-89.57 45.684 2319
+-89.444 45.684 2282
+-89.318 45.684 2234
+-89.192 45.684 2186
+-89.066 45.684 2149
+-88.94 45.684 2143
+-88.814 45.684 2153
+-88.688 45.684 2176
+-88.562 45.684 2220
+-88.436 45.684 2269
+-88.31 45.684 2315
+-88.184 45.684 2331
+-88.058 45.684 2363
+-87.932 45.684 2388
+-87.806 45.684 2408
+-87.68 45.684 2424
+-87.554 45.684 2446
+-87.428 45.684 2453
+-87.302 45.684 2456
+-87.176 45.684 2458
+-87.05 45.684 2474
+-86.924 45.684 2473
+-86.798 45.684 2470
+-86.672 45.684 2467
+-86.546 45.684 2476
+-86.42 45.684 2536
+-86.294 45.684 2531
+-86.168 45.684 2527
+-86.042 45.684 2525
+-85.916 45.684 2521
+-85.79 45.684 2522
+-85.664 45.684 2525
+-85.538 45.684 2518
+-85.412 45.684 2521
+-85.286 45.684 2520
+-85.16 45.684 2521
+-85.034 45.684 2521
+-84.908 45.684 2522
+-84.782 45.684 2523
+-84.656 45.684 2530
+-84.53 45.684 2580
+-84.404 45.684 2582
+-84.278 45.684 2585
+-84.152 45.684 2589
+-84.026 45.684 2599
+-83.9 45.684 2604
+-83.774 45.684 2601
+-83.648 45.684 2606
+-83.522 45.684 2610
+-83.396 45.684 2615
+-83.27 45.684 2602
+-83.144 45.684 2612
+-83.018 45.684 2617
+-82.892 45.684 2711
+-82.766 45.684 2690
+-82.64 45.684 2695
+-82.514 45.684 2791
+-82.388 45.684 2795
+-82.262 45.684 2775
+-82.136 45.684 2819
+-82.01 45.684 2748
+-81.884 45.684 2771
+-81.758 45.684 2815
+-81.632 45.684 2746
+-81.506 45.684 2755
+-81.38 45.684 2685
+-81.254 45.684 2686
+-81.128 45.684 2701
+-81.002 45.684 2685
+-80.876 45.684 2690
+-80.75 45.684 2695
+-80.624 45.684 2651
+-80.498 45.684 2684
+-80.372 45.684 2682
+-80.246 45.684 2677
+-80.12 45.684 2682
+-79.994 45.684 2686
+-79.868 45.684 2691
+-79.742 45.684 2647
+-79.616 45.684 2646
+-79.49 45.684 2650
+-79.364 45.684 2653
+-79.238 45.684 2657
+-79.112 45.684 2657
+-78.986 45.684 2610
+-78.86 45.684 2708
+-78.734 45.684 2707
+-78.608 45.684 2714
+-78.482 45.684 2717
+-78.356 45.684 2720
+-78.23 45.684 2723
+-78.104 45.684 2745
+-77.978 45.684 2729
+-77.852 45.684 2786
+-77.726 45.684 2789
+-77.6 45.684 2783
+-77.474 45.684 2791
+-77.348 45.684 2794
+-77.222 45.684 2796
+-77.096 45.684 2787
+-76.97 45.684 2899
+-76.844 45.684 2902
+-76.718 45.684 2905
+-76.592 45.684 2907
+-76.466 45.684 3006
+-76.34 45.684 2964
+-76.214 45.684 3115
+-76.088 45.684 3117
+-75.962 45.684 3083
+-75.836 45.684 3085
+-75.71 45.684 3086
+-75.584 45.684 3087
+-75.458 45.684 3089
+-75.332 45.684 3090
+-75.206 45.684 3179
+-75.08 45.684 3176
+-74.954 45.684 3177
+-74.828 45.684 3179
+-74.702 45.684 3180
+-74.576 45.684 3127
+-74.45 45.684 3160
+-74.324 45.684 3161
+-74.198 45.684 3232
+-74.072 45.684 3148
+-73.946 45.684 3149
+-73.82 45.684 3151
+-73.694 45.684 3196
+-73.568 45.684 3153
+-73.442 45.684 3154
+-73.316 45.684 3156
+-73.19 45.684 3383
+-73.064 45.684 3331
+-72.938 45.684 3332
+-72.812 45.684 3462
+-72.686 45.684 3436
+-72.56 45.684 3437
+-72.434 45.684 3384
+-72.308 45.684 3457
+-72.182 45.684 3458
+-72.056 45.684 3459
+-71.93 45.684 3460
+-71.804 45.684 3461
+-71.678 45.684 3460
+-71.552 45.684 3461
+-71.426 45.684 3462
+-71.3 45.684 3451
+-71.174 45.684 3399
+-71.048 45.684 3393
+-70.922 45.684 3394
+-70.796 45.684 3395
+-70.67 45.684 3396
+-70.544 45.684 3396
+-70.418 45.684 3397
+-70.292 45.684 3398
+-70.166 45.684 3398
+-70.04 45.684 3399
+-69.914 45.684 3399
+-69.788 45.684 3400
+-69.662 45.684 3401
+-69.536 45.684 3401
+-69.41 45.684 3402
+-69.284 45.684 3402
+-69.158 45.684 3515
+-69.032 45.684 3515
+-68.906 45.684 3500
+-68.78 45.684 3500
+-68.654 45.684 3501
+-68.528 45.684 3501
+-68.402 45.684 3501
+-68.276 45.684 3502
+-68.15 45.684 3502
+-68.024 45.684 3503
+-67.898 45.684 3503
+-67.772 45.684 3504
+-67.646 45.684 3504
+-67.52 45.684 3543
+-67.394 45.684 3544
+-67.268 45.684 3545
+-67.142 45.684 3545
+-67.016 45.684 3546
+-66.89 45.684 3546
+-66.764 45.684 3504
+-66.638 45.684 3505
+-66.512 45.684 3505
+-66.386 45.684 3506
+-66.26 45.684 3546
+-66.134 45.684 3546
+-66.008 45.684 3547
+-65.882 45.684 3498
+-65.756 45.684 3499
+-65.63 45.684 3499
+-65.504 45.684 3635
+-65.378 45.684 3635
+-65.252 45.684 3635
+-65.126 45.684 3635
+-128 45.632 4202
+-127.874 45.632 4168
+-127.748 45.632 4298
+-127.622 45.632 4470
+-127.496 45.632 4594
+-127.37 45.632 4701
+-127.244 45.632 4800
+-127.118 45.632 4972
+-126.992 45.632 5131
+-126.866 45.632 5266
+-126.74 45.632 5344
+-126.614 45.632 5293
+-126.488 45.632 5481
+-126.362 45.632 5612
+-126.236 45.632 5658
+-126.11 45.632 5821
+-125.984 45.632 5981
+-125.858 45.632 6090
+-125.732 45.632 6260
+-125.606 45.632 6362
+-125.48 45.632 6481
+-125.354 45.632 6523
+-125.228 45.632 6714
+-125.102 45.632 6841
+-124.976 45.632 6940
+-124.85 45.632 7075
+-124.724 45.632 7185
+-124.598 45.632 7280
+-124.472 45.632 7424
+-124.346 45.632 7452
+-124.22 45.632 7556
+-124.094 45.632 7662
+-123.968 45.632 7741
+-123.842 45.632 7817
+-123.716 45.632 7892
+-123.59 45.632 7962
+-123.464 45.632 8048
+-123.338 45.632 8079
+-123.212 45.632 8081
+-123.086 45.632 8112
+-122.96 45.632 8085
+-122.834 45.632 8100
+-122.708 45.632 8108
+-122.582 45.632 8029
+-122.456 45.632 8009
+-122.33 45.632 7977
+-122.204 45.632 7854
+-122.078 45.632 7841
+-121.952 45.632 7706
+-121.826 45.632 7638
+-121.7 45.632 7502
+-121.574 45.632 7494
+-121.448 45.632 7394
+-121.322 45.632 7273
+-121.196 45.632 7156
+-121.07 45.632 7063
+-120.944 45.632 6914
+-120.818 45.632 6857
+-120.692 45.632 6820
+-120.566 45.632 6857
+-120.44 45.632 6930
+-120.314 45.632 7112
+-120.188 45.632 7244
+-120.062 45.632 7368
+-119.936 45.632 7484
+-119.81 45.632 7625
+-119.684 45.632 7811
+-119.558 45.632 7847
+-119.432 45.632 8013
+-119.306 45.632 8079
+-119.18 45.632 8232
+-119.054 45.632 8292
+-118.928 45.632 8455
+-118.802 45.632 8498
+-118.676 45.632 8624
+-118.55 45.632 8671
+-118.424 45.632 8728
+-118.298 45.632 8716
+-118.172 45.632 8720
+-118.046 45.632 8631
+-117.92 45.632 8575
+-117.794 45.632 8426
+-117.668 45.632 8363
+-117.542 45.632 8274
+-117.416 45.632 8162
+-117.29 45.632 8082
+-117.164 45.632 7909
+-117.038 45.632 7821
+-116.912 45.632 7655
+-116.786 45.632 7531
+-116.66 45.632 7412
+-116.534 45.632 7292
+-116.408 45.632 7140
+-116.282 45.632 7036
+-116.156 45.632 6918
+-116.03 45.632 6796
+-115.904 45.632 6670
+-115.778 45.632 6549
+-115.652 45.632 6419
+-115.526 45.632 6279
+-115.4 45.632 6157
+-115.274 45.632 5987
+-115.148 45.632 5892
+-115.022 45.632 5783
+-114.896 45.632 5714
+-114.77 45.632 5580
+-114.644 45.632 5400
+-114.518 45.632 5171
+-114.392 45.632 5007
+-114.266 45.632 4898
+-114.14 45.632 4795
+-114.014 45.632 4704
+-113.888 45.632 4708
+-113.762 45.632 4696
+-113.636 45.632 4685
+-113.51 45.632 4582
+-113.384 45.632 4524
+-113.258 45.632 4315
+-113.132 45.632 4213
+-113.006 45.632 4081
+-112.88 45.632 3942
+-112.754 45.632 3778
+-112.628 45.632 3694
+-112.502 45.632 3621
+-112.376 45.632 3534
+-112.25 45.632 3513
+-112.124 45.632 3491
+-111.998 45.632 3493
+-111.872 45.632 3495
+-111.746 45.632 3433
+-111.62 45.632 3431
+-111.494 45.632 3430
+-111.368 45.632 3429
+-111.242 45.632 3403
+-111.116 45.632 3405
+-110.99 45.632 3353
+-110.864 45.632 3359
+-110.738 45.632 3366
+-110.612 45.632 3374
+-110.486 45.632 3382
+-110.36 45.632 3391
+-110.234 45.632 3399
+-110.108 45.632 3408
+-109.982 45.632 3416
+-109.856 45.632 3424
+-109.73 45.632 3432
+-109.604 45.632 3440
+-109.478 45.632 3447
+-109.352 45.632 3453
+-109.226 45.632 3459
+-109.1 45.632 3465
+-108.974 45.632 3471
+-108.848 45.632 3476
+-108.722 45.632 3481
+-108.596 45.632 3405
+-108.47 45.632 3410
+-108.344 45.632 3413
+-108.218 45.632 3412
+-108.092 45.632 3415
+-107.966 45.632 3418
+-107.84 45.632 3421
+-107.714 45.632 3424
+-107.588 45.632 3426
+-107.462 45.632 3429
+-107.336 45.632 3402
+-107.21 45.632 3403
+-107.084 45.632 3323
+-106.958 45.632 3304
+-106.832 45.632 3305
+-106.706 45.632 3306
+-106.58 45.632 3306
+-106.454 45.632 3307
+-106.328 45.632 3271
+-106.202 45.632 3271
+-106.076 45.632 3168
+-105.95 45.632 3167
+-105.824 45.632 3166
+-105.698 45.632 3165
+-105.572 45.632 3164
+-105.446 45.632 3163
+-105.32 45.632 3163
+-105.194 45.632 3162
+-105.068 45.632 3161
+-104.942 45.632 3160
+-104.816 45.632 3151
+-104.69 45.632 3150
+-104.564 45.632 3157
+-104.438 45.632 3155
+-104.312 45.632 2901
+-104.186 45.632 2896
+-104.06 45.632 2824
+-103.934 45.632 2816
+-103.808 45.632 2660
+-103.682 45.632 2631
+-103.556 45.632 2631
+-103.43 45.632 2605
+-103.304 45.632 2608
+-103.178 45.632 2649
+-103.052 45.632 2718
+-102.926 45.632 2776
+-102.8 45.632 2888
+-102.674 45.632 2903
+-102.548 45.632 2982
+-102.422 45.632 2945
+-102.296 45.632 3105
+-102.17 45.632 3361
+-102.044 45.632 3394
+-101.918 45.632 3393
+-101.792 45.632 3244
+-101.666 45.632 3243
+-101.54 45.632 3242
+-101.414 45.632 3241
+-101.288 45.632 3240
+-101.162 45.632 3240
+-101.036 45.632 3239
+-100.91 45.632 3213
+-100.784 45.632 3242
+-100.658 45.632 3242
+-100.532 45.632 3273
+-100.406 45.632 3247
+-100.28 45.632 3292
+-100.154 45.632 3201
+-100.028 45.632 3223
+-99.902 45.632 3227
+-99.776 45.632 3208
+-99.65 45.632 3226
+-99.524 45.632 3226
+-99.398 45.632 3229
+-99.272 45.632 3250
+-99.146 45.632 3250
+-99.02 45.632 3251
+-98.894 45.632 3347
+-98.768 45.632 3347
+-98.642 45.632 3347
+-98.516 45.632 3311
+-98.39 45.632 3404
+-98.264 45.632 3411
+-98.138 45.632 3411
+-98.012 45.632 3408
+-97.886 45.632 3408
+-97.76 45.632 3382
+-97.634 45.632 3379
+-97.508 45.632 3309
+-97.382 45.632 3440
+-97.256 45.632 3452
+-97.13 45.632 3415
+-97.004 45.632 3414
+-96.878 45.632 3412
+-96.752 45.632 3424
+-96.626 45.632 3378
+-96.5 45.632 3384
+-96.374 45.632 3379
+-96.248 45.632 3379
+-96.122 45.632 3378
+-95.996 45.632 3377
+-95.87 45.632 3376
+-95.744 45.632 3216
+-95.618 45.632 3238
+-95.492 45.632 3236
+-95.366 45.632 3233
+-95.24 45.632 3218
+-95.114 45.632 3258
+-94.988 45.632 3233
+-94.862 45.632 3230
+-94.736 45.632 3212
+-94.61 45.632 3210
+-94.484 45.632 3138
+-94.358 45.632 3163
+-94.232 45.632 3159
+-94.106 45.632 3154
+-93.98 45.632 3149
+-93.854 45.632 3136
+-93.728 45.632 3130
+-93.602 45.632 3124
+-93.476 45.632 3117
+-93.35 45.632 3110
+-93.224 45.632 3042
+-93.098 45.632 3022
+-92.972 45.632 2997
+-92.846 45.632 2950
+-92.72 45.632 2929
+-92.594 45.632 2904
+-92.468 45.632 2890
+-92.342 45.632 2873
+-92.216 45.632 2848
+-92.09 45.632 2816
+-91.964 45.632 2798
+-91.838 45.632 2780
+-91.712 45.632 2760
+-91.586 45.632 2740
+-91.46 45.632 2719
+-91.334 45.632 2698
+-91.208 45.632 2676
+-91.082 45.632 2654
+-90.956 45.632 2631
+-90.83 45.632 2607
+-90.704 45.632 2582
+-90.578 45.632 2556
+-90.452 45.632 2512
+-90.326 45.632 2487
+-90.2 45.632 2464
+-90.074 45.632 2444
+-89.948 45.632 2426
+-89.822 45.632 2382
+-89.696 45.632 2360
+-89.57 45.632 2313
+-89.444 45.632 2267
+-89.318 45.632 2203
+-89.192 45.632 2137
+-89.066 45.632 2092
+-88.94 45.632 2070
+-88.814 45.632 2086
+-88.688 45.632 2126
+-88.562 45.632 2185
+-88.436 45.632 2246
+-88.31 45.632 2303
+-88.184 45.632 2327
+-88.058 45.632 2363
+-87.932 45.632 2390
+-87.806 45.632 2413
+-87.68 45.632 2439
+-87.554 45.632 2449
+-87.428 45.632 2455
+-87.302 45.632 2457
+-87.176 45.632 2475
+-87.05 45.632 2473
+-86.924 45.632 2471
+-86.798 45.632 2467
+-86.672 45.632 2476
+-86.546 45.632 2532
+-86.42 45.632 2526
+-86.294 45.632 2521
+-86.168 45.632 2519
+-86.042 45.632 2514
+-85.916 45.632 2514
+-85.79 45.632 2516
+-85.664 45.632 2508
+-85.538 45.632 2511
+-85.412 45.632 2509
+-85.286 45.632 2510
+-85.16 45.632 2510
+-85.034 45.632 2510
+-84.908 45.632 2511
+-84.782 45.632 2518
+-84.656 45.632 2566
+-84.53 45.632 2569
+-84.404 45.632 2572
+-84.278 45.632 2575
+-84.152 45.632 2586
+-84.026 45.632 2590
+-83.9 45.632 2589
+-83.774 45.632 2593
+-83.648 45.632 2598
+-83.522 45.632 2603
+-83.396 45.632 2591
+-83.27 45.632 2601
+-83.144 45.632 2606
+-83.018 45.632 2699
+-82.892 45.632 2678
+-82.766 45.632 2684
+-82.64 45.632 2778
+-82.514 45.632 2782
+-82.388 45.632 2764
+-82.262 45.632 2808
+-82.136 45.632 2738
+-82.01 45.632 2761
+-81.884 45.632 2805
+-81.758 45.632 2737
+-81.632 45.632 2746
+-81.506 45.632 2678
+-81.38 45.632 2679
+-81.254 45.632 2694
+-81.128 45.632 2679
+-81.002 45.632 2684
+-80.876 45.632 2690
+-80.75 45.632 2646
+-80.624 45.632 2679
+-80.498 45.632 2677
+-80.372 45.632 2673
+-80.246 45.632 2678
+-80.12 45.632 2682
+-79.994 45.632 2687
+-79.868 45.632 2644
+-79.742 45.632 2643
+-79.616 45.632 2647
+-79.49 45.632 2651
+-79.364 45.632 2654
+-79.238 45.632 2655
+-79.112 45.632 2608
+-78.986 45.632 2705
+-78.86 45.632 2704
+-78.734 45.632 2712
+-78.608 45.632 2715
+-78.482 45.632 2718
+-78.356 45.632 2721
+-78.23 45.632 2743
+-78.104 45.632 2727
+-77.978 45.632 2784
+-77.852 45.632 2787
+-77.726 45.632 2781
+-77.6 45.632 2789
+-77.474 45.632 2792
+-77.348 45.632 2795
+-77.222 45.632 2786
+-77.096 45.632 2898
+-76.97 45.632 2900
+-76.844 45.632 2903
+-76.718 45.632 2906
+-76.592 45.632 3005
+-76.466 45.632 2963
+-76.34 45.632 3114
+-76.214 45.632 3115
+-76.088 45.632 3082
+-75.962 45.632 3084
+-75.836 45.632 3085
+-75.71 45.632 3086
+-75.584 45.632 3088
+-75.458 45.632 3089
+-75.332 45.632 3178
+-75.206 45.632 3174
+-75.08 45.632 3176
+-74.954 45.632 3177
+-74.828 45.632 3179
+-74.702 45.632 3126
+-74.576 45.632 3159
+-74.45 45.632 3160
+-74.324 45.632 3231
+-74.198 45.632 3147
+-74.072 45.632 3148
+-73.946 45.632 3150
+-73.82 45.632 3195
+-73.694 45.632 3152
+-73.568 45.632 3153
+-73.442 45.632 3155
+-73.316 45.632 3382
+-73.19 45.632 3330
+-73.064 45.632 3331
+-72.938 45.632 3461
+-72.812 45.632 3435
+-72.686 45.632 3436
+-72.56 45.632 3384
+-72.434 45.632 3456
+-72.308 45.632 3458
+-72.182 45.632 3458
+-72.056 45.632 3459
+-71.93 45.632 3460
+-71.804 45.632 3459
+-71.678 45.632 3460
+-71.552 45.632 3461
+-71.426 45.632 3450
+-71.3 45.632 3399
+-71.174 45.632 3393
+-71.048 45.632 3394
+-70.922 45.632 3394
+-70.796 45.632 3395
+-70.67 45.632 3396
+-70.544 45.632 3396
+-70.418 45.632 3397
+-70.292 45.632 3398
+-70.166 45.632 3398
+-70.04 45.632 3399
+-69.914 45.632 3400
+-69.788 45.632 3400
+-69.662 45.632 3401
+-69.536 45.632 3402
+-69.41 45.632 3402
+-69.284 45.632 3514
+-69.158 45.632 3515
+-69.032 45.632 3499
+-68.906 45.632 3500
+-68.78 45.632 3500
+-68.654 45.632 3501
+-68.528 45.632 3501
+-68.402 45.632 3502
+-68.276 45.632 3502
+-68.15 45.632 3503
+-68.024 45.632 3503
+-67.898 45.632 3503
+-67.772 45.632 3504
+-67.646 45.632 3543
+-67.52 45.632 3543
+-67.394 45.632 3544
+-67.268 45.632 3545
+-67.142 45.632 3545
+-67.016 45.632 3546
+-66.89 45.632 3504
+-66.764 45.632 3505
+-66.638 45.632 3505
+-66.512 45.632 3506
+-66.386 45.632 3545
+-66.26 45.632 3546
+-66.134 45.632 3547
+-66.008 45.632 3498
+-65.882 45.632 3499
+-65.756 45.632 3499
+-65.63 45.632 3634
+-65.504 45.632 3635
+-65.378 45.632 3635
+-65.252 45.632 3635
+-65.126 45.632 3635
+-128 45.58 4130
+-127.874 45.58 4024
+-127.748 45.58 4188
+-127.622 45.58 4398
+-127.496 45.58 4562
+-127.37 45.58 4682
+-127.244 45.58 4785
+-127.118 45.58 4963
+-126.992 45.58 5156
+-126.866 45.58 5263
+-126.74 45.58 5349
+-126.614 45.58 5379
+-126.488 45.58 5515
+-126.362 45.58 5598
+-126.236 45.58 5660
+-126.11 45.58 5766
+-125.984 45.58 5960
+-125.858 45.58 6043
+-125.732 45.58 6172
+-125.606 45.58 6344
+-125.48 45.58 6479
+-125.354 45.58 6574
+-125.228 45.58 6717
+-125.102 45.58 6843
+-124.976 45.58 6943
+-124.85 45.58 7023
+-124.724 45.58 7127
+-124.598 45.58 7204
+-124.472 45.58 7291
+-124.346 45.58 7409
+-124.22 45.58 7525
+-124.094 45.58 7606
+-123.968 45.58 7643
+-123.842 45.58 7752
+-123.716 45.58 7838
+-123.59 45.58 7902
+-123.464 45.58 7959
+-123.338 45.58 8001
+-123.212 45.58 8023
+-123.086 45.58 8033
+-122.96 45.58 8052
+-122.834 45.58 8041
+-122.708 45.58 8062
+-122.582 45.58 7996
+-122.456 45.58 7948
+-122.33 45.58 7917
+-122.204 45.58 7833
+-122.078 45.58 7777
+-121.952 45.58 7676
+-121.826 45.58 7582
+-121.7 45.58 7497
+-121.574 45.58 7413
+-121.448 45.58 7366
+-121.322 45.58 7203
+-121.196 45.58 7128
+-121.07 45.58 7011
+-120.944 45.58 6889
+-120.818 45.58 6801
+-120.692 45.58 6773
+-120.566 45.58 6889
+-120.44 45.58 6993
+-120.314 45.58 7055
+-120.188 45.58 7227
+-120.062 45.58 7374
+-119.936 45.58 7497
+-119.81 45.58 7618
+-119.684 45.58 7732
+-119.558 45.58 7877
+-119.432 45.58 7952
+-119.306 45.58 8070
+-119.18 45.58 8211
+-119.054 45.58 8303
+-118.928 45.58 8426
+-118.802 45.58 8506
+-118.676 45.58 8597
+-118.55 45.58 8640
+-118.424 45.58 8657
+-118.298 45.58 8657
+-118.172 45.58 8645
+-118.046 45.58 8587
+-117.92 45.58 8499
+-117.794 45.58 8406
+-117.668 45.58 8309
+-117.542 45.58 8226
+-117.416 45.58 8114
+-117.29 45.58 7975
+-117.164 45.58 7856
+-117.038 45.58 7801
+-116.912 45.58 7609
+-116.786 45.58 7533
+-116.66 45.58 7422
+-116.534 45.58 7273
+-116.408 45.58 7115
+-116.282 45.58 7022
+-116.156 45.58 6902
+-116.03 45.58 6761
+-115.904 45.58 6661
+-115.778 45.58 6562
+-115.652 45.58 6353
+-115.526 45.58 6154
+-115.4 45.58 6102
+-115.274 45.58 5903
+-115.148 45.58 5877
+-115.022 45.58 5719
+-114.896 45.58 5720
+-114.77 45.58 5591
+-114.644 45.58 5392
+-114.518 45.58 5189
+-114.392 45.58 5015
+-114.266 45.58 4863
+-114.14 45.58 4721
+-114.014 45.58 4595
+-113.888 45.58 4669
+-113.762 45.58 4670
+-113.636 45.58 4670
+-113.51 45.58 4572
+-113.384 45.58 4468
+-113.258 45.58 4344
+-113.132 45.58 4246
+-113.006 45.58 4089
+-112.88 45.58 3933
+-112.754 45.58 3746
+-112.628 45.58 3614
+-112.502 45.58 3547
+-112.376 45.58 3508
+-112.25 45.58 3468
+-112.124 45.58 3465
+-111.998 45.58 3459
+-111.872 45.58 3461
+-111.746 45.58 3404
+-111.62 45.58 3388
+-111.494 45.58 3384
+-111.368 45.58 3364
+-111.242 45.58 3364
+-111.116 45.58 3312
+-110.99 45.58 3319
+-110.864 45.58 3328
+-110.738 45.58 3338
+-110.612 45.58 3349
+-110.486 45.58 3360
+-110.36 45.58 3371
+-110.234 45.58 3382
+-110.108 45.58 3393
+-109.982 45.58 3403
+-109.856 45.58 3413
+-109.73 45.58 3422
+-109.604 45.58 3430
+-109.478 45.58 3438
+-109.352 45.58 3446
+-109.226 45.58 3453
+-109.1 45.58 3459
+-108.974 45.58 3465
+-108.848 45.58 3471
+-108.722 45.58 3393
+-108.596 45.58 3398
+-108.47 45.58 3403
+-108.344 45.58 3407
+-108.218 45.58 3411
+-108.092 45.58 3415
+-107.966 45.58 3418
+-107.84 45.58 3389
+-107.714 45.58 3392
+-107.588 45.58 3394
+-107.462 45.58 3396
+-107.336 45.58 3398
+-107.21 45.58 3319
+-107.084 45.58 3320
+-106.958 45.58 3321
+-106.832 45.58 3303
+-106.706 45.58 3303
+-106.58 45.58 3304
+-106.454 45.58 3305
+-106.328 45.58 3306
+-106.202 45.58 3167
+-106.076 45.58 3167
+-105.95 45.58 3166
+-105.824 45.58 3165
+-105.698 45.58 3164
+-105.572 45.58 3163
+-105.446 45.58 3162
+-105.32 45.58 3162
+-105.194 45.58 3161
+-105.068 45.58 3152
+-104.942 45.58 3151
+-104.816 45.58 3150
+-104.69 45.58 3149
+-104.564 45.58 3157
+-104.438 45.58 3154
+-104.312 45.58 2898
+-104.186 45.58 2815
+-104.06 45.58 2820
+-103.934 45.58 2656
+-103.808 45.58 2618
+-103.682 45.58 2628
+-103.556 45.58 2611
+-103.43 45.58 2604
+-103.304 45.58 2643
+-103.178 45.58 2638
+-103.052 45.58 2708
+-102.926 45.58 2765
+-102.8 45.58 2889
+-102.674 45.58 2989
+-102.548 45.58 3003
+-102.422 45.58 3100
+-102.296 45.58 3058
+-102.17 45.58 3103
+-102.044 45.58 3358
+-101.918 45.58 3391
+-101.792 45.58 3390
+-101.666 45.58 3242
+-101.54 45.58 3241
+-101.414 45.58 3240
+-101.288 45.58 3239
+-101.162 45.58 3238
+-101.036 45.58 3238
+-100.91 45.58 3237
+-100.784 45.58 3211
+-100.658 45.58 3240
+-100.532 45.58 3240
+-100.406 45.58 3271
+-100.28 45.58 3245
+-100.154 45.58 3290
+-100.028 45.58 3199
+-99.902 45.58 3221
+-99.776 45.58 3225
+-99.65 45.58 3207
+-99.524 45.58 3224
+-99.398 45.58 3224
+-99.272 45.58 3228
+-99.146 45.58 3248
+-99.02 45.58 3248
+-98.894 45.58 3249
+-98.768 45.58 3345
+-98.642 45.58 3345
+-98.516 45.58 3345
+-98.39 45.58 3309
+-98.264 45.58 3401
+-98.138 45.58 3409
+-98.012 45.58 3408
+-97.886 45.58 3406
+-97.76 45.58 3406
+-97.634 45.58 3380
+-97.508 45.58 3377
+-97.382 45.58 3307
+-97.256 45.58 3438
+-97.13 45.58 3450
+-97.004 45.58 3413
+-96.878 45.58 3412
+-96.752 45.58 3410
+-96.626 45.58 3422
+-96.5 45.58 3376
+-96.374 45.58 3382
+-96.248 45.58 3381
+-96.122 45.58 3376
+-95.996 45.58 3375
+-95.87 45.58 3375
+-95.744 45.58 3374
+-95.618 45.58 3217
+-95.492 45.58 3239
+-95.366 45.58 3237
+-95.24 45.58 3235
+-95.114 45.58 3220
+-94.988 45.58 3259
+-94.862 45.58 3235
+-94.736 45.58 3232
+-94.61 45.58 3215
+-94.484 45.58 3213
+-94.358 45.58 3143
+-94.232 45.58 3167
+-94.106 45.58 3163
+-93.98 45.58 3159
+-93.854 45.58 3154
+-93.728 45.58 3142
+-93.602 45.58 3136
+-93.476 45.58 3131
+-93.35 45.58 3124
+-93.224 45.58 3118
+-93.098 45.58 3052
+-92.972 45.58 3033
+-92.846 45.58 3009
+-92.72 45.58 2963
+-92.594 45.58 2942
+-92.468 45.58 2918
+-92.342 45.58 2905
+-92.216 45.58 2889
+-92.09 45.58 2866
+-91.964 45.58 2835
+-91.838 45.58 2818
+-91.712 45.58 2800
+-91.586 45.58 2781
+-91.46 45.58 2761
+-91.334 45.58 2740
+-91.208 45.58 2717
+-91.082 45.58 2693
+-90.956 45.58 2666
+-90.83 45.58 2637
+-90.704 45.58 2605
+-90.578 45.58 2570
+-90.452 45.58 2518
+-90.326 45.58 2484
+-90.2 45.58 2452
+-90.074 45.58 2427
+-89.948 45.58 2409
+-89.822 45.58 2396
+-89.696 45.58 2356
+-89.57 45.58 2338
+-89.444 45.58 2259
+-89.318 45.58 2183
+-89.192 45.58 2105
+-89.066 45.58 2034
+-88.94 45.58 2006
+-88.814 45.58 2030
+-88.688 45.58 2086
+-88.562 45.58 2160
+-88.436 45.58 2234
+-88.31 45.58 2299
+-88.184 45.58 2329
+-88.058 45.58 2367
+-87.932 45.58 2398
+-87.806 45.58 2429
+-87.68 45.58 2444
+-87.554 45.58 2453
+-87.428 45.58 2458
+-87.302 45.58 2476
+-87.176 45.58 2475
+-87.05 45.58 2472
+-86.924 45.58 2468
+-86.798 45.58 2476
+-86.672 45.58 2528
+-86.546 45.58 2522
+-86.42 45.58 2516
+-86.294 45.58 2512
+-86.168 45.58 2507
+-86.042 45.58 2505
+-85.916 45.58 2507
+-85.79 45.58 2499
+-85.664 45.58 2500
+-85.538 45.58 2498
+-85.412 45.58 2499
+-85.286 45.58 2498
+-85.16 45.58 2498
+-85.034 45.58 2499
+-84.908 45.58 2505
+-84.782 45.58 2552
+-84.656 45.58 2554
+-84.53 45.58 2558
+-84.404 45.58 2561
+-84.278 45.58 2571
+-84.152 45.58 2576
+-84.026 45.58 2575
+-83.9 45.58 2580
+-83.774 45.58 2585
+-83.648 45.58 2590
+-83.522 45.58 2579
+-83.396 45.58 2589
+-83.27 45.58 2595
+-83.144 45.58 2685
+-83.018 45.58 2666
+-82.892 45.58 2672
+-82.766 45.58 2764
+-82.64 45.58 2769
+-82.514 45.58 2752
+-82.388 45.58 2795
+-82.262 45.58 2727
+-82.136 45.58 2750
+-82.01 45.58 2793
+-81.884 45.58 2727
+-81.758 45.58 2737
+-81.632 45.58 2670
+-81.506 45.58 2672
+-81.38 45.58 2687
+-81.254 45.58 2672
+-81.128 45.58 2678
+-81.002 45.58 2684
+-80.876 45.58 2641
+-80.75 45.58 2673
+-80.624 45.58 2672
+-80.498 45.58 2668
+-80.372 45.58 2673
+-80.246 45.58 2678
+-80.12 45.58 2683
+-79.994 45.58 2641
+-79.868 45.58 2640
+-79.742 45.58 2644
+-79.616 45.58 2648
+-79.49 45.58 2652
+-79.364 45.58 2652
+-79.238 45.58 2606
+-79.112 45.58 2703
+-78.986 45.58 2702
+-78.86 45.58 2710
+-78.734 45.58 2713
+-78.608 45.58 2716
+-78.482 45.58 2719
+-78.356 45.58 2741
+-78.23 45.58 2725
+-78.104 45.58 2782
+-77.978 45.58 2785
+-77.852 45.58 2779
+-77.726 45.58 2787
+-77.6 45.58 2790
+-77.474 45.58 2793
+-77.348 45.58 2784
+-77.222 45.58 2896
+-77.096 45.58 2899
+-76.97 45.58 2902
+-76.844 45.58 2904
+-76.718 45.58 3003
+-76.592 45.58 2962
+-76.466 45.58 3113
+-76.34 45.58 3114
+-76.214 45.58 3081
+-76.088 45.58 3083
+-75.962 45.58 3084
+-75.836 45.58 3085
+-75.71 45.58 3087
+-75.584 45.58 3088
+-75.458 45.58 3177
+-75.332 45.58 3173
+-75.206 45.58 3175
+-75.08 45.58 3176
+-74.954 45.58 3178
+-74.828 45.58 3125
+-74.702 45.58 3158
+-74.576 45.58 3159
+-74.45 45.58 3229
+-74.324 45.58 3146
+-74.198 45.58 3147
+-74.072 45.58 3149
+-73.946 45.58 3194
+-73.82 45.58 3151
+-73.694 45.58 3153
+-73.568 45.58 3154
+-73.442 45.58 3381
+-73.316 45.58 3330
+-73.19 45.58 3331
+-73.064 45.58 3460
+-72.938 45.58 3434
+-72.812 45.58 3435
+-72.686 45.58 3383
+-72.56 45.58 3456
+-72.434 45.58 3457
+-72.308 45.58 3458
+-72.182 45.58 3459
+-72.056 45.58 3459
+-71.93 45.58 3459
+-71.804 45.58 3459
+-71.678 45.58 3460
+-71.552 45.58 3449
+-71.426 45.58 3398
+-71.3 45.58 3392
+-71.174 45.58 3393
+-71.048 45.58 3394
+-70.922 45.58 3395
+-70.796 45.58 3395
+-70.67 45.58 3396
+-70.544 45.58 3397
+-70.418 45.58 3397
+-70.292 45.58 3398
+-70.166 45.58 3399
+-70.04 45.58 3399
+-69.914 45.58 3400
+-69.788 45.58 3401
+-69.662 45.58 3401
+-69.536 45.58 3402
+-69.41 45.58 3514
+-69.284 45.58 3514
+-69.158 45.58 3499
+-69.032 45.58 3499
+-68.906 45.58 3500
+-68.78 45.58 3500
+-68.654 45.58 3501
+-68.528 45.58 3501
+-68.402 45.58 3502
+-68.276 45.58 3502
+-68.15 45.58 3503
+-68.024 45.58 3503
+-67.898 45.58 3504
+-67.772 45.58 3542
+-67.646 45.58 3543
+-67.52 45.58 3544
+-67.394 45.58 3544
+-67.268 45.58 3545
+-67.142 45.58 3545
+-67.016 45.58 3504
+-66.89 45.58 3504
+-66.764 45.58 3505
+-66.638 45.58 3505
+-66.512 45.58 3545
+-66.386 45.58 3546
+-66.26 45.58 3546
+-66.134 45.58 3498
+-66.008 45.58 3498
+-65.882 45.58 3499
+-65.756 45.58 3634
+-65.63 45.58 3634
+-65.504 45.58 3635
+-65.378 45.58 3635
+-65.252 45.58 3635
+-65.126 45.58 3567
+-128 45.528 4160
+-127.874 45.528 4124
+-127.748 45.528 4215
+-127.622 45.528 4351
+-127.496 45.528 4508
+-127.37 45.528 4648
+-127.244 45.528 4758
+-127.118 45.528 4912
+-126.992 45.528 5108
+-126.866 45.528 5213
+-126.74 45.528 5310
+-126.614 45.528 5365
+-126.488 45.528 5477
+-126.362 45.528 5594
+-126.236 45.528 5675
+-126.11 45.528 5754
+-125.984 45.528 5922
+-125.858 45.528 6045
+-125.732 45.528 6162
+-125.606 45.528 6296
+-125.48 45.528 6466
+-125.354 45.528 6534
+-125.228 45.528 6692
+-125.102 45.528 6799
+-124.976 45.528 6892
+-124.85 45.528 6970
+-124.724 45.528 7074
+-124.598 45.528 7163
+-124.472 45.528 7255
+-124.346 45.528 7354
+-124.22 45.528 7506
+-124.094 45.528 7564
+-123.968 45.528 7642
+-123.842 45.528 7756
+-123.716 45.528 7776
+-123.59 45.528 7857
+-123.464 45.528 7910
+-123.338 45.528 7974
+-123.212 45.528 7980
+-123.086 45.528 8000
+-122.96 45.528 7977
+-122.834 45.528 8013
+-122.708 45.528 7980
+-122.582 45.528 7962
+-122.456 45.528 7870
+-122.33 45.528 7871
+-122.204 45.528 7793
+-122.078 45.528 7705
+-121.952 45.528 7606
+-121.826 45.528 7534
+-121.7 45.528 7502
+-121.574 45.528 7368
+-121.448 45.528 7299
+-121.322 45.528 7235
+-121.196 45.528 7105
+-121.07 45.528 6955
+-120.944 45.528 6845
+-120.818 45.528 6784
+-120.692 45.528 6729
+-120.566 45.528 6855
+-120.44 45.528 6968
+-120.314 45.528 7099
+-120.188 45.528 7202
+-120.062 45.528 7331
+-119.936 45.528 7458
+-119.81 45.528 7617
+-119.684 45.528 7730
+-119.558 45.528 7824
+-119.432 45.528 7972
+-119.306 45.528 8034
+-119.18 45.528 8145
+-119.054 45.528 8312
+-118.928 45.528 8387
+-118.802 45.528 8502
+-118.676 45.528 8538
+-118.55 45.528 8587
+-118.424 45.528 8622
+-118.298 45.528 8638
+-118.172 45.528 8593
+-118.046 45.528 8555
+-117.92 45.528 8464
+-117.794 45.528 8337
+-117.668 45.528 8291
+-117.542 45.528 8223
+-117.416 45.528 8101
+-117.29 45.528 7980
+-117.164 45.528 7858
+-117.038 45.528 7701
+-116.912 45.528 7604
+-116.786 45.528 7488
+-116.66 45.528 7374
+-116.534 45.528 7289
+-116.408 45.528 7141
+-116.282 45.528 6996
+-116.156 45.528 6877
+-116.03 45.528 6756
+-115.904 45.528 6696
+-115.778 45.528 6526
+-115.652 45.528 6350
+-115.526 45.528 6196
+-115.4 45.528 6101
+-115.274 45.528 5999
+-115.148 45.528 5903
+-115.022 45.528 5797
+-114.896 45.528 5721
+-114.77 45.528 5574
+-114.644 45.528 5361
+-114.518 45.528 5163
+-114.392 45.528 4974
+-114.266 45.528 4868
+-114.14 45.528 4721
+-114.014 45.528 4675
+-113.888 45.528 4674
+-113.762 45.528 4653
+-113.636 45.528 4610
+-113.51 45.528 4529
+-113.384 45.528 4429
+-113.258 45.528 4339
+-113.132 45.528 4234
+-113.006 45.528 4065
+-112.88 45.528 3871
+-112.754 45.528 3639
+-112.628 45.528 3485
+-112.502 45.528 3385
+-112.376 45.528 3356
+-112.25 45.528 3400
+-112.124 45.528 3429
+-111.998 45.528 3434
+-111.872 45.528 3412
+-111.746 45.528 3355
+-111.62 45.528 3347
+-111.494 45.528 3317
+-111.368 45.528 3313
+-111.242 45.528 3261
+-111.116 45.528 3268
+-110.99 45.528 3279
+-110.864 45.528 3292
+-110.738 45.528 3306
+-110.612 45.528 3321
+-110.486 45.528 3336
+-110.36 45.528 3350
+-110.234 45.528 3364
+-110.108 45.528 3377
+-109.982 45.528 3389
+-109.856 45.528 3401
+-109.73 45.528 3411
+-109.604 45.528 3421
+-109.478 45.528 3430
+-109.352 45.528 3439
+-109.226 45.528 3446
+-109.1 45.528 3454
+-108.974 45.528 3460
+-108.848 45.528 3380
+-108.722 45.528 3386
+-108.596 45.528 3391
+-108.47 45.528 3396
+-108.344 45.528 3401
+-108.218 45.528 3405
+-108.092 45.528 3409
+-107.966 45.528 3413
+-107.84 45.528 3385
+-107.714 45.528 3388
+-107.588 45.528 3390
+-107.462 45.528 3393
+-107.336 45.528 3313
+-107.21 45.528 3315
+-107.084 45.528 3317
+-106.958 45.528 3318
+-106.832 45.528 3320
+-106.706 45.528 3301
+-106.58 45.528 3302
+-106.454 45.528 3303
+-106.328 45.528 3304
+-106.202 45.528 3166
+-106.076 45.528 3165
+-105.95 45.528 3164
+-105.824 45.528 3164
+-105.698 45.528 3163
+-105.572 45.528 3162
+-105.446 45.528 3161
+-105.32 45.528 3161
+-105.194 45.528 3151
+-105.068 45.528 3151
+-104.942 45.528 3150
+-104.816 45.528 3149
+-104.69 45.528 3148
+-104.564 45.528 3156
+-104.438 45.528 3153
+-104.312 45.528 2818
+-104.186 45.528 2810
+-104.06 45.528 2816
+-103.934 45.528 2652
+-103.808 45.528 2615
+-103.682 45.528 2626
+-103.556 45.528 2609
+-103.43 45.528 2603
+-103.304 45.528 2632
+-103.178 45.528 2638
+-103.052 45.528 2708
+-102.926 45.528 2765
+-102.8 45.528 2869
+-102.674 45.528 2967
+-102.548 45.528 2981
+-102.422 45.528 3112
+-102.296 45.528 3098
+-102.17 45.528 3057
+-102.044 45.528 3101
+-101.918 45.528 3356
+-101.792 45.528 3389
+-101.666 45.528 3387
+-101.54 45.528 3240
+-101.414 45.528 3239
+-101.288 45.528 3238
+-101.162 45.528 3237
+-101.036 45.528 3236
+-100.91 45.528 3236
+-100.784 45.528 3235
+-100.658 45.528 3209
+-100.532 45.528 3238
+-100.406 45.528 3238
+-100.28 45.528 3269
+-100.154 45.528 3243
+-100.028 45.528 3287
+-99.902 45.528 3197
+-99.776 45.528 3219
+-99.65 45.528 3223
+-99.524 45.528 3205
+-99.398 45.528 3222
+-99.272 45.528 3223
+-99.146 45.528 3226
+-99.02 45.528 3246
+-98.894 45.528 3247
+-98.768 45.528 3247
+-98.642 45.528 3343
+-98.516 45.528 3343
+-98.39 45.528 3343
+-98.264 45.528 3307
+-98.138 45.528 3399
+-98.012 45.528 3407
+-97.886 45.528 3406
+-97.76 45.528 3404
+-97.634 45.528 3404
+-97.508 45.528 3378
+-97.382 45.528 3375
+-97.256 45.528 3306
+-97.13 45.528 3436
+-97.004 45.528 3447
+-96.878 45.528 3411
+-96.752 45.528 3409
+-96.626 45.528 3408
+-96.5 45.528 3419
+-96.374 45.528 3374
+-96.248 45.528 3380
+-96.122 45.528 3375
+-95.996 45.528 3374
+-95.87 45.528 3373
+-95.744 45.528 3372
+-95.618 45.528 3371
+-95.492 45.528 3220
+-95.366 45.528 3241
+-95.24 45.528 3239
+-95.114 45.528 3237
+-94.988 45.528 3222
+-94.862 45.528 3262
+-94.736 45.528 3238
+-94.61 45.528 3235
+-94.484 45.528 3219
+-94.358 45.528 3217
+-94.232 45.528 3148
+-94.106 45.528 3172
+-93.98 45.528 3168
+-93.854 45.528 3164
+-93.728 45.528 3160
+-93.602 45.528 3148
+-93.476 45.528 3144
+-93.35 45.528 3138
+-93.224 45.528 3133
+-93.098 45.528 3127
+-92.972 45.528 3063
+-92.846 45.528 3045
+-92.72 45.528 3021
+-92.594 45.528 2976
+-92.468 45.528 2956
+-92.342 45.528 2934
+-92.216 45.528 2921
+-92.09 45.528 2907
+-91.964 45.528 2883
+-91.838 45.528 2854
+-91.712 45.528 2837
+-91.586 45.528 2820
+-91.46 45.528 2800
+-91.334 45.528 2778
+-91.208 45.528 2755
+-91.082 45.528 2728
+-90.956 45.528 2698
+-90.83 45.528 2663
+-90.704 45.528 2624
+-90.578 45.528 2580
+-90.452 45.528 2532
+-90.326 45.528 2471
+-90.2 45.528 2428
+-90.074 45.528 2396
+-89.948 45.528 2379
+-89.822 45.528 2374
+-89.696 45.528 2365
+-89.57 45.528 2343
+-89.444 45.528 2278
+-89.318 45.528 2193
+-89.192 45.528 2093
+-89.066 45.528 2010
+-88.94 45.528 1979
+-88.814 45.528 2008
+-88.688 45.528 2075
+-88.562 45.528 2158
+-88.436 45.528 2238
+-88.31 45.528 2307
+-88.184 45.528 2339
+-88.058 45.528 2380
+-87.932 45.528 2418
+-87.806 45.528 2438
+-87.68 45.528 2451
+-87.554 45.528 2458
+-87.428 45.528 2478
+-87.302 45.528 2478
+-87.176 45.528 2475
+-87.05 45.528 2470
+-86.924 45.528 2477
+-86.798 45.528 2526
+-86.672 45.528 2519
+-86.546 45.528 2511
+-86.42 45.528 2506
+-86.294 45.528 2500
+-86.168 45.528 2497
+-86.042 45.528 2497
+-85.916 45.528 2489
+-85.79 45.528 2489
+-85.664 45.528 2486
+-85.538 45.528 2487
+-85.412 45.528 2485
+-85.286 45.528 2485
+-85.16 45.528 2485
+-85.034 45.528 2492
+-84.908 45.528 2536
+-84.782 45.528 2539
+-84.656 45.528 2542
+-84.53 45.528 2546
+-84.404 45.528 2556
+-84.278 45.528 2560
+-84.152 45.528 2560
+-84.026 45.528 2565
+-83.9 45.528 2571
+-83.774 45.528 2576
+-83.648 45.528 2566
+-83.522 45.528 2576
+-83.396 45.528 2582
+-83.27 45.528 2671
+-83.144 45.528 2653
+-83.018 45.528 2660
+-82.892 45.528 2750
+-82.766 45.528 2755
+-82.64 45.528 2739
+-82.514 45.528 2781
+-82.388 45.528 2716
+-82.262 45.528 2739
+-82.136 45.528 2782
+-82.01 45.528 2718
+-81.884 45.528 2728
+-81.758 45.528 2662
+-81.632 45.528 2664
+-81.506 45.528 2679
+-81.38 45.528 2666
+-81.254 45.528 2672
+-81.128 45.528 2678
+-81.002 45.528 2636
+-80.876 45.528 2668
+-80.75 45.528 2667
+-80.624 45.528 2663
+-80.498 45.528 2668
+-80.372 45.528 2673
+-80.246 45.528 2678
+-80.12 45.528 2637
+-79.994 45.528 2636
+-79.868 45.528 2641
+-79.742 45.528 2645
+-79.616 45.528 2649
+-79.49 45.528 2650
+-79.364 45.528 2604
+-79.238 45.528 2700
+-79.112 45.528 2700
+-78.986 45.528 2708
+-78.86 45.528 2711
+-78.734 45.528 2714
+-78.608 45.528 2717
+-78.482 45.528 2739
+-78.356 45.528 2723
+-78.23 45.528 2780
+-78.104 45.528 2783
+-77.978 45.528 2777
+-77.852 45.528 2786
+-77.726 45.528 2789
+-77.6 45.528 2792
+-77.474 45.528 2783
+-77.348 45.528 2895
+-77.222 45.528 2897
+-77.096 45.528 2900
+-76.97 45.528 2903
+-76.844 45.528 3002
+-76.718 45.528 2961
+-76.592 45.528 3111
+-76.466 45.528 3113
+-76.34 45.528 3080
+-76.214 45.528 3081
+-76.088 45.528 3083
+-75.962 45.528 3084
+-75.836 45.528 3086
+-75.71 45.528 3087
+-75.584 45.528 3175
+-75.458 45.528 3172
+-75.332 45.528 3173
+-75.206 45.528 3175
+-75.08 45.528 3177
+-74.954 45.528 3124
+-74.828 45.528 3156
+-74.702 45.528 3158
+-74.576 45.528 3228
+-74.45 45.528 3145
+-74.324 45.528 3146
+-74.198 45.528 3148
+-74.072 45.528 3193
+-73.946 45.528 3150
+-73.82 45.528 3152
+-73.694 45.528 3153
+-73.568 45.528 3380
+-73.442 45.528 3329
+-73.316 45.528 3330
+-73.19 45.528 3459
+-73.064 45.528 3433
+-72.938 45.528 3434
+-72.812 45.528 3382
+-72.686 45.528 3455
+-72.56 45.528 3456
+-72.434 45.528 3457
+-72.308 45.528 3458
+-72.182 45.528 3459
+-72.056 45.528 3458
+-71.93 45.528 3459
+-71.804 45.528 3460
+-71.678 45.528 3449
+-71.552 45.528 3397
+-71.426 45.528 3392
+-71.3 45.528 3393
+-71.174 45.528 3393
+-71.048 45.528 3394
+-70.922 45.528 3395
+-70.796 45.528 3395
+-70.67 45.528 3396
+-70.544 45.528 3397
+-70.418 45.528 3398
+-70.292 45.528 3398
+-70.166 45.528 3399
+-70.04 45.528 3400
+-69.914 45.528 3400
+-69.788 45.528 3401
+-69.662 45.528 3401
+-69.536 45.528 3513
+-69.41 45.528 3514
+-69.284 45.528 3498
+-69.158 45.528 3499
+-69.032 45.528 3499
+-68.906 45.528 3500
+-68.78 45.528 3500
+-68.654 45.528 3501
+-68.528 45.528 3501
+-68.402 45.528 3502
+-68.276 45.528 3502
+-68.15 45.528 3503
+-68.024 45.528 3503
+-67.898 45.528 3542
+-67.772 45.528 3543
+-67.646 45.528 3543
+-67.52 45.528 3544
+-67.394 45.528 3544
+-67.268 45.528 3545
+-67.142 45.528 3504
+-67.016 45.528 3504
+-66.89 45.528 3504
+-66.764 45.528 3505
+-66.638 45.528 3544
+-66.512 45.528 3545
+-66.386 45.528 3546
+-66.26 45.528 3497
+-66.134 45.528 3498
+-66.008 45.528 3498
+-65.882 45.528 3634
+-65.756 45.528 3634
+-65.63 45.528 3634
+-65.504 45.528 3635
+-65.378 45.528 3635
+-65.252 45.528 3567
+-65.126 45.528 3567
+-128 45.476 4135
+-127.874 45.476 4106
+-127.748 45.476 4161
+-127.622 45.476 4284
+-127.496 45.476 4457
+-127.37 45.476 4600
+-127.244 45.476 4749
+-127.118 45.476 4877
+-126.992 45.476 5044
+-126.866 45.476 5160
+-126.74 45.476 5261
+-126.614 45.476 5289
+-126.488 45.476 5401
+-126.362 45.476 5539
+-126.236 45.476 5664
+-126.11 45.476 5738
+-125.984 45.476 5868
+-125.858 45.476 6025
+-125.732 45.476 6182
+-125.606 45.476 6248
+-125.48 45.476 6388
+-125.354 45.476 6549
+-125.228 45.476 6645
+-125.102 45.476 6700
+-124.976 45.476 6863
+-124.85 45.476 6958
+-124.724 45.476 7051
+-124.598 45.476 7110
+-124.472 45.476 7219
+-124.346 45.476 7374
+-124.22 45.476 7450
+-124.094 45.476 7536
+-123.968 45.476 7649
+-123.842 45.476 7643
+-123.716 45.476 7723
+-123.59 45.476 7787
+-123.464 45.476 7811
+-123.338 45.476 7893
+-123.212 45.476 7908
+-123.086 45.476 7926
+-122.96 45.476 7919
+-122.834 45.476 7919
+-122.708 45.476 7940
+-122.582 45.476 7891
+-122.456 45.476 7857
+-122.33 45.476 7765
+-122.204 45.476 7737
+-122.078 45.476 7651
+-121.952 45.476 7619
+-121.826 45.476 7510
+-121.7 45.476 7440
+-121.574 45.476 7331
+-121.448 45.476 7274
+-121.322 45.476 7180
+-121.196 45.476 7059
+-121.07 45.476 6898
+-120.944 45.476 6794
+-120.818 45.476 6740
+-120.692 45.476 6712
+-120.566 45.476 6781
+-120.44 45.476 6996
+-120.314 45.476 7103
+-120.188 45.476 7170
+-120.062 45.476 7355
+-119.936 45.476 7456
+-119.81 45.476 7537
+-119.684 45.476 7752
+-119.558 45.476 7814
+-119.432 45.476 7929
+-119.306 45.476 7996
+-119.18 45.476 8139
+-119.054 45.476 8225
+-118.928 45.476 8343
+-118.802 45.476 8413
+-118.676 45.476 8491
+-118.55 45.476 8536
+-118.424 45.476 8566
+-118.298 45.476 8591
+-118.172 45.476 8545
+-118.046 45.476 8534
+-117.92 45.476 8431
+-117.794 45.476 8364
+-117.668 45.476 8292
+-117.542 45.476 8172
+-117.416 45.476 8069
+-117.29 45.476 7966
+-117.164 45.476 7804
+-117.038 45.476 7689
+-116.912 45.476 7528
+-116.786 45.476 7502
+-116.66 45.476 7372
+-116.534 45.476 7257
+-116.408 45.476 7105
+-116.282 45.476 6948
+-116.156 45.476 6884
+-116.03 45.476 6791
+-115.904 45.476 6675
+-115.778 45.476 6476
+-115.652 45.476 6269
+-115.526 45.476 6233
+-115.4 45.476 6105
+-115.274 45.476 5978
+-115.148 45.476 5879
+-115.022 45.476 5788
+-114.896 45.476 5666
+-114.77 45.476 5488
+-114.644 45.476 5280
+-114.518 45.476 5116
+-114.392 45.476 4985
+-114.266 45.476 4879
+-114.14 45.476 4752
+-114.014 45.476 4696
+-113.888 45.476 4677
+-113.762 45.476 4633
+-113.636 45.476 4570
+-113.51 45.476 4493
+-113.384 45.476 4398
+-113.258 45.476 4290
+-113.132 45.476 4183
+-113.006 45.476 4052
+-112.88 45.476 3829
+-112.754 45.476 3537
+-112.628 45.476 3308
+-112.502 45.476 3195
+-112.376 45.476 3244
+-112.25 45.476 3322
+-112.124 45.476 3389
+-111.998 45.476 3405
+-111.872 45.476 3390
+-111.746 45.476 3370
+-111.62 45.476 3270
+-111.494 45.476 3259
+-111.368 45.476 3256
+-111.242 45.476 3202
+-111.116 45.476 3214
+-110.99 45.476 3231
+-110.864 45.476 3250
+-110.738 45.476 3271
+-110.612 45.476 3291
+-110.486 45.476 3310
+-110.36 45.476 3329
+-110.234 45.476 3346
+-110.108 45.476 3361
+-109.982 45.476 3376
+-109.856 45.476 3389
+-109.73 45.476 3401
+-109.604 45.476 3412
+-109.478 45.476 3422
+-109.352 45.476 3432
+-109.226 45.476 3440
+-109.1 45.476 3448
+-108.974 45.476 3456
+-108.848 45.476 3372
+-108.722 45.476 3379
+-108.596 45.476 3385
+-108.47 45.476 3390
+-108.344 45.476 3395
+-108.218 45.476 3400
+-108.092 45.476 3404
+-107.966 45.476 3408
+-107.84 45.476 3412
+-107.714 45.476 3416
+-107.588 45.476 3387
+-107.462 45.476 3308
+-107.336 45.476 3310
+-107.21 45.476 3312
+-107.084 45.476 3314
+-106.958 45.476 3315
+-106.832 45.476 3317
+-106.706 45.476 3318
+-106.58 45.476 3300
+-106.454 45.476 3301
+-106.328 45.476 3302
+-106.202 45.476 3154
+-106.076 45.476 3164
+-105.95 45.476 3163
+-105.824 45.476 3162
+-105.698 45.476 3162
+-105.572 45.476 3161
+-105.446 45.476 3160
+-105.32 45.476 3160
+-105.194 45.476 3150
+-105.068 45.476 3149
+-104.942 45.476 3149
+-104.816 45.476 3148
+-104.69 45.476 3147
+-104.564 45.476 3155
+-104.438 45.476 2844
+-104.312 45.476 2814
+-104.186 45.476 2806
+-104.06 45.476 2811
+-103.934 45.476 2649
+-103.808 45.476 2612
+-103.682 45.476 2623
+-103.556 45.476 2608
+-103.43 45.476 2603
+-103.304 45.476 2633
+-103.178 45.476 2639
+-103.052 45.476 2709
+-102.926 45.476 2765
+-102.8 45.476 2869
+-102.674 45.476 2966
+-102.548 45.476 3087
+-102.422 45.476 3098
+-102.296 45.476 3109
+-102.17 45.476 3096
+-102.044 45.476 3055
+-101.918 45.476 3099
+-101.792 45.476 3353
+-101.666 45.476 3386
+-101.54 45.476 3384
+-101.414 45.476 3238
+-101.288 45.476 3237
+-101.162 45.476 3236
+-101.036 45.476 3235
+-100.91 45.476 3234
+-100.784 45.476 3233
+-100.658 45.476 3233
+-100.532 45.476 3207
+-100.406 45.476 3236
+-100.28 45.476 3236
+-100.154 45.476 3266
+-100.028 45.476 3240
+-99.902 45.476 3285
+-99.776 45.476 3195
+-99.65 45.476 3217
+-99.524 45.476 3221
+-99.398 45.476 3203
+-99.272 45.476 3221
+-99.146 45.476 3221
+-99.02 45.476 3224
+-98.894 45.476 3244
+-98.768 45.476 3245
+-98.642 45.476 3245
+-98.516 45.476 3341
+-98.39 45.476 3341
+-98.264 45.476 3341
+-98.138 45.476 3306
+-98.012 45.476 3397
+-97.886 45.476 3404
+-97.76 45.476 3404
+-97.634 45.476 3402
+-97.508 45.476 3401
+-97.382 45.476 3376
+-97.256 45.476 3373
+-97.13 45.476 3305
+-97.004 45.476 3433
+-96.878 45.476 3445
+-96.752 45.476 3408
+-96.626 45.476 3407
+-96.5 45.476 3406
+-96.374 45.476 3416
+-96.248 45.476 3371
+-96.122 45.476 3377
+-95.996 45.476 3376
+-95.87 45.476 3371
+-95.744 45.476 3370
+-95.618 45.476 3369
+-95.492 45.476 3368
+-95.366 45.476 3222
+-95.24 45.476 3243
+-95.114 45.476 3241
+-94.988 45.476 3239
+-94.862 45.476 3225
+-94.736 45.476 3264
+-94.61 45.476 3241
+-94.484 45.476 3238
+-94.358 45.476 3222
+-94.232 45.476 3220
+-94.106 45.476 3153
+-93.98 45.476 3177
+-93.854 45.476 3174
+-93.728 45.476 3171
+-93.602 45.476 3167
+-93.476 45.476 3156
+-93.35 45.476 3151
+-93.224 45.476 3147
+-93.098 45.476 3142
+-92.972 45.476 3137
+-92.846 45.476 3074
+-92.72 45.476 3057
+-92.594 45.476 3035
+-92.468 45.476 2991
+-92.342 45.476 2972
+-92.216 45.476 2950
+-92.09 45.476 2938
+-91.964 45.476 2924
+-91.838 45.476 2901
+-91.712 45.476 2872
+-91.586 45.476 2855
+-91.46 45.476 2836
+-91.334 45.476 2814
+-91.208 45.476 2790
+-91.082 45.476 2761
+-90.956 45.476 2727
+-90.83 45.476 2688
+-90.704 45.476 2642
+-90.578 45.476 2588
+-90.452 45.476 2528
+-90.326 45.476 2464
+-90.2 45.476 2397
+-90.074 45.476 2354
+-89.948 45.476 2336
+-89.822 45.476 2343
+-89.696 45.476 2358
+-89.57 45.476 2350
+-89.444 45.476 2312
+-89.318 45.476 2223
+-89.192 45.476 2126
+-89.066 45.476 2044
+-88.94 45.476 2011
+-88.814 45.476 2039
+-88.688 45.476 2104
+-88.562 45.476 2185
+-88.436 45.476 2264
+-88.31 45.476 2330
+-88.184 45.476 2360
+-88.058 45.476 2407
+-87.932 45.476 2433
+-87.806 45.476 2450
+-87.68 45.476 2460
+-87.554 45.476 2481
+-87.428 45.476 2482
+-87.302 45.476 2479
+-87.176 45.476 2474
+-87.05 45.476 2480
+-86.924 45.476 2525
+-86.798 45.476 2517
+-86.672 45.476 2508
+-86.546 45.476 2501
+-86.42 45.476 2493
+-86.294 45.476 2490
+-86.168 45.476 2488
+-86.042 45.476 2479
+-85.916 45.476 2478
+-85.79 45.476 2474
+-85.664 45.476 2474
+-85.538 45.476 2472
+-85.412 45.476 2471
+-85.286 45.476 2471
+-85.16 45.476 2477
+-85.034 45.476 2519
+-84.908 45.476 2522
+-84.782 45.476 2525
+-84.656 45.476 2529
+-84.53 45.476 2539
+-84.404 45.476 2543
+-84.278 45.476 2544
+-84.152 45.476 2550
+-84.026 45.476 2556
+-83.9 45.476 2562
+-83.774 45.476 2552
+-83.648 45.476 2563
+-83.522 45.476 2569
+-83.396 45.476 2656
+-83.27 45.476 2639
+-83.144 45.476 2646
+-83.018 45.476 2734
+-82.892 45.476 2741
+-82.766 45.476 2726
+-82.64 45.476 2767
+-82.514 45.476 2704
+-82.388 45.476 2727
+-82.262 45.476 2769
+-82.136 45.476 2707
+-82.01 45.476 2718
+-81.884 45.476 2654
+-81.758 45.476 2656
+-81.632 45.476 2671
+-81.506 45.476 2658
+-81.38 45.476 2665
+-81.254 45.476 2671
+-81.128 45.476 2631
+-81.002 45.476 2662
+-80.876 45.476 2661
+-80.75 45.476 2658
+-80.624 45.476 2664
+-80.498 45.476 2669
+-80.372 45.476 2674
+-80.246 45.476 2634
+-80.12 45.476 2633
+-79.994 45.476 2638
+-79.868 45.476 2642
+-79.742 45.476 2646
+-79.616 45.476 2647
+-79.49 45.476 2601
+-79.364 45.476 2698
+-79.238 45.476 2697
+-79.112 45.476 2705
+-78.986 45.476 2709
+-78.86 45.476 2712
+-78.734 45.476 2715
+-78.608 45.476 2737
+-78.482 45.476 2721
+-78.356 45.476 2778
+-78.23 45.476 2781
+-78.104 45.476 2776
+-77.978 45.476 2784
+-77.852 45.476 2787
+-77.726 45.476 2790
+-77.6 45.476 2781
+-77.474 45.476 2893
+-77.348 45.476 2896
+-77.222 45.476 2898
+-77.096 45.476 2901
+-76.97 45.476 3000
+-76.844 45.476 2959
+-76.718 45.476 3110
+-76.592 45.476 3111
+-76.466 45.476 3079
+-76.34 45.476 3080
+-76.214 45.476 3082
+-76.088 45.476 3083
+-75.962 45.476 3084
+-75.836 45.476 3086
+-75.71 45.476 3174
+-75.584 45.476 3170
+-75.458 45.476 3172
+-75.332 45.476 3174
+-75.206 45.476 3175
+-75.08 45.476 3123
+-74.954 45.476 3155
+-74.828 45.476 3157
+-74.702 45.476 3227
+-74.576 45.476 3144
+-74.45 45.476 3145
+-74.324 45.476 3147
+-74.198 45.476 3191
+-74.072 45.476 3149
+-73.946 45.476 3151
+-73.82 45.476 3152
+-73.694 45.476 3379
+-73.568 45.476 3328
+-73.442 45.476 3329
+-73.316 45.476 3458
+-73.19 45.476 3432
+-73.064 45.476 3433
+-72.938 45.476 3381
+-72.812 45.476 3454
+-72.686 45.476 3455
+-72.56 45.476 3456
+-72.434 45.476 3457
+-72.308 45.476 3458
+-72.182 45.476 3457
+-72.056 45.476 3458
+-71.93 45.476 3459
+-71.804 45.476 3448
+-71.678 45.476 3397
+-71.552 45.476 3391
+-71.426 45.476 3392
+-71.3 45.476 3393
+-71.174 45.476 3394
+-71.048 45.476 3394
+-70.922 45.476 3395
+-70.796 45.476 3396
+-70.67 45.476 3396
+-70.544 45.476 3397
+-70.418 45.476 3398
+-70.292 45.476 3398
+-70.166 45.476 3399
+-70.04 45.476 3400
+-69.914 45.476 3400
+-69.788 45.476 3401
+-69.662 45.476 3513
+-69.536 45.476 3513
+-69.41 45.476 3498
+-69.284 45.476 3498
+-69.158 45.476 3499
+-69.032 45.476 3500
+-68.906 45.476 3500
+-68.78 45.476 3501
+-68.654 45.476 3501
+-68.528 45.476 3502
+-68.402 45.476 3502
+-68.276 45.476 3502
+-68.15 45.476 3503
+-68.024 45.476 3542
+-67.898 45.476 3542
+-67.772 45.476 3543
+-67.646 45.476 3543
+-67.52 45.476 3544
+-67.394 45.476 3545
+-67.268 45.476 3503
+-67.142 45.476 3504
+-67.016 45.476 3504
+-66.89 45.476 3505
+-66.764 45.476 3544
+-66.638 45.476 3545
+-66.512 45.476 3545
+-66.386 45.476 3497
+-66.26 45.476 3498
+-66.134 45.476 3498
+-66.008 45.476 3634
+-65.882 45.476 3634
+-65.756 45.476 3634
+-65.63 45.476 3634
+-65.504 45.476 3635
+-65.378 45.476 3567
+-65.252 45.476 3567
+-65.126 45.476 3567
+-128 45.424 4094
+-127.874 45.424 3961
+-127.748 45.424 4102
+-127.622 45.424 4232
+-127.496 45.424 4446
+-127.37 45.424 4598
+-127.244 45.424 4708
+-127.118 45.424 4792
+-126.992 45.424 4930
+-126.866 45.424 5096
+-126.74 45.424 5224
+-126.614 45.424 5270
+-126.488 45.424 5381
+-126.362 45.424 5458
+-126.236 45.424 5629
+-126.11 45.424 5788
+-125.984 45.424 5877
+-125.858 45.424 5952
+-125.732 45.424 6113
+-125.606 45.424 6262
+-125.48 45.424 6329
+-125.354 45.424 6492
+-125.228 45.424 6527
+-125.102 45.424 6697
+-124.976 45.424 6798
+-124.85 45.424 6929
+-124.724 45.424 6997
+-124.598 45.424 7111
+-124.472 45.424 7188
+-124.346 45.424 7328
+-124.22 45.424 7440
+-124.094 45.424 7488
+-123.968 45.424 7544
+-123.842 45.424 7662
+-123.716 45.424 7708
+-123.59 45.424 7759
+-123.464 45.424 7796
+-123.338 45.424 7840
+-123.212 45.424 7859
+-123.086 45.424 7900
+-122.96 45.424 7901
+-122.834 45.424 7845
+-122.708 45.424 7853
+-122.582 45.424 7838
+-122.456 45.424 7814
+-122.33 45.424 7775
+-122.204 45.424 7694
+-122.078 45.424 7638
+-121.952 45.424 7583
+-121.826 45.424 7477
+-121.7 45.424 7391
+-121.574 45.424 7308
+-121.448 45.424 7230
+-121.322 45.424 7144
+-121.196 45.424 7004
+-121.07 45.424 6882
+-120.944 45.424 6825
+-120.818 45.424 6550
+-120.692 45.424 6661
+-120.566 45.424 6808
+-120.44 45.424 6934
+-120.314 45.424 7096
+-120.188 45.424 7219
+-120.062 45.424 7340
+-119.936 45.424 7487
+-119.81 45.424 7499
+-119.684 45.424 7677
+-119.558 45.424 7767
+-119.432 45.424 7864
+-119.306 45.424 7955
+-119.18 45.424 8098
+-119.054 45.424 8176
+-118.928 45.424 8270
+-118.802 45.424 8400
+-118.676 45.424 8412
+-118.55 45.424 8491
+-118.424 45.424 8507
+-118.298 45.424 8509
+-118.172 45.424 8493
+-118.046 45.424 8459
+-117.92 45.424 8372
+-117.794 45.424 8289
+-117.668 45.424 8227
+-117.542 45.424 8135
+-117.416 45.424 8052
+-117.29 45.424 7962
+-117.164 45.424 7798
+-117.038 45.424 7650
+-116.912 45.424 7526
+-116.786 45.424 7437
+-116.66 45.424 7344
+-116.534 45.424 7235
+-116.408 45.424 7066
+-116.282 45.424 6920
+-116.156 45.424 6860
+-116.03 45.424 6766
+-115.904 45.424 6627
+-115.778 45.424 6496
+-115.652 45.424 6353
+-115.526 45.424 6234
+-115.4 45.424 6083
+-115.274 45.424 5966
+-115.148 45.424 5747
+-115.022 45.424 5752
+-114.896 45.424 5581
+-114.77 45.424 5402
+-114.644 45.424 5285
+-114.518 45.424 5073
+-114.392 45.424 4970
+-114.266 45.424 4918
+-114.14 45.424 4756
+-114.014 45.424 4679
+-113.888 45.424 4626
+-113.762 45.424 4536
+-113.636 45.424 4505
+-113.51 45.424 4446
+-113.384 45.424 4381
+-113.258 45.424 4308
+-113.132 45.424 4151
+-113.006 45.424 3991
+-112.88 45.424 3742
+-112.754 45.424 3498
+-112.628 45.424 3216
+-112.502 45.424 3088
+-112.376 45.424 3179
+-112.25 45.424 3290
+-112.124 45.424 3352
+-111.998 45.424 3371
+-111.872 45.424 3342
+-111.746 45.424 3312
+-111.62 45.424 3197
+-111.494 45.424 3175
+-111.368 45.424 3164
+-111.242 45.424 3129
+-111.116 45.424 3149
+-110.99 45.424 3175
+-110.864 45.424 3204
+-110.738 45.424 3232
+-110.612 45.424 3259
+-110.486 45.424 3284
+-110.36 45.424 3306
+-110.234 45.424 3327
+-110.108 45.424 3346
+-109.982 45.424 3362
+-109.856 45.424 3378
+-109.73 45.424 3391
+-109.604 45.424 3404
+-109.478 45.424 3415
+-109.352 45.424 3425
+-109.226 45.424 3435
+-109.1 45.424 3443
+-108.974 45.424 3451
+-108.848 45.424 3458
+-108.722 45.424 3372
+-108.596 45.424 3378
+-108.47 45.424 3367
+-108.344 45.424 3372
+-108.218 45.424 3377
+-108.092 45.424 3381
+-107.966 45.424 3385
+-107.84 45.424 3389
+-107.714 45.424 3393
+-107.588 45.424 3302
+-107.462 45.424 3304
+-107.336 45.424 3306
+-107.21 45.424 3308
+-107.084 45.424 3310
+-106.958 45.424 3312
+-106.832 45.424 3314
+-106.706 45.424 3281
+-106.58 45.424 3282
+-106.454 45.424 3283
+-106.328 45.424 3151
+-106.202 45.424 3151
+-106.076 45.424 3150
+-105.95 45.424 3149
+-105.824 45.424 3149
+-105.698 45.424 3148
+-105.572 45.424 3147
+-105.446 45.424 3147
+-105.32 45.424 3146
+-105.194 45.424 3145
+-105.068 45.424 3144
+-104.942 45.424 3144
+-104.816 45.424 3128
+-104.69 45.424 3127
+-104.564 45.424 3122
+-104.438 45.424 2840
+-104.312 45.424 2809
+-104.186 45.424 2801
+-104.06 45.424 2786
+-103.934 45.424 2645
+-103.808 45.424 2609
+-103.682 45.424 2570
+-103.556 45.424 2544
+-103.43 45.424 2550
+-103.304 45.424 2633
+-103.178 45.424 2570
+-103.052 45.424 2641
+-102.926 45.424 2697
+-102.8 45.424 2869
+-102.674 45.424 2965
+-102.548 45.424 3085
+-102.422 45.424 3085
+-102.296 45.424 3085
+-102.17 45.424 3107
+-102.044 45.424 3094
+-101.918 45.424 3053
+-101.792 45.424 3097
+-101.666 45.424 3350
+-101.54 45.424 3383
+-101.414 45.424 3381
+-101.288 45.424 3236
+-101.162 45.424 3235
+-101.036 45.424 3234
+-100.91 45.424 3233
+-100.784 45.424 3232
+-100.658 45.424 3231
+-100.532 45.424 3230
+-100.406 45.424 3205
+-100.28 45.424 3234
+-100.154 45.424 3233
+-100.028 45.424 3264
+-99.902 45.424 3238
+-99.776 45.424 3282
+-99.65 45.424 3194
+-99.524 45.424 3215
+-99.398 45.424 3219
+-99.272 45.424 3202
+-99.146 45.424 3219
+-99.02 45.424 3219
+-98.894 45.424 3222
+-98.768 45.424 3242
+-98.642 45.424 3243
+-98.516 45.424 3244
+-98.39 45.424 3338
+-98.264 45.424 3338
+-98.138 45.424 3339
+-98.012 45.424 3304
+-97.886 45.424 3395
+-97.76 45.424 3402
+-97.634 45.424 3401
+-97.508 45.424 3399
+-97.382 45.424 3399
+-97.256 45.424 3374
+-97.13 45.424 3371
+-97.004 45.424 3304
+-96.878 45.424 3431
+-96.752 45.424 3442
+-96.626 45.424 3406
+-96.5 45.424 3404
+-96.374 45.424 3403
+-96.248 45.424 3413
+-96.122 45.424 3369
+-95.996 45.424 3375
+-95.87 45.424 3369
+-95.744 45.424 3368
+-95.618 45.424 3367
+-95.492 45.424 3366
+-95.366 45.424 3365
+-95.24 45.424 3224
+-95.114 45.424 3245
+-94.988 45.424 3243
+-94.862 45.424 3242
+-94.736 45.424 3227
+-94.61 45.424 3266
+-94.484 45.424 3243
+-94.358 45.424 3241
+-94.232 45.424 3226
+-94.106 45.424 3224
+-93.98 45.424 3158
+-93.854 45.424 3183
+-93.728 45.424 3180
+-93.602 45.424 3177
+-93.476 45.424 3174
+-93.35 45.424 3163
+-93.224 45.424 3160
+-93.098 45.424 3156
+-92.972 45.424 3152
+-92.846 45.424 3147
+-92.72 45.424 3087
+-92.594 45.424 3071
+-92.468 45.424 3049
+-92.342 45.424 3006
+-92.216 45.424 2987
+-92.09 45.424 2967
+-91.964 45.424 2955
+-91.838 45.424 2941
+-91.712 45.424 2918
+-91.586 45.424 2888
+-91.46 45.424 2870
+-91.334 45.424 2849
+-91.208 45.424 2823
+-91.082 45.424 2794
+-90.956 45.424 2758
+-90.83 45.424 2715
+-90.704 45.424 2663
+-90.578 45.424 2601
+-90.452 45.424 2530
+-90.326 45.424 2451
+-90.2 45.424 2374
+-90.074 45.424 2313
+-89.948 45.424 2291
+-89.822 45.424 2308
+-89.696 45.424 2345
+-89.57 45.424 2367
+-89.444 45.424 2345
+-89.318 45.424 2289
+-89.192 45.424 2200
+-89.066 45.424 2132
+-88.94 45.424 2103
+-88.814 45.424 2123
+-88.688 45.424 2173
+-88.562 45.424 2242
+-88.436 45.424 2309
+-88.31 45.424 2347
+-88.184 45.424 2398
+-88.058 45.424 2430
+-87.932 45.424 2452
+-87.806 45.424 2465
+-87.68 45.424 2487
+-87.554 45.424 2489
+-87.428 45.424 2486
+-87.302 45.424 2481
+-87.176 45.424 2485
+-87.05 45.424 2526
+-86.924 45.424 2516
+-86.798 45.424 2505
+-86.672 45.424 2497
+-86.546 45.424 2487
+-86.42 45.424 2482
+-86.294 45.424 2479
+-86.168 45.424 2468
+-86.042 45.424 2466
+-85.916 45.424 2461
+-85.79 45.424 2460
+-85.664 45.424 2458
+-85.538 45.424 2456
+-85.412 45.424 2455
+-85.286 45.424 2461
+-85.16 45.424 2501
+-85.034 45.424 2504
+-84.908 45.424 2507
+-84.782 45.424 2511
+-84.656 45.424 2520
+-84.53 45.424 2525
+-84.404 45.424 2527
+-84.278 45.424 2533
+-84.152 45.424 2539
+-84.026 45.424 2545
+-83.9 45.424 2537
+-83.774 45.424 2548
+-83.648 45.424 2555
+-83.522 45.424 2640
+-83.396 45.424 2624
+-83.27 45.424 2632
+-83.144 45.424 2718
+-83.018 45.424 2725
+-82.892 45.424 2711
+-82.766 45.424 2752
+-82.64 45.424 2692
+-82.514 45.424 2714
+-82.388 45.424 2756
+-82.262 45.424 2696
+-82.136 45.424 2707
+-82.01 45.424 2645
+-81.884 45.424 2648
+-81.758 45.424 2663
+-81.632 45.424 2651
+-81.506 45.424 2658
+-81.38 45.424 2664
+-81.254 45.424 2625
+-81.128 45.424 2656
+-81.002 45.424 2656
+-80.876 45.424 2653
+-80.75 45.424 2659
+-80.624 45.424 2664
+-80.498 45.424 2669
+-80.372 45.424 2630
+-80.246 45.424 2630
+-80.12 45.424 2634
+-79.994 45.424 2639
+-79.868 45.424 2643
+-79.742 45.424 2644
+-79.616 45.424 2599
+-79.49 45.424 2695
+-79.364 45.424 2695
+-79.238 45.424 2703
+-79.112 45.424 2706
+-78.986 45.424 2710
+-78.86 45.424 2713
+-78.734 45.424 2735
+-78.608 45.424 2720
+-78.482 45.424 2775
+-78.356 45.424 2779
+-78.23 45.424 2774
+-78.104 45.424 2782
+-77.978 45.424 2785
+-77.852 45.424 2788
+-77.726 45.424 2780
+-77.6 45.424 2891
+-77.474 45.424 2894
+-77.348 45.424 2897
+-77.222 45.424 2900
+-77.096 45.424 2999
+-76.97 45.424 2958
+-76.844 45.424 3108
+-76.718 45.424 3110
+-76.592 45.424 3078
+-76.466 45.424 3079
+-76.34 45.424 3081
+-76.214 45.424 3082
+-76.088 45.424 3083
+-75.962 45.424 3085
+-75.836 45.424 3172
+-75.71 45.424 3169
+-75.584 45.424 3171
+-75.458 45.424 3173
+-75.332 45.424 3174
+-75.206 45.424 3122
+-75.08 45.424 3154
+-74.954 45.424 3156
+-74.828 45.424 3225
+-74.702 45.424 3143
+-74.576 45.424 3144
+-74.45 45.424 3146
+-74.324 45.424 3190
+-74.198 45.424 3148
+-74.072 45.424 3150
+-73.946 45.424 3151
+-73.82 45.424 3378
+-73.694 45.424 3327
+-73.568 45.424 3328
+-73.442 45.424 3457
+-73.316 45.424 3431
+-73.19 45.424 3432
+-73.064 45.424 3381
+-72.938 45.424 3453
+-72.812 45.424 3454
+-72.686 45.424 3455
+-72.56 45.424 3456
+-72.434 45.424 3457
+-72.308 45.424 3456
+-72.182 45.424 3457
+-72.056 45.424 3458
+-71.93 45.424 3447
+-71.804 45.424 3396
+-71.678 45.424 3391
+-71.552 45.424 3391
+-71.426 45.424 3392
+-71.3 45.424 3393
+-71.174 45.424 3394
+-71.048 45.424 3394
+-70.922 45.424 3395
+-70.796 45.424 3396
+-70.67 45.424 3397
+-70.544 45.424 3397
+-70.418 45.424 3398
+-70.292 45.424 3399
+-70.166 45.424 3399
+-70.04 45.424 3400
+-69.914 45.424 3401
+-69.788 45.424 3512
+-69.662 45.424 3513
+-69.536 45.424 3498
+-69.41 45.424 3498
+-69.284 45.424 3499
+-69.158 45.424 3499
+-69.032 45.424 3500
+-68.906 45.424 3500
+-68.78 45.424 3501
+-68.654 45.424 3501
+-68.528 45.424 3502
+-68.402 45.424 3502
+-68.276 45.424 3503
+-68.15 45.424 3541
+-68.024 45.424 3542
+-67.898 45.424 3542
+-67.772 45.424 3543
+-67.646 45.424 3544
+-67.52 45.424 3544
+-67.394 45.424 3503
+-67.268 45.424 3503
+-67.142 45.424 3504
+-67.016 45.424 3504
+-66.89 45.424 3544
+-66.764 45.424 3544
+-66.638 45.424 3545
+-66.512 45.424 3497
+-66.386 45.424 3497
+-66.26 45.424 3498
+-66.134 45.424 3634
+-66.008 45.424 3634
+-65.882 45.424 3634
+-65.756 45.424 3634
+-65.63 45.424 3634
+-65.504 45.424 3567
+-65.378 45.424 3567
+-65.252 45.424 3567
+-65.126 45.424 3567
+-128 45.372 4160
+-127.874 45.372 4112
+-127.748 45.372 4172
+-127.622 45.372 4316
+-127.496 45.372 4487
+-127.37 45.372 4592
+-127.244 45.372 4670
+-127.118 45.372 4742
+-126.992 45.372 4869
+-126.866 45.372 4970
+-126.74 45.372 5125
+-126.614 45.372 5269
+-126.488 45.372 5370
+-126.362 45.372 5486
+-126.236 45.372 5631
+-126.11 45.372 5787
+-125.984 45.372 5891
+-125.858 45.372 5989
+-125.732 45.372 6086
+-125.606 45.372 6212
+-125.48 45.372 6298
+-125.354 45.372 6471
+-125.228 45.372 6556
+-125.102 45.372 6642
+-124.976 45.372 6769
+-124.85 45.372 6865
+-124.724 45.372 6971
+-124.598 45.372 7072
+-124.472 45.372 7178
+-124.346 45.372 7281
+-124.22 45.372 7376
+-124.094 45.372 7487
+-123.968 45.372 7516
+-123.842 45.372 7583
+-123.716 45.372 7649
+-123.59 45.372 7700
+-123.464 45.372 7729
+-123.338 45.372 7780
+-123.212 45.372 7813
+-123.086 45.372 7832
+-122.96 45.372 7831
+-122.834 45.372 7807
+-122.708 45.372 7811
+-122.582 45.372 7773
+-122.456 45.372 7743
+-122.33 45.372 7703
+-122.204 45.372 7620
+-122.078 45.372 7557
+-121.952 45.372 7496
+-121.826 45.372 7449
+-121.7 45.372 7362
+-121.574 45.372 7276
+-121.448 45.372 7160
+-121.322 45.372 7066
+-121.196 45.372 6971
+-121.07 45.372 6835
+-120.944 45.372 6716
+-120.818 45.372 6499
+-120.692 45.372 6643
+-120.566 45.372 6797
+-120.44 45.372 6956
+-120.314 45.372 7045
+-120.188 45.372 7173
+-120.062 45.372 7218
+-119.936 45.372 7407
+-119.81 45.372 7492
+-119.684 45.372 7659
+-119.558 45.372 7755
+-119.432 45.372 7831
+-119.306 45.372 7944
+-119.18 45.372 8093
+-119.054 45.372 8166
+-118.928 45.372 8266
+-118.802 45.372 8338
+-118.676 45.372 8406
+-118.55 45.372 8423
+-118.424 45.372 8478
+-118.298 45.372 8452
+-118.172 45.372 8459
+-118.046 45.372 8420
+-117.92 45.372 8349
+-117.794 45.372 8275
+-117.668 45.372 8191
+-117.542 45.372 8088
+-117.416 45.372 8016
+-117.29 45.372 7874
+-117.164 45.372 7775
+-117.038 45.372 7655
+-116.912 45.372 7578
+-116.786 45.372 7444
+-116.66 45.372 7265
+-116.534 45.372 7206
+-116.408 45.372 7053
+-116.282 45.372 6944
+-116.156 45.372 6843
+-116.03 45.372 6739
+-115.904 45.372 6540
+-115.778 45.372 6479
+-115.652 45.372 6360
+-115.526 45.372 6232
+-115.4 45.372 6103
+-115.274 45.372 5919
+-115.148 45.372 5755
+-115.022 45.372 5727
+-114.896 45.372 5518
+-114.77 45.372 5341
+-114.644 45.372 5283
+-114.518 45.372 5089
+-114.392 45.372 4981
+-114.266 45.372 4881
+-114.14 45.372 4718
+-114.014 45.372 4611
+-113.888 45.372 4529
+-113.762 45.372 4419
+-113.636 45.372 4427
+-113.51 45.372 4401
+-113.384 45.372 4347
+-113.258 45.372 4260
+-113.132 45.372 4124
+-113.006 45.372 3978
+-112.88 45.372 3762
+-112.754 45.372 3545
+-112.628 45.372 3316
+-112.502 45.372 3200
+-112.376 45.372 3250
+-112.25 45.372 3336
+-112.124 45.372 3350
+-111.998 45.372 3305
+-111.872 45.372 3258
+-111.746 45.372 3202
+-111.62 45.372 3094
+-111.494 45.372 3066
+-111.368 45.372 3057
+-111.242 45.372 3038
+-111.116 45.372 3074
+-110.99 45.372 3112
+-110.864 45.372 3153
+-110.738 45.372 3191
+-110.612 45.372 3225
+-110.486 45.372 3257
+-110.36 45.372 3284
+-110.234 45.372 3309
+-110.108 45.372 3330
+-109.982 45.372 3350
+-109.856 45.372 3367
+-109.73 45.372 3382
+-109.604 45.372 3396
+-109.478 45.372 3408
+-109.352 45.372 3419
+-109.226 45.372 3429
+-109.1 45.372 3439
+-108.974 45.372 3447
+-108.848 45.372 3455
+-108.722 45.372 3349
+-108.596 45.372 3356
+-108.47 45.372 3361
+-108.344 45.372 3367
+-108.218 45.372 3372
+-108.092 45.372 3376
+-107.966 45.372 3381
+-107.84 45.372 3385
+-107.714 45.372 3388
+-107.588 45.372 3392
+-107.462 45.372 3301
+-107.336 45.372 3303
+-107.21 45.372 3305
+-107.084 45.372 3307
+-106.958 45.372 3309
+-106.832 45.372 3276
+-106.706 45.372 3278
+-106.58 45.372 3278
+-106.454 45.372 3279
+-106.328 45.372 3280
+-106.202 45.372 3147
+-106.076 45.372 3147
+-105.95 45.372 3146
+-105.824 45.372 3145
+-105.698 45.372 3145
+-105.572 45.372 3144
+-105.446 45.372 3144
+-105.32 45.372 3143
+-105.194 45.372 3142
+-105.068 45.372 3142
+-104.942 45.372 3141
+-104.816 45.372 3140
+-104.69 45.372 3124
+-104.564 45.372 3118
+-104.438 45.372 2835
+-104.312 45.372 2804
+-104.186 45.372 2790
+-104.06 45.372 2781
+-103.934 45.372 2598
+-103.808 45.372 2561
+-103.682 45.372 2529
+-103.556 45.372 2524
+-103.43 45.372 2525
+-103.304 45.372 2565
+-103.178 45.372 2672
+-103.052 45.372 2746
+-102.926 45.372 2767
+-102.8 45.372 2765
+-102.674 45.372 2964
+-102.548 45.372 3083
+-102.422 45.372 3083
+-102.296 45.372 3082
+-102.17 45.372 3093
+-102.044 45.372 3104
+-101.918 45.372 3091
+-101.792 45.372 3051
+-101.666 45.372 3095
+-101.54 45.372 3347
+-101.414 45.372 3379
+-101.288 45.372 3378
+-101.162 45.372 3233
+-101.036 45.372 3232
+-100.91 45.372 3231
+-100.784 45.372 3230
+-100.658 45.372 3230
+-100.532 45.372 3229
+-100.406 45.372 3228
+-100.28 45.372 3203
+-100.154 45.372 3232
+-100.028 45.372 3231
+-99.902 45.372 3261
+-99.776 45.372 3236
+-99.65 45.372 3280
+-99.524 45.372 3192
+-99.398 45.372 3213
+-99.272 45.372 3217
+-99.146 45.372 3200
+-99.02 45.372 3217
+-98.894 45.372 3217
+-98.768 45.372 3220
+-98.642 45.372 3240
+-98.516 45.372 3241
+-98.39 45.372 3242
+-98.264 45.372 3336
+-98.138 45.372 3336
+-98.012 45.372 3336
+-97.886 45.372 3302
+-97.76 45.372 3392
+-97.634 45.372 3399
+-97.508 45.372 3399
+-97.382 45.372 3397
+-97.256 45.372 3396
+-97.13 45.372 3372
+-97.004 45.372 3369
+-96.878 45.372 3302
+-96.752 45.372 3428
+-96.626 45.372 3439
+-96.5 45.372 3403
+-96.374 45.372 3402
+-96.248 45.372 3400
+-96.122 45.372 3410
+-95.996 45.372 3366
+-95.87 45.372 3372
+-95.744 45.372 3370
+-95.618 45.372 3365
+-95.492 45.372 3364
+-95.366 45.372 3363
+-95.24 45.372 3362
+-95.114 45.372 3226
+-94.988 45.372 3247
+-94.862 45.372 3245
+-94.736 45.372 3244
+-94.61 45.372 3230
+-94.484 45.372 3268
+-94.358 45.372 3246
+-94.232 45.372 3244
+-94.106 45.372 3230
+-93.98 45.372 3229
+-93.854 45.372 3164
+-93.728 45.372 3188
+-93.602 45.372 3186
+-93.476 45.372 3184
+-93.35 45.372 3182
+-93.224 45.372 3172
+-93.098 45.372 3169
+-92.972 45.372 3166
+-92.846 45.372 3163
+-92.72 45.372 3159
+-92.594 45.372 3101
+-92.468 45.372 3085
+-92.342 45.372 3064
+-92.216 45.372 3022
+-92.09 45.372 3004
+-91.964 45.372 2984
+-91.838 45.372 2972
+-91.712 45.372 2958
+-91.586 45.372 2933
+-91.46 45.372 2903
+-91.334 45.372 2882
+-91.208 45.372 2858
+-91.082 45.372 2828
+-90.956 45.372 2791
+-90.83 45.372 2746
+-90.704 45.372 2691
+-90.578 45.372 2625
+-90.452 45.372 2545
+-90.326 45.372 2456
+-90.2 45.372 2366
+-90.074 45.372 2296
+-89.948 45.372 2269
+-89.822 45.372 2292
+-89.696 45.372 2344
+-89.57 45.372 2391
+-89.444 45.372 2401
+-89.318 45.372 2356
+-89.192 45.372 2306
+-89.066 45.372 2246
+-88.94 45.372 2225
+-88.814 45.372 2237
+-88.688 45.372 2266
+-88.562 45.372 2317
+-88.436 45.372 2350
+-88.31 45.372 2423
+-88.184 45.372 2434
+-88.058 45.372 2458
+-87.932 45.372 2473
+-87.806 45.372 2528
+-87.68 45.372 2499
+-87.554 45.372 2497
+-87.428 45.372 2490
+-87.302 45.372 2534
+-87.176 45.372 2530
+-87.05 45.372 2517
+-86.924 45.372 2504
+-86.798 45.372 2494
+-86.672 45.372 2482
+-86.546 45.372 2475
+-86.42 45.372 2469
+-86.294 45.372 2458
+-86.168 45.372 2454
+-86.042 45.372 2448
+-85.916 45.372 2446
+-85.79 45.372 2442
+-85.664 45.372 2440
+-85.538 45.372 2438
+-85.412 45.372 2443
+-85.286 45.372 2481
+-85.16 45.372 2484
+-85.034 45.372 2487
+-84.908 45.372 2491
+-84.782 45.372 2500
+-84.656 45.372 2505
+-84.53 45.372 2508
+-84.404 45.372 2514
+-84.278 45.372 2521
+-84.152 45.372 2528
+-84.026 45.372 2521
+-83.9 45.372 2532
+-83.774 45.372 2539
+-83.648 45.372 2622
+-83.522 45.372 2608
+-83.396 45.372 2616
+-83.27 45.372 2700
+-83.144 45.372 2708
+-83.018 45.372 2695
+-82.892 45.372 2736
+-82.766 45.372 2678
+-82.64 45.372 2701
+-82.514 45.372 2742
+-82.388 45.372 2685
+-82.262 45.372 2696
+-82.136 45.372 2636
+-82.01 45.372 2639
+-81.884 45.372 2654
+-81.758 45.372 2643
+-81.632 45.372 2650
+-81.506 45.372 2657
+-81.38 45.372 2619
+-81.254 45.372 2649
+-81.128 45.372 2650
+-81.002 45.372 2647
+-80.876 45.372 2653
+-80.75 45.372 2659
+-80.624 45.372 2665
+-80.498 45.372 2626
+-80.372 45.372 2626
+-80.246 45.372 2631
+-80.12 45.372 2636
+-79.994 45.372 2640
+-79.868 45.372 2641
+-79.742 45.372 2597
+-79.616 45.372 2692
+-79.49 45.372 2692
+-79.364 45.372 2700
+-79.238 45.372 2704
+-79.112 45.372 2708
+-78.986 45.372 2711
+-78.86 45.372 2733
+-78.734 45.372 2718
+-78.608 45.372 2773
+-78.482 45.372 2777
+-78.356 45.372 2772
+-78.23 45.372 2780
+-78.104 45.372 2783
+-77.978 45.372 2787
+-77.852 45.372 2778
+-77.726 45.372 2889
+-77.6 45.372 2892
+-77.474 45.372 2895
+-77.348 45.372 2898
+-77.222 45.372 2997
+-77.096 45.372 2957
+-76.97 45.372 3107
+-76.844 45.372 3108
+-76.718 45.372 3076
+-76.592 45.372 3078
+-76.466 45.372 3079
+-76.34 45.372 3081
+-76.214 45.372 3082
+-76.088 45.372 3084
+-75.962 45.372 3171
+-75.836 45.372 3168
+-75.71 45.372 3170
+-75.584 45.372 3171
+-75.458 45.372 3173
+-75.332 45.372 3121
+-75.206 45.372 3153
+-75.08 45.372 3155
+-74.954 45.372 3224
+-74.828 45.372 3142
+-74.702 45.372 3143
+-74.576 45.372 3145
+-74.45 45.372 3189
+-74.324 45.372 3147
+-74.198 45.372 3149
+-74.072 45.372 3151
+-73.946 45.372 3377
+-73.82 45.372 3326
+-73.694 45.372 3327
+-73.568 45.372 3456
+-73.442 45.372 3430
+-73.316 45.372 3431
+-73.19 45.372 3380
+-73.064 45.372 3453
+-72.938 45.372 3454
+-72.812 45.372 3455
+-72.686 45.372 3456
+-72.56 45.372 3456
+-72.434 45.372 3456
+-72.308 45.372 3457
+-72.182 45.372 3458
+-72.056 45.372 3447
+-71.93 45.372 3396
+-71.804 45.372 3390
+-71.678 45.372 3391
+-71.552 45.372 3392
+-71.426 45.372 3392
+-71.3 45.372 3393
+-71.174 45.372 3394
+-71.048 45.372 3395
+-70.922 45.372 3395
+-70.796 45.372 3396
+-70.67 45.372 3397
+-70.544 45.372 3398
+-70.418 45.372 3398
+-70.292 45.372 3399
+-70.166 45.372 3400
+-70.04 45.372 3400
+-69.914 45.372 3512
+-69.788 45.372 3512
+-69.662 45.372 3497
+-69.536 45.372 3498
+-69.41 45.372 3498
+-69.284 45.372 3499
+-69.158 45.372 3499
+-69.032 45.372 3500
+-68.906 45.372 3500
+-68.78 45.372 3501
+-68.654 45.372 3501
+-68.528 45.372 3502
+-68.402 45.372 3502
+-68.276 45.372 3541
+-68.15 45.372 3541
+-68.024 45.372 3542
+-67.898 45.372 3543
+-67.772 45.372 3543
+-67.646 45.372 3544
+-67.52 45.372 3503
+-67.394 45.372 3503
+-67.268 45.372 3504
+-67.142 45.372 3504
+-67.016 45.372 3543
+-66.89 45.372 3544
+-66.764 45.372 3544
+-66.638 45.372 3496
+-66.512 45.372 3497
+-66.386 45.372 3497
+-66.26 45.372 3633
+-66.134 45.372 3634
+-66.008 45.372 3634
+-65.882 45.372 3634
+-65.756 45.372 3634
+-65.63 45.372 3566
+-65.504 45.372 3567
+-65.378 45.372 3567
+-65.252 45.372 3567
+-65.126 45.372 3567
+-128 45.32 4275
+-127.874 45.32 4268
+-127.748 45.32 4325
+-127.622 45.32 4427
+-127.496 45.32 4505
+-127.37 45.32 4539
+-127.244 45.32 4615
+-127.118 45.32 4623
+-126.992 45.32 4867
+-126.866 45.32 4892
+-126.74 45.32 5026
+-126.614 45.32 5231
+-126.488 45.32 5354
+-126.362 45.32 5441
+-126.236 45.32 5614
+-126.11 45.32 5778
+-125.984 45.32 5856
+-125.858 45.32 5943
+-125.732 45.32 6045
+-125.606 45.32 6156
+-125.48 45.32 6305
+-125.354 45.32 6383
+-125.228 45.32 6569
+-125.102 45.32 6628
+-124.976 45.32 6738
+-124.85 45.32 6782
+-124.724 45.32 6928
+-124.598 45.32 7050
+-124.472 45.32 7153
+-124.346 45.32 7252
+-124.22 45.32 7305
+-124.094 45.32 7397
+-123.968 45.32 7466
+-123.842 45.32 7509
+-123.716 45.32 7573
+-123.59 45.32 7631
+-123.464 45.32 7652
+-123.338 45.32 7712
+-123.212 45.32 7753
+-123.086 45.32 7762
+-122.96 45.32 7772
+-122.834 45.32 7758
+-122.708 45.32 7729
+-122.582 45.32 7690
+-122.456 45.32 7654
+-122.33 45.32 7623
+-122.204 45.32 7606
+-122.078 45.32 7535
+-121.952 45.32 7446
+-121.826 45.32 7402
+-121.7 45.32 7331
+-121.574 45.32 7214
+-121.448 45.32 7114
+-121.322 45.32 7018
+-121.196 45.32 6938
+-121.07 45.32 6810
+-120.944 45.32 6685
+-120.818 45.32 6610
+-120.692 45.32 6595
+-120.566 45.32 6753
+-120.44 45.32 6910
+-120.314 45.32 7007
+-120.188 45.32 7125
+-120.062 45.32 7261
+-119.936 45.32 7358
+-119.81 45.32 7438
+-119.684 45.32 7558
+-119.558 45.32 7679
+-119.432 45.32 7872
+-119.306 45.32 7933
+-119.18 45.32 8042
+-119.054 45.32 8112
+-118.928 45.32 8193
+-118.802 45.32 8315
+-118.676 45.32 8343
+-118.55 45.32 8386
+-118.424 45.32 8386
+-118.298 45.32 8392
+-118.172 45.32 8373
+-118.046 45.32 8347
+-117.92 45.32 8271
+-117.794 45.32 8216
+-117.668 45.32 8107
+-117.542 45.32 8086
+-117.416 45.32 7986
+-117.29 45.32 7848
+-117.164 45.32 7750
+-117.038 45.32 7574
+-116.912 45.32 7475
+-116.786 45.32 7431
+-116.66 45.32 7306
+-116.534 45.32 7154
+-116.408 45.32 7078
+-116.282 45.32 6950
+-116.156 45.32 6803
+-116.03 45.32 6657
+-115.904 45.32 6559
+-115.778 45.32 6501
+-115.652 45.32 6323
+-115.526 45.32 6229
+-115.4 45.32 6102
+-115.274 45.32 5967
+-115.148 45.32 5832
+-115.022 45.32 5694
+-114.896 45.32 5507
+-114.77 45.32 5374
+-114.644 45.32 5251
+-114.518 45.32 5116
+-114.392 45.32 5007
+-114.266 45.32 4852
+-114.14 45.32 4674
+-114.014 45.32 4535
+-113.888 45.32 4482
+-113.762 45.32 4288
+-113.636 45.32 4369
+-113.51 45.32 4363
+-113.384 45.32 4318
+-113.258 45.32 4229
+-113.132 45.32 4118
+-113.006 45.32 3969
+-112.88 45.32 3756
+-112.754 45.32 3613
+-112.628 45.32 3481
+-112.502 45.32 3397
+-112.376 45.32 3384
+-112.25 45.32 3379
+-112.124 45.32 3336
+-111.998 45.32 3247
+-111.872 45.32 3140
+-111.746 45.32 3043
+-111.62 45.32 2936
+-111.494 45.32 2917
+-111.368 45.32 2943
+-111.242 45.32 2987
+-111.116 45.32 2987
+-110.99 45.32 3048
+-110.864 45.32 3096
+-110.738 45.32 3146
+-110.612 45.32 3189
+-110.486 45.32 3227
+-110.36 45.32 3259
+-110.234 45.32 3287
+-110.108 45.32 3311
+-109.982 45.32 3333
+-109.856 45.32 3351
+-109.73 45.32 3368
+-109.604 45.32 3383
+-109.478 45.32 3396
+-109.352 45.32 3408
+-109.226 45.32 3418
+-109.1 45.32 3428
+-108.974 45.32 3436
+-108.848 45.32 3336
+-108.722 45.32 3343
+-108.596 45.32 3350
+-108.47 45.32 3356
+-108.344 45.32 3362
+-108.218 45.32 3367
+-108.092 45.32 3372
+-107.966 45.32 3376
+-107.84 45.32 3380
+-107.714 45.32 3384
+-107.588 45.32 3388
+-107.462 45.32 3391
+-107.336 45.32 3300
+-107.21 45.32 3302
+-107.084 45.32 3304
+-106.958 45.32 3271
+-106.832 45.32 3273
+-106.706 45.32 3274
+-106.58 45.32 3275
+-106.454 45.32 3276
+-106.328 45.32 3277
+-106.202 45.32 3278
+-106.076 45.32 3143
+-105.95 45.32 3143
+-105.824 45.32 3142
+-105.698 45.32 3142
+-105.572 45.32 3141
+-105.446 45.32 3140
+-105.32 45.32 3140
+-105.194 45.32 3139
+-105.068 45.32 3139
+-104.942 45.32 3138
+-104.816 45.32 3138
+-104.69 45.32 3122
+-104.564 45.32 3115
+-104.438 45.32 2831
+-104.312 45.32 2793
+-104.186 45.32 2784
+-104.06 45.32 2602
+-103.934 45.32 2567
+-103.808 45.32 2557
+-103.682 45.32 2527
+-103.556 45.32 2529
+-103.43 45.32 2524
+-103.304 45.32 2564
+-103.178 45.32 2741
+-103.052 45.32 2746
+-102.926 45.32 2767
+-102.8 45.32 2853
+-102.674 45.32 2839
+-102.548 45.32 3083
+-102.422 45.32 3080
+-102.296 45.32 3080
+-102.17 45.32 3080
+-102.044 45.32 3081
+-101.918 45.32 3102
+-101.792 45.32 3089
+-101.666 45.32 3049
+-101.54 45.32 3093
+-101.414 45.32 3344
+-101.288 45.32 3376
+-101.162 45.32 3374
+-101.036 45.32 3231
+-100.91 45.32 3230
+-100.784 45.32 3229
+-100.658 45.32 3228
+-100.532 45.32 3227
+-100.406 45.32 3226
+-100.28 45.32 3225
+-100.154 45.32 3201
+-100.028 45.32 3229
+-99.902 45.32 3229
+-99.776 45.32 3258
+-99.65 45.32 3233
+-99.524 45.32 3277
+-99.398 45.32 3190
+-99.272 45.32 3211
+-99.146 45.32 3214
+-99.02 45.32 3198
+-98.894 45.32 3215
+-98.768 45.32 3215
+-98.642 45.32 3219
+-98.516 45.32 3238
+-98.39 45.32 3239
+-98.264 45.32 3240
+-98.138 45.32 3333
+-98.012 45.32 3334
+-97.886 45.32 3334
+-97.76 45.32 3300
+-97.634 45.32 3390
+-97.508 45.32 3397
+-97.382 45.32 3396
+-97.256 45.32 3394
+-97.13 45.32 3394
+-97.004 45.32 3369
+-96.878 45.32 3367
+-96.752 45.32 3301
+-96.626 45.32 3426
+-96.5 45.32 3436
+-96.374 45.32 3401
+-96.248 45.32 3399
+-96.122 45.32 3397
+-95.996 45.32 3407
+-95.87 45.32 3363
+-95.744 45.32 3369
+-95.618 45.32 3363
+-95.492 45.32 3362
+-95.366 45.32 3361
+-95.24 45.32 3360
+-95.114 45.32 3359
+-94.988 45.32 3228
+-94.862 45.32 3248
+-94.736 45.32 3247
+-94.61 45.32 3246
+-94.484 45.32 3232
+-94.358 45.32 3270
+-94.232 45.32 3249
+-94.106 45.32 3247
+-93.98 45.32 3233
+-93.854 45.32 3233
+-93.728 45.32 3170
+-93.602 45.32 3194
+-93.476 45.32 3193
+-93.35 45.32 3191
+-93.224 45.32 3189
+-93.098 45.32 3181
+-92.972 45.32 3179
+-92.846 45.32 3176
+-92.72 45.32 3174
+-92.594 45.32 3170
+-92.468 45.32 3114
+-92.342 45.32 3100
+-92.216 45.32 3080
+-92.09 45.32 3038
+-91.964 45.32 3020
+-91.838 45.32 3000
+-91.712 45.32 2988
+-91.586 45.32 2973
+-91.46 45.32 2948
+-91.334 45.32 2916
+-91.208 45.32 2892
+-91.082 45.32 2863
+-90.956 45.32 2828
+-90.83 45.32 2783
+-90.704 45.32 2729
+-90.578 45.32 2662
+-90.452 45.32 2581
+-90.326 45.32 2491
+-90.2 45.32 2399
+-90.074 45.32 2330
+-89.948 45.32 2298
+-89.822 45.32 2321
+-89.696 45.32 2378
+-89.57 45.32 2428
+-89.444 45.32 2452
+-89.318 45.32 2434
+-89.192 45.32 2402
+-89.066 45.32 2365
+-88.94 45.32 2346
+-88.814 45.32 2353
+-88.688 45.32 2364
+-88.562 45.32 2405
+-88.436 45.32 2442
+-88.31 45.32 2451
+-88.184 45.32 2473
+-88.058 45.32 2488
+-87.932 45.32 2541
+-87.806 45.32 2514
+-87.68 45.32 2511
+-87.554 45.32 2504
+-87.428 45.32 2543
+-87.302 45.32 2537
+-87.176 45.32 2522
+-87.05 45.32 2506
+-86.924 45.32 2492
+-86.798 45.32 2478
+-86.672 45.32 2468
+-86.546 45.32 2460
+-86.42 45.32 2447
+-86.294 45.32 2441
+-86.168 45.32 2434
+-86.042 45.32 2430
+-85.916 45.32 2426
+-85.79 45.32 2422
+-85.664 45.32 2420
+-85.538 45.32 2424
+-85.412 45.32 2460
+-85.286 45.32 2462
+-85.16 45.32 2465
+-85.034 45.32 2469
+-84.908 45.32 2478
+-84.782 45.32 2484
+-84.656 45.32 2487
+-84.53 45.32 2494
+-84.404 45.32 2501
+-84.278 45.32 2509
+-84.152 45.32 2503
+-84.026 45.32 2514
+-83.9 45.32 2522
+-83.774 45.32 2603
+-83.648 45.32 2590
+-83.522 45.32 2599
+-83.396 45.32 2681
+-83.27 45.32 2690
+-83.144 45.32 2679
+-83.018 45.32 2719
+-82.892 45.32 2664
+-82.766 45.32 2686
+-82.64 45.32 2728
+-82.514 45.32 2672
+-82.388 45.32 2684
+-82.262 45.32 2626
+-82.136 45.32 2630
+-82.01 45.32 2645
+-81.884 45.32 2635
+-81.758 45.32 2642
+-81.632 45.32 2650
+-81.506 45.32 2612
+-81.38 45.32 2642
+-81.254 45.32 2643
+-81.128 45.32 2642
+-81.002 45.32 2648
+-80.876 45.32 2654
+-80.75 45.32 2660
+-80.624 45.32 2622
+-80.498 45.32 2622
+-80.372 45.32 2627
+-80.246 45.32 2632
+-80.12 45.32 2637
+-79.994 45.32 2639
+-79.868 45.32 2595
+-79.742 45.32 2690
+-79.616 45.32 2690
+-79.49 45.32 2698
+-79.364 45.32 2702
+-79.238 45.32 2705
+-79.112 45.32 2709
+-78.986 45.32 2731
+-78.86 45.32 2716
+-78.734 45.32 2771
+-78.608 45.32 2775
+-78.482 45.32 2770
+-78.356 45.32 2778
+-78.23 45.32 2782
+-78.104 45.32 2785
+-77.978 45.32 2777
+-77.852 45.32 2888
+-77.726 45.32 2891
+-77.6 45.32 2894
+-77.474 45.32 2897
+-77.348 45.32 2996
+-77.222 45.32 2955
+-77.096 45.32 3105
+-76.97 45.32 3107
+-76.844 45.32 3075
+-76.718 45.32 3077
+-76.592 45.32 3078
+-76.466 45.32 3080
+-76.34 45.32 3081
+-76.214 45.32 3083
+-76.088 45.32 3170
+-75.962 45.32 3166
+-75.836 45.32 3168
+-75.71 45.32 3170
+-75.584 45.32 3172
+-75.458 45.32 3120
+-75.332 45.32 3152
+-75.206 45.32 3154
+-75.08 45.32 3222
+-74.954 45.32 3140
+-74.828 45.32 3142
+-74.702 45.32 3144
+-74.576 45.32 3188
+-74.45 45.32 3146
+-74.324 45.32 3148
+-74.198 45.32 3150
+-74.072 45.32 3376
+-73.946 45.32 3325
+-73.82 45.32 3326
+-73.694 45.32 3455
+-73.568 45.32 3429
+-73.442 45.32 3431
+-73.316 45.32 3379
+-73.19 45.32 3452
+-73.064 45.32 3453
+-72.938 45.32 3454
+-72.812 45.32 3455
+-72.686 45.32 3456
+-72.56 45.32 3455
+-72.434 45.32 3456
+-72.308 45.32 3457
+-72.182 45.32 3446
+-72.056 45.32 3395
+-71.93 45.32 3389
+-71.804 45.32 3390
+-71.678 45.32 3391
+-71.552 45.32 3392
+-71.426 45.32 3393
+-71.3 45.32 3393
+-71.174 45.32 3394
+-71.048 45.32 3395
+-70.922 45.32 3396
+-70.796 45.32 3396
+-70.67 45.32 3397
+-70.544 45.32 3398
+-70.418 45.32 3399
+-70.292 45.32 3399
+-70.166 45.32 3400
+-70.04 45.32 3511
+-69.914 45.32 3512
+-69.788 45.32 3497
+-69.662 45.32 3497
+-69.536 45.32 3498
+-69.41 45.32 3498
+-69.284 45.32 3499
+-69.158 45.32 3499
+-69.032 45.32 3500
+-68.906 45.32 3500
+-68.78 45.32 3501
+-68.654 45.32 3501
+-68.528 45.32 3502
+-68.402 45.32 3540
+-68.276 45.32 3541
+-68.15 45.32 3542
+-68.024 45.32 3542
+-67.898 45.32 3543
+-67.772 45.32 3543
+-67.646 45.32 3502
+-67.52 45.32 3503
+-67.394 45.32 3503
+-67.268 45.32 3504
+-67.142 45.32 3543
+-67.016 45.32 3543
+-66.89 45.32 3544
+-66.764 45.32 3496
+-66.638 45.32 3497
+-66.512 45.32 3497
+-66.386 45.32 3633
+-66.26 45.32 3633
+-66.134 45.32 3634
+-66.008 45.32 3634
+-65.882 45.32 3634
+-65.756 45.32 3566
+-65.63 45.32 3566
+-65.504 45.32 3567
+-65.378 45.32 3567
+-65.252 45.32 3567
+-65.126 45.32 3567
+-128 45.268 4359
+-127.874 45.268 4383
+-127.748 45.268 4441
+-127.622 45.268 4494
+-127.496 45.268 4505
+-127.37 45.268 4431
+-127.244 45.268 4512
+-127.118 45.268 4675
+-126.992 45.268 4837
+-126.866 45.268 4940
+-126.74 45.268 5037
+-126.614 45.268 5220
+-126.488 45.268 5346
+-126.362 45.268 5394
+-126.236 45.268 5558
+-126.11 45.268 5762
+-125.984 45.268 5806
+-125.858 45.268 5883
+-125.732 45.268 6028
+-125.606 45.268 6104
+-125.48 45.268 6269
+-125.354 45.268 6393
+-125.228 45.268 6496
+-125.102 45.268 6593
+-124.976 45.268 6704
+-124.85 45.268 6813
+-124.724 45.268 6904
+-124.598 45.268 6977
+-124.472 45.268 7117
+-124.346 45.268 7210
+-124.22 45.268 7230
+-124.094 45.268 7310
+-123.968 45.268 7380
+-123.842 45.268 7465
+-123.716 45.268 7512
+-123.59 45.268 7588
+-123.464 45.268 7627
+-123.338 45.268 7682
+-123.212 45.268 7678
+-123.086 45.268 7690
+-122.96 45.268 7697
+-122.834 45.268 7690
+-122.708 45.268 7690
+-122.582 45.268 7643
+-122.456 45.268 7635
+-122.33 45.268 7567
+-122.204 45.268 7510
+-122.078 45.268 7497
+-121.952 45.268 7372
+-121.826 45.268 7345
+-121.7 45.268 7265
+-121.574 45.268 7215
+-121.448 45.268 7064
+-121.322 45.268 6974
+-121.196 45.268 6873
+-121.07 45.268 6765
+-120.944 45.268 6672
+-120.818 45.268 6516
+-120.692 45.268 6636
+-120.566 45.268 6760
+-120.44 45.268 6862
+-120.314 45.268 6955
+-120.188 45.268 7109
+-120.062 45.268 7248
+-119.936 45.268 7390
+-119.81 45.268 7491
+-119.684 45.268 7573
+-119.558 45.268 7668
+-119.432 45.268 7776
+-119.306 45.268 7901
+-119.18 45.268 7977
+-119.054 45.268 8077
+-118.928 45.268 8194
+-118.802 45.268 8209
+-118.676 45.268 8268
+-118.55 45.268 8292
+-118.424 45.268 8336
+-118.298 45.268 8352
+-118.172 45.268 8338
+-118.046 45.268 8332
+-117.92 45.268 8232
+-117.794 45.268 8166
+-117.668 45.268 8077
+-117.542 45.268 7953
+-117.416 45.268 7909
+-117.29 45.268 7850
+-117.164 45.268 7695
+-117.038 45.268 7626
+-116.912 45.268 7520
+-116.786 45.268 7366
+-116.66 45.268 7219
+-116.534 45.268 7198
+-116.408 45.268 7068
+-116.282 45.268 6937
+-116.156 45.268 6803
+-116.03 45.268 6667
+-115.904 45.268 6557
+-115.778 45.268 6415
+-115.652 45.268 6236
+-115.526 45.268 6197
+-115.4 45.268 6069
+-115.274 45.268 6004
+-115.148 45.268 5849
+-115.022 45.268 5633
+-114.896 45.268 5480
+-114.77 45.268 5365
+-114.644 45.268 5231
+-114.518 45.268 5159
+-114.392 45.268 4995
+-114.266 45.268 4859
+-114.14 45.268 4737
+-114.014 45.268 4594
+-113.888 45.268 4498
+-113.762 45.268 4391
+-113.636 45.268 4375
+-113.51 45.268 4341
+-113.384 45.268 4300
+-113.258 45.268 4192
+-113.132 45.268 4047
+-113.006 45.268 3862
+-112.88 45.268 3692
+-112.754 45.268 3631
+-112.628 45.268 3571
+-112.502 45.268 3523
+-112.376 45.268 3467
+-112.25 45.268 3410
+-112.124 45.268 3311
+-111.998 45.268 3176
+-111.872 45.268 3004
+-111.746 45.268 2844
+-111.62 45.268 2713
+-111.494 45.268 2711
+-111.368 45.268 2772
+-111.242 45.268 2864
+-111.116 45.268 2954
+-110.99 45.268 2979
+-110.864 45.268 3053
+-110.738 45.268 3108
+-110.612 45.268 3161
+-110.486 45.268 3205
+-110.36 45.268 3242
+-110.234 45.268 3274
+-110.108 45.268 3301
+-109.982 45.268 3324
+-109.856 45.268 3344
+-109.73 45.268 3362
+-109.604 45.268 3378
+-109.478 45.268 3392
+-109.352 45.268 3404
+-109.226 45.268 3415
+-109.1 45.268 3425
+-108.974 45.268 3434
+-108.848 45.268 3329
+-108.722 45.268 3337
+-108.596 45.268 3344
+-108.47 45.268 3351
+-108.344 45.268 3357
+-108.218 45.268 3362
+-108.092 45.268 3367
+-107.966 45.268 3372
+-107.84 45.268 3376
+-107.714 45.268 3380
+-107.588 45.268 3384
+-107.462 45.268 3388
+-107.336 45.268 3391
+-107.21 45.268 3299
+-107.084 45.268 3266
+-106.958 45.268 3268
+-106.832 45.268 3269
+-106.706 45.268 3270
+-106.58 45.268 3272
+-106.454 45.268 3273
+-106.328 45.268 3274
+-106.202 45.268 3203
+-106.076 45.268 3203
+-105.95 45.268 3139
+-105.824 45.268 3139
+-105.698 45.268 3138
+-105.572 45.268 3138
+-105.446 45.268 3137
+-105.32 45.268 3137
+-105.194 45.268 3136
+-105.068 45.268 3136
+-104.942 45.268 3135
+-104.816 45.268 3060
+-104.69 45.268 3055
+-104.564 45.268 3111
+-104.438 45.268 3108
+-104.312 45.268 2787
+-104.186 45.268 2605
+-104.06 45.268 2563
+-103.934 45.268 2564
+-103.808 45.268 2553
+-103.682 45.268 2524
+-103.556 45.268 2527
+-103.43 45.268 2522
+-103.304 45.268 2564
+-103.178 45.268 2741
+-103.052 45.268 2746
+-102.926 45.268 2767
+-102.8 45.268 2852
+-102.674 45.268 2838
+-102.548 45.268 2941
+-102.422 45.268 3080
+-102.296 45.268 3078
+-102.17 45.268 3078
+-102.044 45.268 3077
+-101.918 45.268 3088
+-101.792 45.268 3099
+-101.666 45.268 3086
+-101.54 45.268 3047
+-101.414 45.268 3090
+-101.288 45.268 3341
+-101.162 45.268 3373
+-101.036 45.268 3371
+-100.91 45.268 3229
+-100.784 45.268 3228
+-100.658 45.268 3227
+-100.532 45.268 3226
+-100.406 45.268 3225
+-100.28 45.268 3224
+-100.154 45.268 3223
+-100.028 45.268 3199
+-99.902 45.268 3227
+-99.776 45.268 3226
+-99.65 45.268 3256
+-99.524 45.268 3231
+-99.398 45.268 3274
+-99.272 45.268 3187
+-99.146 45.268 3209
+-99.02 45.268 3212
+-98.894 45.268 3196
+-98.768 45.268 3213
+-98.642 45.268 3213
+-98.516 45.268 3217
+-98.39 45.268 3236
+-98.264 45.268 3237
+-98.138 45.268 3238
+-98.012 45.268 3331
+-97.886 45.268 3331
+-97.76 45.268 3331
+-97.634 45.268 3298
+-97.508 45.268 3387
+-97.382 45.268 3394
+-97.256 45.268 3393
+-97.13 45.268 3391
+-97.004 45.268 3391
+-96.878 45.268 3367
+-96.752 45.268 3364
+-96.626 45.268 3299
+-96.5 45.268 3423
+-96.374 45.268 3433
+-96.248 45.268 3398
+-96.122 45.268 3396
+-95.996 45.268 3394
+-95.87 45.268 3403
+-95.744 45.268 3360
+-95.618 45.268 3365
+-95.492 45.268 3364
+-95.366 45.268 3359
+-95.24 45.268 3357
+-95.114 45.268 3356
+-94.988 45.268 3355
+-94.862 45.268 3230
+-94.736 45.268 3250
+-94.61 45.268 3249
+-94.484 45.268 3248
+-94.358 45.268 3235
+-94.232 45.268 3272
+-94.106 45.268 3252
+-93.98 45.268 3250
+-93.854 45.268 3237
+-93.728 45.268 3237
+-93.602 45.268 3177
+-93.476 45.268 3201
+-93.35 45.268 3200
+-93.224 45.268 3199
+-93.098 45.268 3198
+-92.972 45.268 3190
+-92.846 45.268 3188
+-92.72 45.268 3187
+-92.594 45.268 3185
+-92.468 45.268 3182
+-92.342 45.268 3129
+-92.216 45.268 3115
+-92.09 45.268 3095
+-91.964 45.268 3054
+-91.838 45.268 3036
+-91.712 45.268 3017
+-91.586 45.268 3004
+-91.46 45.268 2988
+-91.334 45.268 2961
+-91.208 45.268 2928
+-91.082 45.268 2901
+-90.956 45.268 2867
+-90.83 45.268 2826
+-90.704 45.268 2775
+-90.578 45.268 2713
+-90.452 45.268 2639
+-90.326 45.268 2556
+-90.2 45.268 2485
+-90.074 45.268 2418
+-89.948 45.268 2390
+-89.822 45.268 2400
+-89.696 45.268 2444
+-89.57 45.268 2488
+-89.444 45.268 2514
+-89.318 45.268 2520
+-89.192 45.268 2498
+-89.066 45.268 2487
+-88.94 45.268 2461
+-88.814 45.268 2458
+-88.688 45.268 2480
+-88.562 45.268 2485
+-88.436 45.268 2543
+-88.31 45.268 2500
+-88.184 45.268 2512
+-88.058 45.268 2604
+-87.932 45.268 2579
+-87.806 45.268 2575
+-87.68 45.268 2566
+-87.554 45.268 2558
+-87.428 45.268 2548
+-87.302 45.268 2530
+-87.176 45.268 2511
+-87.05 45.268 2493
+-86.924 45.268 2475
+-86.798 45.268 2463
+-86.672 45.268 2451
+-86.546 45.268 2436
+-86.42 45.268 2428
+-86.294 45.268 2419
+-86.168 45.268 2414
+-86.042 45.268 2408
+-85.916 45.268 2404
+-85.79 45.268 2400
+-85.664 45.268 2403
+-85.538 45.268 2437
+-85.412 45.268 2438
+-85.286 45.268 2441
+-85.16 45.268 2445
+-85.034 45.268 2454
+-84.908 45.268 2460
+-84.782 45.268 2464
+-84.656 45.268 2472
+-84.53 45.268 2480
+-84.404 45.268 2488
+-84.278 45.268 2484
+-84.152 45.268 2495
+-84.026 45.268 2504
+-83.9 45.268 2582
+-83.774 45.268 2571
+-83.648 45.268 2581
+-83.522 45.268 2660
+-83.396 45.268 2670
+-83.27 45.268 2661
+-83.144 45.268 2700
+-83.018 45.268 2648
+-82.892 45.268 2671
+-82.766 45.268 2712
+-82.64 45.268 2659
+-82.514 45.268 2672
+-82.388 45.268 2615
+-82.262 45.268 2620
+-82.136 45.268 2635
+-82.01 45.268 2626
+-81.884 45.268 2634
+-81.758 45.268 2642
+-81.632 45.268 2606
+-81.506 45.268 2635
+-81.38 45.268 2637
+-81.254 45.268 2636
+-81.128 45.268 2642
+-81.002 45.268 2649
+-80.876 45.268 2655
+-80.75 45.268 2618
+-80.624 45.268 2618
+-80.498 45.268 2624
+-80.372 45.268 2629
+-80.246 45.268 2634
+-80.12 45.268 2636
+-79.994 45.268 2592
+-79.868 45.268 2687
+-79.742 45.268 2687
+-79.616 45.268 2695
+-79.49 45.268 2699
+-79.364 45.268 2703
+-79.238 45.268 2707
+-79.112 45.268 2728
+-78.986 45.268 2714
+-78.86 45.268 2769
+-78.734 45.268 2773
+-78.608 45.268 2768
+-78.482 45.268 2776
+-78.356 45.268 2780
+-78.23 45.268 2783
+-78.104 45.268 2775
+-77.978 45.268 2886
+-77.852 45.268 2889
+-77.726 45.268 2892
+-77.6 45.268 2895
+-77.474 45.268 2994
+-77.348 45.268 2954
+-77.222 45.268 3104
+-77.096 45.268 3105
+-76.97 45.268 3074
+-76.844 45.268 3075
+-76.718 45.268 3077
+-76.592 45.268 3079
+-76.466 45.268 3080
+-76.34 45.268 3082
+-76.214 45.268 3168
+-76.088 45.268 3165
+-75.962 45.268 3167
+-75.836 45.268 3169
+-75.71 45.268 3171
+-75.584 45.268 3119
+-75.458 45.268 3151
+-75.332 45.268 3152
+-75.206 45.268 3221
+-75.08 45.268 3139
+-74.954 45.268 3141
+-74.828 45.268 3143
+-74.702 45.268 3187
+-74.576 45.268 3145
+-74.45 45.268 3147
+-74.324 45.268 3149
+-74.198 45.268 3375
+-74.072 45.268 3324
+-73.946 45.268 3325
+-73.82 45.268 3454
+-73.694 45.268 3428
+-73.568 45.268 3430
+-73.442 45.268 3378
+-73.316 45.268 3451
+-73.19 45.268 3452
+-73.064 45.268 3453
+-72.938 45.268 3454
+-72.812 45.268 3455
+-72.686 45.268 3454
+-72.56 45.268 3455
+-72.434 45.268 3456
+-72.308 45.268 3445
+-72.182 45.268 3394
+-72.056 45.268 3389
+-71.93 45.268 3390
+-71.804 45.268 3391
+-71.678 45.268 3391
+-71.552 45.268 3392
+-71.426 45.268 3393
+-71.3 45.268 3394
+-71.174 45.268 3394
+-71.048 45.268 3395
+-70.922 45.268 3396
+-70.796 45.268 3397
+-70.67 45.268 3397
+-70.544 45.268 3398
+-70.418 45.268 3399
+-70.292 45.268 3399
+-70.166 45.268 3511
+-70.04 45.268 3511
+-69.914 45.268 3496
+-69.788 45.268 3497
+-69.662 45.268 3497
+-69.536 45.268 3498
+-69.41 45.268 3499
+-69.284 45.268 3499
+-69.158 45.268 3500
+-69.032 45.268 3500
+-68.906 45.268 3501
+-68.78 45.268 3501
+-68.654 45.268 3502
+-68.528 45.268 3540
+-68.402 45.268 3540
+-68.276 45.268 3541
+-68.15 45.268 3542
+-68.024 45.268 3542
+-67.898 45.268 3543
+-67.772 45.268 3502
+-67.646 45.268 3502
+-67.52 45.268 3503
+-67.394 45.268 3503
+-67.268 45.268 3542
+-67.142 45.268 3543
+-67.016 45.268 3544
+-66.89 45.268 3496
+-66.764 45.268 3496
+-66.638 45.268 3497
+-66.512 45.268 3633
+-66.386 45.268 3633
+-66.26 45.268 3633
+-66.134 45.268 3634
+-66.008 45.268 3634
+-65.882 45.268 3566
+-65.756 45.268 3566
+-65.63 45.268 3566
+-65.504 45.268 3567
+-65.378 45.268 3567
+-65.252 45.268 3567
+-65.126 45.268 3567
+-128 45.216 4413
+-127.874 45.216 4456
+-127.748 45.216 4493
+-127.622 45.216 4533
+-127.496 45.216 4540
+-127.37 45.216 4538
+-127.244 45.216 4586
+-127.118 45.216 4697
+-126.992 45.216 4841
+-126.866 45.216 4969
+-126.74 45.216 5026
+-126.614 45.216 5145
+-126.488 45.216 5313
+-126.362 45.216 5429
+-126.236 45.216 5575
+-126.11 45.216 5719
+-125.984 45.216 5785
+-125.858 45.216 5888
+-125.732 45.216 5977
+-125.606 45.216 6104
+-125.48 45.216 6262
+-125.354 45.216 6365
+-125.228 45.216 6410
+-125.102 45.216 6612
+-124.976 45.216 6626
+-124.85 45.216 6744
+-124.724 45.216 6869
+-124.598 45.216 6982
+-124.472 45.216 7075
+-124.346 45.216 7166
+-124.22 45.216 7236
+-124.094 45.216 7265
+-123.968 45.216 7349
+-123.842 45.216 7449
+-123.716 45.216 7468
+-123.59 45.216 7513
+-123.464 45.216 7575
+-123.338 45.216 7616
+-123.212 45.216 7637
+-123.086 45.216 7656
+-122.96 45.216 7647
+-122.834 45.216 7660
+-122.708 45.216 7643
+-122.582 45.216 7603
+-122.456 45.216 7562
+-122.33 45.216 7525
+-122.204 45.216 7508
+-122.078 45.216 7444
+-121.952 45.216 7370
+-121.826 45.216 7294
+-121.7 45.216 7205
+-121.574 45.216 7107
+-121.448 45.216 7008
+-121.322 45.216 6911
+-121.196 45.216 6862
+-121.07 45.216 6708
+-120.944 45.216 6639
+-120.818 45.216 6472
+-120.692 45.216 6629
+-120.566 45.216 6725
+-120.44 45.216 6852
+-120.314 45.216 6974
+-120.188 45.216 7126
+-120.062 45.216 7210
+-119.936 45.216 7372
+-119.81 45.216 7485
+-119.684 45.216 7604
+-119.558 45.216 7666
+-119.432 45.216 7747
+-119.306 45.216 7852
+-119.18 45.216 7960
+-119.054 45.216 8032
+-118.928 45.216 8109
+-118.802 45.216 8178
+-118.676 45.216 8236
+-118.55 45.216 8283
+-118.424 45.216 8282
+-118.298 45.216 8287
+-118.172 45.216 8298
+-118.046 45.216 8244
+-117.92 45.216 8205
+-117.794 45.216 8135
+-117.668 45.216 8042
+-117.542 45.216 7951
+-117.416 45.216 7886
+-117.29 45.216 7798
+-117.164 45.216 7692
+-117.038 45.216 7527
+-116.912 45.216 7420
+-116.786 45.216 7326
+-116.66 45.216 7206
+-116.534 45.216 7183
+-116.408 45.216 7030
+-116.282 45.216 6856
+-116.156 45.216 6770
+-116.03 45.216 6637
+-115.904 45.216 6505
+-115.778 45.216 6378
+-115.652 45.216 6311
+-115.526 45.216 6194
+-115.4 45.216 6049
+-115.274 45.216 5931
+-115.148 45.216 5799
+-115.022 45.216 5587
+-114.896 45.216 5450
+-114.77 45.216 5413
+-114.644 45.216 5250
+-114.518 45.216 5081
+-114.392 45.216 4951
+-114.266 45.216 4825
+-114.14 45.216 4761
+-114.014 45.216 4587
+-113.888 45.216 4484
+-113.762 45.216 4397
+-113.636 45.216 4315
+-113.51 45.216 4301
+-113.384 45.216 4254
+-113.258 45.216 4153
+-113.132 45.216 3956
+-113.006 45.216 3685
+-112.88 45.216 3514
+-112.754 45.216 3548
+-112.628 45.216 3590
+-112.502 45.216 3585
+-112.376 45.216 3504
+-112.25 45.216 3426
+-112.124 45.216 3274
+-111.998 45.216 3078
+-111.872 45.216 2819
+-111.746 45.216 2580
+-111.62 45.216 2462
+-111.494 45.216 2468
+-111.368 45.216 2590
+-111.242 45.216 2737
+-111.116 45.216 2875
+-110.99 45.216 2971
+-110.864 45.216 3009
+-110.738 45.216 3084
+-110.612 45.216 3138
+-110.486 45.216 3187
+-110.36 45.216 3229
+-110.234 45.216 3263
+-110.108 45.216 3292
+-109.982 45.216 3317
+-109.856 45.216 3339
+-109.73 45.216 3358
+-109.604 45.216 3374
+-109.478 45.216 3389
+-109.352 45.216 3402
+-109.226 45.216 3413
+-109.1 45.216 3423
+-108.974 45.216 3300
+-108.848 45.216 3309
+-108.722 45.216 3316
+-108.596 45.216 3323
+-108.47 45.216 3330
+-108.344 45.216 3335
+-108.218 45.216 3341
+-108.092 45.216 3346
+-107.966 45.216 3350
+-107.84 45.216 3354
+-107.714 45.216 3358
+-107.588 45.216 3362
+-107.462 45.216 3365
+-107.336 45.216 3369
+-107.21 45.216 3271
+-107.084 45.216 3262
+-106.958 45.216 3198
+-106.832 45.216 3198
+-106.706 45.216 3198
+-106.58 45.216 3199
+-106.454 45.216 3199
+-106.328 45.216 3199
+-106.202 45.216 3199
+-106.076 45.216 3199
+-105.95 45.216 3199
+-105.824 45.216 3135
+-105.698 45.216 3135
+-105.572 45.216 3135
+-105.446 45.216 3134
+-105.32 45.216 3134
+-105.194 45.216 3133
+-105.068 45.216 3133
+-104.942 45.216 3059
+-104.816 45.216 3055
+-104.69 45.216 3050
+-104.564 45.216 3107
+-104.438 45.216 2797
+-104.312 45.216 2782
+-104.186 45.216 2600
+-104.06 45.216 2559
+-103.934 45.216 2560
+-103.808 45.216 2549
+-103.682 45.216 2522
+-103.556 45.216 2526
+-103.43 45.216 2521
+-103.304 45.216 2543
+-103.178 45.216 2741
+-103.052 45.216 2746
+-102.926 45.216 2766
+-102.8 45.216 2851
+-102.674 45.216 2836
+-102.548 45.216 2938
+-102.422 45.216 2939
+-102.296 45.216 3077
+-102.17 45.216 3075
+-102.044 45.216 3075
+-101.918 45.216 3075
+-101.792 45.216 3075
+-101.666 45.216 3096
+-101.54 45.216 3084
+-101.414 45.216 3045
+-101.288 45.216 3088
+-101.162 45.216 3338
+-101.036 45.216 3369
+-100.91 45.216 3367
+-100.784 45.216 3226
+-100.658 45.216 3225
+-100.532 45.216 3224
+-100.406 45.216 3223
+-100.28 45.216 3222
+-100.154 45.216 3221
+-100.028 45.216 3220
+-99.902 45.216 3196
+-99.776 45.216 3224
+-99.65 45.216 3223
+-99.524 45.216 3253
+-99.398 45.216 3228
+-99.272 45.216 3271
+-99.146 45.216 3185
+-99.02 45.216 3206
+-98.894 45.216 3209
+-98.768 45.216 3194
+-98.642 45.216 3210
+-98.516 45.216 3211
+-98.39 45.216 3214
+-98.264 45.216 3234
+-98.138 45.216 3235
+-98.012 45.216 3236
+-97.886 45.216 3328
+-97.76 45.216 3329
+-97.634 45.216 3329
+-97.508 45.216 3296
+-97.382 45.216 3384
+-97.256 45.216 3391
+-97.13 45.216 3390
+-97.004 45.216 3388
+-96.878 45.216 3388
+-96.752 45.216 3365
+-96.626 45.216 3362
+-96.5 45.216 3298
+-96.374 45.216 3419
+-96.248 45.216 3429
+-96.122 45.216 3395
+-95.996 45.216 3392
+-95.87 45.216 3390
+-95.744 45.216 3399
+-95.618 45.216 3357
+-95.492 45.216 3362
+-95.366 45.216 3356
+-95.24 45.216 3355
+-95.114 45.216 3353
+-94.988 45.216 3352
+-94.862 45.216 3351
+-94.736 45.216 3232
+-94.61 45.216 3251
+-94.484 45.216 3250
+-94.358 45.216 3250
+-94.232 45.216 3237
+-94.106 45.216 3274
+-93.98 45.216 3254
+-93.854 45.216 3253
+-93.728 45.216 3241
+-93.602 45.216 3241
+-93.476 45.216 3183
+-93.35 45.216 3207
+-93.224 45.216 3207
+-93.098 45.216 3206
+-92.972 45.216 3206
+-92.846 45.216 3199
+-92.72 45.216 3199
+-92.594 45.216 3198
+-92.468 45.216 3196
+-92.342 45.216 3194
+-92.216 45.216 3143
+-92.09 45.216 3130
+-91.964 45.216 3111
+-91.838 45.216 3070
+-91.712 45.216 3052
+-91.586 45.216 3033
+-91.46 45.216 3020
+-91.334 45.216 3003
+-91.208 45.216 2974
+-91.082 45.216 2940
+-90.956 45.216 2910
+-90.83 45.216 2873
+-90.704 45.216 2828
+-90.578 45.216 2774
+-90.452 45.216 2711
+-90.326 45.216 2659
+-90.2 45.216 2590
+-90.074 45.216 2537
+-89.948 45.216 2513
+-89.822 45.216 2521
+-89.696 45.216 2534
+-89.57 45.216 2564
+-89.444 45.216 2585
+-89.318 45.216 2596
+-89.192 45.216 2596
+-89.066 45.216 2575
+-88.94 45.216 2574
+-88.814 45.216 2552
+-88.688 45.216 2544
+-88.562 45.216 2589
+-88.436 45.216 2612
+-88.31 45.216 2623
+-88.184 45.216 2630
+-88.058 45.216 2604
+-87.932 45.216 2599
+-87.806 45.216 2589
+-87.68 45.216 2578
+-87.554 45.216 2566
+-87.428 45.216 2544
+-87.302 45.216 2520
+-87.176 45.216 2498
+-87.05 45.216 2475
+-86.924 45.216 2458
+-86.798 45.216 2442
+-86.672 45.216 2425
+-86.546 45.216 2414
+-86.42 45.216 2403
+-86.294 45.216 2397
+-86.168 45.216 2389
+-86.042 45.216 2383
+-85.916 45.216 2379
+-85.79 45.216 2381
+-85.664 45.216 2411
+-85.538 45.216 2412
+-85.412 45.216 2415
+-85.286 45.216 2419
+-85.16 45.216 2427
+-85.034 45.216 2434
+-84.908 45.216 2439
+-84.782 45.216 2447
+-84.656 45.216 2456
+-84.53 45.216 2465
+-84.404 45.216 2462
+-84.278 45.216 2474
+-84.152 45.216 2484
+-84.026 45.216 2559
+-83.9 45.216 2551
+-83.774 45.216 2561
+-83.648 45.216 2638
+-83.522 45.216 2649
+-83.396 45.216 2642
+-83.27 45.216 2680
+-83.144 45.216 2631
+-83.018 45.216 2654
+-82.892 45.216 2695
+-82.766 45.216 2645
+-82.64 45.216 2658
+-82.514 45.216 2604
+-82.388 45.216 2609
+-82.262 45.216 2625
+-82.136 45.216 2617
+-82.01 45.216 2625
+-81.884 45.216 2634
+-81.758 45.216 2599
+-81.632 45.216 2628
+-81.506 45.216 2630
+-81.38 45.216 2629
+-81.254 45.216 2636
+-81.128 45.216 2643
+-81.002 45.216 2650
+-80.876 45.216 2614
+-80.75 45.216 2614
+-80.624 45.216 2620
+-80.498 45.216 2626
+-80.372 45.216 2631
+-80.246 45.216 2633
+-80.12 45.216 2590
+-79.994 45.216 2684
+-79.868 45.216 2684
+-79.742 45.216 2693
+-79.616 45.216 2697
+-79.49 45.216 2701
+-79.364 45.216 2705
+-79.238 45.216 2726
+-79.112 45.216 2712
+-78.986 45.216 2767
+-78.86 45.216 2771
+-78.734 45.216 2766
+-78.608 45.216 2775
+-78.482 45.216 2778
+-78.356 45.216 2782
+-78.23 45.216 2774
+-78.104 45.216 2884
+-77.978 45.216 2887
+-77.852 45.216 2891
+-77.726 45.216 2894
+-77.6 45.216 2993
+-77.474 45.216 2953
+-77.348 45.216 3102
+-77.222 45.216 3104
+-77.096 45.216 3072
+-76.97 45.216 3074
+-76.844 45.216 3076
+-76.718 45.216 3077
+-76.592 45.216 3079
+-76.466 45.216 3081
+-76.34 45.216 3167
+-76.214 45.216 3164
+-76.088 45.216 3166
+-75.962 45.216 3167
+-75.836 45.216 3169
+-75.71 45.216 3118
+-75.584 45.216 3149
+-75.458 45.216 3151
+-75.332 45.216 3220
+-75.206 45.216 3138
+-75.08 45.216 3140
+-74.954 45.216 3142
+-74.828 45.216 3186
+-74.702 45.216 3144
+-74.576 45.216 3146
+-74.45 45.216 3148
+-74.324 45.216 3374
+-74.198 45.216 3323
+-74.072 45.216 3324
+-73.946 45.216 3453
+-73.82 45.216 3427
+-73.694 45.216 3429
+-73.568 45.216 3377
+-73.442 45.216 3450
+-73.316 45.216 3451
+-73.19 45.216 3452
+-73.064 45.216 3453
+-72.938 45.216 3454
+-72.812 45.216 3453
+-72.686 45.216 3454
+-72.56 45.216 3455
+-72.434 45.216 3444
+-72.308 45.216 3394
+-72.182 45.216 3388
+-72.056 45.216 3389
+-71.93 45.216 3390
+-71.804 45.216 3391
+-71.678 45.216 3392
+-71.552 45.216 3392
+-71.426 45.216 3393
+-71.3 45.216 3394
+-71.174 45.216 3395
+-71.048 45.216 3396
+-70.922 45.216 3396
+-70.796 45.216 3397
+-70.67 45.216 3398
+-70.544 45.216 3398
+-70.418 45.216 3399
+-70.292 45.216 3510
+-70.166 45.216 3511
+-70.04 45.216 3496
+-69.914 45.216 3496
+-69.788 45.216 3497
+-69.662 45.216 3498
+-69.536 45.216 3498
+-69.41 45.216 3499
+-69.284 45.216 3499
+-69.158 45.216 3500
+-69.032 45.216 3500
+-68.906 45.216 3501
+-68.78 45.216 3501
+-68.654 45.216 3539
+-68.528 45.216 3540
+-68.402 45.216 3541
+-68.276 45.216 3541
+-68.15 45.216 3542
+-68.024 45.216 3543
+-67.898 45.216 3502
+-67.772 45.216 3502
+-67.646 45.216 3503
+-67.52 45.216 3503
+-67.394 45.216 3542
+-67.268 45.216 3543
+-67.142 45.216 3543
+-67.016 45.216 3495
+-66.89 45.216 3496
+-66.764 45.216 3497
+-66.638 45.216 3632
+-66.512 45.216 3633
+-66.386 45.216 3633
+-66.26 45.216 3633
+-66.134 45.216 3634
+-66.008 45.216 3566
+-65.882 45.216 3566
+-65.756 45.216 3566
+-65.63 45.216 3566
+-65.504 45.216 3567
+-65.378 45.216 3567
+-65.252 45.216 3567
+-65.126 45.216 3567
+-128 45.164 4439
+-127.874 45.164 4493
+-127.748 45.164 4522
+-127.622 45.164 4554
+-127.496 45.164 4564
+-127.37 45.164 4565
+-127.244 45.164 4580
+-127.118 45.164 4688
+-126.992 45.164 4848
+-126.866 45.164 4966
+-126.74 45.164 5017
+-126.614 45.164 5124
+-126.488 45.164 5272
+-126.362 45.164 5420
+-126.236 45.164 5566
+-126.11 45.164 5603
+-125.984 45.164 5771
+-125.858 45.164 5844
+-125.732 45.164 6005
+-125.606 45.164 6132
+-125.48 45.164 6216
+-125.354 45.164 6360
+-125.228 45.164 6450
+-125.102 45.164 6504
+-124.976 45.164 6583
+-124.85 45.164 6675
+-124.724 45.164 6814
+-124.598 45.164 6881
+-124.472 45.164 7008
+-124.346 45.164 7095
+-124.22 45.164 7197
+-124.094 45.164 7223
+-123.968 45.164 7282
+-123.842 45.164 7359
+-123.716 45.164 7395
+-123.59 45.164 7457
+-123.464 45.164 7534
+-123.338 45.164 7565
+-123.212 45.164 7594
+-123.086 45.164 7609
+-122.96 45.164 7619
+-122.834 45.164 7589
+-122.708 45.164 7574
+-122.582 45.164 7554
+-122.456 45.164 7542
+-122.33 45.164 7475
+-122.204 45.164 7427
+-122.078 45.164 7362
+-121.952 45.164 7287
+-121.826 45.164 7226
+-121.7 45.164 7155
+-121.574 45.164 7052
+-121.448 45.164 6973
+-121.322 45.164 6922
+-121.196 45.164 6821
+-121.07 45.164 6747
+-120.944 45.164 6614
+-120.818 45.164 6437
+-120.692 45.164 6631
+-120.566 45.164 6683
+-120.44 45.164 6800
+-120.314 45.164 6925
+-120.188 45.164 7067
+-120.062 45.164 7138
+-119.936 45.164 7310
+-119.81 45.164 7428
+-119.684 45.164 7540
+-119.558 45.164 7658
+-119.432 45.164 7714
+-119.306 45.164 7826
+-119.18 45.164 7859
+-119.054 45.164 7975
+-118.928 45.164 8082
+-118.802 45.164 8137
+-118.676 45.164 8192
+-118.55 45.164 8205
+-118.424 45.164 8253
+-118.298 45.164 8258
+-118.172 45.164 8248
+-118.046 45.164 8215
+-117.92 45.164 8120
+-117.794 45.164 8064
+-117.668 45.164 7973
+-117.542 45.164 7878
+-117.416 45.164 7855
+-117.29 45.164 7766
+-117.164 45.164 7643
+-117.038 45.164 7504
+-116.912 45.164 7406
+-116.786 45.164 7319
+-116.66 45.164 7227
+-116.534 45.164 7162
+-116.408 45.164 6987
+-116.282 45.164 6860
+-116.156 45.164 6718
+-116.03 45.164 6626
+-115.904 45.164 6506
+-115.778 45.164 6314
+-115.652 45.164 6288
+-115.526 45.164 6157
+-115.4 45.164 5983
+-115.274 45.164 5849
+-115.148 45.164 5788
+-115.022 45.164 5541
+-114.896 45.164 5473
+-114.77 45.164 5371
+-114.644 45.164 5205
+-114.518 45.164 5101
+-114.392 45.164 4988
+-114.266 45.164 4857
+-114.14 45.164 4725
+-114.014 45.164 4530
+-113.888 45.164 4456
+-113.762 45.164 4367
+-113.636 45.164 4195
+-113.51 45.164 4271
+-113.384 45.164 4232
+-113.258 45.164 4120
+-113.132 45.164 3910
+-113.006 45.164 3575
+-112.88 45.164 3374
+-112.754 45.164 3480
+-112.628 45.164 3582
+-112.502 45.164 3599
+-112.376 45.164 3555
+-112.25 45.164 3432
+-112.124 45.164 3232
+-111.998 45.164 2973
+-111.872 45.164 2633
+-111.746 45.164 2316
+-111.62 45.164 2183
+-111.494 45.164 2264
+-111.368 45.164 2436
+-111.242 45.164 2635
+-111.116 45.164 2809
+-110.99 45.164 2948
+-110.864 45.164 3036
+-110.738 45.164 3063
+-110.612 45.164 3130
+-110.486 45.164 3176
+-110.36 45.164 3220
+-110.234 45.164 3256
+-110.108 45.164 3287
+-109.982 45.164 3313
+-109.856 45.164 3336
+-109.73 45.164 3355
+-109.604 45.164 3372
+-109.478 45.164 3387
+-109.352 45.164 3400
+-109.226 45.164 3412
+-109.1 45.164 3285
+-108.974 45.164 3295
+-108.848 45.164 3304
+-108.722 45.164 3312
+-108.596 45.164 3319
+-108.47 45.164 3325
+-108.344 45.164 3331
+-108.218 45.164 3337
+-108.092 45.164 3342
+-107.966 45.164 3347
+-107.84 45.164 3351
+-107.714 45.164 3355
+-107.588 45.164 3359
+-107.462 45.164 3362
+-107.336 45.164 3265
+-107.21 45.164 3267
+-107.084 45.164 3203
+-106.958 45.164 3204
+-106.832 45.164 3204
+-106.706 45.164 3205
+-106.58 45.164 3206
+-106.454 45.164 3206
+-106.328 45.164 3207
+-106.202 45.164 3207
+-106.076 45.164 3207
+-105.95 45.164 3208
+-105.824 45.164 3208
+-105.698 45.164 3132
+-105.572 45.164 3131
+-105.446 45.164 3131
+-105.32 45.164 3131
+-105.194 45.164 3130
+-105.068 45.164 3058
+-104.942 45.164 3054
+-104.816 45.164 3049
+-104.69 45.164 3045
+-104.564 45.164 3008
+-104.438 45.164 2791
+-104.312 45.164 2776
+-104.186 45.164 2595
+-104.06 45.164 2555
+-103.934 45.164 2556
+-103.808 45.164 2545
+-103.682 45.164 2519
+-103.556 45.164 2524
+-103.43 45.164 2519
+-103.304 45.164 2597
+-103.178 45.164 2741
+-103.052 45.164 2746
+-102.926 45.164 2847
+-102.8 45.164 2850
+-102.674 45.164 2835
+-102.548 45.164 2936
+-102.422 45.164 2936
+-102.296 45.164 2936
+-102.17 45.164 3074
+-102.044 45.164 3072
+-101.918 45.164 3072
+-101.792 45.164 3072
+-101.666 45.164 3082
+-101.54 45.164 3093
+-101.414 45.164 3081
+-101.288 45.164 3043
+-101.162 45.164 3086
+-101.036 45.164 3335
+-100.91 45.164 3365
+-100.784 45.164 3363
+-100.658 45.164 3223
+-100.532 45.164 3222
+-100.406 45.164 3221
+-100.28 45.164 3220
+-100.154 45.164 3219
+-100.028 45.164 3218
+-99.902 45.164 3217
+-99.776 45.164 3194
+-99.65 45.164 3221
+-99.524 45.164 3221
+-99.398 45.164 3249
+-99.272 45.164 3225
+-99.146 45.164 3268
+-99.02 45.164 3183
+-98.894 45.164 3204
+-98.768 45.164 3207
+-98.642 45.164 3191
+-98.516 45.164 3208
+-98.39 45.164 3209
+-98.264 45.164 3212
+-98.138 45.164 3232
+-98.012 45.164 3233
+-97.886 45.164 3234
+-97.76 45.164 3326
+-97.634 45.164 3326
+-97.508 45.164 3326
+-97.382 45.164 3294
+-97.256 45.164 3382
+-97.13 45.164 3388
+-97.004 45.164 3387
+-96.878 45.164 3386
+-96.752 45.164 3385
+-96.626 45.164 3362
+-96.5 45.164 3360
+-96.374 45.164 3296
+-96.248 45.164 3416
+-96.122 45.164 3425
+-95.996 45.164 3391
+-95.87 45.164 3389
+-95.744 45.164 3387
+-95.618 45.164 3395
+-95.492 45.164 3353
+-95.366 45.164 3358
+-95.24 45.164 3356
+-95.114 45.164 3351
+-94.988 45.164 3349
+-94.862 45.164 3348
+-94.736 45.164 3346
+-94.61 45.164 3233
+-94.484 45.164 3252
+-94.358 45.164 3252
+-94.232 45.164 3251
+-94.106 45.164 3239
+-93.98 45.164 3275
+-93.854 45.164 3256
+-93.728 45.164 3255
+-93.602 45.164 3244
+-93.476 45.164 3245
+-93.35 45.164 3190
+-93.224 45.164 3213
+-93.098 45.164 3214
+-92.972 45.164 3214
+-92.846 45.164 3215
+-92.72 45.164 3209
+-92.594 45.164 3209
+-92.468 45.164 3209
+-92.342 45.164 3208
+-92.216 45.164 3206
+-92.09 45.164 3158
+-91.964 45.164 3145
+-91.838 45.164 3126
+-91.712 45.164 3086
+-91.586 45.164 3069
+-91.46 45.164 3057
+-91.334 45.164 3098
+-91.208 45.164 3079
+-91.082 45.164 3046
+-90.956 45.164 3018
+-90.83 45.164 2983
+-90.704 45.164 2941
+-90.578 45.164 2904
+-90.452 45.164 2847
+-90.326 45.164 2788
+-90.2 45.164 2731
+-90.074 45.164 2687
+-89.948 45.164 2647
+-89.822 45.164 2647
+-89.696 45.164 2672
+-89.57 45.164 2677
+-89.444 45.164 2689
+-89.318 45.164 2679
+-89.192 45.164 2681
+-89.066 45.164 2681
+-88.94 45.164 2689
+-88.814 45.164 2664
+-88.688 45.164 2641
+-88.562 45.164 2655
+-88.436 45.164 2660
+-88.31 45.164 2662
+-88.184 45.164 2637
+-88.058 45.164 2630
+-87.932 45.164 2618
+-87.806 45.164 2605
+-87.68 45.164 2591
+-87.554 45.164 2565
+-87.428 45.164 2537
+-87.302 45.164 2508
+-87.176 45.164 2479
+-87.05 45.164 2456
+-86.924 45.164 2434
+-86.798 45.164 2413
+-86.672 45.164 2398
+-86.546 45.164 2385
+-86.42 45.164 2377
+-86.294 45.164 2368
+-86.168 45.164 2361
+-86.042 45.164 2356
+-85.916 45.164 2356
+-85.79 45.164 2383
+-85.664 45.164 2384
+-85.538 45.164 2386
+-85.412 45.164 2390
+-85.286 45.164 2398
+-85.16 45.164 2404
+-85.034 45.164 2411
+-84.908 45.164 2420
+-84.782 45.164 2429
+-84.656 45.164 2439
+-84.53 45.164 2438
+-84.404 45.164 2451
+-84.278 45.164 2461
+-84.152 45.164 2535
+-84.026 45.164 2528
+-83.9 45.164 2540
+-83.774 45.164 2614
+-83.648 45.164 2626
+-83.522 45.164 2621
+-83.396 45.164 2659
+-83.27 45.164 2613
+-83.144 45.164 2637
+-83.018 45.164 2677
+-82.892 45.164 2630
+-82.766 45.164 2644
+-82.64 45.164 2592
+-82.514 45.164 2598
+-82.388 45.164 2614
+-82.262 45.164 2607
+-82.136 45.164 2616
+-82.01 45.164 2625
+-81.884 45.164 2591
+-81.758 45.164 2620
+-81.632 45.164 2623
+-81.506 45.164 2623
+-81.38 45.164 2630
+-81.254 45.164 2637
+-81.128 45.164 2644
+-81.002 45.164 2609
+-80.876 45.164 2610
+-80.75 45.164 2616
+-80.624 45.164 2622
+-80.498 45.164 2627
+-80.372 45.164 2630
+-80.246 45.164 2587
+-80.12 45.164 2681
+-79.994 45.164 2682
+-79.868 45.164 2690
+-79.742 45.164 2694
+-79.616 45.164 2698
+-79.49 45.164 2702
+-79.364 45.164 2724
+-79.238 45.164 2710
+-79.112 45.164 2764
+-78.986 45.164 2768
+-78.86 45.164 2764
+-78.734 45.164 2773
+-78.608 45.164 2776
+-78.482 45.164 2780
+-78.356 45.164 2772
+-78.23 45.164 2882
+-78.104 45.164 2886
+-77.978 45.164 2889
+-77.852 45.164 2892
+-77.726 45.164 2991
+-77.6 45.164 2951
+-77.474 45.164 3100
+-77.348 45.164 3102
+-77.222 45.164 3071
+-77.096 45.164 3073
+-76.97 45.164 3074
+-76.844 45.164 3076
+-76.718 45.164 3078
+-76.592 45.164 3079
+-76.466 45.164 3165
+-76.34 45.164 3162
+-76.214 45.164 3164
+-76.088 45.164 3166
+-75.962 45.164 3168
+-75.836 45.164 3117
+-75.71 45.164 3148
+-75.584 45.164 3150
+-75.458 45.164 3218
+-75.332 45.164 3137
+-75.206 45.164 3139
+-75.08 45.164 3141
+-74.954 45.164 3184
+-74.828 45.164 3143
+-74.702 45.164 3145
+-74.576 45.164 3147
+-74.45 45.164 3373
+-74.324 45.164 3322
+-74.198 45.164 3323
+-74.072 45.164 3452
+-73.946 45.164 3426
+-73.82 45.164 3428
+-73.694 45.164 3376
+-73.568 45.164 3449
+-73.442 45.164 3450
+-73.316 45.164 3451
+-73.19 45.164 3452
+-73.064 45.164 3453
+-72.938 45.164 3453
+-72.812 45.164 3454
+-72.686 45.164 3455
+-72.56 45.164 3444
+-72.434 45.164 3393
+-72.308 45.164 3388
+-72.182 45.164 3388
+-72.056 45.164 3389
+-71.93 45.164 3390
+-71.804 45.164 3391
+-71.678 45.164 3392
+-71.552 45.164 3393
+-71.426 45.164 3393
+-71.3 45.164 3394
+-71.174 45.164 3395
+-71.048 45.164 3396
+-70.922 45.164 3397
+-70.796 45.164 3397
+-70.67 45.164 3398
+-70.544 45.164 3399
+-70.418 45.164 3510
+-70.292 45.164 3510
+-70.166 45.164 3495
+-70.04 45.164 3496
+-69.914 45.164 3497
+-69.788 45.164 3497
+-69.662 45.164 3498
+-69.536 45.164 3498
+-69.41 45.164 3499
+-69.284 45.164 3499
+-69.158 45.164 3500
+-69.032 45.164 3500
+-68.906 45.164 3501
+-68.78 45.164 3539
+-68.654 45.164 3539
+-68.528 45.164 3540
+-68.402 45.164 3541
+-68.276 45.164 3541
+-68.15 45.164 3542
+-68.024 45.164 3501
+-67.898 45.164 3502
+-67.772 45.164 3502
+-67.646 45.164 3503
+-67.52 45.164 3541
+-67.394 45.164 3542
+-67.268 45.164 3543
+-67.142 45.164 3495
+-67.016 45.164 3496
+-66.89 45.164 3496
+-66.764 45.164 3632
+-66.638 45.164 3633
+-66.512 45.164 3633
+-66.386 45.164 3633
+-66.26 45.164 3633
+-66.134 45.164 3566
+-66.008 45.164 3566
+-65.882 45.164 3566
+-65.756 45.164 3566
+-65.63 45.164 3566
+-65.504 45.164 3567
+-65.378 45.164 3567
+-65.252 45.164 3567
+-65.126 45.164 3567
+-128 45.112 4469
+-127.874 45.112 4486
+-127.748 45.112 4513
+-127.622 45.112 4557
+-127.496 45.112 4559
+-127.37 45.112 4539
+-127.244 45.112 4437
+-127.118 45.112 4633
+-126.992 45.112 4851
+-126.866 45.112 4967
+-126.74 45.112 4980
+-126.614 45.112 5079
+-126.488 45.112 5221
+-126.362 45.112 5366
+-126.236 45.112 5500
+-126.11 45.112 5624
+-125.984 45.112 5707
+-125.858 45.112 5799
+-125.732 45.112 5983
+-125.606 45.112 6101
+-125.48 45.112 6210
+-125.354 45.112 6342
+-125.228 45.112 6387
+-125.102 45.112 6483
+-124.976 45.112 6595
+-124.85 45.112 6674
+-124.724 45.112 6750
+-124.598 45.112 6883
+-124.472 45.112 6933
+-124.346 45.112 7048
+-124.22 45.112 7140
+-124.094 45.112 7237
+-123.968 45.112 7224
+-123.842 45.112 7289
+-123.716 45.112 7399
+-123.59 45.112 7384
+-123.464 45.112 7454
+-123.338 45.112 7511
+-123.212 45.112 7531
+-123.086 45.112 7537
+-122.96 45.112 7519
+-122.834 45.112 7517
+-122.708 45.112 7520
+-122.582 45.112 7484
+-122.456 45.112 7455
+-122.33 45.112 7425
+-122.204 45.112 7395
+-122.078 45.112 7316
+-121.952 45.112 7277
+-121.826 45.112 7199
+-121.7 45.112 7128
+-121.574 45.112 7000
+-121.448 45.112 6938
+-121.322 45.112 6856
+-121.196 45.112 6769
+-121.07 45.112 6677
+-120.944 45.112 6598
+-120.818 45.112 6429
+-120.692 45.112 6557
+-120.566 45.112 6670
+-120.44 45.112 6807
+-120.314 45.112 6878
+-120.188 45.112 6993
+-120.062 45.112 7170
+-119.936 45.112 7250
+-119.81 45.112 7421
+-119.684 45.112 7509
+-119.558 45.112 7635
+-119.432 45.112 7684
+-119.306 45.112 7768
+-119.18 45.112 7850
+-119.054 45.112 7952
+-118.928 45.112 8022
+-118.802 45.112 8120
+-118.676 45.112 8164
+-118.55 45.112 8168
+-118.424 45.112 8186
+-118.298 45.112 8182
+-118.172 45.112 8184
+-118.046 45.112 8131
+-117.92 45.112 8095
+-117.794 45.112 8043
+-117.668 45.112 7956
+-117.542 45.112 7913
+-117.416 45.112 7805
+-117.29 45.112 7713
+-117.164 45.112 7588
+-117.038 45.112 7511
+-116.912 45.112 7387
+-116.786 45.112 7322
+-116.66 45.112 7214
+-116.534 45.112 7077
+-116.408 45.112 6913
+-116.282 45.112 6814
+-116.156 45.112 6762
+-116.03 45.112 6542
+-115.904 45.112 6528
+-115.778 45.112 6358
+-115.652 45.112 6250
+-115.526 45.112 6084
+-115.4 45.112 5971
+-115.274 45.112 5882
+-115.148 45.112 5785
+-115.022 45.112 5597
+-114.896 45.112 5451
+-114.77 45.112 5325
+-114.644 45.112 5184
+-114.518 45.112 5070
+-114.392 45.112 4989
+-114.266 45.112 4843
+-114.14 45.112 4670
+-114.014 45.112 4488
+-113.888 45.112 4375
+-113.762 45.112 4349
+-113.636 45.112 4288
+-113.51 45.112 4261
+-113.384 45.112 4208
+-113.258 45.112 4130
+-113.132 45.112 3962
+-113.006 45.112 3697
+-112.88 45.112 3515
+-112.754 45.112 3556
+-112.628 45.112 3624
+-112.502 45.112 3633
+-112.376 45.112 3570
+-112.25 45.112 3458
+-112.124 45.112 3251
+-111.998 45.112 2932
+-111.872 45.112 2552
+-111.746 45.112 2198
+-111.62 45.112 2060
+-111.494 45.112 2171
+-111.368 45.112 2395
+-111.242 45.112 2595
+-111.116 45.112 2783
+-110.99 45.112 2932
+-110.864 45.112 3048
+-110.738 45.112 3115
+-110.612 45.112 3123
+-110.486 45.112 3179
+-110.36 45.112 3216
+-110.234 45.112 3254
+-110.108 45.112 3285
+-109.982 45.112 3312
+-109.856 45.112 3334
+-109.73 45.112 3354
+-109.604 45.112 3371
+-109.478 45.112 3386
+-109.352 45.112 3400
+-109.226 45.112 3270
+-109.1 45.112 3281
+-108.974 45.112 3291
+-108.848 45.112 3300
+-108.722 45.112 3308
+-108.596 45.112 3315
+-108.47 45.112 3322
+-108.344 45.112 3328
+-108.218 45.112 3334
+-108.092 45.112 3339
+-107.966 45.112 3344
+-107.84 45.112 3348
+-107.714 45.112 3352
+-107.588 45.112 3356
+-107.462 45.112 3258
+-107.336 45.112 3260
+-107.21 45.112 3196
+-107.084 45.112 3198
+-106.958 45.112 3199
+-106.832 45.112 3199
+-106.706 45.112 3200
+-106.58 45.112 3201
+-106.454 45.112 3201
+-106.328 45.112 3202
+-106.202 45.112 3202
+-106.076 45.112 3203
+-105.95 45.112 3203
+-105.824 45.112 3203
+-105.698 45.112 3204
+-105.572 45.112 3128
+-105.446 45.112 3128
+-105.32 45.112 3127
+-105.194 45.112 3057
+-105.068 45.112 3053
+-104.942 45.112 3048
+-104.816 45.112 3044
+-104.69 45.112 3039
+-104.564 45.112 3002
+-104.438 45.112 2786
+-104.312 45.112 2784
+-104.186 45.112 2591
+-104.06 45.112 2551
+-103.934 45.112 2551
+-103.808 45.112 2541
+-103.682 45.112 2517
+-103.556 45.112 2523
+-103.43 45.112 2538
+-103.304 45.112 2597
+-103.178 45.112 2740
+-103.052 45.112 2829
+-102.926 45.112 2832
+-102.8 45.112 2849
+-102.674 45.112 2834
+-102.548 45.112 2934
+-102.422 45.112 2934
+-102.296 45.112 2934
+-102.17 45.112 2934
+-102.044 45.112 3071
+-101.918 45.112 3070
+-101.792 45.112 3069
+-101.666 45.112 3069
+-101.54 45.112 3070
+-101.414 45.112 3090
+-101.288 45.112 3078
+-101.162 45.112 3040
+-101.036 45.112 3083
+-100.91 45.112 3331
+-100.784 45.112 3361
+-100.658 45.112 3359
+-100.532 45.112 3221
+-100.406 45.112 3219
+-100.28 45.112 3218
+-100.154 45.112 3217
+-100.028 45.112 3216
+-99.902 45.112 3215
+-99.776 45.112 3214
+-99.65 45.112 3191
+-99.524 45.112 3218
+-99.398 45.112 3218
+-99.272 45.112 3246
+-99.146 45.112 3223
+-99.02 45.112 3264
+-98.894 45.112 3180
+-98.768 45.112 3201
+-98.642 45.112 3204
+-98.516 45.112 3189
+-98.39 45.112 3206
+-98.264 45.112 3207
+-98.138 45.112 3210
+-98.012 45.112 3229
+-97.886 45.112 3230
+-97.76 45.112 3231
+-97.634 45.112 3323
+-97.508 45.112 3323
+-97.382 45.112 3324
+-97.256 45.112 3291
+-97.13 45.112 3379
+-97.004 45.112 3385
+-96.878 45.112 3384
+-96.752 45.112 3383
+-96.626 45.112 3382
+-96.5 45.112 3360
+-96.374 45.112 3357
+-96.248 45.112 3295
+-96.122 45.112 3412
+-95.996 45.112 3421
+-95.87 45.112 3387
+-95.744 45.112 3385
+-95.618 45.112 3383
+-95.492 45.112 3390
+-95.366 45.112 3349
+-95.24 45.112 3353
+-95.114 45.112 3348
+-94.988 45.112 3346
+-94.862 45.112 3344
+-94.736 45.112 3343
+-94.61 45.112 3341
+-94.484 45.112 3234
+-94.358 45.112 3253
+-94.232 45.112 3252
+-94.106 45.112 3252
+-93.98 45.112 3240
+-93.854 45.112 3275
+-93.728 45.112 3257
+-93.602 45.112 3257
+-93.476 45.112 3247
+-93.35 45.112 3248
+-93.224 45.112 3196
+-93.098 45.112 3220
+-92.972 45.112 3221
+-92.846 45.112 3222
+-92.72 45.112 3224
+-92.594 45.112 3219
+-92.468 45.112 3219
+-92.342 45.112 3220
+-92.216 45.112 3219
+-92.09 45.112 3218
+-91.964 45.112 3173
+-91.838 45.112 3160
+-91.712 45.112 3128
+-91.586 45.112 3164
+-91.46 45.112 3139
+-91.334 45.112 3126
+-91.208 45.112 3105
+-91.082 45.112 3086
+-90.956 45.112 3054
+-90.83 45.112 3026
+-90.704 45.112 2993
+-90.578 45.112 2967
+-90.452 45.112 2923
+-90.326 45.112 2878
+-90.2 45.112 2836
+-90.074 45.112 2814
+-89.948 45.112 2793
+-89.822 45.112 2786
+-89.696 45.112 2787
+-89.57 45.112 2771
+-89.444 45.112 2774
+-89.318 45.112 2772
+-89.192 45.112 2768
+-89.066 45.112 2762
+-88.94 45.112 2738
+-88.814 45.112 2722
+-88.688 45.112 2695
+-88.562 45.112 2696
+-88.436 45.112 2696
+-88.31 45.112 2694
+-88.184 45.112 2665
+-88.058 45.112 2653
+-87.932 45.112 2676
+-87.806 45.112 2623
+-87.68 45.112 2595
+-87.554 45.112 2561
+-87.428 45.112 2527
+-87.302 45.112 2489
+-87.176 45.112 2458
+-87.05 45.112 2428
+-86.924 45.112 2400
+-86.798 45.112 2381
+-86.672 45.112 2364
+-86.546 45.112 2355
+-86.42 45.112 2345
+-86.294 45.112 2337
+-86.168 45.112 2330
+-86.042 45.112 2329
+-85.916 45.112 2353
+-85.79 45.112 2352
+-85.664 45.112 2354
+-85.538 45.112 2357
+-85.412 45.112 2364
+-85.286 45.112 2372
+-85.16 45.112 2380
+-85.034 45.112 2389
+-84.908 45.112 2400
+-84.782 45.112 2410
+-84.656 45.112 2411
+-84.53 45.112 2425
+-84.404 45.112 2437
+-84.278 45.112 2508
+-84.152 45.112 2503
+-84.026 45.112 2516
+-83.9 45.112 2588
+-83.774 45.112 2602
+-83.648 45.112 2599
+-83.522 45.112 2636
+-83.396 45.112 2594
+-83.27 45.112 2618
+-83.144 45.112 2658
+-83.018 45.112 2614
+-82.892 45.112 2629
+-82.766 45.112 2579
+-82.64 45.112 2586
+-82.514 45.112 2602
+-82.388 45.112 2596
+-82.262 45.112 2606
+-82.136 45.112 2616
+-82.01 45.112 2583
+-81.884 45.112 2612
+-81.758 45.112 2616
+-81.632 45.112 2616
+-81.506 45.112 2624
+-81.38 45.112 2632
+-81.254 45.112 2639
+-81.128 45.112 2605
+-81.002 45.112 2606
+-80.876 45.112 2612
+-80.75 45.112 2618
+-80.624 45.112 2624
+-80.498 45.112 2627
+-80.372 45.112 2585
+-80.246 45.112 2678
+-80.12 45.112 2679
+-79.994 45.112 2687
+-79.868 45.112 2692
+-79.742 45.112 2696
+-79.616 45.112 2700
+-79.49 45.112 2722
+-79.364 45.112 2708
+-79.238 45.112 2762
+-79.112 45.112 2766
+-78.986 45.112 2762
+-78.86 45.112 2771
+-78.734 45.112 2775
+-78.608 45.112 2778
+-78.482 45.112 2771
+-78.356 45.112 2881
+-78.23 45.112 2884
+-78.104 45.112 2887
+-77.978 45.112 2891
+-77.852 45.112 2989
+-77.726 45.112 2950
+-77.6 45.112 3099
+-77.474 45.112 3101
+-77.348 45.112 3070
+-77.222 45.112 3071
+-77.096 45.112 3073
+-76.97 45.112 3075
+-76.844 45.112 3077
+-76.718 45.112 3078
+-76.592 45.112 3164
+-76.466 45.112 3161
+-76.34 45.112 3163
+-76.214 45.112 3165
+-76.088 45.112 3167
+-75.962 45.112 3116
+-75.836 45.112 3147
+-75.71 45.112 3149
+-75.584 45.112 3217
+-75.458 45.112 3136
+-75.332 45.112 3138
+-75.206 45.112 3140
+-75.08 45.112 3183
+-74.954 45.112 3142
+-74.828 45.112 3144
+-74.702 45.112 3146
+-74.576 45.112 3371
+-74.45 45.112 3321
+-74.324 45.112 3322
+-74.198 45.112 3450
+-74.072 45.112 3425
+-73.946 45.112 3427
+-73.82 45.112 3375
+-73.694 45.112 3448
+-73.568 45.112 3449
+-73.442 45.112 3450
+-73.316 45.112 3452
+-73.19 45.112 3453
+-73.064 45.112 3452
+-72.938 45.112 3453
+-72.812 45.112 3454
+-72.686 45.112 3443
+-72.56 45.112 3392
+-72.434 45.112 3387
+-72.308 45.112 3388
+-72.182 45.112 3389
+-72.056 45.112 3390
+-71.93 45.112 3391
+-71.804 45.112 3391
+-71.678 45.112 3392
+-71.552 45.112 3393
+-71.426 45.112 3394
+-71.3 45.112 3395
+-71.174 45.112 3395
+-71.048 45.112 3396
+-70.922 45.112 3397
+-70.796 45.112 3398
+-70.67 45.112 3398
+-70.544 45.112 3509
+-70.418 45.112 3510
+-70.292 45.112 3495
+-70.166 45.112 3496
+-70.04 45.112 3496
+-69.914 45.112 3497
+-69.788 45.112 3497
+-69.662 45.112 3498
+-69.536 45.112 3498
+-69.41 45.112 3499
+-69.284 45.112 3500
+-69.158 45.112 3500
+-69.032 45.112 3501
+-68.906 45.112 3538
+-68.78 45.112 3539
+-68.654 45.112 3540
+-68.528 45.112 3540
+-68.402 45.112 3541
+-68.276 45.112 3542
+-68.15 45.112 3501
+-68.024 45.112 3501
+-67.898 45.112 3502
+-67.772 45.112 3502
+-67.646 45.112 3541
+-67.52 45.112 3542
+-67.394 45.112 3542
+-67.268 45.112 3495
+-67.142 45.112 3495
+-67.016 45.112 3496
+-66.89 45.112 3632
+-66.764 45.112 3632
+-66.638 45.112 3633
+-66.512 45.112 3633
+-66.386 45.112 3633
+-66.26 45.112 3566
+-66.134 45.112 3566
+-66.008 45.112 3566
+-65.882 45.112 3566
+-65.756 45.112 3566
+-65.63 45.112 3566
+-65.504 45.112 3567
+-65.378 45.112 3567
+-65.252 45.112 3567
+-65.126 45.112 3567
+-128 45.06 4468
+-127.874 45.06 4502
+-127.748 45.06 4520
+-127.622 45.06 4558
+-127.496 45.06 4581
+-127.37 45.06 4570
+-127.244 45.06 4563
+-127.118 45.06 4683
+-126.992 45.06 4843
+-126.866 45.06 4943
+-126.74 45.06 4924
+-126.614 45.06 5081
+-126.488 45.06 5145
+-126.362 45.06 5321
+-126.236 45.06 5411
+-126.11 45.06 5552
+-125.984 45.06 5691
+-125.858 45.06 5797
+-125.732 45.06 5946
+-125.606 45.06 6033
+-125.48 45.06 6216
+-125.354 45.06 6285
+-125.228 45.06 6372
+-125.102 45.06 6462
+-124.976 45.06 6534
+-124.85 45.06 6635
+-124.724 45.06 6705
+-124.598 45.06 6804
+-124.472 45.06 6910
+-124.346 45.06 7011
+-124.22 45.06 7107
+-124.094 45.06 7146
+-123.968 45.06 7197
+-123.842 45.06 7233
+-123.716 45.06 7277
+-123.59 45.06 7314
+-123.464 45.06 7368
+-123.338 45.06 7419
+-123.212 45.06 7472
+-123.086 45.06 7467
+-122.96 45.06 7484
+-122.834 45.06 7467
+-122.708 45.06 7450
+-122.582 45.06 7462
+-122.456 45.06 7436
+-122.33 45.06 7368
+-122.204 45.06 7325
+-122.078 45.06 7245
+-121.952 45.06 7196
+-121.826 45.06 7150
+-121.7 45.06 7098
+-121.574 45.06 6975
+-121.448 45.06 6895
+-121.322 45.06 6818
+-121.196 45.06 6725
+-121.07 45.06 6653
+-120.944 45.06 6507
+-120.818 45.06 6365
+-120.692 45.06 6536
+-120.566 45.06 6605
+-120.44 45.06 6824
+-120.314 45.06 6857
+-120.188 45.06 6979
+-120.062 45.06 7110
+-119.936 45.06 7242
+-119.81 45.06 7349
+-119.684 45.06 7449
+-119.558 45.06 7570
+-119.432 45.06 7621
+-119.306 45.06 7738
+-119.18 45.06 7845
+-119.054 45.06 7881
+-118.928 45.06 7985
+-118.802 45.06 8024
+-118.676 45.06 8046
+-118.55 45.06 8100
+-118.424 45.06 8131
+-118.298 45.06 8130
+-118.172 45.06 8100
+-118.046 45.06 8085
+-117.92 45.06 8054
+-117.794 45.06 7980
+-117.668 45.06 7920
+-117.542 45.06 7875
+-117.416 45.06 7716
+-117.29 45.06 7679
+-117.164 45.06 7574
+-117.038 45.06 7491
+-116.912 45.06 7337
+-116.786 45.06 7249
+-116.66 45.06 7175
+-116.534 45.06 7021
+-116.408 45.06 6919
+-116.282 45.06 6844
+-116.156 45.06 6731
+-116.03 45.06 6604
+-115.904 45.06 6532
+-115.778 45.06 6338
+-115.652 45.06 6201
+-115.526 45.06 6085
+-115.4 45.06 5939
+-115.274 45.06 5824
+-115.148 45.06 5773
+-115.022 45.06 5600
+-114.896 45.06 5446
+-114.77 45.06 5277
+-114.644 45.06 5159
+-114.518 45.06 5015
+-114.392 45.06 4978
+-114.266 45.06 4846
+-114.14 45.06 4668
+-114.014 45.06 4502
+-113.888 45.06 4387
+-113.762 45.06 4294
+-113.636 45.06 4240
+-113.51 45.06 4223
+-113.384 45.06 4197
+-113.258 45.06 4125
+-113.132 45.06 4019
+-113.006 45.06 3870
+-112.88 45.06 3716
+-112.754 45.06 3692
+-112.628 45.06 3685
+-112.502 45.06 3660
+-112.376 45.06 3598
+-112.25 45.06 3483
+-112.124 45.06 3296
+-111.998 45.06 2996
+-111.872 45.06 2633
+-111.746 45.06 2316
+-111.62 45.06 2183
+-111.494 45.06 2268
+-111.368 45.06 2467
+-111.242 45.06 2668
+-111.116 45.06 2807
+-110.99 45.06 2948
+-110.864 45.06 3059
+-110.738 45.06 3147
+-110.612 45.06 3191
+-110.486 45.06 3182
+-110.36 45.06 3227
+-110.234 45.06 3255
+-110.108 45.06 3265
+-109.982 45.06 3290
+-109.856 45.06 3311
+-109.73 45.06 3330
+-109.604 45.06 3346
+-109.478 45.06 3360
+-109.352 45.06 3373
+-109.226 45.06 3384
+-109.1 45.06 3277
+-108.974 45.06 3287
+-108.848 45.06 3296
+-108.722 45.06 3304
+-108.596 45.06 3312
+-108.47 45.06 3318
+-108.344 45.06 3325
+-108.218 45.06 3330
+-108.092 45.06 3336
+-107.966 45.06 3341
+-107.84 45.06 3345
+-107.714 45.06 3349
+-107.588 45.06 3250
+-107.462 45.06 3253
+-107.336 45.06 3190
+-107.21 45.06 3191
+-107.084 45.06 3192
+-106.958 45.06 3193
+-106.832 45.06 3194
+-106.706 45.06 3195
+-106.58 45.06 3196
+-106.454 45.06 3196
+-106.328 45.06 3197
+-106.202 45.06 3198
+-106.076 45.06 3198
+-105.95 45.06 3198
+-105.824 45.06 3199
+-105.698 45.06 3199
+-105.572 45.06 3063
+-105.446 45.06 3124
+-105.32 45.06 3056
+-105.194 45.06 3051
+-105.068 45.06 3047
+-104.942 45.06 3043
+-104.816 45.06 3038
+-104.69 45.06 3034
+-104.564 45.06 2995
+-104.438 45.06 2780
+-104.312 45.06 2778
+-104.186 45.06 2586
+-104.06 45.06 2546
+-103.934 45.06 2547
+-103.808 45.06 2443
+-103.682 45.06 2514
+-103.556 45.06 2521
+-103.43 45.06 2538
+-103.304 45.06 2669
+-103.178 45.06 2740
+-103.052 45.06 2828
+-102.926 45.06 2898
+-102.8 45.06 2847
+-102.674 45.06 2930
+-102.548 45.06 2932
+-102.422 45.06 2932
+-102.296 45.06 2932
+-102.17 45.06 2932
+-102.044 45.06 2932
+-101.918 45.06 3068
+-101.792 45.06 3067
+-101.666 45.06 3066
+-101.54 45.06 3066
+-101.414 45.06 3076
+-101.288 45.06 3087
+-101.162 45.06 3076
+-101.036 45.06 3038
+-100.91 45.06 3080
+-100.784 45.06 3327
+-100.658 45.06 3357
+-100.532 45.06 3355
+-100.406 45.06 3218
+-100.28 45.06 3216
+-100.154 45.06 3215
+-100.028 45.06 3214
+-99.902 45.06 3213
+-99.776 45.06 3212
+-99.65 45.06 3211
+-99.524 45.06 3188
+-99.398 45.06 3215
+-99.272 45.06 3215
+-99.146 45.06 3243
+-99.02 45.06 3219
+-98.894 45.06 3261
+-98.768 45.06 3178
+-98.642 45.06 3198
+-98.516 45.06 3201
+-98.39 45.06 3187
+-98.264 45.06 3203
+-98.138 45.06 3204
+-98.012 45.06 3208
+-97.886 45.06 3227
+-97.76 45.06 3228
+-97.634 45.06 3229
+-97.508 45.06 3320
+-97.382 45.06 3320
+-97.256 45.06 3321
+-97.13 45.06 3289
+-97.004 45.06 3376
+-96.878 45.06 3382
+-96.752 45.06 3381
+-96.626 45.06 3379
+-96.5 45.06 3379
+-96.374 45.06 3357
+-96.248 45.06 3354
+-96.122 45.06 3293
+-95.996 45.06 3408
+-95.87 45.06 3417
+-95.744 45.06 3383
+-95.618 45.06 3381
+-95.492 45.06 3378
+-95.366 45.06 3385
+-95.24 45.06 3345
+-95.114 45.06 3348
+-94.988 45.06 3346
+-94.862 45.06 3341
+-94.736 45.06 3339
+-94.61 45.06 3337
+-94.484 45.06 3335
+-94.358 45.06 3307
+-94.232 45.06 3253
+-94.106 45.06 3252
+-93.98 45.06 3252
+-93.854 45.06 3314
+-93.728 45.06 3275
+-93.602 45.06 3258
+-93.476 45.06 3259
+-93.35 45.06 3249
+-93.224 45.06 3252
+-93.098 45.06 3259
+-92.972 45.06 3226
+-92.846 45.06 3228
+-92.72 45.06 3231
+-92.594 45.06 3233
+-92.468 45.06 3228
+-92.342 45.06 3230
+-92.216 45.06 3230
+-92.09 45.06 3230
+-91.964 45.06 3190
+-91.838 45.06 3241
+-91.712 45.06 3222
+-91.586 45.06 3184
+-91.46 45.06 3171
+-91.334 45.06 3147
+-91.208 45.06 3135
+-91.082 45.06 3115
+-90.956 45.06 3097
+-90.83 45.06 3066
+-90.704 45.06 3041
+-90.578 45.06 3024
+-90.452 45.06 2991
+-90.326 45.06 2957
+-90.2 45.06 2940
+-90.074 45.06 2910
+-89.948 45.06 2890
+-89.822 45.06 2878
+-89.696 45.06 2873
+-89.57 45.06 2867
+-89.444 45.06 2832
+-89.318 45.06 2821
+-89.192 45.06 2807
+-89.066 45.06 2792
+-88.94 45.06 2762
+-88.814 45.06 2761
+-88.688 45.06 2720
+-88.562 45.06 2721
+-88.436 45.06 2721
+-88.31 45.06 2721
+-88.184 45.06 2723
+-88.058 45.06 2710
+-87.932 45.06 2661
+-87.806 45.06 2632
+-87.68 45.06 2596
+-87.554 45.06 2556
+-87.428 45.06 2510
+-87.302 45.06 2469
+-87.176 45.06 2427
+-87.05 45.06 2389
+-86.924 45.06 2361
+-86.798 45.06 2340
+-86.672 45.06 2328
+-86.546 45.06 2318
+-86.42 45.06 2310
+-86.294 45.06 2303
+-86.168 45.06 2300
+-86.042 45.06 2320
+-85.916 45.06 2318
+-85.79 45.06 2318
+-85.664 45.06 2321
+-85.538 45.06 2327
+-85.412 45.06 2335
+-85.286 45.06 2344
+-85.16 45.06 2355
+-85.034 45.06 2366
+-84.908 45.06 2378
+-84.782 45.06 2381
+-84.656 45.06 2396
+-84.53 45.06 2409
+-84.404 45.06 2478
+-84.278 45.06 2476
+-84.152 45.06 2490
+-84.026 45.06 2560
+-83.9 45.06 2575
+-83.774 45.06 2574
+-83.648 45.06 2611
+-83.522 45.06 2573
+-83.396 45.06 2597
+-83.27 45.06 2638
+-83.144 45.06 2597
+-83.018 45.06 2612
+-82.892 45.06 2565
+-82.766 45.06 2573
+-82.64 45.06 2590
+-82.514 45.06 2586
+-82.388 45.06 2596
+-82.262 45.06 2606
+-82.136 45.06 2575
+-82.01 45.06 2604
+-81.884 45.06 2608
+-81.758 45.06 2609
+-81.632 45.06 2617
+-81.506 45.06 2625
+-81.38 45.06 2633
+-81.254 45.06 2600
+-81.128 45.06 2602
+-81.002 45.06 2608
+-80.876 45.06 2615
+-80.75 45.06 2621
+-80.624 45.06 2624
+-80.498 45.06 2582
+-80.372 45.06 2674
+-80.246 45.06 2676
+-80.12 45.06 2685
+-79.994 45.06 2689
+-79.868 45.06 2694
+-79.742 45.06 2698
+-79.616 45.06 2719
+-79.49 45.06 2706
+-79.364 45.06 2760
+-79.238 45.06 2764
+-79.112 45.06 2760
+-78.986 45.06 2769
+-78.86 45.06 2773
+-78.734 45.06 2777
+-78.608 45.06 2769
+-78.482 45.06 2879
+-78.356 45.06 2882
+-78.23 45.06 2886
+-78.104 45.06 2889
+-77.978 45.06 2988
+-77.852 45.06 2949
+-77.726 45.06 3097
+-77.6 45.06 3099
+-77.474 45.06 3068
+-77.348 45.06 3070
+-77.222 45.06 3072
+-77.096 45.06 3074
+-76.97 45.06 3075
+-76.844 45.06 3077
+-76.718 45.06 3162
+-76.592 45.06 3159
+-76.466 45.06 3161
+-76.34 45.06 3163
+-76.214 45.06 3165
+-76.088 45.06 3114
+-75.962 45.06 3146
+-75.836 45.06 3148
+-75.71 45.06 3215
+-75.584 45.06 3135
+-75.458 45.06 3137
+-75.332 45.06 3139
+-75.206 45.06 3182
+-75.08 45.06 3141
+-74.954 45.06 3143
+-74.828 45.06 3145
+-74.702 45.06 3370
+-74.576 45.06 3320
+-74.45 45.06 3321
+-74.324 45.06 3449
+-74.198 45.06 3424
+-74.072 45.06 3426
+-73.946 45.06 3375
+-73.82 45.06 3447
+-73.694 45.06 3448
+-73.568 45.06 3450
+-73.442 45.06 3451
+-73.316 45.06 3452
+-73.19 45.06 3451
+-73.064 45.06 3452
+-72.938 45.06 3453
+-72.812 45.06 3442
+-72.686 45.06 3392
+-72.56 45.06 3386
+-72.434 45.06 3387
+-72.308 45.06 3388
+-72.182 45.06 3389
+-72.056 45.06 3390
+-71.93 45.06 3391
+-71.804 45.06 3392
+-71.678 45.06 3392
+-71.552 45.06 3393
+-71.426 45.06 3394
+-71.3 45.06 3395
+-71.174 45.06 3396
+-71.048 45.06 3396
+-70.922 45.06 3397
+-70.796 45.06 3398
+-70.67 45.06 3509
+-70.544 45.06 3509
+-70.418 45.06 3494
+-70.292 45.06 3495
+-70.166 45.06 3496
+-70.04 45.06 3496
+-69.914 45.06 3497
+-69.788 45.06 3497
+-69.662 45.06 3498
+-69.536 45.06 3499
+-69.41 45.06 3499
+-69.284 45.06 3500
+-69.158 45.06 3500
+-69.032 45.06 3538
+-68.906 45.06 3539
+-68.78 45.06 3539
+-68.654 45.06 3540
+-68.528 45.06 3541
+-68.402 45.06 3541
+-68.276 45.06 3500
+-68.15 45.06 3501
+-68.024 45.06 3502
+-67.898 45.06 3502
+-67.772 45.06 3540
+-67.646 45.06 3541
+-67.52 45.06 3542
+-67.394 45.06 3494
+-67.268 45.06 3495
+-67.142 45.06 3496
+-67.016 45.06 3632
+-66.89 45.06 3632
+-66.764 45.06 3632
+-66.638 45.06 3633
+-66.512 45.06 3633
+-66.386 45.06 3565
+-66.26 45.06 3566
+-66.134 45.06 3566
+-66.008 45.06 3566
+-65.882 45.06 3566
+-65.756 45.06 3566
+-65.63 45.06 3566
+-65.504 45.06 3567
+-65.378 45.06 3567
+-65.252 45.06 3567
+-65.126 45.06 3549
+-128 45.008 4403
+-127.874 45.008 4426
+-127.748 45.008 4536
+-127.622 45.008 4549
+-127.496 45.008 4559
+-127.37 45.008 4580
+-127.244 45.008 4646
+-127.118 45.008 4701
+-126.992 45.008 4807
+-126.866 45.008 4912
+-126.74 45.008 4986
+-126.614 45.008 5124
+-126.488 45.008 5220
+-126.362 45.008 5290
+-126.236 45.008 5386
+-126.11 45.008 5517
+-125.984 45.008 5668
+-125.858 45.008 5807
+-125.732 45.008 5937
+-125.606 45.008 5950
+-125.48 45.008 6128
+-125.354 45.008 6253
+-125.228 45.008 6251
+-125.102 45.008 6420
+-124.976 45.008 6546
+-124.85 45.008 6602
+-124.724 45.008 6732
+-124.598 45.008 6738
+-124.472 45.008 6864
+-124.346 45.008 6942
+-124.22 45.008 7035
+-124.094 45.008 7059
+-123.968 45.008 7203
+-123.842 45.008 7213
+-123.716 45.008 7235
+-123.59 45.008 7325
+-123.464 45.008 7311
+-123.338 45.008 7390
+-123.212 45.008 7406
+-123.086 45.008 7426
+-122.96 45.008 7402
+-122.834 45.008 7415
+-122.708 45.008 7401
+-122.582 45.008 7375
+-122.456 45.008 7319
+-122.33 45.008 7308
+-122.204 45.008 7305
+-122.078 45.008 7230
+-121.952 45.008 7156
+-121.826 45.008 7134
+-121.7 45.008 7057
+-121.574 45.008 6963
+-121.448 45.008 6833
+-121.322 45.008 6793
+-121.196 45.008 6672
+-121.07 45.008 6513
+-120.944 45.008 6292
+-120.818 45.008 6437
+-120.692 45.008 6494
+-120.566 45.008 6626
+-120.44 45.008 6723
+-120.314 45.008 6811
+-120.188 45.008 6938
+-120.062 45.008 7028
+-119.936 45.008 7201
+-119.81 45.008 7316
+-119.684 45.008 7442
+-119.558 45.008 7520
+-119.432 45.008 7597
+-119.306 45.008 7723
+-119.18 45.008 7777
+-119.054 45.008 7857
+-118.928 45.008 7926
+-118.802 45.008 8022
+-118.676 45.008 7999
+-118.55 45.008 8042
+-118.424 45.008 8085
+-118.298 45.008 8093
+-118.172 45.008 8064
+-118.046 45.008 8023
+-117.92 45.008 7963
+-117.794 45.008 7923
+-117.668 45.008 7891
+-117.542 45.008 7818
+-117.416 45.008 7724
+-117.29 45.008 7640
+-117.164 45.008 7542
+-117.038 45.008 7440
+-116.912 45.008 7317
+-116.786 45.008 7206
+-116.66 45.008 7118
+-116.534 45.008 7061
+-116.408 45.008 6892
+-116.282 45.008 6794
+-116.156 45.008 6654
+-116.03 45.008 6648
+-115.904 45.008 6493
+-115.778 45.008 6349
+-115.652 45.008 6195
+-115.526 45.008 6010
+-115.4 45.008 5905
+-115.274 45.008 5820
+-115.148 45.008 5708
+-115.022 45.008 5561
+-114.896 45.008 5432
+-114.77 45.008 5264
+-114.644 45.008 5183
+-114.518 45.008 5085
+-114.392 45.008 4953
+-114.266 45.008 4815
+-114.14 45.008 4674
+-114.014 45.008 4505
+-113.888 45.008 4398
+-113.762 45.008 4279
+-113.636 45.008 4074
+-113.51 45.008 4165
+-113.384 45.008 4169
+-113.258 45.008 4120
+-113.132 45.008 4050
+-113.006 45.008 3977
+-112.88 45.008 3855
+-112.754 45.008 3783
+-112.628 45.008 3742
+-112.502 45.008 3699
+-112.376 45.008 3631
+-112.25 45.008 3523
+-112.124 45.008 3360
+-111.998 45.008 3131
+-111.872 45.008 2839
+-111.746 45.008 2584
+-111.62 45.008 2467
+-111.494 45.008 2503
+-111.368 45.008 2631
+-111.242 45.008 2788
+-111.116 45.008 2919
+-110.99 45.008 2992
+-110.864 45.008 3090
+-110.738 45.008 3169
+-110.612 45.008 3233
+-110.486 45.008 3259
+-110.36 45.008 3235
+-110.234 45.008 3241
+-110.108 45.008 3269
+-109.982 45.008 3293
+-109.856 45.008 3314
+-109.73 45.008 3332
+-109.604 45.008 3348
+-109.478 45.008 3362
+-109.352 45.008 3374
+-109.226 45.008 3385
+-109.1 45.008 3395
+-108.974 45.008 3284
+-108.848 45.008 3293
+-108.722 45.008 3301
+-108.596 45.008 3309
+-108.47 45.008 3316
+-108.344 45.008 3322
+-108.218 45.008 3328
+-108.092 45.008 3333
+-107.966 45.008 3338
+-107.84 45.008 3343
+-107.714 45.008 3347
+-107.588 45.008 3246
+-107.462 45.008 3183
+-107.336 45.008 3184
+-107.21 45.008 3186
+-107.084 45.008 3187
+-106.958 45.008 3188
+-106.832 45.008 3189
+-106.706 45.008 3190
+-106.58 45.008 3191
+-106.454 45.008 3192
+-106.328 45.008 3192
+-106.202 45.008 3193
+-106.076 45.008 3193
+-105.95 45.008 3194
+-105.824 45.008 3194
+-105.698 45.008 3061
+-105.572 45.008 3058
+-105.446 45.008 3054
+-105.32 45.008 3050
+-105.194 45.008 3046
+-105.068 45.008 3042
+-104.942 45.008 3037
+-104.816 45.008 3033
+-104.69 45.008 3028
+-104.564 45.008 2989
+-104.438 45.008 2774
+-104.312 45.008 2536
+-104.186 45.008 2580
+-104.06 45.008 2542
+-103.934 45.008 2543
+-103.808 45.008 2440
+-103.682 45.008 2512
+-103.556 45.008 2520
+-103.43 45.008 2537
+-103.304 45.008 2629
+-103.178 45.008 2802
+-103.052 45.008 2894
+-102.926 45.008 2896
+-102.8 45.008 2899
+-102.674 45.008 2927
+-102.548 45.008 2927
+-102.422 45.008 2929
+-102.296 45.008 2929
+-102.17 45.008 2929
+-102.044 45.008 2929
+-101.918 45.008 2930
+-101.792 45.008 3065
+-101.666 45.008 3064
+-101.54 45.008 3063
+-101.414 45.008 3063
+-101.288 45.008 3064
+-101.162 45.008 3084
+-101.036 45.008 3073
+-100.91 45.008 3036
+-100.784 45.008 3078
+-100.658 45.008 3324
+-100.532 45.008 3353
+-100.406 45.008 3351
+-100.28 45.008 3215
+-100.154 45.008 3213
+-100.028 45.008 3212
+-99.902 45.008 3211
+-99.776 45.008 3210
+-99.65 45.008 3208
+-99.524 45.008 3207
+-99.398 45.008 3185
+-99.272 45.008 3212
+-99.146 45.008 3211
+-99.02 45.008 3239
+-98.894 45.008 3216
+-98.768 45.008 3257
+-98.642 45.008 3175
+-98.516 45.008 3195
+-98.39 45.008 3198
+-98.264 45.008 3184
+-98.138 45.008 3201
+-98.012 45.008 3202
+-97.886 45.008 3205
+-97.76 45.008 3224
+-97.634 45.008 3226
+-97.508 45.008 3227
+-97.382 45.008 3317
+-97.256 45.008 3317
+-97.13 45.008 3318
+-97.004 45.008 3287
+-96.878 45.008 3373
+-96.752 45.008 3379
+-96.626 45.008 3378
+-96.5 45.008 3376
+-96.374 45.008 3376
+-96.248 45.008 3354
+-96.122 45.008 3352
+-95.996 45.008 3291
+-95.87 45.008 3404
+-95.744 45.008 3412
+-95.618 45.008 3379
+-95.492 45.008 3376
+-95.366 45.008 3373
+-95.24 45.008 3380
+-95.114 45.008 3340
+-94.988 45.008 3343
+-94.862 45.008 3337
+-94.736 45.008 3335
+-94.61 45.008 3333
+-94.484 45.008 3331
+-94.358 45.008 3329
+-94.232 45.008 3301
+-94.106 45.008 3318
+-93.98 45.008 3315
+-93.854 45.008 3314
+-93.728 45.008 3307
+-93.602 45.008 3274
+-93.476 45.008 3323
+-93.35 45.008 3313
+-93.224 45.008 3314
+-93.098 45.008 3317
+-92.972 45.008 3259
+-92.846 45.008 3262
+-92.72 45.008 3264
+-92.594 45.008 3267
+-92.468 45.008 3293
+-92.342 45.008 3294
+-92.216 45.008 3295
+-92.09 45.008 3295
+-91.964 45.008 3294
+-91.838 45.008 3251
+-91.712 45.008 3247
+-91.586 45.008 3228
+-91.46 45.008 3192
+-91.334 45.008 3179
+-91.208 45.008 3157
+-91.082 45.008 3146
+-90.956 45.008 3127
+-90.83 45.008 3112
+-90.704 45.008 3096
+-90.578 45.008 3074
+-90.452 45.008 3049
+-90.326 45.008 3038
+-90.2 45.008 3013
+-90.074 45.008 2988
+-89.948 45.008 2968
+-89.822 45.008 2952
+-89.696 45.008 2941
+-89.57 45.008 2925
+-89.444 45.008 2906
+-89.318 45.008 2856
+-89.192 45.008 2828
+-89.066 45.008 2799
+-88.94 45.008 2784
+-88.814 45.008 2760
+-88.688 45.008 2745
+-88.562 45.008 2731
+-88.436 45.008 2760
+-88.31 45.008 2748
+-88.184 45.008 2743
+-88.058 45.008 2736
+-87.932 45.008 2676
+-87.806 45.008 2640
+-87.68 45.008 2598
+-87.554 45.008 2546
+-87.428 45.008 2494
+-87.302 45.008 2439
+-87.176 45.008 2385
+-87.05 45.008 2342
+-86.924 45.008 2310
+-86.798 45.008 2294
+-86.672 45.008 2283
+-86.546 45.008 2276
+-86.42 45.008 2271
+-86.294 45.008 2269
+-86.168 45.008 2284
+-86.042 45.008 2281
+-85.916 45.008 2279
+-85.79 45.008 2280
+-85.664 45.008 2286
+-85.538 45.008 2293
+-85.412 45.008 2304
+-85.286 45.008 2315
+-85.16 45.008 2328
+-85.034 45.008 2342
+-84.908 45.008 2348
+-84.782 45.008 2364
+-84.656 45.008 2379
+-84.53 45.008 2445
+-84.404 45.008 2446
+-84.278 45.008 2462
+-84.152 45.008 2529
+-84.026 45.008 2546
+-83.9 45.008 2548
+-83.774 45.008 2585
+-83.648 45.008 2551
+-83.522 45.008 2575
+-83.396 45.008 2616
+-83.27 45.008 2578
+-83.144 45.008 2595
+-83.018 45.008 2551
+-82.892 45.008 2559
+-82.766 45.008 2577
+-82.64 45.008 2574
+-82.514 45.008 2585
+-82.388 45.008 2596
+-82.262 45.008 2567
+-82.136 45.008 2595
+-82.01 45.008 2600
+-81.884 45.008 2602
+-81.758 45.008 2610
+-81.632 45.008 2619
+-81.506 45.008 2627
+-81.38 45.008 2595
+-81.254 45.008 2597
+-81.128 45.008 2604
+-81.002 45.008 2611
+-80.876 45.008 2617
+-80.75 45.008 2620
+-80.624 45.008 2579
+-80.498 45.008 2671
+-80.372 45.008 2673
+-80.246 45.008 2682
+-80.12 45.008 2687
+-79.994 45.008 2691
+-79.868 45.008 2696
+-79.742 45.008 2717
+-79.616 45.008 2704
+-79.49 45.008 2757
+-79.364 45.008 2762
+-79.238 45.008 2758
+-79.112 45.008 2767
+-78.986 45.008 2771
+-78.86 45.008 2775
+-78.734 45.008 2768
+-78.608 45.008 2877
+-78.482 45.008 2881
+-78.356 45.008 2884
+-78.23 45.008 2888
+-78.104 45.008 2986
+-77.978 45.008 2947
+-77.852 45.008 3095
+-77.726 45.008 3097
+-77.6 45.008 3067
+-77.474 45.008 3069
+-77.348 45.008 3071
+-77.222 45.008 3072
+-77.096 45.008 3074
+-76.97 45.008 3076
+-76.844 45.008 3160
+-76.718 45.008 3158
+-76.592 45.008 3160
+-76.466 45.008 3162
+-76.34 45.008 3164
+-76.214 45.008 3113
+-76.088 45.008 3144
+-75.962 45.008 3146
+-75.836 45.008 3213
+-75.71 45.008 3134
+-75.584 45.008 3136
+-75.458 45.008 3138
+-75.332 45.008 3181
+-75.206 45.008 3140
+-75.08 45.008 3142
+-74.954 45.008 3144
+-74.828 45.008 3369
+-74.702 45.008 3319
+-74.576 45.008 3320
+-74.45 45.008 3448
+-74.324 45.008 3423
+-74.198 45.008 3424
+-74.072 45.008 3374
+-73.946 45.008 3446
+-73.82 45.008 3448
+-73.694 45.008 3449
+-73.568 45.008 3450
+-73.442 45.008 3451
+-73.316 45.008 3450
+-73.19 45.008 3451
+-73.064 45.008 3452
+-72.938 45.008 3441
+-72.812 45.008 3391
+-72.686 45.008 3386
+-72.56 45.008 3387
+-72.434 45.008 3388
+-72.308 45.008 3388
+-72.182 45.008 3389
+-72.056 45.008 3390
+-71.93 45.008 3391
+-71.804 45.008 3392
+-71.678 45.008 3393
+-71.552 45.008 3394
+-71.426 45.008 3394
+-71.3 45.008 3395
+-71.174 45.008 3396
+-71.048 45.008 3397
+-70.922 45.008 3397
+-70.796 45.008 3508
+-70.67 45.008 3509
+-70.544 45.008 3494
+-70.418 45.008 3495
+-70.292 45.008 3495
+-70.166 45.008 3496
+-70.04 45.008 3496
+-69.914 45.008 3497
+-69.788 45.008 3498
+-69.662 45.008 3498
+-69.536 45.008 3499
+-69.41 45.008 3499
+-69.284 45.008 3500
+-69.158 45.008 3537
+-69.032 45.008 3538
+-68.906 45.008 3539
+-68.78 45.008 3539
+-68.654 45.008 3540
+-68.528 45.008 3541
+-68.402 45.008 3500
+-68.276 45.008 3501
+-68.15 45.008 3501
+-68.024 45.008 3502
+-67.898 45.008 3540
+-67.772 45.008 3541
+-67.646 45.008 3541
+-67.52 45.008 3494
+-67.394 45.008 3495
+-67.268 45.008 3495
+-67.142 45.008 3631
+-67.016 45.008 3632
+-66.89 45.008 3632
+-66.764 45.008 3632
+-66.638 45.008 3633
+-66.512 45.008 3565
+-66.386 45.008 3565
+-66.26 45.008 3566
+-66.134 45.008 3566
+-66.008 45.008 3566
+-65.882 45.008 3566
+-65.756 45.008 3566
+-65.63 45.008 3566
+-65.504 45.008 3567
+-65.378 45.008 3567
+-65.252 45.008 3549
+-65.126 45.008 3535
+-128 44.956 4398
+-127.874 44.956 4415
+-127.748 44.956 4448
+-127.622 44.956 4533
+-127.496 44.956 4554
+-127.37 44.956 4600
+-127.244 44.956 4586
+-127.118 44.956 4594
+-126.992 44.956 4696
+-126.866 44.956 4866
+-126.74 44.956 5028
+-126.614 44.956 5131
+-126.488 44.956 5227
+-126.362 44.956 5297
+-126.236 44.956 5365
+-126.11 44.956 5488
+-125.984 44.956 5631
+-125.858 44.956 5768
+-125.732 44.956 5899
+-125.606 44.956 5955
+-125.48 44.956 6077
+-125.354 44.956 6208
+-125.228 44.956 6291
+-125.102 44.956 6389
+-124.976 44.956 6445
+-124.85 44.956 6545
+-124.724 44.956 6663
+-124.598 44.956 6735
+-124.472 44.956 6827
+-124.346 44.956 6897
+-124.22 44.956 6963
+-124.094 44.956 7067
+-123.968 44.956 7101
+-123.842 44.956 7206
+-123.716 44.956 7227
+-123.59 44.956 7277
+-123.464 44.956 7263
+-123.338 44.956 7305
+-123.212 44.956 7332
+-123.086 44.956 7363
+-122.96 44.956 7377
+-122.834 44.956 7358
+-122.708 44.956 7337
+-122.582 44.956 7319
+-122.456 44.956 7302
+-122.33 44.956 7269
+-122.204 44.956 7236
+-122.078 44.956 7142
+-121.952 44.956 7091
+-121.826 44.956 7036
+-121.7 44.956 7000
+-121.574 44.956 6928
+-121.448 44.956 6828
+-121.322 44.956 6729
+-121.196 44.956 6592
+-121.07 44.956 6453
+-120.944 44.956 6265
+-120.818 44.956 6296
+-120.692 44.956 6521
+-120.566 44.956 6625
+-120.44 44.956 6696
+-120.314 44.956 6826
+-120.188 44.956 6916
+-120.062 44.956 7029
+-119.936 44.956 7170
+-119.81 44.956 7293
+-119.684 44.956 7367
+-119.558 44.956 7467
+-119.432 44.956 7540
+-119.306 44.956 7649
+-119.18 44.956 7744
+-119.054 44.956 7776
+-118.928 44.956 7865
+-118.802 44.956 7917
+-118.676 44.956 7945
+-118.55 44.956 7964
+-118.424 44.956 8002
+-118.298 44.956 8028
+-118.172 44.956 7990
+-118.046 44.956 7979
+-117.92 44.956 7934
+-117.794 44.956 7901
+-117.668 44.956 7849
+-117.542 44.956 7731
+-117.416 44.956 7715
+-117.29 44.956 7601
+-117.164 44.956 7501
+-117.038 44.956 7433
+-116.912 44.956 7304
+-116.786 44.956 7157
+-116.66 44.956 7119
+-116.534 44.956 6970
+-116.408 44.956 6836
+-116.282 44.956 6761
+-116.156 44.956 6685
+-116.03 44.956 6634
+-115.904 44.956 6467
+-115.778 44.956 6293
+-115.652 44.956 6083
+-115.526 44.956 5962
+-115.4 44.956 5852
+-115.274 44.956 5801
+-115.148 44.956 5665
+-115.022 44.956 5538
+-114.896 44.956 5427
+-114.77 44.956 5239
+-114.644 44.956 5211
+-114.518 44.956 5095
+-114.392 44.956 4902
+-114.266 44.956 4796
+-114.14 44.956 4688
+-114.014 44.956 4495
+-113.888 44.956 4419
+-113.762 44.956 4328
+-113.636 44.956 4173
+-113.51 44.956 4103
+-113.384 44.956 4100
+-113.258 44.956 4110
+-113.132 44.956 4066
+-113.006 44.956 4023
+-112.88 44.956 3914
+-112.754 44.956 3837
+-112.628 44.956 3791
+-112.502 44.956 3731
+-112.376 44.956 3665
+-112.25 44.956 3571
+-112.124 44.956 3440
+-111.998 44.956 3268
+-111.872 44.956 3072
+-111.746 44.956 2880
+-111.62 44.956 2770
+-111.494 44.956 2767
+-111.368 44.956 2835
+-111.242 44.956 2929
+-111.116 44.956 3032
+-110.99 44.956 3107
+-110.864 44.956 3135
+-110.738 44.956 3202
+-110.612 44.956 3258
+-110.486 44.956 3305
+-110.36 44.956 3306
+-110.234 44.956 3250
+-110.108 44.956 3277
+-109.982 44.956 3299
+-109.856 44.956 3319
+-109.73 44.956 3336
+-109.604 44.956 3351
+-109.478 44.956 3365
+-109.352 44.956 3376
+-109.226 44.956 3387
+-109.1 44.956 3396
+-108.974 44.956 3405
+-108.848 44.956 3291
+-108.722 44.956 3299
+-108.596 44.956 3306
+-108.47 44.956 3313
+-108.344 44.956 3319
+-108.218 44.956 3325
+-108.092 44.956 3331
+-107.966 44.956 3336
+-107.84 44.956 3340
+-107.714 44.956 3345
+-107.588 44.956 3175
+-107.462 44.956 3177
+-107.336 44.956 3179
+-107.21 44.956 3180
+-107.084 44.956 3182
+-106.958 44.956 3183
+-106.832 44.956 3184
+-106.706 44.956 3185
+-106.58 44.956 3186
+-106.454 44.956 3187
+-106.328 44.956 3187
+-106.202 44.956 3188
+-106.076 44.956 3189
+-105.95 44.956 3189
+-105.824 44.956 3059
+-105.698 44.956 3056
+-105.572 44.956 3052
+-105.446 44.956 3048
+-105.32 44.956 3044
+-105.194 44.956 3040
+-105.068 44.956 3036
+-104.942 44.956 3032
+-104.816 44.956 3027
+-104.69 44.956 3022
+-104.564 44.956 2777
+-104.438 44.956 2768
+-104.312 44.956 2530
+-104.186 44.956 2575
+-104.06 44.956 2538
+-103.934 44.956 2538
+-103.808 44.956 2484
+-103.682 44.956 2474
+-103.556 44.956 2535
+-103.43 44.956 2555
+-103.304 44.956 2627
+-103.178 44.956 2771
+-103.052 44.956 2893
+-102.926 44.956 2895
+-102.8 44.956 2897
+-102.674 44.956 2925
+-102.548 44.956 2925
+-102.422 44.956 2924
+-102.296 44.956 2927
+-102.17 44.956 2927
+-102.044 44.956 2927
+-101.918 44.956 2927
+-101.792 44.956 2927
+-101.666 44.956 3062
+-101.54 44.956 3060
+-101.414 44.956 3060
+-101.288 44.956 3060
+-101.162 44.956 3070
+-101.036 44.956 3081
+-100.91 44.956 3070
+-100.784 44.956 3033
+-100.658 44.956 3075
+-100.532 44.956 3319
+-100.406 44.956 3348
+-100.28 44.956 3346
+-100.154 44.956 3211
+-100.028 44.956 3210
+-99.902 44.956 3209
+-99.776 44.956 3207
+-99.65 44.956 3206
+-99.524 44.956 3205
+-99.398 44.956 3204
+-99.272 44.956 3182
+-99.146 44.956 3209
+-99.02 44.956 3208
+-98.894 44.956 3235
+-98.768 44.956 3213
+-98.642 44.956 3253
+-98.516 44.956 3172
+-98.39 44.956 3192
+-98.264 44.956 3195
+-98.138 44.956 3182
+-98.012 44.956 3198
+-97.886 44.956 3199
+-97.76 44.956 3203
+-97.634 44.956 3222
+-97.508 44.956 3223
+-97.382 44.956 3225
+-97.256 44.956 3314
+-97.13 44.956 3314
+-97.004 44.956 3315
+-96.878 44.956 3285
+-96.752 44.956 3370
+-96.626 44.956 3375
+-96.5 44.956 3375
+-96.374 44.956 3373
+-96.248 44.956 3372
+-96.122 44.956 3351
+-95.996 44.956 3349
+-95.87 44.956 3289
+-95.744 44.956 3400
+-95.618 44.956 3406
+-95.492 44.956 3374
+-95.366 44.956 3371
+-95.24 44.956 3368
+-95.114 44.956 3374
+-94.988 44.956 3335
+-94.862 44.956 3337
+-94.736 44.956 3335
+-94.61 44.956 3329
+-94.484 44.956 3326
+-94.358 44.956 3324
+-94.232 44.956 3321
+-94.106 44.956 3295
+-93.98 44.956 3310
+-93.854 44.956 3307
+-93.728 44.956 3306
+-93.602 44.956 3300
+-93.476 44.956 3282
+-93.35 44.956 3316
+-93.224 44.956 3307
+-93.098 44.956 3309
+-92.972 44.956 3313
+-92.846 44.956 3260
+-92.72 44.956 3263
+-92.594 44.956 3267
+-92.468 44.956 3295
+-92.342 44.956 3295
+-92.216 44.956 3296
+-92.09 44.956 3297
+-91.964 44.956 3297
+-91.838 44.956 3295
+-91.712 44.956 3255
+-91.586 44.956 3251
+-91.46 44.956 3233
+-91.334 44.956 3199
+-91.208 44.956 3188
+-91.082 44.956 3168
+-90.956 44.956 3159
+-90.83 44.956 3149
+-90.704 44.956 3139
+-90.578 44.956 3116
+-90.452 44.956 3112
+-90.326 44.956 3093
+-90.2 44.956 3073
+-90.074 44.956 3050
+-89.948 44.956 3035
+-89.822 44.956 3016
+-89.696 44.956 2996
+-89.57 44.956 2972
+-89.444 44.956 2948
+-89.318 44.956 2881
+-89.192 44.956 2836
+-89.066 44.956 2795
+-88.94 44.956 2751
+-88.814 44.956 2722
+-88.688 44.956 2734
+-88.562 44.956 2743
+-88.436 44.956 2753
+-88.31 44.956 2763
+-88.184 44.956 2768
+-88.058 44.956 2753
+-87.932 44.956 2690
+-87.806 44.956 2650
+-87.68 44.956 2597
+-87.554 44.956 2539
+-87.428 44.956 2471
+-87.302 44.956 2399
+-87.176 44.956 2334
+-87.05 44.956 2281
+-86.924 44.956 2251
+-86.798 44.956 2235
+-86.672 44.956 2231
+-86.546 44.956 2231
+-86.42 44.956 2233
+-86.294 44.956 2247
+-86.168 44.956 2242
+-86.042 44.956 2238
+-85.916 44.956 2237
+-85.79 44.956 2240
+-85.664 44.956 2246
+-85.538 44.956 2257
+-85.412 44.956 2270
+-85.286 44.956 2285
+-85.16 44.956 2301
+-85.034 44.956 2309
+-84.908 44.956 2328
+-84.782 44.956 2344
+-84.656 44.956 2408
+-84.53 44.956 2413
+-84.404 44.956 2430
+-84.278 44.956 2496
+-84.152 44.956 2515
+-84.026 44.956 2519
+-83.9 44.956 2556
+-83.774 44.956 2527
+-83.648 44.956 2552
+-83.522 44.956 2592
+-83.396 44.956 2559
+-83.27 44.956 2576
+-83.144 44.956 2535
+-83.018 44.956 2545
+-82.892 44.956 2563
+-82.766 44.956 2561
+-82.64 44.956 2574
+-82.514 44.956 2585
+-82.388 44.956 2558
+-82.262 44.956 2586
+-82.136 44.956 2591
+-82.01 44.956 2594
+-81.884 44.956 2603
+-81.758 44.956 2612
+-81.632 44.956 2621
+-81.506 44.956 2590
+-81.38 44.956 2593
+-81.254 44.956 2600
+-81.128 44.956 2607
+-81.002 44.956 2613
+-80.876 44.956 2617
+-80.75 44.956 2577
+-80.624 44.956 2668
+-80.498 44.956 2670
+-80.372 44.956 2679
+-80.246 44.956 2684
+-80.12 44.956 2689
+-79.994 44.956 2694
+-79.868 44.956 2715
+-79.742 44.956 2702
+-79.616 44.956 2755
+-79.49 44.956 2760
+-79.364 44.956 2756
+-79.238 44.956 2765
+-79.112 44.956 2769
+-78.986 44.956 2773
+-78.86 44.956 2767
+-78.734 44.956 2875
+-78.608 44.956 2879
+-78.482 44.956 2883
+-78.356 44.956 2886
+-78.23 44.956 2985
+-78.104 44.956 2946
+-77.978 44.956 3093
+-77.852 44.956 3096
+-77.726 44.956 3065
+-77.6 44.956 3067
+-77.474 44.956 3069
+-77.348 44.956 3071
+-77.222 44.956 3073
+-77.096 44.956 3075
+-76.97 44.956 3159
+-76.844 44.956 3156
+-76.718 44.956 3158
+-76.592 44.956 3161
+-76.466 44.956 3163
+-76.34 44.956 3112
+-76.214 44.956 3143
+-76.088 44.956 3145
+-75.962 44.956 3212
+-75.836 44.956 3132
+-75.71 44.956 3135
+-75.584 44.956 3137
+-75.458 44.956 3179
+-75.332 44.956 3139
+-75.206 44.956 3141
+-75.08 44.956 3143
+-74.954 44.956 3368
+-74.828 44.956 3318
+-74.702 44.956 3319
+-74.576 44.956 3447
+-74.45 44.956 3422
+-74.324 44.956 3423
+-74.198 44.956 3373
+-74.072 44.956 3445
+-73.946 44.956 3447
+-73.82 44.956 3448
+-73.694 44.956 3449
+-73.568 44.956 3450
+-73.442 44.956 3449
+-73.316 44.956 3450
+-73.19 44.956 3451
+-73.064 44.956 3440
+-72.938 44.956 3390
+-72.812 44.956 3385
+-72.686 44.956 3386
+-72.56 44.956 3387
+-72.434 44.956 3388
+-72.308 44.956 3389
+-72.182 44.956 3390
+-72.056 44.956 3391
+-71.93 44.956 3391
+-71.804 44.956 3392
+-71.678 44.956 3393
+-71.552 44.956 3394
+-71.426 44.956 3395
+-71.3 44.956 3396
+-71.174 44.956 3396
+-71.048 44.956 3397
+-70.922 44.956 3508
+-70.796 44.956 3508
+-70.67 44.956 3494
+-70.544 44.956 3494
+-70.418 44.956 3495
+-70.292 44.956 3495
+-70.166 44.956 3496
+-70.04 44.956 3497
+-69.914 44.956 3497
+-69.788 44.956 3498
+-69.662 44.956 3498
+-69.536 44.956 3499
+-69.41 44.956 3500
+-69.284 44.956 3537
+-69.158 44.956 3538
+-69.032 44.956 3538
+-68.906 44.956 3539
+-68.78 44.956 3540
+-68.654 44.956 3540
+-68.528 44.956 3500
+-68.402 44.956 3500
+-68.276 44.956 3501
+-68.15 44.956 3502
+-68.024 44.956 3540
+-67.898 44.956 3540
+-67.772 44.956 3541
+-67.646 44.956 3494
+-67.52 44.956 3494
+-67.394 44.956 3495
+-67.268 44.956 3631
+-67.142 44.956 3631
+-67.016 44.956 3632
+-66.89 44.956 3632
+-66.764 44.956 3632
+-66.638 44.956 3565
+-66.512 44.956 3565
+-66.386 44.956 3565
+-66.26 44.956 3566
+-66.134 44.956 3566
+-66.008 44.956 3566
+-65.882 44.956 3566
+-65.756 44.956 3566
+-65.63 44.956 3566
+-65.504 44.956 3567
+-65.378 44.956 3548
+-65.252 44.956 3535
+-65.126 44.956 3535
+-128 44.904 4323
+-127.874 44.904 4378
+-127.748 44.904 4412
+-127.622 44.904 4478
+-127.496 44.904 4514
+-127.37 44.904 4569
+-127.244 44.904 4537
+-127.118 44.904 4473
+-126.992 44.904 4608
+-126.866 44.904 4830
+-126.74 44.904 4989
+-126.614 44.904 5124
+-126.488 44.904 5234
+-126.362 44.904 5283
+-126.236 44.904 5351
+-126.11 44.904 5441
+-125.984 44.904 5576
+-125.858 44.904 5742
+-125.732 44.904 5849
+-125.606 44.904 5852
+-125.48 44.904 6015
+-125.354 44.904 6157
+-125.228 44.904 6256
+-125.102 44.904 6347
+-124.976 44.904 6378
+-124.85 44.904 6496
+-124.724 44.904 6627
+-124.598 44.904 6634
+-124.472 44.904 6798
+-124.346 44.904 6879
+-124.22 44.904 6924
+-124.094 44.904 7014
+-123.968 44.904 7093
+-123.842 44.904 7110
+-123.716 44.904 7165
+-123.59 44.904 7214
+-123.464 44.904 7268
+-123.338 44.904 7251
+-123.212 44.904 7280
+-123.086 44.904 7305
+-122.96 44.904 7308
+-122.834 44.904 7307
+-122.708 44.904 7293
+-122.582 44.904 7269
+-122.456 44.904 7251
+-122.33 44.904 7217
+-122.204 44.904 7158
+-122.078 44.904 7129
+-121.952 44.904 7023
+-121.826 44.904 6998
+-121.7 44.904 6914
+-121.574 44.904 6852
+-121.448 44.904 6771
+-121.322 44.904 6675
+-121.196 44.904 6582
+-121.07 44.904 6473
+-120.944 44.904 6383
+-120.818 44.904 6313
+-120.692 44.904 6474
+-120.566 44.904 6575
+-120.44 44.904 6749
+-120.314 44.904 6813
+-120.188 44.904 6941
+-120.062 44.904 6985
+-119.936 44.904 7118
+-119.81 44.904 7254
+-119.684 44.904 7321
+-119.558 44.904 7438
+-119.432 44.904 7551
+-119.306 44.904 7620
+-119.18 44.904 7727
+-119.054 44.904 7755
+-118.928 44.904 7860
+-118.802 44.904 7881
+-118.676 44.904 7911
+-118.55 44.904 7938
+-118.424 44.904 7952
+-118.298 44.904 7948
+-118.172 44.904 7946
+-118.046 44.904 7943
+-117.92 44.904 7908
+-117.794 44.904 7842
+-117.668 44.904 7790
+-117.542 44.904 7712
+-117.416 44.904 7641
+-117.29 44.904 7580
+-117.164 44.904 7444
+-117.038 44.904 7364
+-116.912 44.904 7290
+-116.786 44.904 7186
+-116.66 44.904 7059
+-116.534 44.904 7006
+-116.408 44.904 6896
+-116.282 44.904 6733
+-116.156 44.904 6704
+-116.03 44.904 6578
+-115.904 44.904 6396
+-115.778 44.904 6214
+-115.652 44.904 6064
+-115.526 44.904 5965
+-115.4 44.904 5879
+-115.274 44.904 5797
+-115.148 44.904 5671
+-115.022 44.904 5580
+-114.896 44.904 5425
+-114.77 44.904 5308
+-114.644 44.904 5241
+-114.518 44.904 5056
+-114.392 44.904 4883
+-114.266 44.904 4767
+-114.14 44.904 4648
+-114.014 44.904 4519
+-113.888 44.904 4421
+-113.762 44.904 4331
+-113.636 44.904 4122
+-113.51 44.904 3940
+-113.384 44.904 4047
+-113.258 44.904 4094
+-113.132 44.904 4075
+-113.006 44.904 4020
+-112.88 44.904 3924
+-112.754 44.904 3875
+-112.628 44.904 3812
+-112.502 44.904 3763
+-112.376 44.904 3694
+-112.25 44.904 3617
+-112.124 44.904 3516
+-111.998 44.904 3392
+-111.872 44.904 3257
+-111.746 44.904 3135
+-111.62 44.904 3036
+-111.494 44.904 2999
+-111.368 44.904 3026
+-111.242 44.904 3080
+-111.116 44.904 3138
+-110.99 44.904 3204
+-110.864 44.904 3243
+-110.738 44.904 3242
+-110.612 44.904 3253
+-110.486 44.904 3291
+-110.36 44.904 3324
+-110.234 44.904 3352
+-110.108 44.904 3287
+-109.982 44.904 3308
+-109.856 44.904 3326
+-109.73 44.904 3342
+-109.604 44.904 3356
+-109.478 44.904 3368
+-109.352 44.904 3379
+-109.226 44.904 3389
+-109.1 44.904 3398
+-108.974 44.904 3261
+-108.848 44.904 3269
+-108.722 44.904 3277
+-108.596 44.904 3283
+-108.47 44.904 3290
+-108.344 44.904 3295
+-108.218 44.904 3301
+-108.092 44.904 3269
+-107.966 44.904 3273
+-107.84 44.904 3277
+-107.714 44.904 3168
+-107.588 44.904 3170
+-107.462 44.904 3172
+-107.336 44.904 3173
+-107.21 44.904 3175
+-107.084 44.904 3176
+-106.958 44.904 3178
+-106.832 44.904 3179
+-106.706 44.904 3180
+-106.58 44.904 3181
+-106.454 44.904 3182
+-106.328 44.904 3183
+-106.202 44.904 3183
+-106.076 44.904 3184
+-105.95 44.904 3185
+-105.824 44.904 3054
+-105.698 44.904 3050
+-105.572 44.904 3046
+-105.446 44.904 3043
+-105.32 44.904 3039
+-105.194 44.904 3035
+-105.068 44.904 3030
+-104.942 44.904 3026
+-104.816 44.904 3021
+-104.69 44.904 3016
+-104.564 44.904 2771
+-104.438 44.904 2761
+-104.312 44.904 2524
+-104.186 44.904 2570
+-104.06 44.904 2533
+-103.934 44.904 2534
+-103.808 44.904 2481
+-103.682 44.904 2472
+-103.556 44.904 2593
+-103.43 44.904 2622
+-103.304 44.904 2627
+-103.178 44.904 2770
+-103.052 44.904 2857
+-102.926 44.904 2894
+-102.8 44.904 3008
+-102.674 44.904 3007
+-102.548 44.904 2922
+-102.422 44.904 2922
+-102.296 44.904 2922
+-102.17 44.904 2924
+-102.044 44.904 2924
+-101.918 44.904 2924
+-101.792 44.904 2924
+-101.666 44.904 2925
+-101.54 44.904 3059
+-101.414 44.904 3057
+-101.288 44.904 3057
+-101.162 44.904 3057
+-101.036 44.904 3057
+-100.91 44.904 3077
+-100.784 44.904 3066
+-100.658 44.904 3030
+-100.532 44.904 3072
+-100.406 44.904 3315
+-100.28 44.904 3344
+-100.154 44.904 3341
+-100.028 44.904 3208
+-99.902 44.904 3207
+-99.776 44.904 3205
+-99.65 44.904 3204
+-99.524 44.904 3203
+-99.398 44.904 3201
+-99.272 44.904 3200
+-99.146 44.904 3179
+-99.02 44.904 3205
+-98.894 44.904 3204
+-98.768 44.904 3231
+-98.642 44.904 3209
+-98.516 44.904 3249
+-98.39 44.904 3169
+-98.264 44.904 3189
+-98.138 44.904 3192
+-98.012 44.904 3179
+-97.886 44.904 3195
+-97.76 44.904 3196
+-97.634 44.904 3200
+-97.508 44.904 3219
+-97.382 44.904 3221
+-97.256 44.904 3222
+-97.13 44.904 3311
+-97.004 44.904 3311
+-96.878 44.904 3312
+-96.752 44.904 3282
+-96.626 44.904 3366
+-96.5 44.904 3372
+-96.374 44.904 3371
+-96.248 44.904 3369
+-96.122 44.904 3369
+-95.996 44.904 3348
+-95.87 44.904 3346
+-95.744 44.904 3287
+-95.618 44.904 3395
+-95.492 44.904 3401
+-95.366 44.904 3369
+-95.24 44.904 3365
+-95.114 44.904 3362
+-94.988 44.904 3367
+-94.862 44.904 3329
+-94.736 44.904 3331
+-94.61 44.904 3324
+-94.484 44.904 3321
+-94.358 44.904 3318
+-94.232 44.904 3315
+-94.106 44.904 3313
+-93.98 44.904 3287
+-93.854 44.904 3301
+-93.728 44.904 3297
+-93.602 44.904 3297
+-93.476 44.904 3291
+-93.35 44.904 3275
+-93.224 44.904 3308
+-93.098 44.904 3301
+-92.972 44.904 3305
+-92.846 44.904 3310
+-92.72 44.904 3261
+-92.594 44.904 3266
+-92.468 44.904 3294
+-92.342 44.904 3297
+-92.216 44.904 3297
+-92.09 44.904 3299
+-91.964 44.904 3299
+-91.838 44.904 3298
+-91.712 44.904 3295
+-91.586 44.904 3292
+-91.46 44.904 3254
+-91.334 44.904 3237
+-91.208 44.904 3236
+-91.082 44.904 3198
+-90.956 44.904 3179
+-90.83 44.904 3184
+-90.704 44.904 3177
+-90.578 44.904 3164
+-90.452 44.904 3151
+-90.326 44.904 3137
+-90.2 44.904 3121
+-90.074 44.904 3101
+-89.948 44.904 3087
+-89.822 44.904 3066
+-89.696 44.904 3043
+-89.57 44.904 3019
+-89.444 44.904 2981
+-89.318 44.904 2930
+-89.192 44.904 2850
+-89.066 44.904 2774
+-88.94 44.904 2702
+-88.814 44.904 2669
+-88.688 44.904 2692
+-88.562 44.904 2739
+-88.436 44.904 2760
+-88.31 44.904 2785
+-88.184 44.904 2787
+-88.058 44.904 2772
+-87.932 44.904 2706
+-87.806 44.904 2660
+-87.68 44.904 2602
+-87.554 44.904 2529
+-87.428 44.904 2443
+-87.302 44.904 2355
+-87.176 44.904 2271
+-87.05 44.904 2210
+-86.924 44.904 2175
+-86.798 44.904 2168
+-86.672 44.904 2176
+-86.546 44.904 2188
+-86.42 44.904 2206
+-86.294 44.904 2203
+-86.168 44.904 2196
+-86.042 44.904 2190
+-85.916 44.904 2189
+-85.79 44.904 2192
+-85.664 44.904 2203
+-85.538 44.904 2217
+-85.412 44.904 2234
+-85.286 44.904 2252
+-85.16 44.904 2265
+-85.034 44.904 2286
+-84.908 44.904 2305
+-84.782 44.904 2368
+-84.656 44.904 2376
+-84.53 44.904 2396
+-84.404 44.904 2459
+-84.278 44.904 2480
+-84.152 44.904 2488
+-84.026 44.904 2525
+-83.9 44.904 2500
+-83.774 44.904 2526
+-83.648 44.904 2567
+-83.522 44.904 2537
+-83.396 44.904 2556
+-83.27 44.904 2518
+-83.144 44.904 2529
+-83.018 44.904 2548
+-82.892 44.904 2548
+-82.766 44.904 2562
+-82.64 44.904 2574
+-82.514 44.904 2548
+-82.388 44.904 2576
+-82.262 44.904 2583
+-82.136 44.904 2586
+-82.01 44.904 2596
+-81.884 44.904 2605
+-81.758 44.904 2614
+-81.632 44.904 2585
+-81.506 44.904 2588
+-81.38 44.904 2596
+-81.254 44.904 2603
+-81.128 44.904 2610
+-81.002 44.904 2614
+-80.876 44.904 2574
+-80.75 44.904 2665
+-80.624 44.904 2667
+-80.498 44.904 2676
+-80.372 44.904 2682
+-80.246 44.904 2687
+-80.12 44.904 2691
+-79.994 44.904 2712
+-79.868 44.904 2700
+-79.742 44.904 2753
+-79.616 44.904 2758
+-79.49 44.904 2754
+-79.364 44.904 2763
+-79.238 44.904 2768
+-79.112 44.904 2772
+-78.986 44.904 2765
+-78.86 44.904 2873
+-78.734 44.904 2877
+-78.608 44.904 2881
+-78.482 44.904 2885
+-78.356 44.904 2983
+-78.23 44.904 2945
+-78.104 44.904 3091
+-77.978 44.904 3094
+-77.852 44.904 3064
+-77.726 44.904 3066
+-77.6 44.904 3068
+-77.474 44.904 3070
+-77.348 44.904 3072
+-77.222 44.904 3074
+-77.096 44.904 3157
+-76.97 44.904 3155
+-76.844 44.904 3157
+-76.718 44.904 3159
+-76.592 44.904 3161
+-76.466 44.904 3111
+-76.34 44.904 3142
+-76.214 44.904 3144
+-76.088 44.904 3210
+-75.962 44.904 3131
+-75.836 44.904 3133
+-75.71 44.904 3136
+-75.584 44.904 3178
+-75.458 44.904 3138
+-75.332 44.904 3140
+-75.206 44.904 3142
+-75.08 44.904 3366
+-74.954 44.904 3317
+-74.828 44.904 3318
+-74.702 44.904 3446
+-74.576 44.904 3421
+-74.45 44.904 3422
+-74.324 44.904 3372
+-74.198 44.904 3444
+-74.072 44.904 3446
+-73.946 44.904 3447
+-73.82 44.904 3448
+-73.694 44.904 3449
+-73.568 44.904 3448
+-73.442 44.904 3450
+-73.316 44.904 3451
+-73.19 44.904 3440
+-73.064 44.904 3390
+-72.938 44.904 3384
+-72.812 44.904 3385
+-72.686 44.904 3386
+-72.56 44.904 3387
+-72.434 44.904 3388
+-72.308 44.904 3389
+-72.182 44.904 3390
+-72.056 44.904 3391
+-71.93 44.904 3392
+-71.804 44.904 3393
+-71.678 44.904 3393
+-71.552 44.904 3394
+-71.426 44.904 3395
+-71.3 44.904 3396
+-71.174 44.904 3397
+-71.048 44.904 3507
+-70.922 44.904 3508
+-70.796 44.904 3493
+-70.67 44.904 3494
+-70.544 44.904 3494
+-70.418 44.904 3495
+-70.292 44.904 3496
+-70.166 44.904 3496
+-70.04 44.904 3497
+-69.914 44.904 3497
+-69.788 44.904 3498
+-69.662 44.904 3499
+-69.536 44.904 3499
+-69.41 44.904 3536
+-69.284 44.904 3537
+-69.158 44.904 3538
+-69.032 44.904 3539
+-68.906 44.904 3539
+-68.78 44.904 3540
+-68.654 44.904 3499
+-68.528 44.904 3500
+-68.402 44.904 3501
+-68.276 44.904 3501
+-68.15 44.904 3539
+-68.024 44.904 3540
+-67.898 44.904 3541
+-67.772 44.904 3493
+-67.646 44.904 3494
+-67.52 44.904 3495
+-67.394 44.904 3631
+-67.268 44.904 3631
+-67.142 44.904 3631
+-67.016 44.904 3632
+-66.89 44.904 3632
+-66.764 44.904 3565
+-66.638 44.904 3565
+-66.512 44.904 3565
+-66.386 44.904 3565
+-66.26 44.904 3566
+-66.134 44.904 3566
+-66.008 44.904 3566
+-65.882 44.904 3566
+-65.756 44.904 3566
+-65.63 44.904 3566
+-65.504 44.904 3548
+-65.378 44.904 3535
+-65.252 44.904 3535
+-65.126 44.904 3535
+-128 44.852 4275
+-127.874 44.852 4307
+-127.748 44.852 4365
+-127.622 44.852 4424
+-127.496 44.852 4471
+-127.37 44.852 4498
+-127.244 44.852 4529
+-127.118 44.852 4531
+-126.992 44.852 4627
+-126.866 44.852 4805
+-126.74 44.852 4972
+-126.614 44.852 5085
+-126.488 44.852 5197
+-126.362 44.852 5265
+-126.236 44.852 5361
+-126.11 44.852 5458
+-125.984 44.852 5527
+-125.858 44.852 5700
+-125.732 44.852 5798
+-125.606 44.852 5860
+-125.48 44.852 5992
+-125.354 44.852 6060
+-125.228 44.852 6201
+-125.102 44.852 6324
+-124.976 44.852 6397
+-124.85 44.852 6437
+-124.724 44.852 6545
+-124.598 44.852 6650
+-124.472 44.852 6746
+-124.346 44.852 6760
+-124.22 44.852 6883
+-124.094 44.852 6989
+-123.968 44.852 7024
+-123.842 44.852 7082
+-123.716 44.852 7072
+-123.59 44.852 7150
+-123.464 44.852 7152
+-123.338 44.852 7204
+-123.212 44.852 7219
+-123.086 44.852 7238
+-122.96 44.852 7239
+-122.834 44.852 7247
+-122.708 44.852 7237
+-122.582 44.852 7246
+-122.456 44.852 7211
+-122.33 44.852 7158
+-122.204 44.852 7099
+-122.078 44.852 7058
+-121.952 44.852 7013
+-121.826 44.852 6899
+-121.7 44.852 6873
+-121.574 44.852 6858
+-121.448 44.852 6711
+-121.322 44.852 6632
+-121.196 44.852 6590
+-121.07 44.852 6486
+-120.944 44.852 6392
+-120.818 44.852 6370
+-120.692 44.852 6397
+-120.566 44.852 6601
+-120.44 44.852 6688
+-120.314 44.852 6841
+-120.188 44.852 6874
+-120.062 44.852 7000
+-119.936 44.852 7149
+-119.81 44.852 7196
+-119.684 44.852 7335
+-119.558 44.852 7379
+-119.432 44.852 7447
+-119.306 44.852 7587
+-119.18 44.852 7654
+-119.054 44.852 7695
+-118.928 44.852 7763
+-118.802 44.852 7845
+-118.676 44.852 7847
+-118.55 44.852 7902
+-118.424 44.852 7928
+-118.298 44.852 7897
+-118.172 44.852 7875
+-118.046 44.852 7871
+-117.92 44.852 7850
+-117.794 44.852 7778
+-117.668 44.852 7731
+-117.542 44.852 7665
+-117.416 44.852 7588
+-117.29 44.852 7483
+-117.164 44.852 7446
+-117.038 44.852 7297
+-116.912 44.852 7179
+-116.786 44.852 7174
+-116.66 44.852 7022
+-116.534 44.852 6914
+-116.408 44.852 6823
+-116.282 44.852 6692
+-116.156 44.852 6646
+-116.03 44.852 6487
+-115.904 44.852 6354
+-115.778 44.852 6170
+-115.652 44.852 6105
+-115.526 44.852 6021
+-115.4 44.852 5868
+-115.274 44.852 5806
+-115.148 44.852 5649
+-115.022 44.852 5529
+-114.896 44.852 5428
+-114.77 44.852 5338
+-114.644 44.852 5208
+-114.518 44.852 4994
+-114.392 44.852 4828
+-114.266 44.852 4734
+-114.14 44.852 4635
+-114.014 44.852 4540
+-113.888 44.852 4406
+-113.762 44.852 4298
+-113.636 44.852 4159
+-113.51 44.852 4071
+-113.384 44.852 4080
+-113.258 44.852 4086
+-113.132 44.852 4063
+-113.006 44.852 4035
+-112.88 44.852 3917
+-112.754 44.852 3873
+-112.628 44.852 3831
+-112.502 44.852 3772
+-112.376 44.852 3725
+-112.25 44.852 3654
+-112.124 44.852 3580
+-111.998 44.852 3492
+-111.872 44.852 3397
+-111.746 44.852 3311
+-111.62 44.852 3249
+-111.494 44.852 3196
+-111.368 44.852 3184
+-111.242 44.852 3210
+-111.116 44.852 3247
+-110.99 44.852 3281
+-110.864 44.852 3290
+-110.738 44.852 3273
+-110.612 44.852 3286
+-110.486 44.852 3317
+-110.36 44.852 3344
+-110.234 44.852 3368
+-110.108 44.852 3295
+-109.982 44.852 3317
+-109.856 44.852 3334
+-109.73 44.852 3348
+-109.604 44.852 3361
+-109.478 44.852 3373
+-109.352 44.852 3383
+-109.226 44.852 3393
+-109.1 44.852 3251
+-108.974 44.852 3260
+-108.848 44.852 3268
+-108.722 44.852 3275
+-108.596 44.852 3282
+-108.47 44.852 3288
+-108.344 44.852 3294
+-108.218 44.852 3262
+-108.092 44.852 3266
+-107.966 44.852 3270
+-107.84 44.852 3160
+-107.714 44.852 3162
+-107.588 44.852 3164
+-107.462 44.852 3166
+-107.336 44.852 3168
+-107.21 44.852 3170
+-107.084 44.852 3171
+-106.958 44.852 3172
+-106.832 44.852 3174
+-106.706 44.852 3175
+-106.58 44.852 3176
+-106.454 44.852 3177
+-106.328 44.852 3178
+-106.202 44.852 3179
+-106.076 44.852 3179
+-105.95 44.852 3180
+-105.824 44.852 3048
+-105.698 44.852 3044
+-105.572 44.852 3041
+-105.446 44.852 3037
+-105.32 44.852 3033
+-105.194 44.852 3029
+-105.068 44.852 3024
+-104.942 44.852 3020
+-104.816 44.852 3015
+-104.69 44.852 3010
+-104.564 44.852 2969
+-104.438 44.852 2755
+-104.312 44.852 2518
+-104.186 44.852 2465
+-104.06 44.852 2528
+-103.934 44.852 2572
+-103.808 44.852 2478
+-103.682 44.852 2470
+-103.556 44.852 2591
+-103.43 44.852 2621
+-103.304 44.852 2627
+-103.178 44.852 2769
+-103.052 44.852 2856
+-102.926 44.852 2858
+-102.8 44.852 3006
+-102.674 44.852 3005
+-102.548 44.852 3004
+-102.422 44.852 2920
+-102.296 44.852 2919
+-102.17 44.852 2919
+-102.044 44.852 2922
+-101.918 44.852 2922
+-101.792 44.852 2922
+-101.666 44.852 2922
+-101.54 44.852 2922
+-101.414 44.852 3055
+-101.288 44.852 3054
+-101.162 44.852 3053
+-101.036 44.852 3053
+-100.91 44.852 3063
+-100.784 44.852 3074
+-100.658 44.852 3063
+-100.532 44.852 3028
+-100.406 44.852 3069
+-100.28 44.852 3311
+-100.154 44.852 3339
+-100.028 44.852 3336
+-99.902 44.852 3204
+-99.776 44.852 3203
+-99.65 44.852 3202
+-99.524 44.852 3200
+-99.398 44.852 3199
+-99.272 44.852 3197
+-99.146 44.852 3196
+-99.02 44.852 3175
+-98.894 44.852 3201
+-98.768 44.852 3200
+-98.642 44.852 3227
+-98.516 44.852 3205
+-98.39 44.852 3245
+-98.264 44.852 3166
+-98.138 44.852 3185
+-98.012 44.852 3189
+-97.886 44.852 3176
+-97.76 44.852 3192
+-97.634 44.852 3194
+-97.508 44.852 3198
+-97.382 44.852 3217
+-97.256 44.852 3218
+-97.13 44.852 3220
+-97.004 44.852 3307
+-96.878 44.852 3308
+-96.752 44.852 3309
+-96.626 44.852 3280
+-96.5 44.852 3363
+-96.374 44.852 3368
+-96.248 44.852 3368
+-96.122 44.852 3366
+-95.996 44.852 3365
+-95.87 44.852 3345
+-95.744 44.852 3342
+-95.618 44.852 3285
+-95.492 44.852 3389
+-95.366 44.852 3395
+-95.24 44.852 3363
+-95.114 44.852 3359
+-94.988 44.852 3355
+-94.862 44.852 3360
+-94.736 44.852 3322
+-94.61 44.852 3323
+-94.484 44.852 3320
+-94.358 44.852 3313
+-94.232 44.852 3309
+-94.106 44.852 3306
+-93.98 44.852 3302
+-93.854 44.852 3277
+-93.728 44.852 3290
+-93.602 44.852 3286
+-93.476 44.852 3286
+-93.35 44.852 3282
+-93.224 44.852 3268
+-93.098 44.852 3300
+-92.972 44.852 3295
+-92.846 44.852 3301
+-92.72 44.852 3308
+-92.594 44.852 3265
+-92.468 44.852 3294
+-92.342 44.852 3298
+-92.216 44.852 3300
+-92.09 44.852 3300
+-91.964 44.852 3300
+-91.838 44.852 3299
+-91.712 44.852 3296
+-91.586 44.852 3292
+-91.46 44.852 3287
+-91.334 44.852 3272
+-91.208 44.852 3238
+-91.082 44.852 3237
+-90.956 44.852 3206
+-90.83 44.852 3201
+-90.704 44.852 3199
+-90.578 44.852 3199
+-90.452 44.852 3183
+-90.326 44.852 3174
+-90.2 44.852 3161
+-90.074 44.852 3148
+-89.948 44.852 3131
+-89.822 44.852 3110
+-89.696 44.852 3091
+-89.57 44.852 3058
+-89.444 44.852 3015
+-89.318 44.852 2966
+-89.192 44.852 2869
+-89.066 44.852 2774
+-88.94 44.852 2677
+-88.814 44.852 2634
+-88.688 44.852 2671
+-88.562 44.852 2740
+-88.436 44.852 2775
+-88.31 44.852 2807
+-88.184 44.852 2810
+-88.058 44.852 2794
+-87.932 44.852 2763
+-87.806 44.852 2677
+-87.68 44.852 2610
+-87.554 44.852 2520
+-87.428 44.852 2420
+-87.302 44.852 2309
+-87.176 44.852 2207
+-87.05 44.852 2126
+-86.924 44.852 2090
+-86.798 44.852 2096
+-86.672 44.852 2123
+-86.546 44.852 2156
+-86.42 44.852 2163
+-86.294 44.852 2157
+-86.168 44.852 2145
+-86.042 44.852 2135
+-85.916 44.852 2133
+-85.79 44.852 2141
+-85.664 44.852 2154
+-85.538 44.852 2174
+-85.412 44.852 2196
+-85.286 44.852 2213
+-85.16 44.852 2238
+-85.034 44.852 2261
+-84.908 44.852 2322
+-84.782 44.852 2334
+-84.656 44.852 2357
+-84.53 44.852 2419
+-84.404 44.852 2442
+-84.278 44.852 2453
+-84.152 44.852 2491
+-84.026 44.852 2471
+-83.9 44.852 2498
+-83.774 44.852 2539
+-83.648 44.852 2514
+-83.522 44.852 2535
+-83.396 44.852 2500
+-83.27 44.852 2513
+-83.144 44.852 2533
+-83.018 44.852 2534
+-82.892 44.852 2549
+-82.766 44.852 2562
+-82.64 44.852 2538
+-82.514 44.852 2566
+-82.388 44.852 2573
+-82.262 44.852 2577
+-82.136 44.852 2588
+-82.01 44.852 2598
+-81.884 44.852 2608
+-81.758 44.852 2579
+-81.632 44.852 2583
+-81.506 44.852 2591
+-81.38 44.852 2599
+-81.254 44.852 2606
+-81.128 44.852 2611
+-81.002 44.852 2571
+-80.876 44.852 2661
+-80.75 44.852 2664
+-80.624 44.852 2673
+-80.498 44.852 2679
+-80.372 44.852 2684
+-80.246 44.852 2689
+-80.12 44.852 2710
+-79.994 44.852 2698
+-79.868 44.852 2750
+-79.742 44.852 2756
+-79.616 44.852 2752
+-79.49 44.852 2761
+-79.364 44.852 2766
+-79.238 44.852 2770
+-79.112 44.852 2764
+-78.986 44.852 2872
+-78.86 44.852 2876
+-78.734 44.852 2880
+-78.608 44.852 2883
+-78.482 44.852 2981
+-78.356 44.852 2943
+-78.23 44.852 3090
+-78.104 44.852 3092
+-77.978 44.852 3062
+-77.852 44.852 3064
+-77.726 44.852 3066
+-77.6 44.852 3068
+-77.474 44.852 3070
+-77.348 44.852 3072
+-77.222 44.852 3155
+-77.096 44.852 3153
+-76.97 44.852 3155
+-76.844 44.852 3158
+-76.718 44.852 3160
+-76.592 44.852 3110
+-76.466 44.852 3140
+-76.34 44.852 3143
+-76.214 44.852 3209
+-76.088 44.852 3130
+-75.962 44.852 3132
+-75.836 44.852 3135
+-75.71 44.852 3177
+-75.584 44.852 3137
+-75.458 44.852 3139
+-75.332 44.852 3141
+-75.206 44.852 3365
+-75.08 44.852 3316
+-74.954 44.852 3317
+-74.828 44.852 3444
+-74.702 44.852 3420
+-74.576 44.852 3421
+-74.45 44.852 3371
+-74.324 44.852 3443
+-74.198 44.852 3445
+-74.072 44.852 3446
+-73.946 44.852 3447
+-73.82 44.852 3448
+-73.694 44.852 3447
+-73.568 44.852 3449
+-73.442 44.852 3450
+-73.316 44.852 3439
+-73.19 44.852 3389
+-73.064 44.852 3384
+-72.938 44.852 3385
+-72.812 44.852 3386
+-72.686 44.852 3387
+-72.56 44.852 3388
+-72.434 44.852 3389
+-72.308 44.852 3389
+-72.182 44.852 3390
+-72.056 44.852 3391
+-71.93 44.852 3392
+-71.804 44.852 3393
+-71.678 44.852 3394
+-71.552 44.852 3395
+-71.426 44.852 3395
+-71.3 44.852 3396
+-71.174 44.852 3507
+-71.048 44.852 3507
+-70.922 44.852 3493
+-70.796 44.852 3493
+-70.67 44.852 3494
+-70.544 44.852 3495
+-70.418 44.852 3495
+-70.292 44.852 3496
+-70.166 44.852 3496
+-70.04 44.852 3497
+-69.914 44.852 3498
+-69.788 44.852 3498
+-69.662 44.852 3499
+-69.536 44.852 3536
+-69.41 44.852 3537
+-69.284 44.852 3537
+-69.158 44.852 3538
+-69.032 44.852 3539
+-68.906 44.852 3540
+-68.78 44.852 3499
+-68.654 44.852 3500
+-68.528 44.852 3500
+-68.402 44.852 3501
+-68.276 44.852 3539
+-68.15 44.852 3539
+-68.024 44.852 3540
+-67.898 44.852 3493
+-67.772 44.852 3494
+-67.646 44.852 3494
+-67.52 44.852 3631
+-67.394 44.852 3631
+-67.268 44.852 3631
+-67.142 44.852 3631
+-67.016 44.852 3632
+-66.89 44.852 3565
+-66.764 44.852 3565
+-66.638 44.852 3565
+-66.512 44.852 3565
+-66.386 44.852 3565
+-66.26 44.852 3566
+-66.134 44.852 3566
+-66.008 44.852 3566
+-65.882 44.852 3566
+-65.756 44.852 3566
+-65.63 44.852 3548
+-65.504 44.852 3535
+-65.378 44.852 3535
+-65.252 44.852 3535
+-65.126 44.852 3535
+-128 44.8 4219
+-127.874 44.8 4271
+-127.748 44.8 4293
+-127.622 44.8 4341
+-127.496 44.8 4392
+-127.37 44.8 4450
+-127.244 44.8 4470
+-127.118 44.8 4494
+-126.992 44.8 4567
+-126.866 44.8 4727
+-126.74 44.8 4925
+-126.614 44.8 5040
+-126.488 44.8 5132
+-126.362 44.8 5214
+-126.236 44.8 5342
+-126.11 44.8 5424
+-125.984 44.8 5443
+-125.858 44.8 5600
+-125.732 44.8 5775
+-125.606 44.8 5898
+-125.48 44.8 5921
+-125.354 44.8 6062
+-125.228 44.8 6163
+-125.102 44.8 6277
+-124.976 44.8 6335
+-124.85 44.8 6393
+-124.724 44.8 6479
+-124.598 44.8 6560
+-124.472 44.8 6683
+-124.346 44.8 6758
+-124.22 44.8 6832
+-124.094 44.8 6886
+-123.968 44.8 6931
+-123.842 44.8 6996
+-123.716 44.8 7043
+-123.59 44.8 7084
+-123.464 44.8 7142
+-123.338 44.8 7133
+-123.212 44.8 7157
+-123.086 44.8 7178
+-122.96 44.8 7197
+-122.834 44.8 7184
+-122.708 44.8 7191
+-122.582 44.8 7177
+-122.456 44.8 7134
+-122.33 44.8 7097
+-122.204 44.8 7099
+-122.078 44.8 7011
+-121.952 44.8 6938
+-121.826 44.8 6882
+-121.7 44.8 6813
+-121.574 44.8 6753
+-121.448 44.8 6661
+-121.322 44.8 6591
+-121.196 44.8 6516
+-121.07 44.8 6436
+-120.944 44.8 6332
+-120.818 44.8 6259
+-120.692 44.8 6417
+-120.566 44.8 6548
+-120.44 44.8 6640
+-120.314 44.8 6753
+-120.188 44.8 6881
+-120.062 44.8 6939
+-119.936 44.8 7072
+-119.81 44.8 7156
+-119.684 44.8 7257
+-119.558 44.8 7363
+-119.432 44.8 7459
+-119.306 44.8 7502
+-119.18 44.8 7559
+-119.054 44.8 7670
+-118.928 44.8 7720
+-118.802 44.8 7765
+-118.676 44.8 7812
+-118.55 44.8 7852
+-118.424 44.8 7865
+-118.298 44.8 7833
+-118.172 44.8 7834
+-118.046 44.8 7796
+-117.92 44.8 7784
+-117.794 44.8 7713
+-117.668 44.8 7730
+-117.542 44.8 7600
+-117.416 44.8 7563
+-117.29 44.8 7441
+-117.164 44.8 7398
+-117.038 44.8 7330
+-116.912 44.8 7209
+-116.786 44.8 7108
+-116.66 44.8 7022
+-116.534 44.8 6874
+-116.408 44.8 6770
+-116.282 44.8 6675
+-116.156 44.8 6590
+-116.03 44.8 6441
+-115.904 44.8 6331
+-115.778 44.8 6162
+-115.652 44.8 6106
+-115.526 44.8 5987
+-115.4 44.8 5842
+-115.274 44.8 5711
+-115.148 44.8 5563
+-115.022 44.8 5425
+-114.896 44.8 5289
+-114.77 44.8 5365
+-114.644 44.8 5212
+-114.518 44.8 5023
+-114.392 44.8 4830
+-114.266 44.8 4706
+-114.14 44.8 4590
+-114.014 44.8 4553
+-113.888 44.8 4374
+-113.762 44.8 4241
+-113.636 44.8 4163
+-113.51 44.8 4128
+-113.384 44.8 4107
+-113.258 44.8 4084
+-113.132 44.8 4045
+-113.006 44.8 3996
+-112.88 44.8 3912
+-112.754 44.8 3850
+-112.628 44.8 3790
+-112.502 44.8 3763
+-112.376 44.8 3731
+-112.25 44.8 3689
+-112.124 44.8 3628
+-111.998 44.8 3566
+-111.872 44.8 3499
+-111.746 44.8 3437
+-111.62 44.8 3389
+-111.494 44.8 3361
+-111.368 44.8 3325
+-111.242 44.8 3318
+-111.116 44.8 3337
+-110.99 44.8 3334
+-110.864 44.8 3346
+-110.738 44.8 3373
+-110.612 44.8 3342
+-110.486 44.8 3344
+-110.36 44.8 3366
+-110.234 44.8 3386
+-110.108 44.8 3301
+-109.982 44.8 3324
+-109.856 44.8 3330
+-109.73 44.8 3343
+-109.604 44.8 3354
+-109.478 44.8 3378
+-109.352 44.8 3388
+-109.226 44.8 3242
+-109.1 44.8 3251
+-108.974 44.8 3259
+-108.848 44.8 3267
+-108.722 44.8 3274
+-108.596 44.8 3281
+-108.47 44.8 3287
+-108.344 44.8 3255
+-108.218 44.8 3259
+-108.092 44.8 3263
+-107.966 44.8 3152
+-107.84 44.8 3154
+-107.714 44.8 3157
+-107.588 44.8 3159
+-107.462 44.8 3161
+-107.336 44.8 3163
+-107.21 44.8 3164
+-107.084 44.8 3166
+-106.958 44.8 3167
+-106.832 44.8 3168
+-106.706 44.8 3170
+-106.58 44.8 3171
+-106.454 44.8 3172
+-106.328 44.8 3173
+-106.202 44.8 3174
+-106.076 44.8 3175
+-105.95 44.8 3176
+-105.824 44.8 3042
+-105.698 44.8 3039
+-105.572 44.8 3035
+-105.446 44.8 3031
+-105.32 44.8 3027
+-105.194 44.8 3023
+-105.068 44.8 3018
+-104.942 44.8 3014
+-104.816 44.8 3009
+-104.69 44.8 3004
+-104.564 44.8 2785
+-104.438 44.8 2734
+-104.312 44.8 2539
+-104.186 44.8 2559
+-104.06 44.8 2552
+-103.934 44.8 2582
+-103.808 44.8 2475
+-103.682 44.8 2468
+-103.556 44.8 2589
+-103.43 44.8 2637
+-103.304 44.8 2691
+-103.178 44.8 2805
+-103.052 44.8 2854
+-102.926 44.8 2856
+-102.8 44.8 2945
+-102.674 44.8 3002
+-102.548 44.8 3001
+-102.422 44.8 3000
+-102.296 44.8 2917
+-102.17 44.8 2916
+-102.044 44.8 2916
+-101.918 44.8 2919
+-101.792 44.8 2919
+-101.666 44.8 2919
+-101.54 44.8 2919
+-101.414 44.8 2919
+-101.288 44.8 3052
+-101.162 44.8 3050
+-101.036 44.8 3050
+-100.91 44.8 3050
+-100.784 44.8 3050
+-100.658 44.8 3070
+-100.532 44.8 3060
+-100.406 44.8 3025
+-100.28 44.8 3066
+-100.154 44.8 3306
+-100.028 44.8 3334
+-99.902 44.8 3331
+-99.776 44.8 3201
+-99.65 44.8 3199
+-99.524 44.8 3198
+-99.398 44.8 3196
+-99.272 44.8 3195
+-99.146 44.8 3193
+-99.02 44.8 3192
+-98.894 44.8 3172
+-98.768 44.8 3197
+-98.642 44.8 3196
+-98.516 44.8 3223
+-98.39 44.8 3201
+-98.264 44.8 3240
+-98.138 44.8 3163
+-98.012 44.8 3182
+-97.886 44.8 3185
+-97.76 44.8 3173
+-97.634 44.8 3189
+-97.508 44.8 3191
+-97.382 44.8 3195
+-97.256 44.8 3214
+-97.13 44.8 3216
+-97.004 44.8 3218
+-96.878 44.8 3304
+-96.752 44.8 3305
+-96.626 44.8 3306
+-96.5 44.8 3278
+-96.374 44.8 3360
+-96.248 44.8 3365
+-96.122 44.8 3364
+-95.996 44.8 3362
+-95.87 44.8 3361
+-95.744 44.8 3341
+-95.618 44.8 3339
+-95.492 44.8 3283
+-95.366 44.8 3383
+-95.24 44.8 3388
+-95.114 44.8 3357
+-94.988 44.8 3352
+-94.862 44.8 3348
+-94.736 44.8 3351
+-94.61 44.8 3314
+-94.484 44.8 3314
+-94.358 44.8 3307
+-94.232 44.8 3303
+-94.106 44.8 3298
+-93.98 44.8 3294
+-93.854 44.8 3290
+-93.728 44.8 3265
+-93.602 44.8 3276
+-93.476 44.8 3273
+-93.35 44.8 3274
+-93.224 44.8 3271
+-93.098 44.8 3260
+-92.972 44.8 3293
+-92.846 44.8 3291
+-92.72 44.8 3299
+-92.594 44.8 3308
+-92.468 44.8 3279
+-92.342 44.8 3297
+-92.216 44.8 3301
+-92.09 44.8 3303
+-91.964 44.8 3302
+-91.838 44.8 3300
+-91.712 44.8 3297
+-91.586 44.8 3291
+-91.46 44.8 3283
+-91.334 44.8 3275
+-91.208 44.8 3261
+-91.082 44.8 3234
+-90.956 44.8 3236
+-90.83 44.8 3220
+-90.704 44.8 3224
+-90.578 44.8 3219
+-90.452 44.8 3217
+-90.326 44.8 3204
+-90.2 44.8 3197
+-90.074 44.8 3185
+-89.948 44.8 3169
+-89.822 44.8 3156
+-89.696 44.8 3130
+-89.57 44.8 3097
+-89.444 44.8 3063
+-89.318 44.8 3013
+-89.192 44.8 2912
+-89.066 44.8 2821
+-88.94 44.8 2727
+-88.814 44.8 2684
+-88.688 44.8 2716
+-88.562 44.8 2790
+-88.436 44.8 2839
+-88.31 44.8 2839
+-88.184 44.8 2839
+-88.058 44.8 2824
+-87.932 44.8 2788
+-87.806 44.8 2699
+-87.68 44.8 2618
+-87.554 44.8 2523
+-87.428 44.8 2406
+-87.302 44.8 2279
+-87.176 44.8 2150
+-87.05 44.8 2051
+-86.924 44.8 2013
+-86.798 44.8 2035
+-86.672 44.8 2087
+-86.546 44.8 2120
+-86.42 44.8 2124
+-86.294 44.8 2108
+-86.168 44.8 2085
+-86.042 44.8 2069
+-85.916 44.8 2068
+-85.79 44.8 2079
+-85.664 44.8 2100
+-85.538 44.8 2127
+-85.412 44.8 2151
+-85.286 44.8 2181
+-85.16 44.8 2209
+-85.034 44.8 2270
+-84.908 44.8 2288
+-84.782 44.8 2314
+-84.656 44.8 2375
+-84.53 44.8 2401
+-84.404 44.8 2416
+-84.278 44.8 2454
+-84.152 44.8 2440
+-84.026 44.8 2468
+-83.9 44.8 2510
+-83.774 44.8 2489
+-83.648 44.8 2511
+-83.522 44.8 2481
+-83.396 44.8 2495
+-83.27 44.8 2516
+-83.144 44.8 2519
+-83.018 44.8 2535
+-82.892 44.8 2549
+-82.766 44.8 2527
+-82.64 44.8 2555
+-82.514 44.8 2564
+-82.388 44.8 2569
+-82.262 44.8 2580
+-82.136 44.8 2591
+-82.01 44.8 2601
+-81.884 44.8 2574
+-81.758 44.8 2578
+-81.632 44.8 2587
+-81.506 44.8 2595
+-81.38 44.8 2602
+-81.254 44.8 2607
+-81.128 44.8 2569
+-81.002 44.8 2658
+-80.876 44.8 2661
+-80.75 44.8 2671
+-80.624 44.8 2676
+-80.498 44.8 2682
+-80.372 44.8 2687
+-80.246 44.8 2708
+-80.12 44.8 2697
+-79.994 44.8 2748
+-79.868 44.8 2753
+-79.742 44.8 2751
+-79.616 44.8 2760
+-79.49 44.8 2764
+-79.364 44.8 2769
+-79.238 44.8 2762
+-79.112 44.8 2870
+-78.986 44.8 2874
+-78.86 44.8 2878
+-78.734 44.8 2882
+-78.608 44.8 2980
+-78.482 44.8 2942
+-78.356 44.8 3088
+-78.23 44.8 3090
+-78.104 44.8 3061
+-77.978 44.8 3063
+-77.852 44.8 3065
+-77.726 44.8 3067
+-77.6 44.8 3069
+-77.474 44.8 3071
+-77.348 44.8 3154
+-77.222 44.8 3151
+-77.096 44.8 3154
+-76.97 44.8 3156
+-76.844 44.8 3159
+-76.718 44.8 3109
+-76.592 44.8 3139
+-76.466 44.8 3141
+-76.34 44.8 3207
+-76.214 44.8 3129
+-76.088 44.8 3131
+-75.962 44.8 3133
+-75.836 44.8 3176
+-75.71 44.8 3136
+-75.584 44.8 3138
+-75.458 44.8 3140
+-75.332 44.8 3364
+-75.206 44.8 3315
+-75.08 44.8 3316
+-74.954 44.8 3443
+-74.828 44.8 3418
+-74.702 44.8 3420
+-74.576 44.8 3370
+-74.45 44.8 3442
+-74.324 44.8 3444
+-74.198 44.8 3445
+-74.072 44.8 3446
+-73.946 44.8 3447
+-73.82 44.8 3446
+-73.694 44.8 3448
+-73.568 44.8 3449
+-73.442 44.8 3438
+-73.316 44.8 3388
+-73.19 44.8 3383
+-73.064 44.8 3384
+-72.938 44.8 3385
+-72.812 44.8 3386
+-72.686 44.8 3387
+-72.56 44.8 3388
+-72.434 44.8 3389
+-72.308 44.8 3390
+-72.182 44.8 3391
+-72.056 44.8 3392
+-71.93 44.8 3392
+-71.804 44.8 3393
+-71.678 44.8 3394
+-71.552 44.8 3395
+-71.426 44.8 3396
+-71.3 44.8 3506
+-71.174 44.8 3507
+-71.048 44.8 3492
+-70.922 44.8 3493
+-70.796 44.8 3493
+-70.67 44.8 3494
+-70.544 44.8 3495
+-70.418 44.8 3495
+-70.292 44.8 3496
+-70.166 44.8 3497
+-70.04 44.8 3497
+-69.914 44.8 3498
+-69.788 44.8 3498
+-69.662 44.8 3535
+-69.536 44.8 3536
+-69.41 44.8 3537
+-69.284 44.8 3538
+-69.158 44.8 3538
+-69.032 44.8 3539
+-68.906 44.8 3499
+-68.78 44.8 3499
+-68.654 44.8 3500
+-68.528 44.8 3501
+-68.402 44.8 3538
+-68.276 44.8 3539
+-68.15 44.8 3540
+-68.024 44.8 3493
+-67.898 44.8 3493
+-67.772 44.8 3494
+-67.646 44.8 3630
+-67.52 44.8 3631
+-67.394 44.8 3631
+-67.268 44.8 3631
+-67.142 44.8 3631
+-67.016 44.8 3565
+-66.89 44.8 3565
+-66.764 44.8 3565
+-66.638 44.8 3565
+-66.512 44.8 3565
+-66.386 44.8 3565
+-66.26 44.8 3566
+-66.134 44.8 3566
+-66.008 44.8 3566
+-65.882 44.8 3566
+-65.756 44.8 3548
+-65.63 44.8 3535
+-65.504 44.8 3535
+-65.378 44.8 3535
+-65.252 44.8 3535
+-65.126 44.8 3535
+-128 44.748 4163
+-127.874 44.748 4178
+-127.748 44.748 4213
+-127.622 44.748 4268
+-127.496 44.748 4321
+-127.37 44.748 4377
+-127.244 44.748 4428
+-127.118 44.748 4427
+-126.992 44.748 4519
+-126.866 44.748 4689
+-126.74 44.748 4885
+-126.614 44.748 5013
+-126.488 44.748 5073
+-126.362 44.748 5152
+-126.236 44.748 5292
+-126.11 44.748 5390
+-125.984 44.748 5444
+-125.858 44.748 5554
+-125.732 44.748 5729
+-125.606 44.748 5883
+-125.48 44.748 5972
+-125.354 44.748 6014
+-125.228 44.748 6118
+-125.102 44.748 6229
+-124.976 44.748 6284
+-124.85 44.748 6399
+-124.724 44.748 6438
+-124.598 44.748 6536
+-124.472 44.748 6636
+-124.346 44.748 6723
+-124.22 44.748 6776
+-124.094 44.748 6837
+-123.968 44.748 6874
+-123.842 44.748 6951
+-123.716 44.748 7006
+-123.59 44.748 7015
+-123.464 44.748 7052
+-123.338 44.748 7064
+-123.212 44.748 7100
+-123.086 44.748 7163
+-122.96 44.748 7129
+-122.834 44.748 7138
+-122.708 44.748 7117
+-122.582 44.748 7090
+-122.456 44.748 7078
+-122.33 44.748 7016
+-122.204 44.748 6977
+-122.078 44.748 6975
+-121.952 44.748 6898
+-121.826 44.748 6870
+-121.7 44.748 6765
+-121.574 44.748 6706
+-121.448 44.748 6600
+-121.322 44.748 6534
+-121.196 44.748 6472
+-121.07 44.748 6356
+-120.944 44.748 6178
+-120.818 44.748 6321
+-120.692 44.748 6380
+-120.566 44.748 6476
+-120.44 44.748 6576
+-120.314 44.748 6704
+-120.188 44.748 6828
+-120.062 44.748 6933
+-119.936 44.748 7027
+-119.81 44.748 7139
+-119.684 44.748 7248
+-119.558 44.748 7304
+-119.432 44.748 7408
+-119.306 44.748 7478
+-119.18 44.748 7517
+-119.054 44.748 7612
+-118.928 44.748 7663
+-118.802 44.748 7701
+-118.676 44.748 7757
+-118.55 44.748 7794
+-118.424 44.748 7797
+-118.298 44.748 7788
+-118.172 44.748 7775
+-118.046 44.748 7770
+-117.92 44.748 7718
+-117.794 44.748 7657
+-117.668 44.748 7617
+-117.542 44.748 7547
+-117.416 44.748 7519
+-117.29 44.748 7413
+-117.164 44.748 7330
+-117.038 44.748 7273
+-116.912 44.748 7157
+-116.786 44.748 7097
+-116.66 44.748 6939
+-116.534 44.748 6845
+-116.408 44.748 6778
+-116.282 44.748 6647
+-116.156 44.748 6491
+-116.03 44.748 6423
+-115.904 44.748 6294
+-115.778 44.748 6167
+-115.652 44.748 6077
+-115.526 44.748 5937
+-115.4 44.748 5811
+-115.274 44.748 5709
+-115.148 44.748 5609
+-115.022 44.748 5512
+-114.896 44.748 5428
+-114.77 44.748 5374
+-114.644 44.748 5232
+-114.518 44.748 5020
+-114.392 44.748 4837
+-114.266 44.748 4700
+-114.14 44.748 4626
+-114.014 44.748 4505
+-113.888 44.748 4313
+-113.762 44.748 4179
+-113.636 44.748 4128
+-113.51 44.748 4130
+-113.384 44.748 4100
+-113.258 44.748 4057
+-113.132 44.748 3999
+-113.006 44.748 3935
+-112.88 44.748 3831
+-112.754 44.748 3804
+-112.628 44.748 3775
+-112.502 44.748 3742
+-112.376 44.748 3729
+-112.25 44.748 3706
+-112.124 44.748 3671
+-111.998 44.748 3619
+-111.872 44.748 3572
+-111.746 44.748 3527
+-111.62 44.748 3490
+-111.494 44.748 3464
+-111.368 44.748 3452
+-111.242 44.748 3383
+-111.116 44.748 3382
+-110.99 44.748 3395
+-110.864 44.748 3412
+-110.738 44.748 3415
+-110.612 44.748 3434
+-110.486 44.748 3365
+-110.36 44.748 3367
+-110.234 44.748 3296
+-110.108 44.748 3310
+-109.982 44.748 3329
+-109.856 44.748 3348
+-109.73 44.748 3351
+-109.604 44.748 3361
+-109.478 44.748 3370
+-109.352 44.748 3233
+-109.226 44.748 3243
+-109.1 44.748 3252
+-108.974 44.748 3259
+-108.848 44.748 3267
+-108.722 44.748 3274
+-108.596 44.748 3280
+-108.47 44.748 3247
+-108.344 44.748 3252
+-108.218 44.748 3172
+-108.092 44.748 3144
+-107.966 44.748 3146
+-107.84 44.748 3149
+-107.714 44.748 3151
+-107.588 44.748 3153
+-107.462 44.748 3155
+-107.336 44.748 3157
+-107.21 44.748 3159
+-107.084 44.748 3160
+-106.958 44.748 3162
+-106.832 44.748 3163
+-106.706 44.748 3165
+-106.58 44.748 3166
+-106.454 44.748 3167
+-106.328 44.748 3168
+-106.202 44.748 3169
+-106.076 44.748 3170
+-105.95 44.748 3171
+-105.824 44.748 3036
+-105.698 44.748 3033
+-105.572 44.748 3029
+-105.446 44.748 3025
+-105.32 44.748 3021
+-105.194 44.748 3017
+-105.068 44.748 3012
+-104.942 44.748 3008
+-104.816 44.748 3003
+-104.69 44.748 2998
+-104.564 44.748 2777
+-104.438 44.748 2726
+-104.312 44.748 2533
+-104.186 44.748 2552
+-104.06 44.748 2547
+-103.934 44.748 2577
+-103.808 44.748 2473
+-103.682 44.748 2466
+-103.556 44.748 2587
+-103.43 44.748 2619
+-103.304 44.748 2755
+-103.178 44.748 2766
+-103.052 44.748 2853
+-102.926 44.748 2855
+-102.8 44.748 2942
+-102.674 44.748 2942
+-102.548 44.748 2999
+-102.422 44.748 2998
+-102.296 44.748 2997
+-102.17 44.748 2914
+-102.044 44.748 2913
+-101.918 44.748 2913
+-101.792 44.748 2916
+-101.666 44.748 2916
+-101.54 44.748 2916
+-101.414 44.748 2916
+-101.288 44.748 2916
+-101.162 44.748 3048
+-101.036 44.748 3047
+-100.91 44.748 3046
+-100.784 44.748 3046
+-100.658 44.748 3056
+-100.532 44.748 3066
+-100.406 44.748 3056
+-100.28 44.748 3022
+-100.154 44.748 3062
+-100.028 44.748 3301
+-99.902 44.748 3328
+-99.776 44.748 3325
+-99.65 44.748 3197
+-99.524 44.748 3195
+-99.398 44.748 3193
+-99.272 44.748 3192
+-99.146 44.748 3190
+-99.02 44.748 3189
+-98.894 44.748 3187
+-98.768 44.748 3168
+-98.642 44.748 3193
+-98.516 44.748 3192
+-98.39 44.748 3218
+-98.264 44.748 3197
+-98.138 44.748 3235
+-98.012 44.748 3159
+-97.886 44.748 3178
+-97.76 44.748 3181
+-97.634 44.748 3170
+-97.508 44.748 3186
+-97.382 44.748 3188
+-97.256 44.748 3192
+-97.13 44.748 3211
+-97.004 44.748 3213
+-96.878 44.748 3215
+-96.752 44.748 3301
+-96.626 44.748 3302
+-96.5 44.748 3303
+-96.374 44.748 3276
+-96.248 44.748 3356
+-96.122 44.748 3361
+-95.996 44.748 3360
+-95.87 44.748 3358
+-95.744 44.748 3357
+-95.618 44.748 3338
+-95.492 44.748 3335
+-95.366 44.748 3280
+-95.24 44.748 3377
+-95.114 44.748 3380
+-94.988 44.748 3350
+-94.862 44.748 3345
+-94.736 44.748 3339
+-94.61 44.748 3342
+-94.484 44.748 3305
+-94.358 44.748 3304
+-94.232 44.748 3299
+-94.106 44.748 3290
+-93.98 44.748 3285
+-93.854 44.748 3279
+-93.728 44.748 3274
+-93.602 44.748 3250
+-93.476 44.748 3260
+-93.35 44.748 3258
+-93.224 44.748 3260
+-93.098 44.748 3260
+-92.972 44.748 3253
+-92.846 44.748 3287
+-92.72 44.748 3290
+-92.594 44.748 3300
+-92.468 44.748 3310
+-92.342 44.748 3309
+-92.216 44.748 3302
+-92.09 44.748 3304
+-91.964 44.748 3304
+-91.838 44.748 3301
+-91.712 44.748 3296
+-91.586 44.748 3288
+-91.46 44.748 3278
+-91.334 44.748 3264
+-91.208 44.748 3253
+-91.082 44.748 3242
+-90.956 44.748 3236
+-90.83 44.748 3242
+-90.704 44.748 3254
+-90.578 44.748 3241
+-90.452 44.748 3246
+-90.326 44.748 3262
+-90.2 44.748 3235
+-90.074 44.748 3224
+-89.948 44.748 3211
+-89.822 44.748 3192
+-89.696 44.748 3168
+-89.57 44.748 3145
+-89.444 44.748 3116
+-89.318 44.748 3067
+-89.192 44.748 3007
+-89.066 44.748 2911
+-88.94 44.748 2843
+-88.814 44.748 2813
+-88.688 44.748 2840
+-88.562 44.748 2871
+-88.436 44.748 2898
+-88.31 44.748 2883
+-88.184 44.748 2878
+-88.058 44.748 2856
+-87.932 44.748 2820
+-87.806 44.748 2721
+-87.68 44.748 2640
+-87.554 44.748 2537
+-87.428 44.748 2416
+-87.302 44.748 2273
+-87.176 44.748 2130
+-87.05 44.748 2019
+-86.924 44.748 1979
+-86.798 44.748 2011
+-86.672 44.748 2068
+-86.546 44.748 2097
+-86.42 44.748 2086
+-86.294 44.748 2051
+-86.168 44.748 2012
+-86.042 44.748 1990
+-85.916 44.748 1988
+-85.79 44.748 2008
+-85.664 44.748 2040
+-85.538 44.748 2074
+-85.412 44.748 2113
+-85.286 44.748 2149
+-85.16 44.748 2211
+-85.034 44.748 2236
+-84.908 44.748 2266
+-84.782 44.748 2326
+-84.656 44.748 2356
+-84.53 44.748 2375
+-84.404 44.748 2413
+-84.278 44.748 2405
+-84.152 44.748 2435
+-84.026 44.748 2477
+-83.9 44.748 2462
+-83.774 44.748 2486
+-83.648 44.748 2460
+-83.522 44.748 2476
+-83.396 44.748 2498
+-83.27 44.748 2503
+-83.144 44.748 2520
+-83.018 44.748 2536
+-82.892 44.748 2516
+-82.766 44.748 2544
+-82.64 44.748 2553
+-82.514 44.748 2560
+-82.388 44.748 2572
+-82.262 44.748 2583
+-82.136 44.748 2594
+-82.01 44.748 2568
+-81.884 44.748 2573
+-81.758 44.748 2582
+-81.632 44.748 2591
+-81.506 44.748 2599
+-81.38 44.748 2604
+-81.254 44.748 2566
+-81.128 44.748 2654
+-81.002 44.748 2658
+-80.876 44.748 2668
+-80.75 44.748 2674
+-80.624 44.748 2679
+-80.498 44.748 2685
+-80.372 44.748 2706
+-80.246 44.748 2695
+-80.12 44.748 2746
+-79.994 44.748 2751
+-79.868 44.748 2749
+-79.742 44.748 2758
+-79.616 44.748 2763
+-79.49 44.748 2767
+-79.364 44.748 2761
+-79.238 44.748 2868
+-79.112 44.748 2872
+-78.986 44.748 2877
+-78.86 44.748 2881
+-78.734 44.748 2978
+-78.608 44.748 2941
+-78.482 44.748 3086
+-78.356 44.748 3088
+-78.23 44.748 3059
+-78.104 44.748 3061
+-77.978 44.748 3064
+-77.852 44.748 3066
+-77.726 44.748 3068
+-77.6 44.748 3070
+-77.474 44.748 3152
+-77.348 44.748 3150
+-77.222 44.748 3152
+-77.096 44.748 3155
+-76.97 44.748 3157
+-76.844 44.748 3108
+-76.718 44.748 3138
+-76.592 44.748 3140
+-76.466 44.748 3205
+-76.34 44.748 3128
+-76.214 44.748 3130
+-76.088 44.748 3132
+-75.962 44.748 3174
+-75.836 44.748 3135
+-75.71 44.748 3137
+-75.584 44.748 3139
+-75.458 44.748 3362
+-75.332 44.748 3313
+-75.206 44.748 3315
+-75.08 44.748 3441
+-74.954 44.748 3417
+-74.828 44.748 3419
+-74.702 44.748 3369
+-74.576 44.748 3441
+-74.45 44.748 3443
+-74.324 44.748 3444
+-74.198 44.748 3445
+-74.072 44.748 3446
+-73.946 44.748 3446
+-73.82 44.748 3447
+-73.694 44.748 3448
+-73.568 44.748 3437
+-73.442 44.748 3388
+-73.316 44.748 3382
+-73.19 44.748 3383
+-73.064 44.748 3384
+-72.938 44.748 3385
+-72.812 44.748 3386
+-72.686 44.748 3387
+-72.56 44.748 3388
+-72.434 44.748 3389
+-72.308 44.748 3390
+-72.182 44.748 3391
+-72.056 44.748 3392
+-71.93 44.748 3393
+-71.804 44.748 3394
+-71.678 44.748 3395
+-71.552 44.748 3395
+-71.426 44.748 3506
+-71.3 44.748 3506
+-71.174 44.748 3492
+-71.048 44.748 3492
+-70.922 44.748 3493
+-70.796 44.748 3494
+-70.67 44.748 3494
+-70.544 44.748 3495
+-70.418 44.748 3496
+-70.292 44.748 3496
+-70.166 44.748 3497
+-70.04 44.748 3497
+-69.914 44.748 3498
+-69.788 44.748 3535
+-69.662 44.748 3536
+-69.536 44.748 3536
+-69.41 44.748 3537
+-69.284 44.748 3538
+-69.158 44.748 3539
+-69.032 44.748 3498
+-68.906 44.748 3499
+-68.78 44.748 3500
+-68.654 44.748 3500
+-68.528 44.748 3538
+-68.402 44.748 3538
+-68.276 44.748 3539
+-68.15 44.748 3492
+-68.024 44.748 3493
+-67.898 44.748 3494
+-67.772 44.748 3630
+-67.646 44.748 3630
+-67.52 44.748 3631
+-67.394 44.748 3631
+-67.268 44.748 3631
+-67.142 44.748 3564
+-67.016 44.748 3565
+-66.89 44.748 3565
+-66.764 44.748 3565
+-66.638 44.748 3565
+-66.512 44.748 3565
+-66.386 44.748 3565
+-66.26 44.748 3566
+-66.134 44.748 3566
+-66.008 44.748 3566
+-65.882 44.748 3548
+-65.756 44.748 3535
+-65.63 44.748 3535
+-65.504 44.748 3535
+-65.378 44.748 3535
+-65.252 44.748 3535
+-65.126 44.748 3535
+-128 44.696 4050
+-127.874 44.696 4050
+-127.748 44.696 4070
+-127.622 44.696 4165
+-127.496 44.696 4236
+-127.37 44.696 4264
+-127.244 44.696 4383
+-127.118 44.696 4433
+-126.992 44.696 4506
+-126.866 44.696 4666
+-126.74 44.696 4854
+-126.614 44.696 5010
+-126.488 44.696 5003
+-126.362 44.696 5049
+-126.236 44.696 5225
+-126.11 44.696 5349
+-125.984 44.696 5389
+-125.858 44.696 5509
+-125.732 44.696 5681
+-125.606 44.696 5836
+-125.48 44.696 5929
+-125.354 44.696 6051
+-125.228 44.696 6131
+-125.102 44.696 6193
+-124.976 44.696 6260
+-124.85 44.696 6340
+-124.724 44.696 6412
+-124.598 44.696 6551
+-124.472 44.696 6573
+-124.346 44.696 6640
+-124.22 44.696 6710
+-124.094 44.696 6798
+-123.968 44.696 6819
+-123.842 44.696 6885
+-123.716 44.696 6941
+-123.59 44.696 7002
+-123.464 44.696 6996
+-123.338 44.696 7004
+-123.212 44.696 7041
+-123.086 44.696 7087
+-122.96 44.696 7086
+-122.834 44.696 7073
+-122.708 44.696 7098
+-122.582 44.696 7033
+-122.456 44.696 7001
+-122.33 44.696 6951
+-122.204 44.696 6937
+-122.078 44.696 6888
+-121.952 44.696 6828
+-121.826 44.696 6829
+-121.7 44.696 6736
+-121.574 44.696 6672
+-121.448 44.696 6554
+-121.322 44.696 6481
+-121.196 44.696 6411
+-121.07 44.696 6301
+-120.944 44.696 6294
+-120.818 44.696 6255
+-120.692 44.696 6363
+-120.566 44.696 6433
+-120.44 44.696 6559
+-120.314 44.696 6678
+-120.188 44.696 6824
+-120.062 44.696 6938
+-119.936 44.696 7006
+-119.81 44.696 7071
+-119.684 44.696 7192
+-119.558 44.696 7258
+-119.432 44.696 7345
+-119.306 44.696 7396
+-119.18 44.696 7488
+-119.054 44.696 7548
+-118.928 44.696 7623
+-118.802 44.696 7687
+-118.676 44.696 7712
+-118.55 44.696 7727
+-118.424 44.696 7735
+-118.298 44.696 7761
+-118.172 44.696 7726
+-118.046 44.696 7744
+-117.92 44.696 7664
+-117.794 44.696 7619
+-117.668 44.696 7608
+-117.542 44.696 7506
+-117.416 44.696 7452
+-117.29 44.696 7355
+-117.164 44.696 7298
+-117.038 44.696 7229
+-116.912 44.696 7129
+-116.786 44.696 7029
+-116.66 44.696 6900
+-116.534 44.696 6806
+-116.408 44.696 6713
+-116.282 44.696 6606
+-116.156 44.696 6500
+-116.03 44.696 6428
+-115.904 44.696 6283
+-115.778 44.696 6151
+-115.652 44.696 6063
+-115.526 44.696 5947
+-115.4 44.696 5764
+-115.274 44.696 5654
+-115.148 44.696 5583
+-115.022 44.696 5483
+-114.896 44.696 5334
+-114.77 44.696 5335
+-114.644 44.696 5204
+-114.518 44.696 5028
+-114.392 44.696 4845
+-114.266 44.696 4672
+-114.14 44.696 4614
+-114.014 44.696 4457
+-113.888 44.696 4266
+-113.762 44.696 4152
+-113.636 44.696 4055
+-113.51 44.696 4105
+-113.384 44.696 4074
+-113.258 44.696 4002
+-113.132 44.696 3913
+-113.006 44.696 3794
+-112.88 44.696 3686
+-112.754 44.696 3683
+-112.628 44.696 3722
+-112.502 44.696 3734
+-112.376 44.696 3719
+-112.25 44.696 3714
+-112.124 44.696 3695
+-111.998 44.696 3647
+-111.872 44.696 3615
+-111.746 44.696 3582
+-111.62 44.696 3553
+-111.494 44.696 3531
+-111.368 44.696 3491
+-111.242 44.696 3485
+-111.116 44.696 3450
+-110.99 44.696 3448
+-110.864 44.696 3457
+-110.738 44.696 3439
+-110.612 44.696 3451
+-110.486 44.696 3366
+-110.36 44.696 3386
+-110.234 44.696 3400
+-110.108 44.696 3324
+-109.982 44.696 3335
+-109.856 44.696 3345
+-109.73 44.696 3354
+-109.604 44.696 3357
+-109.478 44.696 3365
+-109.352 44.696 3372
+-109.226 44.696 3244
+-109.1 44.696 3252
+-108.974 44.696 3260
+-108.848 44.696 3267
+-108.722 44.696 3273
+-108.596 44.696 3205
+-108.47 44.696 3209
+-108.344 44.696 3165
+-108.218 44.696 3167
+-108.092 44.696 3138
+-107.966 44.696 3141
+-107.84 44.696 3143
+-107.714 44.696 3146
+-107.588 44.696 3148
+-107.462 44.696 3150
+-107.336 44.696 3152
+-107.21 44.696 3153
+-107.084 44.696 3155
+-106.958 44.696 3157
+-106.832 44.696 3158
+-106.706 44.696 3159
+-106.58 44.696 3161
+-106.454 44.696 3162
+-106.328 44.696 3163
+-106.202 44.696 3164
+-106.076 44.696 3165
+-105.95 44.696 3166
+-105.824 44.696 3167
+-105.698 44.696 3027
+-105.572 44.696 3023
+-105.446 44.696 3019
+-105.32 44.696 3015
+-105.194 44.696 3011
+-105.068 44.696 3006
+-104.942 44.696 3001
+-104.816 44.696 2996
+-104.69 44.696 2991
+-104.564 44.696 2948
+-104.438 44.696 2718
+-104.312 44.696 2526
+-104.186 44.696 2545
+-104.06 44.696 2512
+-103.934 44.696 2572
+-103.808 44.696 2452
+-103.682 44.696 2527
+-103.556 44.696 2585
+-103.43 44.696 2703
+-103.304 44.696 2755
+-103.178 44.696 2869
+-103.052 44.696 2852
+-102.926 44.696 2854
+-102.8 44.696 2940
+-102.674 44.696 2939
+-102.548 44.696 2938
+-102.422 44.696 2995
+-102.296 44.696 2994
+-102.17 44.696 2993
+-102.044 44.696 2911
+-101.918 44.696 2910
+-101.792 44.696 2910
+-101.666 44.696 2913
+-101.54 44.696 2913
+-101.414 44.696 2913
+-101.288 44.696 2913
+-101.162 44.696 2913
+-101.036 44.696 3044
+-100.91 44.696 3043
+-100.784 44.696 3043
+-100.658 44.696 3042
+-100.532 44.696 3043
+-100.406 44.696 3062
+-100.28 44.696 3052
+-100.154 44.696 3019
+-100.028 44.696 3059
+-99.902 44.696 3296
+-99.776 44.696 3322
+-99.65 44.696 3319
+-99.524 44.696 3192
+-99.398 44.696 3191
+-99.272 44.696 3189
+-99.146 44.696 3187
+-99.02 44.696 3186
+-98.894 44.696 3184
+-98.768 44.696 3183
+-98.642 44.696 3164
+-98.516 44.696 3188
+-98.39 44.696 3187
+-98.264 44.696 3213
+-98.138 44.696 3193
+-98.012 44.696 3230
+-97.886 44.696 3155
+-97.76 44.696 3174
+-97.634 44.696 3177
+-97.508 44.696 3167
+-97.382 44.696 3183
+-97.256 44.696 3185
+-97.13 44.696 3189
+-97.004 44.696 3208
+-96.878 44.696 3210
+-96.752 44.696 3213
+-96.626 44.696 3298
+-96.5 44.696 3299
+-96.374 44.696 3300
+-96.248 44.696 3273
+-96.122 44.696 3352
+-95.996 44.696 3357
+-95.87 44.696 3356
+-95.744 44.696 3354
+-95.618 44.696 3353
+-95.492 44.696 3334
+-95.366 44.696 3331
+-95.24 44.696 3278
+-95.114 44.696 3369
+-94.988 44.696 3372
+-94.862 44.696 3342
+-94.736 44.696 3336
+-94.61 44.696 3330
+-94.484 44.696 3331
+-94.358 44.696 3294
+-94.232 44.696 3292
+-94.106 44.696 3282
+-93.98 44.696 3275
+-93.854 44.696 3268
+-93.728 44.696 3260
+-93.602 44.696 3253
+-93.476 44.696 3230
+-93.35 44.696 3239
+-93.224 44.696 3239
+-93.098 44.696 3244
+-92.972 44.696 3249
+-92.846 44.696 3248
+-92.72 44.696 3285
+-92.594 44.696 3291
+-92.468 44.696 3304
+-92.342 44.696 3314
+-92.216 44.696 3332
+-92.09 44.696 3335
+-91.964 44.696 3334
+-91.838 44.696 3314
+-91.712 44.696 3296
+-91.586 44.696 3286
+-91.46 44.696 3271
+-91.334 44.696 3249
+-91.208 44.696 3227
+-91.082 44.696 3216
+-90.956 44.696 3220
+-90.83 44.696 3239
+-90.704 44.696 3258
+-90.578 44.696 3271
+-90.452 44.696 3277
+-90.326 44.696 3287
+-90.2 44.696 3283
+-90.074 44.696 3280
+-89.948 44.696 3282
+-89.822 44.696 3268
+-89.696 44.696 3243
+-89.57 44.696 3185
+-89.444 44.696 3163
+-89.318 44.696 3127
+-89.192 44.696 3079
+-89.066 44.696 3029
+-88.94 44.696 2968
+-88.814 44.696 2955
+-88.688 44.696 2959
+-88.562 44.696 2983
+-88.436 44.696 2979
+-88.31 44.696 2963
+-88.184 44.696 2918
+-88.058 44.696 2896
+-87.932 44.696 2847
+-87.806 44.696 2752
+-87.68 44.696 2671
+-87.554 44.696 2570
+-87.428 44.696 2446
+-87.302 44.696 2305
+-87.176 44.696 2166
+-87.05 44.696 2062
+-86.924 44.696 2018
+-86.798 44.696 2040
+-86.672 44.696 2078
+-86.546 44.696 2083
+-86.42 44.696 2045
+-86.294 44.696 1982
+-86.168 44.696 1922
+-86.042 44.696 1887
+-85.916 44.696 1892
+-85.79 44.696 1927
+-85.664 44.696 1975
+-85.538 44.696 2027
+-85.412 44.696 2076
+-85.286 44.696 2143
+-85.16 44.696 2177
+-85.034 44.696 2213
+-84.908 44.696 2273
+-84.782 44.696 2307
+-84.656 44.696 2330
+-84.53 44.696 2370
+-84.404 44.696 2368
+-84.278 44.696 2399
+-84.152 44.696 2443
+-84.026 44.696 2433
+-83.9 44.696 2459
+-83.774 44.696 2437
+-83.648 44.696 2455
+-83.522 44.696 2478
+-83.396 44.696 2486
+-83.27 44.696 2504
+-83.144 44.696 2522
+-83.018 44.696 2504
+-82.892 44.696 2532
+-82.766 44.696 2543
+-82.64 44.696 2550
+-82.514 44.696 2563
+-82.388 44.696 2575
+-82.262 44.696 2587
+-82.136 44.696 2562
+-82.01 44.696 2568
+-81.884 44.696 2577
+-81.758 44.696 2586
+-81.632 44.696 2595
+-81.506 44.696 2600
+-81.38 44.696 2564
+-81.254 44.696 2651
+-81.128 44.696 2655
+-81.002 44.696 2665
+-80.876 44.696 2671
+-80.75 44.696 2677
+-80.624 44.696 2683
+-80.498 44.696 2703
+-80.372 44.696 2693
+-80.246 44.696 2744
+-80.12 44.696 2749
+-79.994 44.696 2747
+-79.868 44.696 2756
+-79.742 44.696 2761
+-79.616 44.696 2766
+-79.49 44.696 2760
+-79.364 44.696 2866
+-79.238 44.696 2871
+-79.112 44.696 2875
+-78.986 44.696 2879
+-78.86 44.696 2977
+-78.734 44.696 2939
+-78.608 44.696 3084
+-78.482 44.696 3086
+-78.356 44.696 3057
+-78.23 44.696 3060
+-78.104 44.696 3062
+-77.978 44.696 3064
+-77.852 44.696 3067
+-77.726 44.696 3069
+-77.6 44.696 3150
+-77.474 44.696 3148
+-77.348 44.696 3151
+-77.222 44.696 3153
+-77.096 44.696 3156
+-76.97 44.696 3106
+-76.844 44.696 3136
+-76.718 44.696 3139
+-76.592 44.696 3204
+-76.466 44.696 3127
+-76.34 44.696 3129
+-76.214 44.696 3131
+-76.088 44.696 3173
+-75.962 44.696 3134
+-75.836 44.696 3136
+-75.71 44.696 3138
+-75.584 44.696 3361
+-75.458 44.696 3312
+-75.332 44.696 3314
+-75.206 44.696 3440
+-75.08 44.696 3416
+-74.954 44.696 3418
+-74.828 44.696 3368
+-74.702 44.696 3440
+-74.576 44.696 3442
+-74.45 44.696 3443
+-74.324 44.696 3444
+-74.198 44.696 3446
+-74.072 44.696 3445
+-73.946 44.696 3446
+-73.82 44.696 3447
+-73.694 44.696 3436
+-73.568 44.696 3387
+-73.442 44.696 3381
+-73.316 44.696 3383
+-73.19 44.696 3384
+-73.064 44.696 3385
+-72.938 44.696 3386
+-72.812 44.696 3387
+-72.686 44.696 3388
+-72.56 44.696 3389
+-72.434 44.696 3390
+-72.308 44.696 3391
+-72.182 44.696 3392
+-72.056 44.696 3392
+-71.93 44.696 3393
+-71.804 44.696 3394
+-71.678 44.696 3395
+-71.552 44.696 3505
+-71.426 44.696 3506
+-71.3 44.696 3491
+-71.174 44.696 3492
+-71.048 44.696 3493
+-70.922 44.696 3493
+-70.796 44.696 3494
+-70.67 44.696 3495
+-70.544 44.696 3495
+-70.418 44.696 3496
+-70.292 44.696 3496
+-70.166 44.696 3497
+-70.04 44.696 3498
+-69.914 44.696 3534
+-69.788 44.696 3535
+-69.662 44.696 3536
+-69.536 44.696 3537
+-69.41 44.696 3537
+-69.284 44.696 3538
+-69.158 44.696 3498
+-69.032 44.696 3499
+-68.906 44.696 3499
+-68.78 44.696 3500
+-68.654 44.696 3537
+-68.528 44.696 3538
+-68.402 44.696 3539
+-68.276 44.696 3492
+-68.15 44.696 3493
+-68.024 44.696 3493
+-67.898 44.696 3630
+-67.772 44.696 3630
+-67.646 44.696 3630
+-67.52 44.696 3631
+-67.394 44.696 3631
+-67.268 44.696 3564
+-67.142 44.696 3564
+-67.016 44.696 3565
+-66.89 44.696 3565
+-66.764 44.696 3565
+-66.638 44.696 3565
+-66.512 44.696 3565
+-66.386 44.696 3565
+-66.26 44.696 3566
+-66.134 44.696 3566
+-66.008 44.696 3548
+-65.882 44.696 3534
+-65.756 44.696 3535
+-65.63 44.696 3535
+-65.504 44.696 3535
+-65.378 44.696 3535
+-65.252 44.696 3516
+-65.126 44.696 3516
+-128 44.644 3960
+-127.874 44.644 3907
+-127.748 44.644 3872
+-127.622 44.644 4019
+-127.496 44.644 4163
+-127.37 44.644 4150
+-127.244 44.644 4296
+-127.118 44.644 4427
+-126.992 44.644 4510
+-126.866 44.644 4664
+-126.74 44.644 4833
+-126.614 44.644 4982
+-126.488 44.644 5050
+-126.362 44.644 5127
+-126.236 44.644 5243
+-126.11 44.644 5356
+-125.984 44.644 5428
+-125.858 44.644 5542
+-125.732 44.644 5682
+-125.606 44.644 5776
+-125.48 44.644 5880
+-125.354 44.644 5976
+-125.228 44.644 6087
+-125.102 44.644 6128
+-124.976 44.644 6181
+-124.85 44.644 6310
+-124.724 44.644 6354
+-124.598 44.644 6480
+-124.472 44.644 6531
+-124.346 44.644 6630
+-124.22 44.644 6629
+-124.094 44.644 6731
+-123.968 44.644 6784
+-123.842 44.644 6839
+-123.716 44.644 6891
+-123.59 44.644 6919
+-123.464 44.644 6999
+-123.338 44.644 6974
+-123.212 44.644 6985
+-123.086 44.644 7013
+-122.96 44.644 7003
+-122.834 44.644 7047
+-122.708 44.644 7023
+-122.582 44.644 7009
+-122.456 44.644 6998
+-122.33 44.644 6912
+-122.204 44.644 6878
+-122.078 44.644 6882
+-121.952 44.644 6771
+-121.826 44.644 6763
+-121.7 44.644 6689
+-121.574 44.644 6624
+-121.448 44.644 6552
+-121.322 44.644 6473
+-121.196 44.644 6358
+-121.07 44.644 6271
+-120.944 44.644 6228
+-120.818 44.644 6167
+-120.692 44.644 6324
+-120.566 44.644 6460
+-120.44 44.644 6516
+-120.314 44.644 6645
+-120.188 44.644 6750
+-120.062 44.644 6887
+-119.936 44.644 7012
+-119.81 44.644 7092
+-119.684 44.644 7157
+-119.558 44.644 7247
+-119.432 44.644 7324
+-119.306 44.644 7423
+-119.18 44.644 7445
+-119.054 44.644 7532
+-118.928 44.644 7569
+-118.802 44.644 7587
+-118.676 44.644 7650
+-118.55 44.644 7658
+-118.424 44.644 7701
+-118.298 44.644 7677
+-118.172 44.644 7695
+-118.046 44.644 7680
+-117.92 44.644 7625
+-117.794 44.644 7581
+-117.668 44.644 7552
+-117.542 44.644 7489
+-117.416 44.644 7442
+-117.29 44.644 7299
+-117.164 44.644 7233
+-117.038 44.644 7187
+-116.912 44.644 7073
+-116.786 44.644 6991
+-116.66 44.644 6854
+-116.534 44.644 6765
+-116.408 44.644 6675
+-116.282 44.644 6578
+-116.156 44.644 6473
+-116.03 44.644 6378
+-115.904 44.644 6210
+-115.778 44.644 6098
+-115.652 44.644 5983
+-115.526 44.644 5938
+-115.4 44.644 5749
+-115.274 44.644 5616
+-115.148 44.644 5571
+-115.022 44.644 5450
+-114.896 44.644 5388
+-114.77 44.644 5277
+-114.644 44.644 5170
+-114.518 44.644 5017
+-114.392 44.644 4805
+-114.266 44.644 4598
+-114.14 44.644 4615
+-114.014 44.644 4477
+-113.888 44.644 4308
+-113.762 44.644 4183
+-113.636 44.644 4128
+-113.51 44.644 4096
+-113.384 44.644 4020
+-113.258 44.644 3910
+-113.132 44.644 3800
+-113.006 44.644 3611
+-112.88 44.644 3461
+-112.754 44.644 3524
+-112.628 44.644 3638
+-112.502 44.644 3718
+-112.376 44.644 3734
+-112.25 44.644 3717
+-112.124 44.644 3712
+-111.998 44.644 3696
+-111.872 44.644 3653
+-111.746 44.644 3629
+-111.62 44.644 3607
+-111.494 44.644 3548
+-111.368 44.644 3534
+-111.242 44.644 3525
+-111.116 44.644 3522
+-110.99 44.644 3499
+-110.864 44.644 3466
+-110.738 44.644 3472
+-110.612 44.644 3396
+-110.486 44.644 3404
+-110.36 44.644 3398
+-110.234 44.644 3406
+-110.108 44.644 3412
+-109.982 44.644 3347
+-109.856 44.644 3355
+-109.73 44.644 3363
+-109.604 44.644 3370
+-109.478 44.644 3377
+-109.352 44.644 3384
+-109.226 44.644 3366
+-109.1 44.644 3254
+-108.974 44.644 3261
+-108.848 44.644 3267
+-108.722 44.644 3199
+-108.596 44.644 3203
+-108.47 44.644 3135
+-108.344 44.644 3138
+-108.218 44.644 3140
+-108.092 44.644 3142
+-107.966 44.644 3136
+-107.84 44.644 3138
+-107.714 44.644 3140
+-107.588 44.644 3142
+-107.462 44.644 3144
+-107.336 44.644 3146
+-107.21 44.644 3148
+-107.084 44.644 3150
+-106.958 44.644 3151
+-106.832 44.644 3153
+-106.706 44.644 3154
+-106.58 44.644 3156
+-106.454 44.644 3157
+-106.328 44.644 3158
+-106.202 44.644 3159
+-106.076 44.644 3160
+-105.95 44.644 3161
+-105.824 44.644 3162
+-105.698 44.644 3163
+-105.572 44.644 3017
+-105.446 44.644 3013
+-105.32 44.644 3009
+-105.194 44.644 3004
+-105.068 44.644 3000
+-104.942 44.644 2995
+-104.816 44.644 2990
+-104.69 44.644 2985
+-104.564 44.644 2941
+-104.438 44.644 2724
+-104.312 44.644 2709
+-104.186 44.644 2539
+-104.06 44.644 2506
+-103.934 44.644 2567
+-103.808 44.644 2449
+-103.682 44.644 2525
+-103.556 44.644 2623
+-103.43 44.644 2703
+-103.304 44.644 2754
+-103.178 44.644 2868
+-103.052 44.644 2869
+-102.926 44.644 2852
+-102.8 44.644 2937
+-102.674 44.644 2936
+-102.548 44.644 2936
+-102.422 44.644 2935
+-102.296 44.644 2991
+-102.17 44.644 2990
+-102.044 44.644 2989
+-101.918 44.644 2907
+-101.792 44.644 2907
+-101.666 44.644 2907
+-101.54 44.644 2910
+-101.414 44.644 2910
+-101.288 44.644 2910
+-101.162 44.644 2910
+-101.036 44.644 2910
+-100.91 44.644 3040
+-100.784 44.644 3039
+-100.658 44.644 3039
+-100.532 44.644 3038
+-100.406 44.644 3048
+-100.28 44.644 3058
+-100.154 44.644 3049
+-100.028 44.644 3016
+-99.902 44.644 3055
+-99.776 44.644 3290
+-99.65 44.644 3316
+-99.524 44.644 3313
+-99.398 44.644 3188
+-99.272 44.644 3186
+-99.146 44.644 3184
+-99.02 44.644 3183
+-98.894 44.644 3181
+-98.768 44.644 3179
+-98.642 44.644 3178
+-98.516 44.644 3159
+-98.39 44.644 3183
+-98.264 44.644 3183
+-98.138 44.644 3207
+-98.012 44.644 3188
+-97.886 44.644 3225
+-97.76 44.644 3151
+-97.634 44.644 3170
+-97.508 44.644 3173
+-97.382 44.644 3163
+-97.256 44.644 3179
+-97.13 44.644 3181
+-97.004 44.644 3186
+-96.878 44.644 3205
+-96.752 44.644 3208
+-96.626 44.644 3211
+-96.5 44.644 3294
+-96.374 44.644 3296
+-96.248 44.644 3297
+-96.122 44.644 3271
+-95.996 44.644 3349
+-95.87 44.644 3353
+-95.744 44.644 3352
+-95.618 44.644 3350
+-95.492 44.644 3349
+-95.366 44.644 3330
+-95.24 44.644 3327
+-95.114 44.644 3275
+-94.988 44.644 3361
+-94.862 44.644 3363
+-94.736 44.644 3333
+-94.61 44.644 3326
+-94.484 44.644 3319
+-94.358 44.644 3318
+-94.232 44.644 3282
+-94.106 44.644 3277
+-93.98 44.644 3268
+-93.854 44.644 3255
+-93.728 44.644 3245
+-93.602 44.644 3235
+-93.476 44.644 3226
+-93.35 44.644 3205
+-93.224 44.644 3214
+-93.098 44.644 3218
+-92.972 44.644 3230
+-92.846 44.644 3242
+-92.72 44.644 3248
+-92.594 44.644 3289
+-92.468 44.644 3298
+-92.342 44.644 3311
+-92.216 44.644 3334
+-92.09 44.644 3333
+-91.964 44.644 3332
+-91.838 44.644 3334
+-91.712 44.644 3324
+-91.586 44.644 3284
+-91.46 44.644 3266
+-91.334 44.644 3234
+-91.208 44.644 3192
+-91.082 44.644 3168
+-90.956 44.644 3197
+-90.83 44.644 3229
+-90.704 44.644 3251
+-90.578 44.644 3279
+-90.452 44.644 3295
+-90.326 44.644 3311
+-90.2 44.644 3311
+-90.074 44.644 3312
+-89.948 44.644 3306
+-89.822 44.644 3294
+-89.696 44.644 3282
+-89.57 44.644 3268
+-89.444 44.644 3242
+-89.318 44.644 3215
+-89.192 44.644 3176
+-89.066 44.644 3139
+-88.94 44.644 3092
+-88.814 44.644 3073
+-88.688 44.644 3036
+-88.562 44.644 3044
+-88.436 44.644 3020
+-88.31 44.644 2996
+-88.184 44.644 2949
+-88.058 44.644 2925
+-87.932 44.644 2882
+-87.806 44.644 2815
+-87.68 44.644 2713
+-87.554 44.644 2613
+-87.428 44.644 2495
+-87.302 44.644 2367
+-87.176 44.644 2256
+-87.05 44.644 2159
+-86.924 44.644 2110
+-86.798 44.644 2104
+-86.672 44.644 2103
+-86.546 44.644 2071
+-86.42 44.644 2000
+-86.294 44.644 1905
+-86.168 44.644 1810
+-86.042 44.644 1761
+-85.916 44.644 1781
+-85.79 44.644 1843
+-85.664 44.644 1917
+-85.538 44.644 1986
+-85.412 44.644 2064
+-85.286 44.644 2110
+-85.16 44.644 2154
+-85.034 44.644 2215
+-84.908 44.644 2253
+-84.782 44.644 2281
+-84.656 44.644 2322
+-84.53 44.644 2327
+-84.404 44.644 2360
+-84.278 44.644 2405
+-84.152 44.644 2401
+-84.026 44.644 2429
+-83.9 44.644 2413
+-83.774 44.644 2432
+-83.648 44.644 2457
+-83.522 44.644 2468
+-83.396 44.644 2488
+-83.27 44.644 2506
+-83.144 44.644 2491
+-83.018 44.644 2520
+-82.892 44.644 2532
+-82.766 44.644 2540
+-82.64 44.644 2554
+-82.514 44.644 2567
+-82.388 44.644 2579
+-82.262 44.644 2557
+-82.136 44.644 2563
+-82.01 44.644 2573
+-81.884 44.644 2582
+-81.758 44.644 2591
+-81.632 44.644 2597
+-81.506 44.644 2561
+-81.38 44.644 2648
+-81.254 44.644 2652
+-81.128 44.644 2662
+-81.002 44.644 2669
+-80.876 44.644 2675
+-80.75 44.644 2681
+-80.624 44.644 2701
+-80.498 44.644 2691
+-80.372 44.644 2742
+-80.246 44.644 2747
+-80.12 44.644 2745
+-79.994 44.644 2755
+-79.868 44.644 2760
+-79.742 44.644 2765
+-79.616 44.644 2759
+-79.49 44.644 2865
+-79.364 44.644 2869
+-79.238 44.644 2874
+-79.112 44.644 2878
+-78.986 44.644 2975
+-78.86 44.644 2938
+-78.734 44.644 3082
+-78.608 44.644 3085
+-78.482 44.644 3056
+-78.356 44.644 3058
+-78.23 44.644 3061
+-78.104 44.644 3063
+-77.978 44.644 3065
+-77.852 44.644 3067
+-77.726 44.644 3148
+-77.6 44.644 3147
+-77.474 44.644 3149
+-77.348 44.644 3152
+-77.222 44.644 3154
+-77.096 44.644 3105
+-76.97 44.644 3135
+-76.844 44.644 3138
+-76.718 44.644 3202
+-76.592 44.644 3125
+-76.466 44.644 3128
+-76.34 44.644 3130
+-76.214 44.644 3172
+-76.088 44.644 3133
+-75.962 44.644 3135
+-75.836 44.644 3137
+-75.71 44.644 3359
+-75.584 44.644 3311
+-75.458 44.644 3313
+-75.332 44.644 3439
+-75.206 44.644 3415
+-75.08 44.644 3416
+-74.954 44.644 3367
+-74.828 44.644 3439
+-74.702 44.644 3440
+-74.576 44.644 3442
+-74.45 44.644 3443
+-74.324 44.644 3445
+-74.198 44.644 3444
+-74.072 44.644 3445
+-73.946 44.644 3446
+-73.82 44.644 3435
+-73.694 44.644 3386
+-73.568 44.644 3381
+-73.442 44.644 3382
+-73.316 44.644 3383
+-73.19 44.644 3384
+-73.064 44.644 3385
+-72.938 44.644 3386
+-72.812 44.644 3387
+-72.686 44.644 3388
+-72.56 44.644 3389
+-72.434 44.644 3390
+-72.308 44.644 3391
+-72.182 44.644 3392
+-72.056 44.644 3393
+-71.93 44.644 3394
+-71.804 44.644 3395
+-71.678 44.644 3504
+-71.552 44.644 3505
+-71.426 44.644 3491
+-71.3 44.644 3491
+-71.174 44.644 3492
+-71.048 44.644 3493
+-70.922 44.644 3493
+-70.796 44.644 3494
+-70.67 44.644 3495
+-70.544 44.644 3495
+-70.418 44.644 3496
+-70.292 44.644 3497
+-70.166 44.644 3497
+-70.04 44.644 3534
+-69.914 44.644 3534
+-69.788 44.644 3535
+-69.662 44.644 3536
+-69.536 44.644 3537
+-69.41 44.644 3538
+-69.284 44.644 3498
+-69.158 44.644 3498
+-69.032 44.644 3499
+-68.906 44.644 3500
+-68.78 44.644 3537
+-68.654 44.644 3537
+-68.528 44.644 3538
+-68.402 44.644 3492
+-68.276 44.644 3492
+-68.15 44.644 3493
+-68.024 44.644 3629
+-67.898 44.644 3630
+-67.772 44.644 3630
+-67.646 44.644 3630
+-67.52 44.644 3631
+-67.394 44.644 3564
+-67.268 44.644 3564
+-67.142 44.644 3564
+-67.016 44.644 3565
+-66.89 44.644 3565
+-66.764 44.644 3565
+-66.638 44.644 3565
+-66.512 44.644 3565
+-66.386 44.644 3565
+-66.26 44.644 3566
+-66.134 44.644 3547
+-66.008 44.644 3534
+-65.882 44.644 3534
+-65.756 44.644 3535
+-65.63 44.644 3535
+-65.504 44.644 3535
+-65.378 44.644 3535
+-65.252 44.644 3516
+-65.126 44.644 3516
+-128 44.592 3891
+-127.874 44.592 3825
+-127.748 44.592 3732
+-127.622 44.592 3896
+-127.496 44.592 4104
+-127.37 44.592 4195
+-127.244 44.592 4285
+-127.118 44.592 4402
+-126.992 44.592 4526
+-126.866 44.592 4652
+-126.74 44.592 4821
+-126.614 44.592 4920
+-126.488 44.592 5016
+-126.362 44.592 5141
+-126.236 44.592 5259
+-126.11 44.592 5341
+-125.984 44.592 5463
+-125.858 44.592 5558
+-125.732 44.592 5650
+-125.606 44.592 5743
+-125.48 44.592 5823
+-125.354 44.592 5926
+-125.228 44.592 6006
+-125.102 44.592 6090
+-124.976 44.592 6176
+-124.85 44.592 6278
+-124.724 44.592 6371
+-124.598 44.592 6437
+-124.472 44.592 6483
+-124.346 44.592 6554
+-124.22 44.592 6607
+-124.094 44.592 6679
+-123.968 44.592 6735
+-123.842 44.592 6793
+-123.716 44.592 6824
+-123.59 44.592 6899
+-123.464 44.592 6920
+-123.338 44.592 6944
+-123.212 44.592 6968
+-123.086 44.592 6981
+-122.96 44.592 6970
+-122.834 44.592 6968
+-122.708 44.592 6973
+-122.582 44.592 6947
+-122.456 44.592 6912
+-122.33 44.592 6875
+-122.204 44.592 6841
+-122.078 44.592 6831
+-121.952 44.592 6780
+-121.826 44.592 6712
+-121.7 44.592 6644
+-121.574 44.592 6562
+-121.448 44.592 6468
+-121.322 44.592 6449
+-121.196 44.592 6285
+-121.07 44.592 6130
+-120.944 44.592 6042
+-120.818 44.592 6208
+-120.692 44.592 6310
+-120.566 44.592 6411
+-120.44 44.592 6517
+-120.314 44.592 6642
+-120.188 44.592 6721
+-120.062 44.592 6832
+-119.936 44.592 6896
+-119.81 44.592 7032
+-119.684 44.592 7128
+-119.558 44.592 7227
+-119.432 44.592 7288
+-119.306 44.592 7379
+-119.18 44.592 7399
+-119.054 44.592 7486
+-118.928 44.592 7528
+-118.802 44.592 7593
+-118.676 44.592 7598
+-118.55 44.592 7642
+-118.424 44.592 7629
+-118.298 44.592 7648
+-118.172 44.592 7659
+-118.046 44.592 7610
+-117.92 44.592 7569
+-117.794 44.592 7519
+-117.668 44.592 7493
+-117.542 44.592 7448
+-117.416 44.592 7343
+-117.29 44.592 7273
+-117.164 44.592 7208
+-117.038 44.592 7133
+-116.912 44.592 7092
+-116.786 44.592 6955
+-116.66 44.592 6811
+-116.534 44.592 6731
+-116.408 44.592 6700
+-116.282 44.592 6560
+-116.156 44.592 6469
+-116.03 44.592 6366
+-115.904 44.592 6245
+-115.778 44.592 6113
+-115.652 44.592 5996
+-115.526 44.592 5905
+-115.4 44.592 5736
+-115.274 44.592 5582
+-115.148 44.592 5542
+-115.022 44.592 5431
+-114.896 44.592 5319
+-114.77 44.592 5185
+-114.644 44.592 5120
+-114.518 44.592 4979
+-114.392 44.592 4868
+-114.266 44.592 4716
+-114.14 44.592 4647
+-114.014 44.592 4510
+-113.888 44.592 4374
+-113.762 44.592 4225
+-113.636 44.592 4143
+-113.51 44.592 4054
+-113.384 44.592 3893
+-113.258 44.592 3752
+-113.132 44.592 3716
+-113.006 44.592 3503
+-112.88 44.592 3309
+-112.754 44.592 3432
+-112.628 44.592 3594
+-112.502 44.592 3697
+-112.376 44.592 3718
+-112.25 44.592 3743
+-112.124 44.592 3725
+-111.998 44.592 3718
+-111.872 44.592 3694
+-111.746 44.592 3665
+-111.62 44.592 3607
+-111.494 44.592 3590
+-111.368 44.592 3577
+-111.242 44.592 3567
+-111.116 44.592 3562
+-110.99 44.592 3509
+-110.864 44.592 3509
+-110.738 44.592 3500
+-110.612 44.592 3504
+-110.486 44.592 3426
+-110.36 44.592 3431
+-110.234 44.592 3422
+-110.108 44.592 3428
+-109.982 44.592 3434
+-109.856 44.592 3365
+-109.73 44.592 3372
+-109.604 44.592 3378
+-109.478 44.592 3384
+-109.352 44.592 3389
+-109.226 44.592 3394
+-109.1 44.592 3375
+-108.974 44.592 3262
+-108.848 44.592 3193
+-108.722 44.592 3198
+-108.596 44.592 3129
+-108.47 44.592 3131
+-108.344 44.592 3133
+-108.218 44.592 3135
+-108.092 44.592 3137
+-107.966 44.592 3139
+-107.84 44.592 3132
+-107.714 44.592 3135
+-107.588 44.592 3137
+-107.462 44.592 3139
+-107.336 44.592 3141
+-107.21 44.592 3143
+-107.084 44.592 3144
+-106.958 44.592 3146
+-106.832 44.592 3148
+-106.706 44.592 3149
+-106.58 44.592 3151
+-106.454 44.592 3152
+-106.328 44.592 3153
+-106.202 44.592 3154
+-106.076 44.592 3156
+-105.95 44.592 3157
+-105.824 44.592 3158
+-105.698 44.592 3159
+-105.572 44.592 2976
+-105.446 44.592 3007
+-105.32 44.592 3002
+-105.194 44.592 2998
+-105.068 44.592 2993
+-104.942 44.592 2988
+-104.816 44.592 2983
+-104.69 44.592 2960
+-104.564 44.592 2933
+-104.438 44.592 2715
+-104.312 44.592 2701
+-104.186 44.592 2532
+-104.06 44.592 2501
+-103.934 44.592 2562
+-103.808 44.592 2463
+-103.682 44.592 2541
+-103.556 44.592 2621
+-103.43 44.592 2625
+-103.304 44.592 2753
+-103.178 44.592 2867
+-103.052 44.592 2868
+-102.926 44.592 2850
+-102.8 44.592 2935
+-102.674 44.592 2934
+-102.548 44.592 2933
+-102.422 44.592 2932
+-102.296 44.592 2931
+-102.17 44.592 2987
+-102.044 44.592 2986
+-101.918 44.592 2985
+-101.792 44.592 2904
+-101.666 44.592 2904
+-101.54 44.592 2903
+-101.414 44.592 2907
+-101.288 44.592 2907
+-101.162 44.592 2907
+-101.036 44.592 2907
+-100.91 44.592 2907
+-100.784 44.592 3036
+-100.658 44.592 3035
+-100.532 44.592 3035
+-100.406 44.592 3034
+-100.28 44.592 3035
+-100.154 44.592 3054
+-100.028 44.592 3045
+-99.902 44.592 3012
+-99.776 44.592 3051
+-99.65 44.592 3284
+-99.524 44.592 3310
+-99.398 44.592 3306
+-99.272 44.592 3183
+-99.146 44.592 3181
+-99.02 44.592 3179
+-98.894 44.592 3177
+-98.768 44.592 3176
+-98.642 44.592 3174
+-98.516 44.592 3172
+-98.39 44.592 3154
+-98.264 44.592 3178
+-98.138 44.592 3177
+-98.012 44.592 3202
+-97.886 44.592 3183
+-97.76 44.592 3219
+-97.634 44.592 3147
+-97.508 44.592 3165
+-97.382 44.592 3169
+-97.256 44.592 3160
+-97.13 44.592 3176
+-97.004 44.592 3178
+-96.878 44.592 3183
+-96.752 44.592 3202
+-96.626 44.592 3205
+-96.5 44.592 3208
+-96.374 44.592 3291
+-96.248 44.592 3293
+-96.122 44.592 3294
+-95.996 44.592 3269
+-95.87 44.592 3345
+-95.744 44.592 3349
+-95.618 44.592 3348
+-95.492 44.592 3346
+-95.366 44.592 3344
+-95.24 44.592 3326
+-95.114 44.592 3322
+-94.988 44.592 3271
+-94.862 44.592 3353
+-94.736 44.592 3353
+-94.61 44.592 3323
+-94.484 44.592 3315
+-94.358 44.592 3306
+-94.232 44.592 3302
+-94.106 44.592 3266
+-93.98 44.592 3258
+-93.854 44.592 3243
+-93.728 44.592 3229
+-93.602 44.592 3214
+-93.476 44.592 3200
+-93.35 44.592 3189
+-93.224 44.592 3171
+-93.098 44.592 3184
+-92.972 44.592 3198
+-92.846 44.592 3220
+-92.72 44.592 3242
+-92.594 44.592 3270
+-92.468 44.592 3298
+-92.342 44.592 3308
+-92.216 44.592 3319
+-92.09 44.592 3336
+-91.964 44.592 3330
+-91.838 44.592 3329
+-91.712 44.592 3317
+-91.586 44.592 3305
+-91.46 44.592 3267
+-91.334 44.592 3233
+-91.208 44.592 3173
+-91.082 44.592 3130
+-90.956 44.592 3182
+-90.83 44.592 3216
+-90.704 44.592 3241
+-90.578 44.592 3284
+-90.452 44.592 3326
+-90.326 44.592 3349
+-90.2 44.592 3357
+-90.074 44.592 3354
+-89.948 44.592 3354
+-89.822 44.592 3354
+-89.696 44.592 3316
+-89.57 44.592 3302
+-89.444 44.592 3284
+-89.318 44.592 3251
+-89.192 44.592 3216
+-89.066 44.592 3183
+-88.94 44.592 3135
+-88.814 44.592 3116
+-88.688 44.592 3105
+-88.562 44.592 3092
+-88.436 44.592 3065
+-88.31 44.592 3041
+-88.184 44.592 3003
+-88.058 44.592 2985
+-87.932 44.592 2921
+-87.806 44.592 2867
+-87.68 44.592 2756
+-87.554 44.592 2662
+-87.428 44.592 2554
+-87.302 44.592 2459
+-87.176 44.592 2351
+-87.05 44.592 2261
+-86.924 44.592 2201
+-86.798 44.592 2163
+-86.672 44.592 2121
+-86.546 44.592 2057
+-86.42 44.592 1964
+-86.294 44.592 1836
+-86.168 44.592 1698
+-86.042 44.592 1631
+-85.916 44.592 1676
+-85.79 44.592 1776
+-85.664 44.592 1875
+-85.538 44.592 1972
+-85.412 44.592 2036
+-85.286 44.592 2090
+-85.16 44.592 2154
+-85.034 44.592 2196
+-84.908 44.592 2229
+-84.782 44.592 2271
+-84.656 44.592 2283
+-84.53 44.592 2318
+-84.404 44.592 2364
+-84.278 44.592 2366
+-84.152 44.592 2397
+-84.026 44.592 2386
+-83.9 44.592 2408
+-83.774 44.592 2435
+-83.648 44.592 2448
+-83.522 44.592 2470
+-83.396 44.592 2490
+-83.27 44.592 2478
+-83.144 44.592 2507
+-83.018 44.592 2520
+-82.892 44.592 2530
+-82.766 44.592 2545
+-82.64 44.592 2559
+-82.514 44.592 2572
+-82.388 44.592 2551
+-82.262 44.592 2557
+-82.136 44.592 2568
+-82.01 44.592 2578
+-81.884 44.592 2587
+-81.758 44.592 2594
+-81.632 44.592 2558
+-81.506 44.592 2644
+-81.38 44.592 2649
+-81.254 44.592 2659
+-81.128 44.592 2666
+-81.002 44.592 2673
+-80.876 44.592 2679
+-80.75 44.592 2699
+-80.624 44.592 2690
+-80.498 44.592 2740
+-80.372 44.592 2746
+-80.246 44.592 2744
+-80.12 44.592 2753
+-79.994 44.592 2758
+-79.868 44.592 2763
+-79.742 44.592 2758
+-79.616 44.592 2863
+-79.49 44.592 2868
+-79.364 44.592 2872
+-79.238 44.592 2877
+-79.112 44.592 2973
+-78.986 44.592 2937
+-78.86 44.592 3080
+-78.734 44.592 3083
+-78.608 44.592 3054
+-78.482 44.592 3057
+-78.356 44.592 3059
+-78.23 44.592 3062
+-78.104 44.592 3064
+-77.978 44.592 3066
+-77.852 44.592 3147
+-77.726 44.592 3145
+-77.6 44.592 3148
+-77.474 44.592 3150
+-77.348 44.592 3153
+-77.222 44.592 3104
+-77.096 44.592 3134
+-76.97 44.592 3136
+-76.844 44.592 3200
+-76.718 44.592 3124
+-76.592 44.592 3127
+-76.466 44.592 3129
+-76.34 44.592 3170
+-76.214 44.592 3132
+-76.088 44.592 3134
+-75.962 44.592 3136
+-75.836 44.592 3358
+-75.71 44.592 3310
+-75.584 44.592 3311
+-75.458 44.592 3437
+-75.332 44.592 3413
+-75.206 44.592 3415
+-75.08 44.592 3365
+-74.954 44.592 3438
+-74.828 44.592 3439
+-74.702 44.592 3441
+-74.576 44.592 3442
+-74.45 44.592 3444
+-74.324 44.592 3443
+-74.198 44.592 3444
+-74.072 44.592 3445
+-73.946 44.592 3434
+-73.82 44.592 3385
+-73.694 44.592 3380
+-73.568 44.592 3381
+-73.442 44.592 3382
+-73.316 44.592 3383
+-73.19 44.592 3384
+-73.064 44.592 3386
+-72.938 44.592 3387
+-72.812 44.592 3388
+-72.686 44.592 3389
+-72.56 44.592 3390
+-72.434 44.592 3391
+-72.308 44.592 3391
+-72.182 44.592 3392
+-72.056 44.592 3393
+-71.93 44.592 3394
+-71.804 44.592 3504
+-71.678 44.592 3505
+-71.552 44.592 3490
+-71.426 44.592 3491
+-71.3 44.592 3492
+-71.174 44.592 3492
+-71.048 44.592 3493
+-70.922 44.592 3494
+-70.796 44.592 3494
+-70.67 44.592 3495
+-70.544 44.592 3496
+-70.418 44.592 3496
+-70.292 44.592 3497
+-70.166 44.592 3533
+-70.04 44.592 3534
+-69.914 44.592 3535
+-69.788 44.592 3536
+-69.662 44.592 3536
+-69.536 44.592 3537
+-69.41 44.592 3497
+-69.284 44.592 3498
+-69.158 44.592 3499
+-69.032 44.592 3499
+-68.906 44.592 3536
+-68.78 44.592 3537
+-68.654 44.592 3538
+-68.528 44.592 3491
+-68.402 44.592 3492
+-68.276 44.592 3493
+-68.15 44.592 3629
+-68.024 44.592 3629
+-67.898 44.592 3630
+-67.772 44.592 3630
+-67.646 44.592 3630
+-67.52 44.592 3564
+-67.394 44.592 3564
+-67.268 44.592 3564
+-67.142 44.592 3564
+-67.016 44.592 3565
+-66.89 44.592 3565
+-66.764 44.592 3565
+-66.638 44.592 3565
+-66.512 44.592 3565
+-66.386 44.592 3565
+-66.26 44.592 3547
+-66.134 44.592 3534
+-66.008 44.592 3534
+-65.882 44.592 3534
+-65.756 44.592 3535
+-65.63 44.592 3535
+-65.504 44.592 3516
+-65.378 44.592 3516
+-65.252 44.592 3516
+-65.126 44.592 3516
+-128 44.54 3830
+-127.874 44.54 3809
+-127.748 44.54 3823
+-127.622 44.54 3929
+-127.496 44.54 4068
+-127.37 44.54 4150
+-127.244 44.54 4236
+-127.118 44.54 4345
+-126.992 44.54 4502
+-126.866 44.54 4620
+-126.74 44.54 4778
+-126.614 44.54 4811
+-126.488 44.54 4944
+-126.362 44.54 5102
+-126.236 44.54 5249
+-126.11 44.54 5337
+-125.984 44.54 5437
+-125.858 44.54 5549
+-125.732 44.54 5584
+-125.606 44.54 5693
+-125.48 44.54 5772
+-125.354 44.54 5872
+-125.228 44.54 5957
+-125.102 44.54 6030
+-124.976 44.54 6122
+-124.85 44.54 6216
+-124.724 44.54 6307
+-124.598 44.54 6371
+-124.472 44.54 6459
+-124.346 44.54 6492
+-124.22 44.54 6594
+-124.094 44.54 6661
+-123.968 44.54 6669
+-123.842 44.54 6752
+-123.716 44.54 6796
+-123.59 44.54 6828
+-123.464 44.54 6862
+-123.338 44.54 6874
+-123.212 44.54 6903
+-123.086 44.54 6905
+-122.96 44.54 6913
+-122.834 44.54 6921
+-122.708 44.54 6909
+-122.582 44.54 6885
+-122.456 44.54 6861
+-122.33 44.54 6833
+-122.204 44.54 6798
+-122.078 44.54 6756
+-121.952 44.54 6738
+-121.826 44.54 6651
+-121.7 44.54 6609
+-121.574 44.54 6466
+-121.448 44.54 6417
+-121.322 44.54 6350
+-121.196 44.54 6230
+-121.07 44.54 6184
+-120.944 44.54 6137
+-120.818 44.54 6131
+-120.692 44.54 6271
+-120.566 44.54 6431
+-120.44 44.54 6507
+-120.314 44.54 6570
+-120.188 44.54 6704
+-120.062 44.54 6791
+-119.936 44.54 6907
+-119.81 44.54 6931
+-119.684 44.54 7091
+-119.558 44.54 7169
+-119.432 44.54 7236
+-119.306 44.54 7314
+-119.18 44.54 7375
+-119.054 44.54 7433
+-118.928 44.54 7490
+-118.802 44.54 7508
+-118.676 44.54 7530
+-118.55 44.54 7552
+-118.424 44.54 7571
+-118.298 44.54 7577
+-118.172 44.54 7576
+-118.046 44.54 7548
+-117.92 44.54 7495
+-117.794 44.54 7490
+-117.668 44.54 7450
+-117.542 44.54 7383
+-117.416 44.54 7285
+-117.29 44.54 7240
+-117.164 44.54 7162
+-117.038 44.54 7088
+-116.912 44.54 7031
+-116.786 44.54 6917
+-116.66 44.54 6784
+-116.534 44.54 6680
+-116.408 44.54 6622
+-116.282 44.54 6514
+-116.156 44.54 6443
+-116.03 44.54 6321
+-115.904 44.54 6207
+-115.778 44.54 6061
+-115.652 44.54 5909
+-115.526 44.54 5847
+-115.4 44.54 5737
+-115.274 44.54 5591
+-115.148 44.54 5473
+-115.022 44.54 5386
+-114.896 44.54 5277
+-114.77 44.54 5158
+-114.644 44.54 5043
+-114.518 44.54 4890
+-114.392 44.54 4852
+-114.266 44.54 4778
+-114.14 44.54 4657
+-114.014 44.54 4524
+-113.888 44.54 4381
+-113.762 44.54 4229
+-113.636 44.54 4124
+-113.51 44.54 4011
+-113.384 44.54 3788
+-113.258 44.54 3606
+-113.132 44.54 3689
+-113.006 44.54 3601
+-112.88 44.54 3464
+-112.754 44.54 3510
+-112.628 44.54 3624
+-112.502 44.54 3710
+-112.376 44.54 3757
+-112.25 44.54 3752
+-112.124 44.54 3764
+-111.998 44.54 3728
+-111.872 44.54 3687
+-111.746 44.54 3650
+-111.62 44.54 3635
+-111.494 44.54 3621
+-111.368 44.54 3609
+-111.242 44.54 3600
+-111.116 44.54 3542
+-110.99 44.54 3537
+-110.864 44.54 3535
+-110.738 44.54 3532
+-110.612 44.54 3526
+-110.486 44.54 3529
+-110.36 44.54 3448
+-110.234 44.54 3452
+-110.108 44.54 3441
+-109.982 44.54 3446
+-109.856 44.54 3366
+-109.73 44.54 3353
+-109.604 44.54 3358
+-109.478 44.54 3362
+-109.352 44.54 3366
+-109.226 44.54 3370
+-109.1 44.54 3336
+-108.974 44.54 3200
+-108.848 44.54 3192
+-108.722 44.54 3123
+-108.596 44.54 3125
+-108.47 44.54 3127
+-108.344 44.54 3129
+-108.218 44.54 3131
+-108.092 44.54 3133
+-107.966 44.54 3135
+-107.84 44.54 3136
+-107.714 44.54 3129
+-107.588 44.54 3131
+-107.462 44.54 3133
+-107.336 44.54 3135
+-107.21 44.54 3137
+-107.084 44.54 3139
+-106.958 44.54 3141
+-106.832 44.54 3142
+-106.706 44.54 3144
+-106.58 44.54 3145
+-106.454 44.54 3147
+-106.328 44.54 3148
+-106.202 44.54 3149
+-106.076 44.54 3151
+-105.95 44.54 3152
+-105.824 44.54 3153
+-105.698 44.54 2972
+-105.572 44.54 2968
+-105.446 44.54 2964
+-105.32 44.54 2959
+-105.194 44.54 2954
+-105.068 44.54 2949
+-104.942 44.54 2944
+-104.816 44.54 2959
+-104.69 44.54 2952
+-104.564 44.54 2926
+-104.438 44.54 2707
+-104.312 44.54 2693
+-104.186 44.54 2525
+-104.06 44.54 2495
+-103.934 44.54 2557
+-103.808 44.54 2460
+-103.682 44.54 2539
+-103.556 44.54 2620
+-103.43 44.54 2719
+-103.304 44.54 2707
+-103.178 44.54 2814
+-103.052 44.54 2867
+-102.926 44.54 2972
+-102.8 44.54 2932
+-102.674 44.54 2931
+-102.548 44.54 2930
+-102.422 44.54 2929
+-102.296 44.54 2928
+-102.17 44.54 2928
+-102.044 44.54 2983
+-101.918 44.54 2982
+-101.792 44.54 2981
+-101.666 44.54 2901
+-101.54 44.54 2900
+-101.414 44.54 2900
+-101.288 44.54 2903
+-101.162 44.54 2904
+-101.036 44.54 2904
+-100.91 44.54 2904
+-100.784 44.54 2904
+-100.658 44.54 3031
+-100.532 44.54 3031
+-100.406 44.54 3030
+-100.28 44.54 3030
+-100.154 44.54 3040
+-100.028 44.54 3049
+-99.902 44.54 3040
+-99.776 44.54 3008
+-99.65 44.54 3047
+-99.524 44.54 3278
+-99.398 44.54 3303
+-99.272 44.54 3299
+-99.146 44.54 3178
+-99.02 44.54 3176
+-98.894 44.54 3174
+-98.768 44.54 3172
+-98.642 44.54 3170
+-98.516 44.54 3168
+-98.39 44.54 3167
+-98.264 44.54 3149
+-98.138 44.54 3173
+-98.012 44.54 3172
+-97.886 44.54 3196
+-97.76 44.54 3177
+-97.634 44.54 3213
+-97.508 44.54 3143
+-97.382 44.54 3160
+-97.256 44.54 3164
+-97.13 44.54 3156
+-97.004 44.54 3172
+-96.878 44.54 3175
+-96.752 44.54 3180
+-96.626 44.54 3199
+-96.5 44.54 3203
+-96.374 44.54 3206
+-96.248 44.54 3288
+-96.122 44.54 3290
+-95.996 44.54 3292
+-95.87 44.54 3267
+-95.744 44.54 3341
+-95.618 44.54 3345
+-95.492 44.54 3344
+-95.366 44.54 3341
+-95.24 44.54 3339
+-95.114 44.54 3321
+-94.988 44.54 3317
+-94.862 44.54 3267
+-94.736 44.54 3343
+-94.61 44.54 3341
+-94.484 44.54 3311
+-94.358 44.54 3302
+-94.232 44.54 3291
+-94.106 44.54 3284
+-93.98 44.54 3245
+-93.854 44.54 3233
+-93.728 44.54 3214
+-93.602 44.54 3191
+-93.476 44.54 3169
+-93.35 44.54 3149
+-93.224 44.54 3138
+-93.098 44.54 3129
+-92.972 44.54 3155
+-92.846 44.54 3186
+-92.72 44.54 3223
+-92.594 44.54 3254
+-92.468 44.54 3285
+-92.342 44.54 3312
+-92.216 44.54 3336
+-92.09 44.54 3336
+-91.964 44.54 3332
+-91.838 44.54 3322
+-91.712 44.54 3304
+-91.586 44.54 3292
+-91.46 44.54 3287
+-91.334 44.54 3267
+-91.208 44.54 3219
+-91.082 44.54 3191
+-90.956 44.54 3213
+-90.83 44.54 3199
+-90.704 44.54 3242
+-90.578 44.54 3301
+-90.452 44.54 3343
+-90.326 44.54 3356
+-90.2 44.54 3370
+-90.074 44.54 3373
+-89.948 44.54 3378
+-89.822 44.54 3385
+-89.696 44.54 3380
+-89.57 44.54 3366
+-89.444 44.54 3337
+-89.318 44.54 3301
+-89.192 44.54 3259
+-89.066 44.54 3218
+-88.94 44.54 3178
+-88.814 44.54 3128
+-88.688 44.54 3113
+-88.562 44.54 3088
+-88.436 44.54 3064
+-88.31 44.54 3052
+-88.184 44.54 3034
+-88.058 44.54 3028
+-87.932 44.54 3000
+-87.806 44.54 2891
+-87.68 44.54 2824
+-87.554 44.54 2736
+-87.428 44.54 2635
+-87.302 44.54 2534
+-87.176 44.54 2432
+-87.05 44.54 2342
+-86.924 44.54 2268
+-86.798 44.54 2201
+-86.672 44.54 2131
+-86.546 44.54 2051
+-86.42 44.54 1953
+-86.294 44.54 1821
+-86.168 44.54 1650
+-86.042 44.54 1562
+-85.916 44.54 1631
+-85.79 44.54 1760
+-85.664 44.54 1873
+-85.538 44.54 1958
+-85.412 44.54 2024
+-85.286 44.54 2091
+-85.16 44.54 2138
+-85.034 44.54 2175
+-84.908 44.54 2217
+-84.782 44.54 2234
+-84.656 44.54 2272
+-84.53 44.54 2319
+-84.404 44.54 2327
+-84.278 44.54 2361
+-84.152 44.54 2356
+-84.026 44.54 2381
+-83.9 44.54 2410
+-83.774 44.54 2426
+-83.648 44.54 2450
+-83.522 44.54 2473
+-83.396 44.54 2463
+-83.27 44.54 2493
+-83.144 44.54 2508
+-83.018 44.54 2519
+-82.892 44.54 2535
+-82.766 44.54 2550
+-82.64 44.54 2564
+-82.514 44.54 2544
+-82.388 44.54 2552
+-82.262 44.54 2563
+-82.136 44.54 2574
+-82.01 44.54 2584
+-81.884 44.54 2591
+-81.758 44.54 2556
+-81.632 44.54 2641
+-81.506 44.54 2646
+-81.38 44.54 2657
+-81.254 44.54 2664
+-81.128 44.54 2670
+-81.002 44.54 2677
+-80.876 44.54 2697
+-80.75 44.54 2688
+-80.624 44.54 2738
+-80.498 44.54 2744
+-80.372 44.54 2742
+-80.246 44.54 2752
+-80.12 44.54 2757
+-79.994 44.54 2762
+-79.868 44.54 2757
+-79.742 44.54 2862
+-79.616 44.54 2866
+-79.49 44.54 2871
+-79.364 44.54 2876
+-79.238 44.54 2972
+-79.112 44.54 2936
+-78.986 44.54 3078
+-78.86 44.54 3081
+-78.734 44.54 3053
+-78.608 44.54 3055
+-78.482 44.54 3058
+-78.356 44.54 3060
+-78.23 44.54 3063
+-78.104 44.54 3065
+-77.978 44.54 3145
+-77.852 44.54 3143
+-77.726 44.54 3146
+-77.6 44.54 3149
+-77.474 44.54 3151
+-77.348 44.54 3103
+-77.222 44.54 3132
+-77.096 44.54 3135
+-76.97 44.54 3199
+-76.844 44.54 3123
+-76.718 44.54 3125
+-76.592 44.54 3128
+-76.466 44.54 3169
+-76.34 44.54 3131
+-76.214 44.54 3133
+-76.088 44.54 3136
+-75.962 44.54 3356
+-75.836 44.54 3308
+-75.71 44.54 3310
+-75.584 44.54 3436
+-75.458 44.54 3412
+-75.332 44.54 3414
+-75.206 44.54 3364
+-75.08 44.54 3437
+-74.954 44.54 3438
+-74.828 44.54 3440
+-74.702 44.54 3441
+-74.576 44.54 3443
+-74.45 44.54 3442
+-74.324 44.54 3443
+-74.198 44.54 3444
+-74.072 44.54 3434
+-73.946 44.54 3384
+-73.82 44.54 3379
+-73.694 44.54 3380
+-73.568 44.54 3382
+-73.442 44.54 3383
+-73.316 44.54 3384
+-73.19 44.54 3385
+-73.064 44.54 3386
+-72.938 44.54 3387
+-72.812 44.54 3388
+-72.686 44.54 3389
+-72.56 44.54 3390
+-72.434 44.54 3391
+-72.308 44.54 3392
+-72.182 44.54 3393
+-72.056 44.54 3394
+-71.93 44.54 3503
+-71.804 44.54 3504
+-71.678 44.54 3490
+-71.552 44.54 3490
+-71.426 44.54 3491
+-71.3 44.54 3492
+-71.174 44.54 3493
+-71.048 44.54 3493
+-70.922 44.54 3494
+-70.796 44.54 3495
+-70.67 44.54 3495
+-70.544 44.54 3496
+-70.418 44.54 3497
+-70.292 44.54 3533
+-70.166 44.54 3533
+-70.04 44.54 3534
+-69.914 44.54 3535
+-69.788 44.54 3536
+-69.662 44.54 3537
+-69.536 44.54 3497
+-69.41 44.54 3498
+-69.284 44.54 3498
+-69.158 44.54 3499
+-69.032 44.54 3536
+-68.906 44.54 3537
+-68.78 44.54 3537
+-68.654 44.54 3491
+-68.528 44.54 3492
+-68.402 44.54 3492
+-68.276 44.54 3629
+-68.15 44.54 3629
+-68.024 44.54 3629
+-67.898 44.54 3630
+-67.772 44.54 3630
+-67.646 44.54 3564
+-67.52 44.54 3564
+-67.394 44.54 3564
+-67.268 44.54 3564
+-67.142 44.54 3564
+-67.016 44.54 3565
+-66.89 44.54 3565
+-66.764 44.54 3565
+-66.638 44.54 3565
+-66.512 44.54 3565
+-66.386 44.54 3547
+-66.26 44.54 3534
+-66.134 44.54 3534
+-66.008 44.54 3534
+-65.882 44.54 3534
+-65.756 44.54 3535
+-65.63 44.54 3535
+-65.504 44.54 3516
+-65.378 44.54 3516
+-65.252 44.54 3516
+-65.126 44.54 3516
+-128 44.488 3735
+-127.874 44.488 3693
+-127.748 44.488 3787
+-127.622 44.488 3918
+-127.496 44.488 4034
+-127.37 44.488 4077
+-127.244 44.488 4160
+-127.118 44.488 4294
+-126.992 44.488 4434
+-126.866 44.488 4594
+-126.74 44.488 4732
+-126.614 44.488 4709
+-126.488 44.488 4843
+-126.362 44.488 5060
+-126.236 44.488 5230
+-126.11 44.488 5323
+-125.984 44.488 5400
+-125.858 44.488 5470
+-125.732 44.488 5516
+-125.606 44.488 5630
+-125.48 44.488 5740
+-125.354 44.488 5818
+-125.228 44.488 5912
+-125.102 44.488 5980
+-124.976 44.488 6078
+-124.85 44.488 6167
+-124.724 44.488 6224
+-124.598 44.488 6330
+-124.472 44.488 6428
+-124.346 44.488 6496
+-124.22 44.488 6554
+-124.094 44.488 6619
+-123.968 44.488 6661
+-123.842 44.488 6689
+-123.716 44.488 6739
+-123.59 44.488 6762
+-123.464 44.488 6791
+-123.338 44.488 6828
+-123.212 44.488 6840
+-123.086 44.488 6860
+-122.96 44.488 6835
+-122.834 44.488 6869
+-122.708 44.488 6849
+-122.582 44.488 6823
+-122.456 44.488 6796
+-122.33 44.488 6770
+-122.204 44.488 6742
+-122.078 44.488 6646
+-121.952 44.488 6655
+-121.826 44.488 6570
+-121.7 44.488 6543
+-121.574 44.488 6454
+-121.448 44.488 6401
+-121.322 44.488 6317
+-121.196 44.488 6220
+-121.07 44.488 6175
+-120.944 44.488 6030
+-120.818 44.488 6113
+-120.692 44.488 6220
+-120.566 44.488 6356
+-120.44 44.488 6428
+-120.314 44.488 6503
+-120.188 44.488 6631
+-120.062 44.488 6754
+-119.936 44.488 6861
+-119.81 44.488 6947
+-119.684 44.488 7024
+-119.558 44.488 7121
+-119.432 44.488 7182
+-119.306 44.488 7231
+-119.18 44.488 7292
+-119.054 44.488 7360
+-118.928 44.488 7414
+-118.802 44.488 7477
+-118.676 44.488 7494
+-118.55 44.488 7480
+-118.424 44.488 7514
+-118.298 44.488 7509
+-118.172 44.488 7510
+-118.046 44.488 7506
+-117.92 44.488 7499
+-117.794 44.488 7410
+-117.668 44.488 7380
+-117.542 44.488 7301
+-117.416 44.488 7255
+-117.29 44.488 7245
+-117.164 44.488 7115
+-117.038 44.488 7014
+-116.912 44.488 6932
+-116.786 44.488 6882
+-116.66 44.488 6755
+-116.534 44.488 6700
+-116.408 44.488 6578
+-116.282 44.488 6513
+-116.156 44.488 6344
+-116.03 44.488 6270
+-115.904 44.488 6138
+-115.778 44.488 6037
+-115.652 44.488 5884
+-115.526 44.488 5799
+-115.4 44.488 5737
+-115.274 44.488 5603
+-115.148 44.488 5437
+-115.022 44.488 5334
+-114.896 44.488 5262
+-114.77 44.488 5063
+-114.644 44.488 4937
+-114.518 44.488 4932
+-114.392 44.488 4694
+-114.266 44.488 4769
+-114.14 44.488 4695
+-114.014 44.488 4547
+-113.888 44.488 4340
+-113.762 44.488 4164
+-113.636 44.488 4052
+-113.51 44.488 4011
+-113.384 44.488 3868
+-113.258 44.488 3742
+-113.132 44.488 3754
+-113.006 44.488 3735
+-112.88 44.488 3676
+-112.754 44.488 3678
+-112.628 44.488 3696
+-112.502 44.488 3748
+-112.376 44.488 3787
+-112.25 44.488 3811
+-112.124 44.488 3779
+-111.998 44.488 3740
+-111.872 44.488 3699
+-111.746 44.488 3668
+-111.62 44.488 3656
+-111.494 44.488 3645
+-111.368 44.488 3599
+-111.242 44.488 3573
+-111.116 44.488 3565
+-110.99 44.488 3560
+-110.864 44.488 3557
+-110.738 44.488 3551
+-110.612 44.488 3551
+-110.486 44.488 3545
+-110.36 44.488 3547
+-110.234 44.488 3432
+-110.108 44.488 3434
+-109.982 44.488 3437
+-109.856 44.488 3440
+-109.73 44.488 3378
+-109.604 44.488 3364
+-109.478 44.488 3368
+-109.352 44.488 3371
+-109.226 44.488 3313
+-109.1 44.488 3314
+-108.974 44.488 3199
+-108.848 44.488 3117
+-108.722 44.488 3119
+-108.596 44.488 3121
+-108.47 44.488 3123
+-108.344 44.488 3125
+-108.218 44.488 3127
+-108.092 44.488 3129
+-107.966 44.488 3130
+-107.84 44.488 3132
+-107.714 44.488 3133
+-107.588 44.488 3126
+-107.462 44.488 3128
+-107.336 44.488 3130
+-107.21 44.488 3132
+-107.084 44.488 3134
+-106.958 44.488 3135
+-106.832 44.488 3137
+-106.706 44.488 3139
+-106.58 44.488 3140
+-106.454 44.488 3142
+-106.328 44.488 3143
+-106.202 44.488 3144
+-106.076 44.488 3146
+-105.95 44.488 3147
+-105.824 44.488 2969
+-105.698 44.488 2965
+-105.572 44.488 2961
+-105.446 44.488 2956
+-105.32 44.488 2952
+-105.194 44.488 2947
+-105.068 44.488 2942
+-104.942 44.488 2937
+-104.816 44.488 2951
+-104.69 44.488 2945
+-104.564 44.488 2918
+-104.438 44.488 2699
+-104.312 44.488 2514
+-104.186 44.488 2518
+-104.06 44.488 2489
+-103.934 44.488 2584
+-103.808 44.488 2456
+-103.682 44.488 2515
+-103.556 44.488 2618
+-103.43 44.488 2718
+-103.304 44.488 2706
+-103.178 44.488 2813
+-103.052 44.488 2813
+-102.926 44.488 2970
+-102.8 44.488 2968
+-102.674 44.488 2928
+-102.548 44.488 2927
+-102.422 44.488 2926
+-102.296 44.488 2925
+-102.17 44.488 2925
+-102.044 44.488 2924
+-101.918 44.488 2979
+-101.792 44.488 2977
+-101.666 44.488 2976
+-101.54 44.488 2897
+-101.414 44.488 2897
+-101.288 44.488 2896
+-101.162 44.488 2900
+-101.036 44.488 2900
+-100.91 44.488 2900
+-100.784 44.488 2900
+-100.658 44.488 2901
+-100.532 44.488 3027
+-100.406 44.488 3026
+-100.28 44.488 3026
+-100.154 44.488 3025
+-100.028 44.488 3026
+-99.902 44.488 3045
+-99.776 44.488 3036
+-99.65 44.488 3005
+-99.524 44.488 3043
+-99.398 44.488 3271
+-99.272 44.488 3295
+-99.146 44.488 3292
+-99.02 44.488 3172
+-98.894 44.488 3170
+-98.768 44.488 3168
+-98.642 44.488 3166
+-98.516 44.488 3164
+-98.39 44.488 3162
+-98.264 44.488 3160
+-98.138 44.488 3143
+-98.012 44.488 3167
+-97.886 44.488 3166
+-97.76 44.488 3189
+-97.634 44.488 3172
+-97.508 44.488 3207
+-97.382 44.488 3138
+-97.256 44.488 3156
+-97.13 44.488 3159
+-97.004 44.488 3152
+-96.878 44.488 3168
+-96.752 44.488 3171
+-96.626 44.488 3177
+-96.5 44.488 3196
+-96.374 44.488 3200
+-96.248 44.488 3204
+-96.122 44.488 3284
+-95.996 44.488 3287
+-95.87 44.488 3289
+-95.744 44.488 3265
+-95.618 44.488 3338
+-95.492 44.488 3341
+-95.366 44.488 3340
+-95.24 44.488 3337
+-95.114 44.488 3334
+-94.988 44.488 3316
+-94.862 44.488 3312
+-94.736 44.488 3263
+-94.61 44.488 3332
+-94.484 44.488 3329
+-94.358 44.488 3298
+-94.232 44.488 3286
+-94.106 44.488 3273
+-93.98 44.488 3260
+-93.854 44.488 3219
+-93.728 44.488 3198
+-93.602 44.488 3167
+-93.476 44.488 3134
+-93.35 44.488 3100
+-93.224 44.488 3075
+-93.098 44.488 3072
+-92.972 44.488 3090
+-92.846 44.488 3144
+-92.72 44.488 3196
+-92.594 44.488 3243
+-92.468 44.488 3289
+-92.342 44.488 3323
+-92.216 44.488 3328
+-92.09 44.488 3343
+-91.964 44.488 3334
+-91.838 44.488 3313
+-91.712 44.488 3279
+-91.586 44.488 3256
+-91.46 44.488 3277
+-91.334 44.488 3294
+-91.208 44.488 3286
+-91.082 44.488 3271
+-90.956 44.488 3258
+-90.83 44.488 3247
+-90.704 44.488 3287
+-90.578 44.488 3341
+-90.452 44.488 3353
+-90.326 44.488 3354
+-90.2 44.488 3371
+-90.074 44.488 3391
+-89.948 44.488 3405
+-89.822 44.488 3416
+-89.696 44.488 3408
+-89.57 44.488 3388
+-89.444 44.488 3359
+-89.318 44.488 3321
+-89.192 44.488 3277
+-89.066 44.488 3218
+-88.94 44.488 3156
+-88.814 44.488 3117
+-88.688 44.488 3112
+-88.562 44.488 3057
+-88.436 44.488 3010
+-88.31 44.488 3024
+-88.184 44.488 3038
+-88.058 44.488 3047
+-87.932 44.488 3027
+-87.806 44.488 2972
+-87.68 44.488 2872
+-87.554 44.488 2814
+-87.428 44.488 2691
+-87.302 44.488 2597
+-87.176 44.488 2497
+-87.05 44.488 2402
+-86.924 44.488 2313
+-86.798 44.488 2225
+-86.672 44.488 2138
+-86.546 44.488 2049
+-86.42 44.488 1967
+-86.294 44.488 1881
+-86.168 44.488 1752
+-86.042 44.488 1655
+-85.916 44.488 1702
+-85.79 44.488 1802
+-85.664 44.488 1894
+-85.538 44.488 1966
+-85.412 44.488 2034
+-85.286 44.488 2082
+-85.16 44.488 2119
+-85.034 44.488 2161
+-84.908 44.488 2183
+-84.782 44.488 2221
+-84.656 44.488 2269
+-84.53 44.488 2285
+-84.404 44.488 2322
+-84.278 44.488 2323
+-84.152 44.488 2352
+-84.026 44.488 2383
+-83.9 44.488 2403
+-83.774 44.488 2429
+-83.648 44.488 2454
+-83.522 44.488 2448
+-83.396 44.488 2478
+-83.27 44.488 2495
+-83.144 44.488 2508
+-83.018 44.488 2525
+-82.892 44.488 2541
+-82.766 44.488 2556
+-82.64 44.488 2538
+-82.514 44.488 2547
+-82.388 44.488 2559
+-82.262 44.488 2570
+-82.136 44.488 2580
+-82.01 44.488 2588
+-81.884 44.488 2554
+-81.758 44.488 2638
+-81.632 44.488 2643
+-81.506 44.488 2654
+-81.38 44.488 2662
+-81.254 44.488 2668
+-81.128 44.488 2675
+-81.002 44.488 2696
+-80.876 44.488 2687
+-80.75 44.488 2736
+-80.624 44.488 2742
+-80.498 44.488 2741
+-80.372 44.488 2750
+-80.246 44.488 2756
+-80.12 44.488 2761
+-79.994 44.488 2756
+-79.868 44.488 2860
+-79.742 44.488 2865
+-79.616 44.488 2870
+-79.49 44.488 2875
+-79.364 44.488 2971
+-79.238 44.488 2935
+-79.112 44.488 3075
+-78.986 44.488 3079
+-78.86 44.488 3051
+-78.734 44.488 3054
+-78.608 44.488 3056
+-78.482 44.488 3059
+-78.356 44.488 3061
+-78.23 44.488 3064
+-78.104 44.488 3143
+-77.978 44.488 3141
+-77.852 44.488 3144
+-77.726 44.488 3147
+-77.6 44.488 3150
+-77.474 44.488 3102
+-77.348 44.488 3131
+-77.222 44.488 3134
+-77.096 44.488 3197
+-76.97 44.488 3122
+-76.844 44.488 3124
+-76.718 44.488 3127
+-76.592 44.488 3168
+-76.466 44.488 3130
+-76.34 44.488 3132
+-76.214 44.488 3135
+-76.088 44.488 3355
+-75.962 44.488 3307
+-75.836 44.488 3309
+-75.71 44.488 3434
+-75.584 44.488 3411
+-75.458 44.488 3412
+-75.332 44.488 3363
+-75.206 44.488 3436
+-75.08 44.488 3437
+-74.954 44.488 3439
+-74.828 44.488 3440
+-74.702 44.488 3442
+-74.576 44.488 3441
+-74.45 44.488 3442
+-74.324 44.488 3444
+-74.198 44.488 3433
+-74.072 44.488 3384
+-73.946 44.488 3378
+-73.82 44.488 3380
+-73.694 44.488 3381
+-73.568 44.488 3382
+-73.442 44.488 3383
+-73.316 44.488 3384
+-73.19 44.488 3385
+-73.064 44.488 3386
+-72.938 44.488 3387
+-72.812 44.488 3389
+-72.686 44.488 3389
+-72.56 44.488 3390
+-72.434 44.488 3391
+-72.308 44.488 3392
+-72.182 44.488 3393
+-72.056 44.488 3503
+-71.93 44.488 3504
+-71.804 44.488 3489
+-71.678 44.488 3490
+-71.552 44.488 3491
+-71.426 44.488 3491
+-71.3 44.488 3492
+-71.174 44.488 3493
+-71.048 44.488 3493
+-70.922 44.488 3494
+-70.796 44.488 3495
+-70.67 44.488 3495
+-70.544 44.488 3496
+-70.418 44.488 3532
+-70.292 44.488 3533
+-70.166 44.488 3534
+-70.04 44.488 3535
+-69.914 44.488 3535
+-69.788 44.488 3536
+-69.662 44.488 3496
+-69.536 44.488 3497
+-69.41 44.488 3498
+-69.284 44.488 3499
+-69.158 44.488 3535
+-69.032 44.488 3536
+-68.906 44.488 3537
+-68.78 44.488 3490
+-68.654 44.488 3491
+-68.528 44.488 3492
+-68.402 44.488 3628
+-68.276 44.488 3629
+-68.15 44.488 3629
+-68.024 44.488 3629
+-67.898 44.488 3630
+-67.772 44.488 3563
+-67.646 44.488 3564
+-67.52 44.488 3564
+-67.394 44.488 3564
+-67.268 44.488 3564
+-67.142 44.488 3564
+-67.016 44.488 3565
+-66.89 44.488 3565
+-66.764 44.488 3565
+-66.638 44.488 3565
+-66.512 44.488 3547
+-66.386 44.488 3534
+-66.26 44.488 3534
+-66.134 44.488 3534
+-66.008 44.488 3534
+-65.882 44.488 3534
+-65.756 44.488 3515
+-65.63 44.488 3516
+-65.504 44.488 3516
+-65.378 44.488 3516
+-65.252 44.488 3516
+-65.126 44.488 3516
+-128 44.436 3657
+-127.874 44.436 3558
+-127.748 44.436 3706
+-127.622 44.436 3879
+-127.496 44.436 3999
+-127.37 44.436 4019
+-127.244 44.436 4097
+-127.118 44.436 4251
+-126.992 44.436 4414
+-126.866 44.436 4583
+-126.74 44.436 4722
+-126.614 44.436 4779
+-126.488 44.436 4863
+-126.362 44.436 5045
+-126.236 44.436 5163
+-126.11 44.436 5294
+-125.984 44.436 5370
+-125.858 44.436 5334
+-125.732 44.436 5481
+-125.606 44.436 5578
+-125.48 44.436 5665
+-125.354 44.436 5772
+-125.228 44.436 5862
+-125.102 44.436 5927
+-124.976 44.436 5994
+-124.85 44.436 6120
+-124.724 44.436 6172
+-124.598 44.436 6245
+-124.472 44.436 6362
+-124.346 44.436 6451
+-124.22 44.436 6513
+-124.094 44.436 6527
+-123.968 44.436 6604
+-123.842 44.436 6663
+-123.716 44.436 6693
+-123.59 44.436 6714
+-123.464 44.436 6729
+-123.338 44.436 6759
+-123.212 44.436 6805
+-123.086 44.436 6802
+-122.96 44.436 6807
+-122.834 44.436 6796
+-122.708 44.436 6773
+-122.582 44.436 6753
+-122.456 44.436 6735
+-122.33 44.436 6727
+-122.204 44.436 6685
+-122.078 44.436 6634
+-121.952 44.436 6557
+-121.826 44.436 6494
+-121.7 44.436 6454
+-121.574 44.436 6394
+-121.448 44.436 6348
+-121.322 44.436 6278
+-121.196 44.436 6166
+-121.07 44.436 6115
+-120.944 44.436 6080
+-120.818 44.436 6106
+-120.692 44.436 6204
+-120.566 44.436 6326
+-120.44 44.436 6381
+-120.314 44.436 6531
+-120.188 44.436 6586
+-120.062 44.436 6721
+-119.936 44.436 6816
+-119.81 44.436 6906
+-119.684 44.436 6962
+-119.558 44.436 7059
+-119.432 44.436 7123
+-119.306 44.436 7197
+-119.18 44.436 7220
+-119.054 44.436 7304
+-118.928 44.436 7357
+-118.802 44.436 7372
+-118.676 44.436 7454
+-118.55 44.436 7439
+-118.424 44.436 7485
+-118.298 44.436 7454
+-118.172 44.436 7446
+-118.046 44.436 7439
+-117.92 44.436 7410
+-117.794 44.436 7384
+-117.668 44.436 7341
+-117.542 44.436 7272
+-117.416 44.436 7202
+-117.29 44.436 7127
+-117.164 44.436 7073
+-117.038 44.436 6979
+-116.912 44.436 6902
+-116.786 44.436 6816
+-116.66 44.436 6725
+-116.534 44.436 6638
+-116.408 44.436 6517
+-116.282 44.436 6433
+-116.156 44.436 6345
+-116.03 44.436 6205
+-115.904 44.436 6100
+-115.778 44.436 5949
+-115.652 44.436 5872
+-115.526 44.436 5719
+-115.4 44.436 5664
+-115.274 44.436 5582
+-115.148 44.436 5426
+-115.022 44.436 5337
+-114.896 44.436 5237
+-114.77 44.436 5111
+-114.644 44.436 5045
+-114.518 44.436 4959
+-114.392 44.436 4847
+-114.266 44.436 4804
+-114.14 44.436 4711
+-114.014 44.436 4548
+-113.888 44.436 4327
+-113.762 44.436 4095
+-113.636 44.436 3958
+-113.51 44.436 4013
+-113.384 44.436 3977
+-113.258 44.436 3895
+-113.132 44.436 3860
+-113.006 44.436 3835
+-112.88 44.436 3811
+-112.754 44.436 3816
+-112.628 44.436 3781
+-112.502 44.436 3781
+-112.376 44.436 3803
+-112.25 44.436 3779
+-112.124 44.436 3749
+-111.998 44.436 3752
+-111.872 44.436 3747
+-111.746 44.436 3704
+-111.62 44.436 3673
+-111.494 44.436 3627
+-111.368 44.436 3599
+-111.242 44.436 3590
+-111.116 44.436 3583
+-110.99 44.436 3577
+-110.864 44.436 3569
+-110.738 44.436 3567
+-110.612 44.436 3566
+-110.486 44.436 3566
+-110.36 44.436 3567
+-110.234 44.436 3443
+-110.108 44.436 3444
+-109.982 44.436 3446
+-109.856 44.436 3447
+-109.73 44.436 3450
+-109.604 44.436 3388
+-109.478 44.436 3373
+-109.352 44.436 3314
+-109.226 44.436 3315
+-109.1 44.436 3256
+-108.974 44.436 3244
+-108.848 44.436 3113
+-108.722 44.436 3115
+-108.596 44.436 3117
+-108.47 44.436 3119
+-108.344 44.436 3121
+-108.218 44.436 3122
+-108.092 44.436 3124
+-107.966 44.436 3126
+-107.84 44.436 3127
+-107.714 44.436 3128
+-107.588 44.436 3130
+-107.462 44.436 3122
+-107.336 44.436 3124
+-107.21 44.436 3126
+-107.084 44.436 3128
+-106.958 44.436 3130
+-106.832 44.436 3132
+-106.706 44.436 3133
+-106.58 44.436 3135
+-106.454 44.436 3136
+-106.328 44.436 3138
+-106.202 44.436 3139
+-106.076 44.436 3141
+-105.95 44.436 3142
+-105.824 44.436 2961
+-105.698 44.436 2957
+-105.572 44.436 2953
+-105.446 44.436 2949
+-105.32 44.436 2944
+-105.194 44.436 2939
+-105.068 44.436 2934
+-104.942 44.436 2929
+-104.816 44.436 2944
+-104.69 44.436 2937
+-104.564 44.436 2745
+-104.438 44.436 2690
+-104.312 44.436 2507
+-104.186 44.436 2512
+-104.06 44.436 2483
+-103.934 44.436 2436
+-103.808 44.436 2523
+-103.682 44.436 2524
+-103.556 44.436 2557
+-103.43 44.436 2681
+-103.304 44.436 2826
+-103.178 44.436 2812
+-103.052 44.436 2812
+-102.926 44.436 2916
+-102.8 44.436 2965
+-102.674 44.436 2963
+-102.548 44.436 2924
+-102.422 44.436 2923
+-102.296 44.436 2922
+-102.17 44.436 2922
+-102.044 44.436 2921
+-101.918 44.436 2920
+-101.792 44.436 2974
+-101.666 44.436 2973
+-101.54 44.436 2972
+-101.414 44.436 2893
+-101.288 44.436 2893
+-101.162 44.436 2893
+-101.036 44.436 2896
+-100.91 44.436 2896
+-100.784 44.436 2897
+-100.658 44.436 2897
+-100.532 44.436 2897
+-100.406 44.436 3022
+-100.28 44.436 3022
+-100.154 44.436 3021
+-100.028 44.436 3021
+-99.902 44.436 3030
+-99.776 44.436 3040
+-99.65 44.436 3031
+-99.524 44.436 3001
+-99.398 44.436 3039
+-99.272 44.436 3264
+-99.146 44.436 3288
+-99.02 44.436 3283
+-98.894 44.436 3166
+-98.768 44.436 3164
+-98.642 44.436 3162
+-98.516 44.436 3160
+-98.39 44.436 3158
+-98.264 44.436 3156
+-98.138 44.436 3154
+-98.012 44.436 3137
+-97.886 44.436 3160
+-97.76 44.436 3159
+-97.634 44.436 3182
+-97.508 44.436 3165
+-97.382 44.436 3200
+-97.256 44.436 3133
+-97.13 44.436 3150
+-97.004 44.436 3154
+-96.878 44.436 3148
+-96.752 44.436 3164
+-96.626 44.436 3168
+-96.5 44.436 3174
+-96.374 44.436 3194
+-96.248 44.436 3198
+-96.122 44.436 3202
+-95.996 44.436 3281
+-95.87 44.436 3284
+-95.744 44.436 3287
+-95.618 44.436 3264
+-95.492 44.436 3334
+-95.366 44.436 3337
+-95.24 44.436 3335
+-95.114 44.436 3332
+-94.988 44.436 3329
+-94.862 44.436 3311
+-94.736 44.436 3306
+-94.61 44.436 3258
+-94.484 44.436 3320
+-94.358 44.436 3315
+-94.232 44.436 3283
+-94.106 44.436 3269
+-93.98 44.436 3251
+-93.854 44.436 3231
+-93.728 44.436 3183
+-93.602 44.436 3148
+-93.476 44.436 3100
+-93.35 44.436 3043
+-93.224 44.436 2993
+-93.098 44.436 2977
+-92.972 44.436 3018
+-92.846 44.436 3088
+-92.72 44.436 3169
+-92.594 44.436 3229
+-92.468 44.436 3288
+-92.342 44.436 3331
+-92.216 44.436 3342
+-92.09 44.436 3343
+-91.964 44.436 3345
+-91.838 44.436 3317
+-91.712 44.436 3264
+-91.586 44.436 3219
+-91.46 44.436 3269
+-91.334 44.436 3328
+-91.208 44.436 3339
+-91.082 44.436 3337
+-90.956 44.436 3337
+-90.83 44.436 3338
+-90.704 44.436 3360
+-90.578 44.436 3383
+-90.452 44.436 3363
+-90.326 44.436 3338
+-90.2 44.436 3367
+-90.074 44.436 3412
+-89.948 44.436 3435
+-89.822 44.436 3440
+-89.696 44.436 3431
+-89.57 44.436 3411
+-89.444 44.436 3382
+-89.318 44.436 3348
+-89.192 44.436 3297
+-89.066 44.436 3228
+-88.94 44.436 3142
+-88.814 44.436 3091
+-88.688 44.436 3109
+-88.562 44.436 3038
+-88.436 44.436 2961
+-88.31 44.436 3006
+-88.184 44.436 3048
+-88.058 44.436 3068
+-87.932 44.436 3055
+-87.806 44.436 3027
+-87.68 44.436 2935
+-87.554 44.436 2859
+-87.428 44.436 2776
+-87.302 44.436 2679
+-87.176 44.436 2576
+-87.05 44.436 2472
+-86.924 44.436 2370
+-86.798 44.436 2247
+-86.672 44.436 2143
+-86.546 44.436 2045
+-86.42 44.436 1974
+-86.294 44.436 1944
+-86.168 44.436 1899
+-86.042 44.436 1839
+-85.916 44.436 1836
+-85.79 44.436 1881
+-85.664 44.436 1936
+-85.538 44.436 1994
+-85.412 44.436 2035
+-85.286 44.436 2067
+-85.16 44.436 2104
+-85.034 44.436 2127
+-84.908 44.436 2165
+-84.782 44.436 2214
+-84.656 44.436 2236
+-84.53 44.436 2277
+-84.404 44.436 2286
+-84.278 44.436 2318
+-84.152 44.436 2353
+-84.026 44.436 2377
+-83.9 44.436 2407
+-83.774 44.436 2434
+-83.648 44.436 2432
+-83.522 44.436 2463
+-83.396 44.436 2481
+-83.27 44.436 2496
+-83.144 44.436 2515
+-83.018 44.436 2532
+-82.892 44.436 2548
+-82.766 44.436 2532
+-82.64 44.436 2542
+-82.514 44.436 2554
+-82.388 44.436 2566
+-82.262 44.436 2577
+-82.136 44.436 2585
+-82.01 44.436 2552
+-81.884 44.436 2635
+-81.758 44.436 2640
+-81.632 44.436 2652
+-81.506 44.436 2660
+-81.38 44.436 2667
+-81.254 44.436 2673
+-81.128 44.436 2694
+-81.002 44.436 2685
+-80.876 44.436 2734
+-80.75 44.436 2741
+-80.624 44.436 2740
+-80.498 44.436 2749
+-80.372 44.436 2755
+-80.246 44.436 2760
+-80.12 44.436 2756
+-79.994 44.436 2859
+-79.868 44.436 2864
+-79.742 44.436 2869
+-79.616 44.436 2874
+-79.49 44.436 2969
+-79.364 44.436 2934
+-79.238 44.436 3073
+-79.112 44.436 3077
+-78.986 44.436 3049
+-78.86 44.436 3052
+-78.734 44.436 3055
+-78.608 44.436 3057
+-78.482 44.436 3060
+-78.356 44.436 3062
+-78.23 44.436 3141
+-78.104 44.436 3140
+-77.978 44.436 3143
+-77.852 44.436 3146
+-77.726 44.436 3148
+-77.6 44.436 3101
+-77.474 44.436 3130
+-77.348 44.436 3132
+-77.222 44.436 3195
+-77.096 44.436 3120
+-76.97 44.436 3123
+-76.844 44.436 3126
+-76.718 44.436 3167
+-76.592 44.436 3128
+-76.466 44.436 3131
+-76.34 44.436 3134
+-76.214 44.436 3353
+-76.088 44.436 3306
+-75.962 44.436 3308
+-75.836 44.436 3433
+-75.71 44.436 3409
+-75.584 44.436 3411
+-75.458 44.436 3362
+-75.332 44.436 3435
+-75.206 44.436 3436
+-75.08 44.436 3437
+-74.954 44.436 3439
+-74.828 44.436 3441
+-74.702 44.436 3440
+-74.576 44.436 3441
+-74.45 44.436 3443
+-74.324 44.436 3432
+-74.198 44.436 3383
+-74.072 44.436 3378
+-73.946 44.436 3379
+-73.82 44.436 3380
+-73.694 44.436 3381
+-73.568 44.436 3383
+-73.442 44.436 3384
+-73.316 44.436 3385
+-73.19 44.436 3386
+-73.064 44.436 3387
+-72.938 44.436 3388
+-72.812 44.436 3389
+-72.686 44.436 3390
+-72.56 44.436 3391
+-72.434 44.436 3392
+-72.308 44.436 3393
+-72.182 44.436 3502
+-72.056 44.436 3503
+-71.93 44.436 3489
+-71.804 44.436 3489
+-71.678 44.436 3490
+-71.552 44.436 3491
+-71.426 44.436 3492
+-71.3 44.436 3492
+-71.174 44.436 3493
+-71.048 44.436 3494
+-70.922 44.436 3494
+-70.796 44.436 3495
+-70.67 44.436 3496
+-70.544 44.436 3531
+-70.418 44.436 3532
+-70.292 44.436 3533
+-70.166 44.436 3534
+-70.04 44.436 3535
+-69.914 44.436 3536
+-69.788 44.436 3496
+-69.662 44.436 3497
+-69.536 44.436 3497
+-69.41 44.436 3498
+-69.284 44.436 3535
+-69.158 44.436 3536
+-69.032 44.436 3536
+-68.906 44.436 3490
+-68.78 44.436 3491
+-68.654 44.436 3492
+-68.528 44.436 3628
+-68.402 44.436 3629
+-68.276 44.436 3629
+-68.15 44.436 3629
+-68.024 44.436 3629
+-67.898 44.436 3563
+-67.772 44.436 3563
+-67.646 44.436 3564
+-67.52 44.436 3564
+-67.394 44.436 3564
+-67.268 44.436 3564
+-67.142 44.436 3564
+-67.016 44.436 3565
+-66.89 44.436 3565
+-66.764 44.436 3565
+-66.638 44.436 3546
+-66.512 44.436 3533
+-66.386 44.436 3534
+-66.26 44.436 3534
+-66.134 44.436 3534
+-66.008 44.436 3534
+-65.882 44.436 3534
+-65.756 44.436 3515
+-65.63 44.436 3516
+-65.504 44.436 3516
+-65.378 44.436 3516
+-65.252 44.436 3516
+-65.126 44.436 3516
+-128 44.384 3691
+-127.874 44.384 3661
+-127.748 44.384 3707
+-127.622 44.384 3809
+-127.496 44.384 3964
+-127.37 44.384 4031
+-127.244 44.384 4095
+-127.118 44.384 4206
+-126.992 44.384 4394
+-126.866 44.384 4526
+-126.74 44.384 4720
+-126.614 44.384 4785
+-126.488 44.384 4818
+-126.362 44.384 4952
+-126.236 44.384 5098
+-126.11 44.384 5238
+-125.984 44.384 5351
+-125.858 44.384 5416
+-125.732 44.384 5388
+-125.606 44.384 5535
+-125.48 44.384 5575
+-125.354 44.384 5714
+-125.228 44.384 5806
+-125.102 44.384 5881
+-124.976 44.384 5948
+-124.85 44.384 6039
+-124.724 44.384 6107
+-124.598 44.384 6183
+-124.472 44.384 6292
+-124.346 44.384 6373
+-124.22 44.384 6453
+-124.094 44.384 6509
+-123.968 44.384 6552
+-123.842 44.384 6596
+-123.716 44.384 6643
+-123.59 44.384 6653
+-123.464 44.384 6716
+-123.338 44.384 6690
+-123.212 44.384 6724
+-123.086 44.384 6737
+-122.96 44.384 6726
+-122.834 44.384 6710
+-122.708 44.384 6726
+-122.582 44.384 6697
+-122.456 44.384 6702
+-122.33 44.384 6666
+-122.204 44.384 6615
+-122.078 44.384 6546
+-121.952 44.384 6524
+-121.826 44.384 6461
+-121.7 44.384 6439
+-121.574 44.384 6369
+-121.448 44.384 6288
+-121.322 44.384 6226
+-121.196 44.384 6137
+-121.07 44.384 6077
+-120.944 44.384 6000
+-120.818 44.384 6089
+-120.692 44.384 6172
+-120.566 44.384 6245
+-120.44 44.384 6363
+-120.314 44.384 6426
+-120.188 44.384 6539
+-120.062 44.384 6663
+-119.936 44.384 6772
+-119.81 44.384 6878
+-119.684 44.384 6930
+-119.558 44.384 7030
+-119.432 44.384 7088
+-119.306 44.384 7159
+-119.18 44.384 7234
+-119.054 44.384 7257
+-118.928 44.384 7314
+-118.802 44.384 7342
+-118.676 44.384 7404
+-118.55 44.384 7390
+-118.424 44.384 7422
+-118.298 44.384 7417
+-118.172 44.384 7397
+-118.046 44.384 7377
+-117.92 44.384 7359
+-117.794 44.384 7338
+-117.668 44.384 7279
+-117.542 44.384 7228
+-117.416 44.384 7153
+-117.29 44.384 7073
+-117.164 44.384 7015
+-117.038 44.384 6930
+-116.912 44.384 6856
+-116.786 44.384 6805
+-116.66 44.384 6696
+-116.534 44.384 6612
+-116.408 44.384 6473
+-116.282 44.384 6408
+-116.156 44.384 6293
+-116.03 44.384 6235
+-115.904 44.384 6080
+-115.778 44.384 5969
+-115.652 44.384 5854
+-115.526 44.384 5730
+-115.4 44.384 5625
+-115.274 44.384 5537
+-115.148 44.384 5408
+-115.022 44.384 5256
+-114.896 44.384 5211
+-114.77 44.384 4999
+-114.644 44.384 5054
+-114.518 44.384 4996
+-114.392 44.384 4910
+-114.266 44.384 4817
+-114.14 44.384 4734
+-114.014 44.384 4551
+-113.888 44.384 4393
+-113.762 44.384 4181
+-113.636 44.384 4062
+-113.51 44.384 4062
+-113.384 44.384 4047
+-113.258 44.384 4000
+-113.132 44.384 3959
+-113.006 44.384 3930
+-112.88 44.384 3902
+-112.754 44.384 3903
+-112.628 44.384 3865
+-112.502 44.384 3858
+-112.376 44.384 3794
+-112.25 44.384 3761
+-112.124 44.384 3762
+-111.998 44.384 3760
+-111.872 44.384 3755
+-111.746 44.384 3722
+-111.62 44.384 3664
+-111.494 44.384 3639
+-111.368 44.384 3611
+-111.242 44.384 3575
+-111.116 44.384 3568
+-110.99 44.384 3562
+-110.864 44.384 3557
+-110.738 44.384 3554
+-110.612 44.384 3552
+-110.486 44.384 3551
+-110.36 44.384 3551
+-110.234 44.384 3551
+-110.108 44.384 3453
+-109.982 44.384 3453
+-109.856 44.384 3454
+-109.73 44.384 3456
+-109.604 44.384 3420
+-109.478 44.384 3327
+-109.352 44.384 3316
+-109.226 44.384 3256
+-109.1 44.384 3255
+-108.974 44.384 3255
+-108.848 44.384 3254
+-108.722 44.384 3111
+-108.596 44.384 3113
+-108.47 44.384 3114
+-108.344 44.384 3116
+-108.218 44.384 3118
+-108.092 44.384 3119
+-107.966 44.384 3121
+-107.84 44.384 3122
+-107.714 44.384 3124
+-107.588 44.384 3125
+-107.462 44.384 3126
+-107.336 44.384 3119
+-107.21 44.384 3121
+-107.084 44.384 3122
+-106.958 44.384 3124
+-106.832 44.384 3126
+-106.706 44.384 3128
+-106.58 44.384 3130
+-106.454 44.384 3131
+-106.328 44.384 3133
+-106.202 44.384 3134
+-106.076 44.384 3136
+-105.95 44.384 3137
+-105.824 44.384 2954
+-105.698 44.384 2950
+-105.572 44.384 2945
+-105.446 44.384 2941
+-105.32 44.384 2936
+-105.194 44.384 2931
+-105.068 44.384 2926
+-104.942 44.384 2921
+-104.816 44.384 2936
+-104.69 44.384 2929
+-104.564 44.384 2737
+-104.438 44.384 2681
+-104.312 44.384 2500
+-104.186 44.384 2464
+-104.06 44.384 2485
+-103.934 44.384 2432
+-103.808 44.384 2521
+-103.682 44.384 2522
+-103.556 44.384 2556
+-103.43 44.384 2681
+-103.304 44.384 2790
+-103.178 44.384 2825
+-103.052 44.384 2811
+-102.926 44.384 2913
+-102.8 44.384 2911
+-102.674 44.384 2960
+-102.548 44.384 2958
+-102.422 44.384 2920
+-102.296 44.384 2919
+-102.17 44.384 2918
+-102.044 44.384 2917
+-101.918 44.384 2917
+-101.792 44.384 2916
+-101.666 44.384 2969
+-101.54 44.384 2968
+-101.414 44.384 2967
+-101.288 44.384 2889
+-101.162 44.384 2889
+-101.036 44.384 2889
+-100.91 44.384 2893
+-100.784 44.384 2893
+-100.658 44.384 2893
+-100.532 44.384 2893
+-100.406 44.384 2893
+-100.28 44.384 3017
+-100.154 44.384 3017
+-100.028 44.384 3016
+-99.902 44.384 3016
+-99.776 44.384 3017
+-99.65 44.384 3035
+-99.524 44.384 3026
+-99.398 44.384 2996
+-99.272 44.384 3034
+-99.146 44.384 3257
+-99.02 44.384 3279
+-98.894 44.384 3275
+-98.768 44.384 3160
+-98.642 44.384 3158
+-98.516 44.384 3155
+-98.39 44.384 3153
+-98.264 44.384 3151
+-98.138 44.384 3149
+-98.012 44.384 3147
+-97.886 44.384 3131
+-97.76 44.384 3153
+-97.634 44.384 3152
+-97.508 44.384 3175
+-97.382 44.384 3159
+-97.256 44.384 3193
+-97.13 44.384 3127
+-97.004 44.384 3145
+-96.878 44.384 3149
+-96.752 44.384 3143
+-96.626 44.384 3160
+-96.5 44.384 3164
+-96.374 44.384 3171
+-96.248 44.384 3191
+-96.122 44.384 3196
+-95.996 44.384 3201
+-95.87 44.384 3279
+-95.744 44.384 3282
+-95.618 44.384 3284
+-95.492 44.384 3262
+-95.366 44.384 3330
+-95.24 44.384 3332
+-95.114 44.384 3330
+-94.988 44.384 3327
+-94.862 44.384 3323
+-94.736 44.384 3305
+-94.61 44.384 3299
+-94.484 44.384 3252
+-94.358 44.384 3308
+-94.232 44.384 3299
+-94.106 44.384 3267
+-93.98 44.384 3248
+-93.854 44.384 3224
+-93.728 44.384 3194
+-93.602 44.384 3133
+-93.476 44.384 3074
+-93.35 44.384 2992
+-93.224 44.384 2904
+-93.098 44.384 2861
+-92.972 44.384 2926
+-92.846 44.384 3049
+-92.72 44.384 3143
+-92.594 44.384 3220
+-92.468 44.384 3283
+-92.342 44.384 3321
+-92.216 44.384 3356
+-92.09 44.384 3360
+-91.964 44.384 3361
+-91.838 44.384 3347
+-91.712 44.384 3312
+-91.586 44.384 3289
+-91.46 44.384 3331
+-91.334 44.384 3368
+-91.208 44.384 3383
+-91.082 44.384 3397
+-90.956 44.384 3406
+-90.83 44.384 3414
+-90.704 44.384 3427
+-90.578 44.384 3430
+-90.452 44.384 3411
+-90.326 44.384 3386
+-90.2 44.384 3417
+-90.074 44.384 3459
+-89.948 44.384 3463
+-89.822 44.384 3466
+-89.696 44.384 3456
+-89.57 44.384 3435
+-89.444 44.384 3406
+-89.318 44.384 3374
+-89.192 44.384 3328
+-89.066 44.384 3271
+-88.94 44.384 3199
+-88.814 44.384 3147
+-88.688 44.384 3149
+-88.562 44.384 3097
+-88.436 44.384 3037
+-88.31 44.384 3064
+-88.184 44.384 3107
+-88.058 44.384 3098
+-87.932 44.384 3095
+-87.806 44.384 3063
+-87.68 44.384 2973
+-87.554 44.384 2908
+-87.428 44.384 2823
+-87.302 44.384 2728
+-87.176 44.384 2624
+-87.05 44.384 2517
+-86.924 44.384 2405
+-86.798 44.384 2289
+-86.672 44.384 2170
+-86.546 44.384 2058
+-86.42 44.384 1973
+-86.294 44.384 1945
+-86.168 44.384 1950
+-86.042 44.384 1941
+-85.916 44.384 1936
+-85.79 44.384 1952
+-85.664 44.384 1983
+-85.538 44.384 2005
+-85.412 44.384 2023
+-85.286 44.384 2046
+-85.16 44.384 2066
+-85.034 44.384 2102
+-84.908 44.384 2151
+-84.782 44.384 2180
+-84.656 44.384 2226
+-84.53 44.384 2243
+-84.404 44.384 2281
+-84.278 44.384 2319
+-84.152 44.384 2348
+-84.026 44.384 2382
+-83.9 44.384 2412
+-83.774 44.384 2414
+-83.648 44.384 2446
+-83.522 44.384 2467
+-83.396 44.384 2484
+-83.27 44.384 2504
+-83.144 44.384 2523
+-83.018 44.384 2540
+-82.892 44.384 2526
+-82.766 44.384 2536
+-82.64 44.384 2550
+-82.514 44.384 2562
+-82.388 44.384 2573
+-82.262 44.384 2582
+-82.136 44.384 2550
+-82.01 44.384 2632
+-81.884 44.384 2638
+-81.758 44.384 2650
+-81.632 44.384 2658
+-81.506 44.384 2665
+-81.38 44.384 2672
+-81.254 44.384 2692
+-81.128 44.384 2684
+-81.002 44.384 2733
+-80.876 44.384 2739
+-80.75 44.384 2739
+-80.624 44.384 2748
+-80.498 44.384 2754
+-80.372 44.384 2760
+-80.246 44.384 2755
+-80.12 44.384 2858
+-79.994 44.384 2863
+-79.868 44.384 2868
+-79.742 44.384 2873
+-79.616 44.384 2968
+-79.49 44.384 2933
+-79.364 44.384 3071
+-79.238 44.384 3075
+-79.112 44.384 3047
+-78.986 44.384 3050
+-78.86 44.384 3053
+-78.734 44.384 3056
+-78.608 44.384 3058
+-78.482 44.384 3061
+-78.356 44.384 3139
+-78.23 44.384 3138
+-78.104 44.384 3141
+-77.978 44.384 3144
+-77.852 44.384 3147
+-77.726 44.384 3099
+-77.6 44.384 3128
+-77.474 44.384 3131
+-77.348 44.384 3194
+-77.222 44.384 3119
+-77.096 44.384 3122
+-76.97 44.384 3125
+-76.844 44.384 3165
+-76.718 44.384 3127
+-76.592 44.384 3130
+-76.466 44.384 3133
+-76.34 44.384 3351
+-76.214 44.384 3304
+-76.088 44.384 3306
+-75.962 44.384 3431
+-75.836 44.384 3408
+-75.71 44.384 3410
+-75.584 44.384 3361
+-75.458 44.384 3433
+-75.332 44.384 3435
+-75.206 44.384 3436
+-75.08 44.384 3438
+-74.954 44.384 3439
+-74.828 44.384 3439
+-74.702 44.384 3440
+-74.576 44.384 3442
+-74.45 44.384 3431
+-74.324 44.384 3382
+-74.198 44.384 3377
+-74.072 44.384 3378
+-73.946 44.384 3379
+-73.82 44.384 3381
+-73.694 44.384 3382
+-73.568 44.384 3383
+-73.442 44.384 3384
+-73.316 44.384 3385
+-73.19 44.384 3386
+-73.064 44.384 3387
+-72.938 44.384 3388
+-72.812 44.384 3389
+-72.686 44.384 3390
+-72.56 44.384 3391
+-72.434 44.384 3392
+-72.308 44.384 3501
+-72.182 44.384 3502
+-72.056 44.384 3488
+-71.93 44.384 3489
+-71.804 44.384 3490
+-71.678 44.384 3490
+-71.552 44.384 3491
+-71.426 44.384 3492
+-71.3 44.384 3493
+-71.174 44.384 3493
+-71.048 44.384 3494
+-70.922 44.384 3495
+-70.796 44.384 3495
+-70.67 44.384 3531
+-70.544 44.384 3532
+-70.418 44.384 3533
+-70.292 44.384 3534
+-70.166 44.384 3534
+-70.04 44.384 3535
+-69.914 44.384 3496
+-69.788 44.384 3496
+-69.662 44.384 3497
+-69.536 44.384 3498
+-69.41 44.384 3534
+-69.284 44.384 3535
+-69.158 44.384 3536
+-69.032 44.384 3490
+-68.906 44.384 3490
+-68.78 44.384 3491
+-68.654 44.384 3628
+-68.528 44.384 3628
+-68.402 44.384 3629
+-68.276 44.384 3629
+-68.15 44.384 3629
+-68.024 44.384 3563
+-67.898 44.384 3563
+-67.772 44.384 3563
+-67.646 44.384 3564
+-67.52 44.384 3564
+-67.394 44.384 3564
+-67.268 44.384 3564
+-67.142 44.384 3564
+-67.016 44.384 3565
+-66.89 44.384 3565
+-66.764 44.384 3546
+-66.638 44.384 3533
+-66.512 44.384 3533
+-66.386 44.384 3534
+-66.26 44.384 3534
+-66.134 44.384 3534
+-66.008 44.384 3515
+-65.882 44.384 3515
+-65.756 44.384 3515
+-65.63 44.384 3516
+-65.504 44.384 3516
+-65.378 44.384 3516
+-65.252 44.384 3516
+-65.126 44.384 3516
+-128 44.332 3723
+-127.874 44.332 3698
+-127.748 44.332 3652
+-127.622 44.332 3747
+-127.496 44.332 3902
+-127.37 44.332 3994
+-127.244 44.332 4104
+-127.118 44.332 4196
+-126.992 44.332 4309
+-126.866 44.332 4473
+-126.74 44.332 4682
+-126.614 44.332 4766
+-126.488 44.332 4735
+-126.362 44.332 4870
+-126.236 44.332 5030
+-126.11 44.332 5182
+-125.984 44.332 5312
+-125.858 44.332 5408
+-125.732 44.332 5443
+-125.606 44.332 5518
+-125.48 44.332 5625
+-125.354 44.332 5695
+-125.228 44.332 5742
+-125.102 44.332 5823
+-124.976 44.332 5907
+-124.85 44.332 6065
+-124.724 44.332 6042
+-124.598 44.332 6105
+-124.472 44.332 6195
+-124.346 44.332 6300
+-124.22 44.332 6370
+-124.094 44.332 6440
+-123.968 44.332 6512
+-123.842 44.332 6526
+-123.716 44.332 6582
+-123.59 44.332 6630
+-123.464 44.332 6643
+-123.338 44.332 6666
+-123.212 44.332 6675
+-123.086 44.332 6691
+-122.96 44.332 6695
+-122.834 44.332 6672
+-122.708 44.332 6652
+-122.582 44.332 6643
+-122.456 44.332 6618
+-122.33 44.332 6610
+-122.204 44.332 6552
+-122.078 44.332 6566
+-121.952 44.332 6456
+-121.826 44.332 6406
+-121.7 44.332 6321
+-121.574 44.332 6292
+-121.448 44.332 6255
+-121.322 44.332 6220
+-121.196 44.332 6100
+-121.07 44.332 6078
+-120.944 44.332 5944
+-120.818 44.332 6050
+-120.692 44.332 6110
+-120.566 44.332 6267
+-120.44 44.332 6308
+-120.314 44.332 6396
+-120.188 44.332 6538
+-120.062 44.332 6617
+-119.936 44.332 6734
+-119.81 44.332 6823
+-119.684 44.332 6894
+-119.558 44.332 6974
+-119.432 44.332 7046
+-119.306 44.332 7116
+-119.18 44.332 7210
+-119.054 44.332 7245
+-118.928 44.332 7264
+-118.802 44.332 7295
+-118.676 44.332 7331
+-118.55 44.332 7343
+-118.424 44.332 7357
+-118.298 44.332 7363
+-118.172 44.332 7339
+-118.046 44.332 7314
+-117.92 44.332 7276
+-117.794 44.332 7256
+-117.668 44.332 7216
+-117.542 44.332 7174
+-117.416 44.332 7135
+-117.29 44.332 7048
+-117.164 44.332 6985
+-117.038 44.332 6882
+-116.912 44.332 6849
+-116.786 44.332 6721
+-116.66 44.332 6670
+-116.534 44.332 6620
+-116.408 44.332 6475
+-116.282 44.332 6376
+-116.156 44.332 6253
+-116.03 44.332 6166
+-115.904 44.332 6034
+-115.778 44.332 5900
+-115.652 44.332 5816
+-115.526 44.332 5779
+-115.4 44.332 5619
+-115.274 44.332 5514
+-115.148 44.332 5312
+-115.022 44.332 5305
+-114.896 44.332 5231
+-114.77 44.332 5116
+-114.644 44.332 5067
+-114.518 44.332 5019
+-114.392 44.332 4883
+-114.266 44.332 4805
+-114.14 44.332 4724
+-114.014 44.332 4571
+-113.888 44.332 4428
+-113.762 44.332 4288
+-113.636 44.332 4194
+-113.51 44.332 4162
+-113.384 44.332 4125
+-113.258 44.332 4084
+-113.132 44.332 4034
+-113.006 44.332 4005
+-112.88 44.332 3981
+-112.754 44.332 3969
+-112.628 44.332 3915
+-112.502 44.332 3906
+-112.376 44.332 3840
+-112.25 44.332 3815
+-112.124 44.332 3773
+-111.998 44.332 3770
+-111.872 44.332 3728
+-111.746 44.332 3720
+-111.62 44.332 3644
+-111.494 44.332 3637
+-111.368 44.332 3630
+-111.242 44.332 3583
+-111.116 44.332 3577
+-110.99 44.332 3571
+-110.864 44.332 3566
+-110.738 44.332 3563
+-110.612 44.332 3561
+-110.486 44.332 3559
+-110.36 44.332 3559
+-110.234 44.332 3559
+-110.108 44.332 3559
+-109.982 44.332 3459
+-109.856 44.332 3460
+-109.73 44.332 3422
+-109.604 44.332 3422
+-109.478 44.332 3422
+-109.352 44.332 3255
+-109.226 44.332 3254
+-109.1 44.332 3253
+-108.974 44.332 3252
+-108.848 44.332 3252
+-108.722 44.332 3239
+-108.596 44.332 3108
+-108.47 44.332 3110
+-108.344 44.332 3111
+-108.218 44.332 3113
+-108.092 44.332 3114
+-107.966 44.332 3116
+-107.84 44.332 3117
+-107.714 44.332 3119
+-107.588 44.332 3120
+-107.462 44.332 3122
+-107.336 44.332 3123
+-107.21 44.332 3115
+-107.084 44.332 3117
+-106.958 44.332 3119
+-106.832 44.332 3121
+-106.706 44.332 3123
+-106.58 44.332 3124
+-106.454 44.332 3126
+-106.328 44.332 3128
+-106.202 44.332 3129
+-106.076 44.332 3131
+-105.95 44.332 3133
+-105.824 44.332 2946
+-105.698 44.332 2942
+-105.572 44.332 2938
+-105.446 44.332 2933
+-105.32 44.332 2928
+-105.194 44.332 2923
+-105.068 44.332 2918
+-104.942 44.332 2913
+-104.816 44.332 2928
+-104.69 44.332 2922
+-104.564 44.332 2729
+-104.438 44.332 2672
+-104.312 44.332 2493
+-104.186 44.332 2458
+-104.06 44.332 2479
+-103.934 44.332 2429
+-103.808 44.332 2519
+-103.682 44.332 2520
+-103.556 44.332 2555
+-103.43 44.332 2680
+-103.304 44.332 2789
+-103.178 44.332 2790
+-103.052 44.332 2773
+-102.926 44.332 2903
+-102.8 44.332 2909
+-102.674 44.332 2907
+-102.548 44.332 2955
+-102.422 44.332 2953
+-102.296 44.332 2916
+-102.17 44.332 2915
+-102.044 44.332 2914
+-101.918 44.332 2913
+-101.792 44.332 2912
+-101.666 44.332 2911
+-101.54 44.332 2965
+-101.414 44.332 2963
+-101.288 44.332 2962
+-101.162 44.332 2885
+-101.036 44.332 2885
+-100.91 44.332 2885
+-100.784 44.332 2889
+-100.658 44.332 2889
+-100.532 44.332 2889
+-100.406 44.332 2889
+-100.28 44.332 2889
+-100.154 44.332 3012
+-100.028 44.332 3012
+-99.902 44.332 3011
+-99.776 44.332 3011
+-99.65 44.332 3020
+-99.524 44.332 3029
+-99.398 44.332 3021
+-99.272 44.332 2992
+-99.146 44.332 3029
+-99.02 44.332 3248
+-98.894 44.332 3270
+-98.768 44.332 3266
+-98.642 44.332 3153
+-98.516 44.332 3150
+-98.39 44.332 3148
+-98.264 44.332 3145
+-98.138 44.332 3143
+-98.012 44.332 3141
+-97.886 44.332 3139
+-97.76 44.332 3124
+-97.634 44.332 3145
+-97.508 44.332 3145
+-97.382 44.332 3167
+-97.256 44.332 3151
+-97.13 44.332 3185
+-97.004 44.332 3121
+-96.878 44.332 3139
+-96.752 44.332 3144
+-96.626 44.332 3139
+-96.5 44.332 3156
+-96.374 44.332 3161
+-96.248 44.332 3168
+-96.122 44.332 3188
+-95.996 44.332 3194
+-95.87 44.332 3200
+-95.744 44.332 3276
+-95.618 44.332 3279
+-95.492 44.332 3282
+-95.366 44.332 3261
+-95.24 44.332 3326
+-95.114 44.332 3328
+-94.988 44.332 3325
+-94.862 44.332 3321
+-94.736 44.332 3317
+-94.61 44.332 3299
+-94.484 44.332 3292
+-94.358 44.332 3246
+-94.232 44.332 3294
+-94.106 44.332 3284
+-93.98 44.332 3249
+-93.854 44.332 3225
+-93.728 44.332 3193
+-93.602 44.332 3149
+-93.476 44.332 3070
+-93.35 44.332 2978
+-93.224 44.332 2862
+-93.098 44.332 2793
+-92.972 44.332 2880
+-92.846 44.332 3040
+-92.72 44.332 3150
+-92.594 44.332 3220
+-92.468 44.332 3270
+-92.342 44.332 3323
+-92.216 44.332 3364
+-92.09 44.332 3377
+-91.964 44.332 3384
+-91.838 44.332 3388
+-91.712 44.332 3383
+-91.586 44.332 3387
+-91.46 44.332 3401
+-91.334 44.332 3407
+-91.208 44.332 3421
+-91.082 44.332 3449
+-90.956 44.332 3462
+-90.83 44.332 3474
+-90.704 44.332 3485
+-90.578 44.332 3489
+-90.452 44.332 3486
+-90.326 44.332 3478
+-90.2 44.332 3487
+-90.074 44.332 3501
+-89.948 44.332 3506
+-89.822 44.332 3491
+-89.696 44.332 3480
+-89.57 44.332 3459
+-89.444 44.332 3431
+-89.318 44.332 3408
+-89.192 44.332 3364
+-89.066 44.332 3330
+-88.94 44.332 3299
+-88.814 44.332 3261
+-88.688 44.332 3236
+-88.562 44.332 3203
+-88.436 44.332 3169
+-88.31 44.332 3160
+-88.184 44.332 3167
+-88.058 44.332 3149
+-87.932 44.332 3133
+-87.806 44.332 3103
+-87.68 44.332 3061
+-87.554 44.332 2950
+-87.428 44.332 2868
+-87.302 44.332 2773
+-87.176 44.332 2671
+-87.05 44.332 2562
+-86.924 44.332 2445
+-86.798 44.332 2324
+-86.672 44.332 2204
+-86.546 44.332 2094
+-86.42 44.332 2009
+-86.294 44.332 1974
+-86.168 44.332 1982
+-86.042 44.332 1993
+-85.916 44.332 1996
+-85.79 44.332 2003
+-85.664 44.332 2000
+-85.538 44.332 1992
+-85.412 44.332 1991
+-85.286 44.332 1996
+-85.16 44.332 2025
+-85.034 44.332 2073
+-84.908 44.332 2111
+-84.782 44.332 2163
+-84.656 44.332 2191
+-84.53 44.332 2236
+-84.404 44.332 2280
+-84.278 44.332 2316
+-84.152 44.332 2353
+-84.026 44.332 2388
+-83.9 44.332 2395
+-83.774 44.332 2429
+-83.648 44.332 2452
+-83.522 44.332 2471
+-83.396 44.332 2493
+-83.27 44.332 2514
+-83.144 44.332 2532
+-83.018 44.332 2520
+-82.892 44.332 2531
+-82.766 44.332 2546
+-82.64 44.332 2559
+-82.514 44.332 2571
+-82.388 44.332 2580
+-82.262 44.332 2549
+-82.136 44.332 2629
+-82.01 44.332 2636
+-81.884 44.332 2648
+-81.758 44.332 2656
+-81.632 44.332 2664
+-81.506 44.332 2671
+-81.38 44.332 2691
+-81.254 44.332 2684
+-81.128 44.332 2732
+-81.002 44.332 2738
+-80.876 44.332 2738
+-80.75 44.332 2748
+-80.624 44.332 2754
+-80.498 44.332 2759
+-80.372 44.332 2755
+-80.246 44.332 2856
+-80.12 44.332 2862
+-79.994 44.332 2867
+-79.868 44.332 2872
+-79.742 44.332 2967
+-79.616 44.332 2932
+-79.49 44.332 3069
+-79.364 44.332 3072
+-79.238 44.332 3046
+-79.112 44.332 3049
+-78.986 44.332 3052
+-78.86 44.332 3054
+-78.734 44.332 3057
+-78.608 44.332 3060
+-78.482 44.332 3138
+-78.356 44.332 3136
+-78.23 44.332 3139
+-78.104 44.332 3143
+-77.978 44.332 3145
+-77.852 44.332 3098
+-77.726 44.332 3127
+-77.6 44.332 3130
+-77.474 44.332 3192
+-77.348 44.332 3118
+-77.222 44.332 3121
+-77.096 44.332 3124
+-76.97 44.332 3164
+-76.844 44.332 3126
+-76.718 44.332 3129
+-76.592 44.332 3132
+-76.466 44.332 3350
+-76.34 44.332 3303
+-76.214 44.332 3305
+-76.088 44.332 3429
+-75.962 44.332 3406
+-75.836 44.332 3408
+-75.71 44.332 3360
+-75.584 44.332 3432
+-75.458 44.332 3433
+-75.332 44.332 3435
+-75.206 44.332 3437
+-75.08 44.332 3438
+-74.954 44.332 3437
+-74.828 44.332 3439
+-74.702 44.332 3441
+-74.576 44.332 3430
+-74.45 44.332 3381
+-74.324 44.332 3376
+-74.198 44.332 3377
+-74.072 44.332 3379
+-73.946 44.332 3380
+-73.82 44.332 3381
+-73.694 44.332 3382
+-73.568 44.332 3384
+-73.442 44.332 3385
+-73.316 44.332 3386
+-73.19 44.332 3387
+-73.064 44.332 3388
+-72.938 44.332 3389
+-72.812 44.332 3390
+-72.686 44.332 3391
+-72.56 44.332 3392
+-72.434 44.332 3501
+-72.308 44.332 3502
+-72.182 44.332 3487
+-72.056 44.332 3488
+-71.93 44.332 3489
+-71.804 44.332 3490
+-71.678 44.332 3491
+-71.552 44.332 3491
+-71.426 44.332 3492
+-71.3 44.332 3493
+-71.174 44.332 3494
+-71.048 44.332 3494
+-70.922 44.332 3495
+-70.796 44.332 3530
+-70.67 44.332 3531
+-70.544 44.332 3532
+-70.418 44.332 3533
+-70.292 44.332 3534
+-70.166 44.332 3535
+-70.04 44.332 3495
+-69.914 44.332 3496
+-69.788 44.332 3497
+-69.662 44.332 3497
+-69.536 44.332 3534
+-69.41 44.332 3535
+-69.284 44.332 3535
+-69.158 44.332 3489
+-69.032 44.332 3490
+-68.906 44.332 3491
+-68.78 44.332 3628
+-68.654 44.332 3628
+-68.528 44.332 3628
+-68.402 44.332 3629
+-68.276 44.332 3629
+-68.15 44.332 3563
+-68.024 44.332 3563
+-67.898 44.332 3563
+-67.772 44.332 3563
+-67.646 44.332 3564
+-67.52 44.332 3564
+-67.394 44.332 3564
+-67.268 44.332 3564
+-67.142 44.332 3564
+-67.016 44.332 3565
+-66.89 44.332 3546
+-66.764 44.332 3533
+-66.638 44.332 3533
+-66.512 44.332 3533
+-66.386 44.332 3534
+-66.26 44.332 3534
+-66.134 44.332 3534
+-66.008 44.332 3515
+-65.882 44.332 3515
+-65.756 44.332 3515
+-65.63 44.332 3516
+-65.504 44.332 3516
+-65.378 44.332 3516
+-65.252 44.332 3516
+-65.126 44.332 3516
+-128 44.28 3742
+-127.874 44.28 3727
+-127.748 44.28 3713
+-127.622 44.28 3782
+-127.496 44.28 3870
+-127.37 44.28 3970
+-127.244 44.28 4039
+-127.118 44.28 4114
+-126.992 44.28 4279
+-126.866 44.28 4412
+-126.74 44.28 4646
+-126.614 44.28 4769
+-126.488 44.28 4833
+-126.362 44.28 4859
+-126.236 44.28 4981
+-126.11 44.28 5107
+-125.984 44.28 5233
+-125.858 44.28 5371
+-125.732 44.28 5445
+-125.606 44.28 5531
+-125.48 44.28 5612
+-125.354 44.28 5627
+-125.228 44.28 5720
+-125.102 44.28 5793
+-124.976 44.28 5850
+-124.85 44.28 5936
+-124.724 44.28 6005
+-124.598 44.28 6079
+-124.472 44.28 6150
+-124.346 44.28 6248
+-124.22 44.28 6275
+-124.094 44.28 6373
+-123.968 44.28 6428
+-123.842 44.28 6470
+-123.716 44.28 6512
+-123.59 44.28 6537
+-123.464 44.28 6586
+-123.338 44.28 6615
+-123.212 44.28 6623
+-123.086 44.28 6625
+-122.96 44.28 6612
+-122.834 44.28 6595
+-122.708 44.28 6611
+-122.582 44.28 6571
+-122.456 44.28 6548
+-122.33 44.28 6505
+-122.204 44.28 6501
+-122.078 44.28 6465
+-121.952 44.28 6440
+-121.826 44.28 6355
+-121.7 44.28 6311
+-121.574 44.28 6250
+-121.448 44.28 6166
+-121.322 44.28 6128
+-121.196 44.28 6065
+-121.07 44.28 5998
+-120.944 44.28 5837
+-120.818 44.28 6005
+-120.692 44.28 6110
+-120.566 44.28 6215
+-120.44 44.28 6318
+-120.314 44.28 6427
+-120.188 44.28 6487
+-120.062 44.28 6572
+-119.936 44.28 6686
+-119.81 44.28 6761
+-119.684 44.28 6839
+-119.558 44.28 6944
+-119.432 44.28 6997
+-119.306 44.28 7055
+-119.18 44.28 7113
+-119.054 44.28 7146
+-118.928 44.28 7201
+-118.802 44.28 7276
+-118.676 44.28 7259
+-118.55 44.28 7315
+-118.424 44.28 7327
+-118.298 44.28 7295
+-118.172 44.28 7281
+-118.046 44.28 7269
+-117.92 44.28 7242
+-117.794 44.28 7261
+-117.668 44.28 7167
+-117.542 44.28 7120
+-117.416 44.28 7060
+-117.29 44.28 7012
+-117.164 44.28 6930
+-117.038 44.28 6840
+-116.912 44.28 6748
+-116.786 44.28 6693
+-116.66 44.28 6619
+-116.534 44.28 6606
+-116.408 44.28 6494
+-116.282 44.28 6364
+-116.156 44.28 6226
+-116.03 44.28 6110
+-115.904 44.28 6026
+-115.778 44.28 5885
+-115.652 44.28 5794
+-115.526 44.28 5693
+-115.4 44.28 5570
+-115.274 44.28 5449
+-115.148 44.28 5351
+-115.022 44.28 5285
+-114.896 44.28 5212
+-114.77 44.28 5151
+-114.644 44.28 5050
+-114.518 44.28 4965
+-114.392 44.28 4858
+-114.266 44.28 4723
+-114.14 44.28 4659
+-114.014 44.28 4568
+-113.888 44.28 4493
+-113.762 44.28 4374
+-113.636 44.28 4296
+-113.51 44.28 4241
+-113.384 44.28 4191
+-113.258 44.28 4141
+-113.132 44.28 4086
+-113.006 44.28 4051
+-112.88 44.28 3986
+-112.754 44.28 3967
+-112.628 44.28 3946
+-112.502 44.28 3927
+-112.376 44.28 3936
+-112.25 44.28 3855
+-112.124 44.28 3792
+-111.998 44.28 3715
+-111.872 44.28 3707
+-111.746 44.28 3653
+-111.62 44.28 3645
+-111.494 44.28 3638
+-111.368 44.28 3632
+-111.242 44.28 3627
+-111.116 44.28 3582
+-110.99 44.28 3577
+-110.864 44.28 3573
+-110.738 44.28 3569
+-110.612 44.28 3567
+-110.486 44.28 3566
+-110.36 44.28 3565
+-110.234 44.28 3565
+-110.108 44.28 3565
+-109.982 44.28 3566
+-109.856 44.28 3424
+-109.73 44.28 3423
+-109.604 44.28 3423
+-109.478 44.28 3329
+-109.352 44.28 3253
+-109.226 44.28 3252
+-109.1 44.28 3251
+-108.974 44.28 3250
+-108.848 44.28 3249
+-108.722 44.28 3248
+-108.596 44.28 3247
+-108.47 44.28 3105
+-108.344 44.28 3106
+-108.218 44.28 3108
+-108.092 44.28 3109
+-107.966 44.28 3111
+-107.84 44.28 3112
+-107.714 44.28 3114
+-107.588 44.28 3115
+-107.462 44.28 3117
+-107.336 44.28 3118
+-107.21 44.28 3119
+-107.084 44.28 3111
+-106.958 44.28 3113
+-106.832 44.28 3115
+-106.706 44.28 3117
+-106.58 44.28 3119
+-106.454 44.28 3121
+-106.328 44.28 3123
+-106.202 44.28 3124
+-106.076 44.28 3126
+-105.95 44.28 3128
+-105.824 44.28 2938
+-105.698 44.28 2934
+-105.572 44.28 2930
+-105.446 44.28 2925
+-105.32 44.28 2920
+-105.194 44.28 2915
+-105.068 44.28 2910
+-104.942 44.28 2904
+-104.816 44.28 2921
+-104.69 44.28 2832
+-104.564 44.28 2720
+-104.438 44.28 2671
+-104.312 44.28 2486
+-104.186 44.28 2452
+-104.06 44.28 2473
+-103.934 44.28 2425
+-103.808 44.28 2517
+-103.682 44.28 2518
+-103.556 44.28 2598
+-103.43 44.28 2679
+-103.304 44.28 2788
+-103.178 44.28 2789
+-103.052 44.28 2883
+-102.926 44.28 2866
+-102.8 44.28 2898
+-102.674 44.28 2904
+-102.548 44.28 2902
+-102.422 44.28 2950
+-102.296 44.28 2947
+-102.17 44.28 2912
+-102.044 44.28 2911
+-101.918 44.28 2910
+-101.792 44.28 2909
+-101.666 44.28 2908
+-101.54 44.28 2907
+-101.414 44.28 2960
+-101.288 44.28 2958
+-101.162 44.28 2957
+-101.036 44.28 2881
+-100.91 44.28 2881
+-100.784 44.28 2880
+-100.658 44.28 2885
+-100.532 44.28 2885
+-100.406 44.28 2885
+-100.28 44.28 2885
+-100.154 44.28 2885
+-100.028 44.28 3007
+-99.902 44.28 3007
+-99.776 44.28 3006
+-99.65 44.28 3005
+-99.524 44.28 3006
+-99.398 44.28 3023
+-99.272 44.28 3016
+-99.146 44.28 2987
+-99.02 44.28 3023
+-98.894 44.28 3240
+-98.768 44.28 3261
+-98.642 44.28 3256
+-98.516 44.28 3146
+-98.39 44.28 3143
+-98.264 44.28 3140
+-98.138 44.28 3137
+-98.012 44.28 3135
+-97.886 44.28 3132
+-97.76 44.28 3130
+-97.634 44.28 3116
+-97.508 44.28 3137
+-97.382 44.28 3136
+-97.256 44.28 3158
+-97.13 44.28 3143
+-97.004 44.28 3176
+-96.878 44.28 3115
+-96.752 44.28 3132
+-96.626 44.28 3138
+-96.5 44.28 3134
+-96.374 44.28 3152
+-96.248 44.28 3157
+-96.122 44.28 3166
+-95.996 44.28 3186
+-95.87 44.28 3193
+-95.744 44.28 3199
+-95.618 44.28 3274
+-95.492 44.28 3278
+-95.366 44.28 3281
+-95.24 44.28 3260
+-95.114 44.28 3322
+-94.988 44.28 3323
+-94.862 44.28 3320
+-94.736 44.28 3315
+-94.61 44.28 3310
+-94.484 44.28 3292
+-94.358 44.28 3284
+-94.232 44.28 3285
+-94.106 44.28 3282
+-93.98 44.28 3269
+-93.854 44.28 3233
+-93.728 44.28 3205
+-93.602 44.28 3164
+-93.476 44.28 3107
+-93.35 44.28 3018
+-93.224 44.28 2927
+-93.098 44.28 2881
+-92.972 44.28 2963
+-92.846 44.28 3088
+-92.72 44.28 3158
+-92.594 44.28 3210
+-92.468 44.28 3269
+-92.342 44.28 3325
+-92.216 44.28 3364
+-92.09 44.28 3380
+-91.964 44.28 3396
+-91.838 44.28 3417
+-91.712 44.28 3422
+-91.586 44.28 3422
+-91.46 44.28 3409
+-91.334 44.28 3424
+-91.208 44.28 3467
+-91.082 44.28 3495
+-90.956 44.28 3509
+-90.83 44.28 3525
+-90.704 44.28 3537
+-90.578 44.28 3547
+-90.452 44.28 3548
+-90.326 44.28 3545
+-90.2 44.28 3539
+-90.074 44.28 3531
+-89.948 44.28 3517
+-89.822 44.28 3518
+-89.696 44.28 3501
+-89.57 44.28 3483
+-89.444 44.28 3467
+-89.318 44.28 3433
+-89.192 44.28 3392
+-89.066 44.28 3370
+-88.94 44.28 3361
+-88.814 44.28 3347
+-88.688 44.28 3319
+-88.562 44.28 3309
+-88.436 44.28 3277
+-88.31 44.28 3276
+-88.184 44.28 3232
+-88.058 44.28 3197
+-87.932 44.28 3177
+-87.806 44.28 3149
+-87.68 44.28 3101
+-87.554 44.28 2991
+-87.428 44.28 2911
+-87.302 44.28 2819
+-87.176 44.28 2720
+-87.05 44.28 2609
+-86.924 44.28 2491
+-86.798 44.28 2368
+-86.672 44.28 2254
+-86.546 44.28 2155
+-86.42 44.28 2082
+-86.294 44.28 2046
+-86.168 44.28 2038
+-86.042 44.28 2038
+-85.916 44.28 2040
+-85.79 44.28 2021
+-85.664 44.28 1985
+-85.538 44.28 1945
+-85.412 44.28 1917
+-85.286 44.28 1926
+-85.16 44.28 1969
+-85.034 44.28 2019
+-84.908 44.28 2082
+-84.782 44.28 2126
+-84.656 44.28 2181
+-84.53 44.28 2234
+-84.404 44.28 2278
+-84.278 44.28 2322
+-84.152 44.28 2361
+-84.026 44.28 2374
+-83.9 44.28 2410
+-83.774 44.28 2437
+-83.648 44.28 2458
+-83.522 44.28 2483
+-83.396 44.28 2504
+-83.27 44.28 2524
+-83.144 44.28 2514
+-83.018 44.28 2527
+-82.892 44.28 2542
+-82.766 44.28 2556
+-82.64 44.28 2568
+-82.514 44.28 2578
+-82.388 44.28 2548
+-82.262 44.28 2627
+-82.136 44.28 2634
+-82.01 44.28 2647
+-81.884 44.28 2655
+-81.758 44.28 2663
+-81.632 44.28 2670
+-81.506 44.28 2690
+-81.38 44.28 2683
+-81.254 44.28 2731
+-81.128 44.28 2738
+-81.002 44.28 2737
+-80.876 44.28 2747
+-80.75 44.28 2753
+-80.624 44.28 2759
+-80.498 44.28 2755
+-80.372 44.28 2856
+-80.246 44.28 2861
+-80.12 44.28 2866
+-79.994 44.28 2871
+-79.868 44.28 2966
+-79.742 44.28 2931
+-79.616 44.28 3067
+-79.49 44.28 3070
+-79.364 44.28 3044
+-79.238 44.28 3047
+-79.112 44.28 3050
+-78.986 44.28 3053
+-78.86 44.28 3056
+-78.734 44.28 3058
+-78.608 44.28 3136
+-78.482 44.28 3135
+-78.356 44.28 3138
+-78.23 44.28 3141
+-78.104 44.28 3144
+-77.978 44.28 3097
+-77.852 44.28 3125
+-77.726 44.28 3129
+-77.6 44.28 3190
+-77.474 44.28 3117
+-77.348 44.28 3120
+-77.222 44.28 3123
+-77.096 44.28 3163
+-76.97 44.28 3125
+-76.844 44.28 3128
+-76.718 44.28 3131
+-76.592 44.28 3348
+-76.466 44.28 3301
+-76.34 44.28 3303
+-76.214 44.28 3428
+-76.088 44.28 3405
+-75.962 44.28 3407
+-75.836 44.28 3358
+-75.71 44.28 3431
+-75.584 44.28 3432
+-75.458 44.28 3434
+-75.332 44.28 3436
+-75.206 44.28 3437
+-75.08 44.28 3436
+-74.954 44.28 3438
+-74.828 44.28 3440
+-74.702 44.28 3429
+-74.576 44.28 3380
+-74.45 44.28 3375
+-74.324 44.28 3377
+-74.198 44.28 3378
+-74.072 44.28 3379
+-73.946 44.28 3381
+-73.82 44.28 3382
+-73.694 44.28 3383
+-73.568 44.28 3384
+-73.442 44.28 3385
+-73.316 44.28 3386
+-73.19 44.28 3387
+-73.064 44.28 3389
+-72.938 44.28 3390
+-72.812 44.28 3391
+-72.686 44.28 3392
+-72.56 44.28 3500
+-72.434 44.28 3501
+-72.308 44.28 3487
+-72.182 44.28 3488
+-72.056 44.28 3489
+-71.93 44.28 3489
+-71.804 44.28 3490
+-71.678 44.28 3491
+-71.552 44.28 3492
+-71.426 44.28 3492
+-71.3 44.28 3493
+-71.174 44.28 3494
+-71.048 44.28 3495
+-70.922 44.28 3530
+-70.796 44.28 3531
+-70.67 44.28 3532
+-70.544 44.28 3533
+-70.418 44.28 3533
+-70.292 44.28 3534
+-70.166 44.28 3495
+-70.04 44.28 3496
+-69.914 44.28 3496
+-69.788 44.28 3497
+-69.662 44.28 3533
+-69.536 44.28 3534
+-69.41 44.28 3535
+-69.284 44.28 3489
+-69.158 44.28 3490
+-69.032 44.28 3490
+-68.906 44.28 3627
+-68.78 44.28 3628
+-68.654 44.28 3628
+-68.528 44.28 3628
+-68.402 44.28 3629
+-68.276 44.28 3563
+-68.15 44.28 3563
+-68.024 44.28 3563
+-67.898 44.28 3563
+-67.772 44.28 3563
+-67.646 44.28 3564
+-67.52 44.28 3564
+-67.394 44.28 3564
+-67.268 44.28 3564
+-67.142 44.28 3564
+-67.016 44.28 3546
+-66.89 44.28 3533
+-66.764 44.28 3533
+-66.638 44.28 3533
+-66.512 44.28 3534
+-66.386 44.28 3534
+-66.26 44.28 3515
+-66.134 44.28 3515
+-66.008 44.28 3515
+-65.882 44.28 3515
+-65.756 44.28 3515
+-65.63 44.28 3516
+-65.504 44.28 3516
+-65.378 44.28 3516
+-65.252 44.28 3516
+-65.126 44.28 3464
+-128 44.228 3748
+-127.874 44.228 3756
+-127.748 44.228 3773
+-127.622 44.228 3806
+-127.496 44.228 3872
+-127.37 44.228 3922
+-127.244 44.228 3975
+-127.118 44.228 4038
+-126.992 44.228 4127
+-126.866 44.228 4338
+-126.74 44.228 4559
+-126.614 44.228 4724
+-126.488 44.228 4842
+-126.362 44.228 4910
+-126.236 44.228 5017
+-126.11 44.228 5031
+-125.984 44.228 5149
+-125.858 44.228 5298
+-125.732 44.228 5390
+-125.606 44.228 5512
+-125.48 44.228 5584
+-125.354 44.228 5667
+-125.228 44.228 5728
+-125.102 44.228 5806
+-124.976 44.228 5866
+-124.85 44.228 5908
+-124.724 44.228 6011
+-124.598 44.228 6061
+-124.472 44.228 6180
+-124.346 44.228 6206
+-124.22 44.228 6281
+-124.094 44.228 6346
+-123.968 44.228 6360
+-123.842 44.228 6399
+-123.716 44.228 6468
+-123.59 44.228 6499
+-123.464 44.228 6517
+-123.338 44.228 6545
+-123.212 44.228 6562
+-123.086 44.228 6555
+-122.96 44.228 6541
+-122.834 44.228 6536
+-122.708 44.228 6543
+-122.582 44.228 6507
+-122.456 44.228 6484
+-122.33 44.228 6472
+-122.204 44.228 6448
+-122.078 44.228 6437
+-121.952 44.228 6378
+-121.826 44.228 6340
+-121.7 44.228 6256
+-121.574 44.228 6212
+-121.448 44.228 6154
+-121.322 44.228 6063
+-121.196 44.228 6023
+-121.07 44.228 5949
+-120.944 44.228 5928
+-120.818 44.228 5988
+-120.692 44.228 6095
+-120.566 44.228 6178
+-120.44 44.228 6304
+-120.314 44.228 6351
+-120.188 44.228 6450
+-120.062 44.228 6533
+-119.936 44.228 6616
+-119.81 44.228 6723
+-119.684 44.228 6785
+-119.558 44.228 6875
+-119.432 44.228 6958
+-119.306 44.228 7027
+-119.18 44.228 7065
+-119.054 44.228 7108
+-118.928 44.228 7148
+-118.802 44.228 7214
+-118.676 44.228 7230
+-118.55 44.228 7244
+-118.424 44.228 7267
+-118.298 44.228 7227
+-118.172 44.228 7241
+-118.046 44.228 7193
+-117.92 44.228 7183
+-117.794 44.228 7160
+-117.668 44.228 7092
+-117.542 44.228 7073
+-117.416 44.228 7025
+-117.29 44.228 6956
+-117.164 44.228 6915
+-117.038 44.228 6813
+-116.912 44.228 6717
+-116.786 44.228 6672
+-116.66 44.228 6573
+-116.534 44.228 6576
+-116.408 44.228 6483
+-116.282 44.228 6334
+-116.156 44.228 6196
+-116.03 44.228 6082
+-115.904 44.228 5982
+-115.778 44.228 5868
+-115.652 44.228 5729
+-115.526 44.228 5612
+-115.4 44.228 5509
+-115.274 44.228 5408
+-115.148 44.228 5289
+-115.022 44.228 5224
+-114.896 44.228 5101
+-114.77 44.228 5139
+-114.644 44.228 5041
+-114.518 44.228 4906
+-114.392 44.228 4736
+-114.266 44.228 4578
+-114.14 44.228 4528
+-114.014 44.228 4530
+-113.888 44.228 4505
+-113.762 44.228 4422
+-113.636 44.228 4349
+-113.51 44.228 4286
+-113.384 44.228 4231
+-113.258 44.228 4168
+-113.132 44.228 4091
+-113.006 44.228 4057
+-112.88 44.228 4018
+-112.754 44.228 3988
+-112.628 44.228 3971
+-112.502 44.228 3944
+-112.376 44.228 3944
+-112.25 44.228 3881
+-112.124 44.228 3786
+-111.998 44.228 3720
+-111.872 44.228 3682
+-111.746 44.228 3650
+-111.62 44.228 3644
+-111.494 44.228 3638
+-111.368 44.228 3632
+-111.242 44.228 3627
+-111.116 44.228 3623
+-110.99 44.228 3580
+-110.864 44.228 3576
+-110.738 44.228 3574
+-110.612 44.228 3572
+-110.486 44.228 3570
+-110.36 44.228 3523
+-110.234 44.228 3522
+-110.108 44.228 3522
+-109.982 44.228 3425
+-109.856 44.228 3424
+-109.73 44.228 3330
+-109.604 44.228 3327
+-109.478 44.228 3325
+-109.352 44.228 3323
+-109.226 44.228 3249
+-109.1 44.228 3247
+-108.974 44.228 3246
+-108.848 44.228 3245
+-108.722 44.228 3244
+-108.596 44.228 3244
+-108.47 44.228 3243
+-108.344 44.228 3101
+-108.218 44.228 3103
+-108.092 44.228 3104
+-107.966 44.228 3106
+-107.84 44.228 3107
+-107.714 44.228 3109
+-107.588 44.228 3110
+-107.462 44.228 3111
+-107.336 44.228 3113
+-107.21 44.228 3114
+-107.084 44.228 3116
+-106.958 44.228 3107
+-106.832 44.228 3109
+-106.706 44.228 3111
+-106.58 44.228 3043
+-106.454 44.228 3044
+-106.328 44.228 3045
+-106.202 44.228 3046
+-106.076 44.228 3047
+-105.95 44.228 3047
+-105.824 44.228 2930
+-105.698 44.228 2926
+-105.572 44.228 2921
+-105.446 44.228 2917
+-105.32 44.228 2912
+-105.194 44.228 2907
+-105.068 44.228 2902
+-104.942 44.228 2896
+-104.816 44.228 2831
+-104.69 44.228 2824
+-104.564 44.228 2818
+-104.438 44.228 2662
+-104.312 44.228 2494
+-104.186 44.228 2445
+-104.06 44.228 2369
+-103.934 44.228 2324
+-103.808 44.228 2415
+-103.682 44.228 2416
+-103.556 44.228 2451
+-103.43 44.228 2533
+-103.304 44.228 2787
+-103.178 44.228 2787
+-103.052 44.228 2881
+-102.926 44.228 2879
+-102.8 44.228 2861
+-102.674 44.228 2893
+-102.548 44.228 2899
+-102.422 44.228 2897
+-102.296 44.228 2944
+-102.17 44.228 2942
+-102.044 44.228 2907
+-101.918 44.228 2906
+-101.792 44.228 2905
+-101.666 44.228 2904
+-101.54 44.228 2903
+-101.414 44.228 2902
+-101.288 44.228 2954
+-101.162 44.228 2953
+-101.036 44.228 2952
+-100.91 44.228 2877
+-100.784 44.228 2876
+-100.658 44.228 2876
+-100.532 44.228 2880
+-100.406 44.228 2880
+-100.28 44.228 2881
+-100.154 44.228 2881
+-100.028 44.228 2881
+-99.902 44.228 3001
+-99.776 44.228 3001
+-99.65 44.228 3000
+-99.524 44.228 3000
+-99.398 44.228 3009
+-99.272 44.228 3017
+-99.146 44.228 3010
+-99.02 44.228 2982
+-98.894 44.228 3018
+-98.768 44.228 3230
+-98.642 44.228 3250
+-98.516 44.228 3245
+-98.39 44.228 3137
+-98.264 44.228 3134
+-98.138 44.228 3131
+-98.012 44.228 3128
+-97.886 44.228 3126
+-97.76 44.228 3123
+-97.634 44.228 3121
+-97.508 44.228 3107
+-97.382 44.228 3128
+-97.256 44.228 3127
+-97.13 44.228 3149
+-97.004 44.228 3135
+-96.878 44.228 3167
+-96.752 44.228 3108
+-96.626 44.228 3126
+-96.5 44.228 3132
+-96.374 44.228 3130
+-96.248 44.228 3148
+-96.122 44.228 3154
+-95.996 44.228 3164
+-95.87 44.228 3185
+-95.744 44.228 3192
+-95.618 44.228 3199
+-95.492 44.228 3272
+-95.366 44.228 3276
+-95.24 44.228 3279
+-95.114 44.228 3260
+-94.988 44.228 3317
+-94.862 44.228 3318
+-94.736 44.228 3314
+-94.61 44.228 3308
+-94.484 44.228 3302
+-94.358 44.228 3285
+-94.232 44.228 3277
+-94.106 44.228 3274
+-93.98 44.228 3271
+-93.854 44.228 3257
+-93.728 44.228 3222
+-93.602 44.228 3192
+-93.476 44.228 3152
+-93.35 44.228 3104
+-93.224 44.228 3049
+-93.098 44.228 3042
+-92.972 44.228 3089
+-92.846 44.228 3132
+-92.72 44.228 3141
+-92.594 44.228 3185
+-92.468 44.228 3261
+-92.342 44.228 3322
+-92.216 44.228 3355
+-92.09 44.228 3357
+-91.964 44.228 3391
+-91.838 44.228 3431
+-91.712 44.228 3441
+-91.586 44.228 3437
+-91.46 44.228 3436
+-91.334 44.228 3455
+-91.208 44.228 3503
+-91.082 44.228 3538
+-90.956 44.228 3563
+-90.83 44.228 3572
+-90.704 44.228 3589
+-90.578 44.228 3602
+-90.452 44.228 3595
+-90.326 44.228 3567
+-90.2 44.228 3548
+-90.074 44.228 3537
+-89.948 44.228 3507
+-89.822 44.228 3522
+-89.696 44.228 3532
+-89.57 44.228 3534
+-89.444 44.228 3493
+-89.318 44.228 3458
+-89.192 44.228 3422
+-89.066 44.228 3384
+-88.94 44.228 3365
+-88.814 44.228 3374
+-88.688 44.228 3375
+-88.562 44.228 3359
+-88.436 44.228 3351
+-88.31 44.228 3344
+-88.184 44.228 3320
+-88.058 44.228 3281
+-87.932 44.228 3225
+-87.806 44.228 3189
+-87.68 44.228 3141
+-87.554 44.228 3028
+-87.428 44.228 2952
+-87.302 44.228 2868
+-87.176 44.228 2769
+-87.05 44.228 2659
+-86.924 44.228 2536
+-86.798 44.228 2419
+-86.672 44.228 2307
+-86.546 44.228 2210
+-86.42 44.228 2139
+-86.294 44.228 2093
+-86.168 44.228 2073
+-86.042 44.228 2072
+-85.916 44.228 2058
+-85.79 44.228 2016
+-85.664 44.228 1942
+-85.538 44.228 1855
+-85.412 44.228 1811
+-85.286 44.228 1832
+-85.16 44.228 1892
+-85.034 44.228 1972
+-84.908 44.228 2040
+-84.782 44.228 2111
+-84.656 44.228 2177
+-84.53 44.228 2232
+-84.404 44.228 2285
+-84.278 44.228 2331
+-84.152 44.228 2351
+-84.026 44.228 2390
+-83.9 44.228 2421
+-83.774 44.228 2445
+-83.648 44.228 2472
+-83.522 44.228 2495
+-83.396 44.228 2517
+-83.27 44.228 2509
+-83.144 44.228 2523
+-83.018 44.228 2538
+-82.892 44.228 2553
+-82.766 44.228 2566
+-82.64 44.228 2577
+-82.514 44.228 2547
+-82.388 44.228 2625
+-82.262 44.228 2633
+-82.136 44.228 2645
+-82.01 44.228 2654
+-81.884 44.228 2662
+-81.758 44.228 2670
+-81.632 44.228 2690
+-81.506 44.228 2683
+-81.38 44.228 2730
+-81.254 44.228 2737
+-81.128 44.228 2737
+-81.002 44.228 2747
+-80.876 44.228 2753
+-80.75 44.228 2759
+-80.624 44.228 2755
+-80.498 44.228 2855
+-80.372 44.228 2860
+-80.246 44.228 2866
+-80.12 44.228 2871
+-79.994 44.228 2965
+-79.868 44.228 2930
+-79.742 44.228 3065
+-79.616 44.228 3068
+-79.49 44.228 3042
+-79.364 44.228 3045
+-79.238 44.228 3049
+-79.112 44.228 3051
+-78.986 44.228 3054
+-78.86 44.228 3057
+-78.734 44.228 3134
+-78.608 44.228 3133
+-78.482 44.228 3136
+-78.356 44.228 3139
+-78.23 44.228 3143
+-78.104 44.228 3096
+-77.978 44.228 3124
+-77.852 44.228 3127
+-77.726 44.228 3188
+-77.6 44.228 3116
+-77.474 44.228 3119
+-77.348 44.228 3122
+-77.222 44.228 3161
+-77.096 44.228 3124
+-76.97 44.228 3127
+-76.844 44.228 3130
+-76.718 44.228 3346
+-76.592 44.228 3300
+-76.466 44.228 3302
+-76.34 44.228 3426
+-76.214 44.228 3403
+-76.088 44.228 3405
+-75.962 44.228 3357
+-75.836 44.228 3429
+-75.71 44.228 3431
+-75.584 44.228 3433
+-75.458 44.228 3434
+-75.332 44.228 3436
+-75.206 44.228 3435
+-75.08 44.228 3437
+-74.954 44.228 3439
+-74.828 44.228 3428
+-74.702 44.228 3379
+-74.576 44.228 3374
+-74.45 44.228 3376
+-74.324 44.228 3377
+-74.198 44.228 3379
+-74.072 44.228 3380
+-73.946 44.228 3381
+-73.82 44.228 3382
+-73.694 44.228 3384
+-73.568 44.228 3385
+-73.442 44.228 3386
+-73.316 44.228 3387
+-73.19 44.228 3388
+-73.064 44.228 3389
+-72.938 44.228 3390
+-72.812 44.228 3391
+-72.686 44.228 3500
+-72.56 44.228 3500
+-72.434 44.228 3486
+-72.308 44.228 3487
+-72.182 44.228 3488
+-72.056 44.228 3489
+-71.93 44.228 3490
+-71.804 44.228 3490
+-71.678 44.228 3491
+-71.552 44.228 3492
+-71.426 44.228 3493
+-71.3 44.228 3493
+-71.174 44.228 3494
+-71.048 44.228 3529
+-70.922 44.228 3530
+-70.796 44.228 3531
+-70.67 44.228 3532
+-70.544 44.228 3533
+-70.418 44.228 3534
+-70.292 44.228 3495
+-70.166 44.228 3495
+-70.04 44.228 3496
+-69.914 44.228 3497
+-69.788 44.228 3533
+-69.662 44.228 3534
+-69.536 44.228 3534
+-69.41 44.228 3489
+-69.284 44.228 3489
+-69.158 44.228 3490
+-69.032 44.228 3627
+-68.906 44.228 3627
+-68.78 44.228 3628
+-68.654 44.228 3628
+-68.528 44.228 3628
+-68.402 44.228 3562
+-68.276 44.228 3563
+-68.15 44.228 3563
+-68.024 44.228 3563
+-67.898 44.228 3563
+-67.772 44.228 3563
+-67.646 44.228 3564
+-67.52 44.228 3564
+-67.394 44.228 3564
+-67.268 44.228 3564
+-67.142 44.228 3546
+-67.016 44.228 3533
+-66.89 44.228 3533
+-66.764 44.228 3533
+-66.638 44.228 3533
+-66.512 44.228 3534
+-66.386 44.228 3534
+-66.26 44.228 3515
+-66.134 44.228 3515
+-66.008 44.228 3515
+-65.882 44.228 3515
+-65.756 44.228 3516
+-65.63 44.228 3516
+-65.504 44.228 3516
+-65.378 44.228 3516
+-65.252 44.228 3464
+-65.126 44.228 3464
+-128 44.176 3730
+-127.874 44.176 3748
+-127.748 44.176 3767
+-127.622 44.176 3792
+-127.496 44.176 3823
+-127.37 44.176 3886
+-127.244 44.176 3926
+-127.118 44.176 3982
+-126.992 44.176 4090
+-126.866 44.176 4233
+-126.74 44.176 4434
+-126.614 44.176 4643
+-126.488 44.176 4782
+-126.362 44.176 4914
+-126.236 44.176 5019
+-126.11 44.176 5069
+-125.984 44.176 5167
+-125.858 44.176 5279
+-125.732 44.176 5332
+-125.606 44.176 5416
+-125.48 44.176 5513
+-125.354 44.176 5633
+-125.228 44.176 5704
+-125.102 44.176 5760
+-124.976 44.176 5806
+-124.85 44.176 5872
+-124.724 44.176 5951
+-124.598 44.176 6019
+-124.472 44.176 6088
+-124.346 44.176 6155
+-124.22 44.176 6228
+-124.094 44.176 6293
+-123.968 44.176 6318
+-123.842 44.176 6351
+-123.716 44.176 6395
+-123.59 44.176 6438
+-123.464 44.176 6484
+-123.338 44.176 6478
+-123.212 44.176 6512
+-123.086 44.176 6508
+-122.96 44.176 6500
+-122.834 44.176 6489
+-122.708 44.176 6475
+-122.582 44.176 6473
+-122.456 44.176 6443
+-122.33 44.176 6402
+-122.204 44.176 6379
+-122.078 44.176 6361
+-121.952 44.176 6343
+-121.826 44.176 6276
+-121.7 44.176 6199
+-121.574 44.176 6139
+-121.448 44.176 6062
+-121.322 44.176 6039
+-121.196 44.176 5960
+-121.07 44.176 5911
+-120.944 44.176 5782
+-120.818 44.176 5908
+-120.692 44.176 6051
+-120.566 44.176 6151
+-120.44 44.176 6241
+-120.314 44.176 6349
+-120.188 44.176 6411
+-120.062 44.176 6543
+-119.936 44.176 6570
+-119.81 44.176 6665
+-119.684 44.176 6744
+-119.558 44.176 6845
+-119.432 44.176 6877
+-119.306 44.176 6937
+-119.18 44.176 6995
+-119.054 44.176 7057
+-118.928 44.176 7098
+-118.802 44.176 7145
+-118.676 44.176 7183
+-118.55 44.176 7170
+-118.424 44.176 7168
+-118.298 44.176 7169
+-118.172 44.176 7181
+-118.046 44.176 7162
+-117.92 44.176 7161
+-117.794 44.176 7096
+-117.668 44.176 7098
+-117.542 44.176 7037
+-117.416 44.176 7007
+-117.29 44.176 6940
+-117.164 44.176 6864
+-117.038 44.176 6773
+-116.912 44.176 6729
+-116.786 44.176 6573
+-116.66 44.176 6521
+-116.534 44.176 6519
+-116.408 44.176 6418
+-116.282 44.176 6261
+-116.156 44.176 6161
+-116.03 44.176 6029
+-115.904 44.176 5940
+-115.778 44.176 5863
+-115.652 44.176 5696
+-115.526 44.176 5548
+-115.4 44.176 5450
+-115.274 44.176 5413
+-115.148 44.176 5309
+-115.022 44.176 5225
+-114.896 44.176 5099
+-114.77 44.176 5110
+-114.644 44.176 5041
+-114.518 44.176 4876
+-114.392 44.176 4636
+-114.266 44.176 4479
+-114.14 44.176 4418
+-114.014 44.176 4489
+-113.888 44.176 4514
+-113.762 44.176 4468
+-113.636 44.176 4378
+-113.51 44.176 4322
+-113.384 44.176 4221
+-113.258 44.176 4184
+-113.132 44.176 4101
+-113.006 44.176 4065
+-112.88 44.176 4044
+-112.754 44.176 4008
+-112.628 44.176 3976
+-112.502 44.176 3917
+-112.376 44.176 3882
+-112.25 44.176 3836
+-112.124 44.176 3833
+-111.998 44.176 3742
+-111.872 44.176 3708
+-111.746 44.176 3671
+-111.62 44.176 3638
+-111.494 44.176 3634
+-111.368 44.176 3630
+-111.242 44.176 3585
+-111.116 44.176 3586
+-110.99 44.176 3583
+-110.864 44.176 3534
+-110.738 44.176 3531
+-110.612 44.176 3529
+-110.486 44.176 3527
+-110.36 44.176 3526
+-110.234 44.176 3438
+-110.108 44.176 3426
+-109.982 44.176 3424
+-109.856 44.176 3329
+-109.73 44.176 3326
+-109.604 44.176 3323
+-109.478 44.176 3321
+-109.352 44.176 3319
+-109.226 44.176 3317
+-109.1 44.176 3243
+-108.974 44.176 3242
+-108.848 44.176 3241
+-108.722 44.176 3240
+-108.596 44.176 3240
+-108.47 44.176 3239
+-108.344 44.176 3227
+-108.218 44.176 3097
+-108.092 44.176 3099
+-107.966 44.176 3100
+-107.84 44.176 3102
+-107.714 44.176 3103
+-107.588 44.176 3105
+-107.462 44.176 3106
+-107.336 44.176 3108
+-107.21 44.176 3109
+-107.084 44.176 3111
+-106.958 44.176 3112
+-106.832 44.176 3104
+-106.706 44.176 3035
+-106.58 44.176 3036
+-106.454 44.176 3037
+-106.328 44.176 3038
+-106.202 44.176 3039
+-106.076 44.176 3040
+-105.95 44.176 3041
+-105.824 44.176 2922
+-105.698 44.176 2918
+-105.572 44.176 2913
+-105.446 44.176 2909
+-105.32 44.176 2904
+-105.194 44.176 2899
+-105.068 44.176 2893
+-104.942 44.176 2888
+-104.816 44.176 2823
+-104.69 44.176 2815
+-104.564 44.176 2810
+-104.438 44.176 2557
+-104.312 44.176 2383
+-104.186 44.176 2348
+-104.06 44.176 2361
+-103.934 44.176 2320
+-103.808 44.176 2412
+-103.682 44.176 2413
+-103.556 44.176 2450
+-103.43 44.176 2532
+-103.304 44.176 2625
+-103.178 44.176 2786
+-103.052 44.176 2879
+-102.926 44.176 2876
+-102.8 44.176 2874
+-102.674 44.176 2857
+-102.548 44.176 2888
+-102.422 44.176 2894
+-102.296 44.176 2892
+-102.17 44.176 2939
+-102.044 44.176 2936
+-101.918 44.176 2903
+-101.792 44.176 2902
+-101.666 44.176 2900
+-101.54 44.176 2899
+-101.414 44.176 2898
+-101.288 44.176 2897
+-101.162 44.176 2949
+-101.036 44.176 2947
+-100.91 44.176 2946
+-100.784 44.176 2872
+-100.658 44.176 2872
+-100.532 44.176 2871
+-100.406 44.176 2876
+-100.28 44.176 2876
+-100.154 44.176 2876
+-100.028 44.176 2876
+-99.902 44.176 2876
+-99.776 44.176 2995
+-99.65 44.176 2995
+-99.524 44.176 2995
+-99.398 44.176 2994
+-99.272 44.176 2994
+-99.146 44.176 3011
+-99.02 44.176 3004
+-98.894 44.176 2976
+-98.768 44.176 3011
+-98.642 44.176 3220
+-98.516 44.176 3239
+-98.39 44.176 3233
+-98.264 44.176 3128
+-98.138 44.176 3125
+-98.012 44.176 3122
+-97.886 44.176 3118
+-97.76 44.176 3116
+-97.634 44.176 3113
+-97.508 44.176 3111
+-97.382 44.176 3097
+-97.256 44.176 3118
+-97.13 44.176 3118
+-97.004 44.176 3138
+-96.878 44.176 3126
+-96.752 44.176 3158
+-96.626 44.176 3101
+-96.5 44.176 3119
+-96.374 44.176 3125
+-96.248 44.176 3125
+-96.122 44.176 3144
+-95.996 44.176 3152
+-95.87 44.176 3162
+-95.744 44.176 3184
+-95.618 44.176 3192
+-95.492 44.176 3200
+-95.366 44.176 3271
+-95.24 44.176 3275
+-95.114 44.176 3278
+-94.988 44.176 3259
+-94.862 44.176 3312
+-94.736 44.176 3311
+-94.61 44.176 3306
+-94.484 44.176 3300
+-94.358 44.176 3294
+-94.232 44.176 3278
+-94.106 44.176 3270
+-93.98 44.176 3267
+-93.854 44.176 3264
+-93.728 44.176 3253
+-93.602 44.176 3222
+-93.476 44.176 3200
+-93.35 44.176 3175
+-93.224 44.176 3160
+-93.098 44.176 3157
+-92.972 44.176 3167
+-92.846 44.176 3146
+-92.72 44.176 3108
+-92.594 44.176 3166
+-92.468 44.176 3263
+-92.342 44.176 3330
+-92.216 44.176 3349
+-92.09 44.176 3325
+-91.964 44.176 3385
+-91.838 44.176 3453
+-91.712 44.176 3465
+-91.586 44.176 3461
+-91.46 44.176 3475
+-91.334 44.176 3520
+-91.208 44.176 3555
+-91.082 44.176 3589
+-90.956 44.176 3611
+-90.83 44.176 3625
+-90.704 44.176 3639
+-90.578 44.176 3643
+-90.452 44.176 3644
+-90.326 44.176 3612
+-90.2 44.176 3573
+-90.074 44.176 3557
+-89.948 44.176 3541
+-89.822 44.176 3553
+-89.696 44.176 3565
+-89.57 44.176 3562
+-89.444 44.176 3544
+-89.318 44.176 3506
+-89.192 44.176 3450
+-89.066 44.176 3412
+-88.94 44.176 3393
+-88.814 44.176 3398
+-88.688 44.176 3397
+-88.562 44.176 3395
+-88.436 44.176 3393
+-88.31 44.176 3394
+-88.184 44.176 3365
+-88.058 44.176 3322
+-87.932 44.176 3265
+-87.806 44.176 3226
+-87.68 44.176 3176
+-87.554 44.176 3121
+-87.428 44.176 3001
+-87.302 44.176 2916
+-87.176 44.176 2820
+-87.05 44.176 2703
+-86.924 44.176 2589
+-86.798 44.176 2470
+-86.672 44.176 2354
+-86.546 44.176 2248
+-86.42 44.176 2153
+-86.294 44.176 2086
+-86.168 44.176 2060
+-86.042 44.176 2067
+-85.916 44.176 2063
+-85.79 44.176 2007
+-85.664 44.176 1884
+-85.538 44.176 1753
+-85.412 44.176 1695
+-85.286 44.176 1734
+-85.16 44.176 1828
+-85.034 44.176 1926
+-84.908 44.176 2022
+-84.782 44.176 2107
+-84.656 44.176 2178
+-84.53 44.176 2242
+-84.404 44.176 2298
+-84.278 44.176 2325
+-84.152 44.176 2369
+-84.026 44.176 2404
+-83.9 44.176 2432
+-83.774 44.176 2461
+-83.648 44.176 2487
+-83.522 44.176 2510
+-83.396 44.176 2504
+-83.27 44.176 2519
+-83.144 44.176 2536
+-83.018 44.176 2551
+-82.892 44.176 2565
+-82.766 44.176 2576
+-82.64 44.176 2547
+-82.514 44.176 2624
+-82.388 44.176 2632
+-82.262 44.176 2645
+-82.136 44.176 2654
+-82.01 44.176 2662
+-81.884 44.176 2670
+-81.758 44.176 2690
+-81.632 44.176 2683
+-81.506 44.176 2730
+-81.38 44.176 2737
+-81.254 44.176 2737
+-81.128 44.176 2747
+-81.002 44.176 2753
+-80.876 44.176 2759
+-80.75 44.176 2755
+-80.624 44.176 2854
+-80.498 44.176 2860
+-80.372 44.176 2865
+-80.246 44.176 2871
+-80.12 44.176 2964
+-79.994 44.176 2930
+-79.868 44.176 3062
+-79.742 44.176 3066
+-79.616 44.176 3041
+-79.49 44.176 3044
+-79.364 44.176 3047
+-79.238 44.176 3050
+-79.112 44.176 3053
+-78.986 44.176 3056
+-78.86 44.176 3132
+-78.734 44.176 3131
+-78.608 44.176 3135
+-78.482 44.176 3138
+-78.356 44.176 3141
+-78.23 44.176 3095
+-78.104 44.176 3123
+-77.978 44.176 3126
+-77.852 44.176 3187
+-77.726 44.176 3114
+-77.6 44.176 3118
+-77.474 44.176 3121
+-77.348 44.176 3160
+-77.222 44.176 3123
+-77.096 44.176 3126
+-76.97 44.176 3129
+-76.844 44.176 3345
+-76.718 44.176 3298
+-76.592 44.176 3301
+-76.466 44.176 3424
+-76.34 44.176 3402
+-76.214 44.176 3404
+-76.088 44.176 3356
+-75.962 44.176 3428
+-75.836 44.176 3430
+-75.71 44.176 3431
+-75.584 44.176 3433
+-75.458 44.176 3435
+-75.332 44.176 3434
+-75.206 44.176 3436
+-75.08 44.176 3438
+-74.954 44.176 3427
+-74.828 44.176 3379
+-74.702 44.176 3374
+-74.576 44.176 3375
+-74.45 44.176 3376
+-74.324 44.176 3378
+-74.198 44.176 3379
+-74.072 44.176 3380
+-73.946 44.176 3382
+-73.82 44.176 3383
+-73.694 44.176 3384
+-73.568 44.176 3385
+-73.442 44.176 3386
+-73.316 44.176 3388
+-73.19 44.176 3389
+-73.064 44.176 3390
+-72.938 44.176 3391
+-72.812 44.176 3499
+-72.686 44.176 3500
+-72.56 44.176 3486
+-72.434 44.176 3487
+-72.308 44.176 3487
+-72.182 44.176 3488
+-72.056 44.176 3489
+-71.93 44.176 3490
+-71.804 44.176 3491
+-71.678 44.176 3492
+-71.552 44.176 3492
+-71.426 44.176 3493
+-71.3 44.176 3494
+-71.174 44.176 3529
+-71.048 44.176 3530
+-70.922 44.176 3531
+-70.796 44.176 3531
+-70.67 44.176 3532
+-70.544 44.176 3533
+-70.418 44.176 3494
+-70.292 44.176 3495
+-70.166 44.176 3496
+-70.04 44.176 3496
+-69.914 44.176 3532
+-69.788 44.176 3533
+-69.662 44.176 3534
+-69.536 44.176 3488
+-69.41 44.176 3489
+-69.284 44.176 3490
+-69.158 44.176 3627
+-69.032 44.176 3627
+-68.906 44.176 3627
+-68.78 44.176 3628
+-68.654 44.176 3628
+-68.528 44.176 3562
+-68.402 44.176 3562
+-68.276 44.176 3563
+-68.15 44.176 3563
+-68.024 44.176 3563
+-67.898 44.176 3563
+-67.772 44.176 3563
+-67.646 44.176 3564
+-67.52 44.176 3564
+-67.394 44.176 3564
+-67.268 44.176 3545
+-67.142 44.176 3532
+-67.016 44.176 3533
+-66.89 44.176 3533
+-66.764 44.176 3533
+-66.638 44.176 3533
+-66.512 44.176 3515
+-66.386 44.176 3515
+-66.26 44.176 3515
+-66.134 44.176 3515
+-66.008 44.176 3515
+-65.882 44.176 3515
+-65.756 44.176 3516
+-65.63 44.176 3516
+-65.504 44.176 3516
+-65.378 44.176 3464
+-65.252 44.176 3464
+-65.126 44.176 3464
+-128 44.124 3721
+-127.874 44.124 3731
+-127.748 44.124 3734
+-127.622 44.124 3732
+-127.496 44.124 3745
+-127.37 44.124 3847
+-127.244 44.124 3912
+-127.118 44.124 3971
+-126.992 44.124 4070
+-126.866 44.124 4154
+-126.74 44.124 4318
+-126.614 44.124 4543
+-126.488 44.124 4736
+-126.362 44.124 4861
+-126.236 44.124 4911
+-126.11 44.124 5031
+-125.984 44.124 5177
+-125.858 44.124 5264
+-125.732 44.124 5263
+-125.606 44.124 5355
+-125.48 44.124 5431
+-125.354 44.124 5541
+-125.228 44.124 5650
+-125.102 44.124 5652
+-124.976 44.124 5778
+-124.85 44.124 5849
+-124.724 44.124 5925
+-124.598 44.124 5974
+-124.472 44.124 6012
+-124.346 44.124 6098
+-124.22 44.124 6146
+-124.094 44.124 6245
+-123.968 44.124 6297
+-123.842 44.124 6307
+-123.716 44.124 6320
+-123.59 44.124 6351
+-123.464 44.124 6376
+-123.338 44.124 6382
+-123.212 44.124 6405
+-123.086 44.124 6447
+-122.96 44.124 6429
+-122.834 44.124 6444
+-122.708 44.124 6448
+-122.582 44.124 6421
+-122.456 44.124 6384
+-122.33 44.124 6346
+-122.204 44.124 6323
+-122.078 44.124 6298
+-121.952 44.124 6253
+-121.826 44.124 6203
+-121.7 44.124 6169
+-121.574 44.124 6102
+-121.448 44.124 6036
+-121.322 44.124 5986
+-121.196 44.124 5942
+-121.07 44.124 5858
+-120.944 44.124 5770
+-120.818 44.124 5904
+-120.692 44.124 5998
+-120.566 44.124 6106
+-120.44 44.124 6208
+-120.314 44.124 6280
+-120.188 44.124 6379
+-120.062 44.124 6491
+-119.936 44.124 6549
+-119.81 44.124 6614
+-119.684 44.124 6754
+-119.558 44.124 6770
+-119.432 44.124 6845
+-119.306 44.124 6925
+-119.18 44.124 6947
+-119.054 44.124 6989
+-118.928 44.124 7072
+-118.802 44.124 7072
+-118.676 44.124 7109
+-118.55 44.124 7115
+-118.424 44.124 7140
+-118.298 44.124 7143
+-118.172 44.124 7144
+-118.046 44.124 7130
+-117.92 44.124 7097
+-117.794 44.124 7065
+-117.668 44.124 7034
+-117.542 44.124 6984
+-117.416 44.124 6948
+-117.29 44.124 6885
+-117.164 44.124 6814
+-117.038 44.124 6685
+-116.912 44.124 6627
+-116.786 44.124 6570
+-116.66 44.124 6472
+-116.534 44.124 6449
+-116.408 44.124 6361
+-116.282 44.124 6194
+-116.156 44.124 6152
+-116.03 44.124 6043
+-115.904 44.124 5923
+-115.778 44.124 5811
+-115.652 44.124 5662
+-115.526 44.124 5522
+-115.4 44.124 5437
+-115.274 44.124 5385
+-115.148 44.124 5294
+-115.022 44.124 5144
+-114.896 44.124 5145
+-114.77 44.124 5072
+-114.644 44.124 4991
+-114.518 44.124 4836
+-114.392 44.124 4660
+-114.266 44.124 4546
+-114.14 44.124 4503
+-114.014 44.124 4514
+-113.888 44.124 4506
+-113.762 44.124 4481
+-113.636 44.124 4420
+-113.51 44.124 4322
+-113.384 44.124 4243
+-113.258 44.124 4184
+-113.132 44.124 4100
+-113.006 44.124 4051
+-112.88 44.124 4037
+-112.754 44.124 4001
+-112.628 44.124 3914
+-112.502 44.124 3859
+-112.376 44.124 3823
+-112.25 44.124 3817
+-112.124 44.124 3814
+-111.998 44.124 3812
+-111.872 44.124 3715
+-111.746 44.124 3694
+-111.62 44.124 3660
+-111.494 44.124 3627
+-111.368 44.124 3584
+-111.242 44.124 3584
+-111.116 44.124 3582
+-110.99 44.124 3580
+-110.864 44.124 3578
+-110.738 44.124 3531
+-110.612 44.124 3529
+-110.486 44.124 3527
+-110.36 44.124 3439
+-110.234 44.124 3426
+-110.108 44.124 3424
+-109.982 44.124 3327
+-109.856 44.124 3323
+-109.73 44.124 3320
+-109.604 44.124 3318
+-109.478 44.124 3315
+-109.352 44.124 3313
+-109.226 44.124 3312
+-109.1 44.124 3310
+-108.974 44.124 3237
+-108.848 44.124 3236
+-108.722 44.124 3236
+-108.596 44.124 3235
+-108.47 44.124 3234
+-108.344 44.124 3234
+-108.218 44.124 3234
+-108.092 44.124 3093
+-107.966 44.124 3094
+-107.84 44.124 3096
+-107.714 44.124 3098
+-107.588 44.124 3099
+-107.462 44.124 3101
+-107.336 44.124 3102
+-107.21 44.124 3104
+-107.084 44.124 3106
+-106.958 44.124 3107
+-106.832 44.124 3027
+-106.706 44.124 3028
+-106.58 44.124 3029
+-106.454 44.124 3031
+-106.328 44.124 3032
+-106.202 44.124 3033
+-106.076 44.124 3034
+-105.95 44.124 3035
+-105.824 44.124 2913
+-105.698 44.124 2909
+-105.572 44.124 2905
+-105.446 44.124 2900
+-105.32 44.124 2895
+-105.194 44.124 2890
+-105.068 44.124 2885
+-104.942 44.124 2879
+-104.816 44.124 2814
+-104.69 44.124 2806
+-104.564 44.124 2604
+-104.438 44.124 2546
+-104.312 44.124 2374
+-104.186 44.124 2341
+-104.06 44.124 2354
+-103.934 44.124 2316
+-103.808 44.124 2410
+-103.682 44.124 2410
+-103.556 44.124 2448
+-103.43 44.124 2530
+-103.304 44.124 2632
+-103.178 44.124 2623
+-103.052 44.124 2877
+-102.926 44.124 2874
+-102.8 44.124 2871
+-102.674 44.124 2869
+-102.548 44.124 2852
+-102.422 44.124 2883
+-102.296 44.124 2889
+-102.17 44.124 2887
+-102.044 44.124 2933
+-101.918 44.124 2930
+-101.792 44.124 2898
+-101.666 44.124 2897
+-101.54 44.124 2895
+-101.414 44.124 2894
+-101.288 44.124 2893
+-101.162 44.124 2892
+-101.036 44.124 2943
+-100.91 44.124 2942
+-100.784 44.124 2940
+-100.658 44.124 2867
+-100.532 44.124 2867
+-100.406 44.124 2867
+-100.28 44.124 2871
+-100.154 44.124 2871
+-100.028 44.124 2871
+-99.902 44.124 2872
+-99.776 44.124 2872
+-99.65 44.124 2989
+-99.524 44.124 2989
+-99.398 44.124 2988
+-99.272 44.124 2987
+-99.146 44.124 2996
+-99.02 44.124 3004
+-98.894 44.124 2997
+-98.768 44.124 2970
+-98.642 44.124 3005
+-98.516 44.124 3209
+-98.39 44.124 3227
+-98.264 44.124 3221
+-98.138 44.124 3118
+-98.012 44.124 3115
+-97.886 44.124 3111
+-97.76 44.124 3108
+-97.634 44.124 3104
+-97.508 44.124 3102
+-97.382 44.124 3099
+-97.256 44.124 3087
+-97.13 44.124 3107
+-97.004 44.124 3107
+-96.878 44.124 3127
+-96.752 44.124 3116
+-96.626 44.124 3147
+-96.5 44.124 3093
+-96.374 44.124 3111
+-96.248 44.124 3119
+-96.122 44.124 3120
+-95.996 44.124 3140
+-95.87 44.124 3149
+-95.744 44.124 3161
+-95.618 44.124 3183
+-95.492 44.124 3193
+-95.366 44.124 3201
+-95.24 44.124 3269
+-95.114 44.124 3273
+-94.988 44.124 3276
+-94.862 44.124 3257
+-94.736 44.124 3306
+-94.61 44.124 3303
+-94.484 44.124 3297
+-94.358 44.124 3291
+-94.232 44.124 3285
+-94.106 44.124 3270
+-93.98 44.124 3300
+-93.854 44.124 3263
+-93.728 44.124 3265
+-93.602 44.124 3260
+-93.476 44.124 3239
+-93.35 44.124 3231
+-93.224 44.124 3224
+-93.098 44.124 3225
+-92.972 44.124 3219
+-92.846 44.124 3199
+-92.72 44.124 3179
+-92.594 44.124 3224
+-92.468 44.124 3289
+-92.342 44.124 3355
+-92.216 44.124 3380
+-92.09 44.124 3382
+-91.964 44.124 3454
+-91.838 44.124 3513
+-91.712 44.124 3521
+-91.586 44.124 3519
+-91.46 44.124 3542
+-91.334 44.124 3588
+-91.208 44.124 3627
+-91.082 44.124 3648
+-90.956 44.124 3662
+-90.83 44.124 3684
+-90.704 44.124 3673
+-90.578 44.124 3668
+-90.452 44.124 3662
+-90.326 44.124 3655
+-90.2 44.124 3631
+-90.074 44.124 3611
+-89.948 44.124 3599
+-89.822 44.124 3599
+-89.696 44.124 3605
+-89.57 44.124 3608
+-89.444 44.124 3585
+-89.318 44.124 3553
+-89.192 44.124 3498
+-89.066 44.124 3458
+-88.94 44.124 3438
+-88.814 44.124 3424
+-88.688 44.124 3385
+-88.562 44.124 3415
+-88.436 44.124 3429
+-88.31 44.124 3425
+-88.184 44.124 3395
+-88.058 44.124 3349
+-87.932 44.124 3294
+-87.806 44.124 3257
+-87.68 44.124 3213
+-87.554 44.124 3167
+-87.428 44.124 3106
+-87.302 44.124 2966
+-87.176 44.124 2861
+-87.05 44.124 2759
+-86.924 44.124 2672
+-86.798 44.124 2549
+-86.672 44.124 2407
+-86.546 44.124 2290
+-86.42 44.124 2170
+-86.294 44.124 2074
+-86.168 44.124 2036
+-86.042 44.124 2058
+-85.916 44.124 2071
+-85.79 44.124 2005
+-85.664 44.124 1861
+-85.538 44.124 1704
+-85.412 44.124 1640
+-85.286 44.124 1692
+-85.16 44.124 1800
+-85.034 44.124 1919
+-84.908 44.124 2026
+-84.782 44.124 2116
+-84.656 44.124 2195
+-84.53 44.124 2261
+-84.404 44.124 2298
+-84.278 44.124 2347
+-84.152 44.124 2387
+-84.026 44.124 2419
+-83.9 44.124 2451
+-83.774 44.124 2479
+-83.648 44.124 2504
+-83.522 44.124 2501
+-83.396 44.124 2516
+-83.27 44.124 2534
+-83.144 44.124 2550
+-83.018 44.124 2564
+-82.892 44.124 2576
+-82.766 44.124 2548
+-82.64 44.124 2624
+-82.514 44.124 2632
+-82.388 44.124 2645
+-82.262 44.124 2654
+-82.136 44.124 2662
+-82.01 44.124 2670
+-81.884 44.124 2690
+-81.758 44.124 2684
+-81.632 44.124 2730
+-81.506 44.124 2737
+-81.38 44.124 2738
+-81.254 44.124 2747
+-81.128 44.124 2754
+-81.002 44.124 2760
+-80.876 44.124 2756
+-80.75 44.124 2854
+-80.624 44.124 2860
+-80.498 44.124 2865
+-80.372 44.124 2870
+-80.246 44.124 2963
+-80.12 44.124 2929
+-79.994 44.124 3060
+-79.868 44.124 3064
+-79.742 44.124 3039
+-79.616 44.124 3042
+-79.49 44.124 3045
+-79.364 44.124 3049
+-79.238 44.124 3052
+-79.112 44.124 3055
+-78.986 44.124 3130
+-78.86 44.124 3129
+-78.734 44.124 3133
+-78.608 44.124 3136
+-78.482 44.124 3140
+-78.356 44.124 3094
+-78.23 44.124 3121
+-78.104 44.124 3125
+-77.978 44.124 3185
+-77.852 44.124 3113
+-77.726 44.124 3116
+-77.6 44.124 3120
+-77.474 44.124 3159
+-77.348 44.124 3122
+-77.222 44.124 3126
+-77.096 44.124 3128
+-76.97 44.124 3343
+-76.844 44.124 3297
+-76.718 44.124 3299
+-76.592 44.124 3422
+-76.466 44.124 3400
+-76.34 44.124 3402
+-76.214 44.124 3355
+-76.088 44.124 3427
+-75.962 44.124 3428
+-75.836 44.124 3430
+-75.71 44.124 3432
+-75.584 44.124 3434
+-75.458 44.124 3433
+-75.332 44.124 3435
+-75.206 44.124 3436
+-75.08 44.124 3426
+-74.954 44.124 3378
+-74.828 44.124 3373
+-74.702 44.124 3374
+-74.576 44.124 3376
+-74.45 44.124 3377
+-74.324 44.124 3378
+-74.198 44.124 3380
+-74.072 44.124 3381
+-73.946 44.124 3382
+-73.82 44.124 3384
+-73.694 44.124 3385
+-73.568 44.124 3386
+-73.442 44.124 3387
+-73.316 44.124 3388
+-73.19 44.124 3389
+-73.064 44.124 3390
+-72.938 44.124 3498
+-72.812 44.124 3499
+-72.686 44.124 3485
+-72.56 44.124 3486
+-72.434 44.124 3487
+-72.308 44.124 3488
+-72.182 44.124 3489
+-72.056 44.124 3489
+-71.93 44.124 3490
+-71.804 44.124 3491
+-71.678 44.124 3492
+-71.552 44.124 3493
+-71.426 44.124 3493
+-71.3 44.124 3528
+-71.174 44.124 3529
+-71.048 44.124 3530
+-70.922 44.124 3531
+-70.796 44.124 3532
+-70.67 44.124 3533
+-70.544 44.124 3494
+-70.418 44.124 3495
+-70.292 44.124 3495
+-70.166 44.124 3496
+-70.04 44.124 3532
+-69.914 44.124 3533
+-69.788 44.124 3533
+-69.662 44.124 3488
+-69.536 44.124 3489
+-69.41 44.124 3489
+-69.284 44.124 3626
+-69.158 44.124 3627
+-69.032 44.124 3627
+-68.906 44.124 3627
+-68.78 44.124 3628
+-68.654 44.124 3562
+-68.528 44.124 3562
+-68.402 44.124 3562
+-68.276 44.124 3563
+-68.15 44.124 3563
+-68.024 44.124 3563
+-67.898 44.124 3563
+-67.772 44.124 3563
+-67.646 44.124 3564
+-67.52 44.124 3564
+-67.394 44.124 3545
+-67.268 44.124 3532
+-67.142 44.124 3532
+-67.016 44.124 3533
+-66.89 44.124 3533
+-66.764 44.124 3533
+-66.638 44.124 3533
+-66.512 44.124 3515
+-66.386 44.124 3515
+-66.26 44.124 3515
+-66.134 44.124 3515
+-66.008 44.124 3515
+-65.882 44.124 3515
+-65.756 44.124 3516
+-65.63 44.124 3516
+-65.504 44.124 3464
+-65.378 44.124 3464
+-65.252 44.124 3464
+-65.126 44.124 3464
+-128 44.072 3690
+-127.874 44.072 3696
+-127.748 44.072 3701
+-127.622 44.072 3703
+-127.496 44.072 3664
+-127.37 44.072 3776
+-127.244 44.072 3898
+-127.118 44.072 4007
+-126.992 44.072 4124
+-126.866 44.072 4097
+-126.74 44.072 4210
+-126.614 44.072 4430
+-126.488 44.072 4674
+-126.362 44.072 4816
+-126.236 44.072 4811
+-126.11 44.072 4962
+-125.984 44.072 5153
+-125.858 44.072 5259
+-125.732 44.072 5307
+-125.606 44.072 5329
+-125.48 44.072 5388
+-125.354 44.072 5466
+-125.228 44.072 5590
+-125.102 44.072 5669
+-124.976 44.072 5762
+-124.85 44.072 5777
+-124.724 44.072 5867
+-124.598 44.072 5929
+-124.472 44.072 5982
+-124.346 44.072 6038
+-124.22 44.072 6111
+-124.094 44.072 6177
+-123.968 44.072 6242
+-123.842 44.072 6214
+-123.716 44.072 6281
+-123.59 44.072 6304
+-123.464 44.072 6327
+-123.338 44.072 6347
+-123.212 44.072 6343
+-123.086 44.072 6383
+-122.96 44.072 6397
+-122.834 44.072 6393
+-122.708 44.072 6407
+-122.582 44.072 6369
+-122.456 44.072 6344
+-122.33 44.072 6315
+-122.204 44.072 6284
+-122.078 44.072 6231
+-121.952 44.072 6204
+-121.826 44.072 6120
+-121.7 44.072 6096
+-121.574 44.072 6053
+-121.448 44.072 5957
+-121.322 44.072 5885
+-121.196 44.072 5880
+-121.07 44.072 5805
+-120.944 44.072 5706
+-120.818 44.072 5853
+-120.692 44.072 5975
+-120.566 44.072 6071
+-120.44 44.072 6124
+-120.314 44.072 6202
+-120.188 44.072 6322
+-120.062 44.072 6470
+-119.936 44.072 6474
+-119.81 44.072 6567
+-119.684 44.072 6686
+-119.558 44.072 6724
+-119.432 44.072 6765
+-119.306 44.072 6858
+-119.18 44.072 6901
+-119.054 44.072 6933
+-118.928 44.072 6973
+-118.802 44.072 7007
+-118.676 44.072 7063
+-118.55 44.072 7062
+-118.424 44.072 7076
+-118.298 44.072 7066
+-118.172 44.072 7084
+-118.046 44.072 7084
+-117.92 44.072 7039
+-117.794 44.072 6980
+-117.668 44.072 6963
+-117.542 44.072 6934
+-117.416 44.072 6890
+-117.29 44.072 6830
+-117.164 44.072 6759
+-117.038 44.072 6680
+-116.912 44.072 6606
+-116.786 44.072 6534
+-116.66 44.072 6480
+-116.534 44.072 6395
+-116.408 44.072 6299
+-116.282 44.072 6155
+-116.156 44.072 6107
+-116.03 44.072 6004
+-115.904 44.072 5891
+-115.778 44.072 5789
+-115.652 44.072 5627
+-115.526 44.072 5528
+-115.4 44.072 5447
+-115.274 44.072 5338
+-115.148 44.072 5266
+-115.022 44.072 5170
+-114.896 44.072 5093
+-114.77 44.072 5004
+-114.644 44.072 4928
+-114.518 44.072 4750
+-114.392 44.072 4602
+-114.266 44.072 4584
+-114.14 44.072 4555
+-114.014 44.072 4524
+-113.888 44.072 4508
+-113.762 44.072 4469
+-113.636 44.072 4391
+-113.51 44.072 4304
+-113.384 44.072 4238
+-113.258 44.072 4190
+-113.132 44.072 4102
+-113.006 44.072 3969
+-112.88 44.072 3941
+-112.754 44.072 3908
+-112.628 44.072 3861
+-112.502 44.072 3833
+-112.376 44.072 3825
+-112.25 44.072 3801
+-112.124 44.072 3798
+-111.998 44.072 3798
+-111.872 44.072 3798
+-111.746 44.072 3703
+-111.62 44.072 3644
+-111.494 44.072 3611
+-111.368 44.072 3576
+-111.242 44.072 3576
+-111.116 44.072 3575
+-110.99 44.072 3574
+-110.864 44.072 3574
+-110.738 44.072 3574
+-110.612 44.072 3527
+-110.486 44.072 3437
+-110.36 44.072 3424
+-110.234 44.072 3422
+-110.108 44.072 3324
+-109.982 44.072 3320
+-109.856 44.072 3317
+-109.73 44.072 3314
+-109.604 44.072 3311
+-109.478 44.072 3309
+-109.352 44.072 3307
+-109.226 44.072 3306
+-109.1 44.072 3304
+-108.974 44.072 3303
+-108.848 44.072 3231
+-108.722 44.072 3230
+-108.596 44.072 3230
+-108.47 44.072 3229
+-108.344 44.072 3229
+-108.218 44.072 3229
+-108.092 44.072 3217
+-107.966 44.072 3088
+-107.84 44.072 3090
+-107.714 44.072 3092
+-107.588 44.072 3094
+-107.462 44.072 3095
+-107.336 44.072 3097
+-107.21 44.072 3099
+-107.084 44.072 3100
+-106.958 44.072 3018
+-106.832 44.072 3020
+-106.706 44.072 3021
+-106.58 44.072 3023
+-106.454 44.072 3024
+-106.328 44.072 3025
+-106.202 44.072 3027
+-106.076 44.072 3028
+-105.95 44.072 3029
+-105.824 44.072 2905
+-105.698 44.072 2901
+-105.572 44.072 2897
+-105.446 44.072 2892
+-105.32 44.072 2887
+-105.194 44.072 2882
+-105.068 44.072 2876
+-104.942 44.072 2870
+-104.816 44.072 2805
+-104.69 44.072 2797
+-104.564 44.072 2593
+-104.438 44.072 2535
+-104.312 44.072 2365
+-104.186 44.072 2333
+-104.06 44.072 2346
+-103.934 44.072 2311
+-103.808 44.072 2407
+-103.682 44.072 2407
+-103.556 44.072 2447
+-103.43 44.072 2528
+-103.304 44.072 2630
+-103.178 44.072 2630
+-103.052 44.072 2711
+-102.926 44.072 2871
+-102.8 44.072 2869
+-102.674 44.072 2866
+-102.548 44.072 2863
+-102.422 44.072 2847
+-102.296 44.072 2878
+-102.17 44.072 2883
+-102.044 44.072 2881
+-101.918 44.072 2927
+-101.792 44.072 2924
+-101.666 44.072 2893
+-101.54 44.072 2891
+-101.414 44.072 2890
+-101.288 44.072 2889
+-101.162 44.072 2888
+-101.036 44.072 2887
+-100.91 44.072 2937
+-100.784 44.072 2936
+-100.658 44.072 2934
+-100.532 44.072 2862
+-100.406 44.072 2862
+-100.28 44.072 2862
+-100.154 44.072 2866
+-100.028 44.072 2866
+-99.902 44.072 2866
+-99.776 44.072 2867
+-99.65 44.072 2867
+-99.524 44.072 2983
+-99.398 44.072 2983
+-99.272 44.072 2982
+-99.146 44.072 2981
+-99.02 44.072 2981
+-98.894 44.072 2997
+-98.768 44.072 2990
+-98.642 44.072 2964
+-98.516 44.072 2997
+-98.39 44.072 3197
+-98.264 44.072 3214
+-98.138 44.072 3207
+-98.012 44.072 3107
+-97.886 44.072 3103
+-97.76 44.072 3099
+-97.634 44.072 3095
+-97.508 44.072 3092
+-97.382 44.072 3089
+-97.256 44.072 3086
+-97.13 44.072 3075
+-97.004 44.072 3094
+-96.878 44.072 3094
+-96.752 44.072 3115
+-96.626 44.072 3104
+-96.5 44.072 3136
+-96.374 44.072 3085
+-96.248 44.072 3104
+-96.122 44.072 3113
+-95.996 44.072 3116
+-95.87 44.072 3137
+-95.744 44.072 3148
+-95.618 44.072 3160
+-95.492 44.072 3184
+-95.366 44.072 3194
+-95.24 44.072 3203
+-95.114 44.072 3268
+-94.988 44.072 3271
+-94.862 44.072 3273
+-94.736 44.072 3254
+-94.61 44.072 3296
+-94.484 44.072 3292
+-94.358 44.072 3285
+-94.232 44.072 3278
+-94.106 44.072 3273
+-93.98 44.072 3296
+-93.854 44.072 3292
+-93.728 44.072 3265
+-93.602 44.072 3276
+-93.476 44.072 3280
+-93.35 44.072 3269
+-93.224 44.072 3270
+-93.098 44.072 3269
+-92.972 44.072 3271
+-92.846 44.072 3270
+-92.72 44.072 3278
+-92.594 44.072 3291
+-92.468 44.072 3331
+-92.342 44.072 3394
+-92.216 44.072 3437
+-92.09 44.072 3460
+-91.964 44.072 3520
+-91.838 44.072 3550
+-91.712 44.072 3552
+-91.586 44.072 3571
+-91.46 44.072 3607
+-91.334 44.072 3659
+-91.208 44.072 3696
+-91.082 44.072 3725
+-90.956 44.072 3734
+-90.83 44.072 3739
+-90.704 44.072 3726
+-90.578 44.072 3702
+-90.452 44.072 3683
+-90.326 44.072 3693
+-90.2 44.072 3698
+-90.074 44.072 3684
+-89.948 44.072 3667
+-89.822 44.072 3656
+-89.696 44.072 3653
+-89.57 44.072 3661
+-89.444 44.072 3641
+-89.318 44.072 3593
+-89.192 44.072 3537
+-89.066 44.072 3485
+-88.94 44.072 3457
+-88.814 44.072 3448
+-88.688 44.072 3432
+-88.562 44.072 3440
+-88.436 44.072 3454
+-88.31 44.072 3477
+-88.184 44.072 3466
+-88.058 44.072 3442
+-87.932 44.072 3388
+-87.806 44.072 3315
+-87.68 44.072 3282
+-87.554 44.072 3189
+-87.428 44.072 3133
+-87.302 44.072 3002
+-87.176 44.072 2916
+-87.05 44.072 2848
+-86.924 44.072 2737
+-86.798 44.072 2597
+-86.672 44.072 2479
+-86.546 44.072 2346
+-86.42 44.072 2221
+-86.294 44.072 2116
+-86.168 44.072 2072
+-86.042 44.072 2087
+-85.916 44.072 2092
+-85.79 44.072 2033
+-85.664 44.072 1906
+-85.538 44.072 1761
+-85.412 44.072 1699
+-85.286 44.072 1739
+-85.16 44.072 1839
+-85.034 44.072 1952
+-84.908 44.072 2056
+-84.782 44.072 2147
+-84.656 44.072 2224
+-84.53 44.072 2272
+-84.404 44.072 2326
+-84.278 44.072 2371
+-84.152 44.072 2407
+-84.026 44.072 2442
+-83.9 44.072 2472
+-83.774 44.072 2499
+-83.648 44.072 2498
+-83.522 44.072 2515
+-83.396 44.072 2534
+-83.27 44.072 2550
+-83.144 44.072 2565
+-83.018 44.072 2577
+-82.892 44.072 2550
+-82.766 44.072 2624
+-82.64 44.072 2632
+-82.514 44.072 2646
+-82.388 44.072 2655
+-82.262 44.072 2663
+-82.136 44.072 2671
+-82.01 44.072 2691
+-81.884 44.072 2685
+-81.758 44.072 2730
+-81.632 44.072 2738
+-81.506 44.072 2738
+-81.38 44.072 2748
+-81.254 44.072 2755
+-81.128 44.072 2761
+-81.002 44.072 2757
+-80.876 44.072 2854
+-80.75 44.072 2860
+-80.624 44.072 2865
+-80.498 44.072 2871
+-80.372 44.072 2962
+-80.246 44.072 2929
+-80.12 44.072 3058
+-79.994 44.072 3062
+-79.868 44.072 3037
+-79.742 44.072 3041
+-79.616 44.072 3044
+-79.49 44.072 3047
+-79.364 44.072 3050
+-79.238 44.072 3053
+-79.112 44.072 3128
+-78.986 44.072 3128
+-78.86 44.072 3131
+-78.734 44.072 3135
+-78.608 44.072 3138
+-78.482 44.072 3093
+-78.356 44.072 3120
+-78.23 44.072 3123
+-78.104 44.072 3183
+-77.978 44.072 3112
+-77.852 44.072 3115
+-77.726 44.072 3119
+-77.6 44.072 3158
+-77.474 44.072 3122
+-77.348 44.072 3125
+-77.222 44.072 3128
+-77.096 44.072 3341
+-76.97 44.072 3295
+-76.844 44.072 3298
+-76.718 44.072 3421
+-76.592 44.072 3398
+-76.466 44.072 3401
+-76.34 44.072 3353
+-76.214 44.072 3425
+-76.088 44.072 3427
+-75.962 44.072 3429
+-75.836 44.072 3431
+-75.71 44.072 3433
+-75.584 44.072 3432
+-75.458 44.072 3434
+-75.332 44.072 3435
+-75.206 44.072 3425
+-75.08 44.072 3377
+-74.954 44.072 3372
+-74.828 44.072 3373
+-74.702 44.072 3375
+-74.576 44.072 3376
+-74.45 44.072 3378
+-74.324 44.072 3379
+-74.198 44.072 3380
+-74.072 44.072 3382
+-73.946 44.072 3383
+-73.82 44.072 3384
+-73.694 44.072 3385
+-73.568 44.072 3387
+-73.442 44.072 3388
+-73.316 44.072 3389
+-73.19 44.072 3390
+-73.064 44.072 3498
+-72.938 44.072 3499
+-72.812 44.072 3485
+-72.686 44.072 3485
+-72.56 44.072 3486
+-72.434 44.072 3487
+-72.308 44.072 3488
+-72.182 44.072 3489
+-72.056 44.072 3490
+-71.93 44.072 3491
+-71.804 44.072 3491
+-71.678 44.072 3492
+-71.552 44.072 3493
+-71.426 44.072 3527
+-71.3 44.072 3528
+-71.174 44.072 3529
+-71.048 44.072 3530
+-70.922 44.072 3531
+-70.796 44.072 3532
+-70.67 44.072 3493
+-70.544 44.072 3494
+-70.418 44.072 3495
+-70.292 44.072 3496
+-70.166 44.072 3531
+-70.04 44.072 3532
+-69.914 44.072 3533
+-69.788 44.072 3488
+-69.662 44.072 3488
+-69.536 44.072 3489
+-69.41 44.072 3626
+-69.284 44.072 3626
+-69.158 44.072 3627
+-69.032 44.072 3627
+-68.906 44.072 3627
+-68.78 44.072 3562
+-68.654 44.072 3562
+-68.528 44.072 3562
+-68.402 44.072 3562
+-68.276 44.072 3563
+-68.15 44.072 3563
+-68.024 44.072 3563
+-67.898 44.072 3563
+-67.772 44.072 3564
+-67.646 44.072 3564
+-67.52 44.072 3545
+-67.394 44.072 3532
+-67.268 44.072 3532
+-67.142 44.072 3533
+-67.016 44.072 3533
+-66.89 44.072 3533
+-66.764 44.072 3514
+-66.638 44.072 3514
+-66.512 44.072 3515
+-66.386 44.072 3515
+-66.26 44.072 3515
+-66.134 44.072 3515
+-66.008 44.072 3515
+-65.882 44.072 3515
+-65.756 44.072 3516
+-65.63 44.072 3464
+-65.504 44.072 3464
+-65.378 44.072 3464
+-65.252 44.072 3464
+-65.126 44.072 3464
+-128 44.02 3646
+-127.874 44.02 3677
+-127.748 44.02 3683
+-127.622 44.02 3692
+-127.496 44.02 3701
+-127.37 44.02 3764
+-127.244 44.02 3848
+-127.118 44.02 3942
+-126.992 44.02 4029
+-126.866 44.02 4053
+-126.74 44.02 4146
+-126.614 44.02 4362
+-126.488 44.02 4603
+-126.362 44.02 4781
+-126.236 44.02 4873
+-126.11 44.02 4981
+-125.984 44.02 5144
+-125.858 44.02 5229
+-125.732 44.02 5281
+-125.606 44.02 5317
+-125.48 44.02 5355
+-125.354 44.02 5434
+-125.228 44.02 5524
+-125.102 44.02 5631
+-124.976 44.02 5711
+-124.85 44.02 5777
+-124.724 44.02 5826
+-124.598 44.02 5892
+-124.472 44.02 5935
+-124.346 44.02 5984
+-124.22 44.02 6074
+-124.094 44.02 6101
+-123.968 44.02 6183
+-123.842 44.02 6230
+-123.716 44.02 6257
+-123.59 44.02 6293
+-123.464 44.02 6275
+-123.338 44.02 6280
+-123.212 44.02 6282
+-123.086 44.02 6304
+-122.96 44.02 6325
+-122.834 44.02 6318
+-122.708 44.02 6346
+-122.582 44.02 6323
+-122.456 44.02 6323
+-122.33 44.02 6286
+-122.204 44.02 6267
+-122.078 44.02 6182
+-121.952 44.02 6163
+-121.826 44.02 6105
+-121.7 44.02 6033
+-121.574 44.02 5972
+-121.448 44.02 5921
+-121.322 44.02 5854
+-121.196 44.02 5786
+-121.07 44.02 5756
+-120.944 44.02 5709
+-120.818 44.02 5810
+-120.692 44.02 5905
+-120.566 44.02 6008
+-120.44 44.02 6119
+-120.314 44.02 6152
+-120.188 44.02 6312
+-120.062 44.02 6390
+-119.936 44.02 6487
+-119.81 44.02 6542
+-119.684 44.02 6563
+-119.558 44.02 6665
+-119.432 44.02 6711
+-119.306 44.02 6768
+-119.18 44.02 6838
+-119.054 44.02 6878
+-118.928 44.02 6915
+-118.802 44.02 6971
+-118.676 44.02 6986
+-118.55 44.02 7017
+-118.424 44.02 7026
+-118.298 44.02 7033
+-118.172 44.02 7029
+-118.046 44.02 7025
+-117.92 44.02 6980
+-117.794 44.02 6965
+-117.668 44.02 6919
+-117.542 44.02 6867
+-117.416 44.02 6825
+-117.29 44.02 6770
+-117.164 44.02 6701
+-117.038 44.02 6651
+-116.912 44.02 6571
+-116.786 44.02 6451
+-116.66 44.02 6443
+-116.534 44.02 6318
+-116.408 44.02 6252
+-116.282 44.02 6160
+-116.156 44.02 6042
+-116.03 44.02 5958
+-115.904 44.02 5831
+-115.778 44.02 5763
+-115.652 44.02 5623
+-115.526 44.02 5500
+-115.4 44.02 5435
+-115.274 44.02 5299
+-115.148 44.02 5215
+-115.022 44.02 5110
+-114.896 44.02 5004
+-114.77 44.02 4920
+-114.644 44.02 4897
+-114.518 44.02 4664
+-114.392 44.02 4457
+-114.266 44.02 4543
+-114.14 44.02 4554
+-114.014 44.02 4503
+-113.888 44.02 4473
+-113.762 44.02 4412
+-113.636 44.02 4347
+-113.51 44.02 4290
+-113.384 44.02 4217
+-113.258 44.02 4085
+-113.132 44.02 4027
+-113.006 44.02 3911
+-112.88 44.02 3879
+-112.754 44.02 3853
+-112.628 44.02 3823
+-112.502 44.02 3809
+-112.376 44.02 3798
+-112.25 44.02 3795
+-112.124 44.02 3777
+-111.998 44.02 3778
+-111.872 44.02 3737
+-111.746 44.02 3739
+-111.62 44.02 3701
+-111.494 44.02 3630
+-111.368 44.02 3600
+-111.242 44.02 3545
+-111.116 44.02 3567
+-110.99 44.02 3567
+-110.864 44.02 3568
+-110.738 44.02 3569
+-110.612 44.02 3476
+-110.486 44.02 3431
+-110.36 44.02 3418
+-110.234 44.02 3318
+-110.108 44.02 3315
+-109.982 44.02 3311
+-109.856 44.02 3309
+-109.73 44.02 3306
+-109.604 44.02 3304
+-109.478 44.02 3302
+-109.352 44.02 3300
+-109.226 44.02 3299
+-109.1 44.02 3297
+-108.974 44.02 3296
+-108.848 44.02 3296
+-108.722 44.02 3225
+-108.596 44.02 3224
+-108.47 44.02 3224
+-108.344 44.02 3224
+-108.218 44.02 3224
+-108.092 44.02 3224
+-107.966 44.02 3224
+-107.84 44.02 3084
+-107.714 44.02 3086
+-107.588 44.02 3088
+-107.462 44.02 3090
+-107.336 44.02 3091
+-107.21 44.02 3093
+-107.084 44.02 3010
+-106.958 44.02 3011
+-106.832 44.02 3013
+-106.706 44.02 3014
+-106.58 44.02 3016
+-106.454 44.02 3017
+-106.328 44.02 3019
+-106.202 44.02 3020
+-106.076 44.02 3022
+-105.95 44.02 3023
+-105.824 44.02 2896
+-105.698 44.02 2892
+-105.572 44.02 2888
+-105.446 44.02 2883
+-105.32 44.02 2878
+-105.194 44.02 2873
+-105.068 44.02 2868
+-104.942 44.02 2743
+-104.816 44.02 2796
+-104.69 44.02 2662
+-104.564 44.02 2582
+-104.438 44.02 2524
+-104.312 44.02 2357
+-104.186 44.02 2326
+-104.06 44.02 2339
+-103.934 44.02 2307
+-103.808 44.02 2404
+-103.682 44.02 2404
+-103.556 44.02 2445
+-103.43 44.02 2527
+-103.304 44.02 2628
+-103.178 44.02 2628
+-103.052 44.02 2715
+-102.926 44.02 2707
+-102.8 44.02 2866
+-102.674 44.02 2863
+-102.548 44.02 2861
+-102.422 44.02 2858
+-102.296 44.02 2841
+-102.17 44.02 2872
+-102.044 44.02 2878
+-101.918 44.02 2875
+-101.792 44.02 2920
+-101.666 44.02 2917
+-101.54 44.02 2887
+-101.414 44.02 2886
+-101.288 44.02 2885
+-101.162 44.02 2884
+-101.036 44.02 2882
+-100.91 44.02 2881
+-100.784 44.02 2931
+-100.658 44.02 2929
+-100.532 44.02 2928
+-100.406 44.02 2857
+-100.28 44.02 2857
+-100.154 44.02 2856
+-100.028 44.02 2861
+-99.902 44.02 2861
+-99.776 44.02 2861
+-99.65 44.02 2861
+-99.524 44.02 2862
+-99.398 44.02 2976
+-99.272 44.02 2976
+-99.146 44.02 2975
+-99.02 44.02 2974
+-98.894 44.02 2982
+-98.768 44.02 2989
+-98.642 44.02 2982
+-98.516 44.02 2957
+-98.39 44.02 2989
+-98.264 44.02 3184
+-98.138 44.02 3199
+-98.012 44.02 3191
+-97.886 44.02 3095
+-97.76 44.02 3090
+-97.634 44.02 3086
+-97.508 44.02 3082
+-97.382 44.02 3078
+-97.256 44.02 3075
+-97.13 44.02 3072
+-97.004 44.02 3061
+-96.878 44.02 3080
+-96.752 44.02 3081
+-96.626 44.02 3101
+-96.5 44.02 3092
+-96.374 44.02 3124
+-96.248 44.02 3076
+-96.122 44.02 3096
+-95.996 44.02 3107
+-95.87 44.02 3112
+-95.744 44.02 3135
+-95.618 44.02 3147
+-95.492 44.02 3161
+-95.366 44.02 3186
+-95.24 44.02 3196
+-95.114 44.02 3206
+-94.988 44.02 3267
+-94.862 44.02 3268
+-94.736 44.02 3268
+-94.61 44.02 3248
+-94.484 44.02 3282
+-94.358 44.02 3275
+-94.232 44.02 3266
+-94.106 44.02 3259
+-93.98 44.02 3257
+-93.854 44.02 3282
+-93.728 44.02 3289
+-93.602 44.02 3275
+-93.476 44.02 3295
+-93.35 44.02 3307
+-93.224 44.02 3302
+-93.098 44.02 3305
+-92.972 44.02 3303
+-92.846 44.02 3298
+-92.72 44.02 3291
+-92.594 44.02 3310
+-92.468 44.02 3358
+-92.342 44.02 3426
+-92.216 44.02 3481
+-92.09 44.02 3517
+-91.964 44.02 3550
+-91.838 44.02 3563
+-91.712 44.02 3595
+-91.586 44.02 3641
+-91.46 44.02 3685
+-91.334 44.02 3736
+-91.208 44.02 3762
+-91.082 44.02 3770
+-90.956 44.02 3774
+-90.83 44.02 3783
+-90.704 44.02 3793
+-90.578 44.02 3775
+-90.452 44.02 3772
+-90.326 44.02 3782
+-90.2 44.02 3796
+-90.074 44.02 3781
+-89.948 44.02 3756
+-89.822 44.02 3723
+-89.696 44.02 3691
+-89.57 44.02 3690
+-89.444 44.02 3670
+-89.318 44.02 3625
+-89.192 44.02 3570
+-89.066 44.02 3531
+-88.94 44.02 3487
+-88.814 44.02 3456
+-88.688 44.02 3426
+-88.562 44.02 3459
+-88.436 44.02 3489
+-88.31 44.02 3503
+-88.184 44.02 3501
+-88.058 44.02 3452
+-87.932 44.02 3394
+-87.806 44.02 3366
+-87.68 44.02 3293
+-87.554 44.02 3252
+-87.428 44.02 3206
+-87.302 44.02 3083
+-87.176 44.02 3004
+-87.05 44.02 2914
+-86.924 44.02 2817
+-86.798 44.02 2684
+-86.672 44.02 2559
+-86.546 44.02 2443
+-86.42 44.02 2318
+-86.294 44.02 2217
+-86.168 44.02 2169
+-86.042 44.02 2154
+-85.916 44.02 2145
+-85.79 44.02 2100
+-85.664 44.02 1995
+-85.538 44.02 1893
+-85.412 44.02 1837
+-85.286 44.02 1859
+-85.16 44.02 1932
+-85.034 44.02 2023
+-84.908 44.02 2115
+-84.782 44.02 2196
+-84.656 44.02 2251
+-84.53 44.02 2309
+-84.404 44.02 2359
+-84.278 44.02 2399
+-84.152 44.02 2436
+-84.026 44.02 2469
+-83.9 44.02 2497
+-83.774 44.02 2497
+-83.648 44.02 2516
+-83.522 44.02 2535
+-83.396 44.02 2552
+-83.27 44.02 2567
+-83.144 44.02 2580
+-83.018 44.02 2553
+-82.892 44.02 2625
+-82.766 44.02 2634
+-82.64 44.02 2647
+-82.514 44.02 2656
+-82.388 44.02 2665
+-82.262 44.02 2673
+-82.136 44.02 2692
+-82.01 44.02 2687
+-81.884 44.02 2731
+-81.758 44.02 2739
+-81.632 44.02 2740
+-81.506 44.02 2749
+-81.38 44.02 2756
+-81.254 44.02 2762
+-81.128 44.02 2759
+-81.002 44.02 2854
+-80.876 44.02 2860
+-80.75 44.02 2865
+-80.624 44.02 2871
+-80.498 44.02 2962
+-80.372 44.02 2929
+-80.246 44.02 3056
+-80.12 44.02 3060
+-79.994 44.02 3035
+-79.868 44.02 3039
+-79.742 44.02 3042
+-79.616 44.02 3046
+-79.49 44.02 3049
+-79.364 44.02 3052
+-79.238 44.02 3126
+-79.112 44.02 3126
+-78.986 44.02 3130
+-78.86 44.02 3133
+-78.734 44.02 3137
+-78.608 44.02 3092
+-78.482 44.02 3119
+-78.356 44.02 3122
+-78.23 44.02 3181
+-78.104 44.02 3111
+-77.978 44.02 3114
+-77.852 44.02 3118
+-77.726 44.02 3157
+-77.6 44.02 3121
+-77.474 44.02 3124
+-77.348 44.02 3127
+-77.222 44.02 3339
+-77.096 44.02 3294
+-76.97 44.02 3296
+-76.844 44.02 3419
+-76.718 44.02 3397
+-76.592 44.02 3399
+-76.466 44.02 3352
+-76.34 44.02 3424
+-76.214 44.02 3426
+-76.088 44.02 3428
+-75.962 44.02 3430
+-75.836 44.02 3431
+-75.71 44.02 3431
+-75.584 44.02 3432
+-75.458 44.02 3434
+-75.332 44.02 3423
+-75.206 44.02 3376
+-75.08 44.02 3371
+-74.954 44.02 3373
+-74.828 44.02 3374
+-74.702 44.02 3376
+-74.576 44.02 3377
+-74.45 44.02 3378
+-74.324 44.02 3380
+-74.198 44.02 3381
+-74.072 44.02 3382
+-73.946 44.02 3384
+-73.82 44.02 3385
+-73.694 44.02 3386
+-73.568 44.02 3387
+-73.442 44.02 3388
+-73.316 44.02 3389
+-73.19 44.02 3497
+-73.064 44.02 3498
+-72.938 44.02 3484
+-72.812 44.02 3485
+-72.686 44.02 3486
+-72.56 44.02 3487
+-72.434 44.02 3488
+-72.308 44.02 3488
+-72.182 44.02 3489
+-72.056 44.02 3490
+-71.93 44.02 3491
+-71.804 44.02 3492
+-71.678 44.02 3493
+-71.552 44.02 3527
+-71.426 44.02 3528
+-71.3 44.02 3529
+-71.174 44.02 3530
+-71.048 44.02 3531
+-70.922 44.02 3532
+-70.796 44.02 3493
+-70.67 44.02 3494
+-70.544 44.02 3495
+-70.418 44.02 3495
+-70.292 44.02 3530
+-70.166 44.02 3532
+-70.04 44.02 3533
+-69.914 44.02 3487
+-69.788 44.02 3488
+-69.662 44.02 3489
+-69.536 44.02 3625
+-69.41 44.02 3626
+-69.284 44.02 3626
+-69.158 44.02 3627
+-69.032 44.02 3627
+-68.906 44.02 3562
+-68.78 44.02 3562
+-68.654 44.02 3562
+-68.528 44.02 3562
+-68.402 44.02 3562
+-68.276 44.02 3563
+-68.15 44.02 3563
+-68.024 44.02 3563
+-67.898 44.02 3563
+-67.772 44.02 3564
+-67.646 44.02 3545
+-67.52 44.02 3532
+-67.394 44.02 3532
+-67.268 44.02 3532
+-67.142 44.02 3533
+-67.016 44.02 3533
+-66.89 44.02 3533
+-66.764 44.02 3514
+-66.638 44.02 3514
+-66.512 44.02 3515
+-66.386 44.02 3515
+-66.26 44.02 3515
+-66.134 44.02 3515
+-66.008 44.02 3515
+-65.882 44.02 3515
+-65.756 44.02 3464
+-65.63 44.02 3464
+-65.504 44.02 3464
+-65.378 44.02 3464
+-65.252 44.02 3464
+-65.126 44.02 3464
+-128 43.968 3601
+-127.874 43.968 3635
+-127.748 43.968 3638
+-127.622 43.968 3642
+-127.496 43.968 3643
+-127.37 43.968 3727
+-127.244 43.968 3807
+-127.118 43.968 3863
+-126.992 43.968 3922
+-126.866 43.968 4016
+-126.74 43.968 4134
+-126.614 43.968 4287
+-126.488 43.968 4496
+-126.362 43.968 4705
+-126.236 43.968 4899
+-126.11 43.968 5021
+-125.984 43.968 5139
+-125.858 43.968 5171
+-125.732 43.968 5192
+-125.606 43.968 5271
+-125.48 43.968 5303
+-125.354 43.968 5356
+-125.228 43.968 5440
+-125.102 43.968 5543
+-124.976 43.968 5617
+-124.85 43.968 5689
+-124.724 43.968 5761
+-124.598 43.968 5830
+-124.472 43.968 5860
+-124.346 43.968 5905
+-124.22 43.968 5977
+-124.094 43.968 6019
+-123.968 43.968 6092
+-123.842 43.968 6161
+-123.716 43.968 6198
+-123.59 43.968 6212
+-123.464 43.968 6222
+-123.338 43.968 6252
+-123.212 43.968 6231
+-123.086 43.968 6229
+-122.96 43.968 6245
+-122.834 43.968 6273
+-122.708 43.968 6277
+-122.582 43.968 6264
+-122.456 43.968 6254
+-122.33 43.968 6219
+-122.204 43.968 6193
+-122.078 43.968 6137
+-121.952 43.968 6097
+-121.826 43.968 6028
+-121.7 43.968 5962
+-121.574 43.968 5894
+-121.448 43.968 5874
+-121.322 43.968 5780
+-121.196 43.968 5638
+-121.07 43.968 5714
+-120.944 43.968 5754
+-120.818 43.968 5781
+-120.692 43.968 5857
+-120.566 43.968 6036
+-120.44 43.968 6058
+-120.314 43.968 6155
+-120.188 43.968 6250
+-120.062 43.968 6333
+-119.936 43.968 6423
+-119.81 43.968 6521
+-119.684 43.968 6575
+-119.558 43.968 6629
+-119.432 43.968 6666
+-119.306 43.968 6742
+-119.18 43.968 6777
+-119.054 43.968 6833
+-118.928 43.968 6871
+-118.802 43.968 6931
+-118.676 43.968 6932
+-118.55 43.968 6965
+-118.424 43.968 6948
+-118.298 43.968 6990
+-118.172 43.968 6983
+-118.046 43.968 6972
+-117.92 43.968 6935
+-117.794 43.968 6896
+-117.668 43.968 6857
+-117.542 43.968 6834
+-117.416 43.968 6763
+-117.29 43.968 6700
+-117.164 43.968 6621
+-117.038 43.968 6592
+-116.912 43.968 6509
+-116.786 43.968 6497
+-116.66 43.968 6419
+-116.534 43.968 6325
+-116.408 43.968 6220
+-116.282 43.968 6086
+-116.156 43.968 5988
+-116.03 43.968 5951
+-115.904 43.968 5844
+-115.778 43.968 5727
+-115.652 43.968 5646
+-115.526 43.968 5540
+-115.4 43.968 5376
+-115.274 43.968 5274
+-115.148 43.968 5180
+-115.022 43.968 5056
+-114.896 43.968 4901
+-114.77 43.968 4930
+-114.644 43.968 4852
+-114.518 43.968 4696
+-114.392 43.968 4574
+-114.266 43.968 4553
+-114.14 43.968 4487
+-114.014 43.968 4419
+-113.888 43.968 4371
+-113.762 43.968 4336
+-113.636 43.968 4331
+-113.51 43.968 4199
+-113.384 43.968 4143
+-113.258 43.968 4012
+-113.132 43.968 3954
+-113.006 43.968 3904
+-112.88 43.968 3870
+-112.754 43.968 3815
+-112.628 43.968 3794
+-112.502 43.968 3773
+-112.376 43.968 3769
+-112.25 43.968 3763
+-112.124 43.968 3767
+-111.998 43.968 3712
+-111.872 43.968 3716
+-111.746 43.968 3720
+-111.62 43.968 3725
+-111.494 43.968 3687
+-111.368 43.968 3600
+-111.242 43.968 3591
+-111.116 43.968 3537
+-110.99 43.968 3559
+-110.864 43.968 3561
+-110.738 43.968 3467
+-110.612 43.968 3466
+-110.486 43.968 3362
+-110.36 43.968 3348
+-110.234 43.968 3308
+-110.108 43.968 3305
+-109.982 43.968 3302
+-109.856 43.968 3299
+-109.73 43.968 3297
+-109.604 43.968 3295
+-109.478 43.968 3293
+-109.352 43.968 3292
+-109.226 43.968 3291
+-109.1 43.968 3290
+-108.974 43.968 3289
+-108.848 43.968 3289
+-108.722 43.968 3288
+-108.596 43.968 3218
+-108.47 43.968 3218
+-108.344 43.968 3218
+-108.218 43.968 3218
+-108.092 43.968 3218
+-107.966 43.968 3218
+-107.84 43.968 3219
+-107.714 43.968 3080
+-107.588 43.968 3082
+-107.462 43.968 3084
+-107.336 43.968 3086
+-107.21 43.968 3000
+-107.084 43.968 3002
+-106.958 43.968 3004
+-106.832 43.968 3006
+-106.706 43.968 3007
+-106.58 43.968 3009
+-106.454 43.968 3011
+-106.328 43.968 3012
+-106.202 43.968 3014
+-106.076 43.968 3015
+-105.95 43.968 3017
+-105.824 43.968 2888
+-105.698 43.968 2884
+-105.572 43.968 2879
+-105.446 43.968 2875
+-105.32 43.968 2870
+-105.194 43.968 2864
+-105.068 43.968 2742
+-104.942 43.968 2733
+-104.816 43.968 2662
+-104.69 43.968 2651
+-104.564 43.968 2571
+-104.438 43.968 2512
+-104.312 43.968 2348
+-104.186 43.968 2318
+-104.06 43.968 2331
+-103.934 43.968 2303
+-103.808 43.968 2401
+-103.682 43.968 2401
+-103.556 43.968 2443
+-103.43 43.968 2525
+-103.304 43.968 2626
+-103.178 43.968 2626
+-103.052 43.968 2712
+-102.926 43.968 2710
+-102.8 43.968 2702
+-102.674 43.968 2861
+-102.548 43.968 2858
+-102.422 43.968 2855
+-102.296 43.968 2852
+-102.17 43.968 2836
+-102.044 43.968 2866
+-101.918 43.968 2872
+-101.792 43.968 2869
+-101.666 43.968 2913
+-101.54 43.968 2910
+-101.414 43.968 2882
+-101.288 43.968 2880
+-101.162 43.968 2879
+-101.036 43.968 2878
+-100.91 43.968 2877
+-100.784 43.968 2875
+-100.658 43.968 2925
+-100.532 43.968 2923
+-100.406 43.968 2922
+-100.28 43.968 2852
+-100.154 43.968 2851
+-100.028 43.968 2851
+-99.902 43.968 2856
+-99.776 43.968 2856
+-99.65 43.968 2856
+-99.524 43.968 2856
+-99.398 43.968 2856
+-99.272 43.968 2969
+-99.146 43.968 2969
+-99.02 43.968 2968
+-98.894 43.968 2966
+-98.768 43.968 2966
+-98.642 43.968 2981
+-98.516 43.968 2974
+-98.39 43.968 2949
+-98.264 43.968 2980
+-98.138 43.968 3169
+-98.012 43.968 3183
+-97.886 43.968 3175
+-97.76 43.968 3081
+-97.634 43.968 3076
+-97.508 43.968 3071
+-97.382 43.968 3066
+-97.256 43.968 3062
+-97.13 43.968 3059
+-97.004 43.968 3056
+-96.878 43.968 3046
+-96.752 43.968 3065
+-96.626 43.968 3066
+-96.5 43.968 3086
+-96.374 43.968 3079
+-96.248 43.968 3111
+-96.122 43.968 3067
+-95.996 43.968 3088
+-95.87 43.968 3101
+-95.744 43.968 3109
+-95.618 43.968 3134
+-95.492 43.968 3148
+-95.366 43.968 3163
+-95.24 43.968 3188
+-95.114 43.968 3199
+-94.988 43.968 3208
+-94.862 43.968 3263
+-94.736 43.968 3263
+-94.61 43.968 3258
+-94.484 43.968 3236
+-94.358 43.968 3259
+-94.232 43.968 3246
+-94.106 43.968 3235
+-93.98 43.968 3229
+-93.854 43.968 3254
+-93.728 43.968 3270
+-93.602 43.968 3294
+-93.476 43.968 3307
+-93.35 43.968 3322
+-93.224 43.968 3338
+-93.098 43.968 3345
+-92.972 43.968 3342
+-92.846 43.968 3325
+-92.72 43.968 3316
+-92.594 43.968 3342
+-92.468 43.968 3392
+-92.342 43.968 3459
+-92.216 43.968 3522
+-92.09 43.968 3560
+-91.964 43.968 3597
+-91.838 43.968 3623
+-91.712 43.968 3679
+-91.586 43.968 3723
+-91.46 43.968 3755
+-91.334 43.968 3799
+-91.208 43.968 3798
+-91.082 43.968 3776
+-90.956 43.968 3808
+-90.83 43.968 3847
+-90.704 43.968 3863
+-90.578 43.968 3863
+-90.452 43.968 3849
+-90.326 43.968 3861
+-90.2 43.968 3861
+-90.074 43.968 3847
+-89.948 43.968 3821
+-89.822 43.968 3763
+-89.696 43.968 3723
+-89.57 43.968 3696
+-89.444 43.968 3677
+-89.318 43.968 3649
+-89.192 43.968 3622
+-89.066 43.968 3582
+-88.94 43.968 3536
+-88.814 43.968 3498
+-88.688 43.968 3486
+-88.562 43.968 3517
+-88.436 43.968 3526
+-88.31 43.968 3523
+-88.184 43.968 3538
+-88.058 43.968 3537
+-87.932 43.968 3454
+-87.806 43.968 3412
+-87.68 43.968 3395
+-87.554 43.968 3324
+-87.428 43.968 3290
+-87.302 43.968 3246
+-87.176 43.968 3120
+-87.05 43.968 2955
+-86.924 43.968 2874
+-86.798 43.968 2767
+-86.672 43.968 2675
+-86.546 43.968 2554
+-86.42 43.968 2435
+-86.294 43.968 2352
+-86.168 43.968 2282
+-86.042 43.968 2254
+-85.916 43.968 2237
+-85.79 43.968 2180
+-85.664 43.968 2113
+-85.538 43.968 2034
+-85.412 43.968 1997
+-85.286 43.968 2006
+-85.16 43.968 2054
+-85.034 43.968 2121
+-84.908 43.968 2193
+-84.782 43.968 2245
+-84.656 43.968 2303
+-84.53 43.968 2354
+-84.404 43.968 2396
+-84.278 43.968 2435
+-84.152 43.968 2468
+-84.026 43.968 2498
+-83.9 43.968 2500
+-83.774 43.968 2518
+-83.648 43.968 2538
+-83.522 43.968 2555
+-83.396 43.968 2571
+-83.27 43.968 2584
+-83.144 43.968 2557
+-83.018 43.968 2628
+-82.892 43.968 2636
+-82.766 43.968 2650
+-82.64 43.968 2659
+-82.514 43.968 2667
+-82.388 43.968 2675
+-82.262 43.968 2694
+-82.136 43.968 2689
+-82.01 43.968 2733
+-81.884 43.968 2741
+-81.758 43.968 2741
+-81.632 43.968 2751
+-81.506 43.968 2757
+-81.38 43.968 2764
+-81.254 43.968 2760
+-81.128 43.968 2854
+-81.002 43.968 2860
+-80.876 43.968 2866
+-80.75 43.968 2871
+-80.624 43.968 2961
+-80.498 43.968 2929
+-80.372 43.968 3053
+-80.246 43.968 3058
+-80.12 43.968 3034
+-79.994 43.968 3037
+-79.868 43.968 3041
+-79.742 43.968 3044
+-79.616 43.968 3048
+-79.49 43.968 3051
+-79.364 43.968 3124
+-79.238 43.968 3124
+-79.112 43.968 3128
+-78.986 43.968 3132
+-78.86 43.968 3135
+-78.734 43.968 3090
+-78.608 43.968 3117
+-78.482 43.968 3121
+-78.356 43.968 3180
+-78.23 43.968 3110
+-78.104 43.968 3113
+-77.978 43.968 3117
+-77.852 43.968 3155
+-77.726 43.968 3120
+-77.6 43.968 3123
+-77.474 43.968 3126
+-77.348 43.968 3337
+-77.222 43.968 3292
+-77.096 43.968 3295
+-76.97 43.968 3417
+-76.844 43.968 3395
+-76.718 43.968 3397
+-76.592 43.968 3350
+-76.466 43.968 3423
+-76.34 43.968 3424
+-76.214 43.968 3426
+-76.088 43.968 3428
+-75.962 43.968 3430
+-75.836 43.968 3429
+-75.71 43.968 3431
+-75.584 43.968 3433
+-75.458 43.968 3422
+-75.332 43.968 3375
+-75.206 43.968 3370
+-75.08 43.968 3372
+-74.954 43.968 3373
+-74.828 43.968 3375
+-74.702 43.968 3376
+-74.576 43.968 3378
+-74.45 43.968 3379
+-74.324 43.968 3381
+-74.198 43.968 3382
+-74.072 43.968 3383
+-73.946 43.968 3384
+-73.82 43.968 3386
+-73.694 43.968 3387
+-73.568 43.968 3388
+-73.442 43.968 3389
+-73.316 43.968 3496
+-73.19 43.968 3497
+-73.064 43.968 3483
+-72.938 43.968 3484
+-72.812 43.968 3485
+-72.686 43.968 3486
+-72.56 43.968 3487
+-72.434 43.968 3488
+-72.308 43.968 3489
+-72.182 43.968 3490
+-72.056 43.968 3491
+-71.93 43.968 3491
+-71.804 43.968 3492
+-71.678 43.968 3526
+-71.552 43.968 3527
+-71.426 43.968 3528
+-71.3 43.968 3529
+-71.174 43.968 3530
+-71.048 43.968 3531
+-70.922 43.968 3493
+-70.796 43.968 3493
+-70.67 43.968 3494
+-70.544 43.968 3495
+-70.418 43.968 3530
+-70.292 43.968 3531
+-70.166 43.968 3532
+-70.04 43.968 3487
+-69.914 43.968 3488
+-69.788 43.968 3488
+-69.662 43.968 3625
+-69.536 43.968 3625
+-69.41 43.968 3626
+-69.284 43.968 3626
+-69.158 43.968 3627
+-69.032 43.968 3561
+-68.906 43.968 3562
+-68.78 43.968 3562
+-68.654 43.968 3562
+-68.528 43.968 3562
+-68.402 43.968 3562
+-68.276 43.968 3563
+-68.15 43.968 3563
+-68.024 43.968 3563
+-67.898 43.968 3563
+-67.772 43.968 3544
+-67.646 43.968 3532
+-67.52 43.968 3532
+-67.394 43.968 3532
+-67.268 43.968 3532
+-67.142 43.968 3533
+-67.016 43.968 3514
+-66.89 43.968 3514
+-66.764 43.968 3514
+-66.638 43.968 3514
+-66.512 43.968 3515
+-66.386 43.968 3515
+-66.26 43.968 3515
+-66.134 43.968 3515
+-66.008 43.968 3515
+-65.882 43.968 3463
+-65.756 43.968 3464
+-65.63 43.968 3464
+-65.504 43.968 3464
+-65.378 43.968 3464
+-65.252 43.968 3464
+-65.126 43.968 3464
+-128 43.916 3575
+-127.874 43.916 3575
+-127.748 43.916 3575
+-127.622 43.916 3581
+-127.496 43.916 3540
+-127.37 43.916 3702
+-127.244 43.916 3835
+-127.118 43.916 3835
+-126.992 43.916 3874
+-126.866 43.916 3949
+-126.74 43.916 4050
+-126.614 43.916 4224
+-126.488 43.916 4450
+-126.362 43.916 4645
+-126.236 43.916 4857
+-126.11 43.916 5023
+-125.984 43.916 5136
+-125.858 43.916 5129
+-125.732 43.916 5068
+-125.606 43.916 5192
+-125.48 43.916 5283
+-125.354 43.916 5341
+-125.228 43.916 5401
+-125.102 43.916 5476
+-124.976 43.916 5549
+-124.85 43.916 5646
+-124.724 43.916 5713
+-124.598 43.916 5769
+-124.472 43.916 5828
+-124.346 43.916 5864
+-124.22 43.916 5908
+-124.094 43.916 5943
+-123.968 43.916 6018
+-123.842 43.916 6087
+-123.716 43.916 6142
+-123.59 43.916 6160
+-123.464 43.916 6170
+-123.338 43.916 6223
+-123.212 43.916 6221
+-123.086 43.916 6187
+-122.96 43.916 6179
+-122.834 43.916 6187
+-122.708 43.916 6193
+-122.582 43.916 6208
+-122.456 43.916 6186
+-122.33 43.916 6140
+-122.204 43.916 6111
+-122.078 43.916 6081
+-121.952 43.916 6022
+-121.826 43.916 5963
+-121.7 43.916 5924
+-121.574 43.916 5901
+-121.448 43.916 5830
+-121.322 43.916 5761
+-121.196 43.916 5725
+-121.07 43.916 5656
+-120.944 43.916 5707
+-120.818 43.916 5785
+-120.692 43.916 5870
+-120.566 43.916 5929
+-120.44 43.916 6015
+-120.314 43.916 6165
+-120.188 43.916 6180
+-120.062 43.916 6259
+-119.936 43.916 6332
+-119.81 43.916 6448
+-119.684 43.916 6541
+-119.558 43.916 6570
+-119.432 43.916 6617
+-119.306 43.916 6706
+-119.18 43.916 6749
+-119.054 43.916 6786
+-118.928 43.916 6840
+-118.802 43.916 6876
+-118.676 43.916 6894
+-118.55 43.916 6904
+-118.424 43.916 6920
+-118.298 43.916 6918
+-118.172 43.916 6934
+-118.046 43.916 6907
+-117.92 43.916 6873
+-117.794 43.916 6849
+-117.668 43.916 6801
+-117.542 43.916 6755
+-117.416 43.916 6695
+-117.29 43.916 6661
+-117.164 43.916 6607
+-117.038 43.916 6545
+-116.912 43.916 6485
+-116.786 43.916 6433
+-116.66 43.916 6338
+-116.534 43.916 6251
+-116.408 43.916 6175
+-116.282 43.916 6046
+-116.156 43.916 5970
+-116.03 43.916 5911
+-115.904 43.916 5804
+-115.778 43.916 5637
+-115.652 43.916 5647
+-115.526 43.916 5529
+-115.4 43.916 5377
+-115.274 43.916 5243
+-115.148 43.916 5138
+-115.022 43.916 5063
+-114.896 43.916 4962
+-114.77 43.916 4904
+-114.644 43.916 4822
+-114.518 43.916 4711
+-114.392 43.916 4611
+-114.266 43.916 4498
+-114.14 43.916 4336
+-114.014 43.916 4214
+-113.888 43.916 4230
+-113.762 43.916 4288
+-113.636 43.916 4223
+-113.51 43.916 4154
+-113.384 43.916 4087
+-113.258 43.916 4004
+-113.132 43.916 3919
+-113.006 43.916 3856
+-112.88 43.916 3810
+-112.754 43.916 3783
+-112.628 43.916 3744
+-112.502 43.916 3734
+-112.376 43.916 3727
+-112.25 43.916 3687
+-112.124 43.916 3668
+-111.998 43.916 3676
+-111.872 43.916 3692
+-111.746 43.916 3700
+-111.62 43.916 3707
+-111.494 43.916 3714
+-111.368 43.916 3675
+-111.242 43.916 3591
+-111.116 43.916 3533
+-110.99 43.916 3444
+-110.864 43.916 3455
+-110.738 43.916 3455
+-110.612 43.916 3350
+-110.486 43.916 3347
+-110.36 43.916 3334
+-110.234 43.916 3332
+-110.108 43.916 3293
+-109.982 43.916 3291
+-109.856 43.916 3289
+-109.73 43.916 3287
+-109.604 43.916 3285
+-109.478 43.916 3284
+-109.352 43.916 3283
+-109.226 43.916 3282
+-109.1 43.916 3282
+-108.974 43.916 3281
+-108.848 43.916 3281
+-108.722 43.916 3281
+-108.596 43.916 3281
+-108.47 43.916 3211
+-108.344 43.916 3212
+-108.218 43.916 3212
+-108.092 43.916 3212
+-107.966 43.916 3213
+-107.84 43.916 3213
+-107.714 43.916 3214
+-107.588 43.916 3076
+-107.462 43.916 3078
+-107.336 43.916 3080
+-107.21 43.916 2993
+-107.084 43.916 2994
+-106.958 43.916 2996
+-106.832 43.916 2998
+-106.706 43.916 3000
+-106.58 43.916 3002
+-106.454 43.916 3004
+-106.328 43.916 3005
+-106.202 43.916 3007
+-106.076 43.916 3009
+-105.95 43.916 3010
+-105.824 43.916 2879
+-105.698 43.916 2875
+-105.572 43.916 2871
+-105.446 43.916 2866
+-105.32 43.916 2861
+-105.194 43.916 2741
+-105.068 43.916 2732
+-104.942 43.916 2722
+-104.816 43.916 2652
+-104.69 43.916 2640
+-104.564 43.916 2560
+-104.438 43.916 2501
+-104.312 43.916 2339
+-104.186 43.916 2310
+-104.06 43.916 2324
+-103.934 43.916 2298
+-103.808 43.916 2398
+-103.682 43.916 2398
+-103.556 43.916 2442
+-103.43 43.916 2523
+-103.304 43.916 2624
+-103.178 43.916 2623
+-103.052 43.916 2709
+-102.926 43.916 2706
+-102.8 43.916 2704
+-102.674 43.916 2697
+-102.548 43.916 2855
+-102.422 43.916 2852
+-102.296 43.916 2849
+-102.17 43.916 2846
+-102.044 43.916 2830
+-101.918 43.916 2860
+-101.792 43.916 2865
+-101.666 43.916 2862
+-101.54 43.916 2906
+-101.414 43.916 2903
+-101.288 43.916 2876
+-101.162 43.916 2874
+-101.036 43.916 2873
+-100.91 43.916 2872
+-100.784 43.916 2871
+-100.658 43.916 2869
+-100.532 43.916 2918
+-100.406 43.916 2916
+-100.28 43.916 2915
+-100.154 43.916 2846
+-100.028 43.916 2846
+-99.902 43.916 2845
+-99.776 43.916 2850
+-99.65 43.916 2850
+-99.524 43.916 2850
+-99.398 43.916 2850
+-99.272 43.916 2850
+-99.146 43.916 2961
+-99.02 43.916 2961
+-98.894 43.916 2960
+-98.768 43.916 2958
+-98.642 43.916 2965
+-98.516 43.916 2972
+-98.39 43.916 2965
+-98.264 43.916 2940
+-98.138 43.916 2970
+-98.012 43.916 3153
+-97.886 43.916 3165
+-97.76 43.916 3156
+-97.634 43.916 3065
+-97.508 43.916 3059
+-97.382 43.916 3054
+-97.256 43.916 3049
+-97.13 43.916 3044
+-97.004 43.916 3040
+-96.878 43.916 3037
+-96.752 43.916 3028
+-96.626 43.916 3047
+-96.5 43.916 3049
+-96.374 43.916 3069
+-96.248 43.916 3065
+-96.122 43.916 3097
+-95.996 43.916 3057
+-95.87 43.916 3081
+-95.744 43.916 3096
+-95.618 43.916 3107
+-95.492 43.916 3134
+-95.366 43.916 3150
+-95.24 43.916 3166
+-95.114 43.916 3192
+-94.988 43.916 3202
+-94.862 43.916 3209
+-94.736 43.916 3257
+-94.61 43.916 3252
+-94.484 43.916 3241
+-94.358 43.916 3212
+-94.232 43.916 3220
+-94.106 43.916 3198
+-93.98 43.916 3183
+-93.854 43.916 3207
+-93.728 43.916 3230
+-93.602 43.916 3274
+-93.476 43.916 3317
+-93.35 43.916 3337
+-93.224 43.916 3365
+-93.098 43.916 3369
+-92.972 43.916 3376
+-92.846 43.916 3385
+-92.72 43.916 3387
+-92.594 43.916 3400
+-92.468 43.916 3449
+-92.342 43.916 3518
+-92.216 43.916 3568
+-92.09 43.916 3610
+-91.964 43.916 3668
+-91.838 43.916 3700
+-91.712 43.916 3763
+-91.586 43.916 3800
+-91.46 43.916 3828
+-91.334 43.916 3856
+-91.208 43.916 3852
+-91.082 43.916 3833
+-90.956 43.916 3871
+-90.83 43.916 3912
+-90.704 43.916 3929
+-90.578 43.916 3921
+-90.452 43.916 3910
+-90.326 43.916 3886
+-90.2 43.916 3860
+-90.074 43.916 3887
+-89.948 43.916 3891
+-89.822 43.916 3845
+-89.696 43.916 3796
+-89.57 43.916 3762
+-89.444 43.916 3750
+-89.318 43.916 3721
+-89.192 43.916 3686
+-89.066 43.916 3662
+-88.94 43.916 3607
+-88.814 43.916 3568
+-88.688 43.916 3549
+-88.562 43.916 3555
+-88.436 43.916 3552
+-88.31 43.916 3559
+-88.184 43.916 3559
+-88.058 43.916 3549
+-87.932 43.916 3510
+-87.806 43.916 3416
+-87.68 43.916 3389
+-87.554 43.916 3333
+-87.428 43.916 3311
+-87.302 43.916 3256
+-87.176 43.916 3146
+-87.05 43.916 3089
+-86.924 43.916 3003
+-86.798 43.916 2851
+-86.672 43.916 2778
+-86.546 43.916 2660
+-86.42 43.916 2575
+-86.294 43.916 2468
+-86.168 43.916 2412
+-86.042 43.916 2383
+-85.916 43.916 2328
+-85.79 43.916 2288
+-85.664 43.916 2220
+-85.538 43.916 2176
+-85.412 43.916 2150
+-85.286 43.916 2153
+-85.16 43.916 2183
+-85.034 43.916 2229
+-84.908 43.916 2266
+-84.782 43.916 2316
+-84.656 43.916 2363
+-84.53 43.916 2403
+-84.404 43.916 2441
+-84.278 43.916 2474
+-84.152 43.916 2503
+-84.026 43.916 2506
+-83.9 43.916 2525
+-83.774 43.916 2544
+-83.648 43.916 2561
+-83.522 43.916 2577
+-83.396 43.916 2589
+-83.27 43.916 2563
+-83.144 43.916 2632
+-83.018 43.916 2640
+-82.892 43.916 2653
+-82.766 43.916 2662
+-82.64 43.916 2671
+-82.514 43.916 2679
+-82.388 43.916 2697
+-82.262 43.916 2692
+-82.136 43.916 2735
+-82.01 43.916 2743
+-81.884 43.916 2744
+-81.758 43.916 2753
+-81.632 43.916 2760
+-81.506 43.916 2766
+-81.38 43.916 2763
+-81.254 43.916 2855
+-81.128 43.916 2861
+-81.002 43.916 2867
+-80.876 43.916 2872
+-80.75 43.916 2961
+-80.624 43.916 2929
+-80.498 43.916 3051
+-80.372 43.916 3056
+-80.246 43.916 3032
+-80.12 43.916 3036
+-79.994 43.916 3040
+-79.868 43.916 3043
+-79.742 43.916 3046
+-79.616 43.916 3050
+-79.49 43.916 3123
+-79.364 43.916 3122
+-79.238 43.916 3126
+-79.112 43.916 3130
+-78.986 43.916 3134
+-78.86 43.916 3089
+-78.734 43.916 3116
+-78.608 43.916 3120
+-78.482 43.916 3178
+-78.356 43.916 3109
+-78.23 43.916 3112
+-78.104 43.916 3116
+-77.978 43.916 3154
+-77.852 43.916 3119
+-77.726 43.916 3122
+-77.6 43.916 3126
+-77.474 43.916 3335
+-77.348 43.916 3290
+-77.222 43.916 3293
+-77.096 43.916 3415
+-76.97 43.916 3393
+-76.844 43.916 3396
+-76.718 43.916 3349
+-76.592 43.916 3421
+-76.466 43.916 3423
+-76.34 43.916 3425
+-76.214 43.916 3427
+-76.088 43.916 3429
+-75.962 43.916 3428
+-75.836 43.916 3430
+-75.71 43.916 3432
+-75.584 43.916 3421
+-75.458 43.916 3374
+-75.332 43.916 3369
+-75.206 43.916 3371
+-75.08 43.916 3373
+-74.954 43.916 3374
+-74.828 43.916 3376
+-74.702 43.916 3377
+-74.576 43.916 3379
+-74.45 43.916 3380
+-74.324 43.916 3381
+-74.198 43.916 3383
+-74.072 43.916 3384
+-73.946 43.916 3385
+-73.82 43.916 3386
+-73.694 43.916 3387
+-73.568 43.916 3389
+-73.442 43.916 3496
+-73.316 43.916 3497
+-73.19 43.916 3483
+-73.064 43.916 3484
+-72.938 43.916 3485
+-72.812 43.916 3486
+-72.686 43.916 3487
+-72.56 43.916 3487
+-72.434 43.916 3488
+-72.308 43.916 3489
+-72.182 43.916 3490
+-72.056 43.916 3491
+-71.93 43.916 3492
+-71.804 43.916 3526
+-71.678 43.916 3527
+-71.552 43.916 3528
+-71.426 43.916 3529
+-71.3 43.916 3530
+-71.174 43.916 3531
+-71.048 43.916 3492
+-70.922 43.916 3493
+-70.796 43.916 3494
+-70.67 43.916 3495
+-70.544 43.916 3529
+-70.418 43.916 3530
+-70.292 43.916 3532
+-70.166 43.916 3486
+-70.04 43.916 3487
+-69.914 43.916 3488
+-69.788 43.916 3625
+-69.662 43.916 3625
+-69.536 43.916 3626
+-69.41 43.916 3626
+-69.284 43.916 3626
+-69.158 43.916 3561
+-69.032 43.916 3561
+-68.906 43.916 3562
+-68.78 43.916 3562
+-68.654 43.916 3562
+-68.528 43.916 3562
+-68.402 43.916 3562
+-68.276 43.916 3563
+-68.15 43.916 3563
+-68.024 43.916 3563
+-67.898 43.916 3544
+-67.772 43.916 3531
+-67.646 43.916 3532
+-67.52 43.916 3532
+-67.394 43.916 3532
+-67.268 43.916 3532
+-67.142 43.916 3533
+-67.016 43.916 3514
+-66.89 43.916 3514
+-66.764 43.916 3514
+-66.638 43.916 3514
+-66.512 43.916 3515
+-66.386 43.916 3515
+-66.26 43.916 3515
+-66.134 43.916 3515
+-66.008 43.916 3463
+-65.882 43.916 3463
+-65.756 43.916 3464
+-65.63 43.916 3464
+-65.504 43.916 3464
+-65.378 43.916 3464
+-65.252 43.916 3464
+-65.126 43.916 3464
+-128 43.864 3535
+-127.874 43.864 3524
+-127.748 43.864 3506
+-127.622 43.864 3503
+-127.496 43.864 3579
+-127.37 43.864 3695
+-127.244 43.864 3789
+-127.118 43.864 3836
+-126.992 43.864 3860
+-126.866 43.864 3906
+-126.74 43.864 3961
+-126.614 43.864 4116
+-126.488 43.864 4380
+-126.362 43.864 4592
+-126.236 43.864 4853
+-126.11 43.864 4945
+-125.984 43.864 5067
+-125.858 43.864 5117
+-125.732 43.864 5127
+-125.606 43.864 5181
+-125.48 43.864 5225
+-125.354 43.864 5310
+-125.228 43.864 5423
+-125.102 43.864 5427
+-124.976 43.864 5514
+-124.85 43.864 5614
+-124.724 43.864 5683
+-124.598 43.864 5696
+-124.472 43.864 5788
+-124.346 43.864 5856
+-124.22 43.864 5918
+-124.094 43.864 5957
+-123.968 43.864 5966
+-123.842 43.864 6047
+-123.716 43.864 6075
+-123.59 43.864 6137
+-123.464 43.864 6169
+-123.338 43.864 6166
+-123.212 43.864 6168
+-123.086 43.864 6195
+-122.96 43.864 6157
+-122.834 43.864 6130
+-122.708 43.864 6137
+-122.582 43.864 6173
+-122.456 43.864 6114
+-122.33 43.864 6067
+-122.204 43.864 6034
+-122.078 43.864 6039
+-121.952 43.864 5990
+-121.826 43.864 5970
+-121.7 43.864 5899
+-121.574 43.864 5820
+-121.448 43.864 5754
+-121.322 43.864 5721
+-121.196 43.864 5647
+-121.07 43.864 5490
+-120.944 43.864 5632
+-120.818 43.864 5737
+-120.692 43.864 5802
+-120.566 43.864 5843
+-120.44 43.864 5977
+-120.314 43.864 6129
+-120.188 43.864 6191
+-120.062 43.864 6282
+-119.936 43.864 6338
+-119.81 43.864 6364
+-119.684 43.864 6475
+-119.558 43.864 6563
+-119.432 43.864 6593
+-119.306 43.864 6655
+-119.18 43.864 6708
+-119.054 43.864 6739
+-118.928 43.864 6783
+-118.802 43.864 6808
+-118.676 43.864 6834
+-118.55 43.864 6855
+-118.424 43.864 6876
+-118.298 43.864 6872
+-118.172 43.864 6846
+-118.046 43.864 6844
+-117.92 43.864 6818
+-117.794 43.864 6776
+-117.668 43.864 6751
+-117.542 43.864 6734
+-117.416 43.864 6651
+-117.29 43.864 6611
+-117.164 43.864 6564
+-117.038 43.864 6501
+-116.912 43.864 6429
+-116.786 43.864 6361
+-116.66 43.864 6252
+-116.534 43.864 6201
+-116.408 43.864 6139
+-116.282 43.864 6029
+-116.156 43.864 5931
+-116.03 43.864 5867
+-115.904 43.864 5783
+-115.778 43.864 5685
+-115.652 43.864 5584
+-115.526 43.864 5491
+-115.4 43.864 5352
+-115.274 43.864 5207
+-115.148 43.864 5141
+-115.022 43.864 5024
+-114.896 43.864 4866
+-114.77 43.864 4870
+-114.644 43.864 4779
+-114.518 43.864 4669
+-114.392 43.864 4524
+-114.266 43.864 4416
+-114.14 43.864 4232
+-114.014 43.864 4051
+-113.888 43.864 4161
+-113.762 43.864 4195
+-113.636 43.864 4171
+-113.51 43.864 4118
+-113.384 43.864 4065
+-113.258 43.864 3977
+-113.132 43.864 3884
+-113.006 43.864 3792
+-112.88 43.864 3733
+-112.754 43.864 3702
+-112.628 43.864 3680
+-112.502 43.864 3638
+-112.376 43.864 3646
+-112.25 43.864 3612
+-112.124 43.864 3633
+-111.998 43.864 3647
+-111.872 43.864 3659
+-111.746 43.864 3653
+-111.62 43.864 3662
+-111.494 43.864 3670
+-111.368 43.864 3631
+-111.242 43.864 3578
+-111.116 43.864 3490
+-110.99 43.864 3431
+-110.864 43.864 3331
+-110.738 43.864 3309
+-110.612 43.864 3307
+-110.486 43.864 3304
+-110.36 43.864 3302
+-110.234 43.864 3317
+-110.108 43.864 3316
+-109.982 43.864 3279
+-109.856 43.864 3277
+-109.73 43.864 3276
+-109.604 43.864 3275
+-109.478 43.864 3274
+-109.352 43.864 3273
+-109.226 43.864 3273
+-109.1 43.864 3273
+-108.974 43.864 3273
+-108.848 43.864 3273
+-108.722 43.864 3273
+-108.596 43.864 3273
+-108.47 43.864 3274
+-108.344 43.864 3205
+-108.218 43.864 3205
+-108.092 43.864 3206
+-107.966 43.864 3207
+-107.84 43.864 3207
+-107.714 43.864 3208
+-107.588 43.864 3012
+-107.462 43.864 3004
+-107.336 43.864 3005
+-107.21 43.864 3006
+-107.084 43.864 2987
+-106.958 43.864 2989
+-106.832 43.864 2991
+-106.706 43.864 2993
+-106.58 43.864 2995
+-106.454 43.864 2997
+-106.328 43.864 2999
+-106.202 43.864 3000
+-106.076 43.864 3002
+-105.95 43.864 3004
+-105.824 43.864 2870
+-105.698 43.864 2866
+-105.572 43.864 2862
+-105.446 43.864 2857
+-105.32 43.864 2739
+-105.194 43.864 2730
+-105.068 43.864 2721
+-104.942 43.864 2711
+-104.816 43.864 2641
+-104.69 43.864 2629
+-104.564 43.864 2549
+-104.438 43.864 2490
+-104.312 43.864 2330
+-104.186 43.864 2302
+-104.06 43.864 2316
+-103.934 43.864 2294
+-103.808 43.864 2296
+-103.682 43.864 2435
+-103.556 43.864 2525
+-103.43 43.864 2521
+-103.304 43.864 2622
+-103.178 43.864 2621
+-103.052 43.864 2706
+-102.926 43.864 2703
+-102.8 43.864 2700
+-102.674 43.864 2698
+-102.548 43.864 2692
+-102.422 43.864 2849
+-102.296 43.864 2846
+-102.17 43.864 2843
+-102.044 43.864 2839
+-101.918 43.864 2824
+-101.792 43.864 2853
+-101.666 43.864 2859
+-101.54 43.864 2856
+-101.414 43.864 2899
+-101.288 43.864 2896
+-101.162 43.864 2869
+-101.036 43.864 2868
+-100.91 43.864 2867
+-100.784 43.864 2865
+-100.658 43.864 2864
+-100.532 43.864 2863
+-100.406 43.864 2911
+-100.28 43.864 2909
+-100.154 43.864 2908
+-100.028 43.864 2840
+-99.902 43.864 2840
+-99.776 43.864 2839
+-99.65 43.864 2844
+-99.524 43.864 2844
+-99.398 43.864 2844
+-99.272 43.864 2844
+-99.146 43.864 2844
+-99.02 43.864 2953
+-98.894 43.864 2953
+-98.768 43.864 2952
+-98.642 43.864 2949
+-98.516 43.864 2949
+-98.39 43.864 2962
+-98.264 43.864 2955
+-98.138 43.864 2930
+-98.012 43.864 2959
+-97.886 43.864 3135
+-97.76 43.864 3145
+-97.634 43.864 3135
+-97.508 43.864 3047
+-97.382 43.864 3041
+-97.256 43.864 3034
+-97.13 43.864 3028
+-97.004 43.864 3023
+-96.878 43.864 3019
+-96.752 43.864 3016
+-96.626 43.864 3008
+-96.5 43.864 3026
+-96.374 43.864 3029
+-96.248 43.864 3050
+-96.122 43.864 3049
+-95.996 43.864 3083
+-95.87 43.864 3048
+-95.744 43.864 3074
+-95.618 43.864 3093
+-95.492 43.864 3107
+-95.366 43.864 3136
+-95.24 43.864 3154
+-95.114 43.864 3171
+-94.988 43.864 3196
+-94.862 43.864 3205
+-94.736 43.864 3209
+-94.61 43.864 3246
+-94.484 43.864 3231
+-94.358 43.864 3209
+-94.232 43.864 3169
+-94.106 43.864 3151
+-93.98 43.864 3114
+-93.854 43.864 3119
+-93.728 43.864 3165
+-93.602 43.864 3238
+-93.476 43.864 3309
+-93.35 43.864 3354
+-93.224 43.864 3367
+-93.098 43.864 3386
+-92.972 43.864 3399
+-92.846 43.864 3431
+-92.72 43.864 3451
+-92.594 43.864 3484
+-92.468 43.864 3533
+-92.342 43.864 3582
+-92.216 43.864 3662
+-92.09 43.864 3671
+-91.964 43.864 3724
+-91.838 43.864 3786
+-91.712 43.864 3848
+-91.586 43.864 3879
+-91.46 43.864 3909
+-91.334 43.864 3929
+-91.208 43.864 3920
+-91.082 43.864 3922
+-90.956 43.864 3948
+-90.83 43.864 3950
+-90.704 43.864 3940
+-90.578 43.864 3944
+-90.452 43.864 3946
+-90.326 43.864 3932
+-90.2 43.864 3919
+-90.074 43.864 3953
+-89.948 43.864 3952
+-89.822 43.864 3914
+-89.696 43.864 3874
+-89.57 43.864 3821
+-89.444 43.864 3801
+-89.318 43.864 3778
+-89.192 43.864 3766
+-89.066 43.864 3758
+-88.94 43.864 3718
+-88.814 43.864 3654
+-88.688 43.864 3588
+-88.562 43.864 3571
+-88.436 43.864 3579
+-88.31 43.864 3586
+-88.184 43.864 3581
+-88.058 43.864 3556
+-87.932 43.864 3501
+-87.806 43.864 3417
+-87.68 43.864 3354
+-87.554 43.864 3337
+-87.428 43.864 3340
+-87.302 43.864 3288
+-87.176 43.864 3213
+-87.05 43.864 3146
+-86.924 43.864 3095
+-86.798 43.864 3023
+-86.672 43.864 2912
+-86.546 43.864 2777
+-86.42 43.864 2668
+-86.294 43.864 2601
+-86.168 43.864 2559
+-86.042 43.864 2483
+-85.916 43.864 2444
+-85.79 43.864 2379
+-85.664 43.864 2341
+-85.538 43.864 2308
+-85.412 43.864 2289
+-85.286 43.864 2289
+-85.16 43.864 2307
+-85.034 43.864 2319
+-84.908 43.864 2354
+-84.782 43.864 2391
+-84.656 43.864 2424
+-84.53 43.864 2458
+-84.404 43.864 2489
+-84.278 43.864 2516
+-84.152 43.864 2517
+-84.026 43.864 2535
+-83.9 43.864 2554
+-83.774 43.864 2571
+-83.648 43.864 2585
+-83.522 43.864 2598
+-83.396 43.864 2570
+-83.27 43.864 2637
+-83.144 43.864 2646
+-83.018 43.864 2658
+-82.892 43.864 2667
+-82.766 43.864 2675
+-82.64 43.864 2683
+-82.514 43.864 2701
+-82.388 43.864 2696
+-82.262 43.864 2738
+-82.136 43.864 2746
+-82.01 43.864 2747
+-81.884 43.864 2756
+-81.758 43.864 2762
+-81.632 43.864 2768
+-81.506 43.864 2765
+-81.38 43.864 2856
+-81.254 43.864 2862
+-81.128 43.864 2868
+-81.002 43.864 2873
+-80.876 43.864 2961
+-80.75 43.864 2929
+-80.624 43.864 3049
+-80.498 43.864 3054
+-80.372 43.864 3030
+-80.246 43.864 3034
+-80.12 43.864 3038
+-79.994 43.864 3042
+-79.868 43.864 3045
+-79.742 43.864 3049
+-79.616 43.864 3121
+-79.49 43.864 3121
+-79.364 43.864 3125
+-79.238 43.864 3129
+-79.112 43.864 3133
+-78.986 43.864 3088
+-78.86 43.864 3115
+-78.734 43.864 3119
+-78.608 43.864 3177
+-78.482 43.864 3108
+-78.356 43.864 3112
+-78.23 43.864 3115
+-78.104 43.864 3153
+-77.978 43.864 3118
+-77.852 43.864 3122
+-77.726 43.864 3125
+-77.6 43.864 3333
+-77.474 43.864 3289
+-77.348 43.864 3291
+-77.222 43.864 3413
+-77.096 43.864 3391
+-76.97 43.864 3394
+-76.844 43.864 3348
+-76.718 43.864 3420
+-76.592 43.864 3421
+-76.466 43.864 3423
+-76.34 43.864 3426
+-76.214 43.864 3428
+-76.088 43.864 3427
+-75.962 43.864 3429
+-75.836 43.864 3431
+-75.71 43.864 3420
+-75.584 43.864 3373
+-75.458 43.864 3369
+-75.332 43.864 3370
+-75.206 43.864 3372
+-75.08 43.864 3373
+-74.954 43.864 3375
+-74.828 43.864 3376
+-74.702 43.864 3378
+-74.576 43.864 3379
+-74.45 43.864 3381
+-74.324 43.864 3382
+-74.198 43.864 3383
+-74.072 43.864 3385
+-73.946 43.864 3386
+-73.82 43.864 3387
+-73.694 43.864 3388
+-73.568 43.864 3495
+-73.442 43.864 3496
+-73.316 43.864 3482
+-73.19 43.864 3483
+-73.064 43.864 3484
+-72.938 43.864 3485
+-72.812 43.864 3486
+-72.686 43.864 3487
+-72.56 43.864 3488
+-72.434 43.864 3489
+-72.308 43.864 3490
+-72.182 43.864 3490
+-72.056 43.864 3491
+-71.93 43.864 3525
+-71.804 43.864 3526
+-71.678 43.864 3527
+-71.552 43.864 3528
+-71.426 43.864 3529
+-71.3 43.864 3530
+-71.174 43.864 3492
+-71.048 43.864 3493
+-70.922 43.864 3493
+-70.796 43.864 3494
+-70.67 43.864 3529
+-70.544 43.864 3530
+-70.418 43.864 3531
+-70.292 43.864 3486
+-70.166 43.864 3487
+-70.04 43.864 3488
+-69.914 43.864 3624
+-69.788 43.864 3625
+-69.662 43.864 3625
+-69.536 43.864 3626
+-69.41 43.864 3626
+-69.284 43.864 3561
+-69.158 43.864 3561
+-69.032 43.864 3561
+-68.906 43.864 3562
+-68.78 43.864 3562
+-68.654 43.864 3562
+-68.528 43.864 3562
+-68.402 43.864 3563
+-68.276 43.864 3563
+-68.15 43.864 3563
+-68.024 43.864 3544
+-67.898 43.864 3531
+-67.772 43.864 3531
+-67.646 43.864 3532
+-67.52 43.864 3532
+-67.394 43.864 3532
+-67.268 43.864 3514
+-67.142 43.864 3514
+-67.016 43.864 3514
+-66.89 43.864 3514
+-66.764 43.864 3514
+-66.638 43.864 3515
+-66.512 43.864 3515
+-66.386 43.864 3515
+-66.26 43.864 3515
+-66.134 43.864 3463
+-66.008 43.864 3463
+-65.882 43.864 3463
+-65.756 43.864 3464
+-65.63 43.864 3464
+-65.504 43.864 3464
+-65.378 43.864 3464
+-65.252 43.864 3464
+-65.126 43.864 3464
+-128 43.812 3489
+-127.874 43.812 3469
+-127.748 43.812 3442
+-127.622 43.812 3378
+-127.496 43.812 3528
+-127.37 43.812 3674
+-127.244 43.812 3767
+-127.118 43.812 3895
+-126.992 43.812 3875
+-126.866 43.812 3889
+-126.74 43.812 3936
+-126.614 43.812 4073
+-126.488 43.812 4274
+-126.362 43.812 4520
+-126.236 43.812 4741
+-126.11 43.812 4909
+-125.984 43.812 5021
+-125.858 43.812 5082
+-125.732 43.812 5111
+-125.606 43.812 5145
+-125.48 43.812 5154
+-125.354 43.812 5248
+-125.228 43.812 5293
+-125.102 43.812 5360
+-124.976 43.812 5458
+-124.85 43.812 5535
+-124.724 43.812 5623
+-124.598 43.812 5705
+-124.472 43.812 5749
+-124.346 43.812 5803
+-124.22 43.812 5852
+-124.094 43.812 5912
+-123.968 43.812 5912
+-123.842 43.812 5967
+-123.716 43.812 6000
+-123.59 43.812 6053
+-123.464 43.812 6105
+-123.338 43.812 6128
+-123.212 43.812 6091
+-123.086 43.812 6121
+-122.96 43.812 6096
+-122.834 43.812 6085
+-122.708 43.812 6108
+-122.582 43.812 6097
+-122.456 43.812 6054
+-122.33 43.812 6032
+-122.204 43.812 6017
+-122.078 43.812 5962
+-121.952 43.812 5948
+-121.826 43.812 5919
+-121.7 43.812 5843
+-121.574 43.812 5745
+-121.448 43.812 5703
+-121.322 43.812 5690
+-121.196 43.812 5577
+-121.07 43.812 5513
+-120.944 43.812 5598
+-120.818 43.812 5667
+-120.692 43.812 5775
+-120.566 43.812 5878
+-120.44 43.812 5950
+-120.314 43.812 6030
+-120.188 43.812 6117
+-120.062 43.812 6177
+-119.936 43.812 6242
+-119.81 43.812 6327
+-119.684 43.812 6409
+-119.558 43.812 6528
+-119.432 43.812 6551
+-119.306 43.812 6603
+-119.18 43.812 6659
+-119.054 43.812 6691
+-118.928 43.812 6732
+-118.802 43.812 6752
+-118.676 43.812 6760
+-118.55 43.812 6798
+-118.424 43.812 6809
+-118.298 43.812 6786
+-118.172 43.812 6803
+-118.046 43.812 6774
+-117.92 43.812 6740
+-117.794 43.812 6713
+-117.668 43.812 6666
+-117.542 43.812 6653
+-117.416 43.812 6627
+-117.29 43.812 6596
+-117.164 43.812 6471
+-117.038 43.812 6469
+-116.912 43.812 6402
+-116.786 43.812 6290
+-116.66 43.812 6227
+-116.534 43.812 6173
+-116.408 43.812 6072
+-116.282 43.812 5957
+-116.156 43.812 5892
+-116.03 43.812 5841
+-115.904 43.812 5737
+-115.778 43.812 5606
+-115.652 43.812 5484
+-115.526 43.812 5456
+-115.4 43.812 5309
+-115.274 43.812 5203
+-115.148 43.812 5107
+-115.022 43.812 4985
+-114.896 43.812 4884
+-114.77 43.812 4787
+-114.644 43.812 4710
+-114.518 43.812 4597
+-114.392 43.812 4456
+-114.266 43.812 4358
+-114.14 43.812 4290
+-114.014 43.812 4189
+-113.888 43.812 4173
+-113.762 43.812 4167
+-113.636 43.812 4142
+-113.51 43.812 4089
+-113.384 43.812 4009
+-113.258 43.812 3928
+-113.132 43.812 3816
+-113.006 43.812 3714
+-112.88 43.812 3629
+-112.754 43.812 3546
+-112.628 43.812 3535
+-112.502 43.812 3548
+-112.376 43.812 3572
+-112.25 43.812 3589
+-112.124 43.812 3589
+-111.998 43.812 3600
+-111.872 43.812 3617
+-111.746 43.812 3631
+-111.62 43.812 3643
+-111.494 43.812 3582
+-111.368 43.812 3530
+-111.242 43.812 3527
+-111.116 43.812 3424
+-110.99 43.812 3400
+-110.864 43.812 3312
+-110.738 43.812 3318
+-110.612 43.812 3290
+-110.486 43.812 3288
+-110.36 43.812 3286
+-110.234 43.812 3285
+-110.108 43.812 3301
+-109.982 43.812 3301
+-109.856 43.812 3265
+-109.73 43.812 3264
+-109.604 43.812 3263
+-109.478 43.812 3263
+-109.352 43.812 3263
+-109.226 43.812 3263
+-109.1 43.812 3263
+-108.974 43.812 3263
+-108.848 43.812 3264
+-108.722 43.812 3264
+-108.596 43.812 3265
+-108.47 43.812 3266
+-108.344 43.812 3267
+-108.218 43.812 3199
+-108.092 43.812 3200
+-107.966 43.812 3200
+-107.84 43.812 3201
+-107.714 43.812 3202
+-107.588 43.812 3203
+-107.462 43.812 3006
+-107.336 43.812 2998
+-107.21 43.812 2999
+-107.084 43.812 3001
+-106.958 43.812 2981
+-106.832 43.812 2983
+-106.706 43.812 2985
+-106.58 43.812 2988
+-106.454 43.812 2990
+-106.328 43.812 2992
+-106.202 43.812 2994
+-106.076 43.812 2996
+-105.95 43.812 2998
+-105.824 43.812 2861
+-105.698 43.812 2857
+-105.572 43.812 2853
+-105.446 43.812 2737
+-105.32 43.812 2728
+-105.194 43.812 2719
+-105.068 43.812 2710
+-104.942 43.812 2700
+-104.816 43.812 2630
+-104.69 43.812 2618
+-104.564 43.812 2538
+-104.438 43.812 2322
+-104.312 43.812 2321
+-104.186 43.812 2295
+-104.06 43.812 2296
+-103.934 43.812 2290
+-103.808 43.812 2293
+-103.682 43.812 2434
+-103.556 43.812 2524
+-103.43 43.812 2519
+-103.304 43.812 2620
+-103.178 43.812 2619
+-103.052 43.812 2703
+-102.926 43.812 2700
+-102.8 43.812 2697
+-102.674 43.812 2694
+-102.548 43.812 2691
+-102.422 43.812 2686
+-102.296 43.812 2843
+-102.17 43.812 2839
+-102.044 43.812 2836
+-101.918 43.812 2833
+-101.792 43.812 2818
+-101.666 43.812 2846
+-101.54 43.812 2852
+-101.414 43.812 2849
+-101.288 43.812 2891
+-101.162 43.812 2888
+-101.036 43.812 2863
+-100.91 43.812 2862
+-100.784 43.812 2860
+-100.658 43.812 2859
+-100.532 43.812 2858
+-100.406 43.812 2857
+-100.28 43.812 2904
+-100.154 43.812 2902
+-100.028 43.812 2900
+-99.902 43.812 2834
+-99.776 43.812 2833
+-99.65 43.812 2833
+-99.524 43.812 2838
+-99.398 43.812 2838
+-99.272 43.812 2838
+-99.146 43.812 2838
+-99.02 43.812 2838
+-98.894 43.812 2945
+-98.768 43.812 2945
+-98.642 43.812 2943
+-98.516 43.812 2940
+-98.39 43.812 2946
+-98.264 43.812 2951
+-98.138 43.812 2944
+-98.012 43.812 2919
+-97.886 43.812 2947
+-97.76 43.812 3114
+-97.634 43.812 3123
+-97.508 43.812 3111
+-97.382 43.812 3027
+-97.256 43.812 3019
+-97.13 43.812 3011
+-97.004 43.812 3005
+-96.878 43.812 2999
+-96.752 43.812 2994
+-96.626 43.812 2991
+-96.5 43.812 2985
+-96.374 43.812 3003
+-96.248 43.812 3008
+-96.122 43.812 3030
+-95.996 43.812 3033
+-95.87 43.812 3069
+-95.744 43.812 3040
+-95.618 43.812 3070
+-95.492 43.812 3092
+-95.366 43.812 3110
+-95.24 43.812 3141
+-95.114 43.812 3160
+-94.988 43.812 3178
+-94.862 43.812 3200
+-94.736 43.812 3206
+-94.61 43.812 3204
+-94.484 43.812 3225
+-94.358 43.812 3198
+-94.232 43.812 3156
+-94.106 43.812 3106
+-93.98 43.812 3030
+-93.854 43.812 2994
+-93.728 43.812 3070
+-93.602 43.812 3202
+-93.476 43.812 3302
+-93.35 43.812 3359
+-93.224 43.812 3369
+-93.098 43.812 3363
+-92.972 43.812 3402
+-92.846 43.812 3465
+-92.72 43.812 3501
+-92.594 43.812 3541
+-92.468 43.812 3605
+-92.342 43.812 3659
+-92.216 43.812 3706
+-92.09 43.812 3750
+-91.964 43.812 3807
+-91.838 43.812 3851
+-91.712 43.812 3897
+-91.586 43.812 3918
+-91.46 43.812 3944
+-91.334 43.812 3963
+-91.208 43.812 3980
+-91.082 43.812 3990
+-90.956 43.812 4005
+-90.83 43.812 4013
+-90.704 43.812 3985
+-90.578 43.812 3987
+-90.452 43.812 3992
+-90.326 43.812 3987
+-90.2 43.812 3981
+-90.074 43.812 3991
+-89.948 43.812 3985
+-89.822 43.812 3973
+-89.696 43.812 3930
+-89.57 43.812 3880
+-89.444 43.812 3850
+-89.318 43.812 3820
+-89.192 43.812 3794
+-89.066 43.812 3785
+-88.94 43.812 3763
+-88.814 43.812 3712
+-88.688 43.812 3676
+-88.562 43.812 3652
+-88.436 43.812 3657
+-88.31 43.812 3646
+-88.184 43.812 3607
+-88.058 43.812 3563
+-87.932 43.812 3475
+-87.806 43.812 3366
+-87.68 43.812 3291
+-87.554 43.812 3301
+-87.428 43.812 3337
+-87.302 43.812 3371
+-87.176 43.812 3360
+-87.05 43.812 3220
+-86.924 43.812 3174
+-86.798 43.812 3079
+-86.672 43.812 3006
+-86.546 43.812 2928
+-86.42 43.812 2838
+-86.294 43.812 2793
+-86.168 43.812 2693
+-86.042 43.812 2602
+-85.916 43.812 2528
+-85.79 43.812 2490
+-85.664 43.812 2457
+-85.538 43.812 2429
+-85.412 43.812 2415
+-85.286 43.812 2412
+-85.16 43.812 2400
+-85.034 43.812 2417
+-84.908 43.812 2440
+-84.782 43.812 2462
+-84.656 43.812 2489
+-84.53 43.812 2514
+-84.404 43.812 2537
+-84.278 43.812 2535
+-84.152 43.812 2551
+-84.026 43.812 2568
+-83.9 43.812 2584
+-83.774 43.812 2597
+-83.648 43.812 2608
+-83.522 43.812 2581
+-83.396 43.812 2645
+-83.27 43.812 2653
+-83.144 43.812 2665
+-83.018 43.812 2673
+-82.892 43.812 2681
+-82.766 43.812 2688
+-82.64 43.812 2705
+-82.514 43.812 2700
+-82.388 43.812 2742
+-82.262 43.812 2750
+-82.136 43.812 2750
+-82.01 43.812 2759
+-81.884 43.812 2766
+-81.758 43.812 2772
+-81.632 43.812 2768
+-81.506 43.812 2857
+-81.38 43.812 2863
+-81.254 43.812 2869
+-81.128 43.812 2875
+-81.002 43.812 2961
+-80.876 43.812 2930
+-80.75 43.812 3047
+-80.624 43.812 3052
+-80.498 43.812 3029
+-80.372 43.812 3033
+-80.246 43.812 3037
+-80.12 43.812 3040
+-79.994 43.812 3044
+-79.868 43.812 3047
+-79.742 43.812 3119
+-79.616 43.812 3119
+-79.49 43.812 3123
+-79.364 43.812 3127
+-79.238 43.812 3131
+-79.112 43.812 3088
+-78.986 43.812 3114
+-78.86 43.812 3118
+-78.734 43.812 3175
+-78.608 43.812 3107
+-78.482 43.812 3111
+-78.356 43.812 3114
+-78.23 43.812 3152
+-78.104 43.812 3117
+-77.978 43.812 3121
+-77.852 43.812 3124
+-77.726 43.812 3331
+-77.6 43.812 3287
+-77.474 43.812 3290
+-77.348 43.812 3411
+-77.222 43.812 3389
+-77.096 43.812 3392
+-76.97 43.812 3346
+-76.844 43.812 3418
+-76.718 43.812 3420
+-76.592 43.812 3422
+-76.466 43.812 3424
+-76.34 43.812 3427
+-76.214 43.812 3426
+-76.088 43.812 3428
+-75.962 43.812 3430
+-75.836 43.812 3419
+-75.71 43.812 3372
+-75.584 43.812 3368
+-75.458 43.812 3369
+-75.332 43.812 3371
+-75.206 43.812 3373
+-75.08 43.812 3374
+-74.954 43.812 3376
+-74.828 43.812 3377
+-74.702 43.812 3379
+-74.576 43.812 3380
+-74.45 43.812 3382
+-74.324 43.812 3383
+-74.198 43.812 3384
+-74.072 43.812 3385
+-73.946 43.812 3387
+-73.82 43.812 3388
+-73.694 43.812 3494
+-73.568 43.812 3495
+-73.442 43.812 3482
+-73.316 43.812 3483
+-73.19 43.812 3484
+-73.064 43.812 3485
+-72.938 43.812 3486
+-72.812 43.812 3486
+-72.686 43.812 3487
+-72.56 43.812 3488
+-72.434 43.812 3489
+-72.308 43.812 3490
+-72.182 43.812 3491
+-72.056 43.812 3524
+-71.93 43.812 3525
+-71.804 43.812 3527
+-71.678 43.812 3528
+-71.552 43.812 3529
+-71.426 43.812 3530
+-71.3 43.812 3491
+-71.174 43.812 3492
+-71.048 43.812 3493
+-70.922 43.812 3494
+-70.796 43.812 3528
+-70.67 43.812 3529
+-70.544 43.812 3531
+-70.418 43.812 3486
+-70.292 43.812 3487
+-70.166 43.812 3487
+-70.04 43.812 3624
+-69.914 43.812 3624
+-69.788 43.812 3625
+-69.662 43.812 3625
+-69.536 43.812 3626
+-69.41 43.812 3561
+-69.284 43.812 3561
+-69.158 43.812 3561
+-69.032 43.812 3561
+-68.906 43.812 3562
+-68.78 43.812 3562
+-68.654 43.812 3562
+-68.528 43.812 3562
+-68.402 43.812 3563
+-68.276 43.812 3563
+-68.15 43.812 3544
+-68.024 43.812 3531
+-67.898 43.812 3531
+-67.772 43.812 3532
+-67.646 43.812 3532
+-67.52 43.812 3532
+-67.394 43.812 3532
+-67.268 43.812 3514
+-67.142 43.812 3514
+-67.016 43.812 3514
+-66.89 43.812 3514
+-66.764 43.812 3514
+-66.638 43.812 3515
+-66.512 43.812 3515
+-66.386 43.812 3515
+-66.26 43.812 3463
+-66.134 43.812 3463
+-66.008 43.812 3463
+-65.882 43.812 3463
+-65.756 43.812 3464
+-65.63 43.812 3464
+-65.504 43.812 3464
+-65.378 43.812 3464
+-65.252 43.812 3464
+-65.126 43.812 3464
+-128 43.76 3439
+-127.874 43.76 3400
+-127.748 43.76 3380
+-127.622 43.76 3435
+-127.496 43.76 3546
+-127.37 43.76 3668
+-127.244 43.76 3670
+-127.118 43.76 3815
+-126.992 43.76 3958
+-126.866 43.76 3899
+-126.74 43.76 3902
+-126.614 43.76 4020
+-126.488 43.76 4259
+-126.362 43.76 4486
+-126.236 43.76 4713
+-126.11 43.76 4880
+-125.984 43.76 4984
+-125.858 43.76 5020
+-125.732 43.76 5022
+-125.606 43.76 5091
+-125.48 43.76 5135
+-125.354 43.76 5178
+-125.228 43.76 5259
+-125.102 43.76 5333
+-124.976 43.76 5435
+-124.85 43.76 5492
+-124.724 43.76 5542
+-124.598 43.76 5641
+-124.472 43.76 5720
+-124.346 43.76 5749
+-124.22 43.76 5776
+-124.094 43.76 5838
+-123.968 43.76 5883
+-123.842 43.76 5893
+-123.716 43.76 5925
+-123.59 43.76 5958
+-123.464 43.76 6026
+-123.338 43.76 6068
+-123.212 43.76 6084
+-123.086 43.76 6077
+-122.96 43.76 6027
+-122.834 43.76 6046
+-122.708 43.76 6048
+-122.582 43.76 6028
+-122.456 43.76 5989
+-122.33 43.76 5968
+-122.204 43.76 5959
+-122.078 43.76 5930
+-121.952 43.76 5906
+-121.826 43.76 5860
+-121.7 43.76 5777
+-121.574 43.76 5717
+-121.448 43.76 5716
+-121.322 43.76 5588
+-121.196 43.76 5396
+-121.07 43.76 5445
+-120.944 43.76 5575
+-120.818 43.76 5642
+-120.692 43.76 5751
+-120.566 43.76 5813
+-120.44 43.76 5904
+-120.314 43.76 5946
+-120.188 43.76 6082
+-120.062 43.76 6143
+-119.936 43.76 6266
+-119.81 43.76 6285
+-119.684 43.76 6418
+-119.558 43.76 6422
+-119.432 43.76 6474
+-119.306 43.76 6537
+-119.18 43.76 6626
+-119.054 43.76 6630
+-118.928 43.76 6682
+-118.802 43.76 6715
+-118.676 43.76 6732
+-118.55 43.76 6776
+-118.424 43.76 6755
+-118.298 43.76 6744
+-118.172 43.76 6721
+-118.046 43.76 6698
+-117.92 43.76 6683
+-117.794 43.76 6683
+-117.668 43.76 6649
+-117.542 43.76 6625
+-117.416 43.76 6587
+-117.29 43.76 6509
+-117.164 43.76 6481
+-117.038 43.76 6374
+-116.912 43.76 6336
+-116.786 43.76 6243
+-116.66 43.76 6162
+-116.534 43.76 6107
+-116.408 43.76 6023
+-116.282 43.76 5902
+-116.156 43.76 5874
+-116.03 43.76 5802
+-115.904 43.76 5690
+-115.778 43.76 5569
+-115.652 43.76 5524
+-115.526 43.76 5395
+-115.4 43.76 5253
+-115.274 43.76 5209
+-115.148 43.76 5071
+-115.022 43.76 4938
+-114.896 43.76 4877
+-114.77 43.76 4743
+-114.644 43.76 4668
+-114.518 43.76 4531
+-114.392 43.76 4413
+-114.266 43.76 4290
+-114.14 43.76 4300
+-114.014 43.76 4254
+-113.888 43.76 4178
+-113.762 43.76 4147
+-113.636 43.76 4102
+-113.51 43.76 4037
+-113.384 43.76 3953
+-113.258 43.76 3830
+-113.132 43.76 3683
+-113.006 43.76 3541
+-112.88 43.76 3443
+-112.754 43.76 3420
+-112.628 43.76 3450
+-112.502 43.76 3474
+-112.376 43.76 3512
+-112.25 43.76 3551
+-112.124 43.76 3570
+-111.998 43.76 3581
+-111.872 43.76 3594
+-111.746 43.76 3612
+-111.62 43.76 3548
+-111.494 43.76 3563
+-111.368 43.76 3478
+-111.242 43.76 3414
+-111.116 43.76 3415
+-110.99 43.76 3401
+-110.864 43.76 3377
+-110.738 43.76 3293
+-110.612 43.76 3265
+-110.486 43.76 3270
+-110.36 43.76 3270
+-110.234 43.76 3269
+-110.108 43.76 3269
+-109.982 43.76 3286
+-109.856 43.76 3286
+-109.73 43.76 3251
+-109.604 43.76 3251
+-109.478 43.76 3251
+-109.352 43.76 3252
+-109.226 43.76 3252
+-109.1 43.76 3253
+-108.974 43.76 3254
+-108.848 43.76 3254
+-108.722 43.76 3255
+-108.596 43.76 3256
+-108.47 43.76 3258
+-108.344 43.76 3259
+-108.218 43.76 3260
+-108.092 43.76 3193
+-107.966 43.76 3127
+-107.84 43.76 3127
+-107.714 43.76 3127
+-107.588 43.76 3127
+-107.462 43.76 3127
+-107.336 43.76 3000
+-107.21 43.76 2992
+-107.084 43.76 2994
+-106.958 43.76 2995
+-106.832 43.76 2976
+-106.706 43.76 2978
+-106.58 43.76 2980
+-106.454 43.76 2983
+-106.328 43.76 2985
+-106.202 43.76 2987
+-106.076 43.76 2989
+-105.95 43.76 2991
+-105.824 43.76 2849
+-105.698 43.76 2848
+-105.572 43.76 2735
+-105.446 43.76 2726
+-105.32 43.76 2718
+-105.194 43.76 2709
+-105.068 43.76 2699
+-104.942 43.76 2689
+-104.816 43.76 2619
+-104.69 43.76 2607
+-104.564 43.76 2527
+-104.438 43.76 2313
+-104.312 43.76 2312
+-104.186 43.76 2287
+-104.06 43.76 2289
+-103.934 43.76 2285
+-103.808 43.76 2260
+-103.682 43.76 2403
+-103.556 43.76 2514
+-103.43 43.76 2618
+-103.304 43.76 2617
+-103.178 43.76 2616
+-103.052 43.76 2699
+-102.926 43.76 2696
+-102.8 43.76 2693
+-102.674 43.76 2691
+-102.548 43.76 2688
+-102.422 43.76 2685
+-102.296 43.76 2681
+-102.17 43.76 2836
+-102.044 43.76 2833
+-101.918 43.76 2829
+-101.792 43.76 2826
+-101.666 43.76 2811
+-101.54 43.76 2839
+-101.414 43.76 2844
+-101.288 43.76 2841
+-101.162 43.76 2883
+-101.036 43.76 2880
+-100.91 43.76 2856
+-100.784 43.76 2855
+-100.658 43.76 2853
+-100.532 43.76 2852
+-100.406 43.76 2851
+-100.28 43.76 2850
+-100.154 43.76 2896
+-100.028 43.76 2894
+-99.902 43.76 2893
+-99.776 43.76 2827
+-99.65 43.76 2827
+-99.524 43.76 2826
+-99.398 43.76 2832
+-99.272 43.76 2832
+-99.146 43.76 2832
+-99.02 43.76 2831
+-98.894 43.76 2831
+-98.768 43.76 2936
+-98.642 43.76 2936
+-98.516 43.76 2933
+-98.39 43.76 2930
+-98.264 43.76 2928
+-98.138 43.76 2939
+-98.012 43.76 2931
+-97.886 43.76 2907
+-97.76 43.76 2932
+-97.634 43.76 3091
+-97.508 43.76 3097
+-97.382 43.76 3084
+-97.256 43.76 3002
+-97.13 43.76 2993
+-97.004 43.76 2984
+-96.878 43.76 2976
+-96.752 43.76 2970
+-96.626 43.76 2964
+-96.5 43.76 2961
+-96.374 43.76 2957
+-96.248 43.76 2976
+-96.122 43.76 2983
+-95.996 43.76 3008
+-95.87 43.76 3016
+-95.744 43.76 3056
+-95.618 43.76 3033
+-95.492 43.76 3067
+-95.366 43.76 3094
+-95.24 43.76 3115
+-95.114 43.76 3149
+-94.988 43.76 3169
+-94.862 43.76 3185
+-94.736 43.76 3204
+-94.61 43.76 3204
+-94.484 43.76 3193
+-94.358 43.76 3195
+-94.232 43.76 3149
+-94.106 43.76 3082
+-93.98 43.76 2989
+-93.854 43.76 2904
+-93.728 43.76 3016
+-93.602 43.76 3186
+-93.476 43.76 3312
+-93.35 43.76 3370
+-93.224 43.76 3364
+-93.098 43.76 3322
+-92.972 43.76 3402
+-92.846 43.76 3502
+-92.72 43.76 3561
+-92.594 43.76 3606
+-92.468 43.76 3668
+-92.342 43.76 3704
+-92.216 43.76 3740
+-92.09 43.76 3794
+-91.964 43.76 3852
+-91.838 43.76 3898
+-91.712 43.76 3919
+-91.586 43.76 3902
+-91.46 43.76 3965
+-91.334 43.76 3993
+-91.208 43.76 4022
+-91.082 43.76 4034
+-90.956 43.76 4051
+-90.83 43.76 4056
+-90.704 43.76 4050
+-90.578 43.76 4045
+-90.452 43.76 4057
+-90.326 43.76 4047
+-90.2 43.76 4021
+-90.074 43.76 4009
+-89.948 43.76 4023
+-89.822 43.76 4030
+-89.696 43.76 4019
+-89.57 43.76 3969
+-89.444 43.76 3926
+-89.318 43.76 3887
+-89.192 43.76 3829
+-89.066 43.76 3797
+-88.94 43.76 3789
+-88.814 43.76 3765
+-88.688 43.76 3739
+-88.562 43.76 3727
+-88.436 43.76 3717
+-88.31 43.76 3704
+-88.184 43.76 3663
+-88.058 43.76 3612
+-87.932 43.76 3500
+-87.806 43.76 3333
+-87.68 43.76 3239
+-87.554 43.76 3300
+-87.428 43.76 3369
+-87.302 43.76 3403
+-87.176 43.76 3410
+-87.05 43.76 3329
+-86.924 43.76 3273
+-86.798 43.76 3147
+-86.672 43.76 3122
+-86.546 43.76 3036
+-86.42 43.76 2969
+-86.294 43.76 2858
+-86.168 43.76 2801
+-86.042 43.76 2717
+-85.916 43.76 2677
+-85.79 43.76 2634
+-85.664 43.76 2606
+-85.538 43.76 2516
+-85.412 43.76 2502
+-85.286 43.76 2496
+-85.16 43.76 2499
+-85.034 43.76 2507
+-84.908 43.76 2517
+-84.782 43.76 2534
+-84.656 43.76 2551
+-84.53 43.76 2568
+-84.404 43.76 2561
+-84.278 43.76 2573
+-84.152 43.76 2588
+-84.026 43.76 2601
+-83.9 43.76 2613
+-83.774 43.76 2622
+-83.648 43.76 2593
+-83.522 43.76 2655
+-83.396 43.76 2662
+-83.27 43.76 2673
+-83.144 43.76 2681
+-83.018 43.76 2688
+-82.892 43.76 2694
+-82.766 43.76 2711
+-82.64 43.76 2706
+-82.514 43.76 2747
+-82.388 43.76 2754
+-82.262 43.76 2755
+-82.136 43.76 2763
+-82.01 43.76 2769
+-81.884 43.76 2775
+-81.758 43.76 2772
+-81.632 43.76 2859
+-81.506 43.76 2865
+-81.38 43.76 2871
+-81.254 43.76 2876
+-81.128 43.76 2962
+-81.002 43.76 2931
+-80.876 43.76 3045
+-80.75 43.76 3050
+-80.624 43.76 3027
+-80.498 43.76 3031
+-80.372 43.76 3035
+-80.246 43.76 3039
+-80.12 43.76 3043
+-79.994 43.76 3046
+-79.868 43.76 3117
+-79.742 43.76 3118
+-79.616 43.76 3122
+-79.49 43.76 3126
+-79.364 43.76 3130
+-79.238 43.76 3087
+-79.112 43.76 3113
+-78.986 43.76 3117
+-78.86 43.76 3173
+-78.734 43.76 3106
+-78.608 43.76 3110
+-78.482 43.76 3114
+-78.356 43.76 3151
+-78.23 43.76 3117
+-78.104 43.76 3120
+-77.978 43.76 3124
+-77.852 43.76 3329
+-77.726 43.76 3285
+-77.6 43.76 3288
+-77.474 43.76 3409
+-77.348 43.76 3388
+-77.222 43.76 3391
+-77.096 43.76 3345
+-76.97 43.76 3416
+-76.844 43.76 3418
+-76.718 43.76 3421
+-76.592 43.76 3423
+-76.466 43.76 3425
+-76.34 43.76 3424
+-76.214 43.76 3426
+-76.088 43.76 3429
+-75.962 43.76 3418
+-75.836 43.76 3371
+-75.71 43.76 3367
+-75.584 43.76 3369
+-75.458 43.76 3370
+-75.332 43.76 3372
+-75.206 43.76 3374
+-75.08 43.76 3375
+-74.954 43.76 3377
+-74.828 43.76 3378
+-74.702 43.76 3380
+-74.576 43.76 3381
+-74.45 43.76 3382
+-74.324 43.76 3384
+-74.198 43.76 3385
+-74.072 43.76 3386
+-73.946 43.76 3387
+-73.82 43.76 3493
+-73.694 43.76 3495
+-73.568 43.76 3481
+-73.442 43.76 3482
+-73.316 43.76 3483
+-73.19 43.76 3484
+-73.064 43.76 3485
+-72.938 43.76 3486
+-72.812 43.76 3487
+-72.686 43.76 3488
+-72.56 43.76 3489
+-72.434 43.76 3490
+-72.308 43.76 3490
+-72.182 43.76 3524
+-72.056 43.76 3525
+-71.93 43.76 3526
+-71.804 43.76 3527
+-71.678 43.76 3528
+-71.552 43.76 3529
+-71.426 43.76 3491
+-71.3 43.76 3492
+-71.174 43.76 3493
+-71.048 43.76 3494
+-70.922 43.76 3528
+-70.796 43.76 3529
+-70.67 43.76 3530
+-70.544 43.76 3485
+-70.418 43.76 3486
+-70.292 43.76 3487
+-70.166 43.76 3624
+-70.04 43.76 3624
+-69.914 43.76 3624
+-69.788 43.76 3625
+-69.662 43.76 3625
+-69.536 43.76 3560
+-69.41 43.76 3561
+-69.284 43.76 3561
+-69.158 43.76 3561
+-69.032 43.76 3561
+-68.906 43.76 3562
+-68.78 43.76 3562
+-68.654 43.76 3562
+-68.528 43.76 3562
+-68.402 43.76 3563
+-68.276 43.76 3544
+-68.15 43.76 3531
+-68.024 43.76 3531
+-67.898 43.76 3531
+-67.772 43.76 3532
+-67.646 43.76 3532
+-67.52 43.76 3513
+-67.394 43.76 3513
+-67.268 43.76 3514
+-67.142 43.76 3514
+-67.016 43.76 3514
+-66.89 43.76 3514
+-66.764 43.76 3514
+-66.638 43.76 3515
+-66.512 43.76 3515
+-66.386 43.76 3463
+-66.26 43.76 3463
+-66.134 43.76 3463
+-66.008 43.76 3463
+-65.882 43.76 3463
+-65.756 43.76 3464
+-65.63 43.76 3464
+-65.504 43.76 3464
+-65.378 43.76 3464
+-65.252 43.76 3464
+-65.126 43.76 3464
+-128 43.708 3398
+-127.874 43.708 3334
+-127.748 43.708 3259
+-127.622 43.708 3386
+-127.496 43.708 3538
+-127.37 43.708 3653
+-127.244 43.708 3717
+-127.118 43.708 3785
+-126.992 43.708 3859
+-126.866 43.708 3876
+-126.74 43.708 3905
+-126.614 43.708 3997
+-126.488 43.708 4255
+-126.362 43.708 4438
+-126.236 43.708 4654
+-126.11 43.708 4820
+-125.984 43.708 4922
+-125.858 43.708 4954
+-125.732 43.708 4910
+-125.606 43.708 5031
+-125.48 43.708 5068
+-125.354 43.708 5114
+-125.228 43.708 5193
+-125.102 43.708 5291
+-124.976 43.708 5381
+-124.85 43.708 5418
+-124.724 43.708 5480
+-124.598 43.708 5596
+-124.472 43.708 5665
+-124.346 43.708 5723
+-124.22 43.708 5778
+-124.094 43.708 5809
+-123.968 43.708 5819
+-123.842 43.708 5862
+-123.716 43.708 5868
+-123.59 43.708 5961
+-123.464 43.708 5921
+-123.338 43.708 5964
+-123.212 43.708 5997
+-123.086 43.708 6021
+-122.96 43.708 6032
+-122.834 43.708 6025
+-122.708 43.708 5986
+-122.582 43.708 5981
+-122.456 43.708 5951
+-122.33 43.708 5929
+-122.204 43.708 5890
+-122.078 43.708 5873
+-121.952 43.708 5856
+-121.826 43.708 5804
+-121.7 43.708 5717
+-121.574 43.708 5659
+-121.448 43.708 5595
+-121.322 43.708 5539
+-121.196 43.708 5465
+-121.07 43.708 5470
+-120.944 43.708 5524
+-120.818 43.708 5588
+-120.692 43.708 5685
+-120.566 43.708 5778
+-120.44 43.708 5845
+-120.314 43.708 5944
+-120.188 43.708 6053
+-120.062 43.708 6131
+-119.936 43.708 6196
+-119.81 43.708 6230
+-119.684 43.708 6323
+-119.558 43.708 6367
+-119.432 43.708 6429
+-119.306 43.708 6502
+-119.18 43.708 6538
+-119.054 43.708 6589
+-118.928 43.708 6617
+-118.802 43.708 6670
+-118.676 43.708 6702
+-118.55 43.708 6705
+-118.424 43.708 6676
+-118.298 43.708 6672
+-118.172 43.708 6657
+-118.046 43.708 6700
+-117.92 43.708 6652
+-117.794 43.708 6634
+-117.668 43.708 6605
+-117.542 43.708 6543
+-117.416 43.708 6536
+-117.29 43.708 6499
+-117.164 43.708 6422
+-117.038 43.708 6331
+-116.912 43.708 6243
+-116.786 43.708 6166
+-116.66 43.708 6095
+-116.534 43.708 6054
+-116.408 43.708 5986
+-116.282 43.708 5893
+-116.156 43.708 5845
+-116.03 43.708 5786
+-115.904 43.708 5621
+-115.778 43.708 5495
+-115.652 43.708 5515
+-115.526 43.708 5402
+-115.4 43.708 5275
+-115.274 43.708 5152
+-115.148 43.708 5040
+-115.022 43.708 4893
+-114.896 43.708 4803
+-114.77 43.708 4719
+-114.644 43.708 4588
+-114.518 43.708 4461
+-114.392 43.708 4416
+-114.266 43.708 4305
+-114.14 43.708 4230
+-114.014 43.708 4220
+-113.888 43.708 4172
+-113.762 43.708 4122
+-113.636 43.708 4061
+-113.51 43.708 3981
+-113.384 43.708 3879
+-113.258 43.708 3712
+-113.132 43.708 3512
+-113.006 43.708 3349
+-112.88 43.708 3256
+-112.754 43.708 3255
+-112.628 43.708 3325
+-112.502 43.708 3411
+-112.376 43.708 3462
+-112.25 43.708 3509
+-112.124 43.708 3551
+-111.998 43.708 3571
+-111.872 43.708 3554
+-111.746 43.708 3518
+-111.62 43.708 3529
+-111.494 43.708 3449
+-111.368 43.708 3450
+-111.242 43.708 3389
+-111.116 43.708 3391
+-110.99 43.708 3378
+-110.864 43.708 3324
+-110.738 43.708 3325
+-110.612 43.708 3238
+-110.486 43.708 3246
+-110.36 43.708 3219
+-110.234 43.708 3219
+-110.108 43.708 3218
+-109.982 43.708 3218
+-109.856 43.708 3270
+-109.73 43.708 3272
+-109.604 43.708 3238
+-109.478 43.708 3239
+-109.352 43.708 3240
+-109.226 43.708 3241
+-109.1 43.708 3242
+-108.974 43.708 3243
+-108.848 43.708 3245
+-108.722 43.708 3246
+-108.596 43.708 3247
+-108.47 43.708 3249
+-108.344 43.708 3250
+-108.218 43.708 3252
+-108.092 43.708 3119
+-107.966 43.708 3119
+-107.84 43.708 3119
+-107.714 43.708 3120
+-107.588 43.708 3120
+-107.462 43.708 3120
+-107.336 43.708 3121
+-107.21 43.708 2994
+-107.084 43.708 2986
+-106.958 43.708 2988
+-106.832 43.708 2987
+-106.706 43.708 2971
+-106.58 43.708 2973
+-106.454 43.708 2975
+-106.328 43.708 2978
+-106.202 43.708 2980
+-106.076 43.708 2982
+-105.95 43.708 2985
+-105.824 43.708 2841
+-105.698 43.708 2732
+-105.572 43.708 2724
+-105.446 43.708 2716
+-105.32 43.708 2707
+-105.194 43.708 2698
+-105.068 43.708 2688
+-104.942 43.708 2678
+-104.816 43.708 2608
+-104.69 43.708 2596
+-104.564 43.708 2515
+-104.438 43.708 2303
+-104.312 43.708 2267
+-104.186 43.708 2279
+-104.06 43.708 2107
+-103.934 43.708 2196
+-103.808 43.708 2299
+-103.682 43.708 2344
+-103.556 43.708 2479
+-103.43 43.708 2582
+-103.304 43.708 2615
+-103.178 43.708 2614
+-103.052 43.708 2696
+-102.926 43.708 2693
+-102.8 43.708 2690
+-102.674 43.708 2687
+-102.548 43.708 2684
+-102.422 43.708 2681
+-102.296 43.708 2678
+-102.17 43.708 2675
+-102.044 43.708 2829
+-101.918 43.708 2825
+-101.792 43.708 2822
+-101.666 43.708 2818
+-101.54 43.708 2804
+-101.414 43.708 2832
+-101.288 43.708 2837
+-101.162 43.708 2834
+-101.036 43.708 2875
+-100.91 43.708 2871
+-100.784 43.708 2849
+-100.658 43.708 2848
+-100.532 43.708 2846
+-100.406 43.708 2845
+-100.28 43.708 2844
+-100.154 43.708 2842
+-100.028 43.708 2888
+-99.902 43.708 2886
+-99.776 43.708 2885
+-99.65 43.708 2821
+-99.524 43.708 2820
+-99.398 43.708 2820
+-99.272 43.708 2825
+-99.146 43.708 2825
+-99.02 43.708 2825
+-98.894 43.708 2824
+-98.768 43.708 2824
+-98.642 43.708 2926
+-98.516 43.708 2926
+-98.39 43.708 2922
+-98.264 43.708 2919
+-98.138 43.708 2923
+-98.012 43.708 2925
+-97.886 43.708 2917
+-97.76 43.708 2892
+-97.634 43.708 2915
+-97.508 43.708 3065
+-97.382 43.708 3068
+-97.256 43.708 3053
+-97.13 43.708 2974
+-97.004 43.708 2963
+-96.878 43.708 2952
+-96.752 43.708 2943
+-96.626 43.708 2935
+-96.5 43.708 2929
+-96.374 43.708 2926
+-96.248 43.708 2925
+-96.122 43.708 2945
+-95.996 43.708 2956
+-95.87 43.708 2985
+-95.744 43.708 3000
+-95.618 43.708 3045
+-95.492 43.708 3030
+-95.366 43.708 3070
+-95.24 43.708 3101
+-95.114 43.708 3125
+-94.988 43.708 3161
+-94.862 43.708 3180
+-94.736 43.708 3193
+-94.61 43.708 3207
+-94.484 43.708 3199
+-94.358 43.708 3177
+-94.232 43.708 3159
+-94.106 43.708 3102
+-93.98 43.708 3049
+-93.854 43.708 3022
+-93.728 43.708 3079
+-93.602 43.708 3210
+-93.476 43.708 3335
+-93.35 43.708 3395
+-93.224 43.708 3415
+-93.098 43.708 3408
+-92.972 43.708 3493
+-92.846 43.708 3575
+-92.72 43.708 3609
+-92.594 43.708 3649
+-92.468 43.708 3724
+-92.342 43.708 3772
+-92.216 43.708 3777
+-92.09 43.708 3832
+-91.964 43.708 3888
+-91.838 43.708 3934
+-91.712 43.708 3947
+-91.586 43.708 3956
+-91.46 43.708 3994
+-91.334 43.708 4036
+-91.208 43.708 4035
+-91.082 43.708 4065
+-90.956 43.708 4096
+-90.83 43.708 4082
+-90.704 43.708 4090
+-90.578 43.708 4103
+-90.452 43.708 4110
+-90.326 43.708 4117
+-90.2 43.708 4118
+-90.074 43.708 4105
+-89.948 43.708 4128
+-89.822 43.708 4141
+-89.696 43.708 4116
+-89.57 43.708 4090
+-89.444 43.708 4050
+-89.318 43.708 3997
+-89.192 43.708 3933
+-89.066 43.708 3887
+-88.94 43.708 3864
+-88.814 43.708 3814
+-88.688 43.708 3776
+-88.562 43.708 3765
+-88.436 43.708 3758
+-88.31 43.708 3751
+-88.184 43.708 3724
+-88.058 43.708 3652
+-87.932 43.708 3557
+-87.806 43.708 3408
+-87.68 43.708 3328
+-87.554 43.708 3366
+-87.428 43.708 3435
+-87.302 43.708 3439
+-87.176 43.708 3443
+-87.05 43.708 3382
+-86.924 43.708 3334
+-86.798 43.708 3309
+-86.672 43.708 3244
+-86.546 43.708 3129
+-86.42 43.708 3076
+-86.294 43.708 2946
+-86.168 43.708 2900
+-86.042 43.708 2814
+-85.916 43.708 2766
+-85.79 43.708 2735
+-85.664 43.708 2676
+-85.538 43.708 2655
+-85.412 43.708 2640
+-85.286 43.708 2630
+-85.16 43.708 2629
+-85.034 43.708 2585
+-84.908 43.708 2590
+-84.782 43.708 2599
+-84.656 43.708 2608
+-84.53 43.708 2635
+-84.404 43.708 2602
+-84.278 43.708 2613
+-84.152 43.708 2623
+-84.026 43.708 2632
+-83.9 43.708 2683
+-83.774 43.708 2654
+-83.648 43.708 2667
+-83.522 43.708 2673
+-83.396 43.708 2683
+-83.27 43.708 2690
+-83.144 43.708 2696
+-83.018 43.708 2702
+-82.892 43.708 2717
+-82.766 43.708 2712
+-82.64 43.708 2752
+-82.514 43.708 2759
+-82.388 43.708 2759
+-82.262 43.708 2768
+-82.136 43.708 2774
+-82.01 43.708 2779
+-81.884 43.708 2776
+-81.758 43.708 2861
+-81.632 43.708 2867
+-81.506 43.708 2873
+-81.38 43.708 2878
+-81.254 43.708 2962
+-81.128 43.708 2932
+-81.002 43.708 3042
+-80.876 43.708 3047
+-80.75 43.708 3026
+-80.624 43.708 3030
+-80.498 43.708 3034
+-80.372 43.708 3038
+-80.246 43.708 3042
+-80.12 43.708 3045
+-79.994 43.708 3115
+-79.868 43.708 3116
+-79.742 43.708 3120
+-79.616 43.708 3125
+-79.49 43.708 3129
+-79.364 43.708 3086
+-79.238 43.708 3112
+-79.112 43.708 3116
+-78.986 43.708 3172
+-78.86 43.708 3105
+-78.734 43.708 3109
+-78.608 43.708 3113
+-78.482 43.708 3150
+-78.356 43.708 3116
+-78.23 43.708 3120
+-78.104 43.708 3123
+-77.978 43.708 3326
+-77.852 43.708 3283
+-77.726 43.708 3286
+-77.6 43.708 3406
+-77.474 43.708 3386
+-77.348 43.708 3389
+-77.222 43.708 3343
+-77.096 43.708 3415
+-76.97 43.708 3417
+-76.844 43.708 3419
+-76.718 43.708 3422
+-76.592 43.708 3424
+-76.466 43.708 3423
+-76.34 43.708 3425
+-76.214 43.708 3427
+-76.088 43.708 3417
+-75.962 43.708 3370
+-75.836 43.708 3366
+-75.71 43.708 3368
+-75.584 43.708 3369
+-75.458 43.708 3371
+-75.332 43.708 3373
+-75.206 43.708 3374
+-75.08 43.708 3376
+-74.954 43.708 3378
+-74.828 43.708 3379
+-74.702 43.708 3380
+-74.576 43.708 3382
+-74.45 43.708 3383
+-74.324 43.708 3385
+-74.198 43.708 3386
+-74.072 43.708 3387
+-73.946 43.708 3493
+-73.82 43.708 3494
+-73.694 43.708 3480
+-73.568 43.708 3481
+-73.442 43.708 3482
+-73.316 43.708 3483
+-73.19 43.708 3484
+-73.064 43.708 3485
+-72.938 43.708 3486
+-72.812 43.708 3487
+-72.686 43.708 3488
+-72.56 43.708 3489
+-72.434 43.708 3490
+-72.308 43.708 3523
+-72.182 43.708 3524
+-72.056 43.708 3525
+-71.93 43.708 3527
+-71.804 43.708 3528
+-71.678 43.708 3529
+-71.552 43.708 3491
+-71.426 43.708 3492
+-71.3 43.708 3492
+-71.174 43.708 3493
+-71.048 43.708 3527
+-70.922 43.708 3528
+-70.796 43.708 3530
+-70.67 43.708 3485
+-70.544 43.708 3486
+-70.418 43.708 3487
+-70.292 43.708 3623
+-70.166 43.708 3624
+-70.04 43.708 3624
+-69.914 43.708 3624
+-69.788 43.708 3625
+-69.662 43.708 3560
+-69.536 43.708 3560
+-69.41 43.708 3561
+-69.284 43.708 3561
+-69.158 43.708 3561
+-69.032 43.708 3561
+-68.906 43.708 3562
+-68.78 43.708 3562
+-68.654 43.708 3562
+-68.528 43.708 3562
+-68.402 43.708 3543
+-68.276 43.708 3531
+-68.15 43.708 3531
+-68.024 43.708 3531
+-67.898 43.708 3531
+-67.772 43.708 3532
+-67.646 43.708 3532
+-67.52 43.708 3513
+-67.394 43.708 3514
+-67.268 43.708 3514
+-67.142 43.708 3514
+-67.016 43.708 3514
+-66.89 43.708 3514
+-66.764 43.708 3514
+-66.638 43.708 3515
+-66.512 43.708 3463
+-66.386 43.708 3463
+-66.26 43.708 3463
+-66.134 43.708 3463
+-66.008 43.708 3463
+-65.882 43.708 3463
+-65.756 43.708 3464
+-65.63 43.708 3464
+-65.504 43.708 3464
+-65.378 43.708 3464
+-65.252 43.708 3464
+-65.126 43.708 3464
+-128 43.656 3362
+-127.874 43.656 3305
+-127.748 43.656 3274
+-127.622 43.656 3358
+-127.496 43.656 3508
+-127.37 43.656 3628
+-127.244 43.656 3717
+-127.118 43.656 3741
+-126.992 43.656 3915
+-126.866 43.656 3856
+-126.74 43.656 3903
+-126.614 43.656 4010
+-126.488 43.656 4196
+-126.362 43.656 4411
+-126.236 43.656 4599
+-126.11 43.656 4767
+-125.984 43.656 4869
+-125.858 43.656 4914
+-125.732 43.656 4910
+-125.606 43.656 4998
+-125.48 43.656 5086
+-125.354 43.656 5135
+-125.228 43.656 5198
+-125.102 43.656 5223
+-124.976 43.656 5311
+-124.85 43.656 5400
+-124.724 43.656 5464
+-124.598 43.656 5525
+-124.472 43.656 5596
+-124.346 43.656 5653
+-124.22 43.656 5691
+-124.094 43.656 5744
+-123.968 43.656 5782
+-123.842 43.656 5833
+-123.716 43.656 5873
+-123.59 43.656 5859
+-123.464 43.656 5849
+-123.338 43.656 5868
+-123.212 43.656 5908
+-123.086 43.656 5914
+-122.96 43.656 5949
+-122.834 43.656 5975
+-122.708 43.656 5959
+-122.582 43.656 5929
+-122.456 43.656 5896
+-122.33 43.656 5895
+-122.204 43.656 5833
+-122.078 43.656 5833
+-121.952 43.656 5772
+-121.826 43.656 5745
+-121.7 43.656 5659
+-121.574 43.656 5600
+-121.448 43.656 5573
+-121.322 43.656 5563
+-121.196 43.656 5280
+-121.07 43.656 5423
+-120.944 43.656 5465
+-120.818 43.656 5521
+-120.692 43.656 5664
+-120.566 43.656 5749
+-120.44 43.656 5813
+-120.314 43.656 5931
+-120.188 43.656 6002
+-120.062 43.656 6100
+-119.936 43.656 6191
+-119.81 43.656 6228
+-119.684 43.656 6269
+-119.558 43.656 6366
+-119.432 43.656 6414
+-119.306 43.656 6494
+-119.18 43.656 6474
+-119.054 43.656 6521
+-118.928 43.656 6585
+-118.802 43.656 6600
+-118.676 43.656 6639
+-118.55 43.656 6640
+-118.424 43.656 6649
+-118.298 43.656 6658
+-118.172 43.656 6616
+-118.046 43.656 6623
+-117.92 43.656 6599
+-117.794 43.656 6586
+-117.668 43.656 6568
+-117.542 43.656 6524
+-117.416 43.656 6473
+-117.29 43.656 6430
+-117.164 43.656 6338
+-117.038 43.656 6257
+-116.912 43.656 6206
+-116.786 43.656 6121
+-116.66 43.656 6098
+-116.534 43.656 5999
+-116.408 43.656 5958
+-116.282 43.656 5862
+-116.156 43.656 5801
+-116.03 43.656 5731
+-115.904 43.656 5601
+-115.778 43.656 5514
+-115.652 43.656 5491
+-115.526 43.656 5388
+-115.4 43.656 5228
+-115.274 43.656 5100
+-115.148 43.656 4972
+-115.022 43.656 4838
+-114.896 43.656 4748
+-114.77 43.656 4677
+-114.644 43.656 4564
+-114.518 43.656 4475
+-114.392 43.656 4378
+-114.266 43.656 4245
+-114.14 43.656 4127
+-114.014 43.656 4166
+-113.888 43.656 4152
+-113.762 43.656 4084
+-113.636 43.656 4008
+-113.51 43.656 3915
+-113.384 43.656 3769
+-113.258 43.656 3584
+-113.132 43.656 3380
+-113.006 43.656 3138
+-112.88 43.656 3008
+-112.754 43.656 3081
+-112.628 43.656 3221
+-112.502 43.656 3341
+-112.376 43.656 3437
+-112.25 43.656 3483
+-112.124 43.656 3501
+-111.998 43.656 3489
+-111.872 43.656 3472
+-111.746 43.656 3479
+-111.62 43.656 3406
+-111.494 43.656 3407
+-111.368 43.656 3408
+-111.242 43.656 3344
+-111.116 43.656 3331
+-110.99 43.656 3332
+-110.864 43.656 3332
+-110.738 43.656 3302
+-110.612 43.656 3304
+-110.486 43.656 3220
+-110.36 43.656 3227
+-110.234 43.656 3202
+-110.108 43.656 3202
+-109.982 43.656 3203
+-109.856 43.656 3204
+-109.73 43.656 3256
+-109.604 43.656 3258
+-109.478 43.656 3226
+-109.352 43.656 3227
+-109.226 43.656 3229
+-109.1 43.656 3231
+-108.974 43.656 3232
+-108.848 43.656 3234
+-108.722 43.656 3236
+-108.596 43.656 3238
+-108.47 43.656 3240
+-108.344 43.656 3242
+-108.218 43.656 3109
+-108.092 43.656 3110
+-107.966 43.656 3111
+-107.84 43.656 3111
+-107.714 43.656 3112
+-107.588 43.656 3112
+-107.462 43.656 3113
+-107.336 43.656 3114
+-107.21 43.656 3114
+-107.084 43.656 2988
+-106.958 43.656 2981
+-106.832 43.656 2983
+-106.706 43.656 2896
+-106.58 43.656 2966
+-106.454 43.656 2968
+-106.328 43.656 2971
+-106.202 43.656 2973
+-106.076 43.656 2976
+-105.95 43.656 2978
+-105.824 43.656 2729
+-105.698 43.656 2721
+-105.572 43.656 2713
+-105.446 43.656 2705
+-105.32 43.656 2696
+-105.194 43.656 2687
+-105.068 43.656 2677
+-104.942 43.656 2667
+-104.816 43.656 2596
+-104.69 43.656 2446
+-104.564 43.656 2504
+-104.438 43.656 2294
+-104.312 43.656 2237
+-104.186 43.656 2271
+-104.06 43.656 2102
+-103.934 43.656 2193
+-103.808 43.656 2296
+-103.682 43.656 2342
+-103.556 43.656 2423
+-103.43 43.656 2572
+-103.304 43.656 2579
+-103.178 43.656 2571
+-103.052 43.656 2693
+-102.926 43.656 2689
+-102.8 43.656 2686
+-102.674 43.656 2683
+-102.548 43.656 2680
+-102.422 43.656 2677
+-102.296 43.656 2674
+-102.17 43.656 2670
+-102.044 43.656 2669
+-101.918 43.656 2822
+-101.792 43.656 2818
+-101.666 43.656 2814
+-101.54 43.656 2811
+-101.414 43.656 2796
+-101.288 43.656 2824
+-101.162 43.656 2829
+-101.036 43.656 2826
+-100.91 43.656 2866
+-100.784 43.656 2862
+-100.658 43.656 2841
+-100.532 43.656 2840
+-100.406 43.656 2839
+-100.28 43.656 2837
+-100.154 43.656 2836
+-100.028 43.656 2835
+-99.902 43.656 2880
+-99.776 43.656 2878
+-99.65 43.656 2876
+-99.524 43.656 2814
+-99.398 43.656 2813
+-99.272 43.656 2813
+-99.146 43.656 2818
+-99.02 43.656 2818
+-98.894 43.656 2818
+-98.768 43.656 2817
+-98.642 43.656 2816
+-98.516 43.656 2916
+-98.39 43.656 2915
+-98.264 43.656 2911
+-98.138 43.656 2906
+-98.012 43.656 2902
+-97.886 43.656 2910
+-97.76 43.656 2901
+-97.634 43.656 2876
+-97.508 43.656 2895
+-97.382 43.656 3035
+-97.256 43.656 3034
+-97.13 43.656 3016
+-97.004 43.656 2940
+-96.878 43.656 2926
+-96.752 43.656 2914
+-96.626 43.656 2902
+-96.5 43.656 2893
+-96.374 43.656 2887
+-96.248 43.656 2885
+-96.122 43.656 2886
+-95.996 43.656 2910
+-95.87 43.656 2927
+-95.744 43.656 2963
+-95.618 43.656 2986
+-95.492 43.656 3039
+-95.366 43.656 3032
+-95.24 43.656 3078
+-95.114 43.656 3113
+-94.988 43.656 3140
+-94.862 43.656 3176
+-94.736 43.656 3194
+-94.61 43.656 3204
+-94.484 43.656 3211
+-94.358 43.656 3195
+-94.232 43.656 3183
+-94.106 43.656 3134
+-93.98 43.656 3084
+-93.854 43.656 3042
+-93.728 43.656 3111
+-93.602 43.656 3262
+-93.476 43.656 3384
+-93.35 43.656 3441
+-93.224 43.656 3451
+-93.098 43.656 3486
+-92.972 43.656 3567
+-92.846 43.656 3600
+-92.72 43.656 3648
+-92.594 43.656 3722
+-92.468 43.656 3752
+-92.342 43.656 3814
+-92.216 43.656 3869
+-92.09 43.656 3924
+-91.964 43.656 3972
+-91.838 43.656 3999
+-91.712 43.656 4022
+-91.586 43.656 4030
+-91.46 43.656 4058
+-91.334 43.656 4094
+-91.208 43.656 4071
+-91.082 43.656 4101
+-90.956 43.656 4151
+-90.83 43.656 4132
+-90.704 43.656 4146
+-90.578 43.656 4168
+-90.452 43.656 4194
+-90.326 43.656 4208
+-90.2 43.656 4211
+-90.074 43.656 4204
+-89.948 43.656 4216
+-89.822 43.656 4199
+-89.696 43.656 4184
+-89.57 43.656 4152
+-89.444 43.656 4129
+-89.318 43.656 4094
+-89.192 43.656 4043
+-89.066 43.656 3991
+-88.94 43.656 3923
+-88.814 43.656 3862
+-88.688 43.656 3795
+-88.562 43.656 3763
+-88.436 43.656 3783
+-88.31 43.656 3793
+-88.184 43.656 3774
+-88.058 43.656 3720
+-87.932 43.656 3658
+-87.806 43.656 3563
+-87.68 43.656 3498
+-87.554 43.656 3481
+-87.428 43.656 3504
+-87.302 43.656 3521
+-87.176 43.656 3528
+-87.05 43.656 3519
+-86.924 43.656 3451
+-86.798 43.656 3324
+-86.672 43.656 3268
+-86.546 43.656 3186
+-86.42 43.656 3136
+-86.294 43.656 3094
+-86.168 43.656 3040
+-86.042 43.656 2957
+-85.916 43.656 2815
+-85.79 43.656 2787
+-85.664 43.656 2761
+-85.538 43.656 2739
+-85.412 43.656 2721
+-85.286 43.656 2714
+-85.16 43.656 2701
+-85.034 43.656 2698
+-84.908 43.656 2697
+-84.782 43.656 2656
+-84.656 43.656 2674
+-84.53 43.656 2680
+-84.404 43.656 2686
+-84.278 43.656 2649
+-84.152 43.656 2655
+-84.026 43.656 2702
+-83.9 43.656 2670
+-83.774 43.656 2682
+-83.648 43.656 2685
+-83.522 43.656 2694
+-83.396 43.656 2700
+-83.27 43.656 2705
+-83.144 43.656 2710
+-83.018 43.656 2725
+-82.892 43.656 2719
+-82.766 43.656 2758
+-82.64 43.656 2765
+-82.514 43.656 2765
+-82.388 43.656 2773
+-82.262 43.656 2778
+-82.136 43.656 2784
+-82.01 43.656 2780
+-81.884 43.656 2863
+-81.758 43.656 2869
+-81.632 43.656 2875
+-81.506 43.656 2880
+-81.38 43.656 2963
+-81.254 43.656 2932
+-81.128 43.656 3040
+-81.002 43.656 3045
+-80.876 43.656 3024
+-80.75 43.656 3029
+-80.624 43.656 3033
+-80.498 43.656 3037
+-80.372 43.656 3041
+-80.246 43.656 3044
+-80.12 43.656 3114
+-79.994 43.656 3114
+-79.868 43.656 3119
+-79.742 43.656 3123
+-79.616 43.656 3128
+-79.49 43.656 3085
+-79.364 43.656 3110
+-79.238 43.656 3115
+-79.112 43.656 3170
+-78.986 43.656 3104
+-78.86 43.656 3108
+-78.734 43.656 3112
+-78.608 43.656 3149
+-78.482 43.656 3116
+-78.356 43.656 3119
+-78.23 43.656 3123
+-78.104 43.656 3324
+-77.978 43.656 3282
+-77.852 43.656 3285
+-77.726 43.656 3404
+-77.6 43.656 3384
+-77.474 43.656 3387
+-77.348 43.656 3342
+-77.222 43.656 3413
+-77.096 43.656 3415
+-76.97 43.656 3418
+-76.844 43.656 3420
+-76.718 43.656 3423
+-76.592 43.656 3422
+-76.466 43.656 3424
+-76.34 43.656 3426
+-76.214 43.656 3416
+-76.088 43.656 3369
+-75.962 43.656 3365
+-75.836 43.656 3367
+-75.71 43.656 3369
+-75.584 43.656 3370
+-75.458 43.656 3372
+-75.332 43.656 3374
+-75.206 43.656 3375
+-75.08 43.656 3377
+-74.954 43.656 3378
+-74.828 43.656 3380
+-74.702 43.656 3381
+-74.576 43.656 3383
+-74.45 43.656 3384
+-74.324 43.656 3385
+-74.198 43.656 3387
+-74.072 43.656 3492
+-73.946 43.656 3493
+-73.82 43.656 3480
+-73.694 43.656 3481
+-73.568 43.656 3482
+-73.442 43.656 3483
+-73.316 43.656 3484
+-73.19 43.656 3485
+-73.064 43.656 3486
+-72.938 43.656 3487
+-72.812 43.656 3488
+-72.686 43.656 3489
+-72.56 43.656 3490
+-72.434 43.656 3522
+-72.308 43.656 3524
+-72.182 43.656 3525
+-72.056 43.656 3526
+-71.93 43.656 3527
+-71.804 43.656 3528
+-71.678 43.656 3490
+-71.552 43.656 3491
+-71.426 43.656 3492
+-71.3 43.656 3493
+-71.174 43.656 3527
+-71.048 43.656 3528
+-70.922 43.656 3529
+-70.796 43.656 3485
+-70.67 43.656 3485
+-70.544 43.656 3486
+-70.418 43.656 3623
+-70.292 43.656 3623
+-70.166 43.656 3624
+-70.04 43.656 3624
+-69.914 43.656 3625
+-69.788 43.656 3560
+-69.662 43.656 3560
+-69.536 43.656 3560
+-69.41 43.656 3561
+-69.284 43.656 3561
+-69.158 43.656 3561
+-69.032 43.656 3561
+-68.906 43.656 3562
+-68.78 43.656 3562
+-68.654 43.656 3562
+-68.528 43.656 3543
+-68.402 43.656 3530
+-68.276 43.656 3531
+-68.15 43.656 3531
+-68.024 43.656 3531
+-67.898 43.656 3531
+-67.772 43.656 3513
+-67.646 43.656 3513
+-67.52 43.656 3513
+-67.394 43.656 3514
+-67.268 43.656 3514
+-67.142 43.656 3514
+-67.016 43.656 3514
+-66.89 43.656 3514
+-66.764 43.656 3514
+-66.638 43.656 3463
+-66.512 43.656 3463
+-66.386 43.656 3463
+-66.26 43.656 3463
+-66.134 43.656 3463
+-66.008 43.656 3463
+-65.882 43.656 3463
+-65.756 43.656 3464
+-65.63 43.656 3464
+-65.504 43.656 3464
+-65.378 43.656 3464
+-65.252 43.656 3464
+-65.126 43.656 3464
+-128 43.604 3338
+-127.874 43.604 3246
+-127.748 43.604 3128
+-127.622 43.604 3291
+-127.496 43.604 3470
+-127.37 43.604 3580
+-127.244 43.604 3671
+-127.118 43.604 3741
+-126.992 43.604 3810
+-126.866 43.604 3831
+-126.74 43.604 3859
+-126.614 43.604 3986
+-126.488 43.604 4239
+-126.362 43.604 4357
+-126.236 43.604 4544
+-126.11 43.604 4726
+-125.984 43.604 4817
+-125.858 43.604 4854
+-125.732 43.604 4789
+-125.606 43.604 4910
+-125.48 43.604 5048
+-125.354 43.604 5121
+-125.228 43.604 5179
+-125.102 43.604 5214
+-124.976 43.604 5270
+-124.85 43.604 5327
+-124.724 43.604 5398
+-124.598 43.604 5456
+-124.472 43.604 5540
+-124.346 43.604 5593
+-124.22 43.604 5635
+-124.094 43.604 5687
+-123.968 43.604 5721
+-123.842 43.604 5723
+-123.716 43.604 5781
+-123.59 43.604 5815
+-123.464 43.604 5794
+-123.338 43.604 5798
+-123.212 43.604 5830
+-123.086 43.604 5857
+-122.96 43.604 5871
+-122.834 43.604 5881
+-122.708 43.604 5871
+-122.582 43.604 5835
+-122.456 43.604 5814
+-122.33 43.604 5812
+-122.204 43.604 5790
+-122.078 43.604 5781
+-121.952 43.604 5755
+-121.826 43.604 5697
+-121.7 43.604 5622
+-121.574 43.604 5559
+-121.448 43.604 5521
+-121.322 43.604 5498
+-121.196 43.604 5397
+-121.07 43.604 5368
+-120.944 43.604 5408
+-120.818 43.604 5522
+-120.692 43.604 5625
+-120.566 43.604 5714
+-120.44 43.604 5795
+-120.314 43.604 5912
+-120.188 43.604 5992
+-120.062 43.604 6025
+-119.936 43.604 6127
+-119.81 43.604 6170
+-119.684 43.604 6222
+-119.558 43.604 6297
+-119.432 43.604 6359
+-119.306 43.604 6383
+-119.18 43.604 6445
+-119.054 43.604 6483
+-118.928 43.604 6500
+-118.802 43.604 6537
+-118.676 43.604 6559
+-118.55 43.604 6585
+-118.424 43.604 6584
+-118.298 43.604 6584
+-118.172 43.604 6582
+-118.046 43.604 6567
+-117.92 43.604 6541
+-117.794 43.604 6551
+-117.668 43.604 6508
+-117.542 43.604 6466
+-117.416 43.604 6411
+-117.29 43.604 6347
+-117.164 43.604 6281
+-117.038 43.604 6241
+-116.912 43.604 6167
+-116.786 43.604 6123
+-116.66 43.604 6014
+-116.534 43.604 5974
+-116.408 43.604 5902
+-116.282 43.604 5813
+-116.156 43.604 5726
+-116.03 43.604 5678
+-115.904 43.604 5592
+-115.778 43.604 5520
+-115.652 43.604 5440
+-115.526 43.604 5320
+-115.4 43.604 5210
+-115.274 43.604 5085
+-115.148 43.604 4942
+-115.022 43.604 4782
+-114.896 43.604 4745
+-114.77 43.604 4661
+-114.644 43.604 4547
+-114.518 43.604 4409
+-114.392 43.604 4299
+-114.266 43.604 4209
+-114.14 43.604 4176
+-114.014 43.604 4153
+-113.888 43.604 4116
+-113.762 43.604 4027
+-113.636 43.604 3933
+-113.51 43.604 3777
+-113.384 43.604 3657
+-113.258 43.604 3521
+-113.132 43.604 3314
+-113.006 43.604 3031
+-112.88 43.604 2880
+-112.754 43.604 2993
+-112.628 43.604 3180
+-112.502 43.604 3305
+-112.376 43.604 3407
+-112.25 43.604 3429
+-112.124 43.604 3443
+-111.998 43.604 3471
+-111.872 43.604 3405
+-111.746 43.604 3382
+-111.62 43.604 3385
+-111.494 43.604 3387
+-111.368 43.604 3388
+-111.242 43.604 3320
+-111.116 43.604 3321
+-110.99 43.604 3309
+-110.864 43.604 3309
+-110.738 43.604 3310
+-110.612 43.604 3281
+-110.486 43.604 3283
+-110.36 43.604 3202
+-110.234 43.604 3209
+-110.108 43.604 3185
+-109.982 43.604 3187
+-109.856 43.604 3188
+-109.73 43.604 3190
+-109.604 43.604 3243
+-109.478 43.604 3246
+-109.352 43.604 3214
+-109.226 43.604 3216
+-109.1 43.604 3219
+-108.974 43.604 3221
+-108.848 43.604 3223
+-108.722 43.604 3226
+-108.596 43.604 3228
+-108.47 43.604 3231
+-108.344 43.604 3233
+-108.218 43.604 3235
+-108.092 43.604 3101
+-107.966 43.604 3102
+-107.84 43.604 3103
+-107.714 43.604 3104
+-107.588 43.604 3105
+-107.462 43.604 3106
+-107.336 43.604 3107
+-107.21 43.604 3107
+-107.084 43.604 3108
+-106.958 43.604 2983
+-106.832 43.604 2976
+-106.706 43.604 2888
+-106.58 43.604 2890
+-106.454 43.604 2892
+-106.328 43.604 2894
+-106.202 43.604 2896
+-106.076 43.604 2898
+-105.95 43.604 2900
+-105.824 43.604 2718
+-105.698 43.604 2710
+-105.572 43.604 2702
+-105.446 43.604 2694
+-105.32 43.604 2685
+-105.194 43.604 2676
+-105.068 43.604 2666
+-104.942 43.604 2655
+-104.816 43.604 2585
+-104.69 43.604 2412
+-104.564 43.604 2492
+-104.438 43.604 2284
+-104.312 43.604 2228
+-104.186 43.604 2263
+-104.06 43.604 2086
+-103.934 43.604 2081
+-103.808 43.604 2293
+-103.682 43.604 2408
+-103.556 43.604 2422
+-103.43 43.604 2512
+-103.304 43.604 2568
+-103.178 43.604 2649
+-103.052 43.604 2646
+-102.926 43.604 2686
+-102.8 43.604 2683
+-102.674 43.604 2679
+-102.548 43.604 2676
+-102.422 43.604 2673
+-102.296 43.604 2669
+-102.17 43.604 2666
+-102.044 43.604 2663
+-101.918 43.604 2662
+-101.792 43.604 2814
+-101.666 43.604 2810
+-101.54 43.604 2806
+-101.414 43.604 2802
+-101.288 43.604 2789
+-101.162 43.604 2815
+-101.036 43.604 2820
+-100.91 43.604 2817
+-100.784 43.604 2857
+-100.658 43.604 2853
+-100.532 43.604 2834
+-100.406 43.604 2832
+-100.28 43.604 2831
+-100.154 43.604 2829
+-100.028 43.604 2828
+-99.902 43.604 2827
+-99.776 43.604 2871
+-99.65 43.604 2870
+-99.524 43.604 2868
+-99.398 43.604 2806
+-99.272 43.604 2806
+-99.146 43.604 2805
+-99.02 43.604 2811
+-98.894 43.604 2810
+-98.768 43.604 2810
+-98.642 43.604 2809
+-98.516 43.604 2808
+-98.39 43.604 2905
+-98.264 43.604 2903
+-98.138 43.604 2898
+-98.012 43.604 2893
+-97.886 43.604 2894
+-97.76 43.604 2893
+-97.634 43.604 2882
+-97.508 43.604 2856
+-97.382 43.604 2872
+-97.256 43.604 3000
+-97.13 43.604 2994
+-97.004 43.604 2973
+-96.878 43.604 2899
+-96.752 43.604 2882
+-96.626 43.604 2866
+-96.5 43.604 2852
+-96.374 43.604 2841
+-96.248 43.604 2835
+-96.122 43.604 2835
+-95.996 43.604 2842
+-95.87 43.604 2872
+-95.744 43.604 2899
+-95.618 43.604 2944
+-95.492 43.604 2978
+-95.366 43.604 3040
+-95.24 43.604 3042
+-95.114 43.604 3093
+-94.988 43.604 3132
+-94.862 43.604 3184
+-94.736 43.604 3196
+-94.61 43.604 3212
+-94.484 43.604 3217
+-94.358 43.604 3221
+-94.232 43.604 3200
+-94.106 43.604 3181
+-93.98 43.604 3144
+-93.854 43.604 3119
+-93.728 43.604 3201
+-93.602 43.604 3336
+-93.476 43.604 3426
+-93.35 43.604 3458
+-93.224 43.604 3434
+-93.098 43.604 3501
+-92.972 43.604 3596
+-92.846 43.604 3631
+-92.72 43.604 3705
+-92.594 43.604 3754
+-92.468 43.604 3777
+-92.342 43.604 3846
+-92.216 43.604 3910
+-92.09 43.604 3970
+-91.964 43.604 4030
+-91.838 43.604 4058
+-91.712 43.604 4071
+-91.586 43.604 4075
+-91.46 43.604 4079
+-91.334 43.604 4090
+-91.208 43.604 4103
+-91.082 43.604 4126
+-90.956 43.604 4147
+-90.83 43.604 4169
+-90.704 43.604 4202
+-90.578 43.604 4244
+-90.452 43.604 4271
+-90.326 43.604 4292
+-90.2 43.604 4288
+-90.074 43.604 4289
+-89.948 43.604 4269
+-89.822 43.604 4268
+-89.696 43.604 4251
+-89.57 43.604 4212
+-89.444 43.604 4183
+-89.318 43.604 4172
+-89.192 43.604 4131
+-89.066 43.604 4083
+-88.94 43.604 4019
+-88.814 43.604 3940
+-88.688 43.604 3857
+-88.562 43.604 3814
+-88.436 43.604 3822
+-88.31 43.604 3818
+-88.184 43.604 3795
+-88.058 43.604 3754
+-87.932 43.604 3727
+-87.806 43.604 3672
+-87.68 43.604 3637
+-87.554 43.604 3613
+-87.428 43.604 3572
+-87.302 43.604 3567
+-87.176 43.604 3573
+-87.05 43.604 3555
+-86.924 43.604 3444
+-86.798 43.604 3402
+-86.672 43.604 3331
+-86.546 43.604 3288
+-86.42 43.604 3168
+-86.294 43.604 3134
+-86.168 43.604 3054
+-86.042 43.604 2980
+-85.916 43.604 2951
+-85.79 43.604 2923
+-85.664 43.604 2897
+-85.538 43.604 2874
+-85.412 43.604 2781
+-85.286 43.604 2776
+-85.16 43.604 2765
+-85.034 43.604 2757
+-84.908 43.604 2719
+-84.782 43.604 2718
+-84.656 43.604 2718
+-84.53 43.604 2719
+-84.404 43.604 2717
+-84.278 43.604 2720
+-84.152 43.604 2723
+-84.026 43.604 2689
+-83.9 43.604 2698
+-83.774 43.604 2700
+-83.648 43.604 2707
+-83.522 43.604 2711
+-83.396 43.604 2715
+-83.27 43.604 2720
+-83.144 43.604 2733
+-83.018 43.604 2727
+-82.892 43.604 2765
+-82.766 43.604 2771
+-82.64 43.604 2771
+-82.514 43.604 2778
+-82.388 43.604 2784
+-82.262 43.604 2789
+-82.136 43.604 2785
+-82.01 43.604 2866
+-81.884 43.604 2872
+-81.758 43.604 2877
+-81.632 43.604 2883
+-81.506 43.604 2964
+-81.38 43.604 2934
+-81.254 43.604 3038
+-81.128 43.604 3043
+-81.002 43.604 3023
+-80.876 43.604 3027
+-80.75 43.604 3031
+-80.624 43.604 3036
+-80.498 43.604 3040
+-80.372 43.604 3043
+-80.246 43.604 3112
+-80.12 43.604 3113
+-79.994 43.604 3118
+-79.868 43.604 3122
+-79.742 43.604 3126
+-79.616 43.604 3084
+-79.49 43.604 3109
+-79.364 43.604 3114
+-79.238 43.604 3169
+-79.112 43.604 3104
+-78.986 43.604 3108
+-78.86 43.604 3112
+-78.734 43.604 3148
+-78.608 43.604 3115
+-78.482 43.604 3119
+-78.356 43.604 3123
+-78.23 43.604 3322
+-78.104 43.604 3280
+-77.978 43.604 3283
+-77.852 43.604 3402
+-77.726 43.604 3382
+-77.6 43.604 3385
+-77.474 43.604 3340
+-77.348 43.604 3412
+-77.222 43.604 3414
+-77.096 43.604 3416
+-76.97 43.604 3419
+-76.844 43.604 3421
+-76.718 43.604 3420
+-76.592 43.604 3423
+-76.466 43.604 3425
+-76.34 43.604 3414
+-76.214 43.604 3368
+-76.088 43.604 3364
+-75.962 43.604 3366
+-75.836 43.604 3368
+-75.71 43.604 3370
+-75.584 43.604 3371
+-75.458 43.604 3373
+-75.332 43.604 3375
+-75.206 43.604 3376
+-75.08 43.604 3378
+-74.954 43.604 3379
+-74.828 43.604 3381
+-74.702 43.604 3382
+-74.576 43.604 3384
+-74.45 43.604 3385
+-74.324 43.604 3386
+-74.198 43.604 3491
+-74.072 43.604 3492
+-73.946 43.604 3479
+-73.82 43.604 3480
+-73.694 43.604 3481
+-73.568 43.604 3482
+-73.442 43.604 3483
+-73.316 43.604 3484
+-73.19 43.604 3485
+-73.064 43.604 3486
+-72.938 43.604 3487
+-72.812 43.604 3488
+-72.686 43.604 3489
+-72.56 43.604 3522
+-72.434 43.604 3523
+-72.308 43.604 3524
+-72.182 43.604 3525
+-72.056 43.604 3527
+-71.93 43.604 3528
+-71.804 43.604 3490
+-71.678 43.604 3491
+-71.552 43.604 3492
+-71.426 43.604 3493
+-71.3 43.604 3526
+-71.174 43.604 3527
+-71.048 43.604 3529
+-70.922 43.604 3484
+-70.796 43.604 3485
+-70.67 43.604 3486
+-70.544 43.604 3622
+-70.418 43.604 3623
+-70.292 43.604 3623
+-70.166 43.604 3624
+-70.04 43.604 3624
+-69.914 43.604 3560
+-69.788 43.604 3560
+-69.662 43.604 3560
+-69.536 43.604 3560
+-69.41 43.604 3561
+-69.284 43.604 3561
+-69.158 43.604 3561
+-69.032 43.604 3561
+-68.906 43.604 3562
+-68.78 43.604 3562
+-68.654 43.604 3543
+-68.528 43.604 3530
+-68.402 43.604 3530
+-68.276 43.604 3531
+-68.15 43.604 3531
+-68.024 43.604 3531
+-67.898 43.604 3531
+-67.772 43.604 3513
+-67.646 43.604 3513
+-67.52 43.604 3513
+-67.394 43.604 3514
+-67.268 43.604 3514
+-67.142 43.604 3514
+-67.016 43.604 3514
+-66.89 43.604 3514
+-66.764 43.604 3462
+-66.638 43.604 3463
+-66.512 43.604 3463
+-66.386 43.604 3463
+-66.26 43.604 3463
+-66.134 43.604 3463
+-66.008 43.604 3463
+-65.882 43.604 3463
+-65.756 43.604 3464
+-65.63 43.604 3464
+-65.504 43.604 3464
+-65.378 43.604 3464
+-65.252 43.604 3464
+-65.126 43.604 3382
+-128 43.552 3335
+-127.874 43.552 3285
+-127.748 43.552 3248
+-127.622 43.552 3334
+-127.496 43.552 3450
+-127.37 43.552 3526
+-127.244 43.552 3564
+-127.118 43.552 3638
+-126.992 43.552 3726
+-126.866 43.552 3803
+-126.74 43.552 3870
+-126.614 43.552 3988
+-126.488 43.552 4229
+-126.362 43.552 4359
+-126.236 43.552 4490
+-126.11 43.552 4646
+-125.984 43.552 4749
+-125.858 43.552 4811
+-125.732 43.552 4807
+-125.606 43.552 4874
+-125.48 43.552 4977
+-125.354 43.552 5106
+-125.228 43.552 5154
+-125.102 43.552 5152
+-124.976 43.552 5231
+-124.85 43.552 5265
+-124.724 43.552 5344
+-124.598 43.552 5442
+-124.472 43.552 5472
+-124.346 43.552 5549
+-124.22 43.552 5607
+-124.094 43.552 5622
+-123.968 43.552 5679
+-123.842 43.552 5702
+-123.716 43.552 5742
+-123.59 43.552 5750
+-123.464 43.552 5750
+-123.338 43.552 5745
+-123.212 43.552 5778
+-123.086 43.552 5814
+-122.96 43.552 5804
+-122.834 43.552 5788
+-122.708 43.552 5784
+-122.582 43.552 5759
+-122.456 43.552 5758
+-122.33 43.552 5728
+-122.204 43.552 5712
+-122.078 43.552 5704
+-121.952 43.552 5681
+-121.826 43.552 5626
+-121.7 43.552 5590
+-121.574 43.552 5526
+-121.448 43.552 5460
+-121.322 43.552 5404
+-121.196 43.552 5339
+-121.07 43.552 5301
+-120.944 43.552 5370
+-120.818 43.552 5452
+-120.692 43.552 5580
+-120.566 43.552 5639
+-120.44 43.552 5745
+-120.314 43.552 5869
+-120.188 43.552 5958
+-120.062 43.552 6017
+-119.936 43.552 6062
+-119.81 43.552 6125
+-119.684 43.552 6156
+-119.558 43.552 6227
+-119.432 43.552 6295
+-119.306 43.552 6359
+-119.18 43.552 6387
+-119.054 43.552 6463
+-118.928 43.552 6439
+-118.802 43.552 6463
+-118.676 43.552 6490
+-118.55 43.552 6521
+-118.424 43.552 6536
+-118.298 43.552 6552
+-118.172 43.552 6534
+-118.046 43.552 6526
+-117.92 43.552 6501
+-117.794 43.552 6470
+-117.668 43.552 6443
+-117.542 43.552 6403
+-117.416 43.552 6340
+-117.29 43.552 6317
+-117.164 43.552 6272
+-117.038 43.552 6205
+-116.912 43.552 6122
+-116.786 43.552 6054
+-116.66 43.552 5993
+-116.534 43.552 5914
+-116.408 43.552 5847
+-116.282 43.552 5813
+-116.156 43.552 5708
+-116.03 43.552 5592
+-115.904 43.552 5579
+-115.778 43.552 5475
+-115.652 43.552 5336
+-115.526 43.552 5220
+-115.4 43.552 5181
+-115.274 43.552 5069
+-115.148 43.552 4907
+-115.022 43.552 4773
+-114.896 43.552 4678
+-114.77 43.552 4580
+-114.644 43.552 4501
+-114.518 43.552 4350
+-114.392 43.552 4218
+-114.266 43.552 4134
+-114.14 43.552 4159
+-114.014 43.552 4120
+-113.888 43.552 4050
+-113.762 43.552 3946
+-113.636 43.552 3796
+-113.51 43.552 3695
+-113.384 43.552 3591
+-113.258 43.552 3477
+-113.132 43.552 3337
+-113.006 43.552 3137
+-112.88 43.552 3014
+-112.754 43.552 3085
+-112.628 43.552 3201
+-112.502 43.552 3285
+-112.376 43.552 3361
+-112.25 43.552 3415
+-112.124 43.552 3446
+-111.998 43.552 3405
+-111.872 43.552 3387
+-111.746 43.552 3362
+-111.62 43.552 3365
+-111.494 43.552 3366
+-111.368 43.552 3367
+-111.242 43.552 3366
+-111.116 43.552 3296
+-110.99 43.552 3298
+-110.864 43.552 3286
+-110.738 43.552 3287
+-110.612 43.552 3289
+-110.486 43.552 3260
+-110.36 43.552 3264
+-110.234 43.552 3185
+-110.108 43.552 3192
+-109.982 43.552 3170
+-109.856 43.552 3172
+-109.73 43.552 3175
+-109.604 43.552 3177
+-109.478 43.552 3230
+-109.352 43.552 3234
+-109.226 43.552 3203
+-109.1 43.552 3206
+-108.974 43.552 3209
+-108.848 43.552 3212
+-108.722 43.552 3215
+-108.596 43.552 3218
+-108.47 43.552 3221
+-108.344 43.552 3224
+-108.218 43.552 3226
+-108.092 43.552 3229
+-107.966 43.552 3093
+-107.84 43.552 3094
+-107.714 43.552 3095
+-107.588 43.552 3097
+-107.462 43.552 3098
+-107.336 43.552 3099
+-107.21 43.552 3100
+-107.084 43.552 3101
+-106.958 43.552 2915
+-106.832 43.552 2978
+-106.706 43.552 2971
+-106.58 43.552 2882
+-106.454 43.552 2884
+-106.328 43.552 2886
+-106.202 43.552 2888
+-106.076 43.552 2891
+-105.95 43.552 2893
+-105.824 43.552 2707
+-105.698 43.552 2700
+-105.572 43.552 2692
+-105.446 43.552 2683
+-105.32 43.552 2674
+-105.194 43.552 2664
+-105.068 43.552 2654
+-104.942 43.552 2644
+-104.816 43.552 2411
+-104.69 43.552 2399
+-104.564 43.552 2371
+-104.438 43.552 2264
+-104.312 43.552 2208
+-104.186 43.552 1991
+-104.06 43.552 2081
+-103.934 43.552 2076
+-103.808 43.552 2107
+-103.682 43.552 2304
+-103.556 43.552 2420
+-103.43 43.552 2510
+-103.304 43.552 2508
+-103.178 43.552 2587
+-103.052 43.552 2642
+-102.926 43.552 2639
+-102.8 43.552 2679
+-102.674 43.552 2675
+-102.548 43.552 2672
+-102.422 43.552 2668
+-102.296 43.552 2665
+-102.17 43.552 2661
+-102.044 43.552 2658
+-101.918 43.552 2655
+-101.792 43.552 2655
+-101.666 43.552 2806
+-101.54 43.552 2802
+-101.414 43.552 2798
+-101.288 43.552 2794
+-101.162 43.552 2780
+-101.036 43.552 2806
+-100.91 43.552 2811
+-100.784 43.552 2808
+-100.658 43.552 2847
+-100.532 43.552 2843
+-100.406 43.552 2825
+-100.28 43.552 2824
+-100.154 43.552 2822
+-100.028 43.552 2821
+-99.902 43.552 2820
+-99.776 43.552 2819
+-99.65 43.552 2862
+-99.524 43.552 2861
+-99.398 43.552 2859
+-99.272 43.552 2799
+-99.146 43.552 2798
+-99.02 43.552 2798
+-98.894 43.552 2803
+-98.768 43.552 2803
+-98.642 43.552 2802
+-98.516 43.552 2801
+-98.39 43.552 2799
+-98.264 43.552 2893
+-98.138 43.552 2891
+-98.012 43.552 2885
+-97.886 43.552 2877
+-97.76 43.552 2870
+-97.634 43.552 2874
+-97.508 43.552 2861
+-97.382 43.552 2833
+-97.256 43.552 2845
+-97.13 43.552 2958
+-97.004 43.552 2948
+-96.878 43.552 2921
+-96.752 43.552 2848
+-96.626 43.552 2827
+-96.5 43.552 2807
+-96.374 43.552 2789
+-96.248 43.552 2777
+-96.122 43.552 2772
+-95.996 43.552 2776
+-95.87 43.552 2793
+-95.744 43.552 2834
+-95.618 43.552 2874
+-95.492 43.552 2933
+-95.366 43.552 2979
+-95.24 43.552 3052
+-95.114 43.552 3061
+-94.988 43.552 3117
+-94.862 43.552 3158
+-94.736 43.552 3210
+-94.61 43.552 3222
+-94.484 43.552 3236
+-94.358 43.552 3264
+-94.232 43.552 3245
+-94.106 43.552 3251
+-93.98 43.552 3265
+-93.854 43.552 3280
+-93.728 43.552 3338
+-93.602 43.552 3423
+-93.476 43.552 3486
+-93.35 43.552 3509
+-93.224 43.552 3501
+-93.098 43.552 3561
+-92.972 43.552 3637
+-92.846 43.552 3692
+-92.72 43.552 3743
+-92.594 43.552 3779
+-92.468 43.552 3826
+-92.342 43.552 3898
+-92.216 43.552 3970
+-92.09 43.552 4052
+-91.964 43.552 4098
+-91.838 43.552 4132
+-91.712 43.552 4138
+-91.586 43.552 4128
+-91.46 43.552 4124
+-91.334 43.552 4125
+-91.208 43.552 4136
+-91.082 43.552 4155
+-90.956 43.552 4181
+-90.83 43.552 4221
+-90.704 43.552 4271
+-90.578 43.552 4298
+-90.452 43.552 4319
+-90.326 43.552 4329
+-90.2 43.552 4328
+-90.074 43.552 4325
+-89.948 43.552 4326
+-89.822 43.552 4316
+-89.696 43.552 4302
+-89.57 43.552 4237
+-89.444 43.552 4183
+-89.318 43.552 4210
+-89.192 43.552 4210
+-89.066 43.552 4169
+-88.94 43.552 4134
+-88.814 43.552 4057
+-88.688 43.552 3963
+-88.562 43.552 3919
+-88.436 43.552 3906
+-88.31 43.552 3876
+-88.184 43.552 3812
+-88.058 43.552 3758
+-87.932 43.552 3759
+-87.806 43.552 3743
+-87.68 43.552 3715
+-87.554 43.552 3694
+-87.428 43.552 3677
+-87.302 43.552 3617
+-87.176 43.552 3591
+-87.05 43.552 3562
+-86.924 43.552 3448
+-86.798 43.552 3381
+-86.672 43.552 3374
+-86.546 43.552 3291
+-86.42 43.552 3262
+-86.294 43.552 3189
+-86.168 43.552 3162
+-86.042 43.552 3093
+-85.916 43.552 3062
+-85.79 43.552 3035
+-85.664 43.552 2948
+-85.538 43.552 2919
+-85.412 43.552 2911
+-85.286 43.552 2894
+-85.16 43.552 2816
+-85.034 43.552 2771
+-84.908 43.552 2764
+-84.782 43.552 2758
+-84.656 43.552 2754
+-84.53 43.552 2748
+-84.404 43.552 2747
+-84.278 43.552 2747
+-84.152 43.552 2709
+-84.026 43.552 2716
+-83.9 43.552 2716
+-83.774 43.552 2721
+-83.648 43.552 2724
+-83.522 43.552 2726
+-83.396 43.552 2729
+-83.27 43.552 2742
+-83.144 43.552 2735
+-83.018 43.552 2772
+-82.892 43.552 2777
+-82.766 43.552 2777
+-82.64 43.552 2784
+-82.514 43.552 2789
+-82.388 43.552 2794
+-82.262 43.552 2791
+-82.136 43.552 2868
+-82.01 43.552 2874
+-81.884 43.552 2880
+-81.758 43.552 2885
+-81.632 43.552 2964
+-81.506 43.552 2935
+-81.38 43.552 3036
+-81.254 43.552 3041
+-81.128 43.552 3021
+-81.002 43.552 3026
+-80.876 43.552 3030
+-80.75 43.552 3034
+-80.624 43.552 3039
+-80.498 43.552 3042
+-80.372 43.552 3110
+-80.246 43.552 3111
+-80.12 43.552 3116
+-79.994 43.552 3121
+-79.868 43.552 3125
+-79.742 43.552 3083
+-79.616 43.552 3108
+-79.49 43.552 3113
+-79.364 43.552 3168
+-79.238 43.552 3103
+-79.112 43.552 3107
+-78.986 43.552 3111
+-78.86 43.552 3148
+-78.734 43.552 3115
+-78.608 43.552 3119
+-78.482 43.552 3122
+-78.356 43.552 3320
+-78.23 43.552 3278
+-78.104 43.552 3281
+-77.978 43.552 3400
+-77.852 43.552 3380
+-77.726 43.552 3383
+-77.6 43.552 3339
+-77.474 43.552 3410
+-77.348 43.552 3412
+-77.222 43.552 3415
+-77.096 43.552 3417
+-76.97 43.552 3420
+-76.844 43.552 3419
+-76.718 43.552 3422
+-76.592 43.552 3424
+-76.466 43.552 3413
+-76.34 43.552 3367
+-76.214 43.552 3363
+-76.088 43.552 3365
+-75.962 43.552 3367
+-75.836 43.552 3369
+-75.71 43.552 3371
+-75.584 43.552 3373
+-75.458 43.552 3374
+-75.332 43.552 3376
+-75.206 43.552 3377
+-75.08 43.552 3379
+-74.954 43.552 3380
+-74.828 43.552 3382
+-74.702 43.552 3383
+-74.576 43.552 3385
+-74.45 43.552 3386
+-74.324 43.552 3490
+-74.198 43.552 3492
+-74.072 43.552 3478
+-73.946 43.552 3480
+-73.82 43.552 3481
+-73.694 43.552 3482
+-73.568 43.552 3483
+-73.442 43.552 3484
+-73.316 43.552 3485
+-73.19 43.552 3486
+-73.064 43.552 3487
+-72.938 43.552 3488
+-72.812 43.552 3489
+-72.686 43.552 3521
+-72.56 43.552 3522
+-72.434 43.552 3524
+-72.308 43.552 3525
+-72.182 43.552 3526
+-72.056 43.552 3527
+-71.93 43.552 3489
+-71.804 43.552 3490
+-71.678 43.552 3491
+-71.552 43.552 3492
+-71.426 43.552 3526
+-71.3 43.552 3527
+-71.174 43.552 3528
+-71.048 43.552 3484
+-70.922 43.552 3485
+-70.796 43.552 3486
+-70.67 43.552 3622
+-70.544 43.552 3622
+-70.418 43.552 3623
+-70.292 43.552 3623
+-70.166 43.552 3624
+-70.04 43.552 3559
+-69.914 43.552 3560
+-69.788 43.552 3560
+-69.662 43.552 3560
+-69.536 43.552 3561
+-69.41 43.552 3561
+-69.284 43.552 3561
+-69.158 43.552 3561
+-69.032 43.552 3561
+-68.906 43.552 3562
+-68.78 43.552 3542
+-68.654 43.552 3530
+-68.528 43.552 3530
+-68.402 43.552 3530
+-68.276 43.552 3531
+-68.15 43.552 3531
+-68.024 43.552 3513
+-67.898 43.552 3513
+-67.772 43.552 3513
+-67.646 43.552 3513
+-67.52 43.552 3513
+-67.394 43.552 3514
+-67.268 43.552 3514
+-67.142 43.552 3514
+-67.016 43.552 3514
+-66.89 43.552 3462
+-66.764 43.552 3462
+-66.638 43.552 3463
+-66.512 43.552 3463
+-66.386 43.552 3463
+-66.26 43.552 3463
+-66.134 43.552 3463
+-66.008 43.552 3463
+-65.882 43.552 3464
+-65.756 43.552 3464
+-65.63 43.552 3464
+-65.504 43.552 3464
+-65.378 43.552 3464
+-65.252 43.552 3382
+-65.126 43.552 3382
+-128 43.5 3333
+-127.874 43.5 3309
+-127.748 43.5 3316
+-127.622 43.5 3352
+-127.496 43.5 3410
+-127.37 43.5 3485
+-127.244 43.5 3497
+-127.118 43.5 3564
+-126.992 43.5 3676
+-126.866 43.5 3762
+-126.74 43.5 3874
+-126.614 43.5 4016
+-126.488 43.5 4249
+-126.362 43.5 4344
+-126.236 43.5 4407
+-126.11 43.5 4540
+-125.984 43.5 4681
+-125.858 43.5 4753
+-125.732 43.5 4717
+-125.606 43.5 4823
+-125.48 43.5 4948
+-125.354 43.5 5073
+-125.228 43.5 5120
+-125.102 43.5 5090
+-124.976 43.5 5209
+-124.85 43.5 5250
+-124.724 43.5 5314
+-124.598 43.5 5378
+-124.472 43.5 5426
+-124.346 43.5 5506
+-124.22 43.5 5558
+-124.094 43.5 5569
+-123.968 43.5 5648
+-123.842 43.5 5683
+-123.716 43.5 5680
+-123.59 43.5 5698
+-123.464 43.5 5743
+-123.338 43.5 5728
+-123.212 43.5 5738
+-123.086 43.5 5771
+-122.96 43.5 5739
+-122.834 43.5 5729
+-122.708 43.5 5719
+-122.582 43.5 5710
+-122.456 43.5 5699
+-122.33 43.5 5688
+-122.204 43.5 5675
+-122.078 43.5 5668
+-121.952 43.5 5629
+-121.826 43.5 5542
+-121.7 43.5 5536
+-121.574 43.5 5437
+-121.448 43.5 5367
+-121.322 43.5 5299
+-121.196 43.5 5204
+-121.07 43.5 5295
+-120.944 43.5 5342
+-120.818 43.5 5402
+-120.692 43.5 5484
+-120.566 43.5 5608
+-120.44 43.5 5709
+-120.314 43.5 5808
+-120.188 43.5 5919
+-120.062 43.5 5931
+-119.936 43.5 6017
+-119.81 43.5 6077
+-119.684 43.5 6158
+-119.558 43.5 6182
+-119.432 43.5 6235
+-119.306 43.5 6316
+-119.18 43.5 6339
+-119.054 43.5 6370
+-118.928 43.5 6413
+-118.802 43.5 6436
+-118.676 43.5 6433
+-118.55 43.5 6465
+-118.424 43.5 6478
+-118.298 43.5 6484
+-118.172 43.5 6484
+-118.046 43.5 6460
+-117.92 43.5 6426
+-117.794 43.5 6409
+-117.668 43.5 6385
+-117.542 43.5 6337
+-117.416 43.5 6282
+-117.29 43.5 6233
+-117.164 43.5 6216
+-117.038 43.5 6166
+-116.912 43.5 6100
+-116.786 43.5 6018
+-116.66 43.5 5942
+-116.534 43.5 5876
+-116.408 43.5 5789
+-116.282 43.5 5782
+-116.156 43.5 5674
+-116.03 43.5 5571
+-115.904 43.5 5548
+-115.778 43.5 5410
+-115.652 43.5 5249
+-115.526 43.5 5141
+-115.4 43.5 5140
+-115.274 43.5 5045
+-115.148 43.5 4888
+-115.022 43.5 4752
+-114.896 43.5 4609
+-114.77 43.5 4508
+-114.644 43.5 4479
+-114.518 43.5 4287
+-114.392 43.5 4212
+-114.266 43.5 4082
+-114.14 43.5 4134
+-114.014 43.5 4060
+-113.888 43.5 3943
+-113.762 43.5 3798
+-113.636 43.5 3676
+-113.51 43.5 3590
+-113.384 43.5 3499
+-113.258 43.5 3414
+-113.132 43.5 3355
+-113.006 43.5 3286
+-112.88 43.5 3218
+-112.754 43.5 3211
+-112.628 43.5 3270
+-112.502 43.5 3289
+-112.376 43.5 3331
+-112.25 43.5 3362
+-112.124 43.5 3368
+-111.998 43.5 3382
+-111.872 43.5 3369
+-111.746 43.5 3340
+-111.62 43.5 3344
+-111.494 43.5 3344
+-111.368 43.5 3344
+-111.242 43.5 3344
+-111.116 43.5 3344
+-110.99 43.5 3272
+-110.864 43.5 3274
+-110.738 43.5 3263
+-110.612 43.5 3266
+-110.486 43.5 3269
+-110.36 43.5 3241
+-110.234 43.5 3245
+-110.108 43.5 3170
+-109.982 43.5 3177
+-109.856 43.5 3156
+-109.73 43.5 3159
+-109.604 43.5 3162
+-109.478 43.5 3166
+-109.352 43.5 3219
+-109.226 43.5 3223
+-109.1 43.5 3193
+-108.974 43.5 3197
+-108.848 43.5 3201
+-108.722 43.5 3204
+-108.596 43.5 3208
+-108.47 43.5 3211
+-108.344 43.5 3214
+-108.218 43.5 3217
+-108.092 43.5 3221
+-107.966 43.5 3130
+-107.84 43.5 3085
+-107.714 43.5 3087
+-107.588 43.5 3089
+-107.462 43.5 3090
+-107.336 43.5 3092
+-107.21 43.5 3093
+-107.084 43.5 3094
+-106.958 43.5 3096
+-106.832 43.5 2909
+-106.706 43.5 2911
+-106.58 43.5 2900
+-106.454 43.5 2876
+-106.328 43.5 2878
+-106.202 43.5 2881
+-106.076 43.5 2883
+-105.95 43.5 2885
+-105.824 43.5 2696
+-105.698 43.5 2689
+-105.572 43.5 2681
+-105.446 43.5 2577
+-105.32 43.5 2567
+-105.194 43.5 2557
+-105.068 43.5 2546
+-104.942 43.5 2535
+-104.816 43.5 2398
+-104.69 43.5 2324
+-104.564 43.5 2200
+-104.438 43.5 2169
+-104.312 43.5 2199
+-104.186 43.5 1985
+-104.06 43.5 2075
+-103.934 43.5 2071
+-103.808 43.5 2105
+-103.682 43.5 2302
+-103.556 43.5 2388
+-103.43 43.5 2508
+-103.304 43.5 2506
+-103.178 43.5 2576
+-103.052 43.5 2581
+-102.926 43.5 2635
+-102.8 43.5 2632
+-102.674 43.5 2672
+-102.548 43.5 2668
+-102.422 43.5 2664
+-102.296 43.5 2661
+-102.17 43.5 2657
+-102.044 43.5 2653
+-101.918 43.5 2650
+-101.792 43.5 2646
+-101.666 43.5 2647
+-101.54 43.5 2797
+-101.414 43.5 2793
+-101.288 43.5 2789
+-101.162 43.5 2785
+-101.036 43.5 2771
+-100.91 43.5 2797
+-100.784 43.5 2802
+-100.658 43.5 2798
+-100.532 43.5 2837
+-100.406 43.5 2833
+-100.28 43.5 2816
+-100.154 43.5 2815
+-100.028 43.5 2814
+-99.902 43.5 2813
+-99.776 43.5 2812
+-99.65 43.5 2811
+-99.524 43.5 2853
+-99.398 43.5 2852
+-99.272 43.5 2850
+-99.146 43.5 2791
+-99.02 43.5 2791
+-98.894 43.5 2790
+-98.768 43.5 2795
+-98.642 43.5 2795
+-98.516 43.5 2794
+-98.39 43.5 2792
+-98.264 43.5 2790
+-98.138 43.5 2880
+-98.012 43.5 2877
+-97.886 43.5 2869
+-97.76 43.5 2860
+-97.634 43.5 2857
+-97.508 43.5 2851
+-97.382 43.5 2835
+-97.256 43.5 2805
+-97.13 43.5 2811
+-97.004 43.5 2909
+-96.878 43.5 2891
+-96.752 43.5 2858
+-96.626 43.5 2785
+-96.5 43.5 2757
+-96.374 43.5 2731
+-96.248 43.5 2709
+-96.122 43.5 2696
+-95.996 43.5 2695
+-95.87 43.5 2710
+-95.744 43.5 2743
+-95.618 43.5 2802
+-95.492 43.5 2861
+-95.366 43.5 2935
+-95.24 43.5 2995
+-95.114 43.5 3076
+-94.988 43.5 3090
+-94.862 43.5 3149
+-94.736 43.5 3192
+-94.61 43.5 3249
+-94.484 43.5 3283
+-94.358 43.5 3297
+-94.232 43.5 3305
+-94.106 43.5 3351
+-93.98 43.5 3378
+-93.854 43.5 3415
+-93.728 43.5 3455
+-93.602 43.5 3521
+-93.476 43.5 3566
+-93.35 43.5 3590
+-93.224 43.5 3612
+-93.098 43.5 3655
+-92.972 43.5 3705
+-92.846 43.5 3764
+-92.72 43.5 3804
+-92.594 43.5 3874
+-92.468 43.5 3916
+-92.342 43.5 3982
+-92.216 43.5 4043
+-92.09 43.5 4107
+-91.964 43.5 4137
+-91.838 43.5 4155
+-91.712 43.5 4158
+-91.586 43.5 4164
+-91.46 43.5 4175
+-91.334 43.5 4184
+-91.208 43.5 4206
+-91.082 43.5 4231
+-90.956 43.5 4255
+-90.83 43.5 4290
+-90.704 43.5 4330
+-90.578 43.5 4343
+-90.452 43.5 4318
+-90.326 43.5 4354
+-90.2 43.5 4343
+-90.074 43.5 4319
+-89.948 43.5 4342
+-89.822 43.5 4350
+-89.696 43.5 4346
+-89.57 43.5 4294
+-89.444 43.5 4249
+-89.318 43.5 4250
+-89.192 43.5 4245
+-89.066 43.5 4219
+-88.94 43.5 4176
+-88.814 43.5 4138
+-88.688 43.5 4053
+-88.562 43.5 4018
+-88.436 43.5 3983
+-88.31 43.5 3922
+-88.184 43.5 3805
+-88.058 43.5 3710
+-87.932 43.5 3760
+-87.806 43.5 3802
+-87.68 43.5 3779
+-87.554 43.5 3725
+-87.428 43.5 3702
+-87.302 43.5 3672
+-87.176 43.5 3614
+-87.05 43.5 3559
+-86.924 43.5 3510
+-86.798 43.5 3453
+-86.672 43.5 3413
+-86.546 43.5 3304
+-86.42 43.5 3269
+-86.294 43.5 3213
+-86.168 43.5 3152
+-86.042 43.5 3122
+-85.916 43.5 3095
+-85.79 43.5 3065
+-85.664 43.5 3034
+-85.538 43.5 2956
+-85.412 43.5 2950
+-85.286 43.5 2931
+-85.16 43.5 2879
+-85.034 43.5 2867
+-84.908 43.5 2793
+-84.782 43.5 2786
+-84.656 43.5 2779
+-84.53 43.5 2774
+-84.404 43.5 2771
+-84.278 43.5 2730
+-84.152 43.5 2734
+-84.026 43.5 2732
+-83.9 43.5 2735
+-83.774 43.5 2736
+-83.648 43.5 2738
+-83.522 43.5 2740
+-83.396 43.5 2751
+-83.27 43.5 2744
+-83.144 43.5 2779
+-83.018 43.5 2784
+-82.892 43.5 2783
+-82.766 43.5 2790
+-82.64 43.5 2795
+-82.514 43.5 2800
+-82.388 43.5 2796
+-82.262 43.5 2871
+-82.136 43.5 2877
+-82.01 43.5 2883
+-81.884 43.5 2888
+-81.758 43.5 2965
+-81.632 43.5 2936
+-81.506 43.5 3034
+-81.38 43.5 3039
+-81.254 43.5 3020
+-81.128 43.5 3024
+-81.002 43.5 3029
+-80.876 43.5 3033
+-80.75 43.5 3038
+-80.624 43.5 3042
+-80.498 43.5 3108
+-80.372 43.5 3110
+-80.246 43.5 3115
+-80.12 43.5 3120
+-79.994 43.5 3124
+-79.868 43.5 3083
+-79.742 43.5 3108
+-79.616 43.5 3112
+-79.49 43.5 3166
+-79.364 43.5 3102
+-79.238 43.5 3107
+-79.112 43.5 3111
+-78.986 43.5 3147
+-78.86 43.5 3114
+-78.734 43.5 3118
+-78.608 43.5 3122
+-78.482 43.5 3317
+-78.356 43.5 3276
+-78.23 43.5 3279
+-78.104 43.5 3397
+-77.978 43.5 3378
+-77.852 43.5 3381
+-77.726 43.5 3337
+-77.6 43.5 3408
+-77.474 43.5 3410
+-77.348 43.5 3413
+-77.222 43.5 3416
+-77.096 43.5 3419
+-76.97 43.5 3418
+-76.844 43.5 3420
+-76.718 43.5 3423
+-76.592 43.5 3412
+-76.466 43.5 3367
+-76.34 43.5 3362
+-76.214 43.5 3364
+-76.088 43.5 3366
+-75.962 43.5 3368
+-75.836 43.5 3370
+-75.71 43.5 3372
+-75.584 43.5 3374
+-75.458 43.5 3375
+-75.332 43.5 3377
+-75.206 43.5 3379
+-75.08 43.5 3380
+-74.954 43.5 3382
+-74.828 43.5 3383
+-74.702 43.5 3384
+-74.576 43.5 3386
+-74.45 43.5 3490
+-74.324 43.5 3491
+-74.198 43.5 3478
+-74.072 43.5 3479
+-73.946 43.5 3480
+-73.82 43.5 3481
+-73.694 43.5 3482
+-73.568 43.5 3483
+-73.442 43.5 3484
+-73.316 43.5 3485
+-73.19 43.5 3486
+-73.064 43.5 3487
+-72.938 43.5 3488
+-72.812 43.5 3521
+-72.686 43.5 3522
+-72.56 43.5 3523
+-72.434 43.5 3524
+-72.308 43.5 3525
+-72.182 43.5 3527
+-72.056 43.5 3489
+-71.93 43.5 3490
+-71.804 43.5 3491
+-71.678 43.5 3492
+-71.552 43.5 3525
+-71.426 43.5 3526
+-71.3 43.5 3528
+-71.174 43.5 3483
+-71.048 43.5 3484
+-70.922 43.5 3485
+-70.796 43.5 3622
+-70.67 43.5 3622
+-70.544 43.5 3622
+-70.418 43.5 3623
+-70.292 43.5 3623
+-70.166 43.5 3559
+-70.04 43.5 3559
+-69.914 43.5 3560
+-69.788 43.5 3560
+-69.662 43.5 3560
+-69.536 43.5 3561
+-69.41 43.5 3561
+-69.284 43.5 3561
+-69.158 43.5 3561
+-69.032 43.5 3562
+-68.906 43.5 3542
+-68.78 43.5 3530
+-68.654 43.5 3530
+-68.528 43.5 3530
+-68.402 43.5 3531
+-68.276 43.5 3531
+-68.15 43.5 3531
+-68.024 43.5 3513
+-67.898 43.5 3513
+-67.772 43.5 3513
+-67.646 43.5 3513
+-67.52 43.5 3513
+-67.394 43.5 3514
+-67.268 43.5 3514
+-67.142 43.5 3514
+-67.016 43.5 3462
+-66.89 43.5 3462
+-66.764 43.5 3462
+-66.638 43.5 3463
+-66.512 43.5 3463
+-66.386 43.5 3463
+-66.26 43.5 3463
+-66.134 43.5 3463
+-66.008 43.5 3463
+-65.882 43.5 3464
+-65.756 43.5 3464
+-65.63 43.5 3464
+-65.504 43.5 3464
+-65.378 43.5 3382
+-65.252 43.5 3382
+-65.126 43.5 3382
+-128 43.448 3299
+-127.874 43.448 3262
+-127.748 43.448 3256
+-127.622 43.448 3277
+-127.496 43.448 3294
+-127.37 43.448 3398
+-127.244 43.448 3492
+-127.118 43.448 3564
+-126.992 43.448 3657
+-126.866 43.448 3752
+-126.74 43.448 3877
+-126.614 43.448 4031
+-126.488 43.448 4257
+-126.362 43.448 4343
+-126.236 43.448 4355
+-126.11 43.448 4444
+-125.984 43.448 4614
+-125.858 43.448 4722
+-125.732 43.448 4751
+-125.606 43.448 4821
+-125.48 43.448 4908
+-125.354 43.448 5030
+-125.228 43.448 5102
+-125.102 43.448 5131
+-124.976 43.448 5191
+-124.85 43.448 5176
+-124.724 43.448 5283
+-124.598 43.448 5332
+-124.472 43.448 5372
+-124.346 43.448 5445
+-124.22 43.448 5517
+-124.094 43.448 5548
+-123.968 43.448 5602
+-123.842 43.448 5642
+-123.716 43.448 5643
+-123.59 43.448 5636
+-123.464 43.448 5666
+-123.338 43.448 5679
+-123.212 43.448 5680
+-123.086 43.448 5700
+-122.96 43.448 5714
+-122.834 43.448 5682
+-122.708 43.448 5655
+-122.582 43.448 5662
+-122.456 43.448 5692
+-122.33 43.448 5620
+-122.204 43.448 5609
+-122.078 43.448 5627
+-121.952 43.448 5591
+-121.826 43.448 5534
+-121.7 43.448 5469
+-121.574 43.448 5382
+-121.448 43.448 5318
+-121.322 43.448 5314
+-121.196 43.448 5165
+-121.07 43.448 5260
+-120.944 43.448 5293
+-120.818 43.448 5381
+-120.692 43.448 5427
+-120.566 43.448 5539
+-120.44 43.448 5666
+-120.314 43.448 5769
+-120.188 43.448 5882
+-120.062 43.448 5905
+-119.936 43.448 5977
+-119.81 43.448 6000
+-119.684 43.448 6090
+-119.558 43.448 6154
+-119.432 43.448 6165
+-119.306 43.448 6239
+-119.18 43.448 6302
+-119.054 43.448 6332
+-118.928 43.448 6338
+-118.802 43.448 6400
+-118.676 43.448 6388
+-118.55 43.448 6416
+-118.424 43.448 6434
+-118.298 43.448 6437
+-118.172 43.448 6402
+-118.046 43.448 6374
+-117.92 43.448 6394
+-117.794 43.448 6363
+-117.668 43.448 6316
+-117.542 43.448 6284
+-117.416 43.448 6239
+-117.29 43.448 6203
+-117.164 43.448 6176
+-117.038 43.448 6122
+-116.912 43.448 6046
+-116.786 43.448 5956
+-116.66 43.448 5889
+-116.534 43.448 5845
+-116.408 43.448 5798
+-116.282 43.448 5723
+-116.156 43.448 5666
+-116.03 43.448 5562
+-115.904 43.448 5479
+-115.778 43.448 5358
+-115.652 43.448 5210
+-115.526 43.448 5132
+-115.4 43.448 5117
+-115.274 43.448 4998
+-115.148 43.448 4875
+-115.022 43.448 4781
+-114.896 43.448 4637
+-114.77 43.448 4543
+-114.644 43.448 4461
+-114.518 43.448 4304
+-114.392 43.448 4212
+-114.266 43.448 4138
+-114.14 43.448 4106
+-114.014 43.448 4004
+-113.888 43.448 3848
+-113.762 43.448 3658
+-113.636 43.448 3542
+-113.51 43.448 3494
+-113.384 43.448 3382
+-113.258 43.448 3272
+-113.132 43.448 3298
+-113.006 43.448 3328
+-112.88 43.448 3308
+-112.754 43.448 3314
+-112.628 43.448 3302
+-112.502 43.448 3318
+-112.376 43.448 3342
+-112.25 43.448 3361
+-112.124 43.448 3374
+-111.998 43.448 3366
+-111.872 43.448 3371
+-111.746 43.448 3352
+-111.62 43.448 3318
+-111.494 43.448 3321
+-111.368 43.448 3320
+-111.242 43.448 3320
+-111.116 43.448 3320
+-110.99 43.448 3320
+-110.864 43.448 3248
+-110.738 43.448 3251
+-110.612 43.448 3242
+-110.486 43.448 3245
+-110.36 43.448 3249
+-110.234 43.448 3223
+-110.108 43.448 3229
+-109.982 43.448 3155
+-109.856 43.448 3162
+-109.73 43.448 3142
+-109.604 43.448 3147
+-109.478 43.448 3151
+-109.352 43.448 3155
+-109.226 43.448 3208
+-109.1 43.448 3214
+-108.974 43.448 3184
+-108.848 43.448 3103
+-108.722 43.448 3106
+-108.596 43.448 3109
+-108.47 43.448 3111
+-108.344 43.448 3114
+-108.218 43.448 3116
+-108.092 43.448 3118
+-107.966 43.448 3120
+-107.84 43.448 3123
+-107.714 43.448 3078
+-107.588 43.448 3080
+-107.462 43.448 3082
+-107.336 43.448 3084
+-107.21 43.448 3086
+-107.084 43.448 3087
+-106.958 43.448 3089
+-106.832 43.448 3090
+-106.706 43.448 2903
+-106.58 43.448 2905
+-106.454 43.448 2894
+-106.328 43.448 2870
+-106.202 43.448 2873
+-106.076 43.448 2875
+-105.95 43.448 2878
+-105.824 43.448 2686
+-105.698 43.448 2678
+-105.572 43.448 2574
+-105.446 43.448 2564
+-105.32 43.448 2555
+-105.194 43.448 2545
+-105.068 43.448 2534
+-104.942 43.448 2511
+-104.816 43.448 2321
+-104.69 43.448 2309
+-104.564 43.448 2189
+-104.438 43.448 2159
+-104.312 43.448 2190
+-104.186 43.448 1979
+-104.06 43.448 2070
+-103.934 43.448 2067
+-103.808 43.448 2103
+-103.682 43.448 2300
+-103.556 43.448 2386
+-103.43 43.448 2385
+-103.304 43.448 2503
+-103.178 43.448 2573
+-103.052 43.448 2569
+-102.926 43.448 2574
+-102.8 43.448 2628
+-102.674 43.448 2625
+-102.548 43.448 2664
+-102.422 43.448 2660
+-102.296 43.448 2656
+-102.17 43.448 2652
+-102.044 43.448 2648
+-101.918 43.448 2645
+-101.792 43.448 2641
+-101.666 43.448 2637
+-101.54 43.448 2639
+-101.414 43.448 2788
+-101.288 43.448 2783
+-101.162 43.448 2779
+-101.036 43.448 2775
+-100.91 43.448 2762
+-100.784 43.448 2787
+-100.658 43.448 2792
+-100.532 43.448 2788
+-100.406 43.448 2826
+-100.28 43.448 2822
+-100.154 43.448 2807
+-100.028 43.448 2806
+-99.902 43.448 2805
+-99.776 43.448 2804
+-99.65 43.448 2803
+-99.524 43.448 2802
+-99.398 43.448 2844
+-99.272 43.448 2842
+-99.146 43.448 2841
+-99.02 43.448 2783
+-98.894 43.448 2783
+-98.768 43.448 2782
+-98.642 43.448 2787
+-98.516 43.448 2786
+-98.39 43.448 2785
+-98.264 43.448 2783
+-98.138 43.448 2780
+-98.012 43.448 2866
+-97.886 43.448 2862
+-97.76 43.448 2852
+-97.634 43.448 2841
+-97.508 43.448 2829
+-97.382 43.448 2825
+-97.256 43.448 2806
+-97.13 43.448 2772
+-97.004 43.448 2771
+-96.878 43.448 2850
+-96.752 43.448 2822
+-96.626 43.448 2781
+-96.5 43.448 2704
+-96.374 43.448 2667
+-96.248 43.448 2632
+-96.122 43.448 2607
+-95.996 43.448 2597
+-95.87 43.448 2608
+-95.744 43.448 2644
+-95.618 43.448 2727
+-95.492 43.448 2786
+-95.366 43.448 2867
+-95.24 43.448 2957
+-95.114 43.448 3025
+-94.988 43.448 3114
+-94.862 43.448 3160
+-94.736 43.448 3222
+-94.61 43.448 3265
+-94.484 43.448 3314
+-94.358 43.448 3329
+-94.232 43.448 3350
+-94.106 43.448 3369
+-93.98 43.448 3471
+-93.854 43.448 3518
+-93.728 43.448 3561
+-93.602 43.448 3597
+-93.476 43.448 3630
+-93.35 43.448 3664
+-93.224 43.448 3708
+-93.098 43.448 3748
+-92.972 43.448 3787
+-92.846 43.448 3822
+-92.72 43.448 3887
+-92.594 43.448 3958
+-92.468 43.448 3997
+-92.342 43.448 4045
+-92.216 43.448 4094
+-92.09 43.448 4147
+-91.964 43.448 4186
+-91.838 43.448 4185
+-91.712 43.448 4182
+-91.586 43.448 4188
+-91.46 43.448 4224
+-91.334 43.448 4244
+-91.208 43.448 4259
+-91.082 43.448 4292
+-90.956 43.448 4321
+-90.83 43.448 4358
+-90.704 43.448 4379
+-90.578 43.448 4382
+-90.452 43.448 4365
+-90.326 43.448 4367
+-90.2 43.448 4375
+-90.074 43.448 4367
+-89.948 43.448 4384
+-89.822 43.448 4378
+-89.696 43.448 4354
+-89.57 43.448 4343
+-89.444 43.448 4290
+-89.318 43.448 4243
+-89.192 43.448 4273
+-89.066 43.448 4280
+-88.94 43.448 4238
+-88.814 43.448 4200
+-88.688 43.448 4144
+-88.562 43.448 4088
+-88.436 43.448 4051
+-88.31 43.448 3984
+-88.184 43.448 3892
+-88.058 43.448 3803
+-87.932 43.448 3815
+-87.806 43.448 3818
+-87.68 43.448 3780
+-87.554 43.448 3734
+-87.428 43.448 3711
+-87.302 43.448 3671
+-87.176 43.448 3622
+-87.05 43.448 3550
+-86.924 43.448 3497
+-86.798 43.448 3451
+-86.672 43.448 3385
+-86.546 43.448 3341
+-86.42 43.448 3274
+-86.294 43.448 3231
+-86.168 43.448 3169
+-86.042 43.448 3143
+-85.916 43.448 3114
+-85.79 43.448 3082
+-85.664 43.448 3055
+-85.538 43.448 3029
+-85.412 43.448 2966
+-85.286 43.448 2920
+-85.16 43.448 2904
+-85.034 43.448 2882
+-84.908 43.448 2870
+-84.782 43.448 2861
+-84.656 43.448 2853
+-84.53 43.448 2847
+-84.404 43.448 2803
+-84.278 43.448 2799
+-84.152 43.448 2748
+-84.026 43.448 2749
+-83.9 43.448 2748
+-83.774 43.448 2748
+-83.648 43.448 2749
+-83.522 43.448 2759
+-83.396 43.448 2752
+-83.27 43.448 2786
+-83.144 43.448 2790
+-83.018 43.448 2790
+-82.892 43.448 2796
+-82.766 43.448 2800
+-82.64 43.448 2805
+-82.514 43.448 2801
+-82.388 43.448 2874
+-82.262 43.448 2880
+-82.136 43.448 2885
+-82.01 43.448 2891
+-81.884 43.448 2966
+-81.758 43.448 2937
+-81.632 43.448 3031
+-81.506 43.448 3037
+-81.38 43.448 3018
+-81.254 43.448 3023
+-81.128 43.448 3028
+-81.002 43.448 3032
+-80.876 43.448 3036
+-80.75 43.448 3041
+-80.624 43.448 3107
+-80.498 43.448 3108
+-80.372 43.448 3113
+-80.246 43.448 3118
+-80.12 43.448 3123
+-79.994 43.448 3082
+-79.868 43.448 3107
+-79.742 43.448 3111
+-79.616 43.448 3165
+-79.49 43.448 3102
+-79.364 43.448 3106
+-79.238 43.448 3110
+-79.112 43.448 3146
+-78.986 43.448 3114
+-78.86 43.448 3118
+-78.734 43.448 3122
+-78.608 43.448 3315
+-78.482 43.448 3274
+-78.356 43.448 3278
+-78.23 43.448 3395
+-78.104 43.448 3376
+-77.978 43.448 3379
+-77.852 43.448 3335
+-77.726 43.448 3406
+-77.6 43.448 3409
+-77.474 43.448 3412
+-77.348 43.448 3414
+-77.222 43.448 3417
+-77.096 43.448 3416
+-76.97 43.448 3419
+-76.844 43.448 3422
+-76.718 43.448 3411
+-76.592 43.448 3366
+-76.466 43.448 3361
+-76.34 43.448 3364
+-76.214 43.448 3366
+-76.088 43.448 3368
+-75.962 43.448 3369
+-75.836 43.448 3371
+-75.71 43.448 3373
+-75.584 43.448 3375
+-75.458 43.448 3376
+-75.332 43.448 3378
+-75.206 43.448 3380
+-75.08 43.448 3381
+-74.954 43.448 3383
+-74.828 43.448 3384
+-74.702 43.448 3385
+-74.576 43.448 3489
+-74.45 43.448 3490
+-74.324 43.448 3477
+-74.198 43.448 3478
+-74.072 43.448 3479
+-73.946 43.448 3481
+-73.82 43.448 3482
+-73.694 43.448 3483
+-73.568 43.448 3484
+-73.442 43.448 3485
+-73.316 43.448 3486
+-73.19 43.448 3487
+-73.064 43.448 3488
+-72.938 43.448 3520
+-72.812 43.448 3521
+-72.686 43.448 3523
+-72.56 43.448 3524
+-72.434 43.448 3525
+-72.308 43.448 3526
+-72.182 43.448 3489
+-72.056 43.448 3490
+-71.93 43.448 3491
+-71.804 43.448 3492
+-71.678 43.448 3525
+-71.552 43.448 3526
+-71.426 43.448 3527
+-71.3 43.448 3483
+-71.174 43.448 3484
+-71.048 43.448 3485
+-70.922 43.448 3621
+-70.796 43.448 3622
+-70.67 43.448 3622
+-70.544 43.448 3623
+-70.418 43.448 3623
+-70.292 43.448 3559
+-70.166 43.448 3559
+-70.04 43.448 3559
+-69.914 43.448 3560
+-69.788 43.448 3560
+-69.662 43.448 3560
+-69.536 43.448 3561
+-69.41 43.448 3561
+-69.284 43.448 3561
+-69.158 43.448 3561
+-69.032 43.448 3542
+-68.906 43.448 3529
+-68.78 43.448 3530
+-68.654 43.448 3530
+-68.528 43.448 3530
+-68.402 43.448 3531
+-68.276 43.448 3512
+-68.15 43.448 3512
+-68.024 43.448 3513
+-67.898 43.448 3513
+-67.772 43.448 3513
+-67.646 43.448 3513
+-67.52 43.448 3514
+-67.394 43.448 3514
+-67.268 43.448 3514
+-67.142 43.448 3462
+-67.016 43.448 3462
+-66.89 43.448 3462
+-66.764 43.448 3462
+-66.638 43.448 3463
+-66.512 43.448 3463
+-66.386 43.448 3463
+-66.26 43.448 3463
+-66.134 43.448 3463
+-66.008 43.448 3463
+-65.882 43.448 3464
+-65.756 43.448 3464
+-65.63 43.448 3464
+-65.504 43.448 3382
+-65.378 43.448 3382
+-65.252 43.448 3382
+-65.126 43.448 3382
+-128 43.396 3240
+-127.874 43.396 3142
+-127.748 43.396 3093
+-127.622 43.396 3191
+-127.496 43.396 3198
+-127.37 43.396 3303
+-127.244 43.396 3454
+-127.118 43.396 3547
+-126.992 43.396 3657
+-126.866 43.396 3776
+-126.74 43.396 3883
+-126.614 43.396 4022
+-126.488 43.396 4232
+-126.362 43.396 4323
+-126.236 43.396 4368
+-126.11 43.396 4449
+-125.984 43.396 4540
+-125.858 43.396 4653
+-125.732 43.396 4718
+-125.606 43.396 4772
+-125.48 43.396 4850
+-125.354 43.396 4969
+-125.228 43.396 5054
+-125.102 43.396 5087
+-124.976 43.396 5120
+-124.85 43.396 5189
+-124.724 43.396 5259
+-124.598 43.396 5300
+-124.472 43.396 5311
+-124.346 43.396 5385
+-124.22 43.396 5467
+-124.094 43.396 5467
+-123.968 43.396 5554
+-123.842 43.396 5588
+-123.716 43.396 5576
+-123.59 43.396 5598
+-123.464 43.396 5620
+-123.338 43.396 5623
+-123.212 43.396 5656
+-123.086 43.396 5637
+-122.96 43.396 5654
+-122.834 43.396 5639
+-122.708 43.396 5617
+-122.582 43.396 5618
+-122.456 43.396 5614
+-122.33 43.396 5608
+-122.204 43.396 5590
+-122.078 43.396 5568
+-121.952 43.396 5518
+-121.826 43.396 5487
+-121.7 43.396 5407
+-121.574 43.396 5405
+-121.448 43.396 5288
+-121.322 43.396 5222
+-121.196 43.396 5190
+-121.07 43.396 5229
+-120.944 43.396 5225
+-120.818 43.396 5333
+-120.692 43.396 5434
+-120.566 43.396 5483
+-120.44 43.396 5594
+-120.314 43.396 5707
+-120.188 43.396 5814
+-120.062 43.396 5874
+-119.936 43.396 5958
+-119.81 43.396 6003
+-119.684 43.396 6045
+-119.558 43.396 6091
+-119.432 43.396 6140
+-119.306 43.396 6181
+-119.18 43.396 6230
+-119.054 43.396 6285
+-118.928 43.396 6317
+-118.802 43.396 6341
+-118.676 43.396 6335
+-118.55 43.396 6355
+-118.424 43.396 6379
+-118.298 43.396 6379
+-118.172 43.396 6345
+-118.046 43.396 6318
+-117.92 43.396 6324
+-117.794 43.396 6303
+-117.668 43.396 6296
+-117.542 43.396 6254
+-117.416 43.396 6201
+-117.29 43.396 6164
+-117.164 43.396 6096
+-117.038 43.396 6030
+-116.912 43.396 5983
+-116.786 43.396 5878
+-116.66 43.396 5867
+-116.534 43.396 5822
+-116.408 43.396 5743
+-116.282 43.396 5626
+-116.156 43.396 5610
+-116.03 43.396 5497
+-115.904 43.396 5377
+-115.778 43.396 5276
+-115.652 43.396 5205
+-115.526 43.396 5134
+-115.4 43.396 5092
+-115.274 43.396 4941
+-115.148 43.396 4813
+-115.022 43.396 4807
+-114.896 43.396 4684
+-114.77 43.396 4552
+-114.644 43.396 4446
+-114.518 43.396 4330
+-114.392 43.396 4230
+-114.266 43.396 4137
+-114.14 43.396 4074
+-114.014 43.396 3942
+-113.888 43.396 3771
+-113.762 43.396 3564
+-113.636 43.396 3476
+-113.51 43.396 3426
+-113.384 43.396 3308
+-113.258 43.396 3139
+-113.132 43.396 3240
+-113.006 43.396 3316
+-112.88 43.396 3352
+-112.754 43.396 3333
+-112.628 43.396 3329
+-112.502 43.396 3339
+-112.376 43.396 3349
+-112.25 43.396 3357
+-112.124 43.396 3331
+-111.998 43.396 3332
+-111.872 43.396 3332
+-111.746 43.396 3331
+-111.62 43.396 3308
+-111.494 43.396 3291
+-111.368 43.396 3259
+-111.242 43.396 3257
+-111.116 43.396 3257
+-110.99 43.396 3257
+-110.864 43.396 3258
+-110.738 43.396 3224
+-110.612 43.396 3229
+-110.486 43.396 3221
+-110.36 43.396 3226
+-110.234 43.396 3231
+-110.108 43.396 3207
+-109.982 43.396 3213
+-109.856 43.396 3175
+-109.73 43.396 3150
+-109.604 43.396 3131
+-109.478 43.396 3136
+-109.352 43.396 3141
+-109.226 43.396 3146
+-109.1 43.396 3199
+-108.974 43.396 3120
+-108.848 43.396 3090
+-108.722 43.396 3093
+-108.596 43.396 3096
+-108.47 43.396 3099
+-108.344 43.396 3102
+-108.218 43.396 3105
+-108.092 43.396 3108
+-107.966 43.396 3111
+-107.84 43.396 3113
+-107.714 43.396 3116
+-107.588 43.396 3072
+-107.462 43.396 3074
+-107.336 43.396 3076
+-107.21 43.396 3078
+-107.084 43.396 3080
+-106.958 43.396 3082
+-106.832 43.396 3084
+-106.706 43.396 3085
+-106.58 43.396 2897
+-106.454 43.396 2899
+-106.328 43.396 2889
+-106.202 43.396 2865
+-106.076 43.396 2868
+-105.95 43.396 2870
+-105.824 43.396 2675
+-105.698 43.396 2570
+-105.572 43.396 2562
+-105.446 43.396 2552
+-105.32 43.396 2543
+-105.194 43.396 2532
+-105.068 43.396 2412
+-104.942 43.396 2327
+-104.816 43.396 2307
+-104.69 43.396 2247
+-104.564 43.396 2178
+-104.438 43.396 2149
+-104.312 43.396 2099
+-104.186 43.396 1973
+-104.06 43.396 1986
+-103.934 43.396 2063
+-103.808 43.396 2101
+-103.682 43.396 2298
+-103.556 43.396 2384
+-103.43 43.396 2383
+-103.304 43.396 2501
+-103.178 43.396 2570
+-103.052 43.396 2566
+-102.926 43.396 2562
+-102.8 43.396 2567
+-102.674 43.396 2620
+-102.548 43.396 2617
+-102.422 43.396 2655
+-102.296 43.396 2651
+-102.17 43.396 2647
+-102.044 43.396 2643
+-101.918 43.396 2639
+-101.792 43.396 2635
+-101.666 43.396 2631
+-101.54 43.396 2627
+-101.414 43.396 2631
+-101.288 43.396 2778
+-101.162 43.396 2773
+-101.036 43.396 2769
+-100.91 43.396 2764
+-100.784 43.396 2752
+-100.658 43.396 2777
+-100.532 43.396 2781
+-100.406 43.396 2778
+-100.28 43.396 2815
+-100.154 43.396 2811
+-100.028 43.396 2797
+-99.902 43.396 2796
+-99.776 43.396 2795
+-99.65 43.396 2794
+-99.524 43.396 2793
+-99.398 43.396 2793
+-99.272 43.396 2834
+-99.146 43.396 2833
+-99.02 43.396 2831
+-98.894 43.396 2775
+-98.768 43.396 2774
+-98.642 43.396 2774
+-98.516 43.396 2779
+-98.39 43.396 2778
+-98.264 43.396 2776
+-98.138 43.396 2773
+-98.012 43.396 2769
+-97.886 43.396 2851
+-97.76 43.396 2845
+-97.634 43.396 2833
+-97.508 43.396 2819
+-97.382 43.396 2809
+-97.256 43.396 2794
+-97.13 43.396 2770
+-97.004 43.396 2731
+-96.878 43.396 2721
+-96.752 43.396 2778
+-96.626 43.396 2737
+-96.5 43.396 2682
+-96.374 43.396 2599
+-96.248 43.396 2547
+-96.122 43.396 2504
+-95.996 43.396 2479
+-95.87 43.396 2484
+-95.744 43.396 2525
+-95.618 43.396 2597
+-95.492 43.396 2714
+-95.366 43.396 2824
+-95.24 43.396 2924
+-95.114 43.396 3006
+-94.988 43.396 3100
+-94.862 43.396 3151
+-94.736 43.396 3234
+-94.61 43.396 3298
+-94.484 43.396 3330
+-94.358 43.396 3367
+-94.232 43.396 3397
+-94.106 43.396 3425
+-93.98 43.396 3521
+-93.854 43.396 3582
+-93.728 43.396 3623
+-93.602 43.396 3650
+-93.476 43.396 3689
+-93.35 43.396 3715
+-93.224 43.396 3753
+-93.098 43.396 3793
+-92.972 43.396 3819
+-92.846 43.396 3857
+-92.72 43.396 3950
+-92.594 43.396 4020
+-92.468 43.396 4069
+-92.342 43.396 4113
+-92.216 43.396 4164
+-92.09 43.396 4205
+-91.964 43.396 4234
+-91.838 43.396 4238
+-91.712 43.396 4244
+-91.586 43.396 4264
+-91.46 43.396 4283
+-91.334 43.396 4299
+-91.208 43.396 4330
+-91.082 43.396 4360
+-90.956 43.396 4397
+-90.83 43.396 4426
+-90.704 43.396 4444
+-90.578 43.396 4418
+-90.452 43.396 4421
+-90.326 43.396 4428
+-90.2 43.396 4427
+-90.074 43.396 4420
+-89.948 43.396 4397
+-89.822 43.396 4411
+-89.696 43.396 4393
+-89.57 43.396 4388
+-89.444 43.396 4348
+-89.318 43.396 4312
+-89.192 43.396 4329
+-89.066 43.396 4319
+-88.94 43.396 4281
+-88.814 43.396 4246
+-88.688 43.396 4199
+-88.562 43.396 4130
+-88.436 43.396 4092
+-88.31 43.396 4058
+-88.184 43.396 4008
+-88.058 43.396 3948
+-87.932 43.396 3886
+-87.806 43.396 3811
+-87.68 43.396 3732
+-87.554 43.396 3730
+-87.428 43.396 3714
+-87.302 43.396 3667
+-87.176 43.396 3589
+-87.05 43.396 3480
+-86.924 43.396 3428
+-86.798 43.396 3409
+-86.672 43.396 3367
+-86.546 43.396 3336
+-86.42 43.396 3324
+-86.294 43.396 3323
+-86.168 43.396 3280
+-86.042 43.396 3149
+-85.916 43.396 3122
+-85.79 43.396 3095
+-85.664 43.396 3067
+-85.538 43.396 3017
+-85.412 43.396 2998
+-85.286 43.396 2978
+-85.16 43.396 2951
+-85.034 43.396 2937
+-84.908 43.396 2925
+-84.782 43.396 2878
+-84.656 43.396 2868
+-84.53 43.396 2860
+-84.404 43.396 2851
+-84.278 43.396 2813
+-84.152 43.396 2810
+-84.026 43.396 2809
+-83.9 43.396 2757
+-83.774 43.396 2757
+-83.648 43.396 2766
+-83.522 43.396 2758
+-83.396 43.396 2791
+-83.27 43.396 2796
+-83.144 43.396 2795
+-83.018 43.396 2801
+-82.892 43.396 2806
+-82.766 43.396 2810
+-82.64 43.396 2807
+-82.514 43.396 2876
+-82.388 43.396 2882
+-82.262 43.396 2888
+-82.136 43.396 2893
+-82.01 43.396 2966
+-81.884 43.396 2938
+-81.758 43.396 3028
+-81.632 43.396 3035
+-81.506 43.396 3016
+-81.38 43.396 3021
+-81.254 43.396 3026
+-81.128 43.396 3031
+-81.002 43.396 3035
+-80.876 43.396 3040
+-80.75 43.396 3105
+-80.624 43.396 3107
+-80.498 43.396 3112
+-80.372 43.396 3117
+-80.246 43.396 3122
+-80.12 43.396 3082
+-79.994 43.396 3106
+-79.868 43.396 3111
+-79.742 43.396 3164
+-79.616 43.396 3101
+-79.49 43.396 3106
+-79.364 43.396 3110
+-79.238 43.396 3146
+-79.112 43.396 3114
+-78.986 43.396 3118
+-78.86 43.396 3122
+-78.734 43.396 3312
+-78.608 43.396 3272
+-78.482 43.396 3276
+-78.356 43.396 3393
+-78.23 43.396 3374
+-78.104 43.396 3377
+-77.978 43.396 3334
+-77.852 43.396 3405
+-77.726 43.396 3407
+-77.6 43.396 3410
+-77.474 43.396 3413
+-77.348 43.396 3416
+-77.222 43.396 3415
+-77.096 43.396 3418
+-76.97 43.396 3420
+-76.844 43.396 3410
+-76.718 43.396 3365
+-76.592 43.396 3361
+-76.466 43.396 3363
+-76.34 43.396 3365
+-76.214 43.396 3367
+-76.088 43.396 3369
+-75.962 43.396 3371
+-75.836 43.396 3373
+-75.71 43.396 3374
+-75.584 43.396 3376
+-75.458 43.396 3378
+-75.332 43.396 3379
+-75.206 43.396 3381
+-75.08 43.396 3382
+-74.954 43.396 3384
+-74.828 43.396 3385
+-74.702 43.396 3488
+-74.576 43.396 3489
+-74.45 43.396 3476
+-74.324 43.396 3478
+-74.198 43.396 3479
+-74.072 43.396 3480
+-73.946 43.396 3481
+-73.82 43.396 3482
+-73.694 43.396 3483
+-73.568 43.396 3484
+-73.442 43.396 3486
+-73.316 43.396 3487
+-73.19 43.396 3488
+-73.064 43.396 3519
+-72.938 43.396 3521
+-72.812 43.396 3522
+-72.686 43.396 3523
+-72.56 43.396 3524
+-72.434 43.396 3526
+-72.308 43.396 3488
+-72.182 43.396 3489
+-72.056 43.396 3490
+-71.93 43.396 3491
+-71.804 43.396 3524
+-71.678 43.396 3525
+-71.552 43.396 3527
+-71.426 43.396 3483
+-71.3 43.396 3484
+-71.174 43.396 3485
+-71.048 43.396 3621
+-70.922 43.396 3621
+-70.796 43.396 3622
+-70.67 43.396 3622
+-70.544 43.396 3623
+-70.418 43.396 3559
+-70.292 43.396 3559
+-70.166 43.396 3559
+-70.04 43.396 3560
+-69.914 43.396 3560
+-69.788 43.396 3560
+-69.662 43.396 3560
+-69.536 43.396 3561
+-69.41 43.396 3561
+-69.284 43.396 3561
+-69.158 43.396 3542
+-69.032 43.396 3529
+-68.906 43.396 3530
+-68.78 43.396 3530
+-68.654 43.396 3530
+-68.528 43.396 3530
+-68.402 43.396 3531
+-68.276 43.396 3512
+-68.15 43.396 3513
+-68.024 43.396 3513
+-67.898 43.396 3513
+-67.772 43.396 3513
+-67.646 43.396 3513
+-67.52 43.396 3514
+-67.394 43.396 3514
+-67.268 43.396 3462
+-67.142 43.396 3462
+-67.016 43.396 3462
+-66.89 43.396 3462
+-66.764 43.396 3462
+-66.638 43.396 3463
+-66.512 43.396 3463
+-66.386 43.396 3463
+-66.26 43.396 3463
+-66.134 43.396 3463
+-66.008 43.396 3463
+-65.882 43.396 3464
+-65.756 43.396 3464
+-65.63 43.396 3382
+-65.504 43.396 3382
+-65.378 43.396 3382
+-65.252 43.396 3382
+-65.126 43.396 3382
+-128 43.344 3194
+-127.874 43.344 3057
+-127.748 43.344 2943
+-127.622 43.344 3108
+-127.496 43.344 3230
+-127.37 43.344 3317
+-127.244 43.344 3430
+-127.118 43.344 3547
+-126.992 43.344 3660
+-126.866 43.344 3768
+-126.74 43.344 3889
+-126.614 43.344 4021
+-126.488 43.344 4201
+-126.362 43.344 4281
+-126.236 43.344 4367
+-126.11 43.344 4402
+-125.984 43.344 4412
+-125.858 43.344 4541
+-125.732 43.344 4651
+-125.606 43.344 4686
+-125.48 43.344 4773
+-125.354 43.344 4889
+-125.228 43.344 4960
+-125.102 43.344 5016
+-124.976 43.344 4981
+-124.85 43.344 5114
+-124.724 43.344 5216
+-124.598 43.344 5249
+-124.472 43.344 5297
+-124.346 43.344 5340
+-124.22 43.344 5418
+-124.094 43.344 5466
+-123.968 43.344 5526
+-123.842 43.344 5549
+-123.716 43.344 5528
+-123.59 43.344 5544
+-123.464 43.344 5580
+-123.338 43.344 5569
+-123.212 43.344 5594
+-123.086 43.344 5589
+-122.96 43.344 5595
+-122.834 43.344 5589
+-122.708 43.344 5579
+-122.582 43.344 5604
+-122.456 43.344 5554
+-122.33 43.344 5550
+-122.204 43.344 5544
+-122.078 43.344 5520
+-121.952 43.344 5470
+-121.826 43.344 5420
+-121.7 43.344 5338
+-121.574 43.344 5287
+-121.448 43.344 5214
+-121.322 43.344 5160
+-121.196 43.344 5049
+-121.07 43.344 5165
+-120.944 43.344 5241
+-120.818 43.344 5304
+-120.692 43.344 5432
+-120.566 43.344 5471
+-120.44 43.344 5607
+-120.314 43.344 5651
+-120.188 43.344 5752
+-120.062 43.344 5815
+-119.936 43.344 5900
+-119.81 43.344 5974
+-119.684 43.344 5957
+-119.558 43.344 6036
+-119.432 43.344 6088
+-119.306 43.344 6132
+-119.18 43.344 6187
+-119.054 43.344 6216
+-118.928 43.344 6259
+-118.802 43.344 6282
+-118.676 43.344 6266
+-118.55 43.344 6301
+-118.424 43.344 6315
+-118.298 43.344 6320
+-118.172 43.344 6309
+-118.046 43.344 6289
+-117.92 43.344 6302
+-117.794 43.344 6273
+-117.668 43.344 6233
+-117.542 43.344 6188
+-117.416 43.344 6175
+-117.29 43.344 6095
+-117.164 43.344 6024
+-117.038 43.344 5985
+-116.912 43.344 5938
+-116.786 43.344 5842
+-116.66 43.344 5774
+-116.534 43.344 5776
+-116.408 43.344 5712
+-116.282 43.344 5636
+-116.156 43.344 5552
+-116.03 43.344 5419
+-115.904 43.344 5310
+-115.778 43.344 5221
+-115.652 43.344 5181
+-115.526 43.344 5084
+-115.4 43.344 5080
+-115.274 43.344 4974
+-115.148 43.344 4864
+-115.022 43.344 4803
+-114.896 43.344 4688
+-114.77 43.344 4569
+-114.644 43.344 4448
+-114.518 43.344 4333
+-114.392 43.344 4214
+-114.266 43.344 4111
+-114.14 43.344 4022
+-114.014 43.344 3895
+-113.888 43.344 3742
+-113.762 43.344 3572
+-113.636 43.344 3452
+-113.51 43.344 3324
+-113.384 43.344 3345
+-113.258 43.344 3259
+-113.132 43.344 3286
+-113.006 43.344 3343
+-112.88 43.344 3344
+-112.754 43.344 3351
+-112.628 43.344 3344
+-112.502 43.344 3346
+-112.376 43.344 3326
+-112.25 43.344 3317
+-112.124 43.344 3314
+-111.998 43.344 3310
+-111.872 43.344 3306
+-111.746 43.344 3303
+-111.62 43.344 3300
+-111.494 43.344 3277
+-111.368 43.344 3260
+-111.242 43.344 3229
+-111.116 43.344 3229
+-110.99 43.344 3230
+-110.864 43.344 3232
+-110.738 43.344 3235
+-110.612 43.344 3202
+-110.486 43.344 3209
+-110.36 43.344 3202
+-110.234 43.344 3209
+-110.108 43.344 3148
+-109.982 43.344 3146
+-109.856 43.344 3200
+-109.73 43.344 3162
+-109.604 43.344 3093
+-109.478 43.344 3121
+-109.352 43.344 3126
+-109.226 43.344 3043
+-109.1 43.344 3100
+-108.974 43.344 3105
+-108.848 43.344 3109
+-108.722 43.344 3080
+-108.596 43.344 3084
+-108.47 43.344 3087
+-108.344 43.344 3091
+-108.218 43.344 3094
+-108.092 43.344 3097
+-107.966 43.344 3100
+-107.84 43.344 3103
+-107.714 43.344 3018
+-107.588 43.344 3020
+-107.462 43.344 3066
+-107.336 43.344 3068
+-107.21 43.344 3070
+-107.084 43.344 3073
+-106.958 43.344 3075
+-106.832 43.344 3077
+-106.706 43.344 3079
+-106.58 43.344 3081
+-106.454 43.344 2891
+-106.328 43.344 2894
+-106.202 43.344 2884
+-106.076 43.344 2860
+-105.95 43.344 2660
+-105.824 43.344 2567
+-105.698 43.344 2558
+-105.572 43.344 2550
+-105.446 43.344 2540
+-105.32 43.344 2530
+-105.194 43.344 2410
+-105.068 43.344 2398
+-104.942 43.344 2312
+-104.816 43.344 2245
+-104.69 43.344 2233
+-104.564 43.344 2167
+-104.438 43.344 2139
+-104.312 43.344 2090
+-104.186 43.344 1967
+-104.06 43.344 1981
+-103.934 43.344 2059
+-103.808 43.344 2099
+-103.682 43.344 2296
+-103.556 43.344 2382
+-103.43 43.344 2381
+-103.304 43.344 2498
+-103.178 43.344 2567
+-103.052 43.344 2563
+-102.926 43.344 2559
+-102.8 43.344 2555
+-102.674 43.344 2559
+-102.548 43.344 2611
+-102.422 43.344 2609
+-102.296 43.344 2647
+-102.17 43.344 2643
+-102.044 43.344 2638
+-101.918 43.344 2634
+-101.792 43.344 2630
+-101.666 43.344 2625
+-101.54 43.344 2621
+-101.414 43.344 2617
+-101.288 43.344 2622
+-101.162 43.344 2768
+-101.036 43.344 2763
+-100.91 43.344 2758
+-100.784 43.344 2753
+-100.658 43.344 2742
+-100.532 43.344 2765
+-100.406 43.344 2770
+-100.28 43.344 2766
+-100.154 43.344 2803
+-100.028 43.344 2799
+-99.902 43.344 2787
+-99.776 43.344 2786
+-99.65 43.344 2785
+-99.524 43.344 2784
+-99.398 43.344 2784
+-99.272 43.344 2784
+-99.146 43.344 2824
+-99.02 43.344 2823
+-98.894 43.344 2822
+-98.768 43.344 2766
+-98.642 43.344 2766
+-98.516 43.344 2766
+-98.39 43.344 2770
+-98.264 43.344 2769
+-98.138 43.344 2766
+-98.012 43.344 2763
+-97.886 43.344 2758
+-97.76 43.344 2835
+-97.634 43.344 2827
+-97.508 43.344 2812
+-97.382 43.344 2794
+-97.256 43.344 2774
+-97.13 43.344 2759
+-97.004 43.344 2728
+-96.878 43.344 2682
+-96.752 43.344 2660
+-96.626 43.344 2690
+-96.5 43.344 2630
+-96.374 43.344 2556
+-96.248 43.344 2476
+-96.122 43.344 2404
+-95.996 43.344 2353
+-95.87 43.344 2345
+-95.744 43.344 2395
+-95.618 43.344 2478
+-95.492 43.344 2597
+-95.366 43.344 2744
+-95.24 43.344 2871
+-95.114 43.344 2979
+-94.988 43.344 3063
+-94.862 43.344 3158
+-94.736 43.344 3231
+-94.61 43.344 3292
+-94.484 43.344 3357
+-94.358 43.344 3409
+-94.232 43.344 3427
+-94.106 43.344 3510
+-93.98 43.344 3531
+-93.854 43.344 3620
+-93.728 43.344 3639
+-93.602 43.344 3676
+-93.476 43.344 3701
+-93.35 43.344 3709
+-93.224 43.344 3756
+-93.098 43.344 3808
+-92.972 43.344 3812
+-92.846 43.344 3873
+-92.72 43.344 3984
+-92.594 43.344 4046
+-92.468 43.344 4104
+-92.342 43.344 4143
+-92.216 43.344 4197
+-92.09 43.344 4253
+-91.964 43.344 4279
+-91.838 43.344 4298
+-91.712 43.344 4318
+-91.586 43.344 4325
+-91.46 43.344 4346
+-91.334 43.344 4402
+-91.208 43.344 4419
+-91.082 43.344 4468
+-90.956 43.344 4465
+-90.83 43.344 4481
+-90.704 43.344 4490
+-90.578 43.344 4480
+-90.452 43.344 4488
+-90.326 43.344 4496
+-90.2 43.344 4490
+-90.074 43.344 4472
+-89.948 43.344 4456
+-89.822 43.344 4465
+-89.696 43.344 4464
+-89.57 43.344 4440
+-89.444 43.344 4413
+-89.318 43.344 4368
+-89.192 43.344 4350
+-89.066 43.344 4346
+-88.94 43.344 4319
+-88.814 43.344 4270
+-88.688 43.344 4226
+-88.562 43.344 4131
+-88.436 43.344 4059
+-88.31 43.344 4092
+-88.184 43.344 4080
+-88.058 43.344 4020
+-87.932 43.344 3929
+-87.806 43.344 3777
+-87.68 43.344 3671
+-87.554 43.344 3711
+-87.428 43.344 3718
+-87.302 43.344 3660
+-87.176 43.344 3543
+-87.05 43.344 3400
+-86.924 43.344 3327
+-86.798 43.344 3335
+-86.672 43.344 3328
+-86.546 43.344 3298
+-86.42 43.344 3296
+-86.294 43.344 3291
+-86.168 43.344 3257
+-86.042 43.344 3246
+-85.916 43.344 3229
+-85.79 43.344 3117
+-85.664 43.344 3049
+-85.538 43.344 3026
+-85.412 43.344 3002
+-85.286 43.344 2974
+-85.16 43.344 2955
+-85.034 43.344 2939
+-84.908 43.344 2893
+-84.782 43.344 2879
+-84.656 43.344 2868
+-84.53 43.344 2856
+-84.404 43.344 2848
+-84.278 43.344 2814
+-84.152 43.344 2811
+-84.026 43.344 2810
+-83.9 43.344 2813
+-83.774 43.344 2807
+-83.648 43.344 2817
+-83.522 43.344 2795
+-83.396 43.344 2799
+-83.27 43.344 2799
+-83.144 43.344 2805
+-83.018 43.344 2810
+-82.892 43.344 2814
+-82.766 43.344 2811
+-82.64 43.344 2878
+-82.514 43.344 2884
+-82.388 43.344 2890
+-82.262 43.344 2896
+-82.136 43.344 2966
+-82.01 43.344 2939
+-81.884 43.344 3025
+-81.758 43.344 3032
+-81.632 43.344 3014
+-81.506 43.344 3020
+-81.38 43.344 3025
+-81.254 43.344 3030
+-81.128 43.344 3034
+-81.002 43.344 3039
+-80.876 43.344 3103
+-80.75 43.344 3105
+-80.624 43.344 3111
+-80.498 43.344 3116
+-80.372 43.344 3121
+-80.246 43.344 3081
+-80.12 43.344 3105
+-79.994 43.344 3110
+-79.868 43.344 3163
+-79.742 43.344 3101
+-79.616 43.344 3105
+-79.49 43.344 3110
+-79.364 43.344 3145
+-79.238 43.344 3114
+-79.112 43.344 3118
+-78.986 43.344 3122
+-78.86 43.344 3310
+-78.734 43.344 3270
+-78.608 43.344 3274
+-78.482 43.344 3390
+-78.356 43.344 3371
+-78.23 43.344 3375
+-78.104 43.344 3332
+-77.978 43.344 3403
+-77.852 43.344 3405
+-77.726 43.344 3408
+-77.6 43.344 3411
+-77.474 43.344 3414
+-77.348 43.344 3414
+-77.222 43.344 3416
+-77.096 43.344 3419
+-76.97 43.344 3409
+-76.844 43.344 3364
+-76.718 43.344 3360
+-76.592 43.344 3362
+-76.466 43.344 3364
+-76.34 43.344 3366
+-76.214 43.344 3368
+-76.088 43.344 3370
+-75.962 43.344 3372
+-75.836 43.344 3374
+-75.71 43.344 3376
+-75.584 43.344 3377
+-75.458 43.344 3379
+-75.332 43.344 3380
+-75.206 43.344 3382
+-75.08 43.344 3383
+-74.954 43.344 3385
+-74.828 43.344 3487
+-74.702 43.344 3489
+-74.576 43.344 3476
+-74.45 43.344 3477
+-74.324 43.344 3478
+-74.198 43.344 3480
+-74.072 43.344 3481
+-73.946 43.344 3482
+-73.82 43.344 3483
+-73.694 43.344 3484
+-73.568 43.344 3485
+-73.442 43.344 3486
+-73.316 43.344 3487
+-73.19 43.344 3519
+-73.064 43.344 3520
+-72.938 43.344 3521
+-72.812 43.344 3523
+-72.686 43.344 3524
+-72.56 43.344 3525
+-72.434 43.344 3488
+-72.308 43.344 3489
+-72.182 43.344 3490
+-72.056 43.344 3491
+-71.93 43.344 3524
+-71.804 43.344 3525
+-71.678 43.344 3526
+-71.552 43.344 3482
+-71.426 43.344 3483
+-71.3 43.344 3484
+-71.174 43.344 3620
+-71.048 43.344 3621
+-70.922 43.344 3621
+-70.796 43.344 3622
+-70.67 43.344 3622
+-70.544 43.344 3558
+-70.418 43.344 3559
+-70.292 43.344 3559
+-70.166 43.344 3559
+-70.04 43.344 3560
+-69.914 43.344 3560
+-69.788 43.344 3560
+-69.662 43.344 3560
+-69.536 43.344 3561
+-69.41 43.344 3561
+-69.284 43.344 3541
+-69.158 43.344 3529
+-69.032 43.344 3529
+-68.906 43.344 3530
+-68.78 43.344 3530
+-68.654 43.344 3530
+-68.528 43.344 3512
+-68.402 43.344 3512
+-68.276 43.344 3512
+-68.15 43.344 3513
+-68.024 43.344 3513
+-67.898 43.344 3513
+-67.772 43.344 3513
+-67.646 43.344 3513
+-67.52 43.344 3514
+-67.394 43.344 3462
+-67.268 43.344 3462
+-67.142 43.344 3462
+-67.016 43.344 3462
+-66.89 43.344 3462
+-66.764 43.344 3462
+-66.638 43.344 3463
+-66.512 43.344 3463
+-66.386 43.344 3463
+-66.26 43.344 3463
+-66.134 43.344 3463
+-66.008 43.344 3463
+-65.882 43.344 3464
+-65.756 43.344 3382
+-65.63 43.344 3382
+-65.504 43.344 3382
+-65.378 43.344 3382
+-65.252 43.344 3382
+-65.126 43.344 3382
+-128 43.292 3204
+-127.874 43.292 3115
+-127.748 43.292 3060
+-127.622 43.292 3151
+-127.496 43.292 3263
+-127.37 43.292 3347
+-127.244 43.292 3448
+-127.118 43.292 3564
+-126.992 43.292 3670
+-126.866 43.292 3771
+-126.74 43.292 3874
+-126.614 43.292 4000
+-126.488 43.292 4143
+-126.362 43.292 4224
+-126.236 43.292 4339
+-126.11 43.292 4354
+-125.984 43.292 4307
+-125.858 43.292 4436
+-125.732 43.292 4605
+-125.606 43.292 4627
+-125.48 43.292 4706
+-125.354 43.292 4830
+-125.228 43.292 4882
+-125.102 43.292 4951
+-124.976 43.292 5019
+-124.85 43.292 5083
+-124.724 43.292 5161
+-124.598 43.292 5197
+-124.472 43.292 5251
+-124.346 43.292 5311
+-124.22 43.292 5352
+-124.094 43.292 5438
+-123.968 43.292 5479
+-123.842 43.292 5519
+-123.716 43.292 5529
+-123.59 43.292 5525
+-123.464 43.292 5525
+-123.338 43.292 5541
+-123.212 43.292 5535
+-123.086 43.292 5541
+-122.96 43.292 5536
+-122.834 43.292 5530
+-122.708 43.292 5525
+-122.582 43.292 5551
+-122.456 43.292 5537
+-122.33 43.292 5495
+-122.204 43.292 5500
+-122.078 43.292 5458
+-121.952 43.292 5401
+-121.826 43.292 5336
+-121.7 43.292 5313
+-121.574 43.292 5227
+-121.448 43.292 5179
+-121.322 43.292 5168
+-121.196 43.292 5105
+-121.07 43.292 5093
+-120.944 43.292 5196
+-120.818 43.292 5282
+-120.692 43.292 5345
+-120.566 43.292 5434
+-120.44 43.292 5543
+-120.314 43.292 5593
+-120.188 43.292 5664
+-120.062 43.292 5732
+-119.936 43.292 5802
+-119.81 43.292 5903
+-119.684 43.292 5966
+-119.558 43.292 6017
+-119.432 43.292 6064
+-119.306 43.292 6100
+-119.18 43.292 6140
+-119.054 43.292 6195
+-118.928 43.292 6203
+-118.802 43.292 6224
+-118.676 43.292 6256
+-118.55 43.292 6270
+-118.424 43.292 6278
+-118.298 43.292 6275
+-118.172 43.292 6257
+-118.046 43.292 6242
+-117.92 43.292 6212
+-117.794 43.292 6209
+-117.668 43.292 6178
+-117.542 43.292 6155
+-117.416 43.292 6110
+-117.29 43.292 6033
+-117.164 43.292 5987
+-117.038 43.292 5958
+-116.912 43.292 5910
+-116.786 43.292 5817
+-116.66 43.292 5764
+-116.534 43.292 5694
+-116.408 43.292 5696
+-116.282 43.292 5598
+-116.156 43.292 5476
+-116.03 43.292 5341
+-115.904 43.292 5310
+-115.778 43.292 5244
+-115.652 43.292 5179
+-115.526 43.292 5105
+-115.4 43.292 5060
+-115.274 43.292 4964
+-115.148 43.292 4845
+-115.022 43.292 4778
+-114.896 43.292 4683
+-114.77 43.292 4568
+-114.644 43.292 4449
+-114.518 43.292 4306
+-114.392 43.292 4152
+-114.266 43.292 4060
+-114.14 43.292 3984
+-114.014 43.292 3866
+-113.888 43.292 3746
+-113.762 43.292 3594
+-113.636 43.292 3478
+-113.51 43.292 3403
+-113.384 43.292 3385
+-113.258 43.292 3365
+-113.132 43.292 3365
+-113.006 43.292 3352
+-112.88 43.292 3360
+-112.754 43.292 3361
+-112.628 43.292 3334
+-112.502 43.292 3322
+-112.376 43.292 3314
+-112.25 43.292 3298
+-112.124 43.292 3290
+-111.998 43.292 3282
+-111.872 43.292 3275
+-111.746 43.292 3270
+-111.62 43.292 3266
+-111.494 43.292 3264
+-111.368 43.292 3242
+-111.242 43.292 3227
+-111.116 43.292 3199
+-110.99 43.292 3202
+-110.864 43.292 3205
+-110.738 43.292 3209
+-110.612 43.292 3214
+-110.486 43.292 3182
+-110.36 43.292 3145
+-110.234 43.292 3185
+-110.108 43.292 3193
+-109.982 43.292 3133
+-109.856 43.292 3133
+-109.73 43.292 3140
+-109.604 43.292 3150
+-109.478 43.292 3082
+-109.352 43.292 2981
+-109.226 43.292 3078
+-109.1 43.292 3084
+-108.974 43.292 3089
+-108.848 43.292 3095
+-108.722 43.292 3100
+-108.596 43.292 3071
+-108.47 43.292 3075
+-108.344 43.292 3079
+-108.218 43.292 3083
+-108.092 43.292 3087
+-107.966 43.292 3090
+-107.84 43.292 3006
+-107.714 43.292 3008
+-107.588 43.292 3010
+-107.462 43.292 3013
+-107.336 43.292 3060
+-107.21 43.292 3063
+-107.084 43.292 3065
+-106.958 43.292 3067
+-106.832 43.292 3070
+-106.706 43.292 3072
+-106.58 43.292 3074
+-106.454 43.292 3076
+-106.328 43.292 2886
+-106.202 43.292 2798
+-106.076 43.292 2770
+-105.95 43.292 2649
+-105.824 43.292 2555
+-105.698 43.292 2546
+-105.572 43.292 2537
+-105.446 43.292 2528
+-105.32 43.292 2407
+-105.194 43.292 2396
+-105.068 43.292 2385
+-104.942 43.292 2298
+-104.816 43.292 2231
+-104.69 43.292 2219
+-104.564 43.292 2156
+-104.438 43.292 2129
+-104.312 43.292 2082
+-104.186 43.292 1932
+-104.06 43.292 1977
+-103.934 43.292 2009
+-103.808 43.292 2051
+-103.682 43.292 2238
+-103.556 43.292 2379
+-103.43 43.292 2378
+-103.304 43.292 2496
+-103.178 43.292 2563
+-103.052 43.292 2559
+-102.926 43.292 2555
+-102.8 43.292 2551
+-102.674 43.292 2547
+-102.548 43.292 2551
+-102.422 43.292 2603
+-102.296 43.292 2601
+-102.17 43.292 2638
+-102.044 43.292 2633
+-101.918 43.292 2629
+-101.792 43.292 2624
+-101.666 43.292 2619
+-101.54 43.292 2615
+-101.414 43.292 2611
+-101.288 43.292 2606
+-101.162 43.292 2612
+-101.036 43.292 2756
+-100.91 43.292 2751
+-100.784 43.292 2746
+-100.658 43.292 2742
+-100.532 43.292 2730
+-100.406 43.292 2753
+-100.28 43.292 2758
+-100.154 43.292 2754
+-100.028 43.292 2790
+-99.902 43.292 2786
+-99.776 43.292 2776
+-99.65 43.292 2775
+-99.524 43.292 2775
+-99.398 43.292 2774
+-99.272 43.292 2774
+-99.146 43.292 2774
+-99.02 43.292 2814
+-98.894 43.292 2813
+-98.768 43.292 2812
+-98.642 43.292 2758
+-98.516 43.292 2758
+-98.39 43.292 2757
+-98.264 43.292 2762
+-98.138 43.292 2760
+-98.012 43.292 2757
+-97.886 43.292 2752
+-97.76 43.292 2745
+-97.634 43.292 2818
+-97.508 43.292 2806
+-97.382 43.292 2788
+-97.256 43.292 2766
+-97.13 43.292 2745
+-97.004 43.292 2717
+-96.878 43.292 2678
+-96.752 43.292 2623
+-96.626 43.292 2585
+-96.5 43.292 2581
+-96.374 43.292 2496
+-96.248 43.292 2392
+-96.122 43.292 2285
+-95.996 43.292 2197
+-95.87 43.292 2169
+-95.744 43.292 2231
+-95.618 43.292 2365
+-95.492 43.292 2522
+-95.366 43.292 2676
+-95.24 43.292 2811
+-95.114 43.292 2943
+-94.988 43.292 3050
+-94.862 43.292 3131
+-94.736 43.292 3225
+-94.61 43.292 3296
+-94.484 43.292 3380
+-94.358 43.292 3413
+-94.232 43.292 3469
+-94.106 43.292 3553
+-93.98 43.292 3593
+-93.854 43.292 3620
+-93.728 43.292 3632
+-93.602 43.292 3673
+-93.476 43.292 3693
+-93.35 43.292 3674
+-93.224 43.292 3750
+-93.098 43.292 3815
+-92.972 43.292 3846
+-92.846 43.292 3924
+-92.72 43.292 4023
+-92.594 43.292 4034
+-92.468 43.292 4109
+-92.342 43.292 4121
+-92.216 43.292 4210
+-92.09 43.292 4283
+-91.964 43.292 4281
+-91.838 43.292 4330
+-91.712 43.292 4373
+-91.586 43.292 4427
+-91.46 43.292 4444
+-91.334 43.292 4489
+-91.208 43.292 4525
+-91.082 43.292 4546
+-90.956 43.292 4545
+-90.83 43.292 4527
+-90.704 43.292 4524
+-90.578 43.292 4544
+-90.452 43.292 4564
+-90.326 43.292 4581
+-90.2 43.292 4564
+-90.074 43.292 4550
+-89.948 43.292 4543
+-89.822 43.292 4531
+-89.696 43.292 4523
+-89.57 43.292 4499
+-89.444 43.292 4466
+-89.318 43.292 4419
+-89.192 43.292 4389
+-89.066 43.292 4381
+-88.94 43.292 4341
+-88.814 43.292 4301
+-88.688 43.292 4269
+-88.562 43.292 4198
+-88.436 43.292 4126
+-88.31 43.292 4109
+-88.184 43.292 4094
+-88.058 43.292 4075
+-87.932 43.292 3987
+-87.806 43.292 3872
+-87.68 43.292 3765
+-87.554 43.292 3763
+-87.428 43.292 3744
+-87.302 43.292 3658
+-87.176 43.292 3532
+-87.05 43.292 3356
+-86.924 43.292 3265
+-86.798 43.292 3302
+-86.672 43.292 3286
+-86.546 43.292 3259
+-86.42 43.292 3243
+-86.294 43.292 3259
+-86.168 43.292 3241
+-86.042 43.292 3234
+-85.916 43.292 3215
+-85.79 43.292 3163
+-85.664 43.292 3141
+-85.538 43.292 3018
+-85.412 43.292 2991
+-85.286 43.292 2968
+-85.16 43.292 2950
+-85.034 43.292 2904
+-84.908 43.292 2888
+-84.782 43.292 2874
+-84.656 43.292 2858
+-84.53 43.292 2847
+-84.404 43.292 2839
+-84.278 43.292 2834
+-84.152 43.292 2844
+-84.026 43.292 2809
+-83.9 43.292 2842
+-83.774 43.292 2856
+-83.648 43.292 2862
+-83.522 43.292 2865
+-83.396 43.292 2858
+-83.27 43.292 2807
+-83.144 43.292 2812
+-83.018 43.292 2817
+-82.892 43.292 2873
+-82.766 43.292 2879
+-82.64 43.292 2885
+-82.514 43.292 2892
+-82.388 43.292 2898
+-82.262 43.292 2966
+-82.136 43.292 2939
+-82.01 43.292 3022
+-81.884 43.292 3029
+-81.758 43.292 3012
+-81.632 43.292 3018
+-81.506 43.292 3023
+-81.38 43.292 3028
+-81.254 43.292 3033
+-81.128 43.292 3038
+-81.002 43.292 3102
+-80.876 43.292 3104
+-80.75 43.292 3110
+-80.624 43.292 3115
+-80.498 43.292 3120
+-80.372 43.292 3081
+-80.246 43.292 3105
+-80.12 43.292 3110
+-79.994 43.292 3161
+-79.868 43.292 3101
+-79.742 43.292 3105
+-79.616 43.292 3110
+-79.49 43.292 3145
+-79.364 43.292 3114
+-79.238 43.292 3118
+-79.112 43.292 3122
+-78.986 43.292 3308
+-78.86 43.292 3268
+-78.734 43.292 3272
+-78.608 43.292 3388
+-78.482 43.292 3369
+-78.356 43.292 3374
+-78.23 43.292 3331
+-78.104 43.292 3401
+-77.978 43.292 3404
+-77.852 43.292 3407
+-77.726 43.292 3410
+-77.6 43.292 3413
+-77.474 43.292 3412
+-77.348 43.292 3415
+-77.222 43.292 3418
+-77.096 43.292 3408
+-76.97 43.292 3363
+-76.844 43.292 3359
+-76.718 43.292 3361
+-76.592 43.292 3363
+-76.466 43.292 3366
+-76.34 43.292 3368
+-76.214 43.292 3370
+-76.088 43.292 3371
+-75.962 43.292 3373
+-75.836 43.292 3375
+-75.71 43.292 3377
+-75.584 43.292 3378
+-75.458 43.292 3380
+-75.332 43.292 3382
+-75.206 43.292 3383
+-75.08 43.292 3385
+-74.954 43.292 3487
+-74.828 43.292 3488
+-74.702 43.292 3475
+-74.576 43.292 3476
+-74.45 43.292 3478
+-74.324 43.292 3479
+-74.198 43.292 3480
+-74.072 43.292 3481
+-73.946 43.292 3482
+-73.82 43.292 3484
+-73.694 43.292 3485
+-73.568 43.292 3486
+-73.442 43.292 3487
+-73.316 43.292 3518
+-73.19 43.292 3519
+-73.064 43.292 3521
+-72.938 43.292 3522
+-72.812 43.292 3523
+-72.686 43.292 3525
+-72.56 43.292 3488
+-72.434 43.292 3489
+-72.308 43.292 3490
+-72.182 43.292 3491
+-72.056 43.292 3523
+-71.93 43.292 3524
+-71.804 43.292 3526
+-71.678 43.292 3482
+-71.552 43.292 3483
+-71.426 43.292 3484
+-71.3 43.292 3620
+-71.174 43.292 3620
+-71.048 43.292 3621
+-70.922 43.292 3621
+-70.796 43.292 3622
+-70.67 43.292 3558
+-70.544 43.292 3558
+-70.418 43.292 3559
+-70.292 43.292 3559
+-70.166 43.292 3559
+-70.04 43.292 3560
+-69.914 43.292 3560
+-69.788 43.292 3560
+-69.662 43.292 3560
+-69.536 43.292 3561
+-69.41 43.292 3541
+-69.284 43.292 3529
+-69.158 43.292 3529
+-69.032 43.292 3529
+-68.906 43.292 3530
+-68.78 43.292 3530
+-68.654 43.292 3530
+-68.528 43.292 3512
+-68.402 43.292 3512
+-68.276 43.292 3512
+-68.15 43.292 3513
+-68.024 43.292 3513
+-67.898 43.292 3513
+-67.772 43.292 3513
+-67.646 43.292 3513
+-67.52 43.292 3462
+-67.394 43.292 3462
+-67.268 43.292 3462
+-67.142 43.292 3462
+-67.016 43.292 3462
+-66.89 43.292 3462
+-66.764 43.292 3463
+-66.638 43.292 3463
+-66.512 43.292 3463
+-66.386 43.292 3463
+-66.26 43.292 3463
+-66.134 43.292 3463
+-66.008 43.292 3463
+-65.882 43.292 3382
+-65.756 43.292 3382
+-65.63 43.292 3382
+-65.504 43.292 3382
+-65.378 43.292 3382
+-65.252 43.292 3382
+-65.126 43.292 3381
+-128 43.24 3261
+-127.874 43.24 3215
+-127.748 43.24 3202
+-127.622 43.24 3246
+-127.496 43.24 3316
+-127.37 43.24 3386
+-127.244 43.24 3485
+-127.118 43.24 3558
+-126.992 43.24 3629
+-126.866 43.24 3763
+-126.74 43.24 3859
+-126.614 43.24 3932
+-126.488 43.24 4045
+-126.362 43.24 4154
+-126.236 43.24 4249
+-126.11 43.24 4323
+-125.984 43.24 4359
+-125.858 43.24 4461
+-125.732 43.24 4587
+-125.606 43.24 4642
+-125.48 43.24 4690
+-125.354 43.24 4797
+-125.228 43.24 4798
+-125.102 43.24 4881
+-124.976 43.24 4970
+-124.85 43.24 5024
+-124.724 43.24 5094
+-124.598 43.24 5118
+-124.472 43.24 5173
+-124.346 43.24 5249
+-124.22 43.24 5277
+-124.094 43.24 5342
+-123.968 43.24 5398
+-123.842 43.24 5423
+-123.716 43.24 5444
+-123.59 43.24 5449
+-123.464 43.24 5462
+-123.338 43.24 5481
+-123.212 43.24 5448
+-123.086 43.24 5511
+-122.96 43.24 5484
+-122.834 43.24 5502
+-122.708 43.24 5507
+-122.582 43.24 5496
+-122.456 43.24 5483
+-122.33 43.24 5462
+-122.204 43.24 5411
+-122.078 43.24 5368
+-121.952 43.24 5373
+-121.826 43.24 5274
+-121.7 43.24 5228
+-121.574 43.24 5182
+-121.448 43.24 5137
+-121.322 43.24 5108
+-121.196 43.24 4982
+-121.07 43.24 5085
+-120.944 43.24 5177
+-120.818 43.24 5231
+-120.692 43.24 5289
+-120.566 43.24 5380
+-120.44 43.24 5495
+-120.314 43.24 5545
+-120.188 43.24 5615
+-120.062 43.24 5670
+-119.936 43.24 5732
+-119.81 43.24 5808
+-119.684 43.24 5895
+-119.558 43.24 5934
+-119.432 43.24 5980
+-119.306 43.24 6037
+-119.18 43.24 6067
+-119.054 43.24 6118
+-118.928 43.24 6162
+-118.802 43.24 6150
+-118.676 43.24 6177
+-118.55 43.24 6209
+-118.424 43.24 6221
+-118.298 43.24 6220
+-118.172 43.24 6205
+-118.046 43.24 6182
+-117.92 43.24 6168
+-117.794 43.24 6147
+-117.668 43.24 6136
+-117.542 43.24 6115
+-117.416 43.24 6066
+-117.29 43.24 6005
+-117.164 43.24 5956
+-117.038 43.24 5910
+-116.912 43.24 5857
+-116.786 43.24 5783
+-116.66 43.24 5733
+-116.534 43.24 5699
+-116.408 43.24 5647
+-116.282 43.24 5527
+-116.156 43.24 5414
+-116.03 43.24 5301
+-115.904 43.24 5234
+-115.778 43.24 5210
+-115.652 43.24 5157
+-115.526 43.24 5074
+-115.4 43.24 4990
+-115.274 43.24 4855
+-115.148 43.24 4730
+-115.022 43.24 4718
+-114.896 43.24 4665
+-114.77 43.24 4556
+-114.644 43.24 4437
+-114.518 43.24 4251
+-114.392 43.24 4122
+-114.266 43.24 3997
+-114.14 43.24 3925
+-114.014 43.24 3822
+-113.888 43.24 3733
+-113.762 43.24 3636
+-113.636 43.24 3521
+-113.51 43.24 3463
+-113.384 43.24 3429
+-113.258 43.24 3412
+-113.132 43.24 3373
+-113.006 43.24 3369
+-112.88 43.24 3346
+-112.754 43.24 3337
+-112.628 43.24 3326
+-112.502 43.24 3312
+-112.376 43.24 3291
+-112.25 43.24 3278
+-112.124 43.24 3257
+-111.998 43.24 3246
+-111.872 43.24 3237
+-111.746 43.24 3230
+-111.62 43.24 3226
+-111.494 43.24 3224
+-111.368 43.24 3225
+-111.242 43.24 3207
+-111.116 43.24 3194
+-110.99 43.24 3170
+-110.864 43.24 3175
+-110.738 43.24 3181
+-110.612 43.24 3188
+-110.486 43.24 3111
+-110.36 43.24 3120
+-110.234 43.24 3128
+-110.108 43.24 3137
+-109.982 43.24 3145
+-109.856 43.24 3121
+-109.73 43.24 3121
+-109.604 43.24 3055
+-109.478 43.24 3055
+-109.352 43.24 2985
+-109.226 43.24 2970
+-109.1 43.24 3067
+-108.974 43.24 3073
+-108.848 43.24 3080
+-108.722 43.24 3086
+-108.596 43.24 3091
+-108.47 43.24 3063
+-108.344 43.24 3067
+-108.218 43.24 3072
+-108.092 43.24 3076
+-107.966 43.24 2992
+-107.84 43.24 2995
+-107.714 43.24 2998
+-107.588 43.24 3000
+-107.462 43.24 3003
+-107.336 43.24 3005
+-107.21 43.24 3055
+-107.084 43.24 3058
+-106.958 43.24 3060
+-106.832 43.24 3063
+-106.706 43.24 3065
+-106.58 43.24 3068
+-106.454 43.24 3070
+-106.328 43.24 2788
+-106.202 43.24 2789
+-106.076 43.24 2674
+-105.95 43.24 2652
+-105.824 43.24 2468
+-105.698 43.24 2534
+-105.572 43.24 2525
+-105.446 43.24 2404
+-105.32 43.24 2394
+-105.194 43.24 2383
+-105.068 43.24 2371
+-104.942 43.24 2284
+-104.816 43.24 2218
+-104.69 43.24 2206
+-104.564 43.24 2145
+-104.438 43.24 2119
+-104.312 43.24 2060
+-104.186 43.24 1927
+-104.06 43.24 1972
+-103.934 43.24 2004
+-103.808 43.24 2049
+-103.682 43.24 2215
+-103.556 43.24 2329
+-103.43 43.24 2376
+-103.304 43.24 2493
+-103.178 43.24 2560
+-103.052 43.24 2556
+-102.926 43.24 2552
+-102.8 43.24 2548
+-102.674 43.24 2543
+-102.548 43.24 2539
+-102.422 43.24 2543
+-102.296 43.24 2593
+-102.17 43.24 2591
+-102.044 43.24 2628
+-101.918 43.24 2623
+-101.792 43.24 2618
+-101.666 43.24 2613
+-101.54 43.24 2609
+-101.414 43.24 2604
+-101.288 43.24 2599
+-101.162 43.24 2594
+-101.036 43.24 2602
+-100.91 43.24 2744
+-100.784 43.24 2739
+-100.658 43.24 2734
+-100.532 43.24 2729
+-100.406 43.24 2718
+-100.28 43.24 2741
+-100.154 43.24 2745
+-100.028 43.24 2742
+-99.902 43.24 2776
+-99.776 43.24 2773
+-99.65 43.24 2764
+-99.524 43.24 2764
+-99.398 43.24 2764
+-99.272 43.24 2764
+-99.146 43.24 2764
+-99.02 43.24 2764
+-98.894 43.24 2804
+-98.768 43.24 2803
+-98.642 43.24 2803
+-98.516 43.24 2750
+-98.39 43.24 2750
+-98.264 43.24 2749
+-98.138 43.24 2753
+-98.012 43.24 2751
+-97.886 43.24 2747
+-97.76 43.24 2741
+-97.634 43.24 2732
+-97.508 43.24 2799
+-97.382 43.24 2784
+-97.256 43.24 2762
+-97.13 43.24 2734
+-97.004 43.24 2702
+-96.878 43.24 2670
+-96.752 43.24 2621
+-96.626 43.24 2554
+-96.5 43.24 2495
+-96.374 43.24 2451
+-96.248 43.24 2332
+-96.122 43.24 2191
+-95.996 43.24 2059
+-95.87 43.24 2000
+-95.744 43.24 2081
+-95.618 43.24 2260
+-95.492 43.24 2452
+-95.366 43.24 2620
+-95.24 43.24 2769
+-95.114 43.24 2900
+-94.988 43.24 3028
+-94.862 43.24 3132
+-94.736 43.24 3205
+-94.61 43.24 3297
+-94.484 43.24 3363
+-94.358 43.24 3444
+-94.232 43.24 3471
+-94.106 43.24 3567
+-93.98 43.24 3586
+-93.854 43.24 3592
+-93.728 43.24 3575
+-93.602 43.24 3631
+-93.476 43.24 3708
+-93.35 43.24 3728
+-93.224 43.24 3798
+-93.098 43.24 3818
+-92.972 43.24 3877
+-92.846 43.24 3969
+-92.72 43.24 4050
+-92.594 43.24 4090
+-92.468 43.24 4154
+-92.342 43.24 4203
+-92.216 43.24 4274
+-92.09 43.24 4319
+-91.964 43.24 4342
+-91.838 43.24 4396
+-91.712 43.24 4436
+-91.586 43.24 4486
+-91.46 43.24 4532
+-91.334 43.24 4584
+-91.208 43.24 4634
+-91.082 43.24 4649
+-90.956 43.24 4659
+-90.83 43.24 4636
+-90.704 43.24 4627
+-90.578 43.24 4637
+-90.452 43.24 4647
+-90.326 43.24 4642
+-90.2 43.24 4635
+-90.074 43.24 4600
+-89.948 43.24 4573
+-89.822 43.24 4570
+-89.696 43.24 4540
+-89.57 43.24 4540
+-89.444 43.24 4515
+-89.318 43.24 4471
+-89.192 43.24 4458
+-89.066 43.24 4422
+-88.94 43.24 4371
+-88.814 43.24 4280
+-88.688 43.24 4308
+-88.562 43.24 4252
+-88.436 43.24 4164
+-88.31 43.24 4087
+-88.184 43.24 4066
+-88.058 43.24 4089
+-87.932 43.24 4046
+-87.806 43.24 3984
+-87.68 43.24 3903
+-87.554 43.24 3838
+-87.428 43.24 3795
+-87.302 43.24 3707
+-87.176 43.24 3575
+-87.05 43.24 3427
+-86.924 43.24 3331
+-86.798 43.24 3320
+-86.672 43.24 3219
+-86.546 43.24 3150
+-86.42 43.24 3177
+-86.294 43.24 3230
+-86.168 43.24 3254
+-86.042 43.24 3223
+-85.916 43.24 3177
+-85.79 43.24 3153
+-85.664 43.24 3109
+-85.538 43.24 3077
+-85.412 43.24 3048
+-85.286 43.24 3001
+-85.16 43.24 2939
+-85.034 43.24 2923
+-84.908 43.24 2908
+-84.782 43.24 2893
+-84.656 43.24 2879
+-84.53 43.24 2867
+-84.404 43.24 2859
+-84.278 43.24 2830
+-84.152 43.24 2822
+-84.026 43.24 2828
+-83.9 43.24 2842
+-83.774 43.24 2850
+-83.648 43.24 2854
+-83.522 43.24 2851
+-83.396 43.24 2860
+-83.27 43.24 2868
+-83.144 43.24 2818
+-83.018 43.24 2923
+-82.892 43.24 2878
+-82.766 43.24 2885
+-82.64 43.24 2892
+-82.514 43.24 2899
+-82.388 43.24 2965
+-82.262 43.24 3008
+-82.136 43.24 3018
+-82.01 43.24 3026
+-81.884 43.24 3010
+-81.758 43.24 3016
+-81.632 43.24 3021
+-81.506 43.24 3027
+-81.38 43.24 3032
+-81.254 43.24 3037
+-81.128 43.24 3100
+-81.002 43.24 3102
+-80.876 43.24 3108
+-80.75 43.24 3114
+-80.624 43.24 3119
+-80.498 43.24 3080
+-80.372 43.24 3104
+-80.246 43.24 3109
+-80.12 43.24 3160
+-79.994 43.24 3100
+-79.868 43.24 3105
+-79.742 43.24 3110
+-79.616 43.24 3145
+-79.49 43.24 3114
+-79.364 43.24 3118
+-79.238 43.24 3123
+-79.112 43.24 3305
+-78.986 43.24 3266
+-78.86 43.24 3270
+-78.734 43.24 3385
+-78.608 43.24 3367
+-78.482 43.24 3372
+-78.356 43.24 3329
+-78.23 43.24 3399
+-78.104 43.24 3402
+-77.978 43.24 3405
+-77.852 43.24 3409
+-77.726 43.24 3412
+-77.6 43.24 3411
+-77.474 43.24 3414
+-77.348 43.24 3417
+-77.222 43.24 3406
+-77.096 43.24 3362
+-76.97 43.24 3358
+-76.844 43.24 3361
+-76.718 43.24 3363
+-76.592 43.24 3365
+-76.466 43.24 3367
+-76.34 43.24 3369
+-76.214 43.24 3371
+-76.088 43.24 3373
+-75.962 43.24 3375
+-75.836 43.24 3376
+-75.71 43.24 3378
+-75.584 43.24 3380
+-75.458 43.24 3381
+-75.332 43.24 3383
+-75.206 43.24 3384
+-75.08 43.24 3486
+-74.954 43.24 3487
+-74.828 43.24 3475
+-74.702 43.24 3476
+-74.576 43.24 3477
+-74.45 43.24 3478
+-74.324 43.24 3480
+-74.198 43.24 3481
+-74.072 43.24 3482
+-73.946 43.24 3483
+-73.82 43.24 3484
+-73.694 43.24 3485
+-73.568 43.24 3486
+-73.442 43.24 3517
+-73.316 43.24 3519
+-73.19 43.24 3520
+-73.064 43.24 3522
+-72.938 43.24 3523
+-72.812 43.24 3524
+-72.686 43.24 3487
+-72.56 43.24 3488
+-72.434 43.24 3489
+-72.308 43.24 3490
+-72.182 43.24 3522
+-72.056 43.24 3524
+-71.93 43.24 3525
+-71.804 43.24 3482
+-71.678 43.24 3483
+-71.552 43.24 3484
+-71.426 43.24 3619
+-71.3 43.24 3620
+-71.174 43.24 3620
+-71.048 43.24 3621
+-70.922 43.24 3621
+-70.796 43.24 3558
+-70.67 43.24 3558
+-70.544 43.24 3558
+-70.418 43.24 3559
+-70.292 43.24 3559
+-70.166 43.24 3559
+-70.04 43.24 3560
+-69.914 43.24 3560
+-69.788 43.24 3560
+-69.662 43.24 3560
+-69.536 43.24 3541
+-69.41 43.24 3529
+-69.284 43.24 3529
+-69.158 43.24 3529
+-69.032 43.24 3529
+-68.906 43.24 3530
+-68.78 43.24 3512
+-68.654 43.24 3512
+-68.528 43.24 3512
+-68.402 43.24 3512
+-68.276 43.24 3512
+-68.15 43.24 3513
+-68.024 43.24 3513
+-67.898 43.24 3513
+-67.772 43.24 3513
+-67.646 43.24 3461
+-67.52 43.24 3462
+-67.394 43.24 3462
+-67.268 43.24 3462
+-67.142 43.24 3462
+-67.016 43.24 3462
+-66.89 43.24 3462
+-66.764 43.24 3463
+-66.638 43.24 3463
+-66.512 43.24 3463
+-66.386 43.24 3463
+-66.26 43.24 3463
+-66.134 43.24 3463
+-66.008 43.24 3382
+-65.882 43.24 3382
+-65.756 43.24 3382
+-65.63 43.24 3382
+-65.504 43.24 3382
+-65.378 43.24 3382
+-65.252 43.24 3381
+-65.126 43.24 3381
+-128 43.188 3278
+-127.874 43.188 3295
+-127.748 43.188 3296
+-127.622 43.188 3323
+-127.496 43.188 3369
+-127.37 43.188 3444
+-127.244 43.188 3502
+-127.118 43.188 3595
+-126.992 43.188 3658
+-126.866 43.188 3735
+-126.74 43.188 3806
+-126.614 43.188 3907
+-126.488 43.188 3995
+-126.362 43.188 4034
+-126.236 43.188 4137
+-126.11 43.188 4267
+-125.984 43.188 4389
+-125.858 43.188 4486
+-125.732 43.188 4553
+-125.606 43.188 4632
+-125.48 43.188 4681
+-125.354 43.188 4750
+-125.228 43.188 4785
+-125.102 43.188 4854
+-124.976 43.188 4906
+-124.85 43.188 4952
+-124.724 43.188 5016
+-124.598 43.188 5068
+-124.472 43.188 5099
+-124.346 43.188 5164
+-124.22 43.188 5191
+-124.094 43.188 5234
+-123.968 43.188 5290
+-123.842 43.188 5320
+-123.716 43.188 5359
+-123.59 43.188 5335
+-123.464 43.188 5410
+-123.338 43.188 5449
+-123.212 43.188 5457
+-123.086 43.188 5474
+-122.96 43.188 5470
+-122.834 43.188 5462
+-122.708 43.188 5454
+-122.582 43.188 5425
+-122.456 43.188 5394
+-122.33 43.188 5355
+-122.204 43.188 5322
+-122.078 43.188 5301
+-121.952 43.188 5269
+-121.826 43.188 5222
+-121.7 43.188 5169
+-121.574 43.188 5146
+-121.448 43.188 5089
+-121.322 43.188 5043
+-121.196 43.188 4914
+-121.07 43.188 5050
+-120.944 43.188 5130
+-120.818 43.188 5218
+-120.692 43.188 5305
+-120.566 43.188 5376
+-120.44 43.188 5439
+-120.314 43.188 5537
+-120.188 43.188 5593
+-120.062 43.188 5648
+-119.936 43.188 5735
+-119.81 43.188 5764
+-119.684 43.188 5832
+-119.558 43.188 5896
+-119.432 43.188 5945
+-119.306 43.188 5956
+-119.18 43.188 6000
+-119.054 43.188 6056
+-118.928 43.188 6070
+-118.802 43.188 6091
+-118.676 43.188 6130
+-118.55 43.188 6124
+-118.424 43.188 6139
+-118.298 43.188 6136
+-118.172 43.188 6118
+-118.046 43.188 6100
+-117.92 43.188 6099
+-117.794 43.188 6079
+-117.668 43.188 6076
+-117.542 43.188 6046
+-117.416 43.188 5998
+-117.29 43.188 5923
+-117.164 43.188 5917
+-117.038 43.188 5859
+-116.912 43.188 5787
+-116.786 43.188 5737
+-116.66 43.188 5654
+-116.534 43.188 5650
+-116.408 43.188 5577
+-116.282 43.188 5478
+-116.156 43.188 5352
+-116.03 43.188 5266
+-115.904 43.188 5195
+-115.778 43.188 5124
+-115.652 43.188 5084
+-115.526 43.188 5032
+-115.4 43.188 4931
+-115.274 43.188 4777
+-115.148 43.188 4633
+-115.022 43.188 4684
+-114.896 43.188 4656
+-114.77 43.188 4546
+-114.644 43.188 4414
+-114.518 43.188 4195
+-114.392 43.188 4025
+-114.266 43.188 3947
+-114.14 43.188 3859
+-114.014 43.188 3796
+-113.888 43.188 3731
+-113.762 43.188 3653
+-113.636 43.188 3539
+-113.51 43.188 3475
+-113.384 43.188 3406
+-113.258 43.188 3378
+-113.132 43.188 3367
+-113.006 43.188 3344
+-112.88 43.188 3335
+-112.754 43.188 3323
+-112.628 43.188 3306
+-112.502 43.188 3286
+-112.376 43.188 3266
+-112.25 43.188 3238
+-112.124 43.188 3221
+-111.998 43.188 3199
+-111.872 43.188 3189
+-111.746 43.188 3182
+-111.62 43.188 3179
+-111.494 43.188 3179
+-111.368 43.188 3181
+-111.242 43.188 3186
+-111.116 43.188 3172
+-110.99 43.188 3163
+-110.864 43.188 3143
+-110.738 43.188 3152
+-110.612 43.188 3160
+-110.486 43.188 3053
+-110.36 43.188 3094
+-110.234 43.188 3104
+-110.108 43.188 3114
+-109.982 43.188 3124
+-109.856 43.188 3100
+-109.73 43.188 3029
+-109.604 43.188 3036
+-109.478 43.188 3036
+-109.352 43.188 3044
+-109.226 43.188 2975
+-109.1 43.188 2961
+-108.974 43.188 3058
+-108.848 43.188 3064
+-108.722 43.188 3071
+-108.596 43.188 3077
+-108.47 43.188 3083
+-108.344 43.188 3055
+-108.218 43.188 3060
+-108.092 43.188 2977
+-107.966 43.188 2981
+-107.84 43.188 2984
+-107.714 43.188 2987
+-107.588 43.188 2990
+-107.462 43.188 2993
+-107.336 43.188 2996
+-107.21 43.188 2999
+-107.084 43.188 3001
+-106.958 43.188 3003
+-106.832 43.188 3006
+-106.706 43.188 3008
+-106.58 43.188 3010
+-106.454 43.188 3012
+-106.328 43.188 2779
+-106.202 43.188 2780
+-106.076 43.188 2664
+-105.95 43.188 2641
+-105.824 43.188 2481
+-105.698 43.188 2353
+-105.572 43.188 2404
+-105.446 43.188 2391
+-105.32 43.188 2380
+-105.194 43.188 2369
+-105.068 43.188 2357
+-104.942 43.188 2269
+-104.816 43.188 2204
+-104.69 43.188 2169
+-104.564 43.188 2092
+-104.438 43.188 2079
+-104.312 43.188 2053
+-104.186 43.188 1922
+-104.06 43.188 1967
+-103.934 43.188 2000
+-103.808 43.188 2047
+-103.682 43.188 2213
+-103.556 43.188 2327
+-103.43 43.188 2428
+-103.304 43.188 2437
+-103.178 43.188 2557
+-103.052 43.188 2553
+-102.926 43.188 2548
+-102.8 43.188 2544
+-102.674 43.188 2539
+-102.548 43.188 2535
+-102.422 43.188 2530
+-102.296 43.188 2534
+-102.17 43.188 2583
+-102.044 43.188 2582
+-101.918 43.188 2617
+-101.792 43.188 2612
+-101.666 43.188 2607
+-101.54 43.188 2602
+-101.414 43.188 2597
+-101.288 43.188 2592
+-101.162 43.188 2587
+-101.036 43.188 2582
+-100.91 43.188 2590
+-100.784 43.188 2731
+-100.658 43.188 2726
+-100.532 43.188 2720
+-100.406 43.188 2715
+-100.28 43.188 2705
+-100.154 43.188 2727
+-100.028 43.188 2731
+-99.902 43.188 2728
+-99.776 43.188 2762
+-99.65 43.188 2759
+-99.524 43.188 2752
+-99.398 43.188 2752
+-99.272 43.188 2752
+-99.146 43.188 2753
+-99.02 43.188 2754
+-98.894 43.188 2755
+-98.768 43.188 2794
+-98.642 43.188 2794
+-98.516 43.188 2794
+-98.39 43.188 2742
+-98.264 43.188 2742
+-98.138 43.188 2742
+-98.012 43.188 2745
+-97.886 43.188 2742
+-97.76 43.188 2737
+-97.634 43.188 2729
+-97.508 43.188 2719
+-97.382 43.188 2779
+-97.256 43.188 2761
+-97.13 43.188 2734
+-97.004 43.188 2700
+-96.878 43.188 2665
+-96.752 43.188 2619
+-96.626 43.188 2558
+-96.5 43.188 2477
+-96.374 43.188 2396
+-96.248 43.188 2311
+-96.122 43.188 2159
+-95.996 43.188 2000
+-95.87 43.188 1919
+-95.744 43.188 2016
+-95.618 43.188 2226
+-95.492 43.188 2424
+-95.366 43.188 2589
+-95.24 43.188 2737
+-95.114 43.188 2874
+-94.988 43.188 2997
+-94.862 43.188 3121
+-94.736 43.188 3218
+-94.61 43.188 3282
+-94.484 43.188 3368
+-94.358 43.188 3428
+-94.232 43.188 3565
+-94.106 43.188 3564
+-93.98 43.188 3619
+-93.854 43.188 3565
+-93.728 43.188 3522
+-93.602 43.188 3593
+-93.476 43.188 3729
+-93.35 43.188 3798
+-93.224 43.188 3843
+-93.098 43.188 3861
+-92.972 43.188 3925
+-92.846 43.188 4021
+-92.72 43.188 4093
+-92.594 43.188 4162
+-92.468 43.188 4234
+-92.342 43.188 4286
+-92.216 43.188 4274
+-92.09 43.188 4343
+-91.964 43.188 4396
+-91.838 43.188 4434
+-91.712 43.188 4462
+-91.586 43.188 4517
+-91.46 43.188 4583
+-91.334 43.188 4637
+-91.208 43.188 4691
+-91.082 43.188 4722
+-90.956 43.188 4743
+-90.83 43.188 4731
+-90.704 43.188 4692
+-90.578 43.188 4693
+-90.452 43.188 4694
+-90.326 43.188 4679
+-90.2 43.188 4680
+-90.074 43.188 4655
+-89.948 43.188 4626
+-89.822 43.188 4633
+-89.696 43.188 4603
+-89.57 43.188 4587
+-89.444 43.188 4562
+-89.318 43.188 4527
+-89.192 43.188 4494
+-89.066 43.188 4457
+-88.94 43.188 4421
+-88.814 43.188 4371
+-88.688 43.188 4339
+-88.562 43.188 4300
+-88.436 43.188 4219
+-88.31 43.188 4162
+-88.184 43.188 4130
+-88.058 43.188 4124
+-87.932 43.188 4102
+-87.806 43.188 4040
+-87.68 43.188 3999
+-87.554 43.188 3910
+-87.428 43.188 3818
+-87.302 43.188 3754
+-87.176 43.188 3631
+-87.05 43.188 3513
+-86.924 43.188 3422
+-86.798 43.188 3341
+-86.672 43.188 3174
+-86.546 43.188 3058
+-86.42 43.188 3143
+-86.294 43.188 3219
+-86.168 43.188 3247
+-86.042 43.188 3193
+-85.916 43.188 3173
+-85.79 43.188 3125
+-85.664 43.188 3084
+-85.538 43.188 3043
+-85.412 43.188 2989
+-85.286 43.188 2964
+-85.16 43.188 2949
+-85.034 43.188 2936
+-84.908 43.188 2887
+-84.782 43.188 2869
+-84.656 43.188 2852
+-84.53 43.188 2838
+-84.404 43.188 2808
+-84.278 43.188 2799
+-84.152 43.188 2804
+-84.026 43.188 2818
+-83.9 43.188 2829
+-83.774 43.188 2836
+-83.648 43.188 2848
+-83.522 43.188 2849
+-83.396 43.188 2860
+-83.27 43.188 2903
+-83.144 43.188 2915
+-83.018 43.188 2933
+-82.892 43.188 2884
+-82.766 43.188 2892
+-82.64 43.188 2960
+-82.514 43.188 2963
+-82.388 43.188 3003
+-82.262 43.188 3014
+-82.136 43.188 3022
+-82.01 43.188 3007
+-81.884 43.188 3013
+-81.758 43.188 3019
+-81.632 43.188 3025
+-81.506 43.188 3030
+-81.38 43.188 3036
+-81.254 43.188 3098
+-81.128 43.188 3101
+-81.002 43.188 3107
+-80.876 43.188 3113
+-80.75 43.188 3118
+-80.624 43.188 3080
+-80.498 43.188 3103
+-80.372 43.188 3109
+-80.246 43.188 3159
+-80.12 43.188 3100
+-79.994 43.188 3105
+-79.868 43.188 3110
+-79.742 43.188 3144
+-79.616 43.188 3114
+-79.49 43.188 3119
+-79.364 43.188 3123
+-79.238 43.188 3303
+-79.112 43.188 3264
+-78.986 43.188 3269
+-78.86 43.188 3383
+-78.734 43.188 3365
+-78.608 43.188 3370
+-78.482 43.188 3327
+-78.356 43.188 3398
+-78.23 43.188 3400
+-78.104 43.188 3404
+-77.978 43.188 3407
+-77.852 43.188 3410
+-77.726 43.188 3410
+-77.6 43.188 3413
+-77.474 43.188 3416
+-77.348 43.188 3405
+-77.222 43.188 3361
+-77.096 43.188 3357
+-76.97 43.188 3360
+-76.844 43.188 3362
+-76.718 43.188 3364
+-76.592 43.188 3366
+-76.466 43.188 3369
+-76.34 43.188 3371
+-76.214 43.188 3372
+-76.088 43.188 3374
+-75.962 43.188 3376
+-75.836 43.188 3378
+-75.71 43.188 3380
+-75.584 43.188 3381
+-75.458 43.188 3383
+-75.332 43.188 3384
+-75.206 43.188 3485
+-75.08 43.188 3487
+-74.954 43.188 3474
+-74.828 43.188 3475
+-74.702 43.188 3477
+-74.576 43.188 3478
+-74.45 43.188 3479
+-74.324 43.188 3480
+-74.198 43.188 3481
+-74.072 43.188 3483
+-73.946 43.188 3484
+-73.82 43.188 3485
+-73.694 43.188 3486
+-73.568 43.188 3517
+-73.442 43.188 3518
+-73.316 43.188 3520
+-73.19 43.188 3521
+-73.064 43.188 3522
+-72.938 43.188 3524
+-72.812 43.188 3487
+-72.686 43.188 3488
+-72.56 43.188 3489
+-72.434 43.188 3490
+-72.308 43.188 3522
+-72.182 43.188 3523
+-72.056 43.188 3525
+-71.93 43.188 3481
+-71.804 43.188 3482
+-71.678 43.188 3484
+-71.552 43.188 3619
+-71.426 43.188 3619
+-71.3 43.188 3620
+-71.174 43.188 3620
+-71.048 43.188 3621
+-70.922 43.188 3558
+-70.796 43.188 3558
+-70.67 43.188 3558
+-70.544 43.188 3559
+-70.418 43.188 3559
+-70.292 43.188 3559
+-70.166 43.188 3559
+-70.04 43.188 3560
+-69.914 43.188 3560
+-69.788 43.188 3560
+-69.662 43.188 3541
+-69.536 43.188 3528
+-69.41 43.188 3529
+-69.284 43.188 3529
+-69.158 43.188 3529
+-69.032 43.188 3530
+-68.906 43.188 3530
+-68.78 43.188 3512
+-68.654 43.188 3512
+-68.528 43.188 3512
+-68.402 43.188 3512
+-68.276 43.188 3513
+-68.15 43.188 3513
+-68.024 43.188 3513
+-67.898 43.188 3513
+-67.772 43.188 3461
+-67.646 43.188 3461
+-67.52 43.188 3462
+-67.394 43.188 3462
+-67.268 43.188 3462
+-67.142 43.188 3462
+-67.016 43.188 3462
+-66.89 43.188 3462
+-66.764 43.188 3463
+-66.638 43.188 3463
+-66.512 43.188 3463
+-66.386 43.188 3463
+-66.26 43.188 3463
+-66.134 43.188 3382
+-66.008 43.188 3382
+-65.882 43.188 3382
+-65.756 43.188 3382
+-65.63 43.188 3382
+-65.504 43.188 3382
+-65.378 43.188 3381
+-65.252 43.188 3381
+-65.126 43.188 3381
+-128 43.136 3310
+-127.874 43.136 3316
+-127.748 43.136 3325
+-127.622 43.136 3376
+-127.496 43.136 3432
+-127.37 43.136 3473
+-127.244 43.136 3550
+-127.118 43.136 3599
+-126.992 43.136 3636
+-126.866 43.136 3695
+-126.74 43.136 3756
+-126.614 43.136 3863
+-126.488 43.136 3970
+-126.362 43.136 4001
+-126.236 43.136 4064
+-126.11 43.136 4214
+-125.984 43.136 4347
+-125.858 43.136 4484
+-125.732 43.136 4542
+-125.606 43.136 4605
+-125.48 43.136 4638
+-125.354 43.136 4657
+-125.228 43.136 4713
+-125.102 43.136 4781
+-124.976 43.136 4831
+-124.85 43.136 4874
+-124.724 43.136 4926
+-124.598 43.136 4967
+-124.472 43.136 5007
+-124.346 43.136 5062
+-124.22 43.136 5134
+-124.094 43.136 5188
+-123.968 43.136 5241
+-123.842 43.136 5265
+-123.716 43.136 5295
+-123.59 43.136 5332
+-123.464 43.136 5358
+-123.338 43.136 5371
+-123.212 43.136 5398
+-123.086 43.136 5399
+-122.96 43.136 5392
+-122.834 43.136 5393
+-122.708 43.136 5375
+-122.582 43.136 5350
+-122.456 43.136 5329
+-122.33 43.136 5349
+-122.204 43.136 5297
+-122.078 43.136 5228
+-121.952 43.136 5198
+-121.826 43.136 5171
+-121.7 43.136 5134
+-121.574 43.136 5076
+-121.448 43.136 5035
+-121.322 43.136 5013
+-121.196 43.136 4996
+-121.07 43.136 5037
+-120.944 43.136 5115
+-120.818 43.136 5154
+-120.692 43.136 5279
+-120.566 43.136 5323
+-120.44 43.136 5405
+-120.314 43.136 5516
+-120.188 43.136 5582
+-120.062 43.136 5612
+-119.936 43.136 5676
+-119.81 43.136 5755
+-119.684 43.136 5782
+-119.558 43.136 5841
+-119.432 43.136 5891
+-119.306 43.136 5895
+-119.18 43.136 5943
+-119.054 43.136 5991
+-118.928 43.136 6026
+-118.802 43.136 6057
+-118.676 43.136 6061
+-118.55 43.136 6060
+-118.424 43.136 6057
+-118.298 43.136 6058
+-118.172 43.136 6081
+-118.046 43.136 6050
+-117.92 43.136 6053
+-117.794 43.136 6067
+-117.668 43.136 6034
+-117.542 43.136 5973
+-117.416 43.136 5947
+-117.29 43.136 5920
+-117.164 43.136 5864
+-117.038 43.136 5807
+-116.912 43.136 5752
+-116.786 43.136 5701
+-116.66 43.136 5643
+-116.534 43.136 5582
+-116.408 43.136 5493
+-116.282 43.136 5425
+-116.156 43.136 5310
+-116.03 43.136 5227
+-115.904 43.136 5134
+-115.778 43.136 5053
+-115.652 43.136 5012
+-115.526 43.136 4971
+-115.4 43.136 4914
+-115.274 43.136 4808
+-115.148 43.136 4712
+-115.022 43.136 4697
+-114.896 43.136 4623
+-114.77 43.136 4503
+-114.644 43.136 4350
+-114.518 43.136 4094
+-114.392 43.136 3956
+-114.266 43.136 3898
+-114.14 43.136 3853
+-114.014 43.136 3769
+-113.888 43.136 3711
+-113.762 43.136 3615
+-113.636 43.136 3519
+-113.51 43.136 3388
+-113.384 43.136 3326
+-113.258 43.136 3306
+-113.132 43.136 3316
+-113.006 43.136 3317
+-112.88 43.136 3311
+-112.754 43.136 3296
+-112.628 43.136 3273
+-112.502 43.136 3247
+-112.376 43.136 3220
+-112.25 43.136 3195
+-112.124 43.136 3164
+-111.998 43.136 3149
+-111.872 43.136 3130
+-111.746 43.136 3125
+-111.62 43.136 3124
+-111.494 43.136 3126
+-111.368 43.136 3132
+-111.242 43.136 3140
+-111.116 43.136 3150
+-110.99 43.136 3141
+-110.864 43.136 3136
+-110.738 43.136 3120
+-110.612 43.136 3131
+-110.486 43.136 3143
+-110.36 43.136 3037
+-110.234 43.136 3079
+-110.108 43.136 3091
+-109.982 43.136 3029
+-109.856 43.136 3037
+-109.73 43.136 3009
+-109.604 43.136 3017
+-109.478 43.136 3025
+-109.352 43.136 3025
+-109.226 43.136 3034
+-109.1 43.136 2966
+-108.974 43.136 2952
+-108.848 43.136 3049
+-108.722 43.136 3057
+-108.596 43.136 3064
+-108.47 43.136 3070
+-108.344 43.136 3077
+-108.218 43.136 3049
+-108.092 43.136 2966
+-107.966 43.136 2970
+-107.84 43.136 2973
+-107.714 43.136 2977
+-107.588 43.136 2980
+-107.462 43.136 2983
+-107.336 43.136 2987
+-107.21 43.136 2989
+-107.084 43.136 2992
+-106.958 43.136 2995
+-106.832 43.136 2997
+-106.706 43.136 3000
+-106.58 43.136 3002
+-106.454 43.136 3005
+-106.328 43.136 3007
+-106.202 43.136 2771
+-106.076 43.136 2654
+-105.95 43.136 2402
+-105.824 43.136 2350
+-105.698 43.136 2340
+-105.572 43.136 2400
+-105.446 43.136 2380
+-105.32 43.136 2366
+-105.194 43.136 2355
+-105.068 43.136 2302
+-104.942 43.136 2255
+-104.816 43.136 2190
+-104.69 43.136 2116
+-104.564 43.136 2082
+-104.438 43.136 2070
+-104.312 43.136 2046
+-104.186 43.136 1918
+-104.06 43.136 1963
+-103.934 43.136 1996
+-103.808 43.136 2044
+-103.682 43.136 2211
+-103.556 43.136 2324
+-103.43 43.136 2425
+-103.304 43.136 2487
+-103.178 43.136 2497
+-103.052 43.136 2549
+-102.926 43.136 2545
+-102.8 43.136 2540
+-102.674 43.136 2535
+-102.548 43.136 2531
+-102.422 43.136 2526
+-102.296 43.136 2521
+-102.17 43.136 2524
+-102.044 43.136 2573
+-101.918 43.136 2571
+-101.792 43.136 2606
+-101.666 43.136 2600
+-101.54 43.136 2595
+-101.414 43.136 2590
+-101.288 43.136 2584
+-101.162 43.136 2579
+-101.036 43.136 2573
+-100.91 43.136 2568
+-100.784 43.136 2578
+-100.658 43.136 2717
+-100.532 43.136 2711
+-100.406 43.136 2706
+-100.28 43.136 2700
+-100.154 43.136 2690
+-100.028 43.136 2712
+-99.902 43.136 2717
+-99.776 43.136 2713
+-99.65 43.136 2747
+-99.524 43.136 2744
+-99.398 43.136 2739
+-99.272 43.136 2740
+-99.146 43.136 2741
+-99.02 43.136 2742
+-98.894 43.136 2744
+-98.768 43.136 2745
+-98.642 43.136 2784
+-98.516 43.136 2785
+-98.39 43.136 2785
+-98.264 43.136 2735
+-98.138 43.136 2735
+-98.012 43.136 2735
+-97.886 43.136 2737
+-97.76 43.136 2733
+-97.634 43.136 2727
+-97.508 43.136 2718
+-97.382 43.136 2706
+-97.256 43.136 2759
+-97.13 43.136 2737
+-97.004 43.136 2705
+-96.878 43.136 2665
+-96.752 43.136 2619
+-96.626 43.136 2568
+-96.5 43.136 2497
+-96.374 43.136 2406
+-96.248 43.136 2339
+-96.122 43.136 2211
+-95.996 43.136 2079
+-95.87 43.136 2018
+-95.744 43.136 2112
+-95.618 43.136 2282
+-95.492 43.136 2432
+-95.366 43.136 2571
+-95.24 43.136 2713
+-95.114 43.136 2854
+-94.988 43.136 3003
+-94.862 43.136 3122
+-94.736 43.136 3217
+-94.61 43.136 3303
+-94.484 43.136 3375
+-94.358 43.136 3435
+-94.232 43.136 3548
+-94.106 43.136 3589
+-93.98 43.136 3635
+-93.854 43.136 3606
+-93.728 43.136 3593
+-93.602 43.136 3663
+-93.476 43.136 3776
+-93.35 43.136 3855
+-93.224 43.136 3912
+-93.098 43.136 3968
+-92.972 43.136 4011
+-92.846 43.136 4095
+-92.72 43.136 4160
+-92.594 43.136 4236
+-92.468 43.136 4291
+-92.342 43.136 4340
+-92.216 43.136 4348
+-92.09 43.136 4391
+-91.964 43.136 4434
+-91.838 43.136 4472
+-91.712 43.136 4531
+-91.586 43.136 4571
+-91.46 43.136 4644
+-91.334 43.136 4706
+-91.208 43.136 4728
+-91.082 43.136 4773
+-90.956 43.136 4789
+-90.83 43.136 4793
+-90.704 43.136 4775
+-90.578 43.136 4746
+-90.452 43.136 4723
+-90.326 43.136 4720
+-90.2 43.136 4705
+-90.074 43.136 4705
+-89.948 43.136 4697
+-89.822 43.136 4695
+-89.696 43.136 4679
+-89.57 43.136 4646
+-89.444 43.136 4617
+-89.318 43.136 4562
+-89.192 43.136 4526
+-89.066 43.136 4494
+-88.94 43.136 4468
+-88.814 43.136 4424
+-88.688 43.136 4368
+-88.562 43.136 4316
+-88.436 43.136 4262
+-88.31 43.136 4178
+-88.184 43.136 4186
+-88.058 43.136 4152
+-87.932 43.136 4120
+-87.806 43.136 4070
+-87.68 43.136 4019
+-87.554 43.136 3944
+-87.428 43.136 3860
+-87.302 43.136 3802
+-87.176 43.136 3698
+-87.05 43.136 3581
+-86.924 43.136 3479
+-86.798 43.136 3380
+-86.672 43.136 3257
+-86.546 43.136 3175
+-86.42 43.136 3203
+-86.294 43.136 3233
+-86.168 43.136 3232
+-86.042 43.136 3197
+-85.916 43.136 3153
+-85.79 43.136 3108
+-85.664 43.136 3054
+-85.538 43.136 2982
+-85.412 43.136 2943
+-85.286 43.136 2922
+-85.16 43.136 2912
+-85.034 43.136 2903
+-84.908 43.136 2889
+-84.782 43.136 2870
+-84.656 43.136 2848
+-84.53 43.136 2793
+-84.404 43.136 2791
+-84.278 43.136 2795
+-84.152 43.136 2782
+-84.026 43.136 2797
+-83.9 43.136 2809
+-83.774 43.136 2825
+-83.648 43.136 2840
+-83.522 43.136 2890
+-83.396 43.136 2889
+-83.27 43.136 2904
+-83.144 43.136 2924
+-83.018 43.136 2936
+-82.892 43.136 2947
+-82.766 43.136 2955
+-82.64 43.136 2959
+-82.514 43.136 2997
+-82.388 43.136 3009
+-82.262 43.136 3017
+-82.136 43.136 3003
+-82.01 43.136 3010
+-81.884 43.136 3017
+-81.758 43.136 3023
+-81.632 43.136 3029
+-81.506 43.136 3034
+-81.38 43.136 3096
+-81.254 43.136 3099
+-81.128 43.136 3106
+-81.002 43.136 3112
+-80.876 43.136 3117
+-80.75 43.136 3080
+-80.624 43.136 3103
+-80.498 43.136 3108
+-80.372 43.136 3159
+-80.246 43.136 3100
+-80.12 43.136 3105
+-79.994 43.136 3110
+-79.868 43.136 3144
+-79.742 43.136 3115
+-79.616 43.136 3119
+-79.49 43.136 3124
+-79.364 43.136 3300
+-79.238 43.136 3262
+-79.112 43.136 3267
+-78.986 43.136 3380
+-78.86 43.136 3363
+-78.734 43.136 3368
+-78.608 43.136 3326
+-78.482 43.136 3396
+-78.356 43.136 3398
+-78.23 43.136 3402
+-78.104 43.136 3406
+-77.978 43.136 3409
+-77.852 43.136 3408
+-77.726 43.136 3412
+-77.6 43.136 3415
+-77.474 43.136 3404
+-77.348 43.136 3360
+-77.222 43.136 3357
+-77.096 43.136 3359
+-76.97 43.136 3361
+-76.844 43.136 3364
+-76.718 43.136 3366
+-76.592 43.136 3368
+-76.466 43.136 3370
+-76.34 43.136 3372
+-76.214 43.136 3374
+-76.088 43.136 3376
+-75.962 43.136 3378
+-75.836 43.136 3379
+-75.71 43.136 3381
+-75.584 43.136 3383
+-75.458 43.136 3384
+-75.332 43.136 3484
+-75.206 43.136 3486
+-75.08 43.136 3473
+-74.954 43.136 3475
+-74.828 43.136 3476
+-74.702 43.136 3477
+-74.576 43.136 3479
+-74.45 43.136 3480
+-74.324 43.136 3481
+-74.198 43.136 3482
+-74.072 43.136 3483
+-73.946 43.136 3484
+-73.82 43.136 3486
+-73.694 43.136 3516
+-73.568 43.136 3518
+-73.442 43.136 3519
+-73.316 43.136 3520
+-73.19 43.136 3522
+-73.064 43.136 3523
+-72.938 43.136 3486
+-72.812 43.136 3488
+-72.686 43.136 3489
+-72.56 43.136 3490
+-72.434 43.136 3521
+-72.308 43.136 3523
+-72.182 43.136 3524
+-72.056 43.136 3481
+-71.93 43.136 3482
+-71.804 43.136 3483
+-71.678 43.136 3618
+-71.552 43.136 3619
+-71.426 43.136 3620
+-71.3 43.136 3620
+-71.174 43.136 3621
+-71.048 43.136 3557
+-70.922 43.136 3558
+-70.796 43.136 3558
+-70.67 43.136 3558
+-70.544 43.136 3559
+-70.418 43.136 3559
+-70.292 43.136 3559
+-70.166 43.136 3559
+-70.04 43.136 3560
+-69.914 43.136 3560
+-69.788 43.136 3540
+-69.662 43.136 3528
+-69.536 43.136 3528
+-69.41 43.136 3529
+-69.284 43.136 3529
+-69.158 43.136 3529
+-69.032 43.136 3511
+-68.906 43.136 3511
+-68.78 43.136 3512
+-68.654 43.136 3512
+-68.528 43.136 3512
+-68.402 43.136 3512
+-68.276 43.136 3513
+-68.15 43.136 3513
+-68.024 43.136 3513
+-67.898 43.136 3461
+-67.772 43.136 3461
+-67.646 43.136 3461
+-67.52 43.136 3462
+-67.394 43.136 3462
+-67.268 43.136 3462
+-67.142 43.136 3462
+-67.016 43.136 3462
+-66.89 43.136 3462
+-66.764 43.136 3463
+-66.638 43.136 3463
+-66.512 43.136 3463
+-66.386 43.136 3463
+-66.26 43.136 3382
+-66.134 43.136 3382
+-66.008 43.136 3382
+-65.882 43.136 3382
+-65.756 43.136 3382
+-65.63 43.136 3382
+-65.504 43.136 3381
+-65.378 43.136 3381
+-65.252 43.136 3381
+-65.126 43.136 3381
+-128 43.084 3339
+-127.874 43.084 3343
+-127.748 43.084 3354
+-127.622 43.084 3384
+-127.496 43.084 3410
+-127.37 43.084 3516
+-127.244 43.084 3552
+-127.118 43.084 3582
+-126.992 43.084 3630
+-126.866 43.084 3636
+-126.74 43.084 3643
+-126.614 43.084 3749
+-126.488 43.084 3923
+-126.362 43.084 4005
+-126.236 43.084 4060
+-126.11 43.084 4180
+-125.984 43.084 4300
+-125.858 43.084 4406
+-125.732 43.084 4492
+-125.606 43.084 4577
+-125.48 43.084 4602
+-125.354 43.084 4584
+-125.228 43.084 4661
+-125.102 43.084 4708
+-124.976 43.084 4791
+-124.85 43.084 4827
+-124.724 43.084 4903
+-124.598 43.084 4950
+-124.472 43.084 4962
+-124.346 43.084 5019
+-124.22 43.084 5088
+-124.094 43.084 5122
+-123.968 43.084 5163
+-123.842 43.084 5214
+-123.716 43.084 5243
+-123.59 43.084 5256
+-123.464 43.084 5270
+-123.338 43.084 5294
+-123.212 43.084 5313
+-123.086 43.084 5307
+-122.96 43.084 5305
+-122.834 43.084 5320
+-122.708 43.084 5303
+-122.582 43.084 5296
+-122.456 43.084 5279
+-122.33 43.084 5272
+-122.204 43.084 5226
+-122.078 43.084 5172
+-121.952 43.084 5132
+-121.826 43.084 5098
+-121.7 43.084 5068
+-121.574 43.084 5024
+-121.448 43.084 5001
+-121.322 43.084 4959
+-121.196 43.084 4956
+-121.07 43.084 4947
+-120.944 43.084 5063
+-120.818 43.084 5106
+-120.692 43.084 5223
+-120.566 43.084 5309
+-120.44 43.084 5389
+-120.314 43.084 5461
+-120.188 43.084 5544
+-120.062 43.084 5577
+-119.936 43.084 5646
+-119.81 43.084 5684
+-119.684 43.084 5725
+-119.558 43.084 5776
+-119.432 43.084 5837
+-119.306 43.084 5841
+-119.18 43.084 5890
+-119.054 43.084 5937
+-118.928 43.084 5990
+-118.802 43.084 5996
+-118.676 43.084 6034
+-118.55 43.084 6007
+-118.424 43.084 5990
+-118.298 43.084 6003
+-118.172 43.084 6015
+-118.046 43.084 6003
+-117.92 43.084 5989
+-117.794 43.084 5996
+-117.668 43.084 5969
+-117.542 43.084 5924
+-117.416 43.084 5899
+-117.29 43.084 5858
+-117.164 43.084 5776
+-117.038 43.084 5733
+-116.912 43.084 5669
+-116.786 43.084 5624
+-116.66 43.084 5556
+-116.534 43.084 5501
+-116.408 43.084 5435
+-116.282 43.084 5403
+-116.156 43.084 5261
+-116.03 43.084 5202
+-115.904 43.084 5130
+-115.778 43.084 5025
+-115.652 43.084 4931
+-115.526 43.084 4914
+-115.4 43.084 4884
+-115.274 43.084 4816
+-115.148 43.084 4759
+-115.022 43.084 4686
+-114.896 43.084 4603
+-114.77 43.084 4449
+-114.644 43.084 4283
+-114.518 43.084 4067
+-114.392 43.084 3924
+-114.266 43.084 3888
+-114.14 43.084 3823
+-114.014 43.084 3705
+-113.888 43.084 3672
+-113.762 43.084 3607
+-113.636 43.084 3448
+-113.51 43.084 3279
+-113.384 43.084 3170
+-113.258 43.084 3205
+-113.132 43.084 3261
+-113.006 43.084 3286
+-112.88 43.084 3278
+-112.754 43.084 3258
+-112.628 43.084 3227
+-112.502 43.084 3193
+-112.376 43.084 3158
+-112.25 43.084 3128
+-112.124 43.084 3103
+-111.998 43.084 3075
+-111.872 43.084 3066
+-111.746 43.084 3056
+-111.62 43.084 3059
+-111.494 43.084 3066
+-111.368 43.084 3076
+-111.242 43.084 3089
+-111.116 43.084 3104
+-110.99 43.084 3062
+-110.864 43.084 3076
+-110.738 43.084 3114
+-110.612 43.084 3101
+-110.486 43.084 3115
+-110.36 43.084 3129
+-110.234 43.084 3024
+-110.108 43.084 2964
+-109.982 43.084 2973
+-109.856 43.084 2982
+-109.73 43.084 2991
+-109.604 43.084 2999
+-109.478 43.084 3008
+-109.352 43.084 3016
+-109.226 43.084 3016
+-109.1 43.084 3025
+-108.974 43.084 2958
+-108.848 43.084 2945
+-108.722 43.084 3042
+-108.596 43.084 3050
+-108.47 43.084 3057
+-108.344 43.084 3064
+-108.218 43.084 2992
+-108.092 43.084 3043
+-107.966 43.084 2958
+-107.84 43.084 2962
+-107.714 43.084 2966
+-107.588 43.084 2970
+-107.462 43.084 2974
+-107.336 43.084 2977
+-107.21 43.084 2980
+-107.084 43.084 2983
+-106.958 43.084 2986
+-106.832 43.084 2989
+-106.706 43.084 2992
+-106.58 43.084 2995
+-106.454 43.084 2997
+-106.328 43.084 2999
+-106.202 43.084 3002
+-106.076 43.084 2533
+-105.95 43.084 2509
+-105.824 43.084 2337
+-105.698 43.084 2328
+-105.572 43.084 2318
+-105.446 43.084 2376
+-105.32 43.084 2356
+-105.194 43.084 2341
+-105.068 43.084 2289
+-104.942 43.084 2196
+-104.816 43.084 2133
+-104.69 43.084 2104
+-104.564 43.084 2072
+-104.438 43.084 2061
+-104.312 43.084 2038
+-104.186 43.084 1913
+-104.06 43.084 1934
+-103.934 43.084 1991
+-103.808 43.084 2042
+-103.682 43.084 2209
+-103.556 43.084 2322
+-103.43 43.084 2423
+-103.304 43.084 2484
+-103.178 43.084 2479
+-103.052 43.084 2490
+-102.926 43.084 2541
+-102.8 43.084 2536
+-102.674 43.084 2531
+-102.548 43.084 2526
+-102.422 43.084 2521
+-102.296 43.084 2516
+-102.17 43.084 2511
+-102.044 43.084 2513
+-101.918 43.084 2561
+-101.792 43.084 2560
+-101.666 43.084 2594
+-101.54 43.084 2588
+-101.414 43.084 2582
+-101.288 43.084 2576
+-101.162 43.084 2570
+-101.036 43.084 2565
+-100.91 43.084 2559
+-100.784 43.084 2553
+-100.658 43.084 2564
+-100.532 43.084 2701
+-100.406 43.084 2695
+-100.28 43.084 2690
+-100.154 43.084 2684
+-100.028 43.084 2675
+-99.902 43.084 2696
+-99.776 43.084 2701
+-99.65 43.084 2698
+-99.524 43.084 2731
+-99.398 43.084 2728
+-99.272 43.084 2726
+-99.146 43.084 2727
+-99.02 43.084 2729
+-98.894 43.084 2731
+-98.768 43.084 2733
+-98.642 43.084 2736
+-98.516 43.084 2775
+-98.39 43.084 2776
+-98.264 43.084 2777
+-98.138 43.084 2729
+-98.012 43.084 2729
+-97.886 43.084 2728
+-97.76 43.084 2730
+-97.634 43.084 2726
+-97.508 43.084 2719
+-97.382 43.084 2708
+-97.256 43.084 2693
+-97.13 43.084 2740
+-97.004 43.084 2714
+-96.878 43.084 2677
+-96.752 43.084 2633
+-96.626 43.084 2585
+-96.5 43.084 2525
+-96.374 43.084 2452
+-96.248 43.084 2397
+-96.122 43.084 2312
+-95.996 43.084 2241
+-95.87 43.084 2224
+-95.744 43.084 2278
+-95.618 43.084 2349
+-95.492 43.084 2431
+-95.366 43.084 2548
+-95.24 43.084 2690
+-95.114 43.084 2840
+-94.988 43.084 2981
+-94.862 43.084 3122
+-94.736 43.084 3228
+-94.61 43.084 3310
+-94.484 43.084 3409
+-94.358 43.084 3487
+-94.232 43.084 3621
+-94.106 43.084 3634
+-93.98 43.084 3725
+-93.854 43.084 3707
+-93.728 43.084 3718
+-93.602 43.084 3772
+-93.476 43.084 3866
+-93.35 43.084 3936
+-93.224 43.084 4013
+-93.098 43.084 4047
+-92.972 43.084 4074
+-92.846 43.084 4115
+-92.72 43.084 4202
+-92.594 43.084 4276
+-92.468 43.084 4331
+-92.342 43.084 4385
+-92.216 43.084 4412
+-92.09 43.084 4475
+-91.964 43.084 4490
+-91.838 43.084 4539
+-91.712 43.084 4562
+-91.586 43.084 4603
+-91.46 43.084 4680
+-91.334 43.084 4734
+-91.208 43.084 4697
+-91.082 43.084 4777
+-90.956 43.084 4821
+-90.83 43.084 4839
+-90.704 43.084 4837
+-90.578 43.084 4817
+-90.452 43.084 4803
+-90.326 43.084 4776
+-90.2 43.084 4750
+-90.074 43.084 4739
+-89.948 43.084 4738
+-89.822 43.084 4751
+-89.696 43.084 4722
+-89.57 43.084 4693
+-89.444 43.084 4654
+-89.318 43.084 4610
+-89.192 43.084 4564
+-89.066 43.084 4553
+-88.94 43.084 4522
+-88.814 43.084 4470
+-88.688 43.084 4421
+-88.562 43.084 4359
+-88.436 43.084 4281
+-88.31 43.084 4196
+-88.184 43.084 4206
+-88.058 43.084 4181
+-87.932 43.084 4151
+-87.806 43.084 4113
+-87.68 43.084 4043
+-87.554 43.084 3971
+-87.428 43.084 3884
+-87.302 43.084 3840
+-87.176 43.084 3746
+-87.05 43.084 3651
+-86.924 43.084 3524
+-86.798 43.084 3416
+-86.672 43.084 3310
+-86.546 43.084 3246
+-86.42 43.084 3243
+-86.294 43.084 3257
+-86.168 43.084 3245
+-86.042 43.084 3211
+-85.916 43.084 3147
+-85.79 43.084 3092
+-85.664 43.084 3004
+-85.538 43.084 2929
+-85.412 43.084 2882
+-85.286 43.084 2869
+-85.16 43.084 2871
+-85.034 43.084 2869
+-84.908 43.084 2855
+-84.782 43.084 2826
+-84.656 43.084 2787
+-84.53 43.084 2768
+-84.404 43.084 2762
+-84.278 43.084 2742
+-84.152 43.084 2764
+-84.026 43.084 2797
+-83.9 43.084 2824
+-83.774 43.084 2848
+-83.648 43.084 2864
+-83.522 43.084 2912
+-83.396 43.084 2889
+-83.27 43.084 2910
+-83.144 43.084 2925
+-83.018 43.084 2938
+-82.892 43.084 2947
+-82.766 43.084 2930
+-82.64 43.084 2990
+-82.514 43.084 3002
+-82.388 43.084 3012
+-82.262 43.084 2999
+-82.136 43.084 3007
+-82.01 43.084 3014
+-81.884 43.084 3021
+-81.758 43.084 3027
+-81.632 43.084 3033
+-81.506 43.084 3093
+-81.38 43.084 3097
+-81.254 43.084 3104
+-81.128 43.084 3111
+-81.002 43.084 3117
+-80.876 43.084 3079
+-80.75 43.084 3102
+-80.624 43.084 3108
+-80.498 43.084 3158
+-80.372 43.084 3100
+-80.246 43.084 3106
+-80.12 43.084 3111
+-79.994 43.084 3145
+-79.868 43.084 3115
+-79.742 43.084 3120
+-79.616 43.084 3125
+-79.49 43.084 3298
+-79.364 43.084 3260
+-79.238 43.084 3265
+-79.112 43.084 3378
+-78.986 43.084 3361
+-78.86 43.084 3366
+-78.734 43.084 3324
+-78.608 43.084 3394
+-78.482 43.084 3397
+-78.356 43.084 3401
+-78.23 43.084 3404
+-78.104 43.084 3408
+-77.978 43.084 3407
+-77.852 43.084 3410
+-77.726 43.084 3414
+-77.6 43.084 3403
+-77.474 43.084 3360
+-77.348 43.084 3356
+-77.222 43.084 3358
+-77.096 43.084 3361
+-76.97 43.084 3363
+-76.844 43.084 3366
+-76.718 43.084 3368
+-76.592 43.084 3370
+-76.466 43.084 3372
+-76.34 43.084 3374
+-76.214 43.084 3376
+-76.088 43.084 3377
+-75.962 43.084 3379
+-75.836 43.084 3381
+-75.71 43.084 3382
+-75.584 43.084 3384
+-75.458 43.084 3483
+-75.332 43.084 3485
+-75.206 43.084 3473
+-75.08 43.084 3474
+-74.954 43.084 3475
+-74.828 43.084 3477
+-74.702 43.084 3478
+-74.576 43.084 3479
+-74.45 43.084 3481
+-74.324 43.084 3482
+-74.198 43.084 3483
+-74.072 43.084 3484
+-73.946 43.084 3485
+-73.82 43.084 3516
+-73.694 43.084 3517
+-73.568 43.084 3519
+-73.442 43.084 3520
+-73.316 43.084 3521
+-73.19 43.084 3523
+-73.064 43.084 3486
+-72.938 43.084 3487
+-72.812 43.084 3488
+-72.686 43.084 3489
+-72.56 43.084 3521
+-72.434 43.084 3522
+-72.308 43.084 3524
+-72.182 43.084 3481
+-72.056 43.084 3482
+-71.93 43.084 3483
+-71.804 43.084 3618
+-71.678 43.084 3619
+-71.552 43.084 3619
+-71.426 43.084 3620
+-71.3 43.084 3620
+-71.174 43.084 3557
+-71.048 43.084 3557
+-70.922 43.084 3558
+-70.796 43.084 3558
+-70.67 43.084 3558
+-70.544 43.084 3559
+-70.418 43.084 3559
+-70.292 43.084 3559
+-70.166 43.084 3559
+-70.04 43.084 3560
+-69.914 43.084 3540
+-69.788 43.084 3528
+-69.662 43.084 3528
+-69.536 43.084 3528
+-69.41 43.084 3529
+-69.284 43.084 3529
+-69.158 43.084 3529
+-69.032 43.084 3511
+-68.906 43.084 3511
+-68.78 43.084 3512
+-68.654 43.084 3512
+-68.528 43.084 3512
+-68.402 43.084 3512
+-68.276 43.084 3513
+-68.15 43.084 3513
+-68.024 43.084 3461
+-67.898 43.084 3461
+-67.772 43.084 3461
+-67.646 43.084 3461
+-67.52 43.084 3462
+-67.394 43.084 3462
+-67.268 43.084 3462
+-67.142 43.084 3462
+-67.016 43.084 3462
+-66.89 43.084 3462
+-66.764 43.084 3463
+-66.638 43.084 3463
+-66.512 43.084 3463
+-66.386 43.084 3382
+-66.26 43.084 3382
+-66.134 43.084 3382
+-66.008 43.084 3382
+-65.882 43.084 3382
+-65.756 43.084 3382
+-65.63 43.084 3381
+-65.504 43.084 3381
+-65.378 43.084 3381
+-65.252 43.084 3381
+-65.126 43.084 3381
+-128 43.032 3348
+-127.874 43.032 3354
+-127.748 43.032 3378
+-127.622 43.032 3393
+-127.496 43.032 3444
+-127.37 43.032 3468
+-127.244 43.032 3514
+-127.118 43.032 3542
+-126.992 43.032 3597
+-126.866 43.032 3603
+-126.74 43.032 3575
+-126.614 43.032 3664
+-126.488 43.032 3842
+-126.362 43.032 3979
+-126.236 43.032 4064
+-126.11 43.032 4176
+-125.984 43.032 4281
+-125.858 43.032 4348
+-125.732 43.032 4451
+-125.606 43.032 4528
+-125.48 43.032 4562
+-125.354 43.032 4601
+-125.228 43.032 4649
+-125.102 43.032 4646
+-124.976 43.032 4731
+-124.85 43.032 4827
+-124.724 43.032 4892
+-124.598 43.032 4926
+-124.472 43.032 4939
+-124.346 43.032 4992
+-124.22 43.032 5039
+-124.094 43.032 5054
+-123.968 43.032 5076
+-123.842 43.032 5120
+-123.716 43.032 5176
+-123.59 43.032 5202
+-123.464 43.032 5230
+-123.338 43.032 5238
+-123.212 43.032 5259
+-123.086 43.032 5261
+-122.96 43.032 5257
+-122.834 43.032 5273
+-122.708 43.032 5271
+-122.582 43.032 5255
+-122.456 43.032 5247
+-122.33 43.032 5205
+-122.204 43.032 5146
+-122.078 43.032 5109
+-121.952 43.032 5092
+-121.826 43.032 5060
+-121.7 43.032 5015
+-121.574 43.032 5009
+-121.448 43.032 4945
+-121.322 43.032 4896
+-121.196 43.032 4891
+-121.07 43.032 4943
+-120.944 43.032 5012
+-120.818 43.032 5076
+-120.692 43.032 5184
+-120.566 43.032 5236
+-120.44 43.032 5310
+-120.314 43.032 5416
+-120.188 43.032 5509
+-120.062 43.032 5567
+-119.936 43.032 5580
+-119.81 43.032 5630
+-119.684 43.032 5688
+-119.558 43.032 5756
+-119.432 43.032 5748
+-119.306 43.032 5792
+-119.18 43.032 5846
+-119.054 43.032 5917
+-118.928 43.032 5909
+-118.802 43.032 5936
+-118.676 43.032 5957
+-118.55 43.032 5954
+-118.424 43.032 5971
+-118.298 43.032 5946
+-118.172 43.032 5948
+-118.046 43.032 5993
+-117.92 43.032 5921
+-117.794 43.032 5934
+-117.668 43.032 5899
+-117.542 43.032 5864
+-117.416 43.032 5848
+-117.29 43.032 5773
+-117.164 43.032 5730
+-117.038 43.032 5683
+-116.912 43.032 5647
+-116.786 43.032 5575
+-116.66 43.032 5530
+-116.534 43.032 5467
+-116.408 43.032 5426
+-116.282 43.032 5372
+-116.156 43.032 5253
+-116.03 43.032 5177
+-115.904 43.032 5084
+-115.778 43.032 5001
+-115.652 43.032 4919
+-115.526 43.032 4861
+-115.4 43.032 4863
+-115.274 43.032 4795
+-115.148 43.032 4739
+-115.022 43.032 4656
+-114.896 43.032 4566
+-114.77 43.032 4406
+-114.644 43.032 4278
+-114.518 43.032 4078
+-114.392 43.032 3944
+-114.266 43.032 3875
+-114.14 43.032 3745
+-114.014 43.032 3633
+-113.888 43.032 3652
+-113.762 43.032 3573
+-113.636 43.032 3414
+-113.51 43.032 3185
+-113.384 43.032 3081
+-113.258 43.032 3146
+-113.132 43.032 3225
+-113.006 43.032 3253
+-112.88 43.032 3245
+-112.754 43.032 3208
+-112.628 43.032 3165
+-112.502 43.032 3119
+-112.376 43.032 3075
+-112.25 43.032 3039
+-112.124 43.032 3013
+-111.998 43.032 2997
+-111.872 43.032 2979
+-111.746 43.032 2982
+-111.62 43.032 2984
+-111.494 43.032 2998
+-111.368 43.032 3015
+-111.242 43.032 3034
+-111.116 43.032 2977
+-110.99 43.032 2995
+-110.864 43.032 3037
+-110.738 43.032 3056
+-110.612 43.032 3053
+-110.486 43.032 3054
+-110.36 43.032 3038
+-110.234 43.032 3050
+-110.108 43.032 2941
+-109.982 43.032 2952
+-109.856 43.032 2963
+-109.73 43.032 2972
+-109.604 43.032 2981
+-109.478 43.032 2990
+-109.352 43.032 3000
+-109.226 43.032 3008
+-109.1 43.032 3009
+-108.974 43.032 3018
+-108.848 43.032 2952
+-108.722 43.032 2939
+-108.596 43.032 2961
+-108.47 43.032 2967
+-108.344 43.032 2973
+-108.218 43.032 2979
+-108.092 43.032 2985
+-107.966 43.032 2952
+-107.84 43.032 2951
+-107.714 43.032 2956
+-107.588 43.032 2960
+-107.462 43.032 2964
+-107.336 43.032 2968
+-107.21 43.032 2971
+-107.084 43.032 2975
+-106.958 43.032 2978
+-106.832 43.032 2981
+-106.706 43.032 2984
+-106.58 43.032 2987
+-106.454 43.032 2989
+-106.328 43.032 2992
+-106.202 43.032 2995
+-106.076 43.032 2534
+-105.95 43.032 2379
+-105.824 43.032 2325
+-105.698 43.032 2315
+-105.572 43.032 2305
+-105.446 43.032 2295
+-105.32 43.032 2351
+-105.194 43.032 2331
+-105.068 43.032 2276
+-104.942 43.032 2182
+-104.816 43.032 2120
+-104.69 43.032 2093
+-104.564 43.032 2062
+-104.438 43.032 2053
+-104.312 43.032 2031
+-104.186 43.032 1909
+-104.06 43.032 1930
+-103.934 43.032 1987
+-103.808 43.032 2040
+-103.682 43.032 2207
+-103.556 43.032 2320
+-103.43 43.032 2421
+-103.304 43.032 2482
+-103.178 43.032 2476
+-103.052 43.032 2471
+-102.926 43.032 2482
+-102.8 43.032 2532
+-102.674 43.032 2527
+-102.548 43.032 2522
+-102.422 43.032 2517
+-102.296 43.032 2511
+-102.17 43.032 2506
+-102.044 43.032 2500
+-101.918 43.032 2502
+-101.792 43.032 2549
+-101.666 43.032 2548
+-101.54 43.032 2581
+-101.414 43.032 2574
+-101.288 43.032 2568
+-101.162 43.032 2562
+-101.036 43.032 2556
+-100.91 43.032 2549
+-100.784 43.032 2543
+-100.658 43.032 2537
+-100.532 43.032 2550
+-100.406 43.032 2685
+-100.28 43.032 2678
+-100.154 43.032 2672
+-100.028 43.032 2667
+-99.902 43.032 2658
+-99.776 43.032 2678
+-99.65 43.032 2683
+-99.524 43.032 2681
+-99.398 43.032 2713
+-99.272 43.032 2711
+-99.146 43.032 2711
+-99.02 43.032 2714
+-98.894 43.032 2716
+-98.768 43.032 2720
+-98.642 43.032 2723
+-98.516 43.032 2727
+-98.39 43.032 2766
+-98.264 43.032 2769
+-98.138 43.032 2770
+-98.012 43.032 2723
+-97.886 43.032 2724
+-97.76 43.032 2724
+-97.634 43.032 2725
+-97.508 43.032 2720
+-97.382 43.032 2711
+-97.256 43.032 2699
+-97.13 43.032 2682
+-97.004 43.032 2723
+-96.878 43.032 2694
+-96.752 43.032 2654
+-96.626 43.032 2608
+-96.5 43.032 2556
+-96.374 43.032 2502
+-96.248 43.032 2440
+-96.122 43.032 2405
+-95.996 43.032 2365
+-95.87 43.032 2348
+-95.744 43.032 2339
+-95.618 43.032 2332
+-95.492 43.032 2389
+-95.366 43.032 2520
+-95.24 43.032 2682
+-95.114 43.032 2847
+-94.988 43.032 3001
+-94.862 43.032 3116
+-94.736 43.032 3239
+-94.61 43.032 3328
+-94.484 43.032 3436
+-94.358 43.032 3495
+-94.232 43.032 3628
+-94.106 43.032 3647
+-93.98 43.032 3783
+-93.854 43.032 3790
+-93.728 43.032 3815
+-93.602 43.032 3905
+-93.476 43.032 3954
+-93.35 43.032 4014
+-93.224 43.032 4048
+-93.098 43.032 4080
+-92.972 43.032 4064
+-92.846 43.032 4114
+-92.72 43.032 4224
+-92.594 43.032 4321
+-92.468 43.032 4386
+-92.342 43.032 4441
+-92.216 43.032 4477
+-92.09 43.032 4505
+-91.964 43.032 4554
+-91.838 43.032 4605
+-91.712 43.032 4609
+-91.586 43.032 4655
+-91.46 43.032 4763
+-91.334 43.032 4796
+-91.208 43.032 4799
+-91.082 43.032 4833
+-90.956 43.032 4801
+-90.83 43.032 4858
+-90.704 43.032 4877
+-90.578 43.032 4853
+-90.452 43.032 4834
+-90.326 43.032 4830
+-90.2 43.032 4807
+-90.074 43.032 4786
+-89.948 43.032 4784
+-89.822 43.032 4760
+-89.696 43.032 4757
+-89.57 43.032 4736
+-89.444 43.032 4689
+-89.318 43.032 4654
+-89.192 43.032 4628
+-89.066 43.032 4582
+-88.94 43.032 4553
+-88.814 43.032 4519
+-88.688 43.032 4449
+-88.562 43.032 4419
+-88.436 43.032 4347
+-88.31 43.032 4270
+-88.184 43.032 4255
+-88.058 43.032 4207
+-87.932 43.032 4163
+-87.806 43.032 4103
+-87.68 43.032 4025
+-87.554 43.032 3962
+-87.428 43.032 3871
+-87.302 43.032 3849
+-87.176 43.032 3784
+-87.05 43.032 3672
+-86.924 43.032 3547
+-86.798 43.032 3418
+-86.672 43.032 3312
+-86.546 43.032 3191
+-86.42 43.032 3248
+-86.294 43.032 3268
+-86.168 43.032 3243
+-86.042 43.032 3204
+-85.916 43.032 3142
+-85.79 43.032 3083
+-85.664 43.032 2977
+-85.538 43.032 2864
+-85.412 43.032 2802
+-85.286 43.032 2812
+-85.16 43.032 2831
+-85.034 43.032 2839
+-84.908 43.032 2821
+-84.782 43.032 2770
+-84.656 43.032 2715
+-84.53 43.032 2674
+-84.404 43.032 2669
+-84.278 43.032 2702
+-84.152 43.032 2747
+-84.026 43.032 2757
+-83.9 43.032 2802
+-83.774 43.032 2828
+-83.648 43.032 2881
+-83.522 43.032 2905
+-83.396 43.032 2893
+-83.27 43.032 2911
+-83.144 43.032 2927
+-83.018 43.032 2938
+-82.892 43.032 2970
+-82.766 43.032 2982
+-82.64 43.032 2995
+-82.514 43.032 3006
+-82.388 43.032 2995
+-82.262 43.032 3003
+-82.136 43.032 3011
+-82.01 43.032 3018
+-81.884 43.032 3025
+-81.758 43.032 3031
+-81.632 43.032 3091
+-81.506 43.032 3095
+-81.38 43.032 3103
+-81.254 43.032 3109
+-81.128 43.032 3116
+-81.002 43.032 3079
+-80.876 43.032 3102
+-80.75 43.032 3108
+-80.624 43.032 3157
+-80.498 43.032 3100
+-80.372 43.032 3106
+-80.246 43.032 3111
+-80.12 43.032 3145
+-79.994 43.032 3116
+-79.868 43.032 3121
+-79.742 43.032 3125
+-79.616 43.032 3295
+-79.49 43.032 3259
+-79.364 43.032 3264
+-79.238 43.032 3375
+-79.112 43.032 3359
+-78.986 43.032 3364
+-78.86 43.032 3323
+-78.734 43.032 3392
+-78.608 43.032 3395
+-78.482 43.032 3399
+-78.356 43.032 3403
+-78.23 43.032 3406
+-78.104 43.032 3406
+-77.978 43.032 3409
+-77.852 43.032 3413
+-77.726 43.032 3402
+-77.6 43.032 3359
+-77.474 43.032 3355
+-77.348 43.032 3358
+-77.222 43.032 3360
+-77.096 43.032 3363
+-76.97 43.032 3365
+-76.844 43.032 3367
+-76.718 43.032 3369
+-76.592 43.032 3371
+-76.466 43.032 3373
+-76.34 43.032 3375
+-76.214 43.032 3377
+-76.088 43.032 3379
+-75.962 43.032 3381
+-75.836 43.032 3382
+-75.71 43.032 3384
+-75.584 43.032 3483
+-75.458 43.032 3484
+-75.332 43.032 3472
+-75.206 43.032 3473
+-75.08 43.032 3475
+-74.954 43.032 3476
+-74.828 43.032 3477
+-74.702 43.032 3479
+-74.576 43.032 3480
+-74.45 43.032 3481
+-74.324 43.032 3482
+-74.198 43.032 3484
+-74.072 43.032 3485
+-73.946 43.032 3515
+-73.82 43.032 3516
+-73.694 43.032 3518
+-73.568 43.032 3519
+-73.442 43.032 3521
+-73.316 43.032 3522
+-73.19 43.032 3486
+-73.064 43.032 3487
+-72.938 43.032 3488
+-72.812 43.032 3489
+-72.686 43.032 3520
+-72.56 43.032 3522
+-72.434 43.032 3523
+-72.308 43.032 3480
+-72.182 43.032 3482
+-72.056 43.032 3483
+-71.93 43.032 3617
+-71.804 43.032 3618
+-71.678 43.032 3619
+-71.552 43.032 3619
+-71.426 43.032 3620
+-71.3 43.032 3557
+-71.174 43.032 3557
+-71.048 43.032 3557
+-70.922 43.032 3558
+-70.796 43.032 3558
+-70.67 43.032 3558
+-70.544 43.032 3559
+-70.418 43.032 3559
+-70.292 43.032 3559
+-70.166 43.032 3560
+-70.04 43.032 3540
+-69.914 43.032 3528
+-69.788 43.032 3528
+-69.662 43.032 3528
+-69.536 43.032 3529
+-69.41 43.032 3529
+-69.284 43.032 3511
+-69.158 43.032 3511
+-69.032 43.032 3511
+-68.906 43.032 3512
+-68.78 43.032 3512
+-68.654 43.032 3512
+-68.528 43.032 3512
+-68.402 43.032 3512
+-68.276 43.032 3513
+-68.15 43.032 3461
+-68.024 43.032 3461
+-67.898 43.032 3461
+-67.772 43.032 3461
+-67.646 43.032 3461
+-67.52 43.032 3462
+-67.394 43.032 3462
+-67.268 43.032 3462
+-67.142 43.032 3462
+-67.016 43.032 3462
+-66.89 43.032 3462
+-66.764 43.032 3463
+-66.638 43.032 3463
+-66.512 43.032 3382
+-66.386 43.032 3382
+-66.26 43.032 3382
+-66.134 43.032 3382
+-66.008 43.032 3382
+-65.882 43.032 3382
+-65.756 43.032 3381
+-65.63 43.032 3381
+-65.504 43.032 3381
+-65.378 43.032 3381
+-65.252 43.032 3381
+-65.126 43.032 3381
+-128 42.98 3333
+-127.874 42.98 3367
+-127.748 42.98 3376
+-127.622 42.98 3419
+-127.496 42.98 3432
+-127.37 42.98 3450
+-127.244 42.98 3472
+-127.118 42.98 3493
+-126.992 42.98 3534
+-126.866 42.98 3570
+-126.74 42.98 3606
+-126.614 42.98 3683
+-126.488 42.98 3808
+-126.362 42.98 3925
+-126.236 42.98 4050
+-126.11 42.98 4186
+-125.984 42.98 4252
+-125.858 42.98 4306
+-125.732 42.98 4388
+-125.606 42.98 4436
+-125.48 42.98 4460
+-125.354 42.98 4543
+-125.228 42.98 4631
+-125.102 42.98 4653
+-124.976 42.98 4697
+-124.85 42.98 4784
+-124.724 42.98 4858
+-124.598 42.98 4897
+-124.472 42.98 4919
+-124.346 42.98 4959
+-124.22 42.98 4980
+-124.094 42.98 5033
+-123.968 42.98 5033
+-123.842 42.98 5062
+-123.716 42.98 5128
+-123.59 42.98 5167
+-123.464 42.98 5178
+-123.338 42.98 5179
+-123.212 42.98 5199
+-123.086 42.98 5227
+-122.96 42.98 5238
+-122.834 42.98 5238
+-122.708 42.98 5234
+-122.582 42.98 5211
+-122.456 42.98 5180
+-122.33 42.98 5135
+-122.204 42.98 5082
+-122.078 42.98 5084
+-121.952 42.98 5057
+-121.826 42.98 5019
+-121.7 42.98 4975
+-121.574 42.98 4931
+-121.448 42.98 4874
+-121.322 42.98 4845
+-121.196 42.98 4779
+-121.07 42.98 4875
+-120.944 42.98 4950
+-120.818 42.98 5014
+-120.692 42.98 5118
+-120.566 42.98 5213
+-120.44 42.98 5242
+-120.314 42.98 5337
+-120.188 42.98 5453
+-120.062 42.98 5511
+-119.936 42.98 5543
+-119.81 42.98 5581
+-119.684 42.98 5666
+-119.558 42.98 5662
+-119.432 42.98 5723
+-119.306 42.98 5760
+-119.18 42.98 5806
+-119.054 42.98 5852
+-118.928 42.98 5877
+-118.802 42.98 5899
+-118.676 42.98 5928
+-118.55 42.98 5905
+-118.424 42.98 5893
+-118.298 42.98 5882
+-118.172 42.98 5888
+-118.046 42.98 5900
+-117.92 42.98 5891
+-117.794 42.98 5868
+-117.668 42.98 5834
+-117.542 42.98 5809
+-117.416 42.98 5774
+-117.29 42.98 5724
+-117.164 42.98 5711
+-117.038 42.98 5660
+-116.912 42.98 5581
+-116.786 42.98 5525
+-116.66 42.98 5497
+-116.534 42.98 5436
+-116.408 42.98 5343
+-116.282 42.98 5328
+-116.156 42.98 5211
+-116.03 42.98 5108
+-115.904 42.98 5025
+-115.778 42.98 4961
+-115.652 42.98 4890
+-115.526 42.98 4850
+-115.4 42.98 4817
+-115.274 42.98 4746
+-115.148 42.98 4667
+-115.022 42.98 4589
+-114.896 42.98 4460
+-114.77 42.98 4375
+-114.644 42.98 4263
+-114.518 42.98 4113
+-114.392 42.98 3957
+-114.266 42.98 3862
+-114.14 42.98 3755
+-114.014 42.98 3685
+-113.888 42.98 3639
+-113.762 42.98 3568
+-113.636 42.98 3404
+-113.51 42.98 3241
+-113.384 42.98 3157
+-113.258 42.98 3178
+-113.132 42.98 3217
+-113.006 42.98 3229
+-112.88 42.98 3200
+-112.754 42.98 3150
+-112.628 42.98 3082
+-112.502 42.98 3019
+-112.376 42.98 2964
+-112.25 42.98 2923
+-112.124 42.98 2898
+-111.998 42.98 2888
+-111.872 42.98 2889
+-111.746 42.98 2887
+-111.62 42.98 2906
+-111.494 42.98 2922
+-111.368 42.98 2916
+-111.242 42.98 2903
+-111.116 42.98 2927
+-110.99 42.98 2951
+-110.864 42.98 2974
+-110.738 42.98 2995
+-110.612 42.98 3004
+-110.486 42.98 2978
+-110.36 42.98 2965
+-110.234 42.98 2979
+-110.108 42.98 2991
+-109.982 42.98 2931
+-109.856 42.98 2943
+-109.73 42.98 2954
+-109.604 42.98 2964
+-109.478 42.98 2973
+-109.352 42.98 2983
+-109.226 42.98 2993
+-109.1 42.98 3002
+-108.974 42.98 3003
+-108.848 42.98 2935
+-108.722 42.98 2876
+-108.596 42.98 2934
+-108.47 42.98 2953
+-108.344 42.98 2960
+-108.218 42.98 2966
+-108.092 42.98 2972
+-107.966 42.98 2978
+-107.84 42.98 2946
+-107.714 42.98 2945
+-107.588 42.98 2950
+-107.462 42.98 2954
+-107.336 42.98 2958
+-107.21 42.98 2962
+-107.084 42.98 2966
+-106.958 42.98 2859
+-106.832 42.98 2861
+-106.706 42.98 2863
+-106.58 42.98 2864
+-106.454 42.98 2866
+-106.328 42.98 2868
+-106.202 42.98 2858
+-106.076 42.98 2859
+-105.95 42.98 2367
+-105.824 42.98 2330
+-105.698 42.98 2302
+-105.572 42.98 2292
+-105.446 42.98 2282
+-105.32 42.98 2271
+-105.194 42.98 2326
+-105.068 42.98 2262
+-104.942 42.98 2169
+-104.816 42.98 2108
+-104.69 42.98 2081
+-104.564 42.98 2052
+-104.438 42.98 2044
+-104.312 42.98 1999
+-104.186 42.98 1904
+-104.06 42.98 1927
+-103.934 42.98 1983
+-103.808 42.98 2037
+-103.682 42.98 2205
+-103.556 42.98 2317
+-103.43 42.98 2419
+-103.304 42.98 2479
+-103.178 42.98 2473
+-103.052 42.98 2468
+-102.926 42.98 2462
+-102.8 42.98 2473
+-102.674 42.98 2523
+-102.548 42.98 2518
+-102.422 42.98 2512
+-102.296 42.98 2506
+-102.17 42.98 2500
+-102.044 42.98 2494
+-101.918 42.98 2488
+-101.792 42.98 2490
+-101.666 42.98 2536
+-101.54 42.98 2534
+-101.414 42.98 2566
+-101.288 42.98 2560
+-101.162 42.98 2553
+-101.036 42.98 2546
+-100.91 42.98 2539
+-100.784 42.98 2533
+-100.658 42.98 2526
+-100.532 42.98 2519
+-100.406 42.98 2533
+-100.28 42.98 2666
+-100.154 42.98 2659
+-100.028 42.98 2653
+-99.902 42.98 2647
+-99.776 42.98 2639
+-99.65 42.98 2659
+-99.524 42.98 2665
+-99.398 42.98 2662
+-99.272 42.98 2695
+-99.146 42.98 2694
+-99.02 42.98 2696
+-98.894 42.98 2700
+-98.768 42.98 2704
+-98.642 42.98 2709
+-98.516 42.98 2714
+-98.39 42.98 2719
+-98.264 42.98 2759
+-98.138 42.98 2762
+-98.012 42.98 2765
+-97.886 42.98 2720
+-97.76 42.98 2721
+-97.634 42.98 2721
+-97.508 42.98 2722
+-97.382 42.98 2716
+-97.256 42.98 2707
+-97.13 42.98 2693
+-97.004 42.98 2675
+-96.878 42.98 2710
+-96.752 42.98 2680
+-96.626 42.98 2640
+-96.5 42.98 2594
+-96.374 42.98 2549
+-96.248 42.98 2501
+-96.122 42.98 2480
+-95.996 42.98 2429
+-95.87 42.98 2389
+-95.744 42.98 2333
+-95.618 42.98 2290
+-95.492 42.98 2354
+-95.366 42.98 2503
+-95.24 42.98 2678
+-95.114 42.98 2855
+-94.988 42.98 3017
+-94.862 42.98 3182
+-94.736 42.98 3286
+-94.61 42.98 3376
+-94.484 42.98 3448
+-94.358 42.98 3526
+-94.232 42.98 3642
+-94.106 42.98 3691
+-93.98 42.98 3801
+-93.854 42.98 3828
+-93.728 42.98 3895
+-93.602 42.98 3969
+-93.476 42.98 4010
+-93.35 42.98 4046
+-93.224 42.98 4098
+-93.098 42.98 4116
+-92.972 42.98 4114
+-92.846 42.98 4158
+-92.72 42.98 4263
+-92.594 42.98 4359
+-92.468 42.98 4429
+-92.342 42.98 4497
+-92.216 42.98 4507
+-92.09 42.98 4566
+-91.964 42.98 4629
+-91.838 42.98 4664
+-91.712 42.98 4681
+-91.586 42.98 4756
+-91.46 42.98 4838
+-91.334 42.98 4864
+-91.208 42.98 4880
+-91.082 42.98 4896
+-90.956 42.98 4894
+-90.83 42.98 4915
+-90.704 42.98 4923
+-90.578 42.98 4916
+-90.452 42.98 4889
+-90.326 42.98 4882
+-90.2 42.98 4875
+-90.074 42.98 4865
+-89.948 42.98 4859
+-89.822 42.98 4835
+-89.696 42.98 4781
+-89.57 42.98 4762
+-89.444 42.98 4732
+-89.318 42.98 4693
+-89.192 42.98 4702
+-89.066 42.98 4654
+-88.94 42.98 4605
+-88.814 42.98 4584
+-88.688 42.98 4496
+-88.562 42.98 4421
+-88.436 42.98 4395
+-88.31 42.98 4318
+-88.184 42.98 4288
+-88.058 42.98 4228
+-87.932 42.98 4173
+-87.806 42.98 4103
+-87.68 42.98 4005
+-87.554 42.98 3951
+-87.428 42.98 3801
+-87.302 42.98 3855
+-87.176 42.98 3819
+-87.05 42.98 3727
+-86.924 42.98 3575
+-86.798 42.98 3420
+-86.672 42.98 3339
+-86.546 42.98 3305
+-86.42 42.98 3297
+-86.294 42.98 3294
+-86.168 42.98 3249
+-86.042 42.98 3187
+-85.916 42.98 3133
+-85.79 42.98 3095
+-85.664 42.98 2976
+-85.538 42.98 2825
+-85.412 42.98 2743
+-85.286 42.98 2771
+-85.16 42.98 2797
+-85.034 42.98 2816
+-84.908 42.98 2787
+-84.782 42.98 2713
+-84.656 42.98 2602
+-84.53 42.98 2532
+-84.404 42.98 2548
+-84.278 42.98 2615
+-84.152 42.98 2691
+-84.026 42.98 2753
+-83.9 42.98 2810
+-83.774 42.98 2880
+-83.648 42.98 2918
+-83.522 42.98 2901
+-83.396 42.98 2893
+-83.27 42.98 2912
+-83.144 42.98 2971
+-83.018 42.98 2958
+-82.892 42.98 2972
+-82.766 42.98 2986
+-82.64 42.98 2998
+-82.514 42.98 2989
+-82.388 42.98 2999
+-82.262 42.98 3007
+-82.136 42.98 3015
+-82.01 42.98 3022
+-81.884 42.98 3029
+-81.758 42.98 3088
+-81.632 42.98 3093
+-81.506 42.98 3101
+-81.38 42.98 3108
+-81.254 42.98 3115
+-81.128 42.98 3079
+-81.002 42.98 3102
+-80.876 42.98 3108
+-80.75 42.98 3156
+-80.624 42.98 3101
+-80.498 42.98 3106
+-80.372 42.98 3112
+-80.246 42.98 3145
+-80.12 42.98 3117
+-79.994 42.98 3122
+-79.868 42.98 3126
+-79.742 42.98 3293
+-79.616 42.98 3257
+-79.49 42.98 3262
+-79.364 42.98 3373
+-79.238 42.98 3357
+-79.112 42.98 3362
+-78.986 42.98 3321
+-78.86 42.98 3391
+-78.734 42.98 3394
+-78.608 42.98 3398
+-78.482 42.98 3402
+-78.356 42.98 3405
+-78.23 42.98 3405
+-78.104 42.98 3408
+-77.978 42.98 3412
+-77.852 42.98 3401
+-77.726 42.98 3358
+-77.6 42.98 3355
+-77.474 42.98 3357
+-77.348 42.98 3360
+-77.222 42.98 3362
+-77.096 42.98 3365
+-76.97 42.98 3367
+-76.844 42.98 3369
+-76.718 42.98 3371
+-76.592 42.98 3373
+-76.466 42.98 3375
+-76.34 42.98 3377
+-76.214 42.98 3379
+-76.088 42.98 3381
+-75.962 42.98 3382
+-75.836 42.98 3384
+-75.71 42.98 3482
+-75.584 42.98 3484
+-75.458 42.98 3471
+-75.332 42.98 3473
+-75.206 42.98 3474
+-75.08 42.98 3476
+-74.954 42.98 3477
+-74.828 42.98 3478
+-74.702 42.98 3480
+-74.576 42.98 3481
+-74.45 42.98 3482
+-74.324 42.98 3483
+-74.198 42.98 3484
+-74.072 42.98 3514
+-73.946 42.98 3516
+-73.82 42.98 3517
+-73.694 42.98 3519
+-73.568 42.98 3520
+-73.442 42.98 3522
+-73.316 42.98 3485
+-73.19 42.98 3487
+-73.064 42.98 3488
+-72.938 42.98 3489
+-72.812 42.98 3520
+-72.686 42.98 3521
+-72.56 42.98 3523
+-72.434 42.98 3480
+-72.308 42.98 3481
+-72.182 42.98 3482
+-72.056 42.98 3617
+-71.93 42.98 3618
+-71.804 42.98 3618
+-71.678 42.98 3619
+-71.552 42.98 3619
+-71.426 42.98 3556
+-71.3 42.98 3557
+-71.174 42.98 3557
+-71.048 42.98 3557
+-70.922 42.98 3558
+-70.796 42.98 3558
+-70.67 42.98 3558
+-70.544 42.98 3559
+-70.418 42.98 3559
+-70.292 42.98 3559
+-70.166 42.98 3539
+-70.04 42.98 3527
+-69.914 42.98 3528
+-69.788 42.98 3528
+-69.662 42.98 3528
+-69.536 42.98 3529
+-69.41 42.98 3529
+-69.284 42.98 3511
+-69.158 42.98 3511
+-69.032 42.98 3511
+-68.906 42.98 3512
+-68.78 42.98 3512
+-68.654 42.98 3512
+-68.528 42.98 3512
+-68.402 42.98 3513
+-68.276 42.98 3461
+-68.15 42.98 3461
+-68.024 42.98 3461
+-67.898 42.98 3461
+-67.772 42.98 3461
+-67.646 42.98 3461
+-67.52 42.98 3462
+-67.394 42.98 3462
+-67.268 42.98 3462
+-67.142 42.98 3462
+-67.016 42.98 3462
+-66.89 42.98 3462
+-66.764 42.98 3463
+-66.638 42.98 3382
+-66.512 42.98 3382
+-66.386 42.98 3382
+-66.26 42.98 3382
+-66.134 42.98 3382
+-66.008 42.98 3382
+-65.882 42.98 3381
+-65.756 42.98 3381
+-65.63 42.98 3381
+-65.504 42.98 3381
+-65.378 42.98 3381
+-65.252 42.98 3381
+-65.126 42.98 3381
+-128 42.928 3320
+-127.874 42.928 3357
+-127.748 42.928 3367
+-127.622 42.928 3375
+-127.496 42.928 3415
+-127.37 42.928 3412
+-127.244 42.928 3417
+-127.118 42.928 3408
+-126.992 42.928 3425
+-126.866 42.928 3490
+-126.74 42.928 3567
+-126.614 42.928 3639
+-126.488 42.928 3772
+-126.362 42.928 3891
+-126.236 42.928 4042
+-126.11 42.928 4151
+-125.984 42.928 4221
+-125.858 42.928 4257
+-125.732 42.928 4286
+-125.606 42.928 4368
+-125.48 42.928 4357
+-125.354 42.928 4468
+-125.228 42.928 4583
+-125.102 42.928 4641
+-124.976 42.928 4680
+-124.85 42.928 4746
+-124.724 42.928 4814
+-124.598 42.928 4862
+-124.472 42.928 4899
+-124.346 42.928 4931
+-124.22 42.928 4910
+-124.094 42.928 4995
+-123.968 42.928 5022
+-123.842 42.928 5017
+-123.716 42.928 5074
+-123.59 42.928 5124
+-123.464 42.928 5115
+-123.338 42.928 5096
+-123.212 42.928 5122
+-123.086 42.928 5150
+-122.96 42.928 5173
+-122.834 42.928 5164
+-122.708 42.928 5152
+-122.582 42.928 5120
+-122.456 42.928 5101
+-122.33 42.928 5060
+-122.204 42.928 5031
+-122.078 42.928 5020
+-121.952 42.928 5000
+-121.826 42.928 4959
+-121.7 42.928 4920
+-121.574 42.928 4865
+-121.448 42.928 4812
+-121.322 42.928 4776
+-121.196 42.928 4788
+-121.07 42.928 4859
+-120.944 42.928 4934
+-120.818 42.928 4956
+-120.692 42.928 5048
+-120.566 42.928 5150
+-120.44 42.928 5222
+-120.314 42.928 5304
+-120.188 42.928 5409
+-120.062 42.928 5407
+-119.936 42.928 5492
+-119.81 42.928 5559
+-119.684 42.928 5612
+-119.558 42.928 5646
+-119.432 42.928 5684
+-119.306 42.928 5723
+-119.18 42.928 5752
+-119.054 42.928 5781
+-118.928 42.928 5825
+-118.802 42.928 5853
+-118.676 42.928 5865
+-118.55 42.928 5873
+-118.424 42.928 5847
+-118.298 42.928 5866
+-118.172 42.928 5848
+-118.046 42.928 5874
+-117.92 42.928 5839
+-117.794 42.928 5818
+-117.668 42.928 5821
+-117.542 42.928 5749
+-117.416 42.928 5730
+-117.29 42.928 5675
+-117.164 42.928 5643
+-117.038 42.928 5581
+-116.912 42.928 5517
+-116.786 42.928 5491
+-116.66 42.928 5462
+-116.534 42.928 5400
+-116.408 42.928 5350
+-116.282 42.928 5292
+-116.156 42.928 5167
+-116.03 42.928 5035
+-115.904 42.928 4979
+-115.778 42.928 4929
+-115.652 42.928 4828
+-115.526 42.928 4753
+-115.4 42.928 4736
+-115.274 42.928 4674
+-115.148 42.928 4606
+-115.022 42.928 4498
+-114.896 42.928 4361
+-114.77 42.928 4266
+-114.644 42.928 4219
+-114.518 42.928 4133
+-114.392 42.928 4001
+-114.266 42.928 3877
+-114.14 42.928 3792
+-114.014 42.928 3723
+-113.888 42.928 3647
+-113.762 42.928 3527
+-113.636 42.928 3432
+-113.51 42.928 3330
+-113.384 42.928 3263
+-113.258 42.928 3226
+-113.132 42.928 3215
+-113.006 42.928 3194
+-112.88 42.928 3145
+-112.754 42.928 3065
+-112.628 42.928 2977
+-112.502 42.928 2888
+-112.376 42.928 2820
+-112.25 42.928 2777
+-112.124 42.928 2757
+-111.998 42.928 2757
+-111.872 42.928 2740
+-111.746 42.928 2763
+-111.62 42.928 2786
+-111.494 42.928 2788
+-111.368 42.928 2821
+-111.242 42.928 2843
+-111.116 42.928 2875
+-110.99 42.928 2905
+-110.864 42.928 2934
+-110.738 42.928 2960
+-110.612 42.928 2912
+-110.486 42.928 2931
+-110.36 42.928 2948
+-110.234 42.928 2936
+-110.108 42.928 2950
+-109.982 42.928 2963
+-109.856 42.928 2924
+-109.73 42.928 2936
+-109.604 42.928 2947
+-109.478 42.928 2958
+-109.352 42.928 2968
+-109.226 42.928 2978
+-109.1 42.928 2988
+-108.974 42.928 2920
+-108.848 42.928 2920
+-108.722 42.928 2928
+-108.596 42.928 2870
+-108.47 42.928 2875
+-108.344 42.928 2947
+-108.218 42.928 2954
+-108.092 42.928 2960
+-107.966 42.928 2966
+-107.84 42.928 2972
+-107.714 42.928 2940
+-107.588 42.928 2940
+-107.462 42.928 2944
+-107.336 42.928 2949
+-107.21 42.928 2844
+-107.084 42.928 2846
+-106.958 42.928 2849
+-106.832 42.928 2851
+-106.706 42.928 2853
+-106.58 42.928 2855
+-106.454 42.928 2731
+-106.328 42.928 2731
+-106.202 42.928 2732
+-106.076 42.928 2732
+-105.95 42.928 2355
+-105.824 42.928 2345
+-105.698 42.928 2307
+-105.572 42.928 2280
+-105.446 42.928 2269
+-105.32 42.928 2258
+-105.194 42.928 2246
+-105.068 42.928 2220
+-104.942 42.928 2208
+-104.816 42.928 2095
+-104.69 42.928 2070
+-104.564 42.928 2043
+-104.438 42.928 2036
+-104.312 42.928 1993
+-104.186 42.928 1900
+-104.06 42.928 1939
+-103.934 42.928 2005
+-103.808 42.928 2035
+-103.682 42.928 2203
+-103.556 42.928 2315
+-103.43 42.928 2417
+-103.304 42.928 2476
+-103.178 42.928 2471
+-103.052 42.928 2465
+-102.926 42.928 2459
+-102.8 42.928 2453
+-102.674 42.928 2464
+-102.548 42.928 2513
+-102.422 42.928 2507
+-102.296 42.928 2501
+-102.17 42.928 2495
+-102.044 42.928 2489
+-101.918 42.928 2482
+-101.792 42.928 2476
+-101.666 42.928 2477
+-101.54 42.928 2521
+-101.414 42.928 2520
+-101.288 42.928 2551
+-101.162 42.928 2544
+-101.036 42.928 2536
+-100.91 42.928 2529
+-100.784 42.928 2521
+-100.658 42.928 2514
+-100.532 42.928 2507
+-100.406 42.928 2500
+-100.28 42.928 2515
+-100.154 42.928 2645
+-100.028 42.928 2638
+-99.902 42.928 2632
+-99.776 42.928 2626
+-99.65 42.928 2618
+-99.524 42.928 2638
+-99.398 42.928 2644
+-99.272 42.928 2643
+-99.146 42.928 2675
+-99.02 42.928 2675
+-98.894 42.928 2681
+-98.768 42.928 2686
+-98.642 42.928 2691
+-98.516 42.928 2698
+-98.39 42.928 2705
+-98.264 42.928 2712
+-98.138 42.928 2753
+-98.012 42.928 2758
+-97.886 42.928 2762
+-97.76 42.928 2718
+-97.634 42.928 2721
+-97.508 42.928 2721
+-97.382 42.928 2721
+-97.256 42.928 2715
+-97.13 42.928 2705
+-97.004 42.928 2691
+-96.878 42.928 2672
+-96.752 42.928 2704
+-96.626 42.928 2673
+-96.5 42.928 2634
+-96.374 42.928 2590
+-96.248 42.928 2546
+-96.122 42.928 2504
+-95.996 42.928 2476
+-95.87 42.928 2422
+-95.744 42.928 2368
+-95.618 42.928 2344
+-95.492 42.928 2398
+-95.366 42.928 2525
+-95.24 42.928 2697
+-95.114 42.928 2880
+-94.988 42.928 3070
+-94.862 42.928 3213
+-94.736 42.928 3311
+-94.61 42.928 3423
+-94.484 42.928 3508
+-94.358 42.928 3563
+-94.232 42.928 3655
+-94.106 42.928 3697
+-93.98 42.928 3823
+-93.854 42.928 3868
+-93.728 42.928 3906
+-93.602 42.928 3979
+-93.476 42.928 4051
+-93.35 42.928 4082
+-93.224 42.928 4104
+-93.098 42.928 4165
+-92.972 42.928 4189
+-92.846 42.928 4260
+-92.72 42.928 4371
+-92.594 42.928 4415
+-92.468 42.928 4520
+-92.342 42.928 4562
+-92.216 42.928 4567
+-92.09 42.928 4633
+-91.964 42.928 4660
+-91.838 42.928 4690
+-91.712 42.928 4757
+-91.586 42.928 4822
+-91.46 42.928 4873
+-91.334 42.928 4849
+-91.208 42.928 4911
+-91.082 42.928 4918
+-90.956 42.928 4950
+-90.83 42.928 4925
+-90.704 42.928 4969
+-90.578 42.928 4983
+-90.452 42.928 4979
+-90.326 42.928 4965
+-90.2 42.928 4955
+-90.074 42.928 4932
+-89.948 42.928 4913
+-89.822 42.928 4907
+-89.696 42.928 4877
+-89.57 42.928 4847
+-89.444 42.928 4803
+-89.318 42.928 4751
+-89.192 42.928 4708
+-89.066 42.928 4706
+-88.94 42.928 4701
+-88.814 42.928 4623
+-88.688 42.928 4550
+-88.562 42.928 4482
+-88.436 42.928 4444
+-88.31 42.928 4371
+-88.184 42.928 4299
+-88.058 42.928 4250
+-87.932 42.928 4192
+-87.806 42.928 4128
+-87.68 42.928 4048
+-87.554 42.928 3993
+-87.428 42.928 3937
+-87.302 42.928 3914
+-87.176 42.928 3857
+-87.05 42.928 3773
+-86.924 42.928 3639
+-86.798 42.928 3491
+-86.672 42.928 3403
+-86.546 42.928 3379
+-86.42 42.928 3350
+-86.294 42.928 3318
+-86.168 42.928 3269
+-86.042 42.928 3174
+-85.916 42.928 3122
+-85.79 42.928 3111
+-85.664 42.928 3005
+-85.538 42.928 2869
+-85.412 42.928 2784
+-85.286 42.928 2730
+-85.16 42.928 2778
+-85.034 42.928 2805
+-84.908 42.928 2773
+-84.782 42.928 2647
+-84.656 42.928 2457
+-84.53 42.928 2354
+-84.404 42.928 2412
+-84.278 42.928 2535
+-84.152 42.928 2643
+-84.026 42.928 2736
+-83.9 42.928 2819
+-83.774 42.928 2870
+-83.648 42.928 2912
+-83.522 42.928 2946
+-83.396 42.928 2924
+-83.27 42.928 2953
+-83.144 42.928 2944
+-83.018 42.928 2960
+-82.892 42.928 2976
+-82.766 42.928 2990
+-82.64 42.928 2983
+-82.514 42.928 2993
+-82.388 42.928 3003
+-82.262 42.928 3011
+-82.136 42.928 3019
+-82.01 42.928 3027
+-81.884 42.928 3086
+-81.758 42.928 3091
+-81.632 42.928 3099
+-81.506 42.928 3107
+-81.38 42.928 3114
+-81.254 42.928 3078
+-81.128 42.928 3101
+-81.002 42.928 3108
+-80.876 42.928 3156
+-80.75 42.928 3101
+-80.624 42.928 3107
+-80.498 42.928 3112
+-80.372 42.928 3146
+-80.246 42.928 3118
+-80.12 42.928 3123
+-79.994 42.928 3128
+-79.868 42.928 3291
+-79.742 42.928 3255
+-79.616 42.928 3260
+-79.49 42.928 3371
+-79.364 42.928 3355
+-79.238 42.928 3360
+-79.112 42.928 3320
+-78.986 42.928 3389
+-78.86 42.928 3392
+-78.734 42.928 3396
+-78.608 42.928 3400
+-78.482 42.928 3404
+-78.356 42.928 3403
+-78.23 42.928 3407
+-78.104 42.928 3411
+-77.978 42.928 3400
+-77.852 42.928 3357
+-77.726 42.928 3354
+-77.6 42.928 3357
+-77.474 42.928 3359
+-77.348 42.928 3362
+-77.222 42.928 3364
+-77.096 42.928 3367
+-76.97 42.928 3369
+-76.844 42.928 3371
+-76.718 42.928 3373
+-76.592 42.928 3375
+-76.466 42.928 3377
+-76.34 42.928 3379
+-76.214 42.928 3381
+-76.088 42.928 3382
+-75.962 42.928 3384
+-75.836 42.928 3481
+-75.71 42.928 3483
+-75.584 42.928 3471
+-75.458 42.928 3472
+-75.332 42.928 3474
+-75.206 42.928 3475
+-75.08 42.928 3476
+-74.954 42.928 3478
+-74.828 42.928 3479
+-74.702 42.928 3480
+-74.576 42.928 3482
+-74.45 42.928 3483
+-74.324 42.928 3484
+-74.198 42.928 3514
+-74.072 42.928 3515
+-73.946 42.928 3517
+-73.82 42.928 3518
+-73.694 42.928 3520
+-73.568 42.928 3521
+-73.442 42.928 3485
+-73.316 42.928 3486
+-73.19 42.928 3488
+-73.064 42.928 3489
+-72.938 42.928 3519
+-72.812 42.928 3521
+-72.686 42.928 3522
+-72.56 42.928 3480
+-72.434 42.928 3481
+-72.308 42.928 3482
+-72.182 42.928 3616
+-72.056 42.928 3617
+-71.93 42.928 3618
+-71.804 42.928 3618
+-71.678 42.928 3619
+-71.552 42.928 3556
+-71.426 42.928 3556
+-71.3 42.928 3557
+-71.174 42.928 3557
+-71.048 42.928 3557
+-70.922 42.928 3558
+-70.796 42.928 3558
+-70.67 42.928 3558
+-70.544 42.928 3559
+-70.418 42.928 3559
+-70.292 42.928 3539
+-70.166 42.928 3527
+-70.04 42.928 3527
+-69.914 42.928 3528
+-69.788 42.928 3528
+-69.662 42.928 3528
+-69.536 42.928 3510
+-69.41 42.928 3511
+-69.284 42.928 3511
+-69.158 42.928 3511
+-69.032 42.928 3511
+-68.906 42.928 3512
+-68.78 42.928 3512
+-68.654 42.928 3512
+-68.528 42.928 3512
+-68.402 42.928 3460
+-68.276 42.928 3461
+-68.15 42.928 3461
+-68.024 42.928 3461
+-67.898 42.928 3461
+-67.772 42.928 3461
+-67.646 42.928 3461
+-67.52 42.928 3462
+-67.394 42.928 3462
+-67.268 42.928 3462
+-67.142 42.928 3462
+-67.016 42.928 3462
+-66.89 42.928 3462
+-66.764 42.928 3382
+-66.638 42.928 3382
+-66.512 42.928 3382
+-66.386 42.928 3382
+-66.26 42.928 3382
+-66.134 42.928 3382
+-66.008 42.928 3381
+-65.882 42.928 3381
+-65.756 42.928 3381
+-65.63 42.928 3381
+-65.504 42.928 3381
+-65.378 42.928 3381
+-65.252 42.928 3381
+-65.126 42.928 3381
+-128 42.876 3307
+-127.874 42.876 3338
+-127.748 42.876 3367
+-127.622 42.876 3362
+-127.496 42.876 3378
+-127.37 42.876 3366
+-127.244 42.876 3339
+-127.118 42.876 3310
+-126.992 42.876 3287
+-126.866 42.876 3361
+-126.74 42.876 3479
+-126.614 42.876 3622
+-126.488 42.876 3724
+-126.362 42.876 3834
+-126.236 42.876 3997
+-126.11 42.876 4107
+-125.984 42.876 4179
+-125.858 42.876 4213
+-125.732 42.876 4184
+-125.606 42.876 4300
+-125.48 42.876 4392
+-125.354 42.876 4450
+-125.228 42.876 4478
+-125.102 42.876 4552
+-124.976 42.876 4635
+-124.85 42.876 4699
+-124.724 42.876 4748
+-124.598 42.876 4815
+-124.472 42.876 4872
+-124.346 42.876 4913
+-124.22 42.876 4938
+-124.094 42.876 4974
+-123.968 42.876 5010
+-123.842 42.876 5028
+-123.716 42.876 5047
+-123.59 42.876 5060
+-123.464 42.876 5052
+-123.338 42.876 5037
+-123.212 42.876 5058
+-123.086 42.876 5076
+-122.96 42.876 5068
+-122.834 42.876 5061
+-122.708 42.876 5053
+-122.582 42.876 5051
+-122.456 42.876 5022
+-122.33 42.876 4998
+-122.204 42.876 4977
+-122.078 42.876 4976
+-121.952 42.876 4945
+-121.826 42.876 4912
+-121.7 42.876 4912
+-121.574 42.876 4838
+-121.448 42.876 4762
+-121.322 42.876 4604
+-121.196 42.876 4704
+-121.07 42.876 4828
+-120.944 42.876 4866
+-120.818 42.876 4920
+-120.692 42.876 5001
+-120.566 42.876 5117
+-120.44 42.876 5207
+-120.314 42.876 5239
+-120.188 42.876 5351
+-120.062 42.876 5414
+-119.936 42.876 5470
+-119.81 42.876 5515
+-119.684 42.876 5536
+-119.558 42.876 5582
+-119.432 42.876 5634
+-119.306 42.876 5693
+-119.18 42.876 5694
+-119.054 42.876 5758
+-118.928 42.876 5750
+-118.802 42.876 5775
+-118.676 42.876 5807
+-118.55 42.876 5834
+-118.424 42.876 5807
+-118.298 42.876 5802
+-118.172 42.876 5798
+-118.046 42.876 5777
+-117.92 42.876 5795
+-117.794 42.876 5774
+-117.668 42.876 5750
+-117.542 42.876 5728
+-117.416 42.876 5674
+-117.29 42.876 5639
+-117.164 42.876 5586
+-117.038 42.876 5505
+-116.912 42.876 5478
+-116.786 42.876 5449
+-116.66 42.876 5385
+-116.534 42.876 5331
+-116.408 42.876 5300
+-116.282 42.876 5243
+-116.156 42.876 5122
+-116.03 42.876 5010
+-115.904 42.876 4939
+-115.778 42.876 4867
+-115.652 42.876 4769
+-115.526 42.876 4664
+-115.4 42.876 4663
+-115.274 42.876 4571
+-115.148 42.876 4542
+-115.022 42.876 4460
+-114.896 42.876 4285
+-114.77 42.876 4178
+-114.644 42.876 4210
+-114.518 42.876 4145
+-114.392 42.876 4047
+-114.266 42.876 3898
+-114.14 42.876 3788
+-114.014 42.876 3699
+-113.888 42.876 3609
+-113.762 42.876 3509
+-113.636 42.876 3452
+-113.51 42.876 3378
+-113.384 42.876 3313
+-113.258 42.876 3265
+-113.132 42.876 3206
+-113.006 42.876 3143
+-112.88 42.876 3051
+-112.754 42.876 2947
+-112.628 42.876 2832
+-112.502 42.876 2720
+-112.376 42.876 2637
+-112.25 42.876 2597
+-112.124 42.876 2591
+-111.998 42.876 2607
+-111.872 42.876 2587
+-111.746 42.876 2625
+-111.62 42.876 2644
+-111.494 42.876 2686
+-111.368 42.876 2729
+-111.242 42.876 2769
+-111.116 42.876 2823
+-110.99 42.876 2860
+-110.864 42.876 2894
+-110.738 42.876 2857
+-110.612 42.876 2881
+-110.486 42.876 2904
+-110.36 42.876 2924
+-110.234 42.876 2942
+-110.108 42.876 2930
+-109.982 42.876 2944
+-109.856 42.876 2957
+-109.73 42.876 2919
+-109.604 42.876 2931
+-109.478 42.876 2943
+-109.352 42.876 2953
+-109.226 42.876 2902
+-109.1 42.876 2910
+-108.974 42.876 2918
+-108.848 42.876 2914
+-108.722 42.876 2914
+-108.596 42.876 2922
+-108.47 42.876 2864
+-108.344 42.876 2869
+-108.218 42.876 2941
+-108.092 42.876 2948
+-107.966 42.876 2955
+-107.84 42.876 2961
+-107.714 42.876 2967
+-107.588 42.876 2934
+-107.462 42.876 2934
+-107.336 42.876 2830
+-107.21 42.876 2833
+-107.084 42.876 2836
+-106.958 42.876 2838
+-106.832 42.876 2841
+-106.706 42.876 2718
+-106.58 42.876 2719
+-106.454 42.876 2720
+-106.328 42.876 2721
+-106.202 42.876 2721
+-106.076 42.876 2722
+-105.95 42.876 2553
+-105.824 42.876 2333
+-105.698 42.876 2322
+-105.572 42.876 2284
+-105.446 42.876 2256
+-105.32 42.876 2245
+-105.194 42.876 2234
+-105.068 42.876 2208
+-104.942 42.876 2195
+-104.816 42.876 2095
+-104.69 42.876 2038
+-104.564 42.876 2013
+-104.438 42.876 2003
+-104.312 42.876 1918
+-104.186 42.876 1896
+-104.06 42.876 1935
+-103.934 42.876 2002
+-103.808 42.876 2033
+-103.682 42.876 2156
+-103.556 42.876 2312
+-103.43 42.876 2414
+-103.304 42.876 2474
+-103.178 42.876 2468
+-103.052 42.876 2462
+-102.926 42.876 2456
+-102.8 42.876 2449
+-102.674 42.876 2443
+-102.548 42.876 2455
+-102.422 42.876 2503
+-102.296 42.876 2497
+-102.17 42.876 2490
+-102.044 42.876 2483
+-101.918 42.876 2476
+-101.792 42.876 2469
+-101.666 42.876 2462
+-101.54 42.876 2463
+-101.414 42.876 2506
+-101.288 42.876 2504
+-101.162 42.876 2534
+-101.036 42.876 2526
+-100.91 42.876 2518
+-100.784 42.876 2510
+-100.658 42.876 2502
+-100.532 42.876 2493
+-100.406 42.876 2486
+-100.28 42.876 2478
+-100.154 42.876 2494
+-100.028 42.876 2622
+-99.902 42.876 2614
+-99.776 42.876 2608
+-99.65 42.876 2602
+-99.524 42.876 2595
+-99.398 42.876 2615
+-99.272 42.876 2622
+-99.146 42.876 2621
+-99.02 42.876 2654
+-98.894 42.876 2655
+-98.768 42.876 2664
+-98.642 42.876 2671
+-98.516 42.876 2679
+-98.39 42.876 2688
+-98.264 42.876 2698
+-98.138 42.876 2707
+-98.012 42.876 2749
+-97.886 42.876 2756
+-97.76 42.876 2762
+-97.634 42.876 2720
+-97.508 42.876 2723
+-97.382 42.876 2724
+-97.256 42.876 2724
+-97.13 42.876 2718
+-97.004 42.876 2708
+-96.878 42.876 2694
+-96.752 42.876 2674
+-96.626 42.876 2704
+-96.5 42.876 2674
+-96.374 42.876 2634
+-96.248 42.876 2590
+-96.122 42.876 2578
+-95.996 42.876 2491
+-95.87 42.876 2443
+-95.744 42.876 2378
+-95.618 42.876 2348
+-95.492 42.876 2407
+-95.366 42.876 2547
+-95.24 42.876 2754
+-95.114 42.876 2949
+-94.988 42.876 3126
+-94.862 42.876 3274
+-94.736 42.876 3383
+-94.61 42.876 3462
+-94.484 42.876 3517
+-94.358 42.876 3560
+-94.232 42.876 3633
+-94.106 42.876 3676
+-93.98 42.876 3801
+-93.854 42.876 3864
+-93.728 42.876 3932
+-93.602 42.876 3997
+-93.476 42.876 4070
+-93.35 42.876 4099
+-93.224 42.876 4111
+-93.098 42.876 4171
+-92.972 42.876 4272
+-92.846 42.876 4376
+-92.72 42.876 4448
+-92.594 42.876 4516
+-92.468 42.876 4562
+-92.342 42.876 4623
+-92.216 42.876 4654
+-92.09 42.876 4694
+-91.964 42.876 4718
+-91.838 42.876 4779
+-91.712 42.876 4842
+-91.586 42.876 4880
+-91.46 42.876 4903
+-91.334 42.876 4923
+-91.208 42.876 4956
+-91.082 42.876 4981
+-90.956 42.876 4963
+-90.83 42.876 4990
+-90.704 42.876 5004
+-90.578 42.876 5015
+-90.452 42.876 4998
+-90.326 42.876 5043
+-90.2 42.876 5046
+-90.074 42.876 5010
+-89.948 42.876 4979
+-89.822 42.876 4981
+-89.696 42.876 4965
+-89.57 42.876 4922
+-89.444 42.876 4894
+-89.318 42.876 4854
+-89.192 42.876 4784
+-89.066 42.876 4729
+-88.94 42.876 4709
+-88.814 42.876 4681
+-88.688 42.876 4631
+-88.562 42.876 4558
+-88.436 42.876 4500
+-88.31 42.876 4420
+-88.184 42.876 4355
+-88.058 42.876 4305
+-87.932 42.876 4255
+-87.806 42.876 4181
+-87.68 42.876 4075
+-87.554 42.876 3976
+-87.428 42.876 3959
+-87.302 42.876 3967
+-87.176 42.876 3897
+-87.05 42.876 3817
+-86.924 42.876 3698
+-86.798 42.876 3611
+-86.672 42.876 3519
+-86.546 42.876 3454
+-86.42 42.876 3389
+-86.294 42.876 3362
+-86.168 42.876 3314
+-86.042 42.876 3223
+-85.916 42.876 3153
+-85.79 42.876 3126
+-85.664 42.876 3039
+-85.538 42.876 2934
+-85.412 42.876 2844
+-85.286 42.876 2795
+-85.16 42.876 2809
+-85.034 42.876 2817
+-84.908 42.876 2773
+-84.782 42.876 2621
+-84.656 42.876 2378
+-84.53 42.876 2251
+-84.404 42.876 2345
+-84.278 42.876 2502
+-84.152 42.876 2636
+-84.026 42.876 2746
+-83.9 42.876 2816
+-83.774 42.876 2869
+-83.648 42.876 2910
+-83.522 42.876 2942
+-83.396 42.876 2948
+-83.27 42.876 2980
+-83.144 42.876 3001
+-83.018 42.876 2963
+-82.892 42.876 2980
+-82.766 42.876 2975
+-82.64 42.876 2987
+-82.514 42.876 2997
+-82.388 42.876 3007
+-82.262 42.876 3016
+-82.136 42.876 3024
+-82.01 42.876 3082
+-81.884 42.876 3089
+-81.758 42.876 3097
+-81.632 42.876 3105
+-81.506 42.876 3113
+-81.38 42.876 3078
+-81.254 42.876 3101
+-81.128 42.876 3108
+-81.002 42.876 3155
+-80.876 42.876 3102
+-80.75 42.876 3108
+-80.624 42.876 3113
+-80.498 42.876 3146
+-80.372 42.876 3119
+-80.246 42.876 3124
+-80.12 42.876 3129
+-79.994 42.876 3289
+-79.868 42.876 3253
+-79.742 42.876 3259
+-79.616 42.876 3368
+-79.49 42.876 3353
+-79.364 42.876 3359
+-79.238 42.876 3319
+-79.112 42.876 3387
+-78.986 42.876 3390
+-78.86 42.876 3395
+-78.734 42.876 3399
+-78.608 42.876 3403
+-78.482 42.876 3402
+-78.356 42.876 3406
+-78.23 42.876 3410
+-78.104 42.876 3400
+-77.978 42.876 3357
+-77.852 42.876 3354
+-77.726 42.876 3356
+-77.6 42.876 3359
+-77.474 42.876 3362
+-77.348 42.876 3364
+-77.222 42.876 3366
+-77.096 42.876 3369
+-76.97 42.876 3371
+-76.844 42.876 3373
+-76.718 42.876 3375
+-76.592 42.876 3377
+-76.466 42.876 3379
+-76.34 42.876 3381
+-76.214 42.876 3382
+-76.088 42.876 3384
+-75.962 42.876 3480
+-75.836 42.876 3482
+-75.71 42.876 3470
+-75.584 42.876 3472
+-75.458 42.876 3473
+-75.332 42.876 3475
+-75.206 42.876 3476
+-75.08 42.876 3477
+-74.954 42.876 3479
+-74.828 42.876 3480
+-74.702 42.876 3481
+-74.576 42.876 3483
+-74.45 42.876 3484
+-74.324 42.876 3513
+-74.198 42.876 3515
+-74.072 42.876 3516
+-73.946 42.876 3518
+-73.82 42.876 3519
+-73.694 42.876 3521
+-73.568 42.876 3485
+-73.442 42.876 3486
+-73.316 42.876 3487
+-73.19 42.876 3488
+-73.064 42.876 3519
+-72.938 42.876 3520
+-72.812 42.876 3522
+-72.686 42.876 3480
+-72.56 42.876 3481
+-72.434 42.876 3482
+-72.308 42.876 3616
+-72.182 42.876 3617
+-72.056 42.876 3617
+-71.93 42.876 3618
+-71.804 42.876 3618
+-71.678 42.876 3556
+-71.552 42.876 3556
+-71.426 42.876 3557
+-71.3 42.876 3557
+-71.174 42.876 3557
+-71.048 42.876 3558
+-70.922 42.876 3558
+-70.796 42.876 3558
+-70.67 42.876 3559
+-70.544 42.876 3559
+-70.418 42.876 3539
+-70.292 42.876 3527
+-70.166 42.876 3527
+-70.04 42.876 3527
+-69.914 42.876 3528
+-69.788 42.876 3528
+-69.662 42.876 3528
+-69.536 42.876 3511
+-69.41 42.876 3511
+-69.284 42.876 3511
+-69.158 42.876 3511
+-69.032 42.876 3512
+-68.906 42.876 3512
+-68.78 42.876 3512
+-68.654 42.876 3512
+-68.528 42.876 3460
+-68.402 42.876 3460
+-68.276 42.876 3461
+-68.15 42.876 3461
+-68.024 42.876 3461
+-67.898 42.876 3461
+-67.772 42.876 3461
+-67.646 42.876 3461
+-67.52 42.876 3462
+-67.394 42.876 3462
+-67.268 42.876 3462
+-67.142 42.876 3462
+-67.016 42.876 3462
+-66.89 42.876 3382
+-66.764 42.876 3382
+-66.638 42.876 3382
+-66.512 42.876 3382
+-66.386 42.876 3382
+-66.26 42.876 3382
+-66.134 42.876 3381
+-66.008 42.876 3381
+-65.882 42.876 3381
+-65.756 42.876 3381
+-65.63 42.876 3381
+-65.504 42.876 3381
+-65.378 42.876 3381
+-65.252 42.876 3381
+-65.126 42.876 3381
+-128 42.824 3300
+-127.874 42.824 3331
+-127.748 42.824 3330
+-127.622 42.824 3354
+-127.496 42.824 3349
+-127.37 42.824 3331
+-127.244 42.824 3301
+-127.118 42.824 3250
+-126.992 42.824 3209
+-126.866 42.824 3282
+-126.74 42.824 3410
+-126.614 42.824 3535
+-126.488 42.824 3664
+-126.362 42.824 3784
+-126.236 42.824 3935
+-126.11 42.824 4069
+-125.984 42.824 4156
+-125.858 42.824 4203
+-125.732 42.824 4240
+-125.606 42.824 4312
+-125.48 42.824 4381
+-125.354 42.824 4421
+-125.228 42.824 4382
+-125.102 42.824 4469
+-124.976 42.824 4579
+-124.85 42.824 4635
+-124.724 42.824 4673
+-124.598 42.824 4754
+-124.472 42.824 4800
+-124.346 42.824 4865
+-124.22 42.824 4913
+-124.094 42.824 4949
+-123.968 42.824 4976
+-123.842 42.824 4990
+-123.716 42.824 4986
+-123.59 42.824 4977
+-123.464 42.824 5005
+-123.338 42.824 5027
+-123.212 42.824 5043
+-123.086 42.824 5022
+-122.96 42.824 5001
+-122.834 42.824 4969
+-122.708 42.824 4963
+-122.582 42.824 4964
+-122.456 42.824 4942
+-122.33 42.824 4920
+-122.204 42.824 4925
+-122.078 42.824 4919
+-121.952 42.824 4903
+-121.826 42.824 4881
+-121.7 42.824 4802
+-121.574 42.824 4790
+-121.448 42.824 4700
+-121.322 42.824 4716
+-121.196 42.824 4748
+-121.07 42.824 4820
+-120.944 42.824 4881
+-120.818 42.824 4903
+-120.692 42.824 4966
+-120.566 42.824 5066
+-120.44 42.824 5124
+-120.314 42.824 5163
+-120.188 42.824 5258
+-120.062 42.824 5310
+-119.936 42.824 5391
+-119.81 42.824 5469
+-119.684 42.824 5482
+-119.558 42.824 5525
+-119.432 42.824 5606
+-119.306 42.824 5598
+-119.18 42.824 5638
+-119.054 42.824 5666
+-118.928 42.824 5697
+-118.802 42.824 5712
+-118.676 42.824 5740
+-118.55 42.824 5730
+-118.424 42.824 5756
+-118.298 42.824 5740
+-118.172 42.824 5760
+-118.046 42.824 5769
+-117.92 42.824 5747
+-117.794 42.824 5703
+-117.668 42.824 5701
+-117.542 42.824 5658
+-117.416 42.824 5611
+-117.29 42.824 5587
+-117.164 42.824 5534
+-117.038 42.824 5477
+-116.912 42.824 5413
+-116.786 42.824 5403
+-116.66 42.824 5327
+-116.534 42.824 5307
+-116.408 42.824 5255
+-116.282 42.824 5190
+-116.156 42.824 5093
+-116.03 42.824 4987
+-115.904 42.824 4875
+-115.778 42.824 4830
+-115.652 42.824 4786
+-115.526 42.824 4701
+-115.4 42.824 4599
+-115.274 42.824 4467
+-115.148 42.824 4493
+-115.022 42.824 4425
+-114.896 42.824 4324
+-114.77 42.824 4240
+-114.644 42.824 4215
+-114.518 42.824 4146
+-114.392 42.824 4023
+-114.266 42.824 3861
+-114.14 42.824 3731
+-114.014 42.824 3610
+-113.888 42.824 3507
+-113.762 42.824 3451
+-113.636 42.824 3430
+-113.51 42.824 3388
+-113.384 42.824 3340
+-113.258 42.824 3259
+-113.132 42.824 3196
+-113.006 42.824 3086
+-112.88 42.824 2963
+-112.754 42.824 2808
+-112.628 42.824 2643
+-112.502 42.824 2509
+-112.376 42.824 2421
+-112.25 42.824 2392
+-112.124 42.824 2392
+-111.998 42.824 2406
+-111.872 42.824 2453
+-111.746 42.824 2490
+-111.62 42.824 2548
+-111.494 42.824 2605
+-111.368 42.824 2660
+-111.242 42.824 2712
+-111.116 42.824 2758
+-110.99 42.824 2816
+-110.864 42.824 2792
+-110.738 42.824 2824
+-110.612 42.824 2852
+-110.486 42.824 2877
+-110.36 42.824 2900
+-110.234 42.824 2920
+-110.108 42.824 2938
+-109.982 42.824 2927
+-109.856 42.824 2941
+-109.73 42.824 2954
+-109.604 42.824 2916
+-109.478 42.824 2865
+-109.352 42.824 2877
+-109.226 42.824 2887
+-109.1 42.824 2896
+-108.974 42.824 2905
+-108.848 42.824 2913
+-108.722 42.824 2908
+-108.596 42.824 2908
+-108.47 42.824 2916
+-108.344 42.824 2859
+-108.218 42.824 2865
+-108.092 42.824 2936
+-107.966 42.824 2943
+-107.84 42.824 2950
+-107.714 42.824 2956
+-107.588 42.824 2851
+-107.462 42.824 2849
+-107.336 42.824 2819
+-107.21 42.824 2822
+-107.084 42.824 2825
+-106.958 42.824 2828
+-106.832 42.824 2706
+-106.706 42.824 2707
+-106.58 42.824 2708
+-106.454 42.824 2709
+-106.328 42.824 2710
+-106.202 42.824 2711
+-106.076 42.824 2711
+-105.95 42.824 2574
+-105.824 42.824 2430
+-105.698 42.824 2310
+-105.572 42.824 2300
+-105.446 42.824 2261
+-105.32 42.824 2233
+-105.194 42.824 2221
+-105.068 42.824 2195
+-104.942 42.824 2182
+-104.816 42.824 2053
+-104.69 42.824 2028
+-104.564 42.824 2005
+-104.438 42.824 1996
+-104.312 42.824 1981
+-104.186 42.824 1876
+-104.06 42.824 1931
+-103.934 42.824 1999
+-103.808 42.824 2031
+-103.682 42.824 2154
+-103.556 42.824 2239
+-103.43 42.824 2412
+-103.304 42.824 2471
+-103.178 42.824 2465
+-103.052 42.824 2459
+-102.926 42.824 2453
+-102.8 42.824 2446
+-102.674 42.824 2439
+-102.548 42.824 2432
+-102.422 42.824 2445
+-102.296 42.824 2492
+-102.17 42.824 2485
+-102.044 42.824 2478
+-101.918 42.824 2470
+-101.792 42.824 2463
+-101.666 42.824 2455
+-101.54 42.824 2447
+-101.414 42.824 2448
+-101.288 42.824 2489
+-101.162 42.824 2487
+-101.036 42.824 2515
+-100.91 42.824 2506
+-100.784 42.824 2497
+-100.658 42.824 2488
+-100.532 42.824 2479
+-100.406 42.824 2470
+-100.28 42.824 2462
+-100.154 42.824 2453
+-100.028 42.824 2471
+-99.902 42.824 2596
+-99.776 42.824 2588
+-99.65 42.824 2581
+-99.524 42.824 2575
+-99.398 42.824 2570
+-99.272 42.824 2589
+-99.146 42.824 2597
+-99.02 42.824 2598
+-98.894 42.824 2631
+-98.768 42.824 2635
+-98.642 42.824 2647
+-98.516 42.824 2657
+-98.39 42.824 2668
+-98.264 42.824 2680
+-98.138 42.824 2692
+-98.012 42.824 2704
+-97.886 42.824 2748
+-97.76 42.824 2757
+-97.634 42.824 2765
+-97.508 42.824 2725
+-97.382 42.824 2729
+-97.256 42.824 2731
+-97.13 42.824 2764
+-97.004 42.824 2758
+-96.878 42.824 2747
+-96.752 42.824 2731
+-96.626 42.824 2710
+-96.5 42.824 2711
+-96.374 42.824 2679
+-96.248 42.824 2637
+-96.122 42.824 2586
+-95.996 42.824 2552
+-95.87 42.824 2465
+-95.744 42.824 2351
+-95.618 42.824 2283
+-95.492 42.824 2374
+-95.366 42.824 2576
+-95.24 42.824 2800
+-95.114 42.824 3008
+-94.988 42.824 3197
+-94.862 42.824 3331
+-94.736 42.824 3422
+-94.61 42.824 3483
+-94.484 42.824 3528
+-94.358 42.824 3564
+-94.232 42.824 3599
+-94.106 42.824 3696
+-93.98 42.824 3781
+-93.854 42.824 3846
+-93.728 42.824 3933
+-93.602 42.824 4035
+-93.476 42.824 4106
+-93.35 42.824 4111
+-93.224 42.824 4073
+-93.098 42.824 4173
+-92.972 42.824 4354
+-92.846 42.824 4463
+-92.72 42.824 4516
+-92.594 42.824 4565
+-92.468 42.824 4608
+-92.342 42.824 4685
+-92.216 42.824 4723
+-92.09 42.824 4775
+-91.964 42.824 4816
+-91.838 42.824 4864
+-91.712 42.824 4889
+-91.586 42.824 4890
+-91.46 42.824 4934
+-91.334 42.824 4965
+-91.208 42.824 5009
+-91.082 42.824 5034
+-90.956 42.824 5045
+-90.83 42.824 5034
+-90.704 42.824 5046
+-90.578 42.824 5068
+-90.452 42.824 5075
+-90.326 42.824 5107
+-90.2 42.824 5118
+-90.074 42.824 5109
+-89.948 42.824 5088
+-89.822 42.824 5072
+-89.696 42.824 5035
+-89.57 42.824 4974
+-89.444 42.824 4932
+-89.318 42.824 4902
+-89.192 42.824 4864
+-89.066 42.824 4791
+-88.94 42.824 4750
+-88.814 42.824 4713
+-88.688 42.824 4697
+-88.562 42.824 4667
+-88.436 42.824 4573
+-88.31 42.824 4484
+-88.184 42.824 4385
+-88.058 42.824 4349
+-87.932 42.824 4310
+-87.806 42.824 4243
+-87.68 42.824 4144
+-87.554 42.824 4078
+-87.428 42.824 4030
+-87.302 42.824 3989
+-87.176 42.824 3915
+-87.05 42.824 3807
+-86.924 42.824 3727
+-86.798 42.824 3677
+-86.672 42.824 3610
+-86.546 42.824 3516
+-86.42 42.824 3404
+-86.294 42.824 3382
+-86.168 42.824 3355
+-86.042 42.824 3285
+-85.916 42.824 3210
+-85.79 42.824 3160
+-85.664 42.824 3095
+-85.538 42.824 2996
+-85.412 42.824 2914
+-85.286 42.824 2850
+-85.16 42.824 2815
+-85.034 42.824 2821
+-84.908 42.824 2794
+-84.782 42.824 2676
+-84.656 42.824 2478
+-84.53 42.824 2364
+-84.404 42.824 2425
+-84.278 42.824 2553
+-84.152 42.824 2678
+-84.026 42.824 2763
+-83.9 42.824 2826
+-83.774 42.824 2874
+-83.648 42.824 2911
+-83.522 42.824 2922
+-83.396 42.824 2956
+-83.27 42.824 2980
+-83.144 42.824 3003
+-83.018 42.824 3005
+-82.892 42.824 3025
+-82.766 42.824 3041
+-82.64 42.824 3055
+-82.514 42.824 3002
+-82.388 42.824 3012
+-82.262 42.824 3021
+-82.136 42.824 3079
+-82.01 42.824 3086
+-81.884 42.824 3095
+-81.758 42.824 3104
+-81.632 42.824 3112
+-81.506 42.824 3078
+-81.38 42.824 3101
+-81.254 42.824 3108
+-81.128 42.824 3155
+-81.002 42.824 3102
+-80.876 42.824 3109
+-80.75 42.824 3115
+-80.624 42.824 3147
+-80.498 42.824 3120
+-80.372 42.824 3126
+-80.246 42.824 3131
+-80.12 42.824 3286
+-79.994 42.824 3252
+-79.868 42.824 3258
+-79.742 42.824 3366
+-79.616 42.824 3351
+-79.49 42.824 3357
+-79.364 42.824 3318
+-79.238 42.824 3386
+-79.112 42.824 3389
+-78.986 42.824 3394
+-78.86 42.824 3398
+-78.734 42.824 3402
+-78.608 42.824 3401
+-78.482 42.824 3405
+-78.356 42.824 3409
+-78.23 42.824 3399
+-78.104 42.824 3356
+-77.978 42.824 3353
+-77.852 42.824 3356
+-77.726 42.824 3359
+-77.6 42.824 3361
+-77.474 42.824 3364
+-77.348 42.824 3366
+-77.222 42.824 3369
+-77.096 42.824 3371
+-76.97 42.824 3373
+-76.844 42.824 3375
+-76.718 42.824 3377
+-76.592 42.824 3379
+-76.466 42.824 3381
+-76.34 42.824 3382
+-76.214 42.824 3384
+-76.088 42.824 3480
+-75.962 42.824 3481
+-75.836 42.824 3469
+-75.71 42.824 3471
+-75.584 42.824 3473
+-75.458 42.824 3474
+-75.332 42.824 3476
+-75.206 42.824 3477
+-75.08 42.824 3478
+-74.954 42.824 3480
+-74.828 42.824 3481
+-74.702 42.824 3482
+-74.576 42.824 3483
+-74.45 42.824 3513
+-74.324 42.824 3514
+-74.198 42.824 3516
+-74.072 42.824 3517
+-73.946 42.824 3519
+-73.82 42.824 3520
+-73.694 42.824 3485
+-73.568 42.824 3486
+-73.442 42.824 3487
+-73.316 42.824 3488
+-73.19 42.824 3519
+-73.064 42.824 3520
+-72.938 42.824 3522
+-72.812 42.824 3479
+-72.686 42.824 3481
+-72.56 42.824 3482
+-72.434 42.824 3615
+-72.308 42.824 3616
+-72.182 42.824 3617
+-72.056 42.824 3617
+-71.93 42.824 3618
+-71.804 42.824 3556
+-71.678 42.824 3556
+-71.552 42.824 3556
+-71.426 42.824 3557
+-71.3 42.824 3557
+-71.174 42.824 3557
+-71.048 42.824 3558
+-70.922 42.824 3558
+-70.796 42.824 3558
+-70.67 42.824 3559
+-70.544 42.824 3539
+-70.418 42.824 3526
+-70.292 42.824 3527
+-70.166 42.824 3527
+-70.04 42.824 3528
+-69.914 42.824 3528
+-69.788 42.824 3510
+-69.662 42.824 3510
+-69.536 42.824 3511
+-69.41 42.824 3511
+-69.284 42.824 3511
+-69.158 42.824 3511
+-69.032 42.824 3512
+-68.906 42.824 3512
+-68.78 42.824 3512
+-68.654 42.824 3460
+-68.528 42.824 3460
+-68.402 42.824 3460
+-68.276 42.824 3461
+-68.15 42.824 3461
+-68.024 42.824 3461
+-67.898 42.824 3461
+-67.772 42.824 3461
+-67.646 42.824 3462
+-67.52 42.824 3462
+-67.394 42.824 3462
+-67.268 42.824 3462
+-67.142 42.824 3462
+-67.016 42.824 3382
+-66.89 42.824 3382
+-66.764 42.824 3382
+-66.638 42.824 3382
+-66.512 42.824 3382
+-66.386 42.824 3382
+-66.26 42.824 3381
+-66.134 42.824 3381
+-66.008 42.824 3381
+-65.882 42.824 3381
+-65.756 42.824 3381
+-65.63 42.824 3381
+-65.504 42.824 3381
+-65.378 42.824 3381
+-65.252 42.824 3381
+-65.126 42.824 3381
+-128 42.772 3279
+-127.874 42.772 3284
+-127.748 42.772 3317
+-127.622 42.772 3326
+-127.496 42.772 3324
+-127.37 42.772 3312
+-127.244 42.772 3276
+-127.118 42.772 3236
+-126.992 42.772 3214
+-126.866 42.772 3263
+-126.74 42.772 3372
+-126.614 42.772 3473
+-126.488 42.772 3565
+-126.362 42.772 3723
+-126.236 42.772 3886
+-126.11 42.772 4026
+-125.984 42.772 4122
+-125.858 42.772 4180
+-125.732 42.772 4289
+-125.606 42.772 4322
+-125.48 42.772 4373
+-125.354 42.772 4414
+-125.228 42.772 4422
+-125.102 42.772 4459
+-124.976 42.772 4510
+-124.85 42.772 4558
+-124.724 42.772 4577
+-124.598 42.772 4638
+-124.472 42.772 4714
+-124.346 42.772 4784
+-124.22 42.772 4850
+-124.094 42.772 4896
+-123.968 42.772 4937
+-123.842 42.772 4952
+-123.716 42.772 4940
+-123.59 42.772 4912
+-123.464 42.772 4951
+-123.338 42.772 4979
+-123.212 42.772 4994
+-123.086 42.772 4970
+-122.96 42.772 4940
+-122.834 42.772 4913
+-122.708 42.772 4911
+-122.582 42.772 4907
+-122.456 42.772 4899
+-122.33 42.772 4889
+-122.204 42.772 4878
+-122.078 42.772 4882
+-121.952 42.772 4868
+-121.826 42.772 4844
+-121.7 42.772 4807
+-121.574 42.772 4747
+-121.448 42.772 4664
+-121.322 42.772 4701
+-121.196 42.772 4735
+-121.07 42.772 4776
+-120.944 42.772 4851
+-120.818 42.772 4886
+-120.692 42.772 4938
+-120.566 42.772 4994
+-120.44 42.772 5038
+-120.314 42.772 5091
+-120.188 42.772 5179
+-120.062 42.772 5228
+-119.936 42.772 5316
+-119.81 42.772 5393
+-119.684 42.772 5451
+-119.558 42.772 5479
+-119.432 42.772 5553
+-119.306 42.772 5550
+-119.18 42.772 5586
+-119.054 42.772 5627
+-118.928 42.772 5663
+-118.802 42.772 5664
+-118.676 42.772 5685
+-118.55 42.772 5700
+-118.424 42.772 5716
+-118.298 42.772 5736
+-118.172 42.772 5734
+-118.046 42.772 5720
+-117.92 42.772 5691
+-117.794 42.772 5677
+-117.668 42.772 5658
+-117.542 42.772 5607
+-117.416 42.772 5554
+-117.29 42.772 5543
+-117.164 42.772 5494
+-117.038 42.772 5441
+-116.912 42.772 5382
+-116.786 42.772 5336
+-116.66 42.772 5275
+-116.534 42.772 5219
+-116.408 42.772 5180
+-116.282 42.772 5140
+-116.156 42.772 5053
+-116.03 42.772 4952
+-115.904 42.772 4843
+-115.778 42.772 4795
+-115.652 42.772 4768
+-115.526 42.772 4701
+-115.4 42.772 4592
+-115.274 42.772 4496
+-115.148 42.772 4416
+-115.022 42.772 4388
+-114.896 42.772 4357
+-114.77 42.772 4289
+-114.644 42.772 4214
+-114.518 42.772 4120
+-114.392 42.772 4011
+-114.266 42.772 3831
+-114.14 42.772 3643
+-114.014 42.772 3461
+-113.888 42.772 3384
+-113.762 42.772 3388
+-113.636 42.772 3401
+-113.51 42.772 3385
+-113.384 42.772 3336
+-113.258 42.772 3270
+-113.132 42.772 3156
+-113.006 42.772 3031
+-112.88 42.772 2865
+-112.754 42.772 2668
+-112.628 42.772 2455
+-112.502 42.772 2275
+-112.376 42.772 2181
+-112.25 42.772 2172
+-112.124 42.772 2197
+-111.998 42.772 2248
+-111.872 42.772 2307
+-111.746 42.772 2377
+-111.62 42.772 2452
+-111.494 42.772 2526
+-111.368 42.772 2594
+-111.242 42.772 2657
+-111.116 42.772 2678
+-110.99 42.772 2724
+-110.864 42.772 2757
+-110.738 42.772 2793
+-110.612 42.772 2825
+-110.486 42.772 2853
+-110.36 42.772 2878
+-110.234 42.772 2900
+-110.108 42.772 2920
+-109.982 42.772 2938
+-109.856 42.772 2926
+-109.73 42.772 2940
+-109.604 42.772 2840
+-109.478 42.772 2851
+-109.352 42.772 2861
+-109.226 42.772 2873
+-109.1 42.772 2883
+-108.974 42.772 2892
+-108.848 42.772 2901
+-108.722 42.772 2909
+-108.596 42.772 2904
+-108.47 42.772 2904
+-108.344 42.772 2912
+-108.218 42.772 2854
+-108.092 42.772 2860
+-107.966 42.772 2932
+-107.84 42.772 2939
+-107.714 42.772 2834
+-107.588 42.772 2833
+-107.462 42.772 2837
+-107.336 42.772 2842
+-107.21 42.772 2811
+-107.084 42.772 2815
+-106.958 42.772 2693
+-106.832 42.772 2694
+-106.706 42.772 2695
+-106.58 42.772 2697
+-106.454 42.772 2698
+-106.328 42.772 2699
+-106.202 42.772 2700
+-106.076 42.772 2701
+-105.95 42.772 2429
+-105.824 42.772 2418
+-105.698 42.772 2407
+-105.572 42.772 2287
+-105.446 42.772 2276
+-105.32 42.772 2237
+-105.194 42.772 2208
+-105.068 42.772 2182
+-104.942 42.772 2133
+-104.816 42.772 2071
+-104.69 42.772 2018
+-104.564 42.772 1996
+-104.438 42.772 1989
+-104.312 42.772 1975
+-104.186 42.772 1873
+-104.06 42.772 1927
+-103.934 42.772 1996
+-103.808 42.772 2028
+-103.682 42.772 2152
+-103.556 42.772 2237
+-103.43 42.772 2235
+-103.304 42.772 2424
+-103.178 42.772 2462
+-103.052 42.772 2456
+-102.926 42.772 2449
+-102.8 42.772 2443
+-102.674 42.772 2436
+-102.548 42.772 2428
+-102.422 42.772 2421
+-102.296 42.772 2434
+-102.17 42.772 2480
+-102.044 42.772 2472
+-101.918 42.772 2464
+-101.792 42.772 2456
+-101.666 42.772 2448
+-101.54 42.772 2440
+-101.414 42.772 2431
+-101.288 42.772 2430
+-101.162 42.772 2470
+-101.036 42.772 2468
+-100.91 42.772 2495
+-100.784 42.772 2485
+-100.658 42.772 2475
+-100.532 42.772 2465
+-100.406 42.772 2455
+-100.28 42.772 2445
+-100.154 42.772 2435
+-100.028 42.772 2426
+-99.902 42.772 2444
+-99.776 42.772 2566
+-99.65 42.772 2557
+-99.524 42.772 2550
+-99.398 42.772 2545
+-99.272 42.772 2540
+-99.146 42.772 2560
+-99.02 42.772 2569
+-98.894 42.772 2572
+-98.768 42.772 2607
+-98.642 42.772 2613
+-98.516 42.772 2630
+-98.39 42.772 2643
+-98.264 42.772 2657
+-98.138 42.772 2673
+-98.012 42.772 2688
+-97.886 42.772 2704
+-97.76 42.772 2750
+-97.634 42.772 2762
+-97.508 42.772 2772
+-97.382 42.772 2754
+-97.256 42.772 2760
+-97.13 42.772 2743
+-97.004 42.772 2789
+-96.878 42.772 2771
+-96.752 42.772 2760
+-96.626 42.772 2745
+-96.5 42.772 2724
+-96.374 42.772 2723
+-96.248 42.772 2690
+-96.122 42.772 2641
+-95.996 42.772 2579
+-95.87 42.772 2522
+-95.744 42.772 2423
+-95.618 42.772 2375
+-95.492 42.772 2469
+-95.366 42.772 2668
+-95.24 42.772 2902
+-95.114 42.772 3096
+-94.988 42.772 3257
+-94.862 42.772 3370
+-94.736 42.772 3455
+-94.61 42.772 3507
+-94.484 42.772 3544
+-94.358 42.772 3561
+-94.232 42.772 3557
+-94.106 42.772 3632
+-93.98 42.772 3733
+-93.854 42.772 3847
+-93.728 42.772 3956
+-93.602 42.772 4049
+-93.476 42.772 4152
+-93.35 42.772 4175
+-93.224 42.772 4171
+-93.098 42.772 4268
+-92.972 42.772 4421
+-92.846 42.772 4508
+-92.72 42.772 4526
+-92.594 42.772 4572
+-92.468 42.772 4629
+-92.342 42.772 4719
+-92.216 42.772 4795
+-92.09 42.772 4838
+-91.964 42.772 4866
+-91.838 42.772 4886
+-91.712 42.772 4890
+-91.586 42.772 4938
+-91.46 42.772 4965
+-91.334 42.772 5021
+-91.208 42.772 5053
+-91.082 42.772 5049
+-90.956 42.772 5068
+-90.83 42.772 5095
+-90.704 42.772 5123
+-90.578 42.772 5137
+-90.452 42.772 5142
+-90.326 42.772 5116
+-90.2 42.772 5157
+-90.074 42.772 5163
+-89.948 42.772 5149
+-89.822 42.772 5130
+-89.696 42.772 5106
+-89.57 42.772 5046
+-89.444 42.772 4976
+-89.318 42.772 4945
+-89.192 42.772 4912
+-89.066 42.772 4876
+-88.94 42.772 4826
+-88.814 42.772 4767
+-88.688 42.772 4686
+-88.562 42.772 4704
+-88.436 42.772 4645
+-88.31 42.772 4560
+-88.184 42.772 4460
+-88.058 42.772 4378
+-87.932 42.772 4339
+-87.806 42.772 4306
+-87.68 42.772 4208
+-87.554 42.772 4148
+-87.428 42.772 4106
+-87.302 42.772 4013
+-87.176 42.772 3926
+-87.05 42.772 3807
+-86.924 42.772 3670
+-86.798 42.772 3705
+-86.672 42.772 3656
+-86.546 42.772 3556
+-86.42 42.772 3461
+-86.294 42.772 3394
+-86.168 42.772 3374
+-86.042 42.772 3336
+-85.916 42.772 3268
+-85.79 42.772 3208
+-85.664 42.772 3150
+-85.538 42.772 3057
+-85.412 42.772 2964
+-85.286 42.772 2848
+-85.16 42.772 2772
+-85.034 42.772 2816
+-84.908 42.772 2831
+-84.782 42.772 2765
+-84.656 42.772 2651
+-84.53 42.772 2574
+-84.404 42.772 2593
+-84.278 42.772 2665
+-84.152 42.772 2735
+-84.026 42.772 2796
+-83.9 42.772 2844
+-83.774 42.772 2882
+-83.648 42.772 2895
+-83.522 42.772 2931
+-83.396 42.772 2958
+-83.27 42.772 2982
+-83.144 42.772 2988
+-83.018 42.772 3009
+-82.892 42.772 3027
+-82.766 42.772 3044
+-82.64 42.772 3059
+-82.514 42.772 3072
+-82.388 42.772 3085
+-82.262 42.772 3075
+-82.136 42.772 3083
+-82.01 42.772 3093
+-81.884 42.772 3102
+-81.758 42.772 3111
+-81.632 42.772 3078
+-81.506 42.772 3101
+-81.38 42.772 3108
+-81.254 42.772 3155
+-81.128 42.772 3103
+-81.002 42.772 3110
+-80.876 42.772 3116
+-80.75 42.772 3148
+-80.624 42.772 3122
+-80.498 42.772 3127
+-80.372 42.772 3133
+-80.246 42.772 3285
+-80.12 42.772 3251
+-79.994 42.772 3257
+-79.868 42.772 3364
+-79.742 42.772 3350
+-79.616 42.772 3356
+-79.49 42.772 3317
+-79.364 42.772 3384
+-79.238 42.772 3388
+-79.112 42.772 3392
+-78.986 42.772 3397
+-78.86 42.772 3401
+-78.734 42.772 3400
+-78.608 42.772 3404
+-78.482 42.772 3408
+-78.356 42.772 3398
+-78.23 42.772 3356
+-78.104 42.772 3353
+-77.978 42.772 3356
+-77.852 42.772 3359
+-77.726 42.772 3361
+-77.6 42.772 3364
+-77.474 42.772 3366
+-77.348 42.772 3369
+-77.222 42.772 3371
+-77.096 42.772 3373
+-76.97 42.772 3375
+-76.844 42.772 3377
+-76.718 42.772 3379
+-76.592 42.772 3381
+-76.466 42.772 3383
+-76.34 42.772 3384
+-76.214 42.772 3479
+-76.088 42.772 3481
+-75.962 42.772 3469
+-75.836 42.772 3470
+-75.71 42.772 3472
+-75.584 42.772 3474
+-75.458 42.772 3475
+-75.332 42.772 3477
+-75.206 42.772 3478
+-75.08 42.772 3479
+-74.954 42.772 3481
+-74.828 42.772 3482
+-74.702 42.772 3483
+-74.576 42.772 3512
+-74.45 42.772 3514
+-74.324 42.772 3515
+-74.198 42.772 3517
+-74.072 42.772 3518
+-73.946 42.772 3520
+-73.82 42.772 3484
+-73.694 42.772 3486
+-73.568 42.772 3487
+-73.442 42.772 3488
+-73.316 42.772 3518
+-73.19 42.772 3520
+-73.064 42.772 3521
+-72.938 42.772 3479
+-72.812 42.772 3480
+-72.686 42.772 3482
+-72.56 42.772 3615
+-72.434 42.772 3616
+-72.308 42.772 3616
+-72.182 42.772 3617
+-72.056 42.772 3617
+-71.93 42.772 3555
+-71.804 42.772 3556
+-71.678 42.772 3556
+-71.552 42.772 3556
+-71.426 42.772 3557
+-71.3 42.772 3557
+-71.174 42.772 3557
+-71.048 42.772 3558
+-70.922 42.772 3558
+-70.796 42.772 3558
+-70.67 42.772 3538
+-70.544 42.772 3526
+-70.418 42.772 3527
+-70.292 42.772 3527
+-70.166 42.772 3527
+-70.04 42.772 3528
+-69.914 42.772 3528
+-69.788 42.772 3510
+-69.662 42.772 3510
+-69.536 42.772 3511
+-69.41 42.772 3511
+-69.284 42.772 3511
+-69.158 42.772 3511
+-69.032 42.772 3512
+-68.906 42.772 3512
+-68.78 42.772 3460
+-68.654 42.772 3460
+-68.528 42.772 3460
+-68.402 42.772 3460
+-68.276 42.772 3461
+-68.15 42.772 3461
+-68.024 42.772 3461
+-67.898 42.772 3461
+-67.772 42.772 3461
+-67.646 42.772 3462
+-67.52 42.772 3462
+-67.394 42.772 3462
+-67.268 42.772 3462
+-67.142 42.772 3382
+-67.016 42.772 3382
+-66.89 42.772 3382
+-66.764 42.772 3382
+-66.638 42.772 3382
+-66.512 42.772 3382
+-66.386 42.772 3381
+-66.26 42.772 3381
+-66.134 42.772 3381
+-66.008 42.772 3381
+-65.882 42.772 3381
+-65.756 42.772 3381
+-65.63 42.772 3381
+-65.504 42.772 3381
+-65.378 42.772 3381
+-65.252 42.772 3381
+-65.126 42.772 3381
+-128 42.72 3213
+-127.874 42.72 3253
+-127.748 42.72 3276
+-127.622 42.72 3283
+-127.496 42.72 3308
+-127.37 42.72 3296
+-127.244 42.72 3270
+-127.118 42.72 3200
+-126.992 42.72 3135
+-126.866 42.72 3234
+-126.74 42.72 3364
+-126.614 42.72 3415
+-126.488 42.72 3485
+-126.362 42.72 3647
+-126.236 42.72 3812
+-126.11 42.72 3962
+-125.984 42.72 4076
+-125.858 42.72 4143
+-125.732 42.72 4217
+-125.606 42.72 4304
+-125.48 42.72 4350
+-125.354 42.72 4399
+-125.228 42.72 4429
+-125.102 42.72 4451
+-124.976 42.72 4487
+-124.85 42.72 4498
+-124.724 42.72 4506
+-124.598 42.72 4542
+-124.472 42.72 4603
+-124.346 42.72 4686
+-124.22 42.72 4759
+-124.094 42.72 4830
+-123.968 42.72 4870
+-123.842 42.72 4895
+-123.716 42.72 4905
+-123.59 42.72 4907
+-123.464 42.72 4903
+-123.338 42.72 4901
+-123.212 42.72 4891
+-123.086 42.72 4893
+-122.96 42.72 4885
+-122.834 42.72 4881
+-122.708 42.72 4917
+-122.582 42.72 4877
+-122.456 42.72 4857
+-122.33 42.72 4846
+-122.204 42.72 4871
+-122.078 42.72 4819
+-121.952 42.72 4817
+-121.826 42.72 4795
+-121.7 42.72 4746
+-121.574 42.72 4701
+-121.448 42.72 4677
+-121.322 42.72 4676
+-121.196 42.72 4691
+-121.07 42.72 4744
+-120.944 42.72 4787
+-120.818 42.72 4822
+-120.692 42.72 4874
+-120.566 42.72 4925
+-120.44 42.72 4998
+-120.314 42.72 5078
+-120.188 42.72 5103
+-120.062 42.72 5191
+-119.936 42.72 5293
+-119.81 42.72 5333
+-119.684 42.72 5409
+-119.558 42.72 5434
+-119.432 42.72 5458
+-119.306 42.72 5498
+-119.18 42.72 5549
+-119.054 42.72 5605
+-118.928 42.72 5594
+-118.802 42.72 5617
+-118.676 42.72 5635
+-118.55 42.72 5647
+-118.424 42.72 5670
+-118.298 42.72 5690
+-118.172 42.72 5681
+-118.046 42.72 5660
+-117.92 42.72 5634
+-117.794 42.72 5628
+-117.668 42.72 5597
+-117.542 42.72 5586
+-117.416 42.72 5518
+-117.29 42.72 5464
+-117.164 42.72 5426
+-117.038 42.72 5394
+-116.912 42.72 5319
+-116.786 42.72 5315
+-116.66 42.72 5254
+-116.534 42.72 5183
+-116.408 42.72 5096
+-116.282 42.72 5067
+-116.156 42.72 5028
+-116.03 42.72 4939
+-115.904 42.72 4805
+-115.778 42.72 4707
+-115.652 42.72 4725
+-115.526 42.72 4680
+-115.4 42.72 4590
+-115.274 42.72 4433
+-115.148 42.72 4294
+-115.022 42.72 4343
+-114.896 42.72 4346
+-114.77 42.72 4281
+-114.644 42.72 4187
+-114.518 42.72 4099
+-114.392 42.72 3984
+-114.266 42.72 3809
+-114.14 42.72 3606
+-114.014 42.72 3392
+-113.888 42.72 3313
+-113.762 42.72 3352
+-113.636 42.72 3386
+-113.51 42.72 3371
+-113.384 42.72 3329
+-113.258 42.72 3252
+-113.132 42.72 3146
+-113.006 42.72 2979
+-112.88 42.72 2787
+-112.754 42.72 2533
+-112.628 42.72 2285
+-112.502 42.72 2072
+-112.376 42.72 1987
+-112.25 42.72 2016
+-112.124 42.72 2060
+-111.998 42.72 2110
+-111.872 42.72 2183
+-111.746 42.72 2269
+-111.62 42.72 2363
+-111.494 42.72 2453
+-111.368 42.72 2535
+-111.242 42.72 2555
+-111.116 42.72 2613
+-110.99 42.72 2663
+-110.864 42.72 2707
+-110.738 42.72 2765
+-110.612 42.72 2800
+-110.486 42.72 2830
+-110.36 42.72 2857
+-110.234 42.72 2881
+-110.108 42.72 2902
+-109.982 42.72 2921
+-109.856 42.72 2939
+-109.73 42.72 2926
+-109.604 42.72 2825
+-109.478 42.72 2837
+-109.352 42.72 2848
+-109.226 42.72 2858
+-109.1 42.72 2870
+-108.974 42.72 2879
+-108.848 42.72 2888
+-108.722 42.72 2897
+-108.596 42.72 2905
+-108.47 42.72 2900
+-108.344 42.72 2900
+-108.218 42.72 2908
+-108.092 42.72 2851
+-107.966 42.72 2759
+-107.84 42.72 2816
+-107.714 42.72 2816
+-107.588 42.72 2821
+-107.462 42.72 2826
+-107.336 42.72 2830
+-107.21 42.72 2834
+-107.084 42.72 2679
+-106.958 42.72 2680
+-106.832 42.72 2682
+-106.706 42.72 2684
+-106.58 42.72 2685
+-106.454 42.72 2686
+-106.328 42.72 2688
+-106.202 42.72 2689
+-106.076 42.72 2590
+-105.95 42.72 2416
+-105.824 42.72 2406
+-105.698 42.72 2395
+-105.572 42.72 2383
+-105.446 42.72 2264
+-105.32 42.72 2252
+-105.194 42.72 2212
+-105.068 42.72 2110
+-104.942 42.72 2121
+-104.816 42.72 2061
+-104.69 42.72 2008
+-104.564 42.72 1988
+-104.438 42.72 1982
+-104.312 42.72 1969
+-104.186 42.72 1870
+-104.06 42.72 1923
+-103.934 42.72 1993
+-103.808 42.72 2026
+-103.682 42.72 2150
+-103.556 42.72 2235
+-103.43 42.72 2232
+-103.304 42.72 2421
+-103.178 42.72 2415
+-103.052 42.72 2453
+-102.926 42.72 2447
+-102.8 42.72 2439
+-102.674 42.72 2432
+-102.548 42.72 2425
+-102.422 42.72 2417
+-102.296 42.72 2409
+-102.17 42.72 2422
+-102.044 42.72 2467
+-101.918 42.72 2458
+-101.792 42.72 2450
+-101.666 42.72 2441
+-101.54 42.72 2432
+-101.414 42.72 2423
+-101.288 42.72 2413
+-101.162 42.72 2412
+-101.036 42.72 2449
+-100.91 42.72 2447
+-100.784 42.72 2472
+-100.658 42.72 2460
+-100.532 42.72 2449
+-100.406 42.72 2438
+-100.28 42.72 2426
+-100.154 42.72 2415
+-100.028 42.72 2404
+-99.902 42.72 2394
+-99.776 42.72 2414
+-99.65 42.72 2531
+-99.524 42.72 2523
+-99.398 42.72 2515
+-99.272 42.72 2510
+-99.146 42.72 2507
+-99.02 42.72 2528
+-98.894 42.72 2539
+-98.768 42.72 2544
+-98.642 42.72 2581
+-98.516 42.72 2591
+-98.39 42.72 2613
+-98.264 42.72 2630
+-98.138 42.72 2649
+-98.012 42.72 2669
+-97.886 42.72 2688
+-97.76 42.72 2707
+-97.634 42.72 2756
+-97.508 42.72 2772
+-97.382 42.72 2784
+-97.256 42.72 2768
+-97.13 42.72 2775
+-97.004 42.72 2760
+-96.878 42.72 2807
+-96.752 42.72 2790
+-96.626 42.72 2781
+-96.5 42.72 2767
+-96.374 42.72 2747
+-96.248 42.72 2745
+-96.122 42.72 2711
+-95.996 42.72 2676
+-95.87 42.72 2648
+-95.744 42.72 2585
+-95.618 42.72 2570
+-95.492 42.72 2668
+-95.366 42.72 2826
+-95.24 42.72 3018
+-95.114 42.72 3180
+-94.988 42.72 3316
+-94.862 42.72 3404
+-94.736 42.72 3471
+-94.61 42.72 3523
+-94.484 42.72 3548
+-94.358 42.72 3557
+-94.232 42.72 3508
+-94.106 42.72 3591
+-93.98 42.72 3713
+-93.854 42.72 3848
+-93.728 42.72 3977
+-93.602 42.72 4108
+-93.476 42.72 4217
+-93.35 42.72 4270
+-93.224 42.72 4314
+-93.098 42.72 4390
+-92.972 42.72 4497
+-92.846 42.72 4527
+-92.72 42.72 4480
+-92.594 42.72 4579
+-92.468 42.72 4640
+-92.342 42.72 4744
+-92.216 42.72 4837
+-92.09 42.72 4865
+-91.964 42.72 4847
+-91.838 42.72 4913
+-91.712 42.72 4931
+-91.586 42.72 4956
+-91.46 42.72 5016
+-91.334 42.72 5054
+-91.208 42.72 5110
+-91.082 42.72 5108
+-90.956 42.72 5137
+-90.83 42.72 5162
+-90.704 42.72 5154
+-90.578 42.72 5187
+-90.452 42.72 5190
+-90.326 42.72 5181
+-90.2 42.72 5162
+-90.074 42.72 5164
+-89.948 42.72 5133
+-89.822 42.72 5149
+-89.696 42.72 5106
+-89.57 42.72 5114
+-89.444 42.72 5068
+-89.318 42.72 5009
+-89.192 42.72 4973
+-89.066 42.72 4947
+-88.94 42.72 4913
+-88.814 42.72 4864
+-88.688 42.72 4804
+-88.562 42.72 4775
+-88.436 42.72 4709
+-88.31 42.72 4600
+-88.184 42.72 4513
+-88.058 42.72 4450
+-87.932 42.72 4357
+-87.806 42.72 4354
+-87.68 42.72 4277
+-87.554 42.72 4190
+-87.428 42.72 4132
+-87.302 42.72 4014
+-87.176 42.72 3902
+-87.05 42.72 3861
+-86.924 42.72 3758
+-86.798 42.72 3713
+-86.672 42.72 3701
+-86.546 42.72 3623
+-86.42 42.72 3523
+-86.294 42.72 3439
+-86.168 42.72 3405
+-86.042 42.72 3375
+-85.916 42.72 3338
+-85.79 42.72 3272
+-85.664 42.72 3222
+-85.538 42.72 3148
+-85.412 42.72 3041
+-85.286 42.72 2924
+-85.16 42.72 2852
+-85.034 42.72 2869
+-84.908 42.72 2883
+-84.782 42.72 2849
+-84.656 42.72 2793
+-84.53 42.72 2748
+-84.404 42.72 2744
+-84.278 42.72 2762
+-84.152 42.72 2794
+-84.026 42.72 2828
+-83.9 42.72 2858
+-83.774 42.72 2870
+-83.648 42.72 2905
+-83.522 42.72 2933
+-83.396 42.72 2959
+-83.27 42.72 2968
+-83.144 42.72 2992
+-83.018 42.72 3012
+-82.892 42.72 3031
+-82.766 42.72 3047
+-82.64 42.72 3062
+-82.514 42.72 3076
+-82.388 42.72 3071
+-82.262 42.72 3080
+-82.136 42.72 3159
+-82.01 42.72 3171
+-81.884 42.72 3182
+-81.758 42.72 3156
+-81.632 42.72 3101
+-81.506 42.72 3109
+-81.38 42.72 3155
+-81.254 42.72 3104
+-81.128 42.72 3111
+-81.002 42.72 3118
+-80.876 42.72 3150
+-80.75 42.72 3124
+-80.624 42.72 3129
+-80.498 42.72 3135
+-80.372 42.72 3283
+-80.246 42.72 3250
+-80.12 42.72 3256
+-79.994 42.72 3362
+-79.868 42.72 3348
+-79.742 42.72 3354
+-79.616 42.72 3316
+-79.49 42.72 3383
+-79.364 42.72 3386
+-79.238 42.72 3391
+-79.112 42.72 3396
+-78.986 42.72 3400
+-78.86 42.72 3400
+-78.734 42.72 3404
+-78.608 42.72 3408
+-78.482 42.72 3398
+-78.356 42.72 3356
+-78.23 42.72 3353
+-78.104 42.72 3356
+-77.978 42.72 3358
+-77.852 42.72 3361
+-77.726 42.72 3364
+-77.6 42.72 3366
+-77.474 42.72 3369
+-77.348 42.72 3371
+-77.222 42.72 3373
+-77.096 42.72 3375
+-76.97 42.72 3377
+-76.844 42.72 3379
+-76.718 42.72 3381
+-76.592 42.72 3383
+-76.466 42.72 3385
+-76.34 42.72 3478
+-76.214 42.72 3480
+-76.088 42.72 3468
+-75.962 42.72 3470
+-75.836 42.72 3472
+-75.71 42.72 3473
+-75.584 42.72 3475
+-75.458 42.72 3476
+-75.332 42.72 3478
+-75.206 42.72 3479
+-75.08 42.72 3480
+-74.954 42.72 3482
+-74.828 42.72 3483
+-74.702 42.72 3512
+-74.576 42.72 3513
+-74.45 42.72 3515
+-74.324 42.72 3516
+-74.198 42.72 3518
+-74.072 42.72 3520
+-73.946 42.72 3484
+-73.82 42.72 3485
+-73.694 42.72 3487
+-73.568 42.72 3488
+-73.442 42.72 3518
+-73.316 42.72 3519
+-73.19 42.72 3521
+-73.064 42.72 3479
+-72.938 42.72 3480
+-72.812 42.72 3481
+-72.686 42.72 3614
+-72.56 42.72 3615
+-72.434 42.72 3616
+-72.308 42.72 3616
+-72.182 42.72 3617
+-72.056 42.72 3555
+-71.93 42.72 3555
+-71.804 42.72 3556
+-71.678 42.72 3556
+-71.552 42.72 3556
+-71.426 42.72 3557
+-71.3 42.72 3557
+-71.174 42.72 3557
+-71.048 42.72 3558
+-70.922 42.72 3558
+-70.796 42.72 3538
+-70.67 42.72 3526
+-70.544 42.72 3526
+-70.418 42.72 3527
+-70.292 42.72 3527
+-70.166 42.72 3527
+-70.04 42.72 3510
+-69.914 42.72 3510
+-69.788 42.72 3510
+-69.662 42.72 3511
+-69.536 42.72 3511
+-69.41 42.72 3511
+-69.284 42.72 3511
+-69.158 42.72 3512
+-69.032 42.72 3512
+-68.906 42.72 3460
+-68.78 42.72 3460
+-68.654 42.72 3460
+-68.528 42.72 3460
+-68.402 42.72 3460
+-68.276 42.72 3461
+-68.15 42.72 3461
+-68.024 42.72 3461
+-67.898 42.72 3461
+-67.772 42.72 3461
+-67.646 42.72 3462
+-67.52 42.72 3462
+-67.394 42.72 3462
+-67.268 42.72 3382
+-67.142 42.72 3382
+-67.016 42.72 3382
+-66.89 42.72 3382
+-66.764 42.72 3382
+-66.638 42.72 3382
+-66.512 42.72 3381
+-66.386 42.72 3381
+-66.26 42.72 3381
+-66.134 42.72 3381
+-66.008 42.72 3381
+-65.882 42.72 3381
+-65.756 42.72 3381
+-65.63 42.72 3381
+-65.504 42.72 3381
+-65.378 42.72 3381
+-65.252 42.72 3381
+-65.126 42.72 3380
+-128 42.668 3151
+-127.874 42.668 3182
+-127.748 42.668 3213
+-127.622 42.668 3262
+-127.496 42.668 3284
+-127.37 42.668 3301
+-127.244 42.668 3278
+-127.118 42.668 3231
+-126.992 42.668 3210
+-126.866 42.668 3285
+-126.74 42.668 3380
+-126.614 42.668 3382
+-126.488 42.668 3439
+-126.362 42.668 3604
+-126.236 42.668 3758
+-126.11 42.668 3895
+-125.984 42.668 3990
+-125.858 42.668 4106
+-125.732 42.668 4149
+-125.606 42.668 4276
+-125.48 42.668 4302
+-125.354 42.668 4361
+-125.228 42.668 4381
+-125.102 42.668 4426
+-124.976 42.668 4451
+-124.85 42.668 4470
+-124.724 42.668 4474
+-124.598 42.668 4495
+-124.472 42.668 4532
+-124.346 42.668 4579
+-124.22 42.668 4649
+-124.094 42.668 4736
+-123.968 42.668 4783
+-123.842 42.668 4815
+-123.716 42.668 4822
+-123.59 42.668 4837
+-123.464 42.668 4817
+-123.338 42.668 4841
+-123.212 42.668 4837
+-123.086 42.668 4844
+-122.96 42.668 4837
+-122.834 42.668 4847
+-122.708 42.668 4838
+-122.582 42.668 4827
+-122.456 42.668 4799
+-122.33 42.668 4794
+-122.204 42.668 4798
+-122.078 42.668 4784
+-121.952 42.668 4736
+-121.826 42.668 4714
+-121.7 42.668 4665
+-121.574 42.668 4632
+-121.448 42.668 4595
+-121.322 42.668 4583
+-121.196 42.668 4622
+-121.07 42.668 4675
+-120.944 42.668 4750
+-120.818 42.668 4749
+-120.692 42.668 4838
+-120.566 42.668 4896
+-120.44 42.668 4942
+-120.314 42.668 5026
+-120.188 42.668 5090
+-120.062 42.668 5112
+-119.936 42.668 5225
+-119.81 42.668 5324
+-119.684 42.668 5350
+-119.558 42.668 5394
+-119.432 42.668 5390
+-119.306 42.668 5444
+-119.18 42.668 5486
+-119.054 42.668 5532
+-118.928 42.668 5526
+-118.802 42.668 5566
+-118.676 42.668 5585
+-118.55 42.668 5600
+-118.424 42.668 5598
+-118.298 42.668 5593
+-118.172 42.668 5607
+-118.046 42.668 5617
+-117.92 42.668 5610
+-117.794 42.668 5574
+-117.668 42.668 5527
+-117.542 42.668 5527
+-117.416 42.668 5460
+-117.29 42.668 5452
+-117.164 42.668 5433
+-117.038 42.668 5379
+-116.912 42.668 5310
+-116.786 42.668 5272
+-116.66 42.668 5214
+-116.534 42.668 5157
+-116.408 42.668 5076
+-116.282 42.668 4997
+-116.156 42.668 4997
+-116.03 42.668 4923
+-115.904 42.668 4815
+-115.778 42.668 4723
+-115.652 42.668 4678
+-115.526 42.668 4655
+-115.4 42.668 4570
+-115.274 42.668 4457
+-115.148 42.668 4379
+-115.022 42.668 4340
+-114.896 42.668 4325
+-114.77 42.668 4271
+-114.644 42.668 4169
+-114.518 42.668 4076
+-114.392 42.668 3960
+-114.266 42.668 3817
+-114.14 42.668 3630
+-114.014 42.668 3447
+-113.888 42.668 3358
+-113.762 42.668 3370
+-113.636 42.668 3385
+-113.51 42.668 3366
+-113.384 42.668 3313
+-113.258 42.668 3238
+-113.132 42.668 3101
+-113.006 42.668 2939
+-112.88 42.668 2689
+-112.754 42.668 2436
+-112.628 42.668 2190
+-112.502 42.668 1991
+-112.376 42.668 1918
+-112.25 42.668 1946
+-112.124 42.668 1946
+-111.998 42.668 1973
+-111.872 42.668 2061
+-111.746 42.668 2174
+-111.62 42.668 2286
+-111.494 42.668 2392
+-111.368 42.668 2445
+-111.242 42.668 2516
+-111.116 42.668 2580
+-110.99 42.668 2635
+-110.864 42.668 2682
+-110.738 42.668 2722
+-110.612 42.668 2778
+-110.486 42.668 2810
+-110.36 42.668 2839
+-110.234 42.668 2864
+-110.108 42.668 2887
+-109.982 42.668 2839
+-109.856 42.668 2855
+-109.73 42.668 2869
+-109.604 42.668 2928
+-109.478 42.668 2824
+-109.352 42.668 2835
+-109.226 42.668 2846
+-109.1 42.668 2855
+-108.974 42.668 2867
+-108.848 42.668 2877
+-108.722 42.668 2885
+-108.596 42.668 2894
+-108.47 42.668 2901
+-108.344 42.668 2897
+-108.218 42.668 2897
+-108.092 42.668 2805
+-107.966 42.668 2749
+-107.84 42.668 2829
+-107.714 42.668 2809
+-107.588 42.668 2809
+-107.462 42.668 2814
+-107.336 42.668 2819
+-107.21 42.668 2695
+-107.084 42.668 2698
+-106.958 42.668 2668
+-106.832 42.668 2670
+-106.706 42.668 2672
+-106.58 42.668 2673
+-106.454 42.668 2675
+-106.328 42.668 2677
+-106.202 42.668 2678
+-106.076 42.668 2578
+-105.95 42.668 2404
+-105.824 42.668 2394
+-105.698 42.668 2383
+-105.572 42.668 2371
+-105.446 42.668 2359
+-105.32 42.668 2240
+-105.194 42.668 2187
+-105.068 42.668 2099
+-104.942 42.668 2120
+-104.816 42.668 2061
+-104.69 42.668 1998
+-104.564 42.668 1980
+-104.438 42.668 1975
+-104.312 42.668 1963
+-104.186 42.668 1867
+-104.06 42.668 1919
+-103.934 42.668 1953
+-103.808 42.668 2123
+-103.682 42.668 2149
+-103.556 42.668 2233
+-103.43 42.668 2230
+-103.304 42.668 2419
+-103.178 42.668 2413
+-103.052 42.668 2406
+-102.926 42.668 2444
+-102.8 42.668 2436
+-102.674 42.668 2429
+-102.548 42.668 2421
+-102.422 42.668 2413
+-102.296 42.668 2405
+-102.17 42.668 2396
+-102.044 42.668 2409
+-101.918 42.668 2452
+-101.792 42.668 2444
+-101.666 42.668 2434
+-101.54 42.668 2425
+-101.414 42.668 2415
+-101.288 42.668 2404
+-101.162 42.668 2394
+-101.036 42.668 2391
+-100.91 42.668 2426
+-100.784 42.668 2423
+-100.658 42.668 2446
+-100.532 42.668 2433
+-100.406 42.668 2420
+-100.28 42.668 2407
+-100.154 42.668 2394
+-100.028 42.668 2381
+-99.902 42.668 2369
+-99.776 42.668 2357
+-99.65 42.668 2378
+-99.524 42.668 2492
+-99.398 42.668 2482
+-99.272 42.668 2475
+-99.146 42.668 2470
+-99.02 42.668 2470
+-98.894 42.668 2491
+-98.768 42.668 2505
+-98.642 42.668 2514
+-98.516 42.668 2554
+-98.39 42.668 2569
+-98.264 42.668 2597
+-98.138 42.668 2619
+-98.012 42.668 2643
+-97.886 42.668 2668
+-97.76 42.668 2692
+-97.634 42.668 2715
+-97.508 42.668 2768
+-97.382 42.668 2786
+-97.256 42.668 2801
+-97.13 42.668 2787
+-97.004 42.668 2797
+-96.878 42.668 2783
+-96.752 42.668 2832
+-96.626 42.668 2816
+-96.5 42.668 2810
+-96.374 42.668 2798
+-96.248 42.668 2782
+-96.122 42.668 2783
+-95.996 42.668 2779
+-95.87 42.668 2792
+-95.744 42.668 2781
+-95.618 42.668 2791
+-95.492 42.668 2866
+-95.366 42.668 2997
+-95.24 42.668 3125
+-95.114 42.668 3259
+-94.988 42.668 3362
+-94.862 42.668 3436
+-94.736 42.668 3482
+-94.61 42.668 3537
+-94.484 42.668 3571
+-94.358 42.668 3584
+-94.232 42.668 3583
+-94.106 42.668 3621
+-93.98 42.668 3726
+-93.854 42.668 3865
+-93.728 42.668 4007
+-93.602 42.668 4157
+-93.476 42.668 4278
+-93.35 42.668 4346
+-93.224 42.668 4390
+-93.098 42.668 4408
+-92.972 42.668 4492
+-92.846 42.668 4557
+-92.72 42.668 4587
+-92.594 42.668 4620
+-92.468 42.668 4657
+-92.342 42.668 4758
+-92.216 42.668 4862
+-92.09 42.668 4906
+-91.964 42.668 4939
+-91.838 42.668 4973
+-91.712 42.668 4985
+-91.586 42.668 5018
+-91.46 42.668 5059
+-91.334 42.668 5097
+-91.208 42.668 5133
+-91.082 42.668 5149
+-90.956 42.668 5187
+-90.83 42.668 5236
+-90.704 42.668 5192
+-90.578 42.668 5251
+-90.452 42.668 5234
+-90.326 42.668 5232
+-90.2 42.668 5230
+-90.074 42.668 5209
+-89.948 42.668 5189
+-89.822 42.668 5180
+-89.696 42.668 5136
+-89.57 42.668 5137
+-89.444 42.668 5108
+-89.318 42.668 5080
+-89.192 42.668 5026
+-89.066 42.668 4976
+-88.94 42.668 4927
+-88.814 42.668 4901
+-88.688 42.668 4884
+-88.562 42.668 4830
+-88.436 42.668 4753
+-88.31 42.668 4677
+-88.184 42.668 4579
+-88.058 42.668 4508
+-87.932 42.668 4414
+-87.806 42.668 4362
+-87.68 42.668 4323
+-87.554 42.668 4257
+-87.428 42.668 4178
+-87.302 42.668 4084
+-87.176 42.668 3983
+-87.05 42.668 3912
+-86.924 42.668 3782
+-86.798 42.668 3668
+-86.672 42.668 3699
+-86.546 42.668 3666
+-86.42 42.668 3623
+-86.294 42.668 3500
+-86.168 42.668 3467
+-86.042 42.668 3409
+-85.916 42.668 3366
+-85.79 42.668 3312
+-85.664 42.668 3274
+-85.538 42.668 3228
+-85.412 42.668 3140
+-85.286 42.668 3063
+-85.16 42.668 2991
+-85.034 42.668 2967
+-84.908 42.668 2953
+-84.782 42.668 2936
+-84.656 42.668 2893
+-84.53 42.668 2862
+-84.404 42.668 2835
+-84.278 42.668 2826
+-84.152 42.668 2829
+-84.026 42.668 2840
+-83.9 42.668 2843
+-83.774 42.668 2874
+-83.648 42.668 2902
+-83.522 42.668 2931
+-83.396 42.668 2945
+-83.27 42.668 2971
+-83.144 42.668 2994
+-83.018 42.668 3016
+-82.892 42.668 3035
+-82.766 42.668 3052
+-82.64 42.668 3067
+-82.514 42.668 3081
+-82.388 42.668 3138
+-82.262 42.668 3152
+-82.136 42.668 3166
+-82.01 42.668 3178
+-81.884 42.668 3152
+-81.758 42.668 3101
+-81.632 42.668 3109
+-81.506 42.668 3155
+-81.38 42.668 3106
+-81.254 42.668 3113
+-81.128 42.668 3119
+-81.002 42.668 3152
+-80.876 42.668 3126
+-80.75 42.668 3132
+-80.624 42.668 3137
+-80.498 42.668 3281
+-80.372 42.668 3249
+-80.246 42.668 3255
+-80.12 42.668 3360
+-79.994 42.668 3347
+-79.868 42.668 3353
+-79.742 42.668 3315
+-79.616 42.668 3382
+-79.49 42.668 3385
+-79.364 42.668 3390
+-79.238 42.668 3395
+-79.112 42.668 3400
+-78.986 42.668 3399
+-78.86 42.668 3403
+-78.734 42.668 3407
+-78.608 42.668 3397
+-78.482 42.668 3355
+-78.356 42.668 3352
+-78.23 42.668 3355
+-78.104 42.668 3358
+-77.978 42.668 3361
+-77.852 42.668 3364
+-77.726 42.668 3366
+-77.6 42.668 3369
+-77.474 42.668 3371
+-77.348 42.668 3373
+-77.222 42.668 3375
+-77.096 42.668 3377
+-76.97 42.668 3379
+-76.844 42.668 3381
+-76.718 42.668 3383
+-76.592 42.668 3385
+-76.466 42.668 3478
+-76.34 42.668 3479
+-76.214 42.668 3468
+-76.088 42.668 3469
+-75.962 42.668 3471
+-75.836 42.668 3473
+-75.71 42.668 3474
+-75.584 42.668 3476
+-75.458 42.668 3477
+-75.332 42.668 3479
+-75.206 42.668 3480
+-75.08 42.668 3481
+-74.954 42.668 3483
+-74.828 42.668 3511
+-74.702 42.668 3513
+-74.576 42.668 3514
+-74.45 42.668 3516
+-74.324 42.668 3518
+-74.198 42.668 3519
+-74.072 42.668 3484
+-73.946 42.668 3485
+-73.82 42.668 3486
+-73.694 42.668 3488
+-73.568 42.668 3517
+-73.442 42.668 3519
+-73.316 42.668 3520
+-73.19 42.668 3479
+-73.064 42.668 3480
+-72.938 42.668 3481
+-72.812 42.668 3614
+-72.686 42.668 3615
+-72.56 42.668 3615
+-72.434 42.668 3616
+-72.308 42.668 3616
+-72.182 42.668 3555
+-72.056 42.668 3555
+-71.93 42.668 3555
+-71.804 42.668 3556
+-71.678 42.668 3556
+-71.552 42.668 3556
+-71.426 42.668 3557
+-71.3 42.668 3557
+-71.174 42.668 3558
+-71.048 42.668 3558
+-70.922 42.668 3538
+-70.796 42.668 3526
+-70.67 42.668 3526
+-70.544 42.668 3526
+-70.418 42.668 3527
+-70.292 42.668 3527
+-70.166 42.668 3528
+-70.04 42.668 3510
+-69.914 42.668 3510
+-69.788 42.668 3510
+-69.662 42.668 3511
+-69.536 42.668 3511
+-69.41 42.668 3511
+-69.284 42.668 3511
+-69.158 42.668 3512
+-69.032 42.668 3459
+-68.906 42.668 3460
+-68.78 42.668 3460
+-68.654 42.668 3460
+-68.528 42.668 3460
+-68.402 42.668 3460
+-68.276 42.668 3461
+-68.15 42.668 3461
+-68.024 42.668 3461
+-67.898 42.668 3461
+-67.772 42.668 3461
+-67.646 42.668 3462
+-67.52 42.668 3462
+-67.394 42.668 3382
+-67.268 42.668 3382
+-67.142 42.668 3382
+-67.016 42.668 3382
+-66.89 42.668 3382
+-66.764 42.668 3382
+-66.638 42.668 3381
+-66.512 42.668 3381
+-66.386 42.668 3381
+-66.26 42.668 3381
+-66.134 42.668 3381
+-66.008 42.668 3381
+-65.882 42.668 3381
+-65.756 42.668 3381
+-65.63 42.668 3381
+-65.504 42.668 3381
+-65.378 42.668 3380
+-65.252 42.668 3380
+-65.126 42.668 3380
+-128 42.616 3036
+-127.874 42.616 3072
+-127.748 42.616 3146
+-127.622 42.616 3204
+-127.496 42.616 3249
+-127.37 42.616 3292
+-127.244 42.616 3293
+-127.118 42.616 3295
+-126.992 42.616 3299
+-126.866 42.616 3354
+-126.74 42.616 3407
+-126.614 42.616 3417
+-126.488 42.616 3472
+-126.362 42.616 3584
+-126.236 42.616 3756
+-126.11 42.616 3867
+-125.984 42.616 3957
+-125.858 42.616 4022
+-125.732 42.616 4091
+-125.606 42.616 4217
+-125.48 42.616 4248
+-125.354 42.616 4305
+-125.228 42.616 4327
+-125.102 42.616 4355
+-124.976 42.616 4382
+-124.85 42.616 4432
+-124.724 42.616 4461
+-124.598 42.616 4484
+-124.472 42.616 4480
+-124.346 42.616 4519
+-124.22 42.616 4585
+-124.094 42.616 4653
+-123.968 42.616 4711
+-123.842 42.616 4750
+-123.716 42.616 4758
+-123.59 42.616 4769
+-123.464 42.616 4745
+-123.338 42.616 4783
+-123.212 42.616 4811
+-123.086 42.616 4801
+-122.96 42.616 4794
+-122.834 42.616 4804
+-122.708 42.616 4795
+-122.582 42.616 4771
+-122.456 42.616 4758
+-122.33 42.616 4749
+-122.204 42.616 4740
+-122.078 42.616 4719
+-121.952 42.616 4665
+-121.826 42.616 4644
+-121.7 42.616 4587
+-121.574 42.616 4524
+-121.448 42.616 4451
+-121.322 42.616 4470
+-121.196 42.616 4534
+-121.07 42.616 4616
+-120.944 42.616 4701
+-120.818 42.616 4766
+-120.692 42.616 4811
+-120.566 42.616 4824
+-120.44 42.616 4901
+-120.314 42.616 4993
+-120.188 42.616 5035
+-120.062 42.616 5103
+-119.936 42.616 5154
+-119.81 42.616 5261
+-119.684 42.616 5336
+-119.558 42.616 5380
+-119.432 42.616 5412
+-119.306 42.616 5416
+-119.18 42.616 5433
+-119.054 42.616 5479
+-118.928 42.616 5508
+-118.802 42.616 5513
+-118.676 42.616 5525
+-118.55 42.616 5548
+-118.424 42.616 5540
+-118.298 42.616 5551
+-118.172 42.616 5516
+-118.046 42.616 5531
+-117.92 42.616 5539
+-117.794 42.616 5529
+-117.668 42.616 5512
+-117.542 42.616 5490
+-117.416 42.616 5453
+-117.29 42.616 5395
+-117.164 42.616 5397
+-117.038 42.616 5338
+-116.912 42.616 5269
+-116.786 42.616 5208
+-116.66 42.616 5156
+-116.534 42.616 5117
+-116.408 42.616 5021
+-116.282 42.616 4933
+-116.156 42.616 4965
+-116.03 42.616 4905
+-115.904 42.616 4789
+-115.778 42.616 4692
+-115.652 42.616 4627
+-115.526 42.616 4627
+-115.4 42.616 4563
+-115.274 42.616 4499
+-115.148 42.616 4435
+-115.022 42.616 4349
+-114.896 42.616 4300
+-114.77 42.616 4245
+-114.644 42.616 4149
+-114.518 42.616 4053
+-114.392 42.616 3938
+-114.266 42.616 3806
+-114.14 42.616 3668
+-114.014 42.616 3506
+-113.888 42.616 3422
+-113.762 42.616 3383
+-113.636 42.616 3379
+-113.51 42.616 3342
+-113.384 42.616 3242
+-113.258 42.616 3152
+-113.132 42.616 3038
+-113.006 42.616 2875
+-112.88 42.616 2673
+-112.754 42.616 2439
+-112.628 42.616 2209
+-112.502 42.616 2028
+-112.376 42.616 1949
+-112.25 42.616 1876
+-112.124 42.616 1777
+-111.998 42.616 1830
+-111.872 42.616 1956
+-111.746 42.616 2099
+-111.62 42.616 2205
+-111.494 42.616 2316
+-111.368 42.616 2410
+-111.242 42.616 2491
+-111.116 42.616 2555
+-110.99 42.616 2613
+-110.864 42.616 2662
+-110.738 42.616 2704
+-110.612 42.616 2740
+-110.486 42.616 2794
+-110.36 42.616 2823
+-110.234 42.616 2849
+-110.108 42.616 2807
+-109.982 42.616 2825
+-109.856 42.616 2842
+-109.73 42.616 2856
+-109.604 42.616 2869
+-109.478 42.616 2881
+-109.352 42.616 2823
+-109.226 42.616 2834
+-109.1 42.616 2844
+-108.974 42.616 2853
+-108.848 42.616 2865
+-108.722 42.616 2874
+-108.596 42.616 2883
+-108.47 42.616 2891
+-108.344 42.616 2799
+-108.218 42.616 2788
+-108.092 42.616 2793
+-107.966 42.616 2799
+-107.84 42.616 2743
+-107.714 42.616 2822
+-107.588 42.616 2803
+-107.462 42.616 2802
+-107.336 42.616 2679
+-107.21 42.616 2682
+-107.084 42.616 2685
+-106.958 42.616 2687
+-106.832 42.616 2658
+-106.706 42.616 2660
+-106.58 42.616 2662
+-106.454 42.616 2664
+-106.328 42.616 2665
+-106.202 42.616 2667
+-106.076 42.616 2566
+-105.95 42.616 2391
+-105.824 42.616 2381
+-105.698 42.616 2370
+-105.572 42.616 2359
+-105.446 42.616 2347
+-105.32 42.616 2334
+-105.194 42.616 2175
+-105.068 42.616 2055
+-104.942 42.616 2032
+-104.816 42.616 2051
+-104.69 42.616 2031
+-104.564 42.616 1974
+-104.438 42.616 1968
+-104.312 42.616 1905
+-104.186 42.616 1864
+-104.06 42.616 1915
+-103.934 42.616 1941
+-103.808 42.616 2111
+-103.682 42.616 2147
+-103.556 42.616 2231
+-103.43 42.616 2228
+-103.304 42.616 2416
+-103.178 42.616 2410
+-103.052 42.616 2404
+-102.926 42.616 2397
+-102.8 42.616 2433
+-102.674 42.616 2426
+-102.548 42.616 2418
+-102.422 42.616 2409
+-102.296 42.616 2400
+-102.17 42.616 2391
+-102.044 42.616 2382
+-101.918 42.616 2395
+-101.792 42.616 2437
+-101.666 42.616 2427
+-101.54 42.616 2417
+-101.414 42.616 2407
+-101.288 42.616 2395
+-101.162 42.616 2384
+-101.036 42.616 2372
+-100.91 42.616 2368
+-100.784 42.616 2400
+-100.658 42.616 2396
+-100.532 42.616 2416
+-100.406 42.616 2402
+-100.28 42.616 2387
+-100.154 42.616 2372
+-100.028 42.616 2357
+-99.902 42.616 2342
+-99.776 42.616 2328
+-99.65 42.616 2314
+-99.524 42.616 2336
+-99.398 42.616 2445
+-99.272 42.616 2435
+-99.146 42.616 2428
+-99.02 42.616 2424
+-98.894 42.616 2426
+-98.768 42.616 2450
+-98.642 42.616 2468
+-98.516 42.616 2481
+-98.39 42.616 2526
+-98.264 42.616 2547
+-98.138 42.616 2582
+-98.012 42.616 2611
+-97.886 42.616 2641
+-97.76 42.616 2671
+-97.634 42.616 2701
+-97.508 42.616 2728
+-97.382 42.616 2784
+-97.256 42.616 2806
+-97.13 42.616 2824
+-97.004 42.616 2812
+-96.878 42.616 2824
+-96.752 42.616 2813
+-96.626 42.616 2864
+-96.5 42.616 2878
+-96.374 42.616 2874
+-96.248 42.616 2867
+-96.122 42.616 2857
+-95.996 42.616 2854
+-95.87 42.616 2945
+-95.744 42.616 2952
+-95.618 42.616 2982
+-95.492 42.616 3037
+-95.366 42.616 3125
+-95.24 42.616 3231
+-95.114 42.616 3319
+-94.988 42.616 3378
+-94.862 42.616 3418
+-94.736 42.616 3454
+-94.61 42.616 3514
+-94.484 42.616 3585
+-94.358 42.616 3609
+-94.232 42.616 3626
+-94.106 42.616 3665
+-93.98 42.616 3767
+-93.854 42.616 3902
+-93.728 42.616 4052
+-93.602 42.616 4183
+-93.476 42.616 4310
+-93.35 42.616 4385
+-93.224 42.616 4401
+-93.098 42.616 4354
+-92.972 42.616 4487
+-92.846 42.616 4577
+-92.72 42.616 4602
+-92.594 42.616 4641
+-92.468 42.616 4702
+-92.342 42.616 4815
+-92.216 42.616 4907
+-92.09 42.616 4952
+-91.964 42.616 4963
+-91.838 42.616 4994
+-91.712 42.616 5035
+-91.586 42.616 5079
+-91.46 42.616 5121
+-91.334 42.616 5165
+-91.208 42.616 5188
+-91.082 42.616 5186
+-90.956 42.616 5200
+-90.83 42.616 5218
+-90.704 42.616 5223
+-90.578 42.616 5248
+-90.452 42.616 5274
+-90.326 42.616 5273
+-90.2 42.616 5260
+-90.074 42.616 5282
+-89.948 42.616 5239
+-89.822 42.616 5233
+-89.696 42.616 5197
+-89.57 42.616 5161
+-89.444 42.616 5106
+-89.318 42.616 5113
+-89.192 42.616 5093
+-89.066 42.616 5004
+-88.94 42.616 4972
+-88.814 42.616 4938
+-88.688 42.616 4866
+-88.562 42.616 4881
+-88.436 42.616 4777
+-88.31 42.616 4690
+-88.184 42.616 4653
+-88.058 42.616 4551
+-87.932 42.616 4480
+-87.806 42.616 4407
+-87.68 42.616 4316
+-87.554 42.616 4315
+-87.428 42.616 4255
+-87.302 42.616 4197
+-87.176 42.616 4115
+-87.05 42.616 3988
+-86.924 42.616 3873
+-86.798 42.616 3756
+-86.672 42.616 3763
+-86.546 42.616 3702
+-86.42 42.616 3667
+-86.294 42.616 3599
+-86.168 42.616 3500
+-86.042 42.616 3458
+-85.916 42.616 3413
+-85.79 42.616 3378
+-85.664 42.616 3326
+-85.538 42.616 3285
+-85.412 42.616 3228
+-85.286 42.616 3163
+-85.16 42.616 3106
+-85.034 42.616 3062
+-84.908 42.616 3040
+-84.782 42.616 3013
+-84.656 42.616 2969
+-84.53 42.616 2921
+-84.404 42.616 2877
+-84.278 42.616 2842
+-84.152 42.616 2821
+-84.026 42.616 2807
+-83.9 42.616 2830
+-83.774 42.616 2858
+-83.648 42.616 2892
+-83.522 42.616 2913
+-83.396 42.616 2944
+-83.27 42.616 2973
+-83.144 42.616 2998
+-83.018 42.616 3020
+-82.892 42.616 3040
+-82.766 42.616 3057
+-82.64 42.616 3073
+-82.514 42.616 3130
+-82.388 42.616 3146
+-82.262 42.616 3160
+-82.136 42.616 3173
+-82.01 42.616 3149
+-81.884 42.616 3101
+-81.758 42.616 3110
+-81.632 42.616 3156
+-81.506 42.616 3107
+-81.38 42.616 3115
+-81.254 42.616 3122
+-81.128 42.616 3154
+-81.002 42.616 3128
+-80.876 42.616 3134
+-80.75 42.616 3217
+-80.624 42.616 3280
+-80.498 42.616 3248
+-80.372 42.616 3255
+-80.246 42.616 3359
+-80.12 42.616 3346
+-79.994 42.616 3352
+-79.868 42.616 3315
+-79.742 42.616 3381
+-79.616 42.616 3384
+-79.49 42.616 3390
+-79.364 42.616 3394
+-79.238 42.616 3399
+-79.112 42.616 3398
+-78.986 42.616 3403
+-78.86 42.616 3407
+-78.734 42.616 3397
+-78.608 42.616 3355
+-78.482 42.616 3352
+-78.356 42.616 3356
+-78.23 42.616 3359
+-78.104 42.616 3361
+-77.978 42.616 3364
+-77.852 42.616 3367
+-77.726 42.616 3369
+-77.6 42.616 3371
+-77.474 42.616 3374
+-77.348 42.616 3376
+-77.222 42.616 3378
+-77.096 42.616 3380
+-76.97 42.616 3382
+-76.844 42.616 3384
+-76.718 42.616 3385
+-76.592 42.616 3477
+-76.466 42.616 3479
+-76.34 42.616 3467
+-76.214 42.616 3469
+-76.088 42.616 3471
+-75.962 42.616 3472
+-75.836 42.616 3474
+-75.71 42.616 3475
+-75.584 42.616 3477
+-75.458 42.616 3478
+-75.332 42.616 3480
+-75.206 42.616 3481
+-75.08 42.616 3482
+-74.954 42.616 3510
+-74.828 42.616 3512
+-74.702 42.616 3514
+-74.576 42.616 3516
+-74.45 42.616 3517
+-74.324 42.616 3519
+-74.198 42.616 3484
+-74.072 42.616 3485
+-73.946 42.616 3486
+-73.82 42.616 3487
+-73.694 42.616 3517
+-73.568 42.616 3518
+-73.442 42.616 3520
+-73.316 42.616 3479
+-73.19 42.616 3480
+-73.064 42.616 3481
+-72.938 42.616 3613
+-72.812 42.616 3614
+-72.686 42.616 3615
+-72.56 42.616 3615
+-72.434 42.616 3616
+-72.308 42.616 3554
+-72.182 42.616 3555
+-72.056 42.616 3555
+-71.93 42.616 3555
+-71.804 42.616 3556
+-71.678 42.616 3556
+-71.552 42.616 3557
+-71.426 42.616 3557
+-71.3 42.616 3557
+-71.174 42.616 3558
+-71.048 42.616 3537
+-70.922 42.616 3525
+-70.796 42.616 3526
+-70.67 42.616 3526
+-70.544 42.616 3527
+-70.418 42.616 3527
+-70.292 42.616 3509
+-70.166 42.616 3510
+-70.04 42.616 3510
+-69.914 42.616 3510
+-69.788 42.616 3510
+-69.662 42.616 3511
+-69.536 42.616 3511
+-69.41 42.616 3511
+-69.284 42.616 3511
+-69.158 42.616 3459
+-69.032 42.616 3459
+-68.906 42.616 3460
+-68.78 42.616 3460
+-68.654 42.616 3460
+-68.528 42.616 3460
+-68.402 42.616 3461
+-68.276 42.616 3461
+-68.15 42.616 3461
+-68.024 42.616 3461
+-67.898 42.616 3461
+-67.772 42.616 3461
+-67.646 42.616 3462
+-67.52 42.616 3382
+-67.394 42.616 3382
+-67.268 42.616 3382
+-67.142 42.616 3382
+-67.016 42.616 3382
+-66.89 42.616 3382
+-66.764 42.616 3381
+-66.638 42.616 3381
+-66.512 42.616 3381
+-66.386 42.616 3381
+-66.26 42.616 3381
+-66.134 42.616 3381
+-66.008 42.616 3381
+-65.882 42.616 3381
+-65.756 42.616 3381
+-65.63 42.616 3381
+-65.504 42.616 3380
+-65.378 42.616 3380
+-65.252 42.616 3380
+-65.126 42.616 3380
+-128 42.564 2866
+-127.874 42.564 2922
+-127.748 42.564 3025
+-127.622 42.564 3119
+-127.496 42.564 3199
+-127.37 42.564 3267
+-127.244 42.564 3304
+-127.118 42.564 3327
+-126.992 42.564 3365
+-126.866 42.564 3414
+-126.74 42.564 3446
+-126.614 42.564 3477
+-126.488 42.564 3531
+-126.362 42.564 3622
+-126.236 42.564 3764
+-126.11 42.564 3857
+-125.984 42.564 3928
+-125.858 42.564 3997
+-125.732 42.564 4018
+-125.606 42.564 4123
+-125.48 42.564 4165
+-125.354 42.564 4186
+-125.228 42.564 4227
+-125.102 42.564 4265
+-124.976 42.564 4313
+-124.85 42.564 4367
+-124.724 42.564 4417
+-124.598 42.564 4441
+-124.472 42.564 4438
+-124.346 42.564 4439
+-124.22 42.564 4508
+-124.094 42.564 4545
+-123.968 42.564 4614
+-123.842 42.564 4679
+-123.716 42.564 4700
+-123.59 42.564 4728
+-123.464 42.564 4746
+-123.338 42.564 4753
+-123.212 42.564 4755
+-123.086 42.564 4746
+-122.96 42.564 4730
+-122.834 42.564 4719
+-122.708 42.564 4735
+-122.582 42.564 4739
+-122.456 42.564 4719
+-122.33 42.564 4703
+-122.204 42.564 4703
+-122.078 42.564 4676
+-121.952 42.564 4643
+-121.826 42.564 4591
+-121.7 42.564 4535
+-121.574 42.564 4457
+-121.448 42.564 4304
+-121.322 42.564 4372
+-121.196 42.564 4432
+-121.07 42.564 4523
+-120.944 42.564 4628
+-120.818 42.564 4727
+-120.692 42.564 4786
+-120.566 42.564 4828
+-120.44 42.564 4897
+-120.314 42.564 4956
+-120.188 42.564 5008
+-120.062 42.564 5073
+-119.936 42.564 5109
+-119.81 42.564 5191
+-119.684 42.564 5243
+-119.558 42.564 5306
+-119.432 42.564 5347
+-119.306 42.564 5391
+-119.18 42.564 5426
+-119.054 42.564 5446
+-118.928 42.564 5454
+-118.802 42.564 5451
+-118.676 42.564 5475
+-118.55 42.564 5483
+-118.424 42.564 5491
+-118.298 42.564 5508
+-118.172 42.564 5458
+-118.046 42.564 5469
+-117.92 42.564 5464
+-117.794 42.564 5469
+-117.668 42.564 5456
+-117.542 42.564 5429
+-117.416 42.564 5408
+-117.29 42.564 5383
+-117.164 42.564 5350
+-117.038 42.564 5273
+-116.912 42.564 5201
+-116.786 42.564 5155
+-116.66 42.564 5087
+-116.534 42.564 5071
+-116.408 42.564 4967
+-116.282 42.564 4974
+-116.156 42.564 4946
+-116.03 42.564 4873
+-115.904 42.564 4767
+-115.778 42.564 4694
+-115.652 42.564 4634
+-115.526 42.564 4599
+-115.4 42.564 4543
+-115.274 42.564 4504
+-115.148 42.564 4433
+-115.022 42.564 4317
+-114.896 42.564 4259
+-114.77 42.564 4200
+-114.644 42.564 4104
+-114.518 42.564 4028
+-114.392 42.564 3914
+-114.266 42.564 3779
+-114.14 42.564 3637
+-114.014 42.564 3481
+-113.888 42.564 3381
+-113.762 42.564 3358
+-113.636 42.564 3354
+-113.51 42.564 3271
+-113.384 42.564 3223
+-113.258 42.564 3147
+-113.132 42.564 3036
+-113.006 42.564 2884
+-112.88 42.564 2692
+-112.754 42.564 2480
+-112.628 42.564 2270
+-112.502 42.564 2100
+-112.376 42.564 1959
+-112.25 42.564 1780
+-112.124 42.564 1668
+-111.998 42.564 1750
+-111.872 42.564 1897
+-111.746 42.564 2047
+-111.62 42.564 2181
+-111.494 42.564 2295
+-111.368 42.564 2392
+-111.242 42.564 2474
+-111.116 42.564 2539
+-110.99 42.564 2598
+-110.864 42.564 2648
+-110.738 42.564 2690
+-110.612 42.564 2727
+-110.486 42.564 2759
+-110.36 42.564 2810
+-110.234 42.564 2773
+-110.108 42.564 2794
+-109.982 42.564 2813
+-109.856 42.564 2829
+-109.73 42.564 2844
+-109.604 42.564 2858
+-109.478 42.564 2870
+-109.352 42.564 2881
+-109.226 42.564 2823
+-109.1 42.564 2833
+-108.974 42.564 2843
+-108.848 42.564 2851
+-108.722 42.564 2864
+-108.596 42.564 2873
+-108.47 42.564 2782
+-108.344 42.564 2787
+-108.218 42.564 2775
+-108.092 42.564 2782
+-107.966 42.564 2787
+-107.84 42.564 2793
+-107.714 42.564 2615
+-107.588 42.564 2686
+-107.462 42.564 2669
+-107.336 42.564 2665
+-107.21 42.564 2669
+-107.084 42.564 2672
+-106.958 42.564 2675
+-106.832 42.564 2677
+-106.706 42.564 2648
+-106.58 42.564 2650
+-106.454 42.564 2652
+-106.328 42.564 2654
+-106.202 42.564 2656
+-106.076 42.564 2553
+-105.95 42.564 2379
+-105.824 42.564 2369
+-105.698 42.564 2358
+-105.572 42.564 2346
+-105.446 42.564 2334
+-105.32 42.564 2321
+-105.194 42.564 2141
+-105.068 42.564 2045
+-104.942 42.564 2021
+-104.816 42.564 2040
+-104.69 42.564 2023
+-104.564 42.564 1967
+-104.438 42.564 1961
+-104.312 42.564 1902
+-104.186 42.564 1861
+-104.06 42.564 1924
+-103.934 42.564 1939
+-103.808 42.564 2109
+-103.682 42.564 2184
+-103.556 42.564 2230
+-103.43 42.564 2227
+-103.304 42.564 2384
+-103.178 42.564 2408
+-103.052 42.564 2401
+-102.926 42.564 2394
+-102.8 42.564 2387
+-102.674 42.564 2423
+-102.548 42.564 2414
+-102.422 42.564 2406
+-102.296 42.564 2396
+-102.17 42.564 2387
+-102.044 42.564 2377
+-101.918 42.564 2367
+-101.792 42.564 2380
+-101.666 42.564 2421
+-101.54 42.564 2410
+-101.414 42.564 2398
+-101.288 42.564 2386
+-101.162 42.564 2374
+-101.036 42.564 2361
+-100.91 42.564 2347
+-100.784 42.564 2341
+-100.658 42.564 2371
+-100.532 42.564 2365
+-100.406 42.564 2383
+-100.28 42.564 2366
+-100.154 42.564 2349
+-100.028 42.564 2331
+-99.902 42.564 2314
+-99.776 42.564 2296
+-99.65 42.564 2280
+-99.524 42.564 2264
+-99.398 42.564 2287
+-99.272 42.564 2390
+-99.146 42.564 2379
+-99.02 42.564 2373
+-98.894 42.564 2371
+-98.768 42.564 2377
+-98.642 42.564 2403
+-98.516 42.564 2427
+-98.39 42.564 2447
+-98.264 42.564 2499
+-98.138 42.564 2528
+-98.012 42.564 2571
+-97.886 42.564 2607
+-97.76 42.564 2644
+-97.634 42.564 2680
+-97.508 42.564 2715
+-97.382 42.564 2747
+-97.256 42.564 2807
+-97.13 42.564 2832
+-97.004 42.564 2853
+-96.878 42.564 2870
+-96.752 42.564 2858
+-96.626 42.564 2898
+-96.5 42.564 2906
+-96.374 42.564 2925
+-96.248 42.564 2929
+-96.122 42.564 2932
+-95.996 42.564 2944
+-95.87 42.564 3014
+-95.744 42.564 3085
+-95.618 42.564 3125
+-95.492 42.564 3178
+-95.366 42.564 3243
+-95.24 42.564 3296
+-95.114 42.564 3357
+-94.988 42.564 3385
+-94.862 42.564 3376
+-94.736 42.564 3374
+-94.61 42.564 3465
+-94.484 42.564 3563
+-94.358 42.564 3629
+-94.232 42.564 3647
+-94.106 42.564 3693
+-93.98 42.564 3809
+-93.854 42.564 3953
+-93.728 42.564 4094
+-93.602 42.564 4266
+-93.476 42.564 4384
+-93.35 42.564 4451
+-93.224 42.564 4454
+-93.098 42.564 4471
+-92.972 42.564 4544
+-92.846 42.564 4599
+-92.72 42.564 4627
+-92.594 42.564 4692
+-92.468 42.564 4788
+-92.342 42.564 4874
+-92.216 42.564 4943
+-92.09 42.564 4983
+-91.964 42.564 5009
+-91.838 42.564 5040
+-91.712 42.564 5098
+-91.586 42.564 5146
+-91.46 42.564 5192
+-91.334 42.564 5228
+-91.208 42.564 5226
+-91.082 42.564 5253
+-90.956 42.564 5260
+-90.83 42.564 5279
+-90.704 42.564 5275
+-90.578 42.564 5278
+-90.452 42.564 5293
+-90.326 42.564 5356
+-90.2 42.564 5297
+-90.074 42.564 5337
+-89.948 42.564 5281
+-89.822 42.564 5265
+-89.696 42.564 5254
+-89.57 42.564 5234
+-89.444 42.564 5179
+-89.318 42.564 5133
+-89.192 42.564 5091
+-89.066 42.564 5046
+-88.94 42.564 4997
+-88.814 42.564 4996
+-88.688 42.564 4925
+-88.562 42.564 4907
+-88.436 42.564 4833
+-88.31 42.564 4759
+-88.184 42.564 4689
+-88.058 42.564 4571
+-87.932 42.564 4521
+-87.806 42.564 4469
+-87.68 42.564 4402
+-87.554 42.564 4352
+-87.428 42.564 4287
+-87.302 42.564 4249
+-87.176 42.564 4198
+-87.05 42.564 4119
+-86.924 42.564 4014
+-86.798 42.564 3906
+-86.672 42.564 3830
+-86.546 42.564 3764
+-86.42 42.564 3728
+-86.294 42.564 3640
+-86.168 42.564 3552
+-86.042 42.564 3487
+-85.916 42.564 3431
+-85.79 42.564 3391
+-85.664 42.564 3337
+-85.538 42.564 3288
+-85.412 42.564 3263
+-85.286 42.564 3234
+-85.16 42.564 3182
+-85.034 42.564 3160
+-84.908 42.564 3117
+-84.782 42.564 3069
+-84.656 42.564 3011
+-84.53 42.564 2943
+-84.404 42.564 2868
+-84.278 42.564 2798
+-84.152 42.564 2745
+-84.026 42.564 2749
+-83.9 42.564 2781
+-83.774 42.564 2827
+-83.648 42.564 2863
+-83.522 42.564 2905
+-83.396 42.564 2942
+-83.27 42.564 2974
+-83.144 42.564 3002
+-83.018 42.564 3026
+-82.892 42.564 3046
+-82.766 42.564 3064
+-82.64 42.564 3122
+-82.514 42.564 3139
+-82.388 42.564 3155
+-82.262 42.564 3169
+-82.136 42.564 3139
+-82.01 42.564 3171
+-81.884 42.564 3183
+-81.758 42.564 3157
+-81.632 42.564 3187
+-81.506 42.564 3117
+-81.38 42.564 3195
+-81.254 42.564 3156
+-81.128 42.564 3207
+-81.002 42.564 3210
+-80.876 42.564 3217
+-80.75 42.564 3279
+-80.624 42.564 3248
+-80.498 42.564 3255
+-80.372 42.564 3358
+-80.246 42.564 3345
+-80.12 42.564 3352
+-79.994 42.564 3315
+-79.868 42.564 3380
+-79.742 42.564 3384
+-79.616 42.564 3389
+-79.49 42.564 3394
+-79.364 42.564 3399
+-79.238 42.564 3398
+-79.112 42.564 3402
+-78.986 42.564 3407
+-78.86 42.564 3397
+-78.734 42.564 3355
+-78.608 42.564 3353
+-78.482 42.564 3356
+-78.356 42.564 3359
+-78.23 42.564 3362
+-78.104 42.564 3364
+-77.978 42.564 3367
+-77.852 42.564 3369
+-77.726 42.564 3372
+-77.6 42.564 3374
+-77.474 42.564 3376
+-77.348 42.564 3378
+-77.222 42.564 3380
+-77.096 42.564 3382
+-76.97 42.564 3384
+-76.844 42.564 3386
+-76.718 42.564 3476
+-76.592 42.564 3478
+-76.466 42.564 3467
+-76.34 42.564 3468
+-76.214 42.564 3470
+-76.088 42.564 3472
+-75.962 42.564 3473
+-75.836 42.564 3475
+-75.71 42.564 3477
+-75.584 42.564 3478
+-75.458 42.564 3479
+-75.332 42.564 3481
+-75.206 42.564 3482
+-75.08 42.564 3510
+-74.954 42.564 3512
+-74.828 42.564 3514
+-74.702 42.564 3515
+-74.576 42.564 3517
+-74.45 42.564 3518
+-74.324 42.564 3483
+-74.198 42.564 3485
+-74.072 42.564 3486
+-73.946 42.564 3487
+-73.82 42.564 3516
+-73.694 42.564 3518
+-73.568 42.564 3520
+-73.442 42.564 3478
+-73.316 42.564 3480
+-73.19 42.564 3481
+-73.064 42.564 3613
+-72.938 42.564 3613
+-72.812 42.564 3614
+-72.686 42.564 3615
+-72.56 42.564 3616
+-72.434 42.564 3554
+-72.308 42.564 3554
+-72.182 42.564 3555
+-72.056 42.564 3555
+-71.93 42.564 3556
+-71.804 42.564 3556
+-71.678 42.564 3556
+-71.552 42.564 3557
+-71.426 42.564 3557
+-71.3 42.564 3557
+-71.174 42.564 3537
+-71.048 42.564 3525
+-70.922 42.564 3526
+-70.796 42.564 3526
+-70.67 42.564 3526
+-70.544 42.564 3527
+-70.418 42.564 3527
+-70.292 42.564 3509
+-70.166 42.564 3510
+-70.04 42.564 3510
+-69.914 42.564 3510
+-69.788 42.564 3511
+-69.662 42.564 3511
+-69.536 42.564 3511
+-69.41 42.564 3511
+-69.284 42.564 3459
+-69.158 42.564 3459
+-69.032 42.564 3460
+-68.906 42.564 3460
+-68.78 42.564 3460
+-68.654 42.564 3460
+-68.528 42.564 3460
+-68.402 42.564 3461
+-68.276 42.564 3461
+-68.15 42.564 3461
+-68.024 42.564 3461
+-67.898 42.564 3461
+-67.772 42.564 3462
+-67.646 42.564 3382
+-67.52 42.564 3382
+-67.394 42.564 3382
+-67.268 42.564 3382
+-67.142 42.564 3382
+-67.016 42.564 3382
+-66.89 42.564 3381
+-66.764 42.564 3381
+-66.638 42.564 3381
+-66.512 42.564 3381
+-66.386 42.564 3381
+-66.26 42.564 3381
+-66.134 42.564 3381
+-66.008 42.564 3381
+-65.882 42.564 3381
+-65.756 42.564 3381
+-65.63 42.564 3380
+-65.504 42.564 3380
+-65.378 42.564 3380
+-65.252 42.564 3380
+-65.126 42.564 3380
+-128 42.512 2649
+-127.874 42.512 2732
+-127.748 42.512 2861
+-127.622 42.512 3007
+-127.496 42.512 3142
+-127.37 42.512 3216
+-127.244 42.512 3280
+-127.118 42.512 3341
+-126.992 42.512 3396
+-126.866 42.512 3429
+-126.74 42.512 3464
+-126.614 42.512 3506
+-126.488 42.512 3559
+-126.362 42.512 3651
+-126.236 42.512 3778
+-126.11 42.512 3848
+-125.984 42.512 3916
+-125.858 42.512 3928
+-125.732 42.512 3954
+-125.606 42.512 4009
+-125.48 42.512 4043
+-125.354 42.512 4080
+-125.228 42.512 4138
+-125.102 42.512 4168
+-124.976 42.512 4222
+-124.85 42.512 4287
+-124.724 42.512 4335
+-124.598 42.512 4361
+-124.472 42.512 4362
+-124.346 42.512 4377
+-124.22 42.512 4406
+-124.094 42.512 4471
+-123.968 42.512 4515
+-123.842 42.512 4557
+-123.716 42.512 4617
+-123.59 42.512 4662
+-123.464 42.512 4675
+-123.338 42.512 4680
+-123.212 42.512 4684
+-123.086 42.512 4686
+-122.96 42.512 4683
+-122.834 42.512 4666
+-122.708 42.512 4688
+-122.582 42.512 4702
+-122.456 42.512 4675
+-122.33 42.512 4641
+-122.204 42.512 4612
+-122.078 42.512 4610
+-121.952 42.512 4568
+-121.826 42.512 4522
+-121.7 42.512 4503
+-121.574 42.512 4440
+-121.448 42.512 4359
+-121.322 42.512 4262
+-121.196 42.512 4382
+-121.07 42.512 4476
+-120.944 42.512 4572
+-120.818 42.512 4669
+-120.692 42.512 4710
+-120.566 42.512 4804
+-120.44 42.512 4865
+-120.314 42.512 4932
+-120.188 42.512 4971
+-120.062 42.512 5020
+-119.936 42.512 5073
+-119.81 42.512 5158
+-119.684 42.512 5183
+-119.558 42.512 5243
+-119.432 42.512 5265
+-119.306 42.512 5318
+-119.18 42.512 5382
+-119.054 42.512 5407
+-118.928 42.512 5419
+-118.802 42.512 5414
+-118.676 42.512 5412
+-118.55 42.512 5415
+-118.424 42.512 5425
+-118.298 42.512 5436
+-118.172 42.512 5400
+-118.046 42.512 5412
+-117.92 42.512 5397
+-117.794 42.512 5391
+-117.668 42.512 5382
+-117.542 42.512 5351
+-117.416 42.512 5324
+-117.29 42.512 5309
+-117.164 42.512 5290
+-117.038 42.512 5209
+-116.912 42.512 5139
+-116.786 42.512 5118
+-116.66 42.512 5062
+-116.534 42.512 5041
+-116.408 42.512 4986
+-116.282 42.512 4951
+-116.156 42.512 4891
+-116.03 42.512 4826
+-115.904 42.512 4735
+-115.778 42.512 4668
+-115.652 42.512 4589
+-115.526 42.512 4540
+-115.4 42.512 4505
+-115.274 42.512 4468
+-115.148 42.512 4401
+-115.022 42.512 4277
+-114.896 42.512 4226
+-114.77 42.512 4164
+-114.644 42.512 4096
+-114.518 42.512 3987
+-114.392 42.512 3879
+-114.266 42.512 3742
+-114.14 42.512 3550
+-114.014 42.512 3345
+-113.888 42.512 3252
+-113.762 42.512 3263
+-113.636 42.512 3292
+-113.51 42.512 3289
+-113.384 42.512 3215
+-113.258 42.512 3126
+-113.132 42.512 3039
+-113.006 42.512 2904
+-112.88 42.512 2717
+-112.754 42.512 2542
+-112.628 42.512 2351
+-112.502 42.512 2174
+-112.376 42.512 2010
+-112.25 42.512 1835
+-112.124 42.512 1752
+-111.998 42.512 1807
+-111.872 42.512 1934
+-111.746 42.512 2065
+-111.62 42.512 2190
+-111.494 42.512 2298
+-111.368 42.512 2391
+-111.242 42.512 2470
+-111.116 42.512 2538
+-110.99 42.512 2595
+-110.864 42.512 2639
+-110.738 42.512 2681
+-110.612 42.512 2718
+-110.486 42.512 2750
+-110.36 42.512 2738
+-110.234 42.512 2762
+-110.108 42.512 2783
+-109.982 42.512 2802
+-109.856 42.512 2818
+-109.73 42.512 2833
+-109.604 42.512 2847
+-109.478 42.512 2860
+-109.352 42.512 2871
+-109.226 42.512 2882
+-109.1 42.512 2823
+-108.974 42.512 2833
+-108.848 42.512 2842
+-108.722 42.512 2757
+-108.596 42.512 2765
+-108.47 42.512 2771
+-108.344 42.512 2776
+-108.218 42.512 2782
+-108.092 42.512 2770
+-107.966 42.512 2776
+-107.84 42.512 2667
+-107.714 42.512 2670
+-107.588 42.512 2742
+-107.462 42.512 2675
+-107.336 42.512 2659
+-107.21 42.512 2655
+-107.084 42.512 2658
+-106.958 42.512 2662
+-106.832 42.512 2665
+-106.706 42.512 2667
+-106.58 42.512 2638
+-106.454 42.512 2640
+-106.328 42.512 2643
+-106.202 42.512 2645
+-106.076 42.512 2541
+-105.95 42.512 2366
+-105.824 42.512 2356
+-105.698 42.512 2345
+-105.572 42.512 2334
+-105.446 42.512 2322
+-105.32 42.512 2309
+-105.194 42.512 2130
+-105.068 42.512 2035
+-104.942 42.512 1997
+-104.816 42.512 2003
+-104.69 42.512 2015
+-104.564 42.512 1961
+-104.438 42.512 1955
+-104.312 42.512 1899
+-104.186 42.512 1859
+-104.06 42.512 1921
+-103.934 42.512 1938
+-103.808 42.512 2108
+-103.682 42.512 2182
+-103.556 42.512 2179
+-103.43 42.512 2225
+-103.304 42.512 2367
+-103.178 42.512 2374
+-103.052 42.512 2399
+-102.926 42.512 2392
+-102.8 42.512 2384
+-102.674 42.512 2377
+-102.548 42.512 2411
+-102.422 42.512 2402
+-102.296 42.512 2393
+-102.17 42.512 2383
+-102.044 42.512 2373
+-101.918 42.512 2362
+-101.792 42.512 2351
+-101.666 42.512 2364
+-101.54 42.512 2402
+-101.414 42.512 2390
+-101.288 42.512 2378
+-101.162 42.512 2364
+-101.036 42.512 2350
+-100.91 42.512 2335
+-100.784 42.512 2320
+-100.658 42.512 2312
+-100.532 42.512 2338
+-100.406 42.512 2330
+-100.28 42.512 2344
+-100.154 42.512 2324
+-100.028 42.512 2304
+-99.902 42.512 2283
+-99.776 42.512 2262
+-99.65 42.512 2242
+-99.524 42.512 2222
+-99.398 42.512 2204
+-99.272 42.512 2227
+-99.146 42.512 2324
+-99.02 42.512 2313
+-98.894 42.512 2308
+-98.768 42.512 2309
+-98.642 42.512 2320
+-98.516 42.512 2352
+-98.39 42.512 2384
+-98.264 42.512 2413
+-98.138 42.512 2473
+-98.012 42.512 2513
+-97.886 42.512 2564
+-97.76 42.512 2609
+-97.634 42.512 2654
+-97.508 42.512 2696
+-97.382 42.512 2736
+-97.256 42.512 2772
+-97.13 42.512 2836
+-97.004 42.512 2864
+-96.878 42.512 2888
+-96.752 42.512 2908
+-96.626 42.512 2900
+-96.5 42.512 2950
+-96.374 42.512 2957
+-96.248 42.512 2985
+-96.122 42.512 2998
+-95.996 42.512 3088
+-95.87 42.512 3109
+-95.744 42.512 3133
+-95.618 42.512 3228
+-95.492 42.512 3276
+-95.366 42.512 3323
+-95.24 42.512 3365
+-95.114 42.512 3405
+-94.988 42.512 3401
+-94.862 42.512 3346
+-94.736 42.512 3276
+-94.61 42.512 3427
+-94.484 42.512 3544
+-94.358 42.512 3609
+-94.232 42.512 3666
+-94.106 42.512 3747
+-93.98 42.512 3870
+-93.854 42.512 4004
+-93.728 42.512 4147
+-93.602 42.512 4297
+-93.476 42.512 4406
+-93.35 42.512 4485
+-93.224 42.512 4505
+-93.098 42.512 4462
+-92.972 42.512 4549
+-92.846 42.512 4615
+-92.72 42.512 4675
+-92.594 42.512 4768
+-92.468 42.512 4851
+-92.342 42.512 4923
+-92.216 42.512 4937
+-92.09 42.512 5001
+-91.964 42.512 5062
+-91.838 42.512 5120
+-91.712 42.512 5177
+-91.586 42.512 5241
+-91.46 42.512 5273
+-91.334 42.512 5285
+-91.208 42.512 5297
+-91.082 42.512 5333
+-90.956 42.512 5320
+-90.83 42.512 5372
+-90.704 42.512 5342
+-90.578 42.512 5333
+-90.452 42.512 5333
+-90.326 42.512 5334
+-90.2 42.512 5337
+-90.074 42.512 5327
+-89.948 42.512 5332
+-89.822 42.512 5318
+-89.696 42.512 5309
+-89.57 42.512 5287
+-89.444 42.512 5263
+-89.318 42.512 5202
+-89.192 42.512 5146
+-89.066 42.512 5111
+-88.94 42.512 5043
+-88.814 42.512 5026
+-88.688 42.512 4971
+-88.562 42.512 4926
+-88.436 42.512 4843
+-88.31 42.512 4755
+-88.184 42.512 4732
+-88.058 42.512 4612
+-87.932 42.512 4534
+-87.806 42.512 4519
+-87.68 42.512 4408
+-87.554 42.512 4366
+-87.428 42.512 4207
+-87.302 42.512 4271
+-87.176 42.512 4252
+-87.05 42.512 4181
+-86.924 42.512 4105
+-86.798 42.512 4001
+-86.672 42.512 3884
+-86.546 42.512 3819
+-86.42 42.512 3783
+-86.294 42.512 3714
+-86.168 42.512 3604
+-86.042 42.512 3516
+-85.916 42.512 3463
+-85.79 42.512 3399
+-85.664 42.512 3334
+-85.538 42.512 3220
+-85.412 42.512 3272
+-85.286 42.512 3277
+-85.16 42.512 3254
+-85.034 42.512 3216
+-84.908 42.512 3169
+-84.782 42.512 3111
+-84.656 42.512 3036
+-84.53 42.512 2937
+-84.404 42.512 2811
+-84.278 42.512 2680
+-84.152 42.512 2622
+-84.026 42.512 2640
+-83.9 42.512 2707
+-83.774 42.512 2775
+-83.648 42.512 2842
+-83.522 42.512 2897
+-83.396 42.512 2942
+-83.27 42.512 2978
+-83.144 42.512 3008
+-83.018 42.512 3033
+-82.892 42.512 3054
+-82.766 42.512 3113
+-82.64 42.512 3132
+-82.514 42.512 3149
+-82.388 42.512 3164
+-82.262 42.512 3136
+-82.136 42.512 3168
+-82.01 42.512 3181
+-81.884 42.512 3137
+-81.758 42.512 3186
+-81.632 42.512 3196
+-81.506 42.512 3195
+-81.38 42.512 3241
+-81.254 42.512 3207
+-81.128 42.512 3210
+-81.002 42.512 3218
+-80.876 42.512 3279
+-80.75 42.512 3248
+-80.624 42.512 3255
+-80.498 42.512 3357
+-80.372 42.512 3344
+-80.246 42.512 3351
+-80.12 42.512 3315
+-79.994 42.512 3379
+-79.868 42.512 3383
+-79.742 42.512 3389
+-79.616 42.512 3394
+-79.49 42.512 3398
+-79.364 42.512 3398
+-79.238 42.512 3402
+-79.112 42.512 3407
+-78.986 42.512 3397
+-78.86 42.512 3356
+-78.734 42.512 3353
+-78.608 42.512 3356
+-78.482 42.512 3359
+-78.356 42.512 3362
+-78.23 42.512 3365
+-78.104 42.512 3367
+-77.978 42.512 3370
+-77.852 42.512 3372
+-77.726 42.512 3375
+-77.6 42.512 3377
+-77.474 42.512 3379
+-77.348 42.512 3381
+-77.222 42.512 3383
+-77.096 42.512 3385
+-76.97 42.512 3386
+-76.844 42.512 3476
+-76.718 42.512 3478
+-76.592 42.512 3466
+-76.466 42.512 3468
+-76.34 42.512 3470
+-76.214 42.512 3472
+-76.088 42.512 3473
+-75.962 42.512 3475
+-75.836 42.512 3476
+-75.71 42.512 3478
+-75.584 42.512 3479
+-75.458 42.512 3481
+-75.332 42.512 3482
+-75.206 42.512 3510
+-75.08 42.512 3511
+-74.954 42.512 3513
+-74.828 42.512 3515
+-74.702 42.512 3517
+-74.576 42.512 3518
+-74.45 42.512 3483
+-74.324 42.512 3485
+-74.198 42.512 3486
+-74.072 42.512 3487
+-73.946 42.512 3516
+-73.82 42.512 3518
+-73.694 42.512 3519
+-73.568 42.512 3478
+-73.442 42.512 3480
+-73.316 42.512 3481
+-73.19 42.512 3612
+-73.064 42.512 3613
+-72.938 42.512 3614
+-72.812 42.512 3614
+-72.686 42.512 3615
+-72.56 42.512 3554
+-72.434 42.512 3554
+-72.308 42.512 3554
+-72.182 42.512 3555
+-72.056 42.512 3555
+-71.93 42.512 3556
+-71.804 42.512 3556
+-71.678 42.512 3556
+-71.552 42.512 3557
+-71.426 42.512 3557
+-71.3 42.512 3537
+-71.174 42.512 3525
+-71.048 42.512 3525
+-70.922 42.512 3526
+-70.796 42.512 3526
+-70.67 42.512 3526
+-70.544 42.512 3509
+-70.418 42.512 3509
+-70.292 42.512 3509
+-70.166 42.512 3510
+-70.04 42.512 3510
+-69.914 42.512 3510
+-69.788 42.512 3511
+-69.662 42.512 3511
+-69.536 42.512 3511
+-69.41 42.512 3459
+-69.284 42.512 3459
+-69.158 42.512 3459
+-69.032 42.512 3460
+-68.906 42.512 3460
+-68.78 42.512 3460
+-68.654 42.512 3460
+-68.528 42.512 3460
+-68.402 42.512 3461
+-68.276 42.512 3461
+-68.15 42.512 3461
+-68.024 42.512 3461
+-67.898 42.512 3461
+-67.772 42.512 3382
+-67.646 42.512 3382
+-67.52 42.512 3382
+-67.394 42.512 3382
+-67.268 42.512 3382
+-67.142 42.512 3382
+-67.016 42.512 3381
+-66.89 42.512 3381
+-66.764 42.512 3381
+-66.638 42.512 3381
+-66.512 42.512 3381
+-66.386 42.512 3381
+-66.26 42.512 3381
+-66.134 42.512 3381
+-66.008 42.512 3381
+-65.882 42.512 3381
+-65.756 42.512 3380
+-65.63 42.512 3380
+-65.504 42.512 3380
+-65.378 42.512 3380
+-65.252 42.512 3380
+-65.126 42.512 3380
+-128 42.46 2392
+-127.874 42.46 2475
+-127.748 42.46 2652
+-127.622 42.46 2884
+-127.496 42.46 3047
+-127.37 42.46 3174
+-127.244 42.46 3278
+-127.118 42.46 3360
+-126.992 42.46 3403
+-126.866 42.46 3440
+-126.74 42.46 3481
+-126.614 42.46 3525
+-126.488 42.46 3576
+-126.362 42.46 3635
+-126.236 42.46 3752
+-126.11 42.46 3849
+-125.984 42.46 3869
+-125.858 42.46 3892
+-125.732 42.46 3899
+-125.606 42.46 3917
+-125.48 42.46 3973
+-125.354 42.46 4011
+-125.228 42.46 4055
+-125.102 42.46 4078
+-124.976 42.46 4135
+-124.85 42.46 4221
+-124.724 42.46 4285
+-124.598 42.46 4322
+-124.472 42.46 4352
+-124.346 42.46 4343
+-124.22 42.46 4351
+-124.094 42.46 4385
+-123.968 42.46 4436
+-123.842 42.46 4484
+-123.716 42.46 4523
+-123.59 42.46 4563
+-123.464 42.46 4586
+-123.338 42.46 4604
+-123.212 42.46 4627
+-123.086 42.46 4620
+-122.96 42.46 4631
+-122.834 42.46 4641
+-122.708 42.46 4632
+-122.582 42.46 4627
+-122.456 42.46 4611
+-122.33 42.46 4578
+-122.204 42.46 4548
+-122.078 42.46 4555
+-121.952 42.46 4507
+-121.826 42.46 4456
+-121.7 42.46 4470
+-121.574 42.46 4431
+-121.448 42.46 4380
+-121.322 42.46 4366
+-121.196 42.46 4406
+-121.07 42.46 4468
+-120.944 42.46 4552
+-120.818 42.46 4592
+-120.692 42.46 4675
+-120.566 42.46 4743
+-120.44 42.46 4813
+-120.314 42.46 4886
+-120.188 42.46 4953
+-120.062 42.46 4984
+-119.936 42.46 5030
+-119.81 42.46 5098
+-119.684 42.46 5133
+-119.558 42.46 5184
+-119.432 42.46 5230
+-119.306 42.46 5263
+-119.18 42.46 5311
+-119.054 42.46 5335
+-118.928 42.46 5367
+-118.802 42.46 5372
+-118.676 42.46 5362
+-118.55 42.46 5351
+-118.424 42.46 5350
+-118.298 42.46 5362
+-118.172 42.46 5368
+-118.046 42.46 5359
+-117.92 42.46 5335
+-117.794 42.46 5325
+-117.668 42.46 5313
+-117.542 42.46 5277
+-117.416 42.46 5261
+-117.29 42.46 5252
+-117.164 42.46 5226
+-117.038 42.46 5189
+-116.912 42.46 5139
+-116.786 42.46 5059
+-116.66 42.46 4974
+-116.534 42.46 4995
+-116.408 42.46 4934
+-116.282 42.46 4862
+-116.156 42.46 4802
+-116.03 42.46 4751
+-115.904 42.46 4675
+-115.778 42.46 4593
+-115.652 42.46 4500
+-115.526 42.46 4463
+-115.4 42.46 4437
+-115.274 42.46 4403
+-115.148 42.46 4348
+-115.022 42.46 4221
+-114.896 42.46 4170
+-114.77 42.46 4112
+-114.644 42.46 4033
+-114.518 42.46 3977
+-114.392 42.46 3844
+-114.266 42.46 3671
+-114.14 42.46 3488
+-114.014 42.46 3257
+-113.888 42.46 3181
+-113.762 42.46 3220
+-113.636 42.46 3271
+-113.51 42.46 3283
+-113.384 42.46 3249
+-113.258 42.46 3127
+-113.132 42.46 3033
+-113.006 42.46 2913
+-112.88 42.46 2761
+-112.754 42.46 2602
+-112.628 42.46 2412
+-112.502 42.46 2247
+-112.376 42.46 2103
+-112.25 42.46 1980
+-112.124 42.46 1918
+-111.998 42.46 1941
+-111.872 42.46 2026
+-111.746 42.46 2131
+-111.62 42.46 2228
+-111.494 42.46 2323
+-111.368 42.46 2406
+-111.242 42.46 2478
+-111.116 42.46 2540
+-110.99 42.46 2594
+-110.864 42.46 2636
+-110.738 42.46 2677
+-110.612 42.46 2657
+-110.486 42.46 2703
+-110.36 42.46 2729
+-110.234 42.46 2752
+-110.108 42.46 2773
+-109.982 42.46 2792
+-109.856 42.46 2808
+-109.73 42.46 2824
+-109.604 42.46 2837
+-109.478 42.46 2850
+-109.352 42.46 2862
+-109.226 42.46 2872
+-109.1 42.46 2882
+-108.974 42.46 2823
+-108.848 42.46 2739
+-108.722 42.46 2746
+-108.596 42.46 2753
+-108.47 42.46 2759
+-108.344 42.46 2766
+-108.218 42.46 2771
+-108.092 42.46 2660
+-107.966 42.46 2650
+-107.84 42.46 2653
+-107.714 42.46 2657
+-107.588 42.46 2660
+-107.462 42.46 2731
+-107.336 42.46 2665
+-107.21 42.46 2649
+-107.084 42.46 2645
+-106.958 42.46 2649
+-106.832 42.46 2652
+-106.706 42.46 2655
+-106.58 42.46 2658
+-106.454 42.46 2629
+-106.328 42.46 2631
+-106.202 42.46 2634
+-106.076 42.46 2528
+-105.95 42.46 2354
+-105.824 42.46 2344
+-105.698 42.46 2333
+-105.572 42.46 2321
+-105.446 42.46 2309
+-105.32 42.46 2297
+-105.194 42.46 2119
+-105.068 42.46 2025
+-104.942 42.46 1987
+-104.816 42.46 1994
+-104.69 42.46 2007
+-104.564 42.46 1954
+-104.438 42.46 1948
+-104.312 42.46 1896
+-104.186 42.46 1856
+-104.06 42.46 1919
+-103.934 42.46 1937
+-103.808 42.46 2108
+-103.682 42.46 2181
+-103.556 42.46 2178
+-103.43 42.46 2223
+-103.304 42.46 2355
+-103.178 42.46 2358
+-103.052 42.46 2365
+-102.926 42.46 2389
+-102.8 42.46 2382
+-102.674 42.46 2374
+-102.548 42.46 2365
+-102.422 42.46 2399
+-102.296 42.46 2389
+-102.17 42.46 2379
+-102.044 42.46 2368
+-101.918 42.46 2357
+-101.792 42.46 2345
+-101.666 42.46 2333
+-101.54 42.46 2346
+-101.414 42.46 2383
+-101.288 42.46 2369
+-101.162 42.46 2355
+-101.036 42.46 2340
+-100.91 42.46 2324
+-100.784 42.46 2307
+-100.658 42.46 2289
+-100.532 42.46 2278
+-100.406 42.46 2300
+-100.28 42.46 2290
+-100.154 42.46 2299
+-100.028 42.46 2276
+-99.902 42.46 2251
+-99.776 42.46 2226
+-99.65 42.46 2201
+-99.524 42.46 2177
+-99.398 42.46 2153
+-99.272 42.46 2131
+-99.146 42.46 2155
+-99.02 42.46 2244
+-98.894 42.46 2235
+-98.768 42.46 2232
+-98.642 42.46 2237
+-98.516 42.46 2257
+-98.39 42.46 2297
+-98.264 42.46 2340
+-98.138 42.46 2382
+-98.012 42.46 2453
+-97.886 42.46 2505
+-97.76 42.46 2566
+-97.634 42.46 2620
+-97.508 42.46 2671
+-97.382 42.46 2720
+-97.256 42.46 2764
+-97.13 42.46 2804
+-97.004 42.46 2871
+-96.878 42.46 2902
+-96.752 42.46 2929
+-96.626 42.46 2953
+-96.5 42.46 2984
+-96.374 42.46 3005
+-96.248 42.46 3018
+-96.122 42.46 3054
+-95.996 42.46 3159
+-95.87 42.46 3177
+-95.744 42.46 3210
+-95.618 42.46 3244
+-95.492 42.46 3344
+-95.366 42.46 3384
+-95.24 42.46 3413
+-95.114 42.46 3429
+-94.988 42.46 3435
+-94.862 42.46 3415
+-94.736 42.46 3397
+-94.61 42.46 3491
+-94.484 42.46 3526
+-94.358 42.46 3584
+-94.232 42.46 3702
+-94.106 42.46 3812
+-93.98 42.46 3951
+-93.854 42.46 4088
+-93.728 42.46 4209
+-93.602 42.46 4352
+-93.476 42.46 4480
+-93.35 42.46 4536
+-93.224 42.46 4569
+-93.098 42.46 4553
+-92.972 42.46 4604
+-92.846 42.46 4680
+-92.72 42.46 4754
+-92.594 42.46 4850
+-92.468 42.46 4914
+-92.342 42.46 4955
+-92.216 42.46 4993
+-92.09 42.46 5075
+-91.964 42.46 5144
+-91.838 42.46 5159
+-91.712 42.46 5235
+-91.586 42.46 5278
+-91.46 42.46 5313
+-91.334 42.46 5320
+-91.208 42.46 5337
+-91.082 42.46 5356
+-90.956 42.46 5369
+-90.83 42.46 5387
+-90.704 42.46 5416
+-90.578 42.46 5442
+-90.452 42.46 5425
+-90.326 42.46 5403
+-90.2 42.46 5413
+-90.074 42.46 5415
+-89.948 42.46 5416
+-89.822 42.46 5395
+-89.696 42.46 5359
+-89.57 42.46 5306
+-89.444 42.46 5327
+-89.318 42.46 5294
+-89.192 42.46 5211
+-89.066 42.46 5175
+-88.94 42.46 5120
+-88.814 42.46 5051
+-88.688 42.46 5002
+-88.562 42.46 4948
+-88.436 42.46 4865
+-88.31 42.46 4835
+-88.184 42.46 4768
+-88.058 42.46 4658
+-87.932 42.46 4582
+-87.806 42.46 4521
+-87.68 42.46 4456
+-87.554 42.46 4414
+-87.428 42.46 4331
+-87.302 42.46 4248
+-87.176 42.46 4269
+-87.05 42.46 4231
+-86.924 42.46 4192
+-86.798 42.46 4056
+-86.672 42.46 3931
+-86.546 42.46 3827
+-86.42 42.46 3803
+-86.294 42.46 3765
+-86.168 42.46 3640
+-86.042 42.46 3550
+-85.916 42.46 3534
+-85.79 42.46 3453
+-85.664 42.46 3374
+-85.538 42.46 3319
+-85.412 42.46 3311
+-85.286 42.46 3313
+-85.16 42.46 3294
+-85.034 42.46 3259
+-84.908 42.46 3212
+-84.782 42.46 3147
+-84.656 42.46 3054
+-84.53 42.46 2918
+-84.404 42.46 2724
+-84.278 42.46 2546
+-84.152 42.46 2462
+-84.026 42.46 2515
+-83.9 42.46 2628
+-83.774 42.46 2738
+-83.648 42.46 2827
+-83.522 42.46 2895
+-83.396 42.46 2946
+-83.27 42.46 2985
+-83.144 42.46 3017
+-83.018 42.46 3042
+-82.892 42.46 3104
+-82.766 42.46 3126
+-82.64 42.46 3144
+-82.514 42.46 3161
+-82.388 42.46 3133
+-82.262 42.46 3166
+-82.136 42.46 3179
+-82.01 42.46 3137
+-81.884 42.46 3185
+-81.758 42.46 3196
+-81.632 42.46 3195
+-81.506 42.46 3242
+-81.38 42.46 3208
+-81.254 42.46 3211
+-81.128 42.46 3219
+-81.002 42.46 3279
+-80.876 42.46 3248
+-80.75 42.46 3255
+-80.624 42.46 3356
+-80.498 42.46 3344
+-80.372 42.46 3351
+-80.246 42.46 3315
+-80.12 42.46 3379
+-79.994 42.46 3383
+-79.868 42.46 3388
+-79.742 42.46 3394
+-79.616 42.46 3399
+-79.49 42.46 3398
+-79.364 42.46 3402
+-79.238 42.46 3407
+-79.112 42.46 3397
+-78.986 42.46 3356
+-78.86 42.46 3353
+-78.734 42.46 3357
+-78.608 42.46 3360
+-78.482 42.46 3363
+-78.356 42.46 3365
+-78.23 42.46 3368
+-78.104 42.46 3371
+-77.978 42.46 3373
+-77.852 42.46 3375
+-77.726 42.46 3377
+-77.6 42.46 3380
+-77.474 42.46 3382
+-77.348 42.46 3383
+-77.222 42.46 3385
+-77.096 42.46 3387
+-76.97 42.46 3475
+-76.844 42.46 3477
+-76.718 42.46 3466
+-76.592 42.46 3468
+-76.466 42.46 3469
+-76.34 42.46 3471
+-76.214 42.46 3473
+-76.088 42.46 3474
+-75.962 42.46 3476
+-75.836 42.46 3478
+-75.71 42.46 3479
+-75.584 42.46 3480
+-75.458 42.46 3482
+-75.332 42.46 3509
+-75.206 42.46 3511
+-75.08 42.46 3513
+-74.954 42.46 3515
+-74.828 42.46 3516
+-74.702 42.46 3518
+-74.576 42.46 3483
+-74.45 42.46 3485
+-74.324 42.46 3486
+-74.198 42.46 3487
+-74.072 42.46 3516
+-73.946 42.46 3517
+-73.82 42.46 3519
+-73.694 42.46 3478
+-73.568 42.46 3479
+-73.442 42.46 3481
+-73.316 42.46 3612
+-73.19 42.46 3612
+-73.064 42.46 3613
+-72.938 42.46 3614
+-72.812 42.46 3615
+-72.686 42.46 3553
+-72.56 42.46 3554
+-72.434 42.46 3554
+-72.308 42.46 3555
+-72.182 42.46 3555
+-72.056 42.46 3555
+-71.93 42.46 3556
+-71.804 42.46 3556
+-71.678 42.46 3556
+-71.552 42.46 3557
+-71.426 42.46 3536
+-71.3 42.46 3525
+-71.174 42.46 3525
+-71.048 42.46 3525
+-70.922 42.46 3526
+-70.796 42.46 3526
+-70.67 42.46 3527
+-70.544 42.46 3509
+-70.418 42.46 3509
+-70.292 42.46 3510
+-70.166 42.46 3510
+-70.04 42.46 3510
+-69.914 42.46 3510
+-69.788 42.46 3511
+-69.662 42.46 3511
+-69.536 42.46 3459
+-69.41 42.46 3459
+-69.284 42.46 3459
+-69.158 42.46 3459
+-69.032 42.46 3460
+-68.906 42.46 3460
+-68.78 42.46 3460
+-68.654 42.46 3460
+-68.528 42.46 3460
+-68.402 42.46 3461
+-68.276 42.46 3461
+-68.15 42.46 3461
+-68.024 42.46 3461
+-67.898 42.46 3382
+-67.772 42.46 3382
+-67.646 42.46 3382
+-67.52 42.46 3382
+-67.394 42.46 3382
+-67.268 42.46 3382
+-67.142 42.46 3381
+-67.016 42.46 3381
+-66.89 42.46 3381
+-66.764 42.46 3381
+-66.638 42.46 3381
+-66.512 42.46 3381
+-66.386 42.46 3381
+-66.26 42.46 3381
+-66.134 42.46 3381
+-66.008 42.46 3381
+-65.882 42.46 3380
+-65.756 42.46 3380
+-65.63 42.46 3380
+-65.504 42.46 3380
+-65.378 42.46 3380
+-65.252 42.46 3380
+-65.126 42.46 3380
+-128 42.408 2179
+-127.874 42.408 2268
+-127.748 42.408 2490
+-127.622 42.408 2744
+-127.496 42.408 2948
+-127.37 42.408 3148
+-127.244 42.408 3275
+-127.118 42.408 3344
+-126.992 42.408 3392
+-126.866 42.408 3436
+-126.74 42.408 3475
+-126.614 42.408 3518
+-126.488 42.408 3567
+-126.362 42.408 3633
+-126.236 42.408 3733
+-126.11 42.408 3783
+-125.984 42.408 3823
+-125.858 42.408 3838
+-125.732 42.408 3832
+-125.606 42.408 3823
+-125.48 42.408 3894
+-125.354 42.408 3936
+-125.228 42.408 4003
+-125.102 42.408 4036
+-124.976 42.408 4078
+-124.85 42.408 4160
+-124.724 42.408 4242
+-124.598 42.408 4279
+-124.472 42.408 4295
+-124.346 42.408 4293
+-124.22 42.408 4302
+-124.094 42.408 4319
+-123.968 42.408 4352
+-123.842 42.408 4424
+-123.716 42.408 4468
+-123.59 42.408 4498
+-123.464 42.408 4511
+-123.338 42.408 4542
+-123.212 42.408 4555
+-123.086 42.408 4553
+-122.96 42.408 4550
+-122.834 42.408 4566
+-122.708 42.408 4569
+-122.582 42.408 4552
+-122.456 42.408 4532
+-122.33 42.408 4528
+-122.204 42.408 4517
+-122.078 42.408 4510
+-121.952 42.408 4483
+-121.826 42.408 4462
+-121.7 42.408 4438
+-121.574 42.408 4393
+-121.448 42.408 4372
+-121.322 42.408 4376
+-121.196 42.408 4406
+-121.07 42.408 4376
+-120.944 42.408 4503
+-120.818 42.408 4537
+-120.692 42.408 4590
+-120.566 42.408 4667
+-120.44 42.408 4723
+-120.314 42.408 4808
+-120.188 42.408 4904
+-120.062 42.408 4948
+-119.936 42.408 4987
+-119.81 42.408 5021
+-119.684 42.408 5054
+-119.558 42.408 5091
+-119.432 42.408 5143
+-119.306 42.408 5182
+-119.18 42.408 5210
+-119.054 42.408 5248
+-118.928 42.408 5266
+-118.802 42.408 5299
+-118.676 42.408 5308
+-118.55 42.408 5316
+-118.424 42.408 5310
+-118.298 42.408 5322
+-118.172 42.408 5340
+-118.046 42.408 5312
+-117.92 42.408 5312
+-117.794 42.408 5279
+-117.668 42.408 5250
+-117.542 42.408 5235
+-117.416 42.408 5217
+-117.29 42.408 5190
+-117.164 42.408 5151
+-117.038 42.408 5141
+-116.912 42.408 5091
+-116.786 42.408 5052
+-116.66 42.408 4990
+-116.534 42.408 4964
+-116.408 42.408 4858
+-116.282 42.408 4734
+-116.156 42.408 4666
+-116.03 42.408 4648
+-115.904 42.408 4591
+-115.778 42.408 4482
+-115.652 42.408 4410
+-115.526 42.408 4390
+-115.4 42.408 4373
+-115.274 42.408 4336
+-115.148 42.408 4271
+-115.022 42.408 4140
+-114.896 42.408 4085
+-114.77 42.408 4041
+-114.644 42.408 3981
+-114.518 42.408 3917
+-114.392 42.408 3810
+-114.266 42.408 3628
+-114.14 42.408 3473
+-114.014 42.408 3302
+-113.888 42.408 3228
+-113.762 42.408 3241
+-113.636 42.408 3267
+-113.51 42.408 3267
+-113.384 42.408 3237
+-113.258 42.408 3176
+-113.132 42.408 3047
+-113.006 42.408 2902
+-112.88 42.408 2780
+-112.754 42.408 2626
+-112.628 42.408 2490
+-112.502 42.408 2361
+-112.376 42.408 2234
+-112.25 42.408 2141
+-112.124 42.408 2094
+-111.998 42.408 2096
+-111.872 42.408 2142
+-111.746 42.408 2214
+-111.62 42.408 2294
+-111.494 42.408 2362
+-111.368 42.408 2433
+-111.242 42.408 2495
+-111.116 42.408 2550
+-110.99 42.408 2599
+-110.864 42.408 2643
+-110.738 42.408 2623
+-110.612 42.408 2668
+-110.486 42.408 2696
+-110.36 42.408 2721
+-110.234 42.408 2744
+-110.108 42.408 2764
+-109.982 42.408 2783
+-109.856 42.408 2799
+-109.73 42.408 2814
+-109.604 42.408 2828
+-109.478 42.408 2841
+-109.352 42.408 2853
+-109.226 42.408 2863
+-109.1 42.408 2770
+-108.974 42.408 2738
+-108.848 42.408 2729
+-108.722 42.408 2735
+-108.596 42.408 2741
+-108.47 42.408 2748
+-108.344 42.408 2755
+-108.218 42.408 2644
+-108.092 42.408 2632
+-107.966 42.408 2636
+-107.84 42.408 2640
+-107.714 42.408 2644
+-107.588 42.408 2647
+-107.462 42.408 2650
+-107.336 42.408 2721
+-107.21 42.408 2655
+-107.084 42.408 2639
+-106.958 42.408 2635
+-106.832 42.408 2639
+-106.706 42.408 2642
+-106.58 42.408 2645
+-106.454 42.408 2649
+-106.328 42.408 2620
+-106.202 42.408 2622
+-106.076 42.408 2516
+-105.95 42.408 2341
+-105.824 42.408 2331
+-105.698 42.408 2320
+-105.572 42.408 2309
+-105.446 42.408 2297
+-105.32 42.408 2284
+-105.194 42.408 2108
+-105.068 42.408 2096
+-104.942 42.408 1978
+-104.816 42.408 1985
+-104.69 42.408 2000
+-104.564 42.408 1948
+-104.438 42.408 1942
+-104.312 42.408 1893
+-104.186 42.408 1854
+-104.06 42.408 1917
+-103.934 42.408 1936
+-103.808 42.408 2107
+-103.682 42.408 2181
+-103.556 42.408 2177
+-103.43 42.408 2222
+-103.304 42.408 2354
+-103.178 42.408 2346
+-103.052 42.408 2348
+-102.926 42.408 2354
+-102.8 42.408 2379
+-102.674 42.408 2371
+-102.548 42.408 2362
+-102.422 42.408 2353
+-102.296 42.408 2386
+-102.17 42.408 2375
+-102.044 42.408 2364
+-101.918 42.408 2353
+-101.792 42.408 2340
+-101.666 42.408 2327
+-101.54 42.408 2314
+-101.414 42.408 2326
+-101.288 42.408 2361
+-101.162 42.408 2346
+-101.036 42.408 2329
+-100.91 42.408 2312
+-100.784 42.408 2294
+-100.658 42.408 2274
+-100.532 42.408 2253
+-100.406 42.408 2239
+-100.28 42.408 2256
+-100.154 42.408 2243
+-100.028 42.408 2246
+-99.902 42.408 2218
+-99.776 42.408 2189
+-99.65 42.408 2158
+-99.524 42.408 2128
+-99.398 42.408 2098
+-99.272 42.408 2069
+-99.146 42.408 2043
+-99.02 42.408 2066
+-98.894 42.408 2148
+-98.768 42.408 2141
+-98.642 42.408 2143
+-98.516 42.408 2157
+-98.39 42.408 2188
+-98.264 42.408 2241
+-98.138 42.408 2299
+-98.012 42.408 2356
+-97.886 42.408 2442
+-97.76 42.408 2507
+-97.634 42.408 2577
+-97.508 42.408 2640
+-97.382 42.408 2698
+-97.256 42.408 2751
+-97.13 42.408 2798
+-97.004 42.408 2841
+-96.878 42.408 2912
+-96.752 42.408 2945
+-96.626 42.408 2976
+-96.5 42.408 3003
+-96.374 42.408 3039
+-96.248 42.408 3066
+-96.122 42.408 3106
+-95.996 42.408 3216
+-95.87 42.408 3237
+-95.744 42.408 3263
+-95.618 42.408 3319
+-95.492 42.408 3352
+-95.366 42.408 3389
+-95.24 42.408 3511
+-95.114 42.408 3513
+-94.988 42.408 3505
+-94.862 42.408 3496
+-94.736 42.408 3504
+-94.61 42.408 3532
+-94.484 42.408 3557
+-94.358 42.408 3622
+-94.232 42.408 3749
+-94.106 42.408 3885
+-93.98 42.408 4016
+-93.854 42.408 4170
+-93.728 42.408 4286
+-93.602 42.408 4452
+-93.476 42.408 4538
+-93.35 42.408 4619
+-93.224 42.408 4651
+-93.098 42.408 4660
+-92.972 42.408 4688
+-92.846 42.408 4750
+-92.72 42.408 4817
+-92.594 42.408 4900
+-92.468 42.408 4947
+-92.342 42.408 4997
+-92.216 42.408 5091
+-92.09 42.408 5177
+-91.964 42.408 5219
+-91.838 42.408 5244
+-91.712 42.408 5279
+-91.586 42.408 5323
+-91.46 42.408 5377
+-91.334 42.408 5383
+-91.208 42.408 5428
+-91.082 42.408 5449
+-90.956 42.408 5471
+-90.83 42.408 5503
+-90.704 42.408 5508
+-90.578 42.408 5521
+-90.452 42.408 5522
+-90.326 42.408 5513
+-90.2 42.408 5500
+-90.074 42.408 5487
+-89.948 42.408 5496
+-89.822 42.408 5450
+-89.696 42.408 5440
+-89.57 42.408 5388
+-89.444 42.408 5372
+-89.318 42.408 5316
+-89.192 42.408 5282
+-89.066 42.408 5209
+-88.94 42.408 5190
+-88.814 42.408 5130
+-88.688 42.408 5073
+-88.562 42.408 5022
+-88.436 42.408 4942
+-88.31 42.408 4880
+-88.184 42.408 4782
+-88.058 42.408 4705
+-87.932 42.408 4622
+-87.806 42.408 4574
+-87.68 42.408 4514
+-87.554 42.408 4435
+-87.428 42.408 4341
+-87.302 42.408 4329
+-87.176 42.408 4309
+-87.05 42.408 4286
+-86.924 42.408 4227
+-86.798 42.408 4114
+-86.672 42.408 4008
+-86.546 42.408 3864
+-86.42 42.408 3819
+-86.294 42.408 3769
+-86.168 42.408 3679
+-86.042 42.408 3609
+-85.916 42.408 3582
+-85.79 42.408 3533
+-85.664 42.408 3466
+-85.538 42.408 3427
+-85.412 42.408 3383
+-85.286 42.408 3374
+-85.16 42.408 3356
+-85.034 42.408 3298
+-84.908 42.408 3253
+-84.782 42.408 3184
+-84.656 42.408 3078
+-84.53 42.408 2915
+-84.404 42.408 2699
+-84.278 42.408 2476
+-84.152 42.408 2380
+-84.026 42.408 2455
+-83.9 42.408 2598
+-83.774 42.408 2730
+-83.648 42.408 2830
+-83.522 42.408 2903
+-83.396 42.408 2957
+-83.27 42.408 2997
+-83.144 42.408 3029
+-83.018 42.408 3094
+-82.892 42.408 3119
+-82.766 42.408 3140
+-82.64 42.408 3158
+-82.514 42.408 3132
+-82.388 42.408 3165
+-82.262 42.408 3179
+-82.136 42.408 3137
+-82.01 42.408 3186
+-81.884 42.408 3197
+-81.758 42.408 3196
+-81.632 42.408 3242
+-81.506 42.408 3209
+-81.38 42.408 3213
+-81.254 42.408 3221
+-81.128 42.408 3280
+-81.002 42.408 3249
+-80.876 42.408 3257
+-80.75 42.408 3356
+-80.624 42.408 3345
+-80.498 42.408 3352
+-80.372 42.408 3316
+-80.246 42.408 3379
+-80.12 42.408 3383
+-79.994 42.408 3389
+-79.868 42.408 3394
+-79.742 42.408 3399
+-79.616 42.408 3398
+-79.49 42.408 3403
+-79.364 42.408 3407
+-79.238 42.408 3397
+-79.112 42.408 3357
+-78.986 42.408 3354
+-78.86 42.408 3357
+-78.734 42.408 3360
+-78.608 42.408 3363
+-78.482 42.408 3366
+-78.356 42.408 3369
+-78.23 42.408 3371
+-78.104 42.408 3374
+-77.978 42.408 3376
+-77.852 42.408 3378
+-77.726 42.408 3380
+-77.6 42.408 3382
+-77.474 42.408 3384
+-77.348 42.408 3386
+-77.222 42.408 3388
+-77.096 42.408 3474
+-76.97 42.408 3477
+-76.844 42.408 3465
+-76.718 42.408 3467
+-76.592 42.408 3469
+-76.466 42.408 3471
+-76.34 42.408 3473
+-76.214 42.408 3474
+-76.088 42.408 3476
+-75.962 42.408 3477
+-75.836 42.408 3479
+-75.71 42.408 3480
+-75.584 42.408 3482
+-75.458 42.408 3509
+-75.332 42.408 3511
+-75.206 42.408 3512
+-75.08 42.408 3514
+-74.954 42.408 3516
+-74.828 42.408 3518
+-74.702 42.408 3483
+-74.576 42.408 3484
+-74.45 42.408 3486
+-74.324 42.408 3487
+-74.198 42.408 3515
+-74.072 42.408 3517
+-73.946 42.408 3519
+-73.82 42.408 3478
+-73.694 42.408 3479
+-73.568 42.408 3481
+-73.442 42.408 3611
+-73.316 42.408 3612
+-73.19 42.408 3613
+-73.064 42.408 3613
+-72.938 42.408 3614
+-72.812 42.408 3553
+-72.686 42.408 3553
+-72.56 42.408 3554
+-72.434 42.408 3554
+-72.308 42.408 3555
+-72.182 42.408 3555
+-72.056 42.408 3555
+-71.93 42.408 3556
+-71.804 42.408 3556
+-71.678 42.408 3557
+-71.552 42.408 3536
+-71.426 42.408 3524
+-71.3 42.408 3525
+-71.174 42.408 3525
+-71.048 42.408 3526
+-70.922 42.408 3526
+-70.796 42.408 3508
+-70.67 42.408 3509
+-70.544 42.408 3509
+-70.418 42.408 3509
+-70.292 42.408 3510
+-70.166 42.408 3510
+-70.04 42.408 3510
+-69.914 42.408 3511
+-69.788 42.408 3511
+-69.662 42.408 3459
+-69.536 42.408 3459
+-69.41 42.408 3459
+-69.284 42.408 3459
+-69.158 42.408 3459
+-69.032 42.408 3460
+-68.906 42.408 3460
+-68.78 42.408 3460
+-68.654 42.408 3460
+-68.528 42.408 3460
+-68.402 42.408 3461
+-68.276 42.408 3461
+-68.15 42.408 3461
+-68.024 42.408 3382
+-67.898 42.408 3382
+-67.772 42.408 3382
+-67.646 42.408 3382
+-67.52 42.408 3382
+-67.394 42.408 3382
+-67.268 42.408 3381
+-67.142 42.408 3381
+-67.016 42.408 3381
+-66.89 42.408 3381
+-66.764 42.408 3381
+-66.638 42.408 3381
+-66.512 42.408 3381
+-66.386 42.408 3381
+-66.26 42.408 3381
+-66.134 42.408 3381
+-66.008 42.408 3380
+-65.882 42.408 3380
+-65.756 42.408 3380
+-65.63 42.408 3380
+-65.504 42.408 3380
+-65.378 42.408 3380
+-65.252 42.408 3380
+-65.126 42.408 3380
+-128 42.356 2095
+-127.874 42.356 2179
+-127.748 42.356 2413
+-127.622 42.356 2679
+-127.496 42.356 2919
+-127.37 42.356 3106
+-127.244 42.356 3215
+-127.118 42.356 3286
+-126.992 42.356 3371
+-126.866 42.356 3408
+-126.74 42.356 3442
+-126.614 42.356 3481
+-126.488 42.356 3538
+-126.362 42.356 3586
+-126.236 42.356 3655
+-126.11 42.356 3764
+-125.984 42.356 3804
+-125.858 42.356 3816
+-125.732 42.356 3795
+-125.606 42.356 3757
+-125.48 42.356 3855
+-125.354 42.356 3898
+-125.228 42.356 3951
+-125.102 42.356 4019
+-124.976 42.356 4062
+-124.85 42.356 4122
+-124.724 42.356 4200
+-124.598 42.356 4243
+-124.472 42.356 4243
+-124.346 42.356 4253
+-124.22 42.356 4260
+-124.094 42.356 4277
+-123.968 42.356 4311
+-123.842 42.356 4372
+-123.716 42.356 4425
+-123.59 42.356 4472
+-123.464 42.356 4485
+-123.338 42.356 4495
+-123.212 42.356 4510
+-123.086 42.356 4508
+-122.96 42.356 4506
+-122.834 42.356 4510
+-122.708 42.356 4513
+-122.582 42.356 4508
+-122.456 42.356 4470
+-122.33 42.356 4481
+-122.204 42.356 4430
+-122.078 42.356 4456
+-121.952 42.356 4437
+-121.826 42.356 4407
+-121.7 42.356 4360
+-121.574 42.356 4311
+-121.448 42.356 4290
+-121.322 42.356 4263
+-121.196 42.356 4346
+-121.07 42.356 4410
+-120.944 42.356 4481
+-120.818 42.356 4537
+-120.692 42.356 4527
+-120.566 42.356 4613
+-120.44 42.356 4653
+-120.314 42.356 4736
+-120.188 42.356 4837
+-120.062 42.356 4896
+-119.936 42.356 4962
+-119.81 42.356 5000
+-119.684 42.356 5029
+-119.558 42.356 5015
+-119.432 42.356 5056
+-119.306 42.356 5127
+-119.18 42.356 5154
+-119.054 42.356 5194
+-118.928 42.356 5217
+-118.802 42.356 5240
+-118.676 42.356 5227
+-118.55 42.356 5274
+-118.424 42.356 5284
+-118.298 42.356 5283
+-118.172 42.356 5284
+-118.046 42.356 5261
+-117.92 42.356 5258
+-117.794 42.356 5230
+-117.668 42.356 5236
+-117.542 42.356 5181
+-117.416 42.356 5132
+-117.29 42.356 5089
+-117.164 42.356 5053
+-117.038 42.356 5047
+-116.912 42.356 5010
+-116.786 42.356 4963
+-116.66 42.356 4911
+-116.534 42.356 4823
+-116.408 42.356 4737
+-116.282 42.356 4649
+-116.156 42.356 4621
+-116.03 42.356 4603
+-115.904 42.356 4543
+-115.778 42.356 4427
+-115.652 42.356 4372
+-115.526 42.356 4330
+-115.4 42.356 4314
+-115.274 42.356 4283
+-115.148 42.356 4166
+-115.022 42.356 4053
+-114.896 42.356 3979
+-114.77 42.356 3938
+-114.644 42.356 3926
+-114.518 42.356 3842
+-114.392 42.356 3782
+-114.266 42.356 3642
+-114.14 42.356 3530
+-114.014 42.356 3390
+-113.888 42.356 3312
+-113.762 42.356 3277
+-113.636 42.356 3273
+-113.51 42.356 3258
+-113.384 42.356 3222
+-113.258 42.356 3128
+-113.132 42.356 3019
+-113.006 42.356 2926
+-112.88 42.356 2821
+-112.754 42.356 2693
+-112.628 42.356 2574
+-112.502 42.356 2464
+-112.376 42.356 2362
+-112.25 42.356 2289
+-112.124 42.356 2249
+-111.998 42.356 2245
+-111.872 42.356 2263
+-111.746 42.356 2304
+-111.62 42.356 2359
+-111.494 42.356 2418
+-111.368 42.356 2466
+-111.242 42.356 2519
+-111.116 42.356 2566
+-110.99 42.356 2609
+-110.864 42.356 2592
+-110.738 42.356 2624
+-110.612 42.356 2665
+-110.486 42.356 2692
+-110.36 42.356 2716
+-110.234 42.356 2737
+-110.108 42.356 2757
+-109.982 42.356 2775
+-109.856 42.356 2791
+-109.73 42.356 2806
+-109.604 42.356 2820
+-109.478 42.356 2832
+-109.352 42.356 2844
+-109.226 42.356 2752
+-109.1 42.356 2760
+-108.974 42.356 2766
+-108.848 42.356 2735
+-108.722 42.356 2725
+-108.596 42.356 2731
+-108.47 42.356 2612
+-108.344 42.356 2627
+-108.218 42.356 2631
+-108.092 42.356 2619
+-107.966 42.356 2623
+-107.84 42.356 2627
+-107.714 42.356 2631
+-107.588 42.356 2634
+-107.462 42.356 2638
+-107.336 42.356 2641
+-107.21 42.356 2711
+-107.084 42.356 2645
+-106.958 42.356 2629
+-106.832 42.356 2626
+-106.706 42.356 2630
+-106.58 42.356 2633
+-106.454 42.356 2636
+-106.328 42.356 2640
+-106.202 42.356 2611
+-106.076 42.356 2503
+-105.95 42.356 2328
+-105.824 42.356 2318
+-105.698 42.356 2308
+-105.572 42.356 2296
+-105.446 42.356 2284
+-105.32 42.356 2272
+-105.194 42.356 2098
+-105.068 42.356 2085
+-104.942 42.356 1969
+-104.816 42.356 1976
+-104.69 42.356 1992
+-104.564 42.356 1942
+-104.438 42.356 1942
+-104.312 42.356 1898
+-104.186 42.356 1851
+-104.06 42.356 1915
+-103.934 42.356 1935
+-103.808 42.356 2106
+-103.682 42.356 2180
+-103.556 42.356 2176
+-103.43 42.356 2220
+-103.304 42.356 2353
+-103.178 42.356 2344
+-103.052 42.356 2336
+-102.926 42.356 2338
+-102.8 42.356 2343
+-102.674 42.356 2369
+-102.548 42.356 2360
+-102.422 42.356 2350
+-102.296 42.356 2341
+-102.17 42.356 2372
+-102.044 42.356 2360
+-101.918 42.356 2348
+-101.792 42.356 2336
+-101.666 42.356 2322
+-101.54 42.356 2308
+-101.414 42.356 2293
+-101.288 42.356 2305
+-101.162 42.356 2337
+-101.036 42.356 2320
+-100.91 42.356 2301
+-100.784 42.356 2281
+-100.658 42.356 2260
+-100.532 42.356 2237
+-100.406 42.356 2213
+-100.28 42.356 2195
+-100.154 42.356 2206
+-100.028 42.356 2187
+-99.902 42.356 2184
+-99.776 42.356 2149
+-99.65 42.356 2113
+-99.524 42.356 2076
+-99.398 42.356 2038
+-99.272 42.356 2001
+-99.146 42.356 1966
+-99.02 42.356 1935
+-98.894 42.356 1958
+-98.768 42.356 2033
+-98.642 42.356 2029
+-98.516 42.356 2041
+-98.39 42.356 2068
+-98.264 42.356 2117
+-98.138 42.356 2188
+-98.012 42.356 2267
+-97.886 42.356 2343
+-97.76 42.356 2445
+-97.634 42.356 2523
+-97.508 42.356 2600
+-97.382 42.356 2670
+-97.256 42.356 2732
+-97.13 42.356 2788
+-97.004 42.356 2838
+-96.878 42.356 2883
+-96.752 42.356 2957
+-96.626 42.356 2993
+-96.5 42.356 3027
+-96.374 42.356 3058
+-96.248 42.356 3098
+-96.122 42.356 3130
+-95.996 42.356 3267
+-95.87 42.356 3284
+-95.744 42.356 3328
+-95.618 42.356 3365
+-95.492 42.356 3451
+-95.366 42.356 3472
+-95.24 42.356 3492
+-95.114 42.356 3554
+-94.988 42.356 3551
+-94.862 42.356 3549
+-94.736 42.356 3533
+-94.61 42.356 3516
+-94.484 42.356 3578
+-94.358 42.356 3685
+-94.232 42.356 3815
+-94.106 42.356 3960
+-93.98 42.356 4117
+-93.854 42.356 4244
+-93.728 42.356 4375
+-93.602 42.356 4503
+-93.476 42.356 4591
+-93.35 42.356 4662
+-93.224 42.356 4680
+-93.098 42.356 4699
+-92.972 42.356 4736
+-92.846 42.356 4804
+-92.72 42.356 4877
+-92.594 42.356 4944
+-92.468 42.356 4985
+-92.342 42.356 5044
+-92.216 42.356 5170
+-92.09 42.356 5243
+-91.964 42.356 5282
+-91.838 42.356 5271
+-91.712 42.356 5331
+-91.586 42.356 5385
+-91.46 42.356 5411
+-91.334 42.356 5457
+-91.208 42.356 5517
+-91.082 42.356 5544
+-90.956 42.356 5567
+-90.83 42.356 5593
+-90.704 42.356 5592
+-90.578 42.356 5583
+-90.452 42.356 5582
+-90.326 42.356 5592
+-90.2 42.356 5590
+-90.074 42.356 5559
+-89.948 42.356 5541
+-89.822 42.356 5518
+-89.696 42.356 5481
+-89.57 42.356 5470
+-89.444 42.356 5419
+-89.318 42.356 5380
+-89.192 42.356 5341
+-89.066 42.356 5278
+-88.94 42.356 5253
+-88.814 42.356 5173
+-88.688 42.356 5101
+-88.562 42.356 5073
+-88.436 42.356 5035
+-88.31 42.356 4912
+-88.184 42.356 4816
+-88.058 42.356 4808
+-87.932 42.356 4691
+-87.806 42.356 4610
+-87.68 42.356 4546
+-87.554 42.356 4499
+-87.428 42.356 4425
+-87.302 42.356 4399
+-87.176 42.356 4357
+-87.05 42.356 4323
+-86.924 42.356 4276
+-86.798 42.356 4172
+-86.672 42.356 4074
+-86.546 42.356 3951
+-86.42 42.356 3879
+-86.294 42.356 3814
+-86.168 42.356 3734
+-86.042 42.356 3666
+-85.916 42.356 3665
+-85.79 42.356 3616
+-85.664 42.356 3558
+-85.538 42.356 3487
+-85.412 42.356 3463
+-85.286 42.356 3418
+-85.16 42.356 3396
+-85.034 42.356 3365
+-84.908 42.356 3323
+-84.782 42.356 3240
+-84.656 42.356 3112
+-84.53 42.356 2963
+-84.404 42.356 2762
+-84.278 42.356 2561
+-84.152 42.356 2467
+-84.026 42.356 2523
+-83.9 42.356 2646
+-83.774 42.356 2765
+-83.648 42.356 2858
+-83.522 42.356 2927
+-83.396 42.356 2977
+-83.27 42.356 3016
+-83.144 42.356 3085
+-83.018 42.356 3113
+-82.892 42.356 3136
+-82.766 42.356 3156
+-82.64 42.356 3131
+-82.514 42.356 3165
+-82.388 42.356 3179
+-82.262 42.356 3139
+-82.136 42.356 3187
+-82.01 42.356 3198
+-81.884 42.356 3198
+-81.758 42.356 3244
+-81.632 42.356 3212
+-81.506 42.356 3215
+-81.38 42.356 3223
+-81.254 42.356 3281
+-81.128 42.356 3251
+-81.002 42.356 3258
+-80.876 42.356 3357
+-80.75 42.356 3345
+-80.624 42.356 3353
+-80.498 42.356 3317
+-80.372 42.356 3379
+-80.246 42.356 3383
+-80.12 42.356 3389
+-79.994 42.356 3394
+-79.868 42.356 3399
+-79.742 42.356 3399
+-79.616 42.356 3403
+-79.49 42.356 3408
+-79.364 42.356 3398
+-79.238 42.356 3357
+-79.112 42.356 3355
+-78.986 42.356 3358
+-78.86 42.356 3361
+-78.734 42.356 3364
+-78.608 42.356 3367
+-78.482 42.356 3370
+-78.356 42.356 3372
+-78.23 42.356 3375
+-78.104 42.356 3377
+-77.978 42.356 3379
+-77.852 42.356 3381
+-77.726 42.356 3383
+-77.6 42.356 3385
+-77.474 42.356 3387
+-77.348 42.356 3389
+-77.222 42.356 3474
+-77.096 42.356 3476
+-76.97 42.356 3465
+-76.844 42.356 3467
+-76.718 42.356 3469
+-76.592 42.356 3471
+-76.466 42.356 3472
+-76.34 42.356 3474
+-76.214 42.356 3476
+-76.088 42.356 3477
+-75.962 42.356 3479
+-75.836 42.356 3480
+-75.71 42.356 3482
+-75.584 42.356 3508
+-75.458 42.356 3510
+-75.332 42.356 3512
+-75.206 42.356 3514
+-75.08 42.356 3516
+-74.954 42.356 3517
+-74.828 42.356 3483
+-74.702 42.356 3484
+-74.576 42.356 3486
+-74.45 42.356 3487
+-74.324 42.356 3515
+-74.198 42.356 3517
+-74.072 42.356 3519
+-73.946 42.356 3478
+-73.82 42.356 3479
+-73.694 42.356 3481
+-73.568 42.356 3610
+-73.442 42.356 3611
+-73.316 42.356 3612
+-73.19 42.356 3613
+-73.064 42.356 3613
+-72.938 42.356 3553
+-72.812 42.356 3553
+-72.686 42.356 3553
+-72.56 42.356 3554
+-72.434 42.356 3554
+-72.308 42.356 3555
+-72.182 42.356 3555
+-72.056 42.356 3556
+-71.93 42.356 3556
+-71.804 42.356 3556
+-71.678 42.356 3536
+-71.552 42.356 3524
+-71.426 42.356 3524
+-71.3 42.356 3525
+-71.174 42.356 3525
+-71.048 42.356 3526
+-70.922 42.356 3526
+-70.796 42.356 3509
+-70.67 42.356 3509
+-70.544 42.356 3509
+-70.418 42.356 3510
+-70.292 42.356 3510
+-70.166 42.356 3510
+-70.04 42.356 3510
+-69.914 42.356 3511
+-69.788 42.356 3458
+-69.662 42.356 3459
+-69.536 42.356 3459
+-69.41 42.356 3459
+-69.284 42.356 3459
+-69.158 42.356 3459
+-69.032 42.356 3460
+-68.906 42.356 3460
+-68.78 42.356 3460
+-68.654 42.356 3460
+-68.528 42.356 3461
+-68.402 42.356 3461
+-68.276 42.356 3461
+-68.15 42.356 3382
+-68.024 42.356 3382
+-67.898 42.356 3382
+-67.772 42.356 3382
+-67.646 42.356 3382
+-67.52 42.356 3382
+-67.394 42.356 3381
+-67.268 42.356 3381
+-67.142 42.356 3381
+-67.016 42.356 3381
+-66.89 42.356 3381
+-66.764 42.356 3381
+-66.638 42.356 3381
+-66.512 42.356 3381
+-66.386 42.356 3381
+-66.26 42.356 3381
+-66.134 42.356 3380
+-66.008 42.356 3380
+-65.882 42.356 3380
+-65.756 42.356 3380
+-65.63 42.356 3380
+-65.504 42.356 3380
+-65.378 42.356 3380
+-65.252 42.356 3380
+-65.126 42.356 3380
+-128 42.304 2168
+-127.874 42.304 2246
+-127.748 42.304 2446
+-127.622 42.304 2681
+-127.496 42.304 2933
+-127.37 42.304 3092
+-127.244 42.304 3195
+-127.118 42.304 3259
+-126.992 42.304 3297
+-126.866 42.304 3321
+-126.74 42.304 3375
+-126.614 42.304 3412
+-126.488 42.304 3455
+-126.362 42.304 3527
+-126.236 42.304 3596
+-126.11 42.304 3718
+-125.984 42.304 3782
+-125.858 42.304 3808
+-125.732 42.304 3808
+-125.606 42.304 3805
+-125.48 42.304 3860
+-125.354 42.304 3906
+-125.228 42.304 3934
+-125.102 42.304 3966
+-124.976 42.304 4026
+-124.85 42.304 4089
+-124.724 42.304 4156
+-124.598 42.304 4203
+-124.472 42.304 4229
+-124.346 42.304 4238
+-124.22 42.304 4243
+-124.094 42.304 4273
+-123.968 42.304 4277
+-123.842 42.304 4330
+-123.716 42.304 4380
+-123.59 42.304 4435
+-123.464 42.304 4462
+-123.338 42.304 4470
+-123.212 42.304 4476
+-123.086 42.304 4477
+-122.96 42.304 4454
+-122.834 42.304 4481
+-122.708 42.304 4470
+-122.582 42.304 4480
+-122.456 42.304 4475
+-122.33 42.304 4462
+-122.204 42.304 4434
+-122.078 42.304 4422
+-121.952 42.304 4383
+-121.826 42.304 4344
+-121.7 42.304 4305
+-121.574 42.304 4258
+-121.448 42.304 4198
+-121.322 42.304 4134
+-121.196 42.304 4244
+-121.07 42.304 4369
+-120.944 42.304 4465
+-120.818 42.304 4524
+-120.692 42.304 4552
+-120.566 42.304 4565
+-120.44 42.304 4643
+-120.314 42.304 4718
+-120.188 42.304 4771
+-120.062 42.304 4829
+-119.936 42.304 4919
+-119.81 42.304 4957
+-119.684 42.304 4955
+-119.558 42.304 4968
+-119.432 42.304 5009
+-119.306 42.304 5056
+-119.18 42.304 5074
+-119.054 42.304 5122
+-118.928 42.304 5171
+-118.802 42.304 5201
+-118.676 42.304 5204
+-118.55 42.304 5200
+-118.424 42.304 5200
+-118.298 42.304 5213
+-118.172 42.304 5215
+-118.046 42.304 5222
+-117.92 42.304 5197
+-117.794 42.304 5174
+-117.668 42.304 5160
+-117.542 42.304 5112
+-117.416 42.304 5116
+-117.29 42.304 5043
+-117.164 42.304 5003
+-117.038 42.304 4990
+-116.912 42.304 4950
+-116.786 42.304 4876
+-116.66 42.304 4816
+-116.534 42.304 4735
+-116.408 42.304 4657
+-116.282 42.304 4607
+-116.156 42.304 4616
+-116.03 42.304 4559
+-115.904 42.304 4519
+-115.778 42.304 4426
+-115.652 42.304 4340
+-115.526 42.304 4240
+-115.4 42.304 4271
+-115.274 42.304 4232
+-115.148 42.304 4083
+-115.022 42.304 3930
+-114.896 42.304 3854
+-114.77 42.304 3851
+-114.644 42.304 3841
+-114.518 42.304 3812
+-114.392 42.304 3759
+-114.266 42.304 3692
+-114.14 42.304 3567
+-114.014 42.304 3465
+-113.888 42.304 3368
+-113.762 42.304 3300
+-113.636 42.304 3288
+-113.51 42.304 3263
+-113.384 42.304 3163
+-113.258 42.304 3095
+-113.132 42.304 3027
+-113.006 42.304 2948
+-112.88 42.304 2842
+-112.754 42.304 2764
+-112.628 42.304 2654
+-112.502 42.304 2559
+-112.376 42.304 2481
+-112.25 42.304 2415
+-112.124 42.304 2379
+-111.998 42.304 2369
+-111.872 42.304 2381
+-111.746 42.304 2396
+-111.62 42.304 2427
+-111.494 42.304 2467
+-111.368 42.304 2473
+-111.242 42.304 2514
+-111.116 42.304 2533
+-110.99 42.304 2567
+-110.864 42.304 2598
+-110.738 42.304 2626
+-110.612 42.304 2651
+-110.486 42.304 2689
+-110.36 42.304 2711
+-110.234 42.304 2732
+-110.108 42.304 2751
+-109.982 42.304 2768
+-109.856 42.304 2784
+-109.73 42.304 2798
+-109.604 42.304 2812
+-109.478 42.304 2824
+-109.352 42.304 2734
+-109.226 42.304 2742
+-109.1 42.304 2749
+-108.974 42.304 2756
+-108.848 42.304 2763
+-108.722 42.304 2731
+-108.596 42.304 2597
+-108.47 42.304 2600
+-108.344 42.304 2603
+-108.218 42.304 2618
+-108.092 42.304 2621
+-107.966 42.304 2609
+-107.84 42.304 2613
+-107.714 42.304 2617
+-107.588 42.304 2621
+-107.462 42.304 2625
+-107.336 42.304 2628
+-107.21 42.304 2632
+-107.084 42.304 2702
+-106.958 42.304 2636
+-106.832 42.304 2620
+-106.706 42.304 2617
+-106.58 42.304 2621
+-106.454 42.304 2624
+-106.328 42.304 2628
+-106.202 42.304 2631
+-106.076 42.304 2490
+-105.95 42.304 2316
+-105.824 42.304 2306
+-105.698 42.304 2295
+-105.572 42.304 2284
+-105.446 42.304 2272
+-105.32 42.304 2259
+-105.194 42.304 2087
+-105.068 42.304 2074
+-104.942 42.304 1961
+-104.816 42.304 1953
+-104.69 42.304 1985
+-104.564 42.304 1942
+-104.438 42.304 1937
+-104.312 42.304 1897
+-104.186 42.304 1849
+-104.06 42.304 1913
+-103.934 42.304 1934
+-103.808 42.304 2073
+-103.682 42.304 2179
+-103.556 42.304 2175
+-103.43 42.304 2219
+-103.304 42.304 2352
+-103.178 42.304 2344
+-103.052 42.304 2335
+-102.926 42.304 2326
+-102.8 42.304 2327
+-102.674 42.304 2332
+-102.548 42.304 2357
+-102.422 42.304 2348
+-102.296 42.304 2338
+-102.17 42.304 2327
+-102.044 42.304 2357
+-101.918 42.304 2345
+-101.792 42.304 2331
+-101.666 42.304 2318
+-101.54 42.304 2303
+-101.414 42.304 2287
+-101.288 42.304 2270
+-101.162 42.304 2281
+-101.036 42.304 2310
+-100.91 42.304 2291
+-100.784 42.304 2269
+-100.658 42.304 2247
+-100.532 42.304 2222
+-100.406 42.304 2195
+-100.28 42.304 2166
+-100.154 42.304 2143
+-100.028 42.304 2146
+-99.902 42.304 2121
+-99.776 42.304 2109
+-99.65 42.304 2067
+-99.524 42.304 2021
+-99.398 42.304 1975
+-99.272 42.304 1927
+-99.146 42.304 1881
+-99.02 42.304 1839
+-98.894 42.304 1802
+-98.768 42.304 1825
+-98.642 42.304 1894
+-98.516 42.304 1901
+-98.39 42.304 1929
+-98.264 42.304 1978
+-98.138 42.304 2052
+-98.012 42.304 2148
+-97.886 42.304 2251
+-97.76 42.304 2348
+-97.634 42.304 2465
+-97.508 42.304 2555
+-97.382 42.304 2636
+-97.256 42.304 2709
+-97.13 42.304 2774
+-97.004 42.304 2832
+-96.878 42.304 2883
+-96.752 42.304 2928
+-96.626 42.304 3005
+-96.5 42.304 3044
+-96.374 42.304 3080
+-96.248 42.304 3115
+-96.122 42.304 3159
+-95.996 42.304 3289
+-95.87 42.304 3326
+-95.744 42.304 3356
+-95.618 42.304 3461
+-95.492 42.304 3483
+-95.366 42.304 3503
+-95.24 42.304 3520
+-95.114 42.304 3572
+-94.988 42.304 3574
+-94.862 42.304 3576
+-94.736 42.304 3586
+-94.61 42.304 3570
+-94.484 42.304 3616
+-94.358 42.304 3751
+-94.232 42.304 3902
+-94.106 42.304 4043
+-93.98 42.304 4203
+-93.854 42.304 4312
+-93.728 42.304 4457
+-93.602 42.304 4535
+-93.476 42.304 4553
+-93.35 42.304 4632
+-93.224 42.304 4682
+-93.098 42.304 4689
+-92.972 42.304 4757
+-92.846 42.304 4853
+-92.72 42.304 4918
+-92.594 42.304 4940
+-92.468 42.304 5024
+-92.342 42.304 5134
+-92.216 42.304 5227
+-92.09 42.304 5293
+-91.964 42.304 5330
+-91.838 42.304 5326
+-91.712 42.304 5379
+-91.586 42.304 5432
+-91.46 42.304 5475
+-91.334 42.304 5525
+-91.208 42.304 5560
+-91.082 42.304 5589
+-90.956 42.304 5616
+-90.83 42.304 5637
+-90.704 42.304 5639
+-90.578 42.304 5609
+-90.452 42.304 5646
+-90.326 42.304 5644
+-90.2 42.304 5604
+-90.074 42.304 5618
+-89.948 42.304 5604
+-89.822 42.304 5590
+-89.696 42.304 5540
+-89.57 42.304 5517
+-89.444 42.304 5490
+-89.318 42.304 5429
+-89.192 42.304 5392
+-89.066 42.304 5320
+-88.94 42.304 5279
+-88.814 42.304 5202
+-88.688 42.304 5166
+-88.562 42.304 5144
+-88.436 42.304 5091
+-88.31 42.304 4986
+-88.184 42.304 4867
+-88.058 42.304 4812
+-87.932 42.304 4729
+-87.806 42.304 4690
+-87.68 42.304 4569
+-87.554 42.304 4548
+-87.428 42.304 4485
+-87.302 42.304 4443
+-87.176 42.304 4388
+-87.05 42.304 4338
+-86.924 42.304 4301
+-86.798 42.304 4234
+-86.672 42.304 4164
+-86.546 42.304 4047
+-86.42 42.304 3959
+-86.294 42.304 3888
+-86.168 42.304 3807
+-86.042 42.304 3733
+-85.916 42.304 3675
+-85.79 42.304 3650
+-85.664 42.304 3609
+-85.538 42.304 3566
+-85.412 42.304 3529
+-85.286 42.304 3480
+-85.16 42.304 3458
+-85.034 42.304 3433
+-84.908 42.304 3370
+-84.782 42.304 3314
+-84.656 42.304 3201
+-84.53 42.304 3067
+-84.404 42.304 2892
+-84.278 42.304 2748
+-84.152 42.304 2660
+-84.026 42.304 2679
+-83.9 42.304 2753
+-83.774 42.304 2836
+-83.648 42.304 2908
+-83.522 42.304 2963
+-83.396 42.304 3006
+-83.27 42.304 3079
+-83.144 42.304 3110
+-83.018 42.304 3135
+-82.892 42.304 3155
+-82.766 42.304 3132
+-82.64 42.304 3166
+-82.514 42.304 3181
+-82.388 42.304 3141
+-82.262 42.304 3190
+-82.136 42.304 3201
+-82.01 42.304 3201
+-81.884 42.304 3247
+-81.758 42.304 3215
+-81.632 42.304 3219
+-81.506 42.304 3226
+-81.38 42.304 3283
+-81.254 42.304 3253
+-81.128 42.304 3261
+-81.002 42.304 3358
+-80.876 42.304 3347
+-80.75 42.304 3354
+-80.624 42.304 3319
+-80.498 42.304 3380
+-80.372 42.304 3384
+-80.246 42.304 3390
+-80.12 42.304 3395
+-79.994 42.304 3400
+-79.868 42.304 3400
+-79.742 42.304 3404
+-79.616 42.304 3409
+-79.49 42.304 3399
+-79.364 42.304 3359
+-79.238 42.304 3356
+-79.112 42.304 3359
+-78.986 42.304 3362
+-78.86 42.304 3365
+-78.734 42.304 3368
+-78.608 42.304 3371
+-78.482 42.304 3373
+-78.356 42.304 3376
+-78.23 42.304 3378
+-78.104 42.304 3380
+-77.978 42.304 3382
+-77.852 42.304 3384
+-77.726 42.304 3386
+-77.6 42.304 3388
+-77.474 42.304 3390
+-77.348 42.304 3474
+-77.222 42.304 3476
+-77.096 42.304 3465
+-76.97 42.304 3467
+-76.844 42.304 3469
+-76.718 42.304 3470
+-76.592 42.304 3472
+-76.466 42.304 3474
+-76.34 42.304 3475
+-76.214 42.304 3477
+-76.088 42.304 3479
+-75.962 42.304 3480
+-75.836 42.304 3481
+-75.71 42.304 3508
+-75.584 42.304 3510
+-75.458 42.304 3512
+-75.332 42.304 3514
+-75.206 42.304 3515
+-75.08 42.304 3517
+-74.954 42.304 3483
+-74.828 42.304 3484
+-74.702 42.304 3486
+-74.576 42.304 3487
+-74.45 42.304 3515
+-74.324 42.304 3517
+-74.198 42.304 3518
+-74.072 42.304 3478
+-73.946 42.304 3479
+-73.82 42.304 3481
+-73.694 42.304 3610
+-73.568 42.304 3611
+-73.442 42.304 3611
+-73.316 42.304 3612
+-73.19 42.304 3613
+-73.064 42.304 3552
+-72.938 42.304 3553
+-72.812 42.304 3553
+-72.686 42.304 3554
+-72.56 42.304 3554
+-72.434 42.304 3554
+-72.308 42.304 3555
+-72.182 42.304 3555
+-72.056 42.304 3556
+-71.93 42.304 3556
+-71.804 42.304 3535
+-71.678 42.304 3524
+-71.552 42.304 3524
+-71.426 42.304 3525
+-71.3 42.304 3525
+-71.174 42.304 3525
+-71.048 42.304 3508
+-70.922 42.304 3508
+-70.796 42.304 3509
+-70.67 42.304 3509
+-70.544 42.304 3509
+-70.418 42.304 3510
+-70.292 42.304 3510
+-70.166 42.304 3510
+-70.04 42.304 3511
+-69.914 42.304 3458
+-69.788 42.304 3458
+-69.662 42.304 3459
+-69.536 42.304 3459
+-69.41 42.304 3459
+-69.284 42.304 3459
+-69.158 42.304 3460
+-69.032 42.304 3460
+-68.906 42.304 3460
+-68.78 42.304 3460
+-68.654 42.304 3460
+-68.528 42.304 3461
+-68.402 42.304 3461
+-68.276 42.304 3382
+-68.15 42.304 3382
+-68.024 42.304 3382
+-67.898 42.304 3382
+-67.772 42.304 3382
+-67.646 42.304 3382
+-67.52 42.304 3381
+-67.394 42.304 3381
+-67.268 42.304 3381
+-67.142 42.304 3381
+-67.016 42.304 3381
+-66.89 42.304 3381
+-66.764 42.304 3381
+-66.638 42.304 3381
+-66.512 42.304 3381
+-66.386 42.304 3380
+-66.26 42.304 3380
+-66.134 42.304 3380
+-66.008 42.304 3380
+-65.882 42.304 3380
+-65.756 42.304 3380
+-65.63 42.304 3380
+-65.504 42.304 3380
+-65.378 42.304 3380
+-65.252 42.304 3380
+-65.126 42.304 3066
+-128 42.252 2336
+-127.874 42.252 2408
+-127.748 42.252 2561
+-127.622 42.252 2762
+-127.496 42.252 2935
+-127.37 42.252 3063
+-127.244 42.252 3148
+-127.118 42.252 3229
+-126.992 42.252 3247
+-126.866 42.252 3246
+-126.74 42.252 3244
+-126.614 42.252 3253
+-126.488 42.252 3340
+-126.362 42.252 3430
+-126.236 42.252 3553
+-126.11 42.252 3644
+-125.984 42.252 3756
+-125.858 42.252 3785
+-125.732 42.252 3819
+-125.606 42.252 3845
+-125.48 42.252 3865
+-125.354 42.252 3902
+-125.228 42.252 3896
+-125.102 42.252 3878
+-124.976 42.252 3947
+-124.85 42.252 4038
+-124.724 42.252 4107
+-124.598 42.252 4160
+-124.472 42.252 4180
+-124.346 42.252 4206
+-124.22 42.252 4238
+-124.094 42.252 4249
+-123.968 42.252 4255
+-123.842 42.252 4282
+-123.716 42.252 4320
+-123.59 42.252 4380
+-123.464 42.252 4401
+-123.338 42.252 4410
+-123.212 42.252 4430
+-123.086 42.252 4446
+-122.96 42.252 4456
+-122.834 42.252 4461
+-122.708 42.252 4461
+-122.582 42.252 4457
+-122.456 42.252 4460
+-122.33 42.252 4431
+-122.204 42.252 4405
+-122.078 42.252 4377
+-121.952 42.252 4332
+-121.826 42.252 4288
+-121.7 42.252 4250
+-121.574 42.252 4204
+-121.448 42.252 4163
+-121.322 42.252 4141
+-121.196 42.252 4199
+-121.07 42.252 4306
+-120.944 42.252 4401
+-120.818 42.252 4485
+-120.692 42.252 4537
+-120.566 42.252 4575
+-120.44 42.252 4649
+-120.314 42.252 4721
+-120.188 42.252 4740
+-120.062 42.252 4779
+-119.936 42.252 4853
+-119.81 42.252 4908
+-119.684 42.252 4906
+-119.558 42.252 4939
+-119.432 42.252 4967
+-119.306 42.252 5007
+-119.18 42.252 5042
+-119.054 42.252 5061
+-118.928 42.252 5102
+-118.802 42.252 5141
+-118.676 42.252 5150
+-118.55 42.252 5155
+-118.424 42.252 5145
+-118.298 42.252 5157
+-118.172 42.252 5165
+-118.046 42.252 5145
+-117.92 42.252 5151
+-117.794 42.252 5117
+-117.668 42.252 5063
+-117.542 42.252 5039
+-117.416 42.252 5028
+-117.29 42.252 4991
+-117.164 42.252 4961
+-117.038 42.252 4936
+-116.912 42.252 4894
+-116.786 42.252 4797
+-116.66 42.252 4745
+-116.534 42.252 4655
+-116.408 42.252 4600
+-116.282 42.252 4568
+-116.156 42.252 4545
+-116.03 42.252 4486
+-115.904 42.252 4478
+-115.778 42.252 4411
+-115.652 42.252 4346
+-115.526 42.252 4279
+-115.4 42.252 4251
+-115.274 42.252 4174
+-115.148 42.252 4010
+-115.022 42.252 3843
+-114.896 42.252 3801
+-114.77 42.252 3807
+-114.644 42.252 3801
+-114.518 42.252 3773
+-114.392 42.252 3731
+-114.266 42.252 3655
+-114.14 42.252 3609
+-114.014 42.252 3504
+-113.888 42.252 3401
+-113.762 42.252 3341
+-113.636 42.252 3286
+-113.51 42.252 3199
+-113.384 42.252 3155
+-113.258 42.252 3104
+-113.132 42.252 3032
+-113.006 42.252 2965
+-112.88 42.252 2891
+-112.754 42.252 2796
+-112.628 42.252 2733
+-112.502 42.252 2643
+-112.376 42.252 2574
+-112.25 42.252 2524
+-112.124 42.252 2484
+-111.998 42.252 2469
+-111.872 42.252 2473
+-111.746 42.252 2487
+-111.62 42.252 2477
+-111.494 42.252 2469
+-111.368 42.252 2460
+-111.242 42.252 2489
+-111.116 42.252 2549
+-110.99 42.252 2578
+-110.864 42.252 2605
+-110.738 42.252 2629
+-110.612 42.252 2652
+-110.486 42.252 2673
+-110.36 42.252 2707
+-110.234 42.252 2727
+-110.108 42.252 2745
+-109.982 42.252 2761
+-109.856 42.252 2777
+-109.73 42.252 2791
+-109.604 42.252 2804
+-109.478 42.252 2715
+-109.352 42.252 2724
+-109.226 42.252 2732
+-109.1 42.252 2739
+-108.974 42.252 2746
+-108.848 42.252 2638
+-108.722 42.252 2619
+-108.596 42.252 2614
+-108.47 42.252 2588
+-108.344 42.252 2591
+-108.218 42.252 2594
+-108.092 42.252 2608
+-107.966 42.252 2612
+-107.84 42.252 2600
+-107.714 42.252 2604
+-107.588 42.252 2608
+-107.462 42.252 2612
+-107.336 42.252 2616
+-107.21 42.252 2619
+-107.084 42.252 2623
+-106.958 42.252 2692
+-106.832 42.252 2626
+-106.706 42.252 2611
+-106.58 42.252 2608
+-106.454 42.252 2612
+-106.328 42.252 2616
+-106.202 42.252 2619
+-106.076 42.252 2477
+-105.95 42.252 2303
+-105.824 42.252 2293
+-105.698 42.252 2283
+-105.572 42.252 2271
+-105.446 42.252 2260
+-105.32 42.252 2247
+-105.194 42.252 2076
+-105.068 42.252 2064
+-104.942 42.252 1952
+-104.816 42.252 1892
+-104.69 42.252 1935
+-104.564 42.252 1892
+-104.438 42.252 1932
+-104.312 42.252 1895
+-104.186 42.252 1809
+-104.06 42.252 1933
+-103.934 42.252 1934
+-103.808 42.252 2073
+-103.682 42.252 2143
+-103.556 42.252 2175
+-103.43 42.252 2260
+-103.304 42.252 2351
+-103.178 42.252 2343
+-103.052 42.252 2334
+-102.926 42.252 2325
+-102.8 42.252 2316
+-102.674 42.252 2316
+-102.548 42.252 2320
+-102.422 42.252 2345
+-102.296 42.252 2335
+-102.17 42.252 2324
+-102.044 42.252 2313
+-101.918 42.252 2341
+-101.792 42.252 2328
+-101.666 42.252 2313
+-101.54 42.252 2298
+-101.414 42.252 2282
+-101.288 42.252 2264
+-101.162 42.252 2245
+-101.036 42.252 2255
+-100.91 42.252 2281
+-100.784 42.252 2258
+-100.658 42.252 2234
+-100.532 42.252 2207
+-100.406 42.252 2178
+-100.28 42.252 2147
+-100.154 42.252 2112
+-100.028 42.252 2082
+-99.902 42.252 2076
+-99.776 42.252 2043
+-99.65 42.252 2020
+-99.524 42.252 1966
+-99.398 42.252 1908
+-99.272 42.252 1849
+-99.146 42.252 1789
+-99.02 42.252 1732
+-98.894 42.252 1680
+-98.768 42.252 1639
+-98.642 42.252 1664
+-98.516 42.252 1733
+-98.39 42.252 1760
+-98.264 42.252 1815
+-98.138 42.252 1897
+-98.012 42.252 2005
+-97.886 42.252 2132
+-97.76 42.252 2260
+-97.634 42.252 2376
+-97.508 42.252 2506
+-97.382 42.252 2603
+-97.256 42.252 2682
+-97.13 42.252 2756
+-97.004 42.252 2821
+-96.878 42.252 2878
+-96.752 42.252 2929
+-96.626 42.252 2975
+-96.5 42.252 3055
+-96.374 42.252 3095
+-96.248 42.252 3134
+-96.122 42.252 3171
+-95.996 42.252 3315
+-95.87 42.252 3403
+-95.744 42.252 3437
+-95.618 42.252 3465
+-95.492 42.252 3507
+-95.366 42.252 3528
+-95.24 42.252 3594
+-95.114 42.252 3608
+-94.988 42.252 3648
+-94.862 42.252 3646
+-94.736 42.252 3647
+-94.61 42.252 3698
+-94.484 42.252 3755
+-94.358 42.252 3846
+-94.232 42.252 3978
+-94.106 42.252 4146
+-93.98 42.252 4293
+-93.854 42.252 4386
+-93.728 42.252 4512
+-93.602 42.252 4529
+-93.476 42.252 4465
+-93.35 42.252 4620
+-93.224 42.252 4618
+-93.098 42.252 4738
+-92.972 42.252 4805
+-92.846 42.252 4890
+-92.72 42.252 4959
+-92.594 42.252 5012
+-92.468 42.252 5085
+-92.342 42.252 5172
+-92.216 42.252 5275
+-92.09 42.252 5336
+-91.964 42.252 5375
+-91.838 42.252 5383
+-91.712 42.252 5429
+-91.586 42.252 5457
+-91.46 42.252 5514
+-91.334 42.252 5535
+-91.208 42.252 5599
+-91.082 42.252 5604
+-90.956 42.252 5642
+-90.83 42.252 5625
+-90.704 42.252 5685
+-90.578 42.252 5686
+-90.452 42.252 5688
+-90.326 42.252 5656
+-90.2 42.252 5665
+-90.074 42.252 5659
+-89.948 42.252 5645
+-89.822 42.252 5641
+-89.696 42.252 5600
+-89.57 42.252 5535
+-89.444 42.252 5531
+-89.318 42.252 5473
+-89.192 42.252 5426
+-89.066 42.252 5388
+-88.94 42.252 5342
+-88.814 42.252 5286
+-88.688 42.252 5219
+-88.562 42.252 5166
+-88.436 42.252 5111
+-88.31 42.252 5029
+-88.184 42.252 4922
+-88.058 42.252 4876
+-87.932 42.252 4799
+-87.806 42.252 4691
+-87.68 42.252 4621
+-87.554 42.252 4578
+-87.428 42.252 4511
+-87.302 42.252 4462
+-87.176 42.252 4391
+-87.05 42.252 4345
+-86.924 42.252 4312
+-86.798 42.252 4276
+-86.672 42.252 4215
+-86.546 42.252 4102
+-86.42 42.252 3999
+-86.294 42.252 3960
+-86.168 42.252 3891
+-86.042 42.252 3818
+-85.916 42.252 3759
+-85.79 42.252 3703
+-85.664 42.252 3666
+-85.538 42.252 3608
+-85.412 42.252 3551
+-85.286 42.252 3519
+-85.16 42.252 3494
+-85.034 42.252 3484
+-84.908 42.252 3437
+-84.782 42.252 3378
+-84.656 42.252 3271
+-84.53 42.252 3176
+-84.404 42.252 3061
+-84.278 42.252 2937
+-84.152 42.252 2869
+-84.026 42.252 2862
+-83.9 42.252 2896
+-83.774 42.252 2944
+-83.648 42.252 2992
+-83.522 42.252 3034
+-83.396 42.252 3082
+-83.27 42.252 3112
+-83.144 42.252 3137
+-83.018 42.252 3158
+-82.892 42.252 3135
+-82.766 42.252 3170
+-82.64 42.252 3185
+-82.514 42.252 3145
+-82.388 42.252 3194
+-82.262 42.252 3205
+-82.136 42.252 3206
+-82.01 42.252 3251
+-81.884 42.252 3219
+-81.758 42.252 3223
+-81.632 42.252 3230
+-81.506 42.252 3285
+-81.38 42.252 3257
+-81.254 42.252 3264
+-81.128 42.252 3359
+-81.002 42.252 3349
+-80.876 42.252 3356
+-80.75 42.252 3321
+-80.624 42.252 3381
+-80.498 42.252 3385
+-80.372 42.252 3391
+-80.246 42.252 3397
+-80.12 42.252 3402
+-79.994 42.252 3401
+-79.868 42.252 3405
+-79.742 42.252 3410
+-79.616 42.252 3400
+-79.49 42.252 3360
+-79.364 42.252 3357
+-79.238 42.252 3360
+-79.112 42.252 3364
+-78.986 42.252 3367
+-78.86 42.252 3369
+-78.734 42.252 3372
+-78.608 42.252 3375
+-78.482 42.252 3377
+-78.356 42.252 3379
+-78.23 42.252 3381
+-78.104 42.252 3384
+-77.978 42.252 3386
+-77.852 42.252 3387
+-77.726 42.252 3389
+-77.6 42.252 3391
+-77.474 42.252 3473
+-77.348 42.252 3475
+-77.222 42.252 3465
+-77.096 42.252 3466
+-76.97 42.252 3468
+-76.844 42.252 3470
+-76.718 42.252 3472
+-76.592 42.252 3474
+-76.466 42.252 3475
+-76.34 42.252 3477
+-76.214 42.252 3479
+-76.088 42.252 3480
+-75.962 42.252 3481
+-75.836 42.252 3508
+-75.71 42.252 3510
+-75.584 42.252 3512
+-75.458 42.252 3513
+-75.332 42.252 3515
+-75.206 42.252 3517
+-75.08 42.252 3483
+-74.954 42.252 3484
+-74.828 42.252 3486
+-74.702 42.252 3487
+-74.576 42.252 3515
+-74.45 42.252 3516
+-74.324 42.252 3518
+-74.198 42.252 3478
+-74.072 42.252 3479
+-73.946 42.252 3481
+-73.82 42.252 3609
+-73.694 42.252 3610
+-73.568 42.252 3611
+-73.442 42.252 3612
+-73.316 42.252 3612
+-73.19 42.252 3552
+-73.064 42.252 3552
+-72.938 42.252 3553
+-72.812 42.252 3553
+-72.686 42.252 3554
+-72.56 42.252 3554
+-72.434 42.252 3555
+-72.308 42.252 3555
+-72.182 42.252 3555
+-72.056 42.252 3556
+-71.93 42.252 3535
+-71.804 42.252 3523
+-71.678 42.252 3524
+-71.552 42.252 3524
+-71.426 42.252 3525
+-71.3 42.252 3525
+-71.174 42.252 3526
+-71.048 42.252 3508
+-70.922 42.252 3509
+-70.796 42.252 3509
+-70.67 42.252 3509
+-70.544 42.252 3510
+-70.418 42.252 3510
+-70.292 42.252 3510
+-70.166 42.252 3510
+-70.04 42.252 3458
+-69.914 42.252 3458
+-69.788 42.252 3458
+-69.662 42.252 3459
+-69.536 42.252 3459
+-69.41 42.252 3459
+-69.284 42.252 3459
+-69.158 42.252 3460
+-69.032 42.252 3460
+-68.906 42.252 3460
+-68.78 42.252 3460
+-68.654 42.252 3460
+-68.528 42.252 3461
+-68.402 42.252 3382
+-68.276 42.252 3382
+-68.15 42.252 3382
+-68.024 42.252 3382
+-67.898 42.252 3382
+-67.772 42.252 3382
+-67.646 42.252 3381
+-67.52 42.252 3381
+-67.394 42.252 3381
+-67.268 42.252 3381
+-67.142 42.252 3381
+-67.016 42.252 3381
+-66.89 42.252 3381
+-66.764 42.252 3381
+-66.638 42.252 3381
+-66.512 42.252 3380
+-66.386 42.252 3380
+-66.26 42.252 3380
+-66.134 42.252 3380
+-66.008 42.252 3380
+-65.882 42.252 3380
+-65.756 42.252 3380
+-65.63 42.252 3380
+-65.504 42.252 3380
+-65.378 42.252 3380
+-65.252 42.252 3067
+-65.126 42.252 3066
+-128 42.2 2528
+-127.874 42.2 2584
+-127.748 42.2 2712
+-127.622 42.2 2851
+-127.496 42.2 2977
+-127.37 42.2 3075
+-127.244 42.2 3139
+-127.118 42.2 3167
+-126.992 42.2 3163
+-126.866 42.2 3157
+-126.74 42.2 3106
+-126.614 42.2 3097
+-126.488 42.2 3158
+-126.362 42.2 3296
+-126.236 42.2 3438
+-126.11 42.2 3599
+-125.984 42.2 3705
+-125.858 42.2 3775
+-125.732 42.2 3802
+-125.606 42.2 3837
+-125.48 42.2 3857
+-125.354 42.2 3875
+-125.228 42.2 3850
+-125.102 42.2 3811
+-124.976 42.2 3886
+-124.85 42.2 3997
+-124.724 42.2 4067
+-124.598 42.2 4090
+-124.472 42.2 4098
+-124.346 42.2 4138
+-124.22 42.2 4192
+-124.094 42.2 4205
+-123.968 42.2 4204
+-123.842 42.2 4228
+-123.716 42.2 4261
+-123.59 42.2 4295
+-123.464 42.2 4332
+-123.338 42.2 4341
+-123.212 42.2 4357
+-123.086 42.2 4364
+-122.96 42.2 4392
+-122.834 42.2 4403
+-122.708 42.2 4407
+-122.582 42.2 4394
+-122.456 42.2 4384
+-122.33 42.2 4342
+-122.204 42.2 4319
+-122.078 42.2 4264
+-121.952 42.2 4214
+-121.826 42.2 4173
+-121.7 42.2 4134
+-121.574 42.2 4138
+-121.448 42.2 4093
+-121.322 42.2 4032
+-121.196 42.2 4121
+-121.07 42.2 4228
+-120.944 42.2 4318
+-120.818 42.2 4425
+-120.692 42.2 4478
+-120.566 42.2 4531
+-120.44 42.2 4621
+-120.314 42.2 4683
+-120.188 42.2 4715
+-120.062 42.2 4721
+-119.936 42.2 4771
+-119.81 42.2 4859
+-119.684 42.2 4900
+-119.558 42.2 4922
+-119.432 42.2 4958
+-119.306 42.2 4984
+-119.18 42.2 5000
+-119.054 42.2 5018
+-118.928 42.2 5028
+-118.802 42.2 5067
+-118.676 42.2 5114
+-118.55 42.2 5117
+-118.424 42.2 5084
+-118.298 42.2 5116
+-118.172 42.2 5118
+-118.046 42.2 5125
+-117.92 42.2 5098
+-117.794 42.2 5049
+-117.668 42.2 5007
+-117.542 42.2 5003
+-117.416 42.2 4958
+-117.29 42.2 4934
+-117.164 42.2 4927
+-117.038 42.2 4894
+-116.912 42.2 4831
+-116.786 42.2 4752
+-116.66 42.2 4689
+-116.534 42.2 4598
+-116.408 42.2 4557
+-116.282 42.2 4504
+-116.156 42.2 4471
+-116.03 42.2 4457
+-115.904 42.2 4419
+-115.778 42.2 4372
+-115.652 42.2 4320
+-115.526 42.2 4280
+-115.4 42.2 4215
+-115.274 42.2 4124
+-115.148 42.2 3966
+-115.022 42.2 3809
+-114.896 42.2 3728
+-114.77 42.2 3777
+-114.644 42.2 3769
+-114.518 42.2 3733
+-114.392 42.2 3687
+-114.266 42.2 3630
+-114.14 42.2 3602
+-114.014 42.2 3506
+-113.888 42.2 3404
+-113.762 42.2 3305
+-113.636 42.2 3236
+-113.51 42.2 3175
+-113.384 42.2 3143
+-113.258 42.2 3097
+-113.132 42.2 3045
+-113.006 42.2 2975
+-112.88 42.2 2914
+-112.754 42.2 2850
+-112.628 42.2 2773
+-112.502 42.2 2722
+-112.376 42.2 2632
+-112.25 42.2 2603
+-112.124 42.2 2573
+-111.998 42.2 2508
+-111.872 42.2 2474
+-111.746 42.2 2479
+-111.62 42.2 2480
+-111.494 42.2 2497
+-111.368 42.2 2498
+-111.242 42.2 2509
+-111.116 42.2 2532
+-110.99 42.2 2554
+-110.864 42.2 2611
+-110.738 42.2 2633
+-110.612 42.2 2653
+-110.486 42.2 2673
+-110.36 42.2 2691
+-110.234 42.2 2723
+-110.108 42.2 2740
+-109.982 42.2 2755
+-109.856 42.2 2770
+-109.73 42.2 2784
+-109.604 42.2 2695
+-109.478 42.2 2705
+-109.352 42.2 2714
+-109.226 42.2 2722
+-109.1 42.2 2729
+-108.974 42.2 2622
+-108.848 42.2 2625
+-108.722 42.2 2606
+-108.596 42.2 2610
+-108.47 42.2 2605
+-108.344 42.2 2579
+-108.218 42.2 2582
+-108.092 42.2 2584
+-107.966 42.2 2599
+-107.84 42.2 2603
+-107.714 42.2 2591
+-107.588 42.2 2595
+-107.462 42.2 2599
+-107.336 42.2 2603
+-107.21 42.2 2607
+-107.084 42.2 2611
+-106.958 42.2 2614
+-106.832 42.2 2683
+-106.706 42.2 2618
+-106.58 42.2 2602
+-106.454 42.2 2599
+-106.328 42.2 2603
+-106.202 42.2 2607
+-106.076 42.2 2465
+-105.95 42.2 2290
+-105.824 42.2 2280
+-105.698 42.2 2270
+-105.572 42.2 2259
+-105.446 42.2 2247
+-105.32 42.2 2235
+-105.194 42.2 2065
+-105.068 42.2 2009
+-104.942 42.2 1901
+-104.816 42.2 1885
+-104.69 42.2 1928
+-104.564 42.2 1879
+-104.438 42.2 1882
+-104.312 42.2 1849
+-104.186 42.2 1909
+-104.06 42.2 1873
+-103.934 42.2 1873
+-103.808 42.2 2073
+-103.682 42.2 2143
+-103.556 42.2 2138
+-103.43 42.2 2309
+-103.304 42.2 2351
+-103.178 42.2 2342
+-103.052 42.2 2333
+-102.926 42.2 2324
+-102.8 42.2 2315
+-102.674 42.2 2304
+-102.548 42.2 2304
+-102.422 42.2 2307
+-102.296 42.2 2333
+-102.17 42.2 2322
+-102.044 42.2 2310
+-101.918 42.2 2298
+-101.792 42.2 2324
+-101.666 42.2 2310
+-101.54 42.2 2294
+-101.414 42.2 2277
+-101.288 42.2 2259
+-101.162 42.2 2239
+-101.036 42.2 2218
+-100.91 42.2 2226
+-100.784 42.2 2248
+-100.658 42.2 2223
+-100.532 42.2 2194
+-100.406 42.2 2163
+-100.28 42.2 2129
+-100.154 42.2 2091
+-100.028 42.2 2049
+-99.902 42.2 2011
+-99.776 42.2 1992
+-99.65 42.2 1949
+-99.524 42.2 1910
+-99.398 42.2 1842
+-99.272 42.2 1768
+-99.146 42.2 1692
+-99.02 42.2 1617
+-98.894 42.2 1545
+-98.768 42.2 1485
+-98.642 42.2 1443
+-98.516 42.2 1477
+-98.39 42.2 1558
+-98.264 42.2 1620
+-98.138 42.2 1719
+-98.012 42.2 1845
+-97.886 42.2 1993
+-97.76 42.2 2151
+-97.634 42.2 2301
+-97.508 42.2 2429
+-97.382 42.2 2565
+-97.256 42.2 2663
+-97.13 42.2 2735
+-97.004 42.2 2807
+-96.878 42.2 2869
+-96.752 42.2 2925
+-96.626 42.2 2975
+-96.5 42.2 3088
+-96.374 42.2 3133
+-96.248 42.2 3173
+-96.122 42.2 3212
+-95.996 42.2 3356
+-95.87 42.2 3419
+-95.744 42.2 3440
+-95.618 42.2 3475
+-95.492 42.2 3503
+-95.366 42.2 3595
+-95.24 42.2 3612
+-95.114 42.2 3628
+-94.988 42.2 3682
+-94.862 42.2 3735
+-94.736 42.2 3745
+-94.61 42.2 3774
+-94.484 42.2 3848
+-94.358 42.2 3931
+-94.232 42.2 4097
+-94.106 42.2 4231
+-93.98 42.2 4363
+-93.854 42.2 4460
+-93.728 42.2 4530
+-93.602 42.2 4576
+-93.476 42.2 4606
+-93.35 42.2 4684
+-93.224 42.2 4743
+-93.098 42.2 4805
+-92.972 42.2 4853
+-92.846 42.2 4929
+-92.72 42.2 5010
+-92.594 42.2 5071
+-92.468 42.2 5123
+-92.342 42.2 5195
+-92.216 42.2 5314
+-92.09 42.2 5347
+-91.964 42.2 5419
+-91.838 42.2 5463
+-91.712 42.2 5480
+-91.586 42.2 5504
+-91.46 42.2 5562
+-91.334 42.2 5610
+-91.208 42.2 5651
+-91.082 42.2 5659
+-90.956 42.2 5685
+-90.83 42.2 5720
+-90.704 42.2 5744
+-90.578 42.2 5711
+-90.452 42.2 5735
+-90.326 42.2 5733
+-90.2 42.2 5731
+-90.074 42.2 5724
+-89.948 42.2 5687
+-89.822 42.2 5679
+-89.696 42.2 5638
+-89.57 42.2 5620
+-89.444 42.2 5584
+-89.318 42.2 5535
+-89.192 42.2 5498
+-89.066 42.2 5452
+-88.94 42.2 5403
+-88.814 42.2 5366
+-88.688 42.2 5310
+-88.562 42.2 5238
+-88.436 42.2 5175
+-88.31 42.2 5084
+-88.184 42.2 5004
+-88.058 42.2 4937
+-87.932 42.2 4857
+-87.806 42.2 4768
+-87.68 42.2 4697
+-87.554 42.2 4644
+-87.428 42.2 4539
+-87.302 42.2 4471
+-87.176 42.2 4393
+-87.05 42.2 4319
+-86.924 42.2 4309
+-86.798 42.2 4273
+-86.672 42.2 4242
+-86.546 42.2 4131
+-86.42 42.2 4022
+-86.294 42.2 4003
+-86.168 42.2 3940
+-86.042 42.2 3879
+-85.916 42.2 3828
+-85.79 42.2 3775
+-85.664 42.2 3726
+-85.538 42.2 3654
+-85.412 42.2 3536
+-85.286 42.2 3473
+-85.16 42.2 3483
+-85.034 42.2 3507
+-84.908 42.2 3486
+-84.782 42.2 3463
+-84.656 42.2 3365
+-84.53 42.2 3293
+-84.404 42.2 3181
+-84.278 42.2 3106
+-84.152 42.2 3033
+-84.026 42.2 3007
+-83.9 42.2 3012
+-83.774 42.2 3033
+-83.648 42.2 3058
+-83.522 42.2 3099
+-83.396 42.2 3125
+-83.27 42.2 3147
+-83.144 42.2 3167
+-83.018 42.2 3142
+-82.892 42.2 3176
+-82.766 42.2 3191
+-82.64 42.2 3151
+-82.514 42.2 3200
+-82.388 42.2 3211
+-82.262 42.2 3211
+-82.136 42.2 3256
+-82.01 42.2 3225
+-81.884 42.2 3228
+-81.758 42.2 3236
+-81.632 42.2 3289
+-81.506 42.2 3260
+-81.38 42.2 3268
+-81.254 42.2 3362
+-81.128 42.2 3351
+-81.002 42.2 3359
+-80.876 42.2 3324
+-80.75 42.2 3383
+-80.624 42.2 3387
+-80.498 42.2 3393
+-80.372 42.2 3398
+-80.246 42.2 3403
+-80.12 42.2 3402
+-79.994 42.2 3407
+-79.868 42.2 3412
+-79.742 42.2 3401
+-79.616 42.2 3361
+-79.49 42.2 3359
+-79.364 42.2 3362
+-79.238 42.2 3365
+-79.112 42.2 3368
+-78.986 42.2 3371
+-78.86 42.2 3374
+-78.734 42.2 3376
+-78.608 42.2 3378
+-78.482 42.2 3381
+-78.356 42.2 3383
+-78.23 42.2 3385
+-78.104 42.2 3387
+-77.978 42.2 3389
+-77.852 42.2 3391
+-77.726 42.2 3392
+-77.6 42.2 3473
+-77.474 42.2 3475
+-77.348 42.2 3464
+-77.222 42.2 3466
+-77.096 42.2 3468
+-76.97 42.2 3470
+-76.844 42.2 3472
+-76.718 42.2 3474
+-76.592 42.2 3475
+-76.466 42.2 3477
+-76.34 42.2 3479
+-76.214 42.2 3480
+-76.088 42.2 3481
+-75.962 42.2 3507
+-75.836 42.2 3509
+-75.71 42.2 3511
+-75.584 42.2 3513
+-75.458 42.2 3515
+-75.332 42.2 3517
+-75.206 42.2 3483
+-75.08 42.2 3484
+-74.954 42.2 3486
+-74.828 42.2 3487
+-74.702 42.2 3514
+-74.576 42.2 3516
+-74.45 42.2 3518
+-74.324 42.2 3478
+-74.198 42.2 3479
+-74.072 42.2 3481
+-73.946 42.2 3609
+-73.82 42.2 3609
+-73.694 42.2 3610
+-73.568 42.2 3611
+-73.442 42.2 3612
+-73.316 42.2 3552
+-73.19 42.2 3552
+-73.064 42.2 3553
+-72.938 42.2 3553
+-72.812 42.2 3553
+-72.686 42.2 3554
+-72.56 42.2 3554
+-72.434 42.2 3555
+-72.308 42.2 3555
+-72.182 42.2 3556
+-72.056 42.2 3535
+-71.93 42.2 3523
+-71.804 42.2 3524
+-71.678 42.2 3524
+-71.552 42.2 3525
+-71.426 42.2 3525
+-71.3 42.2 3508
+-71.174 42.2 3508
+-71.048 42.2 3508
+-70.922 42.2 3509
+-70.796 42.2 3509
+-70.67 42.2 3509
+-70.544 42.2 3510
+-70.418 42.2 3510
+-70.292 42.2 3510
+-70.166 42.2 3458
+-70.04 42.2 3458
+-69.914 42.2 3458
+-69.788 42.2 3458
+-69.662 42.2 3459
+-69.536 42.2 3459
+-69.41 42.2 3459
+-69.284 42.2 3459
+-69.158 42.2 3460
+-69.032 42.2 3460
+-68.906 42.2 3460
+-68.78 42.2 3460
+-68.654 42.2 3460
+-68.528 42.2 3382
+-68.402 42.2 3382
+-68.276 42.2 3382
+-68.15 42.2 3382
+-68.024 42.2 3382
+-67.898 42.2 3382
+-67.772 42.2 3381
+-67.646 42.2 3381
+-67.52 42.2 3381
+-67.394 42.2 3381
+-67.268 42.2 3381
+-67.142 42.2 3381
+-67.016 42.2 3381
+-66.89 42.2 3381
+-66.764 42.2 3381
+-66.638 42.2 3380
+-66.512 42.2 3380
+-66.386 42.2 3380
+-66.26 42.2 3380
+-66.134 42.2 3380
+-66.008 42.2 3380
+-65.882 42.2 3380
+-65.756 42.2 3380
+-65.63 42.2 3380
+-65.504 42.2 3380
+-65.378 42.2 3067
+-65.252 42.2 3066
+-65.126 42.2 3066
+-128 42.148 2666
+-127.874 42.148 2711
+-127.748 42.148 2837
+-127.622 42.148 2932
+-127.496 42.148 3022
+-127.37 42.148 3091
+-127.244 42.148 3133
+-127.118 42.148 3146
+-126.992 42.148 3121
+-126.866 42.148 3052
+-126.74 42.148 2972
+-126.614 42.148 2932
+-126.488 42.148 3015
+-126.362 42.148 3183
+-126.236 42.148 3360
+-126.11 42.148 3500
+-125.984 42.148 3628
+-125.858 42.148 3711
+-125.732 42.148 3774
+-125.606 42.148 3816
+-125.48 42.148 3842
+-125.354 42.148 3859
+-125.228 42.148 3854
+-125.102 42.148 3851
+-124.976 42.148 3899
+-124.85 42.148 3979
+-124.724 42.148 4048
+-124.598 42.148 4062
+-124.472 42.148 4056
+-124.346 42.148 4085
+-124.22 42.148 4139
+-124.094 42.148 4133
+-123.968 42.148 4123
+-123.842 42.148 4145
+-123.716 42.148 4210
+-123.59 42.148 4247
+-123.464 42.148 4266
+-123.338 42.148 4282
+-123.212 42.148 4273
+-123.086 42.148 4255
+-122.96 42.148 4280
+-122.834 42.148 4309
+-122.708 42.148 4323
+-122.582 42.148 4320
+-122.456 42.148 4310
+-122.33 42.148 4264
+-122.204 42.148 4214
+-122.078 42.148 4169
+-121.952 42.148 4127
+-121.826 42.148 4075
+-121.7 42.148 4054
+-121.574 42.148 4058
+-121.448 42.148 4066
+-121.322 42.148 4067
+-121.196 42.148 4095
+-121.07 42.148 4155
+-120.944 42.148 4249
+-120.818 42.148 4325
+-120.692 42.148 4378
+-120.566 42.148 4420
+-120.44 42.148 4557
+-120.314 42.148 4628
+-120.188 42.148 4657
+-120.062 42.148 4660
+-119.936 42.148 4699
+-119.81 42.148 4773
+-119.684 42.148 4833
+-119.558 42.148 4893
+-119.432 42.148 4928
+-119.306 42.148 4946
+-119.18 42.148 4966
+-119.054 42.148 4986
+-118.928 42.148 4995
+-118.802 42.148 5009
+-118.676 42.148 5047
+-118.55 42.148 5066
+-118.424 42.148 5069
+-118.298 42.148 5063
+-118.172 42.148 5046
+-118.046 42.148 5030
+-117.92 42.148 5018
+-117.794 42.148 4983
+-117.668 42.148 4964
+-117.542 42.148 4945
+-117.416 42.148 4918
+-117.29 42.148 4886
+-117.164 42.148 4867
+-117.038 42.148 4832
+-116.912 42.148 4757
+-116.786 42.148 4707
+-116.66 42.148 4625
+-116.534 42.148 4558
+-116.408 42.148 4502
+-116.282 42.148 4440
+-116.156 42.148 4428
+-116.03 42.148 4406
+-115.904 42.148 4358
+-115.778 42.148 4328
+-115.652 42.148 4302
+-115.526 42.148 4243
+-115.4 42.148 4166
+-115.274 42.148 4091
+-115.148 42.148 3962
+-115.022 42.148 3829
+-114.896 42.148 3776
+-114.77 42.148 3772
+-114.644 42.148 3738
+-114.518 42.148 3700
+-114.392 42.148 3657
+-114.266 42.148 3605
+-114.14 42.148 3553
+-114.014 42.148 3424
+-113.888 42.148 3322
+-113.762 42.148 3281
+-113.636 42.148 3244
+-113.51 42.148 3158
+-113.384 42.148 3117
+-113.258 42.148 3066
+-113.132 42.148 3022
+-113.006 42.148 2973
+-112.88 42.148 2901
+-112.754 42.148 2861
+-112.628 42.148 2808
+-112.502 42.148 2758
+-112.376 42.148 2689
+-112.25 42.148 2635
+-112.124 42.148 2581
+-111.998 42.148 2564
+-111.872 42.148 2555
+-111.746 42.148 2523
+-111.62 42.148 2529
+-111.494 42.148 2529
+-111.368 42.148 2542
+-111.242 42.148 2538
+-111.116 42.148 2545
+-110.99 42.148 2563
+-110.864 42.148 2581
+-110.738 42.148 2636
+-110.612 42.148 2654
+-110.486 42.148 2672
+-110.36 42.148 2689
+-110.234 42.148 2704
+-110.108 42.148 2735
+-109.982 42.148 2750
+-109.856 42.148 2764
+-109.73 42.148 2676
+-109.604 42.148 2686
+-109.478 42.148 2695
+-109.352 42.148 2704
+-109.226 42.148 2712
+-109.1 42.148 2605
+-108.974 42.148 2609
+-108.848 42.148 2613
+-108.722 42.148 2616
+-108.596 42.148 2597
+-108.47 42.148 2601
+-108.344 42.148 2596
+-108.218 42.148 2569
+-108.092 42.148 2572
+-107.966 42.148 2575
+-107.84 42.148 2590
+-107.714 42.148 2593
+-107.588 42.148 2582
+-107.462 42.148 2586
+-107.336 42.148 2590
+-107.21 42.148 2594
+-107.084 42.148 2598
+-106.958 42.148 2602
+-106.832 42.148 2606
+-106.706 42.148 2674
+-106.58 42.148 2609
+-106.454 42.148 2594
+-106.328 42.148 2591
+-106.202 42.148 2595
+-106.076 42.148 2452
+-105.95 42.148 2277
+-105.824 42.148 2268
+-105.698 42.148 2257
+-105.572 42.148 2246
+-105.446 42.148 2235
+-105.32 42.148 2168
+-105.194 42.148 2011
+-105.068 42.148 1928
+-104.942 42.148 1893
+-104.816 42.148 1879
+-104.69 42.148 1922
+-104.564 42.148 1874
+-104.438 42.148 1878
+-104.312 42.148 1848
+-104.186 42.148 1908
+-104.06 42.148 1872
+-103.934 42.148 2009
+-103.808 42.148 2027
+-103.682 42.148 2144
+-103.556 42.148 2139
+-103.43 42.148 2309
+-103.304 42.148 2300
+-103.178 42.148 2342
+-103.052 42.148 2333
+-102.926 42.148 2324
+-102.8 42.148 2314
+-102.674 42.148 2304
+-102.548 42.148 2293
+-102.422 42.148 2292
+-102.296 42.148 2294
+-102.17 42.148 2320
+-102.044 42.148 2308
+-101.918 42.148 2295
+-101.792 42.148 2282
+-101.666 42.148 2306
+-101.54 42.148 2290
+-101.414 42.148 2273
+-101.288 42.148 2254
+-101.162 42.148 2234
+-101.036 42.148 2213
+-100.91 42.148 2189
+-100.784 42.148 2195
+-100.658 42.148 2212
+-100.532 42.148 2183
+-100.406 42.148 2150
+-100.28 42.148 2113
+-100.154 42.148 2072
+-100.028 42.148 2026
+-99.902 42.148 1975
+-99.776 42.148 1926
+-99.65 42.148 1892
+-99.524 42.148 1834
+-99.398 42.148 1776
+-99.272 42.148 1688
+-99.146 42.148 1594
+-99.02 42.148 1497
+-98.894 42.148 1401
+-98.768 42.148 1315
+-98.642 42.148 1250
+-98.516 42.148 1218
+-98.39 42.148 1274
+-98.264 42.148 1390
+-98.138 42.148 1509
+-98.012 42.148 1667
+-97.886 42.148 1845
+-97.76 42.148 2029
+-97.634 42.148 2211
+-97.508 42.148 2372
+-97.382 42.148 2503
+-97.256 42.148 2637
+-97.13 42.148 2729
+-97.004 42.148 2790
+-96.878 42.148 2857
+-96.752 42.148 2916
+-96.626 42.148 3033
+-96.5 42.148 3082
+-96.374 42.148 3127
+-96.248 42.148 3173
+-96.122 42.148 3322
+-95.996 42.148 3346
+-95.87 42.148 3385
+-95.744 42.148 3449
+-95.618 42.148 3522
+-95.492 42.148 3544
+-95.366 42.148 3581
+-95.24 42.148 3619
+-95.114 42.148 3686
+-94.988 42.148 3748
+-94.862 42.148 3768
+-94.736 42.148 3794
+-94.61 42.148 3833
+-94.484 42.148 3942
+-94.358 42.148 4019
+-94.232 42.148 4180
+-94.106 42.148 4285
+-93.98 42.148 4405
+-93.854 42.148 4504
+-93.728 42.148 4542
+-93.602 42.148 4577
+-93.476 42.148 4654
+-93.35 42.148 4754
+-93.224 42.148 4805
+-93.098 42.148 4843
+-92.972 42.148 4900
+-92.846 42.148 4914
+-92.72 42.148 5032
+-92.594 42.148 5093
+-92.468 42.148 5137
+-92.342 42.148 5230
+-92.216 42.148 5337
+-92.09 42.148 5401
+-91.964 42.148 5472
+-91.838 42.148 5506
+-91.712 42.148 5514
+-91.586 42.148 5539
+-91.46 42.148 5618
+-91.334 42.148 5634
+-91.208 42.148 5715
+-91.082 42.148 5713
+-90.956 42.148 5732
+-90.83 42.148 5755
+-90.704 42.148 5763
+-90.578 42.148 5768
+-90.452 42.148 5784
+-90.326 42.148 5769
+-90.2 42.148 5791
+-90.074 42.148 5782
+-89.948 42.148 5747
+-89.822 42.148 5742
+-89.696 42.148 5697
+-89.57 42.148 5670
+-89.444 42.148 5647
+-89.318 42.148 5614
+-89.192 42.148 5558
+-89.066 42.148 5489
+-88.94 42.148 5429
+-88.814 42.148 5377
+-88.688 42.148 5359
+-88.562 42.148 5291
+-88.436 42.148 5229
+-88.31 42.148 5126
+-88.184 42.148 5050
+-88.058 42.148 5016
+-87.932 42.148 4920
+-87.806 42.148 4836
+-87.68 42.148 4781
+-87.554 42.148 4700
+-87.428 42.148 4558
+-87.302 42.148 4479
+-87.176 42.148 4394
+-87.05 42.148 4232
+-86.924 42.148 4309
+-86.798 42.148 4296
+-86.672 42.148 4254
+-86.546 42.148 4163
+-86.42 42.148 4046
+-86.294 42.148 3996
+-86.168 42.148 3920
+-86.042 42.148 3897
+-85.916 42.148 3864
+-85.79 42.148 3803
+-85.664 42.148 3751
+-85.538 42.148 3677
+-85.412 42.148 3515
+-85.286 42.148 3400
+-85.16 42.148 3472
+-85.034 42.148 3526
+-84.908 42.148 3549
+-84.782 42.148 3500
+-84.656 42.148 3463
+-84.53 42.148 3411
+-84.404 42.148 3302
+-84.278 42.148 3245
+-84.152 42.148 3168
+-84.026 42.148 3121
+-83.9 42.148 3134
+-83.774 42.148 3136
+-83.648 42.148 3136
+-83.522 42.148 3151
+-83.396 42.148 3167
+-83.27 42.148 3182
+-83.144 42.148 3198
+-83.018 42.148 3187
+-82.892 42.148 3200
+-82.766 42.148 3160
+-82.64 42.148 3208
+-82.514 42.148 3219
+-82.388 42.148 3219
+-82.262 42.148 3263
+-82.136 42.148 3231
+-82.01 42.148 3235
+-81.884 42.148 3242
+-81.758 42.148 3294
+-81.632 42.148 3265
+-81.506 42.148 3272
+-81.38 42.148 3365
+-81.254 42.148 3355
+-81.128 42.148 3362
+-81.002 42.148 3327
+-80.876 42.148 3385
+-80.75 42.148 3389
+-80.624 42.148 3395
+-80.498 42.148 3400
+-80.372 42.148 3405
+-80.246 42.148 3404
+-80.12 42.148 3409
+-79.994 42.148 3413
+-79.868 42.148 3403
+-79.742 42.148 3363
+-79.616 42.148 3361
+-79.49 42.148 3364
+-79.364 42.148 3367
+-79.238 42.148 3370
+-79.112 42.148 3373
+-78.986 42.148 3375
+-78.86 42.148 3378
+-78.734 42.148 3380
+-78.608 42.148 3382
+-78.482 42.148 3384
+-78.356 42.148 3386
+-78.23 42.148 3388
+-78.104 42.148 3390
+-77.978 42.148 3392
+-77.852 42.148 3394
+-77.726 42.148 3472
+-77.6 42.148 3475
+-77.474 42.148 3464
+-77.348 42.148 3466
+-77.222 42.148 3468
+-77.096 42.148 3470
+-76.97 42.148 3472
+-76.844 42.148 3474
+-76.718 42.148 3475
+-76.592 42.148 3477
+-76.466 42.148 3479
+-76.34 42.148 3480
+-76.214 42.148 3482
+-76.088 42.148 3507
+-75.962 42.148 3509
+-75.836 42.148 3511
+-75.71 42.148 3513
+-75.584 42.148 3515
+-75.458 42.148 3517
+-75.332 42.148 3483
+-75.206 42.148 3485
+-75.08 42.148 3486
+-74.954 42.148 3487
+-74.828 42.148 3514
+-74.702 42.148 3516
+-74.576 42.148 3518
+-74.45 42.148 3478
+-74.324 42.148 3479
+-74.198 42.148 3481
+-74.072 42.148 3608
+-73.946 42.148 3609
+-73.82 42.148 3610
+-73.694 42.148 3611
+-73.568 42.148 3611
+-73.442 42.148 3551
+-73.316 42.148 3552
+-73.19 42.148 3552
+-73.064 42.148 3553
+-72.938 42.148 3553
+-72.812 42.148 3554
+-72.686 42.148 3554
+-72.56 42.148 3554
+-72.434 42.148 3555
+-72.308 42.148 3555
+-72.182 42.148 3534
+-72.056 42.148 3523
+-71.93 42.148 3523
+-71.804 42.148 3524
+-71.678 42.148 3524
+-71.552 42.148 3525
+-71.426 42.148 3525
+-71.3 42.148 3508
+-71.174 42.148 3508
+-71.048 42.148 3509
+-70.922 42.148 3509
+-70.796 42.148 3509
+-70.67 42.148 3509
+-70.544 42.148 3510
+-70.418 42.148 3510
+-70.292 42.148 3458
+-70.166 42.148 3458
+-70.04 42.148 3458
+-69.914 42.148 3458
+-69.788 42.148 3459
+-69.662 42.148 3459
+-69.536 42.148 3459
+-69.41 42.148 3459
+-69.284 42.148 3459
+-69.158 42.148 3460
+-69.032 42.148 3460
+-68.906 42.148 3460
+-68.78 42.148 3460
+-68.654 42.148 3382
+-68.528 42.148 3382
+-68.402 42.148 3382
+-68.276 42.148 3382
+-68.15 42.148 3382
+-68.024 42.148 3382
+-67.898 42.148 3381
+-67.772 42.148 3381
+-67.646 42.148 3381
+-67.52 42.148 3381
+-67.394 42.148 3381
+-67.268 42.148 3381
+-67.142 42.148 3381
+-67.016 42.148 3381
+-66.89 42.148 3381
+-66.764 42.148 3380
+-66.638 42.148 3380
+-66.512 42.148 3380
+-66.386 42.148 3380
+-66.26 42.148 3380
+-66.134 42.148 3380
+-66.008 42.148 3380
+-65.882 42.148 3380
+-65.756 42.148 3380
+-65.63 42.148 3380
+-65.504 42.148 3067
+-65.378 42.148 3066
+-65.252 42.148 3066
+-65.126 42.148 3066
+-128 42.096 2783
+-127.874 42.096 2823
+-127.748 42.096 2878
+-127.622 42.096 2999
+-127.496 42.096 3061
+-127.37 42.096 3107
+-127.244 42.096 3135
+-127.118 42.096 3134
+-126.992 42.096 3089
+-126.866 42.096 3016
+-126.74 42.096 2920
+-126.614 42.096 2870
+-126.488 42.096 2938
+-126.362 42.096 3113
+-126.236 42.096 3294
+-126.11 42.096 3456
+-125.984 42.096 3566
+-125.858 42.096 3657
+-125.732 42.096 3724
+-125.606 42.096 3752
+-125.48 42.096 3803
+-125.354 42.096 3819
+-125.228 42.096 3840
+-125.102 42.096 3873
+-124.976 42.096 3913
+-124.85 42.096 3975
+-124.724 42.096 4016
+-124.598 42.096 4038
+-124.472 42.096 4058
+-124.346 42.096 4066
+-124.22 42.096 4096
+-124.094 42.096 4092
+-123.968 42.096 4078
+-123.842 42.096 4102
+-123.716 42.096 4150
+-123.59 42.096 4175
+-123.464 42.096 4190
+-123.338 42.096 4213
+-123.212 42.096 4221
+-123.086 42.096 4209
+-122.96 42.096 4219
+-122.834 42.096 4232
+-122.708 42.096 4240
+-122.582 42.096 4243
+-122.456 42.096 4223
+-122.33 42.096 4182
+-122.204 42.096 4146
+-122.078 42.096 4085
+-121.952 42.096 4040
+-121.826 42.096 3997
+-121.7 42.096 3978
+-121.574 42.096 3998
+-121.448 42.096 4016
+-121.322 42.096 4032
+-121.196 42.096 4039
+-121.07 42.096 4095
+-120.944 42.096 4193
+-120.818 42.096 4314
+-120.692 42.096 4350
+-120.566 42.096 4366
+-120.44 42.096 4478
+-120.314 42.096 4561
+-120.188 42.096 4634
+-120.062 42.096 4665
+-119.936 42.096 4676
+-119.81 42.096 4721
+-119.684 42.096 4787
+-119.558 42.096 4824
+-119.432 42.096 4876
+-119.306 42.096 4927
+-119.18 42.096 4947
+-119.054 42.096 4948
+-118.928 42.096 4943
+-118.802 42.096 4955
+-118.676 42.096 4986
+-118.55 42.096 5007
+-118.424 42.096 5003
+-118.298 42.096 4981
+-118.172 42.096 4986
+-118.046 42.096 4970
+-117.92 42.096 4961
+-117.794 42.096 4933
+-117.668 42.096 4907
+-117.542 42.096 4887
+-117.416 42.096 4874
+-117.29 42.096 4854
+-117.164 42.096 4805
+-117.038 42.096 4760
+-116.912 42.096 4711
+-116.786 42.096 4661
+-116.66 42.096 4595
+-116.534 42.096 4524
+-116.408 42.096 4468
+-116.282 42.096 4405
+-116.156 42.096 4375
+-116.03 42.096 4343
+-115.904 42.096 4288
+-115.778 42.096 4269
+-115.652 42.096 4234
+-115.526 42.096 4188
+-115.4 42.096 4125
+-115.274 42.096 4051
+-115.148 42.096 3949
+-115.022 42.096 3850
+-114.896 42.096 3787
+-114.77 42.096 3759
+-114.644 42.096 3719
+-114.518 42.096 3657
+-114.392 42.096 3590
+-114.266 42.096 3538
+-114.14 42.096 3490
+-114.014 42.096 3360
+-113.888 42.096 3265
+-113.762 42.096 3242
+-113.636 42.096 3209
+-113.51 42.096 3177
+-113.384 42.096 3098
+-113.258 42.096 3060
+-113.132 42.096 3012
+-113.006 42.096 2947
+-112.88 42.096 2905
+-112.754 42.096 2861
+-112.628 42.096 2829
+-112.502 42.096 2752
+-112.376 42.096 2684
+-112.25 42.096 2632
+-112.124 42.096 2592
+-111.998 42.096 2602
+-111.872 42.096 2592
+-111.746 42.096 2589
+-111.62 42.096 2558
+-111.494 42.096 2564
+-111.368 42.096 2563
+-111.242 42.096 2574
+-111.116 42.096 2566
+-110.99 42.096 2570
+-110.864 42.096 2585
+-110.738 42.096 2601
+-110.612 42.096 2655
+-110.486 42.096 2671
+-110.36 42.096 2686
+-110.234 42.096 2701
+-110.108 42.096 2680
+-109.982 42.096 2744
+-109.856 42.096 2656
+-109.73 42.096 2666
+-109.604 42.096 2676
+-109.478 42.096 2685
+-109.352 42.096 2694
+-109.226 42.096 2587
+-109.1 42.096 2591
+-108.974 42.096 2596
+-108.848 42.096 2600
+-108.722 42.096 2604
+-108.596 42.096 2607
+-108.47 42.096 2588
+-108.344 42.096 2592
+-108.218 42.096 2587
+-108.092 42.096 2560
+-107.966 42.096 2563
+-107.84 42.096 2566
+-107.714 42.096 2580
+-107.588 42.096 2584
+-107.462 42.096 2573
+-107.336 42.096 2578
+-107.21 42.096 2582
+-107.084 42.096 2586
+-106.958 42.096 2590
+-106.832 42.096 2594
+-106.706 42.096 2598
+-106.58 42.096 2666
+-106.454 42.096 2601
+-106.328 42.096 2585
+-106.202 42.096 2583
+-106.076 42.096 2439
+-105.95 42.096 2264
+-105.824 42.096 2255
+-105.698 42.096 2245
+-105.572 42.096 2234
+-105.446 42.096 2168
+-105.32 42.096 2155
+-105.194 42.096 2001
+-105.068 42.096 1919
+-104.942 42.096 1885
+-104.816 42.096 1882
+-104.69 42.096 1916
+-104.564 42.096 1844
+-104.438 42.096 1854
+-104.312 42.096 1829
+-104.186 42.096 1908
+-104.06 42.096 1871
+-103.934 42.096 2010
+-103.808 42.096 2028
+-103.682 42.096 2081
+-103.556 42.096 2139
+-103.43 42.096 2310
+-103.304 42.096 2301
+-103.178 42.096 2291
+-103.052 42.096 2333
+-102.926 42.096 2323
+-102.8 42.096 2314
+-102.674 42.096 2303
+-102.548 42.096 2292
+-102.422 42.096 2281
+-102.296 42.096 2279
+-102.17 42.096 2280
+-102.044 42.096 2306
+-101.918 42.096 2293
+-101.792 42.096 2279
+-101.666 42.096 2264
+-101.54 42.096 2287
+-101.414 42.096 2270
+-101.288 42.096 2251
+-101.162 42.096 2230
+-101.036 42.096 2208
+-100.91 42.096 2183
+-100.784 42.096 2157
+-100.658 42.096 2160
+-100.532 42.096 2173
+-100.406 42.096 2138
+-100.28 42.096 2099
+-100.154 42.096 2056
+-100.028 42.096 2007
+-99.902 42.096 1952
+-99.776 42.096 1889
+-99.65 42.096 1827
+-99.524 42.096 1773
+-99.398 42.096 1696
+-99.272 42.096 1613
+-99.146 42.096 1499
+-99.02 42.096 1378
+-98.894 42.096 1255
+-98.768 42.096 1138
+-98.642 42.096 1043
+-98.516 42.096 986
+-98.39 42.096 986
+-98.264 42.096 1092
+-98.138 42.096 1272
+-98.012 42.096 1468
+-97.886 42.096 1690
+-97.76 42.096 1912
+-97.634 42.096 2117
+-97.508 42.096 2307
+-97.382 42.096 2465
+-97.256 42.096 2587
+-97.13 42.096 2711
+-97.004 42.096 2793
+-96.878 42.096 2840
+-96.752 42.096 2951
+-96.626 42.096 3013
+-96.5 42.096 3068
+-96.374 42.096 3117
+-96.248 42.096 3164
+-96.122 42.096 3373
+-95.996 42.096 3398
+-95.87 42.096 3421
+-95.744 42.096 3462
+-95.618 42.096 3515
+-95.492 42.096 3535
+-95.366 42.096 3557
+-95.24 42.096 3638
+-95.114 42.096 3677
+-94.988 42.096 3745
+-94.862 42.096 3795
+-94.736 42.096 3835
+-94.61 42.096 3898
+-94.484 42.096 3965
+-94.358 42.096 4074
+-94.232 42.096 4172
+-94.106 42.096 4335
+-93.98 42.096 4473
+-93.854 42.096 4502
+-93.728 42.096 4525
+-93.602 42.096 4477
+-93.476 42.096 4633
+-93.35 42.096 4780
+-93.224 42.096 4793
+-93.098 42.096 4883
+-92.972 42.096 4929
+-92.846 42.096 4983
+-92.72 42.096 5041
+-92.594 42.096 5124
+-92.468 42.096 5210
+-92.342 42.096 5292
+-92.216 42.096 5394
+-92.09 42.096 5473
+-91.964 42.096 5524
+-91.838 42.096 5576
+-91.712 42.096 5565
+-91.586 42.096 5618
+-91.46 42.096 5665
+-91.334 42.096 5701
+-91.208 42.096 5747
+-91.082 42.096 5774
+-90.956 42.096 5803
+-90.83 42.096 5797
+-90.704 42.096 5826
+-90.578 42.096 5839
+-90.452 42.096 5833
+-90.326 42.096 5830
+-90.2 42.096 5830
+-90.074 42.096 5841
+-89.948 42.096 5827
+-89.822 42.096 5794
+-89.696 42.096 5760
+-89.57 42.096 5714
+-89.444 42.096 5705
+-89.318 42.096 5660
+-89.192 42.096 5598
+-89.066 42.096 5553
+-88.94 42.096 5491
+-88.814 42.096 5441
+-88.688 42.096 5328
+-88.562 42.096 5330
+-88.436 42.096 5271
+-88.31 42.096 5173
+-88.184 42.096 5046
+-88.058 42.096 5066
+-87.932 42.096 4944
+-87.806 42.096 4858
+-87.68 42.096 4796
+-87.554 42.096 4744
+-87.428 42.096 4567
+-87.302 42.096 4469
+-87.176 42.096 4433
+-87.05 42.096 4388
+-86.924 42.096 4372
+-86.798 42.096 4355
+-86.672 42.096 4287
+-86.546 42.096 4208
+-86.42 42.096 4131
+-86.294 42.096 4048
+-86.168 42.096 3955
+-86.042 42.096 3892
+-85.916 42.096 3861
+-85.79 42.096 3802
+-85.664 42.096 3758
+-85.538 42.096 3719
+-85.412 42.096 3602
+-85.286 42.096 3505
+-85.16 42.096 3525
+-85.034 42.096 3571
+-84.908 42.096 3580
+-84.782 42.096 3565
+-84.656 42.096 3499
+-84.53 42.096 3461
+-84.404 42.096 3414
+-84.278 42.096 3318
+-84.152 42.096 3275
+-84.026 42.096 3253
+-83.9 42.096 3234
+-83.774 42.096 3221
+-83.648 42.096 3225
+-83.522 42.096 3233
+-83.396 42.096 3243
+-83.27 42.096 3214
+-83.144 42.096 3201
+-83.018 42.096 3213
+-82.892 42.096 3217
+-82.766 42.096 3219
+-82.64 42.096 3229
+-82.514 42.096 3228
+-82.388 42.096 3271
+-82.262 42.096 3239
+-82.136 42.096 3242
+-82.01 42.096 3249
+-81.884 42.096 3300
+-81.758 42.096 3271
+-81.632 42.096 3278
+-81.506 42.096 3369
+-81.38 42.096 3359
+-81.254 42.096 3366
+-81.128 42.096 3331
+-81.002 42.096 3388
+-80.876 42.096 3392
+-80.75 42.096 3397
+-80.624 42.096 3403
+-80.498 42.096 3408
+-80.372 42.096 3406
+-80.246 42.096 3411
+-80.12 42.096 3416
+-79.994 42.096 3405
+-79.868 42.096 3366
+-79.742 42.096 3363
+-79.616 42.096 3366
+-79.49 42.096 3369
+-79.364 42.096 3372
+-79.238 42.096 3375
+-79.112 42.096 3377
+-78.986 42.096 3380
+-78.86 42.096 3382
+-78.734 42.096 3384
+-78.608 42.096 3386
+-78.482 42.096 3388
+-78.356 42.096 3390
+-78.23 42.096 3392
+-78.104 42.096 3394
+-77.978 42.096 3395
+-77.852 42.096 3472
+-77.726 42.096 3475
+-77.6 42.096 3464
+-77.474 42.096 3466
+-77.348 42.096 3468
+-77.222 42.096 3470
+-77.096 42.096 3472
+-76.97 42.096 3474
+-76.844 42.096 3475
+-76.718 42.096 3477
+-76.592 42.096 3479
+-76.466 42.096 3480
+-76.34 42.096 3482
+-76.214 42.096 3507
+-76.088 42.096 3509
+-75.962 42.096 3511
+-75.836 42.096 3513
+-75.71 42.096 3515
+-75.584 42.096 3517
+-75.458 42.096 3483
+-75.332 42.096 3485
+-75.206 42.096 3486
+-75.08 42.096 3488
+-74.954 42.096 3514
+-74.828 42.096 3516
+-74.702 42.096 3518
+-74.576 42.096 3478
+-74.45 42.096 3480
+-74.324 42.096 3481
+-74.198 42.096 3607
+-74.072 42.096 3608
+-73.946 42.096 3609
+-73.82 42.096 3610
+-73.694 42.096 3611
+-73.568 42.096 3551
+-73.442 42.096 3551
+-73.316 42.096 3552
+-73.19 42.096 3552
+-73.064 42.096 3553
+-72.938 42.096 3553
+-72.812 42.096 3554
+-72.686 42.096 3554
+-72.56 42.096 3555
+-72.434 42.096 3555
+-72.308 42.096 3534
+-72.182 42.096 3523
+-72.056 42.096 3523
+-71.93 42.096 3524
+-71.804 42.096 3524
+-71.678 42.096 3524
+-71.552 42.096 3507
+-71.426 42.096 3508
+-71.3 42.096 3508
+-71.174 42.096 3508
+-71.048 42.096 3509
+-70.922 42.096 3509
+-70.796 42.096 3509
+-70.67 42.096 3510
+-70.544 42.096 3510
+-70.418 42.096 3457
+-70.292 42.096 3458
+-70.166 42.096 3458
+-70.04 42.096 3458
+-69.914 42.096 3458
+-69.788 42.096 3459
+-69.662 42.096 3459
+-69.536 42.096 3459
+-69.41 42.096 3459
+-69.284 42.096 3460
+-69.158 42.096 3460
+-69.032 42.096 3460
+-68.906 42.096 3460
+-68.78 42.096 3382
+-68.654 42.096 3382
+-68.528 42.096 3382
+-68.402 42.096 3382
+-68.276 42.096 3382
+-68.15 42.096 3382
+-68.024 42.096 3381
+-67.898 42.096 3381
+-67.772 42.096 3381
+-67.646 42.096 3381
+-67.52 42.096 3381
+-67.394 42.096 3381
+-67.268 42.096 3381
+-67.142 42.096 3381
+-67.016 42.096 3381
+-66.89 42.096 3380
+-66.764 42.096 3380
+-66.638 42.096 3380
+-66.512 42.096 3380
+-66.386 42.096 3380
+-66.26 42.096 3380
+-66.134 42.096 3380
+-66.008 42.096 3380
+-65.882 42.096 3380
+-65.756 42.096 3380
+-65.63 42.096 3067
+-65.504 42.096 3066
+-65.378 42.096 3066
+-65.252 42.096 3066
+-65.126 42.096 3065
+-128 42.044 2872
+-127.874 42.044 2900
+-127.748 42.044 2939
+-127.622 42.044 2987
+-127.496 42.044 3030
+-127.37 42.044 3064
+-127.244 42.044 3085
+-127.118 42.044 3076
+-126.992 42.044 3076
+-126.866 42.044 3026
+-126.74 42.044 2960
+-126.614 42.044 2925
+-126.488 42.044 2985
+-126.362 42.044 3111
+-126.236 42.044 3254
+-126.11 42.044 3393
+-125.984 42.044 3528
+-125.858 42.044 3609
+-125.732 42.044 3658
+-125.606 42.044 3698
+-125.48 42.044 3742
+-125.354 42.044 3779
+-125.228 42.044 3812
+-125.102 42.044 3840
+-124.976 42.044 3904
+-124.85 42.044 3933
+-124.724 42.044 3980
+-124.598 42.044 3995
+-124.472 42.044 4009
+-124.346 42.044 4026
+-124.22 42.044 4065
+-124.094 42.044 4076
+-123.968 42.044 4083
+-123.842 42.044 4096
+-123.716 42.044 4113
+-123.59 42.044 4140
+-123.464 42.044 4140
+-123.338 42.044 4159
+-123.212 42.044 4174
+-123.086 42.044 4177
+-122.96 42.044 4167
+-122.834 42.044 4159
+-122.708 42.044 4161
+-122.582 42.044 4145
+-122.456 42.044 4126
+-122.33 42.044 4091
+-122.204 42.044 4061
+-122.078 42.044 4017
+-121.952 42.044 3976
+-121.826 42.044 3964
+-121.7 42.044 3956
+-121.574 42.044 3936
+-121.448 42.044 3950
+-121.322 42.044 3988
+-121.196 42.044 4007
+-121.07 42.044 4036
+-120.944 42.044 4118
+-120.818 42.044 4240
+-120.692 42.044 4309
+-120.566 42.044 4329
+-120.44 42.044 4410
+-120.314 42.044 4491
+-120.188 42.044 4568
+-120.062 42.044 4596
+-119.936 42.044 4650
+-119.81 42.044 4702
+-119.684 42.044 4768
+-119.558 42.044 4771
+-119.432 42.044 4824
+-119.306 42.044 4879
+-119.18 42.044 4908
+-119.054 42.044 4896
+-118.928 42.044 4869
+-118.802 42.044 4887
+-118.676 42.044 4915
+-118.55 42.044 4934
+-118.424 42.044 4935
+-118.298 42.044 4920
+-118.172 42.044 4930
+-118.046 42.044 4939
+-117.92 42.044 4926
+-117.794 42.044 4921
+-117.668 42.044 4882
+-117.542 42.044 4862
+-117.416 42.044 4831
+-117.29 42.044 4794
+-117.164 42.044 4783
+-117.038 42.044 4717
+-116.912 42.044 4684
+-116.786 42.044 4634
+-116.66 42.044 4581
+-116.534 42.044 4501
+-116.408 42.044 4478
+-116.282 42.044 4395
+-116.156 42.044 4317
+-116.03 42.044 4288
+-115.904 42.044 4249
+-115.778 42.044 4231
+-115.652 42.044 4194
+-115.526 42.044 4156
+-115.4 42.044 4086
+-115.274 42.044 4022
+-115.148 42.044 3933
+-115.022 42.044 3850
+-114.896 42.044 3776
+-114.77 42.044 3729
+-114.644 42.044 3677
+-114.518 42.044 3611
+-114.392 42.044 3533
+-114.266 42.044 3421
+-114.14 42.044 3371
+-114.014 42.044 3331
+-113.888 42.044 3209
+-113.762 42.044 3177
+-113.636 42.044 3148
+-113.51 42.044 3122
+-113.384 42.044 3095
+-113.258 42.044 3047
+-113.132 42.044 3005
+-113.006 42.044 2960
+-112.88 42.044 2899
+-112.754 42.044 2852
+-112.628 42.044 2800
+-112.502 42.044 2730
+-112.376 42.044 2678
+-112.25 42.044 2651
+-112.124 42.044 2630
+-111.998 42.044 2598
+-111.872 42.044 2616
+-111.746 42.044 2547
+-111.62 42.044 2547
+-111.494 42.044 2550
+-111.368 42.044 2588
+-111.242 42.044 2587
+-111.116 42.044 2596
+-110.99 42.044 2585
+-110.864 42.044 2588
+-110.738 42.044 2602
+-110.612 42.044 2616
+-110.486 42.044 2669
+-110.36 42.044 2684
+-110.234 42.044 2698
+-110.108 42.044 2675
+-109.982 42.044 2585
+-109.856 42.044 2595
+-109.73 42.044 2603
+-109.604 42.044 2611
+-109.478 42.044 2619
+-109.352 42.044 2568
+-109.226 42.044 2573
+-109.1 42.044 2578
+-108.974 42.044 2582
+-108.848 42.044 2587
+-108.722 42.044 2591
+-108.596 42.044 2594
+-108.47 42.044 2598
+-108.344 42.044 2579
+-108.218 42.044 2583
+-108.092 42.044 2578
+-107.966 42.044 2551
+-107.84 42.044 2554
+-107.714 42.044 2557
+-107.588 42.044 2571
+-107.462 42.044 2575
+-107.336 42.044 2565
+-107.21 42.044 2569
+-107.084 42.044 2573
+-106.958 42.044 2578
+-106.832 42.044 2582
+-106.706 42.044 2586
+-106.58 42.044 2590
+-106.454 42.044 2658
+-106.328 42.044 2593
+-106.202 42.044 2453
+-106.076 42.044 2426
+-105.95 42.044 2269
+-105.824 42.044 2242
+-105.698 42.044 2232
+-105.572 42.044 2167
+-105.446 42.044 2156
+-105.32 42.044 2143
+-105.194 42.044 1991
+-105.068 42.044 1911
+-104.942 42.044 1877
+-104.816 42.044 1874
+-104.69 42.044 1910
+-104.564 42.044 1839
+-104.438 42.044 1849
+-104.312 42.044 1829
+-104.186 42.044 1890
+-104.06 42.044 1891
+-103.934 42.044 1983
+-103.808 42.044 1981
+-103.682 42.044 2082
+-103.556 42.044 2078
+-103.43 42.044 2250
+-103.304 42.044 2302
+-103.178 42.044 2292
+-103.052 42.044 2282
+-102.926 42.044 2323
+-102.8 42.044 2313
+-102.674 42.044 2303
+-102.548 42.044 2292
+-102.422 42.044 2281
+-102.296 42.044 2268
+-102.17 42.044 2266
+-102.044 42.044 2265
+-101.918 42.044 2291
+-101.792 42.044 2277
+-101.666 42.044 2262
+-101.54 42.044 2246
+-101.414 42.044 2267
+-101.288 42.044 2248
+-101.162 42.044 2227
+-101.036 42.044 2204
+-100.91 42.044 2179
+-100.784 42.044 2152
+-100.658 42.044 2122
+-100.532 42.044 2123
+-100.406 42.044 2129
+-100.28 42.044 2089
+-100.154 42.044 2043
+-100.028 42.044 1992
+-99.902 42.044 1933
+-99.776 42.044 1866
+-99.65 42.044 1789
+-99.524 42.044 1709
+-99.398 42.044 1632
+-99.272 42.044 1529
+-99.146 42.044 1415
+-99.02 42.044 1269
+-98.894 42.044 1116
+-98.768 42.044 966
+-98.642 42.044 835
+-98.516 42.044 748
+-98.39 42.044 731
+-98.264 42.044 800
+-98.138 42.044 992
+-98.012 42.044 1263
+-97.886 42.044 1534
+-97.76 42.044 1802
+-97.634 42.044 2042
+-97.508 42.044 2244
+-97.382 42.044 2422
+-97.256 42.044 2564
+-97.13 42.044 2669
+-97.004 42.044 2745
+-96.878 42.044 2868
+-96.752 42.044 2927
+-96.626 42.044 2981
+-96.5 42.044 3045
+-96.374 42.044 3146
+-96.248 42.044 3203
+-96.122 42.044 3355
+-95.996 42.044 3385
+-95.87 42.044 3412
+-95.744 42.044 3435
+-95.618 42.044 3472
+-95.492 42.044 3561
+-95.366 42.044 3572
+-95.24 42.044 3613
+-95.114 42.044 3649
+-94.988 42.044 3717
+-94.862 42.044 3792
+-94.736 42.044 3839
+-94.61 42.044 3882
+-94.484 42.044 3950
+-94.358 42.044 4095
+-94.232 42.044 4243
+-94.106 42.044 4380
+-93.98 42.044 4499
+-93.854 42.044 4515
+-93.728 42.044 4459
+-93.602 42.044 4560
+-93.476 42.044 4690
+-93.35 42.044 4798
+-93.224 42.044 4858
+-93.098 42.044 4915
+-92.972 42.044 4980
+-92.846 42.044 5043
+-92.72 42.044 5115
+-92.594 42.044 5205
+-92.468 42.044 5232
+-92.342 42.044 5329
+-92.216 42.044 5455
+-92.09 42.044 5506
+-91.964 42.044 5560
+-91.838 42.044 5609
+-91.712 42.044 5651
+-91.586 42.044 5700
+-91.46 42.044 5729
+-91.334 42.044 5780
+-91.208 42.044 5809
+-91.082 42.044 5841
+-90.956 42.044 5855
+-90.83 42.044 5885
+-90.704 42.044 5882
+-90.578 42.044 5886
+-90.452 42.044 5897
+-90.326 42.044 5903
+-90.2 42.044 5891
+-90.074 42.044 5889
+-89.948 42.044 5869
+-89.822 42.044 5841
+-89.696 42.044 5793
+-89.57 42.044 5783
+-89.444 42.044 5738
+-89.318 42.044 5688
+-89.192 42.044 5641
+-89.066 42.044 5616
+-88.94 42.044 5551
+-88.814 42.044 5498
+-88.688 42.044 5426
+-88.562 42.044 5370
+-88.436 42.044 5313
+-88.31 42.044 5221
+-88.184 42.044 5193
+-88.058 42.044 5141
+-87.932 42.044 5014
+-87.806 42.044 4902
+-87.68 42.044 4832
+-87.554 42.044 4769
+-87.428 42.044 4635
+-87.302 42.044 4547
+-87.176 42.044 4509
+-87.05 42.044 4491
+-86.924 42.044 4465
+-86.798 42.044 4444
+-86.672 42.044 4379
+-86.546 42.044 4296
+-86.42 42.044 4218
+-86.294 42.044 4132
+-86.168 42.044 4043
+-86.042 42.044 3966
+-85.916 42.044 3897
+-85.79 42.044 3799
+-85.664 42.044 3737
+-85.538 42.044 3752
+-85.412 42.044 3707
+-85.286 42.044 3653
+-85.16 42.044 3624
+-85.034 42.044 3624
+-84.908 42.044 3615
+-84.782 42.044 3594
+-84.656 42.044 3563
+-84.53 42.044 3488
+-84.404 42.044 3447
+-84.278 42.044 3407
+-84.152 42.044 3368
+-84.026 42.044 3349
+-83.9 42.044 3282
+-83.774 42.044 3273
+-83.648 42.044 3266
+-83.522 42.044 3269
+-83.396 42.044 3274
+-83.27 42.044 3220
+-83.144 42.044 3228
+-83.018 42.044 3229
+-82.892 42.044 3232
+-82.766 42.044 3240
+-82.64 42.044 3239
+-82.514 42.044 3281
+-82.388 42.044 3249
+-82.262 42.044 3251
+-82.136 42.044 3258
+-82.01 42.044 3307
+-81.884 42.044 3278
+-81.758 42.044 3285
+-81.632 42.044 3374
+-81.506 42.044 3364
+-81.38 42.044 3371
+-81.254 42.044 3336
+-81.128 42.044 3391
+-81.002 42.044 3395
+-80.876 42.044 3400
+-80.75 42.044 3406
+-80.624 42.044 3411
+-80.498 42.044 3409
+-80.372 42.044 3414
+-80.246 42.044 3418
+-80.12 42.044 3408
+-79.994 42.044 3368
+-79.868 42.044 3365
+-79.742 42.044 3368
+-79.616 42.044 3371
+-79.49 42.044 3374
+-79.364 42.044 3377
+-79.238 42.044 3379
+-79.112 42.044 3382
+-78.986 42.044 3384
+-78.86 42.044 3386
+-78.734 42.044 3388
+-78.608 42.044 3390
+-78.482 42.044 3392
+-78.356 42.044 3394
+-78.23 42.044 3395
+-78.104 42.044 3397
+-77.978 42.044 3472
+-77.852 42.044 3474
+-77.726 42.044 3464
+-77.6 42.044 3466
+-77.474 42.044 3468
+-77.348 42.044 3470
+-77.222 42.044 3472
+-77.096 42.044 3474
+-76.97 42.044 3476
+-76.844 42.044 3477
+-76.718 42.044 3479
+-76.592 42.044 3480
+-76.466 42.044 3482
+-76.34 42.044 3507
+-76.214 42.044 3509
+-76.088 42.044 3511
+-75.962 42.044 3513
+-75.836 42.044 3515
+-75.71 42.044 3517
+-75.584 42.044 3483
+-75.458 42.044 3485
+-75.332 42.044 3486
+-75.206 42.044 3488
+-75.08 42.044 3514
+-74.954 42.044 3516
+-74.828 42.044 3518
+-74.702 42.044 3478
+-74.576 42.044 3480
+-74.45 42.044 3481
+-74.324 42.044 3607
+-74.198 42.044 3608
+-74.072 42.044 3608
+-73.946 42.044 3609
+-73.82 42.044 3610
+-73.694 42.044 3550
+-73.568 42.044 3551
+-73.442 42.044 3552
+-73.316 42.044 3552
+-73.19 42.044 3553
+-73.064 42.044 3553
+-72.938 42.044 3553
+-72.812 42.044 3554
+-72.686 42.044 3554
+-72.56 42.044 3555
+-72.434 42.044 3534
+-72.308 42.044 3522
+-72.182 42.044 3523
+-72.056 42.044 3523
+-71.93 42.044 3524
+-71.804 42.044 3524
+-71.678 42.044 3525
+-71.552 42.044 3507
+-71.426 42.044 3508
+-71.3 42.044 3508
+-71.174 42.044 3509
+-71.048 42.044 3509
+-70.922 42.044 3509
+-70.796 42.044 3509
+-70.67 42.044 3510
+-70.544 42.044 3457
+-70.418 42.044 3457
+-70.292 42.044 3458
+-70.166 42.044 3458
+-70.04 42.044 3458
+-69.914 42.044 3458
+-69.788 42.044 3459
+-69.662 42.044 3459
+-69.536 42.044 3459
+-69.41 42.044 3459
+-69.284 42.044 3460
+-69.158 42.044 3460
+-69.032 42.044 3460
+-68.906 42.044 3382
+-68.78 42.044 3382
+-68.654 42.044 3382
+-68.528 42.044 3382
+-68.402 42.044 3382
+-68.276 42.044 3382
+-68.15 42.044 3381
+-68.024 42.044 3381
+-67.898 42.044 3381
+-67.772 42.044 3381
+-67.646 42.044 3381
+-67.52 42.044 3381
+-67.394 42.044 3381
+-67.268 42.044 3381
+-67.142 42.044 3381
+-67.016 42.044 3380
+-66.89 42.044 3380
+-66.764 42.044 3380
+-66.638 42.044 3380
+-66.512 42.044 3380
+-66.386 42.044 3380
+-66.26 42.044 3380
+-66.134 42.044 3380
+-66.008 42.044 3380
+-65.882 42.044 3380
+-65.756 42.044 3067
+-65.63 42.044 3066
+-65.504 42.044 3066
+-65.378 42.044 3066
+-65.252 42.044 3065
+-65.126 42.044 3065
+-128 41.992 2930
+-127.874 41.992 2951
+-127.748 41.992 2983
+-127.622 41.992 3015
+-127.496 41.992 3045
+-127.37 41.992 3070
+-127.244 41.992 3084
+-127.118 41.992 3078
+-126.992 41.992 3058
+-126.866 41.992 3044
+-126.74 41.992 3041
+-126.614 41.992 3023
+-126.488 41.992 3070
+-126.362 41.992 3162
+-126.236 41.992 3264
+-126.11 41.992 3358
+-125.984 41.992 3463
+-125.858 41.992 3508
+-125.732 41.992 3562
+-125.606 41.992 3621
+-125.48 41.992 3664
+-125.354 41.992 3711
+-125.228 41.992 3755
+-125.102 41.992 3820
+-124.976 41.992 3845
+-124.85 41.992 3865
+-124.724 41.992 3898
+-124.598 41.992 3909
+-124.472 41.992 3932
+-124.346 41.992 3965
+-124.22 41.992 4009
+-124.094 41.992 4037
+-123.968 41.992 4055
+-123.842 41.992 4062
+-123.716 41.992 4066
+-123.59 41.992 4091
+-123.464 41.992 4095
+-123.338 41.992 4105
+-123.212 41.992 4100
+-123.086 41.992 4100
+-122.96 41.992 4091
+-122.834 41.992 4093
+-122.708 41.992 4104
+-122.582 41.992 4091
+-122.456 41.992 4069
+-122.33 41.992 4016
+-122.204 41.992 3988
+-122.078 41.992 3960
+-121.952 41.992 3951
+-121.826 41.992 3977
+-121.7 41.992 3931
+-121.574 41.992 3880
+-121.448 41.992 3909
+-121.322 41.992 3944
+-121.196 41.992 3984
+-121.07 41.992 3998
+-120.944 41.992 4046
+-120.818 41.992 4129
+-120.692 41.992 4214
+-120.566 41.992 4254
+-120.44 41.992 4334
+-120.314 41.992 4411
+-120.188 41.992 4512
+-120.062 41.992 4531
+-119.936 41.992 4588
+-119.81 41.992 4678
+-119.684 41.992 4751
+-119.558 41.992 4775
+-119.432 41.992 4810
+-119.306 41.992 4840
+-119.18 41.992 4851
+-119.054 41.992 4864
+-118.928 41.992 4860
+-118.802 41.992 4855
+-118.676 41.992 4865
+-118.55 41.992 4889
+-118.424 41.992 4897
+-118.298 41.992 4898
+-118.172 41.992 4886
+-118.046 41.992 4877
+-117.92 41.992 4871
+-117.794 41.992 4867
+-117.668 41.992 4851
+-117.542 41.992 4821
+-117.416 41.992 4780
+-117.29 41.992 4730
+-117.164 41.992 4731
+-117.038 41.992 4691
+-116.912 41.992 4663
+-116.786 41.992 4622
+-116.66 41.992 4545
+-116.534 41.992 4496
+-116.408 41.992 4461
+-116.282 41.992 4384
+-116.156 41.992 4317
+-116.03 41.992 4241
+-115.904 41.992 4165
+-115.778 41.992 4186
+-115.652 41.992 4154
+-115.526 41.992 4088
+-115.4 41.992 4030
+-115.274 41.992 3975
+-115.148 41.992 3901
+-115.022 41.992 3809
+-114.896 41.992 3746
+-114.77 41.992 3658
+-114.644 41.992 3589
+-114.518 41.992 3517
+-114.392 41.992 3410
+-114.266 41.992 3371
+-114.14 41.992 3285
+-114.014 41.992 3247
+-113.888 41.992 3125
+-113.762 41.992 3099
+-113.636 41.992 3096
+-113.51 41.992 3077
+-113.384 41.992 3039
+-113.258 41.992 3017
+-113.132 41.992 2990
+-113.006 41.992 2913
+-112.88 41.992 2853
+-112.754 41.992 2775
+-112.628 41.992 2726
+-112.502 41.992 2696
+-112.376 41.992 2669
+-112.25 41.992 2655
+-112.124 41.992 2637
+-111.998 41.992 2589
+-111.872 41.992 2599
+-111.746 41.992 2600
+-111.62 41.992 2556
+-111.494 41.992 2559
+-111.368 41.992 2564
+-111.242 41.992 2603
+-111.116 41.992 2603
+-110.99 41.992 2611
+-110.864 41.992 2599
+-110.738 41.992 2601
+-110.612 41.992 2614
+-110.486 41.992 2616
+-110.36 41.992 2629
+-110.234 41.992 2597
+-110.108 41.992 2566
+-109.982 41.992 2576
+-109.856 41.992 2585
+-109.73 41.992 2593
+-109.604 41.992 2601
+-109.478 41.992 2549
+-109.352 41.992 2555
+-109.226 41.992 2560
+-109.1 41.992 2564
+-108.974 41.992 2569
+-108.848 41.992 2573
+-108.722 41.992 2577
+-108.596 41.992 2581
+-108.47 41.992 2585
+-108.344 41.992 2588
+-108.218 41.992 2570
+-108.092 41.992 2574
+-107.966 41.992 2569
+-107.84 41.992 2542
+-107.714 41.992 2545
+-107.588 41.992 2548
+-107.462 41.992 2563
+-107.336 41.992 2566
+-107.21 41.992 2556
+-107.084 41.992 2561
+-106.958 41.992 2565
+-106.832 41.992 2570
+-106.706 41.992 2574
+-106.58 41.992 2578
+-106.454 41.992 2582
+-106.328 41.992 2650
+-106.202 41.992 2440
+-106.076 41.992 2432
+-105.95 41.992 2256
+-105.824 41.992 2230
+-105.698 41.992 2166
+-105.572 41.992 2155
+-105.446 41.992 2144
+-105.32 41.992 2131
+-105.194 41.992 1981
+-105.068 41.992 1902
+-104.942 41.992 1870
+-104.816 41.992 1867
+-104.69 41.992 1904
+-104.564 41.992 1843
+-104.438 41.992 1847
+-104.312 41.992 1829
+-104.186 41.992 1891
+-104.06 41.992 1892
+-103.934 41.992 1984
+-103.808 41.992 2038
+-103.682 41.992 2094
+-103.556 41.992 2078
+-103.43 41.992 2251
+-103.304 41.992 2243
+-103.178 41.992 2293
+-103.052 41.992 2283
+-102.926 41.992 2272
+-102.8 41.992 2314
+-102.674 41.992 2303
+-102.548 41.992 2292
+-102.422 41.992 2281
+-102.296 41.992 2268
+-102.17 41.992 2255
+-102.044 41.992 2252
+-101.918 41.992 2250
+-101.792 41.992 2276
+-101.666 41.992 2261
+-101.54 41.992 2245
+-101.414 41.992 2227
+-101.288 41.992 2246
+-101.162 41.992 2225
+-101.036 41.992 2202
+-100.91 41.992 2177
+-100.784 41.992 2149
+-100.658 41.992 2119
+-100.532 41.992 2085
+-100.406 41.992 2082
+-100.28 41.992 2082
+-100.154 41.992 2035
+-100.028 41.992 1981
+-99.902 41.992 1920
+-99.776 41.992 1850
+-99.65 41.992 1769
+-99.524 41.992 1675
+-99.398 41.992 1573
+-99.272 41.992 1467
+-99.146 41.992 1333
+-99.02 41.992 1181
+-98.894 41.992 1001
+-98.768 41.992 818
+-98.642 41.992 651
+-98.516 41.992 532
+-98.39 41.992 494
+-98.264 41.992 565
+-98.138 41.992 745
+-98.012 41.992 1043
+-97.886 41.992 1398
+-97.76 41.992 1709
+-97.634 41.992 1983
+-97.508 41.992 2209
+-97.382 41.992 2384
+-97.256 41.992 2522
+-97.13 41.992 2700
+-97.004 41.992 2785
+-96.878 41.992 2844
+-96.752 41.992 2932
+-96.626 41.992 2984
+-96.5 41.992 3067
+-96.374 41.992 3134
+-96.248 41.992 3287
+-96.122 41.992 3325
+-95.996 41.992 3362
+-95.87 41.992 3445
+-95.744 41.992 3465
+-95.618 41.992 3508
+-95.492 41.992 3513
+-95.366 41.992 3544
+-95.24 41.992 3575
+-95.114 41.992 3598
+-94.988 41.992 3666
+-94.862 41.992 3735
+-94.736 41.992 3817
+-94.61 41.992 3837
+-94.484 41.992 3931
+-94.358 41.992 4095
+-94.232 41.992 4253
+-94.106 41.992 4399
+-93.98 41.992 4507
+-93.854 41.992 4550
+-93.728 41.992 4560
+-93.602 41.992 4645
+-93.476 41.992 4763
+-93.35 41.992 4853
+-93.224 41.992 4913
+-93.098 41.992 4973
+-92.972 41.992 5043
+-92.846 41.992 5076
+-92.72 41.992 5157
+-92.594 41.992 5253
+-92.468 41.992 5316
+-92.342 41.992 5415
+-92.216 41.992 5483
+-92.09 41.992 5535
+-91.964 41.992 5603
+-91.838 41.992 5690
+-91.712 41.992 5720
+-91.586 41.992 5769
+-91.46 41.992 5820
+-91.334 41.992 5859
+-91.208 41.992 5877
+-91.082 41.992 5899
+-90.956 41.992 5910
+-90.83 41.992 5908
+-90.704 41.992 5939
+-90.578 41.992 5933
+-90.452 41.992 5943
+-90.326 41.992 5959
+-90.2 41.992 5927
+-90.074 41.992 5945
+-89.948 41.992 5906
+-89.822 41.992 5886
+-89.696 41.992 5858
+-89.57 41.992 5811
+-89.444 41.992 5799
+-89.318 41.992 5757
+-89.192 41.992 5707
+-89.066 41.992 5650
+-88.94 41.992 5587
+-88.814 41.992 5533
+-88.688 41.992 5486
+-88.562 41.992 5405
+-88.436 41.992 5365
+-88.31 41.992 5278
+-88.184 41.992 5172
+-88.058 41.992 5182
+-87.932 41.992 5113
+-87.806 41.992 5004
+-87.68 41.992 4899
+-87.554 41.992 4813
+-87.428 41.992 4705
+-87.302 41.992 4654
+-87.176 41.992 4624
+-87.05 41.992 4581
+-86.924 41.992 4558
+-86.798 41.992 4514
+-86.672 41.992 4454
+-86.546 41.992 4377
+-86.42 41.992 4276
+-86.294 41.992 4186
+-86.168 41.992 4106
+-86.042 41.992 4044
+-85.916 41.992 3981
+-85.79 41.992 3890
+-85.664 41.992 3823
+-85.538 41.992 3810
+-85.412 41.992 3782
+-85.286 41.992 3735
+-85.16 41.992 3682
+-85.034 41.992 3666
+-84.908 41.992 3646
+-84.782 41.992 3618
+-84.656 41.992 3575
+-84.53 41.992 3544
+-84.404 41.992 3493
+-84.278 41.992 3453
+-84.152 41.992 3429
+-84.026 41.992 3370
+-83.9 41.992 3357
+-83.774 41.992 3316
+-83.648 41.992 3330
+-83.522 41.992 3316
+-83.396 41.992 3322
+-83.27 41.992 3285
+-83.144 41.992 3243
+-83.018 41.992 3246
+-82.892 41.992 3254
+-82.766 41.992 3298
+-82.64 41.992 3293
+-82.514 41.992 3305
+-82.388 41.992 3304
+-82.262 41.992 3311
+-82.136 41.992 3315
+-82.01 41.992 3286
+-81.884 41.992 3292
+-81.758 41.992 3380
+-81.632 41.992 3370
+-81.506 41.992 3377
+-81.38 41.992 3342
+-81.254 41.992 3395
+-81.128 41.992 3399
+-81.002 41.992 3404
+-80.876 41.992 3409
+-80.75 41.992 3414
+-80.624 41.992 3412
+-80.498 41.992 3417
+-80.372 41.992 3421
+-80.246 41.992 3410
+-80.12 41.992 3371
+-79.994 41.992 3368
+-79.868 41.992 3371
+-79.742 41.992 3374
+-79.616 41.992 3377
+-79.49 41.992 3379
+-79.364 41.992 3382
+-79.238 41.992 3384
+-79.112 41.992 3386
+-78.986 41.992 3389
+-78.86 41.992 3390
+-78.734 41.992 3392
+-78.608 41.992 3394
+-78.482 41.992 3396
+-78.356 41.992 3397
+-78.23 41.992 3399
+-78.104 41.992 3472
+-77.978 41.992 3474
+-77.852 41.992 3464
+-77.726 41.992 3466
+-77.6 41.992 3468
+-77.474 41.992 3470
+-77.348 41.992 3472
+-77.222 41.992 3474
+-77.096 41.992 3476
+-76.97 41.992 3477
+-76.844 41.992 3479
+-76.718 41.992 3481
+-76.592 41.992 3482
+-76.466 41.992 3507
+-76.34 41.992 3509
+-76.214 41.992 3511
+-76.088 41.992 3513
+-75.962 41.992 3515
+-75.836 41.992 3517
+-75.71 41.992 3484
+-75.584 41.992 3485
+-75.458 41.992 3487
+-75.332 41.992 3488
+-75.206 41.992 3514
+-75.08 41.992 3516
+-74.954 41.992 3518
+-74.828 41.992 3478
+-74.702 41.992 3480
+-74.576 41.992 3481
+-74.45 41.992 3606
+-74.324 41.992 3607
+-74.198 41.992 3608
+-74.072 41.992 3609
+-73.946 41.992 3610
+-73.82 41.992 3550
+-73.694 41.992 3551
+-73.568 41.992 3551
+-73.442 41.992 3552
+-73.316 41.992 3552
+-73.19 41.992 3553
+-73.064 41.992 3553
+-72.938 41.992 3554
+-72.812 41.992 3554
+-72.686 41.992 3555
+-72.56 41.992 3533
+-72.434 41.992 3522
+-72.308 41.992 3523
+-72.182 41.992 3523
+-72.056 41.992 3524
+-71.93 41.992 3524
+-71.804 41.992 3507
+-71.678 41.992 3507
+-71.552 41.992 3508
+-71.426 41.992 3508
+-71.3 41.992 3508
+-71.174 41.992 3509
+-71.048 41.992 3509
+-70.922 41.992 3509
+-70.796 41.992 3510
+-70.67 41.992 3457
+-70.544 41.992 3457
+-70.418 41.992 3457
+-70.292 41.992 3458
+-70.166 41.992 3458
+-70.04 41.992 3458
+-69.914 41.992 3458
+-69.788 41.992 3459
+-69.662 41.992 3459
+-69.536 41.992 3459
+-69.41 41.992 3459
+-69.284 41.992 3460
+-69.158 41.992 3460
+-69.032 41.992 3382
+-68.906 41.992 3382
+-68.78 41.992 3382
+-68.654 41.992 3382
+-68.528 41.992 3382
+-68.402 41.992 3382
+-68.276 41.992 3381
+-68.15 41.992 3381
+-68.024 41.992 3381
+-67.898 41.992 3381
+-67.772 41.992 3381
+-67.646 41.992 3381
+-67.52 41.992 3381
+-67.394 41.992 3381
+-67.268 41.992 3381
+-67.142 41.992 3380
+-67.016 41.992 3380
+-66.89 41.992 3380
+-66.764 41.992 3380
+-66.638 41.992 3380
+-66.512 41.992 3380
+-66.386 41.992 3380
+-66.26 41.992 3380
+-66.134 41.992 3380
+-66.008 41.992 3379
+-65.882 41.992 3067
+-65.756 41.992 3067
+-65.63 41.992 3066
+-65.504 41.992 3066
+-65.378 41.992 3065
+-65.252 41.992 3065
+-65.126 41.992 3065
+-128 41.94 2967
+-127.874 41.94 2987
+-127.748 41.94 3007
+-127.622 41.94 3030
+-127.496 41.94 3053
+-127.37 41.94 3071
+-127.244 41.94 3052
+-127.118 41.94 3071
+-126.992 41.94 3069
+-126.866 41.94 3061
+-126.74 41.94 3057
+-126.614 41.94 3108
+-126.488 41.94 3145
+-126.362 41.94 3191
+-126.236 41.94 3278
+-126.11 41.94 3338
+-125.984 41.94 3417
+-125.858 41.94 3440
+-125.732 41.94 3453
+-125.606 41.94 3477
+-125.48 41.94 3525
+-125.354 41.94 3591
+-125.228 41.94 3655
+-125.102 41.94 3706
+-124.976 41.94 3769
+-124.85 41.94 3783
+-124.724 41.94 3812
+-124.598 41.94 3806
+-124.472 41.94 3834
+-124.346 41.94 3880
+-124.22 41.94 3952
+-124.094 41.94 3987
+-123.968 41.94 4011
+-123.842 41.94 4022
+-123.716 41.94 4028
+-123.59 41.94 4036
+-123.464 41.94 4040
+-123.338 41.94 4047
+-123.212 41.94 4031
+-123.086 41.94 4034
+-122.96 41.94 4084
+-122.834 41.94 4061
+-122.708 41.94 4053
+-122.582 41.94 4045
+-122.456 41.94 4011
+-122.33 41.94 3979
+-122.204 41.94 3935
+-122.078 41.94 3910
+-121.952 41.94 3915
+-121.826 41.94 3923
+-121.7 41.94 3897
+-121.574 41.94 3873
+-121.448 41.94 3865
+-121.322 41.94 3894
+-121.196 41.94 3925
+-121.07 41.94 3949
+-120.944 41.94 4003
+-120.818 41.94 4074
+-120.692 41.94 4141
+-120.566 41.94 4204
+-120.44 41.94 4253
+-120.314 41.94 4318
+-120.188 41.94 4429
+-120.062 41.94 4514
+-119.936 41.94 4565
+-119.81 41.94 4637
+-119.684 41.94 4700
+-119.558 41.94 4748
+-119.432 41.94 4758
+-119.306 41.94 4807
+-119.18 41.94 4809
+-119.054 41.94 4811
+-118.928 41.94 4802
+-118.802 41.94 4815
+-118.676 41.94 4826
+-118.55 41.94 4837
+-118.424 41.94 4845
+-118.298 41.94 4828
+-118.172 41.94 4806
+-118.046 41.94 4804
+-117.92 41.94 4793
+-117.794 41.94 4789
+-117.668 41.94 4774
+-117.542 41.94 4767
+-117.416 41.94 4751
+-117.29 41.94 4721
+-117.164 41.94 4676
+-117.038 41.94 4612
+-116.912 41.94 4617
+-116.786 41.94 4586
+-116.66 41.94 4507
+-116.534 41.94 4472
+-116.408 41.94 4419
+-116.282 41.94 4332
+-116.156 41.94 4277
+-116.03 41.94 4202
+-115.904 41.94 4167
+-115.778 41.94 4128
+-115.652 41.94 4064
+-115.526 41.94 4013
+-115.4 41.94 3956
+-115.274 41.94 3916
+-115.148 41.94 3848
+-115.022 41.94 3746
+-114.896 41.94 3684
+-114.77 41.94 3594
+-114.644 41.94 3506
+-114.518 41.94 3416
+-114.392 41.94 3306
+-114.266 41.94 3249
+-114.14 41.94 3179
+-114.014 41.94 3151
+-113.888 41.94 3048
+-113.762 41.94 3029
+-113.636 41.94 3015
+-113.51 41.94 3008
+-113.384 41.94 2992
+-113.258 41.94 2981
+-113.132 41.94 2925
+-113.006 41.94 2835
+-112.88 41.94 2791
+-112.754 41.94 2732
+-112.628 41.94 2713
+-112.502 41.94 2678
+-112.376 41.94 2656
+-112.25 41.94 2637
+-112.124 41.94 2597
+-111.998 41.94 2587
+-111.872 41.94 2580
+-111.746 41.94 2597
+-111.62 41.94 2602
+-111.494 41.94 2560
+-111.368 41.94 2566
+-111.242 41.94 2573
+-111.116 41.94 2581
+-110.99 41.94 2564
+-110.864 41.94 2575
+-110.738 41.94 2575
+-110.612 41.94 2587
+-110.486 41.94 2475
+-110.36 41.94 2524
+-110.234 41.94 2532
+-110.108 41.94 2556
+-109.982 41.94 2565
+-109.856 41.94 2574
+-109.73 41.94 2582
+-109.604 41.94 2470
+-109.478 41.94 2474
+-109.352 41.94 2479
+-109.226 41.94 2483
+-109.1 41.94 2486
+-108.974 41.94 2490
+-108.848 41.94 2494
+-108.722 41.94 2497
+-108.596 41.94 2500
+-108.47 41.94 2503
+-108.344 41.94 2506
+-108.218 41.94 2509
+-108.092 41.94 2561
+-107.966 41.94 2565
+-107.84 41.94 2560
+-107.714 41.94 2533
+-107.588 41.94 2536
+-107.462 41.94 2540
+-107.336 41.94 2554
+-107.21 41.94 2558
+-107.084 41.94 2548
+-106.958 41.94 2553
+-106.832 41.94 2558
+-106.706 41.94 2562
+-106.58 41.94 2566
+-106.454 41.94 2571
+-106.328 41.94 2575
+-106.202 41.94 2489
+-106.076 41.94 2260
+-105.95 41.94 2243
+-105.824 41.94 2163
+-105.698 41.94 2154
+-105.572 41.94 2143
+-105.446 41.94 2132
+-105.32 41.94 2119
+-105.194 41.94 1972
+-105.068 41.94 1873
+-104.942 41.94 1863
+-104.816 41.94 1860
+-104.69 41.94 1871
+-104.564 41.94 1840
+-104.438 41.94 1845
+-104.312 41.94 1829
+-104.186 41.94 1892
+-104.06 41.94 1892
+-103.934 41.94 2022
+-103.808 41.94 2039
+-103.682 41.94 2036
+-103.556 41.94 2090
+-103.43 41.94 2226
+-103.304 41.94 2244
+-103.178 41.94 2235
+-103.052 41.94 2284
+-102.926 41.94 2274
+-102.8 41.94 2262
+-102.674 41.94 2304
+-102.548 41.94 2293
+-102.422 41.94 2281
+-102.296 41.94 2269
+-102.17 41.94 2256
+-102.044 41.94 2242
+-101.918 41.94 2237
+-101.792 41.94 2234
+-101.666 41.94 2260
+-101.54 41.94 2244
+-101.414 41.94 2226
+-101.288 41.94 2207
+-101.162 41.94 2224
+-101.036 41.94 2201
+-100.91 41.94 2176
+-100.784 41.94 2148
+-100.658 41.94 2117
+-100.532 41.94 2083
+-100.406 41.94 2045
+-100.28 41.94 2038
+-100.154 41.94 2030
+-100.028 41.94 1976
+-99.902 41.94 1914
+-99.776 41.94 1842
+-99.65 41.94 1758
+-99.524 41.94 1660
+-99.398 41.94 1546
+-99.272 41.94 1420
+-99.146 41.94 1282
+-99.02 41.94 1115
+-98.894 41.94 925
+-98.768 41.94 717
+-98.642 41.94 522
+-98.516 41.94 375
+-98.39 41.94 320
+-98.264 41.94 391
+-98.138 41.94 591
+-98.012 41.94 887
+-97.886 41.94 1262
+-97.76 41.94 1651
+-97.634 41.94 1950
+-97.508 41.94 2186
+-97.382 41.94 2415
+-97.256 41.94 2555
+-97.13 41.94 2668
+-97.004 41.94 2759
+-96.878 41.94 2819
+-96.752 41.94 2876
+-96.626 41.94 2984
+-96.5 41.94 3035
+-96.374 41.94 3093
+-96.248 41.94 3158
+-96.122 41.94 3338
+-95.996 41.94 3383
+-95.87 41.94 3418
+-95.744 41.94 3441
+-95.618 41.94 3489
+-95.492 41.94 3486
+-95.366 41.94 3472
+-95.24 41.94 3492
+-95.114 41.94 3534
+-94.988 41.94 3563
+-94.862 41.94 3667
+-94.736 41.94 3796
+-94.61 41.94 3781
+-94.484 41.94 3892
+-94.358 41.94 4094
+-94.232 41.94 4246
+-94.106 41.94 4407
+-93.98 41.94 4530
+-93.854 41.94 4604
+-93.728 41.94 4662
+-93.602 41.94 4748
+-93.476 41.94 4825
+-93.35 41.94 4906
+-93.224 41.94 4951
+-93.098 41.94 5012
+-92.972 41.94 5080
+-92.846 41.94 5132
+-92.72 41.94 5222
+-92.594 41.94 5251
+-92.468 41.94 5395
+-92.342 41.94 5460
+-92.216 41.94 5480
+-92.09 41.94 5573
+-91.964 41.94 5673
+-91.838 41.94 5737
+-91.712 41.94 5755
+-91.586 41.94 5825
+-91.46 41.94 5815
+-91.334 41.94 5888
+-91.208 41.94 5922
+-91.082 41.94 5943
+-90.956 41.94 5962
+-90.83 41.94 5987
+-90.704 41.94 5996
+-90.578 41.94 6006
+-90.452 41.94 6008
+-90.326 41.94 5995
+-90.2 41.94 5989
+-90.074 41.94 5975
+-89.948 41.94 5936
+-89.822 41.94 5938
+-89.696 41.94 5914
+-89.57 41.94 5895
+-89.444 41.94 5843
+-89.318 41.94 5808
+-89.192 41.94 5753
+-89.066 41.94 5727
+-88.94 41.94 5613
+-88.814 41.94 5574
+-88.688 41.94 5505
+-88.562 41.94 5409
+-88.436 41.94 5370
+-88.31 41.94 5347
+-88.184 41.94 5264
+-88.058 41.94 5209
+-87.932 41.94 5143
+-87.806 41.94 5031
+-87.68 41.94 4930
+-87.554 41.94 4849
+-87.428 41.94 4747
+-87.302 41.94 4661
+-87.176 41.94 4684
+-87.05 41.94 4674
+-86.924 41.94 4633
+-86.798 41.94 4572
+-86.672 41.94 4527
+-86.546 41.94 4435
+-86.42 41.94 4328
+-86.294 41.94 4228
+-86.168 41.94 4175
+-86.042 41.94 4112
+-85.916 41.94 4026
+-85.79 41.94 3972
+-85.664 41.94 3920
+-85.538 41.94 3836
+-85.412 41.94 3771
+-85.286 41.94 3726
+-85.16 41.94 3728
+-85.034 41.94 3717
+-84.908 41.94 3686
+-84.782 41.94 3648
+-84.656 41.94 3594
+-84.53 41.94 3557
+-84.404 41.94 3489
+-84.278 41.94 3454
+-84.152 41.94 3419
+-84.026 41.94 3398
+-83.9 41.94 3354
+-83.774 41.94 3369
+-83.648 41.94 3354
+-83.522 41.94 3331
+-83.396 41.94 3336
+-83.27 41.94 3295
+-83.144 41.94 3301
+-83.018 41.94 3310
+-82.892 41.94 3309
+-82.766 41.94 3305
+-82.64 41.94 3315
+-82.514 41.94 3360
+-82.388 41.94 3368
+-82.262 41.94 3324
+-82.136 41.94 3295
+-82.01 41.94 3301
+-81.884 41.94 3387
+-81.758 41.94 3377
+-81.632 41.94 3383
+-81.506 41.94 3348
+-81.38 41.94 3400
+-81.254 41.94 3403
+-81.128 41.94 3409
+-81.002 41.94 3414
+-80.876 41.94 3418
+-80.75 41.94 3416
+-80.624 41.94 3421
+-80.498 41.94 3425
+-80.372 41.94 3414
+-80.246 41.94 3375
+-80.12 41.94 3371
+-79.994 41.94 3374
+-79.868 41.94 3377
+-79.742 41.94 3380
+-79.616 41.94 3382
+-79.49 41.94 3385
+-79.364 41.94 3387
+-79.238 41.94 3389
+-79.112 41.94 3391
+-78.986 41.94 3393
+-78.86 41.94 3395
+-78.734 41.94 3396
+-78.608 41.94 3398
+-78.482 41.94 3400
+-78.356 41.94 3401
+-78.23 41.94 3472
+-78.104 41.94 3475
+-77.978 41.94 3464
+-77.852 41.94 3466
+-77.726 41.94 3469
+-77.6 41.94 3470
+-77.474 41.94 3472
+-77.348 41.94 3474
+-77.222 41.94 3476
+-77.096 41.94 3478
+-76.97 41.94 3479
+-76.844 41.94 3481
+-76.718 41.94 3482
+-76.592 41.94 3507
+-76.466 41.94 3509
+-76.34 41.94 3511
+-76.214 41.94 3513
+-76.088 41.94 3515
+-75.962 41.94 3517
+-75.836 41.94 3484
+-75.71 41.94 3485
+-75.584 41.94 3487
+-75.458 41.94 3488
+-75.332 41.94 3514
+-75.206 41.94 3516
+-75.08 41.94 3518
+-74.954 41.94 3479
+-74.828 41.94 3480
+-74.702 41.94 3482
+-74.576 41.94 3605
+-74.45 41.94 3606
+-74.324 41.94 3607
+-74.198 41.94 3608
+-74.072 41.94 3609
+-73.946 41.94 3550
+-73.82 41.94 3550
+-73.694 41.94 3551
+-73.568 41.94 3551
+-73.442 41.94 3552
+-73.316 41.94 3552
+-73.19 41.94 3553
+-73.064 41.94 3553
+-72.938 41.94 3554
+-72.812 41.94 3554
+-72.686 41.94 3533
+-72.56 41.94 3522
+-72.434 41.94 3522
+-72.308 41.94 3523
+-72.182 41.94 3523
+-72.056 41.94 3524
+-71.93 41.94 3524
+-71.804 41.94 3507
+-71.678 41.94 3507
+-71.552 41.94 3508
+-71.426 41.94 3508
+-71.3 41.94 3509
+-71.174 41.94 3509
+-71.048 41.94 3509
+-70.922 41.94 3509
+-70.796 41.94 3457
+-70.67 41.94 3457
+-70.544 41.94 3457
+-70.418 41.94 3458
+-70.292 41.94 3458
+-70.166 41.94 3458
+-70.04 41.94 3458
+-69.914 41.94 3459
+-69.788 41.94 3459
+-69.662 41.94 3459
+-69.536 41.94 3459
+-69.41 41.94 3459
+-69.284 41.94 3460
+-69.158 41.94 3382
+-69.032 41.94 3382
+-68.906 41.94 3382
+-68.78 41.94 3382
+-68.654 41.94 3382
+-68.528 41.94 3382
+-68.402 41.94 3381
+-68.276 41.94 3381
+-68.15 41.94 3381
+-68.024 41.94 3381
+-67.898 41.94 3381
+-67.772 41.94 3381
+-67.646 41.94 3381
+-67.52 41.94 3381
+-67.394 41.94 3380
+-67.268 41.94 3380
+-67.142 41.94 3380
+-67.016 41.94 3380
+-66.89 41.94 3380
+-66.764 41.94 3380
+-66.638 41.94 3380
+-66.512 41.94 3380
+-66.386 41.94 3380
+-66.26 41.94 3380
+-66.134 41.94 3379
+-66.008 41.94 3067
+-65.882 41.94 3067
+-65.756 41.94 3066
+-65.63 41.94 3066
+-65.504 41.94 3065
+-65.378 41.94 3065
+-65.252 41.94 3065
+-65.126 41.94 3064
+-128 41.888 2992
+-127.874 41.888 3004
+-127.748 41.888 3018
+-127.622 41.888 3035
+-127.496 41.888 3051
+-127.37 41.888 3033
+-127.244 41.888 3058
+-127.118 41.888 3066
+-126.992 41.888 3069
+-126.866 41.888 3074
+-126.74 41.888 3085
+-126.614 41.888 3102
+-126.488 41.888 3118
+-126.362 41.888 3179
+-126.236 41.888 3275
+-126.11 41.888 3310
+-125.984 41.888 3370
+-125.858 41.888 3348
+-125.732 41.888 3341
+-125.606 41.888 3341
+-125.48 41.888 3396
+-125.354 41.888 3489
+-125.228 41.888 3581
+-125.102 41.888 3647
+-124.976 41.888 3692
+-124.85 41.888 3758
+-124.724 41.888 3729
+-124.598 41.888 3710
+-124.472 41.888 3744
+-124.346 41.888 3807
+-124.22 41.888 3865
+-124.094 41.888 3903
+-123.968 41.888 3931
+-123.842 41.888 3935
+-123.716 41.888 3963
+-123.59 41.888 3997
+-123.464 41.888 4004
+-123.338 41.888 4011
+-123.212 41.888 3995
+-123.086 41.888 3975
+-122.96 41.888 4007
+-122.834 41.888 4013
+-122.708 41.888 4010
+-122.582 41.888 3997
+-122.456 41.888 3961
+-122.33 41.888 3929
+-122.204 41.888 3874
+-122.078 41.888 3845
+-121.952 41.888 3840
+-121.826 41.888 3848
+-121.7 41.888 3842
+-121.574 41.888 3798
+-121.448 41.888 3758
+-121.322 41.888 3813
+-121.196 41.888 3875
+-121.07 41.888 3910
+-120.944 41.888 3951
+-120.818 41.888 4018
+-120.692 41.888 4116
+-120.566 41.888 4183
+-120.44 41.888 4242
+-120.314 41.888 4255
+-120.188 41.888 4333
+-120.062 41.888 4422
+-119.936 41.888 4503
+-119.81 41.888 4584
+-119.684 41.888 4656
+-119.558 41.888 4690
+-119.432 41.888 4701
+-119.306 41.888 4749
+-119.18 41.888 4750
+-119.054 41.888 4761
+-118.928 41.888 4750
+-118.802 41.888 4771
+-118.676 41.888 4783
+-118.55 41.888 4780
+-118.424 41.888 4774
+-118.298 41.888 4762
+-118.172 41.888 4761
+-118.046 41.888 4752
+-117.92 41.888 4744
+-117.794 41.888 4728
+-117.668 41.888 4700
+-117.542 41.888 4714
+-117.416 41.888 4711
+-117.29 41.888 4682
+-117.164 41.888 4635
+-117.038 41.888 4602
+-116.912 41.888 4572
+-116.786 41.888 4541
+-116.66 41.888 4478
+-116.534 41.888 4410
+-116.408 41.888 4335
+-116.282 41.888 4272
+-116.156 41.888 4206
+-116.03 41.888 4147
+-115.904 41.888 4105
+-115.778 41.888 4049
+-115.652 41.888 3961
+-115.526 41.888 3890
+-115.4 41.888 3868
+-115.274 41.888 3849
+-115.148 41.888 3783
+-115.022 41.888 3701
+-114.896 41.888 3632
+-114.77 41.888 3541
+-114.644 41.888 3407
+-114.518 41.888 3302
+-114.392 41.888 3190
+-114.266 41.888 3143
+-114.14 41.888 3086
+-114.014 41.888 3028
+-113.888 41.888 3004
+-113.762 41.888 2934
+-113.636 41.888 2936
+-113.51 41.888 2940
+-113.384 41.888 2924
+-113.258 41.888 2857
+-113.132 41.888 2833
+-113.006 41.888 2800
+-112.88 41.888 2733
+-112.754 41.888 2699
+-112.628 41.888 2669
+-112.502 41.888 2654
+-112.376 41.888 2628
+-112.25 41.888 2587
+-112.124 41.888 2578
+-111.998 41.888 2573
+-111.872 41.888 2570
+-111.746 41.888 2571
+-111.62 41.888 2593
+-111.494 41.888 2571
+-111.368 41.888 2562
+-111.242 41.888 2570
+-111.116 41.888 2578
+-110.99 41.888 2538
+-110.864 41.888 2481
+-110.738 41.888 2478
+-110.612 41.888 2486
+-110.486 41.888 2495
+-110.36 41.888 2543
+-110.234 41.888 2523
+-110.108 41.888 2531
+-109.982 41.888 2554
+-109.856 41.888 2563
+-109.73 41.888 2450
+-109.604 41.888 2455
+-109.478 41.888 2460
+-109.352 41.888 2464
+-109.226 41.888 2468
+-109.1 41.888 2472
+-108.974 41.888 2476
+-108.848 41.888 2480
+-108.722 41.888 2483
+-108.596 41.888 2486
+-108.47 41.888 2490
+-108.344 41.888 2493
+-108.218 41.888 2496
+-108.092 41.888 2499
+-107.966 41.888 2552
+-107.84 41.888 2556
+-107.714 41.888 2551
+-107.588 41.888 2524
+-107.462 41.888 2528
+-107.336 41.888 2531
+-107.21 41.888 2546
+-107.084 41.888 2550
+-106.958 41.888 2541
+-106.832 41.888 2545
+-106.706 41.888 2550
+-106.58 41.888 2555
+-106.454 41.888 2559
+-106.328 41.888 2564
+-106.202 41.888 2474
+-106.076 41.888 2233
+-105.95 41.888 2217
+-105.824 41.888 2151
+-105.698 41.888 2141
+-105.572 41.888 2131
+-105.446 41.888 2120
+-105.32 41.888 2107
+-105.194 41.888 1962
+-105.068 41.888 1866
+-104.942 41.888 1855
+-104.816 41.888 1844
+-104.69 41.888 1866
+-104.564 41.888 1837
+-104.438 41.888 1843
+-104.312 41.888 1830
+-104.186 41.888 1892
+-104.06 41.888 2019
+-103.934 41.888 2017
+-103.808 41.888 2040
+-103.682 41.888 2074
+-103.556 41.888 2091
+-103.43 41.888 2195
+-103.304 41.888 2264
+-103.178 41.888 2237
+-103.052 41.888 2228
+-102.926 41.888 2275
+-102.8 41.888 2264
+-102.674 41.888 2252
+-102.548 41.888 2293
+-102.422 41.888 2282
+-102.296 41.888 2269
+-102.17 41.888 2256
+-102.044 41.888 2242
+-101.918 41.888 2228
+-101.792 41.888 2222
+-101.666 41.888 2218
+-101.54 41.888 2243
+-101.414 41.888 2226
+-101.288 41.888 2207
+-101.162 41.888 2187
+-101.036 41.888 2201
+-100.91 41.888 2176
+-100.784 41.888 2148
+-100.658 41.888 2118
+-100.532 41.888 2084
+-100.406 41.888 2046
+-100.28 41.888 2004
+-100.154 41.888 1992
+-100.028 41.888 1977
+-99.902 41.888 1914
+-99.776 41.888 1842
+-99.65 41.888 1758
+-99.524 41.888 1660
+-99.398 41.888 1545
+-99.272 41.888 1410
+-99.146 41.888 1259
+-99.02 41.888 1090
+-98.894 41.888 895
+-98.768 41.888 684
+-98.642 41.888 476
+-98.516 41.888 317
+-98.39 41.888 255
+-98.264 41.888 326
+-98.138 41.888 537
+-98.012 41.888 850
+-97.886 41.888 1203
+-97.76 41.888 1585
+-97.634 41.888 1981
+-97.508 41.888 2230
+-97.382 41.888 2415
+-97.256 41.888 2551
+-97.13 41.888 2645
+-97.004 41.888 2718
+-96.878 41.888 2813
+-96.752 41.888 2846
+-96.626 41.888 2898
+-96.5 41.888 2957
+-96.374 41.888 3046
+-96.248 41.888 3204
+-96.122 41.888 3293
+-95.996 41.888 3364
+-95.87 41.888 3410
+-95.744 41.888 3437
+-95.618 41.888 3453
+-95.492 41.888 3448
+-95.366 41.888 3394
+-95.24 41.888 3366
+-95.114 41.888 3472
+-94.988 41.888 3480
+-94.862 41.888 3617
+-94.736 41.888 3802
+-94.61 41.888 3859
+-94.484 41.888 3966
+-94.358 41.888 4138
+-94.232 41.888 4249
+-94.106 41.888 4357
+-93.98 41.888 4543
+-93.854 41.888 4650
+-93.728 41.888 4758
+-93.602 41.888 4796
+-93.476 41.888 4862
+-93.35 41.888 4924
+-93.224 41.888 4889
+-93.098 41.888 5046
+-92.972 41.888 5109
+-92.846 41.888 5198
+-92.72 41.888 5277
+-92.594 41.888 5361
+-92.468 41.888 5448
+-92.342 41.888 5501
+-92.216 41.888 5551
+-92.09 41.888 5613
+-91.964 41.888 5702
+-91.838 41.888 5777
+-91.712 41.888 5821
+-91.586 41.888 5880
+-91.46 41.888 5886
+-91.334 41.888 5930
+-91.208 41.888 5979
+-91.082 41.888 5981
+-90.956 41.888 6015
+-90.83 41.888 6027
+-90.704 41.888 6045
+-90.578 41.888 6055
+-90.452 41.888 6066
+-90.326 41.888 6049
+-90.2 41.888 6044
+-90.074 41.888 6060
+-89.948 41.888 6023
+-89.822 41.888 6003
+-89.696 41.888 5977
+-89.57 41.888 5947
+-89.444 41.888 5904
+-89.318 41.888 5857
+-89.192 41.888 5792
+-89.066 41.888 5740
+-88.94 41.888 5672
+-88.814 41.888 5607
+-88.688 41.888 5551
+-88.562 41.888 5535
+-88.436 41.888 5444
+-88.31 41.888 5368
+-88.184 41.888 5331
+-88.058 41.888 5231
+-87.932 41.888 5154
+-87.806 41.888 5063
+-87.68 41.888 4896
+-87.554 41.888 4859
+-87.428 41.888 4756
+-87.302 41.888 4747
+-87.176 41.888 4728
+-87.05 41.888 4700
+-86.924 41.888 4691
+-86.798 41.888 4651
+-86.672 41.888 4594
+-86.546 41.888 4492
+-86.42 41.888 4372
+-86.294 41.888 4255
+-86.168 41.888 4192
+-86.042 41.888 4161
+-85.916 41.888 4048
+-85.79 41.888 3974
+-85.664 41.888 3959
+-85.538 41.888 3834
+-85.412 41.888 3726
+-85.286 41.888 3667
+-85.16 41.888 3724
+-85.034 41.888 3753
+-84.908 41.888 3731
+-84.782 41.888 3693
+-84.656 41.888 3622
+-84.53 41.888 3545
+-84.404 41.888 3472
+-84.278 41.888 3416
+-84.152 41.888 3376
+-84.026 41.888 3357
+-83.9 41.888 3339
+-83.774 41.888 3364
+-83.648 41.888 3348
+-83.522 41.888 3377
+-83.396 41.888 3354
+-83.27 41.888 3309
+-83.144 41.888 3361
+-83.018 41.888 3358
+-82.892 41.888 3359
+-82.766 41.888 3374
+-82.64 41.888 3368
+-82.514 41.888 3376
+-82.388 41.888 3334
+-82.262 41.888 3305
+-82.136 41.888 3350
+-82.01 41.888 3395
+-81.884 41.888 3384
+-81.758 41.888 3391
+-81.632 41.888 3356
+-81.506 41.888 3405
+-81.38 41.888 3408
+-81.254 41.888 3413
+-81.128 41.888 3418
+-81.002 41.888 3423
+-80.876 41.888 3420
+-80.75 41.888 3425
+-80.624 41.888 3429
+-80.498 41.888 3417
+-80.372 41.888 3378
+-80.246 41.888 3375
+-80.12 41.888 3378
+-79.994 41.888 3381
+-79.868 41.888 3383
+-79.742 41.888 3385
+-79.616 41.888 3388
+-79.49 41.888 3390
+-79.364 41.888 3392
+-79.238 41.888 3394
+-79.112 41.888 3396
+-78.986 41.888 3397
+-78.86 41.888 3399
+-78.734 41.888 3401
+-78.608 41.888 3402
+-78.482 41.888 3403
+-78.356 41.888 3472
+-78.23 41.888 3475
+-78.104 41.888 3465
+-77.978 41.888 3467
+-77.852 41.888 3469
+-77.726 41.888 3471
+-77.6 41.888 3473
+-77.474 41.888 3475
+-77.348 41.888 3476
+-77.222 41.888 3478
+-77.096 41.888 3480
+-76.97 41.888 3481
+-76.844 41.888 3483
+-76.718 41.888 3507
+-76.592 41.888 3509
+-76.466 41.888 3511
+-76.34 41.888 3513
+-76.214 41.888 3515
+-76.088 41.888 3517
+-75.962 41.888 3484
+-75.836 41.888 3486
+-75.71 41.888 3487
+-75.584 41.888 3489
+-75.458 41.888 3514
+-75.332 41.888 3516
+-75.206 41.888 3518
+-75.08 41.888 3479
+-74.954 41.888 3480
+-74.828 41.888 3482
+-74.702 41.888 3605
+-74.576 41.888 3606
+-74.45 41.888 3607
+-74.324 41.888 3608
+-74.198 41.888 3609
+-74.072 41.888 3549
+-73.946 41.888 3550
+-73.82 41.888 3551
+-73.694 41.888 3551
+-73.568 41.888 3552
+-73.442 41.888 3552
+-73.316 41.888 3553
+-73.19 41.888 3553
+-73.064 41.888 3554
+-72.938 41.888 3554
+-72.812 41.888 3533
+-72.686 41.888 3521
+-72.56 41.888 3522
+-72.434 41.888 3523
+-72.308 41.888 3523
+-72.182 41.888 3524
+-72.056 41.888 3507
+-71.93 41.888 3507
+-71.804 41.888 3507
+-71.678 41.888 3508
+-71.552 41.888 3508
+-71.426 41.888 3508
+-71.3 41.888 3509
+-71.174 41.888 3509
+-71.048 41.888 3509
+-70.922 41.888 3457
+-70.796 41.888 3457
+-70.67 41.888 3457
+-70.544 41.888 3457
+-70.418 41.888 3458
+-70.292 41.888 3458
+-70.166 41.888 3458
+-70.04 41.888 3458
+-69.914 41.888 3459
+-69.788 41.888 3459
+-69.662 41.888 3459
+-69.536 41.888 3459
+-69.41 41.888 3460
+-69.284 41.888 3382
+-69.158 41.888 3382
+-69.032 41.888 3382
+-68.906 41.888 3382
+-68.78 41.888 3382
+-68.654 41.888 3382
+-68.528 41.888 3381
+-68.402 41.888 3381
+-68.276 41.888 3381
+-68.15 41.888 3381
+-68.024 41.888 3381
+-67.898 41.888 3381
+-67.772 41.888 3381
+-67.646 41.888 3381
+-67.52 41.888 3380
+-67.394 41.888 3380
+-67.268 41.888 3380
+-67.142 41.888 3380
+-67.016 41.888 3380
+-66.89 41.888 3380
+-66.764 41.888 3380
+-66.638 41.888 3380
+-66.512 41.888 3380
+-66.386 41.888 3380
+-66.26 41.888 3379
+-66.134 41.888 3067
+-66.008 41.888 3067
+-65.882 41.888 3066
+-65.756 41.888 3066
+-65.63 41.888 3065
+-65.504 41.888 3065
+-65.378 41.888 3065
+-65.252 41.888 3064
+-65.126 41.888 3064
+-128 41.836 3000
+-127.874 41.836 3008
+-127.748 41.836 3019
+-127.622 41.836 3031
+-127.496 41.836 3009
+-127.37 41.836 3034
+-127.244 41.836 3045
+-127.118 41.836 3051
+-126.992 41.836 3060
+-126.866 41.836 3071
+-126.74 41.836 3084
+-126.614 41.836 3088
+-126.488 41.836 3134
+-126.362 41.836 3167
+-126.236 41.836 3224
+-126.11 41.836 3252
+-125.984 41.836 3308
+-125.858 41.836 3292
+-125.732 41.836 3235
+-125.606 41.836 3203
+-125.48 41.836 3265
+-125.354 41.836 3393
+-125.228 41.836 3511
+-125.102 41.836 3598
+-124.976 41.836 3652
+-124.85 41.836 3687
+-124.724 41.836 3693
+-124.598 41.836 3668
+-124.472 41.836 3699
+-124.346 41.836 3751
+-124.22 41.836 3813
+-124.094 41.836 3837
+-123.968 41.836 3866
+-123.842 41.836 3876
+-123.716 41.836 3912
+-123.59 41.836 3935
+-123.464 41.836 3952
+-123.338 41.836 3973
+-123.212 41.836 3972
+-123.086 41.836 3969
+-122.96 41.836 3965
+-122.834 41.836 3974
+-122.708 41.836 3976
+-122.582 41.836 3950
+-122.456 41.836 3932
+-122.33 41.836 3873
+-122.204 41.836 3838
+-122.078 41.836 3818
+-121.952 41.836 3813
+-121.826 41.836 3813
+-121.7 41.836 3795
+-121.574 41.836 3727
+-121.448 41.836 3624
+-121.322 41.836 3754
+-121.196 41.836 3856
+-121.07 41.836 3888
+-120.944 41.836 3959
+-120.818 41.836 3983
+-120.692 41.836 4090
+-120.566 41.836 4157
+-120.44 41.836 4235
+-120.314 41.836 4228
+-120.188 41.836 4277
+-120.062 41.836 4355
+-119.936 41.836 4446
+-119.81 41.836 4512
+-119.684 41.836 4576
+-119.558 41.836 4623
+-119.432 41.836 4635
+-119.306 41.836 4649
+-119.18 41.836 4677
+-119.054 41.836 4717
+-118.928 41.836 4739
+-118.802 41.836 4745
+-118.676 41.836 4730
+-118.55 41.836 4712
+-118.424 41.836 4706
+-118.298 41.836 4708
+-118.172 41.836 4721
+-118.046 41.836 4713
+-117.92 41.836 4706
+-117.794 41.836 4678
+-117.668 41.836 4643
+-117.542 41.836 4656
+-117.416 41.836 4658
+-117.29 41.836 4635
+-117.164 41.836 4607
+-117.038 41.836 4567
+-116.912 41.836 4476
+-116.786 41.836 4494
+-116.66 41.836 4424
+-116.534 41.836 4353
+-116.408 41.836 4255
+-116.282 41.836 4205
+-116.156 41.836 4127
+-116.03 41.836 4056
+-115.904 41.836 4022
+-115.778 41.836 3990
+-115.652 41.836 3896
+-115.526 41.836 3823
+-115.4 41.836 3828
+-115.274 41.836 3774
+-115.148 41.836 3730
+-115.022 41.836 3648
+-114.896 41.836 3578
+-114.77 41.836 3477
+-114.644 41.836 3338
+-114.518 41.836 3178
+-114.392 41.836 3102
+-114.266 41.836 3067
+-114.14 41.836 2993
+-114.014 41.836 2927
+-113.888 41.836 2879
+-113.762 41.836 2876
+-113.636 41.836 2853
+-113.51 41.836 2870
+-113.384 41.836 2841
+-113.258 41.836 2821
+-113.132 41.836 2794
+-113.006 41.836 2756
+-112.88 41.836 2685
+-112.754 41.836 2650
+-112.628 41.836 2621
+-112.502 41.836 2572
+-112.376 41.836 2558
+-112.25 41.836 2578
+-112.124 41.836 2547
+-111.998 41.836 2548
+-111.872 41.836 2551
+-111.746 41.836 2556
+-111.62 41.836 2562
+-111.494 41.836 2589
+-111.368 41.836 2504
+-111.242 41.836 2515
+-111.116 41.836 2522
+-110.99 41.836 2529
+-110.864 41.836 2537
+-110.738 41.836 2478
+-110.612 41.836 2476
+-110.486 41.836 2484
+-110.36 41.836 2493
+-110.234 41.836 2542
+-110.108 41.836 2520
+-109.982 41.836 2411
+-109.856 41.836 2430
+-109.73 41.836 2435
+-109.604 41.836 2440
+-109.478 41.836 2444
+-109.352 41.836 2449
+-109.226 41.836 2453
+-109.1 41.836 2457
+-108.974 41.836 2461
+-108.848 41.836 2465
+-108.722 41.836 2469
+-108.596 41.836 2472
+-108.47 41.836 2476
+-108.344 41.836 2479
+-108.218 41.836 2483
+-108.092 41.836 2486
+-107.966 41.836 2489
+-107.84 41.836 2543
+-107.714 41.836 2547
+-107.588 41.836 2542
+-107.462 41.836 2516
+-107.336 41.836 2519
+-107.21 41.836 2523
+-107.084 41.836 2538
+-106.958 41.836 2542
+-106.832 41.836 2533
+-106.706 41.836 2538
+-106.58 41.836 2543
+-106.454 41.836 2548
+-106.328 41.836 2473
+-106.202 41.836 2384
+-106.076 41.836 2220
+-105.95 41.836 2204
+-105.824 41.836 2195
+-105.698 41.836 2129
+-105.572 41.836 2119
+-105.446 41.836 2108
+-105.32 41.836 2096
+-105.194 41.836 1953
+-105.068 41.836 1859
+-104.942 41.836 1821
+-104.816 41.836 1839
+-104.69 41.836 1862
+-104.564 41.836 1820
+-104.438 41.836 1842
+-104.312 41.836 1884
+-104.186 41.836 1893
+-104.06 41.836 2021
+-103.934 41.836 2019
+-103.808 41.836 2079
+-103.682 41.836 2075
+-103.556 41.836 2093
+-103.43 41.836 2197
+-103.304 41.836 2188
+-103.178 41.836 2256
+-103.052 41.836 2229
+-102.926 41.836 2277
+-102.8 41.836 2266
+-102.674 41.836 2254
+-102.548 41.836 2242
+-102.422 41.836 2283
+-102.296 41.836 2270
+-102.17 41.836 2257
+-102.044 41.836 2243
+-101.918 41.836 2229
+-101.792 41.836 2213
+-101.666 41.836 2206
+-101.54 41.836 2201
+-101.414 41.836 2226
+-101.288 41.836 2208
+-101.162 41.836 2188
+-101.036 41.836 2166
+-100.91 41.836 2178
+-100.784 41.836 2150
+-100.658 41.836 2120
+-100.532 41.836 2087
+-100.406 41.836 2050
+-100.28 41.836 2009
+-100.154 41.836 1962
+-100.028 41.836 1945
+-99.902 41.836 1922
+-99.776 41.836 1852
+-99.65 41.836 1770
+-99.524 41.836 1674
+-99.398 41.836 1562
+-99.272 41.836 1431
+-99.146 41.836 1279
+-99.02 41.836 1110
+-98.894 41.836 924
+-98.768 41.836 724
+-98.642 41.836 531
+-98.516 41.836 380
+-98.39 41.836 323
+-98.264 41.836 397
+-98.138 41.836 606
+-98.012 41.836 913
+-97.886 41.836 1278
+-97.76 41.836 1658
+-97.634 41.836 1952
+-97.508 41.836 2256
+-97.382 41.836 2433
+-97.256 41.836 2553
+-97.13 41.836 2642
+-97.004 41.836 2723
+-96.878 41.836 2743
+-96.752 41.836 2767
+-96.626 41.836 2797
+-96.5 41.836 2855
+-96.374 41.836 2948
+-96.248 41.836 3119
+-96.122 41.836 3238
+-95.996 41.836 3329
+-95.87 41.836 3391
+-95.744 41.836 3433
+-95.618 41.836 3437
+-95.492 41.836 3423
+-95.366 41.836 3337
+-95.24 41.836 3249
+-95.114 41.836 3413
+-94.988 41.836 3555
+-94.862 41.836 3690
+-94.736 41.836 3845
+-94.61 41.836 3917
+-94.484 41.836 4015
+-94.358 41.836 4176
+-94.232 41.836 4213
+-94.106 41.836 4338
+-93.98 41.836 4562
+-93.854 41.836 4675
+-93.728 41.836 4762
+-93.602 41.836 4771
+-93.476 41.836 4857
+-93.35 41.836 4935
+-93.224 41.836 5002
+-93.098 41.836 5051
+-92.972 41.836 5097
+-92.846 41.836 5264
+-92.72 41.836 5298
+-92.594 41.836 5394
+-92.468 41.836 5495
+-92.342 41.836 5576
+-92.216 41.836 5586
+-92.09 41.836 5661
+-91.964 41.836 5776
+-91.838 41.836 5810
+-91.712 41.836 5893
+-91.586 41.836 5912
+-91.46 41.836 5952
+-91.334 41.836 6001
+-91.208 41.836 6013
+-91.082 41.836 6052
+-90.956 41.836 6095
+-90.83 41.836 6119
+-90.704 41.836 6104
+-90.578 41.836 6129
+-90.452 41.836 6127
+-90.326 41.836 6113
+-90.2 41.836 6110
+-90.074 41.836 6087
+-89.948 41.836 6105
+-89.822 41.836 6067
+-89.696 41.836 6041
+-89.57 41.836 5990
+-89.444 41.836 5918
+-89.318 41.836 5927
+-89.192 41.836 5850
+-89.066 41.836 5778
+-88.94 41.836 5749
+-88.814 41.836 5643
+-88.688 41.836 5614
+-88.562 41.836 5574
+-88.436 41.836 5505
+-88.31 41.836 5425
+-88.184 41.836 5350
+-88.058 41.836 5240
+-87.932 41.836 5112
+-87.806 41.836 5108
+-87.68 41.836 4997
+-87.554 41.836 4909
+-87.428 41.836 4837
+-87.302 41.836 4806
+-87.176 41.836 4787
+-87.05 41.836 4758
+-86.924 41.836 4730
+-86.798 41.836 4704
+-86.672 41.836 4681
+-86.546 41.836 4599
+-86.42 41.836 4468
+-86.294 41.836 4339
+-86.168 41.836 4249
+-86.042 41.836 4199
+-85.916 41.836 4112
+-85.79 41.836 4038
+-85.664 41.836 4003
+-85.538 41.836 3904
+-85.412 41.836 3811
+-85.286 41.836 3761
+-85.16 41.836 3775
+-85.034 41.836 3800
+-84.908 41.836 3756
+-84.782 41.836 3712
+-84.656 41.836 3634
+-84.53 41.836 3552
+-84.404 41.836 3429
+-84.278 41.836 3340
+-84.152 41.836 3288
+-84.026 41.836 3282
+-83.9 41.836 3296
+-83.774 41.836 3330
+-83.648 41.836 3343
+-83.522 41.836 3370
+-83.396 41.836 3358
+-83.27 41.836 3368
+-83.144 41.836 3423
+-83.018 41.836 3336
+-82.892 41.836 3381
+-82.766 41.836 3376
+-82.64 41.836 3385
+-82.514 41.836 3344
+-82.388 41.836 3362
+-82.262 41.836 3358
+-82.136 41.836 3403
+-82.01 41.836 3393
+-81.884 41.836 3399
+-81.758 41.836 3364
+-81.632 41.836 3411
+-81.506 41.836 3414
+-81.38 41.836 3419
+-81.254 41.836 3424
+-81.128 41.836 3428
+-81.002 41.836 3425
+-80.876 41.836 3430
+-80.75 41.836 3433
+-80.624 41.836 3422
+-80.498 41.836 3382
+-80.372 41.836 3379
+-80.246 41.836 3382
+-80.12 41.836 3384
+-79.994 41.836 3387
+-79.868 41.836 3389
+-79.742 41.836 3391
+-79.616 41.836 3393
+-79.49 41.836 3395
+-79.364 41.836 3397
+-79.238 41.836 3399
+-79.112 41.836 3400
+-78.986 41.836 3402
+-78.86 41.836 3403
+-78.734 41.836 3405
+-78.608 41.836 3406
+-78.482 41.836 3473
+-78.356 41.836 3475
+-78.23 41.836 3465
+-78.104 41.836 3467
+-77.978 41.836 3469
+-77.852 41.836 3471
+-77.726 41.836 3473
+-77.6 41.836 3475
+-77.474 41.836 3477
+-77.348 41.836 3478
+-77.222 41.836 3480
+-77.096 41.836 3482
+-76.97 41.836 3483
+-76.844 41.836 3507
+-76.718 41.836 3509
+-76.592 41.836 3511
+-76.466 41.836 3513
+-76.34 41.836 3515
+-76.214 41.836 3517
+-76.088 41.836 3485
+-75.962 41.836 3486
+-75.836 41.836 3488
+-75.71 41.836 3489
+-75.584 41.836 3514
+-75.458 41.836 3516
+-75.332 41.836 3518
+-75.206 41.836 3479
+-75.08 41.836 3481
+-74.954 41.836 3482
+-74.828 41.836 3604
+-74.702 41.836 3605
+-74.576 41.836 3606
+-74.45 41.836 3607
+-74.324 41.836 3608
+-74.198 41.836 3549
+-74.072 41.836 3550
+-73.946 41.836 3550
+-73.82 41.836 3551
+-73.694 41.836 3551
+-73.568 41.836 3552
+-73.442 41.836 3552
+-73.316 41.836 3553
+-73.19 41.836 3553
+-73.064 41.836 3554
+-72.938 41.836 3532
+-72.812 41.836 3521
+-72.686 41.836 3522
+-72.56 41.836 3522
+-72.434 41.836 3523
+-72.308 41.836 3523
+-72.182 41.836 3524
+-72.056 41.836 3507
+-71.93 41.836 3507
+-71.804 41.836 3507
+-71.678 41.836 3508
+-71.552 41.836 3508
+-71.426 41.836 3509
+-71.3 41.836 3509
+-71.174 41.836 3509
+-71.048 41.836 3456
+-70.922 41.836 3457
+-70.796 41.836 3457
+-70.67 41.836 3457
+-70.544 41.836 3457
+-70.418 41.836 3458
+-70.292 41.836 3458
+-70.166 41.836 3458
+-70.04 41.836 3458
+-69.914 41.836 3459
+-69.788 41.836 3459
+-69.662 41.836 3459
+-69.536 41.836 3459
+-69.41 41.836 3382
+-69.284 41.836 3382
+-69.158 41.836 3382
+-69.032 41.836 3382
+-68.906 41.836 3382
+-68.78 41.836 3382
+-68.654 41.836 3381
+-68.528 41.836 3381
+-68.402 41.836 3381
+-68.276 41.836 3381
+-68.15 41.836 3381
+-68.024 41.836 3381
+-67.898 41.836 3381
+-67.772 41.836 3381
+-67.646 41.836 3380
+-67.52 41.836 3380
+-67.394 41.836 3380
+-67.268 41.836 3380
+-67.142 41.836 3380
+-67.016 41.836 3380
+-66.89 41.836 3380
+-66.764 41.836 3380
+-66.638 41.836 3380
+-66.512 41.836 3379
+-66.386 41.836 3379
+-66.26 41.836 3067
+-66.134 41.836 3067
+-66.008 41.836 3066
+-65.882 41.836 3066
+-65.756 41.836 3066
+-65.63 41.836 3065
+-65.504 41.836 3065
+-65.378 41.836 3064
+-65.252 41.836 3064
+-65.126 41.836 3063
+-128 41.784 2998
+-127.874 41.784 3003
+-127.748 41.784 3010
+-127.622 41.784 2984
+-127.496 41.784 3006
+-127.37 41.784 3015
+-127.244 41.784 3020
+-127.118 41.784 3029
+-126.992 41.784 3039
+-126.866 41.784 3048
+-126.74 41.784 3046
+-126.614 41.784 3082
+-126.488 41.784 3105
+-126.362 41.784 3154
+-126.236 41.784 3184
+-126.11 41.784 3222
+-125.984 41.784 3246
+-125.858 41.784 3228
+-125.732 41.784 3179
+-125.606 41.784 3144
+-125.48 41.784 3196
+-125.354 41.784 3337
+-125.228 41.784 3465
+-125.102 41.784 3557
+-124.976 41.784 3617
+-124.85 41.784 3657
+-124.724 41.784 3681
+-124.598 41.784 3678
+-124.472 41.784 3699
+-124.346 41.784 3724
+-124.22 41.784 3739
+-124.094 41.784 3763
+-123.968 41.784 3768
+-123.842 41.784 3792
+-123.716 41.784 3836
+-123.59 41.784 3874
+-123.464 41.784 3900
+-123.338 41.784 3917
+-123.212 41.784 3901
+-123.086 41.784 3898
+-122.96 41.784 3931
+-122.834 41.784 3932
+-122.708 41.784 3917
+-122.582 41.784 3887
+-122.456 41.784 3851
+-122.33 41.784 3822
+-122.204 41.784 3811
+-122.078 41.784 3803
+-121.952 41.784 3798
+-121.826 41.784 3784
+-121.7 41.784 3766
+-121.574 41.784 3736
+-121.448 41.784 3712
+-121.322 41.784 3760
+-121.196 41.784 3822
+-121.07 41.784 3866
+-120.944 41.784 3911
+-120.818 41.784 3950
+-120.692 41.784 4031
+-120.566 41.784 4122
+-120.44 41.784 4172
+-120.314 41.784 4186
+-120.188 41.784 4227
+-120.062 41.784 4286
+-119.936 41.784 4374
+-119.81 41.784 4449
+-119.684 41.784 4494
+-119.558 41.784 4543
+-119.432 41.784 4550
+-119.306 41.784 4550
+-119.18 41.784 4588
+-119.054 41.784 4628
+-118.928 41.784 4661
+-118.802 41.784 4666
+-118.676 41.784 4654
+-118.55 41.784 4644
+-118.424 41.784 4639
+-118.298 41.784 4636
+-118.172 41.784 4641
+-118.046 41.784 4643
+-117.92 41.784 4641
+-117.794 41.784 4638
+-117.668 41.784 4624
+-117.542 41.784 4607
+-117.416 41.784 4609
+-117.29 41.784 4579
+-117.164 41.784 4572
+-117.038 41.784 4538
+-116.912 41.784 4489
+-116.786 41.784 4450
+-116.66 41.784 4355
+-116.534 41.784 4290
+-116.408 41.784 4210
+-116.282 41.784 4192
+-116.156 41.784 4102
+-116.03 41.784 4039
+-115.904 41.784 3968
+-115.778 41.784 3966
+-115.652 41.784 3891
+-115.526 41.784 3824
+-115.4 41.784 3768
+-115.274 41.784 3690
+-115.148 41.784 3654
+-115.022 41.784 3594
+-114.896 41.784 3534
+-114.77 41.784 3419
+-114.644 41.784 3287
+-114.518 41.784 3126
+-114.392 41.784 3070
+-114.266 41.784 3019
+-114.14 41.784 2908
+-114.014 41.784 2832
+-113.888 41.784 2729
+-113.762 41.784 2757
+-113.636 41.784 2782
+-113.51 41.784 2807
+-113.384 41.784 2806
+-113.258 41.784 2764
+-113.132 41.784 2725
+-113.006 41.784 2678
+-112.88 41.784 2654
+-112.754 41.784 2554
+-112.628 41.784 2528
+-112.502 41.784 2510
+-112.376 41.784 2501
+-112.25 41.784 2501
+-112.124 41.784 2533
+-111.998 41.784 2513
+-111.872 41.784 2524
+-111.746 41.784 2534
+-111.62 41.784 2545
+-111.494 41.784 2509
+-111.368 41.784 2495
+-111.242 41.784 2448
+-111.116 41.784 2455
+-110.99 41.784 2518
+-110.864 41.784 2526
+-110.738 41.784 2534
+-110.612 41.784 2475
+-110.486 41.784 2473
+-110.36 41.784 2482
+-110.234 41.784 2375
+-110.108 41.784 2418
+-109.982 41.784 2390
+-109.856 41.784 2413
+-109.73 41.784 2418
+-109.604 41.784 2424
+-109.478 41.784 2428
+-109.352 41.784 2433
+-109.226 41.784 2438
+-109.1 41.784 2442
+-108.974 41.784 2446
+-108.848 41.784 2450
+-108.722 41.784 2454
+-108.596 41.784 2458
+-108.47 41.784 2462
+-108.344 41.784 2466
+-108.218 41.784 2469
+-108.092 41.784 2473
+-107.966 41.784 2476
+-107.84 41.784 2479
+-107.714 41.784 2534
+-107.588 41.784 2539
+-107.462 41.784 2534
+-107.336 41.784 2508
+-107.21 41.784 2511
+-107.084 41.784 2515
+-106.958 41.784 2530
+-106.832 41.784 2534
+-106.706 41.784 2526
+-106.58 41.784 2531
+-106.454 41.784 2458
+-106.328 41.784 2461
+-106.202 41.784 2369
+-106.076 41.784 2206
+-105.95 41.784 2190
+-105.824 41.784 2182
+-105.698 41.784 2172
+-105.572 41.784 2107
+-105.446 41.784 2096
+-105.32 41.784 2084
+-105.194 41.784 1943
+-105.068 41.784 1852
+-104.942 41.784 1815
+-104.816 41.784 1833
+-104.69 41.784 1853
+-104.564 41.784 1818
+-104.438 41.784 1840
+-104.312 41.784 1886
+-104.186 41.784 1886
+-104.06 41.784 2010
+-103.934 41.784 2044
+-103.808 41.784 2080
+-103.682 41.784 2077
+-103.556 41.784 2165
+-103.43 41.784 2199
+-103.304 41.784 2190
+-103.178 41.784 2181
+-103.052 41.784 2249
+-102.926 41.784 2279
+-102.8 41.784 2268
+-102.674 41.784 2256
+-102.548 41.784 2244
+-102.422 41.784 2231
+-102.296 41.784 2272
+-102.17 41.784 2259
+-102.044 41.784 2245
+-101.918 41.784 2231
+-101.792 41.784 2215
+-101.666 41.784 2199
+-101.54 41.784 2191
+-101.414 41.784 2184
+-101.288 41.784 2209
+-101.162 41.784 2189
+-101.036 41.784 2168
+-100.91 41.784 2144
+-100.784 41.784 2154
+-100.658 41.784 2125
+-100.532 41.784 2093
+-100.406 41.784 2057
+-100.28 41.784 2017
+-100.154 41.784 1972
+-100.028 41.784 1920
+-99.902 41.784 1899
+-99.776 41.784 1869
+-99.65 41.784 1792
+-99.524 41.784 1702
+-99.398 41.784 1597
+-99.272 41.784 1476
+-99.146 41.784 1335
+-99.02 41.784 1176
+-98.894 41.784 1007
+-98.768 41.784 834
+-98.642 41.784 671
+-98.516 41.784 552
+-98.39 41.784 513
+-98.264 41.784 591
+-98.138 41.784 786
+-98.012 41.784 1082
+-97.886 41.784 1403
+-97.76 41.784 1711
+-97.634 41.784 2015
+-97.508 41.784 2229
+-97.382 41.784 2377
+-97.256 41.784 2592
+-97.13 41.784 2654
+-97.004 41.784 2689
+-96.878 41.784 2681
+-96.752 41.784 2681
+-96.626 41.784 2668
+-96.5 41.784 2700
+-96.374 41.784 2785
+-96.248 41.784 2928
+-96.122 41.784 3169
+-95.996 41.784 3293
+-95.87 41.784 3380
+-95.744 41.784 3424
+-95.618 41.784 3434
+-95.492 41.784 3445
+-95.366 41.784 3393
+-95.24 41.784 3366
+-95.114 41.784 3466
+-94.988 41.784 3643
+-94.862 41.784 3785
+-94.736 41.784 3887
+-94.61 41.784 3885
+-94.484 41.784 3990
+-94.358 41.784 4171
+-94.232 41.784 4285
+-94.106 41.784 4423
+-93.98 41.784 4617
+-93.854 41.784 4713
+-93.728 41.784 4762
+-93.602 41.784 4686
+-93.476 41.784 4835
+-93.35 41.784 4953
+-93.224 41.784 5037
+-93.098 41.784 5087
+-92.972 41.784 5148
+-92.846 41.784 5244
+-92.72 41.784 5326
+-92.594 41.784 5423
+-92.468 41.784 5530
+-92.342 41.784 5592
+-92.216 41.784 5667
+-92.09 41.784 5724
+-91.964 41.784 5768
+-91.838 41.784 5847
+-91.712 41.784 5910
+-91.586 41.784 5939
+-91.46 41.784 6024
+-91.334 41.784 6037
+-91.208 41.784 6097
+-91.082 41.784 6122
+-90.956 41.784 6151
+-90.83 41.784 6177
+-90.704 41.784 6148
+-90.578 41.784 6161
+-90.452 41.784 6181
+-90.326 41.784 6183
+-90.2 41.784 6153
+-90.074 41.784 6140
+-89.948 41.784 6145
+-89.822 41.784 6121
+-89.696 41.784 6098
+-89.57 41.784 6060
+-89.444 41.784 5999
+-89.318 41.784 5970
+-89.192 41.784 5919
+-89.066 41.784 5846
+-88.94 41.784 5849
+-88.814 41.784 5707
+-88.688 41.784 5646
+-88.562 41.784 5569
+-88.436 41.784 5487
+-88.31 41.784 5424
+-88.184 41.784 5385
+-88.058 41.784 5263
+-87.932 41.784 5208
+-87.806 41.784 5146
+-87.68 41.784 5039
+-87.554 41.784 4960
+-87.428 41.784 4889
+-87.302 41.784 4737
+-87.176 41.784 4836
+-87.05 41.784 4830
+-86.924 41.784 4781
+-86.798 41.784 4748
+-86.672 41.784 4717
+-86.546 41.784 4642
+-86.42 41.784 4574
+-86.294 41.784 4462
+-86.168 41.784 4369
+-86.042 41.784 4301
+-85.916 41.784 4206
+-85.79 41.784 4129
+-85.664 41.784 4059
+-85.538 41.784 3989
+-85.412 41.784 3942
+-85.286 41.784 3875
+-85.16 41.784 3854
+-85.034 41.784 3832
+-84.908 41.784 3789
+-84.782 41.784 3742
+-84.656 41.784 3623
+-84.53 41.784 3521
+-84.404 41.784 3381
+-84.278 41.784 3230
+-84.152 41.784 3162
+-84.026 41.784 3172
+-83.9 41.784 3234
+-83.774 41.784 3288
+-83.648 41.784 3322
+-83.522 41.784 3365
+-83.396 41.784 3411
+-83.27 41.784 3454
+-83.144 41.784 3434
+-83.018 41.784 3445
+-82.892 41.784 3483
+-82.766 41.784 3430
+-82.64 41.784 3410
+-82.514 41.784 3371
+-82.388 41.784 3367
+-82.262 41.784 3412
+-82.136 41.784 3402
+-82.01 41.784 3408
+-81.884 41.784 3414
+-81.758 41.784 3418
+-81.632 41.784 3420
+-81.506 41.784 3425
+-81.38 41.784 3429
+-81.254 41.784 3434
+-81.128 41.784 3431
+-81.002 41.784 3435
+-80.876 41.784 3438
+-80.75 41.784 3426
+-80.624 41.784 3387
+-80.498 41.784 3384
+-80.372 41.784 3386
+-80.246 41.784 3388
+-80.12 41.784 3391
+-79.994 41.784 3393
+-79.868 41.784 3395
+-79.742 41.784 3397
+-79.616 41.784 3398
+-79.49 41.784 3400
+-79.364 41.784 3402
+-79.238 41.784 3403
+-79.112 41.784 3405
+-78.986 41.784 3406
+-78.86 41.784 3407
+-78.734 41.784 3409
+-78.608 41.784 3473
+-78.482 41.784 3475
+-78.356 41.784 3465
+-78.23 41.784 3468
+-78.104 41.784 3470
+-77.978 41.784 3472
+-77.852 41.784 3474
+-77.726 41.784 3475
+-77.6 41.784 3477
+-77.474 41.784 3479
+-77.348 41.784 3481
+-77.222 41.784 3482
+-77.096 41.784 3484
+-76.97 41.784 3507
+-76.844 41.784 3510
+-76.718 41.784 3512
+-76.592 41.784 3514
+-76.466 41.784 3516
+-76.34 41.784 3518
+-76.214 41.784 3485
+-76.088 41.784 3487
+-75.962 41.784 3488
+-75.836 41.784 3490
+-75.71 41.784 3515
+-75.584 41.784 3517
+-75.458 41.784 3518
+-75.332 41.784 3480
+-75.206 41.784 3481
+-75.08 41.784 3483
+-74.954 41.784 3603
+-74.828 41.784 3604
+-74.702 41.784 3605
+-74.576 41.784 3606
+-74.45 41.784 3607
+-74.324 41.784 3549
+-74.198 41.784 3549
+-74.072 41.784 3550
+-73.946 41.784 3550
+-73.82 41.784 3551
+-73.694 41.784 3551
+-73.568 41.784 3552
+-73.442 41.784 3552
+-73.316 41.784 3553
+-73.19 41.784 3553
+-73.064 41.784 3532
+-72.938 41.784 3521
+-72.812 41.784 3521
+-72.686 41.784 3522
+-72.56 41.784 3523
+-72.434 41.784 3523
+-72.308 41.784 3506
+-72.182 41.784 3507
+-72.056 41.784 3507
+-71.93 41.784 3507
+-71.804 41.784 3508
+-71.678 41.784 3508
+-71.552 41.784 3508
+-71.426 41.784 3509
+-71.3 41.784 3509
+-71.174 41.784 3456
+-71.048 41.784 3456
+-70.922 41.784 3457
+-70.796 41.784 3457
+-70.67 41.784 3457
+-70.544 41.784 3457
+-70.418 41.784 3458
+-70.292 41.784 3458
+-70.166 41.784 3458
+-70.04 41.784 3459
+-69.914 41.784 3459
+-69.788 41.784 3459
+-69.662 41.784 3459
+-69.536 41.784 3382
+-69.41 41.784 3382
+-69.284 41.784 3382
+-69.158 41.784 3382
+-69.032 41.784 3382
+-68.906 41.784 3382
+-68.78 41.784 3381
+-68.654 41.784 3381
+-68.528 41.784 3381
+-68.402 41.784 3381
+-68.276 41.784 3381
+-68.15 41.784 3381
+-68.024 41.784 3381
+-67.898 41.784 3381
+-67.772 41.784 3380
+-67.646 41.784 3380
+-67.52 41.784 3380
+-67.394 41.784 3380
+-67.268 41.784 3380
+-67.142 41.784 3380
+-67.016 41.784 3380
+-66.89 41.784 3380
+-66.764 41.784 3380
+-66.638 41.784 3379
+-66.512 41.784 3379
+-66.386 41.784 3067
+-66.26 41.784 3067
+-66.134 41.784 3066
+-66.008 41.784 3066
+-65.882 41.784 3066
+-65.756 41.784 3065
+-65.63 41.784 3065
+-65.504 41.784 3064
+-65.378 41.784 3064
+-65.252 41.784 3064
+-65.126 41.784 3063
+-128 41.732 2987
+-127.874 41.732 2988
+-127.748 41.732 2958
+-127.622 41.732 2977
+-127.496 41.732 2982
+-127.37 41.732 2985
+-127.244 41.732 2991
+-127.118 41.732 2998
+-126.992 41.732 3003
+-126.866 41.732 2995
+-126.74 41.732 3022
+-126.614 41.732 3034
+-126.488 41.732 3071
+-126.362 41.732 3095
+-126.236 41.732 3103
+-126.11 41.732 3154
+-125.984 41.732 3211
+-125.858 41.732 3214
+-125.732 41.732 3194
+-125.606 41.732 3179
+-125.48 41.732 3222
+-125.354 41.732 3338
+-125.228 41.732 3443
+-125.102 41.732 3525
+-124.976 41.732 3582
+-124.85 41.732 3626
+-124.724 41.732 3642
+-124.598 41.732 3679
+-124.472 41.732 3681
+-124.346 41.732 3675
+-124.22 41.732 3667
+-124.094 41.732 3673
+-123.968 41.732 3683
+-123.842 41.732 3709
+-123.716 41.732 3751
+-123.59 41.732 3807
+-123.464 41.732 3837
+-123.338 41.732 3854
+-123.212 41.732 3844
+-123.086 41.732 3824
+-122.96 41.732 3858
+-122.834 41.732 3865
+-122.708 41.732 3831
+-122.582 41.732 3804
+-122.456 41.732 3798
+-122.33 41.732 3786
+-122.204 41.732 3776
+-122.078 41.732 3761
+-121.952 41.732 3746
+-121.826 41.732 3725
+-121.7 41.732 3729
+-121.574 41.732 3728
+-121.448 41.732 3712
+-121.322 41.732 3707
+-121.196 41.732 3767
+-121.07 41.732 3830
+-120.944 41.732 3873
+-120.818 41.732 3912
+-120.692 41.732 3966
+-120.566 41.732 4050
+-120.44 41.732 4107
+-120.314 41.732 4143
+-120.188 41.732 4197
+-120.062 41.732 4197
+-119.936 41.732 4318
+-119.81 41.732 4389
+-119.684 41.732 4441
+-119.558 41.732 4475
+-119.432 41.732 4508
+-119.306 41.732 4515
+-119.18 41.732 4530
+-119.054 41.732 4536
+-118.928 41.732 4545
+-118.802 41.732 4555
+-118.676 41.732 4565
+-118.55 41.732 4577
+-118.424 41.732 4597
+-118.298 41.732 4626
+-118.172 41.732 4589
+-118.046 41.732 4579
+-117.92 41.732 4575
+-117.794 41.732 4566
+-117.668 41.732 4548
+-117.542 41.732 4526
+-117.416 41.732 4535
+-117.29 41.732 4535
+-117.164 41.732 4505
+-117.038 41.732 4475
+-116.912 41.732 4429
+-116.786 41.732 4363
+-116.66 41.732 4288
+-116.534 41.732 4222
+-116.408 41.732 4159
+-116.282 41.732 4130
+-116.156 41.732 4066
+-116.03 41.732 4018
+-115.904 41.732 3977
+-115.778 41.732 3934
+-115.652 41.732 3854
+-115.526 41.732 3766
+-115.4 41.732 3654
+-115.274 41.732 3573
+-115.148 41.732 3574
+-115.022 41.732 3546
+-114.896 41.732 3502
+-114.77 41.732 3416
+-114.644 41.732 3275
+-114.518 41.732 3151
+-114.392 41.732 3068
+-114.266 41.732 2952
+-114.14 41.732 2854
+-114.014 41.732 2783
+-113.888 41.732 2620
+-113.762 41.732 2696
+-113.636 41.732 2759
+-113.51 41.732 2790
+-113.384 41.732 2774
+-113.258 41.732 2726
+-113.132 41.732 2667
+-113.006 41.732 2581
+-112.88 41.732 2522
+-112.754 41.732 2467
+-112.628 41.732 2437
+-112.502 41.732 2426
+-112.376 41.732 2428
+-112.25 41.732 2438
+-112.124 41.732 2426
+-111.998 41.732 2442
+-111.872 41.732 2489
+-111.746 41.732 2458
+-111.62 41.732 2395
+-111.494 41.732 2398
+-111.368 41.732 2406
+-111.242 41.732 2414
+-111.116 41.732 2440
+-110.99 41.732 2448
+-110.864 41.732 2429
+-110.738 41.732 2420
+-110.612 41.732 2358
+-110.486 41.732 2311
+-110.36 41.732 2315
+-110.234 41.732 2318
+-110.108 41.732 2359
+-109.982 41.732 2363
+-109.856 41.732 2378
+-109.73 41.732 2355
+-109.604 41.732 2360
+-109.478 41.732 2364
+-109.352 41.732 2368
+-109.226 41.732 2372
+-109.1 41.732 2376
+-108.974 41.732 2379
+-108.848 41.732 2383
+-108.722 41.732 2387
+-108.596 41.732 2390
+-108.47 41.732 2393
+-108.344 41.732 2397
+-108.218 41.732 2400
+-108.092 41.732 2403
+-107.966 41.732 2406
+-107.84 41.732 2409
+-107.714 41.732 2412
+-107.588 41.732 2526
+-107.462 41.732 2531
+-107.336 41.732 2526
+-107.21 41.732 2500
+-107.084 41.732 2504
+-106.958 41.732 2508
+-106.832 41.732 2522
+-106.706 41.732 2454
+-106.58 41.732 2442
+-106.454 41.732 2446
+-106.328 41.732 2450
+-106.202 41.732 2336
+-106.076 41.732 2192
+-105.95 41.732 2177
+-105.824 41.732 2169
+-105.698 41.732 2160
+-105.572 41.732 2150
+-105.446 41.732 2084
+-105.32 41.732 2072
+-105.194 41.732 1907
+-105.068 41.732 1845
+-104.942 41.732 1806
+-104.816 41.732 1813
+-104.69 41.732 1774
+-104.564 41.732 1801
+-104.438 41.732 1807
+-104.312 41.732 1887
+-104.186 41.732 1888
+-104.06 41.732 2049
+-103.934 41.732 2047
+-103.808 41.732 2107
+-103.682 41.732 2079
+-103.556 41.732 2167
+-103.43 41.732 2159
+-103.304 41.732 2193
+-103.178 41.732 2184
+-103.052 41.732 2174
+-102.926 41.732 2241
+-102.8 41.732 2271
+-102.674 41.732 2259
+-102.548 41.732 2247
+-102.422 41.732 2234
+-102.296 41.732 2220
+-102.17 41.732 2261
+-102.044 41.732 2247
+-101.918 41.732 2233
+-101.792 41.732 2217
+-101.666 41.732 2201
+-101.54 41.732 2184
+-101.414 41.732 2175
+-101.288 41.732 2167
+-101.162 41.732 2192
+-101.036 41.732 2171
+-100.91 41.732 2148
+-100.784 41.732 2123
+-100.658 41.732 2131
+-100.532 41.732 2100
+-100.406 41.732 2066
+-100.28 41.732 2028
+-100.154 41.732 1985
+-100.028 41.732 1937
+-99.902 41.732 1883
+-99.776 41.732 1857
+-99.65 41.732 1822
+-99.524 41.732 1740
+-99.398 41.732 1647
+-99.272 41.732 1539
+-99.146 41.732 1416
+-99.02 41.732 1279
+-98.894 41.732 1133
+-98.768 41.732 992
+-98.642 41.732 871
+-98.516 41.732 790
+-98.39 41.732 781
+-98.264 41.732 860
+-98.138 41.732 1051
+-98.012 41.732 1296
+-97.886 41.732 1571
+-97.76 41.732 1836
+-97.634 41.732 2096
+-97.508 41.732 2314
+-97.382 41.732 2454
+-97.256 41.732 2539
+-97.13 41.732 2648
+-97.004 41.732 2658
+-96.878 41.732 2642
+-96.752 41.732 2564
+-96.626 41.732 2487
+-96.5 41.732 2475
+-96.374 41.732 2584
+-96.248 41.732 2831
+-96.122 41.732 3053
+-95.996 41.732 3247
+-95.87 41.732 3359
+-95.744 41.732 3427
+-95.618 41.732 3438
+-95.492 41.732 3443
+-95.366 41.732 3436
+-95.24 41.732 3471
+-95.114 41.732 3560
+-94.988 41.732 3706
+-94.862 41.732 3846
+-94.736 41.732 3919
+-94.61 41.732 3946
+-94.484 41.732 4053
+-94.358 41.732 4231
+-94.232 41.732 4387
+-94.106 41.732 4542
+-93.98 41.732 4674
+-93.854 41.732 4739
+-93.728 41.732 4774
+-93.602 41.732 4785
+-93.476 41.732 4882
+-93.35 41.732 4966
+-93.224 41.732 5051
+-93.098 41.732 5110
+-92.972 41.732 5177
+-92.846 41.732 5291
+-92.72 41.732 5398
+-92.594 41.732 5520
+-92.468 41.732 5608
+-92.342 41.732 5678
+-92.216 41.732 5755
+-92.09 41.732 5753
+-91.964 41.732 5822
+-91.838 41.732 5906
+-91.712 41.732 5958
+-91.586 41.732 5995
+-91.46 41.732 6057
+-91.334 41.732 6079
+-91.208 41.732 6099
+-91.082 41.732 6182
+-90.956 41.732 6177
+-90.83 41.732 6217
+-90.704 41.732 6227
+-90.578 41.732 6221
+-90.452 41.732 6214
+-90.326 41.732 6202
+-90.2 41.732 6189
+-90.074 41.732 6184
+-89.948 41.732 6192
+-89.822 41.732 6167
+-89.696 41.732 6106
+-89.57 41.732 6126
+-89.444 41.732 6092
+-89.318 41.732 6031
+-89.192 41.732 6005
+-89.066 41.732 5922
+-88.94 41.732 5842
+-88.814 41.732 5749
+-88.688 41.732 5662
+-88.562 41.732 5604
+-88.436 41.732 5539
+-88.31 41.732 5478
+-88.184 41.732 5430
+-88.058 41.732 5317
+-87.932 41.732 5245
+-87.806 41.732 5164
+-87.68 41.732 5058
+-87.554 41.732 4933
+-87.428 41.732 4936
+-87.302 41.732 4945
+-87.176 41.732 4898
+-87.05 41.732 4868
+-86.924 41.732 4802
+-86.798 41.732 4754
+-86.672 41.732 4716
+-86.546 41.732 4646
+-86.42 41.732 4593
+-86.294 41.732 4558
+-86.168 41.732 4486
+-86.042 41.732 4383
+-85.916 41.732 4289
+-85.79 41.732 4210
+-85.664 41.732 4094
+-85.538 41.732 3978
+-85.412 41.732 4000
+-85.286 41.732 3949
+-85.16 41.732 3901
+-85.034 41.732 3862
+-84.908 41.732 3818
+-84.782 41.732 3735
+-84.656 41.732 3617
+-84.53 41.732 3451
+-84.404 41.732 3296
+-84.278 41.732 3094
+-84.152 41.732 2987
+-84.026 41.732 3049
+-83.9 41.732 3162
+-83.774 41.732 3251
+-83.648 41.732 3330
+-83.522 41.732 3400
+-83.396 41.732 3431
+-83.27 41.732 3453
+-83.144 41.732 3463
+-83.018 41.732 3480
+-82.892 41.732 3495
+-82.766 41.732 3467
+-82.64 41.732 3443
+-82.514 41.732 3417
+-82.388 41.732 3421
+-82.262 41.732 3457
+-82.136 41.732 3464
+-82.01 41.732 3422
+-81.884 41.732 3425
+-81.758 41.732 3427
+-81.632 41.732 3432
+-81.506 41.732 3436
+-81.38 41.732 3440
+-81.254 41.732 3436
+-81.128 41.732 3440
+-81.002 41.732 3444
+-80.876 41.732 3431
+-80.75 41.732 3392
+-80.624 41.732 3388
+-80.498 41.732 3391
+-80.372 41.732 3393
+-80.246 41.732 3395
+-80.12 41.732 3397
+-79.994 41.732 3399
+-79.868 41.732 3400
+-79.742 41.732 3402
+-79.616 41.732 3404
+-79.49 41.732 3405
+-79.364 41.732 3407
+-79.238 41.732 3408
+-79.112 41.732 3409
+-78.986 41.732 3410
+-78.86 41.732 3412
+-78.734 41.732 3473
+-78.608 41.732 3476
+-78.482 41.732 3466
+-78.356 41.732 3468
+-78.23 41.732 3470
+-78.104 41.732 3472
+-77.978 41.732 3474
+-77.852 41.732 3476
+-77.726 41.732 3478
+-77.6 41.732 3480
+-77.474 41.732 3481
+-77.348 41.732 3483
+-77.222 41.732 3484
+-77.096 41.732 3508
+-76.97 41.732 3510
+-76.844 41.732 3512
+-76.718 41.732 3514
+-76.592 41.732 3516
+-76.466 41.732 3518
+-76.34 41.732 3486
+-76.214 41.732 3487
+-76.088 41.732 3489
+-75.962 41.732 3490
+-75.836 41.732 3515
+-75.71 41.732 3517
+-75.584 41.732 3519
+-75.458 41.732 3480
+-75.332 41.732 3482
+-75.206 41.732 3483
+-75.08 41.732 3603
+-74.954 41.732 3604
+-74.828 41.732 3605
+-74.702 41.732 3606
+-74.576 41.732 3607
+-74.45 41.732 3548
+-74.324 41.732 3549
+-74.198 41.732 3550
+-74.072 41.732 3550
+-73.946 41.732 3551
+-73.82 41.732 3551
+-73.694 41.732 3552
+-73.568 41.732 3552
+-73.442 41.732 3553
+-73.316 41.732 3553
+-73.19 41.732 3532
+-73.064 41.732 3521
+-72.938 41.732 3521
+-72.812 41.732 3522
+-72.686 41.732 3522
+-72.56 41.732 3523
+-72.434 41.732 3523
+-72.308 41.732 3506
+-72.182 41.732 3507
+-72.056 41.732 3507
+-71.93 41.732 3508
+-71.804 41.732 3508
+-71.678 41.732 3508
+-71.552 41.732 3509
+-71.426 41.732 3509
+-71.3 41.732 3456
+-71.174 41.732 3456
+-71.048 41.732 3456
+-70.922 41.732 3457
+-70.796 41.732 3457
+-70.67 41.732 3457
+-70.544 41.732 3458
+-70.418 41.732 3458
+-70.292 41.732 3458
+-70.166 41.732 3458
+-70.04 41.732 3459
+-69.914 41.732 3459
+-69.788 41.732 3459
+-69.662 41.732 3382
+-69.536 41.732 3382
+-69.41 41.732 3382
+-69.284 41.732 3382
+-69.158 41.732 3382
+-69.032 41.732 3382
+-68.906 41.732 3381
+-68.78 41.732 3381
+-68.654 41.732 3381
+-68.528 41.732 3381
+-68.402 41.732 3381
+-68.276 41.732 3381
+-68.15 41.732 3381
+-68.024 41.732 3381
+-67.898 41.732 3380
+-67.772 41.732 3380
+-67.646 41.732 3380
+-67.52 41.732 3380
+-67.394 41.732 3380
+-67.268 41.732 3380
+-67.142 41.732 3380
+-67.016 41.732 3380
+-66.89 41.732 3380
+-66.764 41.732 3379
+-66.638 41.732 3379
+-66.512 41.732 3067
+-66.386 41.732 3067
+-66.26 41.732 3066
+-66.134 41.732 3066
+-66.008 41.732 3066
+-65.882 41.732 3065
+-65.756 41.732 3065
+-65.63 41.732 3064
+-65.504 41.732 3064
+-65.378 41.732 3064
+-65.252 41.732 3063
+-65.126 41.732 3063
+-128 41.68 2967
+-127.874 41.68 2932
+-127.748 41.68 2947
+-127.622 41.68 2949
+-127.496 41.68 2949
+-127.37 41.68 2951
+-127.244 41.68 2956
+-127.118 41.68 2956
+-126.992 41.68 2944
+-126.866 41.68 2962
+-126.74 41.68 2962
+-126.614 41.68 2982
+-126.488 41.68 2992
+-126.362 41.68 2993
+-126.236 41.68 3043
+-126.11 41.68 3089
+-125.984 41.68 3163
+-125.858 41.68 3195
+-125.732 41.68 3210
+-125.606 41.68 3225
+-125.48 41.68 3264
+-125.354 41.68 3330
+-125.228 41.68 3435
+-125.102 41.68 3499
+-124.976 41.68 3539
+-124.85 41.68 3584
+-124.724 41.68 3606
+-124.598 41.68 3628
+-124.472 41.68 3629
+-124.346 41.68 3617
+-124.22 41.68 3610
+-124.094 41.68 3616
+-123.968 41.68 3629
+-123.842 41.68 3652
+-123.716 41.68 3698
+-123.59 41.68 3749
+-123.464 41.68 3794
+-123.338 41.68 3813
+-123.212 41.68 3828
+-123.086 41.68 3830
+-122.96 41.68 3835
+-122.834 41.68 3813
+-122.708 41.68 3758
+-122.582 41.68 3725
+-122.456 41.68 3738
+-122.33 41.68 3746
+-122.204 41.68 3747
+-122.078 41.68 3717
+-121.952 41.68 3665
+-121.826 41.68 3633
+-121.7 41.68 3670
+-121.574 41.68 3698
+-121.448 41.68 3670
+-121.322 41.68 3592
+-121.196 41.68 3704
+-121.07 41.68 3783
+-120.944 41.68 3847
+-120.818 41.68 3901
+-120.692 41.68 3945
+-120.566 41.68 3996
+-120.44 41.68 4033
+-120.314 41.68 4083
+-120.188 41.68 4126
+-120.062 41.68 4156
+-119.936 41.68 4224
+-119.81 41.68 4289
+-119.684 41.68 4348
+-119.558 41.68 4398
+-119.432 41.68 4454
+-119.306 41.68 4474
+-119.18 41.68 4473
+-119.054 41.68 4466
+-118.928 41.68 4464
+-118.802 41.68 4484
+-118.676 41.68 4498
+-118.55 41.68 4518
+-118.424 41.68 4550
+-118.298 41.68 4568
+-118.172 41.68 4572
+-118.046 41.68 4531
+-117.92 41.68 4512
+-117.794 41.68 4493
+-117.668 41.68 4487
+-117.542 41.68 4481
+-117.416 41.68 4471
+-117.29 41.68 4460
+-117.164 41.68 4451
+-117.038 41.68 4401
+-116.912 41.68 4348
+-116.786 41.68 4269
+-116.66 41.68 4190
+-116.534 41.68 4144
+-116.408 41.68 4101
+-116.282 41.68 4029
+-116.156 41.68 3981
+-116.03 41.68 3961
+-115.904 41.68 3935
+-115.778 41.68 3881
+-115.652 41.68 3792
+-115.526 41.68 3655
+-115.4 41.68 3566
+-115.274 41.68 3485
+-115.148 41.68 3525
+-115.022 41.68 3518
+-114.896 41.68 3475
+-114.77 41.68 3409
+-114.644 41.68 3308
+-114.518 41.68 3198
+-114.392 41.68 3080
+-114.266 41.68 2965
+-114.14 41.68 2887
+-114.014 41.68 2806
+-113.888 41.68 2713
+-113.762 41.68 2737
+-113.636 41.68 2764
+-113.51 41.68 2776
+-113.384 41.68 2754
+-113.258 41.68 2667
+-113.132 41.68 2600
+-113.006 41.68 2487
+-112.88 41.68 2412
+-112.754 41.68 2357
+-112.628 41.68 2321
+-112.502 41.68 2319
+-112.376 41.68 2336
+-112.25 41.68 2363
+-112.124 41.68 2355
+-111.998 41.68 2356
+-111.872 41.68 2412
+-111.746 41.68 2354
+-111.62 41.68 2370
+-111.494 41.68 2384
+-111.368 41.68 2395
+-111.242 41.68 2399
+-111.116 41.68 2404
+-110.99 41.68 2413
+-110.864 41.68 2333
+-110.738 41.68 2287
+-110.612 41.68 2340
+-110.486 41.68 2294
+-110.36 41.68 2298
+-110.234 41.68 2302
+-110.108 41.68 2306
+-109.982 41.68 2347
+-109.856 41.68 2351
+-109.73 41.68 2366
+-109.604 41.68 2343
+-109.478 41.68 2347
+-109.352 41.68 2352
+-109.226 41.68 2356
+-109.1 41.68 2360
+-108.974 41.68 2364
+-108.848 41.68 2368
+-108.722 41.68 2372
+-108.596 41.68 2376
+-108.47 41.68 2380
+-108.344 41.68 2383
+-108.218 41.68 2387
+-108.092 41.68 2390
+-107.966 41.68 2394
+-107.84 41.68 2397
+-107.714 41.68 2400
+-107.588 41.68 2403
+-107.462 41.68 2518
+-107.336 41.68 2523
+-107.21 41.68 2518
+-107.084 41.68 2492
+-106.958 41.68 2436
+-106.832 41.68 2438
+-106.706 41.68 2442
+-106.58 41.68 2430
+-106.454 41.68 2434
+-106.328 41.68 2438
+-106.202 41.68 2323
+-106.076 41.68 2179
+-105.95 41.68 2172
+-105.824 41.68 2156
+-105.698 41.68 2147
+-105.572 41.68 2137
+-105.446 41.68 2127
+-105.32 41.68 2007
+-105.194 41.68 1853
+-105.068 41.68 1809
+-104.942 41.68 1800
+-104.816 41.68 1794
+-104.69 41.68 1771
+-104.564 41.68 1800
+-104.438 41.68 1784
+-104.312 41.68 1859
+-104.186 41.68 1902
+-104.06 41.68 2051
+-103.934 41.68 2049
+-103.808 41.68 2109
+-103.682 41.68 2105
+-103.556 41.68 2157
+-103.43 41.68 2162
+-103.304 41.68 2153
+-103.178 41.68 2187
+-103.052 41.68 2177
+-102.926 41.68 2167
+-102.8 41.68 2233
+-102.674 41.68 2262
+-102.548 41.68 2250
+-102.422 41.68 2237
+-102.296 41.68 2223
+-102.17 41.68 2209
+-102.044 41.68 2249
+-101.918 41.68 2235
+-101.792 41.68 2220
+-101.666 41.68 2204
+-101.54 41.68 2187
+-101.414 41.68 2169
+-101.288 41.68 2159
+-101.162 41.68 2150
+-101.036 41.68 2174
+-100.91 41.68 2152
+-100.784 41.68 2129
+-100.658 41.68 2103
+-100.532 41.68 2108
+-100.406 41.68 2076
+-100.28 41.68 2040
+-100.154 41.68 2001
+-100.028 41.68 1957
+-99.902 41.68 1907
+-99.776 41.68 1851
+-99.65 41.68 1824
+-99.524 41.68 1787
+-99.398 41.68 1706
+-99.272 41.68 1614
+-99.146 41.68 1512
+-99.02 41.68 1402
+-98.894 41.68 1287
+-98.768 41.68 1178
+-98.642 41.68 1093
+-98.516 41.68 1052
+-98.39 41.68 1064
+-98.264 41.68 1175
+-98.138 41.68 1326
+-98.012 41.68 1529
+-97.886 41.68 1754
+-97.76 41.68 2023
+-97.634 41.68 2219
+-97.508 41.68 2376
+-97.382 41.68 2493
+-97.256 41.68 2599
+-97.13 41.68 2619
+-97.004 41.68 2627
+-96.878 41.68 2588
+-96.752 41.68 2461
+-96.626 41.68 2321
+-96.5 41.68 2257
+-96.374 41.68 2371
+-96.248 41.68 2679
+-96.122 41.68 2983
+-95.996 41.68 3205
+-95.87 41.68 3351
+-95.744 41.68 3412
+-95.618 41.68 3434
+-95.492 41.68 3389
+-95.366 41.68 3361
+-95.24 41.68 3448
+-95.114 41.68 3586
+-94.988 41.68 3742
+-94.862 41.68 3889
+-94.736 41.68 3972
+-94.61 41.68 4039
+-94.484 41.68 4145
+-94.358 41.68 4316
+-94.232 41.68 4478
+-94.106 41.68 4626
+-93.98 41.68 4719
+-93.854 41.68 4761
+-93.728 41.68 4672
+-93.602 41.68 4842
+-93.476 41.68 4935
+-93.35 41.68 4980
+-93.224 41.68 5060
+-93.098 41.68 5143
+-92.972 41.68 5233
+-92.846 41.68 5373
+-92.72 41.68 5474
+-92.594 41.68 5578
+-92.468 41.68 5628
+-92.342 41.68 5717
+-92.216 41.68 5769
+-92.09 41.68 5818
+-91.964 41.68 5892
+-91.838 41.68 5965
+-91.712 41.68 6039
+-91.586 41.68 6084
+-91.46 41.68 6114
+-91.334 41.68 6141
+-91.208 41.68 6182
+-91.082 41.68 6225
+-90.956 41.68 6252
+-90.83 41.68 6264
+-90.704 41.68 6300
+-90.578 41.68 6285
+-90.452 41.68 6285
+-90.326 41.68 6285
+-90.2 41.68 6264
+-90.074 41.68 6256
+-89.948 41.68 6236
+-89.822 41.68 6211
+-89.696 41.68 6187
+-89.57 41.68 6188
+-89.444 41.68 6110
+-89.318 41.68 6079
+-89.192 41.68 6018
+-89.066 41.68 5992
+-88.94 41.68 5925
+-88.814 41.68 5834
+-88.688 41.68 5741
+-88.562 41.68 5661
+-88.436 41.68 5627
+-88.31 41.68 5509
+-88.184 41.68 5493
+-88.058 41.68 5378
+-87.932 41.68 5278
+-87.806 41.68 5241
+-87.68 41.68 5042
+-87.554 41.68 5036
+-87.428 41.68 4970
+-87.302 41.68 4841
+-87.176 41.68 4929
+-87.05 41.68 4932
+-86.924 41.68 4859
+-86.798 41.68 4780
+-86.672 41.68 4697
+-86.546 41.68 4599
+-86.42 41.68 4555
+-86.294 41.68 4591
+-86.168 41.68 4549
+-86.042 41.68 4428
+-85.916 41.68 4299
+-85.79 41.68 4233
+-85.664 41.68 4191
+-85.538 41.68 4076
+-85.412 41.68 4069
+-85.286 41.68 4011
+-85.16 41.68 3954
+-85.034 41.68 3897
+-84.908 41.68 3813
+-84.782 41.68 3698
+-84.656 41.68 3547
+-84.53 41.68 3432
+-84.404 41.68 3288
+-84.278 41.68 3028
+-84.152 41.68 2872
+-84.026 41.68 2972
+-83.9 41.68 3133
+-83.774 41.68 3255
+-83.648 41.68 3345
+-83.522 41.68 3421
+-83.396 41.68 3433
+-83.27 41.68 3452
+-83.144 41.68 3474
+-83.018 41.68 3493
+-82.892 41.68 3467
+-82.766 41.68 3478
+-82.64 41.68 3483
+-82.514 41.68 3494
+-82.388 41.68 3529
+-82.262 41.68 3471
+-82.136 41.68 3492
+-82.01 41.68 3433
+-81.884 41.68 3434
+-81.758 41.68 3439
+-81.632 41.68 3443
+-81.506 41.68 3446
+-81.38 41.68 3443
+-81.254 41.68 3446
+-81.128 41.68 3450
+-81.002 41.68 3437
+-80.876 41.68 3397
+-80.75 41.68 3394
+-80.624 41.68 3396
+-80.498 41.68 3398
+-80.372 41.68 3400
+-80.246 41.68 3401
+-80.12 41.68 3403
+-79.994 41.68 3405
+-79.868 41.68 3406
+-79.742 41.68 3408
+-79.616 41.68 3409
+-79.49 41.68 3410
+-79.364 41.68 3411
+-79.238 41.68 3413
+-79.112 41.68 3414
+-78.986 41.68 3375
+-78.86 41.68 3474
+-78.734 41.68 3477
+-78.608 41.68 3467
+-78.482 41.68 3469
+-78.356 41.68 3471
+-78.23 41.68 3473
+-78.104 41.68 3475
+-77.978 41.68 3477
+-77.852 41.68 3478
+-77.726 41.68 3480
+-77.6 41.68 3482
+-77.474 41.68 3483
+-77.348 41.68 3485
+-77.222 41.68 3508
+-77.096 41.68 3510
+-76.97 41.68 3512
+-76.844 41.68 3515
+-76.718 41.68 3517
+-76.592 41.68 3519
+-76.466 41.68 3486
+-76.34 41.68 3488
+-76.214 41.68 3489
+-76.088 41.68 3491
+-75.962 41.68 3515
+-75.836 41.68 3517
+-75.71 41.68 3519
+-75.584 41.68 3481
+-75.458 41.68 3482
+-75.332 41.68 3484
+-75.206 41.68 3602
+-75.08 41.68 3603
+-74.954 41.68 3604
+-74.828 41.68 3605
+-74.702 41.68 3606
+-74.576 41.68 3548
+-74.45 41.68 3549
+-74.324 41.68 3549
+-74.198 41.68 3550
+-74.072 41.68 3550
+-73.946 41.68 3551
+-73.82 41.68 3551
+-73.694 41.68 3552
+-73.568 41.68 3552
+-73.442 41.68 3553
+-73.316 41.68 3531
+-73.19 41.68 3520
+-73.064 41.68 3521
+-72.938 41.68 3521
+-72.812 41.68 3522
+-72.686 41.68 3523
+-72.56 41.68 3506
+-72.434 41.68 3506
+-72.308 41.68 3507
+-72.182 41.68 3507
+-72.056 41.68 3507
+-71.93 41.68 3508
+-71.804 41.68 3508
+-71.678 41.68 3508
+-71.552 41.68 3509
+-71.426 41.68 3456
+-71.3 41.68 3456
+-71.174 41.68 3456
+-71.048 41.68 3457
+-70.922 41.68 3457
+-70.796 41.68 3457
+-70.67 41.68 3457
+-70.544 41.68 3458
+-70.418 41.68 3458
+-70.292 41.68 3458
+-70.166 41.68 3458
+-70.04 41.68 3459
+-69.914 41.68 3459
+-69.788 41.68 3382
+-69.662 41.68 3382
+-69.536 41.68 3382
+-69.41 41.68 3382
+-69.284 41.68 3382
+-69.158 41.68 3382
+-69.032 41.68 3381
+-68.906 41.68 3381
+-68.78 41.68 3381
+-68.654 41.68 3381
+-68.528 41.68 3381
+-68.402 41.68 3381
+-68.276 41.68 3381
+-68.15 41.68 3381
+-68.024 41.68 3380
+-67.898 41.68 3380
+-67.772 41.68 3380
+-67.646 41.68 3380
+-67.52 41.68 3380
+-67.394 41.68 3380
+-67.268 41.68 3380
+-67.142 41.68 3380
+-67.016 41.68 3380
+-66.89 41.68 3379
+-66.764 41.68 3379
+-66.638 41.68 3067
+-66.512 41.68 3067
+-66.386 41.68 3067
+-66.26 41.68 3066
+-66.134 41.68 3066
+-66.008 41.68 3065
+-65.882 41.68 3065
+-65.756 41.68 3064
+-65.63 41.68 3064
+-65.504 41.68 3064
+-65.378 41.68 3063
+-65.252 41.68 3063
+-65.126 41.68 3062
+-128 41.628 2907
+-127.874 41.628 2917
+-127.748 41.628 2915
+-127.622 41.628 2911
+-127.496 41.628 2911
+-127.37 41.628 2912
+-127.244 41.628 2911
+-127.118 41.628 2896
+-126.992 41.628 2908
+-126.866 41.628 2899
+-126.74 41.628 2903
+-126.614 41.628 2892
+-126.488 41.628 2874
+-126.362 41.628 2902
+-126.236 41.628 2942
+-126.11 41.628 2999
+-125.984 41.628 3092
+-125.858 41.628 3149
+-125.732 41.628 3194
+-125.606 41.628 3233
+-125.48 41.628 3277
+-125.354 41.628 3328
+-125.228 41.628 3423
+-125.102 41.628 3466
+-124.976 41.628 3498
+-124.85 41.628 3525
+-124.724 41.628 3556
+-124.598 41.628 3569
+-124.472 41.628 3567
+-124.346 41.628 3562
+-124.22 41.628 3551
+-124.094 41.628 3589
+-123.968 41.628 3615
+-123.842 41.628 3622
+-123.716 41.628 3659
+-123.59 41.628 3708
+-123.464 41.628 3745
+-123.338 41.628 3776
+-123.212 41.628 3798
+-123.086 41.628 3795
+-122.96 41.628 3797
+-122.834 41.628 3761
+-122.708 41.628 3717
+-122.582 41.628 3694
+-122.456 41.628 3713
+-122.33 41.628 3726
+-122.204 41.628 3714
+-122.078 41.628 3676
+-121.952 41.628 3615
+-121.826 41.628 3557
+-121.7 41.628 3619
+-121.574 41.628 3667
+-121.448 41.628 3664
+-121.322 41.628 3659
+-121.196 41.628 3703
+-121.07 41.628 3758
+-120.944 41.628 3820
+-120.818 41.628 3871
+-120.692 41.628 3916
+-120.566 41.628 3960
+-120.44 41.628 4007
+-120.314 41.628 4038
+-120.188 41.628 4059
+-120.062 41.628 4103
+-119.936 41.628 4140
+-119.81 41.628 4200
+-119.684 41.628 4280
+-119.558 41.628 4322
+-119.432 41.628 4373
+-119.306 41.628 4397
+-119.18 41.628 4406
+-119.054 41.628 4424
+-118.928 41.628 4425
+-118.802 41.628 4433
+-118.676 41.628 4440
+-118.55 41.628 4455
+-118.424 41.628 4473
+-118.298 41.628 4494
+-118.172 41.628 4496
+-118.046 41.628 4461
+-117.92 41.628 4446
+-117.794 41.628 4426
+-117.668 41.628 4437
+-117.542 41.628 4442
+-117.416 41.628 4411
+-117.29 41.628 4367
+-117.164 41.628 4339
+-117.038 41.628 4260
+-116.912 41.628 4230
+-116.786 41.628 4160
+-116.66 41.628 4120
+-116.534 41.628 4126
+-116.408 41.628 4065
+-116.282 41.628 3977
+-116.156 41.628 3935
+-116.03 41.628 3933
+-115.904 41.628 3885
+-115.778 41.628 3820
+-115.652 41.628 3731
+-115.526 41.628 3617
+-115.4 41.628 3538
+-115.274 41.628 3523
+-115.148 41.628 3472
+-115.022 41.628 3473
+-114.896 41.628 3465
+-114.77 41.628 3425
+-114.644 41.628 3344
+-114.518 41.628 3227
+-114.392 41.628 3105
+-114.266 41.628 2998
+-114.14 41.628 2929
+-114.014 41.628 2869
+-113.888 41.628 2816
+-113.762 41.628 2805
+-113.636 41.628 2790
+-113.51 41.628 2776
+-113.384 41.628 2693
+-113.258 41.628 2611
+-113.132 41.628 2471
+-113.006 41.628 2370
+-112.88 41.628 2263
+-112.754 41.628 2200
+-112.628 41.628 2181
+-112.502 41.628 2190
+-112.376 41.628 2202
+-112.25 41.628 2245
+-112.124 41.628 2291
+-111.998 41.628 2264
+-111.872 41.628 2278
+-111.746 41.628 2321
+-111.62 41.628 2343
+-111.494 41.628 2361
+-111.368 41.628 2376
+-111.242 41.628 2375
+-111.116 41.628 2387
+-110.99 41.628 2330
+-110.864 41.628 2336
+-110.738 41.628 2319
+-110.612 41.628 2274
+-110.486 41.628 2327
+-110.36 41.628 2281
+-110.234 41.628 2286
+-110.108 41.628 2289
+-109.982 41.628 2293
+-109.856 41.628 2334
+-109.73 41.628 2338
+-109.604 41.628 2353
+-109.478 41.628 2330
+-109.352 41.628 2335
+-109.226 41.628 2340
+-109.1 41.628 2344
+-108.974 41.628 2349
+-108.848 41.628 2353
+-108.722 41.628 2357
+-108.596 41.628 2361
+-108.47 41.628 2365
+-108.344 41.628 2369
+-108.218 41.628 2373
+-108.092 41.628 2377
+-107.966 41.628 2381
+-107.84 41.628 2384
+-107.714 41.628 2388
+-107.588 41.628 2391
+-107.462 41.628 2395
+-107.336 41.628 2510
+-107.21 41.628 2515
+-107.084 41.628 2450
+-106.958 41.628 2424
+-106.832 41.628 2426
+-106.706 41.628 2430
+-106.58 41.628 2434
+-106.454 41.628 2400
+-106.328 41.628 2404
+-106.202 41.628 2310
+-106.076 41.628 2142
+-105.95 41.628 2135
+-105.824 41.628 2127
+-105.698 41.628 2116
+-105.572 41.628 2106
+-105.446 41.628 2067
+-105.32 41.628 2056
+-105.194 41.628 1880
+-105.068 41.628 1837
+-104.942 41.628 1758
+-104.816 41.628 1790
+-104.69 41.628 1763
+-104.564 41.628 1800
+-104.438 41.628 1807
+-104.312 41.628 1897
+-104.186 41.628 1898
+-104.06 41.628 2022
+-103.934 41.628 2020
+-103.808 41.628 2112
+-103.682 41.628 2108
+-103.556 41.628 2160
+-103.43 41.628 2152
+-103.304 41.628 2156
+-103.178 41.628 2147
+-103.052 41.628 2180
+-102.926 41.628 2170
+-102.8 41.628 2203
+-102.674 41.628 2224
+-102.548 41.628 2253
+-102.422 41.628 2240
+-102.296 41.628 2227
+-102.17 41.628 2213
+-102.044 41.628 2198
+-101.918 41.628 2238
+-101.792 41.628 2223
+-101.666 41.628 2207
+-101.54 41.628 2191
+-101.414 41.628 2173
+-101.288 41.628 2154
+-101.162 41.628 2143
+-101.036 41.628 2133
+-100.91 41.628 2157
+-100.784 41.628 2135
+-100.658 41.628 2110
+-100.532 41.628 2083
+-100.406 41.628 2088
+-100.28 41.628 2055
+-100.154 41.628 2019
+-100.028 41.628 1979
+-99.902 41.628 1934
+-99.776 41.628 1885
+-99.65 41.628 1830
+-99.524 41.628 1805
+-99.398 41.628 1771
+-99.272 41.628 1696
+-99.146 41.628 1615
+-99.02 41.628 1531
+-98.894 41.628 1447
+-98.768 41.628 1371
+-98.642 41.628 1322
+-98.516 41.628 1321
+-98.39 41.628 1348
+-98.264 41.628 1445
+-98.138 41.628 1586
+-98.012 41.628 1750
+-97.886 41.628 1957
+-97.76 41.628 2152
+-97.634 41.628 2310
+-97.508 41.628 2440
+-97.382 41.628 2570
+-97.256 41.628 2626
+-97.13 41.628 2643
+-97.004 41.628 2605
+-96.878 41.628 2580
+-96.752 41.628 2426
+-96.626 41.628 2249
+-96.5 41.628 2155
+-96.374 41.628 2278
+-96.248 41.628 2626
+-96.122 41.628 2956
+-95.996 41.628 3205
+-95.87 41.628 3344
+-95.744 41.628 3414
+-95.618 41.628 3414
+-95.492 41.628 3350
+-95.366 41.628 3271
+-95.24 41.628 3396
+-95.114 41.628 3591
+-94.988 41.628 3778
+-94.862 41.628 3880
+-94.736 41.628 4022
+-94.61 41.628 4119
+-94.484 41.628 4222
+-94.358 41.628 4385
+-94.232 41.628 4567
+-94.106 41.628 4705
+-93.98 41.628 4767
+-93.854 41.628 4806
+-93.728 41.628 4812
+-93.602 41.628 4893
+-93.476 41.628 4946
+-93.35 41.628 5027
+-93.224 41.628 5127
+-93.098 41.628 5223
+-92.972 41.628 5305
+-92.846 41.628 5436
+-92.72 41.628 5472
+-92.594 41.628 5595
+-92.468 41.628 5710
+-92.342 41.628 5757
+-92.216 41.628 5824
+-92.09 41.628 5902
+-91.964 41.628 5936
+-91.838 41.628 6008
+-91.712 41.628 6097
+-91.586 41.628 6089
+-91.46 41.628 6152
+-91.334 41.628 6219
+-91.208 41.628 6264
+-91.082 41.628 6286
+-90.956 41.628 6311
+-90.83 41.628 6348
+-90.704 41.628 6309
+-90.578 41.628 6334
+-90.452 41.628 6340
+-90.326 41.628 6332
+-90.2 41.628 6326
+-90.074 41.628 6307
+-89.948 41.628 6314
+-89.822 41.628 6272
+-89.696 41.628 6217
+-89.57 41.628 6206
+-89.444 41.628 6175
+-89.318 41.628 6143
+-89.192 41.628 6083
+-89.066 41.628 6017
+-88.94 41.628 5946
+-88.814 41.628 5893
+-88.688 41.628 5777
+-88.562 41.628 5732
+-88.436 41.628 5637
+-88.31 41.628 5552
+-88.184 41.628 5487
+-88.058 41.628 5396
+-87.932 41.628 5319
+-87.806 41.628 5215
+-87.68 41.628 5161
+-87.554 41.628 5107
+-87.428 41.628 5046
+-87.302 41.628 5015
+-87.176 41.628 5023
+-87.05 41.628 5007
+-86.924 41.628 4924
+-86.798 41.628 4832
+-86.672 41.628 4750
+-86.546 41.628 4688
+-86.42 41.628 4646
+-86.294 41.628 4593
+-86.168 41.628 4580
+-86.042 41.628 4491
+-85.916 41.628 4358
+-85.79 41.628 4287
+-85.664 41.628 4257
+-85.538 41.628 4179
+-85.412 41.628 4144
+-85.286 41.628 4080
+-85.16 41.628 4003
+-85.034 41.628 3932
+-84.908 41.628 3809
+-84.782 41.628 3629
+-84.656 41.628 3462
+-84.53 41.628 3379
+-84.404 41.628 3334
+-84.278 41.628 3144
+-84.152 41.628 3006
+-84.026 41.628 3071
+-83.9 41.628 3179
+-83.774 41.628 3289
+-83.648 41.628 3382
+-83.522 41.628 3411
+-83.396 41.628 3439
+-83.27 41.628 3467
+-83.144 41.628 3489
+-83.018 41.628 3467
+-82.892 41.628 3479
+-82.766 41.628 3485
+-82.64 41.628 3476
+-82.514 41.628 3532
+-82.388 41.628 3541
+-82.262 41.628 3495
+-82.136 41.628 3503
+-82.01 41.628 3509
+-81.884 41.628 3446
+-81.758 41.628 3450
+-81.632 41.628 3453
+-81.506 41.628 3449
+-81.38 41.628 3453
+-81.254 41.628 3456
+-81.128 41.628 3443
+-81.002 41.628 3403
+-80.876 41.628 3399
+-80.75 41.628 3401
+-80.624 41.628 3403
+-80.498 41.628 3405
+-80.372 41.628 3406
+-80.246 41.628 3408
+-80.12 41.628 3409
+-79.994 41.628 3410
+-79.868 41.628 3412
+-79.742 41.628 3413
+-79.616 41.628 3414
+-79.49 41.628 3415
+-79.364 41.628 3416
+-79.238 41.628 3417
+-79.112 41.628 3378
+-78.986 41.628 3475
+-78.86 41.628 3477
+-78.734 41.628 3468
+-78.608 41.628 3470
+-78.482 41.628 3472
+-78.356 41.628 3474
+-78.23 41.628 3476
+-78.104 41.628 3477
+-77.978 41.628 3479
+-77.852 41.628 3481
+-77.726 41.628 3483
+-77.6 41.628 3484
+-77.474 41.628 3486
+-77.348 41.628 3508
+-77.222 41.628 3511
+-77.096 41.628 3513
+-76.97 41.628 3515
+-76.844 41.628 3517
+-76.718 41.628 3519
+-76.592 41.628 3487
+-76.466 41.628 3488
+-76.34 41.628 3490
+-76.214 41.628 3491
+-76.088 41.628 3515
+-75.962 41.628 3518
+-75.836 41.628 3519
+-75.71 41.628 3481
+-75.584 41.628 3483
+-75.458 41.628 3484
+-75.332 41.628 3601
+-75.206 41.628 3602
+-75.08 41.628 3603
+-74.954 41.628 3605
+-74.828 41.628 3606
+-74.702 41.628 3548
+-74.576 41.628 3548
+-74.45 41.628 3549
+-74.324 41.628 3549
+-74.198 41.628 3550
+-74.072 41.628 3551
+-73.946 41.628 3551
+-73.82 41.628 3552
+-73.694 41.628 3552
+-73.568 41.628 3553
+-73.442 41.628 3531
+-73.316 41.628 3520
+-73.19 41.628 3521
+-73.064 41.628 3521
+-72.938 41.628 3522
+-72.812 41.628 3522
+-72.686 41.628 3523
+-72.56 41.628 3506
+-72.434 41.628 3506
+-72.308 41.628 3507
+-72.182 41.628 3507
+-72.056 41.628 3508
+-71.93 41.628 3508
+-71.804 41.628 3508
+-71.678 41.628 3509
+-71.552 41.628 3455
+-71.426 41.628 3456
+-71.3 41.628 3456
+-71.174 41.628 3456
+-71.048 41.628 3457
+-70.922 41.628 3457
+-70.796 41.628 3457
+-70.67 41.628 3457
+-70.544 41.628 3458
+-70.418 41.628 3458
+-70.292 41.628 3458
+-70.166 41.628 3459
+-70.04 41.628 3459
+-69.914 41.628 3382
+-69.788 41.628 3382
+-69.662 41.628 3382
+-69.536 41.628 3382
+-69.41 41.628 3382
+-69.284 41.628 3382
+-69.158 41.628 3381
+-69.032 41.628 3381
+-68.906 41.628 3381
+-68.78 41.628 3381
+-68.654 41.628 3381
+-68.528 41.628 3381
+-68.402 41.628 3381
+-68.276 41.628 3381
+-68.15 41.628 3380
+-68.024 41.628 3380
+-67.898 41.628 3380
+-67.772 41.628 3380
+-67.646 41.628 3380
+-67.52 41.628 3380
+-67.394 41.628 3380
+-67.268 41.628 3380
+-67.142 41.628 3379
+-67.016 41.628 3379
+-66.89 41.628 3379
+-66.764 41.628 3068
+-66.638 41.628 3067
+-66.512 41.628 3067
+-66.386 41.628 3066
+-66.26 41.628 3066
+-66.134 41.628 3065
+-66.008 41.628 3065
+-65.882 41.628 3064
+-65.756 41.628 3064
+-65.63 41.628 3064
+-65.504 41.628 3063
+-65.378 41.628 3063
+-65.252 41.628 3062
+-65.126 41.628 3062
+-128 41.576 2888
+-127.874 41.576 2881
+-127.748 41.576 2873
+-127.622 41.576 2869
+-127.496 41.576 2868
+-127.37 41.576 2865
+-127.244 41.576 2849
+-127.118 41.576 2860
+-126.992 41.576 2848
+-126.866 41.576 2845
+-126.74 41.576 2818
+-126.614 41.576 2777
+-126.488 41.576 2767
+-126.362 41.576 2773
+-126.236 41.576 2815
+-126.11 41.576 2886
+-125.984 41.576 2969
+-125.858 41.576 3076
+-125.732 41.576 3146
+-125.606 41.576 3205
+-125.48 41.576 3258
+-125.354 41.576 3311
+-125.228 41.576 3362
+-125.102 41.576 3431
+-124.976 41.576 3461
+-124.85 41.576 3495
+-124.724 41.576 3501
+-124.598 41.576 3505
+-124.472 41.576 3532
+-124.346 41.576 3526
+-124.22 41.576 3515
+-124.094 41.576 3548
+-123.968 41.576 3583
+-123.842 41.576 3590
+-123.716 41.576 3614
+-123.59 41.576 3644
+-123.464 41.576 3673
+-123.338 41.576 3706
+-123.212 41.576 3728
+-123.086 41.576 3751
+-122.96 41.576 3733
+-122.834 41.576 3732
+-122.708 41.576 3711
+-122.582 41.576 3700
+-122.456 41.576 3711
+-122.33 41.576 3713
+-122.204 41.576 3697
+-122.078 41.576 3669
+-121.952 41.576 3634
+-121.826 41.576 3599
+-121.7 41.576 3622
+-121.574 41.576 3631
+-121.448 41.576 3597
+-121.322 41.576 3560
+-121.196 41.576 3636
+-121.07 41.576 3721
+-120.944 41.576 3795
+-120.818 41.576 3850
+-120.692 41.576 3884
+-120.566 41.576 3921
+-120.44 41.576 3955
+-120.314 41.576 3983
+-120.188 41.576 3993
+-120.062 41.576 4028
+-119.936 41.576 4070
+-119.81 41.576 4131
+-119.684 41.576 4184
+-119.558 41.576 4233
+-119.432 41.576 4291
+-119.306 41.576 4324
+-119.18 41.576 4332
+-119.054 41.576 4369
+-118.928 41.576 4400
+-118.802 41.576 4406
+-118.676 41.576 4396
+-118.55 41.576 4403
+-118.424 41.576 4419
+-118.298 41.576 4430
+-118.172 41.576 4425
+-118.046 41.576 4438
+-117.92 41.576 4414
+-117.794 41.576 4398
+-117.668 41.576 4390
+-117.542 41.576 4356
+-117.416 41.576 4313
+-117.29 41.576 4305
+-117.164 41.576 4259
+-117.038 41.576 4201
+-116.912 41.576 4153
+-116.786 41.576 4107
+-116.66 41.576 4092
+-116.534 41.576 4071
+-116.408 41.576 4019
+-116.282 41.576 3950
+-116.156 41.576 3931
+-116.03 41.576 3908
+-115.904 41.576 3846
+-115.778 41.576 3772
+-115.652 41.576 3685
+-115.526 41.576 3610
+-115.4 41.576 3561
+-115.274 41.576 3492
+-115.148 41.576 3401
+-115.022 41.576 3445
+-114.896 41.576 3460
+-114.77 41.576 3403
+-114.644 41.576 3347
+-114.518 41.576 3266
+-114.392 41.576 3116
+-114.266 41.576 3043
+-114.14 41.576 2965
+-114.014 41.576 2913
+-113.888 41.576 2873
+-113.762 41.576 2835
+-113.636 41.576 2794
+-113.51 41.576 2751
+-113.384 41.576 2677
+-113.258 41.576 2531
+-113.132 41.576 2386
+-113.006 41.576 2202
+-112.88 41.576 2077
+-112.754 41.576 2002
+-112.628 41.576 1980
+-112.502 41.576 2022
+-112.376 41.576 2090
+-112.25 41.576 2160
+-112.124 41.576 2170
+-111.998 41.576 2217
+-111.872 41.576 2256
+-111.746 41.576 2272
+-111.62 41.576 2316
+-111.494 41.576 2338
+-111.368 41.576 2340
+-111.242 41.576 2356
+-111.116 41.576 2302
+-110.99 41.576 2310
+-110.864 41.576 2317
+-110.738 41.576 2322
+-110.612 41.576 2306
+-110.486 41.576 2260
+-110.36 41.576 2283
+-110.234 41.576 2268
+-110.108 41.576 2272
+-109.982 41.576 2276
+-109.856 41.576 2280
+-109.73 41.576 2321
+-109.604 41.576 2326
+-109.478 41.576 2341
+-109.352 41.576 2318
+-109.226 41.576 2323
+-109.1 41.576 2328
+-108.974 41.576 2333
+-108.848 41.576 2337
+-108.722 41.576 2342
+-108.596 41.576 2346
+-108.47 41.576 2351
+-108.344 41.576 2355
+-108.218 41.576 2359
+-108.092 41.576 2363
+-107.966 41.576 2368
+-107.84 41.576 2372
+-107.714 41.576 2375
+-107.588 41.576 2379
+-107.462 41.576 2383
+-107.336 41.576 2308
+-107.21 41.576 2434
+-107.084 41.576 2438
+-106.958 41.576 2442
+-106.832 41.576 2411
+-106.706 41.576 2418
+-106.58 41.576 2422
+-106.454 41.576 2426
+-106.328 41.576 2394
+-106.202 41.576 2255
+-106.076 41.576 2130
+-105.95 41.576 2099
+-105.824 41.576 2113
+-105.698 41.576 2104
+-105.572 41.576 2042
+-105.446 41.576 2032
+-105.32 41.576 2021
+-105.194 41.576 1874
+-105.068 41.576 1832
+-104.942 41.576 1755
+-104.816 41.576 1776
+-104.69 41.576 1747
+-104.564 41.576 1773
+-104.438 41.576 1817
+-104.312 41.576 1900
+-104.186 41.576 1901
+-104.06 41.576 2024
+-103.934 41.576 2079
+-103.808 41.576 2076
+-103.682 41.576 2111
+-103.556 41.576 2162
+-103.43 41.576 2155
+-103.304 41.576 2146
+-103.178 41.576 2150
+-103.052 41.576 2141
+-102.926 41.576 2218
+-102.8 41.576 2207
+-102.674 41.576 2195
+-102.548 41.576 2216
+-102.422 41.576 2244
+-102.296 41.576 2231
+-102.17 41.576 2217
+-102.044 41.576 2202
+-101.918 41.576 2187
+-101.792 41.576 2226
+-101.666 41.576 2211
+-101.54 41.576 2194
+-101.414 41.576 2177
+-101.288 41.576 2159
+-101.162 41.576 2139
+-101.036 41.576 2127
+-100.91 41.576 2117
+-100.784 41.576 2141
+-100.658 41.576 2118
+-100.532 41.576 2093
+-100.406 41.576 2066
+-100.28 41.576 2070
+-100.154 41.576 2037
+-100.028 41.576 2001
+-99.902 41.576 1962
+-99.776 41.576 1920
+-99.65 41.576 1873
+-99.524 41.576 1822
+-99.398 41.576 1802
+-99.272 41.576 1778
+-99.146 41.576 1717
+-99.02 41.576 1656
+-98.894 41.576 1599
+-98.768 41.576 1578
+-98.642 41.576 1547
+-98.516 41.576 1556
+-98.39 41.576 1587
+-98.264 41.576 1691
+-98.138 41.576 1793
+-98.012 41.576 1971
+-97.886 41.576 2115
+-97.76 41.576 2261
+-97.634 41.576 2415
+-97.508 41.576 2538
+-97.382 41.576 2616
+-97.256 41.576 2661
+-97.13 41.576 2672
+-97.004 41.576 2643
+-96.878 41.576 2569
+-96.752 41.576 2495
+-96.626 41.576 2340
+-96.5 41.576 2269
+-96.374 41.576 2399
+-96.248 41.576 2709
+-96.122 41.576 2993
+-95.996 41.576 3220
+-95.87 41.576 3366
+-95.744 41.576 3439
+-95.618 41.576 3453
+-95.492 41.576 3413
+-95.366 41.576 3388
+-95.24 41.576 3494
+-95.114 41.576 3648
+-94.988 41.576 3802
+-94.862 41.576 3919
+-94.736 41.576 4064
+-94.61 41.576 4163
+-94.484 41.576 4275
+-94.358 41.576 4478
+-94.232 41.576 4648
+-94.106 41.576 4756
+-93.98 41.576 4795
+-93.854 41.576 4824
+-93.728 41.576 4786
+-93.602 41.576 4900
+-93.476 41.576 4989
+-93.35 41.576 5056
+-93.224 41.576 5174
+-93.098 41.576 5292
+-92.972 41.576 5342
+-92.846 41.576 5468
+-92.72 41.576 5556
+-92.594 41.576 5632
+-92.468 41.576 5740
+-92.342 41.576 5790
+-92.216 41.576 5857
+-92.09 41.576 5946
+-91.964 41.576 5987
+-91.838 41.576 6037
+-91.712 41.576 6119
+-91.586 41.576 6154
+-91.46 41.576 6223
+-91.334 41.576 6282
+-91.208 41.576 6317
+-91.082 41.576 6318
+-90.956 41.576 6344
+-90.83 41.576 6369
+-90.704 41.576 6390
+-90.578 41.576 6375
+-90.452 41.576 6389
+-90.326 41.576 6393
+-90.2 41.576 6396
+-90.074 41.576 6360
+-89.948 41.576 6336
+-89.822 41.576 6351
+-89.696 41.576 6327
+-89.57 41.576 6260
+-89.444 41.576 6226
+-89.318 41.576 6183
+-89.192 41.576 6168
+-89.066 41.576 6055
+-88.94 41.576 6000
+-88.814 41.576 5951
+-88.688 41.576 5871
+-88.562 41.576 5805
+-88.436 41.576 5719
+-88.31 41.576 5616
+-88.184 41.576 5536
+-88.058 41.576 5464
+-87.932 41.576 5337
+-87.806 41.576 5237
+-87.68 41.576 5146
+-87.554 41.576 5138
+-87.428 41.576 5109
+-87.302 41.576 5111
+-87.176 41.576 5093
+-87.05 41.576 5026
+-86.924 41.576 4943
+-86.798 41.576 4870
+-86.672 41.576 4796
+-86.546 41.576 4772
+-86.42 41.576 4653
+-86.294 41.576 4653
+-86.168 41.576 4614
+-86.042 41.576 4548
+-85.916 41.576 4394
+-85.79 41.576 4285
+-85.664 41.576 4297
+-85.538 41.576 4282
+-85.412 41.576 4221
+-85.286 41.576 4121
+-85.16 41.576 4068
+-85.034 41.576 3988
+-84.908 41.576 3813
+-84.782 41.576 3622
+-84.656 41.576 3419
+-84.53 41.576 3324
+-84.404 41.576 3352
+-84.278 41.576 3305
+-84.152 41.576 3233
+-84.026 41.576 3240
+-83.9 41.576 3313
+-83.774 41.576 3365
+-83.648 41.576 3444
+-83.522 41.576 3430
+-83.396 41.576 3462
+-83.27 41.576 3487
+-83.144 41.576 3468
+-83.018 41.576 3481
+-82.892 41.576 3488
+-82.766 41.576 3479
+-82.64 41.576 3535
+-82.514 41.576 3544
+-82.388 41.576 3499
+-82.262 41.576 3507
+-82.136 41.576 3512
+-82.01 41.576 3511
+-81.884 41.576 3516
+-81.758 41.576 3521
+-81.632 41.576 3456
+-81.506 41.576 3460
+-81.38 41.576 3463
+-81.254 41.576 3449
+-81.128 41.576 3409
+-81.002 41.576 3405
+-80.876 41.576 3407
+-80.75 41.576 3408
+-80.624 41.576 3410
+-80.498 41.576 3411
+-80.372 41.576 3413
+-80.246 41.576 3414
+-80.12 41.576 3415
+-79.994 41.576 3416
+-79.868 41.576 3417
+-79.742 41.576 3418
+-79.616 41.576 3419
+-79.49 41.576 3420
+-79.364 41.576 3421
+-79.238 41.576 3382
+-79.112 41.576 3476
+-78.986 41.576 3478
+-78.86 41.576 3469
+-78.734 41.576 3471
+-78.608 41.576 3473
+-78.482 41.576 3475
+-78.356 41.576 3477
+-78.23 41.576 3478
+-78.104 41.576 3480
+-77.978 41.576 3482
+-77.852 41.576 3483
+-77.726 41.576 3485
+-77.6 41.576 3487
+-77.474 41.576 3509
+-77.348 41.576 3511
+-77.222 41.576 3514
+-77.096 41.576 3516
+-76.97 41.576 3518
+-76.844 41.576 3520
+-76.718 41.576 3488
+-76.592 41.576 3489
+-76.466 41.576 3491
+-76.34 41.576 3492
+-76.214 41.576 3516
+-76.088 41.576 3518
+-75.962 41.576 3520
+-75.836 41.576 3482
+-75.71 41.576 3483
+-75.584 41.576 3485
+-75.458 41.576 3601
+-75.332 41.576 3602
+-75.206 41.576 3603
+-75.08 41.576 3604
+-74.954 41.576 3605
+-74.828 41.576 3547
+-74.702 41.576 3548
+-74.576 41.576 3549
+-74.45 41.576 3549
+-74.324 41.576 3550
+-74.198 41.576 3550
+-74.072 41.576 3551
+-73.946 41.576 3551
+-73.82 41.576 3552
+-73.694 41.576 3552
+-73.568 41.576 3531
+-73.442 41.576 3520
+-73.316 41.576 3520
+-73.19 41.576 3521
+-73.064 41.576 3522
+-72.938 41.576 3522
+-72.812 41.576 3505
+-72.686 41.576 3506
+-72.56 41.576 3506
+-72.434 41.576 3507
+-72.308 41.576 3507
+-72.182 41.576 3507
+-72.056 41.576 3508
+-71.93 41.576 3508
+-71.804 41.576 3509
+-71.678 41.576 3455
+-71.552 41.576 3456
+-71.426 41.576 3456
+-71.3 41.576 3456
+-71.174 41.576 3456
+-71.048 41.576 3457
+-70.922 41.576 3457
+-70.796 41.576 3457
+-70.67 41.576 3458
+-70.544 41.576 3458
+-70.418 41.576 3458
+-70.292 41.576 3458
+-70.166 41.576 3459
+-70.04 41.576 3382
+-69.914 41.576 3382
+-69.788 41.576 3382
+-69.662 41.576 3382
+-69.536 41.576 3382
+-69.41 41.576 3382
+-69.284 41.576 3381
+-69.158 41.576 3381
+-69.032 41.576 3381
+-68.906 41.576 3381
+-68.78 41.576 3381
+-68.654 41.576 3381
+-68.528 41.576 3381
+-68.402 41.576 3381
+-68.276 41.576 3380
+-68.15 41.576 3380
+-68.024 41.576 3380
+-67.898 41.576 3380
+-67.772 41.576 3380
+-67.646 41.576 3380
+-67.52 41.576 3380
+-67.394 41.576 3380
+-67.268 41.576 3379
+-67.142 41.576 3379
+-67.016 41.576 3379
+-66.89 41.576 3068
+-66.764 41.576 3067
+-66.638 41.576 3067
+-66.512 41.576 3066
+-66.386 41.576 3066
+-66.26 41.576 3065
+-66.134 41.576 3065
+-66.008 41.576 3064
+-65.882 41.576 3064
+-65.756 41.576 3064
+-65.63 41.576 3063
+-65.504 41.576 3063
+-65.378 41.576 3062
+-65.252 41.576 3062
+-65.126 41.576 3062
+-128 41.524 2849
+-127.874 41.524 2836
+-127.748 41.524 2827
+-127.622 41.524 2821
+-127.496 41.524 2816
+-127.37 41.524 2800
+-127.244 41.524 2812
+-127.118 41.524 2803
+-126.992 41.524 2802
+-126.866 41.524 2775
+-126.74 41.524 2726
+-126.614 41.524 2688
+-126.488 41.524 2646
+-126.362 41.524 2634
+-126.236 41.524 2677
+-126.11 41.524 2763
+-125.984 41.524 2864
+-125.858 41.524 2962
+-125.732 41.524 3056
+-125.606 41.524 3133
+-125.48 41.524 3199
+-125.354 41.524 3259
+-125.228 41.524 3309
+-125.102 41.524 3399
+-124.976 41.524 3417
+-124.85 41.524 3419
+-124.724 41.524 3430
+-124.598 41.524 3446
+-124.472 41.524 3473
+-124.346 41.524 3509
+-124.22 41.524 3515
+-124.094 41.524 3507
+-123.968 41.524 3486
+-123.842 41.524 3515
+-123.716 41.524 3565
+-123.59 41.524 3599
+-123.464 41.524 3633
+-123.338 41.524 3661
+-123.212 41.524 3677
+-123.086 41.524 3682
+-122.96 41.524 3695
+-122.834 41.524 3678
+-122.708 41.524 3689
+-122.582 41.524 3684
+-122.456 41.524 3690
+-122.33 41.524 3679
+-122.204 41.524 3668
+-122.078 41.524 3651
+-121.952 41.524 3632
+-121.826 41.524 3621
+-121.7 41.524 3631
+-121.574 41.524 3599
+-121.448 41.524 3521
+-121.322 41.524 3411
+-121.196 41.524 3538
+-121.07 41.524 3669
+-120.944 41.524 3745
+-120.818 41.524 3798
+-120.692 41.524 3865
+-120.566 41.524 3892
+-120.44 41.524 3943
+-120.314 41.524 3972
+-120.188 41.524 3987
+-120.062 41.524 4007
+-119.936 41.524 4023
+-119.81 41.524 4054
+-119.684 41.524 4106
+-119.558 41.524 4175
+-119.432 41.524 4229
+-119.306 41.524 4282
+-119.18 41.524 4306
+-119.054 41.524 4319
+-118.928 41.524 4340
+-118.802 41.524 4363
+-118.676 41.524 4386
+-118.55 41.524 4374
+-118.424 41.524 4379
+-118.298 41.524 4386
+-118.172 41.524 4404
+-118.046 41.524 4393
+-117.92 41.524 4385
+-117.794 41.524 4380
+-117.668 41.524 4359
+-117.542 41.524 4308
+-117.416 41.524 4277
+-117.29 41.524 4272
+-117.164 41.524 4210
+-117.038 41.524 4157
+-116.912 41.524 4117
+-116.786 41.524 4074
+-116.66 41.524 4054
+-116.534 41.524 4033
+-116.408 41.524 3969
+-116.282 41.524 3922
+-116.156 41.524 3907
+-116.03 41.524 3861
+-115.904 41.524 3791
+-115.778 41.524 3686
+-115.652 41.524 3620
+-115.526 41.524 3607
+-115.4 41.524 3578
+-115.274 41.524 3512
+-115.148 41.524 3455
+-115.022 41.524 3461
+-114.896 41.524 3440
+-114.77 41.524 3407
+-114.644 41.524 3331
+-114.518 41.524 3278
+-114.392 41.524 3123
+-114.266 41.524 3054
+-114.14 41.524 2998
+-114.014 41.524 2948
+-113.888 41.524 2883
+-113.762 41.524 2828
+-113.636 41.524 2780
+-113.51 41.524 2712
+-113.384 41.524 2602
+-113.258 41.524 2458
+-113.132 41.524 2254
+-113.006 41.524 2046
+-112.88 41.524 1859
+-112.754 41.524 1775
+-112.628 41.524 1795
+-112.502 41.524 1878
+-112.376 41.524 1950
+-112.25 41.524 2037
+-112.124 41.524 2114
+-111.998 41.524 2176
+-111.872 41.524 2224
+-111.746 41.524 2261
+-111.62 41.524 2286
+-111.494 41.524 2227
+-111.368 41.524 2224
+-111.242 41.524 2236
+-111.116 41.524 2246
+-110.99 41.524 2246
+-110.864 41.524 2253
+-110.738 41.524 2258
+-110.612 41.524 2262
+-110.486 41.524 2266
+-110.36 41.524 2247
+-110.234 41.524 2270
+-110.108 41.524 2254
+-109.982 41.524 2259
+-109.856 41.524 2263
+-109.73 41.524 2267
+-109.604 41.524 2308
+-109.478 41.524 2313
+-109.352 41.524 2328
+-109.226 41.524 2306
+-109.1 41.524 2311
+-108.974 41.524 2316
+-108.848 41.524 2321
+-108.722 41.524 2326
+-108.596 41.524 2331
+-108.47 41.524 2336
+-108.344 41.524 2341
+-108.218 41.524 2345
+-108.092 41.524 2350
+-107.966 41.524 2354
+-107.84 41.524 2359
+-107.714 41.524 2363
+-107.588 41.524 2367
+-107.462 41.524 2293
+-107.336 41.524 2416
+-107.21 41.524 2421
+-107.084 41.524 2425
+-106.958 41.524 2430
+-106.832 41.524 2411
+-106.706 41.524 2404
+-106.58 41.524 2410
+-106.454 41.524 2415
+-106.328 41.524 2282
+-106.202 41.524 2244
+-106.076 41.524 2096
+-105.95 41.524 2089
+-105.824 41.524 2102
+-105.698 41.524 2042
+-105.572 41.524 2032
+-105.446 41.524 2022
+-105.32 41.524 1929
+-105.194 41.524 1834
+-105.068 41.524 1760
+-104.942 41.524 1726
+-104.816 41.524 1773
+-104.69 41.524 1747
+-104.564 41.524 1743
+-104.438 41.524 1764
+-104.312 41.524 1833
+-104.186 41.524 1903
+-104.06 41.524 2027
+-103.934 41.524 2082
+-103.808 41.524 2079
+-103.682 41.524 2075
+-103.556 41.524 2166
+-103.43 41.524 2158
+-103.304 41.524 2150
+-103.178 41.524 2141
+-103.052 41.524 2145
+-102.926 41.524 2135
+-102.8 41.524 2211
+-102.674 41.524 2199
+-102.548 41.524 2187
+-102.422 41.524 2208
+-102.296 41.524 2235
+-102.17 41.524 2221
+-102.044 41.524 2207
+-101.918 41.524 2192
+-101.792 41.524 2176
+-101.666 41.524 2215
+-101.54 41.524 2199
+-101.414 41.524 2182
+-101.288 41.524 2164
+-101.162 41.524 2145
+-101.036 41.524 2125
+-100.91 41.524 2112
+-100.784 41.524 2101
+-100.658 41.524 2126
+-100.532 41.524 2102
+-100.406 41.524 2078
+-100.28 41.524 2051
+-100.154 41.524 2055
+-100.028 41.524 2024
+-99.902 41.524 1990
+-99.776 41.524 1953
+-99.65 41.524 1915
+-99.524 41.524 1874
+-99.398 41.524 1830
+-99.272 41.524 1865
+-99.146 41.524 1847
+-99.02 41.524 1804
+-98.894 41.524 1767
+-98.768 41.524 1740
+-98.642 41.524 1729
+-98.516 41.524 1739
+-98.39 41.524 1790
+-98.264 41.524 1891
+-98.138 41.524 1980
+-98.012 41.524 2122
+-97.886 41.524 2253
+-97.76 41.524 2402
+-97.634 41.524 2533
+-97.508 41.524 2620
+-97.382 41.524 2684
+-97.256 41.524 2722
+-97.13 41.524 2732
+-97.004 41.524 2711
+-96.878 41.524 2659
+-96.752 41.524 2581
+-96.626 41.524 2544
+-96.5 41.524 2524
+-96.374 41.524 2627
+-96.248 41.524 2881
+-96.122 41.524 3096
+-95.996 41.524 3252
+-95.87 41.524 3364
+-95.744 41.524 3457
+-95.618 41.524 3502
+-95.492 41.524 3520
+-95.366 41.524 3550
+-95.24 41.524 3636
+-95.114 41.524 3715
+-94.988 41.524 3824
+-94.862 41.524 3919
+-94.736 41.524 4080
+-94.61 41.524 4200
+-94.484 41.524 4347
+-94.358 41.524 4575
+-94.232 41.524 4696
+-94.106 41.524 4771
+-93.98 41.524 4824
+-93.854 41.524 4834
+-93.728 41.524 4757
+-93.602 41.524 4921
+-93.476 41.524 5005
+-93.35 41.524 5112
+-93.224 41.524 5224
+-93.098 41.524 5319
+-92.972 41.524 5387
+-92.846 41.524 5498
+-92.72 41.524 5575
+-92.594 41.524 5666
+-92.468 41.524 5772
+-92.342 41.524 5848
+-92.216 41.524 5874
+-92.09 41.524 5966
+-91.964 41.524 6045
+-91.838 41.524 6079
+-91.712 41.524 6179
+-91.586 41.524 6235
+-91.46 41.524 6299
+-91.334 41.524 6295
+-91.208 41.524 6363
+-91.082 41.524 6401
+-90.956 41.524 6403
+-90.83 41.524 6457
+-90.704 41.524 6419
+-90.578 41.524 6438
+-90.452 41.524 6489
+-90.326 41.524 6460
+-90.2 41.524 6444
+-90.074 41.524 6424
+-89.948 41.524 6396
+-89.822 41.524 6382
+-89.696 41.524 6358
+-89.57 41.524 6317
+-89.444 41.524 6278
+-89.318 41.524 6228
+-89.192 41.524 6158
+-89.066 41.524 6099
+-88.94 41.524 6032
+-88.814 41.524 5976
+-88.688 41.524 5934
+-88.562 41.524 5799
+-88.436 41.524 5774
+-88.31 41.524 5644
+-88.184 41.524 5578
+-88.058 41.524 5516
+-87.932 41.524 5406
+-87.806 41.524 5279
+-87.68 41.524 5213
+-87.554 41.524 5182
+-87.428 41.524 5120
+-87.302 41.524 5122
+-87.176 41.524 5101
+-87.05 41.524 5056
+-86.924 41.524 4987
+-86.798 41.524 4931
+-86.672 41.524 4845
+-86.546 41.524 4773
+-86.42 41.524 4749
+-86.294 41.524 4692
+-86.168 41.524 4591
+-86.042 41.524 4596
+-85.916 41.524 4494
+-85.79 41.524 4391
+-85.664 41.524 4349
+-85.538 41.524 4326
+-85.412 41.524 4272
+-85.286 41.524 4228
+-85.16 41.524 4126
+-85.034 41.524 4009
+-84.908 41.524 3866
+-84.782 41.524 3700
+-84.656 41.524 3500
+-84.53 41.524 3402
+-84.404 41.524 3416
+-84.278 41.524 3419
+-84.152 41.524 3391
+-84.026 41.524 3393
+-83.9 41.524 3410
+-83.774 41.524 3452
+-83.648 41.524 3498
+-83.522 41.524 3515
+-83.396 41.524 3544
+-83.27 41.524 3501
+-83.144 41.524 3515
+-83.018 41.524 3492
+-82.892 41.524 3484
+-82.766 41.524 3538
+-82.64 41.524 3547
+-82.514 41.524 3504
+-82.388 41.524 3511
+-82.262 41.524 3517
+-82.136 41.524 3515
+-82.01 41.524 3520
+-81.884 41.524 3525
+-81.758 41.524 3529
+-81.632 41.524 3525
+-81.506 41.524 3521
+-81.38 41.524 3456
+-81.254 41.524 3474
+-81.128 41.524 3411
+-81.002 41.524 3413
+-80.876 41.524 3414
+-80.75 41.524 3415
+-80.624 41.524 3417
+-80.498 41.524 3418
+-80.372 41.524 3419
+-80.246 41.524 3420
+-80.12 41.524 3421
+-79.994 41.524 3422
+-79.868 41.524 3454
+-79.742 41.524 3455
+-79.616 41.524 3456
+-79.49 41.524 3457
+-79.364 41.524 3458
+-79.238 41.524 3477
+-79.112 41.524 3479
+-78.986 41.524 3470
+-78.86 41.524 3472
+-78.734 41.524 3474
+-78.608 41.524 3476
+-78.482 41.524 3478
+-78.356 41.524 3479
+-78.23 41.524 3481
+-78.104 41.524 3483
+-77.978 41.524 3484
+-77.852 41.524 3486
+-77.726 41.524 3488
+-77.6 41.524 3510
+-77.474 41.524 3512
+-77.348 41.524 3514
+-77.222 41.524 3516
+-77.096 41.524 3518
+-76.97 41.524 3520
+-76.844 41.524 3489
+-76.718 41.524 3490
+-76.592 41.524 3492
+-76.466 41.524 3493
+-76.34 41.524 3516
+-76.214 41.524 3519
+-76.088 41.524 3521
+-75.962 41.524 3483
+-75.836 41.524 3484
+-75.71 41.524 3486
+-75.584 41.524 3600
+-75.458 41.524 3601
+-75.332 41.524 3602
+-75.206 41.524 3603
+-75.08 41.524 3604
+-74.954 41.524 3547
+-74.828 41.524 3548
+-74.702 41.524 3548
+-74.576 41.524 3549
+-74.45 41.524 3549
+-74.324 41.524 3550
+-74.198 41.524 3551
+-74.072 41.524 3551
+-73.946 41.524 3552
+-73.82 41.524 3552
+-73.694 41.524 3530
+-73.568 41.524 3520
+-73.442 41.524 3520
+-73.316 41.524 3521
+-73.19 41.524 3521
+-73.064 41.524 3522
+-72.938 41.524 3522
+-72.812 41.524 3506
+-72.686 41.524 3506
+-72.56 41.524 3507
+-72.434 41.524 3507
+-72.308 41.524 3507
+-72.182 41.524 3508
+-72.056 41.524 3508
+-71.93 41.524 3508
+-71.804 41.524 3455
+-71.678 41.524 3455
+-71.552 41.524 3456
+-71.426 41.524 3456
+-71.3 41.524 3456
+-71.174 41.524 3457
+-71.048 41.524 3457
+-70.922 41.524 3457
+-70.796 41.524 3457
+-70.67 41.524 3458
+-70.544 41.524 3458
+-70.418 41.524 3458
+-70.292 41.524 3458
+-70.166 41.524 3382
+-70.04 41.524 3382
+-69.914 41.524 3382
+-69.788 41.524 3382
+-69.662 41.524 3382
+-69.536 41.524 3382
+-69.41 41.524 3381
+-69.284 41.524 3381
+-69.158 41.524 3381
+-69.032 41.524 3381
+-68.906 41.524 3381
+-68.78 41.524 3381
+-68.654 41.524 3381
+-68.528 41.524 3380
+-68.402 41.524 3380
+-68.276 41.524 3380
+-68.15 41.524 3380
+-68.024 41.524 3380
+-67.898 41.524 3380
+-67.772 41.524 3380
+-67.646 41.524 3380
+-67.52 41.524 3380
+-67.394 41.524 3379
+-67.268 41.524 3379
+-67.142 41.524 3379
+-67.016 41.524 3068
+-66.89 41.524 3067
+-66.764 41.524 3067
+-66.638 41.524 3066
+-66.512 41.524 3066
+-66.386 41.524 3065
+-66.26 41.524 3065
+-66.134 41.524 3065
+-66.008 41.524 3064
+-65.882 41.524 3064
+-65.756 41.524 3063
+-65.63 41.524 3063
+-65.504 41.524 3062
+-65.378 41.524 3062
+-65.252 41.524 3062
+-65.126 41.524 3061
+-128 41.472 2800
+-127.874 41.472 2785
+-127.748 41.472 2773
+-127.622 41.472 2762
+-127.496 41.472 2745
+-127.37 41.472 2756
+-127.244 41.472 2751
+-127.118 41.472 2758
+-126.992 41.472 2742
+-126.866 41.472 2704
+-126.74 41.472 2670
+-126.614 41.472 2611
+-126.488 41.472 2547
+-126.362 41.472 2517
+-126.236 41.472 2562
+-126.11 41.472 2659
+-125.984 41.472 2766
+-125.858 41.472 2877
+-125.732 41.472 2979
+-125.606 41.472 3070
+-125.48 41.472 3152
+-125.354 41.472 3221
+-125.228 41.472 3291
+-125.102 41.472 3352
+-124.976 41.472 3347
+-124.85 41.472 3348
+-124.724 41.472 3321
+-124.598 41.472 3329
+-124.472 41.472 3384
+-124.346 41.472 3446
+-124.22 41.472 3472
+-124.094 41.472 3459
+-123.968 41.472 3421
+-123.842 41.472 3460
+-123.716 41.472 3512
+-123.59 41.472 3569
+-123.464 41.472 3599
+-123.338 41.472 3616
+-123.212 41.472 3622
+-123.086 41.472 3621
+-122.96 41.472 3607
+-122.834 41.472 3618
+-122.708 41.472 3621
+-122.582 41.472 3615
+-122.456 41.472 3631
+-122.33 41.472 3631
+-122.204 41.472 3627
+-122.078 41.472 3642
+-121.952 41.472 3633
+-121.826 41.472 3616
+-121.7 41.472 3611
+-121.574 41.472 3591
+-121.448 41.472 3544
+-121.322 41.472 3505
+-121.196 41.472 3569
+-121.07 41.472 3657
+-120.944 41.472 3732
+-120.818 41.472 3782
+-120.692 41.472 3823
+-120.566 41.472 3859
+-120.44 41.472 3905
+-120.314 41.472 3956
+-120.188 41.472 3985
+-120.062 41.472 3991
+-119.936 41.472 4030
+-119.81 41.472 4025
+-119.684 41.472 4052
+-119.558 41.472 4115
+-119.432 41.472 4183
+-119.306 41.472 4238
+-119.18 41.472 4259
+-119.054 41.472 4271
+-118.928 41.472 4290
+-118.802 41.472 4327
+-118.676 41.472 4341
+-118.55 41.472 4352
+-118.424 41.472 4338
+-118.298 41.472 4336
+-118.172 41.472 4339
+-118.046 41.472 4346
+-117.92 41.472 4342
+-117.794 41.472 4331
+-117.668 41.472 4306
+-117.542 41.472 4271
+-117.416 41.472 4255
+-117.29 41.472 4211
+-117.164 41.472 4158
+-117.038 41.472 4098
+-116.912 41.472 4058
+-116.786 41.472 4049
+-116.66 41.472 4064
+-116.534 41.472 4003
+-116.408 41.472 3917
+-116.282 41.472 3863
+-116.156 41.472 3829
+-116.03 41.472 3792
+-115.904 41.472 3720
+-115.778 41.472 3627
+-115.652 41.472 3560
+-115.526 41.472 3587
+-115.4 41.472 3574
+-115.274 41.472 3526
+-115.148 41.472 3478
+-115.022 41.472 3459
+-114.896 41.472 3437
+-114.77 41.472 3379
+-114.644 41.472 3305
+-114.518 41.472 3250
+-114.392 41.472 3129
+-114.266 41.472 3073
+-114.14 41.472 2998
+-114.014 41.472 2937
+-113.888 41.472 2889
+-113.762 41.472 2838
+-113.636 41.472 2759
+-113.51 41.472 2675
+-113.384 41.472 2555
+-113.258 41.472 2377
+-113.132 41.472 2153
+-113.006 41.472 1878
+-112.88 41.472 1677
+-112.754 41.472 1596
+-112.628 41.472 1638
+-112.502 41.472 1743
+-112.376 41.472 1874
+-112.25 41.472 1981
+-112.124 41.472 2071
+-111.998 41.472 2142
+-111.872 41.472 2197
+-111.746 41.472 2230
+-111.62 41.472 2147
+-111.494 41.472 2195
+-111.368 41.472 2193
+-111.242 41.472 2180
+-111.116 41.472 2225
+-110.99 41.472 2196
+-110.864 41.472 2240
+-110.738 41.472 2239
+-110.612 41.472 2244
+-110.486 41.472 2207
+-110.36 41.472 2211
+-110.234 41.472 2233
+-110.108 41.472 2255
+-109.982 41.472 2241
+-109.856 41.472 2245
+-109.73 41.472 2250
+-109.604 41.472 2254
+-109.478 41.472 2295
+-109.352 41.472 2300
+-109.226 41.472 2316
+-109.1 41.472 2294
+-108.974 41.472 2299
+-108.848 41.472 2305
+-108.722 41.472 2310
+-108.596 41.472 2316
+-108.47 41.472 2321
+-108.344 41.472 2326
+-108.218 41.472 2331
+-108.092 41.472 2336
+-107.966 41.472 2341
+-107.84 41.472 2345
+-107.714 41.472 2350
+-107.588 41.472 2278
+-107.462 41.472 2398
+-107.336 41.472 2403
+-107.21 41.472 2379
+-107.084 41.472 2383
+-106.958 41.472 2387
+-106.832 41.472 2392
+-106.706 41.472 2389
+-106.58 41.472 2398
+-106.454 41.472 2385
+-106.328 41.472 2353
+-106.202 41.472 2234
+-106.076 41.472 2050
+-105.95 41.472 2030
+-105.824 41.472 2040
+-105.698 41.472 2032
+-105.572 41.472 2007
+-105.446 41.472 1931
+-105.32 41.472 1881
+-105.194 41.472 1794
+-105.068 41.472 1757
+-104.942 41.472 1730
+-104.816 41.472 1743
+-104.69 41.472 1728
+-104.564 41.472 1743
+-104.438 41.472 1767
+-104.312 41.472 1826
+-104.186 41.472 1835
+-104.06 41.472 1971
+-103.934 41.472 2085
+-103.808 41.472 2082
+-103.682 41.472 2078
+-103.556 41.472 2180
+-103.43 41.472 2161
+-103.304 41.472 2153
+-103.178 41.472 2145
+-103.052 41.472 2136
+-102.926 41.472 2139
+-102.8 41.472 2216
+-102.674 41.472 2204
+-102.548 41.472 2191
+-102.422 41.472 2178
+-102.296 41.472 2199
+-102.17 41.472 2225
+-102.044 41.472 2211
+-101.918 41.472 2196
+-101.792 41.472 2181
+-101.666 41.472 2164
+-101.54 41.472 2203
+-101.414 41.472 2186
+-101.288 41.472 2169
+-101.162 41.472 2151
+-101.036 41.472 2131
+-100.91 41.472 2111
+-100.784 41.472 2098
+-100.658 41.472 2086
+-100.532 41.472 2112
+-100.406 41.472 2089
+-100.28 41.472 2064
+-100.154 41.472 2039
+-100.028 41.472 2044
+-99.902 41.472 2015
+-99.776 41.472 1985
+-99.65 41.472 1953
+-99.524 41.472 1921
+-99.398 41.472 1888
+-99.272 41.472 1856
+-99.146 41.472 1904
+-99.02 41.472 1905
+-98.894 41.472 1885
+-98.768 41.472 1875
+-98.642 41.472 1878
+-98.516 41.472 1939
+-98.39 41.472 1978
+-98.264 41.472 2036
+-98.138 41.472 2183
+-98.012 41.472 2271
+-97.886 41.472 2383
+-97.76 41.472 2493
+-97.634 41.472 2584
+-97.508 41.472 2695
+-97.382 41.472 2750
+-97.256 41.472 2785
+-97.13 41.472 2799
+-97.004 41.472 2792
+-96.878 41.472 2766
+-96.752 41.472 2721
+-96.626 41.472 2698
+-96.5 41.472 2778
+-96.374 41.472 2863
+-96.248 41.472 3034
+-96.122 41.472 3153
+-95.996 41.472 3271
+-95.87 41.472 3366
+-95.744 41.472 3450
+-95.618 41.472 3539
+-95.492 41.472 3597
+-95.366 41.472 3648
+-95.24 41.472 3701
+-95.114 41.472 3731
+-94.988 41.472 3801
+-94.862 41.472 3936
+-94.736 41.472 4095
+-94.61 41.472 4306
+-94.484 41.472 4451
+-94.358 41.472 4583
+-94.232 41.472 4705
+-94.106 41.472 4812
+-93.98 41.472 4855
+-93.854 41.472 4874
+-93.728 41.472 4899
+-93.602 41.472 4964
+-93.476 41.472 5046
+-93.35 41.472 5169
+-93.224 41.472 5269
+-93.098 41.472 5360
+-92.972 41.472 5444
+-92.846 41.472 5564
+-92.72 41.472 5603
+-92.594 41.472 5707
+-92.468 41.472 5793
+-92.342 41.472 5852
+-92.216 41.472 5944
+-92.09 41.472 6016
+-91.964 41.472 6075
+-91.838 41.472 6152
+-91.712 41.472 6241
+-91.586 41.472 6308
+-91.46 41.472 6319
+-91.334 41.472 6364
+-91.208 41.472 6411
+-91.082 41.472 6467
+-90.956 41.472 6477
+-90.83 41.472 6482
+-90.704 41.472 6489
+-90.578 41.472 6516
+-90.452 41.472 6500
+-90.326 41.472 6508
+-90.2 41.472 6531
+-90.074 41.472 6479
+-89.948 41.472 6470
+-89.822 41.472 6438
+-89.696 41.472 6427
+-89.57 41.472 6401
+-89.444 41.472 6351
+-89.318 41.472 6266
+-89.192 41.472 6207
+-89.066 41.472 6142
+-88.94 41.472 6075
+-88.814 41.472 6015
+-88.688 41.472 5924
+-88.562 41.472 5900
+-88.436 41.472 5821
+-88.31 41.472 5741
+-88.184 41.472 5638
+-88.058 41.472 5520
+-87.932 41.472 5429
+-87.806 41.472 5325
+-87.68 41.472 5261
+-87.554 41.472 5183
+-87.428 41.472 5187
+-87.302 41.472 5174
+-87.176 41.472 5158
+-87.05 41.472 5106
+-86.924 41.472 5018
+-86.798 41.472 4991
+-86.672 41.472 4932
+-86.546 41.472 4846
+-86.42 41.472 4838
+-86.294 41.472 4761
+-86.168 41.472 4680
+-86.042 41.472 4623
+-85.916 41.472 4571
+-85.79 41.472 4495
+-85.664 41.472 4459
+-85.538 41.472 4439
+-85.412 41.472 4297
+-85.286 41.472 4241
+-85.16 41.472 4156
+-85.034 41.472 4048
+-84.908 41.472 3931
+-84.782 41.472 3804
+-84.656 41.472 3651
+-84.53 41.472 3565
+-84.404 41.472 3542
+-84.278 41.472 3537
+-84.152 41.472 3519
+-84.026 41.472 3507
+-83.9 41.472 3517
+-83.774 41.472 3521
+-83.648 41.472 3527
+-83.522 41.472 3549
+-83.396 41.472 3534
+-83.27 41.472 3565
+-83.144 41.472 3552
+-83.018 41.472 3490
+-82.892 41.472 3543
+-82.766 41.472 3552
+-82.64 41.472 3509
+-82.514 41.472 3516
+-82.388 41.472 3521
+-82.262 41.472 3519
+-82.136 41.472 3524
+-82.01 41.472 3529
+-81.884 41.472 3533
+-81.758 41.472 3529
+-81.632 41.472 3525
+-81.506 41.472 3521
+-81.38 41.472 3478
+-81.254 41.472 3480
+-81.128 41.472 3419
+-81.002 41.472 3420
+-80.876 41.472 3421
+-80.75 41.472 3422
+-80.624 41.472 3423
+-80.498 41.472 3424
+-80.372 41.472 3425
+-80.246 41.472 3426
+-80.12 41.472 3426
+-79.994 41.472 3456
+-79.868 41.472 3457
+-79.742 41.472 3458
+-79.616 41.472 3459
+-79.49 41.472 3460
+-79.364 41.472 3478
+-79.238 41.472 3480
+-79.112 41.472 3471
+-78.986 41.472 3473
+-78.86 41.472 3475
+-78.734 41.472 3477
+-78.608 41.472 3479
+-78.482 41.472 3481
+-78.356 41.472 3482
+-78.23 41.472 3484
+-78.104 41.472 3486
+-77.978 41.472 3487
+-77.852 41.472 3489
+-77.726 41.472 3510
+-77.6 41.472 3513
+-77.474 41.472 3515
+-77.348 41.472 3517
+-77.222 41.472 3519
+-77.096 41.472 3521
+-76.97 41.472 3489
+-76.844 41.472 3491
+-76.718 41.472 3493
+-76.592 41.472 3494
+-76.466 41.472 3517
+-76.34 41.472 3519
+-76.214 41.472 3521
+-76.088 41.472 3483
+-75.962 41.472 3485
+-75.836 41.472 3486
+-75.71 41.472 3599
+-75.584 41.472 3600
+-75.458 41.472 3602
+-75.332 41.472 3603
+-75.206 41.472 3604
+-75.08 41.472 3546
+-74.954 41.472 3547
+-74.828 41.472 3548
+-74.702 41.472 3548
+-74.576 41.472 3549
+-74.45 41.472 3550
+-74.324 41.472 3550
+-74.198 41.472 3551
+-74.072 41.472 3551
+-73.946 41.472 3552
+-73.82 41.472 3530
+-73.694 41.472 3519
+-73.568 41.472 3520
+-73.442 41.472 3520
+-73.316 41.472 3521
+-73.19 41.472 3522
+-73.064 41.472 3505
+-72.938 41.472 3506
+-72.812 41.472 3506
+-72.686 41.472 3506
+-72.56 41.472 3507
+-72.434 41.472 3507
+-72.308 41.472 3508
+-72.182 41.472 3508
+-72.056 41.472 3508
+-71.93 41.472 3455
+-71.804 41.472 3455
+-71.678 41.472 3455
+-71.552 41.472 3456
+-71.426 41.472 3456
+-71.3 41.472 3456
+-71.174 41.472 3457
+-71.048 41.472 3457
+-70.922 41.472 3457
+-70.796 41.472 3458
+-70.67 41.472 3458
+-70.544 41.472 3458
+-70.418 41.472 3458
+-70.292 41.472 3382
+-70.166 41.472 3382
+-70.04 41.472 3382
+-69.914 41.472 3382
+-69.788 41.472 3382
+-69.662 41.472 3382
+-69.536 41.472 3381
+-69.41 41.472 3381
+-69.284 41.472 3381
+-69.158 41.472 3381
+-69.032 41.472 3381
+-68.906 41.472 3381
+-68.78 41.472 3381
+-68.654 41.472 3380
+-68.528 41.472 3380
+-68.402 41.472 3380
+-68.276 41.472 3380
+-68.15 41.472 3380
+-68.024 41.472 3380
+-67.898 41.472 3380
+-67.772 41.472 3380
+-67.646 41.472 3379
+-67.52 41.472 3379
+-67.394 41.472 3379
+-67.268 41.472 3379
+-67.142 41.472 3068
+-67.016 41.472 3067
+-66.89 41.472 3067
+-66.764 41.472 3066
+-66.638 41.472 3066
+-66.512 41.472 3065
+-66.386 41.472 3065
+-66.26 41.472 3065
+-66.134 41.472 3064
+-66.008 41.472 3064
+-65.882 41.472 3063
+-65.756 41.472 3063
+-65.63 41.472 3062
+-65.504 41.472 3062
+-65.378 41.472 3062
+-65.252 41.472 3061
+-65.126 41.472 3061
+-128 41.42 2747
+-127.874 41.42 2728
+-127.748 41.42 2708
+-127.622 41.42 2684
+-127.496 41.42 2689
+-127.37 41.42 2684
+-127.244 41.42 2696
+-127.118 41.42 2692
+-126.992 41.42 2673
+-126.866 41.42 2664
+-126.74 41.42 2629
+-126.614 41.42 2572
+-126.488 41.42 2507
+-126.362 41.42 2472
+-126.236 41.42 2513
+-126.11 41.42 2596
+-125.984 41.42 2688
+-125.858 41.42 2771
+-125.732 41.42 2879
+-125.606 41.42 3007
+-125.48 41.42 3103
+-125.354 41.42 3178
+-125.228 41.42 3221
+-125.102 41.42 3264
+-124.976 41.42 3301
+-124.85 41.42 3278
+-124.724 41.42 3237
+-124.598 41.42 3213
+-124.472 41.42 3277
+-124.346 41.42 3380
+-124.22 41.42 3438
+-124.094 41.42 3448
+-123.968 41.42 3446
+-123.842 41.42 3466
+-123.716 41.42 3499
+-123.59 41.42 3532
+-123.464 41.42 3547
+-123.338 41.42 3551
+-123.212 41.42 3563
+-123.086 41.42 3548
+-122.96 41.42 3514
+-122.834 41.42 3517
+-122.708 41.42 3525
+-122.582 41.42 3549
+-122.456 41.42 3565
+-122.33 41.42 3592
+-122.204 41.42 3597
+-122.078 41.42 3596
+-121.952 41.42 3585
+-121.826 41.42 3583
+-121.7 41.42 3588
+-121.574 41.42 3593
+-121.448 41.42 3570
+-121.322 41.42 3576
+-121.196 41.42 3617
+-121.07 41.42 3666
+-120.944 41.42 3717
+-120.818 41.42 3747
+-120.692 41.42 3797
+-120.566 41.42 3833
+-120.44 41.42 3871
+-120.314 41.42 3921
+-120.188 41.42 3949
+-120.062 41.42 3947
+-119.936 41.42 3974
+-119.81 41.42 3982
+-119.684 41.42 4000
+-119.558 41.42 4045
+-119.432 41.42 4108
+-119.306 41.42 4169
+-119.18 41.42 4222
+-119.054 41.42 4245
+-118.928 41.42 4249
+-118.802 41.42 4256
+-118.676 41.42 4267
+-118.55 41.42 4299
+-118.424 41.42 4307
+-118.298 41.42 4294
+-118.172 41.42 4253
+-118.046 41.42 4307
+-117.92 41.42 4309
+-117.794 41.42 4285
+-117.668 41.42 4251
+-117.542 41.42 4197
+-117.416 41.42 4152
+-117.29 41.42 4137
+-117.164 41.42 4097
+-117.038 41.42 4066
+-116.912 41.42 4038
+-116.786 41.42 4020
+-116.66 41.42 4005
+-116.534 41.42 3946
+-116.408 41.42 3853
+-116.282 41.42 3799
+-116.156 41.42 3776
+-116.03 41.42 3738
+-115.904 41.42 3676
+-115.778 41.42 3622
+-115.652 41.42 3585
+-115.526 41.42 3576
+-115.4 41.42 3553
+-115.274 41.42 3507
+-115.148 41.42 3457
+-115.022 41.42 3429
+-114.896 41.42 3400
+-114.77 41.42 3366
+-114.644 41.42 3289
+-114.518 41.42 3220
+-114.392 41.42 3109
+-114.266 41.42 3022
+-114.14 41.42 2969
+-114.014 41.42 2914
+-113.888 41.42 2859
+-113.762 41.42 2801
+-113.636 41.42 2731
+-113.51 41.42 2639
+-113.384 41.42 2511
+-113.258 41.42 2333
+-113.132 41.42 2075
+-113.006 41.42 1818
+-112.88 41.42 1601
+-112.754 41.42 1525
+-112.628 41.42 1585
+-112.502 41.42 1709
+-112.376 41.42 1832
+-112.25 41.42 1957
+-112.124 41.42 2047
+-111.998 41.42 2099
+-111.872 41.42 2109
+-111.746 41.42 2104
+-111.62 41.42 2128
+-111.494 41.42 2147
+-111.368 41.42 2160
+-111.242 41.42 2185
+-111.116 41.42 2169
+-110.99 41.42 2177
+-110.864 41.42 2183
+-110.738 41.42 2188
+-110.612 41.42 2183
+-110.486 41.42 2188
+-110.36 41.42 2193
+-110.234 41.42 2198
+-110.108 41.42 2219
+-109.982 41.42 2197
+-109.856 41.42 2227
+-109.73 41.42 2232
+-109.604 41.42 2237
+-109.478 41.42 2242
+-109.352 41.42 2282
+-109.226 41.42 2288
+-109.1 41.42 2304
+-108.974 41.42 2282
+-108.848 41.42 2288
+-108.722 41.42 2294
+-108.596 41.42 2300
+-108.47 41.42 2305
+-108.344 41.42 2311
+-108.218 41.42 2317
+-108.092 41.42 2322
+-107.966 41.42 2327
+-107.84 41.42 2332
+-107.714 41.42 2262
+-107.588 41.42 2266
+-107.462 41.42 2384
+-107.336 41.42 2362
+-107.21 41.42 2367
+-107.084 41.42 2372
+-106.958 41.42 2376
+-106.832 41.42 2381
+-106.706 41.42 2379
+-106.58 41.42 2377
+-106.454 41.42 2372
+-106.328 41.42 2220
+-106.202 41.42 2164
+-106.076 41.42 2028
+-105.95 41.42 2022
+-105.824 41.42 2015
+-105.698 41.42 2008
+-105.572 41.42 1913
+-105.446 41.42 1886
+-105.32 41.42 1876
+-105.194 41.42 1771
+-105.068 41.42 1736
+-104.942 41.42 1781
+-104.816 41.42 1721
+-104.69 41.42 1717
+-104.564 41.42 1727
+-104.438 41.42 1762
+-104.312 41.42 1829
+-104.186 41.42 1838
+-104.06 41.42 1971
+-103.934 41.42 2013
+-103.808 41.42 2085
+-103.682 41.42 2082
+-103.556 41.42 2184
+-103.43 41.42 2176
+-103.304 41.42 2157
+-103.178 41.42 2149
+-103.052 41.42 2140
+-102.926 41.42 2130
+-102.8 41.42 2221
+-102.674 41.42 2209
+-102.548 41.42 2196
+-102.422 41.42 2184
+-102.296 41.42 2170
+-102.17 41.42 2191
+-102.044 41.42 2216
+-101.918 41.42 2201
+-101.792 41.42 2186
+-101.666 41.42 2170
+-101.54 41.42 2153
+-101.414 41.42 2191
+-101.288 41.42 2174
+-101.162 41.42 2156
+-101.036 41.42 2137
+-100.91 41.42 2118
+-100.784 41.42 2097
+-100.658 41.42 2084
+-100.532 41.42 2072
+-100.406 41.42 2098
+-100.28 41.42 2076
+-100.154 41.42 2053
+-100.028 41.42 2030
+-99.902 41.42 2037
+-99.776 41.42 2012
+-99.65 41.42 1986
+-99.524 41.42 1961
+-99.398 41.42 1937
+-99.272 41.42 2025
+-99.146 41.42 2005
+-99.02 41.42 1991
+-98.894 41.42 1980
+-98.768 41.42 1982
+-98.642 41.42 2040
+-98.516 41.42 2066
+-98.39 41.42 2106
+-98.264 41.42 2161
+-98.138 41.42 2261
+-98.012 41.42 2378
+-97.886 41.42 2457
+-97.76 41.42 2572
+-97.634 41.42 2646
+-97.508 41.42 2714
+-97.382 41.42 2800
+-97.256 41.42 2835
+-97.13 41.42 2856
+-97.004 41.42 2863
+-96.878 41.42 2860
+-96.752 41.42 2855
+-96.626 41.42 2861
+-96.5 41.42 2953
+-96.374 41.42 3002
+-96.248 41.42 3121
+-96.122 41.42 3174
+-95.996 41.42 3233
+-95.87 41.42 3331
+-95.744 41.42 3434
+-95.618 41.42 3534
+-95.492 41.42 3634
+-95.366 41.42 3692
+-95.24 41.42 3703
+-95.114 41.42 3662
+-94.988 41.42 3793
+-94.862 41.42 3911
+-94.736 41.42 4119
+-94.61 41.42 4326
+-94.484 41.42 4468
+-94.358 41.42 4603
+-94.232 41.42 4708
+-94.106 41.42 4785
+-93.98 41.42 4864
+-93.854 41.42 4910
+-93.728 41.42 4955
+-93.602 41.42 4974
+-93.476 41.42 5085
+-93.35 41.42 5210
+-93.224 41.42 5274
+-93.098 41.42 5363
+-92.972 41.42 5465
+-92.846 41.42 5550
+-92.72 41.42 5644
+-92.594 41.42 5798
+-92.468 41.42 5821
+-92.342 41.42 5912
+-92.216 41.42 6013
+-92.09 41.42 6070
+-91.964 41.42 6144
+-91.838 41.42 6240
+-91.712 41.42 6264
+-91.586 41.42 6321
+-91.46 41.42 6389
+-91.334 41.42 6425
+-91.208 41.42 6463
+-91.082 41.42 6498
+-90.956 41.42 6546
+-90.83 41.42 6564
+-90.704 41.42 6554
+-90.578 41.42 6558
+-90.452 41.42 6570
+-90.326 41.42 6576
+-90.2 41.42 6555
+-90.074 41.42 6553
+-89.948 41.42 6515
+-89.822 41.42 6500
+-89.696 41.42 6465
+-89.57 41.42 6456
+-89.444 41.42 6392
+-89.318 41.42 6353
+-89.192 41.42 6259
+-89.066 41.42 6160
+-88.94 41.42 6103
+-88.814 41.42 6072
+-88.688 41.42 6000
+-88.562 41.42 5966
+-88.436 41.42 5876
+-88.31 41.42 5785
+-88.184 41.42 5675
+-88.058 41.42 5550
+-87.932 41.42 5473
+-87.806 41.42 5394
+-87.68 41.42 5308
+-87.554 41.42 5194
+-87.428 41.42 5260
+-87.302 41.42 5251
+-87.176 41.42 5234
+-87.05 41.42 5187
+-86.924 41.42 5092
+-86.798 41.42 5037
+-86.672 41.42 5021
+-86.546 41.42 4927
+-86.42 41.42 4848
+-86.294 41.42 4802
+-86.168 41.42 4757
+-86.042 41.42 4687
+-85.916 41.42 4650
+-85.79 41.42 4563
+-85.664 41.42 4498
+-85.538 41.42 4433
+-85.412 41.42 4348
+-85.286 41.42 4279
+-85.16 41.42 4215
+-85.034 41.42 4108
+-84.908 41.42 4013
+-84.782 41.42 3887
+-84.656 41.42 3772
+-84.53 41.42 3698
+-84.404 41.42 3655
+-84.278 41.42 3593
+-84.152 41.42 3591
+-84.026 41.42 3581
+-83.9 41.42 3564
+-83.774 41.42 3571
+-83.648 41.42 3587
+-83.522 41.42 3568
+-83.396 41.42 3568
+-83.27 41.42 3554
+-83.144 41.42 3573
+-83.018 41.42 3605
+-82.892 41.42 3616
+-82.766 41.42 3515
+-82.64 41.42 3521
+-82.514 41.42 3526
+-82.388 41.42 3524
+-82.262 41.42 3529
+-82.136 41.42 3533
+-82.01 41.42 3537
+-81.884 41.42 3532
+-81.758 41.42 3529
+-81.632 41.42 3525
+-81.506 41.42 3482
+-81.38 41.42 3484
+-81.254 41.42 3486
+-81.128 41.42 3488
+-81.002 41.42 3427
+-80.876 41.42 3428
+-80.75 41.42 3429
+-80.624 41.42 3429
+-80.498 41.42 3430
+-80.372 41.42 3431
+-80.246 41.42 3479
+-80.12 41.42 3459
+-79.994 41.42 3459
+-79.868 41.42 3460
+-79.742 41.42 3461
+-79.616 41.42 3462
+-79.49 41.42 3479
+-79.364 41.42 3482
+-79.238 41.42 3472
+-79.112 41.42 3474
+-78.986 41.42 3476
+-78.86 41.42 3478
+-78.734 41.42 3480
+-78.608 41.42 3482
+-78.482 41.42 3483
+-78.356 41.42 3485
+-78.23 41.42 3487
+-78.104 41.42 3488
+-77.978 41.42 3490
+-77.852 41.42 3511
+-77.726 41.42 3514
+-77.6 41.42 3516
+-77.474 41.42 3518
+-77.348 41.42 3520
+-77.222 41.42 3522
+-77.096 41.42 3491
+-76.97 41.42 3492
+-76.844 41.42 3494
+-76.718 41.42 3495
+-76.592 41.42 3518
+-76.466 41.42 3520
+-76.34 41.42 3522
+-76.214 41.42 3484
+-76.088 41.42 3486
+-75.962 41.42 3487
+-75.836 41.42 3598
+-75.71 41.42 3600
+-75.584 41.42 3601
+-75.458 41.42 3602
+-75.332 41.42 3603
+-75.206 41.42 3546
+-75.08 41.42 3547
+-74.954 41.42 3548
+-74.828 41.42 3548
+-74.702 41.42 3549
+-74.576 41.42 3549
+-74.45 41.42 3550
+-74.324 41.42 3551
+-74.198 41.42 3551
+-74.072 41.42 3552
+-73.946 41.42 3530
+-73.82 41.42 3519
+-73.694 41.42 3520
+-73.568 41.42 3520
+-73.442 41.42 3521
+-73.316 41.42 3521
+-73.19 41.42 3522
+-73.064 41.42 3505
+-72.938 41.42 3506
+-72.812 41.42 3506
+-72.686 41.42 3507
+-72.56 41.42 3507
+-72.434 41.42 3507
+-72.308 41.42 3508
+-72.182 41.42 3508
+-72.056 41.42 3455
+-71.93 41.42 3455
+-71.804 41.42 3455
+-71.678 41.42 3456
+-71.552 41.42 3456
+-71.426 41.42 3456
+-71.3 41.42 3457
+-71.174 41.42 3457
+-71.048 41.42 3457
+-70.922 41.42 3457
+-70.796 41.42 3458
+-70.67 41.42 3458
+-70.544 41.42 3458
+-70.418 41.42 3382
+-70.292 41.42 3382
+-70.166 41.42 3382
+-70.04 41.42 3382
+-69.914 41.42 3382
+-69.788 41.42 3382
+-69.662 41.42 3381
+-69.536 41.42 3381
+-69.41 41.42 3381
+-69.284 41.42 3381
+-69.158 41.42 3381
+-69.032 41.42 3381
+-68.906 41.42 3381
+-68.78 41.42 3380
+-68.654 41.42 3380
+-68.528 41.42 3380
+-68.402 41.42 3380
+-68.276 41.42 3380
+-68.15 41.42 3380
+-68.024 41.42 3380
+-67.898 41.42 3380
+-67.772 41.42 3379
+-67.646 41.42 3379
+-67.52 41.42 3379
+-67.394 41.42 3379
+-67.268 41.42 3068
+-67.142 41.42 3067
+-67.016 41.42 3067
+-66.89 41.42 3066
+-66.764 41.42 3066
+-66.638 41.42 3065
+-66.512 41.42 3065
+-66.386 41.42 3065
+-66.26 41.42 3064
+-66.134 41.42 3064
+-66.008 41.42 3063
+-65.882 41.42 3063
+-65.756 41.42 3062
+-65.63 41.42 3062
+-65.504 41.42 3062
+-65.378 41.42 3061
+-65.252 41.42 3061
+-65.126 41.42 3060
+-128 41.368 2689
+-127.874 41.368 2659
+-127.748 41.368 2623
+-127.622 41.368 2616
+-127.496 41.368 2601
+-127.37 41.368 2609
+-127.244 41.368 2610
+-127.118 41.368 2607
+-126.992 41.368 2623
+-126.866 41.368 2622
+-126.74 41.368 2604
+-126.614 41.368 2567
+-126.488 41.368 2523
+-126.362 41.368 2502
+-126.236 41.368 2520
+-126.11 41.368 2550
+-125.984 41.368 2594
+-125.858 41.368 2689
+-125.732 41.368 2809
+-125.606 41.368 2928
+-125.48 41.368 3054
+-125.354 41.368 3116
+-125.228 41.368 3194
+-125.102 41.368 3232
+-124.976 41.368 3272
+-124.85 41.368 3249
+-124.724 41.368 3195
+-124.598 41.368 3157
+-124.472 41.368 3213
+-124.346 41.368 3320
+-124.22 41.368 3409
+-124.094 41.368 3441
+-123.968 41.368 3463
+-123.842 41.368 3474
+-123.716 41.368 3490
+-123.59 41.368 3510
+-123.464 41.368 3510
+-123.338 41.368 3502
+-123.212 41.368 3480
+-123.086 41.368 3447
+-122.96 41.368 3411
+-122.834 41.368 3409
+-122.708 41.368 3438
+-122.582 41.368 3477
+-122.456 41.368 3510
+-122.33 41.368 3548
+-122.204 41.368 3545
+-122.078 41.368 3552
+-121.952 41.368 3540
+-121.826 41.368 3544
+-121.7 41.368 3549
+-121.574 41.368 3556
+-121.448 41.368 3578
+-121.322 41.368 3576
+-121.196 41.368 3601
+-121.07 41.368 3646
+-120.944 41.368 3682
+-120.818 41.368 3719
+-120.692 41.368 3752
+-120.566 41.368 3793
+-120.44 41.368 3831
+-120.314 41.368 3872
+-120.188 41.368 3905
+-120.062 41.368 3902
+-119.936 41.368 3915
+-119.81 41.368 3933
+-119.684 41.368 3951
+-119.558 41.368 4003
+-119.432 41.368 4060
+-119.306 41.368 4119
+-119.18 41.368 4174
+-119.054 41.368 4204
+-118.928 41.368 4203
+-118.802 41.368 4213
+-118.676 41.368 4210
+-118.55 41.368 4229
+-118.424 41.368 4251
+-118.298 41.368 4265
+-118.172 41.368 4272
+-118.046 41.368 4272
+-117.92 41.368 4252
+-117.794 41.368 4221
+-117.668 41.368 4192
+-117.542 41.368 4135
+-117.416 41.368 4099
+-117.29 41.368 4090
+-117.164 41.368 4054
+-117.038 41.368 4064
+-116.912 41.368 4010
+-116.786 41.368 3971
+-116.66 41.368 3924
+-116.534 41.368 3864
+-116.408 41.368 3794
+-116.282 41.368 3769
+-116.156 41.368 3748
+-116.03 41.368 3672
+-115.904 41.368 3604
+-115.778 41.368 3595
+-115.652 41.368 3575
+-115.526 41.368 3560
+-115.4 41.368 3524
+-115.274 41.368 3480
+-115.148 41.368 3428
+-115.022 41.368 3399
+-114.896 41.368 3371
+-114.77 41.368 3317
+-114.644 41.368 3238
+-114.518 41.368 3161
+-114.392 41.368 3052
+-114.266 41.368 3001
+-114.14 41.368 2951
+-114.014 41.368 2900
+-113.888 41.368 2841
+-113.762 41.368 2776
+-113.636 41.368 2702
+-113.51 41.368 2592
+-113.384 41.368 2454
+-113.258 41.368 2294
+-113.132 41.368 2089
+-113.006 41.368 1844
+-112.88 41.368 1658
+-112.754 41.368 1589
+-112.628 41.368 1635
+-112.502 41.368 1749
+-112.376 41.368 1860
+-112.25 41.368 1949
+-112.124 41.368 2002
+-111.998 41.368 2051
+-111.872 41.368 2058
+-111.746 41.368 2089
+-111.62 41.368 2113
+-111.494 41.368 2130
+-111.368 41.368 2144
+-111.242 41.368 2154
+-111.116 41.368 2176
+-110.99 41.368 2157
+-110.864 41.368 2164
+-110.738 41.368 2169
+-110.612 41.368 2164
+-110.486 41.368 2169
+-110.36 41.368 2175
+-110.234 41.368 2180
+-110.108 41.368 2185
+-109.982 41.368 2205
+-109.856 41.368 2184
+-109.73 41.368 2213
+-109.604 41.368 2219
+-109.478 41.368 2224
+-109.352 41.368 2229
+-109.226 41.368 2270
+-109.1 41.368 2276
+-108.974 41.368 2292
+-108.848 41.368 2271
+-108.722 41.368 2277
+-108.596 41.368 2284
+-108.47 41.368 2290
+-108.344 41.368 2296
+-108.218 41.368 2302
+-108.092 41.368 2308
+-107.966 41.368 2313
+-107.84 41.368 2245
+-107.714 41.368 2249
+-107.588 41.368 2253
+-107.462 41.368 2345
+-107.336 41.368 2350
+-107.21 41.368 2355
+-107.084 41.368 2360
+-106.958 41.368 2365
+-106.832 41.368 2370
+-106.706 41.368 2351
+-106.58 41.368 2367
+-106.454 41.368 2323
+-106.328 41.368 2210
+-106.202 41.368 2163
+-106.076 41.368 2022
+-105.95 41.368 2013
+-105.824 41.368 2007
+-105.698 41.368 1914
+-105.572 41.368 1890
+-105.446 41.368 1881
+-105.32 41.368 1850
+-105.194 41.368 1768
+-105.068 41.368 1735
+-104.942 41.368 1779
+-104.816 41.368 1722
+-104.69 41.368 1718
+-104.564 41.368 1729
+-104.438 41.368 1765
+-104.312 41.368 1810
+-104.186 41.368 1831
+-104.06 41.368 1975
+-103.934 41.368 2021
+-103.808 41.368 2076
+-103.682 41.368 2181
+-103.556 41.368 2188
+-103.43 41.368 2180
+-103.304 41.368 2161
+-103.178 41.368 2153
+-103.052 41.368 2144
+-102.926 41.368 2135
+-102.8 41.368 2167
+-102.674 41.368 2214
+-102.548 41.368 2202
+-102.422 41.368 2189
+-102.296 41.368 2176
+-102.17 41.368 2162
+-102.044 41.368 2182
+-101.918 41.368 2207
+-101.792 41.368 2191
+-101.666 41.368 2175
+-101.54 41.368 2159
+-101.414 41.368 2141
+-101.288 41.368 2179
+-101.162 41.368 2162
+-101.036 41.368 2143
+-100.91 41.368 2124
+-100.784 41.368 2104
+-100.658 41.368 2084
+-100.532 41.368 2071
+-100.406 41.368 2059
+-100.28 41.368 2086
+-100.154 41.368 2065
+-100.028 41.368 2044
+-99.902 41.368 2023
+-99.776 41.368 2034
+-99.65 41.368 2013
+-99.524 41.368 1993
+-99.398 41.368 2085
+-99.272 41.368 2070
+-99.146 41.368 2060
+-99.02 41.368 2054
+-98.894 41.368 2056
+-98.768 41.368 2093
+-98.642 41.368 2130
+-98.516 41.368 2160
+-98.39 41.368 2201
+-98.264 41.368 2290
+-98.138 41.368 2350
+-98.012 41.368 2417
+-97.886 41.368 2529
+-97.76 41.368 2598
+-97.634 41.368 2702
+-97.508 41.368 2784
+-97.382 41.368 2845
+-97.256 41.368 2883
+-97.13 41.368 2909
+-97.004 41.368 2927
+-96.878 41.368 2939
+-96.752 41.368 2950
+-96.626 41.368 2966
+-96.5 41.368 3037
+-96.374 41.368 3078
+-96.248 41.368 3128
+-96.122 41.368 3124
+-95.996 41.368 3137
+-95.87 41.368 3224
+-95.744 41.368 3387
+-95.618 41.368 3529
+-95.492 41.368 3637
+-95.366 41.368 3720
+-95.24 41.368 3751
+-95.114 41.368 3778
+-94.988 41.368 3823
+-94.862 41.368 3915
+-94.736 41.368 4181
+-94.61 41.368 4368
+-94.484 41.368 4494
+-94.358 41.368 4600
+-94.232 41.368 4642
+-94.106 41.368 4728
+-93.98 41.368 4842
+-93.854 41.368 4920
+-93.728 41.368 4912
+-93.602 41.368 5036
+-93.476 41.368 5082
+-93.35 41.368 5216
+-93.224 41.368 5298
+-93.098 41.368 5408
+-92.972 41.368 5514
+-92.846 41.368 5573
+-92.72 41.368 5686
+-92.594 41.368 5795
+-92.468 41.368 5859
+-92.342 41.368 5959
+-92.216 41.368 6074
+-92.09 41.368 6124
+-91.964 41.368 6217
+-91.838 41.368 6278
+-91.712 41.368 6316
+-91.586 41.368 6368
+-91.46 41.368 6424
+-91.334 41.368 6445
+-91.208 41.368 6497
+-91.082 41.368 6547
+-90.956 41.368 6574
+-90.83 41.368 6596
+-90.704 41.368 6607
+-90.578 41.368 6626
+-90.452 41.368 6658
+-90.326 41.368 6623
+-90.2 41.368 6618
+-90.074 41.368 6610
+-89.948 41.368 6587
+-89.822 41.368 6541
+-89.696 41.368 6531
+-89.57 41.368 6466
+-89.444 41.368 6464
+-89.318 41.368 6413
+-89.192 41.368 6328
+-89.066 41.368 6234
+-88.94 41.368 6198
+-88.814 41.368 6132
+-88.688 41.368 6059
+-88.562 41.368 5960
+-88.436 41.368 5905
+-88.31 41.368 5751
+-88.184 41.368 5730
+-88.058 41.368 5580
+-87.932 41.368 5504
+-87.806 41.368 5431
+-87.68 41.368 5327
+-87.554 41.368 5331
+-87.428 41.368 5346
+-87.302 41.368 5314
+-87.176 41.368 5279
+-87.05 41.368 5185
+-86.924 41.368 5153
+-86.798 41.368 5100
+-86.672 41.368 5033
+-86.546 41.368 4965
+-86.42 41.368 4908
+-86.294 41.368 4866
+-86.168 41.368 4814
+-86.042 41.368 4727
+-85.916 41.368 4650
+-85.79 41.368 4602
+-85.664 41.368 4521
+-85.538 41.368 4385
+-85.412 41.368 4288
+-85.286 41.368 4269
+-85.16 41.368 4233
+-85.034 41.368 4152
+-84.908 41.368 4076
+-84.782 41.368 3977
+-84.656 41.368 3896
+-84.53 41.368 3803
+-84.404 41.368 3716
+-84.278 41.368 3685
+-84.152 41.368 3643
+-84.026 41.368 3630
+-83.9 41.368 3624
+-83.774 41.368 3610
+-83.648 41.368 3583
+-83.522 41.368 3588
+-83.396 41.368 3584
+-83.27 41.368 3575
+-83.144 41.368 3604
+-83.018 41.368 3614
+-82.892 41.368 3572
+-82.766 41.368 3579
+-82.64 41.368 3584
+-82.514 41.368 3536
+-82.388 41.368 3534
+-82.262 41.368 3538
+-82.136 41.368 3541
+-82.01 41.368 3537
+-81.884 41.368 3533
+-81.758 41.368 3529
+-81.632 41.368 3486
+-81.506 41.368 3488
+-81.38 41.368 3490
+-81.254 41.368 3492
+-81.128 41.368 3494
+-81.002 41.368 3496
+-80.876 41.368 3435
+-80.75 41.368 3435
+-80.624 41.368 3436
+-80.498 41.368 3436
+-80.372 41.368 3482
+-80.246 41.368 3461
+-80.12 41.368 3462
+-79.994 41.368 3463
+-79.868 41.368 3463
+-79.742 41.368 3464
+-79.616 41.368 3481
+-79.49 41.368 3483
+-79.364 41.368 3474
+-79.238 41.368 3476
+-79.112 41.368 3478
+-78.986 41.368 3480
+-78.86 41.368 3481
+-78.734 41.368 3483
+-78.608 41.368 3485
+-78.482 41.368 3486
+-78.356 41.368 3488
+-78.23 41.368 3489
+-78.104 41.368 3491
+-77.978 41.368 3512
+-77.852 41.368 3515
+-77.726 41.368 3517
+-77.6 41.368 3519
+-77.474 41.368 3521
+-77.348 41.368 3523
+-77.222 41.368 3492
+-77.096 41.368 3493
+-76.97 41.368 3495
+-76.844 41.368 3496
+-76.718 41.368 3519
+-76.592 41.368 3521
+-76.466 41.368 3523
+-76.34 41.368 3485
+-76.214 41.368 3487
+-76.088 41.368 3488
+-75.962 41.368 3598
+-75.836 41.368 3599
+-75.71 41.368 3600
+-75.584 41.368 3602
+-75.458 41.368 3603
+-75.332 41.368 3546
+-75.206 41.368 3547
+-75.08 41.368 3547
+-74.954 41.368 3548
+-74.828 41.368 3549
+-74.702 41.368 3549
+-74.576 41.368 3550
+-74.45 41.368 3550
+-74.324 41.368 3551
+-74.198 41.368 3552
+-74.072 41.368 3529
+-73.946 41.368 3519
+-73.82 41.368 3519
+-73.694 41.368 3520
+-73.568 41.368 3521
+-73.442 41.368 3521
+-73.316 41.368 3505
+-73.19 41.368 3505
+-73.064 41.368 3506
+-72.938 41.368 3506
+-72.812 41.368 3507
+-72.686 41.368 3507
+-72.56 41.368 3507
+-72.434 41.368 3508
+-72.308 41.368 3508
+-72.182 41.368 3454
+-72.056 41.368 3455
+-71.93 41.368 3455
+-71.804 41.368 3455
+-71.678 41.368 3456
+-71.552 41.368 3456
+-71.426 41.368 3456
+-71.3 41.368 3457
+-71.174 41.368 3457
+-71.048 41.368 3457
+-70.922 41.368 3457
+-70.796 41.368 3458
+-70.67 41.368 3458
+-70.544 41.368 3382
+-70.418 41.368 3382
+-70.292 41.368 3382
+-70.166 41.368 3382
+-70.04 41.368 3382
+-69.914 41.368 3382
+-69.788 41.368 3381
+-69.662 41.368 3381
+-69.536 41.368 3381
+-69.41 41.368 3381
+-69.284 41.368 3381
+-69.158 41.368 3381
+-69.032 41.368 3381
+-68.906 41.368 3380
+-68.78 41.368 3380
+-68.654 41.368 3380
+-68.528 41.368 3380
+-68.402 41.368 3380
+-68.276 41.368 3380
+-68.15 41.368 3380
+-68.024 41.368 3380
+-67.898 41.368 3379
+-67.772 41.368 3379
+-67.646 41.368 3379
+-67.52 41.368 3379
+-67.394 41.368 3068
+-67.268 41.368 3067
+-67.142 41.368 3067
+-67.016 41.368 3067
+-66.89 41.368 3066
+-66.764 41.368 3066
+-66.638 41.368 3065
+-66.512 41.368 3065
+-66.386 41.368 3064
+-66.26 41.368 3064
+-66.134 41.368 3063
+-66.008 41.368 3063
+-65.882 41.368 3062
+-65.756 41.368 3062
+-65.63 41.368 3062
+-65.504 41.368 3061
+-65.378 41.368 3061
+-65.252 41.368 3060
+-65.126 41.368 2933
+-128 41.316 2622
+-127.874 41.316 2573
+-127.748 41.316 2549
+-127.622 41.316 2516
+-127.496 41.316 2505
+-127.37 41.316 2495
+-127.244 41.316 2493
+-127.118 41.316 2524
+-126.992 41.316 2552
+-126.866 41.316 2573
+-126.74 41.316 2579
+-126.614 41.316 2568
+-126.488 41.316 2545
+-126.362 41.316 2522
+-126.236 41.316 2486
+-126.11 41.316 2459
+-125.984 41.316 2505
+-125.858 41.316 2615
+-125.732 41.316 2749
+-125.606 41.316 2897
+-125.48 41.316 2989
+-125.354 41.316 3096
+-125.228 41.316 3138
+-125.102 41.316 3190
+-124.976 41.316 3242
+-124.85 41.316 3234
+-124.724 41.316 3210
+-124.598 41.316 3195
+-124.472 41.316 3235
+-124.346 41.316 3313
+-124.22 41.316 3378
+-124.094 41.316 3413
+-123.968 41.316 3431
+-123.842 41.316 3469
+-123.716 41.316 3473
+-123.59 41.316 3482
+-123.464 41.316 3474
+-123.338 41.316 3452
+-123.212 41.316 3414
+-123.086 41.316 3369
+-122.96 41.316 3344
+-122.834 41.316 3331
+-122.708 41.316 3354
+-122.582 41.316 3398
+-122.456 41.316 3438
+-122.33 41.316 3487
+-122.204 41.316 3508
+-122.078 41.316 3505
+-121.952 41.316 3509
+-121.826 41.316 3513
+-121.7 41.316 3517
+-121.574 41.316 3488
+-121.448 41.316 3529
+-121.322 41.316 3554
+-121.196 41.316 3578
+-121.07 41.316 3584
+-120.944 41.316 3624
+-120.818 41.316 3653
+-120.692 41.316 3699
+-120.566 41.316 3731
+-120.44 41.316 3773
+-120.314 41.316 3828
+-120.188 41.316 3860
+-120.062 41.316 3886
+-119.936 41.316 3881
+-119.81 41.316 3897
+-119.684 41.316 3914
+-119.558 41.316 3961
+-119.432 41.316 3999
+-119.306 41.316 4044
+-119.18 41.316 4104
+-119.054 41.316 4131
+-118.928 41.316 4150
+-118.802 41.316 4149
+-118.676 41.316 4160
+-118.55 41.316 4172
+-118.424 41.316 4200
+-118.298 41.316 4216
+-118.172 41.316 4225
+-118.046 41.316 4216
+-117.92 41.316 4172
+-117.794 41.316 4129
+-117.668 41.316 4139
+-117.542 41.316 4119
+-117.416 41.316 4092
+-117.29 41.316 4062
+-117.164 41.316 4014
+-117.038 41.316 3985
+-116.912 41.316 3951
+-116.786 41.316 3923
+-116.66 41.316 3889
+-116.534 41.316 3832
+-116.408 41.316 3772
+-116.282 41.316 3731
+-116.156 41.316 3723
+-116.03 41.316 3618
+-115.904 41.316 3533
+-115.778 41.316 3548
+-115.652 41.316 3514
+-115.526 41.316 3494
+-115.4 41.316 3484
+-115.274 41.316 3433
+-115.148 41.316 3379
+-115.022 41.316 3350
+-114.896 41.316 3302
+-114.77 41.316 3240
+-114.644 41.316 3160
+-114.518 41.316 3122
+-114.392 41.316 3017
+-114.266 41.316 2971
+-114.14 41.316 2921
+-114.014 41.316 2870
+-113.888 41.316 2814
+-113.762 41.316 2747
+-113.636 41.316 2635
+-113.51 41.316 2523
+-113.384 41.316 2418
+-113.258 41.316 2287
+-113.132 41.316 2108
+-113.006 41.316 1942
+-112.88 41.316 1808
+-112.754 41.316 1737
+-112.628 41.316 1761
+-112.502 41.316 1824
+-112.376 41.316 1899
+-112.25 41.316 1953
+-112.124 41.316 1994
+-111.998 41.316 2033
+-111.872 41.316 2088
+-111.746 41.316 2078
+-111.62 41.316 2099
+-111.494 41.316 2115
+-111.368 41.316 2127
+-111.242 41.316 2137
+-111.116 41.316 2128
+-110.99 41.316 2135
+-110.864 41.316 2141
+-110.738 41.316 2150
+-110.612 41.316 2155
+-110.486 41.316 2150
+-110.36 41.316 2155
+-110.234 41.316 2161
+-110.108 41.316 2166
+-109.982 41.316 2171
+-109.856 41.316 2155
+-109.73 41.316 2171
+-109.604 41.316 2182
+-109.478 41.316 2206
+-109.352 41.316 2212
+-109.226 41.316 2217
+-109.1 41.316 2258
+-108.974 41.316 2265
+-108.848 41.316 2281
+-108.722 41.316 2260
+-108.596 41.316 2267
+-108.47 41.316 2274
+-108.344 41.316 2280
+-108.218 41.316 2287
+-108.092 41.316 2293
+-107.966 41.316 2226
+-107.84 41.316 2231
+-107.714 41.316 2236
+-107.588 41.316 2326
+-107.462 41.316 2332
+-107.336 41.316 2337
+-107.21 41.316 2343
+-107.084 41.316 2348
+-106.958 41.316 2354
+-106.832 41.316 2337
+-106.706 41.316 2342
+-106.58 41.316 2309
+-106.454 41.316 2314
+-106.328 41.316 2289
+-106.202 41.316 2152
+-106.076 41.316 1952
+-105.95 41.316 1921
+-105.824 41.316 1919
+-105.698 41.316 1904
+-105.572 41.316 1885
+-105.446 41.316 1854
+-105.32 41.316 1845
+-105.194 41.316 1766
+-105.068 41.316 1735
+-104.942 41.316 1778
+-104.816 41.316 1723
+-104.69 41.316 1719
+-104.564 41.316 1731
+-104.438 41.316 1768
+-104.312 41.316 1813
+-104.186 41.316 1937
+-104.06 41.316 1953
+-103.934 41.316 2025
+-103.808 41.316 2021
+-103.682 41.316 2152
+-103.556 41.316 2178
+-103.43 41.316 2210
+-103.304 41.316 2165
+-103.178 41.316 2157
+-103.052 41.316 2148
+-102.926 41.316 2139
+-102.8 41.316 2172
+-102.674 41.316 2161
+-102.548 41.316 2208
+-102.422 41.316 2195
+-102.296 41.316 2182
+-102.17 41.316 2168
+-102.044 41.316 2154
+-101.918 41.316 2173
+-101.792 41.316 2197
+-101.666 41.316 2181
+-101.54 41.316 2165
+-101.414 41.316 2147
+-101.288 41.316 2130
+-101.162 41.316 2167
+-101.036 41.316 2149
+-100.91 41.316 2130
+-100.784 41.316 2111
+-100.658 41.316 2091
+-100.532 41.316 2070
+-100.406 41.316 2057
+-100.28 41.316 2045
+-100.154 41.316 2126
+-100.028 41.316 2106
+-99.902 41.316 2085
+-99.776 41.316 2066
+-99.65 41.316 2031
+-99.524 41.316 2124
+-99.398 41.316 2111
+-99.272 41.316 2101
+-99.146 41.316 2097
+-99.02 41.316 2098
+-98.894 41.316 2105
+-98.768 41.316 2121
+-98.642 41.316 2174
+-98.516 41.316 2225
+-98.39 41.316 2307
+-98.264 41.316 2358
+-98.138 41.316 2415
+-98.012 41.316 2477
+-97.886 41.316 2541
+-97.76 41.316 2647
+-97.634 41.316 2708
+-97.508 41.316 2804
+-97.382 41.316 2877
+-97.256 41.316 2925
+-97.13 41.316 2956
+-97.004 41.316 2981
+-96.878 41.316 3000
+-96.752 41.316 3018
+-96.626 41.316 3035
+-96.5 41.316 3099
+-96.374 41.316 3157
+-96.248 41.316 3103
+-96.122 41.316 3019
+-95.996 41.316 2975
+-95.87 41.316 3080
+-95.744 41.316 3291
+-95.618 41.316 3513
+-95.492 41.316 3651
+-95.366 41.316 3749
+-95.24 41.316 3805
+-95.114 41.316 3856
+-94.988 41.316 3901
+-94.862 41.316 4025
+-94.736 41.316 4252
+-94.61 41.316 4408
+-94.484 41.316 4493
+-94.358 41.316 4557
+-94.232 41.316 4573
+-94.106 41.316 4671
+-93.98 41.316 4789
+-93.854 41.316 4915
+-93.728 41.316 5000
+-93.602 41.316 5094
+-93.476 41.316 5146
+-93.35 41.316 5254
+-93.224 41.316 5371
+-93.098 41.316 5465
+-92.972 41.316 5542
+-92.846 41.316 5631
+-92.72 41.316 5717
+-92.594 41.316 5842
+-92.468 41.316 5904
+-92.342 41.316 5999
+-92.216 41.316 6129
+-92.09 41.316 6164
+-91.964 41.316 6238
+-91.838 41.316 6314
+-91.712 41.316 6369
+-91.586 41.316 6428
+-91.46 41.316 6468
+-91.334 41.316 6519
+-91.208 41.316 6563
+-91.082 41.316 6575
+-90.956 41.316 6640
+-90.83 41.316 6678
+-90.704 41.316 6664
+-90.578 41.316 6671
+-90.452 41.316 6682
+-90.326 41.316 6690
+-90.2 41.316 6681
+-90.074 41.316 6678
+-89.948 41.316 6644
+-89.822 41.316 6608
+-89.696 41.316 6560
+-89.57 41.316 6529
+-89.444 41.316 6526
+-89.318 41.316 6458
+-89.192 41.316 6358
+-89.066 41.316 6286
+-88.94 41.316 6224
+-88.814 41.316 6185
+-88.688 41.316 6125
+-88.562 41.316 6032
+-88.436 41.316 5940
+-88.31 41.316 5862
+-88.184 41.316 5762
+-88.058 41.316 5623
+-87.932 41.316 5634
+-87.806 41.316 5456
+-87.68 41.316 5433
+-87.554 41.316 5418
+-87.428 41.316 5436
+-87.302 41.316 5366
+-87.176 41.316 5333
+-87.05 41.316 5276
+-86.924 41.316 5203
+-86.798 41.316 5128
+-86.672 41.316 5063
+-86.546 41.316 4973
+-86.42 41.316 4924
+-86.294 41.316 4900
+-86.168 41.316 4841
+-86.042 41.316 4737
+-85.916 41.316 4621
+-85.79 41.316 4626
+-85.664 41.316 4524
+-85.538 41.316 4348
+-85.412 41.316 4203
+-85.286 41.316 4244
+-85.16 41.316 4170
+-85.034 41.316 4150
+-84.908 41.316 4111
+-84.782 41.316 4019
+-84.656 41.316 3931
+-84.53 41.316 3827
+-84.404 41.316 3773
+-84.278 41.316 3727
+-84.152 41.316 3687
+-84.026 41.316 3670
+-83.9 41.316 3631
+-83.774 41.316 3612
+-83.648 41.316 3615
+-83.522 41.316 3589
+-83.396 41.316 3578
+-83.27 41.316 3604
+-83.144 41.316 3613
+-83.018 41.316 3571
+-82.892 41.316 3578
+-82.766 41.316 3583
+-82.64 41.316 3590
+-82.514 41.316 3596
+-82.388 41.316 3594
+-82.262 41.316 3546
+-82.136 41.316 3541
+-82.01 41.316 3537
+-81.884 41.316 3533
+-81.758 41.316 3490
+-81.632 41.316 3492
+-81.506 41.316 3494
+-81.38 41.316 3496
+-81.254 41.316 3497
+-81.128 41.316 3499
+-81.002 41.316 3501
+-80.876 41.316 3502
+-80.75 41.316 3441
+-80.624 41.316 3441
+-80.498 41.316 3484
+-80.372 41.316 3464
+-80.246 41.316 3465
+-80.12 41.316 3465
+-79.994 41.316 3466
+-79.868 41.316 3466
+-79.742 41.316 3482
+-79.616 41.316 3485
+-79.49 41.316 3475
+-79.364 41.316 3477
+-79.238 41.316 3479
+-79.112 41.316 3481
+-78.986 41.316 3483
+-78.86 41.316 3485
+-78.734 41.316 3486
+-78.608 41.316 3488
+-78.482 41.316 3489
+-78.356 41.316 3491
+-78.23 41.316 3492
+-78.104 41.316 3513
+-77.978 41.316 3516
+-77.852 41.316 3518
+-77.726 41.316 3520
+-77.6 41.316 3522
+-77.474 41.316 3524
+-77.348 41.316 3493
+-77.222 41.316 3494
+-77.096 41.316 3496
+-76.97 41.316 3497
+-76.844 41.316 3519
+-76.718 41.316 3521
+-76.592 41.316 3524
+-76.466 41.316 3486
+-76.34 41.316 3488
+-76.214 41.316 3489
+-76.088 41.316 3597
+-75.962 41.316 3598
+-75.836 41.316 3600
+-75.71 41.316 3601
+-75.584 41.316 3602
+-75.458 41.316 3545
+-75.332 41.316 3546
+-75.206 41.316 3547
+-75.08 41.316 3548
+-74.954 41.316 3548
+-74.828 41.316 3549
+-74.702 41.316 3550
+-74.576 41.316 3550
+-74.45 41.316 3551
+-74.324 41.316 3551
+-74.198 41.316 3529
+-74.072 41.316 3519
+-73.946 41.316 3519
+-73.82 41.316 3520
+-73.694 41.316 3520
+-73.568 41.316 3521
+-73.442 41.316 3522
+-73.316 41.316 3505
+-73.19 41.316 3506
+-73.064 41.316 3506
+-72.938 41.316 3506
+-72.812 41.316 3507
+-72.686 41.316 3507
+-72.56 41.316 3508
+-72.434 41.316 3508
+-72.308 41.316 3454
+-72.182 41.316 3455
+-72.056 41.316 3455
+-71.93 41.316 3455
+-71.804 41.316 3456
+-71.678 41.316 3456
+-71.552 41.316 3456
+-71.426 41.316 3456
+-71.3 41.316 3457
+-71.174 41.316 3457
+-71.048 41.316 3457
+-70.922 41.316 3458
+-70.796 41.316 3458
+-70.67 41.316 3382
+-70.544 41.316 3382
+-70.418 41.316 3382
+-70.292 41.316 3382
+-70.166 41.316 3382
+-70.04 41.316 3382
+-69.914 41.316 3381
+-69.788 41.316 3381
+-69.662 41.316 3381
+-69.536 41.316 3381
+-69.41 41.316 3381
+-69.284 41.316 3381
+-69.158 41.316 3381
+-69.032 41.316 3380
+-68.906 41.316 3380
+-68.78 41.316 3380
+-68.654 41.316 3380
+-68.528 41.316 3380
+-68.402 41.316 3380
+-68.276 41.316 3380
+-68.15 41.316 3380
+-68.024 41.316 3379
+-67.898 41.316 3379
+-67.772 41.316 3379
+-67.646 41.316 3379
+-67.52 41.316 3068
+-67.394 41.316 3068
+-67.268 41.316 3067
+-67.142 41.316 3067
+-67.016 41.316 3066
+-66.89 41.316 3066
+-66.764 41.316 3065
+-66.638 41.316 3065
+-66.512 41.316 3064
+-66.386 41.316 3064
+-66.26 41.316 3063
+-66.134 41.316 3063
+-66.008 41.316 3062
+-65.882 41.316 3062
+-65.756 41.316 3062
+-65.63 41.316 3061
+-65.504 41.316 3061
+-65.378 41.316 3060
+-65.252 41.316 2933
+-65.126 41.316 2932
+-128 41.264 2542
+-127.874 41.264 2501
+-127.748 41.264 2446
+-127.622 41.264 2407
+-127.496 41.264 2368
+-127.37 41.264 2344
+-127.244 41.264 2362
+-127.118 41.264 2401
+-126.992 41.264 2455
+-126.866 41.264 2508
+-126.74 41.264 2544
+-126.614 41.264 2557
+-126.488 41.264 2547
+-126.362 41.264 2509
+-126.236 41.264 2450
+-126.11 41.264 2411
+-125.984 41.264 2459
+-125.858 41.264 2577
+-125.732 41.264 2728
+-125.606 41.264 2843
+-125.48 41.264 2952
+-125.354 41.264 3040
+-125.228 41.264 3116
+-125.102 41.264 3172
+-124.976 41.264 3236
+-124.85 41.264 3242
+-124.724 41.264 3226
+-124.598 41.264 3236
+-124.472 41.264 3262
+-124.346 41.264 3304
+-124.22 41.264 3345
+-124.094 41.264 3394
+-123.968 41.264 3410
+-123.842 41.264 3429
+-123.716 41.264 3429
+-123.59 41.264 3422
+-123.464 41.264 3416
+-123.338 41.264 3398
+-123.212 41.264 3352
+-123.086 41.264 3325
+-122.96 41.264 3310
+-122.834 41.264 3304
+-122.708 41.264 3320
+-122.582 41.264 3357
+-122.456 41.264 3393
+-122.33 41.264 3421
+-122.204 41.264 3443
+-122.078 41.264 3470
+-121.952 41.264 3476
+-121.826 41.264 3474
+-121.7 41.264 3455
+-121.574 41.264 3439
+-121.448 41.264 3451
+-121.322 41.264 3493
+-121.196 41.264 3514
+-121.07 41.264 3541
+-120.944 41.264 3581
+-120.818 41.264 3607
+-120.692 41.264 3642
+-120.566 41.264 3653
+-120.44 41.264 3708
+-120.314 41.264 3762
+-120.188 41.264 3816
+-120.062 41.264 3839
+-119.936 41.264 3843
+-119.81 41.264 3905
+-119.684 41.264 3889
+-119.558 41.264 3904
+-119.432 41.264 3958
+-119.306 41.264 3992
+-119.18 41.264 4031
+-119.054 41.264 4055
+-118.928 41.264 4076
+-118.802 41.264 4095
+-118.676 41.264 4095
+-118.55 41.264 4117
+-118.424 41.264 4147
+-118.298 41.264 4163
+-118.172 41.264 4165
+-118.046 41.264 4158
+-117.92 41.264 4106
+-117.794 41.264 4070
+-117.668 41.264 4101
+-117.542 41.264 4095
+-117.416 41.264 4055
+-117.29 41.264 4026
+-117.164 41.264 3972
+-117.038 41.264 3945
+-116.912 41.264 3893
+-116.786 41.264 3899
+-116.66 41.264 3867
+-116.534 41.264 3810
+-116.408 41.264 3768
+-116.282 41.264 3734
+-116.156 41.264 3687
+-116.03 41.264 3614
+-115.904 41.264 3554
+-115.778 41.264 3488
+-115.652 41.264 3419
+-115.526 41.264 3411
+-115.4 41.264 3400
+-115.274 41.264 3347
+-115.148 41.264 3285
+-115.022 41.264 3258
+-114.896 41.264 3206
+-114.77 41.264 3137
+-114.644 41.264 3105
+-114.518 41.264 3071
+-114.392 41.264 2974
+-114.266 41.264 2928
+-114.14 41.264 2883
+-114.014 41.264 2831
+-113.888 41.264 2774
+-113.762 41.264 2669
+-113.636 41.264 2595
+-113.51 41.264 2468
+-113.384 41.264 2381
+-113.258 41.264 2273
+-113.132 41.264 2162
+-113.006 41.264 2048
+-112.88 41.264 1954
+-112.754 41.264 1899
+-112.628 41.264 1887
+-112.502 41.264 1907
+-112.376 41.264 1944
+-112.25 41.264 1986
+-112.124 41.264 2010
+-111.998 41.264 2048
+-111.872 41.264 2066
+-111.746 41.264 2088
+-111.62 41.264 2086
+-111.494 41.264 2100
+-111.368 41.264 2111
+-111.242 41.264 2120
+-111.116 41.264 2109
+-110.99 41.264 2116
+-110.864 41.264 2122
+-110.738 41.264 2127
+-110.612 41.264 2134
+-110.486 41.264 2139
+-110.36 41.264 2135
+-110.234 41.264 2141
+-110.108 41.264 2147
+-109.982 41.264 2152
+-109.856 41.264 2158
+-109.73 41.264 2142
+-109.604 41.264 2129
+-109.478 41.264 2169
+-109.352 41.264 2193
+-109.226 41.264 2200
+-109.1 41.264 2206
+-108.974 41.264 2247
+-108.848 41.264 2254
+-108.722 41.264 2271
+-108.596 41.264 2251
+-108.47 41.264 2258
+-108.344 41.264 2265
+-108.218 41.264 2272
+-108.092 41.264 2207
+-107.966 41.264 2212
+-107.84 41.264 2218
+-107.714 41.264 2306
+-107.588 41.264 2313
+-107.462 41.264 2319
+-107.336 41.264 2325
+-107.21 41.264 2331
+-107.084 41.264 2337
+-106.958 41.264 2322
+-106.832 41.264 2328
+-106.706 41.264 2295
+-106.58 41.264 2300
+-106.454 41.264 2305
+-106.328 41.264 2097
+-106.202 41.264 2074
+-106.076 41.264 1923
+-105.95 41.264 1929
+-105.824 41.264 1922
+-105.698 41.264 1882
+-105.572 41.264 1863
+-105.446 41.264 1848
+-105.32 41.264 1839
+-105.194 41.264 1764
+-105.068 41.264 1734
+-104.942 41.264 1776
+-104.816 41.264 1724
+-104.69 41.264 1720
+-104.564 41.264 1734
+-104.438 41.264 1771
+-104.312 41.264 1817
+-104.186 41.264 1942
+-104.06 41.264 1956
+-103.934 41.264 2010
+-103.808 41.264 2025
+-103.682 41.264 2156
+-103.556 41.264 2150
+-103.43 41.264 2175
+-103.304 41.264 2207
+-103.178 41.264 2161
+-103.052 41.264 2153
+-102.926 41.264 2144
+-102.8 41.264 2178
+-102.674 41.264 2167
+-102.548 41.264 2155
+-102.422 41.264 2201
+-102.296 41.264 2188
+-102.17 41.264 2174
+-102.044 41.264 2160
+-101.918 41.264 2145
+-101.792 41.264 2164
+-101.666 41.264 2187
+-101.54 41.264 2171
+-101.414 41.264 2154
+-101.288 41.264 2136
+-101.162 41.264 2117
+-101.036 41.264 2154
+-100.91 41.264 2135
+-100.784 41.264 2116
+-100.658 41.264 2096
+-100.532 41.264 2076
+-100.406 41.264 2055
+-100.28 41.264 2042
+-100.154 41.264 2031
+-100.028 41.264 2112
+-99.902 41.264 2093
+-99.776 41.264 2074
+-99.65 41.264 2058
+-99.524 41.264 2142
+-99.398 41.264 2124
+-99.272 41.264 2117
+-99.146 41.264 2116
+-99.02 41.264 2121
+-98.894 41.264 2132
+-98.768 41.264 2152
+-98.642 41.264 2212
+-98.516 41.264 2266
+-98.39 41.264 2349
+-98.264 41.264 2400
+-98.138 41.264 2457
+-98.012 41.264 2517
+-97.886 41.264 2579
+-97.76 41.264 2640
+-97.634 41.264 2743
+-97.508 41.264 2798
+-97.382 41.264 2889
+-97.256 41.264 2957
+-97.13 41.264 2996
+-97.004 41.264 3024
+-96.878 41.264 3048
+-96.752 41.264 3067
+-96.626 41.264 3082
+-96.5 41.264 3141
+-96.374 41.264 3159
+-96.248 41.264 3091
+-96.122 41.264 2961
+-95.996 41.264 2875
+-95.87 41.264 3000
+-95.744 41.264 3276
+-95.618 41.264 3507
+-95.492 41.264 3673
+-95.366 41.264 3786
+-95.24 41.264 3890
+-95.114 41.264 3963
+-94.988 41.264 4060
+-94.862 41.264 4169
+-94.736 41.264 4317
+-94.61 41.264 4412
+-94.484 41.264 4490
+-94.358 41.264 4454
+-94.232 41.264 4601
+-94.106 41.264 4619
+-93.98 41.264 4761
+-93.854 41.264 4899
+-93.728 41.264 5024
+-93.602 41.264 5129
+-93.476 41.264 5181
+-93.35 41.264 5278
+-93.224 41.264 5428
+-93.098 41.264 5519
+-92.972 41.264 5613
+-92.846 41.264 5685
+-92.72 41.264 5773
+-92.594 41.264 5891
+-92.468 41.264 5994
+-92.342 41.264 6060
+-92.216 41.264 6173
+-92.09 41.264 6218
+-91.964 41.264 6289
+-91.838 41.264 6368
+-91.712 41.264 6434
+-91.586 41.264 6468
+-91.46 41.264 6527
+-91.334 41.264 6588
+-91.208 41.264 6615
+-91.082 41.264 6637
+-90.956 41.264 6671
+-90.83 41.264 6690
+-90.704 41.264 6720
+-90.578 41.264 6721
+-90.452 41.264 6740
+-90.326 41.264 6746
+-90.2 41.264 6700
+-90.074 41.264 6722
+-89.948 41.264 6687
+-89.822 41.264 6658
+-89.696 41.264 6619
+-89.57 41.264 6579
+-89.444 41.264 6517
+-89.318 41.264 6501
+-89.192 41.264 6421
+-89.066 41.264 6395
+-88.94 41.264 6289
+-88.814 41.264 6200
+-88.688 41.264 6116
+-88.562 41.264 6072
+-88.436 41.264 5954
+-88.31 41.264 5875
+-88.184 41.264 5740
+-88.058 41.264 5664
+-87.932 41.264 5560
+-87.806 41.264 5528
+-87.68 41.264 5508
+-87.554 41.264 5520
+-87.428 41.264 5484
+-87.302 41.264 5434
+-87.176 41.264 5375
+-87.05 41.264 5344
+-86.924 41.264 5281
+-86.798 41.264 5205
+-86.672 41.264 5126
+-86.546 41.264 5009
+-86.42 41.264 4938
+-86.294 41.264 4911
+-86.168 41.264 4797
+-86.042 41.264 4796
+-85.916 41.264 4708
+-85.79 41.264 4650
+-85.664 41.264 4549
+-85.538 41.264 4395
+-85.412 41.264 4320
+-85.286 41.264 4242
+-85.16 41.264 4060
+-85.034 41.264 4134
+-84.908 41.264 4098
+-84.782 41.264 4027
+-84.656 41.264 3918
+-84.53 41.264 3830
+-84.404 41.264 3764
+-84.278 41.264 3709
+-84.152 41.264 3693
+-84.026 41.264 3653
+-83.9 41.264 3619
+-83.774 41.264 3618
+-83.648 41.264 3591
+-83.522 41.264 3578
+-83.396 41.264 3601
+-83.27 41.264 3609
+-83.144 41.264 3570
+-83.018 41.264 3576
+-82.892 41.264 3582
+-82.766 41.264 3588
+-82.64 41.264 3595
+-82.514 41.264 3593
+-82.388 41.264 3599
+-82.262 41.264 3604
+-82.136 41.264 3592
+-82.01 41.264 3557
+-81.884 41.264 3494
+-81.758 41.264 3496
+-81.632 41.264 3498
+-81.506 41.264 3500
+-81.38 41.264 3501
+-81.254 41.264 3503
+-81.128 41.264 3504
+-81.002 41.264 3505
+-80.876 41.264 3507
+-80.75 41.264 3508
+-80.624 41.264 3487
+-80.498 41.264 3467
+-80.372 41.264 3467
+-80.246 41.264 3468
+-80.12 41.264 3468
+-79.994 41.264 3468
+-79.868 41.264 3484
+-79.742 41.264 3486
+-79.616 41.264 3477
+-79.49 41.264 3479
+-79.364 41.264 3481
+-79.238 41.264 3483
+-79.112 41.264 3484
+-78.986 41.264 3486
+-78.86 41.264 3488
+-78.734 41.264 3489
+-78.608 41.264 3491
+-78.482 41.264 3492
+-78.356 41.264 3494
+-78.23 41.264 3515
+-78.104 41.264 3517
+-77.978 41.264 3519
+-77.852 41.264 3521
+-77.726 41.264 3523
+-77.6 41.264 3525
+-77.474 41.264 3494
+-77.348 41.264 3496
+-77.222 41.264 3497
+-77.096 41.264 3499
+-76.97 41.264 3520
+-76.844 41.264 3522
+-76.718 41.264 3525
+-76.592 41.264 3487
+-76.466 41.264 3489
+-76.34 41.264 3490
+-76.214 41.264 3596
+-76.088 41.264 3598
+-75.962 41.264 3599
+-75.836 41.264 3600
+-75.71 41.264 3602
+-75.584 41.264 3545
+-75.458 41.264 3546
+-75.332 41.264 3547
+-75.206 41.264 3547
+-75.08 41.264 3548
+-74.954 41.264 3549
+-74.828 41.264 3549
+-74.702 41.264 3550
+-74.576 41.264 3551
+-74.45 41.264 3551
+-74.324 41.264 3529
+-74.198 41.264 3518
+-74.072 41.264 3519
+-73.946 41.264 3520
+-73.82 41.264 3520
+-73.694 41.264 3521
+-73.568 41.264 3505
+-73.442 41.264 3505
+-73.316 41.264 3505
+-73.19 41.264 3506
+-73.064 41.264 3506
+-72.938 41.264 3507
+-72.812 41.264 3507
+-72.686 41.264 3508
+-72.56 41.264 3508
+-72.434 41.264 3454
+-72.308 41.264 3454
+-72.182 41.264 3455
+-72.056 41.264 3455
+-71.93 41.264 3455
+-71.804 41.264 3456
+-71.678 41.264 3456
+-71.552 41.264 3456
+-71.426 41.264 3457
+-71.3 41.264 3457
+-71.174 41.264 3457
+-71.048 41.264 3457
+-70.922 41.264 3458
+-70.796 41.264 3382
+-70.67 41.264 3382
+-70.544 41.264 3382
+-70.418 41.264 3382
+-70.292 41.264 3382
+-70.166 41.264 3382
+-70.04 41.264 3381
+-69.914 41.264 3381
+-69.788 41.264 3381
+-69.662 41.264 3381
+-69.536 41.264 3381
+-69.41 41.264 3381
+-69.284 41.264 3381
+-69.158 41.264 3380
+-69.032 41.264 3380
+-68.906 41.264 3380
+-68.78 41.264 3380
+-68.654 41.264 3380
+-68.528 41.264 3380
+-68.402 41.264 3380
+-68.276 41.264 3379
+-68.15 41.264 3379
+-68.024 41.264 3379
+-67.898 41.264 3379
+-67.772 41.264 3379
+-67.646 41.264 3068
+-67.52 41.264 3068
+-67.394 41.264 3067
+-67.268 41.264 3067
+-67.142 41.264 3066
+-67.016 41.264 3066
+-66.89 41.264 3065
+-66.764 41.264 3065
+-66.638 41.264 3064
+-66.512 41.264 3064
+-66.386 41.264 3063
+-66.26 41.264 3063
+-66.134 41.264 3062
+-66.008 41.264 3062
+-65.882 41.264 3062
+-65.756 41.264 3061
+-65.63 41.264 3061
+-65.504 41.264 3060
+-65.378 41.264 2933
+-65.252 41.264 2932
+-65.126 41.264 2901
+-128 41.212 2482
+-127.874 41.212 2409
+-127.748 41.212 2343
+-127.622 41.212 2268
+-127.496 41.212 2201
+-127.37 41.212 2173
+-127.244 41.212 2181
+-127.118 41.212 2234
+-126.992 41.212 2321
+-126.866 41.212 2414
+-126.74 41.212 2489
+-126.614 41.212 2516
+-126.488 41.212 2529
+-126.362 41.212 2515
+-126.236 41.212 2469
+-126.11 41.212 2450
+-125.984 41.212 2492
+-125.858 41.212 2590
+-125.732 41.212 2695
+-125.606 41.212 2828
+-125.48 41.212 2931
+-125.354 41.212 3023
+-125.228 41.212 3097
+-125.102 41.212 3144
+-124.976 41.212 3183
+-124.85 41.212 3227
+-124.724 41.212 3249
+-124.598 41.212 3260
+-124.472 41.212 3280
+-124.346 41.212 3306
+-124.22 41.212 3331
+-124.094 41.212 3369
+-123.968 41.212 3377
+-123.842 41.212 3402
+-123.716 41.212 3386
+-123.59 41.212 3377
+-123.464 41.212 3366
+-123.338 41.212 3342
+-123.212 41.212 3302
+-123.086 41.212 3280
+-122.96 41.212 3268
+-122.834 41.212 3291
+-122.708 41.212 3308
+-122.582 41.212 3330
+-122.456 41.212 3350
+-122.33 41.212 3372
+-122.204 41.212 3397
+-122.078 41.212 3408
+-121.952 41.212 3438
+-121.826 41.212 3416
+-121.7 41.212 3395
+-121.574 41.212 3373
+-121.448 41.212 3355
+-121.322 41.212 3395
+-121.196 41.212 3435
+-121.07 41.212 3479
+-120.944 41.212 3529
+-120.818 41.212 3541
+-120.692 41.212 3559
+-120.566 41.212 3578
+-120.44 41.212 3632
+-120.314 41.212 3697
+-120.188 41.212 3755
+-120.062 41.212 3805
+-119.936 41.212 3831
+-119.81 41.212 3840
+-119.684 41.212 3853
+-119.558 41.212 3867
+-119.432 41.212 3905
+-119.306 41.212 3946
+-119.18 41.212 3967
+-119.054 41.212 3989
+-118.928 41.212 4010
+-118.802 41.212 4035
+-118.676 41.212 4059
+-118.55 41.212 4064
+-118.424 41.212 4085
+-118.298 41.212 4116
+-118.172 41.212 4109
+-118.046 41.212 4105
+-117.92 41.212 4089
+-117.794 41.212 4079
+-117.668 41.212 4071
+-117.542 41.212 4049
+-117.416 41.212 4014
+-117.29 41.212 3987
+-117.164 41.212 3951
+-117.038 41.212 3929
+-116.912 41.212 3905
+-116.786 41.212 3867
+-116.66 41.212 3825
+-116.534 41.212 3779
+-116.408 41.212 3737
+-116.282 41.212 3696
+-116.156 41.212 3651
+-116.03 41.212 3593
+-115.904 41.212 3525
+-115.778 41.212 3421
+-115.652 41.212 3343
+-115.526 41.212 3358
+-115.4 41.212 3311
+-115.274 41.212 3244
+-115.148 41.212 3171
+-115.022 41.212 3140
+-114.896 41.212 3136
+-114.77 41.212 3074
+-114.644 41.212 3041
+-114.518 41.212 3007
+-114.392 41.212 2918
+-114.266 41.212 2878
+-114.14 41.212 2834
+-114.014 41.212 2744
+-113.888 41.212 2660
+-113.762 41.212 2593
+-113.636 41.212 2494
+-113.51 41.212 2372
+-113.384 41.212 2300
+-113.258 41.212 2247
+-113.132 41.212 2192
+-113.006 41.212 2122
+-112.88 41.212 2063
+-112.754 41.212 2004
+-112.628 41.212 1959
+-112.502 41.212 1957
+-112.376 41.212 1997
+-112.25 41.212 2032
+-112.124 41.212 2049
+-111.998 41.212 2053
+-111.872 41.212 2075
+-111.746 41.212 2080
+-111.62 41.212 2094
+-111.494 41.212 2085
+-111.368 41.212 2094
+-111.242 41.212 2102
+-111.116 41.212 2108
+-110.99 41.212 2096
+-110.864 41.212 2102
+-110.738 41.212 2107
+-110.612 41.212 2112
+-110.486 41.212 2099
+-110.36 41.212 2103
+-110.234 41.212 2120
+-110.108 41.212 2127
+-109.982 41.212 2133
+-109.856 41.212 2139
+-109.73 41.212 2145
+-109.604 41.212 2130
+-109.478 41.212 2151
+-109.352 41.212 2158
+-109.226 41.212 2182
+-109.1 41.212 2188
+-108.974 41.212 2195
+-108.848 41.212 2236
+-108.722 41.212 2244
+-108.596 41.212 2262
+-108.47 41.212 2241
+-108.344 41.212 2249
+-108.218 41.212 2187
+-108.092 41.212 2193
+-107.966 41.212 2198
+-107.84 41.212 2204
+-107.714 41.212 2293
+-107.588 41.212 2300
+-107.462 41.212 2306
+-107.336 41.212 2313
+-107.21 41.212 2298
+-107.084 41.212 2306
+-106.958 41.212 2312
+-106.832 41.212 2280
+-106.706 41.212 2285
+-106.58 41.212 2291
+-106.454 41.212 2202
+-106.328 41.212 2184
+-106.202 41.212 2066
+-106.076 41.212 1919
+-105.95 41.212 1891
+-105.824 41.212 1885
+-105.698 41.212 1879
+-105.572 41.212 1871
+-105.446 41.212 1852
+-105.32 41.212 1837
+-105.194 41.212 1762
+-105.068 41.212 1734
+-104.942 41.212 1775
+-104.816 41.212 1725
+-104.69 41.212 1722
+-104.564 41.212 1736
+-104.438 41.212 1774
+-104.312 41.212 1820
+-104.186 41.212 1946
+-104.06 41.212 1960
+-103.934 41.212 2014
+-103.808 41.212 2010
+-103.682 41.212 2160
+-103.556 41.212 2154
+-103.43 41.212 2167
+-103.304 41.212 2174
+-103.178 41.212 2203
+-103.052 41.212 2157
+-102.926 41.212 2149
+-102.8 41.212 2183
+-102.674 41.212 2172
+-102.548 41.212 2161
+-102.422 41.212 2149
+-102.296 41.212 2194
+-102.17 41.212 2181
+-102.044 41.212 2167
+-101.918 41.212 2152
+-101.792 41.212 2136
+-101.666 41.212 2155
+-101.54 41.212 2177
+-101.414 41.212 2160
+-101.288 41.212 2142
+-101.162 41.212 2123
+-101.036 41.212 2104
+-100.91 41.212 2140
+-100.784 41.212 2120
+-100.658 41.212 2100
+-100.532 41.212 2080
+-100.406 41.212 2059
+-100.28 41.212 2038
+-100.154 41.212 2024
+-100.028 41.212 2013
+-99.902 41.212 2094
+-99.776 41.212 2076
+-99.65 41.212 2059
+-99.524 41.212 2045
+-99.398 41.212 2131
+-99.272 41.212 2155
+-99.146 41.212 2154
+-99.02 41.212 2160
+-98.894 41.212 2173
+-98.768 41.212 2194
+-98.642 41.212 2224
+-98.516 41.212 2262
+-98.39 41.212 2327
+-98.264 41.212 2420
+-98.138 41.212 2479
+-98.012 41.212 2540
+-97.886 41.212 2603
+-97.76 41.212 2665
+-97.634 41.212 2724
+-97.508 41.212 2824
+-97.382 41.212 2875
+-97.256 41.212 2963
+-97.13 41.212 3028
+-97.004 41.212 3066
+-96.878 41.212 3091
+-96.752 41.212 3105
+-96.626 41.212 3118
+-96.5 41.212 3175
+-96.374 41.212 3194
+-96.248 41.212 3122
+-96.122 41.212 3038
+-95.996 41.212 2983
+-95.87 41.212 3096
+-95.744 41.212 3322
+-95.618 41.212 3550
+-95.492 41.212 3718
+-95.366 41.212 3834
+-95.24 41.212 3955
+-95.114 41.212 4027
+-94.988 41.212 4110
+-94.862 41.212 4251
+-94.736 41.212 4344
+-94.61 41.212 4381
+-94.484 41.212 4470
+-94.358 41.212 4541
+-94.232 41.212 4655
+-94.106 41.212 4728
+-93.98 41.212 4760
+-93.854 41.212 4901
+-93.728 41.212 5034
+-93.602 41.212 5173
+-93.476 41.212 5295
+-93.35 41.212 5338
+-93.224 41.212 5482
+-93.098 41.212 5568
+-92.972 41.212 5657
+-92.846 41.212 5745
+-92.72 41.212 5829
+-92.594 41.212 5908
+-92.468 41.212 6001
+-92.342 41.212 6098
+-92.216 41.212 6181
+-92.09 41.212 6255
+-91.964 41.212 6322
+-91.838 41.212 6363
+-91.712 41.212 6509
+-91.586 41.212 6510
+-91.46 41.212 6576
+-91.334 41.212 6635
+-91.208 41.212 6649
+-91.082 41.212 6714
+-90.956 41.212 6750
+-90.83 41.212 6762
+-90.704 41.212 6771
+-90.578 41.212 6793
+-90.452 41.212 6806
+-90.326 41.212 6810
+-90.2 41.212 6783
+-90.074 41.212 6762
+-89.948 41.212 6779
+-89.822 41.212 6716
+-89.696 41.212 6693
+-89.57 41.212 6605
+-89.444 41.212 6592
+-89.318 41.212 6560
+-89.192 41.212 6468
+-89.066 41.212 6376
+-88.94 41.212 6368
+-88.814 41.212 6262
+-88.688 41.212 6150
+-88.562 41.212 6116
+-88.436 41.212 6038
+-88.31 41.212 5947
+-88.184 41.212 5817
+-88.058 41.212 5707
+-87.932 41.212 5624
+-87.806 41.212 5571
+-87.68 41.212 5496
+-87.554 41.212 5643
+-87.428 41.212 5577
+-87.302 41.212 5501
+-87.176 41.212 5439
+-87.05 41.212 5399
+-86.924 41.212 5326
+-86.798 41.212 5231
+-86.672 41.212 5173
+-86.546 41.212 5065
+-86.42 41.212 5056
+-86.294 41.212 4954
+-86.168 41.212 4881
+-86.042 41.212 4849
+-85.916 41.212 4789
+-85.79 41.212 4711
+-85.664 41.212 4622
+-85.538 41.212 4483
+-85.412 41.212 4379
+-85.286 41.212 4300
+-85.16 41.212 4186
+-85.034 41.212 4172
+-84.908 41.212 4105
+-84.782 41.212 4030
+-84.656 41.212 3920
+-84.53 41.212 3794
+-84.404 41.212 3729
+-84.278 41.212 3684
+-84.152 41.212 3643
+-84.026 41.212 3625
+-83.9 41.212 3609
+-83.774 41.212 3590
+-83.648 41.212 3587
+-83.522 41.212 3592
+-83.396 41.212 3601
+-83.27 41.212 3566
+-83.144 41.212 3572
+-83.018 41.212 3579
+-82.892 41.212 3586
+-82.766 41.212 3593
+-82.64 41.212 3591
+-82.514 41.212 3597
+-82.388 41.212 3603
+-82.262 41.212 3591
+-82.136 41.212 3556
+-82.01 41.212 3552
+-81.884 41.212 3556
+-81.758 41.212 3502
+-81.632 41.212 3504
+-81.506 41.212 3505
+-81.38 41.212 3506
+-81.254 41.212 3508
+-81.128 41.212 3509
+-81.002 41.212 3510
+-80.876 41.212 3511
+-80.75 41.212 3490
+-80.624 41.212 3470
+-80.498 41.212 3470
+-80.372 41.212 3470
+-80.246 41.212 3471
+-80.12 41.212 3471
+-79.994 41.212 3486
+-79.868 41.212 3488
+-79.742 41.212 3479
+-79.616 41.212 3481
+-79.49 41.212 3483
+-79.364 41.212 3484
+-79.238 41.212 3486
+-79.112 41.212 3488
+-78.986 41.212 3489
+-78.86 41.212 3491
+-78.734 41.212 3492
+-78.608 41.212 3494
+-78.482 41.212 3495
+-78.356 41.212 3516
+-78.23 41.212 3518
+-78.104 41.212 3520
+-77.978 41.212 3523
+-77.852 41.212 3525
+-77.726 41.212 3527
+-77.6 41.212 3496
+-77.474 41.212 3497
+-77.348 41.212 3499
+-77.222 41.212 3500
+-77.096 41.212 3521
+-76.97 41.212 3524
+-76.844 41.212 3526
+-76.718 41.212 3488
+-76.592 41.212 3490
+-76.466 41.212 3491
+-76.34 41.212 3596
+-76.214 41.212 3597
+-76.088 41.212 3598
+-75.962 41.212 3600
+-75.836 41.212 3601
+-75.71 41.212 3545
+-75.584 41.212 3546
+-75.458 41.212 3546
+-75.332 41.212 3547
+-75.206 41.212 3548
+-75.08 41.212 3548
+-74.954 41.212 3549
+-74.828 41.212 3550
+-74.702 41.212 3550
+-74.576 41.212 3551
+-74.45 41.212 3529
+-74.324 41.212 3518
+-74.198 41.212 3519
+-74.072 41.212 3519
+-73.946 41.212 3520
+-73.82 41.212 3521
+-73.694 41.212 3521
+-73.568 41.212 3505
+-73.442 41.212 3505
+-73.316 41.212 3506
+-73.19 41.212 3506
+-73.064 41.212 3507
+-72.938 41.212 3507
+-72.812 41.212 3507
+-72.686 41.212 3508
+-72.56 41.212 3454
+-72.434 41.212 3454
+-72.308 41.212 3454
+-72.182 41.212 3455
+-72.056 41.212 3455
+-71.93 41.212 3455
+-71.804 41.212 3456
+-71.678 41.212 3456
+-71.552 41.212 3456
+-71.426 41.212 3457
+-71.3 41.212 3457
+-71.174 41.212 3457
+-71.048 41.212 3458
+-70.922 41.212 3382
+-70.796 41.212 3382
+-70.67 41.212 3382
+-70.544 41.212 3382
+-70.418 41.212 3382
+-70.292 41.212 3382
+-70.166 41.212 3381
+-70.04 41.212 3381
+-69.914 41.212 3381
+-69.788 41.212 3381
+-69.662 41.212 3381
+-69.536 41.212 3381
+-69.41 41.212 3381
+-69.284 41.212 3380
+-69.158 41.212 3380
+-69.032 41.212 3380
+-68.906 41.212 3380
+-68.78 41.212 3380
+-68.654 41.212 3380
+-68.528 41.212 3380
+-68.402 41.212 3379
+-68.276 41.212 3379
+-68.15 41.212 3379
+-68.024 41.212 3379
+-67.898 41.212 3379
+-67.772 41.212 3068
+-67.646 41.212 3068
+-67.52 41.212 3067
+-67.394 41.212 3067
+-67.268 41.212 3066
+-67.142 41.212 3066
+-67.016 41.212 3065
+-66.89 41.212 3065
+-66.764 41.212 3064
+-66.638 41.212 3064
+-66.512 41.212 3063
+-66.386 41.212 3063
+-66.26 41.212 3062
+-66.134 41.212 3062
+-66.008 41.212 3062
+-65.882 41.212 3061
+-65.756 41.212 3061
+-65.63 41.212 3060
+-65.504 41.212 2933
+-65.378 41.212 2932
+-65.252 41.212 2901
+-65.126 41.212 2854
+-128 41.16 2409
+-127.874 41.16 2328
+-127.748 41.16 2226
+-127.622 41.16 2117
+-127.496 41.16 2028
+-127.37 41.16 1966
+-127.244 41.16 1960
+-127.118 41.16 2024
+-126.992 41.16 2148
+-126.866 41.16 2292
+-126.74 41.16 2395
+-126.614 41.16 2479
+-126.488 41.16 2511
+-126.362 41.16 2524
+-126.236 41.16 2515
+-126.11 41.16 2515
+-125.984 41.16 2561
+-125.858 41.16 2622
+-125.732 41.16 2710
+-125.606 41.16 2805
+-125.48 41.16 2899
+-125.354 41.16 3011
+-125.228 41.16 3072
+-125.102 41.16 3123
+-124.976 41.16 3145
+-124.85 41.16 3234
+-124.724 41.16 3251
+-124.598 41.16 3265
+-124.472 41.16 3281
+-124.346 41.16 3298
+-124.22 41.16 3313
+-124.094 41.16 3325
+-123.968 41.16 3335
+-123.842 41.16 3340
+-123.716 41.16 3334
+-123.59 41.16 3325
+-123.464 41.16 3316
+-123.338 41.16 3298
+-123.212 41.16 3275
+-123.086 41.16 3244
+-122.96 41.16 3227
+-122.834 41.16 3248
+-122.708 41.16 3275
+-122.582 41.16 3302
+-122.456 41.16 3315
+-122.33 41.16 3335
+-122.204 41.16 3359
+-122.078 41.16 3371
+-121.952 41.16 3387
+-121.826 41.16 3367
+-121.7 41.16 3338
+-121.574 41.16 3294
+-121.448 41.16 3242
+-121.322 41.16 3249
+-121.196 41.16 3289
+-121.07 41.16 3379
+-120.944 41.16 3448
+-120.818 41.16 3484
+-120.692 41.16 3498
+-120.566 41.16 3491
+-120.44 41.16 3542
+-120.314 41.16 3624
+-120.188 41.16 3690
+-120.062 41.16 3747
+-119.936 41.16 3784
+-119.81 41.16 3773
+-119.684 41.16 3805
+-119.558 41.16 3826
+-119.432 41.16 3868
+-119.306 41.16 3882
+-119.18 41.16 3907
+-119.054 41.16 3914
+-118.928 41.16 3939
+-118.802 41.16 3949
+-118.676 41.16 3965
+-118.55 41.16 3988
+-118.424 41.16 4017
+-118.298 41.16 4043
+-118.172 41.16 4065
+-118.046 41.16 4071
+-117.92 41.16 4067
+-117.794 41.16 4063
+-117.668 41.16 4026
+-117.542 41.16 3999
+-117.416 41.16 3972
+-117.29 41.16 3944
+-117.164 41.16 3923
+-117.038 41.16 3893
+-116.912 41.16 3861
+-116.786 41.16 3799
+-116.66 41.16 3743
+-116.534 41.16 3720
+-116.408 41.16 3702
+-116.282 41.16 3663
+-116.156 41.16 3620
+-116.03 41.16 3559
+-115.904 41.16 3496
+-115.778 41.16 3414
+-115.652 41.16 3361
+-115.526 41.16 3334
+-115.4 41.16 3242
+-115.274 41.16 3117
+-115.148 41.16 3043
+-115.022 41.16 3050
+-114.896 41.16 3038
+-114.77 41.16 3011
+-114.644 41.16 2968
+-114.518 41.16 2927
+-114.392 41.16 2848
+-114.266 41.16 2778
+-114.14 41.16 2716
+-114.014 41.16 2667
+-113.888 41.16 2604
+-113.762 41.16 2480
+-113.636 41.16 2378
+-113.51 41.16 2305
+-113.384 41.16 2242
+-113.258 41.16 2192
+-113.132 41.16 2168
+-113.006 41.16 2132
+-112.88 41.16 2058
+-112.754 41.16 2011
+-112.628 41.16 2002
+-112.502 41.16 2008
+-112.376 41.16 2023
+-112.25 41.16 2035
+-112.124 41.16 2078
+-111.998 41.16 2056
+-111.872 41.16 2071
+-111.746 41.16 2084
+-111.62 41.16 2067
+-111.494 41.16 2055
+-111.368 41.16 2076
+-111.242 41.16 2082
+-111.116 41.16 2088
+-110.99 41.16 2092
+-110.864 41.16 2080
+-110.738 41.16 2086
+-110.612 41.16 2091
+-110.486 41.16 2097
+-110.36 41.16 2083
+-110.234 41.16 2088
+-110.108 41.16 2106
+-109.982 41.16 2113
+-109.856 41.16 2120
+-109.73 41.16 2126
+-109.604 41.16 2124
+-109.478 41.16 2131
+-109.352 41.16 2142
+-109.226 41.16 2147
+-109.1 41.16 2171
+-108.974 41.16 2178
+-108.848 41.16 2185
+-108.722 41.16 2227
+-108.596 41.16 2235
+-108.47 41.16 2253
+-108.344 41.16 2165
+-108.218 41.16 2171
+-108.092 41.16 2178
+-107.966 41.16 2184
+-107.84 41.16 2190
+-107.714 41.16 2196
+-107.588 41.16 2274
+-107.462 41.16 2293
+-107.336 41.16 2280
+-107.21 41.16 2289
+-107.084 41.16 2296
+-106.958 41.16 2264
+-106.832 41.16 2270
+-106.706 41.16 2276
+-106.58 41.16 2189
+-106.454 41.16 2172
+-106.328 41.16 2177
+-106.202 41.16 2035
+-106.076 41.16 1893
+-105.95 41.16 1888
+-105.824 41.16 1882
+-105.698 41.16 1876
+-105.572 41.16 1868
+-105.446 41.16 1860
+-105.32 41.16 1841
+-105.194 41.16 1761
+-105.068 41.16 1734
+-104.942 41.16 1774
+-104.816 41.16 1727
+-104.69 41.16 1723
+-104.564 41.16 1739
+-104.438 41.16 1778
+-104.312 41.16 1824
+-104.186 41.16 1951
+-104.06 41.16 1964
+-103.934 41.16 2018
+-103.808 41.16 2014
+-103.682 41.16 2108
+-103.556 41.16 2158
+-103.43 41.16 2172
+-103.304 41.16 2164
+-103.178 41.16 2171
+-103.052 41.16 2200
+-102.926 41.16 2154
+-102.8 41.16 2189
+-102.674 41.16 2178
+-102.548 41.16 2167
+-102.422 41.16 2155
+-102.296 41.16 2143
+-102.17 41.16 2187
+-102.044 41.16 2173
+-101.918 41.16 2159
+-101.792 41.16 2143
+-101.666 41.16 2127
+-101.54 41.16 2145
+-101.414 41.16 2166
+-101.288 41.16 2148
+-101.162 41.16 2129
+-101.036 41.16 2109
+-100.91 41.16 2089
+-100.784 41.16 2124
+-100.658 41.16 2103
+-100.532 41.16 2082
+-100.406 41.16 2061
+-100.28 41.16 2039
+-100.154 41.16 2017
+-100.028 41.16 2047
+-99.902 41.16 2089
+-99.776 41.16 2069
+-99.65 41.16 2051
+-99.524 41.16 2036
+-99.398 41.16 2117
+-99.272 41.16 2109
+-99.146 41.16 2138
+-99.02 41.16 2143
+-98.894 41.16 2156
+-98.768 41.16 2178
+-98.642 41.16 2210
+-98.516 41.16 2251
+-98.39 41.16 2301
+-98.264 41.16 2377
+-98.138 41.16 2481
+-98.012 41.16 2547
+-97.886 41.16 2613
+-97.76 41.16 2678
+-97.634 41.16 2741
+-97.508 41.16 2798
+-97.382 41.16 2896
+-97.256 41.16 2943
+-97.13 41.16 3029
+-97.004 41.16 3091
+-96.878 41.16 3121
+-96.752 41.16 3140
+-96.626 41.16 3160
+-96.5 41.16 3210
+-96.374 41.16 3251
+-96.248 41.16 3208
+-96.122 41.16 3180
+-95.996 41.16 3188
+-95.87 41.16 3278
+-95.744 41.16 3448
+-95.618 41.16 3632
+-95.492 41.16 3772
+-95.366 41.16 3868
+-95.24 41.16 3965
+-95.114 41.16 4030
+-94.988 41.16 4109
+-94.862 41.16 4263
+-94.736 41.16 4349
+-94.61 41.16 4291
+-94.484 41.16 4436
+-94.358 41.16 4581
+-94.232 41.16 4723
+-94.106 41.16 4792
+-93.98 41.16 4857
+-93.854 41.16 4971
+-93.728 41.16 5038
+-93.602 41.16 5162
+-93.476 41.16 5303
+-93.35 41.16 5413
+-93.224 41.16 5549
+-93.098 41.16 5609
+-92.972 41.16 5702
+-92.846 41.16 5820
+-92.72 41.16 5834
+-92.594 41.16 5932
+-92.468 41.16 6037
+-92.342 41.16 6163
+-92.216 41.16 6198
+-92.09 41.16 6290
+-91.964 41.16 6376
+-91.838 41.16 6450
+-91.712 41.16 6516
+-91.586 41.16 6573
+-91.46 41.16 6668
+-91.334 41.16 6711
+-91.208 41.16 6742
+-91.082 41.16 6780
+-90.956 41.16 6814
+-90.83 41.16 6834
+-90.704 41.16 6847
+-90.578 41.16 6866
+-90.452 41.16 6858
+-90.326 41.16 6845
+-90.2 41.16 6826
+-90.074 41.16 6818
+-89.948 41.16 6781
+-89.822 41.16 6773
+-89.696 41.16 6732
+-89.57 41.16 6688
+-89.444 41.16 6637
+-89.318 41.16 6605
+-89.192 41.16 6527
+-89.066 41.16 6446
+-88.94 41.16 6406
+-88.814 41.16 6286
+-88.688 41.16 6204
+-88.562 41.16 6154
+-88.436 41.16 6036
+-88.31 41.16 6010
+-88.184 41.16 5902
+-88.058 41.16 5793
+-87.932 41.16 5695
+-87.806 41.16 5641
+-87.68 41.16 5606
+-87.554 41.16 5608
+-87.428 41.16 5578
+-87.302 41.16 5542
+-87.176 41.16 5490
+-87.05 41.16 5413
+-86.924 41.16 5375
+-86.798 41.16 5290
+-86.672 41.16 5200
+-86.546 41.16 5110
+-86.42 41.16 5053
+-86.294 41.16 4989
+-86.168 41.16 4929
+-86.042 41.16 4872
+-85.916 41.16 4813
+-85.79 41.16 4730
+-85.664 41.16 4664
+-85.538 41.16 4572
+-85.412 41.16 4490
+-85.286 41.16 4405
+-85.16 41.16 4326
+-85.034 41.16 4224
+-84.908 41.16 4112
+-84.782 41.16 3992
+-84.656 41.16 3874
+-84.53 41.16 3762
+-84.404 41.16 3680
+-84.278 41.16 3607
+-84.152 41.16 3592
+-84.026 41.16 3584
+-83.9 41.16 3568
+-83.774 41.16 3565
+-83.648 41.16 3570
+-83.522 41.16 3581
+-83.396 41.16 3554
+-83.27 41.16 3563
+-83.144 41.16 3572
+-83.018 41.16 3581
+-82.892 41.16 3589
+-82.766 41.16 3588
+-82.64 41.16 3595
+-82.514 41.16 3601
+-82.388 41.16 3590
+-82.262 41.16 3556
+-82.136 41.16 3552
+-82.01 41.16 3556
+-81.884 41.16 3559
+-81.758 41.16 3563
+-81.632 41.16 3566
+-81.506 41.16 3569
+-81.38 41.16 3571
+-81.254 41.16 3574
+-81.128 41.16 3576
+-81.002 41.16 3579
+-80.876 41.16 3494
+-80.75 41.16 3473
+-80.624 41.16 3473
+-80.498 41.16 3473
+-80.372 41.16 3473
+-80.246 41.16 3474
+-80.12 41.16 3488
+-79.994 41.16 3490
+-79.868 41.16 3481
+-79.742 41.16 3483
+-79.616 41.16 3485
+-79.49 41.16 3486
+-79.364 41.16 3488
+-79.238 41.16 3490
+-79.112 41.16 3491
+-78.986 41.16 3493
+-78.86 41.16 3494
+-78.734 41.16 3496
+-78.608 41.16 3497
+-78.482 41.16 3517
+-78.356 41.16 3520
+-78.23 41.16 3522
+-78.104 41.16 3524
+-77.978 41.16 3526
+-77.852 41.16 3528
+-77.726 41.16 3497
+-77.6 41.16 3499
+-77.474 41.16 3500
+-77.348 41.16 3501
+-77.222 41.16 3523
+-77.096 41.16 3525
+-76.97 41.16 3527
+-76.844 41.16 3490
+-76.718 41.16 3491
+-76.592 41.16 3493
+-76.466 41.16 3595
+-76.34 41.16 3596
+-76.214 41.16 3598
+-76.088 41.16 3599
+-75.962 41.16 3601
+-75.836 41.16 3544
+-75.71 41.16 3545
+-75.584 41.16 3546
+-75.458 41.16 3547
+-75.332 41.16 3547
+-75.206 41.16 3548
+-75.08 41.16 3549
+-74.954 41.16 3549
+-74.828 41.16 3550
+-74.702 41.16 3551
+-74.576 41.16 3528
+-74.45 41.16 3518
+-74.324 41.16 3519
+-74.198 41.16 3519
+-74.072 41.16 3520
+-73.946 41.16 3520
+-73.82 41.16 3504
+-73.694 41.16 3505
+-73.568 41.16 3505
+-73.442 41.16 3506
+-73.316 41.16 3506
+-73.19 41.16 3507
+-73.064 41.16 3507
+-72.938 41.16 3507
+-72.812 41.16 3508
+-72.686 41.16 3454
+-72.56 41.16 3454
+-72.434 41.16 3454
+-72.308 41.16 3455
+-72.182 41.16 3455
+-72.056 41.16 3455
+-71.93 41.16 3456
+-71.804 41.16 3456
+-71.678 41.16 3456
+-71.552 41.16 3457
+-71.426 41.16 3457
+-71.3 41.16 3457
+-71.174 41.16 3457
+-71.048 41.16 3382
+-70.922 41.16 3382
+-70.796 41.16 3382
+-70.67 41.16 3382
+-70.544 41.16 3382
+-70.418 41.16 3382
+-70.292 41.16 3381
+-70.166 41.16 3381
+-70.04 41.16 3381
+-69.914 41.16 3381
+-69.788 41.16 3381
+-69.662 41.16 3381
+-69.536 41.16 3381
+-69.41 41.16 3380
+-69.284 41.16 3380
+-69.158 41.16 3380
+-69.032 41.16 3380
+-68.906 41.16 3380
+-68.78 41.16 3380
+-68.654 41.16 3380
+-68.528 41.16 3379
+-68.402 41.16 3379
+-68.276 41.16 3379
+-68.15 41.16 3379
+-68.024 41.16 3379
+-67.898 41.16 3068
+-67.772 41.16 3068
+-67.646 41.16 3067
+-67.52 41.16 3067
+-67.394 41.16 3066
+-67.268 41.16 3066
+-67.142 41.16 3065
+-67.016 41.16 3065
+-66.89 41.16 3064
+-66.764 41.16 3064
+-66.638 41.16 3063
+-66.512 41.16 3063
+-66.386 41.16 3062
+-66.26 41.16 3062
+-66.134 41.16 3061
+-66.008 41.16 3061
+-65.882 41.16 3061
+-65.756 41.16 3060
+-65.63 41.16 2933
+-65.504 41.16 2932
+-65.378 41.16 2901
+-65.252 41.16 2854
+-65.126 41.16 2854
+-128 41.108 2357
+-127.874 41.108 2245
+-127.748 41.108 2115
+-127.622 41.108 1987
+-127.496 41.108 1858
+-127.37 41.108 1759
+-127.244 41.108 1729
+-127.118 41.108 1799
+-126.992 41.108 1947
+-126.866 41.108 2136
+-126.74 41.108 2308
+-126.614 41.108 2419
+-126.488 41.108 2479
+-126.362 41.108 2520
+-126.236 41.108 2540
+-126.11 41.108 2573
+-125.984 41.108 2610
+-125.858 41.108 2664
+-125.732 41.108 2737
+-125.606 41.108 2819
+-125.48 41.108 2897
+-125.354 41.108 2964
+-125.228 41.108 3017
+-125.102 41.108 3048
+-124.976 41.108 3103
+-124.85 41.108 3135
+-124.724 41.108 3206
+-124.598 41.108 3221
+-124.472 41.108 3233
+-124.346 41.108 3244
+-124.22 41.108 3252
+-124.094 41.108 3277
+-123.968 41.108 3301
+-123.842 41.108 3302
+-123.716 41.108 3295
+-123.59 41.108 3286
+-123.464 41.108 3284
+-123.338 41.108 3271
+-123.212 41.108 3240
+-123.086 41.108 3233
+-122.96 41.108 3231
+-122.834 41.108 3233
+-122.708 41.108 3240
+-122.582 41.108 3238
+-122.456 41.108 3248
+-122.33 41.108 3264
+-122.204 41.108 3286
+-122.078 41.108 3326
+-121.952 41.108 3316
+-121.826 41.108 3329
+-121.7 41.108 3289
+-121.574 41.108 3214
+-121.448 41.108 3129
+-121.322 41.108 3090
+-121.196 41.108 3163
+-121.07 41.108 3302
+-120.944 41.108 3402
+-120.818 41.108 3452
+-120.692 41.108 3460
+-120.566 41.108 3443
+-120.44 41.108 3488
+-120.314 41.108 3548
+-120.188 41.108 3605
+-120.062 41.108 3664
+-119.936 41.108 3745
+-119.81 41.108 3771
+-119.684 41.108 3794
+-119.558 41.108 3800
+-119.432 41.108 3806
+-119.306 41.108 3843
+-119.18 41.108 3882
+-119.054 41.108 3871
+-118.928 41.108 3909
+-118.802 41.108 3911
+-118.676 41.108 3928
+-118.55 41.108 3925
+-118.424 41.108 3944
+-118.298 41.108 3972
+-118.172 41.108 4007
+-118.046 41.108 4020
+-117.92 41.108 4020
+-117.794 41.108 4008
+-117.668 41.108 3968
+-117.542 41.108 3949
+-117.416 41.108 3919
+-117.29 41.108 3885
+-117.164 41.108 3855
+-117.038 41.108 3839
+-116.912 41.108 3776
+-116.786 41.108 3685
+-116.66 41.108 3635
+-116.534 41.108 3653
+-116.408 41.108 3649
+-116.282 41.108 3639
+-116.156 41.108 3602
+-116.03 41.108 3549
+-115.904 41.108 3477
+-115.778 41.108 3397
+-115.652 41.108 3342
+-115.526 41.108 3285
+-115.4 41.108 3185
+-115.274 41.108 3043
+-115.148 41.108 2974
+-115.022 41.108 2997
+-114.896 41.108 2990
+-114.77 41.108 2942
+-114.644 41.108 2877
+-114.518 41.108 2764
+-114.392 41.108 2713
+-114.266 41.108 2690
+-114.14 41.108 2661
+-114.014 41.108 2590
+-113.888 41.108 2520
+-113.762 41.108 2383
+-113.636 41.108 2290
+-113.51 41.108 2207
+-113.384 41.108 2148
+-113.258 41.108 2117
+-113.132 41.108 2105
+-113.006 41.108 2053
+-112.88 41.108 2038
+-112.754 41.108 2034
+-112.628 41.108 2031
+-112.502 41.108 2036
+-112.376 41.108 2045
+-112.25 41.108 2056
+-112.124 41.108 2060
+-111.998 41.108 2072
+-111.872 41.108 2086
+-111.746 41.108 2072
+-111.62 41.108 2052
+-111.494 41.108 2059
+-111.368 41.108 2043
+-111.242 41.108 2061
+-111.116 41.108 2066
+-110.99 41.108 2070
+-110.864 41.108 2075
+-110.738 41.108 2063
+-110.612 41.108 2069
+-110.486 41.108 2075
+-110.36 41.108 2081
+-110.234 41.108 2068
+-110.108 41.108 2073
+-109.982 41.108 2092
+-109.856 41.108 2099
+-109.73 41.108 2099
+-109.604 41.108 2107
+-109.478 41.108 2115
+-109.352 41.108 2122
+-109.226 41.108 2132
+-109.1 41.108 2137
+-108.974 41.108 2160
+-108.848 41.108 2168
+-108.722 41.108 2124
+-108.596 41.108 2153
+-108.47 41.108 2168
+-108.344 41.108 2176
+-108.218 41.108 2156
+-108.092 41.108 2163
+-107.966 41.108 2170
+-107.84 41.108 2177
+-107.714 41.108 2254
+-107.588 41.108 2262
+-107.462 41.108 2262
+-107.336 41.108 2272
+-107.21 41.108 2280
+-107.084 41.108 2236
+-106.958 41.108 2242
+-106.832 41.108 2248
+-106.706 41.108 2175
+-106.58 41.108 2161
+-106.454 41.108 2165
+-106.328 41.108 2146
+-106.202 41.108 2019
+-106.076 41.108 1889
+-105.95 41.108 1885
+-105.824 41.108 1879
+-105.698 41.108 1873
+-105.572 41.108 1866
+-105.446 41.108 1858
+-105.32 41.108 1824
+-105.194 41.108 1777
+-105.068 41.108 1750
+-104.942 41.108 1758
+-104.816 41.108 1727
+-104.69 41.108 1724
+-104.564 41.108 1744
+-104.438 41.108 1781
+-104.312 41.108 1828
+-104.186 41.108 1955
+-104.06 41.108 1968
+-103.934 41.108 2022
+-103.808 41.108 2019
+-103.682 41.108 2113
+-103.556 41.108 2105
+-103.43 41.108 2156
+-103.304 41.108 2170
+-103.178 41.108 2162
+-103.052 41.108 2169
+-102.926 41.108 2196
+-102.8 41.108 2195
+-102.674 41.108 2184
+-102.548 41.108 2173
+-102.422 41.108 2161
+-102.296 41.108 2149
+-102.17 41.108 2137
+-102.044 41.108 2180
+-101.918 41.108 2166
+-101.792 41.108 2150
+-101.666 41.108 2134
+-101.54 41.108 2117
+-101.414 41.108 2134
+-101.288 41.108 2153
+-101.162 41.108 2134
+-101.036 41.108 2115
+-100.91 41.108 2094
+-100.784 41.108 2072
+-100.658 41.108 2105
+-100.532 41.108 2129
+-100.406 41.108 2105
+-100.28 41.108 2080
+-100.154 41.108 2055
+-100.028 41.108 2029
+-99.902 41.108 2016
+-99.776 41.108 2056
+-99.65 41.108 2034
+-99.524 41.108 2046
+-99.398 41.108 2030
+-99.272 41.108 2077
+-99.146 41.108 2072
+-99.02 41.108 2104
+-98.894 41.108 2115
+-98.768 41.108 2137
+-98.642 41.108 2171
+-98.516 41.108 2215
+-98.39 41.108 2270
+-98.264 41.108 2332
+-98.138 41.108 2421
+-98.012 41.108 2536
+-97.886 41.108 2609
+-97.76 41.108 2680
+-97.634 41.108 2747
+-97.508 41.108 2810
+-97.382 41.108 2866
+-97.256 41.108 2961
+-97.13 41.108 3005
+-97.004 41.108 3087
+-96.878 41.108 3144
+-96.752 41.108 3169
+-96.626 41.108 3176
+-96.5 41.108 3247
+-96.374 41.108 3287
+-96.248 41.108 3280
+-96.122 41.108 3300
+-95.996 41.108 3345
+-95.87 41.108 3426
+-95.744 41.108 3541
+-95.618 41.108 3680
+-95.492 41.108 3795
+-95.366 41.108 3912
+-95.24 41.108 3923
+-95.114 41.108 3947
+-94.988 41.108 4067
+-94.862 41.108 4250
+-94.736 41.108 4373
+-94.61 41.108 4398
+-94.484 41.108 4495
+-94.358 41.108 4628
+-94.232 41.108 4760
+-94.106 41.108 4800
+-93.98 41.108 4872
+-93.854 41.108 4995
+-93.728 41.108 5087
+-93.602 41.108 5168
+-93.476 41.108 5356
+-93.35 41.108 5482
+-93.224 41.108 5582
+-93.098 41.108 5662
+-92.972 41.108 5725
+-92.846 41.108 5786
+-92.72 41.108 5876
+-92.594 41.108 5981
+-92.468 41.108 6113
+-92.342 41.108 6215
+-92.216 41.108 6286
+-92.09 41.108 6356
+-91.964 41.108 6443
+-91.838 41.108 6465
+-91.712 41.108 6539
+-91.586 41.108 6630
+-91.46 41.108 6723
+-91.334 41.108 6760
+-91.208 41.108 6797
+-91.082 41.108 6804
+-90.956 41.108 6846
+-90.83 41.108 6878
+-90.704 41.108 6922
+-90.578 41.108 6931
+-90.452 41.108 6903
+-90.326 41.108 6909
+-90.2 41.108 6895
+-90.074 41.108 6865
+-89.948 41.108 6837
+-89.822 41.108 6787
+-89.696 41.108 6788
+-89.57 41.108 6722
+-89.444 41.108 6706
+-89.318 41.108 6624
+-89.192 41.108 6590
+-89.066 41.108 6526
+-88.94 41.108 6445
+-88.814 41.108 6367
+-88.688 41.108 6281
+-88.562 41.108 6195
+-88.436 41.108 6158
+-88.31 41.108 6058
+-88.184 41.108 5897
+-88.058 41.108 5848
+-87.932 41.108 5754
+-87.806 41.108 5671
+-87.68 41.108 5545
+-87.554 41.108 5675
+-87.428 41.108 5640
+-87.302 41.108 5565
+-87.176 41.108 5535
+-87.05 41.108 5492
+-86.924 41.108 5416
+-86.798 41.108 5337
+-86.672 41.108 5243
+-86.546 41.108 5142
+-86.42 41.108 5089
+-86.294 41.108 5030
+-86.168 41.108 4936
+-86.042 41.108 4882
+-85.916 41.108 4809
+-85.79 41.108 4716
+-85.664 41.108 4671
+-85.538 41.108 4578
+-85.412 41.108 4542
+-85.286 41.108 4477
+-85.16 41.108 4362
+-85.034 41.108 4241
+-84.908 41.108 4148
+-84.782 41.108 3994
+-84.656 41.108 3851
+-84.53 41.108 3690
+-84.404 41.108 3588
+-84.278 41.108 3528
+-84.152 41.108 3543
+-84.026 41.108 3536
+-83.9 41.108 3528
+-83.774 41.108 3527
+-83.648 41.108 3542
+-83.522 41.108 3528
+-83.396 41.108 3545
+-83.27 41.108 3560
+-83.144 41.108 3572
+-83.018 41.108 3582
+-82.892 41.108 3584
+-82.766 41.108 3592
+-82.64 41.108 3599
+-82.514 41.108 3588
+-82.388 41.108 3556
+-82.262 41.108 3551
+-82.136 41.108 3555
+-82.01 41.108 3559
+-81.884 41.108 3562
+-81.758 41.108 3566
+-81.632 41.108 3569
+-81.506 41.108 3571
+-81.38 41.108 3574
+-81.254 41.108 3576
+-81.128 41.108 3579
+-81.002 41.108 3497
+-80.876 41.108 3476
+-80.75 41.108 3476
+-80.624 41.108 3522
+-80.498 41.108 3523
+-80.372 41.108 3524
+-80.246 41.108 3490
+-80.12 41.108 3492
+-79.994 41.108 3483
+-79.868 41.108 3485
+-79.742 41.108 3487
+-79.616 41.108 3488
+-79.49 41.108 3490
+-79.364 41.108 3492
+-79.238 41.108 3493
+-79.112 41.108 3495
+-78.986 41.108 3496
+-78.86 41.108 3497
+-78.734 41.108 3499
+-78.608 41.108 3519
+-78.482 41.108 3521
+-78.356 41.108 3523
+-78.23 41.108 3526
+-78.104 41.108 3528
+-77.978 41.108 3530
+-77.852 41.108 3499
+-77.726 41.108 3500
+-77.6 41.108 3502
+-77.474 41.108 3503
+-77.348 41.108 3524
+-77.222 41.108 3526
+-77.096 41.108 3528
+-76.97 41.108 3491
+-76.844 41.108 3493
+-76.718 41.108 3494
+-76.592 41.108 3594
+-76.466 41.108 3596
+-76.34 41.108 3597
+-76.214 41.108 3599
+-76.088 41.108 3600
+-75.962 41.108 3544
+-75.836 41.108 3545
+-75.71 41.108 3546
+-75.584 41.108 3547
+-75.458 41.108 3547
+-75.332 41.108 3548
+-75.206 41.108 3549
+-75.08 41.108 3549
+-74.954 41.108 3550
+-74.828 41.108 3551
+-74.702 41.108 3528
+-74.576 41.108 3518
+-74.45 41.108 3518
+-74.324 41.108 3519
+-74.198 41.108 3520
+-74.072 41.108 3520
+-73.946 41.108 3521
+-73.82 41.108 3505
+-73.694 41.108 3505
+-73.568 41.108 3506
+-73.442 41.108 3506
+-73.316 41.108 3506
+-73.19 41.108 3507
+-73.064 41.108 3507
+-72.938 41.108 3508
+-72.812 41.108 3453
+-72.686 41.108 3454
+-72.56 41.108 3454
+-72.434 41.108 3454
+-72.308 41.108 3455
+-72.182 41.108 3455
+-72.056 41.108 3455
+-71.93 41.108 3456
+-71.804 41.108 3456
+-71.678 41.108 3456
+-71.552 41.108 3457
+-71.426 41.108 3457
+-71.3 41.108 3457
+-71.174 41.108 3382
+-71.048 41.108 3382
+-70.922 41.108 3382
+-70.796 41.108 3382
+-70.67 41.108 3382
+-70.544 41.108 3382
+-70.418 41.108 3381
+-70.292 41.108 3381
+-70.166 41.108 3381
+-70.04 41.108 3381
+-69.914 41.108 3381
+-69.788 41.108 3381
+-69.662 41.108 3381
+-69.536 41.108 3380
+-69.41 41.108 3380
+-69.284 41.108 3380
+-69.158 41.108 3380
+-69.032 41.108 3380
+-68.906 41.108 3380
+-68.78 41.108 3380
+-68.654 41.108 3379
+-68.528 41.108 3379
+-68.402 41.108 3379
+-68.276 41.108 3379
+-68.15 41.108 3379
+-68.024 41.108 3068
+-67.898 41.108 3068
+-67.772 41.108 3067
+-67.646 41.108 3067
+-67.52 41.108 3066
+-67.394 41.108 3066
+-67.268 41.108 3065
+-67.142 41.108 3065
+-67.016 41.108 3064
+-66.89 41.108 3064
+-66.764 41.108 3063
+-66.638 41.108 3063
+-66.512 41.108 3062
+-66.386 41.108 3062
+-66.26 41.108 3061
+-66.134 41.108 3061
+-66.008 41.108 3061
+-65.882 41.108 3060
+-65.756 41.108 2933
+-65.63 41.108 2932
+-65.504 41.108 2901
+-65.378 41.108 2854
+-65.252 41.108 2854
+-65.126 41.108 2853
+-128 41.056 2307
+-127.874 41.056 2177
+-127.748 41.056 2042
+-127.622 41.056 1887
+-127.496 41.056 1731
+-127.37 41.056 1603
+-127.244 41.056 1553
+-127.118 41.056 1618
+-126.992 41.056 1794
+-126.866 41.056 2019
+-126.74 41.056 2216
+-126.614 41.056 2354
+-126.488 41.056 2457
+-126.362 41.056 2521
+-126.236 41.056 2580
+-126.11 41.056 2614
+-125.984 41.056 2633
+-125.858 41.056 2685
+-125.732 41.056 2765
+-125.606 41.056 2831
+-125.48 41.056 2894
+-125.354 41.056 2948
+-125.228 41.056 2982
+-125.102 41.056 3043
+-124.976 41.056 3077
+-124.85 41.056 3107
+-124.724 41.056 3132
+-124.598 41.056 3198
+-124.472 41.056 3207
+-124.346 41.056 3204
+-124.22 41.056 3207
+-124.094 41.056 3205
+-123.968 41.056 3226
+-123.842 41.056 3222
+-123.716 41.056 3217
+-123.59 41.056 3238
+-123.464 41.056 3227
+-123.338 41.056 3212
+-123.212 41.056 3202
+-123.086 41.056 3199
+-122.96 41.056 3192
+-122.834 41.056 3175
+-122.708 41.056 3153
+-122.582 41.056 3153
+-122.456 41.056 3165
+-122.33 41.056 3189
+-122.204 41.056 3204
+-122.078 41.056 3212
+-121.952 41.056 3235
+-121.826 41.056 3228
+-121.7 41.056 3217
+-121.574 41.056 3176
+-121.448 41.056 3073
+-121.322 41.056 3010
+-121.196 41.056 3094
+-121.07 41.056 3257
+-120.944 41.056 3348
+-120.818 41.056 3409
+-120.692 41.056 3446
+-120.566 41.056 3457
+-120.44 41.056 3478
+-120.314 41.056 3495
+-120.188 41.056 3503
+-120.062 41.056 3563
+-119.936 41.056 3656
+-119.81 41.056 3727
+-119.684 41.056 3760
+-119.558 41.056 3775
+-119.432 41.056 3768
+-119.306 41.056 3800
+-119.18 41.056 3848
+-119.054 41.056 3873
+-118.928 41.056 3886
+-118.802 41.056 3891
+-118.676 41.056 3877
+-118.55 41.056 3864
+-118.424 41.056 3879
+-118.298 41.056 3899
+-118.172 41.056 3920
+-118.046 41.056 3918
+-117.92 41.056 3907
+-117.794 41.056 3889
+-117.668 41.056 3874
+-117.542 41.056 3847
+-117.416 41.056 3814
+-117.29 41.056 3777
+-117.164 41.056 3767
+-117.038 41.056 3749
+-116.912 41.056 3682
+-116.786 41.056 3611
+-116.66 41.056 3571
+-116.534 41.056 3592
+-116.408 41.056 3596
+-116.282 41.056 3585
+-116.156 41.056 3530
+-116.03 41.056 3503
+-115.904 41.056 3419
+-115.778 41.056 3360
+-115.652 41.056 3303
+-115.526 41.056 3228
+-115.4 41.056 3146
+-115.274 41.056 3049
+-115.148 41.056 2999
+-115.022 41.056 2977
+-114.896 41.056 2916
+-114.77 41.056 2829
+-114.644 41.056 2728
+-114.518 41.056 2637
+-114.392 41.056 2612
+-114.266 41.056 2610
+-114.14 41.056 2591
+-114.014 41.056 2541
+-113.888 41.056 2410
+-113.762 41.056 2298
+-113.636 41.056 2176
+-113.51 41.056 2070
+-113.384 41.056 2009
+-113.258 41.056 1986
+-113.132 41.056 2006
+-113.006 41.056 2009
+-112.88 41.056 2029
+-112.754 41.056 2031
+-112.628 41.056 2040
+-112.502 41.056 2044
+-112.376 41.056 2051
+-112.25 41.056 2059
+-112.124 41.056 2066
+-111.998 41.056 2058
+-111.872 41.056 2074
+-111.746 41.056 2081
+-111.62 41.056 2061
+-111.494 41.056 2040
+-111.368 41.056 2045
+-111.242 41.056 2026
+-111.116 41.056 2030
+-110.99 41.056 2034
+-110.864 41.056 2038
+-110.738 41.056 2042
+-110.612 41.056 2045
+-110.486 41.056 2051
+-110.36 41.056 2058
+-110.234 41.056 2065
+-110.108 41.056 2053
+-109.982 41.056 2057
+-109.856 41.056 2078
+-109.73 41.056 2081
+-109.604 41.056 2090
+-109.478 41.056 2098
+-109.352 41.056 2107
+-109.226 41.056 2115
+-109.1 41.056 2124
+-108.974 41.056 2067
+-108.848 41.056 2101
+-108.722 41.056 2129
+-108.596 41.056 2137
+-108.47 41.056 2144
+-108.344 41.056 2143
+-108.218 41.056 2151
+-108.092 41.056 2148
+-107.966 41.056 2156
+-107.84 41.056 2234
+-107.714 41.056 2242
+-107.588 41.056 2229
+-107.462 41.056 2236
+-107.336 41.056 2206
+-107.21 41.056 2220
+-107.084 41.056 2227
+-106.958 41.056 2234
+-106.832 41.056 2161
+-106.706 41.056 2148
+-106.58 41.056 2153
+-106.454 41.056 2135
+-106.328 41.056 2139
+-106.202 41.056 2015
+-106.076 41.056 1886
+-105.95 41.056 1882
+-105.824 41.056 1877
+-105.698 41.056 1871
+-105.572 41.056 1864
+-105.446 41.056 1831
+-105.32 41.056 1813
+-105.194 41.056 1776
+-105.068 41.056 1751
+-104.942 41.056 1765
+-104.816 41.056 1733
+-104.69 41.056 1727
+-104.564 41.056 1719
+-104.438 41.056 1787
+-104.312 41.056 1832
+-104.186 41.056 1960
+-104.06 41.056 1972
+-103.934 41.056 2026
+-103.808 41.056 2023
+-103.682 41.056 2118
+-103.556 41.056 2111
+-103.43 41.056 2161
+-103.304 41.056 2154
+-103.178 41.056 2168
+-103.052 41.056 2160
+-102.926 41.056 2166
+-102.8 41.056 2158
+-102.674 41.056 2191
+-102.548 41.056 2180
+-102.422 41.056 2168
+-102.296 41.056 2156
+-102.17 41.056 2143
+-102.044 41.056 2130
+-101.918 41.056 2173
+-101.792 41.056 2158
+-101.666 41.056 2142
+-101.54 41.056 2125
+-101.414 41.056 2107
+-101.288 41.056 2122
+-101.162 41.056 2140
+-101.036 41.056 2120
+-100.91 41.056 2098
+-100.784 41.056 2076
+-100.658 41.056 2052
+-100.532 41.056 2129
+-100.406 41.056 2103
+-100.28 41.056 2076
+-100.154 41.056 2049
+-100.028 41.056 2020
+-99.902 41.056 1991
+-99.776 41.056 2007
+-99.65 41.056 2035
+-99.524 41.056 2015
+-99.398 41.056 1991
+-99.272 41.056 2028
+-99.146 41.056 2016
+-99.02 41.056 2013
+-98.894 41.056 2049
+-98.768 41.056 2069
+-98.642 41.056 2103
+-98.516 41.056 2152
+-98.39 41.056 2213
+-98.264 41.056 2284
+-98.138 41.056 2362
+-98.012 41.056 2464
+-97.886 41.056 2591
+-97.76 41.056 2671
+-97.634 41.056 2746
+-97.508 41.056 2814
+-97.382 41.056 2875
+-97.256 41.056 2928
+-97.13 41.056 3037
+-97.004 41.056 3075
+-96.878 41.056 3135
+-96.752 41.056 3182
+-96.626 41.056 3281
+-96.5 41.056 3333
+-96.374 41.056 3306
+-96.248 41.056 3297
+-96.122 41.056 3327
+-95.996 41.056 3375
+-95.87 41.056 3461
+-95.744 41.056 3575
+-95.618 41.056 3693
+-95.492 41.056 3849
+-95.366 41.056 3918
+-95.24 41.056 3928
+-95.114 41.056 3878
+-94.988 41.056 3995
+-94.862 41.056 4243
+-94.736 41.056 4412
+-94.61 41.056 4479
+-94.484 41.056 4555
+-94.358 41.056 4599
+-94.232 41.056 4729
+-94.106 41.056 4815
+-93.98 41.056 4908
+-93.854 41.056 5055
+-93.728 41.056 5125
+-93.602 41.056 5254
+-93.476 41.056 5407
+-93.35 41.056 5502
+-93.224 41.056 5519
+-93.098 41.056 5671
+-92.972 41.056 5755
+-92.846 41.056 5829
+-92.72 41.056 5956
+-92.594 41.056 6065
+-92.468 41.056 6136
+-92.342 41.056 6250
+-92.216 41.056 6281
+-92.09 41.056 6419
+-91.964 41.056 6442
+-91.838 41.056 6530
+-91.712 41.056 6610
+-91.586 41.056 6699
+-91.46 41.056 6713
+-91.334 41.056 6797
+-91.208 41.056 6828
+-91.082 41.056 6884
+-90.956 41.056 6905
+-90.83 41.056 6943
+-90.704 41.056 6963
+-90.578 41.056 6962
+-90.452 41.056 6952
+-90.326 41.056 6965
+-90.2 41.056 6960
+-90.074 41.056 6919
+-89.948 41.056 6898
+-89.822 41.056 6886
+-89.696 41.056 6864
+-89.57 41.056 6796
+-89.444 41.056 6752
+-89.318 41.056 6731
+-89.192 41.056 6624
+-89.066 41.056 6531
+-88.94 41.056 6506
+-88.814 41.056 6435
+-88.688 41.056 6326
+-88.562 41.056 6222
+-88.436 41.056 6137
+-88.31 41.056 6083
+-88.184 41.056 5959
+-88.058 41.056 5860
+-87.932 41.056 5781
+-87.806 41.056 5755
+-87.68 41.056 5827
+-87.554 41.056 5751
+-87.428 41.056 5720
+-87.302 41.056 5655
+-87.176 41.056 5598
+-87.05 41.056 5546
+-86.924 41.056 5461
+-86.798 41.056 5363
+-86.672 41.056 5300
+-86.546 41.056 5186
+-86.42 41.056 5191
+-86.294 41.056 5078
+-86.168 41.056 4979
+-86.042 41.056 4918
+-85.916 41.056 4830
+-85.79 41.056 4735
+-85.664 41.056 4647
+-85.538 41.056 4519
+-85.412 41.056 4548
+-85.286 41.056 4513
+-85.16 41.056 4395
+-85.034 41.056 4283
+-84.908 41.056 4152
+-84.782 41.056 3987
+-84.656 41.056 3830
+-84.53 41.056 3651
+-84.404 41.056 3567
+-84.278 41.056 3406
+-84.152 41.056 3499
+-84.026 41.056 3507
+-83.9 41.056 3471
+-83.774 41.056 3439
+-83.648 41.056 3472
+-83.522 41.056 3507
+-83.396 41.056 3535
+-83.27 41.056 3556
+-83.144 41.056 3571
+-83.018 41.056 3576
+-82.892 41.056 3586
+-82.766 41.056 3595
+-82.64 41.056 3586
+-82.514 41.056 3555
+-82.388 41.056 3551
+-82.262 41.056 3555
+-82.136 41.056 3559
+-82.01 41.056 3562
+-81.884 41.056 3566
+-81.758 41.056 3569
+-81.632 41.056 3571
+-81.506 41.056 3574
+-81.38 41.056 3577
+-81.254 41.056 3579
+-81.128 41.056 3500
+-81.002 41.056 3520
+-80.876 41.056 3521
+-80.75 41.056 3522
+-80.624 41.056 3523
+-80.498 41.056 3524
+-80.372 41.056 3492
+-80.246 41.056 3494
+-80.12 41.056 3485
+-79.994 41.056 3487
+-79.868 41.056 3489
+-79.742 41.056 3490
+-79.616 41.056 3492
+-79.49 41.056 3493
+-79.364 41.056 3495
+-79.238 41.056 3496
+-79.112 41.056 3498
+-78.986 41.056 3499
+-78.86 41.056 3501
+-78.734 41.056 3521
+-78.608 41.056 3523
+-78.482 41.056 3525
+-78.356 41.056 3527
+-78.23 41.056 3529
+-78.104 41.056 3531
+-77.978 41.056 3501
+-77.852 41.056 3502
+-77.726 41.056 3503
+-77.6 41.056 3505
+-77.474 41.056 3525
+-77.348 41.056 3527
+-77.222 41.056 3529
+-77.096 41.056 3493
+-76.97 41.056 3494
+-76.844 41.056 3496
+-76.718 41.056 3593
+-76.592 41.056 3595
+-76.466 41.056 3597
+-76.34 41.056 3598
+-76.214 41.056 3599
+-76.088 41.056 3544
+-75.962 41.056 3545
+-75.836 41.056 3546
+-75.71 41.056 3546
+-75.584 41.056 3547
+-75.458 41.056 3548
+-75.332 41.056 3548
+-75.206 41.056 3549
+-75.08 41.056 3550
+-74.954 41.056 3550
+-74.828 41.056 3528
+-74.702 41.056 3517
+-74.576 41.056 3518
+-74.45 41.056 3519
+-74.324 41.056 3520
+-74.198 41.056 3520
+-74.072 41.056 3504
+-73.946 41.056 3505
+-73.82 41.056 3505
+-73.694 41.056 3506
+-73.568 41.056 3506
+-73.442 41.056 3506
+-73.316 41.056 3507
+-73.19 41.056 3507
+-73.064 41.056 3508
+-72.938 41.056 3453
+-72.812 41.056 3454
+-72.686 41.056 3454
+-72.56 41.056 3454
+-72.434 41.056 3455
+-72.308 41.056 3455
+-72.182 41.056 3455
+-72.056 41.056 3456
+-71.93 41.056 3456
+-71.804 41.056 3456
+-71.678 41.056 3457
+-71.552 41.056 3457
+-71.426 41.056 3457
+-71.3 41.056 3382
+-71.174 41.056 3382
+-71.048 41.056 3382
+-70.922 41.056 3382
+-70.796 41.056 3382
+-70.67 41.056 3382
+-70.544 41.056 3381
+-70.418 41.056 3381
+-70.292 41.056 3381
+-70.166 41.056 3381
+-70.04 41.056 3381
+-69.914 41.056 3381
+-69.788 41.056 3381
+-69.662 41.056 3380
+-69.536 41.056 3380
+-69.41 41.056 3380
+-69.284 41.056 3380
+-69.158 41.056 3380
+-69.032 41.056 3380
+-68.906 41.056 3379
+-68.78 41.056 3379
+-68.654 41.056 3379
+-68.528 41.056 3379
+-68.402 41.056 3379
+-68.276 41.056 3379
+-68.15 41.056 3069
+-68.024 41.056 3068
+-67.898 41.056 3067
+-67.772 41.056 3067
+-67.646 41.056 3066
+-67.52 41.056 3066
+-67.394 41.056 3065
+-67.268 41.056 3065
+-67.142 41.056 3064
+-67.016 41.056 3064
+-66.89 41.056 3063
+-66.764 41.056 3063
+-66.638 41.056 3062
+-66.512 41.056 3062
+-66.386 41.056 3061
+-66.26 41.056 3061
+-66.134 41.056 3061
+-66.008 41.056 3060
+-65.882 41.056 2933
+-65.756 41.056 2932
+-65.63 41.056 2901
+-65.504 41.056 2854
+-65.378 41.056 2854
+-65.252 41.056 2853
+-65.126 41.056 2870
+-128 41.004 2270
+-127.874 41.004 2151
+-127.748 41.004 2005
+-127.622 41.004 1842
+-127.496 41.004 1679
+-127.37 41.004 1544
+-127.244 41.004 1489
+-127.118 41.004 1551
+-126.992 41.004 1726
+-126.866 41.004 1950
+-126.74 41.004 2151
+-126.614 41.004 2318
+-126.488 41.004 2437
+-126.362 41.004 2514
+-126.236 41.004 2594
+-126.11 41.004 2614
+-125.984 41.004 2661
+-125.858 41.004 2730
+-125.732 41.004 2784
+-125.606 41.004 2806
+-125.48 41.004 2888
+-125.354 41.004 2921
+-125.228 41.004 2968
+-125.102 41.004 3021
+-124.976 41.004 3055
+-124.85 41.004 3081
+-124.724 41.004 3101
+-124.598 41.004 3117
+-124.472 41.004 3165
+-124.346 41.004 3167
+-124.22 41.004 3165
+-124.094 41.004 3158
+-123.968 41.004 3149
+-123.842 41.004 3142
+-123.716 41.004 3158
+-123.59 41.004 3144
+-123.464 41.004 3140
+-123.338 41.004 3156
+-123.212 41.004 3154
+-123.086 41.004 3143
+-122.96 41.004 3116
+-122.834 41.004 3072
+-122.708 41.004 3039
+-122.582 41.004 3057
+-122.456 41.004 3088
+-122.33 41.004 3125
+-122.204 41.004 3146
+-122.078 41.004 3167
+-121.952 41.004 3180
+-121.826 41.004 3208
+-121.7 41.004 3206
+-121.574 41.004 3158
+-121.448 41.004 3096
+-121.322 41.004 3066
+-121.196 41.004 3125
+-121.07 41.004 3229
+-120.944 41.004 3305
+-120.818 41.004 3355
+-120.692 41.004 3407
+-120.566 41.004 3441
+-120.44 41.004 3450
+-120.314 41.004 3447
+-120.188 41.004 3455
+-120.062 41.004 3498
+-119.936 41.004 3590
+-119.81 41.004 3653
+-119.684 41.004 3710
+-119.558 41.004 3752
+-119.432 41.004 3768
+-119.306 41.004 3782
+-119.18 41.004 3817
+-119.054 41.004 3831
+-118.928 41.004 3848
+-118.802 41.004 3843
+-118.676 41.004 3819
+-118.55 41.004 3811
+-118.424 41.004 3831
+-118.298 41.004 3830
+-118.172 41.004 3832
+-118.046 41.004 3826
+-117.92 41.004 3830
+-117.794 41.004 3790
+-117.668 41.004 3774
+-117.542 41.004 3739
+-117.416 41.004 3711
+-117.29 41.004 3703
+-117.164 41.004 3707
+-117.038 41.004 3705
+-116.912 41.004 3636
+-116.786 41.004 3576
+-116.66 41.004 3550
+-116.534 41.004 3558
+-116.408 41.004 3564
+-116.282 41.004 3534
+-116.156 41.004 3496
+-116.03 41.004 3447
+-115.904 41.004 3358
+-115.778 41.004 3283
+-115.652 41.004 3215
+-115.526 41.004 3148
+-115.4 41.004 3084
+-115.274 41.004 3016
+-115.148 41.004 2979
+-115.022 41.004 2919
+-114.896 41.004 2857
+-114.77 41.004 2726
+-114.644 41.004 2594
+-114.518 41.004 2518
+-114.392 41.004 2537
+-114.266 41.004 2562
+-114.14 41.004 2521
+-114.014 41.004 2459
+-113.888 41.004 2355
+-113.762 41.004 2209
+-113.636 41.004 2044
+-113.51 41.004 1902
+-113.384 41.004 1828
+-113.258 41.004 1844
+-113.132 41.004 1907
+-113.006 41.004 1949
+-112.88 41.004 1996
+-112.754 41.004 2025
+-112.628 41.004 2031
+-112.502 41.004 2042
+-112.376 41.004 2045
+-112.25 41.004 2034
+-112.124 41.004 2040
+-111.998 41.004 2045
+-111.872 41.004 2048
+-111.746 41.004 2060
+-111.62 41.004 2064
+-111.494 41.004 2021
+-111.368 41.004 2021
+-111.242 41.004 2025
+-111.116 41.004 2005
+-110.99 41.004 2009
+-110.864 41.004 2013
+-110.738 41.004 2018
+-110.612 41.004 2023
+-110.486 41.004 2011
+-110.36 41.004 2018
+-110.234 41.004 2025
+-110.108 41.004 2033
+-109.982 41.004 2038
+-109.856 41.004 2028
+-109.73 41.004 2036
+-109.604 41.004 2072
+-109.478 41.004 2081
+-109.352 41.004 2091
+-109.226 41.004 2100
+-109.1 41.004 2050
+-108.974 41.004 2057
+-108.848 41.004 2089
+-108.722 41.004 2078
+-108.596 41.004 2120
+-108.47 41.004 2120
+-108.344 41.004 2128
+-108.218 41.004 2137
+-108.092 41.004 2145
+-107.966 41.004 2141
+-107.84 41.004 2149
+-107.714 41.004 2211
+-107.588 41.004 2219
+-107.462 41.004 2189
+-107.336 41.004 2204
+-107.21 41.004 2212
+-107.084 41.004 2219
+-106.958 41.004 2147
+-106.832 41.004 2136
+-106.706 41.004 2141
+-106.58 41.004 2123
+-106.454 41.004 2128
+-106.328 41.004 2132
+-106.202 41.004 2011
+-106.076 41.004 1883
+-105.95 41.004 1880
+-105.824 41.004 1875
+-105.698 41.004 1869
+-105.572 41.004 1836
+-105.446 41.004 1821
+-105.32 41.004 1808
+-105.194 41.004 1781
+-105.068 41.004 1776
+-104.942 41.004 1759
+-104.816 41.004 1754
+-104.69 41.004 1731
+-104.564 41.004 1729
+-104.438 41.004 1796
+-104.312 41.004 1800
+-104.186 41.004 1958
+-104.06 41.004 1976
+-103.934 41.004 2030
+-103.808 41.004 2028
+-103.682 41.004 2123
+-103.556 41.004 2116
+-103.43 41.004 2166
+-103.304 41.004 2160
+-103.178 41.004 2152
+-103.052 41.004 2166
+-102.926 41.004 2172
+-102.8 41.004 2202
+-102.674 41.004 2155
+-102.548 41.004 2186
+-102.422 41.004 2175
+-102.296 41.004 2163
+-102.17 41.004 2150
+-102.044 41.004 2137
+-101.918 41.004 2123
+-101.792 41.004 2165
+-101.666 41.004 2149
+-101.54 41.004 2132
+-101.414 41.004 2114
+-101.288 41.004 2095
+-101.162 41.004 2109
+-101.036 41.004 2124
+-100.91 41.004 2102
+-100.784 41.004 2079
+-100.658 41.004 2054
+-100.532 41.004 2172
+-100.406 41.004 2143
+-100.28 41.004 2112
+-100.154 41.004 2080
+-100.028 41.004 2046
+-99.902 41.004 2010
+-99.776 41.004 1974
+-99.65 41.004 1946
+-99.524 41.004 1966
+-99.398 41.004 1970
+-99.272 41.004 1939
+-99.146 41.004 1940
+-99.02 41.004 1927
+-98.894 41.004 1927
+-98.768 41.004 1970
+-98.642 41.004 2004
+-98.516 41.004 2057
+-98.39 41.004 2127
+-98.264 41.004 2211
+-98.138 41.004 2303
+-98.012 41.004 2399
+-97.886 41.004 2514
+-97.76 41.004 2650
+-97.634 41.004 2735
+-97.508 41.004 2811
+-97.382 41.004 2878
+-97.256 41.004 2936
+-97.13 41.004 2986
+-97.004 41.004 3089
+-96.878 41.004 3120
+-96.752 41.004 3219
+-96.626 41.004 3258
+-96.5 41.004 3296
+-96.374 41.004 3280
+-96.248 41.004 3231
+-96.122 41.004 3228
+-95.996 41.004 3302
+-95.87 41.004 3424
+-95.744 41.004 3560
+-95.618 41.004 3736
+-95.492 41.004 3873
+-95.366 41.004 3946
+-95.24 41.004 3964
+-95.114 41.004 3960
+-94.988 41.004 4057
+-94.862 41.004 4273
+-94.736 41.004 4412
+-94.61 41.004 4526
+-94.484 41.004 4557
+-94.358 41.004 4507
+-94.232 41.004 4675
+-94.106 41.004 4846
+-93.98 41.004 4981
+-93.854 41.004 5109
+-93.728 41.004 5202
+-93.602 41.004 5301
+-93.476 41.004 5433
+-93.35 41.004 5438
+-93.224 41.004 5596
+-93.098 41.004 5683
+-92.972 41.004 5801
+-92.846 41.004 5917
+-92.72 41.004 6036
+-92.594 41.004 6101
+-92.468 41.004 6219
+-92.342 41.004 6324
+-92.216 41.004 6404
+-92.09 41.004 6470
+-91.964 41.004 6508
+-91.838 41.004 6589
+-91.712 41.004 6677
+-91.586 41.004 6706
+-91.46 41.004 6834
+-91.334 41.004 6880
+-91.208 41.004 6875
+-91.082 41.004 6915
+-90.956 41.004 6952
+-90.83 41.004 6996
+-90.704 41.004 7005
+-90.578 41.004 7040
+-90.452 41.004 7024
+-90.326 41.004 7024
+-90.2 41.004 7012
+-90.074 41.004 6984
+-89.948 41.004 6964
+-89.822 41.004 6925
+-89.696 41.004 6900
+-89.57 41.004 6853
+-89.444 41.004 6803
+-89.318 41.004 6741
+-89.192 41.004 6647
+-89.066 41.004 6588
+-88.94 41.004 6569
+-88.814 41.004 6450
+-88.688 41.004 6388
+-88.562 41.004 6253
+-88.436 41.004 6205
+-88.31 41.004 6051
+-88.184 41.004 6032
+-88.058 41.004 5881
+-87.932 41.004 5754
+-87.806 41.004 5810
+-87.68 41.004 5810
+-87.554 41.004 5804
+-87.428 41.004 5776
+-87.302 41.004 5727
+-87.176 41.004 5676
+-87.05 41.004 5603
+-86.924 41.004 5515
+-86.798 41.004 5419
+-86.672 41.004 5373
+-86.546 41.004 5270
+-86.42 41.004 5185
+-86.294 41.004 5139
+-86.168 41.004 5052
+-86.042 41.004 4982
+-85.916 41.004 4880
+-85.79 41.004 4746
+-85.664 41.004 4694
+-85.538 41.004 4606
+-85.412 41.004 4522
+-85.286 41.004 4531
+-85.16 41.004 4415
+-85.034 41.004 4290
+-84.908 41.004 4161
+-84.782 41.004 4001
+-84.656 41.004 3852
+-84.53 41.004 3704
+-84.404 41.004 3619
+-84.278 41.004 3555
+-84.152 41.004 3534
+-84.026 41.004 3433
+-83.9 41.004 3295
+-83.774 41.004 3349
+-83.648 41.004 3446
+-83.522 41.004 3487
+-83.396 41.004 3528
+-83.27 41.004 3553
+-83.144 41.004 3564
+-83.018 41.004 3578
+-82.892 41.004 3589
+-82.766 41.004 3582
+-82.64 41.004 3553
+-82.514 41.004 3549
+-82.388 41.004 3554
+-82.262 41.004 3558
+-82.136 41.004 3562
+-82.01 41.004 3566
+-81.884 41.004 3569
+-81.758 41.004 3571
+-81.632 41.004 3574
+-81.506 41.004 3577
+-81.38 41.004 3579
+-81.254 41.004 3554
+-81.128 41.004 3521
+-81.002 41.004 3522
+-80.876 41.004 3522
+-80.75 41.004 3523
+-80.624 41.004 3524
+-80.498 41.004 3494
+-80.372 41.004 3496
+-80.246 41.004 3487
+-80.12 41.004 3489
+-79.994 41.004 3491
+-79.868 41.004 3492
+-79.742 41.004 3494
+-79.616 41.004 3496
+-79.49 41.004 3497
+-79.364 41.004 3499
+-79.238 41.004 3500
+-79.112 41.004 3501
+-78.986 41.004 3502
+-78.86 41.004 3522
+-78.734 41.004 3525
+-78.608 41.004 3527
+-78.482 41.004 3529
+-78.356 41.004 3531
+-78.23 41.004 3533
+-78.104 41.004 3502
+-77.978 41.004 3504
+-77.852 41.004 3505
+-77.726 41.004 3506
+-77.6 41.004 3527
+-77.474 41.004 3529
+-77.348 41.004 3531
+-77.222 41.004 3494
+-77.096 41.004 3496
+-76.97 41.004 3497
+-76.844 41.004 3593
+-76.718 41.004 3594
+-76.592 41.004 3596
+-76.466 41.004 3598
+-76.34 41.004 3599
+-76.214 41.004 3544
+-76.088 41.004 3544
+-75.962 41.004 3545
+-75.836 41.004 3546
+-75.71 41.004 3547
+-75.584 41.004 3548
+-75.458 41.004 3548
+-75.332 41.004 3549
+-75.206 41.004 3550
+-75.08 41.004 3550
+-74.954 41.004 3528
+-74.828 41.004 3517
+-74.702 41.004 3518
+-74.576 41.004 3519
+-74.45 41.004 3519
+-74.324 41.004 3520
+-74.198 41.004 3521
+-74.072 41.004 3505
+-73.946 41.004 3505
+-73.82 41.004 3505
+-73.694 41.004 3506
+-73.568 41.004 3506
+-73.442 41.004 3507
+-73.316 41.004 3507
+-73.19 41.004 3508
+-73.064 41.004 3453
+-72.938 41.004 3453
+-72.812 41.004 3454
+-72.686 41.004 3454
+-72.56 41.004 3454
+-72.434 41.004 3455
+-72.308 41.004 3455
+-72.182 41.004 3455
+-72.056 41.004 3456
+-71.93 41.004 3456
+-71.804 41.004 3456
+-71.678 41.004 3457
+-71.552 41.004 3457
+-71.426 41.004 3382
+-71.3 41.004 3382
+-71.174 41.004 3382
+-71.048 41.004 3382
+-70.922 41.004 3382
+-70.796 41.004 3382
+-70.67 41.004 3381
+-70.544 41.004 3381
+-70.418 41.004 3381
+-70.292 41.004 3381
+-70.166 41.004 3381
+-70.04 41.004 3381
+-69.914 41.004 3380
+-69.788 41.004 3380
+-69.662 41.004 3380
+-69.536 41.004 3380
+-69.41 41.004 3380
+-69.284 41.004 3380
+-69.158 41.004 3380
+-69.032 41.004 3379
+-68.906 41.004 3379
+-68.78 41.004 3379
+-68.654 41.004 3379
+-68.528 41.004 3379
+-68.402 41.004 3379
+-68.276 41.004 3069
+-68.15 41.004 3068
+-68.024 41.004 3067
+-67.898 41.004 3067
+-67.772 41.004 3066
+-67.646 41.004 3066
+-67.52 41.004 3065
+-67.394 41.004 3065
+-67.268 41.004 3064
+-67.142 41.004 3064
+-67.016 41.004 3063
+-66.89 41.004 3063
+-66.764 41.004 3062
+-66.638 41.004 3062
+-66.512 41.004 3061
+-66.386 41.004 3061
+-66.26 41.004 3061
+-66.134 41.004 3060
+-66.008 41.004 2933
+-65.882 41.004 2932
+-65.756 41.004 2901
+-65.63 41.004 2854
+-65.504 41.004 2854
+-65.378 41.004 2853
+-65.252 41.004 2869
+-65.126 41.004 2869
+-128 40.952 2272
+-127.874 40.952 2150
+-127.748 40.952 2010
+-127.622 40.952 1858
+-127.496 40.952 1709
+-127.37 40.952 1588
+-127.244 40.952 1543
+-127.118 40.952 1601
+-126.992 40.952 1752
+-126.866 40.952 1946
+-126.74 40.952 2142
+-126.614 40.952 2305
+-126.488 40.952 2424
+-126.362 40.952 2537
+-126.236 40.952 2574
+-126.11 40.952 2629
+-125.984 40.952 2700
+-125.858 40.952 2718
+-125.732 40.952 2761
+-125.606 40.952 2804
+-125.48 40.952 2869
+-125.354 40.952 2892
+-125.228 40.952 2932
+-125.102 40.952 3003
+-124.976 40.952 3031
+-124.85 40.952 3054
+-124.724 40.952 3070
+-124.598 40.952 3095
+-124.472 40.952 3096
+-124.346 40.952 3125
+-124.22 40.952 3115
+-124.094 40.952 3097
+-123.968 40.952 3080
+-123.842 40.952 3068
+-123.716 40.952 3077
+-123.59 40.952 3071
+-123.464 40.952 3066
+-123.338 40.952 3073
+-123.212 40.952 3074
+-123.086 40.952 3061
+-122.96 40.952 3017
+-122.834 40.952 2955
+-122.708 40.952 2926
+-122.582 40.952 2948
+-122.456 40.952 3022
+-122.33 40.952 3078
+-122.204 40.952 3110
+-122.078 40.952 3129
+-121.952 40.952 3157
+-121.826 40.952 3193
+-121.7 40.952 3182
+-121.574 40.952 3177
+-121.448 40.952 3155
+-121.322 40.952 3149
+-121.196 40.952 3179
+-121.07 40.952 3220
+-120.944 40.952 3249
+-120.818 40.952 3274
+-120.692 40.952 3327
+-120.566 40.952 3392
+-120.44 40.952 3422
+-120.314 40.952 3402
+-120.188 40.952 3446
+-120.062 40.952 3483
+-119.936 40.952 3548
+-119.81 40.952 3599
+-119.684 40.952 3637
+-119.558 40.952 3682
+-119.432 40.952 3725
+-119.306 40.952 3741
+-119.18 40.952 3765
+-119.054 40.952 3790
+-118.928 40.952 3813
+-118.802 40.952 3816
+-118.676 40.952 3814
+-118.55 40.952 3810
+-118.424 40.952 3806
+-118.298 40.952 3793
+-118.172 40.952 3780
+-118.046 40.952 3738
+-117.92 40.952 3720
+-117.794 40.952 3712
+-117.668 40.952 3700
+-117.542 40.952 3696
+-117.416 40.952 3686
+-117.29 40.952 3679
+-117.164 40.952 3679
+-117.038 40.952 3643
+-116.912 40.952 3608
+-116.786 40.952 3533
+-116.66 40.952 3478
+-116.534 40.952 3515
+-116.408 40.952 3509
+-116.282 40.952 3486
+-116.156 40.952 3419
+-116.03 40.952 3358
+-115.904 40.952 3260
+-115.778 40.952 3177
+-115.652 40.952 3100
+-115.526 40.952 3036
+-115.4 40.952 2952
+-115.274 40.952 2917
+-115.148 40.952 2895
+-115.022 40.952 2859
+-114.896 40.952 2781
+-114.77 40.952 2679
+-114.644 40.952 2534
+-114.518 40.952 2464
+-114.392 40.952 2501
+-114.266 40.952 2540
+-114.14 40.952 2496
+-114.014 40.952 2427
+-113.888 40.952 2306
+-113.762 40.952 2134
+-113.636 40.952 1918
+-113.51 40.952 1741
+-113.384 40.952 1668
+-113.258 40.952 1714
+-113.132 40.952 1796
+-113.006 40.952 1884
+-112.88 40.952 1948
+-112.754 40.952 1988
+-112.628 40.952 2010
+-112.502 40.952 2015
+-112.376 40.952 2017
+-112.25 40.952 2020
+-112.124 40.952 2023
+-111.998 40.952 2025
+-111.872 40.952 2026
+-111.746 40.952 2028
+-111.62 40.952 2036
+-111.494 40.952 2039
+-111.368 40.952 1996
+-111.242 40.952 1997
+-111.116 40.952 2001
+-110.99 40.952 1981
+-110.864 40.952 1986
+-110.738 40.952 1992
+-110.612 40.952 1979
+-110.486 40.952 1987
+-110.36 40.952 1995
+-110.234 40.952 2003
+-110.108 40.952 2011
+-109.982 40.952 2020
+-109.856 40.952 2025
+-109.73 40.952 2019
+-109.604 40.952 2028
+-109.478 40.952 2064
+-109.352 40.952 2074
+-109.226 40.952 2028
+-109.1 40.952 2036
+-108.974 40.952 2044
+-108.848 40.952 2073
+-108.722 40.952 2082
+-108.596 40.952 2108
+-108.47 40.952 2108
+-108.344 40.952 2114
+-108.218 40.952 2123
+-108.092 40.952 2132
+-107.966 40.952 2140
+-107.84 40.952 2131
+-107.714 40.952 2200
+-107.588 40.952 2171
+-107.462 40.952 2187
+-107.336 40.952 2195
+-107.21 40.952 2203
+-107.084 40.952 2131
+-106.958 40.952 2122
+-106.832 40.952 2128
+-106.706 40.952 2110
+-106.58 40.952 2116
+-106.454 40.952 2121
+-106.328 40.952 2126
+-106.202 40.952 2008
+-106.076 40.952 1881
+-105.95 40.952 1878
+-105.824 40.952 1873
+-105.698 40.952 1841
+-105.572 40.952 1828
+-105.446 40.952 1816
+-105.32 40.952 1791
+-105.194 40.952 1783
+-105.068 40.952 1779
+-104.942 40.952 1761
+-104.816 40.952 1759
+-104.69 40.952 1751
+-104.564 40.952 1781
+-104.438 40.952 1776
+-104.312 40.952 1798
+-104.186 40.952 1963
+-104.06 40.952 2009
+-103.934 40.952 2035
+-103.808 40.952 2033
+-103.682 40.952 2128
+-103.556 40.952 2121
+-103.43 40.952 2172
+-103.304 40.952 2165
+-103.178 40.952 2158
+-103.052 40.952 2151
+-102.926 40.952 2143
+-102.8 40.952 2209
+-102.674 40.952 2199
+-102.548 40.952 2151
+-102.422 40.952 2182
+-102.296 40.952 2170
+-102.17 40.952 2158
+-102.044 40.952 2144
+-101.918 40.952 2130
+-101.792 40.952 2116
+-101.666 40.952 2157
+-101.54 40.952 2140
+-101.414 40.952 2121
+-101.288 40.952 2102
+-101.162 40.952 2081
+-101.036 40.952 2093
+-100.91 40.952 2106
+-100.784 40.952 2082
+-100.658 40.952 2200
+-100.532 40.952 2171
+-100.406 40.952 2139
+-100.28 40.952 2106
+-100.154 40.952 2069
+-100.028 40.952 2031
+-99.902 40.952 1989
+-99.776 40.952 1945
+-99.65 40.952 1932
+-99.524 40.952 1891
+-99.398 40.952 1899
+-99.272 40.952 1861
+-99.146 40.952 1821
+-99.02 40.952 1816
+-98.894 40.952 1804
+-98.768 40.952 1812
+-98.642 40.952 1869
+-98.516 40.952 1927
+-98.39 40.952 2010
+-98.264 40.952 2110
+-98.138 40.952 2221
+-98.012 40.952 2335
+-97.886 40.952 2447
+-97.76 40.952 2573
+-97.634 40.952 2716
+-97.508 40.952 2802
+-97.382 40.952 2876
+-97.256 40.952 2940
+-97.13 40.952 2993
+-97.004 40.952 3114
+-96.878 40.952 3229
+-96.752 40.952 3242
+-96.626 40.952 3238
+-96.5 40.952 3264
+-96.374 40.952 3209
+-96.248 40.952 3110
+-96.122 40.952 3054
+-95.996 40.952 3162
+-95.87 40.952 3388
+-95.744 40.952 3563
+-95.618 40.952 3723
+-95.492 40.952 3863
+-95.366 40.952 3960
+-95.24 40.952 4019
+-95.114 40.952 4067
+-94.988 40.952 4180
+-94.862 40.952 4324
+-94.736 40.952 4429
+-94.61 40.952 4527
+-94.484 40.952 4583
+-94.358 40.952 4604
+-94.232 40.952 4712
+-94.106 40.952 4904
+-93.98 40.952 5063
+-93.854 40.952 5144
+-93.728 40.952 5220
+-93.602 40.952 5309
+-93.476 40.952 5430
+-93.35 40.952 5523
+-93.224 40.952 5598
+-93.098 40.952 5727
+-92.972 40.952 5859
+-92.846 40.952 5944
+-92.72 40.952 6064
+-92.594 40.952 6142
+-92.468 40.952 6258
+-92.342 40.952 6348
+-92.216 40.952 6410
+-92.09 40.952 6470
+-91.964 40.952 6558
+-91.838 40.952 6645
+-91.712 40.952 6735
+-91.586 40.952 6780
+-91.46 40.952 6840
+-91.334 40.952 6898
+-91.208 40.952 6938
+-91.082 40.952 6968
+-90.956 40.952 7029
+-90.83 40.952 7046
+-90.704 40.952 7032
+-90.578 40.952 7055
+-90.452 40.952 7103
+-90.326 40.952 7102
+-90.2 40.952 7046
+-90.074 40.952 7063
+-89.948 40.952 6999
+-89.822 40.952 6995
+-89.696 40.952 6931
+-89.57 40.952 6870
+-89.444 40.952 6844
+-89.318 40.952 6819
+-89.192 40.952 6693
+-89.066 40.952 6659
+-88.94 40.952 6579
+-88.814 40.952 6485
+-88.688 40.952 6429
+-88.562 40.952 6349
+-88.436 40.952 6218
+-88.31 40.952 6102
+-88.184 40.952 6074
+-88.058 40.952 5932
+-87.932 40.952 5874
+-87.806 40.952 5868
+-87.68 40.952 5942
+-87.554 40.952 5851
+-87.428 40.952 5802
+-87.302 40.952 5764
+-87.176 40.952 5684
+-87.05 40.952 5679
+-86.924 40.952 5591
+-86.798 40.952 5475
+-86.672 40.952 5404
+-86.546 40.952 5352
+-86.42 40.952 5252
+-86.294 40.952 5167
+-86.168 40.952 5100
+-86.042 40.952 5060
+-85.916 40.952 4950
+-85.79 40.952 4792
+-85.664 40.952 4689
+-85.538 40.952 4629
+-85.412 40.952 4587
+-85.286 40.952 4540
+-85.16 40.952 4410
+-85.034 40.952 4292
+-84.908 40.952 4183
+-84.782 40.952 4040
+-84.656 40.952 3894
+-84.53 40.952 3731
+-84.404 40.952 3653
+-84.278 40.952 3642
+-84.152 40.952 3566
+-84.026 40.952 3346
+-83.9 40.952 3134
+-83.774 40.952 3281
+-83.648 40.952 3434
+-83.522 40.952 3518
+-83.396 40.952 3549
+-83.27 40.952 3554
+-83.144 40.952 3567
+-83.018 40.952 3581
+-82.892 40.952 3577
+-82.766 40.952 3551
+-82.64 40.952 3548
+-82.514 40.952 3553
+-82.388 40.952 3558
+-82.262 40.952 3562
+-82.136 40.952 3565
+-82.01 40.952 3568
+-81.884 40.952 3571
+-81.758 40.952 3574
+-81.632 40.952 3577
+-81.506 40.952 3579
+-81.38 40.952 3554
+-81.254 40.952 3521
+-81.128 40.952 3522
+-81.002 40.952 3523
+-80.876 40.952 3524
+-80.75 40.952 3524
+-80.624 40.952 3496
+-80.498 40.952 3498
+-80.372 40.952 3489
+-80.246 40.952 3491
+-80.12 40.952 3493
+-79.994 40.952 3495
+-79.868 40.952 3496
+-79.742 40.952 3498
+-79.616 40.952 3499
+-79.49 40.952 3501
+-79.364 40.952 3502
+-79.238 40.952 3503
+-79.112 40.952 3505
+-78.986 40.952 3524
+-78.86 40.952 3527
+-78.734 40.952 3529
+-78.608 40.952 3531
+-78.482 40.952 3533
+-78.356 40.952 3535
+-78.23 40.952 3504
+-78.104 40.952 3506
+-77.978 40.952 3507
+-77.852 40.952 3508
+-77.726 40.952 3528
+-77.6 40.952 3530
+-77.474 40.952 3532
+-77.348 40.952 3496
+-77.222 40.952 3497
+-77.096 40.952 3499
+-76.97 40.952 3592
+-76.844 40.952 3594
+-76.718 40.952 3595
+-76.592 40.952 3597
+-76.466 40.952 3598
+-76.34 40.952 3543
+-76.214 40.952 3544
+-76.088 40.952 3545
+-75.962 40.952 3546
+-75.836 40.952 3547
+-75.71 40.952 3547
+-75.584 40.952 3548
+-75.458 40.952 3549
+-75.332 40.952 3549
+-75.206 40.952 3550
+-75.08 40.952 3527
+-74.954 40.952 3517
+-74.828 40.952 3518
+-74.702 40.952 3519
+-74.576 40.952 3519
+-74.45 40.952 3520
+-74.324 40.952 3504
+-74.198 40.952 3504
+-74.072 40.952 3505
+-73.946 40.952 3505
+-73.82 40.952 3506
+-73.694 40.952 3506
+-73.568 40.952 3507
+-73.442 40.952 3507
+-73.316 40.952 3508
+-73.19 40.952 3453
+-73.064 40.952 3453
+-72.938 40.952 3454
+-72.812 40.952 3454
+-72.686 40.952 3454
+-72.56 40.952 3455
+-72.434 40.952 3455
+-72.308 40.952 3455
+-72.182 40.952 3456
+-72.056 40.952 3456
+-71.93 40.952 3456
+-71.804 40.952 3457
+-71.678 40.952 3457
+-71.552 40.952 3382
+-71.426 40.952 3382
+-71.3 40.952 3382
+-71.174 40.952 3382
+-71.048 40.952 3382
+-70.922 40.952 3382
+-70.796 40.952 3381
+-70.67 40.952 3381
+-70.544 40.952 3381
+-70.418 40.952 3381
+-70.292 40.952 3381
+-70.166 40.952 3381
+-70.04 40.952 3380
+-69.914 40.952 3380
+-69.788 40.952 3380
+-69.662 40.952 3380
+-69.536 40.952 3380
+-69.41 40.952 3380
+-69.284 40.952 3380
+-69.158 40.952 3379
+-69.032 40.952 3379
+-68.906 40.952 3379
+-68.78 40.952 3379
+-68.654 40.952 3379
+-68.528 40.952 3379
+-68.402 40.952 3069
+-68.276 40.952 3068
+-68.15 40.952 3068
+-68.024 40.952 3067
+-67.898 40.952 3066
+-67.772 40.952 3066
+-67.646 40.952 3065
+-67.52 40.952 3065
+-67.394 40.952 3064
+-67.268 40.952 3064
+-67.142 40.952 3063
+-67.016 40.952 3063
+-66.89 40.952 3062
+-66.764 40.952 3062
+-66.638 40.952 3061
+-66.512 40.952 3061
+-66.386 40.952 3060
+-66.26 40.952 3060
+-66.134 40.952 2933
+-66.008 40.952 2932
+-65.882 40.952 2901
+-65.756 40.952 2854
+-65.63 40.952 2854
+-65.504 40.952 2853
+-65.378 40.952 2869
+-65.252 40.952 2869
+-65.126 40.952 2881
+-128 40.9 2289
+-127.874 40.9 2176
+-127.748 40.9 2052
+-127.622 40.9 1922
+-127.496 40.9 1790
+-127.37 40.9 1702
+-127.244 40.9 1674
+-127.118 40.9 1723
+-126.992 40.9 1840
+-126.866 40.9 2003
+-126.74 40.9 2169
+-126.614 40.9 2311
+-126.488 40.9 2451
+-126.362 40.9 2511
+-126.236 40.9 2582
+-126.11 40.9 2633
+-125.984 40.9 2680
+-125.858 40.9 2722
+-125.732 40.9 2761
+-125.606 40.9 2786
+-125.48 40.9 2843
+-125.354 40.9 2882
+-125.228 40.9 2916
+-125.102 40.9 2939
+-124.976 40.9 2963
+-124.85 40.9 2980
+-124.724 40.9 2993
+-124.598 40.9 3057
+-124.472 40.9 3053
+-124.346 40.9 3037
+-124.22 40.9 3022
+-124.094 40.9 2983
+-123.968 40.9 2966
+-123.842 40.9 2965
+-123.716 40.9 2952
+-123.59 40.9 2975
+-123.464 40.9 2989
+-123.338 40.9 3005
+-123.212 40.9 3015
+-123.086 40.9 3003
+-122.96 40.9 2964
+-122.834 40.9 2911
+-122.708 40.9 2881
+-122.582 40.9 2910
+-122.456 40.9 2971
+-122.33 40.9 3036
+-122.204 40.9 3076
+-122.078 40.9 3099
+-121.952 40.9 3106
+-121.826 40.9 3148
+-121.7 40.9 3169
+-121.574 40.9 3198
+-121.448 40.9 3192
+-121.322 40.9 3188
+-121.196 40.9 3195
+-121.07 40.9 3203
+-120.944 40.9 3168
+-120.818 40.9 3147
+-120.692 40.9 3226
+-120.566 40.9 3340
+-120.44 40.9 3402
+-120.314 40.9 3420
+-120.188 40.9 3442
+-120.062 40.9 3471
+-119.936 40.9 3507
+-119.81 40.9 3535
+-119.684 40.9 3564
+-119.558 40.9 3606
+-119.432 40.9 3648
+-119.306 40.9 3682
+-119.18 40.9 3699
+-119.054 40.9 3724
+-118.928 40.9 3741
+-118.802 40.9 3745
+-118.676 40.9 3754
+-118.55 40.9 3760
+-118.424 40.9 3742
+-118.298 40.9 3750
+-118.172 40.9 3712
+-118.046 40.9 3690
+-117.92 40.9 3670
+-117.794 40.9 3634
+-117.668 40.9 3648
+-117.542 40.9 3657
+-117.416 40.9 3667
+-117.29 40.9 3664
+-117.164 40.9 3652
+-117.038 40.9 3613
+-116.912 40.9 3566
+-116.786 40.9 3527
+-116.66 40.9 3504
+-116.534 40.9 3496
+-116.408 40.9 3483
+-116.282 40.9 3420
+-116.156 40.9 3341
+-116.03 40.9 3269
+-115.904 40.9 3160
+-115.778 40.9 3093
+-115.652 40.9 3026
+-115.526 40.9 2922
+-115.4 40.9 2851
+-115.274 40.9 2807
+-115.148 40.9 2816
+-115.022 40.9 2791
+-114.896 40.9 2751
+-114.77 40.9 2663
+-114.644 40.9 2560
+-114.518 40.9 2511
+-114.392 40.9 2529
+-114.266 40.9 2527
+-114.14 40.9 2471
+-114.014 40.9 2394
+-113.888 40.9 2268
+-113.762 40.9 2070
+-113.636 40.9 1858
+-113.51 40.9 1672
+-113.384 40.9 1600
+-113.258 40.9 1652
+-113.132 40.9 1755
+-113.006 40.9 1849
+-112.88 40.9 1916
+-112.754 40.9 1956
+-112.628 40.9 1987
+-112.502 40.9 1985
+-112.376 40.9 1988
+-112.25 40.9 1987
+-112.124 40.9 1985
+-111.998 40.9 1998
+-111.872 40.9 1997
+-111.746 40.9 1998
+-111.62 40.9 1999
+-111.494 40.9 1991
+-111.368 40.9 1995
+-111.242 40.9 1967
+-111.116 40.9 1970
+-110.99 40.9 1976
+-110.864 40.9 1940
+-110.738 40.9 1946
+-110.612 40.9 1952
+-110.486 40.9 1961
+-110.36 40.9 1970
+-110.234 40.9 1980
+-110.108 40.9 1990
+-109.982 40.9 1999
+-109.856 40.9 2009
+-109.73 40.9 2013
+-109.604 40.9 2011
+-109.478 40.9 2040
+-109.352 40.9 2004
+-109.226 40.9 2013
+-109.1 40.9 2022
+-108.974 40.9 2049
+-108.848 40.9 2059
+-108.722 40.9 2068
+-108.596 40.9 2063
+-108.47 40.9 2104
+-108.344 40.9 2111
+-108.218 40.9 2109
+-108.092 40.9 2113
+-107.966 40.9 2122
+-107.84 40.9 2083
+-107.714 40.9 2171
+-107.588 40.9 2161
+-107.462 40.9 2178
+-107.336 40.9 2187
+-107.21 40.9 2110
+-107.084 40.9 2108
+-106.958 40.9 2115
+-106.832 40.9 2092
+-106.706 40.9 2098
+-106.58 40.9 2103
+-106.454 40.9 2109
+-106.328 40.9 2114
+-106.202 40.9 2005
+-106.076 40.9 1879
+-105.95 40.9 1876
+-105.824 40.9 1839
+-105.698 40.9 1834
+-105.572 40.9 1807
+-105.446 40.9 1801
+-105.32 40.9 1794
+-105.194 40.9 1786
+-105.068 40.9 1780
+-104.942 40.9 1766
+-104.816 40.9 1762
+-104.69 40.9 1757
+-104.564 40.9 1787
+-104.438 40.9 1782
+-104.312 40.9 1803
+-104.186 40.9 1914
+-104.06 40.9 2014
+-103.934 40.9 2011
+-103.808 40.9 2038
+-103.682 40.9 2134
+-103.556 40.9 2127
+-103.43 40.9 2177
+-103.304 40.9 2171
+-103.178 40.9 2164
+-103.052 40.9 2157
+-102.926 40.9 2189
+-102.8 40.9 2195
+-102.674 40.9 2206
+-102.548 40.9 2196
+-102.422 40.9 2190
+-102.296 40.9 2178
+-102.17 40.9 2165
+-102.044 40.9 2152
+-101.918 40.9 2138
+-101.792 40.9 2123
+-101.666 40.9 2108
+-101.54 40.9 2172
+-101.414 40.9 2129
+-101.288 40.9 2110
+-101.162 40.9 2089
+-101.036 40.9 2066
+-100.91 40.9 2123
+-100.784 40.9 2211
+-100.658 40.9 2226
+-100.532 40.9 2194
+-100.406 40.9 2159
+-100.28 40.9 2121
+-100.154 40.9 2079
+-100.028 40.9 2051
+-99.902 40.9 2001
+-99.776 40.9 1947
+-99.65 40.9 1889
+-99.524 40.9 1828
+-99.398 40.9 1772
+-99.272 40.9 1762
+-99.146 40.9 1709
+-99.02 40.9 1660
+-98.894 40.9 1661
+-98.768 40.9 1656
+-98.642 40.9 1684
+-98.516 40.9 1759
+-98.39 40.9 1856
+-98.264 40.9 1979
+-98.138 40.9 2115
+-98.012 40.9 2254
+-97.886 40.9 2388
+-97.76 40.9 2511
+-97.634 40.9 2665
+-97.508 40.9 2788
+-97.382 40.9 2871
+-97.256 40.9 2940
+-97.13 40.9 3078
+-97.004 40.9 3217
+-96.878 40.9 3237
+-96.752 40.9 3242
+-96.626 40.9 3243
+-96.5 40.9 3259
+-96.374 40.9 3166
+-96.248 40.9 3040
+-96.122 40.9 2941
+-95.996 40.9 3100
+-95.87 40.9 3328
+-95.744 40.9 3500
+-95.618 40.9 3680
+-95.492 40.9 3846
+-95.366 40.9 3974
+-95.24 40.9 4079
+-95.114 40.9 4148
+-94.988 40.9 4275
+-94.862 40.9 4357
+-94.736 40.9 4395
+-94.61 40.9 4485
+-94.484 40.9 4585
+-94.358 40.9 4580
+-94.232 40.9 4721
+-94.106 40.9 4975
+-93.98 40.9 5099
+-93.854 40.9 5053
+-93.728 40.9 5256
+-93.602 40.9 5268
+-93.476 40.9 5415
+-93.35 40.9 5514
+-93.224 40.9 5618
+-93.098 40.9 5767
+-92.972 40.9 5885
+-92.846 40.9 5993
+-92.72 40.9 6112
+-92.594 40.9 6167
+-92.468 40.9 6227
+-92.342 40.9 6320
+-92.216 40.9 6441
+-92.09 40.9 6534
+-91.964 40.9 6626
+-91.838 40.9 6679
+-91.712 40.9 6739
+-91.586 40.9 6823
+-91.46 40.9 6890
+-91.334 40.9 6933
+-91.208 40.9 7010
+-91.082 40.9 7047
+-90.956 40.9 7070
+-90.83 40.9 7089
+-90.704 40.9 7110
+-90.578 40.9 7125
+-90.452 40.9 7149
+-90.326 40.9 7156
+-90.2 40.9 7108
+-90.074 40.9 7101
+-89.948 40.9 7072
+-89.822 40.9 7061
+-89.696 40.9 6976
+-89.57 40.9 6925
+-89.444 40.9 6920
+-89.318 40.9 6838
+-89.192 40.9 6740
+-89.066 40.9 6687
+-88.94 40.9 6596
+-88.814 40.9 6546
+-88.688 40.9 6477
+-88.562 40.9 6388
+-88.436 40.9 6301
+-88.31 40.9 6225
+-88.184 40.9 6142
+-88.058 40.9 6030
+-87.932 40.9 5946
+-87.806 40.9 5917
+-87.68 40.9 5916
+-87.554 40.9 5933
+-87.428 40.9 5871
+-87.302 40.9 5827
+-87.176 40.9 5763
+-87.05 40.9 5736
+-86.924 40.9 5677
+-86.798 40.9 5553
+-86.672 40.9 5442
+-86.546 40.9 5351
+-86.42 40.9 5333
+-86.294 40.9 5240
+-86.168 40.9 5147
+-86.042 40.9 5057
+-85.916 40.9 4949
+-85.79 40.9 4841
+-85.664 40.9 4738
+-85.538 40.9 4663
+-85.412 40.9 4604
+-85.286 40.9 4537
+-85.16 40.9 4385
+-85.034 40.9 4279
+-84.908 40.9 4186
+-84.782 40.9 4082
+-84.656 40.9 3957
+-84.53 40.9 3811
+-84.404 40.9 3720
+-84.278 40.9 3679
+-84.152 40.9 3585
+-84.026 40.9 3451
+-83.9 40.9 3320
+-83.774 40.9 3376
+-83.648 40.9 3469
+-83.522 40.9 3534
+-83.396 40.9 3555
+-83.27 40.9 3577
+-83.144 40.9 3593
+-83.018 40.9 3601
+-82.892 40.9 3547
+-82.766 40.9 3545
+-82.64 40.9 3551
+-82.514 40.9 3556
+-82.388 40.9 3561
+-82.262 40.9 3565
+-82.136 40.9 3568
+-82.01 40.9 3571
+-81.884 40.9 3574
+-81.758 40.9 3577
+-81.632 40.9 3579
+-81.506 40.9 3554
+-81.38 40.9 3521
+-81.254 40.9 3522
+-81.128 40.9 3523
+-81.002 40.9 3524
+-80.876 40.9 3524
+-80.75 40.9 3498
+-80.624 40.9 3500
+-80.498 40.9 3492
+-80.372 40.9 3493
+-80.246 40.9 3495
+-80.12 40.9 3497
+-79.994 40.9 3498
+-79.868 40.9 3500
+-79.742 40.9 3501
+-79.616 40.9 3503
+-79.49 40.9 3504
+-79.364 40.9 3505
+-79.238 40.9 3507
+-79.112 40.9 3526
+-78.986 40.9 3529
+-78.86 40.9 3531
+-78.734 40.9 3533
+-78.608 40.9 3535
+-78.482 40.9 3537
+-78.356 40.9 3506
+-78.23 40.9 3508
+-78.104 40.9 3509
+-77.978 40.9 3510
+-77.852 40.9 3530
+-77.726 40.9 3532
+-77.6 40.9 3534
+-77.474 40.9 3498
+-77.348 40.9 3499
+-77.222 40.9 3500
+-77.096 40.9 3592
+-76.97 40.9 3593
+-76.844 40.9 3595
+-76.718 40.9 3597
+-76.592 40.9 3598
+-76.466 40.9 3543
+-76.34 40.9 3544
+-76.214 40.9 3545
+-76.088 40.9 3546
+-75.962 40.9 3546
+-75.836 40.9 3547
+-75.71 40.9 3548
+-75.584 40.9 3549
+-75.458 40.9 3549
+-75.332 40.9 3550
+-75.206 40.9 3527
+-75.08 40.9 3517
+-74.954 40.9 3518
+-74.828 40.9 3518
+-74.702 40.9 3519
+-74.576 40.9 3520
+-74.45 40.9 3520
+-74.324 40.9 3504
+-74.198 40.9 3505
+-74.072 40.9 3505
+-73.946 40.9 3506
+-73.82 40.9 3506
+-73.694 40.9 3507
+-73.568 40.9 3507
+-73.442 40.9 3508
+-73.316 40.9 3453
+-73.19 40.9 3453
+-73.064 40.9 3453
+-72.938 40.9 3454
+-72.812 40.9 3454
+-72.686 40.9 3454
+-72.56 40.9 3455
+-72.434 40.9 3455
+-72.308 40.9 3455
+-72.182 40.9 3456
+-72.056 40.9 3456
+-71.93 40.9 3456
+-71.804 40.9 3457
+-71.678 40.9 3383
+-71.552 40.9 3382
+-71.426 40.9 3382
+-71.3 40.9 3382
+-71.174 40.9 3382
+-71.048 40.9 3382
+-70.922 40.9 3381
+-70.796 40.9 3381
+-70.67 40.9 3381
+-70.544 40.9 3381
+-70.418 40.9 3381
+-70.292 40.9 3381
+-70.166 40.9 3380
+-70.04 40.9 3380
+-69.914 40.9 3380
+-69.788 40.9 3380
+-69.662 40.9 3380
+-69.536 40.9 3380
+-69.41 40.9 3380
+-69.284 40.9 3379
+-69.158 40.9 3379
+-69.032 40.9 3379
+-68.906 40.9 3379
+-68.78 40.9 3379
+-68.654 40.9 3379
+-68.528 40.9 3069
+-68.402 40.9 3068
+-68.276 40.9 3068
+-68.15 40.9 3067
+-68.024 40.9 3066
+-67.898 40.9 3066
+-67.772 40.9 3065
+-67.646 40.9 3065
+-67.52 40.9 3064
+-67.394 40.9 3064
+-67.268 40.9 3063
+-67.142 40.9 3063
+-67.016 40.9 3062
+-66.89 40.9 3062
+-66.764 40.9 3061
+-66.638 40.9 3061
+-66.512 40.9 3060
+-66.386 40.9 3060
+-66.26 40.9 2933
+-66.134 40.9 2932
+-66.008 40.9 2901
+-65.882 40.9 2854
+-65.756 40.9 2854
+-65.63 40.9 2853
+-65.504 40.9 2869
+-65.378 40.9 2869
+-65.252 40.9 2880
+-65.126 40.9 2880
+-128 40.848 2322
+-127.874 40.848 2224
+-127.748 40.848 2120
+-127.622 40.848 1998
+-127.496 40.848 1908
+-127.37 40.848 1847
+-127.244 40.848 1829
+-127.118 40.848 1864
+-126.992 40.848 1960
+-126.866 40.848 2087
+-126.74 40.848 2217
+-126.614 40.848 2335
+-126.488 40.848 2436
+-126.362 40.848 2522
+-126.236 40.848 2585
+-126.11 40.848 2638
+-125.984 40.848 2683
+-125.858 40.848 2721
+-125.732 40.848 2745
+-125.606 40.848 2800
+-125.48 40.848 2837
+-125.354 40.848 2870
+-125.228 40.848 2893
+-125.102 40.848 2917
+-124.976 40.848 2936
+-124.85 40.848 2949
+-124.724 40.848 2957
+-124.598 40.848 2960
+-124.472 40.848 3001
+-124.346 40.848 2986
+-124.22 40.848 2961
+-124.094 40.848 2915
+-123.968 40.848 2891
+-123.842 40.848 2881
+-123.716 40.848 2857
+-123.59 40.848 2865
+-123.464 40.848 2866
+-123.338 40.848 2899
+-123.212 40.848 2926
+-123.086 40.848 2935
+-122.96 40.848 2945
+-122.834 40.848 2919
+-122.708 40.848 2902
+-122.582 40.848 2921
+-122.456 40.848 2958
+-122.33 40.848 2990
+-122.204 40.848 3027
+-122.078 40.848 3084
+-121.952 40.848 3113
+-121.826 40.848 3115
+-121.7 40.848 3138
+-121.574 40.848 3172
+-121.448 40.848 3197
+-121.322 40.848 3197
+-121.196 40.848 3203
+-121.07 40.848 3180
+-120.944 40.848 3123
+-120.818 40.848 3068
+-120.692 40.848 3153
+-120.566 40.848 3287
+-120.44 40.848 3366
+-120.314 40.848 3414
+-120.188 40.848 3434
+-120.062 40.848 3446
+-119.936 40.848 3466
+-119.81 40.848 3474
+-119.684 40.848 3492
+-119.558 40.848 3547
+-119.432 40.848 3580
+-119.306 40.848 3604
+-119.18 40.848 3621
+-119.054 40.848 3655
+-118.928 40.848 3660
+-118.802 40.848 3666
+-118.676 40.848 3672
+-118.55 40.848 3675
+-118.424 40.848 3675
+-118.298 40.848 3650
+-118.172 40.848 3658
+-118.046 40.848 3644
+-117.92 40.848 3611
+-117.794 40.848 3597
+-117.668 40.848 3590
+-117.542 40.848 3602
+-117.416 40.848 3618
+-117.29 40.848 3624
+-117.164 40.848 3600
+-117.038 40.848 3564
+-116.912 40.848 3528
+-116.786 40.848 3507
+-116.66 40.848 3495
+-116.534 40.848 3478
+-116.408 40.848 3409
+-116.282 40.848 3323
+-116.156 40.848 3261
+-116.03 40.848 3182
+-115.904 40.848 3073
+-115.778 40.848 2998
+-115.652 40.848 2932
+-115.526 40.848 2882
+-115.4 40.848 2806
+-115.274 40.848 2762
+-115.148 40.848 2772
+-115.022 40.848 2746
+-114.896 40.848 2706
+-114.77 40.848 2656
+-114.644 40.848 2602
+-114.518 40.848 2561
+-114.392 40.848 2558
+-114.266 40.848 2505
+-114.14 40.848 2451
+-114.014 40.848 2374
+-113.888 40.848 2254
+-113.762 40.848 2087
+-113.636 40.848 1896
+-113.51 40.848 1731
+-113.384 40.848 1657
+-113.258 40.848 1694
+-113.132 40.848 1778
+-113.006 40.848 1857
+-112.88 40.848 1913
+-112.754 40.848 1943
+-112.628 40.848 1960
+-112.502 40.848 1966
+-112.376 40.848 1965
+-112.25 40.848 1961
+-112.124 40.848 1956
+-111.998 40.848 1951
+-111.872 40.848 1962
+-111.746 40.848 1961
+-111.62 40.848 1962
+-111.494 40.848 1964
+-111.368 40.848 1958
+-111.242 40.848 1963
+-111.116 40.848 1924
+-110.99 40.848 1943
+-110.864 40.848 1950
+-110.738 40.848 1917
+-110.612 40.848 1922
+-110.486 40.848 1932
+-110.36 40.848 1945
+-110.234 40.848 1956
+-110.108 40.848 1967
+-109.982 40.848 1978
+-109.856 40.848 1988
+-109.73 40.848 1999
+-109.604 40.848 1956
+-109.478 40.848 1958
+-109.352 40.848 1988
+-109.226 40.848 1991
+-109.1 40.848 2024
+-108.974 40.848 2034
+-108.848 40.848 2045
+-108.722 40.848 2055
+-108.596 40.848 2086
+-108.47 40.848 2097
+-108.344 40.848 2093
+-108.218 40.848 2102
+-108.092 40.848 2101
+-107.966 40.848 2066
+-107.84 40.848 2152
+-107.714 40.848 2161
+-107.588 40.848 2177
+-107.462 40.848 2186
+-107.336 40.848 2095
+-107.21 40.848 2094
+-107.084 40.848 2101
+-106.958 40.848 2080
+-106.832 40.848 2087
+-106.706 40.848 2093
+-106.58 40.848 2098
+-106.454 40.848 2104
+-106.328 40.848 2109
+-106.202 40.848 2002
+-106.076 40.848 1849
+-105.95 40.848 1844
+-105.824 40.848 1840
+-105.698 40.848 1827
+-105.572 40.848 1822
+-105.446 40.848 1816
+-105.32 40.848 1809
+-105.194 40.848 1824
+-105.068 40.848 1808
+-104.942 40.848 1772
+-104.816 40.848 1768
+-104.69 40.848 1763
+-104.564 40.848 1793
+-104.438 40.848 1788
+-104.312 40.848 1809
+-104.186 40.848 1921
+-104.06 40.848 1951
+-103.934 40.848 2017
+-103.808 40.848 2103
+-103.682 40.848 2139
+-103.556 40.848 2133
+-103.43 40.848 2183
+-103.304 40.848 2177
+-103.178 40.848 2170
+-103.052 40.848 2163
+-102.926 40.848 2196
+-102.8 40.848 2187
+-102.674 40.848 2214
+-102.548 40.848 2204
+-102.422 40.848 2192
+-102.296 40.848 2186
+-102.17 40.848 2173
+-102.044 40.848 2160
+-101.918 40.848 2146
+-101.792 40.848 2132
+-101.666 40.848 2116
+-101.54 40.848 2099
+-101.414 40.848 2188
+-101.288 40.848 2152
+-101.162 40.848 2130
+-101.036 40.848 2179
+-100.91 40.848 2154
+-100.784 40.848 2126
+-100.658 40.848 2184
+-100.532 40.848 2194
+-100.406 40.848 2156
+-100.28 40.848 2115
+-100.154 40.848 2069
+-100.028 40.848 2018
+-99.902 40.848 1978
+-99.776 40.848 1915
+-99.65 40.848 1845
+-99.524 40.848 1769
+-99.398 40.848 1688
+-99.272 40.848 1610
+-99.146 40.848 1576
+-99.02 40.848 1506
+-98.894 40.848 1449
+-98.768 40.848 1453
+-98.642 40.848 1472
+-98.516 40.848 1540
+-98.39 40.848 1665
+-98.264 40.848 1817
+-98.138 40.848 1987
+-98.012 40.848 2158
+-97.886 40.848 2319
+-97.76 40.848 2463
+-97.634 40.848 2589
+-97.508 40.848 2744
+-97.382 40.848 2877
+-97.256 40.848 3020
+-97.13 40.848 3183
+-97.004 40.848 3221
+-96.878 40.848 3245
+-96.752 40.848 3254
+-96.626 40.848 3324
+-96.5 40.848 3294
+-96.374 40.848 3220
+-96.248 40.848 3131
+-96.122 40.848 3084
+-95.996 40.848 3200
+-95.87 40.848 3288
+-95.744 40.848 3410
+-95.618 40.848 3630
+-95.492 40.848 3856
+-95.366 40.848 4013
+-95.24 40.848 4131
+-95.114 40.848 4210
+-94.988 40.848 4292
+-94.862 40.848 4351
+-94.736 40.848 4321
+-94.61 40.848 4441
+-94.484 40.848 4591
+-94.358 40.848 4652
+-94.232 40.848 4783
+-94.106 40.848 5043
+-93.98 40.848 5143
+-93.854 40.848 5189
+-93.728 40.848 5188
+-93.602 40.848 5323
+-93.476 40.848 5446
+-93.35 40.848 5542
+-93.224 40.848 5651
+-93.098 40.848 5826
+-92.972 40.848 5926
+-92.846 40.848 6042
+-92.72 40.848 6158
+-92.594 40.848 6223
+-92.468 40.848 6287
+-92.342 40.848 6429
+-92.216 40.848 6485
+-92.09 40.848 6612
+-91.964 40.848 6677
+-91.838 40.848 6727
+-91.712 40.848 6831
+-91.586 40.848 6871
+-91.46 40.848 6926
+-91.334 40.848 6995
+-91.208 40.848 7057
+-91.082 40.848 7069
+-90.956 40.848 7119
+-90.83 40.848 7157
+-90.704 40.848 7173
+-90.578 40.848 7193
+-90.452 40.848 7208
+-90.326 40.848 7192
+-90.2 40.848 7167
+-90.074 40.848 7145
+-89.948 40.848 7127
+-89.822 40.848 7091
+-89.696 40.848 7078
+-89.57 40.848 6981
+-89.444 40.848 6927
+-89.318 40.848 6915
+-89.192 40.848 6848
+-89.066 40.848 6757
+-88.94 40.848 6654
+-88.814 40.848 6601
+-88.688 40.848 6490
+-88.562 40.848 6421
+-88.436 40.848 6318
+-88.31 40.848 6258
+-88.184 40.848 6194
+-88.058 40.848 6111
+-87.932 40.848 6037
+-87.806 40.848 6034
+-87.68 40.848 6007
+-87.554 40.848 5952
+-87.428 40.848 5897
+-87.302 40.848 5896
+-87.176 40.848 5832
+-87.05 40.848 5761
+-86.924 40.848 5734
+-86.798 40.848 5657
+-86.672 40.848 5533
+-86.546 40.848 5454
+-86.42 40.848 5404
+-86.294 40.848 5336
+-86.168 40.848 5236
+-86.042 40.848 5116
+-85.916 40.848 4979
+-85.79 40.848 4871
+-85.664 40.848 4801
+-85.538 40.848 4678
+-85.412 40.848 4557
+-85.286 40.848 4544
+-85.16 40.848 4385
+-85.034 40.848 4308
+-84.908 40.848 4126
+-84.782 40.848 4114
+-84.656 40.848 3971
+-84.53 40.848 3866
+-84.404 40.848 3797
+-84.278 40.848 3675
+-84.152 40.848 3564
+-84.026 40.848 3542
+-83.9 40.848 3506
+-83.774 40.848 3498
+-83.648 40.848 3524
+-83.522 40.848 3550
+-83.396 40.848 3575
+-83.27 40.848 3591
+-83.144 40.848 3607
+-83.018 40.848 3588
+-82.892 40.848 3600
+-82.766 40.848 3611
+-82.64 40.848 3555
+-82.514 40.848 3560
+-82.388 40.848 3564
+-82.262 40.848 3568
+-82.136 40.848 3571
+-82.01 40.848 3574
+-81.884 40.848 3577
+-81.758 40.848 3579
+-81.632 40.848 3554
+-81.506 40.848 3521
+-81.38 40.848 3522
+-81.254 40.848 3523
+-81.128 40.848 3524
+-81.002 40.848 3525
+-80.876 40.848 3557
+-80.75 40.848 3561
+-80.624 40.848 3552
+-80.498 40.848 3555
+-80.372 40.848 3558
+-80.246 40.848 3561
+-80.12 40.848 3564
+-79.994 40.848 3567
+-79.868 40.848 3570
+-79.742 40.848 3572
+-79.616 40.848 3574
+-79.49 40.848 3577
+-79.364 40.848 3579
+-79.238 40.848 3529
+-79.112 40.848 3531
+-78.986 40.848 3533
+-78.86 40.848 3535
+-78.734 40.848 3537
+-78.608 40.848 3539
+-78.482 40.848 3509
+-78.356 40.848 3510
+-78.23 40.848 3511
+-78.104 40.848 3512
+-77.978 40.848 3532
+-77.852 40.848 3534
+-77.726 40.848 3536
+-77.6 40.848 3500
+-77.474 40.848 3501
+-77.348 40.848 3502
+-77.222 40.848 3591
+-77.096 40.848 3593
+-76.97 40.848 3594
+-76.844 40.848 3596
+-76.718 40.848 3598
+-76.592 40.848 3543
+-76.466 40.848 3544
+-76.34 40.848 3545
+-76.214 40.848 3546
+-76.088 40.848 3546
+-75.962 40.848 3547
+-75.836 40.848 3548
+-75.71 40.848 3549
+-75.584 40.848 3549
+-75.458 40.848 3550
+-75.332 40.848 3527
+-75.206 40.848 3517
+-75.08 40.848 3518
+-74.954 40.848 3518
+-74.828 40.848 3519
+-74.702 40.848 3520
+-74.576 40.848 3504
+-74.45 40.848 3504
+-74.324 40.848 3505
+-74.198 40.848 3505
+-74.072 40.848 3506
+-73.946 40.848 3506
+-73.82 40.848 3507
+-73.694 40.848 3507
+-73.568 40.848 3508
+-73.442 40.848 3452
+-73.316 40.848 3453
+-73.19 40.848 3453
+-73.064 40.848 3454
+-72.938 40.848 3454
+-72.812 40.848 3454
+-72.686 40.848 3455
+-72.56 40.848 3455
+-72.434 40.848 3455
+-72.308 40.848 3456
+-72.182 40.848 3456
+-72.056 40.848 3456
+-71.93 40.848 3457
+-71.804 40.848 3383
+-71.678 40.848 3382
+-71.552 40.848 3382
+-71.426 40.848 3382
+-71.3 40.848 3382
+-71.174 40.848 3382
+-71.048 40.848 3381
+-70.922 40.848 3381
+-70.796 40.848 3381
+-70.67 40.848 3381
+-70.544 40.848 3381
+-70.418 40.848 3381
+-70.292 40.848 3380
+-70.166 40.848 3380
+-70.04 40.848 3380
+-69.914 40.848 3380
+-69.788 40.848 3380
+-69.662 40.848 3380
+-69.536 40.848 3379
+-69.41 40.848 3379
+-69.284 40.848 3379
+-69.158 40.848 3379
+-69.032 40.848 3379
+-68.906 40.848 3379
+-68.78 40.848 3379
+-68.654 40.848 3069
+-68.528 40.848 3068
+-68.402 40.848 3068
+-68.276 40.848 3067
+-68.15 40.848 3067
+-68.024 40.848 3066
+-67.898 40.848 3065
+-67.772 40.848 3065
+-67.646 40.848 3064
+-67.52 40.848 3064
+-67.394 40.848 3063
+-67.268 40.848 3063
+-67.142 40.848 3062
+-67.016 40.848 3062
+-66.89 40.848 3061
+-66.764 40.848 3061
+-66.638 40.848 3060
+-66.512 40.848 3060
+-66.386 40.848 2933
+-66.26 40.848 2932
+-66.134 40.848 2901
+-66.008 40.848 2854
+-65.882 40.848 2854
+-65.756 40.848 2853
+-65.63 40.848 2869
+-65.504 40.848 2869
+-65.378 40.848 2880
+-65.252 40.848 2880
+-65.126 40.848 2838
+-128 40.796 2365
+-127.874 40.796 2284
+-127.748 40.796 2175
+-127.622 40.796 2097
+-127.496 40.796 2034
+-127.37 40.796 1986
+-127.244 40.796 1970
+-127.118 40.796 2008
+-126.992 40.796 2081
+-126.866 40.796 2154
+-126.74 40.796 2274
+-126.614 40.796 2372
+-126.488 40.796 2462
+-126.362 40.796 2532
+-126.236 40.796 2592
+-126.11 40.796 2641
+-125.984 40.796 2682
+-125.858 40.796 2707
+-125.732 40.796 2761
+-125.606 40.796 2796
+-125.48 40.796 2828
+-125.354 40.796 2851
+-125.228 40.796 2875
+-125.102 40.796 2894
+-124.976 40.796 2908
+-124.85 40.796 2918
+-124.724 40.796 2922
+-124.598 40.796 2921
+-124.472 40.796 2956
+-124.346 40.796 2931
+-124.22 40.796 2885
+-124.094 40.796 2859
+-123.968 40.796 2830
+-123.842 40.796 2797
+-123.716 40.796 2766
+-123.59 40.796 2764
+-123.464 40.796 2782
+-123.338 40.796 2825
+-123.212 40.796 2867
+-123.086 40.796 2893
+-122.96 40.796 2908
+-122.834 40.796 2910
+-122.708 40.796 2909
+-122.582 40.796 2918
+-122.456 40.796 2932
+-122.33 40.796 2951
+-122.204 40.796 2983
+-122.078 40.796 3007
+-121.952 40.796 3034
+-121.826 40.796 3102
+-121.7 40.796 3100
+-121.574 40.796 3144
+-121.448 40.796 3173
+-121.322 40.796 3189
+-121.196 40.796 3190
+-121.07 40.796 3183
+-120.944 40.796 3149
+-120.818 40.796 3128
+-120.692 40.796 3181
+-120.566 40.796 3273
+-120.44 40.796 3337
+-120.314 40.796 3371
+-120.188 40.796 3407
+-120.062 40.796 3416
+-119.936 40.796 3413
+-119.81 40.796 3402
+-119.684 40.796 3429
+-119.558 40.796 3479
+-119.432 40.796 3524
+-119.306 40.796 3547
+-119.18 40.796 3561
+-119.054 40.796 3561
+-118.928 40.796 3584
+-118.802 40.796 3588
+-118.676 40.796 3592
+-118.55 40.796 3589
+-118.424 40.796 3593
+-118.298 40.796 3584
+-118.172 40.796 3588
+-118.046 40.796 3594
+-117.92 40.796 3576
+-117.794 40.796 3576
+-117.668 40.796 3579
+-117.542 40.796 3571
+-117.416 40.796 3571
+-117.29 40.796 3567
+-117.164 40.796 3552
+-117.038 40.796 3519
+-116.912 40.796 3488
+-116.786 40.796 3473
+-116.66 40.796 3433
+-116.534 40.796 3392
+-116.408 40.796 3339
+-116.282 40.796 3265
+-116.156 40.796 3201
+-116.03 40.796 3120
+-115.904 40.796 3011
+-115.778 40.796 2929
+-115.652 40.796 2891
+-115.526 40.796 2868
+-115.4 40.796 2816
+-115.274 40.796 2781
+-115.148 40.796 2747
+-115.022 40.796 2689
+-114.896 40.796 2626
+-114.77 40.796 2608
+-114.644 40.796 2585
+-114.518 40.796 2558
+-114.392 40.796 2549
+-114.266 40.796 2489
+-114.14 40.796 2441
+-114.014 40.796 2369
+-113.888 40.796 2269
+-113.762 40.796 2138
+-113.636 40.796 1960
+-113.51 40.796 1840
+-113.384 40.796 1782
+-113.258 40.796 1792
+-113.132 40.796 1838
+-113.006 40.796 1878
+-112.88 40.796 1917
+-112.754 40.796 1937
+-112.628 40.796 1943
+-112.502 40.796 1941
+-112.376 40.796 1934
+-112.25 40.796 1925
+-112.124 40.796 1917
+-111.998 40.796 1911
+-111.872 40.796 1906
+-111.746 40.796 1917
+-111.62 40.796 1918
+-111.494 40.796 1921
+-111.368 40.796 1926
+-111.242 40.796 1923
+-111.116 40.796 1930
+-110.99 40.796 1940
+-110.864 40.796 1915
+-110.738 40.796 1925
+-110.612 40.796 1895
+-110.486 40.796 1905
+-110.36 40.796 1917
+-110.234 40.796 1930
+-110.108 40.796 1942
+-109.982 40.796 1955
+-109.856 40.796 1926
+-109.73 40.796 1930
+-109.604 40.796 1941
+-109.478 40.796 1947
+-109.352 40.796 1977
+-109.226 40.796 1978
+-109.1 40.796 2003
+-108.974 40.796 2015
+-108.848 40.796 2026
+-108.722 40.796 2063
+-108.596 40.796 2074
+-108.47 40.796 2072
+-108.344 40.796 2090
+-108.218 40.796 2101
+-108.092 40.796 2058
+-107.966 40.796 2063
+-107.84 40.796 2143
+-107.714 40.796 2159
+-107.588 40.796 2169
+-107.462 40.796 2100
+-107.336 40.796 2097
+-107.21 40.796 2104
+-107.084 40.796 2068
+-106.958 40.796 2075
+-106.832 40.796 2081
+-106.706 40.796 2088
+-106.58 40.796 2094
+-106.454 40.796 2099
+-106.328 40.796 2094
+-106.202 40.796 1969
+-106.076 40.796 1972
+-105.95 40.796 1845
+-105.824 40.796 1836
+-105.698 40.796 1831
+-105.572 40.796 1826
+-105.446 40.796 1820
+-105.32 40.796 1837
+-105.194 40.796 1823
+-105.068 40.796 1815
+-104.942 40.796 1806
+-104.816 40.796 1773
+-104.69 40.796 1818
+-104.564 40.796 1812
+-104.438 40.796 1794
+-104.312 40.796 1894
+-104.186 40.796 1927
+-104.06 40.796 1957
+-103.934 40.796 1950
+-103.808 40.796 2113
+-103.682 40.796 2145
+-103.556 40.796 2139
+-103.43 40.796 2188
+-103.304 40.796 2183
+-103.178 40.796 2176
+-103.052 40.796 2170
+-102.926 40.796 2204
+-102.8 40.796 2195
+-102.674 40.796 2185
+-102.548 40.796 2212
+-102.422 40.796 2201
+-102.296 40.796 2189
+-102.17 40.796 2182
+-102.044 40.796 2169
+-101.918 40.796 2155
+-101.792 40.796 2140
+-101.666 40.796 2124
+-101.54 40.796 2108
+-101.414 40.796 2090
+-101.288 40.796 2176
+-101.162 40.796 2139
+-101.036 40.796 2114
+-100.91 40.796 2160
+-100.784 40.796 2131
+-100.658 40.796 2099
+-100.532 40.796 2152
+-100.406 40.796 2155
+-100.28 40.796 2110
+-100.154 40.796 2060
+-100.028 40.796 2004
+-99.902 40.796 1940
+-99.776 40.796 1884
+-99.65 40.796 1802
+-99.524 40.796 1711
+-99.398 40.796 1611
+-99.272 40.796 1503
+-99.146 40.796 1396
+-99.02 40.796 1332
+-98.894 40.796 1247
+-98.768 40.796 1195
+-98.642 40.796 1222
+-98.516 40.796 1296
+-98.39 40.796 1435
+-98.264 40.796 1630
+-98.138 40.796 1841
+-98.012 40.796 2051
+-97.886 40.796 2244
+-97.76 40.796 2413
+-97.634 40.796 2555
+-97.508 40.796 2744
+-97.382 40.796 2923
+-97.256 40.796 3063
+-97.13 40.796 3181
+-97.004 40.796 3224
+-96.878 40.796 3253
+-96.752 40.796 3270
+-96.626 40.796 3293
+-96.5 40.796 3381
+-96.374 40.796 3318
+-96.248 40.796 3275
+-96.122 40.796 3257
+-95.996 40.796 3270
+-95.87 40.796 3222
+-95.744 40.796 3354
+-95.618 40.796 3641
+-95.492 40.796 3884
+-95.366 40.796 4054
+-95.24 40.796 4154
+-95.114 40.796 4233
+-94.988 40.796 4277
+-94.862 40.796 4353
+-94.736 40.796 4393
+-94.61 40.796 4478
+-94.484 40.796 4613
+-94.358 40.796 4724
+-94.232 40.796 4863
+-94.106 40.796 5078
+-93.98 40.796 5170
+-93.854 40.796 5194
+-93.728 40.796 5267
+-93.602 40.796 5378
+-93.476 40.796 5492
+-93.35 40.796 5580
+-93.224 40.796 5685
+-93.098 40.796 5868
+-92.972 40.796 5982
+-92.846 40.796 6029
+-92.72 40.796 6171
+-92.594 40.796 6248
+-92.468 40.796 6354
+-92.342 40.796 6456
+-92.216 40.796 6522
+-92.09 40.796 6588
+-91.964 40.796 6687
+-91.838 40.796 6774
+-91.712 40.796 6842
+-91.586 40.796 6935
+-91.46 40.796 6988
+-91.334 40.796 7042
+-91.208 40.796 7099
+-91.082 40.796 7163
+-90.956 40.796 7158
+-90.83 40.796 7216
+-90.704 40.796 7222
+-90.578 40.796 7238
+-90.452 40.796 7229
+-90.326 40.796 7228
+-90.2 40.796 7225
+-90.074 40.796 7208
+-89.948 40.796 7187
+-89.822 40.796 7138
+-89.696 40.796 7136
+-89.57 40.796 7059
+-89.444 40.796 6987
+-89.318 40.796 6911
+-89.192 40.796 6858
+-89.066 40.796 6814
+-88.94 40.796 6707
+-88.814 40.796 6619
+-88.688 40.796 6504
+-88.562 40.796 6455
+-88.436 40.796 6326
+-88.31 40.796 6295
+-88.184 40.796 6150
+-88.058 40.796 6134
+-87.932 40.796 5943
+-87.806 40.796 6105
+-87.68 40.796 6073
+-87.554 40.796 6051
+-87.428 40.796 5967
+-87.302 40.796 5924
+-87.176 40.796 5863
+-87.05 40.796 5785
+-86.924 40.796 5754
+-86.798 40.796 5705
+-86.672 40.796 5617
+-86.546 40.796 5549
+-86.42 40.796 5455
+-86.294 40.796 5328
+-86.168 40.796 5322
+-86.042 40.796 5179
+-85.916 40.796 5061
+-85.79 40.796 4921
+-85.664 40.796 4845
+-85.538 40.796 4759
+-85.412 40.796 4639
+-85.286 40.796 4567
+-85.16 40.796 4427
+-85.034 40.796 4301
+-84.908 40.796 4192
+-84.782 40.796 4114
+-84.656 40.796 3971
+-84.53 40.796 3820
+-84.404 40.796 3831
+-84.278 40.796 3652
+-84.152 40.796 3458
+-84.026 40.796 3545
+-83.9 40.796 3559
+-83.774 40.796 3544
+-83.648 40.796 3540
+-83.522 40.796 3554
+-83.396 40.796 3570
+-83.27 40.796 3589
+-83.144 40.796 3576
+-83.018 40.796 3590
+-82.892 40.796 3601
+-82.766 40.796 3583
+-82.64 40.796 3592
+-82.514 40.796 3563
+-82.388 40.796 3567
+-82.262 40.796 3570
+-82.136 40.796 3573
+-82.01 40.796 3576
+-81.884 40.796 3579
+-81.758 40.796 3553
+-81.632 40.796 3521
+-81.506 40.796 3522
+-81.38 40.796 3523
+-81.254 40.796 3524
+-81.128 40.796 3525
+-81.002 40.796 3556
+-80.876 40.796 3560
+-80.75 40.796 3551
+-80.624 40.796 3555
+-80.498 40.796 3558
+-80.372 40.796 3561
+-80.246 40.796 3564
+-80.12 40.796 3567
+-79.994 40.796 3570
+-79.868 40.796 3572
+-79.742 40.796 3575
+-79.616 40.796 3577
+-79.49 40.796 3579
+-79.364 40.796 3531
+-79.238 40.796 3533
+-79.112 40.796 3535
+-78.986 40.796 3537
+-78.86 40.796 3539
+-78.734 40.796 3541
+-78.608 40.796 3511
+-78.482 40.796 3512
+-78.356 40.796 3514
+-78.23 40.796 3515
+-78.104 40.796 3534
+-77.978 40.796 3536
+-77.852 40.796 3538
+-77.726 40.796 3502
+-77.6 40.796 3503
+-77.474 40.796 3504
+-77.348 40.796 3590
+-77.222 40.796 3592
+-77.096 40.796 3594
+-76.97 40.796 3596
+-76.844 40.796 3597
+-76.718 40.796 3543
+-76.592 40.796 3544
+-76.466 40.796 3545
+-76.34 40.796 3545
+-76.214 40.796 3546
+-76.088 40.796 3547
+-75.962 40.796 3548
+-75.836 40.796 3548
+-75.71 40.796 3549
+-75.584 40.796 3550
+-75.458 40.796 3527
+-75.332 40.796 3517
+-75.206 40.796 3518
+-75.08 40.796 3518
+-74.954 40.796 3519
+-74.828 40.796 3520
+-74.702 40.796 3520
+-74.576 40.796 3504
+-74.45 40.796 3505
+-74.324 40.796 3505
+-74.198 40.796 3506
+-74.072 40.796 3506
+-73.946 40.796 3507
+-73.82 40.796 3507
+-73.694 40.796 3508
+-73.568 40.796 3452
+-73.442 40.796 3453
+-73.316 40.796 3453
+-73.19 40.796 3453
+-73.064 40.796 3454
+-72.938 40.796 3454
+-72.812 40.796 3454
+-72.686 40.796 3455
+-72.56 40.796 3455
+-72.434 40.796 3455
+-72.308 40.796 3456
+-72.182 40.796 3456
+-72.056 40.796 3456
+-71.93 40.796 3383
+-71.804 40.796 3382
+-71.678 40.796 3382
+-71.552 40.796 3382
+-71.426 40.796 3382
+-71.3 40.796 3382
+-71.174 40.796 3381
+-71.048 40.796 3381
+-70.922 40.796 3381
+-70.796 40.796 3381
+-70.67 40.796 3381
+-70.544 40.796 3381
+-70.418 40.796 3380
+-70.292 40.796 3380
+-70.166 40.796 3380
+-70.04 40.796 3380
+-69.914 40.796 3380
+-69.788 40.796 3380
+-69.662 40.796 3379
+-69.536 40.796 3379
+-69.41 40.796 3379
+-69.284 40.796 3379
+-69.158 40.796 3379
+-69.032 40.796 3379
+-68.906 40.796 3379
+-68.78 40.796 3069
+-68.654 40.796 3068
+-68.528 40.796 3068
+-68.402 40.796 3067
+-68.276 40.796 3067
+-68.15 40.796 3066
+-68.024 40.796 3065
+-67.898 40.796 3065
+-67.772 40.796 3064
+-67.646 40.796 3064
+-67.52 40.796 3063
+-67.394 40.796 3063
+-67.268 40.796 3062
+-67.142 40.796 3062
+-67.016 40.796 3061
+-66.89 40.796 3061
+-66.764 40.796 3060
+-66.638 40.796 3060
+-66.512 40.796 2933
+-66.386 40.796 2932
+-66.26 40.796 2901
+-66.134 40.796 2854
+-66.008 40.796 2854
+-65.882 40.796 2853
+-65.756 40.796 2869
+-65.63 40.796 2869
+-65.504 40.796 2880
+-65.378 40.796 2880
+-65.252 40.796 2838
+-65.126 40.796 2802
+-128 40.744 2417
+-127.874 40.744 2317
+-127.748 40.744 2254
+-127.622 40.744 2197
+-127.496 40.744 2140
+-127.37 40.744 2100
+-127.244 40.744 2103
+-127.118 40.744 2135
+-126.992 40.744 2165
+-126.866 40.744 2256
+-126.74 40.744 2335
+-126.614 40.744 2417
+-126.488 40.744 2486
+-126.362 40.744 2548
+-126.236 40.744 2600
+-126.11 40.744 2644
+-125.984 40.744 2670
+-125.858 40.744 2724
+-125.732 40.744 2759
+-125.606 40.744 2791
+-125.48 40.744 2813
+-125.354 40.744 2836
+-125.228 40.744 2856
+-125.102 40.744 2870
+-124.976 40.744 2881
+-124.85 40.744 2886
+-124.724 40.744 2887
+-124.598 40.744 2874
+-124.472 40.744 2906
+-124.346 40.744 2861
+-124.22 40.744 2838
+-124.094 40.744 2811
+-123.968 40.744 2775
+-123.842 40.744 2735
+-123.716 40.744 2711
+-123.59 40.744 2698
+-123.464 40.744 2720
+-123.338 40.744 2764
+-123.212 40.744 2807
+-123.086 40.744 2846
+-122.96 40.744 2872
+-122.834 40.744 2885
+-122.708 40.744 2896
+-122.582 40.744 2898
+-122.456 40.744 2906
+-122.33 40.744 2907
+-122.204 40.744 2922
+-122.078 40.744 2941
+-121.952 40.744 2960
+-121.826 40.744 3008
+-121.7 40.744 3070
+-121.574 40.744 3118
+-121.448 40.744 3153
+-121.322 40.744 3149
+-121.196 40.744 3168
+-121.07 40.744 3180
+-120.944 40.744 3175
+-120.818 40.744 3191
+-120.692 40.744 3211
+-120.566 40.744 3254
+-120.44 40.744 3307
+-120.314 40.744 3333
+-120.188 40.744 3375
+-120.062 40.744 3387
+-119.936 40.744 3385
+-119.81 40.744 3372
+-119.684 40.744 3391
+-119.558 40.744 3431
+-119.432 40.744 3465
+-119.306 40.744 3495
+-119.18 40.744 3504
+-119.054 40.744 3493
+-118.928 40.744 3506
+-118.802 40.744 3518
+-118.676 40.744 3524
+-118.55 40.744 3522
+-118.424 40.744 3519
+-118.298 40.744 3530
+-118.172 40.744 3543
+-118.046 40.744 3522
+-117.92 40.744 3539
+-117.794 40.744 3548
+-117.668 40.744 3555
+-117.542 40.744 3536
+-117.416 40.744 3504
+-117.29 40.744 3481
+-117.164 40.744 3458
+-117.038 40.744 3400
+-116.912 40.744 3422
+-116.786 40.744 3353
+-116.66 40.744 3327
+-116.534 40.744 3281
+-116.408 40.744 3244
+-116.282 40.744 3182
+-116.156 40.744 3122
+-116.03 40.744 3033
+-115.904 40.744 2962
+-115.778 40.744 2891
+-115.652 40.744 2876
+-115.526 40.744 2869
+-115.4 40.744 2819
+-115.274 40.744 2768
+-115.148 40.744 2690
+-115.022 40.744 2580
+-114.896 40.744 2519
+-114.77 40.744 2535
+-114.644 40.744 2545
+-114.518 40.744 2561
+-114.392 40.744 2498
+-114.266 40.744 2476
+-114.14 40.744 2429
+-114.014 40.744 2367
+-113.888 40.744 2287
+-113.762 40.744 2154
+-113.636 40.744 2051
+-113.51 40.744 1960
+-113.384 40.744 1905
+-113.258 40.744 1893
+-113.132 40.744 1895
+-113.006 40.744 1914
+-112.88 40.744 1925
+-112.754 40.744 1927
+-112.628 40.744 1920
+-112.502 40.744 1908
+-112.376 40.744 1893
+-112.25 40.744 1880
+-112.124 40.744 1869
+-111.998 40.744 1861
+-111.872 40.744 1857
+-111.746 40.744 1855
+-111.62 40.744 1868
+-111.494 40.744 1873
+-111.368 40.744 1879
+-111.242 40.744 1887
+-111.116 40.744 1888
+-110.99 40.744 1899
+-110.864 40.744 1903
+-110.738 40.744 1880
+-110.612 40.744 1894
+-110.486 40.744 1876
+-110.36 40.744 1890
+-110.234 40.744 1904
+-110.108 40.744 1919
+-109.982 40.744 1883
+-109.856 40.744 1900
+-109.73 40.744 1913
+-109.604 40.744 1921
+-109.478 40.744 1952
+-109.352 40.744 1965
+-109.226 40.744 1977
+-109.1 40.744 1977
+-108.974 40.744 2001
+-108.848 40.744 2013
+-108.722 40.744 2050
+-108.596 40.744 2052
+-108.47 40.744 2069
+-108.344 40.744 2081
+-108.218 40.744 2051
+-108.092 40.744 2061
+-107.966 40.744 2071
+-107.84 40.744 1998
+-107.714 40.744 2084
+-107.588 40.744 2090
+-107.462 40.744 2082
+-107.336 40.744 2091
+-107.21 40.744 2074
+-107.084 40.744 2082
+-106.958 40.744 2089
+-106.832 40.744 2096
+-106.706 40.744 2102
+-106.58 40.744 2108
+-106.454 40.744 2087
+-106.328 40.744 2091
+-106.202 40.744 2097
+-106.076 40.744 1972
+-105.95 40.744 1844
+-105.824 40.744 1840
+-105.698 40.744 1836
+-105.572 40.744 1825
+-105.446 40.744 1848
+-105.32 40.744 1837
+-105.194 40.744 1829
+-105.068 40.744 1821
+-104.942 40.744 1812
+-104.816 40.744 1780
+-104.69 40.744 1821
+-104.564 40.744 1818
+-104.438 40.744 1801
+-104.312 40.744 1901
+-104.186 40.744 1933
+-104.06 40.744 1964
+-103.934 40.744 1957
+-103.808 40.744 2120
+-103.682 40.744 2112
+-103.556 40.744 2145
+-103.43 40.744 2155
+-103.304 40.744 2226
+-103.178 40.744 2220
+-103.052 40.744 2213
+-102.926 40.744 2211
+-102.8 40.744 2202
+-102.674 40.744 2193
+-102.548 40.744 2183
+-102.422 40.744 2210
+-102.296 40.744 2198
+-102.17 40.744 2186
+-102.044 40.744 2224
+-101.918 40.744 2209
+-101.792 40.744 2194
+-101.666 40.744 2177
+-101.54 40.744 2159
+-101.414 40.744 2140
+-101.288 40.744 2119
+-101.162 40.744 2163
+-101.036 40.744 2123
+-100.91 40.744 2096
+-100.784 40.744 2161
+-100.658 40.744 2105
+-100.532 40.744 2068
+-100.406 40.744 2114
+-100.28 40.744 2108
+-100.154 40.744 2054
+-100.028 40.744 1993
+-99.902 40.744 1923
+-99.776 40.744 1843
+-99.65 40.744 1765
+-99.524 40.744 1659
+-99.398 40.744 1539
+-99.272 40.744 1407
+-99.146 40.744 1266
+-99.02 40.744 1128
+-98.894 40.744 1035
+-98.768 40.744 952
+-98.642 40.744 936
+-98.516 40.744 1029
+-98.39 40.744 1196
+-98.264 40.744 1426
+-98.138 40.744 1690
+-98.012 40.744 1943
+-97.886 40.744 2170
+-97.76 40.744 2363
+-97.634 40.744 2593
+-97.508 40.744 2803
+-97.382 40.744 3001
+-97.256 40.744 3084
+-97.13 40.744 3149
+-97.004 40.744 3253
+-96.878 40.744 3287
+-96.752 40.744 3366
+-96.626 40.744 3374
+-96.5 40.744 3437
+-96.374 40.744 3402
+-96.248 40.744 3373
+-96.122 40.744 3382
+-95.996 40.744 3345
+-95.87 40.744 3334
+-95.744 40.744 3459
+-95.618 40.744 3723
+-95.492 40.744 3940
+-95.366 40.744 4085
+-95.24 40.744 4190
+-95.114 40.744 4192
+-94.988 40.744 4194
+-94.862 40.744 4299
+-94.736 40.744 4425
+-94.61 40.744 4525
+-94.484 40.744 4645
+-94.358 40.744 4769
+-94.232 40.744 4881
+-94.106 40.744 5068
+-93.98 40.744 5188
+-93.854 40.744 5136
+-93.728 40.744 5287
+-93.602 40.744 5408
+-93.476 40.744 5557
+-93.35 40.744 5676
+-93.224 40.744 5711
+-93.098 40.744 5860
+-92.972 40.744 6026
+-92.846 40.744 6100
+-92.72 40.744 6211
+-92.594 40.744 6298
+-92.468 40.744 6444
+-92.342 40.744 6487
+-92.216 40.744 6575
+-92.09 40.744 6636
+-91.964 40.744 6698
+-91.838 40.744 6795
+-91.712 40.744 6898
+-91.586 40.744 6984
+-91.46 40.744 7020
+-91.334 40.744 7097
+-91.208 40.744 7140
+-91.082 40.744 7210
+-90.956 40.744 7213
+-90.83 40.744 7250
+-90.704 40.744 7302
+-90.578 40.744 7323
+-90.452 40.744 7297
+-90.326 40.744 7299
+-90.2 40.744 7258
+-90.074 40.744 7246
+-89.948 40.744 7235
+-89.822 40.744 7204
+-89.696 40.744 7139
+-89.57 40.744 7133
+-89.444 40.744 6998
+-89.318 40.744 6977
+-89.192 40.744 6915
+-89.066 40.744 6857
+-88.94 40.744 6766
+-88.814 40.744 6723
+-88.688 40.744 6602
+-88.562 40.744 6499
+-88.436 40.744 6400
+-88.31 40.744 6344
+-88.184 40.744 6228
+-88.058 40.744 6096
+-87.932 40.744 6128
+-87.806 40.744 6197
+-87.68 40.744 6167
+-87.554 40.744 6134
+-87.428 40.744 6070
+-87.302 40.744 5965
+-87.176 40.744 5912
+-87.05 40.744 5835
+-86.924 40.744 5762
+-86.798 40.744 5705
+-86.672 40.744 5637
+-86.546 40.744 5571
+-86.42 40.744 5511
+-86.294 40.744 5416
+-86.168 40.744 5332
+-86.042 40.744 5208
+-85.916 40.744 5100
+-85.79 40.744 4996
+-85.664 40.744 4898
+-85.538 40.744 4820
+-85.412 40.744 4707
+-85.286 40.744 4582
+-85.16 40.744 4469
+-85.034 40.744 4380
+-84.908 40.744 4215
+-84.782 40.744 4108
+-84.656 40.744 4023
+-84.53 40.744 3956
+-84.404 40.744 3881
+-84.278 40.744 3736
+-84.152 40.744 3603
+-84.026 40.744 3589
+-83.9 40.744 3555
+-83.774 40.744 3505
+-83.648 40.744 3504
+-83.522 40.744 3529
+-83.396 40.744 3559
+-83.27 40.744 3557
+-83.144 40.744 3576
+-83.018 40.744 3591
+-82.892 40.744 3602
+-82.766 40.744 3612
+-82.64 40.744 3594
+-82.514 40.744 3601
+-82.388 40.744 3595
+-82.262 40.744 3600
+-82.136 40.744 3604
+-82.01 40.744 3590
+-81.884 40.744 3553
+-81.758 40.744 3521
+-81.632 40.744 3522
+-81.506 40.744 3523
+-81.38 40.744 3523
+-81.254 40.744 3524
+-81.128 40.744 3555
+-81.002 40.744 3559
+-80.876 40.744 3551
+-80.75 40.744 3554
+-80.624 40.744 3558
+-80.498 40.744 3561
+-80.372 40.744 3564
+-80.246 40.744 3567
+-80.12 40.744 3570
+-79.994 40.744 3572
+-79.868 40.744 3575
+-79.742 40.744 3577
+-79.616 40.744 3580
+-79.49 40.744 3533
+-79.364 40.744 3535
+-79.238 40.744 3538
+-79.112 40.744 3540
+-78.986 40.744 3542
+-78.86 40.744 3544
+-78.734 40.744 3513
+-78.608 40.744 3515
+-78.482 40.744 3516
+-78.356 40.744 3517
+-78.23 40.744 3536
+-78.104 40.744 3538
+-77.978 40.744 3540
+-77.852 40.744 3504
+-77.726 40.744 3505
+-77.6 40.744 3506
+-77.474 40.744 3590
+-77.348 40.744 3592
+-77.222 40.744 3594
+-77.096 40.744 3595
+-76.97 40.744 3597
+-76.844 40.744 3543
+-76.718 40.744 3544
+-76.592 40.744 3545
+-76.466 40.744 3545
+-76.34 40.744 3546
+-76.214 40.744 3547
+-76.088 40.744 3548
+-75.962 40.744 3548
+-75.836 40.744 3549
+-75.71 40.744 3550
+-75.584 40.744 3527
+-75.458 40.744 3517
+-75.332 40.744 3518
+-75.206 40.744 3518
+-75.08 40.744 3519
+-74.954 40.744 3520
+-74.828 40.744 3504
+-74.702 40.744 3504
+-74.576 40.744 3505
+-74.45 40.744 3505
+-74.324 40.744 3506
+-74.198 40.744 3506
+-74.072 40.744 3507
+-73.946 40.744 3507
+-73.82 40.744 3508
+-73.694 40.744 3452
+-73.568 40.744 3452
+-73.442 40.744 3453
+-73.316 40.744 3453
+-73.19 40.744 3454
+-73.064 40.744 3454
+-72.938 40.744 3454
+-72.812 40.744 3455
+-72.686 40.744 3455
+-72.56 40.744 3455
+-72.434 40.744 3456
+-72.308 40.744 3456
+-72.182 40.744 3456
+-72.056 40.744 3383
+-71.93 40.744 3382
+-71.804 40.744 3382
+-71.678 40.744 3382
+-71.552 40.744 3382
+-71.426 40.744 3382
+-71.3 40.744 3381
+-71.174 40.744 3381
+-71.048 40.744 3381
+-70.922 40.744 3381
+-70.796 40.744 3381
+-70.67 40.744 3381
+-70.544 40.744 3380
+-70.418 40.744 3380
+-70.292 40.744 3380
+-70.166 40.744 3380
+-70.04 40.744 3380
+-69.914 40.744 3380
+-69.788 40.744 3379
+-69.662 40.744 3379
+-69.536 40.744 3379
+-69.41 40.744 3379
+-69.284 40.744 3379
+-69.158 40.744 3379
+-69.032 40.744 3379
+-68.906 40.744 3069
+-68.78 40.744 3068
+-68.654 40.744 3068
+-68.528 40.744 3067
+-68.402 40.744 3067
+-68.276 40.744 3066
+-68.15 40.744 3065
+-68.024 40.744 3065
+-67.898 40.744 3064
+-67.772 40.744 3064
+-67.646 40.744 3063
+-67.52 40.744 3063
+-67.394 40.744 3062
+-67.268 40.744 3062
+-67.142 40.744 3061
+-67.016 40.744 3061
+-66.89 40.744 3060
+-66.764 40.744 3060
+-66.638 40.744 2933
+-66.512 40.744 2932
+-66.386 40.744 2901
+-66.26 40.744 2854
+-66.134 40.744 2854
+-66.008 40.744 2853
+-65.882 40.744 2869
+-65.756 40.744 2869
+-65.63 40.744 2880
+-65.504 40.744 2880
+-65.378 40.744 2837
+-65.252 40.744 2802
+-65.126 40.744 2802
+-128 40.692 2431
+-127.874 40.692 2380
+-127.748 40.692 2332
+-127.622 40.692 2274
+-127.496 40.692 2222
+-127.37 40.692 2210
+-127.244 40.692 2217
+-127.118 40.692 2213
+-126.992 40.692 2277
+-126.866 40.692 2331
+-126.74 40.692 2396
+-126.614 40.692 2455
+-126.488 40.692 2513
+-126.362 40.692 2564
+-126.236 40.692 2608
+-126.11 40.692 2636
+-125.984 40.692 2690
+-125.858 40.692 2725
+-125.732 40.692 2756
+-125.606 40.692 2779
+-125.48 40.692 2802
+-125.354 40.692 2821
+-125.228 40.692 2836
+-125.102 40.692 2846
+-124.976 40.692 2853
+-124.85 40.692 2854
+-124.724 40.692 2843
+-124.598 40.692 2834
+-124.472 40.692 2799
+-124.346 40.692 2819
+-124.22 40.692 2796
+-124.094 40.692 2765
+-123.968 40.692 2729
+-123.842 40.692 2708
+-123.716 40.692 2690
+-123.59 40.692 2681
+-123.464 40.692 2693
+-123.338 40.692 2723
+-123.212 40.692 2760
+-123.086 40.692 2796
+-122.96 40.692 2823
+-122.834 40.692 2847
+-122.708 40.692 2856
+-122.582 40.692 2867
+-122.456 40.692 2861
+-122.33 40.692 2848
+-122.204 40.692 2860
+-122.078 40.692 2867
+-121.952 40.692 2914
+-121.826 40.692 2925
+-121.7 40.692 2992
+-121.574 40.692 3045
+-121.448 40.692 3093
+-121.322 40.692 3133
+-121.196 40.692 3152
+-121.07 40.692 3175
+-120.944 40.692 3192
+-120.818 40.692 3190
+-120.692 40.692 3217
+-120.566 40.692 3232
+-120.44 40.692 3246
+-120.314 40.692 3261
+-120.188 40.692 3306
+-120.062 40.692 3355
+-119.936 40.692 3374
+-119.81 40.692 3375
+-119.684 40.692 3379
+-119.558 40.692 3391
+-119.432 40.692 3415
+-119.306 40.692 3448
+-119.18 40.692 3448
+-119.054 40.692 3441
+-118.928 40.692 3449
+-118.802 40.692 3461
+-118.676 40.692 3473
+-118.55 40.692 3473
+-118.424 40.692 3474
+-118.298 40.692 3485
+-118.172 40.692 3489
+-118.046 40.692 3482
+-117.92 40.692 3464
+-117.794 40.692 3461
+-117.668 40.692 3473
+-117.542 40.692 3465
+-117.416 40.692 3451
+-117.29 40.692 3429
+-117.164 40.692 3367
+-117.038 40.692 3341
+-116.912 40.692 3304
+-116.786 40.692 3276
+-116.66 40.692 3246
+-116.534 40.692 3210
+-116.408 40.692 3173
+-116.282 40.692 3106
+-116.156 40.692 3055
+-116.03 40.692 2980
+-115.904 40.692 2931
+-115.778 40.692 2880
+-115.652 40.692 2869
+-115.526 40.692 2849
+-115.4 40.692 2799
+-115.274 40.692 2731
+-115.148 40.692 2646
+-115.022 40.692 2520
+-114.896 40.692 2464
+-114.77 40.692 2500
+-114.644 40.692 2525
+-114.518 40.692 2524
+-114.392 40.692 2479
+-114.266 40.692 2447
+-114.14 40.692 2412
+-114.014 40.692 2353
+-113.888 40.692 2262
+-113.762 40.692 2191
+-113.636 40.692 2117
+-113.51 40.692 2042
+-113.384 40.692 1987
+-113.258 40.692 1966
+-113.132 40.692 1940
+-113.006 40.692 1933
+-112.88 40.692 1925
+-112.754 40.692 1907
+-112.628 40.692 1885
+-112.502 40.692 1862
+-112.376 40.692 1840
+-112.25 40.692 1821
+-112.124 40.692 1808
+-111.998 40.692 1801
+-111.872 40.692 1798
+-111.746 40.692 1798
+-111.62 40.692 1802
+-111.494 40.692 1812
+-111.368 40.692 1816
+-111.242 40.692 1831
+-111.116 40.692 1844
+-110.99 40.692 1858
+-110.864 40.692 1864
+-110.738 40.692 1880
+-110.612 40.692 1853
+-110.486 40.692 1869
+-110.36 40.692 1894
+-110.234 40.692 1912
+-110.108 40.692 1848
+-109.982 40.692 1862
+-109.856 40.692 1882
+-109.73 40.692 1891
+-109.604 40.692 1924
+-109.478 40.692 1939
+-109.352 40.692 1953
+-109.226 40.692 1966
+-109.1 40.692 1979
+-108.974 40.692 1977
+-108.848 40.692 1997
+-108.722 40.692 2029
+-108.596 40.692 2042
+-108.47 40.692 2060
+-108.344 40.692 2033
+-108.218 40.692 2041
+-108.092 40.692 2052
+-107.966 40.692 1986
+-107.84 40.692 2070
+-107.714 40.692 2080
+-107.588 40.692 2090
+-107.462 40.692 2079
+-107.336 40.692 2062
+-107.21 40.692 2070
+-107.084 40.692 2078
+-106.958 40.692 2085
+-106.832 40.692 2092
+-106.706 40.692 2099
+-106.58 40.692 2091
+-106.454 40.692 2084
+-106.328 40.692 2088
+-106.202 40.692 2076
+-106.076 40.692 1971
+-105.95 40.692 1952
+-105.824 40.692 1844
+-105.698 40.692 1836
+-105.572 40.692 1859
+-105.446 40.692 1850
+-105.32 40.692 1843
+-105.194 40.692 1836
+-105.068 40.692 1828
+-104.942 40.692 1824
+-104.816 40.692 1787
+-104.69 40.692 1828
+-104.564 40.692 1826
+-104.438 40.692 1807
+-104.312 40.692 1908
+-104.186 40.692 1935
+-104.06 40.692 1971
+-103.934 40.692 1964
+-103.808 40.692 2126
+-103.682 40.692 2118
+-103.556 40.692 2151
+-103.43 40.692 2162
+-103.304 40.692 2167
+-103.178 40.692 2226
+-103.052 40.692 2220
+-102.926 40.692 2219
+-102.8 40.692 2210
+-102.674 40.692 2201
+-102.548 40.692 2192
+-102.422 40.692 2182
+-102.296 40.692 2208
+-102.17 40.692 2196
+-102.044 40.692 2183
+-101.918 40.692 2242
+-101.792 40.692 2204
+-101.666 40.692 2187
+-101.54 40.692 2170
+-101.414 40.692 2151
+-101.288 40.692 2130
+-101.162 40.692 2107
+-101.036 40.692 2148
+-100.91 40.692 2190
+-100.784 40.692 2170
+-100.658 40.692 2135
+-100.532 40.692 2074
+-100.406 40.692 2117
+-100.28 40.692 2069
+-100.154 40.692 2053
+-100.028 40.692 1988
+-99.902 40.692 1912
+-99.776 40.692 1825
+-99.65 40.692 1724
+-99.524 40.692 1619
+-99.398 40.692 1482
+-99.272 40.692 1328
+-99.146 40.692 1159
+-99.02 40.692 984
+-98.894 40.692 825
+-98.768 40.692 724
+-98.642 40.692 687
+-98.516 40.692 762
+-98.39 40.692 968
+-98.264 40.692 1244
+-98.138 40.692 1549
+-98.012 40.692 1848
+-97.886 40.692 2107
+-97.76 40.692 2392
+-97.634 40.692 2641
+-97.508 40.692 2872
+-97.382 40.692 2983
+-97.256 40.692 3071
+-97.13 40.692 3140
+-97.004 40.692 3196
+-96.878 40.692 3355
+-96.752 40.692 3381
+-96.626 40.692 3416
+-96.5 40.692 3489
+-96.374 40.692 3490
+-96.248 40.692 3477
+-96.122 40.692 3497
+-95.996 40.692 3489
+-95.87 40.692 3519
+-95.744 40.692 3655
+-95.618 40.692 3860
+-95.492 40.692 4021
+-95.366 40.692 4158
+-95.24 40.692 4202
+-95.114 40.692 4160
+-94.988 40.692 4049
+-94.862 40.692 4253
+-94.736 40.692 4433
+-94.61 40.692 4527
+-94.484 40.692 4653
+-94.358 40.692 4756
+-94.232 40.692 4862
+-94.106 40.692 5072
+-93.98 40.692 5221
+-93.854 40.692 5256
+-93.728 40.692 5355
+-93.602 40.692 5471
+-93.476 40.692 5595
+-93.35 40.692 5688
+-93.224 40.692 5785
+-93.098 40.692 5931
+-92.972 40.692 5999
+-92.846 40.692 6139
+-92.72 40.692 6226
+-92.594 40.692 6317
+-92.468 40.692 6447
+-92.342 40.692 6501
+-92.216 40.692 6633
+-92.09 40.692 6674
+-91.964 40.692 6772
+-91.838 40.692 6832
+-91.712 40.692 6955
+-91.586 40.692 7040
+-91.46 40.692 7071
+-91.334 40.692 7171
+-91.208 40.692 7180
+-91.082 40.692 7238
+-90.956 40.692 7279
+-90.83 40.692 7305
+-90.704 40.692 7337
+-90.578 40.692 7355
+-90.452 40.692 7347
+-90.326 40.692 7347
+-90.2 40.692 7329
+-90.074 40.692 7303
+-89.948 40.692 7280
+-89.822 40.692 7262
+-89.696 40.692 7216
+-89.57 40.692 7132
+-89.444 40.692 7095
+-89.318 40.692 7045
+-89.192 40.692 6959
+-89.066 40.692 6886
+-88.94 40.692 6797
+-88.814 40.692 6712
+-88.688 40.692 6645
+-88.562 40.692 6549
+-88.436 40.692 6439
+-88.31 40.692 6354
+-88.184 40.692 6282
+-88.058 40.692 6149
+-87.932 40.692 6277
+-87.806 40.692 6263
+-87.68 40.692 6230
+-87.554 40.692 6175
+-87.428 40.692 6104
+-87.302 40.692 6028
+-87.176 40.692 5930
+-87.05 40.692 5874
+-86.924 40.692 5796
+-86.798 40.692 5737
+-86.672 40.692 5648
+-86.546 40.692 5530
+-86.42 40.692 5489
+-86.294 40.692 5473
+-86.168 40.692 5352
+-86.042 40.692 5220
+-85.916 40.692 5080
+-85.79 40.692 5034
+-85.664 40.692 4957
+-85.538 40.692 4857
+-85.412 40.692 4744
+-85.286 40.692 4606
+-85.16 40.692 4476
+-85.034 40.692 4430
+-84.908 40.692 4264
+-84.782 40.692 4172
+-84.656 40.692 4079
+-84.53 40.692 3993
+-84.404 40.692 3904
+-84.278 40.692 3809
+-84.152 40.692 3706
+-84.026 40.692 3617
+-83.9 40.692 3474
+-83.774 40.692 3352
+-83.648 40.692 3403
+-83.522 40.692 3489
+-83.396 40.692 3523
+-83.27 40.692 3555
+-83.144 40.692 3577
+-83.018 40.692 3592
+-82.892 40.692 3603
+-82.766 40.692 3612
+-82.64 40.692 3619
+-82.514 40.692 3602
+-82.388 40.692 3608
+-82.262 40.692 3602
+-82.136 40.692 3628
+-82.01 40.692 3552
+-81.884 40.692 3520
+-81.758 40.692 3521
+-81.632 40.692 3522
+-81.506 40.692 3523
+-81.38 40.692 3524
+-81.254 40.692 3554
+-81.128 40.692 3559
+-81.002 40.692 3550
+-80.876 40.692 3554
+-80.75 40.692 3557
+-80.624 40.692 3561
+-80.498 40.692 3564
+-80.372 40.692 3567
+-80.246 40.692 3570
+-80.12 40.692 3573
+-79.994 40.692 3575
+-79.868 40.692 3578
+-79.742 40.692 3580
+-79.616 40.692 3536
+-79.49 40.692 3538
+-79.364 40.692 3540
+-79.238 40.692 3542
+-79.112 40.692 3544
+-78.986 40.692 3546
+-78.86 40.692 3516
+-78.734 40.692 3517
+-78.608 40.692 3518
+-78.482 40.692 3520
+-78.356 40.692 3538
+-78.23 40.692 3540
+-78.104 40.692 3542
+-77.978 40.692 3506
+-77.852 40.692 3507
+-77.726 40.692 3509
+-77.6 40.692 3589
+-77.474 40.692 3591
+-77.348 40.692 3593
+-77.222 40.692 3595
+-77.096 40.692 3597
+-76.97 40.692 3543
+-76.844 40.692 3544
+-76.718 40.692 3544
+-76.592 40.692 3545
+-76.466 40.692 3546
+-76.34 40.692 3547
+-76.214 40.692 3548
+-76.088 40.692 3548
+-75.962 40.692 3549
+-75.836 40.692 3550
+-75.71 40.692 3527
+-75.584 40.692 3517
+-75.458 40.692 3517
+-75.332 40.692 3518
+-75.206 40.692 3519
+-75.08 40.692 3520
+-74.954 40.692 3520
+-74.828 40.692 3504
+-74.702 40.692 3505
+-74.576 40.692 3505
+-74.45 40.692 3506
+-74.324 40.692 3506
+-74.198 40.692 3507
+-74.072 40.692 3507
+-73.946 40.692 3508
+-73.82 40.692 3452
+-73.694 40.692 3452
+-73.568 40.692 3453
+-73.442 40.692 3453
+-73.316 40.692 3453
+-73.19 40.692 3454
+-73.064 40.692 3454
+-72.938 40.692 3455
+-72.812 40.692 3455
+-72.686 40.692 3455
+-72.56 40.692 3456
+-72.434 40.692 3456
+-72.308 40.692 3456
+-72.182 40.692 3383
+-72.056 40.692 3382
+-71.93 40.692 3382
+-71.804 40.692 3382
+-71.678 40.692 3382
+-71.552 40.692 3382
+-71.426 40.692 3382
+-71.3 40.692 3381
+-71.174 40.692 3381
+-71.048 40.692 3381
+-70.922 40.692 3381
+-70.796 40.692 3381
+-70.67 40.692 3380
+-70.544 40.692 3380
+-70.418 40.692 3380
+-70.292 40.692 3380
+-70.166 40.692 3380
+-70.04 40.692 3380
+-69.914 40.692 3379
+-69.788 40.692 3379
+-69.662 40.692 3379
+-69.536 40.692 3379
+-69.41 40.692 3379
+-69.284 40.692 3379
+-69.158 40.692 3378
+-69.032 40.692 3069
+-68.906 40.692 3068
+-68.78 40.692 3068
+-68.654 40.692 3067
+-68.528 40.692 3067
+-68.402 40.692 3066
+-68.276 40.692 3065
+-68.15 40.692 3065
+-68.024 40.692 3064
+-67.898 40.692 3064
+-67.772 40.692 3063
+-67.646 40.692 3063
+-67.52 40.692 3062
+-67.394 40.692 3062
+-67.268 40.692 3061
+-67.142 40.692 3061
+-67.016 40.692 3060
+-66.89 40.692 3060
+-66.764 40.692 2933
+-66.638 40.692 2932
+-66.512 40.692 2901
+-66.386 40.692 2854
+-66.26 40.692 2854
+-66.134 40.692 2853
+-66.008 40.692 2869
+-65.882 40.692 2868
+-65.756 40.692 2880
+-65.63 40.692 2879
+-65.504 40.692 2837
+-65.378 40.692 2802
+-65.252 40.692 2802
+-65.126 40.692 2801
+-128 40.64 2480
+-127.874 40.64 2441
+-127.748 40.64 2383
+-127.622 40.64 2328
+-127.496 40.64 2310
+-127.37 40.64 2303
+-127.244 40.64 2276
+-127.118 40.64 2322
+-126.992 40.64 2354
+-126.866 40.64 2399
+-126.74 40.64 2444
+-126.614 40.64 2492
+-126.488 40.64 2538
+-126.362 40.64 2579
+-126.236 40.64 2606
+-126.11 40.64 2659
+-125.984 40.64 2694
+-125.858 40.64 2725
+-125.732 40.64 2747
+-125.606 40.64 2770
+-125.48 40.64 2789
+-125.354 40.64 2804
+-125.228 40.64 2815
+-125.102 40.64 2822
+-124.976 40.64 2824
+-124.85 40.64 2814
+-124.724 40.64 2807
+-124.598 40.64 2771
+-124.472 40.64 2759
+-124.346 40.64 2745
+-124.22 40.64 2749
+-124.094 40.64 2716
+-123.968 40.64 2700
+-123.842 40.64 2686
+-123.716 40.64 2680
+-123.59 40.64 2680
+-123.464 40.64 2679
+-123.338 40.64 2682
+-123.212 40.64 2701
+-123.086 40.64 2740
+-122.96 40.64 2749
+-122.834 40.64 2774
+-122.708 40.64 2814
+-122.582 40.64 2811
+-122.456 40.64 2792
+-122.33 40.64 2800
+-122.204 40.64 2813
+-122.078 40.64 2814
+-121.952 40.64 2833
+-121.826 40.64 2841
+-121.7 40.64 2899
+-121.574 40.64 2916
+-121.448 40.64 3002
+-121.322 40.64 3058
+-121.196 40.64 3091
+-121.07 40.64 3131
+-120.944 40.64 3158
+-120.818 40.64 3179
+-120.692 40.64 3187
+-120.566 40.64 3192
+-120.44 40.64 3178
+-120.314 40.64 3177
+-120.188 40.64 3214
+-120.062 40.64 3282
+-119.936 40.64 3323
+-119.81 40.64 3347
+-119.684 40.64 3341
+-119.558 40.64 3337
+-119.432 40.64 3360
+-119.306 40.64 3391
+-119.18 40.64 3411
+-119.054 40.64 3419
+-118.928 40.64 3441
+-118.802 40.64 3430
+-118.676 40.64 3454
+-118.55 40.64 3455
+-118.424 40.64 3468
+-118.298 40.64 3463
+-118.172 40.64 3460
+-118.046 40.64 3431
+-117.92 40.64 3400
+-117.794 40.64 3379
+-117.668 40.64 3388
+-117.542 40.64 3399
+-117.416 40.64 3389
+-117.29 40.64 3361
+-117.164 40.64 3301
+-117.038 40.64 3268
+-116.912 40.64 3235
+-116.786 40.64 3209
+-116.66 40.64 3183
+-116.534 40.64 3137
+-116.408 40.64 3090
+-116.282 40.64 3050
+-116.156 40.64 2998
+-116.03 40.64 2951
+-115.904 40.64 2871
+-115.778 40.64 2851
+-115.652 40.64 2821
+-115.526 40.64 2795
+-115.4 40.64 2756
+-115.274 40.64 2707
+-115.148 40.64 2619
+-115.022 40.64 2542
+-114.896 40.64 2501
+-114.77 40.64 2511
+-114.644 40.64 2511
+-114.518 40.64 2516
+-114.392 40.64 2447
+-114.266 40.64 2414
+-114.14 40.64 2377
+-114.014 40.64 2330
+-113.888 40.64 2290
+-113.762 40.64 2197
+-113.636 40.64 2143
+-113.51 40.64 2091
+-113.384 40.64 2045
+-113.258 40.64 2014
+-113.132 40.64 1982
+-113.006 40.64 1937
+-112.88 40.64 1907
+-112.754 40.64 1870
+-112.628 40.64 1835
+-112.502 40.64 1799
+-112.376 40.64 1769
+-112.25 40.64 1747
+-112.124 40.64 1734
+-111.998 40.64 1728
+-111.872 40.64 1729
+-111.746 40.64 1733
+-111.62 40.64 1740
+-111.494 40.64 1751
+-111.368 40.64 1763
+-111.242 40.64 1779
+-111.116 40.64 1795
+-110.99 40.64 1812
+-110.864 40.64 1831
+-110.738 40.64 1841
+-110.612 40.64 1861
+-110.486 40.64 1807
+-110.36 40.64 1828
+-110.234 40.64 1846
+-110.108 40.64 1865
+-109.982 40.64 1832
+-109.856 40.64 1865
+-109.73 40.64 1875
+-109.604 40.64 1909
+-109.478 40.64 1925
+-109.352 40.64 1941
+-109.226 40.64 1955
+-109.1 40.64 1960
+-108.974 40.64 1987
+-108.848 40.64 2000
+-108.722 40.64 1966
+-108.596 40.64 2002
+-108.47 40.64 2015
+-108.344 40.64 2025
+-108.218 40.64 2037
+-108.092 40.64 1972
+-107.966 40.64 2055
+-107.84 40.64 2066
+-107.714 40.64 2047
+-107.588 40.64 2067
+-107.462 40.64 2076
+-107.336 40.64 2085
+-107.21 40.64 2067
+-107.084 40.64 2075
+-106.958 40.64 2082
+-106.832 40.64 2089
+-106.706 40.64 2085
+-106.58 40.64 2077
+-106.454 40.64 2080
+-106.328 40.64 2084
+-106.202 40.64 2078
+-106.076 40.64 1974
+-105.95 40.64 1954
+-105.824 40.64 1846
+-105.698 40.64 1869
+-105.572 40.64 1862
+-105.446 40.64 1857
+-105.32 40.64 1850
+-105.194 40.64 1849
+-105.068 40.64 1841
+-104.942 40.64 1833
+-104.816 40.64 1795
+-104.69 40.64 1836
+-104.564 40.64 1833
+-104.438 40.64 1814
+-104.312 40.64 1915
+-104.186 40.64 1943
+-104.06 40.64 1934
+-103.934 40.64 1971
+-103.808 40.64 2133
+-103.682 40.64 2125
+-103.556 40.64 2157
+-103.43 40.64 2169
+-103.304 40.64 2174
+-103.178 40.64 2233
+-103.052 40.64 2227
+-102.926 40.64 2227
+-102.8 40.64 2218
+-102.674 40.64 2210
+-102.548 40.64 2200
+-102.422 40.64 2191
+-102.296 40.64 2217
+-102.17 40.64 2206
+-102.044 40.64 2193
+-101.918 40.64 2180
+-101.792 40.64 2237
+-101.666 40.64 2220
+-101.54 40.64 2219
+-101.414 40.64 2199
+-101.288 40.64 2177
+-101.162 40.64 2154
+-101.036 40.64 2192
+-100.91 40.64 2132
+-100.784 40.64 2170
+-100.658 40.64 2145
+-100.532 40.64 2106
+-100.406 40.64 2123
+-100.28 40.64 2074
+-100.154 40.64 2017
+-100.028 40.64 1989
+-99.902 40.64 1910
+-99.776 40.64 1818
+-99.65 40.64 1711
+-99.524 40.64 1585
+-99.398 40.64 1448
+-99.272 40.64 1278
+-99.146 40.64 1087
+-99.02 40.64 887
+-98.894 40.64 696
+-98.768 40.64 552
+-98.642 40.64 501
+-98.516 40.64 577
+-98.39 40.64 788
+-98.264 40.64 1111
+-98.138 40.64 1455
+-98.012 40.64 1780
+-97.886 40.64 2121
+-97.76 40.64 2431
+-97.634 40.64 2733
+-97.508 40.64 2882
+-97.382 40.64 3007
+-97.256 40.64 3097
+-97.13 40.64 3169
+-97.004 40.64 3267
+-96.878 40.64 3317
+-96.752 40.64 3389
+-96.626 40.64 3454
+-96.5 40.64 3549
+-96.374 40.64 3551
+-96.248 40.64 3569
+-96.122 40.64 3579
+-95.996 40.64 3634
+-95.87 40.64 3715
+-95.744 40.64 3845
+-95.618 40.64 3984
+-95.492 40.64 4097
+-95.366 40.64 4186
+-95.24 40.64 4253
+-95.114 40.64 4241
+-94.988 40.64 4246
+-94.862 40.64 4337
+-94.736 40.64 4424
+-94.61 40.64 4532
+-94.484 40.64 4649
+-94.358 40.64 4755
+-94.232 40.64 4916
+-94.106 40.64 5084
+-93.98 40.64 5266
+-93.854 40.64 5336
+-93.728 40.64 5431
+-93.602 40.64 5549
+-93.476 40.64 5643
+-93.35 40.64 5723
+-93.224 40.64 5838
+-93.098 40.64 5974
+-92.972 40.64 6071
+-92.846 40.64 6159
+-92.72 40.64 6215
+-92.594 40.64 6355
+-92.468 40.64 6503
+-92.342 40.64 6612
+-92.216 40.64 6674
+-92.09 40.64 6733
+-91.964 40.64 6824
+-91.838 40.64 6901
+-91.712 40.64 6997
+-91.586 40.64 7039
+-91.46 40.64 7118
+-91.334 40.64 7192
+-91.208 40.64 7269
+-91.082 40.64 7307
+-90.956 40.64 7338
+-90.83 40.64 7363
+-90.704 40.64 7396
+-90.578 40.64 7408
+-90.452 40.64 7419
+-90.326 40.64 7417
+-90.2 40.64 7418
+-90.074 40.64 7415
+-89.948 40.64 7343
+-89.822 40.64 7327
+-89.696 40.64 7246
+-89.57 40.64 7217
+-89.444 40.64 7132
+-89.318 40.64 7042
+-89.192 40.64 7011
+-89.066 40.64 6923
+-88.94 40.64 6830
+-88.814 40.64 6757
+-88.688 40.64 6625
+-88.562 40.64 6565
+-88.436 40.64 6467
+-88.31 40.64 6399
+-88.184 40.64 6286
+-88.058 40.64 6324
+-87.932 40.64 6365
+-87.806 40.64 6348
+-87.68 40.64 6291
+-87.554 40.64 6227
+-87.428 40.64 6149
+-87.302 40.64 6098
+-87.176 40.64 5996
+-87.05 40.64 5901
+-86.924 40.64 5836
+-86.798 40.64 5749
+-86.672 40.64 5702
+-86.546 40.64 5605
+-86.42 40.64 5476
+-86.294 40.64 5493
+-86.168 40.64 5374
+-86.042 40.64 5264
+-85.916 40.64 5167
+-85.79 40.64 5106
+-85.664 40.64 5004
+-85.538 40.64 4866
+-85.412 40.64 4725
+-85.286 40.64 4662
+-85.16 40.64 4551
+-85.034 40.64 4441
+-84.908 40.64 4336
+-84.782 40.64 4240
+-84.656 40.64 4145
+-84.53 40.64 4041
+-84.404 40.64 3962
+-84.278 40.64 3864
+-84.152 40.64 3737
+-84.026 40.64 3622
+-83.9 40.64 3397
+-83.774 40.64 3188
+-83.648 40.64 3331
+-83.522 40.64 3454
+-83.396 40.64 3521
+-83.27 40.64 3556
+-83.144 40.64 3578
+-83.018 40.64 3593
+-82.892 40.64 3603
+-82.766 40.64 3612
+-82.64 40.64 3619
+-82.514 40.64 3626
+-82.388 40.64 3608
+-82.262 40.64 3623
+-82.136 40.64 3590
+-82.01 40.64 3543
+-81.884 40.64 3545
+-81.758 40.64 3547
+-81.632 40.64 3549
+-81.506 40.64 3551
+-81.38 40.64 3553
+-81.254 40.64 3558
+-81.128 40.64 3550
+-81.002 40.64 3554
+-80.876 40.64 3557
+-80.75 40.64 3561
+-80.624 40.64 3564
+-80.498 40.64 3567
+-80.372 40.64 3570
+-80.246 40.64 3573
+-80.12 40.64 3576
+-79.994 40.64 3578
+-79.868 40.64 3581
+-79.742 40.64 3538
+-79.616 40.64 3540
+-79.49 40.64 3543
+-79.364 40.64 3545
+-79.238 40.64 3547
+-79.112 40.64 3549
+-78.986 40.64 3519
+-78.86 40.64 3520
+-78.734 40.64 3521
+-78.608 40.64 3522
+-78.482 40.64 3540
+-78.356 40.64 3542
+-78.23 40.64 3544
+-78.104 40.64 3508
+-77.978 40.64 3510
+-77.852 40.64 3511
+-77.726 40.64 3589
+-77.6 40.64 3591
+-77.474 40.64 3593
+-77.348 40.64 3595
+-77.222 40.64 3596
+-77.096 40.64 3543
+-76.97 40.64 3543
+-76.844 40.64 3544
+-76.718 40.64 3545
+-76.592 40.64 3546
+-76.466 40.64 3547
+-76.34 40.64 3548
+-76.214 40.64 3548
+-76.088 40.64 3549
+-75.962 40.64 3550
+-75.836 40.64 3527
+-75.71 40.64 3517
+-75.584 40.64 3517
+-75.458 40.64 3518
+-75.332 40.64 3519
+-75.206 40.64 3520
+-75.08 40.64 3504
+-74.954 40.64 3504
+-74.828 40.64 3505
+-74.702 40.64 3505
+-74.576 40.64 3506
+-74.45 40.64 3506
+-74.324 40.64 3507
+-74.198 40.64 3507
+-74.072 40.64 3508
+-73.946 40.64 3452
+-73.82 40.64 3452
+-73.694 40.64 3452
+-73.568 40.64 3453
+-73.442 40.64 3453
+-73.316 40.64 3454
+-73.19 40.64 3454
+-73.064 40.64 3454
+-72.938 40.64 3455
+-72.812 40.64 3455
+-72.686 40.64 3455
+-72.56 40.64 3456
+-72.434 40.64 3456
+-72.308 40.64 3383
+-72.182 40.64 3383
+-72.056 40.64 3382
+-71.93 40.64 3382
+-71.804 40.64 3382
+-71.678 40.64 3382
+-71.552 40.64 3382
+-71.426 40.64 3381
+-71.3 40.64 3381
+-71.174 40.64 3381
+-71.048 40.64 3381
+-70.922 40.64 3381
+-70.796 40.64 3380
+-70.67 40.64 3380
+-70.544 40.64 3380
+-70.418 40.64 3380
+-70.292 40.64 3380
+-70.166 40.64 3380
+-70.04 40.64 3379
+-69.914 40.64 3379
+-69.788 40.64 3379
+-69.662 40.64 3379
+-69.536 40.64 3379
+-69.41 40.64 3379
+-69.284 40.64 3378
+-69.158 40.64 3069
+-69.032 40.64 3069
+-68.906 40.64 3068
+-68.78 40.64 3067
+-68.654 40.64 3067
+-68.528 40.64 3066
+-68.402 40.64 3066
+-68.276 40.64 3065
+-68.15 40.64 3064
+-68.024 40.64 3064
+-67.898 40.64 3063
+-67.772 40.64 3063
+-67.646 40.64 3062
+-67.52 40.64 3062
+-67.394 40.64 3061
+-67.268 40.64 3061
+-67.142 40.64 3060
+-67.016 40.64 3060
+-66.89 40.64 2933
+-66.764 40.64 2932
+-66.638 40.64 2901
+-66.512 40.64 2854
+-66.386 40.64 2854
+-66.26 40.64 2853
+-66.134 40.64 2869
+-66.008 40.64 2868
+-65.882 40.64 2880
+-65.756 40.64 2879
+-65.63 40.64 2837
+-65.504 40.64 2802
+-65.378 40.64 2801
+-65.252 40.64 2801
+-65.126 40.64 2801
+-128 40.588 2528
+-127.874 40.588 2473
+-127.748 40.588 2415
+-127.622 40.588 2396
+-127.496 40.588 2384
+-127.37 40.588 2342
+-127.244 40.588 2377
+-127.118 40.588 2392
+-126.992 40.588 2421
+-126.866 40.588 2450
+-126.74 40.588 2487
+-126.614 40.588 2524
+-126.488 40.588 2559
+-126.362 40.588 2582
+-126.236 40.588 2633
+-126.11 40.588 2668
+-125.984 40.588 2698
+-125.858 40.588 2720
+-125.732 40.588 2742
+-125.606 40.588 2761
+-125.48 40.588 2776
+-125.354 40.588 2787
+-125.228 40.588 2794
+-125.102 40.588 2797
+-124.976 40.588 2787
+-124.85 40.588 2780
+-124.724 40.588 2745
+-124.598 40.588 2734
+-124.472 40.588 2720
+-124.346 40.588 2690
+-124.22 40.588 2695
+-124.094 40.588 2678
+-123.968 40.588 2662
+-123.842 40.588 2644
+-123.716 40.588 2637
+-123.59 40.588 2631
+-123.464 40.588 2621
+-123.338 40.588 2621
+-123.212 40.588 2640
+-123.086 40.588 2662
+-122.96 40.588 2695
+-122.834 40.588 2744
+-122.708 40.588 2712
+-122.582 40.588 2724
+-122.456 40.588 2729
+-122.33 40.588 2728
+-122.204 40.588 2734
+-122.078 40.588 2755
+-121.952 40.588 2756
+-121.826 40.588 2761
+-121.7 40.588 2813
+-121.574 40.588 2835
+-121.448 40.588 2888
+-121.322 40.588 3006
+-121.196 40.588 3049
+-121.07 40.588 3084
+-120.944 40.588 3120
+-120.818 40.588 3133
+-120.692 40.588 3149
+-120.566 40.588 3134
+-120.44 40.588 3091
+-120.314 40.588 3068
+-120.188 40.588 3118
+-120.062 40.588 3217
+-119.936 40.588 3272
+-119.81 40.588 3289
+-119.684 40.588 3268
+-119.558 40.588 3249
+-119.432 40.588 3281
+-119.306 40.588 3335
+-119.18 40.588 3382
+-119.054 40.588 3391
+-118.928 40.588 3356
+-118.802 40.588 3404
+-118.676 40.588 3441
+-118.55 40.588 3455
+-118.424 40.588 3458
+-118.298 40.588 3449
+-118.172 40.588 3431
+-118.046 40.588 3401
+-117.92 40.588 3367
+-117.794 40.588 3360
+-117.668 40.588 3358
+-117.542 40.588 3357
+-117.416 40.588 3331
+-117.29 40.588 3289
+-117.164 40.588 3221
+-117.038 40.588 3197
+-116.912 40.588 3189
+-116.786 40.588 3163
+-116.66 40.588 3121
+-116.534 40.588 3075
+-116.408 40.588 3040
+-116.282 40.588 2966
+-116.156 40.588 2969
+-116.03 40.588 2900
+-115.904 40.588 2838
+-115.778 40.588 2793
+-115.652 40.588 2771
+-115.526 40.588 2747
+-115.4 40.588 2717
+-115.274 40.588 2678
+-115.148 40.588 2616
+-115.022 40.588 2571
+-114.896 40.588 2540
+-114.77 40.588 2525
+-114.644 40.588 2506
+-114.518 40.588 2462
+-114.392 40.588 2393
+-114.266 40.588 2346
+-114.14 40.588 2320
+-114.014 40.588 2298
+-113.888 40.588 2241
+-113.762 40.588 2207
+-113.636 40.588 2167
+-113.51 40.588 2122
+-113.384 40.588 2076
+-113.258 40.588 2033
+-113.132 40.588 1987
+-113.006 40.588 1938
+-112.88 40.588 1873
+-112.754 40.588 1819
+-112.628 40.588 1763
+-112.502 40.588 1711
+-112.376 40.588 1674
+-112.25 40.588 1650
+-112.124 40.588 1640
+-111.998 40.588 1640
+-111.872 40.588 1646
+-111.746 40.588 1656
+-111.62 40.588 1675
+-111.494 40.588 1689
+-111.368 40.588 1705
+-111.242 40.588 1722
+-111.116 40.588 1742
+-110.99 40.588 1763
+-110.864 40.588 1785
+-110.738 40.588 1808
+-110.612 40.588 1786
+-110.486 40.588 1813
+-110.36 40.588 1837
+-110.234 40.588 1860
+-110.108 40.588 1832
+-109.982 40.588 1868
+-109.856 40.588 1885
+-109.73 40.588 1867
+-109.604 40.588 1902
+-109.478 40.588 1912
+-109.352 40.588 1929
+-109.226 40.588 1936
+-109.1 40.588 1963
+-108.974 40.588 1979
+-108.848 40.588 1959
+-108.722 40.588 1972
+-108.596 40.588 2006
+-108.47 40.588 2027
+-108.344 40.588 2021
+-108.218 40.588 1975
+-108.092 40.588 2040
+-107.966 40.588 2051
+-107.84 40.588 2036
+-107.714 40.588 2055
+-107.588 40.588 2065
+-107.462 40.588 2074
+-107.336 40.588 2083
+-107.21 40.588 2091
+-107.084 40.588 2072
+-106.958 40.588 2079
+-106.832 40.588 2078
+-106.706 40.588 2086
+-106.58 40.588 2080
+-106.454 40.588 2079
+-106.328 40.588 2086
+-106.202 40.588 2092
+-106.076 40.588 1976
+-105.95 40.588 1959
+-105.824 40.588 1886
+-105.698 40.588 1874
+-105.572 40.588 1869
+-105.446 40.588 1864
+-105.32 40.588 1864
+-105.194 40.588 1857
+-105.068 40.588 1850
+-104.942 40.588 1841
+-104.816 40.588 1819
+-104.69 40.588 1843
+-104.564 40.588 1840
+-104.438 40.588 1835
+-104.312 40.588 1923
+-104.186 40.588 1950
+-104.06 40.588 1941
+-103.934 40.588 1978
+-103.808 40.588 2139
+-103.682 40.588 2132
+-103.556 40.588 2164
+-103.43 40.588 2176
+-103.304 40.588 2181
+-103.178 40.588 2240
+-103.052 40.588 2234
+-102.926 40.588 2235
+-102.8 40.588 2227
+-102.674 40.588 2218
+-102.548 40.588 2209
+-102.422 40.588 2200
+-102.296 40.588 2227
+-102.17 40.588 2216
+-102.044 40.588 2204
+-101.918 40.588 2265
+-101.792 40.588 2249
+-101.666 40.588 2233
+-101.54 40.588 2215
+-101.414 40.588 2212
+-101.288 40.588 2190
+-101.162 40.588 2167
+-101.036 40.588 2142
+-100.91 40.588 2177
+-100.784 40.588 2145
+-100.658 40.588 2148
+-100.532 40.588 2119
+-100.406 40.588 2074
+-100.28 40.588 2084
+-100.154 40.588 2027
+-100.028 40.588 1960
+-99.902 40.588 1918
+-99.776 40.588 1824
+-99.65 40.588 1714
+-99.524 40.588 1585
+-99.398 40.588 1433
+-99.272 40.588 1266
+-99.146 40.588 1067
+-99.02 40.588 855
+-98.894 40.588 651
+-98.768 40.588 494
+-98.642 40.588 432
+-98.516 40.588 507
+-98.39 40.588 729
+-98.264 40.588 1050
+-98.138 40.588 1425
+-98.012 40.588 1819
+-97.886 40.588 2172
+-97.76 40.588 2413
+-97.634 40.588 2627
+-97.508 40.588 2873
+-97.382 40.588 2986
+-97.256 40.588 3074
+-97.13 40.588 3207
+-97.004 40.588 3265
+-96.878 40.588 3315
+-96.752 40.588 3359
+-96.626 40.588 3416
+-96.5 40.588 3582
+-96.374 40.588 3609
+-96.248 40.588 3631
+-96.122 40.588 3700
+-95.996 40.588 3775
+-95.87 40.588 3835
+-95.744 40.588 3915
+-95.618 40.588 4047
+-95.492 40.588 4154
+-95.366 40.588 4222
+-95.24 40.588 4292
+-95.114 40.588 4338
+-94.988 40.588 4359
+-94.862 40.588 4310
+-94.736 40.588 4412
+-94.61 40.588 4526
+-94.484 40.588 4665
+-94.358 40.588 4751
+-94.232 40.588 4907
+-94.106 40.588 5113
+-93.98 40.588 5242
+-93.854 40.588 5358
+-93.728 40.588 5497
+-93.602 40.588 5576
+-93.476 40.588 5585
+-93.35 40.588 5789
+-93.224 40.588 5833
+-93.098 40.588 5952
+-92.972 40.588 6064
+-92.846 40.588 6196
+-92.72 40.588 6311
+-92.594 40.588 6365
+-92.468 40.588 6530
+-92.342 40.588 6562
+-92.216 40.588 6678
+-92.09 40.588 6773
+-91.964 40.588 6817
+-91.838 40.588 6949
+-91.712 40.588 7045
+-91.586 40.588 7127
+-91.46 40.588 7135
+-91.334 40.588 7252
+-91.208 40.588 7324
+-91.082 40.588 7366
+-90.956 40.588 7404
+-90.83 40.588 7439
+-90.704 40.588 7444
+-90.578 40.588 7442
+-90.452 40.588 7485
+-90.326 40.588 7467
+-90.2 40.588 7436
+-90.074 40.588 7426
+-89.948 40.588 7385
+-89.822 40.588 7338
+-89.696 40.588 7322
+-89.57 40.588 7256
+-89.444 40.588 7179
+-89.318 40.588 7131
+-89.192 40.588 7091
+-89.066 40.588 6968
+-88.94 40.588 6868
+-88.814 40.588 6800
+-88.688 40.588 6679
+-88.562 40.588 6594
+-88.436 40.588 6470
+-88.31 40.588 6434
+-88.184 40.588 6270
+-88.058 40.588 6470
+-87.932 40.588 6431
+-87.806 40.588 6381
+-87.68 40.588 6307
+-87.554 40.588 6233
+-87.428 40.588 6199
+-87.302 40.588 6118
+-87.176 40.588 6079
+-87.05 40.588 5978
+-86.924 40.588 5944
+-86.798 40.588 5790
+-86.672 40.588 5698
+-86.546 40.588 5629
+-86.42 40.588 5593
+-86.294 40.588 5528
+-86.168 40.588 5422
+-86.042 40.588 5319
+-85.916 40.588 5226
+-85.79 40.588 5121
+-85.664 40.588 5028
+-85.538 40.588 4899
+-85.412 40.588 4747
+-85.286 40.588 4658
+-85.16 40.588 4597
+-85.034 40.588 4458
+-84.908 40.588 4348
+-84.782 40.588 4233
+-84.656 40.588 4166
+-84.53 40.588 4023
+-84.404 40.588 3991
+-84.278 40.588 3846
+-84.152 40.588 3739
+-84.026 40.588 3672
+-83.9 40.588 3521
+-83.774 40.588 3368
+-83.648 40.588 3408
+-83.522 40.588 3485
+-83.396 40.588 3533
+-83.27 40.588 3563
+-83.144 40.588 3581
+-83.018 40.588 3594
+-82.892 40.588 3603
+-82.766 40.588 3611
+-82.64 40.588 3619
+-82.514 40.588 3627
+-82.388 40.588 3617
+-82.262 40.588 3585
+-82.136 40.588 3550
+-82.01 40.588 3553
+-81.884 40.588 3545
+-81.758 40.588 3547
+-81.632 40.588 3549
+-81.506 40.588 3551
+-81.38 40.588 3556
+-81.254 40.588 3549
+-81.128 40.588 3553
+-81.002 40.588 3557
+-80.876 40.588 3561
+-80.75 40.588 3564
+-80.624 40.588 3567
+-80.498 40.588 3570
+-80.372 40.588 3573
+-80.246 40.588 3576
+-80.12 40.588 3579
+-79.994 40.588 3581
+-79.868 40.588 3541
+-79.742 40.588 3543
+-79.616 40.588 3545
+-79.49 40.588 3548
+-79.364 40.588 3550
+-79.238 40.588 3552
+-79.112 40.588 3521
+-78.986 40.588 3523
+-78.86 40.588 3524
+-78.734 40.588 3525
+-78.608 40.588 3543
+-78.482 40.588 3545
+-78.356 40.588 3547
+-78.23 40.588 3511
+-78.104 40.588 3512
+-77.978 40.588 3513
+-77.852 40.588 3589
+-77.726 40.588 3591
+-77.6 40.588 3593
+-77.474 40.588 3594
+-77.348 40.588 3596
+-77.222 40.588 3543
+-77.096 40.588 3543
+-76.97 40.588 3544
+-76.844 40.588 3545
+-76.718 40.588 3546
+-76.592 40.588 3547
+-76.466 40.588 3548
+-76.34 40.588 3548
+-76.214 40.588 3549
+-76.088 40.588 3550
+-75.962 40.588 3527
+-75.836 40.588 3517
+-75.71 40.588 3517
+-75.584 40.588 3518
+-75.458 40.588 3519
+-75.332 40.588 3520
+-75.206 40.588 3520
+-75.08 40.588 3505
+-74.954 40.588 3505
+-74.828 40.588 3506
+-74.702 40.588 3506
+-74.576 40.588 3506
+-74.45 40.588 3507
+-74.324 40.588 3507
+-74.198 40.588 3508
+-74.072 40.588 3452
+-73.946 40.588 3452
+-73.82 40.588 3452
+-73.694 40.588 3453
+-73.568 40.588 3453
+-73.442 40.588 3454
+-73.316 40.588 3454
+-73.19 40.588 3454
+-73.064 40.588 3455
+-72.938 40.588 3455
+-72.812 40.588 3455
+-72.686 40.588 3456
+-72.56 40.588 3456
+-72.434 40.588 3383
+-72.308 40.588 3383
+-72.182 40.588 3382
+-72.056 40.588 3382
+-71.93 40.588 3382
+-71.804 40.588 3382
+-71.678 40.588 3382
+-71.552 40.588 3381
+-71.426 40.588 3381
+-71.3 40.588 3381
+-71.174 40.588 3381
+-71.048 40.588 3381
+-70.922 40.588 3380
+-70.796 40.588 3380
+-70.67 40.588 3380
+-70.544 40.588 3380
+-70.418 40.588 3380
+-70.292 40.588 3379
+-70.166 40.588 3379
+-70.04 40.588 3379
+-69.914 40.588 3379
+-69.788 40.588 3379
+-69.662 40.588 3379
+-69.536 40.588 3378
+-69.41 40.588 3378
+-69.284 40.588 3069
+-69.158 40.588 3069
+-69.032 40.588 3068
+-68.906 40.588 3067
+-68.78 40.588 3067
+-68.654 40.588 3066
+-68.528 40.588 3066
+-68.402 40.588 3065
+-68.276 40.588 3064
+-68.15 40.588 3064
+-68.024 40.588 3063
+-67.898 40.588 3063
+-67.772 40.588 3062
+-67.646 40.588 3062
+-67.52 40.588 3061
+-67.394 40.588 3061
+-67.268 40.588 3060
+-67.142 40.588 3060
+-67.016 40.588 2933
+-66.89 40.588 2932
+-66.764 40.588 2901
+-66.638 40.588 2854
+-66.512 40.588 2853
+-66.386 40.588 2853
+-66.26 40.588 2869
+-66.134 40.588 2868
+-66.008 40.588 2880
+-65.882 40.588 2879
+-65.756 40.588 2837
+-65.63 40.588 2801
+-65.504 40.588 2801
+-65.378 40.588 2801
+-65.252 40.588 2801
+-65.126 40.588 2823
+-128 40.536 2545
+-127.874 40.536 2486
+-127.748 40.536 2468
+-127.622 40.536 2455
+-127.496 40.536 2403
+-127.37 40.536 2434
+-127.244 40.536 2438
+-127.118 40.536 2454
+-126.992 40.536 2470
+-126.866 40.536 2495
+-126.74 40.536 2522
+-126.614 40.536 2549
+-126.488 40.536 2567
+-126.362 40.536 2614
+-126.236 40.536 2646
+-126.11 40.536 2675
+-125.984 40.536 2696
+-125.858 40.536 2718
+-125.732 40.536 2737
+-125.606 40.536 2751
+-125.48 40.536 2763
+-125.354 40.536 2770
+-125.228 40.536 2773
+-125.102 40.536 2763
+-124.976 40.536 2757
+-124.85 40.536 2721
+-124.724 40.536 2710
+-124.598 40.536 2696
+-124.472 40.536 2665
+-124.346 40.536 2643
+-124.22 40.536 2653
+-124.094 40.536 2633
+-123.968 40.536 2607
+-123.842 40.536 2586
+-123.716 40.536 2559
+-123.59 40.536 2522
+-123.464 40.536 2506
+-123.338 40.536 2519
+-123.212 40.536 2557
+-123.086 40.536 2600
+-122.96 40.536 2659
+-122.834 40.536 2644
+-122.708 40.536 2665
+-122.582 40.536 2678
+-122.456 40.536 2684
+-122.33 40.536 2679
+-122.204 40.536 2676
+-122.078 40.536 2662
+-121.952 40.536 2644
+-121.826 40.536 2656
+-121.7 40.536 2696
+-121.574 40.536 2725
+-121.448 40.536 2792
+-121.322 40.536 2890
+-121.196 40.536 2954
+-121.07 40.536 3033
+-120.944 40.536 3070
+-120.818 40.536 3103
+-120.692 40.536 3109
+-120.566 40.536 3090
+-120.44 40.536 3045
+-120.314 40.536 3011
+-120.188 40.536 3062
+-120.062 40.536 3170
+-119.936 40.536 3237
+-119.81 40.536 3251
+-119.684 40.536 3230
+-119.558 40.536 3205
+-119.432 40.536 3235
+-119.306 40.536 3287
+-119.18 40.536 3345
+-119.054 40.536 3375
+-118.928 40.536 3379
+-118.802 40.536 3400
+-118.676 40.536 3425
+-118.55 40.536 3439
+-118.424 40.536 3437
+-118.298 40.536 3432
+-118.172 40.536 3413
+-118.046 40.536 3381
+-117.92 40.536 3350
+-117.794 40.536 3328
+-117.668 40.536 3339
+-117.542 40.536 3333
+-117.416 40.536 3306
+-117.29 40.536 3259
+-117.164 40.536 3199
+-117.038 40.536 3188
+-116.912 40.536 3170
+-116.786 40.536 3114
+-116.66 40.536 3052
+-116.534 40.536 2999
+-116.408 40.536 2968
+-116.282 40.536 2940
+-116.156 40.536 2902
+-116.03 40.536 2862
+-115.904 40.536 2770
+-115.778 40.536 2735
+-115.652 40.536 2708
+-115.526 40.536 2689
+-115.4 40.536 2673
+-115.274 40.536 2654
+-115.148 40.536 2609
+-115.022 40.536 2580
+-114.896 40.536 2551
+-114.77 40.536 2519
+-114.644 40.536 2465
+-114.518 40.536 2415
+-114.392 40.536 2329
+-114.266 40.536 2291
+-114.14 40.536 2257
+-114.014 40.536 2254
+-113.888 40.536 2219
+-113.762 40.536 2201
+-113.636 40.536 2173
+-113.51 40.536 2134
+-113.384 40.536 2088
+-113.258 40.536 2035
+-113.132 40.536 1980
+-113.006 40.536 1913
+-112.88 40.536 1836
+-112.754 40.536 1745
+-112.628 40.536 1670
+-112.502 40.536 1605
+-112.376 40.536 1559
+-112.25 40.536 1537
+-112.124 40.536 1535
+-111.998 40.536 1545
+-111.872 40.536 1559
+-111.746 40.536 1584
+-111.62 40.536 1603
+-111.494 40.536 1622
+-111.368 40.536 1642
+-111.242 40.536 1662
+-111.116 40.536 1684
+-110.99 40.536 1710
+-110.864 40.536 1735
+-110.738 40.536 1731
+-110.612 40.536 1757
+-110.486 40.536 1777
+-110.36 40.536 1800
+-110.234 40.536 1826
+-110.108 40.536 1852
+-109.982 40.536 1894
+-109.856 40.536 1869
+-109.73 40.536 1891
+-109.604 40.536 1927
+-109.478 40.536 1909
+-109.352 40.536 1920
+-109.226 40.536 1938
+-109.1 40.536 1955
+-108.974 40.536 1947
+-108.848 40.536 1962
+-108.722 40.536 1987
+-108.596 40.536 2010
+-108.47 40.536 2024
+-108.344 40.536 1961
+-108.218 40.536 1972
+-108.092 40.536 2035
+-107.966 40.536 2023
+-107.84 40.536 2042
+-107.714 40.536 2053
+-107.588 40.536 2063
+-107.462 40.536 2072
+-107.336 40.536 2081
+-107.21 40.536 2089
+-107.084 40.536 2080
+-106.958 40.536 2071
+-106.832 40.536 2078
+-106.706 40.536 2076
+-106.58 40.536 2074
+-106.454 40.536 2081
+-106.328 40.536 2088
+-106.202 40.536 2085
+-106.076 40.536 2076
+-105.95 40.536 1964
+-105.824 40.536 1892
+-105.698 40.536 1889
+-105.572 40.536 1884
+-105.446 40.536 1879
+-105.32 40.536 1873
+-105.194 40.536 1866
+-105.068 40.536 1858
+-104.942 40.536 1868
+-104.816 40.536 1912
+-104.69 40.536 1871
+-104.564 40.536 1865
+-104.438 40.536 1971
+-104.312 40.536 1947
+-104.186 40.536 1978
+-104.06 40.536 1949
+-103.934 40.536 1985
+-103.808 40.536 2146
+-103.682 40.536 2139
+-103.556 40.536 2129
+-103.43 40.536 2183
+-103.304 40.536 2189
+-103.178 40.536 2247
+-103.052 40.536 2242
+-102.926 40.536 2243
+-102.8 40.536 2235
+-102.674 40.536 2227
+-102.548 40.536 2219
+-102.422 40.536 2209
+-102.296 40.536 2250
+-102.17 40.536 2227
+-102.044 40.536 2280
+-101.918 40.536 2318
+-101.792 40.536 2303
+-101.666 40.536 2286
+-101.54 40.536 2267
+-101.414 40.536 2248
+-101.288 40.536 2205
+-101.162 40.536 2182
+-101.036 40.536 2222
+-100.91 40.536 2194
+-100.784 40.536 2162
+-100.658 40.536 2127
+-100.532 40.536 2125
+-100.406 40.536 2091
+-100.28 40.536 2041
+-100.154 40.536 2066
+-100.028 40.536 1999
+-99.902 40.536 1921
+-99.776 40.536 1844
+-99.65 40.536 1736
+-99.524 40.536 1609
+-99.398 40.536 1460
+-99.272 40.536 1289
+-99.146 40.536 1104
+-99.02 40.536 899
+-98.894 40.536 705
+-98.768 40.536 556
+-98.642 40.536 500
+-98.516 40.536 573
+-98.39 40.536 798
+-98.264 40.536 1137
+-98.138 40.536 1523
+-98.012 40.536 1864
+-97.886 40.536 2193
+-97.76 40.536 2424
+-97.634 40.536 2602
+-97.508 40.536 2768
+-97.382 40.536 2976
+-97.256 40.536 3118
+-97.13 40.536 3185
+-97.004 40.536 3243
+-96.878 40.536 3294
+-96.752 40.536 3343
+-96.626 40.536 3497
+-96.5 40.536 3540
+-96.374 40.536 3628
+-96.248 40.536 3709
+-96.122 40.536 3751
+-95.996 40.536 3840
+-95.87 40.536 3905
+-95.744 40.536 3980
+-95.618 40.536 4112
+-95.492 40.536 4194
+-95.366 40.536 4252
+-95.24 40.536 4330
+-95.114 40.536 4388
+-94.988 40.536 4418
+-94.862 40.536 4434
+-94.736 40.536 4448
+-94.61 40.536 4579
+-94.484 40.536 4709
+-94.358 40.536 4755
+-94.232 40.536 4954
+-94.106 40.536 5110
+-93.98 40.536 5202
+-93.854 40.536 5354
+-93.728 40.536 5498
+-93.602 40.536 5579
+-93.476 40.536 5675
+-93.35 40.536 5725
+-93.224 40.536 5859
+-93.098 40.536 5966
+-92.972 40.536 6083
+-92.846 40.536 6239
+-92.72 40.536 6400
+-92.594 40.536 6476
+-92.468 40.536 6556
+-92.342 40.536 6651
+-92.216 40.536 6726
+-92.09 40.536 6802
+-91.964 40.536 6907
+-91.838 40.536 7018
+-91.712 40.536 7116
+-91.586 40.536 7185
+-91.46 40.536 7258
+-91.334 40.536 7298
+-91.208 40.536 7363
+-91.082 40.536 7386
+-90.956 40.536 7440
+-90.83 40.536 7481
+-90.704 40.536 7507
+-90.578 40.536 7532
+-90.452 40.536 7527
+-90.326 40.536 7533
+-90.2 40.536 7506
+-90.074 40.536 7496
+-89.948 40.536 7442
+-89.822 40.536 7408
+-89.696 40.536 7351
+-89.57 40.536 7323
+-89.444 40.536 7234
+-89.318 40.536 7136
+-89.192 40.536 7088
+-89.066 40.536 7019
+-88.94 40.536 6917
+-88.814 40.536 6866
+-88.688 40.536 6746
+-88.562 40.536 6645
+-88.436 40.536 6511
+-88.31 40.536 6421
+-88.184 40.536 6332
+-88.058 40.536 6521
+-87.932 40.536 6457
+-87.806 40.536 6414
+-87.68 40.536 6363
+-87.554 40.536 6306
+-87.428 40.536 6260
+-87.302 40.536 6177
+-87.176 40.536 6073
+-87.05 40.536 6063
+-86.924 40.536 5945
+-86.798 40.536 5810
+-86.672 40.536 5721
+-86.546 40.536 5682
+-86.42 40.536 5652
+-86.294 40.536 5541
+-86.168 40.536 5382
+-86.042 40.536 5384
+-85.916 40.536 5249
+-85.79 40.536 5167
+-85.664 40.536 5083
+-85.538 40.536 4931
+-85.412 40.536 4750
+-85.286 40.536 4650
+-85.16 40.536 4644
+-85.034 40.536 4533
+-84.908 40.536 4377
+-84.782 40.536 4294
+-84.656 40.536 4194
+-84.53 40.536 4077
+-84.404 40.536 3993
+-84.278 40.536 3822
+-84.152 40.536 3694
+-84.026 40.536 3696
+-83.9 40.536 3608
+-83.774 40.536 3535
+-83.648 40.536 3513
+-83.522 40.536 3524
+-83.396 40.536 3551
+-83.27 40.536 3571
+-83.144 40.536 3584
+-83.018 40.536 3594
+-82.892 40.536 3601
+-82.766 40.536 3611
+-82.64 40.536 3618
+-82.514 40.536 3610
+-82.388 40.536 3578
+-82.262 40.536 3582
+-82.136 40.536 3585
+-82.01 40.536 3551
+-81.884 40.536 3555
+-81.758 40.536 3576
+-81.632 40.536 3549
+-81.506 40.536 3555
+-81.38 40.536 3548
+-81.254 40.536 3552
+-81.128 40.536 3556
+-81.002 40.536 3560
+-80.876 40.536 3564
+-80.75 40.536 3568
+-80.624 40.536 3571
+-80.498 40.536 3574
+-80.372 40.536 3577
+-80.246 40.536 3579
+-80.12 40.536 3582
+-79.994 40.536 3584
+-79.868 40.536 3587
+-79.742 40.536 3548
+-79.616 40.536 3550
+-79.49 40.536 3553
+-79.364 40.536 3607
+-79.238 40.536 3590
+-79.112 40.536 3592
+-78.986 40.536 3594
+-78.86 40.536 3596
+-78.734 40.536 3545
+-78.608 40.536 3547
+-78.482 40.536 3549
+-78.356 40.536 3514
+-78.23 40.536 3515
+-78.104 40.536 3516
+-77.978 40.536 3588
+-77.852 40.536 3590
+-77.726 40.536 3592
+-77.6 40.536 3594
+-77.474 40.536 3596
+-77.348 40.536 3543
+-77.222 40.536 3544
+-77.096 40.536 3544
+-76.97 40.536 3545
+-76.844 40.536 3546
+-76.718 40.536 3547
+-76.592 40.536 3548
+-76.466 40.536 3549
+-76.34 40.536 3549
+-76.214 40.536 3550
+-76.088 40.536 3527
+-75.962 40.536 3517
+-75.836 40.536 3518
+-75.71 40.536 3518
+-75.584 40.536 3519
+-75.458 40.536 3520
+-75.332 40.536 3504
+-75.206 40.536 3505
+-75.08 40.536 3505
+-74.954 40.536 3506
+-74.828 40.536 3506
+-74.702 40.536 3507
+-74.576 40.536 3507
+-74.45 40.536 3507
+-74.324 40.536 3508
+-74.198 40.536 3451
+-74.072 40.536 3452
+-73.946 40.536 3452
+-73.82 40.536 3453
+-73.694 40.536 3453
+-73.568 40.536 3453
+-73.442 40.536 3454
+-73.316 40.536 3454
+-73.19 40.536 3454
+-73.064 40.536 3455
+-72.938 40.536 3455
+-72.812 40.536 3456
+-72.686 40.536 3456
+-72.56 40.536 3383
+-72.434 40.536 3383
+-72.308 40.536 3382
+-72.182 40.536 3382
+-72.056 40.536 3382
+-71.93 40.536 3382
+-71.804 40.536 3382
+-71.678 40.536 3381
+-71.552 40.536 3381
+-71.426 40.536 3381
+-71.3 40.536 3381
+-71.174 40.536 3381
+-71.048 40.536 3380
+-70.922 40.536 3380
+-70.796 40.536 3380
+-70.67 40.536 3380
+-70.544 40.536 3380
+-70.418 40.536 3379
+-70.292 40.536 3379
+-70.166 40.536 3379
+-70.04 40.536 3379
+-69.914 40.536 3379
+-69.788 40.536 3379
+-69.662 40.536 3378
+-69.536 40.536 3378
+-69.41 40.536 3069
+-69.284 40.536 3069
+-69.158 40.536 3068
+-69.032 40.536 3067
+-68.906 40.536 3067
+-68.78 40.536 3066
+-68.654 40.536 3066
+-68.528 40.536 3065
+-68.402 40.536 3064
+-68.276 40.536 3064
+-68.15 40.536 3063
+-68.024 40.536 3063
+-67.898 40.536 3062
+-67.772 40.536 3062
+-67.646 40.536 3061
+-67.52 40.536 3060
+-67.394 40.536 3060
+-67.268 40.536 3059
+-67.142 40.536 2933
+-67.016 40.536 2932
+-66.89 40.536 2901
+-66.764 40.536 2854
+-66.638 40.536 2853
+-66.512 40.536 2853
+-66.386 40.536 2869
+-66.26 40.536 2868
+-66.134 40.536 2880
+-66.008 40.536 2879
+-65.882 40.536 2837
+-65.756 40.536 2801
+-65.63 40.536 2801
+-65.504 40.536 2801
+-65.378 40.536 2800
+-65.252 40.536 2822
+-65.126 40.536 2828
+-128 40.484 2545
+-127.874 40.484 2529
+-127.748 40.484 2515
+-127.622 40.484 2457
+-127.496 40.484 2486
+-127.37 40.484 2484
+-127.244 40.484 2492
+-127.118 40.484 2497
+-126.992 40.484 2512
+-126.866 40.484 2530
+-126.74 40.484 2549
+-126.614 40.484 2560
+-126.488 40.484 2602
+-126.362 40.484 2631
+-126.236 40.484 2657
+-126.11 40.484 2676
+-125.984 40.484 2697
+-125.858 40.484 2715
+-125.732 40.484 2730
+-125.606 40.484 2741
+-125.48 40.484 2748
+-125.354 40.484 2752
+-125.228 40.484 2743
+-125.102 40.484 2736
+-124.976 40.484 2700
+-124.85 40.484 2688
+-124.724 40.484 2673
+-124.598 40.484 2641
+-124.472 40.484 2617
+-124.346 40.484 2600
+-124.22 40.484 2583
+-124.094 40.484 2577
+-123.968 40.484 2554
+-123.842 40.484 2525
+-123.716 40.484 2477
+-123.59 40.484 2427
+-123.464 40.484 2401
+-123.338 40.484 2429
+-123.212 40.484 2487
+-123.086 40.484 2541
+-122.96 40.484 2568
+-122.834 40.484 2599
+-122.708 40.484 2621
+-122.582 40.484 2636
+-122.456 40.484 2637
+-122.33 40.484 2626
+-122.204 40.484 2616
+-122.078 40.484 2582
+-121.952 40.484 2541
+-121.826 40.484 2508
+-121.7 40.484 2533
+-121.574 40.484 2564
+-121.448 40.484 2651
+-121.322 40.484 2788
+-121.196 40.484 2877
+-121.07 40.484 2970
+-120.944 40.484 3025
+-120.818 40.484 3060
+-120.692 40.484 3076
+-120.566 40.484 3072
+-120.44 40.484 3056
+-120.314 40.484 3042
+-120.188 40.484 3074
+-120.062 40.484 3166
+-119.936 40.484 3213
+-119.81 40.484 3237
+-119.684 40.484 3222
+-119.558 40.484 3210
+-119.432 40.484 3199
+-119.306 40.484 3232
+-119.18 40.484 3279
+-119.054 40.484 3335
+-118.928 40.484 3358
+-118.802 40.484 3383
+-118.676 40.484 3406
+-118.55 40.484 3407
+-118.424 40.484 3404
+-118.298 40.484 3396
+-118.172 40.484 3376
+-118.046 40.484 3355
+-117.92 40.484 3337
+-117.794 40.484 3329
+-117.668 40.484 3323
+-117.542 40.484 3313
+-117.416 40.484 3277
+-117.29 40.484 3238
+-117.164 40.484 3188
+-117.038 40.484 3177
+-116.912 40.484 3141
+-116.786 40.484 3067
+-116.66 40.484 2993
+-116.534 40.484 2945
+-116.408 40.484 2919
+-116.282 40.484 2898
+-116.156 40.484 2866
+-116.03 40.484 2807
+-115.904 40.484 2740
+-115.778 40.484 2675
+-115.652 40.484 2643
+-115.526 40.484 2632
+-115.4 40.484 2624
+-115.274 40.484 2619
+-115.148 40.484 2601
+-115.022 40.484 2562
+-114.896 40.484 2532
+-114.77 40.484 2489
+-114.644 40.484 2424
+-114.518 40.484 2338
+-114.392 40.484 2222
+-114.266 40.484 2169
+-114.14 40.484 2180
+-114.014 40.484 2200
+-113.888 40.484 2192
+-113.762 40.484 2194
+-113.636 40.484 2176
+-113.51 40.484 2141
+-113.384 40.484 2093
+-113.258 40.484 2033
+-113.132 40.484 1959
+-113.006 40.484 1874
+-112.88 40.484 1774
+-112.754 40.484 1665
+-112.628 40.484 1552
+-112.502 40.484 1470
+-112.376 40.484 1420
+-112.25 40.484 1404
+-112.124 40.484 1416
+-111.998 40.484 1442
+-111.872 40.484 1474
+-111.746 40.484 1503
+-111.62 40.484 1528
+-111.494 40.484 1551
+-111.368 40.484 1574
+-111.242 40.484 1598
+-111.116 40.484 1625
+-110.99 40.484 1655
+-110.864 40.484 1658
+-110.738 40.484 1688
+-110.612 40.484 1715
+-110.486 40.484 1747
+-110.36 40.484 1779
+-110.234 40.484 1808
+-110.108 40.484 1828
+-109.982 40.484 1876
+-109.856 40.484 1897
+-109.73 40.484 1878
+-109.604 40.484 1916
+-109.478 40.484 1933
+-109.352 40.484 1911
+-109.226 40.484 1895
+-109.1 40.484 1925
+-108.974 40.484 1942
+-108.848 40.484 1966
+-108.722 40.484 1992
+-108.596 40.484 2008
+-108.47 40.484 1953
+-108.344 40.484 1965
+-108.218 40.484 1953
+-108.092 40.484 1964
+-107.966 40.484 2021
+-107.84 40.484 2052
+-107.714 40.484 2051
+-107.588 40.484 2061
+-107.462 40.484 2071
+-107.336 40.484 2080
+-107.21 40.484 2074
+-107.084 40.484 2064
+-106.958 40.484 2065
+-106.832 40.484 2076
+-106.706 40.484 2079
+-106.58 40.484 2076
+-106.454 40.484 2083
+-106.328 40.484 2083
+-106.202 40.484 2074
+-106.076 40.484 2080
+-105.95 40.484 2008
+-105.824 40.484 1901
+-105.698 40.484 1897
+-105.572 40.484 1893
+-105.446 40.484 1888
+-105.32 40.484 1882
+-105.194 40.484 1875
+-105.068 40.484 1886
+-104.942 40.484 1931
+-104.816 40.484 1922
+-104.69 40.484 1895
+-104.564 40.484 1873
+-104.438 40.484 1997
+-104.312 40.484 1954
+-104.186 40.484 1986
+-104.06 40.484 1977
+-103.934 40.484 2010
+-103.808 40.484 2164
+-103.682 40.484 2146
+-103.556 40.484 2137
+-103.43 40.484 2190
+-103.304 40.484 2197
+-103.178 40.484 2255
+-103.052 40.484 2249
+-102.926 40.484 2251
+-102.8 40.484 2244
+-102.674 40.484 2236
+-102.548 40.484 2228
+-102.422 40.484 2219
+-102.296 40.484 2260
+-102.17 40.484 2278
+-102.044 40.484 2266
+-101.918 40.484 2332
+-101.792 40.484 2317
+-101.666 40.484 2300
+-101.54 40.484 2282
+-101.414 40.484 2263
+-101.288 40.484 2242
+-101.162 40.484 2265
+-101.036 40.484 2240
+-100.91 40.484 2212
+-100.784 40.484 2182
+-100.658 40.484 2147
+-100.532 40.484 2109
+-100.406 40.484 2102
+-100.28 40.484 2064
+-100.154 40.484 2008
+-100.028 40.484 2025
+-99.902 40.484 1951
+-99.776 40.484 1864
+-99.65 40.484 1792
+-99.524 40.484 1671
+-99.398 40.484 1531
+-99.272 40.484 1372
+-99.146 40.484 1197
+-99.02 40.484 1022
+-98.894 40.484 852
+-98.768 40.484 729
+-98.642 40.484 690
+-98.516 40.484 778
+-98.39 40.484 1001
+-98.264 40.484 1297
+-98.138 40.484 1635
+-98.012 40.484 1945
+-97.886 40.484 2205
+-97.76 40.484 2454
+-97.634 40.484 2616
+-97.508 40.484 2878
+-97.382 40.484 2973
+-97.256 40.484 3095
+-97.13 40.484 3155
+-97.004 40.484 3208
+-96.878 40.484 3259
+-96.752 40.484 3311
+-96.626 40.484 3467
+-96.5 40.484 3519
+-96.374 40.484 3606
+-96.248 40.484 3713
+-96.122 40.484 3800
+-95.996 40.484 3867
+-95.87 40.484 3939
+-95.744 40.484 4030
+-95.618 40.484 4160
+-95.492 40.484 4216
+-95.366 40.484 4265
+-95.24 40.484 4356
+-95.114 40.484 4423
+-94.988 40.484 4475
+-94.862 40.484 4498
+-94.736 40.484 4543
+-94.61 40.484 4626
+-94.484 40.484 4688
+-94.358 40.484 4772
+-94.232 40.484 4967
+-94.106 40.484 5061
+-93.98 40.484 5210
+-93.854 40.484 5389
+-93.728 40.484 5425
+-93.602 40.484 5533
+-93.476 40.484 5667
+-93.35 40.484 5776
+-93.224 40.484 5962
+-93.098 40.484 6003
+-92.972 40.484 6154
+-92.846 40.484 6328
+-92.72 40.484 6435
+-92.594 40.484 6480
+-92.468 40.484 6549
+-92.342 40.484 6682
+-92.216 40.484 6725
+-92.09 40.484 6863
+-91.964 40.484 6994
+-91.838 40.484 7043
+-91.712 40.484 7119
+-91.586 40.484 7220
+-91.46 40.484 7270
+-91.334 40.484 7338
+-91.208 40.484 7385
+-91.082 40.484 7459
+-90.956 40.484 7522
+-90.83 40.484 7520
+-90.704 40.484 7562
+-90.578 40.484 7577
+-90.452 40.484 7575
+-90.326 40.484 7573
+-90.2 40.484 7570
+-90.074 40.484 7526
+-89.948 40.484 7493
+-89.822 40.484 7451
+-89.696 40.484 7393
+-89.57 40.484 7335
+-89.444 40.484 7275
+-89.318 40.484 7220
+-89.192 40.484 7146
+-89.066 40.484 7080
+-88.94 40.484 7015
+-88.814 40.484 6928
+-88.688 40.484 6795
+-88.562 40.484 6701
+-88.436 40.484 6583
+-88.31 40.484 6507
+-88.184 40.484 6491
+-88.058 40.484 6572
+-87.932 40.484 6534
+-87.806 40.484 6486
+-87.68 40.484 6420
+-87.554 40.484 6367
+-87.428 40.484 6274
+-87.302 40.484 6258
+-87.176 40.484 6223
+-87.05 40.484 6143
+-86.924 40.484 6038
+-86.798 40.484 5904
+-86.672 40.484 5777
+-86.546 40.484 5800
+-86.42 40.484 5698
+-86.294 40.484 5623
+-86.168 40.484 5482
+-86.042 40.484 5422
+-85.916 40.484 5323
+-85.79 40.484 5197
+-85.664 40.484 5108
+-85.538 40.484 4961
+-85.412 40.484 4817
+-85.286 40.484 4703
+-85.16 40.484 4648
+-85.034 40.484 4581
+-84.908 40.484 4453
+-84.782 40.484 4353
+-84.656 40.484 4254
+-84.53 40.484 4154
+-84.404 40.484 4003
+-84.278 40.484 3866
+-84.152 40.484 3753
+-84.026 40.484 3692
+-83.9 40.484 3613
+-83.774 40.484 3494
+-83.648 40.484 3513
+-83.522 40.484 3559
+-83.396 40.484 3577
+-83.27 40.484 3594
+-83.144 40.484 3605
+-83.018 40.484 3613
+-82.892 40.484 3601
+-82.766 40.484 3608
+-82.64 40.484 3600
+-82.514 40.484 3569
+-82.388 40.484 3573
+-82.262 40.484 3577
+-82.136 40.484 3582
+-82.01 40.484 3572
+-81.884 40.484 3570
+-81.758 40.484 3575
+-81.632 40.484 3579
+-81.506 40.484 3546
+-81.38 40.484 3551
+-81.254 40.484 3556
+-81.128 40.484 3560
+-81.002 40.484 3564
+-80.876 40.484 3568
+-80.75 40.484 3571
+-80.624 40.484 3574
+-80.498 40.484 3577
+-80.372 40.484 3580
+-80.246 40.484 3583
+-80.12 40.484 3585
+-79.994 40.484 3588
+-79.868 40.484 3590
+-79.742 40.484 3592
+-79.616 40.484 3605
+-79.49 40.484 3608
+-79.364 40.484 3591
+-79.238 40.484 3593
+-79.112 40.484 3596
+-78.986 40.484 3598
+-78.86 40.484 3548
+-78.734 40.484 3550
+-78.608 40.484 3552
+-78.482 40.484 3516
+-78.356 40.484 3544
+-78.23 40.484 3546
+-78.104 40.484 3588
+-77.978 40.484 3590
+-77.852 40.484 3592
+-77.726 40.484 3594
+-77.6 40.484 3596
+-77.474 40.484 3543
+-77.348 40.484 3544
+-77.222 40.484 3545
+-77.096 40.484 3545
+-76.97 40.484 3546
+-76.844 40.484 3547
+-76.718 40.484 3548
+-76.592 40.484 3549
+-76.466 40.484 3549
+-76.34 40.484 3550
+-76.214 40.484 3527
+-76.088 40.484 3517
+-75.962 40.484 3518
+-75.836 40.484 3518
+-75.71 40.484 3519
+-75.584 40.484 3520
+-75.458 40.484 3521
+-75.332 40.484 3505
+-75.206 40.484 3505
+-75.08 40.484 3506
+-74.954 40.484 3506
+-74.828 40.484 3507
+-74.702 40.484 3507
+-74.576 40.484 3508
+-74.45 40.484 3508
+-74.324 40.484 3451
+-74.198 40.484 3452
+-74.072 40.484 3452
+-73.946 40.484 3452
+-73.82 40.484 3453
+-73.694 40.484 3453
+-73.568 40.484 3454
+-73.442 40.484 3454
+-73.316 40.484 3454
+-73.19 40.484 3455
+-73.064 40.484 3455
+-72.938 40.484 3455
+-72.812 40.484 3456
+-72.686 40.484 3383
+-72.56 40.484 3383
+-72.434 40.484 3382
+-72.308 40.484 3382
+-72.182 40.484 3382
+-72.056 40.484 3382
+-71.93 40.484 3382
+-71.804 40.484 3381
+-71.678 40.484 3381
+-71.552 40.484 3381
+-71.426 40.484 3381
+-71.3 40.484 3381
+-71.174 40.484 3380
+-71.048 40.484 3380
+-70.922 40.484 3380
+-70.796 40.484 3380
+-70.67 40.484 3380
+-70.544 40.484 3379
+-70.418 40.484 3379
+-70.292 40.484 3379
+-70.166 40.484 3379
+-70.04 40.484 3379
+-69.914 40.484 3379
+-69.788 40.484 3378
+-69.662 40.484 3378
+-69.536 40.484 3069
+-69.41 40.484 3069
+-69.284 40.484 3068
+-69.158 40.484 3067
+-69.032 40.484 3067
+-68.906 40.484 3066
+-68.78 40.484 3066
+-68.654 40.484 3065
+-68.528 40.484 3064
+-68.402 40.484 3064
+-68.276 40.484 3063
+-68.15 40.484 3063
+-68.024 40.484 3062
+-67.898 40.484 3061
+-67.772 40.484 3061
+-67.646 40.484 3060
+-67.52 40.484 3060
+-67.394 40.484 3059
+-67.268 40.484 2933
+-67.142 40.484 2932
+-67.016 40.484 2901
+-66.89 40.484 2854
+-66.764 40.484 2853
+-66.638 40.484 2853
+-66.512 40.484 2869
+-66.386 40.484 2868
+-66.26 40.484 2879
+-66.134 40.484 2879
+-66.008 40.484 2837
+-65.882 40.484 2801
+-65.756 40.484 2801
+-65.63 40.484 2800
+-65.504 40.484 2800
+-65.378 40.484 2822
+-65.252 40.484 2828
+-65.126 40.484 2837
+-128 40.432 2579
+-127.874 40.432 2566
+-127.748 40.432 2503
+-127.622 40.432 2534
+-127.496 40.432 2527
+-127.37 40.432 2529
+-127.244 40.432 2527
+-127.118 40.432 2535
+-126.992 40.432 2545
+-126.866 40.432 2556
+-126.74 40.432 2560
+-126.614 40.432 2598
+-126.488 40.432 2622
+-126.362 40.432 2645
+-126.236 40.432 2661
+-126.11 40.432 2681
+-125.984 40.432 2698
+-125.858 40.432 2712
+-125.732 40.432 2723
+-125.606 40.432 2730
+-125.48 40.432 2734
+-125.354 40.432 2725
+-125.228 40.432 2719
+-125.102 40.432 2682
+-124.976 40.432 2671
+-124.85 40.432 2655
+-124.724 40.432 2621
+-124.598 40.432 2594
+-124.472 40.432 2574
+-124.346 40.432 2544
+-124.22 40.432 2524
+-124.094 40.432 2524
+-123.968 40.432 2502
+-123.842 40.432 2468
+-123.716 40.432 2432
+-123.59 40.432 2388
+-123.464 40.432 2365
+-123.338 40.432 2391
+-123.212 40.432 2442
+-123.086 40.432 2488
+-122.96 40.432 2529
+-122.834 40.432 2559
+-122.708 40.432 2583
+-122.582 40.432 2594
+-122.456 40.432 2593
+-122.33 40.432 2581
+-122.204 40.432 2544
+-122.078 40.432 2492
+-121.952 40.432 2425
+-121.826 40.432 2362
+-121.7 40.432 2352
+-121.574 40.432 2399
+-121.448 40.432 2512
+-121.322 40.432 2664
+-121.196 40.432 2788
+-121.07 40.432 2875
+-120.944 40.432 2957
+-120.818 40.432 2984
+-120.692 40.432 3026
+-120.566 40.432 3060
+-120.44 40.432 3063
+-120.314 40.432 3075
+-120.188 40.432 3096
+-120.062 40.432 3131
+-119.936 40.432 3187
+-119.81 40.432 3204
+-119.684 40.432 3203
+-119.558 40.432 3181
+-119.432 40.432 3149
+-119.306 40.432 3187
+-119.18 40.432 3249
+-119.054 40.432 3292
+-118.928 40.432 3320
+-118.802 40.432 3341
+-118.676 40.432 3367
+-118.55 40.432 3382
+-118.424 40.432 3376
+-118.298 40.432 3368
+-118.172 40.432 3341
+-118.046 40.432 3320
+-117.92 40.432 3308
+-117.794 40.432 3306
+-117.668 40.432 3295
+-117.542 40.432 3278
+-117.416 40.432 3252
+-117.29 40.432 3195
+-117.164 40.432 3166
+-117.038 40.432 3140
+-116.912 40.432 3082
+-116.786 40.432 3005
+-116.66 40.432 2932
+-116.534 40.432 2897
+-116.408 40.432 2889
+-116.282 40.432 2873
+-116.156 40.432 2843
+-116.03 40.432 2781
+-115.904 40.432 2684
+-115.778 40.432 2612
+-115.652 40.432 2570
+-115.526 40.432 2574
+-115.4 40.432 2575
+-115.274 40.432 2578
+-115.148 40.432 2566
+-115.022 40.432 2553
+-114.896 40.432 2523
+-114.77 40.432 2470
+-114.644 40.432 2384
+-114.518 40.432 2239
+-114.392 40.432 2102
+-114.266 40.432 2034
+-114.14 40.432 2077
+-114.014 40.432 2159
+-113.888 40.432 2191
+-113.762 40.432 2186
+-113.636 40.432 2177
+-113.51 40.432 2144
+-113.384 40.432 2093
+-113.258 40.432 2024
+-113.132 40.432 1937
+-113.006 40.432 1828
+-112.88 40.432 1700
+-112.754 40.432 1560
+-112.628 40.432 1425
+-112.502 40.432 1315
+-112.376 40.432 1261
+-112.25 40.432 1259
+-112.124 40.432 1293
+-111.998 40.432 1340
+-111.872 40.432 1384
+-111.746 40.432 1420
+-111.62 40.432 1449
+-111.494 40.432 1475
+-111.368 40.432 1501
+-111.242 40.432 1529
+-111.116 40.432 1564
+-110.99 40.432 1573
+-110.864 40.432 1608
+-110.738 40.432 1641
+-110.612 40.432 1680
+-110.486 40.432 1717
+-110.36 40.432 1754
+-110.234 40.432 1788
+-110.108 40.432 1815
+-109.982 40.432 1867
+-109.856 40.432 1882
+-109.73 40.432 1914
+-109.604 40.432 1949
+-109.478 40.432 1934
+-109.352 40.432 1924
+-109.226 40.432 1902
+-109.1 40.432 1920
+-108.974 40.432 1958
+-108.848 40.432 1962
+-108.722 40.432 1990
+-108.596 40.432 1939
+-108.47 40.432 1952
+-108.344 40.432 1942
+-108.218 40.432 1953
+-108.092 40.432 2032
+-107.966 40.432 2044
+-107.84 40.432 2076
+-107.714 40.432 2063
+-107.588 40.432 2073
+-107.462 40.432 2083
+-107.336 40.432 2068
+-107.21 40.432 2057
+-107.084 40.432 2061
+-106.958 40.432 2069
+-106.832 40.432 2060
+-106.706 40.432 2081
+-106.58 40.432 2074
+-106.454 40.432 2081
+-106.328 40.432 2072
+-106.202 40.432 2079
+-106.076 40.432 2085
+-105.95 40.432 2014
+-105.824 40.432 1910
+-105.698 40.432 1906
+-105.572 40.432 1901
+-105.446 40.432 1896
+-105.32 40.432 1890
+-105.194 40.432 1902
+-105.068 40.432 1949
+-104.942 40.432 1941
+-104.816 40.432 1948
+-104.69 40.432 1938
+-104.564 40.432 2014
+-104.438 40.432 2006
+-104.312 40.432 1962
+-104.186 40.432 2010
+-104.06 40.432 1985
+-103.934 40.432 2018
+-103.808 40.432 2105
+-103.682 40.432 2165
+-103.556 40.432 2144
+-103.43 40.432 2197
+-103.304 40.432 2204
+-103.178 40.432 2208
+-103.052 40.432 2257
+-102.926 40.432 2297
+-102.8 40.432 2290
+-102.674 40.432 2282
+-102.548 40.432 2274
+-102.422 40.432 2281
+-102.296 40.432 2271
+-102.17 40.432 2290
+-102.044 40.432 2279
+-101.918 40.432 2266
+-101.792 40.432 2331
+-101.666 40.432 2315
+-101.54 40.432 2298
+-101.414 40.432 2279
+-101.288 40.432 2259
+-101.162 40.432 2237
+-101.036 40.432 2259
+-100.91 40.432 2233
+-100.784 40.432 2203
+-100.658 40.432 2170
+-100.532 40.432 2134
+-100.406 40.432 2092
+-100.28 40.432 2081
+-100.154 40.432 2039
+-100.028 40.432 1979
+-99.902 40.432 1990
+-99.776 40.432 1910
+-99.65 40.432 1817
+-99.524 40.432 1740
+-99.398 40.432 1617
+-99.272 40.432 1479
+-99.146 40.432 1332
+-99.02 40.432 1184
+-98.894 40.432 1060
+-98.768 40.432 972
+-98.642 40.432 975
+-98.516 40.432 1078
+-98.39 40.432 1258
+-98.264 40.432 1503
+-98.138 40.432 1780
+-98.012 40.432 2050
+-97.886 40.432 2278
+-97.76 40.432 2513
+-97.634 40.432 2689
+-97.508 40.432 2799
+-97.382 40.432 2963
+-97.256 40.432 3024
+-97.13 40.432 3111
+-97.004 40.432 3157
+-96.878 40.432 3206
+-96.752 40.432 3260
+-96.626 40.432 3328
+-96.5 40.432 3510
+-96.374 40.432 3564
+-96.248 40.432 3626
+-96.122 40.432 3752
+-95.996 40.432 3866
+-95.87 40.432 3961
+-95.744 40.432 4040
+-95.618 40.432 4162
+-95.492 40.432 4218
+-95.366 40.432 4298
+-95.24 40.432 4337
+-95.114 40.432 4445
+-94.988 40.432 4497
+-94.862 40.432 4542
+-94.736 40.432 4597
+-94.61 40.432 4605
+-94.484 40.432 4701
+-94.358 40.432 4797
+-94.232 40.432 4962
+-94.106 40.432 5086
+-93.98 40.432 5259
+-93.854 40.432 5421
+-93.728 40.432 5514
+-93.602 40.432 5607
+-93.476 40.432 5705
+-93.35 40.432 5791
+-93.224 40.432 5906
+-93.098 40.432 6060
+-92.972 40.432 6156
+-92.846 40.432 6364
+-92.72 40.432 6419
+-92.594 40.432 6539
+-92.468 40.432 6602
+-92.342 40.432 6758
+-92.216 40.432 6851
+-92.09 40.432 6879
+-91.964 40.432 6989
+-91.838 40.432 7090
+-91.712 40.432 7183
+-91.586 40.432 7238
+-91.46 40.432 7322
+-91.334 40.432 7417
+-91.208 40.432 7458
+-91.082 40.432 7541
+-90.956 40.432 7554
+-90.83 40.432 7575
+-90.704 40.432 7627
+-90.578 40.432 7645
+-90.452 40.432 7647
+-90.326 40.432 7642
+-90.2 40.432 7625
+-90.074 40.432 7589
+-89.948 40.432 7557
+-89.822 40.432 7511
+-89.696 40.432 7461
+-89.57 40.432 7426
+-89.444 40.432 7328
+-89.318 40.432 7260
+-89.192 40.432 7189
+-89.066 40.432 7128
+-88.94 40.432 7055
+-88.814 40.432 6945
+-88.688 40.432 6832
+-88.562 40.432 6710
+-88.436 40.432 6571
+-88.31 40.432 6575
+-88.184 40.432 6461
+-88.058 40.432 6577
+-87.932 40.432 6602
+-87.806 40.432 6542
+-87.68 40.432 6463
+-87.554 40.432 6431
+-87.428 40.432 6358
+-87.302 40.432 6285
+-87.176 40.432 6265
+-87.05 40.432 6208
+-86.924 40.432 6125
+-86.798 40.432 6010
+-86.672 40.432 5869
+-86.546 40.432 5766
+-86.42 40.432 5738
+-86.294 40.432 5676
+-86.168 40.432 5577
+-86.042 40.432 5479
+-85.916 40.432 5372
+-85.79 40.432 5272
+-85.664 40.432 5168
+-85.538 40.432 5013
+-85.412 40.432 4902
+-85.286 40.432 4758
+-85.16 40.432 4647
+-85.034 40.432 4618
+-84.908 40.432 4511
+-84.782 40.432 4373
+-84.656 40.432 4292
+-84.53 40.432 4221
+-84.404 40.432 4099
+-84.278 40.432 3924
+-84.152 40.432 3756
+-84.026 40.432 3658
+-83.9 40.432 3581
+-83.774 40.432 3364
+-83.648 40.432 3479
+-83.522 40.432 3560
+-83.396 40.432 3598
+-83.27 40.432 3613
+-83.144 40.432 3621
+-83.018 40.432 3587
+-82.892 40.432 3593
+-82.766 40.432 3585
+-82.64 40.432 3578
+-82.514 40.432 3585
+-82.388 40.432 3591
+-82.262 40.432 3598
+-82.136 40.432 3564
+-82.01 40.432 3563
+-81.884 40.432 3568
+-81.758 40.432 3573
+-81.632 40.432 3587
+-81.506 40.432 3594
+-81.38 40.432 3600
+-81.254 40.432 3606
+-81.128 40.432 3612
+-81.002 40.432 3618
+-80.876 40.432 3622
+-80.75 40.432 3627
+-80.624 40.432 3631
+-80.498 40.432 3635
+-80.372 40.432 3639
+-80.246 40.432 3643
+-80.12 40.432 3646
+-79.994 40.432 3649
+-79.868 40.432 3652
+-79.742 40.432 3606
+-79.616 40.432 3609
+-79.49 40.432 3592
+-79.364 40.432 3595
+-79.238 40.432 3597
+-79.112 40.432 3599
+-78.986 40.432 3551
+-78.86 40.432 3553
+-78.734 40.432 3555
+-78.608 40.432 3519
+-78.482 40.432 3546
+-78.356 40.432 3547
+-78.23 40.432 3588
+-78.104 40.432 3590
+-77.978 40.432 3592
+-77.852 40.432 3594
+-77.726 40.432 3596
+-77.6 40.432 3543
+-77.474 40.432 3544
+-77.348 40.432 3545
+-77.222 40.432 3546
+-77.096 40.432 3547
+-76.97 40.432 3547
+-76.844 40.432 3548
+-76.718 40.432 3549
+-76.592 40.432 3550
+-76.466 40.432 3550
+-76.34 40.432 3527
+-76.214 40.432 3517
+-76.088 40.432 3518
+-75.962 40.432 3519
+-75.836 40.432 3519
+-75.71 40.432 3520
+-75.584 40.432 3504
+-75.458 40.432 3505
+-75.332 40.432 3505
+-75.206 40.432 3506
+-75.08 40.432 3506
+-74.954 40.432 3507
+-74.828 40.432 3507
+-74.702 40.432 3508
+-74.576 40.432 3508
+-74.45 40.432 3451
+-74.324 40.432 3451
+-74.198 40.432 3452
+-74.072 40.432 3452
+-73.946 40.432 3453
+-73.82 40.432 3453
+-73.694 40.432 3454
+-73.568 40.432 3454
+-73.442 40.432 3454
+-73.316 40.432 3455
+-73.19 40.432 3455
+-73.064 40.432 3455
+-72.938 40.432 3456
+-72.812 40.432 3383
+-72.686 40.432 3383
+-72.56 40.432 3382
+-72.434 40.432 3382
+-72.308 40.432 3382
+-72.182 40.432 3382
+-72.056 40.432 3382
+-71.93 40.432 3381
+-71.804 40.432 3381
+-71.678 40.432 3381
+-71.552 40.432 3381
+-71.426 40.432 3381
+-71.3 40.432 3380
+-71.174 40.432 3380
+-71.048 40.432 3380
+-70.922 40.432 3380
+-70.796 40.432 3380
+-70.67 40.432 3379
+-70.544 40.432 3379
+-70.418 40.432 3379
+-70.292 40.432 3379
+-70.166 40.432 3379
+-70.04 40.432 3378
+-69.914 40.432 3378
+-69.788 40.432 3378
+-69.662 40.432 3070
+-69.536 40.432 3069
+-69.41 40.432 3068
+-69.284 40.432 3067
+-69.158 40.432 3067
+-69.032 40.432 3066
+-68.906 40.432 3066
+-68.78 40.432 3065
+-68.654 40.432 3064
+-68.528 40.432 3064
+-68.402 40.432 3063
+-68.276 40.432 3063
+-68.15 40.432 3062
+-68.024 40.432 3061
+-67.898 40.432 3061
+-67.772 40.432 3060
+-67.646 40.432 3060
+-67.52 40.432 3059
+-67.394 40.432 2933
+-67.268 40.432 2932
+-67.142 40.432 2901
+-67.016 40.432 2854
+-66.89 40.432 2853
+-66.764 40.432 2853
+-66.638 40.432 2868
+-66.512 40.432 2868
+-66.386 40.432 2879
+-66.26 40.432 2879
+-66.134 40.432 2837
+-66.008 40.432 2801
+-65.882 40.432 2800
+-65.756 40.432 2800
+-65.63 40.432 2800
+-65.504 40.432 2821
+-65.378 40.432 2827
+-65.252 40.432 2837
+-65.126 40.432 2834
+-128 40.38 2609
+-127.874 40.38 2542
+-127.748 40.38 2575
+-127.622 40.38 2566
+-127.496 40.38 2565
+-127.37 40.38 2557
+-127.244 40.38 2559
+-127.118 40.38 2564
+-126.992 40.38 2568
+-126.866 40.38 2556
+-126.74 40.38 2575
+-126.614 40.38 2618
+-126.488 40.38 2638
+-126.362 40.38 2610
+-126.236 40.38 2668
+-126.11 40.38 2638
+-125.984 40.38 2651
+-125.858 40.38 2661
+-125.732 40.38 2669
+-125.606 40.38 2673
+-125.48 40.38 2674
+-125.354 40.38 2672
+-125.228 40.38 2668
+-125.102 40.38 2657
+-124.976 40.38 2642
+-124.85 40.38 2607
+-124.724 40.38 2577
+-124.598 40.38 2554
+-124.472 40.38 2518
+-124.346 40.38 2493
+-124.22 40.38 2468
+-124.094 40.38 2447
+-123.968 40.38 2436
+-123.842 40.38 2423
+-123.716 40.38 2408
+-123.59 40.38 2390
+-123.464 40.38 2380
+-123.338 40.38 2395
+-123.212 40.38 2426
+-123.086 40.38 2463
+-122.96 40.38 2496
+-122.834 40.38 2525
+-122.708 40.38 2545
+-122.582 40.38 2555
+-122.456 40.38 2557
+-122.33 40.38 2539
+-122.204 40.38 2496
+-122.078 40.38 2430
+-121.952 40.38 2339
+-121.826 40.38 2246
+-121.7 40.38 2204
+-121.574 40.38 2263
+-121.448 40.38 2407
+-121.322 40.38 2562
+-121.196 40.38 2711
+-121.07 40.38 2797
+-120.944 40.38 2901
+-120.818 40.38 2947
+-120.692 40.38 2993
+-120.566 40.38 3012
+-120.44 40.38 3029
+-120.314 40.38 3044
+-120.188 40.38 3061
+-120.062 40.38 3110
+-119.936 40.38 3154
+-119.81 40.38 3173
+-119.684 40.38 3183
+-119.558 40.38 3177
+-119.432 40.38 3171
+-119.306 40.38 3189
+-119.18 40.38 3236
+-119.054 40.38 3271
+-118.928 40.38 3294
+-118.802 40.38 3309
+-118.676 40.38 3318
+-118.55 40.38 3334
+-118.424 40.38 3329
+-118.298 40.38 3317
+-118.172 40.38 3292
+-118.046 40.38 3281
+-117.92 40.38 3263
+-117.794 40.38 3254
+-117.668 40.38 3245
+-117.542 40.38 3231
+-117.416 40.38 3209
+-117.29 40.38 3166
+-117.164 40.38 3134
+-117.038 40.38 3082
+-116.912 40.38 3031
+-116.786 40.38 2961
+-116.66 40.38 2900
+-116.534 40.38 2880
+-116.408 40.38 2868
+-116.282 40.38 2848
+-116.156 40.38 2827
+-116.03 40.38 2762
+-115.904 40.38 2666
+-115.778 40.38 2579
+-115.652 40.38 2536
+-115.526 40.38 2545
+-115.4 40.38 2522
+-115.274 40.38 2539
+-115.148 40.38 2550
+-115.022 40.38 2547
+-114.896 40.38 2519
+-114.77 40.38 2464
+-114.644 40.38 2371
+-114.518 40.38 2206
+-114.392 40.38 2043
+-114.266 40.38 1965
+-114.14 40.38 2028
+-114.014 40.38 2136
+-113.888 40.38 2184
+-113.762 40.38 2211
+-113.636 40.38 2180
+-113.51 40.38 2148
+-113.384 40.38 2093
+-113.258 40.38 2016
+-113.132 40.38 1914
+-113.006 40.38 1785
+-112.88 40.38 1630
+-112.754 40.38 1454
+-112.628 40.38 1286
+-112.502 40.38 1159
+-112.376 40.38 1102
+-112.25 40.38 1120
+-112.124 40.38 1179
+-111.998 40.38 1247
+-111.872 40.38 1301
+-111.746 40.38 1341
+-111.62 40.38 1369
+-111.494 40.38 1394
+-111.368 40.38 1422
+-111.242 40.38 1458
+-111.116 40.38 1474
+-110.99 40.38 1514
+-110.864 40.38 1553
+-110.738 40.38 1602
+-110.612 40.38 1645
+-110.486 40.38 1688
+-110.36 40.38 1728
+-110.234 40.38 1762
+-110.108 40.38 1818
+-109.982 40.38 1853
+-109.856 40.38 1875
+-109.73 40.38 1905
+-109.604 40.38 1940
+-109.478 40.38 1948
+-109.352 40.38 1919
+-109.226 40.38 1936
+-109.1 40.38 1956
+-108.974 40.38 1874
+-108.848 40.38 1911
+-108.722 40.38 1924
+-108.596 40.38 1939
+-108.47 40.38 1939
+-108.344 40.38 1952
+-108.218 40.38 2020
+-108.092 40.38 2033
+-107.966 40.38 2066
+-107.84 40.38 2078
+-107.714 40.38 2090
+-107.588 40.38 2075
+-107.462 40.38 2061
+-107.336 40.38 2050
+-107.21 40.38 2057
+-107.084 40.38 2065
+-106.958 40.38 2067
+-106.832 40.38 2080
+-106.706 40.38 2073
+-106.58 40.38 2081
+-106.454 40.38 2071
+-106.328 40.38 2078
+-106.202 40.38 2085
+-106.076 40.38 2091
+-105.95 40.38 2020
+-105.824 40.38 1936
+-105.698 40.38 1915
+-105.572 40.38 1910
+-105.446 40.38 1905
+-105.32 40.38 1918
+-105.194 40.38 1966
+-105.068 40.38 1959
+-104.942 40.38 1967
+-104.816 40.38 1958
+-104.69 40.38 1960
+-104.564 40.38 2037
+-104.438 40.38 2014
+-104.312 40.38 2058
+-104.186 40.38 2018
+-104.06 40.38 2009
+-103.934 40.38 2098
+-103.808 40.38 2129
+-103.682 40.38 2104
+-103.556 40.38 2166
+-103.43 40.38 2215
+-103.304 40.38 2212
+-103.178 40.38 2217
+-103.052 40.38 2211
+-102.926 40.38 2306
+-102.8 40.38 2299
+-102.674 40.38 2292
+-102.548 40.38 2284
+-102.422 40.38 2275
+-102.296 40.38 2283
+-102.17 40.38 2303
+-102.044 40.38 2292
+-101.918 40.38 2280
+-101.792 40.38 2267
+-101.666 40.38 2331
+-101.54 40.38 2315
+-101.414 40.38 2297
+-101.288 40.38 2278
+-101.162 40.38 2257
+-101.036 40.38 2234
+-100.91 40.38 2255
+-100.784 40.38 2227
+-100.658 40.38 2196
+-100.532 40.38 2161
+-100.406 40.38 2123
+-100.28 40.38 2079
+-100.154 40.38 2065
+-100.028 40.38 2019
+-99.902 40.38 1957
+-99.776 40.38 1985
+-99.65 40.38 1902
+-99.524 40.38 1809
+-99.398 40.38 1720
+-99.272 40.38 1607
+-99.146 40.38 1491
+-99.02 40.38 1380
+-98.894 40.38 1288
+-98.768 40.38 1272
+-98.642 40.38 1312
+-98.516 40.38 1393
+-98.39 40.38 1544
+-98.264 40.38 1744
+-98.138 40.38 1962
+-98.012 40.38 2207
+-97.886 40.38 2401
+-97.76 40.38 2598
+-97.634 40.38 2712
+-97.508 40.38 2796
+-97.382 40.38 2859
+-97.256 40.38 2983
+-97.13 40.38 3016
+-97.004 40.38 3085
+-96.878 40.38 3129
+-96.752 40.38 3215
+-96.626 40.38 3361
+-96.5 40.38 3449
+-96.374 40.38 3508
+-96.248 40.38 3577
+-96.122 40.38 3663
+-95.996 40.38 3835
+-95.87 40.38 3938
+-95.744 40.38 4032
+-95.618 40.38 4122
+-95.492 40.38 4235
+-95.366 40.38 4270
+-95.24 40.38 4297
+-95.114 40.38 4407
+-94.988 40.38 4484
+-94.862 40.38 4553
+-94.736 40.38 4603
+-94.61 40.38 4666
+-94.484 40.38 4776
+-94.358 40.38 4824
+-94.232 40.38 4988
+-94.106 40.38 5128
+-93.98 40.38 5302
+-93.854 40.38 5451
+-93.728 40.38 5459
+-93.602 40.38 5639
+-93.476 40.38 5772
+-93.35 40.38 5812
+-93.224 40.38 5938
+-93.098 40.38 6134
+-92.972 40.38 6269
+-92.846 40.38 6398
+-92.72 40.38 6477
+-92.594 40.38 6554
+-92.468 40.38 6627
+-92.342 40.38 6733
+-92.216 40.38 6845
+-92.09 40.38 6954
+-91.964 40.38 7051
+-91.838 40.38 7173
+-91.712 40.38 7234
+-91.586 40.38 7291
+-91.46 40.38 7377
+-91.334 40.38 7428
+-91.208 40.38 7500
+-91.082 40.38 7567
+-90.956 40.38 7588
+-90.83 40.38 7632
+-90.704 40.38 7659
+-90.578 40.38 7686
+-90.452 40.38 7710
+-90.326 40.38 7678
+-90.2 40.38 7695
+-90.074 40.38 7644
+-89.948 40.38 7613
+-89.822 40.38 7587
+-89.696 40.38 7514
+-89.57 40.38 7441
+-89.444 40.38 7358
+-89.318 40.38 7326
+-89.192 40.38 7188
+-89.066 40.38 7132
+-88.94 40.38 7081
+-88.814 40.38 6960
+-88.688 40.38 6844
+-88.562 40.38 6778
+-88.436 40.38 6628
+-88.31 40.38 6645
+-88.184 40.38 6713
+-88.058 40.38 6675
+-87.932 40.38 6635
+-87.806 40.38 6556
+-87.68 40.38 6541
+-87.554 40.38 6483
+-87.428 40.38 6415
+-87.302 40.38 6355
+-87.176 40.38 6254
+-87.05 40.38 6240
+-86.924 40.38 6161
+-86.798 40.38 6012
+-86.672 40.38 5963
+-86.546 40.38 5815
+-86.42 40.38 5724
+-86.294 40.38 5670
+-86.168 40.38 5635
+-86.042 40.38 5489
+-85.916 40.38 5358
+-85.79 40.38 5294
+-85.664 40.38 5241
+-85.538 40.38 5052
+-85.412 40.38 4991
+-85.286 40.38 4830
+-85.16 40.38 4718
+-85.034 40.38 4647
+-84.908 40.38 4506
+-84.782 40.38 4359
+-84.656 40.38 4274
+-84.53 40.38 4251
+-84.404 40.38 4158
+-84.278 40.38 4038
+-84.152 40.38 3852
+-84.026 40.38 3727
+-83.9 40.38 3643
+-83.774 40.38 3526
+-83.648 40.38 3558
+-83.522 40.38 3604
+-83.396 40.38 3619
+-83.27 40.38 3623
+-83.144 40.38 3624
+-83.018 40.38 3569
+-82.892 40.38 3562
+-82.766 40.38 3557
+-82.64 40.38 3566
+-82.514 40.38 3575
+-82.388 40.38 3584
+-82.262 40.38 3552
+-82.136 40.38 3553
+-82.01 40.38 3560
+-81.884 40.38 3566
+-81.758 40.38 3582
+-81.632 40.38 3590
+-81.506 40.38 3597
+-81.38 40.38 3604
+-81.254 40.38 3610
+-81.128 40.38 3616
+-81.002 40.38 3621
+-80.876 40.38 3626
+-80.75 40.38 3631
+-80.624 40.38 3635
+-80.498 40.38 3639
+-80.372 40.38 3643
+-80.246 40.38 3646
+-80.12 40.38 3649
+-79.994 40.38 3652
+-79.868 40.38 3607
+-79.742 40.38 3610
+-79.616 40.38 3594
+-79.49 40.38 3596
+-79.364 40.38 3598
+-79.238 40.38 3601
+-79.112 40.38 3554
+-78.986 40.38 3556
+-78.86 40.38 3558
+-78.734 40.38 3522
+-78.608 40.38 3547
+-78.482 40.38 3548
+-78.356 40.38 3588
+-78.23 40.38 3590
+-78.104 40.38 3592
+-77.978 40.38 3594
+-77.852 40.38 3596
+-77.726 40.38 3543
+-77.6 40.38 3544
+-77.474 40.38 3545
+-77.348 40.38 3546
+-77.222 40.38 3547
+-77.096 40.38 3548
+-76.97 40.38 3548
+-76.844 40.38 3549
+-76.718 40.38 3550
+-76.592 40.38 3550
+-76.466 40.38 3527
+-76.34 40.38 3517
+-76.214 40.38 3518
+-76.088 40.38 3519
+-75.962 40.38 3519
+-75.836 40.38 3520
+-75.71 40.38 3521
+-75.584 40.38 3505
+-75.458 40.38 3506
+-75.332 40.38 3506
+-75.206 40.38 3507
+-75.08 40.38 3507
+-74.954 40.38 3507
+-74.828 40.38 3508
+-74.702 40.38 3508
+-74.576 40.38 3451
+-74.45 40.38 3451
+-74.324 40.38 3452
+-74.198 40.38 3452
+-74.072 40.38 3453
+-73.946 40.38 3453
+-73.82 40.38 3453
+-73.694 40.38 3454
+-73.568 40.38 3454
+-73.442 40.38 3455
+-73.316 40.38 3455
+-73.19 40.38 3455
+-73.064 40.38 3456
+-72.938 40.38 3383
+-72.812 40.38 3383
+-72.686 40.38 3383
+-72.56 40.38 3382
+-72.434 40.38 3382
+-72.308 40.38 3382
+-72.182 40.38 3382
+-72.056 40.38 3381
+-71.93 40.38 3381
+-71.804 40.38 3381
+-71.678 40.38 3381
+-71.552 40.38 3381
+-71.426 40.38 3380
+-71.3 40.38 3380
+-71.174 40.38 3380
+-71.048 40.38 3380
+-70.922 40.38 3380
+-70.796 40.38 3379
+-70.67 40.38 3379
+-70.544 40.38 3379
+-70.418 40.38 3379
+-70.292 40.38 3379
+-70.166 40.38 3378
+-70.04 40.38 3378
+-69.914 40.38 3378
+-69.788 40.38 3070
+-69.662 40.38 3069
+-69.536 40.38 3068
+-69.41 40.38 3068
+-69.284 40.38 3067
+-69.158 40.38 3066
+-69.032 40.38 3066
+-68.906 40.38 3065
+-68.78 40.38 3064
+-68.654 40.38 3064
+-68.528 40.38 3063
+-68.402 40.38 3063
+-68.276 40.38 3062
+-68.15 40.38 3061
+-68.024 40.38 3061
+-67.898 40.38 3060
+-67.772 40.38 3060
+-67.646 40.38 3059
+-67.52 40.38 2932
+-67.394 40.38 2932
+-67.268 40.38 2901
+-67.142 40.38 2854
+-67.016 40.38 2853
+-66.89 40.38 2852
+-66.764 40.38 2868
+-66.638 40.38 2868
+-66.512 40.38 2879
+-66.386 40.38 2878
+-66.26 40.38 2837
+-66.134 40.38 2800
+-66.008 40.38 2800
+-65.882 40.38 2800
+-65.756 40.38 2799
+-65.63 40.38 2821
+-65.504 40.38 2827
+-65.378 40.38 2836
+-65.252 40.38 2834
+-65.126 40.38 2877
+-128 40.328 2576
+-127.874 40.328 2612
+-127.748 40.328 2601
+-127.622 40.328 2598
+-127.496 40.328 2586
+-127.37 40.328 2585
+-127.244 40.328 2584
+-127.118 40.328 2584
+-126.992 40.328 2565
+-126.866 40.328 2579
+-126.74 40.328 2594
+-126.614 40.328 2588
+-126.488 40.328 2603
+-126.362 40.328 2612
+-126.236 40.328 2626
+-126.11 40.328 2638
+-125.984 40.328 2648
+-125.858 40.328 2655
+-125.732 40.328 2659
+-125.606 40.328 2661
+-125.48 40.328 2658
+-125.354 40.328 2613
+-125.228 40.328 2592
+-125.102 40.328 2580
+-124.976 40.328 2565
+-124.85 40.328 2538
+-124.724 40.328 2517
+-124.598 40.328 2494
+-124.472 40.328 2471
+-124.346 40.328 2437
+-124.22 40.328 2404
+-124.094 40.328 2368
+-123.968 40.328 2364
+-123.842 40.328 2360
+-123.716 40.328 2368
+-123.59 40.328 2377
+-123.464 40.328 2384
+-123.338 40.328 2394
+-123.212 40.328 2407
+-123.086 40.328 2438
+-122.96 40.328 2465
+-122.834 40.328 2489
+-122.708 40.328 2508
+-122.582 40.328 2513
+-122.456 40.328 2514
+-122.33 40.328 2503
+-122.204 40.328 2465
+-122.078 40.328 2396
+-121.952 40.328 2299
+-121.826 40.328 2197
+-121.7 40.328 2150
+-121.574 40.328 2208
+-121.448 40.328 2356
+-121.322 40.328 2518
+-121.196 40.328 2661
+-121.07 40.328 2766
+-120.944 40.328 2862
+-120.818 40.328 2904
+-120.692 40.328 2948
+-120.566 40.328 2971
+-120.44 40.328 2989
+-120.314 40.328 3009
+-120.188 40.328 3031
+-120.062 40.328 3060
+-119.936 40.328 3091
+-119.81 40.328 3135
+-119.684 40.328 3152
+-119.558 40.328 3164
+-119.432 40.328 3174
+-119.306 40.328 3190
+-119.18 40.328 3212
+-119.054 40.328 3245
+-118.928 40.328 3262
+-118.802 40.328 3275
+-118.676 40.328 3273
+-118.55 40.328 3296
+-118.424 40.328 3292
+-118.298 40.328 3268
+-118.172 40.328 3247
+-118.046 40.328 3216
+-117.92 40.328 3195
+-117.794 40.328 3184
+-117.668 40.328 3181
+-117.542 40.328 3181
+-117.416 40.328 3163
+-117.29 40.328 3125
+-117.164 40.328 3102
+-117.038 40.328 3046
+-116.912 40.328 2990
+-116.786 40.328 2935
+-116.66 40.328 2893
+-116.534 40.328 2854
+-116.408 40.328 2804
+-116.282 40.328 2805
+-116.156 40.328 2807
+-116.03 40.328 2762
+-115.904 40.328 2687
+-115.778 40.328 2606
+-115.652 40.328 2564
+-115.526 40.328 2530
+-115.4 40.328 2479
+-115.274 40.328 2517
+-115.148 40.328 2548
+-115.022 40.328 2552
+-114.896 40.328 2527
+-114.77 40.328 2475
+-114.644 40.328 2391
+-114.518 40.328 2246
+-114.392 40.328 2109
+-114.266 40.328 2038
+-114.14 40.328 2082
+-114.014 40.328 2147
+-113.888 40.328 2203
+-113.762 40.328 2223
+-113.636 40.328 2215
+-113.51 40.328 2154
+-113.384 40.328 2095
+-113.258 40.328 2011
+-113.132 40.328 1899
+-113.006 40.328 1753
+-112.88 40.328 1578
+-112.754 40.328 1375
+-112.628 40.328 1178
+-112.502 40.328 1029
+-112.376 40.328 972
+-112.25 40.328 1009
+-112.124 40.328 1096
+-111.998 40.328 1178
+-111.872 40.328 1234
+-111.746 40.328 1264
+-111.62 40.328 1285
+-111.494 40.328 1308
+-111.368 40.328 1339
+-111.242 40.328 1358
+-111.116 40.328 1402
+-110.99 40.328 1448
+-110.864 40.328 1506
+-110.738 40.328 1558
+-110.612 40.328 1609
+-110.486 40.328 1658
+-110.36 40.328 1699
+-110.234 40.328 1761
+-110.108 40.328 1802
+-109.982 40.328 1830
+-109.856 40.328 1865
+-109.73 40.328 1867
+-109.604 40.328 1916
+-109.478 40.328 1943
+-109.352 40.328 1962
+-109.226 40.328 1987
+-109.1 40.328 1901
+-108.974 40.328 1926
+-108.848 40.328 1958
+-108.722 40.328 1975
+-108.596 40.328 1928
+-108.47 40.328 1942
+-108.344 40.328 2007
+-108.218 40.328 2021
+-108.092 40.328 2056
+-107.966 40.328 2069
+-107.84 40.328 2081
+-107.714 40.328 2093
+-107.588 40.328 2054
+-107.462 40.328 2058
+-107.336 40.328 2053
+-107.21 40.328 2062
+-107.084 40.328 2065
+-106.958 40.328 2079
+-106.832 40.328 2072
+-106.706 40.328 2080
+-106.58 40.328 2069
+-106.454 40.328 2078
+-106.328 40.328 2085
+-106.202 40.328 2091
+-106.076 40.328 2113
+-105.95 40.328 2047
+-105.824 40.328 2048
+-105.698 40.328 1942
+-105.572 40.328 1919
+-105.446 40.328 1933
+-105.32 40.328 1983
+-105.194 40.328 1976
+-105.068 40.328 1985
+-104.942 40.328 1977
+-104.816 40.328 1980
+-104.69 40.328 1970
+-104.564 40.328 2046
+-104.438 40.328 2023
+-104.312 40.328 2067
+-104.186 40.328 2057
+-104.06 40.328 2017
+-103.934 40.328 2106
+-103.808 40.328 2137
+-103.682 40.328 2124
+-103.556 40.328 2173
+-103.43 40.328 2184
+-103.304 40.328 2217
+-103.178 40.328 2225
+-103.052 40.328 2220
+-102.926 40.328 2259
+-102.8 40.328 2309
+-102.674 40.328 2302
+-102.548 40.328 2294
+-102.422 40.328 2286
+-102.296 40.328 2294
+-102.17 40.328 2315
+-102.044 40.328 2305
+-101.918 40.328 2294
+-101.792 40.328 2281
+-101.666 40.328 2347
+-101.54 40.328 2332
+-101.414 40.328 2315
+-101.288 40.328 2297
+-101.162 40.328 2277
+-101.036 40.328 2255
+-100.91 40.328 2232
+-100.784 40.328 2252
+-100.658 40.328 2224
+-100.532 40.328 2192
+-100.406 40.328 2156
+-100.28 40.328 2116
+-100.154 40.328 2072
+-100.028 40.328 2055
+-99.902 40.328 2010
+-99.776 40.328 1948
+-99.65 40.328 1979
+-99.524 40.328 1902
+-99.398 40.328 1819
+-99.272 40.328 1761
+-99.146 40.328 1673
+-99.02 40.328 1594
+-98.894 40.328 1579
+-98.768 40.328 1550
+-98.642 40.328 1612
+-98.516 40.328 1687
+-98.39 40.328 1812
+-98.264 40.328 1970
+-98.138 40.328 2171
+-98.012 40.328 2336
+-97.886 40.328 2479
+-97.76 40.328 2608
+-97.634 40.328 2741
+-97.508 40.328 2814
+-97.382 40.328 2845
+-97.256 40.328 2928
+-97.13 40.328 2939
+-97.004 40.328 2955
+-96.878 40.328 3046
+-96.752 40.328 3109
+-96.626 40.328 3255
+-96.5 40.328 3318
+-96.374 40.328 3402
+-96.248 40.328 3466
+-96.122 40.328 3566
+-95.996 40.328 3698
+-95.87 40.328 3898
+-95.744 40.328 4052
+-95.618 40.328 4181
+-95.492 40.328 4201
+-95.366 40.328 4215
+-95.24 40.328 4189
+-95.114 40.328 4307
+-94.988 40.328 4441
+-94.862 40.328 4539
+-94.736 40.328 4551
+-94.61 40.328 4660
+-94.484 40.328 4780
+-94.358 40.328 4885
+-94.232 40.328 4960
+-94.106 40.328 5121
+-93.98 40.328 5317
+-93.854 40.328 5468
+-93.728 40.328 5564
+-93.602 40.328 5629
+-93.476 40.328 5765
+-93.35 40.328 5822
+-93.224 40.328 5965
+-93.098 40.328 6192
+-92.972 40.328 6275
+-92.846 40.328 6402
+-92.72 40.328 6525
+-92.594 40.328 6600
+-92.468 40.328 6673
+-92.342 40.328 6753
+-92.216 40.328 6846
+-92.09 40.328 6976
+-91.964 40.328 7147
+-91.838 40.328 7149
+-91.712 40.328 7267
+-91.586 40.328 7355
+-91.46 40.328 7424
+-91.334 40.328 7494
+-91.208 40.328 7561
+-91.082 40.328 7593
+-90.956 40.328 7630
+-90.83 40.328 7708
+-90.704 40.328 7714
+-90.578 40.328 7744
+-90.452 40.328 7723
+-90.326 40.328 7754
+-90.2 40.328 7731
+-90.074 40.328 7696
+-89.948 40.328 7680
+-89.822 40.328 7626
+-89.696 40.328 7547
+-89.57 40.328 7473
+-89.444 40.328 7445
+-89.318 40.328 7363
+-89.192 40.328 7265
+-89.066 40.328 7145
+-88.94 40.328 7077
+-88.814 40.328 6943
+-88.688 40.328 6879
+-88.562 40.328 6796
+-88.436 40.328 6735
+-88.31 40.328 6701
+-88.184 40.328 6718
+-88.058 40.328 6697
+-87.932 40.328 6663
+-87.806 40.328 6619
+-87.68 40.328 6571
+-87.554 40.328 6525
+-87.428 40.328 6413
+-87.302 40.328 6423
+-87.176 40.328 6370
+-87.05 40.328 6229
+-86.924 40.328 6213
+-86.798 40.328 6094
+-86.672 40.328 6014
+-86.546 40.328 5907
+-86.42 40.328 5799
+-86.294 40.328 5726
+-86.168 40.328 5666
+-86.042 40.328 5552
+-85.916 40.328 5418
+-85.79 40.328 5296
+-85.664 40.328 5271
+-85.538 40.328 5112
+-85.412 40.328 4957
+-85.286 40.328 4824
+-85.16 40.328 4783
+-85.034 40.328 4682
+-84.908 40.328 4536
+-84.782 40.328 4396
+-84.656 40.328 4318
+-84.53 40.328 4263
+-84.404 40.328 4207
+-84.278 40.328 4122
+-84.152 40.328 3990
+-84.026 40.328 3873
+-83.9 40.328 3777
+-83.774 40.328 3691
+-83.648 40.328 3667
+-83.522 40.328 3651
+-83.396 40.328 3634
+-83.27 40.328 3592
+-83.144 40.328 3577
+-83.018 40.328 3554
+-82.892 40.328 3537
+-82.766 40.328 3554
+-82.64 40.328 3570
+-82.514 40.328 3586
+-82.388 40.328 3535
+-82.262 40.328 3540
+-82.136 40.328 3549
+-82.01 40.328 3557
+-81.884 40.328 3576
+-81.758 40.328 3585
+-81.632 40.328 3593
+-81.506 40.328 3601
+-81.38 40.328 3608
+-81.254 40.328 3614
+-81.128 40.328 3620
+-81.002 40.328 3625
+-80.876 40.328 3630
+-80.75 40.328 3634
+-80.624 40.328 3639
+-80.498 40.328 3643
+-80.372 40.328 3646
+-80.246 40.328 3650
+-80.12 40.328 3653
+-79.994 40.328 3609
+-79.868 40.328 3612
+-79.742 40.328 3595
+-79.616 40.328 3598
+-79.49 40.328 3600
+-79.364 40.328 3602
+-79.238 40.328 3604
+-79.112 40.328 3619
+-78.986 40.328 3561
+-78.86 40.328 3587
+-78.734 40.328 3549
+-78.608 40.328 3550
+-78.482 40.328 3588
+-78.356 40.328 3590
+-78.23 40.328 3592
+-78.104 40.328 3594
+-77.978 40.328 3596
+-77.852 40.328 3543
+-77.726 40.328 3544
+-77.6 40.328 3545
+-77.474 40.328 3546
+-77.348 40.328 3547
+-77.222 40.328 3548
+-77.096 40.328 3549
+-76.97 40.328 3549
+-76.844 40.328 3550
+-76.718 40.328 3551
+-76.592 40.328 3527
+-76.466 40.328 3517
+-76.34 40.328 3518
+-76.214 40.328 3519
+-76.088 40.328 3520
+-75.962 40.328 3520
+-75.836 40.328 3505
+-75.71 40.328 3505
+-75.584 40.328 3506
+-75.458 40.328 3506
+-75.332 40.328 3507
+-75.206 40.328 3507
+-75.08 40.328 3508
+-74.954 40.328 3508
+-74.828 40.328 3508
+-74.702 40.328 3451
+-74.576 40.328 3451
+-74.45 40.328 3452
+-74.324 40.328 3452
+-74.198 40.328 3453
+-74.072 40.328 3453
+-73.946 40.328 3453
+-73.82 40.328 3454
+-73.694 40.328 3454
+-73.568 40.328 3454
+-73.442 40.328 3455
+-73.316 40.328 3455
+-73.19 40.328 3455
+-73.064 40.328 3383
+-72.938 40.328 3383
+-72.812 40.328 3383
+-72.686 40.328 3382
+-72.56 40.328 3382
+-72.434 40.328 3382
+-72.308 40.328 3382
+-72.182 40.328 3381
+-72.056 40.328 3381
+-71.93 40.328 3381
+-71.804 40.328 3381
+-71.678 40.328 3381
+-71.552 40.328 3380
+-71.426 40.328 3380
+-71.3 40.328 3380
+-71.174 40.328 3380
+-71.048 40.328 3379
+-70.922 40.328 3379
+-70.796 40.328 3379
+-70.67 40.328 3379
+-70.544 40.328 3379
+-70.418 40.328 3379
+-70.292 40.328 3378
+-70.166 40.328 3378
+-70.04 40.328 3378
+-69.914 40.328 3070
+-69.788 40.328 3069
+-69.662 40.328 3068
+-69.536 40.328 3068
+-69.41 40.328 3067
+-69.284 40.328 3066
+-69.158 40.328 3066
+-69.032 40.328 3065
+-68.906 40.328 3064
+-68.78 40.328 3064
+-68.654 40.328 3063
+-68.528 40.328 3062
+-68.402 40.328 3062
+-68.276 40.328 3061
+-68.15 40.328 3061
+-68.024 40.328 3060
+-67.898 40.328 3060
+-67.772 40.328 3059
+-67.646 40.328 2932
+-67.52 40.328 2932
+-67.394 40.328 2901
+-67.268 40.328 2854
+-67.142 40.328 2853
+-67.016 40.328 2852
+-66.89 40.328 2868
+-66.764 40.328 2868
+-66.638 40.328 2879
+-66.512 40.328 2878
+-66.386 40.328 2837
+-66.26 40.328 2800
+-66.134 40.328 2800
+-66.008 40.328 2799
+-65.882 40.328 2799
+-65.756 40.328 2821
+-65.63 40.328 2826
+-65.504 40.328 2836
+-65.378 40.328 2833
+-65.252 40.328 2876
+-65.126 40.328 2887
+-128 40.276 2644
+-127.874 40.276 2632
+-127.748 40.276 2628
+-127.622 40.276 2612
+-127.496 40.276 2609
+-127.37 40.276 2605
+-127.244 40.276 2600
+-127.118 40.276 2576
+-126.992 40.276 2586
+-126.866 40.276 2597
+-126.74 40.276 2587
+-126.614 40.276 2552
+-126.488 40.276 2564
+-126.362 40.276 2570
+-126.236 40.276 2580
+-126.11 40.276 2589
+-125.984 40.276 2596
+-125.858 40.276 2601
+-125.732 40.276 2603
+-125.606 40.276 2602
+-125.48 40.276 2585
+-125.354 40.276 2550
+-125.228 40.276 2540
+-125.102 40.276 2527
+-124.976 40.276 2532
+-124.85 40.276 2510
+-124.724 40.276 2472
+-124.598 40.276 2440
+-124.472 40.276 2403
+-124.346 40.276 2363
+-124.22 40.276 2319
+-124.094 40.276 2272
+-123.968 40.276 2246
+-123.842 40.276 2248
+-123.716 40.276 2271
+-123.59 40.276 2306
+-123.464 40.276 2338
+-123.338 40.276 2358
+-123.212 40.276 2384
+-123.086 40.276 2406
+-122.96 40.276 2428
+-122.834 40.276 2444
+-122.708 40.276 2464
+-122.582 40.276 2479
+-122.456 40.276 2482
+-122.33 40.276 2473
+-122.204 40.276 2444
+-122.078 40.276 2388
+-121.952 40.276 2311
+-121.826 40.276 2232
+-121.7 40.276 2196
+-121.574 40.276 2249
+-121.448 40.276 2367
+-121.322 40.276 2516
+-121.196 40.276 2644
+-121.07 40.276 2722
+-120.944 40.276 2824
+-120.818 40.276 2862
+-120.692 40.276 2887
+-120.566 40.276 2915
+-120.44 40.276 2931
+-120.314 40.276 2951
+-120.188 40.276 2968
+-120.062 40.276 3009
+-119.936 40.276 3045
+-119.81 40.276 3098
+-119.684 40.276 3124
+-119.558 40.276 3138
+-119.432 40.276 3139
+-119.306 40.276 3165
+-119.18 40.276 3178
+-119.054 40.276 3210
+-118.928 40.276 3207
+-118.802 40.276 3239
+-118.676 40.276 3225
+-118.55 40.276 3236
+-118.424 40.276 3242
+-118.298 40.276 3223
+-118.172 40.276 3179
+-118.046 40.276 3153
+-117.92 40.276 3111
+-117.794 40.276 3082
+-117.668 40.276 3094
+-117.542 40.276 3115
+-117.416 40.276 3108
+-117.29 40.276 3096
+-117.164 40.276 3055
+-117.038 40.276 3017
+-116.912 40.276 2970
+-116.786 40.276 2928
+-116.66 40.276 2883
+-116.534 40.276 2806
+-116.408 40.276 2733
+-116.282 40.276 2778
+-116.156 40.276 2808
+-116.03 40.276 2765
+-115.904 40.276 2711
+-115.778 40.276 2656
+-115.652 40.276 2610
+-115.526 40.276 2561
+-115.4 40.276 2526
+-115.274 40.276 2545
+-115.148 40.276 2561
+-115.022 40.276 2561
+-114.896 40.276 2539
+-114.77 40.276 2498
+-114.644 40.276 2435
+-114.518 40.276 2327
+-114.392 40.276 2238
+-114.266 40.276 2187
+-114.14 40.276 2196
+-114.014 40.276 2212
+-113.888 40.276 2236
+-113.762 40.276 2246
+-113.636 40.276 2230
+-113.51 40.276 2193
+-113.384 40.276 2105
+-113.258 40.276 2017
+-113.132 40.276 1898
+-113.006 40.276 1746
+-112.88 40.276 1557
+-112.754 40.276 1344
+-112.628 40.276 1134
+-112.502 40.276 977
+-112.376 40.276 922
+-112.25 40.276 966
+-112.124 40.276 1059
+-111.998 40.276 1140
+-111.872 40.276 1181
+-111.746 40.276 1188
+-111.62 40.276 1193
+-111.494 40.276 1209
+-111.368 40.276 1225
+-111.242 40.276 1270
+-111.116 40.276 1327
+-110.99 40.276 1389
+-110.864 40.276 1453
+-110.738 40.276 1515
+-110.612 40.276 1574
+-110.486 40.276 1626
+-110.36 40.276 1694
+-110.234 40.276 1743
+-110.108 40.276 1779
+-109.982 40.276 1820
+-109.856 40.276 1830
+-109.73 40.276 1881
+-109.604 40.276 1912
+-109.478 40.276 1940
+-109.352 40.276 1893
+-109.226 40.276 1928
+-109.1 40.276 1961
+-108.974 40.276 1983
+-108.848 40.276 1933
+-108.722 40.276 1947
+-108.596 40.276 1963
+-108.47 40.276 1946
+-108.344 40.276 2029
+-108.218 40.276 2043
+-108.092 40.276 2060
+-107.966 40.276 2073
+-107.84 40.276 2085
+-107.714 40.276 2068
+-107.588 40.276 2055
+-107.462 40.276 2049
+-107.336 40.276 2058
+-107.21 40.276 2063
+-107.084 40.276 2078
+-106.958 40.276 2071
+-106.832 40.276 2079
+-106.706 40.276 2068
+-106.58 40.276 2078
+-106.454 40.276 2085
+-106.328 40.276 2091
+-106.202 40.276 2113
+-106.076 40.276 2134
+-105.95 40.276 2070
+-105.824 40.276 2055
+-105.698 40.276 2055
+-105.572 40.276 1948
+-105.446 40.276 1998
+-105.32 40.276 1992
+-105.194 40.276 2003
+-105.068 40.276 1995
+-104.942 40.276 2000
+-104.816 40.276 1991
+-104.69 40.276 1981
+-104.564 40.276 2055
+-104.438 40.276 2032
+-104.312 40.276 2076
+-104.186 40.276 2066
+-104.06 40.276 2026
+-103.934 40.276 2115
+-103.808 40.276 2116
+-103.682 40.276 2132
+-103.556 40.276 2181
+-103.43 40.276 2192
+-103.304 40.276 2188
+-103.178 40.276 2245
+-103.052 40.276 2229
+-102.926 40.276 2269
+-102.8 40.276 2263
+-102.674 40.276 2312
+-102.548 40.276 2305
+-102.422 40.276 2298
+-102.296 40.276 2306
+-102.17 40.276 2329
+-102.044 40.276 2319
+-101.918 40.276 2308
+-101.792 40.276 2297
+-101.666 40.276 2364
+-101.54 40.276 2350
+-101.414 40.276 2334
+-101.288 40.276 2317
+-101.162 40.276 2298
+-101.036 40.276 2278
+-100.91 40.276 2256
+-100.784 40.276 2232
+-100.658 40.276 2253
+-100.532 40.276 2224
+-100.406 40.276 2192
+-100.28 40.276 2156
+-100.154 40.276 2117
+-100.028 40.276 2073
+-99.902 40.276 2057
+-99.776 40.276 2014
+-99.65 40.276 1957
+-99.524 40.276 1998
+-99.398 40.276 1934
+-99.272 40.276 1869
+-99.146 40.276 1839
+-99.02 40.276 1853
+-98.894 40.276 1815
+-98.768 40.276 1797
+-98.642 40.276 1824
+-98.516 40.276 1938
+-98.39 40.276 2039
+-98.264 40.276 2195
+-98.138 40.276 2326
+-98.012 40.276 2452
+-97.886 40.276 2561
+-97.76 40.276 2656
+-97.634 40.276 2727
+-97.508 40.276 2797
+-97.382 40.276 2821
+-97.256 40.276 2873
+-97.13 40.276 2850
+-97.004 40.276 2851
+-96.878 40.276 2873
+-96.752 40.276 2967
+-96.626 40.276 3132
+-96.5 40.276 3242
+-96.374 40.276 3274
+-96.248 40.276 3309
+-96.122 40.276 3423
+-95.996 40.276 3630
+-95.87 40.276 3884
+-95.744 40.276 4022
+-95.618 40.276 4160
+-95.492 40.276 4204
+-95.366 40.276 4150
+-95.24 40.276 4051
+-95.114 40.276 4219
+-94.988 40.276 4384
+-94.862 40.276 4525
+-94.736 40.276 4592
+-94.61 40.276 4699
+-94.484 40.276 4849
+-94.358 40.276 4951
+-94.232 40.276 5016
+-94.106 40.276 5123
+-93.98 40.276 5324
+-93.854 40.276 5452
+-93.728 40.276 5584
+-93.602 40.276 5729
+-93.476 40.276 5775
+-93.35 40.276 5899
+-93.224 40.276 6048
+-93.098 40.276 6208
+-92.972 40.276 6297
+-92.846 40.276 6421
+-92.72 40.276 6534
+-92.594 40.276 6606
+-92.468 40.276 6714
+-92.342 40.276 6814
+-92.216 40.276 6974
+-92.09 40.276 7048
+-91.964 40.276 7121
+-91.838 40.276 7204
+-91.712 40.276 7328
+-91.586 40.276 7406
+-91.46 40.276 7445
+-91.334 40.276 7554
+-91.208 40.276 7570
+-91.082 40.276 7639
+-90.956 40.276 7694
+-90.83 40.276 7758
+-90.704 40.276 7790
+-90.578 40.276 7788
+-90.452 40.276 7807
+-90.326 40.276 7786
+-90.2 40.276 7780
+-90.074 40.276 7757
+-89.948 40.276 7712
+-89.822 40.276 7661
+-89.696 40.276 7601
+-89.57 40.276 7520
+-89.444 40.276 7475
+-89.318 40.276 7382
+-89.192 40.276 7335
+-89.066 40.276 7217
+-88.94 40.276 7131
+-88.814 40.276 7019
+-88.688 40.276 6914
+-88.562 40.276 6814
+-88.436 40.276 6697
+-88.31 40.276 6555
+-88.184 40.276 6859
+-88.058 40.276 6767
+-87.932 40.276 6741
+-87.806 40.276 6670
+-87.68 40.276 6664
+-87.554 40.276 6574
+-87.428 40.276 6507
+-87.302 40.276 6449
+-87.176 40.276 6381
+-87.05 40.276 6308
+-86.924 40.276 6258
+-86.798 40.276 6142
+-86.672 40.276 6048
+-86.546 40.276 5977
+-86.42 40.276 5888
+-86.294 40.276 5795
+-86.168 40.276 5694
+-86.042 40.276 5582
+-85.916 40.276 5516
+-85.79 40.276 5397
+-85.664 40.276 5309
+-85.538 40.276 5165
+-85.412 40.276 5032
+-85.286 40.276 4850
+-85.16 40.276 4762
+-85.034 40.276 4657
+-84.908 40.276 4573
+-84.782 40.276 4460
+-84.656 40.276 4329
+-84.53 40.276 4234
+-84.404 40.276 4231
+-84.278 40.276 4158
+-84.152 40.276 4067
+-84.026 40.276 3989
+-83.9 40.276 3896
+-83.774 40.276 3812
+-83.648 40.276 3741
+-83.522 40.276 3651
+-83.396 40.276 3582
+-83.27 40.276 3523
+-83.144 40.276 3480
+-83.018 40.276 3478
+-82.892 40.276 3510
+-82.766 40.276 3543
+-82.64 40.276 3572
+-82.514 40.276 3510
+-82.388 40.276 3520
+-82.262 40.276 3552
+-82.136 40.276 3564
+-82.01 40.276 3568
+-81.884 40.276 3579
+-81.758 40.276 3589
+-81.632 40.276 3597
+-81.506 40.276 3605
+-81.38 40.276 3612
+-81.254 40.276 3618
+-81.128 40.276 3624
+-81.002 40.276 3629
+-80.876 40.276 3634
+-80.75 40.276 3639
+-80.624 40.276 3643
+-80.498 40.276 3646
+-80.372 40.276 3650
+-80.246 40.276 3653
+-80.12 40.276 3610
+-79.994 40.276 3614
+-79.868 40.276 3597
+-79.742 40.276 3600
+-79.616 40.276 3602
+-79.49 40.276 3604
+-79.364 40.276 3606
+-79.238 40.276 3621
+-79.112 40.276 3624
+-78.986 40.276 3589
+-78.86 40.276 3550
+-78.734 40.276 3552
+-78.608 40.276 3588
+-78.482 40.276 3591
+-78.356 40.276 3593
+-78.23 40.276 3595
+-78.104 40.276 3596
+-77.978 40.276 3544
+-77.852 40.276 3545
+-77.726 40.276 3546
+-77.6 40.276 3547
+-77.474 40.276 3547
+-77.348 40.276 3548
+-77.222 40.276 3549
+-77.096 40.276 3550
+-76.97 40.276 3550
+-76.844 40.276 3551
+-76.718 40.276 3527
+-76.592 40.276 3518
+-76.466 40.276 3518
+-76.34 40.276 3519
+-76.214 40.276 3520
+-76.088 40.276 3521
+-75.962 40.276 3521
+-75.836 40.276 3506
+-75.71 40.276 3506
+-75.584 40.276 3507
+-75.458 40.276 3507
+-75.332 40.276 3507
+-75.206 40.276 3508
+-75.08 40.276 3508
+-74.954 40.276 3509
+-74.828 40.276 3451
+-74.702 40.276 3451
+-74.576 40.276 3452
+-74.45 40.276 3452
+-74.324 40.276 3452
+-74.198 40.276 3453
+-74.072 40.276 3453
+-73.946 40.276 3454
+-73.82 40.276 3454
+-73.694 40.276 3454
+-73.568 40.276 3455
+-73.442 40.276 3455
+-73.316 40.276 3455
+-73.19 40.276 3383
+-73.064 40.276 3383
+-72.938 40.276 3383
+-72.812 40.276 3382
+-72.686 40.276 3382
+-72.56 40.276 3382
+-72.434 40.276 3382
+-72.308 40.276 3381
+-72.182 40.276 3381
+-72.056 40.276 3381
+-71.93 40.276 3381
+-71.804 40.276 3381
+-71.678 40.276 3380
+-71.552 40.276 3380
+-71.426 40.276 3380
+-71.3 40.276 3380
+-71.174 40.276 3379
+-71.048 40.276 3379
+-70.922 40.276 3379
+-70.796 40.276 3379
+-70.67 40.276 3379
+-70.544 40.276 3378
+-70.418 40.276 3378
+-70.292 40.276 3378
+-70.166 40.276 3378
+-70.04 40.276 3070
+-69.914 40.276 3069
+-69.788 40.276 3068
+-69.662 40.276 3068
+-69.536 40.276 3067
+-69.41 40.276 3066
+-69.284 40.276 3066
+-69.158 40.276 3065
+-69.032 40.276 3064
+-68.906 40.276 3064
+-68.78 40.276 3063
+-68.654 40.276 3062
+-68.528 40.276 3062
+-68.402 40.276 3061
+-68.276 40.276 3061
+-68.15 40.276 3060
+-68.024 40.276 3059
+-67.898 40.276 3059
+-67.772 40.276 2932
+-67.646 40.276 2932
+-67.52 40.276 2901
+-67.394 40.276 2854
+-67.268 40.276 2853
+-67.142 40.276 2852
+-67.016 40.276 2868
+-66.89 40.276 2867
+-66.764 40.276 2879
+-66.638 40.276 2878
+-66.512 40.276 2836
+-66.386 40.276 2800
+-66.26 40.276 2799
+-66.134 40.276 2799
+-66.008 40.276 2799
+-65.882 40.276 2820
+-65.756 40.276 2826
+-65.63 40.276 2835
+-65.504 40.276 2833
+-65.378 40.276 2875
+-65.252 40.276 2887
+-65.126 40.276 2887
+-128 40.224 2660
+-127.874 40.224 2654
+-127.748 40.224 2637
+-127.622 40.224 2632
+-127.496 40.224 2626
+-127.37 40.224 2568
+-127.244 40.224 2589
+-127.118 40.224 2596
+-126.992 40.224 2603
+-126.866 40.224 2540
+-126.74 40.224 2549
+-126.614 40.224 2559
+-126.488 40.224 2563
+-126.362 40.224 2522
+-126.236 40.224 2530
+-126.11 40.224 2537
+-125.984 40.224 2542
+-125.858 40.224 2545
+-125.732 40.224 2546
+-125.606 40.224 2544
+-125.48 40.224 2539
+-125.354 40.224 2503
+-125.228 40.224 2492
+-125.102 40.224 2478
+-124.976 40.224 2479
+-124.85 40.224 2447
+-124.724 40.224 2433
+-124.598 40.224 2397
+-124.472 40.224 2354
+-124.346 40.224 2304
+-124.22 40.224 2244
+-124.094 40.224 2176
+-123.968 40.224 2133
+-123.842 40.224 2123
+-123.716 40.224 2150
+-123.59 40.224 2206
+-123.464 40.224 2259
+-123.338 40.224 2301
+-123.212 40.224 2332
+-123.086 40.224 2351
+-122.96 40.224 2371
+-122.834 40.224 2397
+-122.708 40.224 2421
+-122.582 40.224 2441
+-122.456 40.224 2455
+-122.33 40.224 2457
+-122.204 40.224 2441
+-122.078 40.224 2407
+-121.952 40.224 2358
+-121.826 40.224 2310
+-121.7 40.224 2296
+-121.574 40.224 2346
+-121.448 40.224 2432
+-121.322 40.224 2524
+-121.196 40.224 2643
+-121.07 40.224 2706
+-120.944 40.224 2751
+-120.818 40.224 2808
+-120.692 40.224 2822
+-120.566 40.224 2841
+-120.44 40.224 2848
+-120.314 40.224 2866
+-120.188 40.224 2900
+-120.062 40.224 2942
+-119.936 40.224 2981
+-119.81 40.224 3024
+-119.684 40.224 3066
+-119.558 40.224 3091
+-119.432 40.224 3110
+-119.306 40.224 3127
+-119.18 40.224 3140
+-119.054 40.224 3155
+-118.928 40.224 3178
+-118.802 40.224 3180
+-118.676 40.224 3193
+-118.55 40.224 3191
+-118.424 40.224 3192
+-118.298 40.224 3167
+-118.172 40.224 3129
+-118.046 40.224 3088
+-117.92 40.224 3017
+-117.794 40.224 2975
+-117.668 40.224 3011
+-117.542 40.224 3064
+-117.416 40.224 3081
+-117.29 40.224 3080
+-117.164 40.224 3043
+-117.038 40.224 3009
+-116.912 40.224 2968
+-116.786 40.224 2933
+-116.66 40.224 2910
+-116.534 40.224 2855
+-116.408 40.224 2795
+-116.282 40.224 2804
+-116.156 40.224 2819
+-116.03 40.224 2782
+-115.904 40.224 2751
+-115.778 40.224 2712
+-115.652 40.224 2670
+-115.526 40.224 2629
+-115.4 40.224 2602
+-115.274 40.224 2599
+-115.148 40.224 2588
+-115.022 40.224 2576
+-114.896 40.224 2551
+-114.77 40.224 2520
+-114.644 40.224 2479
+-114.518 40.224 2402
+-114.392 40.224 2347
+-114.266 40.224 2309
+-114.14 40.224 2299
+-114.014 40.224 2279
+-113.888 40.224 2280
+-113.762 40.224 2277
+-113.636 40.224 2254
+-113.51 40.224 2212
+-113.384 40.224 2151
+-113.258 40.224 2062
+-113.132 40.224 1941
+-113.006 40.224 1791
+-112.88 40.224 1598
+-112.754 40.224 1374
+-112.628 40.224 1174
+-112.502 40.224 1027
+-112.376 40.224 971
+-112.25 40.224 1004
+-112.124 40.224 1075
+-111.998 40.224 1125
+-111.872 40.224 1129
+-111.746 40.224 1090
+-111.62 40.224 1072
+-111.494 40.224 1083
+-111.368 40.224 1116
+-111.242 40.224 1177
+-111.116 40.224 1248
+-110.99 40.224 1325
+-110.864 40.224 1402
+-110.738 40.224 1475
+-110.612 40.224 1539
+-110.486 40.224 1617
+-110.36 40.224 1676
+-110.234 40.224 1721
+-110.108 40.224 1769
+-109.982 40.224 1787
+-109.856 40.224 1842
+-109.73 40.224 1877
+-109.604 40.224 1910
+-109.478 40.224 1868
+-109.352 40.224 1904
+-109.226 40.224 1929
+-109.1 40.224 1928
+-108.974 40.224 1973
+-108.848 40.224 1990
+-108.722 40.224 2009
+-108.596 40.224 1987
+-108.47 40.224 2002
+-108.344 40.224 1964
+-108.218 40.224 2047
+-108.092 40.224 2061
+-107.966 40.224 2077
+-107.84 40.224 2063
+-107.714 40.224 2052
+-107.588 40.224 2045
+-107.462 40.224 2055
+-107.336 40.224 2061
+-107.21 40.224 2077
+-107.084 40.224 2071
+-106.958 40.224 2079
+-106.832 40.224 2087
+-106.706 40.224 2078
+-106.58 40.224 2085
+-106.454 40.224 2092
+-106.328 40.224 2114
+-106.202 40.224 2135
+-106.076 40.224 2184
+-105.95 40.224 2190
+-105.824 40.224 2079
+-105.698 40.224 2063
+-105.572 40.224 1974
+-105.446 40.224 2007
+-105.32 40.224 2019
+-105.194 40.224 2012
+-105.068 40.224 2018
+-104.942 40.224 2010
+-104.816 40.224 2001
+-104.69 40.224 1992
+-104.564 40.224 2064
+-104.438 40.224 2041
+-104.312 40.224 2085
+-104.186 40.224 2075
+-104.06 40.224 2035
+-103.934 40.224 2124
+-103.808 40.224 2126
+-103.682 40.224 2141
+-103.556 40.224 2189
+-103.43 40.224 2200
+-103.304 40.224 2197
+-103.178 40.224 2253
+-103.052 40.224 2238
+-102.926 40.224 2280
+-102.8 40.224 2273
+-102.674 40.224 2267
+-102.548 40.224 2316
+-102.422 40.224 2309
+-102.296 40.224 2319
+-102.17 40.224 2342
+-102.044 40.224 2333
+-101.918 40.224 2323
+-101.792 40.224 2312
+-101.666 40.224 2382
+-101.54 40.224 2368
+-101.414 40.224 2353
+-101.288 40.224 2338
+-101.162 40.224 2320
+-101.036 40.224 2302
+-100.91 40.224 2282
+-100.784 40.224 2260
+-100.658 40.224 2236
+-100.532 40.224 2257
+-100.406 40.224 2229
+-100.28 40.224 2197
+-100.154 40.224 2163
+-100.028 40.224 2126
+-99.902 40.224 2085
+-99.776 40.224 2073
+-99.65 40.224 2036
+-99.524 40.224 1989
+-99.398 40.224 2045
+-99.272 40.224 1999
+-99.146 40.224 2045
+-99.02 40.224 2035
+-98.894 40.224 2017
+-98.768 40.224 2020
+-98.642 40.224 2050
+-98.516 40.224 2130
+-98.39 40.224 2247
+-98.264 40.224 2357
+-98.138 40.224 2456
+-98.012 40.224 2550
+-97.886 40.224 2630
+-97.76 40.224 2691
+-97.634 40.224 2737
+-97.508 40.224 2761
+-97.382 40.224 2779
+-97.256 40.224 2800
+-97.13 40.224 2746
+-97.004 40.224 2677
+-96.878 40.224 2667
+-96.752 40.224 2771
+-96.626 40.224 3003
+-96.5 40.224 3146
+-96.374 40.224 3144
+-96.248 40.224 3117
+-96.122 40.224 3253
+-95.996 40.224 3529
+-95.87 40.224 3781
+-95.744 40.224 4021
+-95.618 40.224 4119
+-95.492 40.224 4185
+-95.366 40.224 4191
+-95.24 40.224 4180
+-95.114 40.224 4184
+-94.988 40.224 4337
+-94.862 40.224 4511
+-94.736 40.224 4609
+-94.61 40.224 4723
+-94.484 40.224 4862
+-94.358 40.224 4980
+-94.232 40.224 5072
+-94.106 40.224 5123
+-93.98 40.224 5339
+-93.854 40.224 5408
+-93.728 40.224 5578
+-93.602 40.224 5753
+-93.476 40.224 5883
+-93.35 40.224 5981
+-93.224 40.224 6013
+-93.098 40.224 6207
+-92.972 40.224 6271
+-92.846 40.224 6460
+-92.72 40.224 6529
+-92.594 40.224 6635
+-92.468 40.224 6705
+-92.342 40.224 6850
+-92.216 40.224 6963
+-92.09 40.224 7058
+-91.964 40.224 7226
+-91.838 40.224 7264
+-91.712 40.224 7367
+-91.586 40.224 7460
+-91.46 40.224 7516
+-91.334 40.224 7588
+-91.208 40.224 7651
+-91.082 40.224 7715
+-90.956 40.224 7754
+-90.83 40.224 7848
+-90.704 40.224 7822
+-90.578 40.224 7867
+-90.452 40.224 7860
+-90.326 40.224 7876
+-90.2 40.224 7853
+-90.074 40.224 7817
+-89.948 40.224 7761
+-89.822 40.224 7696
+-89.696 40.224 7627
+-89.57 40.224 7604
+-89.444 40.224 7495
+-89.318 40.224 7470
+-89.192 40.224 7354
+-89.066 40.224 7210
+-88.94 40.224 7160
+-88.814 40.224 7045
+-88.688 40.224 6921
+-88.562 40.224 6858
+-88.436 40.224 6824
+-88.31 40.224 6907
+-88.184 40.224 6883
+-88.058 40.224 6841
+-87.932 40.224 6796
+-87.806 40.224 6735
+-87.68 40.224 6674
+-87.554 40.224 6623
+-87.428 40.224 6569
+-87.302 40.224 6523
+-87.176 40.224 6444
+-87.05 40.224 6337
+-86.924 40.224 6285
+-86.798 40.224 6201
+-86.672 40.224 6099
+-86.546 40.224 5962
+-86.42 40.224 5907
+-86.294 40.224 5787
+-86.168 40.224 5753
+-86.042 40.224 5661
+-85.916 40.224 5586
+-85.79 40.224 5484
+-85.664 40.224 5332
+-85.538 40.224 5217
+-85.412 40.224 5098
+-85.286 40.224 4900
+-85.16 40.224 4754
+-85.034 40.224 4667
+-84.908 40.224 4625
+-84.782 40.224 4496
+-84.656 40.224 4314
+-84.53 40.224 4287
+-84.404 40.224 4196
+-84.278 40.224 4129
+-84.152 40.224 4091
+-84.026 40.224 4044
+-83.9 40.224 3976
+-83.774 40.224 3887
+-83.648 40.224 3786
+-83.522 40.224 3620
+-83.396 40.224 3452
+-83.27 40.224 3341
+-83.144 40.224 3353
+-83.018 40.224 3405
+-82.892 40.224 3454
+-82.766 40.224 3509
+-82.64 40.224 3551
+-82.514 40.224 3529
+-82.388 40.224 3530
+-82.262 40.224 3564
+-82.136 40.224 3558
+-82.01 40.224 3572
+-81.884 40.224 3583
+-81.758 40.224 3593
+-81.632 40.224 3602
+-81.506 40.224 3610
+-81.38 40.224 3617
+-81.254 40.224 3623
+-81.128 40.224 3629
+-81.002 40.224 3634
+-80.876 40.224 3638
+-80.75 40.224 3643
+-80.624 40.224 3647
+-80.498 40.224 3650
+-80.372 40.224 3654
+-80.246 40.224 3612
+-80.12 40.224 3616
+-79.994 40.224 3599
+-79.868 40.224 3602
+-79.742 40.224 3604
+-79.616 40.224 3606
+-79.49 40.224 3608
+-79.364 40.224 3622
+-79.238 40.224 3626
+-79.112 40.224 3591
+-78.986 40.224 3552
+-78.86 40.224 3553
+-78.734 40.224 3589
+-78.608 40.224 3591
+-78.482 40.224 3593
+-78.356 40.224 3595
+-78.23 40.224 3597
+-78.104 40.224 3544
+-77.978 40.224 3545
+-77.852 40.224 3546
+-77.726 40.224 3547
+-77.6 40.224 3548
+-77.474 40.224 3549
+-77.348 40.224 3549
+-77.222 40.224 3550
+-77.096 40.224 3551
+-76.97 40.224 3551
+-76.844 40.224 3528
+-76.718 40.224 3518
+-76.592 40.224 3519
+-76.466 40.224 3520
+-76.34 40.224 3520
+-76.214 40.224 3521
+-76.088 40.224 3505
+-75.962 40.224 3506
+-75.836 40.224 3506
+-75.71 40.224 3507
+-75.584 40.224 3507
+-75.458 40.224 3508
+-75.332 40.224 3508
+-75.206 40.224 3508
+-75.08 40.224 3509
+-74.954 40.224 3451
+-74.828 40.224 3451
+-74.702 40.224 3451
+-74.576 40.224 3452
+-74.45 40.224 3452
+-74.324 40.224 3453
+-74.198 40.224 3453
+-74.072 40.224 3454
+-73.946 40.224 3454
+-73.82 40.224 3454
+-73.694 40.224 3455
+-73.568 40.224 3455
+-73.442 40.224 3455
+-73.316 40.224 3383
+-73.19 40.224 3383
+-73.064 40.224 3383
+-72.938 40.224 3382
+-72.812 40.224 3382
+-72.686 40.224 3382
+-72.56 40.224 3382
+-72.434 40.224 3381
+-72.308 40.224 3381
+-72.182 40.224 3381
+-72.056 40.224 3381
+-71.93 40.224 3381
+-71.804 40.224 3380
+-71.678 40.224 3380
+-71.552 40.224 3380
+-71.426 40.224 3380
+-71.3 40.224 3379
+-71.174 40.224 3379
+-71.048 40.224 3379
+-70.922 40.224 3379
+-70.796 40.224 3379
+-70.67 40.224 3378
+-70.544 40.224 3378
+-70.418 40.224 3378
+-70.292 40.224 3378
+-70.166 40.224 3070
+-70.04 40.224 3069
+-69.914 40.224 3068
+-69.788 40.224 3068
+-69.662 40.224 3067
+-69.536 40.224 3066
+-69.41 40.224 3066
+-69.284 40.224 3065
+-69.158 40.224 3064
+-69.032 40.224 3064
+-68.906 40.224 3063
+-68.78 40.224 3062
+-68.654 40.224 3062
+-68.528 40.224 3061
+-68.402 40.224 3061
+-68.276 40.224 3060
+-68.15 40.224 3059
+-68.024 40.224 3059
+-67.898 40.224 2932
+-67.772 40.224 2932
+-67.646 40.224 2901
+-67.52 40.224 2854
+-67.394 40.224 2853
+-67.268 40.224 2852
+-67.142 40.224 2868
+-67.016 40.224 2867
+-66.89 40.224 2878
+-66.764 40.224 2878
+-66.638 40.224 2836
+-66.512 40.224 2799
+-66.386 40.224 2799
+-66.26 40.224 2799
+-66.134 40.224 2798
+-66.008 40.224 2820
+-65.882 40.224 2825
+-65.756 40.224 2835
+-65.63 40.224 2832
+-65.504 40.224 2875
+-65.378 40.224 2886
+-65.252 40.224 2887
+-65.126 40.224 2950
+-128 40.172 2678
+-127.874 40.172 2659
+-127.748 40.172 2653
+-127.622 40.172 2646
+-127.496 40.172 2583
+-127.37 40.172 2602
+-127.244 40.172 2606
+-127.118 40.172 2611
+-126.992 40.172 2542
+-126.866 40.172 2549
+-126.74 40.172 2556
+-126.614 40.172 2558
+-126.488 40.172 2515
+-126.362 40.172 2522
+-126.236 40.172 2527
+-126.11 40.172 2532
+-125.984 40.172 2535
+-125.858 40.172 2536
+-125.732 40.172 2534
+-125.606 40.172 2530
+-125.48 40.172 2494
+-125.354 40.172 2475
+-125.228 40.172 2463
+-125.102 40.172 2448
+-124.976 40.172 2429
+-124.85 40.172 2399
+-124.724 40.172 2370
+-124.598 40.172 2321
+-124.472 40.172 2280
+-124.346 40.172 2230
+-124.22 40.172 2169
+-124.094 40.172 2107
+-123.968 40.172 2049
+-123.842 40.172 2025
+-123.716 40.172 2057
+-123.59 40.172 2125
+-123.464 40.172 2196
+-123.338 40.172 2225
+-123.212 40.172 2258
+-123.086 40.172 2283
+-122.96 40.172 2304
+-122.834 40.172 2331
+-122.708 40.172 2365
+-122.582 40.172 2402
+-122.456 40.172 2428
+-122.33 40.172 2441
+-122.204 40.172 2443
+-122.078 40.172 2430
+-121.952 40.172 2407
+-121.826 40.172 2390
+-121.7 40.172 2389
+-121.574 40.172 2420
+-121.448 40.172 2493
+-121.322 40.172 2557
+-121.196 40.172 2628
+-121.07 40.172 2695
+-120.944 40.172 2725
+-120.818 40.172 2767
+-120.692 40.172 2775
+-120.566 40.172 2769
+-120.44 40.172 2759
+-120.314 40.172 2762
+-120.188 40.172 2796
+-120.062 40.172 2847
+-119.936 40.172 2909
+-119.81 40.172 2964
+-119.684 40.172 3018
+-119.558 40.172 3055
+-119.432 40.172 3079
+-119.306 40.172 3097
+-119.18 40.172 3110
+-119.054 40.172 3121
+-118.928 40.172 3149
+-118.802 40.172 3153
+-118.676 40.172 3153
+-118.55 40.172 3151
+-118.424 40.172 3138
+-118.298 40.172 3126
+-118.172 40.172 3104
+-118.046 40.172 3057
+-117.92 40.172 2975
+-117.794 40.172 2919
+-117.668 40.172 2967
+-117.542 40.172 3031
+-117.416 40.172 3054
+-117.29 40.172 3056
+-117.164 40.172 3029
+-117.038 40.172 2989
+-116.912 40.172 2955
+-116.786 40.172 2927
+-116.66 40.172 2923
+-116.534 40.172 2902
+-116.408 40.172 2862
+-116.282 40.172 2848
+-116.156 40.172 2849
+-116.03 40.172 2816
+-115.904 40.172 2801
+-115.778 40.172 2773
+-115.652 40.172 2740
+-115.526 40.172 2702
+-115.4 40.172 2670
+-115.274 40.172 2649
+-115.148 40.172 2628
+-115.022 40.172 2588
+-114.896 40.172 2558
+-114.77 40.172 2534
+-114.644 40.172 2508
+-114.518 40.172 2452
+-114.392 40.172 2408
+-114.266 40.172 2377
+-114.14 40.172 2365
+-114.014 40.172 2333
+-113.888 40.172 2321
+-113.762 40.172 2313
+-113.636 40.172 2284
+-113.51 40.172 2237
+-113.384 40.172 2173
+-113.258 40.172 2084
+-113.132 40.172 1975
+-113.006 40.172 1825
+-112.88 40.172 1652
+-112.754 40.172 1463
+-112.628 40.172 1275
+-112.502 40.172 1146
+-112.376 40.172 1088
+-112.25 40.172 1092
+-112.124 40.172 1117
+-111.998 40.172 1108
+-111.872 40.172 1046
+-111.746 40.172 980
+-111.62 40.172 938
+-111.494 40.172 948
+-111.368 40.172 1003
+-111.242 40.172 1083
+-111.116 40.172 1171
+-110.99 40.172 1265
+-110.864 40.172 1355
+-110.738 40.172 1436
+-110.612 40.172 1527
+-110.486 40.172 1598
+-110.36 40.172 1655
+-110.234 40.172 1711
+-110.108 40.172 1750
+-109.982 40.172 1798
+-109.856 40.172 1840
+-109.73 40.172 1877
+-109.604 40.172 1856
+-109.478 40.172 1879
+-109.352 40.172 1906
+-109.226 40.172 1919
+-109.1 40.172 1956
+-108.974 40.172 1978
+-108.848 40.172 2015
+-108.722 40.172 2034
+-108.596 40.172 2052
+-108.47 40.172 2007
+-108.344 40.172 2021
+-108.218 40.172 1992
+-108.092 40.172 2019
+-107.966 40.172 2057
+-107.84 40.172 2048
+-107.714 40.172 2041
+-107.588 40.172 2051
+-107.462 40.172 2059
+-107.336 40.172 2076
+-107.21 40.172 2070
+-107.084 40.172 2079
+-106.958 40.172 2086
+-106.832 40.172 2078
+-106.706 40.172 2085
+-106.58 40.172 2092
+-106.454 40.172 2115
+-106.328 40.172 2136
+-106.202 40.172 2185
+-106.076 40.172 2191
+-105.95 40.172 2197
+-105.824 40.172 2203
+-105.698 40.172 2088
+-105.572 40.172 2144
+-105.446 40.172 2034
+-105.32 40.172 2029
+-105.194 40.172 2035
+-105.068 40.172 2028
+-104.942 40.172 2020
+-104.816 40.172 2012
+-104.69 40.172 2002
+-104.564 40.172 2073
+-104.438 40.172 2049
+-104.312 40.172 2094
+-104.186 40.172 2084
+-104.06 40.172 2044
+-103.934 40.172 2132
+-103.808 40.172 2135
+-103.682 40.172 2150
+-103.556 40.172 2197
+-103.43 40.172 2209
+-103.304 40.172 2206
+-103.178 40.172 2262
+-103.052 40.172 2248
+-102.926 40.172 2287
+-102.8 40.172 2284
+-102.674 40.172 2278
+-102.548 40.172 2271
+-102.422 40.172 2321
+-102.296 40.172 2331
+-102.17 40.172 2355
+-102.044 40.172 2347
+-101.918 40.172 2338
+-101.792 40.172 2328
+-101.666 40.172 2359
+-101.54 40.172 2387
+-101.414 40.172 2373
+-101.288 40.172 2359
+-101.162 40.172 2343
+-101.036 40.172 2326
+-100.91 40.172 2308
+-100.784 40.172 2288
+-100.658 40.172 2267
+-100.532 40.172 2244
+-100.406 40.172 2267
+-100.28 40.172 2240
+-100.154 40.172 2210
+-100.028 40.172 2179
+-99.902 40.172 2146
+-99.776 40.172 2110
+-99.65 40.172 2106
+-99.524 40.172 2077
+-99.398 40.172 2150
+-99.272 40.172 2215
+-99.146 40.172 2186
+-99.02 40.172 2166
+-98.894 40.172 2188
+-98.768 40.172 2199
+-98.642 40.172 2254
+-98.516 40.172 2336
+-98.39 40.172 2399
+-98.264 40.172 2471
+-98.138 40.172 2563
+-98.012 40.172 2631
+-97.886 40.172 2688
+-97.76 40.172 2729
+-97.634 40.172 2754
+-97.508 40.172 2772
+-97.382 40.172 2773
+-97.256 40.172 2707
+-97.13 40.172 2640
+-97.004 40.172 2505
+-96.878 40.172 2442
+-96.752 40.172 2569
+-96.626 40.172 2863
+-96.5 40.172 3070
+-96.374 40.172 3081
+-96.248 40.172 3014
+-96.122 40.172 3151
+-95.996 40.172 3479
+-95.87 40.172 3778
+-95.744 40.172 3960
+-95.618 40.172 4093
+-95.492 40.172 4164
+-95.366 40.172 4190
+-95.24 40.172 4230
+-95.114 40.172 4285
+-94.988 40.172 4401
+-94.862 40.172 4538
+-94.736 40.172 4607
+-94.61 40.172 4699
+-94.484 40.172 4867
+-94.358 40.172 5016
+-94.232 40.172 5108
+-94.106 40.172 5146
+-93.98 40.172 5362
+-93.854 40.172 5492
+-93.728 40.172 5657
+-93.602 40.172 5827
+-93.476 40.172 5954
+-93.35 40.172 5935
+-93.224 40.172 6106
+-93.098 40.172 6202
+-92.972 40.172 6369
+-92.846 40.172 6434
+-92.72 40.172 6552
+-92.594 40.172 6678
+-92.468 40.172 6757
+-92.342 40.172 6907
+-92.216 40.172 6997
+-92.09 40.172 7083
+-91.964 40.172 7208
+-91.838 40.172 7274
+-91.712 40.172 7396
+-91.586 40.172 7499
+-91.46 40.172 7586
+-91.334 40.172 7662
+-91.208 40.172 7716
+-91.082 40.172 7753
+-90.956 40.172 7848
+-90.83 40.172 7829
+-90.704 40.172 7891
+-90.578 40.172 7920
+-90.452 40.172 7916
+-90.326 40.172 7893
+-90.2 40.172 7893
+-90.074 40.172 7856
+-89.948 40.172 7813
+-89.822 40.172 7770
+-89.696 40.172 7692
+-89.57 40.172 7624
+-89.444 40.172 7540
+-89.318 40.172 7481
+-89.192 40.172 7421
+-89.066 40.172 7304
+-88.94 40.172 7196
+-88.814 40.172 7115
+-88.688 40.172 6964
+-88.562 40.172 6872
+-88.436 40.172 6840
+-88.31 40.172 6702
+-88.184 40.172 6971
+-88.058 40.172 6891
+-87.932 40.172 6864
+-87.806 40.172 6836
+-87.68 40.172 6760
+-87.554 40.172 6681
+-87.428 40.172 6609
+-87.302 40.172 6561
+-87.176 40.172 6467
+-87.05 40.172 6409
+-86.924 40.172 6320
+-86.798 40.172 6251
+-86.672 40.172 6150
+-86.546 40.172 6042
+-86.42 40.172 5926
+-86.294 40.172 5795
+-86.168 40.172 5744
+-86.042 40.172 5699
+-85.916 40.172 5634
+-85.79 40.172 5527
+-85.664 40.172 5327
+-85.538 40.172 5182
+-85.412 40.172 5143
+-85.286 40.172 4944
+-85.16 40.172 4784
+-85.034 40.172 4763
+-84.908 40.172 4618
+-84.782 40.172 4515
+-84.656 40.172 4427
+-84.53 40.172 4283
+-84.404 40.172 4139
+-84.278 40.172 4007
+-84.152 40.172 4091
+-84.026 40.172 4096
+-83.9 40.172 4022
+-83.774 40.172 3916
+-83.648 40.172 3767
+-83.522 40.172 3524
+-83.396 40.172 3247
+-83.27 40.172 3100
+-83.144 40.172 3178
+-83.018 40.172 3332
+-82.892 40.172 3420
+-82.766 40.172 3486
+-82.64 40.172 3484
+-82.514 40.172 3522
+-82.388 40.172 3560
+-82.262 40.172 3566
+-82.136 40.172 3562
+-82.01 40.172 3576
+-81.884 40.172 3588
+-81.758 40.172 3598
+-81.632 40.172 3607
+-81.506 40.172 3615
+-81.38 40.172 3622
+-81.254 40.172 3628
+-81.128 40.172 3634
+-81.002 40.172 3639
+-80.876 40.172 3643
+-80.75 40.172 3647
+-80.624 40.172 3651
+-80.498 40.172 3655
+-80.372 40.172 3614
+-80.246 40.172 3618
+-80.12 40.172 3640
+-79.994 40.172 3643
+-79.868 40.172 3647
+-79.742 40.172 3650
+-79.616 40.172 3653
+-79.49 40.172 3624
+-79.364 40.172 3628
+-79.238 40.172 3593
+-79.112 40.172 3554
+-78.986 40.172 3555
+-78.86 40.172 3589
+-78.734 40.172 3591
+-78.608 40.172 3593
+-78.482 40.172 3595
+-78.356 40.172 3597
+-78.23 40.172 3545
+-78.104 40.172 3546
+-77.978 40.172 3547
+-77.852 40.172 3548
+-77.726 40.172 3548
+-77.6 40.172 3549
+-77.474 40.172 3550
+-77.348 40.172 3551
+-77.222 40.172 3551
+-77.096 40.172 3552
+-76.97 40.172 3528
+-76.844 40.172 3518
+-76.718 40.172 3519
+-76.592 40.172 3520
+-76.466 40.172 3521
+-76.34 40.172 3521
+-76.214 40.172 3522
+-76.088 40.172 3506
+-75.962 40.172 3507
+-75.836 40.172 3507
+-75.71 40.172 3508
+-75.584 40.172 3508
+-75.458 40.172 3508
+-75.332 40.172 3509
+-75.206 40.172 3509
+-75.08 40.172 3451
+-74.954 40.172 3451
+-74.828 40.172 3451
+-74.702 40.172 3452
+-74.576 40.172 3452
+-74.45 40.172 3453
+-74.324 40.172 3453
+-74.198 40.172 3453
+-74.072 40.172 3454
+-73.946 40.172 3454
+-73.82 40.172 3455
+-73.694 40.172 3455
+-73.568 40.172 3455
+-73.442 40.172 3383
+-73.316 40.172 3383
+-73.19 40.172 3383
+-73.064 40.172 3382
+-72.938 40.172 3382
+-72.812 40.172 3382
+-72.686 40.172 3382
+-72.56 40.172 3381
+-72.434 40.172 3381
+-72.308 40.172 3381
+-72.182 40.172 3381
+-72.056 40.172 3380
+-71.93 40.172 3380
+-71.804 40.172 3380
+-71.678 40.172 3380
+-71.552 40.172 3380
+-71.426 40.172 3379
+-71.3 40.172 3379
+-71.174 40.172 3379
+-71.048 40.172 3379
+-70.922 40.172 3379
+-70.796 40.172 3378
+-70.67 40.172 3378
+-70.544 40.172 3378
+-70.418 40.172 3378
+-70.292 40.172 3070
+-70.166 40.172 3069
+-70.04 40.172 3068
+-69.914 40.172 3068
+-69.788 40.172 3067
+-69.662 40.172 3066
+-69.536 40.172 3066
+-69.41 40.172 3065
+-69.284 40.172 3064
+-69.158 40.172 3064
+-69.032 40.172 3063
+-68.906 40.172 3062
+-68.78 40.172 3062
+-68.654 40.172 3061
+-68.528 40.172 3060
+-68.402 40.172 3060
+-68.276 40.172 3059
+-68.15 40.172 3059
+-68.024 40.172 2932
+-67.898 40.172 2931
+-67.772 40.172 2900
+-67.646 40.172 2854
+-67.52 40.172 2853
+-67.394 40.172 2852
+-67.268 40.172 2868
+-67.142 40.172 2867
+-67.016 40.172 2878
+-66.89 40.172 2878
+-66.764 40.172 2836
+-66.638 40.172 2799
+-66.512 40.172 2799
+-66.386 40.172 2798
+-66.26 40.172 2798
+-66.134 40.172 2819
+-66.008 40.172 2825
+-65.882 40.172 2834
+-65.756 40.172 2832
+-65.63 40.172 2874
+-65.504 40.172 2885
+-65.378 40.172 2886
+-65.252 40.172 2949
+-65.126 40.172 2972
+-128 40.12 2679
+-127.874 40.12 2672
+-127.748 40.12 2664
+-127.622 40.12 2596
+-127.496 40.12 2615
+-127.37 40.12 2617
+-127.244 40.12 2620
+-127.118 40.12 2545
+-126.992 40.12 2550
+-126.866 40.12 2556
+-126.74 40.12 2514
+-126.614 40.12 2509
+-126.488 40.12 2515
+-126.362 40.12 2520
+-126.236 40.12 2523
+-126.11 40.12 2526
+-125.984 40.12 2527
+-125.858 40.12 2526
+-125.732 40.12 2522
+-125.606 40.12 2487
+-125.48 40.12 2469
+-125.354 40.12 2459
+-125.228 40.12 2446
+-125.102 40.12 2430
+-124.976 40.12 2404
+-124.85 40.12 2349
+-124.724 40.12 2316
+-124.598 40.12 2273
+-124.472 40.12 2234
+-124.346 40.12 2188
+-124.22 40.12 2131
+-124.094 40.12 2073
+-123.968 40.12 2017
+-123.842 40.12 1992
+-123.716 40.12 2020
+-123.59 40.12 2083
+-123.464 40.12 2144
+-123.338 40.12 2170
+-123.212 40.12 2173
+-123.086 40.12 2189
+-122.96 40.12 2208
+-122.834 40.12 2243
+-122.708 40.12 2305
+-122.582 40.12 2349
+-122.456 40.12 2396
+-122.33 40.12 2426
+-122.204 40.12 2443
+-122.078 40.12 2447
+-121.952 40.12 2445
+-121.826 40.12 2446
+-121.7 40.12 2454
+-121.574 40.12 2480
+-121.448 40.12 2543
+-121.322 40.12 2581
+-121.196 40.12 2633
+-121.07 40.12 2681
+-120.944 40.12 2703
+-120.818 40.12 2731
+-120.692 40.12 2714
+-120.566 40.12 2690
+-120.44 40.12 2653
+-120.314 40.12 2640
+-120.188 40.12 2683
+-120.062 40.12 2758
+-119.936 40.12 2844
+-119.81 40.12 2907
+-119.684 40.12 2981
+-119.558 40.12 3026
+-119.432 40.12 3054
+-119.306 40.12 3073
+-119.18 40.12 3085
+-119.054 40.12 3096
+-118.928 40.12 3121
+-118.802 40.12 3127
+-118.676 40.12 3137
+-118.55 40.12 3133
+-118.424 40.12 3124
+-118.298 40.12 3109
+-118.172 40.12 3098
+-118.046 40.12 3072
+-117.92 40.12 3015
+-117.794 40.12 2972
+-117.668 40.12 3000
+-117.542 40.12 3042
+-117.416 40.12 3062
+-117.29 40.12 3055
+-117.164 40.12 3030
+-117.038 40.12 2995
+-116.912 40.12 2967
+-116.786 40.12 2940
+-116.66 40.12 2926
+-116.534 40.12 2914
+-116.408 40.12 2898
+-116.282 40.12 2884
+-116.156 40.12 2883
+-116.03 40.12 2854
+-115.904 40.12 2851
+-115.778 40.12 2848
+-115.652 40.12 2812
+-115.526 40.12 2769
+-115.4 40.12 2727
+-115.274 40.12 2686
+-115.148 40.12 2650
+-115.022 40.12 2592
+-114.896 40.12 2550
+-114.77 40.12 2529
+-114.644 40.12 2511
+-114.518 40.12 2472
+-114.392 40.12 2426
+-114.266 40.12 2395
+-114.14 40.12 2386
+-114.014 40.12 2363
+-113.888 40.12 2360
+-113.762 40.12 2341
+-113.636 40.12 2310
+-113.51 40.12 2270
+-113.384 40.12 2207
+-113.258 40.12 2123
+-113.132 40.12 2015
+-113.006 40.12 1877
+-112.88 40.12 1724
+-112.754 40.12 1562
+-112.628 40.12 1410
+-112.502 40.12 1283
+-112.376 40.12 1214
+-112.25 40.12 1185
+-112.124 40.12 1147
+-111.998 40.12 1060
+-111.872 40.12 945
+-111.746 40.12 838
+-111.62 40.12 790
+-111.494 40.12 815
+-111.368 40.12 895
+-111.242 40.12 992
+-111.116 40.12 1109
+-110.99 40.12 1221
+-110.864 40.12 1327
+-110.738 40.12 1423
+-110.612 40.12 1509
+-110.486 40.12 1579
+-110.36 40.12 1647
+-110.234 40.12 1697
+-110.108 40.12 1751
+-109.982 40.12 1809
+-109.856 40.12 1852
+-109.73 40.12 1827
+-109.604 40.12 1852
+-109.478 40.12 1883
+-109.352 40.12 1900
+-109.226 40.12 1937
+-109.1 40.12 1961
+-108.974 40.12 2002
+-108.848 40.12 2022
+-108.722 40.12 2041
+-108.596 40.12 2058
+-108.47 40.12 2074
+-108.344 40.12 1986
+-108.218 40.12 2091
+-108.092 40.12 2108
+-107.966 40.12 2100
+-107.84 40.12 2056
+-107.714 40.12 2048
+-107.588 40.12 2058
+-107.462 40.12 2075
+-107.336 40.12 2070
+-107.21 40.12 2078
+-107.084 40.12 2087
+-106.958 40.12 2078
+-106.832 40.12 2086
+-106.706 40.12 2093
+-106.58 40.12 2115
+-106.454 40.12 2137
+-106.328 40.12 2185
+-106.202 40.12 2192
+-106.076 40.12 2198
+-105.95 40.12 2204
+-105.824 40.12 2209
+-105.698 40.12 2108
+-105.572 40.12 2151
+-105.446 40.12 2057
+-105.32 40.12 2051
+-105.194 40.12 2045
+-105.068 40.12 2038
+-104.942 40.12 2031
+-104.816 40.12 2076
+-104.69 40.12 2175
+-104.564 40.12 2083
+-104.438 40.12 2133
+-104.312 40.12 2103
+-104.186 40.12 2093
+-104.06 40.12 2052
+-103.934 40.12 2141
+-103.808 40.12 2144
+-103.682 40.12 2158
+-103.556 40.12 2205
+-103.43 40.12 2217
+-103.304 40.12 2215
+-103.178 40.12 2271
+-103.052 40.12 2257
+-102.926 40.12 2298
+-102.8 40.12 2295
+-102.674 40.12 2290
+-102.548 40.12 2284
+-102.422 40.12 2277
+-102.296 40.12 2337
+-102.17 40.12 2369
+-102.044 40.12 2362
+-101.918 40.12 2353
+-101.792 40.12 2344
+-101.666 40.12 2371
+-101.54 40.12 2365
+-101.414 40.12 2394
+-101.288 40.12 2381
+-101.162 40.12 2366
+-101.036 40.12 2351
+-100.91 40.12 2335
+-100.784 40.12 2317
+-100.658 40.12 2299
+-100.532 40.12 2278
+-100.406 40.12 2257
+-100.28 40.12 2282
+-100.154 40.12 2258
+-100.028 40.12 2232
+-99.902 40.12 2205
+-99.776 40.12 2177
+-99.65 40.12 2180
+-99.524 40.12 2234
+-99.398 40.12 2350
+-99.272 40.12 2326
+-99.146 40.12 2308
+-99.02 40.12 2299
+-98.894 40.12 2301
+-98.768 40.12 2374
+-98.642 40.12 2441
+-98.516 40.12 2481
+-98.39 40.12 2531
+-98.264 40.12 2585
+-98.138 40.12 2639
+-98.012 40.12 2697
+-97.886 40.12 2736
+-97.76 40.12 2770
+-97.634 40.12 2793
+-97.508 40.12 2777
+-97.382 40.12 2736
+-97.256 40.12 2685
+-97.13 40.12 2565
+-97.004 40.12 2425
+-96.878 40.12 2330
+-96.752 40.12 2462
+-96.626 40.12 2795
+-96.5 40.12 3046
+-96.374 40.12 3121
+-96.248 40.12 3117
+-96.122 40.12 3257
+-95.996 40.12 3532
+-95.87 40.12 3791
+-95.744 40.12 3965
+-95.618 40.12 4077
+-95.492 40.12 4078
+-95.366 40.12 4055
+-95.24 40.12 4193
+-95.114 40.12 4365
+-94.988 40.12 4478
+-94.862 40.12 4548
+-94.736 40.12 4587
+-94.61 40.12 4662
+-94.484 40.12 4800
+-94.358 40.12 4968
+-94.232 40.12 5093
+-94.106 40.12 5206
+-93.98 40.12 5385
+-93.854 40.12 5590
+-93.728 40.12 5757
+-93.602 40.12 5897
+-93.476 40.12 5994
+-93.35 40.12 5999
+-93.224 40.12 6128
+-93.098 40.12 6233
+-92.972 40.12 6346
+-92.846 40.12 6439
+-92.72 40.12 6573
+-92.594 40.12 6740
+-92.468 40.12 6806
+-92.342 40.12 6936
+-92.216 40.12 7047
+-92.09 40.12 7124
+-91.964 40.12 7228
+-91.838 40.12 7315
+-91.712 40.12 7453
+-91.586 40.12 7562
+-91.46 40.12 7614
+-91.334 40.12 7698
+-91.208 40.12 7777
+-91.082 40.12 7815
+-90.956 40.12 7833
+-90.83 40.12 7912
+-90.704 40.12 7966
+-90.578 40.12 7952
+-90.452 40.12 7967
+-90.326 40.12 7949
+-90.2 40.12 7956
+-90.074 40.12 7904
+-89.948 40.12 7870
+-89.822 40.12 7792
+-89.696 40.12 7787
+-89.57 40.12 7680
+-89.444 40.12 7600
+-89.318 40.12 7558
+-89.192 40.12 7443
+-89.066 40.12 7334
+-88.94 40.12 7245
+-88.814 40.12 7122
+-88.688 40.12 7095
+-88.562 40.12 6897
+-88.436 40.12 6831
+-88.31 40.12 7032
+-88.184 40.12 6950
+-88.058 40.12 6961
+-87.932 40.12 6892
+-87.806 40.12 6837
+-87.68 40.12 6816
+-87.554 40.12 6748
+-87.428 40.12 6649
+-87.302 40.12 6579
+-87.176 40.12 6507
+-87.05 40.12 6446
+-86.924 40.12 6353
+-86.798 40.12 6281
+-86.672 40.12 6143
+-86.546 40.12 6082
+-86.42 40.12 5975
+-86.294 40.12 5883
+-86.168 40.12 5789
+-86.042 40.12 5634
+-85.916 40.12 5641
+-85.79 40.12 5560
+-85.664 40.12 5410
+-85.538 40.12 5265
+-85.412 40.12 5160
+-85.286 40.12 4970
+-85.16 40.12 4809
+-85.034 40.12 4712
+-84.908 40.12 4629
+-84.782 40.12 4549
+-84.656 40.12 4480
+-84.53 40.12 4361
+-84.404 40.12 4229
+-84.278 40.12 4145
+-84.152 40.12 4148
+-84.026 40.12 4117
+-83.9 40.12 4065
+-83.774 40.12 3952
+-83.648 40.12 3745
+-83.522 40.12 3456
+-83.396 40.12 3124
+-83.27 40.12 2955
+-83.144 40.12 3080
+-83.018 40.12 3253
+-82.892 40.12 3400
+-82.766 40.12 3505
+-82.64 40.12 3543
+-82.514 40.12 3547
+-82.388 40.12 3578
+-82.262 40.12 3602
+-82.136 40.12 3592
+-82.01 40.12 3608
+-81.884 40.12 3621
+-81.758 40.12 3632
+-81.632 40.12 3642
+-81.506 40.12 3650
+-81.38 40.12 3658
+-81.254 40.12 3664
+-81.128 40.12 3670
+-81.002 40.12 3676
+-80.876 40.12 3681
+-80.75 40.12 3705
+-80.624 40.12 3710
+-80.498 40.12 3617
+-80.372 40.12 3658
+-80.246 40.12 3641
+-80.12 40.12 3645
+-79.994 40.12 3648
+-79.868 40.12 3651
+-79.742 40.12 3654
+-79.616 40.12 3627
+-79.49 40.12 3630
+-79.364 40.12 3595
+-79.238 40.12 3556
+-79.112 40.12 3559
+-78.986 40.12 3590
+-78.86 40.12 3592
+-78.734 40.12 3594
+-78.608 40.12 3596
+-78.482 40.12 3598
+-78.356 40.12 3546
+-78.23 40.12 3547
+-78.104 40.12 3547
+-77.978 40.12 3548
+-77.852 40.12 3549
+-77.726 40.12 3550
+-77.6 40.12 3550
+-77.474 40.12 3551
+-77.348 40.12 3552
+-77.222 40.12 3552
+-77.096 40.12 3528
+-76.97 40.12 3519
+-76.844 40.12 3520
+-76.718 40.12 3520
+-76.592 40.12 3521
+-76.466 40.12 3522
+-76.34 40.12 3506
+-76.214 40.12 3507
+-76.088 40.12 3507
+-75.962 40.12 3508
+-75.836 40.12 3508
+-75.71 40.12 3508
+-75.584 40.12 3509
+-75.458 40.12 3509
+-75.332 40.12 3509
+-75.206 40.12 3450
+-75.08 40.12 3451
+-74.954 40.12 3451
+-74.828 40.12 3452
+-74.702 40.12 3452
+-74.576 40.12 3453
+-74.45 40.12 3453
+-74.324 40.12 3453
+-74.198 40.12 3454
+-74.072 40.12 3454
+-73.946 40.12 3454
+-73.82 40.12 3455
+-73.694 40.12 3455
+-73.568 40.12 3383
+-73.442 40.12 3383
+-73.316 40.12 3383
+-73.19 40.12 3383
+-73.064 40.12 3382
+-72.938 40.12 3382
+-72.812 40.12 3382
+-72.686 40.12 3381
+-72.56 40.12 3381
+-72.434 40.12 3381
+-72.308 40.12 3381
+-72.182 40.12 3380
+-72.056 40.12 3380
+-71.93 40.12 3380
+-71.804 40.12 3380
+-71.678 40.12 3380
+-71.552 40.12 3379
+-71.426 40.12 3379
+-71.3 40.12 3379
+-71.174 40.12 3379
+-71.048 40.12 3378
+-70.922 40.12 3378
+-70.796 40.12 3378
+-70.67 40.12 3378
+-70.544 40.12 3378
+-70.418 40.12 3070
+-70.292 40.12 3069
+-70.166 40.12 3068
+-70.04 40.12 3068
+-69.914 40.12 3067
+-69.788 40.12 3066
+-69.662 40.12 3066
+-69.536 40.12 3065
+-69.41 40.12 3064
+-69.284 40.12 3063
+-69.158 40.12 3063
+-69.032 40.12 3062
+-68.906 40.12 3062
+-68.78 40.12 3061
+-68.654 40.12 3060
+-68.528 40.12 3060
+-68.402 40.12 3059
+-68.276 40.12 3059
+-68.15 40.12 2932
+-68.024 40.12 2931
+-67.898 40.12 2900
+-67.772 40.12 2853
+-67.646 40.12 2853
+-67.52 40.12 2852
+-67.394 40.12 2867
+-67.268 40.12 2867
+-67.142 40.12 2878
+-67.016 40.12 2877
+-66.89 40.12 2836
+-66.764 40.12 2799
+-66.638 40.12 2798
+-66.512 40.12 2798
+-66.386 40.12 2798
+-66.26 40.12 2819
+-66.134 40.12 2824
+-66.008 40.12 2834
+-65.882 40.12 2832
+-65.756 40.12 2873
+-65.63 40.12 2885
+-65.504 40.12 2885
+-65.378 40.12 2948
+-65.252 40.12 2971
+-65.126 40.12 2946
+-128 40.068 2690
+-127.874 40.068 2681
+-127.748 40.068 2609
+-127.622 40.068 2627
+-127.496 40.068 2628
+-127.37 40.068 2629
+-127.244 40.068 2549
+-127.118 40.068 2553
+-126.992 40.068 2556
+-126.866 40.068 2511
+-126.74 40.068 2506
+-126.614 40.068 2510
+-126.488 40.068 2514
+-126.362 40.068 2517
+-126.236 40.068 2519
+-126.11 40.068 2519
+-125.984 40.068 2519
+-125.858 40.068 2515
+-125.732 40.068 2480
+-125.606 40.068 2463
+-125.48 40.068 2456
+-125.354 40.068 2445
+-125.228 40.068 2431
+-125.102 40.068 2408
+-124.976 40.068 2357
+-124.85 40.068 2328
+-124.724 40.068 2290
+-124.598 40.068 2259
+-124.472 40.068 2223
+-124.346 40.068 2177
+-124.22 40.068 2127
+-124.094 40.068 2071
+-123.968 40.068 2029
+-123.842 40.068 2013
+-123.716 40.068 2035
+-123.59 40.068 2076
+-123.464 40.068 2104
+-123.338 40.068 2110
+-123.212 40.068 2093
+-123.086 40.068 2087
+-122.96 40.068 2108
+-122.834 40.068 2155
+-122.708 40.068 2215
+-122.582 40.068 2300
+-122.456 40.068 2356
+-122.33 40.068 2399
+-122.204 40.068 2427
+-122.078 40.068 2458
+-121.952 40.068 2471
+-121.826 40.068 2482
+-121.7 40.068 2499
+-121.574 40.068 2526
+-121.448 40.068 2544
+-121.322 40.068 2606
+-121.196 40.068 2641
+-121.07 40.068 2676
+-120.944 40.068 2680
+-120.818 40.068 2697
+-120.692 40.068 2669
+-120.566 40.068 2625
+-120.44 40.068 2556
+-120.314 40.068 2519
+-120.188 40.068 2573
+-120.062 40.068 2686
+-119.936 40.068 2793
+-119.81 40.068 2879
+-119.684 40.068 2959
+-119.558 40.068 2998
+-119.432 40.068 3029
+-119.306 40.068 3047
+-119.18 40.068 3059
+-119.054 40.068 3067
+-118.928 40.068 3092
+-118.802 40.068 3103
+-118.676 40.068 3117
+-118.55 40.068 3106
+-118.424 40.068 3096
+-118.298 40.068 3079
+-118.172 40.068 3092
+-118.046 40.068 3108
+-117.92 40.068 3088
+-117.794 40.068 3062
+-117.668 40.068 3065
+-117.542 40.068 3081
+-117.416 40.068 3081
+-117.29 40.068 3080
+-117.164 40.068 3055
+-117.038 40.068 3026
+-116.912 40.068 2994
+-116.786 40.068 2972
+-116.66 40.068 2958
+-116.534 40.068 2947
+-116.408 40.068 2934
+-116.282 40.068 2932
+-116.156 40.068 2931
+-116.03 40.068 2901
+-115.904 40.068 2899
+-115.778 40.068 2905
+-115.652 40.068 2881
+-115.526 40.068 2828
+-115.4 40.068 2772
+-115.274 40.068 2722
+-115.148 40.068 2669
+-115.022 40.068 2613
+-114.896 40.068 2542
+-114.77 40.068 2519
+-114.644 40.068 2523
+-114.518 40.068 2475
+-114.392 40.068 2401
+-114.266 40.068 2364
+-114.14 40.068 2378
+-114.014 40.068 2407
+-113.888 40.068 2386
+-113.762 40.068 2374
+-113.636 40.068 2347
+-113.51 40.068 2298
+-113.384 40.068 2238
+-113.258 40.068 2159
+-113.132 40.068 2060
+-113.006 40.068 1941
+-112.88 40.068 1802
+-112.754 40.068 1661
+-112.628 40.068 1536
+-112.502 40.068 1424
+-112.376 40.068 1318
+-112.25 40.068 1239
+-112.124 40.068 1146
+-111.998 40.068 1013
+-111.872 40.068 850
+-111.746 40.068 715
+-111.62 40.068 663
+-111.494 40.068 703
+-111.368 40.068 806
+-111.242 40.068 938
+-111.116 40.068 1065
+-110.99 40.068 1190
+-110.864 40.068 1306
+-110.738 40.068 1404
+-110.612 40.068 1510
+-110.486 40.068 1592
+-110.36 40.068 1638
+-110.234 40.068 1699
+-110.108 40.068 1766
+-109.982 40.068 1815
+-109.856 40.068 1818
+-109.73 40.068 1824
+-109.604 40.068 1858
+-109.478 40.068 1880
+-109.352 40.068 1918
+-109.226 40.068 1945
+-109.1 40.068 1988
+-108.974 40.068 2010
+-108.848 40.068 2030
+-108.722 40.068 2049
+-108.596 40.068 2065
+-108.47 40.068 2037
+-108.344 40.068 2122
+-108.218 40.068 2164
+-108.092 40.068 2159
+-107.966 40.068 2109
+-107.84 40.068 2096
+-107.714 40.068 2086
+-107.588 40.068 2107
+-107.462 40.068 2117
+-107.336 40.068 2078
+-107.21 40.068 2120
+-107.084 40.068 2079
+-106.958 40.068 2087
+-106.832 40.068 2094
+-106.706 40.068 2151
+-106.58 40.068 2173
+-106.454 40.068 2186
+-106.328 40.068 2193
+-106.202 40.068 2199
+-106.076 40.068 2205
+-105.95 40.068 2210
+-105.824 40.068 2228
+-105.698 40.068 2291
+-105.572 40.068 2171
+-105.446 40.068 2170
+-105.32 40.068 2062
+-105.194 40.068 2056
+-105.068 40.068 2049
+-104.942 40.068 2095
+-104.816 40.068 2196
+-104.69 40.068 2191
+-104.564 40.068 2199
+-104.438 40.068 2145
+-104.312 40.068 2132
+-104.186 40.068 2102
+-104.06 40.068 2233
+-103.934 40.068 2185
+-103.808 40.068 2153
+-103.682 40.068 2167
+-103.556 40.068 2213
+-103.43 40.068 2226
+-103.304 40.068 2224
+-103.178 40.068 2280
+-103.052 40.068 2277
+-102.926 40.068 2308
+-102.8 40.068 2307
+-102.674 40.068 2301
+-102.548 40.068 2296
+-102.422 40.068 2290
+-102.296 40.068 2350
+-102.17 40.068 2344
+-102.044 40.068 2376
+-101.918 40.068 2369
+-101.792 40.068 2361
+-101.666 40.068 2390
+-101.54 40.068 2379
+-101.414 40.068 2373
+-101.288 40.068 2403
+-101.162 40.068 2390
+-101.036 40.068 2376
+-100.91 40.068 2362
+-100.784 40.068 2347
+-100.658 40.068 2330
+-100.532 40.068 2313
+-100.406 40.068 2294
+-100.28 40.068 2275
+-100.154 40.068 2304
+-100.028 40.068 2283
+-99.902 40.068 2262
+-99.776 40.068 2342
+-99.65 40.068 2317
+-99.524 40.068 2320
+-99.398 40.068 2300
+-99.272 40.068 2423
+-99.146 40.068 2414
+-99.02 40.068 2411
+-98.894 40.068 2457
+-98.768 40.068 2472
+-98.642 40.068 2518
+-98.516 40.068 2592
+-98.39 40.068 2631
+-98.264 40.068 2671
+-98.138 40.068 2710
+-98.012 40.068 2744
+-97.886 40.068 2801
+-97.76 40.068 2812
+-97.634 40.068 2812
+-97.508 40.068 2791
+-97.382 40.068 2749
+-97.256 40.068 2704
+-97.13 40.068 2600
+-97.004 40.068 2484
+-96.878 40.068 2438
+-96.752 40.068 2555
+-96.626 40.068 2843
+-96.5 40.068 3066
+-96.374 40.068 3203
+-96.248 40.068 3283
+-96.122 40.068 3438
+-95.996 40.068 3655
+-95.87 40.068 3850
+-95.744 40.068 3988
+-95.618 40.068 4040
+-95.492 40.068 4010
+-95.366 40.068 3879
+-95.24 40.068 4106
+-95.114 40.068 4392
+-94.988 40.068 4507
+-94.862 40.068 4497
+-94.736 40.068 4607
+-94.61 40.068 4689
+-94.484 40.068 4802
+-94.358 40.068 4963
+-94.232 40.068 5104
+-94.106 40.068 5284
+-93.98 40.068 5480
+-93.854 40.068 5662
+-93.728 40.068 5785
+-93.602 40.068 5951
+-93.476 40.068 6002
+-93.35 40.068 6059
+-93.224 40.068 6083
+-93.098 40.068 6233
+-92.972 40.068 6343
+-92.846 40.068 6464
+-92.72 40.068 6638
+-92.594 40.068 6711
+-92.468 40.068 6846
+-92.342 40.068 6979
+-92.216 40.068 7030
+-92.09 40.068 7158
+-91.964 40.068 7282
+-91.838 40.068 7429
+-91.712 40.068 7498
+-91.586 40.068 7567
+-91.46 40.068 7642
+-91.334 40.068 7722
+-91.208 40.068 7784
+-91.082 40.068 7881
+-90.956 40.068 7962
+-90.83 40.068 7978
+-90.704 40.068 8013
+-90.578 40.068 8008
+-90.452 40.068 8052
+-90.326 40.068 8019
+-90.2 40.068 7992
+-90.074 40.068 7972
+-89.948 40.068 7939
+-89.822 40.068 7874
+-89.696 40.068 7808
+-89.57 40.068 7702
+-89.444 40.068 7645
+-89.318 40.068 7546
+-89.192 40.068 7484
+-89.066 40.068 7431
+-88.94 40.068 7297
+-88.814 40.068 7216
+-88.688 40.068 7070
+-88.562 40.068 7019
+-88.436 40.068 7001
+-88.31 40.068 7025
+-88.184 40.068 7025
+-88.058 40.068 7000
+-87.932 40.068 6973
+-87.806 40.068 6922
+-87.68 40.068 6853
+-87.554 40.068 6814
+-87.428 40.068 6695
+-87.302 40.068 6642
+-87.176 40.068 6563
+-87.05 40.068 6500
+-86.924 40.068 6382
+-86.798 40.068 6291
+-86.672 40.068 6245
+-86.546 40.068 6093
+-86.42 40.068 6005
+-86.294 40.068 5912
+-86.168 40.068 5810
+-86.042 40.068 5702
+-85.916 40.068 5553
+-85.79 40.068 5557
+-85.664 40.068 5470
+-85.538 40.068 5324
+-85.412 40.068 5197
+-85.286 40.068 5051
+-85.16 40.068 4921
+-85.034 40.068 4761
+-84.908 40.068 4653
+-84.782 40.068 4588
+-84.656 40.068 4506
+-84.53 40.068 4448
+-84.404 40.068 4353
+-84.278 40.068 4271
+-84.152 40.068 4217
+-84.026 40.068 4166
+-83.9 40.068 4074
+-83.774 40.068 3971
+-83.648 40.068 3794
+-83.522 40.068 3539
+-83.396 40.068 3241
+-83.27 40.068 3100
+-83.144 40.068 3180
+-83.018 40.068 3319
+-82.892 40.068 3432
+-82.766 40.068 3531
+-82.64 40.068 3542
+-82.514 40.068 3586
+-82.388 40.068 3585
+-82.262 40.068 3608
+-82.136 40.068 3626
+-82.01 40.068 3616
+-81.884 40.068 3629
+-81.758 40.068 3639
+-81.632 40.068 3665
+-81.506 40.068 3673
+-81.38 40.068 3681
+-81.254 40.068 3688
+-81.128 40.068 3695
+-81.002 40.068 3711
+-80.876 40.068 3717
+-80.75 40.068 3722
+-80.624 40.068 3726
+-80.498 40.068 3660
+-80.372 40.068 3643
+-80.246 40.068 3646
+-80.12 40.068 3650
+-79.994 40.068 3653
+-79.868 40.068 3656
+-79.742 40.068 3629
+-79.616 40.068 3633
+-79.49 40.068 3597
+-79.364 40.068 3559
+-79.238 40.068 3560
+-79.112 40.068 3591
+-78.986 40.068 3593
+-78.86 40.068 3595
+-78.734 40.068 3597
+-78.608 40.068 3599
+-78.482 40.068 3547
+-78.356 40.068 3547
+-78.23 40.068 3548
+-78.104 40.068 3549
+-77.978 40.068 3550
+-77.852 40.068 3550
+-77.726 40.068 3551
+-77.6 40.068 3552
+-77.474 40.068 3552
+-77.348 40.068 3553
+-77.222 40.068 3529
+-77.096 40.068 3519
+-76.97 40.068 3520
+-76.844 40.068 3521
+-76.718 40.068 3521
+-76.592 40.068 3522
+-76.466 40.068 3507
+-76.34 40.068 3507
+-76.214 40.068 3508
+-76.088 40.068 3508
+-75.962 40.068 3508
+-75.836 40.068 3509
+-75.71 40.068 3509
+-75.584 40.068 3509
+-75.458 40.068 3510
+-75.332 40.068 3450
+-75.206 40.068 3451
+-75.08 40.068 3451
+-74.954 40.068 3452
+-74.828 40.068 3452
+-74.702 40.068 3453
+-74.576 40.068 3453
+-74.45 40.068 3453
+-74.324 40.068 3454
+-74.198 40.068 3454
+-74.072 40.068 3454
+-73.946 40.068 3455
+-73.82 40.068 3455
+-73.694 40.068 3383
+-73.568 40.068 3383
+-73.442 40.068 3383
+-73.316 40.068 3383
+-73.19 40.068 3382
+-73.064 40.068 3382
+-72.938 40.068 3382
+-72.812 40.068 3381
+-72.686 40.068 3381
+-72.56 40.068 3381
+-72.434 40.068 3381
+-72.308 40.068 3380
+-72.182 40.068 3380
+-72.056 40.068 3380
+-71.93 40.068 3380
+-71.804 40.068 3379
+-71.678 40.068 3379
+-71.552 40.068 3379
+-71.426 40.068 3379
+-71.3 40.068 3379
+-71.174 40.068 3378
+-71.048 40.068 3378
+-70.922 40.068 3378
+-70.796 40.068 3378
+-70.67 40.068 3378
+-70.544 40.068 3070
+-70.418 40.068 3069
+-70.292 40.068 3068
+-70.166 40.068 3068
+-70.04 40.068 3067
+-69.914 40.068 3066
+-69.788 40.068 3066
+-69.662 40.068 3065
+-69.536 40.068 3064
+-69.41 40.068 3063
+-69.284 40.068 3063
+-69.158 40.068 3062
+-69.032 40.068 3061
+-68.906 40.068 3061
+-68.78 40.068 3060
+-68.654 40.068 3060
+-68.528 40.068 3059
+-68.402 40.068 3058
+-68.276 40.068 2932
+-68.15 40.068 2931
+-68.024 40.068 2900
+-67.898 40.068 2853
+-67.772 40.068 2852
+-67.646 40.068 2852
+-67.52 40.068 2867
+-67.394 40.068 2867
+-67.268 40.068 2878
+-67.142 40.068 2877
+-67.016 40.068 2836
+-66.89 40.068 2798
+-66.764 40.068 2798
+-66.638 40.068 2798
+-66.512 40.068 2797
+-66.386 40.068 2818
+-66.26 40.068 2824
+-66.134 40.068 2833
+-66.008 40.068 2831
+-65.882 40.068 2873
+-65.756 40.068 2884
+-65.63 40.068 2884
+-65.504 40.068 2947
+-65.378 40.068 2970
+-65.252 40.068 2945
+-65.126 40.068 2932
+-128 40.016 2697
+-127.874 40.016 2621
+-127.748 40.016 2639
+-127.622 40.016 2638
+-127.496 40.016 2638
+-127.37 40.016 2554
+-127.244 40.016 2556
+-127.118 40.016 2558
+-126.992 40.016 2510
+-126.866 40.016 2504
+-126.74 40.016 2507
+-126.614 40.016 2509
+-126.488 40.016 2511
+-126.362 40.016 2513
+-126.236 40.016 2513
+-126.11 40.016 2513
+-125.984 40.016 2509
+-125.858 40.016 2475
+-125.732 40.016 2459
+-125.606 40.016 2452
+-125.48 40.016 2443
+-125.354 40.016 2432
+-125.228 40.016 2393
+-125.102 40.016 2363
+-124.976 40.016 2338
+-124.85 40.016 2304
+-124.724 40.016 2281
+-124.598 40.016 2250
+-124.472 40.016 2217
+-124.346 40.016 2177
+-124.22 40.016 2130
+-124.094 40.016 2095
+-123.968 40.016 2064
+-123.842 40.016 2055
+-123.716 40.016 2061
+-123.59 40.016 2079
+-123.464 40.016 2071
+-123.338 40.016 2036
+-123.212 40.016 1989
+-123.086 40.016 1972
+-122.96 40.016 1999
+-122.834 40.016 2066
+-122.708 40.016 2147
+-122.582 40.016 2228
+-122.456 40.016 2294
+-122.33 40.016 2379
+-122.204 40.016 2422
+-122.078 40.016 2452
+-121.952 40.016 2472
+-121.826 40.016 2492
+-121.7 40.016 2532
+-121.574 40.016 2553
+-121.448 40.016 2568
+-121.322 40.016 2628
+-121.196 40.016 2639
+-121.07 40.016 2664
+-120.944 40.016 2661
+-120.818 40.016 2654
+-120.692 40.016 2639
+-120.566 40.016 2592
+-120.44 40.016 2513
+-120.314 40.016 2461
+-120.188 40.016 2523
+-120.062 40.016 2650
+-119.936 40.016 2774
+-119.81 40.016 2867
+-119.684 40.016 2946
+-119.558 40.016 2993
+-119.432 40.016 3024
+-119.306 40.016 3032
+-119.18 40.016 3037
+-119.054 40.016 3056
+-118.928 40.016 3070
+-118.802 40.016 3090
+-118.676 40.016 3111
+-118.55 40.016 3107
+-118.424 40.016 3080
+-118.298 40.016 3052
+-118.172 40.016 3095
+-118.046 40.016 3143
+-117.92 40.016 3137
+-117.794 40.016 3120
+-117.668 40.016 3114
+-117.542 40.016 3115
+-117.416 40.016 3105
+-117.29 40.016 3102
+-117.164 40.016 3079
+-117.038 40.016 3050
+-116.912 40.016 3020
+-116.786 40.016 3004
+-116.66 40.016 2986
+-116.534 40.016 2974
+-116.408 40.016 2974
+-116.282 40.016 2978
+-116.156 40.016 2963
+-116.03 40.016 2936
+-115.904 40.016 2922
+-115.778 40.016 2925
+-115.652 40.016 2910
+-115.526 40.016 2871
+-115.4 40.016 2825
+-115.274 40.016 2777
+-115.148 40.016 2721
+-115.022 40.016 2656
+-114.896 40.016 2585
+-114.77 40.016 2549
+-114.644 40.016 2540
+-114.518 40.016 2478
+-114.392 40.016 2383
+-114.266 40.016 2333
+-114.14 40.016 2364
+-114.014 40.016 2413
+-113.888 40.016 2406
+-113.762 40.016 2399
+-113.636 40.016 2374
+-113.51 40.016 2334
+-113.384 40.016 2271
+-113.258 40.016 2198
+-113.132 40.016 2108
+-113.006 40.016 2001
+-112.88 40.016 1883
+-112.754 40.016 1763
+-112.628 40.016 1641
+-112.502 40.016 1528
+-112.376 40.016 1420
+-112.25 40.016 1310
+-112.124 40.016 1176
+-111.998 40.016 997
+-111.872 40.016 810
+-111.746 40.016 666
+-111.62 40.016 614
+-111.494 40.016 660
+-111.368 40.016 773
+-111.242 40.016 915
+-111.116 40.016 1058
+-110.99 40.016 1203
+-110.864 40.016 1314
+-110.738 40.016 1422
+-110.612 40.016 1516
+-110.486 40.016 1596
+-110.36 40.016 1645
+-110.234 40.016 1720
+-110.108 40.016 1776
+-109.982 40.016 1808
+-109.856 40.016 1814
+-109.73 40.016 1852
+-109.604 40.016 1860
+-109.478 40.016 1899
+-109.352 40.016 1928
+-109.226 40.016 1974
+-109.1 40.016 1998
+-108.974 40.016 2019
+-108.848 40.016 2039
+-108.722 40.016 2057
+-108.596 40.016 2030
+-108.47 40.016 2139
+-108.344 40.016 2112
+-108.218 40.016 2155
+-108.092 40.016 2168
+-107.966 40.016 2130
+-107.84 40.016 2123
+-107.714 40.016 2095
+-107.588 40.016 2116
+-107.462 40.016 2111
+-107.336 40.016 2120
+-107.21 40.016 2129
+-107.084 40.016 2136
+-106.958 40.016 2095
+-106.832 40.016 2151
+-106.706 40.016 2174
+-106.58 40.016 2187
+-106.454 40.016 2194
+-106.328 40.016 2200
+-106.202 40.016 2206
+-106.076 40.016 2212
+-105.95 40.016 2264
+-105.824 40.016 2291
+-105.698 40.016 2296
+-105.572 40.016 2214
+-105.446 40.016 2178
+-105.32 40.016 2107
+-105.194 40.016 2101
+-105.068 40.016 2113
+-104.942 40.016 2215
+-104.816 40.016 2211
+-104.69 40.016 2221
+-104.564 40.016 2263
+-104.438 40.016 2251
+-104.312 40.016 2144
+-104.186 40.016 2111
+-104.06 40.016 2247
+-103.934 40.016 2197
+-103.808 40.016 2196
+-103.682 40.016 2175
+-103.556 40.016 2220
+-103.43 40.016 2234
+-103.304 40.016 2233
+-103.178 40.016 2289
+-103.052 40.016 2286
+-102.926 40.016 2319
+-102.8 40.016 2318
+-102.674 40.016 2313
+-102.548 40.016 2308
+-102.422 40.016 2303
+-102.296 40.016 2363
+-102.17 40.016 2357
+-102.044 40.016 2352
+-101.918 40.016 2384
+-101.792 40.016 2377
+-101.666 40.016 2408
+-101.54 40.016 2398
+-101.414 40.016 2388
+-101.288 40.016 2383
+-101.162 40.016 2413
+-101.036 40.016 2402
+-100.91 40.016 2389
+-100.784 40.016 2376
+-100.658 40.016 2362
+-100.532 40.016 2347
+-100.406 40.016 2332
+-100.28 40.016 2316
+-100.154 40.016 2299
+-100.028 40.016 2333
+-99.902 40.016 2423
+-99.776 40.016 2402
+-99.65 40.016 2383
+-99.524 40.016 2366
+-99.398 40.016 2378
+-99.272 40.016 2368
+-99.146 40.016 2549
+-99.02 40.016 2549
+-98.894 40.016 2557
+-98.768 40.016 2571
+-98.642 40.016 2592
+-98.516 40.016 2671
+-98.39 40.016 2711
+-98.264 40.016 2741
+-98.138 40.016 2769
+-98.012 40.016 2812
+-97.886 40.016 2826
+-97.76 40.016 2841
+-97.634 40.016 2832
+-97.508 40.016 2816
+-97.382 40.016 2779
+-97.256 40.016 2748
+-97.13 40.016 2682
+-97.004 40.016 2622
+-96.878 40.016 2621
+-96.752 40.016 2736
+-96.626 40.016 2942
+-96.5 40.016 3127
+-96.374 40.016 3302
+-96.248 40.016 3421
+-96.122 40.016 3555
+-95.996 40.016 3744
+-95.87 40.016 3914
+-95.744 40.016 4021
+-95.618 40.016 4071
+-95.492 40.016 4107
+-95.366 40.016 4058
+-95.24 40.016 4206
+-95.114 40.016 4423
+-94.988 40.016 4527
+-94.862 40.016 4572
+-94.736 40.016 4676
+-94.61 40.016 4682
+-94.484 40.016 4804
+-94.358 40.016 4975
+-94.232 40.016 5154
+-94.106 40.016 5314
+-93.98 40.016 5532
+-93.854 40.016 5724
+-93.728 40.016 5842
+-93.602 40.016 5943
+-93.476 40.016 5985
+-93.35 40.016 6000
+-93.224 40.016 6114
+-93.098 40.016 6237
+-92.972 40.016 6379
+-92.846 40.016 6517
+-92.72 40.016 6640
+-92.594 40.016 6780
+-92.468 40.016 6852
+-92.342 40.016 7027
+-92.216 40.016 7096
+-92.09 40.016 7191
+-91.964 40.016 7340
+-91.838 40.016 7449
+-91.712 40.016 7538
+-91.586 40.016 7597
+-91.46 40.016 7691
+-91.334 40.016 7791
+-91.208 40.016 7876
+-91.082 40.016 7932
+-90.956 40.016 7964
+-90.83 40.016 8053
+-90.704 40.016 8031
+-90.578 40.016 8081
+-90.452 40.016 8094
+-90.326 40.016 8062
+-90.2 40.016 8055
+-90.074 40.016 8023
+-89.948 40.016 7989
+-89.822 40.016 7935
+-89.696 40.016 7878
+-89.57 40.016 7784
+-89.444 40.016 7707
+-89.318 40.016 7610
+-89.192 40.016 7521
+-89.066 40.016 7420
+-88.94 40.016 7289
+-88.814 40.016 7232
+-88.688 40.016 7125
+-88.562 40.016 7108
+-88.436 40.016 7126
+-88.31 40.016 7140
+-88.184 40.016 7114
+-88.058 40.016 7056
+-87.932 40.016 7038
+-87.806 40.016 6969
+-87.68 40.016 6923
+-87.554 40.016 6832
+-87.428 40.016 6789
+-87.302 40.016 6680
+-87.176 40.016 6614
+-87.05 40.016 6500
+-86.924 40.016 6423
+-86.798 40.016 6338
+-86.672 40.016 6272
+-86.546 40.016 6170
+-86.42 40.016 6047
+-86.294 40.016 5966
+-86.168 40.016 5874
+-86.042 40.016 5764
+-85.916 40.016 5650
+-85.79 40.016 5504
+-85.664 40.016 5486
+-85.538 40.016 5346
+-85.412 40.016 5207
+-85.286 40.016 5086
+-85.16 40.016 4972
+-85.034 40.016 4826
+-84.908 40.016 4703
+-84.782 40.016 4635
+-84.656 40.016 4409
+-84.53 40.016 4484
+-84.404 40.016 4452
+-84.278 40.016 4357
+-84.152 40.016 4271
+-84.026 40.016 4193
+-83.9 40.016 4125
+-83.774 40.016 4000
+-83.648 40.016 3864
+-83.522 40.016 3685
+-83.396 40.016 3482
+-83.27 40.016 3362
+-83.144 40.016 3352
+-83.018 40.016 3429
+-82.892 40.016 3511
+-82.766 40.016 3576
+-82.64 40.016 3564
+-82.514 40.016 3601
+-82.388 40.016 3629
+-82.262 40.016 3632
+-82.136 40.016 3650
+-82.01 40.016 3664
+-81.884 40.016 3637
+-81.758 40.016 3663
+-81.632 40.016 3682
+-81.506 40.016 3690
+-81.38 40.016 3698
+-81.254 40.016 3706
+-81.128 40.016 3712
+-81.002 40.016 3718
+-80.876 40.016 3723
+-80.75 40.016 3728
+-80.624 40.016 3661
+-80.498 40.016 3644
+-80.372 40.016 3648
+-80.246 40.016 3652
+-80.12 40.016 3655
+-79.994 40.016 3658
+-79.868 40.016 3632
+-79.742 40.016 3635
+-79.616 40.016 3600
+-79.49 40.016 3561
+-79.364 40.016 3562
+-79.238 40.016 3592
+-79.112 40.016 3594
+-78.986 40.016 3596
+-78.86 40.016 3598
+-78.734 40.016 3600
+-78.608 40.016 3548
+-78.482 40.016 3548
+-78.356 40.016 3549
+-78.23 40.016 3550
+-78.104 40.016 3551
+-77.978 40.016 3551
+-77.852 40.016 3552
+-77.726 40.016 3552
+-77.6 40.016 3553
+-77.474 40.016 3553
+-77.348 40.016 3529
+-77.222 40.016 3520
+-77.096 40.016 3521
+-76.97 40.016 3521
+-76.844 40.016 3522
+-76.718 40.016 3523
+-76.592 40.016 3523
+-76.466 40.016 3508
+-76.34 40.016 3508
+-76.214 40.016 3508
+-76.088 40.016 3509
+-75.962 40.016 3509
+-75.836 40.016 3509
+-75.71 40.016 3510
+-75.584 40.016 3510
+-75.458 40.016 3450
+-75.332 40.016 3451
+-75.206 40.016 3451
+-75.08 40.016 3452
+-74.954 40.016 3452
+-74.828 40.016 3452
+-74.702 40.016 3453
+-74.576 40.016 3453
+-74.45 40.016 3454
+-74.324 40.016 3454
+-74.198 40.016 3454
+-74.072 40.016 3455
+-73.946 40.016 3455
+-73.82 40.016 3384
+-73.694 40.016 3383
+-73.568 40.016 3383
+-73.442 40.016 3383
+-73.316 40.016 3382
+-73.19 40.016 3382
+-73.064 40.016 3382
+-72.938 40.016 3382
+-72.812 40.016 3381
+-72.686 40.016 3381
+-72.56 40.016 3381
+-72.434 40.016 3380
+-72.308 40.016 3380
+-72.182 40.016 3380
+-72.056 40.016 3380
+-71.93 40.016 3379
+-71.804 40.016 3379
+-71.678 40.016 3379
+-71.552 40.016 3379
+-71.426 40.016 3379
+-71.3 40.016 3378
+-71.174 40.016 3378
+-71.048 40.016 3378
+-70.922 40.016 3378
+-70.796 40.016 3377
+-70.67 40.016 3070
+-70.544 40.016 3069
+-70.418 40.016 3069
+-70.292 40.016 3068
+-70.166 40.016 3067
+-70.04 40.016 3066
+-69.914 40.016 3065
+-69.788 40.016 3065
+-69.662 40.016 3064
+-69.536 40.016 3063
+-69.41 40.016 3063
+-69.284 40.016 3062
+-69.158 40.016 3061
+-69.032 40.016 3061
+-68.906 40.016 3060
+-68.78 40.016 3059
+-68.654 40.016 3059
+-68.528 40.016 3058
+-68.402 40.016 2932
+-68.276 40.016 2931
+-68.15 40.016 2900
+-68.024 40.016 2853
+-67.898 40.016 2852
+-67.772 40.016 2851
+-67.646 40.016 2867
+-67.52 40.016 2866
+-67.394 40.016 2878
+-67.268 40.016 2877
+-67.142 40.016 2835
+-67.016 40.016 2798
+-66.89 40.016 2798
+-66.764 40.016 2797
+-66.638 40.016 2797
+-66.512 40.016 2818
+-66.386 40.016 2823
+-66.26 40.016 2833
+-66.134 40.016 2831
+-66.008 40.016 2872
+-65.882 40.016 2883
+-65.756 40.016 2884
+-65.63 40.016 2946
+-65.504 40.016 2970
+-65.378 40.016 2944
+-65.252 40.016 2931
+-65.126 40.016 3096
+-128 39.964 2632
+-127.874 39.964 2650
+-127.748 39.964 2648
+-127.622 39.964 2648
+-127.496 39.964 2559
+-127.37 39.964 2560
+-127.244 39.964 2561
+-127.118 39.964 2510
+-126.992 39.964 2502
+-126.866 39.964 2504
+-126.74 39.964 2506
+-126.614 39.964 2507
+-126.488 39.964 2508
+-126.362 39.964 2508
+-126.236 39.964 2490
+-126.11 39.964 2489
+-125.984 39.964 2475
+-125.858 39.964 2454
+-125.732 39.964 2449
+-125.606 39.964 2442
+-125.48 39.964 2432
+-125.354 39.964 2395
+-125.228 39.964 2367
+-125.102 39.964 2346
+-124.976 39.964 2316
+-124.85 39.964 2297
+-124.724 39.964 2273
+-124.598 39.964 2248
+-124.472 39.964 2209
+-124.346 39.964 2174
+-124.22 39.964 2149
+-124.094 39.964 2120
+-123.968 39.964 2095
+-123.842 39.964 2089
+-123.716 39.964 2083
+-123.59 39.964 2073
+-123.464 39.964 2036
+-123.338 39.964 1969
+-123.212 39.964 1904
+-123.086 39.964 1873
+-122.96 39.964 1905
+-122.834 39.964 1985
+-122.708 39.964 2094
+-122.582 39.964 2190
+-122.456 39.964 2267
+-122.33 39.964 2340
+-122.204 39.964 2390
+-122.078 39.964 2426
+-121.952 39.964 2495
+-121.826 39.964 2516
+-121.7 39.964 2536
+-121.574 39.964 2555
+-121.448 39.964 2579
+-121.322 39.964 2620
+-121.196 39.964 2635
+-121.07 39.964 2647
+-120.944 39.964 2641
+-120.818 39.964 2630
+-120.692 39.964 2621
+-120.566 39.964 2590
+-120.44 39.964 2547
+-120.314 39.964 2518
+-120.188 39.964 2570
+-120.062 39.964 2678
+-119.936 39.964 2783
+-119.81 39.964 2867
+-119.684 39.964 2941
+-119.558 39.964 2981
+-119.432 39.964 3012
+-119.306 39.964 3026
+-119.18 39.964 3022
+-119.054 39.964 3020
+-118.928 39.964 3038
+-118.802 39.964 3087
+-118.676 39.964 3112
+-118.55 39.964 3127
+-118.424 39.964 3102
+-118.298 39.964 3090
+-118.172 39.964 3135
+-118.046 39.964 3169
+-117.92 39.964 3159
+-117.794 39.964 3148
+-117.668 39.964 3149
+-117.542 39.964 3143
+-117.416 39.964 3145
+-117.29 39.964 3134
+-117.164 39.964 3106
+-117.038 39.964 3091
+-116.912 39.964 3066
+-116.786 39.964 3052
+-116.66 39.964 3035
+-116.534 39.964 3031
+-116.408 39.964 3035
+-116.282 39.964 3051
+-116.156 39.964 3032
+-116.03 39.964 2991
+-115.904 39.964 2948
+-115.778 39.964 2931
+-115.652 39.964 2922
+-115.526 39.964 2901
+-115.4 39.964 2870
+-115.274 39.964 2833
+-115.148 39.964 2785
+-115.022 39.964 2726
+-114.896 39.964 2666
+-114.77 39.964 2618
+-114.644 39.964 2591
+-114.518 39.964 2518
+-114.392 39.964 2433
+-114.266 39.964 2384
+-114.14 39.964 2402
+-114.014 39.964 2451
+-113.888 39.964 2444
+-113.762 39.964 2426
+-113.636 39.964 2403
+-113.51 39.964 2371
+-113.384 39.964 2319
+-113.258 39.964 2252
+-113.132 39.964 2170
+-113.006 39.964 2075
+-112.88 39.964 1961
+-112.754 39.964 1848
+-112.628 39.964 1733
+-112.502 39.964 1616
+-112.376 39.964 1499
+-112.25 39.964 1371
+-112.124 39.964 1226
+-111.998 39.964 1040
+-111.872 39.964 857
+-111.746 39.964 717
+-111.62 39.964 663
+-111.494 39.964 703
+-111.368 39.964 809
+-111.242 39.964 943
+-111.116 39.964 1091
+-110.99 39.964 1228
+-110.864 39.964 1350
+-110.738 39.964 1444
+-110.612 39.964 1553
+-110.486 39.964 1633
+-110.36 39.964 1675
+-110.234 39.964 1737
+-110.108 39.964 1778
+-109.982 39.964 1786
+-109.856 39.964 1828
+-109.73 39.964 1840
+-109.604 39.964 1880
+-109.478 39.964 1911
+-109.352 39.964 1961
+-109.226 39.964 1986
+-109.1 39.964 2009
+-108.974 39.964 2030
+-108.848 39.964 2049
+-108.722 39.964 2024
+-108.596 39.964 2132
+-108.47 39.964 2107
+-108.344 39.964 2150
+-108.218 39.964 2164
+-108.092 39.964 2127
+-107.966 39.964 2121
+-107.84 39.964 2132
+-107.714 39.964 2155
+-107.588 39.964 2165
+-107.462 39.964 2180
+-107.336 39.964 2129
+-107.21 39.964 2137
+-107.084 39.964 2200
+-106.958 39.964 2152
+-106.832 39.964 2216
+-106.706 39.964 2188
+-106.58 39.964 2195
+-106.454 39.964 2201
+-106.328 39.964 2207
+-106.202 39.964 2213
+-106.076 39.964 2265
+-105.95 39.964 2292
+-105.824 39.964 2297
+-105.698 39.964 2302
+-105.572 39.964 2222
+-105.446 39.964 2185
+-105.32 39.964 2117
+-105.194 39.964 2190
+-105.068 39.964 2233
+-104.942 39.964 2291
+-104.816 39.964 2241
+-104.69 39.964 2284
+-104.564 39.964 2274
+-104.438 39.964 2265
+-104.312 39.964 2170
+-104.186 39.964 2291
+-104.06 39.964 2276
+-103.934 39.964 2262
+-103.808 39.964 2210
+-103.682 39.964 2191
+-103.556 39.964 2217
+-103.43 39.964 2243
+-103.304 39.964 2242
+-103.178 39.964 2298
+-103.052 39.964 2296
+-102.926 39.964 2329
+-102.8 39.964 2329
+-102.674 39.964 2325
+-102.548 39.964 2320
+-102.422 39.964 2316
+-102.296 39.964 2376
+-102.17 39.964 2371
+-102.044 39.964 2366
+-101.918 39.964 2360
+-101.792 39.964 2394
+-101.666 39.964 2427
+-101.54 39.964 2418
+-101.414 39.964 2409
+-101.288 39.964 2399
+-101.162 39.964 2395
+-101.036 39.964 2427
+-100.91 39.964 2416
+-100.784 39.964 2405
+-100.658 39.964 2393
+-100.532 39.964 2381
+-100.406 39.964 2368
+-100.28 39.964 2355
+-100.154 39.964 2393
+-100.028 39.964 2473
+-99.902 39.964 2457
+-99.776 39.964 2458
+-99.65 39.964 2444
+-99.524 39.964 2432
+-99.398 39.964 2447
+-99.272 39.964 2477
+-99.146 39.964 2628
+-99.02 39.964 2631
+-98.894 39.964 2639
+-98.768 39.964 2653
+-98.642 39.964 2670
+-98.516 39.964 2691
+-98.39 39.964 2767
+-98.264 39.964 2824
+-98.138 39.964 2841
+-98.012 39.964 2854
+-97.886 39.964 2860
+-97.76 39.964 2857
+-97.634 39.964 2848
+-97.508 39.964 2837
+-97.382 39.964 2803
+-97.256 39.964 2765
+-97.13 39.964 2748
+-97.004 39.964 2737
+-96.878 39.964 2749
+-96.752 39.964 2887
+-96.626 39.964 3025
+-96.5 39.964 3176
+-96.374 39.964 3356
+-96.248 39.964 3499
+-96.122 39.964 3638
+-95.996 39.964 3792
+-95.87 39.964 3928
+-95.744 39.964 4059
+-95.618 39.964 4130
+-95.492 39.964 4239
+-95.366 39.964 4258
+-95.24 39.964 4337
+-95.114 39.964 4477
+-94.988 39.964 4566
+-94.862 39.964 4650
+-94.736 39.964 4735
+-94.61 39.964 4818
+-94.484 39.964 4862
+-94.358 39.964 5062
+-94.232 39.964 5178
+-94.106 39.964 5337
+-93.98 39.964 5557
+-93.854 39.964 5686
+-93.728 39.964 5828
+-93.602 39.964 5927
+-93.476 39.964 5896
+-93.35 39.964 6038
+-93.224 39.964 6136
+-93.098 39.964 6245
+-92.972 39.964 6423
+-92.846 39.964 6595
+-92.72 39.964 6715
+-92.594 39.964 6826
+-92.468 39.964 6936
+-92.342 39.964 7041
+-92.216 39.964 7140
+-92.09 39.964 7182
+-91.964 39.964 7314
+-91.838 39.964 7445
+-91.712 39.964 7514
+-91.586 39.964 7597
+-91.46 39.964 7755
+-91.334 39.964 7829
+-91.208 39.964 7952
+-91.082 39.964 7958
+-90.956 39.964 8028
+-90.83 39.964 8092
+-90.704 39.964 8125
+-90.578 39.964 8152
+-90.452 39.964 8156
+-90.326 39.964 8122
+-90.2 39.964 8117
+-90.074 39.964 8069
+-89.948 39.964 8036
+-89.822 39.964 7982
+-89.696 39.964 7929
+-89.57 39.964 7827
+-89.444 39.964 7772
+-89.318 39.964 7622
+-89.192 39.964 7524
+-89.066 39.964 7449
+-88.94 39.964 7371
+-88.814 39.964 7250
+-88.688 39.964 7126
+-88.562 39.964 7046
+-88.436 39.964 7207
+-88.31 39.964 7189
+-88.184 39.964 7177
+-88.058 39.964 7116
+-87.932 39.964 7082
+-87.806 39.964 7066
+-87.68 39.964 6963
+-87.554 39.964 6873
+-87.428 39.964 6838
+-87.302 39.964 6759
+-87.176 39.964 6681
+-87.05 39.964 6583
+-86.924 39.964 6473
+-86.798 39.964 6407
+-86.672 39.964 6336
+-86.546 39.964 6189
+-86.42 39.964 6061
+-86.294 39.964 5990
+-86.168 39.964 5930
+-86.042 39.964 5761
+-85.916 39.964 5716
+-85.79 39.964 5569
+-85.664 39.964 5457
+-85.538 39.964 5372
+-85.412 39.964 5186
+-85.286 39.964 5048
+-85.16 39.964 5030
+-85.034 39.964 4856
+-84.908 39.964 4764
+-84.782 39.964 4666
+-84.656 39.964 4564
+-84.53 39.964 4537
+-84.404 39.964 4513
+-84.278 39.964 4435
+-84.152 39.964 4338
+-84.026 39.964 4217
+-83.9 39.964 4146
+-83.774 39.964 4059
+-83.648 39.964 3940
+-83.522 39.964 3782
+-83.396 39.964 3659
+-83.27 39.964 3587
+-83.144 39.964 3541
+-83.018 39.964 3541
+-82.892 39.964 3579
+-82.766 39.964 3617
+-82.64 39.964 3650
+-82.514 39.964 3618
+-82.388 39.964 3642
+-82.262 39.964 3662
+-82.136 39.964 3659
+-82.01 39.964 3673
+-81.884 39.964 3661
+-81.758 39.964 3681
+-81.632 39.964 3690
+-81.506 39.964 3699
+-81.38 39.964 3706
+-81.254 39.964 3713
+-81.128 39.964 3719
+-81.002 39.964 3725
+-80.876 39.964 3730
+-80.75 39.964 3664
+-80.624 39.964 3647
+-80.498 39.964 3650
+-80.372 39.964 3654
+-80.246 39.964 3657
+-80.12 39.964 3660
+-79.994 39.964 3635
+-79.868 39.964 3639
+-79.742 39.964 3603
+-79.616 39.964 3612
+-79.49 39.964 3563
+-79.364 39.964 3593
+-79.238 39.964 3595
+-79.112 39.964 3597
+-78.986 39.964 3599
+-78.86 39.964 3601
+-78.734 39.964 3549
+-78.608 39.964 3549
+-78.482 39.964 3550
+-78.356 39.964 3551
+-78.23 39.964 3552
+-78.104 39.964 3552
+-77.978 39.964 3553
+-77.852 39.964 3553
+-77.726 39.964 3554
+-77.6 39.964 3554
+-77.474 39.964 3530
+-77.348 39.964 3521
+-77.222 39.964 3521
+-77.096 39.964 3522
+-76.97 39.964 3523
+-76.844 39.964 3523
+-76.718 39.964 3508
+-76.592 39.964 3508
+-76.466 39.964 3509
+-76.34 39.964 3509
+-76.214 39.964 3509
+-76.088 39.964 3510
+-75.962 39.964 3510
+-75.836 39.964 3510
+-75.71 39.964 3510
+-75.584 39.964 3450
+-75.458 39.964 3451
+-75.332 39.964 3451
+-75.206 39.964 3452
+-75.08 39.964 3452
+-74.954 39.964 3452
+-74.828 39.964 3453
+-74.702 39.964 3453
+-74.576 39.964 3454
+-74.45 39.964 3454
+-74.324 39.964 3454
+-74.198 39.964 3455
+-74.072 39.964 3455
+-73.946 39.964 3384
+-73.82 39.964 3383
+-73.694 39.964 3383
+-73.568 39.964 3383
+-73.442 39.964 3382
+-73.316 39.964 3382
+-73.19 39.964 3382
+-73.064 39.964 3382
+-72.938 39.964 3381
+-72.812 39.964 3381
+-72.686 39.964 3381
+-72.56 39.964 3380
+-72.434 39.964 3380
+-72.308 39.964 3380
+-72.182 39.964 3380
+-72.056 39.964 3379
+-71.93 39.964 3379
+-71.804 39.964 3379
+-71.678 39.964 3379
+-71.552 39.964 3378
+-71.426 39.964 3378
+-71.3 39.964 3378
+-71.174 39.964 3378
+-71.048 39.964 3378
+-70.922 39.964 3377
+-70.796 39.964 3070
+-70.67 39.964 3069
+-70.544 39.964 3069
+-70.418 39.964 3068
+-70.292 39.964 3067
+-70.166 39.964 3066
+-70.04 39.964 3065
+-69.914 39.964 3065
+-69.788 39.964 3064
+-69.662 39.964 3063
+-69.536 39.964 3063
+-69.41 39.964 3062
+-69.284 39.964 3061
+-69.158 39.964 3061
+-69.032 39.964 3060
+-68.906 39.964 3059
+-68.78 39.964 3059
+-68.654 39.964 3058
+-68.528 39.964 2932
+-68.402 39.964 2931
+-68.276 39.964 2900
+-68.15 39.964 2853
+-68.024 39.964 2852
+-67.898 39.964 2851
+-67.772 39.964 2867
+-67.646 39.964 2866
+-67.52 39.964 2877
+-67.394 39.964 2877
+-67.268 39.964 2835
+-67.142 39.964 2797
+-67.016 39.964 2797
+-66.89 39.964 2797
+-66.764 39.964 2797
+-66.638 39.964 2817
+-66.512 39.964 2823
+-66.386 39.964 2832
+-66.26 39.964 2830
+-66.134 39.964 2871
+-66.008 39.964 2882
+-65.882 39.964 2883
+-65.756 39.964 2945
+-65.63 39.964 2969
+-65.504 39.964 2943
+-65.378 39.964 2931
+-65.252 39.964 3095
+-65.126 39.964 3096
+-128 39.912 2660
+-127.874 39.912 2658
+-127.748 39.912 2657
+-127.622 39.912 2564
+-127.496 39.912 2564
+-127.37 39.912 2564
+-127.244 39.912 2510
+-127.118 39.912 2502
+-126.992 39.912 2503
+-126.866 39.912 2504
+-126.74 39.912 2505
+-126.614 39.912 2505
+-126.488 39.912 2505
+-126.362 39.912 2486
+-126.236 39.912 2485
+-126.11 39.912 2471
+-125.984 39.912 2467
+-125.858 39.912 2431
+-125.732 39.912 2425
+-125.606 39.912 2418
+-125.48 39.912 2396
+-125.354 39.912 2360
+-125.228 39.912 2352
+-125.102 39.912 2324
+-124.976 39.912 2309
+-124.85 39.912 2290
+-124.724 39.912 2270
+-124.598 39.912 2238
+-124.472 39.912 2206
+-124.346 39.912 2190
+-124.22 39.912 2160
+-124.094 39.912 2138
+-123.968 39.912 2120
+-123.842 39.912 2113
+-123.716 39.912 2099
+-123.59 39.912 2071
+-123.464 39.912 2020
+-123.338 39.912 1943
+-123.212 39.912 1868
+-123.086 39.912 1837
+-122.96 39.912 1871
+-122.834 39.912 1955
+-122.708 39.912 2057
+-122.582 39.912 2177
+-122.456 39.912 2262
+-122.33 39.912 2331
+-122.204 39.912 2385
+-122.078 39.912 2422
+-121.952 39.912 2469
+-121.826 39.912 2491
+-121.7 39.912 2513
+-121.574 39.912 2582
+-121.448 39.912 2590
+-121.322 39.912 2621
+-121.196 39.912 2628
+-121.07 39.912 2635
+-120.944 39.912 2618
+-120.818 39.912 2595
+-120.692 39.912 2582
+-120.566 39.912 2574
+-120.44 39.912 2581
+-120.314 39.912 2600
+-120.188 39.912 2650
+-120.062 39.912 2731
+-119.936 39.912 2815
+-119.81 39.912 2900
+-119.684 39.912 2956
+-119.558 39.912 2991
+-119.432 39.912 3020
+-119.306 39.912 3029
+-119.18 39.912 3016
+-119.054 39.912 3002
+-118.928 39.912 3027
+-118.802 39.912 3077
+-118.676 39.912 3130
+-118.55 39.912 3140
+-118.424 39.912 3151
+-118.298 39.912 3148
+-118.172 39.912 3160
+-118.046 39.912 3167
+-117.92 39.912 3172
+-117.794 39.912 3180
+-117.668 39.912 3190
+-117.542 39.912 3192
+-117.416 39.912 3199
+-117.29 39.912 3183
+-117.164 39.912 3165
+-117.038 39.912 3153
+-116.912 39.912 3129
+-116.786 39.912 3116
+-116.66 39.912 3106
+-116.534 39.912 3086
+-116.408 39.912 3093
+-116.282 39.912 3115
+-116.156 39.912 3127
+-116.03 39.912 3079
+-115.904 39.912 3019
+-115.778 39.912 2974
+-115.652 39.912 2954
+-115.526 39.912 2933
+-115.4 39.912 2912
+-115.274 39.912 2884
+-115.148 39.912 2847
+-115.022 39.912 2793
+-114.896 39.912 2745
+-114.77 39.912 2706
+-114.644 39.912 2667
+-114.518 39.912 2594
+-114.392 39.912 2537
+-114.266 39.912 2489
+-114.14 39.912 2495
+-114.014 39.912 2467
+-113.888 39.912 2482
+-113.762 39.912 2475
+-113.636 39.912 2459
+-113.51 39.912 2405
+-113.384 39.912 2356
+-113.258 39.912 2294
+-113.132 39.912 2220
+-113.006 39.912 2132
+-112.88 39.912 2047
+-112.754 39.912 1942
+-112.628 39.912 1816
+-112.502 39.912 1702
+-112.376 39.912 1581
+-112.25 39.912 1458
+-112.124 39.912 1299
+-111.998 39.912 1131
+-111.872 39.912 973
+-111.746 39.912 849
+-111.62 39.912 798
+-111.494 39.912 823
+-111.368 39.912 909
+-111.242 39.912 1027
+-111.116 39.912 1156
+-110.99 39.912 1279
+-110.864 39.912 1381
+-110.738 39.912 1497
+-110.612 39.912 1585
+-110.486 39.912 1664
+-110.36 39.912 1678
+-110.234 39.912 1750
+-110.108 39.912 1759
+-109.982 39.912 1806
+-109.856 39.912 1845
+-109.73 39.912 1862
+-109.604 39.912 1918
+-109.478 39.912 1948
+-109.352 39.912 1975
+-109.226 39.912 2000
+-109.1 39.912 2022
+-108.974 39.912 2041
+-108.848 39.912 2046
+-108.722 39.912 2125
+-108.596 39.912 2102
+-108.47 39.912 2146
+-108.344 39.912 2161
+-108.218 39.912 2125
+-108.092 39.912 2119
+-107.966 39.912 2143
+-107.84 39.912 2154
+-107.714 39.912 2164
+-107.588 39.912 2179
+-107.462 39.912 2188
+-107.336 39.912 2192
+-107.21 39.912 2200
+-107.084 39.912 2222
+-106.958 39.912 2216
+-106.832 39.912 2232
+-106.706 39.912 2239
+-106.58 39.912 2246
+-106.454 39.912 2252
+-106.328 39.912 2260
+-106.202 39.912 2266
+-106.076 39.912 2272
+-105.95 39.912 2297
+-105.824 39.912 2302
+-105.698 39.912 2307
+-105.572 39.912 2229
+-105.446 39.912 2193
+-105.32 39.912 2205
+-105.194 39.912 2250
+-105.068 39.912 2308
+-104.942 39.912 2259
+-104.816 39.912 2303
+-104.69 39.912 2294
+-104.564 39.912 2287
+-104.438 39.912 2276
+-104.312 39.912 2265
+-104.186 39.912 2291
+-104.06 39.912 2278
+-103.934 39.912 2265
+-103.808 39.912 2219
+-103.682 39.912 2204
+-103.556 39.912 2234
+-103.43 39.912 2268
+-103.304 39.912 2250
+-103.178 39.912 2307
+-103.052 39.912 2305
+-102.926 39.912 2340
+-102.8 39.912 2340
+-102.674 39.912 2337
+-102.548 39.912 2333
+-102.422 39.912 2329
+-102.296 39.912 2341
+-102.17 39.912 2385
+-102.044 39.912 2380
+-101.918 39.912 2375
+-101.792 39.912 2370
+-101.666 39.912 2445
+-101.54 39.912 2437
+-101.414 39.912 2429
+-101.288 39.912 2421
+-101.162 39.912 2412
+-101.036 39.912 2409
+-100.91 39.912 2442
+-100.784 39.912 2433
+-100.658 39.912 2423
+-100.532 39.912 2413
+-100.406 39.912 2403
+-100.28 39.912 2503
+-100.154 39.912 2529
+-100.028 39.912 2517
+-99.902 39.912 2504
+-99.776 39.912 2493
+-99.65 39.912 2499
+-99.524 39.912 2513
+-99.398 39.912 2546
+-99.272 39.912 2543
+-99.146 39.912 2543
+-99.02 39.912 2715
+-98.894 39.912 2723
+-98.768 39.912 2734
+-98.642 39.912 2748
+-98.516 39.912 2764
+-98.39 39.912 2781
+-98.264 39.912 2837
+-98.138 39.912 2885
+-98.012 39.912 2891
+-97.886 39.912 2891
+-97.76 39.912 2882
+-97.634 39.912 2865
+-97.508 39.912 2840
+-97.382 39.912 2817
+-97.256 39.912 2791
+-97.13 39.912 2773
+-97.004 39.912 2748
+-96.878 39.912 2765
+-96.752 39.912 2826
+-96.626 39.912 3024
+-96.5 39.912 3180
+-96.374 39.912 3338
+-96.248 39.912 3538
+-96.122 39.912 3686
+-95.996 39.912 3834
+-95.87 39.912 3956
+-95.744 39.912 4058
+-95.618 39.912 4178
+-95.492 39.912 4314
+-95.366 39.912 4328
+-95.24 39.912 4373
+-95.114 39.912 4487
+-94.988 39.912 4591
+-94.862 39.912 4686
+-94.736 39.912 4759
+-94.61 39.912 4824
+-94.484 39.912 4943
+-94.358 39.912 5119
+-94.232 39.912 5185
+-94.106 39.912 5347
+-93.98 39.912 5581
+-93.854 39.912 5587
+-93.728 39.912 5764
+-93.602 39.912 5902
+-93.476 39.912 5979
+-93.35 39.912 6111
+-93.224 39.912 6235
+-93.098 39.912 6248
+-92.972 39.912 6477
+-92.846 39.912 6584
+-92.72 39.912 6714
+-92.594 39.912 6857
+-92.468 39.912 6913
+-92.342 39.912 7069
+-92.216 39.912 7184
+-92.09 39.912 7248
+-91.964 39.912 7399
+-91.838 39.912 7484
+-91.712 39.912 7603
+-91.586 39.912 7705
+-91.46 39.912 7793
+-91.334 39.912 7870
+-91.208 39.912 7925
+-91.082 39.912 7988
+-90.956 39.912 8070
+-90.83 39.912 8126
+-90.704 39.912 8176
+-90.578 39.912 8185
+-90.452 39.912 8187
+-90.326 39.912 8180
+-90.2 39.912 8150
+-90.074 39.912 8130
+-89.948 39.912 8118
+-89.822 39.912 8017
+-89.696 39.912 7955
+-89.57 39.912 7924
+-89.444 39.912 7806
+-89.318 39.912 7694
+-89.192 39.912 7574
+-89.066 39.912 7479
+-88.94 39.912 7360
+-88.814 39.912 7254
+-88.688 39.912 7195
+-88.562 39.912 7040
+-88.436 39.912 7299
+-88.31 39.912 7257
+-88.184 39.912 7206
+-88.058 39.912 7172
+-87.932 39.912 7141
+-87.806 39.912 7090
+-87.68 39.912 7003
+-87.554 39.912 6906
+-87.428 39.912 6891
+-87.302 39.912 6833
+-87.176 39.912 6746
+-87.05 39.912 6650
+-86.924 39.912 6492
+-86.798 39.912 6489
+-86.672 39.912 6358
+-86.546 39.912 6244
+-86.42 39.912 6113
+-86.294 39.912 6041
+-86.168 39.912 5963
+-86.042 39.912 5844
+-85.916 39.912 5761
+-85.79 39.912 5615
+-85.664 39.912 5486
+-85.538 39.912 5353
+-85.412 39.912 5218
+-85.286 39.912 5150
+-85.16 39.912 5074
+-85.034 39.912 4928
+-84.908 39.912 4788
+-84.782 39.912 4721
+-84.656 39.912 4653
+-84.53 39.912 4595
+-84.404 39.912 4562
+-84.278 39.912 4522
+-84.152 39.912 4375
+-84.026 39.912 4315
+-83.9 39.912 4217
+-83.774 39.912 4055
+-83.648 39.912 3962
+-83.522 39.912 3861
+-83.396 39.912 3784
+-83.27 39.912 3722
+-83.144 39.912 3649
+-83.018 39.912 3647
+-82.892 39.912 3631
+-82.766 39.912 3650
+-82.64 39.912 3671
+-82.514 39.912 3661
+-82.388 39.912 3672
+-82.262 39.912 3691
+-82.136 39.912 3689
+-82.01 39.912 3704
+-81.884 39.912 3680
+-81.758 39.912 3690
+-81.632 39.912 3700
+-81.506 39.912 3708
+-81.38 39.912 3715
+-81.254 39.912 3721
+-81.128 39.912 3727
+-81.002 39.912 3732
+-80.876 39.912 3666
+-80.75 39.912 3649
+-80.624 39.912 3653
+-80.498 39.912 3657
+-80.372 39.912 3660
+-80.246 39.912 3663
+-80.12 39.912 3665
+-79.994 39.912 3668
+-79.868 39.912 3653
+-79.742 39.912 3614
+-79.616 39.912 3565
+-79.49 39.912 3595
+-79.364 39.912 3597
+-79.238 39.912 3599
+-79.112 39.912 3601
+-78.986 39.912 3602
+-78.86 39.912 3550
+-78.734 39.912 3551
+-78.608 39.912 3551
+-78.482 39.912 3552
+-78.356 39.912 3553
+-78.23 39.912 3553
+-78.104 39.912 3554
+-77.978 39.912 3554
+-77.852 39.912 3555
+-77.726 39.912 3555
+-77.6 39.912 3531
+-77.474 39.912 3521
+-77.348 39.912 3522
+-77.222 39.912 3523
+-77.096 39.912 3523
+-76.97 39.912 3524
+-76.844 39.912 3524
+-76.718 39.912 3509
+-76.592 39.912 3509
+-76.466 39.912 3509
+-76.34 39.912 3510
+-76.214 39.912 3510
+-76.088 39.912 3510
+-75.962 39.912 3511
+-75.836 39.912 3511
+-75.71 39.912 3450
+-75.584 39.912 3451
+-75.458 39.912 3451
+-75.332 39.912 3452
+-75.206 39.912 3452
+-75.08 39.912 3452
+-74.954 39.912 3453
+-74.828 39.912 3453
+-74.702 39.912 3454
+-74.576 39.912 3454
+-74.45 39.912 3454
+-74.324 39.912 3455
+-74.198 39.912 3455
+-74.072 39.912 3384
+-73.946 39.912 3383
+-73.82 39.912 3383
+-73.694 39.912 3383
+-73.568 39.912 3382
+-73.442 39.912 3382
+-73.316 39.912 3382
+-73.19 39.912 3382
+-73.064 39.912 3381
+-72.938 39.912 3381
+-72.812 39.912 3381
+-72.686 39.912 3380
+-72.56 39.912 3380
+-72.434 39.912 3380
+-72.308 39.912 3380
+-72.182 39.912 3379
+-72.056 39.912 3379
+-71.93 39.912 3379
+-71.804 39.912 3379
+-71.678 39.912 3378
+-71.552 39.912 3378
+-71.426 39.912 3378
+-71.3 39.912 3378
+-71.174 39.912 3377
+-71.048 39.912 3377
+-70.922 39.912 3070
+-70.796 39.912 3069
+-70.67 39.912 3069
+-70.544 39.912 3068
+-70.418 39.912 3067
+-70.292 39.912 3066
+-70.166 39.912 3065
+-70.04 39.912 3065
+-69.914 39.912 3064
+-69.788 39.912 3063
+-69.662 39.912 3063
+-69.536 39.912 3062
+-69.41 39.912 3061
+-69.284 39.912 3060
+-69.158 39.912 3060
+-69.032 39.912 3059
+-68.906 39.912 3059
+-68.78 39.912 3058
+-68.654 39.912 2932
+-68.528 39.912 2931
+-68.402 39.912 2900
+-68.276 39.912 2853
+-68.15 39.912 2852
+-68.024 39.912 2851
+-67.898 39.912 2867
+-67.772 39.912 2866
+-67.646 39.912 2877
+-67.52 39.912 2876
+-67.394 39.912 2835
+-67.268 39.912 2797
+-67.142 39.912 2797
+-67.016 39.912 2796
+-66.89 39.912 2796
+-66.764 39.912 2817
+-66.638 39.912 2822
+-66.512 39.912 2832
+-66.386 39.912 2829
+-66.26 39.912 2870
+-66.134 39.912 2882
+-66.008 39.912 2882
+-65.882 39.912 2945
+-65.756 39.912 2968
+-65.63 39.912 2942
+-65.504 39.912 2930
+-65.378 39.912 3094
+-65.252 39.912 3095
+-65.126 39.912 3164
+-128 39.86 2667
+-127.874 39.86 2665
+-127.748 39.86 2569
+-127.622 39.86 2568
+-127.496 39.86 2567
+-127.37 39.86 2511
+-127.244 39.86 2502
+-127.118 39.86 2502
+-126.992 39.86 2502
+-126.866 39.86 2502
+-126.74 39.86 2502
+-126.614 39.86 2501
+-126.488 39.86 2483
+-126.362 39.86 2482
+-126.236 39.86 2467
+-126.11 39.86 2464
+-125.984 39.86 2428
+-125.858 39.86 2423
+-125.732 39.86 2417
+-125.606 39.86 2396
+-125.48 39.86 2362
+-125.354 39.86 2336
+-125.228 39.86 2321
+-125.102 39.86 2309
+-124.976 39.86 2296
+-124.85 39.86 2287
+-124.724 39.86 2259
+-124.598 39.86 2229
+-124.472 39.86 2219
+-124.346 39.86 2194
+-124.22 39.86 2175
+-124.094 39.86 2156
+-123.968 39.86 2150
+-123.842 39.86 2135
+-123.716 39.86 2112
+-123.59 39.86 2078
+-123.464 39.86 2022
+-123.338 39.86 1954
+-123.212 39.86 1893
+-123.086 39.86 1867
+-122.96 39.86 1896
+-122.834 39.86 1967
+-122.708 39.86 2058
+-122.582 39.86 2164
+-122.456 39.86 2239
+-122.33 39.86 2340
+-122.204 39.86 2395
+-122.078 39.86 2438
+-121.952 39.86 2480
+-121.826 39.86 2505
+-121.7 39.86 2527
+-121.574 39.86 2561
+-121.448 39.86 2564
+-121.322 39.86 2597
+-121.196 39.86 2600
+-121.07 39.86 2604
+-120.944 39.86 2598
+-120.818 39.86 2580
+-120.692 39.86 2534
+-120.566 39.86 2508
+-120.44 39.86 2547
+-120.314 39.86 2624
+-120.188 39.86 2701
+-120.062 39.86 2779
+-119.936 39.86 2847
+-119.81 39.86 2900
+-119.684 39.86 2951
+-119.558 39.86 3001
+-119.432 39.86 3033
+-119.306 39.86 3046
+-119.18 39.86 3035
+-119.054 39.86 3025
+-118.928 39.86 3056
+-118.802 39.86 3106
+-118.676 39.86 3165
+-118.55 39.86 3191
+-118.424 39.86 3195
+-118.298 39.86 3196
+-118.172 39.86 3190
+-118.046 39.86 3191
+-117.92 39.86 3199
+-117.794 39.86 3221
+-117.668 39.86 3246
+-117.542 39.86 3251
+-117.416 39.86 3261
+-117.29 39.86 3240
+-117.164 39.86 3244
+-117.038 39.86 3210
+-116.912 39.86 3182
+-116.786 39.86 3169
+-116.66 39.86 3156
+-116.534 39.86 3130
+-116.408 39.86 3129
+-116.282 39.86 3146
+-116.156 39.86 3162
+-116.03 39.86 3129
+-115.904 39.86 3069
+-115.778 39.86 3026
+-115.652 39.86 3002
+-115.526 39.86 2986
+-115.4 39.86 2970
+-115.274 39.86 2953
+-115.148 39.86 2920
+-115.022 39.86 2875
+-114.896 39.86 2828
+-114.77 39.86 2778
+-114.644 39.86 2740
+-114.518 39.86 2685
+-114.392 39.86 2639
+-114.266 39.86 2603
+-114.14 39.86 2599
+-114.014 39.86 2615
+-113.888 39.86 2573
+-113.762 39.86 2551
+-113.636 39.86 2491
+-113.51 39.86 2466
+-113.384 39.86 2421
+-113.258 39.86 2364
+-113.132 39.86 2289
+-113.006 39.86 2203
+-112.88 39.86 2114
+-112.754 39.86 2017
+-112.628 39.86 1928
+-112.502 39.86 1802
+-112.376 39.86 1683
+-112.25 39.86 1548
+-112.124 39.86 1420
+-111.998 39.86 1270
+-111.872 39.86 1131
+-111.746 39.86 1033
+-111.62 39.86 986
+-111.494 39.86 1000
+-111.368 39.86 1049
+-111.242 39.86 1144
+-111.116 39.86 1249
+-110.99 39.86 1344
+-110.864 39.86 1459
+-110.738 39.86 1549
+-110.612 39.86 1632
+-110.486 39.86 1683
+-110.36 39.86 1726
+-110.234 39.86 1781
+-110.108 39.86 1807
+-109.982 39.86 1829
+-109.856 39.86 1867
+-109.73 39.86 1905
+-109.604 39.86 1937
+-109.478 39.86 1966
+-109.352 39.86 1991
+-109.226 39.86 2014
+-109.1 39.86 2035
+-108.974 39.86 2041
+-108.848 39.86 2120
+-108.722 39.86 2098
+-108.596 39.86 2143
+-108.47 39.86 2158
+-108.344 39.86 2136
+-108.218 39.86 2118
+-108.092 39.86 2142
+-107.966 39.86 2153
+-107.84 39.86 2164
+-107.714 39.86 2178
+-107.588 39.86 2188
+-107.462 39.86 2192
+-107.336 39.86 2200
+-107.21 39.86 2223
+-107.084 39.86 2216
+-106.958 39.86 2235
+-106.832 39.86 2291
+-106.706 39.86 2298
+-106.58 39.86 2305
+-106.454 39.86 2312
+-106.328 39.86 2267
+-106.202 39.86 2273
+-106.076 39.86 2278
+-105.95 39.86 2284
+-105.824 39.86 2308
+-105.698 39.86 2313
+-105.572 39.86 2313
+-105.446 39.86 2312
+-105.32 39.86 2265
+-105.194 39.86 2323
+-105.068 39.86 2277
+-104.942 39.86 2321
+-104.816 39.86 2313
+-104.69 39.86 2306
+-104.564 39.86 2297
+-104.438 39.86 2287
+-104.312 39.86 2432
+-104.186 39.86 2255
+-104.06 39.86 2313
+-103.934 39.86 2295
+-103.808 39.86 2183
+-103.682 39.86 2187
+-103.556 39.86 2243
+-103.43 39.86 2248
+-103.304 39.86 2272
+-103.178 39.86 2303
+-103.052 39.86 2315
+-102.926 39.86 2350
+-102.8 39.86 2351
+-102.674 39.86 2348
+-102.548 39.86 2345
+-102.422 39.86 2342
+-102.296 39.86 2355
+-102.17 39.86 2351
+-102.044 39.86 2394
+-101.918 39.86 2390
+-101.792 39.86 2386
+-101.666 39.86 2420
+-101.54 39.86 2457
+-101.414 39.86 2450
+-101.288 39.86 2443
+-101.162 39.86 2435
+-101.036 39.86 2427
+-100.91 39.86 2425
+-100.784 39.86 2461
+-100.658 39.86 2453
+-100.532 39.86 2445
+-100.406 39.86 2549
+-100.28 39.86 2538
+-100.154 39.86 2527
+-100.028 39.86 2557
+-99.902 39.86 2548
+-99.776 39.86 2540
+-99.65 39.86 2575
+-99.524 39.86 2589
+-99.398 39.86 2602
+-99.272 39.86 2600
+-99.146 39.86 2602
+-99.02 39.86 2606
+-98.894 39.86 2783
+-98.768 39.86 2792
+-98.642 39.86 2804
+-98.516 39.86 2816
+-98.39 39.86 2828
+-98.264 39.86 2839
+-98.138 39.86 2886
+-98.012 39.86 2924
+-97.886 39.86 2919
+-97.76 39.86 2906
+-97.634 39.86 2884
+-97.508 39.86 2871
+-97.382 39.86 2824
+-97.256 39.86 2775
+-97.13 39.86 2714
+-97.004 39.86 2663
+-96.878 39.86 2650
+-96.752 39.86 2780
+-96.626 39.86 2946
+-96.5 39.86 3135
+-96.374 39.86 3332
+-96.248 39.86 3539
+-96.122 39.86 3709
+-95.996 39.86 3847
+-95.87 39.86 3981
+-95.744 39.86 4082
+-95.618 39.86 4167
+-95.492 39.86 4325
+-95.366 39.86 4298
+-95.24 39.86 4276
+-95.114 39.86 4415
+-94.988 39.86 4585
+-94.862 39.86 4701
+-94.736 39.86 4788
+-94.61 39.86 4882
+-94.484 39.86 5005
+-94.358 39.86 5146
+-94.232 39.86 5245
+-94.106 39.86 5418
+-93.98 39.86 5603
+-93.854 39.86 5685
+-93.728 39.86 5668
+-93.602 39.86 5865
+-93.476 39.86 5990
+-93.35 39.86 6083
+-93.224 39.86 6170
+-93.098 39.86 6267
+-92.972 39.86 6494
+-92.846 39.86 6625
+-92.72 39.86 6741
+-92.594 39.86 6767
+-92.468 39.86 6942
+-92.342 39.86 7097
+-92.216 39.86 7154
+-92.09 39.86 7359
+-91.964 39.86 7396
+-91.838 39.86 7504
+-91.712 39.86 7650
+-91.586 39.86 7731
+-91.46 39.86 7784
+-91.334 39.86 7891
+-91.208 39.86 7966
+-91.082 39.86 8119
+-90.956 39.86 8155
+-90.83 39.86 8193
+-90.704 39.86 8227
+-90.578 39.86 8252
+-90.452 39.86 8253
+-90.326 39.86 8224
+-90.2 39.86 8219
+-90.074 39.86 8203
+-89.948 39.86 8162
+-89.822 39.86 8056
+-89.696 39.86 8019
+-89.57 39.86 7918
+-89.444 39.86 7840
+-89.318 39.86 7733
+-89.192 39.86 7673
+-89.066 39.86 7514
+-88.94 39.86 7421
+-88.814 39.86 7255
+-88.688 39.86 7195
+-88.562 39.86 7082
+-88.436 39.86 7326
+-88.31 39.86 7281
+-88.184 39.86 7277
+-88.058 39.86 7218
+-87.932 39.86 7166
+-87.806 39.86 7078
+-87.68 39.86 7064
+-87.554 39.86 6985
+-87.428 39.86 6905
+-87.302 39.86 6817
+-87.176 39.86 6795
+-87.05 39.86 6666
+-86.924 39.86 6598
+-86.798 39.86 6494
+-86.672 39.86 6392
+-86.546 39.86 6283
+-86.42 39.86 6166
+-86.294 39.86 6122
+-86.168 39.86 6026
+-86.042 39.86 5921
+-85.916 39.86 5786
+-85.79 39.86 5661
+-85.664 39.86 5545
+-85.538 39.86 5406
+-85.412 39.86 5282
+-85.286 39.86 5174
+-85.16 39.86 5077
+-85.034 39.86 4977
+-84.908 39.86 4818
+-84.782 39.86 4752
+-84.656 39.86 4696
+-84.53 39.86 4637
+-84.404 39.86 4596
+-84.278 39.86 4532
+-84.152 39.86 4369
+-84.026 39.86 4300
+-83.9 39.86 4188
+-83.774 39.86 4106
+-83.648 39.86 4042
+-83.522 39.86 3958
+-83.396 39.86 3828
+-83.27 39.86 3753
+-83.144 39.86 3720
+-83.018 39.86 3694
+-82.892 39.86 3696
+-82.766 39.86 3672
+-82.64 39.86 3689
+-82.514 39.86 3708
+-82.388 39.86 3693
+-82.262 39.86 3713
+-82.136 39.86 3711
+-82.01 39.86 3726
+-81.884 39.86 3739
+-81.758 39.86 3700
+-81.632 39.86 3709
+-81.506 39.86 3717
+-81.38 39.86 3723
+-81.254 39.86 3729
+-81.128 39.86 3735
+-81.002 39.86 3669
+-80.876 39.86 3677
+-80.75 39.86 3681
+-80.624 39.86 3685
+-80.498 39.86 3689
+-80.372 39.86 3693
+-80.246 39.86 3696
+-80.12 39.86 3699
+-79.994 39.86 3656
+-79.868 39.86 3617
+-79.742 39.86 3567
+-79.616 39.86 3596
+-79.49 39.86 3599
+-79.364 39.86 3600
+-79.238 39.86 3602
+-79.112 39.86 3604
+-78.986 39.86 3551
+-78.86 39.86 3552
+-78.734 39.86 3553
+-78.608 39.86 3553
+-78.482 39.86 3554
+-78.356 39.86 3554
+-78.23 39.86 3555
+-78.104 39.86 3555
+-77.978 39.86 3555
+-77.852 39.86 3556
+-77.726 39.86 3532
+-77.6 39.86 3522
+-77.474 39.86 3523
+-77.348 39.86 3523
+-77.222 39.86 3524
+-77.096 39.86 3524
+-76.97 39.86 3509
+-76.844 39.86 3509
+-76.718 39.86 3510
+-76.592 39.86 3510
+-76.466 39.86 3510
+-76.34 39.86 3511
+-76.214 39.86 3511
+-76.088 39.86 3511
+-75.962 39.86 3511
+-75.836 39.86 3450
+-75.71 39.86 3451
+-75.584 39.86 3451
+-75.458 39.86 3452
+-75.332 39.86 3452
+-75.206 39.86 3452
+-75.08 39.86 3453
+-74.954 39.86 3453
+-74.828 39.86 3454
+-74.702 39.86 3454
+-74.576 39.86 3454
+-74.45 39.86 3455
+-74.324 39.86 3455
+-74.198 39.86 3384
+-74.072 39.86 3383
+-73.946 39.86 3383
+-73.82 39.86 3383
+-73.694 39.86 3383
+-73.568 39.86 3382
+-73.442 39.86 3382
+-73.316 39.86 3382
+-73.19 39.86 3381
+-73.064 39.86 3381
+-72.938 39.86 3381
+-72.812 39.86 3380
+-72.686 39.86 3380
+-72.56 39.86 3380
+-72.434 39.86 3380
+-72.308 39.86 3379
+-72.182 39.86 3379
+-72.056 39.86 3379
+-71.93 39.86 3379
+-71.804 39.86 3378
+-71.678 39.86 3378
+-71.552 39.86 3378
+-71.426 39.86 3378
+-71.3 39.86 3377
+-71.174 39.86 3377
+-71.048 39.86 3070
+-70.922 39.86 3069
+-70.796 39.86 3069
+-70.67 39.86 3068
+-70.544 39.86 3067
+-70.418 39.86 3066
+-70.292 39.86 3065
+-70.166 39.86 3065
+-70.04 39.86 3064
+-69.914 39.86 3063
+-69.788 39.86 3062
+-69.662 39.86 3062
+-69.536 39.86 3061
+-69.41 39.86 3060
+-69.284 39.86 3060
+-69.158 39.86 3059
+-69.032 39.86 3058
+-68.906 39.86 3058
+-68.78 39.86 2931
+-68.654 39.86 2931
+-68.528 39.86 2900
+-68.402 39.86 2853
+-68.276 39.86 2852
+-68.15 39.86 2851
+-68.024 39.86 2866
+-67.898 39.86 2866
+-67.772 39.86 2877
+-67.646 39.86 2876
+-67.52 39.86 2835
+-67.394 39.86 2797
+-67.268 39.86 2796
+-67.142 39.86 2796
+-67.016 39.86 2796
+-66.89 39.86 2816
+-66.764 39.86 2822
+-66.638 39.86 2831
+-66.512 39.86 2829
+-66.386 39.86 2870
+-66.26 39.86 2881
+-66.134 39.86 2882
+-66.008 39.86 2944
+-65.882 39.86 2967
+-65.756 39.86 2942
+-65.63 39.86 2929
+-65.504 39.86 3093
+-65.378 39.86 3094
+-65.252 39.86 3163
+-65.126 39.86 3164
+-128 39.808 2673
+-127.874 39.808 2573
+-127.748 39.808 2572
+-127.622 39.808 2571
+-127.496 39.808 2512
+-127.37 39.808 2503
+-127.244 39.808 2502
+-127.118 39.808 2502
+-126.992 39.808 2501
+-126.866 39.808 2500
+-126.74 39.808 2499
+-126.614 39.808 2480
+-126.488 39.808 2479
+-126.362 39.808 2465
+-126.236 39.808 2462
+-126.11 39.808 2426
+-125.984 39.808 2421
+-125.858 39.808 2415
+-125.732 39.808 2390
+-125.606 39.808 2362
+-125.48 39.808 2338
+-125.354 39.808 2325
+-125.228 39.808 2315
+-125.102 39.808 2304
+-124.976 39.808 2299
+-124.85 39.808 2266
+-124.724 39.808 2264
+-124.598 39.808 2241
+-124.472 39.808 2220
+-124.346 39.808 2203
+-124.22 39.808 2187
+-124.094 39.808 2184
+-123.968 39.808 2173
+-123.842 39.808 2153
+-123.716 39.808 2124
+-123.59 39.808 2092
+-123.464 39.808 2044
+-123.338 39.808 1995
+-123.212 39.808 1953
+-123.086 39.808 1937
+-122.96 39.808 1960
+-122.834 39.808 2017
+-122.708 39.808 2092
+-122.582 39.808 2167
+-122.456 39.808 2268
+-122.33 39.808 2325
+-122.204 39.808 2377
+-122.078 39.808 2419
+-121.952 39.808 2501
+-121.826 39.808 2530
+-121.7 39.808 2548
+-121.574 39.808 2581
+-121.448 39.808 2613
+-121.322 39.808 2604
+-121.196 39.808 2605
+-121.07 39.808 2604
+-120.944 39.808 2563
+-120.818 39.808 2548
+-120.692 39.808 2500
+-120.566 39.808 2462
+-120.44 39.808 2518
+-120.314 39.808 2630
+-120.188 39.808 2733
+-120.062 39.808 2820
+-119.936 39.808 2883
+-119.81 39.808 2916
+-119.684 39.808 2955
+-119.558 39.808 2997
+-119.432 39.808 3039
+-119.306 39.808 3065
+-119.18 39.808 3072
+-119.054 39.808 3077
+-118.928 39.808 3115
+-118.802 39.808 3153
+-118.676 39.808 3210
+-118.55 39.808 3230
+-118.424 39.808 3245
+-118.298 39.808 3244
+-118.172 39.808 3239
+-118.046 39.808 3240
+-117.92 39.808 3254
+-117.794 39.808 3275
+-117.668 39.808 3305
+-117.542 39.808 3310
+-117.416 39.808 3323
+-117.29 39.808 3332
+-117.164 39.808 3313
+-117.038 39.808 3303
+-116.912 39.808 3249
+-116.786 39.808 3255
+-116.66 39.808 3210
+-116.534 39.808 3177
+-116.408 39.808 3158
+-116.282 39.808 3153
+-116.156 39.808 3153
+-116.03 39.808 3132
+-115.904 39.808 3092
+-115.778 39.808 3062
+-115.652 39.808 3045
+-115.526 39.808 3032
+-115.4 39.808 3018
+-115.274 39.808 2998
+-115.148 39.808 2980
+-115.022 39.808 2943
+-114.896 39.808 2882
+-114.77 39.808 2828
+-114.644 39.808 2796
+-114.518 39.808 2752
+-114.392 39.808 2730
+-114.266 39.808 2711
+-114.14 39.808 2705
+-114.014 39.808 2687
+-113.888 39.808 2628
+-113.762 39.808 2615
+-113.636 39.808 2590
+-113.51 39.808 2554
+-113.384 39.808 2515
+-113.258 39.808 2465
+-113.132 39.808 2347
+-113.006 39.808 2268
+-112.88 39.808 2179
+-112.754 39.808 2131
+-112.628 39.808 2036
+-112.502 39.808 1914
+-112.376 39.808 1799
+-112.25 39.808 1676
+-112.124 39.808 1549
+-111.998 39.808 1421
+-111.872 39.808 1318
+-111.746 39.808 1231
+-111.62 39.808 1186
+-111.494 39.808 1189
+-111.368 39.808 1232
+-111.242 39.808 1293
+-111.116 39.808 1377
+-110.99 39.808 1430
+-110.864 39.808 1536
+-110.738 39.808 1616
+-110.612 39.808 1666
+-110.486 39.808 1711
+-110.36 39.808 1767
+-110.234 39.808 1819
+-110.108 39.808 1863
+-109.982 39.808 1886
+-109.856 39.808 1922
+-109.73 39.808 1955
+-109.604 39.808 1985
+-109.478 39.808 2012
+-109.352 39.808 2037
+-109.226 39.808 2059
+-109.1 39.808 2038
+-108.974 39.808 2115
+-108.848 39.808 2124
+-108.722 39.808 2140
+-108.596 39.808 2156
+-108.47 39.808 2135
+-108.344 39.808 2117
+-108.218 39.808 2142
+-108.092 39.808 2153
+-107.966 39.808 2164
+-107.84 39.808 2178
+-107.714 39.808 2188
+-107.588 39.808 2192
+-107.462 39.808 2201
+-107.336 39.808 2223
+-107.21 39.808 2217
+-107.084 39.808 2236
+-106.958 39.808 2290
+-106.832 39.808 2298
+-106.706 39.808 2305
+-106.58 39.808 2312
+-106.454 39.808 2318
+-106.328 39.808 2324
+-106.202 39.808 2280
+-106.076 39.808 2285
+-105.95 39.808 2364
+-105.824 39.808 2422
+-105.698 39.808 2427
+-105.572 39.808 2391
+-105.446 39.808 2340
+-105.32 39.808 2338
+-105.194 39.808 2344
+-105.068 39.808 2337
+-104.942 39.808 2330
+-104.816 39.808 2324
+-104.69 39.808 2316
+-104.564 39.808 2308
+-104.438 39.808 2454
+-104.312 39.808 2395
+-104.186 39.808 2405
+-104.06 39.808 2283
+-103.934 39.808 2266
+-103.808 39.808 2273
+-103.682 39.808 2243
+-103.556 39.808 2205
+-103.43 39.808 2216
+-103.304 39.808 2240
+-103.178 39.808 2289
+-103.052 39.808 2310
+-102.926 39.808 2361
+-102.8 39.808 2362
+-102.674 39.808 2360
+-102.548 39.808 2357
+-102.422 39.808 2354
+-102.296 39.808 2369
+-102.17 39.808 2366
+-102.044 39.808 2362
+-101.918 39.808 2405
+-101.792 39.808 2402
+-101.666 39.808 2438
+-101.54 39.808 2432
+-101.414 39.808 2470
+-101.288 39.808 2464
+-101.162 39.808 2458
+-101.036 39.808 2451
+-100.91 39.808 2445
+-100.784 39.808 2444
+-100.658 39.808 2482
+-100.532 39.808 2589
+-100.406 39.808 2580
+-100.28 39.808 2571
+-100.154 39.808 2562
+-100.028 39.808 2554
+-99.902 39.808 2633
+-99.776 39.808 2627
+-99.65 39.808 2622
+-99.524 39.808 2618
+-99.398 39.808 2634
+-99.272 39.808 2651
+-99.146 39.808 2654
+-99.02 39.808 2658
+-98.894 39.808 2665
+-98.768 39.808 2842
+-98.642 39.808 2852
+-98.516 39.808 2861
+-98.39 39.808 2870
+-98.264 39.808 2877
+-98.138 39.808 2881
+-98.012 39.808 2917
+-97.886 39.808 2946
+-97.76 39.808 2929
+-97.634 39.808 2926
+-97.508 39.808 2883
+-97.382 39.808 2824
+-97.256 39.808 2753
+-97.13 39.808 2645
+-97.004 39.808 2531
+-96.878 39.808 2469
+-96.752 39.808 2564
+-96.626 39.808 2837
+-96.5 39.808 3090
+-96.374 39.808 3305
+-96.248 39.808 3502
+-96.122 39.808 3706
+-95.996 39.808 3862
+-95.87 39.808 3995
+-95.744 39.808 4096
+-95.618 39.808 4185
+-95.492 39.808 4326
+-95.366 39.808 4256
+-95.24 39.808 4155
+-95.114 39.808 4350
+-94.988 39.808 4607
+-94.862 39.808 4724
+-94.736 39.808 4762
+-94.61 39.808 4873
+-94.484 39.808 5017
+-94.358 39.808 5178
+-94.232 39.808 5311
+-94.106 39.808 5472
+-93.98 39.808 5571
+-93.854 39.808 5678
+-93.728 39.808 5653
+-93.602 39.808 5878
+-93.476 39.808 6030
+-93.35 39.808 6075
+-93.224 39.808 6175
+-93.098 39.808 6322
+-92.972 39.808 6514
+-92.846 39.808 6572
+-92.72 39.808 6736
+-92.594 39.808 6831
+-92.468 39.808 6930
+-92.342 39.808 7105
+-92.216 39.808 7182
+-92.09 39.808 7298
+-91.964 39.808 7384
+-91.838 39.808 7523
+-91.712 39.808 7644
+-91.586 39.808 7788
+-91.46 39.808 7846
+-91.334 39.808 7963
+-91.208 39.808 7991
+-91.082 39.808 8112
+-90.956 39.808 8168
+-90.83 39.808 8239
+-90.704 39.808 8279
+-90.578 39.808 8290
+-90.452 39.808 8301
+-90.326 39.808 8308
+-90.2 39.808 8284
+-90.074 39.808 8229
+-89.948 39.808 8187
+-89.822 39.808 8132
+-89.696 39.808 8094
+-89.57 39.808 7973
+-89.444 39.808 7881
+-89.318 39.808 7776
+-89.192 39.808 7686
+-89.066 39.808 7551
+-88.94 39.808 7427
+-88.814 39.808 7300
+-88.688 39.808 7293
+-88.562 39.808 7274
+-88.436 39.808 7374
+-88.31 39.808 7376
+-88.184 39.808 7339
+-88.058 39.808 7288
+-87.932 39.808 7238
+-87.806 39.808 7164
+-87.68 39.808 7129
+-87.554 39.808 7090
+-87.428 39.808 6990
+-87.302 39.808 6889
+-87.176 39.808 6805
+-87.05 39.808 6746
+-86.924 39.808 6658
+-86.798 39.808 6534
+-86.672 39.808 6407
+-86.546 39.808 6338
+-86.42 39.808 6213
+-86.294 39.808 6103
+-86.168 39.808 5999
+-86.042 39.808 5945
+-85.916 39.808 5794
+-85.79 39.808 5703
+-85.664 39.808 5567
+-85.538 39.808 5388
+-85.412 39.808 5341
+-85.286 39.808 5220
+-85.16 39.808 5105
+-85.034 39.808 4979
+-84.908 39.808 4840
+-84.782 39.808 4711
+-84.656 39.808 4691
+-84.53 39.808 4647
+-84.404 39.808 4606
+-84.278 39.808 4513
+-84.152 39.808 4383
+-84.026 39.808 4263
+-83.9 39.808 4157
+-83.774 39.808 4078
+-83.648 39.808 4010
+-83.522 39.808 3947
+-83.396 39.808 3887
+-83.27 39.808 3782
+-83.144 39.808 3711
+-83.018 39.808 3693
+-82.892 39.808 3687
+-82.766 39.808 3704
+-82.64 39.808 3715
+-82.514 39.808 3739
+-82.388 39.808 3702
+-82.262 39.808 3722
+-82.136 39.808 3739
+-82.01 39.808 3755
+-81.884 39.808 3734
+-81.758 39.808 3746
+-81.632 39.808 3719
+-81.506 39.808 3726
+-81.38 39.808 3732
+-81.254 39.808 3738
+-81.128 39.808 3673
+-81.002 39.808 3680
+-80.876 39.808 3684
+-80.75 39.808 3689
+-80.624 39.808 3693
+-80.498 39.808 3696
+-80.372 39.808 3699
+-80.246 39.808 3702
+-80.12 39.808 3659
+-79.994 39.808 3620
+-79.868 39.808 3570
+-79.742 39.808 3599
+-79.616 39.808 3601
+-79.49 39.808 3602
+-79.364 39.808 3604
+-79.238 39.808 3606
+-79.112 39.808 3553
+-78.986 39.808 3554
+-78.86 39.808 3554
+-78.734 39.808 3555
+-78.608 39.808 3555
+-78.482 39.808 3555
+-78.356 39.808 3556
+-78.23 39.808 3556
+-78.104 39.808 3557
+-77.978 39.808 3557
+-77.852 39.808 3533
+-77.726 39.808 3523
+-77.6 39.808 3524
+-77.474 39.808 3524
+-77.348 39.808 3525
+-77.222 39.808 3525
+-77.096 39.808 3526
+-76.97 39.808 3510
+-76.844 39.808 3510
+-76.718 39.808 3511
+-76.592 39.808 3511
+-76.466 39.808 3511
+-76.34 39.808 3511
+-76.214 39.808 3512
+-76.088 39.808 3512
+-75.962 39.808 3450
+-75.836 39.808 3451
+-75.71 39.808 3451
+-75.584 39.808 3452
+-75.458 39.808 3452
+-75.332 39.808 3452
+-75.206 39.808 3453
+-75.08 39.808 3453
+-74.954 39.808 3454
+-74.828 39.808 3454
+-74.702 39.808 3454
+-74.576 39.808 3455
+-74.45 39.808 3455
+-74.324 39.808 3384
+-74.198 39.808 3384
+-74.072 39.808 3383
+-73.946 39.808 3383
+-73.82 39.808 3383
+-73.694 39.808 3382
+-73.568 39.808 3382
+-73.442 39.808 3382
+-73.316 39.808 3381
+-73.19 39.808 3381
+-73.064 39.808 3381
+-72.938 39.808 3380
+-72.812 39.808 3380
+-72.686 39.808 3380
+-72.56 39.808 3380
+-72.434 39.808 3379
+-72.308 39.808 3379
+-72.182 39.808 3379
+-72.056 39.808 3378
+-71.93 39.808 3378
+-71.804 39.808 3378
+-71.678 39.808 3378
+-71.552 39.808 3377
+-71.426 39.808 3377
+-71.3 39.808 3377
+-71.174 39.808 3070
+-71.048 39.808 3069
+-70.922 39.808 3069
+-70.796 39.808 3068
+-70.67 39.808 3067
+-70.544 39.808 3066
+-70.418 39.808 3065
+-70.292 39.808 3065
+-70.166 39.808 3064
+-70.04 39.808 3063
+-69.914 39.808 3062
+-69.788 39.808 3062
+-69.662 39.808 3061
+-69.536 39.808 3060
+-69.41 39.808 3059
+-69.284 39.808 3059
+-69.158 39.808 3058
+-69.032 39.808 3058
+-68.906 39.808 2931
+-68.78 39.808 2930
+-68.654 39.808 2900
+-68.528 39.808 2852
+-68.402 39.808 2852
+-68.276 39.808 2851
+-68.15 39.808 2866
+-68.024 39.808 2865
+-67.898 39.808 2876
+-67.772 39.808 2876
+-67.646 39.808 2834
+-67.52 39.808 2796
+-67.394 39.808 2796
+-67.268 39.808 2796
+-67.142 39.808 2795
+-67.016 39.808 2815
+-66.89 39.808 2821
+-66.764 39.808 2831
+-66.638 39.808 2828
+-66.512 39.808 2869
+-66.386 39.808 2880
+-66.26 39.808 2881
+-66.134 39.808 2943
+-66.008 39.808 2966
+-65.882 39.808 2941
+-65.756 39.808 2928
+-65.63 39.808 3092
+-65.504 39.808 3093
+-65.378 39.808 3162
+-65.252 39.808 3163
+-65.126 39.808 3164
+-128 39.756 2578
+-127.874 39.756 2576
+-127.748 39.756 2574
+-127.622 39.756 2514
+-127.496 39.756 2504
+-127.37 39.756 2502
+-127.244 39.756 2501
+-127.118 39.756 2500
+-126.992 39.756 2499
+-126.866 39.756 2475
+-126.74 39.756 2479
+-126.614 39.756 2477
+-126.488 39.756 2463
+-126.362 39.756 2460
+-126.236 39.756 2423
+-126.11 39.756 2419
+-125.984 39.756 2414
+-125.858 39.756 2389
+-125.732 39.756 2362
+-125.606 39.756 2339
+-125.48 39.756 2327
+-125.354 39.756 2319
+-125.228 39.756 2310
+-125.102 39.756 2303
+-124.976 39.756 2277
+-124.85 39.756 2279
+-124.724 39.756 2252
+-124.598 39.756 2230
+-124.472 39.756 2217
+-124.346 39.756 2203
+-124.22 39.756 2190
+-124.094 39.756 2207
+-123.968 39.756 2191
+-123.842 39.756 2167
+-123.716 39.756 2145
+-123.59 39.756 2110
+-123.464 39.756 2079
+-123.338 39.756 2049
+-123.212 39.756 2024
+-123.086 39.756 2018
+-122.96 39.756 2038
+-122.834 39.756 2081
+-122.708 39.756 2138
+-122.582 39.756 2205
+-122.456 39.756 2272
+-122.33 39.756 2320
+-122.204 39.756 2405
+-122.078 39.756 2446
+-121.952 39.756 2481
+-121.826 39.756 2529
+-121.7 39.756 2562
+-121.574 39.756 2593
+-121.448 39.756 2609
+-121.322 39.756 2605
+-121.196 39.756 2584
+-121.07 39.756 2562
+-120.944 39.756 2536
+-120.818 39.756 2535
+-120.692 39.756 2522
+-120.566 39.756 2511
+-120.44 39.756 2560
+-120.314 39.756 2667
+-120.188 39.756 2773
+-120.062 39.756 2857
+-119.936 39.756 2893
+-119.81 39.756 2907
+-119.684 39.756 2935
+-119.558 39.756 2990
+-119.432 39.756 3055
+-119.306 39.756 3112
+-119.18 39.756 3137
+-119.054 39.756 3157
+-118.928 39.756 3187
+-118.802 39.756 3239
+-118.676 39.756 3285
+-118.55 39.756 3321
+-118.424 39.756 3332
+-118.298 39.756 3343
+-118.172 39.756 3315
+-118.046 39.756 3331
+-117.92 39.756 3347
+-117.794 39.756 3374
+-117.668 39.756 3386
+-117.542 39.756 3396
+-117.416 39.756 3393
+-117.29 39.756 3401
+-117.164 39.756 3410
+-117.038 39.756 3372
+-116.912 39.756 3344
+-116.786 39.756 3322
+-116.66 39.756 3293
+-116.534 39.756 3239
+-116.408 39.756 3204
+-116.282 39.756 3176
+-116.156 39.756 3164
+-116.03 39.756 3138
+-115.904 39.756 3113
+-115.778 39.756 3097
+-115.652 39.756 3086
+-115.526 39.756 3077
+-115.4 39.756 3061
+-115.274 39.756 3040
+-115.148 39.756 3026
+-115.022 39.756 2997
+-114.896 39.756 2921
+-114.77 39.756 2838
+-114.644 39.756 2798
+-114.518 39.756 2805
+-114.392 39.756 2797
+-114.266 39.756 2788
+-114.14 39.756 2759
+-114.014 39.756 2767
+-113.888 39.756 2700
+-113.762 39.756 2681
+-113.636 39.756 2651
+-113.51 39.756 2621
+-113.384 39.756 2583
+-113.258 39.756 2513
+-113.132 39.756 2457
+-113.006 39.756 2377
+-112.88 39.756 2321
+-112.754 39.756 2223
+-112.628 39.756 2133
+-112.502 39.756 2004
+-112.376 39.756 1902
+-112.25 39.756 1795
+-112.124 39.756 1703
+-111.998 39.756 1595
+-111.872 39.756 1499
+-111.746 39.756 1423
+-111.62 39.756 1383
+-111.494 39.756 1377
+-111.368 39.756 1390
+-111.242 39.756 1438
+-111.116 39.756 1501
+-110.99 39.756 1590
+-110.864 39.756 1662
+-110.738 39.756 1667
+-110.612 39.756 1709
+-110.486 39.756 1764
+-110.36 39.756 1814
+-110.234 39.756 1859
+-110.108 39.756 1881
+-109.982 39.756 1918
+-109.856 39.756 1951
+-109.73 39.756 1980
+-109.604 39.756 2009
+-109.478 39.756 2034
+-109.352 39.756 2056
+-109.226 39.756 2070
+-109.1 39.756 2111
+-108.974 39.756 2122
+-108.848 39.756 2139
+-108.722 39.756 2154
+-108.596 39.756 2135
+-108.47 39.756 2117
+-108.344 39.756 2142
+-108.218 39.756 2154
+-108.092 39.756 2164
+-107.966 39.756 2179
+-107.84 39.756 2188
+-107.714 39.756 2193
+-107.588 39.756 2202
+-107.462 39.756 2224
+-107.336 39.756 2218
+-107.21 39.756 2237
+-107.084 39.756 2290
+-106.958 39.756 2298
+-106.832 39.756 2305
+-106.706 39.756 2312
+-106.58 39.756 2318
+-106.454 39.756 2324
+-106.328 39.756 2330
+-106.202 39.756 2358
+-106.076 39.756 2364
+-105.95 39.756 2420
+-105.824 39.756 2426
+-105.698 39.756 2452
+-105.572 39.756 2458
+-105.446 39.756 2449
+-105.32 39.756 2410
+-105.194 39.756 2352
+-105.068 39.756 2346
+-104.942 39.756 2341
+-104.816 39.756 2334
+-104.69 39.756 2326
+-104.564 39.756 2474
+-104.438 39.756 2416
+-104.312 39.756 2428
+-104.186 39.756 2415
+-104.06 39.756 2427
+-103.934 39.756 2323
+-103.808 39.756 2330
+-103.682 39.756 2317
+-103.556 39.756 2262
+-103.43 39.756 2228
+-103.304 39.756 2235
+-103.178 39.756 2271
+-103.052 39.756 2341
+-102.926 39.756 2362
+-102.8 39.756 2373
+-102.674 39.756 2371
+-102.548 39.756 2369
+-102.422 39.756 2367
+-102.296 39.756 2383
+-102.17 39.756 2380
+-102.044 39.756 2377
+-101.918 39.756 2374
+-101.792 39.756 2417
+-101.666 39.756 2455
+-101.54 39.756 2450
+-101.414 39.756 2446
+-101.288 39.756 2485
+-101.162 39.756 2480
+-101.036 39.756 2475
+-100.91 39.756 2469
+-100.784 39.756 2578
+-100.658 39.756 2625
+-100.532 39.756 2617
+-100.406 39.756 2609
+-100.28 39.756 2602
+-100.154 39.756 2596
+-100.028 39.756 2677
+-99.902 39.756 2671
+-99.776 39.756 2667
+-99.65 39.756 2663
+-99.524 39.756 2661
+-99.398 39.756 2661
+-99.272 39.756 2679
+-99.146 39.756 2699
+-99.02 39.756 2704
+-98.894 39.756 2878
+-98.768 39.756 2885
+-98.642 39.756 2893
+-98.516 39.756 2900
+-98.39 39.756 2906
+-98.264 39.756 2911
+-98.138 39.756 2912
+-98.012 39.756 2909
+-97.886 39.756 2959
+-97.76 39.756 2980
+-97.634 39.756 2948
+-97.508 39.756 2901
+-97.382 39.756 2850
+-97.256 39.756 2750
+-97.13 39.756 2613
+-97.004 39.756 2460
+-96.878 39.756 2374
+-96.752 39.756 2491
+-96.626 39.756 2785
+-96.5 39.756 3074
+-96.374 39.756 3308
+-96.248 39.756 3494
+-96.122 39.756 3668
+-95.996 39.756 3841
+-95.87 39.756 3987
+-95.744 39.756 4106
+-95.618 39.756 4242
+-95.492 39.756 4358
+-95.366 39.756 4332
+-95.24 39.756 4312
+-95.114 39.756 4467
+-94.988 39.756 4656
+-94.862 39.756 4725
+-94.736 39.756 4669
+-94.61 39.756 4861
+-94.484 39.756 5023
+-94.358 39.756 5167
+-94.232 39.756 5322
+-94.106 39.756 5436
+-93.98 39.756 5477
+-93.854 39.756 5639
+-93.728 39.756 5757
+-93.602 39.756 5893
+-93.476 39.756 5967
+-93.35 39.756 6092
+-93.224 39.756 6262
+-93.098 39.756 6370
+-92.972 39.756 6486
+-92.846 39.756 6560
+-92.72 39.756 6787
+-92.594 39.756 6857
+-92.468 39.756 7017
+-92.342 39.756 7115
+-92.216 39.756 7238
+-92.09 39.756 7322
+-91.964 39.756 7450
+-91.838 39.756 7577
+-91.712 39.756 7672
+-91.586 39.756 7801
+-91.46 39.756 7920
+-91.334 39.756 7990
+-91.208 39.756 8070
+-91.082 39.756 8187
+-90.956 39.756 8253
+-90.83 39.756 8292
+-90.704 39.756 8324
+-90.578 39.756 8339
+-90.452 39.756 8383
+-90.326 39.756 8355
+-90.2 39.756 8334
+-90.074 39.756 8284
+-89.948 39.756 8232
+-89.822 39.756 8180
+-89.696 39.756 8083
+-89.57 39.756 7995
+-89.444 39.756 7904
+-89.318 39.756 7763
+-89.192 39.756 7725
+-89.066 39.756 7590
+-88.94 39.756 7552
+-88.814 39.756 7416
+-88.688 39.756 7380
+-88.562 39.756 7467
+-88.436 39.756 7412
+-88.31 39.756 7439
+-88.184 39.756 7395
+-88.058 39.756 7368
+-87.932 39.756 7277
+-87.806 39.756 7226
+-87.68 39.756 7187
+-87.554 39.756 7083
+-87.428 39.756 7022
+-87.302 39.756 6949
+-87.176 39.756 6863
+-87.05 39.756 6761
+-86.924 39.756 6694
+-86.798 39.756 6562
+-86.672 39.756 6445
+-86.546 39.756 6375
+-86.42 39.756 6255
+-86.294 39.756 6169
+-86.168 39.756 6073
+-86.042 39.756 5961
+-85.916 39.756 5815
+-85.79 39.756 5651
+-85.664 39.756 5616
+-85.538 39.756 5464
+-85.412 39.756 5333
+-85.286 39.756 5266
+-85.16 39.756 5101
+-85.034 39.756 4928
+-84.908 39.756 4890
+-84.782 39.756 4742
+-84.656 39.756 4589
+-84.53 39.756 4637
+-84.404 39.756 4582
+-84.278 39.756 4477
+-84.152 39.756 4379
+-84.026 39.756 4250
+-83.9 39.756 4112
+-83.774 39.756 4003
+-83.648 39.756 3956
+-83.522 39.756 3915
+-83.396 39.756 3845
+-83.27 39.756 3759
+-83.144 39.756 3672
+-83.018 39.756 3631
+-82.892 39.756 3655
+-82.766 39.756 3694
+-82.64 39.756 3718
+-82.514 39.756 3712
+-82.388 39.756 3707
+-82.262 39.756 3729
+-82.136 39.756 3748
+-82.01 39.756 3764
+-81.884 39.756 3745
+-81.758 39.756 3756
+-81.632 39.756 3766
+-81.506 39.756 3774
+-81.38 39.756 3782
+-81.254 39.756 3757
+-81.128 39.756 3683
+-81.002 39.756 3688
+-80.876 39.756 3693
+-80.75 39.756 3696
+-80.624 39.756 3700
+-80.498 39.756 3703
+-80.372 39.756 3706
+-80.246 39.756 3662
+-80.12 39.756 3623
+-79.994 39.756 3573
+-79.868 39.756 3601
+-79.742 39.756 3603
+-79.616 39.756 3605
+-79.49 39.756 3606
+-79.364 39.756 3608
+-79.238 39.756 3555
+-79.112 39.756 3555
+-78.986 39.756 3556
+-78.86 39.756 3556
+-78.734 39.756 3557
+-78.608 39.756 3557
+-78.482 39.756 3557
+-78.356 39.756 3557
+-78.23 39.756 3558
+-78.104 39.756 3558
+-77.978 39.756 3534
+-77.852 39.756 3524
+-77.726 39.756 3525
+-77.6 39.756 3525
+-77.474 39.756 3526
+-77.348 39.756 3526
+-77.222 39.756 3511
+-77.096 39.756 3511
+-76.97 39.756 3511
+-76.844 39.756 3511
+-76.718 39.756 3511
+-76.592 39.756 3512
+-76.466 39.756 3512
+-76.34 39.756 3512
+-76.214 39.756 3512
+-76.088 39.756 3450
+-75.962 39.756 3451
+-75.836 39.756 3451
+-75.71 39.756 3452
+-75.584 39.756 3452
+-75.458 39.756 3452
+-75.332 39.756 3453
+-75.206 39.756 3453
+-75.08 39.756 3454
+-74.954 39.756 3454
+-74.828 39.756 3454
+-74.702 39.756 3455
+-74.576 39.756 3455
+-74.45 39.756 3384
+-74.324 39.756 3384
+-74.198 39.756 3383
+-74.072 39.756 3383
+-73.946 39.756 3383
+-73.82 39.756 3382
+-73.694 39.756 3382
+-73.568 39.756 3382
+-73.442 39.756 3381
+-73.316 39.756 3381
+-73.19 39.756 3381
+-73.064 39.756 3380
+-72.938 39.756 3380
+-72.812 39.756 3380
+-72.686 39.756 3379
+-72.56 39.756 3379
+-72.434 39.756 3379
+-72.308 39.756 3379
+-72.182 39.756 3378
+-72.056 39.756 3378
+-71.93 39.756 3378
+-71.804 39.756 3378
+-71.678 39.756 3377
+-71.552 39.756 3377
+-71.426 39.756 3377
+-71.3 39.756 3070
+-71.174 39.756 3069
+-71.048 39.756 3069
+-70.922 39.756 3068
+-70.796 39.756 3067
+-70.67 39.756 3066
+-70.544 39.756 3065
+-70.418 39.756 3064
+-70.292 39.756 3064
+-70.166 39.756 3063
+-70.04 39.756 3062
+-69.914 39.756 3061
+-69.788 39.756 3061
+-69.662 39.756 3060
+-69.536 39.756 3059
+-69.41 39.756 3059
+-69.284 39.756 3058
+-69.158 39.756 3057
+-69.032 39.756 2931
+-68.906 39.756 2930
+-68.78 39.756 2899
+-68.654 39.756 2852
+-68.528 39.756 2851
+-68.402 39.756 2850
+-68.276 39.756 2866
+-68.15 39.756 2865
+-68.024 39.756 2876
+-67.898 39.756 2875
+-67.772 39.756 2834
+-67.646 39.756 2796
+-67.52 39.756 2795
+-67.394 39.756 2795
+-67.268 39.756 2795
+-67.142 39.756 2815
+-67.016 39.756 2821
+-66.89 39.756 2830
+-66.764 39.756 2828
+-66.638 39.756 2868
+-66.512 39.756 2879
+-66.386 39.756 2880
+-66.26 39.756 2942
+-66.134 39.756 2965
+-66.008 39.756 2940
+-65.882 39.756 2928
+-65.756 39.756 3091
+-65.63 39.756 3092
+-65.504 39.756 3161
+-65.378 39.756 3162
+-65.252 39.756 3163
+-65.126 39.756 3164
+-128 39.704 2580
+-127.874 39.704 2578
+-127.748 39.704 2515
+-127.622 39.704 2505
+-127.496 39.704 2503
+-127.37 39.704 2502
+-127.244 39.704 2500
+-127.118 39.704 2498
+-126.992 39.704 2474
+-126.866 39.704 2477
+-126.74 39.704 2475
+-126.614 39.704 2461
+-126.488 39.704 2458
+-126.362 39.704 2421
+-126.236 39.704 2417
+-126.11 39.704 2412
+-125.984 39.704 2388
+-125.858 39.704 2362
+-125.732 39.704 2342
+-125.606 39.704 2329
+-125.48 39.704 2322
+-125.354 39.704 2314
+-125.228 39.704 2309
+-125.102 39.704 2291
+-124.976 39.704 2291
+-124.85 39.704 2270
+-124.724 39.704 2249
+-124.598 39.704 2238
+-124.472 39.704 2226
+-124.346 39.704 2207
+-124.22 39.704 2209
+-124.094 39.704 2219
+-123.968 39.704 2179
+-123.842 39.704 2165
+-123.716 39.704 2161
+-123.59 39.704 2142
+-123.464 39.704 2121
+-123.338 39.704 2101
+-123.212 39.704 2089
+-123.086 39.704 2092
+-122.96 39.704 2110
+-122.834 39.704 2144
+-122.708 39.704 2197
+-122.582 39.704 2252
+-122.456 39.704 2303
+-122.33 39.704 2351
+-122.204 39.704 2385
+-122.078 39.704 2423
+-121.952 39.704 2477
+-121.826 39.704 2547
+-121.7 39.704 2566
+-121.574 39.704 2577
+-121.448 39.704 2624
+-121.322 39.704 2626
+-121.196 39.704 2591
+-121.07 39.704 2538
+-120.944 39.704 2487
+-120.818 39.704 2464
+-120.692 39.704 2504
+-120.566 39.704 2571
+-120.44 39.704 2638
+-120.314 39.704 2731
+-120.188 39.704 2822
+-120.062 39.704 2893
+-119.936 39.704 2905
+-119.81 39.704 2893
+-119.684 39.704 2929
+-119.558 39.704 3012
+-119.432 39.704 3092
+-119.306 39.704 3151
+-119.18 39.704 3205
+-119.054 39.704 3238
+-118.928 39.704 3294
+-118.802 39.704 3324
+-118.676 39.704 3373
+-118.55 39.704 3392
+-118.424 39.704 3413
+-118.298 39.704 3419
+-118.172 39.704 3413
+-118.046 39.704 3429
+-117.92 39.704 3445
+-117.794 39.704 3464
+-117.668 39.704 3478
+-117.542 39.704 3479
+-117.416 39.704 3491
+-117.29 39.704 3501
+-117.164 39.704 3511
+-117.038 39.704 3478
+-116.912 39.704 3445
+-116.786 39.704 3400
+-116.66 39.704 3369
+-116.534 39.704 3304
+-116.408 39.704 3260
+-116.282 39.704 3220
+-116.156 39.704 3201
+-116.03 39.704 3165
+-115.904 39.704 3143
+-115.778 39.704 3133
+-115.652 39.704 3131
+-115.526 39.704 3131
+-115.4 39.704 3113
+-115.274 39.704 3066
+-115.148 39.704 3039
+-115.022 39.704 3026
+-114.896 39.704 2940
+-114.77 39.704 2823
+-114.644 39.704 2772
+-114.518 39.704 2801
+-114.392 39.704 2823
+-114.266 39.704 2833
+-114.14 39.704 2848
+-114.014 39.704 2845
+-113.888 39.704 2777
+-113.762 39.704 2731
+-113.636 39.704 2721
+-113.51 39.704 2692
+-113.384 39.704 2634
+-113.258 39.704 2590
+-113.132 39.704 2556
+-113.006 39.704 2493
+-112.88 39.704 2450
+-112.754 39.704 2360
+-112.628 39.704 2277
+-112.502 39.704 2130
+-112.376 39.704 2030
+-112.25 39.704 1937
+-112.124 39.704 1841
+-111.998 39.704 1750
+-111.872 39.704 1665
+-111.746 39.704 1604
+-111.62 39.704 1567
+-111.494 39.704 1538
+-111.368 39.704 1549
+-111.242 39.704 1580
+-111.116 39.704 1647
+-110.99 39.704 1701
+-110.864 39.704 1738
+-110.738 39.704 1770
+-110.612 39.704 1822
+-110.486 39.704 1821
+-110.36 39.704 1863
+-110.234 39.704 1883
+-110.108 39.704 1919
+-109.982 39.704 1952
+-109.856 39.704 1981
+-109.73 39.704 2006
+-109.604 39.704 2066
+-109.478 39.704 2088
+-109.352 39.704 2070
+-109.226 39.704 2109
+-109.1 39.704 2122
+-108.974 39.704 2138
+-108.848 39.704 2154
+-108.722 39.704 2136
+-108.596 39.704 2117
+-108.47 39.704 2143
+-108.344 39.704 2155
+-108.218 39.704 2165
+-108.092 39.704 2179
+-107.966 39.704 2189
+-107.84 39.704 2194
+-107.714 39.704 2203
+-107.588 39.704 2225
+-107.462 39.704 2220
+-107.336 39.704 2238
+-107.21 39.704 2290
+-107.084 39.704 2298
+-106.958 39.704 2305
+-106.832 39.704 2312
+-106.706 39.704 2318
+-106.58 39.704 2324
+-106.454 39.704 2330
+-106.328 39.704 2358
+-106.202 39.704 2364
+-106.076 39.704 2419
+-105.95 39.704 2424
+-105.824 39.704 2450
+-105.698 39.704 2456
+-105.572 39.704 2487
+-105.446 39.704 2472
+-105.32 39.704 2471
+-105.194 39.704 2361
+-105.068 39.704 2356
+-104.942 39.704 2350
+-104.816 39.704 2344
+-104.69 39.704 2492
+-104.564 39.704 2435
+-104.438 39.704 2448
+-104.312 39.704 2437
+-104.186 39.704 2451
+-104.06 39.704 2438
+-103.934 39.704 2333
+-103.808 39.704 2340
+-103.682 39.704 2327
+-103.556 39.704 2273
+-103.43 39.704 2239
+-103.304 39.704 2245
+-103.178 39.704 2240
+-103.052 39.704 2318
+-102.926 39.704 2347
+-102.8 39.704 2371
+-102.674 39.704 2382
+-102.548 39.704 2381
+-102.422 39.704 2380
+-102.296 39.704 2397
+-102.17 39.704 2395
+-102.044 39.704 2392
+-101.918 39.704 2390
+-101.792 39.704 2432
+-101.666 39.704 2472
+-101.54 39.704 2468
+-101.414 39.704 2464
+-101.288 39.704 2460
+-101.162 39.704 2501
+-101.036 39.704 2497
+-100.91 39.704 2608
+-100.784 39.704 2601
+-100.658 39.704 2594
+-100.532 39.704 2643
+-100.406 39.704 2637
+-100.28 39.704 2632
+-100.154 39.704 2663
+-100.028 39.704 2658
+-99.902 39.704 2706
+-99.776 39.704 2703
+-99.65 39.704 2702
+-99.524 39.704 2701
+-99.398 39.704 2701
+-99.272 39.704 2703
+-99.146 39.704 2747
+-99.02 39.704 2912
+-98.894 39.704 2917
+-98.768 39.704 2912
+-98.642 39.704 2927
+-98.516 39.704 2933
+-98.39 39.704 2937
+-98.264 39.704 2942
+-98.138 39.704 2950
+-98.012 39.704 3001
+-97.886 39.704 2989
+-97.76 39.704 2969
+-97.634 39.704 2959
+-97.508 39.704 2950
+-97.382 39.704 2882
+-97.256 39.704 2789
+-97.13 39.704 2665
+-97.004 39.704 2547
+-96.878 39.704 2481
+-96.752 39.704 2592
+-96.626 39.704 2830
+-96.5 39.704 3114
+-96.374 39.704 3334
+-96.248 39.704 3513
+-96.122 39.704 3661
+-95.996 39.704 3825
+-95.87 39.704 3972
+-95.744 39.704 4142
+-95.618 39.704 4289
+-95.492 39.704 4402
+-95.366 39.704 4444
+-95.24 39.704 4502
+-95.114 39.704 4597
+-94.988 39.704 4692
+-94.862 39.704 4762
+-94.736 39.704 4809
+-94.61 39.704 4929
+-94.484 39.704 4972
+-94.358 39.704 5139
+-94.232 39.704 5305
+-94.106 39.704 5328
+-93.98 39.704 5534
+-93.854 39.704 5619
+-93.728 39.704 5750
+-93.602 39.704 5880
+-93.476 39.704 5958
+-93.35 39.704 6106
+-93.224 39.704 6218
+-93.098 39.704 6405
+-92.972 39.704 6500
+-92.846 39.704 6641
+-92.72 39.704 6771
+-92.594 39.704 6951
+-92.468 39.704 7030
+-92.342 39.704 7166
+-92.216 39.704 7263
+-92.09 39.704 7354
+-91.964 39.704 7485
+-91.838 39.704 7612
+-91.712 39.704 7696
+-91.586 39.704 7850
+-91.46 39.704 7926
+-91.334 39.704 7992
+-91.208 39.704 8168
+-91.082 39.704 8202
+-90.956 39.704 8273
+-90.83 39.704 8336
+-90.704 39.704 8372
+-90.578 39.704 8418
+-90.452 39.704 8411
+-90.326 39.704 8404
+-90.2 39.704 8381
+-90.074 39.704 8391
+-89.948 39.704 8287
+-89.822 39.704 8196
+-89.696 39.704 8148
+-89.57 39.704 8039
+-89.444 39.704 7947
+-89.318 39.704 7866
+-89.192 39.704 7782
+-89.066 39.704 7653
+-88.94 39.704 7515
+-88.814 39.704 7418
+-88.688 39.704 7298
+-88.562 39.704 7464
+-88.436 39.704 7501
+-88.31 39.704 7484
+-88.184 39.704 7439
+-88.058 39.704 7382
+-87.932 39.704 7335
+-87.806 39.704 7276
+-87.68 39.704 7180
+-87.554 39.704 7123
+-87.428 39.704 7089
+-87.302 39.704 7000
+-87.176 39.704 6906
+-87.05 39.704 6805
+-86.924 39.704 6695
+-86.798 39.704 6601
+-86.672 39.704 6503
+-86.546 39.704 6359
+-86.42 39.704 6241
+-86.294 39.704 6228
+-86.168 39.704 6111
+-86.042 39.704 5968
+-85.916 39.704 5800
+-85.79 39.704 5778
+-85.664 39.704 5693
+-85.538 39.704 5506
+-85.412 39.704 5390
+-85.286 39.704 5267
+-85.16 39.704 5140
+-85.034 39.704 5020
+-84.908 39.704 4951
+-84.782 39.704 4803
+-84.656 39.704 4700
+-84.53 39.704 4637
+-84.404 39.704 4510
+-84.278 39.704 4401
+-84.152 39.704 4347
+-84.026 39.704 4246
+-83.9 39.704 4005
+-83.774 39.704 3866
+-83.648 39.704 3884
+-83.522 39.704 3882
+-83.396 39.704 3782
+-83.27 39.704 3635
+-83.144 39.704 3534
+-83.018 39.704 3519
+-82.892 39.704 3570
+-82.766 39.704 3642
+-82.64 39.704 3700
+-82.514 39.704 3709
+-82.388 39.704 3745
+-82.262 39.704 3737
+-82.136 39.704 3757
+-82.01 39.704 3774
+-81.884 39.704 3788
+-81.758 39.704 3767
+-81.632 39.704 3795
+-81.506 39.704 3803
+-81.38 39.704 3791
+-81.254 39.704 3688
+-81.128 39.704 3693
+-81.002 39.704 3697
+-80.876 39.704 3701
+-80.75 39.704 3704
+-80.624 39.704 3707
+-80.498 39.704 3714
+-80.372 39.704 3667
+-80.246 39.704 3627
+-80.12 39.704 3576
+-79.994 39.704 3604
+-79.868 39.704 3606
+-79.742 39.704 3607
+-79.616 39.704 3609
+-79.49 39.704 3610
+-79.364 39.704 3557
+-79.238 39.704 3557
+-79.112 39.704 3558
+-78.986 39.704 3558
+-78.86 39.704 3558
+-78.734 39.704 3558
+-78.608 39.704 3559
+-78.482 39.704 3559
+-78.356 39.704 3559
+-78.23 39.704 3559
+-78.104 39.704 3535
+-77.978 39.704 3525
+-77.852 39.704 3526
+-77.726 39.704 3526
+-77.6 39.704 3527
+-77.474 39.704 3527
+-77.348 39.704 3511
+-77.222 39.704 3512
+-77.096 39.704 3512
+-76.97 39.704 3512
+-76.844 39.704 3512
+-76.718 39.704 3512
+-76.592 39.704 3513
+-76.466 39.704 3513
+-76.34 39.704 3513
+-76.214 39.704 3450
+-76.088 39.704 3451
+-75.962 39.704 3451
+-75.836 39.704 3452
+-75.71 39.704 3452
+-75.584 39.704 3453
+-75.458 39.704 3453
+-75.332 39.704 3453
+-75.206 39.704 3454
+-75.08 39.704 3454
+-74.954 39.704 3454
+-74.828 39.704 3455
+-74.702 39.704 3455
+-74.576 39.704 3384
+-74.45 39.704 3384
+-74.324 39.704 3383
+-74.198 39.704 3383
+-74.072 39.704 3383
+-73.946 39.704 3382
+-73.82 39.704 3382
+-73.694 39.704 3382
+-73.568 39.704 3381
+-73.442 39.704 3381
+-73.316 39.704 3381
+-73.19 39.704 3380
+-73.064 39.704 3380
+-72.938 39.704 3380
+-72.812 39.704 3379
+-72.686 39.704 3379
+-72.56 39.704 3379
+-72.434 39.704 3379
+-72.308 39.704 3378
+-72.182 39.704 3378
+-72.056 39.704 3378
+-71.93 39.704 3378
+-71.804 39.704 3377
+-71.678 39.704 3377
+-71.552 39.704 3377
+-71.426 39.704 3070
+-71.3 39.704 3070
+-71.174 39.704 3069
+-71.048 39.704 3068
+-70.922 39.704 3067
+-70.796 39.704 3066
+-70.67 39.704 3065
+-70.544 39.704 3064
+-70.418 39.704 3064
+-70.292 39.704 3063
+-70.166 39.704 3062
+-70.04 39.704 3061
+-69.914 39.704 3061
+-69.788 39.704 3060
+-69.662 39.704 3059
+-69.536 39.704 3058
+-69.41 39.704 3058
+-69.284 39.704 3057
+-69.158 39.704 2931
+-69.032 39.704 2930
+-68.906 39.704 2899
+-68.78 39.704 2852
+-68.654 39.704 2851
+-68.528 39.704 2850
+-68.402 39.704 2865
+-68.276 39.704 2865
+-68.15 39.704 2876
+-68.024 39.704 2875
+-67.898 39.704 2834
+-67.772 39.704 2795
+-67.646 39.704 2795
+-67.52 39.704 2795
+-67.394 39.704 2794
+-67.268 39.704 2814
+-67.142 39.704 2820
+-67.016 39.704 2830
+-66.89 39.704 2827
+-66.764 39.704 2867
+-66.638 39.704 2879
+-66.512 39.704 2879
+-66.386 39.704 2941
+-66.26 39.704 2964
+-66.134 39.704 2939
+-66.008 39.704 2927
+-65.882 39.704 3090
+-65.756 39.704 3091
+-65.63 39.704 3160
+-65.504 39.704 3161
+-65.378 39.704 3162
+-65.252 39.704 3163
+-65.126 39.704 3164
+-128 39.652 2581
+-127.874 39.652 2517
+-127.748 39.652 2506
+-127.622 39.652 2504
+-127.496 39.652 2502
+-127.37 39.652 2500
+-127.244 39.652 2498
+-127.118 39.652 2473
+-126.992 39.652 2477
+-126.866 39.652 2474
+-126.74 39.652 2460
+-126.614 39.652 2457
+-126.488 39.652 2420
+-126.362 39.652 2416
+-126.236 39.652 2411
+-126.11 39.652 2387
+-125.984 39.652 2361
+-125.858 39.652 2343
+-125.732 39.652 2338
+-125.606 39.652 2324
+-125.48 39.652 2307
+-125.354 39.652 2299
+-125.228 39.652 2298
+-125.102 39.652 2300
+-124.976 39.652 2280
+-124.85 39.652 2261
+-124.724 39.652 2251
+-124.598 39.652 2242
+-124.472 39.652 2223
+-124.346 39.652 2230
+-124.22 39.652 2220
+-124.094 39.652 2225
+-123.968 39.652 2213
+-123.842 39.652 2200
+-123.716 39.652 2181
+-123.59 39.652 2170
+-123.464 39.652 2157
+-123.338 39.652 2147
+-123.212 39.652 2148
+-123.086 39.652 2153
+-122.96 39.652 2171
+-122.834 39.652 2205
+-122.708 39.652 2243
+-122.582 39.652 2285
+-122.456 39.652 2333
+-122.33 39.652 2364
+-122.204 39.652 2424
+-122.078 39.652 2461
+-121.952 39.652 2493
+-121.826 39.652 2521
+-121.7 39.652 2584
+-121.574 39.652 2618
+-121.448 39.652 2639
+-121.322 39.652 2620
+-121.196 39.652 2597
+-121.07 39.652 2535
+-120.944 39.652 2462
+-120.818 39.652 2412
+-120.692 39.652 2478
+-120.566 39.652 2596
+-120.44 39.652 2701
+-120.314 39.652 2797
+-120.188 39.652 2876
+-120.062 39.652 2922
+-119.936 39.652 2934
+-119.81 39.652 2933
+-119.684 39.652 2975
+-119.558 39.652 3062
+-119.432 39.652 3147
+-119.306 39.652 3214
+-119.18 39.652 3266
+-119.054 39.652 3308
+-118.928 39.652 3385
+-118.802 39.652 3415
+-118.676 39.652 3463
+-118.55 39.652 3481
+-118.424 39.652 3504
+-118.298 39.652 3514
+-118.172 39.652 3511
+-118.046 39.652 3534
+-117.92 39.652 3550
+-117.794 39.652 3568
+-117.668 39.652 3580
+-117.542 39.652 3592
+-117.416 39.652 3589
+-117.29 39.652 3597
+-117.164 39.652 3614
+-117.038 39.652 3579
+-116.912 39.652 3572
+-116.786 39.652 3534
+-116.66 39.652 3515
+-116.534 39.652 3496
+-116.408 39.652 3432
+-116.282 39.652 3347
+-116.156 39.652 3318
+-116.03 39.652 3294
+-115.904 39.652 3249
+-115.778 39.652 3230
+-115.652 39.652 3209
+-115.526 39.652 3214
+-115.4 39.652 3214
+-115.274 39.652 3143
+-115.148 39.652 3066
+-115.022 39.652 3041
+-114.896 39.652 2974
+-114.77 39.652 2877
+-114.644 39.652 2818
+-114.518 39.652 2842
+-114.392 39.652 2859
+-114.266 39.652 2890
+-114.14 39.652 2898
+-114.014 39.652 2900
+-113.888 39.652 2829
+-113.762 39.652 2825
+-113.636 39.652 2805
+-113.51 39.652 2735
+-113.384 39.652 2702
+-113.258 39.652 2661
+-113.132 39.652 2638
+-113.006 39.652 2583
+-112.88 39.652 2523
+-112.754 39.652 2439
+-112.628 39.652 2364
+-112.502 39.652 2277
+-112.376 39.652 2170
+-112.25 39.652 2060
+-112.124 39.652 1997
+-111.998 39.652 1919
+-111.872 39.652 1850
+-111.746 39.652 1770
+-111.62 39.652 1711
+-111.494 39.652 1694
+-111.368 39.652 1696
+-111.242 39.652 1740
+-111.116 39.652 1771
+-110.99 39.652 1789
+-110.864 39.652 1807
+-110.738 39.652 1849
+-110.612 39.652 1861
+-110.486 39.652 1899
+-110.36 39.652 1913
+-110.234 39.652 1928
+-110.108 39.652 1958
+-109.982 39.652 1986
+-109.856 39.652 2010
+-109.73 39.652 2069
+-109.604 39.652 2091
+-109.478 39.652 2073
+-109.352 39.652 2054
+-109.226 39.652 2156
+-109.1 39.652 2173
+-108.974 39.652 2189
+-108.848 39.652 2137
+-108.722 39.652 2118
+-108.596 39.652 2145
+-108.47 39.652 2156
+-108.344 39.652 2167
+-108.218 39.652 2181
+-108.092 39.652 2190
+-107.966 39.652 2196
+-107.84 39.652 2205
+-107.714 39.652 2227
+-107.588 39.652 2221
+-107.462 39.652 2240
+-107.336 39.652 2290
+-107.21 39.652 2298
+-107.084 39.652 2305
+-106.958 39.652 2312
+-106.832 39.652 2318
+-106.706 39.652 2325
+-106.58 39.652 2330
+-106.454 39.652 2358
+-106.328 39.652 2364
+-106.202 39.652 2417
+-106.076 39.652 2423
+-105.95 39.652 2449
+-105.824 39.652 2454
+-105.698 39.652 2485
+-105.572 39.652 2578
+-105.446 39.652 2602
+-105.32 39.652 2476
+-105.194 39.652 2475
+-105.068 39.652 2365
+-104.942 39.652 2359
+-104.816 39.652 2509
+-104.69 39.652 2452
+-104.564 39.652 2466
+-104.438 39.652 2456
+-104.312 39.652 2472
+-104.186 39.652 2460
+-104.06 39.652 2448
+-103.934 39.652 2343
+-103.808 39.652 2350
+-103.682 39.652 2338
+-103.556 39.652 2284
+-103.43 39.652 2250
+-103.304 39.652 2255
+-103.178 39.652 2250
+-103.052 39.652 2308
+-102.926 39.652 2324
+-102.8 39.652 2355
+-102.674 39.652 2380
+-102.548 39.652 2393
+-102.422 39.652 2392
+-102.296 39.652 2410
+-102.17 39.652 2409
+-102.044 39.652 2407
+-101.918 39.652 2405
+-101.792 39.652 2447
+-101.666 39.652 2489
+-101.54 39.652 2486
+-101.414 39.652 2483
+-101.288 39.652 2480
+-101.162 39.652 2522
+-101.036 39.652 2613
+-100.91 39.652 2629
+-100.784 39.652 2623
+-100.658 39.652 2618
+-100.532 39.652 2612
+-100.406 39.652 2664
+-100.28 39.652 2697
+-100.154 39.652 2693
+-100.028 39.652 2689
+-99.902 39.652 2686
+-99.776 39.652 2737
+-99.65 39.652 2736
+-99.524 39.652 2737
+-99.398 39.652 2738
+-99.272 39.652 2765
+-99.146 39.652 2768
+-99.02 39.652 2788
+-98.894 39.652 2952
+-98.768 39.652 2958
+-98.642 39.652 2963
+-98.516 39.652 2967
+-98.39 39.652 2970
+-98.264 39.652 2971
+-98.138 39.652 2978
+-98.012 39.652 2972
+-97.886 39.652 3016
+-97.76 39.652 2997
+-97.634 39.652 2971
+-97.508 39.652 2951
+-97.382 39.652 2932
+-97.256 39.652 2860
+-97.13 39.652 2815
+-97.004 39.652 2727
+-96.878 39.652 2701
+-96.752 39.652 2789
+-96.626 39.652 2968
+-96.5 39.652 3156
+-96.374 39.652 3372
+-96.248 39.652 3536
+-96.122 39.652 3692
+-95.996 39.652 3838
+-95.87 39.652 3958
+-95.744 39.652 4122
+-95.618 39.652 4252
+-95.492 39.652 4430
+-95.366 39.652 4488
+-95.24 39.652 4557
+-95.114 39.652 4657
+-94.988 39.652 4739
+-94.862 39.652 4787
+-94.736 39.652 4809
+-94.61 39.652 4893
+-94.484 39.652 5048
+-94.358 39.652 5170
+-94.232 39.652 5277
+-94.106 39.652 5428
+-93.98 39.652 5582
+-93.854 39.652 5611
+-93.728 39.652 5731
+-93.602 39.652 5864
+-93.476 39.652 6005
+-93.35 39.652 6167
+-93.224 39.652 6279
+-93.098 39.652 6429
+-92.972 39.652 6559
+-92.846 39.652 6638
+-92.72 39.652 6804
+-92.594 39.652 6901
+-92.468 39.652 6984
+-92.342 39.652 7144
+-92.216 39.652 7239
+-92.09 39.652 7397
+-91.964 39.652 7565
+-91.838 39.652 7666
+-91.712 39.652 7800
+-91.586 39.652 7881
+-91.46 39.652 7964
+-91.334 39.652 8068
+-91.208 39.652 8168
+-91.082 39.652 8244
+-90.956 39.652 8324
+-90.83 39.652 8393
+-90.704 39.652 8453
+-90.578 39.652 8454
+-90.452 39.652 8482
+-90.326 39.652 8473
+-90.2 39.652 8434
+-90.074 39.652 8371
+-89.948 39.652 8338
+-89.822 39.652 8238
+-89.696 39.652 8172
+-89.57 39.652 8091
+-89.444 39.652 8030
+-89.318 39.652 7883
+-89.192 39.652 7716
+-89.066 39.652 7662
+-88.94 39.652 7586
+-88.814 39.652 7466
+-88.688 39.652 7350
+-88.562 39.652 7608
+-88.436 39.652 7572
+-88.31 39.652 7502
+-88.184 39.652 7484
+-88.058 39.652 7479
+-87.932 39.652 7388
+-87.806 39.652 7336
+-87.68 39.652 7260
+-87.554 39.652 7185
+-87.428 39.652 7111
+-87.302 39.652 7077
+-87.176 39.652 6989
+-87.05 39.652 6865
+-86.924 39.652 6744
+-86.798 39.652 6657
+-86.672 39.652 6565
+-86.546 39.652 6421
+-86.42 39.652 6294
+-86.294 39.652 6198
+-86.168 39.652 6102
+-86.042 39.652 6039
+-85.916 39.652 5906
+-85.79 39.652 5855
+-85.664 39.652 5730
+-85.538 39.652 5541
+-85.412 39.652 5432
+-85.286 39.652 5318
+-85.16 39.652 5174
+-85.034 39.652 5072
+-84.908 39.652 5002
+-84.782 39.652 4907
+-84.656 39.652 4779
+-84.53 39.652 4637
+-84.404 39.652 4440
+-84.278 39.652 4297
+-84.152 39.652 4343
+-84.026 39.652 4223
+-83.9 39.652 3949
+-83.774 39.652 3748
+-83.648 39.652 3838
+-83.522 39.652 3858
+-83.396 39.652 3704
+-83.27 39.652 3433
+-83.144 39.652 3277
+-83.018 39.652 3353
+-82.892 39.652 3494
+-82.766 39.652 3597
+-82.64 39.652 3685
+-82.514 39.652 3747
+-82.388 39.652 3751
+-82.262 39.652 3784
+-82.136 39.652 3768
+-82.01 39.652 3785
+-81.884 39.652 3799
+-81.758 39.652 3796
+-81.632 39.652 3806
+-81.506 39.652 3794
+-81.38 39.652 3800
+-81.254 39.652 3805
+-81.128 39.652 3702
+-81.002 39.652 3706
+-80.876 39.652 3709
+-80.75 39.652 3713
+-80.624 39.652 3718
+-80.498 39.652 3672
+-80.372 39.652 3631
+-80.246 39.652 3579
+-80.12 39.652 3607
+-79.994 39.652 3609
+-79.868 39.652 3610
+-79.742 39.652 3612
+-79.616 39.652 3613
+-79.49 39.652 3559
+-79.364 39.652 3560
+-79.238 39.652 3560
+-79.112 39.652 3560
+-78.986 39.652 3560
+-78.86 39.652 3560
+-78.734 39.652 3560
+-78.608 39.652 3560
+-78.482 39.652 3560
+-78.356 39.652 3560
+-78.23 39.652 3536
+-78.104 39.652 3527
+-77.978 39.652 3527
+-77.852 39.652 3527
+-77.726 39.652 3528
+-77.6 39.652 3528
+-77.474 39.652 3528
+-77.348 39.652 3512
+-77.222 39.652 3513
+-77.096 39.652 3513
+-76.97 39.652 3513
+-76.844 39.652 3513
+-76.718 39.652 3513
+-76.592 39.652 3513
+-76.466 39.652 3513
+-76.34 39.652 3451
+-76.214 39.652 3451
+-76.088 39.652 3451
+-75.962 39.652 3452
+-75.836 39.652 3452
+-75.71 39.652 3453
+-75.584 39.652 3453
+-75.458 39.652 3453
+-75.332 39.652 3454
+-75.206 39.652 3454
+-75.08 39.652 3454
+-74.954 39.652 3455
+-74.828 39.652 3455
+-74.702 39.652 3384
+-74.576 39.652 3384
+-74.45 39.652 3383
+-74.324 39.652 3383
+-74.198 39.652 3383
+-74.072 39.652 3382
+-73.946 39.652 3382
+-73.82 39.652 3382
+-73.694 39.652 3381
+-73.568 39.652 3381
+-73.442 39.652 3381
+-73.316 39.652 3380
+-73.19 39.652 3380
+-73.064 39.652 3380
+-72.938 39.652 3379
+-72.812 39.652 3379
+-72.686 39.652 3379
+-72.56 39.652 3378
+-72.434 39.652 3378
+-72.308 39.652 3378
+-72.182 39.652 3378
+-72.056 39.652 3377
+-71.93 39.652 3377
+-71.804 39.652 3377
+-71.678 39.652 3377
+-71.552 39.652 3070
+-71.426 39.652 3070
+-71.3 39.652 3069
+-71.174 39.652 3068
+-71.048 39.652 3067
+-70.922 39.652 3066
+-70.796 39.652 3065
+-70.67 39.652 3064
+-70.544 39.652 3063
+-70.418 39.652 3063
+-70.292 39.652 3062
+-70.166 39.652 3061
+-70.04 39.652 3060
+-69.914 39.652 3060
+-69.788 39.652 3059
+-69.662 39.652 3058
+-69.536 39.652 3058
+-69.41 39.652 3057
+-69.284 39.652 2931
+-69.158 39.652 2930
+-69.032 39.652 2899
+-68.906 39.652 2852
+-68.78 39.652 2851
+-68.654 39.652 2850
+-68.528 39.652 2865
+-68.402 39.652 2864
+-68.276 39.652 2875
+-68.15 39.652 2875
+-68.024 39.652 2834
+-67.898 39.652 2795
+-67.772 39.652 2794
+-67.646 39.652 2794
+-67.52 39.652 2794
+-67.394 39.652 2814
+-67.268 39.652 2819
+-67.142 39.652 2829
+-67.016 39.652 2827
+-66.89 39.652 2866
+-66.764 39.652 2878
+-66.638 39.652 2878
+-66.512 39.652 2940
+-66.386 39.652 2963
+-66.26 39.652 2938
+-66.134 39.652 2926
+-66.008 39.652 3089
+-65.882 39.652 3090
+-65.756 39.652 3159
+-65.63 39.652 3160
+-65.504 39.652 3161
+-65.378 39.652 3162
+-65.252 39.652 3163
+-65.126 39.652 3066
+-128 39.6 2518
+-127.874 39.6 2507
+-127.748 39.6 2505
+-127.622 39.6 2503
+-127.496 39.6 2500
+-127.37 39.6 2498
+-127.244 39.6 2473
+-127.118 39.6 2476
+-126.992 39.6 2474
+-126.866 39.6 2459
+-126.74 39.6 2456
+-126.614 39.6 2418
+-126.488 39.6 2415
+-126.362 39.6 2410
+-126.236 39.6 2387
+-126.11 39.6 2361
+-125.984 39.6 2345
+-125.858 39.6 2339
+-125.732 39.6 2325
+-125.606 39.6 2310
+-125.48 39.6 2304
+-125.354 39.6 2304
+-125.228 39.6 2307
+-125.102 39.6 2296
+-124.976 39.6 2270
+-124.85 39.6 2262
+-124.724 39.6 2253
+-124.598 39.6 2235
+-124.472 39.6 2247
+-124.346 39.6 2239
+-124.22 39.6 2222
+-124.094 39.6 2238
+-123.968 39.6 2206
+-123.842 39.6 2197
+-123.716 39.6 2201
+-123.59 39.6 2193
+-123.464 39.6 2198
+-123.338 39.6 2191
+-123.212 39.6 2193
+-123.086 39.6 2201
+-122.96 39.6 2224
+-122.834 39.6 2249
+-122.708 39.6 2292
+-122.582 39.6 2329
+-122.456 39.6 2372
+-122.33 39.6 2417
+-122.204 39.6 2443
+-122.078 39.6 2478
+-121.952 39.6 2509
+-121.826 39.6 2553
+-121.7 39.6 2574
+-121.574 39.6 2610
+-121.448 39.6 2626
+-121.322 39.6 2624
+-121.196 39.6 2595
+-121.07 39.6 2557
+-120.944 39.6 2503
+-120.818 39.6 2473
+-120.692 39.6 2540
+-120.566 39.6 2658
+-120.44 39.6 2768
+-120.314 39.6 2859
+-120.188 39.6 2936
+-120.062 39.6 2984
+-119.936 39.6 3006
+-119.81 39.6 3017
+-119.684 39.6 3066
+-119.558 39.6 3146
+-119.432 39.6 3209
+-119.306 39.6 3274
+-119.18 39.6 3329
+-119.054 39.6 3407
+-118.928 39.6 3444
+-118.802 39.6 3484
+-118.676 39.6 3528
+-118.55 39.6 3560
+-118.424 39.6 3593
+-118.298 39.6 3581
+-118.172 39.6 3609
+-118.046 39.6 3636
+-117.92 39.6 3641
+-117.794 39.6 3661
+-117.668 39.6 3672
+-117.542 39.6 3666
+-117.416 39.6 3673
+-117.29 39.6 3675
+-117.164 39.6 3674
+-117.038 39.6 3672
+-116.912 39.6 3667
+-116.786 39.6 3646
+-116.66 39.6 3624
+-116.534 39.6 3591
+-116.408 39.6 3557
+-116.282 39.6 3466
+-116.156 39.6 3422
+-116.03 39.6 3410
+-115.904 39.6 3347
+-115.778 39.6 3311
+-115.652 39.6 3277
+-115.526 39.6 3258
+-115.4 39.6 3262
+-115.274 39.6 3223
+-115.148 39.6 3150
+-115.022 39.6 3105
+-114.896 39.6 3053
+-114.77 39.6 2965
+-114.644 39.6 2923
+-114.518 39.6 2923
+-114.392 39.6 2958
+-114.266 39.6 2944
+-114.14 39.6 2952
+-114.014 39.6 2955
+-113.888 39.6 2881
+-113.762 39.6 2880
+-113.636 39.6 2848
+-113.51 39.6 2823
+-113.384 39.6 2792
+-113.258 39.6 2788
+-113.132 39.6 2735
+-113.006 39.6 2648
+-112.88 39.6 2624
+-112.754 39.6 2515
+-112.628 39.6 2480
+-112.502 39.6 2409
+-112.376 39.6 2320
+-112.25 39.6 2252
+-112.124 39.6 2123
+-111.998 39.6 2055
+-111.872 39.6 1999
+-111.746 39.6 1888
+-111.62 39.6 1854
+-111.494 39.6 1862
+-111.368 39.6 1859
+-111.242 39.6 1868
+-111.116 39.6 1893
+-110.99 39.6 1865
+-110.864 39.6 1895
+-110.738 39.6 1927
+-110.612 39.6 1958
+-110.486 39.6 1988
+-110.36 39.6 1998
+-110.234 39.6 2027
+-110.108 39.6 1996
+-109.982 39.6 2019
+-109.856 39.6 2076
+-109.73 39.6 2096
+-109.604 39.6 2078
+-109.478 39.6 2058
+-109.352 39.6 2159
+-109.226 39.6 2175
+-109.1 39.6 2190
+-108.974 39.6 2140
+-108.848 39.6 2152
+-108.722 39.6 2147
+-108.596 39.6 2158
+-108.47 39.6 2169
+-108.344 39.6 2182
+-108.218 39.6 2192
+-108.092 39.6 2198
+-107.966 39.6 2206
+-107.84 39.6 2229
+-107.714 39.6 2223
+-107.588 39.6 2241
+-107.462 39.6 2291
+-107.336 39.6 2298
+-107.21 39.6 2305
+-107.084 39.6 2312
+-106.958 39.6 2319
+-106.832 39.6 2325
+-106.706 39.6 2331
+-106.58 39.6 2358
+-106.454 39.6 2364
+-106.328 39.6 2416
+-106.202 39.6 2422
+-106.076 39.6 2447
+-105.95 39.6 2453
+-105.824 39.6 2484
+-105.698 39.6 2574
+-105.572 39.6 2598
+-105.446 39.6 2604
+-105.32 39.6 2609
+-105.194 39.6 2481
+-105.068 39.6 2480
+-104.942 39.6 2523
+-104.816 39.6 2467
+-104.69 39.6 2483
+-104.564 39.6 2474
+-104.438 39.6 2491
+-104.312 39.6 2481
+-104.186 39.6 2470
+-104.06 39.6 2422
+-103.934 39.6 2316
+-103.808 39.6 2324
+-103.682 39.6 2312
+-103.556 39.6 2260
+-103.43 39.6 2224
+-103.304 39.6 2230
+-103.178 39.6 2260
+-103.052 39.6 2320
+-102.926 39.6 2334
+-102.8 39.6 2326
+-102.674 39.6 2362
+-102.548 39.6 2390
+-102.422 39.6 2404
+-102.296 39.6 2423
+-102.17 39.6 2423
+-102.044 39.6 2422
+-101.918 39.6 2421
+-101.792 39.6 2462
+-101.666 39.6 2505
+-101.54 39.6 2503
+-101.414 39.6 2501
+-101.288 39.6 2545
+-101.162 39.6 2636
+-101.036 39.6 2631
+-100.91 39.6 2627
+-100.784 39.6 2644
+-100.658 39.6 2640
+-100.532 39.6 2731
+-100.406 39.6 2727
+-100.28 39.6 2724
+-100.154 39.6 2720
+-100.028 39.6 2718
+-99.902 39.6 2716
+-99.776 39.6 2715
+-99.65 39.6 2768
+-99.524 39.6 2769
+-99.398 39.6 2798
+-99.272 39.6 2800
+-99.146 39.6 2803
+-99.02 39.6 2806
+-98.894 39.6 2825
+-98.768 39.6 2988
+-98.642 39.6 2992
+-98.516 39.6 2996
+-98.39 39.6 2998
+-98.264 39.6 2999
+-98.138 39.6 2997
+-98.012 39.6 3034
+-97.886 39.6 3043
+-97.76 39.6 3026
+-97.634 39.6 3003
+-97.508 39.6 2973
+-97.382 39.6 2951
+-97.256 39.6 2995
+-97.13 39.6 2934
+-97.004 39.6 2891
+-96.878 39.6 2890
+-96.752 39.6 2944
+-96.626 39.6 3064
+-96.5 39.6 3220
+-96.374 39.6 3410
+-96.248 39.6 3563
+-96.122 39.6 3716
+-95.996 39.6 3863
+-95.87 39.6 4014
+-95.744 39.6 4162
+-95.618 39.6 4257
+-95.492 39.6 4415
+-95.366 39.6 4464
+-95.24 39.6 4546
+-95.114 39.6 4644
+-94.988 39.6 4734
+-94.862 39.6 4758
+-94.736 39.6 4681
+-94.61 39.6 4793
+-94.484 39.6 5011
+-94.358 39.6 5180
+-94.232 39.6 5311
+-94.106 39.6 5472
+-93.98 39.6 5584
+-93.854 39.6 5618
+-93.728 39.6 5731
+-93.602 39.6 5885
+-93.476 39.6 6036
+-93.35 39.6 6128
+-93.224 39.6 6313
+-93.098 39.6 6473
+-92.972 39.6 6591
+-92.846 39.6 6724
+-92.72 39.6 6798
+-92.594 39.6 6883
+-92.468 39.6 7024
+-92.342 39.6 7126
+-92.216 39.6 7370
+-92.09 39.6 7421
+-91.964 39.6 7582
+-91.838 39.6 7726
+-91.712 39.6 7801
+-91.586 39.6 7920
+-91.46 39.6 8019
+-91.334 39.6 8107
+-91.208 39.6 8212
+-91.082 39.6 8293
+-90.956 39.6 8348
+-90.83 39.6 8467
+-90.704 39.6 8493
+-90.578 39.6 8537
+-90.452 39.6 8542
+-90.326 39.6 8513
+-90.2 39.6 8481
+-90.074 39.6 8450
+-89.948 39.6 8383
+-89.822 39.6 8310
+-89.696 39.6 8240
+-89.57 39.6 8160
+-89.444 39.6 8029
+-89.318 39.6 7899
+-89.192 39.6 7828
+-89.066 39.6 7683
+-88.94 39.6 7636
+-88.814 39.6 7506
+-88.688 39.6 7681
+-88.562 39.6 7663
+-88.436 39.6 7625
+-88.31 39.6 7591
+-88.184 39.6 7574
+-88.058 39.6 7524
+-87.932 39.6 7465
+-87.806 39.6 7379
+-87.68 39.6 7312
+-87.554 39.6 7239
+-87.428 39.6 7207
+-87.302 39.6 7108
+-87.176 39.6 7004
+-87.05 39.6 6899
+-86.924 39.6 6795
+-86.798 39.6 6705
+-86.672 39.6 6602
+-86.546 39.6 6494
+-86.42 39.6 6362
+-86.294 39.6 6224
+-86.168 39.6 6086
+-86.042 39.6 6044
+-85.916 39.6 5958
+-85.79 39.6 5875
+-85.664 39.6 5726
+-85.538 39.6 5547
+-85.412 39.6 5378
+-85.286 39.6 5366
+-85.16 39.6 5182
+-85.034 39.6 5047
+-84.908 39.6 5035
+-84.782 39.6 4919
+-84.656 39.6 4805
+-84.53 39.6 4640
+-84.404 39.6 4507
+-84.278 39.6 4399
+-84.152 39.6 4382
+-84.026 39.6 4263
+-83.9 39.6 4070
+-83.774 39.6 3905
+-83.648 39.6 3916
+-83.522 39.6 3871
+-83.396 39.6 3666
+-83.27 39.6 3312
+-83.144 39.6 3122
+-83.018 39.6 3249
+-82.892 39.6 3453
+-82.766 39.6 3612
+-82.64 39.6 3687
+-82.514 39.6 3733
+-82.388 39.6 3781
+-82.262 39.6 3816
+-82.136 39.6 3843
+-82.01 39.6 3864
+-81.884 39.6 3797
+-81.758 39.6 3808
+-81.632 39.6 3797
+-81.506 39.6 3818
+-81.38 39.6 3824
+-81.254 39.6 3829
+-81.128 39.6 3748
+-81.002 39.6 3715
+-80.876 39.6 3718
+-80.75 39.6 3722
+-80.624 39.6 3677
+-80.498 39.6 3636
+-80.372 39.6 3583
+-80.246 39.6 3611
+-80.12 39.6 3613
+-79.994 39.6 3614
+-79.868 39.6 3615
+-79.742 39.6 3616
+-79.616 39.6 3562
+-79.49 39.6 3562
+-79.364 39.6 3562
+-79.238 39.6 3562
+-79.112 39.6 3562
+-78.986 39.6 3562
+-78.86 39.6 3562
+-78.734 39.6 3562
+-78.608 39.6 3562
+-78.482 39.6 3562
+-78.356 39.6 3537
+-78.23 39.6 3528
+-78.104 39.6 3528
+-77.978 39.6 3528
+-77.852 39.6 3529
+-77.726 39.6 3529
+-77.6 39.6 3513
+-77.474 39.6 3513
+-77.348 39.6 3513
+-77.222 39.6 3514
+-77.096 39.6 3514
+-76.97 39.6 3514
+-76.844 39.6 3514
+-76.718 39.6 3514
+-76.592 39.6 3514
+-76.466 39.6 3451
+-76.34 39.6 3451
+-76.214 39.6 3451
+-76.088 39.6 3452
+-75.962 39.6 3452
+-75.836 39.6 3453
+-75.71 39.6 3453
+-75.584 39.6 3453
+-75.458 39.6 3454
+-75.332 39.6 3454
+-75.206 39.6 3454
+-75.08 39.6 3455
+-74.954 39.6 3455
+-74.828 39.6 3384
+-74.702 39.6 3384
+-74.576 39.6 3384
+-74.45 39.6 3383
+-74.324 39.6 3383
+-74.198 39.6 3382
+-74.072 39.6 3382
+-73.946 39.6 3382
+-73.82 39.6 3381
+-73.694 39.6 3381
+-73.568 39.6 3381
+-73.442 39.6 3380
+-73.316 39.6 3380
+-73.19 39.6 3380
+-73.064 39.6 3379
+-72.938 39.6 3379
+-72.812 39.6 3379
+-72.686 39.6 3378
+-72.56 39.6 3378
+-72.434 39.6 3378
+-72.308 39.6 3378
+-72.182 39.6 3377
+-72.056 39.6 3377
+-71.93 39.6 3377
+-71.804 39.6 3377
+-71.678 39.6 3070
+-71.552 39.6 3070
+-71.426 39.6 3069
+-71.3 39.6 3068
+-71.174 39.6 3067
+-71.048 39.6 3066
+-70.922 39.6 3065
+-70.796 39.6 3064
+-70.67 39.6 3063
+-70.544 39.6 3063
+-70.418 39.6 3062
+-70.292 39.6 3061
+-70.166 39.6 3060
+-70.04 39.6 3059
+-69.914 39.6 3059
+-69.788 39.6 3058
+-69.662 39.6 3057
+-69.536 39.6 3057
+-69.41 39.6 2930
+-69.284 39.6 2930
+-69.158 39.6 2899
+-69.032 39.6 2851
+-68.906 39.6 2851
+-68.78 39.6 2850
+-68.654 39.6 2865
+-68.528 39.6 2864
+-68.402 39.6 2875
+-68.276 39.6 2874
+-68.15 39.6 2833
+-68.024 39.6 2794
+-67.898 39.6 2794
+-67.772 39.6 2794
+-67.646 39.6 2793
+-67.52 39.6 2813
+-67.394 39.6 2819
+-67.268 39.6 2828
+-67.142 39.6 2826
+-67.016 39.6 2865
+-66.89 39.6 2877
+-66.764 39.6 2878
+-66.638 39.6 2939
+-66.512 39.6 2962
+-66.386 39.6 2937
+-66.26 39.6 2925
+-66.134 39.6 3088
+-66.008 39.6 3089
+-65.882 39.6 3157
+-65.756 39.6 3158
+-65.63 39.6 3159
+-65.504 39.6 3161
+-65.378 39.6 3162
+-65.252 39.6 3066
+-65.126 39.6 3088
+-128 39.548 2509
+-127.874 39.548 2506
+-127.748 39.548 2504
+-127.622 39.548 2501
+-127.496 39.548 2498
+-127.37 39.548 2473
+-127.244 39.548 2476
+-127.118 39.548 2474
+-126.992 39.548 2459
+-126.866 39.548 2455
+-126.74 39.548 2417
+-126.614 39.548 2414
+-126.488 39.548 2409
+-126.362 39.548 2386
+-126.236 39.548 2360
+-126.11 39.548 2346
+-125.984 39.548 2341
+-125.858 39.548 2326
+-125.732 39.548 2313
+-125.606 39.548 2307
+-125.48 39.548 2309
+-125.354 39.548 2313
+-125.228 39.548 2304
+-125.102 39.548 2297
+-124.976 39.548 2270
+-124.85 39.548 2272
+-124.724 39.548 2265
+-124.598 39.548 2261
+-124.472 39.548 2254
+-124.346 39.548 2238
+-124.22 39.548 2231
+-124.094 39.548 2224
+-123.968 39.548 2217
+-123.842 39.548 2237
+-123.716 39.548 2231
+-123.59 39.548 2225
+-123.464 39.548 2220
+-123.338 39.548 2220
+-123.212 39.548 2224
+-123.086 39.548 2246
+-122.96 39.548 2262
+-122.834 39.548 2293
+-122.708 39.548 2322
+-122.582 39.548 2374
+-122.456 39.548 2410
+-122.33 39.548 2447
+-122.204 39.548 2469
+-122.078 39.548 2510
+-121.952 39.548 2541
+-121.826 39.548 2570
+-121.7 39.548 2593
+-121.574 39.548 2631
+-121.448 39.548 2662
+-121.322 39.548 2656
+-121.196 39.548 2637
+-121.07 39.548 2607
+-120.944 39.548 2593
+-120.818 39.548 2598
+-120.692 39.548 2658
+-120.566 39.548 2764
+-120.44 39.548 2860
+-120.314 39.548 2942
+-120.188 39.548 3013
+-120.062 39.548 3054
+-119.936 39.548 3079
+-119.81 39.548 3121
+-119.684 39.548 3143
+-119.558 39.548 3225
+-119.432 39.548 3287
+-119.306 39.548 3337
+-119.18 39.548 3402
+-119.054 39.548 3468
+-118.928 39.548 3511
+-118.802 39.548 3570
+-118.676 39.548 3592
+-118.55 39.548 3628
+-118.424 39.548 3647
+-118.298 39.548 3665
+-118.172 39.548 3692
+-118.046 39.548 3730
+-117.92 39.548 3736
+-117.794 39.548 3736
+-117.668 39.548 3738
+-117.542 39.548 3743
+-117.416 39.548 3765
+-117.29 39.548 3739
+-117.164 39.548 3732
+-117.038 39.548 3713
+-116.912 39.548 3697
+-116.786 39.548 3703
+-116.66 39.548 3688
+-116.534 39.548 3672
+-116.408 39.548 3684
+-116.282 39.548 3601
+-116.156 39.548 3554
+-116.03 39.548 3515
+-115.904 39.548 3469
+-115.778 39.548 3384
+-115.652 39.548 3331
+-115.526 39.548 3287
+-115.4 39.548 3267
+-115.274 39.548 3254
+-115.148 39.548 3224
+-115.022 39.548 3180
+-114.896 39.548 3141
+-114.77 39.548 3107
+-114.644 39.548 3079
+-114.518 39.548 3061
+-114.392 39.548 3038
+-114.266 39.548 3052
+-114.14 39.548 3012
+-114.014 39.548 3011
+-113.888 39.548 3028
+-113.762 39.548 2957
+-113.636 39.548 2903
+-113.51 39.548 2878
+-113.384 39.548 2880
+-113.258 39.548 2836
+-113.132 39.548 2797
+-113.006 39.548 2745
+-112.88 39.548 2694
+-112.754 39.548 2622
+-112.628 39.548 2562
+-112.502 39.548 2524
+-112.376 39.548 2429
+-112.25 39.548 2362
+-112.124 39.548 2297
+-111.998 39.548 2196
+-111.872 39.548 2151
+-111.746 39.548 2079
+-111.62 39.548 2011
+-111.494 39.548 2026
+-111.368 39.548 2017
+-111.242 39.548 1989
+-111.116 39.548 1942
+-110.99 39.548 1957
+-110.864 39.548 1978
+-110.738 39.548 1999
+-110.612 39.548 2021
+-110.486 39.548 2024
+-110.36 39.548 2047
+-110.234 39.548 2069
+-110.108 39.548 2089
+-109.982 39.548 2145
+-109.856 39.548 2069
+-109.73 39.548 2085
+-109.604 39.548 2065
+-109.478 39.548 2163
+-109.352 39.548 2178
+-109.226 39.548 2193
+-109.1 39.548 2143
+-108.974 39.548 2155
+-108.848 39.548 2150
+-108.722 39.548 2161
+-108.596 39.548 2171
+-108.47 39.548 2184
+-108.344 39.548 2194
+-108.218 39.548 2200
+-108.092 39.548 2209
+-107.966 39.548 2231
+-107.84 39.548 2225
+-107.714 39.548 2243
+-107.588 39.548 2291
+-107.462 39.548 2299
+-107.336 39.548 2306
+-107.21 39.548 2313
+-107.084 39.548 2319
+-106.958 39.548 2325
+-106.832 39.548 2331
+-106.706 39.548 2358
+-106.58 39.548 2364
+-106.454 39.548 2414
+-106.328 39.548 2420
+-106.202 39.548 2446
+-106.076 39.548 2451
+-105.95 39.548 2482
+-105.824 39.548 2570
+-105.698 39.548 2594
+-105.572 39.548 2600
+-105.446 39.548 2606
+-105.32 39.548 2611
+-105.194 39.548 2616
+-105.068 39.548 2434
+-104.942 39.548 2587
+-104.816 39.548 2498
+-104.69 39.548 2490
+-104.564 39.548 2508
+-104.438 39.548 2499
+-104.312 39.548 2489
+-104.186 39.548 2443
+-104.06 39.548 2460
+-103.934 39.548 2325
+-103.808 39.548 2362
+-103.682 39.548 2322
+-103.556 39.548 2270
+-103.43 39.548 2234
+-103.304 39.548 2239
+-103.178 39.548 2236
+-103.052 39.548 2331
+-102.926 39.548 2344
+-102.8 39.548 2336
+-102.674 39.548 2335
+-102.548 39.548 2372
+-102.422 39.548 2401
+-102.296 39.548 2436
+-102.17 39.548 2436
+-102.044 39.548 2436
+-101.918 39.548 2436
+-101.792 39.548 2476
+-101.666 39.548 2521
+-101.54 39.548 2519
+-101.414 39.548 2619
+-101.288 39.548 2616
+-101.162 39.548 2653
+-101.036 39.548 2650
+-100.91 39.548 2646
+-100.784 39.548 2643
+-100.658 39.548 2757
+-100.532 39.548 2754
+-100.406 39.548 2751
+-100.28 39.548 2748
+-100.154 39.548 2746
+-100.028 39.548 2745
+-99.902 39.548 2744
+-99.776 39.548 2743
+-99.65 39.548 2826
+-99.524 39.548 2827
+-99.398 39.548 2829
+-99.272 39.548 2831
+-99.146 39.548 2834
+-99.02 39.548 2838
+-98.894 39.548 2842
+-98.768 39.548 2858
+-98.642 39.548 3019
+-98.516 39.548 3022
+-98.39 39.548 3024
+-98.264 39.548 3024
+-98.138 39.548 3022
+-98.012 39.548 3018
+-97.886 39.548 3023
+-97.76 39.548 3046
+-97.634 39.548 3027
+-97.508 39.548 3090
+-97.382 39.548 3047
+-97.256 39.548 3017
+-97.13 39.548 3008
+-97.004 39.548 2973
+-96.878 39.548 2962
+-96.752 39.548 2991
+-96.626 39.548 3092
+-96.5 39.548 3222
+-96.374 39.548 3397
+-96.248 39.548 3592
+-96.122 39.548 3773
+-95.996 39.548 3904
+-95.87 39.548 4061
+-95.744 39.548 4146
+-95.618 39.548 4241
+-95.492 39.548 4367
+-95.366 39.548 4475
+-95.24 39.548 4527
+-95.114 39.548 4620
+-94.988 39.548 4686
+-94.862 39.548 4758
+-94.736 39.548 4792
+-94.61 39.548 4907
+-94.484 39.548 5069
+-94.358 39.548 5212
+-94.232 39.548 5331
+-94.106 39.548 5474
+-93.98 39.548 5587
+-93.854 39.548 5651
+-93.728 39.548 5779
+-93.602 39.548 5885
+-93.476 39.548 6011
+-93.35 39.548 6173
+-93.224 39.548 6338
+-93.098 39.548 6503
+-92.972 39.548 6574
+-92.846 39.548 6740
+-92.72 39.548 6799
+-92.594 39.548 6951
+-92.468 39.548 7069
+-92.342 39.548 7169
+-92.216 39.548 7303
+-92.09 39.548 7478
+-91.964 39.548 7622
+-91.838 39.548 7723
+-91.712 39.548 7801
+-91.586 39.548 7931
+-91.46 39.548 8057
+-91.334 39.548 8182
+-91.208 39.548 8262
+-91.082 39.548 8333
+-90.956 39.548 8427
+-90.83 39.548 8497
+-90.704 39.548 8532
+-90.578 39.548 8556
+-90.452 39.548 8589
+-90.326 39.548 8547
+-90.2 39.548 8570
+-90.074 39.548 8468
+-89.948 39.548 8438
+-89.822 39.548 8321
+-89.696 39.548 8239
+-89.57 39.548 8170
+-89.444 39.548 8058
+-89.318 39.548 7925
+-89.192 39.548 7865
+-89.066 39.548 7718
+-88.94 39.548 7639
+-88.814 39.548 7485
+-88.688 39.548 7724
+-88.562 39.548 7683
+-88.436 39.548 7703
+-88.31 39.548 7652
+-88.184 39.548 7643
+-88.058 39.548 7569
+-87.932 39.548 7489
+-87.806 39.548 7421
+-87.68 39.548 7366
+-87.554 39.548 7313
+-87.428 39.548 7229
+-87.302 39.548 7101
+-87.176 39.548 7072
+-87.05 39.548 6943
+-86.924 39.548 6829
+-86.798 39.548 6691
+-86.672 39.548 6579
+-86.546 39.548 6515
+-86.42 39.548 6417
+-86.294 39.548 6254
+-86.168 39.548 6170
+-86.042 39.548 6037
+-85.916 39.548 5901
+-85.79 39.548 5883
+-85.664 39.548 5724
+-85.538 39.548 5607
+-85.412 39.548 5481
+-85.286 39.548 5374
+-85.16 39.548 5231
+-85.034 39.548 5112
+-84.908 39.548 5017
+-84.782 39.548 4910
+-84.656 39.548 4816
+-84.53 39.548 4655
+-84.404 39.548 4553
+-84.278 39.548 4480
+-84.152 39.548 4392
+-84.026 39.548 4311
+-83.9 39.548 4214
+-83.774 39.548 4126
+-83.648 39.548 4054
+-83.522 39.548 3947
+-83.396 39.548 3741
+-83.27 39.548 3450
+-83.144 39.548 3285
+-83.018 39.548 3354
+-82.892 39.548 3514
+-82.766 39.548 3655
+-82.64 39.548 3754
+-82.514 39.548 3800
+-82.388 39.548 3802
+-82.262 39.548 3835
+-82.136 39.548 3859
+-82.01 39.548 3877
+-81.884 39.548 3839
+-81.758 39.548 3844
+-81.632 39.548 3853
+-81.506 39.548 3860
+-81.38 39.548 3867
+-81.254 39.548 3754
+-81.128 39.548 3758
+-81.002 39.548 3762
+-80.876 39.548 3756
+-80.75 39.548 3683
+-80.624 39.548 3641
+-80.498 39.548 3630
+-80.372 39.548 3615
+-80.246 39.548 3617
+-80.12 39.548 3618
+-79.994 39.548 3619
+-79.868 39.548 3620
+-79.742 39.548 3565
+-79.616 39.548 3565
+-79.49 39.548 3564
+-79.364 39.548 3564
+-79.238 39.548 3564
+-79.112 39.548 3564
+-78.986 39.548 3564
+-78.86 39.548 3563
+-78.734 39.548 3563
+-78.608 39.548 3563
+-78.482 39.548 3539
+-78.356 39.548 3529
+-78.23 39.548 3529
+-78.104 39.548 3530
+-77.978 39.548 3530
+-77.852 39.548 3530
+-77.726 39.548 3514
+-77.6 39.548 3514
+-77.474 39.548 3514
+-77.348 39.548 3514
+-77.222 39.548 3514
+-77.096 39.548 3515
+-76.97 39.548 3515
+-76.844 39.548 3515
+-76.718 39.548 3515
+-76.592 39.548 3451
+-76.466 39.548 3451
+-76.34 39.548 3452
+-76.214 39.548 3452
+-76.088 39.548 3452
+-75.962 39.548 3453
+-75.836 39.548 3453
+-75.71 39.548 3453
+-75.584 39.548 3454
+-75.458 39.548 3454
+-75.332 39.548 3454
+-75.206 39.548 3455
+-75.08 39.548 3455
+-74.954 39.548 3384
+-74.828 39.548 3384
+-74.702 39.548 3384
+-74.576 39.548 3383
+-74.45 39.548 3383
+-74.324 39.548 3382
+-74.198 39.548 3382
+-74.072 39.548 3382
+-73.946 39.548 3381
+-73.82 39.548 3381
+-73.694 39.548 3381
+-73.568 39.548 3380
+-73.442 39.548 3380
+-73.316 39.548 3379
+-73.19 39.548 3379
+-73.064 39.548 3379
+-72.938 39.548 3379
+-72.812 39.548 3378
+-72.686 39.548 3378
+-72.56 39.548 3378
+-72.434 39.548 3377
+-72.308 39.548 3377
+-72.182 39.548 3377
+-72.056 39.548 3377
+-71.93 39.548 3376
+-71.804 39.548 3071
+-71.678 39.548 3070
+-71.552 39.548 3069
+-71.426 39.548 3068
+-71.3 39.548 3067
+-71.174 39.548 3066
+-71.048 39.548 3065
+-70.922 39.548 3064
+-70.796 39.548 3063
+-70.67 39.548 3062
+-70.544 39.548 3062
+-70.418 39.548 3061
+-70.292 39.548 3060
+-70.166 39.548 3059
+-70.04 39.548 3059
+-69.914 39.548 3058
+-69.788 39.548 3057
+-69.662 39.548 3056
+-69.536 39.548 2930
+-69.41 39.548 2929
+-69.284 39.548 2899
+-69.158 39.548 2851
+-69.032 39.548 2850
+-68.906 39.548 2849
+-68.78 39.548 2864
+-68.654 39.548 2864
+-68.528 39.548 2875
+-68.402 39.548 2874
+-68.276 39.548 2833
+-68.15 39.548 2794
+-68.024 39.548 2793
+-67.898 39.548 2793
+-67.772 39.548 2793
+-67.646 39.548 2812
+-67.52 39.548 2818
+-67.394 39.548 2828
+-67.268 39.548 2825
+-67.142 39.548 2865
+-67.016 39.548 2876
+-66.89 39.548 2877
+-66.764 39.548 2938
+-66.638 39.548 2961
+-66.512 39.548 2936
+-66.386 39.548 2924
+-66.26 39.548 3086
+-66.134 39.548 3088
+-66.008 39.548 3156
+-65.882 39.548 3157
+-65.756 39.548 3158
+-65.63 39.548 3159
+-65.504 39.548 3160
+-65.378 39.548 3065
+-65.252 39.548 3087
+-65.126 39.548 3088
+-128 39.496 2507
+-127.874 39.496 2505
+-127.748 39.496 2502
+-127.622 39.496 2499
+-127.496 39.496 2474
+-127.37 39.496 2477
+-127.244 39.496 2474
+-127.118 39.496 2459
+-126.992 39.496 2455
+-126.866 39.496 2417
+-126.74 39.496 2413
+-126.614 39.496 2405
+-126.488 39.496 2386
+-126.362 39.496 2372
+-126.236 39.496 2347
+-126.11 39.496 2343
+-125.984 39.496 2333
+-125.858 39.496 2316
+-125.732 39.496 2311
+-125.606 39.496 2313
+-125.48 39.496 2329
+-125.354 39.496 2311
+-125.228 39.496 2305
+-125.102 39.496 2276
+-124.976 39.496 2282
+-124.85 39.496 2275
+-124.724 39.496 2267
+-124.598 39.496 2265
+-124.472 39.496 2251
+-124.346 39.496 2244
+-124.22 39.496 2238
+-124.094 39.496 2232
+-123.968 39.496 2256
+-123.842 39.496 2250
+-123.716 39.496 2245
+-123.59 39.496 2239
+-123.464 39.496 2239
+-123.338 39.496 2240
+-123.212 39.496 2246
+-123.086 39.496 2256
+-122.96 39.496 2284
+-122.834 39.496 2314
+-122.708 39.496 2361
+-122.582 39.496 2393
+-122.456 39.496 2427
+-122.33 39.496 2463
+-122.204 39.496 2499
+-122.078 39.496 2517
+-121.952 39.496 2583
+-121.826 39.496 2611
+-121.7 39.496 2644
+-121.574 39.496 2689
+-121.448 39.496 2706
+-121.322 39.496 2708
+-121.196 39.496 2722
+-121.07 39.496 2677
+-120.944 39.496 2695
+-120.818 39.496 2725
+-120.692 39.496 2786
+-120.566 39.496 2875
+-120.44 39.496 2948
+-120.314 39.496 3036
+-120.188 39.496 3089
+-120.062 39.496 3115
+-119.936 39.496 3139
+-119.81 39.496 3183
+-119.684 39.496 3222
+-119.558 39.496 3292
+-119.432 39.496 3349
+-119.306 39.496 3404
+-119.18 39.496 3483
+-119.054 39.496 3529
+-118.928 39.496 3576
+-118.802 39.496 3631
+-118.676 39.496 3645
+-118.55 39.496 3674
+-118.424 39.496 3704
+-118.298 39.496 3724
+-118.172 39.496 3766
+-118.046 39.496 3807
+-117.92 39.496 3816
+-117.794 39.496 3860
+-117.668 39.496 3855
+-117.542 39.496 3853
+-117.416 39.496 3863
+-117.29 39.496 3841
+-117.164 39.496 3805
+-117.038 39.496 3730
+-116.912 39.496 3690
+-116.786 39.496 3722
+-116.66 39.496 3751
+-116.534 39.496 3766
+-116.408 39.496 3760
+-116.282 39.496 3699
+-116.156 39.496 3667
+-116.03 39.496 3610
+-115.904 39.496 3537
+-115.778 39.496 3475
+-115.652 39.496 3414
+-115.526 39.496 3358
+-115.4 39.496 3328
+-115.274 39.496 3310
+-115.148 39.496 3284
+-115.022 39.496 3273
+-114.896 39.496 3248
+-114.77 39.496 3223
+-114.644 39.496 3206
+-114.518 39.496 3201
+-114.392 39.496 3181
+-114.266 39.496 3192
+-114.14 39.496 3151
+-114.014 39.496 3149
+-113.888 39.496 3105
+-113.762 39.496 3015
+-113.636 39.496 2994
+-113.51 39.496 2964
+-113.384 39.496 2926
+-113.258 39.496 2894
+-113.132 39.496 2888
+-113.006 39.496 2848
+-112.88 39.496 2804
+-112.754 39.496 2693
+-112.628 39.496 2665
+-112.502 39.496 2607
+-112.376 39.496 2521
+-112.25 39.496 2462
+-112.124 39.496 2398
+-111.998 39.496 2317
+-111.872 39.496 2299
+-111.746 39.496 2218
+-111.62 39.496 2224
+-111.494 39.496 2201
+-111.368 39.496 2096
+-111.242 39.496 2091
+-111.116 39.496 2033
+-110.99 39.496 2041
+-110.864 39.496 2052
+-110.738 39.496 2064
+-110.612 39.496 2060
+-110.486 39.496 2076
+-110.36 39.496 2092
+-110.234 39.496 2108
+-110.108 39.496 2160
+-109.982 39.496 2137
+-109.856 39.496 2152
+-109.73 39.496 2130
+-109.604 39.496 2087
+-109.478 39.496 2183
+-109.352 39.496 2196
+-109.226 39.496 2147
+-109.1 39.496 2196
+-108.974 39.496 2153
+-108.848 39.496 2164
+-108.722 39.496 2174
+-108.596 39.496 2186
+-108.47 39.496 2196
+-108.344 39.496 2202
+-108.218 39.496 2211
+-108.092 39.496 2273
+-107.966 39.496 2228
+-107.84 39.496 2286
+-107.714 39.496 2292
+-107.588 39.496 2299
+-107.462 39.496 2307
+-107.336 39.496 2313
+-107.21 39.496 2320
+-107.084 39.496 2326
+-106.958 39.496 2332
+-106.832 39.496 2401
+-106.706 39.496 2407
+-106.58 39.496 2413
+-106.454 39.496 2419
+-106.328 39.496 2444
+-106.202 39.496 2450
+-106.076 39.496 2480
+-105.95 39.496 2566
+-105.824 39.496 2590
+-105.698 39.496 2596
+-105.572 39.496 2602
+-105.446 39.496 2607
+-105.32 39.496 2613
+-105.194 39.496 2568
+-105.068 39.496 2592
+-104.942 39.496 2620
+-104.816 39.496 2617
+-104.69 39.496 2523
+-104.564 39.496 2515
+-104.438 39.496 2507
+-104.312 39.496 2461
+-104.186 39.496 2480
+-104.06 39.496 2470
+-103.934 39.496 2344
+-103.808 39.496 2372
+-103.682 39.496 2342
+-103.556 39.496 2283
+-103.43 39.496 2259
+-103.304 39.496 2248
+-103.178 39.496 2245
+-103.052 39.496 2307
+-102.926 39.496 2330
+-102.8 39.496 2346
+-102.674 39.496 2345
+-102.548 39.496 2345
+-102.422 39.496 2384
+-102.296 39.496 2449
+-102.17 39.496 2450
+-102.044 39.496 2450
+-101.918 39.496 2450
+-101.792 39.496 2490
+-101.666 39.496 2536
+-101.54 39.496 2637
+-101.414 39.496 2634
+-101.288 39.496 2631
+-101.162 39.496 2628
+-101.036 39.496 2710
+-100.91 39.496 2707
+-100.784 39.496 2704
+-100.658 39.496 2701
+-100.532 39.496 2775
+-100.406 39.496 2773
+-100.28 39.496 2772
+-100.154 39.496 2771
+-100.028 39.496 2770
+-99.902 39.496 2770
+-99.776 39.496 2852
+-99.65 39.496 2853
+-99.524 39.496 2855
+-99.398 39.496 2857
+-99.272 39.496 2860
+-99.146 39.496 2863
+-99.02 39.496 2867
+-98.894 39.496 2871
+-98.768 39.496 2885
+-98.642 39.496 2911
+-98.516 39.496 3046
+-98.39 39.496 3048
+-98.264 39.496 3048
+-98.138 39.496 3047
+-98.012 39.496 3043
+-97.886 39.496 3036
+-97.76 39.496 3040
+-97.634 39.496 3140
+-97.508 39.496 3106
+-97.382 39.496 3081
+-97.256 39.496 3034
+-97.13 39.496 2999
+-97.004 39.496 2966
+-96.878 39.496 2909
+-96.752 39.496 2904
+-96.626 39.496 3004
+-96.5 39.496 3174
+-96.374 39.496 3383
+-96.248 39.496 3598
+-96.122 39.496 3838
+-95.996 39.496 3965
+-95.87 39.496 4070
+-95.744 39.496 4147
+-95.618 39.496 4279
+-95.492 39.496 4381
+-95.366 39.496 4423
+-95.24 39.496 4488
+-95.114 39.496 4581
+-94.988 39.496 4617
+-94.862 39.496 4659
+-94.736 39.496 4780
+-94.61 39.496 4976
+-94.484 39.496 5125
+-94.358 39.496 5230
+-94.232 39.496 5263
+-94.106 39.496 5412
+-93.98 39.496 5546
+-93.854 39.496 5646
+-93.728 39.496 5804
+-93.602 39.496 5944
+-93.476 39.496 6034
+-93.35 39.496 6244
+-93.224 39.496 6293
+-93.098 39.496 6495
+-92.972 39.496 6640
+-92.846 39.496 6704
+-92.72 39.496 6878
+-92.594 39.496 6964
+-92.468 39.496 7035
+-92.342 39.496 7174
+-92.216 39.496 7339
+-92.09 39.496 7495
+-91.964 39.496 7582
+-91.838 39.496 7717
+-91.712 39.496 7855
+-91.586 39.496 7909
+-91.46 39.496 8084
+-91.334 39.496 8179
+-91.208 39.496 8336
+-91.082 39.496 8362
+-90.956 39.496 8465
+-90.83 39.496 8515
+-90.704 39.496 8590
+-90.578 39.496 8645
+-90.452 39.496 8634
+-90.326 39.496 8614
+-90.2 39.496 8565
+-90.074 39.496 8515
+-89.948 39.496 8479
+-89.822 39.496 8377
+-89.696 39.496 8308
+-89.57 39.496 8237
+-89.444 39.496 8142
+-89.318 39.496 7996
+-89.192 39.496 7920
+-89.066 39.496 7705
+-88.94 39.496 7637
+-88.814 39.496 7520
+-88.688 39.496 7790
+-88.562 39.496 7752
+-88.436 39.496 7749
+-88.31 39.496 7669
+-88.184 39.496 7667
+-88.058 39.496 7620
+-87.932 39.496 7562
+-87.806 39.496 7477
+-87.68 39.496 7420
+-87.554 39.496 7347
+-87.428 39.496 7246
+-87.302 39.496 7201
+-87.176 39.496 7105
+-87.05 39.496 6964
+-86.924 39.496 6900
+-86.798 39.496 6748
+-86.672 39.496 6645
+-86.546 39.496 6563
+-86.42 39.496 6415
+-86.294 39.496 6323
+-86.168 39.496 6244
+-86.042 39.496 6108
+-85.916 39.496 6016
+-85.79 39.496 5893
+-85.664 39.496 5755
+-85.538 39.496 5616
+-85.412 39.496 5505
+-85.286 39.496 5351
+-85.16 39.496 5253
+-85.034 39.496 5088
+-84.908 39.496 5029
+-84.782 39.496 4871
+-84.656 39.496 4815
+-84.53 39.496 4630
+-84.404 39.496 4515
+-84.278 39.496 4467
+-84.152 39.496 4400
+-84.026 39.496 4312
+-83.9 39.496 4263
+-83.774 39.496 4219
+-83.648 39.496 4151
+-83.522 39.496 4045
+-83.396 39.496 3876
+-83.27 39.496 3698
+-83.144 39.496 3585
+-83.018 39.496 3597
+-82.892 39.496 3646
+-82.766 39.496 3733
+-82.64 39.496 3805
+-82.514 39.496 3840
+-82.388 39.496 3883
+-82.262 39.496 3857
+-82.136 39.496 3879
+-82.01 39.496 3890
+-81.884 39.496 3847
+-81.758 39.496 3856
+-81.632 39.496 3864
+-81.506 39.496 3871
+-81.38 39.496 3876
+-81.254 39.496 3792
+-81.128 39.496 3797
+-81.002 39.496 3762
+-80.876 39.496 3722
+-80.75 39.496 3707
+-80.624 39.496 3654
+-80.498 39.496 3620
+-80.372 39.496 3621
+-80.246 39.496 3622
+-80.12 39.496 3623
+-79.994 39.496 3623
+-79.868 39.496 3568
+-79.742 39.496 3567
+-79.616 39.496 3567
+-79.49 39.496 3567
+-79.364 39.496 3566
+-79.238 39.496 3566
+-79.112 39.496 3566
+-78.986 39.496 3565
+-78.86 39.496 3565
+-78.734 39.496 3565
+-78.608 39.496 3540
+-78.482 39.496 3531
+-78.356 39.496 3531
+-78.23 39.496 3531
+-78.104 39.496 3531
+-77.978 39.496 3531
+-77.852 39.496 3531
+-77.726 39.496 3515
+-77.6 39.496 3515
+-77.474 39.496 3515
+-77.348 39.496 3515
+-77.222 39.496 3515
+-77.096 39.496 3515
+-76.97 39.496 3515
+-76.844 39.496 3515
+-76.718 39.496 3451
+-76.592 39.496 3451
+-76.466 39.496 3452
+-76.34 39.496 3452
+-76.214 39.496 3452
+-76.088 39.496 3453
+-75.962 39.496 3453
+-75.836 39.496 3453
+-75.71 39.496 3454
+-75.584 39.496 3454
+-75.458 39.496 3454
+-75.332 39.496 3455
+-75.206 39.496 3455
+-75.08 39.496 3385
+-74.954 39.496 3384
+-74.828 39.496 3384
+-74.702 39.496 3383
+-74.576 39.496 3383
+-74.45 39.496 3382
+-74.324 39.496 3382
+-74.198 39.496 3382
+-74.072 39.496 3381
+-73.946 39.496 3381
+-73.82 39.496 3380
+-73.694 39.496 3380
+-73.568 39.496 3380
+-73.442 39.496 3379
+-73.316 39.496 3379
+-73.19 39.496 3379
+-73.064 39.496 3378
+-72.938 39.496 3378
+-72.812 39.496 3378
+-72.686 39.496 3378
+-72.56 39.496 3377
+-72.434 39.496 3377
+-72.308 39.496 3377
+-72.182 39.496 3376
+-72.056 39.496 3376
+-71.93 39.496 3071
+-71.804 39.496 3070
+-71.678 39.496 3069
+-71.552 39.496 3068
+-71.426 39.496 3067
+-71.3 39.496 3066
+-71.174 39.496 3065
+-71.048 39.496 3064
+-70.922 39.496 3063
+-70.796 39.496 3062
+-70.67 39.496 3061
+-70.544 39.496 3061
+-70.418 39.496 3060
+-70.292 39.496 3059
+-70.166 39.496 3058
+-70.04 39.496 3058
+-69.914 39.496 3057
+-69.788 39.496 3056
+-69.662 39.496 2930
+-69.536 39.496 2929
+-69.41 39.496 2898
+-69.284 39.496 2851
+-69.158 39.496 2850
+-69.032 39.496 2849
+-68.906 39.496 2864
+-68.78 39.496 2863
+-68.654 39.496 2874
+-68.528 39.496 2873
+-68.402 39.496 2832
+-68.276 39.496 2793
+-68.15 39.496 2793
+-68.024 39.496 2793
+-67.898 39.496 2792
+-67.772 39.496 2812
+-67.646 39.496 2818
+-67.52 39.496 2827
+-67.394 39.496 2825
+-67.268 39.496 2864
+-67.142 39.496 2875
+-67.016 39.496 2876
+-66.89 39.496 2937
+-66.764 39.496 2960
+-66.638 39.496 2935
+-66.512 39.496 2923
+-66.386 39.496 3085
+-66.26 39.496 3086
+-66.134 39.496 3155
+-66.008 39.496 3156
+-65.882 39.496 3157
+-65.756 39.496 3158
+-65.63 39.496 3159
+-65.504 39.496 3064
+-65.378 39.496 3086
+-65.252 39.496 3087
+-65.126 39.496 3074
+-128 39.444 2506
+-127.874 39.444 2503
+-127.748 39.444 2500
+-127.622 39.444 2474
+-127.496 39.444 2478
+-127.37 39.444 2474
+-127.244 39.444 2459
+-127.118 39.444 2456
+-126.992 39.444 2417
+-126.866 39.444 2413
+-126.74 39.444 2406
+-126.614 39.444 2386
+-126.488 39.444 2374
+-126.362 39.444 2349
+-126.236 39.444 2345
+-126.11 39.444 2337
+-125.984 39.444 2319
+-125.858 39.444 2340
+-125.732 39.444 2334
+-125.606 39.444 2335
+-125.48 39.444 2318
+-125.354 39.444 2312
+-125.228 39.444 2294
+-125.102 39.444 2290
+-124.976 39.444 2283
+-124.85 39.444 2276
+-124.724 39.444 2275
+-124.598 39.444 2270
+-124.472 39.444 2264
+-124.346 39.444 2258
+-124.22 39.444 2278
+-124.094 39.444 2269
+-123.968 39.444 2263
+-123.842 39.444 2258
+-123.716 39.444 2252
+-123.59 39.444 2250
+-123.464 39.444 2249
+-123.338 39.444 2252
+-123.212 39.444 2257
+-123.086 39.444 2267
+-122.96 39.444 2297
+-122.834 39.444 2326
+-122.708 39.444 2371
+-122.582 39.444 2401
+-122.456 39.444 2435
+-122.33 39.444 2472
+-122.204 39.444 2491
+-122.078 39.444 2562
+-121.952 39.444 2597
+-121.826 39.444 2628
+-121.7 39.444 2696
+-121.574 39.444 2716
+-121.448 39.444 2729
+-121.322 39.444 2740
+-121.196 39.444 2786
+-121.07 39.444 2774
+-120.944 39.444 2812
+-120.818 39.444 2856
+-120.692 39.444 2916
+-120.566 39.444 2993
+-120.44 39.444 3045
+-120.314 39.444 3099
+-120.188 39.444 3137
+-120.062 39.444 3156
+-119.936 39.444 3161
+-119.81 39.444 3188
+-119.684 39.444 3273
+-119.558 39.444 3345
+-119.432 39.444 3404
+-119.306 39.444 3454
+-119.18 39.444 3523
+-119.054 39.444 3565
+-118.928 39.444 3616
+-118.802 39.444 3630
+-118.676 39.444 3655
+-118.55 39.444 3712
+-118.424 39.444 3757
+-118.298 39.444 3804
+-118.172 39.444 3851
+-118.046 39.444 3873
+-117.92 39.444 3901
+-117.794 39.444 3908
+-117.668 39.444 3920
+-117.542 39.444 3902
+-117.416 39.444 3887
+-117.29 39.444 3874
+-117.164 39.444 3845
+-117.038 39.444 3787
+-116.912 39.444 3741
+-116.786 39.444 3769
+-116.66 39.444 3804
+-116.534 39.444 3829
+-116.408 39.444 3841
+-116.282 39.444 3831
+-116.156 39.444 3760
+-116.03 39.444 3709
+-115.904 39.444 3665
+-115.778 39.444 3579
+-115.652 39.444 3524
+-115.526 39.444 3450
+-115.4 39.444 3413
+-115.274 39.444 3381
+-115.148 39.444 3369
+-115.022 39.444 3349
+-114.896 39.444 3328
+-114.77 39.444 3310
+-114.644 39.444 3295
+-114.518 39.444 3290
+-114.392 39.444 3288
+-114.266 39.444 3273
+-114.14 39.444 3284
+-114.014 39.444 3253
+-113.888 39.444 3244
+-113.762 39.444 3159
+-113.636 39.444 3104
+-113.51 39.444 3019
+-113.384 39.444 2983
+-113.258 39.444 2981
+-113.132 39.444 2948
+-113.006 39.444 2911
+-112.88 39.444 2870
+-112.754 39.444 2786
+-112.628 39.444 2737
+-112.502 39.444 2703
+-112.376 39.444 2650
+-112.25 39.444 2544
+-112.124 39.444 2482
+-111.998 39.444 2449
+-111.872 39.444 2402
+-111.746 39.444 2363
+-111.62 39.444 2332
+-111.494 39.444 2269
+-111.368 39.444 2251
+-111.242 39.444 2141
+-111.116 39.444 2114
+-110.99 39.444 2114
+-110.864 39.444 2116
+-110.738 39.444 2104
+-110.612 39.444 2113
+-110.486 39.444 2122
+-110.36 39.444 2132
+-110.234 39.444 2179
+-110.108 39.444 2153
+-109.982 39.444 2164
+-109.856 39.444 2139
+-109.73 39.444 2150
+-109.604 39.444 2141
+-109.478 39.444 2195
+-109.352 39.444 2207
+-109.226 39.444 2198
+-109.1 39.444 2156
+-108.974 39.444 2167
+-108.848 39.444 2177
+-108.722 39.444 2189
+-108.596 39.444 2198
+-108.47 39.444 2204
+-108.344 39.444 2213
+-108.218 39.444 2273
+-108.092 39.444 2230
+-107.966 39.444 2287
+-107.84 39.444 2293
+-107.714 39.444 2300
+-107.588 39.444 2307
+-107.462 39.444 2314
+-107.336 39.444 2321
+-107.21 39.444 2327
+-107.084 39.444 2332
+-106.958 39.444 2400
+-106.832 39.444 2406
+-106.706 39.444 2412
+-106.58 39.444 2417
+-106.454 39.444 2442
+-106.328 39.444 2448
+-106.202 39.444 2479
+-106.076 39.444 2562
+-105.95 39.444 2586
+-105.824 39.444 2592
+-105.698 39.444 2598
+-105.572 39.444 2603
+-105.446 39.444 2609
+-105.32 39.444 2565
+-105.194 39.444 2727
+-105.068 39.444 2755
+-104.942 39.444 2623
+-104.816 39.444 2638
+-104.69 39.444 2529
+-104.564 39.444 2522
+-104.438 39.444 2478
+-104.312 39.444 2498
+-104.186 39.444 2489
+-104.06 39.444 2489
+-103.934 39.444 2354
+-103.808 39.444 2389
+-103.682 39.444 2374
+-103.556 39.444 2317
+-103.43 39.444 2286
+-103.304 39.444 2300
+-103.178 39.444 2254
+-103.052 39.444 2318
+-102.926 39.444 2312
+-102.8 39.444 2338
+-102.674 39.444 2356
+-102.548 39.444 2355
+-102.422 39.444 2417
+-102.296 39.444 2427
+-102.17 39.444 2463
+-102.044 39.444 2463
+-101.918 39.444 2464
+-101.792 39.444 2503
+-101.666 39.444 2653
+-101.54 39.444 2650
+-101.414 39.444 2648
+-101.288 39.444 2646
+-101.162 39.444 2644
+-101.036 39.444 2727
+-100.91 39.444 2724
+-100.784 39.444 2722
+-100.658 39.444 2720
+-100.532 39.444 2718
+-100.406 39.444 2808
+-100.28 39.444 2807
+-100.154 39.444 2806
+-100.028 39.444 2806
+-99.902 39.444 2806
+-99.776 39.444 2813
+-99.65 39.444 2879
+-99.524 39.444 2881
+-99.398 39.444 2884
+-99.272 39.444 2887
+-99.146 39.444 2890
+-99.02 39.444 2894
+-98.894 39.444 2905
+-98.768 39.444 2933
+-98.642 39.444 2936
+-98.516 39.444 3059
+-98.39 39.444 3061
+-98.264 39.444 3062
+-98.138 39.444 3061
+-98.012 39.444 3058
+-97.886 39.444 3151
+-97.76 39.444 3130
+-97.634 39.444 3143
+-97.508 39.444 3134
+-97.382 39.444 3094
+-97.256 39.444 3052
+-97.13 39.444 2979
+-97.004 39.444 2894
+-96.878 39.444 2786
+-96.752 39.444 2726
+-96.626 39.444 2842
+-96.5 39.444 3107
+-96.374 39.444 3405
+-96.248 39.444 3649
+-96.122 39.444 3819
+-95.996 39.444 3933
+-95.87 39.444 4063
+-95.744 39.444 4126
+-95.618 39.444 4226
+-95.492 39.444 4324
+-95.366 39.444 4368
+-95.24 39.444 4409
+-95.114 39.444 4472
+-94.988 39.444 4565
+-94.862 39.444 4548
+-94.736 39.444 4725
+-94.61 39.444 4970
+-94.484 39.444 5156
+-94.358 39.444 5117
+-94.232 39.444 5317
+-94.106 39.444 5394
+-93.98 39.444 5524
+-93.854 39.444 5657
+-93.728 39.444 5803
+-93.602 39.444 5950
+-93.476 39.444 6116
+-93.35 39.444 6251
+-93.224 39.444 6372
+-93.098 39.444 6459
+-92.972 39.444 6600
+-92.846 39.444 6761
+-92.72 39.444 6837
+-92.594 39.444 6948
+-92.468 39.444 7143
+-92.342 39.444 7200
+-92.216 39.444 7408
+-92.09 39.444 7464
+-91.964 39.444 7565
+-91.838 39.444 7741
+-91.712 39.444 7902
+-91.586 39.444 8000
+-91.46 39.444 8147
+-91.334 39.444 8204
+-91.208 39.444 8327
+-91.082 39.444 8412
+-90.956 39.444 8565
+-90.83 39.444 8572
+-90.704 39.444 8651
+-90.578 39.444 8673
+-90.452 39.444 8688
+-90.326 39.444 8709
+-90.2 39.444 8626
+-90.074 39.444 8600
+-89.948 39.444 8528
+-89.822 39.444 8440
+-89.696 39.444 8362
+-89.57 39.444 8268
+-89.444 39.444 8145
+-89.318 39.444 8011
+-89.192 39.444 7902
+-89.066 39.444 7806
+-88.94 39.444 7656
+-88.814 39.444 7830
+-88.688 39.444 7853
+-88.562 39.444 7824
+-88.436 39.444 7829
+-88.31 39.444 7748
+-88.184 39.444 7735
+-88.058 39.444 7627
+-87.932 39.444 7596
+-87.806 39.444 7531
+-87.68 39.444 7494
+-87.554 39.444 7411
+-87.428 39.444 7325
+-87.302 39.444 7246
+-87.176 39.444 7122
+-87.05 39.444 6984
+-86.924 39.444 6892
+-86.798 39.444 6807
+-86.672 39.444 6714
+-86.546 39.444 6595
+-86.42 39.444 6526
+-86.294 39.444 6355
+-86.168 39.444 6228
+-86.042 39.444 6148
+-85.916 39.444 6028
+-85.79 39.444 5916
+-85.664 39.444 5780
+-85.538 39.444 5634
+-85.412 39.444 5564
+-85.286 39.444 5434
+-85.16 39.444 5256
+-85.034 39.444 5149
+-84.908 39.444 5075
+-84.782 39.444 4898
+-84.656 39.444 4784
+-84.53 39.444 4597
+-84.404 39.444 4420
+-84.278 39.444 4442
+-84.152 39.444 4332
+-84.026 39.444 4230
+-83.9 39.444 4231
+-83.774 39.444 4228
+-83.648 39.444 4188
+-83.522 39.444 4108
+-83.396 39.444 4013
+-83.27 39.444 3915
+-83.144 39.444 3817
+-83.018 39.444 3799
+-82.892 39.444 3781
+-82.766 39.444 3823
+-82.64 39.444 3866
+-82.514 39.444 3886
+-82.388 39.444 3918
+-82.262 39.444 3932
+-82.136 39.444 3918
+-82.01 39.444 3852
+-81.884 39.444 3861
+-81.758 39.444 3869
+-81.632 39.444 3876
+-81.506 39.444 3881
+-81.38 39.444 3799
+-81.254 39.444 3804
+-81.128 39.444 3768
+-81.002 39.444 3727
+-80.876 39.444 3712
+-80.75 39.444 3658
+-80.624 39.444 3658
+-80.498 39.444 3658
+-80.372 39.444 3627
+-80.246 39.444 3627
+-80.12 39.444 3627
+-79.994 39.444 3613
+-79.868 39.444 3613
+-79.742 39.444 3613
+-79.616 39.444 3613
+-79.49 39.444 3613
+-79.364 39.444 3613
+-79.238 39.444 3613
+-79.112 39.444 3613
+-78.986 39.444 3613
+-78.86 39.444 3614
+-78.734 39.444 3542
+-78.608 39.444 3532
+-78.482 39.444 3532
+-78.356 39.444 3532
+-78.23 39.444 3532
+-78.104 39.444 3532
+-77.978 39.444 3517
+-77.852 39.444 3516
+-77.726 39.444 3516
+-77.6 39.444 3516
+-77.474 39.444 3516
+-77.348 39.444 3516
+-77.222 39.444 3516
+-77.096 39.444 3516
+-76.97 39.444 3516
+-76.844 39.444 3451
+-76.718 39.444 3451
+-76.592 39.444 3452
+-76.466 39.444 3452
+-76.34 39.444 3453
+-76.214 39.444 3453
+-76.088 39.444 3453
+-75.962 39.444 3454
+-75.836 39.444 3454
+-75.71 39.444 3454
+-75.584 39.444 3455
+-75.458 39.444 3455
+-75.332 39.444 3455
+-75.206 39.444 3385
+-75.08 39.444 3384
+-74.954 39.444 3384
+-74.828 39.444 3383
+-74.702 39.444 3383
+-74.576 39.444 3382
+-74.45 39.444 3382
+-74.324 39.444 3382
+-74.198 39.444 3381
+-74.072 39.444 3381
+-73.946 39.444 3380
+-73.82 39.444 3380
+-73.694 39.444 3380
+-73.568 39.444 3379
+-73.442 39.444 3379
+-73.316 39.444 3379
+-73.19 39.444 3378
+-73.064 39.444 3378
+-72.938 39.444 3378
+-72.812 39.444 3377
+-72.686 39.444 3377
+-72.56 39.444 3377
+-72.434 39.444 3377
+-72.308 39.444 3376
+-72.182 39.444 3376
+-72.056 39.444 3071
+-71.93 39.444 3070
+-71.804 39.444 3069
+-71.678 39.444 3068
+-71.552 39.444 3067
+-71.426 39.444 3066
+-71.3 39.444 3065
+-71.174 39.444 3064
+-71.048 39.444 3063
+-70.922 39.444 3062
+-70.796 39.444 3061
+-70.67 39.444 3060
+-70.544 39.444 3060
+-70.418 39.444 3059
+-70.292 39.444 3058
+-70.166 39.444 3057
+-70.04 39.444 3057
+-69.914 39.444 3056
+-69.788 39.444 2930
+-69.662 39.444 2929
+-69.536 39.444 2898
+-69.41 39.444 2851
+-69.284 39.444 2850
+-69.158 39.444 2849
+-69.032 39.444 2864
+-68.906 39.444 2863
+-68.78 39.444 2874
+-68.654 39.444 2873
+-68.528 39.444 2832
+-68.402 39.444 2793
+-68.276 39.444 2792
+-68.15 39.444 2792
+-68.024 39.444 2792
+-67.898 39.444 2811
+-67.772 39.444 2817
+-67.646 39.444 2826
+-67.52 39.444 2824
+-67.394 39.444 2863
+-67.268 39.444 2874
+-67.142 39.444 2875
+-67.016 39.444 2936
+-66.89 39.444 2959
+-66.764 39.444 2934
+-66.638 39.444 2922
+-66.512 39.444 3084
+-66.386 39.444 3085
+-66.26 39.444 3154
+-66.134 39.444 3155
+-66.008 39.444 3156
+-65.882 39.444 3157
+-65.756 39.444 3158
+-65.63 39.444 3063
+-65.504 39.444 3085
+-65.378 39.444 3086
+-65.252 39.444 3073
+-65.126 39.444 3372
+-128 39.392 2504
+-127.874 39.392 2500
+-127.748 39.392 2475
+-127.622 39.392 2478
+-127.496 39.392 2475
+-127.37 39.392 2462
+-127.244 39.392 2458
+-127.118 39.392 2417
+-126.992 39.392 2413
+-126.866 39.392 2408
+-126.74 39.392 2393
+-126.614 39.392 2376
+-126.488 39.392 2351
+-126.362 39.392 2347
+-126.236 39.392 2342
+-126.11 39.392 2322
+-125.984 39.392 2345
+-125.858 39.392 2339
+-125.732 39.392 2341
+-125.606 39.392 2324
+-125.48 39.392 2319
+-125.354 39.392 2301
+-125.228 39.392 2297
+-125.102 39.392 2291
+-124.976 39.392 2285
+-124.85 39.392 2283
+-124.724 39.392 2281
+-124.598 39.392 2275
+-124.472 39.392 2269
+-124.346 39.392 2290
+-124.22 39.392 2282
+-124.094 39.392 2274
+-123.968 39.392 2267
+-123.842 39.392 2260
+-123.716 39.392 2256
+-123.59 39.392 2253
+-123.464 39.392 2252
+-123.338 39.392 2253
+-123.212 39.392 2258
+-123.086 39.392 2283
+-122.96 39.392 2296
+-122.834 39.392 2314
+-122.708 39.392 2348
+-122.582 39.392 2398
+-122.456 39.392 2434
+-122.33 39.392 2453
+-122.204 39.392 2527
+-122.078 39.392 2568
+-121.952 39.392 2607
+-121.826 39.392 2682
+-121.7 39.392 2716
+-121.574 39.392 2740
+-121.448 39.392 2796
+-121.322 39.392 2813
+-121.196 39.392 2828
+-121.07 39.392 2842
+-120.944 39.392 2877
+-120.818 39.392 2961
+-120.692 39.392 3024
+-120.566 39.392 3060
+-120.44 39.392 3110
+-120.314 39.392 3144
+-120.188 39.392 3169
+-120.062 39.392 3164
+-119.936 39.392 3146
+-119.81 39.392 3187
+-119.684 39.392 3293
+-119.558 39.392 3394
+-119.432 39.392 3475
+-119.306 39.392 3520
+-119.18 39.392 3562
+-119.054 39.392 3599
+-118.928 39.392 3629
+-118.802 39.392 3610
+-118.676 39.392 3658
+-118.55 39.392 3745
+-118.424 39.392 3790
+-118.298 39.392 3851
+-118.172 39.392 3882
+-118.046 39.392 3908
+-117.92 39.392 3956
+-117.794 39.392 3972
+-117.668 39.392 3991
+-117.542 39.392 3974
+-117.416 39.392 3944
+-117.29 39.392 3904
+-117.164 39.392 3885
+-117.038 39.392 3880
+-116.912 39.392 3862
+-116.786 39.392 3867
+-116.66 39.392 3897
+-116.534 39.392 3903
+-116.408 39.392 3889
+-116.282 39.392 3884
+-116.156 39.392 3831
+-116.03 39.392 3793
+-115.904 39.392 3733
+-115.778 39.392 3689
+-115.652 39.392 3642
+-115.526 39.392 3593
+-115.4 39.392 3557
+-115.274 39.392 3506
+-115.148 39.392 3480
+-115.022 39.392 3456
+-114.896 39.392 3400
+-114.77 39.392 3380
+-114.644 39.392 3368
+-114.518 39.392 3358
+-114.392 39.392 3333
+-114.266 39.392 3336
+-114.14 39.392 3328
+-114.014 39.392 3356
+-113.888 39.392 3295
+-113.762 39.392 3212
+-113.636 39.392 3194
+-113.51 39.392 3162
+-113.384 39.392 3075
+-113.258 39.392 3037
+-113.132 39.392 3005
+-113.006 39.392 2970
+-112.88 39.392 2957
+-112.754 39.392 2849
+-112.628 39.392 2826
+-112.502 39.392 2779
+-112.376 39.392 2674
+-112.25 39.392 2612
+-112.124 39.392 2585
+-111.998 39.392 2536
+-111.872 39.392 2495
+-111.746 39.392 2457
+-111.62 39.392 2382
+-111.494 39.392 2356
+-111.368 39.392 2291
+-111.242 39.392 2275
+-111.116 39.392 2242
+-110.99 39.392 2176
+-110.864 39.392 2172
+-110.738 39.392 2194
+-110.612 39.392 2159
+-110.486 39.392 2197
+-110.36 39.392 2204
+-110.234 39.392 2171
+-110.108 39.392 2178
+-109.982 39.392 2150
+-109.856 39.392 2158
+-109.73 39.392 2147
+-109.604 39.392 2199
+-109.478 39.392 2209
+-109.352 39.392 2200
+-109.226 39.392 2210
+-109.1 39.392 2219
+-108.974 39.392 2229
+-108.848 39.392 2188
+-108.722 39.392 2200
+-108.596 39.392 2206
+-108.47 39.392 2215
+-108.344 39.392 2274
+-108.218 39.392 2232
+-108.092 39.392 2287
+-107.966 39.392 2293
+-107.84 39.392 2301
+-107.714 39.392 2308
+-107.588 39.392 2315
+-107.462 39.392 2321
+-107.336 39.392 2327
+-107.21 39.392 2333
+-107.084 39.392 2398
+-106.958 39.392 2404
+-106.832 39.392 2410
+-106.706 39.392 2416
+-106.58 39.392 2440
+-106.454 39.392 2446
+-106.328 39.392 2476
+-106.202 39.392 2557
+-106.076 39.392 2581
+-105.95 39.392 2587
+-105.824 39.392 2593
+-105.698 39.392 2599
+-105.572 39.392 2605
+-105.446 39.392 2562
+-105.32 39.392 2721
+-105.194 39.392 2748
+-105.068 39.392 2753
+-104.942 39.392 2625
+-104.816 39.392 2641
+-104.69 39.392 2638
+-104.564 39.392 2492
+-104.438 39.392 2513
+-104.312 39.392 2505
+-104.186 39.392 2507
+-104.06 39.392 2498
+-103.934 39.392 2366
+-103.808 39.392 2399
+-103.682 39.392 2384
+-103.556 39.392 2327
+-103.43 39.392 2297
+-103.304 39.392 2288
+-103.178 39.392 2325
+-103.052 39.392 2328
+-102.926 39.392 2323
+-102.8 39.392 2376
+-102.674 39.392 2377
+-102.548 39.392 2365
+-102.422 39.392 2427
+-102.296 39.392 2467
+-102.17 39.392 2469
+-102.044 39.392 2477
+-101.918 39.392 2551
+-101.792 39.392 2653
+-101.666 39.392 2665
+-101.54 39.392 2663
+-101.414 39.392 2662
+-101.288 39.392 2660
+-101.162 39.392 2745
+-101.036 39.392 2743
+-100.91 39.392 2741
+-100.784 39.392 2740
+-100.658 39.392 2738
+-100.532 39.392 2737
+-100.406 39.392 2736
+-100.28 39.392 2828
+-100.154 39.392 2828
+-100.028 39.392 2828
+-99.902 39.392 2829
+-99.776 39.392 2830
+-99.65 39.392 2838
+-99.524 39.392 2905
+-99.398 39.392 2908
+-99.272 39.392 2911
+-99.146 39.392 2914
+-99.02 39.392 2938
+-98.894 39.392 2941
+-98.768 39.392 2957
+-98.642 39.392 3077
+-98.516 39.392 3080
+-98.39 39.392 3083
+-98.264 39.392 3084
+-98.138 39.392 3084
+-98.012 39.392 3181
+-97.886 39.392 3166
+-97.76 39.392 3152
+-97.634 39.392 3130
+-97.508 39.392 3140
+-97.382 39.392 3121
+-97.256 39.392 3065
+-97.13 39.392 3001
+-97.004 39.392 2875
+-96.878 39.392 2710
+-96.752 39.392 2615
+-96.626 39.392 2756
+-96.5 39.392 3097
+-96.374 39.392 3450
+-96.248 39.392 3678
+-96.122 39.392 3826
+-95.996 39.392 3926
+-95.87 39.392 4004
+-95.744 39.392 4106
+-95.618 39.392 4192
+-95.492 39.392 4266
+-95.366 39.392 4298
+-95.24 39.392 4327
+-95.114 39.392 4371
+-94.988 39.392 4495
+-94.862 39.392 4620
+-94.736 39.392 4780
+-94.61 39.392 5009
+-94.484 39.392 5192
+-94.358 39.392 5275
+-94.232 39.392 5387
+-94.106 39.392 5408
+-93.98 39.392 5550
+-93.854 39.392 5682
+-93.728 39.392 5819
+-93.602 39.392 5998
+-93.476 39.392 6156
+-93.35 39.392 6257
+-93.224 39.392 6362
+-93.098 39.392 6460
+-92.972 39.392 6586
+-92.846 39.392 6791
+-92.72 39.392 6834
+-92.594 39.392 6977
+-92.468 39.392 7152
+-92.342 39.392 7223
+-92.216 39.392 7445
+-92.09 39.392 7568
+-91.964 39.392 7674
+-91.838 39.392 7797
+-91.712 39.392 7895
+-91.586 39.392 8047
+-91.46 39.392 8160
+-91.334 39.392 8299
+-91.208 39.392 8366
+-91.082 39.392 8441
+-90.956 39.392 8554
+-90.83 39.392 8631
+-90.704 39.392 8715
+-90.578 39.392 8746
+-90.452 39.392 8751
+-90.326 39.392 8723
+-90.2 39.392 8684
+-90.074 39.392 8672
+-89.948 39.392 8565
+-89.822 39.392 8482
+-89.696 39.392 8408
+-89.57 39.392 8309
+-89.444 39.392 8181
+-89.318 39.392 8046
+-89.192 39.392 7897
+-89.066 39.392 7791
+-88.94 39.392 7806
+-88.814 39.392 7912
+-88.688 39.392 7906
+-88.562 39.392 7875
+-88.436 39.392 7843
+-88.31 39.392 7802
+-88.184 39.392 7745
+-88.058 39.392 7704
+-87.932 39.392 7661
+-87.806 39.392 7583
+-87.68 39.392 7516
+-87.554 39.392 7415
+-87.428 39.392 7397
+-87.302 39.392 7222
+-87.176 39.392 7166
+-87.05 39.392 7078
+-86.924 39.392 6959
+-86.798 39.392 6843
+-86.672 39.392 6753
+-86.546 39.392 6647
+-86.42 39.392 6520
+-86.294 39.392 6403
+-86.168 39.392 6317
+-86.042 39.392 6207
+-85.916 39.392 6036
+-85.79 39.392 5881
+-85.664 39.392 5828
+-85.538 39.392 5692
+-85.412 39.392 5593
+-85.286 39.392 5462
+-85.16 39.392 5255
+-85.034 39.392 5103
+-84.908 39.392 5072
+-84.782 39.392 4890
+-84.656 39.392 4785
+-84.53 39.392 4641
+-84.404 39.392 4528
+-84.278 39.392 4434
+-84.152 39.392 4279
+-84.026 39.392 4058
+-83.9 39.392 4178
+-83.774 39.392 4207
+-83.648 39.392 4205
+-83.522 39.392 4159
+-83.396 39.392 4111
+-83.27 39.392 4039
+-83.144 39.392 3991
+-83.018 39.392 3939
+-82.892 39.392 3914
+-82.766 39.392 3918
+-82.64 39.392 3936
+-82.514 39.392 3935
+-82.388 39.392 3945
+-82.262 39.392 3944
+-82.136 39.392 3958
+-82.01 39.392 3970
+-81.884 39.392 3876
+-81.758 39.392 3882
+-81.632 39.392 3887
+-81.506 39.392 3892
+-81.38 39.392 3881
+-81.254 39.392 3798
+-81.128 39.392 3757
+-81.002 39.392 3719
+-80.876 39.392 3663
+-80.75 39.392 3663
+-80.624 39.392 3663
+-80.498 39.392 3662
+-80.372 39.392 3662
+-80.246 39.392 3632
+-80.12 39.392 3616
+-79.994 39.392 3616
+-79.868 39.392 3616
+-79.742 39.392 3615
+-79.616 39.392 3615
+-79.49 39.392 3615
+-79.364 39.392 3615
+-79.238 39.392 3615
+-79.112 39.392 3615
+-78.986 39.392 3615
+-78.86 39.392 3544
+-78.734 39.392 3534
+-78.608 39.392 3534
+-78.482 39.392 3534
+-78.356 39.392 3534
+-78.23 39.392 3534
+-78.104 39.392 3534
+-77.978 39.392 3517
+-77.852 39.392 3517
+-77.726 39.392 3517
+-77.6 39.392 3517
+-77.474 39.392 3517
+-77.348 39.392 3517
+-77.222 39.392 3517
+-77.096 39.392 3517
+-76.97 39.392 3451
+-76.844 39.392 3452
+-76.718 39.392 3452
+-76.592 39.392 3452
+-76.466 39.392 3453
+-76.34 39.392 3453
+-76.214 39.392 3453
+-76.088 39.392 3454
+-75.962 39.392 3454
+-75.836 39.392 3454
+-75.71 39.392 3455
+-75.584 39.392 3455
+-75.458 39.392 3455
+-75.332 39.392 3385
+-75.206 39.392 3384
+-75.08 39.392 3384
+-74.954 39.392 3383
+-74.828 39.392 3383
+-74.702 39.392 3382
+-74.576 39.392 3382
+-74.45 39.392 3382
+-74.324 39.392 3381
+-74.198 39.392 3381
+-74.072 39.392 3380
+-73.946 39.392 3380
+-73.82 39.392 3380
+-73.694 39.392 3379
+-73.568 39.392 3379
+-73.442 39.392 3379
+-73.316 39.392 3378
+-73.19 39.392 3378
+-73.064 39.392 3378
+-72.938 39.392 3377
+-72.812 39.392 3377
+-72.686 39.392 3377
+-72.56 39.392 3376
+-72.434 39.392 3376
+-72.308 39.392 3376
+-72.182 39.392 3071
+-72.056 39.392 3069
+-71.93 39.392 3068
+-71.804 39.392 3067
+-71.678 39.392 3067
+-71.552 39.392 3066
+-71.426 39.392 3065
+-71.3 39.392 3064
+-71.174 39.392 3063
+-71.048 39.392 3062
+-70.922 39.392 3061
+-70.796 39.392 3060
+-70.67 39.392 3059
+-70.544 39.392 3059
+-70.418 39.392 3058
+-70.292 39.392 3057
+-70.166 39.392 3056
+-70.04 39.392 3056
+-69.914 39.392 2929
+-69.788 39.392 2928
+-69.662 39.392 2898
+-69.536 39.392 2850
+-69.41 39.392 2849
+-69.284 39.392 2848
+-69.158 39.392 2863
+-69.032 39.392 2862
+-68.906 39.392 2873
+-68.78 39.392 2873
+-68.654 39.392 2832
+-68.528 39.392 2792
+-68.402 39.392 2792
+-68.276 39.392 2791
+-68.15 39.392 2791
+-68.024 39.392 2810
+-67.898 39.392 2816
+-67.772 39.392 2826
+-67.646 39.392 2824
+-67.52 39.392 2862
+-67.394 39.392 2873
+-67.268 39.392 2874
+-67.142 39.392 2935
+-67.016 39.392 2958
+-66.89 39.392 2933
+-66.764 39.392 2921
+-66.638 39.392 3083
+-66.512 39.392 3084
+-66.386 39.392 3153
+-66.26 39.392 3154
+-66.134 39.392 3155
+-66.008 39.392 3156
+-65.882 39.392 3157
+-65.756 39.392 3062
+-65.63 39.392 3084
+-65.504 39.392 3085
+-65.378 39.392 3072
+-65.252 39.392 3371
+-65.126 39.392 3404
+-128 39.34 2476
+-127.874 39.34 2473
+-127.748 39.34 2448
+-127.622 39.34 2445
+-127.496 39.34 2464
+-127.37 39.34 2461
+-127.244 39.34 2417
+-127.118 39.34 2413
+-126.992 39.34 2399
+-126.866 39.34 2396
+-126.74 39.34 2386
+-126.614 39.34 2353
+-126.488 39.34 2349
+-126.362 39.34 2346
+-126.236 39.34 2325
+-126.11 39.34 2350
+-125.984 39.34 2345
+-125.858 39.34 2347
+-125.732 39.34 2330
+-125.606 39.34 2325
+-125.48 39.34 2308
+-125.354 39.34 2304
+-125.228 39.34 2298
+-125.102 39.34 2298
+-124.976 39.34 2291
+-124.85 39.34 2288
+-124.724 39.34 2284
+-124.598 39.34 2278
+-124.472 39.34 2300
+-124.346 39.34 2292
+-124.22 39.34 2283
+-124.094 39.34 2274
+-123.968 39.34 2277
+-123.842 39.34 2270
+-123.716 39.34 2254
+-123.59 39.34 2249
+-123.464 39.34 2246
+-123.338 39.34 2262
+-123.212 39.34 2266
+-123.086 39.34 2272
+-122.96 39.34 2283
+-122.834 39.34 2310
+-122.708 39.34 2335
+-122.582 39.34 2365
+-122.456 39.34 2449
+-122.33 39.34 2492
+-122.204 39.34 2523
+-122.078 39.34 2569
+-121.952 39.34 2651
+-121.826 39.34 2692
+-121.7 39.34 2730
+-121.574 39.34 2792
+-121.448 39.34 2820
+-121.322 39.34 2844
+-121.196 39.34 2867
+-121.07 39.34 2890
+-120.944 39.34 2932
+-120.818 39.34 2995
+-120.692 39.34 3059
+-120.566 39.34 3118
+-120.44 39.34 3150
+-120.314 39.34 3187
+-120.188 39.34 3199
+-120.062 39.34 3195
+-119.936 39.34 3188
+-119.81 39.34 3240
+-119.684 39.34 3359
+-119.558 39.34 3452
+-119.432 39.34 3514
+-119.306 39.34 3532
+-119.18 39.34 3567
+-119.054 39.34 3631
+-118.928 39.34 3669
+-118.802 39.34 3667
+-118.676 39.34 3726
+-118.55 39.34 3802
+-118.424 39.34 3833
+-118.298 39.34 3878
+-118.172 39.34 3932
+-118.046 39.34 3985
+-117.92 39.34 4024
+-117.794 39.34 4049
+-117.668 39.34 4047
+-117.542 39.34 4024
+-117.416 39.34 3980
+-117.29 39.34 3916
+-117.164 39.34 3873
+-117.038 39.34 3908
+-116.912 39.34 3942
+-116.786 39.34 3966
+-116.66 39.34 3956
+-116.534 39.34 3972
+-116.408 39.34 3958
+-116.282 39.34 3948
+-116.156 39.34 3939
+-116.03 39.34 3879
+-115.904 39.34 3826
+-115.778 39.34 3785
+-115.652 39.34 3738
+-115.526 39.34 3697
+-115.4 39.34 3661
+-115.274 39.34 3641
+-115.148 39.34 3609
+-115.022 39.34 3577
+-114.896 39.34 3489
+-114.77 39.34 3464
+-114.644 39.34 3433
+-114.518 39.34 3425
+-114.392 39.34 3384
+-114.266 39.34 3391
+-114.14 39.34 3395
+-114.014 39.34 3397
+-113.888 39.34 3387
+-113.762 39.34 3317
+-113.636 39.34 3309
+-113.51 39.34 3209
+-113.384 39.34 3195
+-113.258 39.34 3172
+-113.132 39.34 3101
+-113.006 39.34 3070
+-112.88 39.34 3013
+-112.754 39.34 3009
+-112.628 39.34 2892
+-112.502 39.34 2789
+-112.376 39.34 2729
+-112.25 39.34 2707
+-112.124 39.34 2659
+-111.998 39.34 2616
+-111.872 39.34 2575
+-111.746 39.34 2492
+-111.62 39.34 2459
+-111.494 39.34 2429
+-111.368 39.34 2359
+-111.242 39.34 2339
+-111.116 39.34 2301
+-110.99 39.34 2287
+-110.864 39.34 2218
+-110.738 39.34 2238
+-110.612 39.34 2232
+-110.486 39.34 2232
+-110.36 39.34 2193
+-110.234 39.34 2195
+-110.108 39.34 2163
+-109.982 39.34 2167
+-109.856 39.34 2185
+-109.73 39.34 2202
+-109.604 39.34 2210
+-109.478 39.34 2200
+-109.352 39.34 2210
+-109.226 39.34 2218
+-109.1 39.34 2228
+-108.974 39.34 2238
+-108.848 39.34 2244
+-108.722 39.34 2257
+-108.596 39.34 2264
+-108.47 39.34 2274
+-108.344 39.34 2234
+-108.218 39.34 2288
+-108.092 39.34 2294
+-107.966 39.34 2302
+-107.84 39.34 2309
+-107.714 39.34 2316
+-107.588 39.34 2322
+-107.462 39.34 2328
+-107.336 39.34 2333
+-107.21 39.34 2397
+-107.084 39.34 2403
+-106.958 39.34 2408
+-106.832 39.34 2414
+-106.706 39.34 2438
+-106.58 39.34 2444
+-106.454 39.34 2474
+-106.328 39.34 2553
+-106.202 39.34 2576
+-106.076 39.34 2582
+-105.95 39.34 2589
+-105.824 39.34 2595
+-105.698 39.34 2600
+-105.572 39.34 2559
+-105.446 39.34 2714
+-105.32 39.34 2741
+-105.194 39.34 2746
+-105.068 39.34 2750
+-104.942 39.34 2779
+-104.816 39.34 2643
+-104.69 39.34 2604
+-104.564 39.34 2527
+-104.438 39.34 2520
+-104.312 39.34 2523
+-104.186 39.34 2515
+-104.06 39.34 2520
+-103.934 39.34 2572
+-103.808 39.34 2419
+-103.682 39.34 2401
+-103.556 39.34 2392
+-103.43 39.34 2361
+-103.304 39.34 2299
+-103.178 39.34 2336
+-103.052 39.34 2327
+-102.926 39.34 2333
+-102.8 39.34 2391
+-102.674 39.34 2386
+-102.548 39.34 2386
+-102.422 39.34 2424
+-102.296 39.34 2477
+-102.17 39.34 2481
+-102.044 39.34 2558
+-101.918 39.34 2586
+-101.792 39.34 2663
+-101.666 39.34 2677
+-101.54 39.34 2676
+-101.414 39.34 2675
+-101.288 39.34 2775
+-101.162 39.34 2774
+-101.036 39.34 2772
+-100.91 39.34 2770
+-100.784 39.34 2769
+-100.658 39.34 2768
+-100.532 39.34 2768
+-100.406 39.34 2767
+-100.28 39.34 2767
+-100.154 39.34 2848
+-100.028 39.34 2849
+-99.902 39.34 2850
+-99.776 39.34 2852
+-99.65 39.34 2854
+-99.524 39.34 2862
+-99.398 39.34 2930
+-99.272 39.34 2955
+-99.146 39.34 2959
+-99.02 39.34 2962
+-98.894 39.34 2989
+-98.768 39.34 2992
+-98.642 39.34 2994
+-98.516 39.34 3100
+-98.39 39.34 3103
+-98.264 39.34 3104
+-98.138 39.34 3192
+-98.012 39.34 3198
+-97.886 39.34 3186
+-97.76 39.34 3170
+-97.634 39.34 3152
+-97.508 39.34 3129
+-97.382 39.34 3134
+-97.256 39.34 3102
+-97.13 39.34 3048
+-97.004 39.34 2931
+-96.878 39.34 2805
+-96.752 39.34 2739
+-96.626 39.34 2878
+-96.5 39.34 3179
+-96.374 39.34 3513
+-96.248 39.34 3713
+-96.122 39.34 3839
+-95.996 39.34 3922
+-95.87 39.34 3983
+-95.744 39.34 4070
+-95.618 39.34 4119
+-95.492 39.34 4229
+-95.366 39.34 4267
+-95.24 39.34 4287
+-95.114 39.34 4297
+-94.988 39.34 4400
+-94.862 39.34 4614
+-94.736 39.34 4839
+-94.61 39.34 5009
+-94.484 39.34 5239
+-94.358 39.34 5363
+-94.232 39.34 5471
+-94.106 39.34 5496
+-93.98 39.34 5569
+-93.854 39.34 5725
+-93.728 39.34 5870
+-93.602 39.34 5973
+-93.476 39.34 6132
+-93.35 39.34 6276
+-93.224 39.34 6325
+-93.098 39.34 6464
+-92.972 39.34 6611
+-92.846 39.34 6820
+-92.72 39.34 6967
+-92.594 39.34 6982
+-92.468 39.34 7129
+-92.342 39.34 7321
+-92.216 39.34 7440
+-92.09 39.34 7599
+-91.964 39.34 7732
+-91.838 39.34 7859
+-91.712 39.34 7947
+-91.586 39.34 8016
+-91.46 39.34 8192
+-91.334 39.34 8316
+-91.208 39.34 8396
+-91.082 39.34 8499
+-90.956 39.34 8579
+-90.83 39.34 8661
+-90.704 39.34 8749
+-90.578 39.34 8800
+-90.452 39.34 8798
+-90.326 39.34 8770
+-90.2 39.34 8747
+-90.074 39.34 8668
+-89.948 39.34 8606
+-89.822 39.34 8547
+-89.696 39.34 8441
+-89.57 39.34 8266
+-89.444 39.34 8185
+-89.318 39.34 8068
+-89.192 39.34 7938
+-89.066 39.34 7818
+-88.94 39.34 7743
+-88.814 39.34 7960
+-88.688 39.34 7929
+-88.562 39.34 7942
+-88.436 39.34 7939
+-88.31 39.34 7866
+-88.184 39.34 7819
+-88.058 39.34 7793
+-87.932 39.34 7705
+-87.806 39.34 7632
+-87.68 39.34 7597
+-87.554 39.34 7488
+-87.428 39.34 7368
+-87.302 39.34 7296
+-87.176 39.34 7176
+-87.05 39.34 7096
+-86.924 39.34 6985
+-86.798 39.34 6835
+-86.672 39.34 6767
+-86.546 39.34 6649
+-86.42 39.34 6601
+-86.294 39.34 6483
+-86.168 39.34 6349
+-86.042 39.34 6227
+-85.916 39.34 6024
+-85.79 39.34 5900
+-85.664 39.34 5792
+-85.538 39.34 5667
+-85.412 39.34 5626
+-85.286 39.34 5507
+-85.16 39.34 5316
+-85.034 39.34 5181
+-84.908 39.34 5042
+-84.782 39.34 4915
+-84.656 39.34 4801
+-84.53 39.34 4664
+-84.404 39.34 4553
+-84.278 39.34 4465
+-84.152 39.34 4325
+-84.026 39.34 4206
+-83.9 39.34 4151
+-83.774 39.34 4176
+-83.648 39.34 4203
+-83.522 39.34 4186
+-83.396 39.34 4163
+-83.27 39.34 4120
+-83.144 39.34 4090
+-83.018 39.34 4071
+-82.892 39.34 4012
+-82.766 39.34 3999
+-82.64 39.34 3996
+-82.514 39.34 3985
+-82.388 39.34 3981
+-82.262 39.34 3992
+-82.136 39.34 4002
+-82.01 39.34 4011
+-81.884 39.34 3948
+-81.758 39.34 3925
+-81.632 39.34 3929
+-81.506 39.34 3886
+-81.38 39.34 3820
+-81.254 39.34 3802
+-81.128 39.34 3762
+-81.002 39.34 3695
+-80.876 39.34 3695
+-80.75 39.34 3694
+-80.624 39.34 3694
+-80.498 39.34 3694
+-80.372 39.34 3679
+-80.246 39.34 3619
+-80.12 39.34 3619
+-79.994 39.34 3618
+-79.868 39.34 3618
+-79.742 39.34 3617
+-79.616 39.34 3617
+-79.49 39.34 3617
+-79.364 39.34 3616
+-79.238 39.34 3616
+-79.112 39.34 3616
+-78.986 39.34 3546
+-78.86 39.34 3536
+-78.734 39.34 3535
+-78.608 39.34 3535
+-78.482 39.34 3535
+-78.356 39.34 3535
+-78.23 39.34 3535
+-78.104 39.34 3519
+-77.978 39.34 3518
+-77.852 39.34 3518
+-77.726 39.34 3518
+-77.6 39.34 3518
+-77.474 39.34 3518
+-77.348 39.34 3518
+-77.222 39.34 3518
+-77.096 39.34 3451
+-76.97 39.34 3452
+-76.844 39.34 3452
+-76.718 39.34 3452
+-76.592 39.34 3453
+-76.466 39.34 3453
+-76.34 39.34 3453
+-76.214 39.34 3454
+-76.088 39.34 3454
+-75.962 39.34 3454
+-75.836 39.34 3455
+-75.71 39.34 3455
+-75.584 39.34 3455
+-75.458 39.34 3385
+-75.332 39.34 3384
+-75.206 39.34 3384
+-75.08 39.34 3383
+-74.954 39.34 3383
+-74.828 39.34 3382
+-74.702 39.34 3382
+-74.576 39.34 3382
+-74.45 39.34 3381
+-74.324 39.34 3381
+-74.198 39.34 3380
+-74.072 39.34 3380
+-73.946 39.34 3379
+-73.82 39.34 3379
+-73.694 39.34 3379
+-73.568 39.34 3378
+-73.442 39.34 3378
+-73.316 39.34 3378
+-73.19 39.34 3377
+-73.064 39.34 3377
+-72.938 39.34 3377
+-72.812 39.34 3376
+-72.686 39.34 3376
+-72.56 39.34 3376
+-72.434 39.34 3376
+-72.308 39.34 3071
+-72.182 39.34 3069
+-72.056 39.34 3068
+-71.93 39.34 3067
+-71.804 39.34 3066
+-71.678 39.34 3065
+-71.552 39.34 3064
+-71.426 39.34 3064
+-71.3 39.34 3063
+-71.174 39.34 3062
+-71.048 39.34 3061
+-70.922 39.34 3060
+-70.796 39.34 3059
+-70.67 39.34 3058
+-70.544 39.34 3058
+-70.418 39.34 3057
+-70.292 39.34 3056
+-70.166 39.34 3055
+-70.04 39.34 2929
+-69.914 39.34 2928
+-69.788 39.34 2897
+-69.662 39.34 2850
+-69.536 39.34 2849
+-69.41 39.34 2848
+-69.284 39.34 2863
+-69.158 39.34 2862
+-69.032 39.34 2873
+-68.906 39.34 2872
+-68.78 39.34 2831
+-68.654 39.34 2792
+-68.528 39.34 2791
+-68.402 39.34 2791
+-68.276 39.34 2791
+-68.15 39.34 2810
+-68.024 39.34 2815
+-67.898 39.34 2825
+-67.772 39.34 2823
+-67.646 39.34 2861
+-67.52 39.34 2873
+-67.394 39.34 2873
+-67.268 39.34 2934
+-67.142 39.34 2957
+-67.016 39.34 2932
+-66.89 39.34 2920
+-66.764 39.34 3082
+-66.638 39.34 3083
+-66.512 39.34 3151
+-66.386 39.34 3152
+-66.26 39.34 3154
+-66.134 39.34 3155
+-66.008 39.34 3156
+-65.882 39.34 3061
+-65.756 39.34 3083
+-65.63 39.34 3084
+-65.504 39.34 3071
+-65.378 39.34 3370
+-65.252 39.34 3403
+-65.126 39.34 3404
+-128 39.288 2474
+-127.874 39.288 2449
+-127.748 39.288 2441
+-127.622 39.288 2438
+-127.496 39.288 2435
+-127.37 39.288 2388
+-127.244 39.288 2385
+-127.118 39.288 2403
+-126.992 39.288 2400
+-126.866 39.288 2392
+-126.74 39.288 2387
+-126.614 39.288 2373
+-126.488 39.288 2350
+-126.362 39.288 2371
+-126.236 39.288 2356
+-126.11 39.288 2358
+-125.984 39.288 2353
+-125.858 39.288 2356
+-125.732 39.288 2351
+-125.606 39.288 2314
+-125.48 39.288 2329
+-125.354 39.288 2323
+-125.228 39.288 2308
+-125.102 39.288 2301
+-124.976 39.288 2294
+-124.85 39.288 2307
+-124.724 39.288 2287
+-124.598 39.288 2310
+-124.472 39.288 2301
+-124.346 39.288 2292
+-124.22 39.288 2298
+-124.094 39.288 2284
+-123.968 39.288 2275
+-123.842 39.288 2267
+-123.716 39.288 2259
+-123.59 39.288 2251
+-123.464 39.288 2244
+-123.338 39.288 2248
+-123.212 39.288 2246
+-123.086 39.288 2248
+-122.96 39.288 2271
+-122.834 39.288 2286
+-122.708 39.288 2328
+-122.582 39.288 2364
+-122.456 39.288 2407
+-122.33 39.288 2456
+-122.204 39.288 2544
+-122.078 39.288 2599
+-121.952 39.288 2651
+-121.826 39.288 2698
+-121.7 39.288 2741
+-121.574 39.288 2805
+-121.448 39.288 2837
+-121.322 39.288 2867
+-121.196 39.288 2896
+-121.07 39.288 2926
+-120.944 39.288 2972
+-120.818 39.288 3041
+-120.692 39.288 3105
+-120.566 39.288 3165
+-120.44 39.288 3192
+-120.314 39.288 3217
+-120.188 39.288 3243
+-120.062 39.288 3274
+-119.936 39.288 3292
+-119.81 39.288 3351
+-119.684 39.288 3440
+-119.558 39.288 3501
+-119.432 39.288 3528
+-119.306 39.288 3525
+-119.18 39.288 3563
+-119.054 39.288 3652
+-118.928 39.288 3719
+-118.802 39.288 3766
+-118.676 39.288 3807
+-118.55 39.288 3831
+-118.424 39.288 3824
+-118.298 39.288 3879
+-118.172 39.288 3963
+-118.046 39.288 4018
+-117.92 39.288 4039
+-117.794 39.288 4057
+-117.668 39.288 4070
+-117.542 39.288 4054
+-117.416 39.288 4025
+-117.29 39.288 3969
+-117.164 39.288 3929
+-117.038 39.288 3963
+-116.912 39.288 4007
+-116.786 39.288 4037
+-116.66 39.288 4043
+-116.534 39.288 4028
+-116.408 39.288 3998
+-116.282 39.288 3983
+-116.156 39.288 3974
+-116.03 39.288 3960
+-115.904 39.288 3906
+-115.778 39.288 3857
+-115.652 39.288 3811
+-115.526 39.288 3747
+-115.4 39.288 3725
+-115.274 39.288 3691
+-115.148 39.288 3654
+-115.022 39.288 3613
+-114.896 39.288 3563
+-114.77 39.288 3513
+-114.644 39.288 3490
+-114.518 39.288 3459
+-114.392 39.288 3449
+-114.266 39.288 3440
+-114.14 39.288 3426
+-114.014 39.288 3441
+-113.888 39.288 3420
+-113.762 39.288 3423
+-113.636 39.288 3347
+-113.51 39.288 3343
+-113.384 39.288 3331
+-113.258 39.288 3214
+-113.132 39.288 3190
+-113.006 39.288 3163
+-112.88 39.288 3170
+-112.754 39.288 3078
+-112.628 39.288 2960
+-112.502 39.288 2896
+-112.376 39.288 2817
+-112.25 39.288 2770
+-112.124 39.288 2728
+-111.998 39.288 2686
+-111.872 39.288 2595
+-111.746 39.288 2558
+-111.62 39.288 2523
+-111.494 39.288 2491
+-111.368 39.288 2416
+-111.242 39.288 2422
+-111.116 39.288 2349
+-110.99 39.288 2330
+-110.864 39.288 2312
+-110.738 39.288 2328
+-110.612 39.288 2220
+-110.486 39.288 2218
+-110.36 39.288 2213
+-110.234 39.288 2227
+-110.108 39.288 2227
+-109.982 39.288 2213
+-109.856 39.288 2204
+-109.73 39.288 2210
+-109.604 39.288 2199
+-109.478 39.288 2208
+-109.352 39.288 2215
+-109.226 39.288 2225
+-109.1 39.288 2235
+-108.974 39.288 2242
+-108.848 39.288 2255
+-108.722 39.288 2263
+-108.596 39.288 2273
+-108.47 39.288 2276
+-108.344 39.288 2288
+-108.218 39.288 2296
+-108.092 39.288 2302
+-107.966 39.288 2309
+-107.84 39.288 2316
+-107.714 39.288 2322
+-107.588 39.288 2328
+-107.462 39.288 2334
+-107.336 39.288 2395
+-107.21 39.288 2401
+-107.084 39.288 2407
+-106.958 39.288 2412
+-106.832 39.288 2436
+-106.706 39.288 2442
+-106.58 39.288 2472
+-106.454 39.288 2547
+-106.328 39.288 2571
+-106.202 39.288 2577
+-106.076 39.288 2583
+-105.95 39.288 2590
+-105.824 39.288 2596
+-105.698 39.288 2555
+-105.572 39.288 2707
+-105.446 39.288 2734
+-105.32 39.288 2739
+-105.194 39.288 2743
+-105.068 39.288 2772
+-104.942 39.288 2777
+-104.816 39.288 2609
+-104.69 39.288 2539
+-104.564 39.288 2533
+-104.438 39.288 2537
+-104.312 39.288 2531
+-104.186 39.288 2537
+-104.06 39.288 2590
+-103.934 39.288 2582
+-103.808 39.288 2429
+-103.682 39.288 2449
+-103.556 39.288 2465
+-103.43 39.288 2400
+-103.304 39.288 2363
+-103.178 39.288 2401
+-103.052 39.288 2338
+-102.926 39.288 2343
+-102.8 39.288 2342
+-102.674 39.288 2395
+-102.548 39.288 2396
+-102.422 39.288 2389
+-102.296 39.288 2469
+-102.17 39.288 2587
+-102.044 39.288 2588
+-101.918 39.288 2569
+-101.792 39.288 2646
+-101.666 39.288 2689
+-101.54 39.288 2688
+-101.414 39.288 2791
+-101.288 39.288 2790
+-101.162 39.288 2788
+-101.036 39.288 2787
+-100.91 39.288 2786
+-100.784 39.288 2786
+-100.658 39.288 2785
+-100.532 39.288 2785
+-100.406 39.288 2785
+-100.28 39.288 2786
+-100.154 39.288 2786
+-100.028 39.288 2869
+-99.902 39.288 2870
+-99.776 39.288 2872
+-99.65 39.288 2874
+-99.524 39.288 2877
+-99.398 39.288 2983
+-99.272 39.288 2986
+-99.146 39.288 2989
+-99.02 39.288 2993
+-98.894 39.288 2996
+-98.768 39.288 3013
+-98.642 39.288 3015
+-98.516 39.288 3018
+-98.39 39.288 3100
+-98.264 39.288 3212
+-98.138 39.288 3205
+-98.012 39.288 3197
+-97.886 39.288 3204
+-97.76 39.288 3192
+-97.634 39.288 3177
+-97.508 39.288 3158
+-97.382 39.288 3169
+-97.256 39.288 3131
+-97.13 39.288 3125
+-97.004 39.288 3073
+-96.878 39.288 3014
+-96.752 39.288 3011
+-96.626 39.288 3125
+-96.5 39.288 3345
+-96.374 39.288 3543
+-96.248 39.288 3752
+-96.122 39.288 3842
+-95.996 39.288 3899
+-95.87 39.288 3950
+-95.744 39.288 4017
+-95.618 39.288 4063
+-95.492 39.288 4153
+-95.366 39.288 4228
+-95.24 39.288 4243
+-95.114 39.288 4292
+-94.988 39.288 4397
+-94.862 39.288 4575
+-94.736 39.288 4846
+-94.61 39.288 5032
+-94.484 39.288 5264
+-94.358 39.288 5389
+-94.232 39.288 5474
+-94.106 39.288 5508
+-93.98 39.288 5556
+-93.854 39.288 5725
+-93.728 39.288 5824
+-93.602 39.288 5991
+-93.476 39.288 6148
+-93.35 39.288 6243
+-93.224 39.288 6381
+-93.098 39.288 6454
+-92.972 39.288 6606
+-92.846 39.288 6793
+-92.72 39.288 6882
+-92.594 39.288 7076
+-92.468 39.288 7185
+-92.342 39.288 7346
+-92.216 39.288 7454
+-92.09 39.288 7594
+-91.964 39.288 7717
+-91.838 39.288 7802
+-91.712 39.288 7974
+-91.586 39.288 8068
+-91.46 39.288 8186
+-91.334 39.288 8327
+-91.208 39.288 8438
+-91.082 39.288 8524
+-90.956 39.288 8647
+-90.83 39.288 8734
+-90.704 39.288 8835
+-90.578 39.288 8858
+-90.452 39.288 8888
+-90.326 39.288 8829
+-90.2 39.288 8810
+-90.074 39.288 8737
+-89.948 39.288 8706
+-89.822 39.288 8572
+-89.696 39.288 8458
+-89.57 39.288 8290
+-89.444 39.288 8271
+-89.318 39.288 8089
+-89.192 39.288 7949
+-89.066 39.288 7866
+-88.94 39.288 7711
+-88.814 39.288 8047
+-88.688 39.288 8029
+-88.562 39.288 7998
+-88.436 39.288 7989
+-88.31 39.288 7931
+-88.184 39.288 7865
+-88.058 39.288 7808
+-87.932 39.288 7766
+-87.806 39.288 7676
+-87.68 39.288 7600
+-87.554 39.288 7513
+-87.428 39.288 7438
+-87.302 39.288 7315
+-87.176 39.288 7229
+-87.05 39.288 7171
+-86.924 39.288 7025
+-86.798 39.288 6867
+-86.672 39.288 6742
+-86.546 39.288 6719
+-86.42 39.288 6567
+-86.294 39.288 6452
+-86.168 39.288 6402
+-86.042 39.288 6226
+-85.916 39.288 6065
+-85.79 39.288 6017
+-85.664 39.288 5823
+-85.538 39.288 5692
+-85.412 39.288 5567
+-85.286 39.288 5546
+-85.16 39.288 5376
+-85.034 39.288 5188
+-84.908 39.288 5038
+-84.782 39.288 4889
+-84.656 39.288 4840
+-84.53 39.288 4668
+-84.404 39.288 4521
+-84.278 39.288 4505
+-84.152 39.288 4390
+-84.026 39.288 4198
+-83.9 39.288 4031
+-83.774 39.288 4132
+-83.648 39.288 4189
+-83.522 39.288 4206
+-83.396 39.288 4185
+-83.27 39.288 4169
+-83.144 39.288 4149
+-83.018 39.288 4123
+-82.892 39.288 4091
+-82.766 39.288 4089
+-82.64 39.288 4008
+-82.514 39.288 4009
+-82.388 39.288 4014
+-82.262 39.288 4019
+-82.136 39.288 4025
+-82.01 39.288 3959
+-81.884 39.288 3964
+-81.758 39.288 3968
+-81.632 39.288 3943
+-81.506 39.288 3903
+-81.38 39.288 3821
+-81.254 39.288 3766
+-81.128 39.288 3737
+-81.002 39.288 3737
+-80.876 39.288 3737
+-80.75 39.288 3737
+-80.624 39.288 3737
+-80.498 39.288 3682
+-80.372 39.288 3623
+-80.246 39.288 3622
+-80.12 39.288 3621
+-79.994 39.288 3620
+-79.868 39.288 3619
+-79.742 39.288 3619
+-79.616 39.288 3618
+-79.49 39.288 3618
+-79.364 39.288 3618
+-79.238 39.288 3617
+-79.112 39.288 3548
+-78.986 39.288 3537
+-78.86 39.288 3537
+-78.734 39.288 3537
+-78.608 39.288 3536
+-78.482 39.288 3536
+-78.356 39.288 3520
+-78.23 39.288 3520
+-78.104 39.288 3519
+-77.978 39.288 3519
+-77.852 39.288 3519
+-77.726 39.288 3519
+-77.6 39.288 3519
+-77.474 39.288 3518
+-77.348 39.288 3518
+-77.222 39.288 3452
+-77.096 39.288 3452
+-76.97 39.288 3452
+-76.844 39.288 3453
+-76.718 39.288 3453
+-76.592 39.288 3453
+-76.466 39.288 3454
+-76.34 39.288 3454
+-76.214 39.288 3454
+-76.088 39.288 3454
+-75.962 39.288 3455
+-75.836 39.288 3455
+-75.71 39.288 3455
+-75.584 39.288 3385
+-75.458 39.288 3384
+-75.332 39.288 3384
+-75.206 39.288 3383
+-75.08 39.288 3383
+-74.954 39.288 3382
+-74.828 39.288 3382
+-74.702 39.288 3381
+-74.576 39.288 3381
+-74.45 39.288 3381
+-74.324 39.288 3380
+-74.198 39.288 3380
+-74.072 39.288 3379
+-73.946 39.288 3379
+-73.82 39.288 3379
+-73.694 39.288 3378
+-73.568 39.288 3378
+-73.442 39.288 3378
+-73.316 39.288 3377
+-73.19 39.288 3377
+-73.064 39.288 3377
+-72.938 39.288 3376
+-72.812 39.288 3376
+-72.686 39.288 3376
+-72.56 39.288 3375
+-72.434 39.288 3071
+-72.308 39.288 3069
+-72.182 39.288 3068
+-72.056 39.288 3067
+-71.93 39.288 3066
+-71.804 39.288 3065
+-71.678 39.288 3064
+-71.552 39.288 3063
+-71.426 39.288 3062
+-71.3 39.288 3062
+-71.174 39.288 3061
+-71.048 39.288 3060
+-70.922 39.288 3059
+-70.796 39.288 3058
+-70.67 39.288 3057
+-70.544 39.288 3056
+-70.418 39.288 3056
+-70.292 39.288 3055
+-70.166 39.288 2929
+-70.04 39.288 2928
+-69.914 39.288 2897
+-69.788 39.288 2849
+-69.662 39.288 2848
+-69.536 39.288 2847
+-69.41 39.288 2862
+-69.284 39.288 2861
+-69.158 39.288 2872
+-69.032 39.288 2872
+-68.906 39.288 2831
+-68.78 39.288 2791
+-68.654 39.288 2791
+-68.528 39.288 2790
+-68.402 39.288 2790
+-68.276 39.288 2809
+-68.15 39.288 2815
+-68.024 39.288 2824
+-67.898 39.288 2822
+-67.772 39.288 2860
+-67.646 39.288 2872
+-67.52 39.288 2872
+-67.394 39.288 2933
+-67.268 39.288 2956
+-67.142 39.288 2931
+-67.016 39.288 2919
+-66.89 39.288 3081
+-66.764 39.288 3082
+-66.638 39.288 3150
+-66.512 39.288 3151
+-66.386 39.288 3152
+-66.26 39.288 3153
+-66.134 39.288 3155
+-66.008 39.288 3060
+-65.882 39.288 3082
+-65.756 39.288 3083
+-65.63 39.288 3070
+-65.504 39.288 3369
+-65.378 39.288 3402
+-65.252 39.288 3403
+-65.126 39.288 3397
+-128 39.236 2451
+-127.874 39.236 2443
+-127.748 39.236 2439
+-127.622 39.236 2435
+-127.496 39.236 2389
+-127.37 39.236 2379
+-127.244 39.236 2375
+-127.118 39.236 2369
+-126.992 39.236 2366
+-126.866 39.236 2393
+-126.74 39.236 2377
+-126.614 39.236 2371
+-126.488 39.236 2378
+-126.362 39.236 2378
+-126.236 39.236 2358
+-126.11 39.236 2354
+-125.984 39.236 2348
+-125.858 39.236 2359
+-125.732 39.236 2376
+-125.606 39.236 2338
+-125.48 39.236 2332
+-125.354 39.236 2317
+-125.228 39.236 2311
+-125.102 39.236 2326
+-124.976 39.236 2319
+-124.85 39.236 2364
+-124.724 39.236 2336
+-124.598 39.236 2326
+-124.472 39.236 2318
+-124.346 39.236 2309
+-124.22 39.236 2292
+-124.094 39.236 2282
+-123.968 39.236 2271
+-123.842 39.236 2260
+-123.716 39.236 2249
+-123.59 39.236 2238
+-123.464 39.236 2227
+-123.338 39.236 2235
+-123.212 39.236 2233
+-123.086 39.236 2229
+-122.96 39.236 2231
+-122.834 39.236 2257
+-122.708 39.236 2283
+-122.582 39.236 2320
+-122.456 39.236 2397
+-122.33 39.236 2456
+-122.204 39.236 2504
+-122.078 39.236 2586
+-121.952 39.236 2648
+-121.826 39.236 2703
+-121.7 39.236 2779
+-121.574 39.236 2818
+-121.448 39.236 2849
+-121.322 39.236 2881
+-121.196 39.236 2915
+-121.07 39.236 2951
+-120.944 39.236 3001
+-120.818 39.236 3073
+-120.692 39.236 3139
+-120.566 39.236 3197
+-120.44 39.236 3254
+-120.314 39.236 3281
+-120.188 39.236 3305
+-120.062 39.236 3341
+-119.936 39.236 3372
+-119.81 39.236 3438
+-119.684 39.236 3506
+-119.558 39.236 3538
+-119.432 39.236 3554
+-119.306 39.236 3555
+-119.18 39.236 3605
+-119.054 39.236 3697
+-118.928 39.236 3778
+-118.802 39.236 3824
+-118.676 39.236 3845
+-118.55 39.236 3863
+-118.424 39.236 3882
+-118.298 39.236 3933
+-118.172 39.236 4009
+-118.046 39.236 4035
+-117.92 39.236 4038
+-117.794 39.236 4062
+-117.668 39.236 4085
+-117.542 39.236 4099
+-117.416 39.236 4094
+-117.29 39.236 4057
+-117.164 39.236 4042
+-117.038 39.236 4053
+-116.912 39.236 4075
+-116.786 39.236 4091
+-116.66 39.236 4087
+-116.534 39.236 4040
+-116.408 39.236 4006
+-116.282 39.236 3978
+-116.156 39.236 3991
+-116.03 39.236 3992
+-115.904 39.236 3968
+-115.778 39.236 3928
+-115.652 39.236 3866
+-115.526 39.236 3798
+-115.4 39.236 3759
+-115.274 39.236 3735
+-115.148 39.236 3700
+-115.022 39.236 3640
+-114.896 39.236 3548
+-114.77 39.236 3490
+-114.644 39.236 3462
+-114.518 39.236 3461
+-114.392 39.236 3470
+-114.266 39.236 3465
+-114.14 39.236 3484
+-114.014 39.236 3464
+-113.888 39.236 3473
+-113.762 39.236 3453
+-113.636 39.236 3385
+-113.51 39.236 3376
+-113.384 39.236 3363
+-113.258 39.236 3350
+-113.132 39.236 3336
+-113.006 39.236 3320
+-112.88 39.236 3286
+-112.754 39.236 3261
+-112.628 39.236 2989
+-112.502 39.236 2983
+-112.376 39.236 2941
+-112.25 39.236 2846
+-112.124 39.236 2735
+-111.998 39.236 2693
+-111.872 39.236 2653
+-111.746 39.236 2614
+-111.62 39.236 2577
+-111.494 39.236 2542
+-111.368 39.236 2496
+-111.242 39.236 2467
+-111.116 39.236 2440
+-110.99 39.236 2362
+-110.864 39.236 2372
+-110.738 39.236 2309
+-110.612 39.236 2296
+-110.486 39.236 2284
+-110.36 39.236 2240
+-110.234 39.236 2234
+-110.108 39.236 2216
+-109.982 39.236 2250
+-109.856 39.236 2253
+-109.73 39.236 2242
+-109.604 39.236 2249
+-109.478 39.236 2209
+-109.352 39.236 2220
+-109.226 39.236 2230
+-109.1 39.236 2237
+-108.974 39.236 2251
+-108.848 39.236 2260
+-108.722 39.236 2270
+-108.596 39.236 2274
+-108.47 39.236 2287
+-108.344 39.236 2295
+-108.218 39.236 2303
+-108.092 39.236 2352
+-107.966 39.236 2359
+-107.84 39.236 2366
+-107.714 39.236 2329
+-107.588 39.236 2334
+-107.462 39.236 2394
+-107.336 39.236 2399
+-107.21 39.236 2405
+-107.084 39.236 2410
+-106.958 39.236 2434
+-106.832 39.236 2439
+-106.706 39.236 2469
+-106.58 39.236 2542
+-106.454 39.236 2565
+-106.328 39.236 2571
+-106.202 39.236 2578
+-106.076 39.236 2584
+-105.95 39.236 2590
+-105.824 39.236 2551
+-105.698 39.236 2699
+-105.572 39.236 2726
+-105.446 39.236 2731
+-105.32 39.236 2736
+-105.194 39.236 2765
+-105.068 39.236 2770
+-104.942 39.236 2730
+-104.816 39.236 2611
+-104.69 39.236 2622
+-104.564 39.236 2649
+-104.438 39.236 2657
+-104.312 39.236 2653
+-104.186 39.236 2606
+-104.06 39.236 2599
+-103.934 39.236 2595
+-103.808 39.236 2633
+-103.682 39.236 2464
+-103.556 39.236 2479
+-103.43 39.236 2411
+-103.304 39.236 2374
+-103.178 39.236 2389
+-103.052 39.236 2402
+-102.926 39.236 2356
+-102.8 39.236 2352
+-102.674 39.236 2314
+-102.548 39.236 2405
+-102.422 39.236 2443
+-102.296 39.236 2579
+-102.17 39.236 2582
+-102.044 39.236 2597
+-101.918 39.236 2599
+-101.792 39.236 2618
+-101.666 39.236 2695
+-101.54 39.236 2805
+-101.414 39.236 2804
+-101.288 39.236 2803
+-101.162 39.236 2803
+-101.036 39.236 2802
+-100.91 39.236 2802
+-100.784 39.236 2801
+-100.658 39.236 2801
+-100.532 39.236 2802
+-100.406 39.236 2802
+-100.28 39.236 2803
+-100.154 39.236 2804
+-100.028 39.236 2806
+-99.902 39.236 2889
+-99.776 39.236 2910
+-99.65 39.236 2912
+-99.524 39.236 2914
+-99.398 39.236 2917
+-99.272 39.236 3007
+-99.146 39.236 3010
+-99.02 39.236 3013
+-98.894 39.236 3016
+-98.768 39.236 3019
+-98.642 39.236 3035
+-98.516 39.236 3113
+-98.39 39.236 3228
+-98.264 39.236 3223
+-98.138 39.236 3217
+-98.012 39.236 3211
+-97.886 39.236 3204
+-97.76 39.236 3212
+-97.634 39.236 3201
+-97.508 39.236 3188
+-97.382 39.236 3192
+-97.256 39.236 3203
+-97.13 39.236 3212
+-97.004 39.236 3219
+-96.878 39.236 3206
+-96.752 39.236 3249
+-96.626 39.236 3335
+-96.5 39.236 3475
+-96.374 39.236 3629
+-96.248 39.236 3725
+-96.122 39.236 3827
+-95.996 39.236 3851
+-95.87 39.236 3896
+-95.744 39.236 3937
+-95.618 39.236 3973
+-95.492 39.236 4063
+-95.366 39.236 4179
+-95.24 39.236 4183
+-95.114 39.236 4288
+-94.988 39.236 4436
+-94.862 39.236 4584
+-94.736 39.236 4815
+-94.61 39.236 5010
+-94.484 39.236 5251
+-94.358 39.236 5347
+-94.232 39.236 5410
+-94.106 39.236 5497
+-93.98 39.236 5603
+-93.854 39.236 5703
+-93.728 39.236 5884
+-93.602 39.236 5995
+-93.476 39.236 6098
+-93.35 39.236 6212
+-93.224 39.236 6323
+-93.098 39.236 6474
+-92.972 39.236 6584
+-92.846 39.236 6787
+-92.72 39.236 6940
+-92.594 39.236 7087
+-92.468 39.236 7236
+-92.342 39.236 7373
+-92.216 39.236 7451
+-92.09 39.236 7651
+-91.964 39.236 7722
+-91.838 39.236 7875
+-91.712 39.236 7931
+-91.586 39.236 8045
+-91.46 39.236 8177
+-91.334 39.236 8327
+-91.208 39.236 8419
+-91.082 39.236 8584
+-90.956 39.236 8660
+-90.83 39.236 8801
+-90.704 39.236 8836
+-90.578 39.236 8946
+-90.452 39.236 8924
+-90.326 39.236 8900
+-90.2 39.236 8823
+-90.074 39.236 8761
+-89.948 39.236 8695
+-89.822 39.236 8588
+-89.696 39.236 8461
+-89.57 39.236 8377
+-89.444 39.236 8282
+-89.318 39.236 8119
+-89.192 39.236 8002
+-89.066 39.236 7852
+-88.94 39.236 7886
+-88.814 39.236 7993
+-88.688 39.236 8032
+-88.562 39.236 8043
+-88.436 39.236 8049
+-88.31 39.236 7982
+-88.184 39.236 7919
+-88.058 39.236 7865
+-87.932 39.236 7862
+-87.806 39.236 7693
+-87.68 39.236 7664
+-87.554 39.236 7544
+-87.428 39.236 7460
+-87.302 39.236 7354
+-87.176 39.236 7257
+-87.05 39.236 7171
+-86.924 39.236 7071
+-86.798 39.236 6997
+-86.672 39.236 6851
+-86.546 39.236 6713
+-86.42 39.236 6579
+-86.294 39.236 6534
+-86.168 39.236 6394
+-86.042 39.236 6201
+-85.916 39.236 6128
+-85.79 39.236 6007
+-85.664 39.236 5839
+-85.538 39.236 5686
+-85.412 39.236 5653
+-85.286 39.236 5558
+-85.16 39.236 5403
+-85.034 39.236 5198
+-84.908 39.236 5089
+-84.782 39.236 4993
+-84.656 39.236 4856
+-84.53 39.236 4726
+-84.404 39.236 4608
+-84.278 39.236 4553
+-84.152 39.236 4429
+-84.026 39.236 4266
+-83.9 39.236 4158
+-83.774 39.236 4185
+-83.648 39.236 4214
+-83.522 39.236 4218
+-83.396 39.236 4212
+-83.27 39.236 4201
+-83.144 39.236 4180
+-83.018 39.236 4156
+-82.892 39.236 4132
+-82.766 39.236 4099
+-82.64 39.236 4089
+-82.514 39.236 4091
+-82.388 39.236 4042
+-82.262 39.236 4044
+-82.136 39.236 3972
+-82.01 39.236 3985
+-81.884 39.236 3988
+-81.758 39.236 3965
+-81.632 39.236 3923
+-81.506 39.236 3857
+-81.38 39.236 3806
+-81.254 39.236 3743
+-81.128 39.236 3743
+-81.002 39.236 3742
+-80.876 39.236 3765
+-80.75 39.236 3741
+-80.624 39.236 3709
+-80.498 39.236 3627
+-80.372 39.236 3625
+-80.246 39.236 3624
+-80.12 39.236 3623
+-79.994 39.236 3622
+-79.868 39.236 3621
+-79.742 39.236 3620
+-79.616 39.236 3620
+-79.49 39.236 3619
+-79.364 39.236 3619
+-79.238 39.236 3549
+-79.112 39.236 3539
+-78.986 39.236 3539
+-78.86 39.236 3538
+-78.734 39.236 3544
+-78.608 39.236 3544
+-78.482 39.236 3544
+-78.356 39.236 3544
+-78.23 39.236 3544
+-78.104 39.236 3543
+-77.978 39.236 3543
+-77.852 39.236 3543
+-77.726 39.236 3543
+-77.6 39.236 3543
+-77.474 39.236 3543
+-77.348 39.236 3452
+-77.222 39.236 3452
+-77.096 39.236 3452
+-76.97 39.236 3453
+-76.844 39.236 3453
+-76.718 39.236 3453
+-76.592 39.236 3454
+-76.466 39.236 3454
+-76.34 39.236 3454
+-76.214 39.236 3455
+-76.088 39.236 3455
+-75.962 39.236 3455
+-75.836 39.236 3455
+-75.71 39.236 3385
+-75.584 39.236 3384
+-75.458 39.236 3384
+-75.332 39.236 3383
+-75.206 39.236 3383
+-75.08 39.236 3382
+-74.954 39.236 3382
+-74.828 39.236 3381
+-74.702 39.236 3381
+-74.576 39.236 3381
+-74.45 39.236 3380
+-74.324 39.236 3380
+-74.198 39.236 3379
+-74.072 39.236 3379
+-73.946 39.236 3378
+-73.82 39.236 3378
+-73.694 39.236 3378
+-73.568 39.236 3377
+-73.442 39.236 3377
+-73.316 39.236 3377
+-73.19 39.236 3376
+-73.064 39.236 3376
+-72.938 39.236 3376
+-72.812 39.236 3375
+-72.686 39.236 3375
+-72.56 39.236 3070
+-72.434 39.236 3069
+-72.308 39.236 3068
+-72.182 39.236 3067
+-72.056 39.236 3066
+-71.93 39.236 3065
+-71.804 39.236 3064
+-71.678 39.236 3063
+-71.552 39.236 3062
+-71.426 39.236 3061
+-71.3 39.236 3060
+-71.174 39.236 3059
+-71.048 39.236 3059
+-70.922 39.236 3058
+-70.796 39.236 3057
+-70.67 39.236 3056
+-70.544 39.236 3055
+-70.418 39.236 3055
+-70.292 39.236 2928
+-70.166 39.236 2927
+-70.04 39.236 2897
+-69.914 39.236 2849
+-69.788 39.236 2848
+-69.662 39.236 2847
+-69.536 39.236 2862
+-69.41 39.236 2861
+-69.284 39.236 2872
+-69.158 39.236 2871
+-69.032 39.236 2830
+-68.906 39.236 2790
+-68.78 39.236 2790
+-68.654 39.236 2790
+-68.528 39.236 2789
+-68.402 39.236 2808
+-68.276 39.236 2814
+-68.15 39.236 2823
+-68.024 39.236 2821
+-67.898 39.236 2859
+-67.772 39.236 2871
+-67.646 39.236 2871
+-67.52 39.236 2931
+-67.394 39.236 2954
+-67.268 39.236 2930
+-67.142 39.236 2919
+-67.016 39.236 3079
+-66.89 39.236 3081
+-66.764 39.236 3149
+-66.638 39.236 3150
+-66.512 39.236 3151
+-66.386 39.236 3152
+-66.26 39.236 3153
+-66.134 39.236 3059
+-66.008 39.236 3081
+-65.882 39.236 3082
+-65.756 39.236 3069
+-65.63 39.236 3368
+-65.504 39.236 3401
+-65.378 39.236 3402
+-65.252 39.236 3396
+-65.126 39.236 3396
+-128 39.184 2444
+-127.874 39.184 2441
+-127.748 39.184 2437
+-127.622 39.184 2390
+-127.496 39.184 2381
+-127.37 39.184 2378
+-127.244 39.184 2373
+-127.118 39.184 2370
+-126.992 39.184 2366
+-126.866 39.184 2364
+-126.74 39.184 2348
+-126.614 39.184 2385
+-126.488 39.184 2387
+-126.362 39.184 2382
+-126.236 39.184 2362
+-126.11 39.184 2402
+-125.984 39.184 2396
+-125.858 39.184 2380
+-125.732 39.184 2374
+-125.606 39.184 2356
+-125.48 39.184 2327
+-125.354 39.184 2321
+-125.228 39.184 2338
+-125.102 39.184 2391
+-124.976 39.184 2380
+-124.85 39.184 2368
+-124.724 39.184 2338
+-124.598 39.184 2347
+-124.472 39.184 2335
+-124.346 39.184 2324
+-124.22 39.184 2314
+-124.094 39.184 2278
+-123.968 39.184 2265
+-123.842 39.184 2268
+-123.716 39.184 2236
+-123.59 39.184 2220
+-123.464 39.184 2204
+-123.338 39.184 2205
+-123.212 39.184 2190
+-123.086 39.184 2182
+-122.96 39.184 2188
+-122.834 39.184 2195
+-122.708 39.184 2217
+-122.582 39.184 2281
+-122.456 39.184 2340
+-122.33 39.184 2411
+-122.204 39.184 2489
+-122.078 39.184 2581
+-121.952 39.184 2652
+-121.826 39.184 2711
+-121.7 39.184 2782
+-121.574 39.184 2823
+-121.448 39.184 2857
+-121.322 39.184 2913
+-121.196 39.184 2948
+-121.07 39.184 2989
+-120.944 39.184 3034
+-120.818 39.184 3120
+-120.692 39.184 3188
+-120.566 39.184 3247
+-120.44 39.184 3279
+-120.314 39.184 3328
+-120.188 39.184 3361
+-120.062 39.184 3394
+-119.936 39.184 3437
+-119.81 39.184 3481
+-119.684 39.184 3534
+-119.558 39.184 3551
+-119.432 39.184 3573
+-119.306 39.184 3609
+-119.18 39.184 3658
+-119.054 39.184 3748
+-118.928 39.184 3816
+-118.802 39.184 3848
+-118.676 39.184 3848
+-118.55 39.184 3884
+-118.424 39.184 3954
+-118.298 39.184 4009
+-118.172 39.184 4050
+-118.046 39.184 4048
+-117.92 39.184 4006
+-117.794 39.184 4056
+-117.668 39.184 4113
+-117.542 39.184 4158
+-117.416 39.184 4168
+-117.29 39.184 4147
+-117.164 39.184 4146
+-117.038 39.184 4145
+-116.912 39.184 4151
+-116.786 39.184 4157
+-116.66 39.184 4142
+-116.534 39.184 4079
+-116.408 39.184 4001
+-116.282 39.184 3936
+-116.156 39.184 3977
+-116.03 39.184 4005
+-115.904 39.184 4002
+-115.778 39.184 3989
+-115.652 39.184 3903
+-115.526 39.184 3793
+-115.4 39.184 3733
+-115.274 39.184 3734
+-115.148 39.184 3709
+-115.022 39.184 3636
+-114.896 39.184 3538
+-114.77 39.184 3444
+-114.644 39.184 3396
+-114.518 39.184 3412
+-114.392 39.184 3448
+-114.266 39.184 3483
+-114.14 39.184 3521
+-114.014 39.184 3493
+-113.888 39.184 3507
+-113.762 39.184 3517
+-113.636 39.184 3479
+-113.51 39.184 3483
+-113.384 39.184 3393
+-113.258 39.184 3381
+-113.132 39.184 3368
+-113.006 39.184 3341
+-112.88 39.184 3319
+-112.754 39.184 3268
+-112.628 39.184 3157
+-112.502 39.184 3164
+-112.376 39.184 2938
+-112.25 39.184 2894
+-112.124 39.184 2851
+-111.998 39.184 2808
+-111.872 39.184 2702
+-111.746 39.184 2720
+-111.62 39.184 2680
+-111.494 39.184 2571
+-111.368 39.184 2535
+-111.242 39.184 2501
+-111.116 39.184 2469
+-110.99 39.184 2421
+-110.864 39.184 2347
+-110.738 39.184 2328
+-110.612 39.184 2306
+-110.486 39.184 2297
+-110.36 39.184 2282
+-110.234 39.184 2217
+-110.108 39.184 2245
+-109.982 39.184 2243
+-109.856 39.184 2230
+-109.73 39.184 2236
+-109.604 39.184 2199
+-109.478 39.184 2209
+-109.352 39.184 2220
+-109.226 39.184 2229
+-109.1 39.184 2243
+-108.974 39.184 2254
+-108.848 39.184 2266
+-108.722 39.184 2271
+-108.596 39.184 2321
+-108.47 39.184 2331
+-108.344 39.184 2340
+-108.218 39.184 2349
+-108.092 39.184 2357
+-107.966 39.184 2364
+-107.84 39.184 2371
+-107.714 39.184 2386
+-107.588 39.184 2392
+-107.462 39.184 2397
+-107.336 39.184 2403
+-107.21 39.184 2408
+-107.084 39.184 2431
+-106.958 39.184 2436
+-106.832 39.184 2466
+-106.706 39.184 2535
+-106.58 39.184 2558
+-106.454 39.184 2565
+-106.328 39.184 2572
+-106.202 39.184 2578
+-106.076 39.184 2585
+-105.95 39.184 2547
+-105.824 39.184 2690
+-105.698 39.184 2717
+-105.572 39.184 2722
+-105.446 39.184 2728
+-105.32 39.184 2757
+-105.194 39.184 2762
+-105.068 39.184 2723
+-104.942 39.184 2728
+-104.816 39.184 2626
+-104.69 39.184 2654
+-104.564 39.184 2662
+-104.438 39.184 2659
+-104.312 39.184 2735
+-104.186 39.184 2614
+-104.06 39.184 2611
+-103.934 39.184 2651
+-103.808 39.184 2635
+-103.682 39.184 2465
+-103.556 39.184 2532
+-103.43 39.184 2424
+-103.304 39.184 2435
+-103.178 39.184 2400
+-103.052 39.184 2414
+-102.926 39.184 2356
+-102.8 39.184 2362
+-102.674 39.184 2412
+-102.548 39.184 2484
+-102.422 39.184 2480
+-102.296 39.184 2587
+-102.17 39.184 2590
+-102.044 39.184 2593
+-101.918 39.184 2608
+-101.792 39.184 2664
+-101.666 39.184 2704
+-101.54 39.184 2705
+-101.414 39.184 2817
+-101.288 39.184 2816
+-101.162 39.184 2816
+-101.036 39.184 2816
+-100.91 39.184 2816
+-100.784 39.184 2816
+-100.658 39.184 2817
+-100.532 39.184 2817
+-100.406 39.184 2818
+-100.28 39.184 2820
+-100.154 39.184 2821
+-100.028 39.184 2823
+-99.902 39.184 2825
+-99.776 39.184 2918
+-99.65 39.184 2931
+-99.524 39.184 2933
+-99.398 39.184 3022
+-99.272 39.184 3026
+-99.146 39.184 3029
+-99.02 39.184 3032
+-98.894 39.184 3035
+-98.768 39.184 3050
+-98.642 39.184 3165
+-98.516 39.184 3160
+-98.39 39.184 3237
+-98.264 39.184 3232
+-98.138 39.184 3228
+-98.012 39.184 3223
+-97.886 39.184 3218
+-97.76 39.184 3213
+-97.634 39.184 3223
+-97.508 39.184 3239
+-97.382 39.184 3264
+-97.256 39.184 3294
+-97.13 39.184 3281
+-97.004 39.184 3319
+-96.878 39.184 3328
+-96.752 39.184 3382
+-96.626 39.184 3472
+-96.5 39.184 3556
+-96.374 39.184 3652
+-96.248 39.184 3738
+-96.122 39.184 3788
+-95.996 39.184 3757
+-95.87 39.184 3732
+-95.744 39.184 3856
+-95.618 39.184 3825
+-95.492 39.184 3986
+-95.366 39.184 4153
+-95.24 39.184 4253
+-95.114 39.184 4308
+-94.988 39.184 4475
+-94.862 39.184 4651
+-94.736 39.184 4797
+-94.61 39.184 4956
+-94.484 39.184 5206
+-94.358 39.184 5323
+-94.232 39.184 5278
+-94.106 39.184 5391
+-93.98 39.184 5560
+-93.854 39.184 5751
+-93.728 39.184 5925
+-93.602 39.184 6003
+-93.476 39.184 6099
+-93.35 39.184 6190
+-93.224 39.184 6348
+-93.098 39.184 6480
+-92.972 39.184 6623
+-92.846 39.184 6790
+-92.72 39.184 6954
+-92.594 39.184 7110
+-92.468 39.184 7242
+-92.342 39.184 7379
+-92.216 39.184 7509
+-92.09 39.184 7612
+-91.964 39.184 7772
+-91.838 39.184 7866
+-91.712 39.184 7957
+-91.586 39.184 8163
+-91.46 39.184 8208
+-91.334 39.184 8367
+-91.208 39.184 8471
+-91.082 39.184 8621
+-90.956 39.184 8690
+-90.83 39.184 8779
+-90.704 39.184 8893
+-90.578 39.184 8964
+-90.452 39.184 8978
+-90.326 39.184 8926
+-90.2 39.184 8888
+-90.074 39.184 8807
+-89.948 39.184 8735
+-89.822 39.184 8605
+-89.696 39.184 8494
+-89.57 39.184 8400
+-89.444 39.184 8299
+-89.318 39.184 8130
+-89.192 39.184 8039
+-89.066 39.184 7935
+-88.94 39.184 8159
+-88.814 39.184 8151
+-88.688 39.184 8118
+-88.562 39.184 8088
+-88.436 39.184 8086
+-88.31 39.184 8048
+-88.184 39.184 7986
+-88.058 39.184 7921
+-87.932 39.184 7877
+-87.806 39.184 7760
+-87.68 39.184 7649
+-87.554 39.184 7610
+-87.428 39.184 7495
+-87.302 39.184 7369
+-87.176 39.184 7296
+-87.05 39.184 7202
+-86.924 39.184 7096
+-86.798 39.184 7027
+-86.672 39.184 6912
+-86.546 39.184 6741
+-86.42 39.184 6661
+-86.294 39.184 6518
+-86.168 39.184 6346
+-86.042 39.184 6258
+-85.916 39.184 6089
+-85.79 39.184 6082
+-85.664 39.184 5932
+-85.538 39.184 5773
+-85.412 39.184 5680
+-85.286 39.184 5556
+-85.16 39.184 5440
+-85.034 39.184 5293
+-84.908 39.184 5148
+-84.782 39.184 5031
+-84.656 39.184 4887
+-84.53 39.184 4781
+-84.404 39.184 4683
+-84.278 39.184 4607
+-84.152 39.184 4512
+-84.026 39.184 4381
+-83.9 39.184 4275
+-83.774 39.184 4252
+-83.648 39.184 4249
+-83.522 39.184 4242
+-83.396 39.184 4238
+-83.27 39.184 4214
+-83.144 39.184 4192
+-83.018 39.184 4169
+-82.892 39.184 4133
+-82.766 39.184 4119
+-82.64 39.184 4116
+-82.514 39.184 4115
+-82.388 39.184 4117
+-82.262 39.184 4064
+-82.136 39.184 4064
+-82.01 39.184 4001
+-81.884 39.184 3975
+-81.758 39.184 3931
+-81.632 39.184 3865
+-81.506 39.184 3823
+-81.38 39.184 3821
+-81.254 39.184 3820
+-81.128 39.184 3771
+-81.002 39.184 3770
+-80.876 39.184 3769
+-80.75 39.184 3712
+-80.624 39.184 3658
+-80.498 39.184 3657
+-80.372 39.184 3656
+-80.246 39.184 3655
+-80.12 39.184 3654
+-79.994 39.184 3654
+-79.868 39.184 3653
+-79.742 39.184 3653
+-79.616 39.184 3653
+-79.49 39.184 3653
+-79.364 39.184 3551
+-79.238 39.184 3565
+-79.112 39.184 3565
+-78.986 39.184 3545
+-78.86 39.184 3545
+-78.734 39.184 3545
+-78.608 39.184 3544
+-78.482 39.184 3544
+-78.356 39.184 3544
+-78.23 39.184 3544
+-78.104 39.184 3544
+-77.978 39.184 3544
+-77.852 39.184 3544
+-77.726 39.184 3544
+-77.6 39.184 3544
+-77.474 39.184 3452
+-77.348 39.184 3452
+-77.222 39.184 3453
+-77.096 39.184 3453
+-76.97 39.184 3453
+-76.844 39.184 3453
+-76.718 39.184 3454
+-76.592 39.184 3454
+-76.466 39.184 3454
+-76.34 39.184 3455
+-76.214 39.184 3455
+-76.088 39.184 3455
+-75.962 39.184 3456
+-75.836 39.184 3385
+-75.71 39.184 3384
+-75.584 39.184 3384
+-75.458 39.184 3383
+-75.332 39.184 3383
+-75.206 39.184 3382
+-75.08 39.184 3382
+-74.954 39.184 3381
+-74.828 39.184 3381
+-74.702 39.184 3380
+-74.576 39.184 3380
+-74.45 39.184 3380
+-74.324 39.184 3379
+-74.198 39.184 3379
+-74.072 39.184 3378
+-73.946 39.184 3378
+-73.82 39.184 3378
+-73.694 39.184 3377
+-73.568 39.184 3377
+-73.442 39.184 3376
+-73.316 39.184 3376
+-73.19 39.184 3376
+-73.064 39.184 3376
+-72.938 39.184 3375
+-72.812 39.184 3375
+-72.686 39.184 3070
+-72.56 39.184 3069
+-72.434 39.184 3068
+-72.308 39.184 3067
+-72.182 39.184 3066
+-72.056 39.184 3065
+-71.93 39.184 3064
+-71.804 39.184 3063
+-71.678 39.184 3062
+-71.552 39.184 3061
+-71.426 39.184 3060
+-71.3 39.184 3059
+-71.174 39.184 3058
+-71.048 39.184 3057
+-70.922 39.184 3057
+-70.796 39.184 3056
+-70.67 39.184 3055
+-70.544 39.184 3054
+-70.418 39.184 2928
+-70.292 39.184 2927
+-70.166 39.184 2896
+-70.04 39.184 2849
+-69.914 39.184 2847
+-69.788 39.184 2846
+-69.662 39.184 2861
+-69.536 39.184 2860
+-69.41 39.184 2871
+-69.284 39.184 2870
+-69.158 39.184 2830
+-69.032 39.184 2790
+-68.906 39.184 2789
+-68.78 39.184 2789
+-68.654 39.184 2789
+-68.528 39.184 2807
+-68.402 39.184 2813
+-68.276 39.184 2823
+-68.15 39.184 2821
+-68.024 39.184 2858
+-67.898 39.184 2870
+-67.772 39.184 2870
+-67.646 39.184 2930
+-67.52 39.184 2953
+-67.394 39.184 2929
+-67.268 39.184 2918
+-67.142 39.184 3078
+-67.016 39.184 3079
+-66.89 39.184 3147
+-66.764 39.184 3149
+-66.638 39.184 3150
+-66.512 39.184 3151
+-66.386 39.184 3152
+-66.26 39.184 3058
+-66.134 39.184 3080
+-66.008 39.184 3081
+-65.882 39.184 3068
+-65.756 39.184 3367
+-65.63 39.184 3401
+-65.504 39.184 3401
+-65.378 39.184 3395
+-65.252 39.184 3395
+-65.126 39.184 3399
+-128 39.132 2442
+-127.874 39.132 2440
+-127.748 39.132 2391
+-127.622 39.132 2384
+-127.496 39.132 2381
+-127.37 39.132 2378
+-127.244 39.132 2375
+-127.118 39.132 2371
+-126.992 39.132 2371
+-126.866 39.132 2354
+-126.74 39.132 2381
+-126.614 39.132 2385
+-126.488 39.132 2392
+-126.362 39.132 2391
+-126.236 39.132 2415
+-126.11 39.132 2409
+-125.984 39.132 2403
+-125.858 39.132 2404
+-125.732 39.132 2412
+-125.606 39.132 2386
+-125.48 39.132 2371
+-125.354 39.132 2371
+-125.228 39.132 2407
+-125.102 39.132 2396
+-124.976 39.132 2409
+-124.85 39.132 2395
+-124.724 39.132 2362
+-124.598 39.132 2350
+-124.472 39.132 2337
+-124.346 39.132 2323
+-124.22 39.132 2309
+-124.094 39.132 2272
+-123.968 39.132 2276
+-123.842 39.132 2257
+-123.716 39.132 2237
+-123.59 39.132 2215
+-123.464 39.132 2191
+-123.338 39.132 2170
+-123.212 39.132 2145
+-123.086 39.132 2139
+-122.96 39.132 2129
+-122.834 39.132 2113
+-122.708 39.132 2149
+-122.582 39.132 2194
+-122.456 39.132 2265
+-122.33 39.132 2354
+-122.204 39.132 2463
+-122.078 39.132 2557
+-121.952 39.132 2642
+-121.826 39.132 2713
+-121.7 39.132 2787
+-121.574 39.132 2826
+-121.448 39.132 2868
+-121.322 39.132 2892
+-121.196 39.132 2931
+-121.07 39.132 3003
+-120.944 39.132 3049
+-120.818 39.132 3146
+-120.692 39.132 3214
+-120.566 39.132 3270
+-120.44 39.132 3307
+-120.314 39.132 3348
+-120.188 39.132 3392
+-120.062 39.132 3454
+-119.936 39.132 3480
+-119.81 39.132 3507
+-119.684 39.132 3554
+-119.558 39.132 3564
+-119.432 39.132 3593
+-119.306 39.132 3650
+-119.18 39.132 3717
+-119.054 39.132 3806
+-118.928 39.132 3868
+-118.802 39.132 3883
+-118.676 39.132 3885
+-118.55 39.132 3951
+-118.424 39.132 4016
+-118.298 39.132 4066
+-118.172 39.132 4083
+-118.046 39.132 4063
+-117.92 39.132 4072
+-117.794 39.132 4104
+-117.668 39.132 4166
+-117.542 39.132 4210
+-117.416 39.132 4231
+-117.29 39.132 4234
+-117.164 39.132 4214
+-117.038 39.132 4220
+-116.912 39.132 4218
+-116.786 39.132 4214
+-116.66 39.132 4183
+-116.534 39.132 4134
+-116.408 39.132 4054
+-116.282 39.132 3998
+-116.156 39.132 3960
+-116.03 39.132 4012
+-115.904 39.132 4045
+-115.778 39.132 4020
+-115.652 39.132 3913
+-115.526 39.132 3777
+-115.4 39.132 3695
+-115.274 39.132 3742
+-115.148 39.132 3725
+-115.022 39.132 3654
+-114.896 39.132 3535
+-114.77 39.132 3412
+-114.644 39.132 3342
+-114.518 39.132 3385
+-114.392 39.132 3423
+-114.266 39.132 3476
+-114.14 39.132 3508
+-114.014 39.132 3541
+-113.888 39.132 3560
+-113.762 39.132 3577
+-113.636 39.132 3592
+-113.51 39.132 3546
+-113.384 39.132 3466
+-113.258 39.132 3457
+-113.132 39.132 3438
+-113.006 39.132 3394
+-112.88 39.132 3320
+-112.754 39.132 3350
+-112.628 39.132 3189
+-112.502 39.132 3143
+-112.376 39.132 3105
+-112.25 39.132 3067
+-112.124 39.132 3026
+-111.998 39.132 2851
+-111.872 39.132 2803
+-111.746 39.132 2803
+-111.62 39.132 2646
+-111.494 39.132 2606
+-111.368 39.132 2566
+-111.242 39.132 2528
+-111.116 39.132 2475
+-110.99 39.132 2391
+-110.864 39.132 2364
+-110.738 39.132 2334
+-110.612 39.132 2315
+-110.486 39.132 2291
+-110.36 39.132 2219
+-110.234 39.132 2238
+-110.108 39.132 2230
+-109.982 39.132 2212
+-109.856 39.132 2215
+-109.73 39.132 2223
+-109.604 39.132 2192
+-109.478 39.132 2204
+-109.352 39.132 2215
+-109.226 39.132 2231
+-109.1 39.132 2277
+-108.974 39.132 2291
+-108.848 39.132 2265
+-108.722 39.132 2315
+-108.596 39.132 2326
+-108.47 39.132 2336
+-108.344 39.132 2346
+-108.218 39.132 2354
+-108.092 39.132 2362
+-107.966 39.132 2368
+-107.84 39.132 2384
+-107.714 39.132 2389
+-107.588 39.132 2395
+-107.462 39.132 2400
+-107.336 39.132 2405
+-107.21 39.132 2428
+-107.084 39.132 2433
+-106.958 39.132 2462
+-106.832 39.132 2528
+-106.706 39.132 2551
+-106.58 39.132 2558
+-106.454 39.132 2565
+-106.328 39.132 2571
+-106.202 39.132 2578
+-106.076 39.132 2542
+-105.95 39.132 2681
+-105.824 39.132 2708
+-105.698 39.132 2713
+-105.572 39.132 2719
+-105.446 39.132 2748
+-105.32 39.132 2754
+-105.194 39.132 2716
+-105.068 39.132 2721
+-104.942 39.132 2739
+-104.816 39.132 2657
+-104.69 39.132 2666
+-104.564 39.132 2664
+-104.438 39.132 2741
+-104.312 39.132 2739
+-104.186 39.132 2739
+-104.06 39.132 2729
+-103.934 39.132 2652
+-103.808 39.132 2653
+-103.682 39.132 2552
+-103.556 39.132 2538
+-103.43 39.132 2486
+-103.304 39.132 2503
+-103.178 39.132 2461
+-103.052 39.132 2475
+-102.926 39.132 2496
+-102.8 39.132 2493
+-102.674 39.132 2454
+-102.548 39.132 2490
+-102.422 39.132 2486
+-102.296 39.132 2488
+-102.17 39.132 2597
+-102.044 39.132 2601
+-101.918 39.132 2604
+-101.792 39.132 2673
+-101.666 39.132 2714
+-101.54 39.132 2715
+-101.414 39.132 2717
+-101.288 39.132 2823
+-101.162 39.132 2823
+-101.036 39.132 2823
+-100.91 39.132 2824
+-100.784 39.132 2825
+-100.658 39.132 2826
+-100.532 39.132 2827
+-100.406 39.132 2828
+-100.28 39.132 2830
+-100.154 39.132 2837
+-100.028 39.132 2839
+-99.902 39.132 2857
+-99.776 39.132 2859
+-99.65 39.132 2938
+-99.524 39.132 3037
+-99.398 39.132 3040
+-99.272 39.132 3043
+-99.146 39.132 3046
+-99.02 39.132 3050
+-98.894 39.132 3173
+-98.768 39.132 3179
+-98.642 39.132 3174
+-98.516 39.132 3169
+-98.39 39.132 3165
+-98.264 39.132 3240
+-98.138 39.132 3236
+-98.012 39.132 3233
+-97.886 39.132 3230
+-97.76 39.132 3227
+-97.634 39.132 3251
+-97.508 39.132 3273
+-97.382 39.132 3336
+-97.256 39.132 3333
+-97.13 39.132 3334
+-97.004 39.132 3343
+-96.878 39.132 3413
+-96.752 39.132 3451
+-96.626 39.132 3521
+-96.5 39.132 3605
+-96.374 39.132 3680
+-96.248 39.132 3758
+-96.122 39.132 3763
+-95.996 39.132 3666
+-95.87 39.132 3527
+-95.744 39.132 3782
+-95.618 39.132 3951
+-95.492 39.132 4051
+-95.366 39.132 4180
+-95.24 39.132 4286
+-95.114 39.132 4377
+-94.988 39.132 4530
+-94.862 39.132 4684
+-94.736 39.132 4761
+-94.61 39.132 4919
+-94.484 39.132 5180
+-94.358 39.132 5307
+-94.232 39.132 5328
+-94.106 39.132 5505
+-93.98 39.132 5565
+-93.854 39.132 5744
+-93.728 39.132 5875
+-93.602 39.132 6006
+-93.476 39.132 6093
+-93.35 39.132 6215
+-93.224 39.132 6416
+-93.098 39.132 6551
+-92.972 39.132 6663
+-92.846 39.132 6792
+-92.72 39.132 6972
+-92.594 39.132 7088
+-92.468 39.132 7201
+-92.342 39.132 7319
+-92.216 39.132 7480
+-92.09 39.132 7624
+-91.964 39.132 7800
+-91.838 39.132 7919
+-91.712 39.132 7999
+-91.586 39.132 8106
+-91.46 39.132 8236
+-91.334 39.132 8400
+-91.208 39.132 8463
+-91.082 39.132 8624
+-90.956 39.132 8784
+-90.83 39.132 8838
+-90.704 39.132 8942
+-90.578 39.132 8999
+-90.452 39.132 9012
+-90.326 39.132 9041
+-90.2 39.132 8988
+-90.074 39.132 8854
+-89.948 39.132 8746
+-89.822 39.132 8675
+-89.696 39.132 8528
+-89.57 39.132 8377
+-89.444 39.132 8237
+-89.318 39.132 8172
+-89.192 39.132 7996
+-89.066 39.132 7929
+-88.94 39.132 8176
+-88.814 39.132 8173
+-88.688 39.132 8163
+-88.562 39.132 8160
+-88.436 39.132 8136
+-88.31 39.132 8116
+-88.184 39.132 8032
+-88.058 39.132 7957
+-87.932 39.132 7905
+-87.806 39.132 7830
+-87.68 39.132 7756
+-87.554 39.132 7675
+-87.428 39.132 7516
+-87.302 39.132 7414
+-87.176 39.132 7330
+-87.05 39.132 7255
+-86.924 39.132 7165
+-86.798 39.132 7004
+-86.672 39.132 6859
+-86.546 39.132 6794
+-86.42 39.132 6709
+-86.294 39.132 6566
+-86.168 39.132 6423
+-86.042 39.132 6292
+-85.916 39.132 6215
+-85.79 39.132 6095
+-85.664 39.132 5999
+-85.538 39.132 5837
+-85.412 39.132 5672
+-85.286 39.132 5561
+-85.16 39.132 5343
+-85.034 39.132 5382
+-84.908 39.132 5239
+-84.782 39.132 5083
+-84.656 39.132 4895
+-84.53 39.132 4758
+-84.404 39.132 4737
+-84.278 39.132 4645
+-84.152 39.132 4539
+-84.026 39.132 4455
+-83.9 39.132 4392
+-83.774 39.132 4292
+-83.648 39.132 4264
+-83.522 39.132 4251
+-83.396 39.132 4229
+-83.27 39.132 4211
+-83.144 39.132 4193
+-83.018 39.132 4158
+-82.892 39.132 4145
+-82.766 39.132 4140
+-82.64 39.132 4136
+-82.514 39.132 4134
+-82.388 39.132 4134
+-82.262 39.132 4134
+-82.136 39.132 4028
+-82.01 39.132 3986
+-81.884 39.132 3940
+-81.758 39.132 3873
+-81.632 39.132 3830
+-81.506 39.132 3827
+-81.38 39.132 3825
+-81.254 39.132 3823
+-81.128 39.132 3821
+-81.002 39.132 3774
+-80.876 39.132 3749
+-80.75 39.132 3661
+-80.624 39.132 3660
+-80.498 39.132 3658
+-80.372 39.132 3657
+-80.246 39.132 3656
+-80.12 39.132 3655
+-79.994 39.132 3654
+-79.868 39.132 3654
+-79.742 39.132 3653
+-79.616 39.132 3653
+-79.49 39.132 3553
+-79.364 39.132 3566
+-79.238 39.132 3566
+-79.112 39.132 3546
+-78.986 39.132 3546
+-78.86 39.132 3545
+-78.734 39.132 3545
+-78.608 39.132 3545
+-78.482 39.132 3544
+-78.356 39.132 3544
+-78.23 39.132 3544
+-78.104 39.132 3544
+-77.978 39.132 3544
+-77.852 39.132 3544
+-77.726 39.132 3544
+-77.6 39.132 3452
+-77.474 39.132 3452
+-77.348 39.132 3453
+-77.222 39.132 3453
+-77.096 39.132 3453
+-76.97 39.132 3454
+-76.844 39.132 3454
+-76.718 39.132 3454
+-76.592 39.132 3454
+-76.466 39.132 3455
+-76.34 39.132 3455
+-76.214 39.132 3455
+-76.088 39.132 3456
+-75.962 39.132 3385
+-75.836 39.132 3384
+-75.71 39.132 3384
+-75.584 39.132 3383
+-75.458 39.132 3383
+-75.332 39.132 3382
+-75.206 39.132 3382
+-75.08 39.132 3381
+-74.954 39.132 3381
+-74.828 39.132 3380
+-74.702 39.132 3380
+-74.576 39.132 3379
+-74.45 39.132 3379
+-74.324 39.132 3379
+-74.198 39.132 3378
+-74.072 39.132 3378
+-73.946 39.132 3377
+-73.82 39.132 3377
+-73.694 39.132 3377
+-73.568 39.132 3376
+-73.442 39.132 3376
+-73.316 39.132 3376
+-73.19 39.132 3375
+-73.064 39.132 3375
+-72.938 39.132 3375
+-72.812 39.132 3070
+-72.686 39.132 3069
+-72.56 39.132 3068
+-72.434 39.132 3067
+-72.308 39.132 3066
+-72.182 39.132 3065
+-72.056 39.132 3064
+-71.93 39.132 3063
+-71.804 39.132 3062
+-71.678 39.132 3061
+-71.552 39.132 3060
+-71.426 39.132 3059
+-71.3 39.132 3058
+-71.174 39.132 3057
+-71.048 39.132 3056
+-70.922 39.132 3055
+-70.796 39.132 3055
+-70.67 39.132 3054
+-70.544 39.132 2927
+-70.418 39.132 2927
+-70.292 39.132 2896
+-70.166 39.132 2848
+-70.04 39.132 2847
+-69.914 39.132 2846
+-69.788 39.132 2861
+-69.662 39.132 2860
+-69.536 39.132 2871
+-69.41 39.132 2870
+-69.284 39.132 2829
+-69.158 39.132 2789
+-69.032 39.132 2789
+-68.906 39.132 2788
+-68.78 39.132 2788
+-68.654 39.132 2806
+-68.528 39.132 2812
+-68.402 39.132 2822
+-68.276 39.132 2820
+-68.15 39.132 2857
+-68.024 39.132 2869
+-67.898 39.132 2869
+-67.772 39.132 2929
+-67.646 39.132 2952
+-67.52 39.132 2928
+-67.394 39.132 2917
+-67.268 39.132 3077
+-67.142 39.132 3078
+-67.016 39.132 3146
+-66.89 39.132 3147
+-66.764 39.132 3148
+-66.638 39.132 3150
+-66.512 39.132 3151
+-66.386 39.132 3057
+-66.26 39.132 3079
+-66.134 39.132 3080
+-66.008 39.132 3067
+-65.882 39.132 3367
+-65.756 39.132 3400
+-65.63 39.132 3400
+-65.504 39.132 3394
+-65.378 39.132 3395
+-65.252 39.132 3399
+-65.126 39.132 3416
+-128 39.08 2443
+-127.874 39.08 2393
+-127.748 39.08 2387
+-127.622 39.08 2384
+-127.496 39.08 2383
+-127.37 39.08 2380
+-127.244 39.08 2376
+-127.118 39.08 2378
+-126.992 39.08 2412
+-126.866 39.08 2388
+-126.74 39.08 2395
+-126.614 39.08 2391
+-126.488 39.08 2367
+-126.362 39.08 2417
+-126.236 39.08 2423
+-126.11 39.08 2433
+-125.984 39.08 2426
+-125.858 39.08 2419
+-125.732 39.08 2421
+-125.606 39.08 2413
+-125.48 39.08 2379
+-125.354 39.08 2434
+-125.228 39.08 2435
+-125.102 39.08 2428
+-124.976 39.08 2415
+-124.85 39.08 2425
+-124.724 39.08 2366
+-124.598 39.08 2353
+-124.472 39.08 2338
+-124.346 39.08 2343
+-124.22 39.08 2328
+-124.094 39.08 2308
+-123.968 39.08 2264
+-123.842 39.08 2246
+-123.716 39.08 2221
+-123.59 39.08 2193
+-123.464 39.08 2181
+-123.338 39.08 2146
+-123.212 39.08 2114
+-123.086 39.08 2076
+-122.96 39.08 2047
+-122.834 39.08 2038
+-122.708 39.08 2035
+-122.582 39.08 2084
+-122.456 39.08 2173
+-122.33 39.08 2306
+-122.204 39.08 2428
+-122.078 39.08 2529
+-121.952 39.08 2629
+-121.826 39.08 2727
+-121.7 39.08 2785
+-121.574 39.08 2820
+-121.448 39.08 2835
+-121.322 39.08 2861
+-121.196 39.08 2913
+-121.07 39.08 2983
+-120.944 39.08 3060
+-120.818 39.08 3154
+-120.692 39.08 3221
+-120.566 39.08 3267
+-120.44 39.08 3304
+-120.314 39.08 3358
+-120.188 39.08 3438
+-120.062 39.08 3484
+-119.936 39.08 3507
+-119.81 39.08 3557
+-119.684 39.08 3589
+-119.558 39.08 3634
+-119.432 39.08 3679
+-119.306 39.08 3721
+-119.18 39.08 3810
+-119.054 39.08 3882
+-118.928 39.08 3917
+-118.802 39.08 3938
+-118.676 39.08 3986
+-118.55 39.08 4036
+-118.424 39.08 4086
+-118.298 39.08 4128
+-118.172 39.08 4139
+-118.046 39.08 4124
+-117.92 39.08 4138
+-117.794 39.08 4174
+-117.668 39.08 4222
+-117.542 39.08 4261
+-117.416 39.08 4280
+-117.29 39.08 4321
+-117.164 39.08 4314
+-117.038 39.08 4308
+-116.912 39.08 4307
+-116.786 39.08 4284
+-116.66 39.08 4243
+-116.534 39.08 4193
+-116.408 39.08 4135
+-116.282 39.08 4079
+-116.156 39.08 4039
+-116.03 39.08 4065
+-115.904 39.08 4090
+-115.778 39.08 4067
+-115.652 39.08 3974
+-115.526 39.08 3857
+-115.4 39.08 3772
+-115.274 39.08 3788
+-115.148 39.08 3782
+-115.022 39.08 3713
+-114.896 39.08 3570
+-114.77 39.08 3459
+-114.644 39.08 3395
+-114.518 39.08 3367
+-114.392 39.08 3413
+-114.266 39.08 3472
+-114.14 39.08 3523
+-114.014 39.08 3553
+-113.888 39.08 3577
+-113.762 39.08 3594
+-113.636 39.08 3603
+-113.51 39.08 3612
+-113.384 39.08 3583
+-113.258 39.08 3586
+-113.132 39.08 3638
+-113.006 39.08 3584
+-112.88 39.08 3394
+-112.754 39.08 3375
+-112.628 39.08 3295
+-112.502 39.08 3171
+-112.376 39.08 3135
+-112.25 39.08 3096
+-112.124 39.08 3055
+-111.998 39.08 3007
+-111.872 39.08 2882
+-111.746 39.08 2837
+-111.62 39.08 2734
+-111.494 39.08 2634
+-111.368 39.08 2590
+-111.242 39.08 2590
+-111.116 39.08 2441
+-110.99 39.08 2407
+-110.864 39.08 2369
+-110.738 39.08 2340
+-110.612 39.08 2305
+-110.486 39.08 2254
+-110.36 39.08 2231
+-110.234 39.08 2214
+-110.108 39.08 2190
+-109.982 39.08 2187
+-109.856 39.08 2192
+-109.73 39.08 2195
+-109.604 39.08 2208
+-109.478 39.08 2226
+-109.352 39.08 2243
+-109.226 39.08 2258
+-109.1 39.08 2276
+-108.974 39.08 2255
+-108.848 39.08 2305
+-108.722 39.08 2318
+-108.596 39.08 2330
+-108.47 39.08 2341
+-108.344 39.08 2350
+-108.218 39.08 2358
+-108.092 39.08 2366
+-107.966 39.08 2381
+-107.84 39.08 2387
+-107.714 39.08 2393
+-107.588 39.08 2398
+-107.462 39.08 2402
+-107.336 39.08 2424
+-107.21 39.08 2429
+-107.084 39.08 2458
+-106.958 39.08 2521
+-106.832 39.08 2543
+-106.706 39.08 2550
+-106.58 39.08 2557
+-106.454 39.08 2564
+-106.328 39.08 2571
+-106.202 39.08 2536
+-106.076 39.08 2670
+-105.95 39.08 2697
+-105.824 39.08 2704
+-105.698 39.08 2710
+-105.572 39.08 2738
+-105.446 39.08 2744
+-105.32 39.08 2708
+-105.194 39.08 2714
+-105.068 39.08 2732
+-104.942 39.08 2737
+-104.816 39.08 2669
+-104.69 39.08 2668
+-104.564 39.08 2745
+-104.438 39.08 2744
+-104.312 39.08 2745
+-104.186 39.08 2736
+-104.06 39.08 2781
+-103.934 39.08 2788
+-103.808 39.08 2735
+-103.682 39.08 2562
+-103.556 39.08 2625
+-103.43 39.08 2575
+-103.304 39.08 2596
+-103.178 39.08 2554
+-103.052 39.08 2539
+-102.926 39.08 2496
+-102.8 39.08 2496
+-102.674 39.08 2461
+-102.548 39.08 2459
+-102.422 39.08 2492
+-102.296 39.08 2495
+-102.17 39.08 2605
+-102.044 39.08 2609
+-101.918 39.08 2613
+-101.792 39.08 2657
+-101.666 39.08 2711
+-101.54 39.08 2725
+-101.414 39.08 2727
+-101.288 39.08 2728
+-101.162 39.08 2855
+-101.036 39.08 2855
+-100.91 39.08 2856
+-100.784 39.08 2857
+-100.658 39.08 2858
+-100.532 39.08 2859
+-100.406 39.08 2860
+-100.28 39.08 2862
+-100.154 39.08 2864
+-100.028 39.08 2866
+-99.902 39.08 2873
+-99.776 39.08 2951
+-99.65 39.08 2954
+-99.524 39.08 2957
+-99.398 39.08 3056
+-99.272 39.08 3059
+-99.146 39.08 3062
+-99.02 39.08 3179
+-98.894 39.08 3176
+-98.768 39.08 3178
+-98.642 39.08 3182
+-98.516 39.08 3178
+-98.39 39.08 3174
+-98.264 39.08 3169
+-98.138 39.08 3243
+-98.012 39.08 3240
+-97.886 39.08 3237
+-97.76 39.08 3264
+-97.634 39.08 3304
+-97.508 39.08 3301
+-97.382 39.08 3331
+-97.256 39.08 3356
+-97.13 39.08 3364
+-97.004 39.08 3380
+-96.878 39.08 3405
+-96.752 39.08 3492
+-96.626 39.08 3535
+-96.5 39.08 3581
+-96.374 39.08 3689
+-96.248 39.08 3749
+-96.122 39.08 3752
+-95.996 39.08 3727
+-95.87 39.08 3698
+-95.744 39.08 3850
+-95.618 39.08 4035
+-95.492 39.08 4141
+-95.366 39.08 4246
+-95.24 39.08 4366
+-95.114 39.08 4462
+-94.988 39.08 4550
+-94.862 39.08 4675
+-94.736 39.08 4795
+-94.61 39.08 4958
+-94.484 39.08 5128
+-94.358 39.08 5260
+-94.232 39.08 5381
+-94.106 39.08 5527
+-93.98 39.08 5591
+-93.854 39.08 5752
+-93.728 39.08 5907
+-93.602 39.08 6001
+-93.476 39.08 6105
+-93.35 39.08 6239
+-93.224 39.08 6438
+-93.098 39.08 6503
+-92.972 39.08 6646
+-92.846 39.08 6812
+-92.72 39.08 6963
+-92.594 39.08 7119
+-92.468 39.08 7157
+-92.342 39.08 7349
+-92.216 39.08 7532
+-92.09 39.08 7646
+-91.964 39.08 7810
+-91.838 39.08 7910
+-91.712 39.08 7975
+-91.586 39.08 8156
+-91.46 39.08 8272
+-91.334 39.08 8414
+-91.208 39.08 8493
+-91.082 39.08 8625
+-90.956 39.08 8758
+-90.83 39.08 8907
+-90.704 39.08 9017
+-90.578 39.08 9081
+-90.452 39.08 9090
+-90.326 39.08 9045
+-90.2 39.08 9004
+-90.074 39.08 8901
+-89.948 39.08 8785
+-89.822 39.08 8674
+-89.696 39.08 8555
+-89.57 39.08 8399
+-89.444 39.08 8301
+-89.318 39.08 8180
+-89.192 39.08 8042
+-89.066 39.08 8253
+-88.94 39.08 8245
+-88.814 39.08 8239
+-88.688 39.08 8259
+-88.562 39.08 8215
+-88.436 39.08 8198
+-88.31 39.08 8143
+-88.184 39.08 8096
+-88.058 39.08 8038
+-87.932 39.08 7958
+-87.806 39.08 7896
+-87.68 39.08 7747
+-87.554 39.08 7712
+-87.428 39.08 7566
+-87.302 39.08 7502
+-87.176 39.08 7421
+-87.05 39.08 7277
+-86.924 39.08 7191
+-86.798 39.08 7008
+-86.672 39.08 6945
+-86.546 39.08 6833
+-86.42 39.08 6700
+-86.294 39.08 6581
+-86.168 39.08 6510
+-86.042 39.08 6331
+-85.916 39.08 6202
+-85.79 39.08 6115
+-85.664 39.08 5911
+-85.538 39.08 5880
+-85.412 39.08 5679
+-85.286 39.08 5509
+-85.16 39.08 5474
+-85.034 39.08 5419
+-84.908 39.08 5330
+-84.782 39.08 5190
+-84.656 39.08 4997
+-84.53 39.08 4842
+-84.404 39.08 4759
+-84.278 39.08 4668
+-84.152 39.08 4554
+-84.026 39.08 4466
+-83.9 39.08 4391
+-83.774 39.08 4295
+-83.648 39.08 4266
+-83.522 39.08 4227
+-83.396 39.08 4211
+-83.27 39.08 4191
+-83.144 39.08 4172
+-83.018 39.08 4163
+-82.892 39.08 4158
+-82.766 39.08 4154
+-82.64 39.08 4150
+-82.514 39.08 4148
+-82.388 39.08 4147
+-82.262 39.08 4097
+-82.136 39.08 4038
+-82.01 39.08 3997
+-81.884 39.08 3888
+-81.758 39.08 3837
+-81.632 39.08 3833
+-81.506 39.08 3830
+-81.38 39.08 3827
+-81.254 39.08 3824
+-81.128 39.08 3768
+-81.002 39.08 3751
+-80.876 39.08 3749
+-80.75 39.08 3662
+-80.624 39.08 3660
+-80.498 39.08 3659
+-80.372 39.08 3657
+-80.246 39.08 3656
+-80.12 39.08 3655
+-79.994 39.08 3655
+-79.868 39.08 3654
+-79.742 39.08 3654
+-79.616 39.08 3653
+-79.49 39.08 3567
+-79.364 39.08 3567
+-79.238 39.08 3547
+-79.112 39.08 3546
+-78.986 39.08 3546
+-78.86 39.08 3545
+-78.734 39.08 3545
+-78.608 39.08 3545
+-78.482 39.08 3545
+-78.356 39.08 3544
+-78.23 39.08 3544
+-78.104 39.08 3544
+-77.978 39.08 3544
+-77.852 39.08 3544
+-77.726 39.08 3452
+-77.6 39.08 3452
+-77.474 39.08 3453
+-77.348 39.08 3453
+-77.222 39.08 3453
+-77.096 39.08 3454
+-76.97 39.08 3454
+-76.844 39.08 3454
+-76.718 39.08 3455
+-76.592 39.08 3455
+-76.466 39.08 3455
+-76.34 39.08 3455
+-76.214 39.08 3456
+-76.088 39.08 3385
+-75.962 39.08 3384
+-75.836 39.08 3384
+-75.71 39.08 3383
+-75.584 39.08 3383
+-75.458 39.08 3382
+-75.332 39.08 3382
+-75.206 39.08 3381
+-75.08 39.08 3381
+-74.954 39.08 3380
+-74.828 39.08 3380
+-74.702 39.08 3379
+-74.576 39.08 3379
+-74.45 39.08 3378
+-74.324 39.08 3378
+-74.198 39.08 3377
+-74.072 39.08 3377
+-73.946 39.08 3377
+-73.82 39.08 3376
+-73.694 39.08 3376
+-73.568 39.08 3376
+-73.442 39.08 3375
+-73.316 39.08 3375
+-73.19 39.08 3375
+-73.064 39.08 3374
+-72.938 39.08 3070
+-72.812 39.08 3069
+-72.686 39.08 3068
+-72.56 39.08 3067
+-72.434 39.08 3066
+-72.308 39.08 3065
+-72.182 39.08 3064
+-72.056 39.08 3062
+-71.93 39.08 3061
+-71.804 39.08 3060
+-71.678 39.08 3060
+-71.552 39.08 3059
+-71.426 39.08 3058
+-71.3 39.08 3057
+-71.174 39.08 3056
+-71.048 39.08 3055
+-70.922 39.08 3054
+-70.796 39.08 3053
+-70.67 39.08 2927
+-70.544 39.08 2926
+-70.418 39.08 2895
+-70.292 39.08 2848
+-70.166 39.08 2846
+-70.04 39.08 2845
+-69.914 39.08 2860
+-69.788 39.08 2859
+-69.662 39.08 2870
+-69.536 39.08 2869
+-69.41 39.08 2828
+-69.284 39.08 2788
+-69.158 39.08 2788
+-69.032 39.08 2787
+-68.906 39.08 2787
+-68.78 39.08 2806
+-68.654 39.08 2812
+-68.528 39.08 2821
+-68.402 39.08 2819
+-68.276 39.08 2856
+-68.15 39.08 2868
+-68.024 39.08 2868
+-67.898 39.08 2928
+-67.772 39.08 2951
+-67.646 39.08 2927
+-67.52 39.08 2915
+-67.394 39.08 3075
+-67.268 39.08 3077
+-67.142 39.08 3145
+-67.016 39.08 3146
+-66.89 39.08 3147
+-66.764 39.08 3148
+-66.638 39.08 3150
+-66.512 39.08 3056
+-66.386 39.08 3078
+-66.26 39.08 3079
+-66.134 39.08 3066
+-66.008 39.08 3366
+-65.882 39.08 3399
+-65.756 39.08 3399
+-65.63 39.08 3393
+-65.504 39.08 3394
+-65.378 39.08 3398
+-65.252 39.08 3415
+-65.126 39.08 3416
+-128 39.028 2434
+-127.874 39.028 2390
+-127.748 39.028 2379
+-127.622 39.028 2388
+-127.496 39.028 2385
+-127.37 39.028 2381
+-127.244 39.028 2385
+-127.118 39.028 2422
+-126.992 39.028 2395
+-126.866 39.028 2405
+-126.74 39.028 2401
+-126.614 39.028 2376
+-126.488 39.028 2430
+-126.362 39.028 2425
+-126.236 39.028 2439
+-126.11 39.028 2443
+-125.984 39.028 2436
+-125.858 39.028 2437
+-125.732 39.028 2430
+-125.606 39.028 2492
+-125.48 39.028 2447
+-125.354 39.028 2436
+-125.228 39.028 2458
+-125.102 39.028 2451
+-124.976 39.028 2444
+-124.85 39.028 2433
+-124.724 39.028 2416
+-124.598 39.028 2356
+-124.472 39.028 2363
+-124.346 39.028 2345
+-124.22 39.028 2324
+-124.094 39.028 2305
+-123.968 39.028 2279
+-123.842 39.028 2231
+-123.716 39.028 2205
+-123.59 39.028 2192
+-123.464 39.028 2153
+-123.338 39.028 2109
+-123.212 39.028 2067
+-123.086 39.028 2026
+-122.96 39.028 1973
+-122.834 39.028 1921
+-122.708 39.028 1907
+-122.582 39.028 1957
+-122.456 39.028 2085
+-122.33 39.028 2230
+-122.204 39.028 2382
+-122.078 39.028 2519
+-121.952 39.028 2636
+-121.826 39.028 2727
+-121.7 39.028 2785
+-121.574 39.028 2812
+-121.448 39.028 2814
+-121.322 39.028 2800
+-121.196 39.028 2852
+-121.07 39.028 2947
+-120.944 39.028 3045
+-120.818 39.028 3151
+-120.692 39.028 3226
+-120.566 39.028 3248
+-120.44 39.028 3295
+-120.314 39.028 3376
+-120.188 39.028 3456
+-120.062 39.028 3514
+-119.936 39.028 3544
+-119.81 39.028 3564
+-119.684 39.028 3624
+-119.558 39.028 3674
+-119.432 39.028 3734
+-119.306 39.028 3790
+-119.18 39.028 3882
+-119.054 39.028 3946
+-118.928 39.028 3978
+-118.802 39.028 4003
+-118.676 39.028 4079
+-118.55 39.028 4106
+-118.424 39.028 4137
+-118.298 39.028 4170
+-118.172 39.028 4174
+-118.046 39.028 4187
+-117.92 39.028 4219
+-117.794 39.028 4247
+-117.668 39.028 4287
+-117.542 39.028 4322
+-117.416 39.028 4342
+-117.29 39.028 4353
+-117.164 39.028 4348
+-117.038 39.028 4341
+-116.912 39.028 4337
+-116.786 39.028 4314
+-116.66 39.028 4279
+-116.534 39.028 4252
+-116.408 39.028 4210
+-116.282 39.028 4177
+-116.156 39.028 4148
+-116.03 39.028 4141
+-115.904 39.028 4137
+-115.778 39.028 4106
+-115.652 39.028 4040
+-115.526 39.028 3966
+-115.4 39.028 3898
+-115.274 39.028 3883
+-115.148 39.028 3828
+-115.022 39.028 3760
+-114.896 39.028 3662
+-114.77 39.028 3563
+-114.644 39.028 3472
+-114.518 39.028 3426
+-114.392 39.028 3461
+-114.266 39.028 3508
+-114.14 39.028 3548
+-114.014 39.028 3578
+-113.888 39.028 3598
+-113.762 39.028 3608
+-113.636 39.028 3616
+-113.51 39.028 3588
+-113.384 39.028 3590
+-113.258 39.028 3638
+-113.132 39.028 3642
+-113.006 39.028 3588
+-112.88 39.028 3584
+-112.754 39.028 3397
+-112.628 39.028 3369
+-112.502 39.028 3247
+-112.376 39.028 3160
+-112.25 39.028 3121
+-112.124 39.028 3124
+-111.998 39.028 3074
+-111.872 39.028 3028
+-111.746 39.028 2864
+-111.62 39.028 2759
+-111.494 39.028 2710
+-111.368 39.028 2598
+-111.242 39.028 2596
+-111.116 39.028 2509
+-110.99 39.028 2456
+-110.864 39.028 2374
+-110.738 39.028 2329
+-110.612 39.028 2266
+-110.486 39.028 2231
+-110.36 39.028 2200
+-110.234 39.028 2165
+-110.108 39.028 2153
+-109.982 39.028 2151
+-109.856 39.028 2152
+-109.73 39.028 2167
+-109.604 39.028 2188
+-109.478 39.028 2210
+-109.352 39.028 2230
+-109.226 39.028 2253
+-109.1 39.028 2276
+-108.974 39.028 2290
+-108.848 39.028 2307
+-108.722 39.028 2321
+-108.596 39.028 2334
+-108.47 39.028 2345
+-108.344 39.028 2354
+-108.218 39.028 2362
+-108.092 39.028 2378
+-107.966 39.028 2384
+-107.84 39.028 2390
+-107.714 39.028 2395
+-107.588 39.028 2399
+-107.462 39.028 2420
+-107.336 39.028 2425
+-107.21 39.028 2453
+-107.084 39.028 2513
+-106.958 39.028 2535
+-106.832 39.028 2541
+-106.706 39.028 2548
+-106.58 39.028 2556
+-106.454 39.028 2563
+-106.328 39.028 2530
+-106.202 39.028 2659
+-106.076 39.028 2686
+-105.95 39.028 2693
+-105.824 39.028 2699
+-105.698 39.028 2728
+-105.572 39.028 2735
+-105.446 39.028 2700
+-105.32 39.028 2706
+-105.194 39.028 2725
+-105.068 39.028 2730
+-104.942 39.028 2778
+-104.816 39.028 2671
+-104.69 39.028 2747
+-104.564 39.028 2748
+-104.438 39.028 2750
+-104.312 39.028 2742
+-104.186 39.028 2788
+-104.06 39.028 2796
+-103.934 39.028 2744
+-103.808 39.028 2719
+-103.682 39.028 2790
+-103.556 39.028 2609
+-103.43 39.028 2565
+-103.304 39.028 2603
+-103.178 39.028 2594
+-103.052 39.028 2561
+-102.926 39.028 2519
+-102.8 39.028 2518
+-102.674 39.028 2515
+-102.548 39.028 2466
+-102.422 39.028 2545
+-102.296 39.028 2546
+-102.17 39.028 2612
+-102.044 39.028 2616
+-101.918 39.028 2621
+-101.792 39.028 2665
+-101.666 39.028 2667
+-101.54 39.028 2722
+-101.414 39.028 2736
+-101.288 39.028 2738
+-101.162 39.028 2868
+-101.036 39.028 2868
+-100.91 39.028 2869
+-100.784 39.028 2870
+-100.658 39.028 2872
+-100.532 39.028 2873
+-100.406 39.028 2875
+-100.28 39.028 2877
+-100.154 39.028 2879
+-100.028 39.028 2881
+-99.902 39.028 2883
+-99.776 39.028 2966
+-99.65 39.028 2969
+-99.524 39.028 2972
+-99.398 39.028 2976
+-99.272 39.028 3074
+-99.146 39.028 3190
+-99.02 39.028 3187
+-98.894 39.028 3183
+-98.768 39.028 3180
+-98.642 39.028 3182
+-98.516 39.028 3185
+-98.39 39.028 3181
+-98.264 39.028 3177
+-98.138 39.028 3173
+-98.012 39.028 3246
+-97.886 39.028 3267
+-97.76 39.028 3311
+-97.634 39.028 3306
+-97.508 39.028 3304
+-97.382 39.028 3305
+-97.256 39.028 3342
+-97.13 39.028 3372
+-97.004 39.028 3390
+-96.878 39.028 3467
+-96.752 39.028 3500
+-96.626 39.028 3569
+-96.5 39.028 3599
+-96.374 39.028 3635
+-96.248 39.028 3716
+-96.122 39.028 3739
+-95.996 39.028 3772
+-95.87 39.028 3836
+-95.744 39.028 3953
+-95.618 39.028 4092
+-95.492 39.028 4191
+-95.366 39.028 4313
+-95.24 39.028 4404
+-95.114 39.028 4475
+-94.988 39.028 4486
+-94.862 39.028 4667
+-94.736 39.028 4772
+-94.61 39.028 4940
+-94.484 39.028 5002
+-94.358 39.028 5183
+-94.232 39.028 5369
+-94.106 39.028 5533
+-93.98 39.028 5594
+-93.854 39.028 5699
+-93.728 39.028 5891
+-93.602 39.028 6042
+-93.476 39.028 6112
+-93.35 39.028 6274
+-93.224 39.028 6416
+-93.098 39.028 6574
+-92.972 39.028 6704
+-92.846 39.028 6828
+-92.72 39.028 6961
+-92.594 39.028 7035
+-92.468 39.028 7282
+-92.342 39.028 7320
+-92.216 39.028 7526
+-92.09 39.028 7637
+-91.964 39.028 7703
+-91.838 39.028 7904
+-91.712 39.028 8041
+-91.586 39.028 8134
+-91.46 39.028 8317
+-91.334 39.028 8440
+-91.208 39.028 8540
+-91.082 39.028 8691
+-90.956 39.028 8803
+-90.83 39.028 8903
+-90.704 39.028 9006
+-90.578 39.028 9123
+-90.452 39.028 9143
+-90.326 39.028 9090
+-90.2 39.028 9100
+-90.074 39.028 8917
+-89.948 39.028 8806
+-89.822 39.028 8721
+-89.696 39.028 8511
+-89.57 39.028 8399
+-89.444 39.028 8286
+-89.318 39.028 8170
+-89.192 39.028 8074
+-89.066 39.028 8127
+-88.94 39.028 8304
+-88.814 39.028 8323
+-88.688 39.028 8307
+-88.562 39.028 8290
+-88.436 39.028 8235
+-88.31 39.028 8225
+-88.184 39.028 8142
+-88.058 39.028 8083
+-87.932 39.028 8005
+-87.806 39.028 7973
+-87.68 39.028 7851
+-87.554 39.028 7699
+-87.428 39.028 7632
+-87.302 39.028 7492
+-87.176 39.028 7447
+-87.05 39.028 7360
+-86.924 39.028 7218
+-86.798 39.028 7090
+-86.672 39.028 6993
+-86.546 39.028 6882
+-86.42 39.028 6743
+-86.294 39.028 6589
+-86.168 39.028 6459
+-86.042 39.028 6360
+-85.916 39.028 6198
+-85.79 39.028 6130
+-85.664 39.028 5960
+-85.538 39.028 5895
+-85.412 39.028 5743
+-85.286 39.028 5568
+-85.16 39.028 5414
+-85.034 39.028 5445
+-84.908 39.028 5377
+-84.782 39.028 5235
+-84.656 39.028 5098
+-84.53 39.028 4948
+-84.404 39.028 4825
+-84.278 39.028 4694
+-84.152 39.028 4556
+-84.026 39.028 4431
+-83.9 39.028 4308
+-83.774 39.028 4226
+-83.648 39.028 4214
+-83.522 39.028 4185
+-83.396 39.028 4202
+-83.27 39.028 4184
+-83.144 39.028 4182
+-83.018 39.028 4169
+-82.892 39.028 4166
+-82.766 39.028 4163
+-82.64 39.028 4160
+-82.514 39.028 4158
+-82.388 39.028 4105
+-82.262 39.028 4061
+-82.136 39.028 4002
+-82.01 39.028 3940
+-81.884 39.028 3889
+-81.758 39.028 3886
+-81.632 39.028 3835
+-81.506 39.028 3831
+-81.38 39.028 3827
+-81.254 39.028 3769
+-81.128 39.028 3754
+-81.002 39.028 3751
+-80.876 39.028 3748
+-80.75 39.028 3746
+-80.624 39.028 3660
+-80.498 39.028 3659
+-80.372 39.028 3657
+-80.246 39.028 3656
+-80.12 39.028 3655
+-79.994 39.028 3654
+-79.868 39.028 3654
+-79.742 39.028 3653
+-79.616 39.028 3568
+-79.49 39.028 3567
+-79.364 39.028 3547
+-79.238 39.028 3547
+-79.112 39.028 3546
+-78.986 39.028 3546
+-78.86 39.028 3545
+-78.734 39.028 3545
+-78.608 39.028 3545
+-78.482 39.028 3545
+-78.356 39.028 3544
+-78.23 39.028 3544
+-78.104 39.028 3544
+-77.978 39.028 3544
+-77.852 39.028 3452
+-77.726 39.028 3453
+-77.6 39.028 3453
+-77.474 39.028 3453
+-77.348 39.028 3453
+-77.222 39.028 3454
+-77.096 39.028 3454
+-76.97 39.028 3454
+-76.844 39.028 3455
+-76.718 39.028 3455
+-76.592 39.028 3455
+-76.466 39.028 3455
+-76.34 39.028 3456
+-76.214 39.028 3385
+-76.088 39.028 3384
+-75.962 39.028 3384
+-75.836 39.028 3383
+-75.71 39.028 3383
+-75.584 39.028 3382
+-75.458 39.028 3382
+-75.332 39.028 3381
+-75.206 39.028 3380
+-75.08 39.028 3380
+-74.954 39.028 3379
+-74.828 39.028 3379
+-74.702 39.028 3379
+-74.576 39.028 3378
+-74.45 39.028 3378
+-74.324 39.028 3377
+-74.198 39.028 3377
+-74.072 39.028 3376
+-73.946 39.028 3376
+-73.82 39.028 3376
+-73.694 39.028 3375
+-73.568 39.028 3375
+-73.442 39.028 3375
+-73.316 39.028 3374
+-73.19 39.028 3374
+-73.064 39.028 3070
+-72.938 39.028 3069
+-72.812 39.028 3068
+-72.686 39.028 3067
+-72.56 39.028 3066
+-72.434 39.028 3064
+-72.308 39.028 3063
+-72.182 39.028 3062
+-72.056 39.028 3061
+-71.93 39.028 3060
+-71.804 39.028 3059
+-71.678 39.028 3058
+-71.552 39.028 3057
+-71.426 39.028 3056
+-71.3 39.028 3055
+-71.174 39.028 3055
+-71.048 39.028 3054
+-70.922 39.028 3053
+-70.796 39.028 2927
+-70.67 39.028 2926
+-70.544 39.028 2895
+-70.418 39.028 2847
+-70.292 39.028 2846
+-70.166 39.028 2845
+-70.04 39.028 2860
+-69.914 39.028 2859
+-69.788 39.028 2869
+-69.662 39.028 2869
+-69.536 39.028 2828
+-69.41 39.028 2787
+-69.284 39.028 2787
+-69.158 39.028 2787
+-69.032 39.028 2786
+-68.906 39.028 2805
+-68.78 39.028 2811
+-68.654 39.028 2820
+-68.528 39.028 2818
+-68.402 39.028 2855
+-68.276 39.028 2867
+-68.15 39.028 2867
+-68.024 39.028 2927
+-67.898 39.028 2950
+-67.772 39.028 2926
+-67.646 39.028 2914
+-67.52 39.028 3074
+-67.394 39.028 3075
+-67.268 39.028 3143
+-67.142 39.028 3144
+-67.016 39.028 3146
+-66.89 39.028 3147
+-66.764 39.028 3148
+-66.638 39.028 3055
+-66.512 39.028 3077
+-66.386 39.028 3078
+-66.26 39.028 3065
+-66.134 39.028 3365
+-66.008 39.028 3398
+-65.882 39.028 3398
+-65.756 39.028 3392
+-65.63 39.028 3393
+-65.504 39.028 3397
+-65.378 39.028 3415
+-65.252 39.028 3415
+-65.126 39.028 3401
+-128 38.976 2394
+-127.874 38.976 2384
+-127.748 38.976 2380
+-127.622 38.976 2390
+-127.496 38.976 2383
+-127.37 38.976 2392
+-127.244 38.976 2432
+-127.118 38.976 2445
+-126.992 38.976 2441
+-126.866 38.976 2411
+-126.74 38.976 2439
+-126.614 38.976 2434
+-126.488 38.976 2439
+-126.362 38.976 2455
+-126.236 38.976 2449
+-126.11 38.976 2443
+-125.984 38.976 2436
+-125.858 38.976 2407
+-125.732 38.976 2513
+-125.606 38.976 2502
+-125.48 38.976 2455
+-125.354 38.976 2470
+-125.228 38.976 2457
+-125.102 38.976 2454
+-124.976 38.976 2441
+-124.85 38.976 2437
+-124.724 38.976 2452
+-124.598 38.976 2385
+-124.472 38.976 2367
+-124.346 38.976 2347
+-124.22 38.976 2325
+-124.094 38.976 2300
+-123.968 38.976 2275
+-123.842 38.976 2266
+-123.716 38.976 2211
+-123.59 38.976 2173
+-123.464 38.976 2129
+-123.338 38.976 2083
+-123.212 38.976 2040
+-123.086 38.976 1973
+-122.96 38.976 1895
+-122.834 38.976 1814
+-122.708 38.976 1770
+-122.582 38.976 1844
+-122.456 38.976 1992
+-122.33 38.976 2168
+-122.204 38.976 2337
+-122.078 38.976 2491
+-121.952 38.976 2622
+-121.826 38.976 2733
+-121.7 38.976 2806
+-121.574 38.976 2824
+-121.448 38.976 2794
+-121.322 38.976 2751
+-121.196 38.976 2827
+-121.07 38.976 2943
+-120.944 38.976 3053
+-120.818 38.976 3168
+-120.692 38.976 3234
+-120.566 38.976 3228
+-120.44 38.976 3277
+-120.314 38.976 3391
+-120.188 38.976 3485
+-120.062 38.976 3548
+-119.936 38.976 3551
+-119.81 38.976 3575
+-119.684 38.976 3634
+-119.558 38.976 3702
+-119.432 38.976 3788
+-119.306 38.976 3847
+-119.18 38.976 3962
+-119.054 38.976 4011
+-118.928 38.976 4047
+-118.802 38.976 4094
+-118.676 38.976 4149
+-118.55 38.976 4162
+-118.424 38.976 4193
+-118.298 38.976 4207
+-118.172 38.976 4206
+-118.046 38.976 4234
+-117.92 38.976 4227
+-117.794 38.976 4281
+-117.668 38.976 4337
+-117.542 38.976 4356
+-117.416 38.976 4369
+-117.29 38.976 4383
+-117.164 38.976 4391
+-117.038 38.976 4378
+-116.912 38.976 4363
+-116.786 38.976 4339
+-116.66 38.976 4307
+-116.534 38.976 4273
+-116.408 38.976 4251
+-116.282 38.976 4220
+-116.156 38.976 4195
+-116.03 38.976 4173
+-115.904 38.976 4155
+-115.778 38.976 4131
+-115.652 38.976 4091
+-115.526 38.976 4038
+-115.4 38.976 3986
+-115.274 38.976 3944
+-115.148 38.976 3886
+-115.022 38.976 3832
+-114.896 38.976 3754
+-114.77 38.976 3677
+-114.644 38.976 3606
+-114.518 38.976 3565
+-114.392 38.976 3594
+-114.266 38.976 3605
+-114.14 38.976 3636
+-114.014 38.976 3605
+-113.888 38.976 3617
+-113.762 38.976 3622
+-113.636 38.976 3646
+-113.51 38.976 3620
+-113.384 38.976 3638
+-113.258 38.976 3641
+-113.132 38.976 3644
+-113.006 38.976 3590
+-112.88 38.976 3586
+-112.754 38.976 3582
+-112.628 38.976 3397
+-112.502 38.976 3318
+-112.376 38.976 3226
+-112.25 38.976 3186
+-112.124 38.976 3138
+-111.998 38.976 3092
+-111.872 38.976 3044
+-111.746 38.976 2993
+-111.62 38.976 2881
+-111.494 38.976 2707
+-111.368 38.976 2658
+-111.242 38.976 2615
+-111.116 38.976 2560
+-110.99 38.976 2418
+-110.864 38.976 2366
+-110.738 38.976 2292
+-110.612 38.976 2243
+-110.486 38.976 2196
+-110.36 38.976 2145
+-110.234 38.976 2116
+-110.108 38.976 2102
+-109.982 38.976 2097
+-109.856 38.976 2109
+-109.73 38.976 2133
+-109.604 38.976 2161
+-109.478 38.976 2188
+-109.352 38.976 2219
+-109.226 38.976 2249
+-109.1 38.976 2269
+-108.974 38.976 2291
+-108.848 38.976 2309
+-108.722 38.976 2325
+-108.596 38.976 2338
+-108.47 38.976 2349
+-108.344 38.976 2358
+-108.218 38.976 2375
+-108.092 38.976 2381
+-107.966 38.976 2387
+-107.84 38.976 2392
+-107.714 38.976 2396
+-107.588 38.976 2416
+-107.462 38.976 2420
+-107.336 38.976 2447
+-107.21 38.976 2504
+-107.084 38.976 2525
+-106.958 38.976 2532
+-106.832 38.976 2539
+-106.706 38.976 2546
+-106.58 38.976 2553
+-106.454 38.976 2522
+-106.328 38.976 2647
+-106.202 38.976 2673
+-106.076 38.976 2681
+-105.95 38.976 2688
+-105.824 38.976 2716
+-105.698 38.976 2724
+-105.572 38.976 2691
+-105.446 38.976 2697
+-105.32 38.976 2716
+-105.194 38.976 2722
+-105.068 38.976 2770
+-104.942 38.976 2784
+-104.816 38.976 2690
+-104.69 38.976 2750
+-104.564 38.976 2753
+-104.438 38.976 2746
+-104.312 38.976 2793
+-104.186 38.976 2801
+-104.06 38.976 2751
+-103.934 38.976 2727
+-103.808 38.976 2799
+-103.682 38.976 2796
+-103.556 38.976 2617
+-103.43 38.976 2702
+-103.304 38.976 2645
+-103.178 38.976 2637
+-103.052 38.976 2604
+-102.926 38.976 2566
+-102.8 38.976 2510
+-102.674 38.976 2486
+-102.548 38.976 2519
+-102.422 38.976 2547
+-102.296 38.976 2553
+-102.17 38.976 2618
+-102.044 38.976 2623
+-101.918 38.976 2628
+-101.792 38.976 2653
+-101.666 38.976 2676
+-101.54 38.976 2730
+-101.414 38.976 2733
+-101.288 38.976 2879
+-101.162 38.976 2880
+-101.036 38.976 2881
+-100.91 38.976 2882
+-100.784 38.976 2884
+-100.658 38.976 2885
+-100.532 38.976 2887
+-100.406 38.976 2889
+-100.28 38.976 2891
+-100.154 38.976 2893
+-100.028 38.976 2895
+-99.902 38.976 2898
+-99.776 38.976 2901
+-99.65 38.976 2984
+-99.524 38.976 2987
+-99.398 38.976 3109
+-99.272 38.976 3106
+-99.146 38.976 3197
+-99.02 38.976 3194
+-98.894 38.976 3190
+-98.768 38.976 3187
+-98.642 38.976 3183
+-98.516 38.976 3186
+-98.39 38.976 3181
+-98.264 38.976 3183
+-98.138 38.976 3277
+-98.012 38.976 3272
+-97.886 38.976 3306
+-97.76 38.976 3299
+-97.634 38.976 3301
+-97.508 38.976 3298
+-97.382 38.976 3297
+-97.256 38.976 3302
+-97.13 38.976 3343
+-97.004 38.976 3417
+-96.878 38.976 3443
+-96.752 38.976 3518
+-96.626 38.976 3546
+-96.5 38.976 3567
+-96.374 38.976 3577
+-96.248 38.976 3583
+-96.122 38.976 3637
+-95.996 38.976 3729
+-95.87 38.976 3839
+-95.744 38.976 3980
+-95.618 38.976 4121
+-95.492 38.976 4202
+-95.366 38.976 4305
+-95.24 38.976 4413
+-95.114 38.976 4389
+-94.988 38.976 4576
+-94.862 38.976 4702
+-94.736 38.976 4831
+-94.61 38.976 4942
+-94.484 38.976 5033
+-94.358 38.976 5163
+-94.232 38.976 5368
+-94.106 38.976 5536
+-93.98 38.976 5643
+-93.854 38.976 5753
+-93.728 38.976 5919
+-93.602 38.976 5964
+-93.476 38.976 6144
+-93.35 38.976 6297
+-93.224 38.976 6412
+-93.098 38.976 6553
+-92.972 38.976 6703
+-92.846 38.976 6834
+-92.72 38.976 6918
+-92.594 38.976 7063
+-92.468 38.976 7202
+-92.342 38.976 7351
+-92.216 38.976 7545
+-92.09 38.976 7579
+-91.964 38.976 7823
+-91.838 38.976 7896
+-91.712 38.976 8045
+-91.586 38.976 8153
+-91.46 38.976 8334
+-91.334 38.976 8439
+-91.208 38.976 8581
+-91.082 38.976 8697
+-90.956 38.976 8828
+-90.83 38.976 8980
+-90.704 38.976 9041
+-90.578 38.976 9149
+-90.452 38.976 9201
+-90.326 38.976 9173
+-90.2 38.976 9064
+-90.074 38.976 8918
+-89.948 38.976 8842
+-89.822 38.976 8774
+-89.696 38.976 8578
+-89.57 38.976 8457
+-89.444 38.976 8348
+-89.318 38.976 8245
+-89.192 38.976 8230
+-89.066 38.976 8351
+-88.94 38.976 8380
+-88.814 38.976 8374
+-88.688 38.976 8359
+-88.562 38.976 8338
+-88.436 38.976 8303
+-88.31 38.976 8273
+-88.184 38.976 8188
+-88.058 38.976 8131
+-87.932 38.976 8029
+-87.806 38.976 7991
+-87.68 38.976 7891
+-87.554 38.976 7783
+-87.428 38.976 7718
+-87.302 38.976 7533
+-87.176 38.976 7485
+-87.05 38.976 7399
+-86.924 38.976 7251
+-86.798 38.976 7097
+-86.672 38.976 6979
+-86.546 38.976 6870
+-86.42 38.976 6760
+-86.294 38.976 6661
+-86.168 38.976 6495
+-86.042 38.976 6398
+-85.916 38.976 6177
+-85.79 38.976 6169
+-85.664 38.976 6012
+-85.538 38.976 5819
+-85.412 38.976 5754
+-85.286 38.976 5599
+-85.16 38.976 5500
+-85.034 38.976 5423
+-84.908 38.976 5386
+-84.782 38.976 5260
+-84.656 38.976 5058
+-84.53 38.976 4904
+-84.404 38.976 4846
+-84.278 38.976 4772
+-84.152 38.976 4549
+-84.026 38.976 4361
+-83.9 38.976 4177
+-83.774 38.976 4080
+-83.648 38.976 4100
+-83.522 38.976 4159
+-83.396 38.976 4208
+-83.27 38.976 4201
+-83.144 38.976 4188
+-83.018 38.976 4183
+-82.892 38.976 4175
+-82.766 38.976 4173
+-82.64 38.976 4171
+-82.514 38.976 4127
+-82.388 38.976 4067
+-82.262 38.976 4005
+-82.136 38.976 3948
+-82.01 38.976 3893
+-81.884 38.976 3888
+-81.758 38.976 3884
+-81.632 38.976 3880
+-81.506 38.976 3830
+-81.38 38.976 3771
+-81.254 38.976 3755
+-81.128 38.976 3752
+-81.002 38.976 3749
+-80.876 38.976 3747
+-80.75 38.976 3745
+-80.624 38.976 3743
+-80.498 38.976 3658
+-80.372 38.976 3656
+-80.246 38.976 3655
+-80.12 38.976 3658
+-79.994 38.976 3658
+-79.868 38.976 3657
+-79.742 38.976 3568
+-79.616 38.976 3568
+-79.49 38.976 3571
+-79.364 38.976 3571
+-79.238 38.976 3570
+-79.112 38.976 3570
+-78.986 38.976 3570
+-78.86 38.976 3570
+-78.734 38.976 3570
+-78.608 38.976 3570
+-78.482 38.976 3571
+-78.356 38.976 3571
+-78.23 38.976 3571
+-78.104 38.976 3571
+-77.978 38.976 3452
+-77.852 38.976 3453
+-77.726 38.976 3453
+-77.6 38.976 3453
+-77.474 38.976 3453
+-77.348 38.976 3454
+-77.222 38.976 3454
+-77.096 38.976 3454
+-76.97 38.976 3455
+-76.844 38.976 3455
+-76.718 38.976 3455
+-76.592 38.976 3455
+-76.466 38.976 3456
+-76.34 38.976 3385
+-76.214 38.976 3384
+-76.088 38.976 3384
+-75.962 38.976 3383
+-75.836 38.976 3383
+-75.71 38.976 3382
+-75.584 38.976 3381
+-75.458 38.976 3381
+-75.332 38.976 3380
+-75.206 38.976 3380
+-75.08 38.976 3379
+-74.954 38.976 3379
+-74.828 38.976 3378
+-74.702 38.976 3378
+-74.576 38.976 3377
+-74.45 38.976 3377
+-74.324 38.976 3377
+-74.198 38.976 3376
+-74.072 38.976 3376
+-73.946 38.976 3375
+-73.82 38.976 3375
+-73.694 38.976 3375
+-73.568 38.976 3374
+-73.442 38.976 3374
+-73.316 38.976 3374
+-73.19 38.976 3070
+-73.064 38.976 3069
+-72.938 38.976 3068
+-72.812 38.976 3066
+-72.686 38.976 3065
+-72.56 38.976 3064
+-72.434 38.976 3063
+-72.308 38.976 3062
+-72.182 38.976 3061
+-72.056 38.976 3060
+-71.93 38.976 3059
+-71.804 38.976 3058
+-71.678 38.976 3057
+-71.552 38.976 3056
+-71.426 38.976 3055
+-71.3 38.976 3054
+-71.174 38.976 3053
+-71.048 38.976 3052
+-70.922 38.976 2926
+-70.796 38.976 2925
+-70.67 38.976 2894
+-70.544 38.976 2846
+-70.418 38.976 2845
+-70.292 38.976 2844
+-70.166 38.976 2859
+-70.04 38.976 2858
+-69.914 38.976 2869
+-69.788 38.976 2868
+-69.662 38.976 2827
+-69.536 38.976 2787
+-69.41 38.976 2786
+-69.284 38.976 2786
+-69.158 38.976 2786
+-69.032 38.976 2804
+-68.906 38.976 2810
+-68.78 38.976 2819
+-68.654 38.976 2817
+-68.528 38.976 2854
+-68.402 38.976 2866
+-68.276 38.976 2866
+-68.15 38.976 2926
+-68.024 38.976 2949
+-67.898 38.976 2925
+-67.772 38.976 2913
+-67.646 38.976 3073
+-67.52 38.976 3074
+-67.394 38.976 3142
+-67.268 38.976 3143
+-67.142 38.976 3144
+-67.016 38.976 3146
+-66.89 38.976 3147
+-66.764 38.976 3054
+-66.638 38.976 3076
+-66.512 38.976 3077
+-66.386 38.976 3064
+-66.26 38.976 3364
+-66.134 38.976 3397
+-66.008 38.976 3397
+-65.882 38.976 3391
+-65.756 38.976 3392
+-65.63 38.976 3396
+-65.504 38.976 3414
+-65.378 38.976 3414
+-65.252 38.976 3400
+-65.126 38.976 3400
+-128 38.924 2389
+-127.874 38.924 2386
+-127.748 38.924 2396
+-127.622 38.924 2390
+-127.496 38.924 2399
+-127.37 38.924 2425
+-127.244 38.924 2440
+-127.118 38.924 2453
+-126.992 38.924 2421
+-126.866 38.924 2452
+-126.74 38.924 2448
+-126.614 38.924 2452
+-126.488 38.924 2471
+-126.362 38.924 2466
+-126.236 38.924 2460
+-126.11 38.924 2454
+-125.984 38.924 2422
+-125.858 38.924 2493
+-125.732 38.924 2484
+-125.606 38.924 2441
+-125.48 38.924 2492
+-125.354 38.924 2480
+-125.228 38.924 2468
+-125.102 38.924 2454
+-124.976 38.924 2445
+-124.85 38.924 2466
+-124.724 38.924 2459
+-124.598 38.924 2441
+-124.472 38.924 2373
+-124.346 38.924 2351
+-124.22 38.924 2327
+-124.094 38.924 2328
+-123.968 38.924 2298
+-123.842 38.924 2260
+-123.716 38.924 2202
+-123.59 38.924 2179
+-123.464 38.924 2128
+-123.338 38.924 2069
+-123.212 38.924 2010
+-123.086 38.924 1940
+-122.96 38.924 1862
+-122.834 38.924 1766
+-122.708 38.924 1699
+-122.582 38.924 1784
+-122.456 38.924 1957
+-122.33 38.924 2137
+-122.204 38.924 2304
+-122.078 38.924 2468
+-121.952 38.924 2620
+-121.826 38.924 2741
+-121.7 38.924 2811
+-121.574 38.924 2839
+-121.448 38.924 2835
+-121.322 38.924 2824
+-121.196 38.924 2867
+-121.07 38.924 2942
+-120.944 38.924 3059
+-120.818 38.924 3175
+-120.692 38.924 3258
+-120.566 38.924 3267
+-120.44 38.924 3322
+-120.314 38.924 3419
+-120.188 38.924 3516
+-120.062 38.924 3569
+-119.936 38.924 3586
+-119.81 38.924 3601
+-119.684 38.924 3650
+-119.558 38.924 3758
+-119.432 38.924 3833
+-119.306 38.924 3902
+-119.18 38.924 4027
+-119.054 38.924 4100
+-118.928 38.924 4129
+-118.802 38.924 4148
+-118.676 38.924 4202
+-118.55 38.924 4259
+-118.424 38.924 4279
+-118.298 38.924 4278
+-118.172 38.924 4272
+-118.046 38.924 4281
+-117.92 38.924 4292
+-117.794 38.924 4343
+-117.668 38.924 4381
+-117.542 38.924 4348
+-117.416 38.924 4389
+-117.29 38.924 4419
+-117.164 38.924 4445
+-117.038 38.924 4436
+-116.912 38.924 4404
+-116.786 38.924 4372
+-116.66 38.924 4319
+-116.534 38.924 4253
+-116.408 38.924 4267
+-116.282 38.924 4203
+-116.156 38.924 4203
+-116.03 38.924 4156
+-115.904 38.924 4161
+-115.778 38.924 4115
+-115.652 38.924 4119
+-115.526 38.924 4075
+-115.4 38.924 4024
+-115.274 38.924 3970
+-115.148 38.924 3922
+-115.022 38.924 3870
+-114.896 38.924 3816
+-114.77 38.924 3756
+-114.644 38.924 3725
+-114.518 38.924 3697
+-114.392 38.924 3679
+-114.266 38.924 3683
+-114.14 38.924 3694
+-114.014 38.924 3685
+-113.888 38.924 3680
+-113.762 38.924 3660
+-113.636 38.924 3660
+-113.51 38.924 3648
+-113.384 38.924 3637
+-113.258 38.924 3669
+-113.132 38.924 3642
+-113.006 38.924 3623
+-112.88 38.924 3620
+-112.754 38.924 3609
+-112.628 38.924 3511
+-112.502 38.924 3444
+-112.376 38.924 3290
+-112.25 38.924 3254
+-112.124 38.924 3210
+-111.998 38.924 3163
+-111.872 38.924 3112
+-111.746 38.924 2945
+-111.62 38.924 2817
+-111.494 38.924 2818
+-111.368 38.924 2771
+-111.242 38.924 2656
+-111.116 38.924 2595
+-110.99 38.924 2416
+-110.864 38.924 2333
+-110.738 38.924 2275
+-110.612 38.924 2213
+-110.486 38.924 2142
+-110.36 38.924 2091
+-110.234 38.924 2054
+-110.108 38.924 2033
+-109.982 38.924 2036
+-109.856 38.924 2058
+-109.73 38.924 2093
+-109.604 38.924 2129
+-109.478 38.924 2169
+-109.352 38.924 2210
+-109.226 38.924 2239
+-109.1 38.924 2268
+-108.974 38.924 2292
+-108.848 38.924 2312
+-108.722 38.924 2328
+-108.596 38.924 2342
+-108.47 38.924 2353
+-108.344 38.924 2371
+-108.218 38.924 2378
+-108.092 38.924 2384
+-107.966 38.924 2388
+-107.84 38.924 2392
+-107.714 38.924 2412
+-107.588 38.924 2416
+-107.462 38.924 2488
+-107.336 38.924 2494
+-107.21 38.924 2514
+-107.084 38.924 2521
+-106.958 38.924 2528
+-106.832 38.924 2535
+-106.706 38.924 2543
+-106.58 38.924 2513
+-106.454 38.924 2633
+-106.328 38.924 2659
+-106.202 38.924 2667
+-106.076 38.924 2675
+-105.95 38.924 2704
+-105.824 38.924 2712
+-105.698 38.924 2680
+-105.572 38.924 2687
+-105.446 38.924 2707
+-105.32 38.924 2714
+-105.194 38.924 2761
+-105.068 38.924 2776
+-104.942 38.924 2786
+-104.816 38.924 2870
+-104.69 38.924 2755
+-104.564 38.924 2749
+-104.438 38.924 2796
+-104.312 38.924 2806
+-104.186 38.924 2756
+-104.06 38.924 2734
+-103.934 38.924 2806
+-103.808 38.924 2804
+-103.682 38.924 2810
+-103.556 38.924 2807
+-103.43 38.924 2709
+-103.304 38.924 2701
+-103.178 38.924 2594
+-103.052 38.924 2585
+-102.926 38.924 2554
+-102.8 38.924 2534
+-102.674 38.924 2479
+-102.548 38.924 2491
+-102.422 38.924 2523
+-102.296 38.924 2555
+-102.17 38.924 2633
+-102.044 38.924 2630
+-101.918 38.924 2635
+-101.792 38.924 2660
+-101.666 38.924 2663
+-101.54 38.924 2738
+-101.414 38.924 2742
+-101.288 38.924 2745
+-101.162 38.924 2892
+-101.036 38.924 2893
+-100.91 38.924 2894
+-100.784 38.924 2896
+-100.658 38.924 2898
+-100.532 38.924 2900
+-100.406 38.924 2902
+-100.28 38.924 2904
+-100.154 38.924 2906
+-100.028 38.924 2909
+-99.902 38.924 2912
+-99.776 38.924 2914
+-99.65 38.924 2997
+-99.524 38.924 3118
+-99.398 38.924 3116
+-99.272 38.924 3113
+-99.146 38.924 3110
+-99.02 38.924 3200
+-98.894 38.924 3197
+-98.768 38.924 3193
+-98.642 38.924 3190
+-98.516 38.924 3186
+-98.39 38.924 3182
+-98.264 38.924 3201
+-98.138 38.924 3278
+-98.012 38.924 3310
+-97.886 38.924 3301
+-97.76 38.924 3292
+-97.634 38.924 3283
+-97.508 38.924 3276
+-97.382 38.924 3277
+-97.256 38.924 3304
+-97.13 38.924 3311
+-97.004 38.924 3362
+-96.878 38.924 3424
+-96.752 38.924 3478
+-96.626 38.924 3508
+-96.5 38.924 3526
+-96.374 38.924 3517
+-96.248 38.924 3470
+-96.122 38.924 3439
+-95.996 38.924 3600
+-95.87 38.924 3791
+-95.744 38.924 3973
+-95.618 38.924 4080
+-95.492 38.924 4123
+-95.366 38.924 4248
+-95.24 38.924 4415
+-95.114 38.924 4492
+-94.988 38.924 4587
+-94.862 38.924 4718
+-94.736 38.924 4843
+-94.61 38.924 4954
+-94.484 38.924 5064
+-94.358 38.924 5224
+-94.232 38.924 5394
+-94.106 38.924 5468
+-93.98 38.924 5610
+-93.854 38.924 5812
+-93.728 38.924 5895
+-93.602 38.924 6040
+-93.476 38.924 6155
+-93.35 38.924 6316
+-93.224 38.924 6455
+-93.098 38.924 6531
+-92.972 38.924 6720
+-92.846 38.924 6852
+-92.72 38.924 6992
+-92.594 38.924 7067
+-92.468 38.924 7237
+-92.342 38.924 7374
+-92.216 38.924 7518
+-92.09 38.924 7593
+-91.964 38.924 7843
+-91.838 38.924 7892
+-91.712 38.924 8075
+-91.586 38.924 8223
+-91.46 38.924 8295
+-91.334 38.924 8427
+-91.208 38.924 8595
+-91.082 38.924 8745
+-90.956 38.924 8869
+-90.83 38.924 8991
+-90.704 38.924 9111
+-90.578 38.924 9197
+-90.452 38.924 9282
+-90.326 38.924 9185
+-90.2 38.924 9097
+-90.074 38.924 8980
+-89.948 38.924 8923
+-89.822 38.924 8742
+-89.696 38.924 8564
+-89.57 38.924 8455
+-89.444 38.924 8329
+-89.318 38.924 8172
+-89.192 38.924 8364
+-89.066 38.924 8425
+-88.94 38.924 8421
+-88.814 38.924 8431
+-88.688 38.924 8433
+-88.562 38.924 8396
+-88.436 38.924 8355
+-88.31 38.924 8314
+-88.184 38.924 8248
+-88.058 38.924 8199
+-87.932 38.924 8097
+-87.806 38.924 8051
+-87.68 38.924 7895
+-87.554 38.924 7837
+-87.428 38.924 7684
+-87.302 38.924 7559
+-87.176 38.924 7449
+-87.05 38.924 7401
+-86.924 38.924 7289
+-86.798 38.924 7118
+-86.672 38.924 6989
+-86.546 38.924 6895
+-86.42 38.924 6782
+-86.294 38.924 6646
+-86.168 38.924 6483
+-86.042 38.924 6397
+-85.916 38.924 6235
+-85.79 38.924 6202
+-85.664 38.924 6014
+-85.538 38.924 5894
+-85.412 38.924 5747
+-85.286 38.924 5606
+-85.16 38.924 5400
+-85.034 38.924 5316
+-84.908 38.924 5374
+-84.782 38.924 5247
+-84.656 38.924 5031
+-84.53 38.924 4832
+-84.404 38.924 4867
+-84.278 38.924 4742
+-84.152 38.924 4579
+-84.026 38.924 4330
+-83.9 38.924 4092
+-83.774 38.924 3963
+-83.648 38.924 4039
+-83.522 38.924 4123
+-83.396 38.924 4186
+-83.27 38.924 4222
+-83.144 38.924 4202
+-83.018 38.924 4194
+-82.892 38.924 4196
+-82.766 38.924 4176
+-82.64 38.924 4133
+-82.514 38.924 4081
+-82.388 38.924 4001
+-82.262 38.924 3949
+-82.136 38.924 3895
+-82.01 38.924 3889
+-81.884 38.924 3884
+-81.758 38.924 3880
+-81.632 38.924 3876
+-81.506 38.924 3816
+-81.38 38.924 3793
+-81.254 38.924 3753
+-81.128 38.924 3749
+-81.002 38.924 3746
+-80.876 38.924 3744
+-80.75 38.924 3742
+-80.624 38.924 3741
+-80.498 38.924 3740
+-80.372 38.924 3655
+-80.246 38.924 3658
+-80.12 38.924 3657
+-79.994 38.924 3664
+-79.868 38.924 3664
+-79.742 38.924 3568
+-79.616 38.924 3570
+-79.49 38.924 3570
+-79.364 38.924 3570
+-79.238 38.924 3570
+-79.112 38.924 3570
+-78.986 38.924 3570
+-78.86 38.924 3570
+-78.734 38.924 3570
+-78.608 38.924 3570
+-78.482 38.924 3570
+-78.356 38.924 3570
+-78.23 38.924 3571
+-78.104 38.924 3452
+-77.978 38.924 3453
+-77.852 38.924 3453
+-77.726 38.924 3453
+-77.6 38.924 3453
+-77.474 38.924 3454
+-77.348 38.924 3454
+-77.222 38.924 3454
+-77.096 38.924 3455
+-76.97 38.924 3455
+-76.844 38.924 3455
+-76.718 38.924 3455
+-76.592 38.924 3456
+-76.466 38.924 3385
+-76.34 38.924 3384
+-76.214 38.924 3384
+-76.088 38.924 3383
+-75.962 38.924 3382
+-75.836 38.924 3382
+-75.71 38.924 3381
+-75.584 38.924 3381
+-75.458 38.924 3380
+-75.332 38.924 3380
+-75.206 38.924 3379
+-75.08 38.924 3379
+-74.954 38.924 3378
+-74.828 38.924 3378
+-74.702 38.924 3377
+-74.576 38.924 3377
+-74.45 38.924 3376
+-74.324 38.924 3376
+-74.198 38.924 3375
+-74.072 38.924 3375
+-73.946 38.924 3375
+-73.82 38.924 3374
+-73.694 38.924 3374
+-73.568 38.924 3374
+-73.442 38.924 3373
+-73.316 38.924 3070
+-73.19 38.924 3069
+-73.064 38.924 3067
+-72.938 38.924 3066
+-72.812 38.924 3065
+-72.686 38.924 3064
+-72.56 38.924 3063
+-72.434 38.924 3062
+-72.308 38.924 3061
+-72.182 38.924 3059
+-72.056 38.924 3058
+-71.93 38.924 3057
+-71.804 38.924 3056
+-71.678 38.924 3056
+-71.552 38.924 3055
+-71.426 38.924 3054
+-71.3 38.924 3053
+-71.174 38.924 3052
+-71.048 38.924 2925
+-70.922 38.924 2924
+-70.796 38.924 2894
+-70.67 38.924 2846
+-70.544 38.924 2845
+-70.418 38.924 2844
+-70.292 38.924 2858
+-70.166 38.924 2857
+-70.04 38.924 2868
+-69.914 38.924 2867
+-69.788 38.924 2827
+-69.662 38.924 2786
+-69.536 38.924 2786
+-69.41 38.924 2785
+-69.284 38.924 2785
+-69.158 38.924 2803
+-69.032 38.924 2809
+-68.906 38.924 2818
+-68.78 38.924 2817
+-68.654 38.924 2853
+-68.528 38.924 2864
+-68.402 38.924 2865
+-68.276 38.924 2924
+-68.15 38.924 2947
+-68.024 38.924 2924
+-67.898 38.924 2912
+-67.772 38.924 3071
+-67.646 38.924 3073
+-67.52 38.924 3140
+-67.394 38.924 3142
+-67.268 38.924 3143
+-67.142 38.924 3144
+-67.016 38.924 3146
+-66.89 38.924 3053
+-66.764 38.924 3075
+-66.638 38.924 3076
+-66.512 38.924 3063
+-66.386 38.924 3363
+-66.26 38.924 3396
+-66.134 38.924 3396
+-66.008 38.924 3390
+-65.882 38.924 3391
+-65.756 38.924 3395
+-65.63 38.924 3413
+-65.504 38.924 3413
+-65.378 38.924 3399
+-65.252 38.924 3399
+-65.126 38.924 3349
+-128 38.872 2391
+-127.874 38.872 2401
+-127.748 38.872 2397
+-127.622 38.872 2406
+-127.496 38.872 2434
+-127.37 38.872 2452
+-127.244 38.872 2448
+-127.118 38.872 2431
+-126.992 38.872 2481
+-126.866 38.872 2494
+-126.74 38.872 2478
+-126.614 38.872 2473
+-126.488 38.872 2482
+-126.362 38.872 2477
+-126.236 38.872 2555
+-126.11 38.872 2545
+-125.984 38.872 2510
+-125.858 38.872 2502
+-125.732 38.872 2523
+-125.606 38.872 2513
+-125.48 38.872 2464
+-125.354 38.872 2491
+-125.228 38.872 2479
+-125.102 38.872 2501
+-124.976 38.872 2485
+-124.85 38.872 2468
+-124.724 38.872 2459
+-124.598 38.872 2449
+-124.472 38.872 2427
+-124.346 38.872 2357
+-124.22 38.872 2363
+-124.094 38.872 2332
+-123.968 38.872 2300
+-123.842 38.872 2288
+-123.716 38.872 2240
+-123.59 38.872 2192
+-123.464 38.872 2131
+-123.338 38.872 2053
+-123.212 38.872 1985
+-123.086 38.872 1927
+-122.96 38.872 1863
+-122.834 38.872 1807
+-122.708 38.872 1778
+-122.582 38.872 1845
+-122.456 38.872 1975
+-122.33 38.872 2127
+-122.204 38.872 2300
+-122.078 38.872 2469
+-121.952 38.872 2628
+-121.826 38.872 2739
+-121.7 38.872 2835
+-121.574 38.872 2876
+-121.448 38.872 2885
+-121.322 38.872 2878
+-121.196 38.872 2844
+-121.07 38.872 2941
+-120.944 38.872 3075
+-120.818 38.872 3185
+-120.692 38.872 3298
+-120.566 38.872 3339
+-120.44 38.872 3385
+-120.314 38.872 3458
+-120.188 38.872 3539
+-120.062 38.872 3597
+-119.936 38.872 3629
+-119.81 38.872 3629
+-119.684 38.872 3673
+-119.558 38.872 3787
+-119.432 38.872 3867
+-119.306 38.872 3955
+-119.18 38.872 4126
+-119.054 38.872 4161
+-118.928 38.872 4162
+-118.802 38.872 4200
+-118.676 38.872 4269
+-118.55 38.872 4321
+-118.424 38.872 4344
+-118.298 38.872 4345
+-118.172 38.872 4352
+-118.046 38.872 4369
+-117.92 38.872 4379
+-117.794 38.872 4405
+-117.668 38.872 4406
+-117.542 38.872 4416
+-117.416 38.872 4436
+-117.29 38.872 4461
+-117.164 38.872 4471
+-117.038 38.872 4457
+-116.912 38.872 4425
+-116.786 38.872 4374
+-116.66 38.872 4356
+-116.534 38.872 4320
+-116.408 38.872 4308
+-116.282 38.872 4269
+-116.156 38.872 4242
+-116.03 38.872 4206
+-115.904 38.872 4191
+-115.778 38.872 4166
+-115.652 38.872 4153
+-115.526 38.872 4096
+-115.4 38.872 4040
+-115.274 38.872 3973
+-115.148 38.872 3938
+-115.022 38.872 3909
+-114.896 38.872 3862
+-114.77 38.872 3811
+-114.644 38.872 3772
+-114.518 38.872 3746
+-114.392 38.872 3735
+-114.266 38.872 3730
+-114.14 38.872 3697
+-114.014 38.872 3692
+-113.888 38.872 3683
+-113.762 38.872 3675
+-113.636 38.872 3650
+-113.51 38.872 3670
+-113.384 38.872 3674
+-113.258 38.872 3661
+-113.132 38.872 3638
+-113.006 38.872 3619
+-112.88 38.872 3610
+-112.754 38.872 3599
+-112.628 38.872 3552
+-112.502 38.872 3445
+-112.376 38.872 3419
+-112.25 38.872 3387
+-112.124 38.872 3349
+-111.998 38.872 3172
+-111.872 38.872 3058
+-111.746 38.872 2923
+-111.62 38.872 2881
+-111.494 38.872 2836
+-111.368 38.872 2717
+-111.242 38.872 2656
+-111.116 38.872 2590
+-110.99 38.872 2453
+-110.864 38.872 2382
+-110.738 38.872 2305
+-110.612 38.872 2170
+-110.486 38.872 2096
+-110.36 38.872 2029
+-110.234 38.872 1977
+-110.108 38.872 1956
+-109.982 38.872 1966
+-109.856 38.872 2001
+-109.73 38.872 2047
+-109.604 38.872 2100
+-109.478 38.872 2154
+-109.352 38.872 2195
+-109.226 38.872 2235
+-109.1 38.872 2268
+-108.974 38.872 2294
+-108.848 38.872 2316
+-108.722 38.872 2333
+-108.596 38.872 2346
+-108.47 38.872 2366
+-108.344 38.872 2374
+-108.218 38.872 2381
+-108.092 38.872 2385
+-107.966 38.872 2389
+-107.84 38.872 2407
+-107.714 38.872 2410
+-107.588 38.872 2478
+-107.462 38.872 2483
+-107.336 38.872 2503
+-107.21 38.872 2509
+-107.084 38.872 2516
+-106.958 38.872 2523
+-106.832 38.872 2531
+-106.706 38.872 2503
+-106.58 38.872 2617
+-106.454 38.872 2644
+-106.328 38.872 2652
+-106.202 38.872 2661
+-106.076 38.872 2689
+-105.95 38.872 2698
+-105.824 38.872 2669
+-105.698 38.872 2677
+-105.572 38.872 2697
+-105.446 38.872 2704
+-105.32 38.872 2751
+-105.194 38.872 2767
+-105.068 38.872 2778
+-104.942 38.872 2861
+-104.816 38.872 2868
+-104.69 38.872 2750
+-104.564 38.872 2798
+-104.438 38.872 2808
+-104.312 38.872 2760
+-104.186 38.872 2739
+-104.06 38.872 2812
+-103.934 38.872 2811
+-103.808 38.872 2818
+-103.682 38.872 2816
+-103.556 38.872 2770
+-103.43 38.872 2685
+-103.304 38.872 2709
+-103.178 38.872 2601
+-103.052 38.872 2593
+-102.926 38.872 2562
+-102.8 38.872 2542
+-102.674 38.872 2536
+-102.548 38.872 2484
+-102.422 38.872 2539
+-102.296 38.872 2531
+-102.17 38.872 2563
+-102.044 38.872 2612
+-101.918 38.872 2617
+-101.792 38.872 2667
+-101.666 38.872 2671
+-101.54 38.872 2713
+-101.414 38.872 2750
+-101.288 38.872 2753
+-101.162 38.872 2757
+-101.036 38.872 2904
+-100.91 38.872 2906
+-100.784 38.872 2908
+-100.658 38.872 2910
+-100.532 38.872 2912
+-100.406 38.872 2914
+-100.28 38.872 2917
+-100.154 38.872 2919
+-100.028 38.872 2922
+-99.902 38.872 2925
+-99.776 38.872 3006
+-99.65 38.872 3126
+-99.524 38.872 3124
+-99.398 38.872 3122
+-99.272 38.872 3120
+-99.146 38.872 3117
+-99.02 38.872 3114
+-98.894 38.872 3203
+-98.768 38.872 3199
+-98.642 38.872 3195
+-98.516 38.872 3206
+-98.39 38.872 3201
+-98.264 38.872 3234
+-98.138 38.872 3315
+-98.012 38.872 3304
+-97.886 38.872 3293
+-97.76 38.872 3280
+-97.634 38.872 3267
+-97.508 38.872 3253
+-97.382 38.872 3240
+-97.256 38.872 3260
+-97.13 38.872 3292
+-97.004 38.872 3299
+-96.878 38.872 3322
+-96.752 38.872 3395
+-96.626 38.872 3456
+-96.5 38.872 3484
+-96.374 38.872 3475
+-96.248 38.872 3405
+-96.122 38.872 3326
+-95.996 38.872 3474
+-95.87 38.872 3735
+-95.744 38.872 3948
+-95.618 38.872 4049
+-95.492 38.872 4016
+-95.366 38.872 4177
+-95.24 38.872 4395
+-95.114 38.872 4541
+-94.988 38.872 4610
+-94.862 38.872 4735
+-94.736 38.872 4888
+-94.61 38.872 4970
+-94.484 38.872 5078
+-94.358 38.872 5246
+-94.232 38.872 5352
+-94.106 38.872 5471
+-93.98 38.872 5661
+-93.854 38.872 5820
+-93.728 38.872 5953
+-93.602 38.872 6079
+-93.476 38.872 6124
+-93.35 38.872 6243
+-93.224 38.872 6397
+-93.098 38.872 6555
+-92.972 38.872 6757
+-92.846 38.872 6863
+-92.72 38.872 7000
+-92.594 38.872 7104
+-92.468 38.872 7211
+-92.342 38.872 7388
+-92.216 38.872 7578
+-92.09 38.872 7645
+-91.964 38.872 7778
+-91.838 38.872 7909
+-91.712 38.872 8015
+-91.586 38.872 8123
+-91.46 38.872 8320
+-91.334 38.872 8456
+-91.208 38.872 8620
+-91.082 38.872 8733
+-90.956 38.872 8867
+-90.83 38.872 8995
+-90.704 38.872 9133
+-90.578 38.872 9225
+-90.452 38.872 9314
+-90.326 38.872 9260
+-90.2 38.872 9172
+-90.074 38.872 8999
+-89.948 38.872 8907
+-89.822 38.872 8738
+-89.696 38.872 8615
+-89.57 38.872 8446
+-89.444 38.872 8335
+-89.318 38.872 8217
+-89.192 38.872 8278
+-89.066 38.872 8452
+-88.94 38.872 8505
+-88.814 38.872 8487
+-88.688 38.872 8475
+-88.562 38.872 8475
+-88.436 38.872 8425
+-88.31 38.872 8403
+-88.184 38.872 8291
+-88.058 38.872 8220
+-87.932 38.872 8135
+-87.806 38.872 8061
+-87.68 38.872 7942
+-87.554 38.872 7875
+-87.428 38.872 7746
+-87.302 38.872 7605
+-87.176 38.872 7511
+-87.05 38.872 7426
+-86.924 38.872 7274
+-86.798 38.872 7164
+-86.672 38.872 7022
+-86.546 38.872 6897
+-86.42 38.872 6826
+-86.294 38.872 6668
+-86.168 38.872 6595
+-86.042 38.872 6457
+-85.916 38.872 6283
+-85.79 38.872 6142
+-85.664 38.872 6031
+-85.538 38.872 5863
+-85.412 38.872 5783
+-85.286 38.872 5634
+-85.16 38.872 5519
+-85.034 38.872 5431
+-84.908 38.872 5389
+-84.782 38.872 5259
+-84.656 38.872 5103
+-84.53 38.872 4927
+-84.404 38.872 4863
+-84.278 38.872 4729
+-84.152 38.872 4584
+-84.026 38.872 4338
+-83.9 38.872 4105
+-83.774 38.872 3972
+-83.648 38.872 4046
+-83.522 38.872 4131
+-83.396 38.872 4181
+-83.27 38.872 4211
+-83.144 38.872 4221
+-83.018 38.872 4234
+-82.892 38.872 4158
+-82.766 38.872 4154
+-82.64 38.872 4104
+-82.514 38.872 4001
+-82.388 38.872 3938
+-82.262 38.872 3896
+-82.136 38.872 3888
+-82.01 38.872 3882
+-81.884 38.872 3877
+-81.758 38.872 3873
+-81.632 38.872 3818
+-81.506 38.872 3790
+-81.38 38.872 3787
+-81.254 38.872 3784
+-81.128 38.872 3745
+-81.002 38.872 3743
+-80.876 38.872 3741
+-80.75 38.872 3739
+-80.624 38.872 3738
+-80.498 38.872 3737
+-80.372 38.872 3736
+-80.246 38.872 3672
+-80.12 38.872 3662
+-79.994 38.872 3662
+-79.868 38.872 3662
+-79.742 38.872 3569
+-79.616 38.872 3569
+-79.49 38.872 3569
+-79.364 38.872 3569
+-79.238 38.872 3569
+-79.112 38.872 3569
+-78.986 38.872 3569
+-78.86 38.872 3569
+-78.734 38.872 3569
+-78.608 38.872 3569
+-78.482 38.872 3570
+-78.356 38.872 3570
+-78.23 38.872 3452
+-78.104 38.872 3453
+-77.978 38.872 3453
+-77.852 38.872 3453
+-77.726 38.872 3453
+-77.6 38.872 3454
+-77.474 38.872 3454
+-77.348 38.872 3454
+-77.222 38.872 3455
+-77.096 38.872 3455
+-76.97 38.872 3455
+-76.844 38.872 3455
+-76.718 38.872 3456
+-76.592 38.872 3385
+-76.466 38.872 3384
+-76.34 38.872 3383
+-76.214 38.872 3383
+-76.088 38.872 3382
+-75.962 38.872 3382
+-75.836 38.872 3381
+-75.71 38.872 3380
+-75.584 38.872 3380
+-75.458 38.872 3379
+-75.332 38.872 3379
+-75.206 38.872 3378
+-75.08 38.872 3378
+-74.954 38.872 3377
+-74.828 38.872 3377
+-74.702 38.872 3376
+-74.576 38.872 3376
+-74.45 38.872 3375
+-74.324 38.872 3375
+-74.198 38.872 3375
+-74.072 38.872 3374
+-73.946 38.872 3374
+-73.82 38.872 3374
+-73.694 38.872 3373
+-73.568 38.872 3373
+-73.442 38.872 3070
+-73.316 38.872 3069
+-73.19 38.872 3067
+-73.064 38.872 3066
+-72.938 38.872 3065
+-72.812 38.872 3064
+-72.686 38.872 3062
+-72.56 38.872 3061
+-72.434 38.872 3060
+-72.308 38.872 3059
+-72.182 38.872 3058
+-72.056 38.872 3057
+-71.93 38.872 3056
+-71.804 38.872 3055
+-71.678 38.872 3054
+-71.552 38.872 3053
+-71.426 38.872 3052
+-71.3 38.872 3051
+-71.174 38.872 2925
+-71.048 38.872 2924
+-70.922 38.872 2893
+-70.796 38.872 2845
+-70.67 38.872 2844
+-70.544 38.872 2843
+-70.418 38.872 2857
+-70.292 38.872 2857
+-70.166 38.872 2867
+-70.04 38.872 2866
+-69.914 38.872 2826
+-69.788 38.872 2785
+-69.662 38.872 2785
+-69.536 38.872 2784
+-69.41 38.872 2784
+-69.284 38.872 2802
+-69.158 38.872 2808
+-69.032 38.872 2818
+-68.906 38.872 2816
+-68.78 38.872 2852
+-68.654 38.872 2863
+-68.528 38.872 2864
+-68.402 38.872 2923
+-68.276 38.872 2946
+-68.15 38.872 2922
+-68.024 38.872 2911
+-67.898 38.872 3070
+-67.772 38.872 3071
+-67.646 38.872 3139
+-67.52 38.872 3140
+-67.394 38.872 3141
+-67.268 38.872 3143
+-67.142 38.872 3144
+-67.016 38.872 3052
+-66.89 38.872 3074
+-66.764 38.872 3075
+-66.638 38.872 3062
+-66.512 38.872 3362
+-66.386 38.872 3395
+-66.26 38.872 3395
+-66.134 38.872 3389
+-66.008 38.872 3390
+-65.882 38.872 3394
+-65.756 38.872 3412
+-65.63 38.872 3412
+-65.504 38.872 3398
+-65.378 38.872 3399
+-65.252 38.872 3348
+-65.126 38.872 3348
+-128 38.82 2407
+-127.874 38.82 2405
+-127.748 38.82 2413
+-127.622 38.82 2442
+-127.496 38.82 2463
+-127.37 38.82 2460
+-127.244 38.82 2440
+-127.118 38.82 2495
+-126.992 38.82 2491
+-126.866 38.82 2511
+-126.74 38.82 2489
+-126.614 38.82 2498
+-126.488 38.82 2493
+-126.362 38.82 2575
+-126.236 38.82 2566
+-126.11 38.82 2557
+-125.984 38.82 2520
+-125.858 38.82 2544
+-125.732 38.82 2535
+-125.606 38.82 2525
+-125.48 38.82 2513
+-125.354 38.82 2464
+-125.228 38.82 2530
+-125.102 38.82 2515
+-124.976 38.82 2498
+-124.85 38.82 2480
+-124.724 38.82 2462
+-124.598 38.82 2450
+-124.472 38.82 2474
+-124.346 38.82 2400
+-124.22 38.82 2372
+-124.094 38.82 2374
+-123.968 38.82 2335
+-123.842 38.82 2293
+-123.716 38.82 2244
+-123.59 38.82 2187
+-123.464 38.82 2129
+-123.338 38.82 2074
+-123.212 38.82 1984
+-123.086 38.82 1913
+-122.96 38.82 1837
+-122.834 38.82 1801
+-122.708 38.82 1841
+-122.582 38.82 1911
+-122.456 38.82 2005
+-122.33 38.82 2132
+-122.204 38.82 2286
+-122.078 38.82 2457
+-121.952 38.82 2623
+-121.826 38.82 2753
+-121.7 38.82 2848
+-121.574 38.82 2914
+-121.448 38.82 2935
+-121.322 38.82 2927
+-121.196 38.82 2932
+-121.07 38.82 3033
+-120.944 38.82 3122
+-120.818 38.82 3212
+-120.692 38.82 3332
+-120.566 38.82 3387
+-120.44 38.82 3418
+-120.314 38.82 3482
+-120.188 38.82 3550
+-120.062 38.82 3600
+-119.936 38.82 3619
+-119.81 38.82 3647
+-119.684 38.82 3730
+-119.558 38.82 3880
+-119.432 38.82 3977
+-119.306 38.82 4115
+-119.18 38.82 4161
+-119.054 38.82 4170
+-118.928 38.82 4143
+-118.802 38.82 4227
+-118.676 38.82 4340
+-118.55 38.82 4363
+-118.424 38.82 4376
+-118.298 38.82 4423
+-118.172 38.82 4439
+-118.046 38.82 4428
+-117.92 38.82 4441
+-117.794 38.82 4445
+-117.668 38.82 4446
+-117.542 38.82 4451
+-117.416 38.82 4475
+-117.29 38.82 4495
+-117.164 38.82 4493
+-117.038 38.82 4474
+-116.912 38.82 4462
+-116.786 38.82 4432
+-116.66 38.82 4406
+-116.534 38.82 4383
+-116.408 38.82 4367
+-116.282 38.82 4336
+-116.156 38.82 4303
+-116.03 38.82 4270
+-115.904 38.82 4244
+-115.778 38.82 4224
+-115.652 38.82 4196
+-115.526 38.82 4156
+-115.4 38.82 4064
+-115.274 38.82 3967
+-115.148 38.82 3921
+-115.022 38.82 3936
+-114.896 38.82 3880
+-114.77 38.82 3801
+-114.644 38.82 3745
+-114.518 38.82 3762
+-114.392 38.82 3762
+-114.266 38.82 3745
+-114.14 38.82 3716
+-114.014 38.82 3694
+-113.888 38.82 3671
+-113.762 38.82 3653
+-113.636 38.82 3646
+-113.51 38.82 3648
+-113.384 38.82 3656
+-113.258 38.82 3659
+-113.132 38.82 3685
+-113.006 38.82 3643
+-112.88 38.82 3638
+-112.754 38.82 3560
+-112.628 38.82 3550
+-112.502 38.82 3449
+-112.376 38.82 3420
+-112.25 38.82 3386
+-112.124 38.82 3345
+-111.998 38.82 3254
+-111.872 38.82 3152
+-111.746 38.82 3169
+-111.62 38.82 2864
+-111.494 38.82 2821
+-111.368 38.82 2758
+-111.242 38.82 2692
+-111.116 38.82 2560
+-110.99 38.82 2471
+-110.864 38.82 2372
+-110.738 38.82 2274
+-110.612 38.82 2179
+-110.486 38.82 2052
+-110.36 38.82 1963
+-110.234 38.82 1901
+-110.108 38.82 1877
+-109.982 38.82 1895
+-109.856 38.82 1942
+-109.73 38.82 2007
+-109.604 38.82 2077
+-109.478 38.82 2136
+-109.352 38.82 2190
+-109.226 38.82 2235
+-109.1 38.82 2270
+-108.974 38.82 2299
+-108.848 38.82 2321
+-108.722 38.82 2339
+-108.596 38.82 2361
+-108.47 38.82 2370
+-108.344 38.82 2377
+-108.218 38.82 2382
+-108.092 38.82 2386
+-107.966 38.82 2445
+-107.84 38.82 2405
+-107.714 38.82 2468
+-107.588 38.82 2472
+-107.462 38.82 2490
+-107.336 38.82 2496
+-107.21 38.82 2502
+-107.084 38.82 2509
+-106.958 38.82 2517
+-106.832 38.82 2491
+-106.706 38.82 2600
+-106.58 38.82 2626
+-106.454 38.82 2636
+-106.328 38.82 2645
+-106.202 38.82 2674
+-106.076 38.82 2683
+-105.95 38.82 2656
+-105.824 38.82 2665
+-105.698 38.82 2686
+-105.572 38.82 2694
+-105.446 38.82 2740
+-105.32 38.82 2757
+-105.194 38.82 2769
+-105.068 38.82 2851
+-104.942 38.82 2859
+-104.816 38.82 2857
+-104.69 38.82 2913
+-104.564 38.82 2810
+-104.438 38.82 2763
+-104.312 38.82 2743
+-104.186 38.82 2816
+-104.06 38.82 2817
+-103.934 38.82 2824
+-103.808 38.82 2823
+-103.682 38.82 2778
+-103.556 38.82 2875
+-103.43 38.82 2872
+-103.304 38.82 2686
+-103.178 38.82 2722
+-103.052 38.82 2612
+-102.926 38.82 2597
+-102.8 38.82 2523
+-102.674 38.82 2544
+-102.548 38.82 2490
+-102.422 38.82 2535
+-102.296 38.82 2547
+-102.17 38.82 2539
+-102.044 38.82 2632
+-101.918 38.82 2624
+-101.792 38.82 2674
+-101.666 38.82 2678
+-101.54 38.82 2720
+-101.414 38.82 2725
+-101.288 38.82 2729
+-101.162 38.82 2765
+-101.036 38.82 2915
+-100.91 38.82 2917
+-100.784 38.82 2919
+-100.658 38.82 2921
+-100.532 38.82 2924
+-100.406 38.82 2926
+-100.28 38.82 2929
+-100.154 38.82 2931
+-100.028 38.82 2934
+-99.902 38.82 3015
+-99.776 38.82 3134
+-99.65 38.82 3132
+-99.524 38.82 3130
+-99.398 38.82 3128
+-99.272 38.82 3126
+-99.146 38.82 3123
+-99.02 38.82 3121
+-98.894 38.82 3118
+-98.768 38.82 3221
+-98.642 38.82 3217
+-98.516 38.82 3211
+-98.39 38.82 3244
+-98.264 38.82 3322
+-98.138 38.82 3311
+-98.012 38.82 3298
+-97.886 38.82 3282
+-97.76 38.82 3265
+-97.634 38.82 3245
+-97.508 38.82 3223
+-97.382 38.82 3217
+-97.256 38.82 3230
+-97.13 38.82 3208
+-97.004 38.82 3203
+-96.878 38.82 3224
+-96.752 38.82 3273
+-96.626 38.82 3370
+-96.5 38.82 3442
+-96.374 38.82 3463
+-96.248 38.82 3453
+-96.122 38.82 3425
+-95.996 38.82 3537
+-95.87 38.82 3716
+-95.744 38.82 3939
+-95.618 38.82 4037
+-95.492 38.82 4089
+-95.366 38.82 4216
+-95.24 38.82 4423
+-95.114 38.82 4550
+-94.988 38.82 4548
+-94.862 38.82 4718
+-94.736 38.82 4905
+-94.61 38.82 4944
+-94.484 38.82 5067
+-94.358 38.82 5258
+-94.232 38.82 5285
+-94.106 38.82 5460
+-93.98 38.82 5649
+-93.854 38.82 5803
+-93.728 38.82 5966
+-93.602 38.82 6096
+-93.476 38.82 6104
+-93.35 38.82 6234
+-93.224 38.82 6418
+-93.098 38.82 6597
+-92.972 38.82 6762
+-92.846 38.82 6847
+-92.72 38.82 6966
+-92.594 38.82 7088
+-92.468 38.82 7217
+-92.342 38.82 7438
+-92.216 38.82 7567
+-92.09 38.82 7696
+-91.964 38.82 7733
+-91.838 38.82 7988
+-91.712 38.82 8115
+-91.586 38.82 8169
+-91.46 38.82 8301
+-91.334 38.82 8444
+-91.208 38.82 8603
+-91.082 38.82 8742
+-90.956 38.82 8880
+-90.83 38.82 9060
+-90.704 38.82 9102
+-90.578 38.82 9225
+-90.452 38.82 9373
+-90.326 38.82 9267
+-90.2 38.82 9109
+-90.074 38.82 9029
+-89.948 38.82 8945
+-89.822 38.82 8712
+-89.696 38.82 8628
+-89.57 38.82 8500
+-89.444 38.82 8386
+-89.318 38.82 8193
+-89.192 38.82 8494
+-89.066 38.82 8525
+-88.94 38.82 8554
+-88.814 38.82 8539
+-88.688 38.82 8550
+-88.562 38.82 8504
+-88.436 38.82 8471
+-88.31 38.82 8392
+-88.184 38.82 8351
+-88.058 38.82 8290
+-87.932 38.82 8152
+-87.806 38.82 8129
+-87.68 38.82 8046
+-87.554 38.82 7877
+-87.428 38.82 7781
+-87.302 38.82 7683
+-87.176 38.82 7549
+-87.05 38.82 7465
+-86.924 38.82 7318
+-86.798 38.82 7156
+-86.672 38.82 7083
+-86.546 38.82 6961
+-86.42 38.82 6857
+-86.294 38.82 6721
+-86.168 38.82 6613
+-86.042 38.82 6512
+-85.916 38.82 6345
+-85.79 38.82 6158
+-85.664 38.82 6005
+-85.538 38.82 5831
+-85.412 38.82 5717
+-85.286 38.82 5640
+-85.16 38.82 5497
+-85.034 38.82 5371
+-84.908 38.82 5375
+-84.782 38.82 5257
+-84.656 38.82 5127
+-84.53 38.82 4934
+-84.404 38.82 4782
+-84.278 38.82 4661
+-84.152 38.82 4616
+-84.026 38.82 4435
+-83.9 38.82 4221
+-83.774 38.82 4102
+-83.648 38.82 4129
+-83.522 38.82 4164
+-83.396 38.82 4204
+-83.27 38.82 4228
+-83.144 38.82 4215
+-83.018 38.82 4182
+-82.892 38.82 4183
+-82.766 38.82 4129
+-82.64 38.82 4036
+-82.514 38.82 3953
+-82.388 38.82 3921
+-82.262 38.82 3897
+-82.136 38.82 3879
+-82.01 38.82 3873
+-81.884 38.82 3869
+-81.758 38.82 3814
+-81.632 38.82 3785
+-81.506 38.82 3782
+-81.38 38.82 3779
+-81.254 38.82 3777
+-81.128 38.82 3775
+-81.002 38.82 3774
+-80.876 38.82 3774
+-80.75 38.82 3773
+-80.624 38.82 3773
+-80.498 38.82 3773
+-80.372 38.82 3670
+-80.246 38.82 3660
+-80.12 38.82 3660
+-79.994 38.82 3660
+-79.868 38.82 3568
+-79.742 38.82 3568
+-79.616 38.82 3568
+-79.49 38.82 3568
+-79.364 38.82 3568
+-79.238 38.82 3568
+-79.112 38.82 3568
+-78.986 38.82 3568
+-78.86 38.82 3568
+-78.734 38.82 3568
+-78.608 38.82 3569
+-78.482 38.82 3569
+-78.356 38.82 3452
+-78.23 38.82 3452
+-78.104 38.82 3453
+-77.978 38.82 3453
+-77.852 38.82 3453
+-77.726 38.82 3454
+-77.6 38.82 3454
+-77.474 38.82 3454
+-77.348 38.82 3455
+-77.222 38.82 3455
+-77.096 38.82 3455
+-76.97 38.82 3455
+-76.844 38.82 3456
+-76.718 38.82 3385
+-76.592 38.82 3384
+-76.466 38.82 3383
+-76.34 38.82 3383
+-76.214 38.82 3382
+-76.088 38.82 3381
+-75.962 38.82 3381
+-75.836 38.82 3380
+-75.71 38.82 3380
+-75.584 38.82 3379
+-75.458 38.82 3378
+-75.332 38.82 3378
+-75.206 38.82 3377
+-75.08 38.82 3377
+-74.954 38.82 3376
+-74.828 38.82 3376
+-74.702 38.82 3376
+-74.576 38.82 3375
+-74.45 38.82 3375
+-74.324 38.82 3374
+-74.198 38.82 3374
+-74.072 38.82 3374
+-73.946 38.82 3373
+-73.82 38.82 3373
+-73.694 38.82 3373
+-73.568 38.82 3070
+-73.442 38.82 3068
+-73.316 38.82 3067
+-73.19 38.82 3066
+-73.064 38.82 3065
+-72.938 38.82 3063
+-72.812 38.82 3062
+-72.686 38.82 3061
+-72.56 38.82 3060
+-72.434 38.82 3059
+-72.308 38.82 3058
+-72.182 38.82 3057
+-72.056 38.82 3056
+-71.93 38.82 3055
+-71.804 38.82 3054
+-71.678 38.82 3053
+-71.552 38.82 3052
+-71.426 38.82 3051
+-71.3 38.82 2924
+-71.174 38.82 2923
+-71.048 38.82 2892
+-70.922 38.82 2844
+-70.796 38.82 2843
+-70.67 38.82 2842
+-70.544 38.82 2857
+-70.418 38.82 2856
+-70.292 38.82 2866
+-70.166 38.82 2866
+-70.04 38.82 2825
+-69.914 38.82 2784
+-69.788 38.82 2784
+-69.662 38.82 2783
+-69.536 38.82 2783
+-69.41 38.82 2801
+-69.284 38.82 2807
+-69.158 38.82 2817
+-69.032 38.82 2815
+-68.906 38.82 2851
+-68.78 38.82 2862
+-68.654 38.82 2863
+-68.528 38.82 2922
+-68.402 38.82 2945
+-68.276 38.82 2921
+-68.15 38.82 2910
+-68.024 38.82 3069
+-67.898 38.82 3070
+-67.772 38.82 3137
+-67.646 38.82 3139
+-67.52 38.82 3140
+-67.394 38.82 3141
+-67.268 38.82 3143
+-67.142 38.82 3050
+-67.016 38.82 3072
+-66.89 38.82 3074
+-66.764 38.82 3061
+-66.638 38.82 3361
+-66.512 38.82 3394
+-66.386 38.82 3394
+-66.26 38.82 3388
+-66.134 38.82 3389
+-66.008 38.82 3393
+-65.882 38.82 3411
+-65.756 38.82 3411
+-65.63 38.82 3397
+-65.504 38.82 3398
+-65.378 38.82 3347
+-65.252 38.82 3348
+-65.126 38.82 3348
+-128 38.768 2412
+-127.874 38.768 2428
+-127.748 38.768 2451
+-127.622 38.768 2475
+-127.496 38.768 2472
+-127.37 38.768 2458
+-127.244 38.768 2509
+-127.118 38.768 2505
+-126.992 38.768 2528
+-126.866 38.768 2524
+-126.74 38.768 2519
+-126.614 38.768 2510
+-126.488 38.768 2595
+-126.362 38.768 2587
+-126.236 38.768 2611
+-126.11 38.768 2601
+-125.984 38.768 2565
+-125.858 38.768 2556
+-125.732 38.768 2547
+-125.606 38.768 2537
+-125.48 38.768 2485
+-125.354 38.768 2511
+-125.228 38.768 2499
+-125.102 38.768 2530
+-124.976 38.768 2513
+-124.85 38.768 2496
+-124.724 38.768 2477
+-124.598 38.768 2498
+-124.472 38.768 2481
+-124.346 38.768 2402
+-124.22 38.768 2418
+-124.094 38.768 2387
+-123.968 38.768 2347
+-123.842 38.768 2303
+-123.716 38.768 2255
+-123.59 38.768 2223
+-123.464 38.768 2159
+-123.338 38.768 2082
+-123.212 38.768 1997
+-123.086 38.768 1903
+-122.96 38.768 1805
+-122.834 38.768 1741
+-122.708 38.768 1838
+-122.582 38.768 1925
+-122.456 38.768 1986
+-122.33 38.768 2122
+-122.204 38.768 2298
+-122.078 38.768 2481
+-121.952 38.768 2641
+-121.826 38.768 2774
+-121.7 38.768 2871
+-121.574 38.768 2937
+-121.448 38.768 2997
+-121.322 38.768 3020
+-121.196 38.768 3051
+-121.07 38.768 3111
+-120.944 38.768 3123
+-120.818 38.768 3203
+-120.692 38.768 3359
+-120.566 38.768 3401
+-120.44 38.768 3428
+-120.314 38.768 3504
+-120.188 38.768 3574
+-120.062 38.768 3615
+-119.936 38.768 3656
+-119.81 38.768 3717
+-119.684 38.768 3807
+-119.558 38.768 3955
+-119.432 38.768 4034
+-119.306 38.768 4204
+-119.18 38.768 4246
+-119.054 38.768 4251
+-118.928 38.768 4227
+-118.802 38.768 4313
+-118.676 38.768 4370
+-118.55 38.768 4344
+-118.424 38.768 4407
+-118.298 38.768 4473
+-118.172 38.768 4489
+-118.046 38.768 4495
+-117.92 38.768 4500
+-117.794 38.768 4489
+-117.668 38.768 4482
+-117.542 38.768 4491
+-117.416 38.768 4514
+-117.29 38.768 4506
+-117.164 38.768 4524
+-117.038 38.768 4509
+-116.912 38.768 4485
+-116.786 38.768 4487
+-116.66 38.768 4463
+-116.534 38.768 4433
+-116.408 38.768 4424
+-116.282 38.768 4390
+-116.156 38.768 4353
+-116.03 38.768 4310
+-115.904 38.768 4235
+-115.778 38.768 4259
+-115.652 38.768 4247
+-115.526 38.768 4199
+-115.4 38.768 4113
+-115.274 38.768 4019
+-115.148 38.768 3967
+-115.022 38.768 3955
+-114.896 38.768 3894
+-114.77 38.768 3786
+-114.644 38.768 3696
+-114.518 38.768 3746
+-114.392 38.768 3768
+-114.266 38.768 3747
+-114.14 38.768 3718
+-114.014 38.768 3680
+-113.888 38.768 3638
+-113.762 38.768 3610
+-113.636 38.768 3603
+-113.51 38.768 3614
+-113.384 38.768 3638
+-113.258 38.768 3656
+-113.132 38.768 3665
+-113.006 38.768 3627
+-112.88 38.768 3630
+-112.754 38.768 3592
+-112.628 38.768 3551
+-112.502 38.768 3540
+-112.376 38.768 3420
+-112.25 38.768 3422
+-112.124 38.768 3296
+-111.998 38.768 3238
+-111.872 38.768 3219
+-111.746 38.768 3081
+-111.62 38.768 2991
+-111.494 38.768 2926
+-111.368 38.768 2684
+-111.242 38.768 2624
+-111.116 38.768 2540
+-110.99 38.768 2472
+-110.864 38.768 2357
+-110.738 38.768 2266
+-110.612 38.768 2160
+-110.486 38.768 2038
+-110.36 38.768 1926
+-110.234 38.768 1839
+-110.108 38.768 1810
+-109.982 38.768 1835
+-109.856 38.768 1898
+-109.73 38.768 1981
+-109.604 38.768 2060
+-109.478 38.768 2132
+-109.352 38.768 2192
+-109.226 38.768 2239
+-109.1 38.768 2277
+-108.974 38.768 2307
+-108.848 38.768 2329
+-108.722 38.768 2354
+-108.596 38.768 2366
+-108.47 38.768 2375
+-108.344 38.768 2380
+-108.218 38.768 2383
+-108.092 38.768 2439
+-107.966 38.768 2400
+-107.84 38.768 2458
+-107.714 38.768 2461
+-107.588 38.768 2477
+-107.462 38.768 2481
+-107.336 38.768 2487
+-107.21 38.768 2493
+-107.084 38.768 2501
+-106.958 38.768 2477
+-106.832 38.768 2580
+-106.706 38.768 2606
+-106.58 38.768 2616
+-106.454 38.768 2627
+-106.328 38.768 2655
+-106.202 38.768 2666
+-106.076 38.768 2642
+-105.95 38.768 2651
+-105.824 38.768 2674
+-105.698 38.768 2683
+-105.572 38.768 2728
+-105.446 38.768 2746
+-105.32 38.768 2759
+-105.194 38.768 2840
+-105.068 38.768 2849
+-104.942 38.768 2848
+-104.816 38.768 2904
+-104.69 38.768 2863
+-104.564 38.768 2765
+-104.438 38.768 2746
+-104.312 38.768 2819
+-104.186 38.768 2821
+-104.06 38.768 2829
+-103.934 38.768 2829
+-103.808 38.768 2785
+-103.682 38.768 2882
+-103.556 38.768 2880
+-103.43 38.768 2877
+-103.304 38.768 2888
+-103.178 38.768 2687
+-103.052 38.768 2641
+-102.926 38.768 2596
+-102.8 38.768 2617
+-102.674 38.768 2526
+-102.548 38.768 2532
+-102.422 38.768 2542
+-102.296 38.768 2540
+-102.17 38.768 2555
+-102.044 38.768 2557
+-101.918 38.768 2644
+-101.792 38.768 2681
+-101.666 38.768 2685
+-101.54 38.768 2727
+-101.414 38.768 2731
+-101.288 38.768 2736
+-101.162 38.768 2741
+-101.036 38.768 2926
+-100.91 38.768 2928
+-100.784 38.768 2930
+-100.658 38.768 2932
+-100.532 38.768 2935
+-100.406 38.768 2937
+-100.28 38.768 2940
+-100.154 38.768 2943
+-100.028 38.768 3023
+-99.902 38.768 3141
+-99.776 38.768 3139
+-99.65 38.768 3138
+-99.524 38.768 3136
+-99.398 38.768 3134
+-99.272 38.768 3132
+-99.146 38.768 3129
+-99.02 38.768 3127
+-98.894 38.768 3137
+-98.768 38.768 3227
+-98.642 38.768 3238
+-98.516 38.768 3231
+-98.39 38.768 3331
+-98.264 38.768 3320
+-98.138 38.768 3306
+-98.012 38.768 3290
+-97.886 38.768 3272
+-97.76 38.768 3249
+-97.634 38.768 3222
+-97.508 38.768 3215
+-97.382 38.768 3171
+-97.256 38.768 3140
+-97.13 38.768 3089
+-97.004 38.768 3062
+-96.878 38.768 3074
+-96.752 38.768 3144
+-96.626 38.768 3246
+-96.5 38.768 3371
+-96.374 38.768 3473
+-96.248 38.768 3498
+-96.122 38.768 3523
+-95.996 38.768 3601
+-95.87 38.768 3706
+-95.744 38.768 3845
+-95.618 38.768 3995
+-95.492 38.768 4113
+-95.366 38.768 4219
+-95.24 38.768 4454
+-95.114 38.768 4584
+-94.988 38.768 4657
+-94.862 38.768 4792
+-94.736 38.768 4940
+-94.61 38.768 5025
+-94.484 38.768 5125
+-94.358 38.768 5233
+-94.232 38.768 5363
+-94.106 38.768 5511
+-93.98 38.768 5658
+-93.854 38.768 5780
+-93.728 38.768 5955
+-93.602 38.768 6076
+-93.476 38.768 6169
+-93.35 38.768 6271
+-93.224 38.768 6428
+-93.098 38.768 6612
+-92.972 38.768 6737
+-92.846 38.768 6785
+-92.72 38.768 6957
+-92.594 38.768 7095
+-92.468 38.768 7197
+-92.342 38.768 7379
+-92.216 38.768 7563
+-92.09 38.768 7708
+-91.964 38.768 7823
+-91.838 38.768 7894
+-91.712 38.768 8066
+-91.586 38.768 8225
+-91.46 38.768 8364
+-91.334 38.768 8440
+-91.208 38.768 8599
+-91.082 38.768 8747
+-90.956 38.768 8886
+-90.83 38.768 9026
+-90.704 38.768 9193
+-90.578 38.768 9224
+-90.452 38.768 9383
+-90.326 38.768 9263
+-90.2 38.768 9130
+-90.074 38.768 9006
+-89.948 38.768 8907
+-89.822 38.768 8790
+-89.696 38.768 8632
+-89.57 38.768 8495
+-89.444 38.768 8331
+-89.318 38.768 8512
+-89.192 38.768 8549
+-89.066 38.768 8560
+-88.94 38.768 8619
+-88.814 38.768 8599
+-88.688 38.768 8568
+-88.562 38.768 8562
+-88.436 38.768 8544
+-88.31 38.768 8467
+-88.184 38.768 8417
+-88.058 38.768 8331
+-87.932 38.768 8285
+-87.806 38.768 8164
+-87.68 38.768 8093
+-87.554 38.768 7978
+-87.428 38.768 7879
+-87.302 38.768 7742
+-87.176 38.768 7607
+-87.05 38.768 7524
+-86.924 38.768 7370
+-86.798 38.768 7240
+-86.672 38.768 7123
+-86.546 38.768 7009
+-86.42 38.768 6875
+-86.294 38.768 6727
+-86.168 38.768 6642
+-86.042 38.768 6517
+-85.916 38.768 6367
+-85.79 38.768 6229
+-85.664 38.768 6094
+-85.538 38.768 5822
+-85.412 38.768 5758
+-85.286 38.768 5590
+-85.16 38.768 5499
+-85.034 38.768 5454
+-84.908 38.768 5334
+-84.782 38.768 5182
+-84.656 38.768 5065
+-84.53 38.768 4888
+-84.404 38.768 4738
+-84.278 38.768 4555
+-84.152 38.768 4599
+-84.026 38.768 4517
+-83.9 38.768 4378
+-83.774 38.768 4265
+-83.648 38.768 4238
+-83.522 38.768 4250
+-83.396 38.768 4203
+-83.27 38.768 4203
+-83.144 38.768 4172
+-83.018 38.768 4119
+-82.892 38.768 4112
+-82.766 38.768 4053
+-82.64 38.768 3983
+-82.514 38.768 3976
+-82.388 38.768 3926
+-82.262 38.768 3918
+-82.136 38.768 3879
+-82.01 38.768 3875
+-81.884 38.768 3808
+-81.758 38.768 3779
+-81.632 38.768 3775
+-81.506 38.768 3772
+-81.38 38.768 3770
+-81.254 38.768 3768
+-81.128 38.768 3767
+-81.002 38.768 3767
+-80.876 38.768 3767
+-80.75 38.768 3767
+-80.624 38.768 3767
+-80.498 38.768 3666
+-80.372 38.768 3657
+-80.246 38.768 3657
+-80.12 38.768 3657
+-79.994 38.768 3589
+-79.868 38.768 3566
+-79.742 38.768 3566
+-79.616 38.768 3566
+-79.49 38.768 3566
+-79.364 38.768 3566
+-79.238 38.768 3566
+-79.112 38.768 3567
+-78.986 38.768 3567
+-78.86 38.768 3567
+-78.734 38.768 3551
+-78.608 38.768 3551
+-78.482 38.768 3452
+-78.356 38.768 3452
+-78.23 38.768 3452
+-78.104 38.768 3453
+-77.978 38.768 3453
+-77.852 38.768 3453
+-77.726 38.768 3454
+-77.6 38.768 3454
+-77.474 38.768 3454
+-77.348 38.768 3455
+-77.222 38.768 3455
+-77.096 38.768 3455
+-76.97 38.768 3456
+-76.844 38.768 3384
+-76.718 38.768 3384
+-76.592 38.768 3383
+-76.466 38.768 3382
+-76.34 38.768 3382
+-76.214 38.768 3381
+-76.088 38.768 3380
+-75.962 38.768 3380
+-75.836 38.768 3379
+-75.71 38.768 3379
+-75.584 38.768 3378
+-75.458 38.768 3378
+-75.332 38.768 3377
+-75.206 38.768 3377
+-75.08 38.768 3376
+-74.954 38.768 3376
+-74.828 38.768 3375
+-74.702 38.768 3375
+-74.576 38.768 3374
+-74.45 38.768 3374
+-74.324 38.768 3373
+-74.198 38.768 3373
+-74.072 38.768 3373
+-73.946 38.768 3372
+-73.82 38.768 3372
+-73.694 38.768 3070
+-73.568 38.768 3068
+-73.442 38.768 3067
+-73.316 38.768 3066
+-73.19 38.768 3064
+-73.064 38.768 3063
+-72.938 38.768 3062
+-72.812 38.768 3061
+-72.686 38.768 3059
+-72.56 38.768 3058
+-72.434 38.768 3057
+-72.308 38.768 3056
+-72.182 38.768 3055
+-72.056 38.768 3054
+-71.93 38.768 3053
+-71.804 38.768 3052
+-71.678 38.768 3051
+-71.552 38.768 3050
+-71.426 38.768 2924
+-71.3 38.768 2923
+-71.174 38.768 2892
+-71.048 38.768 2844
+-70.922 38.768 2842
+-70.796 38.768 2841
+-70.67 38.768 2856
+-70.544 38.768 2855
+-70.418 38.768 2865
+-70.292 38.768 2865
+-70.166 38.768 2824
+-70.04 38.768 2783
+-69.914 38.768 2783
+-69.788 38.768 2783
+-69.662 38.768 2782
+-69.536 38.768 2800
+-69.41 38.768 2806
+-69.284 38.768 2816
+-69.158 38.768 2814
+-69.032 38.768 2849
+-68.906 38.768 2861
+-68.78 38.768 2862
+-68.654 38.768 2920
+-68.528 38.768 2943
+-68.402 38.768 2920
+-68.276 38.768 2909
+-68.15 38.768 3067
+-68.024 38.768 3069
+-67.898 38.768 3136
+-67.772 38.768 3137
+-67.646 38.768 3139
+-67.52 38.768 3140
+-67.394 38.768 3141
+-67.268 38.768 3049
+-67.142 38.768 3071
+-67.016 38.768 3073
+-66.89 38.768 3060
+-66.764 38.768 3360
+-66.638 38.768 3392
+-66.512 38.768 3393
+-66.386 38.768 3387
+-66.26 38.768 3388
+-66.134 38.768 3392
+-66.008 38.768 3410
+-65.882 38.768 3410
+-65.756 38.768 3396
+-65.63 38.768 3397
+-65.504 38.768 3346
+-65.378 38.768 3347
+-65.252 38.768 3347
+-65.126 38.768 3417
+-128 38.716 2443
+-127.874 38.716 2488
+-127.748 38.716 2486
+-127.622 38.716 2483
+-127.496 38.716 2469
+-127.37 38.716 2522
+-127.244 38.716 2519
+-127.118 38.716 2545
+-126.992 38.716 2541
+-126.866 38.716 2537
+-126.74 38.716 2525
+-126.614 38.716 2596
+-126.488 38.716 2589
+-126.362 38.716 2634
+-126.236 38.716 2625
+-126.11 38.716 2616
+-125.984 38.716 2606
+-125.858 38.716 2569
+-125.732 38.716 2560
+-125.606 38.716 2584
+-125.48 38.716 2536
+-125.354 38.716 2525
+-125.228 38.716 2513
+-125.102 38.716 2500
+-124.976 38.716 2530
+-124.85 38.716 2554
+-124.724 38.716 2532
+-124.598 38.716 2516
+-124.472 38.716 2536
+-124.346 38.716 2512
+-124.22 38.716 2429
+-124.094 38.716 2400
+-123.968 38.716 2366
+-123.842 38.716 2357
+-123.716 38.716 2307
+-123.59 38.716 2247
+-123.464 38.716 2179
+-123.338 38.716 2110
+-123.212 38.716 2027
+-123.086 38.716 1940
+-122.96 38.716 1862
+-122.834 38.716 1827
+-122.708 38.716 1899
+-122.582 38.716 1914
+-122.456 38.716 1969
+-122.33 38.716 2119
+-122.204 38.716 2308
+-122.078 38.716 2496
+-121.952 38.716 2661
+-121.826 38.716 2787
+-121.7 38.716 2910
+-121.574 38.716 2986
+-121.448 38.716 3039
+-121.322 38.716 3086
+-121.196 38.716 3125
+-121.07 38.716 3151
+-120.944 38.716 3173
+-120.818 38.716 3254
+-120.692 38.716 3370
+-120.566 38.716 3420
+-120.44 38.716 3488
+-120.314 38.716 3583
+-120.188 38.716 3626
+-120.062 38.716 3660
+-119.936 38.716 3705
+-119.81 38.716 3782
+-119.684 38.716 3879
+-119.558 38.716 4047
+-119.432 38.716 4128
+-119.306 38.716 4253
+-119.18 38.716 4286
+-119.054 38.716 4362
+-118.928 38.716 4374
+-118.802 38.716 4426
+-118.676 38.716 4433
+-118.55 38.716 4433
+-118.424 38.716 4479
+-118.298 38.716 4506
+-118.172 38.716 4532
+-118.046 38.716 4546
+-117.92 38.716 4542
+-117.794 38.716 4529
+-117.668 38.716 4526
+-117.542 38.716 4538
+-117.416 38.716 4554
+-117.29 38.716 4540
+-117.164 38.716 4582
+-117.038 38.716 4542
+-116.912 38.716 4528
+-116.786 38.716 4552
+-116.66 38.716 4496
+-116.534 38.716 4467
+-116.408 38.716 4450
+-116.282 38.716 4428
+-116.156 38.716 4385
+-116.03 38.716 4371
+-115.904 38.716 4315
+-115.778 38.716 4303
+-115.652 38.716 4292
+-115.526 38.716 4251
+-115.4 38.716 4194
+-115.274 38.716 4078
+-115.148 38.716 4031
+-115.022 38.716 3999
+-114.896 38.716 3958
+-114.77 38.716 3866
+-114.644 38.716 3793
+-114.518 38.716 3798
+-114.392 38.716 3778
+-114.266 38.716 3751
+-114.14 38.716 3709
+-114.014 38.716 3649
+-113.888 38.716 3578
+-113.762 38.716 3531
+-113.636 38.716 3536
+-113.51 38.716 3574
+-113.384 38.716 3609
+-113.258 38.716 3630
+-113.132 38.716 3651
+-113.006 38.716 3618
+-112.88 38.716 3630
+-112.754 38.716 3587
+-112.628 38.716 3580
+-112.502 38.716 3486
+-112.376 38.716 3456
+-112.25 38.716 3336
+-112.124 38.716 3283
+-111.998 38.716 3269
+-111.872 38.716 3130
+-111.746 38.716 3070
+-111.62 38.716 2979
+-111.494 38.716 2830
+-111.368 38.716 2769
+-111.242 38.716 2685
+-111.116 38.716 2542
+-110.99 38.716 2477
+-110.864 38.716 2365
+-110.738 38.716 2273
+-110.612 38.716 2156
+-110.486 38.716 2032
+-110.36 38.716 1909
+-110.234 38.716 1816
+-110.108 38.716 1782
+-109.982 38.716 1814
+-109.856 38.716 1894
+-109.73 38.716 1979
+-109.604 38.716 2065
+-109.478 38.716 2141
+-109.352 38.716 2202
+-109.226 38.716 2251
+-109.1 38.716 2289
+-108.974 38.716 2318
+-108.848 38.716 2348
+-108.722 38.716 2363
+-108.596 38.716 2373
+-108.47 38.716 2379
+-108.344 38.716 2382
+-108.218 38.716 2433
+-108.092 38.716 2396
+-107.966 38.716 2448
+-107.84 38.716 2449
+-107.714 38.716 2463
+-107.588 38.716 2466
+-107.462 38.716 2470
+-107.336 38.716 2475
+-107.21 38.716 2482
+-107.084 38.716 2461
+-106.958 38.716 2557
+-106.832 38.716 2583
+-106.706 38.716 2594
+-106.58 38.716 2606
+-106.454 38.716 2635
+-106.328 38.716 2647
+-106.202 38.716 2625
+-106.076 38.716 2636
+-105.95 38.716 2659
+-105.824 38.716 2669
+-105.698 38.716 2715
+-105.572 38.716 2734
+-105.446 38.716 2748
+-105.32 38.716 2828
+-105.194 38.716 2838
+-105.068 38.716 2839
+-104.942 38.716 2894
+-104.816 38.716 2854
+-104.69 38.716 2871
+-104.564 38.716 2748
+-104.438 38.716 2821
+-104.312 38.716 2823
+-104.186 38.716 2832
+-104.06 38.716 2833
+-103.934 38.716 2791
+-103.808 38.716 2888
+-103.682 38.716 2887
+-103.556 38.716 2885
+-103.43 38.716 2896
+-103.304 38.716 2880
+-103.178 38.716 2692
+-103.052 38.716 2647
+-102.926 38.716 2604
+-102.8 38.716 2597
+-102.674 38.716 2563
+-102.548 38.716 2578
+-102.422 38.716 2532
+-102.296 38.716 2547
+-102.17 38.716 2545
+-102.044 38.716 2554
+-101.918 38.716 2566
+-101.792 38.716 2676
+-101.666 38.716 2691
+-101.54 38.716 2733
+-101.414 38.716 2738
+-101.288 38.716 2743
+-101.162 38.716 2755
+-101.036 38.716 2936
+-100.91 38.716 2938
+-100.784 38.716 2940
+-100.658 38.716 2943
+-100.532 38.716 2945
+-100.406 38.716 2948
+-100.28 38.716 2951
+-100.154 38.716 3041
+-100.028 38.716 3148
+-99.902 38.716 3147
+-99.776 38.716 3145
+-99.65 38.716 3144
+-99.524 38.716 3142
+-99.398 38.716 3140
+-99.272 38.716 3138
+-99.146 38.716 3136
+-99.02 38.716 3133
+-98.894 38.716 3212
+-98.768 38.716 3247
+-98.642 38.716 3240
+-98.516 38.716 3233
+-98.39 38.716 3225
+-98.264 38.716 3299
+-98.138 38.716 3285
+-98.012 38.716 3268
+-97.886 38.716 3246
+-97.76 38.716 3220
+-97.634 38.716 3228
+-97.508 38.716 3179
+-97.382 38.716 3117
+-97.256 38.716 3037
+-97.13 38.716 2957
+-97.004 38.716 2869
+-96.878 38.716 2850
+-96.752 38.716 2956
+-96.626 38.716 3151
+-96.5 38.716 3323
+-96.374 38.716 3417
+-96.248 38.716 3470
+-96.122 38.716 3508
+-95.996 38.716 3575
+-95.87 38.716 3653
+-95.744 38.716 3772
+-95.618 38.716 3938
+-95.492 38.716 4098
+-95.366 38.716 4268
+-95.24 38.716 4416
+-95.114 38.716 4598
+-94.988 38.716 4719
+-94.862 38.716 4869
+-94.736 38.716 4994
+-94.61 38.716 5105
+-94.484 38.716 5175
+-94.358 38.716 5141
+-94.232 38.716 5362
+-94.106 38.716 5447
+-93.98 38.716 5612
+-93.854 38.716 5790
+-93.728 38.716 5828
+-93.602 38.716 6030
+-93.476 38.716 6212
+-93.35 38.716 6227
+-93.224 38.716 6420
+-93.098 38.716 6508
+-92.972 38.716 6764
+-92.846 38.716 6855
+-92.72 38.716 7004
+-92.594 38.716 7091
+-92.468 38.716 7207
+-92.342 38.716 7382
+-92.216 38.716 7545
+-92.09 38.716 7593
+-91.964 38.716 7765
+-91.838 38.716 7916
+-91.712 38.716 8074
+-91.586 38.716 8230
+-91.46 38.716 8321
+-91.334 38.716 8469
+-91.208 38.716 8633
+-91.082 38.716 8747
+-90.956 38.716 8871
+-90.83 38.716 9068
+-90.704 38.716 9194
+-90.578 38.716 9237
+-90.452 38.716 9363
+-90.326 38.716 9273
+-90.2 38.716 9086
+-90.074 38.716 9036
+-89.948 38.716 8844
+-89.822 38.716 8751
+-89.696 38.716 8611
+-89.57 38.716 8490
+-89.444 38.716 8357
+-89.318 38.716 8379
+-89.192 38.716 8578
+-89.066 38.716 8658
+-88.94 38.716 8663
+-88.814 38.716 8682
+-88.688 38.716 8649
+-88.562 38.716 8625
+-88.436 38.716 8604
+-88.31 38.716 8538
+-88.184 38.716 8444
+-88.058 38.716 8401
+-87.932 38.716 8230
+-87.806 38.716 8191
+-87.68 38.716 8091
+-87.554 38.716 7976
+-87.428 38.716 7862
+-87.302 38.716 7762
+-87.176 38.716 7625
+-87.05 38.716 7537
+-86.924 38.716 7393
+-86.798 38.716 7268
+-86.672 38.716 7128
+-86.546 38.716 7056
+-86.42 38.716 6887
+-86.294 38.716 6727
+-86.168 38.716 6602
+-86.042 38.716 6423
+-85.916 38.716 6395
+-85.79 38.716 6269
+-85.664 38.716 6110
+-85.538 38.716 5891
+-85.412 38.716 5736
+-85.286 38.716 5626
+-85.16 38.716 5541
+-85.034 38.716 5447
+-84.908 38.716 5251
+-84.782 38.716 5069
+-84.656 38.716 4997
+-84.53 38.716 4818
+-84.404 38.716 4795
+-84.278 38.716 4685
+-84.152 38.716 4637
+-84.026 38.716 4532
+-83.9 38.716 4436
+-83.774 38.716 4375
+-83.648 38.716 4324
+-83.522 38.716 4262
+-83.396 38.716 4228
+-83.27 38.716 4161
+-83.144 38.716 4119
+-83.018 38.716 4107
+-82.892 38.716 4044
+-82.766 38.716 3969
+-82.64 38.716 3956
+-82.514 38.716 3955
+-82.388 38.716 3951
+-82.262 38.716 3901
+-82.136 38.716 3841
+-82.01 38.716 3809
+-81.884 38.716 3770
+-81.758 38.716 3766
+-81.632 38.716 3763
+-81.506 38.716 3761
+-81.38 38.716 3759
+-81.254 38.716 3759
+-81.128 38.716 3758
+-81.002 38.716 3758
+-80.876 38.716 3759
+-80.75 38.716 3760
+-80.624 38.716 3662
+-80.498 38.716 3653
+-80.372 38.716 3653
+-80.246 38.716 3653
+-80.12 38.716 3586
+-79.994 38.716 3586
+-79.868 38.716 3587
+-79.742 38.716 3588
+-79.616 38.716 3588
+-79.49 38.716 3589
+-79.364 38.716 3590
+-79.238 38.716 3591
+-79.112 38.716 3592
+-78.986 38.716 3549
+-78.86 38.716 3549
+-78.734 38.716 3549
+-78.608 38.716 3451
+-78.482 38.716 3452
+-78.356 38.716 3452
+-78.23 38.716 3452
+-78.104 38.716 3453
+-77.978 38.716 3453
+-77.852 38.716 3453
+-77.726 38.716 3454
+-77.6 38.716 3454
+-77.474 38.716 3455
+-77.348 38.716 3455
+-77.222 38.716 3455
+-77.096 38.716 3456
+-76.97 38.716 3384
+-76.844 38.716 3383
+-76.718 38.716 3383
+-76.592 38.716 3382
+-76.466 38.716 3381
+-76.34 38.716 3381
+-76.214 38.716 3380
+-76.088 38.716 3379
+-75.962 38.716 3379
+-75.836 38.716 3378
+-75.71 38.716 3378
+-75.584 38.716 3377
+-75.458 38.716 3377
+-75.332 38.716 3376
+-75.206 38.716 3376
+-75.08 38.716 3375
+-74.954 38.716 3375
+-74.828 38.716 3374
+-74.702 38.716 3374
+-74.576 38.716 3373
+-74.45 38.716 3373
+-74.324 38.716 3373
+-74.198 38.716 3372
+-74.072 38.716 3372
+-73.946 38.716 3372
+-73.82 38.716 3069
+-73.694 38.716 3068
+-73.568 38.716 3067
+-73.442 38.716 3065
+-73.316 38.716 3064
+-73.19 38.716 3063
+-73.064 38.716 3061
+-72.938 38.716 3060
+-72.812 38.716 3059
+-72.686 38.716 3058
+-72.56 38.716 3057
+-72.434 38.716 3056
+-72.308 38.716 3055
+-72.182 38.716 3053
+-72.056 38.716 3052
+-71.93 38.716 3052
+-71.804 38.716 3051
+-71.678 38.716 3050
+-71.552 38.716 2923
+-71.426 38.716 2922
+-71.3 38.716 2891
+-71.174 38.716 2843
+-71.048 38.716 2842
+-70.922 38.716 2841
+-70.796 38.716 2855
+-70.67 38.716 2854
+-70.544 38.716 2865
+-70.418 38.716 2864
+-70.292 38.716 2823
+-70.166 38.716 2782
+-70.04 38.716 2782
+-69.914 38.716 2782
+-69.788 38.716 2781
+-69.662 38.716 2799
+-69.536 38.716 2805
+-69.41 38.716 2815
+-69.284 38.716 2813
+-69.158 38.716 2848
+-69.032 38.716 2860
+-68.906 38.716 2861
+-68.78 38.716 2919
+-68.654 38.716 2942
+-68.528 38.716 2919
+-68.402 38.716 2908
+-68.276 38.716 3066
+-68.15 38.716 3067
+-68.024 38.716 3134
+-67.898 38.716 3136
+-67.772 38.716 3137
+-67.646 38.716 3138
+-67.52 38.716 3140
+-67.394 38.716 3048
+-67.268 38.716 3070
+-67.142 38.716 3071
+-67.016 38.716 3059
+-66.89 38.716 3359
+-66.764 38.716 3391
+-66.638 38.716 3392
+-66.512 38.716 3386
+-66.386 38.716 3387
+-66.26 38.716 3391
+-66.134 38.716 3409
+-66.008 38.716 3409
+-65.882 38.716 3395
+-65.756 38.716 3396
+-65.63 38.716 3345
+-65.504 38.716 3346
+-65.378 38.716 3346
+-65.252 38.716 3416
+-65.126 38.716 3410
+-128 38.664 2378
+-127.874 38.664 2461
+-127.748 38.664 2525
+-127.622 38.664 2567
+-127.496 38.664 2535
+-127.37 38.664 2532
+-127.244 38.664 2561
+-127.118 38.664 2557
+-126.992 38.664 2554
+-126.866 38.664 2540
+-126.74 38.664 2614
+-126.614 38.664 2608
+-126.488 38.664 2638
+-126.362 38.664 2631
+-126.236 38.664 2640
+-126.11 38.664 2631
+-125.984 38.664 2621
+-125.858 38.664 2582
+-125.732 38.664 2610
+-125.606 38.664 2599
+-125.48 38.664 2588
+-125.354 38.664 2540
+-125.228 38.664 2586
+-125.102 38.664 2572
+-124.976 38.664 2553
+-124.85 38.664 2573
+-124.724 38.664 2560
+-124.598 38.664 2587
+-124.472 38.664 2559
+-124.346 38.664 2528
+-124.22 38.664 2502
+-124.094 38.664 2446
+-123.968 38.664 2427
+-123.842 38.664 2385
+-123.716 38.664 2334
+-123.59 38.664 2282
+-123.464 38.664 2219
+-123.338 38.664 2156
+-123.212 38.664 2101
+-123.086 38.664 2026
+-122.96 38.664 1966
+-122.834 38.664 1952
+-122.708 38.664 1959
+-122.582 38.664 1961
+-122.456 38.664 2028
+-122.33 38.664 2173
+-122.204 38.664 2355
+-122.078 38.664 2533
+-121.952 38.664 2689
+-121.826 38.664 2831
+-121.7 38.664 2932
+-121.574 38.664 3013
+-121.448 38.664 3079
+-121.322 38.664 3131
+-121.196 38.664 3184
+-121.07 38.664 3220
+-120.944 38.664 3260
+-120.818 38.664 3321
+-120.692 38.664 3414
+-120.566 38.664 3497
+-120.44 38.664 3603
+-120.314 38.664 3686
+-120.188 38.664 3694
+-120.062 38.664 3727
+-119.936 38.664 3771
+-119.81 38.664 3861
+-119.684 38.664 3951
+-119.558 38.664 4118
+-119.432 38.664 4205
+-119.306 38.664 4350
+-119.18 38.664 4390
+-119.054 38.664 4425
+-118.928 38.664 4454
+-118.802 38.664 4498
+-118.676 38.664 4517
+-118.55 38.664 4526
+-118.424 38.664 4529
+-118.298 38.664 4486
+-118.172 38.664 4567
+-118.046 38.664 4597
+-117.92 38.664 4591
+-117.794 38.664 4587
+-117.668 38.664 4601
+-117.542 38.664 4607
+-117.416 38.664 4584
+-117.29 38.664 4577
+-117.164 38.664 4577
+-117.038 38.664 4566
+-116.912 38.664 4569
+-116.786 38.664 4554
+-116.66 38.664 4531
+-116.534 38.664 4512
+-116.408 38.664 4475
+-116.282 38.664 4452
+-116.156 38.664 4422
+-116.03 38.664 4388
+-115.904 38.664 4364
+-115.778 38.664 4323
+-115.652 38.664 4289
+-115.526 38.664 4284
+-115.4 38.664 4240
+-115.274 38.664 4149
+-115.148 38.664 4088
+-115.022 38.664 4056
+-114.896 38.664 4010
+-114.77 38.664 3964
+-114.644 38.664 3916
+-114.518 38.664 3858
+-114.392 38.664 3787
+-114.266 38.664 3739
+-114.14 38.664 3693
+-114.014 38.664 3615
+-113.888 38.664 3489
+-113.762 38.664 3406
+-113.636 38.664 3451
+-113.51 38.664 3528
+-113.384 38.664 3578
+-113.258 38.664 3613
+-113.132 38.664 3637
+-113.006 38.664 3614
+-112.88 38.664 3622
+-112.754 38.664 3582
+-112.628 38.664 3576
+-112.502 38.664 3566
+-112.376 38.664 3409
+-112.25 38.664 3326
+-112.124 38.664 3318
+-111.998 38.664 3181
+-111.872 38.664 3121
+-111.746 38.664 2962
+-111.62 38.664 2878
+-111.494 38.664 2818
+-111.368 38.664 2736
+-111.242 38.664 2676
+-111.116 38.664 2612
+-110.99 38.664 2544
+-110.864 38.664 2436
+-110.738 38.664 2287
+-110.612 38.664 2183
+-110.486 38.664 2065
+-110.36 38.664 1947
+-110.234 38.664 1854
+-110.108 38.664 1818
+-109.982 38.664 1849
+-109.856 38.664 1927
+-109.73 38.664 2022
+-109.604 38.664 2112
+-109.478 38.664 2166
+-109.352 38.664 2224
+-109.226 38.664 2271
+-109.1 38.664 2306
+-108.974 38.664 2341
+-108.848 38.664 2359
+-108.722 38.664 2372
+-108.596 38.664 2379
+-108.47 38.664 2382
+-108.344 38.664 2429
+-108.218 38.664 2432
+-108.092 38.664 2440
+-107.966 38.664 2439
+-107.84 38.664 2450
+-107.714 38.664 2450
+-107.588 38.664 2451
+-107.462 38.664 2455
+-107.336 38.664 2461
+-107.21 38.664 2441
+-107.084 38.664 2530
+-106.958 38.664 2556
+-106.832 38.664 2568
+-106.706 38.664 2581
+-106.58 38.664 2611
+-106.454 38.664 2625
+-106.328 38.664 2606
+-106.202 38.664 2618
+-106.076 38.664 2643
+-105.95 38.664 2655
+-105.824 38.664 2700
+-105.698 38.664 2721
+-105.572 38.664 2735
+-105.446 38.664 2815
+-105.32 38.664 2826
+-105.194 38.664 2828
+-105.068 38.664 2883
+-104.942 38.664 2845
+-104.816 38.664 2862
+-104.69 38.664 2848
+-104.564 38.664 2928
+-104.438 38.664 2825
+-104.312 38.664 2834
+-104.186 38.664 2836
+-104.06 38.664 2796
+-103.934 38.664 2892
+-103.808 38.664 2892
+-103.682 38.664 2891
+-103.556 38.664 2903
+-103.43 38.664 2888
+-103.304 38.664 2886
+-103.178 38.664 2704
+-103.052 38.664 2725
+-102.926 38.664 2668
+-102.8 38.664 2605
+-102.674 38.664 2569
+-102.548 38.664 2585
+-102.422 38.664 2580
+-102.296 38.664 2537
+-102.17 38.664 2552
+-102.044 38.664 2578
+-101.918 38.664 2563
+-101.792 38.664 2682
+-101.666 38.664 2687
+-101.54 38.664 2728
+-101.414 38.664 2743
+-101.288 38.664 2756
+-101.162 38.664 2762
+-101.036 38.664 2945
+-100.91 38.664 2947
+-100.784 38.664 2950
+-100.658 38.664 2953
+-100.532 38.664 2955
+-100.406 38.664 2958
+-100.28 38.664 3048
+-100.154 38.664 3153
+-100.028 38.664 3152
+-99.902 38.664 3151
+-99.776 38.664 3150
+-99.65 38.664 3149
+-99.524 38.664 3147
+-99.398 38.664 3145
+-99.272 38.664 3144
+-99.146 38.664 3141
+-99.02 38.664 3175
+-98.894 38.664 3171
+-98.768 38.664 3250
+-98.642 38.664 3243
+-98.516 38.664 3236
+-98.39 38.664 3227
+-98.264 38.664 3216
+-98.138 38.664 3284
+-98.012 38.664 3265
+-97.886 38.664 3241
+-97.76 38.664 3254
+-97.634 38.664 3210
+-97.508 38.664 3152
+-97.382 38.664 3075
+-97.256 38.664 2968
+-97.13 38.664 2823
+-97.004 38.664 2659
+-96.878 38.664 2578
+-96.752 38.664 2735
+-96.626 38.664 3042
+-96.5 38.664 3260
+-96.374 38.664 3383
+-96.248 38.664 3445
+-96.122 38.664 3465
+-95.996 38.664 3469
+-95.87 38.664 3543
+-95.744 38.664 3694
+-95.618 38.664 3920
+-95.492 38.664 4072
+-95.366 38.664 4268
+-95.24 38.664 4373
+-95.114 38.664 4549
+-94.988 38.664 4720
+-94.862 38.664 4893
+-94.736 38.664 5020
+-94.61 38.664 5144
+-94.484 38.664 5221
+-94.358 38.664 5157
+-94.232 38.664 5375
+-94.106 38.664 5438
+-93.98 38.664 5607
+-93.854 38.664 5774
+-93.728 38.664 5938
+-93.602 38.664 6027
+-93.476 38.664 6171
+-93.35 38.664 6302
+-93.224 38.664 6440
+-93.098 38.664 6569
+-92.972 38.664 6684
+-92.846 38.664 6858
+-92.72 38.664 7000
+-92.594 38.664 7161
+-92.468 38.664 7231
+-92.342 38.664 7398
+-92.216 38.664 7469
+-92.09 38.664 7711
+-91.964 38.664 7730
+-91.838 38.664 7917
+-91.712 38.664 7994
+-91.586 38.664 8152
+-91.46 38.664 8336
+-91.334 38.664 8491
+-91.208 38.664 8631
+-91.082 38.664 8696
+-90.956 38.664 8879
+-90.83 38.664 8990
+-90.704 38.664 9122
+-90.578 38.664 9220
+-90.452 38.664 9303
+-90.326 38.664 9228
+-90.2 38.664 9123
+-90.074 38.664 9024
+-89.948 38.664 8929
+-89.822 38.664 8741
+-89.696 38.664 8554
+-89.57 38.664 8431
+-89.444 38.664 8341
+-89.318 38.664 8436
+-89.192 38.664 8619
+-89.066 38.664 8698
+-88.94 38.664 8707
+-88.814 38.664 8730
+-88.688 38.664 8726
+-88.562 38.664 8680
+-88.436 38.664 8646
+-88.31 38.664 8548
+-88.184 38.664 8480
+-88.058 38.664 8423
+-87.932 38.664 8331
+-87.806 38.664 8204
+-87.68 38.664 8124
+-87.554 38.664 8015
+-87.428 38.664 7930
+-87.302 38.664 7737
+-87.176 38.664 7627
+-87.05 38.664 7539
+-86.924 38.664 7481
+-86.798 38.664 7236
+-86.672 38.664 7174
+-86.546 38.664 7055
+-86.42 38.664 6939
+-86.294 38.664 6812
+-86.168 38.664 6665
+-86.042 38.664 6523
+-85.916 38.664 6387
+-85.79 38.664 6181
+-85.664 38.664 6174
+-85.538 38.664 6000
+-85.412 38.664 5808
+-85.286 38.664 5634
+-85.16 38.664 5506
+-85.034 38.664 5453
+-84.908 38.664 5278
+-84.782 38.664 5129
+-84.656 38.664 4981
+-84.53 38.664 4811
+-84.404 38.664 4823
+-84.278 38.664 4748
+-84.152 38.664 4616
+-84.026 38.664 4500
+-83.9 38.664 4409
+-83.774 38.664 4372
+-83.648 38.664 4314
+-83.522 38.664 4224
+-83.396 38.664 4172
+-83.27 38.664 4084
+-83.144 38.664 4028
+-83.018 38.664 4011
+-82.892 38.664 4002
+-82.766 38.664 3997
+-82.64 38.664 3931
+-82.514 38.664 3928
+-82.388 38.664 3925
+-82.262 38.664 3871
+-82.136 38.664 3841
+-82.01 38.664 3790
+-81.884 38.664 3773
+-81.758 38.664 3751
+-81.632 38.664 3749
+-81.506 38.664 3748
+-81.38 38.664 3748
+-81.254 38.664 3748
+-81.128 38.664 3748
+-81.002 38.664 3749
+-80.876 38.664 3751
+-80.75 38.664 3752
+-80.624 38.664 3675
+-80.498 38.664 3648
+-80.372 38.664 3660
+-80.246 38.664 3582
+-80.12 38.664 3582
+-79.994 38.664 3583
+-79.868 38.664 3584
+-79.742 38.664 3585
+-79.616 38.664 3586
+-79.49 38.664 3587
+-79.364 38.664 3588
+-79.238 38.664 3589
+-79.112 38.664 3547
+-78.986 38.664 3547
+-78.86 38.664 3547
+-78.734 38.664 3451
+-78.608 38.664 3451
+-78.482 38.664 3451
+-78.356 38.664 3452
+-78.23 38.664 3452
+-78.104 38.664 3453
+-77.978 38.664 3453
+-77.852 38.664 3454
+-77.726 38.664 3454
+-77.6 38.664 3454
+-77.474 38.664 3455
+-77.348 38.664 3455
+-77.222 38.664 3455
+-77.096 38.664 3384
+-76.97 38.664 3383
+-76.844 38.664 3382
+-76.718 38.664 3382
+-76.592 38.664 3381
+-76.466 38.664 3380
+-76.34 38.664 3380
+-76.214 38.664 3379
+-76.088 38.664 3378
+-75.962 38.664 3378
+-75.836 38.664 3377
+-75.71 38.664 3377
+-75.584 38.664 3376
+-75.458 38.664 3376
+-75.332 38.664 3375
+-75.206 38.664 3375
+-75.08 38.664 3374
+-74.954 38.664 3374
+-74.828 38.664 3373
+-74.702 38.664 3373
+-74.576 38.664 3373
+-74.45 38.664 3372
+-74.324 38.664 3372
+-74.198 38.664 3371
+-74.072 38.664 3371
+-73.946 38.664 3069
+-73.82 38.664 3068
+-73.694 38.664 3066
+-73.568 38.664 3065
+-73.442 38.664 3064
+-73.316 38.664 3062
+-73.19 38.664 3061
+-73.064 38.664 3060
+-72.938 38.664 3058
+-72.812 38.664 3057
+-72.686 38.664 3056
+-72.56 38.664 3055
+-72.434 38.664 3054
+-72.308 38.664 3053
+-72.182 38.664 3052
+-72.056 38.664 3051
+-71.93 38.664 3050
+-71.804 38.664 3049
+-71.678 38.664 2922
+-71.552 38.664 2921
+-71.426 38.664 2890
+-71.3 38.664 2842
+-71.174 38.664 2841
+-71.048 38.664 2840
+-70.922 38.664 2854
+-70.796 38.664 2853
+-70.67 38.664 2864
+-70.544 38.664 2863
+-70.418 38.664 2822
+-70.292 38.664 2781
+-70.166 38.664 2781
+-70.04 38.664 2781
+-69.914 38.664 2780
+-69.788 38.664 2798
+-69.662 38.664 2804
+-69.536 38.664 2814
+-69.41 38.664 2812
+-69.284 38.664 2847
+-69.158 38.664 2859
+-69.032 38.664 2860
+-68.906 38.664 2918
+-68.78 38.664 2941
+-68.654 38.664 2918
+-68.528 38.664 2907
+-68.402 38.664 3064
+-68.276 38.664 3066
+-68.15 38.664 3132
+-68.024 38.664 3134
+-67.898 38.664 3135
+-67.772 38.664 3137
+-67.646 38.664 3138
+-67.52 38.664 3047
+-67.394 38.664 3069
+-67.268 38.664 3070
+-67.142 38.664 3058
+-67.016 38.664 3358
+-66.89 38.664 3390
+-66.764 38.664 3391
+-66.638 38.664 3385
+-66.512 38.664 3386
+-66.386 38.664 3390
+-66.26 38.664 3407
+-66.134 38.664 3408
+-66.008 38.664 3394
+-65.882 38.664 3395
+-65.756 38.664 3344
+-65.63 38.664 3345
+-65.504 38.664 3346
+-65.378 38.664 3415
+-65.252 38.664 3409
+-65.126 38.664 3419
+-128 38.612 2383
+-127.874 38.612 2434
+-127.748 38.612 2494
+-127.622 38.612 2565
+-127.496 38.612 2579
+-127.37 38.612 2576
+-127.244 38.612 2573
+-127.118 38.612 2570
+-126.992 38.612 2577
+-126.866 38.612 2631
+-126.74 38.612 2626
+-126.614 38.612 2659
+-126.488 38.612 2652
+-126.362 38.612 2645
+-126.236 38.612 2637
+-126.11 38.612 2629
+-125.984 38.612 2683
+-125.858 38.612 2634
+-125.732 38.612 2625
+-125.606 38.612 2615
+-125.48 38.612 2605
+-125.354 38.612 2593
+-125.228 38.612 2604
+-125.102 38.612 2638
+-124.976 38.612 2621
+-124.85 38.612 2603
+-124.724 38.612 2590
+-124.598 38.612 2612
+-124.472 38.612 2585
+-124.346 38.612 2556
+-124.22 38.612 2575
+-124.094 38.612 2512
+-123.968 38.612 2481
+-123.842 38.612 2446
+-123.716 38.612 2373
+-123.59 38.612 2350
+-123.464 38.612 2302
+-123.338 38.612 2238
+-123.212 38.612 2195
+-123.086 38.612 2134
+-122.96 38.612 2087
+-122.834 38.612 2064
+-122.708 38.612 2065
+-122.582 38.612 2085
+-122.456 38.612 2164
+-122.33 38.612 2291
+-122.204 38.612 2452
+-122.078 38.612 2611
+-121.952 38.612 2752
+-121.826 38.612 2860
+-121.7 38.612 2957
+-121.574 38.612 3038
+-121.448 38.612 3108
+-121.322 38.612 3186
+-121.196 38.612 3239
+-121.07 38.612 3283
+-120.944 38.612 3314
+-120.818 38.612 3359
+-120.692 38.612 3454
+-120.566 38.612 3566
+-120.44 38.612 3683
+-120.314 38.612 3740
+-120.188 38.612 3734
+-120.062 38.612 3769
+-119.936 38.612 3853
+-119.81 38.612 3958
+-119.684 38.612 4063
+-119.558 38.612 4204
+-119.432 38.612 4271
+-119.306 38.612 4390
+-119.18 38.612 4443
+-119.054 38.612 4469
+-118.928 38.612 4472
+-118.802 38.612 4521
+-118.676 38.612 4568
+-118.55 38.612 4595
+-118.424 38.612 4602
+-118.298 38.612 4600
+-118.172 38.612 4620
+-118.046 38.612 4592
+-117.92 38.612 4631
+-117.794 38.612 4652
+-117.668 38.612 4664
+-117.542 38.612 4659
+-117.416 38.612 4655
+-117.29 38.612 4635
+-117.164 38.612 4628
+-117.038 38.612 4636
+-116.912 38.612 4656
+-116.786 38.612 4640
+-116.66 38.612 4617
+-116.534 38.612 4598
+-116.408 38.612 4566
+-116.282 38.612 4556
+-116.156 38.612 4511
+-116.03 38.612 4451
+-115.904 38.612 4412
+-115.778 38.612 4370
+-115.652 38.612 4331
+-115.526 38.612 4317
+-115.4 38.612 4280
+-115.274 38.612 4205
+-115.148 38.612 4116
+-115.022 38.612 4055
+-114.896 38.612 4038
+-114.77 38.612 3982
+-114.644 38.612 3973
+-114.518 38.612 3893
+-114.392 38.612 3766
+-114.266 38.612 3703
+-114.14 38.612 3685
+-114.014 38.612 3604
+-113.888 38.612 3435
+-113.762 38.612 3315
+-113.636 38.612 3401
+-113.51 38.612 3504
+-113.384 38.612 3565
+-113.258 38.612 3599
+-113.132 38.612 3622
+-113.006 38.612 3604
+-112.88 38.612 3610
+-112.754 38.612 3622
+-112.628 38.612 3573
+-112.502 38.612 3517
+-112.376 38.612 3367
+-112.25 38.612 3366
+-112.124 38.612 3233
+-111.998 38.612 3174
+-111.872 38.612 3011
+-111.746 38.612 2970
+-111.62 38.612 2907
+-111.494 38.612 2782
+-111.368 38.612 2723
+-111.242 38.612 2664
+-111.116 38.612 2607
+-110.99 38.612 2548
+-110.864 38.612 2442
+-110.738 38.612 2362
+-110.612 38.612 2266
+-110.486 38.612 2163
+-110.36 38.612 2037
+-110.234 38.612 1955
+-110.108 38.612 1921
+-109.982 38.612 1943
+-109.856 38.612 2006
+-109.73 38.612 2084
+-109.604 38.612 2162
+-109.478 38.612 2236
+-109.352 38.612 2291
+-109.226 38.612 2334
+-109.1 38.612 2367
+-108.974 38.612 2391
+-108.848 38.612 2414
+-108.722 38.612 2424
+-108.596 38.612 2428
+-108.47 38.612 2429
+-108.344 38.612 2430
+-108.218 38.612 2435
+-108.092 38.612 2431
+-107.966 38.612 2437
+-107.84 38.612 2434
+-107.714 38.612 2432
+-107.588 38.612 2433
+-107.462 38.612 2436
+-107.336 38.612 2474
+-107.21 38.612 2499
+-107.084 38.612 2524
+-106.958 38.612 2537
+-106.832 38.612 2552
+-106.706 38.612 2582
+-106.58 38.612 2598
+-106.454 38.612 2584
+-106.328 38.612 2598
+-106.202 38.612 2624
+-106.076 38.612 2637
+-105.95 38.612 2683
+-105.824 38.612 2705
+-105.698 38.612 2721
+-105.572 38.612 2800
+-105.446 38.612 2812
+-105.32 38.612 2816
+-105.194 38.612 2871
+-105.068 38.612 2835
+-104.942 38.612 2852
+-104.816 38.612 2840
+-104.69 38.612 2920
+-104.564 38.612 2928
+-104.438 38.612 2835
+-104.312 38.612 2838
+-104.186 38.612 2799
+-104.06 38.612 2895
+-103.934 38.612 2896
+-103.808 38.612 2896
+-103.682 38.612 2908
+-103.556 38.612 2895
+-103.43 38.612 2893
+-103.304 38.612 2892
+-103.178 38.612 2908
+-103.052 38.612 2733
+-102.926 38.612 2727
+-102.8 38.612 2670
+-102.674 38.612 2666
+-102.548 38.612 2623
+-102.422 38.612 2587
+-102.296 38.612 2544
+-102.17 38.612 2543
+-102.044 38.612 2572
+-101.918 38.612 2587
+-101.792 38.612 2687
+-101.666 38.612 2692
+-101.54 38.612 2700
+-101.414 38.612 2739
+-101.288 38.612 2762
+-101.162 38.612 2767
+-101.036 38.612 2954
+-100.91 38.612 2957
+-100.784 38.612 2959
+-100.658 38.612 2962
+-100.532 38.612 2965
+-100.406 38.612 3054
+-100.28 38.612 3159
+-100.154 38.612 3158
+-100.028 38.612 3157
+-99.902 38.612 3156
+-99.776 38.612 3155
+-99.65 38.612 3154
+-99.524 38.612 3152
+-99.398 38.612 3151
+-99.272 38.612 3149
+-99.146 38.612 3183
+-99.02 38.612 3180
+-98.894 38.612 3175
+-98.768 38.612 3170
+-98.642 38.612 3247
+-98.516 38.612 3239
+-98.39 38.612 3230
+-98.264 38.612 3219
+-98.138 38.612 3206
+-98.012 38.612 3244
+-97.886 38.612 3251
+-97.76 38.612 3229
+-97.634 38.612 3185
+-97.508 38.612 3126
+-97.382 38.612 3057
+-97.256 38.612 2939
+-97.13 38.612 2771
+-97.004 38.612 2559
+-96.878 38.612 2425
+-96.752 38.612 2611
+-96.626 38.612 2975
+-96.5 38.612 3217
+-96.374 38.612 3350
+-96.248 38.612 3412
+-96.122 38.612 3432
+-95.996 38.612 3415
+-95.87 38.612 3497
+-95.744 38.612 3662
+-95.618 38.612 3850
+-95.492 38.612 4031
+-95.366 38.612 4225
+-95.24 38.612 4343
+-95.114 38.612 4517
+-94.988 38.612 4688
+-94.862 38.612 4873
+-94.736 38.612 5058
+-94.61 38.612 5193
+-94.484 38.612 5265
+-94.358 38.612 5315
+-94.232 38.612 5452
+-94.106 38.612 5549
+-93.98 38.612 5660
+-93.854 38.612 5703
+-93.728 38.612 5900
+-93.602 38.612 6051
+-93.476 38.612 6183
+-93.35 38.612 6271
+-93.224 38.612 6410
+-93.098 38.612 6533
+-92.972 38.612 6677
+-92.846 38.612 6863
+-92.72 38.612 7002
+-92.594 38.612 7093
+-92.468 38.612 7242
+-92.342 38.612 7403
+-92.216 38.612 7463
+-92.09 38.612 7651
+-91.964 38.612 7827
+-91.838 38.612 7880
+-91.712 38.612 8049
+-91.586 38.612 8128
+-91.46 38.612 8264
+-91.334 38.612 8440
+-91.208 38.612 8610
+-91.082 38.612 8702
+-90.956 38.612 8824
+-90.83 38.612 8952
+-90.704 38.612 9096
+-90.578 38.612 9196
+-90.452 38.612 9190
+-90.326 38.612 9199
+-90.2 38.612 9081
+-90.074 38.612 8929
+-89.948 38.612 8895
+-89.822 38.612 8740
+-89.696 38.612 8577
+-89.57 38.612 8461
+-89.444 38.612 8361
+-89.318 38.612 8650
+-89.192 38.612 8695
+-89.066 38.612 8748
+-88.94 38.612 8777
+-88.814 38.612 8781
+-88.688 38.612 8773
+-88.562 38.612 8750
+-88.436 38.612 8671
+-88.31 38.612 8609
+-88.184 38.612 8561
+-88.058 38.612 8476
+-87.932 38.612 8363
+-87.806 38.612 8235
+-87.68 38.612 8191
+-87.554 38.612 8037
+-87.428 38.612 7963
+-87.302 38.612 7765
+-87.176 38.612 7654
+-87.05 38.612 7568
+-86.924 38.612 7439
+-86.798 38.612 7309
+-86.672 38.612 7201
+-86.546 38.612 7101
+-86.42 38.612 6977
+-86.294 38.612 6844
+-86.168 38.612 6707
+-86.042 38.612 6528
+-85.916 38.612 6390
+-85.79 38.612 6282
+-85.664 38.612 6227
+-85.538 38.612 6080
+-85.412 38.612 5866
+-85.286 38.612 5678
+-85.16 38.612 5573
+-85.034 38.612 5471
+-84.908 38.612 5323
+-84.782 38.612 5211
+-84.656 38.612 5017
+-84.53 38.612 4904
+-84.404 38.612 4849
+-84.278 38.612 4739
+-84.152 38.612 4570
+-84.026 38.612 4405
+-83.9 38.612 4296
+-83.774 38.612 4295
+-83.648 38.612 4251
+-83.522 38.612 4182
+-83.396 38.612 4076
+-83.27 38.612 3995
+-83.144 38.612 3963
+-83.018 38.612 3959
+-82.892 38.612 3951
+-82.766 38.612 3923
+-82.64 38.612 3925
+-82.514 38.612 3910
+-82.388 38.612 3863
+-82.262 38.612 3819
+-82.136 38.612 3816
+-82.01 38.612 3814
+-81.884 38.612 3780
+-81.758 38.612 3754
+-81.632 38.612 3755
+-81.506 38.612 3755
+-81.38 38.612 3757
+-81.254 38.612 3759
+-81.128 38.612 3761
+-81.002 38.612 3763
+-80.876 38.612 3741
+-80.75 38.612 3667
+-80.624 38.612 3669
+-80.498 38.612 3652
+-80.372 38.612 3654
+-80.246 38.612 3578
+-80.12 38.612 3579
+-79.994 38.612 3580
+-79.868 38.612 3582
+-79.742 38.612 3583
+-79.616 38.612 3584
+-79.49 38.612 3585
+-79.364 38.612 3587
+-79.238 38.612 3545
+-79.112 38.612 3545
+-78.986 38.612 3545
+-78.86 38.612 3450
+-78.734 38.612 3450
+-78.608 38.612 3451
+-78.482 38.612 3451
+-78.356 38.612 3452
+-78.23 38.612 3452
+-78.104 38.612 3453
+-77.978 38.612 3453
+-77.852 38.612 3454
+-77.726 38.612 3454
+-77.6 38.612 3454
+-77.474 38.612 3455
+-77.348 38.612 3455
+-77.222 38.612 3408
+-77.096 38.612 3408
+-76.97 38.612 3407
+-76.844 38.612 3407
+-76.718 38.612 3406
+-76.592 38.612 3406
+-76.466 38.612 3405
+-76.34 38.612 3405
+-76.214 38.612 3404
+-76.088 38.612 3404
+-75.962 38.612 3404
+-75.836 38.612 3403
+-75.71 38.612 3403
+-75.584 38.612 3403
+-75.458 38.612 3402
+-75.332 38.612 3402
+-75.206 38.612 3402
+-75.08 38.612 3401
+-74.954 38.612 3401
+-74.828 38.612 3401
+-74.702 38.612 3401
+-74.576 38.612 3400
+-74.45 38.612 3400
+-74.324 38.612 3400
+-74.198 38.612 3400
+-74.072 38.612 3069
+-73.946 38.612 3067
+-73.82 38.612 3066
+-73.694 38.612 3065
+-73.568 38.612 3063
+-73.442 38.612 3062
+-73.316 38.612 3060
+-73.19 38.612 3059
+-73.064 38.612 3058
+-72.938 38.612 3057
+-72.812 38.612 3056
+-72.686 38.612 3054
+-72.56 38.612 3053
+-72.434 38.612 3052
+-72.308 38.612 3051
+-72.182 38.612 3050
+-72.056 38.612 3049
+-71.93 38.612 3048
+-71.804 38.612 2921
+-71.678 38.612 2920
+-71.552 38.612 2889
+-71.426 38.612 2841
+-71.3 38.612 2840
+-71.174 38.612 2839
+-71.048 38.612 2853
+-70.922 38.612 2852
+-70.796 38.612 2863
+-70.67 38.612 2862
+-70.544 38.612 2821
+-70.418 38.612 2780
+-70.292 38.612 2780
+-70.166 38.612 2780
+-70.04 38.612 2779
+-69.914 38.612 2797
+-69.788 38.612 2803
+-69.662 38.612 2812
+-69.536 38.612 2811
+-69.41 38.612 2846
+-69.284 38.612 2857
+-69.158 38.612 2858
+-69.032 38.612 2916
+-68.906 38.612 2939
+-68.78 38.612 2916
+-68.654 38.612 2905
+-68.528 38.612 3063
+-68.402 38.612 3064
+-68.276 38.612 3131
+-68.15 38.612 3132
+-68.024 38.612 3134
+-67.898 38.612 3135
+-67.772 38.612 3137
+-67.646 38.612 3046
+-67.52 38.612 3068
+-67.394 38.612 3069
+-67.268 38.612 3057
+-67.142 38.612 3357
+-67.016 38.612 3389
+-66.89 38.612 3390
+-66.764 38.612 3384
+-66.638 38.612 3385
+-66.512 38.612 3389
+-66.386 38.612 3406
+-66.26 38.612 3407
+-66.134 38.612 3393
+-66.008 38.612 3394
+-65.882 38.612 3343
+-65.756 38.612 3344
+-65.63 38.612 3345
+-65.504 38.612 3414
+-65.378 38.612 3408
+-65.252 38.612 3418
+-65.126 38.612 3419
+-128 38.56 2478
+-127.874 38.56 2504
+-127.748 38.56 2502
+-127.622 38.56 2506
+-127.496 38.56 2593
+-127.37 38.56 2589
+-127.244 38.56 2586
+-127.118 38.56 2592
+-126.992 38.56 2690
+-126.866 38.56 2685
+-126.74 38.56 2679
+-126.614 38.56 2673
+-126.488 38.56 2666
+-126.362 38.56 2660
+-126.236 38.56 2697
+-126.11 38.56 2688
+-125.984 38.56 2679
+-125.858 38.56 2691
+-125.732 38.56 2641
+-125.606 38.56 2632
+-125.48 38.56 2622
+-125.354 38.56 2634
+-125.228 38.56 2673
+-125.102 38.56 2658
+-124.976 38.56 2643
+-124.85 38.56 2625
+-124.724 38.56 2607
+-124.598 38.56 2594
+-124.472 38.56 2614
+-124.346 38.56 2639
+-124.22 38.56 2605
+-124.094 38.56 2573
+-123.968 38.56 2510
+-123.842 38.56 2479
+-123.716 38.56 2487
+-123.59 38.56 2411
+-123.464 38.56 2390
+-123.338 38.56 2335
+-123.212 38.56 2288
+-123.086 38.56 2242
+-122.96 38.56 2209
+-122.834 38.56 2192
+-122.708 38.56 2204
+-122.582 38.56 2250
+-122.456 38.56 2319
+-122.33 38.56 2432
+-122.204 38.56 2553
+-122.078 38.56 2683
+-121.952 38.56 2800
+-121.826 38.56 2903
+-121.7 38.56 3001
+-121.574 38.56 3080
+-121.448 38.56 3149
+-121.322 38.56 3224
+-121.196 38.56 3271
+-121.07 38.56 3309
+-120.944 38.56 3317
+-120.818 38.56 3356
+-120.692 38.56 3476
+-120.566 38.56 3584
+-120.44 38.56 3686
+-120.314 38.56 3736
+-120.188 38.56 3774
+-120.062 38.56 3839
+-119.936 38.56 3942
+-119.81 38.56 4049
+-119.684 38.56 4121
+-119.558 38.56 4292
+-119.432 38.56 4346
+-119.306 38.56 4434
+-119.18 38.56 4467
+-119.054 38.56 4475
+-118.928 38.56 4420
+-118.802 38.56 4521
+-118.676 38.56 4588
+-118.55 38.56 4625
+-118.424 38.56 4646
+-118.298 38.56 4644
+-118.172 38.56 4673
+-118.046 38.56 4684
+-117.92 38.56 4702
+-117.794 38.56 4717
+-117.668 38.56 4710
+-117.542 38.56 4731
+-117.416 38.56 4711
+-117.29 38.56 4706
+-117.164 38.56 4706
+-117.038 38.56 4703
+-116.912 38.56 4707
+-116.786 38.56 4667
+-116.66 38.56 4672
+-116.534 38.56 4675
+-116.408 38.56 4669
+-116.282 38.56 4645
+-116.156 38.56 4605
+-116.03 38.56 4555
+-115.904 38.56 4503
+-115.778 38.56 4476
+-115.652 38.56 4430
+-115.526 38.56 4398
+-115.4 38.56 4320
+-115.274 38.56 4267
+-115.148 38.56 4179
+-115.022 38.56 4113
+-114.896 38.56 4079
+-114.77 38.56 4027
+-114.644 38.56 4006
+-114.518 38.56 3898
+-114.392 38.56 3752
+-114.266 38.56 3655
+-114.14 38.56 3676
+-114.014 38.56 3629
+-113.888 38.56 3518
+-113.762 38.56 3426
+-113.636 38.56 3469
+-113.51 38.56 3524
+-113.384 38.56 3561
+-113.258 38.56 3583
+-113.132 38.56 3604
+-113.006 38.56 3588
+-112.88 38.56 3607
+-112.754 38.56 3617
+-112.628 38.56 3529
+-112.502 38.56 3478
+-112.376 38.56 3289
+-112.25 38.56 3283
+-112.124 38.56 3228
+-111.998 38.56 3061
+-111.872 38.56 3022
+-111.746 38.56 2956
+-111.62 38.56 2866
+-111.494 38.56 2764
+-111.368 38.56 2704
+-111.242 38.56 2648
+-111.116 38.56 2596
+-110.99 38.56 2537
+-110.864 38.56 2451
+-110.738 38.56 2391
+-110.612 38.56 2327
+-110.486 38.56 2251
+-110.36 38.56 2174
+-110.234 38.56 2109
+-110.108 38.56 2060
+-109.982 38.56 2070
+-109.856 38.56 2110
+-109.73 38.56 2167
+-109.604 38.56 2232
+-109.478 38.56 2285
+-109.352 38.56 2329
+-109.226 38.56 2364
+-109.1 38.56 2390
+-108.974 38.56 2415
+-108.848 38.56 2426
+-108.722 38.56 2431
+-108.596 38.56 2431
+-108.47 38.56 2431
+-108.344 38.56 2483
+-108.218 38.56 2475
+-108.092 38.56 2428
+-107.966 38.56 2420
+-107.84 38.56 2413
+-107.714 38.56 2409
+-107.588 38.56 2409
+-107.462 38.56 2441
+-107.336 38.56 2463
+-107.21 38.56 2486
+-107.084 38.56 2501
+-106.958 38.56 2517
+-106.832 38.56 2548
+-106.706 38.56 2566
+-106.58 38.56 2557
+-106.454 38.56 2573
+-106.328 38.56 2602
+-106.202 38.56 2617
+-106.076 38.56 2664
+-105.95 38.56 2688
+-105.824 38.56 2706
+-105.698 38.56 2784
+-105.572 38.56 2798
+-105.446 38.56 2803
+-105.32 38.56 2858
+-105.194 38.56 2825
+-105.068 38.56 2842
+-104.942 38.56 2832
+-104.816 38.56 2910
+-104.69 38.56 2919
+-104.564 38.56 2933
+-104.438 38.56 2948
+-104.312 38.56 2801
+-104.186 38.56 2897
+-104.06 38.56 2898
+-103.934 38.56 2899
+-103.808 38.56 2912
+-103.682 38.56 2900
+-103.556 38.56 2899
+-103.43 38.56 2898
+-103.304 38.56 2916
+-103.178 38.56 2866
+-103.052 38.56 2701
+-102.926 38.56 2736
+-102.8 38.56 2678
+-102.674 38.56 2675
+-102.548 38.56 2632
+-102.422 38.56 2625
+-102.296 38.56 2589
+-102.17 38.56 2549
+-102.044 38.56 2555
+-101.918 38.56 2581
+-101.792 38.56 2692
+-101.666 38.56 2697
+-101.54 38.56 2714
+-101.414 38.56 2744
+-101.288 38.56 2750
+-101.162 38.56 2960
+-101.036 38.56 2963
+-100.91 38.56 2965
+-100.784 38.56 2968
+-100.658 38.56 2971
+-100.532 38.56 3054
+-100.406 38.56 3163
+-100.28 38.56 3163
+-100.154 38.56 3162
+-100.028 38.56 3161
+-99.902 38.56 3160
+-99.776 38.56 3159
+-99.65 38.56 3158
+-99.524 38.56 3196
+-99.398 38.56 3194
+-99.272 38.56 3191
+-99.146 38.56 3188
+-99.02 38.56 3184
+-98.894 38.56 3180
+-98.768 38.56 3175
+-98.642 38.56 3170
+-98.516 38.56 3243
+-98.39 38.56 3234
+-98.264 38.56 3251
+-98.138 38.56 3235
+-98.012 38.56 3217
+-97.886 38.56 3254
+-97.76 38.56 3221
+-97.634 38.56 3179
+-97.508 38.56 3124
+-97.382 38.56 3051
+-97.256 38.56 2958
+-97.13 38.56 2824
+-97.004 38.56 2672
+-96.878 38.56 2588
+-96.752 38.56 2743
+-96.626 38.56 3014
+-96.5 38.56 3202
+-96.374 38.56 3315
+-96.248 38.56 3375
+-96.122 38.56 3388
+-95.996 38.56 3439
+-95.87 38.56 3534
+-95.744 38.56 3665
+-95.618 38.56 3831
+-95.492 38.56 3952
+-95.366 38.56 4167
+-95.24 38.56 4272
+-95.114 38.56 4444
+-94.988 38.56 4655
+-94.862 38.56 4859
+-94.736 38.56 5082
+-94.61 38.56 5239
+-94.484 38.56 5312
+-94.358 38.56 5459
+-94.232 38.56 5532
+-94.106 38.56 5617
+-93.98 38.56 5606
+-93.854 38.56 5772
+-93.728 38.56 5917
+-93.602 38.56 6060
+-93.476 38.56 6131
+-93.35 38.56 6267
+-93.224 38.56 6404
+-93.098 38.56 6533
+-92.972 38.56 6630
+-92.846 38.56 6828
+-92.72 38.56 6984
+-92.594 38.56 7107
+-92.468 38.56 7278
+-92.342 38.56 7372
+-92.216 38.56 7527
+-92.09 38.56 7583
+-91.964 38.56 7752
+-91.838 38.56 7890
+-91.712 38.56 8048
+-91.586 38.56 8166
+-91.46 38.56 8339
+-91.334 38.56 8454
+-91.208 38.56 8554
+-91.082 38.56 8690
+-90.956 38.56 8855
+-90.83 38.56 8926
+-90.704 38.56 9074
+-90.578 38.56 9164
+-90.452 38.56 9187
+-90.326 38.56 9123
+-90.2 38.56 9064
+-90.074 38.56 8934
+-89.948 38.56 8807
+-89.822 38.56 8742
+-89.696 38.56 8573
+-89.57 38.56 8442
+-89.444 38.56 8358
+-89.318 38.56 8661
+-89.192 38.56 8772
+-89.066 38.56 8817
+-88.94 38.56 8848
+-88.814 38.56 8834
+-88.688 38.56 8837
+-88.562 38.56 8774
+-88.436 38.56 8719
+-88.31 38.56 8666
+-88.184 38.56 8606
+-88.058 38.56 8530
+-87.932 38.56 8410
+-87.806 38.56 8327
+-87.68 38.56 8186
+-87.554 38.56 8093
+-87.428 38.56 7945
+-87.302 38.56 7866
+-87.176 38.56 7679
+-87.05 38.56 7613
+-86.924 38.56 7469
+-86.798 38.56 7347
+-86.672 38.56 7237
+-86.546 38.56 7123
+-86.42 38.56 6961
+-86.294 38.56 6864
+-86.168 38.56 6648
+-86.042 38.56 6515
+-85.916 38.56 6417
+-85.79 38.56 6318
+-85.664 38.56 6164
+-85.538 38.56 6124
+-85.412 38.56 5873
+-85.286 38.56 5657
+-85.16 38.56 5621
+-85.034 38.56 5478
+-84.908 38.56 5378
+-84.782 38.56 5272
+-84.656 38.56 5088
+-84.53 38.56 4963
+-84.404 38.56 4880
+-84.278 38.56 4730
+-84.152 38.56 4538
+-84.026 38.56 4323
+-83.9 38.56 4168
+-83.774 38.56 4237
+-83.648 38.56 4218
+-83.522 38.56 4100
+-83.396 38.56 3954
+-83.27 38.56 3860
+-83.144 38.56 3847
+-83.018 38.56 3877
+-82.892 38.56 3905
+-82.766 38.56 3921
+-82.64 38.56 3888
+-82.514 38.56 3835
+-82.388 38.56 3832
+-82.262 38.56 3795
+-82.136 38.56 3794
+-82.01 38.56 3794
+-81.884 38.56 3770
+-81.758 38.56 3773
+-81.632 38.56 3738
+-81.506 38.56 3740
+-81.38 38.56 3743
+-81.254 38.56 3746
+-81.128 38.56 3750
+-81.002 38.56 3753
+-80.876 38.56 3656
+-80.75 38.56 3659
+-80.624 38.56 3643
+-80.498 38.56 3645
+-80.372 38.56 3647
+-80.246 38.56 3649
+-80.12 38.56 3575
+-79.994 38.56 3577
+-79.868 38.56 3579
+-79.742 38.56 3580
+-79.616 38.56 3582
+-79.49 38.56 3583
+-79.364 38.56 3542
+-79.238 38.56 3542
+-79.112 38.56 3543
+-78.986 38.56 3543
+-78.86 38.56 3543
+-78.734 38.56 3450
+-78.608 38.56 3450
+-78.482 38.56 3451
+-78.356 38.56 3452
+-78.23 38.56 3452
+-78.104 38.56 3453
+-77.978 38.56 3453
+-77.852 38.56 3454
+-77.726 38.56 3454
+-77.6 38.56 3454
+-77.474 38.56 3455
+-77.348 38.56 3407
+-77.222 38.56 3407
+-77.096 38.56 3406
+-76.97 38.56 3406
+-76.844 38.56 3405
+-76.718 38.56 3405
+-76.592 38.56 3405
+-76.466 38.56 3404
+-76.34 38.56 3404
+-76.214 38.56 3403
+-76.088 38.56 3403
+-75.962 38.56 3403
+-75.836 38.56 3402
+-75.71 38.56 3402
+-75.584 38.56 3402
+-75.458 38.56 3401
+-75.332 38.56 3401
+-75.206 38.56 3401
+-75.08 38.56 3400
+-74.954 38.56 3400
+-74.828 38.56 3400
+-74.702 38.56 3400
+-74.576 38.56 3399
+-74.45 38.56 3399
+-74.324 38.56 3399
+-74.198 38.56 3069
+-74.072 38.56 3067
+-73.946 38.56 3066
+-73.82 38.56 3064
+-73.694 38.56 3063
+-73.568 38.56 3061
+-73.442 38.56 3060
+-73.316 38.56 3059
+-73.19 38.56 3057
+-73.064 38.56 3056
+-72.938 38.56 3055
+-72.812 38.56 3054
+-72.686 38.56 3053
+-72.56 38.56 3052
+-72.434 38.56 3051
+-72.308 38.56 3049
+-72.182 38.56 3048
+-72.056 38.56 3048
+-71.93 38.56 2921
+-71.804 38.56 2919
+-71.678 38.56 2888
+-71.552 38.56 2840
+-71.426 38.56 2839
+-71.3 38.56 2838
+-71.174 38.56 2852
+-71.048 38.56 2851
+-70.922 38.56 2862
+-70.796 38.56 2861
+-70.67 38.56 2820
+-70.544 38.56 2779
+-70.418 38.56 2779
+-70.292 38.56 2778
+-70.166 38.56 2778
+-70.04 38.56 2796
+-69.914 38.56 2802
+-69.788 38.56 2811
+-69.662 38.56 2810
+-69.536 38.56 2844
+-69.41 38.56 2856
+-69.284 38.56 2857
+-69.158 38.56 2915
+-69.032 38.56 2938
+-68.906 38.56 2915
+-68.78 38.56 2904
+-68.654 38.56 3061
+-68.528 38.56 3063
+-68.402 38.56 3129
+-68.276 38.56 3131
+-68.15 38.56 3132
+-68.024 38.56 3134
+-67.898 38.56 3135
+-67.772 38.56 3044
+-67.646 38.56 3066
+-67.52 38.56 3068
+-67.394 38.56 3056
+-67.268 38.56 3355
+-67.142 38.56 3388
+-67.016 38.56 3389
+-66.89 38.56 3383
+-66.764 38.56 3384
+-66.638 38.56 3388
+-66.512 38.56 3405
+-66.386 38.56 3406
+-66.26 38.56 3392
+-66.134 38.56 3393
+-66.008 38.56 3342
+-65.882 38.56 3343
+-65.756 38.56 3344
+-65.63 38.56 3413
+-65.504 38.56 3407
+-65.378 38.56 3417
+-65.252 38.56 3418
+-65.126 38.56 3395
+-128 38.508 2520
+-127.874 38.508 2519
+-127.748 38.508 2518
+-127.622 38.508 2516
+-127.496 38.508 2515
+-127.37 38.508 2713
+-127.244 38.508 2676
+-127.118 38.508 2684
+-126.992 38.508 2703
+-126.866 38.508 2698
+-126.74 38.508 2693
+-126.614 38.508 2687
+-126.488 38.508 2681
+-126.362 38.508 2722
+-126.236 38.508 2714
+-126.11 38.508 2706
+-125.984 38.508 2697
+-125.858 38.508 2688
+-125.732 38.508 2700
+-125.606 38.508 2649
+-125.48 38.508 2690
+-125.354 38.508 2678
+-125.228 38.508 2693
+-125.102 38.508 2680
+-124.976 38.508 2665
+-124.85 38.508 2650
+-124.724 38.508 2632
+-124.598 38.508 2621
+-124.472 38.508 2663
+-124.346 38.508 2674
+-124.22 38.508 2644
+-124.094 38.508 2611
+-123.968 38.508 2634
+-123.842 38.508 2568
+-123.716 38.508 2536
+-123.59 38.508 2500
+-123.464 38.508 2462
+-123.338 38.508 2422
+-123.212 38.508 2382
+-123.086 38.508 2375
+-122.96 38.508 2353
+-122.834 38.508 2346
+-122.708 38.508 2361
+-122.582 38.508 2411
+-122.456 38.508 2481
+-122.33 38.508 2564
+-122.204 38.508 2667
+-122.078 38.508 2754
+-121.952 38.508 2847
+-121.826 38.508 2950
+-121.7 38.508 3034
+-121.574 38.508 3098
+-121.448 38.508 3168
+-121.322 38.508 3230
+-121.196 38.508 3293
+-121.07 38.508 3335
+-120.944 38.508 3342
+-120.818 38.508 3400
+-120.692 38.508 3517
+-120.566 38.508 3626
+-120.44 38.508 3707
+-120.314 38.508 3796
+-120.188 38.508 3854
+-120.062 38.508 3922
+-119.936 38.508 4018
+-119.81 38.508 4114
+-119.684 38.508 4213
+-119.558 38.508 4355
+-119.432 38.508 4416
+-119.306 38.508 4478
+-119.18 38.508 4525
+-119.054 38.508 4525
+-118.928 38.508 4510
+-118.802 38.508 4566
+-118.676 38.508 4569
+-118.55 38.508 4638
+-118.424 38.508 4633
+-118.298 38.508 4694
+-118.172 38.508 4731
+-118.046 38.508 4737
+-117.92 38.508 4759
+-117.794 38.508 4767
+-117.668 38.508 4774
+-117.542 38.508 4763
+-117.416 38.508 4770
+-117.29 38.508 4793
+-117.164 38.508 4790
+-117.038 38.508 4759
+-116.912 38.508 4738
+-116.786 38.508 4733
+-116.66 38.508 4738
+-116.534 38.508 4730
+-116.408 38.508 4687
+-116.282 38.508 4700
+-116.156 38.508 4668
+-116.03 38.508 4611
+-115.904 38.508 4547
+-115.778 38.508 4503
+-115.652 38.508 4496
+-115.526 38.508 4452
+-115.4 38.508 4394
+-115.274 38.508 4356
+-115.148 38.508 4286
+-115.022 38.508 4225
+-114.896 38.508 4168
+-114.77 38.508 4099
+-114.644 38.508 4051
+-114.518 38.508 3947
+-114.392 38.508 3810
+-114.266 38.508 3723
+-114.14 38.508 3676
+-114.014 38.508 3621
+-113.888 38.508 3600
+-113.762 38.508 3566
+-113.636 38.508 3544
+-113.51 38.508 3545
+-113.384 38.508 3544
+-113.258 38.508 3554
+-113.132 38.508 3580
+-113.006 38.508 3570
+-112.88 38.508 3597
+-112.754 38.508 3572
+-112.628 38.508 3544
+-112.502 38.508 3439
+-112.376 38.508 3413
+-112.25 38.508 3282
+-112.124 38.508 3113
+-111.998 38.508 3076
+-111.872 38.508 3011
+-111.746 38.508 2916
+-111.62 38.508 2847
+-111.494 38.508 2744
+-111.368 38.508 2681
+-111.242 38.508 2624
+-111.116 38.508 2564
+-110.99 38.508 2518
+-110.864 38.508 2475
+-110.738 38.508 2420
+-110.612 38.508 2379
+-110.486 38.508 2335
+-110.36 38.508 2286
+-110.234 38.508 2243
+-110.108 38.508 2218
+-109.982 38.508 2221
+-109.856 38.508 2252
+-109.73 38.508 2260
+-109.604 38.508 2300
+-109.478 38.508 2338
+-109.352 38.508 2370
+-109.226 38.508 2395
+-109.1 38.508 2420
+-108.974 38.508 2432
+-108.848 38.508 2438
+-108.722 38.508 2438
+-108.596 38.508 2437
+-108.47 38.508 2482
+-108.344 38.508 2472
+-108.218 38.508 2424
+-108.092 38.508 2410
+-107.966 38.508 2397
+-107.84 38.508 2386
+-107.714 38.508 2380
+-107.588 38.508 2403
+-107.462 38.508 2421
+-107.336 38.508 2442
+-107.21 38.508 2456
+-107.084 38.508 2474
+-106.958 38.508 2506
+-106.832 38.508 2528
+-106.706 38.508 2524
+-106.58 38.508 2544
+-106.454 38.508 2575
+-106.328 38.508 2594
+-106.202 38.508 2641
+-106.076 38.508 2668
+-105.95 38.508 2688
+-105.824 38.508 2766
+-105.698 38.508 2781
+-105.572 38.508 2789
+-105.446 38.508 2844
+-105.32 38.508 2813
+-105.194 38.508 2832
+-105.068 38.508 2823
+-104.942 38.508 2901
+-104.816 38.508 2910
+-104.69 38.508 2924
+-104.564 38.508 2940
+-104.438 38.508 2906
+-104.312 38.508 2897
+-104.186 38.508 2899
+-104.06 38.508 2901
+-103.934 38.508 2915
+-103.808 38.508 2904
+-103.682 38.508 2904
+-103.556 38.508 2904
+-103.43 38.508 2921
+-103.304 38.508 2873
+-103.178 38.508 2903
+-103.052 38.508 2902
+-102.926 38.508 2703
+-102.8 38.508 2654
+-102.674 38.508 2644
+-102.548 38.508 2608
+-102.422 38.508 2633
+-102.296 38.508 2597
+-102.17 38.508 2555
+-102.044 38.508 2561
+-101.918 38.508 2585
+-101.792 38.508 2653
+-101.666 38.508 2702
+-101.54 38.508 2719
+-101.414 38.508 2749
+-101.288 38.508 2755
+-101.162 38.508 2761
+-101.036 38.508 2971
+-100.91 38.508 2974
+-100.784 38.508 2977
+-100.658 38.508 3057
+-100.532 38.508 3057
+-100.406 38.508 3057
+-100.28 38.508 3166
+-100.154 38.508 3209
+-100.028 38.508 3208
+-99.902 38.508 3206
+-99.776 38.508 3204
+-99.65 38.508 3202
+-99.524 38.508 3200
+-99.398 38.508 3198
+-99.272 38.508 3195
+-99.146 38.508 3192
+-99.02 38.508 3189
+-98.894 38.508 3185
+-98.768 38.508 3181
+-98.642 38.508 3175
+-98.516 38.508 3247
+-98.39 38.508 3267
+-98.264 38.508 3255
+-98.138 38.508 3240
+-98.012 38.508 3222
+-97.886 38.508 3201
+-97.76 38.508 3201
+-97.634 38.508 3194
+-97.508 38.508 3147
+-97.382 38.508 3087
+-97.256 38.508 3033
+-97.13 38.508 2948
+-97.004 38.508 2874
+-96.878 38.508 2862
+-96.752 38.508 2946
+-96.626 38.508 3063
+-96.5 38.508 3154
+-96.374 38.508 3266
+-96.248 38.508 3345
+-96.122 38.508 3316
+-95.996 38.508 3423
+-95.87 38.508 3572
+-95.744 38.508 3688
+-95.618 38.508 3832
+-95.492 38.508 3953
+-95.366 38.508 4129
+-95.24 38.508 4276
+-95.114 38.508 4437
+-94.988 38.508 4607
+-94.862 38.508 4808
+-94.736 38.508 5015
+-94.61 38.508 5202
+-94.484 38.508 5328
+-94.358 38.508 5476
+-94.232 38.508 5606
+-94.106 38.508 5655
+-93.98 38.508 5713
+-93.854 38.508 5846
+-93.728 38.508 5905
+-93.602 38.508 6004
+-93.476 38.508 6147
+-93.35 38.508 6270
+-93.224 38.508 6395
+-93.098 38.508 6535
+-92.972 38.508 6714
+-92.846 38.508 6875
+-92.72 38.508 7004
+-92.594 38.508 7153
+-92.468 38.508 7207
+-92.342 38.508 7371
+-92.216 38.508 7468
+-92.09 38.508 7637
+-91.964 38.508 7810
+-91.838 38.508 7853
+-91.712 38.508 8025
+-91.586 38.508 8138
+-91.46 38.508 8295
+-91.334 38.508 8438
+-91.208 38.508 8512
+-91.082 38.508 8635
+-90.956 38.508 8778
+-90.83 38.508 8948
+-90.704 38.508 9014
+-90.578 38.508 9100
+-90.452 38.508 9133
+-90.326 38.508 9096
+-90.2 38.508 9018
+-90.074 38.508 8922
+-89.948 38.508 8792
+-89.822 38.508 8689
+-89.696 38.508 8577
+-89.57 38.508 8423
+-89.444 38.508 8391
+-89.318 38.508 8725
+-89.192 38.508 8807
+-89.066 38.508 8850
+-88.94 38.508 8894
+-88.814 38.508 8893
+-88.688 38.508 8899
+-88.562 38.508 8830
+-88.436 38.508 8796
+-88.31 38.508 8742
+-88.184 38.508 8633
+-88.058 38.508 8575
+-87.932 38.508 8400
+-87.806 38.508 8380
+-87.68 38.508 8227
+-87.554 38.508 8121
+-87.428 38.508 7993
+-87.302 38.508 7889
+-87.176 38.508 7782
+-87.05 38.508 7660
+-86.924 38.508 7508
+-86.798 38.508 7372
+-86.672 38.508 7212
+-86.546 38.508 7107
+-86.42 38.508 7035
+-86.294 38.508 6883
+-86.168 38.508 6662
+-86.042 38.508 6516
+-85.916 38.508 6466
+-85.79 38.508 6333
+-85.664 38.508 6231
+-85.538 38.508 6145
+-85.412 38.508 5954
+-85.286 38.508 5769
+-85.16 38.508 5617
+-85.034 38.508 5467
+-84.908 38.508 5394
+-84.782 38.508 5300
+-84.656 38.508 5149
+-84.53 38.508 4972
+-84.404 38.508 4846
+-84.278 38.508 4768
+-84.152 38.508 4579
+-84.026 38.508 4333
+-83.9 38.508 4232
+-83.774 38.508 4239
+-83.648 38.508 4196
+-83.522 38.508 4018
+-83.396 38.508 3790
+-83.27 38.508 3647
+-83.144 38.508 3701
+-83.018 38.508 3794
+-82.892 38.508 3849
+-82.766 38.508 3833
+-82.64 38.508 3814
+-82.514 38.508 3798
+-82.388 38.508 3796
+-82.262 38.508 3796
+-82.136 38.508 3764
+-82.01 38.508 3741
+-81.884 38.508 3746
+-81.758 38.508 3751
+-81.632 38.508 3757
+-81.506 38.508 3724
+-81.38 38.508 3728
+-81.254 38.508 3720
+-81.128 38.508 3725
+-81.002 38.508 3644
+-80.876 38.508 3647
+-80.75 38.508 3638
+-80.624 38.508 3641
+-80.498 38.508 3644
+-80.372 38.508 3647
+-80.246 38.508 3650
+-80.12 38.508 3652
+-79.994 38.508 3574
+-79.868 38.508 3576
+-79.742 38.508 3578
+-79.616 38.508 3580
+-79.49 38.508 3538
+-79.364 38.508 3539
+-79.238 38.508 3539
+-79.112 38.508 3540
+-78.986 38.508 3541
+-78.86 38.508 3541
+-78.734 38.508 3542
+-78.608 38.508 3450
+-78.482 38.508 3451
+-78.356 38.508 3451
+-78.23 38.508 3452
+-78.104 38.508 3452
+-77.978 38.508 3453
+-77.852 38.508 3454
+-77.726 38.508 3454
+-77.6 38.508 3454
+-77.474 38.508 3407
+-77.348 38.508 3406
+-77.222 38.508 3406
+-77.096 38.508 3405
+-76.97 38.508 3405
+-76.844 38.508 3404
+-76.718 38.508 3404
+-76.592 38.508 3403
+-76.466 38.508 3403
+-76.34 38.508 3403
+-76.214 38.508 3402
+-76.088 38.508 3402
+-75.962 38.508 3401
+-75.836 38.508 3401
+-75.71 38.508 3401
+-75.584 38.508 3400
+-75.458 38.508 3400
+-75.332 38.508 3400
+-75.206 38.508 3400
+-75.08 38.508 3399
+-74.954 38.508 3399
+-74.828 38.508 3399
+-74.702 38.508 3399
+-74.576 38.508 3398
+-74.45 38.508 3398
+-74.324 38.508 3068
+-74.198 38.508 3067
+-74.072 38.508 3065
+-73.946 38.508 3064
+-73.82 38.508 3062
+-73.694 38.508 3061
+-73.568 38.508 3059
+-73.442 38.508 3058
+-73.316 38.508 3057
+-73.19 38.508 3056
+-73.064 38.508 3054
+-72.938 38.508 3053
+-72.812 38.508 3052
+-72.686 38.508 3051
+-72.56 38.508 3050
+-72.434 38.508 3049
+-72.308 38.508 3048
+-72.182 38.508 3047
+-72.056 38.508 2920
+-71.93 38.508 2918
+-71.804 38.508 2888
+-71.678 38.508 2839
+-71.552 38.508 2838
+-71.426 38.508 2837
+-71.3 38.508 2851
+-71.174 38.508 2850
+-71.048 38.508 2861
+-70.922 38.508 2860
+-70.796 38.508 2819
+-70.67 38.508 2778
+-70.544 38.508 2778
+-70.418 38.508 2777
+-70.292 38.508 2777
+-70.166 38.508 2795
+-70.04 38.508 2801
+-69.914 38.508 2810
+-69.788 38.508 2809
+-69.662 38.508 2843
+-69.536 38.508 2855
+-69.41 38.508 2856
+-69.284 38.508 2914
+-69.158 38.508 2936
+-69.032 38.508 2914
+-68.906 38.508 2903
+-68.78 38.508 3059
+-68.654 38.508 3061
+-68.528 38.508 3127
+-68.402 38.508 3129
+-68.276 38.508 3131
+-68.15 38.508 3132
+-68.024 38.508 3134
+-67.898 38.508 3043
+-67.772 38.508 3065
+-67.646 38.508 3066
+-67.52 38.508 3055
+-67.394 38.508 3354
+-67.268 38.508 3387
+-67.142 38.508 3387
+-67.016 38.508 3382
+-66.89 38.508 3383
+-66.764 38.508 3387
+-66.638 38.508 3404
+-66.512 38.508 3405
+-66.386 38.508 3391
+-66.26 38.508 3392
+-66.134 38.508 3341
+-66.008 38.508 3342
+-65.882 38.508 3343
+-65.756 38.508 3412
+-65.63 38.508 3406
+-65.504 38.508 3416
+-65.378 38.508 3417
+-65.252 38.508 3394
+-65.126 38.508 3417
+-128 38.456 2501
+-127.874 38.456 2529
+-127.748 38.456 2528
+-127.622 38.456 2527
+-127.496 38.456 2620
+-127.37 38.456 2617
+-127.244 38.456 2627
+-127.118 38.456 2714
+-126.992 38.456 2738
+-126.866 38.456 2711
+-126.74 38.456 2706
+-126.614 38.456 2701
+-126.488 38.456 2745
+-126.362 38.456 2738
+-126.236 38.456 2731
+-126.11 38.456 2724
+-125.984 38.456 2716
+-125.858 38.456 2708
+-125.732 38.456 2759
+-125.606 38.456 2758
+-125.48 38.456 2710
+-125.354 38.456 2726
+-125.228 38.456 2715
+-125.102 38.456 2703
+-124.976 38.456 2689
+-124.85 38.456 2675
+-124.724 38.456 2712
+-124.598 38.456 2761
+-124.472 38.456 2738
+-124.346 38.456 2713
+-124.22 38.456 2685
+-124.094 38.456 2718
+-123.968 38.456 2683
+-123.842 38.456 2649
+-123.716 38.456 2623
+-123.59 38.456 2561
+-123.464 38.456 2534
+-123.338 38.456 2537
+-123.212 38.456 2508
+-123.086 38.456 2491
+-122.96 38.456 2480
+-122.834 38.456 2484
+-122.708 38.456 2506
+-122.582 38.456 2548
+-122.456 38.456 2620
+-122.33 38.456 2694
+-122.204 38.456 2756
+-122.078 38.456 2828
+-121.952 38.456 2896
+-121.826 38.456 2969
+-121.7 38.456 3043
+-121.574 38.456 3121
+-121.448 38.456 3196
+-121.322 38.456 3259
+-121.196 38.456 3308
+-121.07 38.456 3379
+-120.944 38.456 3428
+-120.818 38.456 3508
+-120.692 38.456 3594
+-120.566 38.456 3695
+-120.44 38.456 3776
+-120.314 38.456 3887
+-120.188 38.456 3956
+-120.062 38.456 4034
+-119.936 38.456 4110
+-119.81 38.456 4179
+-119.684 38.456 4310
+-119.558 38.456 4424
+-119.432 38.456 4481
+-119.306 38.456 4532
+-119.18 38.456 4581
+-119.054 38.456 4591
+-118.928 38.456 4594
+-118.802 38.456 4609
+-118.676 38.456 4631
+-118.55 38.456 4688
+-118.424 38.456 4715
+-118.298 38.456 4734
+-118.172 38.456 4777
+-118.046 38.456 4801
+-117.92 38.456 4802
+-117.794 38.456 4833
+-117.668 38.456 4852
+-117.542 38.456 4868
+-117.416 38.456 4876
+-117.29 38.456 4895
+-117.164 38.456 4890
+-117.038 38.456 4858
+-116.912 38.456 4837
+-116.786 38.456 4833
+-116.66 38.456 4817
+-116.534 38.456 4784
+-116.408 38.456 4766
+-116.282 38.456 4752
+-116.156 38.456 4723
+-116.03 38.456 4665
+-115.904 38.456 4599
+-115.778 38.456 4544
+-115.652 38.456 4540
+-115.526 38.456 4500
+-115.4 38.456 4432
+-115.274 38.456 4406
+-115.148 38.456 4371
+-115.022 38.456 4326
+-114.896 38.456 4243
+-114.77 38.456 4199
+-114.644 38.456 4116
+-114.518 38.456 4000
+-114.392 38.456 3897
+-114.266 38.456 3788
+-114.14 38.456 3661
+-114.014 38.456 3567
+-113.888 38.456 3610
+-113.762 38.456 3625
+-113.636 38.456 3581
+-113.51 38.456 3529
+-113.384 38.456 3495
+-113.258 38.456 3508
+-113.132 38.456 3551
+-113.006 38.456 3589
+-112.88 38.456 3575
+-112.754 38.456 3591
+-112.628 38.456 3509
+-112.502 38.456 3444
+-112.376 38.456 3411
+-112.25 38.456 3192
+-112.124 38.456 3133
+-111.998 38.456 3069
+-111.872 38.456 2972
+-111.746 38.456 2901
+-111.62 38.456 2824
+-111.494 38.456 2719
+-111.368 38.456 2649
+-111.242 38.456 2576
+-111.116 38.456 2521
+-110.99 38.456 2481
+-110.864 38.456 2462
+-110.738 38.456 2430
+-110.612 38.456 2419
+-110.486 38.456 2398
+-110.36 38.456 2372
+-110.234 38.456 2346
+-110.108 38.456 2331
+-109.982 38.456 2336
+-109.856 38.456 2347
+-109.73 38.456 2370
+-109.604 38.456 2397
+-109.478 38.456 2423
+-109.352 38.456 2450
+-109.226 38.456 2468
+-109.1 38.456 2480
+-108.974 38.456 2485
+-108.848 38.456 2486
+-108.722 38.456 2495
+-108.596 38.456 2487
+-108.47 38.456 2474
+-108.344 38.456 2426
+-108.218 38.456 2407
+-108.092 38.456 2386
+-107.966 38.456 2366
+-107.84 38.456 2351
+-107.714 38.456 2363
+-107.588 38.456 2373
+-107.462 38.456 2389
+-107.336 38.456 2403
+-107.21 38.456 2422
+-107.084 38.456 2455
+-106.958 38.456 2480
+-106.832 38.456 2484
+-106.706 38.456 2508
+-106.58 38.456 2543
+-106.454 38.456 2565
+-106.328 38.456 2614
+-106.202 38.456 2644
+-106.076 38.456 2667
+-105.95 38.456 2745
+-105.824 38.456 2763
+-105.698 38.456 2773
+-105.572 38.456 2828
+-105.446 38.456 2801
+-105.32 38.456 2820
+-105.194 38.456 2813
+-105.068 38.456 2890
+-104.942 38.456 2900
+-104.816 38.456 2915
+-104.69 38.456 2932
+-104.564 38.456 2899
+-104.438 38.456 2998
+-104.312 38.456 3005
+-104.186 38.456 2902
+-104.06 38.456 2917
+-103.934 38.456 2906
+-103.808 38.456 2907
+-103.682 38.456 2908
+-103.556 38.456 2926
+-103.43 38.456 2879
+-103.304 38.456 2909
+-103.178 38.456 2909
+-103.052 38.456 2908
+-102.926 38.456 2906
+-102.8 38.456 2778
+-102.674 38.456 2652
+-102.548 38.456 2645
+-102.422 38.456 2610
+-102.296 38.456 2575
+-102.17 38.456 2536
+-102.044 38.456 2567
+-101.918 38.456 2589
+-101.792 38.456 2657
+-101.666 38.456 2706
+-101.54 38.456 2723
+-101.414 38.456 2753
+-101.288 38.456 2759
+-101.162 38.456 2765
+-101.036 38.456 2950
+-100.91 38.456 2953
+-100.784 38.456 3059
+-100.658 38.456 3060
+-100.532 38.456 3060
+-100.406 38.456 3061
+-100.28 38.456 3061
+-100.154 38.456 3212
+-100.028 38.456 3211
+-99.902 38.456 3209
+-99.776 38.456 3208
+-99.65 38.456 3206
+-99.524 38.456 3204
+-99.398 38.456 3202
+-99.272 38.456 3200
+-99.146 38.456 3197
+-99.02 38.456 3194
+-98.894 38.456 3190
+-98.768 38.456 3186
+-98.642 38.456 3239
+-98.516 38.456 3281
+-98.39 38.456 3271
+-98.264 38.456 3260
+-98.138 38.456 3247
+-98.012 38.456 3231
+-97.886 38.456 3212
+-97.76 38.456 3189
+-97.634 38.456 3188
+-97.508 38.456 3177
+-97.382 38.456 3159
+-97.256 38.456 3105
+-97.13 38.456 3052
+-97.004 38.456 3029
+-96.878 38.456 3027
+-96.752 38.456 3052
+-96.626 38.456 3025
+-96.5 38.456 2999
+-96.374 38.456 3148
+-96.248 38.456 3326
+-96.122 38.456 3383
+-95.996 38.456 3494
+-95.87 38.456 3635
+-95.744 38.456 3705
+-95.618 38.456 3809
+-95.492 38.456 3933
+-95.366 38.456 4125
+-95.24 38.456 4260
+-95.114 38.456 4393
+-94.988 38.456 4611
+-94.862 38.456 4745
+-94.736 38.456 4956
+-94.61 38.456 5133
+-94.484 38.456 5261
+-94.358 38.456 5460
+-94.232 38.456 5591
+-94.106 38.456 5685
+-93.98 38.456 5764
+-93.854 38.456 5842
+-93.728 38.456 5958
+-93.602 38.456 6059
+-93.476 38.456 6146
+-93.35 38.456 6301
+-93.224 38.456 6398
+-93.098 38.456 6531
+-92.972 38.456 6746
+-92.846 38.456 6846
+-92.72 38.456 6964
+-92.594 38.456 7080
+-92.468 38.456 7247
+-92.342 38.456 7399
+-92.216 38.456 7499
+-92.09 38.456 7612
+-91.964 38.456 7766
+-91.838 38.456 7942
+-91.712 38.456 7995
+-91.586 38.456 8113
+-91.46 38.456 8252
+-91.334 38.456 8396
+-91.208 38.456 8598
+-91.082 38.456 8646
+-90.956 38.456 8765
+-90.83 38.456 8868
+-90.704 38.456 8950
+-90.578 38.456 9030
+-90.452 38.456 9072
+-90.326 38.456 9071
+-90.2 38.456 9017
+-90.074 38.456 8843
+-89.948 38.456 8788
+-89.822 38.456 8699
+-89.696 38.456 8560
+-89.57 38.456 8465
+-89.444 38.456 8708
+-89.318 38.456 8822
+-89.192 38.456 8856
+-89.066 38.456 8917
+-88.94 38.456 8947
+-88.814 38.456 8933
+-88.688 38.456 8925
+-88.562 38.456 8897
+-88.436 38.456 8824
+-88.31 38.456 8802
+-88.184 38.456 8663
+-88.058 38.456 8602
+-87.932 38.456 8489
+-87.806 38.456 8429
+-87.68 38.456 8231
+-87.554 38.456 8106
+-87.428 38.456 8012
+-87.302 38.456 7871
+-87.176 38.456 7792
+-87.05 38.456 7703
+-86.924 38.456 7530
+-86.798 38.456 7387
+-86.672 38.456 7263
+-86.546 38.456 7152
+-86.42 38.456 7020
+-86.294 38.456 6907
+-86.168 38.456 6665
+-86.042 38.456 6553
+-85.916 38.456 6437
+-85.79 38.456 6315
+-85.664 38.456 6189
+-85.538 38.456 6122
+-85.412 38.456 5965
+-85.286 38.456 5805
+-85.16 38.456 5600
+-85.034 38.456 5433
+-84.908 38.456 5388
+-84.782 38.456 5320
+-84.656 38.456 5179
+-84.53 38.456 4945
+-84.404 38.456 4769
+-84.278 38.456 4765
+-84.152 38.456 4611
+-84.026 38.456 4420
+-83.9 38.456 4319
+-83.774 38.456 4268
+-83.648 38.456 4183
+-83.522 38.456 3971
+-83.396 38.456 3680
+-83.27 38.456 3507
+-83.144 38.456 3619
+-83.018 38.456 3749
+-82.892 38.456 3774
+-82.766 38.456 3771
+-82.64 38.456 3773
+-82.514 38.456 3773
+-82.388 38.456 3774
+-82.262 38.456 3736
+-82.136 38.456 3741
+-82.01 38.456 3748
+-81.884 38.456 3719
+-81.758 38.456 3727
+-81.632 38.456 3736
+-81.506 38.456 3734
+-81.38 38.456 3716
+-81.254 38.456 3696
+-81.128 38.456 3628
+-81.002 38.456 3633
+-80.876 38.456 3626
+-80.75 38.456 3630
+-80.624 38.456 3634
+-80.498 38.456 3637
+-80.372 38.456 3641
+-80.246 38.456 3644
+-80.12 38.456 3647
+-79.994 38.456 3650
+-79.868 38.456 3573
+-79.742 38.456 3575
+-79.616 38.456 3573
+-79.49 38.456 3575
+-79.364 38.456 3577
+-79.238 38.456 3578
+-79.112 38.456 3580
+-78.986 38.456 3581
+-78.86 38.456 3583
+-78.734 38.456 3584
+-78.608 38.456 3585
+-78.482 38.456 3450
+-78.356 38.456 3451
+-78.23 38.456 3452
+-78.104 38.456 3452
+-77.978 38.456 3452
+-77.852 38.456 3452
+-77.726 38.456 3453
+-77.6 38.456 3406
+-77.474 38.456 3405
+-77.348 38.456 3405
+-77.222 38.456 3404
+-77.096 38.456 3404
+-76.97 38.456 3403
+-76.844 38.456 3403
+-76.718 38.456 3403
+-76.592 38.456 3402
+-76.466 38.456 3402
+-76.34 38.456 3401
+-76.214 38.456 3401
+-76.088 38.456 3401
+-75.962 38.456 3400
+-75.836 38.456 3400
+-75.71 38.456 3400
+-75.584 38.456 3399
+-75.458 38.456 3399
+-75.332 38.456 3399
+-75.206 38.456 3399
+-75.08 38.456 3398
+-74.954 38.456 3390
+-74.828 38.456 3390
+-74.702 38.456 3390
+-74.576 38.456 3323
+-74.45 38.456 3068
+-74.324 38.456 3066
+-74.198 38.456 3065
+-74.072 38.456 3063
+-73.946 38.456 3062
+-73.82 38.456 3060
+-73.694 38.456 3059
+-73.568 38.456 3057
+-73.442 38.456 3056
+-73.316 38.456 3055
+-73.19 38.456 3054
+-73.064 38.456 3052
+-72.938 38.456 3051
+-72.812 38.456 3050
+-72.686 38.456 3049
+-72.56 38.456 3048
+-72.434 38.456 3047
+-72.308 38.456 3046
+-72.182 38.456 2919
+-72.056 38.456 2918
+-71.93 38.456 2887
+-71.804 38.456 2838
+-71.678 38.456 2837
+-71.552 38.456 2836
+-71.426 38.456 2850
+-71.3 38.456 2849
+-71.174 38.456 2859
+-71.048 38.456 2859
+-70.922 38.456 2818
+-70.796 38.456 2777
+-70.67 38.456 2777
+-70.544 38.456 2776
+-70.418 38.456 2776
+-70.292 38.456 2793
+-70.166 38.456 2799
+-70.04 38.456 2809
+-69.914 38.456 2807
+-69.788 38.456 2842
+-69.662 38.456 2853
+-69.536 38.456 2854
+-69.41 38.456 2912
+-69.284 38.456 2935
+-69.158 38.456 2912
+-69.032 38.456 2902
+-68.906 38.456 3058
+-68.78 38.456 3059
+-68.654 38.456 3126
+-68.528 38.456 3127
+-68.402 38.456 3129
+-68.276 38.456 3131
+-68.15 38.456 3132
+-68.024 38.456 3042
+-67.898 38.456 3064
+-67.772 38.456 3065
+-67.646 38.456 3053
+-67.52 38.456 3353
+-67.394 38.456 3385
+-67.268 38.456 3386
+-67.142 38.456 3381
+-67.016 38.456 3381
+-66.89 38.456 3386
+-66.764 38.456 3403
+-66.638 38.456 3404
+-66.512 38.456 3390
+-66.386 38.456 3391
+-66.26 38.456 3341
+-66.134 38.456 3341
+-66.008 38.456 3342
+-65.882 38.456 3411
+-65.756 38.456 3405
+-65.63 38.456 3415
+-65.504 38.456 3416
+-65.378 38.456 3393
+-65.252 38.456 3416
+-65.126 38.456 3465
+-128 38.404 2427
+-127.874 38.404 2510
+-127.748 38.404 2538
+-127.622 38.404 2633
+-127.496 38.404 2630
+-127.37 38.404 2673
+-127.244 38.404 2669
+-127.118 38.404 2634
+-126.992 38.404 2722
+-126.866 38.404 2747
+-126.74 38.404 2788
+-126.614 38.404 2767
+-126.488 38.404 2762
+-126.362 38.404 2756
+-126.236 38.404 2749
+-126.11 38.404 2742
+-125.984 38.404 2735
+-125.858 38.404 2791
+-125.732 38.404 2781
+-125.606 38.404 2778
+-125.48 38.404 2768
+-125.354 38.404 2778
+-125.228 38.404 2737
+-125.102 38.404 2726
+-124.976 38.404 2714
+-124.85 38.404 2763
+-124.724 38.404 2746
+-124.598 38.404 2794
+-124.472 38.404 2774
+-124.346 38.404 2752
+-124.22 38.404 2795
+-124.094 38.404 2767
+-123.968 38.404 2738
+-123.842 38.404 2707
+-123.716 38.404 2679
+-123.59 38.404 2658
+-123.464 38.404 2637
+-123.338 38.404 2619
+-123.212 38.404 2609
+-123.086 38.404 2598
+-122.96 38.404 2600
+-122.834 38.404 2610
+-122.708 38.404 2635
+-122.582 38.404 2674
+-122.456 38.404 2724
+-122.33 38.404 2788
+-122.204 38.404 2837
+-122.078 38.404 2871
+-121.952 38.404 2905
+-121.826 38.404 2960
+-121.7 38.404 3037
+-121.574 38.404 3119
+-121.448 38.404 3201
+-121.322 38.404 3274
+-121.196 38.404 3331
+-121.07 38.404 3468
+-120.944 38.404 3507
+-120.818 38.404 3603
+-120.692 38.404 3677
+-120.566 38.404 3761
+-120.44 38.404 3873
+-120.314 38.404 3992
+-120.188 38.404 4051
+-120.062 38.404 4083
+-119.936 38.404 4156
+-119.81 38.404 4261
+-119.684 38.404 4404
+-119.558 38.404 4492
+-119.432 38.404 4538
+-119.306 38.404 4564
+-119.18 38.404 4626
+-119.054 38.404 4665
+-118.928 38.404 4684
+-118.802 38.404 4679
+-118.676 38.404 4706
+-118.55 38.404 4740
+-118.424 38.404 4741
+-118.298 38.404 4792
+-118.172 38.404 4832
+-118.046 38.404 4825
+-117.92 38.404 4856
+-117.794 38.404 4891
+-117.668 38.404 4914
+-117.542 38.404 4943
+-117.416 38.404 4956
+-117.29 38.404 4953
+-117.164 38.404 4945
+-117.038 38.404 4934
+-116.912 38.404 4902
+-116.786 38.404 4867
+-116.66 38.404 4864
+-116.534 38.404 4837
+-116.408 38.404 4793
+-116.282 38.404 4798
+-116.156 38.404 4767
+-116.03 38.404 4730
+-115.904 38.404 4670
+-115.778 38.404 4623
+-115.652 38.404 4600
+-115.526 38.404 4544
+-115.4 38.404 4466
+-115.274 38.404 4410
+-115.148 38.404 4406
+-115.022 38.404 4372
+-114.896 38.404 4309
+-114.77 38.404 4265
+-114.644 38.404 4186
+-114.518 38.404 4082
+-114.392 38.404 3976
+-114.266 38.404 3849
+-114.14 38.404 3731
+-114.014 38.404 3650
+-113.888 38.404 3660
+-113.762 38.404 3649
+-113.636 38.404 3576
+-113.51 38.404 3453
+-113.384 38.404 3364
+-113.258 38.404 3418
+-113.132 38.404 3507
+-113.006 38.404 3587
+-112.88 38.404 3588
+-112.754 38.404 3536
+-112.628 38.404 3520
+-112.502 38.404 3446
+-112.376 38.404 3317
+-112.25 38.404 3190
+-112.124 38.404 3129
+-111.998 38.404 3032
+-111.872 38.404 2962
+-111.746 38.404 2886
+-111.62 38.404 2805
+-111.494 38.404 2693
+-111.368 38.404 2611
+-111.242 38.404 2525
+-111.116 38.404 2459
+-110.99 38.404 2431
+-110.864 38.404 2430
+-110.738 38.404 2424
+-110.612 38.404 2436
+-110.486 38.404 2437
+-110.36 38.404 2428
+-110.234 38.404 2419
+-110.108 38.404 2417
+-109.982 38.404 2416
+-109.856 38.404 2424
+-109.73 38.404 2436
+-109.604 38.404 2452
+-109.478 38.404 2471
+-109.352 38.404 2484
+-109.226 38.404 2493
+-109.1 38.404 2497
+-108.974 38.404 2497
+-108.848 38.404 2504
+-108.722 38.404 2496
+-108.596 38.404 2483
+-108.47 38.404 2468
+-108.344 38.404 2444
+-108.218 38.404 2416
+-108.092 38.404 2375
+-107.966 38.404 2347
+-107.84 38.404 2325
+-107.714 38.404 2322
+-107.588 38.404 2328
+-107.462 38.404 2338
+-107.336 38.404 2357
+-107.21 38.404 2391
+-107.084 38.404 2421
+-106.958 38.404 2433
+-106.832 38.404 2463
+-106.706 38.404 2503
+-106.58 38.404 2531
+-106.454 38.404 2582
+-106.328 38.404 2616
+-106.202 38.404 2643
+-106.076 38.404 2722
+-105.95 38.404 2742
+-105.824 38.404 2756
+-105.698 38.404 2811
+-105.572 38.404 2787
+-105.446 38.404 2807
+-105.32 38.404 2803
+-105.194 38.404 2879
+-105.068 38.404 2890
+-104.942 38.404 2906
+-104.816 38.404 2923
+-104.69 38.404 2892
+-104.564 38.404 2989
+-104.438 38.404 2997
+-104.312 38.404 3004
+-104.186 38.404 2998
+-104.06 38.404 3017
+-103.934 38.404 2910
+-103.808 38.404 2911
+-103.682 38.404 2929
+-103.556 38.404 2884
+-103.43 38.404 2914
+-103.304 38.404 2914
+-103.178 38.404 2914
+-103.052 38.404 2913
+-102.926 38.404 2910
+-102.8 38.404 2785
+-102.674 38.404 2782
+-102.548 38.404 2653
+-102.422 38.404 2617
+-102.296 38.404 2611
+-102.17 38.404 2541
+-102.044 38.404 2553
+-101.918 38.404 2582
+-101.792 38.404 2662
+-101.666 38.404 2710
+-101.54 38.404 2725
+-101.414 38.404 2731
+-101.288 38.404 2763
+-101.162 38.404 2769
+-101.036 38.404 2956
+-100.91 38.404 3030
+-100.784 38.404 3062
+-100.658 38.404 3063
+-100.532 38.404 3063
+-100.406 38.404 3064
+-100.28 38.404 3064
+-100.154 38.404 3065
+-100.028 38.404 3214
+-99.902 38.404 3213
+-99.776 38.404 3211
+-99.65 38.404 3210
+-99.524 38.404 3208
+-99.398 38.404 3206
+-99.272 38.404 3204
+-99.146 38.404 3202
+-99.02 38.404 3199
+-98.894 38.404 3196
+-98.768 38.404 3269
+-98.642 38.404 3264
+-98.516 38.404 3257
+-98.39 38.404 3249
+-98.264 38.404 3240
+-98.138 38.404 3255
+-98.012 38.404 3241
+-97.886 38.404 3225
+-97.76 38.404 3230
+-97.634 38.404 3206
+-97.508 38.404 3201
+-97.382 38.404 3204
+-97.256 38.404 3168
+-97.13 38.404 3155
+-97.004 38.404 3136
+-96.878 38.404 3113
+-96.752 38.404 3077
+-96.626 38.404 2969
+-96.5 38.404 2852
+-96.374 38.404 3038
+-96.248 38.404 3309
+-96.122 38.404 3455
+-95.996 38.404 3574
+-95.87 38.404 3675
+-95.744 38.404 3673
+-95.618 38.404 3807
+-95.492 38.404 3953
+-95.366 38.404 4145
+-95.24 38.404 4250
+-95.114 38.404 4341
+-94.988 38.404 4540
+-94.862 38.404 4722
+-94.736 38.404 4950
+-94.61 38.404 5085
+-94.484 38.404 5183
+-94.358 38.404 5365
+-94.232 38.404 5557
+-94.106 38.404 5670
+-93.98 38.404 5761
+-93.854 38.404 5697
+-93.728 38.404 5889
+-93.602 38.404 6038
+-93.476 38.404 6117
+-93.35 38.404 6318
+-93.224 38.404 6473
+-93.098 38.404 6562
+-92.972 38.404 6713
+-92.846 38.404 6797
+-92.72 38.404 6984
+-92.594 38.404 7047
+-92.468 38.404 7240
+-92.342 38.404 7349
+-92.216 38.404 7523
+-92.09 38.404 7594
+-91.964 38.404 7726
+-91.838 38.404 7930
+-91.712 38.404 7958
+-91.586 38.404 8073
+-91.46 38.404 8238
+-91.334 38.404 8375
+-91.208 38.404 8514
+-91.082 38.404 8616
+-90.956 38.404 8712
+-90.83 38.404 8803
+-90.704 38.404 8926
+-90.578 38.404 8989
+-90.452 38.404 9017
+-90.326 38.404 8978
+-90.2 38.404 8910
+-90.074 38.404 8888
+-89.948 38.404 8776
+-89.822 38.404 8658
+-89.696 38.404 8516
+-89.57 38.404 8417
+-89.444 38.404 8754
+-89.318 38.404 8823
+-89.192 38.404 8944
+-89.066 38.404 8984
+-88.94 38.404 9010
+-88.814 38.404 9016
+-88.688 38.404 9002
+-88.562 38.404 8995
+-88.436 38.404 8883
+-88.31 38.404 8817
+-88.184 38.404 8728
+-88.058 38.404 8640
+-87.932 38.404 8551
+-87.806 38.404 8409
+-87.68 38.404 8294
+-87.554 38.404 8173
+-87.428 38.404 8055
+-87.302 38.404 7948
+-87.176 38.404 7802
+-87.05 38.404 7720
+-86.924 38.404 7525
+-86.798 38.404 7457
+-86.672 38.404 7274
+-86.546 38.404 7066
+-86.42 38.404 7045
+-86.294 38.404 6883
+-86.168 38.404 6701
+-86.042 38.404 6542
+-85.916 38.404 6428
+-85.79 38.404 6341
+-85.664 38.404 6213
+-85.538 38.404 6084
+-85.412 38.404 5863
+-85.286 38.404 5817
+-85.16 38.404 5638
+-85.034 38.404 5465
+-84.908 38.404 5315
+-84.782 38.404 5225
+-84.656 38.404 5211
+-84.53 38.404 5022
+-84.404 38.404 4855
+-84.278 38.404 4771
+-84.152 38.404 4618
+-84.026 38.404 4514
+-83.9 38.404 4413
+-83.774 38.404 4315
+-83.648 38.404 4177
+-83.522 38.404 4006
+-83.396 38.404 3782
+-83.27 38.404 3641
+-83.144 38.404 3684
+-83.018 38.404 3712
+-82.892 38.404 3727
+-82.766 38.404 3726
+-82.64 38.404 3724
+-82.514 38.404 3724
+-82.388 38.404 3728
+-82.262 38.404 3729
+-82.136 38.404 3706
+-82.01 38.404 3717
+-81.884 38.404 3728
+-81.758 38.404 3703
+-81.632 38.404 3705
+-81.506 38.404 3713
+-81.38 38.404 3715
+-81.254 38.404 3683
+-81.128 38.404 3690
+-81.002 38.404 3611
+-80.876 38.404 3617
+-80.75 38.404 3622
+-80.624 38.404 3626
+-80.498 38.404 3631
+-80.372 38.404 3635
+-80.246 38.404 3639
+-80.12 38.404 3642
+-79.994 38.404 3646
+-79.868 38.404 3649
+-79.742 38.404 3567
+-79.616 38.404 3569
+-79.49 38.404 3571
+-79.364 38.404 3573
+-79.238 38.404 3575
+-79.112 38.404 3577
+-78.986 38.404 3579
+-78.86 38.404 3580
+-78.734 38.404 3582
+-78.608 38.404 3583
+-78.482 38.404 3584
+-78.356 38.404 3469
+-78.23 38.404 3452
+-78.104 38.404 3451
+-77.978 38.404 3451
+-77.852 38.404 3452
+-77.726 38.404 3405
+-77.6 38.404 3404
+-77.474 38.404 3404
+-77.348 38.404 3403
+-77.222 38.404 3403
+-77.096 38.404 3396
+-76.97 38.404 3395
+-76.844 38.404 3395
+-76.718 38.404 3394
+-76.592 38.404 3394
+-76.466 38.404 3393
+-76.34 38.404 3393
+-76.214 38.404 3392
+-76.088 38.404 3392
+-75.962 38.404 3392
+-75.836 38.404 3391
+-75.71 38.404 3391
+-75.584 38.404 3391
+-75.458 38.404 3390
+-75.332 38.404 3390
+-75.206 38.404 3390
+-75.08 38.404 3389
+-74.954 38.404 3389
+-74.828 38.404 3389
+-74.702 38.404 3322
+-74.576 38.404 3067
+-74.45 38.404 3066
+-74.324 38.404 3064
+-74.198 38.404 3063
+-74.072 38.404 3061
+-73.946 38.404 3060
+-73.82 38.404 3058
+-73.694 38.404 3057
+-73.568 38.404 3055
+-73.442 38.404 3054
+-73.316 38.404 3053
+-73.19 38.404 3052
+-73.064 38.404 3050
+-72.938 38.404 3049
+-72.812 38.404 3048
+-72.686 38.404 3047
+-72.56 38.404 3046
+-72.434 38.404 3045
+-72.308 38.404 2918
+-72.182 38.404 2916
+-72.056 38.404 2885
+-71.93 38.404 2837
+-71.804 38.404 2836
+-71.678 38.404 2835
+-71.552 38.404 2849
+-71.426 38.404 2848
+-71.3 38.404 2858
+-71.174 38.404 2857
+-71.048 38.404 2817
+-70.922 38.404 2776
+-70.796 38.404 2775
+-70.67 38.404 2775
+-70.544 38.404 2775
+-70.418 38.404 2792
+-70.292 38.404 2798
+-70.166 38.404 2808
+-70.04 38.404 2806
+-69.914 38.404 2840
+-69.788 38.404 2852
+-69.662 38.404 2853
+-69.536 38.404 2911
+-69.41 38.404 2933
+-69.284 38.404 2911
+-69.158 38.404 2900
+-69.032 38.404 3056
+-68.906 38.404 3058
+-68.78 38.404 3124
+-68.654 38.404 3126
+-68.528 38.404 3127
+-68.402 38.404 3129
+-68.276 38.404 3131
+-68.15 38.404 3041
+-68.024 38.404 3062
+-67.898 38.404 3064
+-67.772 38.404 3052
+-67.646 38.404 3352
+-67.52 38.404 3384
+-67.394 38.404 3385
+-67.268 38.404 3379
+-67.142 38.404 3380
+-67.016 38.404 3384
+-66.89 38.404 3402
+-66.764 38.404 3403
+-66.638 38.404 3389
+-66.512 38.404 3390
+-66.386 38.404 3340
+-66.26 38.404 3340
+-66.134 38.404 3341
+-66.008 38.404 3410
+-65.882 38.404 3404
+-65.756 38.404 3414
+-65.63 38.404 3415
+-65.504 38.404 3392
+-65.378 38.404 3415
+-65.252 38.404 3464
+-65.126 38.404 3476
+-128 38.352 2435
+-127.874 38.352 2520
+-127.748 38.352 2616
+-127.622 38.352 2643
+-127.496 38.352 2688
+-127.37 38.352 2685
+-127.244 38.352 2681
+-127.118 38.352 2677
+-126.992 38.352 2642
+-126.866 38.352 2783
+-126.74 38.352 2826
+-126.614 38.352 2783
+-126.488 38.352 2778
+-126.362 38.352 2773
+-126.236 38.352 2767
+-126.11 38.352 2761
+-125.984 38.352 2820
+-125.858 38.352 2812
+-125.732 38.352 2807
+-125.606 38.352 2799
+-125.48 38.352 2790
+-125.354 38.352 2780
+-125.228 38.352 2791
+-125.102 38.352 2798
+-124.976 38.352 2805
+-124.85 38.352 2791
+-124.724 38.352 2777
+-124.598 38.352 2761
+-124.472 38.352 2811
+-124.346 38.352 2863
+-124.22 38.352 2841
+-124.094 38.352 2817
+-123.968 38.352 2838
+-123.842 38.352 2811
+-123.716 38.352 2784
+-123.59 38.352 2731
+-123.464 38.352 2710
+-123.338 38.352 2700
+-123.212 38.352 2695
+-123.086 38.352 2701
+-122.96 38.352 2706
+-122.834 38.352 2722
+-122.708 38.352 2746
+-122.582 38.352 2778
+-122.456 38.352 2813
+-122.33 38.352 2844
+-122.204 38.352 2870
+-122.078 38.352 2875
+-121.952 38.352 2880
+-121.826 38.352 2930
+-121.7 38.352 3016
+-121.574 38.352 3109
+-121.448 38.352 3203
+-121.322 38.352 3287
+-121.196 38.352 3358
+-121.07 38.352 3525
+-120.944 38.352 3578
+-120.818 38.352 3685
+-120.692 38.352 3758
+-120.566 38.352 3874
+-120.44 38.352 3950
+-120.314 38.352 4077
+-120.188 38.352 4087
+-120.062 38.352 4066
+-119.936 38.352 4142
+-119.81 38.352 4319
+-119.684 38.352 4446
+-119.558 38.352 4501
+-119.432 38.352 4518
+-119.306 38.352 4579
+-119.18 38.352 4638
+-119.054 38.352 4715
+-118.928 38.352 4729
+-118.802 38.352 4742
+-118.676 38.352 4764
+-118.55 38.352 4778
+-118.424 38.352 4802
+-118.298 38.352 4862
+-118.172 38.352 4867
+-118.046 38.352 4871
+-117.92 38.352 4914
+-117.794 38.352 4913
+-117.668 38.352 4960
+-117.542 38.352 4977
+-117.416 38.352 4970
+-117.29 38.352 4979
+-117.164 38.352 4939
+-117.038 38.352 4941
+-116.912 38.352 4937
+-116.786 38.352 4903
+-116.66 38.352 4888
+-116.534 38.352 4867
+-116.408 38.352 4854
+-116.282 38.352 4850
+-116.156 38.352 4837
+-116.03 38.352 4806
+-115.904 38.352 4733
+-115.778 38.352 4652
+-115.652 38.352 4610
+-115.526 38.352 4597
+-115.4 38.352 4527
+-115.274 38.352 4467
+-115.148 38.352 4433
+-115.022 38.352 4395
+-114.896 38.352 4335
+-114.77 38.352 4269
+-114.644 38.352 4235
+-114.518 38.352 4150
+-114.392 38.352 4031
+-114.266 38.352 3929
+-114.14 38.352 3847
+-114.014 38.352 3778
+-113.888 38.352 3729
+-113.762 38.352 3673
+-113.636 38.352 3568
+-113.51 38.352 3390
+-113.384 38.352 3268
+-113.258 38.352 3364
+-113.132 38.352 3500
+-113.006 38.352 3600
+-112.88 38.352 3576
+-112.754 38.352 3544
+-112.628 38.352 3526
+-112.502 38.352 3356
+-112.376 38.352 3313
+-112.25 38.352 3262
+-112.124 38.352 3092
+-111.998 38.352 3026
+-111.872 38.352 2955
+-111.746 38.352 2876
+-111.62 38.352 2772
+-111.494 38.352 2679
+-111.368 38.352 2558
+-111.242 38.352 2456
+-111.116 38.352 2389
+-110.99 38.352 2360
+-110.864 38.352 2376
+-110.738 38.352 2416
+-110.612 38.352 2438
+-110.486 38.352 2456
+-110.36 38.352 2464
+-110.234 38.352 2471
+-110.108 38.352 2472
+-109.982 38.352 2475
+-109.856 38.352 2480
+-109.73 38.352 2488
+-109.604 38.352 2500
+-109.478 38.352 2508
+-109.352 38.352 2512
+-109.226 38.352 2513
+-109.1 38.352 2511
+-108.974 38.352 2516
+-108.848 38.352 2507
+-108.722 38.352 2495
+-108.596 38.352 2481
+-108.47 38.352 2456
+-108.344 38.352 2424
+-108.218 38.352 2377
+-108.092 38.352 2336
+-107.966 38.352 2297
+-107.84 38.352 2275
+-107.714 38.352 2264
+-107.588 38.352 2263
+-107.462 38.352 2278
+-107.336 38.352 2312
+-107.21 38.352 2347
+-107.084 38.352 2369
+-106.958 38.352 2407
+-106.832 38.352 2453
+-106.706 38.352 2488
+-106.58 38.352 2543
+-106.454 38.352 2583
+-106.328 38.352 2614
+-106.202 38.352 2694
+-106.076 38.352 2719
+-105.95 38.352 2736
+-105.824 38.352 2792
+-105.698 38.352 2772
+-105.572 38.352 2794
+-105.446 38.352 2792
+-105.32 38.352 2867
+-105.194 38.352 2880
+-105.068 38.352 2896
+-104.942 38.352 2914
+-104.816 38.352 2884
+-104.69 38.352 2980
+-104.564 38.352 2988
+-104.438 38.352 2996
+-104.312 38.352 2991
+-104.186 38.352 3010
+-104.06 38.352 3016
+-103.934 38.352 3023
+-103.808 38.352 2932
+-103.682 38.352 2887
+-103.556 38.352 2918
+-103.43 38.352 2919
+-103.304 38.352 2919
+-103.178 38.352 2919
+-103.052 38.352 2917
+-102.926 38.352 2896
+-102.8 38.352 2777
+-102.674 38.352 2787
+-102.548 38.352 2661
+-102.422 38.352 2659
+-102.296 38.352 2619
+-102.17 38.352 2567
+-102.044 38.352 2558
+-101.918 38.352 2632
+-101.792 38.352 2647
+-101.666 38.352 2713
+-101.54 38.352 2729
+-101.414 38.352 2735
+-101.288 38.352 2766
+-101.162 38.352 2953
+-101.036 38.352 3028
+-100.91 38.352 3031
+-100.784 38.352 3065
+-100.658 38.352 3065
+-100.532 38.352 3066
+-100.406 38.352 3067
+-100.28 38.352 3067
+-100.154 38.352 3068
+-100.028 38.352 3217
+-99.902 38.352 3216
+-99.776 38.352 3215
+-99.65 38.352 3213
+-99.524 38.352 3212
+-99.398 38.352 3210
+-99.272 38.352 3208
+-99.146 38.352 3206
+-99.02 38.352 3204
+-98.894 38.352 3268
+-98.768 38.352 3264
+-98.642 38.352 3259
+-98.516 38.352 3253
+-98.39 38.352 3247
+-98.264 38.352 3239
+-98.138 38.352 3231
+-98.012 38.352 3221
+-97.886 38.352 3265
+-97.76 38.352 3248
+-97.634 38.352 3229
+-97.508 38.352 3209
+-97.382 38.352 3203
+-97.256 38.352 3229
+-97.13 38.352 3231
+-97.004 38.352 3207
+-96.878 38.352 3186
+-96.752 38.352 3143
+-96.626 38.352 3052
+-96.5 38.352 3001
+-96.374 38.352 3139
+-96.248 38.352 3350
+-96.122 38.352 3501
+-95.996 38.352 3619
+-95.87 38.352 3718
+-95.744 38.352 3778
+-95.618 38.352 3863
+-95.492 38.352 3953
+-95.366 38.352 4165
+-95.24 38.352 4215
+-95.114 38.352 4336
+-94.988 38.352 4515
+-94.862 38.352 4650
+-94.736 38.352 4887
+-94.61 38.352 5069
+-94.484 38.352 5133
+-94.358 38.352 5266
+-94.232 38.352 5484
+-94.106 38.352 5648
+-93.98 38.352 5744
+-93.854 38.352 5723
+-93.728 38.352 5876
+-93.602 38.352 5993
+-93.476 38.352 6161
+-93.35 38.352 6242
+-93.224 38.352 6408
+-93.098 38.352 6561
+-92.972 38.352 6732
+-92.846 38.352 6840
+-92.72 38.352 6866
+-92.594 38.352 7038
+-92.468 38.352 7188
+-92.342 38.352 7289
+-92.216 38.352 7461
+-92.09 38.352 7653
+-91.964 38.352 7736
+-91.838 38.352 7826
+-91.712 38.352 7981
+-91.586 38.352 8093
+-91.46 38.352 8276
+-91.334 38.352 8342
+-91.208 38.352 8482
+-91.082 38.352 8593
+-90.956 38.352 8722
+-90.83 38.352 8795
+-90.704 38.352 8864
+-90.578 38.352 8966
+-90.452 38.352 8955
+-90.326 38.352 8957
+-90.2 38.352 8908
+-90.074 38.352 8820
+-89.948 38.352 8721
+-89.822 38.352 8586
+-89.696 38.352 8598
+-89.57 38.352 8736
+-89.444 38.352 8792
+-89.318 38.352 8882
+-89.192 38.352 8965
+-89.066 38.352 9041
+-88.94 38.352 9045
+-88.814 38.352 9059
+-88.688 38.352 9096
+-88.562 38.352 9027
+-88.436 38.352 8963
+-88.31 38.352 8880
+-88.184 38.352 8780
+-88.058 38.352 8679
+-87.932 38.352 8632
+-87.806 38.352 8434
+-87.68 38.352 8358
+-87.554 38.352 8183
+-87.428 38.352 8070
+-87.302 38.352 7951
+-87.176 38.352 7844
+-87.05 38.352 7716
+-86.924 38.352 7611
+-86.798 38.352 7377
+-86.672 38.352 7238
+-86.546 38.352 7085
+-86.42 38.352 7039
+-86.294 38.352 6884
+-86.168 38.352 6769
+-86.042 38.352 6577
+-85.916 38.352 6436
+-85.79 38.352 6307
+-85.664 38.352 6216
+-85.538 38.352 6114
+-85.412 38.352 5980
+-85.286 38.352 5783
+-85.16 38.352 5644
+-85.034 38.352 5445
+-84.908 38.352 5414
+-84.782 38.352 5325
+-84.656 38.352 5247
+-84.53 38.352 5054
+-84.404 38.352 4851
+-84.278 38.352 4698
+-84.152 38.352 4587
+-84.026 38.352 4535
+-83.9 38.352 4471
+-83.774 38.352 4352
+-83.648 38.352 4206
+-83.522 38.352 4076
+-83.396 38.352 3928
+-83.27 38.352 3810
+-83.144 38.352 3725
+-83.018 38.352 3700
+-82.892 38.352 3680
+-82.766 38.352 3666
+-82.64 38.352 3661
+-82.514 38.352 3665
+-82.388 38.352 3669
+-82.262 38.352 3682
+-82.136 38.352 3698
+-82.01 38.352 3683
+-81.884 38.352 3695
+-81.758 38.352 3710
+-81.632 38.352 3682
+-81.506 38.352 3687
+-81.38 38.352 3697
+-81.254 38.352 3691
+-81.128 38.352 3621
+-81.002 38.352 3601
+-80.876 38.352 3607
+-80.75 38.352 3613
+-80.624 38.352 3619
+-80.498 38.352 3624
+-80.372 38.352 3629
+-80.246 38.352 3633
+-80.12 38.352 3637
+-79.994 38.352 3641
+-79.868 38.352 3560
+-79.742 38.352 3563
+-79.616 38.352 3566
+-79.49 38.352 3568
+-79.364 38.352 3570
+-79.238 38.352 3572
+-79.112 38.352 3574
+-78.986 38.352 3576
+-78.86 38.352 3578
+-78.734 38.352 3579
+-78.608 38.352 3581
+-78.482 38.352 3468
+-78.356 38.352 3469
+-78.23 38.352 3450
+-78.104 38.352 3450
+-77.978 38.352 3451
+-77.852 38.352 3397
+-77.726 38.352 3397
+-77.6 38.352 3396
+-77.474 38.352 3396
+-77.348 38.352 3395
+-77.222 38.352 3395
+-77.096 38.352 3394
+-76.97 38.352 3394
+-76.844 38.352 3393
+-76.718 38.352 3393
+-76.592 38.352 3392
+-76.466 38.352 3392
+-76.34 38.352 3391
+-76.214 38.352 3391
+-76.088 38.352 3391
+-75.962 38.352 3390
+-75.836 38.352 3390
+-75.71 38.352 3390
+-75.584 38.352 3389
+-75.458 38.352 3389
+-75.332 38.352 3389
+-75.206 38.352 3388
+-75.08 38.352 3388
+-74.954 38.352 3327
+-74.828 38.352 3320
+-74.702 38.352 3067
+-74.576 38.352 3065
+-74.45 38.352 3064
+-74.324 38.352 3062
+-74.198 38.352 3060
+-74.072 38.352 3059
+-73.946 38.352 3058
+-73.82 38.352 3056
+-73.694 38.352 3055
+-73.568 38.352 3053
+-73.442 38.352 3052
+-73.316 38.352 3051
+-73.19 38.352 3050
+-73.064 38.352 3048
+-72.938 38.352 3047
+-72.812 38.352 3046
+-72.686 38.352 3045
+-72.56 38.352 3044
+-72.434 38.352 2917
+-72.308 38.352 2915
+-72.182 38.352 2884
+-72.056 38.352 2836
+-71.93 38.352 2835
+-71.804 38.352 2833
+-71.678 38.352 2848
+-71.552 38.352 2847
+-71.426 38.352 2857
+-71.3 38.352 2856
+-71.174 38.352 2816
+-71.048 38.352 2774
+-70.922 38.352 2774
+-70.796 38.352 2774
+-70.67 38.352 2773
+-70.544 38.352 2791
+-70.418 38.352 2797
+-70.292 38.352 2807
+-70.166 38.352 2805
+-70.04 38.352 2839
+-69.914 38.352 2851
+-69.788 38.352 2852
+-69.662 38.352 2909
+-69.536 38.352 2932
+-69.41 38.352 2909
+-69.284 38.352 2899
+-69.158 38.352 3054
+-69.032 38.352 3056
+-68.906 38.352 3122
+-68.78 38.352 3124
+-68.654 38.352 3126
+-68.528 38.352 3127
+-68.402 38.352 3129
+-68.276 38.352 3039
+-68.15 38.352 3061
+-68.024 38.352 3063
+-67.898 38.352 3051
+-67.772 38.352 3351
+-67.646 38.352 3383
+-67.52 38.352 3384
+-67.394 38.352 3378
+-67.268 38.352 3379
+-67.142 38.352 3383
+-67.016 38.352 3401
+-66.89 38.352 3401
+-66.764 38.352 3388
+-66.638 38.352 3388
+-66.512 38.352 3339
+-66.386 38.352 3339
+-66.26 38.352 3340
+-66.134 38.352 3409
+-66.008 38.352 3403
+-65.882 38.352 3413
+-65.756 38.352 3414
+-65.63 38.352 3391
+-65.504 38.352 3414
+-65.378 38.352 3463
+-65.252 38.352 3475
+-65.126 38.352 3474
+-128 38.3 2546
+-127.874 38.3 2543
+-127.748 38.3 2625
+-127.622 38.3 2623
+-127.496 38.3 2699
+-127.37 38.3 2696
+-127.244 38.3 2693
+-127.118 38.3 2744
+-126.992 38.3 2739
+-126.866 38.3 2689
+-126.74 38.3 2794
+-126.614 38.3 2837
+-126.488 38.3 2795
+-126.362 38.3 2791
+-126.236 38.3 2848
+-126.11 38.3 2848
+-125.984 38.3 2841
+-125.858 38.3 2898
+-125.732 38.3 2889
+-125.606 38.3 2820
+-125.48 38.3 2812
+-125.354 38.3 2803
+-125.228 38.3 2869
+-125.102 38.3 2879
+-124.976 38.3 2879
+-124.85 38.3 2866
+-124.724 38.3 2808
+-124.598 38.3 2863
+-124.472 38.3 2923
+-124.346 38.3 2905
+-124.22 38.3 2887
+-124.094 38.3 2868
+-123.968 38.3 2848
+-123.842 38.3 2875
+-123.716 38.3 2855
+-123.59 38.3 2835
+-123.464 38.3 2787
+-123.338 38.3 2776
+-123.212 38.3 2778
+-123.086 38.3 2785
+-122.96 38.3 2804
+-122.834 38.3 2819
+-122.708 38.3 2839
+-122.582 38.3 2862
+-122.456 38.3 2881
+-122.33 38.3 2887
+-122.204 38.3 2871
+-122.078 38.3 2837
+-121.952 38.3 2816
+-121.826 38.3 2867
+-121.7 38.3 2979
+-121.574 38.3 3109
+-121.448 38.3 3212
+-121.322 38.3 3304
+-121.196 38.3 3469
+-121.07 38.3 3596
+-120.944 38.3 3716
+-120.818 38.3 3777
+-120.692 38.3 3931
+-120.566 38.3 4000
+-120.44 38.3 4062
+-120.314 38.3 4127
+-120.188 38.3 4151
+-120.062 38.3 4144
+-119.936 38.3 4240
+-119.81 38.3 4391
+-119.684 38.3 4506
+-119.558 38.3 4519
+-119.432 38.3 4464
+-119.306 38.3 4562
+-119.18 38.3 4664
+-119.054 38.3 4744
+-118.928 38.3 4766
+-118.802 38.3 4786
+-118.676 38.3 4809
+-118.55 38.3 4824
+-118.424 38.3 4852
+-118.298 38.3 4875
+-118.172 38.3 4897
+-118.046 38.3 4927
+-117.92 38.3 4978
+-117.794 38.3 4975
+-117.668 38.3 5007
+-117.542 38.3 4992
+-117.416 38.3 5011
+-117.29 38.3 5012
+-117.164 38.3 5001
+-117.038 38.3 5007
+-116.912 38.3 4996
+-116.786 38.3 4947
+-116.66 38.3 4924
+-116.534 38.3 4921
+-116.408 38.3 4915
+-116.282 38.3 4904
+-116.156 38.3 4875
+-116.03 38.3 4841
+-115.904 38.3 4780
+-115.778 38.3 4716
+-115.652 38.3 4672
+-115.526 38.3 4647
+-115.4 38.3 4594
+-115.274 38.3 4497
+-115.148 38.3 4454
+-115.022 38.3 4363
+-114.896 38.3 4331
+-114.77 38.3 4216
+-114.644 38.3 4249
+-114.518 38.3 4188
+-114.392 38.3 4079
+-114.266 38.3 3991
+-114.14 38.3 3929
+-114.014 38.3 3865
+-113.888 38.3 3794
+-113.762 38.3 3705
+-113.636 38.3 3594
+-113.51 38.3 3472
+-113.384 38.3 3389
+-113.258 38.3 3442
+-113.132 38.3 3540
+-113.006 38.3 3601
+-112.88 38.3 3597
+-112.754 38.3 3509
+-112.628 38.3 3479
+-112.502 38.3 3413
+-112.376 38.3 3310
+-112.25 38.3 3220
+-112.124 38.3 3089
+-111.998 38.3 3026
+-111.872 38.3 2954
+-111.746 38.3 2873
+-111.62 38.3 2765
+-111.494 38.3 2662
+-111.368 38.3 2516
+-111.242 38.3 2408
+-111.116 38.3 2317
+-110.99 38.3 2278
+-110.864 38.3 2314
+-110.738 38.3 2387
+-110.612 38.3 2435
+-110.486 38.3 2469
+-110.36 38.3 2490
+-110.234 38.3 2500
+-110.108 38.3 2509
+-109.982 38.3 2516
+-109.856 38.3 2522
+-109.73 38.3 2531
+-109.604 38.3 2535
+-109.478 38.3 2536
+-109.352 38.3 2534
+-109.226 38.3 2528
+-109.1 38.3 2529
+-108.974 38.3 2519
+-108.848 38.3 2507
+-108.722 38.3 2495
+-108.596 38.3 2474
+-108.47 38.3 2444
+-108.344 38.3 2417
+-108.218 38.3 2346
+-108.092 38.3 2290
+-107.966 38.3 2244
+-107.84 38.3 2206
+-107.714 38.3 2185
+-107.588 38.3 2187
+-107.462 38.3 2215
+-107.336 38.3 2253
+-107.21 38.3 2287
+-107.084 38.3 2335
+-106.958 38.3 2390
+-106.832 38.3 2435
+-106.706 38.3 2496
+-106.58 38.3 2543
+-106.454 38.3 2580
+-106.328 38.3 2662
+-106.202 38.3 2691
+-106.076 38.3 2713
+-105.95 38.3 2771
+-105.824 38.3 2755
+-105.698 38.3 2779
+-105.572 38.3 2779
+-105.446 38.3 2855
+-105.32 38.3 2868
+-105.194 38.3 2886
+-105.068 38.3 2904
+-104.942 38.3 2877
+-104.816 38.3 2971
+-104.69 38.3 2979
+-104.564 38.3 2987
+-104.438 38.3 2983
+-104.312 38.3 3002
+-104.186 38.3 3009
+-104.06 38.3 3016
+-103.934 38.3 2980
+-103.808 38.3 2999
+-103.682 38.3 2921
+-103.556 38.3 2923
+-103.43 38.3 2924
+-103.304 38.3 2924
+-103.178 38.3 2922
+-103.052 38.3 2902
+-102.926 38.3 2984
+-102.8 38.3 2983
+-102.674 38.3 2780
+-102.548 38.3 2669
+-102.422 38.3 2667
+-102.296 38.3 2626
+-102.17 38.3 2603
+-102.044 38.3 2563
+-101.918 38.3 2638
+-101.792 38.3 2651
+-101.666 38.3 2716
+-101.54 38.3 2723
+-101.414 38.3 2762
+-101.288 38.3 2946
+-101.162 38.3 3026
+-101.036 38.3 3029
+-100.91 38.3 3033
+-100.784 38.3 3067
+-100.658 38.3 3068
+-100.532 38.3 3069
+-100.406 38.3 3070
+-100.28 38.3 3070
+-100.154 38.3 3221
+-100.028 38.3 3220
+-99.902 38.3 3219
+-99.776 38.3 3218
+-99.65 38.3 3217
+-99.524 38.3 3216
+-99.398 38.3 3214
+-99.272 38.3 3213
+-99.146 38.3 3211
+-99.02 38.3 3276
+-98.894 38.3 3273
+-98.768 38.3 3269
+-98.642 38.3 3264
+-98.516 38.3 3260
+-98.39 38.3 3254
+-98.264 38.3 3248
+-98.138 38.3 3241
+-98.012 38.3 3267
+-97.886 38.3 3256
+-97.76 38.3 3265
+-97.634 38.3 3251
+-97.508 38.3 3237
+-97.382 38.3 3238
+-97.256 38.3 3273
+-97.13 38.3 3259
+-97.004 38.3 3266
+-96.878 38.3 3268
+-96.752 38.3 3235
+-96.626 38.3 3200
+-96.5 38.3 3203
+-96.374 38.3 3288
+-96.248 38.3 3405
+-96.122 38.3 3519
+-95.996 38.3 3660
+-95.87 38.3 3759
+-95.744 38.3 3828
+-95.618 38.3 3889
+-95.492 38.3 3990
+-95.366 38.3 4176
+-95.24 38.3 4275
+-95.114 38.3 4437
+-94.988 38.3 4495
+-94.862 38.3 4609
+-94.736 38.3 4845
+-94.61 38.3 5040
+-94.484 38.3 5074
+-94.358 38.3 5205
+-94.232 38.3 5404
+-94.106 38.3 5573
+-93.98 38.3 5687
+-93.854 38.3 5791
+-93.728 38.3 5834
+-93.602 38.3 5979
+-93.476 38.3 6130
+-93.35 38.3 6287
+-93.224 38.3 6441
+-93.098 38.3 6509
+-92.972 38.3 6682
+-92.846 38.3 6742
+-92.72 38.3 6962
+-92.594 38.3 7036
+-92.468 38.3 7148
+-92.342 38.3 7311
+-92.216 38.3 7443
+-92.09 38.3 7647
+-91.964 38.3 7689
+-91.838 38.3 7892
+-91.712 38.3 7953
+-91.586 38.3 8078
+-91.46 38.3 8243
+-91.334 38.3 8335
+-91.208 38.3 8451
+-91.082 38.3 8585
+-90.956 38.3 8666
+-90.83 38.3 8759
+-90.704 38.3 8835
+-90.578 38.3 8876
+-90.452 38.3 8909
+-90.326 38.3 8907
+-90.2 38.3 8868
+-90.074 38.3 8761
+-89.948 38.3 8694
+-89.822 38.3 8536
+-89.696 38.3 8450
+-89.57 38.3 8693
+-89.444 38.3 8861
+-89.318 38.3 8983
+-89.192 38.3 9040
+-89.066 38.3 9123
+-88.94 38.3 9090
+-88.814 38.3 9118
+-88.688 38.3 9113
+-88.562 38.3 9053
+-88.436 38.3 8957
+-88.31 38.3 8929
+-88.184 38.3 8801
+-88.058 38.3 8736
+-87.932 38.3 8540
+-87.806 38.3 8517
+-87.68 38.3 8394
+-87.554 38.3 8238
+-87.428 38.3 8125
+-87.302 38.3 7955
+-87.176 38.3 7836
+-87.05 38.3 7707
+-86.924 38.3 7555
+-86.798 38.3 7392
+-86.672 38.3 7273
+-86.546 38.3 7201
+-86.42 38.3 7050
+-86.294 38.3 6891
+-86.168 38.3 6768
+-86.042 38.3 6601
+-85.916 38.3 6506
+-85.79 38.3 6338
+-85.664 38.3 6215
+-85.538 38.3 6090
+-85.412 38.3 6012
+-85.286 38.3 5824
+-85.16 38.3 5650
+-85.034 38.3 5524
+-84.908 38.3 5442
+-84.782 38.3 5343
+-84.656 38.3 5226
+-84.53 38.3 5066
+-84.404 38.3 4836
+-84.278 38.3 4616
+-84.152 38.3 4483
+-84.026 38.3 4526
+-83.9 38.3 4495
+-83.774 38.3 4350
+-83.648 38.3 4253
+-83.522 38.3 4112
+-83.396 38.3 3985
+-83.27 38.3 3827
+-83.144 38.3 3723
+-83.018 38.3 3641
+-82.892 38.3 3595
+-82.766 38.3 3581
+-82.64 38.3 3583
+-82.514 38.3 3596
+-82.388 38.3 3615
+-82.262 38.3 3632
+-82.136 38.3 3655
+-82.01 38.3 3645
+-81.884 38.3 3666
+-81.758 38.3 3645
+-81.632 38.3 3654
+-81.506 38.3 3668
+-81.38 38.3 3666
+-81.254 38.3 3598
+-81.128 38.3 3609
+-81.002 38.3 3618
+-80.876 38.3 3603
+-80.75 38.3 3610
+-80.624 38.3 3616
+-80.498 38.3 3622
+-80.372 38.3 3628
+-80.246 38.3 3633
+-80.12 38.3 3638
+-79.994 38.3 3553
+-79.868 38.3 3556
+-79.742 38.3 3559
+-79.616 38.3 3562
+-79.49 38.3 3565
+-79.364 38.3 3567
+-79.238 38.3 3569
+-79.112 38.3 3571
+-78.986 38.3 3573
+-78.86 38.3 3575
+-78.734 38.3 3577
+-78.608 38.3 3466
+-78.482 38.3 3468
+-78.356 38.3 3448
+-78.23 38.3 3449
+-78.104 38.3 3450
+-77.978 38.3 3396
+-77.852 38.3 3395
+-77.726 38.3 3395
+-77.6 38.3 3394
+-77.474 38.3 3394
+-77.348 38.3 3393
+-77.222 38.3 3393
+-77.096 38.3 3392
+-76.97 38.3 3392
+-76.844 38.3 3391
+-76.718 38.3 3391
+-76.592 38.3 3391
+-76.466 38.3 3390
+-76.34 38.3 3390
+-76.214 38.3 3389
+-76.088 38.3 3389
+-75.962 38.3 3389
+-75.836 38.3 3388
+-75.71 38.3 3388
+-75.584 38.3 3388
+-75.458 38.3 3388
+-75.332 38.3 3387
+-75.206 38.3 3387
+-75.08 38.3 3325
+-74.954 38.3 3324
+-74.828 38.3 3066
+-74.702 38.3 3065
+-74.576 38.3 3063
+-74.45 38.3 3061
+-74.324 38.3 3060
+-74.198 38.3 3058
+-74.072 38.3 3057
+-73.946 38.3 3055
+-73.82 38.3 3054
+-73.694 38.3 3053
+-73.568 38.3 3051
+-73.442 38.3 3050
+-73.316 38.3 3049
+-73.19 38.3 3047
+-73.064 38.3 3046
+-72.938 38.3 3045
+-72.812 38.3 3044
+-72.686 38.3 3043
+-72.56 38.3 2915
+-72.434 38.3 2914
+-72.308 38.3 2883
+-72.182 38.3 2835
+-72.056 38.3 2833
+-71.93 38.3 2832
+-71.804 38.3 2846
+-71.678 38.3 2845
+-71.552 38.3 2856
+-71.426 38.3 2855
+-71.3 38.3 2815
+-71.174 38.3 2773
+-71.048 38.3 2773
+-70.922 38.3 2772
+-70.796 38.3 2772
+-70.67 38.3 2789
+-70.544 38.3 2796
+-70.418 38.3 2805
+-70.292 38.3 2804
+-70.166 38.3 2837
+-70.04 38.3 2849
+-69.914 38.3 2850
+-69.788 38.3 2907
+-69.662 38.3 2930
+-69.536 38.3 2908
+-69.41 38.3 2898
+-69.284 38.3 3053
+-69.158 38.3 3055
+-69.032 38.3 3120
+-68.906 38.3 3122
+-68.78 38.3 3124
+-68.654 38.3 3125
+-68.528 38.3 3127
+-68.402 38.3 3038
+-68.276 38.3 3060
+-68.15 38.3 3061
+-68.024 38.3 3050
+-67.898 38.3 3349
+-67.772 38.3 3382
+-67.646 38.3 3382
+-67.52 38.3 3377
+-67.394 38.3 3378
+-67.268 38.3 3382
+-67.142 38.3 3399
+-67.016 38.3 3400
+-66.89 38.3 3386
+-66.764 38.3 3387
+-66.638 38.3 3338
+-66.512 38.3 3338
+-66.386 38.3 3339
+-66.26 38.3 3408
+-66.134 38.3 3402
+-66.008 38.3 3412
+-65.882 38.3 3413
+-65.756 38.3 3390
+-65.63 38.3 3413
+-65.504 38.3 3462
+-65.378 38.3 3474
+-65.252 38.3 3473
+-65.126 38.3 3471
+-128 38.248 2535
+-127.874 38.248 2635
+-127.748 38.248 2634
+-127.622 38.248 2632
+-127.496 38.248 2630
+-127.37 38.248 2708
+-127.244 38.248 2762
+-127.118 38.248 2758
+-126.992 38.248 2754
+-126.866 38.248 2750
+-126.74 38.248 2699
+-126.614 38.248 2806
+-126.488 38.248 2849
+-126.362 38.248 2856
+-126.236 38.248 2867
+-126.11 38.248 2869
+-125.984 38.248 2929
+-125.858 38.248 2921
+-125.732 38.248 2913
+-125.606 38.248 2904
+-125.48 38.248 2834
+-125.354 38.248 2905
+-125.228 38.248 2894
+-125.102 38.248 2883
+-124.976 38.248 2895
+-124.85 38.248 2897
+-124.724 38.248 2909
+-124.598 38.248 2895
+-124.472 38.248 2961
+-124.346 38.248 2947
+-124.22 38.248 2932
+-124.094 38.248 2917
+-123.968 38.248 2903
+-123.842 38.248 2889
+-123.716 38.248 2924
+-123.59 38.248 2910
+-123.464 38.248 2899
+-123.338 38.248 2855
+-123.212 38.248 2853
+-123.086 38.248 2864
+-122.96 38.248 2880
+-122.834 38.248 2905
+-122.708 38.248 2922
+-122.582 38.248 2933
+-122.456 38.248 2938
+-122.33 38.248 2924
+-122.204 38.248 2880
+-122.078 38.248 2813
+-121.952 38.248 2772
+-121.826 38.248 2831
+-121.7 38.248 2977
+-121.574 38.248 3134
+-121.448 38.248 3314
+-121.322 38.248 3423
+-121.196 38.248 3638
+-121.07 38.248 3736
+-120.944 38.248 3836
+-120.818 38.248 3926
+-120.692 38.248 3989
+-120.566 38.248 4092
+-120.44 38.248 4166
+-120.314 38.248 4233
+-120.188 38.248 4246
+-120.062 38.248 4278
+-119.936 38.248 4342
+-119.81 38.248 4450
+-119.684 38.248 4553
+-119.558 38.248 4575
+-119.432 38.248 4578
+-119.306 38.248 4629
+-119.18 38.248 4709
+-119.054 38.248 4761
+-118.928 38.248 4790
+-118.802 38.248 4833
+-118.676 38.248 4857
+-118.55 38.248 4906
+-118.424 38.248 4924
+-118.298 38.248 4932
+-118.172 38.248 4967
+-118.046 38.248 4965
+-117.92 38.248 4989
+-117.794 38.248 5027
+-117.668 38.248 5019
+-117.542 38.248 5042
+-117.416 38.248 5072
+-117.29 38.248 5065
+-117.164 38.248 5061
+-117.038 38.248 5072
+-116.912 38.248 5061
+-116.786 38.248 5024
+-116.66 38.248 4981
+-116.534 38.248 4990
+-116.408 38.248 4926
+-116.282 38.248 4946
+-116.156 38.248 4921
+-116.03 38.248 4883
+-115.904 38.248 4820
+-115.778 38.248 4771
+-115.652 38.248 4737
+-115.526 38.248 4673
+-115.4 38.248 4651
+-115.274 38.248 4530
+-115.148 38.248 4460
+-115.022 38.248 4423
+-114.896 38.248 4357
+-114.77 38.248 4301
+-114.644 38.248 4284
+-114.518 38.248 4213
+-114.392 38.248 4073
+-114.266 38.248 4004
+-114.14 38.248 3981
+-114.014 38.248 3933
+-113.888 38.248 3846
+-113.762 38.248 3722
+-113.636 38.248 3600
+-113.51 38.248 3528
+-113.384 38.248 3526
+-113.258 38.248 3553
+-113.132 38.248 3609
+-113.006 38.248 3631
+-112.88 38.248 3576
+-112.754 38.248 3505
+-112.628 38.248 3482
+-112.502 38.248 3409
+-112.376 38.248 3267
+-112.25 38.248 3213
+-112.124 38.248 3092
+-111.998 38.248 3028
+-111.872 38.248 2957
+-111.746 38.248 2854
+-111.62 38.248 2768
+-111.494 38.248 2657
+-111.368 38.248 2515
+-111.242 38.248 2395
+-111.116 38.248 2284
+-110.99 38.248 2234
+-110.864 38.248 2284
+-110.738 38.248 2383
+-110.612 38.248 2444
+-110.486 38.248 2481
+-110.36 38.248 2500
+-110.234 38.248 2517
+-110.108 38.248 2532
+-109.982 38.248 2544
+-109.856 38.248 2556
+-109.73 38.248 2561
+-109.604 38.248 2562
+-109.478 38.248 2558
+-109.352 38.248 2549
+-109.226 38.248 2549
+-109.1 38.248 2532
+-108.974 38.248 2517
+-108.848 38.248 2505
+-108.722 38.248 2488
+-108.596 38.248 2466
+-108.47 38.248 2443
+-108.344 38.248 2398
+-108.218 38.248 2315
+-108.092 38.248 2247
+-107.966 38.248 2178
+-107.84 38.248 2121
+-107.714 38.248 2095
+-107.588 38.248 2105
+-107.462 38.248 2141
+-107.336 38.248 2185
+-107.21 38.248 2244
+-107.084 38.248 2311
+-106.958 38.248 2368
+-106.832 38.248 2437
+-106.706 38.248 2494
+-106.58 38.248 2540
+-106.454 38.248 2625
+-106.328 38.248 2660
+-106.202 38.248 2687
+-106.076 38.248 2747
+-105.95 38.248 2736
+-105.824 38.248 2763
+-105.698 38.248 2766
+-105.572 38.248 2841
+-105.446 38.248 2856
+-105.32 38.248 2875
+-105.194 38.248 2894
+-105.068 38.248 2869
+-104.942 38.248 2961
+-104.816 38.248 2970
+-104.69 38.248 2979
+-104.564 38.248 2975
+-104.438 38.248 2995
+-104.312 38.248 3002
+-104.186 38.248 3009
+-104.06 38.248 2974
+-103.934 38.248 2993
+-103.808 38.248 3030
+-103.682 38.248 3036
+-103.556 38.248 3038
+-103.43 38.248 3044
+-103.304 38.248 3049
+-103.178 38.248 2908
+-103.052 38.248 2989
+-102.926 38.248 2989
+-102.8 38.248 2988
+-102.674 38.248 2787
+-102.548 38.248 2788
+-102.422 38.248 2665
+-102.296 38.248 2629
+-102.17 38.248 2642
+-102.044 38.248 2606
+-101.918 38.248 2643
+-101.792 38.248 2654
+-101.666 38.248 2714
+-101.54 38.248 2836
+-101.414 38.248 2841
+-101.288 38.248 2868
+-101.162 38.248 3026
+-101.036 38.248 3030
+-100.91 38.248 3034
+-100.784 38.248 3069
+-100.658 38.248 3070
+-100.532 38.248 3071
+-100.406 38.248 3072
+-100.28 38.248 3225
+-100.154 38.248 3224
+-100.028 38.248 3223
+-99.902 38.248 3222
+-99.776 38.248 3222
+-99.65 38.248 3221
+-99.524 38.248 3220
+-99.398 38.248 3218
+-99.272 38.248 3217
+-99.146 38.248 3283
+-99.02 38.248 3280
+-98.894 38.248 3277
+-98.768 38.248 3274
+-98.642 38.248 3270
+-98.516 38.248 3266
+-98.39 38.248 3262
+-98.264 38.248 3257
+-98.138 38.248 3285
+-98.012 38.248 3278
+-97.886 38.248 3269
+-97.76 38.248 3261
+-97.634 38.248 3252
+-97.508 38.248 3263
+-97.382 38.248 3325
+-97.256 38.248 3314
+-97.13 38.248 3305
+-97.004 38.248 3295
+-96.878 38.248 3307
+-96.752 38.248 3319
+-96.626 38.248 3310
+-96.5 38.248 3318
+-96.374 38.248 3351
+-96.248 38.248 3406
+-96.122 38.248 3505
+-95.996 38.248 3647
+-95.87 38.248 3764
+-95.744 38.248 3885
+-95.618 38.248 3949
+-95.492 38.248 4044
+-95.366 38.248 4204
+-95.24 38.248 4335
+-95.114 38.248 4461
+-94.988 38.248 4544
+-94.862 38.248 4664
+-94.736 38.248 4842
+-94.61 38.248 4988
+-94.484 38.248 5073
+-94.358 38.248 5194
+-94.232 38.248 5360
+-94.106 38.248 5534
+-93.98 38.248 5608
+-93.854 38.248 5703
+-93.728 38.248 5879
+-93.602 38.248 6029
+-93.476 38.248 6129
+-93.35 38.248 6273
+-93.224 38.248 6334
+-93.098 38.248 6516
+-92.972 38.248 6680
+-92.846 38.248 6817
+-92.72 38.248 6951
+-92.594 38.248 7043
+-92.468 38.248 7169
+-92.342 38.248 7298
+-92.216 38.248 7457
+-92.09 38.248 7534
+-91.964 38.248 7695
+-91.838 38.248 7853
+-91.712 38.248 7917
+-91.586 38.248 8053
+-91.46 38.248 8245
+-91.334 38.248 8301
+-91.208 38.248 8404
+-91.082 38.248 8532
+-90.956 38.248 8644
+-90.83 38.248 8709
+-90.704 38.248 8788
+-90.578 38.248 8832
+-90.452 38.248 8841
+-90.326 38.248 8833
+-90.2 38.248 8808
+-90.074 38.248 8718
+-89.948 38.248 8611
+-89.822 38.248 8563
+-89.696 38.248 8449
+-89.57 38.248 8738
+-89.444 38.248 8861
+-89.318 38.248 9000
+-89.192 38.248 9071
+-89.066 38.248 9138
+-88.94 38.248 9166
+-88.814 38.248 9193
+-88.688 38.248 9150
+-88.562 38.248 9116
+-88.436 38.248 9023
+-88.31 38.248 8946
+-88.184 38.248 8867
+-88.058 38.248 8766
+-87.932 38.248 8660
+-87.806 38.248 8449
+-87.68 38.248 8395
+-87.554 38.248 8235
+-87.428 38.248 8171
+-87.302 38.248 8001
+-87.176 38.248 7872
+-87.05 38.248 7678
+-86.924 38.248 7617
+-86.798 38.248 7496
+-86.672 38.248 7338
+-86.546 38.248 7222
+-86.42 38.248 6994
+-86.294 38.248 6860
+-86.168 38.248 6823
+-86.042 38.248 6595
+-85.916 38.248 6501
+-85.79 38.248 6346
+-85.664 38.248 6188
+-85.538 38.248 6030
+-85.412 38.248 5982
+-85.286 38.248 5848
+-85.16 38.248 5645
+-85.034 38.248 5576
+-84.908 38.248 5308
+-84.782 38.248 5330
+-84.656 38.248 5236
+-84.53 38.248 5054
+-84.404 38.248 4857
+-84.278 38.248 4632
+-84.152 38.248 4511
+-84.026 38.248 4536
+-83.9 38.248 4464
+-83.774 38.248 4350
+-83.648 38.248 4249
+-83.522 38.248 4114
+-83.396 38.248 3944
+-83.27 38.248 3784
+-83.144 38.248 3631
+-83.018 38.248 3531
+-82.892 38.248 3482
+-82.766 38.248 3477
+-82.64 38.248 3493
+-82.514 38.248 3519
+-82.388 38.248 3551
+-82.262 38.248 3585
+-82.136 38.248 3582
+-82.01 38.248 3611
+-81.884 38.248 3637
+-81.758 38.248 3615
+-81.632 38.248 3635
+-81.506 38.248 3637
+-81.38 38.248 3652
+-81.254 38.248 3586
+-81.128 38.248 3597
+-81.002 38.248 3608
+-80.876 38.248 3618
+-80.75 38.248 3603
+-80.624 38.248 3611
+-80.498 38.248 3617
+-80.372 38.248 3623
+-80.246 38.248 3629
+-80.12 38.248 3545
+-79.994 38.248 3549
+-79.868 38.248 3552
+-79.742 38.248 3556
+-79.616 38.248 3559
+-79.49 38.248 3561
+-79.364 38.248 3564
+-79.238 38.248 3567
+-79.112 38.248 3569
+-78.986 38.248 3571
+-78.86 38.248 3573
+-78.734 38.248 3575
+-78.608 38.248 3576
+-78.482 38.248 3461
+-78.356 38.248 3462
+-78.23 38.248 3463
+-78.104 38.248 3394
+-77.978 38.248 3394
+-77.852 38.248 3393
+-77.726 38.248 3393
+-77.6 38.248 3392
+-77.474 38.248 3392
+-77.348 38.248 3392
+-77.222 38.248 3391
+-77.096 38.248 3391
+-76.97 38.248 3390
+-76.844 38.248 3390
+-76.718 38.248 3389
+-76.592 38.248 3389
+-76.466 38.248 3389
+-76.34 38.248 3388
+-76.214 38.248 3388
+-76.088 38.248 3388
+-75.962 38.248 3387
+-75.836 38.248 3387
+-75.71 38.248 3387
+-75.584 38.248 3386
+-75.458 38.248 3386
+-75.332 38.248 3386
+-75.206 38.248 3324
+-75.08 38.248 3323
+-74.954 38.248 3066
+-74.828 38.248 3064
+-74.702 38.248 3062
+-74.576 38.248 3061
+-74.45 38.248 3059
+-74.324 38.248 3057
+-74.198 38.248 3056
+-74.072 38.248 3054
+-73.946 38.248 3053
+-73.82 38.248 3052
+-73.694 38.248 3050
+-73.568 38.248 3049
+-73.442 38.248 3048
+-73.316 38.248 3046
+-73.19 38.248 3045
+-73.064 38.248 3044
+-72.938 38.248 3043
+-72.812 38.248 3042
+-72.686 38.248 2914
+-72.56 38.248 2913
+-72.434 38.248 2882
+-72.308 38.248 2833
+-72.182 38.248 2832
+-72.056 38.248 2831
+-71.93 38.248 2845
+-71.804 38.248 2844
+-71.678 38.248 2854
+-71.552 38.248 2853
+-71.426 38.248 2813
+-71.3 38.248 2772
+-71.174 38.248 2771
+-71.048 38.248 2771
+-70.922 38.248 2771
+-70.796 38.248 2788
+-70.67 38.248 2794
+-70.544 38.248 2804
+-70.418 38.248 2802
+-70.292 38.248 2836
+-70.166 38.248 2848
+-70.04 38.248 2849
+-69.914 38.248 2906
+-69.788 38.248 2929
+-69.662 38.248 2906
+-69.536 38.248 2896
+-69.41 38.248 3051
+-69.284 38.248 3053
+-69.158 38.248 3118
+-69.032 38.248 3120
+-68.906 38.248 3122
+-68.78 38.248 3124
+-68.654 38.248 3125
+-68.528 38.248 3037
+-68.402 38.248 3058
+-68.276 38.248 3060
+-68.15 38.248 3048
+-68.024 38.248 3348
+-67.898 38.248 3380
+-67.772 38.248 3381
+-67.646 38.248 3376
+-67.52 38.248 3377
+-67.394 38.248 3381
+-67.268 38.248 3398
+-67.142 38.248 3399
+-67.016 38.248 3385
+-66.89 38.248 3386
+-66.764 38.248 3336
+-66.638 38.248 3337
+-66.512 38.248 3338
+-66.386 38.248 3407
+-66.26 38.248 3401
+-66.134 38.248 3411
+-66.008 38.248 3412
+-65.882 38.248 3389
+-65.756 38.248 3412
+-65.63 38.248 3461
+-65.504 38.248 3473
+-65.378 38.248 3472
+-65.252 38.248 3470
+-65.126 38.248 3526
+-128 38.196 2564
+-127.874 38.196 2570
+-127.748 38.196 2691
+-127.622 38.196 2641
+-127.496 38.196 2640
+-127.37 38.196 2669
+-127.244 38.196 2775
+-127.118 38.196 2772
+-126.992 38.196 2768
+-126.866 38.196 2765
+-126.74 38.196 2712
+-126.614 38.196 2774
+-126.488 38.196 2888
+-126.362 38.196 2911
+-126.236 38.196 2936
+-126.11 38.196 2937
+-125.984 38.196 2951
+-125.858 38.196 2944
+-125.732 38.196 2937
+-125.606 38.196 2863
+-125.48 38.196 2937
+-125.354 38.196 2929
+-125.228 38.196 2920
+-125.102 38.196 2911
+-124.976 38.196 2982
+-124.85 38.196 2981
+-124.724 38.196 2941
+-124.598 38.196 2930
+-124.472 38.196 2919
+-124.346 38.196 2988
+-124.22 38.196 2977
+-124.094 38.196 2966
+-123.968 38.196 2956
+-123.842 38.196 2946
+-123.716 38.196 2938
+-123.59 38.196 2982
+-123.464 38.196 2975
+-123.338 38.196 2971
+-123.212 38.196 2930
+-123.086 38.196 2935
+-122.96 38.196 2952
+-122.834 38.196 2998
+-122.708 38.196 2996
+-122.582 38.196 3004
+-122.456 38.196 2996
+-122.33 38.196 2974
+-122.204 38.196 2925
+-122.078 38.196 2860
+-121.952 38.196 2832
+-121.826 38.196 2909
+-121.7 38.196 3069
+-121.574 38.196 3269
+-121.448 38.196 3435
+-121.322 38.196 3546
+-121.196 38.196 3702
+-121.07 38.196 3846
+-120.944 38.196 3970
+-120.818 38.196 4030
+-120.692 38.196 4086
+-120.566 38.196 4173
+-120.44 38.196 4258
+-120.314 38.196 4281
+-120.188 38.196 4326
+-120.062 38.196 4330
+-119.936 38.196 4386
+-119.81 38.196 4509
+-119.684 38.196 4578
+-119.558 38.196 4616
+-119.432 38.196 4608
+-119.306 38.196 4674
+-119.18 38.196 4746
+-119.054 38.196 4735
+-118.928 38.196 4821
+-118.802 38.196 4907
+-118.676 38.196 4971
+-118.55 38.196 4997
+-118.424 38.196 4994
+-118.298 38.196 5003
+-118.172 38.196 4997
+-118.046 38.196 5015
+-117.92 38.196 5034
+-117.794 38.196 5043
+-117.668 38.196 5067
+-117.542 38.196 5103
+-117.416 38.196 5127
+-117.29 38.196 5114
+-117.164 38.196 5123
+-117.038 38.196 5103
+-116.912 38.196 5126
+-116.786 38.196 5084
+-116.66 38.196 5027
+-116.534 38.196 4998
+-116.408 38.196 4975
+-116.282 38.196 4983
+-116.156 38.196 4973
+-116.03 38.196 4938
+-115.904 38.196 4870
+-115.778 38.196 4817
+-115.652 38.196 4821
+-115.526 38.196 4762
+-115.4 38.196 4702
+-115.274 38.196 4604
+-115.148 38.196 4514
+-115.022 38.196 4469
+-114.896 38.196 4388
+-114.77 38.196 4312
+-114.644 38.196 4321
+-114.518 38.196 4233
+-114.392 38.196 4058
+-114.266 38.196 3966
+-114.14 38.196 3992
+-114.014 38.196 3965
+-113.888 38.196 3898
+-113.762 38.196 3760
+-113.636 38.196 3582
+-113.51 38.196 3479
+-113.384 38.196 3546
+-113.258 38.196 3616
+-113.132 38.196 3648
+-113.006 38.196 3615
+-112.88 38.196 3617
+-112.754 38.196 3517
+-112.628 38.196 3450
+-112.502 38.196 3370
+-112.376 38.196 3261
+-112.25 38.196 3207
+-112.124 38.196 3094
+-111.998 38.196 3031
+-111.872 38.196 2953
+-111.746 38.196 2866
+-111.62 38.196 2773
+-111.494 38.196 2668
+-111.368 38.196 2550
+-111.242 38.196 2439
+-111.116 38.196 2337
+-110.99 38.196 2290
+-110.864 38.196 2337
+-110.738 38.196 2423
+-110.612 38.196 2465
+-110.486 38.196 2482
+-110.36 38.196 2498
+-110.234 38.196 2521
+-110.108 38.196 2545
+-109.982 38.196 2567
+-109.856 38.196 2580
+-109.73 38.196 2586
+-109.604 38.196 2584
+-109.478 38.196 2575
+-109.352 38.196 2571
+-109.226 38.196 2551
+-109.1 38.196 2527
+-108.974 38.196 2510
+-108.848 38.196 2493
+-108.722 38.196 2478
+-108.596 38.196 2467
+-108.47 38.196 2437
+-108.344 38.196 2384
+-108.218 38.196 2296
+-108.092 38.196 2203
+-107.966 38.196 2106
+-107.84 38.196 2032
+-107.714 38.196 2003
+-107.588 38.196 2019
+-107.462 38.196 2066
+-107.336 38.196 2134
+-107.21 38.196 2214
+-107.084 38.196 2286
+-106.958 38.196 2367
+-106.832 38.196 2435
+-106.706 38.196 2492
+-106.58 38.196 2582
+-106.454 38.196 2625
+-106.328 38.196 2659
+-106.202 38.196 2721
+-106.076 38.196 2716
+-105.95 38.196 2745
+-105.824 38.196 2753
+-105.698 38.196 2827
+-105.572 38.196 2844
+-105.446 38.196 2864
+-105.32 38.196 2884
+-105.194 38.196 2861
+-105.068 38.196 2951
+-104.942 38.196 2961
+-104.816 38.196 2970
+-104.69 38.196 2968
+-104.564 38.196 2987
+-104.438 38.196 2994
+-104.312 38.196 3001
+-104.186 38.196 2968
+-104.06 38.196 2987
+-103.934 38.196 3023
+-103.808 38.196 3030
+-103.682 38.196 3032
+-103.556 38.196 3038
+-103.43 38.196 3044
+-103.304 38.196 3028
+-103.178 38.196 3118
+-103.052 38.196 3123
+-102.926 38.196 2955
+-102.8 38.196 2954
+-102.674 38.196 2822
+-102.548 38.196 2706
+-102.422 38.196 2811
+-102.296 38.196 2615
+-102.17 38.196 2597
+-102.044 38.196 2752
+-101.918 38.196 2780
+-101.792 38.196 2780
+-101.666 38.196 2824
+-101.54 38.196 2836
+-101.414 38.196 2841
+-101.288 38.196 2867
+-101.162 38.196 2873
+-101.036 38.196 3031
+-100.91 38.196 3035
+-100.784 38.196 3071
+-100.658 38.196 3072
+-100.532 38.196 3074
+-100.406 38.196 3167
+-100.28 38.196 3228
+-100.154 38.196 3227
+-100.028 38.196 3226
+-99.902 38.196 3226
+-99.776 38.196 3225
+-99.65 38.196 3224
+-99.524 38.196 3223
+-99.398 38.196 3222
+-99.272 38.196 3288
+-99.146 38.196 3286
+-99.02 38.196 3284
+-98.894 38.196 3281
+-98.768 38.196 3279
+-98.642 38.196 3276
+-98.516 38.196 3273
+-98.39 38.196 3269
+-98.264 38.196 3299
+-98.138 38.196 3294
+-98.012 38.196 3288
+-97.886 38.196 3282
+-97.76 38.196 3276
+-97.634 38.196 3290
+-97.508 38.196 3284
+-97.382 38.196 3345
+-97.256 38.196 3339
+-97.13 38.196 3335
+-97.004 38.196 3330
+-96.878 38.196 3327
+-96.752 38.196 3343
+-96.626 38.196 3370
+-96.5 38.196 3359
+-96.374 38.196 3317
+-96.248 38.196 3285
+-96.122 38.196 3406
+-95.996 38.196 3599
+-95.87 38.196 3767
+-95.744 38.196 3902
+-95.618 38.196 3982
+-95.492 38.196 4043
+-95.366 38.196 4167
+-95.24 38.196 4357
+-95.114 38.196 4471
+-94.988 38.196 4604
+-94.862 38.196 4667
+-94.736 38.196 4821
+-94.61 38.196 4951
+-94.484 38.196 5023
+-94.358 38.196 5151
+-94.232 38.196 5319
+-94.106 38.196 5461
+-93.98 38.196 5662
+-93.854 38.196 5790
+-93.728 38.196 5860
+-93.602 38.196 5997
+-93.476 38.196 6146
+-93.35 38.196 6212
+-93.224 38.196 6366
+-93.098 38.196 6521
+-92.972 38.196 6583
+-92.846 38.196 6735
+-92.72 38.196 6899
+-92.594 38.196 7034
+-92.468 38.196 7193
+-92.342 38.196 7330
+-92.216 38.196 7408
+-92.09 38.196 7551
+-91.964 38.196 7685
+-91.838 38.196 7811
+-91.712 38.196 7880
+-91.586 38.196 8000
+-91.46 38.196 8195
+-91.334 38.196 8246
+-91.208 38.196 8390
+-91.082 38.196 8482
+-90.956 38.196 8629
+-90.83 38.196 8685
+-90.704 38.196 8734
+-90.578 38.196 8790
+-90.452 38.196 8817
+-90.326 38.196 8777
+-90.2 38.196 8772
+-90.074 38.196 8702
+-89.948 38.196 8579
+-89.822 38.196 8531
+-89.696 38.196 8438
+-89.57 38.196 8747
+-89.444 38.196 8911
+-89.318 38.196 8995
+-89.192 38.196 9108
+-89.066 38.196 9202
+-88.94 38.196 9234
+-88.814 38.196 9270
+-88.688 38.196 9219
+-88.562 38.196 9174
+-88.436 38.196 9063
+-88.31 38.196 8998
+-88.184 38.196 8881
+-88.058 38.196 8803
+-87.932 38.196 8609
+-87.806 38.196 8504
+-87.68 38.196 8389
+-87.554 38.196 8220
+-87.428 38.196 8081
+-87.302 38.196 8022
+-87.176 38.196 7839
+-87.05 38.196 7710
+-86.924 38.196 7557
+-86.798 38.196 7414
+-86.672 38.196 7345
+-86.546 38.196 7239
+-86.42 38.196 7070
+-86.294 38.196 6912
+-86.168 38.196 6709
+-86.042 38.196 6670
+-85.916 38.196 6510
+-85.79 38.196 6377
+-85.664 38.196 6209
+-85.538 38.196 6059
+-85.412 38.196 5926
+-85.286 38.196 5850
+-85.16 38.196 5673
+-85.034 38.196 5553
+-84.908 38.196 5430
+-84.782 38.196 5325
+-84.656 38.196 5189
+-84.53 38.196 5037
+-84.404 38.196 4874
+-84.278 38.196 4720
+-84.152 38.196 4590
+-84.026 38.196 4537
+-83.9 38.196 4437
+-83.774 38.196 4302
+-83.648 38.196 4195
+-83.522 38.196 4086
+-83.396 38.196 3922
+-83.27 38.196 3707
+-83.144 38.196 3483
+-83.018 38.196 3354
+-82.892 38.196 3356
+-82.766 38.196 3371
+-82.64 38.196 3401
+-82.514 38.196 3444
+-82.388 38.196 3494
+-82.262 38.196 3502
+-82.136 38.196 3543
+-82.01 38.196 3561
+-81.884 38.196 3569
+-81.758 38.196 3595
+-81.632 38.196 3603
+-81.506 38.196 3622
+-81.38 38.196 3639
+-81.254 38.196 3635
+-81.128 38.196 3587
+-81.002 38.196 3599
+-80.876 38.196 3610
+-80.75 38.196 3620
+-80.624 38.196 3605
+-80.498 38.196 3612
+-80.372 38.196 3585
+-80.246 38.196 3536
+-80.12 38.196 3540
+-79.994 38.196 3545
+-79.868 38.196 3549
+-79.742 38.196 3552
+-79.616 38.196 3555
+-79.49 38.196 3558
+-79.364 38.196 3561
+-79.238 38.196 3564
+-79.112 38.196 3566
+-78.986 38.196 3568
+-78.86 38.196 3571
+-78.734 38.196 3573
+-78.608 38.196 3459
+-78.482 38.196 3461
+-78.356 38.196 3462
+-78.23 38.196 3393
+-78.104 38.196 3392
+-77.978 38.196 3392
+-77.852 38.196 3391
+-77.726 38.196 3391
+-77.6 38.196 3391
+-77.474 38.196 3390
+-77.348 38.196 3390
+-77.222 38.196 3389
+-77.096 38.196 3389
+-76.97 38.196 3389
+-76.844 38.196 3388
+-76.718 38.196 3388
+-76.592 38.196 3387
+-76.466 38.196 3387
+-76.34 38.196 3387
+-76.214 38.196 3386
+-76.088 38.196 3386
+-75.962 38.196 3386
+-75.836 38.196 3386
+-75.71 38.196 3385
+-75.584 38.196 3385
+-75.458 38.196 3385
+-75.332 38.196 3322
+-75.206 38.196 3321
+-75.08 38.196 3065
+-74.954 38.196 3063
+-74.828 38.196 3062
+-74.702 38.196 3060
+-74.576 38.196 3058
+-74.45 38.196 3057
+-74.324 38.196 3055
+-74.198 38.196 3054
+-74.072 38.196 3052
+-73.946 38.196 3051
+-73.82 38.196 3049
+-73.694 38.196 3048
+-73.568 38.196 3047
+-73.442 38.196 3045
+-73.316 38.196 3044
+-73.19 38.196 3043
+-73.064 38.196 3042
+-72.938 38.196 3041
+-72.812 38.196 2913
+-72.686 38.196 2912
+-72.56 38.196 2881
+-72.434 38.196 2832
+-72.308 38.196 2830
+-72.182 38.196 2829
+-72.056 38.196 2843
+-71.93 38.196 2842
+-71.804 38.196 2853
+-71.678 38.196 2852
+-71.552 38.196 2812
+-71.426 38.196 2770
+-71.3 38.196 2770
+-71.174 38.196 2770
+-71.048 38.196 2769
+-70.922 38.196 2787
+-70.796 38.196 2793
+-70.67 38.196 2802
+-70.544 38.196 2801
+-70.418 38.196 2834
+-70.292 38.196 2846
+-70.166 38.196 2847
+-70.04 38.196 2904
+-69.914 38.196 2927
+-69.788 38.196 2905
+-69.662 38.196 2895
+-69.536 38.196 3049
+-69.41 38.196 3051
+-69.284 38.196 3116
+-69.158 38.196 3118
+-69.032 38.196 3120
+-68.906 38.196 3122
+-68.78 38.196 3124
+-68.654 38.196 3035
+-68.528 38.196 3057
+-68.402 38.196 3058
+-68.276 38.196 3047
+-68.15 38.196 3347
+-68.024 38.196 3379
+-67.898 38.196 3380
+-67.772 38.196 3374
+-67.646 38.196 3375
+-67.52 38.196 3380
+-67.394 38.196 3397
+-67.268 38.196 3398
+-67.142 38.196 3384
+-67.016 38.196 3385
+-66.89 38.196 3335
+-66.764 38.196 3336
+-66.638 38.196 3337
+-66.512 38.196 3405
+-66.386 38.196 3400
+-66.26 38.196 3410
+-66.134 38.196 3411
+-66.008 38.196 3388
+-65.882 38.196 3411
+-65.756 38.196 3460
+-65.63 38.196 3472
+-65.504 38.196 3470
+-65.378 38.196 3469
+-65.252 38.196 3525
+-65.126 38.196 3526
+-128 38.144 2558
+-127.874 38.144 2570
+-127.748 38.144 2576
+-127.622 38.144 2698
+-127.496 38.144 2680
+-127.37 38.144 2679
+-127.244 38.144 2678
+-127.118 38.144 2785
+-126.992 38.144 2782
+-126.866 38.144 2727
+-126.74 38.144 2791
+-126.614 38.144 2788
+-126.488 38.144 2856
+-126.362 38.144 2831
+-126.236 38.144 2925
+-126.11 38.144 2950
+-125.984 38.144 2953
+-125.858 38.144 2967
+-125.732 38.144 3042
+-125.606 38.144 2967
+-125.48 38.144 2960
+-125.354 38.144 2953
+-125.228 38.144 2946
+-125.102 38.144 3022
+-124.976 38.144 3011
+-124.85 38.144 3000
+-124.724 38.144 3002
+-124.598 38.144 3015
+-124.472 38.144 3007
+-124.346 38.144 2997
+-124.22 38.144 3021
+-124.094 38.144 3014
+-123.968 38.144 3007
+-123.842 38.144 3001
+-123.716 38.144 2997
+-123.59 38.144 2995
+-123.464 38.144 3048
+-123.338 38.144 3047
+-123.212 38.144 3049
+-123.086 38.144 3039
+-122.96 38.144 3047
+-122.834 38.144 3037
+-122.708 38.144 3083
+-122.582 38.144 3098
+-122.456 38.144 3070
+-122.33 38.144 3067
+-122.204 38.144 3029
+-122.078 38.144 3007
+-121.952 38.144 3001
+-121.826 38.144 3101
+-121.7 38.144 3237
+-121.574 38.144 3379
+-121.448 38.144 3545
+-121.322 38.144 3704
+-121.196 38.144 3795
+-121.07 38.144 3938
+-120.944 38.144 3992
+-120.818 38.144 4053
+-120.692 38.144 4220
+-120.566 38.144 4262
+-120.44 38.144 4351
+-120.314 38.144 4351
+-120.188 38.144 4324
+-120.062 38.144 4282
+-119.936 38.144 4380
+-119.81 38.144 4538
+-119.684 38.144 4628
+-119.558 38.144 4666
+-119.432 38.144 4677
+-119.306 38.144 4742
+-119.18 38.144 4798
+-119.054 38.144 4837
+-118.928 38.144 4890
+-118.802 38.144 4953
+-118.676 38.144 5014
+-118.55 38.144 5042
+-118.424 38.144 5056
+-118.298 38.144 5077
+-118.172 38.144 5088
+-118.046 38.144 5116
+-117.92 38.144 5138
+-117.794 38.144 5123
+-117.668 38.144 5120
+-117.542 38.144 5148
+-117.416 38.144 5194
+-117.29 38.144 5155
+-117.164 38.144 5137
+-117.038 38.144 5136
+-116.912 38.144 5172
+-116.786 38.144 5121
+-116.66 38.144 5088
+-116.534 38.144 5080
+-116.408 38.144 5041
+-116.282 38.144 5015
+-116.156 38.144 5014
+-116.03 38.144 5007
+-115.904 38.144 4955
+-115.778 38.144 4873
+-115.652 38.144 4840
+-115.526 38.144 4784
+-115.4 38.144 4739
+-115.274 38.144 4680
+-115.148 38.144 4590
+-115.022 38.144 4507
+-114.896 38.144 4440
+-114.77 38.144 4393
+-114.644 38.144 4370
+-114.518 38.144 4282
+-114.392 38.144 4132
+-114.266 38.144 4048
+-114.14 38.144 4057
+-114.014 38.144 4015
+-113.888 38.144 3946
+-113.762 38.144 3832
+-113.636 38.144 3678
+-113.51 38.144 3582
+-113.384 38.144 3623
+-113.258 38.144 3665
+-113.132 38.144 3671
+-113.006 38.144 3642
+-112.88 38.144 3643
+-112.754 38.144 3553
+-112.628 38.144 3447
+-112.502 38.144 3401
+-112.376 38.144 3253
+-112.25 38.144 3208
+-112.124 38.144 3095
+-111.998 38.144 3024
+-111.872 38.144 2964
+-111.746 38.144 2868
+-111.62 38.144 2784
+-111.494 38.144 2712
+-111.368 38.144 2629
+-111.242 38.144 2530
+-111.116 38.144 2453
+-110.99 38.144 2420
+-110.864 38.144 2441
+-110.738 38.144 2476
+-110.612 38.144 2477
+-110.486 38.144 2465
+-110.36 38.144 2482
+-110.234 38.144 2518
+-110.108 38.144 2557
+-109.982 38.144 2585
+-109.856 38.144 2602
+-109.73 38.144 2607
+-109.604 38.144 2603
+-109.478 38.144 2599
+-109.352 38.144 2577
+-109.226 38.144 2544
+-109.1 38.144 2516
+-108.974 38.144 2489
+-108.848 38.144 2472
+-108.722 38.144 2469
+-108.596 38.144 2460
+-108.47 38.144 2434
+-108.344 38.144 2384
+-108.218 38.144 2285
+-108.092 38.144 2169
+-107.966 38.144 2049
+-107.84 38.144 1960
+-107.714 38.144 1927
+-107.588 38.144 1951
+-107.462 38.144 2016
+-107.336 38.144 2103
+-107.21 38.144 2191
+-107.084 38.144 2284
+-106.958 38.144 2367
+-106.832 38.144 2436
+-106.706 38.144 2533
+-106.58 38.144 2585
+-106.454 38.144 2627
+-106.328 38.144 2693
+-106.202 38.144 2695
+-106.076 38.144 2727
+-105.95 38.144 2738
+-105.824 38.144 2813
+-105.698 38.144 2832
+-105.572 38.144 2853
+-105.446 38.144 2874
+-105.32 38.144 2853
+-105.194 38.144 2941
+-105.068 38.144 2951
+-104.942 38.144 2961
+-104.816 38.144 2960
+-104.69 38.144 2979
+-104.564 38.144 2987
+-104.438 38.144 2994
+-104.312 38.144 2961
+-104.186 38.144 2980
+-104.06 38.144 3016
+-103.934 38.144 3023
+-103.808 38.144 3026
+-103.682 38.144 3032
+-103.556 38.144 3038
+-103.43 38.144 3023
+-103.304 38.144 3112
+-103.178 38.144 3117
+-103.052 38.144 3084
+-102.926 38.144 3089
+-102.8 38.144 3093
+-102.674 38.144 2901
+-102.548 38.144 2906
+-102.422 38.144 2784
+-102.296 38.144 2748
+-102.17 38.144 2766
+-102.044 38.144 2728
+-101.918 38.144 2762
+-101.792 38.144 2781
+-101.666 38.144 2824
+-101.54 38.144 2843
+-101.414 38.144 2840
+-101.288 38.144 2866
+-101.162 38.144 2872
+-101.036 38.144 3032
+-100.91 38.144 3036
+-100.784 38.144 3073
+-100.658 38.144 3075
+-100.532 38.144 3168
+-100.406 38.144 3169
+-100.28 38.144 3169
+-100.154 38.144 3170
+-100.028 38.144 3171
+-99.902 38.144 3171
+-99.776 38.144 3221
+-99.65 38.144 3220
+-99.524 38.144 3220
+-99.398 38.144 3219
+-99.272 38.144 3291
+-99.146 38.144 3289
+-99.02 38.144 3287
+-98.894 38.144 3285
+-98.768 38.144 3283
+-98.642 38.144 3281
+-98.516 38.144 3279
+-98.39 38.144 3310
+-98.264 38.144 3306
+-98.138 38.144 3301
+-98.012 38.144 3297
+-97.886 38.144 3290
+-97.76 38.144 3286
+-97.634 38.144 3305
+-97.508 38.144 3340
+-97.382 38.144 3338
+-97.256 38.144 3370
+-97.13 38.144 3368
+-97.004 38.144 3367
+-96.878 38.144 3367
+-96.752 38.144 3384
+-96.626 38.144 3390
+-96.5 38.144 3364
+-96.374 38.144 3259
+-96.248 38.144 3162
+-96.122 38.144 3323
+-95.996 38.144 3609
+-95.87 38.144 3783
+-95.744 38.144 3895
+-95.618 38.144 3989
+-95.492 38.144 3984
+-95.366 38.144 4115
+-95.24 38.144 4322
+-95.114 38.144 4501
+-94.988 38.144 4575
+-94.862 38.144 4557
+-94.736 38.144 4793
+-94.61 38.144 4871
+-94.484 38.144 4983
+-94.358 38.144 5114
+-94.232 38.144 5287
+-94.106 38.144 5423
+-93.98 38.144 5612
+-93.854 38.144 5808
+-93.728 38.144 5841
+-93.602 38.144 5986
+-93.476 38.144 6145
+-93.35 38.144 6191
+-93.224 38.144 6375
+-93.098 38.144 6430
+-92.972 38.144 6636
+-92.846 38.144 6726
+-92.72 38.144 6880
+-92.594 38.144 7006
+-92.468 38.144 7172
+-92.342 38.144 7234
+-92.216 38.144 7402
+-92.09 38.144 7579
+-91.964 38.144 7648
+-91.838 38.144 7818
+-91.712 38.144 7839
+-91.586 38.144 8011
+-91.46 38.144 8160
+-91.334 38.144 8303
+-91.208 38.144 8327
+-91.082 38.144 8453
+-90.956 38.144 8524
+-90.83 38.144 8623
+-90.704 38.144 8705
+-90.578 38.144 8746
+-90.452 38.144 8742
+-90.326 38.144 8752
+-90.2 38.144 8699
+-90.074 38.144 8633
+-89.948 38.144 8546
+-89.822 38.144 8470
+-89.696 38.144 8629
+-89.57 38.144 8863
+-89.444 38.144 8955
+-89.318 38.144 9059
+-89.192 38.144 9194
+-89.066 38.144 9259
+-88.94 38.144 9280
+-88.814 38.144 9316
+-88.688 38.144 9266
+-88.562 38.144 9240
+-88.436 38.144 9123
+-88.31 38.144 9020
+-88.184 38.144 8952
+-88.058 38.144 8811
+-87.932 38.144 8681
+-87.806 38.144 8550
+-87.68 38.144 8443
+-87.554 38.144 8276
+-87.428 38.144 8162
+-87.302 38.144 8052
+-87.176 38.144 7840
+-87.05 38.144 7734
+-86.924 38.144 7651
+-86.798 38.144 7449
+-86.672 38.144 7376
+-86.546 38.144 7225
+-86.42 38.144 6999
+-86.294 38.144 6962
+-86.168 38.144 6837
+-86.042 38.144 6658
+-85.916 38.144 6484
+-85.79 38.144 6380
+-85.664 38.144 6235
+-85.538 38.144 6088
+-85.412 38.144 5961
+-85.286 38.144 5819
+-85.16 38.144 5664
+-85.034 38.144 5589
+-84.908 38.144 5454
+-84.782 38.144 5267
+-84.656 38.144 5167
+-84.53 38.144 5025
+-84.404 38.144 4908
+-84.278 38.144 4768
+-84.152 38.144 4609
+-84.026 38.144 4478
+-83.9 38.144 4357
+-83.774 38.144 4214
+-83.648 38.144 4169
+-83.522 38.144 4087
+-83.396 38.144 3910
+-83.27 38.144 3658
+-83.144 38.144 3389
+-83.018 38.144 3258
+-82.892 38.144 3263
+-82.766 38.144 3265
+-82.64 38.144 3297
+-82.514 38.144 3360
+-82.388 38.144 3398
+-82.262 38.144 3450
+-82.136 38.144 3493
+-82.01 38.144 3513
+-81.884 38.144 3547
+-81.758 38.144 3562
+-81.632 38.144 3586
+-81.506 38.144 3607
+-81.38 38.144 3626
+-81.254 38.144 3624
+-81.128 38.144 3638
+-81.002 38.144 3591
+-80.876 38.144 3603
+-80.75 38.144 3613
+-80.624 38.144 3623
+-80.498 38.144 3599
+-80.372 38.144 3606
+-80.246 38.144 3531
+-80.12 38.144 3536
+-79.994 38.144 3541
+-79.868 38.144 3550
+-79.742 38.144 3553
+-79.616 38.144 3557
+-79.49 38.144 3560
+-79.364 38.144 3563
+-79.238 38.144 3566
+-79.112 38.144 3569
+-78.986 38.144 3572
+-78.86 38.144 3574
+-78.734 38.144 3458
+-78.608 38.144 3459
+-78.482 38.144 3460
+-78.356 38.144 3391
+-78.23 38.144 3391
+-78.104 38.144 3390
+-77.978 38.144 3390
+-77.852 38.144 3389
+-77.726 38.144 3389
+-77.6 38.144 3389
+-77.474 38.144 3388
+-77.348 38.144 3388
+-77.222 38.144 3387
+-77.096 38.144 3387
+-76.97 38.144 3387
+-76.844 38.144 3386
+-76.718 38.144 3386
+-76.592 38.144 3386
+-76.466 38.144 3385
+-76.34 38.144 3385
+-76.214 38.144 3385
+-76.088 38.144 3384
+-75.962 38.144 3384
+-75.836 38.144 3384
+-75.71 38.144 3384
+-75.584 38.144 3384
+-75.458 38.144 3321
+-75.332 38.144 3320
+-75.206 38.144 3065
+-75.08 38.144 3063
+-74.954 38.144 3061
+-74.828 38.144 3059
+-74.702 38.144 3057
+-74.576 38.144 3056
+-74.45 38.144 3054
+-74.324 38.144 3053
+-74.198 38.144 3051
+-74.072 38.144 3050
+-73.946 38.144 3048
+-73.82 38.144 3047
+-73.694 38.144 3046
+-73.568 38.144 3044
+-73.442 38.144 3043
+-73.316 38.144 3042
+-73.19 38.144 3041
+-73.064 38.144 3040
+-72.938 38.144 2911
+-72.812 38.144 2910
+-72.686 38.144 2879
+-72.56 38.144 2830
+-72.434 38.144 2829
+-72.308 38.144 2828
+-72.182 38.144 2842
+-72.056 38.144 2841
+-71.93 38.144 2851
+-71.804 38.144 2850
+-71.678 38.144 2810
+-71.552 38.144 2769
+-71.426 38.144 2768
+-71.3 38.144 2768
+-71.174 38.144 2768
+-71.048 38.144 2785
+-70.922 38.144 2791
+-70.796 38.144 2801
+-70.67 38.144 2800
+-70.544 38.144 2833
+-70.418 38.144 2845
+-70.292 38.144 2846
+-70.166 38.144 2902
+-70.04 38.144 2925
+-69.914 38.144 2903
+-69.788 38.144 2893
+-69.662 38.144 3047
+-69.536 38.144 3049
+-69.41 38.144 3115
+-69.284 38.144 3116
+-69.158 38.144 3118
+-69.032 38.144 3120
+-68.906 38.144 3122
+-68.78 38.144 3034
+-68.654 38.144 3055
+-68.528 38.144 3057
+-68.402 38.144 3046
+-68.276 38.144 3346
+-68.15 38.144 3377
+-68.024 38.144 3378
+-67.898 38.144 3373
+-67.772 38.144 3374
+-67.646 38.144 3378
+-67.52 38.144 3395
+-67.394 38.144 3396
+-67.268 38.144 3383
+-67.142 38.144 3384
+-67.016 38.144 3334
+-66.89 38.144 3335
+-66.764 38.144 3336
+-66.638 38.144 3404
+-66.512 38.144 3398
+-66.386 38.144 3409
+-66.26 38.144 3410
+-66.134 38.144 3387
+-66.008 38.144 3410
+-65.882 38.144 3459
+-65.756 38.144 3471
+-65.63 38.144 3469
+-65.504 38.144 3467
+-65.378 38.144 3524
+-65.252 38.144 3525
+-65.126 38.144 3461
+-128 38.092 2566
+-127.874 38.092 2614
+-127.748 38.092 2620
+-127.622 38.092 2632
+-127.496 38.092 2734
+-127.37 38.092 2764
+-127.244 38.092 2762
+-127.118 38.092 2760
+-126.992 38.092 2730
+-126.866 38.092 2880
+-126.74 38.092 2877
+-126.614 38.092 2874
+-126.488 38.092 2871
+-126.362 38.092 2868
+-126.236 38.092 2844
+-126.11 38.092 2940
+-125.984 38.092 3051
+-125.858 38.092 3056
+-125.732 38.092 3065
+-125.606 38.092 3058
+-125.48 38.092 2983
+-125.354 38.092 2977
+-125.228 38.092 3057
+-125.102 38.092 3049
+-124.976 38.092 3040
+-124.85 38.092 3031
+-124.724 38.092 3022
+-124.598 38.092 3026
+-124.472 38.092 3043
+-124.346 38.092 3038
+-124.22 38.092 3031
+-124.094 38.092 3059
+-123.968 38.092 3056
+-123.842 38.092 3054
+-123.716 38.092 3053
+-123.59 38.092 3054
+-123.464 38.092 3057
+-123.338 38.092 3119
+-123.212 38.092 3123
+-123.086 38.092 3129
+-122.96 38.092 3121
+-122.834 38.092 3129
+-122.708 38.092 3118
+-122.582 38.092 3162
+-122.456 38.092 3170
+-122.33 38.092 3189
+-122.204 38.092 3229
+-122.078 38.092 3213
+-121.952 38.092 3225
+-121.826 38.092 3317
+-121.7 38.092 3416
+-121.574 38.092 3520
+-121.448 38.092 3662
+-121.322 38.092 3741
+-121.196 38.092 3901
+-121.07 38.092 4044
+-120.944 38.092 4125
+-120.818 38.092 4173
+-120.692 38.092 4225
+-120.566 38.092 4294
+-120.44 38.092 4368
+-120.314 38.092 4383
+-120.188 38.092 4396
+-120.062 38.092 4372
+-119.936 38.092 4471
+-119.81 38.092 4611
+-119.684 38.092 4688
+-119.558 38.092 4735
+-119.432 38.092 4770
+-119.306 38.092 4811
+-119.18 38.092 4857
+-119.054 38.092 4829
+-118.928 38.092 4903
+-118.802 38.092 4993
+-118.676 38.092 5050
+-118.55 38.092 5044
+-118.424 38.092 5097
+-118.298 38.092 5149
+-118.172 38.092 5166
+-118.046 38.092 5180
+-117.92 38.092 5225
+-117.794 38.092 5194
+-117.668 38.092 5176
+-117.542 38.092 5192
+-117.416 38.092 5219
+-117.29 38.092 5205
+-117.164 38.092 5216
+-117.038 38.092 5195
+-116.912 38.092 5169
+-116.786 38.092 5154
+-116.66 38.092 5133
+-116.534 38.092 5143
+-116.408 38.092 5119
+-116.282 38.092 5084
+-116.156 38.092 5061
+-116.03 38.092 5057
+-115.904 38.092 5024
+-115.778 38.092 4947
+-115.652 38.092 4870
+-115.526 38.092 4820
+-115.4 38.092 4771
+-115.274 38.092 4730
+-115.148 38.092 4653
+-115.022 38.092 4547
+-114.896 38.092 4472
+-114.77 38.092 4433
+-114.644 38.092 4419
+-114.518 38.092 4353
+-114.392 38.092 4241
+-114.266 38.092 4160
+-114.14 38.092 4133
+-114.014 38.092 4087
+-113.888 38.092 4051
+-113.762 38.092 3948
+-113.636 38.092 3842
+-113.51 38.092 3771
+-113.384 38.092 3752
+-113.258 38.092 3751
+-113.132 38.092 3746
+-113.006 38.092 3679
+-112.88 38.092 3660
+-112.754 38.092 3553
+-112.628 38.092 3441
+-112.502 38.092 3373
+-112.376 38.092 3260
+-112.25 38.092 3203
+-112.124 38.092 3082
+-111.998 38.092 3029
+-111.872 38.092 2959
+-111.746 38.092 2889
+-111.62 38.092 2820
+-111.494 38.092 2764
+-111.368 38.092 2699
+-111.242 38.092 2626
+-111.116 38.092 2573
+-110.99 38.092 2542
+-110.864 38.092 2531
+-110.738 38.092 2514
+-110.612 38.092 2474
+-110.486 38.092 2447
+-110.36 38.092 2472
+-110.234 38.092 2524
+-110.108 38.092 2572
+-109.982 38.092 2606
+-109.856 38.092 2625
+-109.73 38.092 2630
+-109.604 38.092 2631
+-109.478 38.092 2613
+-109.352 38.092 2578
+-109.226 38.092 2539
+-109.1 38.092 2495
+-108.974 38.092 2459
+-108.848 38.092 2446
+-108.722 38.092 2447
+-108.596 38.092 2450
+-108.47 38.092 2440
+-108.344 38.092 2382
+-108.218 38.092 2289
+-108.092 38.092 2163
+-107.966 38.092 2031
+-107.84 38.092 1931
+-107.714 38.092 1897
+-107.588 38.092 1926
+-107.462 38.092 2001
+-107.336 38.092 2094
+-107.21 38.092 2196
+-107.084 38.092 2293
+-106.958 38.092 2376
+-106.832 38.092 2479
+-106.706 38.092 2542
+-106.58 38.092 2592
+-106.454 38.092 2664
+-106.328 38.092 2672
+-106.202 38.092 2708
+-106.076 38.092 2723
+-105.95 38.092 2798
+-105.824 38.092 2819
+-105.698 38.092 2842
+-105.572 38.092 2864
+-105.446 38.092 2845
+-105.32 38.092 2931
+-105.194 38.092 2942
+-105.068 38.092 2952
+-104.942 38.092 2952
+-104.816 38.092 2971
+-104.69 38.092 2979
+-104.564 38.092 2987
+-104.438 38.092 2955
+-104.312 38.092 2974
+-104.186 38.092 3009
+-104.06 38.092 3016
+-103.934 38.092 3020
+-103.808 38.092 3026
+-103.682 38.092 3032
+-103.556 38.092 3018
+-103.43 38.092 3106
+-103.304 38.092 3111
+-103.178 38.092 3078
+-103.052 38.092 3083
+-102.926 38.092 3088
+-102.8 38.092 3093
+-102.674 38.092 2885
+-102.548 38.092 2909
+-102.422 38.092 2844
+-102.296 38.092 2744
+-102.17 38.092 2769
+-102.044 38.092 2731
+-101.918 38.092 2786
+-101.792 38.092 2759
+-101.666 38.092 2792
+-101.54 38.092 2843
+-101.414 38.092 2839
+-101.288 38.092 2865
+-101.162 38.092 2871
+-101.036 38.092 3036
+-100.91 38.092 3037
+-100.784 38.092 3075
+-100.658 38.092 3169
+-100.532 38.092 3170
+-100.406 38.092 3170
+-100.28 38.092 3171
+-100.154 38.092 3172
+-100.028 38.092 3172
+-99.902 38.092 3221
+-99.776 38.092 3221
+-99.65 38.092 3221
+-99.524 38.092 3221
+-99.398 38.092 3220
+-99.272 38.092 3220
+-99.146 38.092 3293
+-99.02 38.092 3291
+-98.894 38.092 3289
+-98.768 38.092 3288
+-98.642 38.092 3286
+-98.516 38.092 3315
+-98.39 38.092 3312
+-98.264 38.092 3309
+-98.138 38.092 3306
+-98.012 38.092 3303
+-97.886 38.092 3300
+-97.76 38.092 3320
+-97.634 38.092 3321
+-97.508 38.092 3321
+-97.382 38.092 3358
+-97.256 38.092 3386
+-97.13 38.092 3388
+-97.004 38.092 3390
+-96.878 38.092 3424
+-96.752 38.092 3421
+-96.626 38.092 3426
+-96.5 38.092 3390
+-96.374 38.092 3333
+-96.248 38.092 3288
+-96.122 38.092 3427
+-95.996 38.092 3655
+-95.87 38.092 3810
+-95.744 38.092 3902
+-95.618 38.092 3998
+-95.492 38.092 4046
+-95.366 38.092 4167
+-95.24 38.092 4358
+-95.114 38.092 4478
+-94.988 38.092 4581
+-94.862 38.092 4674
+-94.736 38.092 4805
+-94.61 38.092 4914
+-94.484 38.092 4981
+-94.358 38.092 5113
+-94.232 38.092 5304
+-94.106 38.092 5407
+-93.98 38.092 5575
+-93.854 38.092 5788
+-93.728 38.092 5891
+-93.602 38.092 5962
+-93.476 38.092 6071
+-93.35 38.092 6195
+-93.224 38.092 6347
+-93.098 38.092 6483
+-92.972 38.092 6592
+-92.846 38.092 6717
+-92.72 38.092 6878
+-92.594 38.092 6970
+-92.468 38.092 7168
+-92.342 38.092 7270
+-92.216 38.092 7366
+-92.09 38.092 7506
+-91.964 38.092 7604
+-91.838 38.092 7716
+-91.712 38.092 7840
+-91.586 38.092 7998
+-91.46 38.092 8070
+-91.334 38.092 8252
+-91.208 38.092 8304
+-91.082 38.092 8421
+-90.956 38.092 8455
+-90.83 38.092 8558
+-90.704 38.092 8638
+-90.578 38.092 8646
+-90.452 38.092 8676
+-90.326 38.092 8687
+-90.2 38.092 8621
+-90.074 38.092 8604
+-89.948 38.092 8488
+-89.822 38.092 8418
+-89.696 38.092 8677
+-89.57 38.092 8862
+-89.444 38.092 8993
+-89.318 38.092 9112
+-89.192 38.092 9181
+-89.066 38.092 9295
+-88.94 38.092 9318
+-88.814 38.092 9371
+-88.688 38.092 9322
+-88.562 38.092 9266
+-88.436 38.092 9190
+-88.31 38.092 9074
+-88.184 38.092 8981
+-88.058 38.092 8817
+-87.932 38.092 8699
+-87.806 38.092 8598
+-87.68 38.092 8439
+-87.554 38.092 8340
+-87.428 38.092 8205
+-87.302 38.092 8067
+-87.176 38.092 7947
+-87.05 38.092 7830
+-86.924 38.092 7596
+-86.798 38.092 7453
+-86.672 38.092 7415
+-86.546 38.092 7256
+-86.42 38.092 7103
+-86.294 38.092 6987
+-86.168 38.092 6872
+-86.042 38.092 6694
+-85.916 38.092 6516
+-85.79 38.092 6351
+-85.664 38.092 6213
+-85.538 38.092 6115
+-85.412 38.092 5965
+-85.286 38.092 5819
+-85.16 38.092 5672
+-85.034 38.092 5526
+-84.908 38.092 5453
+-84.782 38.092 5305
+-84.656 38.092 5105
+-84.53 38.092 4989
+-84.404 38.092 4897
+-84.278 38.092 4776
+-84.152 38.092 4571
+-84.026 38.092 4394
+-83.9 38.092 4333
+-83.774 38.092 4068
+-83.648 38.092 4161
+-83.522 38.092 4093
+-83.396 38.092 3921
+-83.27 38.092 3673
+-83.144 38.092 3429
+-83.018 38.092 3280
+-82.892 38.092 3186
+-82.766 38.092 3141
+-82.64 38.092 3177
+-82.514 38.092 3285
+-82.388 38.092 3350
+-82.262 38.092 3411
+-82.136 38.092 3447
+-82.01 38.092 3491
+-81.884 38.092 3516
+-81.758 38.092 3546
+-81.632 38.092 3573
+-81.506 38.092 3596
+-81.38 38.092 3616
+-81.254 38.092 3634
+-81.128 38.092 3650
+-81.002 38.092 3665
+-80.876 38.092 3596
+-80.75 38.092 3608
+-80.624 38.092 3586
+-80.498 38.092 3594
+-80.372 38.092 3601
+-80.246 38.092 3532
+-80.12 38.092 3537
+-79.994 38.092 3542
+-79.868 38.092 3547
+-79.742 38.092 3551
+-79.616 38.092 3555
+-79.49 38.092 3558
+-79.364 38.092 3561
+-79.238 38.092 3564
+-79.112 38.092 3567
+-78.986 38.092 3570
+-78.86 38.092 3456
+-78.734 38.092 3457
+-78.608 38.092 3459
+-78.482 38.092 3389
+-78.356 38.092 3389
+-78.23 38.092 3388
+-78.104 38.092 3388
+-77.978 38.092 3388
+-77.852 38.092 3387
+-77.726 38.092 3387
+-77.6 38.092 3387
+-77.474 38.092 3386
+-77.348 38.092 3386
+-77.222 38.092 3386
+-77.096 38.092 3385
+-76.97 38.092 3385
+-76.844 38.092 3384
+-76.718 38.092 3384
+-76.592 38.092 3384
+-76.466 38.092 3384
+-76.34 38.092 3332
+-76.214 38.092 3331
+-76.088 38.092 3330
+-75.962 38.092 3329
+-75.836 38.092 3328
+-75.71 38.092 3327
+-75.584 38.092 3327
+-75.458 38.092 3234
+-75.332 38.092 3064
+-75.206 38.092 3062
+-75.08 38.092 3060
+-74.954 38.092 3058
+-74.828 38.092 3056
+-74.702 38.092 3055
+-74.576 38.092 3053
+-74.45 38.092 3052
+-74.324 38.092 3050
+-74.198 38.092 3049
+-74.072 38.092 3047
+-73.946 38.092 3046
+-73.82 38.092 3044
+-73.694 38.092 3043
+-73.568 38.092 3042
+-73.442 38.092 3041
+-73.316 38.092 3039
+-73.19 38.092 3038
+-73.064 38.092 2910
+-72.938 38.092 2909
+-72.812 38.092 2878
+-72.686 38.092 2829
+-72.56 38.092 2827
+-72.434 38.092 2826
+-72.308 38.092 2840
+-72.182 38.092 2839
+-72.056 38.092 2850
+-71.93 38.092 2849
+-71.804 38.092 2809
+-71.678 38.092 2767
+-71.552 38.092 2767
+-71.426 38.092 2767
+-71.3 38.092 2766
+-71.174 38.092 2783
+-71.048 38.092 2790
+-70.922 38.092 2799
+-70.796 38.092 2798
+-70.67 38.092 2831
+-70.544 38.092 2843
+-70.418 38.092 2844
+-70.292 38.092 2901
+-70.166 38.092 2924
+-70.04 38.092 2902
+-69.914 38.092 2892
+-69.788 38.092 3046
+-69.662 38.092 3047
+-69.536 38.092 3113
+-69.41 38.092 3114
+-69.284 38.092 3116
+-69.158 38.092 3118
+-69.032 38.092 3120
+-68.906 38.092 3032
+-68.78 38.092 3054
+-68.654 38.092 3056
+-68.528 38.092 3044
+-68.402 38.092 3344
+-68.276 38.092 3376
+-68.15 38.092 3377
+-68.024 38.092 3372
+-67.898 38.092 3373
+-67.772 38.092 3377
+-67.646 38.092 3394
+-67.52 38.092 3395
+-67.394 38.092 3382
+-67.268 38.092 3383
+-67.142 38.092 3333
+-67.016 38.092 3334
+-66.89 38.092 3335
+-66.764 38.092 3403
+-66.638 38.092 3397
+-66.512 38.092 3408
+-66.386 38.092 3408
+-66.26 38.092 3386
+-66.134 38.092 3409
+-66.008 38.092 3458
+-65.882 38.092 3470
+-65.756 38.092 3468
+-65.63 38.092 3466
+-65.504 38.092 3523
+-65.378 38.092 3524
+-65.252 38.092 3459
+-65.126 38.092 3485
+-128 38.04 2627
+-127.874 38.04 2624
+-127.748 38.04 2621
+-127.622 38.04 2693
+-127.496 38.04 2640
+-127.37 38.04 2743
+-127.244 38.04 2773
+-127.118 38.04 2843
+-126.992 38.04 2841
+-126.866 38.04 2781
+-126.74 38.04 2891
+-126.614 38.04 2889
+-126.488 38.04 2887
+-126.362 38.04 2884
+-126.236 38.04 2966
+-126.11 38.04 2924
+-125.984 38.04 3039
+-125.858 38.04 3066
+-125.732 38.04 3072
+-125.606 38.04 3083
+-125.48 38.04 3006
+-125.354 38.04 3089
+-125.228 38.04 3083
+-125.102 38.04 3076
+-124.976 38.04 3069
+-124.85 38.04 3062
+-124.724 38.04 3055
+-124.598 38.04 3048
+-124.472 38.04 3055
+-124.346 38.04 3074
+-124.22 38.04 3073
+-124.094 38.04 3069
+-123.968 38.04 3102
+-123.842 38.04 3103
+-123.716 38.04 3106
+-123.59 38.04 3110
+-123.464 38.04 3116
+-123.338 38.04 3123
+-123.212 38.04 3194
+-123.086 38.04 3201
+-122.96 38.04 3210
+-122.834 38.04 3224
+-122.708 38.04 3254
+-122.582 38.04 3297
+-122.456 38.04 3303
+-122.33 38.04 3367
+-122.204 38.04 3390
+-122.078 38.04 3396
+-121.952 38.04 3428
+-121.826 38.04 3492
+-121.7 38.04 3580
+-121.574 38.04 3657
+-121.448 38.04 3742
+-121.322 38.04 3857
+-121.196 38.04 3949
+-121.07 38.04 4042
+-120.944 38.04 4137
+-120.818 38.04 4247
+-120.692 38.04 4285
+-120.566 38.04 4380
+-120.44 38.04 4427
+-120.314 38.04 4477
+-120.188 38.04 4491
+-120.062 38.04 4515
+-119.936 38.04 4596
+-119.81 38.04 4680
+-119.684 38.04 4738
+-119.558 38.04 4761
+-119.432 38.04 4808
+-119.306 38.04 4865
+-119.18 38.04 4895
+-119.054 38.04 4915
+-118.928 38.04 4972
+-118.802 38.04 5029
+-118.676 38.04 5073
+-118.55 38.04 5101
+-118.424 38.04 5156
+-118.298 38.04 5202
+-118.172 38.04 5169
+-118.046 38.04 5220
+-117.92 38.04 5232
+-117.794 38.04 5249
+-117.668 38.04 5255
+-117.542 38.04 5267
+-117.416 38.04 5265
+-117.29 38.04 5272
+-117.164 38.04 5306
+-117.038 38.04 5280
+-116.912 38.04 5256
+-116.786 38.04 5228
+-116.66 38.04 5201
+-116.534 38.04 5180
+-116.408 38.04 5176
+-116.282 38.04 5143
+-116.156 38.04 5101
+-116.03 38.04 5116
+-115.904 38.04 5033
+-115.778 38.04 5023
+-115.652 38.04 4953
+-115.526 38.04 4880
+-115.4 38.04 4825
+-115.274 38.04 4773
+-115.148 38.04 4715
+-115.022 38.04 4642
+-114.896 38.04 4541
+-114.77 38.04 4465
+-114.644 38.04 4448
+-114.518 38.04 4408
+-114.392 38.04 4321
+-114.266 38.04 4269
+-114.14 38.04 4180
+-114.014 38.04 4148
+-113.888 38.04 4105
+-113.762 38.04 4062
+-113.636 38.04 4010
+-113.51 38.04 3933
+-113.384 38.04 3878
+-113.258 38.04 3817
+-113.132 38.04 3806
+-113.006 38.04 3744
+-112.88 38.04 3675
+-112.754 38.04 3595
+-112.628 38.04 3435
+-112.502 38.04 3363
+-112.376 38.04 3228
+-112.25 38.04 3182
+-112.124 38.04 3110
+-111.998 38.04 3064
+-111.872 38.04 3013
+-111.746 38.04 2910
+-111.62 38.04 2850
+-111.494 38.04 2809
+-111.368 38.04 2773
+-111.242 38.04 2710
+-111.116 38.04 2669
+-110.99 38.04 2637
+-110.864 38.04 2607
+-110.738 38.04 2567
+-110.612 38.04 2512
+-110.486 38.04 2483
+-110.36 38.04 2505
+-110.234 38.04 2556
+-110.108 38.04 2603
+-109.982 38.04 2635
+-109.856 38.04 2652
+-109.73 38.04 2663
+-109.604 38.04 2654
+-109.478 38.04 2625
+-109.352 38.04 2588
+-109.226 38.04 2533
+-109.1 38.04 2475
+-108.974 38.04 2430
+-108.848 38.04 2411
+-108.722 38.04 2422
+-108.596 38.04 2444
+-108.47 38.04 2439
+-108.344 38.04 2400
+-108.218 38.04 2315
+-108.092 38.04 2197
+-107.966 38.04 2066
+-107.84 38.04 1965
+-107.714 38.04 1930
+-107.588 38.04 1958
+-107.462 38.04 2029
+-107.336 38.04 2125
+-107.21 38.04 2226
+-107.084 38.04 2318
+-106.958 38.04 2427
+-106.832 38.04 2499
+-106.706 38.04 2558
+-106.58 38.04 2634
+-106.454 38.04 2650
+-106.328 38.04 2689
+-106.202 38.04 2709
+-106.076 38.04 2784
+-105.95 38.04 2807
+-105.824 38.04 2832
+-105.698 38.04 2854
+-105.572 38.04 2837
+-105.446 38.04 2921
+-105.32 38.04 2933
+-105.194 38.04 2943
+-105.068 38.04 2944
+-104.942 38.04 2963
+-104.816 38.04 2971
+-104.69 38.04 2979
+-104.564 38.04 2948
+-104.438 38.04 2967
+-104.312 38.04 3002
+-104.186 38.04 3009
+-104.06 38.04 3013
+-103.934 38.04 3019
+-103.808 38.04 3026
+-103.682 38.04 3013
+-103.556 38.04 3099
+-103.43 38.04 3105
+-103.304 38.04 3073
+-103.178 38.04 3078
+-103.052 38.04 3083
+-102.926 38.04 3088
+-102.8 38.04 3004
+-102.674 38.04 3008
+-102.548 38.04 2890
+-102.422 38.04 2778
+-102.296 38.04 2798
+-102.17 38.04 2759
+-102.044 38.04 2678
+-101.918 38.04 2733
+-101.792 38.04 2760
+-101.666 38.04 2792
+-101.54 38.04 2842
+-101.414 38.04 2839
+-101.288 38.04 2863
+-101.162 38.04 2870
+-101.036 38.04 3036
+-100.91 38.04 3037
+-100.784 38.04 3169
+-100.658 38.04 3170
+-100.532 38.04 3171
+-100.406 38.04 3171
+-100.28 38.04 3172
+-100.154 38.04 3173
+-100.028 38.04 3222
+-99.902 38.04 3222
+-99.776 38.04 3221
+-99.65 38.04 3221
+-99.524 38.04 3221
+-99.398 38.04 3221
+-99.272 38.04 3221
+-99.146 38.04 3221
+-99.02 38.04 3294
+-98.894 38.04 3293
+-98.768 38.04 3296
+-98.642 38.04 3322
+-98.516 38.04 3319
+-98.39 38.04 3317
+-98.264 38.04 3315
+-98.138 38.04 3313
+-98.012 38.04 3311
+-97.886 38.04 3334
+-97.76 38.04 3333
+-97.634 38.04 3333
+-97.508 38.04 3333
+-97.382 38.04 3335
+-97.256 38.04 3405
+-97.13 38.04 3408
+-97.004 38.04 3413
+-96.878 38.04 3417
+-96.752 38.04 3453
+-96.626 38.04 3448
+-96.5 38.04 3437
+-96.374 38.04 3437
+-96.248 38.04 3480
+-96.122 38.04 3560
+-95.996 38.04 3733
+-95.87 38.04 3817
+-95.744 38.04 3881
+-95.618 38.04 3909
+-95.492 38.04 4017
+-95.366 38.04 4204
+-95.24 38.04 4379
+-95.114 38.04 4438
+-94.988 38.04 4550
+-94.862 38.04 4691
+-94.736 38.04 4807
+-94.61 38.04 4882
+-94.484 38.04 4970
+-94.358 38.04 5083
+-94.232 38.04 5253
+-94.106 38.04 5392
+-93.98 38.04 5595
+-93.854 38.04 5736
+-93.728 38.04 5872
+-93.602 38.04 5972
+-93.476 38.04 6108
+-93.35 38.04 6201
+-93.224 38.04 6286
+-93.098 38.04 6483
+-92.972 38.04 6571
+-92.846 38.04 6730
+-92.72 38.04 6875
+-92.594 38.04 7011
+-92.468 38.04 7125
+-92.342 38.04 7254
+-92.216 38.04 7338
+-92.09 38.04 7471
+-91.964 38.04 7615
+-91.838 38.04 7695
+-91.712 38.04 7847
+-91.586 38.04 7962
+-91.46 38.04 8118
+-91.334 38.04 8161
+-91.208 38.04 8245
+-91.082 38.04 8381
+-90.956 38.04 8427
+-90.83 38.04 8498
+-90.704 38.04 8606
+-90.578 38.04 8643
+-90.452 38.04 8615
+-90.326 38.04 8611
+-90.2 38.04 8584
+-90.074 38.04 8528
+-89.948 38.04 8475
+-89.822 38.04 8434
+-89.696 38.04 8738
+-89.57 38.04 8900
+-89.444 38.04 9016
+-89.318 38.04 9102
+-89.192 38.04 9268
+-89.066 38.04 9321
+-88.94 38.04 9421
+-88.814 38.04 9438
+-88.688 38.04 9361
+-88.562 38.04 9321
+-88.436 38.04 9245
+-88.31 38.04 9117
+-88.184 38.04 9021
+-88.058 38.04 8799
+-87.932 38.04 8679
+-87.806 38.04 8642
+-87.68 38.04 8424
+-87.554 38.04 8294
+-87.428 38.04 8252
+-87.302 38.04 8090
+-87.176 38.04 7971
+-87.05 38.04 7769
+-86.924 38.04 7606
+-86.798 38.04 7525
+-86.672 38.04 7345
+-86.546 38.04 7217
+-86.42 38.04 7116
+-86.294 38.04 6977
+-86.168 38.04 6860
+-86.042 38.04 6697
+-85.916 38.04 6528
+-85.79 38.04 6340
+-85.664 38.04 6264
+-85.538 38.04 6129
+-85.412 38.04 5976
+-85.286 38.04 5827
+-85.16 38.04 5700
+-85.034 38.04 5550
+-84.908 38.04 5449
+-84.782 38.04 5320
+-84.656 38.04 5103
+-84.53 38.04 4948
+-84.404 38.04 4813
+-84.278 38.04 4774
+-84.152 38.04 4610
+-84.026 38.04 4440
+-83.9 38.04 4409
+-83.774 38.04 4242
+-83.648 38.04 4195
+-83.522 38.04 4115
+-83.396 38.04 3955
+-83.27 38.04 3728
+-83.144 38.04 3503
+-83.018 38.04 3316
+-82.892 38.04 3154
+-82.766 38.04 2933
+-82.64 38.04 3087
+-82.514 38.04 3237
+-82.388 38.04 3321
+-82.262 38.04 3389
+-82.136 38.04 3433
+-82.01 38.04 3463
+-81.884 38.04 3501
+-81.758 38.04 3534
+-81.632 38.04 3562
+-81.506 38.04 3587
+-81.38 38.04 3609
+-81.254 38.04 3628
+-81.128 38.04 3644
+-81.002 38.04 3659
+-80.876 38.04 3673
+-80.75 38.04 3572
+-80.624 38.04 3581
+-80.498 38.04 3589
+-80.372 38.04 3596
+-80.246 38.04 3603
+-80.12 38.04 3535
+-79.994 38.04 3540
+-79.868 38.04 3544
+-79.742 38.04 3549
+-79.616 38.04 3553
+-79.49 38.04 3556
+-79.364 38.04 3559
+-79.238 38.04 3563
+-79.112 38.04 3565
+-78.986 38.04 3568
+-78.86 38.04 3571
+-78.734 38.04 3457
+-78.608 38.04 3387
+-78.482 38.04 3387
+-78.356 38.04 3386
+-78.23 38.04 3386
+-78.104 38.04 3386
+-77.978 38.04 3386
+-77.852 38.04 3385
+-77.726 38.04 3385
+-77.6 38.04 3384
+-77.474 38.04 3384
+-77.348 38.04 3338
+-77.222 38.04 3336
+-77.096 38.04 3335
+-76.97 38.04 3334
+-76.844 38.04 3333
+-76.718 38.04 3332
+-76.592 38.04 3331
+-76.466 38.04 3330
+-76.34 38.04 3329
+-76.214 38.04 3328
+-76.088 38.04 3327
+-75.962 38.04 3326
+-75.836 38.04 3325
+-75.71 38.04 3324
+-75.584 38.04 3232
+-75.458 38.04 3063
+-75.332 38.04 3061
+-75.206 38.04 3059
+-75.08 38.04 3057
+-74.954 38.04 3055
+-74.828 38.04 3054
+-74.702 38.04 3052
+-74.576 38.04 3050
+-74.45 38.04 3049
+-74.324 38.04 3047
+-74.198 38.04 3046
+-74.072 38.04 3044
+-73.946 38.04 3043
+-73.82 38.04 3042
+-73.694 38.04 3041
+-73.568 38.04 3039
+-73.442 38.04 3038
+-73.316 38.04 3037
+-73.19 38.04 2908
+-73.064 38.04 2907
+-72.938 38.04 2876
+-72.812 38.04 2827
+-72.686 38.04 2826
+-72.56 38.04 2824
+-72.434 38.04 2839
+-72.308 38.04 2837
+-72.182 38.04 2848
+-72.056 38.04 2847
+-71.93 38.04 2807
+-71.804 38.04 2766
+-71.678 38.04 2765
+-71.552 38.04 2765
+-71.426 38.04 2765
+-71.3 38.04 2782
+-71.174 38.04 2788
+-71.048 38.04 2798
+-70.922 38.04 2797
+-70.796 38.04 2829
+-70.67 38.04 2841
+-70.544 38.04 2843
+-70.418 38.04 2899
+-70.292 38.04 2922
+-70.166 38.04 2900
+-70.04 38.04 2890
+-69.914 38.04 3044
+-69.788 38.04 3046
+-69.662 38.04 3110
+-69.536 38.04 3112
+-69.41 38.04 3114
+-69.284 38.04 3116
+-69.158 38.04 3118
+-69.032 38.04 3031
+-68.906 38.04 3052
+-68.78 38.04 3054
+-68.654 38.04 3043
+-68.528 38.04 3343
+-68.402 38.04 3375
+-68.276 38.04 3375
+-68.15 38.04 3370
+-68.024 38.04 3371
+-67.898 38.04 3376
+-67.772 38.04 3393
+-67.646 38.04 3394
+-67.52 38.04 3380
+-67.394 38.04 3381
+-67.268 38.04 3332
+-67.142 38.04 3333
+-67.016 38.04 3334
+-66.89 38.04 3402
+-66.764 38.04 3396
+-66.638 38.04 3406
+-66.512 38.04 3407
+-66.386 38.04 3385
+-66.26 38.04 3408
+-66.134 38.04 3456
+-66.008 38.04 3468
+-65.882 38.04 3467
+-65.756 38.04 3465
+-65.63 38.04 3521
+-65.504 38.04 3522
+-65.378 38.04 3458
+-65.252 38.04 3484
+-65.126 38.04 3476
+-128 37.988 2636
+-127.874 37.988 2634
+-127.748 37.988 2631
+-127.622 37.988 2629
+-127.496 37.988 2701
+-127.37 37.988 2752
+-127.244 37.988 2824
+-127.118 37.988 2855
+-126.992 37.988 2853
+-126.866 37.988 2851
+-126.74 37.988 2791
+-126.614 37.988 2903
+-126.488 37.988 2901
+-126.362 37.988 2985
+-126.236 37.988 2982
+-126.11 37.988 2979
+-125.984 37.988 2938
+-125.858 37.988 3055
+-125.732 37.988 3059
+-125.606 37.988 3176
+-125.48 37.988 3093
+-125.354 37.988 3113
+-125.228 37.988 3107
+-125.102 37.988 3102
+-124.976 37.988 3096
+-124.85 37.988 3091
+-124.724 37.988 3086
+-124.598 37.988 3081
+-124.472 37.988 3077
+-124.346 37.988 3087
+-124.22 37.988 3110
+-124.094 37.988 3111
+-123.968 37.988 3112
+-123.842 37.988 3149
+-123.716 37.988 3154
+-123.59 37.988 3161
+-123.464 37.988 3170
+-123.338 37.988 3180
+-123.212 37.988 3192
+-123.086 37.988 3270
+-122.96 37.988 3284
+-122.834 37.988 3343
+-122.708 37.988 3416
+-122.582 37.988 3456
+-122.456 37.988 3477
+-122.33 37.988 3491
+-122.204 37.988 3486
+-122.078 37.988 3528
+-121.952 37.988 3584
+-121.826 37.988 3663
+-121.7 37.988 3678
+-121.574 37.988 3717
+-121.448 37.988 3728
+-121.322 37.988 3797
+-121.196 37.988 3917
+-121.07 37.988 4057
+-120.944 37.988 4168
+-120.818 37.988 4299
+-120.692 37.988 4334
+-120.566 37.988 4429
+-120.44 37.988 4453
+-120.314 37.988 4498
+-120.188 37.988 4557
+-120.062 37.988 4590
+-119.936 37.988 4660
+-119.81 37.988 4722
+-119.684 37.988 4762
+-119.558 37.988 4757
+-119.432 37.988 4823
+-119.306 37.988 4897
+-119.18 37.988 4940
+-119.054 37.988 4977
+-118.928 37.988 5023
+-118.802 37.988 5078
+-118.676 37.988 5103
+-118.55 37.988 5156
+-118.424 37.988 5224
+-118.298 37.988 5262
+-118.172 37.988 5259
+-118.046 37.988 5277
+-117.92 37.988 5304
+-117.794 37.988 5325
+-117.668 37.988 5352
+-117.542 37.988 5350
+-117.416 37.988 5333
+-117.29 37.988 5339
+-117.164 37.988 5333
+-117.038 37.988 5345
+-116.912 37.988 5363
+-116.786 37.988 5341
+-116.66 37.988 5304
+-116.534 37.988 5281
+-116.408 37.988 5259
+-116.282 37.988 5219
+-116.156 37.988 5165
+-116.03 37.988 5121
+-115.904 37.988 5087
+-115.778 37.988 5068
+-115.652 37.988 5016
+-115.526 37.988 4974
+-115.4 37.988 4931
+-115.274 37.988 4875
+-115.148 37.988 4826
+-115.022 37.988 4709
+-114.896 37.988 4615
+-114.77 37.988 4524
+-114.644 37.988 4492
+-114.518 37.988 4434
+-114.392 37.988 4361
+-114.266 37.988 4293
+-114.14 37.988 4195
+-114.014 37.988 4141
+-113.888 37.988 4141
+-113.762 37.988 4139
+-113.636 37.988 4091
+-113.51 37.988 4053
+-113.384 37.988 3973
+-113.258 37.988 3930
+-113.132 37.988 3903
+-113.006 37.988 3808
+-112.88 37.988 3716
+-112.754 37.988 3616
+-112.628 37.988 3449
+-112.502 37.988 3359
+-112.376 37.988 3274
+-112.25 37.988 3171
+-112.124 37.988 3106
+-111.998 37.988 3063
+-111.872 37.988 2962
+-111.746 37.988 2924
+-111.62 37.988 2892
+-111.494 37.988 2859
+-111.368 37.988 2827
+-111.242 37.988 2774
+-111.116 37.988 2746
+-110.99 37.988 2718
+-110.864 37.988 2687
+-110.738 37.988 2647
+-110.612 37.988 2602
+-110.486 37.988 2578
+-110.36 37.988 2592
+-110.234 37.988 2616
+-110.108 37.988 2650
+-109.982 37.988 2674
+-109.856 37.988 2693
+-109.73 37.988 2694
+-109.604 37.988 2683
+-109.478 37.988 2650
+-109.352 37.988 2603
+-109.226 37.988 2539
+-109.1 37.988 2479
+-108.974 37.988 2416
+-108.848 37.988 2395
+-108.722 37.988 2412
+-108.596 37.988 2441
+-108.47 37.988 2452
+-108.344 37.988 2427
+-108.218 37.988 2363
+-108.092 37.988 2260
+-107.966 37.988 2142
+-107.84 37.988 2057
+-107.714 37.988 2024
+-107.588 37.988 2042
+-107.462 37.988 2105
+-107.336 37.988 2190
+-107.21 37.988 2278
+-107.084 37.988 2386
+-106.958 37.988 2463
+-106.832 37.988 2528
+-106.706 37.988 2607
+-106.58 37.988 2630
+-106.454 37.988 2673
+-106.328 37.988 2696
+-106.202 37.988 2772
+-106.076 37.988 2796
+-105.95 37.988 2822
+-105.824 37.988 2846
+-105.698 37.988 2831
+-105.572 37.988 2912
+-105.446 37.988 2924
+-105.32 37.988 2935
+-105.194 37.988 2936
+-105.068 37.988 2955
+-104.942 37.988 2963
+-104.816 37.988 2971
+-104.69 37.988 2942
+-104.564 37.988 2960
+-104.438 37.988 2995
+-104.312 37.988 3002
+-104.186 37.988 3006
+-104.06 37.988 3013
+-103.934 37.988 3019
+-103.808 37.988 3007
+-103.682 37.988 3092
+-103.556 37.988 3098
+-103.43 37.988 3067
+-103.304 37.988 3072
+-103.178 37.988 3077
+-103.052 37.988 3083
+-102.926 37.988 3000
+-102.8 37.988 3004
+-102.674 37.988 3008
+-102.548 37.988 2940
+-102.422 37.988 2786
+-102.296 37.988 2801
+-102.17 37.988 2742
+-102.044 37.988 2804
+-101.918 37.988 2687
+-101.792 37.988 2733
+-101.666 37.988 2764
+-101.54 37.988 2841
+-101.414 37.988 2839
+-101.288 37.988 2838
+-101.162 37.988 2868
+-101.036 37.988 3035
+-100.91 37.988 3038
+-100.784 37.988 3170
+-100.658 37.988 3171
+-100.532 37.988 3171
+-100.406 37.988 3172
+-100.28 37.988 3173
+-100.154 37.988 3222
+-100.028 37.988 3221
+-99.902 37.988 3221
+-99.776 37.988 3221
+-99.65 37.988 3221
+-99.524 37.988 3221
+-99.398 37.988 3221
+-99.272 37.988 3221
+-99.146 37.988 3222
+-99.02 37.988 3222
+-98.894 37.988 3244
+-98.768 37.988 3327
+-98.642 37.988 3325
+-98.516 37.988 3323
+-98.39 37.988 3321
+-98.264 37.988 3320
+-98.138 37.988 3319
+-98.012 37.988 3318
+-97.886 37.988 3341
+-97.76 37.988 3341
+-97.634 37.988 3341
+-97.508 37.988 3342
+-97.382 37.988 3345
+-97.256 37.988 3418
+-97.13 37.988 3423
+-97.004 37.988 3429
+-96.878 37.988 3436
+-96.752 37.988 3443
+-96.626 37.988 3484
+-96.5 37.988 3490
+-96.374 37.988 3541
+-96.248 37.988 3587
+-96.122 37.988 3638
+-95.996 37.988 3729
+-95.87 37.988 3806
+-95.744 37.988 3845
+-95.618 37.988 3793
+-95.492 37.988 3967
+-95.366 37.988 4236
+-95.24 37.988 4361
+-95.114 37.988 4366
+-94.988 37.988 4496
+-94.862 37.988 4695
+-94.736 37.988 4786
+-94.61 37.988 4827
+-94.484 37.988 4933
+-94.358 37.988 5051
+-94.232 37.988 5215
+-94.106 37.988 5374
+-93.98 37.988 5587
+-93.854 37.988 5642
+-93.728 37.988 5783
+-93.602 37.988 5930
+-93.476 37.988 6073
+-93.35 37.988 6147
+-93.224 37.988 6357
+-93.098 37.988 6451
+-92.972 37.988 6527
+-92.846 37.988 6731
+-92.72 37.988 6841
+-92.594 37.988 6997
+-92.468 37.988 7113
+-92.342 37.988 7224
+-92.216 37.988 7351
+-92.09 37.988 7477
+-91.964 37.988 7598
+-91.838 37.988 7681
+-91.712 37.988 7802
+-91.586 37.988 7946
+-91.46 37.988 8063
+-91.334 37.988 8200
+-91.208 37.988 8237
+-91.082 37.988 8353
+-90.956 37.988 8379
+-90.83 37.988 8484
+-90.704 37.988 8535
+-90.578 37.988 8590
+-90.452 37.988 8575
+-90.326 37.988 8554
+-90.2 37.988 8515
+-90.074 37.988 8502
+-89.948 37.988 8408
+-89.822 37.988 8529
+-89.696 37.988 8829
+-89.57 37.988 8911
+-89.444 37.988 9037
+-89.318 37.988 9189
+-89.192 37.988 9301
+-89.066 37.988 9397
+-88.94 37.988 9481
+-88.814 37.988 9467
+-88.688 37.988 9469
+-88.562 37.988 9365
+-88.436 37.988 9311
+-88.31 37.988 9126
+-88.184 37.988 9011
+-88.058 37.988 8861
+-87.932 37.988 8709
+-87.806 37.988 8632
+-87.68 37.988 8470
+-87.554 37.988 8354
+-87.428 37.988 8231
+-87.302 37.988 8058
+-87.176 37.988 7947
+-87.05 37.988 7814
+-86.924 37.988 7680
+-86.798 37.988 7488
+-86.672 37.988 7407
+-86.546 37.988 7240
+-86.42 37.988 7105
+-86.294 37.988 6912
+-86.168 37.988 6781
+-86.042 37.988 6685
+-85.916 37.988 6531
+-85.79 37.988 6410
+-85.664 37.988 6258
+-85.538 37.988 6112
+-85.412 37.988 5971
+-85.286 37.988 5854
+-85.16 37.988 5708
+-85.034 37.988 5544
+-84.908 37.988 5448
+-84.782 37.988 5359
+-84.656 37.988 5087
+-84.53 37.988 4931
+-84.404 37.988 4855
+-84.278 37.988 4745
+-84.152 37.988 4690
+-84.026 37.988 4561
+-83.9 37.988 4475
+-83.774 37.988 4364
+-83.648 37.988 4249
+-83.522 37.988 4145
+-83.396 37.988 3988
+-83.27 37.988 3798
+-83.144 37.988 3587
+-83.018 37.988 3394
+-82.892 37.988 3212
+-82.766 37.988 3096
+-82.64 37.988 3152
+-82.514 37.988 3254
+-82.388 37.988 3316
+-82.262 37.988 3369
+-82.136 37.988 3407
+-82.01 37.988 3453
+-81.884 37.988 3494
+-81.758 37.988 3529
+-81.632 37.988 3554
+-81.506 37.988 3580
+-81.38 37.988 3603
+-81.254 37.988 3623
+-81.128 37.988 3640
+-81.002 37.988 3655
+-80.876 37.988 3557
+-80.75 37.988 3568
+-80.624 37.988 3577
+-80.498 37.988 3585
+-80.372 37.988 3590
+-80.246 37.988 3597
+-80.12 37.988 3603
+-79.994 37.988 3538
+-79.868 37.988 3542
+-79.742 37.988 3547
+-79.616 37.988 3551
+-79.49 37.988 3554
+-79.364 37.988 3558
+-79.238 37.988 3561
+-79.112 37.988 3564
+-78.986 37.988 3567
+-78.86 37.988 3474
+-78.734 37.988 3411
+-78.608 37.988 3411
+-78.482 37.988 3411
+-78.356 37.988 3412
+-78.23 37.988 3412
+-78.104 37.988 3412
+-77.978 37.988 3412
+-77.852 37.988 3412
+-77.726 37.988 3413
+-77.6 37.988 3336
+-77.474 37.988 3335
+-77.348 37.988 3334
+-77.222 37.988 3333
+-77.096 37.988 3332
+-76.97 37.988 3330
+-76.844 37.988 3329
+-76.718 37.988 3328
+-76.592 37.988 3327
+-76.466 37.988 3326
+-76.34 37.988 3325
+-76.214 37.988 3324
+-76.088 37.988 3324
+-75.962 37.988 3323
+-75.836 37.988 3322
+-75.71 37.988 3229
+-75.584 37.988 3062
+-75.458 37.988 3060
+-75.332 37.988 3058
+-75.206 37.988 3056
+-75.08 37.988 3054
+-74.954 37.988 3053
+-74.828 37.988 3051
+-74.702 37.988 3049
+-74.576 37.988 3048
+-74.45 37.988 3046
+-74.324 37.988 3045
+-74.198 37.988 3043
+-74.072 37.988 3042
+-73.946 37.988 3040
+-73.82 37.988 3039
+-73.694 37.988 3038
+-73.568 37.988 3037
+-73.442 37.988 3036
+-73.316 37.988 2907
+-73.19 37.988 2905
+-73.064 37.988 2874
+-72.938 37.988 2825
+-72.812 37.988 2824
+-72.686 37.988 2823
+-72.56 37.988 2837
+-72.434 37.988 2836
+-72.308 37.988 2846
+-72.182 37.988 2845
+-72.056 37.988 2805
+-71.93 37.988 2764
+-71.804 37.988 2764
+-71.678 37.988 2763
+-71.552 37.988 2763
+-71.426 37.988 2780
+-71.3 37.988 2787
+-71.174 37.988 2796
+-71.048 37.988 2795
+-70.922 37.988 2828
+-70.796 37.988 2840
+-70.67 37.988 2841
+-70.544 37.988 2897
+-70.418 37.988 2920
+-70.292 37.988 2899
+-70.166 37.988 2889
+-70.04 37.988 3042
+-69.914 37.988 3044
+-69.788 37.988 3108
+-69.662 37.988 3110
+-69.536 37.988 3112
+-69.41 37.988 3114
+-69.284 37.988 3116
+-69.158 37.988 3029
+-69.032 37.988 3051
+-68.906 37.988 3053
+-68.78 37.988 3042
+-68.654 37.988 3341
+-68.528 37.988 3373
+-68.402 37.988 3374
+-68.276 37.988 3369
+-68.15 37.988 3370
+-68.024 37.988 3374
+-67.898 37.988 3391
+-67.772 37.988 3392
+-67.646 37.988 3379
+-67.52 37.988 3380
+-67.394 37.988 3331
+-67.268 37.988 3332
+-67.142 37.988 3333
+-67.016 37.988 3401
+-66.89 37.988 3395
+-66.764 37.988 3405
+-66.638 37.988 3406
+-66.512 37.988 3384
+-66.386 37.988 3407
+-66.26 37.988 3455
+-66.134 37.988 3467
+-66.008 37.988 3466
+-65.882 37.988 3464
+-65.756 37.988 3520
+-65.63 37.988 3521
+-65.504 37.988 3457
+-65.378 37.988 3483
+-65.252 37.988 3475
+-65.126 37.988 3389
+-128 37.936 2714
+-127.874 37.936 2643
+-127.748 37.936 2641
+-127.622 37.936 2714
+-127.496 37.936 2708
+-127.37 37.936 2706
+-127.244 37.936 2834
+-127.118 37.936 2833
+-126.992 37.936 2865
+-126.866 37.936 2864
+-126.74 37.936 2862
+-126.614 37.936 2802
+-126.488 37.936 3003
+-126.362 37.936 3000
+-126.236 37.936 2998
+-126.11 37.936 2995
+-125.984 37.936 2953
+-125.858 37.936 3039
+-125.732 37.936 3159
+-125.606 37.936 3166
+-125.48 37.936 3193
+-125.354 37.936 3110
+-125.228 37.936 3131
+-125.102 37.936 3127
+-124.976 37.936 3123
+-124.85 37.936 3120
+-124.724 37.936 3116
+-124.598 37.936 3114
+-124.472 37.936 3111
+-124.346 37.936 3109
+-124.22 37.936 3122
+-124.094 37.936 3149
+-123.968 37.936 3154
+-123.842 37.936 3158
+-123.716 37.936 3199
+-123.59 37.936 3209
+-123.464 37.936 3220
+-123.338 37.936 3233
+-123.212 37.936 3247
+-123.086 37.936 3314
+-122.96 37.936 3332
+-122.834 37.936 3478
+-122.708 37.936 3522
+-122.582 37.936 3573
+-122.456 37.936 3578
+-122.33 37.936 3589
+-122.204 37.936 3694
+-122.078 37.936 3719
+-121.952 37.936 3706
+-121.826 37.936 3746
+-121.7 37.936 3718
+-121.574 37.936 3647
+-121.448 37.936 3610
+-121.322 37.936 3703
+-121.196 37.936 3884
+-121.07 37.936 4088
+-120.944 37.936 4208
+-120.818 37.936 4298
+-120.692 37.936 4386
+-120.566 37.936 4427
+-120.44 37.936 4450
+-120.314 37.936 4513
+-120.188 37.936 4569
+-120.062 37.936 4630
+-119.936 37.936 4702
+-119.81 37.936 4768
+-119.684 37.936 4796
+-119.558 37.936 4814
+-119.432 37.936 4871
+-119.306 37.936 4929
+-119.18 37.936 4927
+-119.054 37.936 4998
+-118.928 37.936 5073
+-118.802 37.936 5130
+-118.676 37.936 5155
+-118.55 37.936 5218
+-118.424 37.936 5230
+-118.298 37.936 5306
+-118.172 37.936 5311
+-118.046 37.936 5330
+-117.92 37.936 5374
+-117.794 37.936 5420
+-117.668 37.936 5440
+-117.542 37.936 5439
+-117.416 37.936 5410
+-117.29 37.936 5415
+-117.164 37.936 5426
+-117.038 37.936 5418
+-116.912 37.936 5408
+-116.786 37.936 5418
+-116.66 37.936 5386
+-116.534 37.936 5363
+-116.408 37.936 5338
+-116.282 37.936 5296
+-116.156 37.936 5251
+-116.03 37.936 5214
+-115.904 37.936 5163
+-115.778 37.936 5119
+-115.652 37.936 5081
+-115.526 37.936 5034
+-115.4 37.936 4984
+-115.274 37.936 4948
+-115.148 37.936 4875
+-115.022 37.936 4810
+-114.896 37.936 4720
+-114.77 37.936 4608
+-114.644 37.936 4543
+-114.518 37.936 4487
+-114.392 37.936 4394
+-114.266 37.936 4306
+-114.14 37.936 4189
+-114.014 37.936 4089
+-113.888 37.936 4148
+-113.762 37.936 4183
+-113.636 37.936 4189
+-113.51 37.936 4149
+-113.384 37.936 4023
+-113.258 37.936 3981
+-113.132 37.936 3943
+-113.006 37.936 3853
+-112.88 37.936 3744
+-112.754 37.936 3639
+-112.628 37.936 3443
+-112.502 37.936 3351
+-112.376 37.936 3236
+-112.25 37.936 3141
+-112.124 37.936 3099
+-111.998 37.936 3001
+-111.872 37.936 2965
+-111.746 37.936 2937
+-111.62 37.936 2911
+-111.494 37.936 2887
+-111.368 37.936 2863
+-111.242 37.936 2840
+-111.116 37.936 2808
+-110.99 37.936 2790
+-110.864 37.936 2765
+-110.738 37.936 2736
+-110.612 37.936 2706
+-110.486 37.936 2688
+-110.36 37.936 2692
+-110.234 37.936 2693
+-110.108 37.936 2706
+-109.982 37.936 2726
+-109.856 37.936 2732
+-109.73 37.936 2732
+-109.604 37.936 2713
+-109.478 37.936 2680
+-109.352 37.936 2630
+-109.226 37.936 2585
+-109.1 37.936 2506
+-108.974 37.936 2441
+-108.848 37.936 2417
+-108.722 37.936 2433
+-108.596 37.936 2461
+-108.47 37.936 2477
+-108.344 37.936 2468
+-108.218 37.936 2418
+-108.092 37.936 2330
+-107.966 37.936 2246
+-107.84 37.936 2183
+-107.714 37.936 2150
+-107.588 37.936 2164
+-107.462 37.936 2212
+-107.336 37.936 2277
+-107.21 37.936 2373
+-107.084 37.936 2445
+-106.958 37.936 2510
+-106.832 37.936 2589
+-106.706 37.936 2615
+-106.58 37.936 2660
+-106.454 37.936 2686
+-106.328 37.936 2762
+-106.202 37.936 2788
+-106.076 37.936 2815
+-105.95 37.936 2839
+-105.824 37.936 2825
+-105.698 37.936 2904
+-105.572 37.936 2916
+-105.446 37.936 2927
+-105.32 37.936 2929
+-105.194 37.936 2947
+-105.068 37.936 2956
+-104.942 37.936 2964
+-104.816 37.936 2935
+-104.69 37.936 2953
+-104.564 37.936 2987
+-104.438 37.936 2994
+-104.312 37.936 2999
+-104.186 37.936 3006
+-104.06 37.936 3012
+-103.934 37.936 3001
+-103.808 37.936 3084
+-103.682 37.936 3091
+-103.556 37.936 3060
+-103.43 37.936 3066
+-103.304 37.936 3072
+-103.178 37.936 3077
+-103.052 37.936 2996
+-102.926 37.936 3000
+-102.8 37.936 3004
+-102.674 37.936 3013
+-102.548 37.936 3017
+-102.422 37.936 2846
+-102.296 37.936 2787
+-102.17 37.936 2767
+-102.044 37.936 2725
+-101.918 37.936 2689
+-101.792 37.936 2735
+-101.666 37.936 2671
+-101.54 37.936 2708
+-101.414 37.936 2831
+-101.288 37.936 2823
+-101.162 37.936 2853
+-101.036 37.936 3034
+-100.91 37.936 3046
+-100.784 37.936 3158
+-100.658 37.936 3171
+-100.532 37.936 3172
+-100.406 37.936 3173
+-100.28 37.936 3221
+-100.154 37.936 3221
+-100.028 37.936 3221
+-99.902 37.936 3221
+-99.776 37.936 3221
+-99.65 37.936 3221
+-99.524 37.936 3221
+-99.398 37.936 3221
+-99.272 37.936 3222
+-99.146 37.936 3222
+-99.02 37.936 3245
+-98.894 37.936 3288
+-98.768 37.936 3288
+-98.642 37.936 3328
+-98.516 37.936 3327
+-98.39 37.936 3325
+-98.264 37.936 3325
+-98.138 37.936 3324
+-98.012 37.936 3324
+-97.886 37.936 3323
+-97.76 37.936 3346
+-97.634 37.936 3347
+-97.508 37.936 3349
+-97.382 37.936 3423
+-97.256 37.936 3427
+-97.13 37.936 3432
+-97.004 37.936 3439
+-96.878 37.936 3447
+-96.752 37.936 3457
+-96.626 37.936 3497
+-96.5 37.936 3553
+-96.374 37.936 3573
+-96.248 37.936 3626
+-96.122 37.936 3666
+-95.996 37.936 3716
+-95.87 37.936 3732
+-95.744 37.936 3740
+-95.618 37.936 3851
+-95.492 37.936 4017
+-95.366 37.936 4248
+-95.24 37.936 4347
+-95.114 37.936 4300
+-94.988 37.936 4477
+-94.862 37.936 4678
+-94.736 37.936 4748
+-94.61 37.936 4824
+-94.484 37.936 4924
+-94.358 37.936 5071
+-94.232 37.936 5199
+-94.106 37.936 5338
+-93.98 37.936 5572
+-93.854 37.936 5658
+-93.728 37.936 5758
+-93.602 37.936 5895
+-93.476 37.936 6048
+-93.35 37.936 6213
+-93.224 37.936 6338
+-93.098 37.936 6452
+-92.972 37.936 6510
+-92.846 37.936 6672
+-92.72 37.936 6845
+-92.594 37.936 6993
+-92.468 37.936 7103
+-92.342 37.936 7230
+-92.216 37.936 7277
+-92.09 37.936 7462
+-91.964 37.936 7575
+-91.838 37.936 7669
+-91.712 37.936 7828
+-91.586 37.936 7913
+-91.46 37.936 8014
+-91.334 37.936 8110
+-91.208 37.936 8162
+-91.082 37.936 8303
+-90.956 37.936 8360
+-90.83 37.936 8417
+-90.704 37.936 8480
+-90.578 37.936 8527
+-90.452 37.936 8517
+-90.326 37.936 8513
+-90.2 37.936 8478
+-90.074 37.936 8402
+-89.948 37.936 8387
+-89.822 37.936 8662
+-89.696 37.936 8808
+-89.57 37.936 8979
+-89.444 37.936 9063
+-89.318 37.936 9195
+-89.192 37.936 9345
+-89.066 37.936 9408
+-88.94 37.936 9500
+-88.814 37.936 9544
+-88.688 37.936 9499
+-88.562 37.936 9437
+-88.436 37.936 9314
+-88.31 37.936 9201
+-88.184 37.936 9063
+-88.058 37.936 8892
+-87.932 37.936 8772
+-87.806 37.936 8687
+-87.68 37.936 8467
+-87.554 37.936 8301
+-87.428 37.936 8233
+-87.302 37.936 8049
+-87.176 37.936 7912
+-87.05 37.936 7811
+-86.924 37.936 7725
+-86.798 37.936 7581
+-86.672 37.936 7404
+-86.546 37.936 7295
+-86.42 37.936 7082
+-86.294 37.936 6932
+-86.168 37.936 6801
+-86.042 37.936 6659
+-85.916 37.936 6519
+-85.79 37.936 6379
+-85.664 37.936 6235
+-85.538 37.936 6082
+-85.412 37.936 5978
+-85.286 37.936 5884
+-85.16 37.936 5725
+-85.034 37.936 5535
+-84.908 37.936 5485
+-84.782 37.936 5363
+-84.656 37.936 5137
+-84.53 37.936 4971
+-84.404 37.936 4859
+-84.278 37.936 4806
+-84.152 37.936 4725
+-84.026 37.936 4643
+-83.9 37.936 4519
+-83.774 37.936 4386
+-83.648 37.936 4296
+-83.522 37.936 4179
+-83.396 37.936 4010
+-83.27 37.936 3845
+-83.144 37.936 3665
+-83.018 37.936 3491
+-82.892 37.936 3333
+-82.766 37.936 3249
+-82.64 37.936 3240
+-82.514 37.936 3257
+-82.388 37.936 3299
+-82.262 37.936 3341
+-82.136 37.936 3395
+-82.01 37.936 3444
+-81.884 37.936 3487
+-81.758 37.936 3524
+-81.632 37.936 3555
+-81.506 37.936 3583
+-81.38 37.936 3606
+-81.254 37.936 3627
+-81.128 37.936 3645
+-81.002 37.936 3661
+-80.876 37.936 3634
+-80.75 37.936 3562
+-80.624 37.936 3572
+-80.498 37.936 3580
+-80.372 37.936 3587
+-80.246 37.936 3594
+-80.12 37.936 3600
+-79.994 37.936 3606
+-79.868 37.936 3541
+-79.742 37.936 3545
+-79.616 37.936 3549
+-79.49 37.936 3553
+-79.364 37.936 3556
+-79.238 37.936 3559
+-79.112 37.936 3562
+-78.986 37.936 3471
+-78.86 37.936 3408
+-78.734 37.936 3408
+-78.608 37.936 3409
+-78.482 37.936 3409
+-78.356 37.936 3409
+-78.23 37.936 3409
+-78.104 37.936 3410
+-77.978 37.936 3410
+-77.852 37.936 3410
+-77.726 37.936 3334
+-77.6 37.936 3332
+-77.474 37.936 3331
+-77.348 37.936 3330
+-77.222 37.936 3329
+-77.096 37.936 3328
+-76.97 37.936 3327
+-76.844 37.936 3326
+-76.718 37.936 3325
+-76.592 37.936 3324
+-76.466 37.936 3323
+-76.34 37.936 3322
+-76.214 37.936 3321
+-76.088 37.936 3320
+-75.962 37.936 3319
+-75.836 37.936 3227
+-75.71 37.936 3061
+-75.584 37.936 3059
+-75.458 37.936 3057
+-75.332 37.936 3055
+-75.206 37.936 3053
+-75.08 37.936 3051
+-74.954 37.936 3050
+-74.828 37.936 3048
+-74.702 37.936 3046
+-74.576 37.936 3045
+-74.45 37.936 3043
+-74.324 37.936 3042
+-74.198 37.936 3040
+-74.072 37.936 3039
+-73.946 37.936 3038
+-73.82 37.936 3036
+-73.694 37.936 3035
+-73.568 37.936 3034
+-73.442 37.936 2905
+-73.316 37.936 2904
+-73.19 37.936 2872
+-73.064 37.936 2823
+-72.938 37.936 2822
+-72.812 37.936 2821
+-72.686 37.936 2835
+-72.56 37.936 2834
+-72.434 37.936 2844
+-72.308 37.936 2843
+-72.182 37.936 2803
+-72.056 37.936 2762
+-71.93 37.936 2762
+-71.804 37.936 2762
+-71.678 37.936 2761
+-71.552 37.936 2778
+-71.426 37.936 2785
+-71.3 37.936 2795
+-71.174 37.936 2793
+-71.048 37.936 2826
+-70.922 37.936 2838
+-70.796 37.936 2839
+-70.67 37.936 2895
+-70.544 37.936 2918
+-70.418 37.936 2897
+-70.292 37.936 2887
+-70.166 37.936 3040
+-70.04 37.936 3042
+-69.914 37.936 3106
+-69.788 37.936 3108
+-69.662 37.936 3110
+-69.536 37.936 3112
+-69.41 37.936 3114
+-69.284 37.936 3028
+-69.158 37.936 3049
+-69.032 37.936 3051
+-68.906 37.936 3040
+-68.78 37.936 3340
+-68.654 37.936 3371
+-68.528 37.936 3372
+-68.402 37.936 3367
+-68.276 37.936 3368
+-68.15 37.936 3373
+-68.024 37.936 3390
+-67.898 37.936 3391
+-67.772 37.936 3378
+-67.646 37.936 3379
+-67.52 37.936 3330
+-67.394 37.936 3331
+-67.268 37.936 3331
+-67.142 37.936 3399
+-67.016 37.936 3394
+-66.89 37.936 3404
+-66.764 37.936 3405
+-66.638 37.936 3383
+-66.512 37.936 3406
+-66.386 37.936 3454
+-66.26 37.936 3466
+-66.134 37.936 3465
+-66.008 37.936 3463
+-65.882 37.936 3519
+-65.756 37.936 3520
+-65.63 37.936 3456
+-65.504 37.936 3481
+-65.378 37.936 3474
+-65.252 37.936 3392
+-65.126 37.936 3299
+-128 37.884 2724
+-127.874 37.884 2721
+-127.748 37.884 2715
+-127.622 37.884 2720
+-127.496 37.884 2718
+-127.37 37.884 2844
+-127.244 37.884 2844
+-127.118 37.884 2843
+-126.992 37.884 2843
+-126.866 37.884 2875
+-126.74 37.884 2951
+-126.614 37.884 2898
+-126.488 37.884 2898
+-126.362 37.884 3014
+-126.236 37.884 3012
+-126.11 37.884 2966
+-125.984 37.884 3055
+-125.858 37.884 3054
+-125.732 37.884 3053
+-125.606 37.884 3175
+-125.48 37.884 3183
+-125.354 37.884 3212
+-125.228 37.884 3129
+-125.102 37.884 3152
+-124.976 37.884 3149
+-124.85 37.884 3147
+-124.724 37.884 3145
+-124.598 37.884 3144
+-124.472 37.884 3143
+-124.346 37.884 3143
+-124.22 37.884 3144
+-124.094 37.884 3160
+-123.968 37.884 3191
+-123.842 37.884 3199
+-123.716 37.884 3206
+-123.59 37.884 3341
+-123.464 37.884 3321
+-123.338 37.884 3335
+-123.212 37.884 3350
+-123.086 37.884 3468
+-122.96 37.884 3486
+-122.834 37.884 3514
+-122.708 37.884 3602
+-122.582 37.884 3639
+-122.456 37.884 3686
+-122.33 37.884 3776
+-122.204 37.884 3830
+-122.078 37.884 3829
+-121.952 37.884 3835
+-121.826 37.884 3792
+-121.7 37.884 3723
+-121.574 37.884 3605
+-121.448 37.884 3523
+-121.322 37.884 3647
+-121.196 37.884 3888
+-121.07 37.884 4092
+-120.944 37.884 4228
+-120.818 37.884 4345
+-120.692 37.884 4392
+-120.566 37.884 4411
+-120.44 37.884 4434
+-120.314 37.884 4498
+-120.188 37.884 4571
+-120.062 37.884 4661
+-119.936 37.884 4742
+-119.81 37.884 4802
+-119.684 37.884 4851
+-119.558 37.884 4869
+-119.432 37.884 4915
+-119.306 37.884 4970
+-119.18 37.884 4994
+-119.054 37.884 5079
+-118.928 37.884 5136
+-118.802 37.884 5170
+-118.676 37.884 5219
+-118.55 37.884 5285
+-118.424 37.884 5313
+-118.298 37.884 5341
+-118.172 37.884 5365
+-118.046 37.884 5399
+-117.92 37.884 5443
+-117.794 37.884 5490
+-117.668 37.884 5500
+-117.542 37.884 5503
+-117.416 37.884 5515
+-117.29 37.884 5520
+-117.164 37.884 5514
+-117.038 37.884 5499
+-116.912 37.884 5469
+-116.786 37.884 5460
+-116.66 37.884 5431
+-116.534 37.884 5394
+-116.408 37.884 5347
+-116.282 37.884 5334
+-116.156 37.884 5294
+-116.03 37.884 5269
+-115.904 37.884 5214
+-115.778 37.884 5161
+-115.652 37.884 5126
+-115.526 37.884 5058
+-115.4 37.884 4968
+-115.274 37.884 4969
+-115.148 37.884 4901
+-115.022 37.884 4840
+-114.896 37.884 4738
+-114.77 37.884 4651
+-114.644 37.884 4570
+-114.518 37.884 4497
+-114.392 37.884 4453
+-114.266 37.884 4354
+-114.14 37.884 4222
+-114.014 37.884 4125
+-113.888 37.884 4180
+-113.762 37.884 4234
+-113.636 37.884 4232
+-113.51 37.884 4197
+-113.384 37.884 4090
+-113.258 37.884 4043
+-113.132 37.884 3995
+-113.006 37.884 3863
+-112.88 37.884 3738
+-112.754 37.884 3594
+-112.628 37.884 3445
+-112.502 37.884 3332
+-112.376 37.884 3242
+-112.25 37.884 3150
+-112.124 37.884 3097
+-111.998 37.884 3033
+-111.872 37.884 3001
+-111.746 37.884 2943
+-111.62 37.884 2922
+-111.494 37.884 2905
+-111.368 37.884 2884
+-111.242 37.884 2877
+-111.116 37.884 2856
+-110.99 37.884 2844
+-110.864 37.884 2829
+-110.738 37.884 2812
+-110.612 37.884 2793
+-110.486 37.884 2781
+-110.36 37.884 2777
+-110.234 37.884 2782
+-110.108 37.884 2769
+-109.982 37.884 2778
+-109.856 37.884 2779
+-109.73 37.884 2769
+-109.604 37.884 2750
+-109.478 37.884 2719
+-109.352 37.884 2700
+-109.226 37.884 2637
+-109.1 37.884 2567
+-108.974 37.884 2509
+-108.848 37.884 2483
+-108.722 37.884 2493
+-108.596 37.884 2517
+-108.47 37.884 2523
+-108.344 37.884 2515
+-108.218 37.884 2466
+-108.092 37.884 2412
+-107.966 37.884 2360
+-107.84 37.884 2309
+-107.714 37.884 2291
+-107.588 37.884 2299
+-107.462 37.884 2329
+-107.336 37.884 2401
+-107.21 37.884 2457
+-107.084 37.884 2512
+-106.958 37.884 2587
+-106.832 37.884 2611
+-106.706 37.884 2655
+-106.58 37.884 2682
+-106.454 37.884 2757
+-106.328 37.884 2783
+-106.202 37.884 2810
+-106.076 37.884 2834
+-105.95 37.884 2822
+-105.824 37.884 2897
+-105.698 37.884 2909
+-105.572 37.884 2920
+-105.446 37.884 2922
+-105.32 37.884 2940
+-105.194 37.884 2948
+-105.068 37.884 2956
+-104.942 37.884 2928
+-104.816 37.884 2946
+-104.69 37.884 2979
+-104.564 37.884 2987
+-104.438 37.884 2991
+-104.312 37.884 2998
+-104.186 37.884 3005
+-104.06 37.884 2994
+-103.934 37.884 3076
+-103.808 37.884 3083
+-103.682 37.884 3054
+-103.556 37.884 3060
+-103.43 37.884 3065
+-103.304 37.884 3071
+-103.178 37.884 2991
+-103.052 37.884 2996
+-102.926 37.884 3000
+-102.8 37.884 3009
+-102.674 37.884 3013
+-102.548 37.884 3015
+-102.422 37.884 2925
+-102.296 37.884 2847
+-102.17 37.884 2770
+-102.044 37.884 2784
+-101.918 37.884 2690
+-101.792 37.884 2710
+-101.666 37.884 2738
+-101.54 37.884 2707
+-101.414 37.884 2805
+-101.288 37.884 2806
+-101.162 37.884 2835
+-101.036 37.884 3032
+-100.91 37.884 3045
+-100.784 37.884 3157
+-100.658 37.884 3172
+-100.532 37.884 3172
+-100.406 37.884 3221
+-100.28 37.884 3220
+-100.154 37.884 3220
+-100.028 37.884 3220
+-99.902 37.884 3220
+-99.776 37.884 3221
+-99.65 37.884 3221
+-99.524 37.884 3221
+-99.398 37.884 3221
+-99.272 37.884 3222
+-99.146 37.884 3246
+-99.02 37.884 3288
+-98.894 37.884 3288
+-98.768 37.884 3288
+-98.642 37.884 3289
+-98.516 37.884 3332
+-98.39 37.884 3330
+-98.264 37.884 3329
+-98.138 37.884 3328
+-98.012 37.884 3328
+-97.886 37.884 3328
+-97.76 37.884 3328
+-97.634 37.884 3342
+-97.508 37.884 3424
+-97.382 37.884 3426
+-97.256 37.884 3430
+-97.13 37.884 3435
+-97.004 37.884 3442
+-96.878 37.884 3450
+-96.752 37.884 3489
+-96.626 37.884 3546
+-96.5 37.884 3558
+-96.374 37.884 3578
+-96.248 37.884 3621
+-96.122 37.884 3663
+-95.996 37.884 3691
+-95.87 37.884 3676
+-95.744 37.884 3586
+-95.618 37.884 3781
+-95.492 37.884 4036
+-95.366 37.884 4256
+-95.24 37.884 4348
+-95.114 37.884 4290
+-94.988 37.884 4466
+-94.862 37.884 4653
+-94.736 37.884 4700
+-94.61 37.884 4844
+-94.484 37.884 4983
+-94.358 37.884 5127
+-94.232 37.884 5188
+-94.106 37.884 5349
+-93.98 37.884 5505
+-93.854 37.884 5615
+-93.728 37.884 5768
+-93.602 37.884 5935
+-93.476 37.884 5999
+-93.35 37.884 6208
+-93.224 37.884 6292
+-93.098 37.884 6420
+-92.972 37.884 6528
+-92.846 37.884 6661
+-92.72 37.884 6806
+-92.594 37.884 6955
+-92.468 37.884 7038
+-92.342 37.884 7209
+-92.216 37.884 7235
+-92.09 37.884 7438
+-91.964 37.884 7525
+-91.838 37.884 7632
+-91.712 37.884 7736
+-91.586 37.884 7833
+-91.46 37.884 7927
+-91.334 37.884 8048
+-91.208 37.884 8191
+-91.082 37.884 8228
+-90.956 37.884 8307
+-90.83 37.884 8391
+-90.704 37.884 8436
+-90.578 37.884 8459
+-90.452 37.884 8485
+-90.326 37.884 8442
+-90.2 37.884 8414
+-90.074 37.884 8383
+-89.948 37.884 8312
+-89.822 37.884 8667
+-89.696 37.884 8797
+-89.57 37.884 8951
+-89.444 37.884 9080
+-89.318 37.884 9275
+-89.192 37.884 9384
+-89.066 37.884 9465
+-88.94 37.884 9572
+-88.814 37.884 9621
+-88.688 37.884 9537
+-88.562 37.884 9392
+-88.436 37.884 9345
+-88.31 37.884 9192
+-88.184 37.884 9013
+-88.058 37.884 8894
+-87.932 37.884 8788
+-87.806 37.884 8615
+-87.68 37.884 8531
+-87.554 37.884 8407
+-87.428 37.884 8236
+-87.302 37.884 8042
+-87.176 37.884 7912
+-87.05 37.884 7756
+-86.924 37.884 7696
+-86.798 37.884 7655
+-86.672 37.884 7459
+-86.546 37.884 7275
+-86.42 37.884 7082
+-86.294 37.884 6906
+-86.168 37.884 6777
+-86.042 37.884 6662
+-85.916 37.884 6484
+-85.79 37.884 6373
+-85.664 37.884 6198
+-85.538 37.884 6132
+-85.412 37.884 5993
+-85.286 37.884 5838
+-85.16 37.884 5734
+-85.034 37.884 5614
+-84.908 37.884 5491
+-84.782 37.884 5383
+-84.656 37.884 5220
+-84.53 37.884 5020
+-84.404 37.884 4881
+-84.278 37.884 4819
+-84.152 37.884 4731
+-84.026 37.884 4646
+-83.9 37.884 4506
+-83.774 37.884 4360
+-83.648 37.884 4276
+-83.522 37.884 4197
+-83.396 37.884 4035
+-83.27 37.884 3890
+-83.144 37.884 3725
+-83.018 37.884 3538
+-82.892 37.884 3378
+-82.766 37.884 3260
+-82.64 37.884 3182
+-82.514 37.884 3193
+-82.388 37.884 3246
+-82.262 37.884 3317
+-82.136 37.884 3382
+-82.01 37.884 3437
+-81.884 37.884 3483
+-81.758 37.884 3522
+-81.632 37.884 3554
+-81.506 37.884 3582
+-81.38 37.884 3606
+-81.254 37.884 3627
+-81.128 37.884 3645
+-81.002 37.884 3620
+-80.876 37.884 3550
+-80.75 37.884 3561
+-80.624 37.884 3570
+-80.498 37.884 3578
+-80.372 37.884 3585
+-80.246 37.884 3592
+-80.12 37.884 3598
+-79.994 37.884 3604
+-79.868 37.884 3609
+-79.742 37.884 3544
+-79.616 37.884 3548
+-79.49 37.884 3551
+-79.364 37.884 3555
+-79.238 37.884 3558
+-79.112 37.884 3468
+-78.986 37.884 3405
+-78.86 37.884 3405
+-78.734 37.884 3406
+-78.608 37.884 3406
+-78.482 37.884 3406
+-78.356 37.884 3407
+-78.23 37.884 3407
+-78.104 37.884 3407
+-77.978 37.884 3407
+-77.852 37.884 3336
+-77.726 37.884 3335
+-77.6 37.884 3333
+-77.474 37.884 3332
+-77.348 37.884 3331
+-77.222 37.884 3330
+-77.096 37.884 3329
+-76.97 37.884 3328
+-76.844 37.884 3327
+-76.718 37.884 3305
+-76.592 37.884 3304
+-76.466 37.884 3303
+-76.34 37.884 3302
+-76.214 37.884 3301
+-76.088 37.884 3300
+-75.962 37.884 3224
+-75.836 37.884 3060
+-75.71 37.884 3058
+-75.584 37.884 3056
+-75.458 37.884 3054
+-75.332 37.884 3052
+-75.206 37.884 3050
+-75.08 37.884 3048
+-74.954 37.884 3046
+-74.828 37.884 3045
+-74.702 37.884 3043
+-74.576 37.884 3042
+-74.45 37.884 3040
+-74.324 37.884 3039
+-74.198 37.884 3037
+-74.072 37.884 3036
+-73.946 37.884 3035
+-73.82 37.884 3033
+-73.694 37.884 3032
+-73.568 37.884 2903
+-73.442 37.884 2902
+-73.316 37.884 2870
+-73.19 37.884 2821
+-73.064 37.884 2820
+-72.938 37.884 2819
+-72.812 37.884 2833
+-72.686 37.884 2832
+-72.56 37.884 2842
+-72.434 37.884 2841
+-72.308 37.884 2801
+-72.182 37.884 2760
+-72.056 37.884 2760
+-71.93 37.884 2760
+-71.804 37.884 2759
+-71.678 37.884 2777
+-71.552 37.884 2783
+-71.426 37.884 2793
+-71.3 37.884 2792
+-71.174 37.884 2824
+-71.048 37.884 2836
+-70.922 37.884 2838
+-70.796 37.884 2893
+-70.67 37.884 2916
+-70.544 37.884 2895
+-70.418 37.884 2885
+-70.292 37.884 3038
+-70.166 37.884 3040
+-70.04 37.884 3104
+-69.914 37.884 3106
+-69.788 37.884 3108
+-69.662 37.884 3110
+-69.536 37.884 3112
+-69.41 37.884 3026
+-69.284 37.884 3048
+-69.158 37.884 3049
+-69.032 37.884 3039
+-68.906 37.884 3338
+-68.78 37.884 3370
+-68.654 37.884 3371
+-68.528 37.884 3366
+-68.402 37.884 3367
+-68.276 37.884 3371
+-68.15 37.884 3388
+-68.024 37.884 3389
+-67.898 37.884 3376
+-67.772 37.884 3377
+-67.646 37.884 3328
+-67.52 37.884 3329
+-67.394 37.884 3330
+-67.268 37.884 3398
+-67.142 37.884 3392
+-67.016 37.884 3403
+-66.89 37.884 3404
+-66.764 37.884 3382
+-66.638 37.884 3404
+-66.512 37.884 3453
+-66.386 37.884 3465
+-66.26 37.884 3463
+-66.134 37.884 3462
+-66.008 37.884 3517
+-65.882 37.884 3519
+-65.756 37.884 3455
+-65.63 37.884 3480
+-65.504 37.884 3473
+-65.378 37.884 3387
+-65.252 37.884 3298
+-65.126 37.884 3323
+-128 37.832 2718
+-127.874 37.832 2728
+-127.748 37.832 2725
+-127.622 37.832 2796
+-127.496 37.832 2794
+-127.37 37.832 2853
+-127.244 37.832 2853
+-127.118 37.832 2853
+-126.992 37.832 2853
+-126.866 37.832 2943
+-126.74 37.832 2962
+-126.614 37.832 2960
+-126.488 37.832 2908
+-126.362 37.832 2909
+-126.236 37.832 2981
+-126.11 37.832 3067
+-125.984 37.832 3067
+-125.858 37.832 3067
+-125.732 37.832 3067
+-125.606 37.832 3068
+-125.48 37.832 3193
+-125.354 37.832 3202
+-125.228 37.832 3232
+-125.102 37.832 3150
+-124.976 37.832 3174
+-124.85 37.832 3173
+-124.724 37.832 3173
+-124.598 37.832 3173
+-124.472 37.832 3174
+-124.346 37.832 3175
+-124.22 37.832 3178
+-124.094 37.832 3181
+-123.968 37.832 3200
+-123.842 37.832 3234
+-123.716 37.832 3246
+-123.59 37.832 3257
+-123.464 37.832 3395
+-123.338 37.832 3418
+-123.212 37.832 3486
+-123.086 37.832 3552
+-122.96 37.832 3578
+-122.834 37.832 3593
+-122.708 37.832 3652
+-122.582 37.832 3756
+-122.456 37.832 3765
+-122.33 37.832 3911
+-122.204 37.832 3903
+-122.078 37.832 3893
+-121.952 37.832 3877
+-121.826 37.832 3872
+-121.7 37.832 3795
+-121.574 37.832 3694
+-121.448 37.832 3639
+-121.322 37.832 3757
+-121.196 37.832 3961
+-121.07 37.832 4138
+-120.944 37.832 4260
+-120.818 37.832 4354
+-120.692 37.832 4393
+-120.566 37.832 4396
+-120.44 37.832 4385
+-120.314 37.832 4427
+-120.188 37.832 4524
+-120.062 37.832 4651
+-119.936 37.832 4767
+-119.81 37.832 4841
+-119.684 37.832 4866
+-119.558 37.832 4848
+-119.432 37.832 4941
+-119.306 37.832 5027
+-119.18 37.832 5070
+-119.054 37.832 5136
+-118.928 37.832 5138
+-118.802 37.832 5182
+-118.676 37.832 5266
+-118.55 37.832 5351
+-118.424 37.832 5358
+-118.298 37.832 5392
+-118.172 37.832 5430
+-118.046 37.832 5461
+-117.92 37.832 5523
+-117.794 37.832 5538
+-117.668 37.832 5502
+-117.542 37.832 5550
+-117.416 37.832 5505
+-117.29 37.832 5567
+-117.164 37.832 5563
+-117.038 37.832 5528
+-116.912 37.832 5540
+-116.786 37.832 5524
+-116.66 37.832 5489
+-116.534 37.832 5449
+-116.408 37.832 5404
+-116.282 37.832 5357
+-116.156 37.832 5306
+-116.03 37.832 5262
+-115.904 37.832 5227
+-115.778 37.832 5143
+-115.652 37.832 5151
+-115.526 37.832 5102
+-115.4 37.832 5001
+-115.274 37.832 4966
+-115.148 37.832 4849
+-115.022 37.832 4862
+-114.896 37.832 4756
+-114.77 37.832 4669
+-114.644 37.832 4583
+-114.518 37.832 4458
+-114.392 37.832 4474
+-114.266 37.832 4425
+-114.14 37.832 4316
+-114.014 37.832 4238
+-113.888 37.832 4251
+-113.762 37.832 4287
+-113.636 37.832 4308
+-113.51 37.832 4269
+-113.384 37.832 4160
+-113.258 37.832 4065
+-113.132 37.832 3972
+-113.006 37.832 3856
+-112.88 37.832 3718
+-112.754 37.832 3590
+-112.628 37.832 3471
+-112.502 37.832 3324
+-112.376 37.832 3216
+-112.25 37.832 3145
+-112.124 37.832 3087
+-111.998 37.832 3029
+-111.872 37.832 2993
+-111.746 37.832 2964
+-111.62 37.832 2939
+-111.494 37.832 2917
+-111.368 37.832 2907
+-111.242 37.832 2894
+-111.116 37.832 2896
+-110.99 37.832 2881
+-110.864 37.832 2874
+-110.738 37.832 2865
+-110.612 37.832 2857
+-110.486 37.832 2848
+-110.36 37.832 2842
+-110.234 37.832 2842
+-110.108 37.832 2845
+-109.982 37.832 2825
+-109.856 37.832 2847
+-109.73 37.832 2843
+-109.604 37.832 2793
+-109.478 37.832 2798
+-109.352 37.832 2757
+-109.226 37.832 2704
+-109.1 37.832 2646
+-108.974 37.832 2599
+-108.848 37.832 2580
+-108.722 37.832 2576
+-108.596 37.832 2585
+-108.47 37.832 2580
+-108.344 37.832 2556
+-108.218 37.832 2531
+-108.092 37.832 2502
+-107.966 37.832 2461
+-107.84 37.832 2439
+-107.714 37.832 2424
+-107.588 37.832 2425
+-107.462 37.832 2472
+-107.336 37.832 2503
+-107.21 37.832 2541
+-107.084 37.832 2605
+-106.958 37.832 2622
+-106.832 37.832 2662
+-106.706 37.832 2686
+-106.58 37.832 2758
+-106.454 37.832 2784
+-106.328 37.832 2810
+-106.202 37.832 2833
+-106.076 37.832 2821
+-105.95 37.832 2893
+-105.824 37.832 2905
+-105.698 37.832 2914
+-105.572 37.832 2917
+-105.446 37.832 2934
+-105.32 37.832 2942
+-105.194 37.832 2949
+-105.068 37.832 2922
+-104.942 37.832 2939
+-104.816 37.832 2971
+-104.69 37.832 2979
+-104.564 37.832 2984
+-104.438 37.832 2991
+-104.312 37.832 2998
+-104.186 37.832 2988
+-104.06 37.832 3068
+-103.934 37.832 3075
+-103.808 37.832 3046
+-103.682 37.832 3053
+-103.556 37.832 3059
+-103.43 37.832 3065
+-103.304 37.832 2987
+-103.178 37.832 2991
+-103.052 37.832 2996
+-102.926 37.832 3005
+-102.8 37.832 3009
+-102.674 37.832 3011
+-102.548 37.832 2987
+-102.422 37.832 2898
+-102.296 37.832 2848
+-102.17 37.832 2828
+-102.044 37.832 2758
+-101.918 37.832 2720
+-101.792 37.832 2764
+-101.666 37.832 2736
+-101.54 37.832 2712
+-101.414 37.832 2802
+-101.288 37.832 2803
+-101.162 37.832 2810
+-101.036 37.832 2844
+-100.91 37.832 3013
+-100.784 37.832 3155
+-100.658 37.832 3172
+-100.532 37.832 3220
+-100.406 37.832 3220
+-100.28 37.832 3220
+-100.154 37.832 3220
+-100.028 37.832 3220
+-99.902 37.832 3220
+-99.776 37.832 3220
+-99.65 37.832 3220
+-99.524 37.832 3220
+-99.398 37.832 3221
+-99.272 37.832 3275
+-99.146 37.832 3276
+-99.02 37.832 3276
+-98.894 37.832 3276
+-98.768 37.832 3277
+-98.642 37.832 3277
+-98.516 37.832 3278
+-98.39 37.832 3333
+-98.264 37.832 3332
+-98.138 37.832 3331
+-98.012 37.832 3331
+-97.886 37.832 3331
+-97.76 37.832 3343
+-97.634 37.832 3351
+-97.508 37.832 3424
+-97.382 37.832 3426
+-97.256 37.832 3429
+-97.13 37.832 3432
+-97.004 37.832 3437
+-96.878 37.832 3488
+-96.752 37.832 3493
+-96.626 37.832 3533
+-96.5 37.832 3546
+-96.374 37.832 3579
+-96.248 37.832 3593
+-96.122 37.832 3638
+-95.996 37.832 3672
+-95.87 37.832 3696
+-95.744 37.832 3698
+-95.618 37.832 3805
+-95.492 37.832 4007
+-95.366 37.832 4234
+-95.24 37.832 4351
+-95.114 37.832 4425
+-94.988 37.832 4547
+-94.862 37.832 4698
+-94.736 37.832 4802
+-94.61 37.832 4877
+-94.484 37.832 4992
+-94.358 37.832 5106
+-94.232 37.832 5165
+-94.106 37.832 5303
+-93.98 37.832 5429
+-93.854 37.832 5600
+-93.728 37.832 5757
+-93.602 37.832 5922
+-93.476 37.832 5974
+-93.35 37.832 6190
+-93.224 37.832 6263
+-93.098 37.832 6381
+-92.972 37.832 6501
+-92.846 37.832 6622
+-92.72 37.832 6792
+-92.594 37.832 6952
+-92.468 37.832 6982
+-92.342 37.832 7076
+-92.216 37.832 7316
+-92.09 37.832 7337
+-91.964 37.832 7531
+-91.838 37.832 7565
+-91.712 37.832 7689
+-91.586 37.832 7806
+-91.46 37.832 7953
+-91.334 37.832 8024
+-91.208 37.832 8108
+-91.082 37.832 8199
+-90.956 37.832 8286
+-90.83 37.832 8293
+-90.704 37.832 8382
+-90.578 37.832 8397
+-90.452 37.832 8392
+-90.326 37.832 8398
+-90.2 37.832 8377
+-90.074 37.832 8322
+-89.948 37.832 8481
+-89.822 37.832 8692
+-89.696 37.832 8835
+-89.57 37.832 8954
+-89.444 37.832 9103
+-89.318 37.832 9254
+-89.192 37.832 9353
+-89.066 37.832 9515
+-88.94 37.832 9632
+-88.814 37.832 9632
+-88.688 37.832 9648
+-88.562 37.832 9483
+-88.436 37.832 9358
+-88.31 37.832 9211
+-88.184 37.832 9107
+-88.058 37.832 8984
+-87.932 37.832 8805
+-87.806 37.832 8610
+-87.68 37.832 8549
+-87.554 37.832 8320
+-87.428 37.832 8253
+-87.302 37.832 8076
+-87.176 37.832 7980
+-87.05 37.832 7866
+-86.924 37.832 7760
+-86.798 37.832 7646
+-86.672 37.832 7482
+-86.546 37.832 7275
+-86.42 37.832 7075
+-86.294 37.832 6918
+-86.168 37.832 6749
+-86.042 37.832 6616
+-85.916 37.832 6500
+-85.79 37.832 6343
+-85.664 37.832 6290
+-85.538 37.832 6134
+-85.412 37.832 5976
+-85.286 37.832 5850
+-85.16 37.832 5713
+-85.034 37.832 5548
+-84.908 37.832 5384
+-84.782 37.832 5413
+-84.656 37.832 5263
+-84.53 37.832 5088
+-84.404 37.832 4926
+-84.278 37.832 4761
+-84.152 37.832 4655
+-84.026 37.832 4608
+-83.9 37.832 4425
+-83.774 37.832 4246
+-83.648 37.832 4231
+-83.522 37.832 4181
+-83.396 37.832 4081
+-83.27 37.832 3948
+-83.144 37.832 3766
+-83.018 37.832 3559
+-82.892 37.832 3343
+-82.766 37.832 3114
+-82.64 37.832 2986
+-82.514 37.832 3051
+-82.388 37.832 3178
+-82.262 37.832 3288
+-82.136 37.832 3371
+-82.01 37.832 3434
+-81.884 37.832 3484
+-81.758 37.832 3524
+-81.632 37.832 3557
+-81.506 37.832 3584
+-81.38 37.832 3608
+-81.254 37.832 3592
+-81.128 37.832 3607
+-81.002 37.832 3538
+-80.876 37.832 3549
+-80.75 37.832 3560
+-80.624 37.832 3569
+-80.498 37.832 3577
+-80.372 37.832 3584
+-80.246 37.832 3591
+-80.12 37.832 3597
+-79.994 37.832 3602
+-79.868 37.832 3557
+-79.742 37.832 3562
+-79.616 37.832 3547
+-79.49 37.832 3526
+-79.364 37.832 3529
+-79.238 37.832 3465
+-79.112 37.832 3400
+-78.986 37.832 3390
+-78.86 37.832 3390
+-78.734 37.832 3390
+-78.608 37.832 3390
+-78.482 37.832 3390
+-78.356 37.832 3390
+-78.23 37.832 3390
+-78.104 37.832 3390
+-77.978 37.832 3333
+-77.852 37.832 3332
+-77.726 37.832 3331
+-77.6 37.832 3330
+-77.474 37.832 3329
+-77.348 37.832 3328
+-77.222 37.832 3326
+-77.096 37.832 3326
+-76.97 37.832 3325
+-76.844 37.832 3302
+-76.718 37.832 3301
+-76.592 37.832 3300
+-76.466 37.832 3299
+-76.34 37.832 3298
+-76.214 37.832 3297
+-76.088 37.832 3221
+-75.962 37.832 3059
+-75.836 37.832 3056
+-75.71 37.832 3054
+-75.584 37.832 3052
+-75.458 37.832 3050
+-75.332 37.832 3048
+-75.206 37.832 3047
+-75.08 37.832 3045
+-74.954 37.832 3043
+-74.828 37.832 3042
+-74.702 37.832 3040
+-74.576 37.832 3038
+-74.45 37.832 3037
+-74.324 37.832 3036
+-74.198 37.832 3034
+-74.072 37.832 3033
+-73.946 37.832 3032
+-73.82 37.832 3031
+-73.694 37.832 2901
+-73.568 37.832 2900
+-73.442 37.832 2868
+-73.316 37.832 2819
+-73.19 37.832 2818
+-73.064 37.832 2817
+-72.938 37.832 2831
+-72.812 37.832 2830
+-72.686 37.832 2840
+-72.56 37.832 2839
+-72.434 37.832 2799
+-72.308 37.832 2758
+-72.182 37.832 2758
+-72.056 37.832 2758
+-71.93 37.832 2758
+-71.804 37.832 2775
+-71.678 37.832 2781
+-71.552 37.832 2791
+-71.426 37.832 2790
+-71.3 37.832 2822
+-71.174 37.832 2834
+-71.048 37.832 2836
+-70.922 37.832 2892
+-70.796 37.832 2914
+-70.67 37.832 2893
+-70.544 37.832 2884
+-70.418 37.832 3036
+-70.292 37.832 3038
+-70.166 37.832 3102
+-70.04 37.832 3104
+-69.914 37.832 3106
+-69.788 37.832 3108
+-69.662 37.832 3110
+-69.536 37.832 3024
+-69.41 37.832 3046
+-69.284 37.832 3048
+-69.158 37.832 3037
+-69.032 37.832 3337
+-68.906 37.832 3368
+-68.78 37.832 3369
+-68.654 37.832 3364
+-68.528 37.832 3365
+-68.402 37.832 3370
+-68.276 37.832 3387
+-68.15 37.832 3388
+-68.024 37.832 3375
+-67.898 37.832 3376
+-67.772 37.832 3327
+-67.646 37.832 3328
+-67.52 37.832 3329
+-67.394 37.832 3397
+-67.268 37.832 3391
+-67.142 37.832 3401
+-67.016 37.832 3402
+-66.89 37.832 3380
+-66.764 37.832 3403
+-66.638 37.832 3451
+-66.512 37.832 3463
+-66.386 37.832 3462
+-66.26 37.832 3460
+-66.134 37.832 3516
+-66.008 37.832 3517
+-65.882 37.832 3454
+-65.756 37.832 3479
+-65.63 37.832 3472
+-65.504 37.832 3390
+-65.378 37.832 3297
+-65.252 37.832 3322
+-65.126 37.832 3323
+-128 37.78 2793
+-127.874 37.78 2791
+-127.748 37.78 2792
+-127.622 37.78 2805
+-127.496 37.78 2804
+-127.37 37.78 2802
+-127.244 37.78 2862
+-127.118 37.78 2862
+-126.992 37.78 2954
+-126.866 37.78 2953
+-126.74 37.78 2952
+-126.614 37.78 2971
+-126.488 37.78 2918
+-126.362 37.78 3012
+-126.236 37.78 3012
+-126.11 37.78 2991
+-125.984 37.78 3079
+-125.858 37.78 3080
+-125.732 37.78 3081
+-125.606 37.78 3082
+-125.48 37.78 3084
+-125.354 37.78 3211
+-125.228 37.78 3222
+-125.102 37.78 3254
+-124.976 37.78 3171
+-124.85 37.78 3198
+-124.724 37.78 3199
+-124.598 37.78 3200
+-124.472 37.78 3202
+-124.346 37.78 3205
+-124.22 37.78 3208
+-124.094 37.78 3213
+-123.968 37.78 3219
+-123.842 37.78 3240
+-123.716 37.78 3279
+-123.59 37.78 3346
+-123.464 37.78 3473
+-123.338 37.78 3591
+-123.212 37.78 3572
+-123.086 37.78 3587
+-122.96 37.78 3646
+-122.834 37.78 3674
+-122.708 37.78 3782
+-122.582 37.78 3878
+-122.456 37.78 3886
+-122.33 37.78 3890
+-122.204 37.78 3946
+-122.078 37.78 3940
+-121.952 37.78 3957
+-121.826 37.78 3931
+-121.7 37.78 3899
+-121.574 37.78 3851
+-121.448 37.78 3850
+-121.322 37.78 3939
+-121.196 37.78 4058
+-121.07 37.78 4187
+-120.944 37.78 4303
+-120.818 37.78 4365
+-120.692 37.78 4384
+-120.566 37.78 4371
+-120.44 37.78 4313
+-120.314 37.78 4389
+-120.188 37.78 4494
+-120.062 37.78 4663
+-119.936 37.78 4809
+-119.81 37.78 4883
+-119.684 37.78 4914
+-119.558 37.78 4947
+-119.432 37.78 5027
+-119.306 37.78 5069
+-119.18 37.78 5124
+-119.054 37.78 5188
+-118.928 37.78 5215
+-118.802 37.78 5253
+-118.676 37.78 5343
+-118.55 37.78 5400
+-118.424 37.78 5416
+-118.298 37.78 5450
+-118.172 37.78 5484
+-118.046 37.78 5519
+-117.92 37.78 5555
+-117.794 37.78 5575
+-117.668 37.78 5581
+-117.542 37.78 5606
+-117.416 37.78 5584
+-117.29 37.78 5608
+-117.164 37.78 5604
+-117.038 37.78 5590
+-116.912 37.78 5597
+-116.786 37.78 5569
+-116.66 37.78 5505
+-116.534 37.78 5522
+-116.408 37.78 5470
+-116.282 37.78 5395
+-116.156 37.78 5361
+-116.03 37.78 5309
+-115.904 37.78 5255
+-115.778 37.78 5212
+-115.652 37.78 5226
+-115.526 37.78 5125
+-115.4 37.78 5072
+-115.274 37.78 4993
+-115.148 37.78 4933
+-115.022 37.78 4901
+-114.896 37.78 4806
+-114.77 37.78 4700
+-114.644 37.78 4600
+-114.518 37.78 4526
+-114.392 37.78 4495
+-114.266 37.78 4446
+-114.14 37.78 4413
+-114.014 37.78 4369
+-113.888 37.78 4360
+-113.762 37.78 4350
+-113.636 37.78 4343
+-113.51 37.78 4299
+-113.384 37.78 4177
+-113.258 37.78 4100
+-113.132 37.78 4012
+-113.006 37.78 3854
+-112.88 37.78 3702
+-112.754 37.78 3562
+-112.628 37.78 3422
+-112.502 37.78 3305
+-112.376 37.78 3202
+-112.25 37.78 3129
+-112.124 37.78 3077
+-111.998 37.78 3021
+-111.872 37.78 2987
+-111.746 37.78 2950
+-111.62 37.78 2917
+-111.494 37.78 2897
+-111.368 37.78 2901
+-111.242 37.78 2915
+-111.116 37.78 2921
+-110.99 37.78 2922
+-110.864 37.78 2910
+-110.738 37.78 2906
+-110.612 37.78 2895
+-110.486 37.78 2894
+-110.36 37.78 2894
+-110.234 37.78 2906
+-110.108 37.78 2911
+-109.982 37.78 2894
+-109.856 37.78 2896
+-109.73 37.78 2889
+-109.604 37.78 2875
+-109.478 37.78 2851
+-109.352 37.78 2819
+-109.226 37.78 2775
+-109.1 37.78 2732
+-108.974 37.78 2706
+-108.848 37.78 2680
+-108.722 37.78 2667
+-108.596 37.78 2664
+-108.47 37.78 2630
+-108.344 37.78 2619
+-108.218 37.78 2609
+-108.092 37.78 2582
+-107.966 37.78 2570
+-107.84 37.78 2553
+-107.714 37.78 2539
+-107.588 37.78 2570
+-107.462 37.78 2580
+-107.336 37.78 2597
+-107.21 37.78 2646
+-107.084 37.78 2651
+-106.958 37.78 2683
+-106.832 37.78 2701
+-106.706 37.78 2769
+-106.58 37.78 2791
+-106.454 37.78 2815
+-106.328 37.78 2836
+-106.202 37.78 2823
+-106.076 37.78 2892
+-105.95 37.78 2902
+-105.824 37.78 2911
+-105.698 37.78 2912
+-105.572 37.78 2928
+-105.446 37.78 2935
+-105.32 37.78 2942
+-105.194 37.78 2915
+-105.068 37.78 2932
+-104.942 37.78 2963
+-104.816 37.78 2970
+-104.69 37.78 2975
+-104.564 37.78 2983
+-104.438 37.78 2990
+-104.312 37.78 2980
+-104.186 37.78 3058
+-104.06 37.78 3066
+-103.934 37.78 3039
+-103.808 37.78 3045
+-103.682 37.78 3051
+-103.556 37.78 3058
+-103.43 37.78 2981
+-103.304 37.78 2986
+-103.178 37.78 2991
+-103.052 37.78 3000
+-102.926 37.78 3005
+-102.8 37.78 3007
+-102.674 37.78 2984
+-102.548 37.78 3022
+-102.422 37.78 2941
+-102.296 37.78 2902
+-102.17 37.78 2802
+-102.044 37.78 2759
+-101.918 37.78 2757
+-101.792 37.78 2765
+-101.666 37.78 2735
+-101.54 37.78 2730
+-101.414 37.78 2799
+-101.288 37.78 2800
+-101.162 37.78 2804
+-101.036 37.78 2841
+-100.91 37.78 3010
+-100.784 37.78 3041
+-100.658 37.78 3219
+-100.532 37.78 3219
+-100.406 37.78 3219
+-100.28 37.78 3219
+-100.154 37.78 3218
+-100.028 37.78 3218
+-99.902 37.78 3219
+-99.776 37.78 3219
+-99.65 37.78 3219
+-99.524 37.78 3219
+-99.398 37.78 3275
+-99.272 37.78 3275
+-99.146 37.78 3275
+-99.02 37.78 3276
+-98.894 37.78 3276
+-98.768 37.78 3277
+-98.642 37.78 3277
+-98.516 37.78 3278
+-98.39 37.78 3279
+-98.264 37.78 3334
+-98.138 37.78 3334
+-98.012 37.78 3326
+-97.886 37.78 3344
+-97.76 37.78 3352
+-97.634 37.78 3351
+-97.508 37.78 3351
+-97.382 37.78 3409
+-97.256 37.78 3410
+-97.13 37.78 3412
+-97.004 37.78 3472
+-96.878 37.78 3471
+-96.752 37.78 3489
+-96.626 37.78 3513
+-96.5 37.78 3520
+-96.374 37.78 3531
+-96.248 37.78 3576
+-96.122 37.78 3594
+-95.996 37.78 3611
+-95.87 37.78 3646
+-95.744 37.78 3680
+-95.618 37.78 3782
+-95.492 37.78 3948
+-95.366 37.78 4191
+-95.24 37.78 4335
+-95.114 37.78 4512
+-94.988 37.78 4646
+-94.862 37.78 4760
+-94.736 37.78 4847
+-94.61 37.78 4944
+-94.484 37.78 4982
+-94.358 37.78 5125
+-94.232 37.78 5211
+-94.106 37.78 5402
+-93.98 37.78 5480
+-93.854 37.78 5620
+-93.728 37.78 5726
+-93.602 37.78 5843
+-93.476 37.78 5978
+-93.35 37.78 6154
+-93.224 37.78 6241
+-93.098 37.78 6365
+-92.972 37.78 6477
+-92.846 37.78 6630
+-92.72 37.78 6756
+-92.594 37.78 6876
+-92.468 37.78 6990
+-92.342 37.78 7137
+-92.216 37.78 7279
+-92.09 37.78 7363
+-91.964 37.78 7503
+-91.838 37.78 7565
+-91.712 37.78 7676
+-91.586 37.78 7801
+-91.46 37.78 7902
+-91.334 37.78 7974
+-91.208 37.78 8066
+-91.082 37.78 8193
+-90.956 37.78 8191
+-90.83 37.78 8254
+-90.704 37.78 8311
+-90.578 37.78 8339
+-90.452 37.78 8340
+-90.326 37.78 8343
+-90.2 37.78 8333
+-90.074 37.78 8288
+-89.948 37.78 8515
+-89.822 37.78 8644
+-89.696 37.78 8816
+-89.57 37.78 8980
+-89.444 37.78 9071
+-89.318 37.78 9269
+-89.192 37.78 9368
+-89.066 37.78 9558
+-88.94 37.78 9614
+-88.814 37.78 9695
+-88.688 37.78 9650
+-88.562 37.78 9486
+-88.436 37.78 9361
+-88.31 37.78 9211
+-88.184 37.78 9076
+-88.058 37.78 8944
+-87.932 37.78 8789
+-87.806 37.78 8718
+-87.68 37.78 8501
+-87.554 37.78 8433
+-87.428 37.78 8248
+-87.302 37.78 8056
+-87.176 37.78 7987
+-87.05 37.78 7852
+-86.924 37.78 7712
+-86.798 37.78 7553
+-86.672 37.78 7471
+-86.546 37.78 7236
+-86.42 37.78 7060
+-86.294 37.78 7004
+-86.168 37.78 6826
+-86.042 37.78 6672
+-85.916 37.78 6480
+-85.79 37.78 6355
+-85.664 37.78 6243
+-85.538 37.78 6075
+-85.412 37.78 5934
+-85.286 37.78 5863
+-85.16 37.78 5755
+-85.034 37.78 5641
+-84.908 37.78 5519
+-84.782 37.78 5437
+-84.656 37.78 5331
+-84.53 37.78 5118
+-84.404 37.78 4928
+-84.278 37.78 4693
+-84.152 37.78 4543
+-84.026 37.78 4568
+-83.9 37.78 4345
+-83.774 37.78 4134
+-83.648 37.78 4190
+-83.522 37.78 4181
+-83.396 37.78 4070
+-83.27 37.78 3948
+-83.144 37.78 3792
+-83.018 37.78 3575
+-82.892 37.78 3305
+-82.766 37.78 3008
+-82.64 37.78 2857
+-82.514 37.78 2968
+-82.388 37.78 3146
+-82.262 37.78 3284
+-82.136 37.78 3380
+-82.01 37.78 3448
+-81.884 37.78 3499
+-81.758 37.78 3540
+-81.632 37.78 3572
+-81.506 37.78 3557
+-81.38 37.78 3577
+-81.254 37.78 3594
+-81.128 37.78 3526
+-81.002 37.78 3538
+-80.876 37.78 3549
+-80.75 37.78 3559
+-80.624 37.78 3568
+-80.498 37.78 3576
+-80.372 37.78 3583
+-80.246 37.78 3590
+-80.12 37.78 3596
+-79.994 37.78 3551
+-79.868 37.78 3556
+-79.742 37.78 3542
+-79.616 37.78 3546
+-79.49 37.78 3550
+-79.364 37.78 3463
+-79.238 37.78 3397
+-79.112 37.78 3387
+-78.986 37.78 3387
+-78.86 37.78 3387
+-78.734 37.78 3388
+-78.608 37.78 3388
+-78.482 37.78 3388
+-78.356 37.78 3388
+-78.23 37.78 3388
+-78.104 37.78 3330
+-77.978 37.78 3329
+-77.852 37.78 3328
+-77.726 37.78 3327
+-77.6 37.78 3326
+-77.474 37.78 3325
+-77.348 37.78 3324
+-77.222 37.78 3323
+-77.096 37.78 3300
+-76.97 37.78 3299
+-76.844 37.78 3298
+-76.718 37.78 3297
+-76.592 37.78 3296
+-76.466 37.78 3295
+-76.34 37.78 3295
+-76.214 37.78 3218
+-76.088 37.78 3057
+-75.962 37.78 3055
+-75.836 37.78 3053
+-75.71 37.78 3051
+-75.584 37.78 3049
+-75.458 37.78 3047
+-75.332 37.78 3045
+-75.206 37.78 3043
+-75.08 37.78 3041
+-74.954 37.78 3040
+-74.828 37.78 3038
+-74.702 37.78 3037
+-74.576 37.78 3035
+-74.45 37.78 3034
+-74.324 37.78 3032
+-74.198 37.78 3031
+-74.072 37.78 3030
+-73.946 37.78 3029
+-73.82 37.78 2899
+-73.694 37.78 2898
+-73.568 37.78 2866
+-73.442 37.78 2817
+-73.316 37.78 2816
+-73.19 37.78 2814
+-73.064 37.78 2828
+-72.938 37.78 2827
+-72.812 37.78 2838
+-72.686 37.78 2837
+-72.56 37.78 2797
+-72.434 37.78 2756
+-72.308 37.78 2756
+-72.182 37.78 2756
+-72.056 37.78 2756
+-71.93 37.78 2773
+-71.804 37.78 2779
+-71.678 37.78 2789
+-71.552 37.78 2788
+-71.426 37.78 2820
+-71.3 37.78 2833
+-71.174 37.78 2834
+-71.048 37.78 2890
+-70.922 37.78 2912
+-70.796 37.78 2891
+-70.67 37.78 2882
+-70.544 37.78 3033
+-70.418 37.78 3036
+-70.292 37.78 3100
+-70.166 37.78 3102
+-70.04 37.78 3104
+-69.914 37.78 3106
+-69.788 37.78 3108
+-69.662 37.78 3023
+-69.536 37.78 3044
+-69.41 37.78 3046
+-69.284 37.78 3036
+-69.158 37.78 3335
+-69.032 37.78 3367
+-68.906 37.78 3368
+-68.78 37.78 3363
+-68.654 37.78 3364
+-68.528 37.78 3368
+-68.402 37.78 3385
+-68.276 37.78 3386
+-68.15 37.78 3374
+-68.024 37.78 3375
+-67.898 37.78 3326
+-67.772 37.78 3327
+-67.646 37.78 3328
+-67.52 37.78 3395
+-67.394 37.78 3390
+-67.268 37.78 3400
+-67.142 37.78 3401
+-67.016 37.78 3379
+-66.89 37.78 3402
+-66.764 37.78 3450
+-66.638 37.78 3462
+-66.512 37.78 3461
+-66.386 37.78 3459
+-66.26 37.78 3515
+-66.134 37.78 3516
+-66.008 37.78 3453
+-65.882 37.78 3478
+-65.756 37.78 3470
+-65.63 37.78 3385
+-65.504 37.78 3296
+-65.378 37.78 3321
+-65.252 37.78 3322
+-65.126 37.78 3357
+-128 37.728 2802
+-127.874 37.728 2800
+-127.748 37.728 2798
+-127.622 37.728 2799
+-127.496 37.728 2813
+-127.37 37.728 2812
+-127.244 37.728 2870
+-127.118 37.728 2962
+-126.992 37.728 2962
+-126.866 37.728 2962
+-126.74 37.728 2962
+-126.614 37.728 3029
+-126.488 37.728 2984
+-126.362 37.728 3020
+-126.236 37.728 3021
+-126.11 37.728 3021
+-125.984 37.728 3002
+-125.858 37.728 3092
+-125.732 37.728 3094
+-125.606 37.728 3096
+-125.48 37.728 3098
+-125.354 37.728 3101
+-125.228 37.728 3231
+-125.102 37.728 3243
+-124.976 37.728 3276
+-124.85 37.728 3194
+-124.724 37.728 3223
+-124.598 37.728 3225
+-124.472 37.728 3228
+-124.346 37.728 3232
+-124.22 37.728 3236
+-124.094 37.728 3242
+-123.968 37.728 3249
+-123.842 37.728 3321
+-123.716 37.728 3332
+-123.59 37.728 3479
+-123.464 37.728 3605
+-123.338 37.728 3618
+-123.212 37.728 3633
+-123.086 37.728 3649
+-122.96 37.728 3777
+-122.834 37.728 3882
+-122.708 37.728 3883
+-122.582 37.728 3902
+-122.456 37.728 3908
+-122.33 37.728 3918
+-122.204 37.728 3958
+-122.078 37.728 3961
+-121.952 37.728 4003
+-121.826 37.728 3991
+-121.7 37.728 3978
+-121.574 37.728 3978
+-121.448 37.728 3985
+-121.322 37.728 4041
+-121.196 37.728 4124
+-121.07 37.728 4233
+-120.944 37.728 4315
+-120.818 37.728 4361
+-120.692 37.728 4384
+-120.566 37.728 4400
+-120.44 37.728 4412
+-120.314 37.728 4463
+-120.188 37.728 4575
+-120.062 37.728 4720
+-119.936 37.728 4840
+-119.81 37.728 4902
+-119.684 37.728 4949
+-119.558 37.728 5028
+-119.432 37.728 5074
+-119.306 37.728 5069
+-119.18 37.728 5161
+-119.054 37.728 5257
+-118.928 37.728 5325
+-118.802 37.728 5347
+-118.676 37.728 5405
+-118.55 37.728 5447
+-118.424 37.728 5459
+-118.298 37.728 5475
+-118.172 37.728 5554
+-118.046 37.728 5565
+-117.92 37.728 5608
+-117.794 37.728 5611
+-117.668 37.728 5642
+-117.542 37.728 5667
+-117.416 37.728 5620
+-117.29 37.728 5622
+-117.164 37.728 5638
+-117.038 37.728 5647
+-116.912 37.728 5636
+-116.786 37.728 5611
+-116.66 37.728 5605
+-116.534 37.728 5574
+-116.408 37.728 5533
+-116.282 37.728 5471
+-116.156 37.728 5419
+-116.03 37.728 5373
+-115.904 37.728 5308
+-115.778 37.728 5288
+-115.652 37.728 5221
+-115.526 37.728 5165
+-115.4 37.728 5101
+-115.274 37.728 5017
+-115.148 37.728 4963
+-115.022 37.728 4922
+-114.896 37.728 4842
+-114.77 37.728 4746
+-114.644 37.728 4633
+-114.518 37.728 4568
+-114.392 37.728 4499
+-114.266 37.728 4379
+-114.14 37.728 4420
+-114.014 37.728 4378
+-113.888 37.728 4384
+-113.762 37.728 4407
+-113.636 37.728 4422
+-113.51 37.728 4334
+-113.384 37.728 4167
+-113.258 37.728 4083
+-113.132 37.728 3998
+-113.006 37.728 3858
+-112.88 37.728 3691
+-112.754 37.728 3495
+-112.628 37.728 3342
+-112.502 37.728 3241
+-112.376 37.728 3175
+-112.25 37.728 3113
+-112.124 37.728 3050
+-111.998 37.728 3020
+-111.872 37.728 2982
+-111.746 37.728 2934
+-111.62 37.728 2880
+-111.494 37.728 2852
+-111.368 37.728 2881
+-111.242 37.728 2913
+-111.116 37.728 2924
+-110.99 37.728 2926
+-110.864 37.728 2914
+-110.738 37.728 2908
+-110.612 37.728 2915
+-110.486 37.728 2932
+-110.36 37.728 2948
+-110.234 37.728 2966
+-110.108 37.728 2980
+-109.982 37.728 2997
+-109.856 37.728 2973
+-109.73 37.728 2969
+-109.604 37.728 2967
+-109.478 37.728 2931
+-109.352 37.728 2923
+-109.226 37.728 2889
+-109.1 37.728 2816
+-108.974 37.728 2800
+-108.848 37.728 2774
+-108.722 37.728 2757
+-108.596 37.728 2738
+-108.47 37.728 2700
+-108.344 37.728 2696
+-108.218 37.728 2678
+-108.092 37.728 2679
+-107.966 37.728 2665
+-107.84 37.728 2649
+-107.714 37.728 2676
+-107.588 37.728 2671
+-107.462 37.728 2671
+-107.336 37.728 2707
+-107.21 37.728 2697
+-107.084 37.728 2718
+-106.958 37.728 2728
+-106.832 37.728 2790
+-106.706 37.728 2807
+-106.58 37.728 2827
+-106.454 37.728 2845
+-106.328 37.728 2830
+-106.202 37.728 2894
+-106.076 37.728 2902
+-105.95 37.728 2909
+-105.824 37.728 2910
+-105.698 37.728 2924
+-105.572 37.728 2930
+-105.446 37.728 2935
+-105.32 37.728 2909
+-105.194 37.728 2924
+-105.068 37.728 2954
+-104.942 37.728 2961
+-104.816 37.728 2967
+-104.69 37.728 2974
+-104.564 37.728 2981
+-104.438 37.728 2972
+-104.312 37.728 3048
+-104.186 37.728 3056
+-104.06 37.728 3030
+-103.934 37.728 3037
+-103.808 37.728 3044
+-103.682 37.728 3050
+-103.556 37.728 2976
+-103.43 37.728 2981
+-103.304 37.728 2986
+-103.178 37.728 2995
+-103.052 37.728 3000
+-102.926 37.728 3003
+-102.8 37.728 2980
+-102.674 37.728 3018
+-102.548 37.728 3018
+-102.422 37.728 2942
+-102.296 37.728 2880
+-102.17 37.728 2804
+-102.044 37.728 2816
+-101.918 37.728 2759
+-101.792 37.728 2738
+-101.666 37.728 2733
+-101.54 37.728 2728
+-101.414 37.728 2706
+-101.288 37.728 2797
+-101.162 37.728 2801
+-101.036 37.728 2837
+-100.91 37.728 3007
+-100.784 37.728 3039
+-100.658 37.728 3041
+-100.532 37.728 3149
+-100.406 37.728 3217
+-100.28 37.728 3217
+-100.154 37.728 3217
+-100.028 37.728 3217
+-99.902 37.728 3217
+-99.776 37.728 3217
+-99.65 37.728 3217
+-99.524 37.728 3274
+-99.398 37.728 3274
+-99.272 37.728 3274
+-99.146 37.728 3275
+-99.02 37.728 3275
+-98.894 37.728 3275
+-98.768 37.728 3276
+-98.642 37.728 3277
+-98.516 37.728 3278
+-98.39 37.728 3279
+-98.264 37.728 3280
+-98.138 37.728 3281
+-98.012 37.728 3309
+-97.886 37.728 3353
+-97.76 37.728 3351
+-97.634 37.728 3350
+-97.508 37.728 3348
+-97.382 37.728 3347
+-97.256 37.728 3402
+-97.13 37.728 3458
+-97.004 37.728 3452
+-96.878 37.728 3460
+-96.752 37.728 3470
+-96.626 37.728 3468
+-96.5 37.728 3484
+-96.374 37.728 3516
+-96.248 37.728 3512
+-96.122 37.728 3497
+-95.996 37.728 3481
+-95.87 37.728 3585
+-95.744 37.728 3617
+-95.618 37.728 3714
+-95.492 37.728 3940
+-95.366 37.728 4168
+-95.24 37.728 4373
+-95.114 37.728 4558
+-94.988 37.728 4706
+-94.862 37.728 4793
+-94.736 37.728 4879
+-94.61 37.728 4959
+-94.484 37.728 4987
+-94.358 37.728 5099
+-94.232 37.728 5172
+-94.106 37.728 5339
+-93.98 37.728 5502
+-93.854 37.728 5614
+-93.728 37.728 5719
+-93.602 37.728 5862
+-93.476 37.728 5916
+-93.35 37.728 6126
+-93.224 37.728 6191
+-93.098 37.728 6344
+-92.972 37.728 6508
+-92.846 37.728 6616
+-92.72 37.728 6743
+-92.594 37.728 6850
+-92.468 37.728 6906
+-92.342 37.728 7068
+-92.216 37.728 7215
+-92.09 37.728 7332
+-91.964 37.728 7431
+-91.838 37.728 7557
+-91.712 37.728 7663
+-91.586 37.728 7754
+-91.46 37.728 7841
+-91.334 37.728 7981
+-91.208 37.728 8042
+-91.082 37.728 8102
+-90.956 37.728 8157
+-90.83 37.728 8225
+-90.704 37.728 8282
+-90.578 37.728 8287
+-90.452 37.728 8319
+-90.326 37.728 8281
+-90.2 37.728 8263
+-90.074 37.728 8231
+-89.948 37.728 8589
+-89.822 37.728 8630
+-89.696 37.728 8829
+-89.57 37.728 9010
+-89.444 37.728 9105
+-89.318 37.728 9297
+-89.192 37.728 9360
+-89.066 37.728 9568
+-88.94 37.728 9675
+-88.814 37.728 9748
+-88.688 37.728 9611
+-88.562 37.728 9502
+-88.436 37.728 9381
+-88.31 37.728 9215
+-88.184 37.728 9096
+-88.058 37.728 8948
+-87.932 37.728 8875
+-87.806 37.728 8716
+-87.68 37.728 8569
+-87.554 37.728 8347
+-87.428 37.728 8237
+-87.302 37.728 8082
+-87.176 37.728 8015
+-87.05 37.728 7805
+-86.924 37.728 7634
+-86.798 37.728 7580
+-86.672 37.728 7400
+-86.546 37.728 7240
+-86.42 37.728 7074
+-86.294 37.728 7008
+-86.168 37.728 6885
+-86.042 37.728 6751
+-85.916 37.728 6513
+-85.79 37.728 6466
+-85.664 37.728 6273
+-85.538 37.728 6067
+-85.412 37.728 5979
+-85.286 37.728 5824
+-85.16 37.728 5781
+-85.034 37.728 5651
+-84.908 37.728 5529
+-84.782 37.728 5447
+-84.656 37.728 5355
+-84.53 37.728 5164
+-84.404 37.728 4979
+-84.278 37.728 4764
+-84.152 37.728 4640
+-84.026 37.728 4574
+-83.9 37.728 4433
+-83.774 37.728 4246
+-83.648 37.728 4209
+-83.522 37.728 4171
+-83.396 37.728 4085
+-83.27 37.728 3965
+-83.144 37.728 3783
+-83.018 37.728 3596
+-82.892 37.728 3369
+-82.766 37.728 3109
+-82.64 37.728 2986
+-82.514 37.728 3058
+-82.388 37.728 3197
+-82.262 37.728 3319
+-82.136 37.728 3408
+-82.01 37.728 3473
+-81.884 37.728 3521
+-81.758 37.728 3559
+-81.632 37.728 3550
+-81.506 37.728 3573
+-81.38 37.728 3592
+-81.254 37.728 3608
+-81.128 37.728 3528
+-81.002 37.728 3540
+-80.876 37.728 3550
+-80.75 37.728 3560
+-80.624 37.728 3568
+-80.498 37.728 3576
+-80.372 37.728 3583
+-80.246 37.728 3589
+-80.12 37.728 3545
+-79.994 37.728 3550
+-79.868 37.728 3533
+-79.742 37.728 3537
+-79.616 37.728 3541
+-79.49 37.728 3475
+-79.364 37.728 3411
+-79.238 37.728 3384
+-79.112 37.728 3384
+-78.986 37.728 3385
+-78.86 37.728 3385
+-78.734 37.728 3385
+-78.608 37.728 3385
+-78.482 37.728 3385
+-78.356 37.728 3385
+-78.23 37.728 3328
+-78.104 37.728 3326
+-77.978 37.728 3325
+-77.852 37.728 3324
+-77.726 37.728 3323
+-77.6 37.728 3322
+-77.474 37.728 3321
+-77.348 37.728 3320
+-77.222 37.728 3297
+-77.096 37.728 3296
+-76.97 37.728 3295
+-76.844 37.728 3294
+-76.718 37.728 3293
+-76.592 37.728 3292
+-76.466 37.728 3292
+-76.34 37.728 3215
+-76.214 37.728 3056
+-76.088 37.728 3054
+-75.962 37.728 3051
+-75.836 37.728 3049
+-75.71 37.728 3047
+-75.584 37.728 3045
+-75.458 37.728 3043
+-75.332 37.728 3041
+-75.206 37.728 3040
+-75.08 37.728 3038
+-74.954 37.728 3036
+-74.828 37.728 3035
+-74.702 37.728 3033
+-74.576 37.728 3032
+-74.45 37.728 3030
+-74.324 37.728 3029
+-74.198 37.728 3028
+-74.072 37.728 3027
+-73.946 37.728 2896
+-73.82 37.728 2895
+-73.694 37.728 2864
+-73.568 37.728 2815
+-73.442 37.728 2813
+-73.316 37.728 2812
+-73.19 37.728 2826
+-73.064 37.728 2825
+-72.938 37.728 2836
+-72.812 37.728 2835
+-72.686 37.728 2794
+-72.56 37.728 2754
+-72.434 37.728 2754
+-72.308 37.728 2754
+-72.182 37.728 2753
+-72.056 37.728 2771
+-71.93 37.728 2777
+-71.804 37.728 2787
+-71.678 37.728 2786
+-71.552 37.728 2818
+-71.426 37.728 2831
+-71.3 37.728 2832
+-71.174 37.728 2887
+-71.048 37.728 2910
+-70.922 37.728 2890
+-70.796 37.728 2880
+-70.67 37.728 3031
+-70.544 37.728 3034
+-70.418 37.728 3097
+-70.292 37.728 3099
+-70.166 37.728 3102
+-70.04 37.728 3104
+-69.914 37.728 3106
+-69.788 37.728 3021
+-69.662 37.728 3043
+-69.536 37.728 3045
+-69.41 37.728 3034
+-69.284 37.728 3333
+-69.158 37.728 3365
+-69.032 37.728 3366
+-68.906 37.728 3361
+-68.78 37.728 3362
+-68.654 37.728 3367
+-68.528 37.728 3384
+-68.402 37.728 3385
+-68.276 37.728 3372
+-68.15 37.728 3373
+-68.024 37.728 3325
+-67.898 37.728 3326
+-67.772 37.728 3327
+-67.646 37.728 3394
+-67.52 37.728 3388
+-67.394 37.728 3399
+-67.268 37.728 3400
+-67.142 37.728 3378
+-67.016 37.728 3401
+-66.89 37.728 3449
+-66.764 37.728 3461
+-66.638 37.728 3460
+-66.512 37.728 3458
+-66.386 37.728 3513
+-66.26 37.728 3515
+-66.134 37.728 3451
+-66.008 37.728 3476
+-65.882 37.728 3469
+-65.756 37.728 3388
+-65.63 37.728 3295
+-65.504 37.728 3320
+-65.378 37.728 3321
+-65.252 37.728 3356
+-65.126 37.728 3327
+-128 37.676 2725
+-127.874 37.676 2809
+-127.748 37.676 2807
+-127.622 37.676 2805
+-127.496 37.676 2807
+-127.37 37.676 2877
+-127.244 37.676 2943
+-127.118 37.676 2943
+-126.992 37.676 2970
+-126.866 37.676 2970
+-126.74 37.676 3037
+-126.614 37.676 3037
+-126.488 37.676 3036
+-126.362 37.676 2992
+-126.236 37.676 3029
+-126.11 37.676 3030
+-125.984 37.676 3032
+-125.858 37.676 3013
+-125.732 37.676 3105
+-125.606 37.676 3108
+-125.48 37.676 3111
+-125.354 37.676 3114
+-125.228 37.676 3118
+-125.102 37.676 3251
+-124.976 37.676 3265
+-124.85 37.676 3299
+-124.724 37.676 3280
+-124.598 37.676 3248
+-124.472 37.676 3251
+-124.346 37.676 3256
+-124.22 37.676 3261
+-124.094 37.676 3268
+-123.968 37.676 3382
+-123.842 37.676 3392
+-123.716 37.676 3511
+-123.59 37.676 3520
+-123.464 37.676 3565
+-123.338 37.676 3639
+-123.212 37.676 3759
+-123.086 37.676 3866
+-122.96 37.676 3875
+-122.834 37.676 3895
+-122.708 37.676 3903
+-122.582 37.676 3906
+-122.456 37.676 3963
+-122.33 37.676 3970
+-122.204 37.676 3981
+-122.078 37.676 3988
+-121.952 37.676 4039
+-121.826 37.676 4034
+-121.7 37.676 4029
+-121.574 37.676 4025
+-121.448 37.676 4025
+-121.322 37.676 4069
+-121.196 37.676 4144
+-121.07 37.676 4226
+-120.944 37.676 4298
+-120.818 37.676 4343
+-120.692 37.676 4346
+-120.566 37.676 4408
+-120.44 37.676 4480
+-120.314 37.676 4554
+-120.188 37.676 4654
+-120.062 37.676 4783
+-119.936 37.676 4869
+-119.81 37.676 4865
+-119.684 37.676 4973
+-119.558 37.676 5053
+-119.432 37.676 5113
+-119.306 37.676 5157
+-119.18 37.676 5173
+-119.054 37.676 5282
+-118.928 37.676 5346
+-118.802 37.676 5360
+-118.676 37.676 5440
+-118.55 37.676 5502
+-118.424 37.676 5524
+-118.298 37.676 5594
+-118.172 37.676 5617
+-118.046 37.676 5605
+-117.92 37.676 5638
+-117.794 37.676 5676
+-117.668 37.676 5691
+-117.542 37.676 5675
+-117.416 37.676 5668
+-117.29 37.676 5684
+-117.164 37.676 5690
+-117.038 37.676 5690
+-116.912 37.676 5690
+-116.786 37.676 5654
+-116.66 37.676 5619
+-116.534 37.676 5591
+-116.408 37.676 5562
+-116.282 37.676 5552
+-116.156 37.676 5510
+-116.03 37.676 5456
+-115.904 37.676 5382
+-115.778 37.676 5314
+-115.652 37.676 5263
+-115.526 37.676 5213
+-115.4 37.676 5130
+-115.274 37.676 5062
+-115.148 37.676 4996
+-115.022 37.676 4925
+-114.896 37.676 4847
+-114.77 37.676 4756
+-114.644 37.676 4689
+-114.518 37.676 4626
+-114.392 37.676 4534
+-114.266 37.676 4460
+-114.14 37.676 4426
+-114.014 37.676 4285
+-113.888 37.676 4375
+-113.762 37.676 4424
+-113.636 37.676 4431
+-113.51 37.676 4351
+-113.384 37.676 4208
+-113.258 37.676 4101
+-113.132 37.676 3992
+-113.006 37.676 3849
+-112.88 37.676 3621
+-112.754 37.676 3458
+-112.628 37.676 3307
+-112.502 37.676 3227
+-112.376 37.676 3141
+-112.25 37.676 3095
+-112.124 37.676 3046
+-111.998 37.676 3020
+-111.872 37.676 2983
+-111.746 37.676 2929
+-111.62 37.676 2859
+-111.494 37.676 2802
+-111.368 37.676 2872
+-111.242 37.676 2914
+-111.116 37.676 2924
+-110.99 37.676 2928
+-110.864 37.676 2914
+-110.738 37.676 2896
+-110.612 37.676 2914
+-110.486 37.676 2946
+-110.36 37.676 2977
+-110.234 37.676 3003
+-110.108 37.676 3023
+-109.982 37.676 3036
+-109.856 37.676 3022
+-109.73 37.676 3021
+-109.604 37.676 3015
+-109.478 37.676 3002
+-109.352 37.676 2982
+-109.226 37.676 2958
+-109.1 37.676 2931
+-108.974 37.676 2866
+-108.848 37.676 2860
+-108.722 37.676 2840
+-108.596 37.676 2815
+-108.47 37.676 2809
+-108.344 37.676 2764
+-108.218 37.676 2772
+-108.092 37.676 2762
+-107.966 37.676 2747
+-107.84 37.676 2776
+-107.714 37.676 2763
+-107.588 37.676 2753
+-107.462 37.676 2779
+-107.336 37.676 2755
+-107.21 37.676 2766
+-107.084 37.676 2765
+-106.958 37.676 2821
+-106.832 37.676 2831
+-106.706 37.676 2846
+-106.58 37.676 2860
+-106.454 37.676 2841
+-106.328 37.676 2900
+-106.202 37.676 2905
+-106.076 37.676 2910
+-105.95 37.676 2909
+-105.824 37.676 2921
+-105.698 37.676 2925
+-105.572 37.676 2929
+-105.446 37.676 2903
+-105.32 37.676 2917
+-105.194 37.676 2945
+-105.068 37.676 2952
+-104.942 37.676 2957
+-104.816 37.676 2964
+-104.69 37.676 2971
+-104.564 37.676 2963
+-104.438 37.676 3038
+-104.312 37.676 3045
+-104.186 37.676 3021
+-104.06 37.676 3028
+-103.934 37.676 3035
+-103.808 37.676 3042
+-103.682 37.676 2970
+-103.556 37.676 2975
+-103.43 37.676 2981
+-103.304 37.676 2990
+-103.178 37.676 2995
+-103.052 37.676 2998
+-102.926 37.676 2976
+-102.8 37.676 3014
+-102.674 37.676 3014
+-102.548 37.676 3019
+-102.422 37.676 3024
+-102.296 37.676 2882
+-102.17 37.676 2861
+-102.044 37.676 2817
+-101.918 37.676 2761
+-101.792 37.676 2738
+-101.666 37.676 2758
+-101.54 37.676 2726
+-101.414 37.676 2704
+-101.288 37.676 2707
+-101.162 37.676 2797
+-101.036 37.676 2832
+-100.91 37.676 3004
+-100.784 37.676 3036
+-100.658 37.676 3144
+-100.532 37.676 3145
+-100.406 37.676 3147
+-100.28 37.676 3216
+-100.154 37.676 3216
+-100.028 37.676 3216
+-99.902 37.676 3216
+-99.776 37.676 3216
+-99.65 37.676 3273
+-99.524 37.676 3273
+-99.398 37.676 3273
+-99.272 37.676 3273
+-99.146 37.676 3273
+-99.02 37.676 3274
+-98.894 37.676 3274
+-98.768 37.676 3275
+-98.642 37.676 3275
+-98.516 37.676 3276
+-98.39 37.676 3277
+-98.264 37.676 3288
+-98.138 37.676 3289
+-98.012 37.676 3290
+-97.886 37.676 3306
+-97.76 37.676 3350
+-97.634 37.676 3347
+-97.508 37.676 3344
+-97.382 37.676 3411
+-97.256 37.676 3436
+-97.13 37.676 3426
+-97.004 37.676 3432
+-96.878 37.676 3425
+-96.752 37.676 3427
+-96.626 37.676 3424
+-96.5 37.676 3457
+-96.374 37.676 3464
+-96.248 37.676 3479
+-96.122 37.676 3430
+-95.996 37.676 3353
+-95.87 37.676 3502
+-95.744 37.676 3628
+-95.618 37.676 3734
+-95.492 37.676 3882
+-95.366 37.676 4134
+-95.24 37.676 4288
+-95.114 37.676 4562
+-94.988 37.676 4706
+-94.862 37.676 4759
+-94.736 37.676 4795
+-94.61 37.676 4928
+-94.484 37.676 5031
+-94.358 37.676 5031
+-94.232 37.676 5149
+-94.106 37.676 5335
+-93.98 37.676 5472
+-93.854 37.676 5597
+-93.728 37.676 5735
+-93.602 37.676 5819
+-93.476 37.676 5965
+-93.35 37.676 6126
+-93.224 37.676 6185
+-93.098 37.676 6350
+-92.972 37.676 6475
+-92.846 37.676 6556
+-92.72 37.676 6678
+-92.594 37.676 6852
+-92.468 37.676 6894
+-92.342 37.676 7067
+-92.216 37.676 7193
+-92.09 37.676 7268
+-91.964 37.676 7420
+-91.838 37.676 7500
+-91.712 37.676 7636
+-91.586 37.676 7718
+-91.46 37.676 7799
+-91.334 37.676 7931
+-91.208 37.676 8000
+-91.082 37.676 8030
+-90.956 37.676 8106
+-90.83 37.676 8189
+-90.704 37.676 8211
+-90.578 37.676 8220
+-90.452 37.676 8223
+-90.326 37.676 8234
+-90.2 37.676 8222
+-90.074 37.676 8153
+-89.948 37.676 8573
+-89.822 37.676 8701
+-89.696 37.676 8814
+-89.57 37.676 9033
+-89.444 37.676 9142
+-89.318 37.676 9303
+-89.192 37.676 9376
+-89.066 37.676 9573
+-88.94 37.676 9749
+-88.814 37.676 9762
+-88.688 37.676 9675
+-88.562 37.676 9478
+-88.436 37.676 9315
+-88.31 37.676 9224
+-88.184 37.676 9113
+-88.058 37.676 9000
+-87.932 37.676 8844
+-87.806 37.676 8666
+-87.68 37.676 8540
+-87.554 37.676 8355
+-87.428 37.676 8245
+-87.302 37.676 8153
+-87.176 37.676 7948
+-87.05 37.676 7779
+-86.924 37.676 7688
+-86.798 37.676 7561
+-86.672 37.676 7368
+-86.546 37.676 7275
+-86.42 37.676 7152
+-86.294 37.676 6921
+-86.168 37.676 6928
+-86.042 37.676 6781
+-85.916 37.676 6560
+-85.79 37.676 6429
+-85.664 37.676 6288
+-85.538 37.676 6118
+-85.412 37.676 5975
+-85.286 37.676 5871
+-85.16 37.676 5753
+-85.034 37.676 5603
+-84.908 37.676 5454
+-84.782 37.676 5414
+-84.656 37.676 5348
+-84.53 37.676 5202
+-84.404 37.676 5015
+-84.278 37.676 4803
+-84.152 37.676 4672
+-84.026 37.676 4621
+-83.9 37.676 4518
+-83.774 37.676 4395
+-83.648 37.676 4262
+-83.522 37.676 4163
+-83.396 37.676 4087
+-83.27 37.676 3934
+-83.144 37.676 3817
+-83.018 37.676 3664
+-82.892 37.676 3497
+-82.766 37.676 3316
+-82.64 37.676 3227
+-82.514 37.676 3246
+-82.388 37.676 3314
+-82.262 37.676 3387
+-82.136 37.676 3454
+-82.01 37.676 3506
+-81.884 37.676 3547
+-81.758 37.676 3541
+-81.632 37.676 3565
+-81.506 37.676 3584
+-81.38 37.676 3601
+-81.254 37.676 3615
+-81.128 37.676 3628
+-81.002 37.676 3543
+-80.876 37.676 3552
+-80.75 37.676 3561
+-80.624 37.676 3569
+-80.498 37.676 3576
+-80.372 37.676 3583
+-80.246 37.676 3589
+-80.12 37.676 3594
+-79.994 37.676 3528
+-79.868 37.676 3533
+-79.742 37.676 3537
+-79.616 37.676 3470
+-79.49 37.676 3408
+-79.364 37.676 3396
+-79.238 37.676 3397
+-79.112 37.676 3398
+-78.986 37.676 3398
+-78.86 37.676 3382
+-78.734 37.676 3382
+-78.608 37.676 3383
+-78.482 37.676 3383
+-78.356 37.676 3330
+-78.23 37.676 3329
+-78.104 37.676 3328
+-77.978 37.676 3327
+-77.852 37.676 3325
+-77.726 37.676 3325
+-77.6 37.676 3324
+-77.474 37.676 3323
+-77.348 37.676 3322
+-77.222 37.676 3321
+-77.096 37.676 3320
+-76.97 37.676 3320
+-76.844 37.676 3319
+-76.718 37.676 3289
+-76.592 37.676 3288
+-76.466 37.676 3218
+-76.34 37.676 3054
+-76.214 37.676 3052
+-76.088 37.676 3050
+-75.962 37.676 3047
+-75.836 37.676 3045
+-75.71 37.676 3043
+-75.584 37.676 3041
+-75.458 37.676 3039
+-75.332 37.676 3038
+-75.206 37.676 3036
+-75.08 37.676 3034
+-74.954 37.676 3033
+-74.828 37.676 3031
+-74.702 37.676 3030
+-74.576 37.676 3028
+-74.45 37.676 3027
+-74.324 37.676 3026
+-74.198 37.676 3025
+-74.072 37.676 2894
+-73.946 37.676 2893
+-73.82 37.676 2861
+-73.694 37.676 2812
+-73.568 37.676 2811
+-73.442 37.676 2809
+-73.316 37.676 2824
+-73.19 37.676 2823
+-73.064 37.676 2833
+-72.938 37.676 2832
+-72.812 37.676 2792
+-72.686 37.676 2752
+-72.56 37.676 2752
+-72.434 37.676 2751
+-72.308 37.676 2751
+-72.182 37.676 2768
+-72.056 37.676 2775
+-71.93 37.676 2785
+-71.804 37.676 2784
+-71.678 37.676 2816
+-71.552 37.676 2829
+-71.426 37.676 2830
+-71.3 37.676 2885
+-71.174 37.676 2908
+-71.048 37.676 2888
+-70.922 37.676 2879
+-70.796 37.676 3029
+-70.67 37.676 3031
+-70.544 37.676 3095
+-70.418 37.676 3097
+-70.292 37.676 3099
+-70.166 37.676 3102
+-70.04 37.676 3104
+-69.914 37.676 3019
+-69.788 37.676 3041
+-69.662 37.676 3043
+-69.536 37.676 3033
+-69.41 37.676 3332
+-69.284 37.676 3363
+-69.158 37.676 3364
+-69.032 37.676 3360
+-68.906 37.676 3361
+-68.78 37.676 3365
+-68.654 37.676 3382
+-68.528 37.676 3383
+-68.402 37.676 3371
+-68.276 37.676 3372
+-68.15 37.676 3323
+-68.024 37.676 3324
+-67.898 37.676 3325
+-67.772 37.676 3392
+-67.646 37.676 3387
+-67.52 37.676 3397
+-67.394 37.676 3398
+-67.268 37.676 3377
+-67.142 37.676 3399
+-67.016 37.676 3448
+-66.89 37.676 3459
+-66.764 37.676 3458
+-66.638 37.676 3457
+-66.512 37.676 3512
+-66.386 37.676 3513
+-66.26 37.676 3450
+-66.134 37.676 3475
+-66.008 37.676 3468
+-65.882 37.676 3383
+-65.756 37.676 3294
+-65.63 37.676 3319
+-65.504 37.676 3320
+-65.378 37.676 3355
+-65.252 37.676 3326
+-65.126 37.676 3339
+-128 37.624 2732
+-127.874 37.624 2731
+-127.748 37.624 2730
+-127.622 37.624 2898
+-127.496 37.624 2896
+-127.37 37.624 2894
+-127.244 37.624 2950
+-127.118 37.624 2950
+-126.992 37.624 3016
+-126.866 37.624 3044
+-126.74 37.624 3044
+-126.614 37.624 3044
+-126.488 37.624 3044
+-126.362 37.624 3044
+-126.236 37.624 3000
+-126.11 37.624 3038
+-125.984 37.624 3040
+-125.858 37.624 3043
+-125.732 37.624 3025
+-125.606 37.624 3118
+-125.48 37.624 3122
+-125.354 37.624 3126
+-125.228 37.624 3131
+-125.102 37.624 3136
+-124.976 37.624 3271
+-124.85 37.624 3286
+-124.724 37.624 3322
+-124.598 37.624 3303
+-124.472 37.624 3272
+-124.346 37.624 3277
+-124.22 37.624 3336
+-124.094 37.624 3342
+-123.968 37.624 3455
+-123.842 37.624 3565
+-123.716 37.624 3572
+-123.59 37.624 3581
+-123.464 37.624 3699
+-123.338 37.624 3718
+-123.212 37.624 3860
+-123.086 37.624 3868
+-122.96 37.624 3878
+-122.834 37.624 3926
+-122.708 37.624 3926
+-122.582 37.624 3949
+-122.456 37.624 3961
+-122.33 37.624 3985
+-122.204 37.624 3995
+-122.078 37.624 4008
+-121.952 37.624 4017
+-121.826 37.624 4062
+-121.7 37.624 4054
+-121.574 37.624 4062
+-121.448 37.624 4006
+-121.322 37.624 3972
+-121.196 37.624 4072
+-121.07 37.624 4217
+-120.944 37.624 4303
+-120.818 37.624 4317
+-120.692 37.624 4276
+-120.566 37.624 4403
+-120.44 37.624 4503
+-120.314 37.624 4586
+-120.188 37.624 4698
+-120.062 37.624 4816
+-119.936 37.624 4892
+-119.81 37.624 4957
+-119.684 37.624 4988
+-119.558 37.624 5065
+-119.432 37.624 5153
+-119.306 37.624 5213
+-119.18 37.624 5259
+-119.054 37.624 5331
+-118.928 37.624 5390
+-118.802 37.624 5429
+-118.676 37.624 5497
+-118.55 37.624 5565
+-118.424 37.624 5581
+-118.298 37.624 5599
+-118.172 37.624 5624
+-118.046 37.624 5655
+-117.92 37.624 5701
+-117.794 37.624 5740
+-117.668 37.624 5733
+-117.542 37.624 5729
+-117.416 37.624 5749
+-117.29 37.624 5760
+-117.164 37.624 5750
+-117.038 37.624 5725
+-116.912 37.624 5719
+-116.786 37.624 5701
+-116.66 37.624 5683
+-116.534 37.624 5652
+-116.408 37.624 5624
+-116.282 37.624 5595
+-116.156 37.624 5567
+-116.03 37.624 5538
+-115.904 37.624 5464
+-115.778 37.624 5382
+-115.652 37.624 5311
+-115.526 37.624 5269
+-115.4 37.624 5162
+-115.274 37.624 5090
+-115.148 37.624 5042
+-115.022 37.624 4943
+-114.896 37.624 4834
+-114.77 37.624 4778
+-114.644 37.624 4776
+-114.518 37.624 4676
+-114.392 37.624 4596
+-114.266 37.624 4527
+-114.14 37.624 4482
+-114.014 37.624 4415
+-113.888 37.624 4429
+-113.762 37.624 4441
+-113.636 37.624 4444
+-113.51 37.624 4355
+-113.384 37.624 4202
+-113.258 37.624 4119
+-113.132 37.624 3984
+-113.006 37.624 3840
+-112.88 37.624 3599
+-112.754 37.624 3411
+-112.628 37.624 3239
+-112.502 37.624 3165
+-112.376 37.624 3115
+-112.25 37.624 3069
+-112.124 37.624 3052
+-111.998 37.624 3030
+-111.872 37.624 2986
+-111.746 37.624 2950
+-111.62 37.624 2904
+-111.494 37.624 2873
+-111.368 37.624 2905
+-111.242 37.624 2913
+-111.116 37.624 2922
+-110.99 37.624 2932
+-110.864 37.624 2935
+-110.738 37.624 2920
+-110.612 37.624 2937
+-110.486 37.624 2975
+-110.36 37.624 3012
+-110.234 37.624 3045
+-110.108 37.624 3073
+-109.982 37.624 3083
+-109.856 37.624 3093
+-109.73 37.624 3065
+-109.604 37.624 3061
+-109.478 37.624 3053
+-109.352 37.624 3039
+-109.226 37.624 3021
+-109.1 37.624 3000
+-108.974 37.624 2981
+-108.848 37.624 2979
+-108.722 37.624 2960
+-108.596 37.624 2935
+-108.47 37.624 2878
+-108.344 37.624 2858
+-108.218 37.624 2848
+-108.092 37.624 2834
+-107.966 37.624 2866
+-107.84 37.624 2850
+-107.714 37.624 2833
+-107.588 37.624 2854
+-107.462 37.624 2820
+-107.336 37.624 2821
+-107.21 37.624 2811
+-107.084 37.624 2860
+-106.958 37.624 2864
+-106.832 37.624 2873
+-106.706 37.624 2881
+-106.58 37.624 2857
+-106.454 37.624 2910
+-106.328 37.624 2912
+-106.202 37.624 2914
+-106.076 37.624 2910
+-105.95 37.624 2919
+-105.824 37.624 2921
+-105.698 37.624 2924
+-105.572 37.624 2896
+-105.446 37.624 2909
+-105.32 37.624 2935
+-105.194 37.624 2941
+-105.068 37.624 2947
+-104.942 37.624 2953
+-104.816 37.624 2960
+-104.69 37.624 2954
+-104.564 37.624 3025
+-104.438 37.624 3034
+-104.312 37.624 3010
+-104.186 37.624 3018
+-104.06 37.624 3026
+-103.934 37.624 3033
+-103.808 37.624 2963
+-103.682 37.624 2969
+-103.556 37.624 2975
+-103.43 37.624 2984
+-103.304 37.624 2990
+-103.178 37.624 2993
+-103.052 37.624 2972
+-102.926 37.624 3009
+-102.8 37.624 3009
+-102.674 37.624 3015
+-102.548 37.624 3020
+-102.422 37.624 3025
+-102.296 37.624 2884
+-102.17 37.624 2862
+-102.044 37.624 2819
+-101.918 37.624 2762
+-101.792 37.624 2738
+-101.666 37.624 2756
+-101.54 37.624 2724
+-101.414 37.624 2701
+-101.288 37.624 2704
+-101.162 37.624 2816
+-101.036 37.624 2828
+-100.91 37.624 3006
+-100.784 37.624 3048
+-100.658 37.624 3141
+-100.532 37.624 3142
+-100.406 37.624 3143
+-100.28 37.624 3145
+-100.154 37.624 3214
+-100.028 37.624 3214
+-99.902 37.624 3214
+-99.776 37.624 3272
+-99.65 37.624 3272
+-99.524 37.624 3272
+-99.398 37.624 3272
+-99.272 37.624 3272
+-99.146 37.624 3272
+-99.02 37.624 3272
+-98.894 37.624 3272
+-98.768 37.624 3273
+-98.642 37.624 3273
+-98.516 37.624 3274
+-98.39 37.624 3286
+-98.264 37.624 3286
+-98.138 37.624 3287
+-98.012 37.624 3287
+-97.886 37.624 3288
+-97.76 37.624 3288
+-97.634 37.624 3344
+-97.508 37.624 3410
+-97.382 37.624 3434
+-97.256 37.624 3421
+-97.13 37.624 3423
+-97.004 37.624 3403
+-96.878 37.624 3391
+-96.752 37.624 3391
+-96.626 37.624 3379
+-96.5 37.624 3373
+-96.374 37.624 3395
+-96.248 37.624 3420
+-96.122 37.624 3432
+-95.996 37.624 3431
+-95.87 37.624 3518
+-95.744 37.624 3626
+-95.618 37.624 3742
+-95.492 37.624 3865
+-95.366 37.624 4118
+-95.24 37.624 4323
+-95.114 37.624 4568
+-94.988 37.624 4672
+-94.862 37.624 4710
+-94.736 37.624 4602
+-94.61 37.624 4852
+-94.484 37.624 5034
+-94.358 37.624 5061
+-94.232 37.624 5156
+-94.106 37.624 5345
+-93.98 37.624 5413
+-93.854 37.624 5579
+-93.728 37.624 5702
+-93.602 37.624 5803
+-93.476 37.624 5948
+-93.35 37.624 6121
+-93.224 37.624 6210
+-93.098 37.624 6314
+-92.972 37.624 6470
+-92.846 37.624 6531
+-92.72 37.624 6679
+-92.594 37.624 6770
+-92.468 37.624 6914
+-92.342 37.624 7045
+-92.216 37.624 7109
+-92.09 37.624 7262
+-91.964 37.624 7380
+-91.838 37.624 7488
+-91.712 37.624 7625
+-91.586 37.624 7667
+-91.46 37.624 7760
+-91.334 37.624 7850
+-91.208 37.624 7965
+-91.082 37.624 8022
+-90.956 37.624 8080
+-90.83 37.624 8118
+-90.704 37.624 8148
+-90.578 37.624 8166
+-90.452 37.624 8173
+-90.326 37.624 8181
+-90.2 37.624 8168
+-90.074 37.624 8301
+-89.948 37.624 8496
+-89.822 37.624 8716
+-89.696 37.624 8837
+-89.57 37.624 9000
+-89.444 37.624 9129
+-89.318 37.624 9273
+-89.192 37.624 9420
+-89.066 37.624 9525
+-88.94 37.624 9639
+-88.814 37.624 9705
+-88.688 37.624 9645
+-88.562 37.624 9494
+-88.436 37.624 9370
+-88.31 37.624 9280
+-88.184 37.624 9023
+-88.058 37.624 8964
+-87.932 37.624 8827
+-87.806 37.624 8681
+-87.68 37.624 8545
+-87.554 37.624 8380
+-87.428 37.624 8231
+-87.302 37.624 8090
+-87.176 37.624 7971
+-87.05 37.624 7830
+-86.924 37.624 7715
+-86.798 37.624 7558
+-86.672 37.624 7377
+-86.546 37.624 7279
+-86.42 37.624 7166
+-86.294 37.624 7029
+-86.168 37.624 6963
+-86.042 37.624 6738
+-85.916 37.624 6538
+-85.79 37.624 6459
+-85.664 37.624 6296
+-85.538 37.624 6163
+-85.412 37.624 6009
+-85.286 37.624 5865
+-85.16 37.624 5716
+-85.034 37.624 5571
+-84.908 37.624 5485
+-84.782 37.624 5340
+-84.656 37.624 5360
+-84.53 37.624 5217
+-84.404 37.624 5025
+-84.278 37.624 4748
+-84.152 37.624 4618
+-84.026 37.624 4645
+-83.9 37.624 4586
+-83.774 37.624 4459
+-83.648 37.624 4302
+-83.522 37.624 4136
+-83.396 37.624 4065
+-83.27 37.624 3943
+-83.144 37.624 3839
+-83.018 37.624 3735
+-82.892 37.624 3621
+-82.766 37.624 3515
+-82.64 37.624 3430
+-82.514 37.624 3419
+-82.388 37.624 3448
+-82.262 37.624 3477
+-82.136 37.624 3510
+-82.01 37.624 3546
+-81.884 37.624 3539
+-81.758 37.624 3562
+-81.632 37.624 3582
+-81.506 37.624 3598
+-81.38 37.624 3612
+-81.254 37.624 3624
+-81.128 37.624 3635
+-81.002 37.624 3552
+-80.876 37.624 3554
+-80.75 37.624 3563
+-80.624 37.624 3570
+-80.498 37.624 3577
+-80.372 37.624 3583
+-80.246 37.624 3589
+-80.12 37.624 3524
+-79.994 37.624 3529
+-79.868 37.624 3533
+-79.742 37.624 3465
+-79.616 37.624 3405
+-79.49 37.624 3393
+-79.364 37.624 3394
+-79.238 37.624 3394
+-79.112 37.624 3395
+-78.986 37.624 3395
+-78.86 37.624 3396
+-78.734 37.624 3396
+-78.608 37.624 3397
+-78.482 37.624 3326
+-78.356 37.624 3325
+-78.23 37.624 3324
+-78.104 37.624 3323
+-77.978 37.624 3322
+-77.852 37.624 3321
+-77.726 37.624 3320
+-77.6 37.624 3319
+-77.474 37.624 3318
+-77.348 37.624 3317
+-77.222 37.624 3317
+-77.096 37.624 3316
+-76.97 37.624 3315
+-76.844 37.624 3315
+-76.718 37.624 3314
+-76.592 37.624 3214
+-76.466 37.624 3052
+-76.34 37.624 3050
+-76.214 37.624 3048
+-76.088 37.624 3045
+-75.962 37.624 3043
+-75.836 37.624 3041
+-75.71 37.624 3039
+-75.584 37.624 3037
+-75.458 37.624 3036
+-75.332 37.624 3034
+-75.206 37.624 3032
+-75.08 37.624 3030
+-74.954 37.624 3029
+-74.828 37.624 3027
+-74.702 37.624 3026
+-74.576 37.624 3025
+-74.45 37.624 3023
+-74.324 37.624 3022
+-74.198 37.624 2891
+-74.072 37.624 2890
+-73.946 37.624 2859
+-73.82 37.624 2809
+-73.694 37.624 2808
+-73.568 37.624 2807
+-73.442 37.624 2821
+-73.316 37.624 2820
+-73.19 37.624 2831
+-73.064 37.624 2830
+-72.938 37.624 2789
+-72.812 37.624 2749
+-72.686 37.624 2749
+-72.56 37.624 2749
+-72.434 37.624 2749
+-72.308 37.624 2766
+-72.182 37.624 2773
+-72.056 37.624 2783
+-71.93 37.624 2782
+-71.804 37.624 2814
+-71.678 37.624 2826
+-71.552 37.624 2828
+-71.426 37.624 2883
+-71.3 37.624 2906
+-71.174 37.624 2886
+-71.048 37.624 2877
+-70.922 37.624 3027
+-70.796 37.624 3029
+-70.67 37.624 3092
+-70.544 37.624 3095
+-70.418 37.624 3097
+-70.292 37.624 3099
+-70.166 37.624 3102
+-70.04 37.624 3018
+-69.914 37.624 3039
+-69.788 37.624 3041
+-69.662 37.624 3031
+-69.536 37.624 3330
+-69.41 37.624 3361
+-69.284 37.624 3362
+-69.158 37.624 3358
+-69.032 37.624 3359
+-68.906 37.624 3364
+-68.78 37.624 3380
+-68.654 37.624 3382
+-68.528 37.624 3369
+-68.402 37.624 3370
+-68.276 37.624 3322
+-68.15 37.624 3323
+-68.024 37.624 3324
+-67.898 37.624 3391
+-67.772 37.624 3386
+-67.646 37.624 3396
+-67.52 37.624 3397
+-67.394 37.624 3376
+-67.268 37.624 3398
+-67.142 37.624 3446
+-67.016 37.624 3458
+-66.89 37.624 3457
+-66.764 37.624 3455
+-66.638 37.624 3511
+-66.512 37.624 3512
+-66.386 37.624 3449
+-66.26 37.624 3474
+-66.134 37.624 3467
+-66.008 37.624 3385
+-65.882 37.624 3293
+-65.756 37.624 3318
+-65.63 37.624 3319
+-65.504 37.624 3354
+-65.378 37.624 3325
+-65.252 37.624 3338
+-65.126 37.624 3339
+-128 37.572 2800
+-127.874 37.572 2799
+-127.748 37.572 2820
+-127.622 37.572 2818
+-127.496 37.572 2903
+-127.37 37.572 2902
+-127.244 37.572 2900
+-127.118 37.572 3021
+-126.992 37.572 3021
+-126.866 37.572 3021
+-126.74 37.572 3050
+-126.614 37.572 3050
+-126.488 37.572 3050
+-126.362 37.572 3051
+-126.236 37.572 3052
+-126.11 37.572 3008
+-125.984 37.572 3047
+-125.858 37.572 3050
+-125.732 37.572 3054
+-125.606 37.572 3065
+-125.48 37.572 3132
+-125.354 37.572 3137
+-125.228 37.572 3142
+-125.102 37.572 3148
+-124.976 37.572 3154
+-124.85 37.572 3291
+-124.724 37.572 3307
+-124.598 37.572 3344
+-124.472 37.572 3371
+-124.346 37.572 3350
+-124.22 37.572 3355
+-124.094 37.572 3463
+-123.968 37.572 3570
+-123.842 37.572 3575
+-123.716 37.572 3582
+-123.59 37.572 3695
+-123.464 37.572 3747
+-123.338 37.572 3844
+-123.212 37.572 3856
+-123.086 37.572 3898
+-122.96 37.572 3912
+-122.834 37.572 3926
+-122.708 37.572 3939
+-122.582 37.572 3941
+-122.456 37.572 3966
+-122.33 37.572 3980
+-122.204 37.572 4006
+-122.078 37.572 4017
+-121.952 37.572 4030
+-121.826 37.572 4079
+-121.7 37.572 4104
+-121.574 37.572 4061
+-121.448 37.572 3962
+-121.322 37.572 3863
+-121.196 37.572 4017
+-121.07 37.572 4209
+-120.944 37.572 4297
+-120.818 37.572 4311
+-120.692 37.572 4359
+-120.566 37.572 4451
+-120.44 37.572 4491
+-120.314 37.572 4594
+-120.188 37.572 4703
+-120.062 37.572 4823
+-119.936 37.572 4868
+-119.81 37.572 4988
+-119.684 37.572 5062
+-119.558 37.572 5098
+-119.432 37.572 5186
+-119.306 37.572 5283
+-119.18 37.572 5342
+-119.054 37.572 5397
+-118.928 37.572 5461
+-118.802 37.572 5489
+-118.676 37.572 5534
+-118.55 37.572 5585
+-118.424 37.572 5630
+-118.298 37.572 5664
+-118.172 37.572 5706
+-118.046 37.572 5724
+-117.92 37.572 5762
+-117.794 37.572 5781
+-117.668 37.572 5795
+-117.542 37.572 5802
+-117.416 37.572 5816
+-117.29 37.572 5789
+-117.164 37.572 5836
+-117.038 37.572 5777
+-116.912 37.572 5774
+-116.786 37.572 5735
+-116.66 37.572 5723
+-116.534 37.572 5704
+-116.408 37.572 5696
+-116.282 37.572 5655
+-116.156 37.572 5614
+-116.03 37.572 5566
+-115.904 37.572 5511
+-115.778 37.572 5457
+-115.652 37.572 5399
+-115.526 37.572 5335
+-115.4 37.572 5232
+-115.274 37.572 5127
+-115.148 37.572 5060
+-115.022 37.572 4984
+-114.896 37.572 4889
+-114.77 37.572 4822
+-114.644 37.572 4785
+-114.518 37.572 4727
+-114.392 37.572 4647
+-114.266 37.572 4595
+-114.14 37.572 4564
+-114.014 37.572 4515
+-113.888 37.572 4495
+-113.762 37.572 4471
+-113.636 37.572 4441
+-113.51 37.572 4335
+-113.384 37.572 4199
+-113.258 37.572 4088
+-113.132 37.572 3966
+-113.006 37.572 3814
+-112.88 37.572 3558
+-112.754 37.572 3343
+-112.628 37.572 3177
+-112.502 37.572 3106
+-112.376 37.572 3074
+-112.25 37.572 3022
+-112.124 37.572 3038
+-111.998 37.572 3041
+-111.872 37.572 3000
+-111.746 37.572 2964
+-111.62 37.572 2942
+-111.494 37.572 2936
+-111.368 37.572 2934
+-111.242 37.572 2932
+-111.116 37.572 2936
+-110.99 37.572 2951
+-110.864 37.572 2968
+-110.738 37.572 2978
+-110.612 37.572 2992
+-110.486 37.572 3025
+-110.36 37.572 3062
+-110.234 37.572 3095
+-110.108 37.572 3114
+-109.982 37.572 3123
+-109.856 37.572 3132
+-109.73 37.572 3107
+-109.604 37.572 3105
+-109.478 37.572 3100
+-109.352 37.572 3091
+-109.226 37.572 3077
+-109.1 37.572 3063
+-108.974 37.572 3064
+-108.848 37.572 3044
+-108.722 37.572 3019
+-108.596 37.572 3032
+-108.47 37.572 2986
+-108.344 37.572 2976
+-108.218 37.572 2961
+-108.092 37.572 2947
+-107.966 37.572 2930
+-107.84 37.572 2956
+-107.714 37.572 2928
+-107.588 37.572 2886
+-107.462 37.572 2881
+-107.336 37.572 2907
+-107.21 37.572 2905
+-107.084 37.572 2902
+-106.958 37.572 2905
+-106.832 37.572 2908
+-106.706 37.572 2923
+-106.58 37.572 2925
+-106.454 37.572 2923
+-106.328 37.572 2921
+-106.202 37.572 2914
+-106.076 37.572 2920
+-105.95 37.572 2919
+-105.824 37.572 2919
+-105.698 37.572 2890
+-105.572 37.572 2901
+-105.446 37.572 2925
+-105.32 37.572 2930
+-105.194 37.572 2935
+-105.068 37.572 2941
+-104.942 37.572 2948
+-104.816 37.572 2942
+-104.69 37.572 3011
+-104.564 37.572 3020
+-104.438 37.572 2998
+-104.312 37.572 3007
+-104.186 37.572 3015
+-104.06 37.572 3023
+-103.934 37.572 2955
+-103.808 37.572 2962
+-103.682 37.572 2968
+-103.556 37.572 2977
+-103.43 37.572 2984
+-103.304 37.572 2988
+-103.178 37.572 2967
+-103.052 37.572 3004
+-102.926 37.572 3005
+-102.8 37.572 3010
+-102.674 37.572 3016
+-102.548 37.572 3021
+-102.422 37.572 3026
+-102.296 37.572 2886
+-102.17 37.572 2863
+-102.044 37.572 2820
+-101.918 37.572 2764
+-101.792 37.572 2737
+-101.666 37.572 2754
+-101.54 37.572 2727
+-101.414 37.572 2699
+-101.288 37.572 2806
+-101.162 37.572 2812
+-101.036 37.572 2843
+-100.91 37.572 3001
+-100.784 37.572 3044
+-100.658 37.572 3137
+-100.532 37.572 3138
+-100.406 37.572 3140
+-100.28 37.572 3141
+-100.154 37.572 3142
+-100.028 37.572 3175
+-99.902 37.572 3211
+-99.776 37.572 3270
+-99.65 37.572 3270
+-99.524 37.572 3270
+-99.398 37.572 3270
+-99.272 37.572 3270
+-99.146 37.572 3270
+-99.02 37.572 3270
+-98.894 37.572 3270
+-98.768 37.572 3270
+-98.642 37.572 3271
+-98.516 37.572 3283
+-98.39 37.572 3283
+-98.264 37.572 3284
+-98.138 37.572 3284
+-98.012 37.572 3284
+-97.886 37.572 3283
+-97.76 37.572 3283
+-97.634 37.572 3340
+-97.508 37.572 3392
+-97.382 37.572 3423
+-97.256 37.572 3414
+-97.13 37.572 3393
+-97.004 37.572 3399
+-96.878 37.572 3371
+-96.752 37.572 3329
+-96.626 37.572 3292
+-96.5 37.572 3240
+-96.374 37.572 3242
+-96.248 37.572 3323
+-96.122 37.572 3398
+-95.996 37.572 3461
+-95.87 37.572 3521
+-95.744 37.572 3593
+-95.618 37.572 3685
+-95.492 37.572 3807
+-95.366 37.572 4078
+-95.24 37.572 4336
+-95.114 37.572 4500
+-94.988 37.572 4659
+-94.862 37.572 4768
+-94.736 37.572 4756
+-94.61 37.572 4895
+-94.484 37.572 5027
+-94.358 37.572 5108
+-94.232 37.572 5205
+-94.106 37.572 5368
+-93.98 37.572 5487
+-93.854 37.572 5576
+-93.728 37.572 5659
+-93.602 37.572 5759
+-93.476 37.572 5946
+-93.35 37.572 6064
+-93.224 37.572 6181
+-93.098 37.572 6304
+-92.972 37.572 6429
+-92.846 37.572 6511
+-92.72 37.572 6610
+-92.594 37.572 6753
+-92.468 37.572 6884
+-92.342 37.572 7007
+-92.216 37.572 7119
+-92.09 37.572 7226
+-91.964 37.572 7361
+-91.838 37.572 7481
+-91.712 37.572 7540
+-91.586 37.572 7618
+-91.46 37.572 7686
+-91.334 37.572 7800
+-91.208 37.572 7871
+-91.082 37.572 7941
+-90.956 37.572 8045
+-90.83 37.572 8065
+-90.704 37.572 8091
+-90.578 37.572 8101
+-90.452 37.572 8115
+-90.326 37.572 8121
+-90.2 37.572 8087
+-90.074 37.572 8157
+-89.948 37.572 8592
+-89.822 37.572 8691
+-89.696 37.572 8844
+-89.57 37.572 8980
+-89.444 37.572 9114
+-89.318 37.572 9267
+-89.192 37.572 9366
+-89.066 37.572 9500
+-88.94 37.572 9681
+-88.814 37.572 9682
+-88.688 37.572 9614
+-88.562 37.572 9516
+-88.436 37.572 9337
+-88.31 37.572 9194
+-88.184 37.572 9088
+-88.058 37.572 8926
+-87.932 37.572 8867
+-87.806 37.572 8683
+-87.68 37.572 8508
+-87.554 37.572 8368
+-87.428 37.572 8170
+-87.302 37.572 8092
+-87.176 37.572 7934
+-87.05 37.572 7821
+-86.924 37.572 7694
+-86.798 37.572 7474
+-86.672 37.572 7410
+-86.546 37.572 7282
+-86.42 37.572 7149
+-86.294 37.572 7095
+-86.168 37.572 6930
+-86.042 37.572 6735
+-85.916 37.572 6593
+-85.79 37.572 6445
+-85.664 37.572 6263
+-85.538 37.572 6156
+-85.412 37.572 6059
+-85.286 37.572 5890
+-85.16 37.572 5663
+-85.034 37.572 5516
+-84.908 37.572 5505
+-84.782 37.572 5412
+-84.656 37.572 5359
+-84.53 37.572 5201
+-84.404 37.572 5065
+-84.278 37.572 4820
+-84.152 37.572 4694
+-84.026 37.572 4653
+-83.9 37.572 4590
+-83.774 37.572 4444
+-83.648 37.572 4305
+-83.522 37.572 4170
+-83.396 37.572 4040
+-83.27 37.572 3970
+-83.144 37.572 3869
+-83.018 37.572 3787
+-82.892 37.572 3711
+-82.766 37.572 3640
+-82.64 37.572 3589
+-82.514 37.572 3549
+-82.388 37.572 3552
+-82.262 37.572 3569
+-82.136 37.572 3540
+-82.01 37.572 3550
+-81.884 37.572 3568
+-81.758 37.572 3585
+-81.632 37.572 3599
+-81.506 37.572 3612
+-81.38 37.572 3624
+-81.254 37.572 3634
+-81.128 37.572 3643
+-81.002 37.572 3652
+-80.876 37.572 3564
+-80.75 37.572 3572
+-80.624 37.572 3579
+-80.498 37.572 3586
+-80.372 37.572 3563
+-80.246 37.572 3520
+-80.12 37.572 3525
+-79.994 37.572 3529
+-79.868 37.572 3461
+-79.742 37.572 3401
+-79.616 37.572 3390
+-79.49 37.572 3390
+-79.364 37.572 3391
+-79.238 37.572 3391
+-79.112 37.572 3392
+-78.986 37.572 3392
+-78.86 37.572 3393
+-78.734 37.572 3393
+-78.608 37.572 3322
+-78.482 37.572 3321
+-78.356 37.572 3320
+-78.23 37.572 3319
+-78.104 37.572 3318
+-77.978 37.572 3317
+-77.852 37.572 3316
+-77.726 37.572 3315
+-77.6 37.572 3314
+-77.474 37.572 3314
+-77.348 37.572 3313
+-77.222 37.572 3312
+-77.096 37.572 3312
+-76.97 37.572 3311
+-76.844 37.572 3311
+-76.718 37.572 3210
+-76.592 37.572 3050
+-76.466 37.572 3048
+-76.34 37.572 3046
+-76.214 37.572 3043
+-76.088 37.572 3041
+-75.962 37.572 3039
+-75.836 37.572 3037
+-75.71 37.572 3035
+-75.584 37.572 3033
+-75.458 37.572 3031
+-75.332 37.572 3030
+-75.206 37.572 3028
+-75.08 37.572 3027
+-74.954 37.572 3025
+-74.828 37.572 3024
+-74.702 37.572 3022
+-74.576 37.572 3021
+-74.45 37.572 3020
+-74.324 37.572 2889
+-74.198 37.572 2887
+-74.072 37.572 2856
+-73.946 37.572 2806
+-73.82 37.572 2805
+-73.694 37.572 2804
+-73.568 37.572 2818
+-73.442 37.572 2817
+-73.316 37.572 2828
+-73.19 37.572 2827
+-73.064 37.572 2787
+-72.938 37.572 2747
+-72.812 37.572 2747
+-72.686 37.572 2747
+-72.56 37.572 2747
+-72.434 37.572 2764
+-72.308 37.572 2771
+-72.182 37.572 2781
+-72.056 37.572 2780
+-71.93 37.572 2812
+-71.804 37.572 2824
+-71.678 37.572 2826
+-71.552 37.572 2881
+-71.426 37.572 2904
+-71.3 37.572 2884
+-71.174 37.572 2875
+-71.048 37.572 3024
+-70.922 37.572 3027
+-70.796 37.572 3090
+-70.67 37.572 3092
+-70.544 37.572 3095
+-70.418 37.572 3097
+-70.292 37.572 3099
+-70.166 37.572 3016
+-70.04 37.572 3037
+-69.914 37.572 3039
+-69.788 37.572 3029
+-69.662 37.572 3328
+-69.536 37.572 3359
+-69.41 37.572 3361
+-69.284 37.572 3356
+-69.158 37.572 3357
+-69.032 37.572 3362
+-68.906 37.572 3379
+-68.78 37.572 3380
+-68.654 37.572 3367
+-68.528 37.572 3369
+-68.402 37.572 3320
+-68.276 37.572 3322
+-68.15 37.572 3323
+-68.024 37.572 3390
+-67.898 37.572 3384
+-67.772 37.572 3394
+-67.646 37.572 3396
+-67.52 37.572 3374
+-67.394 37.572 3397
+-67.268 37.572 3445
+-67.142 37.572 3457
+-67.016 37.572 3455
+-66.89 37.572 3454
+-66.764 37.572 3509
+-66.638 37.572 3510
+-66.512 37.572 3448
+-66.386 37.572 3472
+-66.26 37.572 3465
+-66.134 37.572 3381
+-66.008 37.572 3292
+-65.882 37.572 3317
+-65.756 37.572 3318
+-65.63 37.572 3352
+-65.504 37.572 3324
+-65.378 37.572 3337
+-65.252 37.572 3338
+-65.126 37.572 3316
+-128 37.52 2736
+-127.874 37.52 2804
+-127.748 37.52 2804
+-127.622 37.52 2824
+-127.496 37.52 2823
+-127.37 37.52 2824
+-127.244 37.52 2991
+-127.118 37.52 2993
+-126.992 37.52 3025
+-126.866 37.52 3025
+-126.74 37.52 3026
+-126.614 37.52 3055
+-126.488 37.52 3056
+-126.362 37.52 3057
+-126.236 37.52 3058
+-126.11 37.52 3060
+-125.984 37.52 3080
+-125.858 37.52 3116
+-125.732 37.52 3119
+-125.606 37.52 3122
+-125.48 37.52 3132
+-125.354 37.52 3256
+-125.228 37.52 3260
+-125.102 37.52 3264
+-124.976 37.52 3268
+-124.85 37.52 3273
+-124.724 37.52 3359
+-124.598 37.52 3428
+-124.472 37.52 3414
+-124.346 37.52 3437
+-124.22 37.52 3464
+-124.094 37.52 3616
+-123.968 37.52 3618
+-123.842 37.52 3621
+-123.716 37.52 3686
+-123.59 37.52 3779
+-123.464 37.52 3822
+-123.338 37.52 3829
+-123.212 37.52 3840
+-123.086 37.52 3853
+-122.96 37.52 3901
+-122.834 37.52 3919
+-122.708 37.52 3936
+-122.582 37.52 3952
+-122.456 37.52 3955
+-122.33 37.52 3981
+-122.204 37.52 3995
+-122.078 37.52 4006
+-121.952 37.52 4077
+-121.826 37.52 4084
+-121.7 37.52 4083
+-121.574 37.52 4091
+-121.448 37.52 4034
+-121.322 37.52 3997
+-121.196 37.52 4111
+-121.07 37.52 4245
+-120.944 37.52 4291
+-120.818 37.52 4225
+-120.692 37.52 4367
+-120.566 37.52 4465
+-120.44 37.52 4531
+-120.314 37.52 4642
+-120.188 37.52 4709
+-120.062 37.52 4804
+-119.936 37.52 4925
+-119.81 37.52 5033
+-119.684 37.52 5040
+-119.558 37.52 5104
+-119.432 37.52 5234
+-119.306 37.52 5331
+-119.18 37.52 5366
+-119.054 37.52 5440
+-118.928 37.52 5504
+-118.802 37.52 5539
+-118.676 37.52 5566
+-118.55 37.52 5615
+-118.424 37.52 5671
+-118.298 37.52 5733
+-118.172 37.52 5761
+-118.046 37.52 5789
+-117.92 37.52 5817
+-117.794 37.52 5853
+-117.668 37.52 5881
+-117.542 37.52 5855
+-117.416 37.52 5840
+-117.29 37.52 5834
+-117.164 37.52 5829
+-117.038 37.52 5838
+-116.912 37.52 5796
+-116.786 37.52 5767
+-116.66 37.52 5748
+-116.534 37.52 5748
+-116.408 37.52 5723
+-116.282 37.52 5676
+-116.156 37.52 5685
+-116.03 37.52 5625
+-115.904 37.52 5587
+-115.778 37.52 5524
+-115.652 37.52 5480
+-115.526 37.52 5419
+-115.4 37.52 5335
+-115.274 37.52 5231
+-115.148 37.52 5124
+-115.022 37.52 5046
+-114.896 37.52 4967
+-114.77 37.52 4870
+-114.644 37.52 4848
+-114.518 37.52 4765
+-114.392 37.52 4672
+-114.266 37.52 4536
+-114.14 37.52 4590
+-114.014 37.52 4574
+-113.888 37.52 4532
+-113.762 37.52 4464
+-113.636 37.52 4389
+-113.51 37.52 4313
+-113.384 37.52 4219
+-113.258 37.52 4086
+-113.132 37.52 3963
+-113.006 37.52 3801
+-112.88 37.52 3543
+-112.754 37.52 3327
+-112.628 37.52 3142
+-112.502 37.52 3072
+-112.376 37.52 3057
+-112.25 37.52 2958
+-112.124 37.52 3020
+-111.998 37.52 3055
+-111.872 37.52 3020
+-111.746 37.52 2968
+-111.62 37.52 2933
+-111.494 37.52 2959
+-111.368 37.52 2978
+-111.242 37.52 2980
+-111.116 37.52 2979
+-110.99 37.52 3004
+-110.864 37.52 3029
+-110.738 37.52 3040
+-110.612 37.52 3071
+-110.486 37.52 3091
+-110.36 37.52 3124
+-110.234 37.52 3144
+-110.108 37.52 3159
+-109.982 37.52 3164
+-109.856 37.52 3170
+-109.73 37.52 3146
+-109.604 37.52 3145
+-109.478 37.52 3155
+-109.352 37.52 3135
+-109.226 37.52 3126
+-109.1 37.52 3132
+-108.974 37.52 3116
+-108.848 37.52 3104
+-108.722 37.52 3105
+-108.596 37.52 3132
+-108.47 37.52 3083
+-108.344 37.52 3076
+-108.218 37.52 3062
+-108.092 37.52 3042
+-107.966 37.52 3025
+-107.84 37.52 2976
+-107.714 37.52 2995
+-107.588 37.52 2941
+-107.462 37.52 2960
+-107.336 37.52 2954
+-107.21 37.52 2944
+-107.084 37.52 2990
+-106.958 37.52 2939
+-106.832 37.52 2947
+-106.706 37.52 2944
+-106.58 37.52 2938
+-106.454 37.52 2931
+-106.328 37.52 2921
+-106.202 37.52 2922
+-106.076 37.52 2918
+-105.95 37.52 2915
+-105.824 37.52 2884
+-105.698 37.52 2892
+-105.572 37.52 2914
+-105.446 37.52 2917
+-105.32 37.52 2921
+-105.194 37.52 2927
+-105.068 37.52 2934
+-104.942 37.52 2929
+-104.816 37.52 2995
+-104.69 37.52 3005
+-104.564 37.52 2985
+-104.438 37.52 2994
+-104.312 37.52 3003
+-104.186 37.52 3012
+-104.06 37.52 2947
+-103.934 37.52 2954
+-103.808 37.52 2960
+-103.682 37.52 2970
+-103.556 37.52 2977
+-103.43 37.52 2982
+-103.304 37.52 2962
+-103.178 37.52 2998
+-103.052 37.52 3000
+-102.926 37.52 3006
+-102.8 37.52 3011
+-102.674 37.52 3017
+-102.548 37.52 3022
+-102.422 37.52 3027
+-102.296 37.52 2888
+-102.17 37.52 2914
+-102.044 37.52 2821
+-101.918 37.52 2766
+-101.792 37.52 2776
+-101.666 37.52 2752
+-101.54 37.52 2725
+-101.414 37.52 2818
+-101.288 37.52 2802
+-101.162 37.52 2808
+-101.036 37.52 2838
+-100.91 37.52 2996
+-100.784 37.52 3040
+-100.658 37.52 3101
+-100.532 37.52 3103
+-100.406 37.52 3104
+-100.28 37.52 3106
+-100.154 37.52 3108
+-100.028 37.52 3138
+-99.902 37.52 3208
+-99.776 37.52 3207
+-99.65 37.52 3268
+-99.524 37.52 3268
+-99.398 37.52 3268
+-99.272 37.52 3267
+-99.146 37.52 3267
+-99.02 37.52 3267
+-98.894 37.52 3267
+-98.768 37.52 3267
+-98.642 37.52 3280
+-98.516 37.52 3280
+-98.39 37.52 3280
+-98.264 37.52 3280
+-98.138 37.52 3280
+-98.012 37.52 3279
+-97.886 37.52 3279
+-97.76 37.52 3337
+-97.634 37.52 3331
+-97.508 37.52 3391
+-97.382 37.52 3384
+-97.256 37.52 3411
+-97.13 37.52 3405
+-97.004 37.52 3384
+-96.878 37.52 3335
+-96.752 37.52 3295
+-96.626 37.52 3199
+-96.5 37.52 3075
+-96.374 37.52 3009
+-96.248 37.52 3163
+-96.122 37.52 3338
+-95.996 37.52 3389
+-95.87 37.52 3476
+-95.744 37.52 3548
+-95.618 37.52 3633
+-95.492 37.52 3789
+-95.366 37.52 3978
+-95.24 37.52 4291
+-95.114 37.52 4415
+-94.988 37.52 4612
+-94.862 37.52 4696
+-94.736 37.52 4852
+-94.61 37.52 4928
+-94.484 37.52 5014
+-94.358 37.52 5062
+-94.232 37.52 5194
+-94.106 37.52 5375
+-93.98 37.52 5500
+-93.854 37.52 5584
+-93.728 37.52 5600
+-93.602 37.52 5720
+-93.476 37.52 5902
+-93.35 37.52 6003
+-93.224 37.52 6140
+-93.098 37.52 6202
+-92.972 37.52 6426
+-92.846 37.52 6507
+-92.72 37.52 6610
+-92.594 37.52 6744
+-92.468 37.52 6908
+-92.342 37.52 6949
+-92.216 37.52 7061
+-92.09 37.52 7199
+-91.964 37.52 7251
+-91.838 37.52 7445
+-91.712 37.52 7506
+-91.586 37.52 7639
+-91.46 37.52 7658
+-91.334 37.52 7759
+-91.208 37.52 7828
+-91.082 37.52 7906
+-90.956 37.52 7954
+-90.83 37.52 8014
+-90.704 37.52 8029
+-90.578 37.52 8059
+-90.452 37.52 8063
+-90.326 37.52 8093
+-90.2 37.52 8066
+-90.074 37.52 8417
+-89.948 37.52 8513
+-89.822 37.52 8685
+-89.696 37.52 8823
+-89.57 37.52 8933
+-89.444 37.52 9118
+-89.318 37.52 9195
+-89.192 37.52 9386
+-89.066 37.52 9464
+-88.94 37.52 9538
+-88.814 37.52 9608
+-88.688 37.52 9577
+-88.562 37.52 9457
+-88.436 37.52 9347
+-88.31 37.52 9191
+-88.184 37.52 9078
+-88.058 37.52 8885
+-87.932 37.52 8820
+-87.806 37.52 8587
+-87.68 37.52 8460
+-87.554 37.52 8351
+-87.428 37.52 8273
+-87.302 37.52 8099
+-87.176 37.52 7942
+-87.05 37.52 7776
+-86.924 37.52 7700
+-86.798 37.52 7521
+-86.672 37.52 7384
+-86.546 37.52 7264
+-86.42 37.52 7148
+-86.294 37.52 7066
+-86.168 37.52 6864
+-86.042 37.52 6666
+-85.916 37.52 6583
+-85.79 37.52 6442
+-85.664 37.52 6292
+-85.538 37.52 6176
+-85.412 37.52 6041
+-85.286 37.52 5875
+-85.16 37.52 5726
+-85.034 37.52 5549
+-84.908 37.52 5466
+-84.782 37.52 5399
+-84.656 37.52 5332
+-84.53 37.52 5208
+-84.404 37.52 5042
+-84.278 37.52 4894
+-84.152 37.52 4762
+-84.026 37.52 4656
+-83.9 37.52 4526
+-83.774 37.52 4412
+-83.648 37.52 4250
+-83.522 37.52 4170
+-83.396 37.52 4066
+-83.27 37.52 3975
+-83.144 37.52 3904
+-83.018 37.52 3825
+-82.892 37.52 3763
+-82.766 37.52 3715
+-82.64 37.52 3678
+-82.514 37.52 3655
+-82.388 37.52 3628
+-82.262 37.52 3597
+-82.136 37.52 3593
+-82.01 37.52 3604
+-81.884 37.52 3596
+-81.758 37.52 3593
+-81.632 37.52 3603
+-81.506 37.52 3612
+-81.38 37.52 3620
+-81.254 37.52 3628
+-81.128 37.52 3635
+-81.002 37.52 3642
+-80.876 37.52 3648
+-80.75 37.52 3573
+-80.624 37.52 3582
+-80.498 37.52 3567
+-80.372 37.52 3516
+-80.246 37.52 3521
+-80.12 37.52 3525
+-79.994 37.52 3454
+-79.868 37.52 3398
+-79.742 37.52 3386
+-79.616 37.52 3387
+-79.49 37.52 3388
+-79.364 37.52 3388
+-79.238 37.52 3389
+-79.112 37.52 3389
+-78.986 37.52 3389
+-78.86 37.52 3390
+-78.734 37.52 3318
+-78.608 37.52 3317
+-78.482 37.52 3316
+-78.356 37.52 3315
+-78.23 37.52 3314
+-78.104 37.52 3313
+-77.978 37.52 3312
+-77.852 37.52 3311
+-77.726 37.52 3310
+-77.6 37.52 3310
+-77.474 37.52 3309
+-77.348 37.52 3308
+-77.222 37.52 3308
+-77.096 37.52 3307
+-76.97 37.52 3307
+-76.844 37.52 3203
+-76.718 37.52 3048
+-76.592 37.52 3046
+-76.466 37.52 3043
+-76.34 37.52 3041
+-76.214 37.52 3039
+-76.088 37.52 3037
+-75.962 37.52 3035
+-75.836 37.52 3033
+-75.71 37.52 3031
+-75.584 37.52 3029
+-75.458 37.52 3027
+-75.332 37.52 3026
+-75.206 37.52 3024
+-75.08 37.52 3022
+-74.954 37.52 3021
+-74.828 37.52 3020
+-74.702 37.52 3018
+-74.576 37.52 3017
+-74.45 37.52 2886
+-74.324 37.52 2884
+-74.198 37.52 2853
+-74.072 37.52 2803
+-73.946 37.52 2802
+-73.82 37.52 2801
+-73.694 37.52 2815
+-73.568 37.52 2814
+-73.442 37.52 2825
+-73.316 37.52 2824
+-73.19 37.52 2784
+-73.064 37.52 2744
+-72.938 37.52 2744
+-72.812 37.52 2744
+-72.686 37.52 2744
+-72.56 37.52 2761
+-72.434 37.52 2768
+-72.308 37.52 2778
+-72.182 37.52 2778
+-72.056 37.52 2809
+-71.93 37.52 2822
+-71.804 37.52 2824
+-71.678 37.52 2879
+-71.552 37.52 2902
+-71.426 37.52 2882
+-71.3 37.52 2873
+-71.174 37.52 3022
+-71.048 37.52 3025
+-70.922 37.52 3087
+-70.796 37.52 3090
+-70.67 37.52 3092
+-70.544 37.52 3095
+-70.418 37.52 3097
+-70.292 37.52 3014
+-70.166 37.52 3035
+-70.04 37.52 3038
+-69.914 37.52 3028
+-69.788 37.52 3326
+-69.662 37.52 3358
+-69.536 37.52 3359
+-69.41 37.52 3354
+-69.284 37.52 3356
+-69.158 37.52 3360
+-69.032 37.52 3377
+-68.906 37.52 3378
+-68.78 37.52 3366
+-68.654 37.52 3367
+-68.528 37.52 3319
+-68.402 37.52 3320
+-68.276 37.52 3321
+-68.15 37.52 3388
+-68.024 37.52 3383
+-67.898 37.52 3393
+-67.772 37.52 3394
+-67.646 37.52 3373
+-67.52 37.52 3395
+-67.394 37.52 3443
+-67.268 37.52 3455
+-67.142 37.52 3454
+-67.016 37.52 3453
+-66.89 37.52 3508
+-66.764 37.52 3509
+-66.638 37.52 3446
+-66.512 37.52 3471
+-66.386 37.52 3464
+-66.26 37.52 3383
+-66.134 37.52 3291
+-66.008 37.52 3315
+-65.882 37.52 3317
+-65.756 37.52 3351
+-65.63 37.52 3323
+-65.504 37.52 3336
+-65.378 37.52 3337
+-65.252 37.52 3315
+-65.126 37.52 3316
+-128 37.468 2767
+-127.874 37.468 2740
+-127.748 37.468 2890
+-127.622 37.468 2894
+-127.496 37.468 2892
+-127.37 37.468 2912
+-127.244 37.468 2911
+-127.118 37.468 2994
+-126.992 37.468 2996
+-126.866 37.468 3029
+-126.74 37.468 3030
+-126.614 37.468 3031
+-126.488 37.468 3061
+-126.362 37.468 3062
+-126.236 37.468 3063
+-126.11 37.468 3065
+-125.984 37.468 3067
+-125.858 37.468 3088
+-125.732 37.468 3124
+-125.606 37.468 3128
+-125.48 37.468 3132
+-125.354 37.468 3143
+-125.228 37.468 3268
+-125.102 37.468 3272
+-124.976 37.468 3277
+-124.85 37.468 3282
+-124.724 37.468 3287
+-124.598 37.468 3311
+-124.472 37.468 3534
+-124.346 37.468 3507
+-124.22 37.468 3539
+-124.094 37.468 3592
+-123.968 37.468 3618
+-123.842 37.468 3712
+-123.716 37.468 3762
+-123.59 37.468 3760
+-123.464 37.468 3762
+-123.338 37.468 3807
+-123.212 37.468 3819
+-123.086 37.468 3834
+-122.96 37.468 3854
+-122.834 37.468 3904
+-122.708 37.468 3926
+-122.582 37.468 3945
+-122.456 37.468 3962
+-122.33 37.468 3964
+-122.204 37.468 4035
+-122.078 37.468 4043
+-121.952 37.468 4051
+-121.826 37.468 4079
+-121.7 37.468 4123
+-121.574 37.468 4130
+-121.448 37.468 4130
+-121.322 37.468 4152
+-121.196 37.468 4218
+-121.07 37.468 4293
+-120.944 37.468 4354
+-120.818 37.468 4359
+-120.692 37.468 4425
+-120.566 37.468 4460
+-120.44 37.468 4540
+-120.314 37.468 4651
+-120.188 37.468 4750
+-120.062 37.468 4869
+-119.936 37.468 5003
+-119.81 37.468 5077
+-119.684 37.468 5142
+-119.558 37.468 5212
+-119.432 37.468 5311
+-119.306 37.468 5319
+-119.18 37.468 5450
+-119.054 37.468 5485
+-118.928 37.468 5508
+-118.802 37.468 5603
+-118.676 37.468 5606
+-118.55 37.468 5676
+-118.424 37.468 5735
+-118.298 37.468 5770
+-118.172 37.468 5811
+-118.046 37.468 5805
+-117.92 37.468 5862
+-117.794 37.468 5891
+-117.668 37.468 5914
+-117.542 37.468 5925
+-117.416 37.468 5935
+-117.29 37.468 5937
+-117.164 37.468 5904
+-117.038 37.468 5878
+-116.912 37.468 5860
+-116.786 37.468 5840
+-116.66 37.468 5833
+-116.534 37.468 5795
+-116.408 37.468 5770
+-116.282 37.468 5746
+-116.156 37.468 5726
+-116.03 37.468 5664
+-115.904 37.468 5612
+-115.778 37.468 5606
+-115.652 37.468 5557
+-115.526 37.468 5476
+-115.4 37.468 5399
+-115.274 37.468 5309
+-115.148 37.468 5174
+-115.022 37.468 5096
+-114.896 37.468 5058
+-114.77 37.468 4920
+-114.644 37.468 4858
+-114.518 37.468 4747
+-114.392 37.468 4706
+-114.266 37.468 4646
+-114.14 37.468 4603
+-114.014 37.468 4579
+-113.888 37.468 4523
+-113.762 37.468 4412
+-113.636 37.468 4283
+-113.51 37.468 4277
+-113.384 37.468 4225
+-113.258 37.468 4099
+-113.132 37.468 3959
+-113.006 37.468 3805
+-112.88 37.468 3603
+-112.754 37.468 3363
+-112.628 37.468 3186
+-112.502 37.468 3105
+-112.376 37.468 3071
+-112.25 37.468 3048
+-112.124 37.468 3058
+-111.998 37.468 3069
+-111.872 37.468 3056
+-111.746 37.468 3011
+-111.62 37.468 2975
+-111.494 37.468 2996
+-111.368 37.468 3026
+-111.242 37.468 3042
+-111.116 37.468 3056
+-110.99 37.468 3074
+-110.864 37.468 3099
+-110.738 37.468 3132
+-110.612 37.468 3159
+-110.486 37.468 3177
+-110.36 37.468 3177
+-110.234 37.468 3201
+-110.108 37.468 3209
+-109.982 37.468 3204
+-109.856 37.468 3210
+-109.73 37.468 3208
+-109.604 37.468 3191
+-109.478 37.468 3186
+-109.352 37.468 3191
+-109.226 37.468 3178
+-109.1 37.468 3169
+-108.974 37.468 3187
+-108.848 37.468 3166
+-108.722 37.468 3191
+-108.596 37.468 3153
+-108.47 37.468 3142
+-108.344 37.468 3129
+-108.218 37.468 3107
+-108.092 37.468 3089
+-107.966 37.468 3071
+-107.84 37.468 3056
+-107.714 37.468 3021
+-107.588 37.468 3011
+-107.462 37.468 3002
+-107.336 37.468 3040
+-107.21 37.468 3027
+-107.084 37.468 2973
+-106.958 37.468 2974
+-106.832 37.468 2967
+-106.706 37.468 2956
+-106.58 37.468 2945
+-106.454 37.468 2930
+-106.328 37.468 2927
+-106.202 37.468 2919
+-106.076 37.468 2911
+-105.95 37.468 2879
+-105.824 37.468 2883
+-105.698 37.468 2901
+-105.572 37.468 2903
+-105.446 37.468 2906
+-105.32 37.468 2911
+-105.194 37.468 2917
+-105.068 37.468 2913
+-104.942 37.468 2977
+-104.816 37.468 2987
+-104.69 37.468 2969
+-104.564 37.468 2979
+-104.438 37.468 2989
+-104.312 37.468 2998
+-104.186 37.468 2936
+-104.06 37.468 2944
+-103.934 37.468 2952
+-103.808 37.468 2962
+-103.682 37.468 2969
+-103.556 37.468 2975
+-103.43 37.468 2956
+-103.304 37.468 2992
+-103.178 37.468 2994
+-103.052 37.468 3001
+-102.926 37.468 3007
+-102.8 37.468 3013
+-102.674 37.468 3018
+-102.548 37.468 3024
+-102.422 37.468 3029
+-102.296 37.468 2891
+-102.17 37.468 2915
+-102.044 37.468 2869
+-101.918 37.468 2783
+-101.792 37.468 2776
+-101.666 37.468 2789
+-101.54 37.468 2722
+-101.414 37.468 2814
+-101.288 37.468 2798
+-101.162 37.468 2804
+-101.036 37.468 2816
+-100.91 37.468 2991
+-100.784 37.468 3035
+-100.658 37.468 3096
+-100.532 37.468 3098
+-100.406 37.468 3099
+-100.28 37.468 3101
+-100.154 37.468 3130
+-100.028 37.468 3132
+-99.902 37.468 3133
+-99.776 37.468 3203
+-99.65 37.468 3266
+-99.524 37.468 3266
+-99.398 37.468 3265
+-99.272 37.468 3265
+-99.146 37.468 3264
+-99.02 37.468 3264
+-98.894 37.468 3264
+-98.768 37.468 3277
+-98.642 37.468 3277
+-98.516 37.468 3277
+-98.39 37.468 3276
+-98.264 37.468 3276
+-98.138 37.468 3275
+-98.012 37.468 3287
+-97.886 37.468 3335
+-97.76 37.468 3329
+-97.634 37.468 3397
+-97.508 37.468 3387
+-97.382 37.468 3374
+-97.256 37.468 3380
+-97.13 37.468 3370
+-97.004 37.468 3368
+-96.878 37.468 3314
+-96.752 37.468 3240
+-96.626 37.468 3147
+-96.5 37.468 2976
+-96.374 37.468 2831
+-96.248 37.468 3059
+-96.122 37.468 3303
+-95.996 37.468 3316
+-95.87 37.468 3447
+-95.744 37.468 3525
+-95.618 37.468 3596
+-95.492 37.468 3772
+-95.366 37.468 3974
+-95.24 37.468 4309
+-95.114 37.468 4427
+-94.988 37.468 4578
+-94.862 37.468 4687
+-94.736 37.468 4777
+-94.61 37.468 4894
+-94.484 37.468 4974
+-94.358 37.468 4930
+-94.232 37.468 5147
+-94.106 37.468 5334
+-93.98 37.468 5468
+-93.854 37.468 5575
+-93.728 37.468 5587
+-93.602 37.468 5703
+-93.476 37.468 5848
+-93.35 37.468 5971
+-93.224 37.468 6102
+-93.098 37.468 6227
+-92.972 37.468 6350
+-92.846 37.468 6466
+-92.72 37.468 6583
+-92.594 37.468 6659
+-92.468 37.468 6849
+-92.342 37.468 6972
+-92.216 37.468 7082
+-92.09 37.468 7183
+-91.964 37.468 7288
+-91.838 37.468 7366
+-91.712 37.468 7458
+-91.586 37.468 7530
+-91.46 37.468 7650
+-91.334 37.468 7696
+-91.208 37.468 7796
+-91.082 37.468 7844
+-90.956 37.468 7896
+-90.83 37.468 7943
+-90.704 37.468 7972
+-90.578 37.468 7999
+-90.452 37.468 8017
+-90.326 37.468 8031
+-90.2 37.468 7960
+-90.074 37.468 8369
+-89.948 37.468 8556
+-89.822 37.468 8678
+-89.696 37.468 8810
+-89.57 37.468 8982
+-89.444 37.468 9085
+-89.318 37.468 9209
+-89.192 37.468 9329
+-89.066 37.468 9471
+-88.94 37.468 9491
+-88.814 37.468 9556
+-88.688 37.468 9480
+-88.562 37.468 9425
+-88.436 37.468 9294
+-88.31 37.468 9171
+-88.184 37.468 8992
+-88.058 37.468 8884
+-87.932 37.468 8816
+-87.806 37.468 8690
+-87.68 37.468 8523
+-87.554 37.468 8354
+-87.428 37.468 8273
+-87.302 37.468 8108
+-87.176 37.468 7931
+-87.05 37.468 7772
+-86.924 37.468 7702
+-86.798 37.468 7531
+-86.672 37.468 7437
+-86.546 37.468 7195
+-86.42 37.468 7115
+-86.294 37.468 7008
+-86.168 37.468 6852
+-86.042 37.468 6610
+-85.916 37.468 6594
+-85.79 37.468 6378
+-85.664 37.468 6234
+-85.538 37.468 6134
+-85.412 37.468 5993
+-85.286 37.468 5880
+-85.16 37.468 5769
+-85.034 37.468 5532
+-84.908 37.468 5338
+-84.782 37.468 5373
+-84.656 37.468 5282
+-84.53 37.468 5164
+-84.404 37.468 5009
+-84.278 37.468 4907
+-84.152 37.468 4765
+-84.026 37.468 4651
+-83.9 37.468 4472
+-83.774 37.468 4290
+-83.648 37.468 4163
+-83.522 37.468 4064
+-83.396 37.468 4012
+-83.27 37.468 3978
+-83.144 37.468 3917
+-83.018 37.468 3855
+-82.892 37.468 3795
+-82.766 37.468 3752
+-82.64 37.468 3726
+-82.514 37.468 3666
+-82.388 37.468 3643
+-82.262 37.468 3638
+-82.136 37.468 3628
+-82.01 37.468 3623
+-81.884 37.468 3628
+-81.758 37.468 3613
+-81.632 37.468 3619
+-81.506 37.468 3625
+-81.38 37.468 3631
+-81.254 37.468 3638
+-81.128 37.468 3643
+-81.002 37.468 3649
+-80.876 37.468 3571
+-80.75 37.468 3577
+-80.624 37.468 3564
+-80.498 37.468 3569
+-80.372 37.468 3518
+-80.246 37.468 3522
+-80.12 37.468 3451
+-79.994 37.468 3395
+-79.868 37.468 3383
+-79.742 37.468 3384
+-79.616 37.468 3384
+-79.49 37.468 3385
+-79.364 37.468 3385
+-79.238 37.468 3385
+-79.112 37.468 3386
+-78.986 37.468 3386
+-78.86 37.468 3305
+-78.734 37.468 3304
+-78.608 37.468 3302
+-78.482 37.468 3301
+-78.356 37.468 3300
+-78.23 37.468 3299
+-78.104 37.468 3298
+-77.978 37.468 3297
+-77.852 37.468 3296
+-77.726 37.468 3295
+-77.6 37.468 3261
+-77.474 37.468 3260
+-77.348 37.468 3259
+-77.222 37.468 3258
+-77.096 37.468 3257
+-76.97 37.468 3154
+-76.844 37.468 3046
+-76.718 37.468 3043
+-76.592 37.468 3041
+-76.466 37.468 3038
+-76.34 37.468 3036
+-76.214 37.468 3034
+-76.088 37.468 3032
+-75.962 37.468 3030
+-75.836 37.468 3028
+-75.71 37.468 3026
+-75.584 37.468 3024
+-75.458 37.468 3023
+-75.332 37.468 3021
+-75.206 37.468 3020
+-75.08 37.468 3018
+-74.954 37.468 3017
+-74.828 37.468 3016
+-74.702 37.468 3014
+-74.576 37.468 2883
+-74.45 37.468 2881
+-74.324 37.468 2850
+-74.198 37.468 2800
+-74.072 37.468 2799
+-73.946 37.468 2798
+-73.82 37.468 2812
+-73.694 37.468 2811
+-73.568 37.468 2822
+-73.442 37.468 2821
+-73.316 37.468 2781
+-73.19 37.468 2742
+-73.064 37.468 2742
+-72.938 37.468 2742
+-72.812 37.468 2742
+-72.686 37.468 2759
+-72.56 37.468 2766
+-72.434 37.468 2776
+-72.308 37.468 2775
+-72.182 37.468 2807
+-72.056 37.468 2820
+-71.93 37.468 2821
+-71.804 37.468 2876
+-71.678 37.468 2899
+-71.552 37.468 2879
+-71.426 37.468 2871
+-71.3 37.468 3020
+-71.174 37.468 3022
+-71.048 37.468 3085
+-70.922 37.468 3087
+-70.796 37.468 3090
+-70.67 37.468 3092
+-70.544 37.468 3095
+-70.418 37.468 3012
+-70.292 37.468 3033
+-70.166 37.468 3036
+-70.04 37.468 3026
+-69.914 37.468 3325
+-69.788 37.468 3356
+-69.662 37.468 3357
+-69.536 37.468 3352
+-69.41 37.468 3354
+-69.284 37.468 3358
+-69.158 37.468 3375
+-69.032 37.468 3376
+-68.906 37.468 3364
+-68.78 37.468 3365
+-68.654 37.468 3318
+-68.528 37.468 3319
+-68.402 37.468 3320
+-68.276 37.468 3386
+-68.15 37.468 3381
+-68.024 37.468 3391
+-67.898 37.468 3393
+-67.772 37.468 3371
+-67.646 37.468 3394
+-67.52 37.468 3442
+-67.394 37.468 3454
+-67.268 37.468 3453
+-67.142 37.468 3451
+-67.016 37.468 3506
+-66.89 37.468 3508
+-66.764 37.468 3445
+-66.638 37.468 3470
+-66.512 37.468 3463
+-66.386 37.468 3378
+-66.26 37.468 3290
+-66.134 37.468 3314
+-66.008 37.468 3315
+-65.882 37.468 3350
+-65.756 37.468 3322
+-65.63 37.468 3335
+-65.504 37.468 3336
+-65.378 37.468 3314
+-65.252 37.468 3315
+-65.126 37.468 3316
+-128 37.416 2831
+-127.874 37.416 2801
+-127.748 37.416 2811
+-127.622 37.416 2892
+-127.496 37.416 2897
+-127.37 37.416 2895
+-127.244 37.416 2915
+-127.118 37.416 2914
+-126.992 37.416 2997
+-126.866 37.416 3000
+-126.74 37.416 3033
+-126.614 37.416 3034
+-126.488 37.416 3035
+-126.362 37.416 3066
+-126.236 37.416 3068
+-126.11 37.416 3070
+-125.984 37.416 3072
+-125.858 37.416 3075
+-125.732 37.416 3096
+-125.606 37.416 3133
+-125.48 37.416 3137
+-125.354 37.416 3142
+-125.228 37.416 3153
+-125.102 37.416 3279
+-124.976 37.416 3284
+-124.85 37.416 3288
+-124.724 37.416 3386
+-124.598 37.416 3388
+-124.472 37.416 3412
+-124.346 37.416 3535
+-124.22 37.416 3543
+-124.094 37.416 3546
+-123.968 37.416 3682
+-123.842 37.416 3777
+-123.716 37.416 3769
+-123.59 37.416 3735
+-123.464 37.416 3767
+-123.338 37.416 3775
+-123.212 37.416 3788
+-123.086 37.416 3806
+-122.96 37.416 3828
+-122.834 37.416 3854
+-122.708 37.416 3908
+-122.582 37.416 3933
+-122.456 37.416 4000
+-122.33 37.416 4009
+-122.204 37.416 4004
+-122.078 37.416 4019
+-121.952 37.416 4028
+-121.826 37.416 4053
+-121.7 37.416 4114
+-121.574 37.416 4140
+-121.448 37.416 4180
+-121.322 37.416 4218
+-121.196 37.416 4285
+-121.07 37.416 4340
+-120.944 37.416 4386
+-120.818 37.416 4383
+-120.692 37.416 4458
+-120.566 37.416 4502
+-120.44 37.416 4594
+-120.314 37.416 4705
+-120.188 37.416 4805
+-120.062 37.416 4947
+-119.936 37.416 5050
+-119.81 37.416 5126
+-119.684 37.416 5202
+-119.558 37.416 5237
+-119.432 37.416 5309
+-119.306 37.416 5376
+-119.18 37.416 5457
+-119.054 37.416 5506
+-118.928 37.416 5539
+-118.802 37.416 5602
+-118.676 37.416 5674
+-118.55 37.416 5732
+-118.424 37.416 5776
+-118.298 37.416 5827
+-118.172 37.416 5858
+-118.046 37.416 5888
+-117.92 37.416 5938
+-117.794 37.416 5962
+-117.668 37.416 5957
+-117.542 37.416 5984
+-117.416 37.416 6001
+-117.29 37.416 5979
+-117.164 37.416 5977
+-117.038 37.416 5959
+-116.912 37.416 5938
+-116.786 37.416 5909
+-116.66 37.416 5930
+-116.534 37.416 5877
+-116.408 37.416 5824
+-116.282 37.416 5796
+-116.156 37.416 5742
+-116.03 37.416 5706
+-115.904 37.416 5631
+-115.778 37.416 5634
+-115.652 37.416 5590
+-115.526 37.416 5511
+-115.4 37.416 5391
+-115.274 37.416 5365
+-115.148 37.416 5221
+-115.022 37.416 5201
+-114.896 37.416 5045
+-114.77 37.416 4979
+-114.644 37.416 4883
+-114.518 37.416 4797
+-114.392 37.416 4750
+-114.266 37.416 4662
+-114.14 37.416 4513
+-114.014 37.416 4574
+-113.888 37.416 4527
+-113.762 37.416 4339
+-113.636 37.416 4160
+-113.51 37.416 4241
+-113.384 37.416 4234
+-113.258 37.416 4111
+-113.132 37.416 3968
+-113.006 37.416 3817
+-112.88 37.416 3639
+-112.754 37.416 3446
+-112.628 37.416 3282
+-112.502 37.416 3169
+-112.376 37.416 3115
+-112.25 37.416 3109
+-112.124 37.416 3115
+-111.998 37.416 3110
+-111.872 37.416 3102
+-111.746 37.416 3080
+-111.62 37.416 3066
+-111.494 37.416 3081
+-111.368 37.416 3094
+-111.242 37.416 3116
+-111.116 37.416 3135
+-110.99 37.416 3152
+-110.864 37.416 3174
+-110.738 37.416 3206
+-110.612 37.416 3231
+-110.486 37.416 3259
+-110.36 37.416 3265
+-110.234 37.416 3270
+-110.108 37.416 3271
+-109.982 37.416 3265
+-109.856 37.416 3242
+-109.73 37.416 3235
+-109.604 37.416 3224
+-109.478 37.416 3204
+-109.352 37.416 3199
+-109.226 37.416 3196
+-109.1 37.416 3215
+-108.974 37.416 3207
+-108.848 37.416 3233
+-108.722 37.416 3228
+-108.596 37.416 3233
+-108.47 37.416 3217
+-108.344 37.416 3165
+-108.218 37.416 3147
+-108.092 37.416 3128
+-107.966 37.416 3112
+-107.84 37.416 3073
+-107.714 37.416 3061
+-107.588 37.416 3048
+-107.462 37.416 3082
+-107.336 37.416 3065
+-107.21 37.416 3019
+-107.084 37.416 3003
+-106.958 37.416 2992
+-106.832 37.416 2977
+-106.706 37.416 2961
+-106.58 37.416 2943
+-106.454 37.416 2935
+-106.328 37.416 2922
+-106.202 37.416 2910
+-106.076 37.416 2874
+-105.95 37.416 2874
+-105.824 37.416 2887
+-105.698 37.416 2886
+-105.572 37.416 2887
+-105.446 37.416 2891
+-105.32 37.416 2897
+-105.194 37.416 2894
+-105.068 37.416 2955
+-104.942 37.416 2965
+-104.816 37.416 2950
+-104.69 37.416 2961
+-104.564 37.416 2972
+-104.438 37.416 2983
+-104.312 37.416 2925
+-104.186 37.416 2934
+-104.06 37.416 2942
+-103.934 37.416 2953
+-103.808 37.416 2961
+-103.682 37.416 2967
+-103.556 37.416 2950
+-103.43 37.416 2985
+-103.304 37.416 2988
+-103.178 37.416 2995
+-103.052 37.416 3002
+-102.926 37.416 3008
+-102.8 37.416 3014
+-102.674 37.416 3020
+-102.548 37.416 3025
+-102.422 37.416 3030
+-102.296 37.416 2893
+-102.17 37.416 2916
+-102.044 37.416 2870
+-101.918 37.416 2784
+-101.792 37.416 2776
+-101.666 37.416 2787
+-101.54 37.416 2720
+-101.414 37.416 2810
+-101.288 37.416 2791
+-101.162 37.416 2797
+-101.036 37.416 2811
+-100.91 37.416 2963
+-100.784 37.416 3030
+-100.658 37.416 3091
+-100.532 37.416 3093
+-100.406 37.416 3094
+-100.28 37.416 3123
+-100.154 37.416 3124
+-100.028 37.416 3125
+-99.902 37.416 3126
+-99.776 37.416 3127
+-99.65 37.416 3207
+-99.524 37.416 3263
+-99.398 37.416 3262
+-99.272 37.416 3262
+-99.146 37.416 3261
+-99.02 37.416 3260
+-98.894 37.416 3275
+-98.768 37.416 3274
+-98.642 37.416 3273
+-98.516 37.416 3273
+-98.39 37.416 3272
+-98.264 37.416 3271
+-98.138 37.416 3284
+-98.012 37.416 3333
+-97.886 37.416 3328
+-97.76 37.416 3398
+-97.634 37.416 3390
+-97.508 37.416 3380
+-97.382 37.416 3391
+-97.256 37.416 3372
+-97.13 37.416 3347
+-97.004 37.416 3327
+-96.878 37.416 3311
+-96.752 37.416 3243
+-96.626 37.416 3171
+-96.5 37.416 3061
+-96.374 37.416 3002
+-96.248 37.416 3127
+-96.122 37.416 3287
+-95.996 37.416 3364
+-95.87 37.416 3460
+-95.744 37.416 3545
+-95.618 37.416 3634
+-95.492 37.416 3803
+-95.366 37.416 4037
+-95.24 37.416 4251
+-95.114 37.416 4416
+-94.988 37.416 4525
+-94.862 37.416 4543
+-94.736 37.416 4682
+-94.61 37.416 4833
+-94.484 37.416 4959
+-94.358 37.416 5031
+-94.232 37.416 5196
+-94.106 37.416 5267
+-93.98 37.416 5444
+-93.854 37.416 5526
+-93.728 37.416 5568
+-93.602 37.416 5686
+-93.476 37.416 5818
+-93.35 37.416 5932
+-93.224 37.416 6087
+-93.098 37.416 6239
+-92.972 37.416 6312
+-92.846 37.416 6423
+-92.72 37.416 6563
+-92.594 37.416 6683
+-92.468 37.416 6748
+-92.342 37.416 6931
+-92.216 37.416 7046
+-92.09 37.416 7157
+-91.964 37.416 7215
+-91.838 37.416 7328
+-91.712 37.416 7420
+-91.586 37.416 7551
+-91.46 37.416 7541
+-91.334 37.416 7711
+-91.208 37.416 7747
+-91.082 37.416 7791
+-90.956 37.416 7859
+-90.83 37.416 7904
+-90.704 37.416 7924
+-90.578 37.416 7929
+-90.452 37.416 7977
+-90.326 37.416 7945
+-90.2 37.416 8208
+-90.074 37.416 8415
+-89.948 37.416 8522
+-89.822 37.416 8719
+-89.696 37.416 8737
+-89.57 37.416 8937
+-89.444 37.416 9017
+-89.318 37.416 9166
+-89.192 37.416 9289
+-89.066 37.416 9428
+-88.94 37.416 9446
+-88.814 37.416 9501
+-88.688 37.416 9466
+-88.562 37.416 9343
+-88.436 37.416 9294
+-88.31 37.416 9171
+-88.184 37.416 8993
+-88.058 37.416 8852
+-87.932 37.416 8708
+-87.806 37.416 8621
+-87.68 37.416 8498
+-87.554 37.416 8365
+-87.428 37.416 8237
+-87.302 37.416 8019
+-87.176 37.416 7951
+-87.05 37.416 7813
+-86.924 37.416 7706
+-86.798 37.416 7518
+-86.672 37.416 7339
+-86.546 37.416 7270
+-86.42 37.416 7141
+-86.294 37.416 6935
+-86.168 37.416 6834
+-86.042 37.416 6700
+-85.916 37.416 6600
+-85.79 37.416 6366
+-85.664 37.416 6201
+-85.538 37.416 6073
+-85.412 37.416 5899
+-85.286 37.416 5843
+-85.16 37.416 5790
+-85.034 37.416 5558
+-84.908 37.416 5414
+-84.782 37.416 5316
+-84.656 37.416 5216
+-84.53 37.416 5100
+-84.404 37.416 5022
+-84.278 37.416 4919
+-84.152 37.416 4763
+-84.026 37.416 4620
+-83.9 37.416 4402
+-83.774 37.416 4196
+-83.648 37.416 4026
+-83.522 37.416 3922
+-83.396 37.416 3935
+-83.27 37.416 3934
+-83.144 37.416 3909
+-83.018 37.416 3864
+-82.892 37.416 3813
+-82.766 37.416 3741
+-82.64 37.416 3706
+-82.514 37.416 3691
+-82.388 37.416 3662
+-82.262 37.416 3656
+-82.136 37.416 3644
+-82.01 37.416 3644
+-81.884 37.416 3647
+-81.758 37.416 3651
+-81.632 37.416 3633
+-81.506 37.416 3637
+-81.38 37.416 3641
+-81.254 37.416 3646
+-81.128 37.416 3651
+-81.002 37.416 3570
+-80.876 37.416 3576
+-80.75 37.416 3561
+-80.624 37.416 3566
+-80.498 37.416 3570
+-80.372 37.416 3513
+-80.246 37.416 3440
+-80.12 37.416 3392
+-79.994 37.416 3375
+-79.868 37.416 3375
+-79.742 37.416 3375
+-79.616 37.416 3376
+-79.49 37.416 3376
+-79.364 37.416 3376
+-79.238 37.416 3376
+-79.112 37.416 3377
+-78.986 37.416 3301
+-78.86 37.416 3300
+-78.734 37.416 3299
+-78.608 37.416 3257
+-78.482 37.416 3256
+-78.356 37.416 3254
+-78.23 37.416 3252
+-78.104 37.416 3251
+-77.978 37.416 3250
+-77.852 37.416 3248
+-77.726 37.416 3247
+-77.6 37.416 3246
+-77.474 37.416 3245
+-77.348 37.416 3244
+-77.222 37.416 3243
+-77.096 37.416 3150
+-76.97 37.416 3043
+-76.844 37.416 3041
+-76.718 37.416 3038
+-76.592 37.416 3036
+-76.466 37.416 3033
+-76.34 37.416 3031
+-76.214 37.416 3029
+-76.088 37.416 3027
+-75.962 37.416 3025
+-75.836 37.416 3023
+-75.71 37.416 3021
+-75.584 37.416 3020
+-75.458 37.416 3018
+-75.332 37.416 3017
+-75.206 37.416 3015
+-75.08 37.416 3014
+-74.954 37.416 3013
+-74.828 37.416 3011
+-74.702 37.416 2879
+-74.576 37.416 2878
+-74.45 37.416 2846
+-74.324 37.416 2797
+-74.198 37.416 2796
+-74.072 37.416 2794
+-73.946 37.416 2809
+-73.82 37.416 2808
+-73.694 37.416 2819
+-73.568 37.416 2818
+-73.442 37.416 2778
+-73.316 37.416 2739
+-73.19 37.416 2739
+-73.064 37.416 2739
+-72.938 37.416 2739
+-72.812 37.416 2756
+-72.686 37.416 2763
+-72.56 37.416 2773
+-72.434 37.416 2773
+-72.308 37.416 2805
+-72.182 37.416 2817
+-72.056 37.416 2819
+-71.93 37.416 2874
+-71.804 37.416 2897
+-71.678 37.416 2877
+-71.552 37.416 2869
+-71.426 37.416 3017
+-71.3 37.416 3020
+-71.174 37.416 3082
+-71.048 37.416 3085
+-70.922 37.416 3087
+-70.796 37.416 3090
+-70.67 37.416 3092
+-70.544 37.416 3010
+-70.418 37.416 3032
+-70.292 37.416 3034
+-70.166 37.416 3024
+-70.04 37.416 3323
+-69.914 37.416 3354
+-69.788 37.416 3355
+-69.662 37.416 3351
+-69.536 37.416 3352
+-69.41 37.416 3357
+-69.284 37.416 3373
+-69.158 37.416 3375
+-69.032 37.416 3362
+-68.906 37.416 3364
+-68.78 37.416 3316
+-68.654 37.416 3317
+-68.528 37.416 3318
+-68.402 37.416 3385
+-68.276 37.416 3380
+-68.15 37.416 3390
+-68.024 37.416 3391
+-67.898 37.416 3370
+-67.772 37.416 3393
+-67.646 37.416 3440
+-67.52 37.416 3452
+-67.394 37.416 3451
+-67.268 37.416 3450
+-67.142 37.416 3504
+-67.016 37.416 3506
+-66.89 37.416 3443
+-66.764 37.416 3468
+-66.638 37.416 3461
+-66.512 37.416 3380
+-66.386 37.416 3289
+-66.26 37.416 3313
+-66.134 37.416 3314
+-66.008 37.416 3349
+-65.882 37.416 3321
+-65.756 37.416 3334
+-65.63 37.416 3335
+-65.504 37.416 3313
+-65.378 37.416 3314
+-65.252 37.416 3315
+-65.126 37.416 3290
+-128 37.364 2835
+-127.874 37.364 2832
+-127.748 37.364 2803
+-127.622 37.364 2813
+-127.496 37.364 2894
+-127.37 37.364 2899
+-127.244 37.364 2897
+-127.118 37.364 2917
+-126.992 37.364 2916
+-126.866 37.364 3000
+-126.74 37.364 3003
+-126.614 37.364 3037
+-126.488 37.364 3038
+-126.362 37.364 3040
+-126.236 37.364 3071
+-126.11 37.364 3073
+-125.984 37.364 3076
+-125.858 37.364 3079
+-125.732 37.364 3082
+-125.606 37.364 3103
+-125.48 37.364 3141
+-125.354 37.364 3146
+-125.228 37.364 3151
+-125.102 37.364 3162
+-124.976 37.364 3288
+-124.85 37.364 3384
+-124.724 37.364 3386
+-124.598 37.364 3388
+-124.472 37.364 3406
+-124.346 37.364 3500
+-124.22 37.364 3511
+-124.094 37.364 3665
+-123.968 37.364 3708
+-123.842 37.364 3732
+-123.716 37.364 3737
+-123.59 37.364 3728
+-123.464 37.364 3725
+-123.338 37.364 3731
+-123.212 37.364 3744
+-123.086 37.364 3765
+-122.96 37.364 3792
+-122.834 37.364 3822
+-122.708 37.364 3905
+-122.582 37.364 3961
+-122.456 37.364 3979
+-122.33 37.364 3987
+-122.204 37.364 3987
+-122.078 37.364 3972
+-121.952 37.364 3979
+-121.826 37.364 3995
+-121.7 37.364 4071
+-121.574 37.364 4130
+-121.448 37.364 4192
+-121.322 37.364 4240
+-121.196 37.364 4277
+-121.07 37.364 4344
+-120.944 37.364 4404
+-120.818 37.364 4457
+-120.692 37.364 4506
+-120.566 37.364 4541
+-120.44 37.364 4670
+-120.314 37.364 4777
+-120.188 37.364 4839
+-120.062 37.364 4998
+-119.936 37.364 5070
+-119.81 37.364 5138
+-119.684 37.364 5225
+-119.558 37.364 5301
+-119.432 37.364 5330
+-119.306 37.364 5435
+-119.18 37.364 5516
+-119.054 37.364 5565
+-118.928 37.364 5611
+-118.802 37.364 5668
+-118.676 37.364 5715
+-118.55 37.364 5791
+-118.424 37.364 5839
+-118.298 37.364 5867
+-118.172 37.364 5920
+-118.046 37.364 5971
+-117.92 37.364 5992
+-117.794 37.364 6030
+-117.668 37.364 6028
+-117.542 37.364 6047
+-117.416 37.364 6062
+-117.29 37.364 6043
+-117.164 37.364 6052
+-117.038 37.364 6053
+-116.912 37.364 6019
+-116.786 37.364 5983
+-116.66 37.364 5942
+-116.534 37.364 5933
+-116.408 37.364 5891
+-116.282 37.364 5840
+-116.156 37.364 5802
+-116.03 37.364 5748
+-115.904 37.364 5695
+-115.778 37.364 5614
+-115.652 37.364 5590
+-115.526 37.364 5562
+-115.4 37.364 5481
+-115.274 37.364 5419
+-115.148 37.364 5284
+-115.022 37.364 5182
+-114.896 37.364 5059
+-114.77 37.364 4966
+-114.644 37.364 4956
+-114.518 37.364 4867
+-114.392 37.364 4770
+-114.266 37.364 4670
+-114.14 37.364 4568
+-114.014 37.364 4583
+-113.888 37.364 4545
+-113.762 37.364 4419
+-113.636 37.364 4300
+-113.51 37.364 4305
+-113.384 37.364 4229
+-113.258 37.364 4095
+-113.132 37.364 3948
+-113.006 37.364 3816
+-112.88 37.364 3673
+-112.754 37.364 3548
+-112.628 37.364 3409
+-112.502 37.364 3279
+-112.376 37.364 3214
+-112.25 37.364 3199
+-112.124 37.364 3168
+-111.998 37.364 3171
+-111.872 37.364 3159
+-111.746 37.364 3151
+-111.62 37.364 3151
+-111.494 37.364 3164
+-111.368 37.364 3189
+-111.242 37.364 3215
+-111.116 37.364 3235
+-110.99 37.364 3247
+-110.864 37.364 3263
+-110.738 37.364 3290
+-110.612 37.364 3298
+-110.486 37.364 3315
+-110.36 37.364 3315
+-110.234 37.364 3312
+-110.108 37.364 3314
+-109.982 37.364 3297
+-109.856 37.364 3292
+-109.73 37.364 3273
+-109.604 37.364 3254
+-109.478 37.364 3213
+-109.352 37.364 3199
+-109.226 37.364 3207
+-109.1 37.364 3222
+-108.974 37.364 3251
+-108.848 37.364 3259
+-108.722 37.364 3300
+-108.596 37.364 3289
+-108.47 37.364 3262
+-108.344 37.364 3200
+-108.218 37.364 3181
+-108.092 37.364 3165
+-107.966 37.364 3155
+-107.84 37.364 3108
+-107.714 37.364 3126
+-107.588 37.364 3123
+-107.462 37.364 3102
+-107.336 37.364 3052
+-107.21 37.364 3033
+-107.084 37.364 3019
+-106.958 37.364 3000
+-106.832 37.364 2981
+-106.706 37.364 2959
+-106.58 37.364 2946
+-106.454 37.364 2928
+-106.328 37.364 2911
+-106.202 37.364 2870
+-106.076 37.364 2865
+-105.95 37.364 2872
+-105.824 37.364 2867
+-105.698 37.364 2866
+-105.572 37.364 2867
+-105.446 37.364 2872
+-105.32 37.364 2870
+-105.194 37.364 2928
+-105.068 37.364 2940
+-104.942 37.364 2927
+-104.816 37.364 2940
+-104.69 37.364 2952
+-104.564 37.364 2965
+-104.438 37.364 2911
+-104.312 37.364 2921
+-104.186 37.364 2931
+-104.06 37.364 2942
+-103.934 37.364 2951
+-103.808 37.364 2958
+-103.682 37.364 2943
+-103.556 37.364 2977
+-103.43 37.364 2981
+-103.304 37.364 2989
+-103.178 37.364 2996
+-103.052 37.364 3003
+-102.926 37.364 3009
+-102.8 37.364 3015
+-102.674 37.364 3021
+-102.548 37.364 3027
+-102.422 37.364 3032
+-102.296 37.364 2896
+-102.17 37.364 2917
+-102.044 37.364 2872
+-101.918 37.364 2785
+-101.792 37.364 2776
+-101.666 37.364 2785
+-101.54 37.364 2718
+-101.414 37.364 2799
+-101.288 37.364 2786
+-101.162 37.364 2792
+-101.036 37.364 2807
+-100.91 37.364 2957
+-100.784 37.364 3025
+-100.658 37.364 3086
+-100.532 37.364 3087
+-100.406 37.364 3116
+-100.28 37.364 3117
+-100.154 37.364 3117
+-100.028 37.364 3118
+-99.902 37.364 3119
+-99.776 37.364 3201
+-99.65 37.364 3202
+-99.524 37.364 3202
+-99.398 37.364 3259
+-99.272 37.364 3258
+-99.146 37.364 3257
+-99.02 37.364 3272
+-98.894 37.364 3271
+-98.768 37.364 3270
+-98.642 37.364 3269
+-98.516 37.364 3268
+-98.39 37.364 3267
+-98.264 37.364 3281
+-98.138 37.364 3330
+-98.012 37.364 3325
+-97.886 37.364 3385
+-97.76 37.364 3379
+-97.634 37.364 3371
+-97.508 37.364 3400
+-97.382 37.364 3386
+-97.256 37.364 3368
+-97.13 37.364 3345
+-97.004 37.364 3316
+-96.878 37.364 3287
+-96.752 37.364 3250
+-96.626 37.364 3229
+-96.5 37.364 3164
+-96.374 37.364 3126
+-96.248 37.364 3129
+-96.122 37.364 3237
+-95.996 37.364 3376
+-95.87 37.364 3484
+-95.744 37.364 3579
+-95.618 37.364 3708
+-95.492 37.364 3859
+-95.366 37.364 4047
+-95.24 37.364 4239
+-95.114 37.364 4401
+-94.988 37.364 4484
+-94.862 37.364 4452
+-94.736 37.364 4573
+-94.61 37.364 4784
+-94.484 37.364 4930
+-94.358 37.364 5054
+-94.232 37.364 5198
+-94.106 37.364 5316
+-93.98 37.364 5435
+-93.854 37.364 5545
+-93.728 37.364 5654
+-93.602 37.364 5739
+-93.476 37.364 5800
+-93.35 37.364 5926
+-93.224 37.364 6087
+-93.098 37.364 6189
+-92.972 37.364 6275
+-92.846 37.364 6436
+-92.72 37.364 6529
+-92.594 37.364 6645
+-92.468 37.364 6782
+-92.342 37.364 6926
+-92.216 37.364 7003
+-92.09 37.364 7119
+-91.964 37.364 7174
+-91.838 37.364 7288
+-91.712 37.364 7376
+-91.586 37.364 7481
+-91.46 37.364 7557
+-91.334 37.364 7603
+-91.208 37.364 7677
+-91.082 37.364 7745
+-90.956 37.364 7812
+-90.83 37.364 7838
+-90.704 37.364 7875
+-90.578 37.364 7884
+-90.452 37.364 7890
+-90.326 37.364 7875
+-90.2 37.364 8253
+-90.074 37.364 8363
+-89.948 37.364 8536
+-89.822 37.364 8620
+-89.696 37.364 8801
+-89.57 37.364 8868
+-89.444 37.364 9045
+-89.318 37.364 9148
+-89.192 37.364 9292
+-89.066 37.364 9361
+-88.94 37.364 9428
+-88.814 37.364 9452
+-88.688 37.364 9426
+-88.562 37.364 9326
+-88.436 37.364 9263
+-88.31 37.364 9158
+-88.184 37.364 8988
+-88.058 37.364 8887
+-87.932 37.364 8739
+-87.806 37.364 8550
+-87.68 37.364 8463
+-87.554 37.364 8316
+-87.428 37.364 8214
+-87.302 37.364 8063
+-87.176 37.364 7984
+-87.05 37.364 7777
+-86.924 37.364 7618
+-86.798 37.364 7539
+-86.672 37.364 7399
+-86.546 37.364 7275
+-86.42 37.364 7108
+-86.294 37.364 6943
+-86.168 37.364 6813
+-86.042 37.364 6703
+-85.916 37.364 6609
+-85.79 37.364 6355
+-85.664 37.364 6230
+-85.538 37.364 6068
+-85.412 37.364 5924
+-85.286 37.364 5901
+-85.16 37.364 5789
+-85.034 37.364 5585
+-84.908 37.364 5390
+-84.782 37.364 5239
+-84.656 37.364 5174
+-84.53 37.364 4972
+-84.404 37.364 5020
+-84.278 37.364 4935
+-84.152 37.364 4768
+-84.026 37.364 4588
+-83.9 37.364 4354
+-83.774 37.364 4125
+-83.648 37.364 3950
+-83.522 37.364 3796
+-83.396 37.364 3878
+-83.27 37.364 3878
+-83.144 37.364 3859
+-83.018 37.364 3818
+-82.892 37.364 3784
+-82.766 37.364 3744
+-82.64 37.364 3727
+-82.514 37.364 3680
+-82.388 37.364 3675
+-82.262 37.364 3671
+-82.136 37.364 3668
+-82.01 37.364 3659
+-81.884 37.364 3660
+-81.758 37.364 3662
+-81.632 37.364 3666
+-81.506 37.364 3646
+-81.38 37.364 3650
+-81.254 37.364 3653
+-81.128 37.364 3570
+-81.002 37.364 3575
+-80.876 37.364 3553
+-80.75 37.364 3557
+-80.624 37.364 3561
+-80.498 37.364 3507
+-80.372 37.364 3437
+-80.246 37.364 3427
+-80.12 37.364 3373
+-79.994 37.364 3373
+-79.868 37.364 3373
+-79.742 37.364 3373
+-79.616 37.364 3373
+-79.49 37.364 3373
+-79.364 37.364 3337
+-79.238 37.364 3337
+-79.112 37.364 3292
+-78.986 37.364 3290
+-78.86 37.364 3256
+-78.734 37.364 3254
+-78.608 37.364 3252
+-78.482 37.364 3251
+-78.356 37.364 3249
+-78.23 37.364 3248
+-78.104 37.364 3246
+-77.978 37.364 3245
+-77.852 37.364 3244
+-77.726 37.364 3243
+-77.6 37.364 3242
+-77.474 37.364 3241
+-77.348 37.364 3240
+-77.222 37.364 3146
+-77.096 37.364 3144
+-76.97 37.364 3038
+-76.844 37.364 3035
+-76.718 37.364 3033
+-76.592 37.364 3030
+-76.466 37.364 3028
+-76.34 37.364 3026
+-76.214 37.364 3024
+-76.088 37.364 3022
+-75.962 37.364 3020
+-75.836 37.364 3018
+-75.71 37.364 3017
+-75.584 37.364 3015
+-75.458 37.364 3013
+-75.332 37.364 3012
+-75.206 37.364 3011
+-75.08 37.364 3009
+-74.954 37.364 3008
+-74.828 37.364 2876
+-74.702 37.364 2874
+-74.576 37.364 2843
+-74.45 37.364 2793
+-74.324 37.364 2792
+-74.198 37.364 2791
+-74.072 37.364 2805
+-73.946 37.364 2804
+-73.82 37.364 2815
+-73.694 37.364 2815
+-73.568 37.364 2774
+-73.442 37.364 2736
+-73.316 37.364 2736
+-73.19 37.364 2736
+-73.064 37.364 2736
+-72.938 37.364 2753
+-72.812 37.364 2761
+-72.686 37.364 2771
+-72.56 37.364 2770
+-72.434 37.364 2802
+-72.308 37.364 2815
+-72.182 37.364 2817
+-72.056 37.364 2872
+-71.93 37.364 2895
+-71.804 37.364 2875
+-71.678 37.364 2867
+-71.552 37.364 3015
+-71.426 37.364 3017
+-71.3 37.364 3079
+-71.174 37.364 3082
+-71.048 37.364 3085
+-70.922 37.364 3087
+-70.796 37.364 3090
+-70.67 37.364 3008
+-70.544 37.364 3030
+-70.418 37.364 3032
+-70.292 37.364 3022
+-70.166 37.364 3321
+-70.04 37.364 3351
+-69.914 37.364 3353
+-69.788 37.364 3349
+-69.662 37.364 3350
+-69.536 37.364 3355
+-69.41 37.364 3371
+-69.284 37.364 3373
+-69.158 37.364 3361
+-69.032 37.364 3362
+-68.906 37.364 3314
+-68.78 37.364 3316
+-68.654 37.364 3317
+-68.528 37.364 3383
+-68.402 37.364 3378
+-68.276 37.364 3388
+-68.15 37.364 3390
+-68.024 37.364 3369
+-67.898 37.364 3391
+-67.772 37.364 3439
+-67.646 37.364 3451
+-67.52 37.364 3450
+-67.394 37.364 3448
+-67.268 37.364 3503
+-67.142 37.364 3504
+-67.016 37.364 3442
+-66.89 37.364 3467
+-66.764 37.364 3460
+-66.638 37.364 3376
+-66.512 37.364 3288
+-66.386 37.364 3312
+-66.26 37.364 3313
+-66.134 37.364 3348
+-66.008 37.364 3320
+-65.882 37.364 3333
+-65.756 37.364 3334
+-65.63 37.364 3312
+-65.504 37.364 3313
+-65.378 37.364 3315
+-65.252 37.364 3289
+-65.126 37.364 3270
+-128 37.312 2839
+-127.874 37.312 2836
+-127.748 37.312 2834
+-127.622 37.312 2804
+-127.496 37.312 2815
+-127.37 37.312 2895
+-127.244 37.312 2901
+-127.118 37.312 2899
+-126.992 37.312 2919
+-126.866 37.312 2919
+-126.74 37.312 3003
+-126.614 37.312 3005
+-126.488 37.312 3040
+-126.362 37.312 3041
+-126.236 37.312 3043
+-126.11 37.312 3075
+-125.984 37.312 3078
+-125.858 37.312 3081
+-125.732 37.312 3084
+-125.606 37.312 3088
+-125.48 37.312 3109
+-125.354 37.312 3147
+-125.228 37.312 3153
+-125.102 37.312 3161
+-124.976 37.312 3258
+-124.85 37.312 3384
+-124.724 37.312 3385
+-124.598 37.312 3402
+-124.472 37.312 3494
+-124.346 37.312 3570
+-124.22 37.312 3561
+-124.094 37.312 3564
+-123.968 37.312 3663
+-123.842 37.312 3664
+-123.716 37.312 3682
+-123.59 37.312 3682
+-123.464 37.312 3672
+-123.338 37.312 3671
+-123.212 37.312 3684
+-123.086 37.312 3707
+-122.96 37.312 3740
+-122.834 37.312 3829
+-122.708 37.312 3868
+-122.582 37.312 3902
+-122.456 37.312 3954
+-122.33 37.312 3963
+-122.204 37.312 3954
+-122.078 37.312 3930
+-121.952 37.312 3901
+-121.826 37.312 3909
+-121.7 37.312 3996
+-121.574 37.312 4097
+-121.448 37.312 4162
+-121.322 37.312 4210
+-121.196 37.312 4219
+-121.07 37.312 4306
+-120.944 37.312 4412
+-120.818 37.312 4481
+-120.692 37.312 4483
+-120.566 37.312 4563
+-120.44 37.312 4734
+-120.314 37.312 4811
+-120.188 37.312 4890
+-120.062 37.312 5002
+-119.936 37.312 5106
+-119.81 37.312 5191
+-119.684 37.312 5313
+-119.558 37.312 5381
+-119.432 37.312 5433
+-119.306 37.312 5485
+-119.18 37.312 5595
+-119.054 37.312 5631
+-118.928 37.312 5678
+-118.802 37.312 5741
+-118.676 37.312 5790
+-118.55 37.312 5866
+-118.424 37.312 5896
+-118.298 37.312 5939
+-118.172 37.312 5992
+-118.046 37.312 6019
+-117.92 37.312 6043
+-117.794 37.312 6068
+-117.668 37.312 6088
+-117.542 37.312 6100
+-117.416 37.312 6076
+-117.29 37.312 6111
+-117.164 37.312 6115
+-117.038 37.312 6087
+-116.912 37.312 6094
+-116.786 37.312 6063
+-116.66 37.312 6015
+-116.534 37.312 5974
+-116.408 37.312 5916
+-116.282 37.312 5899
+-116.156 37.312 5852
+-116.03 37.312 5798
+-115.904 37.312 5754
+-115.778 37.312 5682
+-115.652 37.312 5644
+-115.526 37.312 5591
+-115.4 37.312 5506
+-115.274 37.312 5479
+-115.148 37.312 5377
+-115.022 37.312 5260
+-114.896 37.312 5146
+-114.77 37.312 5014
+-114.644 37.312 4941
+-114.518 37.312 4955
+-114.392 37.312 4841
+-114.266 37.312 4723
+-114.14 37.312 4641
+-114.014 37.312 4598
+-113.888 37.312 4531
+-113.762 37.312 4470
+-113.636 37.312 4414
+-113.51 37.312 4370
+-113.384 37.312 4227
+-113.258 37.312 4079
+-113.132 37.312 3929
+-113.006 37.312 3761
+-112.88 37.312 3645
+-112.754 37.312 3612
+-112.628 37.312 3528
+-112.502 37.312 3400
+-112.376 37.312 3325
+-112.25 37.312 3293
+-112.124 37.312 3238
+-111.998 37.312 3234
+-111.872 37.312 3227
+-111.746 37.312 3217
+-111.62 37.312 3225
+-111.494 37.312 3243
+-111.368 37.312 3268
+-111.242 37.312 3293
+-111.116 37.312 3312
+-110.99 37.312 3320
+-110.864 37.312 3328
+-110.738 37.312 3337
+-110.612 37.312 3350
+-110.486 37.312 3352
+-110.36 37.312 3354
+-110.234 37.312 3360
+-110.108 37.312 3365
+-109.982 37.312 3345
+-109.856 37.312 3344
+-109.73 37.312 3301
+-109.604 37.312 3266
+-109.478 37.312 3209
+-109.352 37.312 3186
+-109.226 37.312 3212
+-109.1 37.312 3258
+-108.974 37.312 3294
+-108.848 37.312 3320
+-108.722 37.312 3321
+-108.596 37.312 3303
+-108.47 37.312 3292
+-108.344 37.312 3229
+-108.218 37.312 3214
+-108.092 37.312 3205
+-107.966 37.312 3154
+-107.84 37.312 3168
+-107.714 37.312 3163
+-107.588 37.312 3138
+-107.462 37.312 3084
+-107.336 37.312 3063
+-107.21 37.312 3045
+-107.084 37.312 3024
+-106.958 37.312 3003
+-106.832 37.312 2977
+-106.706 37.312 2961
+-106.58 37.312 2938
+-106.454 37.312 2916
+-106.328 37.312 2870
+-106.202 37.312 2857
+-106.076 37.312 2858
+-105.95 37.312 2846
+-105.824 37.312 2840
+-105.698 37.312 2839
+-105.572 37.312 2842
+-105.446 37.312 2840
+-105.32 37.312 2894
+-105.194 37.312 2908
+-105.068 37.312 2899
+-104.942 37.312 2914
+-104.816 37.312 2928
+-104.69 37.312 2943
+-104.564 37.312 2894
+-104.438 37.312 2906
+-104.312 37.312 2917
+-104.186 37.312 2930
+-104.06 37.312 2940
+-103.934 37.312 2948
+-103.808 37.312 2934
+-103.682 37.312 2969
+-103.556 37.312 2974
+-103.43 37.312 2982
+-103.304 37.312 2990
+-103.178 37.312 2997
+-103.052 37.312 3004
+-102.926 37.312 3011
+-102.8 37.312 3017
+-102.674 37.312 3023
+-102.548 37.312 3028
+-102.422 37.312 3034
+-102.296 37.312 2898
+-102.17 37.312 2919
+-102.044 37.312 2860
+-101.918 37.312 2817
+-101.792 37.312 2824
+-101.666 37.312 2774
+-101.54 37.312 2715
+-101.414 37.312 2795
+-101.288 37.312 2782
+-101.162 37.312 2787
+-101.036 37.312 2802
+-100.91 37.312 2963
+-100.784 37.312 3020
+-100.658 37.312 3080
+-100.532 37.312 3109
+-100.406 37.312 3109
+-100.28 37.312 3110
+-100.154 37.312 3110
+-100.028 37.312 3111
+-99.902 37.312 3194
+-99.776 37.312 3195
+-99.65 37.312 3195
+-99.524 37.312 3196
+-99.398 37.312 3197
+-99.272 37.312 3231
+-99.146 37.312 3230
+-99.02 37.312 3268
+-98.894 37.312 3267
+-98.768 37.312 3265
+-98.642 37.312 3264
+-98.516 37.312 3263
+-98.39 37.312 3277
+-98.264 37.312 3306
+-98.138 37.312 3303
+-98.012 37.312 3319
+-97.886 37.312 3314
+-97.76 37.312 3373
+-97.634 37.312 3406
+-97.508 37.312 3395
+-97.382 37.312 3382
+-97.256 37.312 3366
+-97.13 37.312 3347
+-97.004 37.312 3332
+-96.878 37.312 3316
+-96.752 37.312 3294
+-96.626 37.312 3247
+-96.5 37.312 3209
+-96.374 37.312 3120
+-96.248 37.312 3033
+-96.122 37.312 3168
+-95.996 37.312 3372
+-95.87 37.312 3529
+-95.744 37.312 3648
+-95.618 37.312 3748
+-95.492 37.312 3870
+-95.366 37.312 4008
+-95.24 37.312 4208
+-95.114 37.312 4374
+-94.988 37.312 4471
+-94.862 37.312 4459
+-94.736 37.312 4559
+-94.61 37.312 4760
+-94.484 37.312 4891
+-94.358 37.312 5008
+-94.232 37.312 5118
+-94.106 37.312 5264
+-93.98 37.312 5411
+-93.854 37.312 5483
+-93.728 37.312 5654
+-93.602 37.312 5686
+-93.476 37.312 5776
+-93.35 37.312 5903
+-93.224 37.312 6013
+-93.098 37.312 6159
+-92.972 37.312 6341
+-92.846 37.312 6419
+-92.72 37.312 6540
+-92.594 37.312 6623
+-92.468 37.312 6785
+-92.342 37.312 6827
+-92.216 37.312 6963
+-92.09 37.312 7072
+-91.964 37.312 7157
+-91.838 37.312 7255
+-91.712 37.312 7334
+-91.586 37.312 7431
+-91.46 37.312 7524
+-91.334 37.312 7599
+-91.208 37.312 7666
+-91.082 37.312 7700
+-90.956 37.312 7761
+-90.83 37.312 7807
+-90.704 37.312 7813
+-90.578 37.312 7843
+-90.452 37.312 7844
+-90.326 37.312 7986
+-90.2 37.312 8233
+-90.074 37.312 8343
+-89.948 37.312 8511
+-89.822 37.312 8695
+-89.696 37.312 8767
+-89.57 37.312 8849
+-89.444 37.312 8984
+-89.318 37.312 9165
+-89.192 37.312 9245
+-89.066 37.312 9289
+-88.94 37.312 9352
+-88.814 37.312 9385
+-88.688 37.312 9357
+-88.562 37.312 9286
+-88.436 37.312 9198
+-88.31 37.312 9093
+-88.184 37.312 8937
+-88.058 37.312 8894
+-87.932 37.312 8736
+-87.806 37.312 8594
+-87.68 37.312 8466
+-87.554 37.312 8295
+-87.428 37.312 8160
+-87.302 37.312 8061
+-87.176 37.312 7930
+-87.05 37.312 7756
+-86.924 37.312 7625
+-86.798 37.312 7450
+-86.672 37.312 7330
+-86.546 37.312 7216
+-86.42 37.312 7059
+-86.294 37.312 6916
+-86.168 37.312 6828
+-86.042 37.312 6626
+-85.916 37.312 6599
+-85.79 37.312 6402
+-85.664 37.312 6208
+-85.538 37.312 6076
+-85.412 37.312 5968
+-85.286 37.312 5900
+-85.16 37.312 5746
+-85.034 37.312 5572
+-84.908 37.312 5436
+-84.782 37.312 5259
+-84.656 37.312 5167
+-84.53 37.312 5117
+-84.404 37.312 5028
+-84.278 37.312 4884
+-84.152 37.312 4723
+-84.026 37.312 4554
+-83.9 37.312 4340
+-83.774 37.312 4084
+-83.648 37.312 3941
+-83.522 37.312 3915
+-83.396 37.312 3843
+-83.27 37.312 3735
+-83.144 37.312 3743
+-83.018 37.312 3768
+-82.892 37.312 3750
+-82.766 37.312 3727
+-82.64 37.312 3726
+-82.514 37.312 3701
+-82.388 37.312 3675
+-82.262 37.312 3676
+-82.136 37.312 3676
+-82.01 37.312 3676
+-81.884 37.312 3665
+-81.758 37.312 3666
+-81.632 37.312 3669
+-81.506 37.312 3672
+-81.38 37.312 3656
+-81.254 37.312 3659
+-81.128 37.312 3662
+-81.002 37.312 3553
+-80.876 37.312 3557
+-80.75 37.312 3560
+-80.624 37.312 3506
+-80.498 37.312 3435
+-80.372 37.312 3411
+-80.246 37.312 3410
+-80.12 37.312 3410
+-79.994 37.312 3370
+-79.868 37.312 3370
+-79.742 37.312 3370
+-79.616 37.312 3370
+-79.49 37.312 3335
+-79.364 37.312 3334
+-79.238 37.312 3289
+-79.112 37.312 3287
+-78.986 37.312 3252
+-78.86 37.312 3250
+-78.734 37.312 3249
+-78.608 37.312 3247
+-78.482 37.312 3245
+-78.356 37.312 3244
+-78.23 37.312 3242
+-78.104 37.312 3241
+-77.978 37.312 3240
+-77.852 37.312 3239
+-77.726 37.312 3238
+-77.6 37.312 3237
+-77.474 37.312 3236
+-77.348 37.312 3142
+-77.222 37.312 3139
+-77.096 37.312 3137
+-76.97 37.312 3134
+-76.844 37.312 3029
+-76.718 37.312 3027
+-76.592 37.312 3025
+-76.466 37.312 3023
+-76.34 37.312 3020
+-76.214 37.312 3018
+-76.088 37.312 3017
+-75.962 37.312 3015
+-75.836 37.312 3013
+-75.71 37.312 3012
+-75.584 37.312 3010
+-75.458 37.312 3009
+-75.332 37.312 3007
+-75.206 37.312 3006
+-75.08 37.312 3005
+-74.954 37.312 2872
+-74.828 37.312 2871
+-74.702 37.312 2839
+-74.576 37.312 2789
+-74.45 37.312 2788
+-74.324 37.312 2787
+-74.198 37.312 2801
+-74.072 37.312 2801
+-73.946 37.312 2812
+-73.82 37.312 2811
+-73.694 37.312 2771
+-73.568 37.312 2733
+-73.442 37.312 2733
+-73.316 37.312 2733
+-73.19 37.312 2733
+-73.064 37.312 2750
+-72.938 37.312 2758
+-72.812 37.312 2768
+-72.686 37.312 2768
+-72.56 37.312 2800
+-72.434 37.312 2812
+-72.308 37.312 2814
+-72.182 37.312 2869
+-72.056 37.312 2892
+-71.93 37.312 2873
+-71.804 37.312 2864
+-71.678 37.312 3012
+-71.552 37.312 3015
+-71.426 37.312 3076
+-71.3 37.312 3079
+-71.174 37.312 3082
+-71.048 37.312 3085
+-70.922 37.312 3087
+-70.796 37.312 3006
+-70.67 37.312 3027
+-70.544 37.312 3030
+-70.418 37.312 3021
+-70.292 37.312 3319
+-70.166 37.312 3349
+-70.04 37.312 3351
+-69.914 37.312 3347
+-69.788 37.312 3348
+-69.662 37.312 3353
+-69.536 37.312 3369
+-69.41 37.312 3371
+-69.284 37.312 3359
+-69.158 37.312 3360
+-69.032 37.312 3313
+-68.906 37.312 3314
+-68.78 37.312 3315
+-68.654 37.312 3381
+-68.528 37.312 3377
+-68.402 37.312 3387
+-68.276 37.312 3388
+-68.15 37.312 3367
+-68.024 37.312 3390
+-67.898 37.312 3437
+-67.772 37.312 3449
+-67.646 37.312 3448
+-67.52 37.312 3447
+-67.394 37.312 3501
+-67.268 37.312 3503
+-67.142 37.312 3441
+-67.016 37.312 3465
+-66.89 37.312 3458
+-66.764 37.312 3378
+-66.638 37.312 3287
+-66.512 37.312 3311
+-66.386 37.312 3312
+-66.26 37.312 3347
+-66.134 37.312 3319
+-66.008 37.312 3331
+-65.882 37.312 3333
+-65.756 37.312 3311
+-65.63 37.312 3312
+-65.504 37.312 3314
+-65.378 37.312 3288
+-65.252 37.312 3269
+-65.126 37.312 3307
+-128 37.26 2824
+-127.874 37.26 2839
+-127.748 37.26 2837
+-127.622 37.26 2835
+-127.496 37.26 2806
+-127.37 37.26 2816
+-127.244 37.26 2897
+-127.118 37.26 2902
+-126.992 37.26 2901
+-126.866 37.26 2921
+-126.74 37.26 2920
+-126.614 37.26 3004
+-126.488 37.26 3007
+-126.362 37.26 3042
+-126.236 37.26 3044
+-126.11 37.26 3046
+-125.984 37.26 3078
+-125.858 37.26 3082
+-125.732 37.26 3085
+-125.606 37.26 3089
+-125.48 37.26 3094
+-125.354 37.26 3114
+-125.228 37.26 3233
+-125.102 37.26 3236
+-124.976 37.26 3253
+-124.85 37.26 3258
+-124.724 37.26 3280
+-124.598 37.26 3488
+-124.472 37.26 3563
+-124.346 37.26 3554
+-124.22 37.26 3542
+-124.094 37.26 3528
+-123.968 37.26 3525
+-123.842 37.26 3608
+-123.716 37.26 3601
+-123.59 37.26 3610
+-123.464 37.26 3604
+-123.338 37.26 3594
+-123.212 37.26 3600
+-123.086 37.26 3625
+-122.96 37.26 3714
+-122.834 37.26 3766
+-122.708 37.26 3821
+-122.582 37.26 3868
+-122.456 37.26 3902
+-122.33 37.26 3941
+-122.204 37.26 3925
+-122.078 37.26 3876
+-121.952 37.26 3795
+-121.826 37.26 3758
+-121.7 37.26 3880
+-121.574 37.26 4022
+-121.448 37.26 4124
+-121.322 37.26 4173
+-121.196 37.26 4134
+-121.07 37.26 4255
+-120.944 37.26 4404
+-120.818 37.26 4498
+-120.692 37.26 4553
+-120.566 37.26 4637
+-120.44 37.26 4760
+-120.314 37.26 4864
+-120.188 37.26 4951
+-120.062 37.26 5017
+-119.936 37.26 5188
+-119.81 37.26 5280
+-119.684 37.26 5357
+-119.558 37.26 5441
+-119.432 37.26 5501
+-119.306 37.26 5545
+-119.18 37.26 5615
+-119.054 37.26 5686
+-118.928 37.26 5755
+-118.802 37.26 5822
+-118.676 37.26 5850
+-118.55 37.26 5913
+-118.424 37.26 5972
+-118.298 37.26 5996
+-118.172 37.26 6037
+-118.046 37.26 6079
+-117.92 37.26 6104
+-117.794 37.26 6123
+-117.668 37.26 6133
+-117.542 37.26 6164
+-117.416 37.26 6144
+-117.29 37.26 6147
+-117.164 37.26 6136
+-117.038 37.26 6143
+-116.912 37.26 6137
+-116.786 37.26 6122
+-116.66 37.26 6096
+-116.534 37.26 6080
+-116.408 37.26 5991
+-116.282 37.26 6002
+-116.156 37.26 5906
+-116.03 37.26 5877
+-115.904 37.26 5827
+-115.778 37.26 5759
+-115.652 37.26 5685
+-115.526 37.26 5631
+-115.4 37.26 5556
+-115.274 37.26 5512
+-115.148 37.26 5437
+-115.022 37.26 5353
+-114.896 37.26 5234
+-114.77 37.26 5103
+-114.644 37.26 5003
+-114.518 37.26 4936
+-114.392 37.26 4870
+-114.266 37.26 4795
+-114.14 37.26 4702
+-114.014 37.26 4578
+-113.888 37.26 4447
+-113.762 37.26 4483
+-113.636 37.26 4441
+-113.51 37.26 4374
+-113.384 37.26 4248
+-113.258 37.26 4079
+-113.132 37.26 3920
+-113.006 37.26 3713
+-112.88 37.26 3599
+-112.754 37.26 3632
+-112.628 37.26 3608
+-112.502 37.26 3494
+-112.376 37.26 3420
+-112.25 37.26 3380
+-112.124 37.26 3325
+-111.998 37.26 3299
+-111.872 37.26 3289
+-111.746 37.26 3280
+-111.62 37.26 3291
+-111.494 37.26 3308
+-111.368 37.26 3329
+-111.242 37.26 3350
+-111.116 37.26 3359
+-110.99 37.26 3363
+-110.864 37.26 3369
+-110.738 37.26 3376
+-110.612 37.26 3364
+-110.486 37.26 3352
+-110.36 37.26 3366
+-110.234 37.26 3395
+-110.108 37.26 3415
+-109.982 37.26 3405
+-109.856 37.26 3383
+-109.73 37.26 3366
+-109.604 37.26 3315
+-109.478 37.26 3257
+-109.352 37.26 3223
+-109.226 37.26 3251
+-109.1 37.26 3304
+-108.974 37.26 3329
+-108.848 37.26 3372
+-108.722 37.26 3364
+-108.596 37.26 3331
+-108.47 37.26 3318
+-108.344 37.26 3283
+-108.218 37.26 3278
+-108.092 37.26 3229
+-107.966 37.26 3208
+-107.84 37.26 3201
+-107.714 37.26 3173
+-107.588 37.26 3116
+-107.462 37.26 3091
+-107.336 37.26 3070
+-107.21 37.26 3047
+-107.084 37.26 3024
+-106.958 37.26 2997
+-106.832 37.26 2979
+-106.706 37.26 2953
+-106.58 37.26 2925
+-106.454 37.26 2875
+-106.328 37.26 2854
+-106.202 37.26 2845
+-106.076 37.26 2826
+-105.95 37.26 2813
+-105.824 37.26 2806
+-105.698 37.26 2805
+-105.572 37.26 2803
+-105.446 37.26 2853
+-105.32 37.26 2868
+-105.194 37.26 2863
+-105.068 37.26 2881
+-104.942 37.26 2899
+-104.816 37.26 2916
+-104.69 37.26 2873
+-104.564 37.26 2887
+-104.438 37.26 2901
+-104.312 37.26 2915
+-104.186 37.26 2927
+-104.06 37.26 2937
+-103.934 37.26 2925
+-103.808 37.26 2959
+-103.682 37.26 2965
+-103.556 37.26 2974
+-103.43 37.26 2983
+-103.304 37.26 2991
+-103.178 37.26 2999
+-103.052 37.26 3006
+-102.926 37.26 3013
+-102.8 37.26 3019
+-102.674 37.26 3025
+-102.548 37.26 3030
+-102.422 37.26 3023
+-102.296 37.26 3043
+-102.17 37.26 2992
+-102.044 37.26 2911
+-101.918 37.26 2849
+-101.792 37.26 2808
+-101.666 37.26 2759
+-101.54 37.26 2713
+-101.414 37.26 2726
+-101.288 37.26 2770
+-101.162 37.26 2782
+-101.036 37.26 2815
+-100.91 37.26 2957
+-100.784 37.26 3039
+-100.658 37.26 3102
+-100.532 37.26 3102
+-100.406 37.26 3102
+-100.28 37.26 3102
+-100.154 37.26 3103
+-100.028 37.26 3188
+-99.902 37.26 3188
+-99.776 37.26 3189
+-99.65 37.26 3189
+-99.524 37.26 3189
+-99.398 37.26 3189
+-99.272 37.26 3190
+-99.146 37.26 3225
+-99.02 37.26 3224
+-98.894 37.26 3261
+-98.768 37.26 3260
+-98.642 37.26 3258
+-98.516 37.26 3274
+-98.39 37.26 3303
+-98.264 37.26 3299
+-98.138 37.26 3316
+-98.012 37.26 3311
+-97.886 37.26 3373
+-97.76 37.26 3408
+-97.634 37.26 3399
+-97.508 37.26 3390
+-97.382 37.26 3379
+-97.256 37.26 3366
+-97.13 37.26 3360
+-97.004 37.26 3361
+-96.878 37.26 3357
+-96.752 37.26 3326
+-96.626 37.26 3289
+-96.5 37.26 3242
+-96.374 37.26 3181
+-96.248 37.26 3147
+-96.122 37.26 3254
+-95.996 37.26 3437
+-95.87 37.26 3579
+-95.744 37.26 3692
+-95.618 37.26 3779
+-95.492 37.26 3861
+-95.366 37.26 3982
+-95.24 37.26 4160
+-95.114 37.26 4299
+-94.988 37.26 4418
+-94.862 37.26 4496
+-94.736 37.26 4581
+-94.61 37.26 4738
+-94.484 37.26 4844
+-94.358 37.26 4938
+-94.232 37.26 5074
+-94.106 37.26 5193
+-93.98 37.26 5316
+-93.854 37.26 5491
+-93.728 37.26 5651
+-93.602 37.26 5748
+-93.476 37.26 5777
+-93.35 37.26 5890
+-93.224 37.26 6010
+-93.098 37.26 6130
+-92.972 37.26 6266
+-92.846 37.26 6421
+-92.72 37.26 6469
+-92.594 37.26 6587
+-92.468 37.26 6732
+-92.342 37.26 6822
+-92.216 37.26 6901
+-92.09 37.26 7016
+-91.964 37.26 7096
+-91.838 37.26 7204
+-91.712 37.26 7264
+-91.586 37.26 7362
+-91.46 37.26 7487
+-91.334 37.26 7536
+-91.208 37.26 7591
+-91.082 37.26 7669
+-90.956 37.26 7706
+-90.83 37.26 7747
+-90.704 37.26 7754
+-90.578 37.26 7784
+-90.452 37.26 7770
+-90.326 37.26 7761
+-90.2 37.26 8223
+-90.074 37.26 8338
+-89.948 37.26 8451
+-89.822 37.26 8599
+-89.696 37.26 8726
+-89.57 37.26 8858
+-89.444 37.26 8977
+-89.318 37.26 9046
+-89.192 37.26 9214
+-89.066 37.26 9277
+-88.94 37.26 9321
+-88.814 37.26 9308
+-88.688 37.26 9309
+-88.562 37.26 9231
+-88.436 37.26 9163
+-88.31 37.26 9053
+-88.184 37.26 8943
+-88.058 37.26 8807
+-87.932 37.26 8651
+-87.806 37.26 8634
+-87.68 37.26 8449
+-87.554 37.26 8303
+-87.428 37.26 8174
+-87.302 37.26 8092
+-87.176 37.26 7942
+-87.05 37.26 7780
+-86.924 37.26 7627
+-86.798 37.26 7450
+-86.672 37.26 7359
+-86.546 37.26 7194
+-86.42 37.26 7044
+-86.294 37.26 6910
+-86.168 37.26 6770
+-86.042 37.26 6658
+-85.916 37.26 6565
+-85.79 37.26 6448
+-85.664 37.26 6213
+-85.538 37.26 6036
+-85.412 37.26 5987
+-85.286 37.26 5870
+-85.16 37.26 5711
+-85.034 37.26 5567
+-84.908 37.26 5480
+-84.782 37.26 5268
+-84.656 37.26 5174
+-84.53 37.26 5141
+-84.404 37.26 5001
+-84.278 37.26 4799
+-84.152 37.26 4628
+-84.026 37.26 4528
+-83.9 37.26 4382
+-83.774 37.26 4182
+-83.648 37.26 4036
+-83.522 37.26 3956
+-83.396 37.26 3768
+-83.27 37.26 3606
+-83.144 37.26 3668
+-83.018 37.26 3666
+-82.892 37.26 3678
+-82.766 37.26 3692
+-82.64 37.26 3707
+-82.514 37.26 3719
+-82.388 37.26 3702
+-82.262 37.26 3673
+-82.136 37.26 3677
+-82.01 37.26 3669
+-81.884 37.26 3670
+-81.758 37.26 3672
+-81.632 37.26 3674
+-81.506 37.26 3677
+-81.38 37.26 3680
+-81.254 37.26 3653
+-81.128 37.26 3656
+-81.002 37.26 3556
+-80.876 37.26 3546
+-80.75 37.26 3506
+-80.624 37.26 3423
+-80.498 37.26 3397
+-80.372 37.26 3395
+-80.246 37.26 3394
+-80.12 37.26 3393
+-79.994 37.26 3392
+-79.868 37.26 3367
+-79.742 37.26 3367
+-79.616 37.26 3332
+-79.49 37.26 3332
+-79.364 37.26 3285
+-79.238 37.26 3283
+-79.112 37.26 3248
+-78.986 37.26 3246
+-78.86 37.26 3244
+-78.734 37.26 3243
+-78.608 37.26 3241
+-78.482 37.26 3240
+-78.356 37.26 3238
+-78.23 37.26 3237
+-78.104 37.26 3236
+-77.978 37.26 3235
+-77.852 37.26 3234
+-77.726 37.26 3233
+-77.6 37.26 3232
+-77.474 37.26 3138
+-77.348 37.26 3135
+-77.222 37.26 3132
+-77.096 37.26 3130
+-76.97 37.26 3127
+-76.844 37.26 3125
+-76.718 37.26 3021
+-76.592 37.26 3019
+-76.466 37.26 3017
+-76.34 37.26 3015
+-76.214 37.26 3013
+-76.088 37.26 3011
+-75.962 37.26 3009
+-75.836 37.26 3008
+-75.71 37.26 3006
+-75.584 37.26 3005
+-75.458 37.26 3004
+-75.332 37.26 3002
+-75.206 37.26 3001
+-75.08 37.26 2868
+-74.954 37.26 2867
+-74.828 37.26 2835
+-74.702 37.26 2785
+-74.576 37.26 2784
+-74.45 37.26 2783
+-74.324 37.26 2797
+-74.198 37.26 2797
+-74.072 37.26 2808
+-73.946 37.26 2807
+-73.82 37.26 2767
+-73.694 37.26 2729
+-73.568 37.26 2729
+-73.442 37.26 2730
+-73.316 37.26 2730
+-73.19 37.26 2747
+-73.064 37.26 2755
+-72.938 37.26 2765
+-72.812 37.26 2765
+-72.686 37.26 2797
+-72.56 37.26 2810
+-72.434 37.26 2812
+-72.308 37.26 2866
+-72.182 37.26 2890
+-72.056 37.26 2870
+-71.93 37.26 2862
+-71.804 37.26 3009
+-71.678 37.26 3012
+-71.552 37.26 3073
+-71.426 37.26 3076
+-71.3 37.26 3079
+-71.174 37.26 3082
+-71.048 37.26 3085
+-70.922 37.26 3004
+-70.796 37.26 3025
+-70.67 37.26 3028
+-70.544 37.26 3019
+-70.418 37.26 3317
+-70.292 37.26 3347
+-70.166 37.26 3349
+-70.04 37.26 3345
+-69.914 37.26 3346
+-69.788 37.26 3351
+-69.662 37.26 3367
+-69.536 37.26 3369
+-69.41 37.26 3357
+-69.284 37.26 3359
+-69.158 37.26 3311
+-69.032 37.26 3312
+-68.906 37.26 3314
+-68.78 37.26 3380
+-68.654 37.26 3375
+-68.528 37.26 3385
+-68.402 37.26 3386
+-68.276 37.26 3366
+-68.15 37.26 3388
+-68.024 37.26 3436
+-67.898 37.26 3447
+-67.772 37.26 3447
+-67.646 37.26 3445
+-67.52 37.26 3500
+-67.394 37.26 3501
+-67.268 37.26 3439
+-67.142 37.26 3464
+-67.016 37.26 3457
+-66.89 37.26 3373
+-66.764 37.26 3286
+-66.638 37.26 3310
+-66.512 37.26 3311
+-66.386 37.26 3345
+-66.26 37.26 3317
+-66.134 37.26 3330
+-66.008 37.26 3332
+-65.882 37.26 3310
+-65.756 37.26 3311
+-65.63 37.26 3313
+-65.504 37.26 3287
+-65.378 37.26 3268
+-65.252 37.26 3306
+-65.126 37.26 3300
+-128 37.208 2827
+-127.874 37.208 2824
+-127.748 37.208 2840
+-127.622 37.208 2838
+-127.496 37.208 2835
+-127.37 37.208 2807
+-127.244 37.208 2817
+-127.118 37.208 2897
+-126.992 37.208 2903
+-126.866 37.208 2902
+-126.74 37.208 2922
+-126.614 37.208 2921
+-126.488 37.208 3005
+-126.362 37.208 3009
+-126.236 37.208 3043
+-126.11 37.208 3046
+-125.984 37.208 3048
+-125.858 37.208 3052
+-125.732 37.208 3085
+-125.606 37.208 3089
+-125.48 37.208 3160
+-125.354 37.208 3178
+-125.228 37.208 3209
+-125.102 37.208 3232
+-124.976 37.208 3246
+-124.85 37.208 3344
+-124.724 37.208 3426
+-124.598 37.208 3439
+-124.472 37.208 3549
+-124.346 37.208 3537
+-124.22 37.208 3523
+-124.094 37.208 3504
+-123.968 37.208 3482
+-123.842 37.208 3469
+-123.716 37.208 3528
+-123.59 37.208 3510
+-123.464 37.208 3505
+-123.338 37.208 3492
+-123.212 37.208 3525
+-123.086 37.208 3551
+-122.96 37.208 3605
+-122.834 37.208 3679
+-122.708 37.208 3758
+-122.582 37.208 3828
+-122.456 37.208 3877
+-122.33 37.208 3900
+-122.204 37.208 3931
+-122.078 37.208 3863
+-121.952 37.208 3740
+-121.826 37.208 3630
+-121.7 37.208 3806
+-121.574 37.208 3933
+-121.448 37.208 4056
+-121.322 37.208 4173
+-121.196 37.208 4212
+-121.07 37.208 4307
+-120.944 37.208 4434
+-120.818 37.208 4564
+-120.692 37.208 4629
+-120.566 37.208 4695
+-120.44 37.208 4815
+-120.314 37.208 4907
+-120.188 37.208 4973
+-120.062 37.208 5085
+-119.936 37.208 5253
+-119.81 37.208 5265
+-119.684 37.208 5382
+-119.558 37.208 5470
+-119.432 37.208 5532
+-119.306 37.208 5608
+-119.18 37.208 5679
+-119.054 37.208 5699
+-118.928 37.208 5768
+-118.802 37.208 5844
+-118.676 37.208 5914
+-118.55 37.208 5943
+-118.424 37.208 6029
+-118.298 37.208 6040
+-118.172 37.208 6072
+-118.046 37.208 6123
+-117.92 37.208 6134
+-117.794 37.208 6163
+-117.668 37.208 6188
+-117.542 37.208 6201
+-117.416 37.208 6222
+-117.29 37.208 6214
+-117.164 37.208 6199
+-117.038 37.208 6202
+-116.912 37.208 6181
+-116.786 37.208 6144
+-116.66 37.208 6144
+-116.534 37.208 6101
+-116.408 37.208 6058
+-116.282 37.208 6011
+-116.156 37.208 5966
+-116.03 37.208 5902
+-115.904 37.208 5869
+-115.778 37.208 5827
+-115.652 37.208 5759
+-115.526 37.208 5669
+-115.4 37.208 5581
+-115.274 37.208 5499
+-115.148 37.208 5471
+-115.022 37.208 5407
+-114.896 37.208 5340
+-114.77 37.208 5214
+-114.644 37.208 5125
+-114.518 37.208 5030
+-114.392 37.208 4954
+-114.266 37.208 4877
+-114.14 37.208 4761
+-114.014 37.208 4656
+-113.888 37.208 4562
+-113.762 37.208 4490
+-113.636 37.208 4400
+-113.51 37.208 4368
+-113.384 37.208 4310
+-113.258 37.208 4118
+-113.132 37.208 3953
+-113.006 37.208 3786
+-112.88 37.208 3694
+-112.754 37.208 3701
+-112.628 37.208 3673
+-112.502 37.208 3594
+-112.376 37.208 3498
+-112.25 37.208 3458
+-112.124 37.208 3395
+-111.998 37.208 3381
+-111.872 37.208 3370
+-111.746 37.208 3359
+-111.62 37.208 3347
+-111.494 37.208 3361
+-111.368 37.208 3376
+-111.242 37.208 3375
+-111.116 37.208 3363
+-110.99 37.208 3383
+-110.864 37.208 3414
+-110.738 37.208 3415
+-110.612 37.208 3398
+-110.486 37.208 3378
+-110.36 37.208 3397
+-110.234 37.208 3427
+-110.108 37.208 3453
+-109.982 37.208 3461
+-109.856 37.208 3453
+-109.73 37.208 3443
+-109.604 37.208 3398
+-109.478 37.208 3349
+-109.352 37.208 3322
+-109.226 37.208 3333
+-109.1 37.208 3364
+-108.974 37.208 3424
+-108.848 37.208 3408
+-108.722 37.208 3395
+-108.596 37.208 3382
+-108.47 37.208 3347
+-108.344 37.208 3331
+-108.218 37.208 3269
+-108.092 37.208 3279
+-107.966 37.208 3238
+-107.84 37.208 3208
+-107.714 37.208 3148
+-107.588 37.208 3119
+-107.462 37.208 3094
+-107.336 37.208 3067
+-107.21 37.208 3042
+-107.084 37.208 3016
+-106.958 37.208 2997
+-106.832 37.208 2970
+-106.706 37.208 2940
+-106.58 37.208 2886
+-106.454 37.208 2858
+-106.328 37.208 2839
+-106.202 37.208 2809
+-106.076 37.208 2785
+-105.95 37.208 2768
+-105.824 37.208 2761
+-105.698 37.208 2756
+-105.572 37.208 2800
+-105.446 37.208 2817
+-105.32 37.208 2818
+-105.194 37.208 2839
+-105.068 37.208 2861
+-104.942 37.208 2883
+-104.816 37.208 2848
+-104.69 37.208 2865
+-104.564 37.208 2881
+-104.438 37.208 2897
+-104.312 37.208 2912
+-104.186 37.208 2923
+-104.06 37.208 2914
+-103.934 37.208 2948
+-103.808 37.208 2956
+-103.682 37.208 2966
+-103.556 37.208 2976
+-103.43 37.208 2985
+-103.304 37.208 2993
+-103.178 37.208 3001
+-103.052 37.208 3008
+-102.926 37.208 3015
+-102.8 37.208 3021
+-102.674 37.208 3027
+-102.548 37.208 3020
+-102.422 37.208 3119
+-102.296 37.208 3023
+-102.17 37.208 2973
+-102.044 37.208 2895
+-101.918 37.208 2903
+-101.792 37.208 2863
+-101.666 37.208 2760
+-101.54 37.208 2741
+-101.414 37.208 2717
+-101.288 37.208 2767
+-101.162 37.208 2770
+-101.036 37.208 2810
+-100.91 37.208 2950
+-100.784 37.208 3032
+-100.658 37.208 3095
+-100.532 37.208 3095
+-100.406 37.208 3095
+-100.28 37.208 3095
+-100.154 37.208 3150
+-100.028 37.208 3150
+-99.902 37.208 3150
+-99.776 37.208 3151
+-99.65 37.208 3151
+-99.524 37.208 3152
+-99.398 37.208 3152
+-99.272 37.208 3153
+-99.146 37.208 3154
+-99.02 37.208 3217
+-98.894 37.208 3216
+-98.768 37.208 3254
+-98.642 37.208 3257
+-98.516 37.208 3300
+-98.39 37.208 3296
+-98.264 37.208 3313
+-98.138 37.208 3308
+-98.012 37.208 3372
+-97.886 37.208 3407
+-97.76 37.208 3400
+-97.634 37.208 3392
+-97.508 37.208 3383
+-97.382 37.208 3375
+-97.256 37.208 3375
+-97.13 37.208 3387
+-97.004 37.208 3396
+-96.878 37.208 3379
+-96.752 37.208 3359
+-96.626 37.208 3341
+-96.5 37.208 3330
+-96.374 37.208 3301
+-96.248 37.208 3313
+-96.122 37.208 3389
+-95.996 37.208 3534
+-95.87 37.208 3644
+-95.744 37.208 3735
+-95.618 37.208 3766
+-95.492 37.208 3784
+-95.366 37.208 3912
+-95.24 37.208 4097
+-95.114 37.208 4165
+-94.988 37.208 4326
+-94.862 37.208 4474
+-94.736 37.208 4551
+-94.61 37.208 4684
+-94.484 37.208 4696
+-94.358 37.208 4930
+-94.232 37.208 5074
+-94.106 37.208 5142
+-93.98 37.208 5286
+-93.854 37.208 5452
+-93.728 37.208 5627
+-93.602 37.208 5742
+-93.476 37.208 5806
+-93.35 37.208 5838
+-93.224 37.208 5960
+-93.098 37.208 6095
+-92.972 37.208 6219
+-92.846 37.208 6342
+-92.72 37.208 6497
+-92.594 37.208 6614
+-92.468 37.208 6684
+-92.342 37.208 6790
+-92.216 37.208 6911
+-92.09 37.208 6975
+-91.964 37.208 7065
+-91.838 37.208 7220
+-91.712 37.208 7214
+-91.586 37.208 7344
+-91.46 37.208 7416
+-91.334 37.208 7474
+-91.208 37.208 7534
+-91.082 37.208 7611
+-90.956 37.208 7656
+-90.83 37.208 7684
+-90.704 37.208 7710
+-90.578 37.208 7702
+-90.452 37.208 7736
+-90.326 37.208 8061
+-90.2 37.208 8170
+-90.074 37.208 8274
+-89.948 37.208 8457
+-89.822 37.208 8558
+-89.696 37.208 8715
+-89.57 37.208 8858
+-89.444 37.208 8930
+-89.318 37.208 9068
+-89.192 37.208 9194
+-89.066 37.208 9213
+-88.94 37.208 9235
+-88.814 37.208 9272
+-88.688 37.208 9275
+-88.562 37.208 9195
+-88.436 37.208 9125
+-88.31 37.208 9017
+-88.184 37.208 8888
+-88.058 37.208 8787
+-87.932 37.208 8701
+-87.806 37.208 8511
+-87.68 37.208 8376
+-87.554 37.208 8281
+-87.428 37.208 8118
+-87.302 37.208 7955
+-87.176 37.208 7887
+-87.05 37.208 7756
+-86.924 37.208 7626
+-86.798 37.208 7457
+-86.672 37.208 7354
+-86.546 37.208 7197
+-86.42 37.208 7041
+-86.294 37.208 6901
+-86.168 37.208 6765
+-86.042 37.208 6653
+-85.916 37.208 6506
+-85.79 37.208 6423
+-85.664 37.208 6217
+-85.538 37.208 6126
+-85.412 37.208 5954
+-85.286 37.208 5853
+-85.16 37.208 5722
+-85.034 37.208 5591
+-84.908 37.208 5492
+-84.782 37.208 5280
+-84.656 37.208 5115
+-84.53 37.208 5140
+-84.404 37.208 4972
+-84.278 37.208 4696
+-84.152 37.208 4541
+-84.026 37.208 4493
+-83.9 37.208 4344
+-83.774 37.208 4272
+-83.648 37.208 4169
+-83.522 37.208 4014
+-83.396 37.208 3821
+-83.27 37.208 3690
+-83.144 37.208 3605
+-83.018 37.208 3484
+-82.892 37.208 3539
+-82.766 37.208 3619
+-82.64 37.208 3700
+-82.514 37.208 3723
+-82.388 37.208 3720
+-82.262 37.208 3697
+-82.136 37.208 3697
+-82.01 37.208 3669
+-81.884 37.208 3672
+-81.758 37.208 3675
+-81.632 37.208 3677
+-81.506 37.208 3680
+-81.38 37.208 3650
+-81.254 37.208 3652
+-81.128 37.208 3655
+-81.002 37.208 3546
+-80.876 37.208 3476
+-80.75 37.208 3421
+-80.624 37.208 3396
+-80.498 37.208 3394
+-80.372 37.208 3393
+-80.246 37.208 3391
+-80.12 37.208 3390
+-79.994 37.208 3389
+-79.868 37.208 3388
+-79.742 37.208 3329
+-79.616 37.208 3328
+-79.49 37.208 3281
+-79.364 37.208 3279
+-79.238 37.208 3244
+-79.112 37.208 3242
+-78.986 37.208 3240
+-78.86 37.208 3238
+-78.734 37.208 3236
+-78.608 37.208 3235
+-78.482 37.208 3234
+-78.356 37.208 3232
+-78.23 37.208 3231
+-78.104 37.208 3230
+-77.978 37.208 3229
+-77.852 37.208 3229
+-77.726 37.208 3228
+-77.6 37.208 3133
+-77.474 37.208 3130
+-77.348 37.208 3127
+-77.222 37.208 3125
+-77.096 37.208 3122
+-76.97 37.208 3120
+-76.844 37.208 3118
+-76.718 37.208 3116
+-76.592 37.208 3013
+-76.466 37.208 3011
+-76.34 37.208 3009
+-76.214 37.208 3000
+-76.088 37.208 2998
+-75.962 37.208 2997
+-75.836 37.208 2995
+-75.71 37.208 2993
+-75.584 37.208 2992
+-75.458 37.208 2991
+-75.332 37.208 2989
+-75.206 37.208 2863
+-75.08 37.208 2862
+-74.954 37.208 2830
+-74.828 37.208 2781
+-74.702 37.208 2780
+-74.576 37.208 2779
+-74.45 37.208 2793
+-74.324 37.208 2793
+-74.198 37.208 2804
+-74.072 37.208 2803
+-73.946 37.208 2763
+-73.82 37.208 2726
+-73.694 37.208 2726
+-73.568 37.208 2726
+-73.442 37.208 2726
+-73.316 37.208 2744
+-73.19 37.208 2752
+-73.064 37.208 2762
+-72.938 37.208 2762
+-72.812 37.208 2794
+-72.686 37.208 2807
+-72.56 37.208 2809
+-72.434 37.208 2864
+-72.308 37.208 2887
+-72.182 37.208 2868
+-72.056 37.208 2860
+-71.93 37.208 3006
+-71.804 37.208 3009
+-71.678 37.208 3070
+-71.552 37.208 3073
+-71.426 37.208 3076
+-71.3 37.208 3079
+-71.174 37.208 3082
+-71.048 37.208 3002
+-70.922 37.208 3023
+-70.796 37.208 3026
+-70.67 37.208 3017
+-70.544 37.208 3314
+-70.418 37.208 3345
+-70.292 37.208 3346
+-70.166 37.208 3342
+-70.04 37.208 3344
+-69.914 37.208 3349
+-69.788 37.208 3365
+-69.662 37.208 3367
+-69.536 37.208 3355
+-69.41 37.208 3357
+-69.284 37.208 3310
+-69.158 37.208 3311
+-69.032 37.208 3312
+-68.906 37.208 3378
+-68.78 37.208 3373
+-68.654 37.208 3383
+-68.528 37.208 3385
+-68.402 37.208 3364
+-68.276 37.208 3386
+-68.15 37.208 3434
+-68.024 37.208 3446
+-67.898 37.208 3445
+-67.772 37.208 3444
+-67.646 37.208 3498
+-67.52 37.208 3500
+-67.394 37.208 3438
+-67.268 37.208 3462
+-67.142 37.208 3455
+-67.016 37.208 3375
+-66.89 37.208 3284
+-66.764 37.208 3309
+-66.638 37.208 3310
+-66.512 37.208 3344
+-66.386 37.208 3316
+-66.26 37.208 3329
+-66.134 37.208 3330
+-66.008 37.208 3309
+-65.882 37.208 3310
+-65.756 37.208 3312
+-65.63 37.208 3286
+-65.504 37.208 3267
+-65.378 37.208 3305
+-65.252 37.208 3299
+-65.126 37.208 3301
+-128 37.156 2830
+-127.874 37.156 2827
+-127.748 37.156 2823
+-127.622 37.156 2840
+-127.496 37.156 2838
+-127.37 37.156 2835
+-127.244 37.156 2807
+-127.118 37.156 2818
+-126.992 37.156 2897
+-126.866 37.156 2903
+-126.74 37.156 2902
+-126.614 37.156 2922
+-126.488 37.156 2922
+-126.362 37.156 3005
+-126.236 37.156 3009
+-126.11 37.156 3144
+-125.984 37.156 3146
+-125.858 37.156 3147
+-125.732 37.156 3150
+-125.606 37.156 3153
+-125.48 37.156 3156
+-125.354 37.156 3159
+-125.228 37.156 3203
+-125.102 37.156 3274
+-124.976 37.156 3380
+-124.85 37.156 3412
+-124.724 37.156 3411
+-124.598 37.156 3409
+-124.472 37.156 3419
+-124.346 37.156 3521
+-124.22 37.156 3503
+-124.094 37.156 3481
+-123.968 37.156 3452
+-123.842 37.156 3417
+-123.716 37.156 3387
+-123.59 37.156 3413
+-123.464 37.156 3375
+-123.338 37.156 3381
+-123.212 37.156 3366
+-123.086 37.156 3382
+-122.96 37.156 3464
+-122.834 37.156 3571
+-122.708 37.156 3688
+-122.582 37.156 3790
+-122.456 37.156 3864
+-122.33 37.156 3929
+-122.204 37.156 3927
+-122.078 37.156 3894
+-121.952 37.156 3812
+-121.826 37.156 3770
+-121.7 37.156 3871
+-121.574 37.156 3849
+-121.448 37.156 4005
+-121.322 37.156 4190
+-121.196 37.156 4256
+-121.07 37.156 4347
+-120.944 37.156 4475
+-120.818 37.156 4606
+-120.692 37.156 4617
+-120.566 37.156 4720
+-120.44 37.156 4898
+-120.314 37.156 4906
+-120.188 37.156 5007
+-120.062 37.156 5179
+-119.936 37.156 5286
+-119.81 37.156 5329
+-119.684 37.156 5410
+-119.558 37.156 5513
+-119.432 37.156 5571
+-119.306 37.156 5650
+-119.18 37.156 5689
+-119.054 37.156 5751
+-118.928 37.156 5831
+-118.802 37.156 5905
+-118.676 37.156 5947
+-118.55 37.156 6028
+-118.424 37.156 6032
+-118.298 37.156 6075
+-118.172 37.156 6141
+-118.046 37.156 6190
+-117.92 37.156 6203
+-117.794 37.156 6236
+-117.668 37.156 6263
+-117.542 37.156 6273
+-117.416 37.156 6265
+-117.29 37.156 6288
+-117.164 37.156 6277
+-117.038 37.156 6281
+-116.912 37.156 6245
+-116.786 37.156 6226
+-116.66 37.156 6176
+-116.534 37.156 6158
+-116.408 37.156 6115
+-116.282 37.156 6072
+-116.156 37.156 6040
+-116.03 37.156 5995
+-115.904 37.156 5937
+-115.778 37.156 5872
+-115.652 37.156 5799
+-115.526 37.156 5709
+-115.4 37.156 5606
+-115.274 37.156 5538
+-115.148 37.156 5458
+-115.022 37.156 5380
+-114.896 37.156 5389
+-114.77 37.156 5265
+-114.644 37.156 5171
+-114.518 37.156 5100
+-114.392 37.156 5005
+-114.266 37.156 4925
+-114.14 37.156 4824
+-114.014 37.156 4731
+-113.888 37.156 4650
+-113.762 37.156 4491
+-113.636 37.156 4340
+-113.51 37.156 4364
+-113.384 37.156 4277
+-113.258 37.156 4127
+-113.132 37.156 3959
+-113.006 37.156 3863
+-112.88 37.156 3828
+-112.754 37.156 3781
+-112.628 37.156 3741
+-112.502 37.156 3652
+-112.376 37.156 3594
+-112.25 37.156 3498
+-112.124 37.156 3452
+-111.998 37.156 3428
+-111.872 37.156 3423
+-111.746 37.156 3409
+-111.62 37.156 3415
+-111.494 37.156 3428
+-111.368 37.156 3423
+-111.242 37.156 3416
+-111.116 37.156 3407
+-110.99 37.156 3436
+-110.864 37.156 3470
+-110.738 37.156 3476
+-110.612 37.156 3461
+-110.486 37.156 3452
+-110.36 37.156 3461
+-110.234 37.156 3480
+-110.108 37.156 3495
+-109.982 37.156 3510
+-109.856 37.156 3523
+-109.73 37.156 3528
+-109.604 37.156 3497
+-109.478 37.156 3472
+-109.352 37.156 3456
+-109.226 37.156 3454
+-109.1 37.156 3454
+-108.974 37.156 3477
+-108.848 37.156 3479
+-108.722 37.156 3474
+-108.596 37.156 3444
+-108.47 37.156 3414
+-108.344 37.156 3378
+-108.218 37.156 3313
+-108.092 37.156 3272
+-107.966 37.156 3242
+-107.84 37.156 3182
+-107.714 37.156 3148
+-107.588 37.156 3117
+-107.462 37.156 3084
+-107.336 37.156 3055
+-107.21 37.156 3028
+-107.084 37.156 3011
+-106.958 37.156 2987
+-106.832 37.156 2959
+-106.706 37.156 2904
+-106.58 37.156 2871
+-106.454 37.156 2843
+-106.328 37.156 2801
+-106.202 37.156 2763
+-106.076 37.156 2731
+-105.95 37.156 2711
+-105.824 37.156 2699
+-105.698 37.156 2734
+-105.572 37.156 2751
+-105.446 37.156 2759
+-105.32 37.156 2785
+-105.194 37.156 2813
+-105.068 37.156 2841
+-104.942 37.156 2815
+-104.816 37.156 2837
+-104.69 37.156 2857
+-104.564 37.156 2876
+-104.438 37.156 2893
+-104.312 37.156 2908
+-104.186 37.156 2901
+-104.06 37.156 2936
+-103.934 37.156 2945
+-103.808 37.156 2957
+-103.682 37.156 2967
+-103.556 37.156 2977
+-103.43 37.156 2986
+-103.304 37.156 2995
+-103.178 37.156 3003
+-103.052 37.156 3010
+-102.926 37.156 3017
+-102.8 37.156 3023
+-102.674 37.156 3017
+-102.548 37.156 3113
+-102.422 37.156 3104
+-102.296 37.156 3120
+-102.17 37.156 3036
+-102.044 37.156 2897
+-101.918 37.156 2959
+-101.792 37.156 2862
+-101.666 37.156 2807
+-101.54 37.156 2739
+-101.414 37.156 2752
+-101.288 37.156 2752
+-101.162 37.156 2766
+-101.036 37.156 2805
+-100.91 37.156 2944
+-100.784 37.156 3007
+-100.658 37.156 3088
+-100.532 37.156 3088
+-100.406 37.156 3087
+-100.28 37.156 3143
+-100.154 37.156 3143
+-100.028 37.156 3143
+-99.902 37.156 3143
+-99.776 37.156 3143
+-99.65 37.156 3143
+-99.524 37.156 3143
+-99.398 37.156 3143
+-99.272 37.156 3143
+-99.146 37.156 3144
+-99.02 37.156 3144
+-98.894 37.156 3138
+-98.768 37.156 3255
+-98.642 37.156 3252
+-98.516 37.156 3260
+-98.39 37.156 3309
+-98.264 37.156 3304
+-98.138 37.156 3369
+-98.012 37.156 3379
+-97.886 37.156 3373
+-97.76 37.156 3366
+-97.634 37.156 3360
+-97.508 37.156 3354
+-97.382 37.156 3359
+-97.256 37.156 3377
+-97.13 37.156 3415
+-97.004 37.156 3407
+-96.878 37.156 3401
+-96.752 37.156 3398
+-96.626 37.156 3410
+-96.5 37.156 3403
+-96.374 37.156 3419
+-96.248 37.156 3445
+-96.122 37.156 3504
+-95.996 37.156 3588
+-95.87 37.156 3716
+-95.744 37.156 3766
+-95.618 37.156 3752
+-95.492 37.156 3674
+-95.366 37.156 3854
+-95.24 37.156 4080
+-95.114 37.156 4052
+-94.988 37.156 4228
+-94.862 37.156 4435
+-94.736 37.156 4461
+-94.61 37.156 4617
+-94.484 37.156 4767
+-94.358 37.156 4931
+-94.232 37.156 5007
+-94.106 37.156 5107
+-93.98 37.156 5246
+-93.854 37.156 5407
+-93.728 37.156 5546
+-93.602 37.156 5716
+-93.476 37.156 5731
+-93.35 37.156 5854
+-93.224 37.156 5913
+-93.098 37.156 6047
+-92.972 37.156 6145
+-92.846 37.156 6257
+-92.72 37.156 6442
+-92.594 37.156 6574
+-92.468 37.156 6615
+-92.342 37.156 6744
+-92.216 37.156 6831
+-92.09 37.156 6929
+-91.964 37.156 7047
+-91.838 37.156 7123
+-91.712 37.156 7217
+-91.586 37.156 7305
+-91.46 37.156 7323
+-91.334 37.156 7407
+-91.208 37.156 7504
+-91.082 37.156 7555
+-90.956 37.156 7582
+-90.83 37.156 7655
+-90.704 37.156 7649
+-90.578 37.156 7672
+-90.452 37.156 7675
+-90.326 37.156 7844
+-90.2 37.156 8139
+-90.074 37.156 8239
+-89.948 37.156 8426
+-89.822 37.156 8531
+-89.696 37.156 8657
+-89.57 37.156 8774
+-89.444 37.156 8836
+-89.318 37.156 9001
+-89.192 37.156 9075
+-89.066 37.156 9161
+-88.94 37.156 9204
+-88.814 37.156 9206
+-88.688 37.156 9171
+-88.562 37.156 9154
+-88.436 37.156 9078
+-88.31 37.156 8968
+-88.184 37.156 8876
+-88.058 37.156 8750
+-87.932 37.156 8667
+-87.806 37.156 8516
+-87.68 37.156 8358
+-87.554 37.156 8247
+-87.428 37.156 8124
+-87.302 37.156 7962
+-87.176 37.156 7863
+-87.05 37.156 7691
+-86.924 37.156 7598
+-86.798 37.156 7484
+-86.672 37.156 7306
+-86.546 37.156 7194
+-86.42 37.156 7067
+-86.294 37.156 6909
+-86.168 37.156 6743
+-86.042 37.156 6647
+-85.916 37.156 6560
+-85.79 37.156 6429
+-85.664 37.156 6238
+-85.538 37.156 6089
+-85.412 37.156 5946
+-85.286 37.156 5839
+-85.16 37.156 5700
+-85.034 37.156 5575
+-84.908 37.156 5486
+-84.782 37.156 5340
+-84.656 37.156 5206
+-84.53 37.156 5143
+-84.404 37.156 4940
+-84.278 37.156 4707
+-84.152 37.156 4560
+-84.026 37.156 4429
+-83.9 37.156 4225
+-83.774 37.156 4286
+-83.648 37.156 4219
+-83.522 37.156 4083
+-83.396 37.156 3920
+-83.27 37.156 3751
+-83.144 37.156 3502
+-83.018 37.156 3326
+-82.892 37.156 3437
+-82.766 37.156 3583
+-82.64 37.156 3677
+-82.514 37.156 3737
+-82.388 37.156 3752
+-82.262 37.156 3734
+-82.136 37.156 3708
+-82.01 37.156 3698
+-81.884 37.156 3660
+-81.758 37.156 3663
+-81.632 37.156 3666
+-81.506 37.156 3635
+-81.38 37.156 3637
+-81.254 37.156 3639
+-81.128 37.156 3552
+-81.002 37.156 3478
+-80.876 37.156 3466
+-80.75 37.156 3395
+-80.624 37.156 3393
+-80.498 37.156 3391
+-80.372 37.156 3389
+-80.246 37.156 3388
+-80.12 37.156 3387
+-79.994 37.156 3386
+-79.868 37.156 3326
+-79.742 37.156 3325
+-79.616 37.156 3277
+-79.49 37.156 3275
+-79.364 37.156 3239
+-79.238 37.156 3237
+-79.112 37.156 3235
+-78.986 37.156 3233
+-78.86 37.156 3231
+-78.734 37.156 3230
+-78.608 37.156 3228
+-78.482 37.156 3227
+-78.356 37.156 3226
+-78.23 37.156 3225
+-78.104 37.156 3224
+-77.978 37.156 3224
+-77.852 37.156 3223
+-77.726 37.156 3127
+-77.6 37.156 3125
+-77.474 37.156 3122
+-77.348 37.156 3119
+-77.222 37.156 3117
+-77.096 37.156 3115
+-76.97 37.156 3113
+-76.844 37.156 3110
+-76.718 37.156 3108
+-76.592 37.156 3107
+-76.466 37.156 3005
+-76.34 37.156 2996
+-76.214 37.156 2994
+-76.088 37.156 2992
+-75.962 37.156 2991
+-75.836 37.156 2989
+-75.71 37.156 2988
+-75.584 37.156 2986
+-75.458 37.156 2985
+-75.332 37.156 2859
+-75.206 37.156 2858
+-75.08 37.156 2826
+-74.954 37.156 2776
+-74.828 37.156 2775
+-74.702 37.156 2774
+-74.576 37.156 2789
+-74.45 37.156 2788
+-74.324 37.156 2799
+-74.198 37.156 2799
+-74.072 37.156 2774
+-73.946 37.156 2722
+-73.82 37.156 2722
+-73.694 37.156 2723
+-73.568 37.156 2723
+-73.442 37.156 2741
+-73.316 37.156 2748
+-73.19 37.156 2759
+-73.064 37.156 2759
+-72.938 37.156 2791
+-72.812 37.156 2804
+-72.686 37.156 2806
+-72.56 37.156 2861
+-72.434 37.156 2884
+-72.308 37.156 2865
+-72.182 37.156 2858
+-72.056 37.156 3004
+-71.93 37.156 3007
+-71.804 37.156 3067
+-71.678 37.156 3070
+-71.552 37.156 3073
+-71.426 37.156 3076
+-71.3 37.156 3079
+-71.174 37.156 3000
+-71.048 37.156 3021
+-70.922 37.156 3024
+-70.796 37.156 3015
+-70.67 37.156 3312
+-70.544 37.156 3343
+-70.418 37.156 3344
+-70.292 37.156 3340
+-70.166 37.156 3342
+-70.04 37.156 3347
+-69.914 37.156 3363
+-69.788 37.156 3365
+-69.662 37.156 3353
+-69.536 37.156 3355
+-69.41 37.156 3308
+-69.284 37.156 3309
+-69.158 37.156 3311
+-69.032 37.156 3376
+-68.906 37.156 3371
+-68.78 37.156 3382
+-68.654 37.156 3383
+-68.528 37.156 3363
+-68.402 37.156 3385
+-68.276 37.156 3432
+-68.15 37.156 3444
+-68.024 37.156 3443
+-67.898 37.156 3442
+-67.772 37.156 3496
+-67.646 37.156 3498
+-67.52 37.156 3436
+-67.394 37.156 3461
+-67.268 37.156 3454
+-67.142 37.156 3370
+-67.016 37.156 3283
+-66.89 37.156 3307
+-66.764 37.156 3309
+-66.638 37.156 3343
+-66.512 37.156 3315
+-66.386 37.156 3328
+-66.26 37.156 3329
+-66.134 37.156 3308
+-66.008 37.156 3309
+-65.882 37.156 3310
+-65.756 37.156 3285
+-65.63 37.156 3267
+-65.504 37.156 3304
+-65.378 37.156 3298
+-65.252 37.156 3300
+-65.126 37.156 3301
+-128 37.104 2824
+-127.874 37.104 2829
+-127.748 37.104 2826
+-127.622 37.104 2823
+-127.496 37.104 2839
+-127.37 37.104 2837
+-127.244 37.104 2834
+-127.118 37.104 2807
+-126.992 37.104 2817
+-126.866 37.104 2897
+-126.74 37.104 2903
+-126.614 37.104 2901
+-126.488 37.104 2921
+-126.362 37.104 2921
+-126.236 37.104 3004
+-126.11 37.104 3008
+-125.984 37.104 3140
+-125.858 37.104 3141
+-125.732 37.104 3143
+-125.606 37.104 3146
+-125.48 37.104 3149
+-125.354 37.104 3233
+-125.228 37.104 3319
+-125.102 37.104 3320
+-124.976 37.104 3334
+-124.85 37.104 3365
+-124.724 37.104 3396
+-124.598 37.104 3393
+-124.472 37.104 3388
+-124.346 37.104 3394
+-124.22 37.104 3486
+-124.094 37.104 3459
+-123.968 37.104 3424
+-123.842 37.104 3379
+-123.716 37.104 3333
+-123.59 37.104 3295
+-123.464 37.104 3232
+-123.338 37.104 3201
+-123.212 37.104 3153
+-123.086 37.104 3160
+-122.96 37.104 3246
+-122.834 37.104 3435
+-122.708 37.104 3612
+-122.582 37.104 3762
+-122.456 37.104 3867
+-122.33 37.104 3929
+-122.204 37.104 3951
+-122.078 37.104 3942
+-121.952 37.104 3935
+-121.826 37.104 3931
+-121.7 37.104 3965
+-121.574 37.104 3963
+-121.448 37.104 4088
+-121.322 37.104 4218
+-121.196 37.104 4223
+-121.07 37.104 4326
+-120.944 37.104 4507
+-120.818 37.104 4632
+-120.692 37.104 4691
+-120.566 37.104 4790
+-120.44 37.104 4951
+-120.314 37.104 5003
+-120.188 37.104 5110
+-120.062 37.104 5241
+-119.936 37.104 5323
+-119.81 37.104 5368
+-119.684 37.104 5456
+-119.558 37.104 5548
+-119.432 37.104 5545
+-119.306 37.104 5636
+-119.18 37.104 5734
+-119.054 37.104 5796
+-118.928 37.104 5891
+-118.802 37.104 5915
+-118.676 37.104 5979
+-118.55 37.104 6040
+-118.424 37.104 6082
+-118.298 37.104 6140
+-118.172 37.104 6201
+-118.046 37.104 6212
+-117.92 37.104 6274
+-117.794 37.104 6307
+-117.668 37.104 6281
+-117.542 37.104 6316
+-117.416 37.104 6331
+-117.29 37.104 6322
+-117.164 37.104 6333
+-117.038 37.104 6320
+-116.912 37.104 6309
+-116.786 37.104 6279
+-116.66 37.104 6281
+-116.534 37.104 6205
+-116.408 37.104 6151
+-116.282 37.104 6116
+-116.156 37.104 6088
+-116.03 37.104 6024
+-115.904 37.104 5983
+-115.778 37.104 5905
+-115.652 37.104 5848
+-115.526 37.104 5751
+-115.4 37.104 5650
+-115.274 37.104 5564
+-115.148 37.104 5523
+-115.022 37.104 5484
+-114.896 37.104 5443
+-114.77 37.104 5327
+-114.644 37.104 5248
+-114.518 37.104 5164
+-114.392 37.104 5028
+-114.266 37.104 4886
+-114.14 37.104 4842
+-114.014 37.104 4714
+-113.888 37.104 4695
+-113.762 37.104 4552
+-113.636 37.104 4414
+-113.51 37.104 4387
+-113.384 37.104 4310
+-113.258 37.104 4151
+-113.132 37.104 3949
+-113.006 37.104 3843
+-112.88 37.104 3861
+-112.754 37.104 3833
+-112.628 37.104 3792
+-112.502 37.104 3716
+-112.376 37.104 3656
+-112.25 37.104 3563
+-112.124 37.104 3538
+-111.998 37.104 3517
+-111.872 37.104 3505
+-111.746 37.104 3493
+-111.62 37.104 3481
+-111.494 37.104 3495
+-111.368 37.104 3502
+-111.242 37.104 3508
+-111.116 37.104 3515
+-110.99 37.104 3535
+-110.864 37.104 3547
+-110.738 37.104 3554
+-110.612 37.104 3548
+-110.486 37.104 3530
+-110.36 37.104 3532
+-110.234 37.104 3534
+-110.108 37.104 3565
+-109.982 37.104 3572
+-109.856 37.104 3601
+-109.73 37.104 3585
+-109.604 37.104 3571
+-109.478 37.104 3577
+-109.352 37.104 3564
+-109.226 37.104 3536
+-109.1 37.104 3562
+-108.974 37.104 3555
+-108.848 37.104 3549
+-108.722 37.104 3528
+-108.596 37.104 3511
+-108.47 37.104 3455
+-108.344 37.104 3400
+-108.218 37.104 3340
+-108.092 37.104 3308
+-107.966 37.104 3252
+-107.84 37.104 3223
+-107.714 37.104 3140
+-107.588 37.104 3099
+-107.462 37.104 3061
+-107.336 37.104 3031
+-107.21 37.104 3013
+-107.084 37.104 2995
+-106.958 37.104 2974
+-106.832 37.104 2926
+-106.706 37.104 2894
+-106.58 37.104 2861
+-106.454 37.104 2808
+-106.328 37.104 2755
+-106.202 37.104 2703
+-106.076 37.104 2661
+-105.95 37.104 2633
+-105.824 37.104 2652
+-105.698 37.104 2666
+-105.572 37.104 2680
+-105.446 37.104 2713
+-105.32 37.104 2750
+-105.194 37.104 2786
+-105.068 37.104 2773
+-104.942 37.104 2802
+-104.816 37.104 2827
+-104.69 37.104 2851
+-104.564 37.104 2872
+-104.438 37.104 2889
+-104.312 37.104 2886
+-104.186 37.104 2922
+-104.06 37.104 2933
+-103.934 37.104 2946
+-103.808 37.104 2958
+-103.682 37.104 2969
+-103.556 37.104 2979
+-103.43 37.104 2989
+-103.304 37.104 2997
+-103.178 37.104 3005
+-103.052 37.104 3012
+-102.926 37.104 3019
+-102.8 37.104 3013
+-102.674 37.104 3107
+-102.548 37.104 3098
+-102.422 37.104 3114
+-102.296 37.104 3122
+-102.17 37.104 3036
+-102.044 37.104 2900
+-101.918 37.104 2962
+-101.792 37.104 2865
+-101.666 37.104 2808
+-101.54 37.104 2738
+-101.414 37.104 2751
+-101.288 37.104 2750
+-101.162 37.104 2762
+-101.036 37.104 2800
+-100.91 37.104 2930
+-100.784 37.104 3000
+-100.658 37.104 3081
+-100.532 37.104 3080
+-100.406 37.104 3136
+-100.28 37.104 3135
+-100.154 37.104 3135
+-100.028 37.104 3135
+-99.902 37.104 3134
+-99.776 37.104 3134
+-99.65 37.104 3134
+-99.524 37.104 3134
+-99.398 37.104 3133
+-99.272 37.104 3133
+-99.146 37.104 3133
+-99.02 37.104 3159
+-98.894 37.104 3158
+-98.768 37.104 3173
+-98.642 37.104 3239
+-98.516 37.104 3235
+-98.39 37.104 3257
+-98.264 37.104 3349
+-98.138 37.104 3376
+-98.012 37.104 3369
+-97.886 37.104 3362
+-97.76 37.104 3355
+-97.634 37.104 3349
+-97.508 37.104 3354
+-97.382 37.104 3375
+-97.256 37.104 3369
+-97.13 37.104 3365
+-97.004 37.104 3395
+-96.878 37.104 3421
+-96.752 37.104 3449
+-96.626 37.104 3454
+-96.5 37.104 3479
+-96.374 37.104 3498
+-96.248 37.104 3532
+-96.122 37.104 3587
+-95.996 37.104 3667
+-95.87 37.104 3744
+-95.744 37.104 3815
+-95.618 37.104 3803
+-95.492 37.104 3791
+-95.366 37.104 3923
+-95.24 37.104 4072
+-95.114 37.104 4154
+-94.988 37.104 4281
+-94.862 37.104 4408
+-94.736 37.104 4507
+-94.61 37.104 4611
+-94.484 37.104 4745
+-94.358 37.104 4903
+-94.232 37.104 4991
+-94.106 37.104 5075
+-93.98 37.104 5219
+-93.854 37.104 5353
+-93.728 37.104 5501
+-93.602 37.104 5642
+-93.476 37.104 5744
+-93.35 37.104 5785
+-93.224 37.104 5929
+-93.098 37.104 6055
+-92.972 37.104 6120
+-92.846 37.104 6255
+-92.72 37.104 6398
+-92.594 37.104 6515
+-92.468 37.104 6587
+-92.342 37.104 6709
+-92.216 37.104 6792
+-92.09 37.104 6896
+-91.964 37.104 7017
+-91.838 37.104 7075
+-91.712 37.104 7164
+-91.586 37.104 7217
+-91.46 37.104 7293
+-91.334 37.104 7386
+-91.208 37.104 7464
+-91.082 37.104 7496
+-90.956 37.104 7533
+-90.83 37.104 7581
+-90.704 37.104 7609
+-90.578 37.104 7630
+-90.452 37.104 7639
+-90.326 37.104 8011
+-90.2 37.104 8102
+-90.074 37.104 8241
+-89.948 37.104 8402
+-89.822 37.104 8484
+-89.696 37.104 8596
+-89.57 37.104 8798
+-89.444 37.104 8851
+-89.318 37.104 8937
+-89.192 37.104 9049
+-89.066 37.104 9115
+-88.94 37.104 9148
+-88.814 37.104 9132
+-88.688 37.104 9104
+-88.562 37.104 9093
+-88.436 37.104 9005
+-88.31 37.104 8960
+-88.184 37.104 8826
+-88.058 37.104 8747
+-87.932 37.104 8629
+-87.806 37.104 8485
+-87.68 37.104 8359
+-87.554 37.104 8225
+-87.428 37.104 8113
+-87.302 37.104 7991
+-87.176 37.104 7834
+-87.05 37.104 7728
+-86.924 37.104 7591
+-86.798 37.104 7410
+-86.672 37.104 7296
+-86.546 37.104 7111
+-86.42 37.104 6981
+-86.294 37.104 6963
+-86.168 37.104 6781
+-86.042 37.104 6611
+-85.916 37.104 6540
+-85.79 37.104 6378
+-85.664 37.104 6215
+-85.538 37.104 6048
+-85.412 37.104 5951
+-85.286 37.104 5760
+-85.16 37.104 5701
+-85.034 37.104 5571
+-84.908 37.104 5366
+-84.782 37.104 5379
+-84.656 37.104 5259
+-84.53 37.104 5144
+-84.404 37.104 4932
+-84.278 37.104 4652
+-84.152 37.104 4484
+-84.026 37.104 4475
+-83.9 37.104 4362
+-83.774 37.104 4320
+-83.648 37.104 4247
+-83.522 37.104 4128
+-83.396 37.104 3981
+-83.27 37.104 3814
+-83.144 37.104 3605
+-83.018 37.104 3463
+-82.892 37.104 3505
+-82.766 37.104 3607
+-82.64 37.104 3686
+-82.514 37.104 3739
+-82.388 37.104 3774
+-82.262 37.104 3772
+-82.136 37.104 3736
+-82.01 37.104 3729
+-81.884 37.104 3682
+-81.758 37.104 3688
+-81.632 37.104 3632
+-81.506 37.104 3635
+-81.38 37.104 3637
+-81.254 37.104 3550
+-81.128 37.104 3474
+-81.002 37.104 3442
+-80.876 37.104 3440
+-80.75 37.104 3438
+-80.624 37.104 3388
+-80.498 37.104 3386
+-80.372 37.104 3385
+-80.246 37.104 3383
+-80.12 37.104 3382
+-79.994 37.104 3322
+-79.868 37.104 3321
+-79.742 37.104 3272
+-79.616 37.104 3270
+-79.49 37.104 3233
+-79.364 37.104 3231
+-79.238 37.104 3229
+-79.112 37.104 3227
+-78.986 37.104 3225
+-78.86 37.104 3224
+-78.734 37.104 3223
+-78.608 37.104 3222
+-78.482 37.104 3221
+-78.356 37.104 3220
+-78.23 37.104 3219
+-78.104 37.104 3218
+-77.978 37.104 3218
+-77.852 37.104 3122
+-77.726 37.104 3119
+-77.6 37.104 3116
+-77.474 37.104 3114
+-77.348 37.104 3111
+-77.222 37.104 3109
+-77.096 37.104 3107
+-76.97 37.104 3105
+-76.844 37.104 3103
+-76.718 37.104 3101
+-76.592 37.104 3099
+-76.466 37.104 2991
+-76.34 37.104 2989
+-76.214 37.104 2987
+-76.088 37.104 2986
+-75.962 37.104 2984
+-75.836 37.104 2983
+-75.71 37.104 2982
+-75.584 37.104 2981
+-75.458 37.104 2854
+-75.332 37.104 2853
+-75.206 37.104 2821
+-75.08 37.104 2772
+-74.954 37.104 2771
+-74.828 37.104 2770
+-74.702 37.104 2784
+-74.576 37.104 2784
+-74.45 37.104 2795
+-74.324 37.104 2795
+-74.198 37.104 2770
+-74.072 37.104 2718
+-73.946 37.104 2719
+-73.82 37.104 2719
+-73.694 37.104 2719
+-73.568 37.104 2737
+-73.442 37.104 2745
+-73.316 37.104 2756
+-73.19 37.104 2756
+-73.064 37.104 2788
+-72.938 37.104 2801
+-72.812 37.104 2803
+-72.686 37.104 2858
+-72.56 37.104 2881
+-72.434 37.104 2863
+-72.308 37.104 2855
+-72.182 37.104 3001
+-72.056 37.104 3004
+-71.93 37.104 3064
+-71.804 37.104 3067
+-71.678 37.104 3070
+-71.552 37.104 3074
+-71.426 37.104 3076
+-71.3 37.104 2997
+-71.174 37.104 3019
+-71.048 37.104 3021
+-70.922 37.104 3013
+-70.796 37.104 3310
+-70.67 37.104 3340
+-70.544 37.104 3342
+-70.418 37.104 3338
+-70.292 37.104 3340
+-70.166 37.104 3345
+-70.04 37.104 3361
+-69.914 37.104 3363
+-69.788 37.104 3351
+-69.662 37.104 3353
+-69.536 37.104 3306
+-69.41 37.104 3307
+-69.284 37.104 3309
+-69.158 37.104 3374
+-69.032 37.104 3370
+-68.906 37.104 3380
+-68.78 37.104 3381
+-68.654 37.104 3361
+-68.528 37.104 3383
+-68.402 37.104 3430
+-68.276 37.104 3442
+-68.15 37.104 3442
+-68.024 37.104 3441
+-67.898 37.104 3494
+-67.772 37.104 3496
+-67.646 37.104 3435
+-67.52 37.104 3459
+-67.394 37.104 3452
+-67.268 37.104 3373
+-67.142 37.104 3282
+-67.016 37.104 3306
+-66.89 37.104 3307
+-66.764 37.104 3342
+-66.638 37.104 3314
+-66.512 37.104 3327
+-66.386 37.104 3328
+-66.26 37.104 3307
+-66.134 37.104 3308
+-66.008 37.104 3309
+-65.882 37.104 3284
+-65.756 37.104 3266
+-65.63 37.104 3303
+-65.504 37.104 3297
+-65.378 37.104 3299
+-65.252 37.104 3300
+-65.126 37.104 3218
+-128 37.052 2826
+-127.874 37.052 2823
+-127.748 37.052 2828
+-127.622 37.052 2825
+-127.496 37.052 2821
+-127.37 37.052 2838
+-127.244 37.052 2836
+-127.118 37.052 2833
+-126.992 37.052 2806
+-126.866 37.052 2816
+-126.74 37.052 2895
+-126.614 37.052 2901
+-126.488 37.052 2900
+-126.362 37.052 2919
+-126.236 37.052 2919
+-126.11 37.052 3002
+-125.984 37.052 3211
+-125.858 37.052 3211
+-125.732 37.052 3212
+-125.606 37.052 3213
+-125.48 37.052 3221
+-125.354 37.052 3303
+-125.228 37.052 3304
+-125.102 37.052 3305
+-124.976 37.052 3306
+-124.85 37.052 3320
+-124.724 37.052 3349
+-124.598 37.052 3378
+-124.472 37.052 3373
+-124.346 37.052 3364
+-124.22 37.052 3363
+-124.094 37.052 3441
+-123.968 37.052 3401
+-123.842 37.052 3358
+-123.716 37.052 3320
+-123.59 37.052 3223
+-123.464 37.052 3105
+-123.338 37.052 3029
+-123.212 37.052 2911
+-123.086 37.052 2885
+-122.96 37.052 2994
+-122.834 37.052 3213
+-122.708 37.052 3504
+-122.582 37.052 3700
+-122.456 37.052 3844
+-122.33 37.052 3932
+-122.204 37.052 3992
+-122.078 37.052 3999
+-121.952 37.052 4017
+-121.826 37.052 4031
+-121.7 37.052 4099
+-121.574 37.052 4138
+-121.448 37.052 4210
+-121.322 37.052 4282
+-121.196 37.052 4304
+-121.07 37.052 4406
+-120.944 37.052 4564
+-120.818 37.052 4688
+-120.692 37.052 4796
+-120.566 37.052 4879
+-120.44 37.052 5019
+-120.314 37.052 5105
+-120.188 37.052 5163
+-120.062 37.052 5286
+-119.936 37.052 5305
+-119.81 37.052 5373
+-119.684 37.052 5465
+-119.558 37.052 5568
+-119.432 37.052 5641
+-119.306 37.052 5716
+-119.18 37.052 5783
+-119.054 37.052 5844
+-118.928 37.052 5915
+-118.802 37.052 5976
+-118.676 37.052 6040
+-118.55 37.052 6103
+-118.424 37.052 6120
+-118.298 37.052 6192
+-118.172 37.052 6272
+-118.046 37.052 6299
+-117.92 37.052 6299
+-117.794 37.052 6375
+-117.668 37.052 6383
+-117.542 37.052 6355
+-117.416 37.052 6374
+-117.29 37.052 6379
+-117.164 37.052 6360
+-117.038 37.052 6382
+-116.912 37.052 6352
+-116.786 37.052 6346
+-116.66 37.052 6303
+-116.534 37.052 6259
+-116.408 37.052 6199
+-116.282 37.052 6157
+-116.156 37.052 6141
+-116.03 37.052 6081
+-115.904 37.052 6031
+-115.778 37.052 5986
+-115.652 37.052 5881
+-115.526 37.052 5813
+-115.4 37.052 5710
+-115.274 37.052 5609
+-115.148 37.052 5574
+-115.022 37.052 5487
+-114.896 37.052 5473
+-114.77 37.052 5370
+-114.644 37.052 5260
+-114.518 37.052 5226
+-114.392 37.052 5102
+-114.266 37.052 4979
+-114.14 37.052 4905
+-114.014 37.052 4806
+-113.888 37.052 4738
+-113.762 37.052 4573
+-113.636 37.052 4459
+-113.51 37.052 4416
+-113.384 37.052 4330
+-113.258 37.052 4193
+-113.132 37.052 4016
+-113.006 37.052 3900
+-112.88 37.052 3892
+-112.754 37.052 3866
+-112.628 37.052 3828
+-112.502 37.052 3765
+-112.376 37.052 3685
+-112.25 37.052 3608
+-112.124 37.052 3576
+-111.998 37.052 3543
+-111.872 37.052 3535
+-111.746 37.052 3556
+-111.62 37.052 3547
+-111.494 37.052 3546
+-111.368 37.052 3558
+-111.242 37.052 3568
+-111.116 37.052 3581
+-110.99 37.052 3599
+-110.864 37.052 3608
+-110.738 37.052 3618
+-110.612 37.052 3620
+-110.486 37.052 3621
+-110.36 37.052 3606
+-110.234 37.052 3624
+-110.108 37.052 3634
+-109.982 37.052 3640
+-109.856 37.052 3643
+-109.73 37.052 3644
+-109.604 37.052 3659
+-109.478 37.052 3639
+-109.352 37.052 3629
+-109.226 37.052 3608
+-109.1 37.052 3608
+-108.974 37.052 3595
+-108.848 37.052 3606
+-108.722 37.052 3567
+-108.596 37.052 3540
+-108.47 37.052 3471
+-108.344 37.052 3408
+-108.218 37.052 3354
+-108.092 37.052 3291
+-107.966 37.052 3240
+-107.84 37.052 3209
+-107.714 37.052 3164
+-107.588 37.052 3108
+-107.462 37.052 3055
+-107.336 37.052 3023
+-107.21 37.052 3009
+-107.084 37.052 3004
+-106.958 37.052 2967
+-106.832 37.052 2919
+-106.706 37.052 2889
+-106.58 37.052 2834
+-106.454 37.052 2769
+-106.328 37.052 2698
+-106.202 37.052 2629
+-106.076 37.052 2590
+-105.95 37.052 2558
+-105.824 37.052 2558
+-105.698 37.052 2574
+-105.572 37.052 2616
+-105.446 37.052 2664
+-105.32 37.052 2713
+-105.194 37.052 2719
+-105.068 37.052 2756
+-104.942 37.052 2790
+-104.816 37.052 2819
+-104.69 37.052 2845
+-104.564 37.052 2867
+-104.438 37.052 2868
+-104.312 37.052 2905
+-104.186 37.052 2919
+-104.06 37.052 2934
+-103.934 37.052 2948
+-103.808 37.052 2960
+-103.682 37.052 2972
+-103.556 37.052 2982
+-103.43 37.052 2991
+-103.304 37.052 3000
+-103.178 37.052 3008
+-103.052 37.052 3015
+-102.926 37.052 3010
+-102.8 37.052 3101
+-102.674 37.052 3093
+-102.548 37.052 3108
+-102.422 37.052 3116
+-102.296 37.052 3124
+-102.17 37.052 3038
+-102.044 37.052 2903
+-101.918 37.052 2965
+-101.792 37.052 2868
+-101.666 37.052 2809
+-101.54 37.052 2753
+-101.414 37.052 2750
+-101.288 37.052 2748
+-101.162 37.052 2758
+-101.036 37.052 2795
+-100.91 37.052 2924
+-100.784 37.052 2992
+-100.658 37.052 3073
+-100.532 37.052 3129
+-100.406 37.052 3128
+-100.28 37.052 3128
+-100.154 37.052 3127
+-100.028 37.052 3127
+-99.902 37.052 3126
+-99.776 37.052 3125
+-99.65 37.052 3124
+-99.524 37.052 3124
+-99.398 37.052 3123
+-99.272 37.052 3122
+-99.146 37.052 3148
+-99.02 37.052 3146
+-98.894 37.052 3157
+-98.768 37.052 3170
+-98.642 37.052 3155
+-98.516 37.052 3163
+-98.39 37.052 3268
+-98.264 37.052 3332
+-98.138 37.052 3326
+-98.012 37.052 3357
+-97.886 37.052 3349
+-97.76 37.052 3350
+-97.634 37.052 3346
+-97.508 37.052 3365
+-97.382 37.052 3359
+-97.256 37.052 3354
+-97.13 37.052 3387
+-97.004 37.052 3401
+-96.878 37.052 3407
+-96.752 37.052 3465
+-96.626 37.052 3498
+-96.5 37.052 3519
+-96.374 37.052 3548
+-96.248 37.052 3593
+-96.122 37.052 3659
+-95.996 37.052 3727
+-95.87 37.052 3769
+-95.744 37.052 3800
+-95.618 37.052 3858
+-95.492 37.052 3906
+-95.366 37.052 3983
+-95.24 37.052 4128
+-95.114 37.052 4198
+-94.988 37.052 4286
+-94.862 37.052 4397
+-94.736 37.052 4483
+-94.61 37.052 4574
+-94.484 37.052 4700
+-94.358 37.052 4874
+-94.232 37.052 4990
+-94.106 37.052 5018
+-93.98 37.052 5196
+-93.854 37.052 5319
+-93.728 37.052 5460
+-93.602 37.052 5596
+-93.476 37.052 5628
+-93.35 37.052 5802
+-93.224 37.052 5891
+-93.098 37.052 6025
+-92.972 37.052 6086
+-92.846 37.052 6189
+-92.72 37.052 6352
+-92.594 37.052 6519
+-92.468 37.052 6552
+-92.342 37.052 6636
+-92.216 37.052 6781
+-92.09 37.052 6891
+-91.964 37.052 6934
+-91.838 37.052 7066
+-91.712 37.052 7130
+-91.586 37.052 7219
+-91.46 37.052 7249
+-91.334 37.052 7321
+-91.208 37.052 7397
+-91.082 37.052 7429
+-90.956 37.052 7486
+-90.83 37.052 7518
+-90.704 37.052 7563
+-90.578 37.052 7533
+-90.452 37.052 7812
+-90.326 37.052 7955
+-90.2 37.052 8128
+-90.074 37.052 8195
+-89.948 37.052 8409
+-89.822 37.052 8435
+-89.696 37.052 8589
+-89.57 37.052 8702
+-89.444 37.052 8774
+-89.318 37.052 8916
+-89.192 37.052 9031
+-89.066 37.052 9097
+-88.94 37.052 9075
+-88.814 37.052 9094
+-88.688 37.052 9096
+-88.562 37.052 9035
+-88.436 37.052 8962
+-88.31 37.052 8913
+-88.184 37.052 8742
+-88.058 37.052 8709
+-87.932 37.052 8574
+-87.806 37.052 8422
+-87.68 37.052 8359
+-87.554 37.052 8203
+-87.428 37.052 8058
+-87.302 37.052 8005
+-87.176 37.052 7800
+-87.05 37.052 7717
+-86.924 37.052 7543
+-86.798 37.052 7456
+-86.672 37.052 7273
+-86.546 37.052 7197
+-86.42 37.052 7050
+-86.294 37.052 6930
+-86.168 37.052 6773
+-86.042 37.052 6626
+-85.916 37.052 6483
+-85.79 37.052 6312
+-85.664 37.052 6234
+-85.538 37.052 6116
+-85.412 37.052 5981
+-85.286 37.052 5834
+-85.16 37.052 5637
+-85.034 37.052 5609
+-84.908 37.052 5492
+-84.782 37.052 5387
+-84.656 37.052 5276
+-84.53 37.052 5131
+-84.404 37.052 4970
+-84.278 37.052 4726
+-84.152 37.052 4583
+-84.026 37.052 4526
+-83.9 37.052 4462
+-83.774 37.052 4394
+-83.648 37.052 4272
+-83.522 37.052 4176
+-83.396 37.052 4048
+-83.27 37.052 3911
+-83.144 37.052 3773
+-83.018 37.052 3688
+-82.892 37.052 3669
+-82.766 37.052 3671
+-82.64 37.052 3713
+-82.514 37.052 3747
+-82.388 37.052 3773
+-82.262 37.052 3746
+-82.136 37.052 3767
+-82.01 37.052 3724
+-81.884 37.052 3680
+-81.758 37.052 3652
+-81.632 37.052 3657
+-81.506 37.052 3632
+-81.38 37.052 3545
+-81.254 37.052 3453
+-81.128 37.052 3420
+-81.002 37.052 3418
+-80.876 37.052 3415
+-80.75 37.052 3413
+-80.624 37.052 3411
+-80.498 37.052 3381
+-80.372 37.052 3379
+-80.246 37.052 3355
+-80.12 37.052 3317
+-79.994 37.052 3316
+-79.868 37.052 3241
+-79.742 37.052 3238
+-79.616 37.052 3236
+-79.49 37.052 3234
+-79.364 37.052 3232
+-79.238 37.052 3230
+-79.112 37.052 3228
+-78.986 37.052 3218
+-78.86 37.052 3216
+-78.734 37.052 3215
+-78.608 37.052 3214
+-78.482 37.052 3214
+-78.356 37.052 3213
+-78.23 37.052 3212
+-78.104 37.052 3212
+-77.978 37.052 3100
+-77.852 37.052 3098
+-77.726 37.052 3095
+-77.6 37.052 3092
+-77.474 37.052 3090
+-77.348 37.052 3088
+-77.222 37.052 3086
+-77.096 37.052 3083
+-76.97 37.052 3082
+-76.844 37.052 3080
+-76.718 37.052 3078
+-76.592 37.052 2986
+-76.466 37.052 2984
+-76.34 37.052 2982
+-76.214 37.052 2981
+-76.088 37.052 2979
+-75.962 37.052 2978
+-75.836 37.052 2977
+-75.71 37.052 2976
+-75.584 37.052 2848
+-75.458 37.052 2847
+-75.332 37.052 2816
+-75.206 37.052 2766
+-75.08 37.052 2766
+-74.954 37.052 2765
+-74.828 37.052 2779
+-74.702 37.052 2779
+-74.576 37.052 2790
+-74.45 37.052 2790
+-74.324 37.052 2766
+-74.198 37.052 2714
+-74.072 37.052 2715
+-73.946 37.052 2715
+-73.82 37.052 2716
+-73.694 37.052 2734
+-73.568 37.052 2741
+-73.442 37.052 2752
+-73.316 37.052 2752
+-73.19 37.052 2785
+-73.064 37.052 2798
+-72.938 37.052 2801
+-72.812 37.052 2855
+-72.686 37.052 2878
+-72.56 37.052 2860
+-72.434 37.052 2853
+-72.308 37.052 2998
+-72.182 37.052 3001
+-72.056 37.052 3061
+-71.93 37.052 3064
+-71.804 37.052 3067
+-71.678 37.052 3071
+-71.552 37.052 3074
+-71.426 37.052 2995
+-71.3 37.052 3017
+-71.174 37.052 3019
+-71.048 37.052 3011
+-70.922 37.052 3307
+-70.796 37.052 3338
+-70.67 37.052 3339
+-70.544 37.052 3336
+-70.418 37.052 3337
+-70.292 37.052 3342
+-70.166 37.052 3359
+-70.04 37.052 3361
+-69.914 37.052 3349
+-69.788 37.052 3351
+-69.662 37.052 3304
+-69.536 37.052 3306
+-69.41 37.052 3307
+-69.284 37.052 3372
+-69.158 37.052 3368
+-69.032 37.052 3378
+-68.906 37.052 3380
+-68.78 37.052 3359
+-68.654 37.052 3382
+-68.528 37.052 3429
+-68.402 37.052 3441
+-68.276 37.052 3440
+-68.15 37.052 3439
+-68.024 37.052 3493
+-67.898 37.052 3494
+-67.772 37.052 3433
+-67.646 37.052 3457
+-67.52 37.052 3451
+-67.394 37.052 3368
+-67.268 37.052 3281
+-67.142 37.052 3305
+-67.016 37.052 3306
+-66.89 37.052 3340
+-66.764 37.052 3313
+-66.638 37.052 3325
+-66.512 37.052 3327
+-66.386 37.052 3306
+-66.26 37.052 3307
+-66.134 37.052 3308
+-66.008 37.052 3284
+-65.882 37.052 3265
+-65.756 37.052 3302
+-65.63 37.052 3296
+-65.504 37.052 3298
+-65.378 37.052 3299
+-65.252 37.052 3217
+-65.126 37.052 3259
+-128 37 2828
+-127.874 37 2825
+-127.748 37 2821
+-127.622 37 2826
+-127.496 37 2822
+-127.37 37 2819
+-127.244 37 2836
+-127.118 37 2833
+-126.992 37 2831
+-126.866 37 2804
+-126.74 37 2814
+-126.614 37 2892
+-126.488 37 2898
+-126.362 37 2896
+-126.236 37 2914
+-126.11 37 2995
+-125.984 37 3081
+-125.858 37 3200
+-125.732 37 3200
+-125.606 37 3207
+-125.48 37 3277
+-125.354 37 3277
+-125.228 37 3287
+-125.102 37 3289
+-124.976 37 3290
+-124.85 37 3291
+-124.724 37 3304
+-124.598 37 3385
+-124.472 37 3358
+-124.346 37 3350
+-124.22 37 3335
+-124.094 37 3374
+-123.968 37 3344
+-123.842 37 3373
+-123.716 37 3287
+-123.59 37 3172
+-123.464 37 3025
+-123.338 37 2851
+-123.212 37 2711
+-123.086 37 2632
+-122.96 37 2751
+-122.834 37 3064
+-122.708 37 3402
+-122.582 37 3665
+-122.456 37 3843
+-122.33 37 3954
+-122.204 37 4021
+-122.078 37 4061
+-121.952 37 4110
+-121.826 37 4189
+-121.7 37 4208
+-121.574 37 4263
+-121.448 37 4312
+-121.322 37 4358
+-121.196 37 4414
+-121.07 37 4519
+-120.944 37 4657
+-120.818 37 4749
+-120.692 37 4817
+-120.566 37 4918
+-120.44 37 5066
+-120.314 37 5134
+-120.188 37 5105
+-120.062 37 5280
+-119.936 37 5377
+-119.81 37 5412
+-119.684 37 5503
+-119.558 37 5610
+-119.432 37 5696
+-119.306 37 5795
+-119.18 37 5846
+-119.054 37 5879
+-118.928 37 5966
+-118.802 37 6022
+-118.676 37 6060
+-118.55 37 6140
+-118.424 37 6186
+-118.298 37 6260
+-118.172 37 6301
+-118.046 37 6310
+-117.92 37 6373
+-117.794 37 6364
+-117.668 37 6387
+-117.542 37 6406
+-117.416 37 6446
+-117.29 37 6412
+-117.164 37 6420
+-117.038 37 6411
+-116.912 37 6407
+-116.786 37 6382
+-116.66 37 6361
+-116.534 37 6320
+-116.408 37 6255
+-116.282 37 6230
+-116.156 37 6183
+-116.03 37 6156
+-115.904 37 6096
+-115.778 37 6049
+-115.652 37 5945
+-115.526 37 5822
+-115.4 37 5756
+-115.274 37 5677
+-115.148 37 5597
+-115.022 37 5542
+-114.896 37 5440
+-114.77 37 5436
+-114.644 37 5318
+-114.518 37 5242
+-114.392 37 5144
+-114.266 37 4976
+-114.14 37 4969
+-114.014 37 4871
+-113.888 37 4744
+-113.762 37 4550
+-113.636 37 4423
+-113.51 37 4432
+-113.384 37 4347
+-113.258 37 4225
+-113.132 37 4090
+-113.006 37 3957
+-112.88 37 3913
+-112.754 37 3894
+-112.628 37 3862
+-112.502 37 3804
+-112.376 37 3719
+-112.25 37 3641
+-112.124 37 3594
+-111.998 37 3539
+-111.872 37 3515
+-111.746 37 3549
+-111.62 37 3571
+-111.494 37 3589
+-111.368 37 3598
+-111.242 37 3595
+-111.116 37 3573
+-110.99 37 3612
+-110.864 37 3640
+-110.738 37 3672
+-110.612 37 3679
+-110.486 37 3689
+-110.36 37 3697
+-110.234 37 3701
+-110.108 37 3711
+-109.982 37 3714
+-109.856 37 3702
+-109.73 37 3700
+-109.604 37 3692
+-109.478 37 3688
+-109.352 37 3677
+-109.226 37 3679
+-109.1 37 3673
+-108.974 37 3654
+-108.848 37 3618
+-108.722 37 3591
+-108.596 37 3535
+-108.47 37 3459
+-108.344 37 3386
+-108.218 37 3309
+-108.092 37 3268
+-107.966 37 3241
+-107.84 37 3221
+-107.714 37 3167
+-107.588 37 3086
+-107.462 37 3007
+-107.336 37 2966
+-107.21 37 2967
+-107.084 37 2975
+-106.958 37 2962
+-106.832 37 2950
+-106.706 37 2903
+-106.58 37 2837
+-106.454 37 2743
+-106.328 37 2651
+-106.202 37 2556
+-106.076 37 2475
+-105.95 37 2433
+-105.824 37 2435
+-105.698 37 2482
+-105.572 37 2547
+-105.446 37 2615
+-105.32 37 2645
+-105.194 37 2697
+-105.068 37 2742
+-104.942 37 2780
+-104.816 37 2814
+-104.69 37 2841
+-104.564 37 2848
+-104.438 37 2887
+-104.312 37 2903
+-104.186 37 2921
+-104.06 37 2937
+-103.934 37 2951
+-103.808 37 2963
+-103.682 37 2975
+-103.556 37 2985
+-103.43 37 2995
+-103.304 37 3003
+-103.178 37 3011
+-103.052 37 3006
+-102.926 37 3095
+-102.8 37 3088
+-102.674 37 3103
+-102.548 37 3111
+-102.422 37 3119
+-102.296 37 3126
+-102.17 37 3041
+-102.044 37 2906
+-101.918 37 2969
+-101.792 37 2925
+-101.666 37 2811
+-101.54 37 2753
+-101.414 37 2749
+-101.288 37 2747
+-101.162 37 2754
+-101.036 37 2791
+-100.91 37 2918
+-100.784 37 2968
+-100.658 37 3098
+-100.532 37 3097
+-100.406 37 3096
+-100.28 37 3096
+-100.154 37 3095
+-100.028 37 3094
+-99.902 37 3093
+-99.776 37 3093
+-99.65 37 3092
+-99.524 37 3091
+-99.398 37 3090
+-99.272 37 3137
+-99.146 37 3134
+-99.02 37 3131
+-98.894 37 3145
+-98.768 37 3143
+-98.642 37 3152
+-98.516 37 3177
+-98.39 37 3238
+-98.264 37 3235
+-98.138 37 3313
+-98.012 37 3305
+-97.886 37 3342
+-97.76 37 3336
+-97.634 37 3353
+-97.508 37 3343
+-97.382 37 3334
+-97.256 37 3366
+-97.13 37 3377
+-97.004 37 3382
+-96.878 37 3440
+-96.752 37 3459
+-96.626 37 3484
+-96.5 37 3529
+-96.374 37 3582
+-96.248 37 3645
+-96.122 37 3711
+-95.996 37 3751
+-95.87 37 3782
+-95.744 37 3802
+-95.618 37 3867
+-95.492 37 3888
+-95.366 37 3992
+-95.24 37 4094
+-95.114 37 4141
+-94.988 37 4256
+-94.862 37 4381
+-94.736 37 4424
+-94.61 37 4522
+-94.484 37 4643
+-94.358 37 4821
+-94.232 37 4958
+-94.106 37 5084
+-93.98 37 5216
+-93.854 37 5290
+-93.728 37 5414
+-93.602 37 5578
+-93.476 37 5670
+-93.35 37 5786
+-93.224 37 5918
+-93.098 37 5991
+-92.972 37 6100
+-92.846 37 6140
+-92.72 37 6302
+-92.594 37 6480
+-92.468 37 6555
+-92.342 37 6646
+-92.216 37 6750
+-92.09 37 6795
+-91.964 37 6892
+-91.838 37 7010
+-91.712 37 7092
+-91.586 37 7172
+-91.46 37 7229
+-91.334 37 7274
+-91.208 37 7333
+-91.082 37 7436
+-90.956 37 7436
+-90.83 37 7453
+-90.704 37 7481
+-90.578 37 7620
+-90.452 37 7849
+-90.326 37 7988
+-90.2 37 8039
+-90.074 37 8250
+-89.948 37 8359
+-89.822 37 8437
+-89.696 37 8557
+-89.57 37 8728
+-89.444 37 8766
+-89.318 37 8830
+-89.192 37 8953
+-89.066 37 9002
+-88.94 37 9023
+-88.814 37 9026
+-88.688 37 8996
+-88.562 37 8979
+-88.436 37 8899
+-88.31 37 8805
+-88.184 37 8743
+-88.058 37 8614
+-87.932 37 8526
+-87.806 37 8417
+-87.68 37 8326
+-87.554 37 8163
+-87.428 37 8016
+-87.302 37 7952
+-87.176 37 7822
+-87.05 37 7720
+-86.924 37 7580
+-86.798 37 7351
+-86.672 37 7307
+-86.546 37 7214
+-86.42 37 7044
+-86.294 37 6854
+-86.168 37 6748
+-86.042 37 6624
+-85.916 37 6476
+-85.79 37 6372
+-85.664 37 6235
+-85.538 37 6134
+-85.412 37 5937
+-85.286 37 5808
+-85.16 37 5743
+-85.034 37 5625
+-84.908 37 5493
+-84.782 37 5360
+-84.656 37 5252
+-84.53 37 5129
+-84.404 37 5002
+-84.278 37 4847
+-84.152 37 4725
+-84.026 37 4600
+-83.9 37 4499
+-83.774 37 4378
+-83.648 37 4295
+-83.522 37 4208
+-83.396 37 4107
+-83.27 37 4000
+-83.144 37 3900
+-83.018 37 3831
+-82.892 37 3791
+-82.766 37 3757
+-82.64 37 3730
+-82.514 37 3746
+-82.388 37 3714
+-82.262 37 3733
+-82.136 37 3723
+-82.01 37 3739
+-81.884 37 3712
+-81.758 37 3649
+-81.632 37 3658
+-81.506 37 3558
+-81.38 37 3475
+-81.254 37 3416
+-81.128 37 3414
+-81.002 37 3411
+-80.876 37 3409
+-80.75 37 3407
+-80.624 37 3406
+-80.498 37 3404
+-80.372 37 3350
+-80.246 37 3311
+-80.12 37 3310
+-79.994 37 3235
+-79.868 37 3232
+-79.742 37 3229
+-79.616 37 3227
+-79.49 37 3225
+-79.364 37 3223
+-79.238 37 3222
+-79.112 37 3220
+-78.986 37 3219
+-78.86 37 3218
+-78.734 37 3218
+-78.608 37 3217
+-78.482 37 3216
+-78.356 37 3216
+-78.23 37 3216
+-78.104 37 3105
+-77.978 37 3102
+-77.852 37 3099
+-77.726 37 3097
+-77.6 37 3094
+-77.474 37 3082
+-77.348 37 3080
+-77.222 37 3078
+-77.096 37 3076
+-76.97 37 3074
+-76.844 37 3072
+-76.718 37 2980
+-76.592 37 2979
+-76.466 37 2977
+-76.34 37 2975
+-76.214 37 2974
+-76.088 37 2973
+-75.962 37 2972
+-75.836 37 2970
+-75.71 37 2843
+-75.584 37 2842
+-75.458 37 2810
+-75.332 37 2761
+-75.206 37 2760
+-75.08 37 2759
+-74.954 37 2774
+-74.828 37 2774
+-74.702 37 2789
+-74.576 37 2803
+-74.45 37 2761
+-74.324 37 2710
+-74.198 37 2711
+-74.072 37 2711
+-73.946 37 2712
+-73.82 37 2730
+-73.694 37 2738
+-73.568 37 2749
+-73.442 37 2749
+-73.316 37 2782
+-73.19 37 2795
+-73.064 37 2797
+-72.938 37 2852
+-72.812 37 2875
+-72.686 37 2857
+-72.56 37 2850
+-72.434 37 2995
+-72.308 37 2998
+-72.182 37 3058
+-72.056 37 3061
+-71.93 37 3064
+-71.804 37 3068
+-71.678 37 3071
+-71.552 37 2993
+-71.426 37 3014
+-71.3 37 3017
+-71.174 37 3009
+-71.048 37 3305
+-70.922 37 3335
+-70.796 37 3337
+-70.67 37 3333
+-70.544 37 3335
+-70.418 37 3340
+-70.292 37 3357
+-70.166 37 3358
+-70.04 37 3347
+-69.914 37 3349
+-69.788 37 3302
+-69.662 37 3304
+-69.536 37 3305
+-69.41 37 3370
+-69.284 37 3366
+-69.158 37 3376
+-69.032 37 3378
+-68.906 37 3358
+-68.78 37 3380
+-68.654 37 3427
+-68.528 37 3439
+-68.402 37 3438
+-68.276 37 3437
+-68.15 37 3491
+-68.024 37 3493
+-67.898 37 3431
+-67.772 37 3456
+-67.646 37 3449
+-67.52 37 3370
+-67.394 37 3280
+-67.268 37 3303
+-67.142 37 3305
+-67.016 37 3339
+-66.89 37 3311
+-66.764 37 3324
+-66.638 37 3326
+-66.512 37 3305
+-66.386 37 3306
+-66.26 37 3307
+-66.134 37 3283
+-66.008 37 3264
+-65.882 37 3301
+-65.756 37 3295
+-65.63 37 3297
+-65.504 37 3298
+-65.378 37 3216
+-65.252 37 3258
+-65.126 37 3254
+-128 36.948 2830
+-127.874 36.948 2826
+-127.748 36.948 2823
+-127.622 36.948 2819
+-127.496 36.948 2823
+-127.37 36.948 2820
+-127.244 36.948 2816
+-127.118 36.948 2833
+-126.992 36.948 2830
+-126.866 36.948 2827
+-126.74 36.948 2801
+-126.614 36.948 2888
+-126.488 36.948 2902
+-126.362 36.948 2967
+-126.236 36.948 2964
+-126.11 36.948 2968
+-125.984 36.948 2986
+-125.858 36.948 3183
+-125.732 36.948 3192
+-125.606 36.948 3247
+-125.48 36.948 3260
+-125.354 36.948 3260
+-125.228 36.948 3260
+-125.102 36.948 3316
+-124.976 36.948 3317
+-124.85 36.948 3318
+-124.724 36.948 3318
+-124.598 36.948 3289
+-124.472 36.948 3364
+-124.346 36.948 3373
+-124.22 36.948 3359
+-124.094 36.948 3364
+-123.968 36.948 3354
+-123.842 36.948 3308
+-123.716 36.948 3278
+-123.59 36.948 3157
+-123.464 36.948 2998
+-123.338 36.948 2803
+-123.212 36.948 2611
+-123.086 36.948 2520
+-122.96 36.948 2647
+-122.834 36.948 2978
+-122.708 36.948 3363
+-122.582 36.948 3668
+-122.456 36.948 3863
+-122.33 36.948 3987
+-122.204 36.948 4067
+-122.078 36.948 4133
+-121.952 36.948 4167
+-121.826 36.948 4263
+-121.7 36.948 4295
+-121.574 36.948 4321
+-121.448 36.948 4398
+-121.322 36.948 4446
+-121.196 36.948 4509
+-121.07 36.948 4629
+-120.944 36.948 4713
+-120.818 36.948 4785
+-120.692 36.948 4754
+-120.566 36.948 4911
+-120.44 36.948 5047
+-120.314 36.948 5152
+-120.188 36.948 5233
+-120.062 36.948 5333
+-119.936 36.948 5413
+-119.81 36.948 5414
+-119.684 36.948 5582
+-119.558 36.948 5681
+-119.432 36.948 5746
+-119.306 36.948 5829
+-119.18 36.948 5876
+-119.054 36.948 5942
+-118.928 36.948 6036
+-118.802 36.948 6114
+-118.676 36.948 6150
+-118.55 36.948 6217
+-118.424 36.948 6253
+-118.298 36.948 6308
+-118.172 36.948 6360
+-118.046 36.948 6411
+-117.92 36.948 6407
+-117.794 36.948 6437
+-117.668 36.948 6444
+-117.542 36.948 6483
+-117.416 36.948 6492
+-117.29 36.948 6486
+-117.164 36.948 6469
+-117.038 36.948 6483
+-116.912 36.948 6497
+-116.786 36.948 6464
+-116.66 36.948 6424
+-116.534 36.948 6382
+-116.408 36.948 6342
+-116.282 36.948 6257
+-116.156 36.948 6221
+-116.03 36.948 6186
+-115.904 36.948 6161
+-115.778 36.948 6106
+-115.652 36.948 6037
+-115.526 36.948 5879
+-115.4 36.948 5870
+-115.274 36.948 5737
+-115.148 36.948 5661
+-115.022 36.948 5633
+-114.896 36.948 5517
+-114.77 36.948 5478
+-114.644 36.948 5378
+-114.518 36.948 5279
+-114.392 36.948 5169
+-114.266 36.948 5035
+-114.14 36.948 5003
+-114.014 36.948 4930
+-113.888 36.948 4817
+-113.762 36.948 4616
+-113.636 36.948 4491
+-113.51 36.948 4457
+-113.384 36.948 4372
+-113.258 36.948 4249
+-113.132 36.948 4082
+-113.006 36.948 3958
+-112.88 36.948 3847
+-112.754 36.948 3910
+-112.628 36.948 3909
+-112.502 36.948 3857
+-112.376 36.948 3765
+-112.25 36.948 3677
+-112.124 36.948 3613
+-111.998 36.948 3537
+-111.872 36.948 3474
+-111.746 36.948 3537
+-111.62 36.948 3608
+-111.494 36.948 3625
+-111.368 36.948 3636
+-111.242 36.948 3631
+-111.116 36.948 3621
+-110.99 36.948 3637
+-110.864 36.948 3676
+-110.738 36.948 3686
+-110.612 36.948 3706
+-110.486 36.948 3732
+-110.36 36.948 3737
+-110.234 36.948 3750
+-110.108 36.948 3757
+-109.982 36.948 3755
+-109.856 36.948 3746
+-109.73 36.948 3729
+-109.604 36.948 3712
+-109.478 36.948 3698
+-109.352 36.948 3706
+-109.226 36.948 3718
+-109.1 36.948 3711
+-108.974 36.948 3698
+-108.848 36.948 3649
+-108.722 36.948 3601
+-108.596 36.948 3564
+-108.47 36.948 3475
+-108.344 36.948 3362
+-108.218 36.948 3263
+-108.092 36.948 3220
+-107.966 36.948 3220
+-107.84 36.948 3214
+-107.714 36.948 3153
+-107.588 36.948 3043
+-107.462 36.948 2930
+-107.336 36.948 2879
+-107.21 36.948 2901
+-107.084 36.948 2946
+-106.958 36.948 2965
+-106.832 36.948 2956
+-106.706 36.948 2903
+-106.58 36.948 2823
+-106.454 36.948 2725
+-106.328 36.948 2608
+-106.202 36.948 2474
+-106.076 36.948 2335
+-105.95 36.948 2279
+-105.824 36.948 2305
+-105.698 36.948 2384
+-105.572 36.948 2481
+-105.446 36.948 2546
+-105.32 36.948 2620
+-105.194 36.948 2682
+-105.068 36.948 2732
+-104.942 36.948 2775
+-104.816 36.948 2810
+-104.69 36.948 2824
+-104.564 36.948 2865
+-104.438 36.948 2886
+-104.312 36.948 2907
+-104.186 36.948 2924
+-104.06 36.948 2940
+-103.934 36.948 2954
+-103.808 36.948 2967
+-103.682 36.948 2979
+-103.556 36.948 2989
+-103.43 36.948 2998
+-103.304 36.948 3007
+-103.178 36.948 3003
+-103.052 36.948 3089
+-102.926 36.948 3082
+-102.8 36.948 3097
+-102.674 36.948 3106
+-102.548 36.948 3114
+-102.422 36.948 3122
+-102.296 36.948 3129
+-102.17 36.948 3043
+-102.044 36.948 3057
+-101.918 36.948 2973
+-101.792 36.948 2929
+-101.666 36.948 2794
+-101.54 36.948 2753
+-101.414 36.948 2748
+-101.288 36.948 2746
+-101.162 36.948 2751
+-101.036 36.948 2786
+-100.91 36.948 2911
+-100.784 36.948 2960
+-100.658 36.948 3061
+-100.532 36.948 3090
+-100.406 36.948 3089
+-100.28 36.948 3088
+-100.154 36.948 3087
+-100.028 36.948 3086
+-99.902 36.948 3085
+-99.776 36.948 3083
+-99.65 36.948 3082
+-99.524 36.948 3081
+-99.398 36.948 3127
+-99.272 36.948 3124
+-99.146 36.948 3121
+-99.02 36.948 3134
+-98.894 36.948 3132
+-98.768 36.948 3141
+-98.642 36.948 3165
+-98.516 36.948 3227
+-98.39 36.948 3223
+-98.264 36.948 3218
+-98.138 36.948 3214
+-98.012 36.948 3261
+-97.886 36.948 3279
+-97.76 36.948 3268
+-97.634 36.948 3327
+-97.508 36.948 3313
+-97.382 36.948 3339
+-97.256 36.948 3343
+-97.13 36.948 3340
+-97.004 36.948 3394
+-96.878 36.948 3408
+-96.752 36.948 3433
+-96.626 36.948 3467
+-96.5 36.948 3518
+-96.374 36.948 3608
+-96.248 36.948 3680
+-96.122 36.948 3724
+-95.996 36.948 3761
+-95.87 36.948 3783
+-95.744 36.948 3807
+-95.618 36.948 3785
+-95.492 36.948 3758
+-95.366 36.948 3903
+-95.24 36.948 4050
+-95.114 36.948 4061
+-94.988 36.948 4215
+-94.862 36.948 4347
+-94.736 36.948 4439
+-94.61 36.948 4480
+-94.484 36.948 4597
+-94.358 36.948 4792
+-94.232 36.948 4919
+-94.106 36.948 5044
+-93.98 36.948 5192
+-93.854 36.948 5266
+-93.728 36.948 5367
+-93.602 36.948 5519
+-93.476 36.948 5669
+-93.35 36.948 5773
+-93.224 36.948 5877
+-93.098 36.948 5954
+-92.972 36.948 6036
+-92.846 36.948 6103
+-92.72 36.948 6286
+-92.594 36.948 6362
+-92.468 36.948 6527
+-92.342 36.948 6625
+-92.216 36.948 6731
+-92.09 36.948 6800
+-91.964 36.948 6835
+-91.838 36.948 6937
+-91.712 36.948 7051
+-91.586 36.948 7091
+-91.46 36.948 7130
+-91.334 36.948 7233
+-91.208 36.948 7302
+-91.082 36.948 7342
+-90.956 36.948 7370
+-90.83 36.948 7397
+-90.704 36.948 7443
+-90.578 36.948 7448
+-90.452 36.948 7767
+-90.326 36.948 7943
+-90.2 36.948 8082
+-90.074 36.948 8170
+-89.948 36.948 8345
+-89.822 36.948 8426
+-89.696 36.948 8517
+-89.57 36.948 8625
+-89.444 36.948 8706
+-89.318 36.948 8825
+-89.192 36.948 8866
+-89.066 36.948 8937
+-88.94 36.948 8977
+-88.814 36.948 8963
+-88.688 36.948 8964
+-88.562 36.948 8904
+-88.436 36.948 8873
+-88.31 36.948 8761
+-88.184 36.948 8702
+-88.058 36.948 8585
+-87.932 36.948 8472
+-87.806 36.948 8395
+-87.68 36.948 8311
+-87.554 36.948 8168
+-87.428 36.948 7989
+-87.302 36.948 7869
+-87.176 36.948 7819
+-87.05 36.948 7655
+-86.924 36.948 7548
+-86.798 36.948 7396
+-86.672 36.948 7307
+-86.546 36.948 7215
+-86.42 36.948 7026
+-86.294 36.948 6849
+-86.168 36.948 6692
+-86.042 36.948 6528
+-85.916 36.948 6476
+-85.79 36.948 6348
+-85.664 36.948 6229
+-85.538 36.948 6091
+-85.412 36.948 5954
+-85.286 36.948 5847
+-85.16 36.948 5718
+-85.034 36.948 5580
+-84.908 36.948 5416
+-84.782 36.948 5286
+-84.656 36.948 5146
+-84.53 36.948 5097
+-84.404 36.948 5023
+-84.278 36.948 4945
+-84.152 36.948 4805
+-84.026 36.948 4651
+-83.9 36.948 4540
+-83.774 36.948 4396
+-83.648 36.948 4322
+-83.522 36.948 4229
+-83.396 36.948 4139
+-83.27 36.948 4032
+-83.144 36.948 3946
+-83.018 36.948 3875
+-82.892 36.948 3826
+-82.766 36.948 3796
+-82.64 36.948 3740
+-82.514 36.948 3717
+-82.388 36.948 3687
+-82.262 36.948 3681
+-82.136 36.948 3702
+-82.01 36.948 3705
+-81.884 36.948 3663
+-81.758 36.948 3596
+-81.632 36.948 3528
+-81.506 36.948 3529
+-81.38 36.948 3511
+-81.254 36.948 3437
+-81.128 36.948 3406
+-81.002 36.948 3404
+-80.876 36.948 3402
+-80.75 36.948 3401
+-80.624 36.948 3360
+-80.498 36.948 3344
+-80.372 36.948 3342
+-80.246 36.948 3250
+-80.12 36.948 3227
+-79.994 36.948 3224
+-79.868 36.948 3222
+-79.742 36.948 3219
+-79.616 36.948 3217
+-79.49 36.948 3216
+-79.364 36.948 3214
+-79.238 36.948 3213
+-79.112 36.948 3212
+-78.986 36.948 3211
+-78.86 36.948 3211
+-78.734 36.948 3210
+-78.608 36.948 3210
+-78.482 36.948 3209
+-78.356 36.948 3209
+-78.23 36.948 3099
+-78.104 36.948 3096
+-77.978 36.948 3093
+-77.852 36.948 3091
+-77.726 36.948 3089
+-77.6 36.948 3086
+-77.474 36.948 3084
+-77.348 36.948 3082
+-77.222 36.948 3080
+-77.096 36.948 3078
+-76.97 36.948 3077
+-76.844 36.948 2974
+-76.718 36.948 2973
+-76.592 36.948 2971
+-76.466 36.948 2970
+-76.34 36.948 2968
+-76.214 36.948 2967
+-76.088 36.948 2966
+-75.962 36.948 2965
+-75.836 36.948 2837
+-75.71 36.948 2836
+-75.584 36.948 2803
+-75.458 36.948 2755
+-75.332 36.948 2754
+-75.206 36.948 2754
+-75.08 36.948 2767
+-74.954 36.948 2768
+-74.828 36.948 2784
+-74.702 36.948 2798
+-74.576 36.948 2756
+-74.45 36.948 2706
+-74.324 36.948 2706
+-74.198 36.948 2707
+-74.072 36.948 2707
+-73.946 36.948 2726
+-73.82 36.948 2734
+-73.694 36.948 2745
+-73.568 36.948 2745
+-73.442 36.948 2778
+-73.316 36.948 2792
+-73.19 36.948 2794
+-73.064 36.948 2849
+-72.938 36.948 2872
+-72.812 36.948 2854
+-72.686 36.948 2847
+-72.56 36.948 2991
+-72.434 36.948 2995
+-72.308 36.948 3054
+-72.182 36.948 3058
+-72.056 36.948 3061
+-71.93 36.948 3064
+-71.804 36.948 3068
+-71.678 36.948 2990
+-71.552 36.948 3012
+-71.426 36.948 3015
+-71.3 36.948 3007
+-71.174 36.948 3302
+-71.048 36.948 3333
+-70.922 36.948 3334
+-70.796 36.948 3331
+-70.67 36.948 3333
+-70.544 36.948 3338
+-70.418 36.948 3354
+-70.292 36.948 3356
+-70.166 36.948 3345
+-70.04 36.948 3347
+-69.914 36.948 3300
+-69.788 36.948 3302
+-69.662 36.948 3303
+-69.536 36.948 3368
+-69.41 36.948 3364
+-69.284 36.948 3374
+-69.158 36.948 3376
+-69.032 36.948 3356
+-68.906 36.948 3378
+-68.78 36.948 3425
+-68.654 36.948 3437
+-68.528 36.948 3436
+-68.402 36.948 3435
+-68.276 36.948 3489
+-68.15 36.948 3491
+-68.024 36.948 3430
+-67.898 36.948 3454
+-67.772 36.948 3448
+-67.646 36.948 3365
+-67.52 36.948 3278
+-67.394 36.948 3302
+-67.268 36.948 3304
+-67.142 36.948 3338
+-67.016 36.948 3310
+-66.89 36.948 3323
+-66.764 36.948 3324
+-66.638 36.948 3303
+-66.512 36.948 3305
+-66.386 36.948 3306
+-66.26 36.948 3281
+-66.134 36.948 3263
+-66.008 36.948 3300
+-65.882 36.948 3294
+-65.756 36.948 3296
+-65.63 36.948 3297
+-65.504 36.948 3215
+-65.378 36.948 3257
+-65.252 36.948 3253
+-65.126 36.948 3254
+-128 36.896 2832
+-127.874 36.896 2828
+-127.748 36.896 2824
+-127.622 36.896 2820
+-127.496 36.896 2816
+-127.37 36.896 2820
+-127.244 36.896 2815
+-127.118 36.896 2811
+-126.992 36.896 2829
+-126.866 36.896 2899
+-126.74 36.896 2866
+-126.614 36.896 2862
+-126.488 36.896 2880
+-126.362 36.896 2893
+-126.236 36.896 3032
+-126.11 36.896 3028
+-125.984 36.896 3027
+-125.858 36.896 3164
+-125.732 36.896 3164
+-125.606 36.896 3228
+-125.48 36.896 3227
+-125.354 36.896 3240
+-125.228 36.896 3241
+-125.102 36.896 3243
+-124.976 36.896 3297
+-124.85 36.896 3299
+-124.724 36.896 3301
+-124.598 36.896 3301
+-124.472 36.896 3358
+-124.346 36.896 3353
+-124.22 36.896 3350
+-124.094 36.896 3331
+-123.968 36.896 3355
+-123.842 36.896 3306
+-123.716 36.896 3244
+-123.59 36.896 3185
+-123.464 36.896 3039
+-123.338 36.896 2864
+-123.212 36.896 2701
+-123.086 36.896 2627
+-122.96 36.896 2764
+-122.834 36.896 3060
+-122.708 36.896 3390
+-122.582 36.896 3690
+-122.456 36.896 3895
+-122.33 36.896 4033
+-122.204 36.896 4119
+-122.078 36.896 4181
+-121.952 36.896 4229
+-121.826 36.896 4278
+-121.7 36.896 4348
+-121.574 36.896 4358
+-121.448 36.896 4394
+-121.322 36.896 4466
+-121.196 36.896 4557
+-121.07 36.896 4683
+-120.944 36.896 4774
+-120.818 36.896 4831
+-120.692 36.896 4863
+-120.566 36.896 4857
+-120.44 36.896 5047
+-120.314 36.896 5169
+-120.188 36.896 5285
+-120.062 36.896 5266
+-119.936 36.896 5413
+-119.81 36.896 5520
+-119.684 36.896 5574
+-119.558 36.896 5681
+-119.432 36.896 5785
+-119.306 36.896 5866
+-119.18 36.896 5939
+-119.054 36.896 6019
+-118.928 36.896 6101
+-118.802 36.896 6176
+-118.676 36.896 6213
+-118.55 36.896 6285
+-118.424 36.896 6304
+-118.298 36.896 6349
+-118.172 36.896 6402
+-118.046 36.896 6455
+-117.92 36.896 6474
+-117.794 36.896 6480
+-117.668 36.896 6528
+-117.542 36.896 6569
+-117.416 36.896 6539
+-117.29 36.896 6564
+-117.164 36.896 6562
+-117.038 36.896 6540
+-116.912 36.896 6515
+-116.786 36.896 6465
+-116.66 36.896 6484
+-116.534 36.896 6438
+-116.408 36.896 6411
+-116.282 36.896 6332
+-116.156 36.896 6277
+-116.03 36.896 6235
+-115.904 36.896 6152
+-115.778 36.896 6159
+-115.652 36.896 6080
+-115.526 36.896 5955
+-115.4 36.896 5845
+-115.274 36.896 5756
+-115.148 36.896 5698
+-115.022 36.896 5645
+-114.896 36.896 5588
+-114.77 36.896 5468
+-114.644 36.896 5370
+-114.518 36.896 5344
+-114.392 36.896 5164
+-114.266 36.896 5002
+-114.14 36.896 5016
+-114.014 36.896 4945
+-113.888 36.896 4876
+-113.762 36.896 4728
+-113.636 36.896 4614
+-113.51 36.896 4491
+-113.384 36.896 4385
+-113.258 36.896 4257
+-113.132 36.896 4070
+-113.006 36.896 3967
+-112.88 36.896 3950
+-112.754 36.896 3953
+-112.628 36.896 3932
+-112.502 36.896 3878
+-112.376 36.896 3797
+-112.25 36.896 3685
+-112.124 36.896 3612
+-111.998 36.896 3561
+-111.872 36.896 3546
+-111.746 36.896 3590
+-111.62 36.896 3647
+-111.494 36.896 3693
+-111.368 36.896 3704
+-111.242 36.896 3700
+-111.116 36.896 3699
+-110.99 36.896 3707
+-110.864 36.896 3717
+-110.738 36.896 3728
+-110.612 36.896 3766
+-110.486 36.896 3779
+-110.36 36.896 3780
+-110.234 36.896 3782
+-110.108 36.896 3781
+-109.982 36.896 3771
+-109.856 36.896 3763
+-109.73 36.896 3745
+-109.604 36.896 3714
+-109.478 36.896 3687
+-109.352 36.896 3709
+-109.226 36.896 3730
+-109.1 36.896 3731
+-108.974 36.896 3723
+-108.848 36.896 3693
+-108.722 36.896 3646
+-108.596 36.896 3577
+-108.47 36.896 3484
+-108.344 36.896 3363
+-108.218 36.896 3239
+-108.092 36.896 3188
+-107.966 36.896 3210
+-107.84 36.896 3218
+-107.714 36.896 3157
+-107.588 36.896 3032
+-107.462 36.896 2892
+-107.336 36.896 2833
+-107.21 36.896 2874
+-107.084 36.896 2937
+-106.958 36.896 2971
+-106.832 36.896 2947
+-106.706 36.896 2882
+-106.58 36.896 2794
+-106.454 36.896 2687
+-106.328 36.896 2556
+-106.202 36.896 2384
+-106.076 36.896 2211
+-105.95 36.896 2131
+-105.824 36.896 2182
+-105.698 36.896 2305
+-105.572 36.896 2434
+-105.446 36.896 2545
+-105.32 36.896 2636
+-105.194 36.896 2675
+-105.068 36.896 2730
+-104.942 36.896 2775
+-104.816 36.896 2838
+-104.69 36.896 2842
+-104.564 36.896 2867
+-104.438 36.896 2891
+-104.312 36.896 2911
+-104.186 36.896 2929
+-104.06 36.896 2945
+-103.934 36.896 2959
+-103.808 36.896 2972
+-103.682 36.896 2983
+-103.556 36.896 2993
+-103.43 36.896 3002
+-103.304 36.896 2999
+-103.178 36.896 3082
+-103.052 36.896 3077
+-102.926 36.896 3091
+-102.8 36.896 3100
+-102.674 36.896 3109
+-102.548 36.896 3117
+-102.422 36.896 3125
+-102.296 36.896 3133
+-102.17 36.896 3046
+-102.044 36.896 3061
+-101.918 36.896 2953
+-101.792 36.896 2913
+-101.666 36.896 2880
+-101.54 36.896 2812
+-101.414 36.896 2755
+-101.288 36.896 2745
+-101.162 36.896 2747
+-101.036 36.896 2781
+-100.91 36.896 2904
+-100.784 36.896 2952
+-100.658 36.896 3054
+-100.532 36.896 3083
+-100.406 36.896 3082
+-100.28 36.896 3080
+-100.154 36.896 3079
+-100.028 36.896 3077
+-99.902 36.896 3076
+-99.776 36.896 3074
+-99.65 36.896 3072
+-99.524 36.896 3117
+-99.398 36.896 3114
+-99.272 36.896 3112
+-99.146 36.896 3125
+-99.02 36.896 3121
+-98.894 36.896 3131
+-98.768 36.896 3155
+-98.642 36.896 3184
+-98.516 36.896 3180
+-98.39 36.896 3176
+-98.264 36.896 3171
+-98.138 36.896 3165
+-98.012 36.896 3186
+-97.886 36.896 3257
+-97.76 36.896 3242
+-97.634 36.896 3227
+-97.508 36.896 3275
+-97.382 36.896 3297
+-97.256 36.896 3282
+-97.13 36.896 3333
+-97.004 36.896 3333
+-96.878 36.896 3346
+-96.752 36.896 3375
+-96.626 36.896 3429
+-96.5 36.896 3506
+-96.374 36.896 3614
+-96.248 36.896 3673
+-96.122 36.896 3725
+-95.996 36.896 3763
+-95.87 36.896 3785
+-95.744 36.896 3811
+-95.618 36.896 3713
+-95.492 36.896 3584
+-95.366 36.896 3777
+-95.24 36.896 3976
+-95.114 36.896 4117
+-94.988 36.896 4256
+-94.862 36.896 4314
+-94.736 36.896 4422
+-94.61 36.896 4524
+-94.484 36.896 4567
+-94.358 36.896 4719
+-94.232 36.896 4892
+-94.106 36.896 5028
+-93.98 36.896 5148
+-93.854 36.896 5258
+-93.728 36.896 5355
+-93.602 36.896 5500
+-93.476 36.896 5655
+-93.35 36.896 5780
+-93.224 36.896 5772
+-93.098 36.896 5887
+-92.972 36.896 5997
+-92.846 36.896 6081
+-92.72 36.896 6222
+-92.594 36.896 6374
+-92.468 36.896 6487
+-92.342 36.896 6587
+-92.216 36.896 6643
+-92.09 36.896 6732
+-91.964 36.896 6810
+-91.838 36.896 6884
+-91.712 36.896 6981
+-91.586 36.896 7023
+-91.46 36.896 7098
+-91.334 36.896 7180
+-91.208 36.896 7241
+-91.082 36.896 7287
+-90.956 36.896 7321
+-90.83 36.896 7365
+-90.704 36.896 7412
+-90.578 36.896 7578
+-90.452 36.896 7821
+-90.326 36.896 7938
+-90.2 36.896 8088
+-90.074 36.896 8100
+-89.948 36.896 8308
+-89.822 36.896 8388
+-89.696 36.896 8530
+-89.57 36.896 8604
+-89.444 36.896 8678
+-89.318 36.896 8766
+-89.192 36.896 8825
+-89.066 36.896 8862
+-88.94 36.896 8902
+-88.814 36.896 8895
+-88.688 36.896 8916
+-88.562 36.896 8878
+-88.436 36.896 8786
+-88.31 36.896 8734
+-88.184 36.896 8696
+-88.058 36.896 8595
+-87.932 36.896 8497
+-87.806 36.896 8421
+-87.68 36.896 8209
+-87.554 36.896 8137
+-87.428 36.896 7972
+-87.302 36.896 7873
+-87.176 36.896 7764
+-87.05 36.896 7629
+-86.924 36.896 7504
+-86.798 36.896 7437
+-86.672 36.896 7300
+-86.546 36.896 7132
+-86.42 36.896 7004
+-86.294 36.896 6789
+-86.168 36.896 6678
+-86.042 36.896 6584
+-85.916 36.896 6446
+-85.79 36.896 6302
+-85.664 36.896 6185
+-85.538 36.896 5989
+-85.412 36.896 5960
+-85.286 36.896 5846
+-85.16 36.896 5660
+-85.034 36.896 5481
+-84.908 36.896 5360
+-84.782 36.896 5244
+-84.656 36.896 5031
+-84.53 36.896 5065
+-84.404 36.896 5004
+-84.278 36.896 4962
+-84.152 36.896 4865
+-84.026 36.896 4719
+-83.9 36.896 4601
+-83.774 36.896 4431
+-83.648 36.896 4337
+-83.522 36.896 4256
+-83.396 36.896 4149
+-83.27 36.896 4056
+-83.144 36.896 3961
+-83.018 36.896 3868
+-82.892 36.896 3768
+-82.766 36.896 3684
+-82.64 36.896 3670
+-82.514 36.896 3662
+-82.388 36.896 3655
+-82.262 36.896 3643
+-82.136 36.896 3658
+-82.01 36.896 3628
+-81.884 36.896 3620
+-81.758 36.896 3546
+-81.632 36.896 3553
+-81.506 36.896 3557
+-81.38 36.896 3515
+-81.254 36.896 3472
+-81.128 36.896 3425
+-81.002 36.896 3395
+-80.876 36.896 3394
+-80.75 36.896 3354
+-80.624 36.896 3336
+-80.498 36.896 3334
+-80.372 36.896 3242
+-80.246 36.896 3218
+-80.12 36.896 3215
+-79.994 36.896 3213
+-79.868 36.896 3211
+-79.742 36.896 3209
+-79.616 36.896 3207
+-79.49 36.896 3206
+-79.364 36.896 3205
+-79.238 36.896 3204
+-79.112 36.896 3203
+-78.986 36.896 3203
+-78.86 36.896 3202
+-78.734 36.896 3202
+-78.608 36.896 3202
+-78.482 36.896 3202
+-78.356 36.896 3093
+-78.23 36.896 3090
+-78.104 36.896 3087
+-77.978 36.896 3085
+-77.852 36.896 3082
+-77.726 36.896 3080
+-77.6 36.896 3078
+-77.474 36.896 3076
+-77.348 36.896 3074
+-77.222 36.896 3072
+-77.096 36.896 3071
+-76.97 36.896 2968
+-76.844 36.896 2966
+-76.718 36.896 2965
+-76.592 36.896 2963
+-76.466 36.896 2962
+-76.34 36.896 2961
+-76.214 36.896 2960
+-76.088 36.896 2959
+-75.962 36.896 2958
+-75.836 36.896 2920
+-75.71 36.896 2796
+-75.584 36.896 2749
+-75.458 36.896 2748
+-75.332 36.896 2748
+-75.206 36.896 2761
+-75.08 36.896 2762
+-74.954 36.896 2779
+-74.828 36.896 2793
+-74.702 36.896 2751
+-74.576 36.896 2701
+-74.45 36.896 2702
+-74.324 36.896 2702
+-74.198 36.896 2703
+-74.072 36.896 2722
+-73.946 36.896 2730
+-73.82 36.896 2741
+-73.694 36.896 2742
+-73.568 36.896 2775
+-73.442 36.896 2789
+-73.316 36.896 2791
+-73.19 36.896 2846
+-73.064 36.896 2869
+-72.938 36.896 2851
+-72.812 36.896 2844
+-72.686 36.896 2988
+-72.56 36.896 2992
+-72.434 36.896 3051
+-72.308 36.896 3054
+-72.182 36.896 3058
+-72.056 36.896 3061
+-71.93 36.896 3065
+-71.804 36.896 2988
+-71.678 36.896 3009
+-71.552 36.896 3012
+-71.426 36.896 3004
+-71.3 36.896 3300
+-71.174 36.896 3330
+-71.048 36.896 3332
+-70.922 36.896 3328
+-70.796 36.896 3330
+-70.67 36.896 3335
+-70.544 36.896 3352
+-70.418 36.896 3354
+-70.292 36.896 3343
+-70.166 36.896 3344
+-70.04 36.896 3298
+-69.914 36.896 3300
+-69.788 36.896 3302
+-69.662 36.896 3366
+-69.536 36.896 3362
+-69.41 36.896 3372
+-69.284 36.896 3374
+-69.158 36.896 3354
+-69.032 36.896 3376
+-68.906 36.896 3423
+-68.78 36.896 3435
+-68.654 36.896 3434
+-68.528 36.896 3434
+-68.402 36.896 3487
+-68.276 36.896 3489
+-68.15 36.896 3428
+-68.024 36.896 3452
+-67.898 36.896 3446
+-67.772 36.896 3367
+-67.646 36.896 3277
+-67.52 36.896 3301
+-67.394 36.896 3302
+-67.268 36.896 3336
+-67.142 36.896 3309
+-67.016 36.896 3322
+-66.89 36.896 3323
+-66.764 36.896 3302
+-66.638 36.896 3304
+-66.512 36.896 3305
+-66.386 36.896 3280
+-66.26 36.896 3262
+-66.134 36.896 3299
+-66.008 36.896 3293
+-65.882 36.896 3295
+-65.756 36.896 3296
+-65.63 36.896 3214
+-65.504 36.896 3256
+-65.378 36.896 3252
+-65.252 36.896 3253
+-65.126 36.896 3255
+-128 36.844 2833
+-127.874 36.844 2829
+-127.748 36.844 2825
+-127.622 36.844 2820
+-127.496 36.844 2816
+-127.37 36.844 2811
+-127.244 36.844 2815
+-127.118 36.844 2831
+-126.992 36.844 2900
+-126.866 36.844 2895
+-126.74 36.844 2890
+-126.614 36.844 2857
+-126.488 36.844 2928
+-126.362 36.844 2937
+-126.236 36.844 3010
+-126.11 36.844 3084
+-125.984 36.844 3083
+-125.858 36.844 3079
+-125.732 36.844 3142
+-125.606 36.844 3142
+-125.48 36.844 3205
+-125.354 36.844 3205
+-125.228 36.844 3219
+-125.102 36.844 3221
+-124.976 36.844 3224
+-124.85 36.844 3278
+-124.724 36.844 3281
+-124.598 36.844 3284
+-124.472 36.844 3286
+-124.346 36.844 3341
+-124.22 36.844 3335
+-124.094 36.844 3330
+-123.968 36.844 3308
+-123.842 36.844 3325
+-123.716 36.844 3270
+-123.59 36.844 3200
+-123.464 36.844 3153
+-123.338 36.844 3023
+-123.212 36.844 2912
+-123.086 36.844 2882
+-122.96 36.844 2984
+-122.834 36.844 3255
+-122.708 36.844 3498
+-122.582 36.844 3725
+-122.456 36.844 3930
+-122.33 36.844 4059
+-122.204 36.844 4144
+-122.078 36.844 4206
+-121.952 36.844 4258
+-121.826 36.844 4307
+-121.7 36.844 4363
+-121.574 36.844 4338
+-121.448 36.844 4316
+-121.322 36.844 4408
+-121.196 36.844 4581
+-121.07 36.844 4725
+-120.944 36.844 4798
+-120.818 36.844 4861
+-120.692 36.844 4908
+-120.566 36.844 4962
+-120.44 36.844 5077
+-120.314 36.844 5213
+-120.188 36.844 5292
+-120.062 36.844 5378
+-119.936 36.844 5471
+-119.81 36.844 5558
+-119.684 36.844 5619
+-119.558 36.844 5758
+-119.432 36.844 5823
+-119.306 36.844 5915
+-119.18 36.844 5990
+-119.054 36.844 6074
+-118.928 36.844 6089
+-118.802 36.844 6204
+-118.676 36.844 6271
+-118.55 36.844 6305
+-118.424 36.844 6390
+-118.298 36.844 6396
+-118.172 36.844 6448
+-118.046 36.844 6487
+-117.92 36.844 6507
+-117.794 36.844 6553
+-117.668 36.844 6596
+-117.542 36.844 6614
+-117.416 36.844 6633
+-117.29 36.844 6619
+-117.164 36.844 6619
+-117.038 36.844 6613
+-116.912 36.844 6581
+-116.786 36.844 6559
+-116.66 36.844 6537
+-116.534 36.844 6459
+-116.408 36.844 6450
+-116.282 36.844 6390
+-116.156 36.844 6315
+-116.03 36.844 6248
+-115.904 36.844 6235
+-115.778 36.844 6211
+-115.652 36.844 6103
+-115.526 36.844 5992
+-115.4 36.844 5942
+-115.274 36.844 5812
+-115.148 36.844 5819
+-115.022 36.844 5645
+-114.896 36.844 5616
+-114.77 36.844 5528
+-114.644 36.844 5445
+-114.518 36.844 5383
+-114.392 36.844 5222
+-114.266 36.844 5104
+-114.14 36.844 5057
+-114.014 36.844 4960
+-113.888 36.844 4880
+-113.762 36.844 4788
+-113.636 36.844 4682
+-113.51 36.844 4551
+-113.384 36.844 4402
+-113.258 36.844 4271
+-113.132 36.844 4170
+-113.006 36.844 4053
+-112.88 36.844 4022
+-112.754 36.844 4002
+-112.628 36.844 3941
+-112.502 36.844 3893
+-112.376 36.844 3798
+-112.25 36.844 3698
+-112.124 36.844 3595
+-111.998 36.844 3526
+-111.872 36.844 3584
+-111.746 36.844 3653
+-111.62 36.844 3699
+-111.494 36.844 3736
+-111.368 36.844 3751
+-111.242 36.844 3759
+-111.116 36.844 3769
+-110.99 36.844 3778
+-110.864 36.844 3770
+-110.738 36.844 3787
+-110.612 36.844 3816
+-110.486 36.844 3805
+-110.36 36.844 3807
+-110.234 36.844 3809
+-110.108 36.844 3806
+-109.982 36.844 3794
+-109.856 36.844 3765
+-109.73 36.844 3746
+-109.604 36.844 3740
+-109.478 36.844 3720
+-109.352 36.844 3734
+-109.226 36.844 3762
+-109.1 36.844 3755
+-108.974 36.844 3741
+-108.848 36.844 3717
+-108.722 36.844 3670
+-108.596 36.844 3610
+-108.47 36.844 3524
+-108.344 36.844 3426
+-108.218 36.844 3288
+-108.092 36.844 3232
+-107.966 36.844 3250
+-107.84 36.844 3240
+-107.714 36.844 3188
+-107.588 36.844 3074
+-107.462 36.844 2943
+-107.336 36.844 2886
+-107.21 36.844 2915
+-107.084 36.844 2970
+-106.958 36.844 2982
+-106.832 36.844 2942
+-106.706 36.844 2866
+-106.58 36.844 2766
+-106.454 36.844 2658
+-106.328 36.844 2531
+-106.202 36.844 2364
+-106.076 36.844 2151
+-105.95 36.844 2050
+-105.824 36.844 2128
+-105.698 36.844 2279
+-105.572 36.844 2424
+-105.446 36.844 2544
+-105.32 36.844 2636
+-105.194 36.844 2710
+-105.068 36.844 2770
+-104.942 36.844 2804
+-104.816 36.844 2817
+-104.69 36.844 2847
+-104.564 36.844 2874
+-104.438 36.844 2898
+-104.312 36.844 2918
+-104.186 36.844 2935
+-104.06 36.844 2951
+-103.934 36.844 2965
+-103.808 36.844 2977
+-103.682 36.844 2988
+-103.556 36.844 2998
+-103.43 36.844 2996
+-103.304 36.844 3076
+-103.178 36.844 3071
+-103.052 36.844 3085
+-102.926 36.844 3095
+-102.8 36.844 3104
+-102.674 36.844 3113
+-102.548 36.844 3121
+-102.422 36.844 3129
+-102.296 36.844 3136
+-102.17 36.844 3028
+-102.044 36.844 3044
+-101.918 36.844 2966
+-101.792 36.844 2917
+-101.666 36.844 2881
+-101.54 36.844 2811
+-101.414 36.844 2756
+-101.288 36.844 2752
+-101.162 36.844 2748
+-101.036 36.844 2785
+-100.91 36.844 2898
+-100.784 36.844 2945
+-100.658 36.844 3047
+-100.532 36.844 3076
+-100.406 36.844 3074
+-100.28 36.844 3072
+-100.154 36.844 3070
+-100.028 36.844 3068
+-99.902 36.844 3066
+-99.776 36.844 3064
+-99.65 36.844 3109
+-99.524 36.844 3105
+-99.398 36.844 3104
+-99.272 36.844 3116
+-99.146 36.844 3112
+-99.02 36.844 3121
+-98.894 36.844 3145
+-98.768 36.844 3174
+-98.642 36.844 3170
+-98.516 36.844 3165
+-98.39 36.844 3160
+-98.264 36.844 3153
+-98.138 36.844 3173
+-98.012 36.844 3163
+-97.886 36.844 3151
+-97.76 36.844 3137
+-97.634 36.844 3203
+-97.508 36.844 3220
+-97.382 36.844 3195
+-97.256 36.844 3277
+-97.13 36.844 3253
+-97.004 36.844 3232
+-96.878 36.844 3255
+-96.752 36.844 3285
+-96.626 36.844 3352
+-96.5 36.844 3428
+-96.374 36.844 3511
+-96.248 36.844 3624
+-96.122 36.844 3690
+-95.996 36.844 3765
+-95.87 36.844 3846
+-95.744 36.844 3822
+-95.618 36.844 3764
+-95.492 36.844 3732
+-95.366 36.844 3692
+-95.24 36.844 3891
+-95.114 36.844 4102
+-94.988 36.844 4259
+-94.862 36.844 4357
+-94.736 36.844 4439
+-94.61 36.844 4537
+-94.484 36.844 4601
+-94.358 36.844 4735
+-94.232 36.844 4867
+-94.106 36.844 4989
+-93.98 36.844 5080
+-93.854 36.844 5184
+-93.728 36.844 5303
+-93.602 36.844 5423
+-93.476 36.844 5587
+-93.35 36.844 5756
+-93.224 36.844 5800
+-93.098 36.844 5908
+-92.972 36.844 6048
+-92.846 36.844 6087
+-92.72 36.844 6190
+-92.594 36.844 6302
+-92.468 36.844 6427
+-92.342 36.844 6533
+-92.216 36.844 6606
+-92.09 36.844 6712
+-91.964 36.844 6740
+-91.838 36.844 6846
+-91.712 36.844 6970
+-91.586 36.844 6980
+-91.46 36.844 7041
+-91.334 36.844 7121
+-91.208 36.844 7175
+-91.082 36.844 7226
+-90.956 36.844 7266
+-90.83 36.844 7320
+-90.704 36.844 7310
+-90.578 36.844 7699
+-90.452 36.844 7741
+-90.326 36.844 7893
+-90.2 36.844 7969
+-90.074 36.844 8130
+-89.948 36.844 8282
+-89.822 36.844 8346
+-89.696 36.844 8441
+-89.57 36.844 8542
+-89.444 36.844 8626
+-89.318 36.844 8760
+-89.192 36.844 8788
+-89.066 36.844 8832
+-88.94 36.844 8828
+-88.814 36.844 8876
+-88.688 36.844 8839
+-88.562 36.844 8810
+-88.436 36.844 8769
+-88.31 36.844 8688
+-88.184 36.844 8597
+-88.058 36.844 8546
+-87.932 36.844 8452
+-87.806 36.844 8365
+-87.68 36.844 8256
+-87.554 36.844 8094
+-87.428 36.844 7963
+-87.302 36.844 7827
+-87.176 36.844 7727
+-87.05 36.844 7570
+-86.924 36.844 7417
+-86.798 36.844 7410
+-86.672 36.844 7259
+-86.546 36.844 7112
+-86.42 36.844 6963
+-86.294 36.844 6767
+-86.168 36.844 6666
+-86.042 36.844 6582
+-85.916 36.844 6456
+-85.79 36.844 6297
+-85.664 36.844 6156
+-85.538 36.844 6051
+-85.412 36.844 5913
+-85.286 36.844 5783
+-85.16 36.844 5590
+-85.034 36.844 5459
+-84.908 36.844 5370
+-84.782 36.844 5241
+-84.656 36.844 5102
+-84.53 36.844 5047
+-84.404 36.844 4980
+-84.278 36.844 4909
+-84.152 36.844 4857
+-84.026 36.844 4813
+-83.9 36.844 4607
+-83.774 36.844 4459
+-83.648 36.844 4360
+-83.522 36.844 4279
+-83.396 36.844 4155
+-83.27 36.844 4051
+-83.144 36.844 3928
+-83.018 36.844 3770
+-82.892 36.844 3644
+-82.766 36.844 3537
+-82.64 36.844 3509
+-82.514 36.844 3552
+-82.388 36.844 3598
+-82.262 36.844 3608
+-82.136 36.844 3547
+-82.01 36.844 3562
+-81.884 36.844 3510
+-81.758 36.844 3523
+-81.632 36.844 3532
+-81.506 36.844 3539
+-81.38 36.844 3543
+-81.254 36.844 3501
+-81.128 36.844 3459
+-81.002 36.844 3403
+-80.876 36.844 3347
+-80.75 36.844 3326
+-80.624 36.844 3325
+-80.498 36.844 3233
+-80.372 36.844 3208
+-80.246 36.844 3205
+-80.12 36.844 3202
+-79.994 36.844 3200
+-79.868 36.844 3199
+-79.742 36.844 3197
+-79.616 36.844 3196
+-79.49 36.844 3195
+-79.364 36.844 3194
+-79.238 36.844 3194
+-79.112 36.844 3194
+-78.986 36.844 3194
+-78.86 36.844 3194
+-78.734 36.844 3194
+-78.608 36.844 3194
+-78.482 36.844 3085
+-78.356 36.844 3083
+-78.23 36.844 3080
+-78.104 36.844 3078
+-77.978 36.844 3075
+-77.852 36.844 3073
+-77.726 36.844 3071
+-77.6 36.844 3069
+-77.474 36.844 3067
+-77.348 36.844 3066
+-77.222 36.844 3064
+-77.096 36.844 3063
+-76.97 36.844 2959
+-76.844 36.844 2958
+-76.718 36.844 2956
+-76.592 36.844 2955
+-76.466 36.844 2954
+-76.34 36.844 2953
+-76.214 36.844 2952
+-76.088 36.844 2951
+-75.962 36.844 2913
+-75.836 36.844 2790
+-75.71 36.844 2789
+-75.584 36.844 2788
+-75.458 36.844 2741
+-75.332 36.844 2755
+-75.206 36.844 2756
+-75.08 36.844 2773
+-74.954 36.844 2787
+-74.828 36.844 2745
+-74.702 36.844 2696
+-74.576 36.844 2697
+-74.45 36.844 2698
+-74.324 36.844 2698
+-74.198 36.844 2717
+-74.072 36.844 2726
+-73.946 36.844 2737
+-73.82 36.844 2738
+-73.694 36.844 2771
+-73.568 36.844 2785
+-73.442 36.844 2788
+-73.316 36.844 2842
+-73.19 36.844 2866
+-73.064 36.844 2848
+-72.938 36.844 2842
+-72.812 36.844 2985
+-72.686 36.844 2988
+-72.56 36.844 3047
+-72.434 36.844 3051
+-72.308 36.844 3054
+-72.182 36.844 3058
+-72.056 36.844 3061
+-71.93 36.844 2985
+-71.804 36.844 3007
+-71.678 36.844 3010
+-71.552 36.844 3002
+-71.426 36.844 3297
+-71.3 36.844 3327
+-71.174 36.844 3329
+-71.048 36.844 3326
+-70.922 36.844 3328
+-70.796 36.844 3333
+-70.67 36.844 3349
+-70.544 36.844 3351
+-70.418 36.844 3340
+-70.292 36.844 3342
+-70.166 36.844 3296
+-70.04 36.844 3298
+-69.914 36.844 3300
+-69.788 36.844 3364
+-69.662 36.844 3360
+-69.536 36.844 3370
+-69.41 36.844 3372
+-69.284 36.844 3352
+-69.158 36.844 3374
+-69.032 36.844 3421
+-68.906 36.844 3433
+-68.78 36.844 3433
+-68.654 36.844 3432
+-68.528 36.844 3485
+-68.402 36.844 3487
+-68.276 36.844 3426
+-68.15 36.844 3450
+-68.024 36.844 3444
+-67.898 36.844 3362
+-67.772 36.844 3276
+-67.646 36.844 3299
+-67.52 36.844 3301
+-67.394 36.844 3335
+-67.268 36.844 3308
+-67.142 36.844 3320
+-67.016 36.844 3322
+-66.89 36.844 3301
+-66.764 36.844 3302
+-66.638 36.844 3304
+-66.512 36.844 3279
+-66.386 36.844 3261
+-66.26 36.844 3298
+-66.134 36.844 3292
+-66.008 36.844 3294
+-65.882 36.844 3295
+-65.756 36.844 3214
+-65.63 36.844 3255
+-65.504 36.844 3251
+-65.378 36.844 3253
+-65.252 36.844 3254
+-65.126 36.844 3487
+-128 36.792 2834
+-127.874 36.792 2830
+-127.748 36.792 2825
+-127.622 36.792 2821
+-127.496 36.792 2816
+-127.37 36.792 2811
+-127.244 36.792 2878
+-127.118 36.792 2902
+-126.992 36.792 2896
+-126.866 36.792 2890
+-126.74 36.792 2953
+-126.614 36.792 2925
+-126.488 36.792 2988
+-126.362 36.792 2980
+-126.236 36.792 2975
+-126.11 36.792 2989
+-125.984 36.792 3061
+-125.858 36.792 3059
+-125.732 36.792 3054
+-125.606 36.792 3148
+-125.48 36.792 3148
+-125.354 36.792 3223
+-125.228 36.792 3223
+-125.102 36.792 3196
+-124.976 36.792 3199
+-124.85 36.792 3249
+-124.724 36.792 3258
+-124.598 36.792 3265
+-124.472 36.792 3270
+-124.346 36.792 3274
+-124.22 36.792 3328
+-124.094 36.792 3323
+-123.968 36.792 3318
+-123.842 36.792 3296
+-123.716 36.792 3314
+-123.59 36.792 3264
+-123.464 36.792 3224
+-123.338 36.792 3202
+-123.212 36.792 3150
+-123.086 36.792 3156
+-122.96 36.792 3242
+-122.834 36.792 3387
+-122.708 36.792 3640
+-122.582 36.792 3790
+-122.456 36.792 3923
+-122.33 36.792 4054
+-122.204 36.792 4151
+-122.078 36.792 4222
+-121.952 36.792 4275
+-121.826 36.792 4335
+-121.7 36.792 4366
+-121.574 36.792 4306
+-121.448 36.792 4210
+-121.322 36.792 4367
+-121.196 36.792 4604
+-121.07 36.792 4739
+-120.944 36.792 4843
+-120.818 36.792 4879
+-120.692 36.792 4886
+-120.566 36.792 4973
+-120.44 36.792 5105
+-120.314 36.792 5232
+-120.188 36.792 5337
+-120.062 36.792 5449
+-119.936 36.792 5506
+-119.81 36.792 5573
+-119.684 36.792 5673
+-119.558 36.792 5770
+-119.432 36.792 5872
+-119.306 36.792 5909
+-119.18 36.792 6000
+-119.054 36.792 6097
+-118.928 36.792 6196
+-118.802 36.792 6248
+-118.676 36.792 6350
+-118.55 36.792 6359
+-118.424 36.792 6438
+-118.298 36.792 6442
+-118.172 36.792 6498
+-118.046 36.792 6544
+-117.92 36.792 6564
+-117.794 36.792 6633
+-117.668 36.792 6647
+-117.542 36.792 6654
+-117.416 36.792 6662
+-117.29 36.792 6672
+-117.164 36.792 6670
+-117.038 36.792 6671
+-116.912 36.792 6637
+-116.786 36.792 6602
+-116.66 36.792 6592
+-116.534 36.792 6539
+-116.408 36.792 6498
+-116.282 36.792 6470
+-116.156 36.792 6380
+-116.03 36.792 6360
+-115.904 36.792 6278
+-115.778 36.792 6251
+-115.652 36.792 6160
+-115.526 36.792 6056
+-115.4 36.792 6010
+-115.274 36.792 5908
+-115.148 36.792 5802
+-115.022 36.792 5732
+-114.896 36.792 5684
+-114.77 36.792 5586
+-114.644 36.792 5476
+-114.518 36.792 5412
+-114.392 36.792 5274
+-114.266 36.792 5189
+-114.14 36.792 5107
+-114.014 36.792 4945
+-113.888 36.792 4845
+-113.762 36.792 4817
+-113.636 36.792 4758
+-113.51 36.792 4598
+-113.384 36.792 4375
+-113.258 36.792 4255
+-113.132 36.792 4258
+-113.006 36.792 4165
+-112.88 36.792 4090
+-112.754 36.792 4031
+-112.628 36.792 3962
+-112.502 36.792 3901
+-112.376 36.792 3835
+-112.25 36.792 3739
+-112.124 36.792 3667
+-111.998 36.792 3609
+-111.872 36.792 3656
+-111.746 36.792 3719
+-111.62 36.792 3765
+-111.494 36.792 3785
+-111.368 36.792 3796
+-111.242 36.792 3800
+-111.116 36.792 3803
+-110.99 36.792 3809
+-110.864 36.792 3803
+-110.738 36.792 3805
+-110.612 36.792 3816
+-110.486 36.792 3823
+-110.36 36.792 3837
+-110.234 36.792 3861
+-110.108 36.792 3847
+-109.982 36.792 3832
+-109.856 36.792 3795
+-109.73 36.792 3770
+-109.604 36.792 3771
+-109.478 36.792 3773
+-109.352 36.792 3780
+-109.226 36.792 3799
+-109.1 36.792 3789
+-108.974 36.792 3767
+-108.848 36.792 3778
+-108.722 36.792 3747
+-108.596 36.792 3676
+-108.47 36.792 3609
+-108.344 36.792 3507
+-108.218 36.792 3413
+-108.092 36.792 3352
+-107.966 36.792 3328
+-107.84 36.792 3322
+-107.714 36.792 3241
+-107.588 36.792 3159
+-107.462 36.792 3059
+-107.336 36.792 3008
+-107.21 36.792 3014
+-107.084 36.792 3025
+-106.958 36.792 3005
+-106.832 36.792 2946
+-106.706 36.792 2850
+-106.58 36.792 2733
+-106.454 36.792 2618
+-106.328 36.792 2536
+-106.202 36.792 2430
+-106.076 36.792 2249
+-105.95 36.792 2148
+-105.824 36.792 2205
+-105.698 36.792 2333
+-105.572 36.792 2463
+-105.446 36.792 2570
+-105.32 36.792 2657
+-105.194 36.792 2727
+-105.068 36.792 2770
+-104.942 36.792 2815
+-104.816 36.792 2827
+-104.69 36.792 2858
+-104.564 36.792 2884
+-104.438 36.792 2906
+-104.312 36.792 2926
+-104.186 36.792 2943
+-104.06 36.792 2958
+-103.934 36.792 2971
+-103.808 36.792 2983
+-103.682 36.792 2994
+-103.556 36.792 3052
+-103.43 36.792 3070
+-103.304 36.792 3066
+-103.178 36.792 3080
+-103.052 36.792 3090
+-102.926 36.792 3100
+-102.8 36.792 3109
+-102.674 36.792 3117
+-102.548 36.792 3125
+-102.422 36.792 3133
+-102.296 36.792 3116
+-102.17 36.792 3195
+-102.044 36.792 3049
+-101.918 36.792 2971
+-101.792 36.792 2922
+-101.666 36.792 2872
+-101.54 36.792 2805
+-101.414 36.792 2757
+-101.288 36.792 2752
+-101.162 36.792 2745
+-101.036 36.792 2781
+-100.91 36.792 2891
+-100.784 36.792 2937
+-100.658 36.792 3040
+-100.532 36.792 3068
+-100.406 36.792 3066
+-100.28 36.792 3064
+-100.154 36.792 3061
+-100.028 36.792 3059
+-99.902 36.792 3056
+-99.776 36.792 3101
+-99.65 36.792 3097
+-99.524 36.792 3096
+-99.398 36.792 3108
+-99.272 36.792 3103
+-99.146 36.792 3113
+-99.02 36.792 3136
+-98.894 36.792 3165
+-98.768 36.792 3161
+-98.642 36.792 3156
+-98.516 36.792 3150
+-98.39 36.792 3143
+-98.264 36.792 3162
+-98.138 36.792 3151
+-98.012 36.792 3138
+-97.886 36.792 3131
+-97.76 36.792 3111
+-97.634 36.792 3091
+-97.508 36.792 3116
+-97.382 36.792 3138
+-97.256 36.792 3095
+-97.13 36.792 3117
+-97.004 36.792 3116
+-96.878 36.792 3099
+-96.752 36.792 3134
+-96.626 36.792 3207
+-96.5 36.792 3316
+-96.374 36.792 3434
+-96.248 36.792 3573
+-96.122 36.792 3733
+-95.996 36.792 3804
+-95.87 36.792 3834
+-95.744 36.792 3851
+-95.618 36.792 3833
+-95.492 36.792 3831
+-95.366 36.792 3836
+-95.24 36.792 3910
+-95.114 36.792 4053
+-94.988 36.792 4235
+-94.862 36.792 4365
+-94.736 36.792 4382
+-94.61 36.792 4503
+-94.484 36.792 4630
+-94.358 36.792 4762
+-94.232 36.792 4874
+-94.106 36.792 4955
+-93.98 36.792 5008
+-93.854 36.792 5136
+-93.728 36.792 5272
+-93.602 36.792 5382
+-93.476 36.792 5506
+-93.35 36.792 5720
+-93.224 36.792 5804
+-93.098 36.792 5890
+-92.972 36.792 5987
+-92.846 36.792 6001
+-92.72 36.792 6156
+-92.594 36.792 6298
+-92.468 36.792 6385
+-92.342 36.792 6480
+-92.216 36.792 6587
+-92.09 36.792 6638
+-91.964 36.792 6759
+-91.838 36.792 6810
+-91.712 36.792 6869
+-91.586 36.792 6983
+-91.46 36.792 6994
+-91.334 36.792 7058
+-91.208 36.792 7099
+-91.082 36.792 7166
+-90.956 36.792 7201
+-90.83 36.792 7254
+-90.704 36.792 7282
+-90.578 36.792 7555
+-90.452 36.792 7713
+-90.326 36.792 7847
+-90.2 36.792 7988
+-90.074 36.792 8112
+-89.948 36.792 8205
+-89.822 36.792 8343
+-89.696 36.792 8399
+-89.57 36.792 8489
+-89.444 36.792 8597
+-89.318 36.792 8672
+-89.192 36.792 8706
+-89.066 36.792 8755
+-88.94 36.792 8804
+-88.814 36.792 8786
+-88.688 36.792 8785
+-88.562 36.792 8770
+-88.436 36.792 8671
+-88.31 36.792 8638
+-88.184 36.792 8539
+-88.058 36.792 8482
+-87.932 36.792 8376
+-87.806 36.792 8304
+-87.68 36.792 8198
+-87.554 36.792 8094
+-87.428 36.792 7949
+-87.302 36.792 7828
+-87.176 36.792 7745
+-87.05 36.792 7558
+-86.924 36.792 7476
+-86.798 36.792 7381
+-86.672 36.792 7247
+-86.546 36.792 7066
+-86.42 36.792 6903
+-86.294 36.792 6845
+-86.168 36.792 6681
+-86.042 36.792 6597
+-85.916 36.792 6426
+-85.79 36.792 6323
+-85.664 36.792 6158
+-85.538 36.792 5998
+-85.412 36.792 5870
+-85.286 36.792 5743
+-85.16 36.792 5541
+-85.034 36.792 5394
+-84.908 36.792 5359
+-84.782 36.792 5187
+-84.656 36.792 5045
+-84.53 36.792 4966
+-84.404 36.792 4928
+-84.278 36.792 4906
+-84.152 36.792 4826
+-84.026 36.792 4777
+-83.9 36.792 4622
+-83.774 36.792 4477
+-83.648 36.792 4366
+-83.522 36.792 4266
+-83.396 36.792 4173
+-83.27 36.792 4025
+-83.144 36.792 3840
+-83.018 36.792 3634
+-82.892 36.792 3401
+-82.766 36.792 3275
+-82.64 36.792 3302
+-82.514 36.792 3382
+-82.388 36.792 3464
+-82.262 36.792 3493
+-82.136 36.792 3524
+-82.01 36.792 3537
+-81.884 36.792 3485
+-81.758 36.792 3501
+-81.632 36.792 3512
+-81.506 36.792 3506
+-81.38 36.792 3510
+-81.254 36.792 3513
+-81.128 36.792 3433
+-81.002 36.792 3374
+-80.876 36.792 3354
+-80.75 36.792 3267
+-80.624 36.792 3222
+-80.498 36.792 3196
+-80.372 36.792 3193
+-80.246 36.792 3190
+-80.12 36.792 3189
+-79.994 36.792 3187
+-79.868 36.792 3186
+-79.742 36.792 3185
+-79.616 36.792 3184
+-79.49 36.792 3184
+-79.364 36.792 3184
+-79.238 36.792 3184
+-79.112 36.792 3184
+-78.986 36.792 3184
+-78.86 36.792 3185
+-78.734 36.792 3185
+-78.608 36.792 3078
+-78.482 36.792 3075
+-78.356 36.792 3073
+-78.23 36.792 3070
+-78.104 36.792 3068
+-77.978 36.792 3066
+-77.852 36.792 3064
+-77.726 36.792 3062
+-77.6 36.792 3060
+-77.474 36.792 3058
+-77.348 36.792 3057
+-77.222 36.792 3056
+-77.096 36.792 3054
+-76.97 36.792 3053
+-76.844 36.792 2949
+-76.718 36.792 2948
+-76.592 36.792 2947
+-76.466 36.792 2946
+-76.34 36.792 2945
+-76.214 36.792 2944
+-76.088 36.792 2907
+-75.962 36.792 2783
+-75.836 36.792 2782
+-75.71 36.792 2781
+-75.584 36.792 2796
+-75.458 36.792 2749
+-75.332 36.792 2767
+-75.206 36.792 2767
+-75.08 36.792 2781
+-74.954 36.792 2748
+-74.828 36.792 2691
+-74.702 36.792 2692
+-74.576 36.792 2693
+-74.45 36.792 2694
+-74.324 36.792 2712
+-74.198 36.792 2721
+-74.072 36.792 2732
+-73.946 36.792 2733
+-73.82 36.792 2767
+-73.694 36.792 2781
+-73.568 36.792 2784
+-73.442 36.792 2839
+-73.316 36.792 2862
+-73.19 36.792 2845
+-73.064 36.792 2839
+-72.938 36.792 2981
+-72.812 36.792 2985
+-72.686 36.792 3044
+-72.56 36.792 3047
+-72.434 36.792 3051
+-72.308 36.792 3055
+-72.182 36.792 3058
+-72.056 36.792 2983
+-71.93 36.792 3004
+-71.804 36.792 3007
+-71.678 36.792 3000
+-71.552 36.792 3294
+-71.426 36.792 3324
+-71.3 36.792 3326
+-71.174 36.792 3323
+-71.048 36.792 3325
+-70.922 36.792 3330
+-70.796 36.792 3347
+-70.67 36.792 3349
+-70.544 36.792 3338
+-70.418 36.792 3340
+-70.292 36.792 3294
+-70.166 36.792 3296
+-70.04 36.792 3298
+-69.914 36.792 3362
+-69.788 36.792 3358
+-69.662 36.792 3368
+-69.536 36.792 3370
+-69.41 36.792 3350
+-69.284 36.792 3372
+-69.158 36.792 3419
+-69.032 36.792 3431
+-68.906 36.792 3431
+-68.78 36.792 3430
+-68.654 36.792 3483
+-68.528 36.792 3485
+-68.402 36.792 3425
+-68.276 36.792 3449
+-68.15 36.792 3442
+-68.024 36.792 3364
+-67.898 36.792 3274
+-67.772 36.792 3298
+-67.646 36.792 3300
+-67.52 36.792 3333
+-67.394 36.792 3306
+-67.268 36.792 3319
+-67.142 36.792 3320
+-67.016 36.792 3300
+-66.89 36.792 3301
+-66.764 36.792 3303
+-66.638 36.792 3278
+-66.512 36.792 3260
+-66.386 36.792 3297
+-66.26 36.792 3291
+-66.134 36.792 3293
+-66.008 36.792 3294
+-65.882 36.792 3213
+-65.756 36.792 3254
+-65.63 36.792 3250
+-65.504 36.792 3252
+-65.378 36.792 3253
+-65.252 36.792 3486
+-65.126 36.792 3409
+-128 36.74 2913
+-127.874 36.74 2907
+-127.748 36.74 2901
+-127.622 36.74 2895
+-127.496 36.74 2889
+-127.37 36.74 2882
+-127.244 36.74 2876
+-127.118 36.74 2869
+-126.992 36.74 2892
+-126.866 36.74 2953
+-126.74 36.74 2993
+-126.614 36.74 2984
+-126.488 36.74 2976
+-126.362 36.74 2967
+-126.236 36.74 2959
+-126.11 36.74 2953
+-125.984 36.74 2965
+-125.858 36.74 3034
+-125.732 36.74 3031
+-125.606 36.74 3026
+-125.48 36.74 3118
+-125.354 36.74 3118
+-125.228 36.74 3192
+-125.102 36.74 3194
+-124.976 36.74 3215
+-124.85 36.74 3220
+-124.724 36.74 3227
+-124.598 36.74 3240
+-124.472 36.74 3250
+-124.346 36.74 3260
+-124.22 36.74 3267
+-124.094 36.74 3333
+-123.968 36.74 3332
+-123.842 36.74 3370
+-123.716 36.74 3368
+-123.59 36.74 3343
+-123.464 36.74 3307
+-123.338 36.74 3307
+-123.212 36.74 3352
+-123.086 36.74 3377
+-122.96 36.74 3446
+-122.834 36.74 3640
+-122.708 36.74 3743
+-122.582 36.74 3832
+-122.456 36.74 3913
+-122.33 36.74 4001
+-122.204 36.74 4117
+-122.078 36.74 4214
+-121.952 36.74 4285
+-121.826 36.74 4359
+-121.7 36.74 4389
+-121.574 36.74 4354
+-121.448 36.74 4339
+-121.322 36.74 4441
+-121.196 36.74 4643
+-121.07 36.74 4785
+-120.944 36.74 4858
+-120.818 36.74 4877
+-120.692 36.74 4913
+-120.566 36.74 5008
+-120.44 36.74 5126
+-120.314 36.74 5268
+-120.188 36.74 5401
+-120.062 36.74 5507
+-119.936 36.74 5524
+-119.81 36.74 5594
+-119.684 36.74 5737
+-119.558 36.74 5816
+-119.432 36.74 5892
+-119.306 36.74 5983
+-119.18 36.74 6051
+-119.054 36.74 6130
+-118.928 36.74 6223
+-118.802 36.74 6289
+-118.676 36.74 6365
+-118.55 36.74 6418
+-118.424 36.74 6465
+-118.298 36.74 6501
+-118.172 36.74 6568
+-118.046 36.74 6595
+-117.92 36.74 6640
+-117.794 36.74 6667
+-117.668 36.74 6682
+-117.542 36.74 6704
+-117.416 36.74 6706
+-117.29 36.74 6729
+-117.164 36.74 6738
+-117.038 36.74 6717
+-116.912 36.74 6668
+-116.786 36.74 6682
+-116.66 36.74 6634
+-116.534 36.74 6598
+-116.408 36.74 6562
+-116.282 36.74 6521
+-116.156 36.74 6447
+-116.03 36.74 6402
+-115.904 36.74 6313
+-115.778 36.74 6295
+-115.652 36.74 6225
+-115.526 36.74 6128
+-115.4 36.74 6015
+-115.274 36.74 5963
+-115.148 36.74 5870
+-115.022 36.74 5809
+-114.896 36.74 5734
+-114.77 36.74 5594
+-114.644 36.74 5409
+-114.518 36.74 5446
+-114.392 36.74 5290
+-114.266 36.74 5186
+-114.14 36.74 5142
+-114.014 36.74 4995
+-113.888 36.74 4870
+-113.762 36.74 4766
+-113.636 36.74 4782
+-113.51 36.74 4642
+-113.384 36.74 4463
+-113.258 36.74 4317
+-113.132 36.74 4283
+-113.006 36.74 4182
+-112.88 36.74 4134
+-112.754 36.74 4075
+-112.628 36.74 4009
+-112.502 36.74 3946
+-112.376 36.74 3879
+-112.25 36.74 3812
+-112.124 36.74 3758
+-111.998 36.74 3743
+-111.872 36.74 3749
+-111.746 36.74 3783
+-111.62 36.74 3820
+-111.494 36.74 3834
+-111.368 36.74 3843
+-111.242 36.74 3847
+-111.116 36.74 3838
+-110.99 36.74 3828
+-110.864 36.74 3830
+-110.738 36.74 3842
+-110.612 36.74 3853
+-110.486 36.74 3876
+-110.36 36.74 3897
+-110.234 36.74 3919
+-110.108 36.74 3924
+-109.982 36.74 3905
+-109.856 36.74 3870
+-109.73 36.74 3844
+-109.604 36.74 3848
+-109.478 36.74 3834
+-109.352 36.74 3847
+-109.226 36.74 3850
+-109.1 36.74 3849
+-108.974 36.74 3824
+-108.848 36.74 3807
+-108.722 36.74 3782
+-108.596 36.74 3744
+-108.47 36.74 3662
+-108.344 36.74 3615
+-108.218 36.74 3542
+-108.092 36.74 3468
+-107.966 36.74 3441
+-107.84 36.74 3397
+-107.714 36.74 3313
+-107.588 36.74 3239
+-107.462 36.74 3188
+-107.336 36.74 3139
+-107.21 36.74 3111
+-107.084 36.74 3083
+-106.958 36.74 3038
+-106.832 36.74 2959
+-106.706 36.74 2842
+-106.58 36.74 2692
+-106.454 36.74 2567
+-106.328 36.74 2509
+-106.202 36.74 2489
+-106.076 36.74 2421
+-105.95 36.74 2353
+-105.824 36.74 2369
+-105.698 36.74 2446
+-105.572 36.74 2536
+-105.446 36.74 2621
+-105.32 36.74 2694
+-105.194 36.74 2742
+-105.068 36.74 2791
+-104.942 36.74 2846
+-104.816 36.74 2883
+-104.69 36.74 2915
+-104.564 36.74 2896
+-104.438 36.74 2917
+-104.312 36.74 2936
+-104.186 36.74 2952
+-104.06 36.74 2966
+-103.934 36.74 2978
+-103.808 36.74 2990
+-103.682 36.74 3046
+-103.556 36.74 3064
+-103.43 36.74 3061
+-103.304 36.74 3074
+-103.178 36.74 3085
+-103.052 36.74 3095
+-102.926 36.74 3105
+-102.8 36.74 3114
+-102.674 36.74 3122
+-102.548 36.74 3130
+-102.422 36.74 3114
+-102.296 36.74 3192
+-102.17 36.74 3197
+-102.044 36.74 3110
+-101.918 36.74 2962
+-101.792 36.74 2973
+-101.666 36.74 2876
+-101.54 36.74 2808
+-101.414 36.74 2824
+-101.288 36.74 2753
+-101.162 36.74 2743
+-101.036 36.74 2778
+-100.91 36.74 2884
+-100.784 36.74 2929
+-100.658 36.74 3033
+-100.532 36.74 3060
+-100.406 36.74 3058
+-100.28 36.74 3055
+-100.154 36.74 3052
+-100.028 36.74 3049
+-99.902 36.74 3093
+-99.776 36.74 3089
+-99.65 36.74 3088
+-99.524 36.74 3100
+-99.398 36.74 3096
+-99.272 36.74 3105
+-99.146 36.74 3128
+-99.02 36.74 3157
+-98.894 36.74 3152
+-98.768 36.74 3147
+-98.642 36.74 3141
+-98.516 36.74 3133
+-98.39 36.74 3153
+-98.264 36.74 3142
+-98.138 36.74 3129
+-98.012 36.74 3122
+-97.886 36.74 3086
+-97.76 36.74 3062
+-97.634 36.74 3103
+-97.508 36.74 3065
+-97.382 36.74 3016
+-97.256 36.74 3005
+-97.13 36.74 2989
+-97.004 36.74 2909
+-96.878 36.74 2889
+-96.752 36.74 2895
+-96.626 36.74 2988
+-96.5 36.74 3148
+-96.374 36.74 3356
+-96.248 36.74 3580
+-96.122 36.74 3696
+-95.996 36.74 3790
+-95.87 36.74 3835
+-95.744 36.74 3880
+-95.618 36.74 3883
+-95.492 36.74 3894
+-95.366 36.74 3901
+-95.24 36.74 3837
+-95.114 36.74 3998
+-94.988 36.74 4225
+-94.862 36.74 4361
+-94.736 36.74 4418
+-94.61 36.74 4500
+-94.484 36.74 4641
+-94.358 36.74 4788
+-94.232 36.74 4796
+-94.106 36.74 4921
+-93.98 36.74 5027
+-93.854 36.74 5107
+-93.728 36.74 5307
+-93.602 36.74 5327
+-93.476 36.74 5484
+-93.35 36.74 5684
+-93.224 36.74 5757
+-93.098 36.74 5854
+-92.972 36.74 5949
+-92.846 36.74 6042
+-92.72 36.74 6151
+-92.594 36.74 6210
+-92.468 36.74 6325
+-92.342 36.74 6430
+-92.216 36.74 6539
+-92.09 36.74 6622
+-91.964 36.74 6645
+-91.838 36.74 6794
+-91.712 36.74 6828
+-91.586 36.74 6924
+-91.46 36.74 6966
+-91.334 36.74 7038
+-91.208 36.74 7073
+-91.082 36.74 7137
+-90.956 36.74 7165
+-90.83 36.74 7210
+-90.704 36.74 7219
+-90.578 36.74 7489
+-90.452 36.74 7687
+-90.326 36.74 7848
+-90.2 36.74 7916
+-90.074 36.74 8043
+-89.948 36.74 8146
+-89.822 36.74 8267
+-89.696 36.74 8356
+-89.57 36.74 8466
+-89.444 36.74 8560
+-89.318 36.74 8669
+-89.192 36.74 8674
+-89.066 36.74 8713
+-88.94 36.74 8729
+-88.814 36.74 8736
+-88.688 36.74 8733
+-88.562 36.74 8706
+-88.436 36.74 8658
+-88.31 36.74 8617
+-88.184 36.74 8556
+-88.058 36.74 8430
+-87.932 36.74 8337
+-87.806 36.74 8239
+-87.68 36.74 8130
+-87.554 36.74 8057
+-87.428 36.74 7908
+-87.302 36.74 7801
+-87.176 36.74 7643
+-87.05 36.74 7534
+-86.924 36.74 7390
+-86.798 36.74 7325
+-86.672 36.74 7207
+-86.546 36.74 7072
+-86.42 36.74 6908
+-86.294 36.74 6747
+-86.168 36.74 6647
+-86.042 36.74 6534
+-85.916 36.74 6416
+-85.79 36.74 6259
+-85.664 36.74 6142
+-85.538 36.74 5964
+-85.412 36.74 5777
+-85.286 36.74 5744
+-85.16 36.74 5570
+-85.034 36.74 5447
+-84.908 36.74 5327
+-84.782 36.74 5123
+-84.656 36.74 4985
+-84.53 36.74 4852
+-84.404 36.74 4881
+-84.278 36.74 4852
+-84.152 36.74 4821
+-84.026 36.74 4732
+-83.9 36.74 4591
+-83.774 36.74 4457
+-83.648 36.74 4342
+-83.522 36.74 4220
+-83.396 36.74 4117
+-83.27 36.74 3990
+-83.144 36.74 3765
+-83.018 36.74 3456
+-82.892 36.74 3134
+-82.766 36.74 2990
+-82.64 36.74 3070
+-82.514 36.74 3227
+-82.388 36.74 3345
+-82.262 36.74 3426
+-82.136 36.74 3493
+-82.01 36.74 3538
+-81.884 36.74 3542
+-81.758 36.74 3469
+-81.632 36.74 3480
+-81.506 36.74 3487
+-81.38 36.74 3492
+-81.254 36.74 3461
+-81.128 36.74 3463
+-81.002 36.74 3327
+-80.876 36.74 3276
+-80.75 36.74 3250
+-80.624 36.74 3224
+-80.498 36.74 3201
+-80.372 36.74 3176
+-80.246 36.74 3175
+-80.12 36.74 3173
+-79.994 36.74 3173
+-79.868 36.74 3172
+-79.742 36.74 3172
+-79.616 36.74 3172
+-79.49 36.74 3172
+-79.364 36.74 3172
+-79.238 36.74 3173
+-79.112 36.74 3174
+-78.986 36.74 3174
+-78.86 36.74 3175
+-78.734 36.74 3069
+-78.608 36.74 3066
+-78.482 36.74 3064
+-78.356 36.74 3062
+-78.23 36.74 3060
+-78.104 36.74 3058
+-77.978 36.74 3056
+-77.852 36.74 3054
+-77.726 36.74 3052
+-77.6 36.74 3051
+-77.474 36.74 3049
+-77.348 36.74 3048
+-77.222 36.74 3047
+-77.096 36.74 3045
+-76.97 36.74 3044
+-76.844 36.74 3043
+-76.718 36.74 2939
+-76.592 36.74 2938
+-76.466 36.74 2938
+-76.34 36.74 2937
+-76.214 36.74 2899
+-76.088 36.74 2775
+-75.962 36.74 2774
+-75.836 36.74 2774
+-75.71 36.74 2788
+-75.584 36.74 2742
+-75.458 36.74 2760
+-75.332 36.74 2760
+-75.206 36.74 2775
+-75.08 36.74 2742
+-74.954 36.74 2686
+-74.828 36.74 2686
+-74.702 36.74 2687
+-74.576 36.74 2688
+-74.45 36.74 2708
+-74.324 36.74 2716
+-74.198 36.74 2728
+-74.072 36.74 2729
+-73.946 36.74 2763
+-73.82 36.74 2778
+-73.694 36.74 2780
+-73.568 36.74 2835
+-73.442 36.74 2859
+-73.316 36.74 2842
+-73.19 36.74 2835
+-73.064 36.74 2978
+-72.938 36.74 2981
+-72.812 36.74 3040
+-72.686 36.74 3044
+-72.56 36.74 3047
+-72.434 36.74 3051
+-72.308 36.74 3055
+-72.182 36.74 2980
+-72.056 36.74 3002
+-71.93 36.74 3005
+-71.804 36.74 2997
+-71.678 36.74 3291
+-71.552 36.74 3321
+-71.426 36.74 3323
+-71.3 36.74 3320
+-71.174 36.74 3322
+-71.048 36.74 3328
+-70.922 36.74 3344
+-70.796 36.74 3346
+-70.67 36.74 3336
+-70.544 36.74 3338
+-70.418 36.74 3292
+-70.292 36.74 3294
+-70.166 36.74 3296
+-70.04 36.74 3360
+-69.914 36.74 3356
+-69.788 36.74 3366
+-69.662 36.74 3368
+-69.536 36.74 3348
+-69.41 36.74 3370
+-69.284 36.74 3417
+-69.158 36.74 3429
+-69.032 36.74 3429
+-68.906 36.74 3428
+-68.78 36.74 3481
+-68.654 36.74 3483
+-68.528 36.74 3423
+-68.402 36.74 3447
+-68.276 36.74 3441
+-68.15 36.74 3359
+-68.024 36.74 3273
+-67.898 36.74 3297
+-67.772 36.74 3298
+-67.646 36.74 3332
+-67.52 36.74 3305
+-67.394 36.74 3318
+-67.268 36.74 3319
+-67.142 36.74 3299
+-67.016 36.74 3300
+-66.89 36.74 3302
+-66.764 36.74 3277
+-66.638 36.74 3259
+-66.512 36.74 3296
+-66.386 36.74 3290
+-66.26 36.74 3292
+-66.134 36.74 3293
+-66.008 36.74 3212
+-65.882 36.74 3253
+-65.756 36.74 3249
+-65.63 36.74 3251
+-65.504 36.74 3252
+-65.378 36.74 3485
+-65.252 36.74 3405
+-65.126 36.74 3419
+-128 36.688 2912
+-127.874 36.688 2907
+-127.748 36.688 2900
+-127.622 36.688 2894
+-127.496 36.688 2887
+-127.37 36.688 2880
+-127.244 36.688 2873
+-127.118 36.688 3019
+-126.992 36.688 3009
+-126.866 36.688 2999
+-126.74 36.688 2983
+-126.614 36.688 2973
+-126.488 36.688 2963
+-126.362 36.688 2954
+-126.236 36.688 2944
+-126.11 36.688 2934
+-125.984 36.688 2966
+-125.858 36.688 2937
+-125.732 36.688 3003
+-125.606 36.688 2999
+-125.48 36.688 2993
+-125.354 36.688 3108
+-125.228 36.688 3108
+-125.102 36.688 3158
+-124.976 36.688 3161
+-124.85 36.688 3185
+-124.724 36.688 3195
+-124.598 36.688 3207
+-124.472 36.688 3245
+-124.346 36.688 3240
+-124.22 36.688 3255
+-124.094 36.688 3329
+-123.968 36.688 3339
+-123.842 36.688 3345
+-123.716 36.688 3392
+-123.59 36.688 3405
+-123.464 36.688 3402
+-123.338 36.688 3395
+-123.212 36.688 3439
+-123.086 36.688 3533
+-122.96 36.688 3604
+-122.834 36.688 3668
+-122.708 36.688 3804
+-122.582 36.688 3845
+-122.456 36.688 3878
+-122.33 36.688 3931
+-122.204 36.688 4042
+-122.078 36.688 4176
+-121.952 36.688 4294
+-121.826 36.688 4369
+-121.7 36.688 4439
+-121.574 36.688 4382
+-121.448 36.688 4294
+-121.322 36.688 4474
+-121.196 36.688 4702
+-121.07 36.688 4814
+-120.944 36.688 4854
+-120.818 36.688 4813
+-120.692 36.688 4927
+-120.566 36.688 5032
+-120.44 36.688 5170
+-120.314 36.688 5302
+-120.188 36.688 5351
+-120.062 36.688 5510
+-119.936 36.688 5586
+-119.81 36.688 5679
+-119.684 36.688 5777
+-119.558 36.688 5869
+-119.432 36.688 5936
+-119.306 36.688 5999
+-119.18 36.688 6152
+-119.054 36.688 6166
+-118.928 36.688 6270
+-118.802 36.688 6382
+-118.676 36.688 6415
+-118.55 36.688 6486
+-118.424 36.688 6523
+-118.298 36.688 6560
+-118.172 36.688 6636
+-118.046 36.688 6662
+-117.92 36.688 6717
+-117.794 36.688 6719
+-117.668 36.688 6751
+-117.542 36.688 6769
+-117.416 36.688 6773
+-117.29 36.688 6796
+-117.164 36.688 6792
+-117.038 36.688 6735
+-116.912 36.688 6749
+-116.786 36.688 6718
+-116.66 36.688 6686
+-116.534 36.688 6646
+-116.408 36.688 6641
+-116.282 36.688 6576
+-116.156 36.688 6515
+-116.03 36.688 6438
+-115.904 36.688 6354
+-115.778 36.688 6300
+-115.652 36.688 6265
+-115.526 36.688 6189
+-115.4 36.688 6082
+-115.274 36.688 5971
+-115.148 36.688 5944
+-115.022 36.688 5825
+-114.896 36.688 5753
+-114.77 36.688 5620
+-114.644 36.688 5548
+-114.518 36.688 5452
+-114.392 36.688 5332
+-114.266 36.688 5246
+-114.14 36.688 5175
+-114.014 36.688 5014
+-113.888 36.688 4828
+-113.762 36.688 4849
+-113.636 36.688 4799
+-113.51 36.688 4671
+-113.384 36.688 4524
+-113.258 36.688 4387
+-113.132 36.688 4253
+-113.006 36.688 4148
+-112.88 36.688 4121
+-112.754 36.688 4093
+-112.628 36.688 4034
+-112.502 36.688 3965
+-112.376 36.688 3898
+-112.25 36.688 3857
+-112.124 36.688 3811
+-111.998 36.688 3799
+-111.872 36.688 3809
+-111.746 36.688 3835
+-111.62 36.688 3851
+-111.494 36.688 3834
+-111.368 36.688 3866
+-111.242 36.688 3896
+-111.116 36.688 3896
+-110.99 36.688 3890
+-110.864 36.688 3891
+-110.738 36.688 3910
+-110.612 36.688 3934
+-110.486 36.688 3965
+-110.36 36.688 3993
+-110.234 36.688 4013
+-110.108 36.688 4005
+-109.982 36.688 3990
+-109.856 36.688 3964
+-109.73 36.688 3941
+-109.604 36.688 3940
+-109.478 36.688 3934
+-109.352 36.688 3930
+-109.226 36.688 3910
+-109.1 36.688 3887
+-108.974 36.688 3863
+-108.848 36.688 3835
+-108.722 36.688 3808
+-108.596 36.688 3771
+-108.47 36.688 3730
+-108.344 36.688 3695
+-108.218 36.688 3654
+-108.092 36.688 3615
+-107.966 36.688 3555
+-107.84 36.688 3490
+-107.714 36.688 3418
+-107.588 36.688 3340
+-107.462 36.688 3286
+-107.336 36.688 3237
+-107.21 36.688 3187
+-107.084 36.688 3142
+-106.958 36.688 3079
+-106.832 36.688 2986
+-106.706 36.688 2845
+-106.58 36.688 2688
+-106.454 36.688 2536
+-106.328 36.688 2473
+-106.202 36.688 2505
+-106.076 36.688 2523
+-105.95 36.688 2513
+-105.824 36.688 2523
+-105.698 36.688 2564
+-105.572 36.688 2622
+-105.446 36.688 2684
+-105.32 36.688 2729
+-105.194 36.688 2777
+-105.068 36.688 2831
+-104.942 36.688 2869
+-104.816 36.688 2902
+-104.69 36.688 2930
+-104.564 36.688 2955
+-104.438 36.688 2929
+-104.312 36.688 2946
+-104.186 36.688 2961
+-104.06 36.688 2975
+-103.934 36.688 2987
+-103.808 36.688 3041
+-103.682 36.688 3059
+-103.556 36.688 3057
+-103.43 36.688 3070
+-103.304 36.688 3081
+-103.178 36.688 3091
+-103.052 36.688 3101
+-102.926 36.688 3110
+-102.8 36.688 3119
+-102.674 36.688 3127
+-102.548 36.688 3112
+-102.422 36.688 3188
+-102.296 36.688 3194
+-102.17 36.688 3212
+-102.044 36.688 3103
+-101.918 36.688 3020
+-101.792 36.688 2979
+-101.666 36.688 2881
+-101.54 36.688 2811
+-101.414 36.688 2827
+-101.288 36.688 2753
+-101.162 36.688 2741
+-101.036 36.688 2779
+-100.91 36.688 2878
+-100.784 36.688 2921
+-100.658 36.688 3026
+-100.532 36.688 3053
+-100.406 36.688 3050
+-100.28 36.688 3047
+-100.154 36.688 3043
+-100.028 36.688 3087
+-99.902 36.688 3082
+-99.776 36.688 3082
+-99.65 36.688 3093
+-99.524 36.688 3088
+-99.398 36.688 3098
+-99.272 36.688 3120
+-99.146 36.688 3150
+-99.02 36.688 3145
+-98.894 36.688 3139
+-98.768 36.688 3133
+-98.642 36.688 3125
+-98.516 36.688 3145
+-98.39 36.688 3134
+-98.264 36.688 3122
+-98.138 36.688 3116
+-98.012 36.688 3064
+-97.886 36.688 3043
+-97.76 36.688 3102
+-97.634 36.688 3065
+-97.508 36.688 3016
+-97.382 36.688 2952
+-97.256 36.688 2872
+-97.13 36.688 2807
+-97.004 36.688 2710
+-96.878 36.688 2605
+-96.752 36.688 2587
+-96.626 36.688 2702
+-96.5 36.688 2962
+-96.374 36.688 3267
+-96.248 36.688 3498
+-96.122 36.688 3663
+-95.996 36.688 3764
+-95.87 36.688 3854
+-95.744 36.688 3888
+-95.618 36.688 3907
+-95.492 36.688 3939
+-95.366 36.688 3951
+-95.24 36.688 3944
+-95.114 36.688 4075
+-94.988 36.688 4246
+-94.862 36.688 4357
+-94.736 36.688 4412
+-94.61 36.688 4480
+-94.484 36.688 4611
+-94.358 36.688 4778
+-94.232 36.688 4874
+-94.106 36.688 4950
+-93.98 36.688 5038
+-93.854 36.688 5128
+-93.728 36.688 5194
+-93.602 36.688 5266
+-93.476 36.688 5412
+-93.35 36.688 5629
+-93.224 36.688 5734
+-93.098 36.688 5841
+-92.972 36.688 5920
+-92.846 36.688 6042
+-92.72 36.688 6108
+-92.594 36.688 6178
+-92.468 36.688 6339
+-92.342 36.688 6379
+-92.216 36.688 6495
+-92.09 36.688 6593
+-91.964 36.688 6670
+-91.838 36.688 6726
+-91.712 36.688 6809
+-91.586 36.688 6878
+-91.46 36.688 6908
+-91.334 36.688 6984
+-91.208 36.688 7019
+-91.082 36.688 7063
+-90.956 36.688 7128
+-90.83 36.688 7161
+-90.704 36.688 7162
+-90.578 36.688 7600
+-90.452 36.688 7720
+-90.326 36.688 7793
+-90.2 36.688 7854
+-90.074 36.688 8028
+-89.948 36.688 8122
+-89.822 36.688 8227
+-89.696 36.688 8306
+-89.57 36.688 8403
+-89.444 36.688 8490
+-89.318 36.688 8556
+-89.192 36.688 8607
+-89.066 36.688 8665
+-88.94 36.688 8667
+-88.814 36.688 8706
+-88.688 36.688 8673
+-88.562 36.688 8665
+-88.436 36.688 8600
+-88.31 36.688 8559
+-88.184 36.688 8490
+-88.058 36.688 8352
+-87.932 36.688 8304
+-87.806 36.688 8191
+-87.68 36.688 8126
+-87.554 36.688 8017
+-87.428 36.688 7891
+-87.302 36.688 7764
+-87.176 36.688 7589
+-87.05 36.688 7509
+-86.924 36.688 7354
+-86.798 36.688 7240
+-86.672 36.688 7170
+-86.546 36.688 6970
+-86.42 36.688 6849
+-86.294 36.688 6709
+-86.168 36.688 6673
+-86.042 36.688 6501
+-85.916 36.688 6333
+-85.79 36.688 6275
+-85.664 36.688 6123
+-85.538 36.688 5987
+-85.412 36.688 5833
+-85.286 36.688 5738
+-85.16 36.688 5557
+-85.034 36.688 5352
+-84.908 36.688 5319
+-84.782 36.688 5145
+-84.656 36.688 4981
+-84.53 36.688 4867
+-84.404 36.688 4821
+-84.278 36.688 4800
+-84.152 36.688 4787
+-84.026 36.688 4726
+-83.9 36.688 4543
+-83.774 36.688 4367
+-83.648 36.688 4232
+-83.522 36.688 4166
+-83.396 36.688 4111
+-83.27 36.688 3997
+-83.144 36.688 3730
+-83.018 36.688 3387
+-82.892 36.688 3009
+-82.766 36.688 2848
+-82.64 36.688 2963
+-82.514 36.688 3149
+-82.388 36.688 3296
+-82.262 36.688 3405
+-82.136 36.688 3476
+-82.01 36.688 3521
+-81.884 36.688 3551
+-81.758 36.688 3570
+-81.632 36.688 3461
+-81.506 36.688 3468
+-81.38 36.688 3423
+-81.254 36.688 3424
+-81.128 36.688 3338
+-81.002 36.688 3287
+-80.876 36.688 3284
+-80.75 36.688 3253
+-80.624 36.688 3222
+-80.498 36.688 3202
+-80.372 36.688 3181
+-80.246 36.688 3158
+-80.12 36.688 3157
+-79.994 36.688 3157
+-79.868 36.688 3157
+-79.742 36.688 3158
+-79.616 36.688 3158
+-79.49 36.688 3159
+-79.364 36.688 3160
+-79.238 36.688 3161
+-79.112 36.688 3163
+-78.986 36.688 3164
+-78.86 36.688 3059
+-78.734 36.688 3057
+-78.608 36.688 3055
+-78.482 36.688 3052
+-78.356 36.688 3051
+-78.23 36.688 3049
+-78.104 36.688 3047
+-77.978 36.688 3045
+-77.852 36.688 3044
+-77.726 36.688 3042
+-77.6 36.688 3041
+-77.474 36.688 3040
+-77.348 36.688 3038
+-77.222 36.688 3037
+-77.096 36.688 3036
+-76.97 36.688 3036
+-76.844 36.688 2926
+-76.718 36.688 2925
+-76.592 36.688 2929
+-76.466 36.688 2928
+-76.34 36.688 2892
+-76.214 36.688 2767
+-76.088 36.688 2766
+-75.962 36.688 2766
+-75.836 36.688 2781
+-75.71 36.688 2735
+-75.584 36.688 2753
+-75.458 36.688 2753
+-75.332 36.688 2768
+-75.206 36.688 2736
+-75.08 36.688 2680
+-74.954 36.688 2681
+-74.828 36.688 2682
+-74.702 36.688 2683
+-74.576 36.688 2702
+-74.45 36.688 2711
+-74.324 36.688 2723
+-74.198 36.688 2724
+-74.072 36.688 2759
+-73.946 36.688 2774
+-73.82 36.688 2776
+-73.694 36.688 2831
+-73.568 36.688 2855
+-73.442 36.688 2839
+-73.316 36.688 2832
+-73.19 36.688 2974
+-73.064 36.688 2978
+-72.938 36.688 3036
+-72.812 36.688 3040
+-72.686 36.688 3044
+-72.56 36.688 3048
+-72.434 36.688 3051
+-72.308 36.688 2977
+-72.182 36.688 2999
+-72.056 36.688 3002
+-71.93 36.688 2995
+-71.804 36.688 3288
+-71.678 36.688 3318
+-71.552 36.688 3320
+-71.426 36.688 3317
+-71.3 36.688 3320
+-71.174 36.688 3325
+-71.048 36.688 3341
+-70.922 36.688 3343
+-70.796 36.688 3333
+-70.67 36.688 3335
+-70.544 36.688 3290
+-70.418 36.688 3292
+-70.292 36.688 3293
+-70.166 36.688 3358
+-70.04 36.688 3354
+-69.914 36.688 3364
+-69.788 36.688 3366
+-69.662 36.688 3346
+-69.536 36.688 3368
+-69.41 36.688 3415
+-69.284 36.688 3427
+-69.158 36.688 3427
+-69.032 36.688 3426
+-68.906 36.688 3479
+-68.78 36.688 3481
+-68.654 36.688 3421
+-68.528 36.688 3445
+-68.402 36.688 3439
+-68.276 36.688 3360
+-68.15 36.688 3272
+-68.024 36.688 3295
+-67.898 36.688 3297
+-67.772 36.688 3330
+-67.646 36.688 3304
+-67.52 36.688 3316
+-67.394 36.688 3318
+-67.268 36.688 3297
+-67.142 36.688 3299
+-67.016 36.688 3300
+-66.89 36.688 3276
+-66.764 36.688 3258
+-66.638 36.688 3295
+-66.512 36.688 3289
+-66.386 36.688 3291
+-66.26 36.688 3292
+-66.134 36.688 3211
+-66.008 36.688 3253
+-65.882 36.688 3248
+-65.756 36.688 3250
+-65.63 36.688 3251
+-65.504 36.688 3484
+-65.378 36.688 3408
+-65.252 36.688 3418
+-65.126 36.688 3419
+-128 36.636 2912
+-127.874 36.636 2906
+-127.748 36.636 2899
+-127.622 36.636 2892
+-127.496 36.636 2885
+-127.37 36.636 2878
+-127.244 36.636 3021
+-127.118 36.636 3011
+-126.992 36.636 3001
+-126.866 36.636 2990
+-126.74 36.636 2979
+-126.614 36.636 3001
+-126.488 36.636 2989
+-126.362 36.636 2977
+-126.236 36.636 2964
+-126.11 36.636 2952
+-125.984 36.636 2905
+-125.858 36.636 2934
+-125.732 36.636 2942
+-125.606 36.636 2932
+-125.48 36.636 2999
+-125.354 36.636 2990
+-125.228 36.636 3067
+-125.102 36.636 3068
+-124.976 36.636 3119
+-124.85 36.636 3126
+-124.724 36.636 3154
+-124.598 36.636 3169
+-124.472 36.636 3188
+-124.346 36.636 3233
+-124.22 36.636 3288
+-124.094 36.636 3310
+-123.968 36.636 3331
+-123.842 36.636 3349
+-123.716 36.636 3374
+-123.59 36.636 3438
+-123.464 36.636 3466
+-123.338 36.636 3485
+-123.212 36.636 3519
+-123.086 36.636 3569
+-122.96 36.636 3696
+-122.834 36.636 3734
+-122.708 36.636 3827
+-122.582 36.636 3835
+-122.456 36.636 3812
+-122.33 36.636 3820
+-122.204 36.636 3912
+-122.078 36.636 4078
+-121.952 36.636 4280
+-121.826 36.636 4420
+-121.7 36.636 4496
+-121.574 36.636 4467
+-121.448 36.636 4453
+-121.322 36.636 4591
+-121.196 36.636 4749
+-121.07 36.636 4804
+-120.944 36.636 4857
+-120.818 36.636 4888
+-120.692 36.636 4969
+-120.566 36.636 5066
+-120.44 36.636 5191
+-120.314 36.636 5350
+-120.188 36.636 5461
+-120.062 36.636 5569
+-119.936 36.636 5662
+-119.81 36.636 5740
+-119.684 36.636 5796
+-119.558 36.636 5891
+-119.432 36.636 5971
+-119.306 36.636 6045
+-119.18 36.636 6139
+-119.054 36.636 6227
+-118.928 36.636 6292
+-118.802 36.636 6414
+-118.676 36.636 6453
+-118.55 36.636 6520
+-118.424 36.636 6556
+-118.298 36.636 6612
+-118.172 36.636 6673
+-118.046 36.636 6730
+-117.92 36.636 6776
+-117.794 36.636 6773
+-117.668 36.636 6809
+-117.542 36.636 6829
+-117.416 36.636 6838
+-117.29 36.636 6809
+-117.164 36.636 6832
+-117.038 36.636 6817
+-116.912 36.636 6790
+-116.786 36.636 6772
+-116.66 36.636 6713
+-116.534 36.636 6690
+-116.408 36.636 6631
+-116.282 36.636 6605
+-116.156 36.636 6546
+-116.03 36.636 6519
+-115.904 36.636 6413
+-115.778 36.636 6330
+-115.652 36.636 6258
+-115.526 36.636 6215
+-115.4 36.636 6137
+-115.274 36.636 6034
+-115.148 36.636 5940
+-115.022 36.636 5826
+-114.896 36.636 5793
+-114.77 36.636 5692
+-114.644 36.636 5593
+-114.518 36.636 5470
+-114.392 36.636 5366
+-114.266 36.636 5240
+-114.14 36.636 5202
+-114.014 36.636 5088
+-113.888 36.636 4982
+-113.762 36.636 4930
+-113.636 36.636 4866
+-113.51 36.636 4722
+-113.384 36.636 4559
+-113.258 36.636 4403
+-113.132 36.636 4204
+-113.006 36.636 4051
+-112.88 36.636 4112
+-112.754 36.636 4125
+-112.628 36.636 4060
+-112.502 36.636 3994
+-112.376 36.636 3928
+-112.25 36.636 3886
+-112.124 36.636 3828
+-111.998 36.636 3785
+-111.872 36.636 3830
+-111.746 36.636 3883
+-111.62 36.636 3893
+-111.494 36.636 3890
+-111.368 36.636 3921
+-111.242 36.636 3950
+-111.116 36.636 3946
+-110.99 36.636 3944
+-110.864 36.636 3964
+-110.738 36.636 3989
+-110.612 36.636 4010
+-110.486 36.636 4031
+-110.36 36.636 4059
+-110.234 36.636 4073
+-110.108 36.636 4077
+-109.982 36.636 4061
+-109.856 36.636 4067
+-109.73 36.636 4048
+-109.604 36.636 4034
+-109.478 36.636 4017
+-109.352 36.636 4005
+-109.226 36.636 3977
+-109.1 36.636 3924
+-108.974 36.636 3874
+-108.848 36.636 3833
+-108.722 36.636 3839
+-108.596 36.636 3826
+-108.47 36.636 3792
+-108.344 36.636 3764
+-108.218 36.636 3716
+-108.092 36.636 3693
+-107.966 36.636 3621
+-107.84 36.636 3552
+-107.714 36.636 3501
+-107.588 36.636 3412
+-107.462 36.636 3362
+-107.336 36.636 3303
+-107.21 36.636 3254
+-107.084 36.636 3197
+-106.958 36.636 3126
+-106.832 36.636 3016
+-106.706 36.636 2897
+-106.58 36.636 2748
+-106.454 36.636 2594
+-106.328 36.636 2531
+-106.202 36.636 2558
+-106.076 36.636 2599
+-105.95 36.636 2620
+-105.824 36.636 2636
+-105.698 36.636 2665
+-105.572 36.636 2704
+-105.446 36.636 2736
+-105.32 36.636 2776
+-105.194 36.636 2826
+-105.068 36.636 2862
+-104.942 36.636 2894
+-104.816 36.636 2922
+-104.69 36.636 2947
+-104.564 36.636 2969
+-104.438 36.636 2987
+-104.312 36.636 2958
+-104.186 36.636 2972
+-104.06 36.636 2984
+-103.934 36.636 3036
+-103.808 36.636 3055
+-103.682 36.636 3053
+-103.556 36.636 3065
+-103.43 36.636 3077
+-103.304 36.636 3088
+-103.178 36.636 3098
+-103.052 36.636 3107
+-102.926 36.636 3116
+-102.8 36.636 3124
+-102.674 36.636 3110
+-102.548 36.636 3185
+-102.422 36.636 3191
+-102.296 36.636 3209
+-102.17 36.636 3200
+-102.044 36.636 3108
+-101.918 36.636 3025
+-101.792 36.636 2985
+-101.666 36.636 2886
+-101.54 36.636 2814
+-101.414 36.636 2831
+-101.288 36.636 2754
+-101.162 36.636 2747
+-101.036 36.636 2777
+-100.91 36.636 2871
+-100.784 36.636 2912
+-100.658 36.636 3018
+-100.532 36.636 3045
+-100.406 36.636 3041
+-100.28 36.636 3038
+-100.154 36.636 3081
+-100.028 36.636 3076
+-99.902 36.636 3076
+-99.776 36.636 3087
+-99.65 36.636 3082
+-99.524 36.636 3091
+-99.398 36.636 3114
+-99.272 36.636 3143
+-99.146 36.636 3137
+-99.02 36.636 3132
+-98.894 36.636 3125
+-98.768 36.636 3118
+-98.642 36.636 3138
+-98.516 36.636 3128
+-98.39 36.636 3116
+-98.264 36.636 3112
+-98.138 36.636 3062
+-98.012 36.636 3044
+-97.886 36.636 3092
+-97.76 36.636 3061
+-97.634 36.636 3019
+-97.508 36.636 2982
+-97.382 36.636 2906
+-97.256 36.636 2801
+-97.13 36.636 2696
+-97.004 36.636 2524
+-96.878 36.636 2368
+-96.752 36.636 2287
+-96.626 36.636 2425
+-96.5 36.636 2779
+-96.374 36.636 3136
+-96.248 36.636 3413
+-96.122 36.636 3621
+-95.996 36.636 3776
+-95.87 36.636 3850
+-95.744 36.636 3896
+-95.618 36.636 3927
+-95.492 36.636 3958
+-95.366 36.636 4018
+-95.24 36.636 4069
+-95.114 36.636 4147
+-94.988 36.636 4251
+-94.862 36.636 4353
+-94.736 36.636 4405
+-94.61 36.636 4385
+-94.484 36.636 4537
+-94.358 36.636 4749
+-94.232 36.636 4867
+-94.106 36.636 4952
+-93.98 36.636 5021
+-93.854 36.636 5101
+-93.728 36.636 5174
+-93.602 36.636 5212
+-93.476 36.636 5362
+-93.35 36.636 5567
+-93.224 36.636 5612
+-93.098 36.636 5797
+-92.972 36.636 5863
+-92.846 36.636 5979
+-92.72 36.636 6043
+-92.594 36.636 6146
+-92.468 36.636 6263
+-92.342 36.636 6336
+-92.216 36.636 6422
+-92.09 36.636 6510
+-91.964 36.636 6642
+-91.838 36.636 6695
+-91.712 36.636 6794
+-91.586 36.636 6827
+-91.46 36.636 6866
+-91.334 36.636 6927
+-91.208 36.636 7008
+-91.082 36.636 7011
+-90.956 36.636 7042
+-90.83 36.636 7081
+-90.704 36.636 7077
+-90.578 36.636 7456
+-90.452 36.636 7683
+-90.326 36.636 7760
+-90.2 36.636 7822
+-90.074 36.636 7956
+-89.948 36.636 8075
+-89.822 36.636 8190
+-89.696 36.636 8308
+-89.57 36.636 8402
+-89.444 36.636 8433
+-89.318 36.636 8512
+-89.192 36.636 8517
+-89.066 36.636 8591
+-88.94 36.636 8617
+-88.814 36.636 8618
+-88.688 36.636 8607
+-88.562 36.636 8579
+-88.436 36.636 8552
+-88.31 36.636 8495
+-88.184 36.636 8421
+-88.058 36.636 8360
+-87.932 36.636 8239
+-87.806 36.636 8193
+-87.68 36.636 8064
+-87.554 36.636 7915
+-87.428 36.636 7784
+-87.302 36.636 7752
+-87.176 36.636 7569
+-87.05 36.636 7443
+-86.924 36.636 7385
+-86.798 36.636 7256
+-86.672 36.636 7092
+-86.546 36.636 6921
+-86.42 36.636 6804
+-86.294 36.636 6684
+-86.168 36.636 6577
+-86.042 36.636 6478
+-85.916 36.636 6357
+-85.79 36.636 6253
+-85.664 36.636 6082
+-85.538 36.636 5954
+-85.412 36.636 5818
+-85.286 36.636 5723
+-85.16 36.636 5568
+-85.034 36.636 5413
+-84.908 36.636 5342
+-84.782 36.636 5170
+-84.656 36.636 4984
+-84.53 36.636 4822
+-84.404 36.636 4654
+-84.278 36.636 4743
+-84.152 36.636 4746
+-84.026 36.636 4670
+-83.9 36.636 4475
+-83.774 36.636 4226
+-83.648 36.636 4049
+-83.522 36.636 4066
+-83.396 36.636 4072
+-83.27 36.636 3992
+-83.144 36.636 3779
+-83.018 36.636 3461
+-82.892 36.636 3130
+-82.766 36.636 2984
+-82.64 36.636 3042
+-82.514 36.636 3183
+-82.388 36.636 3316
+-82.262 36.636 3410
+-82.136 36.636 3472
+-82.01 36.636 3512
+-81.884 36.636 3538
+-81.758 36.636 3554
+-81.632 36.636 3434
+-81.506 36.636 3440
+-81.38 36.636 3397
+-81.254 36.636 3317
+-81.128 36.636 3268
+-81.002 36.636 3265
+-80.876 36.636 3262
+-80.75 36.636 3260
+-80.624 36.636 3230
+-80.498 36.636 3202
+-80.372 36.636 3180
+-80.246 36.636 3161
+-80.12 36.636 3140
+-79.994 36.636 3141
+-79.868 36.636 3142
+-79.742 36.636 3143
+-79.616 36.636 3144
+-79.49 36.636 3146
+-79.364 36.636 3148
+-79.238 36.636 3150
+-79.112 36.636 3151
+-78.986 36.636 3048
+-78.86 36.636 3046
+-78.734 36.636 3044
+-78.608 36.636 3042
+-78.482 36.636 3040
+-78.356 36.636 3039
+-78.23 36.636 3037
+-78.104 36.636 3036
+-77.978 36.636 3034
+-77.852 36.636 3033
+-77.726 36.636 3032
+-77.6 36.636 3031
+-77.474 36.636 3030
+-77.348 36.636 3029
+-77.222 36.636 3028
+-77.096 36.636 3027
+-76.97 36.636 2917
+-76.844 36.636 2916
+-76.718 36.636 2920
+-76.592 36.636 2920
+-76.466 36.636 2883
+-76.34 36.636 2758
+-76.214 36.636 2758
+-76.088 36.636 2758
+-75.962 36.636 2767
+-75.836 36.636 2727
+-75.71 36.636 2740
+-75.584 36.636 2746
+-75.458 36.636 2761
+-75.332 36.636 2729
+-75.206 36.636 2674
+-75.08 36.636 2675
+-74.954 36.636 2676
+-74.828 36.636 2677
+-74.702 36.636 2697
+-74.576 36.636 2706
+-74.45 36.636 2718
+-74.324 36.636 2720
+-74.198 36.636 2755
+-74.072 36.636 2769
+-73.946 36.636 2772
+-73.82 36.636 2828
+-73.694 36.636 2851
+-73.568 36.636 2835
+-73.442 36.636 2829
+-73.316 36.636 2970
+-73.19 36.636 2974
+-73.064 36.636 3032
+-72.938 36.636 3036
+-72.812 36.636 3040
+-72.686 36.636 3044
+-72.56 36.636 3048
+-72.434 36.636 2975
+-72.308 36.636 2996
+-72.182 36.636 2999
+-72.056 36.636 2993
+-71.93 36.636 3285
+-71.804 36.636 3315
+-71.678 36.636 3317
+-71.552 36.636 3314
+-71.426 36.636 3317
+-71.3 36.636 3322
+-71.174 36.636 3338
+-71.048 36.636 3341
+-70.922 36.636 3330
+-70.796 36.636 3333
+-70.67 36.636 3288
+-70.544 36.636 3289
+-70.418 36.636 3291
+-70.292 36.636 3355
+-70.166 36.636 3351
+-70.04 36.636 3362
+-69.914 36.636 3364
+-69.788 36.636 3344
+-69.662 36.636 3366
+-69.536 36.636 3413
+-69.41 36.636 3425
+-69.284 36.636 3425
+-69.158 36.636 3424
+-69.032 36.636 3477
+-68.906 36.636 3479
+-68.78 36.636 3419
+-68.654 36.636 3443
+-68.528 36.636 3437
+-68.402 36.636 3355
+-68.276 36.636 3270
+-68.15 36.636 3294
+-68.024 36.636 3295
+-67.898 36.636 3329
+-67.772 36.636 3302
+-67.646 36.636 3315
+-67.52 36.636 3316
+-67.394 36.636 3296
+-67.268 36.636 3298
+-67.142 36.636 3299
+-67.016 36.636 3275
+-66.89 36.636 3257
+-66.764 36.636 3293
+-66.638 36.636 3288
+-66.512 36.636 3290
+-66.386 36.636 3291
+-66.26 36.636 3210
+-66.134 36.636 3252
+-66.008 36.636 3247
+-65.882 36.636 3249
+-65.756 36.636 3250
+-65.63 36.636 3483
+-65.504 36.636 3403
+-65.378 36.636 3418
+-65.252 36.636 3418
+-65.126 36.636 3311
+-128 36.584 2814
+-127.874 36.584 2905
+-127.748 36.584 2898
+-127.622 36.584 2891
+-127.496 36.584 2883
+-127.37 36.584 3025
+-127.244 36.584 3015
+-127.118 36.584 3004
+-126.992 36.584 2993
+-126.866 36.584 2981
+-126.74 36.584 2968
+-126.614 36.584 2955
+-126.488 36.584 2975
+-126.362 36.584 2962
+-126.236 36.584 2947
+-126.11 36.584 2933
+-125.984 36.584 2918
+-125.858 36.584 2909
+-125.732 36.584 2896
+-125.606 36.584 2901
+-125.48 36.584 2890
+-125.354 36.584 2952
+-125.228 36.584 2942
+-125.102 36.584 3019
+-124.976 36.584 3023
+-124.85 36.584 3102
+-124.724 36.584 3115
+-124.598 36.584 3147
+-124.472 36.584 3170
+-124.346 36.584 3197
+-124.22 36.584 3228
+-124.094 36.584 3292
+-123.968 36.584 3323
+-123.842 36.584 3354
+-123.716 36.584 3382
+-123.59 36.584 3416
+-123.464 36.584 3497
+-123.338 36.584 3539
+-123.212 36.584 3572
+-123.086 36.584 3616
+-122.96 36.584 3684
+-122.834 36.584 3772
+-122.708 36.584 3847
+-122.582 36.584 3787
+-122.456 36.584 3694
+-122.33 36.584 3643
+-122.204 36.584 3764
+-122.078 36.584 4011
+-121.952 36.584 4235
+-121.826 36.584 4444
+-121.7 36.584 4528
+-121.574 36.584 4566
+-121.448 36.584 4619
+-121.322 36.584 4720
+-121.196 36.584 4769
+-121.07 36.584 4720
+-120.944 36.584 4816
+-120.818 36.584 4887
+-120.692 36.584 5024
+-120.566 36.584 5095
+-120.44 36.584 5195
+-120.314 36.584 5386
+-120.188 36.584 5457
+-120.062 36.584 5594
+-119.936 36.584 5652
+-119.81 36.584 5761
+-119.684 36.584 5888
+-119.558 36.584 5933
+-119.432 36.584 6020
+-119.306 36.584 6114
+-119.18 36.584 6188
+-119.054 36.584 6272
+-118.928 36.584 6383
+-118.802 36.584 6427
+-118.676 36.584 6512
+-118.55 36.584 6584
+-118.424 36.584 6621
+-118.298 36.584 6706
+-118.172 36.584 6719
+-118.046 36.584 6740
+-117.92 36.584 6821
+-117.794 36.584 6843
+-117.668 36.584 6855
+-117.542 36.584 6862
+-117.416 36.584 6862
+-117.29 36.584 6871
+-117.164 36.584 6899
+-117.038 36.584 6879
+-116.912 36.584 6846
+-116.786 36.584 6822
+-116.66 36.584 6814
+-116.534 36.584 6763
+-116.408 36.584 6726
+-116.282 36.584 6656
+-116.156 36.584 6591
+-116.03 36.584 6543
+-115.904 36.584 6490
+-115.778 36.584 6370
+-115.652 36.584 6311
+-115.526 36.584 6250
+-115.4 36.584 6156
+-115.274 36.584 6025
+-115.148 36.584 6032
+-115.022 36.584 5913
+-114.896 36.584 5827
+-114.77 36.584 5727
+-114.644 36.584 5642
+-114.518 36.584 5501
+-114.392 36.584 5404
+-114.266 36.584 5328
+-114.14 36.584 5195
+-114.014 36.584 5092
+-113.888 36.584 5044
+-113.762 36.584 4980
+-113.636 36.584 4866
+-113.51 36.584 4765
+-113.384 36.584 4598
+-113.258 36.584 4453
+-113.132 36.584 4288
+-113.006 36.584 4185
+-112.88 36.584 4161
+-112.754 36.584 4163
+-112.628 36.584 4073
+-112.502 36.584 4009
+-112.376 36.584 3962
+-112.25 36.584 3915
+-112.124 36.584 3877
+-111.998 36.584 3847
+-111.872 36.584 3881
+-111.746 36.584 3930
+-111.62 36.584 3954
+-111.494 36.584 3964
+-111.368 36.584 3968
+-111.242 36.584 3977
+-111.116 36.584 3978
+-110.99 36.584 4005
+-110.864 36.584 4033
+-110.738 36.584 4051
+-110.612 36.584 4076
+-110.486 36.584 4082
+-110.36 36.584 4107
+-110.234 36.584 4125
+-110.108 36.584 4131
+-109.982 36.584 4127
+-109.856 36.584 4122
+-109.73 36.584 4120
+-109.604 36.584 4102
+-109.478 36.584 4084
+-109.352 36.584 4055
+-109.226 36.584 4022
+-109.1 36.584 3949
+-108.974 36.584 3857
+-108.848 36.584 3807
+-108.722 36.584 3828
+-108.596 36.584 3844
+-108.47 36.584 3809
+-108.344 36.584 3788
+-108.218 36.584 3763
+-108.092 36.584 3732
+-107.966 36.584 3700
+-107.84 36.584 3592
+-107.714 36.584 3551
+-107.588 36.584 3457
+-107.462 36.584 3411
+-107.336 36.584 3362
+-107.21 36.584 3308
+-107.084 36.584 3249
+-106.958 36.584 3159
+-106.832 36.584 3077
+-106.706 36.584 2972
+-106.58 36.584 2827
+-106.454 36.584 2724
+-106.328 36.584 2668
+-106.202 36.584 2667
+-106.076 36.584 2688
+-105.95 36.584 2705
+-105.824 36.584 2724
+-105.698 36.584 2746
+-105.572 36.584 2762
+-105.446 36.584 2791
+-105.32 36.584 2833
+-105.194 36.584 2864
+-105.068 36.584 2893
+-104.942 36.584 2920
+-104.816 36.584 2944
+-104.69 36.584 2965
+-104.564 36.584 2983
+-104.438 36.584 3000
+-104.312 36.584 3016
+-104.186 36.584 3020
+-104.06 36.584 3033
+-103.934 36.584 3051
+-103.808 36.584 3050
+-103.682 36.584 3062
+-103.556 36.584 3074
+-103.43 36.584 3085
+-103.304 36.584 3095
+-103.178 36.584 3105
+-103.052 36.584 3114
+-102.926 36.584 3122
+-102.8 36.584 3108
+-102.674 36.584 3182
+-102.548 36.584 3188
+-102.422 36.584 3206
+-102.296 36.584 3198
+-102.17 36.584 3206
+-102.044 36.584 3114
+-101.918 36.584 3030
+-101.792 36.584 2991
+-101.666 36.584 2951
+-101.54 36.584 2817
+-101.414 36.584 2834
+-101.288 36.584 2772
+-101.162 36.584 2747
+-101.036 36.584 2775
+-100.91 36.584 2870
+-100.784 36.584 2904
+-100.658 36.584 3011
+-100.532 36.584 3036
+-100.406 36.584 3033
+-100.28 36.584 3076
+-100.154 36.584 3071
+-100.028 36.584 3071
+-99.902 36.584 3081
+-99.776 36.584 3076
+-99.65 36.584 3086
+-99.524 36.584 3108
+-99.398 36.584 3137
+-99.272 36.584 3131
+-99.146 36.584 3125
+-99.02 36.584 3118
+-98.894 36.584 3111
+-98.768 36.584 3131
+-98.642 36.584 3122
+-98.516 36.584 3111
+-98.39 36.584 3108
+-98.264 36.584 3061
+-98.138 36.584 3045
+-98.012 36.584 3098
+-97.886 36.584 3072
+-97.76 36.584 3040
+-97.634 36.584 3015
+-97.508 36.584 2956
+-97.382 36.584 2875
+-97.256 36.584 2766
+-97.13 36.584 2619
+-97.004 36.584 2459
+-96.878 36.584 2265
+-96.752 36.584 2171
+-96.626 36.584 2302
+-96.5 36.584 2650
+-96.374 36.584 3067
+-96.248 36.584 3392
+-96.122 36.584 3617
+-95.996 36.584 3747
+-95.87 36.584 3830
+-95.744 36.584 3884
+-95.618 36.584 3947
+-95.492 36.584 3979
+-95.366 36.584 4097
+-95.24 36.584 4128
+-95.114 36.584 4177
+-94.988 36.584 4263
+-94.862 36.584 4358
+-94.736 36.584 4435
+-94.61 36.584 4470
+-94.484 36.584 4597
+-94.358 36.584 4752
+-94.232 36.584 4865
+-94.106 36.584 4953
+-93.98 36.584 4918
+-93.854 36.584 5090
+-93.728 36.584 5121
+-93.602 36.584 5191
+-93.476 36.584 5316
+-93.35 36.584 5495
+-93.224 36.584 5658
+-93.098 36.584 5802
+-92.972 36.584 5887
+-92.846 36.584 5929
+-92.72 36.584 6027
+-92.594 36.584 6106
+-92.468 36.584 6191
+-92.342 36.584 6298
+-92.216 36.584 6365
+-92.09 36.584 6450
+-91.964 36.584 6565
+-91.838 36.584 6640
+-91.712 36.584 6681
+-91.586 36.584 6763
+-91.46 36.584 6843
+-91.334 36.584 6870
+-91.208 36.584 6924
+-91.082 36.584 6957
+-90.956 36.584 6989
+-90.83 36.584 7109
+-90.704 36.584 7433
+-90.578 36.584 7500
+-90.452 36.584 7579
+-90.326 36.584 7733
+-90.2 36.584 7875
+-90.074 36.584 7905
+-89.948 36.584 8072
+-89.822 36.584 8143
+-89.696 36.584 8272
+-89.57 36.584 8314
+-89.444 36.584 8356
+-89.318 36.584 8439
+-89.192 36.584 8492
+-89.066 36.584 8526
+-88.94 36.584 8576
+-88.814 36.584 8549
+-88.688 36.584 8548
+-88.562 36.584 8524
+-88.436 36.584 8472
+-88.31 36.584 8430
+-88.184 36.584 8383
+-88.058 36.584 8304
+-87.932 36.584 8218
+-87.806 36.584 8155
+-87.68 36.584 7962
+-87.554 36.584 7941
+-87.428 36.584 7806
+-87.302 36.584 7716
+-87.176 36.584 7574
+-87.05 36.584 7476
+-86.924 36.584 7344
+-86.798 36.584 7176
+-86.672 36.584 7077
+-86.546 36.584 6916
+-86.42 36.584 6804
+-86.294 36.584 6654
+-86.168 36.584 6550
+-86.042 36.584 6436
+-85.916 36.584 6250
+-85.79 36.584 6181
+-85.664 36.584 6013
+-85.538 36.584 5925
+-85.412 36.584 5797
+-85.286 36.584 5655
+-85.16 36.584 5573
+-85.034 36.584 5509
+-84.908 36.584 5352
+-84.782 36.584 5180
+-84.656 36.584 4967
+-84.53 36.584 4777
+-84.404 36.584 4682
+-84.278 36.584 4720
+-84.152 36.584 4708
+-84.026 36.584 4646
+-83.9 36.584 4430
+-83.774 36.584 4107
+-83.648 36.584 3918
+-83.522 36.584 4009
+-83.396 36.584 4036
+-83.27 36.584 3981
+-83.144 36.584 3840
+-83.018 36.584 3616
+-82.892 36.584 3352
+-82.766 36.584 3229
+-82.64 36.584 3222
+-82.514 36.584 3291
+-82.388 36.584 3372
+-82.262 36.584 3436
+-82.136 36.584 3480
+-82.01 36.584 3508
+-81.884 36.584 3479
+-81.758 36.584 3394
+-81.632 36.584 3411
+-81.506 36.584 3415
+-81.38 36.584 3322
+-81.254 36.584 3289
+-81.128 36.584 3243
+-81.002 36.584 3240
+-80.876 36.584 3238
+-80.75 36.584 3237
+-80.624 36.584 3237
+-80.498 36.584 3204
+-80.372 36.584 3204
+-80.246 36.584 3160
+-80.12 36.584 3142
+-79.994 36.584 3123
+-79.868 36.584 3125
+-79.742 36.584 3127
+-79.616 36.584 3130
+-79.49 36.584 3132
+-79.364 36.584 3135
+-79.238 36.584 3137
+-79.112 36.584 3036
+-78.986 36.584 3034
+-78.86 36.584 3032
+-78.734 36.584 3031
+-78.608 36.584 3029
+-78.482 36.584 3028
+-78.356 36.584 3027
+-78.23 36.584 3025
+-78.104 36.584 3024
+-77.978 36.584 3023
+-77.852 36.584 3022
+-77.726 36.584 3021
+-77.6 36.584 3020
+-77.474 36.584 3019
+-77.348 36.584 3018
+-77.222 36.584 3018
+-77.096 36.584 2907
+-76.97 36.584 2907
+-76.844 36.584 2911
+-76.718 36.584 2911
+-76.592 36.584 2874
+-76.466 36.584 2874
+-76.34 36.584 2873
+-76.214 36.584 2749
+-76.088 36.584 2758
+-75.962 36.584 2719
+-75.836 36.584 2732
+-75.71 36.584 2738
+-75.584 36.584 2754
+-75.458 36.584 2722
+-75.332 36.584 2667
+-75.206 36.584 2669
+-75.08 36.584 2670
+-74.954 36.584 2671
+-74.828 36.584 2691
+-74.702 36.584 2701
+-74.576 36.584 2713
+-74.45 36.584 2715
+-74.324 36.584 2750
+-74.198 36.584 2765
+-74.072 36.584 2768
+-73.946 36.584 2823
+-73.82 36.584 2847
+-73.694 36.584 2831
+-73.568 36.584 2826
+-73.442 36.584 2966
+-73.316 36.584 2970
+-73.19 36.584 3028
+-73.064 36.584 3032
+-72.938 36.584 3036
+-72.812 36.584 3040
+-72.686 36.584 3044
+-72.56 36.584 2972
+-72.434 36.584 2993
+-72.308 36.584 2997
+-72.182 36.584 2990
+-72.056 36.584 3282
+-71.93 36.584 3311
+-71.804 36.584 3314
+-71.678 36.584 3311
+-71.552 36.584 3314
+-71.426 36.584 3319
+-71.3 36.584 3335
+-71.174 36.584 3338
+-71.048 36.584 3328
+-70.922 36.584 3330
+-70.796 36.584 3285
+-70.67 36.584 3287
+-70.544 36.584 3289
+-70.418 36.584 3353
+-70.292 36.584 3349
+-70.166 36.584 3359
+-70.04 36.584 3361
+-69.914 36.584 3342
+-69.788 36.584 3364
+-69.662 36.584 3411
+-69.536 36.584 3423
+-69.41 36.584 3422
+-69.284 36.584 3422
+-69.158 36.584 3474
+-69.032 36.584 3477
+-68.906 36.584 3417
+-68.78 36.584 3441
+-68.654 36.584 3435
+-68.528 36.584 3357
+-68.402 36.584 3269
+-68.276 36.584 3292
+-68.15 36.584 3294
+-68.024 36.584 3327
+-67.898 36.584 3301
+-67.772 36.584 3313
+-67.646 36.584 3315
+-67.52 36.584 3295
+-67.394 36.584 3296
+-67.268 36.584 3298
+-67.142 36.584 3274
+-67.016 36.584 3256
+-66.89 36.584 3292
+-66.764 36.584 3287
+-66.638 36.584 3288
+-66.512 36.584 3290
+-66.386 36.584 3209
+-66.26 36.584 3251
+-66.134 36.584 3247
+-66.008 36.584 3248
+-65.882 36.584 3249
+-65.756 36.584 3482
+-65.63 36.584 3406
+-65.504 36.584 3417
+-65.378 36.584 3418
+-65.252 36.584 3311
+-65.126 36.584 3297
+-128 36.532 2912
+-127.874 36.532 2905
+-127.748 36.532 2897
+-127.622 36.532 2890
+-127.496 36.532 3030
+-127.37 36.532 3019
+-127.244 36.532 3008
+-127.118 36.532 2997
+-126.992 36.532 2985
+-126.866 36.532 2972
+-126.74 36.532 2958
+-126.614 36.532 2944
+-126.488 36.532 2929
+-126.362 36.532 2946
+-126.236 36.532 2930
+-126.11 36.532 2913
+-125.984 36.532 2896
+-125.858 36.532 2878
+-125.732 36.532 2866
+-125.606 36.532 2850
+-125.48 36.532 2851
+-125.354 36.532 2838
+-125.228 36.532 2895
+-125.102 36.532 2885
+-124.976 36.532 2962
+-124.85 36.532 2970
+-124.724 36.532 3052
+-124.598 36.532 3073
+-124.472 36.532 3116
+-124.346 36.532 3150
+-124.22 36.532 3189
+-124.094 36.532 3231
+-123.968 36.532 3305
+-123.842 36.532 3347
+-123.716 36.532 3387
+-123.59 36.532 3425
+-123.464 36.532 3468
+-123.338 36.532 3551
+-123.212 36.532 3609
+-123.086 36.532 3645
+-122.96 36.532 3686
+-122.834 36.532 3737
+-122.708 36.532 3844
+-122.582 36.532 3767
+-122.456 36.532 3630
+-122.33 36.532 3539
+-122.204 36.532 3679
+-122.078 36.532 3984
+-121.952 36.532 4279
+-121.826 36.532 4439
+-121.7 36.532 4563
+-121.574 36.532 4616
+-121.448 36.532 4692
+-121.322 36.532 4786
+-121.196 36.532 4811
+-121.07 36.532 4824
+-120.944 36.532 4874
+-120.818 36.532 4955
+-120.692 36.532 4988
+-120.566 36.532 5101
+-120.44 36.532 5272
+-120.314 36.532 5425
+-120.188 36.532 5531
+-120.062 36.532 5564
+-119.936 36.532 5699
+-119.81 36.532 5768
+-119.684 36.532 5881
+-119.558 36.532 6016
+-119.432 36.532 6086
+-119.306 36.532 6120
+-119.18 36.532 6236
+-119.054 36.532 6321
+-118.928 36.532 6418
+-118.802 36.532 6504
+-118.676 36.532 6567
+-118.55 36.532 6624
+-118.424 36.532 6682
+-118.298 36.532 6715
+-118.172 36.532 6750
+-118.046 36.532 6808
+-117.92 36.532 6877
+-117.794 36.532 6914
+-117.668 36.532 6914
+-117.542 36.532 6927
+-117.416 36.532 6941
+-117.29 36.532 6945
+-117.164 36.532 6927
+-117.038 36.532 6933
+-116.912 36.532 6896
+-116.786 36.532 6867
+-116.66 36.532 6843
+-116.534 36.532 6803
+-116.408 36.532 6750
+-116.282 36.532 6679
+-116.156 36.532 6628
+-116.03 36.532 6620
+-115.904 36.532 6547
+-115.778 36.532 6422
+-115.652 36.532 6373
+-115.526 36.532 6291
+-115.4 36.532 6226
+-115.274 36.532 6111
+-115.148 36.532 6040
+-115.022 36.532 5963
+-114.896 36.532 5832
+-114.77 36.532 5724
+-114.644 36.532 5617
+-114.518 36.532 5518
+-114.392 36.532 5434
+-114.266 36.532 5352
+-114.14 36.532 5243
+-114.014 36.532 5108
+-113.888 36.532 4979
+-113.762 36.532 4956
+-113.636 36.532 4867
+-113.51 36.532 4760
+-113.384 36.532 4633
+-113.258 36.532 4504
+-113.132 36.532 4390
+-113.006 36.532 4307
+-112.88 36.532 4218
+-112.754 36.532 4154
+-112.628 36.532 4090
+-112.502 36.532 4045
+-112.376 36.532 3983
+-112.25 36.532 3950
+-112.124 36.532 3932
+-111.998 36.532 3937
+-111.872 36.532 3946
+-111.746 36.532 3972
+-111.62 36.532 3982
+-111.494 36.532 3999
+-111.368 36.532 3995
+-111.242 36.532 3999
+-111.116 36.532 4034
+-110.99 36.532 4083
+-110.864 36.532 4105
+-110.738 36.532 4124
+-110.612 36.532 4126
+-110.486 36.532 4142
+-110.36 36.532 4137
+-110.234 36.532 4128
+-110.108 36.532 4154
+-109.982 36.532 4160
+-109.856 36.532 4161
+-109.73 36.532 4157
+-109.604 36.532 4151
+-109.478 36.532 4146
+-109.352 36.532 4109
+-109.226 36.532 4081
+-109.1 36.532 3996
+-108.974 36.532 3909
+-108.848 36.532 3860
+-108.722 36.532 3872
+-108.596 36.532 3860
+-108.47 36.532 3815
+-108.344 36.532 3786
+-108.218 36.532 3777
+-108.092 36.532 3756
+-107.966 36.532 3717
+-107.84 36.532 3653
+-107.714 36.532 3592
+-107.588 36.532 3537
+-107.462 36.532 3459
+-107.336 36.532 3407
+-107.21 36.532 3352
+-107.084 36.532 3293
+-106.958 36.532 3213
+-106.832 36.532 3136
+-106.706 36.532 3032
+-106.58 36.532 2923
+-106.454 36.532 2843
+-106.328 36.532 2791
+-106.202 36.532 2769
+-106.076 36.532 2767
+-105.95 36.532 2776
+-105.824 36.532 2790
+-105.698 36.532 2797
+-105.572 36.532 2817
+-105.446 36.532 2850
+-105.32 36.532 2875
+-105.194 36.532 2900
+-105.068 36.532 2923
+-104.942 36.532 2945
+-104.816 36.532 2965
+-104.69 36.532 2982
+-104.564 36.532 2999
+-104.438 36.532 3014
+-104.312 36.532 3018
+-104.186 36.532 3031
+-104.06 36.532 3049
+-103.934 36.532 3048
+-103.808 36.532 3059
+-103.682 36.532 3071
+-103.556 36.532 3083
+-103.43 36.532 3093
+-103.304 36.532 3103
+-103.178 36.532 3112
+-103.052 36.532 3121
+-102.926 36.532 3107
+-102.8 36.532 3180
+-102.674 36.532 3186
+-102.548 36.532 3204
+-102.422 36.532 3196
+-102.296 36.532 3205
+-102.17 36.532 3213
+-102.044 36.532 3119
+-101.918 36.532 3036
+-101.792 36.532 2998
+-101.666 36.532 3001
+-101.54 36.532 2875
+-101.414 36.532 2838
+-101.288 36.532 2775
+-101.162 36.532 2746
+-101.036 36.532 2774
+-100.91 36.532 2865
+-100.784 36.532 2887
+-100.658 36.532 3003
+-100.532 36.532 3028
+-100.406 36.532 3071
+-100.28 36.532 3066
+-100.154 36.532 3066
+-100.028 36.532 3077
+-99.902 36.532 3071
+-99.776 36.532 3081
+-99.65 36.532 3102
+-99.524 36.532 3131
+-99.398 36.532 3125
+-99.272 36.532 3119
+-99.146 36.532 3112
+-99.02 36.532 3105
+-98.894 36.532 3125
+-98.768 36.532 3116
+-98.642 36.532 3106
+-98.516 36.532 3103
+-98.39 36.532 3059
+-98.264 36.532 3045
+-98.138 36.532 3102
+-98.012 36.532 3081
+-97.886 36.532 3052
+-97.76 36.532 3020
+-97.634 36.532 2979
+-97.508 36.532 2945
+-97.382 36.532 2869
+-97.256 36.532 2768
+-97.13 36.532 2635
+-97.004 36.532 2506
+-96.878 36.532 2353
+-96.752 36.532 2278
+-96.626 36.532 2399
+-96.5 36.532 2714
+-96.374 36.532 3062
+-96.248 36.532 3336
+-96.122 36.532 3612
+-95.996 36.532 3739
+-95.87 36.532 3822
+-95.744 36.532 3898
+-95.618 36.532 3967
+-95.492 36.532 4003
+-95.366 36.532 4101
+-95.24 36.532 4153
+-95.114 36.532 4199
+-94.988 36.532 4255
+-94.862 36.532 4304
+-94.736 36.532 4387
+-94.61 36.532 4463
+-94.484 36.532 4600
+-94.358 36.532 4726
+-94.232 36.532 4847
+-94.106 36.532 4916
+-93.98 36.532 4887
+-93.854 36.532 5024
+-93.728 36.532 5103
+-93.602 36.532 5194
+-93.476 36.532 5285
+-93.35 36.532 5441
+-93.224 36.532 5627
+-93.098 36.532 5782
+-92.972 36.532 5836
+-92.846 36.532 5905
+-92.72 36.532 5985
+-92.594 36.532 6066
+-92.468 36.532 6204
+-92.342 36.532 6271
+-92.216 36.532 6336
+-92.09 36.532 6413
+-91.964 36.532 6511
+-91.838 36.532 6629
+-91.712 36.532 6610
+-91.586 36.532 6715
+-91.46 36.532 6799
+-91.334 36.532 6815
+-91.208 36.532 6859
+-91.082 36.532 6895
+-90.956 36.532 6939
+-90.83 36.532 6964
+-90.704 36.532 7235
+-90.578 36.532 7425
+-90.452 36.532 7573
+-90.326 36.532 7703
+-90.2 36.532 7781
+-90.074 36.532 7913
+-89.948 36.532 8071
+-89.822 36.532 8110
+-89.696 36.532 8181
+-89.57 36.532 8259
+-89.444 36.532 8374
+-89.318 36.532 8403
+-89.192 36.532 8457
+-89.066 36.532 8480
+-88.94 36.532 8497
+-88.814 36.532 8512
+-88.688 36.532 8507
+-88.562 36.532 8488
+-88.436 36.532 8425
+-88.31 36.532 8376
+-88.184 36.532 8333
+-88.058 36.532 8269
+-87.932 36.532 8154
+-87.806 36.532 8095
+-87.68 36.532 7971
+-87.554 36.532 7892
+-87.428 36.532 7791
+-87.302 36.532 7689
+-87.176 36.532 7558
+-87.05 36.532 7437
+-86.924 36.532 7283
+-86.798 36.532 7149
+-86.672 36.532 7046
+-86.546 36.532 6902
+-86.42 36.532 6828
+-86.294 36.532 6675
+-86.168 36.532 6547
+-86.042 36.532 6394
+-85.916 36.532 6295
+-85.79 36.532 6128
+-85.664 36.532 6013
+-85.538 36.532 5858
+-85.412 36.532 5738
+-85.286 36.532 5729
+-85.16 36.532 5657
+-85.034 36.532 5553
+-84.908 36.532 5326
+-84.782 36.532 5161
+-84.656 36.532 4950
+-84.53 36.532 4766
+-84.404 36.532 4655
+-84.278 36.532 4694
+-84.152 36.532 4674
+-84.026 36.532 4604
+-83.9 36.532 4438
+-83.774 36.532 4209
+-83.648 36.532 4047
+-83.522 36.532 4064
+-83.396 36.532 4059
+-83.27 36.532 4015
+-83.144 36.532 3915
+-83.018 36.532 3750
+-82.892 36.532 3545
+-82.766 36.532 3446
+-82.64 36.532 3424
+-82.514 36.532 3415
+-82.388 36.532 3437
+-82.262 36.532 3469
+-82.136 36.532 3492
+-82.01 36.532 3459
+-81.884 36.532 3371
+-81.758 36.532 3374
+-81.632 36.532 3375
+-81.506 36.532 3295
+-81.38 36.532 3290
+-81.254 36.532 3287
+-81.128 36.532 3255
+-81.002 36.532 3205
+-80.876 36.532 3204
+-80.75 36.532 3204
+-80.624 36.532 3205
+-80.498 36.532 3207
+-80.372 36.532 3185
+-80.246 36.532 3187
+-80.12 36.532 3141
+-79.994 36.532 3125
+-79.868 36.532 3108
+-79.742 36.532 3111
+-79.616 36.532 3114
+-79.49 36.532 3118
+-79.364 36.532 3121
+-79.238 36.532 3022
+-79.112 36.532 3021
+-78.986 36.532 3019
+-78.86 36.532 3018
+-78.734 36.532 3017
+-78.608 36.532 3016
+-78.482 36.532 3015
+-78.356 36.532 3014
+-78.23 36.532 3013
+-78.104 36.532 3012
+-77.978 36.532 3011
+-77.852 36.532 3010
+-77.726 36.532 3009
+-77.6 36.532 3009
+-77.474 36.532 3008
+-77.348 36.532 3008
+-77.222 36.532 2897
+-77.096 36.532 2897
+-76.97 36.532 2901
+-76.844 36.532 2901
+-76.718 36.532 2865
+-76.592 36.532 2864
+-76.466 36.532 2864
+-76.34 36.532 2863
+-76.214 36.532 2750
+-76.088 36.532 2767
+-75.962 36.532 2724
+-75.836 36.532 2730
+-75.71 36.532 2746
+-75.584 36.532 2715
+-75.458 36.532 2661
+-75.332 36.532 2662
+-75.206 36.532 2678
+-75.08 36.532 2680
+-74.954 36.532 2685
+-74.828 36.532 2695
+-74.702 36.532 2707
+-74.576 36.532 2709
+-74.45 36.532 2746
+-74.324 36.532 2761
+-74.198 36.532 2764
+-74.072 36.532 2819
+-73.946 36.532 2843
+-73.82 36.532 2827
+-73.694 36.532 2822
+-73.568 36.532 2962
+-73.442 36.532 2966
+-73.316 36.532 3023
+-73.19 36.532 3028
+-73.064 36.532 3032
+-72.938 36.532 3036
+-72.812 36.532 3041
+-72.686 36.532 2969
+-72.56 36.532 2990
+-72.434 36.532 2994
+-72.308 36.532 2987
+-72.182 36.532 3279
+-72.056 36.532 3308
+-71.93 36.532 3310
+-71.804 36.532 3308
+-71.678 36.532 3311
+-71.552 36.532 3316
+-71.426 36.532 3332
+-71.3 36.532 3335
+-71.174 36.532 3325
+-71.048 36.532 3327
+-70.922 36.532 3283
+-70.796 36.532 3285
+-70.67 36.532 3287
+-70.544 36.532 3350
+-70.418 36.532 3347
+-70.292 36.532 3357
+-70.166 36.532 3359
+-70.04 36.532 3340
+-69.914 36.532 3362
+-69.788 36.532 3408
+-69.662 36.532 3420
+-69.536 36.532 3420
+-69.41 36.532 3420
+-69.284 36.532 3472
+-69.158 36.532 3474
+-69.032 36.532 3415
+-68.906 36.532 3439
+-68.78 36.532 3433
+-68.654 36.532 3352
+-68.528 36.532 3267
+-68.402 36.532 3291
+-68.276 36.532 3292
+-68.15 36.532 3326
+-68.024 36.532 3299
+-67.898 36.532 3312
+-67.772 36.532 3314
+-67.646 36.532 3293
+-67.52 36.532 3295
+-67.394 36.532 3297
+-67.268 36.532 3273
+-67.142 36.532 3255
+-67.016 36.532 3291
+-66.89 36.532 3286
+-66.764 36.532 3287
+-66.638 36.532 3289
+-66.512 36.532 3208
+-66.386 36.532 3250
+-66.26 36.532 3246
+-66.134 36.532 3247
+-66.008 36.532 3248
+-65.882 36.532 3481
+-65.756 36.532 3401
+-65.63 36.532 3416
+-65.504 36.532 3417
+-65.378 36.532 3310
+-65.252 36.532 3296
+-65.126 36.532 3297
+-128 36.48 2960
+-127.874 36.48 2951
+-127.748 36.48 2943
+-127.622 36.48 2939
+-127.496 36.48 3025
+-127.37 36.48 3014
+-127.244 36.48 3002
+-127.118 36.48 2990
+-126.992 36.48 2977
+-126.866 36.48 2963
+-126.74 36.48 2948
+-126.614 36.48 2932
+-126.488 36.48 2916
+-126.362 36.48 2898
+-126.236 36.48 2912
+-126.11 36.48 2893
+-125.984 36.48 2872
+-125.858 36.48 2851
+-125.732 36.48 2829
+-125.606 36.48 2813
+-125.48 36.48 2793
+-125.354 36.48 2790
+-125.228 36.48 2774
+-125.102 36.48 2825
+-124.976 36.48 2815
+-124.85 36.48 2894
+-124.724 36.48 2909
+-124.598 36.48 2998
+-124.472 36.48 3032
+-124.346 36.48 3088
+-124.22 36.48 3137
+-124.094 36.48 3208
+-123.968 36.48 3262
+-123.842 36.48 3328
+-123.716 36.48 3380
+-123.59 36.48 3429
+-123.464 36.48 3475
+-123.338 36.48 3523
+-123.212 36.48 3611
+-123.086 36.48 3668
+-122.96 36.48 3700
+-122.834 36.48 3760
+-122.708 36.48 3810
+-122.582 36.48 3819
+-122.456 36.48 3716
+-122.33 36.48 3660
+-122.204 36.48 3788
+-122.078 36.48 4043
+-121.952 36.48 4306
+-121.826 36.48 4451
+-121.7 36.48 4551
+-121.574 36.48 4653
+-121.448 36.48 4713
+-121.322 36.48 4808
+-121.196 36.48 4849
+-121.07 36.48 4869
+-120.944 36.48 4936
+-120.818 36.48 5005
+-120.692 36.48 5064
+-120.566 36.48 5199
+-120.44 36.48 5372
+-120.314 36.48 5465
+-120.188 36.48 5542
+-120.062 36.48 5650
+-119.936 36.48 5707
+-119.81 36.48 5797
+-119.684 36.48 5880
+-119.558 36.48 6021
+-119.432 36.48 6153
+-119.306 36.48 6223
+-119.18 36.48 6315
+-119.054 36.48 6387
+-118.928 36.48 6488
+-118.802 36.48 6548
+-118.676 36.48 6613
+-118.55 36.48 6687
+-118.424 36.48 6707
+-118.298 36.48 6764
+-118.172 36.48 6833
+-118.046 36.48 6898
+-117.92 36.48 6942
+-117.794 36.48 6969
+-117.668 36.48 6969
+-117.542 36.48 7000
+-117.416 36.48 7011
+-117.29 36.48 6995
+-117.164 36.48 6983
+-117.038 36.48 6964
+-116.912 36.48 6954
+-116.786 36.48 6942
+-116.66 36.48 6865
+-116.534 36.48 6845
+-116.408 36.48 6834
+-116.282 36.48 6785
+-116.156 36.48 6704
+-116.03 36.48 6665
+-115.904 36.48 6548
+-115.778 36.48 6492
+-115.652 36.48 6378
+-115.526 36.48 6356
+-115.4 36.48 6245
+-115.274 36.48 6154
+-115.148 36.48 6063
+-115.022 36.48 5989
+-114.896 36.48 5874
+-114.77 36.48 5766
+-114.644 36.48 5612
+-114.518 36.48 5518
+-114.392 36.48 5459
+-114.266 36.48 5380
+-114.14 36.48 5272
+-114.014 36.48 5094
+-113.888 36.48 5036
+-113.762 36.48 4890
+-113.636 36.48 4849
+-113.51 36.48 4736
+-113.384 36.48 4637
+-113.258 36.48 4497
+-113.132 36.48 4386
+-113.006 36.48 4301
+-112.88 36.48 4193
+-112.754 36.48 4146
+-112.628 36.48 4094
+-112.502 36.48 4037
+-112.376 36.48 4002
+-112.25 36.48 3979
+-112.124 36.48 3965
+-111.998 36.48 3952
+-111.872 36.48 3972
+-111.746 36.48 3987
+-111.62 36.48 3993
+-111.494 36.48 4003
+-111.368 36.48 4027
+-111.242 36.48 4060
+-111.116 36.48 4103
+-110.99 36.48 4158
+-110.864 36.48 4187
+-110.738 36.48 4190
+-110.612 36.48 4179
+-110.486 36.48 4181
+-110.36 36.48 4171
+-110.234 36.48 4169
+-110.108 36.48 4175
+-109.982 36.48 4181
+-109.856 36.48 4187
+-109.73 36.48 4205
+-109.604 36.48 4182
+-109.478 36.48 4170
+-109.352 36.48 4160
+-109.226 36.48 4129
+-109.1 36.48 4079
+-108.974 36.48 4000
+-108.848 36.48 3949
+-108.722 36.48 3929
+-108.596 36.48 3885
+-108.47 36.48 3813
+-108.344 36.48 3775
+-108.218 36.48 3789
+-108.092 36.48 3763
+-107.966 36.48 3727
+-107.84 36.48 3683
+-107.714 36.48 3607
+-107.588 36.48 3564
+-107.462 36.48 3495
+-107.336 36.48 3440
+-107.21 36.48 3383
+-107.084 36.48 3314
+-106.958 36.48 3254
+-106.832 36.48 3169
+-106.706 36.48 3072
+-106.58 36.48 2989
+-106.454 36.48 2911
+-106.328 36.48 2850
+-106.202 36.48 2815
+-106.076 36.48 2807
+-105.95 36.48 2816
+-105.824 36.48 2822
+-105.698 36.48 2840
+-105.572 36.48 2870
+-105.446 36.48 2891
+-105.32 36.48 2912
+-105.194 36.48 2932
+-105.068 36.48 2951
+-104.942 36.48 2969
+-104.816 36.48 2984
+-104.69 36.48 3000
+-104.564 36.48 3014
+-104.438 36.48 3018
+-104.312 36.48 3030
+-104.186 36.48 3048
+-104.06 36.48 3048
+-103.934 36.48 3058
+-103.808 36.48 3070
+-103.682 36.48 3081
+-103.556 36.48 3092
+-103.43 36.48 3102
+-103.304 36.48 3111
+-103.178 36.48 3120
+-103.052 36.48 3107
+-102.926 36.48 3178
+-102.8 36.48 3185
+-102.674 36.48 3202
+-102.548 36.48 3195
+-102.422 36.48 3203
+-102.296 36.48 3212
+-102.17 36.48 3219
+-102.044 36.48 3125
+-101.918 36.48 3042
+-101.792 36.48 3052
+-101.666 36.48 2940
+-101.54 36.48 2923
+-101.414 36.48 2842
+-101.288 36.48 2777
+-101.162 36.48 2745
+-101.036 36.48 2789
+-100.91 36.48 2859
+-100.784 36.48 2880
+-100.658 36.48 2996
+-100.532 36.48 3067
+-100.406 36.48 3062
+-100.28 36.48 3062
+-100.154 36.48 3073
+-100.028 36.48 3067
+-99.902 36.48 3076
+-99.776 36.48 3098
+-99.65 36.48 3126
+-99.524 36.48 3120
+-99.398 36.48 3113
+-99.272 36.48 3107
+-99.146 36.48 3099
+-99.02 36.48 3120
+-98.894 36.48 3110
+-98.768 36.48 3100
+-98.642 36.48 3099
+-98.516 36.48 3056
+-98.39 36.48 3044
+-98.264 36.48 3071
+-98.138 36.48 3055
+-98.012 36.48 3037
+-97.886 36.48 3014
+-97.76 36.48 2986
+-97.634 36.48 2974
+-97.508 36.48 2926
+-97.382 36.48 2864
+-97.256 36.48 2784
+-97.13 36.48 2742
+-97.004 36.48 2641
+-96.878 36.48 2535
+-96.752 36.48 2506
+-96.626 36.48 2623
+-96.5 36.48 2850
+-96.374 36.48 3146
+-96.248 36.48 3361
+-96.122 36.48 3542
+-95.996 36.48 3655
+-95.87 36.48 3735
+-95.744 36.48 3912
+-95.618 36.48 3951
+-95.492 36.48 3987
+-95.366 36.48 4099
+-95.24 36.48 4133
+-95.114 36.48 4190
+-94.988 36.48 4249
+-94.862 36.48 4260
+-94.736 36.48 4253
+-94.61 36.48 4400
+-94.484 36.48 4559
+-94.358 36.48 4682
+-94.232 36.48 4796
+-94.106 36.48 4865
+-93.98 36.48 4928
+-93.854 36.48 5015
+-93.728 36.48 5047
+-93.602 36.48 5182
+-93.476 36.48 5347
+-93.35 36.48 5402
+-93.224 36.48 5608
+-93.098 36.48 5718
+-92.972 36.48 5744
+-92.846 36.48 5816
+-92.72 36.48 5962
+-92.594 36.48 6050
+-92.468 36.48 6110
+-92.342 36.48 6216
+-92.216 36.48 6294
+-92.09 36.48 6383
+-91.964 36.48 6451
+-91.838 36.48 6522
+-91.712 36.48 6585
+-91.586 36.48 6657
+-91.46 36.48 6720
+-91.334 36.48 6758
+-91.208 36.48 6811
+-91.082 36.48 6881
+-90.956 36.48 6880
+-90.83 36.48 7068
+-90.704 36.48 7316
+-90.578 36.48 7450
+-90.452 36.48 7541
+-90.326 36.48 7626
+-90.2 36.48 7751
+-90.074 36.48 7849
+-89.948 36.48 7958
+-89.822 36.48 8082
+-89.696 36.48 8145
+-89.57 36.48 8161
+-89.444 36.48 8285
+-89.318 36.48 8338
+-89.192 36.48 8392
+-89.066 36.48 8395
+-88.94 36.48 8441
+-88.814 36.48 8475
+-88.688 36.48 8449
+-88.562 36.48 8401
+-88.436 36.48 8391
+-88.31 36.48 8344
+-88.184 36.48 8277
+-88.058 36.48 8202
+-87.932 36.48 8100
+-87.806 36.48 8065
+-87.68 36.48 7936
+-87.554 36.48 7811
+-87.428 36.48 7722
+-87.302 36.48 7632
+-87.176 36.48 7543
+-87.05 36.48 7413
+-86.924 36.48 7316
+-86.798 36.48 7118
+-86.672 36.48 7034
+-86.546 36.48 6971
+-86.42 36.48 6807
+-86.294 36.48 6661
+-86.168 36.48 6522
+-86.042 36.48 6331
+-85.916 36.48 6235
+-85.79 36.48 6120
+-85.664 36.48 6017
+-85.538 36.48 5908
+-85.412 36.48 5797
+-85.286 36.48 5758
+-85.16 36.48 5692
+-85.034 36.48 5547
+-84.908 36.48 5322
+-84.782 36.48 5165
+-84.656 36.48 4936
+-84.53 36.48 4759
+-84.404 36.48 4684
+-84.278 36.48 4684
+-84.152 36.48 4629
+-84.026 36.48 4552
+-83.9 36.48 4451
+-83.774 36.48 4287
+-83.648 36.48 4193
+-83.522 36.48 4160
+-83.396 36.48 4109
+-83.27 36.48 4049
+-83.144 36.48 3919
+-83.018 36.48 3781
+-82.892 36.48 3681
+-82.766 36.48 3589
+-82.64 36.48 3546
+-82.514 36.48 3499
+-82.388 36.48 3492
+-82.262 36.48 3494
+-82.136 36.48 3471
+-82.01 36.48 3353
+-81.884 36.48 3351
+-81.758 36.48 3349
+-81.632 36.48 3265
+-81.506 36.48 3258
+-81.38 36.48 3253
+-81.254 36.48 3250
+-81.128 36.48 3249
+-81.002 36.48 3219
+-80.876 36.48 3177
+-80.75 36.48 3178
+-80.624 36.48 3181
+-80.498 36.48 3184
+-80.372 36.48 3188
+-80.246 36.48 3167
+-80.12 36.48 3171
+-79.994 36.48 3124
+-79.868 36.48 3110
+-79.742 36.48 3094
+-79.616 36.48 3099
+-79.49 36.48 3103
+-79.364 36.48 3006
+-79.238 36.48 3006
+-79.112 36.48 3005
+-78.986 36.48 3004
+-78.86 36.48 3004
+-78.734 36.48 3003
+-78.608 36.48 3002
+-78.482 36.48 3001
+-78.356 36.48 3001
+-78.23 36.48 3000
+-78.104 36.48 2999
+-77.978 36.48 2999
+-77.852 36.48 2998
+-77.726 36.48 2998
+-77.6 36.48 2997
+-77.474 36.48 2997
+-77.348 36.48 2886
+-77.222 36.48 2886
+-77.096 36.48 2891
+-76.97 36.48 2891
+-76.844 36.48 2855
+-76.718 36.48 2854
+-76.592 36.48 2854
+-76.466 36.48 2853
+-76.34 36.48 2740
+-76.214 36.48 2758
+-76.088 36.48 2716
+-75.962 36.48 2737
+-75.836 36.48 2738
+-75.71 36.48 2707
+-75.584 36.48 2653
+-75.458 36.48 2670
+-75.332 36.48 2672
+-75.206 36.48 2674
+-75.08 36.48 2679
+-74.954 36.48 2689
+-74.828 36.48 2702
+-74.702 36.48 2704
+-74.576 36.48 2741
+-74.45 36.48 2756
+-74.324 36.48 2759
+-74.198 36.48 2815
+-74.072 36.48 2839
+-73.946 36.48 2824
+-73.82 36.48 2818
+-73.694 36.48 2958
+-73.568 36.48 2962
+-73.442 36.48 3019
+-73.316 36.48 3024
+-73.19 36.48 3028
+-73.064 36.48 3032
+-72.938 36.48 3037
+-72.812 36.48 2966
+-72.686 36.48 2987
+-72.56 36.48 2991
+-72.434 36.48 2985
+-72.308 36.48 3275
+-72.182 36.48 3304
+-72.056 36.48 3307
+-71.93 36.48 3305
+-71.804 36.48 3307
+-71.678 36.48 3313
+-71.552 36.48 3329
+-71.426 36.48 3332
+-71.3 36.48 3322
+-71.174 36.48 3325
+-71.048 36.48 3280
+-70.922 36.48 3282
+-70.796 36.48 3284
+-70.67 36.48 3348
+-70.544 36.48 3344
+-70.418 36.48 3354
+-70.292 36.48 3357
+-70.166 36.48 3338
+-70.04 36.48 3360
+-69.914 36.48 3406
+-69.788 36.48 3418
+-69.662 36.48 3418
+-69.536 36.48 3418
+-69.41 36.48 3470
+-69.284 36.48 3472
+-69.158 36.48 3413
+-69.032 36.48 3437
+-68.906 36.48 3431
+-68.78 36.48 3354
+-68.654 36.48 3266
+-68.528 36.48 3289
+-68.402 36.48 3291
+-68.276 36.48 3324
+-68.15 36.48 3298
+-68.024 36.48 3310
+-67.898 36.48 3312
+-67.772 36.48 3292
+-67.646 36.48 3294
+-67.52 36.48 3295
+-67.394 36.48 3272
+-67.268 36.48 3254
+-67.142 36.48 3290
+-67.016 36.48 3284
+-66.89 36.48 3286
+-66.764 36.48 3288
+-66.638 36.48 3207
+-66.512 36.48 3249
+-66.386 36.48 3245
+-66.26 36.48 3246
+-66.134 36.48 3248
+-66.008 36.48 3481
+-65.882 36.48 3405
+-65.756 36.48 3415
+-65.63 36.48 3416
+-65.504 36.48 3309
+-65.378 36.48 3295
+-65.252 36.48 3296
+-65.126 36.48 3297
+-128 36.428 2959
+-127.874 36.428 2950
+-127.748 36.428 2946
+-127.622 36.428 2994
+-127.496 36.428 2982
+-127.37 36.428 3009
+-127.244 36.428 2997
+-127.118 36.428 2984
+-126.992 36.428 2970
+-126.866 36.428 2955
+-126.74 36.428 2939
+-126.614 36.428 2922
+-126.488 36.428 2903
+-126.362 36.428 2883
+-126.236 36.428 2862
+-126.11 36.428 2872
+-125.984 36.428 2848
+-125.858 36.428 2823
+-125.732 36.428 2797
+-125.606 36.428 2769
+-125.48 36.428 2747
+-125.354 36.428 2721
+-125.228 36.428 2712
+-125.102 36.428 2693
+-124.976 36.428 2738
+-124.85 36.428 2732
+-124.724 36.428 2814
+-124.598 36.428 2841
+-124.472 36.428 2942
+-124.346 36.428 2995
+-124.22 36.428 3069
+-124.094 36.428 3136
+-123.968 36.428 3222
+-123.842 36.428 3288
+-123.716 36.428 3363
+-123.59 36.428 3422
+-123.464 36.428 3476
+-123.338 36.428 3526
+-123.212 36.428 3575
+-123.086 36.428 3663
+-122.96 36.428 3731
+-122.834 36.428 3780
+-122.708 36.428 3862
+-122.582 36.428 3913
+-122.456 36.428 3878
+-122.33 36.428 3892
+-122.204 36.428 3986
+-122.078 36.428 4143
+-121.952 36.428 4355
+-121.826 36.428 4475
+-121.7 36.428 4565
+-121.574 36.428 4669
+-121.448 36.428 4734
+-121.322 36.428 4840
+-121.196 36.428 4862
+-121.07 36.428 4869
+-120.944 36.428 4939
+-120.818 36.428 5032
+-120.692 36.428 5145
+-120.566 36.428 5302
+-120.44 36.428 5402
+-120.314 36.428 5476
+-120.188 36.428 5588
+-120.062 36.428 5692
+-119.936 36.428 5753
+-119.81 36.428 5845
+-119.684 36.428 5947
+-119.558 36.428 6061
+-119.432 36.428 6171
+-119.306 36.428 6247
+-119.18 36.428 6344
+-119.054 36.428 6432
+-118.928 36.428 6511
+-118.802 36.428 6578
+-118.676 36.428 6627
+-118.55 36.428 6758
+-118.424 36.428 6778
+-118.298 36.428 6858
+-118.172 36.428 6912
+-118.046 36.428 6955
+-117.92 36.428 6980
+-117.794 36.428 7010
+-117.668 36.428 7037
+-117.542 36.428 7046
+-117.416 36.428 7068
+-117.29 36.428 7071
+-117.164 36.428 7059
+-117.038 36.428 7042
+-116.912 36.428 7027
+-116.786 36.428 6989
+-116.66 36.428 6936
+-116.534 36.428 6915
+-116.408 36.428 6844
+-116.282 36.428 6779
+-116.156 36.428 6743
+-116.03 36.428 6732
+-115.904 36.428 6656
+-115.778 36.428 6561
+-115.652 36.428 6433
+-115.526 36.428 6329
+-115.4 36.428 6258
+-115.274 36.428 6194
+-115.148 36.428 6088
+-115.022 36.428 5949
+-114.896 36.428 5882
+-114.77 36.428 5810
+-114.644 36.428 5666
+-114.518 36.428 5563
+-114.392 36.428 5480
+-114.266 36.428 5332
+-114.14 36.428 5330
+-114.014 36.428 5192
+-113.888 36.428 5067
+-113.762 36.428 4934
+-113.636 36.428 4815
+-113.51 36.428 4691
+-113.384 36.428 4641
+-113.258 36.428 4475
+-113.132 36.428 4333
+-113.006 36.428 4280
+-112.88 36.428 4100
+-112.754 36.428 4127
+-112.628 36.428 4047
+-112.502 36.428 3957
+-112.376 36.428 3971
+-112.25 36.428 3994
+-112.124 36.428 3992
+-111.998 36.428 3980
+-111.872 36.428 4002
+-111.746 36.428 4038
+-111.62 36.428 4044
+-111.494 36.428 4057
+-111.368 36.428 4084
+-111.242 36.428 4133
+-111.116 36.428 4161
+-110.99 36.428 4205
+-110.864 36.428 4209
+-110.738 36.428 4232
+-110.612 36.428 4246
+-110.486 36.428 4245
+-110.36 36.428 4242
+-110.234 36.428 4238
+-110.108 36.428 4213
+-109.982 36.428 4215
+-109.856 36.428 4234
+-109.73 36.428 4228
+-109.604 36.428 4193
+-109.478 36.428 4158
+-109.352 36.428 4179
+-109.226 36.428 4187
+-109.1 36.428 4154
+-108.974 36.428 4104
+-108.848 36.428 4043
+-108.722 36.428 3995
+-108.596 36.428 3937
+-108.47 36.428 3852
+-108.344 36.428 3816
+-108.218 36.428 3810
+-108.092 36.428 3775
+-107.966 36.428 3726
+-107.84 36.428 3659
+-107.714 36.428 3600
+-107.588 36.428 3579
+-107.462 36.428 3519
+-107.336 36.428 3458
+-107.21 36.428 3388
+-107.084 36.428 3334
+-106.958 36.428 3283
+-106.832 36.428 3207
+-106.706 36.428 3114
+-106.58 36.428 3023
+-106.454 36.428 2924
+-106.328 36.428 2833
+-106.202 36.428 2785
+-106.076 36.428 2789
+-105.95 36.428 2811
+-105.824 36.428 2842
+-105.698 36.428 2879
+-105.572 36.428 2903
+-105.446 36.428 2924
+-105.32 36.428 2942
+-105.194 36.428 2960
+-105.068 36.428 2976
+-104.942 36.428 2989
+-104.816 36.428 3003
+-104.69 36.428 3017
+-104.564 36.428 3020
+-104.438 36.428 3032
+-104.312 36.428 3049
+-104.186 36.428 3049
+-104.06 36.428 3058
+-103.934 36.428 3070
+-103.808 36.428 3081
+-103.682 36.428 3091
+-103.556 36.428 3101
+-103.43 36.428 3111
+-103.304 36.428 3120
+-103.178 36.428 3107
+-103.052 36.428 3177
+-102.926 36.428 3184
+-102.8 36.428 3200
+-102.674 36.428 3194
+-102.548 36.428 3203
+-102.422 36.428 3211
+-102.296 36.428 3219
+-102.17 36.428 3226
+-102.044 36.428 3132
+-101.918 36.428 3049
+-101.792 36.428 3059
+-101.666 36.428 3013
+-101.54 36.428 2928
+-101.414 36.428 2897
+-101.288 36.428 2830
+-101.162 36.428 2791
+-101.036 36.428 2817
+-100.91 36.428 2861
+-100.784 36.428 2920
+-100.658 36.428 3029
+-100.532 36.428 3058
+-100.406 36.428 3059
+-100.28 36.428 3069
+-100.154 36.428 3063
+-100.028 36.428 3072
+-99.902 36.428 3094
+-99.776 36.428 3122
+-99.65 36.428 3115
+-99.524 36.428 3109
+-99.398 36.428 3102
+-99.272 36.428 3094
+-99.146 36.428 3114
+-99.02 36.428 3105
+-98.894 36.428 3095
+-98.768 36.428 3094
+-98.642 36.428 3052
+-98.516 36.428 3041
+-98.39 36.428 3071
+-98.264 36.428 3057
+-98.138 36.428 3042
+-98.012 36.428 3025
+-97.886 36.428 3004
+-97.76 36.428 3004
+-97.634 36.428 2973
+-97.508 36.428 2934
+-97.382 36.428 2886
+-97.256 36.428 2897
+-97.13 36.428 2840
+-97.004 36.428 2769
+-96.878 36.428 2720
+-96.752 36.428 2739
+-96.626 36.428 2864
+-96.5 36.428 3012
+-96.374 36.428 3181
+-96.248 36.428 3358
+-96.122 36.428 3577
+-95.996 36.428 3671
+-95.87 36.428 3739
+-95.744 36.428 3796
+-95.618 36.428 3917
+-95.492 36.428 3958
+-95.366 36.428 4057
+-95.24 36.428 4107
+-95.114 36.428 4175
+-94.988 36.428 4226
+-94.862 36.428 4204
+-94.736 36.428 4110
+-94.61 36.428 4312
+-94.484 36.428 4481
+-94.358 36.428 4606
+-94.232 36.428 4717
+-94.106 36.428 4774
+-93.98 36.428 4883
+-93.854 36.428 4979
+-93.728 36.428 5075
+-93.602 36.428 5166
+-93.476 36.428 5277
+-93.35 36.428 5413
+-93.224 36.428 5560
+-93.098 36.428 5604
+-92.972 36.428 5758
+-92.846 36.428 5870
+-92.72 36.428 5943
+-92.594 36.428 5981
+-92.468 36.428 6070
+-92.342 36.428 6189
+-92.216 36.428 6238
+-92.09 36.428 6341
+-91.964 36.428 6415
+-91.838 36.428 6479
+-91.712 36.428 6532
+-91.586 36.428 6578
+-91.46 36.428 6643
+-91.334 36.428 6739
+-91.208 36.428 6766
+-91.082 36.428 6812
+-90.956 36.428 6818
+-90.83 36.428 7187
+-90.704 36.428 7264
+-90.578 36.428 7373
+-90.452 36.428 7513
+-90.326 36.428 7605
+-90.2 36.428 7725
+-90.074 36.428 7825
+-89.948 36.428 7929
+-89.822 36.428 7964
+-89.696 36.428 8084
+-89.57 36.428 8149
+-89.444 36.428 8237
+-89.318 36.428 8279
+-89.192 36.428 8335
+-89.066 36.428 8356
+-88.94 36.428 8392
+-88.814 36.428 8380
+-88.688 36.428 8382
+-88.562 36.428 8339
+-88.436 36.428 8344
+-88.31 36.428 8269
+-88.184 36.428 8261
+-88.058 36.428 8164
+-87.932 36.428 8082
+-87.806 36.428 7970
+-87.68 36.428 7860
+-87.554 36.428 7833
+-87.428 36.428 7705
+-87.302 36.428 7601
+-87.176 36.428 7496
+-87.05 36.428 7366
+-86.924 36.428 7284
+-86.798 36.428 7146
+-86.672 36.428 7027
+-86.546 36.428 6872
+-86.42 36.428 6810
+-86.294 36.428 6647
+-86.168 36.428 6529
+-86.042 36.428 6370
+-85.916 36.428 6235
+-85.79 36.428 6085
+-85.664 36.428 6010
+-85.538 36.428 5901
+-85.412 36.428 5798
+-85.286 36.428 5736
+-85.16 36.428 5645
+-85.034 36.428 5503
+-84.908 36.428 5303
+-84.782 36.428 5125
+-84.656 36.428 4932
+-84.53 36.428 4808
+-84.404 36.428 4707
+-84.278 36.428 4662
+-84.152 36.428 4537
+-84.026 36.428 4405
+-83.9 36.428 4378
+-83.774 36.428 4310
+-83.648 36.428 4253
+-83.522 36.428 4173
+-83.396 36.428 4126
+-83.27 36.428 4013
+-83.144 36.428 3923
+-83.018 36.428 3839
+-82.892 36.428 3744
+-82.766 36.428 3660
+-82.64 36.428 3619
+-82.514 36.428 3562
+-82.388 36.428 3532
+-82.262 36.428 3478
+-82.136 36.428 3464
+-82.01 36.428 3334
+-81.884 36.428 3324
+-81.758 36.428 3235
+-81.632 36.428 3223
+-81.506 36.428 3215
+-81.38 36.428 3210
+-81.254 36.428 3208
+-81.128 36.428 3208
+-81.002 36.428 3211
+-80.876 36.428 3166
+-80.75 36.428 3149
+-80.624 36.428 3154
+-80.498 36.428 3159
+-80.372 36.428 3165
+-80.246 36.428 3171
+-80.12 36.428 3176
+-79.994 36.428 3182
+-79.868 36.428 3109
+-79.742 36.428 3096
+-79.616 36.428 3082
+-79.49 36.428 2988
+-79.364 36.428 2989
+-79.238 36.428 2989
+-79.112 36.428 2989
+-78.986 36.428 2989
+-78.86 36.428 2988
+-78.734 36.428 2988
+-78.608 36.428 2988
+-78.482 36.428 2987
+-78.356 36.428 2987
+-78.23 36.428 2987
+-78.104 36.428 2986
+-77.978 36.428 2986
+-77.852 36.428 2986
+-77.726 36.428 2985
+-77.6 36.428 2985
+-77.474 36.428 2874
+-77.348 36.428 2874
+-77.222 36.428 2879
+-77.096 36.428 2880
+-76.97 36.428 2844
+-76.844 36.428 2843
+-76.718 36.428 2843
+-76.592 36.428 2843
+-76.466 36.428 2730
+-76.34 36.428 2748
+-76.214 36.428 2707
+-76.088 36.428 2728
+-75.962 36.428 2729
+-75.836 36.428 2699
+-75.71 36.428 2700
+-75.584 36.428 2663
+-75.458 36.428 2665
+-75.332 36.428 2667
+-75.206 36.428 2672
+-75.08 36.428 2683
+-74.954 36.428 2695
+-74.828 36.428 2698
+-74.702 36.428 2736
+-74.576 36.428 2751
+-74.45 36.428 2755
+-74.324 36.428 2810
+-74.198 36.428 2834
+-74.072 36.428 2819
+-73.946 36.428 2814
+-73.82 36.428 2953
+-73.694 36.428 2958
+-73.568 36.428 3014
+-73.442 36.428 3019
+-73.316 36.428 3024
+-73.19 36.428 3028
+-73.064 36.428 3033
+-72.938 36.428 2963
+-72.812 36.428 2984
+-72.686 36.428 2988
+-72.56 36.428 2982
+-72.434 36.428 3271
+-72.308 36.428 3301
+-72.182 36.428 3303
+-72.056 36.428 3301
+-71.93 36.428 3304
+-71.804 36.428 3310
+-71.678 36.428 3326
+-71.552 36.428 3329
+-71.426 36.428 3319
+-71.3 36.428 3322
+-71.174 36.428 3278
+-71.048 36.428 3280
+-70.922 36.428 3282
+-70.796 36.428 3345
+-70.67 36.428 3342
+-70.544 36.428 3352
+-70.418 36.428 3354
+-70.292 36.428 3336
+-70.166 36.428 3358
+-70.04 36.428 3404
+-69.914 36.428 3416
+-69.788 36.428 3416
+-69.662 36.428 3416
+-69.536 36.428 3467
+-69.41 36.428 3470
+-69.284 36.428 3411
+-69.158 36.428 3435
+-69.032 36.428 3429
+-68.906 36.428 3349
+-68.78 36.428 3264
+-68.654 36.428 3288
+-68.528 36.428 3289
+-68.402 36.428 3322
+-68.276 36.428 3296
+-68.15 36.428 3309
+-68.024 36.428 3311
+-67.898 36.428 3291
+-67.772 36.428 3292
+-67.646 36.428 3294
+-67.52 36.428 3270
+-67.394 36.428 3252
+-67.268 36.428 3289
+-67.142 36.428 3283
+-67.016 36.428 3285
+-66.89 36.428 3287
+-66.764 36.428 3206
+-66.638 36.428 3247
+-66.512 36.428 3244
+-66.386 36.428 3245
+-66.26 36.428 3247
+-66.134 36.428 3480
+-66.008 36.428 3400
+-65.882 36.428 3414
+-65.756 36.428 3415
+-65.63 36.428 3308
+-65.504 36.428 3295
+-65.378 36.428 3295
+-65.252 36.428 3296
+-65.126 36.428 3273
+-128 36.376 3023
+-127.874 36.376 3013
+-127.748 36.376 3002
+-127.622 36.376 2991
+-127.496 36.376 2979
+-127.37 36.376 2966
+-127.244 36.376 2992
+-127.118 36.376 2978
+-126.992 36.376 2963
+-126.866 36.376 2947
+-126.74 36.376 2930
+-126.614 36.376 2911
+-126.488 36.376 2891
+-126.362 36.376 2869
+-126.236 36.376 2846
+-126.11 36.376 2820
+-125.984 36.376 2825
+-125.858 36.376 2795
+-125.732 36.376 2763
+-125.606 36.376 2729
+-125.48 36.376 2694
+-125.354 36.376 2663
+-125.228 36.376 2630
+-125.102 36.376 2613
+-124.976 36.376 2591
+-124.85 36.376 2631
+-124.724 36.376 2632
+-124.598 36.376 2724
+-124.472 36.376 2771
+-124.346 36.376 2893
+-124.22 36.376 2970
+-124.094 36.376 3066
+-123.968 36.376 3151
+-123.842 36.376 3251
+-123.716 36.376 3327
+-123.59 36.376 3405
+-123.464 36.376 3469
+-123.338 36.376 3525
+-123.212 36.376 3574
+-123.086 36.376 3667
+-122.96 36.376 3731
+-122.834 36.376 3792
+-122.708 36.376 3914
+-122.582 36.376 3985
+-122.456 36.376 3988
+-122.33 36.376 4031
+-122.204 36.376 4129
+-122.078 36.376 4285
+-121.952 36.376 4395
+-121.826 36.376 4493
+-121.7 36.376 4576
+-121.574 36.376 4680
+-121.448 36.376 4756
+-121.322 36.376 4854
+-121.196 36.376 4843
+-121.07 36.376 4780
+-120.944 36.376 4913
+-120.818 36.376 5083
+-120.692 36.376 5206
+-120.566 36.376 5322
+-120.44 36.376 5429
+-120.314 36.376 5536
+-120.188 36.376 5612
+-120.062 36.376 5712
+-119.936 36.376 5811
+-119.81 36.376 5908
+-119.684 36.376 6006
+-119.558 36.376 6078
+-119.432 36.376 6202
+-119.306 36.376 6311
+-119.18 36.376 6366
+-119.054 36.376 6486
+-118.928 36.376 6549
+-118.802 36.376 6650
+-118.676 36.376 6682
+-118.55 36.376 6771
+-118.424 36.376 6822
+-118.298 36.376 6931
+-118.172 36.376 6959
+-118.046 36.376 7016
+-117.92 36.376 7053
+-117.794 36.376 7081
+-117.668 36.376 7104
+-117.542 36.376 7108
+-117.416 36.376 7118
+-117.29 36.376 7126
+-117.164 36.376 7106
+-117.038 36.376 7128
+-116.912 36.376 7090
+-116.786 36.376 7048
+-116.66 36.376 7013
+-116.534 36.376 6958
+-116.408 36.376 6937
+-116.282 36.376 6840
+-116.156 36.376 6791
+-116.03 36.376 6764
+-115.904 36.376 6709
+-115.778 36.376 6638
+-115.652 36.376 6523
+-115.526 36.376 6415
+-115.4 36.376 6320
+-115.274 36.376 6225
+-115.148 36.376 6171
+-115.022 36.376 6054
+-114.896 36.376 5923
+-114.77 36.376 5813
+-114.644 36.376 5704
+-114.518 36.376 5605
+-114.392 36.376 5474
+-114.266 36.376 5468
+-114.14 36.376 5394
+-114.014 36.376 5261
+-113.888 36.376 5084
+-113.762 36.376 4955
+-113.636 36.376 4822
+-113.51 36.376 4652
+-113.384 36.376 4638
+-113.258 36.376 4512
+-113.132 36.376 4418
+-113.006 36.376 4334
+-112.88 36.376 4207
+-112.754 36.376 4106
+-112.628 36.376 3972
+-112.502 36.376 3851
+-112.376 36.376 3953
+-112.25 36.376 4023
+-112.124 36.376 4052
+-111.998 36.376 4068
+-111.872 36.376 4085
+-111.746 36.376 4107
+-111.62 36.376 4113
+-111.494 36.376 4143
+-111.368 36.376 4184
+-111.242 36.376 4213
+-111.116 36.376 4241
+-110.99 36.376 4264
+-110.864 36.376 4274
+-110.738 36.376 4279
+-110.612 36.376 4280
+-110.486 36.376 4282
+-110.36 36.376 4280
+-110.234 36.376 4280
+-110.108 36.376 4273
+-109.982 36.376 4274
+-109.856 36.376 4289
+-109.73 36.376 4289
+-109.604 36.376 4239
+-109.478 36.376 4213
+-109.352 36.376 4227
+-109.226 36.376 4247
+-109.1 36.376 4226
+-108.974 36.376 4175
+-108.848 36.376 4119
+-108.722 36.376 4057
+-108.596 36.376 4002
+-108.47 36.376 3943
+-108.344 36.376 3882
+-108.218 36.376 3858
+-108.092 36.376 3792
+-107.966 36.376 3738
+-107.84 36.376 3642
+-107.714 36.376 3583
+-107.588 36.376 3579
+-107.462 36.376 3537
+-107.336 36.376 3453
+-107.21 36.376 3384
+-107.084 36.376 3333
+-106.958 36.376 3284
+-106.832 36.376 3234
+-106.706 36.376 3144
+-106.58 36.376 3041
+-106.454 36.376 2904
+-106.328 36.376 2758
+-106.202 36.376 2684
+-106.076 36.376 2724
+-105.95 36.376 2800
+-105.824 36.376 2858
+-105.698 36.376 2900
+-105.572 36.376 2929
+-105.446 36.376 2951
+-105.32 36.376 2969
+-105.194 36.376 2984
+-105.068 36.376 2996
+-104.942 36.376 3009
+-104.816 36.376 3022
+-104.69 36.376 3024
+-104.564 36.376 3035
+-104.438 36.376 3051
+-104.312 36.376 3051
+-104.186 36.376 3059
+-104.06 36.376 3071
+-103.934 36.376 3082
+-103.808 36.376 3092
+-103.682 36.376 3102
+-103.556 36.376 3111
+-103.43 36.376 3120
+-103.304 36.376 3107
+-103.178 36.376 3176
+-103.052 36.376 3183
+-102.926 36.376 3200
+-102.8 36.376 3193
+-102.674 36.376 3202
+-102.548 36.376 3211
+-102.422 36.376 3219
+-102.296 36.376 3226
+-102.17 36.376 3234
+-102.044 36.376 3138
+-101.918 36.376 3055
+-101.792 36.376 3066
+-101.666 36.376 3020
+-101.54 36.376 2933
+-101.414 36.376 2901
+-101.288 36.376 2833
+-101.162 36.376 2791
+-101.036 36.376 2816
+-100.91 36.376 2850
+-100.784 36.376 2913
+-100.658 36.376 3020
+-100.532 36.376 3056
+-100.406 36.376 3066
+-100.28 36.376 3060
+-100.154 36.376 3069
+-100.028 36.376 3091
+-99.902 36.376 3118
+-99.776 36.376 3112
+-99.65 36.376 3105
+-99.524 36.376 3097
+-99.398 36.376 3090
+-99.272 36.376 3110
+-99.146 36.376 3100
+-99.02 36.376 3090
+-98.894 36.376 3089
+-98.768 36.376 3049
+-98.642 36.376 3038
+-98.516 36.376 3069
+-98.39 36.376 3057
+-98.264 36.376 3043
+-98.138 36.376 3029
+-98.012 36.376 3012
+-97.886 36.376 3019
+-97.76 36.376 2997
+-97.634 36.376 2972
+-97.508 36.376 2943
+-97.382 36.376 2962
+-97.256 36.376 2962
+-97.13 36.376 2922
+-97.004 36.376 2888
+-96.878 36.376 2895
+-96.752 36.376 2915
+-96.626 36.376 2977
+-96.5 36.376 3123
+-96.374 36.376 3276
+-96.248 36.376 3410
+-96.122 36.376 3511
+-95.996 36.376 3662
+-95.87 36.376 3714
+-95.744 36.376 3756
+-95.618 36.376 3776
+-95.492 36.376 3813
+-95.366 36.376 3976
+-95.24 36.376 4045
+-95.114 36.376 4153
+-94.988 36.376 4218
+-94.862 36.376 4242
+-94.736 36.376 4245
+-94.61 36.376 4373
+-94.484 36.376 4424
+-94.358 36.376 4540
+-94.232 36.376 4676
+-94.106 36.376 4657
+-93.98 36.376 4826
+-93.854 36.376 4904
+-93.728 36.376 5038
+-93.602 36.376 5120
+-93.476 36.376 5251
+-93.35 36.376 5420
+-93.224 36.376 5527
+-93.098 36.376 5607
+-92.972 36.376 5749
+-92.846 36.376 5831
+-92.72 36.376 5867
+-92.594 36.376 5975
+-92.468 36.376 6048
+-92.342 36.376 6119
+-92.216 36.376 6185
+-92.09 36.376 6269
+-91.964 36.376 6363
+-91.838 36.376 6434
+-91.712 36.376 6493
+-91.586 36.376 6564
+-91.46 36.376 6610
+-91.334 36.376 6649
+-91.208 36.376 6689
+-91.082 36.376 6774
+-90.956 36.376 6903
+-90.83 36.376 7111
+-90.704 36.376 7270
+-90.578 36.376 7370
+-90.452 36.376 7436
+-90.326 36.376 7621
+-90.2 36.376 7732
+-90.074 36.376 7777
+-89.948 36.376 7891
+-89.822 36.376 7966
+-89.696 36.376 8060
+-89.57 36.376 8090
+-89.444 36.376 8171
+-89.318 36.376 8230
+-89.192 36.376 8304
+-89.066 36.376 8315
+-88.94 36.376 8327
+-88.814 36.376 8313
+-88.688 36.376 8316
+-88.562 36.376 8297
+-88.436 36.376 8264
+-88.31 36.376 8212
+-88.184 36.376 8161
+-88.058 36.376 8115
+-87.932 36.376 7999
+-87.806 36.376 7882
+-87.68 36.376 7820
+-87.554 36.376 7748
+-87.428 36.376 7644
+-87.302 36.376 7579
+-87.176 36.376 7437
+-87.05 36.376 7336
+-86.924 36.376 7221
+-86.798 36.376 7122
+-86.672 36.376 7000
+-86.546 36.376 6887
+-86.42 36.376 6768
+-86.294 36.376 6630
+-86.168 36.376 6502
+-86.042 36.376 6319
+-85.916 36.376 6248
+-85.79 36.376 6088
+-85.664 36.376 5949
+-85.538 36.376 5866
+-85.412 36.376 5724
+-85.286 36.376 5696
+-85.16 36.376 5542
+-85.034 36.376 5365
+-84.908 36.376 5260
+-84.782 36.376 5162
+-84.656 36.376 5011
+-84.53 36.376 4874
+-84.404 36.376 4730
+-84.278 36.376 4632
+-84.152 36.376 4418
+-84.026 36.376 4279
+-83.9 36.376 4333
+-83.774 36.376 4305
+-83.648 36.376 4222
+-83.522 36.376 4167
+-83.396 36.376 4114
+-83.27 36.376 3976
+-83.144 36.376 3910
+-83.018 36.376 3849
+-82.892 36.376 3793
+-82.766 36.376 3711
+-82.64 36.376 3643
+-82.514 36.376 3571
+-82.388 36.376 3503
+-82.262 36.376 3468
+-82.136 36.376 3364
+-82.01 36.376 3231
+-81.884 36.376 3208
+-81.758 36.376 3185
+-81.632 36.376 3171
+-81.506 36.376 3162
+-81.38 36.376 3158
+-81.254 36.376 3159
+-81.128 36.376 3162
+-81.002 36.376 3124
+-80.876 36.376 3131
+-80.75 36.376 3138
+-80.624 36.376 3125
+-80.498 36.376 3133
+-80.372 36.376 3141
+-80.246 36.376 3149
+-80.12 36.376 3156
+-79.994 36.376 3164
+-79.868 36.376 3085
+-79.742 36.376 3004
+-79.616 36.376 2986
+-79.49 36.376 2970
+-79.364 36.376 2971
+-79.238 36.376 2971
+-79.112 36.376 2972
+-78.986 36.376 2972
+-78.86 36.376 2973
+-78.734 36.376 2973
+-78.608 36.376 2973
+-78.482 36.376 2973
+-78.356 36.376 2973
+-78.23 36.376 2973
+-78.104 36.376 2973
+-77.978 36.376 2973
+-77.852 36.376 2973
+-77.726 36.376 2973
+-77.6 36.376 2862
+-77.474 36.376 2862
+-77.348 36.376 2867
+-77.222 36.376 2868
+-77.096 36.376 2832
+-76.97 36.376 2832
+-76.844 36.376 2831
+-76.718 36.376 2831
+-76.592 36.376 2719
+-76.466 36.376 2738
+-76.34 36.376 2697
+-76.214 36.376 2719
+-76.088 36.376 2720
+-75.962 36.376 2690
+-75.836 36.376 2691
+-75.71 36.376 2656
+-75.584 36.376 2658
+-75.458 36.376 2660
+-75.332 36.376 2665
+-75.206 36.376 2676
+-75.08 36.376 2689
+-74.954 36.376 2692
+-74.828 36.376 2730
+-74.702 36.376 2746
+-74.576 36.376 2750
+-74.45 36.376 2805
+-74.324 36.376 2830
+-74.198 36.376 2815
+-74.072 36.376 2810
+-73.946 36.376 2949
+-73.82 36.376 2954
+-73.694 36.376 3010
+-73.568 36.376 3015
+-73.442 36.376 3019
+-73.316 36.376 3024
+-73.19 36.376 3029
+-73.064 36.376 2959
+-72.938 36.376 2981
+-72.812 36.376 2985
+-72.686 36.376 2979
+-72.56 36.376 3268
+-72.434 36.376 3297
+-72.308 36.376 3300
+-72.182 36.376 3298
+-72.056 36.376 3301
+-71.93 36.376 3306
+-71.804 36.376 3323
+-71.678 36.376 3325
+-71.552 36.376 3316
+-71.426 36.376 3319
+-71.3 36.376 3275
+-71.174 36.376 3277
+-71.048 36.376 3279
+-70.922 36.376 3342
+-70.796 36.376 3339
+-70.67 36.376 3349
+-70.544 36.376 3352
+-70.418 36.376 3333
+-70.292 36.376 3355
+-70.166 36.376 3401
+-70.04 36.376 3413
+-69.914 36.376 3413
+-69.788 36.376 3413
+-69.662 36.376 3465
+-69.536 36.376 3468
+-69.41 36.376 3409
+-69.284 36.376 3432
+-69.158 36.376 3427
+-69.032 36.376 3350
+-68.906 36.376 3263
+-68.78 36.376 3286
+-68.654 36.376 3288
+-68.528 36.376 3321
+-68.402 36.376 3295
+-68.276 36.376 3307
+-68.15 36.376 3309
+-68.024 36.376 3289
+-67.898 36.376 3291
+-67.772 36.376 3293
+-67.646 36.376 3269
+-67.52 36.376 3251
+-67.394 36.376 3287
+-67.268 36.376 3282
+-67.142 36.376 3284
+-67.016 36.376 3286
+-66.89 36.376 3205
+-66.764 36.376 3246
+-66.638 36.376 3243
+-66.512 36.376 3244
+-66.386 36.376 3246
+-66.26 36.376 3479
+-66.134 36.376 3403
+-66.008 36.376 3413
+-65.882 36.376 3414
+-65.756 36.376 3308
+-65.63 36.376 3294
+-65.504 36.376 3295
+-65.378 36.376 3295
+-65.252 36.376 3272
+-65.126 36.376 3273
+-128 36.324 3022
+-127.874 36.324 3011
+-127.748 36.324 3000
+-127.622 36.324 2989
+-127.496 36.324 2976
+-127.37 36.324 2963
+-127.244 36.324 2949
+-127.118 36.324 2973
+-126.992 36.324 2957
+-126.866 36.324 2940
+-126.74 36.324 2922
+-126.614 36.324 2902
+-126.488 36.324 2880
+-126.362 36.324 2856
+-126.236 36.324 2830
+-126.11 36.324 2801
+-125.984 36.324 2770
+-125.858 36.324 2767
+-125.732 36.324 2729
+-125.606 36.324 2688
+-125.48 36.324 2644
+-125.354 36.324 2597
+-125.228 36.324 2554
+-125.102 36.324 2511
+-124.976 36.324 2485
+-124.85 36.324 2462
+-124.724 36.324 2502
+-124.598 36.324 2519
+-124.472 36.324 2633
+-124.346 36.324 2712
+-124.22 36.324 2863
+-124.094 36.324 2968
+-123.968 36.324 3085
+-123.842 36.324 3185
+-123.716 36.324 3294
+-123.59 36.324 3375
+-123.464 36.324 3461
+-123.338 36.324 3517
+-123.212 36.324 3595
+-123.086 36.324 3691
+-122.96 36.324 3728
+-122.834 36.324 3782
+-122.708 36.324 3892
+-122.582 36.324 3960
+-122.456 36.324 4045
+-122.33 36.324 4088
+-122.204 36.324 4206
+-122.078 36.324 4293
+-121.952 36.324 4412
+-121.826 36.324 4503
+-121.7 36.324 4601
+-121.574 36.324 4718
+-121.448 36.324 4765
+-121.322 36.324 4828
+-121.196 36.324 4873
+-121.07 36.324 4879
+-120.944 36.324 4999
+-120.818 36.324 5113
+-120.692 36.324 5244
+-120.566 36.324 5376
+-120.44 36.324 5474
+-120.314 36.324 5580
+-120.188 36.324 5687
+-120.062 36.324 5739
+-119.936 36.324 5850
+-119.81 36.324 5898
+-119.684 36.324 5999
+-119.558 36.324 6133
+-119.432 36.324 6273
+-119.306 36.324 6380
+-119.18 36.324 6437
+-119.054 36.324 6544
+-118.928 36.324 6646
+-118.802 36.324 6677
+-118.676 36.324 6750
+-118.55 36.324 6839
+-118.424 36.324 6882
+-118.298 36.324 6966
+-118.172 36.324 7025
+-118.046 36.324 7068
+-117.92 36.324 7079
+-117.794 36.324 7099
+-117.668 36.324 7138
+-117.542 36.324 7182
+-117.416 36.324 7167
+-117.29 36.324 7164
+-117.164 36.324 7195
+-117.038 36.324 7159
+-116.912 36.324 7121
+-116.786 36.324 7112
+-116.66 36.324 7073
+-116.534 36.324 7034
+-116.408 36.324 6975
+-116.282 36.324 6912
+-116.156 36.324 6844
+-116.03 36.324 6796
+-115.904 36.324 6690
+-115.778 36.324 6676
+-115.652 36.324 6538
+-115.526 36.324 6490
+-115.4 36.324 6400
+-115.274 36.324 6265
+-115.148 36.324 6150
+-115.022 36.324 6071
+-114.896 36.324 5997
+-114.77 36.324 5916
+-114.644 36.324 5752
+-114.518 36.324 5628
+-114.392 36.324 5590
+-114.266 36.324 5514
+-114.14 36.324 5385
+-114.014 36.324 5350
+-113.888 36.324 5129
+-113.762 36.324 4991
+-113.636 36.324 4842
+-113.51 36.324 4711
+-113.384 36.324 4665
+-113.258 36.324 4455
+-113.132 36.324 4454
+-113.006 36.324 4363
+-112.88 36.324 4268
+-112.754 36.324 4076
+-112.628 36.324 3898
+-112.502 36.324 3951
+-112.376 36.324 4003
+-112.25 36.324 4069
+-112.124 36.324 4108
+-111.998 36.324 4137
+-111.872 36.324 4171
+-111.746 36.324 4178
+-111.62 36.324 4201
+-111.494 36.324 4226
+-111.368 36.324 4276
+-111.242 36.324 4303
+-111.116 36.324 4315
+-110.99 36.324 4331
+-110.864 36.324 4322
+-110.738 36.324 4336
+-110.612 36.324 4345
+-110.486 36.324 4341
+-110.36 36.324 4316
+-110.234 36.324 4309
+-110.108 36.324 4326
+-109.982 36.324 4338
+-109.856 36.324 4346
+-109.73 36.324 4339
+-109.604 36.324 4327
+-109.478 36.324 4318
+-109.352 36.324 4306
+-109.226 36.324 4305
+-109.1 36.324 4288
+-108.974 36.324 4242
+-108.848 36.324 4190
+-108.722 36.324 4142
+-108.596 36.324 4072
+-108.47 36.324 4012
+-108.344 36.324 3941
+-108.218 36.324 3871
+-108.092 36.324 3817
+-107.966 36.324 3775
+-107.84 36.324 3692
+-107.714 36.324 3625
+-107.588 36.324 3584
+-107.462 36.324 3536
+-107.336 36.324 3447
+-107.21 36.324 3357
+-107.084 36.324 3297
+-106.958 36.324 3285
+-106.832 36.324 3238
+-106.706 36.324 3180
+-106.58 36.324 3074
+-106.454 36.324 2906
+-106.328 36.324 2708
+-106.202 36.324 2609
+-106.076 36.324 2683
+-105.95 36.324 2794
+-105.824 36.324 2872
+-105.698 36.324 2921
+-105.572 36.324 2953
+-105.446 36.324 2975
+-105.32 36.324 2992
+-105.194 36.324 3003
+-105.068 36.324 3016
+-104.942 36.324 3027
+-104.816 36.324 3030
+-104.69 36.324 3039
+-104.564 36.324 3055
+-104.438 36.324 3054
+-104.312 36.324 3062
+-104.186 36.324 3073
+-104.06 36.324 3083
+-103.934 36.324 3094
+-103.808 36.324 3103
+-103.682 36.324 3112
+-103.556 36.324 3121
+-103.43 36.324 3109
+-103.304 36.324 3176
+-103.178 36.324 3183
+-103.052 36.324 3199
+-102.926 36.324 3194
+-102.8 36.324 3203
+-102.674 36.324 3211
+-102.548 36.324 3219
+-102.422 36.324 3227
+-102.296 36.324 3234
+-102.17 36.324 3241
+-102.044 36.324 3145
+-101.918 36.324 3062
+-101.792 36.324 3074
+-101.666 36.324 3026
+-101.54 36.324 2967
+-101.414 36.324 2906
+-101.288 36.324 2837
+-101.162 36.324 2792
+-101.036 36.324 2822
+-100.91 36.324 2846
+-100.784 36.324 2937
+-100.658 36.324 3028
+-100.532 36.324 3064
+-100.406 36.324 3058
+-100.28 36.324 3067
+-100.154 36.324 3088
+-100.028 36.324 3115
+-99.902 36.324 3109
+-99.776 36.324 3102
+-99.65 36.324 3094
+-99.524 36.324 3086
+-99.398 36.324 3106
+-99.272 36.324 3097
+-99.146 36.324 3086
+-99.02 36.324 3085
+-98.894 36.324 3045
+-98.768 36.324 3034
+-98.642 36.324 3067
+-98.516 36.324 3055
+-98.39 36.324 3042
+-98.264 36.324 3028
+-98.138 36.324 3014
+-98.012 36.324 2999
+-97.886 36.324 2983
+-97.76 36.324 2965
+-97.634 36.324 2946
+-97.508 36.324 3005
+-97.382 36.324 3022
+-97.256 36.324 3000
+-97.13 36.324 2981
+-97.004 36.324 2995
+-96.878 36.324 3000
+-96.752 36.324 3027
+-96.626 36.324 3105
+-96.5 36.324 3194
+-96.374 36.324 3280
+-96.248 36.324 3386
+-96.122 36.324 3487
+-95.996 36.324 3577
+-95.87 36.324 3615
+-95.744 36.324 3699
+-95.618 36.324 3692
+-95.492 36.324 3703
+-95.366 36.324 3767
+-95.24 36.324 3907
+-95.114 36.324 4047
+-94.988 36.324 4204
+-94.862 36.324 4259
+-94.736 36.324 4310
+-94.61 36.324 4373
+-94.484 36.324 4403
+-94.358 36.324 4509
+-94.232 36.324 4663
+-94.106 36.324 4705
+-93.98 36.324 4811
+-93.854 36.324 4936
+-93.728 36.324 5062
+-93.602 36.324 5139
+-93.476 36.324 5255
+-93.35 36.324 5308
+-93.224 36.324 5470
+-93.098 36.324 5564
+-92.972 36.324 5717
+-92.846 36.324 5714
+-92.72 36.324 5868
+-92.594 36.324 5953
+-92.468 36.324 6006
+-92.342 36.324 6050
+-92.216 36.324 6156
+-92.09 36.324 6276
+-91.964 36.324 6301
+-91.838 36.324 6374
+-91.712 36.324 6442
+-91.586 36.324 6511
+-91.46 36.324 6558
+-91.334 36.324 6571
+-91.208 36.324 6647
+-91.082 36.324 6699
+-90.956 36.324 6860
+-90.83 36.324 7063
+-90.704 36.324 7238
+-90.578 36.324 7310
+-90.452 36.324 7428
+-90.326 36.324 7546
+-90.2 36.324 7626
+-90.074 36.324 7754
+-89.948 36.324 7831
+-89.822 36.324 7922
+-89.696 36.324 7981
+-89.57 36.324 8063
+-89.444 36.324 8111
+-89.318 36.324 8188
+-89.192 36.324 8238
+-89.066 36.324 8249
+-88.94 36.324 8275
+-88.814 36.324 8296
+-88.688 36.324 8248
+-88.562 36.324 8248
+-88.436 36.324 8197
+-88.31 36.324 8182
+-88.184 36.324 8135
+-88.058 36.324 8039
+-87.932 36.324 7958
+-87.806 36.324 7924
+-87.68 36.324 7786
+-87.554 36.324 7694
+-87.428 36.324 7621
+-87.302 36.324 7528
+-87.176 36.324 7418
+-87.05 36.324 7248
+-86.924 36.324 7137
+-86.798 36.324 7115
+-86.672 36.324 6925
+-86.546 36.324 6871
+-86.42 36.324 6752
+-86.294 36.324 6617
+-86.168 36.324 6442
+-86.042 36.324 6368
+-85.916 36.324 6248
+-85.79 36.324 6083
+-85.664 36.324 5947
+-85.538 36.324 5822
+-85.412 36.324 5725
+-85.286 36.324 5626
+-85.16 36.324 5440
+-85.034 36.324 5232
+-84.908 36.324 5212
+-84.782 36.324 5143
+-84.656 36.324 5043
+-84.53 36.324 4896
+-84.404 36.324 4736
+-84.278 36.324 4597
+-84.152 36.324 4457
+-84.026 36.324 4347
+-83.9 36.324 4331
+-83.774 36.324 4235
+-83.648 36.324 4178
+-83.522 36.324 4107
+-83.396 36.324 4041
+-83.27 36.324 3927
+-83.144 36.324 3860
+-83.018 36.324 3807
+-82.892 36.324 3754
+-82.766 36.324 3686
+-82.64 36.324 3614
+-82.514 36.324 3541
+-82.388 36.324 3485
+-82.262 36.324 3372
+-82.136 36.324 3316
+-82.01 36.324 3177
+-81.884 36.324 3146
+-81.758 36.324 3112
+-81.632 36.324 3097
+-81.506 36.324 3089
+-81.38 36.324 3088
+-81.254 36.324 3092
+-81.128 36.324 3072
+-81.002 36.324 3081
+-80.876 36.324 3092
+-80.75 36.324 3104
+-80.624 36.324 3115
+-80.498 36.324 3105
+-80.372 36.324 3116
+-80.246 36.324 3126
+-80.12 36.324 3136
+-79.994 36.324 3061
+-79.868 36.324 3064
+-79.742 36.324 3067
+-79.616 36.324 2985
+-79.49 36.324 2968
+-79.364 36.324 2952
+-79.238 36.324 2954
+-79.112 36.324 2955
+-78.986 36.324 2956
+-78.86 36.324 2956
+-78.734 36.324 2957
+-78.608 36.324 2957
+-78.482 36.324 2958
+-78.356 36.324 2958
+-78.23 36.324 2958
+-78.104 36.324 2958
+-77.978 36.324 2959
+-77.852 36.324 2959
+-77.726 36.324 2848
+-77.6 36.324 2848
+-77.474 36.324 2854
+-77.348 36.324 2855
+-77.222 36.324 2819
+-77.096 36.324 2819
+-76.97 36.324 2819
+-76.844 36.324 2819
+-76.718 36.324 2708
+-76.592 36.324 2727
+-76.466 36.324 2687
+-76.34 36.324 2709
+-76.214 36.324 2711
+-76.088 36.324 2681
+-75.962 36.324 2682
+-75.836 36.324 2648
+-75.71 36.324 2651
+-75.584 36.324 2653
+-75.458 36.324 2658
+-75.332 36.324 2669
+-75.206 36.324 2682
+-75.08 36.324 2685
+-74.954 36.324 2725
+-74.828 36.324 2740
+-74.702 36.324 2744
+-74.576 36.324 2800
+-74.45 36.324 2825
+-74.324 36.324 2811
+-74.198 36.324 2806
+-74.072 36.324 2944
+-73.946 36.324 2949
+-73.82 36.324 3005
+-73.694 36.324 3010
+-73.568 36.324 3015
+-73.442 36.324 3020
+-73.316 36.324 3024
+-73.19 36.324 2956
+-73.064 36.324 2977
+-72.938 36.324 2982
+-72.812 36.324 2976
+-72.686 36.324 3264
+-72.56 36.324 3293
+-72.434 36.324 3296
+-72.308 36.324 3294
+-72.182 36.324 3297
+-72.056 36.324 3303
+-71.93 36.324 3319
+-71.804 36.324 3322
+-71.678 36.324 3313
+-71.552 36.324 3316
+-71.426 36.324 3272
+-71.3 36.324 3275
+-71.174 36.324 3277
+-71.048 36.324 3339
+-70.922 36.324 3336
+-70.796 36.324 3347
+-70.67 36.324 3349
+-70.544 36.324 3331
+-70.418 36.324 3353
+-70.292 36.324 3399
+-70.166 36.324 3411
+-70.04 36.324 3411
+-69.914 36.324 3411
+-69.788 36.324 3463
+-69.662 36.324 3465
+-69.536 36.324 3407
+-69.41 36.324 3430
+-69.284 36.324 3425
+-69.158 36.324 3345
+-69.032 36.324 3261
+-68.906 36.324 3284
+-68.78 36.324 3286
+-68.654 36.324 3319
+-68.528 36.324 3293
+-68.402 36.324 3306
+-68.276 36.324 3308
+-68.15 36.324 3288
+-68.024 36.324 3290
+-67.898 36.324 3291
+-67.772 36.324 3268
+-67.646 36.324 3250
+-67.52 36.324 3286
+-67.394 36.324 3281
+-67.268 36.324 3283
+-67.142 36.324 3284
+-67.016 36.324 3204
+-66.89 36.324 3245
+-66.764 36.324 3242
+-66.638 36.324 3243
+-66.512 36.324 3245
+-66.386 36.324 3478
+-66.26 36.324 3398
+-66.134 36.324 3412
+-66.008 36.324 3413
+-65.882 36.324 3307
+-65.756 36.324 3293
+-65.63 36.324 3294
+-65.504 36.324 3295
+-65.378 36.324 3272
+-65.252 36.324 3272
+-65.126 36.324 3273
+-128 36.272 3021
+-127.874 36.272 3010
+-127.748 36.272 2999
+-127.622 36.272 2987
+-127.496 36.272 2974
+-127.37 36.272 2961
+-127.244 36.272 2946
+-127.118 36.272 2930
+-126.992 36.272 2952
+-126.866 36.272 2934
+-126.74 36.272 2915
+-126.614 36.272 2894
+-126.488 36.272 2870
+-126.362 36.272 2845
+-126.236 36.272 2816
+-126.11 36.272 2784
+-125.984 36.272 2749
+-125.858 36.272 2709
+-125.732 36.272 2696
+-125.606 36.272 2647
+-125.48 36.272 2593
+-125.354 36.272 2533
+-125.228 36.272 2471
+-125.102 36.272 2411
+-124.976 36.272 2354
+-124.85 36.272 2320
+-124.724 36.272 2302
+-124.598 36.272 2355
+-124.472 36.272 2407
+-124.346 36.272 2559
+-124.22 36.272 2681
+-124.094 36.272 2866
+-123.968 36.272 2996
+-123.842 36.272 3129
+-123.716 36.272 3236
+-123.59 36.272 3349
+-123.464 36.272 3453
+-123.338 36.272 3537
+-123.212 36.272 3636
+-123.086 36.272 3681
+-122.96 36.272 3716
+-122.834 36.272 3745
+-122.708 36.272 3859
+-122.582 36.272 3898
+-122.456 36.272 3995
+-122.33 36.272 4132
+-122.204 36.272 4186
+-122.078 36.272 4265
+-121.952 36.272 4367
+-121.826 36.272 4517
+-121.7 36.272 4610
+-121.574 36.272 4737
+-121.448 36.272 4775
+-121.322 36.272 4815
+-121.196 36.272 4822
+-121.07 36.272 4919
+-120.944 36.272 5055
+-120.818 36.272 5164
+-120.692 36.272 5269
+-120.566 36.272 5402
+-120.44 36.272 5492
+-120.314 36.272 5603
+-120.188 36.272 5726
+-120.062 36.272 5717
+-119.936 36.272 5886
+-119.81 36.272 6007
+-119.684 36.272 6096
+-119.558 36.272 6180
+-119.432 36.272 6298
+-119.306 36.272 6359
+-119.18 36.272 6483
+-119.054 36.272 6570
+-118.928 36.272 6670
+-118.802 36.272 6751
+-118.676 36.272 6793
+-118.55 36.272 6867
+-118.424 36.272 6961
+-118.298 36.272 7016
+-118.172 36.272 7052
+-118.046 36.272 7115
+-117.92 36.272 7148
+-117.794 36.272 7187
+-117.668 36.272 7211
+-117.542 36.272 7210
+-117.416 36.272 7213
+-117.29 36.272 7225
+-117.164 36.272 7234
+-117.038 36.272 7208
+-116.912 36.272 7178
+-116.786 36.272 7153
+-116.66 36.272 7119
+-116.534 36.272 7092
+-116.408 36.272 7014
+-116.282 36.272 6988
+-116.156 36.272 6900
+-116.03 36.272 6835
+-115.904 36.272 6786
+-115.778 36.272 6647
+-115.652 36.272 6536
+-115.526 36.272 6543
+-115.4 36.272 6410
+-115.274 36.272 6302
+-115.148 36.272 6200
+-115.022 36.272 6164
+-114.896 36.272 5989
+-114.77 36.272 5924
+-114.644 36.272 5773
+-114.518 36.272 5725
+-114.392 36.272 5614
+-114.266 36.272 5494
+-114.14 36.272 5458
+-114.014 36.272 5383
+-113.888 36.272 5198
+-113.762 36.272 5023
+-113.636 36.272 4916
+-113.51 36.272 4803
+-113.384 36.272 4673
+-113.258 36.272 4562
+-113.132 36.272 4444
+-113.006 36.272 4333
+-112.88 36.272 4317
+-112.754 36.272 4165
+-112.628 36.272 4042
+-112.502 36.272 4057
+-112.376 36.272 4090
+-112.25 36.272 4136
+-112.124 36.272 4182
+-111.998 36.272 4211
+-111.872 36.272 4228
+-111.746 36.272 4237
+-111.62 36.272 4266
+-111.494 36.272 4319
+-111.368 36.272 4366
+-111.242 36.272 4388
+-111.116 36.272 4397
+-110.99 36.272 4407
+-110.864 36.272 4386
+-110.738 36.272 4386
+-110.612 36.272 4390
+-110.486 36.272 4386
+-110.36 36.272 4393
+-110.234 36.272 4377
+-110.108 36.272 4387
+-109.982 36.272 4404
+-109.856 36.272 4405
+-109.73 36.272 4404
+-109.604 36.272 4405
+-109.478 36.272 4382
+-109.352 36.272 4360
+-109.226 36.272 4346
+-109.1 36.272 4326
+-108.974 36.272 4291
+-108.848 36.272 4248
+-108.722 36.272 4198
+-108.596 36.272 4138
+-108.47 36.272 4074
+-108.344 36.272 3971
+-108.218 36.272 3865
+-108.092 36.272 3810
+-107.966 36.272 3818
+-107.84 36.272 3777
+-107.714 36.272 3679
+-107.588 36.272 3623
+-107.462 36.272 3549
+-107.336 36.272 3465
+-107.21 36.272 3348
+-107.084 36.272 3264
+-106.958 36.272 3283
+-106.832 36.272 3249
+-106.706 36.272 3198
+-106.58 36.272 3106
+-106.454 36.272 2966
+-106.328 36.272 2796
+-106.202 36.272 2704
+-106.076 36.272 2751
+-105.95 36.272 2839
+-105.824 36.272 2905
+-105.698 36.272 2948
+-105.572 36.272 2977
+-105.446 36.272 2997
+-105.32 36.272 3010
+-105.194 36.272 3023
+-105.068 36.272 3034
+-104.942 36.272 3036
+-104.816 36.272 3045
+-104.69 36.272 3060
+-104.564 36.272 3059
+-104.438 36.272 3065
+-104.312 36.272 3076
+-104.186 36.272 3086
+-104.06 36.272 3096
+-103.934 36.272 3106
+-103.808 36.272 3115
+-103.682 36.272 3123
+-103.556 36.272 3111
+-103.43 36.272 3177
+-103.304 36.272 3184
+-103.178 36.272 3200
+-103.052 36.272 3194
+-102.926 36.272 3203
+-102.8 36.272 3212
+-102.674 36.272 3220
+-102.548 36.272 3228
+-102.422 36.272 3235
+-102.296 36.272 3242
+-102.17 36.272 3249
+-102.044 36.272 3152
+-101.918 36.272 3171
+-101.792 36.272 3081
+-101.666 36.272 3024
+-101.54 36.272 2973
+-101.414 36.272 2912
+-101.288 36.272 2841
+-101.162 36.272 2792
+-101.036 36.272 2829
+-100.91 36.272 2843
+-100.784 36.272 2932
+-100.658 36.272 3020
+-100.532 36.272 3056
+-100.406 36.272 3065
+-100.28 36.272 3087
+-100.154 36.272 3113
+-100.028 36.272 3106
+-99.902 36.272 3099
+-99.776 36.272 3092
+-99.65 36.272 3083
+-99.524 36.272 3104
+-99.398 36.272 3094
+-99.272 36.272 3083
+-99.146 36.272 3082
+-99.02 36.272 3043
+-98.894 36.272 3031
+-98.768 36.272 3064
+-98.642 36.272 3052
+-98.516 36.272 3039
+-98.39 36.272 3027
+-98.264 36.272 3013
+-98.138 36.272 2999
+-98.012 36.272 2983
+-97.886 36.272 2968
+-97.76 36.272 2953
+-97.634 36.272 3018
+-97.508 36.272 3043
+-97.382 36.272 3029
+-97.256 36.272 3018
+-97.13 36.272 3021
+-97.004 36.272 3024
+-96.878 36.272 3039
+-96.752 36.272 3112
+-96.626 36.272 3173
+-96.5 36.272 3232
+-96.374 36.272 3297
+-96.248 36.272 3389
+-96.122 36.272 3453
+-95.996 36.272 3529
+-95.87 36.272 3570
+-95.744 36.272 3593
+-95.618 36.272 3629
+-95.492 36.272 3568
+-95.366 36.272 3530
+-95.24 36.272 3687
+-95.114 36.272 3957
+-94.988 36.272 4122
+-94.862 36.272 4205
+-94.736 36.272 4276
+-94.61 36.272 4326
+-94.484 36.272 4289
+-94.358 36.272 4441
+-94.232 36.272 4624
+-94.106 36.272 4717
+-93.98 36.272 4815
+-93.854 36.272 4945
+-93.728 36.272 5074
+-93.602 36.272 5097
+-93.476 36.272 5220
+-93.35 36.272 5345
+-93.224 36.272 5449
+-93.098 36.272 5547
+-92.972 36.272 5679
+-92.846 36.272 5752
+-92.72 36.272 5776
+-92.594 36.272 5907
+-92.468 36.272 5919
+-92.342 36.272 6000
+-92.216 36.272 6112
+-92.09 36.272 6191
+-91.964 36.272 6248
+-91.838 36.272 6342
+-91.712 36.272 6390
+-91.586 36.272 6467
+-91.46 36.272 6526
+-91.334 36.272 6601
+-91.208 36.272 6579
+-91.082 36.272 6642
+-90.956 36.272 6669
+-90.83 36.272 7042
+-90.704 36.272 7199
+-90.578 36.272 7286
+-90.452 36.272 7399
+-90.326 36.272 7508
+-90.2 36.272 7599
+-90.074 36.272 7713
+-89.948 36.272 7760
+-89.822 36.272 7852
+-89.696 36.272 7967
+-89.57 36.272 8029
+-89.444 36.272 8089
+-89.318 36.272 8125
+-89.192 36.272 8201
+-89.066 36.272 8170
+-88.94 36.272 8230
+-88.814 36.272 8239
+-88.688 36.272 8221
+-88.562 36.272 8203
+-88.436 36.272 8160
+-88.31 36.272 8100
+-88.184 36.272 8077
+-88.058 36.272 8040
+-87.932 36.272 7930
+-87.806 36.272 7845
+-87.68 36.272 7732
+-87.554 36.272 7705
+-87.428 36.272 7609
+-87.302 36.272 7444
+-87.176 36.272 7352
+-87.05 36.272 7233
+-86.924 36.272 7133
+-86.798 36.272 7030
+-86.672 36.272 6933
+-86.546 36.272 6835
+-86.42 36.272 6720
+-86.294 36.272 6548
+-86.168 36.272 6397
+-86.042 36.272 6287
+-85.916 36.272 6241
+-85.79 36.272 6081
+-85.664 36.272 5905
+-85.538 36.272 5737
+-85.412 36.272 5693
+-85.286 36.272 5574
+-85.16 36.272 5475
+-85.034 36.272 5268
+-84.908 36.272 5126
+-84.782 36.272 5128
+-84.656 36.272 5008
+-84.53 36.272 4889
+-84.404 36.272 4705
+-84.278 36.272 4613
+-84.152 36.272 4478
+-84.026 36.272 4353
+-83.9 36.272 4255
+-83.774 36.272 4140
+-83.648 36.272 4083
+-83.522 36.272 4044
+-83.396 36.272 3970
+-83.27 36.272 3851
+-83.144 36.272 3790
+-83.018 36.272 3729
+-82.892 36.272 3661
+-82.766 36.272 3618
+-82.64 36.272 3585
+-82.514 36.272 3480
+-82.388 36.272 3399
+-82.262 36.272 3329
+-82.136 36.272 3273
+-82.01 36.272 3205
+-81.884 36.272 3070
+-81.758 36.272 3043
+-81.632 36.272 3019
+-81.506 36.272 3016
+-81.38 36.272 3006
+-81.254 36.272 3005
+-81.128 36.272 3019
+-81.002 36.272 3035
+-80.876 36.272 3051
+-80.75 36.272 3067
+-80.624 36.272 3083
+-80.498 36.272 3098
+-80.372 36.272 3090
+-80.246 36.272 3102
+-80.12 36.272 3061
+-79.994 36.272 3067
+-79.868 36.272 3043
+-79.742 36.272 3047
+-79.616 36.272 3050
+-79.49 36.272 2967
+-79.364 36.272 2951
+-79.238 36.272 2935
+-79.112 36.272 2937
+-78.986 36.272 2938
+-78.86 36.272 2939
+-78.734 36.272 2940
+-78.608 36.272 2941
+-78.482 36.272 2942
+-78.356 36.272 2943
+-78.23 36.272 2943
+-78.104 36.272 2944
+-77.978 36.272 2944
+-77.852 36.272 2833
+-77.726 36.272 2834
+-77.6 36.272 2840
+-77.474 36.272 2841
+-77.348 36.272 2805
+-77.222 36.272 2806
+-77.096 36.272 2806
+-76.97 36.272 2806
+-76.844 36.272 2696
+-76.718 36.272 2715
+-76.592 36.272 2676
+-76.466 36.272 2698
+-76.34 36.272 2701
+-76.214 36.272 2671
+-76.088 36.272 2673
+-75.962 36.272 2640
+-75.836 36.272 2643
+-75.71 36.272 2645
+-75.584 36.272 2650
+-75.458 36.272 2661
+-75.332 36.272 2675
+-75.206 36.272 2678
+-75.08 36.272 2719
+-74.954 36.272 2735
+-74.828 36.272 2739
+-74.702 36.272 2795
+-74.576 36.272 2820
+-74.45 36.272 2806
+-74.324 36.272 2802
+-74.198 36.272 2939
+-74.072 36.272 2944
+-73.946 36.272 3000
+-73.82 36.272 3005
+-73.694 36.272 3010
+-73.568 36.272 3015
+-73.442 36.272 3020
+-73.316 36.272 2953
+-73.19 36.272 2974
+-73.064 36.272 2978
+-72.938 36.272 2973
+-72.812 36.272 3260
+-72.686 36.272 3289
+-72.56 36.272 3292
+-72.434 36.272 3290
+-72.308 36.272 3293
+-72.182 36.272 3299
+-72.056 36.272 3316
+-71.93 36.272 3318
+-71.804 36.272 3310
+-71.678 36.272 3312
+-71.552 36.272 3269
+-71.426 36.272 3272
+-71.3 36.272 3274
+-71.174 36.272 3337
+-71.048 36.272 3333
+-70.922 36.272 3344
+-70.796 36.272 3347
+-70.67 36.272 3329
+-70.544 36.272 3350
+-70.418 36.272 3396
+-70.292 36.272 3408
+-70.166 36.272 3409
+-70.04 36.272 3409
+-69.914 36.272 3460
+-69.788 36.272 3463
+-69.662 36.272 3405
+-69.536 36.272 3428
+-69.41 36.272 3423
+-69.284 36.272 3346
+-69.158 36.272 3260
+-69.032 36.272 3283
+-68.906 36.272 3284
+-68.78 36.272 3317
+-68.654 36.272 3292
+-68.528 36.272 3304
+-68.402 36.272 3306
+-68.276 36.272 3286
+-68.15 36.272 3288
+-68.024 36.272 3290
+-67.898 36.272 3267
+-67.772 36.272 3249
+-67.646 36.272 3285
+-67.52 36.272 3280
+-67.394 36.272 3281
+-67.268 36.272 3283
+-67.142 36.272 3203
+-67.016 36.272 3244
+-66.89 36.272 3240
+-66.764 36.272 3242
+-66.638 36.272 3244
+-66.512 36.272 3476
+-66.386 36.272 3401
+-66.26 36.272 3411
+-66.134 36.272 3412
+-66.008 36.272 3306
+-65.882 36.272 3292
+-65.756 36.272 3293
+-65.63 36.272 3294
+-65.504 36.272 3271
+-65.378 36.272 3272
+-65.252 36.272 3272
+-65.126 36.272 3273
+-128 36.22 3020
+-127.874 36.22 3009
+-127.748 36.22 2998
+-127.622 36.22 2986
+-127.496 36.22 2973
+-127.37 36.22 2959
+-127.244 36.22 2944
+-127.118 36.22 2927
+-126.992 36.22 2910
+-126.866 36.22 2930
+-126.74 36.22 2909
+-126.614 36.22 2887
+-126.488 36.22 2862
+-126.362 36.22 2835
+-126.236 36.22 2804
+-126.11 36.22 2770
+-125.984 36.22 2731
+-125.858 36.22 2687
+-125.732 36.22 2636
+-125.606 36.22 2609
+-125.48 36.22 2544
+-125.354 36.22 2471
+-125.228 36.22 2389
+-125.102 36.22 2303
+-124.976 36.22 2221
+-124.85 36.22 2150
+-124.724 36.22 2115
+-124.598 36.22 2121
+-124.472 36.22 2215
+-124.346 36.22 2329
+-124.22 36.22 2535
+-124.094 36.22 2715
+-123.968 36.22 2910
+-123.842 36.22 3054
+-123.716 36.22 3213
+-123.59 36.22 3338
+-123.464 36.22 3450
+-123.338 36.22 3540
+-123.212 36.22 3600
+-123.086 36.22 3664
+-122.96 36.22 3694
+-122.834 36.22 3712
+-122.708 36.22 3823
+-122.582 36.22 3853
+-122.456 36.22 3928
+-122.33 36.22 4043
+-122.204 36.22 4127
+-122.078 36.22 4183
+-121.952 36.22 4291
+-121.826 36.22 4457
+-121.7 36.22 4618
+-121.574 36.22 4707
+-121.448 36.22 4768
+-121.322 36.22 4787
+-121.196 36.22 4699
+-121.07 36.22 4893
+-120.944 36.22 5104
+-120.818 36.22 5145
+-120.692 36.22 5201
+-120.566 36.22 5370
+-120.44 36.22 5510
+-120.314 36.22 5642
+-120.188 36.22 5785
+-120.062 36.22 5844
+-119.936 36.22 5946
+-119.81 36.22 6028
+-119.684 36.22 6127
+-119.558 36.22 6187
+-119.432 36.22 6332
+-119.306 36.22 6412
+-119.18 36.22 6475
+-119.054 36.22 6615
+-118.928 36.22 6692
+-118.802 36.22 6786
+-118.676 36.22 6845
+-118.55 36.22 6937
+-118.424 36.22 7010
+-118.298 36.22 7052
+-118.172 36.22 7088
+-118.046 36.22 7155
+-117.92 36.22 7215
+-117.794 36.22 7232
+-117.668 36.22 7274
+-117.542 36.22 7275
+-117.416 36.22 7313
+-117.29 36.22 7298
+-117.164 36.22 7288
+-117.038 36.22 7271
+-116.912 36.22 7238
+-116.786 36.22 7224
+-116.66 36.22 7169
+-116.534 36.22 7149
+-116.408 36.22 7073
+-116.282 36.22 7018
+-116.156 36.22 6955
+-116.03 36.22 6874
+-115.904 36.22 6853
+-115.778 36.22 6724
+-115.652 36.22 6613
+-115.526 36.22 6581
+-115.4 36.22 6497
+-115.274 36.22 6354
+-115.148 36.22 6242
+-115.022 36.22 6175
+-114.896 36.22 6066
+-114.77 36.22 5951
+-114.644 36.22 5802
+-114.518 36.22 5689
+-114.392 36.22 5619
+-114.266 36.22 5540
+-114.14 36.22 5472
+-114.014 36.22 5357
+-113.888 36.22 5235
+-113.762 36.22 5054
+-113.636 36.22 4967
+-113.51 36.22 4872
+-113.384 36.22 4758
+-113.258 36.22 4612
+-113.132 36.22 4467
+-113.006 36.22 4381
+-112.88 36.22 4328
+-112.754 36.22 4242
+-112.628 36.22 4160
+-112.502 36.22 4151
+-112.376 36.22 4177
+-112.25 36.22 4211
+-112.124 36.22 4246
+-111.998 36.22 4251
+-111.872 36.22 4232
+-111.746 36.22 4271
+-111.62 36.22 4335
+-111.494 36.22 4385
+-111.368 36.22 4411
+-111.242 36.22 4431
+-111.116 36.22 4439
+-110.99 36.22 4444
+-110.864 36.22 4466
+-110.738 36.22 4463
+-110.612 36.22 4454
+-110.486 36.22 4453
+-110.36 36.22 4456
+-110.234 36.22 4465
+-110.108 36.22 4460
+-109.982 36.22 4457
+-109.856 36.22 4441
+-109.73 36.22 4429
+-109.604 36.22 4432
+-109.478 36.22 4400
+-109.352 36.22 4360
+-109.226 36.22 4370
+-109.1 36.22 4361
+-108.974 36.22 4335
+-108.848 36.22 4285
+-108.722 36.22 4241
+-108.596 36.22 4202
+-108.47 36.22 4126
+-108.344 36.22 4036
+-108.218 36.22 3927
+-108.092 36.22 3857
+-107.966 36.22 3848
+-107.84 36.22 3807
+-107.714 36.22 3754
+-107.588 36.22 3653
+-107.462 36.22 3567
+-107.336 36.22 3504
+-107.21 36.22 3417
+-107.084 36.22 3327
+-106.958 36.22 3287
+-106.832 36.22 3227
+-106.706 36.22 3215
+-106.58 36.22 3167
+-106.454 36.22 3048
+-106.328 36.22 2939
+-106.202 36.22 2873
+-106.076 36.22 2876
+-105.95 36.22 2913
+-105.824 36.22 2950
+-105.698 36.22 2980
+-105.572 36.22 3001
+-105.446 36.22 3015
+-105.32 36.22 3029
+-105.194 36.22 3040
+-105.068 36.22 3042
+-104.942 36.22 3051
+-104.816 36.22 3065
+-104.69 36.22 3064
+-104.564 36.22 3070
+-104.438 36.22 3080
+-104.312 36.22 3090
+-104.186 36.22 3099
+-104.06 36.22 3109
+-103.934 36.22 3117
+-103.808 36.22 3126
+-103.682 36.22 3114
+-103.556 36.22 3178
+-103.43 36.22 3185
+-103.304 36.22 3201
+-103.178 36.22 3196
+-103.052 36.22 3205
+-102.926 36.22 3214
+-102.8 36.22 3222
+-102.674 36.22 3230
+-102.548 36.22 3237
+-102.422 36.22 3244
+-102.296 36.22 3251
+-102.17 36.22 3257
+-102.044 36.22 3160
+-101.918 36.22 3175
+-101.792 36.22 3089
+-101.666 36.22 3076
+-101.54 36.22 2980
+-101.414 36.22 2963
+-101.288 36.22 2876
+-101.162 36.22 2832
+-101.036 36.22 2828
+-100.91 36.22 2864
+-100.784 36.22 2927
+-100.658 36.22 2945
+-100.532 36.22 3026
+-100.406 36.22 3085
+-100.28 36.22 3112
+-100.154 36.22 3105
+-100.028 36.22 3098
+-99.902 36.22 3090
+-99.776 36.22 3081
+-99.65 36.22 3102
+-99.524 36.22 3092
+-99.398 36.22 3081
+-99.272 36.22 3080
+-99.146 36.22 3041
+-99.02 36.22 3029
+-98.894 36.22 3065
+-98.768 36.22 3052
+-98.642 36.22 3039
+-98.516 36.22 3025
+-98.39 36.22 3011
+-98.264 36.22 2995
+-98.138 36.22 2980
+-98.012 36.22 2964
+-97.886 36.22 2949
+-97.76 36.22 3015
+-97.634 36.22 3016
+-97.508 36.22 3005
+-97.382 36.22 2997
+-97.256 36.22 3024
+-97.13 36.22 3027
+-97.004 36.22 3037
+-96.878 36.22 3078
+-96.752 36.22 3123
+-96.626 36.22 3168
+-96.5 36.22 3218
+-96.374 36.22 3305
+-96.248 36.22 3363
+-96.122 36.22 3429
+-95.996 36.22 3480
+-95.87 36.22 3522
+-95.744 36.22 3545
+-95.618 36.22 3585
+-95.492 36.22 3481
+-95.366 36.22 3383
+-95.24 36.22 3557
+-95.114 36.22 3859
+-94.988 36.22 4067
+-94.862 36.22 4116
+-94.736 36.22 4136
+-94.61 36.22 4258
+-94.484 36.22 4347
+-94.358 36.22 4466
+-94.232 36.22 4588
+-94.106 36.22 4683
+-93.98 36.22 4809
+-93.854 36.22 4931
+-93.728 36.22 5058
+-93.602 36.22 5121
+-93.476 36.22 5230
+-93.35 36.22 5321
+-93.224 36.22 5394
+-93.098 36.22 5495
+-92.972 36.22 5612
+-92.846 36.22 5674
+-92.72 36.22 5797
+-92.594 36.22 5871
+-92.468 36.22 5917
+-92.342 36.22 5998
+-92.216 36.22 6035
+-92.09 36.22 6148
+-91.964 36.22 6229
+-91.838 36.22 6320
+-91.712 36.22 6363
+-91.586 36.22 6400
+-91.46 36.22 6492
+-91.334 36.22 6505
+-91.208 36.22 6524
+-91.082 36.22 6584
+-90.956 36.22 6931
+-90.83 36.22 6963
+-90.704 36.22 7139
+-90.578 36.22 7259
+-90.452 36.22 7344
+-90.326 36.22 7445
+-90.2 36.22 7557
+-90.074 36.22 7599
+-89.948 36.22 7709
+-89.822 36.22 7809
+-89.696 36.22 7889
+-89.57 36.22 7939
+-89.444 36.22 8032
+-89.318 36.22 8090
+-89.192 36.22 8130
+-89.066 36.22 8147
+-88.94 36.22 8134
+-88.814 36.22 8161
+-88.688 36.22 8163
+-88.562 36.22 8132
+-88.436 36.22 8110
+-88.31 36.22 8051
+-88.184 36.22 8033
+-88.058 36.22 7951
+-87.932 36.22 7902
+-87.806 36.22 7828
+-87.68 36.22 7755
+-87.554 36.22 7642
+-87.428 36.22 7557
+-87.302 36.22 7420
+-87.176 36.22 7289
+-87.05 36.22 7187
+-86.924 36.22 7132
+-86.798 36.22 6996
+-86.672 36.22 6852
+-86.546 36.22 6783
+-86.42 36.22 6619
+-86.294 36.22 6495
+-86.168 36.22 6381
+-86.042 36.22 6275
+-85.916 36.22 6163
+-85.79 36.22 6016
+-85.664 36.22 5902
+-85.538 36.22 5696
+-85.412 36.22 5705
+-85.286 36.22 5592
+-85.16 36.22 5452
+-85.034 36.22 5262
+-84.908 36.22 5162
+-84.782 36.22 5097
+-84.656 36.22 4975
+-84.53 36.22 4785
+-84.404 36.22 4649
+-84.278 36.22 4601
+-84.152 36.22 4455
+-84.026 36.22 4284
+-83.9 36.22 4114
+-83.774 36.22 4002
+-83.648 36.22 3985
+-83.522 36.22 3953
+-83.396 36.22 3890
+-83.27 36.22 3754
+-83.144 36.22 3671
+-83.018 36.22 3602
+-82.892 36.22 3581
+-82.766 36.22 3553
+-82.64 36.22 3476
+-82.514 36.22 3411
+-82.388 36.22 3349
+-82.262 36.22 3278
+-82.136 36.22 3191
+-82.01 36.22 3116
+-81.884 36.22 3064
+-81.758 36.22 2941
+-81.632 36.22 2930
+-81.506 36.22 2927
+-81.38 36.22 2928
+-81.254 36.22 2938
+-81.128 36.22 2961
+-81.002 36.22 2984
+-80.876 36.22 3007
+-80.75 36.22 3029
+-80.624 36.22 3049
+-80.498 36.22 3068
+-80.372 36.22 3085
+-80.246 36.22 3027
+-80.12 36.22 3036
+-79.994 36.22 3044
+-79.868 36.22 3051
+-79.742 36.22 3057
+-79.616 36.22 3018
+-79.49 36.22 3021
+-79.364 36.22 2950
+-79.238 36.22 2934
+-79.112 36.22 2919
+-78.986 36.22 2920
+-78.86 36.22 2922
+-78.734 36.22 2923
+-78.608 36.22 2925
+-78.482 36.22 2926
+-78.356 36.22 2927
+-78.23 36.22 2928
+-78.104 36.22 2929
+-77.978 36.22 2817
+-77.852 36.22 2818
+-77.726 36.22 2824
+-77.6 36.22 2826
+-77.474 36.22 2791
+-77.348 36.22 2791
+-77.222 36.22 2792
+-77.096 36.22 2789
+-76.97 36.22 2683
+-76.844 36.22 2703
+-76.718 36.22 2665
+-76.592 36.22 2687
+-76.466 36.22 2690
+-76.34 36.22 2662
+-76.214 36.22 2664
+-76.088 36.22 2631
+-75.962 36.22 2634
+-75.836 36.22 2637
+-75.71 36.22 2642
+-75.584 36.22 2654
+-75.458 36.22 2668
+-75.332 36.22 2671
+-75.206 36.22 2712
+-75.08 36.22 2729
+-74.954 36.22 2733
+-74.828 36.22 2790
+-74.702 36.22 2814
+-74.576 36.22 2801
+-74.45 36.22 2797
+-74.324 36.22 2934
+-74.198 36.22 2939
+-74.072 36.22 2994
+-73.946 36.22 3000
+-73.82 36.22 3005
+-73.694 36.22 3011
+-73.568 36.22 3016
+-73.442 36.22 2949
+-73.316 36.22 2971
+-73.19 36.22 2975
+-73.064 36.22 2970
+-72.938 36.22 3255
+-72.812 36.22 3284
+-72.686 36.22 3288
+-72.56 36.22 3286
+-72.434 36.22 3289
+-72.308 36.22 3296
+-72.182 36.22 3312
+-72.056 36.22 3315
+-71.93 36.22 3306
+-71.804 36.22 3309
+-71.678 36.22 3266
+-71.552 36.22 3269
+-71.426 36.22 3271
+-71.3 36.22 3334
+-71.174 36.22 3331
+-71.048 36.22 3341
+-70.922 36.22 3344
+-70.796 36.22 3326
+-70.67 36.22 3348
+-70.544 36.22 3394
+-70.418 36.22 3405
+-70.292 36.22 3406
+-70.166 36.22 3406
+-70.04 36.22 3457
+-69.914 36.22 3460
+-69.788 36.22 3402
+-69.662 36.22 3426
+-69.536 36.22 3421
+-69.41 36.22 3341
+-69.284 36.22 3258
+-69.158 36.22 3281
+-69.032 36.22 3283
+-68.906 36.22 3316
+-68.78 36.22 3290
+-68.654 36.22 3302
+-68.528 36.22 3304
+-68.402 36.22 3285
+-68.276 36.22 3287
+-68.15 36.22 3289
+-68.024 36.22 3265
+-67.898 36.22 3248
+-67.772 36.22 3283
+-67.646 36.22 3278
+-67.52 36.22 3280
+-67.394 36.22 3282
+-67.268 36.22 3202
+-67.142 36.22 3243
+-67.016 36.22 3239
+-66.89 36.22 3241
+-66.764 36.22 3243
+-66.638 36.22 3475
+-66.512 36.22 3396
+-66.386 36.22 3410
+-66.26 36.22 3411
+-66.134 36.22 3305
+-66.008 36.22 3292
+-65.882 36.22 3292
+-65.756 36.22 3293
+-65.63 36.22 3270
+-65.504 36.22 3271
+-65.378 36.22 3272
+-65.252 36.22 3272
+-65.126 36.22 3273
+-128 36.168 3020
+-127.874 36.168 3009
+-127.748 36.168 2998
+-127.622 36.168 2985
+-127.496 36.168 2972
+-127.37 36.168 2958
+-127.244 36.168 2942
+-127.118 36.168 2926
+-126.992 36.168 2907
+-126.866 36.168 2888
+-126.74 36.168 2905
+-126.614 36.168 2882
+-126.488 36.168 2856
+-126.362 36.168 2827
+-126.236 36.168 2795
+-126.11 36.168 2758
+-125.984 36.168 2716
+-125.858 36.168 2668
+-125.732 36.168 2612
+-125.606 36.168 2548
+-125.48 36.168 2501
+-125.354 36.168 2413
+-125.228 36.168 2312
+-125.102 36.168 2199
+-124.976 36.168 2080
+-124.85 36.168 1978
+-124.724 36.168 1901
+-124.598 36.168 1889
+-124.472 36.168 1964
+-124.346 36.168 2140
+-124.22 36.168 2342
+-124.094 36.168 2602
+-123.968 36.168 2806
+-123.842 36.168 3025
+-123.716 36.168 3169
+-123.59 36.168 3309
+-123.464 36.168 3428
+-123.338 36.168 3511
+-123.212 36.168 3588
+-123.086 36.168 3630
+-122.96 36.168 3665
+-122.834 36.168 3699
+-122.708 36.168 3715
+-122.582 36.168 3716
+-122.456 36.168 3817
+-122.33 36.168 3977
+-122.204 36.168 4026
+-122.078 36.168 4037
+-121.952 36.168 4171
+-121.826 36.168 4416
+-121.7 36.168 4588
+-121.574 36.168 4704
+-121.448 36.168 4777
+-121.322 36.168 4785
+-121.196 36.168 4825
+-121.07 36.168 4970
+-120.944 36.168 5114
+-120.818 36.168 5187
+-120.692 36.168 5295
+-120.566 36.168 5391
+-120.44 36.168 5518
+-120.314 36.168 5700
+-120.188 36.168 5824
+-120.062 36.168 5829
+-119.936 36.168 5970
+-119.81 36.168 6080
+-119.684 36.168 6186
+-119.558 36.168 6276
+-119.432 36.168 6379
+-119.306 36.168 6477
+-119.18 36.168 6568
+-119.054 36.168 6669
+-118.928 36.168 6760
+-118.802 36.168 6776
+-118.676 36.168 6921
+-118.55 36.168 6993
+-118.424 36.168 7040
+-118.298 36.168 7106
+-118.172 36.168 7152
+-118.046 36.168 7214
+-117.92 36.168 7289
+-117.794 36.168 7294
+-117.668 36.168 7308
+-117.542 36.168 7342
+-117.416 36.168 7363
+-117.29 36.168 7361
+-117.164 36.168 7356
+-117.038 36.168 7338
+-116.912 36.168 7306
+-116.786 36.168 7261
+-116.66 36.168 7261
+-116.534 36.168 7188
+-116.408 36.168 7127
+-116.282 36.168 7056
+-116.156 36.168 6989
+-116.03 36.168 6894
+-115.904 36.168 6859
+-115.778 36.168 6770
+-115.652 36.168 6699
+-115.526 36.168 6631
+-115.4 36.168 6556
+-115.274 36.168 6411
+-115.148 36.168 6359
+-115.022 36.168 6172
+-114.896 36.168 6104
+-114.77 36.168 5962
+-114.644 36.168 5839
+-114.518 36.168 5741
+-114.392 36.168 5615
+-114.266 36.168 5545
+-114.14 36.168 5436
+-114.014 36.168 5309
+-113.888 36.168 5243
+-113.762 36.168 5100
+-113.636 36.168 4976
+-113.51 36.168 4856
+-113.384 36.168 4835
+-113.258 36.168 4673
+-113.132 36.168 4490
+-113.006 36.168 4390
+-112.88 36.168 4315
+-112.754 36.168 4235
+-112.628 36.168 4210
+-112.502 36.168 4216
+-112.376 36.168 4229
+-112.25 36.168 4261
+-112.124 36.168 4286
+-111.998 36.168 4283
+-111.872 36.168 4279
+-111.746 36.168 4315
+-111.62 36.168 4369
+-111.494 36.168 4440
+-111.368 36.168 4463
+-111.242 36.168 4479
+-111.116 36.168 4480
+-110.99 36.168 4490
+-110.864 36.168 4528
+-110.738 36.168 4511
+-110.612 36.168 4500
+-110.486 36.168 4505
+-110.36 36.168 4517
+-110.234 36.168 4536
+-110.108 36.168 4532
+-109.982 36.168 4515
+-109.856 36.168 4480
+-109.73 36.168 4470
+-109.604 36.168 4447
+-109.478 36.168 4433
+-109.352 36.168 4403
+-109.226 36.168 4406
+-109.1 36.168 4394
+-108.974 36.168 4364
+-108.848 36.168 4306
+-108.722 36.168 4254
+-108.596 36.168 4233
+-108.47 36.168 4182
+-108.344 36.168 4119
+-108.218 36.168 4023
+-108.092 36.168 3943
+-107.966 36.168 3891
+-107.84 36.168 3834
+-107.714 36.168 3769
+-107.588 36.168 3707
+-107.462 36.168 3585
+-107.336 36.168 3490
+-107.21 36.168 3486
+-107.084 36.168 3396
+-106.958 36.168 3266
+-106.832 36.168 3183
+-106.706 36.168 3214
+-106.58 36.168 3201
+-106.454 36.168 3110
+-106.328 36.168 3023
+-106.202 36.168 2976
+-106.076 36.168 2963
+-105.95 36.168 2972
+-105.824 36.168 2990
+-105.698 36.168 3008
+-105.572 36.168 3021
+-105.446 36.168 3034
+-105.32 36.168 3045
+-105.194 36.168 3048
+-105.068 36.168 3056
+-104.942 36.168 3070
+-104.816 36.168 3069
+-104.69 36.168 3074
+-104.564 36.168 3084
+-104.438 36.168 3094
+-104.312 36.168 3103
+-104.186 36.168 3112
+-104.06 36.168 3121
+-103.934 36.168 3129
+-103.808 36.168 3117
+-103.682 36.168 3180
+-103.556 36.168 3188
+-103.43 36.168 3203
+-103.304 36.168 3198
+-103.178 36.168 3207
+-103.052 36.168 3216
+-102.926 36.168 3224
+-102.8 36.168 3232
+-102.674 36.168 3239
+-102.548 36.168 3246
+-102.422 36.168 3253
+-102.296 36.168 3259
+-102.17 36.168 3265
+-102.044 36.168 3294
+-101.918 36.168 3183
+-101.792 36.168 3091
+-101.666 36.168 3073
+-101.54 36.168 3048
+-101.414 36.168 2958
+-101.288 36.168 2884
+-101.162 36.168 2835
+-101.036 36.168 2828
+-100.91 36.168 2862
+-100.784 36.168 2922
+-100.658 36.168 2940
+-100.532 36.168 3053
+-100.406 36.168 3111
+-100.28 36.168 3104
+-100.154 36.168 3097
+-100.028 36.168 3089
+-99.902 36.168 3081
+-99.776 36.168 3101
+-99.65 36.168 3091
+-99.524 36.168 3080
+-99.398 36.168 3079
+-99.272 36.168 3040
+-99.146 36.168 3029
+-99.02 36.168 3065
+-98.894 36.168 3052
+-98.768 36.168 3038
+-98.642 36.168 3024
+-98.516 36.168 3008
+-98.39 36.168 2992
+-98.264 36.168 2975
+-98.138 36.168 2958
+-98.012 36.168 2940
+-97.886 36.168 2988
+-97.76 36.168 2992
+-97.634 36.168 2979
+-97.508 36.168 2968
+-97.382 36.168 2984
+-97.256 36.168 2984
+-97.13 36.168 2998
+-97.004 36.168 3020
+-96.878 36.168 3062
+-96.752 36.168 3094
+-96.626 36.168 3132
+-96.5 36.168 3176
+-96.374 36.168 3280
+-96.248 36.168 3340
+-96.122 36.168 3385
+-95.996 36.168 3449
+-95.87 36.168 3489
+-95.744 36.168 3533
+-95.618 36.168 3597
+-95.492 36.168 3535
+-95.366 36.168 3511
+-95.24 36.168 3640
+-95.114 36.168 3872
+-94.988 36.168 4029
+-94.862 36.168 4064
+-94.736 36.168 4013
+-94.61 36.168 4153
+-94.484 36.168 4338
+-94.358 36.168 4482
+-94.232 36.168 4565
+-94.106 36.168 4644
+-93.98 36.168 4776
+-93.854 36.168 4901
+-93.728 36.168 5030
+-93.602 36.168 5088
+-93.476 36.168 5201
+-93.35 36.168 5278
+-93.224 36.168 5342
+-93.098 36.168 5417
+-92.972 36.168 5533
+-92.846 36.168 5621
+-92.72 36.168 5730
+-92.594 36.168 5842
+-92.468 36.168 5903
+-92.342 36.168 5956
+-92.216 36.168 6050
+-92.09 36.168 6101
+-91.964 36.168 6174
+-91.838 36.168 6227
+-91.712 36.168 6311
+-91.586 36.168 6380
+-91.46 36.168 6420
+-91.334 36.168 6488
+-91.208 36.168 6493
+-91.082 36.168 6506
+-90.956 36.168 6891
+-90.83 36.168 6987
+-90.704 36.168 7080
+-90.578 36.168 7188
+-90.452 36.168 7297
+-90.326 36.168 7412
+-90.2 36.168 7515
+-90.074 36.168 7578
+-89.948 36.168 7678
+-89.822 36.168 7772
+-89.696 36.168 7831
+-89.57 36.168 7916
+-89.444 36.168 7986
+-89.318 36.168 8003
+-89.192 36.168 8058
+-89.066 36.168 8093
+-88.94 36.168 8127
+-88.814 36.168 8127
+-88.688 36.168 8089
+-88.562 36.168 8054
+-88.436 36.168 8035
+-88.31 36.168 7994
+-88.184 36.168 7940
+-88.058 36.168 7882
+-87.932 36.168 7816
+-87.806 36.168 7744
+-87.68 36.168 7657
+-87.554 36.168 7602
+-87.428 36.168 7471
+-87.302 36.168 7382
+-87.176 36.168 7264
+-87.05 36.168 7150
+-86.924 36.168 7083
+-86.798 36.168 6945
+-86.672 36.168 6828
+-86.546 36.168 6737
+-86.42 36.168 6606
+-86.294 36.168 6507
+-86.168 36.168 6374
+-86.042 36.168 6257
+-85.916 36.168 6139
+-85.79 36.168 6020
+-85.664 36.168 5871
+-85.538 36.168 5800
+-85.412 36.168 5686
+-85.286 36.168 5568
+-85.16 36.168 5403
+-85.034 36.168 5228
+-84.908 36.168 5110
+-84.782 36.168 5031
+-84.656 36.168 4899
+-84.53 36.168 4733
+-84.404 36.168 4532
+-84.278 36.168 4556
+-84.152 36.168 4419
+-84.026 36.168 4228
+-83.9 36.168 4016
+-83.774 36.168 3894
+-83.648 36.168 3930
+-83.522 36.168 3898
+-83.396 36.168 3784
+-83.27 36.168 3607
+-83.144 36.168 3484
+-83.018 36.168 3467
+-82.892 36.168 3489
+-82.766 36.168 3445
+-82.64 36.168 3416
+-82.514 36.168 3362
+-82.388 36.168 3286
+-82.262 36.168 3193
+-82.136 36.168 3095
+-82.01 36.168 2985
+-81.884 36.168 2922
+-81.758 36.168 2807
+-81.632 36.168 2806
+-81.506 36.168 2816
+-81.38 36.168 2851
+-81.254 36.168 2874
+-81.128 36.168 2898
+-81.002 36.168 2931
+-80.876 36.168 2962
+-80.75 36.168 2990
+-80.624 36.168 3015
+-80.498 36.168 3038
+-80.372 36.168 2988
+-80.246 36.168 3001
+-80.12 36.168 3012
+-79.994 36.168 3021
+-79.868 36.168 3029
+-79.742 36.168 3036
+-79.616 36.168 3041
+-79.49 36.168 3003
+-79.364 36.168 3007
+-79.238 36.168 2933
+-79.112 36.168 2917
+-78.986 36.168 2902
+-78.86 36.168 2889
+-78.734 36.168 2890
+-78.608 36.168 2892
+-78.482 36.168 2893
+-78.356 36.168 2894
+-78.23 36.168 2869
+-78.104 36.168 2800
+-77.978 36.168 2801
+-77.852 36.168 2808
+-77.726 36.168 2809
+-77.6 36.168 2775
+-77.474 36.168 2764
+-77.348 36.168 2765
+-77.222 36.168 2775
+-77.096 36.168 2669
+-76.97 36.168 2689
+-76.844 36.168 2652
+-76.718 36.168 2675
+-76.592 36.168 2678
+-76.466 36.168 2652
+-76.34 36.168 2654
+-76.214 36.168 2622
+-76.088 36.168 2625
+-75.962 36.168 2629
+-75.836 36.168 2634
+-75.71 36.168 2645
+-75.584 36.168 2660
+-75.458 36.168 2664
+-75.332 36.168 2706
+-75.206 36.168 2722
+-75.08 36.168 2727
+-74.954 36.168 2784
+-74.828 36.168 2809
+-74.702 36.168 2796
+-74.576 36.168 2792
+-74.45 36.168 2929
+-74.324 36.168 2934
+-74.198 36.168 2989
+-74.072 36.168 2995
+-73.946 36.168 3000
+-73.82 36.168 3006
+-73.694 36.168 3011
+-73.568 36.168 2945
+-73.442 36.168 2967
+-73.316 36.168 2972
+-73.19 36.168 2967
+-73.064 36.168 3251
+-72.938 36.168 3280
+-72.812 36.168 3283
+-72.686 36.168 3282
+-72.56 36.168 3285
+-72.434 36.168 3292
+-72.308 36.168 3308
+-72.182 36.168 3311
+-72.056 36.168 3303
+-71.93 36.168 3306
+-71.804 36.168 3263
+-71.678 36.168 3266
+-71.552 36.168 3269
+-71.426 36.168 3330
+-71.3 36.168 3328
+-71.174 36.168 3338
+-71.048 36.168 3341
+-70.922 36.168 3323
+-70.796 36.168 3345
+-70.67 36.168 3391
+-70.544 36.168 3403
+-70.418 36.168 3403
+-70.292 36.168 3404
+-70.166 36.168 3455
+-70.04 36.168 3458
+-69.914 36.168 3400
+-69.788 36.168 3423
+-69.662 36.168 3418
+-69.536 36.168 3342
+-69.41 36.168 3256
+-69.284 36.168 3279
+-69.158 36.168 3281
+-69.032 36.168 3314
+-68.906 36.168 3289
+-68.78 36.168 3301
+-68.654 36.168 3303
+-68.528 36.168 3283
+-68.402 36.168 3285
+-68.276 36.168 3287
+-68.15 36.168 3264
+-68.024 36.168 3247
+-67.898 36.168 3282
+-67.772 36.168 3277
+-67.646 36.168 3279
+-67.52 36.168 3281
+-67.394 36.168 3201
+-67.268 36.168 3242
+-67.142 36.168 3238
+-67.016 36.168 3240
+-66.89 36.168 3242
+-66.764 36.168 3474
+-66.638 36.168 3399
+-66.512 36.168 3409
+-66.386 36.168 3410
+-66.26 36.168 3305
+-66.134 36.168 3291
+-66.008 36.168 3292
+-65.882 36.168 3292
+-65.756 36.168 3270
+-65.63 36.168 3270
+-65.504 36.168 3271
+-65.378 36.168 3272
+-65.252 36.168 3272
+-65.126 36.168 3299
+-128 36.116 3020
+-127.874 36.116 3010
+-127.748 36.116 2998
+-127.622 36.116 2985
+-127.496 36.116 2972
+-127.37 36.116 2957
+-127.244 36.116 2942
+-127.118 36.116 2925
+-126.992 36.116 2906
+-126.866 36.116 2886
+-126.74 36.116 2864
+-126.614 36.116 2878
+-126.488 36.116 2852
+-126.362 36.116 2822
+-126.236 36.116 2788
+-126.11 36.116 2750
+-125.984 36.116 2706
+-125.858 36.116 2655
+-125.732 36.116 2595
+-125.606 36.116 2524
+-125.48 36.116 2441
+-125.354 36.116 2368
+-125.228 36.116 2248
+-125.102 36.116 2109
+-124.976 36.116 1953
+-124.85 36.116 1796
+-124.724 36.116 1678
+-124.598 36.116 1640
+-124.472 36.116 1729
+-124.346 36.116 1931
+-124.22 36.116 2180
+-124.094 36.116 2456
+-123.968 36.116 2713
+-123.842 36.116 2910
+-123.716 36.116 3121
+-123.59 36.116 3257
+-123.464 36.116 3386
+-123.338 36.116 3495
+-123.212 36.116 3612
+-123.086 36.116 3661
+-122.96 36.116 3663
+-122.834 36.116 3640
+-122.708 36.116 3580
+-122.582 36.116 3530
+-122.456 36.116 3666
+-122.33 36.116 3902
+-122.204 36.116 3977
+-122.078 36.116 3926
+-121.952 36.116 4090
+-121.826 36.116 4402
+-121.7 36.116 4593
+-121.574 36.116 4681
+-121.448 36.116 4719
+-121.322 36.116 4735
+-121.196 36.116 4851
+-121.07 36.116 5024
+-120.944 36.116 5118
+-120.818 36.116 5204
+-120.692 36.116 5356
+-120.566 36.116 5464
+-120.44 36.116 5570
+-120.314 36.116 5727
+-120.188 36.116 5839
+-120.062 36.116 5878
+-119.936 36.116 5996
+-119.81 36.116 6056
+-119.684 36.116 6202
+-119.558 36.116 6295
+-119.432 36.116 6369
+-119.306 36.116 6494
+-119.18 36.116 6605
+-119.054 36.116 6669
+-118.928 36.116 6768
+-118.802 36.116 6824
+-118.676 36.116 6937
+-118.55 36.116 7052
+-118.424 36.116 7123
+-118.298 36.116 7144
+-118.172 36.116 7209
+-118.046 36.116 7259
+-117.92 36.116 7319
+-117.794 36.116 7333
+-117.668 36.116 7348
+-117.542 36.116 7407
+-117.416 36.116 7390
+-117.29 36.116 7410
+-117.164 36.116 7401
+-117.038 36.116 7381
+-116.912 36.116 7351
+-116.786 36.116 7307
+-116.66 36.116 7269
+-116.534 36.116 7198
+-116.408 36.116 7213
+-116.282 36.116 7143
+-116.156 36.116 7038
+-116.03 36.116 6979
+-115.904 36.116 6882
+-115.778 36.116 6829
+-115.652 36.116 6741
+-115.526 36.116 6669
+-115.4 36.116 6576
+-115.274 36.116 6481
+-115.148 36.116 6355
+-115.022 36.116 6228
+-114.896 36.116 6109
+-114.77 36.116 5971
+-114.644 36.116 5917
+-114.518 36.116 5778
+-114.392 36.116 5633
+-114.266 36.116 5562
+-114.14 36.116 5417
+-114.014 36.116 5298
+-113.888 36.116 5177
+-113.762 36.116 5147
+-113.636 36.116 4992
+-113.51 36.116 4909
+-113.384 36.116 4833
+-113.258 36.116 4700
+-113.132 36.116 4491
+-113.006 36.116 4369
+-112.88 36.116 4301
+-112.754 36.116 4161
+-112.628 36.116 4215
+-112.502 36.116 4244
+-112.376 36.116 4280
+-112.25 36.116 4309
+-112.124 36.116 4308
+-111.998 36.116 4277
+-111.872 36.116 4318
+-111.746 36.116 4374
+-111.62 36.116 4440
+-111.494 36.116 4490
+-111.368 36.116 4507
+-111.242 36.116 4492
+-111.116 36.116 4520
+-110.99 36.116 4540
+-110.864 36.116 4543
+-110.738 36.116 4558
+-110.612 36.116 4571
+-110.486 36.116 4586
+-110.36 36.116 4604
+-110.234 36.116 4614
+-110.108 36.116 4628
+-109.982 36.116 4596
+-109.856 36.116 4554
+-109.73 36.116 4520
+-109.604 36.116 4511
+-109.478 36.116 4512
+-109.352 36.116 4486
+-109.226 36.116 4453
+-109.1 36.116 4425
+-108.974 36.116 4396
+-108.848 36.116 4314
+-108.722 36.116 4239
+-108.596 36.116 4250
+-108.47 36.116 4224
+-108.344 36.116 4189
+-108.218 36.116 4110
+-108.092 36.116 4044
+-107.966 36.116 3955
+-107.84 36.116 3864
+-107.714 36.116 3778
+-107.588 36.116 3742
+-107.462 36.116 3668
+-107.336 36.116 3562
+-107.21 36.116 3526
+-107.084 36.116 3445
+-106.958 36.116 3317
+-106.832 36.116 3244
+-106.706 36.116 3241
+-106.58 36.116 3213
+-106.454 36.116 3142
+-106.328 36.116 3042
+-106.202 36.116 2995
+-106.076 36.116 2982
+-105.95 36.116 2995
+-105.824 36.116 3012
+-105.698 36.116 3025
+-105.572 36.116 3038
+-105.446 36.116 3049
+-105.32 36.116 3052
+-105.194 36.116 3060
+-105.068 36.116 3075
+-104.942 36.116 3073
+-104.816 36.116 3079
+-104.69 36.116 3089
+-104.564 36.116 3098
+-104.438 36.116 3107
+-104.312 36.116 3116
+-104.186 36.116 3125
+-104.06 36.116 3133
+-103.934 36.116 3121
+-103.808 36.116 3183
+-103.682 36.116 3190
+-103.556 36.116 3205
+-103.43 36.116 3201
+-103.304 36.116 3210
+-103.178 36.116 3219
+-103.052 36.116 3227
+-102.926 36.116 3235
+-102.8 36.116 3242
+-102.674 36.116 3249
+-102.548 36.116 3256
+-102.422 36.116 3262
+-102.296 36.116 3268
+-102.17 36.116 3296
+-102.044 36.116 3300
+-101.918 36.116 3180
+-101.792 36.116 3088
+-101.666 36.116 3081
+-101.54 36.116 3057
+-101.414 36.116 3004
+-101.288 36.116 2889
+-101.162 36.116 2837
+-101.036 36.116 2828
+-100.91 36.116 2861
+-100.784 36.116 2917
+-100.658 36.116 2935
+-100.532 36.116 3046
+-100.406 36.116 3104
+-100.28 36.116 3097
+-100.154 36.116 3089
+-100.028 36.116 3080
+-99.902 36.116 3101
+-99.776 36.116 3091
+-99.65 36.116 3080
+-99.524 36.116 3079
+-99.398 36.116 3041
+-99.272 36.116 3029
+-99.146 36.116 3066
+-99.02 36.116 3053
+-98.894 36.116 3039
+-98.768 36.116 3024
+-98.642 36.116 3008
+-98.516 36.116 2991
+-98.39 36.116 2972
+-98.264 36.116 2953
+-98.138 36.116 2933
+-98.012 36.116 2957
+-97.886 36.116 2978
+-97.76 36.116 2959
+-97.634 36.116 2942
+-97.508 36.116 2950
+-97.382 36.116 2941
+-97.256 36.116 2947
+-97.13 36.116 2961
+-97.004 36.116 2995
+-96.878 36.116 3021
+-96.752 36.116 3054
+-96.626 36.116 3092
+-96.5 36.116 3158
+-96.374 36.116 3205
+-96.248 36.116 3269
+-96.122 36.116 3331
+-95.996 36.116 3384
+-95.87 36.116 3450
+-95.744 36.116 3541
+-95.618 36.116 3620
+-95.492 36.116 3653
+-95.366 36.116 3672
+-95.24 36.116 3766
+-95.114 36.116 3877
+-94.988 36.116 3987
+-94.862 36.116 4040
+-94.736 36.116 4064
+-94.61 36.116 4164
+-94.484 36.116 4314
+-94.358 36.116 4452
+-94.232 36.116 4539
+-94.106 36.116 4593
+-93.98 36.116 4687
+-93.854 36.116 4847
+-93.728 36.116 4982
+-93.602 36.116 5067
+-93.476 36.116 5130
+-93.35 36.116 5221
+-93.224 36.116 5307
+-93.098 36.116 5377
+-92.972 36.116 5493
+-92.846 36.116 5531
+-92.72 36.116 5638
+-92.594 36.116 5783
+-92.468 36.116 5858
+-92.342 36.116 5900
+-92.216 36.116 5982
+-92.09 36.116 6053
+-91.964 36.116 6090
+-91.838 36.116 6199
+-91.712 36.116 6265
+-91.586 36.116 6327
+-91.46 36.116 6346
+-91.334 36.116 6412
+-91.208 36.116 6547
+-91.082 36.116 6487
+-90.956 36.116 6910
+-90.83 36.116 6941
+-90.704 36.116 7046
+-90.578 36.116 7154
+-90.452 36.116 7320
+-90.326 36.116 7379
+-90.2 36.116 7458
+-90.074 36.116 7547
+-89.948 36.116 7603
+-89.822 36.116 7708
+-89.696 36.116 7798
+-89.57 36.116 7904
+-89.444 36.116 7903
+-89.318 36.116 7929
+-89.192 36.116 7996
+-89.066 36.116 8013
+-88.94 36.116 8042
+-88.814 36.116 8037
+-88.688 36.116 8025
+-88.562 36.116 7995
+-88.436 36.116 7984
+-88.31 36.116 7932
+-88.184 36.116 7867
+-88.058 36.116 7840
+-87.932 36.116 7773
+-87.806 36.116 7674
+-87.68 36.116 7604
+-87.554 36.116 7553
+-87.428 36.116 7454
+-87.302 36.116 7407
+-87.176 36.116 7254
+-87.05 36.116 7132
+-86.924 36.116 7043
+-86.798 36.116 6947
+-86.672 36.116 6794
+-86.546 36.116 6679
+-86.42 36.116 6542
+-86.294 36.116 6444
+-86.168 36.116 6374
+-86.042 36.116 6273
+-85.916 36.116 6093
+-85.79 36.116 5974
+-85.664 36.116 5852
+-85.538 36.116 5747
+-85.412 36.116 5579
+-85.286 36.116 5560
+-85.16 36.116 5358
+-85.034 36.116 5192
+-84.908 36.116 5108
+-84.782 36.116 4916
+-84.656 36.116 4789
+-84.53 36.116 4777
+-84.404 36.116 4636
+-84.278 36.116 4563
+-84.152 36.116 4399
+-84.026 36.116 4205
+-83.9 36.116 4039
+-83.774 36.116 3947
+-83.648 36.116 3916
+-83.522 36.116 3830
+-83.396 36.116 3657
+-83.27 36.116 3415
+-83.144 36.116 3283
+-83.018 36.116 3331
+-82.892 36.116 3379
+-82.766 36.116 3400
+-82.64 36.116 3361
+-82.514 36.116 3295
+-82.388 36.116 3197
+-82.262 36.116 3073
+-82.136 36.116 2938
+-82.01 36.116 2817
+-81.884 36.116 2739
+-81.758 36.116 2694
+-81.632 36.116 2658
+-81.506 36.116 2703
+-81.38 36.116 2749
+-81.254 36.116 2803
+-81.128 36.116 2844
+-81.002 36.116 2878
+-80.876 36.116 2917
+-80.75 36.116 2951
+-80.624 36.116 2981
+-80.498 36.116 2937
+-80.372 36.116 2954
+-80.246 36.116 2974
+-80.12 36.116 2987
+-79.994 36.116 2998
+-79.868 36.116 3007
+-79.742 36.116 3015
+-79.616 36.116 3021
+-79.49 36.116 3027
+-79.364 36.116 3031
+-79.238 36.116 2992
+-79.112 36.116 2879
+-78.986 36.116 2869
+-78.86 36.116 2871
+-78.734 36.116 2872
+-78.608 36.116 2874
+-78.482 36.116 2875
+-78.356 36.116 2877
+-78.23 36.116 2878
+-78.104 36.116 2854
+-77.978 36.116 2775
+-77.852 36.116 2777
+-77.726 36.116 2748
+-77.6 36.116 2749
+-77.474 36.116 2750
+-77.348 36.116 2760
+-77.222 36.116 2654
+-77.096 36.116 2658
+-76.97 36.116 2639
+-76.844 36.116 2645
+-76.718 36.116 2666
+-76.592 36.116 2641
+-76.466 36.116 2643
+-76.34 36.116 2612
+-76.214 36.116 2616
+-76.088 36.116 2619
+-75.962 36.116 2624
+-75.836 36.116 2637
+-75.71 36.116 2651
+-75.584 36.116 2656
+-75.458 36.116 2699
+-75.332 36.116 2716
+-75.206 36.116 2721
+-75.08 36.116 2778
+-74.954 36.116 2803
+-74.828 36.116 2790
+-74.702 36.116 2787
+-74.576 36.116 2923
+-74.45 36.116 2929
+-74.324 36.116 2983
+-74.198 36.116 2989
+-74.072 36.116 2995
+-73.946 36.116 3001
+-73.82 36.116 3006
+-73.694 36.116 2942
+-73.568 36.116 2963
+-73.442 36.116 2968
+-73.316 36.116 2964
+-73.19 36.116 3246
+-73.064 36.116 3275
+-72.938 36.116 3279
+-72.812 36.116 3278
+-72.686 36.116 3281
+-72.56 36.116 3288
+-72.434 36.116 3304
+-72.308 36.116 3307
+-72.182 36.116 3299
+-72.056 36.116 3302
+-71.93 36.116 3260
+-71.804 36.116 3263
+-71.678 36.116 3266
+-71.552 36.116 3327
+-71.426 36.116 3325
+-71.3 36.116 3335
+-71.174 36.116 3338
+-71.048 36.116 3321
+-70.922 36.116 3343
+-70.796 36.116 3388
+-70.67 36.116 3400
+-70.544 36.116 3401
+-70.418 36.116 3401
+-70.292 36.116 3452
+-70.166 36.116 3455
+-70.04 36.116 3398
+-69.914 36.116 3421
+-69.788 36.116 3416
+-69.662 36.116 3337
+-69.536 36.116 3255
+-69.41 36.116 3277
+-69.284 36.116 3279
+-69.158 36.116 3312
+-69.032 36.116 3287
+-68.906 36.116 3299
+-68.78 36.116 3301
+-68.654 36.116 3282
+-68.528 36.116 3284
+-68.402 36.116 3286
+-68.276 36.116 3263
+-68.15 36.116 3245
+-68.024 36.116 3281
+-67.898 36.116 3276
+-67.772 36.116 3278
+-67.646 36.116 3280
+-67.52 36.116 3200
+-67.394 36.116 3241
+-67.268 36.116 3237
+-67.142 36.116 3239
+-67.016 36.116 3241
+-66.89 36.116 3473
+-66.764 36.116 3394
+-66.638 36.116 3408
+-66.512 36.116 3410
+-66.386 36.116 3304
+-66.26 36.116 3290
+-66.134 36.116 3291
+-66.008 36.116 3292
+-65.882 36.116 3269
+-65.756 36.116 3270
+-65.63 36.116 3270
+-65.504 36.116 3271
+-65.378 36.116 3272
+-65.252 36.116 3298
+-65.126 36.116 3299
+-128 36.064 3021
+-127.874 36.064 3010
+-127.748 36.064 2999
+-127.622 36.064 2986
+-127.496 36.064 2973
+-127.37 36.064 2958
+-127.244 36.064 2942
+-127.118 36.064 2925
+-126.992 36.064 2907
+-126.866 36.064 2886
+-126.74 36.064 2864
+-126.614 36.064 2839
+-126.488 36.064 2850
+-126.362 36.064 2820
+-126.236 36.064 2785
+-126.11 36.064 2746
+-125.984 36.064 2701
+-125.858 36.064 2648
+-125.732 36.064 2586
+-125.606 36.064 2512
+-125.48 36.064 2423
+-125.354 36.064 2315
+-125.228 36.064 2208
+-125.102 36.064 2048
+-124.976 36.064 1861
+-124.85 36.064 1662
+-124.724 36.064 1490
+-124.598 36.064 1421
+-124.472 36.064 1521
+-124.346 36.064 1773
+-124.22 36.064 2078
+-124.094 36.064 2351
+-123.968 36.064 2613
+-123.842 36.064 2838
+-123.716 36.064 3017
+-123.59 36.064 3218
+-123.464 36.064 3358
+-123.338 36.064 3511
+-123.212 36.064 3599
+-123.086 36.064 3640
+-122.96 36.064 3651
+-122.834 36.064 3616
+-122.708 36.064 3511
+-122.582 36.064 3405
+-122.456 36.064 3569
+-122.33 36.064 3872
+-122.204 36.064 4000
+-122.078 36.064 4027
+-121.952 36.064 4175
+-121.826 36.064 4434
+-121.7 36.064 4624
+-121.574 36.064 4667
+-121.448 36.064 4594
+-121.322 36.064 4746
+-121.196 36.064 4892
+-121.07 36.064 5059
+-120.944 36.064 5077
+-120.818 36.064 5221
+-120.692 36.064 5367
+-120.566 36.064 5508
+-120.44 36.064 5580
+-120.314 36.064 5728
+-120.188 36.064 5780
+-120.062 36.064 5925
+-119.936 36.064 6030
+-119.81 36.064 6102
+-119.684 36.064 6260
+-119.558 36.064 6325
+-119.432 36.064 6438
+-119.306 36.064 6575
+-119.18 36.064 6639
+-119.054 36.064 6737
+-118.928 36.064 6871
+-118.802 36.064 6863
+-118.676 36.064 6986
+-118.55 36.064 7091
+-118.424 36.064 7123
+-118.298 36.064 7222
+-118.172 36.064 7255
+-118.046 36.064 7304
+-117.92 36.064 7350
+-117.794 36.064 7410
+-117.668 36.064 7438
+-117.542 36.064 7431
+-117.416 36.064 7441
+-117.29 36.064 7437
+-117.164 36.064 7473
+-117.038 36.064 7453
+-116.912 36.064 7424
+-116.786 36.064 7340
+-116.66 36.064 7316
+-116.534 36.064 7282
+-116.408 36.064 7223
+-116.282 36.064 7157
+-116.156 36.064 7083
+-116.03 36.064 7042
+-115.904 36.064 6918
+-115.778 36.064 6837
+-115.652 36.064 6776
+-115.526 36.064 6637
+-115.4 36.064 6600
+-115.274 36.064 6462
+-115.148 36.064 6407
+-115.022 36.064 6298
+-114.896 36.064 6157
+-114.77 36.064 6104
+-114.644 36.064 5908
+-114.518 36.064 5877
+-114.392 36.064 5691
+-114.266 36.064 5588
+-114.14 36.064 5415
+-114.014 36.064 5287
+-113.888 36.064 5290
+-113.762 36.064 5153
+-113.636 36.064 4971
+-113.51 36.064 4883
+-113.384 36.064 4849
+-113.258 36.064 4717
+-113.132 36.064 4532
+-113.006 36.064 4419
+-112.88 36.064 4346
+-112.754 36.064 4267
+-112.628 36.064 4266
+-112.502 36.064 4274
+-112.376 36.064 4318
+-112.25 36.064 4335
+-112.124 36.064 4354
+-111.998 36.064 4357
+-111.872 36.064 4399
+-111.746 36.064 4459
+-111.62 36.064 4500
+-111.494 36.064 4533
+-111.368 36.064 4542
+-111.242 36.064 4539
+-111.116 36.064 4570
+-110.99 36.064 4601
+-110.864 36.064 4624
+-110.738 36.064 4645
+-110.612 36.064 4651
+-110.486 36.064 4662
+-110.36 36.064 4666
+-110.234 36.064 4673
+-110.108 36.064 4661
+-109.982 36.064 4647
+-109.856 36.064 4614
+-109.73 36.064 4573
+-109.604 36.064 4554
+-109.478 36.064 4558
+-109.352 36.064 4530
+-109.226 36.064 4482
+-109.1 36.064 4416
+-108.974 36.064 4433
+-108.848 36.064 4372
+-108.722 36.064 4307
+-108.596 36.064 4283
+-108.47 36.064 4256
+-108.344 36.064 4214
+-108.218 36.064 4168
+-108.092 36.064 4099
+-107.966 36.064 4008
+-107.84 36.064 3917
+-107.714 36.064 3828
+-107.588 36.064 3773
+-107.462 36.064 3707
+-107.336 36.064 3648
+-107.21 36.064 3586
+-107.084 36.064 3502
+-106.958 36.064 3419
+-106.832 36.064 3350
+-106.706 36.064 3304
+-106.58 36.064 3220
+-106.454 36.064 3120
+-106.328 36.064 2998
+-106.202 36.064 2924
+-106.076 36.064 2951
+-105.95 36.064 2991
+-105.824 36.064 3018
+-105.698 36.064 3036
+-105.572 36.064 3049
+-105.446 36.064 3053
+-105.32 36.064 3062
+-105.194 36.064 3077
+-105.068 36.064 3076
+-104.942 36.064 3082
+-104.816 36.064 3092
+-104.69 36.064 3102
+-104.564 36.064 3111
+-104.438 36.064 3120
+-104.312 36.064 3129
+-104.186 36.064 3137
+-104.06 36.064 3125
+-103.934 36.064 3186
+-103.808 36.064 3194
+-103.682 36.064 3208
+-103.556 36.064 3204
+-103.43 36.064 3214
+-103.304 36.064 3222
+-103.178 36.064 3230
+-103.052 36.064 3238
+-102.926 36.064 3246
+-102.8 36.064 3253
+-102.674 36.064 3259
+-102.548 36.064 3266
+-102.422 36.064 3272
+-102.296 36.064 3299
+-102.17 36.064 3303
+-102.044 36.064 3297
+-101.918 36.064 3184
+-101.792 36.064 3097
+-101.666 36.064 3090
+-101.54 36.064 3066
+-101.414 36.064 3012
+-101.288 36.064 2895
+-101.162 36.064 2867
+-101.036 36.064 2829
+-100.91 36.064 2860
+-100.784 36.064 2913
+-100.658 36.064 2931
+-100.532 36.064 3039
+-100.406 36.064 3097
+-100.28 36.064 3089
+-100.154 36.064 3081
+-100.028 36.064 3102
+-99.902 36.064 3092
+-99.776 36.064 3081
+-99.65 36.064 3080
+-99.524 36.064 3042
+-99.398 36.064 3031
+-99.272 36.064 3068
+-99.146 36.064 3055
+-99.02 36.064 3041
+-98.894 36.064 3026
+-98.768 36.064 3009
+-98.642 36.064 2991
+-98.516 36.064 2972
+-98.39 36.064 2951
+-98.264 36.064 2929
+-98.138 36.064 2951
+-98.012 36.064 2967
+-97.886 36.064 2941
+-97.76 36.064 2916
+-97.634 36.064 2913
+-97.508 36.064 2892
+-97.382 36.064 2877
+-97.256 36.064 2885
+-97.13 36.064 2907
+-97.004 36.064 2924
+-96.878 36.064 2953
+-96.752 36.064 2990
+-96.626 36.064 3056
+-96.5 36.064 3099
+-96.374 36.064 3154
+-96.248 36.064 3193
+-96.122 36.064 3257
+-95.996 36.064 3318
+-95.87 36.064 3382
+-95.744 36.064 3498
+-95.618 36.064 3608
+-95.492 36.064 3693
+-95.366 36.064 3739
+-95.24 36.064 3805
+-95.114 36.064 3886
+-94.988 36.064 3924
+-94.862 36.064 3929
+-94.736 36.064 4007
+-94.61 36.064 4143
+-94.484 36.064 4298
+-94.358 36.064 4447
+-94.232 36.064 4528
+-94.106 36.064 4551
+-93.98 36.064 4614
+-93.854 36.064 4794
+-93.728 36.064 4948
+-93.602 36.064 5052
+-93.476 36.064 5043
+-93.35 36.064 5172
+-93.224 36.064 5259
+-93.098 36.064 5308
+-92.972 36.064 5412
+-92.846 36.064 5509
+-92.72 36.064 5603
+-92.594 36.064 5704
+-92.468 36.064 5742
+-92.342 36.064 5859
+-92.216 36.064 5956
+-92.09 36.064 6003
+-91.964 36.064 6074
+-91.838 36.064 6149
+-91.712 36.064 6221
+-91.586 36.064 6256
+-91.46 36.064 6291
+-91.334 36.064 6343
+-91.208 36.064 6496
+-91.082 36.064 6710
+-90.956 36.064 6836
+-90.83 36.064 6945
+-90.704 36.064 7049
+-90.578 36.064 7191
+-90.452 36.064 7231
+-90.326 36.064 7327
+-90.2 36.064 7414
+-90.074 36.064 7506
+-89.948 36.064 7581
+-89.822 36.064 7664
+-89.696 36.064 7782
+-89.57 36.064 7799
+-89.444 36.064 7846
+-89.318 36.064 7877
+-89.192 36.064 7953
+-89.066 36.064 7954
+-88.94 36.064 7965
+-88.814 36.064 7981
+-88.688 36.064 7979
+-88.562 36.064 7972
+-88.436 36.064 7944
+-88.31 36.064 7894
+-88.184 36.064 7841
+-88.058 36.064 7785
+-87.932 36.064 7712
+-87.806 36.064 7666
+-87.68 36.064 7625
+-87.554 36.064 7506
+-87.428 36.064 7399
+-87.302 36.064 7290
+-87.176 36.064 7222
+-87.05 36.064 7148
+-86.924 36.064 7001
+-86.798 36.064 6895
+-86.672 36.064 6765
+-86.546 36.064 6599
+-86.42 36.064 6543
+-86.294 36.064 6419
+-86.168 36.064 6337
+-86.042 36.064 6188
+-85.916 36.064 6123
+-85.79 36.064 6015
+-85.664 36.064 5898
+-85.538 36.064 5795
+-85.412 36.064 5674
+-85.286 36.064 5545
+-85.16 36.064 5390
+-85.034 36.064 5235
+-84.908 36.064 5132
+-84.782 36.064 4985
+-84.656 36.064 4872
+-84.53 36.064 4795
+-84.404 36.064 4695
+-84.278 36.064 4557
+-84.152 36.064 4334
+-84.026 36.064 4165
+-83.9 36.064 4019
+-83.774 36.064 3912
+-83.648 36.064 3834
+-83.522 36.064 3771
+-83.396 36.064 3603
+-83.27 36.064 3318
+-83.144 36.064 3157
+-83.018 36.064 3245
+-82.892 36.064 3337
+-82.766 36.064 3360
+-82.64 36.064 3326
+-82.514 36.064 3245
+-82.388 36.064 3117
+-82.262 36.064 2948
+-82.136 36.064 2759
+-82.01 36.064 2591
+-81.884 36.064 2496
+-81.758 36.064 2490
+-81.632 36.064 2534
+-81.506 36.064 2569
+-81.38 36.064 2655
+-81.254 36.064 2725
+-81.128 36.064 2791
+-81.002 36.064 2839
+-80.876 36.064 2874
+-80.75 36.064 2914
+-80.624 36.064 2887
+-80.498 36.064 2911
+-80.372 36.064 2928
+-80.246 36.064 2944
+-80.12 36.064 2958
+-79.994 36.064 2970
+-79.868 36.064 2980
+-79.742 36.064 2989
+-79.616 36.064 2996
+-79.49 36.064 2993
+-79.364 36.064 2998
+-79.238 36.064 3002
+-79.112 36.064 2883
+-78.986 36.064 2862
+-78.86 36.064 2852
+-78.734 36.064 2854
+-78.608 36.064 2856
+-78.482 36.064 2857
+-78.356 36.064 2859
+-78.23 36.064 2861
+-78.104 36.064 2757
+-77.978 36.064 2759
+-77.852 36.064 2731
+-77.726 36.064 2732
+-77.6 36.064 2733
+-77.474 36.064 2744
+-77.348 36.064 2638
+-77.222 36.064 2644
+-77.096 36.064 2625
+-76.97 36.064 2633
+-76.844 36.064 2652
+-76.718 36.064 2629
+-76.592 36.064 2632
+-76.466 36.064 2602
+-76.34 36.064 2606
+-76.214 36.064 2610
+-76.088 36.064 2615
+-75.962 36.064 2627
+-75.836 36.064 2642
+-75.71 36.064 2647
+-75.584 36.064 2692
+-75.458 36.064 2709
+-75.332 36.064 2714
+-75.206 36.064 2771
+-75.08 36.064 2797
+-74.954 36.064 2785
+-74.828 36.064 2782
+-74.702 36.064 2917
+-74.576 36.064 2923
+-74.45 36.064 2977
+-74.324 36.064 2984
+-74.198 36.064 2990
+-74.072 36.064 2995
+-73.946 36.064 3001
+-73.82 36.064 2938
+-73.694 36.064 2959
+-73.568 36.064 2964
+-73.442 36.064 2960
+-73.316 36.064 3242
+-73.19 36.064 3270
+-73.064 36.064 3274
+-72.938 36.064 3273
+-72.812 36.064 3277
+-72.686 36.064 3284
+-72.56 36.064 3300
+-72.434 36.064 3303
+-72.308 36.064 3296
+-72.182 36.064 3299
+-72.056 36.064 3257
+-71.93 36.064 3260
+-71.804 36.064 3263
+-71.678 36.064 3324
+-71.552 36.064 3322
+-71.426 36.064 3332
+-71.3 36.064 3335
+-71.174 36.064 3318
+-71.048 36.064 3340
+-70.922 36.064 3385
+-70.796 36.064 3397
+-70.67 36.064 3398
+-70.544 36.064 3399
+-70.418 36.064 3449
+-70.292 36.064 3452
+-70.166 36.064 3395
+-70.04 36.064 3418
+-69.914 36.064 3414
+-69.788 36.064 3338
+-69.662 36.064 3253
+-69.536 36.064 3275
+-69.41 36.064 3278
+-69.284 36.064 3310
+-69.158 36.064 3285
+-69.032 36.064 3297
+-68.906 36.064 3299
+-68.78 36.064 3280
+-68.654 36.064 3282
+-68.528 36.064 3285
+-68.402 36.064 3262
+-68.276 36.064 3244
+-68.15 36.064 3279
+-68.024 36.064 3274
+-67.898 36.064 3277
+-67.772 36.064 3279
+-67.646 36.064 3199
+-67.52 36.064 3240
+-67.394 36.064 3236
+-67.268 36.064 3238
+-67.142 36.064 3240
+-67.016 36.064 3472
+-66.89 36.064 3397
+-66.764 36.064 3407
+-66.638 36.064 3409
+-66.512 36.064 3303
+-66.386 36.064 3290
+-66.26 36.064 3290
+-66.134 36.064 3291
+-66.008 36.064 3268
+-65.882 36.064 3269
+-65.756 36.064 3270
+-65.63 36.064 3270
+-65.504 36.064 3271
+-65.378 36.064 3297
+-65.252 36.064 3298
+-65.126 36.064 3282
+-128 36.012 3023
+-127.874 36.012 3012
+-127.748 36.012 3000
+-127.622 36.012 2988
+-127.496 36.012 2974
+-127.37 36.012 2960
+-127.244 36.012 2944
+-127.118 36.012 2927
+-126.992 36.012 2908
+-126.866 36.012 2888
+-126.74 36.012 2865
+-126.614 36.012 2840
+-126.488 36.012 2813
+-126.362 36.012 2820
+-126.236 36.012 2786
+-126.11 36.012 2746
+-125.984 36.012 2701
+-125.858 36.012 2648
+-125.732 36.012 2586
+-125.606 36.012 2511
+-125.48 36.012 2421
+-125.354 36.012 2311
+-125.228 36.012 2177
+-125.102 36.012 2032
+-124.976 36.012 1834
+-124.85 36.012 1614
+-124.724 36.012 1417
+-124.598 36.012 1328
+-124.472 36.012 1436
+-124.346 36.012 1718
+-124.22 36.012 2047
+-124.094 36.012 2323
+-123.968 36.012 2533
+-123.842 36.012 2750
+-123.716 36.012 2948
+-123.59 36.012 3164
+-123.464 36.012 3352
+-123.338 36.012 3498
+-123.212 36.012 3584
+-123.086 36.012 3643
+-122.96 36.012 3670
+-122.834 36.012 3679
+-122.708 36.012 3595
+-122.582 36.012 3536
+-122.456 36.012 3667
+-122.33 36.012 3913
+-122.204 36.012 4056
+-122.078 36.012 4154
+-121.952 36.012 4297
+-121.826 36.012 4480
+-121.7 36.012 4642
+-121.574 36.012 4685
+-121.448 36.012 4653
+-121.322 36.012 4760
+-121.196 36.012 4958
+-121.07 36.012 5098
+-120.944 36.012 5162
+-120.818 36.012 5266
+-120.692 36.012 5328
+-120.566 36.012 5475
+-120.44 36.012 5620
+-120.314 36.012 5763
+-120.188 36.012 5882
+-120.062 36.012 5974
+-119.936 36.012 6062
+-119.81 36.012 6148
+-119.684 36.012 6317
+-119.558 36.012 6344
+-119.432 36.012 6468
+-119.306 36.012 6561
+-119.18 36.012 6685
+-119.054 36.012 6817
+-118.928 36.012 6888
+-118.802 36.012 6936
+-118.676 36.012 7055
+-118.55 36.012 7147
+-118.424 36.012 7197
+-118.298 36.012 7261
+-118.172 36.012 7355
+-118.046 36.012 7355
+-117.92 36.012 7392
+-117.794 36.012 7427
+-117.668 36.012 7469
+-117.542 36.012 7499
+-117.416 36.012 7500
+-117.29 36.012 7534
+-117.164 36.012 7521
+-117.038 36.012 7493
+-116.912 36.012 7455
+-116.786 36.012 7397
+-116.66 36.012 7389
+-116.534 36.012 7338
+-116.408 36.012 7279
+-116.282 36.012 7211
+-116.156 36.012 7149
+-116.03 36.012 7083
+-115.904 36.012 6975
+-115.778 36.012 6888
+-115.652 36.012 6769
+-115.526 36.012 6709
+-115.4 36.012 6589
+-115.274 36.012 6525
+-115.148 36.012 6368
+-115.022 36.012 6333
+-114.896 36.012 6215
+-114.77 36.012 6076
+-114.644 36.012 6002
+-114.518 36.012 5957
+-114.392 36.012 5777
+-114.266 36.012 5601
+-114.14 36.012 5421
+-114.014 36.012 5313
+-113.888 36.012 5257
+-113.762 36.012 5167
+-113.636 36.012 5062
+-113.51 36.012 4948
+-113.384 36.012 4843
+-113.258 36.012 4731
+-113.132 36.012 4554
+-113.006 36.012 4440
+-112.88 36.012 4396
+-112.754 36.012 4330
+-112.628 36.012 4298
+-112.502 36.012 4279
+-112.376 36.012 4329
+-112.25 36.012 4372
+-112.124 36.012 4410
+-111.998 36.012 4447
+-111.872 36.012 4486
+-111.746 36.012 4527
+-111.62 36.012 4549
+-111.494 36.012 4569
+-111.368 36.012 4596
+-111.242 36.012 4625
+-111.116 36.012 4657
+-110.99 36.012 4699
+-110.864 36.012 4703
+-110.738 36.012 4713
+-110.612 36.012 4714
+-110.486 36.012 4716
+-110.36 36.012 4734
+-110.234 36.012 4734
+-110.108 36.012 4700
+-109.982 36.012 4679
+-109.856 36.012 4658
+-109.73 36.012 4613
+-109.604 36.012 4588
+-109.478 36.012 4569
+-109.352 36.012 4558
+-109.226 36.012 4526
+-109.1 36.012 4500
+-108.974 36.012 4486
+-108.848 36.012 4442
+-108.722 36.012 4384
+-108.596 36.012 4306
+-108.47 36.012 4277
+-108.344 36.012 4194
+-108.218 36.012 4186
+-108.092 36.012 4138
+-107.966 36.012 4084
+-107.84 36.012 3987
+-107.714 36.012 3901
+-107.588 36.012 3853
+-107.462 36.012 3784
+-107.336 36.012 3710
+-107.21 36.012 3654
+-107.084 36.012 3585
+-106.958 36.012 3498
+-106.832 36.012 3421
+-106.706 36.012 3345
+-106.58 36.012 3252
+-106.454 36.012 3105
+-106.328 36.012 2950
+-106.202 36.012 2861
+-106.076 36.012 2928
+-105.95 36.012 2997
+-105.824 36.012 3026
+-105.698 36.012 3043
+-105.572 36.012 3066
+-105.446 36.012 3077
+-105.32 36.012 3095
+-105.194 36.012 3097
+-105.068 36.012 3083
+-104.942 36.012 3094
+-104.816 36.012 3104
+-104.69 36.012 3114
+-104.564 36.012 3124
+-104.438 36.012 3133
+-104.312 36.012 3141
+-104.186 36.012 3168
+-104.06 36.012 3190
+-103.934 36.012 3197
+-103.808 36.012 3212
+-103.682 36.012 3208
+-103.556 36.012 3218
+-103.43 36.012 3226
+-103.304 36.012 3235
+-103.178 36.012 3243
+-103.052 36.012 3250
+-102.926 36.012 3257
+-102.8 36.012 3264
+-102.674 36.012 3270
+-102.548 36.012 3276
+-102.422 36.012 3303
+-102.296 36.012 3306
+-102.17 36.012 3301
+-102.044 36.012 3307
+-101.918 36.012 3194
+-101.792 36.012 3107
+-101.666 36.012 3099
+-101.54 36.012 3076
+-101.414 36.012 3020
+-101.288 36.012 2901
+-101.162 36.012 2871
+-101.036 36.012 2847
+-100.91 36.012 2860
+-100.784 36.012 2909
+-100.658 36.012 2926
+-100.532 36.012 3032
+-100.406 36.012 3091
+-100.28 36.012 3082
+-100.154 36.012 3104
+-100.028 36.012 3094
+-99.902 36.012 3083
+-99.776 36.012 3083
+-99.65 36.012 3045
+-99.524 36.012 3033
+-99.398 36.012 3072
+-99.272 36.012 3059
+-99.146 36.012 3045
+-99.02 36.012 3030
+-98.894 36.012 3013
+-98.768 36.012 2995
+-98.642 36.012 2975
+-98.516 36.012 2953
+-98.39 36.012 2929
+-98.264 36.012 2950
+-98.138 36.012 2962
+-98.012 36.012 2931
+-97.886 36.012 2899
+-97.76 36.012 2885
+-97.634 36.012 2850
+-97.508 36.012 2818
+-97.382 36.012 2805
+-97.256 36.012 2805
+-97.13 36.012 2805
+-97.004 36.012 2823
+-96.878 36.012 2858
+-96.752 36.012 2929
+-96.626 36.012 2978
+-96.5 36.012 3022
+-96.374 36.012 3067
+-96.248 36.012 3104
+-96.122 36.012 3154
+-95.996 36.012 3234
+-95.87 36.012 3308
+-95.744 36.012 3432
+-95.618 36.012 3539
+-95.492 36.012 3653
+-95.366 36.012 3728
+-95.24 36.012 3797
+-95.114 36.012 3855
+-94.988 36.012 3884
+-94.862 36.012 3836
+-94.736 36.012 3950
+-94.61 36.012 4112
+-94.484 36.012 4263
+-94.358 36.012 4418
+-94.232 36.012 4505
+-94.106 36.012 4513
+-93.98 36.012 4607
+-93.854 36.012 4747
+-93.728 36.012 4876
+-93.602 36.012 5004
+-93.476 36.012 5025
+-93.35 36.012 5151
+-93.224 36.012 5248
+-93.098 36.012 5314
+-92.972 36.012 5385
+-92.846 36.012 5462
+-92.72 36.012 5526
+-92.594 36.012 5649
+-92.468 36.012 5768
+-92.342 36.012 5809
+-92.216 36.012 5850
+-92.09 36.012 5937
+-91.964 36.012 6022
+-91.838 36.012 6065
+-91.712 36.012 6151
+-91.586 36.012 6181
+-91.46 36.012 6236
+-91.334 36.012 6261
+-91.208 36.012 6355
+-91.082 36.012 6371
+-90.956 36.012 6738
+-90.83 36.012 6943
+-90.704 36.012 7038
+-90.578 36.012 7071
+-90.452 36.012 7244
+-90.326 36.012 7317
+-90.2 36.012 7417
+-90.074 36.012 7473
+-89.948 36.012 7530
+-89.822 36.012 7638
+-89.696 36.012 7705
+-89.57 36.012 7720
+-89.444 36.012 7805
+-89.318 36.012 7833
+-89.192 36.012 7895
+-89.066 36.012 7925
+-88.94 36.012 7929
+-88.814 36.012 7907
+-88.688 36.012 7926
+-88.562 36.012 7881
+-88.436 36.012 7874
+-88.31 36.012 7859
+-88.184 36.012 7802
+-88.058 36.012 7774
+-87.932 36.012 7693
+-87.806 36.012 7624
+-87.68 36.012 7551
+-87.554 36.012 7435
+-87.428 36.012 7361
+-87.302 36.012 7259
+-87.176 36.012 7118
+-87.05 36.012 7085
+-86.924 36.012 6939
+-86.798 36.012 6865
+-86.672 36.012 6780
+-86.546 36.012 6658
+-86.42 36.012 6522
+-86.294 36.012 6394
+-86.168 36.012 6291
+-86.042 36.012 6185
+-85.916 36.012 6001
+-85.79 36.012 6004
+-85.664 36.012 5920
+-85.538 36.012 5794
+-85.412 36.012 5630
+-85.286 36.012 5468
+-85.16 36.012 5389
+-85.034 36.012 5278
+-84.908 36.012 5173
+-84.782 36.012 5039
+-84.656 36.012 4922
+-84.53 36.012 4794
+-84.404 36.012 4673
+-84.278 36.012 4504
+-84.152 36.012 4265
+-84.026 36.012 4087
+-83.9 36.012 3919
+-83.774 36.012 3814
+-83.648 36.012 3751
+-83.522 36.012 3725
+-83.396 36.012 3618
+-83.27 36.012 3397
+-83.144 36.012 3279
+-83.018 36.012 3310
+-82.892 36.012 3364
+-82.766 36.012 3347
+-82.64 36.012 3297
+-82.514 36.012 3196
+-82.388 36.012 3035
+-82.262 36.012 2813
+-82.136 36.012 2551
+-82.01 36.012 2319
+-81.884 36.012 2206
+-81.758 36.012 2238
+-81.632 36.012 2357
+-81.506 36.012 2484
+-81.38 36.012 2560
+-81.254 36.012 2651
+-81.128 36.012 2736
+-81.002 36.012 2802
+-80.876 36.012 2797
+-80.75 36.012 2825
+-80.624 36.012 2857
+-80.498 36.012 2883
+-80.372 36.012 2902
+-80.246 36.012 2921
+-80.12 36.012 2936
+-79.994 36.012 2949
+-79.868 36.012 2960
+-79.742 36.012 2969
+-79.616 36.012 2977
+-79.49 36.012 2983
+-79.364 36.012 2988
+-79.238 36.012 2984
+-79.112 36.012 2987
+-78.986 36.012 2865
+-78.86 36.012 2844
+-78.734 36.012 2835
+-78.608 36.012 2837
+-78.482 36.012 2839
+-78.356 36.012 2841
+-78.23 36.012 2738
+-78.104 36.012 2740
+-77.978 36.012 2712
+-77.852 36.012 2714
+-77.726 36.012 2715
+-77.6 36.012 2726
+-77.474 36.012 2622
+-77.348 36.012 2628
+-77.222 36.012 2611
+-77.096 36.012 2619
+-76.97 36.012 2638
+-76.844 36.012 2617
+-76.718 36.012 2620
+-76.592 36.012 2591
+-76.466 36.012 2595
+-76.34 36.012 2599
+-76.214 36.012 2604
+-76.088 36.012 2618
+-75.962 36.012 2633
+-75.836 36.012 2638
+-75.71 36.012 2684
+-75.584 36.012 2702
+-75.458 36.012 2707
+-75.332 36.012 2765
+-75.206 36.012 2790
+-75.08 36.012 2779
+-74.954 36.012 2776
+-74.828 36.012 2911
+-74.702 36.012 2918
+-74.576 36.012 2971
+-74.45 36.012 2978
+-74.324 36.012 2984
+-74.198 36.012 2990
+-74.072 36.012 2996
+-73.946 36.012 2933
+-73.82 36.012 2955
+-73.694 36.012 2960
+-73.568 36.012 2957
+-73.442 36.012 3237
+-73.316 36.012 3265
+-73.19 36.012 3269
+-73.064 36.012 3269
+-72.938 36.012 3272
+-72.812 36.012 3279
+-72.686 36.012 3295
+-72.56 36.012 3299
+-72.434 36.012 3292
+-72.308 36.012 3295
+-72.182 36.012 3254
+-72.056 36.012 3257
+-71.93 36.012 3259
+-71.804 36.012 3321
+-71.678 36.012 3318
+-71.552 36.012 3329
+-71.426 36.012 3332
+-71.3 36.012 3315
+-71.174 36.012 3337
+-71.048 36.012 3382
+-70.922 36.012 3394
+-70.796 36.012 3395
+-70.67 36.012 3396
+-70.544 36.012 3446
+-70.418 36.012 3449
+-70.292 36.012 3393
+-70.166 36.012 3416
+-70.04 36.012 3411
+-69.914 36.012 3333
+-69.788 36.012 3251
+-69.662 36.012 3274
+-69.536 36.012 3276
+-69.41 36.012 3308
+-69.284 36.012 3283
+-69.158 36.012 3295
+-69.032 36.012 3298
+-68.906 36.012 3279
+-68.78 36.012 3281
+-68.654 36.012 3283
+-68.528 36.012 3260
+-68.402 36.012 3243
+-68.276 36.012 3278
+-68.15 36.012 3273
+-68.024 36.012 3275
+-67.898 36.012 3277
+-67.772 36.012 3198
+-67.646 36.012 3239
+-67.52 36.012 3235
+-67.394 36.012 3237
+-67.268 36.012 3239
+-67.142 36.012 3471
+-67.016 36.012 3392
+-66.89 36.012 3406
+-66.764 36.012 3408
+-66.638 36.012 3302
+-66.512 36.012 3289
+-66.386 36.012 3289
+-66.26 36.012 3290
+-66.134 36.012 3268
+-66.008 36.012 3268
+-65.882 36.012 3269
+-65.756 36.012 3270
+-65.63 36.012 3270
+-65.504 36.012 3296
+-65.378 36.012 3297
+-65.252 36.012 3282
+-65.126 36.012 3283
+-128 35.96 3025
+-127.874 35.96 3014
+-127.748 35.96 3002
+-127.622 35.96 2990
+-127.496 35.96 2976
+-127.37 35.96 2962
+-127.244 35.96 2946
+-127.118 35.96 2929
+-126.992 35.96 2911
+-126.866 35.96 2891
+-126.74 35.96 2868
+-126.614 35.96 2844
+-126.488 35.96 2817
+-126.362 35.96 2786
+-126.236 35.96 2790
+-126.11 35.96 2751
+-125.984 35.96 2707
+-125.858 35.96 2655
+-125.732 35.96 2595
+-125.606 35.96 2522
+-125.48 35.96 2436
+-125.354 35.96 2331
+-125.228 35.96 2203
+-125.102 35.96 2049
+-124.976 35.96 1883
+-124.85 35.96 1682
+-124.724 35.96 1504
+-124.598 35.96 1430
+-124.472 35.96 1539
+-124.346 35.96 1808
+-124.22 35.96 2097
+-124.094 35.96 2320
+-123.968 35.96 2517
+-123.842 35.96 2676
+-123.716 35.96 2878
+-123.59 35.96 3093
+-123.464 35.96 3269
+-123.338 35.96 3458
+-123.212 35.96 3583
+-123.086 35.96 3653
+-122.96 35.96 3691
+-122.834 35.96 3753
+-122.708 35.96 3735
+-122.582 35.96 3736
+-122.456 35.96 3845
+-122.33 35.96 3977
+-122.204 35.96 4126
+-122.078 35.96 4248
+-121.952 35.96 4364
+-121.826 35.96 4485
+-121.7 35.96 4616
+-121.574 35.96 4736
+-121.448 35.96 4756
+-121.322 35.96 4853
+-121.196 35.96 5036
+-121.07 35.96 5132
+-120.944 35.96 5193
+-120.818 35.96 5284
+-120.692 35.96 5399
+-120.566 35.96 5520
+-120.44 35.96 5665
+-120.314 35.96 5797
+-120.188 35.96 5897
+-120.062 35.96 5996
+-119.936 35.96 6095
+-119.81 35.96 6213
+-119.684 35.96 6356
+-119.558 35.96 6397
+-119.432 35.96 6514
+-119.306 35.96 6667
+-119.18 35.96 6691
+-119.054 35.96 6796
+-118.928 35.96 6921
+-118.802 35.96 7025
+-118.676 35.96 7100
+-118.55 35.96 7189
+-118.424 35.96 7261
+-118.298 35.96 7294
+-118.172 35.96 7377
+-118.046 35.96 7429
+-117.92 35.96 7465
+-117.794 35.96 7510
+-117.668 35.96 7538
+-117.542 35.96 7550
+-117.416 35.96 7574
+-117.29 35.96 7579
+-117.164 35.96 7588
+-117.038 35.96 7534
+-116.912 35.96 7533
+-116.786 35.96 7466
+-116.66 35.96 7441
+-116.534 35.96 7384
+-116.408 35.96 7317
+-116.282 35.96 7235
+-116.156 35.96 7170
+-116.03 35.96 7135
+-115.904 35.96 7030
+-115.778 35.96 6954
+-115.652 35.96 6839
+-115.526 35.96 6754
+-115.4 35.96 6665
+-115.274 35.96 6574
+-115.148 35.96 6480
+-115.022 35.96 6360
+-114.896 35.96 6262
+-114.77 35.96 6137
+-114.644 35.96 6002
+-114.518 35.96 5994
+-114.392 35.96 5831
+-114.266 35.96 5610
+-114.14 35.96 5483
+-114.014 35.96 5388
+-113.888 35.96 5285
+-113.762 35.96 5186
+-113.636 35.96 5073
+-113.51 35.96 4952
+-113.384 35.96 4752
+-113.258 35.96 4704
+-113.132 35.96 4533
+-113.006 35.96 4373
+-112.88 35.96 4378
+-112.754 35.96 4359
+-112.628 35.96 4300
+-112.502 35.96 4199
+-112.376 35.96 4327
+-112.25 35.96 4352
+-112.124 35.96 4422
+-111.998 35.96 4460
+-111.872 35.96 4520
+-111.746 35.96 4556
+-111.62 35.96 4585
+-111.494 35.96 4607
+-111.368 35.96 4655
+-111.242 35.96 4692
+-111.116 35.96 4721
+-110.99 35.96 4744
+-110.864 35.96 4730
+-110.738 35.96 4726
+-110.612 35.96 4749
+-110.486 35.96 4773
+-110.36 35.96 4780
+-110.234 35.96 4784
+-110.108 35.96 4762
+-109.982 35.96 4739
+-109.856 35.96 4724
+-109.73 35.96 4685
+-109.604 35.96 4632
+-109.478 35.96 4606
+-109.352 35.96 4583
+-109.226 35.96 4577
+-109.1 35.96 4548
+-108.974 35.96 4523
+-108.848 35.96 4499
+-108.722 35.96 4440
+-108.596 35.96 4368
+-108.47 35.96 4289
+-108.344 35.96 4249
+-108.218 35.96 4189
+-108.092 35.96 4123
+-107.966 35.96 4109
+-107.84 35.96 4023
+-107.714 35.96 3952
+-107.588 35.96 3922
+-107.462 35.96 3847
+-107.336 35.96 3747
+-107.21 35.96 3689
+-107.084 35.96 3645
+-106.958 35.96 3560
+-106.832 35.96 3471
+-106.706 35.96 3377
+-106.58 35.96 3271
+-106.454 35.96 3149
+-106.328 35.96 3011
+-106.202 35.96 2944
+-106.076 35.96 2980
+-105.95 35.96 3034
+-105.824 35.96 3043
+-105.698 35.96 3055
+-105.572 35.96 3067
+-105.446 35.96 3086
+-105.32 35.96 3090
+-105.194 35.96 3080
+-105.068 35.96 3093
+-104.942 35.96 3104
+-104.816 35.96 3116
+-104.69 35.96 3126
+-104.564 35.96 3136
+-104.438 35.96 3145
+-104.312 35.96 3171
+-104.186 35.96 3193
+-104.06 35.96 3201
+-103.934 35.96 3216
+-103.808 35.96 3213
+-103.682 35.96 3222
+-103.556 35.96 3231
+-103.43 35.96 3240
+-103.304 35.96 3247
+-103.178 35.96 3255
+-103.052 35.96 3262
+-102.926 35.96 3268
+-102.8 35.96 3275
+-102.674 35.96 3280
+-102.548 35.96 3307
+-102.422 35.96 3310
+-102.296 35.96 3305
+-102.17 35.96 3311
+-102.044 35.96 3317
+-101.918 35.96 3204
+-101.792 35.96 3116
+-101.666 35.96 3108
+-101.54 35.96 3085
+-101.414 35.96 3028
+-101.288 35.96 2945
+-101.162 35.96 2876
+-101.036 35.96 2849
+-100.91 35.96 2860
+-100.784 35.96 2914
+-100.658 35.96 2922
+-100.532 35.96 3026
+-100.406 35.96 3084
+-100.28 35.96 3106
+-100.154 35.96 3097
+-100.028 35.96 3086
+-99.902 35.96 3086
+-99.776 35.96 3049
+-99.65 35.96 3037
+-99.524 35.96 3077
+-99.398 35.96 3064
+-99.272 35.96 3051
+-99.146 35.96 3035
+-99.02 35.96 3019
+-98.894 35.96 3001
+-98.768 35.96 2981
+-98.642 35.96 2959
+-98.516 35.96 2934
+-98.39 35.96 2955
+-98.264 35.96 2965
+-98.138 35.96 2931
+-98.012 35.96 2893
+-97.886 35.96 2872
+-97.76 35.96 2825
+-97.634 35.96 2776
+-97.508 35.96 2741
+-97.382 35.96 2710
+-97.256 35.96 2678
+-97.13 35.96 2668
+-97.004 35.96 2685
+-96.878 35.96 2749
+-96.752 35.96 2813
+-96.626 35.96 2886
+-96.5 35.96 2943
+-96.374 35.96 2969
+-96.248 35.96 2988
+-96.122 35.96 3028
+-95.996 35.96 3114
+-95.87 35.96 3219
+-95.744 35.96 3309
+-95.618 35.96 3451
+-95.492 35.96 3561
+-95.366 35.96 3652
+-95.24 35.96 3759
+-95.114 35.96 3840
+-94.988 35.96 3875
+-94.862 35.96 3905
+-94.736 35.96 3980
+-94.61 35.96 4098
+-94.484 35.96 4236
+-94.358 35.96 4399
+-94.232 35.96 4466
+-94.106 35.96 4511
+-93.98 35.96 4620
+-93.854 35.96 4690
+-93.728 35.96 4809
+-93.602 35.96 4923
+-93.476 35.96 5023
+-93.35 35.96 5117
+-93.224 35.96 5210
+-93.098 35.96 5299
+-92.972 35.96 5388
+-92.846 35.96 5439
+-92.72 35.96 5523
+-92.594 35.96 5609
+-92.468 35.96 5720
+-92.342 35.96 5760
+-92.216 35.96 5811
+-92.09 35.96 5870
+-91.964 35.96 5956
+-91.838 35.96 6055
+-91.712 35.96 6072
+-91.586 35.96 6164
+-91.46 35.96 6215
+-91.334 35.96 6228
+-91.208 35.96 6294
+-91.082 35.96 6643
+-90.956 35.96 6695
+-90.83 35.96 6797
+-90.704 35.96 6965
+-90.578 35.96 7055
+-90.452 35.96 7128
+-90.326 35.96 7238
+-90.2 35.96 7298
+-90.074 35.96 7384
+-89.948 35.96 7498
+-89.822 35.96 7543
+-89.696 35.96 7621
+-89.57 35.96 7721
+-89.444 35.96 7761
+-89.318 35.96 7795
+-89.192 35.96 7807
+-89.066 35.96 7871
+-88.94 35.96 7859
+-88.814 35.96 7892
+-88.688 35.96 7866
+-88.562 35.96 7830
+-88.436 35.96 7816
+-88.31 35.96 7795
+-88.184 35.96 7720
+-88.058 35.96 7684
+-87.932 35.96 7607
+-87.806 35.96 7532
+-87.68 35.96 7474
+-87.554 35.96 7380
+-87.428 35.96 7319
+-87.302 35.96 7217
+-87.176 35.96 7129
+-87.05 35.96 6993
+-86.924 35.96 6897
+-86.798 35.96 6797
+-86.672 35.96 6718
+-86.546 35.96 6621
+-86.42 35.96 6491
+-86.294 35.96 6377
+-86.168 35.96 6209
+-86.042 35.96 6152
+-85.916 35.96 6064
+-85.79 35.96 5915
+-85.664 35.96 5861
+-85.538 35.96 5751
+-85.412 35.96 5527
+-85.286 35.96 5346
+-85.16 35.96 5379
+-85.034 35.96 5268
+-84.908 35.96 5178
+-84.782 35.96 5070
+-84.656 35.96 4929
+-84.53 35.96 4765
+-84.404 35.96 4606
+-84.278 35.96 4425
+-84.152 35.96 4223
+-84.026 35.96 4047
+-83.9 35.96 3847
+-83.774 35.96 3763
+-83.648 35.96 3680
+-83.522 35.96 3706
+-83.396 35.96 3604
+-83.27 35.96 3471
+-83.144 35.96 3406
+-83.018 35.96 3393
+-82.892 35.96 3386
+-82.766 35.96 3363
+-82.64 35.96 3273
+-82.514 35.96 3153
+-82.388 35.96 2965
+-82.262 35.96 2696
+-82.136 35.96 2363
+-82.01 35.96 2062
+-81.884 35.96 1936
+-81.758 35.96 2013
+-81.632 35.96 2194
+-81.506 35.96 2382
+-81.38 35.96 2480
+-81.254 35.96 2597
+-81.128 35.96 2689
+-81.002 35.96 2712
+-80.876 35.96 2765
+-80.75 35.96 2794
+-80.624 35.96 2829
+-80.498 35.96 2858
+-80.372 35.96 2881
+-80.246 35.96 2898
+-80.12 35.96 2915
+-79.994 35.96 2929
+-79.868 35.96 2940
+-79.742 35.96 2950
+-79.616 35.96 2957
+-79.49 35.96 2964
+-79.364 35.96 2969
+-79.238 35.96 2973
+-79.112 35.96 2969
+-78.986 35.96 2972
+-78.86 35.96 2847
+-78.734 35.96 2807
+-78.608 35.96 2817
+-78.482 35.96 2819
+-78.356 35.96 2717
+-78.23 35.96 2720
+-78.104 35.96 2692
+-77.978 35.96 2694
+-77.852 35.96 2696
+-77.726 35.96 2708
+-77.6 35.96 2717
+-77.474 35.96 2612
+-77.348 35.96 2595
+-77.222 35.96 2605
+-77.096 35.96 2623
+-76.97 35.96 2603
+-76.844 35.96 2607
+-76.718 35.96 2579
+-76.592 35.96 2584
+-76.466 35.96 2588
+-76.34 35.96 2594
+-76.214 35.96 2607
+-76.088 35.96 2623
+-75.962 35.96 2629
+-75.836 35.96 2676
+-75.71 35.96 2694
+-75.584 35.96 2700
+-75.458 35.96 2758
+-75.332 35.96 2783
+-75.206 35.96 2772
+-75.08 35.96 2770
+-74.954 35.96 2905
+-74.828 35.96 2911
+-74.702 35.96 2965
+-74.576 35.96 2972
+-74.45 35.96 2978
+-74.324 35.96 2984
+-74.198 35.96 2991
+-74.072 35.96 2929
+-73.946 35.96 2951
+-73.82 35.96 2956
+-73.694 35.96 2953
+-73.568 35.96 3231
+-73.442 35.96 3260
+-73.316 35.96 3264
+-73.19 35.96 3264
+-73.064 35.96 3268
+-72.938 35.96 3275
+-72.812 35.96 3291
+-72.686 35.96 3295
+-72.56 35.96 3288
+-72.434 35.96 3291
+-72.308 35.96 3250
+-72.182 35.96 3253
+-72.056 35.96 3256
+-71.93 35.96 3317
+-71.804 35.96 3315
+-71.678 35.96 3326
+-71.552 35.96 3329
+-71.426 35.96 3312
+-71.3 35.96 3334
+-71.174 35.96 3379
+-71.048 35.96 3391
+-70.922 35.96 3392
+-70.796 35.96 3393
+-70.67 35.96 3443
+-70.544 35.96 3447
+-70.418 35.96 3390
+-70.292 35.96 3413
+-70.166 35.96 3409
+-70.04 35.96 3334
+-69.914 35.96 3249
+-69.788 35.96 3272
+-69.662 35.96 3274
+-69.536 35.96 3306
+-69.41 35.96 3282
+-69.284 35.96 3294
+-69.158 35.96 3296
+-69.032 35.96 3277
+-68.906 35.96 3279
+-68.78 35.96 3282
+-68.654 35.96 3259
+-68.528 35.96 3242
+-68.402 35.96 3277
+-68.276 35.96 3272
+-68.15 35.96 3274
+-68.024 35.96 3276
+-67.898 35.96 3197
+-67.772 35.96 3238
+-67.646 35.96 3234
+-67.52 35.96 3236
+-67.394 35.96 3238
+-67.268 35.96 3470
+-67.142 35.96 3395
+-67.016 35.96 3405
+-66.89 35.96 3407
+-66.764 35.96 3301
+-66.638 35.96 3288
+-66.512 35.96 3289
+-66.386 35.96 3289
+-66.26 35.96 3267
+-66.134 35.96 3268
+-66.008 35.96 3268
+-65.882 35.96 3269
+-65.756 35.96 3270
+-65.63 35.96 3296
+-65.504 35.96 3297
+-65.378 35.96 3281
+-65.252 35.96 3282
+-65.126 35.96 3283
+-128 35.908 3027
+-127.874 35.908 3016
+-127.748 35.908 3005
+-127.622 35.908 2992
+-127.496 35.908 2979
+-127.37 35.908 2965
+-127.244 35.908 2949
+-127.118 35.908 2933
+-126.992 35.908 2915
+-126.866 35.908 2895
+-126.74 35.908 2873
+-126.614 35.908 2849
+-126.488 35.908 2823
+-126.362 35.908 2793
+-126.236 35.908 2760
+-126.11 35.908 2760
+-125.984 35.908 2717
+-125.858 35.908 2669
+-125.732 35.908 2612
+-125.606 35.908 2545
+-125.48 35.908 2466
+-125.354 35.908 2371
+-125.228 35.908 2259
+-125.102 35.908 2128
+-124.976 35.908 1979
+-124.85 35.908 1843
+-124.724 35.908 1719
+-124.598 35.908 1685
+-124.472 35.908 1786
+-124.346 35.908 1992
+-124.22 35.908 2201
+-124.094 35.908 2339
+-123.968 35.908 2443
+-123.842 35.908 2573
+-123.716 35.908 2747
+-123.59 35.908 2984
+-123.464 35.908 3215
+-123.338 35.908 3396
+-123.212 35.908 3534
+-123.086 35.908 3659
+-122.96 35.908 3709
+-122.834 35.908 3794
+-122.708 35.908 3807
+-122.582 35.908 3842
+-122.456 35.908 3943
+-122.33 35.908 4020
+-122.204 35.908 4132
+-122.078 35.908 4249
+-121.952 35.908 4381
+-121.826 35.908 4492
+-121.7 35.908 4653
+-121.574 35.908 4803
+-121.448 35.908 4876
+-121.322 35.908 4962
+-121.196 35.908 5103
+-121.07 35.908 5155
+-120.944 35.908 5107
+-120.818 35.908 5237
+-120.692 35.908 5413
+-120.566 35.908 5577
+-120.44 35.908 5686
+-120.314 35.908 5828
+-120.188 35.908 5860
+-120.062 35.908 6019
+-119.936 35.908 6167
+-119.81 35.908 6269
+-119.684 35.908 6397
+-119.558 35.908 6443
+-119.432 35.908 6571
+-119.306 35.908 6630
+-119.18 35.908 6728
+-119.054 35.908 6822
+-118.928 35.908 6954
+-118.802 35.908 7053
+-118.676 35.908 7102
+-118.55 35.908 7190
+-118.424 35.908 7299
+-118.298 35.908 7340
+-118.172 35.908 7422
+-118.046 35.908 7483
+-117.92 35.908 7522
+-117.794 35.908 7553
+-117.668 35.908 7580
+-117.542 35.908 7625
+-117.416 35.908 7641
+-117.29 35.908 7618
+-117.164 35.908 7642
+-117.038 35.908 7608
+-116.912 35.908 7565
+-116.786 35.908 7533
+-116.66 35.908 7500
+-116.534 35.908 7442
+-116.408 35.908 7365
+-116.282 35.908 7326
+-116.156 35.908 7225
+-116.03 35.908 7202
+-115.904 35.908 7090
+-115.778 35.908 7001
+-115.652 35.908 6879
+-115.526 35.908 6811
+-115.4 35.908 6670
+-115.274 35.908 6579
+-115.148 35.908 6517
+-115.022 35.908 6385
+-114.896 35.908 6271
+-114.77 35.908 6182
+-114.644 35.908 6112
+-114.518 35.908 5997
+-114.392 35.908 5883
+-114.266 35.908 5634
+-114.14 35.908 5535
+-114.014 35.908 5467
+-113.888 35.908 5319
+-113.762 35.908 5237
+-113.636 35.908 5141
+-113.51 35.908 4963
+-113.384 35.908 4795
+-113.258 35.908 4739
+-113.132 35.908 4557
+-113.006 35.908 4405
+-112.88 35.908 4284
+-112.754 35.908 4354
+-112.628 35.908 4336
+-112.502 35.908 4321
+-112.376 35.908 4363
+-112.25 35.908 4386
+-112.124 35.908 4451
+-111.998 35.908 4509
+-111.872 35.908 4557
+-111.746 35.908 4591
+-111.62 35.908 4628
+-111.494 35.908 4639
+-111.368 35.908 4698
+-111.242 35.908 4735
+-111.116 35.908 4736
+-110.99 35.908 4744
+-110.864 35.908 4751
+-110.738 35.908 4762
+-110.612 35.908 4794
+-110.486 35.908 4829
+-110.36 35.908 4821
+-110.234 35.908 4823
+-110.108 35.908 4824
+-109.982 35.908 4815
+-109.856 35.908 4780
+-109.73 35.908 4748
+-109.604 35.908 4703
+-109.478 35.908 4640
+-109.352 35.908 4617
+-109.226 35.908 4621
+-109.1 35.908 4593
+-108.974 35.908 4569
+-108.848 35.908 4550
+-108.722 35.908 4514
+-108.596 35.908 4457
+-108.47 35.908 4375
+-108.344 35.908 4309
+-108.218 35.908 4245
+-108.092 35.908 4166
+-107.966 35.908 4144
+-107.84 35.908 4051
+-107.714 35.908 3965
+-107.588 35.908 3942
+-107.462 35.908 3888
+-107.336 35.908 3757
+-107.21 35.908 3682
+-107.084 35.908 3675
+-106.958 35.908 3598
+-106.832 35.908 3506
+-106.706 35.908 3402
+-106.58 35.908 3292
+-106.454 35.908 3186
+-106.328 35.908 3102
+-106.202 35.908 3052
+-106.076 35.908 3047
+-105.95 35.908 3053
+-105.824 35.908 3061
+-105.698 35.908 3072
+-105.572 35.908 3094
+-105.446 35.908 3105
+-105.32 35.908 3090
+-105.194 35.908 3107
+-105.068 35.908 3124
+-104.942 35.908 3139
+-104.816 35.908 3154
+-104.69 35.908 3164
+-104.564 35.908 3177
+-104.438 35.908 3174
+-104.312 35.908 3196
+-104.186 35.908 3205
+-104.06 35.908 3220
+-103.934 35.908 3218
+-103.808 35.908 3228
+-103.682 35.908 3237
+-103.556 35.908 3245
+-103.43 35.908 3253
+-103.304 35.908 3260
+-103.178 35.908 3267
+-103.052 35.908 3274
+-102.926 35.908 3280
+-102.8 35.908 3286
+-102.674 35.908 3312
+-102.548 35.908 3315
+-102.422 35.908 3310
+-102.296 35.908 3316
+-102.17 35.908 3322
+-102.044 35.908 3327
+-101.918 35.908 3214
+-101.792 35.908 3126
+-101.666 35.908 3154
+-101.54 35.908 3145
+-101.414 35.908 3037
+-101.288 35.908 2940
+-101.162 35.908 2881
+-101.036 35.908 2913
+-100.91 35.908 2876
+-100.784 35.908 2931
+-100.658 35.908 2937
+-100.532 35.908 2989
+-100.406 35.908 3109
+-100.28 35.908 3100
+-100.154 35.908 3089
+-100.028 35.908 3090
+-99.902 35.908 3053
+-99.776 35.908 3042
+-99.65 35.908 3083
+-99.524 35.908 3070
+-99.398 35.908 3057
+-99.272 35.908 3042
+-99.146 35.908 3026
+-99.02 35.908 3009
+-98.894 35.908 2989
+-98.768 35.908 2967
+-98.642 35.908 2943
+-98.516 35.908 2965
+-98.39 35.908 2975
+-98.264 35.908 2940
+-98.138 35.908 2900
+-98.012 35.908 2875
+-97.886 35.908 2821
+-97.76 35.908 2762
+-97.634 35.908 2707
+-97.508 35.908 2649
+-97.382 35.908 2578
+-97.256 35.908 2519
+-97.13 35.908 2488
+-97.004 35.908 2522
+-96.878 35.908 2586
+-96.752 35.908 2690
+-96.626 35.908 2787
+-96.5 35.908 2854
+-96.374 35.908 2863
+-96.248 35.908 2845
+-96.122 35.908 2858
+-95.996 35.908 2958
+-95.87 35.908 3112
+-95.744 35.908 3260
+-95.618 35.908 3361
+-95.492 35.908 3442
+-95.366 35.908 3531
+-95.24 35.908 3677
+-95.114 35.908 3785
+-94.988 35.908 3862
+-94.862 35.908 3946
+-94.736 35.908 4011
+-94.61 35.908 4114
+-94.484 35.908 4213
+-94.358 35.908 4333
+-94.232 35.908 4396
+-94.106 35.908 4475
+-93.98 35.908 4600
+-93.854 35.908 4650
+-93.728 35.908 4769
+-93.602 35.908 4823
+-93.476 35.908 4949
+-93.35 35.908 5078
+-93.224 35.908 5170
+-93.098 35.908 5237
+-92.972 35.908 5330
+-92.846 35.908 5416
+-92.72 35.908 5464
+-92.594 35.908 5564
+-92.468 35.908 5673
+-92.342 35.908 5686
+-92.216 35.908 5780
+-92.09 35.908 5823
+-91.964 35.908 5896
+-91.838 35.908 5978
+-91.712 35.908 6043
+-91.586 35.908 6112
+-91.46 35.908 6159
+-91.334 35.908 6189
+-91.208 35.908 6395
+-91.082 35.908 6598
+-90.956 35.908 6680
+-90.83 35.908 6816
+-90.704 35.908 6925
+-90.578 35.908 7028
+-90.452 35.908 7059
+-90.326 35.908 7187
+-90.2 35.908 7244
+-90.074 35.908 7363
+-89.948 35.908 7469
+-89.822 35.908 7538
+-89.696 35.908 7565
+-89.57 35.908 7637
+-89.444 35.908 7699
+-89.318 35.908 7743
+-89.192 35.908 7766
+-89.066 35.908 7787
+-88.94 35.908 7826
+-88.814 35.908 7795
+-88.688 35.908 7811
+-88.562 35.908 7793
+-88.436 35.908 7773
+-88.31 35.908 7739
+-88.184 35.908 7669
+-88.058 35.908 7601
+-87.932 35.908 7571
+-87.806 35.908 7511
+-87.68 35.908 7427
+-87.554 35.908 7321
+-87.428 35.908 7230
+-87.302 35.908 7180
+-87.176 35.908 7077
+-87.05 35.908 6987
+-86.924 35.908 6853
+-86.798 35.908 6757
+-86.672 35.908 6687
+-86.546 35.908 6568
+-86.42 35.908 6504
+-86.294 35.908 6366
+-86.168 35.908 6235
+-86.042 35.908 6143
+-85.916 35.908 6005
+-85.79 35.908 5876
+-85.664 35.908 5784
+-85.538 35.908 5702
+-85.412 35.908 5540
+-85.286 35.908 5436
+-85.16 35.908 5372
+-85.034 35.908 5291
+-84.908 35.908 5196
+-84.782 35.908 5077
+-84.656 35.908 4885
+-84.53 35.908 4698
+-84.404 35.908 4579
+-84.278 35.908 4398
+-84.152 35.908 4178
+-84.026 35.908 4036
+-83.9 35.908 3877
+-83.774 35.908 3792
+-83.648 35.908 3740
+-83.522 35.908 3692
+-83.396 35.908 3529
+-83.27 35.908 3393
+-83.144 35.908 3400
+-83.018 35.908 3410
+-82.892 35.908 3399
+-82.766 35.908 3351
+-82.64 35.908 3274
+-82.514 35.908 3110
+-82.388 35.908 2913
+-82.262 35.908 2630
+-82.136 35.908 2274
+-82.01 35.908 1948
+-81.884 35.908 1819
+-81.758 35.908 1921
+-81.632 35.908 2130
+-81.506 35.908 2335
+-81.38 35.908 2502
+-81.254 35.908 2530
+-81.128 35.908 2617
+-81.002 35.908 2684
+-80.876 35.908 2729
+-80.75 35.908 2772
+-80.624 35.908 2804
+-80.498 35.908 2834
+-80.372 35.908 2859
+-80.246 35.908 2880
+-80.12 35.908 2897
+-79.994 35.908 2909
+-79.868 35.908 2920
+-79.742 35.908 2930
+-79.616 35.908 2938
+-79.49 35.908 2945
+-79.364 35.908 2950
+-79.238 35.908 2912
+-79.112 35.908 2915
+-78.986 35.908 2821
+-78.86 35.908 2824
+-78.734 35.908 2803
+-78.608 35.908 2764
+-78.482 35.908 2773
+-78.356 35.908 2739
+-78.23 35.908 2662
+-78.104 35.908 2664
+-77.978 35.908 2666
+-77.852 35.908 2683
+-77.726 35.908 2698
+-77.6 35.908 2595
+-77.474 35.908 2609
+-77.348 35.908 2589
+-77.222 35.908 2581
+-77.096 35.908 2585
+-76.97 35.908 2589
+-76.844 35.908 2567
+-76.718 35.908 2572
+-76.592 35.908 2576
+-76.466 35.908 2582
+-76.34 35.908 2596
+-76.214 35.908 2613
+-76.088 35.908 2637
+-75.962 35.908 2667
+-75.836 35.908 2686
+-75.71 35.908 2692
+-75.584 35.908 2750
+-75.458 35.908 2776
+-75.332 35.908 2766
+-75.206 35.908 2764
+-75.08 35.908 2898
+-74.954 35.908 2905
+-74.828 35.908 2958
+-74.702 35.908 2965
+-74.576 35.908 2972
+-74.45 35.908 2979
+-74.324 35.908 2985
+-74.198 35.908 2925
+-74.072 35.908 2947
+-73.946 35.908 2952
+-73.82 35.908 2949
+-73.694 35.908 3226
+-73.568 35.908 3254
+-73.442 35.908 3259
+-73.316 35.908 3259
+-73.19 35.908 3263
+-73.064 35.908 3270
+-72.938 35.908 3286
+-72.812 35.908 3290
+-72.686 35.908 3283
+-72.56 35.908 3287
+-72.434 35.908 3246
+-72.308 35.908 3250
+-72.182 35.908 3253
+-72.056 35.908 3314
+-71.93 35.908 3312
+-71.804 35.908 3322
+-71.678 35.908 3326
+-71.552 35.908 3309
+-71.426 35.908 3331
+-71.3 35.908 3376
+-71.174 35.908 3388
+-71.048 35.908 3389
+-70.922 35.908 3390
+-70.796 35.908 3440
+-70.67 35.908 3444
+-70.544 35.908 3388
+-70.418 35.908 3411
+-70.292 35.908 3406
+-70.166 35.908 3328
+-70.04 35.908 3247
+-69.914 35.908 3270
+-69.788 35.908 3272
+-69.662 35.908 3304
+-69.536 35.908 3280
+-69.41 35.908 3292
+-69.284 35.908 3294
+-69.158 35.908 3276
+-69.032 35.908 3278
+-68.906 35.908 3280
+-68.78 35.908 3258
+-68.654 35.908 3241
+-68.528 35.908 3275
+-68.402 35.908 3270
+-68.276 35.908 3273
+-68.15 35.908 3275
+-68.024 35.908 3196
+-67.898 35.908 3237
+-67.772 35.908 3233
+-67.646 35.908 3235
+-67.52 35.908 3237
+-67.394 35.908 3469
+-67.268 35.908 3390
+-67.142 35.908 3404
+-67.016 35.908 3405
+-66.89 35.908 3300
+-66.764 35.908 3287
+-66.638 35.908 3288
+-66.512 35.908 3289
+-66.386 35.908 3266
+-66.26 35.908 3267
+-66.134 35.908 3268
+-66.008 35.908 3268
+-65.882 35.908 3269
+-65.756 35.908 3295
+-65.63 35.908 3296
+-65.504 35.908 3280
+-65.378 35.908 3281
+-65.252 35.908 3282
+-65.126 35.908 3220
+-128 35.856 3030
+-127.874 35.856 3019
+-127.748 35.856 3008
+-127.622 35.856 2996
+-127.496 35.856 2983
+-127.37 35.856 2969
+-127.244 35.856 2954
+-127.118 35.856 2937
+-126.992 35.856 2920
+-126.866 35.856 2900
+-126.74 35.856 2879
+-126.614 35.856 2856
+-126.488 35.856 2831
+-126.362 35.856 2803
+-126.236 35.856 2771
+-126.11 35.856 2736
+-125.984 35.856 2732
+-125.858 35.856 2687
+-125.732 35.856 2635
+-125.606 35.856 2576
+-125.48 35.856 2506
+-125.354 35.856 2426
+-125.228 35.856 2334
+-125.102 35.856 2231
+-124.976 35.856 2122
+-124.85 35.856 2021
+-124.724 35.856 1970
+-124.598 35.856 1966
+-124.472 35.856 2052
+-124.346 35.856 2167
+-124.22 35.856 2261
+-124.094 35.856 2288
+-123.968 35.856 2314
+-123.842 35.856 2421
+-123.716 35.856 2624
+-123.59 35.856 2868
+-123.464 35.856 3139
+-123.338 35.856 3360
+-123.212 35.856 3519
+-123.086 35.856 3627
+-122.96 35.856 3724
+-122.834 35.856 3813
+-122.708 35.856 3834
+-122.582 35.856 3851
+-122.456 35.856 3913
+-122.33 35.856 3985
+-122.204 35.856 4102
+-122.078 35.856 4223
+-121.952 35.856 4351
+-121.826 35.856 4476
+-121.7 35.856 4630
+-121.574 35.856 4852
+-121.448 35.856 4979
+-121.322 35.856 5076
+-121.196 35.856 5132
+-121.07 35.856 5187
+-120.944 35.856 5237
+-120.818 35.856 5335
+-120.692 35.856 5447
+-120.566 35.856 5569
+-120.44 35.856 5742
+-120.314 35.856 5851
+-120.188 35.856 5922
+-120.062 35.856 6027
+-119.936 35.856 6142
+-119.81 35.856 6287
+-119.684 35.856 6422
+-119.558 35.856 6434
+-119.432 35.856 6577
+-119.306 35.856 6667
+-119.18 35.856 6779
+-119.054 35.856 6868
+-118.928 35.856 6965
+-118.802 35.856 7075
+-118.676 35.856 7153
+-118.55 35.856 7225
+-118.424 35.856 7300
+-118.298 35.856 7384
+-118.172 35.856 7477
+-118.046 35.856 7534
+-117.92 35.856 7581
+-117.794 35.856 7616
+-117.668 35.856 7646
+-117.542 35.856 7677
+-117.416 35.856 7682
+-117.29 35.856 7686
+-117.164 35.856 7681
+-117.038 35.856 7668
+-116.912 35.856 7641
+-116.786 35.856 7620
+-116.66 35.856 7543
+-116.534 35.856 7490
+-116.408 35.856 7455
+-116.282 35.856 7355
+-116.156 35.856 7285
+-116.03 35.856 7198
+-115.904 35.856 7116
+-115.778 35.856 7028
+-115.652 35.856 6924
+-115.526 35.856 6833
+-115.4 35.856 6754
+-115.274 35.856 6606
+-115.148 35.856 6487
+-115.022 35.856 6384
+-114.896 35.856 6306
+-114.77 35.856 6224
+-114.644 35.856 6147
+-114.518 35.856 6006
+-114.392 35.856 5894
+-114.266 35.856 5705
+-114.14 35.856 5557
+-114.014 35.856 5450
+-113.888 35.856 5339
+-113.762 35.856 5259
+-113.636 35.856 5188
+-113.51 35.856 4993
+-113.384 35.856 4837
+-113.258 35.856 4739
+-113.132 35.856 4594
+-113.006 35.856 4444
+-112.88 35.856 4381
+-112.754 35.856 4358
+-112.628 35.856 4357
+-112.502 35.856 4339
+-112.376 35.856 4394
+-112.25 35.856 4438
+-112.124 35.856 4501
+-111.998 35.856 4532
+-111.872 35.856 4595
+-111.746 35.856 4628
+-111.62 35.856 4644
+-111.494 35.856 4678
+-111.368 35.856 4719
+-111.242 35.856 4742
+-111.116 35.856 4755
+-110.99 35.856 4778
+-110.864 35.856 4802
+-110.738 35.856 4823
+-110.612 35.856 4852
+-110.486 35.856 4877
+-110.36 35.856 4894
+-110.234 35.856 4903
+-110.108 35.856 4896
+-109.982 35.856 4886
+-109.856 35.856 4845
+-109.73 35.856 4809
+-109.604 35.856 4778
+-109.478 35.856 4730
+-109.352 35.856 4671
+-109.226 35.856 4649
+-109.1 35.856 4647
+-108.974 35.856 4631
+-108.848 35.856 4621
+-108.722 35.856 4584
+-108.596 35.856 4543
+-108.47 35.856 4482
+-108.344 35.856 4414
+-108.218 35.856 4337
+-108.092 35.856 4243
+-107.966 35.856 4183
+-107.84 35.856 4127
+-107.714 35.856 4013
+-107.588 35.856 3967
+-107.462 35.856 3915
+-107.336 35.856 3817
+-107.21 35.856 3728
+-107.084 35.856 3692
+-106.958 35.856 3631
+-106.832 35.856 3527
+-106.706 35.856 3420
+-106.58 35.856 3305
+-106.454 35.856 3194
+-106.328 35.856 3107
+-106.202 35.856 3068
+-106.076 35.856 3065
+-105.95 35.856 3060
+-105.824 35.856 3057
+-105.698 35.856 3051
+-105.572 35.856 3069
+-105.446 35.856 3093
+-105.32 35.856 3118
+-105.194 35.856 3104
+-105.068 35.856 3130
+-104.942 35.856 3148
+-104.816 35.856 3162
+-104.69 35.856 3176
+-104.564 35.856 3175
+-104.438 35.856 3199
+-104.312 35.856 3209
+-104.186 35.856 3224
+-104.06 35.856 3223
+-103.934 35.856 3233
+-103.808 35.856 3243
+-103.682 35.856 3251
+-103.556 35.856 3259
+-103.43 35.856 3267
+-103.304 35.856 3274
+-103.178 35.856 3280
+-103.052 35.856 3286
+-102.926 35.856 3292
+-102.8 35.856 3317
+-102.674 35.856 3321
+-102.548 35.856 3316
+-102.422 35.856 3322
+-102.296 35.856 3327
+-102.17 35.856 3332
+-102.044 35.856 3337
+-101.918 35.856 3224
+-101.792 35.856 3136
+-101.666 35.856 3165
+-101.54 35.856 3142
+-101.414 35.856 3062
+-101.288 35.856 2947
+-101.162 35.856 2886
+-101.036 35.856 2919
+-100.91 35.856 2878
+-100.784 35.856 2937
+-100.658 35.856 2940
+-100.532 35.856 2985
+-100.406 35.856 3103
+-100.28 35.856 3093
+-100.154 35.856 3095
+-100.028 35.856 3058
+-99.902 35.856 3047
+-99.776 35.856 3089
+-99.65 35.856 3077
+-99.524 35.856 3064
+-99.398 35.856 3050
+-99.272 35.856 3035
+-99.146 35.856 3018
+-99.02 35.856 2999
+-98.894 35.856 2979
+-98.768 35.856 2955
+-98.642 35.856 2979
+-98.516 35.856 2991
+-98.39 35.856 2956
+-98.264 35.856 2917
+-98.138 35.856 2892
+-98.012 35.856 2837
+-97.886 35.856 2780
+-97.76 35.856 2711
+-97.634 35.856 2637
+-97.508 35.856 2537
+-97.382 35.856 2431
+-97.256 35.856 2332
+-97.13 35.856 2284
+-97.004 35.856 2285
+-96.878 35.856 2377
+-96.752 35.856 2533
+-96.626 35.856 2687
+-96.5 35.856 2774
+-96.374 35.856 2773
+-96.248 35.856 2697
+-96.122 35.856 2651
+-95.996 35.856 2774
+-95.87 35.856 3030
+-95.744 35.856 3206
+-95.618 35.856 3251
+-95.492 35.856 3276
+-95.366 35.856 3392
+-95.24 35.856 3578
+-95.114 35.856 3716
+-94.988 35.856 3816
+-94.862 35.856 3926
+-94.736 35.856 3999
+-94.61 35.856 4104
+-94.484 35.856 4176
+-94.358 35.856 4261
+-94.232 35.856 4335
+-94.106 35.856 4393
+-93.98 35.856 4512
+-93.854 35.856 4623
+-93.728 35.856 4754
+-93.602 35.856 4826
+-93.476 35.856 4852
+-93.35 35.856 5026
+-93.224 35.856 5111
+-93.098 35.856 5189
+-92.972 35.856 5258
+-92.846 35.856 5349
+-92.72 35.856 5440
+-92.594 35.856 5513
+-92.468 35.856 5604
+-92.342 35.856 5703
+-92.216 35.856 5749
+-92.09 35.856 5799
+-91.964 35.856 5879
+-91.838 35.856 5984
+-91.712 35.856 5989
+-91.586 35.856 6055
+-91.46 35.856 6112
+-91.334 35.856 6231
+-91.208 35.856 6408
+-91.082 35.856 6528
+-90.956 35.856 6636
+-90.83 35.856 6760
+-90.704 35.856 6885
+-90.578 35.856 6993
+-90.452 35.856 7073
+-90.326 35.856 7118
+-90.2 35.856 7240
+-90.074 35.856 7334
+-89.948 35.856 7426
+-89.822 35.856 7463
+-89.696 35.856 7565
+-89.57 35.856 7617
+-89.444 35.856 7674
+-89.318 35.856 7692
+-89.192 35.856 7705
+-89.066 35.856 7744
+-88.94 35.856 7748
+-88.814 35.856 7755
+-88.688 35.856 7763
+-88.562 35.856 7708
+-88.436 35.856 7700
+-88.31 35.856 7666
+-88.184 35.856 7646
+-88.058 35.856 7586
+-87.932 35.856 7553
+-87.806 35.856 7420
+-87.68 35.856 7381
+-87.554 35.856 7292
+-87.428 35.856 7196
+-87.302 35.856 7117
+-87.176 35.856 7047
+-87.05 35.856 6965
+-86.924 35.856 6862
+-86.798 35.856 6774
+-86.672 35.856 6655
+-86.546 35.856 6580
+-86.42 35.856 6448
+-86.294 35.856 6329
+-86.168 35.856 6245
+-86.042 35.856 6088
+-85.916 35.856 5907
+-85.79 35.856 5786
+-85.664 35.856 5690
+-85.538 35.856 5645
+-85.412 35.856 5518
+-85.286 35.856 5435
+-85.16 35.856 5341
+-85.034 35.856 5235
+-84.908 35.856 5131
+-84.782 35.856 5031
+-84.656 35.856 4858
+-84.53 35.856 4636
+-84.404 35.856 4482
+-84.278 35.856 4315
+-84.152 35.856 4153
+-84.026 35.856 4052
+-83.9 35.856 3939
+-83.774 35.856 3855
+-83.648 35.856 3785
+-83.522 35.856 3671
+-83.396 35.856 3440
+-83.27 35.856 3291
+-83.144 35.856 3361
+-83.018 35.856 3400
+-82.892 35.856 3383
+-82.766 35.856 3325
+-82.64 35.856 3242
+-82.514 35.856 3116
+-82.388 35.856 2908
+-82.262 35.856 2652
+-82.136 35.856 2338
+-82.01 35.856 2052
+-81.884 35.856 1932
+-81.758 35.856 2007
+-81.632 35.856 2179
+-81.506 35.856 2356
+-81.38 35.856 2503
+-81.254 35.856 2576
+-81.128 35.856 2601
+-81.002 35.856 2665
+-80.876 35.856 2718
+-80.75 35.856 2752
+-80.624 35.856 2788
+-80.498 35.856 2812
+-80.372 35.856 2838
+-80.246 35.856 2859
+-80.12 35.856 2877
+-79.994 35.856 2889
+-79.868 35.856 2875
+-79.742 35.856 2884
+-79.616 35.856 2891
+-79.49 35.856 2897
+-79.364 35.856 2901
+-79.238 35.856 2905
+-79.112 35.856 2795
+-78.986 35.856 2799
+-78.86 35.856 2779
+-78.734 35.856 2769
+-78.608 35.856 2772
+-78.482 35.856 2718
+-78.356 35.856 2719
+-78.23 35.856 2643
+-78.104 35.856 2645
+-77.978 35.856 2655
+-77.852 35.856 2676
+-77.726 35.856 2576
+-77.6 35.856 2591
+-77.474 35.856 2573
+-77.348 35.856 2558
+-77.222 35.856 2571
+-77.096 35.856 2575
+-76.97 35.856 2553
+-76.844 35.856 2559
+-76.718 35.856 2564
+-76.592 35.856 2570
+-76.466 35.856 2584
+-76.34 35.856 2601
+-76.214 35.856 2627
+-76.088 35.856 2658
+-75.962 35.856 2677
+-75.836 35.856 2683
+-75.71 35.856 2742
+-75.584 35.856 2768
+-75.458 35.856 2759
+-75.332 35.856 2758
+-75.206 35.856 2891
+-75.08 35.856 2898
+-74.954 35.856 2951
+-74.828 35.856 2959
+-74.702 35.856 2966
+-74.576 35.856 2973
+-74.45 35.856 2979
+-74.324 35.856 2920
+-74.198 35.856 2942
+-74.072 35.856 2948
+-73.946 35.856 2945
+-73.82 35.856 3220
+-73.694 35.856 3248
+-73.568 35.856 3253
+-73.442 35.856 3254
+-73.316 35.856 3258
+-73.19 35.856 3265
+-73.064 35.856 3281
+-72.938 35.856 3285
+-72.812 35.856 3279
+-72.686 35.856 3283
+-72.56 35.856 3243
+-72.434 35.856 3246
+-72.308 35.856 3249
+-72.182 35.856 3310
+-72.056 35.856 3308
+-71.93 35.856 3319
+-71.804 35.856 3322
+-71.678 35.856 3306
+-71.552 35.856 3328
+-71.426 35.856 3373
+-71.3 35.856 3385
+-71.174 35.856 3386
+-71.048 35.856 3387
+-70.922 35.856 3437
+-70.796 35.856 3441
+-70.67 35.856 3385
+-70.544 35.856 3408
+-70.418 35.856 3404
+-70.292 35.856 3329
+-70.166 35.856 3245
+-70.04 35.856 3268
+-69.914 35.856 3270
+-69.788 35.856 3302
+-69.662 35.856 3278
+-69.536 35.856 3290
+-69.41 35.856 3292
+-69.284 35.856 3274
+-69.158 35.856 3276
+-69.032 35.856 3279
+-68.906 35.856 3256
+-68.78 35.856 3239
+-68.654 35.856 3274
+-68.528 35.856 3269
+-68.402 35.856 3271
+-68.276 35.856 3274
+-68.15 35.856 3195
+-68.024 35.856 3235
+-67.898 35.856 3232
+-67.772 35.856 3234
+-67.646 35.856 3236
+-67.52 35.856 3467
+-67.394 35.856 3393
+-67.268 35.856 3403
+-67.142 35.856 3404
+-67.016 35.856 3300
+-66.89 35.856 3286
+-66.764 35.856 3287
+-66.638 35.856 3288
+-66.512 35.856 3266
+-66.386 35.856 3266
+-66.26 35.856 3267
+-66.134 35.856 3268
+-66.008 35.856 3268
+-65.882 35.856 3294
+-65.756 35.856 3295
+-65.63 35.856 3279
+-65.504 35.856 3280
+-65.378 35.856 3281
+-65.252 35.856 3219
+-65.126 35.856 3407
+-128 35.804 3033
+-127.874 35.804 3023
+-127.748 35.804 3012
+-127.622 35.804 3000
+-127.496 35.804 2987
+-127.37 35.804 2973
+-127.244 35.804 2959
+-127.118 35.804 2943
+-126.992 35.804 2926
+-126.866 35.804 2907
+-126.74 35.804 2887
+-126.614 35.804 2865
+-126.488 35.804 2841
+-126.362 35.804 2814
+-126.236 35.804 2784
+-126.11 35.804 2752
+-125.984 35.804 2715
+-125.858 35.804 2709
+-125.732 35.804 2664
+-125.606 35.804 2612
+-125.48 35.804 2554
+-125.354 35.804 2488
+-125.228 35.804 2416
+-125.102 35.804 2340
+-124.976 35.804 2265
+-124.85 35.804 2202
+-124.724 35.804 2186
+-124.598 35.804 2204
+-124.472 35.804 2240
+-124.346 35.804 2275
+-124.22 35.804 2260
+-124.094 35.804 2193
+-123.968 35.804 2149
+-123.842 35.804 2252
+-123.716 35.804 2501
+-123.59 35.804 2802
+-123.464 35.804 3070
+-123.338 35.804 3325
+-123.212 35.804 3504
+-123.086 35.804 3609
+-122.96 35.804 3758
+-122.834 35.804 3827
+-122.708 35.804 3820
+-122.582 35.804 3781
+-122.456 35.804 3777
+-122.33 35.804 3886
+-122.204 35.804 4058
+-122.078 35.804 4202
+-121.952 35.804 4314
+-121.826 35.804 4427
+-121.7 35.804 4636
+-121.574 35.804 4857
+-121.448 35.804 5030
+-121.322 35.804 5115
+-121.196 35.804 5140
+-121.07 35.804 5173
+-120.944 35.804 5285
+-120.818 35.804 5383
+-120.692 35.804 5498
+-120.566 35.804 5634
+-120.44 35.804 5772
+-120.314 35.804 5858
+-120.188 35.804 5906
+-120.062 35.804 6028
+-119.936 35.804 6152
+-119.81 35.804 6299
+-119.684 35.804 6404
+-119.558 35.804 6526
+-119.432 35.804 6625
+-119.306 35.804 6713
+-119.18 35.804 6773
+-119.054 35.804 6930
+-118.928 35.804 7043
+-118.802 35.804 7098
+-118.676 35.804 7240
+-118.55 35.804 7286
+-118.424 35.804 7334
+-118.298 35.804 7458
+-118.172 35.804 7535
+-118.046 35.804 7578
+-117.92 35.804 7616
+-117.794 35.804 7663
+-117.668 35.804 7705
+-117.542 35.804 7714
+-117.416 35.804 7734
+-117.29 35.804 7730
+-117.164 35.804 7757
+-117.038 35.804 7714
+-116.912 35.804 7662
+-116.786 35.804 7656
+-116.66 35.804 7596
+-116.534 35.804 7593
+-116.408 35.804 7465
+-116.282 35.804 7424
+-116.156 35.804 7361
+-116.03 35.804 7264
+-115.904 35.804 7211
+-115.778 35.804 7063
+-115.652 35.804 6966
+-115.526 35.804 6844
+-115.4 35.804 6773
+-115.274 35.804 6676
+-115.148 35.804 6506
+-115.022 35.804 6397
+-114.896 35.804 6294
+-114.77 35.804 6250
+-114.644 35.804 6150
+-114.518 35.804 5975
+-114.392 35.804 5885
+-114.266 35.804 5738
+-114.14 35.804 5588
+-114.014 35.804 5442
+-113.888 35.804 5342
+-113.762 35.804 5289
+-113.636 35.804 5179
+-113.51 35.804 4970
+-113.384 35.804 4875
+-113.258 35.804 4769
+-113.132 35.804 4630
+-113.006 35.804 4479
+-112.88 35.804 4381
+-112.754 35.804 4286
+-112.628 35.804 4375
+-112.502 35.804 4396
+-112.376 35.804 4443
+-112.25 35.804 4495
+-112.124 35.804 4548
+-111.998 35.804 4594
+-111.872 35.804 4669
+-111.746 35.804 4682
+-111.62 35.804 4708
+-111.494 35.804 4728
+-111.368 35.804 4757
+-111.242 35.804 4792
+-111.116 35.804 4816
+-110.99 35.804 4846
+-110.864 35.804 4866
+-110.738 35.804 4893
+-110.612 35.804 4922
+-110.486 35.804 4935
+-110.36 35.804 4933
+-110.234 35.804 4916
+-110.108 35.804 4941
+-109.982 35.804 4943
+-109.856 35.804 4927
+-109.73 35.804 4893
+-109.604 35.804 4847
+-109.478 35.804 4804
+-109.352 35.804 4751
+-109.226 35.804 4718
+-109.1 35.804 4705
+-108.974 35.804 4705
+-108.848 35.804 4678
+-108.722 35.804 4651
+-108.596 35.804 4614
+-108.47 35.804 4573
+-108.344 35.804 4466
+-108.218 35.804 4422
+-108.092 35.804 4335
+-107.966 35.804 4283
+-107.84 35.804 4201
+-107.714 35.804 4132
+-107.588 35.804 4042
+-107.462 35.804 3980
+-107.336 35.804 3901
+-107.21 35.804 3815
+-107.084 35.804 3741
+-106.958 35.804 3655
+-106.832 35.804 3564
+-106.706 35.804 3448
+-106.58 35.804 3325
+-106.454 35.804 3199
+-106.328 35.804 3090
+-106.202 35.804 3042
+-106.076 35.804 3050
+-105.95 35.804 3028
+-105.824 35.804 3011
+-105.698 35.804 3022
+-105.572 35.804 3056
+-105.446 35.804 3076
+-105.32 35.804 3110
+-105.194 35.804 3139
+-105.068 35.804 3175
+-104.942 35.804 3201
+-104.816 35.804 3173
+-104.69 35.804 3175
+-104.564 35.804 3201
+-104.438 35.804 3212
+-104.312 35.804 3229
+-104.186 35.804 3229
+-104.06 35.804 3239
+-103.934 35.804 3249
+-103.808 35.804 3258
+-103.682 35.804 3266
+-103.556 35.804 3274
+-103.43 35.804 3281
+-103.304 35.804 3287
+-103.178 35.804 3293
+-103.052 35.804 3299
+-102.926 35.804 3324
+-102.8 35.804 3327
+-102.674 35.804 3322
+-102.548 35.804 3328
+-102.422 35.804 3333
+-102.296 35.804 3338
+-102.17 35.804 3343
+-102.044 35.804 3346
+-101.918 35.804 3234
+-101.792 35.804 3243
+-101.666 35.804 3162
+-101.54 35.804 3153
+-101.414 35.804 3072
+-101.288 35.804 2955
+-101.162 35.804 2912
+-101.036 35.804 2924
+-100.91 35.804 2893
+-100.784 35.804 2938
+-100.658 35.804 2938
+-100.532 35.804 2982
+-100.406 35.804 3098
+-100.28 35.804 3100
+-100.154 35.804 3063
+-100.028 35.804 3053
+-99.902 35.804 3096
+-99.776 35.804 3084
+-99.65 35.804 3072
+-99.524 35.804 3059
+-99.398 35.804 3045
+-99.272 35.804 3029
+-99.146 35.804 3011
+-99.02 35.804 2991
+-98.894 35.804 2970
+-98.768 35.804 2996
+-98.642 35.804 3010
+-98.516 35.804 2977
+-98.39 35.804 2940
+-98.264 35.804 2918
+-98.138 35.804 2866
+-98.012 35.804 2812
+-97.886 35.804 2744
+-97.76 35.804 2668
+-97.634 35.804 2561
+-97.508 35.804 2433
+-97.382 35.804 2288
+-97.256 35.804 2156
+-97.13 35.804 2034
+-97.004 35.804 2004
+-96.878 35.804 2120
+-96.752 35.804 2348
+-96.626 35.804 2577
+-96.5 35.804 2720
+-96.374 35.804 2728
+-96.248 35.804 2627
+-96.122 35.804 2542
+-95.996 35.804 2682
+-95.87 35.804 2982
+-95.744 35.804 3186
+-95.618 35.804 3226
+-95.492 35.804 3169
+-95.366 35.804 3302
+-95.24 35.804 3522
+-95.114 35.804 3662
+-94.988 35.804 3771
+-94.862 35.804 3878
+-94.736 35.804 3997
+-94.61 35.804 4064
+-94.484 35.804 4104
+-94.358 35.804 4191
+-94.232 35.804 4278
+-94.106 35.804 4338
+-93.98 35.804 4424
+-93.854 35.804 4569
+-93.728 35.804 4726
+-93.602 35.804 4773
+-93.476 35.804 4865
+-93.35 35.804 4989
+-93.224 35.804 5084
+-93.098 35.804 5150
+-92.972 35.804 5234
+-92.846 35.804 5261
+-92.72 35.804 5381
+-92.594 35.804 5498
+-92.468 35.804 5557
+-92.342 35.804 5634
+-92.216 35.804 5716
+-92.09 35.804 5745
+-91.964 35.804 5826
+-91.838 35.804 5887
+-91.712 35.804 5928
+-91.586 35.804 6000
+-91.46 35.804 6091
+-91.334 35.804 6257
+-91.208 35.804 6404
+-91.082 35.804 6528
+-90.956 35.804 6655
+-90.83 35.804 6701
+-90.704 35.804 6846
+-90.578 35.804 6918
+-90.452 35.804 7045
+-90.326 35.804 7086
+-90.2 35.804 7209
+-90.074 35.804 7265
+-89.948 35.804 7375
+-89.822 35.804 7465
+-89.696 35.804 7474
+-89.57 35.804 7552
+-89.444 35.804 7566
+-89.318 35.804 7630
+-89.192 35.804 7654
+-89.066 35.804 7686
+-88.94 35.804 7695
+-88.814 35.804 7707
+-88.688 35.804 7718
+-88.562 35.804 7659
+-88.436 35.804 7637
+-88.31 35.804 7648
+-88.184 35.804 7559
+-88.058 35.804 7504
+-87.932 35.804 7485
+-87.806 35.804 7388
+-87.68 35.804 7373
+-87.554 35.804 7286
+-87.428 35.804 7174
+-87.302 35.804 7056
+-87.176 35.804 6982
+-87.05 35.804 6937
+-86.924 35.804 6831
+-86.798 35.804 6715
+-86.672 35.804 6560
+-86.546 35.804 6503
+-86.42 35.804 6353
+-86.294 35.804 6272
+-86.168 35.804 6139
+-86.042 35.804 6000
+-85.916 35.804 5912
+-85.79 35.804 5801
+-85.664 35.804 5703
+-85.538 35.804 5586
+-85.412 35.804 5411
+-85.286 35.804 5400
+-85.16 35.804 5246
+-85.034 35.804 5134
+-84.908 35.804 5076
+-84.782 35.804 4944
+-84.656 35.804 4786
+-84.53 35.804 4554
+-84.404 35.804 4441
+-84.278 35.804 4281
+-84.152 35.804 4103
+-84.026 35.804 3998
+-83.9 35.804 3968
+-83.774 35.804 3914
+-83.648 35.804 3826
+-83.522 35.804 3698
+-83.396 35.804 3489
+-83.27 35.804 3381
+-83.144 35.804 3393
+-83.018 35.804 3404
+-82.892 35.804 3369
+-82.766 35.804 3307
+-82.64 35.804 3215
+-82.514 35.804 3101
+-82.388 35.804 2943
+-82.262 35.804 2717
+-82.136 35.804 2482
+-82.01 35.804 2274
+-81.884 35.804 2172
+-81.758 35.804 2197
+-81.632 35.804 2299
+-81.506 35.804 2418
+-81.38 35.804 2529
+-81.254 35.804 2580
+-81.128 35.804 2654
+-81.002 35.804 2652
+-80.876 35.804 2702
+-80.75 35.804 2744
+-80.624 35.804 2771
+-80.498 35.804 2800
+-80.372 35.804 2818
+-80.246 35.804 2840
+-80.12 35.804 2858
+-79.994 35.804 2846
+-79.868 35.804 2857
+-79.742 35.804 2865
+-79.616 35.804 2872
+-79.49 35.804 2877
+-79.364 35.804 2882
+-79.238 35.804 2885
+-79.112 35.804 2772
+-78.986 35.804 2754
+-78.86 35.804 2745
+-78.734 35.804 2747
+-78.608 35.804 2694
+-78.482 35.804 2696
+-78.356 35.804 2697
+-78.23 35.804 2713
+-78.104 35.804 2633
+-77.978 35.804 2654
+-77.852 35.804 2556
+-77.726 35.804 2573
+-77.6 35.804 2555
+-77.474 35.804 2543
+-77.348 35.804 2555
+-77.222 35.804 2560
+-77.096 35.804 2539
+-76.97 35.804 2545
+-76.844 35.804 2550
+-76.718 35.804 2556
+-76.592 35.804 2572
+-76.466 35.804 2589
+-76.34 35.804 2616
+-76.214 35.804 2648
+-76.088 35.804 2667
+-75.962 35.804 2675
+-75.836 35.804 2734
+-75.71 35.804 2760
+-75.584 35.804 2751
+-75.458 35.804 2751
+-75.332 35.804 2883
+-75.206 35.804 2891
+-75.08 35.804 2944
+-74.954 35.804 2952
+-74.828 35.804 2959
+-74.702 35.804 2966
+-74.576 35.804 2973
+-74.45 35.804 2915
+-74.324 35.804 2937
+-74.198 35.804 2943
+-74.072 35.804 2941
+-73.946 35.804 3214
+-73.82 35.804 3242
+-73.694 35.804 3247
+-73.568 35.804 3248
+-73.442 35.804 3253
+-73.316 35.804 3260
+-73.19 35.804 3276
+-73.064 35.804 3281
+-72.938 35.804 3275
+-72.812 35.804 3279
+-72.686 35.804 3239
+-72.56 35.804 3242
+-72.434 35.804 3246
+-72.308 35.804 3306
+-72.182 35.804 3304
+-72.056 35.804 3315
+-71.93 35.804 3319
+-71.804 35.804 3303
+-71.678 35.804 3325
+-71.552 35.804 3370
+-71.426 35.804 3382
+-71.3 35.804 3383
+-71.174 35.804 3384
+-71.048 35.804 3434
+-70.922 35.804 3438
+-70.796 35.804 3382
+-70.67 35.804 3405
+-70.544 35.804 3401
+-70.418 35.804 3324
+-70.292 35.804 3244
+-70.166 35.804 3266
+-70.04 35.804 3268
+-69.914 35.804 3300
+-69.788 35.804 3276
+-69.662 35.804 3288
+-69.536 35.804 3291
+-69.41 35.804 3272
+-69.284 35.804 3275
+-69.158 35.804 3277
+-69.032 35.804 3255
+-68.906 35.804 3238
+-68.78 35.804 3272
+-68.654 35.804 3268
+-68.528 35.804 3270
+-68.402 35.804 3272
+-68.276 35.804 3194
+-68.15 35.804 3234
+-68.024 35.804 3231
+-67.898 35.804 3233
+-67.772 35.804 3235
+-67.646 35.804 3466
+-67.52 35.804 3388
+-67.394 35.804 3402
+-67.268 35.804 3403
+-67.142 35.804 3299
+-67.016 35.804 3285
+-66.89 35.804 3286
+-66.764 35.804 3287
+-66.638 35.804 3265
+-66.512 35.804 3266
+-66.386 35.804 3266
+-66.26 35.804 3267
+-66.134 35.804 3268
+-66.008 35.804 3293
+-65.882 35.804 3294
+-65.756 35.804 3279
+-65.63 35.804 3280
+-65.504 35.804 3281
+-65.378 35.804 3219
+-65.252 35.804 3406
+-65.126 35.804 3363
+-128 35.752 2929
+-127.874 35.752 3027
+-127.748 35.752 3016
+-127.622 35.752 3004
+-127.496 35.752 2992
+-127.37 35.752 2979
+-127.244 35.752 2964
+-127.118 35.752 2949
+-126.992 35.752 2932
+-126.866 35.752 2915
+-126.74 35.752 2895
+-126.614 35.752 2874
+-126.488 35.752 2852
+-126.362 35.752 2827
+-126.236 35.752 2799
+-126.11 35.752 2769
+-125.984 35.752 2736
+-125.858 35.752 2700
+-125.732 35.752 2694
+-125.606 35.752 2650
+-125.48 35.752 2602
+-125.354 35.752 2551
+-125.228 35.752 2496
+-125.102 35.752 2441
+-124.976 35.752 2391
+-124.85 35.752 2370
+-124.724 35.752 2345
+-124.598 35.752 2364
+-124.472 35.752 2364
+-124.346 35.752 2343
+-124.22 35.752 2265
+-124.094 35.752 2138
+-123.968 35.752 2062
+-123.842 35.752 2171
+-123.716 35.752 2454
+-123.59 35.752 2781
+-123.464 35.752 3083
+-123.338 35.752 3304
+-123.212 35.752 3480
+-123.086 35.752 3641
+-122.96 35.752 3745
+-122.834 35.752 3823
+-122.708 35.752 3800
+-122.582 35.752 3740
+-122.456 35.752 3659
+-122.33 35.752 3812
+-122.204 35.752 4048
+-122.078 35.752 4209
+-121.952 35.752 4282
+-121.826 35.752 4367
+-121.7 35.752 4602
+-121.574 35.752 4869
+-121.448 35.752 5104
+-121.322 35.752 5149
+-121.196 35.752 5151
+-121.07 35.752 5037
+-120.944 35.752 5273
+-120.818 35.752 5404
+-120.692 35.752 5507
+-120.566 35.752 5662
+-120.44 35.752 5727
+-120.314 35.752 5837
+-120.188 35.752 5959
+-120.062 35.752 6056
+-119.936 35.752 6153
+-119.81 35.752 6313
+-119.684 35.752 6384
+-119.558 35.752 6559
+-119.432 35.752 6652
+-119.306 35.752 6719
+-119.18 35.752 6841
+-119.054 35.752 6979
+-118.928 35.752 7058
+-118.802 35.752 7141
+-118.676 35.752 7239
+-118.55 35.752 7353
+-118.424 35.752 7424
+-118.298 35.752 7534
+-118.172 35.752 7569
+-118.046 35.752 7634
+-117.92 35.752 7650
+-117.794 35.752 7708
+-117.668 35.752 7775
+-117.542 35.752 7772
+-117.416 35.752 7815
+-117.29 35.752 7791
+-117.164 35.752 7799
+-117.038 35.752 7764
+-116.912 35.752 7754
+-116.786 35.752 7670
+-116.66 35.752 7642
+-116.534 35.752 7617
+-116.408 35.752 7534
+-116.282 35.752 7445
+-116.156 35.752 7390
+-116.03 35.752 7293
+-115.904 35.752 7181
+-115.778 35.752 7111
+-115.652 35.752 7018
+-115.526 35.752 6939
+-115.4 35.752 6835
+-115.274 35.752 6723
+-115.148 35.752 6549
+-115.022 35.752 6472
+-114.896 35.752 6346
+-114.77 35.752 6255
+-114.644 35.752 6128
+-114.518 35.752 6006
+-114.392 35.752 5909
+-114.266 35.752 5710
+-114.14 35.752 5641
+-114.014 35.752 5500
+-113.888 35.752 5417
+-113.762 35.752 5312
+-113.636 35.752 5175
+-113.51 35.752 5013
+-113.384 35.752 4843
+-113.258 35.752 4782
+-113.132 35.752 4658
+-113.006 35.752 4547
+-112.88 35.752 4455
+-112.754 35.752 4402
+-112.628 35.752 4418
+-112.502 35.752 4453
+-112.376 35.752 4509
+-112.25 35.752 4564
+-112.124 35.752 4602
+-111.998 35.752 4636
+-111.872 35.752 4663
+-111.746 35.752 4710
+-111.62 35.752 4792
+-111.494 35.752 4789
+-111.368 35.752 4839
+-111.242 35.752 4883
+-111.116 35.752 4916
+-110.99 35.752 4931
+-110.864 35.752 4956
+-110.738 35.752 4984
+-110.612 35.752 4997
+-110.486 35.752 5003
+-110.36 35.752 4989
+-110.234 35.752 4983
+-110.108 35.752 4993
+-109.982 35.752 5007
+-109.856 35.752 5005
+-109.73 35.752 4966
+-109.604 35.752 4904
+-109.478 35.752 4863
+-109.352 35.752 4833
+-109.226 35.752 4794
+-109.1 35.752 4752
+-108.974 35.752 4711
+-108.848 35.752 4716
+-108.722 35.752 4692
+-108.596 35.752 4657
+-108.47 35.752 4613
+-108.344 35.752 4560
+-108.218 35.752 4486
+-108.092 35.752 4424
+-107.966 35.752 4348
+-107.84 35.752 4258
+-107.714 35.752 4176
+-107.588 35.752 4130
+-107.462 35.752 4060
+-107.336 35.752 3992
+-107.21 35.752 3899
+-107.084 35.752 3807
+-106.958 35.752 3738
+-106.832 35.752 3641
+-106.706 35.752 3487
+-106.58 35.752 3358
+-106.454 35.752 3221
+-106.328 35.752 3120
+-106.202 35.752 3068
+-106.076 35.752 3029
+-105.95 35.752 2976
+-105.824 35.752 2933
+-105.698 35.752 2961
+-105.572 35.752 3023
+-105.446 35.752 3081
+-105.32 35.752 3105
+-105.194 35.752 3150
+-105.068 35.752 3183
+-104.942 35.752 3211
+-104.816 35.752 3220
+-104.69 35.752 3254
+-104.564 35.752 3215
+-104.438 35.752 3233
+-104.312 35.752 3235
+-104.186 35.752 3246
+-104.06 35.752 3256
+-103.934 35.752 3266
+-103.808 35.752 3274
+-103.682 35.752 3282
+-103.556 35.752 3289
+-103.43 35.752 3295
+-103.304 35.752 3301
+-103.178 35.752 3307
+-103.052 35.752 3331
+-102.926 35.752 3334
+-102.8 35.752 3329
+-102.674 35.752 3335
+-102.548 35.752 3340
+-102.422 35.752 3345
+-102.296 35.752 3350
+-102.17 35.752 3352
+-102.044 35.752 3343
+-101.918 35.752 3379
+-101.792 35.752 3254
+-101.666 35.752 3173
+-101.54 35.752 3164
+-101.414 35.752 3082
+-101.288 35.752 2963
+-101.162 35.752 2919
+-101.036 35.752 2931
+-100.91 35.752 2897
+-100.784 35.752 2957
+-100.658 35.752 2937
+-100.532 35.752 2979
+-100.406 35.752 3105
+-100.28 35.752 3068
+-100.154 35.752 3058
+-100.028 35.752 3102
+-99.902 35.752 3092
+-99.776 35.752 3081
+-99.65 35.752 3068
+-99.524 35.752 3055
+-99.398 35.752 3040
+-99.272 35.752 3023
+-99.146 35.752 3005
+-99.02 35.752 2985
+-98.894 35.752 3014
+-98.768 35.752 3030
+-98.642 35.752 3001
+-98.516 35.752 2967
+-98.39 35.752 2950
+-98.264 35.752 2903
+-98.138 35.752 2847
+-98.012 35.752 2793
+-97.886 35.752 2727
+-97.76 35.752 2627
+-97.634 35.752 2504
+-97.508 35.752 2354
+-97.382 35.752 2197
+-97.256 35.752 1998
+-97.13 35.752 1819
+-97.004 35.752 1746
+-96.878 35.752 1870
+-96.752 35.752 2167
+-96.626 35.752 2474
+-96.5 35.752 2674
+-96.374 35.752 2741
+-96.248 35.752 2686
+-96.122 35.752 2652
+-95.996 35.752 2779
+-95.87 35.752 3024
+-95.744 35.752 3224
+-95.618 35.752 3268
+-95.492 35.752 3272
+-95.366 35.752 3379
+-95.24 35.752 3531
+-95.114 35.752 3619
+-94.988 35.752 3690
+-94.862 35.752 3813
+-94.736 35.752 3933
+-94.61 35.752 4031
+-94.484 35.752 4029
+-94.358 35.752 4139
+-94.232 35.752 4189
+-94.106 35.752 4335
+-93.98 35.752 4388
+-93.854 35.752 4539
+-93.728 35.752 4689
+-93.602 35.752 4713
+-93.476 35.752 4820
+-93.35 35.752 4967
+-93.224 35.752 4991
+-93.098 35.752 5093
+-92.972 35.752 5198
+-92.846 35.752 5255
+-92.72 35.752 5338
+-92.594 35.752 5456
+-92.468 35.752 5515
+-92.342 35.752 5592
+-92.216 35.752 5646
+-92.09 35.752 5712
+-91.964 35.752 5794
+-91.838 35.752 5848
+-91.712 35.752 5896
+-91.586 35.752 5938
+-91.46 35.752 6024
+-91.334 35.752 6227
+-91.208 35.752 6333
+-91.082 35.752 6477
+-90.956 35.752 6596
+-90.83 35.752 6631
+-90.704 35.752 6772
+-90.578 35.752 6918
+-90.452 35.752 7009
+-90.326 35.752 7046
+-90.2 35.752 7144
+-90.074 35.752 7201
+-89.948 35.752 7284
+-89.822 35.752 7381
+-89.696 35.752 7461
+-89.57 35.752 7493
+-89.444 35.752 7538
+-89.318 35.752 7565
+-89.192 35.752 7612
+-89.066 35.752 7632
+-88.94 35.752 7630
+-88.814 35.752 7629
+-88.688 35.752 7600
+-88.562 35.752 7603
+-88.436 35.752 7607
+-88.31 35.752 7561
+-88.184 35.752 7506
+-88.058 35.752 7465
+-87.932 35.752 7415
+-87.806 35.752 7327
+-87.68 35.752 7237
+-87.554 35.752 7221
+-87.428 35.752 7116
+-87.302 35.752 7058
+-87.176 35.752 6987
+-87.05 35.752 6837
+-86.924 35.752 6797
+-86.798 35.752 6687
+-86.672 35.752 6574
+-86.546 35.752 6455
+-86.42 35.752 6338
+-86.294 35.752 6213
+-86.168 35.752 6057
+-86.042 35.752 5989
+-85.916 35.752 5870
+-85.79 35.752 5789
+-85.664 35.752 5679
+-85.538 35.752 5589
+-85.412 35.752 5501
+-85.286 35.752 5351
+-85.16 35.752 5195
+-85.034 35.752 4976
+-84.908 35.752 4977
+-84.782 35.752 4917
+-84.656 35.752 4742
+-84.53 35.752 4535
+-84.404 35.752 4420
+-84.278 35.752 4291
+-84.152 35.752 4066
+-84.026 35.752 3941
+-83.9 35.752 3968
+-83.774 35.752 3941
+-83.648 35.752 3870
+-83.522 35.752 3754
+-83.396 35.752 3569
+-83.27 35.752 3484
+-83.144 35.752 3439
+-83.018 35.752 3390
+-82.892 35.752 3335
+-82.766 35.752 3266
+-82.64 35.752 3189
+-82.514 35.752 3082
+-82.388 35.752 2954
+-82.262 35.752 2794
+-82.136 35.752 2607
+-82.01 35.752 2462
+-81.884 35.752 2379
+-81.758 35.752 2368
+-81.632 35.752 2411
+-81.506 35.752 2480
+-81.38 35.752 2517
+-81.254 35.752 2585
+-81.128 35.752 2648
+-81.002 35.752 2643
+-80.876 35.752 2688
+-80.75 35.752 2729
+-80.624 35.752 2764
+-80.498 35.752 2785
+-80.372 35.752 2810
+-80.246 35.752 2822
+-80.12 35.752 2814
+-79.994 35.752 2828
+-79.868 35.752 2838
+-79.742 35.752 2846
+-79.616 35.752 2853
+-79.49 35.752 2857
+-79.364 35.752 2861
+-79.238 35.752 2864
+-79.112 35.752 2866
+-78.986 35.752 2730
+-78.86 35.752 2721
+-78.734 35.752 2671
+-78.608 35.752 2672
+-78.482 35.752 2673
+-78.356 35.752 2689
+-78.23 35.752 2703
+-78.104 35.752 2631
+-77.978 35.752 2654
+-77.852 35.752 2552
+-77.726 35.752 2550
+-77.6 35.752 2527
+-77.474 35.752 2538
+-77.348 35.752 2544
+-77.222 35.752 2523
+-77.096 35.752 2529
+-76.97 35.752 2536
+-76.844 35.752 2542
+-76.718 35.752 2558
+-76.592 35.752 2588
+-76.466 35.752 2627
+-76.34 35.752 2637
+-76.214 35.752 2657
+-76.088 35.752 2665
+-75.962 35.752 2724
+-75.836 35.752 2751
+-75.71 35.752 2743
+-75.584 35.752 2743
+-75.458 35.752 2875
+-75.332 35.752 2883
+-75.206 35.752 2936
+-75.08 35.752 2944
+-74.954 35.752 2952
+-74.828 35.752 2959
+-74.702 35.752 2967
+-74.576 35.752 2910
+-74.45 35.752 2932
+-74.324 35.752 2939
+-74.198 35.752 2937
+-74.072 35.752 3208
+-73.946 35.752 3236
+-73.82 35.752 3241
+-73.694 35.752 3242
+-73.568 35.752 3247
+-73.442 35.752 3255
+-73.316 35.752 3271
+-73.19 35.752 3276
+-73.064 35.752 3270
+-72.938 35.752 3274
+-72.812 35.752 3235
+-72.686 35.752 3238
+-72.56 35.752 3242
+-72.434 35.752 3302
+-72.308 35.752 3301
+-72.182 35.752 3312
+-72.056 35.752 3315
+-71.93 35.752 3300
+-71.804 35.752 3322
+-71.678 35.752 3366
+-71.552 35.752 3378
+-71.426 35.752 3380
+-71.3 35.752 3381
+-71.174 35.752 3431
+-71.048 35.752 3434
+-70.922 35.752 3380
+-70.796 35.752 3402
+-70.67 35.752 3399
+-70.544 35.752 3325
+-70.418 35.752 3242
+-70.292 35.752 3264
+-70.166 35.752 3266
+-70.04 35.752 3298
+-69.914 35.752 3274
+-69.788 35.752 3286
+-69.662 35.752 3289
+-69.536 35.752 3271
+-69.41 35.752 3273
+-69.284 35.752 3275
+-69.158 35.752 3253
+-69.032 35.752 3237
+-68.906 35.752 3271
+-68.78 35.752 3266
+-68.654 35.752 3269
+-68.528 35.752 3271
+-68.402 35.752 3193
+-68.276 35.752 3233
+-68.15 35.752 3230
+-68.024 35.752 3232
+-67.898 35.752 3234
+-67.772 35.752 3465
+-67.646 35.752 3391
+-67.52 35.752 3401
+-67.394 35.752 3402
+-67.268 35.752 3298
+-67.142 35.752 3285
+-67.016 35.752 3285
+-66.89 35.752 3286
+-66.764 35.752 3264
+-66.638 35.752 3265
+-66.512 35.752 3266
+-66.386 35.752 3266
+-66.26 35.752 3267
+-66.134 35.752 3292
+-66.008 35.752 3293
+-65.882 35.752 3278
+-65.756 35.752 3279
+-65.63 35.752 3280
+-65.504 35.752 3218
+-65.378 35.752 3405
+-65.252 35.752 3363
+-65.126 35.752 3363
+-128 35.7 2932
+-127.874 35.7 2923
+-127.748 35.7 3021
+-127.622 35.7 3009
+-127.496 35.7 2997
+-127.37 35.7 2984
+-127.244 35.7 2971
+-127.118 35.7 2956
+-126.992 35.7 2940
+-126.866 35.7 2923
+-126.74 35.7 2905
+-126.614 35.7 2885
+-126.488 35.7 2864
+-126.362 35.7 2841
+-126.236 35.7 2815
+-126.11 35.7 2788
+-125.984 35.7 2759
+-125.858 35.7 2727
+-125.732 35.7 2692
+-125.606 35.7 2688
+-125.48 35.7 2650
+-125.354 35.7 2609
+-125.228 35.7 2568
+-125.102 35.7 2529
+-124.976 35.7 2518
+-124.85 35.7 2489
+-124.724 35.7 2469
+-124.598 35.7 2456
+-124.472 35.7 2461
+-124.346 35.7 2417
+-124.22 35.7 2330
+-124.094 35.7 2214
+-123.968 35.7 2158
+-123.842 35.7 2270
+-123.716 35.7 2540
+-123.59 35.7 2850
+-123.464 35.7 3112
+-123.338 35.7 3329
+-123.212 35.7 3483
+-123.086 35.7 3600
+-122.96 35.7 3755
+-122.834 35.7 3793
+-122.708 35.7 3791
+-122.582 35.7 3770
+-122.456 35.7 3773
+-122.33 35.7 3869
+-122.204 35.7 4042
+-122.078 35.7 4220
+-121.952 35.7 4264
+-121.826 35.7 4366
+-121.7 35.7 4593
+-121.574 35.7 4925
+-121.448 35.7 5104
+-121.322 35.7 5169
+-121.196 35.7 5206
+-121.07 35.7 5227
+-120.944 35.7 5322
+-120.818 35.7 5355
+-120.692 35.7 5544
+-120.566 35.7 5678
+-120.44 35.7 5790
+-120.314 35.7 5908
+-120.188 35.7 5983
+-120.062 35.7 6157
+-119.936 35.7 6163
+-119.81 35.7 6318
+-119.684 35.7 6486
+-119.558 35.7 6608
+-119.432 35.7 6704
+-119.306 35.7 6779
+-119.18 35.7 6905
+-119.054 35.7 6989
+-118.928 35.7 7083
+-118.802 35.7 7208
+-118.676 35.7 7300
+-118.55 35.7 7417
+-118.424 35.7 7490
+-118.298 35.7 7577
+-118.172 35.7 7630
+-118.046 35.7 7699
+-117.92 35.7 7727
+-117.794 35.7 7807
+-117.668 35.7 7820
+-117.542 35.7 7827
+-117.416 35.7 7852
+-117.29 35.7 7861
+-117.164 35.7 7861
+-117.038 35.7 7825
+-116.912 35.7 7796
+-116.786 35.7 7778
+-116.66 35.7 7702
+-116.534 35.7 7619
+-116.408 35.7 7599
+-116.282 35.7 7563
+-116.156 35.7 7427
+-116.03 35.7 7360
+-115.904 35.7 7270
+-115.778 35.7 7147
+-115.652 35.7 7053
+-115.526 35.7 7009
+-115.4 35.7 6840
+-115.274 35.7 6690
+-115.148 35.7 6599
+-115.022 35.7 6530
+-114.896 35.7 6431
+-114.77 35.7 6244
+-114.644 35.7 6160
+-114.518 35.7 6114
+-114.392 35.7 5972
+-114.266 35.7 5802
+-114.14 35.7 5682
+-114.014 35.7 5557
+-113.888 35.7 5455
+-113.762 35.7 5329
+-113.636 35.7 5175
+-113.51 35.7 5057
+-113.384 35.7 4897
+-113.258 35.7 4746
+-113.132 35.7 4650
+-113.006 35.7 4543
+-112.88 35.7 4508
+-112.754 35.7 4462
+-112.628 35.7 4414
+-112.502 35.7 4489
+-112.376 35.7 4531
+-112.25 35.7 4613
+-112.124 35.7 4650
+-111.998 35.7 4674
+-111.872 35.7 4713
+-111.746 35.7 4774
+-111.62 35.7 4819
+-111.494 35.7 4872
+-111.368 35.7 4910
+-111.242 35.7 4965
+-111.116 35.7 5005
+-110.99 35.7 5012
+-110.864 35.7 5033
+-110.738 35.7 5057
+-110.612 35.7 5072
+-110.486 35.7 5049
+-110.36 35.7 5032
+-110.234 35.7 5025
+-110.108 35.7 5035
+-109.982 35.7 5043
+-109.856 35.7 5046
+-109.73 35.7 5026
+-109.604 35.7 4970
+-109.478 35.7 4932
+-109.352 35.7 4892
+-109.226 35.7 4872
+-109.1 35.7 4818
+-108.974 35.7 4788
+-108.848 35.7 4753
+-108.722 35.7 4675
+-108.596 35.7 4680
+-108.47 35.7 4626
+-108.344 35.7 4588
+-108.218 35.7 4524
+-108.092 35.7 4455
+-107.966 35.7 4407
+-107.84 35.7 4326
+-107.714 35.7 4224
+-107.588 35.7 4156
+-107.462 35.7 4130
+-107.336 35.7 4064
+-107.21 35.7 3991
+-107.084 35.7 3900
+-106.958 35.7 3786
+-106.832 35.7 3679
+-106.706 35.7 3555
+-106.58 35.7 3376
+-106.454 35.7 3260
+-106.328 35.7 3165
+-106.202 35.7 3087
+-106.076 35.7 3008
+-105.95 35.7 2963
+-105.824 35.7 2841
+-105.698 35.7 2923
+-105.572 35.7 3015
+-105.446 35.7 3085
+-105.32 35.7 3141
+-105.194 35.7 3187
+-105.068 35.7 3227
+-104.942 35.7 3210
+-104.816 35.7 3248
+-104.69 35.7 3266
+-104.564 35.7 3277
+-104.438 35.7 3301
+-104.312 35.7 3253
+-104.186 35.7 3264
+-104.06 35.7 3274
+-103.934 35.7 3283
+-103.808 35.7 3291
+-103.682 35.7 3298
+-103.556 35.7 3304
+-103.43 35.7 3310
+-103.304 35.7 3315
+-103.178 35.7 3339
+-103.052 35.7 3343
+-102.926 35.7 3337
+-102.8 35.7 3343
+-102.674 35.7 3348
+-102.548 35.7 3353
+-102.422 35.7 3357
+-102.296 35.7 3359
+-102.17 35.7 3350
+-102.044 35.7 3385
+-101.918 35.7 3391
+-101.792 35.7 3266
+-101.666 35.7 3185
+-101.54 35.7 3175
+-101.414 35.7 3092
+-101.288 35.7 2971
+-101.162 35.7 2953
+-101.036 35.7 2937
+-100.91 35.7 2902
+-100.784 35.7 2959
+-100.658 35.7 2954
+-100.532 35.7 2976
+-100.406 35.7 3048
+-100.28 35.7 3065
+-100.154 35.7 3110
+-100.028 35.7 3100
+-99.902 35.7 3089
+-99.776 35.7 3078
+-99.65 35.7 3065
+-99.524 35.7 3051
+-99.398 35.7 3036
+-99.272 35.7 3019
+-99.146 35.7 3001
+-99.02 35.7 3032
+-98.894 35.7 3052
+-98.768 35.7 3025
+-98.642 35.7 2995
+-98.516 35.7 2984
+-98.39 35.7 2942
+-98.264 35.7 2893
+-98.138 35.7 2848
+-98.012 35.7 2795
+-97.886 35.7 2710
+-97.76 35.7 2605
+-97.634 35.7 2477
+-97.508 35.7 2343
+-97.382 35.7 2151
+-97.256 35.7 1935
+-97.13 35.7 1732
+-97.004 35.7 1635
+-96.878 35.7 1758
+-96.752 35.7 2078
+-96.626 35.7 2426
+-96.5 35.7 2676
+-96.374 35.7 2784
+-96.248 35.7 2826
+-96.122 35.7 2849
+-95.996 35.7 2955
+-95.87 35.7 3138
+-95.744 35.7 3270
+-95.618 35.7 3339
+-95.492 35.7 3411
+-95.366 35.7 3479
+-95.24 35.7 3558
+-95.114 35.7 3568
+-94.988 35.7 3568
+-94.862 35.7 3691
+-94.736 35.7 3866
+-94.61 35.7 4004
+-94.484 35.7 4061
+-94.358 35.7 4046
+-94.232 35.7 4194
+-94.106 35.7 4324
+-93.98 35.7 4378
+-93.854 35.7 4507
+-93.728 35.7 4664
+-93.602 35.7 4750
+-93.476 35.7 4830
+-93.35 35.7 4946
+-93.224 35.7 4992
+-93.098 35.7 5050
+-92.972 35.7 5164
+-92.846 35.7 5230
+-92.72 35.7 5303
+-92.594 35.7 5408
+-92.468 35.7 5467
+-92.342 35.7 5535
+-92.216 35.7 5558
+-92.09 35.7 5641
+-91.964 35.7 5729
+-91.838 35.7 5761
+-91.712 35.7 5828
+-91.586 35.7 5925
+-91.46 35.7 5932
+-91.334 35.7 6121
+-91.208 35.7 6327
+-91.082 35.7 6456
+-90.956 35.7 6537
+-90.83 35.7 6675
+-90.704 35.7 6698
+-90.578 35.7 6850
+-90.452 35.7 6932
+-90.326 35.7 7023
+-90.2 35.7 7104
+-90.074 35.7 7182
+-89.948 35.7 7236
+-89.822 35.7 7336
+-89.696 35.7 7391
+-89.57 35.7 7448
+-89.444 35.7 7476
+-89.318 35.7 7472
+-89.192 35.7 7532
+-89.066 35.7 7551
+-88.94 35.7 7564
+-88.814 35.7 7574
+-88.688 35.7 7555
+-88.562 35.7 7555
+-88.436 35.7 7526
+-88.31 35.7 7509
+-88.184 35.7 7457
+-88.058 35.7 7426
+-87.932 35.7 7394
+-87.806 35.7 7292
+-87.68 35.7 7202
+-87.554 35.7 7173
+-87.428 35.7 7126
+-87.302 35.7 7052
+-87.176 35.7 6944
+-87.05 35.7 6808
+-86.924 35.7 6757
+-86.798 35.7 6597
+-86.672 35.7 6463
+-86.546 35.7 6371
+-86.42 35.7 6244
+-86.294 35.7 6153
+-86.168 35.7 6049
+-86.042 35.7 5938
+-85.916 35.7 5828
+-85.79 35.7 5750
+-85.664 35.7 5632
+-85.538 35.7 5452
+-85.412 35.7 5480
+-85.286 35.7 5369
+-85.16 35.7 5204
+-85.034 35.7 5048
+-84.908 35.7 4849
+-84.782 35.7 4878
+-84.656 35.7 4725
+-84.53 35.7 4493
+-84.404 35.7 4426
+-84.278 35.7 4323
+-84.152 35.7 4115
+-84.026 35.7 4004
+-83.9 35.7 3988
+-83.774 35.7 3961
+-83.648 35.7 3888
+-83.522 35.7 3799
+-83.396 35.7 3620
+-83.27 35.7 3519
+-83.144 35.7 3426
+-83.018 35.7 3333
+-82.892 35.7 3246
+-82.766 35.7 3192
+-82.64 35.7 3137
+-82.514 35.7 3063
+-82.388 35.7 2935
+-82.262 35.7 2804
+-82.136 35.7 2667
+-82.01 35.7 2536
+-81.884 35.7 2463
+-81.758 35.7 2437
+-81.632 35.7 2452
+-81.506 35.7 2458
+-81.38 35.7 2510
+-81.254 35.7 2566
+-81.128 35.7 2622
+-81.002 35.7 2675
+-80.876 35.7 2677
+-80.75 35.7 2705
+-80.624 35.7 2750
+-80.498 35.7 2780
+-80.372 35.7 2777
+-80.246 35.7 2781
+-80.12 35.7 2797
+-79.994 35.7 2810
+-79.868 35.7 2819
+-79.742 35.7 2827
+-79.616 35.7 2832
+-79.49 35.7 2836
+-79.364 35.7 2839
+-79.238 35.7 2841
+-79.112 35.7 2785
+-78.986 35.7 2680
+-78.86 35.7 2680
+-78.734 35.7 2646
+-78.608 35.7 2648
+-78.482 35.7 2664
+-78.356 35.7 2684
+-78.23 35.7 2607
+-78.104 35.7 2630
+-77.978 35.7 2604
+-77.852 35.7 2531
+-77.726 35.7 2509
+-77.6 35.7 2515
+-77.474 35.7 2538
+-77.348 35.7 2544
+-77.222 35.7 2513
+-77.096 35.7 2520
+-76.97 35.7 2527
+-76.844 35.7 2544
+-76.718 35.7 2575
+-76.592 35.7 2615
+-76.466 35.7 2626
+-76.34 35.7 2660
+-76.214 35.7 2668
+-76.088 35.7 2715
+-75.962 35.7 2742
+-75.836 35.7 2735
+-75.71 35.7 2774
+-75.584 35.7 2867
+-75.458 35.7 2875
+-75.332 35.7 2928
+-75.206 35.7 2936
+-75.08 35.7 2945
+-74.954 35.7 2952
+-74.828 35.7 2960
+-74.702 35.7 2905
+-74.576 35.7 2927
+-74.45 35.7 2934
+-74.324 35.7 2933
+-74.198 35.7 3201
+-74.072 35.7 3229
+-73.946 35.7 3235
+-73.82 35.7 3236
+-73.694 35.7 3241
+-73.568 35.7 3249
+-73.442 35.7 3266
+-73.316 35.7 3270
+-73.19 35.7 3265
+-73.064 35.7 3269
+-72.938 35.7 3231
+-72.812 35.7 3234
+-72.686 35.7 3238
+-72.56 35.7 3298
+-72.434 35.7 3297
+-72.308 35.7 3308
+-72.182 35.7 3312
+-72.056 35.7 3296
+-71.93 35.7 3318
+-71.804 35.7 3363
+-71.678 35.7 3375
+-71.552 35.7 3377
+-71.426 35.7 3378
+-71.3 35.7 3427
+-71.174 35.7 3431
+-71.048 35.7 3377
+-70.922 35.7 3399
+-70.796 35.7 3396
+-70.67 35.7 3319
+-70.544 35.7 3240
+-70.418 35.7 3262
+-70.292 35.7 3264
+-70.166 35.7 3296
+-70.04 35.7 3272
+-69.914 35.7 3284
+-69.788 35.7 3287
+-69.662 35.7 3269
+-69.536 35.7 3271
+-69.41 35.7 3274
+-69.284 35.7 3252
+-69.158 35.7 3235
+-69.032 35.7 3269
+-68.906 35.7 3265
+-68.78 35.7 3267
+-68.654 35.7 3270
+-68.528 35.7 3192
+-68.402 35.7 3232
+-68.276 35.7 3228
+-68.15 35.7 3230
+-68.024 35.7 3233
+-67.898 35.7 3464
+-67.772 35.7 3386
+-67.646 35.7 3400
+-67.52 35.7 3401
+-67.394 35.7 3297
+-67.268 35.7 3284
+-67.142 35.7 3285
+-67.016 35.7 3285
+-66.89 35.7 3263
+-66.764 35.7 3264
+-66.638 35.7 3265
+-66.512 35.7 3266
+-66.386 35.7 3266
+-66.26 35.7 3292
+-66.134 35.7 3293
+-66.008 35.7 3277
+-65.882 35.7 3278
+-65.756 35.7 3279
+-65.63 35.7 3217
+-65.504 35.7 3404
+-65.378 35.7 3362
+-65.252 35.7 3363
+-65.126 35.7 3332
+-128 35.648 2936
+-127.874 35.648 2927
+-127.748 35.648 2918
+-127.622 35.648 3015
+-127.496 35.648 3003
+-127.37 35.648 2991
+-127.244 35.648 2977
+-127.118 35.648 2963
+-126.992 35.648 2948
+-126.866 35.648 2932
+-126.74 35.648 2915
+-126.614 35.648 2896
+-126.488 35.648 2876
+-126.362 35.648 2855
+-126.236 35.648 2832
+-126.11 35.648 2807
+-125.984 35.648 2781
+-125.858 35.648 2753
+-125.732 35.648 2723
+-125.606 35.648 2692
+-125.48 35.648 2693
+-125.354 35.648 2661
+-125.228 35.648 2630
+-125.102 35.648 2629
+-124.976 35.648 2603
+-124.85 35.648 2581
+-124.724 35.648 2564
+-124.598 35.648 2549
+-124.472 35.648 2528
+-124.346 35.648 2517
+-124.22 35.648 2456
+-124.094 35.648 2389
+-123.968 35.648 2384
+-123.842 35.648 2486
+-123.716 35.648 2708
+-123.59 35.648 2949
+-123.464 35.648 3177
+-123.338 35.648 3354
+-123.212 35.648 3505
+-123.086 35.648 3605
+-122.96 35.648 3751
+-122.834 35.648 3775
+-122.708 35.648 3739
+-122.582 35.648 3715
+-122.456 35.648 3813
+-122.33 35.648 3887
+-122.204 35.648 4005
+-122.078 35.648 4189
+-121.952 35.648 4316
+-121.826 35.648 4446
+-121.7 35.648 4670
+-121.574 35.648 4965
+-121.448 35.648 5108
+-121.322 35.648 5177
+-121.196 35.648 5225
+-121.07 35.648 5198
+-120.944 35.648 5333
+-120.818 35.648 5403
+-120.692 35.648 5520
+-120.566 35.648 5679
+-120.44 35.648 5781
+-120.314 35.648 5950
+-120.188 35.648 6060
+-120.062 35.648 6109
+-119.936 35.648 6197
+-119.81 35.648 6338
+-119.684 35.648 6520
+-119.558 35.648 6646
+-119.432 35.648 6760
+-119.306 35.648 6856
+-119.18 35.648 6906
+-119.054 35.648 7091
+-118.928 35.648 7195
+-118.802 35.648 7260
+-118.676 35.648 7362
+-118.55 35.648 7482
+-118.424 35.648 7523
+-118.298 35.648 7599
+-118.172 35.648 7673
+-118.046 35.648 7757
+-117.92 35.648 7788
+-117.794 35.648 7865
+-117.668 35.648 7877
+-117.542 35.648 7890
+-117.416 35.648 7922
+-117.29 35.648 7937
+-117.164 35.648 7914
+-117.038 35.648 7905
+-116.912 35.648 7872
+-116.786 35.648 7804
+-116.66 35.648 7805
+-116.534 35.648 7688
+-116.408 35.648 7613
+-116.282 35.648 7546
+-116.156 35.648 7439
+-116.03 35.648 7412
+-115.904 35.648 7294
+-115.778 35.648 7201
+-115.652 35.648 7096
+-115.526 35.648 6983
+-115.4 35.648 6897
+-115.274 35.648 6765
+-115.148 35.648 6619
+-115.022 35.648 6521
+-114.896 35.648 6437
+-114.77 35.648 6270
+-114.644 35.648 6228
+-114.518 35.648 6137
+-114.392 35.648 6010
+-114.266 35.648 5844
+-114.14 35.648 5685
+-114.014 35.648 5615
+-113.888 35.648 5456
+-113.762 35.648 5326
+-113.636 35.648 5165
+-113.51 35.648 5033
+-113.384 35.648 4966
+-113.258 35.648 4806
+-113.132 35.648 4687
+-113.006 35.648 4584
+-112.88 35.648 4515
+-112.754 35.648 4488
+-112.628 35.648 4456
+-112.502 35.648 4521
+-112.376 35.648 4594
+-112.25 35.648 4657
+-112.124 35.648 4705
+-111.998 35.648 4726
+-111.872 35.648 4787
+-111.746 35.648 4826
+-111.62 35.648 4890
+-111.494 35.648 4947
+-111.368 35.648 4963
+-111.242 35.648 5025
+-111.116 35.648 5059
+-110.99 35.648 5053
+-110.864 35.648 5073
+-110.738 35.648 5100
+-110.612 35.648 5099
+-110.486 35.648 5093
+-110.36 35.648 5073
+-110.234 35.648 5064
+-110.108 35.648 5074
+-109.982 35.648 5066
+-109.856 35.648 5073
+-109.73 35.648 5071
+-109.604 35.648 5046
+-109.478 35.648 4993
+-109.352 35.648 4941
+-109.226 35.648 4938
+-109.1 35.648 4870
+-108.974 35.648 4847
+-108.848 35.648 4796
+-108.722 35.648 4761
+-108.596 35.648 4691
+-108.47 35.648 4579
+-108.344 35.648 4600
+-108.218 35.648 4523
+-108.092 35.648 4474
+-107.966 35.648 4439
+-107.84 35.648 4371
+-107.714 35.648 4227
+-107.588 35.648 4113
+-107.462 35.648 4122
+-107.336 35.648 4064
+-107.21 35.648 4027
+-107.084 35.648 3949
+-106.958 35.648 3840
+-106.832 35.648 3737
+-106.706 35.648 3595
+-106.58 35.648 3468
+-106.454 35.648 3328
+-106.328 35.648 3213
+-106.202 35.648 3133
+-106.076 35.648 3057
+-105.95 35.648 2988
+-105.824 35.648 2943
+-105.698 35.648 2975
+-105.572 35.648 3043
+-105.446 35.648 3106
+-105.32 35.648 3161
+-105.194 35.648 3207
+-105.068 35.648 3234
+-104.942 35.648 3259
+-104.816 35.648 3303
+-104.69 35.648 3276
+-104.564 35.648 3302
+-104.438 35.648 3320
+-104.312 35.648 3336
+-104.186 35.648 3283
+-104.06 35.648 3292
+-103.934 35.648 3301
+-103.808 35.648 3308
+-103.682 35.648 3314
+-103.556 35.648 3320
+-103.43 35.648 3325
+-103.304 35.648 3349
+-103.178 35.648 3352
+-103.052 35.648 3346
+-102.926 35.648 3352
+-102.8 35.648 3357
+-102.674 35.648 3361
+-102.548 35.648 3366
+-102.422 35.648 3367
+-102.296 35.648 3358
+-102.17 35.648 3393
+-102.044 35.648 3398
+-101.918 35.648 3403
+-101.792 35.648 3277
+-101.666 35.648 3197
+-101.54 35.648 3186
+-101.414 35.648 3103
+-101.288 35.648 3022
+-101.162 35.648 2962
+-101.036 35.648 2944
+-100.91 35.648 2920
+-100.784 35.648 2947
+-100.658 35.648 2939
+-100.532 35.648 2974
+-100.406 35.648 3045
+-100.28 35.648 3048
+-100.154 35.648 3107
+-100.028 35.648 3098
+-99.902 35.648 3087
+-99.776 35.648 3075
+-99.65 35.648 3062
+-99.524 35.648 3049
+-99.398 35.648 3033
+-99.272 35.648 3016
+-99.146 35.648 3051
+-99.02 35.648 3073
+-98.894 35.648 3050
+-98.768 35.648 3023
+-98.642 35.648 3017
+-98.516 35.648 2981
+-98.39 35.648 2939
+-98.264 35.648 2903
+-98.138 35.648 2862
+-98.012 35.648 2793
+-97.886 35.648 2709
+-97.76 35.648 2607
+-97.634 35.648 2510
+-97.508 35.648 2360
+-97.382 35.648 2185
+-97.256 35.648 1995
+-97.13 35.648 1815
+-97.004 35.648 1740
+-96.878 35.648 1857
+-96.752 35.648 2140
+-96.626 35.648 2469
+-96.5 35.648 2705
+-96.374 35.648 2870
+-96.248 35.648 2943
+-96.122 35.648 3005
+-95.996 35.648 3114
+-95.87 35.648 3226
+-95.744 35.648 3325
+-95.618 35.648 3396
+-95.492 35.648 3495
+-95.366 35.648 3548
+-95.24 35.648 3559
+-95.114 35.648 3519
+-94.988 35.648 3457
+-94.862 35.648 3588
+-94.736 35.648 3794
+-94.61 35.648 3949
+-94.484 35.648 4046
+-94.358 35.648 4033
+-94.232 35.648 4144
+-94.106 35.648 4274
+-93.98 35.648 4382
+-93.854 35.648 4507
+-93.728 35.648 4617
+-93.602 35.648 4694
+-93.476 35.648 4795
+-93.35 35.648 4886
+-93.224 35.648 4957
+-93.098 35.648 4993
+-92.972 35.648 5098
+-92.846 35.648 5210
+-92.72 35.648 5307
+-92.594 35.648 5330
+-92.468 35.648 5403
+-92.342 35.648 5469
+-92.216 35.648 5550
+-92.09 35.648 5623
+-91.964 35.648 5710
+-91.838 35.648 5718
+-91.712 35.648 5781
+-91.586 35.648 5882
+-91.46 35.648 5883
+-91.334 35.648 6101
+-91.208 35.648 6270
+-91.082 35.648 6407
+-90.956 35.648 6496
+-90.83 35.648 6554
+-90.704 35.648 6668
+-90.578 35.648 6762
+-90.452 35.648 6917
+-90.326 35.648 6914
+-90.2 35.648 7027
+-90.074 35.648 7102
+-89.948 35.648 7168
+-89.822 35.648 7258
+-89.696 35.648 7324
+-89.57 35.648 7393
+-89.444 35.648 7443
+-89.318 35.648 7451
+-89.192 35.648 7477
+-89.066 35.648 7531
+-88.94 35.648 7536
+-88.814 35.648 7507
+-88.688 35.648 7499
+-88.562 35.648 7484
+-88.436 35.648 7502
+-88.31 35.648 7473
+-88.184 35.648 7395
+-88.058 35.648 7331
+-87.932 35.648 7285
+-87.806 35.648 7239
+-87.68 35.648 7171
+-87.554 35.648 7128
+-87.428 35.648 7093
+-87.302 35.648 6993
+-87.176 35.648 6881
+-87.05 35.648 6774
+-86.924 35.648 6652
+-86.798 35.648 6490
+-86.672 35.648 6436
+-86.546 35.648 6322
+-86.42 35.648 6211
+-86.294 35.648 6173
+-86.168 35.648 6012
+-86.042 35.648 5920
+-85.916 35.648 5775
+-85.79 35.648 5725
+-85.664 35.648 5609
+-85.538 35.648 5504
+-85.412 35.648 5465
+-85.286 35.648 5374
+-85.16 35.648 5234
+-85.034 35.648 5099
+-84.908 35.648 4948
+-84.782 35.648 4856
+-84.656 35.648 4725
+-84.53 35.648 4508
+-84.404 35.648 4408
+-84.278 35.648 4258
+-84.152 35.648 4082
+-84.026 35.648 4001
+-83.9 35.648 3989
+-83.774 35.648 3959
+-83.648 35.648 3908
+-83.522 35.648 3821
+-83.396 35.648 3635
+-83.27 35.648 3505
+-83.144 35.648 3346
+-83.018 35.648 3188
+-82.892 35.648 3079
+-82.766 35.648 3057
+-82.64 35.648 3051
+-82.514 35.648 3013
+-82.388 35.648 2917
+-82.262 35.648 2775
+-82.136 35.648 2634
+-82.01 35.648 2514
+-81.884 35.648 2424
+-81.758 35.648 2399
+-81.632 35.648 2387
+-81.506 35.648 2430
+-81.38 35.648 2486
+-81.254 35.648 2547
+-81.128 35.648 2606
+-81.002 35.648 2660
+-80.876 35.648 2709
+-80.75 35.648 2706
+-80.624 35.648 2713
+-80.498 35.648 2741
+-80.372 35.648 2764
+-80.246 35.648 2782
+-80.12 35.648 2780
+-79.994 35.648 2792
+-79.868 35.648 2800
+-79.742 35.648 2807
+-79.616 35.648 2811
+-79.49 35.648 2814
+-79.364 35.648 2815
+-79.238 35.648 2761
+-79.112 35.648 2652
+-78.986 35.648 2653
+-78.86 35.648 2654
+-78.734 35.648 2643
+-78.608 35.648 2638
+-78.482 35.648 2630
+-78.356 35.648 2581
+-78.23 35.648 2606
+-78.104 35.648 2557
+-77.978 35.648 2510
+-77.852 35.648 2516
+-77.726 35.648 2514
+-77.6 35.648 2520
+-77.474 35.648 2526
+-77.348 35.648 2533
+-77.222 35.648 2515
+-77.096 35.648 2532
+-76.97 35.648 2540
+-76.844 35.648 2560
+-76.718 35.648 2623
+-76.592 35.648 2614
+-76.466 35.648 2649
+-76.34 35.648 2658
+-76.214 35.648 2704
+-76.088 35.648 2754
+-75.962 35.648 2763
+-75.836 35.648 2765
+-75.71 35.648 2858
+-75.584 35.648 2867
+-75.458 35.648 2919
+-75.332 35.648 2928
+-75.206 35.648 2937
+-75.08 35.648 2945
+-74.954 35.648 2953
+-74.828 35.648 2900
+-74.702 35.648 2922
+-74.576 35.648 2929
+-74.45 35.648 2928
+-74.324 35.648 3194
+-74.198 35.648 3222
+-74.072 35.648 3228
+-73.946 35.648 3230
+-73.82 35.648 3235
+-73.694 35.648 3243
+-73.568 35.648 3260
+-73.442 35.648 3265
+-73.316 35.648 3260
+-73.19 35.648 3265
+-73.064 35.648 3226
+-72.938 35.648 3230
+-72.812 35.648 3234
+-72.686 35.648 3294
+-72.56 35.648 3293
+-72.434 35.648 3304
+-72.308 35.648 3308
+-72.182 35.648 3293
+-72.056 35.648 3315
+-71.93 35.648 3359
+-71.804 35.648 3372
+-71.678 35.648 3374
+-71.552 35.648 3375
+-71.426 35.648 3424
+-71.3 35.648 3428
+-71.174 35.648 3374
+-71.048 35.648 3396
+-70.922 35.648 3393
+-70.796 35.648 3320
+-70.67 35.648 3238
+-70.544 35.648 3260
+-70.418 35.648 3262
+-70.292 35.648 3294
+-70.166 35.648 3271
+-70.04 35.648 3282
+-69.914 35.648 3285
+-69.788 35.648 3267
+-69.662 35.648 3270
+-69.536 35.648 3272
+-69.41 35.648 3250
+-69.284 35.648 3234
+-69.158 35.648 3268
+-69.032 35.648 3264
+-68.906 35.648 3266
+-68.78 35.648 3268
+-68.654 35.648 3191
+-68.528 35.648 3231
+-68.402 35.648 3227
+-68.276 35.648 3229
+-68.15 35.648 3231
+-68.024 35.648 3462
+-67.898 35.648 3389
+-67.772 35.648 3399
+-67.646 35.648 3400
+-67.52 35.648 3296
+-67.394 35.648 3283
+-67.268 35.648 3284
+-67.142 35.648 3285
+-67.016 35.648 3263
+-66.89 35.648 3263
+-66.764 35.648 3264
+-66.638 35.648 3265
+-66.512 35.648 3266
+-66.386 35.648 3291
+-66.26 35.648 3292
+-66.134 35.648 3276
+-66.008 35.648 3277
+-65.882 35.648 3278
+-65.756 35.648 3217
+-65.63 35.648 3404
+-65.504 35.648 3361
+-65.378 35.648 3362
+-65.252 35.648 3332
+-65.126 35.648 3332
+-128 35.596 2940
+-127.874 35.596 2931
+-127.748 35.596 2922
+-127.622 35.596 2913
+-127.496 35.596 3009
+-127.37 35.596 2997
+-127.244 35.596 2985
+-127.118 35.596 2971
+-126.992 35.596 2957
+-126.866 35.596 2942
+-126.74 35.596 2925
+-126.614 35.596 2908
+-126.488 35.596 2889
+-126.362 35.596 2870
+-126.236 35.596 2849
+-126.11 35.596 2826
+-125.984 35.596 2803
+-125.858 35.596 2778
+-125.732 35.596 2753
+-125.606 35.596 2726
+-125.48 35.596 2700
+-125.354 35.596 2705
+-125.228 35.596 2712
+-125.102 35.596 2689
+-124.976 35.596 2668
+-124.85 35.596 2652
+-124.724 35.596 2638
+-124.598 35.596 2626
+-124.472 35.596 2611
+-124.346 35.596 2591
+-124.22 35.596 2596
+-124.094 35.596 2582
+-123.968 35.596 2613
+-123.842 35.596 2707
+-123.716 35.596 2860
+-123.59 35.596 3063
+-123.464 35.596 3237
+-123.338 35.596 3396
+-123.212 35.596 3513
+-123.086 35.596 3660
+-122.96 35.596 3716
+-122.834 35.596 3769
+-122.708 35.596 3695
+-122.582 35.596 3585
+-122.456 35.596 3783
+-122.33 35.596 3858
+-122.204 35.596 3971
+-122.078 35.596 4198
+-121.952 35.596 4370
+-121.826 35.596 4551
+-121.7 35.596 4762
+-121.574 35.596 4985
+-121.448 35.596 5098
+-121.322 35.596 5158
+-121.196 35.596 5185
+-121.07 35.596 5215
+-120.944 35.596 5348
+-120.818 35.596 5441
+-120.692 35.596 5519
+-120.566 35.596 5700
+-120.44 35.596 5850
+-120.314 35.596 5923
+-120.188 35.596 6122
+-120.062 35.596 6147
+-119.936 35.596 6301
+-119.81 35.596 6333
+-119.684 35.596 6553
+-119.558 35.596 6599
+-119.432 35.596 6768
+-119.306 35.596 6906
+-119.18 35.596 6998
+-119.054 35.596 7046
+-118.928 35.596 7161
+-118.802 35.596 7322
+-118.676 35.596 7425
+-118.55 35.596 7446
+-118.424 35.596 7553
+-118.298 35.596 7656
+-118.172 35.596 7705
+-118.046 35.596 7786
+-117.92 35.596 7861
+-117.794 35.596 7854
+-117.668 35.596 7906
+-117.542 35.596 7944
+-117.416 35.596 7953
+-117.29 35.596 7965
+-117.164 35.596 7955
+-117.038 35.596 7929
+-116.912 35.596 7914
+-116.786 35.596 7873
+-116.66 35.596 7832
+-116.534 35.596 7733
+-116.408 35.596 7661
+-116.282 35.596 7569
+-116.156 35.596 7535
+-116.03 35.596 7426
+-115.904 35.596 7307
+-115.778 35.596 7234
+-115.652 35.596 7103
+-115.526 35.596 7006
+-115.4 35.596 6886
+-115.274 35.596 6800
+-115.148 35.596 6702
+-115.022 35.596 6561
+-114.896 35.596 6470
+-114.77 35.596 6357
+-114.644 35.596 6215
+-114.518 35.596 6134
+-114.392 35.596 6012
+-114.266 35.596 5824
+-114.14 35.596 5736
+-114.014 35.596 5558
+-113.888 35.596 5488
+-113.762 35.596 5355
+-113.636 35.596 5207
+-113.51 35.596 5084
+-113.384 35.596 4961
+-113.258 35.596 4846
+-113.132 35.596 4745
+-113.006 35.596 4594
+-112.88 35.596 4431
+-112.754 35.596 4521
+-112.628 35.596 4538
+-112.502 35.596 4578
+-112.376 35.596 4648
+-112.25 35.596 4700
+-112.124 35.596 4738
+-111.998 35.596 4806
+-111.872 35.596 4848
+-111.746 35.596 4891
+-111.62 35.596 4925
+-111.494 35.596 4972
+-111.368 35.596 5019
+-111.242 35.596 5047
+-111.116 35.596 5084
+-110.99 35.596 5080
+-110.864 35.596 5114
+-110.738 35.596 5133
+-110.612 35.596 5137
+-110.486 35.596 5135
+-110.36 35.596 5136
+-110.234 35.596 5127
+-110.108 35.596 5130
+-109.982 35.596 5124
+-109.856 35.596 5121
+-109.73 35.596 5133
+-109.604 35.596 5102
+-109.478 35.596 5052
+-109.352 35.596 4999
+-109.226 35.596 4933
+-109.1 35.596 4880
+-108.974 35.596 4875
+-108.848 35.596 4829
+-108.722 35.596 4787
+-108.596 35.596 4747
+-108.47 35.596 4660
+-108.344 35.596 4629
+-108.218 35.596 4537
+-108.092 35.596 4462
+-107.966 35.596 4446
+-107.84 35.596 4417
+-107.714 35.596 4289
+-107.588 35.596 4198
+-107.462 35.596 4128
+-107.336 35.596 4025
+-107.21 35.596 4059
+-107.084 35.596 4019
+-106.958 35.596 3922
+-106.832 35.596 3820
+-106.706 35.596 3651
+-106.58 35.596 3503
+-106.454 35.596 3366
+-106.328 35.596 3257
+-106.202 35.596 3171
+-106.076 35.596 3130
+-105.95 35.596 3094
+-105.824 35.596 3055
+-105.698 35.596 3063
+-105.572 35.596 3101
+-105.446 35.596 3149
+-105.32 35.596 3196
+-105.194 35.596 3226
+-105.068 35.596 3253
+-104.942 35.596 3300
+-104.816 35.596 3316
+-104.69 35.596 3339
+-104.564 35.596 3360
+-104.438 35.596 3342
+-104.312 35.596 3356
+-104.186 35.596 3369
+-104.06 35.596 3312
+-103.934 35.596 3319
+-103.808 35.596 3325
+-103.682 35.596 3331
+-103.556 35.596 3336
+-103.43 35.596 3359
+-103.304 35.596 3362
+-103.178 35.596 3357
+-103.052 35.596 3362
+-102.926 35.596 3366
+-102.8 35.596 3371
+-102.674 35.596 3375
+-102.548 35.596 3376
+-102.422 35.596 3366
+-102.296 35.596 3401
+-102.17 35.596 3406
+-102.044 35.596 3411
+-101.918 35.596 3416
+-101.792 35.596 3289
+-101.666 35.596 3209
+-101.54 35.596 3198
+-101.414 35.596 3114
+-101.288 35.596 3056
+-101.162 35.596 2981
+-101.036 35.596 2949
+-100.91 35.596 2928
+-100.784 35.596 2955
+-100.658 35.596 2918
+-100.532 35.596 2964
+-100.406 35.596 3027
+-100.28 35.596 3046
+-100.154 35.596 3036
+-100.028 35.596 3096
+-99.902 35.596 3085
+-99.776 35.596 3074
+-99.65 35.596 3061
+-99.524 35.596 3047
+-99.398 35.596 3032
+-99.272 35.596 3068
+-99.146 35.596 3094
+-99.02 35.596 3073
+-98.894 35.596 3050
+-98.768 35.596 3048
+-98.642 35.596 3017
+-98.516 35.596 2982
+-98.39 35.596 2926
+-98.264 35.596 2925
+-98.138 35.596 2868
+-98.012 35.596 2802
+-97.886 35.596 2723
+-97.76 35.596 2658
+-97.634 35.596 2549
+-97.508 35.596 2426
+-97.382 35.596 2289
+-97.256 35.596 2137
+-97.13 35.596 2016
+-97.004 35.596 1983
+-96.878 35.596 2085
+-96.752 35.596 2295
+-96.626 35.596 2565
+-96.5 35.596 2799
+-96.374 35.596 2939
+-96.248 35.596 3022
+-96.122 35.596 3104
+-95.996 35.596 3218
+-95.87 35.596 3305
+-95.744 35.596 3383
+-95.618 35.596 3446
+-95.492 35.596 3558
+-95.366 35.596 3575
+-95.24 35.596 3563
+-95.114 35.596 3516
+-94.988 35.596 3444
+-94.862 35.596 3571
+-94.736 35.596 3752
+-94.61 35.596 3898
+-94.484 35.596 4018
+-94.358 35.596 4062
+-94.232 35.596 4117
+-94.106 35.596 4233
+-93.98 35.596 4355
+-93.854 35.596 4495
+-93.728 35.596 4605
+-93.602 35.596 4611
+-93.476 35.596 4752
+-93.35 35.596 4792
+-93.224 35.596 4909
+-93.098 35.596 4928
+-92.972 35.596 5028
+-92.846 35.596 5162
+-92.72 35.596 5286
+-92.594 35.596 5350
+-92.468 35.596 5407
+-92.342 35.596 5404
+-92.216 35.596 5479
+-92.09 35.596 5569
+-91.964 35.596 5602
+-91.838 35.596 5644
+-91.712 35.596 5718
+-91.586 35.596 5821
+-91.46 35.596 5971
+-91.334 35.596 6099
+-91.208 35.596 6303
+-91.082 35.596 6366
+-90.956 35.596 6450
+-90.83 35.596 6534
+-90.704 35.596 6610
+-90.578 35.596 6716
+-90.452 35.596 6853
+-90.326 35.596 6961
+-90.2 35.596 6989
+-90.074 35.596 7061
+-89.948 35.596 7161
+-89.822 35.596 7228
+-89.696 35.596 7262
+-89.57 35.596 7300
+-89.444 35.596 7364
+-89.318 35.596 7406
+-89.192 35.596 7436
+-89.066 35.596 7449
+-88.94 35.596 7446
+-88.814 35.596 7449
+-88.688 35.596 7450
+-88.562 35.596 7440
+-88.436 35.596 7413
+-88.31 35.596 7396
+-88.184 35.596 7330
+-88.058 35.596 7276
+-87.932 35.596 7230
+-87.806 35.596 7176
+-87.68 35.596 7090
+-87.554 35.596 7088
+-87.428 35.596 6975
+-87.302 35.596 6890
+-87.176 35.596 6826
+-87.05 35.596 6674
+-86.924 35.596 6605
+-86.798 35.596 6464
+-86.672 35.596 6360
+-86.546 35.596 6301
+-86.42 35.596 6268
+-86.294 35.596 6101
+-86.168 35.596 6037
+-86.042 35.596 5930
+-85.916 35.596 5807
+-85.79 35.596 5699
+-85.664 35.596 5551
+-85.538 35.596 5426
+-85.412 35.596 5442
+-85.286 35.596 5364
+-85.16 35.596 5228
+-85.034 35.596 5134
+-84.908 35.596 4977
+-84.782 35.596 4822
+-84.656 35.596 4697
+-84.53 35.596 4504
+-84.404 35.596 4347
+-84.278 35.596 4169
+-84.152 35.596 4035
+-84.026 35.596 3950
+-83.9 35.596 3981
+-83.774 35.596 3968
+-83.648 35.596 3912
+-83.522 35.596 3833
+-83.396 35.596 3630
+-83.27 35.596 3465
+-83.144 35.596 3242
+-83.018 35.596 2994
+-82.892 35.596 2866
+-82.766 35.596 2907
+-82.64 35.596 2970
+-82.514 35.596 2960
+-82.388 35.596 2867
+-82.262 35.596 2712
+-82.136 35.596 2516
+-82.01 35.596 2356
+-81.884 35.596 2264
+-81.758 35.596 2224
+-81.632 35.596 2275
+-81.506 35.596 2352
+-81.38 35.596 2434
+-81.254 35.596 2512
+-81.128 35.596 2582
+-81.002 35.596 2643
+-80.876 35.596 2695
+-80.75 35.596 2670
+-80.624 35.596 2697
+-80.498 35.596 2725
+-80.372 35.596 2752
+-80.246 35.596 2769
+-80.12 35.596 2782
+-79.994 35.596 2773
+-79.868 35.596 2754
+-79.742 35.596 2758
+-79.616 35.596 2765
+-79.49 35.596 2765
+-79.364 35.596 2737
+-79.238 35.596 2623
+-79.112 35.596 2624
+-78.986 35.596 2624
+-78.86 35.596 2615
+-78.734 35.596 2609
+-78.608 35.596 2603
+-78.482 35.596 2602
+-78.356 35.596 2578
+-78.23 35.596 2534
+-78.104 35.596 2487
+-77.978 35.596 2493
+-77.852 35.596 2493
+-77.726 35.596 2500
+-77.6 35.596 2508
+-77.474 35.596 2532
+-77.348 35.596 2549
+-77.222 35.596 2528
+-77.096 35.596 2548
+-76.97 35.596 2559
+-76.844 35.596 2609
+-76.718 35.596 2600
+-76.592 35.596 2637
+-76.466 35.596 2680
+-76.34 35.596 2693
+-76.214 35.596 2743
+-76.088 35.596 2753
+-75.962 35.596 2756
+-75.836 35.596 2848
+-75.71 35.596 2858
+-75.584 35.596 2910
+-75.458 35.596 2920
+-75.332 35.596 2929
+-75.206 35.596 2937
+-75.08 35.596 2946
+-74.954 35.596 2894
+-74.828 35.596 2916
+-74.702 35.596 2923
+-74.576 35.596 2923
+-74.45 35.596 3186
+-74.324 35.596 3215
+-74.198 35.596 3221
+-74.072 35.596 3223
+-73.946 35.596 3229
+-73.82 35.596 3237
+-73.694 35.596 3254
+-73.568 35.596 3259
+-73.442 35.596 3255
+-73.316 35.596 3259
+-73.19 35.596 3222
+-73.064 35.596 3226
+-72.938 35.596 3230
+-72.812 35.596 3289
+-72.686 35.596 3288
+-72.56 35.596 3300
+-72.434 35.596 3304
+-72.308 35.596 3289
+-72.182 35.596 3311
+-72.056 35.596 3356
+-71.93 35.596 3368
+-71.804 35.596 3370
+-71.678 35.596 3372
+-71.552 35.596 3420
+-71.426 35.596 3425
+-71.3 35.596 3371
+-71.174 35.596 3393
+-71.048 35.596 3390
+-70.922 35.596 3314
+-70.796 35.596 3235
+-70.67 35.596 3257
+-70.544 35.596 3260
+-70.418 35.596 3292
+-70.292 35.596 3269
+-70.166 35.596 3280
+-70.04 35.596 3283
+-69.914 35.596 3266
+-69.788 35.596 3268
+-69.662 35.596 3271
+-69.536 35.596 3249
+-69.41 35.596 3233
+-69.284 35.596 3267
+-69.158 35.596 3262
+-69.032 35.596 3265
+-68.906 35.596 3267
+-68.78 35.596 3190
+-68.654 35.596 3229
+-68.528 35.596 3226
+-68.402 35.596 3228
+-68.276 35.596 3230
+-68.15 35.596 3461
+-68.024 35.596 3384
+-67.898 35.596 3398
+-67.772 35.596 3399
+-67.646 35.596 3295
+-67.52 35.596 3282
+-67.394 35.596 3283
+-67.268 35.596 3284
+-67.142 35.596 3262
+-67.016 35.596 3263
+-66.89 35.596 3263
+-66.764 35.596 3264
+-66.638 35.596 3265
+-66.512 35.596 3290
+-66.386 35.596 3291
+-66.26 35.596 3276
+-66.134 35.596 3277
+-66.008 35.596 3278
+-65.882 35.596 3216
+-65.756 35.596 3403
+-65.63 35.596 3361
+-65.504 35.596 3361
+-65.378 35.596 3331
+-65.252 35.596 3332
+-65.126 35.596 3332
+-128 35.544 2944
+-127.874 35.544 2936
+-127.748 35.544 2927
+-127.622 35.544 2918
+-127.496 35.544 2908
+-127.37 35.544 3005
+-127.244 35.544 2993
+-127.118 35.544 2980
+-126.992 35.544 2966
+-126.866 35.544 2952
+-126.74 35.544 2936
+-126.614 35.544 2920
+-126.488 35.544 2903
+-126.362 35.544 2884
+-126.236 35.544 2865
+-126.11 35.544 2845
+-125.984 35.544 2823
+-125.858 35.544 2801
+-125.732 35.544 2779
+-125.606 35.544 2756
+-125.48 35.544 2798
+-125.354 35.544 2775
+-125.228 35.544 2753
+-125.102 35.544 2734
+-124.976 35.544 2717
+-124.85 35.544 2703
+-124.724 35.544 2693
+-124.598 35.544 2685
+-124.472 35.544 2679
+-124.346 35.544 2709
+-124.22 35.544 2712
+-124.094 35.544 2730
+-123.968 35.544 2778
+-123.842 35.544 2870
+-123.716 35.544 2992
+-123.59 35.544 3131
+-123.464 35.544 3295
+-123.338 35.544 3421
+-123.212 35.544 3536
+-123.086 35.544 3670
+-122.96 35.544 3715
+-122.834 35.544 3788
+-122.708 35.544 3760
+-122.582 35.544 3755
+-122.456 35.544 3786
+-122.33 35.544 3878
+-122.204 35.544 4024
+-122.078 35.544 4243
+-121.952 35.544 4422
+-121.826 35.544 4581
+-121.7 35.544 4834
+-121.574 35.544 4975
+-121.448 35.544 5077
+-121.322 35.544 5119
+-121.196 35.544 5015
+-121.07 35.544 5244
+-120.944 35.544 5359
+-120.818 35.544 5463
+-120.692 35.544 5553
+-120.566 35.544 5702
+-120.44 35.544 5870
+-120.314 35.544 6004
+-120.188 35.544 6073
+-120.062 35.544 6186
+-119.936 35.544 6289
+-119.81 35.544 6392
+-119.684 35.544 6570
+-119.558 35.544 6715
+-119.432 35.544 6830
+-119.306 35.544 6931
+-119.18 35.544 7051
+-119.054 35.544 7097
+-118.928 35.544 7275
+-118.802 35.544 7342
+-118.676 35.544 7449
+-118.55 35.544 7527
+-118.424 35.544 7643
+-118.298 35.544 7665
+-118.172 35.544 7758
+-118.046 35.544 7863
+-117.92 35.544 7906
+-117.794 35.544 7950
+-117.668 35.544 7953
+-117.542 35.544 8019
+-117.416 35.544 8040
+-117.29 35.544 8025
+-117.164 35.544 7994
+-117.038 35.544 7978
+-116.912 35.544 7953
+-116.786 35.544 7925
+-116.66 35.544 7846
+-116.534 35.544 7779
+-116.408 35.544 7703
+-116.282 35.544 7608
+-116.156 35.544 7559
+-116.03 35.544 7467
+-115.904 35.544 7349
+-115.778 35.544 7281
+-115.652 35.544 7215
+-115.526 35.544 7074
+-115.4 35.544 6959
+-115.274 35.544 6830
+-115.148 35.544 6675
+-115.022 35.544 6635
+-114.896 35.544 6495
+-114.77 35.544 6337
+-114.644 35.544 6242
+-114.518 35.544 6143
+-114.392 35.544 5989
+-114.266 35.544 5881
+-114.14 35.544 5805
+-114.014 35.544 5642
+-113.888 35.544 5464
+-113.762 35.544 5318
+-113.636 35.544 5248
+-113.51 35.544 5127
+-113.384 35.544 4997
+-113.258 35.544 4896
+-113.132 35.544 4790
+-113.006 35.544 4631
+-112.88 35.544 4549
+-112.754 35.544 4567
+-112.628 35.544 4563
+-112.502 35.544 4631
+-112.376 35.544 4705
+-112.25 35.544 4771
+-112.124 35.544 4814
+-111.998 35.544 4850
+-111.872 35.544 4910
+-111.746 35.544 4954
+-111.62 35.544 4995
+-111.494 35.544 5034
+-111.368 35.544 5070
+-111.242 35.544 5074
+-111.116 35.544 5101
+-110.99 35.544 5133
+-110.864 35.544 5160
+-110.738 35.544 5169
+-110.612 35.544 5181
+-110.486 35.544 5182
+-110.36 35.544 5196
+-110.234 35.544 5205
+-110.108 35.544 5201
+-109.982 35.544 5185
+-109.856 35.544 5181
+-109.73 35.544 5168
+-109.604 35.544 5138
+-109.478 35.544 5079
+-109.352 35.544 5054
+-109.226 35.544 4976
+-109.1 35.544 4903
+-108.974 35.544 4860
+-108.848 35.544 4830
+-108.722 35.544 4800
+-108.596 35.544 4775
+-108.47 35.544 4715
+-108.344 35.544 4673
+-108.218 35.544 4591
+-108.092 35.544 4521
+-107.966 35.544 4479
+-107.84 35.544 4430
+-107.714 35.544 4338
+-107.588 35.544 4263
+-107.462 35.544 4195
+-107.336 35.544 4113
+-107.21 35.544 4091
+-107.084 35.544 4060
+-106.958 35.544 3958
+-106.832 35.544 3872
+-106.706 35.544 3730
+-106.58 35.544 3603
+-106.454 35.544 3441
+-106.328 35.544 3294
+-106.202 35.544 3175
+-106.076 35.544 3129
+-105.95 35.544 3145
+-105.824 35.544 3156
+-105.698 35.544 3161
+-105.572 35.544 3170
+-105.446 35.544 3205
+-105.32 35.544 3230
+-105.194 35.544 3274
+-105.068 35.544 3303
+-104.942 35.544 3320
+-104.816 35.544 3344
+-104.69 35.544 3365
+-104.564 35.544 3383
+-104.438 35.544 3399
+-104.312 35.544 3378
+-104.186 35.544 3378
+-104.06 35.544 3388
+-103.934 35.544 3338
+-103.808 35.544 3343
+-103.682 35.544 3348
+-103.556 35.544 3371
+-103.43 35.544 3374
+-103.304 35.544 3368
+-103.178 35.544 3373
+-103.052 35.544 3377
+-102.926 35.544 3381
+-102.8 35.544 3385
+-102.674 35.544 3385
+-102.548 35.544 3376
+-102.422 35.544 3410
+-102.296 35.544 3415
+-102.17 35.544 3420
+-102.044 35.544 3424
+-101.918 35.544 3429
+-101.792 35.544 3302
+-101.666 35.544 3221
+-101.54 35.544 3187
+-101.414 35.544 3096
+-101.288 35.544 3045
+-101.162 35.544 2975
+-101.036 35.544 2958
+-100.91 35.544 2929
+-100.784 35.544 2946
+-100.658 35.544 2912
+-100.532 35.544 2980
+-100.406 35.544 3024
+-100.28 35.544 3029
+-100.154 35.544 3028
+-100.028 35.544 3095
+-99.902 35.544 3084
+-99.776 35.544 3073
+-99.65 35.544 3060
+-99.524 35.544 3046
+-99.398 35.544 3085
+-99.272 35.544 3113
+-99.146 35.544 3095
+-99.02 35.544 3074
+-98.894 35.544 3077
+-98.768 35.544 3050
+-98.642 35.544 3020
+-98.516 35.544 2970
+-98.39 35.544 2933
+-98.264 35.544 2889
+-98.138 35.544 2882
+-98.012 35.544 2821
+-97.886 35.544 2779
+-97.76 35.544 2700
+-97.634 35.544 2618
+-97.508 35.544 2527
+-97.382 35.544 2419
+-97.256 35.544 2317
+-97.13 35.544 2244
+-97.004 35.544 2241
+-96.878 35.544 2326
+-96.752 35.544 2501
+-96.626 35.544 2710
+-96.5 35.544 2873
+-96.374 35.544 3000
+-96.248 35.544 3100
+-96.122 35.544 3215
+-95.996 35.544 3292
+-95.87 35.544 3364
+-95.744 35.544 3429
+-95.618 35.544 3500
+-95.492 35.544 3539
+-95.366 35.544 3596
+-95.24 35.544 3591
+-95.114 35.544 3559
+-94.988 35.544 3540
+-94.862 35.544 3624
+-94.736 35.544 3726
+-94.61 35.544 3841
+-94.484 35.544 3958
+-94.358 35.544 4031
+-94.232 35.544 4092
+-94.106 35.544 4184
+-93.98 35.544 4320
+-93.854 35.544 4441
+-93.728 35.544 4566
+-93.602 35.544 4644
+-93.476 35.544 4754
+-93.35 35.544 4833
+-93.224 35.544 4911
+-93.098 35.544 4960
+-92.972 35.544 5002
+-92.846 35.544 5116
+-92.72 35.544 5233
+-92.594 35.544 5327
+-92.468 35.544 5377
+-92.342 35.544 5364
+-92.216 35.544 5434
+-92.09 35.544 5519
+-91.964 35.544 5573
+-91.838 35.544 5585
+-91.712 35.544 5682
+-91.586 35.544 5745
+-91.46 35.544 5953
+-91.334 35.544 6146
+-91.208 35.544 6204
+-91.082 35.544 6328
+-90.956 35.544 6445
+-90.83 35.544 6508
+-90.704 35.544 6659
+-90.578 35.544 6683
+-90.452 35.544 6815
+-90.326 35.544 6884
+-90.2 35.544 6960
+-90.074 35.544 7057
+-89.948 35.544 7094
+-89.822 35.544 7185
+-89.696 35.544 7202
+-89.57 35.544 7231
+-89.444 35.544 7329
+-89.318 35.544 7343
+-89.192 35.544 7368
+-89.066 35.544 7392
+-88.94 35.544 7395
+-88.814 35.544 7395
+-88.688 35.544 7376
+-88.562 35.544 7390
+-88.436 35.544 7362
+-88.31 35.544 7352
+-88.184 35.544 7268
+-88.058 35.544 7252
+-87.932 35.544 7199
+-87.806 35.544 7158
+-87.68 35.544 7086
+-87.554 35.544 6993
+-87.428 35.544 6892
+-87.302 35.544 6827
+-87.176 35.544 6761
+-87.05 35.544 6624
+-86.924 35.544 6535
+-86.798 35.544 6433
+-86.672 35.544 6355
+-86.546 35.544 6275
+-86.42 35.544 6182
+-86.294 35.544 6140
+-86.168 35.544 5997
+-86.042 35.544 5900
+-85.916 35.544 5784
+-85.79 35.544 5630
+-85.664 35.544 5485
+-85.538 35.544 5492
+-85.412 35.544 5428
+-85.286 35.544 5310
+-85.16 35.544 5225
+-85.034 35.544 5116
+-84.908 35.544 4927
+-84.782 35.544 4774
+-84.656 35.544 4659
+-84.53 35.544 4489
+-84.404 35.544 4324
+-84.278 35.544 4108
+-84.152 35.544 4012
+-84.026 35.544 3994
+-83.9 35.544 3982
+-83.774 35.544 3973
+-83.648 35.544 3926
+-83.522 35.544 3844
+-83.396 35.544 3622
+-83.27 35.544 3435
+-83.144 35.544 3168
+-83.018 35.544 2880
+-82.892 35.544 2757
+-82.766 35.544 2838
+-82.64 35.544 2929
+-82.514 35.544 2924
+-82.388 35.544 2810
+-82.262 35.544 2604
+-82.136 35.544 2327
+-82.01 35.544 2100
+-81.884 35.544 1988
+-81.758 35.544 2006
+-81.632 35.544 2113
+-81.506 35.544 2246
+-81.38 35.544 2368
+-81.254 35.544 2471
+-81.128 35.544 2556
+-81.002 35.544 2625
+-80.876 35.544 2617
+-80.75 35.544 2653
+-80.624 35.544 2688
+-80.498 35.544 2715
+-80.372 35.544 2736
+-80.246 35.544 2756
+-80.12 35.544 2768
+-79.994 35.544 2740
+-79.868 35.544 2735
+-79.742 35.544 2726
+-79.616 35.544 2726
+-79.49 35.544 2701
+-79.364 35.544 2594
+-79.238 35.544 2593
+-79.112 35.544 2593
+-78.986 35.544 2584
+-78.86 35.544 2578
+-78.734 35.544 2573
+-78.608 35.544 2574
+-78.482 35.544 2548
+-78.356 35.544 2508
+-78.23 35.544 2514
+-78.104 35.544 2469
+-77.978 35.544 2471
+-77.852 35.544 2479
+-77.726 35.544 2487
+-77.6 35.544 2512
+-77.474 35.544 2529
+-77.348 35.544 2548
+-77.222 35.544 2551
+-77.096 35.544 2580
+-76.97 35.544 2594
+-76.844 35.544 2616
+-76.718 35.544 2624
+-76.592 35.544 2667
+-76.466 35.544 2680
+-76.34 35.544 2731
+-76.214 35.544 2742
+-76.088 35.544 2746
+-75.962 35.544 2838
+-75.836 35.544 2848
+-75.71 35.544 2900
+-75.584 35.544 2910
+-75.458 35.544 2920
+-75.332 35.544 2929
+-75.206 35.544 2938
+-75.08 35.544 2888
+-74.954 35.544 2910
+-74.828 35.544 2918
+-74.702 35.544 2918
+-74.576 35.544 3179
+-74.45 35.544 3207
+-74.324 35.544 3213
+-74.198 35.544 3216
+-74.072 35.544 3222
+-73.946 35.544 3231
+-73.82 35.544 3248
+-73.694 35.544 3253
+-73.568 35.544 3249
+-73.442 35.544 3254
+-73.316 35.544 3217
+-73.19 35.544 3221
+-73.064 35.544 3226
+-72.938 35.544 3285
+-72.812 35.544 3284
+-72.686 35.544 3296
+-72.56 35.544 3300
+-72.434 35.544 3286
+-72.308 35.544 3307
+-72.182 35.544 3352
+-72.056 35.544 3364
+-71.93 35.544 3367
+-71.804 35.544 3368
+-71.678 35.544 3417
+-71.552 35.544 3421
+-71.426 35.544 3368
+-71.3 35.544 3390
+-71.174 35.544 3387
+-71.048 35.544 3315
+-70.922 35.544 3233
+-70.796 35.544 3255
+-70.67 35.544 3258
+-70.544 35.544 3289
+-70.418 35.544 3267
+-70.292 35.544 3278
+-70.166 35.544 3281
+-70.04 35.544 3264
+-69.914 35.544 3266
+-69.788 35.544 3269
+-69.662 35.544 3247
+-69.536 35.544 3231
+-69.41 35.544 3265
+-69.284 35.544 3261
+-69.158 35.544 3263
+-69.032 35.544 3266
+-68.906 35.544 3189
+-68.78 35.544 3228
+-68.654 35.544 3225
+-68.528 35.544 3227
+-68.402 35.544 3229
+-68.276 35.544 3460
+-68.15 35.544 3387
+-68.024 35.544 3396
+-67.898 35.544 3398
+-67.772 35.544 3294
+-67.646 35.544 3281
+-67.52 35.544 3282
+-67.394 35.544 3283
+-67.268 35.544 3261
+-67.142 35.544 3262
+-67.016 35.544 3263
+-66.89 35.544 3263
+-66.764 35.544 3264
+-66.638 35.544 3289
+-66.512 35.544 3290
+-66.386 35.544 3275
+-66.26 35.544 3276
+-66.134 35.544 3277
+-66.008 35.544 3215
+-65.882 35.544 3402
+-65.756 35.544 3360
+-65.63 35.544 3361
+-65.504 35.544 3330
+-65.378 35.544 3331
+-65.252 35.544 3332
+-65.126 35.544 3464
+-128 35.492 2949
+-127.874 35.492 2941
+-127.748 35.492 2932
+-127.622 35.492 2924
+-127.496 35.492 2914
+-127.37 35.492 2904
+-127.244 35.492 3001
+-127.118 35.492 2988
+-126.992 35.492 2975
+-126.866 35.492 2962
+-126.74 35.492 2947
+-126.614 35.492 2932
+-126.488 35.492 2916
+-126.362 35.492 2899
+-126.236 35.492 2881
+-126.11 35.492 2862
+-125.984 35.492 2843
+-125.858 35.492 2822
+-125.732 35.492 2802
+-125.606 35.492 2847
+-125.48 35.492 2825
+-125.354 35.492 2804
+-125.228 35.492 2784
+-125.102 35.492 2765
+-124.976 35.492 2749
+-124.85 35.492 2736
+-124.724 35.492 2726
+-124.598 35.492 2721
+-124.472 35.492 2753
+-124.346 35.492 2762
+-124.22 35.492 2782
+-124.094 35.492 2819
+-123.968 35.492 2877
+-123.842 35.492 2960
+-123.716 35.492 3074
+-123.59 35.492 3192
+-123.464 35.492 3310
+-123.338 35.492 3452
+-123.212 35.492 3617
+-123.086 35.492 3691
+-122.96 35.492 3739
+-122.834 35.492 3840
+-122.708 35.492 3847
+-122.582 35.492 3862
+-122.456 35.492 3868
+-122.33 35.492 3952
+-122.204 35.492 4104
+-122.078 35.492 4287
+-121.952 35.492 4484
+-121.826 35.492 4635
+-121.7 35.492 4829
+-121.574 35.492 4978
+-121.448 35.492 5042
+-121.322 35.492 5118
+-121.196 35.492 5174
+-121.07 35.492 5264
+-120.944 35.492 5358
+-120.818 35.492 5474
+-120.692 35.492 5594
+-120.566 35.492 5740
+-120.44 35.492 5833
+-120.314 35.492 5977
+-120.188 35.492 6071
+-120.062 35.492 6266
+-119.936 35.492 6380
+-119.81 35.492 6451
+-119.684 35.492 6601
+-119.558 35.492 6750
+-119.432 35.492 6828
+-119.306 35.492 6903
+-119.18 35.492 7063
+-119.054 35.492 7193
+-118.928 35.492 7255
+-118.802 35.492 7386
+-118.676 35.492 7523
+-118.55 35.492 7573
+-118.424 35.492 7676
+-118.298 35.492 7738
+-118.172 35.492 7799
+-118.046 35.492 7873
+-117.92 35.492 7932
+-117.794 35.492 7992
+-117.668 35.492 8044
+-117.542 35.492 8081
+-117.416 35.492 8057
+-117.29 35.492 8073
+-117.164 35.492 8098
+-117.038 35.492 8050
+-116.912 35.492 8028
+-116.786 35.492 7958
+-116.66 35.492 7909
+-116.534 35.492 7823
+-116.408 35.492 7757
+-116.282 35.492 7716
+-116.156 35.492 7573
+-116.03 35.492 7495
+-115.904 35.492 7443
+-115.778 35.492 7311
+-115.652 35.492 7210
+-115.526 35.492 7093
+-115.4 35.492 6954
+-115.274 35.492 6871
+-115.148 35.492 6730
+-115.022 35.492 6669
+-114.896 35.492 6567
+-114.77 35.492 6422
+-114.644 35.492 6277
+-114.518 35.492 6197
+-114.392 35.492 6048
+-114.266 35.492 5939
+-114.14 35.492 5830
+-114.014 35.492 5657
+-113.888 35.492 5445
+-113.762 35.492 5361
+-113.636 35.492 5219
+-113.51 35.492 5130
+-113.384 35.492 4971
+-113.258 35.492 4958
+-113.132 35.492 4820
+-113.006 35.492 4668
+-112.88 35.492 4596
+-112.754 35.492 4605
+-112.628 35.492 4641
+-112.502 35.492 4682
+-112.376 35.492 4773
+-112.25 35.492 4822
+-112.124 35.492 4853
+-111.998 35.492 4923
+-111.872 35.492 4974
+-111.746 35.492 5015
+-111.62 35.492 5085
+-111.494 35.492 5109
+-111.368 35.492 5126
+-111.242 35.492 5147
+-111.116 35.492 5178
+-110.99 35.492 5220
+-110.864 35.492 5233
+-110.738 35.492 5237
+-110.612 35.492 5224
+-110.486 35.492 5249
+-110.36 35.492 5268
+-110.234 35.492 5281
+-110.108 35.492 5262
+-109.982 35.492 5248
+-109.856 35.492 5228
+-109.73 35.492 5205
+-109.604 35.492 5180
+-109.478 35.492 5127
+-109.352 35.492 5085
+-109.226 35.492 5037
+-109.1 35.492 4950
+-108.974 35.492 4912
+-108.848 35.492 4868
+-108.722 35.492 4830
+-108.596 35.492 4801
+-108.47 35.492 4747
+-108.344 35.492 4726
+-108.218 35.492 4669
+-108.092 35.492 4609
+-107.966 35.492 4549
+-107.84 35.492 4461
+-107.714 35.492 4329
+-107.588 35.492 4242
+-107.462 35.492 4260
+-107.336 35.492 4212
+-107.21 35.492 4170
+-107.084 35.492 4090
+-106.958 35.492 4007
+-106.832 35.492 3928
+-106.706 35.492 3779
+-106.58 35.492 3664
+-106.454 35.492 3533
+-106.328 35.492 3372
+-106.202 35.492 3246
+-106.076 35.492 3181
+-105.95 35.492 3198
+-105.824 35.492 3225
+-105.698 35.492 3250
+-105.572 35.492 3268
+-105.446 35.492 3299
+-105.32 35.492 3310
+-105.194 35.492 3318
+-105.068 35.492 3333
+-104.942 35.492 3355
+-104.816 35.492 3375
+-104.69 35.492 3393
+-104.564 35.492 3408
+-104.438 35.492 3422
+-104.312 35.492 3443
+-104.186 35.492 3455
+-104.06 35.492 3466
+-103.934 35.492 3476
+-103.808 35.492 3423
+-103.682 35.492 3384
+-103.556 35.492 3387
+-103.43 35.492 3381
+-103.304 35.492 3385
+-103.178 35.492 3389
+-103.052 35.492 3393
+-102.926 35.492 3396
+-102.8 35.492 3396
+-102.674 35.492 3387
+-102.548 35.492 3420
+-102.422 35.492 3425
+-102.296 35.492 3429
+-102.17 35.492 3434
+-102.044 35.492 3438
+-101.918 35.492 3442
+-101.792 35.492 3314
+-101.666 35.492 3181
+-101.54 35.492 3119
+-101.414 35.492 3113
+-101.288 35.492 3055
+-101.162 35.492 2984
+-101.036 35.492 2976
+-100.91 35.492 2958
+-100.784 35.492 2949
+-100.658 35.492 2937
+-100.532 35.492 2969
+-100.406 35.492 3010
+-100.28 35.492 3028
+-100.154 35.492 3019
+-100.028 35.492 3095
+-99.902 35.492 3084
+-99.776 35.492 3073
+-99.65 35.492 3060
+-99.524 35.492 3100
+-99.398 35.492 3131
+-99.272 35.492 3115
+-99.146 35.492 3097
+-99.02 35.492 3067
+-98.894 35.492 3045
+-98.768 35.492 3021
+-98.642 35.492 3010
+-98.516 35.492 2978
+-98.39 35.492 2943
+-98.264 35.492 2909
+-98.138 35.492 2864
+-98.012 35.492 2820
+-97.886 35.492 2818
+-97.76 35.492 2764
+-97.634 35.492 2695
+-97.508 35.492 2621
+-97.382 35.492 2548
+-97.256 35.492 2487
+-97.13 35.492 2456
+-97.004 35.492 2470
+-96.878 35.492 2562
+-96.752 35.492 2705
+-96.626 35.492 2839
+-96.5 35.492 2965
+-96.374 35.492 3061
+-96.248 35.492 3150
+-96.122 35.492 3278
+-95.996 35.492 3348
+-95.87 35.492 3410
+-95.744 35.492 3467
+-95.618 35.492 3519
+-95.492 35.492 3551
+-95.366 35.492 3609
+-95.24 35.492 3617
+-95.114 35.492 3604
+-94.988 35.492 3601
+-94.862 35.492 3632
+-94.736 35.492 3657
+-94.61 35.492 3750
+-94.484 35.492 3887
+-94.358 35.492 3978
+-94.232 35.492 4055
+-94.106 35.492 4128
+-93.98 35.492 4278
+-93.854 35.492 4407
+-93.728 35.492 4501
+-93.602 35.492 4575
+-93.476 35.492 4684
+-93.35 35.492 4792
+-93.224 35.492 4880
+-93.098 35.492 4946
+-92.972 35.492 5005
+-92.846 35.492 5107
+-92.72 35.492 5191
+-92.594 35.492 5236
+-92.468 35.492 5333
+-92.342 35.492 5356
+-92.216 35.492 5406
+-92.09 35.492 5435
+-91.964 35.492 5557
+-91.838 35.492 5599
+-91.712 35.492 5639
+-91.586 35.492 5769
+-91.46 35.492 6006
+-91.334 35.492 6064
+-91.208 35.492 6179
+-91.082 35.492 6276
+-90.956 35.492 6366
+-90.83 35.492 6462
+-90.704 35.492 6552
+-90.578 35.492 6615
+-90.452 35.492 6789
+-90.326 35.492 6852
+-90.2 35.492 6910
+-90.074 35.492 6961
+-89.948 35.492 7038
+-89.822 35.492 7097
+-89.696 35.492 7150
+-89.57 35.492 7209
+-89.444 35.492 7260
+-89.318 35.492 7299
+-89.192 35.492 7312
+-89.066 35.492 7336
+-88.94 35.492 7332
+-88.814 35.492 7333
+-88.688 35.492 7316
+-88.562 35.492 7308
+-88.436 35.492 7288
+-88.31 35.492 7277
+-88.184 35.492 7209
+-88.058 35.492 7218
+-87.932 35.492 7142
+-87.806 35.492 7103
+-87.68 35.492 7026
+-87.554 35.492 6935
+-87.428 35.492 6850
+-87.302 35.492 6828
+-87.176 35.492 6716
+-87.05 35.492 6661
+-86.924 35.492 6527
+-86.798 35.492 6435
+-86.672 35.492 6354
+-86.546 35.492 6250
+-86.42 35.492 6173
+-86.294 35.492 6086
+-86.168 35.492 5989
+-86.042 35.492 5860
+-85.916 35.492 5673
+-85.79 35.492 5604
+-85.664 35.492 5525
+-85.538 35.492 5480
+-85.412 35.492 5374
+-85.286 35.492 5232
+-85.16 35.492 5104
+-85.034 35.492 5061
+-84.908 35.492 4880
+-84.782 35.492 4689
+-84.656 35.492 4574
+-84.53 35.492 4496
+-84.404 35.492 4341
+-84.278 35.492 4133
+-84.152 35.492 4012
+-84.026 35.492 3938
+-83.9 35.492 3940
+-83.774 35.492 3952
+-83.648 35.492 3931
+-83.522 35.492 3857
+-83.396 35.492 3635
+-83.27 35.492 3438
+-83.144 35.492 3192
+-83.018 35.492 2962
+-82.892 35.492 2852
+-82.766 35.492 2892
+-82.64 35.492 2941
+-82.514 35.492 2907
+-82.388 35.492 2758
+-82.262 35.492 2495
+-82.136 35.492 2153
+-82.01 35.492 1832
+-81.884 35.492 1707
+-81.758 35.492 1782
+-81.632 35.492 1963
+-81.506 35.492 2151
+-81.38 35.492 2311
+-81.254 35.492 2437
+-81.128 35.492 2505
+-81.002 35.492 2552
+-80.876 35.492 2602
+-80.75 35.492 2646
+-80.624 35.492 2680
+-80.498 35.492 2707
+-80.372 35.492 2726
+-80.246 35.492 2735
+-80.12 35.492 2753
+-79.994 35.492 2721
+-79.868 35.492 2704
+-79.742 35.492 2703
+-79.616 35.492 2678
+-79.49 35.492 2674
+-79.364 35.492 2562
+-79.238 35.492 2560
+-79.112 35.492 2556
+-78.986 35.492 2545
+-78.86 35.492 2542
+-78.734 35.492 2543
+-78.608 35.492 2515
+-78.482 35.492 2480
+-78.356 35.492 2486
+-78.23 35.492 2460
+-78.104 35.492 2468
+-77.978 35.492 2477
+-77.852 35.492 2463
+-77.726 35.492 2488
+-77.6 35.492 2507
+-77.474 35.492 2547
+-77.348 35.492 2532
+-77.222 35.492 2583
+-77.096 35.492 2577
+-76.97 35.492 2622
+-76.844 35.492 2634
+-76.718 35.492 2653
+-76.592 35.492 2667
+-76.466 35.492 2754
+-76.34 35.492 2753
+-76.214 35.492 2774
+-76.088 35.492 2827
+-75.962 35.492 2838
+-75.836 35.492 2890
+-75.71 35.492 2901
+-75.584 35.492 2911
+-75.458 35.492 2921
+-75.332 35.492 2930
+-75.206 35.492 2881
+-75.08 35.492 2904
+-74.954 35.492 2912
+-74.828 35.492 2913
+-74.702 35.492 3170
+-74.576 35.492 3199
+-74.45 35.492 3206
+-74.324 35.492 3209
+-74.198 35.492 3215
+-74.072 35.492 3224
+-73.946 35.492 3241
+-73.82 35.492 3247
+-73.694 35.492 3243
+-73.568 35.492 3249
+-73.442 35.492 3212
+-73.316 35.492 3217
+-73.19 35.492 3221
+-73.064 35.492 3280
+-72.938 35.492 3280
+-72.812 35.492 3291
+-72.686 35.492 3296
+-72.56 35.492 3282
+-72.434 35.492 3304
+-72.308 35.492 3348
+-72.182 35.492 3360
+-72.056 35.492 3363
+-71.93 35.492 3365
+-71.804 35.492 3413
+-71.678 35.492 3418
+-71.552 35.492 3365
+-71.426 35.492 3387
+-71.3 35.492 3384
+-71.174 35.492 3309
+-71.048 35.492 3231
+-70.922 35.492 3253
+-70.796 35.492 3256
+-70.67 35.492 3287
+-70.544 35.492 3265
+-70.418 35.492 3276
+-70.292 35.492 3279
+-70.166 35.492 3262
+-70.04 35.492 3265
+-69.914 35.492 3267
+-69.788 35.492 3246
+-69.662 35.492 3230
+-69.536 35.492 3263
+-69.41 35.492 3259
+-69.284 35.492 3262
+-69.158 35.492 3264
+-69.032 35.492 3188
+-68.906 35.492 3227
+-68.78 35.492 3224
+-68.654 35.492 3226
+-68.528 35.492 3228
+-68.402 35.492 3458
+-68.276 35.492 3382
+-68.15 35.492 3395
+-68.024 35.492 3397
+-67.898 35.492 3293
+-67.772 35.492 3280
+-67.646 35.492 3281
+-67.52 35.492 3282
+-67.394 35.492 3260
+-67.268 35.492 3261
+-67.142 35.492 3262
+-67.016 35.492 3263
+-66.89 35.492 3263
+-66.764 35.492 3288
+-66.638 35.492 3289
+-66.512 35.492 3274
+-66.386 35.492 3275
+-66.26 35.492 3276
+-66.134 35.492 3215
+-66.008 35.492 3401
+-65.882 35.492 3359
+-65.756 35.492 3360
+-65.63 35.492 3330
+-65.504 35.492 3330
+-65.378 35.492 3331
+-65.252 35.492 3463
+-65.126 35.492 3464
+-128 35.44 2899
+-127.874 35.44 2946
+-127.748 35.44 2938
+-127.622 35.44 2929
+-127.496 35.44 2920
+-127.37 35.44 2911
+-127.244 35.44 2901
+-127.118 35.44 2997
+-126.992 35.44 2985
+-126.866 35.44 2972
+-126.74 35.44 2958
+-126.614 35.44 2944
+-126.488 35.44 2929
+-126.362 35.44 2913
+-126.236 35.44 2896
+-126.11 35.44 2878
+-125.984 35.44 2860
+-125.858 35.44 2841
+-125.732 35.44 2890
+-125.606 35.44 2869
+-125.48 35.44 2848
+-125.354 35.44 2827
+-125.228 35.44 2807
+-125.102 35.44 2787
+-124.976 35.44 2769
+-124.85 35.44 2750
+-124.724 35.44 2737
+-124.598 35.44 2769
+-124.472 35.44 2769
+-124.346 35.44 2781
+-124.22 35.44 2809
+-124.094 35.44 2856
+-123.968 35.44 2923
+-123.842 35.44 3010
+-123.716 35.44 3112
+-123.59 35.44 3221
+-123.464 35.44 3364
+-123.338 35.44 3469
+-123.212 35.44 3582
+-123.086 35.44 3722
+-122.96 35.44 3774
+-122.834 35.44 3860
+-122.708 35.44 3952
+-122.582 35.44 3956
+-122.456 35.44 3993
+-122.33 35.44 4075
+-122.204 35.44 4190
+-122.078 35.44 4347
+-121.952 35.44 4508
+-121.826 35.44 4587
+-121.7 35.44 4765
+-121.574 35.44 4944
+-121.448 35.44 4997
+-121.322 35.44 5071
+-121.196 35.44 5191
+-121.07 35.44 5243
+-120.944 35.44 5346
+-120.818 35.44 5468
+-120.692 35.44 5658
+-120.566 35.44 5737
+-120.44 35.44 5850
+-120.314 35.44 5995
+-120.188 35.44 6114
+-120.062 35.44 6262
+-119.936 35.44 6408
+-119.81 35.44 6490
+-119.684 35.44 6643
+-119.558 35.44 6772
+-119.432 35.44 6809
+-119.306 35.44 6947
+-119.18 35.44 7069
+-119.054 35.44 7229
+-118.928 35.44 7328
+-118.802 35.44 7371
+-118.676 35.44 7497
+-118.55 35.44 7644
+-118.424 35.44 7710
+-118.298 35.44 7766
+-118.172 35.44 7860
+-118.046 35.44 7921
+-117.92 35.44 7989
+-117.794 35.44 8032
+-117.668 35.44 8083
+-117.542 35.44 8113
+-117.416 35.44 8131
+-117.29 35.44 8113
+-117.164 35.44 8126
+-117.038 35.44 8102
+-116.912 35.44 8070
+-116.786 35.44 8013
+-116.66 35.44 7945
+-116.534 35.44 7928
+-116.408 35.44 7791
+-116.282 35.44 7742
+-116.156 35.44 7634
+-116.03 35.44 7585
+-115.904 35.44 7446
+-115.778 35.44 7324
+-115.652 35.44 7294
+-115.526 35.44 7102
+-115.4 35.44 7007
+-115.274 35.44 6943
+-115.148 35.44 6784
+-115.022 35.44 6704
+-114.896 35.44 6567
+-114.77 35.44 6450
+-114.644 35.44 6289
+-114.518 35.44 6185
+-114.392 35.44 6077
+-114.266 35.44 5954
+-114.14 35.44 5842
+-114.014 35.44 5715
+-113.888 35.44 5540
+-113.762 35.44 5385
+-113.636 35.44 5228
+-113.51 35.44 5117
+-113.384 35.44 5009
+-113.258 35.44 5005
+-113.132 35.44 4865
+-113.006 35.44 4676
+-112.88 35.44 4524
+-112.754 35.44 4562
+-112.628 35.44 4676
+-112.502 35.44 4755
+-112.376 35.44 4786
+-112.25 35.44 4834
+-112.124 35.44 4911
+-111.998 35.44 4944
+-111.872 35.44 5046
+-111.746 35.44 5067
+-111.62 35.44 5149
+-111.494 35.44 5148
+-111.368 35.44 5171
+-111.242 35.44 5219
+-111.116 35.44 5259
+-110.99 35.44 5291
+-110.864 35.44 5325
+-110.738 35.44 5345
+-110.612 35.44 5331
+-110.486 35.44 5337
+-110.36 35.44 5355
+-110.234 35.44 5348
+-110.108 35.44 5328
+-109.982 35.44 5316
+-109.856 35.44 5296
+-109.73 35.44 5263
+-109.604 35.44 5245
+-109.478 35.44 5217
+-109.352 35.44 5174
+-109.226 35.44 5101
+-109.1 35.44 5028
+-108.974 35.44 4966
+-108.848 35.44 4921
+-108.722 35.44 4881
+-108.596 35.44 4842
+-108.47 35.44 4783
+-108.344 35.44 4756
+-108.218 35.44 4716
+-108.092 35.44 4676
+-107.966 35.44 4631
+-107.84 35.44 4539
+-107.714 35.44 4414
+-107.588 35.44 4324
+-107.462 35.44 4316
+-107.336 35.44 4300
+-107.21 35.44 4203
+-107.084 35.44 4131
+-106.958 35.44 4083
+-106.832 35.44 3983
+-106.706 35.44 3880
+-106.58 35.44 3735
+-106.454 35.44 3630
+-106.328 35.44 3496
+-106.202 35.44 3390
+-106.076 35.44 3319
+-105.95 35.44 3312
+-105.824 35.44 3319
+-105.698 35.44 3326
+-105.572 35.44 3346
+-105.446 35.44 3381
+-105.32 35.44 3395
+-105.194 35.44 3422
+-105.068 35.44 3403
+-104.942 35.44 3422
+-104.816 35.44 3439
+-104.69 35.44 3454
+-104.564 35.44 3468
+-104.438 35.44 3456
+-104.312 35.44 3467
+-104.186 35.44 3477
+-104.06 35.44 3487
+-103.934 35.44 3495
+-103.808 35.44 3503
+-103.682 35.44 3473
+-103.556 35.44 3395
+-103.43 35.44 3399
+-103.304 35.44 3402
+-103.178 35.44 3406
+-103.052 35.44 3409
+-102.926 35.44 3408
+-102.8 35.44 3398
+-102.674 35.44 3431
+-102.548 35.44 3436
+-102.422 35.44 3440
+-102.296 35.44 3444
+-102.17 35.44 3448
+-102.044 35.44 3451
+-101.918 35.44 3455
+-101.792 35.44 3274
+-101.666 35.44 3228
+-101.54 35.44 3136
+-101.414 35.44 3125
+-101.288 35.44 3068
+-101.162 35.44 3028
+-101.036 35.44 2991
+-100.91 35.44 2973
+-100.784 35.44 2956
+-100.658 35.44 2938
+-100.532 35.44 2986
+-100.406 35.44 3024
+-100.28 35.44 3012
+-100.154 35.44 3020
+-100.028 35.44 3095
+-99.902 35.44 3084
+-99.776 35.44 3073
+-99.65 35.44 3115
+-99.524 35.44 3096
+-99.398 35.44 3083
+-99.272 35.44 3068
+-99.146 35.44 3089
+-99.02 35.44 3071
+-98.894 35.44 3050
+-98.768 35.44 3044
+-98.642 35.44 3018
+-98.516 35.44 2989
+-98.39 35.44 2963
+-98.264 35.44 2928
+-98.138 35.44 2896
+-98.012 35.44 2910
+-97.886 35.44 2843
+-97.76 35.44 2801
+-97.634 35.44 2773
+-97.508 35.44 2721
+-97.382 35.44 2675
+-97.256 35.44 2641
+-97.13 35.44 2631
+-97.004 35.44 2679
+-96.878 35.44 2758
+-96.752 35.44 2844
+-96.626 35.44 2942
+-96.5 35.44 3040
+-96.374 35.44 3129
+-96.248 35.44 3207
+-96.122 35.44 3330
+-95.996 35.44 3380
+-95.87 35.44 3448
+-95.744 35.44 3503
+-95.618 35.44 3540
+-95.492 35.44 3568
+-95.366 35.44 3625
+-95.24 35.44 3620
+-95.114 35.44 3601
+-94.988 35.44 3567
+-94.862 35.44 3562
+-94.736 35.44 3574
+-94.61 35.44 3684
+-94.484 35.44 3824
+-94.358 35.44 3926
+-94.232 35.44 4009
+-94.106 35.44 4105
+-93.98 35.44 4224
+-93.854 35.44 4325
+-93.728 35.44 4410
+-93.602 35.44 4535
+-93.476 35.44 4602
+-93.35 35.44 4703
+-93.224 35.44 4800
+-93.098 35.44 4881
+-92.972 35.44 4980
+-92.846 35.44 5073
+-92.72 35.44 5158
+-92.594 35.44 5136
+-92.468 35.44 5246
+-92.342 35.44 5330
+-92.216 35.44 5345
+-92.09 35.44 5429
+-91.964 35.44 5506
+-91.838 35.44 5544
+-91.712 35.44 5636
+-91.586 35.44 5618
+-91.46 35.44 5920
+-91.334 35.44 6008
+-91.208 35.44 6136
+-91.082 35.44 6231
+-90.956 35.44 6339
+-90.83 35.44 6441
+-90.704 35.44 6533
+-90.578 35.44 6609
+-90.452 35.44 6712
+-90.326 35.44 6813
+-90.2 35.44 6870
+-90.074 35.44 6934
+-89.948 35.44 7005
+-89.822 35.44 7054
+-89.696 35.44 7110
+-89.57 35.44 7161
+-89.444 35.44 7218
+-89.318 35.44 7230
+-89.192 35.44 7273
+-89.066 35.44 7273
+-88.94 35.44 7283
+-88.814 35.44 7309
+-88.688 35.44 7271
+-88.562 35.44 7252
+-88.436 35.44 7226
+-88.31 35.44 7216
+-88.184 35.44 7194
+-88.058 35.44 7147
+-87.932 35.44 7124
+-87.806 35.44 7054
+-87.68 35.44 6963
+-87.554 35.44 6885
+-87.428 35.44 6834
+-87.302 35.44 6726
+-87.176 35.44 6697
+-87.05 35.44 6602
+-86.924 35.44 6502
+-86.798 35.44 6400
+-86.672 35.44 6308
+-86.546 35.44 6220
+-86.42 35.44 6132
+-86.294 35.44 6054
+-86.168 35.44 5936
+-86.042 35.44 5853
+-85.916 35.44 5697
+-85.79 35.44 5590
+-85.664 35.44 5419
+-85.538 35.44 5402
+-85.412 35.44 5338
+-85.286 35.44 5155
+-85.16 35.44 4984
+-85.034 35.44 5020
+-84.908 35.44 4831
+-84.782 35.44 4632
+-84.656 35.44 4505
+-84.53 35.44 4500
+-84.404 35.44 4382
+-84.278 35.44 4178
+-84.152 35.44 3950
+-84.026 35.44 3809
+-83.9 35.44 3885
+-83.774 35.44 3930
+-83.648 35.44 3919
+-83.522 35.44 3806
+-83.396 35.44 3632
+-83.27 35.44 3483
+-83.144 35.44 3302
+-83.018 35.44 3114
+-82.892 35.44 3018
+-82.766 35.44 2998
+-82.64 35.44 2984
+-82.514 35.44 2902
+-82.388 35.44 2730
+-82.262 35.44 2437
+-82.136 35.44 2060
+-82.01 35.44 1716
+-81.884 35.44 1590
+-81.758 35.44 1689
+-81.632 35.44 1897
+-81.506 35.44 2111
+-81.38 35.44 2285
+-81.254 35.44 2406
+-81.128 35.44 2473
+-81.002 35.44 2541
+-80.876 35.44 2599
+-80.75 35.44 2642
+-80.624 35.44 2675
+-80.498 35.44 2700
+-80.372 35.44 2712
+-80.246 35.44 2723
+-80.12 35.44 2732
+-79.994 35.44 2734
+-79.868 35.44 2681
+-79.742 35.44 2647
+-79.616 35.44 2640
+-79.49 35.44 2633
+-79.364 35.44 2639
+-79.238 35.44 2523
+-79.112 35.44 2511
+-78.986 35.44 2508
+-78.86 35.44 2510
+-78.734 35.44 2479
+-78.608 35.44 2449
+-78.482 35.44 2455
+-78.356 35.44 2430
+-78.23 35.44 2439
+-78.104 35.44 2448
+-77.978 35.44 2455
+-77.852 35.44 2475
+-77.726 35.44 2502
+-77.6 35.44 2524
+-77.474 35.44 2511
+-77.348 35.44 2563
+-77.222 35.44 2558
+-77.096 35.44 2605
+-76.97 35.44 2617
+-76.844 35.44 2638
+-76.718 35.44 2690
+-76.592 35.44 2739
+-76.466 35.44 2740
+-76.34 35.44 2762
+-76.214 35.44 2815
+-76.088 35.44 2826
+-75.962 35.44 2879
+-75.836 35.44 2890
+-75.71 35.44 2901
+-75.584 35.44 2911
+-75.458 35.44 2921
+-75.332 35.44 2874
+-75.206 35.44 2897
+-75.08 35.44 2906
+-74.954 35.44 2907
+-74.828 35.44 3162
+-74.702 35.44 3190
+-74.576 35.44 3198
+-74.45 35.44 3202
+-74.324 35.44 3208
+-74.198 35.44 3218
+-74.072 35.44 3235
+-73.946 35.44 3241
+-73.82 35.44 3238
+-73.694 35.44 3243
+-73.568 35.44 3207
+-73.442 35.44 3212
+-73.316 35.44 3217
+-73.19 35.44 3275
+-73.064 35.44 3275
+-72.938 35.44 3287
+-72.812 35.44 3292
+-72.686 35.44 3278
+-72.56 35.44 3300
+-72.434 35.44 3344
+-72.308 35.44 3356
+-72.182 35.44 3359
+-72.056 35.44 3361
+-71.93 35.44 3409
+-71.804 35.44 3414
+-71.678 35.44 3362
+-71.552 35.44 3384
+-71.426 35.44 3381
+-71.3 35.44 3310
+-71.174 35.44 3229
+-71.048 35.44 3251
+-70.922 35.44 3254
+-70.796 35.44 3285
+-70.67 35.44 3262
+-70.544 35.44 3274
+-70.418 35.44 3277
+-70.292 35.44 3260
+-70.166 35.44 3263
+-70.04 35.44 3266
+-69.914 35.44 3245
+-69.788 35.44 3229
+-69.662 35.44 3262
+-69.536 35.44 3258
+-69.41 35.44 3260
+-69.284 35.44 3263
+-69.158 35.44 3186
+-69.032 35.44 3226
+-68.906 35.44 3223
+-68.78 35.44 3225
+-68.654 35.44 3227
+-68.528 35.44 3457
+-68.402 35.44 3384
+-68.276 35.44 3394
+-68.15 35.44 3395
+-68.024 35.44 3292
+-67.898 35.44 3279
+-67.772 35.44 3280
+-67.646 35.44 3281
+-67.52 35.44 3259
+-67.394 35.44 3260
+-67.268 35.44 3261
+-67.142 35.44 3262
+-67.016 35.44 3263
+-66.89 35.44 3287
+-66.764 35.44 3288
+-66.638 35.44 3273
+-66.512 35.44 3274
+-66.386 35.44 3275
+-66.26 35.44 3214
+-66.134 35.44 3400
+-66.008 35.44 3359
+-65.882 35.44 3359
+-65.756 35.44 3329
+-65.63 35.44 3330
+-65.504 35.44 3330
+-65.378 35.44 3462
+-65.252 35.44 3463
+-65.126 35.44 3463
+-128 35.388 2902
+-127.874 35.388 2896
+-127.748 35.388 2943
+-127.622 35.388 2935
+-127.496 35.388 2927
+-127.37 35.388 2918
+-127.244 35.388 2908
+-127.118 35.388 2898
+-126.992 35.388 2995
+-126.866 35.388 2982
+-126.74 35.388 2969
+-126.614 35.388 2956
+-126.488 35.388 2941
+-126.362 35.388 2926
+-126.236 35.388 2910
+-126.11 35.388 2894
+-125.984 35.388 2876
+-125.858 35.388 2889
+-125.732 35.388 2908
+-125.606 35.388 2887
+-125.48 35.388 2865
+-125.354 35.388 2843
+-125.228 35.388 2820
+-125.102 35.388 2797
+-124.976 35.388 2773
+-124.85 35.388 2750
+-124.724 35.388 2734
+-124.598 35.388 2747
+-124.472 35.388 2739
+-124.346 35.388 2745
+-124.22 35.388 2773
+-124.094 35.388 2826
+-123.968 35.388 2903
+-123.842 35.388 3001
+-123.716 35.388 3111
+-123.59 35.388 3227
+-123.464 35.388 3431
+-123.338 35.388 3500
+-123.212 35.388 3666
+-123.086 35.388 3734
+-122.96 35.388 3787
+-122.834 35.388 3885
+-122.708 35.388 4002
+-122.582 35.388 4027
+-122.456 35.388 4067
+-122.33 35.388 4146
+-122.204 35.388 4254
+-122.078 35.388 4399
+-121.952 35.388 4508
+-121.826 35.388 4470
+-121.7 35.388 4727
+-121.574 35.388 4916
+-121.448 35.388 4861
+-121.322 35.388 5040
+-121.196 35.388 5166
+-121.07 35.388 5305
+-120.944 35.388 5326
+-120.818 35.388 5472
+-120.692 35.388 5665
+-120.566 35.388 5812
+-120.44 35.388 5915
+-120.314 35.388 6080
+-120.188 35.388 6130
+-120.062 35.388 6261
+-119.936 35.388 6365
+-119.81 35.388 6539
+-119.684 35.388 6645
+-119.558 35.388 6777
+-119.432 35.388 6908
+-119.306 35.388 6978
+-119.18 35.388 7137
+-119.054 35.388 7223
+-118.928 35.388 7300
+-118.802 35.388 7418
+-118.676 35.388 7526
+-118.55 35.388 7648
+-118.424 35.388 7714
+-118.298 35.388 7833
+-118.172 35.388 7933
+-118.046 35.388 7958
+-117.92 35.388 8075
+-117.794 35.388 8089
+-117.668 35.388 8177
+-117.542 35.388 8163
+-117.416 35.388 8203
+-117.29 35.388 8191
+-117.164 35.388 8197
+-117.038 35.388 8160
+-116.912 35.388 8122
+-116.786 35.388 8067
+-116.66 35.388 8011
+-116.534 35.388 7933
+-116.408 35.388 7826
+-116.282 35.388 7771
+-116.156 35.388 7667
+-116.03 35.388 7596
+-115.904 35.388 7516
+-115.778 35.388 7392
+-115.652 35.388 7208
+-115.526 35.388 7169
+-115.4 35.388 7044
+-115.274 35.388 6900
+-115.148 35.388 6782
+-115.022 35.388 6704
+-114.896 35.388 6585
+-114.77 35.388 6408
+-114.644 35.388 6366
+-114.518 35.388 6220
+-114.392 35.388 6090
+-114.266 35.388 5958
+-114.14 35.388 5837
+-114.014 35.388 5726
+-113.888 35.388 5629
+-113.762 35.388 5427
+-113.636 35.388 5276
+-113.51 35.388 5170
+-113.384 35.388 5099
+-113.258 35.388 5023
+-113.132 35.388 4898
+-113.006 35.388 4737
+-112.88 35.388 4660
+-112.754 35.388 4683
+-112.628 35.388 4747
+-112.502 35.388 4797
+-112.376 35.388 4841
+-112.25 35.388 4879
+-112.124 35.388 4956
+-111.998 35.388 5024
+-111.872 35.388 5042
+-111.746 35.388 5101
+-111.62 35.388 5156
+-111.494 35.388 5191
+-111.368 35.388 5246
+-111.242 35.388 5294
+-111.116 35.388 5342
+-110.99 35.388 5375
+-110.864 35.388 5391
+-110.738 35.388 5380
+-110.612 35.388 5404
+-110.486 35.388 5424
+-110.36 35.388 5427
+-110.234 35.388 5423
+-110.108 35.388 5407
+-109.982 35.388 5370
+-109.856 35.388 5322
+-109.73 35.388 5340
+-109.604 35.388 5324
+-109.478 35.388 5289
+-109.352 35.388 5254
+-109.226 35.388 5201
+-109.1 35.388 5122
+-108.974 35.388 5035
+-108.848 35.388 4995
+-108.722 35.388 4980
+-108.596 35.388 4919
+-108.47 35.388 4843
+-108.344 35.388 4781
+-108.218 35.388 4728
+-108.092 35.388 4702
+-107.966 35.388 4669
+-107.84 35.388 4590
+-107.714 35.388 4517
+-107.588 35.388 4456
+-107.462 35.388 4430
+-107.336 35.388 4397
+-107.21 35.388 4324
+-107.084 35.388 4215
+-106.958 35.388 4119
+-106.832 35.388 4025
+-106.706 35.388 3937
+-106.58 35.388 3844
+-106.454 35.388 3727
+-106.328 35.388 3618
+-106.202 35.388 3526
+-106.076 35.388 3468
+-105.95 35.388 3444
+-105.824 35.388 3437
+-105.698 35.388 3450
+-105.572 35.388 3462
+-105.446 35.388 3467
+-105.32 35.388 3460
+-105.194 35.388 3477
+-105.068 35.388 3494
+-104.942 35.388 3463
+-104.816 35.388 3476
+-104.69 35.388 3487
+-104.564 35.388 3474
+-104.438 35.388 3483
+-104.312 35.388 3492
+-104.186 35.388 3500
+-104.06 35.388 3508
+-103.934 35.388 3515
+-103.808 35.388 3487
+-103.682 35.388 3479
+-103.556 35.388 3485
+-103.43 35.388 3417
+-103.304 35.388 3420
+-103.178 35.388 3422
+-103.052 35.388 3422
+-102.926 35.388 3411
+-102.8 35.388 3443
+-102.674 35.388 3447
+-102.548 35.388 3451
+-102.422 35.388 3455
+-102.296 35.388 3459
+-102.17 35.388 3462
+-102.044 35.388 3465
+-101.918 35.388 3416
+-101.792 35.388 3370
+-101.666 35.388 3239
+-101.54 35.388 3148
+-101.414 35.388 3091
+-101.288 35.388 3128
+-101.162 35.388 3018
+-101.036 35.388 3001
+-100.91 35.388 3008
+-100.784 35.388 2969
+-100.658 35.388 2944
+-100.532 35.388 2989
+-100.406 35.388 3025
+-100.28 35.388 3013
+-100.154 35.388 3020
+-100.028 35.388 3003
+-99.902 35.388 3085
+-99.776 35.388 3072
+-99.65 35.388 3110
+-99.524 35.388 3099
+-99.398 35.388 3086
+-99.272 35.388 3109
+-99.146 35.388 3093
+-99.02 35.388 3076
+-98.894 35.388 3074
+-98.768 35.388 3052
+-98.642 35.388 3028
+-98.516 35.388 3008
+-98.39 35.388 2979
+-98.264 35.388 2957
+-98.138 35.388 2942
+-98.012 35.388 2925
+-97.886 35.388 2898
+-97.76 35.388 2885
+-97.634 35.388 2848
+-97.508 35.388 2813
+-97.382 35.388 2786
+-97.256 35.388 2770
+-97.13 35.388 2784
+-97.004 35.388 2851
+-96.878 35.388 2898
+-96.752 35.388 2964
+-96.626 35.388 3039
+-96.5 35.388 3116
+-96.374 35.388 3189
+-96.248 35.388 3300
+-96.122 35.388 3361
+-95.996 35.388 3429
+-95.87 35.388 3485
+-95.744 35.388 3525
+-95.618 35.388 3558
+-95.492 35.388 3581
+-95.366 35.388 3640
+-95.24 35.388 3628
+-95.114 35.388 3597
+-94.988 35.388 3522
+-94.862 35.388 3413
+-94.736 35.388 3580
+-94.61 35.388 3711
+-94.484 35.388 3799
+-94.358 35.388 3891
+-94.232 35.388 3965
+-94.106 35.388 4050
+-93.98 35.388 4212
+-93.854 35.388 4273
+-93.728 35.388 4354
+-93.602 35.388 4506
+-93.476 35.388 4563
+-93.35 35.388 4618
+-93.224 35.388 4740
+-93.098 35.388 4779
+-92.972 35.388 4906
+-92.846 35.388 5038
+-92.72 35.388 5130
+-92.594 35.388 5177
+-92.468 35.388 5147
+-92.342 35.388 5258
+-92.216 35.388 5339
+-92.09 35.388 5406
+-91.964 35.388 5454
+-91.838 35.388 5541
+-91.712 35.388 5563
+-91.586 35.388 5608
+-91.46 35.388 5864
+-91.334 35.388 5972
+-91.208 35.388 6086
+-91.082 35.388 6194
+-90.956 35.388 6304
+-90.83 35.388 6423
+-90.704 35.388 6490
+-90.578 35.388 6551
+-90.452 35.388 6643
+-90.326 35.388 6741
+-90.2 35.388 6768
+-90.074 35.388 6914
+-89.948 35.388 6947
+-89.822 35.388 7010
+-89.696 35.388 7081
+-89.57 35.388 7089
+-89.444 35.388 7148
+-89.318 35.388 7151
+-89.192 35.388 7165
+-89.066 35.388 7200
+-88.94 35.388 7239
+-88.814 35.388 7205
+-88.688 35.388 7220
+-88.562 35.388 7201
+-88.436 35.388 7172
+-88.31 35.388 7154
+-88.184 35.388 7167
+-88.058 35.388 7087
+-87.932 35.388 6994
+-87.806 35.388 6989
+-87.68 35.388 6899
+-87.554 35.388 6841
+-87.428 35.388 6803
+-87.302 35.388 6686
+-87.176 35.388 6668
+-87.05 35.388 6561
+-86.924 35.388 6459
+-86.798 35.388 6398
+-86.672 35.388 6284
+-86.546 35.388 6194
+-86.42 35.388 6075
+-86.294 35.388 6012
+-86.168 35.388 5931
+-86.042 35.388 5786
+-85.916 35.388 5681
+-85.79 35.388 5588
+-85.664 35.388 5431
+-85.538 35.388 5279
+-85.412 35.388 5303
+-85.286 35.388 5181
+-85.16 35.388 5069
+-85.034 35.388 5003
+-84.908 35.388 4824
+-84.782 35.388 4651
+-84.656 35.388 4550
+-84.53 35.388 4510
+-84.404 35.388 4407
+-84.278 35.388 4239
+-84.152 35.388 4002
+-84.026 35.388 3898
+-83.9 35.388 3921
+-83.774 35.388 3947
+-83.648 35.388 3940
+-83.522 35.388 3816
+-83.396 35.388 3712
+-83.27 35.388 3539
+-83.144 35.388 3403
+-83.018 35.388 3272
+-82.892 35.388 3156
+-82.766 35.388 3098
+-82.64 35.388 3031
+-82.514 35.388 2924
+-82.388 35.388 2738
+-82.262 35.388 2465
+-82.136 35.388 2124
+-82.01 35.388 1825
+-81.884 35.388 1695
+-81.758 35.388 1771
+-81.632 35.388 1950
+-81.506 35.388 2141
+-81.38 35.388 2300
+-81.254 35.388 2387
+-81.128 35.388 2482
+-81.002 35.388 2547
+-80.876 35.388 2602
+-80.75 35.388 2643
+-80.624 35.388 2673
+-80.498 35.388 2690
+-80.372 35.388 2703
+-80.246 35.388 2714
+-80.12 35.388 2716
+-79.994 35.388 2689
+-79.868 35.388 2627
+-79.742 35.388 2618
+-79.616 35.388 2609
+-79.49 35.388 2611
+-79.364 35.388 2613
+-79.238 35.388 2484
+-79.112 35.388 2475
+-78.986 35.388 2474
+-78.86 35.388 2441
+-78.734 35.388 2414
+-78.608 35.388 2420
+-78.482 35.388 2397
+-78.356 35.388 2406
+-78.23 35.388 2414
+-78.104 35.388 2425
+-77.978 35.388 2446
+-77.852 35.388 2473
+-77.726 35.388 2497
+-77.6 35.388 2529
+-77.474 35.388 2541
+-77.348 35.388 2558
+-77.222 35.388 2585
+-77.096 35.388 2599
+-76.97 35.388 2621
+-76.844 35.388 2674
+-76.718 35.388 2724
+-76.592 35.388 2726
+-76.466 35.388 2748
+-76.34 35.388 2801
+-76.214 35.388 2854
+-76.088 35.388 2867
+-75.962 35.388 2879
+-75.836 35.388 2890
+-75.71 35.388 2901
+-75.584 35.388 2912
+-75.458 35.388 2867
+-75.332 35.388 2890
+-75.206 35.388 2899
+-75.08 35.388 2901
+-74.954 35.388 3153
+-74.828 35.388 3181
+-74.702 35.388 3189
+-74.576 35.388 3194
+-74.45 35.388 3201
+-74.324 35.388 3210
+-74.198 35.388 3228
+-74.072 35.388 3234
+-73.946 35.388 3231
+-73.82 35.388 3237
+-73.694 35.388 3202
+-73.568 35.388 3207
+-73.442 35.388 3212
+-73.316 35.388 3270
+-73.19 35.388 3270
+-73.064 35.388 3282
+-72.938 35.388 3287
+-72.812 35.388 3274
+-72.686 35.388 3296
+-72.56 35.388 3340
+-72.434 35.388 3352
+-72.308 35.388 3355
+-72.182 35.388 3358
+-72.056 35.388 3405
+-71.93 35.388 3410
+-71.804 35.388 3358
+-71.678 35.388 3380
+-71.552 35.388 3378
+-71.426 35.388 3304
+-71.3 35.388 3227
+-71.174 35.388 3248
+-71.048 35.388 3252
+-70.922 35.388 3283
+-70.796 35.388 3260
+-70.67 35.388 3272
+-70.544 35.388 3275
+-70.418 35.388 3258
+-70.292 35.388 3261
+-70.166 35.388 3264
+-70.04 35.388 3243
+-69.914 35.388 3227
+-69.788 35.388 3260
+-69.662 35.388 3256
+-69.536 35.388 3259
+-69.41 35.388 3262
+-69.284 35.388 3185
+-69.158 35.388 3225
+-69.032 35.388 3222
+-68.906 35.388 3224
+-68.78 35.388 3226
+-68.654 35.388 3455
+-68.528 35.388 3379
+-68.402 35.388 3393
+-68.276 35.388 3394
+-68.15 35.388 3291
+-68.024 35.388 3278
+-67.898 35.388 3279
+-67.772 35.388 3280
+-67.646 35.388 3259
+-67.52 35.388 3259
+-67.394 35.388 3260
+-67.268 35.388 3261
+-67.142 35.388 3262
+-67.016 35.388 3286
+-66.89 35.388 3287
+-66.764 35.388 3272
+-66.638 35.388 3273
+-66.512 35.388 3274
+-66.386 35.388 3213
+-66.26 35.388 3400
+-66.134 35.388 3358
+-66.008 35.388 3359
+-65.882 35.388 3328
+-65.756 35.388 3329
+-65.63 35.388 3330
+-65.504 35.388 3461
+-65.378 35.388 3462
+-65.252 35.388 3463
+-65.126 35.388 3463
+-128 35.336 2905
+-127.874 35.336 2900
+-127.748 35.336 2894
+-127.622 35.336 2941
+-127.496 35.336 2933
+-127.37 35.336 2925
+-127.244 35.336 2916
+-127.118 35.336 2906
+-126.992 35.336 2896
+-126.866 35.336 2998
+-126.74 35.336 2986
+-126.614 35.336 2973
+-126.488 35.336 2959
+-126.362 35.336 2939
+-126.236 35.336 2924
+-126.11 35.336 2908
+-125.984 35.336 2914
+-125.858 35.336 2895
+-125.732 35.336 2885
+-125.606 35.336 2901
+-125.48 35.336 2878
+-125.354 35.336 2854
+-125.228 35.336 2827
+-125.102 35.336 2799
+-124.976 35.336 2767
+-124.85 35.336 2733
+-124.724 35.336 2697
+-124.598 35.336 2666
+-124.472 35.336 2667
+-124.346 35.336 2657
+-124.22 35.336 2677
+-124.094 35.336 2736
+-123.968 35.336 2830
+-123.842 35.336 2947
+-123.716 35.336 3076
+-123.59 35.336 3223
+-123.464 35.336 3438
+-123.338 35.336 3547
+-123.212 35.336 3647
+-123.086 35.336 3742
+-122.96 35.336 3801
+-122.834 35.336 3898
+-122.708 35.336 4023
+-122.582 35.336 4064
+-122.456 35.336 4084
+-122.33 35.336 4156
+-122.204 35.336 4279
+-122.078 35.336 4406
+-121.952 35.336 4554
+-121.826 35.336 4642
+-121.7 35.336 4788
+-121.574 35.336 4903
+-121.448 35.336 4847
+-121.322 35.336 5006
+-121.196 35.336 5162
+-121.07 35.336 5264
+-120.944 35.336 5339
+-120.818 35.336 5471
+-120.692 35.336 5629
+-120.566 35.336 5838
+-120.44 35.336 5902
+-120.314 35.336 5980
+-120.188 35.336 6140
+-120.062 35.336 6289
+-119.936 35.336 6440
+-119.81 35.336 6585
+-119.684 35.336 6659
+-119.558 35.336 6748
+-119.432 35.336 6914
+-119.306 35.336 7034
+-119.18 35.336 7127
+-119.054 35.336 7203
+-118.928 35.336 7397
+-118.802 35.336 7489
+-118.676 35.336 7598
+-118.55 35.336 7635
+-118.424 35.336 7772
+-118.298 35.336 7877
+-118.172 35.336 7964
+-118.046 35.336 8063
+-117.92 35.336 8094
+-117.794 35.336 8144
+-117.668 35.336 8197
+-117.542 35.336 8218
+-117.416 35.336 8252
+-117.29 35.336 8247
+-117.164 35.336 8238
+-117.038 35.336 8222
+-116.912 35.336 8176
+-116.786 35.336 8117
+-116.66 35.336 8042
+-116.534 35.336 7959
+-116.408 35.336 7860
+-116.282 35.336 7824
+-116.156 35.336 7734
+-116.03 35.336 7610
+-115.904 35.336 7516
+-115.778 35.336 7362
+-115.652 35.336 7245
+-115.526 35.336 7199
+-115.4 35.336 7092
+-115.274 35.336 6974
+-115.148 35.336 6810
+-115.022 35.336 6642
+-114.896 35.336 6637
+-114.77 35.336 6496
+-114.644 35.336 6322
+-114.518 35.336 6232
+-114.392 35.336 6107
+-114.266 35.336 5937
+-114.14 35.336 5855
+-114.014 35.336 5744
+-113.888 35.336 5584
+-113.762 35.336 5459
+-113.636 35.336 5295
+-113.51 35.336 5174
+-113.384 35.336 5129
+-113.258 35.336 5055
+-113.132 35.336 4952
+-113.006 35.336 4823
+-112.88 35.336 4758
+-112.754 35.336 4755
+-112.628 35.336 4747
+-112.502 35.336 4826
+-112.376 35.336 4879
+-112.25 35.336 4934
+-112.124 35.336 4997
+-111.998 35.336 5030
+-111.872 35.336 5098
+-111.746 35.336 5174
+-111.62 35.336 5250
+-111.494 35.336 5302
+-111.368 35.336 5326
+-111.242 35.336 5356
+-111.116 35.336 5394
+-110.99 35.336 5416
+-110.864 35.336 5419
+-110.738 35.336 5438
+-110.612 35.336 5470
+-110.486 35.336 5486
+-110.36 35.336 5467
+-110.234 35.336 5424
+-110.108 35.336 5448
+-109.982 35.336 5416
+-109.856 35.336 5368
+-109.73 35.336 5391
+-109.604 35.336 5398
+-109.478 35.336 5353
+-109.352 35.336 5281
+-109.226 35.336 5270
+-109.1 35.336 5172
+-108.974 35.336 5098
+-108.848 35.336 5053
+-108.722 35.336 5065
+-108.596 35.336 4989
+-108.47 35.336 4937
+-108.344 35.336 4858
+-108.218 35.336 4775
+-108.092 35.336 4723
+-107.966 35.336 4689
+-107.84 35.336 4648
+-107.714 35.336 4599
+-107.588 35.336 4538
+-107.462 35.336 4473
+-107.336 35.336 4440
+-107.21 35.336 4353
+-107.084 35.336 4284
+-106.958 35.336 4198
+-106.832 35.336 4083
+-106.706 35.336 4000
+-106.58 35.336 3924
+-106.454 35.336 3845
+-106.328 35.336 3747
+-106.202 35.336 3665
+-106.076 35.336 3628
+-105.95 35.336 3556
+-105.824 35.336 3549
+-105.698 35.336 3544
+-105.572 35.336 3533
+-105.446 35.336 3538
+-105.32 35.336 3545
+-105.194 35.336 3532
+-105.068 35.336 3543
+-104.942 35.336 3553
+-104.816 35.336 3548
+-104.69 35.336 3497
+-104.564 35.336 3505
+-104.438 35.336 3511
+-104.312 35.336 3518
+-104.186 35.336 3524
+-104.06 35.336 3529
+-103.934 35.336 3556
+-103.808 35.336 3552
+-103.682 35.336 3499
+-103.556 35.336 3504
+-103.43 35.336 3508
+-103.304 35.336 3512
+-103.178 35.336 3436
+-103.052 35.336 3425
+-102.926 35.336 3457
+-102.8 35.336 3461
+-102.674 35.336 3464
+-102.548 35.336 3467
+-102.422 35.336 3470
+-102.296 35.336 3473
+-102.17 35.336 3476
+-102.044 35.336 3427
+-101.918 35.336 3380
+-101.792 35.336 3382
+-101.666 35.336 3197
+-101.54 35.336 3114
+-101.414 35.336 3151
+-101.288 35.336 3096
+-101.162 35.336 3027
+-101.036 35.336 3011
+-100.91 35.336 3019
+-100.784 35.336 2979
+-100.658 35.336 2955
+-100.532 35.336 2993
+-100.406 35.336 3027
+-100.28 35.336 3015
+-100.154 35.336 3011
+-100.028 35.336 3084
+-99.902 35.336 3079
+-99.776 35.336 3123
+-99.65 35.336 3113
+-99.524 35.336 3102
+-99.398 35.336 3127
+-99.272 35.336 3114
+-99.146 35.336 3098
+-99.02 35.336 3100
+-98.894 35.336 3081
+-98.768 35.336 3062
+-98.642 35.336 3045
+-98.516 35.336 3022
+-98.39 35.336 3007
+-98.264 35.336 2997
+-98.138 35.336 2989
+-98.012 35.336 2973
+-97.886 35.336 2909
+-97.76 35.336 2943
+-97.634 35.336 2917
+-97.508 35.336 2895
+-97.382 35.336 2880
+-97.256 35.336 2887
+-97.13 35.336 2943
+-97.004 35.336 2968
+-96.878 35.336 3008
+-96.752 35.336 3060
+-96.626 35.336 3120
+-96.5 35.336 3181
+-96.374 35.336 3286
+-96.248 35.336 3344
+-96.122 35.336 3397
+-95.996 35.336 3444
+-95.87 35.336 3487
+-95.744 35.336 3523
+-95.618 35.336 3553
+-95.492 35.336 3597
+-95.366 35.336 3609
+-95.24 35.336 3645
+-95.114 35.336 3619
+-94.988 35.336 3568
+-94.862 35.336 3545
+-94.736 35.336 3639
+-94.61 35.336 3749
+-94.484 35.336 3745
+-94.358 35.336 3877
+-94.232 35.336 3958
+-94.106 35.336 3997
+-93.98 35.336 4162
+-93.854 35.336 4271
+-93.728 35.336 4359
+-93.602 35.336 4462
+-93.476 35.336 4544
+-93.35 35.336 4602
+-93.224 35.336 4704
+-93.098 35.336 4733
+-92.972 35.336 4812
+-92.846 35.336 4965
+-92.72 35.336 5075
+-92.594 35.336 5159
+-92.468 35.336 5191
+-92.342 35.336 5183
+-92.216 35.336 5283
+-92.09 35.336 5358
+-91.964 35.336 5412
+-91.838 35.336 5473
+-91.712 35.336 5593
+-91.586 35.336 5714
+-91.46 35.336 5862
+-91.334 35.336 6001
+-91.208 35.336 6051
+-91.082 35.336 6165
+-90.956 35.336 6252
+-90.83 35.336 6377
+-90.704 35.336 6436
+-90.578 35.336 6565
+-90.452 35.336 6612
+-90.326 35.336 6659
+-90.2 35.336 6748
+-90.074 35.336 6821
+-89.948 35.336 6860
+-89.822 35.336 6954
+-89.696 35.336 6991
+-89.57 35.336 7022
+-89.444 35.336 7075
+-89.318 35.336 7105
+-89.192 35.336 7149
+-89.066 35.336 7164
+-88.94 35.336 7159
+-88.814 35.336 7181
+-88.688 35.336 7163
+-88.562 35.336 7159
+-88.436 35.336 7122
+-88.31 35.336 7089
+-88.184 35.336 7057
+-88.058 35.336 7035
+-87.932 35.336 6995
+-87.806 35.336 6945
+-87.68 35.336 6884
+-87.554 35.336 6820
+-87.428 35.336 6779
+-87.302 35.336 6623
+-87.176 35.336 6619
+-87.05 35.336 6502
+-86.924 35.336 6421
+-86.798 35.336 6352
+-86.672 35.336 6238
+-86.546 35.336 6128
+-86.42 35.336 6017
+-86.294 35.336 5932
+-86.168 35.336 5876
+-86.042 35.336 5727
+-85.916 35.336 5624
+-85.79 35.336 5553
+-85.664 35.336 5406
+-85.538 35.336 5285
+-85.412 35.336 5294
+-85.286 35.336 5205
+-85.16 35.336 5091
+-85.034 35.336 4920
+-84.908 35.336 4715
+-84.782 35.336 4673
+-84.656 35.336 4621
+-84.53 35.336 4526
+-84.404 35.336 4410
+-84.278 35.336 4248
+-84.152 35.336 4076
+-84.026 35.336 4014
+-83.9 35.336 3968
+-83.774 35.336 3963
+-83.648 35.336 3949
+-83.522 35.336 3846
+-83.396 35.336 3720
+-83.27 35.336 3589
+-83.144 35.336 3483
+-83.018 35.336 3378
+-82.892 35.336 3253
+-82.766 35.336 3165
+-82.64 35.336 3084
+-82.514 35.336 2950
+-82.388 35.336 2778
+-82.262 35.336 2547
+-82.136 35.336 2282
+-82.01 35.336 2057
+-81.884 35.336 1933
+-81.758 35.336 1967
+-81.632 35.336 2088
+-81.506 35.336 2221
+-81.38 35.336 2354
+-81.254 35.336 2424
+-81.128 35.336 2509
+-81.002 35.336 2571
+-80.876 35.336 2612
+-80.75 35.336 2648
+-80.624 35.336 2669
+-80.498 35.336 2685
+-80.372 35.336 2698
+-80.246 35.336 2700
+-80.12 35.336 2673
+-79.994 35.336 2610
+-79.868 35.336 2599
+-79.742 35.336 2586
+-79.616 35.336 2585
+-79.49 35.336 2554
+-79.364 35.336 2542
+-79.238 35.336 2440
+-79.112 35.336 2435
+-78.986 35.336 2416
+-78.86 35.336 2376
+-78.734 35.336 2383
+-78.608 35.336 2359
+-78.482 35.336 2368
+-78.356 35.336 2379
+-78.23 35.336 2391
+-78.104 35.336 2413
+-77.978 35.336 2441
+-77.852 35.336 2467
+-77.726 35.336 2501
+-77.6 35.336 2515
+-77.474 35.336 2534
+-77.348 35.336 2563
+-77.222 35.336 2578
+-77.096 35.336 2607
+-76.97 35.336 2656
+-76.844 35.336 2706
+-76.718 35.336 2710
+-76.592 35.336 2734
+-76.466 35.336 2787
+-76.34 35.336 2840
+-76.214 35.336 2854
+-76.088 35.336 2867
+-75.962 35.336 2879
+-75.836 35.336 2891
+-75.71 35.336 2902
+-75.584 35.336 2859
+-75.458 35.336 2883
+-75.332 35.336 2892
+-75.206 35.336 2895
+-75.08 35.336 3143
+-74.954 35.336 3172
+-74.828 35.336 3180
+-74.702 35.336 3185
+-74.576 35.336 3193
+-74.45 35.336 3203
+-74.324 35.336 3220
+-74.198 35.336 3227
+-74.072 35.336 3225
+-73.946 35.336 3231
+-73.82 35.336 3196
+-73.694 35.336 3202
+-73.568 35.336 3207
+-73.442 35.336 3265
+-73.316 35.336 3265
+-73.19 35.336 3278
+-73.064 35.336 3283
+-72.938 35.336 3270
+-72.812 35.336 3292
+-72.686 35.336 3336
+-72.56 35.336 3348
+-72.434 35.336 3351
+-72.308 35.336 3354
+-72.182 35.336 3402
+-72.056 35.336 3406
+-71.93 35.336 3355
+-71.804 35.336 3377
+-71.678 35.336 3375
+-71.552 35.336 3304
+-71.426 35.336 3224
+-71.3 35.336 3246
+-71.174 35.336 3249
+-71.048 35.336 3280
+-70.922 35.336 3258
+-70.796 35.336 3270
+-70.67 35.336 3273
+-70.544 35.336 3256
+-70.418 35.336 3259
+-70.292 35.336 3262
+-70.166 35.336 3241
+-70.04 35.336 3226
+-69.914 35.336 3259
+-69.788 35.336 3255
+-69.662 35.336 3258
+-69.536 35.336 3260
+-69.41 35.336 3184
+-69.284 35.336 3223
+-69.158 35.336 3220
+-69.032 35.336 3223
+-68.906 35.336 3225
+-68.78 35.336 3454
+-68.654 35.336 3382
+-68.528 35.336 3391
+-68.402 35.336 3393
+-68.276 35.336 3290
+-68.15 35.336 3277
+-68.024 35.336 3278
+-67.898 35.336 3279
+-67.772 35.336 3258
+-67.646 35.336 3259
+-67.52 35.336 3260
+-67.394 35.336 3260
+-67.268 35.336 3261
+-67.142 35.336 3285
+-67.016 35.336 3287
+-66.89 35.336 3271
+-66.764 35.336 3272
+-66.638 35.336 3274
+-66.512 35.336 3213
+-66.386 35.336 3399
+-66.26 35.336 3357
+-66.134 35.336 3358
+-66.008 35.336 3327
+-65.882 35.336 3328
+-65.756 35.336 3329
+-65.63 35.336 3461
+-65.504 35.336 3461
+-65.378 35.336 3462
+-65.252 35.336 3462
+-65.126 35.336 3463
+-128 35.284 2909
+-127.874 35.284 2904
+-127.748 35.284 2898
+-127.622 35.284 2892
+-127.496 35.284 2940
+-127.37 35.284 2932
+-127.244 35.284 2923
+-127.118 35.284 2914
+-126.992 35.284 2904
+-126.866 35.284 2894
+-126.74 35.284 2996
+-126.614 35.284 2984
+-126.488 35.284 2971
+-126.362 35.284 2957
+-126.236 35.284 2963
+-126.11 35.284 2947
+-125.984 35.284 2929
+-125.858 35.284 2910
+-125.732 35.284 2889
+-125.606 35.284 2876
+-125.48 35.284 2889
+-125.354 35.284 2861
+-125.228 35.284 2830
+-125.102 35.284 2795
+-124.976 35.284 2754
+-124.85 35.284 2706
+-124.724 35.284 2650
+-124.598 35.284 2590
+-124.472 35.284 2534
+-124.346 35.284 2517
+-124.22 35.284 2521
+-124.094 35.284 2588
+-123.968 35.284 2707
+-123.842 35.284 2855
+-123.716 35.284 3027
+-123.59 35.284 3266
+-123.464 35.284 3411
+-123.338 35.284 3534
+-123.212 35.284 3634
+-123.086 35.284 3727
+-122.96 35.284 3861
+-122.834 35.284 3912
+-122.708 35.284 4034
+-122.582 35.284 4061
+-122.456 35.284 4066
+-122.33 35.284 4058
+-122.204 35.284 4202
+-122.078 35.284 4385
+-121.952 35.284 4592
+-121.826 35.284 4672
+-121.7 35.284 4791
+-121.574 35.284 4882
+-121.448 35.284 4967
+-121.322 35.284 5088
+-121.196 35.284 5204
+-121.07 35.284 5245
+-120.944 35.284 5401
+-120.818 35.284 5437
+-120.692 35.284 5659
+-120.566 35.284 5888
+-120.44 35.284 5929
+-120.314 35.284 6060
+-120.188 35.284 6138
+-120.062 35.284 6320
+-119.936 35.284 6456
+-119.81 35.284 6591
+-119.684 35.284 6678
+-119.558 35.284 6814
+-119.432 35.284 6957
+-119.306 35.284 7094
+-119.18 35.284 7157
+-119.054 35.284 7339
+-118.928 35.284 7453
+-118.802 35.284 7517
+-118.676 35.284 7642
+-118.55 35.284 7732
+-118.424 35.284 7851
+-118.298 35.284 7915
+-118.172 35.284 8013
+-118.046 35.284 8079
+-117.92 35.284 8187
+-117.794 35.284 8192
+-117.668 35.284 8259
+-117.542 35.284 8275
+-117.416 35.284 8316
+-117.29 35.284 8308
+-117.164 35.284 8307
+-117.038 35.284 8227
+-116.912 35.284 8215
+-116.786 35.284 8159
+-116.66 35.284 8123
+-116.534 35.284 8031
+-116.408 35.284 8004
+-116.282 35.284 7852
+-116.156 35.284 7789
+-116.03 35.284 7673
+-115.904 35.284 7558
+-115.778 35.284 7431
+-115.652 35.284 7334
+-115.526 35.284 7256
+-115.4 35.284 7131
+-115.274 35.284 7037
+-115.148 35.284 6850
+-115.022 35.284 6727
+-114.896 35.284 6572
+-114.77 35.284 6538
+-114.644 35.284 6385
+-114.518 35.284 6246
+-114.392 35.284 6148
+-114.266 35.284 5972
+-114.14 35.284 5867
+-114.014 35.284 5730
+-113.888 35.284 5623
+-113.762 35.284 5441
+-113.636 35.284 5361
+-113.51 35.284 5216
+-113.384 35.284 5039
+-113.258 35.284 5044
+-113.132 35.284 4961
+-113.006 35.284 4861
+-112.88 35.284 4793
+-112.754 35.284 4737
+-112.628 35.284 4820
+-112.502 35.284 4842
+-112.376 35.284 4948
+-112.25 35.284 5000
+-112.124 35.284 5073
+-111.998 35.284 5120
+-111.872 35.284 5171
+-111.746 35.284 5244
+-111.62 35.284 5312
+-111.494 35.284 5341
+-111.368 35.284 5373
+-111.242 35.284 5399
+-111.116 35.284 5444
+-110.99 35.284 5477
+-110.864 35.284 5492
+-110.738 35.284 5525
+-110.612 35.284 5540
+-110.486 35.284 5536
+-110.36 35.284 5524
+-110.234 35.284 5507
+-110.108 35.284 5492
+-109.982 35.284 5445
+-109.856 35.284 5440
+-109.73 35.284 5435
+-109.604 35.284 5421
+-109.478 35.284 5409
+-109.352 35.284 5358
+-109.226 35.284 5338
+-109.1 35.284 5293
+-108.974 35.284 5200
+-108.848 35.284 5109
+-108.722 35.284 5042
+-108.596 35.284 5016
+-108.47 35.284 4970
+-108.344 35.284 4923
+-108.218 35.284 4850
+-108.092 35.284 4754
+-107.966 35.284 4719
+-107.84 35.284 4680
+-107.714 35.284 4639
+-107.588 35.284 4594
+-107.462 35.284 4518
+-107.336 35.284 4471
+-107.21 35.284 4389
+-107.084 35.284 4320
+-106.958 35.284 4246
+-106.832 35.284 4124
+-106.706 35.284 4065
+-106.58 35.284 3970
+-106.454 35.284 3901
+-106.328 35.284 3831
+-106.202 35.284 3774
+-106.076 35.284 3731
+-105.95 35.284 3698
+-105.824 35.284 3662
+-105.698 35.284 3651
+-105.572 35.284 3624
+-105.446 35.284 3622
+-105.32 35.284 3610
+-105.194 35.284 3614
+-105.068 35.284 3589
+-104.942 35.284 3617
+-104.816 35.284 3624
+-104.69 35.284 3581
+-104.564 35.284 3568
+-104.438 35.284 3574
+-104.312 35.284 3574
+-104.186 35.284 3579
+-104.06 35.284 3572
+-103.934 35.284 3567
+-103.808 35.284 3573
+-103.682 35.284 3579
+-103.556 35.284 3585
+-103.43 35.284 3590
+-103.304 35.284 3575
+-103.178 35.284 3503
+-103.052 35.284 3553
+-102.926 35.284 3475
+-102.8 35.284 3478
+-102.674 35.284 3481
+-102.548 35.284 3484
+-102.422 35.284 3486
+-102.296 35.284 3488
+-102.17 35.284 3472
+-102.044 35.284 3390
+-101.918 35.284 3392
+-101.792 35.284 3345
+-101.666 35.284 3196
+-101.54 35.284 3153
+-101.414 35.284 3118
+-101.288 35.284 3106
+-101.162 35.284 3037
+-101.036 35.284 3021
+-100.91 35.284 3102
+-100.784 35.284 2991
+-100.658 35.284 2966
+-100.532 35.284 2977
+-100.406 35.284 3009
+-100.28 35.284 2985
+-100.154 35.284 3061
+-100.028 35.284 3091
+-99.902 35.284 3082
+-99.776 35.284 3126
+-99.65 35.284 3116
+-99.524 35.284 3144
+-99.398 35.284 3132
+-99.272 35.284 3118
+-99.146 35.284 3122
+-99.02 35.284 3107
+-98.894 35.284 3090
+-98.768 35.284 3077
+-98.642 35.284 3058
+-98.516 35.284 3048
+-98.39 35.284 3042
+-98.264 35.284 3040
+-98.138 35.284 2993
+-98.012 35.284 2972
+-97.886 35.284 2973
+-97.76 35.284 2955
+-97.634 35.284 2939
+-97.508 35.284 2928
+-97.382 35.284 2976
+-97.256 35.284 2977
+-97.13 35.284 3037
+-97.004 35.284 3060
+-96.878 35.284 3094
+-96.752 35.284 3137
+-96.626 35.284 3185
+-96.5 35.284 3256
+-96.374 35.284 3308
+-96.248 35.284 3381
+-96.122 35.284 3427
+-95.996 35.284 3469
+-95.87 35.284 3506
+-95.744 35.284 3538
+-95.618 35.284 3566
+-95.492 35.284 3598
+-95.366 35.284 3661
+-95.24 35.284 3655
+-95.114 35.284 3647
+-94.988 35.284 3642
+-94.862 35.284 3667
+-94.736 35.284 3729
+-94.61 35.284 3783
+-94.484 35.284 3812
+-94.358 35.284 3894
+-94.232 35.284 3909
+-94.106 35.284 3975
+-93.98 35.284 4107
+-93.854 35.284 4245
+-93.728 35.284 4328
+-93.602 35.284 4434
+-93.476 35.284 4503
+-93.35 35.284 4539
+-93.224 35.284 4636
+-93.098 35.284 4705
+-92.972 35.284 4782
+-92.846 35.284 4909
+-92.72 35.284 5021
+-92.594 35.284 5078
+-92.468 35.284 5142
+-92.342 35.284 5196
+-92.216 35.284 5247
+-92.09 35.284 5271
+-91.964 35.284 5342
+-91.838 35.284 5408
+-91.712 35.284 5516
+-91.586 35.284 5705
+-91.46 35.284 5823
+-91.334 35.284 5959
+-91.208 35.284 6021
+-91.082 35.284 6148
+-90.956 35.284 6247
+-90.83 35.284 6309
+-90.704 35.284 6397
+-90.578 35.284 6469
+-90.452 35.284 6558
+-90.326 35.284 6603
+-90.2 35.284 6704
+-90.074 35.284 6735
+-89.948 35.284 6819
+-89.822 35.284 6890
+-89.696 35.284 6965
+-89.57 35.284 6996
+-89.444 35.284 7004
+-89.318 35.284 7056
+-89.192 35.284 7065
+-89.066 35.284 7122
+-88.94 35.284 7117
+-88.814 35.284 7094
+-88.688 35.284 7126
+-88.562 35.284 7103
+-88.436 35.284 7071
+-88.31 35.284 7057
+-88.184 35.284 6999
+-88.058 35.284 6977
+-87.932 35.284 6945
+-87.806 35.284 6874
+-87.68 35.284 6810
+-87.554 35.284 6752
+-87.428 35.284 6703
+-87.302 35.284 6643
+-87.176 35.284 6555
+-87.05 35.284 6463
+-86.924 35.284 6402
+-86.798 35.284 6294
+-86.672 35.284 6176
+-86.546 35.284 6092
+-86.42 35.284 6001
+-86.294 35.284 5905
+-86.168 35.284 5769
+-86.042 35.284 5662
+-85.916 35.284 5554
+-85.79 35.284 5500
+-85.664 35.284 5383
+-85.538 35.284 5324
+-85.412 35.284 5278
+-85.286 35.284 5194
+-85.16 35.284 5067
+-85.034 35.284 4823
+-84.908 35.284 4604
+-84.782 35.284 4647
+-84.656 35.284 4623
+-84.53 35.284 4494
+-84.404 35.284 4366
+-84.278 35.284 4259
+-84.152 35.284 4131
+-84.026 35.284 4030
+-83.9 35.284 4006
+-83.774 35.284 3965
+-83.648 35.284 3953
+-83.522 35.284 3856
+-83.396 35.284 3742
+-83.27 35.284 3650
+-83.144 35.284 3557
+-83.018 35.284 3453
+-82.892 35.284 3366
+-82.766 35.284 3224
+-82.64 35.284 3123
+-82.514 35.284 3008
+-82.388 35.284 2859
+-82.262 35.284 2676
+-82.136 35.284 2480
+-82.01 35.284 2316
+-81.884 35.284 2190
+-81.758 35.284 2181
+-81.632 35.284 2247
+-81.506 35.284 2340
+-81.38 35.284 2435
+-81.254 35.284 2520
+-81.128 35.284 2547
+-81.002 35.284 2600
+-80.876 35.284 2636
+-80.75 35.284 2652
+-80.624 35.284 2671
+-80.498 35.284 2685
+-80.372 35.284 2689
+-80.246 35.284 2643
+-80.12 35.284 2596
+-79.994 35.284 2583
+-79.868 35.284 2567
+-79.742 35.284 2530
+-79.616 35.284 2504
+-79.49 35.284 2503
+-79.364 35.284 2398
+-79.238 35.284 2389
+-79.112 35.284 2376
+-78.986 35.284 2375
+-78.86 35.284 2340
+-78.734 35.284 2346
+-78.608 35.284 2355
+-78.482 35.284 2338
+-78.356 35.284 2351
+-78.23 35.284 2377
+-78.104 35.284 2404
+-77.978 35.284 2434
+-77.852 35.284 2477
+-77.726 35.284 2486
+-77.6 35.284 2507
+-77.474 35.284 2537
+-77.348 35.284 2555
+-77.222 35.284 2593
+-77.096 35.284 2636
+-76.97 35.284 2686
+-76.844 35.284 2693
+-76.718 35.284 2718
+-76.592 35.284 2771
+-76.466 35.284 2825
+-76.34 35.284 2840
+-76.214 35.284 2854
+-76.088 35.284 2867
+-75.962 35.284 2880
+-75.836 35.284 2892
+-75.71 35.284 2851
+-75.584 35.284 2875
+-75.458 35.284 2885
+-75.332 35.284 2889
+-75.206 35.284 3133
+-75.08 35.284 3162
+-74.954 35.284 3171
+-74.828 35.284 3176
+-74.702 35.284 3184
+-74.576 35.284 3195
+-74.45 35.284 3212
+-74.324 35.284 3220
+-74.198 35.284 3218
+-74.072 35.284 3225
+-73.946 35.284 3191
+-73.82 35.284 3196
+-73.694 35.284 3202
+-73.568 35.284 3259
+-73.442 35.284 3260
+-73.316 35.284 3273
+-73.19 35.284 3278
+-73.064 35.284 3266
+-72.938 35.284 3287
+-72.812 35.284 3331
+-72.686 35.284 3344
+-72.56 35.284 3347
+-72.434 35.284 3350
+-72.308 35.284 3397
+-72.182 35.284 3403
+-72.056 35.284 3352
+-71.93 35.284 3374
+-71.804 35.284 3372
+-71.678 35.284 3298
+-71.552 35.284 3222
+-71.426 35.284 3244
+-71.3 35.284 3247
+-71.174 35.284 3278
+-71.048 35.284 3256
+-70.922 35.284 3268
+-70.796 35.284 3271
+-70.67 35.284 3255
+-70.544 35.284 3258
+-70.418 35.284 3261
+-70.292 35.284 3240
+-70.166 35.284 3224
+-70.04 35.284 3257
+-69.914 35.284 3253
+-69.788 35.284 3256
+-69.662 35.284 3259
+-69.536 35.284 3183
+-69.41 35.284 3222
+-69.284 35.284 3219
+-69.158 35.284 3222
+-69.032 35.284 3224
+-68.906 35.284 3452
+-68.78 35.284 3377
+-68.654 35.284 3390
+-68.528 35.284 3392
+-68.402 35.284 3289
+-68.276 35.284 3276
+-68.15 35.284 3277
+-68.024 35.284 3278
+-67.898 35.284 3257
+-67.772 35.284 3258
+-67.646 35.284 3259
+-67.52 35.284 3260
+-67.394 35.284 3260
+-67.268 35.284 3285
+-67.142 35.284 3286
+-67.016 35.284 3270
+-66.89 35.284 3272
+-66.764 35.284 3273
+-66.638 35.284 3212
+-66.512 35.284 3398
+-66.386 35.284 3357
+-66.26 35.284 3357
+-66.134 35.284 3327
+-66.008 35.284 3327
+-65.882 35.284 3328
+-65.756 35.284 3460
+-65.63 35.284 3460
+-65.504 35.284 3461
+-65.378 35.284 3461
+-65.252 35.284 3462
+-65.126 35.284 3581
+-128 35.232 2912
+-127.874 35.232 2907
+-127.748 35.232 2902
+-127.622 35.232 2897
+-127.496 35.232 2891
+-127.37 35.232 2939
+-127.244 35.232 2931
+-127.118 35.232 2922
+-126.992 35.232 2913
+-126.866 35.232 2903
+-126.74 35.232 2893
+-126.614 35.232 2998
+-126.488 35.232 2986
+-126.362 35.232 2972
+-126.236 35.232 2957
+-126.11 35.232 2960
+-125.984 35.232 2943
+-125.858 35.232 2923
+-125.732 35.232 2902
+-125.606 35.232 2879
+-125.48 35.232 2861
+-125.354 35.232 2873
+-125.228 35.232 2837
+-125.102 35.232 2795
+-124.976 35.232 2743
+-124.85 35.232 2680
+-124.724 35.232 2603
+-124.598 35.232 2511
+-124.472 35.232 2410
+-124.346 35.232 2323
+-124.22 35.232 2320
+-124.094 35.232 2402
+-123.968 35.232 2563
+-123.842 35.232 2750
+-123.716 35.232 2959
+-123.59 35.232 3202
+-123.464 35.232 3374
+-123.338 35.232 3517
+-123.212 35.232 3628
+-123.086 35.232 3714
+-122.96 35.232 3847
+-122.834 35.232 3947
+-122.708 35.232 4038
+-122.582 35.232 4058
+-122.456 35.232 4020
+-122.33 35.232 3929
+-122.204 35.232 4120
+-122.078 35.232 4371
+-121.952 35.232 4574
+-121.826 35.232 4684
+-121.7 35.232 4757
+-121.574 35.232 4812
+-121.448 35.232 4940
+-121.322 35.232 5086
+-121.196 35.232 5101
+-121.07 35.232 5242
+-120.944 35.232 5424
+-120.818 35.232 5453
+-120.692 35.232 5698
+-120.566 35.232 5910
+-120.44 35.232 6000
+-120.314 35.232 6129
+-120.188 35.232 6189
+-120.062 35.232 6312
+-119.936 35.232 6484
+-119.81 35.232 6595
+-119.684 35.232 6671
+-119.558 35.232 6822
+-119.432 35.232 6985
+-119.306 35.232 7058
+-119.18 35.232 7178
+-119.054 35.232 7320
+-118.928 35.232 7402
+-118.802 35.232 7559
+-118.676 35.232 7657
+-118.55 35.232 7745
+-118.424 35.232 7892
+-118.298 35.232 7945
+-118.172 35.232 8045
+-118.046 35.232 8109
+-117.92 35.232 8223
+-117.794 35.232 8246
+-117.668 35.232 8304
+-117.542 35.232 8338
+-117.416 35.232 8368
+-117.29 35.232 8361
+-117.164 35.232 8351
+-117.038 35.232 8352
+-116.912 35.232 8268
+-116.786 35.232 8212
+-116.66 35.232 8150
+-116.534 35.232 8121
+-116.408 35.232 7970
+-116.282 35.232 7892
+-116.156 35.232 7781
+-116.03 35.232 7745
+-115.904 35.232 7551
+-115.778 35.232 7488
+-115.652 35.232 7347
+-115.526 35.232 7299
+-115.4 35.232 7126
+-115.274 35.232 6965
+-115.148 35.232 6926
+-115.022 35.232 6790
+-114.896 35.232 6651
+-114.77 35.232 6547
+-114.644 35.232 6427
+-114.518 35.232 6274
+-114.392 35.232 6155
+-114.266 35.232 5991
+-114.14 35.232 5863
+-114.014 35.232 5765
+-113.888 35.232 5588
+-113.762 35.232 5448
+-113.636 35.232 5348
+-113.51 35.232 5258
+-113.384 35.232 5025
+-113.258 35.232 4973
+-113.132 35.232 4984
+-113.006 35.232 4869
+-112.88 35.232 4810
+-112.754 35.232 4775
+-112.628 35.232 4869
+-112.502 35.232 4922
+-112.376 35.232 5007
+-112.25 35.232 5058
+-112.124 35.232 5135
+-111.998 35.232 5155
+-111.872 35.232 5198
+-111.746 35.232 5276
+-111.62 35.232 5316
+-111.494 35.232 5396
+-111.368 35.232 5404
+-111.242 35.232 5449
+-111.116 35.232 5498
+-110.99 35.232 5521
+-110.864 35.232 5532
+-110.738 35.232 5561
+-110.612 35.232 5578
+-110.486 35.232 5583
+-110.36 35.232 5573
+-110.234 35.232 5530
+-110.108 35.232 5540
+-109.982 35.232 5525
+-109.856 35.232 5500
+-109.73 35.232 5480
+-109.604 35.232 5479
+-109.478 35.232 5463
+-109.352 35.232 5431
+-109.226 35.232 5391
+-109.1 35.232 5366
+-108.974 35.232 5295
+-108.848 35.232 5199
+-108.722 35.232 5080
+-108.596 35.232 5033
+-108.47 35.232 5003
+-108.344 35.232 4968
+-108.218 35.232 4901
+-108.092 35.232 4795
+-107.966 35.232 4754
+-107.84 35.232 4669
+-107.714 35.232 4675
+-107.588 35.232 4614
+-107.462 35.232 4513
+-107.336 35.232 4457
+-107.21 35.232 4390
+-107.084 35.232 4326
+-106.958 35.232 4279
+-106.832 35.232 4240
+-106.706 35.232 4098
+-106.58 35.232 4016
+-106.454 35.232 3920
+-106.328 35.232 3865
+-106.202 35.232 3822
+-106.076 35.232 3783
+-105.95 35.232 3765
+-105.824 35.232 3746
+-105.698 35.232 3713
+-105.572 35.232 3705
+-105.446 35.232 3678
+-105.32 35.232 3663
+-105.194 35.232 3663
+-105.068 35.232 3653
+-104.942 35.232 3655
+-104.816 35.232 3659
+-104.69 35.232 3663
+-104.564 35.232 3649
+-104.438 35.232 3597
+-104.312 35.232 3600
+-104.186 35.232 3592
+-104.06 35.232 3585
+-103.934 35.232 3590
+-103.808 35.232 3595
+-103.682 35.232 3600
+-103.556 35.232 3604
+-103.43 35.232 3587
+-103.304 35.232 3578
+-103.178 35.232 3566
+-103.052 35.232 3567
+-102.926 35.232 3572
+-102.8 35.232 3576
+-102.674 35.232 3498
+-102.548 35.232 3500
+-102.422 35.232 3502
+-102.296 35.232 3482
+-102.17 35.232 3401
+-102.044 35.232 3402
+-101.918 35.232 3355
+-101.792 35.232 3339
+-101.666 35.232 3184
+-101.54 35.232 3226
+-101.414 35.232 3129
+-101.288 35.232 3116
+-101.162 35.232 3047
+-101.036 35.232 3135
+-100.91 35.232 3064
+-100.784 35.232 3001
+-100.658 35.232 2975
+-100.532 35.232 2963
+-100.406 35.232 2993
+-100.28 35.232 3045
+-100.154 35.232 3083
+-100.028 35.232 3074
+-99.902 35.232 3084
+-99.776 35.232 3129
+-99.65 35.232 3158
+-99.524 35.232 3148
+-99.398 35.232 3136
+-99.272 35.232 3143
+-99.146 35.232 3129
+-99.02 35.232 3115
+-98.894 35.232 3105
+-98.768 35.232 3089
+-98.642 35.232 3082
+-98.516 35.232 3078
+-98.39 35.232 3037
+-98.264 35.232 3037
+-98.138 35.232 3021
+-98.012 35.232 3026
+-97.886 35.232 3013
+-97.76 35.232 3001
+-97.634 35.232 2992
+-97.508 35.232 3045
+-97.382 35.232 3042
+-97.256 35.232 3047
+-97.13 35.232 3112
+-97.004 35.232 3134
+-96.878 35.232 3163
+-96.752 35.232 3199
+-96.626 35.232 3260
+-96.5 35.232 3303
+-96.374 35.232 3371
+-96.248 35.232 3413
+-96.122 35.232 3453
+-95.996 35.232 3489
+-95.87 35.232 3521
+-95.744 35.232 3552
+-95.618 35.232 3589
+-95.492 35.232 3608
+-95.366 35.232 3623
+-95.24 35.232 3670
+-95.114 35.232 3671
+-94.988 35.232 3703
+-94.862 35.232 3719
+-94.736 35.232 3785
+-94.61 35.232 3820
+-94.484 35.232 3870
+-94.358 35.232 3912
+-94.232 35.232 3945
+-94.106 35.232 4011
+-93.98 35.232 4128
+-93.854 35.232 4225
+-93.728 35.232 4316
+-93.602 35.232 4398
+-93.476 35.232 4436
+-93.35 35.232 4450
+-93.224 35.232 4526
+-93.098 35.232 4626
+-92.972 35.232 4732
+-92.846 35.232 4850
+-92.72 35.232 4955
+-92.594 35.232 4954
+-92.468 35.232 5053
+-92.342 35.232 5110
+-92.216 35.232 5198
+-92.09 35.232 5254
+-91.964 35.232 5292
+-91.838 35.232 5310
+-91.712 35.232 5351
+-91.586 35.232 5556
+-91.46 35.232 5760
+-91.334 35.232 5916
+-91.208 35.232 5975
+-91.082 35.232 6100
+-90.956 35.232 6170
+-90.83 35.232 6314
+-90.704 35.232 6346
+-90.578 35.232 6450
+-90.452 35.232 6528
+-90.326 35.232 6571
+-90.2 35.232 6604
+-90.074 35.232 6701
+-89.948 35.232 6738
+-89.822 35.232 6823
+-89.696 35.232 6897
+-89.57 35.232 6940
+-89.444 35.232 6960
+-89.318 35.232 7016
+-89.192 35.232 7033
+-89.066 35.232 7056
+-88.94 35.232 7049
+-88.814 35.232 7077
+-88.688 35.232 7076
+-88.562 35.232 7045
+-88.436 35.232 7006
+-88.31 35.232 6994
+-88.184 35.232 6953
+-88.058 35.232 6900
+-87.932 35.232 6895
+-87.806 35.232 6809
+-87.68 35.232 6759
+-87.554 35.232 6723
+-87.428 35.232 6617
+-87.302 35.232 6581
+-87.176 35.232 6476
+-87.05 35.232 6404
+-86.924 35.232 6336
+-86.798 35.232 6221
+-86.672 35.232 6124
+-86.546 35.232 6061
+-86.42 35.232 5980
+-86.294 35.232 5842
+-86.168 35.232 5768
+-86.042 35.232 5612
+-85.916 35.232 5527
+-85.79 35.232 5443
+-85.664 35.232 5314
+-85.538 35.232 5274
+-85.412 35.232 5244
+-85.286 35.232 5175
+-85.16 35.232 5068
+-85.034 35.232 4878
+-84.908 35.232 4690
+-84.782 35.232 4664
+-84.656 35.232 4597
+-84.53 35.232 4488
+-84.404 35.232 4365
+-84.278 35.232 4225
+-84.152 35.232 4074
+-84.026 35.232 3986
+-83.9 35.232 3961
+-83.774 35.232 3962
+-83.648 35.232 3969
+-83.522 35.232 3875
+-83.396 35.232 3773
+-83.27 35.232 3676
+-83.144 35.232 3603
+-83.018 35.232 3525
+-82.892 35.232 3427
+-82.766 35.232 3322
+-82.64 35.232 3191
+-82.514 35.232 3076
+-82.388 35.232 2949
+-82.262 35.232 2807
+-82.136 35.232 2663
+-82.01 35.232 2521
+-81.884 35.232 2399
+-81.758 35.232 2371
+-81.632 35.232 2398
+-81.506 35.232 2449
+-81.38 35.232 2526
+-81.254 35.232 2585
+-81.128 35.232 2613
+-81.002 35.232 2613
+-80.876 35.232 2647
+-80.75 35.232 2668
+-80.624 35.232 2657
+-80.498 35.232 2660
+-80.372 35.232 2607
+-80.246 35.232 2586
+-80.12 35.232 2571
+-79.994 35.232 2551
+-79.868 35.232 2520
+-79.742 35.232 2483
+-79.616 35.232 2476
+-79.49 35.232 2436
+-79.364 35.232 2344
+-79.238 35.232 2334
+-79.112 35.232 2329
+-78.986 35.232 2293
+-78.86 35.232 2298
+-78.734 35.232 2305
+-78.608 35.232 2290
+-78.482 35.232 2305
+-78.356 35.232 2333
+-78.23 35.232 2361
+-78.104 35.232 2394
+-77.978 35.232 2440
+-77.852 35.232 2451
+-77.726 35.232 2475
+-77.6 35.232 2508
+-77.474 35.232 2546
+-77.348 35.232 2569
+-77.222 35.232 2613
+-77.096 35.232 2664
+-76.97 35.232 2673
+-76.844 35.232 2700
+-76.718 35.232 2716
+-76.592 35.232 2808
+-76.466 35.232 2824
+-76.34 35.232 2840
+-76.214 35.232 2854
+-76.088 35.232 2868
+-75.962 35.232 2880
+-75.836 35.232 2842
+-75.71 35.232 2866
+-75.584 35.232 2877
+-75.458 35.232 2882
+-75.332 35.232 3122
+-75.206 35.232 3151
+-75.08 35.232 3161
+-74.954 35.232 3167
+-74.828 35.232 3176
+-74.702 35.232 3187
+-74.576 35.232 3204
+-74.45 35.232 3212
+-74.324 35.232 3211
+-74.198 35.232 3218
+-74.072 35.232 3185
+-73.946 35.232 3191
+-73.82 35.232 3197
+-73.694 35.232 3254
+-73.568 35.232 3255
+-73.442 35.232 3268
+-73.316 35.232 3273
+-73.19 35.232 3261
+-73.064 35.232 3283
+-72.938 35.232 3327
+-72.812 35.232 3340
+-72.686 35.232 3343
+-72.56 35.232 3346
+-72.434 35.232 3393
+-72.308 35.232 3399
+-72.182 35.232 3348
+-72.056 35.232 3370
+-71.93 35.232 3368
+-71.804 35.232 3299
+-71.678 35.232 3220
+-71.552 35.232 3241
+-71.426 35.232 3245
+-71.3 35.232 3275
+-71.174 35.232 3254
+-71.048 35.232 3266
+-70.922 35.232 3269
+-70.796 35.232 3253
+-70.67 35.232 3256
+-70.544 35.232 3259
+-70.418 35.232 3238
+-70.292 35.232 3223
+-70.166 35.232 3256
+-70.04 35.232 3252
+-69.914 35.232 3255
+-69.788 35.232 3258
+-69.662 35.232 3182
+-69.536 35.232 3221
+-69.41 35.232 3218
+-69.284 35.232 3221
+-69.158 35.232 3223
+-69.032 35.232 3451
+-68.906 35.232 3379
+-68.78 35.232 3389
+-68.654 35.232 3390
+-68.528 35.232 3288
+-68.402 35.232 3275
+-68.276 35.232 3276
+-68.15 35.232 3277
+-68.024 35.232 3256
+-67.898 35.232 3257
+-67.772 35.232 3258
+-67.646 35.232 3259
+-67.52 35.232 3260
+-67.394 35.232 3284
+-67.268 35.232 3285
+-67.142 35.232 3270
+-67.016 35.232 3271
+-66.89 35.232 3272
+-66.764 35.232 3211
+-66.638 35.232 3397
+-66.512 35.232 3356
+-66.386 35.232 3356
+-66.26 35.232 3326
+-66.134 35.232 3327
+-66.008 35.232 3327
+-65.882 35.232 3459
+-65.756 35.232 3460
+-65.63 35.232 3460
+-65.504 35.232 3461
+-65.378 35.232 3461
+-65.252 35.232 3580
+-65.126 35.232 3581
+-128 35.18 2882
+-127.874 35.18 2899
+-127.748 35.18 2906
+-127.622 35.18 2920
+-127.496 35.18 2896
+-127.37 35.18 2890
+-127.244 35.18 2939
+-127.118 35.18 2930
+-126.992 35.18 2922
+-126.866 35.18 2913
+-126.74 35.18 2903
+-126.614 35.18 2892
+-126.488 35.18 2998
+-126.362 35.18 2985
+-126.236 35.18 2971
+-126.11 35.18 2956
+-125.984 35.18 2957
+-125.858 35.18 2937
+-125.732 35.18 2916
+-125.606 35.18 2891
+-125.48 35.18 2863
+-125.354 35.18 2882
+-125.228 35.18 2842
+-125.102 35.18 2794
+-124.976 35.18 2734
+-124.85 35.18 2659
+-124.724 35.18 2564
+-124.598 35.18 2445
+-124.472 35.18 2301
+-124.346 35.18 2157
+-124.22 35.18 2097
+-124.094 35.18 2207
+-123.968 35.18 2416
+-123.842 35.18 2637
+-123.716 35.18 2900
+-123.59 35.18 3131
+-123.464 35.18 3336
+-123.338 35.18 3500
+-123.212 35.18 3622
+-123.086 35.18 3777
+-122.96 35.18 3844
+-122.834 35.18 3944
+-122.708 35.18 3998
+-122.582 35.18 4012
+-122.456 35.18 4046
+-122.33 35.18 4081
+-122.204 35.18 4220
+-122.078 35.18 4367
+-121.952 35.18 4510
+-121.826 35.18 4637
+-121.7 35.18 4656
+-121.574 35.18 4804
+-121.448 35.18 4846
+-121.322 35.18 5059
+-121.196 35.18 5153
+-121.07 35.18 5253
+-120.944 35.18 5386
+-120.818 35.18 5515
+-120.692 35.18 5709
+-120.566 35.18 5910
+-120.44 35.18 5991
+-120.314 35.18 6094
+-120.188 35.18 6225
+-120.062 35.18 6317
+-119.936 35.18 6499
+-119.81 35.18 6612
+-119.684 35.18 6773
+-119.558 35.18 6849
+-119.432 35.18 7024
+-119.306 35.18 7148
+-119.18 35.18 7268
+-119.054 35.18 7344
+-118.928 35.18 7507
+-118.802 35.18 7596
+-118.676 35.18 7719
+-118.55 35.18 7801
+-118.424 35.18 7862
+-118.298 35.18 7960
+-118.172 35.18 8097
+-118.046 35.18 8151
+-117.92 35.18 8260
+-117.794 35.18 8312
+-117.668 35.18 8357
+-117.542 35.18 8388
+-117.416 35.18 8421
+-117.29 35.18 8401
+-117.164 35.18 8412
+-117.038 35.18 8356
+-116.912 35.18 8333
+-116.786 35.18 8228
+-116.66 35.18 8221
+-116.534 35.18 8111
+-116.408 35.18 8030
+-116.282 35.18 7931
+-116.156 35.18 7808
+-116.03 35.18 7737
+-115.904 35.18 7630
+-115.778 35.18 7556
+-115.652 35.18 7376
+-115.526 35.18 7295
+-115.4 35.18 7185
+-115.274 35.18 7022
+-115.148 35.18 6919
+-115.022 35.18 6788
+-114.896 35.18 6646
+-114.77 35.18 6514
+-114.644 35.18 6459
+-114.518 35.18 6306
+-114.392 35.18 6173
+-114.266 35.18 6018
+-114.14 35.18 5901
+-114.014 35.18 5742
+-113.888 35.18 5629
+-113.762 35.18 5463
+-113.636 35.18 5387
+-113.51 35.18 5224
+-113.384 35.18 5051
+-113.258 35.18 5038
+-113.132 35.18 4928
+-113.006 35.18 4863
+-112.88 35.18 4794
+-112.754 35.18 4837
+-112.628 35.18 4930
+-112.502 35.18 4952
+-112.376 35.18 5037
+-112.25 35.18 5080
+-112.124 35.18 5171
+-111.998 35.18 5196
+-111.872 35.18 5237
+-111.746 35.18 5313
+-111.62 35.18 5363
+-111.494 35.18 5404
+-111.368 35.18 5470
+-111.242 35.18 5497
+-111.116 35.18 5531
+-110.99 35.18 5546
+-110.864 35.18 5561
+-110.738 35.18 5589
+-110.612 35.18 5591
+-110.486 35.18 5615
+-110.36 35.18 5626
+-110.234 35.18 5598
+-110.108 35.18 5587
+-109.982 35.18 5560
+-109.856 35.18 5546
+-109.73 35.18 5540
+-109.604 35.18 5506
+-109.478 35.18 5468
+-109.352 35.18 5481
+-109.226 35.18 5451
+-109.1 35.18 5418
+-108.974 35.18 5367
+-108.848 35.18 5270
+-108.722 35.18 5170
+-108.596 35.18 5105
+-108.47 35.18 5056
+-108.344 35.18 5029
+-108.218 35.18 4960
+-108.092 35.18 4865
+-107.966 35.18 4778
+-107.84 35.18 4730
+-107.714 35.18 4685
+-107.588 35.18 4635
+-107.462 35.18 4524
+-107.336 35.18 4447
+-107.21 35.18 4382
+-107.084 35.18 4335
+-106.958 35.18 4280
+-106.832 35.18 4219
+-106.706 35.18 4153
+-106.58 35.18 4011
+-106.454 35.18 3929
+-106.328 35.18 3885
+-106.202 35.18 3849
+-106.076 35.18 3799
+-105.95 35.18 3794
+-105.824 35.18 3785
+-105.698 35.18 3774
+-105.572 35.18 3768
+-105.446 35.18 3764
+-105.32 35.18 3721
+-105.194 35.18 3716
+-105.068 35.18 3716
+-104.942 35.18 3716
+-104.816 35.18 3718
+-104.69 35.18 3676
+-104.564 35.18 3676
+-104.438 35.18 3679
+-104.312 35.18 3649
+-104.186 35.18 3606
+-104.06 35.18 3609
+-103.934 35.18 3613
+-103.808 35.18 3616
+-103.682 35.18 3620
+-103.556 35.18 3602
+-103.43 35.18 3592
+-103.304 35.18 3596
+-103.178 35.18 3648
+-103.052 35.18 3585
+-102.926 35.18 3589
+-102.8 35.18 3593
+-102.674 35.18 3596
+-102.548 35.18 3516
+-102.422 35.18 3578
+-102.296 35.18 3413
+-102.17 35.18 3414
+-102.044 35.18 3412
+-101.918 35.18 3349
+-101.792 35.18 3303
+-101.666 35.18 3243
+-101.54 35.18 3236
+-101.414 35.18 3139
+-101.288 35.18 3126
+-101.162 35.18 3088
+-101.036 35.18 3142
+-100.91 35.18 3076
+-100.784 35.18 3040
+-100.658 35.18 2983
+-100.532 35.18 3034
+-100.406 35.18 3033
+-100.28 35.18 3049
+-100.154 35.18 3040
+-100.028 35.18 3078
+-99.902 35.18 3084
+-99.776 35.18 3172
+-99.65 35.18 3162
+-99.524 35.18 3152
+-99.398 35.18 3160
+-99.272 35.18 3149
+-99.146 35.18 3136
+-99.02 35.18 3128
+-98.894 35.18 3114
+-98.768 35.18 3111
+-98.642 35.18 3081
+-98.516 35.18 3069
+-98.39 35.18 3073
+-98.264 35.18 3059
+-98.138 35.18 3069
+-98.012 35.18 3059
+-97.886 35.18 3049
+-97.76 35.18 3042
+-97.634 35.18 3099
+-97.508 35.18 3096
+-97.382 35.18 3097
+-97.256 35.18 3120
+-97.13 35.18 3135
+-97.004 35.18 3156
+-96.878 35.18 3183
+-96.752 35.18 3270
+-96.626 35.18 3305
+-96.5 35.18 3367
+-96.374 35.18 3404
+-96.248 35.18 3440
+-96.122 35.18 3474
+-95.996 35.18 3490
+-95.87 35.18 3520
+-95.744 35.18 3546
+-95.618 35.18 3598
+-95.492 35.18 3617
+-95.366 35.18 3632
+-95.24 35.18 3687
+-95.114 35.18 3730
+-94.988 35.18 3739
+-94.862 35.18 3777
+-94.736 35.18 3804
+-94.61 35.18 3844
+-94.484 35.18 3879
+-94.358 35.18 3930
+-94.232 35.18 3976
+-94.106 35.18 4056
+-93.98 35.18 4146
+-93.854 35.18 4224
+-93.728 35.18 4304
+-93.602 35.18 4361
+-93.476 35.18 4398
+-93.35 35.18 4405
+-93.224 35.18 4453
+-93.098 35.18 4541
+-92.972 35.18 4656
+-92.846 35.18 4777
+-92.72 35.18 4891
+-92.594 35.18 4981
+-92.468 35.18 5031
+-92.342 35.18 5025
+-92.216 35.18 5119
+-92.09 35.18 5208
+-91.964 35.18 5224
+-91.838 35.18 5260
+-91.712 35.18 5399
+-91.586 35.18 5522
+-91.46 35.18 5658
+-91.334 35.18 5840
+-91.208 35.18 5983
+-91.082 35.18 6064
+-90.956 35.18 6148
+-90.83 35.18 6275
+-90.704 35.18 6272
+-90.578 35.18 6371
+-90.452 35.18 6473
+-90.326 35.18 6555
+-90.2 35.18 6601
+-90.074 35.18 6660
+-89.948 35.18 6691
+-89.822 35.18 6754
+-89.696 35.18 6828
+-89.57 35.18 6867
+-89.444 35.18 6896
+-89.318 35.18 6950
+-89.192 35.18 6975
+-89.066 35.18 7006
+-88.94 35.18 7003
+-88.814 35.18 7020
+-88.688 35.18 6989
+-88.562 35.18 6967
+-88.436 35.18 6940
+-88.31 35.18 6922
+-88.184 35.18 6918
+-88.058 35.18 6880
+-87.932 35.18 6844
+-87.806 35.18 6782
+-87.68 35.18 6720
+-87.554 35.18 6672
+-87.428 35.18 6608
+-87.302 35.18 6515
+-87.176 35.18 6409
+-87.05 35.18 6374
+-86.924 35.18 6273
+-86.798 35.18 6163
+-86.672 35.18 6122
+-86.546 35.18 6061
+-86.42 35.18 5884
+-86.294 35.18 5756
+-86.168 35.18 5721
+-86.042 35.18 5568
+-85.916 35.18 5478
+-85.79 35.18 5388
+-85.664 35.18 5311
+-85.538 35.18 5158
+-85.412 35.18 5202
+-85.286 35.18 5135
+-85.16 35.18 5018
+-85.034 35.18 4897
+-84.908 35.18 4719
+-84.782 35.18 4652
+-84.656 35.18 4570
+-84.53 35.18 4470
+-84.404 35.18 4332
+-84.278 35.18 4160
+-84.152 35.18 3941
+-84.026 35.18 3832
+-83.9 35.18 3867
+-83.774 35.18 3930
+-83.648 35.18 3968
+-83.522 35.18 3872
+-83.396 35.18 3820
+-83.27 35.18 3707
+-83.144 35.18 3644
+-83.018 35.18 3539
+-82.892 35.18 3466
+-82.766 35.18 3378
+-82.64 35.18 3283
+-82.514 35.18 3155
+-82.388 35.18 3041
+-82.262 35.18 2926
+-82.136 35.18 2789
+-82.01 35.18 2662
+-81.884 35.18 2556
+-81.758 35.18 2534
+-81.632 35.18 2538
+-81.506 35.18 2563
+-81.38 35.18 2597
+-81.254 35.18 2604
+-81.128 35.18 2621
+-81.002 35.18 2646
+-80.876 35.18 2642
+-80.75 35.18 2664
+-80.624 35.18 2667
+-80.498 35.18 2608
+-80.372 35.18 2583
+-80.246 35.18 2565
+-80.12 35.18 2542
+-79.994 35.18 2508
+-79.868 35.18 2467
+-79.742 35.18 2453
+-79.616 35.18 2411
+-79.49 35.18 2309
+-79.364 35.18 2292
+-79.238 35.18 2280
+-79.112 35.18 2274
+-78.986 35.18 2273
+-78.86 35.18 2255
+-78.734 35.18 2236
+-78.608 35.18 2252
+-78.482 35.18 2281
+-78.356 35.18 2320
+-78.23 35.18 2347
+-78.104 35.18 2397
+-77.978 35.18 2419
+-77.852 35.18 2438
+-77.726 35.18 2474
+-77.6 35.18 2516
+-77.474 35.18 2541
+-77.348 35.18 2587
+-77.222 35.18 2639
+-77.096 35.18 2651
+-76.97 35.18 2680
+-76.844 35.18 2698
+-76.718 35.18 2790
+-76.592 35.18 2808
+-76.466 35.18 2824
+-76.34 35.18 2840
+-76.214 35.18 2854
+-76.088 35.18 2868
+-75.962 35.18 2832
+-75.836 35.18 2857
+-75.71 35.18 2869
+-75.584 35.18 2874
+-75.458 35.18 3111
+-75.332 35.18 3140
+-75.206 35.18 3150
+-75.08 35.18 3157
+-74.954 35.18 3166
+-74.828 35.18 3178
+-74.702 35.18 3196
+-74.576 35.18 3204
+-74.45 35.18 3204
+-74.324 35.18 3211
+-74.198 35.18 3179
+-74.072 35.18 3185
+-73.946 35.18 3191
+-73.82 35.18 3248
+-73.694 35.18 3250
+-73.568 35.18 3262
+-73.442 35.18 3268
+-73.316 35.18 3257
+-73.19 35.18 3279
+-73.064 35.18 3322
+-72.938 35.18 3335
+-72.812 35.18 3339
+-72.686 35.18 3342
+-72.56 35.18 3389
+-72.434 35.18 3395
+-72.308 35.18 3345
+-72.182 35.18 3367
+-72.056 35.18 3365
+-71.93 35.18 3293
+-71.804 35.18 3218
+-71.678 35.18 3239
+-71.552 35.18 3242
+-71.426 35.18 3273
+-71.3 35.18 3252
+-71.174 35.18 3263
+-71.048 35.18 3267
+-70.922 35.18 3251
+-70.796 35.18 3254
+-70.67 35.18 3257
+-70.544 35.18 3237
+-70.418 35.18 3222
+-70.292 35.18 3254
+-70.166 35.18 3250
+-70.04 35.18 3253
+-69.914 35.18 3256
+-69.788 35.18 3181
+-69.662 35.18 3220
+-69.536 35.18 3217
+-69.41 35.18 3219
+-69.284 35.18 3222
+-69.158 35.18 3449
+-69.032 35.18 3374
+-68.906 35.18 3387
+-68.78 35.18 3389
+-68.654 35.18 3287
+-68.528 35.18 3274
+-68.402 35.18 3275
+-68.276 35.18 3277
+-68.15 35.18 3255
+-68.024 35.18 3256
+-67.898 35.18 3257
+-67.772 35.18 3258
+-67.646 35.18 3259
+-67.52 35.18 3283
+-67.394 35.18 3284
+-67.268 35.18 3269
+-67.142 35.18 3270
+-67.016 35.18 3271
+-66.89 35.18 3211
+-66.764 35.18 3396
+-66.638 35.18 3355
+-66.512 35.18 3356
+-66.386 35.18 3325
+-66.26 35.18 3326
+-66.134 35.18 3327
+-66.008 35.18 3458
+-65.882 35.18 3459
+-65.756 35.18 3459
+-65.63 35.18 3460
+-65.504 35.18 3460
+-65.378 35.18 3579
+-65.252 35.18 3580
+-65.126 35.18 3491
+-128 35.128 2885
+-127.874 35.128 2881
+-127.748 35.128 2878
+-127.622 35.128 2874
+-127.496 35.128 2870
+-127.37 35.128 2914
+-127.244 35.128 2908
+-127.118 35.128 2939
+-126.992 35.128 2931
+-126.866 35.128 2922
+-126.74 35.128 2913
+-126.614 35.128 2932
+-126.488 35.128 3011
+-126.362 35.128 2998
+-126.236 35.128 2984
+-126.11 35.128 2969
+-125.984 35.128 2953
+-125.858 35.128 2967
+-125.732 35.128 2945
+-125.606 35.128 2919
+-125.48 35.128 2889
+-125.354 35.128 2854
+-125.228 35.128 2851
+-125.102 35.128 2800
+-124.976 35.128 2735
+-124.85 35.128 2654
+-124.724 35.128 2550
+-124.598 35.128 2418
+-124.472 35.128 2257
+-124.346 35.128 2081
+-124.22 35.128 1981
+-124.094 35.128 2118
+-123.968 35.128 2341
+-123.842 35.128 2529
+-123.716 35.128 2788
+-123.59 35.128 3060
+-123.464 35.128 3301
+-123.338 35.128 3486
+-123.212 35.128 3670
+-123.086 35.128 3769
+-122.96 35.128 3817
+-122.834 35.128 3898
+-122.708 35.128 3917
+-122.582 35.128 3909
+-122.456 35.128 4026
+-122.33 35.128 4159
+-122.204 35.128 4269
+-122.078 35.128 4350
+-121.952 35.128 4437
+-121.826 35.128 4549
+-121.7 35.128 4702
+-121.574 35.128 4819
+-121.448 35.128 4917
+-121.322 35.128 5058
+-121.196 35.128 5215
+-121.07 35.128 5274
+-120.944 35.128 5421
+-120.818 35.128 5528
+-120.692 35.128 5739
+-120.566 35.128 5896
+-120.44 35.128 5983
+-120.314 35.128 6076
+-120.188 35.128 6256
+-120.062 35.128 6416
+-119.936 35.128 6493
+-119.81 35.128 6669
+-119.684 35.128 6750
+-119.558 35.128 6946
+-119.432 35.128 7032
+-119.306 35.128 7094
+-119.18 35.128 7289
+-119.054 35.128 7342
+-118.928 35.128 7498
+-118.802 35.128 7663
+-118.676 35.128 7699
+-118.55 35.128 7831
+-118.424 35.128 7973
+-118.298 35.128 8037
+-118.172 35.128 8176
+-118.046 35.128 8207
+-117.92 35.128 8323
+-117.794 35.128 8346
+-117.668 35.128 8419
+-117.542 35.128 8441
+-117.416 35.128 8465
+-117.29 35.128 8466
+-117.164 35.128 8446
+-117.038 35.128 8452
+-116.912 35.128 8390
+-116.786 35.128 8330
+-116.66 35.128 8253
+-116.534 35.128 8152
+-116.408 35.128 8108
+-116.282 35.128 7945
+-116.156 35.128 7863
+-116.03 35.128 7811
+-115.904 35.128 7647
+-115.778 35.128 7563
+-115.652 35.128 7484
+-115.526 35.128 7309
+-115.4 35.128 7177
+-115.274 35.128 7106
+-115.148 35.128 6878
+-115.022 35.128 6802
+-114.896 35.128 6728
+-114.77 35.128 6545
+-114.644 35.128 6462
+-114.518 35.128 6348
+-114.392 35.128 6126
+-114.266 35.128 6068
+-114.14 35.128 5933
+-114.014 35.128 5763
+-113.888 35.128 5623
+-113.762 35.128 5556
+-113.636 35.128 5400
+-113.51 35.128 5231
+-113.384 35.128 5146
+-113.258 35.128 5022
+-113.132 35.128 4779
+-113.006 35.128 4854
+-112.88 35.128 4846
+-112.754 35.128 4875
+-112.628 35.128 4929
+-112.502 35.128 5010
+-112.376 35.128 5106
+-112.25 35.128 5132
+-112.124 35.128 5242
+-111.998 35.128 5295
+-111.872 35.128 5287
+-111.746 35.128 5343
+-111.62 35.128 5411
+-111.494 35.128 5446
+-111.368 35.128 5487
+-111.242 35.128 5539
+-111.116 35.128 5588
+-110.99 35.128 5589
+-110.864 35.128 5624
+-110.738 35.128 5647
+-110.612 35.128 5682
+-110.486 35.128 5672
+-110.36 35.128 5657
+-110.234 35.128 5645
+-110.108 35.128 5644
+-109.982 35.128 5624
+-109.856 35.128 5600
+-109.73 35.128 5594
+-109.604 35.128 5565
+-109.478 35.128 5532
+-109.352 35.128 5511
+-109.226 35.128 5485
+-109.1 35.128 5455
+-108.974 35.128 5428
+-108.848 35.128 5358
+-108.722 35.128 5257
+-108.596 35.128 5183
+-108.47 35.128 5134
+-108.344 35.128 5081
+-108.218 35.128 5042
+-108.092 35.128 4974
+-107.966 35.128 4863
+-107.84 35.128 4795
+-107.714 35.128 4722
+-107.588 35.128 4646
+-107.462 35.128 4538
+-107.336 35.128 4439
+-107.21 35.128 4369
+-107.084 35.128 4318
+-106.958 35.128 4265
+-106.832 35.128 4221
+-106.706 35.128 4127
+-106.58 35.128 3981
+-106.454 35.128 3877
+-106.328 35.128 3862
+-106.202 35.128 3803
+-106.076 35.128 3795
+-105.95 35.128 3816
+-105.824 35.128 3802
+-105.698 35.128 3801
+-105.572 35.128 3800
+-105.446 35.128 3787
+-105.32 35.128 3796
+-105.194 35.128 3795
+-105.068 35.128 3750
+-104.942 35.128 3749
+-104.816 35.128 3748
+-104.69 35.128 3737
+-104.564 35.128 3736
+-104.438 35.128 3728
+-104.312 35.128 3730
+-104.186 35.128 3733
+-104.06 35.128 3633
+-103.934 35.128 3636
+-103.808 35.128 3638
+-103.682 35.128 3647
+-103.556 35.128 3608
+-103.43 35.128 3611
+-103.304 35.128 3661
+-103.178 35.128 3667
+-103.052 35.128 3670
+-102.926 35.128 3674
+-102.8 35.128 3609
+-102.674 35.128 3612
+-102.548 35.128 3588
+-102.422 35.128 3589
+-102.296 35.128 3426
+-102.17 35.128 3503
+-102.044 35.128 3360
+-101.918 35.128 3384
+-101.792 35.128 3384
+-101.666 35.128 3379
+-101.54 35.128 3246
+-101.414 35.128 3149
+-101.288 35.128 3167
+-101.162 35.128 3097
+-101.036 35.128 3155
+-100.91 35.128 3136
+-100.784 35.128 3050
+-100.658 35.128 3021
+-100.532 35.128 3042
+-100.406 35.128 3038
+-100.28 35.128 3046
+-100.154 35.128 3043
+-100.028 35.128 3078
+-99.902 35.128 3088
+-99.776 35.128 3158
+-99.65 35.128 3166
+-99.524 35.128 3176
+-99.398 35.128 3166
+-99.272 35.128 3155
+-99.146 35.128 3148
+-99.02 35.128 3137
+-98.894 35.128 3135
+-98.768 35.128 3105
+-98.642 35.128 3095
+-98.516 35.128 3102
+-98.39 35.128 3091
+-98.264 35.128 3103
+-98.138 35.128 3095
+-98.012 35.128 3088
+-97.886 35.128 3082
+-97.76 35.128 3099
+-97.634 35.128 3097
+-97.508 35.128 3097
+-97.382 35.128 3108
+-97.256 35.128 3168
+-97.13 35.128 3182
+-97.004 35.128 3202
+-96.878 35.128 3225
+-96.752 35.128 3312
+-96.626 35.128 3368
+-96.5 35.128 3400
+-96.374 35.128 3431
+-96.248 35.128 3462
+-96.122 35.128 3475
+-95.996 35.128 3503
+-95.87 35.128 3529
+-95.744 35.128 3552
+-95.618 35.128 3573
+-95.492 35.128 3597
+-95.366 35.128 3670
+-95.24 35.128 3675
+-95.114 35.128 3750
+-94.988 35.128 3785
+-94.862 35.128 3803
+-94.736 35.128 3831
+-94.61 35.128 3857
+-94.484 35.128 3891
+-94.358 35.128 3928
+-94.232 35.128 3991
+-94.106 35.128 4059
+-93.98 35.128 4124
+-93.854 35.128 4191
+-93.728 35.128 4298
+-93.602 35.128 4333
+-93.476 35.128 4362
+-93.35 35.128 4382
+-93.224 35.128 4420
+-93.098 35.128 4509
+-92.972 35.128 4618
+-92.846 35.128 4722
+-92.72 35.128 4831
+-92.594 35.128 4902
+-92.468 35.128 4992
+-92.342 35.128 5023
+-92.216 35.128 5080
+-92.09 35.128 5155
+-91.964 35.128 5123
+-91.838 35.128 5288
+-91.712 35.128 5518
+-91.586 35.128 5587
+-91.46 35.128 5625
+-91.334 35.128 5770
+-91.208 35.128 5899
+-91.082 35.128 5983
+-90.956 35.128 6067
+-90.83 35.128 6207
+-90.704 35.128 6280
+-90.578 35.128 6370
+-90.452 35.128 6436
+-90.326 35.128 6510
+-90.2 35.128 6553
+-90.074 35.128 6623
+-89.948 35.128 6646
+-89.822 35.128 6721
+-89.696 35.128 6764
+-89.57 35.128 6831
+-89.444 35.128 6864
+-89.318 35.128 6914
+-89.192 35.128 6928
+-89.066 35.128 6951
+-88.94 35.128 6952
+-88.814 35.128 6930
+-88.688 35.128 6926
+-88.562 35.128 6905
+-88.436 35.128 6917
+-88.31 35.128 6849
+-88.184 35.128 6872
+-88.058 35.128 6826
+-87.932 35.128 6801
+-87.806 35.128 6739
+-87.68 35.128 6706
+-87.554 35.128 6628
+-87.428 35.128 6579
+-87.302 35.128 6494
+-87.176 35.128 6352
+-87.05 35.128 6315
+-86.924 35.128 6224
+-86.798 35.128 6095
+-86.672 35.128 6076
+-86.546 35.128 6018
+-86.42 35.128 5867
+-86.294 35.128 5751
+-86.168 35.128 5669
+-86.042 35.128 5518
+-85.916 35.128 5413
+-85.79 35.128 5306
+-85.664 35.128 5312
+-85.538 35.128 5209
+-85.412 35.128 5145
+-85.286 35.128 5085
+-85.16 35.128 4964
+-85.034 35.128 4806
+-84.908 35.128 4637
+-84.782 35.128 4616
+-84.656 35.128 4553
+-84.53 35.128 4448
+-84.404 35.128 4303
+-84.278 35.128 4107
+-84.152 35.128 3863
+-84.026 35.128 3736
+-83.9 35.128 3810
+-83.774 35.128 3904
+-83.648 35.128 3958
+-83.522 35.128 3882
+-83.396 35.128 3846
+-83.27 35.128 3787
+-83.144 35.128 3674
+-83.018 35.128 3613
+-82.892 35.128 3508
+-82.766 35.128 3437
+-82.64 35.128 3340
+-82.514 35.128 3203
+-82.388 35.128 3095
+-82.262 35.128 2979
+-82.136 35.128 2911
+-82.01 35.128 2798
+-81.884 35.128 2690
+-81.758 35.128 2664
+-81.632 35.128 2654
+-81.506 35.128 2660
+-81.38 35.128 2647
+-81.254 35.128 2649
+-81.128 35.128 2665
+-81.002 35.128 2657
+-80.876 35.128 2674
+-80.75 35.128 2676
+-80.624 35.128 2623
+-80.498 35.128 2609
+-80.372 35.128 2581
+-80.246 35.128 2540
+-80.12 35.128 2504
+-79.994 35.128 2460
+-79.868 35.128 2440
+-79.742 35.128 2381
+-79.616 35.128 2277
+-79.49 35.128 2251
+-79.364 35.128 2230
+-79.238 35.128 2211
+-79.112 35.128 2205
+-78.986 35.128 2191
+-78.86 35.128 2208
+-78.734 35.128 2204
+-78.608 35.128 2224
+-78.482 35.128 2261
+-78.356 35.128 2290
+-78.23 35.128 2344
+-78.104 35.128 2371
+-77.978 35.128 2394
+-77.852 35.128 2443
+-77.726 35.128 2479
+-77.6 35.128 2508
+-77.474 35.128 2556
+-77.348 35.128 2611
+-77.222 35.128 2625
+-77.096 35.128 2657
+-76.97 35.128 2677
+-76.844 35.128 2770
+-76.718 35.128 2789
+-76.592 35.128 2807
+-76.466 35.128 2824
+-76.34 35.128 2840
+-76.214 35.128 2855
+-76.088 35.128 2822
+-75.962 35.128 2848
+-75.836 35.128 2860
+-75.71 35.128 2866
+-75.584 35.128 3099
+-75.458 35.128 3128
+-75.332 35.128 3139
+-75.206 35.128 3147
+-75.08 35.128 3157
+-74.954 35.128 3169
+-74.828 35.128 3187
+-74.702 35.128 3196
+-74.576 35.128 3196
+-74.45 35.128 3204
+-74.324 35.128 3172
+-74.198 35.128 3179
+-74.072 35.128 3185
+-73.946 35.128 3242
+-73.82 35.128 3244
+-73.694 35.128 3257
+-73.568 35.128 3263
+-73.442 35.128 3252
+-73.316 35.128 3274
+-73.19 35.128 3318
+-73.064 35.128 3331
+-72.938 35.128 3335
+-72.812 35.128 3338
+-72.686 35.128 3385
+-72.56 35.128 3390
+-72.434 35.128 3341
+-72.308 35.128 3363
+-72.182 35.128 3362
+-72.056 35.128 3293
+-71.93 35.128 3215
+-71.804 35.128 3236
+-71.678 35.128 3240
+-71.552 35.128 3270
+-71.426 35.128 3250
+-71.3 35.128 3261
+-71.174 35.128 3265
+-71.048 35.128 3249
+-70.922 35.128 3252
+-70.796 35.128 3255
+-70.67 35.128 3235
+-70.544 35.128 3220
+-70.418 35.128 3253
+-70.292 35.128 3249
+-70.166 35.128 3252
+-70.04 35.128 3255
+-69.914 35.128 3180
+-69.788 35.128 3219
+-69.662 35.128 3216
+-69.536 35.128 3218
+-69.41 35.128 3221
+-69.284 35.128 3448
+-69.158 35.128 3377
+-69.032 35.128 3386
+-68.906 35.128 3388
+-68.78 35.128 3286
+-68.654 35.128 3273
+-68.528 35.128 3274
+-68.402 35.128 3276
+-68.276 35.128 3254
+-68.15 35.128 3255
+-68.024 35.128 3256
+-67.898 35.128 3257
+-67.772 35.128 3258
+-67.646 35.128 3282
+-67.52 35.128 3283
+-67.394 35.128 3268
+-67.268 35.128 3269
+-67.142 35.128 3270
+-67.016 35.128 3210
+-66.89 35.128 3395
+-66.764 35.128 3354
+-66.638 35.128 3355
+-66.512 35.128 3324
+-66.386 35.128 3325
+-66.26 35.128 3326
+-66.134 35.128 3457
+-66.008 35.128 3458
+-65.882 35.128 3458
+-65.756 35.128 3459
+-65.63 35.128 3460
+-65.504 35.128 3578
+-65.378 35.128 3578
+-65.252 35.128 3490
+-65.126 35.128 3491
+-128 35.076 2887
+-127.874 35.076 2884
+-127.748 35.076 2881
+-127.622 35.076 2877
+-127.496 35.076 2873
+-127.37 35.076 2870
+-127.244 35.076 2913
+-127.118 35.076 2907
+-126.992 35.076 2940
+-126.866 35.076 2931
+-126.74 35.076 2953
+-126.614 35.076 2943
+-126.488 35.076 2931
+-126.362 35.076 3011
+-126.236 35.076 2998
+-126.11 35.076 2984
+-125.984 35.076 2968
+-125.858 35.076 2949
+-125.732 35.076 2961
+-125.606 35.076 2936
+-125.48 35.076 2906
+-125.354 35.076 2870
+-125.228 35.076 2827
+-125.102 35.076 2814
+-124.976 35.076 2749
+-124.85 35.076 2668
+-124.724 35.076 2567
+-124.598 35.076 2444
+-124.472 35.076 2301
+-124.346 35.076 2170
+-124.22 35.076 2106
+-124.094 35.076 2206
+-123.968 35.076 2264
+-123.842 35.076 2392
+-123.716 35.076 2668
+-123.59 35.076 3005
+-123.464 35.076 3280
+-123.338 35.076 3539
+-123.212 35.076 3663
+-123.086 35.076 3726
+-122.96 35.076 3767
+-122.834 35.076 3835
+-122.708 35.076 3865
+-122.582 35.076 3781
+-122.456 35.076 3967
+-122.33 35.076 4087
+-122.204 35.076 4246
+-122.078 35.076 4300
+-121.952 35.076 4371
+-121.826 35.076 4474
+-121.7 35.076 4674
+-121.574 35.076 4815
+-121.448 35.076 4920
+-121.322 35.076 5065
+-121.196 35.076 5255
+-121.07 35.076 5309
+-120.944 35.076 5537
+-120.818 35.076 5597
+-120.692 35.076 5740
+-120.566 35.076 5899
+-120.44 35.076 5962
+-120.314 35.076 6115
+-120.188 35.076 6297
+-120.062 35.076 6429
+-119.936 35.076 6579
+-119.81 35.076 6599
+-119.684 35.076 6726
+-119.558 35.076 6899
+-119.432 35.076 7020
+-119.306 35.076 7162
+-119.18 35.076 7271
+-119.054 35.076 7384
+-118.928 35.076 7484
+-118.802 35.076 7638
+-118.676 35.076 7770
+-118.55 35.076 7855
+-118.424 35.076 7965
+-118.298 35.076 8137
+-118.172 35.076 8186
+-118.046 35.076 8306
+-117.92 35.076 8351
+-117.794 35.076 8439
+-117.668 35.076 8478
+-117.542 35.076 8498
+-117.416 35.076 8516
+-117.29 35.076 8529
+-117.164 35.076 8497
+-117.038 35.076 8466
+-116.912 35.076 8425
+-116.786 35.076 8356
+-116.66 35.076 8300
+-116.534 35.076 8186
+-116.408 35.076 8150
+-116.282 35.076 8035
+-116.156 35.076 7922
+-116.03 35.076 7815
+-115.904 35.076 7689
+-115.778 35.076 7593
+-115.652 35.076 7469
+-115.526 35.076 7329
+-115.4 35.076 7182
+-115.274 35.076 7076
+-115.148 35.076 6989
+-115.022 35.076 6826
+-114.896 35.076 6725
+-114.77 35.076 6589
+-114.644 35.076 6423
+-114.518 35.076 6275
+-114.392 35.076 6199
+-114.266 35.076 6072
+-114.14 35.076 5954
+-114.014 35.076 5783
+-113.888 35.076 5643
+-113.762 35.076 5528
+-113.636 35.076 5426
+-113.51 35.076 5243
+-113.384 35.076 5107
+-113.258 35.076 5039
+-113.132 35.076 4907
+-113.006 35.076 4778
+-112.88 35.076 4870
+-112.754 35.076 4931
+-112.628 35.076 5004
+-112.502 35.076 5065
+-112.376 35.076 5146
+-112.25 35.076 5211
+-112.124 35.076 5235
+-111.998 35.076 5341
+-111.872 35.076 5344
+-111.746 35.076 5409
+-111.62 35.076 5474
+-111.494 35.076 5518
+-111.368 35.076 5563
+-111.242 35.076 5583
+-111.116 35.076 5607
+-110.99 35.076 5658
+-110.864 35.076 5702
+-110.738 35.076 5705
+-110.612 35.076 5703
+-110.486 35.076 5744
+-110.36 35.076 5719
+-110.234 35.076 5712
+-110.108 35.076 5729
+-109.982 35.076 5702
+-109.856 35.076 5668
+-109.73 35.076 5646
+-109.604 35.076 5640
+-109.478 35.076 5614
+-109.352 35.076 5571
+-109.226 35.076 5499
+-109.1 35.076 5441
+-108.974 35.076 5448
+-108.848 35.076 5414
+-108.722 35.076 5353
+-108.596 35.076 5267
+-108.47 35.076 5192
+-108.344 35.076 5131
+-108.218 35.076 5085
+-108.092 35.076 5047
+-107.966 35.076 4967
+-107.84 35.076 4862
+-107.714 35.076 4761
+-107.588 35.076 4651
+-107.462 35.076 4523
+-107.336 35.076 4427
+-107.21 35.076 4394
+-107.084 35.076 4301
+-106.958 35.076 4182
+-106.832 35.076 4227
+-106.706 35.076 4135
+-106.58 35.076 3930
+-106.454 35.076 3803
+-106.328 35.076 3803
+-106.202 35.076 3703
+-106.076 35.076 3722
+-105.95 35.076 3790
+-105.824 35.076 3832
+-105.698 35.076 3824
+-105.572 35.076 3827
+-105.446 35.076 3825
+-105.32 35.076 3825
+-105.194 35.076 3824
+-105.068 35.076 3824
+-104.942 35.076 3777
+-104.816 35.076 3765
+-104.69 35.076 3762
+-104.564 35.076 3751
+-104.438 35.076 3752
+-104.312 35.076 3753
+-104.186 35.076 3749
+-104.06 35.076 3751
+-103.934 35.076 3658
+-103.808 35.076 3728
+-103.682 35.076 3626
+-103.556 35.076 3628
+-103.43 35.076 3677
+-103.304 35.076 3681
+-103.178 35.076 3684
+-103.052 35.076 3688
+-102.926 35.076 3692
+-102.8 35.076 3686
+-102.674 35.076 3598
+-102.548 35.076 3599
+-102.422 35.076 3545
+-102.296 35.076 3511
+-102.17 35.076 3455
+-102.044 35.076 3407
+-101.918 35.076 3393
+-101.792 35.076 3387
+-101.666 35.076 3388
+-101.54 35.076 3318
+-101.414 35.076 3188
+-101.288 35.076 3175
+-101.162 35.076 3106
+-101.036 35.076 3168
+-100.91 35.076 3150
+-100.784 35.076 3088
+-100.658 35.076 3031
+-100.532 35.076 3078
+-100.406 35.076 3037
+-100.28 35.076 3084
+-100.154 35.076 3074
+-100.028 35.076 3081
+-99.902 35.076 3091
+-99.776 35.076 3124
+-99.65 35.076 3190
+-99.524 35.076 3181
+-99.398 35.076 3171
+-99.272 35.076 3166
+-99.146 35.076 3156
+-99.02 35.076 3156
+-98.894 35.076 3125
+-98.768 35.076 3116
+-98.642 35.076 3125
+-98.516 35.076 3117
+-98.39 35.076 3088
+-98.264 35.076 3082
+-98.138 35.076 3078
+-98.012 35.076 3074
+-97.886 35.076 3132
+-97.76 35.076 3130
+-97.634 35.076 3129
+-97.508 35.076 3138
+-97.382 35.076 3196
+-97.256 35.076 3207
+-97.13 35.076 3221
+-97.004 35.076 3239
+-96.878 35.076 3291
+-96.752 35.076 3343
+-96.626 35.076 3369
+-96.5 35.076 3396
+-96.374 35.076 3423
+-96.248 35.076 3463
+-96.122 35.076 3489
+-95.996 35.076 3514
+-95.87 35.076 3536
+-95.744 35.076 3557
+-95.618 35.076 3582
+-95.492 35.076 3599
+-95.366 35.076 3671
+-95.24 35.076 3757
+-95.114 35.076 3760
+-94.988 35.076 3802
+-94.862 35.076 3793
+-94.736 35.076 3833
+-94.61 35.076 3845
+-94.484 35.076 3887
+-94.358 35.076 3921
+-94.232 35.076 3984
+-94.106 35.076 4044
+-93.98 35.076 4109
+-93.854 35.076 4185
+-93.728 35.076 4247
+-93.602 35.076 4309
+-93.476 35.076 4322
+-93.35 35.076 4371
+-93.224 35.076 4404
+-93.098 35.076 4484
+-92.972 35.076 4568
+-92.846 35.076 4658
+-92.72 35.076 4755
+-92.594 35.076 4834
+-92.468 35.076 4927
+-92.342 35.076 4953
+-92.216 35.076 5047
+-92.09 35.076 5098
+-91.964 35.076 5183
+-91.838 35.076 5168
+-91.712 35.076 5383
+-91.586 35.076 5488
+-91.46 35.076 5654
+-91.334 35.076 5731
+-91.208 35.076 5834
+-91.082 35.076 5926
+-90.956 35.076 6001
+-90.83 35.076 6122
+-90.704 35.076 6231
+-90.578 35.076 6323
+-90.452 35.076 6395
+-90.326 35.076 6445
+-90.2 35.076 6520
+-90.074 35.076 6549
+-89.948 35.076 6603
+-89.822 35.076 6672
+-89.696 35.076 6705
+-89.57 35.076 6769
+-89.444 35.076 6804
+-89.318 35.076 6830
+-89.192 35.076 6851
+-89.066 35.076 6865
+-88.94 35.076 6902
+-88.814 35.076 6864
+-88.688 35.076 6855
+-88.562 35.076 6888
+-88.436 35.076 6833
+-88.31 35.076 6833
+-88.184 35.076 6802
+-88.058 35.076 6788
+-87.932 35.076 6711
+-87.806 35.076 6669
+-87.68 35.076 6647
+-87.554 35.076 6591
+-87.428 35.076 6517
+-87.302 35.076 6416
+-87.176 35.076 6335
+-87.05 35.076 6241
+-86.924 35.076 6198
+-86.798 35.076 6127
+-86.672 35.076 6049
+-86.546 35.076 5965
+-86.42 35.076 5804
+-86.294 35.076 5693
+-86.168 35.076 5604
+-86.042 35.076 5480
+-85.916 35.076 5414
+-85.79 35.076 5351
+-85.664 35.076 5283
+-85.538 35.076 5180
+-85.412 35.076 5037
+-85.286 35.076 5041
+-85.16 35.076 4933
+-85.034 35.076 4710
+-84.908 35.076 4562
+-84.782 35.076 4582
+-84.656 35.076 4535
+-84.53 35.076 4422
+-84.404 35.076 4271
+-84.278 35.076 4106
+-84.152 35.076 3924
+-84.026 35.076 3822
+-83.9 35.076 3850
+-83.774 35.076 3899
+-83.648 35.076 3928
+-83.522 35.076 3887
+-83.396 35.076 3840
+-83.27 35.076 3826
+-83.144 35.076 3749
+-83.018 35.076 3644
+-82.892 35.076 3585
+-82.766 35.076 3481
+-82.64 35.076 3380
+-82.514 35.076 3237
+-82.388 35.076 3164
+-82.262 35.076 3061
+-82.136 35.076 2994
+-82.01 35.076 2936
+-81.884 35.076 2794
+-81.758 35.076 2765
+-81.632 35.076 2747
+-81.506 35.076 2713
+-81.38 35.076 2714
+-81.254 35.076 2716
+-81.128 35.076 2686
+-81.002 35.076 2695
+-80.876 35.076 2693
+-80.75 35.076 2639
+-80.624 35.076 2624
+-80.498 35.076 2601
+-80.372 35.076 2580
+-80.246 35.076 2529
+-80.12 35.076 2462
+-79.994 35.076 2436
+-79.868 35.076 2369
+-79.742 35.076 2254
+-79.616 35.076 2216
+-79.49 35.076 2180
+-79.364 35.076 2155
+-79.238 35.076 2139
+-79.112 35.076 2120
+-78.986 35.076 2132
+-78.86 35.076 2130
+-78.734 35.076 2151
+-78.608 35.076 2190
+-78.482 35.076 2236
+-78.356 35.076 2281
+-78.23 35.076 2313
+-78.104 35.076 2358
+-77.978 35.076 2395
+-77.852 35.076 2437
+-77.726 35.076 2470
+-77.6 35.076 2521
+-77.474 35.076 2578
+-77.348 35.076 2597
+-77.222 35.076 2631
+-77.096 35.076 2654
+-76.97 35.076 2747
+-76.844 35.076 2769
+-76.718 35.076 2789
+-76.592 35.076 2807
+-76.466 35.076 2825
+-76.34 35.076 2841
+-76.214 35.076 2811
+-76.088 35.076 2837
+-75.962 35.076 2850
+-75.836 35.076 2858
+-75.71 35.076 3086
+-75.584 35.076 3116
+-75.458 35.076 3127
+-75.332 35.076 3137
+-75.206 35.076 3147
+-75.08 35.076 3159
+-74.954 35.076 3178
+-74.828 35.076 3187
+-74.702 35.076 3188
+-74.576 35.076 3197
+-74.45 35.076 3166
+-74.324 35.076 3173
+-74.198 35.076 3180
+-74.072 35.076 3236
+-73.946 35.076 3238
+-73.82 35.076 3251
+-73.694 35.076 3258
+-73.568 35.076 3247
+-73.442 35.076 3269
+-73.316 35.076 3313
+-73.19 35.076 3326
+-73.064 35.076 3330
+-72.938 35.076 3334
+-72.812 35.076 3380
+-72.686 35.076 3386
+-72.56 35.076 3338
+-72.434 35.076 3359
+-72.308 35.076 3358
+-72.182 35.076 3287
+-72.056 35.076 3213
+-71.93 35.076 3234
+-71.804 35.076 3238
+-71.678 35.076 3268
+-71.552 35.076 3247
+-71.426 35.076 3259
+-71.3 35.076 3263
+-71.174 35.076 3247
+-71.048 35.076 3250
+-70.922 35.076 3254
+-70.796 35.076 3234
+-70.67 35.076 3219
+-70.544 35.076 3251
+-70.418 35.076 3247
+-70.292 35.076 3251
+-70.166 35.076 3254
+-70.04 35.076 3179
+-69.914 35.076 3218
+-69.788 35.076 3215
+-69.662 35.076 3217
+-69.536 35.076 3220
+-69.41 35.076 3446
+-69.284 35.076 3372
+-69.158 35.076 3385
+-69.032 35.076 3386
+-68.906 35.076 3285
+-68.78 35.076 3272
+-68.654 35.076 3273
+-68.528 35.076 3275
+-68.402 35.076 3253
+-68.276 35.076 3254
+-68.15 35.076 3255
+-68.024 35.076 3256
+-67.898 35.076 3257
+-67.772 35.076 3281
+-67.646 35.076 3282
+-67.52 35.076 3267
+-67.394 35.076 3268
+-67.268 35.076 3269
+-67.142 35.076 3209
+-67.016 35.076 3394
+-66.89 35.076 3353
+-66.764 35.076 3354
+-66.638 35.076 3323
+-66.512 35.076 3324
+-66.386 35.076 3325
+-66.26 35.076 3456
+-66.134 35.076 3457
+-66.008 35.076 3458
+-65.882 35.076 3458
+-65.756 35.076 3459
+-65.63 35.076 3576
+-65.504 35.076 3577
+-65.378 35.076 3489
+-65.252 35.076 3490
+-65.126 35.076 3490
+-128 35.024 2776
+-127.874 35.024 2886
+-127.748 35.024 2883
+-127.622 35.024 2880
+-127.496 35.024 2877
+-127.37 35.024 2874
+-127.244 35.024 2870
+-127.118 35.024 2913
+-126.992 35.024 2907
+-126.866 35.024 2973
+-126.74 35.024 2964
+-126.614 35.024 2954
+-126.488 35.024 2943
+-126.362 35.024 2931
+-126.236 35.024 3012
+-126.11 35.024 2998
+-125.984 35.024 2983
+-125.858 35.024 2965
+-125.732 35.024 2945
+-125.606 35.024 2955
+-125.48 35.024 2925
+-125.354 35.024 2891
+-125.228 35.024 2849
+-125.102 35.024 2799
+-124.976 35.024 2776
+-124.85 35.024 2701
+-124.724 35.024 2612
+-124.598 35.024 2509
+-124.472 35.024 2420
+-124.346 35.024 2324
+-124.22 35.024 2291
+-124.094 35.024 2251
+-123.968 35.024 2184
+-123.842 35.024 2312
+-123.716 35.024 2626
+-123.59 35.024 3006
+-123.464 35.024 3340
+-123.338 35.024 3542
+-123.212 35.024 3658
+-123.086 35.024 3708
+-122.96 35.024 3692
+-122.834 35.024 3682
+-122.708 35.024 3827
+-122.582 35.024 3910
+-122.456 35.024 4002
+-122.33 35.024 3939
+-122.204 35.024 4167
+-122.078 35.024 4322
+-121.952 35.024 4434
+-121.826 35.024 4562
+-121.7 35.024 4713
+-121.574 35.024 4819
+-121.448 35.024 4927
+-121.322 35.024 5066
+-121.196 35.024 5283
+-121.07 35.024 5402
+-120.944 35.024 5526
+-120.818 35.024 5654
+-120.692 35.024 5716
+-120.566 35.024 5883
+-120.44 35.024 6011
+-120.314 35.024 6184
+-120.188 35.024 6338
+-120.062 35.024 6345
+-119.936 35.024 6578
+-119.81 35.024 6664
+-119.684 35.024 6856
+-119.558 35.024 6912
+-119.432 35.024 7015
+-119.306 35.024 7175
+-119.18 35.024 7244
+-119.054 35.024 7434
+-118.928 35.024 7508
+-118.802 35.024 7660
+-118.676 35.024 7805
+-118.55 35.024 7887
+-118.424 35.024 8033
+-118.298 35.024 8128
+-118.172 35.024 8222
+-118.046 35.024 8322
+-117.92 35.024 8390
+-117.794 35.024 8492
+-117.668 35.024 8520
+-117.542 35.024 8542
+-117.416 35.024 8599
+-117.29 35.024 8583
+-117.164 35.024 8586
+-117.038 35.024 8537
+-116.912 35.024 8509
+-116.786 35.024 8410
+-116.66 35.024 8327
+-116.534 35.024 8217
+-116.408 35.024 8156
+-116.282 35.024 8060
+-116.156 35.024 7948
+-116.03 35.024 7876
+-115.904 35.024 7753
+-115.778 35.024 7564
+-115.652 35.024 7494
+-115.526 35.024 7336
+-115.4 35.024 7198
+-115.274 35.024 7140
+-115.148 35.024 6940
+-115.022 35.024 6832
+-114.896 35.024 6713
+-114.77 35.024 6586
+-114.644 35.024 6468
+-114.518 35.024 6308
+-114.392 35.024 6170
+-114.266 35.024 6007
+-114.14 35.024 5951
+-114.014 35.024 5838
+-113.888 35.024 5634
+-113.762 35.024 5584
+-113.636 35.024 5422
+-113.51 35.024 5275
+-113.384 35.024 5124
+-113.258 35.024 5013
+-113.132 35.024 4955
+-113.006 35.024 4883
+-112.88 35.024 4882
+-112.754 35.024 4970
+-112.628 35.024 5084
+-112.502 35.024 5115
+-112.376 35.024 5194
+-112.25 35.024 5227
+-112.124 35.024 5284
+-111.998 35.024 5354
+-111.872 35.024 5440
+-111.746 35.024 5525
+-111.62 35.024 5570
+-111.494 35.024 5615
+-111.368 35.024 5652
+-111.242 35.024 5666
+-111.116 35.024 5701
+-110.99 35.024 5729
+-110.864 35.024 5735
+-110.738 35.024 5754
+-110.612 35.024 5766
+-110.486 35.024 5766
+-110.36 35.024 5777
+-110.234 35.024 5780
+-110.108 35.024 5766
+-109.982 35.024 5771
+-109.856 35.024 5747
+-109.73 35.024 5720
+-109.604 35.024 5681
+-109.478 35.024 5623
+-109.352 35.024 5623
+-109.226 35.024 5554
+-109.1 35.024 5500
+-108.974 35.024 5444
+-108.848 35.024 5448
+-108.722 35.024 5399
+-108.596 35.024 5335
+-108.47 35.024 5236
+-108.344 35.024 5145
+-108.218 35.024 5079
+-108.092 35.024 5077
+-107.966 35.024 5029
+-107.84 35.024 4930
+-107.714 35.024 4807
+-107.588 35.024 4679
+-107.462 35.024 4561
+-107.336 35.024 4471
+-107.21 35.024 4387
+-107.084 35.024 4330
+-106.958 35.024 4287
+-106.832 35.024 4252
+-106.706 35.024 4179
+-106.58 35.024 4001
+-106.454 35.024 3875
+-106.328 35.024 3741
+-106.202 35.024 3560
+-106.076 35.024 3681
+-105.95 35.024 3781
+-105.824 35.024 3840
+-105.698 35.024 3853
+-105.572 35.024 3877
+-105.446 35.024 3848
+-105.32 35.024 3848
+-105.194 35.024 3848
+-105.068 35.024 3848
+-104.942 35.024 3842
+-104.816 35.024 3835
+-104.69 35.024 3775
+-104.564 35.024 3775
+-104.438 35.024 3774
+-104.312 35.024 3769
+-104.186 35.024 3770
+-104.06 35.024 3732
+-103.934 35.024 3745
+-103.808 35.024 3707
+-103.682 35.024 3647
+-103.556 35.024 3694
+-103.43 35.024 3698
+-103.304 35.024 3699
+-103.178 35.024 3702
+-103.052 35.024 3706
+-102.926 35.024 3700
+-102.8 35.024 3610
+-102.674 35.024 3610
+-102.548 35.024 3555
+-102.422 35.024 3520
+-102.296 35.024 3465
+-102.17 35.024 3417
+-102.044 35.024 3476
+-101.918 35.024 3477
+-101.792 35.024 3396
+-101.666 35.024 3458
+-101.54 35.024 3292
+-101.414 35.024 3196
+-101.288 35.024 3184
+-101.162 35.024 3271
+-101.036 35.024 3180
+-100.91 35.024 3163
+-100.784 35.024 3100
+-100.658 35.024 3064
+-100.532 35.024 3087
+-100.406 35.024 3079
+-100.28 35.024 3090
+-100.154 35.024 3078
+-100.028 35.024 3085
+-99.902 35.024 3061
+-99.776 35.024 3091
+-99.65 35.024 3152
+-99.524 35.024 3186
+-99.398 35.024 3182
+-99.272 35.024 3173
+-99.146 35.024 3175
+-99.02 35.024 3142
+-98.894 35.024 3134
+-98.768 35.024 3145
+-98.642 35.024 3138
+-98.516 35.024 3109
+-98.39 35.024 3105
+-98.264 35.024 3101
+-98.138 35.024 3098
+-98.012 35.024 3159
+-97.886 35.024 3156
+-97.76 35.024 3155
+-97.634 35.024 3163
+-97.508 35.024 3221
+-97.382 35.024 3228
+-97.256 35.024 3239
+-97.13 35.024 3252
+-97.004 35.024 3248
+-96.878 35.024 3297
+-96.752 35.024 3318
+-96.626 35.024 3341
+-96.5 35.024 3365
+-96.374 35.024 3404
+-96.248 35.024 3478
+-96.122 35.024 3500
+-95.996 35.024 3522
+-95.87 35.024 3541
+-95.744 35.024 3566
+-95.618 35.024 3582
+-95.492 35.024 3596
+-95.366 35.024 3695
+-95.24 35.024 3758
+-95.114 35.024 3773
+-94.988 35.024 3781
+-94.862 35.024 3785
+-94.736 35.024 3785
+-94.61 35.024 3806
+-94.484 35.024 3817
+-94.358 35.024 3859
+-94.232 35.024 3937
+-94.106 35.024 4009
+-93.98 35.024 4083
+-93.854 35.024 4160
+-93.728 35.024 4187
+-93.602 35.024 4226
+-93.476 35.024 4297
+-93.35 35.024 4355
+-93.224 35.024 4411
+-93.098 35.024 4481
+-92.972 35.024 4547
+-92.846 35.024 4606
+-92.72 35.024 4687
+-92.594 35.024 4744
+-92.468 35.024 4841
+-92.342 35.024 4917
+-92.216 35.024 4987
+-92.09 35.024 5065
+-91.964 35.024 5152
+-91.838 35.024 5246
+-91.712 35.024 5367
+-91.586 35.024 5461
+-91.46 35.024 5647
+-91.334 35.024 5709
+-91.208 35.024 5815
+-91.082 35.024 5920
+-90.956 35.024 6040
+-90.83 35.024 6048
+-90.704 35.024 6155
+-90.578 35.024 6266
+-90.452 35.024 6332
+-90.326 35.024 6395
+-90.2 35.024 6457
+-90.074 35.024 6500
+-89.948 35.024 6569
+-89.822 35.024 6622
+-89.696 35.024 6674
+-89.57 35.024 6716
+-89.444 35.024 6735
+-89.318 35.024 6784
+-89.192 35.024 6818
+-89.066 35.024 6813
+-88.94 35.024 6811
+-88.814 35.024 6823
+-88.688 35.024 6836
+-88.562 35.024 6806
+-88.436 35.024 6816
+-88.31 35.024 6777
+-88.184 35.024 6749
+-88.058 35.024 6695
+-87.932 35.024 6648
+-87.806 35.024 6593
+-87.68 35.024 6578
+-87.554 35.024 6530
+-87.428 35.024 6459
+-87.302 35.024 6354
+-87.176 35.024 6274
+-87.05 35.024 6205
+-86.924 35.024 6154
+-86.798 35.024 6065
+-86.672 35.024 6005
+-86.546 35.024 5894
+-86.42 35.024 5748
+-86.294 35.024 5676
+-86.168 35.024 5574
+-86.042 35.024 5475
+-85.916 35.024 5416
+-85.79 35.024 5322
+-85.664 35.024 5192
+-85.538 35.024 5196
+-85.412 35.024 5083
+-85.286 35.024 5033
+-85.16 35.024 4914
+-85.034 35.024 4732
+-84.908 35.024 4598
+-84.782 35.024 4554
+-84.656 35.024 4466
+-84.53 35.024 4373
+-84.404 35.024 4268
+-84.278 35.024 4149
+-84.152 35.024 4017
+-84.026 35.024 3962
+-83.9 35.024 3911
+-83.774 35.024 3936
+-83.648 35.024 3937
+-83.522 35.024 3886
+-83.396 35.024 3850
+-83.27 35.024 3824
+-83.144 35.024 3793
+-83.018 35.024 3729
+-82.892 35.024 3560
+-82.766 35.024 3501
+-82.64 35.024 3422
+-82.514 35.024 3284
+-82.388 35.024 3222
+-82.262 35.024 3161
+-82.136 35.024 3071
+-82.01 35.024 3023
+-81.884 35.024 2931
+-81.758 35.024 2821
+-81.632 35.024 2792
+-81.506 35.024 2778
+-81.38 35.024 2751
+-81.254 35.024 2727
+-81.128 35.024 2721
+-81.002 35.024 2713
+-80.876 35.024 2663
+-80.75 35.024 2646
+-80.624 35.024 2622
+-80.498 35.024 2582
+-80.372 35.024 2556
+-80.246 35.024 2501
+-80.12 35.024 2445
+-79.994 35.024 2351
+-79.868 35.024 2244
+-79.742 35.024 2193
+-79.616 35.024 2144
+-79.49 35.024 2104
+-79.364 35.024 2073
+-79.238 35.024 2044
+-79.112 35.024 2045
+-78.986 35.024 2045
+-78.86 35.024 2064
+-78.734 35.024 2104
+-78.608 35.024 2154
+-78.482 35.024 2203
+-78.356 35.024 2242
+-78.23 35.024 2294
+-78.104 35.024 2338
+-77.978 35.024 2385
+-77.852 35.024 2424
+-77.726 35.024 2480
+-77.6 35.024 2540
+-77.474 35.024 2564
+-77.348 35.024 2602
+-77.222 35.024 2628
+-77.096 35.024 2722
+-76.97 35.024 2746
+-76.844 35.024 2768
+-76.718 35.024 2789
+-76.592 35.024 2808
+-76.466 35.024 2826
+-76.34 35.024 2799
+-76.214 35.024 2826
+-76.088 35.024 2840
+-75.962 35.024 2849
+-75.836 35.024 3072
+-75.71 35.024 3103
+-75.584 35.024 3115
+-75.458 35.024 3125
+-75.332 35.024 3136
+-75.206 35.024 3150
+-75.08 35.024 3169
+-74.954 35.024 3178
+-74.828 35.024 3180
+-74.702 35.024 3189
+-74.576 35.024 3159
+-74.45 35.024 3166
+-74.324 35.024 3173
+-74.198 35.024 3229
+-74.072 35.024 3232
+-73.946 35.024 3246
+-73.82 35.024 3253
+-73.694 35.024 3242
+-73.568 35.024 3264
+-73.442 35.024 3308
+-73.316 35.024 3321
+-73.19 35.024 3326
+-73.064 35.024 3330
+-72.938 35.024 3376
+-72.812 35.024 3382
+-72.686 35.024 3334
+-72.56 35.024 3355
+-72.434 35.024 3355
+-72.308 35.024 3287
+-72.182 35.024 3210
+-72.056 35.024 3231
+-71.93 35.024 3235
+-71.804 35.024 3265
+-71.678 35.024 3245
+-71.552 35.024 3257
+-71.426 35.024 3260
+-71.3 35.024 3245
+-71.174 35.024 3249
+-71.048 35.024 3252
+-70.922 35.024 3232
+-70.796 35.024 3217
+-70.67 35.024 3249
+-70.544 35.024 3246
+-70.418 35.024 3249
+-70.292 35.024 3252
+-70.166 35.024 3178
+-70.04 35.024 3216
+-69.914 35.024 3214
+-69.788 35.024 3216
+-69.662 35.024 3219
+-69.536 35.024 3445
+-69.41 35.024 3374
+-69.284 35.024 3383
+-69.158 35.024 3385
+-69.032 35.024 3283
+-68.906 35.024 3271
+-68.78 35.024 3272
+-68.654 35.024 3274
+-68.528 35.024 3253
+-68.402 35.024 3254
+-68.276 35.024 3255
+-68.15 35.024 3256
+-68.024 35.024 3257
+-67.898 35.024 3280
+-67.772 35.024 3281
+-67.646 35.024 3266
+-67.52 35.024 3267
+-67.394 35.024 3268
+-67.268 35.024 3209
+-67.142 35.024 3393
+-67.016 35.024 3353
+-66.89 35.024 3353
+-66.764 35.024 3323
+-66.638 35.024 3323
+-66.512 35.024 3324
+-66.386 35.024 3455
+-66.26 35.024 3456
+-66.134 35.024 3457
+-66.008 35.024 3457
+-65.882 35.024 3458
+-65.756 35.024 3575
+-65.63 35.024 3576
+-65.504 35.024 3488
+-65.378 35.024 3489
+-65.252 35.024 3489
+-65.126 35.024 3490
+-128 34.972 2780
+-127.874 34.972 2777
+-127.748 34.972 2886
+-127.622 34.972 2883
+-127.496 34.972 2880
+-127.37 34.972 2877
+-127.244 34.972 2874
+-127.118 34.972 2870
+-126.992 34.972 2921
+-126.866 34.972 2916
+-126.74 34.972 2974
+-126.614 34.972 2965
+-126.488 34.972 2955
+-126.362 34.972 2944
+-126.236 34.972 2932
+-126.11 34.972 3014
+-125.984 34.972 2999
+-125.858 34.972 2982
+-125.732 34.972 2963
+-125.606 34.972 2942
+-125.48 34.972 2948
+-125.354 34.972 2916
+-125.228 34.972 2877
+-125.102 34.972 2831
+-124.976 34.972 2777
+-124.85 34.972 2750
+-124.724 34.972 2675
+-124.598 34.972 2620
+-124.472 34.972 2535
+-124.346 34.972 2487
+-124.22 34.972 2418
+-124.094 34.972 2340
+-123.968 34.972 2294
+-123.842 34.972 2420
+-123.716 34.972 2731
+-123.59 34.972 3085
+-123.464 34.972 3373
+-123.338 34.972 3560
+-123.212 34.972 3685
+-123.086 34.972 3712
+-122.96 34.972 3626
+-122.834 34.972 3501
+-122.708 34.972 3740
+-122.582 34.972 3967
+-122.456 34.972 4067
+-122.33 34.972 4104
+-122.204 34.972 4199
+-122.078 34.972 4296
+-121.952 34.972 4424
+-121.826 34.972 4573
+-121.7 34.972 4706
+-121.574 34.972 4833
+-121.448 34.972 4983
+-121.322 34.972 5162
+-121.196 34.972 5331
+-121.07 34.972 5461
+-120.944 34.972 5568
+-120.818 34.972 5677
+-120.692 34.972 5745
+-120.566 34.972 5854
+-120.44 34.972 6009
+-120.314 34.972 6165
+-120.188 34.972 6336
+-120.062 34.972 6474
+-119.936 34.972 6576
+-119.81 34.972 6665
+-119.684 34.972 6819
+-119.558 34.972 6922
+-119.432 34.972 7074
+-119.306 34.972 7226
+-119.18 34.972 7333
+-119.054 34.972 7482
+-118.928 34.972 7571
+-118.802 34.972 7662
+-118.676 34.972 7781
+-118.55 34.972 7977
+-118.424 34.972 8084
+-118.298 34.972 8178
+-118.172 34.972 8250
+-118.046 34.972 8370
+-117.92 34.972 8464
+-117.794 34.972 8512
+-117.668 34.972 8560
+-117.542 34.972 8624
+-117.416 34.972 8633
+-117.29 34.972 8662
+-117.164 34.972 8644
+-117.038 34.972 8594
+-116.912 34.972 8518
+-116.786 34.972 8479
+-116.66 34.972 8361
+-116.534 34.972 8292
+-116.408 34.972 8180
+-116.282 34.972 8076
+-116.156 34.972 7981
+-116.03 34.972 7895
+-115.904 34.972 7813
+-115.778 34.972 7639
+-115.652 34.972 7504
+-115.526 34.972 7390
+-115.4 34.972 7263
+-115.274 34.972 7132
+-115.148 34.972 7004
+-115.022 34.972 6854
+-114.896 34.972 6784
+-114.77 34.972 6564
+-114.644 34.972 6507
+-114.518 34.972 6329
+-114.392 34.972 6250
+-114.266 34.972 6119
+-114.14 34.972 5965
+-114.014 34.972 5810
+-113.888 34.972 5707
+-113.762 34.972 5581
+-113.636 34.972 5424
+-113.51 34.972 5268
+-113.384 34.972 5142
+-113.258 34.972 5042
+-113.132 34.972 4947
+-113.006 34.972 4858
+-112.88 34.972 4926
+-112.754 34.972 5001
+-112.628 34.972 5094
+-112.502 34.972 5183
+-112.376 34.972 5240
+-112.25 34.972 5287
+-112.124 34.972 5366
+-111.998 34.972 5453
+-111.872 34.972 5536
+-111.746 34.972 5562
+-111.62 34.972 5627
+-111.494 34.972 5673
+-111.368 34.972 5680
+-111.242 34.972 5720
+-111.116 34.972 5766
+-110.99 34.972 5741
+-110.864 34.972 5783
+-110.738 34.972 5825
+-110.612 34.972 5849
+-110.486 34.972 5853
+-110.36 34.972 5853
+-110.234 34.972 5842
+-110.108 34.972 5838
+-109.982 34.972 5834
+-109.856 34.972 5824
+-109.73 34.972 5796
+-109.604 34.972 5743
+-109.478 34.972 5699
+-109.352 34.972 5671
+-109.226 34.972 5617
+-109.1 34.972 5551
+-108.974 34.972 5532
+-108.848 34.972 5478
+-108.722 34.972 5406
+-108.596 34.972 5382
+-108.47 34.972 5290
+-108.344 34.972 5202
+-108.218 34.972 5129
+-108.092 34.972 5062
+-107.966 34.972 5062
+-107.84 34.972 4993
+-107.714 34.972 4846
+-107.588 34.972 4697
+-107.462 34.972 4570
+-107.336 34.972 4521
+-107.21 34.972 4445
+-107.084 34.972 4366
+-106.958 34.972 4328
+-106.832 34.972 4289
+-106.706 34.972 4222
+-106.58 34.972 4109
+-106.454 34.972 3978
+-106.328 34.972 3828
+-106.202 34.972 3711
+-106.076 34.972 3765
+-105.95 34.972 3854
+-105.824 34.972 3899
+-105.698 34.972 3934
+-105.572 34.972 3890
+-105.446 34.972 3898
+-105.32 34.972 3902
+-105.194 34.972 3867
+-105.068 34.972 3862
+-104.942 34.972 3856
+-104.816 34.972 3842
+-104.69 34.972 3843
+-104.564 34.972 3845
+-104.438 34.972 3846
+-104.312 34.972 3789
+-104.186 34.972 3789
+-104.06 34.972 3764
+-103.934 34.972 3726
+-103.808 34.972 3769
+-103.682 34.972 3773
+-103.556 34.972 3780
+-103.43 34.972 3718
+-103.304 34.972 3719
+-103.178 34.972 3721
+-103.052 34.972 3714
+-102.926 34.972 3623
+-102.8 34.972 3623
+-102.674 34.972 3637
+-102.548 34.972 3530
+-102.422 34.972 3482
+-102.296 34.972 3493
+-102.17 34.972 3484
+-102.044 34.972 3485
+-101.918 34.972 3483
+-101.792 34.972 3464
+-101.666 34.972 3411
+-101.54 34.972 3300
+-101.414 34.972 3291
+-101.288 34.972 3296
+-101.162 34.972 3283
+-101.036 34.972 3193
+-100.91 34.972 3176
+-100.784 34.972 3163
+-100.658 34.972 3126
+-100.532 34.972 3103
+-100.406 34.972 3070
+-100.28 34.972 3081
+-100.154 34.972 3090
+-100.028 34.972 3061
+-99.902 34.972 3065
+-99.776 34.972 3060
+-99.65 34.972 3156
+-99.524 34.972 3195
+-99.398 34.972 3187
+-99.272 34.972 3191
+-99.146 34.972 3156
+-99.02 34.972 3150
+-98.894 34.972 3162
+-98.768 34.972 3156
+-98.642 34.972 3126
+-98.516 34.972 3123
+-98.39 34.972 3120
+-98.264 34.972 3118
+-98.138 34.972 3180
+-98.012 34.972 3178
+-97.886 34.972 3177
+-97.76 34.972 3184
+-97.634 34.972 3200
+-97.508 34.972 3206
+-97.382 34.972 3214
+-97.256 34.972 3225
+-97.13 34.972 3256
+-97.004 34.972 3302
+-96.878 34.972 3320
+-96.752 34.972 3338
+-96.626 34.972 3358
+-96.5 34.972 3394
+-96.374 34.972 3415
+-96.248 34.972 3436
+-96.122 34.972 3509
+-95.996 34.972 3528
+-95.87 34.972 3551
+-95.744 34.972 3567
+-95.618 34.972 3581
+-95.492 34.972 3685
+-95.366 34.972 3756
+-95.24 34.972 3699
+-95.114 34.972 3764
+-94.988 34.972 3771
+-94.862 34.972 3758
+-94.736 34.972 3769
+-94.61 34.972 3750
+-94.484 34.972 3731
+-94.358 34.972 3734
+-94.232 34.972 3810
+-94.106 34.972 3918
+-93.98 34.972 4036
+-93.854 34.972 4128
+-93.728 34.972 4153
+-93.602 34.972 4095
+-93.476 34.972 4217
+-93.35 34.972 4331
+-93.224 34.972 4406
+-93.098 34.972 4464
+-92.972 34.972 4533
+-92.846 34.972 4588
+-92.72 34.972 4633
+-92.594 34.972 4670
+-92.468 34.972 4769
+-92.342 34.972 4842
+-92.216 34.972 4929
+-92.09 34.972 4961
+-91.964 34.972 5072
+-91.838 34.972 5231
+-91.712 34.972 5367
+-91.586 34.972 5419
+-91.46 34.972 5606
+-91.334 34.972 5739
+-91.208 34.972 5777
+-91.082 34.972 5855
+-90.956 34.972 5938
+-90.83 34.972 5998
+-90.704 34.972 6152
+-90.578 34.972 6198
+-90.452 34.972 6280
+-90.326 34.972 6332
+-90.2 34.972 6381
+-90.074 34.972 6442
+-89.948 34.972 6500
+-89.822 34.972 6563
+-89.696 34.972 6609
+-89.57 34.972 6643
+-89.444 34.972 6673
+-89.318 34.972 6733
+-89.192 34.972 6722
+-89.066 34.972 6737
+-88.94 34.972 6749
+-88.814 34.972 6756
+-88.688 34.972 6761
+-88.562 34.972 6755
+-88.436 34.972 6737
+-88.31 34.972 6733
+-88.184 34.972 6682
+-88.058 34.972 6637
+-87.932 34.972 6601
+-87.806 34.972 6558
+-87.68 34.972 6500
+-87.554 34.972 6477
+-87.428 34.972 6391
+-87.302 34.972 6286
+-87.176 34.972 6257
+-87.05 34.972 6146
+-86.924 34.972 6130
+-86.798 34.972 5969
+-86.672 34.972 5948
+-86.546 34.972 5823
+-86.42 34.972 5722
+-86.294 34.972 5678
+-86.168 34.972 5516
+-86.042 34.972 5426
+-85.916 34.972 5407
+-85.79 34.972 5324
+-85.664 34.972 5244
+-85.538 34.972 5197
+-85.412 34.972 5075
+-85.286 34.972 4996
+-85.16 34.972 4870
+-85.034 34.972 4698
+-84.908 34.972 4542
+-84.782 34.972 4446
+-84.656 34.972 4355
+-84.53 34.972 4286
+-84.404 34.972 4200
+-84.278 34.972 4111
+-84.152 34.972 4030
+-84.026 34.972 3988
+-83.9 34.972 3939
+-83.774 34.972 3928
+-83.648 34.972 3932
+-83.522 34.972 3884
+-83.396 34.972 3880
+-83.27 34.972 3838
+-83.144 34.972 3793
+-83.018 34.972 3687
+-82.892 34.972 3656
+-82.766 34.972 3570
+-82.64 34.972 3475
+-82.514 34.972 3419
+-82.388 34.972 3269
+-82.262 34.972 3217
+-82.136 34.972 3151
+-82.01 34.972 3091
+-81.884 34.972 2915
+-81.758 34.972 2882
+-81.632 34.972 2820
+-81.506 34.972 2812
+-81.38 34.972 2777
+-81.254 34.972 2764
+-81.128 34.972 2750
+-81.002 34.972 2695
+-80.876 34.972 2675
+-80.75 34.972 2649
+-80.624 34.972 2610
+-80.498 34.972 2584
+-80.372 34.972 2524
+-80.246 34.972 2468
+-80.12 34.972 2370
+-79.994 34.972 2257
+-79.868 34.972 2194
+-79.742 34.972 2138
+-79.616 34.972 2067
+-79.49 34.972 2017
+-79.364 34.972 1971
+-79.238 34.972 1958
+-79.112 34.972 1949
+-78.986 34.972 1964
+-78.86 34.972 2002
+-78.734 34.972 2066
+-78.608 34.972 2108
+-78.482 34.972 2156
+-78.356 34.972 2216
+-78.23 34.972 2268
+-78.104 34.972 2323
+-77.978 34.972 2397
+-77.852 34.972 2456
+-77.726 34.972 2495
+-77.6 34.972 2553
+-77.474 34.972 2587
+-77.348 34.972 2618
+-77.222 34.972 2693
+-77.096 34.972 2721
+-76.97 34.972 2746
+-76.844 34.972 2769
+-76.718 34.972 2790
+-76.592 34.972 2809
+-76.466 34.972 2786
+-76.34 34.972 2814
+-76.214 34.972 2829
+-76.088 34.972 2839
+-75.962 34.972 3058
+-75.836 34.972 3089
+-75.71 34.972 3102
+-75.584 34.972 3114
+-75.458 34.972 3125
+-75.332 34.972 3139
+-75.206 34.972 3159
+-75.08 34.972 3169
+-74.954 34.972 3172
+-74.828 34.972 3181
+-74.702 34.972 3152
+-74.576 34.972 3160
+-74.45 34.972 3167
+-74.324 34.972 3223
+-74.198 34.972 3226
+-74.072 34.972 3240
+-73.946 34.972 3247
+-73.82 34.972 3237
+-73.694 34.972 3259
+-73.568 34.972 3303
+-73.442 34.972 3316
+-73.316 34.972 3321
+-73.19 34.972 3325
+-73.064 34.972 3371
+-72.938 34.972 3378
+-72.812 34.972 3330
+-72.686 34.972 3352
+-72.56 34.972 3351
+-72.434 34.972 3281
+-72.308 34.972 3208
+-72.182 34.972 3229
+-72.056 34.972 3233
+-71.93 34.972 3263
+-71.804 34.972 3243
+-71.678 34.972 3254
+-71.552 34.972 3258
+-71.426 34.972 3243
+-71.3 34.972 3247
+-71.174 34.972 3250
+-71.048 34.972 3231
+-70.922 34.972 3216
+-70.796 34.972 3248
+-70.67 34.972 3244
+-70.544 34.972 3248
+-70.418 34.972 3251
+-70.292 34.972 3177
+-70.166 34.972 3215
+-70.04 34.972 3212
+-69.914 34.972 3215
+-69.788 34.972 3218
+-69.662 34.972 3443
+-69.536 34.972 3369
+-69.41 34.972 3382
+-69.284 34.972 3383
+-69.158 34.972 3282
+-69.032 34.972 3270
+-68.906 34.972 3271
+-68.78 34.972 3273
+-68.654 34.972 3252
+-68.528 34.972 3253
+-68.402 34.972 3254
+-68.276 34.972 3255
+-68.15 34.972 3256
+-68.024 34.972 3279
+-67.898 34.972 3280
+-67.772 34.972 3265
+-67.646 34.972 3266
+-67.52 34.972 3268
+-67.394 34.972 3208
+-67.268 34.972 3392
+-67.142 34.972 3352
+-67.016 34.972 3353
+-66.89 34.972 3322
+-66.764 34.972 3323
+-66.638 34.972 3323
+-66.512 34.972 3454
+-66.386 34.972 3455
+-66.26 34.972 3456
+-66.134 34.972 3456
+-66.008 34.972 3457
+-65.882 34.972 3574
+-65.756 34.972 3575
+-65.63 34.972 3487
+-65.504 34.972 3488
+-65.378 34.972 3489
+-65.252 34.972 3489
+-65.126 34.972 3499
+-128 34.92 2783
+-127.874 34.92 2781
+-127.748 34.92 2779
+-127.622 34.92 2886
+-127.496 34.92 2883
+-127.37 34.92 2880
+-127.244 34.92 2878
+-127.118 34.92 2875
+-126.992 34.92 2871
+-126.866 34.92 2923
+-126.74 34.92 2918
+-126.614 34.92 2977
+-126.488 34.92 2967
+-126.362 34.92 2957
+-126.236 34.92 2946
+-126.11 34.92 3030
+-125.984 34.92 3016
+-125.858 34.92 3001
+-125.732 34.92 2983
+-125.606 34.92 2963
+-125.48 34.92 2940
+-125.354 34.92 2945
+-125.228 34.92 2910
+-125.102 34.92 2870
+-124.976 34.92 2824
+-124.85 34.92 2812
+-124.724 34.92 2753
+-124.598 34.92 2725
+-124.472 34.92 2692
+-124.346 34.92 2627
+-124.22 34.92 2577
+-124.094 34.92 2529
+-123.968 34.92 2534
+-123.842 34.92 2672
+-123.716 34.92 2932
+-123.59 34.92 3199
+-123.464 34.92 3424
+-123.338 34.92 3612
+-123.212 34.92 3721
+-123.086 34.92 3748
+-122.96 34.92 3700
+-122.834 34.92 3682
+-122.708 34.92 3845
+-122.582 34.92 4029
+-122.456 34.92 4123
+-122.33 34.92 4176
+-122.204 34.92 4198
+-122.078 34.92 4271
+-121.952 34.92 4403
+-121.826 34.92 4547
+-121.7 34.92 4698
+-121.574 34.92 4884
+-121.448 34.92 5051
+-121.322 34.92 5216
+-121.196 34.92 5290
+-121.07 34.92 5422
+-120.944 34.92 5572
+-120.818 34.92 5615
+-120.692 34.92 5776
+-120.566 34.92 5910
+-120.44 34.92 6023
+-120.314 34.92 6125
+-120.188 34.92 6362
+-120.062 34.92 6472
+-119.936 34.92 6578
+-119.81 34.92 6709
+-119.684 34.92 6803
+-119.558 34.92 6960
+-119.432 34.92 7089
+-119.306 34.92 7213
+-119.18 34.92 7367
+-119.054 34.92 7489
+-118.928 34.92 7568
+-118.802 34.92 7699
+-118.676 34.92 7843
+-118.55 34.92 7985
+-118.424 34.92 8109
+-118.298 34.92 8208
+-118.172 34.92 8293
+-118.046 34.92 8366
+-117.92 34.92 8491
+-117.794 34.92 8565
+-117.668 34.92 8642
+-117.542 34.92 8671
+-117.416 34.92 8709
+-117.29 34.92 8716
+-117.164 34.92 8702
+-117.038 34.92 8664
+-116.912 34.92 8572
+-116.786 34.92 8514
+-116.66 34.92 8455
+-116.534 34.92 8361
+-116.408 34.92 8261
+-116.282 34.92 8121
+-116.156 34.92 8039
+-116.03 34.92 7901
+-115.904 34.92 7755
+-115.778 34.92 7689
+-115.652 34.92 7553
+-115.526 34.92 7418
+-115.4 34.92 7290
+-115.274 34.92 7092
+-115.148 34.92 7017
+-115.022 34.92 6844
+-114.896 34.92 6828
+-114.77 34.92 6623
+-114.644 34.92 6514
+-114.518 34.92 6338
+-114.392 34.92 6260
+-114.266 34.92 6141
+-114.14 34.92 5984
+-114.014 34.92 5826
+-113.888 34.92 5731
+-113.762 34.92 5561
+-113.636 34.92 5389
+-113.51 34.92 5297
+-113.384 34.92 5146
+-113.258 34.92 5039
+-113.132 34.92 4842
+-113.006 34.92 4939
+-112.88 34.92 4986
+-112.754 34.92 5053
+-112.628 34.92 5143
+-112.502 34.92 5209
+-112.376 34.92 5301
+-112.25 34.92 5335
+-112.124 34.92 5436
+-111.998 34.92 5525
+-111.872 34.92 5537
+-111.746 34.92 5611
+-111.62 34.92 5680
+-111.494 34.92 5716
+-111.368 34.92 5723
+-111.242 34.92 5777
+-111.116 34.92 5821
+-110.99 34.92 5827
+-110.864 34.92 5854
+-110.738 34.92 5849
+-110.612 34.92 5904
+-110.486 34.92 5901
+-110.36 34.92 5904
+-110.234 34.92 5903
+-110.108 34.92 5860
+-109.982 34.92 5879
+-109.856 34.92 5860
+-109.73 34.92 5842
+-109.604 34.92 5773
+-109.478 34.92 5773
+-109.352 34.92 5743
+-109.226 34.92 5687
+-109.1 34.92 5610
+-108.974 34.92 5544
+-108.848 34.92 5514
+-108.722 34.92 5460
+-108.596 34.92 5406
+-108.47 34.92 5320
+-108.344 34.92 5258
+-108.218 34.92 5199
+-108.092 34.92 5128
+-107.966 34.92 5064
+-107.84 34.92 5031
+-107.714 34.92 4885
+-107.588 34.92 4755
+-107.462 34.92 4619
+-107.336 34.92 4530
+-107.21 34.92 4491
+-107.084 34.92 4422
+-106.958 34.92 4364
+-106.832 34.92 4327
+-106.706 34.92 4269
+-106.58 34.92 4190
+-106.454 34.92 4081
+-106.328 34.92 3984
+-106.202 34.92 3914
+-106.076 34.92 3904
+-105.95 34.92 3906
+-105.824 34.92 3930
+-105.698 34.92 3936
+-105.572 34.92 3969
+-105.446 34.92 3906
+-105.32 34.92 3911
+-105.194 34.92 3918
+-105.068 34.92 3906
+-104.942 34.92 3861
+-104.816 34.92 3862
+-104.69 34.92 3863
+-104.564 34.92 3864
+-104.438 34.92 3865
+-104.312 34.92 3865
+-104.186 34.92 3784
+-104.06 34.92 3784
+-103.934 34.92 3788
+-103.808 34.92 3790
+-103.682 34.92 3797
+-103.556 34.92 3801
+-103.43 34.92 3804
+-103.304 34.92 3807
+-103.178 34.92 3731
+-103.052 34.92 3703
+-102.926 34.92 3704
+-102.8 34.92 3646
+-102.674 34.92 3540
+-102.548 34.92 3558
+-102.422 34.92 3502
+-102.296 34.92 3493
+-102.17 34.92 3492
+-102.044 34.92 3491
+-101.918 34.92 3471
+-101.792 34.92 3417
+-101.666 34.92 3417
+-101.54 34.92 3308
+-101.414 34.92 3320
+-101.288 34.92 3308
+-101.162 34.92 3295
+-101.036 34.92 3283
+-100.91 34.92 3238
+-100.784 34.92 3174
+-100.658 34.92 3137
+-100.532 34.92 3134
+-100.406 34.92 3078
+-100.28 34.92 3089
+-100.154 34.92 3096
+-100.028 34.92 3089
+-99.902 34.92 3069
+-99.776 34.92 3064
+-99.65 34.92 3161
+-99.524 34.92 3201
+-99.398 34.92 3205
+-99.272 34.92 3168
+-99.146 34.92 3163
+-99.02 34.92 3177
+-98.894 34.92 3171
+-98.768 34.92 3141
+-98.642 34.92 3138
+-98.516 34.92 3136
+-98.39 34.92 3134
+-98.264 34.92 3198
+-98.138 34.92 3196
+-98.012 34.92 3195
+-97.886 34.92 3202
+-97.76 34.92 3215
+-97.634 34.92 3220
+-97.508 34.92 3226
+-97.382 34.92 3235
+-97.256 34.92 3263
+-97.13 34.92 3308
+-97.004 34.92 3322
+-96.878 34.92 3337
+-96.752 34.92 3354
+-96.626 34.92 3335
+-96.5 34.92 3404
+-96.374 34.92 3423
+-96.248 34.92 3441
+-96.122 34.92 3459
+-95.996 34.92 3481
+-95.87 34.92 3497
+-95.744 34.92 3516
+-95.618 34.92 3617
+-95.492 34.92 3705
+-95.366 34.92 3688
+-95.24 34.92 3760
+-95.114 34.92 3764
+-94.988 34.92 3769
+-94.862 34.92 3758
+-94.736 34.92 3731
+-94.61 34.92 3686
+-94.484 34.92 3608
+-94.358 34.92 3562
+-94.232 34.92 3662
+-94.106 34.92 3835
+-93.98 34.92 3973
+-93.854 34.92 4091
+-93.728 34.92 4156
+-93.602 34.92 4159
+-93.476 34.92 4217
+-93.35 34.92 4314
+-93.224 34.92 4382
+-93.098 34.92 4436
+-92.972 34.92 4476
+-92.846 34.92 4550
+-92.72 34.92 4581
+-92.594 34.92 4636
+-92.468 34.92 4721
+-92.342 34.92 4832
+-92.216 34.92 4912
+-92.09 34.92 4968
+-91.964 34.92 5052
+-91.838 34.92 5174
+-91.712 34.92 5326
+-91.586 34.92 5455
+-91.46 34.92 5587
+-91.334 34.92 5724
+-91.208 34.92 5782
+-91.082 34.92 5767
+-90.956 34.92 5914
+-90.83 34.92 5969
+-90.704 34.92 6061
+-90.578 34.92 6147
+-90.452 34.92 6213
+-90.326 34.92 6324
+-90.2 34.92 6335
+-90.074 34.92 6375
+-89.948 34.92 6446
+-89.822 34.92 6515
+-89.696 34.92 6562
+-89.57 34.92 6580
+-89.444 34.92 6619
+-89.318 34.92 6637
+-89.192 34.92 6653
+-89.066 34.92 6671
+-88.94 34.92 6694
+-88.814 34.92 6682
+-88.688 34.92 6719
+-88.562 34.92 6685
+-88.436 34.92 6692
+-88.31 34.92 6674
+-88.184 34.92 6628
+-88.058 34.92 6589
+-87.932 34.92 6528
+-87.806 34.92 6509
+-87.68 34.92 6471
+-87.554 34.92 6406
+-87.428 34.92 6320
+-87.302 34.92 6244
+-87.176 34.92 6181
+-87.05 34.92 6108
+-86.924 34.92 6051
+-86.798 34.92 5981
+-86.672 34.92 5901
+-86.546 34.92 5764
+-86.42 34.92 5672
+-86.294 34.92 5616
+-86.168 34.92 5495
+-86.042 34.92 5346
+-85.916 34.92 5383
+-85.79 34.92 5318
+-85.664 34.92 5231
+-85.538 34.92 5144
+-85.412 34.92 5023
+-85.286 34.92 4910
+-85.16 34.92 4775
+-85.034 34.92 4608
+-84.908 34.92 4447
+-84.782 34.92 4306
+-84.656 34.92 4204
+-84.53 34.92 4203
+-84.404 34.92 4140
+-84.278 34.92 4026
+-84.152 34.92 3952
+-84.026 34.92 3935
+-83.9 34.92 3921
+-83.774 34.92 3927
+-83.648 34.92 3939
+-83.522 34.92 3889
+-83.396 34.92 3879
+-83.27 34.92 3775
+-83.144 34.92 3736
+-83.018 34.92 3696
+-82.892 34.92 3667
+-82.766 34.92 3627
+-82.64 34.92 3545
+-82.514 34.92 3415
+-82.388 34.92 3366
+-82.262 34.92 3236
+-82.136 34.92 3173
+-82.01 34.92 3137
+-81.884 34.92 2969
+-81.758 34.92 2893
+-81.632 34.92 2876
+-81.506 34.92 2853
+-81.38 34.92 2832
+-81.254 34.92 2753
+-81.128 34.92 2733
+-81.002 34.92 2710
+-80.876 34.92 2683
+-80.75 34.92 2646
+-80.624 34.92 2603
+-80.498 34.92 2557
+-80.372 34.92 2502
+-80.246 34.92 2404
+-80.12 34.92 2335
+-79.994 34.92 2214
+-79.868 34.92 2137
+-79.742 34.92 2059
+-79.616 34.92 1991
+-79.49 34.92 1920
+-79.364 34.92 1877
+-79.238 34.92 1851
+-79.112 34.92 1853
+-78.986 34.92 1885
+-78.86 34.92 1945
+-78.734 34.92 1993
+-78.608 34.92 2050
+-78.482 34.92 2120
+-78.356 34.92 2183
+-78.23 34.92 2248
+-78.104 34.92 2330
+-77.978 34.92 2397
+-77.852 34.92 2443
+-77.726 34.92 2508
+-77.6 34.92 2548
+-77.474 34.92 2584
+-77.348 34.92 2661
+-77.222 34.92 2692
+-77.096 34.92 2721
+-76.97 34.92 2746
+-76.844 34.92 2770
+-76.718 34.92 2792
+-76.592 34.92 2772
+-76.466 34.92 2801
+-76.34 34.92 2818
+-76.214 34.92 2829
+-76.088 34.92 3043
+-75.962 34.92 3075
+-75.836 34.92 3089
+-75.71 34.92 3101
+-75.584 34.92 3114
+-75.458 34.92 3128
+-75.332 34.92 3148
+-75.206 34.92 3159
+-75.08 34.92 3163
+-74.954 34.92 3173
+-74.828 34.92 3144
+-74.702 34.92 3153
+-74.576 34.92 3161
+-74.45 34.92 3216
+-74.324 34.92 3220
+-74.198 34.92 3234
+-74.072 34.92 3241
+-73.946 34.92 3232
+-73.82 34.92 3254
+-73.694 34.92 3298
+-73.568 34.92 3311
+-73.442 34.92 3316
+-73.316 34.92 3321
+-73.19 34.92 3367
+-73.064 34.92 3373
+-72.938 34.92 3326
+-72.812 34.92 3348
+-72.686 34.92 3348
+-72.56 34.92 3281
+-72.434 34.92 3205
+-72.308 34.92 3226
+-72.182 34.92 3231
+-72.056 34.92 3260
+-71.93 34.92 3241
+-71.804 34.92 3252
+-71.678 34.92 3256
+-71.552 34.92 3241
+-71.426 34.92 3245
+-71.3 34.92 3249
+-71.174 34.92 3229
+-71.048 34.92 3215
+-70.922 34.92 3246
+-70.796 34.92 3243
+-70.67 34.92 3246
+-70.544 34.92 3250
+-70.418 34.92 3176
+-70.292 34.92 3214
+-70.166 34.92 3211
+-70.04 34.92 3214
+-69.914 34.92 3217
+-69.788 34.92 3441
+-69.662 34.92 3371
+-69.536 34.92 3380
+-69.41 34.92 3382
+-69.284 34.92 3281
+-69.158 34.92 3269
+-69.032 34.92 3270
+-68.906 34.92 3272
+-68.78 34.92 3251
+-68.654 34.92 3252
+-68.528 34.92 3253
+-68.402 34.92 3254
+-68.276 34.92 3255
+-68.15 34.92 3278
+-68.024 34.92 3279
+-67.898 34.92 3264
+-67.772 34.92 3265
+-67.646 34.92 3267
+-67.52 34.92 3207
+-67.394 34.92 3391
+-67.268 34.92 3351
+-67.142 34.92 3352
+-67.016 34.92 3321
+-66.89 34.92 3322
+-66.764 34.92 3323
+-66.638 34.92 3453
+-66.512 34.92 3454
+-66.386 34.92 3455
+-66.26 34.92 3455
+-66.134 34.92 3456
+-66.008 34.92 3573
+-65.882 34.92 3574
+-65.756 34.92 3486
+-65.63 34.92 3487
+-65.504 34.92 3488
+-65.378 34.92 3488
+-65.252 34.92 3498
+-65.126 34.92 3455
+-128 34.868 2786
+-127.874 34.868 2784
+-127.748 34.868 2782
+-127.622 34.868 2780
+-127.496 34.868 2886
+-127.37 34.868 2883
+-127.244 34.868 2881
+-127.118 34.868 2878
+-126.992 34.868 2876
+-126.866 34.868 2873
+-126.74 34.868 2926
+-126.614 34.868 2920
+-126.488 34.868 2979
+-126.362 34.868 2970
+-126.236 34.868 3057
+-126.11 34.868 3046
+-125.984 34.868 3034
+-125.858 34.868 3043
+-125.732 34.868 3026
+-125.606 34.868 3007
+-125.48 34.868 2986
+-125.354 34.868 2961
+-125.228 34.868 2948
+-125.102 34.868 2914
+-124.976 34.868 2919
+-124.85 34.868 2877
+-124.724 34.868 2887
+-124.598 34.868 2833
+-124.472 34.868 2830
+-124.346 34.868 2785
+-124.22 34.868 2751
+-124.094 34.868 2741
+-123.968 34.868 2802
+-123.842 34.868 2944
+-123.716 34.868 3123
+-123.59 34.868 3321
+-123.464 34.868 3513
+-123.338 34.868 3654
+-123.212 34.868 3752
+-123.086 34.868 3801
+-122.96 34.868 3816
+-122.834 34.868 3878
+-122.708 34.868 3983
+-122.582 34.868 4070
+-122.456 34.868 4148
+-122.33 34.868 4174
+-122.204 34.868 4120
+-122.078 34.868 4285
+-121.952 34.868 4413
+-121.826 34.868 4510
+-121.7 34.868 4693
+-121.574 34.868 4922
+-121.448 34.868 4998
+-121.322 34.868 5213
+-121.196 34.868 5390
+-121.07 34.868 5505
+-120.944 34.868 5554
+-120.818 34.868 5685
+-120.692 34.868 5815
+-120.566 34.868 5863
+-120.44 34.868 6049
+-120.314 34.868 6229
+-120.188 34.868 6414
+-120.062 34.868 6492
+-119.936 34.868 6600
+-119.81 34.868 6733
+-119.684 34.868 6875
+-119.558 34.868 6983
+-119.432 34.868 7178
+-119.306 34.868 7238
+-119.18 34.868 7392
+-119.054 34.868 7571
+-118.928 34.868 7615
+-118.802 34.868 7780
+-118.676 34.868 7901
+-118.55 34.868 7992
+-118.424 34.868 8124
+-118.298 34.868 8235
+-118.172 34.868 8351
+-118.046 34.868 8485
+-117.92 34.868 8496
+-117.794 34.868 8604
+-117.668 34.868 8667
+-117.542 34.868 8732
+-117.416 34.868 8764
+-117.29 34.868 8768
+-117.164 34.868 8741
+-117.038 34.868 8685
+-116.912 34.868 8616
+-116.786 34.868 8569
+-116.66 34.868 8451
+-116.534 34.868 8350
+-116.408 34.868 8254
+-116.282 34.868 8103
+-116.156 34.868 8059
+-116.03 34.868 7943
+-115.904 34.868 7804
+-115.778 34.868 7621
+-115.652 34.868 7560
+-115.526 34.868 7452
+-115.4 34.868 7320
+-115.274 34.868 7197
+-115.148 34.868 6979
+-115.022 34.868 6911
+-114.896 34.868 6799
+-114.77 34.868 6678
+-114.644 34.868 6532
+-114.518 34.868 6368
+-114.392 34.868 6308
+-114.266 34.868 6154
+-114.14 34.868 5989
+-114.014 34.868 5872
+-113.888 34.868 5727
+-113.762 34.868 5572
+-113.636 34.868 5416
+-113.51 34.868 5280
+-113.384 34.868 5190
+-113.258 34.868 5048
+-113.132 34.868 4900
+-113.006 34.868 4990
+-112.88 34.868 5043
+-112.754 34.868 5089
+-112.628 34.868 5170
+-112.502 34.868 5242
+-112.376 34.868 5321
+-112.25 34.868 5429
+-112.124 34.868 5520
+-111.998 34.868 5586
+-111.872 34.868 5623
+-111.746 34.868 5663
+-111.62 34.868 5691
+-111.494 34.868 5730
+-111.368 34.868 5762
+-111.242 34.868 5810
+-111.116 34.868 5853
+-110.99 34.868 5862
+-110.864 34.868 5915
+-110.738 34.868 5938
+-110.612 34.868 5962
+-110.486 34.868 5953
+-110.36 34.868 5947
+-110.234 34.868 5943
+-110.108 34.868 5920
+-109.982 34.868 5905
+-109.856 34.868 5896
+-109.73 34.868 5877
+-109.604 34.868 5855
+-109.478 34.868 5833
+-109.352 34.868 5813
+-109.226 34.868 5775
+-109.1 34.868 5705
+-108.974 34.868 5610
+-108.848 34.868 5540
+-108.722 34.868 5485
+-108.596 34.868 5433
+-108.47 34.868 5345
+-108.344 34.868 5288
+-108.218 34.868 5219
+-108.092 34.868 5194
+-107.966 34.868 5113
+-107.84 34.868 5037
+-107.714 34.868 4917
+-107.588 34.868 4804
+-107.462 34.868 4697
+-107.336 34.868 4601
+-107.21 34.868 4526
+-107.084 34.868 4435
+-106.958 34.868 4381
+-106.832 34.868 4354
+-106.706 34.868 4307
+-106.58 34.868 4233
+-106.454 34.868 4154
+-106.328 34.868 4076
+-106.202 34.868 4005
+-106.076 34.868 3961
+-105.95 34.868 3941
+-105.824 34.868 3920
+-105.698 34.868 3933
+-105.572 34.868 3953
+-105.446 34.868 3976
+-105.32 34.868 4000
+-105.194 34.868 3912
+-105.068 34.868 3916
+-104.942 34.868 3922
+-104.816 34.868 3880
+-104.69 34.868 3881
+-104.564 34.868 3882
+-104.438 34.868 3882
+-104.312 34.868 3853
+-104.186 34.868 3854
+-104.06 34.868 3808
+-103.934 34.868 3809
+-103.808 34.868 3815
+-103.682 34.868 3818
+-103.556 34.868 3821
+-103.43 34.868 3824
+-103.304 34.868 3815
+-103.178 34.868 3716
+-103.052 34.868 3716
+-102.926 34.868 3657
+-102.8 34.868 3552
+-102.674 34.868 3566
+-102.548 34.868 3512
+-102.422 34.868 3502
+-102.296 34.868 3501
+-102.17 34.868 3499
+-102.044 34.868 3479
+-101.918 34.868 3424
+-101.792 34.868 3423
+-101.666 34.868 3422
+-101.54 34.868 3361
+-101.414 34.868 3353
+-101.288 34.868 3320
+-101.162 34.868 3307
+-101.036 34.868 3267
+-100.91 34.868 3205
+-100.784 34.868 3188
+-100.658 34.868 3176
+-100.532 34.868 3145
+-100.406 34.868 3086
+-100.28 34.868 3096
+-100.154 34.868 3086
+-100.028 34.868 3094
+-99.902 34.868 3073
+-99.776 34.868 3068
+-99.65 34.868 3170
+-99.524 34.868 3218
+-99.398 34.868 3179
+-99.272 34.868 3174
+-99.146 34.868 3189
+-99.02 34.868 3184
+-98.894 34.868 3153
+-98.768 34.868 3151
+-98.642 34.868 3149
+-98.516 34.868 3148
+-98.39 34.868 3213
+-98.264 34.868 3211
+-98.138 34.868 3209
+-98.012 34.868 3216
+-97.886 34.868 3228
+-97.76 34.868 3232
+-97.634 34.868 3237
+-97.508 34.868 3243
+-97.382 34.868 3269
+-97.256 34.868 3258
+-97.13 34.868 3269
+-97.004 34.868 3282
+-96.878 34.868 3311
+-96.752 34.868 3326
+-96.626 34.868 3342
+-96.5 34.868 3358
+-96.374 34.868 3375
+-96.248 34.868 3392
+-96.122 34.868 3416
+-95.996 34.868 3432
+-95.87 34.868 3448
+-95.744 34.868 3599
+-95.618 34.868 3624
+-95.492 34.868 3617
+-95.366 34.868 3699
+-95.24 34.868 3709
+-95.114 34.868 3766
+-94.988 34.868 3739
+-94.862 34.868 3723
+-94.736 34.868 3690
+-94.61 34.868 3640
+-94.484 34.868 3538
+-94.358 34.868 3461
+-94.232 34.868 3572
+-94.106 34.868 3769
+-93.98 34.868 3940
+-93.854 34.868 4041
+-93.728 34.868 4118
+-93.602 34.868 4160
+-93.476 34.868 4208
+-93.35 34.868 4265
+-93.224 34.868 4338
+-93.098 34.868 4408
+-92.972 34.868 4429
+-92.846 34.868 4505
+-92.72 34.868 4527
+-92.594 34.868 4612
+-92.468 34.868 4685
+-92.342 34.868 4790
+-92.216 34.868 4859
+-92.09 34.868 4904
+-91.964 34.868 4969
+-91.838 34.868 5113
+-91.712 34.868 5255
+-91.586 34.868 5381
+-91.46 34.868 5536
+-91.334 34.868 5686
+-91.208 34.868 5741
+-91.082 34.868 5803
+-90.956 34.868 5841
+-90.83 34.868 5919
+-90.704 34.868 6004
+-90.578 34.868 6090
+-90.452 34.868 6172
+-90.326 34.868 6220
+-90.2 34.868 6275
+-90.074 34.868 6364
+-89.948 34.868 6367
+-89.822 34.868 6453
+-89.696 34.868 6511
+-89.57 34.868 6513
+-89.444 34.868 6565
+-89.318 34.868 6591
+-89.192 34.868 6604
+-89.066 34.868 6626
+-88.94 34.868 6643
+-88.814 34.868 6649
+-88.688 34.868 6648
+-88.562 34.868 6650
+-88.436 34.868 6632
+-88.31 34.868 6596
+-88.184 34.868 6564
+-88.058 34.868 6556
+-87.932 34.868 6489
+-87.806 34.868 6460
+-87.68 34.868 6401
+-87.554 34.868 6322
+-87.428 34.868 6289
+-87.302 34.868 6208
+-87.176 34.868 6115
+-87.05 34.868 6038
+-86.924 34.868 6046
+-86.798 34.868 5897
+-86.672 34.868 5855
+-86.546 34.868 5743
+-86.42 34.868 5649
+-86.294 34.868 5543
+-86.168 34.868 5428
+-86.042 34.868 5419
+-85.916 34.868 5363
+-85.79 34.868 5235
+-85.664 34.868 5120
+-85.538 34.868 5064
+-85.412 34.868 4958
+-85.286 34.868 4848
+-85.16 34.868 4714
+-85.034 34.868 4530
+-84.908 34.868 4351
+-84.782 34.868 4217
+-84.656 34.868 4106
+-84.53 34.868 4154
+-84.404 34.868 4089
+-84.278 34.868 3898
+-84.152 34.868 3766
+-84.026 34.868 3819
+-83.9 34.868 3900
+-83.774 34.868 3917
+-83.648 34.868 3940
+-83.522 34.868 3897
+-83.396 34.868 3800
+-83.27 34.868 3760
+-83.144 34.868 3732
+-83.018 34.868 3700
+-82.892 34.868 3660
+-82.766 34.868 3637
+-82.64 34.868 3599
+-82.514 34.868 3476
+-82.388 34.868 3343
+-82.262 34.868 3274
+-82.136 34.868 3214
+-82.01 34.868 3157
+-81.884 34.868 2997
+-81.758 34.868 2965
+-81.632 34.868 2902
+-81.506 34.868 2885
+-81.38 34.868 2801
+-81.254 34.868 2776
+-81.128 34.868 2750
+-81.002 34.868 2721
+-80.876 34.868 2686
+-80.75 34.868 2646
+-80.624 34.868 2595
+-80.498 34.868 2546
+-80.372 34.868 2451
+-80.246 34.868 2382
+-80.12 34.868 2256
+-79.994 34.868 2171
+-79.868 34.868 2079
+-79.742 34.868 1991
+-79.616 34.868 1908
+-79.49 34.868 1827
+-79.364 34.868 1783
+-79.238 34.868 1757
+-79.112 34.868 1764
+-78.986 34.868 1808
+-78.86 34.868 1866
+-78.734 34.868 1924
+-78.608 34.868 2014
+-78.482 34.868 2080
+-78.356 34.868 2170
+-78.23 34.868 2249
+-78.104 34.868 2326
+-77.978 34.868 2381
+-77.852 34.868 2455
+-77.726 34.868 2503
+-77.6 34.868 2545
+-77.474 34.868 2625
+-77.348 34.868 2661
+-77.222 34.868 2693
+-77.096 34.868 2722
+-76.97 34.868 2748
+-76.844 34.868 2772
+-76.718 34.868 2756
+-76.592 34.868 2787
+-76.466 34.868 2805
+-76.34 34.868 2818
+-76.214 34.868 3027
+-76.088 34.868 3060
+-75.962 34.868 3075
+-75.836 34.868 3088
+-75.71 34.868 3102
+-75.584 34.868 3117
+-75.458 34.868 3138
+-75.332 34.868 3149
+-75.206 34.868 3154
+-75.08 34.868 3164
+-74.954 34.868 3137
+-74.828 34.868 3146
+-74.702 34.868 3154
+-74.576 34.868 3209
+-74.45 34.868 3214
+-74.324 34.868 3228
+-74.198 34.868 3235
+-74.072 34.868 3227
+-73.946 34.868 3249
+-73.82 34.868 3292
+-73.694 34.868 3306
+-73.568 34.868 3312
+-73.442 34.868 3316
+-73.316 34.868 3362
+-73.19 34.868 3369
+-73.064 34.868 3322
+-72.938 34.868 3344
+-72.812 34.868 3344
+-72.686 34.868 3275
+-72.56 34.868 3203
+-72.434 34.868 3224
+-72.308 34.868 3228
+-72.182 34.868 3258
+-72.056 34.868 3239
+-71.93 34.868 3250
+-71.804 34.868 3254
+-71.678 34.868 3239
+-71.552 34.868 3243
+-71.426 34.868 3247
+-71.3 34.868 3228
+-71.174 34.868 3213
+-71.048 34.868 3245
+-70.922 34.868 3241
+-70.796 34.868 3245
+-70.67 34.868 3248
+-70.544 34.868 3175
+-70.418 34.868 3213
+-70.292 34.868 3210
+-70.166 34.868 3213
+-70.04 34.868 3216
+-69.914 34.868 3440
+-69.788 34.868 3366
+-69.662 34.868 3379
+-69.536 34.868 3380
+-69.41 34.868 3280
+-69.284 34.868 3268
+-69.158 34.868 3269
+-69.032 34.868 3270
+-68.906 34.868 3250
+-68.78 34.868 3251
+-68.654 34.868 3252
+-68.528 34.868 3253
+-68.402 34.868 3254
+-68.276 34.868 3277
+-68.15 34.868 3278
+-68.024 34.868 3263
+-67.898 34.868 3264
+-67.772 34.868 3266
+-67.646 34.868 3207
+-67.52 34.868 3390
+-67.394 34.868 3350
+-67.268 34.868 3351
+-67.142 34.868 3320
+-67.016 34.868 3321
+-66.89 34.868 3322
+-66.764 34.868 3452
+-66.638 34.868 3453
+-66.512 34.868 3454
+-66.386 34.868 3454
+-66.26 34.868 3455
+-66.134 34.868 3571
+-66.008 34.868 3572
+-65.882 34.868 3485
+-65.756 34.868 3486
+-65.63 34.868 3487
+-65.504 34.868 3487
+-65.378 34.868 3497
+-65.252 34.868 3454
+-65.126 34.868 3447
+-128 34.816 2789
+-127.874 34.816 2788
+-127.748 34.816 2786
+-127.622 34.816 2784
+-127.496 34.816 2888
+-127.37 34.816 2886
+-127.244 34.816 2884
+-127.118 34.816 2882
+-126.992 34.816 2880
+-126.866 34.816 2877
+-126.74 34.816 2875
+-126.614 34.816 2929
+-126.488 34.816 2923
+-126.362 34.816 3016
+-126.236 34.816 3099
+-126.11 34.816 3089
+-125.984 34.816 3077
+-125.858 34.816 3064
+-125.732 34.816 3050
+-125.606 34.816 3034
+-125.48 34.816 3016
+-125.354 34.816 2995
+-125.228 34.816 2972
+-125.102 34.816 2982
+-124.976 34.816 2975
+-124.85 34.816 3011
+-124.724 34.816 2971
+-124.598 34.816 2933
+-124.472 34.816 2900
+-124.346 34.816 2929
+-124.22 34.816 2919
+-124.094 34.816 2969
+-123.968 34.816 3020
+-123.842 34.816 3168
+-123.716 34.816 3305
+-123.59 34.816 3453
+-123.464 34.816 3604
+-123.338 34.816 3709
+-123.212 34.816 3783
+-123.086 34.816 3836
+-122.96 34.816 3886
+-122.834 34.816 3960
+-122.708 34.816 4032
+-122.582 34.816 4073
+-122.456 34.816 4144
+-122.33 34.816 4200
+-122.204 34.816 4222
+-122.078 34.816 4319
+-121.952 34.816 4427
+-121.826 34.816 4539
+-121.7 34.816 4706
+-121.574 34.816 4907
+-121.448 34.816 5069
+-121.322 34.816 5253
+-121.196 34.816 5422
+-121.07 34.816 5544
+-120.944 34.816 5598
+-120.818 34.816 5706
+-120.692 34.816 5848
+-120.566 34.816 5880
+-120.44 34.816 6120
+-120.314 34.816 6217
+-120.188 34.816 6432
+-120.062 34.816 6528
+-119.936 34.816 6619
+-119.81 34.816 6753
+-119.684 34.816 6847
+-119.558 34.816 7034
+-119.432 34.816 7117
+-119.306 34.816 7310
+-119.18 34.816 7416
+-119.054 34.816 7524
+-118.928 34.816 7649
+-118.802 34.816 7770
+-118.676 34.816 7862
+-118.55 34.816 8029
+-118.424 34.816 8160
+-118.298 34.816 8275
+-118.172 34.816 8401
+-118.046 34.816 8487
+-117.92 34.816 8561
+-117.794 34.816 8668
+-117.668 34.816 8718
+-117.542 34.816 8783
+-117.416 34.816 8810
+-117.29 34.816 8800
+-117.164 34.816 8768
+-117.038 34.816 8762
+-116.912 34.816 8675
+-116.786 34.816 8575
+-116.66 34.816 8507
+-116.534 34.816 8408
+-116.408 34.816 8281
+-116.282 34.816 8166
+-116.156 34.816 8083
+-116.03 34.816 7934
+-115.904 34.816 7830
+-115.778 34.816 7708
+-115.652 34.816 7579
+-115.526 34.816 7413
+-115.4 34.816 7336
+-115.274 34.816 7159
+-115.148 34.816 7047
+-115.022 34.816 6934
+-114.896 34.816 6770
+-114.77 34.816 6650
+-114.644 34.816 6552
+-114.518 34.816 6403
+-114.392 34.816 6272
+-114.266 34.816 6169
+-114.14 34.816 6014
+-114.014 34.816 5825
+-113.888 34.816 5674
+-113.762 34.816 5589
+-113.636 34.816 5473
+-113.51 34.816 5325
+-113.384 34.816 5234
+-113.258 34.816 4983
+-113.132 34.816 5024
+-113.006 34.816 4989
+-112.88 34.816 5098
+-112.754 34.816 5117
+-112.628 34.816 5211
+-112.502 34.816 5313
+-112.376 34.816 5403
+-112.25 34.816 5495
+-112.124 34.816 5569
+-111.998 34.816 5630
+-111.872 34.816 5671
+-111.746 34.816 5670
+-111.62 34.816 5731
+-111.494 34.816 5796
+-111.368 34.816 5822
+-111.242 34.816 5866
+-111.116 34.816 5915
+-110.99 34.816 5935
+-110.864 34.816 5957
+-110.738 34.816 5971
+-110.612 34.816 5992
+-110.486 34.816 6010
+-110.36 34.816 6004
+-110.234 34.816 5983
+-110.108 34.816 5973
+-109.982 34.816 5972
+-109.856 34.816 5939
+-109.73 34.816 5931
+-109.604 34.816 5925
+-109.478 34.816 5894
+-109.352 34.816 5821
+-109.226 34.816 5838
+-109.1 34.816 5790
+-108.974 34.816 5695
+-108.848 34.816 5595
+-108.722 34.816 5534
+-108.596 34.816 5492
+-108.47 34.816 5390
+-108.344 34.816 5348
+-108.218 34.816 5292
+-108.092 34.816 5238
+-107.966 34.816 5188
+-107.84 34.816 5064
+-107.714 34.816 4934
+-107.588 34.816 4826
+-107.462 34.816 4750
+-107.336 34.816 4652
+-107.21 34.816 4581
+-107.084 34.816 4460
+-106.958 34.816 4356
+-106.832 34.816 4368
+-106.706 34.816 4319
+-106.58 34.816 4259
+-106.454 34.816 4189
+-106.328 34.816 4106
+-106.202 34.816 4018
+-106.076 34.816 3928
+-105.95 34.816 3867
+-105.824 34.816 3874
+-105.698 34.816 3916
+-105.572 34.816 3932
+-105.446 34.816 3970
+-105.32 34.816 3986
+-105.194 34.816 4008
+-105.068 34.816 3978
+-104.942 34.816 3938
+-104.816 34.816 3943
+-104.69 34.816 3947
+-104.564 34.816 3928
+-104.438 34.816 3871
+-104.312 34.816 3872
+-104.186 34.816 3873
+-104.06 34.816 3885
+-103.934 34.816 3831
+-103.808 34.816 3837
+-103.682 34.816 3839
+-103.556 34.816 3841
+-103.43 34.816 3831
+-103.304 34.816 3730
+-103.178 34.816 3729
+-103.052 34.816 3703
+-102.926 34.816 3626
+-102.8 34.816 3575
+-102.674 34.816 3523
+-102.548 34.816 3512
+-102.422 34.816 3510
+-102.296 34.816 3507
+-102.17 34.816 3487
+-102.044 34.816 3492
+-101.918 34.816 3491
+-101.792 34.816 3491
+-101.666 34.816 3491
+-101.54 34.816 3368
+-101.414 34.816 3360
+-101.288 34.816 3409
+-101.162 34.816 3366
+-101.036 34.816 3235
+-100.91 34.816 3219
+-100.784 34.816 3276
+-100.658 34.816 3151
+-100.532 34.816 3121
+-100.406 34.816 3081
+-100.28 34.816 3090
+-100.154 34.816 3094
+-100.028 34.816 3099
+-99.902 34.816 3076
+-99.776 34.816 3073
+-99.65 34.816 3181
+-99.524 34.816 3188
+-99.398 34.816 3184
+-99.272 34.816 3200
+-99.146 34.816 3195
+-99.02 34.816 3164
+-98.894 34.816 3162
+-98.768 34.816 3160
+-98.642 34.816 3159
+-98.516 34.816 3225
+-98.39 34.816 3223
+-98.264 34.816 3222
+-98.138 34.816 3229
+-98.012 34.816 3239
+-97.886 34.816 3242
+-97.76 34.816 3245
+-97.634 34.816 3251
+-97.508 34.816 3275
+-97.382 34.816 3261
+-97.256 34.816 3270
+-97.13 34.816 3280
+-97.004 34.816 3307
+-96.878 34.816 3319
+-96.752 34.816 3333
+-96.626 34.816 3346
+-96.5 34.816 3360
+-96.374 34.816 3375
+-96.248 34.816 3396
+-96.122 34.816 3511
+-95.996 34.816 3520
+-95.87 34.816 3530
+-95.744 34.816 3556
+-95.618 34.816 3550
+-95.492 34.816 3650
+-95.366 34.816 3674
+-95.24 34.816 3707
+-95.114 34.816 3687
+-94.988 34.816 3699
+-94.862 34.816 3676
+-94.736 34.816 3668
+-94.61 34.816 3618
+-94.484 34.816 3567
+-94.358 34.816 3535
+-94.232 34.816 3605
+-94.106 34.816 3763
+-93.98 34.816 3901
+-93.854 34.816 4021
+-93.728 34.816 4096
+-93.602 34.816 4147
+-93.476 34.816 4179
+-93.35 34.816 4215
+-93.224 34.816 4246
+-93.098 34.816 4322
+-92.972 34.816 4412
+-92.846 34.816 4475
+-92.72 34.816 4544
+-92.594 34.816 4599
+-92.468 34.816 4692
+-92.342 34.816 4731
+-92.216 34.816 4766
+-92.09 34.816 4845
+-91.964 34.816 4839
+-91.838 34.816 5154
+-91.712 34.816 5204
+-91.586 34.816 5312
+-91.46 34.816 5468
+-91.334 34.816 5642
+-91.208 34.816 5649
+-91.082 34.816 5744
+-90.956 34.816 5808
+-90.83 34.816 5868
+-90.704 34.816 5947
+-90.578 34.816 6042
+-90.452 34.816 6070
+-90.326 34.816 6147
+-90.2 34.816 6219
+-90.074 34.816 6286
+-89.948 34.816 6309
+-89.822 34.816 6377
+-89.696 34.816 6451
+-89.57 34.816 6484
+-89.444 34.816 6512
+-89.318 34.816 6524
+-89.192 34.816 6549
+-89.066 34.816 6596
+-88.94 34.816 6589
+-88.814 34.816 6586
+-88.688 34.816 6566
+-88.562 34.816 6600
+-88.436 34.816 6574
+-88.31 34.816 6588
+-88.184 34.816 6560
+-88.058 34.816 6485
+-87.932 34.816 6432
+-87.806 34.816 6398
+-87.68 34.816 6328
+-87.554 34.816 6290
+-87.428 34.816 6216
+-87.302 34.816 6131
+-87.176 34.816 6043
+-87.05 34.816 5974
+-86.924 34.816 5952
+-86.798 34.816 5888
+-86.672 34.816 5794
+-86.546 34.816 5723
+-86.42 34.816 5588
+-86.294 34.816 5510
+-86.168 34.816 5476
+-86.042 34.816 5418
+-85.916 34.816 5321
+-85.79 34.816 5143
+-85.664 34.816 5025
+-85.538 34.816 4985
+-85.412 34.816 4915
+-85.286 34.816 4780
+-85.16 34.816 4622
+-85.034 34.816 4496
+-84.908 34.816 4296
+-84.782 34.816 4206
+-84.656 34.816 4180
+-84.53 34.816 4151
+-84.404 34.816 4048
+-84.278 34.816 3800
+-84.152 34.816 3631
+-84.026 34.816 3740
+-83.9 34.816 3861
+-83.774 34.816 3890
+-83.648 34.816 3914
+-83.522 34.816 3870
+-83.396 34.816 3863
+-83.27 34.816 3756
+-83.144 34.816 3731
+-83.018 34.816 3702
+-82.892 34.816 3670
+-82.766 34.816 3597
+-82.64 34.816 3554
+-82.514 34.816 3520
+-82.388 34.816 3426
+-82.262 34.816 3299
+-82.136 34.816 3240
+-82.01 34.816 3112
+-81.884 34.816 3053
+-81.758 34.816 2993
+-81.632 34.816 2965
+-81.506 34.816 2884
+-81.38 34.816 2884
+-81.254 34.816 2794
+-81.128 34.816 2761
+-81.002 34.816 2729
+-80.876 34.816 2693
+-80.75 34.816 2653
+-80.624 34.816 2597
+-80.498 34.816 2506
+-80.372 34.816 2441
+-80.246 34.816 2316
+-80.12 34.816 2230
+-79.994 34.816 2132
+-79.868 34.816 2031
+-79.742 34.816 1925
+-79.616 34.816 1816
+-79.49 34.816 1735
+-79.364 34.816 1672
+-79.238 34.816 1648
+-79.112 34.816 1669
+-78.986 34.816 1716
+-78.86 34.816 1792
+-78.734 34.816 1875
+-78.608 34.816 1969
+-78.482 34.816 2060
+-78.356 34.816 2154
+-78.23 34.816 2243
+-78.104 34.816 2310
+-77.978 34.816 2394
+-77.852 34.816 2451
+-77.726 34.816 2501
+-77.6 34.816 2585
+-77.474 34.816 2626
+-77.348 34.816 2663
+-77.222 34.816 2696
+-77.096 34.816 2725
+-76.97 34.816 2752
+-76.844 34.816 2740
+-76.718 34.816 2772
+-76.592 34.816 2792
+-76.466 34.816 2807
+-76.34 34.816 3011
+-76.214 34.816 3044
+-76.088 34.816 3060
+-75.962 34.816 3075
+-75.836 34.816 3089
+-75.71 34.816 3106
+-75.584 34.816 3127
+-75.458 34.816 3139
+-75.332 34.816 3144
+-75.206 34.816 3155
+-75.08 34.816 3129
+-74.954 34.816 3138
+-74.828 34.816 3147
+-74.702 34.816 3202
+-74.576 34.816 3207
+-74.45 34.816 3221
+-74.324 34.816 3229
+-74.198 34.816 3222
+-74.072 34.816 3244
+-73.946 34.816 3287
+-73.82 34.816 3301
+-73.694 34.816 3307
+-73.568 34.816 3312
+-73.442 34.816 3357
+-73.316 34.816 3364
+-73.19 34.816 3318
+-73.064 34.816 3340
+-72.938 34.816 3340
+-72.812 34.816 3275
+-72.686 34.816 3200
+-72.56 34.816 3221
+-72.434 34.816 3226
+-72.308 34.816 3255
+-72.182 34.816 3236
+-72.056 34.816 3248
+-71.93 34.816 3252
+-71.804 34.816 3237
+-71.678 34.816 3241
+-71.552 34.816 3245
+-71.426 34.816 3226
+-71.3 34.816 3212
+-71.174 34.816 3243
+-71.048 34.816 3240
+-70.922 34.816 3244
+-70.796 34.816 3247
+-70.67 34.816 3174
+-70.544 34.816 3212
+-70.418 34.816 3209
+-70.292 34.816 3212
+-70.166 34.816 3215
+-70.04 34.816 3438
+-69.914 34.816 3368
+-69.788 34.816 3377
+-69.662 34.816 3379
+-69.536 34.816 3279
+-69.41 34.816 3267
+-69.284 34.816 3268
+-69.158 34.816 3269
+-69.032 34.816 3249
+-68.906 34.816 3250
+-68.78 34.816 3251
+-68.654 34.816 3252
+-68.528 34.816 3253
+-68.402 34.816 3276
+-68.276 34.816 3277
+-68.15 34.816 3262
+-68.024 34.816 3264
+-67.898 34.816 3265
+-67.772 34.816 3206
+-67.646 34.816 3389
+-67.52 34.816 3349
+-67.394 34.816 3350
+-67.268 34.816 3319
+-67.142 34.816 3320
+-67.016 34.816 3321
+-66.89 34.816 3451
+-66.764 34.816 3452
+-66.638 34.816 3453
+-66.512 34.816 3453
+-66.386 34.816 3454
+-66.26 34.816 3570
+-66.134 34.816 3571
+-66.008 34.816 3484
+-65.882 34.816 3485
+-65.756 34.816 3486
+-65.63 34.816 3486
+-65.504 34.816 3496
+-65.378 34.816 3453
+-65.252 34.816 3446
+-65.126 34.816 3393
+-128 34.764 2802
+-127.874 34.764 2800
+-127.748 34.764 2799
+-127.622 34.764 2797
+-127.496 34.764 2816
+-127.37 34.764 2888
+-127.244 34.764 2886
+-127.118 34.764 2885
+-126.992 34.764 2883
+-126.866 34.764 2881
+-126.74 34.764 2879
+-126.614 34.764 2877
+-126.488 34.764 2932
+-126.362 34.764 2928
+-126.236 34.764 3022
+-126.11 34.764 3108
+-125.984 34.764 3098
+-125.858 34.764 3087
+-125.732 34.764 3075
+-125.606 34.764 3061
+-125.48 34.764 3046
+-125.354 34.764 3030
+-125.228 34.764 3012
+-125.102 34.764 3029
+-124.976 34.764 3072
+-124.85 34.764 3079
+-124.724 34.764 3052
+-124.598 34.764 3028
+-124.472 34.764 3010
+-124.346 34.764 3057
+-124.22 34.764 3101
+-124.094 34.764 3136
+-123.968 34.764 3192
+-123.842 34.764 3352
+-123.716 34.764 3458
+-123.59 34.764 3570
+-123.464 34.764 3674
+-123.338 34.764 3760
+-123.212 34.764 3825
+-123.086 34.764 3873
+-122.96 34.764 3960
+-122.834 34.764 3984
+-122.708 34.764 3991
+-122.582 34.764 3975
+-122.456 34.764 4089
+-122.33 34.764 4219
+-122.204 34.764 4290
+-122.078 34.764 4375
+-121.952 34.764 4480
+-121.826 34.764 4593
+-121.7 34.764 4782
+-121.574 34.764 4908
+-121.448 34.764 5115
+-121.322 34.764 5271
+-121.196 34.764 5390
+-121.07 34.764 5518
+-120.944 34.764 5626
+-120.818 34.764 5704
+-120.692 34.764 5807
+-120.566 34.764 5928
+-120.44 34.764 6141
+-120.314 34.764 6334
+-120.188 34.764 6371
+-120.062 34.764 6488
+-119.936 34.764 6632
+-119.81 34.764 6726
+-119.684 34.764 6887
+-119.558 34.764 6982
+-119.432 34.764 7141
+-119.306 34.764 7323
+-119.18 34.764 7457
+-119.054 34.764 7582
+-118.928 34.764 7648
+-118.802 34.764 7806
+-118.676 34.764 7926
+-118.55 34.764 8025
+-118.424 34.764 8175
+-118.298 34.764 8353
+-118.172 34.764 8367
+-118.046 34.764 8516
+-117.92 34.764 8610
+-117.794 34.764 8722
+-117.668 34.764 8779
+-117.542 34.764 8833
+-117.416 34.764 8860
+-117.29 34.764 8889
+-117.164 34.764 8835
+-117.038 34.764 8777
+-116.912 34.764 8741
+-116.786 34.764 8663
+-116.66 34.764 8555
+-116.534 34.764 8414
+-116.408 34.764 8324
+-116.282 34.764 8230
+-116.156 34.764 8092
+-116.03 34.764 7932
+-115.904 34.764 7821
+-115.778 34.764 7722
+-115.652 34.764 7626
+-115.526 34.764 7444
+-115.4 34.764 7280
+-115.274 34.764 7244
+-115.148 34.764 7060
+-115.022 34.764 6950
+-114.896 34.764 6828
+-114.77 34.764 6707
+-114.644 34.764 6544
+-114.518 34.764 6415
+-114.392 34.764 6229
+-114.266 34.764 6191
+-114.14 34.764 6026
+-114.014 34.764 5888
+-113.888 34.764 5726
+-113.762 34.764 5576
+-113.636 34.764 5476
+-113.51 34.764 5346
+-113.384 34.764 5233
+-113.258 34.764 5123
+-113.132 34.764 5086
+-113.006 34.764 5085
+-112.88 34.764 5154
+-112.754 34.764 5157
+-112.628 34.764 5259
+-112.502 34.764 5366
+-112.376 34.764 5427
+-112.25 34.764 5526
+-112.124 34.764 5612
+-111.998 34.764 5673
+-111.872 34.764 5689
+-111.746 34.764 5744
+-111.62 34.764 5792
+-111.494 34.764 5826
+-111.368 34.764 5882
+-111.242 34.764 5921
+-111.116 34.764 5994
+-110.99 34.764 6008
+-110.864 34.764 6007
+-110.738 34.764 6029
+-110.612 34.764 6070
+-110.486 34.764 6069
+-110.36 34.764 6068
+-110.234 34.764 6056
+-110.108 34.764 6018
+-109.982 34.764 6005
+-109.856 34.764 5992
+-109.73 34.764 5993
+-109.604 34.764 5971
+-109.478 34.764 5952
+-109.352 34.764 5908
+-109.226 34.764 5860
+-109.1 34.764 5855
+-108.974 34.764 5773
+-108.848 34.764 5680
+-108.722 34.764 5598
+-108.596 34.764 5574
+-108.47 34.764 5470
+-108.344 34.764 5379
+-108.218 34.764 5335
+-108.092 34.764 5297
+-107.966 34.764 5223
+-107.84 34.764 5133
+-107.714 34.764 5010
+-107.588 34.764 4902
+-107.462 34.764 4815
+-107.336 34.764 4690
+-107.21 34.764 4601
+-107.084 34.764 4525
+-106.958 34.764 4419
+-106.832 34.764 4359
+-106.706 34.764 4318
+-106.58 34.764 4263
+-106.454 34.764 4194
+-106.328 34.764 4106
+-106.202 34.764 3983
+-106.076 34.764 3814
+-105.95 34.764 3698
+-105.824 34.764 3755
+-105.698 34.764 3856
+-105.572 34.764 3927
+-105.446 34.764 3985
+-105.32 34.764 3988
+-105.194 34.764 4013
+-105.068 34.764 4033
+-104.942 34.764 4048
+-104.816 34.764 3959
+-104.69 34.764 3940
+-104.564 34.764 3936
+-104.438 34.764 3890
+-104.312 34.764 3891
+-104.186 34.764 3903
+-104.06 34.764 3906
+-103.934 34.764 3908
+-103.808 34.764 3916
+-103.682 34.764 3912
+-103.556 34.764 3849
+-103.43 34.764 3799
+-103.304 34.764 3798
+-103.178 34.764 3713
+-103.052 34.764 3637
+-102.926 34.764 3585
+-102.8 34.764 3583
+-102.674 34.764 3587
+-102.548 34.764 3586
+-102.422 34.764 3580
+-102.296 34.764 3557
+-102.17 34.764 3498
+-102.044 34.764 3497
+-101.918 34.764 3496
+-101.792 34.764 3496
+-101.666 34.764 3495
+-101.54 34.764 3375
+-101.414 34.764 3430
+-101.288 34.764 3388
+-101.162 34.764 3376
+-101.036 34.764 3321
+-100.91 34.764 3306
+-100.784 34.764 3254
+-100.658 34.764 3162
+-100.532 34.764 3131
+-100.406 34.764 3094
+-100.28 34.764 3097
+-100.154 34.764 3091
+-100.028 34.764 3080
+-99.902 34.764 3080
+-99.776 34.764 3099
+-99.65 34.764 3113
+-99.524 34.764 3168
+-99.398 34.764 3209
+-99.272 34.764 3205
+-99.146 34.764 3172
+-99.02 34.764 3171
+-98.894 34.764 3169
+-98.768 34.764 3168
+-98.642 34.764 3236
+-98.516 34.764 3234
+-98.39 34.764 3232
+-98.264 34.764 3239
+-98.138 34.764 3248
+-98.012 34.764 3250
+-97.886 34.764 3253
+-97.76 34.764 3257
+-97.634 34.764 3280
+-97.508 34.764 3264
+-97.382 34.764 3271
+-97.256 34.764 3279
+-97.13 34.764 3304
+-97.004 34.764 3314
+-96.878 34.764 3325
+-96.752 34.764 3336
+-96.626 34.764 3348
+-96.5 34.764 3360
+-96.374 34.764 3379
+-96.248 34.764 3492
+-96.122 34.764 3500
+-95.996 34.764 3509
+-95.87 34.764 3497
+-95.744 34.764 3528
+-95.618 34.764 3589
+-95.492 34.764 3619
+-95.366 34.764 3646
+-95.24 34.764 3653
+-95.114 34.764 3694
+-94.988 34.764 3676
+-94.862 34.764 3652
+-94.736 34.764 3613
+-94.61 34.764 3613
+-94.484 34.764 3574
+-94.358 34.764 3563
+-94.232 34.764 3620
+-94.106 34.764 3733
+-93.98 34.764 3864
+-93.854 34.764 3978
+-93.728 34.764 4071
+-93.602 34.764 4119
+-93.476 34.764 4151
+-93.35 34.764 4168
+-93.224 34.764 4172
+-93.098 34.764 4233
+-92.972 34.764 4338
+-92.846 34.764 4420
+-92.72 34.764 4499
+-92.594 34.764 4564
+-92.468 34.764 4643
+-92.342 34.764 4692
+-92.216 34.764 4692
+-92.09 34.764 4782
+-91.964 34.764 4856
+-91.838 34.764 4989
+-91.712 34.764 5130
+-91.586 34.764 5274
+-91.46 34.764 5442
+-91.334 34.764 5593
+-91.208 34.764 5597
+-91.082 34.764 5692
+-90.956 34.764 5755
+-90.83 34.764 5835
+-90.704 34.764 5906
+-90.578 34.764 5988
+-90.452 34.764 6085
+-90.326 34.764 6121
+-90.2 34.764 6195
+-90.074 34.764 6232
+-89.948 34.764 6290
+-89.822 34.764 6331
+-89.696 34.764 6423
+-89.57 34.764 6422
+-89.444 34.764 6458
+-89.318 34.764 6491
+-89.192 34.764 6513
+-89.066 34.764 6531
+-88.94 34.764 6523
+-88.814 34.764 6519
+-88.688 34.764 6494
+-88.562 34.764 6505
+-88.436 34.764 6546
+-88.31 34.764 6541
+-88.184 34.764 6488
+-88.058 34.764 6404
+-87.932 34.764 6364
+-87.806 34.764 6302
+-87.68 34.764 6257
+-87.554 34.764 6216
+-87.428 34.764 6165
+-87.302 34.764 6078
+-87.176 34.764 6015
+-87.05 34.764 5932
+-86.924 34.764 5887
+-86.798 34.764 5820
+-86.672 34.764 5697
+-86.546 34.764 5695
+-86.42 34.764 5567
+-86.294 34.764 5431
+-86.168 34.764 5458
+-86.042 34.764 5401
+-85.916 34.764 5277
+-85.79 34.764 5129
+-85.664 34.764 5008
+-85.538 34.764 4908
+-85.412 34.764 4871
+-85.286 34.764 4704
+-85.16 34.764 4573
+-85.034 34.764 4471
+-84.908 34.764 4325
+-84.782 34.764 4246
+-84.656 34.764 4214
+-84.53 34.764 4163
+-84.404 34.764 4059
+-84.278 34.764 3889
+-84.152 34.764 3766
+-84.026 34.764 3807
+-83.9 34.764 3880
+-83.774 34.764 3891
+-83.648 34.764 3893
+-83.522 34.764 3846
+-83.396 34.764 3836
+-83.27 34.764 3768
+-83.144 34.764 3726
+-83.018 34.764 3699
+-82.892 34.764 3616
+-82.766 34.764 3583
+-82.64 34.764 3568
+-82.514 34.764 3481
+-82.388 34.764 3451
+-82.262 34.764 3403
+-82.136 34.764 3285
+-82.01 34.764 3131
+-81.884 34.764 3093
+-81.758 34.764 3042
+-81.632 34.764 2986
+-81.506 34.764 2902
+-81.38 34.764 2851
+-81.254 34.764 2822
+-81.128 34.764 2776
+-81.002 34.764 2740
+-80.876 34.764 2707
+-80.75 34.764 2639
+-80.624 34.764 2566
+-80.498 34.764 2506
+-80.372 34.764 2387
+-80.246 34.764 2307
+-80.12 34.764 2212
+-79.994 34.764 2102
+-79.868 34.764 1995
+-79.742 34.764 1865
+-79.616 34.764 1750
+-79.49 34.764 1646
+-79.364 34.764 1576
+-79.238 34.764 1555
+-79.112 34.764 1575
+-78.986 34.764 1637
+-78.86 34.764 1723
+-78.734 34.764 1826
+-78.608 34.764 1933
+-78.482 34.764 2042
+-78.356 34.764 2146
+-78.23 34.764 2229
+-78.104 34.764 2324
+-77.978 34.764 2393
+-77.852 34.764 2451
+-77.726 34.764 2541
+-77.6 34.764 2588
+-77.474 34.764 2630
+-77.348 34.764 2667
+-77.222 34.764 2700
+-77.096 34.764 2730
+-76.97 34.764 2723
+-76.844 34.764 2757
+-76.718 34.764 2778
+-76.592 34.764 2795
+-76.466 34.764 2993
+-76.34 34.764 3027
+-76.214 34.764 3045
+-76.088 34.764 3061
+-75.962 34.764 3076
+-75.836 34.764 3094
+-75.71 34.764 3115
+-75.584 34.764 3128
+-75.458 34.764 3134
+-75.332 34.764 3146
+-75.206 34.764 3121
+-75.08 34.764 3131
+-74.954 34.764 3140
+-74.828 34.764 3195
+-74.702 34.764 3200
+-74.576 34.764 3215
+-74.45 34.764 3223
+-74.324 34.764 3216
+-74.198 34.764 3239
+-74.072 34.764 3281
+-73.946 34.764 3296
+-73.82 34.764 3302
+-73.694 34.764 3307
+-73.568 34.764 3352
+-73.442 34.764 3359
+-73.316 34.764 3314
+-73.19 34.764 3336
+-73.064 34.764 3337
+-72.938 34.764 3269
+-72.812 34.764 3198
+-72.686 34.764 3219
+-72.56 34.764 3223
+-72.434 34.764 3253
+-72.308 34.764 3234
+-72.182 34.764 3245
+-72.056 34.764 3250
+-71.93 34.764 3236
+-71.804 34.764 3240
+-71.678 34.764 3243
+-71.552 34.764 3225
+-71.426 34.764 3211
+-71.3 34.764 3242
+-71.174 34.764 3239
+-71.048 34.764 3242
+-70.922 34.764 3246
+-70.796 34.764 3173
+-70.67 34.764 3211
+-70.544 34.764 3208
+-70.418 34.764 3211
+-70.292 34.764 3214
+-70.166 34.764 3436
+-70.04 34.764 3363
+-69.914 34.764 3376
+-69.788 34.764 3378
+-69.662 34.764 3278
+-69.536 34.764 3266
+-69.41 34.764 3267
+-69.284 34.764 3268
+-69.158 34.764 3248
+-69.032 34.764 3249
+-68.906 34.764 3250
+-68.78 34.764 3251
+-68.654 34.764 3252
+-68.528 34.764 3275
+-68.402 34.764 3276
+-68.276 34.764 3261
+-68.15 34.764 3263
+-68.024 34.764 3264
+-67.898 34.764 3205
+-67.772 34.764 3388
+-67.646 34.764 3348
+-67.52 34.764 3349
+-67.394 34.764 3318
+-67.268 34.764 3319
+-67.142 34.764 3320
+-67.016 34.764 3450
+-66.89 34.764 3451
+-66.764 34.764 3452
+-66.638 34.764 3453
+-66.512 34.764 3453
+-66.386 34.764 3569
+-66.26 34.764 3570
+-66.134 34.764 3483
+-66.008 34.764 3484
+-65.882 34.764 3484
+-65.756 34.764 3485
+-65.63 34.764 3495
+-65.504 34.764 3452
+-65.378 34.764 3445
+-65.252 34.764 3393
+-65.126 34.764 3393
+-128 34.712 2804
+-127.874 34.712 2803
+-127.748 34.712 2801
+-127.622 34.712 2800
+-127.496 34.712 2798
+-127.37 34.712 2818
+-127.244 34.712 2889
+-127.118 34.712 2887
+-126.992 34.712 2886
+-126.866 34.712 2885
+-126.74 34.712 2883
+-126.614 34.712 2882
+-126.488 34.712 2880
+-126.362 34.712 2937
+-126.236 34.712 2933
+-126.11 34.712 3014
+-125.984 34.712 3103
+-125.858 34.712 3095
+-125.732 34.712 3085
+-125.606 34.712 3089
+-125.48 34.712 3077
+-125.354 34.712 3065
+-125.228 34.712 3087
+-125.102 34.712 3159
+-124.976 34.712 3140
+-124.85 34.712 3122
+-124.724 34.712 3128
+-124.598 34.712 3116
+-124.472 34.712 3168
+-124.346 34.712 3215
+-124.22 34.712 3237
+-124.094 34.712 3269
+-123.968 34.712 3346
+-123.842 34.712 3482
+-123.716 34.712 3566
+-123.59 34.712 3653
+-123.464 34.712 3735
+-123.338 34.712 3805
+-123.212 34.712 3862
+-123.086 34.712 3906
+-122.96 34.712 3986
+-122.834 34.712 3988
+-122.708 34.712 3942
+-122.582 34.712 3843
+-122.456 34.712 4013
+-122.33 34.712 4231
+-122.204 34.712 4318
+-122.078 34.712 4377
+-121.952 34.712 4482
+-121.826 34.712 4658
+-121.7 34.712 4824
+-121.574 34.712 4921
+-121.448 34.712 5076
+-121.322 34.712 5274
+-121.196 34.712 5283
+-121.07 34.712 5458
+-120.944 34.712 5643
+-120.818 34.712 5633
+-120.692 34.712 5794
+-120.566 34.712 5991
+-120.44 34.712 6146
+-120.314 34.712 6353
+-120.188 34.712 6411
+-120.062 34.712 6529
+-119.936 34.712 6633
+-119.81 34.712 6727
+-119.684 34.712 6864
+-119.558 34.712 7005
+-119.432 34.712 7189
+-119.306 34.712 7343
+-119.18 34.712 7460
+-119.054 34.712 7572
+-118.928 34.712 7718
+-118.802 34.712 7809
+-118.676 34.712 7971
+-118.55 34.712 8067
+-118.424 34.712 8172
+-118.298 34.712 8358
+-118.172 34.712 8460
+-118.046 34.712 8545
+-117.92 34.712 8672
+-117.794 34.712 8756
+-117.668 34.712 8823
+-117.542 34.712 8872
+-117.416 34.712 8931
+-117.29 34.712 8923
+-117.164 34.712 8908
+-117.038 34.712 8843
+-116.912 34.712 8788
+-116.786 34.712 8695
+-116.66 34.712 8584
+-116.534 34.712 8475
+-116.408 34.712 8332
+-116.282 34.712 8275
+-116.156 34.712 8107
+-116.03 34.712 7993
+-115.904 34.712 7833
+-115.778 34.712 7686
+-115.652 34.712 7582
+-115.526 34.712 7450
+-115.4 34.712 7330
+-115.274 34.712 7157
+-115.148 34.712 7039
+-115.022 34.712 6942
+-114.896 34.712 6830
+-114.77 34.712 6685
+-114.644 34.712 6594
+-114.518 34.712 6401
+-114.392 34.712 6252
+-114.266 34.712 6165
+-114.14 34.712 6008
+-114.014 34.712 5910
+-113.888 34.712 5751
+-113.762 34.712 5559
+-113.636 34.712 5516
+-113.51 34.712 5366
+-113.384 34.712 5238
+-113.258 34.712 5155
+-113.132 34.712 5122
+-113.006 34.712 5126
+-112.88 34.712 5162
+-112.754 34.712 5218
+-112.628 34.712 5305
+-112.502 34.712 5385
+-112.376 34.712 5474
+-112.25 34.712 5606
+-112.124 34.712 5694
+-111.998 34.712 5729
+-111.872 34.712 5760
+-111.746 34.712 5797
+-111.62 34.712 5899
+-111.494 34.712 5877
+-111.368 34.712 5919
+-111.242 34.712 5999
+-111.116 34.712 6034
+-110.99 34.712 6048
+-110.864 34.712 6079
+-110.738 34.712 6109
+-110.612 34.712 6121
+-110.486 34.712 6090
+-110.36 34.712 6130
+-110.234 34.712 6118
+-110.108 34.712 6093
+-109.982 34.712 6069
+-109.856 34.712 6060
+-109.73 34.712 6025
+-109.604 34.712 6015
+-109.478 34.712 5990
+-109.352 34.712 5954
+-109.226 34.712 5933
+-109.1 34.712 5911
+-108.974 34.712 5841
+-108.848 34.712 5741
+-108.722 34.712 5653
+-108.596 34.712 5602
+-108.47 34.712 5521
+-108.344 34.712 5458
+-108.218 34.712 5387
+-108.092 34.712 5323
+-107.966 34.712 5273
+-107.84 34.712 5151
+-107.714 34.712 5046
+-107.588 34.712 4952
+-107.462 34.712 4872
+-107.336 34.712 4773
+-107.21 34.712 4646
+-107.084 34.712 4573
+-106.958 34.712 4449
+-106.832 34.712 4313
+-106.706 34.712 4303
+-106.58 34.712 4231
+-106.454 34.712 4186
+-106.328 34.712 4088
+-106.202 34.712 3949
+-106.076 34.712 3736
+-105.95 34.712 3563
+-105.824 34.712 3682
+-105.698 34.712 3825
+-105.572 34.712 3924
+-105.446 34.712 3987
+-105.32 34.712 4031
+-105.194 34.712 4031
+-105.068 34.712 4052
+-104.942 34.712 4067
+-104.816 34.712 4040
+-104.69 34.712 4049
+-104.564 34.712 3954
+-104.438 34.712 3957
+-104.312 34.712 3909
+-104.186 34.712 3924
+-104.06 34.712 3926
+-103.934 34.712 3934
+-103.808 34.712 3929
+-103.682 34.712 3826
+-103.556 34.712 3813
+-103.43 34.712 3811
+-103.304 34.712 3724
+-103.178 34.712 3649
+-103.052 34.712 3595
+-102.926 34.712 3592
+-102.8 34.712 3596
+-102.674 34.712 3595
+-102.548 34.712 3588
+-102.422 34.712 3565
+-102.296 34.712 3504
+-102.17 34.712 3503
+-102.044 34.712 3502
+-101.918 34.712 3501
+-101.792 34.712 3500
+-101.666 34.712 3499
+-101.54 34.712 3381
+-101.414 34.712 3478
+-101.288 34.712 3397
+-101.162 34.712 3386
+-101.036 34.712 3333
+-100.91 34.712 3282
+-100.784 34.712 3266
+-100.658 34.712 3173
+-100.532 34.712 3168
+-100.406 34.712 3126
+-100.28 34.712 3108
+-100.154 34.712 3099
+-100.028 34.712 3081
+-99.902 34.712 3082
+-99.776 34.712 3089
+-99.65 34.712 3076
+-99.524 34.712 3172
+-99.398 34.712 3214
+-99.272 34.712 3180
+-99.146 34.712 3179
+-99.02 34.712 3177
+-98.894 34.712 3176
+-98.768 34.712 3244
+-98.642 34.712 3243
+-98.516 34.712 3241
+-98.39 34.712 3248
+-98.264 34.712 3256
+-98.138 34.712 3257
+-98.012 34.712 3259
+-97.886 34.712 3262
+-97.76 34.712 3284
+-97.634 34.712 3267
+-97.508 34.712 3272
+-97.382 34.712 3279
+-97.256 34.712 3302
+-97.13 34.712 3310
+-97.004 34.712 3318
+-96.878 34.712 3327
+-96.752 34.712 3337
+-96.626 34.712 3347
+-96.5 34.712 3364
+-96.374 34.712 3475
+-96.248 34.712 3481
+-96.122 34.712 3489
+-95.996 34.712 3475
+-95.87 34.712 3506
+-95.744 34.712 3566
+-95.618 34.712 3602
+-95.492 34.712 3628
+-95.366 34.712 3621
+-95.24 34.712 3635
+-95.114 34.712 3626
+-94.988 34.712 3655
+-94.862 34.712 3620
+-94.736 34.712 3598
+-94.61 34.712 3546
+-94.484 34.712 3480
+-94.358 34.712 3440
+-94.232 34.712 3518
+-94.106 34.712 3676
+-93.98 34.712 3827
+-93.854 34.712 3947
+-93.728 34.712 4024
+-93.602 34.712 4078
+-93.476 34.712 4107
+-93.35 34.712 4132
+-93.224 34.712 4135
+-93.098 34.712 4198
+-92.972 34.712 4291
+-92.846 34.712 4374
+-92.72 34.712 4424
+-92.594 34.712 4511
+-92.468 34.712 4601
+-92.342 34.712 4653
+-92.216 34.712 4715
+-92.09 34.712 4760
+-91.964 34.712 4745
+-91.838 34.712 4895
+-91.712 34.712 5033
+-91.586 34.712 5190
+-91.46 34.712 5377
+-91.334 34.712 5530
+-91.208 34.712 5623
+-91.082 34.712 5617
+-90.956 34.712 5702
+-90.83 34.712 5800
+-90.704 34.712 5908
+-90.578 34.712 5950
+-90.452 34.712 6017
+-90.326 34.712 6097
+-90.2 34.712 6153
+-90.074 34.712 6193
+-89.948 34.712 6215
+-89.822 34.712 6280
+-89.696 34.712 6343
+-89.57 34.712 6375
+-89.444 34.712 6400
+-89.318 34.712 6425
+-89.192 34.712 6464
+-89.066 34.712 6468
+-88.94 34.712 6460
+-88.814 34.712 6493
+-88.688 34.712 6462
+-88.562 34.712 6467
+-88.436 34.712 6466
+-88.31 34.712 6436
+-88.184 34.712 6368
+-88.058 34.712 6308
+-87.932 34.712 6269
+-87.806 34.712 6268
+-87.68 34.712 6263
+-87.554 34.712 6198
+-87.428 34.712 6128
+-87.302 34.712 6063
+-87.176 34.712 5969
+-87.05 34.712 5910
+-86.924 34.712 5847
+-86.798 34.712 5764
+-86.672 34.712 5675
+-86.546 34.712 5676
+-86.42 34.712 5593
+-86.294 34.712 5499
+-86.168 34.712 5422
+-86.042 34.712 5368
+-85.916 34.712 5237
+-85.79 34.712 5098
+-85.664 34.712 4951
+-85.538 34.712 4881
+-85.412 34.712 4796
+-85.286 34.712 4631
+-85.16 34.712 4574
+-85.034 34.712 4486
+-84.908 34.712 4361
+-84.782 34.712 4273
+-84.656 34.712 4217
+-84.53 34.712 4154
+-84.404 34.712 4083
+-84.278 34.712 3972
+-84.152 34.712 3910
+-84.026 34.712 3897
+-83.9 34.712 3906
+-83.774 34.712 3906
+-83.648 34.712 3910
+-83.522 34.712 3893
+-83.396 34.712 3827
+-83.27 34.712 3810
+-83.144 34.712 3700
+-83.018 34.712 3653
+-82.892 34.712 3607
+-82.766 34.712 3528
+-82.64 34.712 3497
+-82.514 34.712 3484
+-82.388 34.712 3447
+-82.262 34.712 3423
+-82.136 34.712 3382
+-82.01 34.712 3224
+-81.884 34.712 3156
+-81.758 34.712 3054
+-81.632 34.712 2958
+-81.506 34.712 2951
+-81.38 34.712 2867
+-81.254 34.712 2838
+-81.128 34.712 2803
+-81.002 34.712 2773
+-80.876 34.712 2714
+-80.75 34.712 2627
+-80.624 34.712 2577
+-80.498 34.712 2514
+-80.372 34.712 2393
+-80.246 34.712 2307
+-80.12 34.712 2206
+-79.994 34.712 2103
+-79.868 34.712 1968
+-79.742 34.712 1838
+-79.616 34.712 1700
+-79.49 34.712 1585
+-79.364 34.712 1510
+-79.238 34.712 1482
+-79.112 34.712 1508
+-78.986 34.712 1579
+-78.86 34.712 1680
+-78.734 34.712 1797
+-78.608 34.712 1919
+-78.482 34.712 2038
+-78.356 34.712 2139
+-78.23 34.712 2246
+-78.104 34.712 2328
+-77.978 34.712 2397
+-77.852 34.712 2492
+-77.726 34.712 2547
+-77.6 34.712 2595
+-77.474 34.712 2637
+-77.348 34.712 2674
+-77.222 34.712 2706
+-77.096 34.712 2704
+-76.97 34.712 2740
+-76.844 34.712 2764
+-76.718 34.712 2782
+-76.592 34.712 2976
+-76.466 34.712 3010
+-76.34 34.712 3030
+-76.214 34.712 3047
+-76.088 34.712 3063
+-75.962 34.712 3081
+-75.836 34.712 3103
+-75.71 34.712 3117
+-75.584 34.712 3124
+-75.458 34.712 3137
+-75.332 34.712 3113
+-75.206 34.712 3123
+-75.08 34.712 3133
+-74.954 34.712 3187
+-74.828 34.712 3193
+-74.702 34.712 3208
+-74.576 34.712 3217
+-74.45 34.712 3210
+-74.324 34.712 3233
+-74.198 34.712 3276
+-74.072 34.712 3290
+-73.946 34.712 3297
+-73.82 34.712 3302
+-73.694 34.712 3347
+-73.568 34.712 3355
+-73.442 34.712 3310
+-73.316 34.712 3332
+-73.19 34.712 3333
+-73.064 34.712 3268
+-72.938 34.712 3195
+-72.812 34.712 3216
+-72.686 34.712 3221
+-72.56 34.712 3250
+-72.434 34.712 3232
+-72.308 34.712 3243
+-72.182 34.712 3248
+-72.056 34.712 3234
+-71.93 34.712 3238
+-71.804 34.712 3242
+-71.678 34.712 3223
+-71.552 34.712 3210
+-71.426 34.712 3240
+-71.3 34.712 3237
+-71.174 34.712 3241
+-71.048 34.712 3245
+-70.922 34.712 3172
+-70.796 34.712 3210
+-70.67 34.712 3207
+-70.544 34.712 3210
+-70.418 34.712 3213
+-70.292 34.712 3434
+-70.166 34.712 3365
+-70.04 34.712 3374
+-69.914 34.712 3376
+-69.788 34.712 3276
+-69.662 34.712 3265
+-69.536 34.712 3266
+-69.41 34.712 3267
+-69.284 34.712 3247
+-69.158 34.712 3248
+-69.032 34.712 3249
+-68.906 34.712 3250
+-68.78 34.712 3251
+-68.654 34.712 3273
+-68.528 34.712 3275
+-68.402 34.712 3260
+-68.276 34.712 3262
+-68.15 34.712 3263
+-68.024 34.712 3204
+-67.898 34.712 3387
+-67.772 34.712 3347
+-67.646 34.712 3348
+-67.52 34.712 3317
+-67.394 34.712 3318
+-67.268 34.712 3319
+-67.142 34.712 3449
+-67.016 34.712 3450
+-66.89 34.712 3451
+-66.764 34.712 3451
+-66.638 34.712 3452
+-66.512 34.712 3567
+-66.386 34.712 3568
+-66.26 34.712 3482
+-66.134 34.712 3483
+-66.008 34.712 3483
+-65.882 34.712 3484
+-65.756 34.712 3494
+-65.63 34.712 3451
+-65.504 34.712 3444
+-65.378 34.712 3392
+-65.252 34.712 3392
+-65.126 34.712 3354
+-128 34.66 2806
+-127.874 34.66 2805
+-127.748 34.66 2804
+-127.622 34.66 2803
+-127.496 34.66 2801
+-127.37 34.66 2800
+-127.244 34.66 2820
+-127.118 34.66 2903
+-126.992 34.66 2902
+-126.866 34.66 2901
+-126.74 34.66 2900
+-126.614 34.66 2899
+-126.488 34.66 2898
+-126.362 34.66 2897
+-126.236 34.66 2943
+-126.11 34.66 2940
+-125.984 34.66 3039
+-125.858 34.66 3117
+-125.732 34.66 3110
+-125.606 34.66 3103
+-125.48 34.66 3095
+-125.354 34.66 3164
+-125.228 34.66 3150
+-125.102 34.66 3204
+-124.976 34.66 3192
+-124.85 34.66 3181
+-124.724 34.66 3174
+-124.598 34.66 3232
+-124.472 34.66 3316
+-124.346 34.66 3325
+-124.22 34.66 3345
+-124.094 34.66 3397
+-123.968 34.66 3455
+-123.842 34.66 3583
+-123.716 34.66 3650
+-123.59 34.66 3720
+-123.464 34.66 3786
+-123.338 34.66 3845
+-123.212 34.66 3894
+-123.086 34.66 4008
+-122.96 34.66 4030
+-122.834 34.66 4061
+-122.708 34.66 4002
+-122.582 34.66 3975
+-122.456 34.66 4100
+-122.33 34.66 4298
+-122.204 34.66 4347
+-122.078 34.66 4279
+-121.952 34.66 4493
+-121.826 34.66 4660
+-121.7 34.66 4800
+-121.574 34.66 4892
+-121.448 34.66 5025
+-121.322 34.66 5233
+-121.196 34.66 5367
+-121.07 34.66 5526
+-120.944 34.66 5684
+-120.818 34.66 5733
+-120.692 34.66 5856
+-120.566 34.66 5911
+-120.44 34.66 6135
+-120.314 34.66 6310
+-120.188 34.66 6406
+-120.062 34.66 6534
+-119.936 34.66 6644
+-119.81 34.66 6768
+-119.684 34.66 6871
+-119.558 34.66 7035
+-119.432 34.66 7159
+-119.306 34.66 7318
+-119.18 34.66 7465
+-119.054 34.66 7584
+-118.928 34.66 7705
+-118.802 34.66 7850
+-118.676 34.66 7977
+-118.55 34.66 8053
+-118.424 34.66 8221
+-118.298 34.66 8342
+-118.172 34.66 8465
+-118.046 34.66 8592
+-117.92 34.66 8690
+-117.794 34.66 8783
+-117.668 34.66 8881
+-117.542 34.66 8951
+-117.416 34.66 8989
+-117.29 34.66 8970
+-117.164 34.66 8942
+-117.038 34.66 8898
+-116.912 34.66 8862
+-116.786 34.66 8735
+-116.66 34.66 8616
+-116.534 34.66 8504
+-116.408 34.66 8368
+-116.282 34.66 8300
+-116.156 34.66 8139
+-116.03 34.66 7985
+-115.904 34.66 7896
+-115.778 34.66 7783
+-115.652 34.66 7677
+-115.526 34.66 7453
+-115.4 34.66 7343
+-115.274 34.66 7217
+-115.148 34.66 7079
+-115.022 34.66 6937
+-114.896 34.66 6828
+-114.77 34.66 6711
+-114.644 34.66 6554
+-114.518 34.66 6374
+-114.392 34.66 6288
+-114.266 34.66 6097
+-114.14 34.66 6020
+-114.014 34.66 5929
+-113.888 34.66 5778
+-113.762 34.66 5622
+-113.636 34.66 5493
+-113.51 34.66 5338
+-113.384 34.66 5154
+-113.258 34.66 5131
+-113.132 34.66 5084
+-113.006 34.66 5150
+-112.88 34.66 5164
+-112.754 34.66 5279
+-112.628 34.66 5369
+-112.502 34.66 5471
+-112.376 34.66 5551
+-112.25 34.66 5679
+-112.124 34.66 5740
+-111.998 34.66 5710
+-111.872 34.66 5810
+-111.746 34.66 5856
+-111.62 34.66 5905
+-111.494 34.66 5930
+-111.368 34.66 6007
+-111.242 34.66 6059
+-111.116 34.66 6084
+-110.99 34.66 6101
+-110.864 34.66 6142
+-110.738 34.66 6153
+-110.612 34.66 6175
+-110.486 34.66 6175
+-110.36 34.66 6193
+-110.234 34.66 6169
+-110.108 34.66 6149
+-109.982 34.66 6134
+-109.856 34.66 6112
+-109.73 34.66 6113
+-109.604 34.66 6066
+-109.478 34.66 5976
+-109.352 34.66 5999
+-109.226 34.66 5928
+-109.1 34.66 5956
+-108.974 34.66 5895
+-108.848 34.66 5773
+-108.722 34.66 5683
+-108.596 34.66 5667
+-108.47 34.66 5593
+-108.344 34.66 5538
+-108.218 34.66 5418
+-108.092 34.66 5310
+-107.966 34.66 5294
+-107.84 34.66 5189
+-107.714 34.66 5091
+-107.588 34.66 5008
+-107.462 34.66 4927
+-107.336 34.66 4825
+-107.21 34.66 4686
+-107.084 34.66 4596
+-106.958 34.66 4542
+-106.832 34.66 4393
+-106.706 34.66 4281
+-106.58 34.66 4186
+-106.454 34.66 4175
+-106.328 34.66 4036
+-106.202 34.66 3916
+-106.076 34.66 3831
+-105.95 34.66 3717
+-105.824 34.66 3765
+-105.698 34.66 3867
+-105.572 34.66 3948
+-105.446 34.66 4004
+-105.32 34.66 4044
+-105.194 34.66 4074
+-105.068 34.66 4087
+-104.942 34.66 4040
+-104.816 34.66 4051
+-104.69 34.66 4059
+-104.564 34.66 4079
+-104.438 34.66 3975
+-104.312 34.66 3972
+-104.186 34.66 3995
+-104.06 34.66 3946
+-103.934 34.66 3947
+-103.808 34.66 3842
+-103.682 34.66 3828
+-103.556 34.66 3825
+-103.43 34.66 3793
+-103.304 34.66 3733
+-103.178 34.66 3662
+-103.052 34.66 3650
+-102.926 34.66 3606
+-102.8 34.66 3604
+-102.674 34.66 3597
+-102.548 34.66 3573
+-102.422 34.66 3511
+-102.296 34.66 3509
+-102.17 34.66 3508
+-102.044 34.66 3506
+-101.918 34.66 3505
+-101.792 34.66 3504
+-101.666 34.66 3503
+-101.54 34.66 3492
+-101.414 34.66 3485
+-101.288 34.66 3478
+-101.162 34.66 3432
+-101.036 34.66 3308
+-100.91 34.66 3293
+-100.784 34.66 3278
+-100.658 34.66 3184
+-100.532 34.66 3199
+-100.406 34.66 3154
+-100.28 34.66 3115
+-100.154 34.66 3107
+-100.028 34.66 3067
+-99.902 34.66 3073
+-99.776 34.66 3095
+-99.65 34.66 3080
+-99.524 34.66 3176
+-99.398 34.66 3187
+-99.272 34.66 3186
+-99.146 34.66 3184
+-99.02 34.66 3183
+-98.894 34.66 3252
+-98.768 34.66 3250
+-98.642 34.66 3249
+-98.516 34.66 3255
+-98.39 34.66 3262
+-98.264 34.66 3263
+-98.138 34.66 3265
+-98.012 34.66 3267
+-97.886 34.66 3288
+-97.76 34.66 3269
+-97.634 34.66 3274
+-97.508 34.66 3279
+-97.382 34.66 3300
+-97.256 34.66 3306
+-97.13 34.66 3313
+-97.004 34.66 3320
+-96.878 34.66 3328
+-96.752 34.66 3336
+-96.626 34.66 3351
+-96.5 34.66 3460
+-96.374 34.66 3427
+-96.248 34.66 3437
+-96.122 34.66 3454
+-95.996 34.66 3442
+-95.87 34.66 3512
+-95.744 34.66 3584
+-95.618 34.66 3571
+-95.492 34.66 3597
+-95.366 34.66 3591
+-95.24 34.66 3588
+-95.114 34.66 3602
+-94.988 34.66 3607
+-94.862 34.66 3578
+-94.736 34.66 3550
+-94.61 34.66 3510
+-94.484 34.66 3423
+-94.358 34.66 3354
+-94.232 34.66 3449
+-94.106 34.66 3612
+-93.98 34.66 3779
+-93.854 34.66 3887
+-93.728 34.66 3971
+-93.602 34.66 4022
+-93.476 34.66 4031
+-93.35 34.66 4035
+-93.224 34.66 4113
+-93.098 34.66 4186
+-92.972 34.66 4261
+-92.846 34.66 4331
+-92.72 34.66 4374
+-92.594 34.66 4416
+-92.468 34.66 4549
+-92.342 34.66 4603
+-92.216 34.66 4653
+-92.09 34.66 4746
+-91.964 34.66 4818
+-91.838 34.66 4907
+-91.712 34.66 4968
+-91.586 34.66 5126
+-91.46 34.66 5297
+-91.334 34.66 5449
+-91.208 34.66 5576
+-91.082 34.66 5640
+-90.956 34.66 5670
+-90.83 34.66 5730
+-90.704 34.66 5822
+-90.578 34.66 5900
+-90.452 34.66 5986
+-90.326 34.66 6034
+-90.2 34.66 6116
+-90.074 34.66 6143
+-89.948 34.66 6186
+-89.822 34.66 6247
+-89.696 34.66 6303
+-89.57 34.66 6332
+-89.444 34.66 6326
+-89.318 34.66 6372
+-89.192 34.66 6407
+-89.066 34.66 6401
+-88.94 34.66 6422
+-88.814 34.66 6401
+-88.688 34.66 6409
+-88.562 34.66 6379
+-88.436 34.66 6380
+-88.31 34.66 6349
+-88.184 34.66 6278
+-88.058 34.66 6237
+-87.932 34.66 6232
+-87.806 34.66 6258
+-87.68 34.66 6160
+-87.554 34.66 6129
+-87.428 34.66 6076
+-87.302 34.66 6004
+-87.176 34.66 5916
+-87.05 34.66 5846
+-86.924 34.66 5837
+-86.798 34.66 5707
+-86.672 34.66 5702
+-86.546 34.66 5657
+-86.42 34.66 5584
+-86.294 34.66 5466
+-86.168 34.66 5347
+-86.042 34.66 5294
+-85.916 34.66 5207
+-85.79 34.66 5015
+-85.664 34.66 4876
+-85.538 34.66 4817
+-85.412 34.66 4736
+-85.286 34.66 4612
+-85.16 34.66 4514
+-85.034 34.66 4416
+-84.908 34.66 4318
+-84.782 34.66 4260
+-84.656 34.66 4179
+-84.53 34.66 4086
+-84.404 34.66 4038
+-84.278 34.66 3988
+-84.152 34.66 3955
+-84.026 34.66 3940
+-83.9 34.66 3908
+-83.774 34.66 3913
+-83.648 34.66 3897
+-83.522 34.66 3844
+-83.396 34.66 3834
+-83.27 34.66 3748
+-83.144 34.66 3722
+-83.018 34.66 3609
+-82.892 34.66 3562
+-82.766 34.66 3513
+-82.64 34.66 3483
+-82.514 34.66 3457
+-82.388 34.66 3445
+-82.262 34.66 3414
+-82.136 34.66 3382
+-82.01 34.66 3228
+-81.884 34.66 3165
+-81.758 34.66 3125
+-81.632 34.66 3035
+-81.506 34.66 2971
+-81.38 34.66 2888
+-81.254 34.66 2860
+-81.128 34.66 2814
+-81.002 34.66 2791
+-80.876 34.66 2690
+-80.75 34.66 2649
+-80.624 34.66 2592
+-80.498 34.66 2523
+-80.372 34.66 2409
+-80.246 34.66 2320
+-80.12 34.66 2226
+-79.994 34.66 2107
+-79.868 34.66 1980
+-79.742 34.66 1831
+-79.616 34.66 1687
+-79.49 34.66 1570
+-79.364 34.66 1484
+-79.238 34.66 1455
+-79.112 34.66 1483
+-78.986 34.66 1562
+-78.86 34.66 1671
+-78.734 34.66 1798
+-78.608 34.66 1928
+-78.482 34.66 2044
+-78.356 34.66 2164
+-78.23 34.66 2259
+-78.104 34.66 2339
+-77.978 34.66 2441
+-77.852 34.66 2504
+-77.726 34.66 2558
+-77.6 34.66 2605
+-77.474 34.66 2646
+-77.348 34.66 2682
+-77.222 34.66 2686
+-77.096 34.66 2723
+-76.97 34.66 2749
+-76.844 34.66 2769
+-76.718 34.66 2957
+-76.592 34.66 2993
+-76.466 34.66 3013
+-76.34 34.66 3032
+-76.214 34.66 3050
+-76.088 34.66 3069
+-75.962 34.66 3091
+-75.836 34.66 3106
+-75.71 34.66 3114
+-75.584 34.66 3127
+-75.458 34.66 3105
+-75.332 34.66 3115
+-75.206 34.66 3126
+-75.08 34.66 3180
+-74.954 34.66 3186
+-74.828 34.66 3201
+-74.702 34.66 3211
+-74.576 34.66 3205
+-74.45 34.66 3228
+-74.324 34.66 3270
+-74.198 34.66 3285
+-74.072 34.66 3292
+-73.946 34.66 3298
+-73.82 34.66 3342
+-73.694 34.66 3350
+-73.568 34.66 3306
+-73.442 34.66 3328
+-73.316 34.66 3329
+-73.19 34.66 3262
+-73.064 34.66 3193
+-72.938 34.66 3214
+-72.812 34.66 3218
+-72.686 34.66 3248
+-72.56 34.66 3230
+-72.434 34.66 3241
+-72.308 34.66 3246
+-72.182 34.66 3232
+-72.056 34.66 3236
+-71.93 34.66 3240
+-71.804 34.66 3222
+-71.678 34.66 3208
+-71.552 34.66 3239
+-71.426 34.66 3236
+-71.3 34.66 3240
+-71.174 34.66 3244
+-71.048 34.66 3171
+-70.922 34.66 3209
+-70.796 34.66 3206
+-70.67 34.66 3210
+-70.544 34.66 3213
+-70.418 34.66 3432
+-70.292 34.66 3360
+-70.166 34.66 3372
+-70.04 34.66 3374
+-69.914 34.66 3275
+-69.788 34.66 3263
+-69.662 34.66 3265
+-69.536 34.66 3266
+-69.41 34.66 3246
+-69.284 34.66 3247
+-69.158 34.66 3248
+-69.032 34.66 3249
+-68.906 34.66 3251
+-68.78 34.66 3272
+-68.654 34.66 3274
+-68.528 34.66 3259
+-68.402 34.66 3261
+-68.276 34.66 3262
+-68.15 34.66 3204
+-68.024 34.66 3386
+-67.898 34.66 3347
+-67.772 34.66 3347
+-67.646 34.66 3316
+-67.52 34.66 3317
+-67.394 34.66 3318
+-67.268 34.66 3448
+-67.142 34.66 3449
+-67.016 34.66 3450
+-66.89 34.66 3450
+-66.764 34.66 3451
+-66.638 34.66 3566
+-66.512 34.66 3567
+-66.386 34.66 3481
+-66.26 34.66 3481
+-66.134 34.66 3482
+-66.008 34.66 3483
+-65.882 34.66 3492
+-65.756 34.66 3450
+-65.63 34.66 3443
+-65.504 34.66 3391
+-65.378 34.66 3392
+-65.252 34.66 3353
+-65.126 34.66 3400
+-128 34.608 2808
+-127.874 34.608 2807
+-127.748 34.608 2806
+-127.622 34.608 2805
+-127.496 34.608 2804
+-127.37 34.608 2803
+-127.244 34.608 2802
+-127.118 34.608 2823
+-126.992 34.608 2905
+-126.866 34.608 2905
+-126.74 34.608 2904
+-126.614 34.608 2904
+-126.488 34.608 2903
+-126.362 34.608 2903
+-126.236 34.608 2902
+-126.11 34.608 2950
+-125.984 34.608 2948
+-125.858 34.608 3053
+-125.732 34.608 3134
+-125.606 34.608 3129
+-125.48 34.608 3204
+-125.354 34.608 3195
+-125.228 34.608 3186
+-125.102 34.608 3177
+-124.976 34.608 3221
+-124.85 34.608 3248
+-124.724 34.608 3300
+-124.598 34.608 3300
+-124.472 34.608 3389
+-124.346 34.608 3432
+-124.22 34.608 3455
+-124.094 34.608 3501
+-123.968 34.608 3542
+-123.842 34.608 3591
+-123.716 34.608 3695
+-123.59 34.608 3774
+-123.464 34.608 3828
+-123.338 34.608 3878
+-123.212 34.608 3957
+-123.086 34.608 4057
+-122.96 34.608 4071
+-122.834 34.608 4116
+-122.708 34.608 4130
+-122.582 34.608 4168
+-122.456 34.608 4253
+-122.33 34.608 4361
+-122.204 34.608 4423
+-122.078 34.608 4455
+-121.952 34.608 4581
+-121.826 34.608 4645
+-121.7 34.608 4755
+-121.574 34.608 4917
+-121.448 34.608 5066
+-121.322 34.608 5228
+-121.196 34.608 5361
+-121.07 34.608 5525
+-120.944 34.608 5680
+-120.818 34.608 5774
+-120.692 34.608 5896
+-120.566 34.608 6017
+-120.44 34.608 6139
+-120.314 34.608 6307
+-120.188 34.608 6425
+-120.062 34.608 6552
+-119.936 34.608 6604
+-119.81 34.608 6783
+-119.684 34.608 6947
+-119.558 34.608 7012
+-119.432 34.608 7220
+-119.306 34.608 7350
+-119.18 34.608 7441
+-119.054 34.608 7592
+-118.928 34.608 7682
+-118.802 34.608 7891
+-118.676 34.608 8044
+-118.55 34.608 8125
+-118.424 34.608 8256
+-118.298 34.608 8391
+-118.172 34.608 8443
+-118.046 34.608 8653
+-117.92 34.608 8695
+-117.794 34.608 8826
+-117.668 34.608 8935
+-117.542 34.608 8985
+-117.416 34.608 9038
+-117.29 34.608 9034
+-117.164 34.608 8972
+-117.038 34.608 8967
+-116.912 34.608 8879
+-116.786 34.608 8750
+-116.66 34.608 8659
+-116.534 34.608 8554
+-116.408 34.608 8390
+-116.282 34.608 8336
+-116.156 34.608 8159
+-116.03 34.608 8053
+-115.904 34.608 7890
+-115.778 34.608 7787
+-115.652 34.608 7664
+-115.526 34.608 7471
+-115.4 34.608 7344
+-115.274 34.608 7232
+-115.148 34.608 7147
+-115.022 34.608 6913
+-114.896 34.608 6851
+-114.77 34.608 6660
+-114.644 34.608 6609
+-114.518 34.608 6456
+-114.392 34.608 6344
+-114.266 34.608 6164
+-114.14 34.608 6035
+-114.014 34.608 5841
+-113.888 34.608 5769
+-113.762 34.608 5659
+-113.636 34.608 5441
+-113.51 34.608 5364
+-113.384 34.608 5210
+-113.258 34.608 5100
+-113.132 34.608 5071
+-113.006 34.608 5184
+-112.88 34.608 5269
+-112.754 34.608 5364
+-112.628 34.608 5425
+-112.502 34.608 5525
+-112.376 34.608 5612
+-112.25 34.608 5691
+-112.124 34.608 5769
+-111.998 34.608 5814
+-111.872 34.608 5859
+-111.746 34.608 5903
+-111.62 34.608 5918
+-111.494 34.608 5990
+-111.368 34.608 6061
+-111.242 34.608 6099
+-111.116 34.608 6107
+-110.99 34.608 6174
+-110.864 34.608 6203
+-110.738 34.608 6204
+-110.612 34.608 6220
+-110.486 34.608 6235
+-110.36 34.608 6237
+-110.234 34.608 6239
+-110.108 34.608 6218
+-109.982 34.608 6199
+-109.856 34.608 6169
+-109.73 34.608 6143
+-109.604 34.608 6110
+-109.478 34.608 6073
+-109.352 34.608 6040
+-109.226 34.608 6010
+-109.1 34.608 5994
+-108.974 34.608 5939
+-108.848 34.608 5834
+-108.722 34.608 5763
+-108.596 34.608 5719
+-108.47 34.608 5624
+-108.344 34.608 5569
+-108.218 34.608 5500
+-108.092 34.608 5378
+-107.966 34.608 5289
+-107.84 34.608 5175
+-107.714 34.608 5151
+-107.588 34.608 5053
+-107.462 34.608 4975
+-107.336 34.608 4870
+-107.21 34.608 4762
+-107.084 34.608 4654
+-106.958 34.608 4606
+-106.832 34.608 4476
+-106.706 34.608 4346
+-106.58 34.608 4240
+-106.454 34.608 4176
+-106.328 34.608 3985
+-106.202 34.608 3842
+-106.076 34.608 3893
+-105.95 34.608 3890
+-105.824 34.608 3895
+-105.698 34.608 3941
+-105.572 34.608 3992
+-105.446 34.608 4033
+-105.32 34.608 4070
+-105.194 34.608 4078
+-105.068 34.608 4079
+-104.942 34.608 4094
+-104.816 34.608 4106
+-104.69 34.608 4085
+-104.564 34.608 4094
+-104.438 34.608 4102
+-104.312 34.608 3989
+-104.186 34.608 4007
+-104.06 34.608 4019
+-103.934 34.608 3913
+-103.808 34.608 3900
+-103.682 34.608 3898
+-103.556 34.608 3804
+-103.43 34.608 3742
+-103.304 34.608 3672
+-103.178 34.608 3659
+-103.052 34.608 3669
+-102.926 34.608 3668
+-102.8 34.608 3606
+-102.674 34.608 3638
+-102.548 34.608 3572
+-102.422 34.608 3571
+-102.296 34.608 3570
+-102.17 34.608 3568
+-102.044 34.608 3568
+-101.918 34.608 3567
+-101.792 34.608 3566
+-101.666 34.608 3618
+-101.54 34.608 3499
+-101.414 34.608 3492
+-101.288 34.608 3447
+-101.162 34.608 3400
+-101.036 34.608 3318
+-100.91 34.608 3304
+-100.784 34.608 3289
+-100.658 34.608 3231
+-100.532 34.608 3211
+-100.406 34.608 3166
+-100.28 34.608 3126
+-100.154 34.608 3117
+-100.028 34.608 3072
+-99.902 34.608 3077
+-99.776 34.608 3099
+-99.65 34.608 3084
+-99.524 34.608 3194
+-99.398 34.608 3192
+-99.272 34.608 3190
+-99.146 34.608 3190
+-99.02 34.608 3259
+-98.894 34.608 3257
+-98.768 34.608 3255
+-98.642 34.608 3262
+-98.516 34.608 3268
+-98.39 34.608 3268
+-98.264 34.608 3269
+-98.138 34.608 3271
+-98.012 34.608 3292
+-97.886 34.608 3272
+-97.76 34.608 3275
+-97.634 34.608 3279
+-97.508 34.608 3299
+-97.382 34.608 3304
+-97.256 34.608 3309
+-97.13 34.608 3315
+-97.004 34.608 3320
+-96.878 34.608 3326
+-96.752 34.608 3340
+-96.626 34.608 3447
+-96.5 34.608 3411
+-96.374 34.608 3420
+-96.248 34.608 3435
+-96.122 34.608 3422
+-95.996 34.608 3494
+-95.87 34.608 3526
+-95.744 34.608 3551
+-95.618 34.608 3540
+-95.492 34.608 3536
+-95.366 34.608 3531
+-95.24 34.608 3546
+-95.114 34.608 3565
+-94.988 34.608 3576
+-94.862 34.608 3558
+-94.736 34.608 3541
+-94.61 34.608 3504
+-94.484 34.608 3447
+-94.358 34.608 3419
+-94.232 34.608 3487
+-94.106 34.608 3592
+-93.98 34.608 3687
+-93.854 34.608 3829
+-93.728 34.608 3921
+-93.602 34.608 3974
+-93.476 34.608 3970
+-93.35 34.608 3920
+-93.224 34.608 4035
+-93.098 34.608 4149
+-92.972 34.608 4215
+-92.846 34.608 4272
+-92.72 34.608 4307
+-92.594 34.608 4351
+-92.468 34.608 4459
+-92.342 34.608 4561
+-92.216 34.608 4539
+-92.09 34.608 4823
+-91.964 34.608 4833
+-91.838 34.608 4983
+-91.712 34.608 4966
+-91.586 34.608 5096
+-91.46 34.608 5236
+-91.334 34.608 5348
+-91.208 34.608 5479
+-91.082 34.608 5612
+-90.956 34.608 5662
+-90.83 34.608 5703
+-90.704 34.608 5759
+-90.578 34.608 5858
+-90.452 34.608 5920
+-90.326 34.608 6020
+-90.2 34.608 6071
+-90.074 34.608 6116
+-89.948 34.608 6097
+-89.822 34.608 6170
+-89.696 34.608 6217
+-89.57 34.608 6280
+-89.444 34.608 6287
+-89.318 34.608 6320
+-89.192 34.608 6340
+-89.066 34.608 6348
+-88.94 34.608 6339
+-88.814 34.608 6335
+-88.688 34.608 6330
+-88.562 34.608 6337
+-88.436 34.608 6303
+-88.31 34.608 6266
+-88.184 34.608 6226
+-88.058 34.608 6204
+-87.932 34.608 6229
+-87.806 34.608 6168
+-87.68 34.608 6127
+-87.554 34.608 6057
+-87.428 34.608 6005
+-87.302 34.608 5952
+-87.176 34.608 5878
+-87.05 34.608 5799
+-86.924 34.608 5768
+-86.798 34.608 5741
+-86.672 34.608 5676
+-86.546 34.608 5627
+-86.42 34.608 5549
+-86.294 34.608 5379
+-86.168 34.608 5259
+-86.042 34.608 5264
+-85.916 34.608 5180
+-85.79 34.608 4959
+-85.664 34.608 4839
+-85.538 34.608 4771
+-85.412 34.608 4648
+-85.286 34.608 4547
+-85.16 34.608 4462
+-85.034 34.608 4345
+-84.908 34.608 4270
+-84.782 34.608 4236
+-84.656 34.608 4091
+-84.53 34.608 3968
+-84.404 34.608 3956
+-84.278 34.608 3949
+-84.152 34.608 3911
+-84.026 34.608 3905
+-83.9 34.608 3906
+-83.774 34.608 3883
+-83.648 34.608 3858
+-83.522 34.608 3828
+-83.396 34.608 3814
+-83.27 34.608 3754
+-83.144 34.608 3655
+-83.018 34.608 3616
+-82.892 34.608 3585
+-82.766 34.608 3490
+-82.64 34.608 3462
+-82.514 34.608 3438
+-82.388 34.608 3393
+-82.262 34.608 3383
+-82.136 34.608 3342
+-82.01 34.608 3202
+-81.884 34.608 3174
+-81.758 34.608 3125
+-81.632 34.608 3029
+-81.506 34.608 3006
+-81.38 34.608 2949
+-81.254 34.608 2924
+-81.128 34.608 2897
+-81.002 34.608 2808
+-80.876 34.608 2716
+-80.75 34.608 2670
+-80.624 34.608 2613
+-80.498 34.608 2517
+-80.372 34.608 2441
+-80.246 34.608 2358
+-80.12 34.608 2256
+-79.994 34.608 2148
+-79.868 34.608 2009
+-79.742 34.608 1861
+-79.616 34.608 1731
+-79.49 34.608 1602
+-79.364 34.608 1517
+-79.238 34.608 1485
+-79.112 34.608 1515
+-78.986 34.608 1592
+-78.86 34.608 1705
+-78.734 34.608 1833
+-78.608 34.608 1956
+-78.482 34.608 2085
+-78.356 34.608 2191
+-78.23 34.608 2282
+-78.104 34.608 2390
+-77.978 34.608 2461
+-77.852 34.608 2521
+-77.726 34.608 2573
+-77.6 34.608 2618
+-77.474 34.608 2658
+-77.348 34.608 2667
+-77.222 34.608 2706
+-77.096 34.608 2733
+-76.97 34.608 2756
+-76.844 34.608 2939
+-76.718 34.608 2975
+-76.592 34.608 2997
+-76.466 34.608 3017
+-76.34 34.608 3036
+-76.214 34.608 3056
+-76.088 34.608 3079
+-75.962 34.608 3094
+-75.836 34.608 3104
+-75.71 34.608 3117
+-75.584 34.608 3096
+-75.458 34.608 3107
+-75.332 34.608 3118
+-75.206 34.608 3172
+-75.08 34.608 3179
+-74.954 34.608 3195
+-74.828 34.608 3204
+-74.702 34.608 3199
+-74.576 34.608 3222
+-74.45 34.608 3264
+-74.324 34.608 3279
+-74.198 34.608 3286
+-74.072 34.608 3293
+-73.946 34.608 3337
+-73.82 34.608 3345
+-73.694 34.608 3302
+-73.568 34.608 3324
+-73.442 34.608 3325
+-73.316 34.608 3262
+-73.19 34.608 3191
+-73.064 34.608 3211
+-72.938 34.608 3216
+-72.812 34.608 3245
+-72.686 34.608 3228
+-72.56 34.608 3239
+-72.434 34.608 3243
+-72.308 34.608 3230
+-72.182 34.608 3234
+-72.056 34.608 3239
+-71.93 34.608 3221
+-71.804 34.608 3207
+-71.678 34.608 3237
+-71.552 34.608 3235
+-71.426 34.608 3239
+-71.3 34.608 3242
+-71.174 34.608 3170
+-71.048 34.608 3208
+-70.922 34.608 3205
+-70.796 34.608 3209
+-70.67 34.608 3212
+-70.544 34.608 3430
+-70.418 34.608 3362
+-70.292 34.608 3371
+-70.166 34.608 3373
+-70.04 34.608 3274
+-69.914 34.608 3262
+-69.788 34.608 3264
+-69.662 34.608 3265
+-69.536 34.608 3245
+-69.41 34.608 3246
+-69.284 34.608 3247
+-69.158 34.608 3249
+-69.032 34.608 3250
+-68.906 34.608 3271
+-68.78 34.608 3273
+-68.654 34.608 3258
+-68.528 34.608 3260
+-68.402 34.608 3261
+-68.276 34.608 3203
+-68.15 34.608 3385
+-68.024 34.608 3346
+-67.898 34.608 3346
+-67.772 34.608 3316
+-67.646 34.608 3316
+-67.52 34.608 3317
+-67.394 34.608 3447
+-67.268 34.608 3448
+-67.142 34.608 3449
+-67.016 34.608 3449
+-66.89 34.608 3450
+-66.764 34.608 3564
+-66.638 34.608 3565
+-66.512 34.608 3479
+-66.386 34.608 3480
+-66.26 34.608 3481
+-66.134 34.608 3482
+-66.008 34.608 3491
+-65.882 34.608 3449
+-65.756 34.608 3442
+-65.63 34.608 3390
+-65.504 34.608 3391
+-65.378 34.608 3353
+-65.252 34.608 3399
+-65.126 34.608 3400
+-128 34.556 2809
+-127.874 34.556 2808
+-127.748 34.556 2807
+-127.622 34.556 2806
+-127.496 34.556 2806
+-127.37 34.556 2805
+-127.244 34.556 2805
+-127.118 34.556 2805
+-126.992 34.556 2826
+-126.866 34.556 2907
+-126.74 34.556 2908
+-126.614 34.556 2908
+-126.488 34.556 2908
+-126.362 34.556 2908
+-126.236 34.556 2909
+-126.11 34.556 2909
+-125.984 34.556 2959
+-125.858 34.556 3069
+-125.732 34.556 3070
+-125.606 34.556 3236
+-125.48 34.556 3230
+-125.354 34.556 3228
+-125.228 34.556 3223
+-125.102 34.556 3214
+-124.976 34.556 3285
+-124.85 34.556 3335
+-124.724 34.556 3354
+-124.598 34.556 3359
+-124.472 34.556 3455
+-124.346 34.556 3473
+-124.22 34.556 3546
+-124.094 34.556 3576
+-123.968 34.556 3612
+-123.842 34.556 3654
+-123.716 34.556 3698
+-123.59 34.556 3794
+-123.464 34.556 3862
+-123.338 34.556 3917
+-123.212 34.556 3954
+-123.086 34.556 4083
+-122.96 34.556 4101
+-122.834 34.556 4206
+-122.708 34.556 4245
+-122.582 34.556 4294
+-122.456 34.556 4362
+-122.33 34.556 4449
+-122.204 34.556 4510
+-122.078 34.556 4555
+-121.952 34.556 4615
+-121.826 34.556 4560
+-121.7 34.556 4744
+-121.574 34.556 4945
+-121.448 34.556 5071
+-121.322 34.556 5217
+-121.196 34.556 5320
+-121.07 34.556 5506
+-120.944 34.556 5663
+-120.818 34.556 5780
+-120.692 34.556 5832
+-120.566 34.556 6019
+-120.44 34.556 6182
+-120.314 34.556 6296
+-120.188 34.556 6379
+-120.062 34.556 6548
+-119.936 34.556 6714
+-119.81 34.556 6845
+-119.684 34.556 6913
+-119.558 34.556 7016
+-119.432 34.556 7245
+-119.306 34.556 7380
+-119.18 34.556 7497
+-119.054 34.556 7545
+-118.928 34.556 7757
+-118.802 34.556 7873
+-118.676 34.556 8012
+-118.55 34.556 8126
+-118.424 34.556 8294
+-118.298 34.556 8386
+-118.172 34.556 8512
+-118.046 34.556 8685
+-117.92 34.556 8791
+-117.794 34.556 8845
+-117.668 34.556 8951
+-117.542 34.556 9017
+-117.416 34.556 9111
+-117.29 34.556 9090
+-117.164 34.556 9074
+-117.038 34.556 9047
+-116.912 34.556 8910
+-116.786 34.556 8788
+-116.66 34.556 8664
+-116.534 34.556 8536
+-116.408 34.556 8454
+-116.282 34.556 8317
+-116.156 34.556 8156
+-116.03 34.556 8077
+-115.904 34.556 7962
+-115.778 34.556 7781
+-115.652 34.556 7618
+-115.526 34.556 7572
+-115.4 34.556 7444
+-115.274 34.556 7204
+-115.148 34.556 7116
+-115.022 34.556 7032
+-114.896 34.556 6828
+-114.77 34.556 6673
+-114.644 34.556 6589
+-114.518 34.556 6479
+-114.392 34.556 6356
+-114.266 34.556 6200
+-114.14 34.556 6024
+-114.014 34.556 5905
+-113.888 34.556 5785
+-113.762 34.556 5690
+-113.636 34.556 5494
+-113.51 34.556 5318
+-113.384 34.556 5245
+-113.258 34.556 5108
+-113.132 34.556 5164
+-113.006 34.556 5246
+-112.88 34.556 5248
+-112.754 34.556 5341
+-112.628 34.556 5495
+-112.502 34.556 5567
+-112.376 34.556 5647
+-112.25 34.556 5645
+-112.124 34.556 5784
+-111.998 34.556 5870
+-111.872 34.556 5900
+-111.746 34.556 5935
+-111.62 34.556 5976
+-111.494 34.556 6040
+-111.368 34.556 6085
+-111.242 34.556 6156
+-111.116 34.556 6206
+-110.99 34.556 6214
+-110.864 34.556 6252
+-110.738 34.556 6271
+-110.612 34.556 6276
+-110.486 34.556 6274
+-110.36 34.556 6301
+-110.234 34.556 6298
+-110.108 34.556 6289
+-109.982 34.556 6267
+-109.856 34.556 6231
+-109.73 34.556 6210
+-109.604 34.556 6175
+-109.478 34.556 6126
+-109.352 34.556 6090
+-109.226 34.556 6063
+-109.1 34.556 6035
+-108.974 34.556 5978
+-108.848 34.556 5911
+-108.722 34.556 5865
+-108.596 34.556 5788
+-108.47 34.556 5691
+-108.344 34.556 5630
+-108.218 34.556 5574
+-108.092 34.556 5478
+-107.966 34.556 5352
+-107.84 34.556 5255
+-107.714 34.556 5198
+-107.588 34.556 5140
+-107.462 34.556 5022
+-107.336 34.556 4903
+-107.21 34.556 4822
+-107.084 34.556 4747
+-106.958 34.556 4681
+-106.832 34.556 4556
+-106.706 34.556 4445
+-106.58 34.556 4335
+-106.454 34.556 4227
+-106.328 34.556 4072
+-106.202 34.556 3954
+-106.076 34.556 3964
+-105.95 34.556 3976
+-105.824 34.556 3990
+-105.698 34.556 4013
+-105.572 34.556 4041
+-105.446 34.556 4073
+-105.32 34.556 4080
+-105.194 34.556 4081
+-105.068 34.556 4096
+-104.942 34.556 4108
+-104.816 34.556 4140
+-104.69 34.556 4152
+-104.564 34.556 4110
+-104.438 34.556 4116
+-104.312 34.556 4011
+-104.186 34.556 4031
+-104.06 34.556 4042
+-103.934 34.556 3978
+-103.808 34.556 3911
+-103.682 34.556 3869
+-103.556 34.556 3813
+-103.43 34.556 3682
+-103.304 34.556 3720
+-103.178 34.556 3678
+-103.052 34.556 3676
+-102.926 34.556 3651
+-102.8 34.556 3645
+-102.674 34.556 3578
+-102.548 34.556 3576
+-102.422 34.556 3574
+-102.296 34.556 3573
+-102.17 34.556 3572
+-102.044 34.556 3571
+-101.918 34.556 3570
+-101.792 34.556 3620
+-101.666 34.556 3614
+-101.54 34.556 3505
+-101.414 34.556 3461
+-101.288 34.556 3492
+-101.162 34.556 3485
+-101.036 34.556 3403
+-100.91 34.556 3314
+-100.784 34.556 3300
+-100.658 34.556 3242
+-100.532 34.556 3224
+-100.406 34.556 3177
+-100.28 34.556 3134
+-100.154 34.556 3125
+-100.028 34.556 3077
+-99.902 34.556 3073
+-99.776 34.556 3088
+-99.65 34.556 3087
+-99.524 34.556 3197
+-99.398 34.556 3196
+-99.272 34.556 3195
+-99.146 34.556 3265
+-99.02 34.556 3263
+-98.894 34.556 3261
+-98.768 34.556 3268
+-98.642 34.556 3273
+-98.516 34.556 3273
+-98.39 34.556 3274
+-98.264 34.556 3275
+-98.138 34.556 3295
+-98.012 34.556 3274
+-97.886 34.556 3276
+-97.76 34.556 3279
+-97.634 34.556 3298
+-97.508 34.556 3302
+-97.382 34.556 3306
+-97.256 34.556 3310
+-97.13 34.556 3314
+-97.004 34.556 3319
+-96.878 34.556 3331
+-96.752 34.556 3436
+-96.626 34.556 3397
+-96.5 34.556 3405
+-96.374 34.556 3366
+-96.248 34.556 3379
+-96.122 34.556 3477
+-95.996 34.556 3509
+-95.87 34.556 3496
+-95.744 34.556 3518
+-95.618 34.556 3512
+-95.492 34.556 3506
+-95.366 34.556 3520
+-95.24 34.556 3517
+-95.114 34.556 3510
+-94.988 34.556 3521
+-94.862 34.556 3536
+-94.736 34.556 3505
+-94.61 34.556 3514
+-94.484 34.556 3485
+-94.358 34.556 3471
+-94.232 34.556 3478
+-94.106 34.556 3525
+-93.98 34.556 3602
+-93.854 34.556 3722
+-93.728 34.556 3859
+-93.602 34.556 3943
+-93.476 34.556 3969
+-93.35 34.556 3971
+-93.224 34.556 4040
+-93.098 34.556 4113
+-92.972 34.556 4171
+-92.846 34.556 4206
+-92.72 34.556 4262
+-92.594 34.556 4273
+-92.468 34.556 4406
+-92.342 34.556 4514
+-92.216 34.556 4463
+-92.09 34.556 4657
+-91.964 34.556 4820
+-91.838 34.556 4909
+-91.712 34.556 5004
+-91.586 34.556 5053
+-91.46 34.556 5203
+-91.334 34.556 5324
+-91.208 34.556 5375
+-91.082 34.556 5550
+-90.956 34.556 5610
+-90.83 34.556 5700
+-90.704 34.556 5696
+-90.578 34.556 5787
+-90.452 34.556 5853
+-90.326 34.556 5937
+-90.2 34.556 5986
+-90.074 34.556 6035
+-89.948 34.556 6097
+-89.822 34.556 6144
+-89.696 34.556 6148
+-89.57 34.556 6216
+-89.444 34.556 6256
+-89.318 34.556 6264
+-89.192 34.556 6278
+-89.066 34.556 6302
+-88.94 34.556 6308
+-88.814 34.556 6290
+-88.688 34.556 6307
+-88.562 34.556 6280
+-88.436 34.556 6292
+-88.31 34.556 6220
+-88.184 34.556 6181
+-88.058 34.556 6157
+-87.932 34.556 6140
+-87.806 34.556 6115
+-87.68 34.556 6052
+-87.554 34.556 6004
+-87.428 34.556 5948
+-87.302 34.556 5881
+-87.176 34.556 5809
+-87.05 34.556 5771
+-86.924 34.556 5722
+-86.798 34.556 5670
+-86.672 34.556 5636
+-86.546 34.556 5561
+-86.42 34.556 5465
+-86.294 34.556 5369
+-86.168 34.556 5300
+-86.042 34.556 5254
+-85.916 34.556 5110
+-85.79 34.556 4909
+-85.664 34.556 4788
+-85.538 34.556 4698
+-85.412 34.556 4559
+-85.286 34.556 4510
+-85.16 34.556 4431
+-85.034 34.556 4318
+-84.908 34.556 4260
+-84.782 34.556 4185
+-84.656 34.556 4001
+-84.53 34.556 3851
+-84.404 34.556 3894
+-84.278 34.556 3864
+-84.152 34.556 3836
+-84.026 34.556 3857
+-83.9 34.556 3845
+-83.774 34.556 3828
+-83.648 34.556 3833
+-83.522 34.556 3803
+-83.396 34.556 3762
+-83.27 34.556 3737
+-83.144 34.556 3693
+-83.018 34.556 3587
+-82.892 34.556 3545
+-82.766 34.556 3516
+-82.64 34.556 3431
+-82.514 34.556 3394
+-82.388 34.556 3369
+-82.262 34.556 3333
+-82.136 34.556 3301
+-82.01 34.556 3160
+-81.884 34.556 3143
+-81.758 34.556 3087
+-81.632 34.556 3029
+-81.506 34.556 2999
+-81.38 34.556 2978
+-81.254 34.556 2915
+-81.128 34.556 2886
+-81.002 34.556 2833
+-80.876 34.556 2788
+-80.75 34.556 2694
+-80.624 34.556 2648
+-80.498 34.556 2565
+-80.372 34.556 2492
+-80.246 34.556 2423
+-80.12 34.556 2322
+-79.994 34.556 2230
+-79.868 34.556 2094
+-79.742 34.556 1950
+-79.616 34.556 1806
+-79.49 34.556 1694
+-79.364 34.556 1608
+-79.238 34.556 1579
+-79.112 34.556 1603
+-78.986 34.556 1676
+-78.86 34.556 1781
+-78.734 34.556 1896
+-78.608 34.556 2024
+-78.482 34.556 2135
+-78.356 34.556 2232
+-78.23 34.556 2345
+-78.104 34.556 2421
+-77.978 34.556 2487
+-77.852 34.556 2543
+-77.726 34.556 2592
+-77.6 34.556 2635
+-77.474 34.556 2648
+-77.348 34.556 2689
+-77.222 34.556 2718
+-77.096 34.556 2743
+-76.97 34.556 2920
+-76.844 34.556 2958
+-76.718 34.556 2981
+-76.592 34.556 3002
+-76.466 34.556 3022
+-76.34 34.556 3043
+-76.214 34.556 3066
+-76.088 34.556 3082
+-75.962 34.556 3093
+-75.836 34.556 3107
+-75.71 34.556 3087
+-75.584 34.556 3099
+-75.458 34.556 3111
+-75.332 34.556 3164
+-75.206 34.556 3172
+-75.08 34.556 3188
+-74.954 34.556 3198
+-74.828 34.556 3193
+-74.702 34.556 3216
+-74.576 34.556 3259
+-74.45 34.556 3274
+-74.324 34.556 3281
+-74.198 34.556 3288
+-74.072 34.556 3332
+-73.946 34.556 3340
+-73.82 34.556 3298
+-73.694 34.556 3319
+-73.568 34.556 3322
+-73.442 34.556 3256
+-73.316 34.556 3188
+-73.19 34.556 3209
+-73.064 34.556 3214
+-72.938 34.556 3243
+-72.812 34.556 3225
+-72.686 34.556 3236
+-72.56 34.556 3241
+-72.434 34.556 3228
+-72.308 34.556 3233
+-72.182 34.556 3237
+-72.056 34.556 3219
+-71.93 34.556 3206
+-71.804 34.556 3236
+-71.678 34.556 3233
+-71.552 34.556 3237
+-71.426 34.556 3241
+-71.3 34.556 3170
+-71.174 34.556 3207
+-71.048 34.556 3205
+-70.922 34.556 3208
+-70.796 34.556 3211
+-70.67 34.556 3428
+-70.544 34.556 3357
+-70.418 34.556 3369
+-70.292 34.556 3371
+-70.166 34.556 3272
+-70.04 34.556 3261
+-69.914 34.556 3263
+-69.788 34.556 3264
+-69.662 34.556 3244
+-69.536 34.556 3245
+-69.41 34.556 3246
+-69.284 34.556 3248
+-69.158 34.556 3249
+-69.032 34.556 3270
+-68.906 34.556 3272
+-68.78 34.556 3257
+-68.654 34.556 3259
+-68.528 34.556 3260
+-68.402 34.556 3202
+-68.276 34.556 3384
+-68.15 34.556 3345
+-68.024 34.556 3346
+-67.898 34.556 3315
+-67.772 34.556 3316
+-67.646 34.556 3317
+-67.52 34.556 3446
+-67.394 34.556 3447
+-67.268 34.556 3448
+-67.142 34.556 3448
+-67.016 34.556 3449
+-66.89 34.556 3563
+-66.764 34.556 3564
+-66.638 34.556 3478
+-66.512 34.556 3479
+-66.386 34.556 3480
+-66.26 34.556 3481
+-66.134 34.556 3490
+-66.008 34.556 3448
+-65.882 34.556 3441
+-65.756 34.556 3389
+-65.63 34.556 3390
+-65.504 34.556 3352
+-65.378 34.556 3398
+-65.252 34.556 3399
+-65.126 34.556 3400
+-128 34.504 2809
+-127.874 34.504 2809
+-127.748 34.504 2808
+-127.622 34.504 2808
+-127.496 34.504 2807
+-127.37 34.504 2807
+-127.244 34.504 2807
+-127.118 34.504 2807
+-126.992 34.504 2807
+-126.866 34.504 2829
+-126.74 34.504 2910
+-126.614 34.504 2910
+-126.488 34.504 2911
+-126.362 34.504 2912
+-126.236 34.504 2914
+-126.11 34.504 2915
+-125.984 34.504 2917
+-125.858 34.504 3018
+-125.732 34.504 3173
+-125.606 34.504 3172
+-125.48 34.504 3260
+-125.354 34.504 3256
+-125.228 34.504 3254
+-125.102 34.504 3318
+-124.976 34.504 3375
+-124.85 34.504 3377
+-124.724 34.504 3382
+-124.598 34.504 3495
+-124.472 34.504 3509
+-124.346 34.504 3528
+-124.22 34.504 3552
+-124.094 34.504 3636
+-123.968 34.504 3669
+-123.842 34.504 3704
+-123.716 34.504 3741
+-123.59 34.504 3842
+-123.464 34.504 3880
+-123.338 34.504 3936
+-123.212 34.504 4040
+-123.086 34.504 4101
+-122.96 34.504 4150
+-122.834 34.504 4261
+-122.708 34.504 4306
+-122.582 34.504 4351
+-122.456 34.504 4436
+-122.33 34.504 4500
+-122.204 34.504 4548
+-122.078 34.504 4602
+-121.952 34.504 4658
+-121.826 34.504 4697
+-121.7 34.504 4793
+-121.574 34.504 4915
+-121.448 34.504 5046
+-121.322 34.504 5209
+-121.196 34.504 5406
+-121.07 34.504 5486
+-120.944 34.504 5582
+-120.818 34.504 5776
+-120.692 34.504 5891
+-120.566 34.504 6042
+-120.44 34.504 6119
+-120.314 34.504 6316
+-120.188 34.504 6397
+-120.062 34.504 6513
+-119.936 34.504 6704
+-119.81 34.504 6824
+-119.684 34.504 6904
+-119.558 34.504 7087
+-119.432 34.504 7268
+-119.306 34.504 7345
+-119.18 34.504 7493
+-119.054 34.504 7659
+-118.928 34.504 7755
+-118.802 34.504 7848
+-118.676 34.504 8079
+-118.55 34.504 8109
+-118.424 34.504 8268
+-118.298 34.504 8409
+-118.172 34.504 8590
+-118.046 34.504 8684
+-117.92 34.504 8764
+-117.794 34.504 8921
+-117.668 34.504 8980
+-117.542 34.504 9085
+-117.416 34.504 9143
+-117.29 34.504 9158
+-117.164 34.504 9083
+-117.038 34.504 9089
+-116.912 34.504 8951
+-116.786 34.504 8831
+-116.66 34.504 8684
+-116.534 34.504 8614
+-116.408 34.504 8506
+-116.282 34.504 8331
+-116.156 34.504 8232
+-116.03 34.504 8054
+-115.904 34.504 7943
+-115.778 34.504 7790
+-115.652 34.504 7703
+-115.526 34.504 7541
+-115.4 34.504 7355
+-115.274 34.504 7274
+-115.148 34.504 7124
+-115.022 34.504 7004
+-114.896 34.504 6843
+-114.77 34.504 6705
+-114.644 34.504 6585
+-114.518 34.504 6512
+-114.392 34.504 6351
+-114.266 34.504 6157
+-114.14 34.504 6056
+-114.014 34.504 5900
+-113.888 34.504 5795
+-113.762 34.504 5655
+-113.636 34.504 5503
+-113.51 34.504 5359
+-113.384 34.504 5262
+-113.258 34.504 5200
+-113.132 34.504 5224
+-113.006 34.504 5295
+-112.88 34.504 5366
+-112.754 34.504 5415
+-112.628 34.504 5554
+-112.502 34.504 5640
+-112.376 34.504 5661
+-112.25 34.504 5745
+-112.124 34.504 5814
+-111.998 34.504 5891
+-111.872 34.504 5973
+-111.746 34.504 5991
+-111.62 34.504 6039
+-111.494 34.504 6111
+-111.368 34.504 6165
+-111.242 34.504 6224
+-111.116 34.504 6260
+-110.99 34.504 6303
+-110.864 34.504 6279
+-110.738 34.504 6324
+-110.612 34.504 6314
+-110.486 34.504 6338
+-110.36 34.504 6347
+-110.234 34.504 6339
+-110.108 34.504 6337
+-109.982 34.504 6288
+-109.856 34.504 6281
+-109.73 34.504 6268
+-109.604 34.504 6220
+-109.478 34.504 6189
+-109.352 34.504 6124
+-109.226 34.504 6092
+-109.1 34.504 6064
+-108.974 34.504 5998
+-108.848 34.504 5921
+-108.722 34.504 5900
+-108.596 34.504 5823
+-108.47 34.504 5737
+-108.344 34.504 5657
+-108.218 34.504 5627
+-108.092 34.504 5529
+-107.966 34.504 5404
+-107.84 34.504 5325
+-107.714 34.504 5254
+-107.588 34.504 5191
+-107.462 34.504 5080
+-107.336 34.504 4900
+-107.21 34.504 4790
+-107.084 34.504 4809
+-106.958 34.504 4737
+-106.832 34.504 4616
+-106.706 34.504 4512
+-106.58 34.504 4417
+-106.454 34.504 4310
+-106.328 34.504 4194
+-106.202 34.504 4122
+-106.076 34.504 4100
+-105.95 34.504 4083
+-105.824 34.504 4063
+-105.698 34.504 4074
+-105.572 34.504 4095
+-105.446 34.504 4101
+-105.32 34.504 4103
+-105.194 34.504 4116
+-105.068 34.504 4128
+-104.942 34.504 4147
+-104.816 34.504 4158
+-104.69 34.504 4163
+-104.564 34.504 4164
+-104.438 34.504 4071
+-104.312 34.504 4039
+-104.186 34.504 4050
+-104.06 34.504 4050
+-103.934 34.504 3949
+-103.808 34.504 3944
+-103.682 34.504 3877
+-103.556 34.504 3873
+-103.43 34.504 3728
+-103.304 34.504 3724
+-103.178 34.504 3730
+-103.052 34.504 3705
+-102.926 34.504 3652
+-102.8 34.504 3635
+-102.674 34.504 3633
+-102.548 34.504 3632
+-102.422 34.504 3631
+-102.296 34.504 3630
+-102.17 34.504 3629
+-102.044 34.504 3591
+-101.918 34.504 3622
+-101.792 34.504 3616
+-101.666 34.504 3617
+-101.54 34.504 3473
+-101.414 34.504 3505
+-101.288 34.504 3498
+-101.162 34.504 3492
+-101.036 34.504 3411
+-100.91 34.504 3400
+-100.784 34.504 3311
+-100.658 34.504 3252
+-100.532 34.504 3236
+-100.406 34.504 3188
+-100.28 34.504 3158
+-100.154 34.504 3085
+-100.028 34.504 3082
+-99.902 34.504 3078
+-99.776 34.504 3067
+-99.65 34.504 3090
+-99.524 34.504 3155
+-99.398 34.504 3200
+-99.272 34.504 3270
+-99.146 34.504 3268
+-99.02 34.504 3266
+-98.894 34.504 3273
+-98.768 34.504 3277
+-98.642 34.504 3277
+-98.516 34.504 3277
+-98.39 34.504 3278
+-98.264 34.504 3298
+-98.138 34.504 3276
+-98.012 34.504 3277
+-97.886 34.504 3279
+-97.76 34.504 3298
+-97.634 34.504 3300
+-97.508 34.504 3303
+-97.382 34.504 3306
+-97.256 34.504 3310
+-97.13 34.504 3313
+-97.004 34.504 3270
+-96.878 34.504 3374
+-96.752 34.504 3338
+-96.626 34.504 3341
+-96.5 34.504 3349
+-96.374 34.504 3363
+-96.248 34.504 3408
+-96.122 34.504 3442
+-95.996 34.504 3478
+-95.87 34.504 3498
+-95.744 34.504 3489
+-95.618 34.504 3480
+-95.492 34.504 3492
+-95.366 34.504 3487
+-95.24 34.504 3478
+-95.114 34.504 3492
+-94.988 34.504 3475
+-94.862 34.504 3479
+-94.736 34.504 3481
+-94.61 34.504 3472
+-94.484 34.504 3455
+-94.358 34.504 3445
+-94.232 34.504 3392
+-94.106 34.504 3363
+-93.98 34.504 3453
+-93.854 34.504 3641
+-93.728 34.504 3782
+-93.602 34.504 3900
+-93.476 34.504 3949
+-93.35 34.504 3987
+-93.224 34.504 4027
+-93.098 34.504 4040
+-92.972 34.504 4127
+-92.846 34.504 4149
+-92.72 34.504 4228
+-92.594 34.504 4283
+-92.468 34.504 4387
+-92.342 34.504 4469
+-92.216 34.504 4475
+-92.09 34.504 4598
+-91.964 34.504 4777
+-91.838 34.504 4912
+-91.712 34.504 4977
+-91.586 34.504 5044
+-91.46 34.504 5153
+-91.334 34.504 5258
+-91.208 34.504 5330
+-91.082 34.504 5476
+-90.956 34.504 5517
+-90.83 34.504 5583
+-90.704 34.504 5637
+-90.578 34.504 5700
+-90.452 34.504 5800
+-90.326 34.504 5877
+-90.2 34.504 5888
+-90.074 34.504 5941
+-89.948 34.504 5998
+-89.822 34.504 6072
+-89.696 34.504 6113
+-89.57 34.504 6148
+-89.444 34.504 6199
+-89.318 34.504 6224
+-89.192 34.504 6233
+-89.066 34.504 6246
+-88.94 34.504 6239
+-88.814 34.504 6217
+-88.688 34.504 6228
+-88.562 34.504 6240
+-88.436 34.504 6219
+-88.31 34.504 6207
+-88.184 34.504 6166
+-88.058 34.504 6122
+-87.932 34.504 6090
+-87.806 34.504 6047
+-87.68 34.504 6009
+-87.554 34.504 5957
+-87.428 34.504 5923
+-87.302 34.504 5843
+-87.176 34.504 5788
+-87.05 34.504 5680
+-86.924 34.504 5593
+-86.798 34.504 5548
+-86.672 34.504 5592
+-86.546 34.504 5495
+-86.42 34.504 5375
+-86.294 34.504 5309
+-86.168 34.504 5280
+-86.042 34.504 5193
+-85.916 34.504 5008
+-85.79 34.504 4831
+-85.664 34.504 4727
+-85.538 34.504 4629
+-85.412 34.504 4523
+-85.286 34.504 4458
+-85.16 34.504 4355
+-85.034 34.504 4268
+-84.908 34.504 4235
+-84.782 34.504 4166
+-84.656 34.504 4033
+-84.53 34.504 3916
+-84.404 34.504 3813
+-84.278 34.504 3670
+-84.152 34.504 3707
+-84.026 34.504 3767
+-83.9 34.504 3787
+-83.774 34.504 3799
+-83.648 34.504 3760
+-83.522 34.504 3741
+-83.396 34.504 3715
+-83.27 34.504 3683
+-83.144 34.504 3649
+-83.018 34.504 3611
+-82.892 34.504 3504
+-82.766 34.504 3435
+-82.64 34.504 3417
+-82.514 34.504 3326
+-82.388 34.504 3289
+-82.262 34.504 3268
+-82.136 34.504 3211
+-82.01 34.504 3208
+-81.884 34.504 3117
+-81.758 34.504 3074
+-81.632 34.504 3034
+-81.506 34.504 2993
+-81.38 34.504 2992
+-81.254 34.504 2932
+-81.128 34.504 2904
+-81.002 34.504 2861
+-80.876 34.504 2833
+-80.75 34.504 2785
+-80.624 34.504 2706
+-80.498 34.504 2625
+-80.372 34.504 2555
+-80.246 34.504 2508
+-80.12 34.504 2410
+-79.994 34.504 2299
+-79.868 34.504 2176
+-79.742 34.504 2062
+-79.616 34.504 1934
+-79.49 34.504 1831
+-79.364 34.504 1753
+-79.238 34.504 1720
+-79.112 34.504 1741
+-78.986 34.504 1803
+-78.86 34.504 1889
+-78.734 34.504 2000
+-78.608 34.504 2104
+-78.482 34.504 2206
+-78.356 34.504 2311
+-78.23 34.504 2390
+-78.104 34.504 2458
+-77.978 34.504 2518
+-77.852 34.504 2569
+-77.726 34.504 2614
+-77.6 34.504 2631
+-77.474 34.504 2674
+-77.348 34.504 2704
+-77.222 34.504 2731
+-77.096 34.504 2902
+-76.97 34.504 2940
+-76.844 34.504 2965
+-76.718 34.504 2987
+-76.592 34.504 3008
+-76.466 34.504 3029
+-76.34 34.504 3054
+-76.214 34.504 3071
+-76.088 34.504 3082
+-75.962 34.504 3097
+-75.836 34.504 3078
+-75.71 34.504 3091
+-75.584 34.504 3103
+-75.458 34.504 3156
+-75.332 34.504 3164
+-75.206 34.504 3181
+-75.08 34.504 3191
+-74.954 34.504 3187
+-74.828 34.504 3210
+-74.702 34.504 3253
+-74.576 34.504 3268
+-74.45 34.504 3276
+-74.324 34.504 3283
+-74.198 34.504 3326
+-74.072 34.504 3335
+-73.946 34.504 3294
+-73.82 34.504 3315
+-73.694 34.504 3318
+-73.568 34.504 3256
+-73.442 34.504 3186
+-73.316 34.504 3206
+-73.19 34.504 3211
+-73.064 34.504 3240
+-72.938 34.504 3223
+-72.812 34.504 3234
+-72.686 34.504 3239
+-72.56 34.504 3227
+-72.434 34.504 3231
+-72.308 34.504 3236
+-72.182 34.504 3218
+-72.056 34.504 3205
+-71.93 34.504 3235
+-71.804 34.504 3232
+-71.678 34.504 3236
+-71.552 34.504 3240
+-71.426 34.504 3169
+-71.3 34.504 3206
+-71.174 34.504 3204
+-71.048 34.504 3207
+-70.922 34.504 3210
+-70.796 34.504 3427
+-70.67 34.504 3359
+-70.544 34.504 3367
+-70.418 34.504 3370
+-70.292 34.504 3271
+-70.166 34.504 3260
+-70.04 34.504 3261
+-69.914 34.504 3263
+-69.788 34.504 3243
+-69.662 34.504 3244
+-69.536 34.504 3246
+-69.41 34.504 3247
+-69.284 34.504 3248
+-69.158 34.504 3269
+-69.032 34.504 3271
+-68.906 34.504 3256
+-68.78 34.504 3258
+-68.654 34.504 3259
+-68.528 34.504 3201
+-68.402 34.504 3382
+-68.276 34.504 3344
+-68.15 34.504 3345
+-68.024 34.504 3314
+-67.898 34.504 3315
+-67.772 34.504 3316
+-67.646 34.504 3445
+-67.52 34.504 3446
+-67.394 34.504 3446
+-67.268 34.504 3447
+-67.142 34.504 3448
+-67.016 34.504 3561
+-66.89 34.504 3562
+-66.764 34.504 3477
+-66.638 34.504 3478
+-66.512 34.504 3479
+-66.386 34.504 3480
+-66.26 34.504 3489
+-66.134 34.504 3447
+-66.008 34.504 3440
+-65.882 34.504 3388
+-65.756 34.504 3389
+-65.63 34.504 3351
+-65.504 34.504 3397
+-65.378 34.504 3398
+-65.252 34.504 3399
+-65.126 34.504 3400
+-128 34.452 2810
+-127.874 34.452 2809
+-127.748 34.452 2809
+-127.622 34.452 2808
+-127.496 34.452 2808
+-127.37 34.452 2808
+-127.244 34.452 2808
+-127.118 34.452 2808
+-126.992 34.452 2809
+-126.866 34.452 2810
+-126.74 34.452 2833
+-126.614 34.452 2912
+-126.488 34.452 2913
+-126.362 34.452 2915
+-126.236 34.452 2917
+-126.11 34.452 2919
+-125.984 34.452 3022
+-125.858 34.452 3113
+-125.732 34.452 3118
+-125.606 34.452 3186
+-125.48 34.452 3188
+-125.354 34.452 3282
+-125.228 34.452 3347
+-125.102 34.452 3413
+-124.976 34.452 3415
+-124.85 34.452 3419
+-124.724 34.452 3426
+-124.598 34.452 3501
+-124.472 34.452 3517
+-124.346 34.452 3575
+-124.22 34.452 3598
+-124.094 34.452 3626
+-123.968 34.452 3714
+-123.842 34.452 3745
+-123.716 34.452 3789
+-123.59 34.452 3819
+-123.464 34.452 3914
+-123.338 34.452 4012
+-123.212 34.452 4071
+-123.086 34.452 4128
+-122.96 34.452 4255
+-122.834 34.452 4275
+-122.708 34.452 4326
+-122.582 34.452 4405
+-122.456 34.452 4454
+-122.33 34.452 4530
+-122.204 34.452 4576
+-122.078 34.452 4628
+-121.952 34.452 4674
+-121.826 34.452 4754
+-121.7 34.452 4764
+-121.574 34.452 4929
+-121.448 34.452 4984
+-121.322 34.452 5166
+-121.196 34.452 5414
+-121.07 34.452 5571
+-120.944 34.452 5592
+-120.818 34.452 5692
+-120.692 34.452 5896
+-120.566 34.452 5950
+-120.44 34.452 6096
+-120.314 34.452 6234
+-120.188 34.452 6422
+-120.062 34.452 6587
+-119.936 34.452 6730
+-119.81 34.452 6852
+-119.684 34.452 6974
+-119.558 34.452 7106
+-119.432 34.452 7264
+-119.306 34.452 7387
+-119.18 34.452 7513
+-119.054 34.452 7604
+-118.928 34.452 7802
+-118.802 34.452 7912
+-118.676 34.452 8083
+-118.55 34.452 8127
+-118.424 34.452 8308
+-118.298 34.452 8454
+-118.172 34.452 8577
+-118.046 34.452 8659
+-117.92 34.452 8815
+-117.794 34.452 8888
+-117.668 34.452 9039
+-117.542 34.452 9137
+-117.416 34.452 9218
+-117.29 34.452 9211
+-117.164 34.452 9191
+-117.038 34.452 9106
+-116.912 34.452 8953
+-116.786 34.452 8859
+-116.66 34.452 8705
+-116.534 34.452 8642
+-116.408 34.452 8544
+-116.282 34.452 8350
+-116.156 34.452 8177
+-116.03 34.452 8100
+-115.904 34.452 7968
+-115.778 34.452 7851
+-115.652 34.452 7652
+-115.526 34.452 7535
+-115.4 34.452 7404
+-115.274 34.452 7222
+-115.148 34.452 7140
+-115.022 34.452 7025
+-114.896 34.452 6859
+-114.77 34.452 6700
+-114.644 34.452 6587
+-114.518 34.452 6413
+-114.392 34.452 6398
+-114.266 34.452 6228
+-114.14 34.452 6065
+-114.014 34.452 5910
+-113.888 34.452 5772
+-113.762 34.452 5629
+-113.636 34.452 5543
+-113.51 34.452 5393
+-113.384 34.452 5221
+-113.258 34.452 5142
+-113.132 34.452 5267
+-113.006 34.452 5312
+-112.88 34.452 5412
+-112.754 34.452 5485
+-112.628 34.452 5550
+-112.502 34.452 5647
+-112.376 34.452 5744
+-112.25 34.452 5823
+-112.124 34.452 5860
+-111.998 34.452 5919
+-111.872 34.452 5984
+-111.746 34.452 6044
+-111.62 34.452 6100
+-111.494 34.452 6140
+-111.368 34.452 6216
+-111.242 34.452 6256
+-111.116 34.452 6295
+-110.99 34.452 6330
+-110.864 34.452 6362
+-110.738 34.452 6398
+-110.612 34.452 6388
+-110.486 34.452 6408
+-110.36 34.452 6396
+-110.234 34.452 6392
+-110.108 34.452 6373
+-109.982 34.452 6370
+-109.856 34.452 6334
+-109.73 34.452 6294
+-109.604 34.452 6287
+-109.478 34.452 6230
+-109.352 34.452 6175
+-109.226 34.452 6136
+-109.1 34.452 6099
+-108.974 34.452 6015
+-108.848 34.452 5939
+-108.722 34.452 5902
+-108.596 34.452 5853
+-108.47 34.452 5738
+-108.344 34.452 5681
+-108.218 34.452 5642
+-108.092 34.452 5549
+-107.966 34.452 5425
+-107.84 34.452 5345
+-107.714 34.452 5217
+-107.588 34.452 5218
+-107.462 34.452 5129
+-107.336 34.452 5000
+-107.21 34.452 4895
+-107.084 34.452 4847
+-106.958 34.452 4765
+-106.832 34.452 4649
+-106.706 34.452 4555
+-106.58 34.452 4436
+-106.454 34.452 4342
+-106.328 34.452 4273
+-106.202 34.452 4230
+-106.076 34.452 4195
+-105.95 34.452 4181
+-105.824 34.452 4165
+-105.698 34.452 4132
+-105.572 34.452 4142
+-105.446 34.452 4124
+-105.32 34.452 4141
+-105.194 34.452 4150
+-105.068 34.452 4158
+-104.942 34.452 4168
+-104.816 34.452 4172
+-104.69 34.452 4172
+-104.564 34.452 4097
+-104.438 34.452 4096
+-104.312 34.452 4096
+-104.186 34.452 3999
+-104.06 34.452 4010
+-103.934 34.452 3949
+-103.808 34.452 3938
+-103.682 34.452 3933
+-103.556 34.452 3929
+-103.43 34.452 3732
+-103.304 34.452 3736
+-103.178 34.452 3711
+-103.052 34.452 3646
+-102.926 34.452 3639
+-102.8 34.452 3637
+-102.674 34.452 3636
+-102.548 34.452 3634
+-102.422 34.452 3633
+-102.296 34.452 3632
+-102.17 34.452 3594
+-102.044 34.452 3624
+-101.918 34.452 3618
+-101.792 34.452 3619
+-101.666 34.452 3582
+-101.54 34.452 3478
+-101.414 34.452 3510
+-101.288 34.452 3504
+-101.162 34.452 3498
+-101.036 34.452 3419
+-100.91 34.452 3409
+-100.784 34.452 3398
+-100.658 34.452 3263
+-100.532 34.452 3248
+-100.406 34.452 3198
+-100.28 34.452 3167
+-100.154 34.452 3092
+-100.028 34.452 3076
+-99.902 34.452 3083
+-99.776 34.452 3070
+-99.65 34.452 3093
+-99.524 34.452 3158
+-99.398 34.452 3275
+-99.272 34.452 3273
+-99.146 34.452 3271
+-99.02 34.452 3278
+-98.894 34.452 3281
+-98.768 34.452 3281
+-98.642 34.452 3281
+-98.516 34.452 3281
+-98.39 34.452 3301
+-98.264 34.452 3278
+-98.138 34.452 3279
+-98.012 34.452 3280
+-97.886 34.452 3298
+-97.76 34.452 3300
+-97.634 34.452 3302
+-97.508 34.452 3304
+-97.382 34.452 3306
+-97.256 34.452 3308
+-97.13 34.452 3262
+-97.004 34.452 3364
+-96.878 34.452 3326
+-96.752 34.452 3328
+-96.626 34.452 3335
+-96.5 34.452 3306
+-96.374 34.452 3393
+-96.248 34.452 3426
+-96.122 34.452 3463
+-95.996 34.452 3480
+-95.87 34.452 3469
+-95.744 34.452 3458
+-95.618 34.452 3466
+-95.492 34.452 3458
+-95.366 34.452 3444
+-95.24 34.452 3456
+-95.114 34.452 3420
+-94.988 34.452 3442
+-94.862 34.452 3428
+-94.736 34.452 3431
+-94.61 34.452 3431
+-94.484 34.452 3437
+-94.358 34.452 3404
+-94.232 34.452 3329
+-94.106 34.452 3265
+-93.98 34.452 3365
+-93.854 34.452 3567
+-93.728 34.452 3750
+-93.602 34.452 3844
+-93.476 34.452 3921
+-93.35 34.452 3980
+-93.224 34.452 4004
+-93.098 34.452 3974
+-92.972 34.452 4071
+-92.846 34.452 4151
+-92.72 34.452 4207
+-92.594 34.452 4213
+-92.468 34.452 4348
+-92.342 34.452 4434
+-92.216 34.452 4355
+-92.09 34.452 4564
+-91.964 34.452 4764
+-91.838 34.452 4895
+-91.712 34.452 4943
+-91.586 34.452 5019
+-91.46 34.452 5134
+-91.334 34.452 5216
+-91.208 34.452 5305
+-91.082 34.452 5397
+-90.956 34.452 5481
+-90.83 34.452 5556
+-90.704 34.452 5601
+-90.578 34.452 5656
+-90.452 34.452 5765
+-90.326 34.452 5856
+-90.2 34.452 5901
+-90.074 34.452 5921
+-89.948 34.452 5935
+-89.822 34.452 5972
+-89.696 34.452 6007
+-89.57 34.452 6058
+-89.444 34.452 6115
+-89.318 34.452 6144
+-89.192 34.452 6173
+-89.066 34.452 6178
+-88.94 34.452 6168
+-88.814 34.452 6172
+-88.688 34.452 6146
+-88.562 34.452 6170
+-88.436 34.452 6157
+-88.31 34.452 6140
+-88.184 34.452 6105
+-88.058 34.452 6090
+-87.932 34.452 6042
+-87.806 34.452 6006
+-87.68 34.452 5949
+-87.554 34.452 5897
+-87.428 34.452 5883
+-87.302 34.452 5787
+-87.176 34.452 5754
+-87.05 34.452 5709
+-86.924 34.452 5661
+-86.798 34.452 5616
+-86.672 34.452 5555
+-86.546 34.452 5431
+-86.42 34.452 5331
+-86.294 34.452 5204
+-86.168 34.452 5226
+-86.042 34.452 5090
+-85.916 34.452 4914
+-85.79 34.452 4779
+-85.664 34.452 4702
+-85.538 34.452 4588
+-85.412 34.452 4455
+-85.286 34.452 4361
+-85.16 34.452 4278
+-85.034 34.452 4249
+-84.908 34.452 4220
+-84.782 34.452 4168
+-84.656 34.452 4071
+-84.53 34.452 3929
+-84.404 34.452 3690
+-84.278 34.452 3487
+-84.152 34.452 3608
+-84.026 34.452 3724
+-83.9 34.452 3773
+-83.774 34.452 3739
+-83.648 34.452 3728
+-83.522 34.452 3705
+-83.396 34.452 3673
+-83.27 34.452 3635
+-83.144 34.452 3592
+-83.018 34.452 3525
+-82.892 34.452 3464
+-82.766 34.452 3397
+-82.64 34.452 3332
+-82.514 34.452 3289
+-82.388 34.452 3255
+-82.262 34.452 3224
+-82.136 34.452 3163
+-82.01 34.452 3156
+-81.884 34.452 3065
+-81.758 34.452 3076
+-81.632 34.452 3062
+-81.506 34.452 3005
+-81.38 34.452 2991
+-81.254 34.452 2949
+-81.128 34.452 2916
+-81.002 34.452 2886
+-80.876 34.452 2873
+-80.75 34.452 2843
+-80.624 34.452 2815
+-80.498 34.452 2753
+-80.372 34.452 2686
+-80.246 34.452 2605
+-80.12 34.452 2514
+-79.994 34.452 2412
+-79.868 34.452 2293
+-79.742 34.452 2179
+-79.616 34.452 2083
+-79.49 34.452 1987
+-79.364 34.452 1919
+-79.238 34.452 1895
+-79.112 34.452 1909
+-78.986 34.452 1952
+-78.86 34.452 2032
+-78.734 34.452 2113
+-78.608 34.452 2202
+-78.482 34.452 2299
+-78.356 34.452 2375
+-78.23 34.452 2441
+-78.104 34.452 2500
+-77.978 34.452 2552
+-77.852 34.452 2597
+-77.726 34.452 2665
+-77.6 34.452 2661
+-77.474 34.452 2692
+-77.348 34.452 2775
+-77.222 34.452 2885
+-77.096 34.452 2923
+-76.97 34.452 2949
+-76.844 34.452 2972
+-76.718 34.452 2994
+-76.592 34.452 3016
+-76.466 34.452 3041
+-76.34 34.452 3059
+-76.214 34.452 3071
+-76.088 34.452 3087
+-75.962 34.452 3069
+-75.836 34.452 3083
+-75.71 34.452 3095
+-75.584 34.452 3148
+-75.458 34.452 3157
+-75.332 34.452 3173
+-75.206 34.452 3185
+-75.08 34.452 3181
+-74.954 34.452 3205
+-74.828 34.452 3247
+-74.702 34.452 3262
+-74.576 34.452 3271
+-74.45 34.452 3278
+-74.324 34.452 3321
+-74.198 34.452 3330
+-74.072 34.452 3290
+-73.946 34.452 3311
+-73.82 34.452 3314
+-73.694 34.452 3250
+-73.568 34.452 3183
+-73.442 34.452 3204
+-73.316 34.452 3209
+-73.19 34.452 3238
+-73.064 34.452 3221
+-72.938 34.452 3232
+-72.812 34.452 3237
+-72.686 34.452 3225
+-72.56 34.452 3230
+-72.434 34.452 3234
+-72.308 34.452 3217
+-72.182 34.452 3204
+-72.056 34.452 3233
+-71.93 34.452 3231
+-71.804 34.452 3235
+-71.678 34.452 3239
+-71.552 34.452 3168
+-71.426 34.452 3205
+-71.3 34.452 3203
+-71.174 34.452 3207
+-71.048 34.452 3210
+-70.922 34.452 3425
+-70.796 34.452 3354
+-70.67 34.452 3366
+-70.544 34.452 3368
+-70.418 34.452 3270
+-70.292 34.452 3259
+-70.166 34.452 3260
+-70.04 34.452 3262
+-69.914 34.452 3242
+-69.788 34.452 3243
+-69.662 34.452 3245
+-69.536 34.452 3246
+-69.41 34.452 3247
+-69.284 34.452 3268
+-69.158 34.452 3270
+-69.032 34.452 3255
+-68.906 34.452 3257
+-68.78 34.452 3258
+-68.654 34.452 3201
+-68.528 34.452 3381
+-68.402 34.452 3343
+-68.276 34.452 3344
+-68.15 34.452 3313
+-68.024 34.452 3314
+-67.898 34.452 3315
+-67.772 34.452 3444
+-67.646 34.452 3444
+-67.52 34.452 3445
+-67.394 34.452 3446
+-67.268 34.452 3447
+-67.142 34.452 3560
+-67.016 34.452 3561
+-66.89 34.452 3476
+-66.764 34.452 3477
+-66.638 34.452 3478
+-66.512 34.452 3479
+-66.386 34.452 3487
+-66.26 34.452 3446
+-66.134 34.452 3439
+-66.008 34.452 3387
+-65.882 34.452 3388
+-65.756 34.452 3350
+-65.63 34.452 3396
+-65.504 34.452 3397
+-65.378 34.452 3398
+-65.252 34.452 3399
+-65.126 34.452 3400
+-128 34.4 2686
+-127.874 34.4 2798
+-127.748 34.4 2798
+-127.622 34.4 2798
+-127.496 34.4 2798
+-127.37 34.4 2798
+-127.244 34.4 2798
+-127.118 34.4 2799
+-126.992 34.4 2810
+-126.866 34.4 2811
+-126.74 34.4 2812
+-126.614 34.4 2836
+-126.488 34.4 2914
+-126.362 34.4 2916
+-126.236 34.4 2919
+-126.11 34.4 3012
+-125.984 34.4 3012
+-125.858 34.4 3120
+-125.732 34.4 3124
+-125.606 34.4 3130
+-125.48 34.4 3201
+-125.354 34.4 3266
+-125.228 34.4 3371
+-125.102 34.4 3372
+-124.976 34.4 3444
+-124.85 34.4 3450
+-124.724 34.4 3542
+-124.598 34.4 3554
+-124.472 34.4 3571
+-124.346 34.4 3590
+-124.22 34.4 3649
+-124.094 34.4 3675
+-123.968 34.4 3703
+-123.842 34.4 3792
+-123.716 34.4 3819
+-123.59 34.4 3908
+-123.464 34.4 4009
+-123.338 34.4 4035
+-123.212 34.4 4103
+-123.086 34.4 4153
+-122.96 34.4 4177
+-122.834 34.4 4237
+-122.708 34.4 4272
+-122.582 34.4 4354
+-122.456 34.4 4430
+-122.33 34.4 4491
+-122.204 34.4 4536
+-122.078 34.4 4592
+-121.952 34.4 4642
+-121.826 34.4 4722
+-121.7 34.4 4787
+-121.574 34.4 4892
+-121.448 34.4 4998
+-121.322 34.4 5161
+-121.196 34.4 5378
+-121.07 34.4 5582
+-120.944 34.4 5614
+-120.818 34.4 5751
+-120.692 34.4 5867
+-120.566 34.4 5982
+-120.44 34.4 6082
+-120.314 34.4 6219
+-120.188 34.4 6422
+-120.062 34.4 6578
+-119.936 34.4 6770
+-119.81 34.4 6810
+-119.684 34.4 6990
+-119.558 34.4 7110
+-119.432 34.4 7202
+-119.306 34.4 7353
+-119.18 34.4 7433
+-119.054 34.4 7608
+-118.928 34.4 7767
+-118.802 34.4 7898
+-118.676 34.4 8020
+-118.55 34.4 8207
+-118.424 34.4 8264
+-118.298 34.4 8455
+-118.172 34.4 8629
+-118.046 34.4 8665
+-117.92 34.4 8890
+-117.794 34.4 8944
+-117.668 34.4 9076
+-117.542 34.4 9180
+-117.416 34.4 9269
+-117.29 34.4 9208
+-117.164 34.4 9252
+-117.038 34.4 9098
+-116.912 34.4 9022
+-116.786 34.4 8869
+-116.66 34.4 8769
+-116.534 34.4 8581
+-116.408 34.4 8482
+-116.282 34.4 8375
+-116.156 34.4 8276
+-116.03 34.4 8093
+-115.904 34.4 7968
+-115.778 34.4 7888
+-115.652 34.4 7715
+-115.526 34.4 7567
+-115.4 34.4 7456
+-115.274 34.4 7277
+-115.148 34.4 7151
+-115.022 34.4 6964
+-114.896 34.4 6909
+-114.77 34.4 6762
+-114.644 34.4 6588
+-114.518 34.4 6495
+-114.392 34.4 6377
+-114.266 34.4 6240
+-114.14 34.4 6066
+-114.014 34.4 5911
+-113.888 34.4 5792
+-113.762 34.4 5642
+-113.636 34.4 5525
+-113.51 34.4 5425
+-113.384 34.4 5252
+-113.258 34.4 5278
+-113.132 34.4 5313
+-113.006 34.4 5318
+-112.88 34.4 5456
+-112.754 34.4 5531
+-112.628 34.4 5617
+-112.502 34.4 5676
+-112.376 34.4 5761
+-112.25 34.4 5846
+-112.124 34.4 5881
+-111.998 34.4 5970
+-111.872 34.4 6054
+-111.746 34.4 6105
+-111.62 34.4 6160
+-111.494 34.4 6208
+-111.368 34.4 6260
+-111.242 34.4 6305
+-111.116 34.4 6365
+-110.99 34.4 6392
+-110.864 34.4 6405
+-110.738 34.4 6412
+-110.612 34.4 6442
+-110.486 34.4 6462
+-110.36 34.4 6445
+-110.234 34.4 6461
+-110.108 34.4 6455
+-109.982 34.4 6434
+-109.856 34.4 6394
+-109.73 34.4 6361
+-109.604 34.4 6304
+-109.478 34.4 6259
+-109.352 34.4 6227
+-109.226 34.4 6201
+-109.1 34.4 6157
+-108.974 34.4 6084
+-108.848 34.4 5997
+-108.722 34.4 5965
+-108.596 34.4 5876
+-108.47 34.4 5816
+-108.344 34.4 5722
+-108.218 34.4 5645
+-108.092 34.4 5563
+-107.966 34.4 5496
+-107.84 34.4 5310
+-107.714 34.4 5313
+-107.588 34.4 5234
+-107.462 34.4 5135
+-107.336 34.4 5069
+-107.21 34.4 4979
+-107.084 34.4 4846
+-106.958 34.4 4802
+-106.832 34.4 4709
+-106.706 34.4 4581
+-106.58 34.4 4442
+-106.454 34.4 4303
+-106.328 34.4 4215
+-106.202 34.4 4236
+-106.076 34.4 4261
+-105.95 34.4 4226
+-105.824 34.4 4215
+-105.698 34.4 4189
+-105.572 34.4 4179
+-105.446 34.4 4169
+-105.32 34.4 4185
+-105.194 34.4 4176
+-105.068 34.4 4183
+-104.942 34.4 4184
+-104.816 34.4 4183
+-104.69 34.4 4106
+-104.564 34.4 4104
+-104.438 34.4 4103
+-104.312 34.4 4004
+-104.186 34.4 4014
+-104.06 34.4 3999
+-103.934 34.4 3939
+-103.808 34.4 3934
+-103.682 34.4 3929
+-103.556 34.4 3838
+-103.43 34.4 3815
+-103.304 34.4 3828
+-103.178 34.4 3756
+-103.052 34.4 3644
+-102.926 34.4 3641
+-102.8 34.4 3639
+-102.674 34.4 3637
+-102.548 34.4 3636
+-102.422 34.4 3634
+-102.296 34.4 3654
+-102.17 34.4 3626
+-102.044 34.4 3620
+-101.918 34.4 3621
+-101.792 34.4 3584
+-101.666 34.4 3584
+-101.54 34.4 3483
+-101.414 34.4 3516
+-101.288 34.4 3510
+-101.162 34.4 3479
+-101.036 34.4 3426
+-100.91 34.4 3416
+-100.784 34.4 3406
+-100.658 34.4 3372
+-100.532 34.4 3260
+-100.406 34.4 3209
+-100.28 34.4 3176
+-100.154 34.4 3099
+-100.028 34.4 3082
+-99.902 34.4 3087
+-99.776 34.4 3074
+-99.65 34.4 3141
+-99.524 34.4 3238
+-99.398 34.4 3277
+-99.272 34.4 3275
+-99.146 34.4 3282
+-99.02 34.4 3284
+-98.894 34.4 3284
+-98.768 34.4 3284
+-98.642 34.4 3284
+-98.516 34.4 3304
+-98.39 34.4 3280
+-98.264 34.4 3280
+-98.138 34.4 3281
+-98.012 34.4 3298
+-97.886 34.4 3299
+-97.76 34.4 3301
+-97.634 34.4 3302
+-97.508 34.4 3303
+-97.382 34.4 3304
+-97.256 34.4 3256
+-97.13 34.4 3357
+-97.004 34.4 3317
+-96.878 34.4 3318
+-96.752 34.4 3324
+-96.626 34.4 3293
+-96.5 34.4 3382
+-96.374 34.4 3413
+-96.248 34.4 3396
+-96.122 34.4 3414
+-95.996 34.4 3403
+-95.87 34.4 3391
+-95.744 34.4 3398
+-95.618 34.4 3359
+-95.492 34.4 3370
+-95.366 34.4 3394
+-95.24 34.4 3376
+-95.114 34.4 3370
+-94.988 34.4 3374
+-94.862 34.4 3376
+-94.736 34.4 3383
+-94.61 34.4 3378
+-94.484 34.4 3398
+-94.358 34.4 3379
+-94.232 34.4 3349
+-94.106 34.4 3331
+-93.98 34.4 3406
+-93.854 34.4 3550
+-93.728 34.4 3686
+-93.602 34.4 3764
+-93.476 34.4 3841
+-93.35 34.4 3935
+-93.224 34.4 3986
+-93.098 34.4 4009
+-92.972 34.4 4065
+-92.846 34.4 4118
+-92.72 34.4 4185
+-92.594 34.4 4248
+-92.468 34.4 4350
+-92.342 34.4 4436
+-92.216 34.4 4487
+-92.09 34.4 4594
+-91.964 34.4 4724
+-91.838 34.4 4845
+-91.712 34.4 4941
+-91.586 34.4 5031
+-91.46 34.4 5086
+-91.334 34.4 5187
+-91.208 34.4 5276
+-91.082 34.4 5372
+-90.956 34.4 5407
+-90.83 34.4 5498
+-90.704 34.4 5565
+-90.578 34.4 5625
+-90.452 34.4 5739
+-90.326 34.4 5816
+-90.2 34.4 5837
+-90.074 34.4 5864
+-89.948 34.4 5891
+-89.822 34.4 5952
+-89.696 34.4 5982
+-89.57 34.4 6028
+-89.444 34.4 6045
+-89.318 34.4 6077
+-89.192 34.4 6083
+-89.066 34.4 6093
+-88.94 34.4 6100
+-88.814 34.4 6103
+-88.688 34.4 6089
+-88.562 34.4 6129
+-88.436 34.4 6111
+-88.31 34.4 6079
+-88.184 34.4 6065
+-88.058 34.4 6052
+-87.932 34.4 6016
+-87.806 34.4 5968
+-87.68 34.4 5938
+-87.554 34.4 5866
+-87.428 34.4 5770
+-87.302 34.4 5782
+-87.176 34.4 5718
+-87.05 34.4 5621
+-86.924 34.4 5656
+-86.798 34.4 5621
+-86.672 34.4 5542
+-86.546 34.4 5418
+-86.42 34.4 5326
+-86.294 34.4 5234
+-86.168 34.4 5159
+-86.042 34.4 5001
+-85.916 34.4 4813
+-85.79 34.4 4730
+-85.664 34.4 4650
+-85.538 34.4 4550
+-85.412 34.4 4415
+-85.286 34.4 4305
+-85.16 34.4 4236
+-85.034 34.4 4186
+-84.908 34.4 4198
+-84.782 34.4 4167
+-84.656 34.4 4077
+-84.53 34.4 3948
+-84.404 34.4 3751
+-84.278 34.4 3627
+-84.152 34.4 3659
+-84.026 34.4 3707
+-83.9 34.4 3731
+-83.774 34.4 3722
+-83.648 34.4 3691
+-83.522 34.4 3663
+-83.396 34.4 3625
+-83.27 34.4 3577
+-83.144 34.4 3511
+-83.018 34.4 3423
+-82.892 34.4 3375
+-82.766 34.4 3313
+-82.64 34.4 3262
+-82.514 34.4 3228
+-82.388 34.4 3183
+-82.262 34.4 3162
+-82.136 34.4 3168
+-82.01 34.4 3178
+-81.884 34.4 3092
+-81.758 34.4 3065
+-81.632 34.4 3060
+-81.506 34.4 3006
+-81.38 34.4 2995
+-81.254 34.4 2963
+-81.128 34.4 2940
+-81.002 34.4 2925
+-80.876 34.4 2917
+-80.75 34.4 2901
+-80.624 34.4 2853
+-80.498 34.4 2802
+-80.372 34.4 2757
+-80.246 34.4 2693
+-80.12 34.4 2613
+-79.994 34.4 2523
+-79.868 34.4 2439
+-79.742 34.4 2340
+-79.616 34.4 2272
+-79.49 34.4 2176
+-79.364 34.4 2116
+-79.238 34.4 2079
+-79.112 34.4 2094
+-78.986 34.4 2122
+-78.86 34.4 2201
+-78.734 34.4 2262
+-78.608 34.4 2317
+-78.482 34.4 2381
+-78.356 34.4 2441
+-78.23 34.4 2495
+-78.104 34.4 2544
+-77.978 34.4 2588
+-77.852 34.4 2653
+-77.726 34.4 2700
+-77.6 34.4 2736
+-77.474 34.4 2763
+-77.348 34.4 2870
+-77.222 34.4 2908
+-77.096 34.4 2933
+-76.97 34.4 2958
+-76.844 34.4 2980
+-76.718 34.4 3003
+-76.592 34.4 3028
+-76.466 34.4 3047
+-76.34 34.4 3060
+-76.214 34.4 3076
+-76.088 34.4 3060
+-75.962 34.4 3074
+-75.836 34.4 3087
+-75.71 34.4 3139
+-75.584 34.4 3149
+-75.458 34.4 3166
+-75.332 34.4 3178
+-75.206 34.4 3175
+-75.08 34.4 3199
+-74.954 34.4 3241
+-74.828 34.4 3256
+-74.702 34.4 3265
+-74.576 34.4 3273
+-74.45 34.4 3316
+-74.324 34.4 3326
+-74.198 34.4 3286
+-74.072 34.4 3307
+-73.946 34.4 3310
+-73.82 34.4 3250
+-73.694 34.4 3181
+-73.568 34.4 3201
+-73.442 34.4 3207
+-73.316 34.4 3235
+-73.19 34.4 3219
+-73.064 34.4 3230
+-72.938 34.4 3236
+-72.812 34.4 3223
+-72.686 34.4 3228
+-72.56 34.4 3233
+-72.434 34.4 3216
+-72.308 34.4 3203
+-72.182 34.4 3232
+-72.056 34.4 3230
+-71.93 34.4 3234
+-71.804 34.4 3238
+-71.678 34.4 3168
+-71.552 34.4 3205
+-71.426 34.4 3202
+-71.3 34.4 3206
+-71.174 34.4 3209
+-71.048 34.4 3423
+-70.922 34.4 3355
+-70.796 34.4 3364
+-70.67 34.4 3366
+-70.544 34.4 3269
+-70.418 34.4 3257
+-70.292 34.4 3259
+-70.166 34.4 3261
+-70.04 34.4 3241
+-69.914 34.4 3242
+-69.788 34.4 3244
+-69.662 34.4 3245
+-69.536 34.4 3246
+-69.41 34.4 3267
+-69.284 34.4 3269
+-69.158 34.4 3254
+-69.032 34.4 3256
+-68.906 34.4 3257
+-68.78 34.4 3200
+-68.654 34.4 3380
+-68.528 34.4 3342
+-68.402 34.4 3343
+-68.276 34.4 3312
+-68.15 34.4 3313
+-68.024 34.4 3314
+-67.898 34.4 3442
+-67.772 34.4 3443
+-67.646 34.4 3444
+-67.52 34.4 3445
+-67.394 34.4 3446
+-67.268 34.4 3558
+-67.142 34.4 3559
+-67.016 34.4 3474
+-66.89 34.4 3475
+-66.764 34.4 3476
+-66.638 34.4 3477
+-66.512 34.4 3486
+-66.386 34.4 3445
+-66.26 34.4 3438
+-66.134 34.4 3386
+-66.008 34.4 3387
+-65.882 34.4 3349
+-65.756 34.4 3395
+-65.63 34.4 3396
+-65.504 34.4 3397
+-65.378 34.4 3398
+-65.252 34.4 3399
+-65.126 34.4 3400
+-128 34.348 2686
+-127.874 34.348 2686
+-127.748 34.348 2798
+-127.622 34.348 2798
+-127.496 34.348 2798
+-127.37 34.348 2798
+-127.244 34.348 2799
+-127.118 34.348 2799
+-126.992 34.348 2800
+-126.866 34.348 2802
+-126.74 34.348 2813
+-126.614 34.348 2814
+-126.488 34.348 2895
+-126.362 34.348 2897
+-126.236 34.348 2984
+-126.11 34.348 3011
+-125.984 34.348 3012
+-125.858 34.348 3015
+-125.732 34.348 3128
+-125.606 34.348 3134
+-125.48 34.348 3199
+-125.354 34.348 3282
+-125.228 34.348 3288
+-125.102 34.348 3367
+-124.976 34.348 3467
+-124.85 34.348 3482
+-124.724 34.348 3571
+-124.598 34.348 3584
+-124.472 34.348 3601
+-124.346 34.348 3620
+-124.22 34.348 3642
+-124.094 34.348 3702
+-123.968 34.348 3728
+-123.842 34.348 3754
+-123.716 34.348 3939
+-123.59 34.348 4009
+-123.464 34.348 4035
+-123.338 34.348 4099
+-123.212 34.348 4146
+-123.086 34.348 4136
+-122.96 34.348 4144
+-122.834 34.348 4094
+-122.708 34.348 4122
+-122.582 34.348 4238
+-122.456 34.348 4365
+-122.33 34.348 4397
+-122.204 34.348 4400
+-122.078 34.348 4541
+-121.952 34.348 4526
+-121.826 34.348 4656
+-121.7 34.348 4748
+-121.574 34.348 4878
+-121.448 34.348 5081
+-121.322 34.348 5109
+-121.196 34.348 5310
+-121.07 34.348 5573
+-120.944 34.348 5696
+-120.818 34.348 5778
+-120.692 34.348 5876
+-120.566 34.348 6017
+-120.44 34.348 6091
+-120.314 34.348 6275
+-120.188 34.348 6445
+-120.062 34.348 6566
+-119.936 34.348 6754
+-119.81 34.348 6865
+-119.684 34.348 7000
+-119.558 34.348 7113
+-119.432 34.348 7249
+-119.306 34.348 7310
+-119.18 34.348 7481
+-119.054 34.348 7650
+-118.928 34.348 7790
+-118.802 34.348 7927
+-118.676 34.348 8121
+-118.55 34.348 8231
+-118.424 34.348 8308
+-118.298 34.348 8433
+-118.172 34.348 8552
+-118.046 34.348 8724
+-117.92 34.348 8872
+-117.794 34.348 8983
+-117.668 34.348 9151
+-117.542 34.348 9211
+-117.416 34.348 9244
+-117.29 34.348 9266
+-117.164 34.348 9210
+-117.038 34.348 9164
+-116.912 34.348 9059
+-116.786 34.348 8937
+-116.66 34.348 8783
+-116.534 34.348 8608
+-116.408 34.348 8494
+-116.282 34.348 8360
+-116.156 34.348 8183
+-116.03 34.348 8117
+-115.904 34.348 7980
+-115.778 34.348 7846
+-115.652 34.348 7748
+-115.526 34.348 7592
+-115.4 34.348 7435
+-115.274 34.348 7328
+-115.148 34.348 7151
+-115.022 34.348 6951
+-114.896 34.348 6940
+-114.77 34.348 6756
+-114.644 34.348 6628
+-114.518 34.348 6438
+-114.392 34.348 6366
+-114.266 34.348 6221
+-114.14 34.348 6034
+-114.014 34.348 5893
+-113.888 34.348 5784
+-113.762 34.348 5605
+-113.636 34.348 5503
+-113.51 34.348 5459
+-113.384 34.348 5359
+-113.258 34.348 5321
+-113.132 34.348 5346
+-113.006 34.348 5390
+-112.88 34.348 5460
+-112.754 34.348 5544
+-112.628 34.348 5639
+-112.502 34.348 5749
+-112.376 34.348 5791
+-112.25 34.348 5866
+-112.124 34.348 5944
+-111.998 34.348 6051
+-111.872 34.348 6100
+-111.746 34.348 6167
+-111.62 34.348 6242
+-111.494 34.348 6274
+-111.368 34.348 6324
+-111.242 34.348 6372
+-111.116 34.348 6420
+-110.99 34.348 6433
+-110.864 34.348 6434
+-110.738 34.348 6506
+-110.612 34.348 6511
+-110.486 34.348 6489
+-110.36 34.348 6483
+-110.234 34.348 6488
+-110.108 34.348 6463
+-109.982 34.348 6452
+-109.856 34.348 6418
+-109.73 34.348 6401
+-109.604 34.348 6359
+-109.478 34.348 6293
+-109.352 34.348 6280
+-109.226 34.348 6241
+-109.1 34.348 6220
+-108.974 34.348 6144
+-108.848 34.348 6059
+-108.722 34.348 5963
+-108.596 34.348 5885
+-108.47 34.348 5867
+-108.344 34.348 5794
+-108.218 34.348 5709
+-108.092 34.348 5597
+-107.966 34.348 5487
+-107.84 34.348 5409
+-107.714 34.348 5346
+-107.588 34.348 5244
+-107.462 34.348 5109
+-107.336 34.348 5035
+-107.21 34.348 4970
+-107.084 34.348 4767
+-106.958 34.348 4821
+-106.832 34.348 4738
+-106.706 34.348 4616
+-106.58 34.348 4469
+-106.454 34.348 4262
+-106.328 34.348 4128
+-106.202 34.348 4207
+-106.076 34.348 4257
+-105.95 34.348 4271
+-105.824 34.348 4278
+-105.698 34.348 4264
+-105.572 34.348 4235
+-105.446 34.348 4237
+-105.32 34.348 4211
+-105.194 34.348 4201
+-105.068 34.348 4222
+-104.942 34.348 4214
+-104.816 34.348 4117
+-104.69 34.348 4115
+-104.564 34.348 4112
+-104.438 34.348 4010
+-104.312 34.348 4019
+-104.186 34.348 4002
+-104.06 34.348 3941
+-103.934 34.348 3934
+-103.808 34.348 3928
+-103.682 34.348 3886
+-103.556 34.348 3857
+-103.43 34.348 3828
+-103.304 34.348 3755
+-103.178 34.348 3753
+-103.052 34.348 3751
+-102.926 34.348 3642
+-102.8 34.348 3640
+-102.674 34.348 3638
+-102.548 34.348 3636
+-102.422 34.348 3654
+-102.296 34.348 3628
+-102.17 34.348 3622
+-102.044 34.348 3622
+-101.918 34.348 3585
+-101.792 34.348 3585
+-101.666 34.348 3585
+-101.54 34.348 3487
+-101.414 34.348 3521
+-101.288 34.348 3491
+-101.162 34.348 3485
+-101.036 34.348 3433
+-100.91 34.348 3424
+-100.784 34.348 3414
+-100.658 34.348 3382
+-100.532 34.348 3343
+-100.406 34.348 3233
+-100.28 34.348 3184
+-100.154 34.348 3106
+-100.028 34.348 3157
+-99.902 34.348 3154
+-99.776 34.348 3122
+-99.65 34.348 3142
+-99.524 34.348 3239
+-99.398 34.348 3279
+-99.272 34.348 3286
+-99.146 34.348 3288
+-99.02 34.348 3287
+-98.894 34.348 3287
+-98.768 34.348 3286
+-98.642 34.348 3306
+-98.516 34.348 3282
+-98.39 34.348 3282
+-98.264 34.348 3282
+-98.138 34.348 3299
+-98.012 34.348 3300
+-97.886 34.348 3300
+-97.76 34.348 3301
+-97.634 34.348 3301
+-97.508 34.348 3302
+-97.382 34.348 3250
+-97.256 34.348 3351
+-97.13 34.348 3310
+-97.004 34.348 3257
+-96.878 34.348 3315
+-96.752 34.348 3283
+-96.626 34.348 3372
+-96.5 34.348 3403
+-96.374 34.348 3385
+-96.248 34.348 3402
+-96.122 34.348 3389
+-95.996 34.348 3375
+-95.87 34.348 3380
+-95.744 34.348 3338
+-95.618 34.348 3344
+-95.492 34.348 3322
+-95.366 34.348 3323
+-95.24 34.348 3289
+-95.114 34.348 3281
+-94.988 34.348 3288
+-94.862 34.348 3289
+-94.736 34.348 3300
+-94.61 34.348 3326
+-94.484 34.348 3352
+-94.358 34.348 3372
+-94.232 34.348 3374
+-94.106 34.348 3394
+-93.98 34.348 3460
+-93.854 34.348 3552
+-93.728 34.348 3626
+-93.602 34.348 3688
+-93.476 34.348 3767
+-93.35 34.348 3843
+-93.224 34.348 3936
+-93.098 34.348 3985
+-92.972 34.348 4022
+-92.846 34.348 4048
+-92.72 34.348 4112
+-92.594 34.348 4214
+-92.468 34.348 4305
+-92.342 34.348 4443
+-92.216 34.348 4539
+-92.09 34.348 4537
+-91.964 34.348 4686
+-91.838 34.348 4772
+-91.712 34.348 4885
+-91.586 34.348 4986
+-91.46 34.348 5051
+-91.334 34.348 5140
+-91.208 34.348 5233
+-91.082 34.348 5310
+-90.956 34.348 5371
+-90.83 34.348 5419
+-90.704 34.348 5519
+-90.578 34.348 5603
+-90.452 34.348 5708
+-90.326 34.348 5774
+-90.2 34.348 5764
+-90.074 34.348 5809
+-89.948 34.348 5878
+-89.822 34.348 5886
+-89.696 34.348 5923
+-89.57 34.348 5958
+-89.444 34.348 5985
+-89.318 34.348 6034
+-89.192 34.348 6012
+-89.066 34.348 6030
+-88.94 34.348 6033
+-88.814 34.348 6052
+-88.688 34.348 6063
+-88.562 34.348 6059
+-88.436 34.348 6043
+-88.31 34.348 5993
+-88.184 34.348 5988
+-88.058 34.348 5992
+-87.932 34.348 5956
+-87.806 34.348 5915
+-87.68 34.348 5871
+-87.554 34.348 5807
+-87.428 34.348 5770
+-87.302 34.348 5718
+-87.176 34.348 5654
+-87.05 34.348 5628
+-86.924 34.348 5618
+-86.798 34.348 5584
+-86.672 34.348 5491
+-86.546 34.348 5383
+-86.42 34.348 5270
+-86.294 34.348 5131
+-86.168 34.348 5051
+-86.042 34.348 4958
+-85.916 34.348 4767
+-85.79 34.348 4715
+-85.664 34.348 4662
+-85.538 34.348 4547
+-85.412 34.348 4403
+-85.286 34.348 4283
+-85.16 34.348 4242
+-85.034 34.348 4120
+-84.908 34.348 4170
+-84.782 34.348 4158
+-84.656 34.348 4087
+-84.53 34.348 3967
+-84.404 34.348 3844
+-84.278 34.348 3762
+-84.152 34.348 3703
+-84.026 34.348 3701
+-83.9 34.348 3700
+-83.774 34.348 3692
+-83.648 34.348 3663
+-83.522 34.348 3590
+-83.396 34.348 3544
+-83.27 34.348 3484
+-83.144 34.348 3398
+-83.018 34.348 3326
+-82.892 34.348 3253
+-82.766 34.348 3173
+-82.64 34.348 3166
+-82.514 34.348 3143
+-82.388 34.348 3164
+-82.262 34.348 3134
+-82.136 34.348 3144
+-82.01 34.348 3145
+-81.884 34.348 3083
+-81.758 34.348 3097
+-81.632 34.348 3096
+-81.506 34.348 3059
+-81.38 34.348 3040
+-81.254 34.348 2999
+-81.128 34.348 2980
+-81.002 34.348 2979
+-80.876 34.348 2973
+-80.75 34.348 2937
+-80.624 34.348 2898
+-80.498 34.348 2866
+-80.372 34.348 2819
+-80.246 34.348 2757
+-80.12 34.348 2687
+-79.994 34.348 2624
+-79.868 34.348 2584
+-79.742 34.348 2495
+-79.616 34.348 2415
+-79.49 34.348 2346
+-79.364 34.348 2312
+-79.238 34.348 2274
+-79.112 34.348 2290
+-78.986 34.348 2304
+-78.86 34.348 2335
+-78.734 34.348 2367
+-78.608 34.348 2413
+-78.482 34.348 2460
+-78.356 34.348 2505
+-78.23 34.348 2547
+-78.104 34.348 2586
+-77.978 34.348 2648
+-77.852 34.348 2692
+-77.726 34.348 2724
+-77.6 34.348 2753
+-77.474 34.348 2855
+-77.348 34.348 2893
+-77.222 34.348 2919
+-77.096 34.348 2944
+-76.97 34.348 2966
+-76.844 34.348 2990
+-76.718 34.348 3015
+-76.592 34.348 3034
+-76.466 34.348 3049
+-76.34 34.348 3066
+-76.214 34.348 3051
+-76.088 34.348 3066
+-75.962 34.348 3079
+-75.836 34.348 3131
+-75.71 34.348 3141
+-75.584 34.348 3159
+-75.458 34.348 3171
+-75.332 34.348 3169
+-75.206 34.348 3193
+-75.08 34.348 3235
+-74.954 34.348 3251
+-74.828 34.348 3260
+-74.702 34.348 3268
+-74.576 34.348 3311
+-74.45 34.348 3321
+-74.324 34.348 3282
+-74.198 34.348 3303
+-74.072 34.348 3307
+-73.946 34.348 3244
+-73.82 34.348 3179
+-73.694 34.348 3199
+-73.568 34.348 3205
+-73.442 34.348 3233
+-73.316 34.348 3217
+-73.19 34.348 3228
+-73.064 34.348 3234
+-72.938 34.348 3222
+-72.812 34.348 3227
+-72.686 34.348 3231
+-72.56 34.348 3215
+-72.434 34.348 3202
+-72.308 34.348 3231
+-72.182 34.348 3229
+-72.056 34.348 3233
+-71.93 34.348 3238
+-71.804 34.348 3167
+-71.678 34.348 3204
+-71.552 34.348 3202
+-71.426 34.348 3205
+-71.3 34.348 3209
+-71.174 34.348 3421
+-71.048 34.348 3350
+-70.922 34.348 3362
+-70.796 34.348 3365
+-70.67 34.348 3267
+-70.544 34.348 3256
+-70.418 34.348 3258
+-70.292 34.348 3259
+-70.166 34.348 3240
+-70.04 34.348 3241
+-69.914 34.348 3243
+-69.788 34.348 3244
+-69.662 34.348 3245
+-69.536 34.348 3266
+-69.41 34.348 3267
+-69.284 34.348 3253
+-69.158 34.348 3255
+-69.032 34.348 3256
+-68.906 34.348 3199
+-68.78 34.348 3379
+-68.654 34.348 3341
+-68.528 34.348 3342
+-68.402 34.348 3310
+-68.276 34.348 3312
+-68.15 34.348 3313
+-68.024 34.348 3441
+-67.898 34.348 3442
+-67.772 34.348 3443
+-67.646 34.348 3444
+-67.52 34.348 3444
+-67.394 34.348 3556
+-67.268 34.348 3558
+-67.142 34.348 3473
+-67.016 34.348 3474
+-66.89 34.348 3475
+-66.764 34.348 3476
+-66.638 34.348 3485
+-66.512 34.348 3443
+-66.386 34.348 3436
+-66.26 34.348 3385
+-66.134 34.348 3386
+-66.008 34.348 3348
+-65.882 34.348 3394
+-65.756 34.348 3395
+-65.63 34.348 3396
+-65.504 34.348 3397
+-65.378 34.348 3398
+-65.252 34.348 3399
+-65.126 34.348 3400
+-128 34.296 2685
+-127.874 34.296 2686
+-127.748 34.296 2686
+-127.622 34.296 2739
+-127.496 34.296 2798
+-127.37 34.296 2798
+-127.244 34.296 2798
+-127.118 34.296 2799
+-126.992 34.296 2800
+-126.866 34.296 2802
+-126.74 34.296 2803
+-126.614 34.296 2825
+-126.488 34.296 2864
+-126.362 34.296 2956
+-126.236 34.296 2979
+-126.11 34.296 2981
+-125.984 34.296 3010
+-125.858 34.296 3013
+-125.732 34.296 3144
+-125.606 34.296 3207
+-125.48 34.296 3214
+-125.354 34.296 3222
+-125.228 34.296 3290
+-125.102 34.296 3376
+-124.976 34.296 3387
+-124.85 34.296 3503
+-124.724 34.296 3512
+-124.598 34.296 3607
+-124.472 34.296 3623
+-124.346 34.296 3641
+-124.22 34.296 3662
+-124.094 34.296 3685
+-123.968 34.296 3752
+-123.842 34.296 3866
+-123.716 34.296 3953
+-123.59 34.296 3985
+-123.464 34.296 4058
+-123.338 34.296 4157
+-123.212 34.296 4149
+-123.086 34.296 4157
+-122.96 34.296 4055
+-122.834 34.296 3912
+-122.708 34.296 3834
+-122.582 34.296 4030
+-122.456 34.296 4281
+-122.33 34.296 4336
+-122.204 34.296 4200
+-122.078 34.296 4476
+-121.952 34.296 4633
+-121.826 34.296 4730
+-121.7 34.296 4810
+-121.574 34.296 4851
+-121.448 34.296 4969
+-121.322 34.296 5095
+-121.196 34.296 5295
+-121.07 34.296 5570
+-120.944 34.296 5696
+-120.818 34.296 5689
+-120.692 34.296 5842
+-120.566 34.296 6030
+-120.44 34.296 6130
+-120.314 34.296 6347
+-120.188 34.296 6392
+-120.062 34.296 6581
+-119.936 34.296 6730
+-119.81 34.296 6870
+-119.684 34.296 6961
+-119.558 34.296 7102
+-119.432 34.296 7253
+-119.306 34.296 7400
+-119.18 34.296 7493
+-119.054 34.296 7658
+-118.928 34.296 7844
+-118.802 34.296 7907
+-118.676 34.296 8029
+-118.55 34.296 8189
+-118.424 34.296 8354
+-118.298 34.296 8447
+-118.172 34.296 8626
+-118.046 34.296 8691
+-117.92 34.296 8896
+-117.794 34.296 8998
+-117.668 34.296 9140
+-117.542 34.296 9259
+-117.416 34.296 9306
+-117.29 34.296 9383
+-117.164 34.296 9273
+-117.038 34.296 9175
+-116.912 34.296 9078
+-116.786 34.296 8969
+-116.66 34.296 8808
+-116.534 34.296 8635
+-116.408 34.296 8588
+-116.282 34.296 8384
+-116.156 34.296 8307
+-116.03 34.296 8131
+-115.904 34.296 8012
+-115.778 34.296 7870
+-115.652 34.296 7694
+-115.526 34.296 7601
+-115.4 34.296 7400
+-115.274 34.296 7324
+-115.148 34.296 7195
+-115.022 34.296 6989
+-114.896 34.296 6908
+-114.77 34.296 6736
+-114.644 34.296 6590
+-114.518 34.296 6484
+-114.392 34.296 6344
+-114.266 34.296 6152
+-114.14 34.296 6082
+-114.014 34.296 5922
+-113.888 34.296 5750
+-113.762 34.296 5694
+-113.636 34.296 5601
+-113.51 34.296 5515
+-113.384 34.296 5378
+-113.258 34.296 5230
+-113.132 34.296 5338
+-113.006 34.296 5433
+-112.88 34.296 5499
+-112.754 34.296 5587
+-112.628 34.296 5668
+-112.502 34.296 5750
+-112.376 34.296 5820
+-112.25 34.296 5921
+-112.124 34.296 6029
+-111.998 34.296 6098
+-111.872 34.296 6160
+-111.746 34.296 6213
+-111.62 34.296 6274
+-111.494 34.296 6344
+-111.368 34.296 6364
+-111.242 34.296 6435
+-111.116 34.296 6470
+-110.99 34.296 6481
+-110.864 34.296 6495
+-110.738 34.296 6494
+-110.612 34.296 6509
+-110.486 34.296 6563
+-110.36 34.296 6525
+-110.234 34.296 6528
+-110.108 34.296 6529
+-109.982 34.296 6531
+-109.856 34.296 6490
+-109.73 34.296 6452
+-109.604 34.296 6422
+-109.478 34.296 6349
+-109.352 34.296 6290
+-109.226 34.296 6249
+-109.1 34.296 6230
+-108.974 34.296 6179
+-108.848 34.296 6110
+-108.722 34.296 5996
+-108.596 34.296 5961
+-108.47 34.296 5902
+-108.344 34.296 5853
+-108.218 34.296 5767
+-108.092 34.296 5658
+-107.966 34.296 5553
+-107.84 34.296 5459
+-107.714 34.296 5365
+-107.588 34.296 5306
+-107.462 34.296 5204
+-107.336 34.296 5121
+-107.21 34.296 5022
+-107.084 34.296 4899
+-106.958 34.296 4855
+-106.832 34.296 4770
+-106.706 34.296 4691
+-106.58 34.296 4536
+-106.454 34.296 4369
+-106.328 34.296 4248
+-106.202 34.296 4267
+-106.076 34.296 4296
+-105.95 34.296 4302
+-105.824 34.296 4288
+-105.698 34.296 4282
+-105.572 34.296 4282
+-105.446 34.296 4258
+-105.32 34.296 4262
+-105.194 34.296 4252
+-105.068 34.296 4230
+-104.942 34.296 4153
+-104.816 34.296 4127
+-104.69 34.296 4122
+-104.564 34.296 4052
+-104.438 34.296 4026
+-104.312 34.296 4006
+-104.186 34.296 3944
+-104.06 34.296 3935
+-103.934 34.296 3928
+-103.808 34.296 3885
+-103.682 34.296 3855
+-103.556 34.296 3788
+-103.43 34.296 3802
+-103.304 34.296 3800
+-103.178 34.296 3798
+-103.052 34.296 3797
+-102.926 34.296 3796
+-102.8 34.296 3684
+-102.674 34.296 3683
+-102.548 34.296 3704
+-102.422 34.296 3629
+-102.296 34.296 3623
+-102.17 34.296 3623
+-102.044 34.296 3586
+-101.918 34.296 3586
+-101.792 34.296 3586
+-101.666 34.296 3586
+-101.54 34.296 3622
+-101.414 34.296 3501
+-101.288 34.296 3496
+-101.162 34.296 3490
+-101.036 34.296 3440
+-100.91 34.296 3431
+-100.784 34.296 3422
+-100.658 34.296 3391
+-100.532 34.296 3352
+-100.406 34.296 3352
+-100.28 34.296 3266
+-100.154 34.296 3172
+-100.028 34.296 3161
+-99.902 34.296 3157
+-99.776 34.296 3124
+-99.65 34.296 3144
+-99.524 34.296 3240
+-99.398 34.296 3290
+-99.272 34.296 3291
+-99.146 34.296 3290
+-99.02 34.296 3289
+-98.894 34.296 3289
+-98.768 34.296 3309
+-98.642 34.296 3284
+-98.516 34.296 3283
+-98.39 34.296 3283
+-98.264 34.296 3300
+-98.138 34.296 3300
+-98.012 34.296 3300
+-97.886 34.296 3300
+-97.76 34.296 3300
+-97.634 34.296 3300
+-97.508 34.296 3246
+-97.382 34.296 3346
+-97.256 34.296 3304
+-97.13 34.296 3248
+-97.004 34.296 3307
+-96.878 34.296 3276
+-96.752 34.296 3365
+-96.626 34.296 3338
+-96.5 34.296 3381
+-96.374 34.296 3393
+-96.248 34.296 3380
+-96.122 34.296 3365
+-95.996 34.296 3368
+-95.87 34.296 3324
+-95.744 34.296 3327
+-95.618 34.296 3302
+-95.492 34.296 3271
+-95.366 34.296 3252
+-95.24 34.296 3225
+-95.114 34.296 3191
+-94.988 34.296 3172
+-94.862 34.296 3175
+-94.736 34.296 3194
+-94.61 34.296 3228
+-94.484 34.296 3276
+-94.358 34.296 3314
+-94.232 34.296 3358
+-94.106 34.296 3401
+-93.98 34.296 3453
+-93.854 34.296 3556
+-93.728 34.296 3611
+-93.602 34.296 3628
+-93.476 34.296 3638
+-93.35 34.296 3730
+-93.224 34.296 3860
+-93.098 34.296 3928
+-92.972 34.296 3992
+-92.846 34.296 3992
+-92.72 34.296 4046
+-92.594 34.296 4158
+-92.468 34.296 4240
+-92.342 34.296 4383
+-92.216 34.296 4526
+-92.09 34.296 4580
+-91.964 34.296 4675
+-91.838 34.296 4789
+-91.712 34.296 4878
+-91.586 34.296 4870
+-91.46 34.296 5012
+-91.334 34.296 5129
+-91.208 34.296 5173
+-91.082 34.296 5233
+-90.956 34.296 5294
+-90.83 34.296 5366
+-90.704 34.296 5453
+-90.578 34.296 5572
+-90.452 34.296 5678
+-90.326 34.296 5738
+-90.2 34.296 5752
+-90.074 34.296 5755
+-89.948 34.296 5782
+-89.822 34.296 5829
+-89.696 34.296 5874
+-89.57 34.296 5888
+-89.444 34.296 5921
+-89.318 34.296 5968
+-89.192 34.296 5951
+-89.066 34.296 5963
+-88.94 34.296 5978
+-88.814 34.296 5983
+-88.688 34.296 5994
+-88.562 34.296 5988
+-88.436 34.296 5985
+-88.31 34.296 5941
+-88.184 34.296 5964
+-88.058 34.296 5939
+-87.932 34.296 5874
+-87.806 34.296 5827
+-87.68 34.296 5773
+-87.554 34.296 5729
+-87.428 34.296 5714
+-87.302 34.296 5645
+-87.176 34.296 5592
+-87.05 34.296 5532
+-86.924 34.296 5571
+-86.798 34.296 5516
+-86.672 34.296 5435
+-86.546 34.296 5338
+-86.42 34.296 5178
+-86.294 34.296 5053
+-86.168 34.296 5018
+-86.042 34.296 4936
+-85.916 34.296 4762
+-85.79 34.296 4682
+-85.664 34.296 4619
+-85.538 34.296 4526
+-85.412 34.296 4418
+-85.286 34.296 4290
+-85.16 34.296 4226
+-85.034 34.296 4185
+-84.908 34.296 4173
+-84.782 34.296 4149
+-84.656 34.296 4077
+-84.53 34.296 3990
+-84.404 34.296 3866
+-84.278 34.296 3770
+-84.152 34.296 3669
+-84.026 34.296 3646
+-83.9 34.296 3643
+-83.774 34.296 3612
+-83.648 34.296 3593
+-83.522 34.296 3551
+-83.396 34.296 3479
+-83.27 34.296 3414
+-83.144 34.296 3308
+-83.018 34.296 3197
+-82.892 34.296 3087
+-82.766 34.296 3047
+-82.64 34.296 3058
+-82.514 34.296 3050
+-82.388 34.296 3085
+-82.262 34.296 3149
+-82.136 34.296 3171
+-82.01 34.296 3191
+-81.884 34.296 3148
+-81.758 34.296 3126
+-81.632 34.296 3119
+-81.506 34.296 3087
+-81.38 34.296 3074
+-81.254 34.296 3062
+-81.128 34.296 3048
+-81.002 34.296 3032
+-80.876 34.296 3008
+-80.75 34.296 2978
+-80.624 34.296 2957
+-80.498 34.296 2923
+-80.372 34.296 2874
+-80.246 34.296 2819
+-80.12 34.296 2773
+-79.994 34.296 2753
+-79.868 34.296 2698
+-79.742 34.296 2626
+-79.616 34.296 2558
+-79.49 34.296 2503
+-79.364 34.296 2449
+-79.238 34.296 2445
+-79.112 34.296 2433
+-78.986 34.296 2436
+-78.86 34.296 2435
+-78.734 34.296 2487
+-78.608 34.296 2518
+-78.482 34.296 2551
+-78.356 34.296 2584
+-78.23 34.296 2617
+-78.104 34.296 2649
+-77.978 34.296 2689
+-77.852 34.296 2721
+-77.726 34.296 2746
+-77.6 34.296 2843
+-77.474 34.296 2879
+-77.348 34.296 2905
+-77.222 34.296 2930
+-77.096 34.296 2953
+-76.97 34.296 2977
+-76.844 34.296 3003
+-76.718 34.296 3022
+-76.592 34.296 3038
+-76.466 34.296 3055
+-76.34 34.296 3042
+-76.214 34.296 3057
+-76.088 34.296 3071
+-75.962 34.296 3123
+-75.836 34.296 3133
+-75.71 34.296 3151
+-75.584 34.296 3164
+-75.458 34.296 3163
+-75.332 34.296 3187
+-75.206 34.296 3229
+-75.08 34.296 3245
+-74.954 34.296 3255
+-74.828 34.296 3263
+-74.702 34.296 3305
+-74.576 34.296 3316
+-74.45 34.296 3278
+-74.324 34.296 3299
+-74.198 34.296 3303
+-74.072 34.296 3244
+-73.946 34.296 3177
+-73.82 34.296 3197
+-73.694 34.296 3203
+-73.568 34.296 3231
+-73.442 34.296 3216
+-73.316 34.296 3226
+-73.19 34.296 3232
+-73.064 34.296 3220
+-72.938 34.296 3225
+-72.812 34.296 3230
+-72.686 34.296 3214
+-72.56 34.296 3201
+-72.434 34.296 3230
+-72.308 34.296 3228
+-72.182 34.296 3233
+-72.056 34.296 3237
+-71.93 34.296 3167
+-71.804 34.296 3203
+-71.678 34.296 3201
+-71.552 34.296 3205
+-71.426 34.296 3208
+-71.3 34.296 3418
+-71.174 34.296 3352
+-71.048 34.296 3361
+-70.922 34.296 3363
+-70.796 34.296 3266
+-70.67 34.296 3255
+-70.544 34.296 3257
+-70.418 34.296 3258
+-70.292 34.296 3239
+-70.166 34.296 3240
+-70.04 34.296 3242
+-69.914 34.296 3243
+-69.788 34.296 3244
+-69.662 34.296 3265
+-69.536 34.296 3266
+-69.41 34.296 3252
+-69.284 34.296 3254
+-69.158 34.296 3255
+-69.032 34.296 3198
+-68.906 34.296 3378
+-68.78 34.296 3340
+-68.654 34.296 3341
+-68.528 34.296 3309
+-68.402 34.296 3311
+-68.276 34.296 3312
+-68.15 34.296 3440
+-68.024 34.296 3441
+-67.898 34.296 3441
+-67.772 34.296 3442
+-67.646 34.296 3443
+-67.52 34.296 3555
+-67.394 34.296 3556
+-67.268 34.296 3472
+-67.142 34.296 3473
+-67.016 34.296 3474
+-66.89 34.296 3475
+-66.764 34.296 3483
+-66.638 34.296 3442
+-66.512 34.296 3435
+-66.386 34.296 3384
+-66.26 34.296 3385
+-66.134 34.296 3347
+-66.008 34.296 3393
+-65.882 34.296 3394
+-65.756 34.296 3395
+-65.63 34.296 3396
+-65.504 34.296 3397
+-65.378 34.296 3398
+-65.252 34.296 3399
+-65.126 34.296 3373
+-128 34.244 2684
+-127.874 34.244 2684
+-127.748 34.244 2685
+-127.622 34.244 2685
+-127.496 34.244 2738
+-127.37 34.244 2797
+-127.244 34.244 2797
+-127.118 34.244 2798
+-126.992 34.244 2799
+-126.866 34.244 2800
+-126.74 34.244 2802
+-126.614 34.244 2890
+-126.488 34.244 2948
+-126.362 34.244 2950
+-126.236 34.244 2952
+-126.11 34.244 2986
+-125.984 34.244 2988
+-125.858 34.244 3137
+-125.732 34.244 3193
+-125.606 34.244 3204
+-125.48 34.244 3212
+-125.354 34.244 3221
+-125.228 34.244 3289
+-125.102 34.244 3302
+-124.976 34.244 3392
+-124.85 34.244 3406
+-124.724 34.244 3528
+-124.598 34.244 3539
+-124.472 34.244 3641
+-124.346 34.244 3658
+-124.22 34.244 3677
+-124.094 34.244 3698
+-123.968 34.244 3816
+-123.842 34.244 3917
+-123.716 34.244 3975
+-123.59 34.244 4064
+-123.464 34.244 4113
+-123.338 34.244 4127
+-123.212 34.244 4142
+-123.086 34.244 4120
+-122.96 34.244 3997
+-122.834 34.244 3798
+-122.708 34.244 3631
+-122.582 34.244 3882
+-122.456 34.244 4234
+-122.33 34.244 4380
+-122.204 34.244 4388
+-122.078 34.244 4550
+-121.952 34.244 4696
+-121.826 34.244 4797
+-121.7 34.244 4825
+-121.574 34.244 4905
+-121.448 34.244 4957
+-121.322 34.244 5112
+-121.196 34.244 5304
+-121.07 34.244 5521
+-120.944 34.244 5600
+-120.818 34.244 5801
+-120.692 34.244 5892
+-120.566 34.244 6057
+-120.44 34.244 6126
+-120.314 34.244 6286
+-120.188 34.244 6381
+-120.062 34.244 6603
+-119.936 34.244 6689
+-119.81 34.244 6817
+-119.684 34.244 7020
+-119.558 34.244 7134
+-119.432 34.244 7257
+-119.306 34.244 7404
+-119.18 34.244 7569
+-119.054 34.244 7648
+-118.928 34.244 7826
+-118.802 34.244 7950
+-118.676 34.244 8100
+-118.55 34.244 8210
+-118.424 34.244 8353
+-118.298 34.244 8492
+-118.172 34.244 8619
+-118.046 34.244 8725
+-117.92 34.244 8843
+-117.794 34.244 8987
+-117.668 34.244 9138
+-117.542 34.244 9252
+-117.416 34.244 9427
+-117.29 34.244 9405
+-117.164 34.244 9335
+-117.038 34.244 9203
+-116.912 34.244 9061
+-116.786 34.244 8912
+-116.66 34.244 8754
+-116.534 34.244 8645
+-116.408 34.244 8533
+-116.282 34.244 8422
+-116.156 34.244 8247
+-116.03 34.244 8101
+-115.904 34.244 7991
+-115.778 34.244 7850
+-115.652 34.244 7752
+-115.526 34.244 7632
+-115.4 34.244 7376
+-115.274 34.244 7307
+-115.148 34.244 7161
+-115.022 34.244 7015
+-114.896 34.244 6874
+-114.77 34.244 6762
+-114.644 34.244 6636
+-114.518 34.244 6464
+-114.392 34.244 6296
+-114.266 34.244 6262
+-114.14 34.244 6098
+-114.014 34.244 5959
+-113.888 34.244 5888
+-113.762 34.244 5754
+-113.636 34.244 5660
+-113.51 34.244 5519
+-113.384 34.244 5383
+-113.258 34.244 5245
+-113.132 34.244 5343
+-113.006 34.244 5452
+-112.88 34.244 5563
+-112.754 34.244 5604
+-112.628 34.244 5750
+-112.502 34.244 5773
+-112.376 34.244 5882
+-112.25 34.244 6012
+-112.124 34.244 6036
+-111.998 34.244 6147
+-111.872 34.244 6192
+-111.746 34.244 6262
+-111.62 34.244 6359
+-111.494 34.244 6352
+-111.368 34.244 6421
+-111.242 34.244 6500
+-111.116 34.244 6527
+-110.99 34.244 6527
+-110.864 34.244 6554
+-110.738 34.244 6552
+-110.612 34.244 6579
+-110.486 34.244 6573
+-110.36 34.244 6585
+-110.234 34.244 6601
+-110.108 34.244 6582
+-109.982 34.244 6571
+-109.856 34.244 6579
+-109.73 34.244 6557
+-109.604 34.244 6513
+-109.478 34.244 6439
+-109.352 34.244 6376
+-109.226 34.244 6323
+-109.1 34.244 6326
+-108.974 34.244 6215
+-108.848 34.244 6174
+-108.722 34.244 6067
+-108.596 34.244 5970
+-108.47 34.244 5938
+-108.344 34.244 5857
+-108.218 34.244 5784
+-108.092 34.244 5689
+-107.966 34.244 5603
+-107.84 34.244 5517
+-107.714 34.244 5434
+-107.588 34.244 5325
+-107.462 34.244 5250
+-107.336 34.244 5182
+-107.21 34.244 5070
+-107.084 34.244 4939
+-106.958 34.244 4854
+-106.832 34.244 4799
+-106.706 34.244 4689
+-106.58 34.244 4610
+-106.454 34.244 4512
+-106.328 34.244 4387
+-106.202 34.244 4358
+-106.076 34.244 4344
+-105.95 34.244 4332
+-105.824 34.244 4307
+-105.698 34.244 4306
+-105.572 34.244 4307
+-105.446 34.244 4308
+-105.32 34.244 4299
+-105.194 34.244 4191
+-105.068 34.244 4181
+-104.942 34.244 4173
+-104.816 34.244 4134
+-104.69 34.244 4060
+-104.564 34.244 4064
+-104.438 34.244 4011
+-104.312 34.244 3971
+-104.186 34.244 3952
+-104.06 34.244 3944
+-103.934 34.244 3883
+-103.808 34.244 3852
+-103.682 34.244 3788
+-103.556 34.244 3798
+-103.43 34.244 3795
+-103.304 34.244 3793
+-103.178 34.244 3792
+-103.052 34.244 3791
+-102.926 34.244 3791
+-102.8 34.244 3731
+-102.674 34.244 3701
+-102.548 34.244 3629
+-102.422 34.244 3624
+-102.296 34.244 3624
+-102.17 34.244 3632
+-102.044 34.244 3632
+-101.918 34.244 3633
+-101.792 34.244 3633
+-101.666 34.244 3621
+-101.54 34.244 3606
+-101.414 34.244 3505
+-101.288 34.244 3500
+-101.162 34.244 3495
+-101.036 34.244 3489
+-100.91 34.244 3468
+-100.784 34.244 3443
+-100.658 34.244 3400
+-100.532 34.244 3371
+-100.406 34.244 3362
+-100.28 34.244 3273
+-100.154 34.244 3178
+-100.028 34.244 3160
+-99.902 34.244 3161
+-99.776 34.244 3126
+-99.65 34.244 3145
+-99.524 34.244 3241
+-99.398 34.244 3244
+-99.272 34.244 3293
+-99.146 34.244 3292
+-99.02 34.244 3291
+-98.894 34.244 3311
+-98.768 34.244 3286
+-98.642 34.244 3285
+-98.516 34.244 3285
+-98.39 34.244 3301
+-98.264 34.244 3301
+-98.138 34.244 3301
+-98.012 34.244 3300
+-97.886 34.244 3300
+-97.76 34.244 3299
+-97.634 34.244 3243
+-97.508 34.244 3342
+-97.382 34.244 3235
+-97.256 34.244 3241
+-97.13 34.244 3241
+-97.004 34.244 3269
+-96.878 34.244 3360
+-96.752 34.244 3330
+-96.626 34.244 3375
+-96.5 34.244 3388
+-96.374 34.244 3374
+-96.248 34.244 3359
+-96.122 34.244 3361
+-95.996 34.244 3316
+-95.87 34.244 3318
+-95.744 34.244 3263
+-95.618 34.244 3258
+-95.492 34.244 3234
+-95.366 34.244 3198
+-95.24 34.244 3132
+-95.114 34.244 3093
+-94.988 34.244 3054
+-94.862 34.244 3030
+-94.736 34.244 3043
+-94.61 34.244 3110
+-94.484 34.244 3175
+-94.358 34.244 3252
+-94.232 34.244 3318
+-94.106 34.244 3383
+-93.98 34.244 3443
+-93.854 34.244 3531
+-93.728 34.244 3578
+-93.602 34.244 3592
+-93.476 34.244 3576
+-93.35 34.244 3649
+-93.224 34.244 3783
+-93.098 34.244 3866
+-92.972 34.244 3933
+-92.846 34.244 3972
+-92.72 34.244 4024
+-92.594 34.244 4064
+-92.468 34.244 4141
+-92.342 34.244 4304
+-92.216 34.244 4464
+-92.09 34.244 4545
+-91.964 34.244 4646
+-91.838 34.244 4726
+-91.712 34.244 4829
+-91.586 34.244 4916
+-91.46 34.244 5002
+-91.334 34.244 5093
+-91.208 34.244 5153
+-91.082 34.244 5193
+-90.956 34.244 5220
+-90.83 34.244 5308
+-90.704 34.244 5391
+-90.578 34.244 5509
+-90.452 34.244 5614
+-90.326 34.244 5669
+-90.2 34.244 5694
+-90.074 34.244 5722
+-89.948 34.244 5753
+-89.822 34.244 5776
+-89.696 34.244 5810
+-89.57 34.244 5844
+-89.444 34.244 5883
+-89.318 34.244 5900
+-89.192 34.244 5915
+-89.066 34.244 5942
+-88.94 34.244 5920
+-88.814 34.244 5921
+-88.688 34.244 5922
+-88.562 34.244 5938
+-88.436 34.244 5916
+-88.31 34.244 5908
+-88.184 34.244 5895
+-88.058 34.244 5853
+-87.932 34.244 5791
+-87.806 34.244 5749
+-87.68 34.244 5722
+-87.554 34.244 5686
+-87.428 34.244 5643
+-87.302 34.244 5585
+-87.176 34.244 5536
+-87.05 34.244 5548
+-86.924 34.244 5535
+-86.798 34.244 5456
+-86.672 34.244 5394
+-86.546 34.244 5258
+-86.42 34.244 5115
+-86.294 34.244 4999
+-86.168 34.244 4951
+-86.042 34.244 4846
+-85.916 34.244 4700
+-85.79 34.244 4619
+-85.664 34.244 4567
+-85.538 34.244 4506
+-85.412 34.244 4406
+-85.286 34.244 4315
+-85.16 34.244 4236
+-85.034 34.244 4202
+-84.908 34.244 4176
+-84.782 34.244 4133
+-84.656 34.244 4059
+-84.53 34.244 3961
+-84.404 34.244 3802
+-84.278 34.244 3643
+-84.152 34.244 3521
+-84.026 34.244 3521
+-83.9 34.244 3532
+-83.774 34.244 3548
+-83.648 34.244 3516
+-83.522 34.244 3480
+-83.396 34.244 3421
+-83.27 34.244 3315
+-83.144 34.244 3201
+-83.018 34.244 3060
+-82.892 34.244 2950
+-82.766 34.244 2900
+-82.64 34.244 2899
+-82.514 34.244 2955
+-82.388 34.244 3040
+-82.262 34.244 3091
+-82.136 34.244 3133
+-82.01 34.244 3190
+-81.884 34.244 3161
+-81.758 34.244 3203
+-81.632 34.244 3204
+-81.506 34.244 3180
+-81.38 34.244 3175
+-81.254 34.244 3139
+-81.128 34.244 3107
+-81.002 34.244 3101
+-80.876 34.244 3080
+-80.75 34.244 3053
+-80.624 34.244 3036
+-80.498 34.244 3005
+-80.372 34.244 2961
+-80.246 34.244 2912
+-80.12 34.244 2888
+-79.994 34.244 2847
+-79.868 34.244 2785
+-79.742 34.244 2723
+-79.616 34.244 2667
+-79.49 34.244 2608
+-79.364 34.244 2594
+-79.238 34.244 2565
+-79.112 34.244 2548
+-78.986 34.244 2522
+-78.86 34.244 2555
+-78.734 34.244 2569
+-78.608 34.244 2587
+-78.482 34.244 2608
+-78.356 34.244 2631
+-78.23 34.244 2655
+-78.104 34.244 2690
+-77.978 34.244 2715
+-77.852 34.244 2740
+-77.726 34.244 2832
+-77.6 34.244 2866
+-77.474 34.244 2891
+-77.348 34.244 2916
+-77.222 34.244 2939
+-77.096 34.244 2964
+-76.97 34.244 2989
+-76.844 34.244 3010
+-76.718 34.244 3026
+-76.592 34.244 3044
+-76.466 34.244 3033
+-76.34 34.244 3048
+-76.214 34.244 3063
+-76.088 34.244 3114
+-75.962 34.244 3125
+-75.836 34.244 3144
+-75.71 34.244 3157
+-75.584 34.244 3157
+-75.458 34.244 3181
+-75.332 34.244 3223
+-75.206 34.244 3239
+-75.08 34.244 3249
+-74.954 34.244 3258
+-74.828 34.244 3300
+-74.702 34.244 3311
+-74.576 34.244 3274
+-74.45 34.244 3295
+-74.324 34.244 3299
+-74.198 34.244 3239
+-74.072 34.244 3175
+-73.946 34.244 3195
+-73.82 34.244 3201
+-73.694 34.244 3229
+-73.568 34.244 3214
+-73.442 34.244 3225
+-73.316 34.244 3230
+-73.19 34.244 3219
+-73.064 34.244 3224
+-72.938 34.244 3229
+-72.812 34.244 3213
+-72.686 34.244 3201
+-72.56 34.244 3229
+-72.434 34.244 3227
+-72.308 34.244 3232
+-72.182 34.244 3236
+-72.056 34.244 3166
+-71.93 34.244 3203
+-71.804 34.244 3201
+-71.678 34.244 3205
+-71.552 34.244 3208
+-71.426 34.244 3416
+-71.3 34.244 3347
+-71.174 34.244 3359
+-71.048 34.244 3361
+-70.922 34.244 3265
+-70.796 34.244 3254
+-70.67 34.244 3256
+-70.544 34.244 3257
+-70.418 34.244 3238
+-70.292 34.244 3239
+-70.166 34.244 3241
+-70.04 34.244 3242
+-69.914 34.244 3243
+-69.788 34.244 3264
+-69.662 34.244 3265
+-69.536 34.244 3251
+-69.41 34.244 3253
+-69.284 34.244 3254
+-69.158 34.244 3198
+-69.032 34.244 3376
+-68.906 34.244 3339
+-68.78 34.244 3340
+-68.654 34.244 3308
+-68.528 34.244 3309
+-68.402 34.244 3311
+-68.276 34.244 3438
+-68.15 34.244 3439
+-68.024 34.244 3440
+-67.898 34.244 3441
+-67.772 34.244 3442
+-67.646 34.244 3553
+-67.52 34.244 3554
+-67.394 34.244 3470
+-67.268 34.244 3472
+-67.142 34.244 3473
+-67.016 34.244 3474
+-66.89 34.244 3482
+-66.764 34.244 3441
+-66.638 34.244 3434
+-66.512 34.244 3383
+-66.386 34.244 3384
+-66.26 34.244 3346
+-66.134 34.244 3392
+-66.008 34.244 3393
+-65.882 34.244 3394
+-65.756 34.244 3395
+-65.63 34.244 3396
+-65.504 34.244 3397
+-65.378 34.244 3398
+-65.252 34.244 3372
+-65.126 34.244 3373
+-128 34.192 2682
+-127.874 34.192 2682
+-127.748 34.192 2683
+-127.622 34.192 2683
+-127.496 34.192 2684
+-127.37 34.192 2737
+-127.244 34.192 2799
+-127.118 34.192 2800
+-126.992 34.192 2801
+-126.866 34.192 2802
+-126.74 34.192 2886
+-126.614 34.192 2886
+-126.488 34.192 2886
+-126.362 34.192 2947
+-126.236 34.192 2949
+-126.11 34.192 2952
+-125.984 34.192 3037
+-125.858 34.192 3164
+-125.732 34.192 3170
+-125.606 34.192 3203
+-125.48 34.192 3210
+-125.354 34.192 3220
+-125.228 34.192 3284
+-125.102 34.192 3297
+-124.976 34.192 3312
+-124.85 34.192 3405
+-124.724 34.192 3426
+-124.598 34.192 3548
+-124.472 34.192 3649
+-124.346 34.192 3665
+-124.22 34.192 3683
+-124.094 34.192 3782
+-123.968 34.192 3815
+-123.842 34.192 3920
+-123.716 34.192 4007
+-123.59 34.192 4071
+-123.464 34.192 4129
+-123.338 34.192 4118
+-123.212 34.192 4137
+-123.086 34.192 4090
+-122.96 34.192 4042
+-122.834 34.192 3903
+-122.708 34.192 3832
+-122.582 34.192 4012
+-122.456 34.192 4280
+-122.33 34.192 4428
+-122.204 34.192 4526
+-122.078 34.192 4611
+-121.952 34.192 4710
+-121.826 34.192 4827
+-121.7 34.192 4860
+-121.574 34.192 4844
+-121.448 34.192 4974
+-121.322 34.192 5147
+-121.196 34.192 5257
+-121.07 34.192 5459
+-120.944 34.192 5691
+-120.818 34.192 5832
+-120.692 34.192 5838
+-120.566 34.192 5986
+-120.44 34.192 6116
+-120.314 34.192 6288
+-120.188 34.192 6435
+-120.062 34.192 6555
+-119.936 34.192 6678
+-119.81 34.192 6843
+-119.684 34.192 6963
+-119.558 34.192 7166
+-119.432 34.192 7231
+-119.306 34.192 7324
+-119.18 34.192 7456
+-119.054 34.192 7667
+-118.928 34.192 7803
+-118.802 34.192 7925
+-118.676 34.192 8055
+-118.55 34.192 8236
+-118.424 34.192 8342
+-118.298 34.192 8484
+-118.172 34.192 8645
+-118.046 34.192 8794
+-117.92 34.192 8911
+-117.794 34.192 9045
+-117.668 34.192 9103
+-117.542 34.192 9316
+-117.416 34.192 9381
+-117.29 34.192 9506
+-117.164 34.192 9335
+-117.038 34.192 9195
+-116.912 34.192 9058
+-116.786 34.192 8957
+-116.66 34.192 8829
+-116.534 34.192 8675
+-116.408 34.192 8498
+-116.282 34.192 8385
+-116.156 34.192 8248
+-116.03 34.192 8082
+-115.904 34.192 7966
+-115.778 34.192 7843
+-115.652 34.192 7710
+-115.526 34.192 7584
+-115.4 34.192 7424
+-115.274 34.192 7314
+-115.148 34.192 7177
+-115.022 34.192 6994
+-114.896 34.192 6916
+-114.77 34.192 6691
+-114.644 34.192 6625
+-114.518 34.192 6463
+-114.392 34.192 6336
+-114.266 34.192 6239
+-114.14 34.192 6172
+-114.014 34.192 6049
+-113.888 34.192 5956
+-113.762 34.192 5847
+-113.636 34.192 5656
+-113.51 34.192 5551
+-113.384 34.192 5407
+-113.258 34.192 5256
+-113.132 34.192 5423
+-113.006 34.192 5497
+-112.88 34.192 5626
+-112.754 34.192 5646
+-112.628 34.192 5730
+-112.502 34.192 5836
+-112.376 34.192 5962
+-112.25 34.192 6070
+-112.124 34.192 6135
+-111.998 34.192 6200
+-111.872 34.192 6241
+-111.746 34.192 6309
+-111.62 34.192 6341
+-111.494 34.192 6401
+-111.368 34.192 6479
+-111.242 34.192 6532
+-111.116 34.192 6565
+-110.99 34.192 6597
+-110.864 34.192 6609
+-110.738 34.192 6641
+-110.612 34.192 6650
+-110.486 34.192 6653
+-110.36 34.192 6658
+-110.234 34.192 6655
+-110.108 34.192 6643
+-109.982 34.192 6644
+-109.856 34.192 6633
+-109.73 34.192 6611
+-109.604 34.192 6544
+-109.478 34.192 6520
+-109.352 34.192 6453
+-109.226 34.192 6382
+-109.1 34.192 6346
+-108.974 34.192 6305
+-108.848 34.192 6247
+-108.722 34.192 6131
+-108.596 34.192 6046
+-108.47 34.192 6019
+-108.344 34.192 5906
+-108.218 34.192 5827
+-108.092 34.192 5719
+-107.966 34.192 5621
+-107.84 34.192 5489
+-107.714 34.192 5487
+-107.588 34.192 5369
+-107.462 34.192 5284
+-107.336 34.192 5205
+-107.21 34.192 5108
+-107.084 34.192 4921
+-106.958 34.192 4758
+-106.832 34.192 4786
+-106.706 34.192 4680
+-106.58 34.192 4602
+-106.454 34.192 4556
+-106.328 34.192 4495
+-106.202 34.192 4411
+-106.076 34.192 4361
+-105.95 34.192 4329
+-105.824 34.192 4326
+-105.698 34.192 4322
+-105.572 34.192 4316
+-105.446 34.192 4324
+-105.32 34.192 4238
+-105.194 34.192 4234
+-105.068 34.192 4226
+-104.942 34.192 4123
+-104.816 34.192 4107
+-104.69 34.192 4072
+-104.564 34.192 3999
+-104.438 34.192 3973
+-104.312 34.192 3952
+-104.186 34.192 3942
+-104.06 34.192 3880
+-103.934 34.192 3849
+-103.808 34.192 3805
+-103.682 34.192 3793
+-103.556 34.192 3789
+-103.43 34.192 3787
+-103.304 34.192 3786
+-103.178 34.192 3785
+-103.052 34.192 3784
+-102.926 34.192 3727
+-102.8 34.192 3733
+-102.674 34.192 3734
+-102.548 34.192 3735
+-102.422 34.192 3672
+-102.296 34.192 3683
+-102.17 34.192 3685
+-102.044 34.192 3686
+-101.918 34.192 3688
+-101.792 34.192 3620
+-101.666 34.192 3605
+-101.54 34.192 3607
+-101.414 34.192 3509
+-101.288 34.192 3504
+-101.162 34.192 3499
+-101.036 34.192 3494
+-100.91 34.192 3458
+-100.784 34.192 3442
+-100.658 34.192 3409
+-100.532 34.192 3381
+-100.406 34.192 3371
+-100.28 34.192 3281
+-100.154 34.192 3183
+-100.028 34.192 3164
+-99.902 34.192 3116
+-99.776 34.192 3128
+-99.65 34.192 3145
+-99.524 34.192 3242
+-99.398 34.192 3245
+-99.272 34.192 3294
+-99.146 34.192 3294
+-99.02 34.192 3313
+-98.894 34.192 3287
+-98.768 34.192 3287
+-98.642 34.192 3286
+-98.516 34.192 3302
+-98.39 34.192 3302
+-98.264 34.192 3301
+-98.138 34.192 3301
+-98.012 34.192 3300
+-97.886 34.192 3299
+-97.76 34.192 3240
+-97.634 34.192 3340
+-97.508 34.192 3230
+-97.382 34.192 3235
+-97.256 34.192 3234
+-97.13 34.192 3265
+-97.004 34.192 3302
+-96.878 34.192 3324
+-96.752 34.192 3372
+-96.626 34.192 3384
+-96.5 34.192 3371
+-96.374 34.192 3356
+-96.248 34.192 3359
+-96.122 34.192 3313
+-95.996 34.192 3315
+-95.87 34.192 3259
+-95.744 34.192 3255
+-95.618 34.192 3230
+-95.492 34.192 3192
+-95.366 34.192 3123
+-95.24 34.192 3075
+-95.114 34.192 3017
+-94.988 34.192 2949
+-94.862 34.192 2889
+-94.736 34.192 2881
+-94.61 34.192 2939
+-94.484 34.192 3059
+-94.358 34.192 3164
+-94.232 34.192 3259
+-94.106 34.192 3338
+-93.98 34.192 3396
+-93.854 34.192 3491
+-93.728 34.192 3531
+-93.602 34.192 3585
+-93.476 34.192 3603
+-93.35 34.192 3659
+-93.224 34.192 3720
+-93.098 34.192 3777
+-92.972 34.192 3787
+-92.846 34.192 3880
+-92.72 34.192 3985
+-92.594 34.192 4001
+-92.468 34.192 4088
+-92.342 34.192 4243
+-92.216 34.192 4391
+-92.09 34.192 4503
+-91.964 34.192 4547
+-91.838 34.192 4624
+-91.712 34.192 4737
+-91.586 34.192 4865
+-91.46 34.192 4974
+-91.334 34.192 5065
+-91.208 34.192 5085
+-91.082 34.192 5140
+-90.956 34.192 5173
+-90.83 34.192 5239
+-90.704 34.192 5330
+-90.578 34.192 5433
+-90.452 34.192 5536
+-90.326 34.192 5582
+-90.2 34.192 5586
+-90.074 34.192 5670
+-89.948 34.192 5681
+-89.822 34.192 5728
+-89.696 34.192 5762
+-89.57 34.192 5782
+-89.444 34.192 5822
+-89.318 34.192 5847
+-89.192 34.192 5864
+-89.066 34.192 5882
+-88.94 34.192 5860
+-88.814 34.192 5880
+-88.688 34.192 5892
+-88.562 34.192 5879
+-88.436 34.192 5853
+-88.31 34.192 5859
+-88.184 34.192 5818
+-88.058 34.192 5763
+-87.932 34.192 5738
+-87.806 34.192 5709
+-87.68 34.192 5664
+-87.554 34.192 5614
+-87.428 34.192 5577
+-87.302 34.192 5524
+-87.176 34.192 5471
+-87.05 34.192 5491
+-86.924 34.192 5461
+-86.798 34.192 5351
+-86.672 34.192 5272
+-86.546 34.192 5130
+-86.42 34.192 4993
+-86.294 34.192 4897
+-86.168 34.192 4840
+-86.042 34.192 4761
+-85.916 34.192 4628
+-85.79 34.192 4559
+-85.664 34.192 4524
+-85.538 34.192 4498
+-85.412 34.192 4432
+-85.286 34.192 4318
+-85.16 34.192 4224
+-85.034 34.192 4174
+-84.908 34.192 4151
+-84.782 34.192 4106
+-84.656 34.192 4022
+-84.53 34.192 3904
+-84.404 34.192 3711
+-84.278 34.192 3428
+-84.152 34.192 3286
+-84.026 34.192 3344
+-83.9 34.192 3437
+-83.774 34.192 3485
+-83.648 34.192 3464
+-83.522 34.192 3428
+-83.396 34.192 3344
+-83.27 34.192 3248
+-83.144 34.192 3114
+-83.018 34.192 2958
+-82.892 34.192 2819
+-82.766 34.192 2759
+-82.64 34.192 2794
+-82.514 34.192 2888
+-82.388 34.192 2976
+-82.262 34.192 3057
+-82.136 34.192 3121
+-82.01 34.192 3172
+-81.884 34.192 3173
+-81.758 34.192 3198
+-81.632 34.192 3216
+-81.506 34.192 3226
+-81.38 34.192 3216
+-81.254 34.192 3199
+-81.128 34.192 3208
+-81.002 34.192 3149
+-80.876 34.192 3130
+-80.75 34.192 3106
+-80.624 34.192 3085
+-80.498 34.192 3050
+-80.372 34.192 3010
+-80.246 34.192 2997
+-80.12 34.192 2968
+-79.994 34.192 2914
+-79.868 34.192 2859
+-79.742 34.192 2804
+-79.616 34.192 2745
+-79.49 34.192 2726
+-79.364 34.192 2687
+-79.238 34.192 2656
+-79.112 34.192 2662
+-78.986 34.192 2629
+-78.86 34.192 2626
+-78.734 34.192 2677
+-78.608 34.192 2685
+-78.482 34.192 2698
+-78.356 34.192 2714
+-78.23 34.192 2745
+-78.104 34.192 2766
+-77.978 34.192 2783
+-77.852 34.192 2821
+-77.726 34.192 2853
+-77.6 34.192 2877
+-77.474 34.192 2902
+-77.348 34.192 2925
+-77.222 34.192 2950
+-77.096 34.192 2976
+-76.97 34.192 2997
+-76.844 34.192 3014
+-76.718 34.192 3033
+-76.592 34.192 3023
+-76.466 34.192 3039
+-76.34 34.192 3054
+-76.214 34.192 3105
+-76.088 34.192 3117
+-75.962 34.192 3136
+-75.836 34.192 3150
+-75.71 34.192 3150
+-75.584 34.192 3175
+-75.458 34.192 3216
+-75.332 34.192 3233
+-75.206 34.192 3244
+-75.08 34.192 3254
+-74.954 34.192 3295
+-74.828 34.192 3306
+-74.702 34.192 3270
+-74.576 34.192 3291
+-74.45 34.192 3296
+-74.324 34.192 3238
+-74.198 34.192 3173
+-74.072 34.192 3193
+-73.946 34.192 3199
+-73.82 34.192 3227
+-73.694 34.192 3212
+-73.568 34.192 3223
+-73.442 34.192 3229
+-73.316 34.192 3218
+-73.19 34.192 3223
+-73.064 34.192 3228
+-72.938 34.192 3212
+-72.812 34.192 3200
+-72.686 34.192 3228
+-72.56 34.192 3226
+-72.434 34.192 3231
+-72.308 34.192 3236
+-72.182 34.192 3166
+-72.056 34.192 3202
+-71.93 34.192 3201
+-71.804 34.192 3204
+-71.678 34.192 3208
+-71.552 34.192 3414
+-71.426 34.192 3349
+-71.3 34.192 3357
+-71.174 34.192 3360
+-71.048 34.192 3263
+-70.922 34.192 3253
+-70.796 34.192 3254
+-70.67 34.192 3256
+-70.544 34.192 3237
+-70.418 34.192 3238
+-70.292 34.192 3240
+-70.166 34.192 3241
+-70.04 34.192 3243
+-69.914 34.192 3262
+-69.788 34.192 3264
+-69.662 34.192 3250
+-69.536 34.192 3252
+-69.41 34.192 3254
+-69.284 34.192 3197
+-69.158 34.192 3375
+-69.032 34.192 3337
+-68.906 34.192 3338
+-68.78 34.192 3307
+-68.654 34.192 3308
+-68.528 34.192 3310
+-68.402 34.192 3437
+-68.276 34.192 3438
+-68.15 34.192 3439
+-68.024 34.192 3440
+-67.898 34.192 3441
+-67.772 34.192 3551
+-67.646 34.192 3553
+-67.52 34.192 3469
+-67.394 34.192 3470
+-67.268 34.192 3471
+-67.142 34.192 3472
+-67.016 34.192 3480
+-66.89 34.192 3440
+-66.764 34.192 3433
+-66.638 34.192 3382
+-66.512 34.192 3383
+-66.386 34.192 3345
+-66.26 34.192 3391
+-66.134 34.192 3392
+-66.008 34.192 3393
+-65.882 34.192 3394
+-65.756 34.192 3395
+-65.63 34.192 3396
+-65.504 34.192 3397
+-65.378 34.192 3371
+-65.252 34.192 3372
+-65.126 34.192 3373
+-128 34.14 2680
+-127.874 34.14 2680
+-127.748 34.14 2680
+-127.622 34.14 2681
+-127.496 34.14 2681
+-127.37 34.14 2682
+-127.244 34.14 2735
+-127.118 34.14 2798
+-126.992 34.14 2799
+-126.866 34.14 2880
+-126.74 34.14 2880
+-126.614 34.14 2880
+-126.488 34.14 2880
+-126.362 34.14 2882
+-126.236 34.14 2920
+-126.11 34.14 2999
+-125.984 34.14 3001
+-125.858 34.14 3030
+-125.732 34.14 3160
+-125.606 34.14 3167
+-125.48 34.14 3202
+-125.354 34.14 3211
+-125.228 34.14 3222
+-125.102 34.14 3283
+-124.976 34.14 3298
+-124.85 34.14 3315
+-124.724 34.14 3422
+-124.598 34.14 3439
+-124.472 34.14 3569
+-124.346 34.14 3670
+-124.22 34.14 3764
+-124.094 34.14 3793
+-123.968 34.14 3886
+-123.842 34.14 3970
+-123.716 34.14 3999
+-123.59 34.14 4080
+-123.464 34.14 4083
+-123.338 34.14 4122
+-123.212 34.14 4108
+-123.086 34.14 4130
+-122.96 34.14 4129
+-122.834 34.14 4096
+-122.708 34.14 4103
+-122.582 34.14 4200
+-122.456 34.14 4350
+-122.33 34.14 4452
+-122.204 34.14 4546
+-122.078 34.14 4646
+-121.952 34.14 4747
+-121.826 34.14 4831
+-121.7 34.14 4881
+-121.574 34.14 4955
+-121.448 34.14 5061
+-121.322 34.14 5138
+-121.196 34.14 5292
+-121.07 34.14 5474
+-120.944 34.14 5682
+-120.818 34.14 5826
+-120.692 34.14 5890
+-120.566 34.14 6015
+-120.44 34.14 6198
+-120.314 34.14 6278
+-120.188 34.14 6436
+-120.062 34.14 6525
+-119.936 34.14 6665
+-119.81 34.14 6808
+-119.684 34.14 6950
+-119.558 34.14 7111
+-119.432 34.14 7182
+-119.306 34.14 7357
+-119.18 34.14 7531
+-119.054 34.14 7633
+-118.928 34.14 7814
+-118.802 34.14 7976
+-118.676 34.14 8075
+-118.55 34.14 8194
+-118.424 34.14 8279
+-118.298 34.14 8504
+-118.172 34.14 8552
+-118.046 34.14 8755
+-117.92 34.14 8868
+-117.794 34.14 9026
+-117.668 34.14 9157
+-117.542 34.14 9306
+-117.416 34.14 9446
+-117.29 34.14 9481
+-117.164 34.14 9369
+-117.038 34.14 9197
+-116.912 34.14 9102
+-116.786 34.14 8896
+-116.66 34.14 8780
+-116.534 34.14 8664
+-116.408 34.14 8522
+-116.282 34.14 8392
+-116.156 34.14 8266
+-116.03 34.14 8128
+-115.904 34.14 7977
+-115.778 34.14 7837
+-115.652 34.14 7720
+-115.526 34.14 7538
+-115.4 34.14 7457
+-115.274 34.14 7324
+-115.148 34.14 7101
+-115.022 34.14 6998
+-114.896 34.14 6886
+-114.77 34.14 6758
+-114.644 34.14 6604
+-114.518 34.14 6515
+-114.392 34.14 6383
+-114.266 34.14 6279
+-114.14 34.14 6234
+-114.014 34.14 6152
+-113.888 34.14 5909
+-113.762 34.14 5901
+-113.636 34.14 5709
+-113.51 34.14 5552
+-113.384 34.14 5416
+-113.258 34.14 5311
+-113.132 34.14 5428
+-113.006 34.14 5528
+-112.88 34.14 5651
+-112.754 34.14 5702
+-112.628 34.14 5819
+-112.502 34.14 5897
+-112.376 34.14 6013
+-112.25 34.14 6125
+-112.124 34.14 6154
+-111.998 34.14 6269
+-111.872 34.14 6300
+-111.746 34.14 6410
+-111.62 34.14 6440
+-111.494 34.14 6460
+-111.368 34.14 6552
+-111.242 34.14 6610
+-111.116 34.14 6646
+-110.99 34.14 6691
+-110.864 34.14 6712
+-110.738 34.14 6737
+-110.612 34.14 6732
+-110.486 34.14 6740
+-110.36 34.14 6742
+-110.234 34.14 6732
+-110.108 34.14 6723
+-109.982 34.14 6696
+-109.856 34.14 6677
+-109.73 34.14 6644
+-109.604 34.14 6627
+-109.478 34.14 6586
+-109.352 34.14 6511
+-109.226 34.14 6443
+-109.1 34.14 6383
+-108.974 34.14 6360
+-108.848 34.14 6276
+-108.722 34.14 6196
+-108.596 34.14 6121
+-108.47 34.14 5997
+-108.344 34.14 5961
+-108.218 34.14 5859
+-108.092 34.14 5757
+-107.966 34.14 5667
+-107.84 34.14 5591
+-107.714 34.14 5513
+-107.588 34.14 5432
+-107.462 34.14 5300
+-107.336 34.14 5136
+-107.21 34.14 5154
+-107.084 34.14 5037
+-106.958 34.14 4869
+-106.832 34.14 4780
+-106.706 34.14 4645
+-106.58 34.14 4538
+-106.454 34.14 4555
+-106.328 34.14 4512
+-106.202 34.14 4418
+-106.076 34.14 4349
+-105.95 34.14 4316
+-105.824 34.14 4314
+-105.698 34.14 4335
+-105.572 34.14 4323
+-105.446 34.14 4266
+-105.32 34.14 4245
+-105.194 34.14 4236
+-105.068 34.14 4149
+-104.942 34.14 4125
+-104.816 34.14 4109
+-104.69 34.14 4041
+-104.564 34.14 4009
+-104.438 34.14 3983
+-104.312 34.14 3971
+-104.186 34.14 3877
+-104.06 34.14 3871
+-103.934 34.14 3800
+-103.808 34.14 3786
+-103.682 34.14 3783
+-103.556 34.14 3780
+-103.43 34.14 3778
+-103.304 34.14 3777
+-103.178 34.14 3777
+-103.052 34.14 3738
+-102.926 34.14 3726
+-102.8 34.14 3727
+-102.674 34.14 3728
+-102.548 34.14 3694
+-102.422 34.14 3679
+-102.296 34.14 3680
+-102.17 34.14 3682
+-102.044 34.14 3684
+-101.918 34.14 3619
+-101.792 34.14 3646
+-101.666 34.14 3648
+-101.54 34.14 3650
+-101.414 34.14 3564
+-101.288 34.14 3560
+-101.162 34.14 3556
+-101.036 34.14 3529
+-100.91 34.14 3457
+-100.784 34.14 3450
+-100.658 34.14 3405
+-100.532 34.14 3389
+-100.406 34.14 3359
+-100.28 34.14 3290
+-100.154 34.14 3245
+-100.028 34.14 3169
+-99.902 34.14 3156
+-99.776 34.14 3129
+-99.65 34.14 3146
+-99.524 34.14 3243
+-99.398 34.14 3246
+-99.272 34.14 3296
+-99.146 34.14 3316
+-99.02 34.14 3289
+-98.894 34.14 3289
+-98.768 34.14 3288
+-98.642 34.14 3304
+-98.516 34.14 3303
+-98.39 34.14 3302
+-98.264 34.14 3301
+-98.138 34.14 3300
+-98.012 34.14 3299
+-97.886 34.14 3239
+-97.76 34.14 3338
+-97.634 34.14 3225
+-97.508 34.14 3229
+-97.382 34.14 3229
+-97.256 34.14 3196
+-97.13 34.14 3297
+-97.004 34.14 3319
+-96.878 34.14 3305
+-96.752 34.14 3323
+-96.626 34.14 3311
+-96.5 34.14 3299
+-96.374 34.14 3305
+-96.248 34.14 3313
+-96.122 34.14 3264
+-95.996 34.14 3264
+-95.87 34.14 3258
+-95.744 34.14 3236
+-95.618 34.14 3200
+-95.492 34.14 3133
+-95.366 34.14 3087
+-95.24 34.14 3028
+-95.114 34.14 2953
+-94.988 34.14 2858
+-94.862 34.14 2753
+-94.736 34.14 2706
+-94.61 34.14 2778
+-94.484 34.14 2924
+-94.358 34.14 3079
+-94.232 34.14 3179
+-94.106 34.14 3275
+-93.98 34.14 3336
+-93.854 34.14 3419
+-93.728 34.14 3494
+-93.602 34.14 3550
+-93.476 34.14 3594
+-93.35 34.14 3652
+-93.224 34.14 3706
+-93.098 34.14 3730
+-92.972 34.14 3709
+-92.846 34.14 3780
+-92.72 34.14 3906
+-92.594 34.14 4001
+-92.468 34.14 4081
+-92.342 34.14 4215
+-92.216 34.14 4337
+-92.09 34.14 4447
+-91.964 34.14 4483
+-91.838 34.14 4576
+-91.712 34.14 4648
+-91.586 34.14 4795
+-91.46 34.14 4932
+-91.334 34.14 5023
+-91.208 34.14 5090
+-91.082 34.14 5104
+-90.956 34.14 5118
+-90.83 34.14 5196
+-90.704 34.14 5264
+-90.578 34.14 5354
+-90.452 34.14 5477
+-90.326 34.14 5514
+-90.2 34.14 5574
+-90.074 34.14 5615
+-89.948 34.14 5603
+-89.822 34.14 5679
+-89.696 34.14 5714
+-89.57 34.14 5711
+-89.444 34.14 5759
+-89.318 34.14 5802
+-89.192 34.14 5825
+-89.066 34.14 5834
+-88.94 34.14 5832
+-88.814 34.14 5837
+-88.688 34.14 5839
+-88.562 34.14 5821
+-88.436 34.14 5785
+-88.31 34.14 5784
+-88.184 34.14 5744
+-88.058 34.14 5729
+-87.932 34.14 5687
+-87.806 34.14 5627
+-87.68 34.14 5573
+-87.554 34.14 5539
+-87.428 34.14 5510
+-87.302 34.14 5494
+-87.176 34.14 5452
+-87.05 34.14 5385
+-86.924 34.14 5336
+-86.798 34.14 5259
+-86.672 34.14 5165
+-86.546 34.14 5049
+-86.42 34.14 4957
+-86.294 34.14 4865
+-86.168 34.14 4787
+-86.042 34.14 4733
+-85.916 34.14 4593
+-85.79 34.14 4548
+-85.664 34.14 4497
+-85.538 34.14 4482
+-85.412 34.14 4422
+-85.286 34.14 4296
+-85.16 34.14 4153
+-85.034 34.14 4079
+-84.908 34.14 4090
+-84.782 34.14 4076
+-84.656 34.14 3994
+-84.53 34.14 3863
+-84.404 34.14 3621
+-84.278 34.14 3305
+-84.152 34.14 3157
+-84.026 34.14 3256
+-83.9 34.14 3385
+-83.774 34.14 3419
+-83.648 34.14 3413
+-83.522 34.14 3355
+-83.396 34.14 3284
+-83.27 34.14 3188
+-83.144 34.14 3066
+-83.018 34.14 2919
+-82.892 34.14 2765
+-82.766 34.14 2698
+-82.64 34.14 2752
+-82.514 34.14 2862
+-82.388 34.14 2971
+-82.262 34.14 3056
+-82.136 34.14 3125
+-82.01 34.14 3184
+-81.884 34.14 3229
+-81.758 34.14 3212
+-81.632 34.14 3229
+-81.506 34.14 3263
+-81.38 34.14 3249
+-81.254 34.14 3233
+-81.128 34.14 3247
+-81.002 34.14 3235
+-80.876 34.14 3219
+-80.75 34.14 3237
+-80.624 34.14 3211
+-80.498 34.14 3179
+-80.372 34.14 3142
+-80.246 34.14 3094
+-80.12 34.14 3017
+-79.994 34.14 2969
+-79.868 34.14 2920
+-79.742 34.14 2924
+-79.616 34.14 2841
+-79.49 34.14 2796
+-79.364 34.14 2755
+-79.238 34.14 2746
+-79.112 34.14 2750
+-78.986 34.14 2731
+-78.86 34.14 2719
+-78.734 34.14 2713
+-78.608 34.14 2715
+-78.482 34.14 2721
+-78.356 34.14 2744
+-78.23 34.14 2760
+-78.104 34.14 2773
+-77.978 34.14 2807
+-77.852 34.14 2838
+-77.726 34.14 2861
+-77.6 34.14 2886
+-77.474 34.14 2910
+-77.348 34.14 2935
+-77.222 34.14 2961
+-77.096 34.14 2982
+-76.97 34.14 3001
+-76.844 34.14 3021
+-76.718 34.14 3012
+-76.592 34.14 3029
+-76.466 34.14 3045
+-76.34 34.14 3095
+-76.214 34.14 3109
+-76.088 34.14 3128
+-75.962 34.14 3142
+-75.836 34.14 3144
+-75.71 34.14 3168
+-75.584 34.14 3210
+-75.458 34.14 3227
+-75.332 34.14 3238
+-75.206 34.14 3249
+-75.08 34.14 3290
+-74.954 34.14 3301
+-74.828 34.14 3266
+-74.702 34.14 3287
+-74.576 34.14 3292
+-74.45 34.14 3233
+-74.324 34.14 3171
+-74.198 34.14 3191
+-74.072 34.14 3197
+-73.946 34.14 3225
+-73.82 34.14 3211
+-73.694 34.14 3221
+-73.568 34.14 3227
+-73.442 34.14 3217
+-73.316 34.14 3222
+-73.19 34.14 3227
+-73.064 34.14 3211
+-72.938 34.14 3200
+-72.812 34.14 3228
+-72.686 34.14 3226
+-72.56 34.14 3231
+-72.434 34.14 3235
+-72.308 34.14 3166
+-72.182 34.14 3202
+-72.056 34.14 3200
+-71.93 34.14 3204
+-71.804 34.14 3208
+-71.678 34.14 3412
+-71.552 34.14 3344
+-71.426 34.14 3355
+-71.3 34.14 3358
+-71.174 34.14 3262
+-71.048 34.14 3251
+-70.922 34.14 3253
+-70.796 34.14 3255
+-70.67 34.14 3236
+-70.544 34.14 3237
+-70.418 34.14 3239
+-70.292 34.14 3240
+-70.166 34.14 3242
+-70.04 34.14 3261
+-69.914 34.14 3263
+-69.788 34.14 3249
+-69.662 34.14 3251
+-69.536 34.14 3253
+-69.41 34.14 3196
+-69.284 34.14 3374
+-69.158 34.14 3336
+-69.032 34.14 3337
+-68.906 34.14 3306
+-68.78 34.14 3307
+-68.654 34.14 3309
+-68.528 34.14 3436
+-68.402 34.14 3437
+-68.276 34.14 3437
+-68.15 34.14 3438
+-68.024 34.14 3439
+-67.898 34.14 3549
+-67.772 34.14 3551
+-67.646 34.14 3468
+-67.52 34.14 3469
+-67.394 34.14 3470
+-67.268 34.14 3471
+-67.142 34.14 3479
+-67.016 34.14 3438
+-66.89 34.14 3431
+-66.764 34.14 3380
+-66.638 34.14 3382
+-66.512 34.14 3344
+-66.386 34.14 3390
+-66.26 34.14 3391
+-66.134 34.14 3392
+-66.008 34.14 3393
+-65.882 34.14 3394
+-65.756 34.14 3395
+-65.63 34.14 3396
+-65.504 34.14 3370
+-65.378 34.14 3371
+-65.252 34.14 3372
+-65.126 34.14 3341
+-128 34.088 2682
+-127.874 34.088 2682
+-127.748 34.088 2682
+-127.622 34.088 2682
+-127.496 34.088 2682
+-127.37 34.088 2682
+-127.244 34.088 2683
+-127.118 34.088 2733
+-126.992 34.088 2861
+-126.866 34.088 2860
+-126.74 34.088 2859
+-126.614 34.088 2873
+-126.488 34.088 2873
+-126.362 34.088 2916
+-126.236 34.088 2966
+-126.11 34.088 2973
+-125.984 34.088 2990
+-125.858 34.088 3110
+-125.732 34.088 3116
+-125.606 34.088 3154
+-125.48 34.088 3162
+-125.354 34.088 3198
+-125.228 34.088 3209
+-125.102 34.088 3221
+-124.976 34.088 3285
+-124.85 34.088 3302
+-124.724 34.088 3320
+-124.598 34.088 3426
+-124.472 34.088 3532
+-124.346 34.088 3638
+-124.22 34.088 3773
+-124.094 34.088 3866
+-123.968 34.088 3937
+-123.842 34.088 3964
+-123.716 34.088 3976
+-123.59 34.088 4032
+-123.464 34.088 4040
+-123.338 34.088 4067
+-123.212 34.088 4109
+-123.086 34.088 4154
+-122.96 34.088 4168
+-122.834 34.088 4171
+-122.708 34.088 4231
+-122.582 34.088 4298
+-122.456 34.088 4393
+-122.33 34.088 4479
+-122.204 34.088 4540
+-122.078 34.088 4629
+-121.952 34.088 4717
+-121.826 34.088 4788
+-121.7 34.088 4903
+-121.574 34.088 4990
+-121.448 34.088 5001
+-121.322 34.088 5170
+-121.196 34.088 5375
+-121.07 34.088 5471
+-120.944 34.088 5656
+-120.818 34.088 5683
+-120.692 34.088 5892
+-120.566 34.088 6027
+-120.44 34.088 6096
+-120.314 34.088 6271
+-120.188 34.088 6421
+-120.062 34.088 6555
+-119.936 34.088 6751
+-119.81 34.088 6789
+-119.684 34.088 6904
+-119.558 34.088 7111
+-119.432 34.088 7235
+-119.306 34.088 7434
+-119.18 34.088 7487
+-119.054 34.088 7619
+-118.928 34.088 7736
+-118.802 34.088 7943
+-118.676 34.088 8081
+-118.55 34.088 8210
+-118.424 34.088 8332
+-118.298 34.088 8421
+-118.172 34.088 8604
+-118.046 34.088 8751
+-117.92 34.088 8891
+-117.794 34.088 9011
+-117.668 34.088 9178
+-117.542 34.088 9288
+-117.416 34.088 9355
+-117.29 34.088 9417
+-117.164 34.088 9357
+-117.038 34.088 9257
+-116.912 34.088 9069
+-116.786 34.088 8976
+-116.66 34.088 8795
+-116.534 34.088 8718
+-116.408 34.088 8527
+-116.282 34.088 8350
+-116.156 34.088 8287
+-116.03 34.088 8053
+-115.904 34.088 7944
+-115.778 34.088 7870
+-115.652 34.088 7764
+-115.526 34.088 7558
+-115.4 34.088 7441
+-115.274 34.088 7313
+-115.148 34.088 7103
+-115.022 34.088 6973
+-114.896 34.088 6861
+-114.77 34.088 6781
+-114.644 34.088 6668
+-114.518 34.088 6452
+-114.392 34.088 6451
+-114.266 34.088 6328
+-114.14 34.088 6252
+-114.014 34.088 6065
+-113.888 34.088 6044
+-113.762 34.088 5824
+-113.636 34.088 5755
+-113.51 34.088 5637
+-113.384 34.088 5307
+-113.258 34.088 5405
+-113.132 34.088 5511
+-113.006 34.088 5571
+-112.88 34.088 5647
+-112.754 34.088 5762
+-112.628 34.088 5883
+-112.502 34.088 5976
+-112.376 34.088 6084
+-112.25 34.088 6109
+-112.124 34.088 6192
+-111.998 34.088 6275
+-111.872 34.088 6321
+-111.746 34.088 6408
+-111.62 34.088 6476
+-111.494 34.088 6528
+-111.368 34.088 6589
+-111.242 34.088 6665
+-111.116 34.088 6713
+-110.99 34.088 6693
+-110.864 34.088 6721
+-110.738 34.088 6763
+-110.612 34.088 6757
+-110.486 34.088 6795
+-110.36 34.088 6761
+-110.234 34.088 6778
+-110.108 34.088 6773
+-109.982 34.088 6749
+-109.856 34.088 6725
+-109.73 34.088 6699
+-109.604 34.088 6683
+-109.478 34.088 6633
+-109.352 34.088 6559
+-109.226 34.088 6473
+-109.1 34.088 6425
+-108.974 34.088 6429
+-108.848 34.088 6369
+-108.722 34.088 6276
+-108.596 34.088 6184
+-108.47 34.088 6056
+-108.344 34.088 5944
+-108.218 34.088 5877
+-108.092 34.088 5789
+-107.966 34.088 5681
+-107.84 34.088 5629
+-107.714 34.088 5541
+-107.588 34.088 5376
+-107.462 34.088 5384
+-107.336 34.088 5291
+-107.21 34.088 5225
+-107.084 34.088 5122
+-106.958 34.088 4967
+-106.832 34.088 4812
+-106.706 34.088 4656
+-106.58 34.088 4577
+-106.454 34.088 4576
+-106.328 34.088 4512
+-106.202 34.088 4332
+-106.076 34.088 4205
+-105.95 34.088 4251
+-105.824 34.088 4300
+-105.698 34.088 4300
+-105.572 34.088 4268
+-105.446 34.088 4253
+-105.32 34.088 4244
+-105.194 34.088 4161
+-105.068 34.088 4134
+-104.942 34.088 4116
+-104.816 34.088 4045
+-104.69 34.088 4009
+-104.564 34.088 3981
+-104.438 34.088 3966
+-104.312 34.088 3928
+-104.186 34.088 3865
+-104.06 34.088 3793
+-103.934 34.088 3779
+-103.808 34.088 3774
+-103.682 34.088 3771
+-103.556 34.088 3769
+-103.43 34.088 3768
+-103.304 34.088 3768
+-103.178 34.088 3730
+-103.052 34.088 3719
+-102.926 34.088 3720
+-102.8 34.088 3721
+-102.674 34.088 3688
+-102.548 34.088 3711
+-102.422 34.088 3714
+-102.296 34.088 3717
+-102.17 34.088 3719
+-102.044 34.088 3617
+-101.918 34.088 3642
+-101.792 34.088 3645
+-101.666 34.088 3647
+-101.54 34.088 3649
+-101.414 34.088 3652
+-101.288 34.088 3611
+-101.162 34.088 3537
+-101.036 34.088 3522
+-100.91 34.088 3464
+-100.784 34.088 3457
+-100.658 34.088 3413
+-100.532 34.088 3408
+-100.406 34.088 3400
+-100.28 34.088 3298
+-100.154 34.088 3251
+-100.028 34.088 3163
+-99.902 34.088 3160
+-99.776 34.088 3131
+-99.65 34.088 3146
+-99.524 34.088 3146
+-99.398 34.088 3276
+-99.272 34.088 3318
+-99.146 34.088 3291
+-99.02 34.088 3290
+-98.894 34.088 3290
+-98.768 34.088 3306
+-98.642 34.088 3305
+-98.516 34.088 3304
+-98.39 34.088 3302
+-98.264 34.088 3301
+-98.138 34.088 3300
+-98.012 34.088 3237
+-97.886 34.088 3337
+-97.76 34.088 3221
+-97.634 34.088 3225
+-97.508 34.088 3224
+-97.382 34.088 3275
+-97.256 34.088 3293
+-97.13 34.088 3315
+-97.004 34.088 3301
+-96.878 34.088 3319
+-96.752 34.088 3309
+-96.626 34.088 3297
+-96.5 34.088 3303
+-96.374 34.088 3256
+-96.248 34.088 3265
+-96.122 34.088 3267
+-95.996 34.088 3216
+-95.87 34.088 3201
+-95.744 34.088 3173
+-95.618 34.088 3151
+-95.492 34.088 3112
+-95.366 34.088 3064
+-95.24 34.088 3000
+-95.114 34.088 2919
+-94.988 34.088 2806
+-94.862 34.088 2693
+-94.736 34.088 2629
+-94.61 34.088 2708
+-94.484 34.088 2852
+-94.358 34.088 2975
+-94.232 34.088 3091
+-94.106 34.088 3208
+-93.98 34.088 3307
+-93.854 34.088 3372
+-93.728 34.088 3427
+-93.602 34.088 3471
+-93.476 34.088 3542
+-93.35 34.088 3612
+-93.224 34.088 3669
+-93.098 34.088 3710
+-92.972 34.088 3719
+-92.846 34.088 3751
+-92.72 34.088 3849
+-92.594 34.088 3952
+-92.468 34.088 4063
+-92.342 34.088 4156
+-92.216 34.088 4237
+-92.09 34.088 4364
+-91.964 34.088 4487
+-91.838 34.088 4546
+-91.712 34.088 4619
+-91.586 34.088 4695
+-91.46 34.088 4818
+-91.334 34.088 4969
+-91.208 34.088 5047
+-91.082 34.088 5095
+-90.956 34.088 5143
+-90.83 34.088 5196
+-90.704 34.088 5238
+-90.578 34.088 5290
+-90.452 34.088 5405
+-90.326 34.088 5477
+-90.2 34.088 5502
+-90.074 34.088 5540
+-89.948 34.088 5595
+-89.822 34.088 5630
+-89.696 34.088 5675
+-89.57 34.088 5683
+-89.444 34.088 5723
+-89.318 34.088 5739
+-89.192 34.088 5764
+-89.066 34.088 5777
+-88.94 34.088 5775
+-88.814 34.088 5798
+-88.688 34.088 5791
+-88.562 34.088 5766
+-88.436 34.088 5744
+-88.31 34.088 5720
+-88.184 34.088 5738
+-88.058 34.088 5666
+-87.932 34.088 5621
+-87.806 34.088 5568
+-87.68 34.088 5570
+-87.554 34.088 5491
+-87.428 34.088 5481
+-87.302 34.088 5439
+-87.176 34.088 5375
+-87.05 34.088 5295
+-86.924 34.088 5256
+-86.798 34.088 5173
+-86.672 34.088 5107
+-86.546 34.088 5015
+-86.42 34.088 4996
+-86.294 34.088 4890
+-86.168 34.088 4781
+-86.042 34.088 4683
+-85.916 34.088 4576
+-85.79 34.088 4515
+-85.664 34.088 4480
+-85.538 34.088 4457
+-85.412 34.088 4384
+-85.286 34.088 4262
+-85.16 34.088 4100
+-85.034 34.088 3996
+-84.908 34.088 4040
+-84.782 34.088 4041
+-84.656 34.088 3957
+-84.53 34.088 3835
+-84.404 34.088 3629
+-84.278 34.088 3388
+-84.152 34.088 3268
+-84.026 34.088 3310
+-83.9 34.088 3366
+-83.774 34.088 3378
+-83.648 34.088 3352
+-83.522 34.088 3287
+-83.396 34.088 3222
+-83.27 34.088 3156
+-83.144 34.088 3065
+-83.018 34.088 2948
+-82.892 34.088 2820
+-82.766 34.088 2759
+-82.64 34.088 2802
+-82.514 34.088 2900
+-82.388 34.088 2999
+-82.262 34.088 3082
+-82.136 34.088 3148
+-82.01 34.088 3213
+-81.884 34.088 3259
+-81.758 34.088 3249
+-81.632 34.088 3268
+-81.506 34.088 3297
+-81.38 34.088 3282
+-81.254 34.088 3277
+-81.128 34.088 3272
+-81.002 34.088 3262
+-80.876 34.088 3286
+-80.75 34.088 3267
+-80.624 34.088 3243
+-80.498 34.088 3214
+-80.372 34.088 3173
+-80.246 34.088 3156
+-80.12 34.088 3113
+-79.994 34.088 3066
+-79.868 34.088 3023
+-79.742 34.088 2973
+-79.616 34.088 2893
+-79.49 34.088 2846
+-79.364 34.088 2823
+-79.238 34.088 2816
+-79.112 34.088 2783
+-78.986 34.088 2757
+-78.86 34.088 2738
+-78.734 34.088 2727
+-78.608 34.088 2723
+-78.482 34.088 2738
+-78.356 34.088 2747
+-78.23 34.088 2758
+-78.104 34.088 2789
+-77.978 34.088 2817
+-77.852 34.088 2841
+-77.726 34.088 2866
+-77.6 34.088 2891
+-77.474 34.088 2917
+-77.348 34.088 2943
+-77.222 34.088 2966
+-77.096 34.088 2986
+-76.97 34.088 3007
+-76.844 34.088 3000
+-76.718 34.088 3018
+-76.592 34.088 3035
+-76.466 34.088 3085
+-76.34 34.088 3099
+-76.214 34.088 3119
+-76.088 34.088 3135
+-75.962 34.088 3137
+-75.836 34.088 3162
+-75.71 34.088 3204
+-75.584 34.088 3221
+-75.458 34.088 3233
+-75.332 34.088 3244
+-75.206 34.088 3284
+-75.08 34.088 3296
+-74.954 34.088 3262
+-74.828 34.088 3283
+-74.702 34.088 3289
+-74.576 34.088 3233
+-74.45 34.088 3170
+-74.324 34.088 3189
+-74.198 34.088 3196
+-74.072 34.088 3223
+-73.946 34.088 3209
+-73.82 34.088 3220
+-73.694 34.088 3226
+-73.568 34.088 3216
+-73.442 34.088 3221
+-73.316 34.088 3226
+-73.19 34.088 3211
+-73.064 34.088 3199
+-72.938 34.088 3227
+-72.812 34.088 3225
+-72.686 34.088 3230
+-72.56 34.088 3235
+-72.434 34.088 3166
+-72.308 34.088 3202
+-72.182 34.088 3200
+-72.056 34.088 3204
+-71.93 34.088 3208
+-71.804 34.088 3410
+-71.678 34.088 3345
+-71.552 34.088 3353
+-71.426 34.088 3356
+-71.3 34.088 3261
+-71.174 34.088 3250
+-71.048 34.088 3252
+-70.922 34.088 3254
+-70.796 34.088 3235
+-70.67 34.088 3236
+-70.544 34.088 3238
+-70.418 34.088 3239
+-70.292 34.088 3241
+-70.166 34.088 3260
+-70.04 34.088 3262
+-69.914 34.088 3248
+-69.788 34.088 3250
+-69.662 34.088 3252
+-69.536 34.088 3195
+-69.41 34.088 3372
+-69.284 34.088 3335
+-69.158 34.088 3336
+-69.032 34.088 3305
+-68.906 34.088 3306
+-68.78 34.088 3307
+-68.654 34.088 3434
+-68.528 34.088 3435
+-68.402 34.088 3436
+-68.276 34.088 3437
+-68.15 34.088 3438
+-68.024 34.088 3547
+-67.898 34.088 3549
+-67.772 34.088 3466
+-67.646 34.088 3467
+-67.52 34.088 3468
+-67.394 34.088 3470
+-67.268 34.088 3477
+-67.142 34.088 3437
+-67.016 34.088 3430
+-66.89 34.088 3379
+-66.764 34.088 3380
+-66.638 34.088 3343
+-66.512 34.088 3389
+-66.386 34.088 3390
+-66.26 34.088 3391
+-66.134 34.088 3392
+-66.008 34.088 3393
+-65.882 34.088 3394
+-65.756 34.088 3395
+-65.63 34.088 3369
+-65.504 34.088 3370
+-65.378 34.088 3371
+-65.252 34.088 3340
+-65.126 34.088 3309
+-128 34.036 2680
+-127.874 34.036 2679
+-127.748 34.036 2679
+-127.622 34.036 2679
+-127.496 34.036 2679
+-127.37 34.036 2679
+-127.244 34.036 2729
+-127.118 34.036 2812
+-126.992 34.036 2811
+-126.866 34.036 2853
+-126.74 34.036 2852
+-126.614 34.036 2852
+-126.488 34.036 2907
+-126.362 34.036 2955
+-126.236 34.036 2960
+-126.11 34.036 2961
+-125.984 34.036 2962
+-125.858 34.036 3095
+-125.732 34.036 3101
+-125.606 34.036 3108
+-125.48 34.036 3147
+-125.354 34.036 3156
+-125.228 34.036 3192
+-125.102 34.036 3204
+-124.976 34.036 3267
+-124.85 34.036 3283
+-124.724 34.036 3300
+-124.598 34.036 3401
+-124.472 34.036 3520
+-124.346 34.036 3624
+-124.22 34.036 3719
+-124.094 34.036 3855
+-123.968 34.036 3921
+-123.842 34.036 3927
+-123.716 34.036 3987
+-123.59 34.036 3999
+-123.464 34.036 4012
+-123.338 34.036 4024
+-123.212 34.036 4071
+-123.086 34.036 4133
+-122.96 34.036 4180
+-122.834 34.036 4197
+-122.708 34.036 4233
+-122.582 34.036 4323
+-122.456 34.036 4402
+-122.33 34.036 4460
+-122.204 34.036 4520
+-122.078 34.036 4567
+-121.952 34.036 4624
+-121.826 34.036 4729
+-121.7 34.036 4870
+-121.574 34.036 4996
+-121.448 34.036 5076
+-121.322 34.036 5214
+-121.196 34.036 5331
+-121.07 34.036 5479
+-120.944 34.036 5631
+-120.818 34.036 5788
+-120.692 34.036 5903
+-120.566 34.036 6020
+-120.44 34.036 6126
+-120.314 34.036 6274
+-120.188 34.036 6393
+-120.062 34.036 6538
+-119.936 34.036 6650
+-119.81 34.036 6777
+-119.684 34.036 6979
+-119.558 34.036 7086
+-119.432 34.036 7282
+-119.306 34.036 7389
+-119.18 34.036 7450
+-119.054 34.036 7675
+-118.928 34.036 7775
+-118.802 34.036 7880
+-118.676 34.036 8094
+-118.55 34.036 8248
+-118.424 34.036 8366
+-118.298 34.036 8469
+-118.172 34.036 8639
+-118.046 34.036 8741
+-117.92 34.036 8892
+-117.794 34.036 8974
+-117.668 34.036 9129
+-117.542 34.036 9281
+-117.416 34.036 9381
+-117.29 34.036 9393
+-117.164 34.036 9371
+-117.038 34.036 9177
+-116.912 34.036 9049
+-116.786 34.036 8925
+-116.66 34.036 8774
+-116.534 34.036 8603
+-116.408 34.036 8508
+-116.282 34.036 8403
+-116.156 34.036 8242
+-116.03 34.036 8103
+-115.904 34.036 7978
+-115.778 34.036 7831
+-115.652 34.036 7698
+-115.526 34.036 7575
+-115.4 34.036 7400
+-115.274 34.036 7306
+-115.148 34.036 7109
+-115.022 34.036 7064
+-114.896 34.036 6941
+-114.77 34.036 6947
+-114.644 34.036 6757
+-114.518 34.036 6682
+-114.392 34.036 6522
+-114.266 34.036 6400
+-114.14 34.036 6300
+-114.014 34.036 6151
+-113.888 34.036 5981
+-113.762 34.036 5842
+-113.636 34.036 5757
+-113.51 34.036 5605
+-113.384 34.036 5492
+-113.258 34.036 5394
+-113.132 34.036 5491
+-113.006 34.036 5578
+-112.88 34.036 5715
+-112.754 34.036 5796
+-112.628 34.036 5901
+-112.502 34.036 5985
+-112.376 34.036 6092
+-112.25 34.036 6153
+-112.124 34.036 6231
+-111.998 34.036 6341
+-111.872 34.036 6399
+-111.746 34.036 6463
+-111.62 34.036 6518
+-111.494 34.036 6571
+-111.368 34.036 6643
+-111.242 34.036 6713
+-111.116 34.036 6730
+-110.99 34.036 6784
+-110.864 34.036 6810
+-110.738 34.036 6837
+-110.612 34.036 6846
+-110.486 34.036 6839
+-110.36 34.036 6817
+-110.234 34.036 6829
+-110.108 34.036 6833
+-109.982 34.036 6818
+-109.856 34.036 6783
+-109.73 34.036 6737
+-109.604 34.036 6714
+-109.478 34.036 6645
+-109.352 34.036 6620
+-109.226 34.036 6602
+-109.1 34.036 6505
+-108.974 34.036 6429
+-108.848 34.036 6438
+-108.722 34.036 6354
+-108.596 34.036 6249
+-108.47 34.036 6159
+-108.344 34.036 6038
+-108.218 34.036 5912
+-108.092 34.036 5824
+-107.966 34.036 5735
+-107.84 34.036 5653
+-107.714 34.036 5575
+-107.588 34.036 5493
+-107.462 34.036 5445
+-107.336 34.036 5401
+-107.21 34.036 5304
+-107.084 34.036 5190
+-106.958 34.036 5047
+-106.832 34.036 4861
+-106.706 34.036 4719
+-106.58 34.036 4614
+-106.454 34.036 4587
+-106.328 34.036 4490
+-106.202 34.036 4254
+-106.076 34.036 4068
+-105.95 34.036 4178
+-105.824 34.036 4256
+-105.698 34.036 4286
+-105.572 34.036 4292
+-105.446 34.036 4211
+-105.32 34.036 4193
+-105.194 34.036 4145
+-105.068 34.036 4123
+-104.942 34.036 4064
+-104.816 34.036 4031
+-104.69 34.036 3988
+-104.564 34.036 3970
+-104.438 34.036 3934
+-104.312 34.036 3860
+-104.186 34.036 3816
+-104.06 34.036 3809
+-103.934 34.036 3764
+-103.808 34.036 3783
+-103.682 34.036 3781
+-103.556 34.036 3781
+-103.43 34.036 3781
+-103.304 34.036 3756
+-103.178 34.036 3710
+-103.052 34.036 3711
+-102.926 34.036 3713
+-102.8 34.036 3680
+-102.674 34.036 3703
+-102.548 34.036 3706
+-102.422 34.036 3709
+-102.296 34.036 3712
+-102.17 34.036 3693
+-102.044 34.036 3696
+-101.918 34.036 3641
+-101.792 34.036 3644
+-101.666 34.036 3646
+-101.54 34.036 3649
+-101.414 34.036 3693
+-101.288 34.036 3544
+-101.162 34.036 3529
+-101.036 34.036 3527
+-100.91 34.036 3470
+-100.784 34.036 3464
+-100.658 34.036 3458
+-100.532 34.036 3416
+-100.406 34.036 3409
+-100.28 34.036 3306
+-100.154 34.036 3258
+-100.028 34.036 3168
+-99.902 34.036 3164
+-99.776 34.036 3132
+-99.65 34.036 3147
+-99.524 34.036 3147
+-99.398 34.036 3277
+-99.272 34.036 3293
+-99.146 34.036 3292
+-99.02 34.036 3291
+-98.894 34.036 3307
+-98.768 34.036 3306
+-98.642 34.036 3305
+-98.516 34.036 3304
+-98.39 34.036 3302
+-98.264 34.036 3301
+-98.138 34.036 3237
+-98.012 34.036 3337
+-97.886 34.036 3217
+-97.76 34.036 3222
+-97.634 34.036 3220
+-97.508 34.036 3268
+-97.382 34.036 3290
+-97.256 34.036 3312
+-97.13 34.036 3260
+-97.004 34.036 3317
+-96.878 34.036 3307
+-96.752 34.036 3296
+-96.626 34.036 3304
+-96.5 34.036 3257
+-96.374 34.036 3267
+-96.248 34.036 3271
+-96.122 34.036 3221
+-95.996 34.036 3209
+-95.87 34.036 3185
+-95.744 34.036 3156
+-95.618 34.036 3100
+-95.492 34.036 3064
+-95.366 34.036 3030
+-95.24 34.036 2974
+-95.114 34.036 2904
+-94.988 34.036 2820
+-94.862 34.036 2735
+-94.736 34.036 2696
+-94.61 34.036 2744
+-94.484 34.036 2813
+-94.358 34.036 2901
+-94.232 34.036 3014
+-94.106 34.036 3141
+-93.98 34.036 3230
+-93.854 34.036 3324
+-93.728 34.036 3369
+-93.602 34.036 3410
+-93.476 34.036 3477
+-93.35 34.036 3529
+-93.224 34.036 3603
+-93.098 34.036 3663
+-92.972 34.036 3693
+-92.846 34.036 3719
+-92.72 34.036 3807
+-92.594 34.036 3917
+-92.468 34.036 4024
+-92.342 34.036 4136
+-92.216 34.036 4195
+-92.09 34.036 4265
+-91.964 34.036 4426
+-91.838 34.036 4489
+-91.712 34.036 4568
+-91.586 34.036 4648
+-91.46 34.036 4725
+-91.334 34.036 4870
+-91.208 34.036 4964
+-91.082 34.036 5024
+-90.956 34.036 5107
+-90.83 34.036 5180
+-90.704 34.036 5232
+-90.578 34.036 5245
+-90.452 34.036 5327
+-90.326 34.036 5423
+-90.2 34.036 5426
+-90.074 34.036 5494
+-89.948 34.036 5514
+-89.822 34.036 5547
+-89.696 34.036 5597
+-89.57 34.036 5659
+-89.444 34.036 5684
+-89.318 34.036 5646
+-89.192 34.036 5701
+-89.066 34.036 5737
+-88.94 34.036 5748
+-88.814 34.036 5745
+-88.688 34.036 5732
+-88.562 34.036 5702
+-88.436 34.036 5686
+-88.31 34.036 5669
+-88.184 34.036 5666
+-88.058 34.036 5606
+-87.932 34.036 5573
+-87.806 34.036 5528
+-87.68 34.036 5520
+-87.554 34.036 5488
+-87.428 34.036 5440
+-87.302 34.036 5376
+-87.176 34.036 5316
+-87.05 34.036 5261
+-86.924 34.036 5184
+-86.798 34.036 5127
+-86.672 34.036 5092
+-86.546 34.036 4986
+-86.42 34.036 4931
+-86.294 34.036 4840
+-86.168 34.036 4732
+-86.042 34.036 4629
+-85.916 34.036 4540
+-85.79 34.036 4504
+-85.664 34.036 4406
+-85.538 34.036 4413
+-85.412 34.036 4342
+-85.286 34.036 4232
+-85.16 34.036 4116
+-85.034 34.036 4056
+-84.908 34.036 4055
+-84.782 34.036 4049
+-84.656 34.036 3962
+-84.53 34.036 3855
+-84.404 34.036 3698
+-84.278 34.036 3505
+-84.152 34.036 3419
+-84.026 34.036 3391
+-83.9 34.036 3392
+-83.774 34.036 3339
+-83.648 34.036 3285
+-83.522 34.036 3213
+-83.396 34.036 3156
+-83.27 34.036 3118
+-83.144 34.036 3072
+-83.018 34.036 3006
+-82.892 34.036 2929
+-82.766 34.036 2892
+-82.64 34.036 2916
+-82.514 34.036 2980
+-82.388 34.036 3054
+-82.262 34.036 3121
+-82.136 34.036 3186
+-82.01 34.036 3241
+-81.884 34.036 3280
+-81.758 34.036 3312
+-81.632 34.036 3300
+-81.506 34.036 3333
+-81.38 34.036 3322
+-81.254 34.036 3359
+-81.128 34.036 3297
+-81.002 34.036 3326
+-80.876 34.036 3314
+-80.75 34.036 3296
+-80.624 34.036 3274
+-80.498 34.036 3239
+-80.372 34.036 3229
+-80.246 34.036 3192
+-80.12 34.036 3150
+-79.994 34.036 3110
+-79.868 34.036 3061
+-79.742 34.036 3034
+-79.616 34.036 2981
+-79.49 34.036 2896
+-79.364 34.036 2880
+-79.238 34.036 2834
+-79.112 34.036 2793
+-78.986 34.036 2759
+-78.86 34.036 2733
+-78.734 34.036 2717
+-78.608 34.036 2721
+-78.482 34.036 2724
+-78.356 34.036 2731
+-78.23 34.036 2760
+-78.104 34.036 2788
+-77.978 34.036 2812
+-77.852 34.036 2840
+-77.726 34.036 2866
+-77.6 34.036 2894
+-77.474 34.036 2922
+-77.348 34.036 2946
+-77.222 34.036 2969
+-77.096 34.036 2991
+-76.97 34.036 2987
+-76.844 34.036 3006
+-76.718 34.036 3024
+-76.592 34.036 3074
+-76.466 34.036 3089
+-76.34 34.036 3110
+-76.214 34.036 3126
+-76.088 34.036 3130
+-75.962 34.036 3155
+-75.836 34.036 3197
+-75.71 34.036 3215
+-75.584 34.036 3227
+-75.458 34.036 3238
+-75.332 34.036 3279
+-75.206 34.036 3291
+-75.08 34.036 3259
+-74.954 34.036 3279
+-74.828 34.036 3286
+-74.702 34.036 3228
+-74.576 34.036 3168
+-74.45 34.036 3187
+-74.324 34.036 3194
+-74.198 34.036 3221
+-74.072 34.036 3208
+-73.946 34.036 3219
+-73.82 34.036 3225
+-73.694 34.036 3215
+-73.568 34.036 3220
+-73.442 34.036 3226
+-73.316 34.036 3210
+-73.19 34.036 3199
+-73.064 34.036 3227
+-72.938 34.036 3225
+-72.812 34.036 3230
+-72.686 34.036 3235
+-72.56 34.036 3166
+-72.434 34.036 3202
+-72.308 34.036 3200
+-72.182 34.036 3204
+-72.056 34.036 3208
+-71.93 34.036 3408
+-71.804 34.036 3340
+-71.678 34.036 3352
+-71.552 34.036 3355
+-71.426 34.036 3259
+-71.3 34.036 3249
+-71.174 34.036 3251
+-71.048 34.036 3253
+-70.922 34.036 3234
+-70.796 34.036 3235
+-70.67 34.036 3237
+-70.544 34.036 3238
+-70.418 34.036 3240
+-70.292 34.036 3259
+-70.166 34.036 3261
+-70.04 34.036 3247
+-69.914 34.036 3249
+-69.788 34.036 3251
+-69.662 34.036 3195
+-69.536 34.036 3371
+-69.41 34.036 3334
+-69.284 34.036 3335
+-69.158 34.036 3304
+-69.032 34.036 3305
+-68.906 34.036 3306
+-68.78 34.036 3433
+-68.654 34.036 3434
+-68.528 34.036 3435
+-68.402 34.036 3436
+-68.276 34.036 3437
+-68.15 34.036 3545
+-68.024 34.036 3547
+-67.898 34.036 3464
+-67.772 34.036 3466
+-67.646 34.036 3467
+-67.52 34.036 3468
+-67.394 34.036 3476
+-67.268 34.036 3436
+-67.142 34.036 3429
+-67.016 34.036 3378
+-66.89 34.036 3379
+-66.764 34.036 3342
+-66.638 34.036 3387
+-66.512 34.036 3389
+-66.386 34.036 3390
+-66.26 34.036 3391
+-66.134 34.036 3392
+-66.008 34.036 3393
+-65.882 34.036 3394
+-65.756 34.036 3368
+-65.63 34.036 3369
+-65.504 34.036 3370
+-65.378 34.036 3340
+-65.252 34.036 3308
+-65.126 34.036 3287
+-128 33.984 2677
+-127.874 33.984 2677
+-127.748 33.984 2676
+-127.622 33.984 2675
+-127.496 33.984 2675
+-127.37 33.984 2712
+-127.244 33.984 2787
+-127.118 33.984 2786
+-126.992 33.984 2785
+-126.866 33.984 2784
+-126.74 33.984 2844
+-126.614 33.984 2898
+-126.488 33.984 2932
+-126.362 33.984 2931
+-126.236 33.984 2947
+-126.11 33.984 2947
+-125.984 33.984 3074
+-125.858 33.984 3077
+-125.732 33.984 3082
+-125.606 33.984 3088
+-125.48 33.984 3095
+-125.354 33.984 3136
+-125.228 33.984 3146
+-125.102 33.984 3202
+-124.976 33.984 3251
+-124.85 33.984 3267
+-124.724 33.984 3354
+-124.598 33.984 3378
+-124.472 33.984 3497
+-124.346 33.984 3582
+-124.22 33.984 3703
+-124.094 33.984 3714
+-123.968 33.984 3789
+-123.842 33.984 3891
+-123.716 33.984 3901
+-123.59 33.984 3960
+-123.464 33.984 3977
+-123.338 33.984 4010
+-123.212 33.984 4030
+-123.086 33.984 4080
+-122.96 33.984 4110
+-122.834 33.984 4156
+-122.708 33.984 4190
+-122.582 33.984 4306
+-122.456 33.984 4374
+-122.33 33.984 4427
+-122.204 33.984 4494
+-122.078 33.984 4527
+-121.952 33.984 4464
+-121.826 33.984 4684
+-121.7 33.984 4845
+-121.574 33.984 4962
+-121.448 33.984 5114
+-121.322 33.984 5240
+-121.196 33.984 5334
+-121.07 33.984 5504
+-120.944 33.984 5633
+-120.818 33.984 5741
+-120.692 33.984 5881
+-120.566 33.984 5984
+-120.44 33.984 6103
+-120.314 33.984 6261
+-120.188 33.984 6361
+-120.062 33.984 6518
+-119.936 33.984 6655
+-119.81 33.984 6763
+-119.684 33.984 6981
+-119.558 33.984 7115
+-119.432 33.984 7232
+-119.306 33.984 7381
+-119.18 33.984 7507
+-119.054 33.984 7654
+-118.928 33.984 7802
+-118.802 33.984 7906
+-118.676 33.984 8056
+-118.55 33.984 8188
+-118.424 33.984 8320
+-118.298 33.984 8463
+-118.172 33.984 8610
+-118.046 33.984 8746
+-117.92 33.984 8841
+-117.794 33.984 9022
+-117.668 33.984 9096
+-117.542 33.984 9238
+-117.416 33.984 9320
+-117.29 33.984 9327
+-117.164 33.984 9251
+-117.038 33.984 9200
+-116.912 33.984 9052
+-116.786 33.984 8903
+-116.66 33.984 8769
+-116.534 33.984 8601
+-116.408 33.984 8492
+-116.282 33.984 8412
+-116.156 33.984 8252
+-116.03 33.984 8095
+-115.904 33.984 7942
+-115.778 33.984 7899
+-115.652 33.984 7666
+-115.526 33.984 7594
+-115.4 33.984 7405
+-115.274 33.984 7320
+-115.148 33.984 7254
+-115.022 33.984 7224
+-114.896 33.984 7041
+-114.77 33.984 6897
+-114.644 33.984 6798
+-114.518 33.984 6705
+-114.392 33.984 6578
+-114.266 33.984 6394
+-114.14 33.984 6330
+-114.014 33.984 6180
+-113.888 33.984 6046
+-113.762 33.984 5863
+-113.636 33.984 5773
+-113.51 33.984 5591
+-113.384 33.984 5535
+-113.258 33.984 5498
+-113.132 33.984 5514
+-113.006 33.984 5623
+-112.88 33.984 5740
+-112.754 33.984 5810
+-112.628 33.984 5960
+-112.502 33.984 6023
+-112.376 33.984 6110
+-112.25 33.984 6187
+-112.124 33.984 6294
+-111.998 33.984 6393
+-111.872 33.984 6471
+-111.746 33.984 6482
+-111.62 33.984 6582
+-111.494 33.984 6629
+-111.368 33.984 6673
+-111.242 33.984 6747
+-111.116 33.984 6779
+-110.99 33.984 6836
+-110.864 33.984 6841
+-110.738 33.984 6870
+-110.612 33.984 6894
+-110.486 33.984 6897
+-110.36 33.984 6875
+-110.234 33.984 6872
+-110.108 33.984 6877
+-109.982 33.984 6871
+-109.856 33.984 6813
+-109.73 33.984 6816
+-109.604 33.984 6789
+-109.478 33.984 6724
+-109.352 33.984 6683
+-109.226 33.984 6596
+-109.1 33.984 6525
+-108.974 33.984 6508
+-108.848 33.984 6467
+-108.722 33.984 6377
+-108.596 33.984 6240
+-108.47 33.984 6218
+-108.344 33.984 6105
+-108.218 33.984 5977
+-108.092 33.984 5864
+-107.966 33.984 5768
+-107.84 33.984 5698
+-107.714 33.984 5621
+-107.588 33.984 5495
+-107.462 33.984 5407
+-107.336 33.984 5411
+-107.21 33.984 5353
+-107.084 33.984 5247
+-106.958 33.984 5121
+-106.832 33.984 4963
+-106.706 33.984 4784
+-106.58 33.984 4676
+-106.454 33.984 4612
+-106.328 33.984 4514
+-106.202 33.984 4343
+-106.076 33.984 4212
+-105.95 33.984 4233
+-105.824 33.984 4284
+-105.698 33.984 4271
+-105.572 33.984 4234
+-105.446 33.984 4222
+-105.32 33.984 4168
+-105.194 33.984 4116
+-105.068 33.984 4087
+-104.942 33.984 4033
+-104.816 33.984 3986
+-104.69 33.984 3963
+-104.564 33.984 3924
+-104.438 33.984 3849
+-104.312 33.984 3805
+-104.186 33.984 3796
+-104.06 33.984 3789
+-103.934 33.984 3768
+-103.808 33.984 3766
+-103.682 33.984 3766
+-103.556 33.984 3767
+-103.43 33.984 3743
+-103.304 33.984 3699
+-103.178 33.984 3700
+-103.052 33.984 3703
+-102.926 33.984 3695
+-102.8 33.984 3693
+-102.674 33.984 3697
+-102.548 33.984 3700
+-102.422 33.984 3704
+-102.296 33.984 3686
+-102.17 33.984 3689
+-102.044 33.984 3692
+-101.918 33.984 3695
+-101.792 33.984 3681
+-101.666 33.984 3684
+-101.54 33.984 3688
+-101.414 33.984 3549
+-101.288 33.984 3535
+-101.162 33.984 3533
+-101.036 33.984 3531
+-100.91 33.984 3529
+-100.784 33.984 3515
+-100.658 33.984 3468
+-100.532 33.984 3424
+-100.406 33.984 3418
+-100.28 33.984 3345
+-100.154 33.984 3239
+-100.028 33.984 3192
+-99.902 33.984 3142
+-99.776 33.984 3143
+-99.65 33.984 3147
+-99.524 33.984 3148
+-99.398 33.984 3277
+-99.272 33.984 3294
+-99.146 33.984 3293
+-99.02 33.984 3309
+-98.894 33.984 3308
+-98.768 33.984 3307
+-98.642 33.984 3305
+-98.516 33.984 3304
+-98.39 33.984 3302
+-98.264 33.984 3236
+-98.138 33.984 3337
+-98.012 33.984 3214
+-97.886 33.984 3141
+-97.76 33.984 3148
+-97.634 33.984 3263
+-97.508 33.984 3287
+-97.382 33.984 3232
+-97.256 33.984 3255
+-97.13 33.984 3247
+-97.004 33.984 3238
+-96.878 33.984 3295
+-96.752 33.984 3304
+-96.626 33.984 3258
+-96.5 33.984 3270
+-96.374 33.984 3276
+-96.248 33.984 3227
+-96.122 33.984 3217
+-95.996 33.984 3196
+-95.87 33.984 3172
+-95.744 33.984 3120
+-95.618 33.984 3067
+-95.492 33.984 3036
+-95.366 33.984 2999
+-95.24 33.984 2981
+-95.114 33.984 2922
+-94.988 33.984 2860
+-94.862 33.984 2809
+-94.736 33.984 2773
+-94.61 33.984 2741
+-94.484 33.984 2713
+-94.358 33.984 2793
+-94.232 33.984 2957
+-94.106 33.984 3099
+-93.98 33.984 3194
+-93.854 33.984 3248
+-93.728 33.984 3286
+-93.602 33.984 3337
+-93.476 33.984 3382
+-93.35 33.984 3449
+-93.224 33.984 3536
+-93.098 33.984 3597
+-92.972 33.984 3621
+-92.846 33.984 3628
+-92.72 33.984 3732
+-92.594 33.984 3899
+-92.468 33.984 4012
+-92.342 33.984 4065
+-92.216 33.984 4173
+-92.09 33.984 4269
+-91.964 33.984 4385
+-91.838 33.984 4426
+-91.712 33.984 4531
+-91.586 33.984 4637
+-91.46 33.984 4675
+-91.334 33.984 4800
+-91.208 33.984 4891
+-91.082 33.984 4942
+-90.956 33.984 5028
+-90.83 33.984 5112
+-90.704 33.984 5189
+-90.578 33.984 5231
+-90.452 33.984 5292
+-90.326 33.984 5371
+-90.2 33.984 5364
+-90.074 33.984 5441
+-89.948 33.984 5472
+-89.822 33.984 5495
+-89.696 33.984 5522
+-89.57 33.984 5575
+-89.444 33.984 5608
+-89.318 33.984 5628
+-89.192 33.984 5640
+-89.066 33.984 5656
+-88.94 33.984 5683
+-88.814 33.984 5673
+-88.688 33.984 5657
+-88.562 33.984 5651
+-88.436 33.984 5637
+-88.31 33.984 5601
+-88.184 33.984 5577
+-88.058 33.984 5562
+-87.932 33.984 5531
+-87.806 33.984 5483
+-87.68 33.984 5481
+-87.554 33.984 5430
+-87.428 33.984 5354
+-87.302 33.984 5278
+-87.176 33.984 5227
+-87.05 33.984 5177
+-86.924 33.984 5142
+-86.798 33.984 5089
+-86.672 33.984 5040
+-86.546 33.984 4943
+-86.42 33.984 4859
+-86.294 33.984 4768
+-86.168 33.984 4683
+-86.042 33.984 4596
+-85.916 33.984 4533
+-85.79 33.984 4489
+-85.664 33.984 4436
+-85.538 33.984 4372
+-85.412 33.984 4244
+-85.286 33.984 4112
+-85.16 33.984 4107
+-85.034 33.984 4097
+-84.908 33.984 4087
+-84.782 33.984 4021
+-84.656 33.984 3960
+-84.53 33.984 3854
+-84.404 33.984 3720
+-84.278 33.984 3569
+-84.152 33.984 3488
+-84.026 33.984 3442
+-83.9 33.984 3381
+-83.774 33.984 3289
+-83.648 33.984 3207
+-83.522 33.984 3117
+-83.396 33.984 3073
+-83.27 33.984 3069
+-83.144 33.984 3072
+-83.018 33.984 3059
+-82.892 33.984 3026
+-82.766 33.984 3006
+-82.64 33.984 3028
+-82.514 33.984 3066
+-82.388 33.984 3116
+-82.262 33.984 3176
+-82.136 33.984 3229
+-82.01 33.984 3270
+-81.884 33.984 3305
+-81.758 33.984 3342
+-81.632 33.984 3342
+-81.506 33.984 3369
+-81.38 33.984 3386
+-81.254 33.984 3390
+-81.128 33.984 3389
+-81.002 33.984 3352
+-80.876 33.984 3340
+-80.75 33.984 3324
+-80.624 33.984 3295
+-80.498 33.984 3291
+-80.372 33.984 3260
+-80.246 33.984 3223
+-80.12 33.984 3187
+-79.994 33.984 3142
+-79.868 33.984 3117
+-79.742 33.984 3063
+-79.616 33.984 2969
+-79.49 33.984 2947
+-79.364 33.984 2890
+-79.238 33.984 2834
+-79.112 33.984 2782
+-78.986 33.984 2738
+-78.86 33.984 2704
+-78.734 33.984 2693
+-78.608 33.984 2686
+-78.482 33.984 2689
+-78.356 33.984 2715
+-78.23 33.984 2743
+-78.104 33.984 2771
+-77.978 33.984 2803
+-77.852 33.984 2832
+-77.726 33.984 2864
+-77.6 33.984 2895
+-77.474 33.984 2922
+-77.348 33.984 2947
+-77.222 33.984 2972
+-77.096 33.984 2971
+-76.97 33.984 2992
+-76.844 33.984 3011
+-76.718 33.984 3062
+-76.592 33.984 3078
+-76.466 33.984 3100
+-76.34 33.984 3117
+-76.214 33.984 3122
+-76.088 33.984 3148
+-75.962 33.984 3190
+-75.836 33.984 3208
+-75.71 33.984 3221
+-75.584 33.984 3233
+-75.458 33.984 3274
+-75.332 33.984 3287
+-75.206 33.984 3255
+-75.08 33.984 3276
+-74.954 33.984 3282
+-74.828 33.984 3229
+-74.702 33.984 3167
+-74.576 33.984 3186
+-74.45 33.984 3193
+-74.324 33.984 3220
+-74.198 33.984 3207
+-74.072 33.984 3218
+-73.946 33.984 3224
+-73.82 33.984 3214
+-73.694 33.984 3220
+-73.568 33.984 3225
+-73.442 33.984 3210
+-73.316 33.984 3199
+-73.19 33.984 3226
+-73.064 33.984 3225
+-72.938 33.984 3230
+-72.812 33.984 3235
+-72.686 33.984 3166
+-72.56 33.984 3202
+-72.434 33.984 3200
+-72.308 33.984 3204
+-72.182 33.984 3208
+-72.056 33.984 3406
+-71.93 33.984 3342
+-71.804 33.984 3350
+-71.678 33.984 3353
+-71.552 33.984 3258
+-71.426 33.984 3248
+-71.3 33.984 3250
+-71.174 33.984 3251
+-71.048 33.984 3233
+-70.922 33.984 3234
+-70.796 33.984 3236
+-70.67 33.984 3238
+-70.544 33.984 3239
+-70.418 33.984 3258
+-70.292 33.984 3260
+-70.166 33.984 3246
+-70.04 33.984 3248
+-69.914 33.984 3250
+-69.788 33.984 3194
+-69.662 33.984 3369
+-69.536 33.984 3333
+-69.41 33.984 3334
+-69.284 33.984 3303
+-69.158 33.984 3304
+-69.032 33.984 3305
+-68.906 33.984 3431
+-68.78 33.984 3432
+-68.654 33.984 3433
+-68.528 33.984 3434
+-68.402 33.984 3435
+-68.276 33.984 3544
+-68.15 33.984 3545
+-68.024 33.984 3463
+-67.898 33.984 3464
+-67.772 33.984 3465
+-67.646 33.984 3467
+-67.52 33.984 3474
+-67.394 33.984 3434
+-67.268 33.984 3427
+-67.142 33.984 3377
+-67.016 33.984 3378
+-66.89 33.984 3340
+-66.764 33.984 3386
+-66.638 33.984 3387
+-66.512 33.984 3388
+-66.386 33.984 3390
+-66.26 33.984 3391
+-66.134 33.984 3392
+-66.008 33.984 3393
+-65.882 33.984 3367
+-65.756 33.984 3368
+-65.63 33.984 3369
+-65.504 33.984 3339
+-65.378 33.984 3307
+-65.252 33.984 3286
+-65.126 33.984 3287
+-128 33.932 2675
+-127.874 33.932 2673
+-127.748 33.932 2672
+-127.622 33.932 2671
+-127.496 33.932 2708
+-127.37 33.932 2781
+-127.244 33.932 2780
+-127.118 33.932 2778
+-126.992 33.932 2777
+-126.866 33.932 2776
+-126.74 33.932 2825
+-126.614 33.932 2879
+-126.488 33.932 2920
+-126.362 33.932 2918
+-126.236 33.932 2916
+-126.11 33.932 3018
+-125.984 33.932 3020
+-125.858 33.932 3058
+-125.732 33.932 3061
+-125.606 33.932 3066
+-125.48 33.932 3073
+-125.354 33.932 3081
+-125.228 33.932 3121
+-125.102 33.932 3132
+-124.976 33.932 3203
+-124.85 33.932 3319
+-124.724 33.932 3331
+-124.598 33.932 3445
+-124.472 33.932 3526
+-124.346 33.932 3562
+-124.22 33.932 3576
+-124.094 33.932 3667
+-123.968 33.932 3727
+-123.842 33.932 3743
+-123.716 33.932 3840
+-123.59 33.932 3873
+-123.464 33.932 3939
+-123.338 33.932 3967
+-123.212 33.932 3987
+-123.086 33.932 4031
+-122.96 33.932 4022
+-122.834 33.932 4018
+-122.708 33.932 4063
+-122.582 33.932 4163
+-122.456 33.932 4319
+-122.33 33.932 4391
+-122.204 33.932 4404
+-122.078 33.932 4500
+-121.952 33.932 4551
+-121.826 33.932 4681
+-121.7 33.932 4837
+-121.574 33.932 4961
+-121.448 33.932 5116
+-121.322 33.932 5139
+-121.196 33.932 5302
+-121.07 33.932 5477
+-120.944 33.932 5623
+-120.818 33.932 5694
+-120.692 33.932 5819
+-120.566 33.932 5996
+-120.44 33.932 6160
+-120.314 33.932 6257
+-120.188 33.932 6409
+-120.062 33.932 6579
+-119.936 33.932 6722
+-119.81 33.932 6769
+-119.684 33.932 6943
+-119.558 33.932 7118
+-119.432 33.932 7265
+-119.306 33.932 7391
+-119.18 33.932 7539
+-119.054 33.932 7646
+-118.928 33.932 7735
+-118.802 33.932 7893
+-118.676 33.932 8046
+-118.55 33.932 8162
+-118.424 33.932 8331
+-118.298 33.932 8449
+-118.172 33.932 8632
+-118.046 33.932 8781
+-117.92 33.932 8842
+-117.794 33.932 8968
+-117.668 33.932 9092
+-117.542 33.932 9209
+-117.416 33.932 9288
+-117.29 33.932 9277
+-117.164 33.932 9195
+-117.038 33.932 9119
+-116.912 33.932 9036
+-116.786 33.932 8903
+-116.66 33.932 8754
+-116.534 33.932 8632
+-116.408 33.932 8564
+-116.282 33.932 8374
+-116.156 33.932 8241
+-116.03 33.932 8110
+-115.904 33.932 7979
+-115.778 33.932 7786
+-115.652 33.932 7713
+-115.526 33.932 7574
+-115.4 33.932 7401
+-115.274 33.932 7408
+-115.148 33.932 7325
+-115.022 33.932 7185
+-114.896 33.932 7068
+-114.77 33.932 6940
+-114.644 33.932 6849
+-114.518 33.932 6727
+-114.392 33.932 6590
+-114.266 33.932 6397
+-114.14 33.932 6276
+-114.014 33.932 6170
+-113.888 33.932 6040
+-113.762 33.932 5934
+-113.636 33.932 5827
+-113.51 33.932 5644
+-113.384 33.932 5458
+-113.258 33.932 5468
+-113.132 33.932 5581
+-113.006 33.932 5640
+-112.88 33.932 5793
+-112.754 33.932 5869
+-112.628 33.932 5970
+-112.502 33.932 6041
+-112.376 33.932 6129
+-112.25 33.932 6224
+-112.124 33.932 6332
+-111.998 33.932 6420
+-111.872 33.932 6494
+-111.746 33.932 6532
+-111.62 33.932 6656
+-111.494 33.932 6659
+-111.368 33.932 6717
+-111.242 33.932 6801
+-111.116 33.932 6841
+-110.99 33.932 6897
+-110.864 33.932 6876
+-110.738 33.932 6910
+-110.612 33.932 6935
+-110.486 33.932 6972
+-110.36 33.932 6942
+-110.234 33.932 6932
+-110.108 33.932 6937
+-109.982 33.932 6916
+-109.856 33.932 6880
+-109.73 33.932 6877
+-109.604 33.932 6845
+-109.478 33.932 6772
+-109.352 33.932 6712
+-109.226 33.932 6632
+-109.1 33.932 6558
+-108.974 33.932 6487
+-108.848 33.932 6455
+-108.722 33.932 6415
+-108.596 33.932 6336
+-108.47 33.932 6247
+-108.344 33.932 6150
+-108.218 33.932 6062
+-108.092 33.932 5919
+-107.966 33.932 5796
+-107.84 33.932 5782
+-107.714 33.932 5632
+-107.588 33.932 5525
+-107.462 33.932 5473
+-107.336 33.932 5278
+-107.21 33.932 5361
+-107.084 33.932 5244
+-106.958 33.932 5147
+-106.832 33.932 5001
+-106.706 33.932 4856
+-106.58 33.932 4727
+-106.454 33.932 4639
+-106.328 33.932 4556
+-106.202 33.932 4459
+-106.076 33.932 4361
+-105.95 33.932 4304
+-105.824 33.932 4271
+-105.698 33.932 4236
+-105.572 33.932 4205
+-105.446 33.932 4188
+-105.32 33.932 4147
+-105.194 33.932 4113
+-105.068 33.932 4065
+-104.942 33.932 4051
+-104.816 33.932 3979
+-104.69 33.932 3938
+-104.564 33.932 3885
+-104.438 33.932 3791
+-104.312 33.932 3779
+-104.186 33.932 3772
+-104.06 33.932 3750
+-103.934 33.932 3749
+-103.808 33.932 3748
+-103.682 33.932 3750
+-103.556 33.932 3727
+-103.43 33.932 3710
+-103.304 33.932 3713
+-103.178 33.932 3712
+-103.052 33.932 3684
+-102.926 33.932 3682
+-102.8 33.932 3686
+-102.674 33.932 3691
+-102.548 33.932 3695
+-102.422 33.932 3678
+-102.296 33.932 3682
+-102.17 33.932 3685
+-102.044 33.932 3689
+-101.918 33.932 3675
+-101.792 33.932 3679
+-101.666 33.932 3683
+-101.54 33.932 3686
+-101.414 33.932 3619
+-101.288 33.932 3584
+-101.162 33.932 3584
+-101.036 33.932 3562
+-100.91 33.932 3560
+-100.784 33.932 3479
+-100.658 33.932 3475
+-100.532 33.932 3432
+-100.406 33.932 3426
+-100.28 33.932 3352
+-100.154 33.932 3245
+-100.028 33.932 3217
+-99.902 33.932 3149
+-99.776 33.932 3113
+-99.65 33.932 3148
+-99.524 33.932 3149
+-99.398 33.932 3277
+-99.272 33.932 3295
+-99.146 33.932 3311
+-99.02 33.932 3310
+-98.894 33.932 3308
+-98.768 33.932 3307
+-98.642 33.932 3305
+-98.516 33.932 3304
+-98.39 33.932 3236
+-98.264 33.932 3337
+-98.138 33.932 3138
+-98.012 33.932 3136
+-97.886 33.932 3142
+-97.76 33.932 3257
+-97.634 33.932 3285
+-97.508 33.932 3227
+-97.382 33.932 3250
+-97.256 33.932 3243
+-97.13 33.932 3234
+-97.004 33.932 3296
+-96.878 33.932 3235
+-96.752 33.932 3250
+-96.626 33.932 3273
+-96.5 33.932 3281
+-96.374 33.932 3233
+-96.248 33.932 3225
+-96.122 33.932 3207
+-95.996 33.932 3186
+-95.87 33.932 3108
+-95.744 33.932 3088
+-95.618 33.932 3064
+-95.492 33.932 3036
+-95.366 33.932 3004
+-95.24 33.932 2966
+-95.114 33.932 2947
+-94.988 33.932 2892
+-94.862 33.932 2845
+-94.736 33.932 2788
+-94.61 33.932 2699
+-94.484 33.932 2630
+-94.358 33.932 2725
+-94.232 33.932 2915
+-94.106 33.932 3080
+-93.98 33.932 3164
+-93.854 33.932 3198
+-93.728 33.932 3223
+-93.602 33.932 3249
+-93.476 33.932 3267
+-93.35 33.932 3342
+-93.224 33.932 3451
+-93.098 33.932 3531
+-92.972 33.932 3570
+-92.846 33.932 3559
+-92.72 33.932 3652
+-92.594 33.932 3811
+-92.468 33.932 3956
+-92.342 33.932 4025
+-92.216 33.932 4136
+-92.09 33.932 4230
+-91.964 33.932 4337
+-91.838 33.932 4410
+-91.712 33.932 4496
+-91.586 33.932 4581
+-91.46 33.932 4636
+-91.334 33.932 4760
+-91.208 33.932 4862
+-91.082 33.932 4896
+-90.956 33.932 4947
+-90.83 33.932 5038
+-90.704 33.932 5095
+-90.578 33.932 5138
+-90.452 33.932 5223
+-90.326 33.932 5318
+-90.2 33.932 5368
+-90.074 33.932 5414
+-89.948 33.932 5409
+-89.822 33.932 5447
+-89.696 33.932 5456
+-89.57 33.932 5476
+-89.444 33.932 5507
+-89.318 33.932 5544
+-89.192 33.932 5583
+-89.066 33.932 5592
+-88.94 33.932 5614
+-88.814 33.932 5611
+-88.688 33.932 5604
+-88.562 33.932 5594
+-88.436 33.932 5570
+-88.31 33.932 5532
+-88.184 33.932 5514
+-88.058 33.932 5535
+-87.932 33.932 5491
+-87.806 33.932 5452
+-87.68 33.932 5419
+-87.554 33.932 5371
+-87.428 33.932 5298
+-87.302 33.932 5224
+-87.176 33.932 5234
+-87.05 33.932 5131
+-86.924 33.932 5081
+-86.798 33.932 4999
+-86.672 33.932 4957
+-86.546 33.932 4885
+-86.42 33.932 4794
+-86.294 33.932 4692
+-86.168 33.932 4621
+-86.042 33.932 4547
+-85.916 33.932 4522
+-85.79 33.932 4488
+-85.664 33.932 4418
+-85.538 33.932 4320
+-85.412 33.932 4136
+-85.286 33.932 3979
+-85.16 33.932 4060
+-85.034 33.932 4112
+-84.908 33.932 4091
+-84.782 33.932 4003
+-84.656 33.932 3916
+-84.53 33.932 3824
+-84.404 33.932 3728
+-84.278 33.932 3601
+-84.152 33.932 3505
+-84.026 33.932 3438
+-83.9 33.932 3359
+-83.774 33.932 3247
+-83.648 33.932 3140
+-83.522 33.932 3022
+-83.396 33.932 2966
+-83.27 33.932 3005
+-83.144 33.932 3061
+-83.018 33.932 3082
+-82.892 33.932 3082
+-82.766 33.932 3090
+-82.64 33.932 3106
+-82.514 33.932 3135
+-82.388 33.932 3177
+-82.262 33.932 3227
+-82.136 33.932 3267
+-82.01 33.932 3303
+-81.884 33.932 3340
+-81.758 33.932 3380
+-81.632 33.932 3379
+-81.506 33.932 3425
+-81.38 33.932 3436
+-81.254 33.932 3412
+-81.128 33.932 3412
+-81.002 33.932 3377
+-80.876 33.932 3366
+-80.75 33.932 3350
+-80.624 33.932 3344
+-80.498 33.932 3319
+-80.372 33.932 3288
+-80.246 33.932 3256
+-80.12 33.932 3216
+-79.994 33.932 3196
+-79.868 33.932 3143
+-79.742 33.932 3044
+-79.616 33.932 3020
+-79.49 33.932 2954
+-79.364 33.932 2886
+-79.238 33.932 2817
+-79.112 33.932 2751
+-78.986 33.932 2693
+-78.86 33.932 2658
+-78.734 33.932 2633
+-78.608 33.932 2627
+-78.482 33.932 2648
+-78.356 33.932 2677
+-78.23 33.932 2710
+-78.104 33.932 2749
+-77.978 33.932 2785
+-77.852 33.932 2823
+-77.726 33.932 2859
+-77.6 33.932 2891
+-77.474 33.932 2920
+-77.348 33.932 2948
+-77.222 33.932 2951
+-77.096 33.932 2975
+-76.97 33.932 2997
+-76.844 33.932 3047
+-76.718 33.932 3066
+-76.592 33.932 3089
+-76.466 33.932 3107
+-76.34 33.932 3114
+-76.214 33.932 3140
+-76.088 33.932 3182
+-75.962 33.932 3201
+-75.836 33.932 3215
+-75.71 33.932 3228
+-75.584 33.932 3268
+-75.458 33.932 3282
+-75.332 33.932 3251
+-75.206 33.932 3272
+-75.08 33.932 3279
+-74.954 33.932 3224
+-74.828 33.932 3165
+-74.702 33.932 3185
+-74.576 33.932 3192
+-74.45 33.932 3219
+-74.324 33.932 3206
+-74.198 33.932 3217
+-74.072 33.932 3223
+-73.946 33.932 3214
+-73.82 33.932 3219
+-73.694 33.932 3225
+-73.568 33.932 3210
+-73.442 33.932 3199
+-73.316 33.932 3226
+-73.19 33.932 3225
+-73.064 33.932 3230
+-72.938 33.932 3235
+-72.812 33.932 3167
+-72.686 33.932 3202
+-72.56 33.932 3200
+-72.434 33.932 3204
+-72.308 33.932 3208
+-72.182 33.932 3404
+-72.056 33.932 3337
+-71.93 33.932 3348
+-71.804 33.932 3351
+-71.678 33.932 3257
+-71.552 33.932 3247
+-71.426 33.932 3248
+-71.3 33.932 3250
+-71.174 33.932 3232
+-71.048 33.932 3234
+-70.922 33.932 3235
+-70.796 33.932 3237
+-70.67 33.932 3238
+-70.544 33.932 3257
+-70.418 33.932 3259
+-70.292 33.932 3245
+-70.166 33.932 3247
+-70.04 33.932 3249
+-69.914 33.932 3193
+-69.788 33.932 3368
+-69.662 33.932 3332
+-69.536 33.932 3333
+-69.41 33.932 3301
+-69.284 33.932 3303
+-69.158 33.932 3304
+-69.032 33.932 3429
+-68.906 33.932 3430
+-68.78 33.932 3432
+-68.654 33.932 3433
+-68.528 33.932 3434
+-68.402 33.932 3541
+-68.276 33.932 3543
+-68.15 33.932 3461
+-68.024 33.932 3463
+-67.898 33.932 3464
+-67.772 33.932 3465
+-67.646 33.932 3473
+-67.52 33.932 3433
+-67.394 33.932 3426
+-67.268 33.932 3376
+-67.142 33.932 3377
+-67.016 33.932 3339
+-66.89 33.932 3385
+-66.764 33.932 3386
+-66.638 33.932 3387
+-66.512 33.932 3389
+-66.386 33.932 3390
+-66.26 33.932 3391
+-66.134 33.932 3392
+-66.008 33.932 3366
+-65.882 33.932 3367
+-65.756 33.932 3368
+-65.63 33.932 3338
+-65.504 33.932 3307
+-65.378 33.932 3285
+-65.252 33.932 3286
+-65.126 33.932 3287
+-128 33.88 2671
+-127.874 33.88 2670
+-127.748 33.88 2668
+-127.622 33.88 2706
+-127.496 33.88 2776
+-127.37 33.88 2774
+-127.244 33.88 2771
+-127.118 33.88 2770
+-126.992 33.88 2768
+-126.866 33.88 2809
+-126.74 33.88 2807
+-126.614 33.88 2809
+-126.488 33.88 2841
+-126.362 33.88 2903
+-126.236 33.88 2900
+-126.11 33.88 2898
+-125.984 33.88 3001
+-125.858 33.88 3002
+-125.732 33.88 3005
+-125.606 33.88 3009
+-125.48 33.88 3015
+-125.354 33.88 3054
+-125.228 33.88 3063
+-125.102 33.88 3163
+-124.976 33.88 3240
+-124.85 33.88 3252
+-124.724 33.88 3375
+-124.598 33.88 3491
+-124.472 33.88 3502
+-124.346 33.88 3513
+-124.22 33.88 3523
+-124.094 33.88 3534
+-123.968 33.88 3618
+-123.842 33.88 3667
+-123.716 33.88 3701
+-123.59 33.88 3801
+-123.464 33.88 3864
+-123.338 33.88 3896
+-123.212 33.88 3937
+-123.086 33.88 3978
+-122.96 33.88 3941
+-122.834 33.88 3856
+-122.708 33.88 3811
+-122.582 33.88 3987
+-122.456 33.88 4276
+-122.33 33.88 4346
+-122.204 33.88 4280
+-122.078 33.88 4440
+-121.952 33.88 4422
+-121.826 33.88 4639
+-121.7 33.88 4835
+-121.574 33.88 4833
+-121.448 33.88 5094
+-121.322 33.88 5141
+-121.196 33.88 5355
+-121.07 33.88 5508
+-120.944 33.88 5596
+-120.818 33.88 5721
+-120.692 33.88 5862
+-120.566 33.88 6028
+-120.44 33.88 6167
+-120.314 33.88 6259
+-120.188 33.88 6390
+-120.062 33.88 6574
+-119.936 33.88 6617
+-119.81 33.88 6776
+-119.684 33.88 6915
+-119.558 33.88 7083
+-119.432 33.88 7225
+-119.306 33.88 7369
+-119.18 33.88 7542
+-119.054 33.88 7665
+-118.928 33.88 7762
+-118.802 33.88 7912
+-118.676 33.88 8042
+-118.55 33.88 8157
+-118.424 33.88 8278
+-118.298 33.88 8443
+-118.172 33.88 8593
+-118.046 33.88 8687
+-117.92 33.88 8851
+-117.794 33.88 8917
+-117.668 33.88 9049
+-117.542 33.88 9135
+-117.416 33.88 9197
+-117.29 33.88 9225
+-117.164 33.88 9194
+-117.038 33.88 9067
+-116.912 33.88 9020
+-116.786 33.88 8863
+-116.66 33.88 8717
+-116.534 33.88 8566
+-116.408 33.88 8479
+-116.282 33.88 8347
+-116.156 33.88 8249
+-116.03 33.88 8097
+-115.904 33.88 7949
+-115.778 33.88 7869
+-115.652 33.88 7707
+-115.526 33.88 7608
+-115.4 33.88 7576
+-115.274 33.88 7494
+-115.148 33.88 7338
+-115.022 33.88 7238
+-114.896 33.88 7125
+-114.77 33.88 6990
+-114.644 33.88 6868
+-114.518 33.88 6723
+-114.392 33.88 6640
+-114.266 33.88 6454
+-114.14 33.88 6299
+-114.014 33.88 6195
+-113.888 33.88 6046
+-113.762 33.88 5944
+-113.636 33.88 5850
+-113.51 33.88 5721
+-113.384 33.88 5606
+-113.258 33.88 5589
+-113.132 33.88 5575
+-113.006 33.88 5707
+-112.88 33.88 5822
+-112.754 33.88 5960
+-112.628 33.88 5987
+-112.502 33.88 6102
+-112.376 33.88 6219
+-112.25 33.88 6284
+-112.124 33.88 6393
+-111.998 33.88 6455
+-111.872 33.88 6546
+-111.746 33.88 6617
+-111.62 33.88 6660
+-111.494 33.88 6741
+-111.368 33.88 6782
+-111.242 33.88 6860
+-111.116 33.88 6908
+-110.99 33.88 6963
+-110.864 33.88 6960
+-110.738 33.88 6987
+-110.612 33.88 7020
+-110.486 33.88 6993
+-110.36 33.88 7008
+-110.234 33.88 7004
+-110.108 33.88 6989
+-109.982 33.88 6962
+-109.856 33.88 6964
+-109.73 33.88 6895
+-109.604 33.88 6857
+-109.478 33.88 6824
+-109.352 33.88 6763
+-109.226 33.88 6699
+-109.1 33.88 6615
+-108.974 33.88 6579
+-108.848 33.88 6501
+-108.722 33.88 6399
+-108.596 33.88 6360
+-108.47 33.88 6281
+-108.344 33.88 6155
+-108.218 33.88 6080
+-108.092 33.88 5994
+-107.966 33.88 5848
+-107.84 33.88 5780
+-107.714 33.88 5674
+-107.588 33.88 5568
+-107.462 33.88 5491
+-107.336 33.88 5451
+-107.21 33.88 5406
+-107.084 33.88 5272
+-106.958 33.88 5135
+-106.832 33.88 4991
+-106.706 33.88 4864
+-106.58 33.88 4732
+-106.454 33.88 4663
+-106.328 33.88 4613
+-106.202 33.88 4497
+-106.076 33.88 4366
+-105.95 33.88 4270
+-105.824 33.88 4211
+-105.698 33.88 4182
+-105.572 33.88 4178
+-105.446 33.88 4157
+-105.32 33.88 4118
+-105.194 33.88 4084
+-105.068 33.88 4047
+-104.942 33.88 3989
+-104.816 33.88 3938
+-104.69 33.88 3866
+-104.564 33.88 3841
+-104.438 33.88 3759
+-104.312 33.88 3750
+-104.186 33.88 3728
+-104.06 33.88 3726
+-103.934 33.88 3727
+-103.808 33.88 3729
+-103.682 33.88 3708
+-103.556 33.88 3693
+-103.43 33.88 3697
+-103.304 33.88 3697
+-103.178 33.88 3671
+-103.052 33.88 3669
+-102.926 33.88 3675
+-102.8 33.88 3680
+-102.674 33.88 3685
+-102.548 33.88 3669
+-102.422 33.88 3673
+-102.296 33.88 3677
+-102.17 33.88 3681
+-102.044 33.88 3668
+-101.918 33.88 3672
+-101.792 33.88 3677
+-101.666 33.88 3681
+-101.54 33.88 3685
+-101.414 33.88 3619
+-101.288 33.88 3587
+-101.162 33.88 3566
+-101.036 33.88 3565
+-100.91 33.88 3489
+-100.784 33.88 3486
+-100.658 33.88 3482
+-100.532 33.88 3440
+-100.406 33.88 3434
+-100.28 33.88 3395
+-100.154 33.88 3251
+-100.028 33.88 3223
+-99.902 33.88 3142
+-99.776 33.88 3116
+-99.65 33.88 3149
+-99.524 33.88 3150
+-99.398 33.88 3277
+-99.272 33.88 3313
+-99.146 33.88 3312
+-99.02 33.88 3310
+-98.894 33.88 3309
+-98.768 33.88 3307
+-98.642 33.88 3305
+-98.516 33.88 3237
+-98.39 33.88 3338
+-98.264 33.88 3134
+-98.138 33.88 3131
+-98.012 33.88 3137
+-97.886 33.88 3253
+-97.76 33.88 3203
+-97.634 33.88 3223
+-97.508 33.88 3246
+-97.382 33.88 3239
+-97.256 33.88 3231
+-97.13 33.88 3220
+-97.004 33.88 3233
+-96.878 33.88 3249
+-96.752 33.88 3206
+-96.626 33.88 3219
+-96.5 33.88 3216
+-96.374 33.88 3172
+-96.248 33.88 3217
+-96.122 33.88 3199
+-95.996 33.88 3120
+-95.87 33.88 3104
+-95.744 33.88 3086
+-95.618 33.88 3064
+-95.492 33.88 3040
+-95.366 33.88 3012
+-95.24 33.88 3011
+-95.114 33.88 2965
+-94.988 33.88 2927
+-94.862 33.88 2883
+-94.736 33.88 2825
+-94.61 33.88 2753
+-94.484 33.88 2711
+-94.358 33.88 2792
+-94.232 33.88 2946
+-94.106 33.88 3072
+-93.98 33.88 3132
+-93.854 33.88 3143
+-93.728 33.88 3133
+-93.602 33.88 3201
+-93.476 33.88 3203
+-93.35 33.88 3285
+-93.224 33.88 3394
+-93.098 33.88 3476
+-92.972 33.88 3523
+-92.846 33.88 3549
+-92.72 33.88 3605
+-92.594 33.88 3704
+-92.468 33.88 3843
+-92.342 33.88 3987
+-92.216 33.88 4122
+-92.09 33.88 4233
+-91.964 33.88 4306
+-91.838 33.88 4356
+-91.712 33.88 4439
+-91.586 33.88 4514
+-91.46 33.88 4578
+-91.334 33.88 4666
+-91.208 33.88 4806
+-91.082 33.88 4872
+-90.956 33.88 4917
+-90.83 33.88 5000
+-90.704 33.88 5057
+-90.578 33.88 5106
+-90.452 33.88 5137
+-90.326 33.88 5236
+-90.2 33.88 5314
+-90.074 33.88 5363
+-89.948 33.88 5390
+-89.822 33.88 5380
+-89.696 33.88 5382
+-89.57 33.88 5402
+-89.444 33.88 5452
+-89.318 33.88 5510
+-89.192 33.88 5521
+-89.066 33.88 5554
+-88.94 33.88 5554
+-88.814 33.88 5541
+-88.688 33.88 5557
+-88.562 33.88 5546
+-88.436 33.88 5494
+-88.31 33.88 5469
+-88.184 33.88 5455
+-88.058 33.88 5467
+-87.932 33.88 5442
+-87.806 33.88 5390
+-87.68 33.88 5371
+-87.554 33.88 5348
+-87.428 33.88 5244
+-87.302 33.88 5209
+-87.176 33.88 5161
+-87.05 33.88 5105
+-86.924 33.88 5024
+-86.798 33.88 4967
+-86.672 33.88 4911
+-86.546 33.88 4860
+-86.42 33.88 4768
+-86.294 33.88 4648
+-86.168 33.88 4592
+-86.042 33.88 4480
+-85.916 33.88 4496
+-85.79 33.88 4470
+-85.664 33.88 4407
+-85.538 33.88 4318
+-85.412 33.88 4181
+-85.286 33.88 4078
+-85.16 33.88 4100
+-85.034 33.88 4102
+-84.908 33.88 4065
+-84.782 33.88 3952
+-84.656 33.88 3890
+-84.53 33.88 3786
+-84.404 33.88 3718
+-84.278 33.88 3624
+-84.152 33.88 3507
+-84.026 33.88 3423
+-83.9 33.88 3298
+-83.774 33.88 3214
+-83.648 33.88 3104
+-83.522 33.88 2971
+-83.396 33.88 2906
+-83.27 33.88 2968
+-83.144 33.88 3057
+-83.018 33.88 3089
+-82.892 33.88 3109
+-82.766 33.88 3130
+-82.64 33.88 3155
+-82.514 33.88 3190
+-82.388 33.88 3233
+-82.262 33.88 3270
+-82.136 33.88 3310
+-82.01 33.88 3341
+-81.884 33.88 3381
+-81.758 33.88 3437
+-81.632 33.88 3461
+-81.506 33.88 3445
+-81.38 33.88 3455
+-81.254 33.88 3472
+-81.128 33.88 3433
+-81.002 33.88 3429
+-80.876 33.88 3390
+-80.75 33.88 3389
+-80.624 33.88 3369
+-80.498 33.88 3344
+-80.372 33.88 3318
+-80.246 33.88 3283
+-80.12 33.88 3269
+-79.994 33.88 3221
+-79.868 33.88 3148
+-79.742 33.88 3099
+-79.616 33.88 3030
+-79.49 33.88 2955
+-79.364 33.88 2873
+-79.238 33.88 2787
+-79.112 33.88 2702
+-78.986 33.88 2635
+-78.86 33.88 2578
+-78.734 33.88 2548
+-78.608 33.88 2555
+-78.482 33.88 2582
+-78.356 33.88 2623
+-78.23 33.88 2672
+-78.104 33.88 2720
+-77.978 33.88 2767
+-77.852 33.88 2811
+-77.726 33.88 2850
+-77.6 33.88 2886
+-77.474 33.88 2919
+-77.348 33.88 2927
+-77.222 33.88 2954
+-77.096 33.88 2979
+-76.97 33.88 3030
+-76.844 33.88 3051
+-76.718 33.88 3076
+-76.592 33.88 3096
+-76.466 33.88 3105
+-76.34 33.88 3132
+-76.214 33.88 3174
+-76.088 33.88 3194
+-75.962 33.88 3209
+-75.836 33.88 3222
+-75.71 33.88 3262
+-75.584 33.88 3277
+-75.458 33.88 3247
+-75.332 33.88 3268
+-75.206 33.88 3276
+-75.08 33.88 3224
+-74.954 33.88 3164
+-74.828 33.88 3184
+-74.702 33.88 3191
+-74.576 33.88 3217
+-74.45 33.88 3205
+-74.324 33.88 3216
+-74.198 33.88 3223
+-74.072 33.88 3213
+-73.946 33.88 3219
+-73.82 33.88 3225
+-73.694 33.88 3210
+-73.568 33.88 3199
+-73.442 33.88 3226
+-73.316 33.88 3225
+-73.19 33.88 3230
+-73.064 33.88 3235
+-72.938 33.88 3167
+-72.812 33.88 3203
+-72.686 33.88 3201
+-72.56 33.88 3205
+-72.434 33.88 3209
+-72.308 33.88 3402
+-72.182 33.88 3338
+-72.056 33.88 3346
+-71.93 33.88 3349
+-71.804 33.88 3255
+-71.678 33.88 3245
+-71.552 33.88 3247
+-71.426 33.88 3249
+-71.3 33.88 3231
+-71.174 33.88 3233
+-71.048 33.88 3234
+-70.922 33.88 3236
+-70.796 33.88 3237
+-70.67 33.88 3256
+-70.544 33.88 3258
+-70.418 33.88 3244
+-70.292 33.88 3246
+-70.166 33.88 3248
+-70.04 33.88 3192
+-69.914 33.88 3367
+-69.788 33.88 3330
+-69.662 33.88 3332
+-69.536 33.88 3300
+-69.41 33.88 3302
+-69.284 33.88 3303
+-69.158 33.88 3428
+-69.032 33.88 3429
+-68.906 33.88 3430
+-68.78 33.88 3431
+-68.654 33.88 3432
+-68.528 33.88 3539
+-68.402 33.88 3541
+-68.276 33.88 3460
+-68.15 33.88 3461
+-68.024 33.88 3462
+-67.898 33.88 3464
+-67.772 33.88 3471
+-67.646 33.88 3431
+-67.52 33.88 3424
+-67.394 33.88 3374
+-67.268 33.88 3376
+-67.142 33.88 3338
+-67.016 33.88 3384
+-66.89 33.88 3385
+-66.764 33.88 3386
+-66.638 33.88 3387
+-66.512 33.88 3389
+-66.386 33.88 3390
+-66.26 33.88 3391
+-66.134 33.88 3365
+-66.008 33.88 3366
+-65.882 33.88 3367
+-65.756 33.88 3337
+-65.63 33.88 3306
+-65.504 33.88 3285
+-65.378 33.88 3285
+-65.252 33.88 3286
+-65.126 33.88 3287
+-128 33.828 2668
+-127.874 33.828 2666
+-127.748 33.828 2730
+-127.622 33.828 2773
+-127.496 33.828 2770
+-127.37 33.828 2767
+-127.244 33.828 2764
+-127.118 33.828 2762
+-126.992 33.828 2802
+-126.866 33.828 2798
+-126.74 33.828 2800
+-126.614 33.828 2796
+-126.488 33.828 2826
+-126.362 33.828 2824
+-126.236 33.828 2883
+-126.11 33.828 2879
+-125.984 33.828 2877
+-125.858 33.828 2979
+-125.732 33.828 2980
+-125.606 33.828 2983
+-125.48 33.828 2987
+-125.354 33.828 2994
+-125.228 33.828 3089
+-125.102 33.828 3099
+-124.976 33.828 3169
+-124.85 33.828 3262
+-124.724 33.828 3399
+-124.598 33.828 3410
+-124.472 33.828 3449
+-124.346 33.828 3457
+-124.22 33.828 3463
+-124.094 33.828 3467
+-123.968 33.828 3479
+-123.842 33.828 3525
+-123.716 33.828 3601
+-123.59 33.828 3639
+-123.464 33.828 3767
+-123.338 33.828 3827
+-123.212 33.828 3870
+-123.086 33.828 3924
+-122.96 33.828 3892
+-122.834 33.828 3765
+-122.708 33.828 3640
+-122.582 33.828 3854
+-122.456 33.828 4205
+-122.33 33.828 4365
+-122.204 33.828 4384
+-122.078 33.828 4440
+-121.952 33.828 4511
+-121.826 33.828 4665
+-121.7 33.828 4834
+-121.574 33.828 4939
+-121.448 33.828 5124
+-121.322 33.828 5276
+-121.196 33.828 5420
+-121.07 33.828 5487
+-120.944 33.828 5629
+-120.818 33.828 5712
+-120.692 33.828 5840
+-120.566 33.828 5931
+-120.44 33.828 6126
+-120.314 33.828 6216
+-120.188 33.828 6336
+-120.062 33.828 6552
+-119.936 33.828 6630
+-119.81 33.828 6778
+-119.684 33.828 6889
+-119.558 33.828 7071
+-119.432 33.828 7232
+-119.306 33.828 7373
+-119.18 33.828 7490
+-119.054 33.828 7615
+-118.928 33.828 7802
+-118.802 33.828 7891
+-118.676 33.828 8025
+-118.55 33.828 8105
+-118.424 33.828 8309
+-118.298 33.828 8423
+-118.172 33.828 8552
+-118.046 33.828 8746
+-117.92 33.828 8800
+-117.794 33.828 8958
+-117.668 33.828 9041
+-117.542 33.828 9127
+-117.416 33.828 9167
+-117.29 33.828 9153
+-117.164 33.828 9103
+-117.038 33.828 9085
+-116.912 33.828 8924
+-116.786 33.828 8812
+-116.66 33.828 8718
+-116.534 33.828 8593
+-116.408 33.828 8425
+-116.282 33.828 8317
+-116.156 33.828 8222
+-116.03 33.828 8102
+-115.904 33.828 7921
+-115.778 33.828 7934
+-115.652 33.828 7884
+-115.526 33.828 7755
+-115.4 33.828 7580
+-115.274 33.828 7485
+-115.148 33.828 7393
+-115.022 33.828 7269
+-114.896 33.828 7103
+-114.77 33.828 7013
+-114.644 33.828 6928
+-114.518 33.828 6770
+-114.392 33.828 6603
+-114.266 33.828 6488
+-114.14 33.828 6353
+-114.014 33.828 6191
+-113.888 33.828 6069
+-113.762 33.828 5937
+-113.636 33.828 5838
+-113.51 33.828 5631
+-113.384 33.828 5657
+-113.258 33.828 5653
+-113.132 33.828 5637
+-113.006 33.828 5748
+-112.88 33.828 5852
+-112.754 33.828 5965
+-112.628 33.828 6038
+-112.502 33.828 6187
+-112.376 33.828 6240
+-112.25 33.828 6321
+-112.124 33.828 6402
+-111.998 33.828 6497
+-111.872 33.828 6609
+-111.746 33.828 6646
+-111.62 33.828 6722
+-111.494 33.828 6807
+-111.368 33.828 6839
+-111.242 33.828 6877
+-111.116 33.828 6976
+-110.99 33.828 6960
+-110.864 33.828 6988
+-110.738 33.828 7037
+-110.612 33.828 7040
+-110.486 33.828 7064
+-110.36 33.828 7075
+-110.234 33.828 7054
+-110.108 33.828 7030
+-109.982 33.828 7012
+-109.856 33.828 6995
+-109.73 33.828 6959
+-109.604 33.828 6918
+-109.478 33.828 6889
+-109.352 33.828 6802
+-109.226 33.828 6717
+-109.1 33.828 6691
+-108.974 33.828 6601
+-108.848 33.828 6572
+-108.722 33.828 6472
+-108.596 33.828 6387
+-108.47 33.828 6302
+-108.344 33.828 6218
+-108.218 33.828 6129
+-108.092 33.828 6021
+-107.966 33.828 5913
+-107.84 33.828 5794
+-107.714 33.828 5691
+-107.588 33.828 5588
+-107.462 33.828 5570
+-107.336 33.828 5495
+-107.21 33.828 5401
+-107.084 33.828 5306
+-106.958 33.828 5144
+-106.832 33.828 4998
+-106.706 33.828 4839
+-106.58 33.828 4731
+-106.454 33.828 4618
+-106.328 33.828 4631
+-106.202 33.828 4505
+-106.076 33.828 4312
+-105.95 33.828 4180
+-105.824 33.828 4124
+-105.698 33.828 4129
+-105.572 33.828 4143
+-105.446 33.828 4122
+-105.32 33.828 4089
+-105.194 33.828 4047
+-105.068 33.828 3982
+-104.942 33.828 3922
+-104.816 33.828 3853
+-104.69 33.828 3824
+-104.564 33.828 3804
+-104.438 33.828 3739
+-104.312 33.828 3733
+-104.186 33.828 3699
+-104.06 33.828 3700
+-103.934 33.828 3703
+-103.808 33.828 3700
+-103.682 33.828 3672
+-103.556 33.828 3678
+-103.43 33.828 3679
+-103.304 33.828 3655
+-103.178 33.828 3655
+-103.052 33.828 3661
+-102.926 33.828 3667
+-102.8 33.828 3673
+-102.674 33.828 3659
+-102.548 33.828 3664
+-102.422 33.828 3668
+-102.296 33.828 3673
+-102.17 33.828 3660
+-102.044 33.828 3665
+-101.918 33.828 3670
+-101.792 33.828 3675
+-101.666 33.828 3679
+-101.54 33.828 3683
+-101.414 33.828 3687
+-101.288 33.828 3647
+-101.162 33.828 3652
+-101.036 33.828 3569
+-100.91 33.828 3495
+-100.784 33.828 3492
+-100.658 33.828 3488
+-100.532 33.828 3447
+-100.406 33.828 3441
+-100.28 33.828 3444
+-100.154 33.828 3266
+-100.028 33.828 3229
+-99.902 33.828 3147
+-99.776 33.828 3120
+-99.65 33.828 3149
+-99.524 33.828 3150
+-99.398 33.828 3256
+-99.272 33.828 3313
+-99.146 33.828 3312
+-99.02 33.828 3311
+-98.894 33.828 3309
+-98.768 33.828 3307
+-98.642 33.828 3237
+-98.516 33.828 3339
+-98.39 33.828 3129
+-98.264 33.828 3127
+-98.138 33.828 3133
+-98.012 33.828 3249
+-97.886 33.828 3198
+-97.76 33.828 3218
+-97.634 33.828 3243
+-97.508 33.828 3236
+-97.382 33.828 3228
+-97.256 33.828 3217
+-97.13 33.828 3231
+-97.004 33.828 3248
+-96.878 33.828 3204
+-96.752 33.828 3220
+-96.626 33.828 3218
+-96.5 33.828 3205
+-96.374 33.828 3163
+-96.248 33.828 3150
+-96.122 33.828 3130
+-95.996 33.828 3117
+-95.87 33.828 3102
+-95.744 33.828 3085
+-95.618 33.828 3066
+-95.492 33.828 3045
+-95.366 33.828 2997
+-95.24 33.828 2986
+-95.114 33.828 2962
+-94.988 33.828 2935
+-94.862 33.828 2904
+-94.736 33.828 2893
+-94.61 33.828 2853
+-94.484 33.828 2850
+-94.358 33.828 2909
+-94.232 33.828 3006
+-94.106 33.828 3087
+-93.98 33.828 3125
+-93.854 33.828 3102
+-93.728 33.828 3048
+-93.602 33.828 3151
+-93.476 33.828 3242
+-93.35 33.828 3293
+-93.224 33.828 3332
+-93.098 33.828 3409
+-92.972 33.828 3470
+-92.846 33.828 3526
+-92.72 33.828 3537
+-92.594 33.828 3613
+-92.468 33.828 3760
+-92.342 33.828 3935
+-92.216 33.828 4093
+-92.09 33.828 4199
+-91.964 33.828 4264
+-91.838 33.828 4324
+-91.712 33.828 4400
+-91.586 33.828 4457
+-91.46 33.828 4526
+-91.334 33.828 4604
+-91.208 33.828 4709
+-91.082 33.828 4809
+-90.956 33.828 4869
+-90.83 33.828 4918
+-90.704 33.828 4999
+-90.578 33.828 5057
+-90.452 33.828 5114
+-90.326 33.828 5182
+-90.2 33.828 5242
+-90.074 33.828 5326
+-89.948 33.828 5345
+-89.822 33.828 5318
+-89.696 33.828 5355
+-89.57 33.828 5371
+-89.444 33.828 5391
+-89.318 33.828 5432
+-89.192 33.828 5439
+-89.066 33.828 5466
+-88.94 33.828 5483
+-88.814 33.828 5495
+-88.688 33.828 5483
+-88.562 33.828 5458
+-88.436 33.828 5431
+-88.31 33.828 5425
+-88.184 33.828 5424
+-88.058 33.828 5424
+-87.932 33.828 5409
+-87.806 33.828 5385
+-87.68 33.828 5361
+-87.554 33.828 5293
+-87.428 33.828 5201
+-87.302 33.828 5141
+-87.176 33.828 5084
+-87.05 33.828 5051
+-86.924 33.828 4957
+-86.798 33.828 4895
+-86.672 33.828 4865
+-86.546 33.828 4841
+-86.42 33.828 4756
+-86.294 33.828 4666
+-86.168 33.828 4594
+-86.042 33.828 4520
+-85.916 33.828 4486
+-85.79 33.828 4417
+-85.664 33.828 4358
+-85.538 33.828 4288
+-85.412 33.828 4231
+-85.286 33.828 4167
+-85.16 33.828 4148
+-85.034 33.828 4090
+-84.908 33.828 4039
+-84.782 33.828 3916
+-84.656 33.828 3807
+-84.53 33.828 3722
+-84.404 33.828 3625
+-84.278 33.828 3571
+-84.152 33.828 3453
+-84.026 33.828 3386
+-83.9 33.828 3293
+-83.774 33.828 3214
+-83.648 33.828 3122
+-83.522 33.828 3019
+-83.396 33.828 2971
+-83.27 33.828 3019
+-83.144 33.828 3078
+-83.018 33.828 3098
+-82.892 33.828 3118
+-82.766 33.828 3151
+-82.64 33.828 3190
+-82.514 33.828 3236
+-82.388 33.828 3274
+-82.262 33.828 3315
+-82.136 33.828 3345
+-82.01 33.828 3384
+-81.884 33.828 3438
+-81.758 33.828 3461
+-81.632 33.828 3477
+-81.506 33.828 3464
+-81.38 33.828 3472
+-81.254 33.828 3479
+-81.128 33.828 3452
+-81.002 33.828 3444
+-80.876 33.828 3425
+-80.75 33.828 3411
+-80.624 33.828 3392
+-80.498 33.828 3371
+-80.372 33.828 3343
+-80.246 33.828 3336
+-80.12 33.828 3294
+-79.994 33.828 3245
+-79.868 33.828 3180
+-79.742 33.828 3114
+-79.616 33.828 3039
+-79.49 33.828 2952
+-79.364 33.828 2855
+-79.238 33.828 2750
+-79.112 33.828 2650
+-78.986 33.828 2549
+-78.86 33.828 2475
+-78.734 33.828 2446
+-78.608 33.828 2457
+-78.482 33.828 2501
+-78.356 33.828 2564
+-78.23 33.828 2628
+-78.104 33.828 2691
+-77.978 33.828 2747
+-77.852 33.828 2797
+-77.726 33.828 2841
+-77.6 33.828 2881
+-77.474 33.828 2897
+-77.348 33.828 2928
+-77.222 33.828 2957
+-77.096 33.828 3010
+-76.97 33.828 3034
+-76.844 33.828 3061
+-76.718 33.828 3083
+-76.592 33.828 3094
+-76.466 33.828 3122
+-76.34 33.828 3165
+-76.214 33.828 3186
+-76.088 33.828 3202
+-75.962 33.828 3216
+-75.836 33.828 3256
+-75.71 33.828 3271
+-75.584 33.828 3244
+-75.458 33.828 3265
+-75.332 33.828 3273
+-75.206 33.828 3220
+-75.08 33.828 3164
+-74.954 33.828 3183
+-74.828 33.828 3190
+-74.702 33.828 3216
+-74.576 33.828 3205
+-74.45 33.828 3215
+-74.324 33.828 3222
+-74.198 33.828 3213
+-74.072 33.828 3219
+-73.946 33.828 3225
+-73.82 33.828 3210
+-73.694 33.828 3200
+-73.568 33.828 3226
+-73.442 33.828 3225
+-73.316 33.828 3230
+-73.19 33.828 3235
+-73.064 33.828 3168
+-72.938 33.828 3203
+-72.812 33.828 3201
+-72.686 33.828 3205
+-72.56 33.828 3209
+-72.434 33.828 3400
+-72.308 33.828 3333
+-72.182 33.828 3345
+-72.056 33.828 3348
+-71.93 33.828 3254
+-71.804 33.828 3244
+-71.678 33.828 3246
+-71.552 33.828 3248
+-71.426 33.828 3230
+-71.3 33.828 3232
+-71.174 33.828 3233
+-71.048 33.828 3235
+-70.922 33.828 3236
+-70.796 33.828 3255
+-70.67 33.828 3257
+-70.544 33.828 3243
+-70.418 33.828 3245
+-70.292 33.828 3247
+-70.166 33.828 3192
+-70.04 33.828 3365
+-69.914 33.828 3329
+-69.788 33.828 3330
+-69.662 33.828 3299
+-69.536 33.828 3300
+-69.41 33.828 3302
+-69.284 33.828 3426
+-69.158 33.828 3427
+-69.032 33.828 3428
+-68.906 33.828 3430
+-68.78 33.828 3431
+-68.654 33.828 3537
+-68.528 33.828 3539
+-68.402 33.828 3458
+-68.276 33.828 3459
+-68.15 33.828 3461
+-68.024 33.828 3462
+-67.898 33.828 3469
+-67.772 33.828 3430
+-67.646 33.828 3423
+-67.52 33.828 3373
+-67.394 33.828 3374
+-67.268 33.828 3337
+-67.142 33.828 3382
+-67.016 33.828 3384
+-66.89 33.828 3385
+-66.764 33.828 3386
+-66.638 33.828 3387
+-66.512 33.828 3389
+-66.386 33.828 3390
+-66.26 33.828 3364
+-66.134 33.828 3365
+-66.008 33.828 3366
+-65.882 33.828 3336
+-65.756 33.828 3305
+-65.63 33.828 3284
+-65.504 33.828 3285
+-65.378 33.828 3286
+-65.252 33.828 3286
+-65.126 33.828 3287
+-128 33.776 2664
+-127.874 33.776 2704
+-127.748 33.776 2724
+-127.622 33.776 2720
+-127.496 33.776 2764
+-127.37 33.776 2761
+-127.244 33.776 2757
+-127.118 33.776 2796
+-126.992 33.776 2791
+-126.866 33.776 2791
+-126.74 33.776 2786
+-126.614 33.776 2815
+-126.488 33.776 2811
+-126.362 33.776 2807
+-126.236 33.776 2803
+-126.11 33.776 2859
+-125.984 33.776 2854
+-125.858 33.776 2850
+-125.732 33.776 2954
+-125.606 33.776 2954
+-125.48 33.776 2957
+-125.354 33.776 3025
+-125.228 33.776 3030
+-125.102 33.776 3086
+-124.976 33.776 3175
+-124.85 33.776 3197
+-124.724 33.776 3348
+-124.598 33.776 3359
+-124.472 33.776 3368
+-124.346 33.776 3401
+-124.22 33.776 3402
+-124.094 33.776 3399
+-123.968 33.776 3425
+-123.842 33.776 3419
+-123.716 33.776 3427
+-123.59 33.776 3507
+-123.464 33.776 3573
+-123.338 33.776 3726
+-123.212 33.776 3800
+-123.086 33.776 3855
+-122.96 33.776 3886
+-122.834 33.776 3832
+-122.708 33.776 3791
+-122.582 33.776 3955
+-122.456 33.776 4208
+-122.33 33.776 4375
+-122.204 33.776 4419
+-122.078 33.776 4363
+-121.952 33.776 4499
+-121.826 33.776 4671
+-121.7 33.776 4819
+-121.574 33.776 4970
+-121.448 33.776 5176
+-121.322 33.776 5352
+-121.196 33.776 5461
+-121.07 33.776 5544
+-120.944 33.776 5612
+-120.818 33.776 5710
+-120.692 33.776 5844
+-120.566 33.776 5968
+-120.44 33.776 6122
+-120.314 33.776 6300
+-120.188 33.776 6451
+-120.062 33.776 6529
+-119.936 33.776 6630
+-119.81 33.776 6780
+-119.684 33.776 6953
+-119.558 33.776 7104
+-119.432 33.776 7189
+-119.306 33.776 7323
+-119.18 33.776 7515
+-119.054 33.776 7599
+-118.928 33.776 7716
+-118.802 33.776 7916
+-118.676 33.776 8061
+-118.55 33.776 8153
+-118.424 33.776 8264
+-118.298 33.776 8413
+-118.172 33.776 8494
+-118.046 33.776 8690
+-117.92 33.776 8772
+-117.794 33.776 8855
+-117.668 33.776 9015
+-117.542 33.776 9053
+-117.416 33.776 9118
+-117.29 33.776 9096
+-117.164 33.776 9076
+-117.038 33.776 9000
+-116.912 33.776 8911
+-116.786 33.776 8841
+-116.66 33.776 8752
+-116.534 33.776 8567
+-116.408 33.776 8470
+-116.282 33.776 8330
+-116.156 33.776 8179
+-116.03 33.776 8014
+-115.904 33.776 8112
+-115.778 33.776 8003
+-115.652 33.776 7909
+-115.526 33.776 7755
+-115.4 33.776 7693
+-115.274 33.776 7512
+-115.148 33.776 7353
+-115.022 33.776 7269
+-114.896 33.776 7118
+-114.77 33.776 7016
+-114.644 33.776 6854
+-114.518 33.776 6788
+-114.392 33.776 6651
+-114.266 33.776 6444
+-114.14 33.776 6313
+-114.014 33.776 6233
+-113.888 33.776 6071
+-113.762 33.776 5918
+-113.636 33.776 5862
+-113.51 33.776 5733
+-113.384 33.776 5545
+-113.258 33.776 5672
+-113.132 33.776 5729
+-113.006 33.776 5788
+-112.88 33.776 5851
+-112.754 33.776 5946
+-112.628 33.776 6087
+-112.502 33.776 6202
+-112.376 33.776 6309
+-112.25 33.776 6392
+-112.124 33.776 6462
+-111.998 33.776 6572
+-111.872 33.776 6668
+-111.746 33.776 6714
+-111.62 33.776 6738
+-111.494 33.776 6816
+-111.368 33.776 6892
+-111.242 33.776 6961
+-111.116 33.776 7005
+-110.99 33.776 7030
+-110.864 33.776 7057
+-110.738 33.776 7070
+-110.612 33.776 7106
+-110.486 33.776 7100
+-110.36 33.776 7107
+-110.234 33.776 7114
+-110.108 33.776 7090
+-109.982 33.776 7106
+-109.856 33.776 7051
+-109.73 33.776 7013
+-109.604 33.776 7008
+-109.478 33.776 6942
+-109.352 33.776 6856
+-109.226 33.776 6767
+-109.1 33.776 6718
+-108.974 33.776 6657
+-108.848 33.776 6575
+-108.722 33.776 6469
+-108.596 33.776 6436
+-108.47 33.776 6336
+-108.344 33.776 6220
+-108.218 33.776 6171
+-108.092 33.776 6044
+-107.966 33.776 5975
+-107.84 33.776 5871
+-107.714 33.776 5749
+-107.588 33.776 5663
+-107.462 33.776 5610
+-107.336 33.776 5480
+-107.21 33.776 5314
+-107.084 33.776 5297
+-106.958 33.776 5169
+-106.832 33.776 4966
+-106.706 33.776 4859
+-106.58 33.776 4778
+-106.454 33.776 4704
+-106.328 33.776 4641
+-106.202 33.776 4491
+-106.076 33.776 4262
+-105.95 33.776 4135
+-105.824 33.776 4024
+-105.698 33.776 4094
+-105.572 33.776 4130
+-105.446 33.776 4104
+-105.32 33.776 4061
+-105.194 33.776 3981
+-105.068 33.776 3922
+-104.942 33.776 3832
+-104.816 33.776 3793
+-104.69 33.776 3765
+-104.564 33.776 3748
+-104.438 33.776 3694
+-104.312 33.776 3693
+-104.186 33.776 3695
+-104.06 33.776 3671
+-103.934 33.776 3670
+-103.808 33.776 3646
+-103.682 33.776 3654
+-103.556 33.776 3658
+-103.43 33.776 3637
+-103.304 33.776 3638
+-103.178 33.776 3645
+-103.052 33.776 3653
+-102.926 33.776 3660
+-102.8 33.776 3647
+-102.674 33.776 3653
+-102.548 33.776 3659
+-102.422 33.776 3664
+-102.296 33.776 3652
+-102.17 33.776 3658
+-102.044 33.776 3663
+-101.918 33.776 3668
+-101.792 33.776 3673
+-101.666 33.776 3678
+-101.54 33.776 3682
+-101.414 33.776 3642
+-101.288 33.776 3647
+-101.162 33.776 3652
+-101.036 33.776 3657
+-100.91 33.776 3571
+-100.784 33.776 3498
+-100.658 33.776 3495
+-100.532 33.776 3491
+-100.406 33.776 3449
+-100.28 33.776 3451
+-100.154 33.776 3300
+-100.028 33.776 3235
+-99.902 33.776 3151
+-99.776 33.776 3123
+-99.65 33.776 3149
+-99.524 33.776 3151
+-99.398 33.776 3256
+-99.272 33.776 3314
+-99.146 33.776 3312
+-99.02 33.776 3311
+-98.894 33.776 3309
+-98.768 33.776 3238
+-98.642 33.776 3341
+-98.516 33.776 3126
+-98.39 33.776 3123
+-98.264 33.776 3129
+-98.138 33.776 3245
+-98.012 33.776 3194
+-97.886 33.776 3215
+-97.76 33.776 3240
+-97.634 33.776 3232
+-97.508 33.776 3225
+-97.382 33.776 3214
+-97.256 33.776 3229
+-97.13 33.776 3246
+-97.004 33.776 3203
+-96.878 33.776 3219
+-96.752 33.776 3219
+-96.626 33.776 3207
+-96.5 33.776 3165
+-96.374 33.776 3154
+-96.248 33.776 3142
+-96.122 33.776 3127
+-95.996 33.776 3115
+-95.87 33.776 3101
+-95.744 33.776 3085
+-95.618 33.776 3069
+-95.492 33.776 3024
+-95.366 33.776 3020
+-95.24 33.776 3003
+-95.114 33.776 2984
+-94.988 33.776 2965
+-94.862 33.776 2952
+-94.736 33.776 2935
+-94.61 33.776 2922
+-94.484 33.776 2955
+-94.358 33.776 2996
+-94.232 33.776 3052
+-94.106 33.776 3099
+-93.98 33.776 3132
+-93.854 33.776 3125
+-93.728 33.776 3115
+-93.602 33.776 3176
+-93.476 33.776 3257
+-93.35 33.776 3280
+-93.224 33.776 3243
+-93.098 33.776 3366
+-92.972 33.776 3413
+-92.846 33.776 3476
+-92.72 33.776 3456
+-92.594 33.776 3557
+-92.468 33.776 3730
+-92.342 33.776 3899
+-92.216 33.776 4042
+-92.09 33.776 4178
+-91.964 33.776 4248
+-91.838 33.776 4291
+-91.712 33.776 4393
+-91.586 33.776 4400
+-91.46 33.776 4557
+-91.334 33.776 4572
+-91.208 33.776 4648
+-91.082 33.776 4746
+-90.956 33.776 4818
+-90.83 33.776 4855
+-90.704 33.776 4906
+-90.578 33.776 4953
+-90.452 33.776 5020
+-90.326 33.776 5125
+-90.2 33.776 5209
+-90.074 33.776 5260
+-89.948 33.776 5318
+-89.822 33.776 5319
+-89.696 33.776 5325
+-89.57 33.776 5345
+-89.444 33.776 5398
+-89.318 33.776 5369
+-89.192 33.776 5373
+-89.066 33.776 5384
+-88.94 33.776 5390
+-88.814 33.776 5381
+-88.688 33.776 5393
+-88.562 33.776 5392
+-88.436 33.776 5396
+-88.31 33.776 5401
+-88.184 33.776 5370
+-88.058 33.776 5377
+-87.932 33.776 5341
+-87.806 33.776 5325
+-87.68 33.776 5291
+-87.554 33.776 5212
+-87.428 33.776 5116
+-87.302 33.776 5086
+-87.176 33.776 5047
+-87.05 33.776 4985
+-86.924 33.776 4882
+-86.798 33.776 4821
+-86.672 33.776 4834
+-86.546 33.776 4807
+-86.42 33.776 4738
+-86.294 33.776 4650
+-86.168 33.776 4577
+-86.042 33.776 4498
+-85.916 33.776 4429
+-85.79 33.776 4317
+-85.664 33.776 4240
+-85.538 33.776 4234
+-85.412 33.776 4227
+-85.286 33.776 4173
+-85.16 33.776 4123
+-85.034 33.776 4029
+-84.908 33.776 3945
+-84.782 33.776 3824
+-84.656 33.776 3725
+-84.53 33.776 3640
+-84.404 33.776 3558
+-84.278 33.776 3532
+-84.152 33.776 3422
+-84.026 33.776 3352
+-83.9 33.776 3286
+-83.774 33.776 3235
+-83.648 33.776 3163
+-83.522 33.776 3100
+-83.396 33.776 3076
+-83.27 33.776 3089
+-83.144 33.776 3099
+-83.018 33.776 3092
+-82.892 33.776 3113
+-82.766 33.776 3166
+-82.64 33.776 3218
+-82.514 33.776 3274
+-82.388 33.776 3317
+-82.262 33.776 3350
+-82.136 33.776 3389
+-82.01 33.776 3440
+-81.884 33.776 3462
+-81.758 33.776 3477
+-81.632 33.776 3489
+-81.506 33.776 3500
+-81.38 33.776 3487
+-81.254 33.776 3492
+-81.128 33.776 3496
+-81.002 33.776 3501
+-80.876 33.776 3489
+-80.75 33.776 3430
+-80.624 33.776 3415
+-80.498 33.776 3393
+-80.372 33.776 3393
+-80.246 33.776 3359
+-80.12 33.776 3317
+-79.994 33.776 3284
+-79.868 33.776 3200
+-79.742 33.776 3130
+-79.616 33.776 3048
+-79.49 33.776 2952
+-79.364 33.776 2840
+-79.238 33.776 2723
+-79.112 33.776 2587
+-78.986 33.776 2457
+-78.86 33.776 2364
+-78.734 33.776 2324
+-78.608 33.776 2348
+-78.482 33.776 2418
+-78.356 33.776 2505
+-78.23 33.776 2590
+-78.104 33.776 2665
+-77.978 33.776 2729
+-77.852 33.776 2786
+-77.726 33.776 2834
+-77.6 33.776 2859
+-77.474 33.776 2897
+-77.348 33.776 2930
+-77.222 33.776 2986
+-77.096 33.776 3014
+-76.97 33.776 3044
+-76.844 33.776 3068
+-76.718 33.776 3082
+-76.592 33.776 3112
+-76.466 33.776 3155
+-76.34 33.776 3177
+-76.214 33.776 3195
+-76.088 33.776 3210
+-75.962 33.776 3250
+-75.836 33.776 3266
+-75.71 33.776 3240
+-75.584 33.776 3261
+-75.458 33.776 3270
+-75.332 33.776 3221
+-75.206 33.776 3163
+-75.08 33.776 3182
+-74.954 33.776 3190
+-74.828 33.776 3216
+-74.702 33.776 3205
+-74.576 33.776 3215
+-74.45 33.776 3222
+-74.324 33.776 3213
+-74.198 33.776 3219
+-74.072 33.776 3225
+-73.946 33.776 3211
+-73.82 33.776 3200
+-73.694 33.776 3227
+-73.568 33.776 3225
+-73.442 33.776 3231
+-73.316 33.776 3236
+-73.19 33.776 3169
+-73.064 33.776 3204
+-72.938 33.776 3202
+-72.812 33.776 3206
+-72.686 33.776 3210
+-72.56 33.776 3397
+-72.434 33.776 3335
+-72.308 33.776 3343
+-72.182 33.776 3346
+-72.056 33.776 3253
+-71.93 33.776 3243
+-71.804 33.776 3245
+-71.678 33.776 3247
+-71.552 33.776 3229
+-71.426 33.776 3231
+-71.3 33.776 3232
+-71.174 33.776 3234
+-71.048 33.776 3236
+-70.922 33.776 3253
+-70.796 33.776 3256
+-70.67 33.776 3242
+-70.544 33.776 3244
+-70.418 33.776 3246
+-70.292 33.776 3191
+-70.166 33.776 3364
+-70.04 33.776 3328
+-69.914 33.776 3329
+-69.788 33.776 3298
+-69.662 33.776 3299
+-69.536 33.776 3301
+-69.41 33.776 3424
+-69.284 33.776 3425
+-69.158 33.776 3427
+-69.032 33.776 3428
+-68.906 33.776 3429
+-68.78 33.776 3535
+-68.654 33.776 3537
+-68.528 33.776 3456
+-68.402 33.776 3458
+-68.276 33.776 3459
+-68.15 33.776 3460
+-68.024 33.776 3467
+-67.898 33.776 3428
+-67.772 33.776 3421
+-67.646 33.776 3372
+-67.52 33.776 3373
+-67.394 33.776 3336
+-67.268 33.776 3381
+-67.142 33.776 3382
+-67.016 33.776 3384
+-66.89 33.776 3385
+-66.764 33.776 3386
+-66.638 33.776 3387
+-66.512 33.776 3389
+-66.386 33.776 3363
+-66.26 33.776 3364
+-66.134 33.776 3365
+-66.008 33.776 3335
+-65.882 33.776 3304
+-65.756 33.776 3283
+-65.63 33.776 3284
+-65.504 33.776 3285
+-65.378 33.776 3286
+-65.252 33.776 3287
+-65.126 33.776 3287
+-128 33.724 2702
+-127.874 33.724 2698
+-127.748 33.724 2694
+-127.622 33.724 2713
+-127.496 33.724 2709
+-127.37 33.724 2754
+-127.244 33.724 2791
+-127.118 33.724 2786
+-126.992 33.724 2785
+-126.866 33.724 2779
+-126.74 33.724 2806
+-126.614 33.724 2800
+-126.488 33.724 2794
+-126.362 33.724 2788
+-126.236 33.724 2783
+-126.11 33.724 2777
+-125.984 33.724 2826
+-125.858 33.724 2821
+-125.732 33.724 2899
+-125.606 33.724 2921
+-125.48 33.724 2982
+-125.354 33.724 2982
+-125.228 33.724 3043
+-125.102 33.724 3106
+-124.976 33.724 3113
+-124.85 33.724 3145
+-124.724 33.724 3258
+-124.598 33.724 3271
+-124.472 33.724 3321
+-124.346 33.724 3325
+-124.22 33.724 3342
+-124.094 33.724 3326
+-123.968 33.724 3299
+-123.842 33.724 3286
+-123.716 33.724 3266
+-123.59 33.724 3286
+-123.464 33.724 3410
+-123.338 33.724 3534
+-123.212 33.724 3721
+-123.086 33.724 3837
+-122.96 33.724 3897
+-122.834 33.724 3926
+-122.708 33.724 3965
+-122.582 33.724 4084
+-122.456 33.724 4260
+-122.33 33.724 4393
+-122.204 33.724 4434
+-122.078 33.724 4454
+-121.952 33.724 4506
+-121.826 33.724 4645
+-121.7 33.724 4811
+-121.574 33.724 5014
+-121.448 33.724 5155
+-121.322 33.724 5345
+-121.196 33.724 5455
+-121.07 33.724 5518
+-120.944 33.724 5558
+-120.818 33.724 5678
+-120.692 33.724 5834
+-120.566 33.724 5971
+-120.44 33.724 6117
+-120.314 33.724 6300
+-120.188 33.724 6378
+-120.062 33.724 6537
+-119.936 33.724 6658
+-119.81 33.724 6771
+-119.684 33.724 6925
+-119.558 33.724 7086
+-119.432 33.724 7197
+-119.306 33.724 7343
+-119.18 33.724 7471
+-119.054 33.724 7554
+-118.928 33.724 7772
+-118.802 33.724 7884
+-118.676 33.724 8011
+-118.55 33.724 8149
+-118.424 33.724 8235
+-118.298 33.724 8397
+-118.172 33.724 8496
+-118.046 33.724 8576
+-117.92 33.724 8759
+-117.794 33.724 8835
+-117.668 33.724 8920
+-117.542 33.724 9026
+-117.416 33.724 9055
+-117.29 33.724 9065
+-117.164 33.724 9050
+-117.038 33.724 8961
+-116.912 33.724 8911
+-116.786 33.724 8769
+-116.66 33.724 8635
+-116.534 33.724 8580
+-116.408 33.724 8451
+-116.282 33.724 8267
+-116.156 33.724 8338
+-116.03 33.724 8249
+-115.904 33.724 8186
+-115.778 33.724 8074
+-115.652 33.724 7936
+-115.526 33.724 7789
+-115.4 33.724 7687
+-115.274 33.724 7511
+-115.148 33.724 7379
+-115.022 33.724 7299
+-114.896 33.724 7225
+-114.77 33.724 7075
+-114.644 33.724 6933
+-114.518 33.724 6844
+-114.392 33.724 6649
+-114.266 33.724 6517
+-114.14 33.724 6405
+-114.014 33.724 6276
+-113.888 33.724 6088
+-113.762 33.724 5965
+-113.636 33.724 5846
+-113.51 33.724 5727
+-113.384 33.724 5665
+-113.258 33.724 5695
+-113.132 33.724 5710
+-113.006 33.724 5784
+-112.88 33.724 5942
+-112.754 33.724 6004
+-112.628 33.724 6133
+-112.502 33.724 6264
+-112.376 33.724 6354
+-112.25 33.724 6381
+-112.124 33.724 6493
+-111.998 33.724 6619
+-111.872 33.724 6687
+-111.746 33.724 6753
+-111.62 33.724 6828
+-111.494 33.724 6894
+-111.368 33.724 6974
+-111.242 33.724 7001
+-111.116 33.724 7056
+-110.99 33.724 7105
+-110.864 33.724 7126
+-110.738 33.724 7124
+-110.612 33.724 7142
+-110.486 33.724 7165
+-110.36 33.724 7196
+-110.234 33.724 7179
+-110.108 33.724 7139
+-109.982 33.724 7122
+-109.856 33.724 7108
+-109.73 33.724 7084
+-109.604 33.724 7008
+-109.478 33.724 6994
+-109.352 33.724 6883
+-109.226 33.724 6830
+-109.1 33.724 6747
+-108.974 33.724 6756
+-108.848 33.724 6640
+-108.722 33.724 6522
+-108.596 33.724 6478
+-108.47 33.724 6375
+-108.344 33.724 6276
+-108.218 33.724 6146
+-108.092 33.724 6066
+-107.966 33.724 5991
+-107.84 33.724 5895
+-107.714 33.724 5813
+-107.588 33.724 5610
+-107.462 33.724 5656
+-107.336 33.724 5563
+-107.21 33.724 5386
+-107.084 33.724 5265
+-106.958 33.724 5147
+-106.832 33.724 5013
+-106.706 33.724 4850
+-106.58 33.724 4709
+-106.454 33.724 4752
+-106.328 33.724 4682
+-106.202 33.724 4513
+-106.076 33.724 4333
+-105.95 33.724 4193
+-105.824 33.724 4119
+-105.698 33.724 4136
+-105.572 33.724 4115
+-105.446 33.724 4076
+-105.32 33.724 4002
+-105.194 33.724 3916
+-105.068 33.724 3820
+-104.942 33.724 3766
+-104.816 33.724 3726
+-104.69 33.724 3700
+-104.564 33.724 3688
+-104.438 33.724 3686
+-104.312 33.724 3659
+-104.186 33.724 3647
+-104.06 33.724 3649
+-103.934 33.724 3661
+-103.808 33.724 3637
+-103.682 33.724 3648
+-103.556 33.724 3650
+-103.43 33.724 3618
+-103.304 33.724 3627
+-103.178 33.724 3636
+-103.052 33.724 3645
+-102.926 33.724 3634
+-102.8 33.724 3641
+-102.674 33.724 3648
+-102.548 33.724 3654
+-102.422 33.724 3643
+-102.296 33.724 3649
+-102.17 33.724 3655
+-102.044 33.724 3661
+-101.918 33.724 3667
+-101.792 33.724 3672
+-101.666 33.724 3677
+-101.54 33.724 3637
+-101.414 33.724 3643
+-101.288 33.724 3648
+-101.162 33.724 3653
+-101.036 33.724 3657
+-100.91 33.724 3662
+-100.784 33.724 3574
+-100.658 33.724 3501
+-100.532 33.724 3498
+-100.406 33.724 3494
+-100.28 33.724 3458
+-100.154 33.724 3306
+-100.028 33.724 3240
+-99.902 33.724 3156
+-99.776 33.724 3126
+-99.65 33.724 3149
+-99.524 33.724 3151
+-99.398 33.724 3256
+-99.272 33.724 3314
+-99.146 33.724 3313
+-99.02 33.724 3311
+-98.894 33.724 3239
+-98.768 33.724 3342
+-98.642 33.724 3122
+-98.516 33.724 3119
+-98.39 33.724 3125
+-98.264 33.724 3241
+-98.138 33.724 3191
+-98.012 33.724 3211
+-97.886 33.724 3237
+-97.76 33.724 3230
+-97.634 33.724 3222
+-97.508 33.724 3211
+-97.382 33.724 3227
+-97.256 33.724 3245
+-97.13 33.724 3202
+-97.004 33.724 3219
+-96.878 33.724 3219
+-96.752 33.724 3209
+-96.626 33.724 3167
+-96.5 33.724 3157
+-96.374 33.724 3146
+-96.248 33.724 3073
+-96.122 33.724 3065
+-95.996 33.724 3056
+-95.87 33.724 3046
+-95.744 33.724 3086
+-95.618 33.724 3043
+-95.492 33.724 3044
+-95.366 33.724 3031
+-95.24 33.724 3018
+-95.114 33.724 3004
+-94.988 33.724 2999
+-94.862 33.724 2989
+-94.736 33.724 2981
+-94.61 33.724 2977
+-94.484 33.724 2990
+-94.358 33.724 3017
+-94.232 33.724 3047
+-94.106 33.724 3114
+-93.98 33.724 3136
+-93.854 33.724 3150
+-93.728 33.724 3169
+-93.602 33.724 3210
+-93.476 33.724 3268
+-93.35 33.724 3289
+-93.224 33.724 3305
+-93.098 33.724 3359
+-92.972 33.724 3402
+-92.846 33.724 3418
+-92.72 33.724 3471
+-92.594 33.724 3558
+-92.468 33.724 3719
+-92.342 33.724 3876
+-92.216 33.724 3964
+-92.09 33.724 4092
+-91.964 33.724 4212
+-91.838 33.724 4278
+-91.712 33.724 4360
+-91.586 33.724 4433
+-91.46 33.724 4497
+-91.334 33.724 4554
+-91.208 33.724 4612
+-91.082 33.724 4685
+-90.956 33.724 4769
+-90.83 33.724 4831
+-90.704 33.724 4920
+-90.578 33.724 4892
+-90.452 33.724 4925
+-90.326 33.724 5037
+-90.2 33.724 5134
+-90.074 33.724 5224
+-89.948 33.724 5274
+-89.822 33.724 5271
+-89.696 33.724 5238
+-89.57 33.724 5290
+-89.444 33.724 5311
+-89.318 33.724 5303
+-89.192 33.724 5308
+-89.066 33.724 5327
+-88.94 33.724 5340
+-88.814 33.724 5357
+-88.688 33.724 5334
+-88.562 33.724 5328
+-88.436 33.724 5336
+-88.31 33.724 5360
+-88.184 33.724 5350
+-88.058 33.724 5314
+-87.932 33.724 5248
+-87.806 33.724 5244
+-87.68 33.724 5211
+-87.554 33.724 5132
+-87.428 33.724 5061
+-87.302 33.724 5040
+-87.176 33.724 4981
+-87.05 33.724 4911
+-86.924 33.724 4834
+-86.798 33.724 4793
+-86.672 33.724 4800
+-86.546 33.724 4763
+-86.42 33.724 4684
+-86.294 33.724 4588
+-86.168 33.724 4522
+-86.042 33.724 4450
+-85.916 33.724 4367
+-85.79 33.724 4239
+-85.664 33.724 4139
+-85.538 33.724 4186
+-85.412 33.724 4213
+-85.286 33.724 4165
+-85.16 33.724 4069
+-85.034 33.724 3966
+-84.908 33.724 3881
+-84.782 33.724 3713
+-84.656 33.724 3607
+-84.53 33.724 3502
+-84.404 33.724 3450
+-84.278 33.724 3438
+-84.152 33.724 3362
+-84.026 33.724 3326
+-83.9 33.724 3294
+-83.774 33.724 3263
+-83.648 33.724 3216
+-83.522 33.724 3175
+-83.396 33.724 3152
+-83.27 33.724 3145
+-83.144 33.724 3127
+-83.018 33.724 3118
+-82.892 33.724 3149
+-82.766 33.724 3203
+-82.64 33.724 3264
+-82.514 33.724 3312
+-82.388 33.724 3353
+-82.262 33.724 3394
+-82.136 33.724 3438
+-82.01 33.724 3461
+-81.884 33.724 3475
+-81.758 33.724 3487
+-81.632 33.724 3498
+-81.506 33.724 3510
+-81.38 33.724 3519
+-81.254 33.724 3526
+-81.128 33.724 3533
+-81.002 33.724 3491
+-80.876 33.724 3487
+-80.75 33.724 3491
+-80.624 33.724 3434
+-80.498 33.724 3440
+-80.372 33.724 3415
+-80.246 33.724 3419
+-80.12 33.724 3380
+-79.994 33.724 3306
+-79.868 33.724 3221
+-79.742 33.724 3149
+-79.616 33.724 3062
+-79.49 33.724 2958
+-79.364 33.724 2846
+-79.238 33.724 2701
+-79.112 33.724 2540
+-78.986 33.724 2386
+-78.86 33.724 2262
+-78.734 33.724 2214
+-78.608 33.724 2254
+-78.482 33.724 2352
+-78.356 33.724 2463
+-78.23 33.724 2563
+-78.104 33.724 2646
+-77.978 33.724 2718
+-77.852 33.724 2778
+-77.726 33.724 2814
+-77.6 33.724 2858
+-77.474 33.724 2898
+-77.348 33.724 2957
+-77.222 33.724 2990
+-77.096 33.724 3023
+-76.97 33.724 3051
+-76.844 33.724 3068
+-76.718 33.724 3099
+-76.592 33.724 3144
+-76.466 33.724 3168
+-76.34 33.724 3187
+-76.214 33.724 3204
+-76.088 33.724 3244
+-75.962 33.724 3260
+-75.836 33.724 3236
+-75.71 33.724 3257
+-75.584 33.724 3267
+-75.458 33.724 3217
+-75.332 33.724 3162
+-75.206 33.724 3181
+-75.08 33.724 3189
+-74.954 33.724 3215
+-74.828 33.724 3205
+-74.702 33.724 3215
+-74.576 33.724 3222
+-74.45 33.724 3214
+-74.324 33.724 3220
+-74.198 33.724 3226
+-74.072 33.724 3212
+-73.946 33.724 3201
+-73.82 33.724 3227
+-73.694 33.724 3226
+-73.568 33.724 3231
+-73.442 33.724 3237
+-73.316 33.724 3170
+-73.19 33.724 3205
+-73.064 33.724 3203
+-72.938 33.724 3207
+-72.812 33.724 3211
+-72.686 33.724 3395
+-72.56 33.724 3330
+-72.434 33.724 3341
+-72.308 33.724 3344
+-72.182 33.724 3252
+-72.056 33.724 3242
+-71.93 33.724 3244
+-71.804 33.724 3246
+-71.678 33.724 3228
+-71.552 33.724 3230
+-71.426 33.724 3232
+-71.3 33.724 3233
+-71.174 33.724 3235
+-71.048 33.724 3252
+-70.922 33.724 3255
+-70.796 33.724 3241
+-70.67 33.724 3243
+-70.544 33.724 3245
+-70.418 33.724 3190
+-70.292 33.724 3362
+-70.166 33.724 3327
+-70.04 33.724 3328
+-69.914 33.724 3296
+-69.788 33.724 3298
+-69.662 33.724 3299
+-69.536 33.724 3422
+-69.41 33.724 3424
+-69.284 33.724 3425
+-69.158 33.724 3426
+-69.032 33.724 3427
+-68.906 33.724 3533
+-68.78 33.724 3535
+-68.654 33.724 3454
+-68.528 33.724 3456
+-68.402 33.724 3457
+-68.276 33.724 3459
+-68.15 33.724 3466
+-68.024 33.724 3427
+-67.898 33.724 3420
+-67.772 33.724 3370
+-67.646 33.724 3372
+-67.52 33.724 3334
+-67.394 33.724 3380
+-67.268 33.724 3381
+-67.142 33.724 3382
+-67.016 33.724 3384
+-66.89 33.724 3385
+-66.764 33.724 3386
+-66.638 33.724 3387
+-66.512 33.724 3362
+-66.386 33.724 3363
+-66.26 33.724 3364
+-66.134 33.724 3334
+-66.008 33.724 3303
+-65.882 33.724 3282
+-65.756 33.724 3283
+-65.63 33.724 3284
+-65.504 33.724 3285
+-65.378 33.724 3286
+-65.252 33.724 3287
+-65.126 33.724 3288
+-128 33.672 2696
+-127.874 33.672 2692
+-127.748 33.672 2687
+-127.622 33.672 2683
+-127.496 33.672 2751
+-127.37 33.672 2787
+-127.244 33.672 2781
+-127.118 33.672 2780
+-126.992 33.672 2769
+-126.866 33.672 2798
+-126.74 33.672 2791
+-126.614 33.672 2784
+-126.488 33.672 2776
+-126.362 33.672 2769
+-126.236 33.672 2761
+-126.11 33.672 2754
+-125.984 33.672 2747
+-125.858 33.672 2793
+-125.732 33.672 2868
+-125.606 33.672 2920
+-125.48 33.672 2915
+-125.354 33.672 2975
+-125.228 33.672 3048
+-125.102 33.672 3051
+-124.976 33.672 3058
+-124.85 33.672 3068
+-124.724 33.672 3201
+-124.598 33.672 3215
+-124.472 33.672 3227
+-124.346 33.672 3258
+-124.22 33.672 3252
+-124.094 33.672 3255
+-123.968 33.672 3207
+-123.842 33.672 3138
+-123.716 33.672 3077
+-123.59 33.672 3070
+-123.464 33.672 3168
+-123.338 33.672 3363
+-123.212 33.672 3615
+-123.086 33.672 3790
+-122.96 33.672 3885
+-122.834 33.672 3976
+-122.708 33.672 4050
+-122.582 33.672 4148
+-122.456 33.672 4256
+-122.33 33.672 4403
+-122.204 33.672 4454
+-122.078 33.672 4490
+-121.952 33.672 4445
+-121.826 33.672 4603
+-121.7 33.672 4808
+-121.574 33.672 5014
+-121.448 33.672 5173
+-121.322 33.672 5310
+-121.196 33.672 5393
+-121.07 33.672 5399
+-120.944 33.672 5614
+-120.818 33.672 5684
+-120.692 33.672 5835
+-120.566 33.672 5991
+-120.44 33.672 6110
+-120.314 33.672 6255
+-120.188 33.672 6380
+-120.062 33.672 6527
+-119.936 33.672 6680
+-119.81 33.672 6837
+-119.684 33.672 6942
+-119.558 33.672 7114
+-119.432 33.672 7215
+-119.306 33.672 7272
+-119.18 33.672 7440
+-119.054 33.672 7610
+-118.928 33.672 7692
+-118.802 33.672 7864
+-118.676 33.672 7961
+-118.55 33.672 8101
+-118.424 33.672 8213
+-118.298 33.672 8336
+-118.172 33.672 8483
+-118.046 33.672 8606
+-117.92 33.672 8694
+-117.794 33.672 8811
+-117.668 33.672 8883
+-117.542 33.672 8960
+-117.416 33.672 8976
+-117.29 33.672 8982
+-117.164 33.672 8975
+-117.038 33.672 8919
+-116.912 33.672 8849
+-116.786 33.672 8753
+-116.66 33.672 8611
+-116.534 33.672 8520
+-116.408 33.672 8527
+-116.282 33.672 8495
+-116.156 33.672 8419
+-116.03 33.672 8292
+-115.904 33.672 8191
+-115.778 33.672 8077
+-115.652 33.672 7923
+-115.526 33.672 7874
+-115.4 33.672 7701
+-115.274 33.672 7588
+-115.148 33.672 7454
+-115.022 33.672 7389
+-114.896 33.672 7229
+-114.77 33.672 7080
+-114.644 33.672 6930
+-114.518 33.672 6858
+-114.392 33.672 6662
+-114.266 33.672 6531
+-114.14 33.672 6400
+-114.014 33.672 6314
+-113.888 33.672 6154
+-113.762 33.672 6025
+-113.636 33.672 5847
+-113.51 33.672 5686
+-113.384 33.672 5548
+-113.258 33.672 5695
+-113.132 33.672 5796
+-113.006 33.672 5821
+-112.88 33.672 5987
+-112.754 33.672 6091
+-112.628 33.672 6138
+-112.502 33.672 6259
+-112.376 33.672 6349
+-112.25 33.672 6482
+-112.124 33.672 6541
+-111.998 33.672 6638
+-111.872 33.672 6708
+-111.746 33.672 6769
+-111.62 33.672 6846
+-111.494 33.672 6924
+-111.368 33.672 6977
+-111.242 33.672 7045
+-111.116 33.672 7138
+-110.99 33.672 7125
+-110.864 33.672 7163
+-110.738 33.672 7188
+-110.612 33.672 7211
+-110.486 33.672 7250
+-110.36 33.672 7235
+-110.234 33.672 7220
+-110.108 33.672 7205
+-109.982 33.672 7181
+-109.856 33.672 7157
+-109.73 33.672 7151
+-109.604 33.672 7096
+-109.478 33.672 7042
+-109.352 33.672 6948
+-109.226 33.672 6911
+-109.1 33.672 6787
+-108.974 33.672 6729
+-108.848 33.672 6700
+-108.722 33.672 6561
+-108.596 33.672 6529
+-108.47 33.672 6421
+-108.344 33.672 6292
+-108.218 33.672 6227
+-108.092 33.672 6081
+-107.966 33.672 5996
+-107.84 33.672 5879
+-107.714 33.672 5845
+-107.588 33.672 5750
+-107.462 33.672 5642
+-107.336 33.672 5623
+-107.21 33.672 5428
+-107.084 33.672 5253
+-106.958 33.672 5108
+-106.832 33.672 5052
+-106.706 33.672 4884
+-106.58 33.672 4830
+-106.454 33.672 4792
+-106.328 33.672 4698
+-106.202 33.672 4562
+-106.076 33.672 4429
+-105.95 33.672 4304
+-105.824 33.672 4220
+-105.698 33.672 4156
+-105.572 33.672 4109
+-105.446 33.672 4023
+-105.32 33.672 3921
+-105.194 33.672 3812
+-105.068 33.672 3740
+-104.942 33.672 3681
+-104.816 33.672 3637
+-104.69 33.672 3616
+-104.564 33.672 3613
+-104.438 33.672 3596
+-104.312 33.672 3596
+-104.186 33.672 3601
+-104.06 33.672 3618
+-103.934 33.672 3606
+-103.808 33.672 3621
+-103.682 33.672 3622
+-103.556 33.672 3594
+-103.43 33.672 3606
+-103.304 33.672 3617
+-103.178 33.672 3627
+-103.052 33.672 3643
+-102.926 33.672 3627
+-102.8 33.672 3661
+-102.674 33.672 3669
+-102.548 33.672 3633
+-102.422 33.672 3640
+-102.296 33.672 3647
+-102.17 33.672 3654
+-102.044 33.672 3660
+-101.918 33.672 3665
+-101.792 33.672 3671
+-101.666 33.672 3632
+-101.54 33.672 3638
+-101.414 33.672 3643
+-101.288 33.672 3648
+-101.162 33.672 3653
+-101.036 33.672 3658
+-100.91 33.672 3662
+-100.784 33.672 3667
+-100.658 33.672 3577
+-100.532 33.672 3505
+-100.406 33.672 3501
+-100.28 33.672 3466
+-100.154 33.672 3322
+-100.028 33.672 3246
+-99.902 33.672 3161
+-99.776 33.672 3137
+-99.65 33.672 3150
+-99.524 33.672 3151
+-99.398 33.672 3256
+-99.272 33.672 3315
+-99.146 33.672 3313
+-99.02 33.672 3240
+-98.894 33.672 3344
+-98.768 33.672 3119
+-98.642 33.672 3116
+-98.516 33.672 3122
+-98.39 33.672 3238
+-98.264 33.672 3187
+-98.138 33.672 3208
+-98.012 33.672 3234
+-97.886 33.672 3227
+-97.76 33.672 3220
+-97.634 33.672 3209
+-97.508 33.672 3225
+-97.382 33.672 3244
+-97.256 33.672 3200
+-97.13 33.672 3219
+-97.004 33.672 3220
+-96.878 33.672 3210
+-96.752 33.672 3168
+-96.626 33.672 3158
+-96.5 33.672 3148
+-96.374 33.672 3075
+-96.248 33.672 3068
+-96.122 33.672 3060
+-95.996 33.672 3052
+-95.87 33.672 3043
+-95.744 33.672 3047
+-95.618 33.672 3061
+-95.492 33.672 3051
+-95.366 33.672 3040
+-95.24 33.672 3030
+-95.114 33.672 3029
+-94.988 33.672 3021
+-94.862 33.672 3014
+-94.736 33.672 3006
+-94.61 33.672 3008
+-94.484 33.672 3018
+-94.358 33.672 3029
+-94.232 33.672 3056
+-94.106 33.672 3073
+-93.98 33.672 3117
+-93.854 33.672 3138
+-93.728 33.672 3171
+-93.602 33.672 3211
+-93.476 33.672 3255
+-93.35 33.672 3287
+-93.224 33.672 3291
+-93.098 33.672 3293
+-92.972 33.672 3350
+-92.846 33.672 3335
+-92.72 33.672 3432
+-92.594 33.672 3570
+-92.468 33.672 3720
+-92.342 33.672 3871
+-92.216 33.672 3927
+-92.09 33.672 4011
+-91.964 33.672 4162
+-91.838 33.672 4236
+-91.712 33.672 4282
+-91.586 33.672 4370
+-91.46 33.672 4465
+-91.334 33.672 4538
+-91.208 33.672 4581
+-91.082 33.672 4632
+-90.956 33.672 4722
+-90.83 33.672 4807
+-90.704 33.672 4819
+-90.578 33.672 4844
+-90.452 33.672 4867
+-90.326 33.672 4947
+-90.2 33.672 5055
+-90.074 33.672 5154
+-89.948 33.672 5222
+-89.822 33.672 5228
+-89.696 33.672 5184
+-89.57 33.672 5248
+-89.444 33.672 5249
+-89.318 33.672 5266
+-89.192 33.672 5268
+-89.066 33.672 5276
+-88.94 33.672 5287
+-88.814 33.672 5292
+-88.688 33.672 5283
+-88.562 33.672 5296
+-88.436 33.672 5272
+-88.31 33.672 5292
+-88.184 33.672 5299
+-88.058 33.672 5266
+-87.932 33.672 5232
+-87.806 33.672 5191
+-87.68 33.672 5171
+-87.554 33.672 5095
+-87.428 33.672 5030
+-87.302 33.672 4979
+-87.176 33.672 4909
+-87.05 33.672 4839
+-86.924 33.672 4798
+-86.798 33.672 4762
+-86.672 33.672 4745
+-86.546 33.672 4683
+-86.42 33.672 4603
+-86.294 33.672 4504
+-86.168 33.672 4423
+-86.042 33.672 4383
+-85.916 33.672 4293
+-85.79 33.672 4209
+-85.664 33.672 4193
+-85.538 33.672 4193
+-85.412 33.672 4179
+-85.286 33.672 4112
+-85.16 33.672 4021
+-85.034 33.672 3877
+-84.908 33.672 3742
+-84.782 33.672 3572
+-84.656 33.672 3440
+-84.53 33.672 3345
+-84.404 33.672 3352
+-84.278 33.672 3345
+-84.152 33.672 3331
+-84.026 33.672 3325
+-83.9 33.672 3315
+-83.774 33.672 3282
+-83.648 33.672 3263
+-83.522 33.672 3232
+-83.396 33.672 3215
+-83.27 33.672 3203
+-83.144 33.672 3193
+-83.018 33.672 3196
+-82.892 33.672 3229
+-82.766 33.672 3272
+-82.64 33.672 3325
+-82.514 33.672 3366
+-82.388 33.672 3398
+-82.262 33.672 3442
+-82.136 33.672 3461
+-82.01 33.672 3469
+-81.884 33.672 3480
+-81.758 33.672 3495
+-81.632 33.672 3505
+-81.506 33.672 3514
+-81.38 33.672 3519
+-81.254 33.672 3525
+-81.128 33.672 3545
+-81.002 33.672 3535
+-80.876 33.672 3537
+-80.75 33.672 3498
+-80.624 33.672 3495
+-80.498 33.672 3532
+-80.372 33.672 3516
+-80.246 33.672 3440
+-80.12 33.672 3402
+-79.994 33.672 3329
+-79.868 33.672 3245
+-79.742 33.672 3172
+-79.616 33.672 3083
+-79.49 33.672 2990
+-79.364 33.672 2859
+-79.238 33.672 2703
+-79.112 33.672 2538
+-78.986 33.672 2362
+-78.86 33.672 2220
+-78.734 33.672 2165
+-78.608 33.672 2216
+-78.482 33.672 2331
+-78.356 33.672 2452
+-78.23 33.672 2555
+-78.104 33.672 2641
+-77.978 33.672 2712
+-77.852 33.672 2760
+-77.726 33.672 2813
+-77.6 33.672 2861
+-77.474 33.672 2923
+-77.348 33.672 2961
+-77.222 33.672 2999
+-77.096 33.672 3031
+-76.97 33.672 3052
+-76.844 33.672 3086
+-76.718 33.672 3132
+-76.592 33.672 3157
+-76.466 33.672 3178
+-76.34 33.672 3196
+-76.214 33.672 3237
+-76.088 33.672 3255
+-75.962 33.672 3232
+-75.836 33.672 3254
+-75.71 33.672 3264
+-75.584 33.672 3217
+-75.458 33.672 3162
+-75.332 33.672 3181
+-75.206 33.672 3189
+-75.08 33.672 3215
+-74.954 33.672 3205
+-74.828 33.672 3215
+-74.702 33.672 3222
+-74.576 33.672 3214
+-74.45 33.672 3220
+-74.324 33.672 3226
+-74.198 33.672 3213
+-74.072 33.672 3202
+-73.946 33.672 3228
+-73.82 33.672 3227
+-73.694 33.672 3232
+-73.568 33.672 3238
+-73.442 33.672 3171
+-73.316 33.672 3206
+-73.19 33.672 3204
+-73.064 33.672 3208
+-72.938 33.672 3212
+-72.812 33.672 3393
+-72.686 33.672 3332
+-72.56 33.672 3340
+-72.434 33.672 3343
+-72.308 33.672 3250
+-72.182 33.672 3241
+-72.056 33.672 3243
+-71.93 33.672 3245
+-71.804 33.672 3227
+-71.678 33.672 3229
+-71.552 33.672 3231
+-71.426 33.672 3233
+-71.3 33.672 3234
+-71.174 33.672 3251
+-71.048 33.672 3254
+-70.922 33.672 3240
+-70.796 33.672 3242
+-70.67 33.672 3244
+-70.544 33.672 3190
+-70.418 33.672 3360
+-70.292 33.672 3325
+-70.166 33.672 3327
+-70.04 33.672 3295
+-69.914 33.672 3297
+-69.788 33.672 3298
+-69.662 33.672 3421
+-69.536 33.672 3422
+-69.41 33.672 3423
+-69.284 33.672 3424
+-69.158 33.672 3426
+-69.032 33.672 3530
+-68.906 33.672 3532
+-68.78 33.672 3452
+-68.654 33.672 3454
+-68.528 33.672 3456
+-68.402 33.672 3457
+-68.276 33.672 3464
+-68.15 33.672 3425
+-68.024 33.672 3418
+-67.898 33.672 3369
+-67.772 33.672 3370
+-67.646 33.672 3333
+-67.52 33.672 3378
+-67.394 33.672 3380
+-67.268 33.672 3381
+-67.142 33.672 3382
+-67.016 33.672 3384
+-66.89 33.672 3385
+-66.764 33.672 3386
+-66.638 33.672 3361
+-66.512 33.672 3362
+-66.386 33.672 3363
+-66.26 33.672 3333
+-66.134 33.672 3302
+-66.008 33.672 3281
+-65.882 33.672 3282
+-65.756 33.672 3283
+-65.63 33.672 3284
+-65.504 33.672 3285
+-65.378 33.672 3286
+-65.252 33.672 3287
+-65.126 33.672 3217
+-128 33.62 2665
+-127.874 33.62 2661
+-127.748 33.62 2677
+-127.622 33.62 2715
+-127.496 33.62 2708
+-127.37 33.62 2753
+-127.244 33.62 2773
+-127.118 33.62 2766
+-126.992 33.62 2758
+-126.866 33.62 2750
+-126.74 33.62 2767
+-126.614 33.62 2759
+-126.488 33.62 2749
+-126.362 33.62 2740
+-126.236 33.62 2730
+-126.11 33.62 2720
+-125.984 33.62 2711
+-125.858 33.62 2749
+-125.732 33.62 2827
+-125.606 33.62 2876
+-125.48 33.62 2907
+-125.354 33.62 2911
+-125.228 33.62 2965
+-125.102 33.62 2989
+-124.976 33.62 2994
+-124.85 33.62 3005
+-124.724 33.62 3020
+-124.598 33.62 3148
+-124.472 33.62 3164
+-124.346 33.62 3175
+-124.22 33.62 3200
+-124.094 33.62 3173
+-123.968 33.62 3131
+-123.842 33.62 3025
+-123.716 33.62 2896
+-123.59 33.62 2835
+-123.464 33.62 2959
+-123.338 33.62 3207
+-123.212 33.62 3487
+-123.086 33.62 3706
+-122.96 33.62 3849
+-122.834 33.62 3957
+-122.708 33.62 4049
+-122.582 33.62 4144
+-122.456 33.62 4238
+-122.33 33.62 4379
+-122.204 33.62 4439
+-122.078 33.62 4524
+-121.952 33.62 4532
+-121.826 33.62 4653
+-121.7 33.62 4865
+-121.574 33.62 5014
+-121.448 33.62 5191
+-121.322 33.62 5289
+-121.196 33.62 5265
+-121.07 33.62 5465
+-120.944 33.62 5609
+-120.818 33.62 5682
+-120.692 33.62 5821
+-120.566 33.62 6020
+-120.44 33.62 6033
+-120.314 33.62 6280
+-120.188 33.62 6371
+-120.062 33.62 6504
+-119.936 33.62 6688
+-119.81 33.62 6808
+-119.684 33.62 6959
+-119.558 33.62 7050
+-119.432 33.62 7164
+-119.306 33.62 7304
+-119.18 33.62 7400
+-119.054 33.62 7574
+-118.928 33.62 7659
+-118.802 33.62 7783
+-118.676 33.62 7926
+-118.55 33.62 8085
+-118.424 33.62 8197
+-118.298 33.62 8339
+-118.172 33.62 8454
+-118.046 33.62 8578
+-117.92 33.62 8669
+-117.794 33.62 8750
+-117.668 33.62 8835
+-117.542 33.62 8881
+-117.416 33.62 8950
+-117.29 33.62 8949
+-117.164 33.62 8893
+-117.038 33.62 8867
+-116.912 33.62 8797
+-116.786 33.62 8698
+-116.66 33.62 8579
+-116.534 33.62 8736
+-116.408 33.62 8678
+-116.282 33.62 8517
+-116.156 33.62 8478
+-116.03 33.62 8318
+-115.904 33.62 8236
+-115.778 33.62 8118
+-115.652 33.62 8003
+-115.526 33.62 7833
+-115.4 33.62 7739
+-115.274 33.62 7561
+-115.148 33.62 7475
+-115.022 33.62 7353
+-114.896 33.62 7228
+-114.77 33.62 7048
+-114.644 33.62 6900
+-114.518 33.62 6836
+-114.392 33.62 6628
+-114.266 33.62 6585
+-114.14 33.62 6446
+-114.014 33.62 6318
+-113.888 33.62 6181
+-113.762 33.62 6037
+-113.636 33.62 5871
+-113.51 33.62 5716
+-113.384 33.62 5544
+-113.258 33.62 5707
+-113.132 33.62 5799
+-113.006 33.62 5903
+-112.88 33.62 6036
+-112.754 33.62 6100
+-112.628 33.62 6209
+-112.502 33.62 6321
+-112.376 33.62 6408
+-112.25 33.62 6491
+-112.124 33.62 6603
+-111.998 33.62 6662
+-111.872 33.62 6763
+-111.746 33.62 6830
+-111.62 33.62 6942
+-111.494 33.62 6996
+-111.368 33.62 7037
+-111.242 33.62 7120
+-111.116 33.62 7144
+-110.99 33.62 7181
+-110.864 33.62 7224
+-110.738 33.62 7249
+-110.612 33.62 7268
+-110.486 33.62 7296
+-110.36 33.62 7277
+-110.234 33.62 7309
+-110.108 33.62 7271
+-109.982 33.62 7263
+-109.856 33.62 7236
+-109.73 33.62 7175
+-109.604 33.62 7151
+-109.478 33.62 7049
+-109.352 33.62 7018
+-109.226 33.62 6926
+-109.1 33.62 6835
+-108.974 33.62 6772
+-108.848 33.62 6753
+-108.722 33.62 6636
+-108.596 33.62 6550
+-108.47 33.62 6477
+-108.344 33.62 6394
+-108.218 33.62 6280
+-108.092 33.62 6151
+-107.966 33.62 6032
+-107.84 33.62 5942
+-107.714 33.62 5856
+-107.588 33.62 5763
+-107.462 33.62 5709
+-107.336 33.62 5633
+-107.21 33.62 5497
+-107.084 33.62 5306
+-106.958 33.62 5170
+-106.832 33.62 5057
+-106.706 33.62 4929
+-106.58 33.62 4857
+-106.454 33.62 4809
+-106.328 33.62 4709
+-106.202 33.62 4607
+-106.076 33.62 4505
+-105.95 33.62 4395
+-105.824 33.62 4251
+-105.698 33.62 4176
+-105.572 33.62 4069
+-105.446 33.62 3953
+-105.32 33.62 3823
+-105.194 33.62 3729
+-105.068 33.62 3645
+-104.942 33.62 3580
+-104.816 33.62 3534
+-104.69 33.62 3520
+-104.564 33.62 3512
+-104.438 33.62 3527
+-104.312 33.62 3546
+-104.186 33.62 3571
+-104.06 33.62 3594
+-103.934 33.62 3591
+-103.808 33.62 3589
+-103.682 33.62 3585
+-103.556 33.62 3601
+-103.43 33.62 3616
+-103.304 33.62 3624
+-103.178 33.62 3625
+-103.052 33.62 3636
+-102.926 33.62 3646
+-102.8 33.62 3656
+-102.674 33.62 3622
+-102.548 33.62 3630
+-102.422 33.62 3638
+-102.296 33.62 3645
+-102.17 33.62 3652
+-102.044 33.62 3658
+-101.918 33.62 3664
+-101.792 33.62 3626
+-101.666 33.62 3633
+-101.54 33.62 3638
+-101.414 33.62 3644
+-101.288 33.62 3649
+-101.162 33.62 3654
+-101.036 33.62 3659
+-100.91 33.62 3663
+-100.784 33.62 3668
+-100.658 33.62 3672
+-100.532 33.62 3579
+-100.406 33.62 3508
+-100.28 33.62 3266
+-100.154 33.62 3328
+-100.028 33.62 3251
+-99.902 33.62 3165
+-99.776 33.62 3141
+-99.65 33.62 3008
+-99.524 33.62 3009
+-99.398 33.62 3096
+-99.272 33.62 3097
+-99.146 33.62 3089
+-99.02 33.62 3346
+-98.894 33.62 3116
+-98.768 33.62 3114
+-98.642 33.62 3119
+-98.516 33.62 3236
+-98.39 33.62 3184
+-98.264 33.62 3205
+-98.138 33.62 3231
+-98.012 33.62 3225
+-97.886 33.62 3218
+-97.76 33.62 3207
+-97.634 33.62 3223
+-97.508 33.62 3243
+-97.382 33.62 3199
+-97.256 33.62 3218
+-97.13 33.62 3220
+-97.004 33.62 3210
+-96.878 33.62 3168
+-96.752 33.62 3159
+-96.626 33.62 3150
+-96.5 33.62 3075
+-96.374 33.62 3069
+-96.248 33.62 3063
+-96.122 33.62 3055
+-95.996 33.62 3048
+-95.87 33.62 3053
+-95.744 33.62 3044
+-95.618 33.62 3065
+-95.492 33.62 3056
+-95.366 33.62 3047
+-95.24 33.62 3049
+-95.114 33.62 3042
+-94.988 33.62 3035
+-94.862 33.62 3024
+-94.736 33.62 3021
+-94.61 33.62 3022
+-94.484 33.62 3021
+-94.358 33.62 3034
+-94.232 33.62 3033
+-94.106 33.62 3030
+-93.98 33.62 3032
+-93.854 33.62 3051
+-93.728 33.62 3098
+-93.602 33.62 3184
+-93.476 33.62 3233
+-93.35 33.62 3276
+-93.224 33.62 3248
+-93.098 33.62 3179
+-92.972 33.62 3299
+-92.846 33.62 3377
+-92.72 33.62 3445
+-92.594 33.62 3584
+-92.468 33.62 3699
+-92.342 33.62 3819
+-92.216 33.62 3910
+-92.09 33.62 3999
+-91.964 33.62 4144
+-91.838 33.62 4216
+-91.712 33.62 4189
+-91.586 33.62 4296
+-91.46 33.62 4431
+-91.334 33.62 4524
+-91.208 33.62 4542
+-91.082 33.62 4595
+-90.956 33.62 4672
+-90.83 33.62 4724
+-90.704 33.62 4771
+-90.578 33.62 4831
+-90.452 33.62 4828
+-90.326 33.62 4879
+-90.2 33.62 4962
+-90.074 33.62 5058
+-89.948 33.62 5129
+-89.822 33.62 5186
+-89.696 33.62 5205
+-89.57 33.62 5222
+-89.444 33.62 5231
+-89.318 33.62 5227
+-89.192 33.62 5221
+-89.066 33.62 5215
+-88.94 33.62 5236
+-88.814 33.62 5248
+-88.688 33.62 5259
+-88.562 33.62 5245
+-88.436 33.62 5209
+-88.31 33.62 5215
+-88.184 33.62 5215
+-88.058 33.62 5194
+-87.932 33.62 5175
+-87.806 33.62 5160
+-87.68 33.62 5103
+-87.554 33.62 5013
+-87.428 33.62 4944
+-87.302 33.62 4895
+-87.176 33.62 4841
+-87.05 33.62 4812
+-86.924 33.62 4758
+-86.798 33.62 4709
+-86.672 33.62 4670
+-86.546 33.62 4587
+-86.42 33.62 4513
+-86.294 33.62 4436
+-86.168 33.62 4364
+-86.042 33.62 4360
+-85.916 33.62 4238
+-85.79 33.62 4125
+-85.664 33.62 4181
+-85.538 33.62 4180
+-85.412 33.62 4159
+-85.286 33.62 4067
+-85.16 33.62 3946
+-85.034 33.62 3797
+-84.908 33.62 3656
+-84.782 33.62 3452
+-84.656 33.62 3286
+-84.53 33.62 3204
+-84.404 33.62 3241
+-84.278 33.62 3300
+-84.152 33.62 3315
+-84.026 33.62 3328
+-83.9 33.62 3325
+-83.774 33.62 3307
+-83.648 33.62 3294
+-83.522 33.62 3282
+-83.396 33.62 3273
+-83.27 33.62 3268
+-83.144 33.62 3266
+-83.018 33.62 3281
+-82.892 33.62 3314
+-82.766 33.62 3346
+-82.64 33.62 3386
+-82.514 33.62 3409
+-82.388 33.62 3452
+-82.262 33.62 3465
+-82.136 33.62 3462
+-82.01 33.62 3462
+-81.884 33.62 3475
+-81.758 33.62 3493
+-81.632 33.62 3512
+-81.506 33.62 3510
+-81.38 33.62 3512
+-81.254 33.62 3527
+-81.128 33.62 3548
+-81.002 33.62 3559
+-80.876 33.62 3536
+-80.75 33.62 3536
+-80.624 33.62 3555
+-80.498 33.62 3536
+-80.372 33.62 3538
+-80.246 33.62 3518
+-80.12 33.62 3465
+-79.994 33.62 3398
+-79.868 33.62 3342
+-79.742 33.62 3271
+-79.616 33.62 3197
+-79.49 33.62 3084
+-79.364 33.62 2886
+-79.238 33.62 2748
+-79.112 33.62 2583
+-78.986 33.62 2414
+-78.86 33.62 2278
+-78.734 33.62 2223
+-78.608 33.62 2269
+-78.482 33.62 2371
+-78.356 33.62 2476
+-78.23 33.62 2567
+-78.104 33.62 2644
+-77.978 33.62 2701
+-77.852 33.62 2761
+-77.726 33.62 2816
+-77.6 33.62 2883
+-77.474 33.62 2927
+-77.348 33.62 2971
+-77.222 33.62 3008
+-77.096 33.62 3033
+-76.97 33.62 3070
+-76.844 33.62 3118
+-76.718 33.62 3146
+-76.592 33.62 3169
+-76.466 33.62 3189
+-76.34 33.62 3230
+-76.214 33.62 3249
+-76.088 33.62 3228
+-75.962 33.62 3250
+-75.836 33.62 3262
+-75.71 33.62 3214
+-75.584 33.62 3162
+-75.458 33.62 3181
+-75.332 33.62 3189
+-75.206 33.62 3215
+-75.08 33.62 3205
+-74.954 33.62 3215
+-74.828 33.62 3223
+-74.702 33.62 3215
+-74.576 33.62 3221
+-74.45 33.62 3227
+-74.324 33.62 3214
+-74.198 33.62 3204
+-74.072 33.62 3229
+-73.946 33.62 3228
+-73.82 33.62 3234
+-73.694 33.62 3239
+-73.568 33.62 3173
+-73.442 33.62 3207
+-73.316 33.62 3205
+-73.19 33.62 3209
+-73.064 33.62 3213
+-72.938 33.62 3391
+-72.812 33.62 3327
+-72.686 33.62 3338
+-72.56 33.62 3341
+-72.434 33.62 3249
+-72.308 33.62 3240
+-72.182 33.62 3242
+-72.056 33.62 3244
+-71.93 33.62 3226
+-71.804 33.62 3228
+-71.678 33.62 3230
+-71.552 33.62 3232
+-71.426 33.62 3233
+-71.3 33.62 3250
+-71.174 33.62 3253
+-71.048 33.62 3239
+-70.922 33.62 3241
+-70.796 33.62 3243
+-70.67 33.62 3189
+-70.544 33.62 3359
+-70.418 33.62 3324
+-70.292 33.62 3325
+-70.166 33.62 3294
+-70.04 33.62 3295
+-69.914 33.62 3297
+-69.788 33.62 3419
+-69.662 33.62 3420
+-69.536 33.62 3421
+-69.41 33.62 3423
+-69.284 33.62 3424
+-69.158 33.62 3528
+-69.032 33.62 3530
+-68.906 33.62 3451
+-68.78 33.62 3452
+-68.654 33.62 3454
+-68.528 33.62 3455
+-68.402 33.62 3462
+-68.276 33.62 3424
+-68.15 33.62 3416
+-68.024 33.62 3367
+-67.898 33.62 3369
+-67.772 33.62 3332
+-67.646 33.62 3377
+-67.52 33.62 3378
+-67.394 33.62 3380
+-67.268 33.62 3381
+-67.142 33.62 3382
+-67.016 33.62 3384
+-66.89 33.62 3385
+-66.764 33.62 3360
+-66.638 33.62 3361
+-66.512 33.62 3362
+-66.386 33.62 3332
+-66.26 33.62 3301
+-66.134 33.62 3280
+-66.008 33.62 3281
+-65.882 33.62 3282
+-65.756 33.62 3283
+-65.63 33.62 3284
+-65.504 33.62 3285
+-65.378 33.62 3286
+-65.252 33.62 3216
+-65.126 33.62 3200
+-128 33.568 2660
+-127.874 33.568 2656
+-127.748 33.568 2690
+-127.622 33.568 2707
+-127.496 33.568 2700
+-127.37 33.568 2745
+-127.244 33.568 2738
+-127.118 33.568 2756
+-126.992 33.568 2747
+-126.866 33.568 2738
+-126.74 33.568 2728
+-126.614 33.568 2745
+-126.488 33.568 2734
+-126.362 33.568 2722
+-126.236 33.568 2710
+-126.11 33.568 2698
+-125.984 33.568 2731
+-125.858 33.568 2718
+-125.732 33.568 2786
+-125.606 33.568 2812
+-125.48 33.568 2856
+-125.354 33.568 2843
+-125.228 33.568 2901
+-125.102 33.568 2898
+-124.976 33.568 2921
+-124.85 33.568 2931
+-124.724 33.568 3057
+-124.598 33.568 3079
+-124.472 33.568 3103
+-124.346 33.568 3122
+-124.22 33.568 3128
+-124.094 33.568 3133
+-123.968 33.568 3075
+-123.842 33.568 2973
+-123.716 33.568 2815
+-123.59 33.568 2720
+-123.464 33.568 2856
+-123.338 33.568 3158
+-123.212 33.568 3397
+-123.086 33.568 3580
+-122.96 33.568 3763
+-122.834 33.568 3890
+-122.708 33.568 4018
+-122.582 33.568 4115
+-122.456 33.568 4207
+-122.33 33.568 4343
+-122.204 33.568 4423
+-122.078 33.568 4555
+-121.952 33.568 4619
+-121.826 33.568 4725
+-121.7 33.568 4809
+-121.574 33.568 4979
+-121.448 33.568 5135
+-121.322 33.568 5222
+-121.196 33.568 5342
+-121.07 33.568 5462
+-120.944 33.568 5594
+-120.818 33.568 5713
+-120.692 33.568 5860
+-120.566 33.568 5952
+-120.44 33.568 6052
+-120.314 33.568 6158
+-120.188 33.568 6313
+-120.062 33.568 6466
+-119.936 33.568 6583
+-119.81 33.568 6808
+-119.684 33.568 6920
+-119.558 33.568 7047
+-119.432 33.568 7135
+-119.306 33.568 7259
+-119.18 33.568 7429
+-119.054 33.568 7561
+-118.928 33.568 7685
+-118.802 33.568 7854
+-118.676 33.568 7909
+-118.55 33.568 8046
+-118.424 33.568 8193
+-118.298 33.568 8323
+-118.172 33.568 8401
+-118.046 33.568 8533
+-117.92 33.568 8577
+-117.794 33.568 8710
+-117.668 33.568 8789
+-117.542 33.568 8849
+-117.416 33.568 8882
+-117.29 33.568 8905
+-117.164 33.568 8866
+-117.038 33.568 8835
+-116.912 33.568 8886
+-116.786 33.568 8928
+-116.66 33.568 8821
+-116.534 33.568 8795
+-116.408 33.568 8682
+-116.282 33.568 8563
+-116.156 33.568 8475
+-116.03 33.568 8407
+-115.904 33.568 8247
+-115.778 33.568 8137
+-115.652 33.568 8053
+-115.526 33.568 7881
+-115.4 33.568 7713
+-115.274 33.568 7652
+-115.148 33.568 7494
+-115.022 33.568 7356
+-114.896 33.568 7246
+-114.77 33.568 7148
+-114.644 33.568 6966
+-114.518 33.568 6842
+-114.392 33.568 6744
+-114.266 33.568 6548
+-114.14 33.568 6430
+-114.014 33.568 6280
+-113.888 33.568 6204
+-113.762 33.568 6032
+-113.636 33.568 5900
+-113.51 33.568 5812
+-113.384 33.568 5594
+-113.258 33.568 5735
+-113.132 33.568 5856
+-113.006 33.568 5934
+-112.88 33.568 6088
+-112.754 33.568 6160
+-112.628 33.568 6208
+-112.502 33.568 6420
+-112.376 33.568 6438
+-112.25 33.568 6523
+-112.124 33.568 6620
+-111.998 33.568 6721
+-111.872 33.568 6805
+-111.746 33.568 6887
+-111.62 33.568 6958
+-111.494 33.568 7028
+-111.368 33.568 7091
+-111.242 33.568 7150
+-111.116 33.568 7197
+-110.99 33.568 7238
+-110.864 33.568 7283
+-110.738 33.568 7336
+-110.612 33.568 7344
+-110.486 33.568 7347
+-110.36 33.568 7362
+-110.234 33.568 7353
+-110.108 33.568 7317
+-109.982 33.568 7285
+-109.856 33.568 7245
+-109.73 33.568 7270
+-109.604 33.568 7203
+-109.478 33.568 7137
+-109.352 33.568 7084
+-109.226 33.568 7004
+-109.1 33.568 6915
+-108.974 33.568 6857
+-108.848 33.568 6768
+-108.722 33.568 6676
+-108.596 33.568 6608
+-108.47 33.568 6515
+-108.344 33.568 6422
+-108.218 33.568 6282
+-108.092 33.568 6236
+-107.966 33.568 6110
+-107.84 33.568 5955
+-107.714 33.568 5905
+-107.588 33.568 5818
+-107.462 33.568 5721
+-107.336 33.568 5634
+-107.21 33.568 5516
+-107.084 33.568 5388
+-106.958 33.568 5226
+-106.832 33.568 5047
+-106.706 33.568 4891
+-106.58 33.568 4891
+-106.454 33.568 4793
+-106.328 33.568 4668
+-106.202 33.568 4574
+-106.076 33.568 4532
+-105.95 33.568 4453
+-105.824 33.568 4270
+-105.698 33.568 4163
+-105.572 33.568 4027
+-105.446 33.568 3860
+-105.32 33.568 3727
+-105.194 33.568 3620
+-105.068 33.568 3548
+-104.942 33.568 3466
+-104.816 33.568 3405
+-104.69 33.568 3397
+-104.564 33.568 3425
+-104.438 33.568 3463
+-104.312 33.568 3502
+-104.186 33.568 3535
+-104.06 33.568 3544
+-103.934 33.568 3549
+-103.808 33.568 3550
+-103.682 33.568 3570
+-103.556 33.568 3589
+-103.43 33.568 3600
+-103.304 33.568 3604
+-103.178 33.568 3617
+-103.052 33.568 3629
+-102.926 33.568 3641
+-102.8 33.568 3610
+-102.674 33.568 3619
+-102.548 33.568 3628
+-102.422 33.568 3636
+-102.296 33.568 3644
+-102.17 33.568 3651
+-102.044 33.568 3657
+-101.918 33.568 3620
+-101.792 33.568 3627
+-101.666 33.568 3634
+-101.54 33.568 3640
+-101.414 33.568 3645
+-101.288 33.568 3651
+-101.162 33.568 3656
+-101.036 33.568 3660
+-100.91 33.568 3665
+-100.784 33.568 3669
+-100.658 33.568 3673
+-100.532 33.568 3677
+-100.406 33.568 3560
+-100.28 33.568 3511
+-100.154 33.568 3335
+-100.028 33.568 3256
+-99.902 33.568 3170
+-99.776 33.568 3145
+-99.65 33.568 3135
+-99.524 33.568 3089
+-99.398 33.568 3195
+-99.272 33.568 3196
+-99.146 33.568 3181
+-99.02 33.568 2964
+-98.894 33.568 2963
+-98.768 33.568 2971
+-98.642 33.568 3233
+-98.516 33.568 3182
+-98.39 33.568 3203
+-98.264 33.568 3229
+-98.138 33.568 3223
+-98.012 33.568 3216
+-97.886 33.568 3205
+-97.76 33.568 3222
+-97.634 33.568 3242
+-97.508 33.568 3198
+-97.382 33.568 3217
+-97.256 33.568 3220
+-97.13 33.568 3211
+-97.004 33.568 3168
+-96.878 33.568 3160
+-96.752 33.568 3151
+-96.626 33.568 3075
+-96.5 33.568 3070
+-96.374 33.568 3064
+-96.248 33.568 3057
+-96.122 33.568 3050
+-95.996 33.568 3057
+-95.87 33.568 3049
+-95.744 33.568 3017
+-95.618 33.568 3012
+-95.492 33.568 3007
+-95.366 33.568 3014
+-95.24 33.568 3057
+-95.114 33.568 3050
+-94.988 33.568 3037
+-94.862 33.568 3032
+-94.736 33.568 3028
+-94.61 33.568 3022
+-94.484 33.568 3027
+-94.358 33.568 3015
+-94.232 33.568 2993
+-94.106 33.568 2958
+-93.98 33.568 2919
+-93.854 33.568 2918
+-93.728 33.568 2989
+-93.602 33.568 3091
+-93.476 33.568 3174
+-93.35 33.568 3239
+-93.224 33.568 3258
+-93.098 33.568 3258
+-92.972 33.568 3323
+-92.846 33.568 3400
+-92.72 33.568 3481
+-92.594 33.568 3582
+-92.468 33.568 3617
+-92.342 33.568 3718
+-92.216 33.568 3863
+-92.09 33.568 4004
+-91.964 33.568 4120
+-91.838 33.568 4210
+-91.712 33.568 4239
+-91.586 33.568 4266
+-91.46 33.568 4372
+-91.334 33.568 4495
+-91.208 33.568 4527
+-91.082 33.568 4575
+-90.956 33.568 4636
+-90.83 33.568 4691
+-90.704 33.568 4722
+-90.578 33.568 4763
+-90.452 33.568 4769
+-90.326 33.568 4826
+-90.2 33.568 4884
+-90.074 33.568 4942
+-89.948 33.568 5027
+-89.822 33.568 5107
+-89.696 33.568 5147
+-89.57 33.568 5181
+-89.444 33.568 5178
+-89.318 33.568 5136
+-89.192 33.568 5175
+-89.066 33.568 5178
+-88.94 33.568 5191
+-88.814 33.568 5214
+-88.688 33.568 5221
+-88.562 33.568 5204
+-88.436 33.568 5173
+-88.31 33.568 5166
+-88.184 33.568 5128
+-88.058 33.568 5116
+-87.932 33.568 5108
+-87.806 33.568 5073
+-87.68 33.568 5014
+-87.554 33.568 4935
+-87.428 33.568 4885
+-87.302 33.568 4888
+-87.176 33.568 4829
+-87.05 33.568 4784
+-86.924 33.568 4705
+-86.798 33.568 4656
+-86.672 33.568 4593
+-86.546 33.568 4511
+-86.42 33.568 4444
+-86.294 33.568 4417
+-86.168 33.568 4386
+-86.042 33.568 4360
+-85.916 33.568 4277
+-85.79 33.568 4209
+-85.664 33.568 4201
+-85.538 33.568 4183
+-85.412 33.568 4110
+-85.286 33.568 3998
+-85.16 33.568 3863
+-85.034 33.568 3736
+-84.908 33.568 3573
+-84.782 33.568 3386
+-84.656 33.568 3213
+-84.53 33.568 3127
+-84.404 33.568 3193
+-84.278 33.568 3280
+-84.152 33.568 3308
+-84.026 33.568 3327
+-83.9 33.568 3335
+-83.774 33.568 3326
+-83.648 33.568 3321
+-83.522 33.568 3322
+-83.396 33.568 3323
+-83.27 33.568 3328
+-83.144 33.568 3334
+-83.018 33.568 3371
+-82.892 33.568 3389
+-82.766 33.568 3427
+-82.64 33.568 3448
+-82.514 33.568 3467
+-82.388 33.568 3482
+-82.262 33.568 3473
+-82.136 33.568 3447
+-82.01 33.568 3433
+-81.884 33.568 3456
+-81.758 33.568 3496
+-81.632 33.568 3512
+-81.506 33.568 3506
+-81.38 33.568 3499
+-81.254 33.568 3515
+-81.128 33.568 3533
+-81.002 33.568 3563
+-80.876 33.568 3557
+-80.75 33.568 3572
+-80.624 33.568 3542
+-80.498 33.568 3553
+-80.372 33.568 3546
+-80.246 33.568 3530
+-80.12 33.568 3480
+-79.994 33.568 3417
+-79.868 33.568 3364
+-79.742 33.568 3314
+-79.616 33.568 3227
+-79.49 33.568 3112
+-79.364 33.568 3000
+-79.238 33.568 2857
+-79.112 33.568 2702
+-78.986 33.568 2549
+-78.86 33.568 2414
+-78.734 33.568 2366
+-78.608 33.568 2388
+-78.482 33.568 2448
+-78.356 33.568 2516
+-78.23 33.568 2582
+-78.104 33.568 2639
+-77.978 33.568 2702
+-77.852 33.568 2764
+-77.726 33.568 2836
+-77.6 33.568 2888
+-77.474 33.568 2938
+-77.348 33.568 2981
+-77.222 33.568 3012
+-77.096 33.568 3052
+-76.97 33.568 3103
+-76.844 33.568 3133
+-76.718 33.568 3158
+-76.592 33.568 3180
+-76.466 33.568 3222
+-76.34 33.568 3243
+-76.214 33.568 3224
+-76.088 33.568 3247
+-75.962 33.568 3259
+-75.836 33.568 3215
+-75.71 33.568 3162
+-75.584 33.568 3181
+-75.458 33.568 3190
+-75.332 33.568 3215
+-75.206 33.568 3206
+-75.08 33.568 3216
+-74.954 33.568 3223
+-74.828 33.568 3216
+-74.702 33.568 3223
+-74.576 33.568 3229
+-74.45 33.568 3215
+-74.324 33.568 3205
+-74.198 33.568 3230
+-74.072 33.568 3229
+-73.946 33.568 3235
+-73.82 33.568 3240
+-73.694 33.568 3175
+-73.568 33.568 3209
+-73.442 33.568 3207
+-73.316 33.568 3211
+-73.19 33.568 3215
+-73.064 33.568 3390
+-72.938 33.568 3329
+-72.812 33.568 3336
+-72.686 33.568 3340
+-72.56 33.568 3248
+-72.434 33.568 3239
+-72.308 33.568 3241
+-72.182 33.568 3243
+-72.056 33.568 3226
+-71.93 33.568 3228
+-71.804 33.568 3229
+-71.678 33.568 3231
+-71.552 33.568 3233
+-71.426 33.568 3249
+-71.3 33.568 3252
+-71.174 33.568 3238
+-71.048 33.568 3240
+-70.922 33.568 3242
+-70.796 33.568 3189
+-70.67 33.568 3357
+-70.544 33.568 3323
+-70.418 33.568 3324
+-70.292 33.568 3292
+-70.166 33.568 3294
+-70.04 33.568 3295
+-69.914 33.568 3417
+-69.788 33.568 3418
+-69.662 33.568 3419
+-69.536 33.568 3421
+-69.41 33.568 3422
+-69.284 33.568 3525
+-69.158 33.568 3527
+-69.032 33.568 3449
+-68.906 33.568 3450
+-68.78 33.568 3452
+-68.654 33.568 3453
+-68.528 33.568 3460
+-68.402 33.568 3422
+-68.276 33.568 3415
+-68.15 33.568 3366
+-68.024 33.568 3367
+-67.898 33.568 3330
+-67.772 33.568 3375
+-67.646 33.568 3377
+-67.52 33.568 3378
+-67.394 33.568 3380
+-67.268 33.568 3381
+-67.142 33.568 3382
+-67.016 33.568 3384
+-66.89 33.568 3359
+-66.764 33.568 3360
+-66.638 33.568 3361
+-66.512 33.568 3331
+-66.386 33.568 3300
+-66.26 33.568 3280
+-66.134 33.568 3281
+-66.008 33.568 3282
+-65.882 33.568 3283
+-65.756 33.568 3284
+-65.63 33.568 3285
+-65.504 33.568 3285
+-65.378 33.568 3216
+-65.252 33.568 3199
+-65.126 33.568 3200
+-128 33.516 2655
+-127.874 33.516 2690
+-127.748 33.516 2684
+-127.622 33.516 2677
+-127.496 33.516 2744
+-127.37 33.516 2737
+-127.244 33.516 2729
+-127.118 33.516 2720
+-126.992 33.516 2737
+-126.866 33.516 2726
+-126.74 33.516 2715
+-126.614 33.516 2702
+-126.488 33.516 2718
+-126.362 33.516 2705
+-126.236 33.516 2690
+-126.11 33.516 2719
+-125.984 33.516 2703
+-125.858 33.516 2770
+-125.732 33.516 2783
+-125.606 33.516 2762
+-125.48 33.516 2747
+-125.354 33.516 2776
+-125.228 33.516 2827
+-125.102 33.516 2819
+-124.976 33.516 2819
+-124.85 33.516 2843
+-124.724 33.516 2936
+-124.598 33.516 2966
+-124.472 33.516 3031
+-124.346 33.516 3063
+-124.22 33.516 3085
+-124.094 33.516 3087
+-123.968 33.516 3067
+-123.842 33.516 2993
+-123.716 33.516 2887
+-123.59 33.516 2837
+-123.464 33.516 2965
+-123.338 33.516 3192
+-123.212 33.516 3384
+-123.086 33.516 3466
+-122.96 33.516 3589
+-122.834 33.516 3809
+-122.708 33.516 3957
+-122.582 33.516 4061
+-122.456 33.516 4155
+-122.33 33.516 4305
+-122.204 33.516 4410
+-122.078 33.516 4546
+-121.952 33.516 4634
+-121.826 33.516 4733
+-121.7 33.516 4705
+-121.574 33.516 4899
+-121.448 33.516 5086
+-121.322 33.516 5096
+-121.196 33.516 5307
+-121.07 33.516 5469
+-120.944 33.516 5492
+-120.818 33.516 5639
+-120.692 33.516 5837
+-120.566 33.516 5995
+-120.44 33.516 6056
+-120.314 33.516 6189
+-120.188 33.516 6313
+-120.062 33.516 6412
+-119.936 33.516 6599
+-119.81 33.516 6775
+-119.684 33.516 6804
+-119.558 33.516 7043
+-119.432 33.516 7113
+-119.306 33.516 7267
+-119.18 33.516 7397
+-119.054 33.516 7567
+-118.928 33.516 7604
+-118.802 33.516 7772
+-118.676 33.516 7901
+-118.55 33.516 8039
+-118.424 33.516 8106
+-118.298 33.516 8268
+-118.172 33.516 8422
+-118.046 33.516 8469
+-117.92 33.516 8577
+-117.794 33.516 8667
+-117.668 33.516 8757
+-117.542 33.516 8778
+-117.416 33.516 8849
+-117.29 33.516 8838
+-117.164 33.516 8825
+-117.038 33.516 8990
+-116.912 33.516 8983
+-116.786 33.516 8957
+-116.66 33.516 8892
+-116.534 33.516 8839
+-116.408 33.516 8744
+-116.282 33.516 8622
+-116.156 33.516 8517
+-116.03 33.516 8370
+-115.904 33.516 8259
+-115.778 33.516 8164
+-115.652 33.516 8043
+-115.526 33.516 7920
+-115.4 33.516 7796
+-115.274 33.516 7666
+-115.148 33.516 7575
+-115.022 33.516 7447
+-114.896 33.516 7268
+-114.77 33.516 7150
+-114.644 33.516 7042
+-114.518 33.516 6826
+-114.392 33.516 6734
+-114.266 33.516 6527
+-114.14 33.516 6382
+-114.014 33.516 6349
+-113.888 33.516 6168
+-113.762 33.516 6092
+-113.636 33.516 5904
+-113.51 33.516 5733
+-113.384 33.516 5669
+-113.258 33.516 5711
+-113.132 33.516 5821
+-113.006 33.516 5937
+-112.88 33.516 6086
+-112.754 33.516 6158
+-112.628 33.516 6291
+-112.502 33.516 6422
+-112.376 33.516 6513
+-112.25 33.516 6574
+-112.124 33.516 6652
+-111.998 33.516 6789
+-111.872 33.516 6827
+-111.746 33.516 6949
+-111.62 33.516 6993
+-111.494 33.516 7077
+-111.368 33.516 7146
+-111.242 33.516 7183
+-111.116 33.516 7250
+-110.99 33.516 7307
+-110.864 33.516 7332
+-110.738 33.516 7362
+-110.612 33.516 7389
+-110.486 33.516 7408
+-110.36 33.516 7409
+-110.234 33.516 7406
+-110.108 33.516 7399
+-109.982 33.516 7379
+-109.856 33.516 7323
+-109.73 33.516 7282
+-109.604 33.516 7214
+-109.478 33.516 7189
+-109.352 33.516 7123
+-109.226 33.516 7043
+-109.1 33.516 6981
+-108.974 33.516 6878
+-108.848 33.516 6824
+-108.722 33.516 6747
+-108.596 33.516 6653
+-108.47 33.516 6520
+-108.344 33.516 6447
+-108.218 33.516 6303
+-108.092 33.516 6214
+-107.966 33.516 6125
+-107.84 33.516 6006
+-107.714 33.516 5921
+-107.588 33.516 5840
+-107.462 33.516 5722
+-107.336 33.516 5605
+-107.21 33.516 5572
+-107.084 33.516 5443
+-106.958 33.516 5314
+-106.832 33.516 5123
+-106.706 33.516 4973
+-106.58 33.516 4891
+-106.454 33.516 4779
+-106.328 33.516 4611
+-106.202 33.516 4531
+-106.076 33.516 4537
+-105.95 33.516 4453
+-105.824 33.516 4272
+-105.698 33.516 4144
+-105.572 33.516 3999
+-105.446 33.516 3800
+-105.32 33.516 3615
+-105.194 33.516 3505
+-105.068 33.516 3468
+-104.942 33.516 3343
+-104.816 33.516 3235
+-104.69 33.516 3275
+-104.564 33.516 3350
+-104.438 33.516 3413
+-104.312 33.516 3463
+-104.186 33.516 3486
+-104.06 33.516 3502
+-103.934 33.516 3511
+-103.808 33.516 3536
+-103.682 33.516 3558
+-103.556 33.516 3573
+-103.43 33.516 3581
+-103.304 33.516 3597
+-103.178 33.516 3611
+-103.052 33.516 3624
+-102.926 33.516 3612
+-102.8 33.516 3624
+-102.674 33.516 3634
+-102.548 33.516 3644
+-102.422 33.516 3654
+-102.296 33.516 3652
+-102.17 33.516 3660
+-102.044 33.516 3614
+-101.918 33.516 3621
+-101.792 33.516 3628
+-101.666 33.516 3635
+-101.54 33.516 3641
+-101.414 33.516 3647
+-101.288 33.516 3652
+-101.162 33.516 3657
+-101.036 33.516 3662
+-100.91 33.516 3666
+-100.784 33.516 3670
+-100.658 33.516 3674
+-100.532 33.516 3678
+-100.406 33.516 3566
+-100.28 33.516 3508
+-100.154 33.516 3230
+-100.028 33.516 3153
+-99.902 33.516 3060
+-99.776 33.516 3032
+-99.65 33.516 3015
+-99.524 33.516 3083
+-99.398 33.516 3003
+-99.272 33.516 3060
+-99.146 33.516 2916
+-99.02 33.516 2954
+-98.894 33.516 2961
+-98.768 33.516 3063
+-98.642 33.516 3020
+-98.516 33.516 3048
+-98.39 33.516 3227
+-98.264 33.516 3221
+-98.138 33.516 3215
+-98.012 33.516 3203
+-97.886 33.516 3220
+-97.76 33.516 3241
+-97.634 33.516 3197
+-97.508 33.516 3217
+-97.382 33.516 3220
+-97.256 33.516 3211
+-97.13 33.516 3168
+-97.004 33.516 3160
+-96.878 33.516 3152
+-96.752 33.516 3075
+-96.626 33.516 3069
+-96.5 33.516 3064
+-96.374 33.516 3058
+-96.248 33.516 3051
+-96.122 33.516 3059
+-95.996 33.516 3052
+-95.87 33.516 3019
+-95.744 33.516 3015
+-95.618 33.516 3010
+-95.492 33.516 3018
+-95.366 33.516 3013
+-95.24 33.516 3009
+-95.114 33.516 2998
+-94.988 33.516 3040
+-94.862 33.516 3035
+-94.736 33.516 3026
+-94.61 33.516 3029
+-94.484 33.516 3015
+-94.358 33.516 2991
+-94.232 33.516 2947
+-94.106 33.516 2874
+-93.98 33.516 2775
+-93.854 33.516 2721
+-93.728 33.516 2823
+-93.602 33.516 2996
+-93.476 33.516 3142
+-93.35 33.516 3217
+-93.224 33.516 3251
+-93.098 33.516 3290
+-92.972 33.516 3335
+-92.846 33.516 3418
+-92.72 33.516 3492
+-92.594 33.516 3566
+-92.468 33.516 3558
+-92.342 33.516 3647
+-92.216 33.516 3802
+-92.09 33.516 3954
+-91.964 33.516 4085
+-91.838 33.516 4207
+-91.712 33.516 4232
+-91.586 33.516 4182
+-91.46 33.516 4303
+-91.334 33.516 4438
+-91.208 33.516 4505
+-91.082 33.516 4547
+-90.956 33.516 4586
+-90.83 33.516 4623
+-90.704 33.516 4642
+-90.578 33.516 4683
+-90.452 33.516 4718
+-90.326 33.516 4755
+-90.2 33.516 4820
+-90.074 33.516 4858
+-89.948 33.516 4925
+-89.822 33.516 5009
+-89.696 33.516 5065
+-89.57 33.516 5117
+-89.444 33.516 5135
+-89.318 33.516 5145
+-89.192 33.516 5149
+-89.066 33.516 5146
+-88.94 33.516 5127
+-88.814 33.516 5138
+-88.688 33.516 5146
+-88.562 33.516 5149
+-88.436 33.516 5148
+-88.31 33.516 5110
+-88.184 33.516 5053
+-88.058 33.516 5066
+-87.932 33.516 5027
+-87.806 33.516 4974
+-87.68 33.516 4946
+-87.554 33.516 4881
+-87.428 33.516 4849
+-87.302 33.516 4838
+-87.176 33.516 4783
+-87.05 33.516 4714
+-86.924 33.516 4639
+-86.798 33.516 4580
+-86.672 33.516 4565
+-86.546 33.516 4454
+-86.42 33.516 4366
+-86.294 33.516 4394
+-86.168 33.516 4382
+-86.042 33.516 4362
+-85.916 33.516 4312
+-85.79 33.516 4259
+-85.664 33.516 4213
+-85.538 33.516 4132
+-85.412 33.516 4069
+-85.286 33.516 3961
+-85.16 33.516 3808
+-85.034 33.516 3686
+-84.908 33.516 3565
+-84.782 33.516 3382
+-84.656 33.516 3263
+-84.53 33.516 3196
+-84.404 33.516 3237
+-84.278 33.516 3291
+-84.152 33.516 3308
+-84.026 33.516 3325
+-83.9 33.516 3335
+-83.774 33.516 3334
+-83.648 33.516 3340
+-83.522 33.516 3350
+-83.396 33.516 3363
+-83.27 33.516 3378
+-83.144 33.516 3393
+-83.018 33.516 3436
+-82.892 33.516 3469
+-82.766 33.516 3485
+-82.64 33.516 3496
+-82.514 33.516 3503
+-82.388 33.516 3506
+-82.262 33.516 3484
+-82.136 33.516 3441
+-82.01 33.516 3397
+-81.884 33.516 3451
+-81.758 33.516 3507
+-81.632 33.516 3512
+-81.506 33.516 3483
+-81.38 33.516 3460
+-81.254 33.516 3482
+-81.128 33.516 3540
+-81.002 33.516 3558
+-80.876 33.516 3578
+-80.75 33.516 3555
+-80.624 33.516 3578
+-80.498 33.516 3554
+-80.372 33.516 3553
+-80.246 33.516 3542
+-80.12 33.516 3497
+-79.994 33.516 3437
+-79.868 33.516 3408
+-79.742 33.516 3343
+-79.616 33.516 3251
+-79.49 33.516 3171
+-79.364 33.516 3059
+-79.238 33.516 2936
+-79.112 33.516 2800
+-78.986 33.516 2672
+-78.86 33.516 2574
+-78.734 33.516 2498
+-78.608 33.516 2483
+-78.482 33.516 2495
+-78.356 33.516 2527
+-78.23 33.516 2572
+-78.104 33.516 2635
+-77.978 33.516 2703
+-77.852 33.516 2781
+-77.726 33.516 2842
+-77.6 33.516 2901
+-77.474 33.516 2950
+-77.348 33.516 2988
+-77.222 33.516 3032
+-77.096 33.516 3086
+-76.97 33.516 3119
+-76.844 33.516 3147
+-76.718 33.516 3172
+-76.592 33.516 3214
+-76.466 33.516 3237
+-76.34 33.516 3220
+-76.214 33.516 3243
+-76.088 33.516 3257
+-75.962 33.516 3212
+-75.836 33.516 3163
+-75.71 33.516 3182
+-75.584 33.516 3191
+-75.458 33.516 3216
+-75.332 33.516 3207
+-75.206 33.516 3217
+-75.08 33.516 3225
+-74.954 33.516 3218
+-74.828 33.516 3224
+-74.702 33.516 3230
+-74.576 33.516 3217
+-74.45 33.516 3207
+-74.324 33.516 3232
+-74.198 33.516 3231
+-74.072 33.516 3237
+-73.946 33.516 3242
+-73.82 33.516 3177
+-73.694 33.516 3210
+-73.568 33.516 3209
+-73.442 33.516 3213
+-73.316 33.516 3216
+-73.19 33.516 3388
+-73.064 33.516 3325
+-72.938 33.516 3335
+-72.812 33.516 3339
+-72.686 33.516 3247
+-72.56 33.516 3238
+-72.434 33.516 3240
+-72.308 33.516 3242
+-72.182 33.516 3225
+-72.056 33.516 3227
+-71.93 33.516 3229
+-71.804 33.516 3230
+-71.678 33.516 3232
+-71.552 33.516 3248
+-71.426 33.516 3251
+-71.3 33.516 3237
+-71.174 33.516 3239
+-71.048 33.516 3242
+-70.922 33.516 3188
+-70.796 33.516 3355
+-70.67 33.516 3321
+-70.544 33.516 3323
+-70.418 33.516 3291
+-70.292 33.516 3293
+-70.166 33.516 3294
+-70.04 33.516 3415
+-69.914 33.516 3416
+-69.788 33.516 3417
+-69.662 33.516 3419
+-69.536 33.516 3420
+-69.41 33.516 3523
+-69.284 33.516 3525
+-69.158 33.516 3447
+-69.032 33.516 3448
+-68.906 33.516 3450
+-68.78 33.516 3452
+-68.654 33.516 3458
+-68.528 33.516 3420
+-68.402 33.516 3413
+-68.276 33.516 3364
+-68.15 33.516 3366
+-68.024 33.516 3329
+-67.898 33.516 3374
+-67.772 33.516 3375
+-67.646 33.516 3377
+-67.52 33.516 3378
+-67.394 33.516 3380
+-67.268 33.516 3381
+-67.142 33.516 3383
+-67.016 33.516 3357
+-66.89 33.516 3359
+-66.764 33.516 3360
+-66.638 33.516 3330
+-66.512 33.516 3299
+-66.386 33.516 3279
+-66.26 33.516 3280
+-66.134 33.516 3281
+-66.008 33.516 3282
+-65.882 33.516 3283
+-65.756 33.516 3284
+-65.63 33.516 3285
+-65.504 33.516 3215
+-65.378 33.516 3199
+-65.252 33.516 3200
+-65.126 33.516 3201
+-128 33.464 2691
+-127.874 33.464 2685
+-127.748 33.464 2678
+-127.622 33.464 2671
+-127.496 33.464 2663
+-127.37 33.464 2729
+-127.244 33.464 2720
+-127.118 33.464 2710
+-126.992 33.464 2700
+-126.866 33.464 2715
+-126.74 33.464 2702
+-126.614 33.464 2688
+-126.488 33.464 2672
+-126.362 33.464 2687
+-126.236 33.464 2713
+-126.11 33.464 2694
+-125.984 33.464 2756
+-125.858 33.464 2764
+-125.732 33.464 2737
+-125.606 33.464 2709
+-125.48 33.464 2682
+-125.354 33.464 2660
+-125.228 33.464 2680
+-125.102 33.464 2726
+-124.976 33.464 2720
+-124.85 33.464 2726
+-124.724 33.464 2831
+-124.598 33.464 2868
+-124.472 33.464 2914
+-124.346 33.464 2964
+-124.22 33.464 3008
+-124.094 33.464 3063
+-123.968 33.464 3067
+-123.842 33.464 3056
+-123.716 33.464 3030
+-123.59 33.464 3041
+-123.464 33.464 3147
+-123.338 33.464 3260
+-123.212 33.464 3301
+-123.086 33.464 3282
+-122.96 33.464 3425
+-122.834 33.464 3716
+-122.708 33.464 3914
+-122.582 33.464 4013
+-122.456 33.464 4090
+-122.33 33.464 4218
+-122.204 33.464 4352
+-122.078 33.464 4488
+-121.952 33.464 4640
+-121.826 33.464 4745
+-121.7 33.464 4813
+-121.574 33.464 4892
+-121.448 33.464 5045
+-121.322 33.464 5194
+-121.196 33.464 5300
+-121.07 33.464 5473
+-120.944 33.464 5564
+-120.818 33.464 5639
+-120.692 33.464 5785
+-120.566 33.464 5968
+-120.44 33.464 6003
+-120.314 33.464 6212
+-120.188 33.464 6346
+-120.062 33.464 6433
+-119.936 33.464 6613
+-119.81 33.464 6762
+-119.684 33.464 6865
+-119.558 33.464 6929
+-119.432 33.464 7071
+-119.306 33.464 7239
+-119.18 33.464 7411
+-119.054 33.464 7529
+-118.928 33.464 7684
+-118.802 33.464 7761
+-118.676 33.464 7869
+-118.55 33.464 7976
+-118.424 33.464 8118
+-118.298 33.464 8270
+-118.172 33.464 8334
+-118.046 33.464 8444
+-117.92 33.464 8568
+-117.794 33.464 8642
+-117.668 33.464 8698
+-117.542 33.464 8750
+-117.416 33.464 8793
+-117.29 33.464 8919
+-117.164 33.464 9041
+-117.038 33.464 9050
+-116.912 33.464 9070
+-116.786 33.464 9042
+-116.66 33.464 8951
+-116.534 33.464 8833
+-116.408 33.464 8773
+-116.282 33.464 8655
+-116.156 33.464 8535
+-116.03 33.464 8475
+-115.904 33.464 8322
+-115.778 33.464 8200
+-115.652 33.464 8027
+-115.526 33.464 7958
+-115.4 33.464 7840
+-115.274 33.464 7713
+-115.148 33.464 7529
+-115.022 33.464 7428
+-114.896 33.464 7261
+-114.77 33.464 7202
+-114.644 33.464 7055
+-114.518 33.464 6901
+-114.392 33.464 6721
+-114.266 33.464 6617
+-114.14 33.464 6458
+-114.014 33.464 6353
+-113.888 33.464 6206
+-113.762 33.464 6060
+-113.636 33.464 5879
+-113.51 33.464 5589
+-113.384 33.464 5698
+-113.258 33.464 5757
+-113.132 33.464 5862
+-113.006 33.464 6034
+-112.88 33.464 6077
+-112.754 33.464 6237
+-112.628 33.464 6379
+-112.502 33.464 6439
+-112.376 33.464 6560
+-112.25 33.464 6610
+-112.124 33.464 6721
+-111.998 33.464 6872
+-111.872 33.464 6895
+-111.746 33.464 7010
+-111.62 33.464 7046
+-111.494 33.464 7144
+-111.368 33.464 7184
+-111.242 33.464 7258
+-111.116 33.464 7328
+-110.99 33.464 7373
+-110.864 33.464 7405
+-110.738 33.464 7407
+-110.612 33.464 7445
+-110.486 33.464 7462
+-110.36 33.464 7470
+-110.234 33.464 7466
+-110.108 33.464 7439
+-109.982 33.464 7428
+-109.856 33.464 7392
+-109.73 33.464 7340
+-109.604 33.464 7286
+-109.478 33.464 7238
+-109.352 33.464 7173
+-109.226 33.464 7100
+-109.1 33.464 7038
+-108.974 33.464 6927
+-108.848 33.464 6884
+-108.722 33.464 6806
+-108.596 33.464 6706
+-108.47 33.464 6632
+-108.344 33.464 6511
+-108.218 33.464 6350
+-108.092 33.464 6252
+-107.966 33.464 6182
+-107.84 33.464 6071
+-107.714 33.464 5939
+-107.588 33.464 5825
+-107.462 33.464 5764
+-107.336 33.464 5666
+-107.21 33.464 5550
+-107.084 33.464 5421
+-106.958 33.464 5372
+-106.832 33.464 5223
+-106.706 33.464 5065
+-106.58 33.464 4912
+-106.454 33.464 4779
+-106.328 33.464 4655
+-106.202 33.464 4569
+-106.076 33.464 4543
+-105.95 33.464 4470
+-105.824 33.464 4265
+-105.698 33.464 4121
+-105.572 33.464 3960
+-105.446 33.464 3778
+-105.32 33.464 3567
+-105.194 33.464 3421
+-105.068 33.464 3438
+-104.942 33.464 3263
+-104.816 33.464 3111
+-104.69 33.464 3208
+-104.564 33.464 3307
+-104.438 33.464 3377
+-104.312 33.464 3419
+-104.186 33.464 3447
+-104.06 33.464 3465
+-103.934 33.464 3496
+-103.808 33.464 3523
+-103.682 33.464 3543
+-103.556 33.464 3555
+-103.43 33.464 3573
+-103.304 33.464 3590
+-103.178 33.464 3606
+-103.052 33.464 3596
+-102.926 33.464 3610
+-102.8 33.464 3622
+-102.674 33.464 3633
+-102.548 33.464 3644
+-102.422 33.464 3653
+-102.296 33.464 3652
+-102.17 33.464 3608
+-102.044 33.464 3616
+-101.918 33.464 3623
+-101.792 33.464 3630
+-101.666 33.464 3637
+-101.54 33.464 3643
+-101.414 33.464 3649
+-101.288 33.464 3654
+-101.162 33.464 3659
+-101.036 33.464 3664
+-100.91 33.464 3668
+-100.784 33.464 3672
+-100.658 33.464 3676
+-100.532 33.464 3680
+-100.406 33.464 3595
+-100.28 33.464 3513
+-100.154 33.464 3232
+-100.028 33.464 3153
+-99.902 33.464 3060
+-99.776 33.464 3031
+-99.65 33.464 3011
+-99.524 33.464 2998
+-99.398 33.464 2997
+-99.272 33.464 3050
+-99.146 33.464 2906
+-99.02 33.464 2991
+-98.894 33.464 3053
+-98.768 33.464 3010
+-98.642 33.464 3038
+-98.516 33.464 3061
+-98.39 33.464 3058
+-98.264 33.464 3213
+-98.138 33.464 3202
+-98.012 33.464 3219
+-97.886 33.464 3241
+-97.76 33.464 3196
+-97.634 33.464 3216
+-97.508 33.464 3220
+-97.382 33.464 3211
+-97.256 33.464 3168
+-97.13 33.464 3160
+-97.004 33.464 3152
+-96.878 33.464 3074
+-96.752 33.464 3069
+-96.626 33.464 3063
+-96.5 33.464 3058
+-96.374 33.464 3052
+-96.248 33.464 3060
+-96.122 33.464 3053
+-95.996 33.464 3020
+-95.87 33.464 3016
+-95.744 33.464 3011
+-95.618 33.464 3020
+-95.492 33.464 3015
+-95.366 33.464 3010
+-95.24 33.464 3005
+-95.114 33.464 2995
+-94.988 33.464 2990
+-94.862 33.464 2998
+-94.736 33.464 2991
+-94.61 33.464 3023
+-94.484 33.464 3003
+-94.358 33.464 2971
+-94.232 33.464 2916
+-94.106 33.464 2828
+-93.98 33.464 2697
+-93.854 33.464 2610
+-93.728 33.464 2723
+-93.602 33.464 2932
+-93.476 33.464 3101
+-93.35 33.464 3182
+-93.224 33.464 3226
+-93.098 33.464 3271
+-92.972 33.464 3306
+-92.846 33.464 3366
+-92.72 33.464 3470
+-92.594 33.464 3546
+-92.468 33.464 3601
+-92.342 33.464 3674
+-92.216 33.464 3815
+-92.09 33.464 3957
+-91.964 33.464 4075
+-91.838 33.464 4204
+-91.712 33.464 4243
+-91.586 33.464 4237
+-91.46 33.464 4264
+-91.334 33.464 4357
+-91.208 33.464 4447
+-91.082 33.464 4501
+-90.956 33.464 4551
+-90.83 33.464 4589
+-90.704 33.464 4614
+-90.578 33.464 4641
+-90.452 33.464 4715
+-90.326 33.464 4718
+-90.2 33.464 4789
+-90.074 33.464 4825
+-89.948 33.464 4858
+-89.822 33.464 4919
+-89.696 33.464 4991
+-89.57 33.464 5014
+-89.444 33.464 5039
+-89.318 33.464 5066
+-89.192 33.464 5088
+-89.066 33.464 5087
+-88.94 33.464 5077
+-88.814 33.464 5076
+-88.688 33.464 5056
+-88.562 33.464 5059
+-88.436 33.464 5077
+-88.31 33.464 5065
+-88.184 33.464 5042
+-88.058 33.464 5014
+-87.932 33.464 4960
+-87.806 33.464 4927
+-87.68 33.464 4904
+-87.554 33.464 4848
+-87.428 33.464 4828
+-87.302 33.464 4802
+-87.176 33.464 4714
+-87.05 33.464 4641
+-86.924 33.464 4585
+-86.798 33.464 4529
+-86.672 33.464 4469
+-86.546 33.464 4395
+-86.42 33.464 4391
+-86.294 33.464 4381
+-86.168 33.464 4364
+-86.042 33.464 4347
+-85.916 33.464 4334
+-85.79 33.464 4264
+-85.664 33.464 4183
+-85.538 33.464 4108
+-85.412 33.464 4008
+-85.286 33.464 3867
+-85.16 33.464 3737
+-85.034 33.464 3646
+-84.908 33.464 3523
+-84.782 33.464 3423
+-84.656 33.464 3331
+-84.53 33.464 3281
+-84.404 33.464 3286
+-84.278 33.464 3300
+-84.152 33.464 3310
+-84.026 33.464 3318
+-83.9 33.464 3334
+-83.774 33.464 3335
+-83.648 33.464 3347
+-83.522 33.464 3369
+-83.396 33.464 3393
+-83.27 33.464 3431
+-83.144 33.464 3453
+-83.018 33.464 3500
+-82.892 33.464 3521
+-82.766 33.464 3543
+-82.64 33.464 3547
+-82.514 33.464 3538
+-82.388 33.464 3535
+-82.262 33.464 3519
+-82.136 33.464 3484
+-82.01 33.464 3469
+-81.884 33.464 3513
+-81.758 33.464 3531
+-81.632 33.464 3523
+-81.506 33.464 3481
+-81.38 33.464 3423
+-81.254 33.464 3473
+-81.128 33.464 3530
+-81.002 33.464 3540
+-80.876 33.464 3532
+-80.75 33.464 3551
+-80.624 33.464 3560
+-80.498 33.464 3588
+-80.372 33.464 3562
+-80.246 33.464 3556
+-80.12 33.464 3514
+-79.994 33.464 3480
+-79.868 33.464 3433
+-79.742 33.464 3360
+-79.616 33.464 3307
+-79.49 33.464 3221
+-79.364 33.464 3125
+-79.238 33.464 3009
+-79.112 33.464 2885
+-78.986 33.464 2766
+-78.86 33.464 2657
+-78.734 33.464 2567
+-78.608 33.464 2499
+-78.482 33.464 2459
+-78.356 33.464 2479
+-78.23 33.464 2542
+-78.104 33.464 2620
+-77.978 33.464 2710
+-77.852 33.464 2786
+-77.726 33.464 2855
+-77.6 33.464 2915
+-77.474 33.464 2960
+-77.348 33.464 3010
+-77.222 33.464 3068
+-77.096 33.464 3105
+-76.97 33.464 3136
+-76.844 33.464 3163
+-76.718 33.464 3207
+-76.592 33.464 3231
+-76.466 33.464 3216
+-76.34 33.464 3240
+-76.214 33.464 3255
+-76.088 33.464 3214
+-75.962 33.464 3164
+-75.836 33.464 3183
+-75.71 33.464 3192
+-75.584 33.464 3217
+-75.458 33.464 3209
+-75.332 33.464 3218
+-75.206 33.464 3226
+-75.08 33.464 3219
+-74.954 33.464 3226
+-74.828 33.464 3232
+-74.702 33.464 3219
+-74.576 33.464 3210
+-74.45 33.464 3234
+-74.324 33.464 3233
+-74.198 33.464 3239
+-74.072 33.464 3244
+-73.946 33.464 3179
+-73.82 33.464 3212
+-73.694 33.464 3210
+-73.568 33.464 3215
+-73.442 33.464 3218
+-73.316 33.464 3386
+-73.19 33.464 3326
+-73.064 33.464 3334
+-72.938 33.464 3337
+-72.812 33.464 3246
+-72.686 33.464 3237
+-72.56 33.464 3240
+-72.434 33.464 3242
+-72.308 33.464 3224
+-72.182 33.464 3226
+-72.056 33.464 3228
+-71.93 33.464 3230
+-71.804 33.464 3231
+-71.678 33.464 3247
+-71.552 33.464 3250
+-71.426 33.464 3236
+-71.3 33.464 3239
+-71.174 33.464 3241
+-71.048 33.464 3188
+-70.922 33.464 3354
+-70.796 33.464 3320
+-70.67 33.464 3321
+-70.544 33.464 3289
+-70.418 33.464 3291
+-70.292 33.464 3293
+-70.166 33.464 3412
+-70.04 33.464 3414
+-69.914 33.464 3415
+-69.788 33.464 3417
+-69.662 33.464 3418
+-69.536 33.464 3520
+-69.41 33.464 3522
+-69.284 33.464 3444
+-69.158 33.464 3446
+-69.032 33.464 3448
+-68.906 33.464 3450
+-68.78 33.464 3456
+-68.654 33.464 3418
+-68.528 33.464 3411
+-68.402 33.464 3363
+-68.276 33.464 3364
+-68.15 33.464 3327
+-68.024 33.464 3372
+-67.898 33.464 3374
+-67.772 33.464 3375
+-67.646 33.464 3377
+-67.52 33.464 3378
+-67.394 33.464 3380
+-67.268 33.464 3381
+-67.142 33.464 3356
+-67.016 33.464 3357
+-66.89 33.464 3359
+-66.764 33.464 3329
+-66.638 33.464 3298
+-66.512 33.464 3278
+-66.386 33.464 3279
+-66.26 33.464 3280
+-66.134 33.464 3281
+-66.008 33.464 3282
+-65.882 33.464 3283
+-65.756 33.464 3284
+-65.63 33.464 3214
+-65.504 33.464 3198
+-65.378 33.464 3199
+-65.252 33.464 3200
+-65.126 33.464 3201
+-128 33.412 2686
+-127.874 33.412 2680
+-127.748 33.412 2672
+-127.622 33.412 2665
+-127.496 33.412 2656
+-127.37 33.412 2647
+-127.244 33.412 2712
+-127.118 33.412 2701
+-126.992 33.412 2690
+-126.866 33.412 2678
+-126.74 33.412 2689
+-126.614 33.412 2674
+-126.488 33.412 2689
+-126.362 33.412 2710
+-126.236 33.412 2687
+-126.11 33.412 2743
+-125.984 33.412 2754
+-125.858 33.412 2723
+-125.732 33.412 2689
+-125.606 33.412 2654
+-125.48 33.412 2617
+-125.354 33.412 2580
+-125.228 33.412 2547
+-125.102 33.412 2584
+-124.976 33.412 2603
+-124.85 33.412 2603
+-124.724 33.412 2624
+-124.598 33.412 2733
+-124.472 33.412 2793
+-124.346 33.412 2862
+-124.22 33.412 2931
+-124.094 33.412 3004
+-123.968 33.412 3058
+-123.842 33.412 3096
+-123.716 33.412 3136
+-123.59 33.412 3180
+-123.464 33.412 3247
+-123.338 33.412 3299
+-123.212 33.412 3251
+-123.086 33.412 3157
+-122.96 33.412 3325
+-122.834 33.412 3681
+-122.708 33.412 3900
+-122.582 33.412 3962
+-122.456 33.412 3965
+-122.33 33.412 4116
+-122.204 33.412 4321
+-122.078 33.412 4501
+-121.952 33.412 4602
+-121.826 33.412 4704
+-121.7 33.412 4800
+-121.574 33.412 4909
+-121.448 33.412 5072
+-121.322 33.412 5226
+-121.196 33.412 5202
+-121.07 33.412 5421
+-120.944 33.412 5555
+-120.818 33.412 5631
+-120.692 33.412 5749
+-120.566 33.412 5943
+-120.44 33.412 6073
+-120.314 33.412 6216
+-120.188 33.412 6352
+-120.062 33.412 6493
+-119.936 33.412 6573
+-119.81 33.412 6716
+-119.684 33.412 6796
+-119.558 33.412 6959
+-119.432 33.412 7127
+-119.306 33.412 7225
+-119.18 33.412 7367
+-119.054 33.412 7459
+-118.928 33.412 7560
+-118.802 33.412 7759
+-118.676 33.412 7865
+-118.55 33.412 7968
+-118.424 33.412 8064
+-118.298 33.412 8185
+-118.172 33.412 8273
+-118.046 33.412 8421
+-117.92 33.412 8494
+-117.794 33.412 8567
+-117.668 33.412 8733
+-117.542 33.412 8852
+-117.416 33.412 8998
+-117.29 33.412 9055
+-117.164 33.412 9078
+-117.038 33.412 9106
+-116.912 33.412 9107
+-116.786 33.412 9076
+-116.66 33.412 8951
+-116.534 33.412 8897
+-116.408 33.412 8831
+-116.282 33.412 8721
+-116.156 33.412 8575
+-116.03 33.412 8479
+-115.904 33.412 8376
+-115.778 33.412 8182
+-115.652 33.412 8085
+-115.526 33.412 7963
+-115.4 33.412 7853
+-115.274 33.412 7702
+-115.148 33.412 7556
+-115.022 33.412 7431
+-114.896 33.412 7323
+-114.77 33.412 7159
+-114.644 33.412 7030
+-114.518 33.412 6832
+-114.392 33.412 6736
+-114.266 33.412 6543
+-114.14 33.412 6471
+-114.014 33.412 6314
+-113.888 33.412 6229
+-113.762 33.412 6062
+-113.636 33.412 5902
+-113.51 33.412 5631
+-113.384 33.412 5646
+-113.258 33.412 5745
+-113.132 33.412 5913
+-113.006 33.412 6031
+-112.88 33.412 6113
+-112.754 33.412 6220
+-112.628 33.412 6361
+-112.502 33.412 6483
+-112.376 33.412 6531
+-112.25 33.412 6675
+-112.124 33.412 6766
+-111.998 33.412 6863
+-111.872 33.412 6940
+-111.746 33.412 7011
+-111.62 33.412 7130
+-111.494 33.412 7189
+-111.368 33.412 7269
+-111.242 33.412 7327
+-111.116 33.412 7350
+-110.99 33.412 7416
+-110.864 33.412 7434
+-110.738 33.412 7470
+-110.612 33.412 7513
+-110.486 33.412 7540
+-110.36 33.412 7517
+-110.234 33.412 7513
+-110.108 33.412 7498
+-109.982 33.412 7477
+-109.856 33.412 7423
+-109.73 33.412 7401
+-109.604 33.412 7363
+-109.478 33.412 7274
+-109.352 33.412 7218
+-109.226 33.412 7145
+-109.1 33.412 7103
+-108.974 33.412 7001
+-108.848 33.412 6948
+-108.722 33.412 6851
+-108.596 33.412 6778
+-108.47 33.412 6673
+-108.344 33.412 6549
+-108.218 33.412 6407
+-108.092 33.412 6267
+-107.966 33.412 6232
+-107.84 33.412 6136
+-107.714 33.412 6007
+-107.588 33.412 5854
+-107.462 33.412 5771
+-107.336 33.412 5630
+-107.21 33.412 5565
+-107.084 33.412 5365
+-106.958 33.412 5398
+-106.832 33.412 5280
+-106.706 33.412 5088
+-106.58 33.412 4941
+-106.454 33.412 4774
+-106.328 33.412 4672
+-106.202 33.412 4606
+-106.076 33.412 4542
+-105.95 33.412 4458
+-105.824 33.412 4256
+-105.698 33.412 4100
+-105.572 33.412 3909
+-105.446 33.412 3807
+-105.32 33.412 3672
+-105.194 33.412 3519
+-105.068 33.412 3432
+-104.942 33.412 3275
+-104.816 33.412 3188
+-104.69 33.412 3222
+-104.564 33.412 3293
+-104.438 33.412 3352
+-104.312 33.412 3388
+-104.186 33.412 3416
+-104.06 33.412 3452
+-103.934 33.412 3484
+-103.808 33.412 3509
+-103.682 33.412 3526
+-103.556 33.412 3548
+-103.43 33.412 3568
+-103.304 33.412 3586
+-103.178 33.412 3580
+-103.052 33.412 3595
+-102.926 33.412 3609
+-102.8 33.412 3622
+-102.674 33.412 3633
+-102.548 33.412 3634
+-102.422 33.412 3644
+-102.296 33.412 3601
+-102.17 33.412 3610
+-102.044 33.412 3618
+-101.918 33.412 3625
+-101.792 33.412 3632
+-101.666 33.412 3639
+-101.54 33.412 3645
+-101.414 33.412 3651
+-101.288 33.412 3656
+-101.162 33.412 3661
+-101.036 33.412 3666
+-100.91 33.412 3670
+-100.784 33.412 3674
+-100.658 33.412 3678
+-100.532 33.412 3594
+-100.406 33.412 3597
+-100.28 33.412 3483
+-100.154 33.412 3321
+-100.028 33.412 3245
+-99.902 33.412 3147
+-99.776 33.412 3106
+-99.65 33.412 3107
+-99.524 33.412 3093
+-99.398 33.412 3093
+-99.272 33.412 2834
+-99.146 33.412 2940
+-99.02 33.412 2986
+-98.894 33.412 3015
+-98.768 33.412 3028
+-98.642 33.412 3051
+-98.516 33.412 3048
+-98.39 33.412 3044
+-98.264 33.412 3066
+-98.138 33.412 3059
+-98.012 33.412 3240
+-97.886 33.412 3195
+-97.76 33.412 3216
+-97.634 33.412 3220
+-97.508 33.412 3212
+-97.382 33.412 3167
+-97.256 33.412 3160
+-97.13 33.412 3153
+-97.004 33.412 3073
+-96.878 33.412 3068
+-96.752 33.412 3063
+-96.626 33.412 3057
+-96.5 33.412 3051
+-96.374 33.412 3060
+-96.248 33.412 3054
+-96.122 33.412 3020
+-95.996 33.412 3015
+-95.87 33.412 3011
+-95.744 33.412 3020
+-95.618 33.412 3015
+-95.492 33.412 3010
+-95.366 33.412 3005
+-95.24 33.412 2993
+-95.114 33.412 2988
+-94.988 33.412 2996
+-94.862 33.412 2990
+-94.736 33.412 2981
+-94.61 33.412 2971
+-94.484 33.412 2994
+-94.358 33.412 2962
+-94.232 33.412 2915
+-94.106 33.412 2843
+-93.98 33.412 2747
+-93.854 33.412 2698
+-93.728 33.412 2781
+-93.602 33.412 2939
+-93.476 33.412 3077
+-93.35 33.412 3149
+-93.224 33.412 3174
+-93.098 33.412 3172
+-92.972 33.412 3201
+-92.846 33.412 3269
+-92.72 33.412 3381
+-92.594 33.412 3525
+-92.468 33.412 3640
+-92.342 33.412 3711
+-92.216 33.412 3831
+-92.09 33.412 3972
+-91.964 33.412 4084
+-91.838 33.412 4192
+-91.712 33.412 4256
+-91.586 33.412 4228
+-91.46 33.412 4167
+-91.334 33.412 4280
+-91.208 33.412 4393
+-91.082 33.412 4450
+-90.956 33.412 4499
+-90.83 33.412 4546
+-90.704 33.412 4536
+-90.578 33.412 4600
+-90.452 33.412 4676
+-90.326 33.412 4697
+-90.2 33.412 4745
+-90.074 33.412 4794
+-89.948 33.412 4798
+-89.822 33.412 4839
+-89.696 33.412 4883
+-89.57 33.412 4935
+-89.444 33.412 4942
+-89.318 33.412 4949
+-89.192 33.412 4990
+-89.066 33.412 5033
+-88.94 33.412 5053
+-88.814 33.412 5026
+-88.688 33.412 4990
+-88.562 33.412 4997
+-88.436 33.412 4990
+-88.31 33.412 4964
+-88.184 33.412 4966
+-88.058 33.412 4943
+-87.932 33.412 4902
+-87.806 33.412 4867
+-87.68 33.412 4856
+-87.554 33.412 4829
+-87.428 33.412 4799
+-87.302 33.412 4752
+-87.176 33.412 4656
+-87.05 33.412 4617
+-86.924 33.412 4560
+-86.798 33.412 4493
+-86.672 33.412 4411
+-86.546 33.412 4333
+-86.42 33.412 4355
+-86.294 33.412 4342
+-86.168 33.412 4326
+-86.042 33.412 4317
+-85.916 33.412 4284
+-85.79 33.412 4215
+-85.664 33.412 4146
+-85.538 33.412 4076
+-85.412 33.412 3967
+-85.286 33.412 3817
+-85.16 33.412 3689
+-85.034 33.412 3595
+-84.908 33.412 3502
+-84.782 33.412 3417
+-84.656 33.412 3366
+-84.53 33.412 3332
+-84.404 33.412 3315
+-84.278 33.412 3291
+-84.152 33.412 3273
+-84.026 33.412 3307
+-83.9 33.412 3337
+-83.774 33.412 3326
+-83.648 33.412 3355
+-83.522 33.412 3409
+-83.396 33.412 3455
+-83.27 33.412 3488
+-83.144 33.412 3522
+-83.018 33.412 3567
+-82.892 33.412 3589
+-82.766 33.412 3607
+-82.64 33.412 3608
+-82.514 33.412 3593
+-82.388 33.412 3598
+-82.262 33.412 3579
+-82.136 33.412 3554
+-82.01 33.412 3549
+-81.884 33.412 3541
+-81.758 33.412 3562
+-81.632 33.412 3578
+-81.506 33.412 3533
+-81.38 33.412 3488
+-81.254 33.412 3522
+-81.128 33.412 3547
+-81.002 33.412 3497
+-80.876 33.412 3456
+-80.75 33.412 3493
+-80.624 33.412 3563
+-80.498 33.412 3586
+-80.372 33.412 3597
+-80.246 33.412 3572
+-80.12 33.412 3533
+-79.994 33.412 3502
+-79.868 33.412 3445
+-79.742 33.412 3413
+-79.616 33.412 3348
+-79.49 33.412 3278
+-79.364 33.412 3184
+-79.238 33.412 3076
+-79.112 33.412 2958
+-78.986 33.412 2828
+-78.86 33.412 2692
+-78.734 33.412 2549
+-78.608 33.412 2425
+-78.482 33.412 2371
+-78.356 33.412 2406
+-78.23 33.412 2500
+-78.104 33.412 2612
+-77.978 33.412 2712
+-77.852 33.412 2799
+-77.726 33.412 2873
+-77.6 33.412 2929
+-77.474 33.412 2986
+-77.348 33.412 3049
+-77.222 33.412 3090
+-77.096 33.412 3125
+-76.97 33.412 3155
+-76.844 33.412 3199
+-76.718 33.412 3225
+-76.592 33.412 3213
+-76.466 33.412 3238
+-76.34 33.412 3253
+-76.214 33.412 3214
+-76.088 33.412 3165
+-75.962 33.412 3184
+-75.836 33.412 3194
+-75.71 33.412 3219
+-75.584 33.412 3211
+-75.458 33.412 3220
+-75.332 33.412 3228
+-75.206 33.412 3222
+-75.08 33.412 3228
+-74.954 33.412 3234
+-74.828 33.412 3222
+-74.702 33.412 3212
+-74.576 33.412 3236
+-74.45 33.412 3235
+-74.324 33.412 3241
+-74.198 33.412 3246
+-74.072 33.412 3181
+-73.946 33.412 3215
+-73.82 33.412 3213
+-73.694 33.412 3217
+-73.568 33.412 3220
+-73.442 33.412 3385
+-73.316 33.412 3322
+-73.19 33.412 3332
+-73.064 33.412 3336
+-72.938 33.412 3246
+-72.812 33.412 3237
+-72.686 33.412 3239
+-72.56 33.412 3241
+-72.434 33.412 3224
+-72.308 33.412 3226
+-72.182 33.412 3227
+-72.056 33.412 3229
+-71.93 33.412 3231
+-71.804 33.412 3247
+-71.678 33.412 3249
+-71.552 33.412 3236
+-71.426 33.412 3238
+-71.3 33.412 3240
+-71.174 33.412 3187
+-71.048 33.412 3352
+-70.922 33.412 3318
+-70.796 33.412 3320
+-70.67 33.412 3288
+-70.544 33.412 3290
+-70.418 33.412 3291
+-70.292 33.412 3410
+-70.166 33.412 3412
+-70.04 33.412 3413
+-69.914 33.412 3415
+-69.788 33.412 3416
+-69.662 33.412 3517
+-69.536 33.412 3520
+-69.41 33.412 3442
+-69.284 33.412 3444
+-69.158 33.412 3446
+-69.032 33.412 3448
+-68.906 33.412 3454
+-68.78 33.412 3416
+-68.654 33.412 3409
+-68.528 33.412 3361
+-68.402 33.412 3363
+-68.276 33.412 3326
+-68.15 33.412 3371
+-68.024 33.412 3372
+-67.898 33.412 3374
+-67.772 33.412 3375
+-67.646 33.412 3377
+-67.52 33.412 3378
+-67.394 33.412 3380
+-67.268 33.412 3355
+-67.142 33.412 3356
+-67.016 33.412 3358
+-66.89 33.412 3328
+-66.764 33.412 3297
+-66.638 33.412 3277
+-66.512 33.412 3278
+-66.386 33.412 3279
+-66.26 33.412 3280
+-66.134 33.412 3281
+-66.008 33.412 3282
+-65.882 33.412 3283
+-65.756 33.412 3213
+-65.63 33.412 3197
+-65.504 33.412 3198
+-65.378 33.412 3199
+-65.252 33.412 3200
+-65.126 33.412 3201
+-128 33.36 2682
+-127.874 33.36 2675
+-127.748 33.36 2667
+-127.622 33.36 2659
+-127.496 33.36 2650
+-127.37 33.36 2640
+-127.244 33.36 2630
+-127.118 33.36 2690
+-126.992 33.36 2678
+-126.866 33.36 2664
+-126.74 33.36 2650
+-126.614 33.36 2699
+-126.488 33.36 2675
+-126.362 33.36 2693
+-126.236 33.36 2702
+-126.11 33.36 2756
+-125.984 33.36 2723
+-125.858 33.36 2686
+-125.732 33.36 2645
+-125.606 33.36 2601
+-125.48 33.36 2552
+-125.354 33.36 2502
+-125.228 33.36 2452
+-125.102 33.36 2407
+-124.976 33.36 2433
+-124.85 33.36 2450
+-124.724 33.36 2468
+-124.598 33.36 2517
+-124.472 33.36 2657
+-124.346 33.36 2749
+-124.22 33.36 2858
+-124.094 33.36 2946
+-123.968 33.36 3023
+-123.842 33.36 3110
+-123.716 33.36 3166
+-123.59 33.36 3246
+-123.464 33.36 3308
+-123.338 33.36 3336
+-123.212 33.36 3332
+-123.086 33.36 3286
+-122.96 33.36 3446
+-122.834 33.36 3749
+-122.708 33.36 3918
+-122.582 33.36 3931
+-122.456 33.36 3849
+-122.33 33.36 4049
+-122.204 33.36 4291
+-122.078 33.36 4448
+-121.952 33.36 4531
+-121.826 33.36 4626
+-121.7 33.36 4709
+-121.574 33.36 4851
+-121.448 33.36 5073
+-121.322 33.36 5242
+-121.196 33.36 5316
+-121.07 33.36 5435
+-120.944 33.36 5501
+-120.818 33.36 5653
+-120.692 33.36 5732
+-120.566 33.36 5923
+-120.44 33.36 5983
+-120.314 33.36 6184
+-120.188 33.36 6293
+-120.062 33.36 6420
+-119.936 33.36 6518
+-119.81 33.36 6700
+-119.684 33.36 6861
+-119.558 33.36 6902
+-119.432 33.36 7065
+-119.306 33.36 7162
+-119.18 33.36 7316
+-119.054 33.36 7455
+-118.928 33.36 7580
+-118.802 33.36 7674
+-118.676 33.36 7862
+-118.55 33.36 7944
+-118.424 33.36 8045
+-118.298 33.36 8138
+-118.172 33.36 8288
+-118.046 33.36 8346
+-117.92 33.36 8441
+-117.794 33.36 8714
+-117.668 33.36 8853
+-117.542 33.36 8926
+-117.416 33.36 9047
+-117.29 33.36 9090
+-117.164 33.36 9156
+-117.038 33.36 9188
+-116.912 33.36 9152
+-116.786 33.36 9112
+-116.66 33.36 9075
+-116.534 33.36 8966
+-116.408 33.36 8798
+-116.282 33.36 8717
+-116.156 33.36 8645
+-116.03 33.36 8458
+-115.904 33.36 8366
+-115.778 33.36 8271
+-115.652 33.36 8109
+-115.526 33.36 7984
+-115.4 33.36 7882
+-115.274 33.36 7699
+-115.148 33.36 7594
+-115.022 33.36 7432
+-114.896 33.36 7313
+-114.77 33.36 7139
+-114.644 33.36 7057
+-114.518 33.36 6842
+-114.392 33.36 6792
+-114.266 33.36 6577
+-114.14 33.36 6535
+-114.014 33.36 6305
+-113.888 33.36 6205
+-113.762 33.36 6139
+-113.636 33.36 5963
+-113.51 33.36 5793
+-113.384 33.36 5778
+-113.258 33.36 5784
+-113.132 33.36 5901
+-113.006 33.36 6032
+-112.88 33.36 6155
+-112.754 33.36 6245
+-112.628 33.36 6398
+-112.502 33.36 6505
+-112.376 33.36 6591
+-112.25 33.36 6712
+-112.124 33.36 6765
+-111.998 33.36 6939
+-111.872 33.36 6983
+-111.746 33.36 7061
+-111.62 33.36 7185
+-111.494 33.36 7255
+-111.368 33.36 7298
+-111.242 33.36 7354
+-111.116 33.36 7396
+-110.99 33.36 7443
+-110.864 33.36 7484
+-110.738 33.36 7533
+-110.612 33.36 7565
+-110.486 33.36 7592
+-110.36 33.36 7579
+-110.234 33.36 7580
+-110.108 33.36 7571
+-109.982 33.36 7504
+-109.856 33.36 7510
+-109.73 33.36 7472
+-109.604 33.36 7416
+-109.478 33.36 7372
+-109.352 33.36 7259
+-109.226 33.36 7200
+-109.1 33.36 7106
+-108.974 33.36 7028
+-108.848 33.36 6921
+-108.722 33.36 6823
+-108.596 33.36 6811
+-108.47 33.36 6683
+-108.344 33.36 6518
+-108.218 33.36 6453
+-108.092 33.36 6300
+-107.966 33.36 6222
+-107.84 33.36 6104
+-107.714 33.36 6061
+-107.588 33.36 5938
+-107.462 33.36 5813
+-107.336 33.36 5733
+-107.21 33.36 5633
+-107.084 33.36 5507
+-106.958 33.36 5425
+-106.832 33.36 5281
+-106.706 33.36 5101
+-106.58 33.36 4935
+-106.454 33.36 4764
+-106.328 33.36 4673
+-106.202 33.36 4623
+-106.076 33.36 4544
+-105.95 33.36 4457
+-105.824 33.36 4282
+-105.698 33.36 4116
+-105.572 33.36 3896
+-105.446 33.36 3811
+-105.32 33.36 3765
+-105.194 33.36 3602
+-105.068 33.36 3430
+-104.942 33.36 3244
+-104.816 33.36 3104
+-104.69 33.36 3205
+-104.564 33.36 3280
+-104.438 33.36 3329
+-104.312 33.36 3365
+-104.186 33.36 3405
+-104.06 33.36 3442
+-103.934 33.36 3471
+-103.808 33.36 3493
+-103.682 33.36 3519
+-103.556 33.36 3543
+-103.43 33.36 3564
+-103.304 33.36 3562
+-103.178 33.36 3579
+-103.052 33.36 3595
+-102.926 33.36 3609
+-102.8 33.36 3622
+-102.674 33.36 3634
+-102.548 33.36 3635
+-102.422 33.36 3594
+-102.296 33.36 3604
+-102.17 33.36 3613
+-102.044 33.36 3621
+-101.918 33.36 3628
+-101.792 33.36 3635
+-101.666 33.36 3642
+-101.54 33.36 3648
+-101.414 33.36 3653
+-101.288 33.36 3659
+-101.162 33.36 3663
+-101.036 33.36 3668
+-100.91 33.36 3672
+-100.784 33.36 3676
+-100.658 33.36 3593
+-100.532 33.36 3596
+-100.406 33.36 3599
+-100.28 33.36 3483
+-100.154 33.36 3329
+-100.028 33.36 3255
+-99.902 33.36 3140
+-99.776 33.36 3114
+-99.65 33.36 3056
+-99.524 33.36 3039
+-99.398 33.36 3026
+-99.272 33.36 2865
+-99.146 33.36 2926
+-99.02 33.36 3003
+-98.894 33.36 3018
+-98.768 33.36 3041
+-98.642 33.36 3038
+-98.516 33.36 3034
+-98.39 33.36 3056
+-98.264 33.36 3049
+-98.138 33.36 3073
+-98.012 33.36 3035
+-97.886 33.36 3060
+-97.76 33.36 3220
+-97.634 33.36 3212
+-97.508 33.36 3167
+-97.382 33.36 3160
+-97.256 33.36 3153
+-97.13 33.36 3072
+-97.004 33.36 3067
+-96.878 33.36 3062
+-96.752 33.36 3056
+-96.626 33.36 3051
+-96.5 33.36 3060
+-96.374 33.36 3054
+-96.248 33.36 3019
+-96.122 33.36 3014
+-95.996 33.36 3010
+-95.87 33.36 3019
+-95.744 33.36 3014
+-95.618 33.36 3009
+-95.492 33.36 3003
+-95.366 33.36 2991
+-95.24 33.36 2986
+-95.114 33.36 2994
+-94.988 33.36 2987
+-94.862 33.36 2979
+-94.736 33.36 2971
+-94.61 33.36 2959
+-94.484 33.36 2946
+-94.358 33.36 2923
+-94.232 33.36 2896
+-94.106 33.36 2884
+-93.98 33.36 2838
+-93.854 33.36 2829
+-93.728 33.36 2884
+-93.602 33.36 2972
+-93.476 33.36 3072
+-93.35 33.36 3116
+-93.224 33.36 3109
+-93.098 33.36 3060
+-92.972 33.36 3011
+-92.846 33.36 3111
+-92.72 33.36 3292
+-92.594 33.36 3454
+-92.468 33.36 3621
+-92.342 33.36 3751
+-92.216 33.36 3868
+-92.09 33.36 3957
+-91.964 33.36 4087
+-91.838 33.36 4189
+-91.712 33.36 4259
+-91.586 33.36 4243
+-91.46 33.36 4227
+-91.334 33.36 4287
+-91.208 33.36 4350
+-91.082 33.36 4398
+-90.956 33.36 4412
+-90.83 33.36 4480
+-90.704 33.36 4538
+-90.578 33.36 4572
+-90.452 33.36 4617
+-90.326 33.36 4662
+-90.2 33.36 4689
+-90.074 33.36 4724
+-89.948 33.36 4747
+-89.822 33.36 4779
+-89.696 33.36 4803
+-89.57 33.36 4851
+-89.444 33.36 4895
+-89.318 33.36 4904
+-89.192 33.36 4935
+-89.066 33.36 4964
+-88.94 33.36 4979
+-88.814 33.36 4971
+-88.688 33.36 4958
+-88.562 33.36 4934
+-88.436 33.36 4930
+-88.31 33.36 4917
+-88.184 33.36 4915
+-88.058 33.36 4882
+-87.932 33.36 4838
+-87.806 33.36 4798
+-87.68 33.36 4808
+-87.554 33.36 4787
+-87.428 33.36 4752
+-87.302 33.36 4673
+-87.176 33.36 4619
+-87.05 33.36 4576
+-86.924 33.36 4544
+-86.798 33.36 4478
+-86.672 33.36 4375
+-86.546 33.36 4317
+-86.42 33.36 4291
+-86.294 33.36 4275
+-86.168 33.36 4253
+-86.042 33.36 4251
+-85.916 33.36 4214
+-85.79 33.36 4174
+-85.664 33.36 4104
+-85.538 33.36 4039
+-85.412 33.36 3919
+-85.286 33.36 3760
+-85.16 33.36 3632
+-85.034 33.36 3537
+-84.908 33.36 3442
+-84.782 33.36 3386
+-84.656 33.36 3348
+-84.53 33.36 3328
+-84.404 33.36 3313
+-84.278 33.36 3272
+-84.152 33.36 3219
+-84.026 33.36 3295
+-83.9 33.36 3354
+-83.774 33.36 3358
+-83.648 33.36 3393
+-83.522 33.36 3450
+-83.396 33.36 3498
+-83.27 33.36 3532
+-83.144 33.36 3584
+-83.018 33.36 3611
+-82.892 33.36 3624
+-82.766 33.36 3626
+-82.64 33.36 3627
+-82.514 33.36 3636
+-82.388 33.36 3633
+-82.262 33.36 3634
+-82.136 33.36 3622
+-82.01 33.36 3600
+-81.884 33.36 3581
+-81.758 33.36 3605
+-81.632 33.36 3631
+-81.506 33.36 3618
+-81.38 33.36 3598
+-81.254 33.36 3599
+-81.128 33.36 3570
+-81.002 33.36 3471
+-80.876 33.36 3399
+-80.75 33.36 3461
+-80.624 33.36 3558
+-80.498 33.36 3629
+-80.372 33.36 3611
+-80.246 33.36 3621
+-80.12 33.36 3554
+-79.994 33.36 3509
+-79.868 33.36 3494
+-79.742 33.36 3447
+-79.616 33.36 3398
+-79.49 33.36 3327
+-79.364 33.36 3241
+-79.238 33.36 3143
+-79.112 33.36 3024
+-78.986 33.36 2888
+-78.86 33.36 2726
+-78.734 33.36 2544
+-78.608 33.36 2381
+-78.482 33.36 2316
+-78.356 33.36 2373
+-78.23 33.36 2487
+-78.104 33.36 2619
+-77.978 33.36 2732
+-77.852 33.36 2824
+-77.726 33.36 2895
+-77.6 33.36 2961
+-77.474 33.36 3029
+-77.348 33.36 3075
+-77.222 33.36 3114
+-77.096 33.36 3147
+-76.97 33.36 3193
+-76.844 33.36 3220
+-76.718 33.36 3211
+-76.592 33.36 3236
+-76.466 33.36 3253
+-76.34 33.36 3213
+-76.214 33.36 3168
+-76.088 33.36 3187
+-75.962 33.36 3196
+-75.836 33.36 3221
+-75.71 33.36 3214
+-75.584 33.36 3223
+-75.458 33.36 3231
+-75.332 33.36 3224
+-75.206 33.36 3231
+-75.08 33.36 3237
+-74.954 33.36 3225
+-74.828 33.36 3215
+-74.702 33.36 3239
+-74.576 33.36 3238
+-74.45 33.36 3243
+-74.324 33.36 3249
+-74.198 33.36 3184
+-74.072 33.36 3217
+-73.946 33.36 3215
+-73.82 33.36 3219
+-73.694 33.36 3223
+-73.568 33.36 3383
+-73.442 33.36 3324
+-73.316 33.36 3331
+-73.19 33.36 3335
+-73.064 33.36 3245
+-72.938 33.36 3236
+-72.812 33.36 3238
+-72.686 33.36 3240
+-72.56 33.36 3223
+-72.434 33.36 3225
+-72.308 33.36 3227
+-72.182 33.36 3229
+-72.056 33.36 3230
+-71.93 33.36 3246
+-71.804 33.36 3248
+-71.678 33.36 3235
+-71.552 33.36 3237
+-71.426 33.36 3239
+-71.3 33.36 3187
+-71.174 33.36 3350
+-71.048 33.36 3317
+-70.922 33.36 3318
+-70.796 33.36 3287
+-70.67 33.36 3288
+-70.544 33.36 3290
+-70.418 33.36 3408
+-70.292 33.36 3409
+-70.166 33.36 3411
+-70.04 33.36 3413
+-69.914 33.36 3414
+-69.788 33.36 3515
+-69.662 33.36 3517
+-69.536 33.36 3440
+-69.41 33.36 3442
+-69.284 33.36 3444
+-69.158 33.36 3446
+-69.032 33.36 3451
+-68.906 33.36 3414
+-68.78 33.36 3407
+-68.654 33.36 3360
+-68.528 33.36 3361
+-68.402 33.36 3324
+-68.276 33.36 3369
+-68.15 33.36 3371
+-68.024 33.36 3372
+-67.898 33.36 3374
+-67.772 33.36 3375
+-67.646 33.36 3377
+-67.52 33.36 3379
+-67.394 33.36 3354
+-67.268 33.36 3355
+-67.142 33.36 3356
+-67.016 33.36 3327
+-66.89 33.36 3296
+-66.764 33.36 3276
+-66.638 33.36 3277
+-66.512 33.36 3278
+-66.386 33.36 3279
+-66.26 33.36 3280
+-66.134 33.36 3281
+-66.008 33.36 3282
+-65.882 33.36 3212
+-65.756 33.36 3196
+-65.63 33.36 3197
+-65.504 33.36 3199
+-65.378 33.36 3200
+-65.252 33.36 3201
+-65.126 33.36 3202
+-128 33.308 2658
+-127.874 33.308 2651
+-127.748 33.308 2643
+-127.622 33.308 2635
+-127.496 33.308 2626
+-127.37 33.308 2616
+-127.244 33.308 2605
+-127.118 33.308 2594
+-126.992 33.308 2670
+-126.866 33.308 2656
+-126.74 33.308 2679
+-126.614 33.308 2660
+-126.488 33.308 2680
+-126.362 33.308 2713
+-126.236 33.308 2681
+-126.11 33.308 2732
+-125.984 33.308 2694
+-125.858 33.308 2652
+-125.732 33.308 2604
+-125.606 33.308 2549
+-125.48 33.308 2489
+-125.354 33.308 2422
+-125.228 33.308 2352
+-125.102 33.308 2283
+-124.976 33.308 2225
+-124.85 33.308 2239
+-124.724 33.308 2274
+-124.598 33.308 2333
+-124.472 33.308 2430
+-124.346 33.308 2621
+-124.22 33.308 2744
+-124.094 33.308 2861
+-123.968 33.308 2969
+-123.842 33.308 3066
+-123.716 33.308 3175
+-123.59 33.308 3251
+-123.464 33.308 3329
+-123.338 33.308 3397
+-123.212 33.308 3466
+-123.086 33.308 3512
+-122.96 33.308 3648
+-122.834 33.308 3863
+-122.708 33.308 3983
+-122.582 33.308 4005
+-122.456 33.308 4007
+-122.33 33.308 4145
+-122.204 33.308 4295
+-122.078 33.308 4408
+-121.952 33.308 4472
+-121.826 33.308 4570
+-121.7 33.308 4631
+-121.574 33.308 4777
+-121.448 33.308 5030
+-121.322 33.308 5218
+-121.196 33.308 5341
+-121.07 33.308 5316
+-120.944 33.308 5525
+-120.818 33.308 5573
+-120.692 33.308 5802
+-120.566 33.308 5905
+-120.44 33.308 6027
+-120.314 33.308 6132
+-120.188 33.308 6271
+-120.062 33.308 6331
+-119.936 33.308 6506
+-119.81 33.308 6672
+-119.684 33.308 6859
+-119.558 33.308 6943
+-119.432 33.308 7028
+-119.306 33.308 7145
+-119.18 33.308 7263
+-119.054 33.308 7449
+-118.928 33.308 7533
+-118.802 33.308 7676
+-118.676 33.308 7812
+-118.55 33.308 7878
+-118.424 33.308 8022
+-118.298 33.308 8157
+-118.172 33.308 8207
+-118.046 33.308 8423
+-117.92 33.308 8606
+-117.794 33.308 8754
+-117.668 33.308 8897
+-117.542 33.308 8957
+-117.416 33.308 9032
+-117.29 33.308 9161
+-117.164 33.308 9201
+-117.038 33.308 9220
+-116.912 33.308 9193
+-116.786 33.308 9160
+-116.66 33.308 9117
+-116.534 33.308 8983
+-116.408 33.308 8906
+-116.282 33.308 8775
+-116.156 33.308 8671
+-116.03 33.308 8501
+-115.904 33.308 8377
+-115.778 33.308 8294
+-115.652 33.308 8115
+-115.526 33.308 7998
+-115.4 33.308 7864
+-115.274 33.308 7700
+-115.148 33.308 7556
+-115.022 33.308 7457
+-114.896 33.308 7349
+-114.77 33.308 7143
+-114.644 33.308 7054
+-114.518 33.308 6858
+-114.392 33.308 6751
+-114.266 33.308 6608
+-114.14 33.308 6485
+-114.014 33.308 6294
+-113.888 33.308 6268
+-113.762 33.308 6110
+-113.636 33.308 6048
+-113.51 33.308 5886
+-113.384 33.308 5855
+-113.258 33.308 5902
+-113.132 33.308 5993
+-113.006 33.308 6085
+-112.88 33.308 6222
+-112.754 33.308 6289
+-112.628 33.308 6430
+-112.502 33.308 6546
+-112.376 33.308 6666
+-112.25 33.308 6808
+-112.124 33.308 6838
+-111.998 33.308 6908
+-111.872 33.308 7008
+-111.746 33.308 7101
+-111.62 33.308 7212
+-111.494 33.308 7288
+-111.368 33.308 7368
+-111.242 33.308 7411
+-111.116 33.308 7461
+-110.99 33.308 7539
+-110.864 33.308 7574
+-110.738 33.308 7578
+-110.612 33.308 7604
+-110.486 33.308 7635
+-110.36 33.308 7630
+-110.234 33.308 7611
+-110.108 33.308 7596
+-109.982 33.308 7572
+-109.856 33.308 7551
+-109.73 33.308 7503
+-109.604 33.308 7441
+-109.478 33.308 7377
+-109.352 33.308 7322
+-109.226 33.308 7194
+-109.1 33.308 7149
+-108.974 33.308 7045
+-108.848 33.308 6993
+-108.722 33.308 6878
+-108.596 33.308 6818
+-108.47 33.308 6685
+-108.344 33.308 6588
+-108.218 33.308 6459
+-108.092 33.308 6365
+-107.966 33.308 6255
+-107.84 33.308 6148
+-107.714 33.308 6048
+-107.588 33.308 5985
+-107.462 33.308 5870
+-107.336 33.308 5784
+-107.21 33.308 5729
+-107.084 33.308 5644
+-106.958 33.308 5472
+-106.832 33.308 5294
+-106.706 33.308 5117
+-106.58 33.308 4960
+-106.454 33.308 4803
+-106.328 33.308 4684
+-106.202 33.308 4607
+-106.076 33.308 4531
+-105.95 33.308 4400
+-105.824 33.308 4335
+-105.698 33.308 4141
+-105.572 33.308 3959
+-105.446 33.308 3851
+-105.32 33.308 3778
+-105.194 33.308 3639
+-105.068 33.308 3455
+-104.942 33.308 3273
+-104.816 33.308 3198
+-104.69 33.308 3231
+-104.564 33.308 3283
+-104.438 33.308 3331
+-104.312 33.308 3357
+-104.186 33.308 3396
+-104.06 33.308 3437
+-103.934 33.308 3461
+-103.808 33.308 3493
+-103.682 33.308 3521
+-103.556 33.308 3546
+-103.43 33.308 3542
+-103.304 33.308 3562
+-103.178 33.308 3580
+-103.052 33.308 3596
+-102.926 33.308 3611
+-102.8 33.308 3615
+-102.674 33.308 3626
+-102.548 33.308 3588
+-102.422 33.308 3598
+-102.296 33.308 3607
+-102.17 33.308 3616
+-102.044 33.308 3624
+-101.918 33.308 3632
+-101.792 33.308 3638
+-101.666 33.308 3645
+-101.54 33.308 3651
+-101.414 33.308 3656
+-101.288 33.308 3661
+-101.162 33.308 3666
+-101.036 33.308 3671
+-100.91 33.308 3675
+-100.784 33.308 3592
+-100.658 33.308 3595
+-100.532 33.308 3598
+-100.406 33.308 3601
+-100.28 33.308 3550
+-100.154 33.308 3296
+-100.028 33.308 3219
+-99.902 33.308 3138
+-99.776 33.308 3075
+-99.65 33.308 3052
+-99.524 33.308 3032
+-99.398 33.308 2980
+-99.272 33.308 2856
+-99.146 33.308 2877
+-99.02 33.308 2901
+-98.894 33.308 2968
+-98.768 33.308 3028
+-98.642 33.308 3024
+-98.516 33.308 3046
+-98.39 33.308 3038
+-98.264 33.308 3063
+-98.138 33.308 3025
+-98.012 33.308 3049
+-97.886 33.308 3057
+-97.76 33.308 3053
+-97.634 33.308 3016
+-97.508 33.308 3160
+-97.382 33.308 3153
+-97.256 33.308 3071
+-97.13 33.308 3066
+-97.004 33.308 3061
+-96.878 33.308 3056
+-96.752 33.308 3050
+-96.626 33.308 3060
+-96.5 33.308 3054
+-96.374 33.308 3018
+-96.248 33.308 3013
+-96.122 33.308 3009
+-95.996 33.308 3018
+-95.87 33.308 3013
+-95.744 33.308 3007
+-95.618 33.308 3001
+-95.492 33.308 2988
+-95.366 33.308 2983
+-95.24 33.308 2991
+-95.114 33.308 2983
+-94.988 33.308 2975
+-94.862 33.308 2968
+-94.736 33.308 2958
+-94.61 33.308 2949
+-94.484 33.308 2933
+-94.358 33.308 2920
+-94.232 33.308 2899
+-94.106 33.308 2881
+-93.98 33.308 2867
+-93.854 33.308 2875
+-93.728 33.308 2906
+-93.602 33.308 3011
+-93.476 33.308 3063
+-93.35 33.308 3088
+-93.224 33.308 3066
+-93.098 33.308 2975
+-92.972 33.308 2899
+-92.846 33.308 3011
+-92.72 33.308 3217
+-92.594 33.308 3432
+-92.468 33.308 3580
+-92.342 33.308 3777
+-92.216 33.308 3875
+-92.09 33.308 3955
+-91.964 33.308 4083
+-91.838 33.308 4185
+-91.712 33.308 4262
+-91.586 33.308 4242
+-91.46 33.308 4222
+-91.334 33.308 4217
+-91.208 33.308 4278
+-91.082 33.308 4351
+-90.956 33.308 4338
+-90.83 33.308 4400
+-90.704 33.308 4484
+-90.578 33.308 4536
+-90.452 33.308 4579
+-90.326 33.308 4628
+-90.2 33.308 4670
+-90.074 33.308 4692
+-89.948 33.308 4718
+-89.822 33.308 4771
+-89.696 33.308 4764
+-89.57 33.308 4795
+-89.444 33.308 4845
+-89.318 33.308 4875
+-89.192 33.308 4879
+-89.066 33.308 4888
+-88.94 33.308 4892
+-88.814 33.308 4901
+-88.688 33.308 4894
+-88.562 33.308 4901
+-88.436 33.308 4900
+-88.31 33.308 4892
+-88.184 33.308 4872
+-88.058 33.308 4825
+-87.932 33.308 4799
+-87.806 33.308 4776
+-87.68 33.308 4759
+-87.554 33.308 4723
+-87.428 33.308 4682
+-87.302 33.308 4610
+-87.176 33.308 4579
+-87.05 33.308 4537
+-86.924 33.308 4501
+-86.798 33.308 4426
+-86.672 33.308 4318
+-86.546 33.308 4244
+-86.42 33.308 4220
+-86.294 33.308 4201
+-86.168 33.308 4113
+-86.042 33.308 4146
+-85.916 33.308 4130
+-85.79 33.308 4124
+-85.664 33.308 4053
+-85.538 33.308 3987
+-85.412 33.308 3817
+-85.286 33.308 3674
+-85.16 33.308 3566
+-85.034 33.308 3447
+-84.908 33.308 3351
+-84.782 33.308 3299
+-84.656 33.308 3308
+-84.53 33.308 3319
+-84.404 33.308 3330
+-84.278 33.308 3315
+-84.152 33.308 3311
+-84.026 33.308 3369
+-83.9 33.308 3396
+-83.774 33.308 3413
+-83.648 33.308 3455
+-83.522 33.308 3514
+-83.396 33.308 3554
+-83.27 33.308 3596
+-83.144 33.308 3630
+-83.018 33.308 3643
+-82.892 33.308 3636
+-82.766 33.308 3627
+-82.64 33.308 3637
+-82.514 33.308 3676
+-82.388 33.308 3697
+-82.262 33.308 3698
+-82.136 33.308 3695
+-82.01 33.308 3681
+-81.884 33.308 3676
+-81.758 33.308 3693
+-81.632 33.308 3703
+-81.506 33.308 3699
+-81.38 33.308 3693
+-81.254 33.308 3673
+-81.128 33.308 3628
+-81.002 33.308 3539
+-80.876 33.308 3477
+-80.75 33.308 3521
+-80.624 33.308 3598
+-80.498 33.308 3655
+-80.372 33.308 3634
+-80.246 33.308 3640
+-80.12 33.308 3584
+-79.994 33.308 3556
+-79.868 33.308 3522
+-79.742 33.308 3490
+-79.616 33.308 3437
+-79.49 33.308 3373
+-79.364 33.308 3299
+-79.238 33.308 3207
+-79.112 33.308 3097
+-78.986 33.308 2963
+-78.86 33.308 2799
+-78.734 33.308 2610
+-78.608 33.308 2451
+-78.482 33.308 2383
+-78.356 33.308 2434
+-78.23 33.308 2559
+-78.104 33.308 2689
+-77.978 33.308 2806
+-77.852 33.308 2902
+-77.726 33.308 2985
+-77.6 33.308 3066
+-77.474 33.308 3062
+-77.348 33.308 3106
+-77.222 33.308 3141
+-77.096 33.308 3188
+-76.97 33.308 3217
+-76.844 33.308 3210
+-76.718 33.308 3236
+-76.592 33.308 3253
+-76.466 33.308 3215
+-76.34 33.308 3171
+-76.214 33.308 3190
+-76.088 33.308 3200
+-75.962 33.308 3224
+-75.836 33.308 3217
+-75.71 33.308 3226
+-75.584 33.308 3234
+-75.458 33.308 3228
+-75.332 33.308 3234
+-75.206 33.308 3240
+-75.08 33.308 3228
+-74.954 33.308 3218
+-74.828 33.308 3242
+-74.702 33.308 3241
+-74.576 33.308 3246
+-74.45 33.308 3252
+-74.324 33.308 3187
+-74.198 33.308 3220
+-74.072 33.308 3218
+-73.946 33.308 3222
+-73.82 33.308 3225
+-73.694 33.308 3382
+-73.568 33.308 3320
+-73.442 33.308 3330
+-73.316 33.308 3334
+-73.19 33.308 3244
+-73.064 33.308 3235
+-72.938 33.308 3238
+-72.812 33.308 3240
+-72.686 33.308 3223
+-72.56 33.308 3225
+-72.434 33.308 3226
+-72.308 33.308 3228
+-72.182 33.308 3230
+-72.056 33.308 3245
+-71.93 33.308 3247
+-71.804 33.308 3234
+-71.678 33.308 3236
+-71.552 33.308 3239
+-71.426 33.308 3186
+-71.3 33.308 3348
+-71.174 33.308 3315
+-71.048 33.308 3317
+-70.922 33.308 3285
+-70.796 33.308 3287
+-70.67 33.308 3289
+-70.544 33.308 3405
+-70.418 33.308 3407
+-70.292 33.308 3409
+-70.166 33.308 3410
+-70.04 33.308 3412
+-69.914 33.308 3512
+-69.788 33.308 3514
+-69.662 33.308 3438
+-69.536 33.308 3440
+-69.41 33.308 3442
+-69.284 33.308 3444
+-69.158 33.308 3449
+-69.032 33.308 3413
+-68.906 33.308 3405
+-68.78 33.308 3358
+-68.654 33.308 3360
+-68.528 33.308 3323
+-68.402 33.308 3367
+-68.276 33.308 3369
+-68.15 33.308 3371
+-68.024 33.308 3372
+-67.898 33.308 3374
+-67.772 33.308 3376
+-67.646 33.308 3377
+-67.52 33.308 3352
+-67.394 33.308 3354
+-67.268 33.308 3355
+-67.142 33.308 3326
+-67.016 33.308 3295
+-66.89 33.308 3275
+-66.764 33.308 3276
+-66.638 33.308 3277
+-66.512 33.308 3278
+-66.386 33.308 3280
+-66.26 33.308 3281
+-66.134 33.308 3282
+-66.008 33.308 3211
+-65.882 33.308 3195
+-65.756 33.308 3197
+-65.63 33.308 3198
+-65.504 33.308 3199
+-65.378 33.308 3200
+-65.252 33.308 3201
+-65.126 33.308 3202
+-128 33.256 2655
+-127.874 33.256 2648
+-127.748 33.256 2640
+-127.622 33.256 2631
+-127.496 33.256 2622
+-127.37 33.256 2612
+-127.244 33.256 2600
+-127.118 33.256 2588
+-126.992 33.256 2621
+-126.866 33.256 2668
+-126.74 33.256 2670
+-126.614 33.256 2685
+-126.488 33.256 2706
+-126.362 33.256 2679
+-126.236 33.256 2667
+-126.11 33.256 2631
+-125.984 33.256 2669
+-125.858 33.256 2622
+-125.732 33.256 2567
+-125.606 33.256 2503
+-125.48 33.256 2430
+-125.354 33.256 2346
+-125.228 33.256 2252
+-125.102 33.256 2152
+-124.976 33.256 2059
+-124.85 33.256 1995
+-124.724 33.256 2024
+-124.598 33.256 2111
+-124.472 33.256 2241
+-124.346 33.256 2459
+-124.22 33.256 2610
+-124.094 33.256 2752
+-123.968 33.256 2888
+-123.842 33.256 3015
+-123.716 33.256 3129
+-123.59 33.256 3252
+-123.464 33.256 3336
+-123.338 33.256 3427
+-123.212 33.256 3581
+-123.086 33.256 3661
+-122.96 33.256 3785
+-122.834 33.256 3949
+-122.708 33.256 4060
+-122.582 33.256 4125
+-122.456 33.256 4160
+-122.33 33.256 4206
+-122.204 33.256 4244
+-122.078 33.256 4368
+-121.952 33.256 4427
+-121.826 33.256 4500
+-121.7 33.256 4633
+-121.574 33.256 4794
+-121.448 33.256 5004
+-121.322 33.256 5155
+-121.196 33.256 5306
+-121.07 33.256 5419
+-120.944 33.256 5430
+-120.818 33.256 5615
+-120.692 33.256 5755
+-120.566 33.256 5869
+-120.44 33.256 6047
+-120.314 33.256 6073
+-120.188 33.256 6182
+-120.062 33.256 6309
+-119.936 33.256 6515
+-119.81 33.256 6612
+-119.684 33.256 6817
+-119.558 33.256 6896
+-119.432 33.256 7041
+-119.306 33.256 7126
+-119.18 33.256 7233
+-119.054 33.256 7394
+-118.928 33.256 7519
+-118.802 33.256 7630
+-118.676 33.256 7803
+-118.55 33.256 7840
+-118.424 33.256 7954
+-118.298 33.256 8216
+-118.172 33.256 8296
+-118.046 33.256 8519
+-117.92 33.256 8639
+-117.794 33.256 8826
+-117.668 33.256 8867
+-117.542 33.256 9023
+-117.416 33.256 9140
+-117.29 33.256 9191
+-117.164 33.256 9261
+-117.038 33.256 9304
+-116.912 33.256 9276
+-116.786 33.256 9216
+-116.66 33.256 9110
+-116.534 33.256 9054
+-116.408 33.256 8903
+-116.282 33.256 8821
+-116.156 33.256 8660
+-116.03 33.256 8572
+-115.904 33.256 8400
+-115.778 33.256 8273
+-115.652 33.256 8175
+-115.526 33.256 7998
+-115.4 33.256 7840
+-115.274 33.256 7759
+-115.148 33.256 7587
+-115.022 33.256 7469
+-114.896 33.256 7347
+-114.77 33.256 7187
+-114.644 33.256 7012
+-114.518 33.256 6903
+-114.392 33.256 6711
+-114.266 33.256 6655
+-114.14 33.256 6466
+-114.014 33.256 6373
+-113.888 33.256 6276
+-113.762 33.256 6144
+-113.636 33.256 6063
+-113.51 33.256 5927
+-113.384 33.256 5898
+-113.258 33.256 5962
+-113.132 33.256 6066
+-113.006 33.256 6113
+-112.88 33.256 6232
+-112.754 33.256 6371
+-112.628 33.256 6447
+-112.502 33.256 6591
+-112.376 33.256 6706
+-112.25 33.256 6813
+-112.124 33.256 6889
+-111.998 33.256 6957
+-111.872 33.256 7083
+-111.746 33.256 7156
+-111.62 33.256 7269
+-111.494 33.256 7338
+-111.368 33.256 7408
+-111.242 33.256 7473
+-111.116 33.256 7548
+-110.99 33.256 7561
+-110.864 33.256 7625
+-110.738 33.256 7654
+-110.612 33.256 7679
+-110.486 33.256 7692
+-110.36 33.256 7680
+-110.234 33.256 7701
+-110.108 33.256 7646
+-109.982 33.256 7616
+-109.856 33.256 7602
+-109.73 33.256 7568
+-109.604 33.256 7492
+-109.478 33.256 7415
+-109.352 33.256 7397
+-109.226 33.256 7299
+-109.1 33.256 7192
+-108.974 33.256 7118
+-108.848 33.256 7011
+-108.722 33.256 6920
+-108.596 33.256 6850
+-108.47 33.256 6732
+-108.344 33.256 6599
+-108.218 33.256 6466
+-108.092 33.256 6415
+-107.966 33.256 6301
+-107.84 33.256 6157
+-107.714 33.256 6079
+-107.588 33.256 5930
+-107.462 33.256 5891
+-107.336 33.256 5702
+-107.21 33.256 5741
+-107.084 33.256 5692
+-106.958 33.256 5553
+-106.832 33.256 5307
+-106.706 33.256 5101
+-106.58 33.256 4989
+-106.454 33.256 4858
+-106.328 33.256 4698
+-106.202 33.256 4566
+-106.076 33.256 4504
+-105.95 33.256 4345
+-105.824 33.256 4353
+-105.698 33.256 4228
+-105.572 33.256 4024
+-105.446 33.256 3913
+-105.32 33.256 3814
+-105.194 33.256 3682
+-105.068 33.256 3519
+-104.942 33.256 3357
+-104.816 33.256 3269
+-104.69 33.256 3271
+-104.564 33.256 3293
+-104.438 33.256 3318
+-104.312 33.256 3354
+-104.186 33.256 3386
+-104.06 33.256 3418
+-103.934 33.256 3456
+-103.808 33.256 3490
+-103.682 33.256 3520
+-103.556 33.256 3521
+-103.43 33.256 3544
+-103.304 33.256 3565
+-103.178 33.256 3583
+-103.052 33.256 3599
+-102.926 33.256 3614
+-102.8 33.256 3617
+-102.674 33.256 3581
+-102.548 33.256 3592
+-102.422 33.256 3603
+-102.296 33.256 3612
+-102.17 33.256 3620
+-102.044 33.256 3628
+-101.918 33.256 3635
+-101.792 33.256 3642
+-101.666 33.256 3648
+-101.54 33.256 3654
+-101.414 33.256 3659
+-101.288 33.256 3664
+-101.162 33.256 3669
+-101.036 33.256 3674
+-100.91 33.256 3591
+-100.784 33.256 3595
+-100.658 33.256 3597
+-100.532 33.256 3600
+-100.406 33.256 3550
+-100.28 33.256 3551
+-100.154 33.256 3296
+-100.028 33.256 3218
+-99.902 33.256 3157
+-99.776 33.256 3071
+-99.65 33.256 3047
+-99.524 33.256 3042
+-99.398 33.256 2996
+-99.272 33.256 2847
+-99.146 33.256 2889
+-99.02 33.256 2907
+-98.894 33.256 2954
+-98.768 33.256 2953
+-98.642 33.256 2970
+-98.516 33.256 3028
+-98.39 33.256 3053
+-98.264 33.256 3014
+-98.138 33.256 3039
+-98.012 33.256 3047
+-97.886 33.256 3043
+-97.76 33.256 3039
+-97.634 33.256 3002
+-97.508 33.256 2999
+-97.382 33.256 2928
+-97.256 33.256 3065
+-97.13 33.256 3060
+-97.004 33.256 3055
+-96.878 33.256 3049
+-96.752 33.256 3060
+-96.626 33.256 3053
+-96.5 33.256 3017
+-96.374 33.256 3012
+-96.248 33.256 3007
+-96.122 33.256 3017
+-95.996 33.256 3012
+-95.87 33.256 3006
+-95.744 33.256 2999
+-95.618 33.256 2986
+-95.492 33.256 2979
+-95.366 33.256 2988
+-95.24 33.256 2980
+-95.114 33.256 2971
+-94.988 33.256 2963
+-94.862 33.256 2953
+-94.736 33.256 2946
+-94.61 33.256 2932
+-94.484 33.256 2921
+-94.358 33.256 2904
+-94.232 33.256 2890
+-94.106 33.256 2874
+-93.98 33.256 2869
+-93.854 33.256 2898
+-93.728 33.256 2920
+-93.602 33.256 2957
+-93.476 33.256 3002
+-93.35 33.256 3032
+-93.224 33.256 3061
+-93.098 33.256 3020
+-92.972 33.256 2982
+-92.846 33.256 3063
+-92.72 33.256 3240
+-92.594 33.256 3423
+-92.468 33.256 3553
+-92.342 33.256 3733
+-92.216 33.256 3876
+-92.09 33.256 3986
+-91.964 33.256 4106
+-91.838 33.256 4181
+-91.712 33.256 4217
+-91.586 33.256 4234
+-91.46 33.256 4180
+-91.334 33.256 4104
+-91.208 33.256 4214
+-91.082 33.256 4308
+-90.956 33.256 4316
+-90.83 33.256 4357
+-90.704 33.256 4432
+-90.578 33.256 4485
+-90.452 33.256 4534
+-90.326 33.256 4590
+-90.2 33.256 4643
+-90.074 33.256 4670
+-89.948 33.256 4686
+-89.822 33.256 4730
+-89.696 33.256 4768
+-89.57 33.256 4744
+-89.444 33.256 4756
+-89.318 33.256 4785
+-89.192 33.256 4803
+-89.066 33.256 4814
+-88.94 33.256 4813
+-88.814 33.256 4805
+-88.688 33.256 4826
+-88.562 33.256 4835
+-88.436 33.256 4839
+-88.31 33.256 4828
+-88.184 33.256 4783
+-88.058 33.256 4738
+-87.932 33.256 4707
+-87.806 33.256 4678
+-87.68 33.256 4663
+-87.554 33.256 4635
+-87.428 33.256 4605
+-87.302 33.256 4553
+-87.176 33.256 4517
+-87.05 33.256 4484
+-86.924 33.256 4446
+-86.798 33.256 4380
+-86.672 33.256 4305
+-86.546 33.256 4245
+-86.42 33.256 4198
+-86.294 33.256 4124
+-86.168 33.256 3955
+-86.042 33.256 4064
+-85.916 33.256 4097
+-85.79 33.256 4068
+-85.664 33.256 4023
+-85.538 33.256 3950
+-85.412 33.256 3749
+-85.286 33.256 3626
+-85.16 33.256 3490
+-85.034 33.256 3374
+-84.908 33.256 3257
+-84.782 33.256 3201
+-84.656 33.256 3248
+-84.53 33.256 3303
+-84.404 33.256 3353
+-84.278 33.256 3368
+-84.152 33.256 3397
+-84.026 33.256 3418
+-83.9 33.256 3424
+-83.774 33.256 3457
+-83.648 33.256 3510
+-83.522 33.256 3575
+-83.396 33.256 3620
+-83.27 33.256 3645
+-83.144 33.256 3672
+-83.018 33.256 3694
+-82.892 33.256 3676
+-82.766 33.256 3651
+-82.64 33.256 3672
+-82.514 33.256 3722
+-82.388 33.256 3747
+-82.262 33.256 3761
+-82.136 33.256 3764
+-82.01 33.256 3771
+-81.884 33.256 3769
+-81.758 33.256 3773
+-81.632 33.256 3773
+-81.506 33.256 3774
+-81.38 33.256 3763
+-81.254 33.256 3743
+-81.128 33.256 3708
+-81.002 33.256 3659
+-80.876 33.256 3618
+-80.75 33.256 3630
+-80.624 33.256 3664
+-80.498 33.256 3694
+-80.372 33.256 3678
+-80.246 33.256 3670
+-80.12 33.256 3606
+-79.994 33.256 3581
+-79.868 33.256 3561
+-79.742 33.256 3521
+-79.616 33.256 3473
+-79.49 33.256 3419
+-79.364 33.256 3352
+-79.238 33.256 3272
+-79.112 33.256 3177
+-78.986 33.256 3058
+-78.86 33.256 2904
+-78.734 33.256 2752
+-78.608 33.256 2621
+-78.482 33.256 2560
+-78.356 33.256 2594
+-78.23 33.256 2679
+-78.104 33.256 2783
+-77.978 33.256 2879
+-77.852 33.256 2966
+-77.726 33.256 3049
+-77.6 33.256 3108
+-77.474 33.256 3160
+-77.348 33.256 3202
+-77.222 33.256 3145
+-77.096 33.256 3187
+-76.97 33.256 3212
+-76.844 33.256 3237
+-76.718 33.256 3255
+-76.592 33.256 3221
+-76.466 33.256 3176
+-76.34 33.256 3194
+-76.214 33.256 3204
+-76.088 33.256 3228
+-75.962 33.256 3221
+-75.836 33.256 3230
+-75.71 33.256 3238
+-75.584 33.256 3232
+-75.458 33.256 3238
+-75.332 33.256 3244
+-75.206 33.256 3232
+-75.08 33.256 3222
+-74.954 33.256 3245
+-74.828 33.256 3244
+-74.702 33.256 3250
+-74.576 33.256 3255
+-74.45 33.256 3191
+-74.324 33.256 3223
+-74.198 33.256 3221
+-74.072 33.256 3225
+-73.946 33.256 3228
+-73.82 33.256 3381
+-73.694 33.256 3323
+-73.568 33.256 3329
+-73.442 33.256 3333
+-73.316 33.256 3244
+-73.19 33.256 3235
+-73.064 33.256 3237
+-72.938 33.256 3239
+-72.812 33.256 3222
+-72.686 33.256 3224
+-72.56 33.256 3226
+-72.434 33.256 3228
+-72.308 33.256 3229
+-72.182 33.256 3244
+-72.056 33.256 3247
+-71.93 33.256 3233
+-71.804 33.256 3236
+-71.678 33.256 3238
+-71.552 33.256 3186
+-71.426 33.256 3346
+-71.3 33.256 3314
+-71.174 33.256 3315
+-71.048 33.256 3283
+-70.922 33.256 3285
+-70.796 33.256 3287
+-70.67 33.256 3403
+-70.544 33.256 3405
+-70.418 33.256 3406
+-70.292 33.256 3408
+-70.166 33.256 3410
+-70.04 33.256 3509
+-69.914 33.256 3511
+-69.788 33.256 3435
+-69.662 33.256 3437
+-69.536 33.256 3439
+-69.41 33.256 3441
+-69.284 33.256 3447
+-69.158 33.256 3410
+-69.032 33.256 3403
+-68.906 33.256 3356
+-68.78 33.256 3358
+-68.654 33.256 3321
+-68.528 33.256 3365
+-68.402 33.256 3367
+-68.276 33.256 3369
+-68.15 33.256 3371
+-68.024 33.256 3372
+-67.898 33.256 3374
+-67.772 33.256 3376
+-67.646 33.256 3351
+-67.52 33.256 3352
+-67.394 33.256 3354
+-67.268 33.256 3325
+-67.142 33.256 3294
+-67.016 33.256 3274
+-66.89 33.256 3275
+-66.764 33.256 3276
+-66.638 33.256 3278
+-66.512 33.256 3279
+-66.386 33.256 3280
+-66.26 33.256 3281
+-66.134 33.256 3210
+-66.008 33.256 3195
+-65.882 33.256 3196
+-65.756 33.256 3197
+-65.63 33.256 3198
+-65.504 33.256 3199
+-65.378 33.256 3200
+-65.252 33.256 3202
+-65.126 33.256 3203
+-128 33.204 2653
+-127.874 33.204 2645
+-127.748 33.204 2637
+-127.622 33.204 2628
+-127.496 33.204 2619
+-127.37 33.204 2608
+-127.244 33.204 2596
+-127.118 33.204 2630
+-126.992 33.204 2679
+-126.866 33.204 2663
+-126.74 33.204 2681
+-126.614 33.204 2714
+-126.488 33.204 2689
+-126.362 33.204 2669
+-126.236 33.204 2629
+-126.11 33.204 2617
+-125.984 33.204 2573
+-125.858 33.204 2596
+-125.732 33.204 2535
+-125.606 33.204 2464
+-125.48 33.204 2380
+-125.354 33.204 2280
+-125.228 33.204 2162
+-125.102 33.204 2030
+-124.976 33.204 1893
+-124.85 33.204 1782
+-124.724 33.204 1750
+-124.598 33.204 1861
+-124.472 33.204 2052
+-124.346 33.204 2282
+-124.22 33.204 2448
+-124.094 33.204 2603
+-123.968 33.204 2779
+-123.842 33.204 2938
+-123.716 33.204 3083
+-123.59 33.204 3208
+-123.464 33.204 3340
+-123.338 33.204 3464
+-123.212 33.204 3636
+-123.086 33.204 3731
+-122.96 33.204 3854
+-122.834 33.204 4010
+-122.708 33.204 4081
+-122.582 33.204 4192
+-122.456 33.204 4211
+-122.33 33.204 4203
+-122.204 33.204 4123
+-122.078 33.204 4293
+-121.952 33.204 4373
+-121.826 33.204 4464
+-121.7 33.204 4613
+-121.574 33.204 4772
+-121.448 33.204 5000
+-121.322 33.204 5037
+-121.196 33.204 5219
+-121.07 33.204 5409
+-120.944 33.204 5513
+-120.818 33.204 5643
+-120.692 33.204 5755
+-120.566 33.204 5886
+-120.44 33.204 6043
+-120.314 33.204 6087
+-120.188 33.204 6169
+-120.062 33.204 6302
+-119.936 33.204 6521
+-119.81 33.204 6605
+-119.684 33.204 6781
+-119.558 33.204 6906
+-119.432 33.204 7078
+-119.306 33.204 7160
+-119.18 33.204 7255
+-119.054 33.204 7391
+-118.928 33.204 7484
+-118.802 33.204 7600
+-118.676 33.204 7734
+-118.55 33.204 7884
+-118.424 33.204 7973
+-118.298 33.204 8339
+-118.172 33.204 8386
+-118.046 33.204 8531
+-117.92 33.204 8687
+-117.794 33.204 8798
+-117.668 33.204 8915
+-117.542 33.204 9019
+-117.416 33.204 9137
+-117.29 33.204 9239
+-117.164 33.204 9335
+-117.038 33.204 9346
+-116.912 33.204 9324
+-116.786 33.204 9249
+-116.66 33.204 9144
+-116.534 33.204 9050
+-116.408 33.204 8937
+-116.282 33.204 8839
+-116.156 33.204 8717
+-116.03 33.204 8534
+-115.904 33.204 8451
+-115.778 33.204 8293
+-115.652 33.204 8189
+-115.526 33.204 8040
+-115.4 33.204 7831
+-115.274 33.204 7766
+-115.148 33.204 7598
+-115.022 33.204 7489
+-114.896 33.204 7344
+-114.77 33.204 7215
+-114.644 33.204 7050
+-114.518 33.204 6918
+-114.392 33.204 6742
+-114.266 33.204 6701
+-114.14 33.204 6516
+-114.014 33.204 6383
+-113.888 33.204 6263
+-113.762 33.204 6051
+-113.636 33.204 6035
+-113.51 33.204 5921
+-113.384 33.204 5800
+-113.258 33.204 5919
+-113.132 33.204 6076
+-113.006 33.204 6142
+-112.88 33.204 6287
+-112.754 33.204 6375
+-112.628 33.204 6480
+-112.502 33.204 6631
+-112.376 33.204 6733
+-112.25 33.204 6838
+-112.124 33.204 6891
+-111.998 33.204 7045
+-111.872 33.204 7082
+-111.746 33.204 7221
+-111.62 33.204 7321
+-111.494 33.204 7400
+-111.368 33.204 7482
+-111.242 33.204 7534
+-111.116 33.204 7603
+-110.99 33.204 7647
+-110.864 33.204 7685
+-110.738 33.204 7710
+-110.612 33.204 7722
+-110.486 33.204 7769
+-110.36 33.204 7738
+-110.234 33.204 7735
+-110.108 33.204 7710
+-109.982 33.204 7703
+-109.856 33.204 7612
+-109.73 33.204 7594
+-109.604 33.204 7548
+-109.478 33.204 7474
+-109.352 33.204 7424
+-109.226 33.204 7366
+-109.1 33.204 7251
+-108.974 33.204 7183
+-108.848 33.204 7069
+-108.722 33.204 6984
+-108.596 33.204 6883
+-108.47 33.204 6768
+-108.344 33.204 6637
+-108.218 33.204 6574
+-108.092 33.204 6445
+-107.966 33.204 6316
+-107.84 33.204 6145
+-107.714 33.204 6062
+-107.588 33.204 6002
+-107.462 33.204 5903
+-107.336 33.204 5836
+-107.21 33.204 5743
+-107.084 33.204 5693
+-106.958 33.204 5563
+-106.832 33.204 5339
+-106.706 33.204 5117
+-106.58 33.204 5043
+-106.454 33.204 4880
+-106.328 33.204 4771
+-106.202 33.204 4622
+-106.076 33.204 4484
+-105.95 33.204 4455
+-105.824 33.204 4364
+-105.698 33.204 4213
+-105.572 33.204 4006
+-105.446 33.204 3895
+-105.32 33.204 3851
+-105.194 33.204 3756
+-105.068 33.204 3590
+-104.942 33.204 3453
+-104.816 33.204 3344
+-104.69 33.204 3282
+-104.564 33.204 3241
+-104.438 33.204 3256
+-104.312 33.204 3303
+-104.186 33.204 3355
+-104.06 33.204 3408
+-103.934 33.204 3453
+-103.808 33.204 3491
+-103.682 33.204 3498
+-103.556 33.204 3525
+-103.43 33.204 3549
+-103.304 33.204 3569
+-103.178 33.204 3587
+-103.052 33.204 3595
+-102.926 33.204 3609
+-102.8 33.204 3575
+-102.674 33.204 3587
+-102.548 33.204 3598
+-102.422 33.204 3608
+-102.296 33.204 3617
+-102.17 33.204 3625
+-102.044 33.204 3633
+-101.918 33.204 3640
+-101.792 33.204 3646
+-101.666 33.204 3652
+-101.54 33.204 3658
+-101.414 33.204 3663
+-101.288 33.204 3668
+-101.162 33.204 3672
+-101.036 33.204 3591
+-100.91 33.204 3594
+-100.784 33.204 3597
+-100.658 33.204 3600
+-100.532 33.204 3550
+-100.406 33.204 3551
+-100.28 33.204 3552
+-100.154 33.204 3295
+-100.028 33.204 3215
+-99.902 33.204 3155
+-99.776 33.204 3067
+-99.65 33.204 3041
+-99.524 33.204 3034
+-99.398 33.204 2950
+-99.272 33.204 2787
+-99.146 33.204 2875
+-99.02 33.204 2894
+-98.894 33.204 2941
+-98.768 33.204 2958
+-98.642 33.204 2953
+-98.516 33.204 3043
+-98.39 33.204 3004
+-98.264 33.204 3029
+-98.138 33.204 3036
+-98.012 33.204 3032
+-97.886 33.204 3028
+-97.76 33.204 2991
+-97.634 33.204 2988
+-97.508 33.204 2917
+-97.382 33.204 2916
+-97.256 33.204 2915
+-97.13 33.204 3054
+-97.004 33.204 3049
+-96.878 33.204 3060
+-96.752 33.204 3053
+-96.626 33.204 3016
+-96.5 33.204 3011
+-96.374 33.204 3006
+-96.248 33.204 3016
+-96.122 33.204 3010
+-95.996 33.204 3004
+-95.87 33.204 2997
+-95.744 33.204 2983
+-95.618 33.204 2976
+-95.492 33.204 2985
+-95.366 33.204 2976
+-95.24 33.204 2967
+-95.114 33.204 2959
+-94.988 33.204 2949
+-94.862 33.204 2941
+-94.736 33.204 2927
+-94.61 33.204 2916
+-94.484 33.204 2897
+-94.358 33.204 2881
+-94.232 33.204 2858
+-94.106 33.204 2840
+-93.98 33.204 2847
+-93.854 33.204 2840
+-93.728 33.204 2854
+-93.602 33.204 2894
+-93.476 33.204 2946
+-93.35 33.204 2998
+-93.224 33.204 3049
+-93.098 33.204 3060
+-92.972 33.204 3072
+-92.846 33.204 3162
+-92.72 33.204 3288
+-92.594 33.204 3438
+-92.468 33.204 3577
+-92.342 33.204 3729
+-92.216 33.204 3882
+-92.09 33.204 4016
+-91.964 33.204 4105
+-91.838 33.204 4168
+-91.712 33.204 4211
+-91.586 33.204 4241
+-91.46 33.204 4207
+-91.334 33.204 4184
+-91.208 33.204 4251
+-91.082 33.204 4278
+-90.956 33.204 4228
+-90.83 33.204 4312
+-90.704 33.204 4402
+-90.578 33.204 4440
+-90.452 33.204 4476
+-90.326 33.204 4516
+-90.2 33.204 4588
+-90.074 33.204 4628
+-89.948 33.204 4650
+-89.822 33.204 4679
+-89.696 33.204 4711
+-89.57 33.204 4691
+-89.444 33.204 4689
+-89.318 33.204 4710
+-89.192 33.204 4741
+-89.066 33.204 4760
+-88.94 33.204 4758
+-88.814 33.204 4752
+-88.688 33.204 4765
+-88.562 33.204 4770
+-88.436 33.204 4768
+-88.31 33.204 4738
+-88.184 33.204 4702
+-88.058 33.204 4644
+-87.932 33.204 4623
+-87.806 33.204 4614
+-87.68 33.204 4597
+-87.554 33.204 4555
+-87.428 33.204 4518
+-87.302 33.204 4484
+-87.176 33.204 4458
+-87.05 33.204 4419
+-86.924 33.204 4373
+-86.798 33.204 4318
+-86.672 33.204 4262
+-86.546 33.204 4191
+-86.42 33.204 4115
+-86.294 33.204 4130
+-86.168 33.204 4069
+-86.042 33.204 4065
+-85.916 33.204 4068
+-85.79 33.204 4048
+-85.664 33.204 3966
+-85.538 33.204 3882
+-85.412 33.204 3692
+-85.286 33.204 3577
+-85.16 33.204 3441
+-85.034 33.204 3335
+-84.908 33.204 3207
+-84.782 33.204 3113
+-84.656 33.204 3207
+-84.53 33.204 3304
+-84.404 33.204 3373
+-84.278 33.204 3412
+-84.152 33.204 3436
+-84.026 33.204 3446
+-83.9 33.204 3470
+-83.774 33.204 3501
+-83.648 33.204 3554
+-83.522 33.204 3615
+-83.396 33.204 3641
+-83.27 33.204 3652
+-83.144 33.204 3695
+-83.018 33.204 3713
+-82.892 33.204 3711
+-82.766 33.204 3721
+-82.64 33.204 3751
+-82.514 33.204 3785
+-82.388 33.204 3829
+-82.262 33.204 3842
+-82.136 33.204 3833
+-82.01 33.204 3839
+-81.884 33.204 3826
+-81.758 33.204 3819
+-81.632 33.204 3822
+-81.506 33.204 3825
+-81.38 33.204 3815
+-81.254 33.204 3807
+-81.128 33.204 3779
+-81.002 33.204 3750
+-80.876 33.204 3729
+-80.75 33.204 3713
+-80.624 33.204 3718
+-80.498 33.204 3729
+-80.372 33.204 3727
+-80.246 33.204 3691
+-80.12 33.204 3629
+-79.994 33.204 3617
+-79.868 33.204 3585
+-79.742 33.204 3548
+-79.616 33.204 3507
+-79.49 33.204 3458
+-79.364 33.204 3400
+-79.238 33.204 3336
+-79.112 33.204 3256
+-78.986 33.204 3144
+-78.86 33.204 3035
+-78.734 33.204 2921
+-78.608 33.204 2823
+-78.482 33.204 2782
+-78.356 33.204 2784
+-78.23 33.204 2834
+-78.104 33.204 2901
+-77.978 33.204 2974
+-77.852 33.204 3051
+-77.726 33.204 3108
+-77.6 33.204 3158
+-77.474 33.204 3200
+-77.348 33.204 3209
+-77.222 33.204 3257
+-77.096 33.204 3286
+-76.97 33.204 3309
+-76.844 33.204 3337
+-76.718 33.204 3224
+-76.592 33.204 3182
+-76.466 33.204 3200
+-76.34 33.204 3210
+-76.214 33.204 3233
+-76.088 33.204 3227
+-75.962 33.204 3235
+-75.836 33.204 3242
+-75.71 33.204 3236
+-75.584 33.204 3243
+-75.458 33.204 3248
+-75.332 33.204 3236
+-75.206 33.204 3226
+-75.08 33.204 3249
+-74.954 33.204 3248
+-74.828 33.204 3253
+-74.702 33.204 3258
+-74.576 33.204 3194
+-74.45 33.204 3227
+-74.324 33.204 3224
+-74.198 33.204 3228
+-74.072 33.204 3231
+-73.946 33.204 3380
+-73.82 33.204 3319
+-73.694 33.204 3328
+-73.568 33.204 3332
+-73.442 33.204 3243
+-73.316 33.204 3235
+-73.19 33.204 3237
+-73.064 33.204 3239
+-72.938 33.204 3222
+-72.812 33.204 3224
+-72.686 33.204 3226
+-72.56 33.204 3227
+-72.434 33.204 3229
+-72.308 33.204 3243
+-72.182 33.204 3246
+-72.056 33.204 3233
+-71.93 33.204 3235
+-71.804 33.204 3237
+-71.678 33.204 3185
+-71.552 33.204 3344
+-71.426 33.204 3312
+-71.3 33.204 3314
+-71.174 33.204 3282
+-71.048 33.204 3284
+-70.922 33.204 3286
+-70.796 33.204 3400
+-70.67 33.204 3402
+-70.544 33.204 3404
+-70.418 33.204 3406
+-70.292 33.204 3408
+-70.166 33.204 3506
+-70.04 33.204 3508
+-69.914 33.204 3433
+-69.788 33.204 3435
+-69.662 33.204 3437
+-69.536 33.204 3439
+-69.41 33.204 3444
+-69.284 33.204 3408
+-69.158 33.204 3401
+-69.032 33.204 3354
+-68.906 33.204 3356
+-68.78 33.204 3320
+-68.654 33.204 3364
+-68.528 33.204 3366
+-68.402 33.204 3367
+-68.276 33.204 3369
+-68.15 33.204 3371
+-68.024 33.204 3373
+-67.898 33.204 3374
+-67.772 33.204 3350
+-67.646 33.204 3351
+-67.52 33.204 3353
+-67.394 33.204 3324
+-67.268 33.204 3293
+-67.142 33.204 3273
+-67.016 33.204 3274
+-66.89 33.204 3275
+-66.764 33.204 3277
+-66.638 33.204 3278
+-66.512 33.204 3279
+-66.386 33.204 3280
+-66.26 33.204 3209
+-66.134 33.204 3194
+-66.008 33.204 3195
+-65.882 33.204 3196
+-65.756 33.204 3197
+-65.63 33.204 3199
+-65.504 33.204 3200
+-65.378 33.204 3201
+-65.252 33.204 3202
+-65.126 33.204 3203
+-128 33.152 2651
+-127.874 33.152 2643
+-127.748 33.152 2635
+-127.622 33.152 2626
+-127.496 33.152 2616
+-127.37 33.152 2605
+-127.244 33.152 2640
+-127.118 33.152 2686
+-126.992 33.152 2671
+-126.866 33.152 2696
+-126.74 33.152 2676
+-126.614 33.152 2653
+-126.488 33.152 2684
+-126.362 33.152 2656
+-126.236 33.152 2623
+-126.11 33.152 2585
+-125.984 33.152 2560
+-125.858 33.152 2507
+-125.732 33.152 2517
+-125.606 33.152 2440
+-125.48 33.152 2348
+-125.354 33.152 2236
+-125.228 33.152 2101
+-125.102 33.152 1940
+-124.976 33.152 1761
+-124.85 33.152 1597
+-124.724 33.152 1533
+-124.598 33.152 1647
+-124.472 33.152 1890
+-124.346 33.152 2113
+-124.22 33.152 2300
+-124.094 33.152 2451
+-123.968 33.152 2632
+-123.842 33.152 2841
+-123.716 33.152 3022
+-123.59 33.152 3207
+-123.464 33.152 3336
+-123.338 33.152 3464
+-123.212 33.152 3677
+-123.086 33.152 3755
+-122.96 33.152 3859
+-122.834 33.152 4034
+-122.708 33.152 4108
+-122.582 33.152 4193
+-122.456 33.152 4240
+-122.33 33.152 4233
+-122.204 33.152 4231
+-122.078 33.152 4173
+-121.952 33.152 4363
+-121.826 33.152 4492
+-121.7 33.152 4620
+-121.574 33.152 4791
+-121.448 33.152 4951
+-121.322 33.152 5099
+-121.196 33.152 5183
+-121.07 33.152 5356
+-120.944 33.152 5488
+-120.818 33.152 5623
+-120.692 33.152 5780
+-120.566 33.152 5816
+-120.44 33.152 5920
+-120.314 33.152 6078
+-120.188 33.152 6197
+-120.062 33.152 6289
+-119.936 33.152 6493
+-119.81 33.152 6650
+-119.684 33.152 6793
+-119.558 33.152 6895
+-119.432 33.152 6999
+-119.306 33.152 7120
+-119.18 33.152 7270
+-119.054 33.152 7356
+-118.928 33.152 7466
+-118.802 33.152 7703
+-118.676 33.152 7781
+-118.55 33.152 8081
+-118.424 33.152 8101
+-118.298 33.152 8282
+-118.172 33.152 8413
+-118.046 33.152 8573
+-117.92 33.152 8667
+-117.794 33.152 8845
+-117.668 33.152 8971
+-117.542 33.152 9083
+-117.416 33.152 9168
+-117.29 33.152 9279
+-117.164 33.152 9360
+-117.038 33.152 9371
+-116.912 33.152 9384
+-116.786 33.152 9313
+-116.66 33.152 9200
+-116.534 33.152 9127
+-116.408 33.152 8936
+-116.282 33.152 8833
+-116.156 33.152 8694
+-116.03 33.152 8600
+-115.904 33.152 8492
+-115.778 33.152 8352
+-115.652 33.152 8148
+-115.526 33.152 8076
+-115.4 33.152 7893
+-115.274 33.152 7805
+-115.148 33.152 7643
+-115.022 33.152 7491
+-114.896 33.152 7358
+-114.77 33.152 7230
+-114.644 33.152 7035
+-114.518 33.152 6921
+-114.392 33.152 6801
+-114.266 33.152 6660
+-114.14 33.152 6486
+-114.014 33.152 6353
+-113.888 33.152 6246
+-113.762 33.152 6118
+-113.636 33.152 5971
+-113.51 33.152 5852
+-113.384 33.152 5829
+-113.258 33.152 5957
+-113.132 33.152 6000
+-113.006 33.152 6115
+-112.88 33.152 6264
+-112.754 33.152 6400
+-112.628 33.152 6566
+-112.502 33.152 6689
+-112.376 33.152 6765
+-112.25 33.152 6852
+-112.124 33.152 6951
+-111.998 33.152 7054
+-111.872 33.152 7122
+-111.746 33.152 7283
+-111.62 33.152 7322
+-111.494 33.152 7410
+-111.368 33.152 7497
+-111.242 33.152 7542
+-111.116 33.152 7626
+-110.99 33.152 7690
+-110.864 33.152 7730
+-110.738 33.152 7775
+-110.612 33.152 7783
+-110.486 33.152 7784
+-110.36 33.152 7809
+-110.234 33.152 7788
+-110.108 33.152 7795
+-109.982 33.152 7731
+-109.856 33.152 7675
+-109.73 33.152 7663
+-109.604 33.152 7615
+-109.478 33.152 7531
+-109.352 33.152 7429
+-109.226 33.152 7392
+-109.1 33.152 7295
+-108.974 33.152 7195
+-108.848 33.152 7085
+-108.722 33.152 7035
+-108.596 33.152 6880
+-108.47 33.152 6807
+-108.344 33.152 6702
+-108.218 33.152 6600
+-108.092 33.152 6447
+-107.966 33.152 6358
+-107.84 33.152 6259
+-107.714 33.152 6137
+-107.588 33.152 5981
+-107.462 33.152 5959
+-107.336 33.152 5842
+-107.21 33.152 5642
+-107.084 33.152 5694
+-106.958 33.152 5572
+-106.832 33.152 5376
+-106.706 33.152 5174
+-106.58 33.152 5048
+-106.454 33.152 4917
+-106.328 33.152 4775
+-106.202 33.152 4650
+-106.076 33.152 4544
+-105.95 33.152 4490
+-105.824 33.152 4410
+-105.698 33.152 4200
+-105.572 33.152 3956
+-105.446 33.152 3839
+-105.32 33.152 3863
+-105.194 33.152 3781
+-105.068 33.152 3658
+-104.942 33.152 3519
+-104.816 33.152 3359
+-104.69 33.152 3177
+-104.564 33.152 3059
+-104.438 33.152 3120
+-104.312 33.152 3241
+-104.186 33.152 3338
+-104.06 33.152 3409
+-103.934 33.152 3462
+-103.808 33.152 3471
+-103.682 33.152 3504
+-103.556 33.152 3532
+-103.43 33.152 3556
+-103.304 33.152 3576
+-103.178 33.152 3585
+-103.052 33.152 3600
+-102.926 33.152 3570
+-102.8 33.152 3582
+-102.674 33.152 3594
+-102.548 33.152 3604
+-102.422 33.152 3614
+-102.296 33.152 3623
+-102.17 33.152 3631
+-102.044 33.152 3638
+-101.918 33.152 3645
+-101.792 33.152 3651
+-101.666 33.152 3657
+-101.54 33.152 3662
+-101.414 33.152 3667
+-101.288 33.152 3672
+-101.162 33.152 3591
+-101.036 33.152 3594
+-100.91 33.152 3597
+-100.784 33.152 3600
+-100.658 33.152 3550
+-100.532 33.152 3551
+-100.406 33.152 3552
+-100.28 33.152 3553
+-100.154 33.152 3294
+-100.028 33.152 3202
+-99.902 33.152 3152
+-99.776 33.152 3050
+-99.65 33.152 3027
+-99.524 33.152 3000
+-99.398 33.152 2941
+-99.272 33.152 2778
+-99.146 33.152 2861
+-99.02 33.152 2829
+-98.894 33.152 2886
+-98.768 33.152 2941
+-98.642 33.152 2968
+-98.516 33.152 2994
+-98.39 33.152 3019
+-98.264 33.152 3026
+-98.138 33.152 3022
+-98.012 33.152 3018
+-97.886 33.152 2980
+-97.76 33.152 2977
+-97.634 33.152 2905
+-97.508 33.152 2904
+-97.382 33.152 2903
+-97.256 33.152 2902
+-97.13 33.152 2901
+-97.004 33.152 3060
+-96.878 33.152 3053
+-96.752 33.152 3015
+-96.626 33.152 3010
+-96.5 33.152 3005
+-96.374 33.152 3015
+-96.248 33.152 3009
+-96.122 33.152 3003
+-95.996 33.152 2996
+-95.87 33.152 2981
+-95.744 33.152 2974
+-95.618 33.152 2982
+-95.492 33.152 2974
+-95.366 33.152 2964
+-95.24 33.152 2955
+-95.114 33.152 2944
+-94.988 33.152 2937
+-94.862 33.152 2922
+-94.736 33.152 2911
+-94.61 33.152 2891
+-94.484 33.152 2872
+-94.358 33.152 2843
+-94.232 33.152 2813
+-94.106 33.152 2798
+-93.98 33.152 2754
+-93.854 33.152 2722
+-93.728 33.152 2725
+-93.602 33.152 2773
+-93.476 33.152 2854
+-93.35 33.152 2938
+-93.224 33.152 3034
+-93.098 33.152 3081
+-92.972 33.152 3140
+-92.846 33.152 3201
+-92.72 33.152 3306
+-92.594 33.152 3459
+-92.468 33.152 3583
+-92.342 33.152 3714
+-92.216 33.152 3852
+-92.09 33.152 4039
+-91.964 33.152 4092
+-91.838 33.152 4159
+-91.712 33.152 4214
+-91.586 33.152 4204
+-91.46 33.152 4257
+-91.334 33.152 4246
+-91.208 33.152 4286
+-91.082 33.152 4293
+-90.956 33.152 4284
+-90.83 33.152 4327
+-90.704 33.152 4374
+-90.578 33.152 4392
+-90.452 33.152 4399
+-90.326 33.152 4440
+-90.2 33.152 4498
+-90.074 33.152 4536
+-89.948 33.152 4575
+-89.822 33.152 4605
+-89.696 33.152 4631
+-89.57 33.152 4649
+-89.444 33.152 4675
+-89.318 33.152 4663
+-89.192 33.152 4685
+-89.066 33.152 4698
+-88.94 33.152 4720
+-88.814 33.152 4723
+-88.688 33.152 4727
+-88.562 33.152 4741
+-88.436 33.152 4716
+-88.31 33.152 4672
+-88.184 33.152 4631
+-88.058 33.152 4600
+-87.932 33.152 4599
+-87.806 33.152 4577
+-87.68 33.152 4526
+-87.554 33.152 4488
+-87.428 33.152 4454
+-87.302 33.152 4419
+-87.176 33.152 4397
+-87.05 33.152 4346
+-86.924 33.152 4307
+-86.798 33.152 4271
+-86.672 33.152 4230
+-86.546 33.152 4184
+-86.42 33.152 4152
+-86.294 33.152 4145
+-86.168 33.152 4122
+-86.042 33.152 4082
+-85.916 33.152 4066
+-85.79 33.152 4007
+-85.664 33.152 3936
+-85.538 33.152 3819
+-85.412 33.152 3662
+-85.286 33.152 3541
+-85.16 33.152 3422
+-85.034 33.152 3326
+-84.908 33.152 3256
+-84.782 33.152 3227
+-84.656 33.152 3259
+-84.53 33.152 3326
+-84.404 33.152 3400
+-84.278 33.152 3457
+-84.152 33.152 3501
+-84.026 33.152 3527
+-83.9 33.152 3528
+-83.774 33.152 3548
+-83.648 33.152 3586
+-83.522 33.152 3623
+-83.396 33.152 3641
+-83.27 33.152 3674
+-83.144 33.152 3708
+-83.018 33.152 3719
+-82.892 33.152 3730
+-82.766 33.152 3763
+-82.64 33.152 3804
+-82.514 33.152 3835
+-82.388 33.152 3876
+-82.262 33.152 3887
+-82.136 33.152 3878
+-82.01 33.152 3878
+-81.884 33.152 3845
+-81.758 33.152 3809
+-81.632 33.152 3838
+-81.506 33.152 3851
+-81.38 33.152 3845
+-81.254 33.152 3843
+-81.128 33.152 3833
+-81.002 33.152 3805
+-80.876 33.152 3783
+-80.75 33.152 3753
+-80.624 33.152 3743
+-80.498 33.152 3748
+-80.372 33.152 3741
+-80.246 33.152 3744
+-80.12 33.152 3694
+-79.994 33.152 3637
+-79.868 33.152 3606
+-79.742 33.152 3573
+-79.616 33.152 3534
+-79.49 33.152 3490
+-79.364 33.152 3445
+-79.238 33.152 3391
+-79.112 33.152 3309
+-78.986 33.152 3236
+-78.86 33.152 3156
+-78.734 33.152 3073
+-78.608 33.152 3020
+-78.482 33.152 2972
+-78.356 33.152 2964
+-78.23 33.152 2983
+-78.104 33.152 3025
+-77.978 33.152 3083
+-77.852 33.152 3128
+-77.726 33.152 3171
+-77.6 33.152 3208
+-77.474 33.152 3216
+-77.348 33.152 3261
+-77.222 33.152 3289
+-77.096 33.152 3311
+-76.97 33.152 3338
+-76.844 33.152 3305
+-76.718 33.152 3265
+-76.592 33.152 3286
+-76.466 33.152 3296
+-76.34 33.152 3211
+-76.214 33.152 3233
+-76.088 33.152 3241
+-75.962 33.152 3248
+-75.836 33.152 3242
+-75.71 33.152 3248
+-75.584 33.152 3253
+-75.458 33.152 3241
+-75.332 33.152 3231
+-75.206 33.152 3253
+-75.08 33.152 3252
+-74.954 33.152 3257
+-74.828 33.152 3262
+-74.702 33.152 3198
+-74.576 33.152 3230
+-74.45 33.152 3228
+-74.324 33.152 3231
+-74.198 33.152 3235
+-74.072 33.152 3379
+-73.946 33.152 3322
+-73.82 33.152 3328
+-73.694 33.152 3331
+-73.568 33.152 3243
+-73.442 33.152 3234
+-73.316 33.152 3236
+-73.19 33.152 3239
+-73.064 33.152 3222
+-72.938 33.152 3224
+-72.812 33.152 3225
+-72.686 33.152 3227
+-72.56 33.152 3201
+-72.434 33.152 3243
+-72.308 33.152 3245
+-72.182 33.152 3232
+-72.056 33.152 3234
+-71.93 33.152 3237
+-71.804 33.152 3185
+-71.678 33.152 3342
+-71.552 33.152 3311
+-71.426 33.152 3312
+-71.3 33.152 3280
+-71.174 33.152 3282
+-71.048 33.152 3284
+-70.922 33.152 3398
+-70.796 33.152 3400
+-70.67 33.152 3402
+-70.544 33.152 3403
+-70.418 33.152 3405
+-70.292 33.152 3502
+-70.166 33.152 3505
+-70.04 33.152 3430
+-69.914 33.152 3433
+-69.788 33.152 3435
+-69.662 33.152 3437
+-69.536 33.152 3442
+-69.41 33.152 3406
+-69.284 33.152 3399
+-69.158 33.152 3352
+-69.032 33.152 3354
+-68.906 33.152 3318
+-68.78 33.152 3362
+-68.654 33.152 3364
+-68.528 33.152 3366
+-68.402 33.152 3368
+-68.276 33.152 3369
+-68.15 33.152 3371
+-68.024 33.152 3373
+-67.898 33.152 3348
+-67.772 33.152 3350
+-67.646 33.152 3351
+-67.52 33.152 3322
+-67.394 33.152 3292
+-67.268 33.152 3272
+-67.142 33.152 3273
+-67.016 33.152 3275
+-66.89 33.152 3276
+-66.764 33.152 3277
+-66.638 33.152 3278
+-66.512 33.152 3279
+-66.386 33.152 3208
+-66.26 33.152 3193
+-66.134 33.152 3194
+-66.008 33.152 3195
+-65.882 33.152 3197
+-65.756 33.152 3198
+-65.63 33.152 3199
+-65.504 33.152 3200
+-65.378 33.152 3201
+-65.252 33.152 3202
+-65.126 33.152 3204
+-128 33.1 2649
+-127.874 33.1 2642
+-127.748 33.1 2633
+-127.622 33.1 2624
+-127.496 33.1 2614
+-127.37 33.1 2649
+-127.244 33.1 2698
+-127.118 33.1 2685
+-126.992 33.1 2693
+-126.866 33.1 2676
+-126.74 33.1 2656
+-126.614 33.1 2634
+-126.488 33.1 2609
+-126.362 33.1 2653
+-126.236 33.1 2620
+-126.11 33.1 2582
+-125.984 33.1 2538
+-125.858 33.1 2503
+-125.732 33.1 2440
+-125.606 33.1 2431
+-125.48 33.1 2336
+-125.354 33.1 2221
+-125.228 33.1 2079
+-125.102 33.1 1907
+-124.976 33.1 1710
+-124.85 33.1 1523
+-124.724 33.1 1424
+-124.598 33.1 1552
+-124.472 33.1 1835
+-124.346 33.1 2021
+-124.22 33.1 2115
+-124.094 33.1 2267
+-123.968 33.1 2478
+-123.842 33.1 2718
+-123.716 33.1 2952
+-123.59 33.1 3195
+-123.464 33.1 3342
+-123.338 33.1 3462
+-123.212 33.1 3651
+-123.086 33.1 3743
+-122.96 33.1 3869
+-122.834 33.1 4053
+-122.708 33.1 4140
+-122.582 33.1 4188
+-122.456 33.1 4233
+-122.33 33.1 4290
+-122.204 33.1 4275
+-122.078 33.1 4273
+-121.952 33.1 4398
+-121.826 33.1 4489
+-121.7 33.1 4599
+-121.574 33.1 4779
+-121.448 33.1 4867
+-121.322 33.1 5022
+-121.196 33.1 5135
+-121.07 33.1 5287
+-120.944 33.1 5432
+-120.818 33.1 5541
+-120.692 33.1 5749
+-120.566 33.1 5846
+-120.44 33.1 6019
+-120.314 33.1 6139
+-120.188 33.1 6195
+-120.062 33.1 6371
+-119.936 33.1 6466
+-119.81 33.1 6624
+-119.684 33.1 6690
+-119.558 33.1 6827
+-119.432 33.1 6941
+-119.306 33.1 7099
+-119.18 33.1 7213
+-119.054 33.1 7323
+-118.928 33.1 7522
+-118.802 33.1 7724
+-118.676 33.1 7832
+-118.55 33.1 8031
+-118.424 33.1 8146
+-118.298 33.1 8273
+-118.172 33.1 8461
+-118.046 33.1 8625
+-117.92 33.1 8745
+-117.794 33.1 8851
+-117.668 33.1 9004
+-117.542 33.1 9119
+-117.416 33.1 9198
+-117.29 33.1 9363
+-117.164 33.1 9443
+-117.038 33.1 9474
+-116.912 33.1 9432
+-116.786 33.1 9337
+-116.66 33.1 9248
+-116.534 33.1 9164
+-116.408 33.1 9058
+-116.282 33.1 8864
+-116.156 33.1 8736
+-116.03 33.1 8655
+-115.904 33.1 8496
+-115.778 33.1 8355
+-115.652 33.1 8218
+-115.526 33.1 8077
+-115.4 33.1 7923
+-115.274 33.1 7799
+-115.148 33.1 7631
+-115.022 33.1 7519
+-114.896 33.1 7357
+-114.77 33.1 7226
+-114.644 33.1 7046
+-114.518 33.1 6922
+-114.392 33.1 6856
+-114.266 33.1 6658
+-114.14 33.1 6507
+-114.014 33.1 6396
+-113.888 33.1 6272
+-113.762 33.1 6141
+-113.636 33.1 5946
+-113.51 33.1 5932
+-113.384 33.1 5911
+-113.258 33.1 5919
+-113.132 33.1 6051
+-113.006 33.1 6169
+-112.88 33.1 6283
+-112.754 33.1 6453
+-112.628 33.1 6574
+-112.502 33.1 6718
+-112.376 33.1 6758
+-112.25 33.1 6896
+-112.124 33.1 6935
+-111.998 33.1 7064
+-111.872 33.1 7173
+-111.746 33.1 7301
+-111.62 33.1 7418
+-111.494 33.1 7496
+-111.368 33.1 7539
+-111.242 33.1 7615
+-111.116 33.1 7672
+-110.99 33.1 7781
+-110.864 33.1 7790
+-110.738 33.1 7829
+-110.612 33.1 7865
+-110.486 33.1 7844
+-110.36 33.1 7853
+-110.234 33.1 7841
+-110.108 33.1 7834
+-109.982 33.1 7790
+-109.856 33.1 7738
+-109.73 33.1 7709
+-109.604 33.1 7637
+-109.478 33.1 7597
+-109.352 33.1 7534
+-109.226 33.1 7448
+-109.1 33.1 7326
+-108.974 33.1 7279
+-108.848 33.1 7120
+-108.722 33.1 7012
+-108.596 33.1 6939
+-108.47 33.1 6828
+-108.344 33.1 6706
+-108.218 33.1 6557
+-108.092 33.1 6495
+-107.966 33.1 6384
+-107.84 33.1 6282
+-107.714 33.1 6146
+-107.588 33.1 6002
+-107.462 33.1 5975
+-107.336 33.1 5860
+-107.21 33.1 5765
+-107.084 33.1 5700
+-106.958 33.1 5595
+-106.832 33.1 5446
+-106.706 33.1 5276
+-106.58 33.1 5112
+-106.454 33.1 4978
+-106.328 33.1 4846
+-106.202 33.1 4687
+-106.076 33.1 4583
+-105.95 33.1 4502
+-105.824 33.1 4431
+-105.698 33.1 4231
+-105.572 33.1 4030
+-105.446 33.1 3914
+-105.32 33.1 3880
+-105.194 33.1 3810
+-105.068 33.1 3699
+-104.942 33.1 3545
+-104.816 33.1 3351
+-104.69 33.1 3078
+-104.564 33.1 2914
+-104.438 33.1 3036
+-104.312 33.1 3211
+-104.186 33.1 3334
+-104.06 33.1 3416
+-103.934 33.1 3441
+-103.808 33.1 3482
+-103.682 33.1 3515
+-103.556 33.1 3542
+-103.43 33.1 3565
+-103.304 33.1 3585
+-103.178 33.1 3592
+-103.052 33.1 3565
+-102.926 33.1 3579
+-102.8 33.1 3591
+-102.674 33.1 3602
+-102.548 33.1 3612
+-102.422 33.1 3621
+-102.296 33.1 3629
+-102.17 33.1 3637
+-102.044 33.1 3644
+-101.918 33.1 3650
+-101.792 33.1 3656
+-101.666 33.1 3661
+-101.54 33.1 3667
+-101.414 33.1 3671
+-101.288 33.1 3591
+-101.162 33.1 3594
+-101.036 33.1 3597
+-100.91 33.1 3600
+-100.784 33.1 3550
+-100.658 33.1 3551
+-100.532 33.1 3552
+-100.406 33.1 3553
+-100.28 33.1 3325
+-100.154 33.1 3293
+-100.028 33.1 3237
+-99.902 33.1 3150
+-99.776 33.1 3066
+-99.65 33.1 3023
+-99.524 33.1 3005
+-99.398 33.1 2950
+-99.272 33.1 2779
+-99.146 33.1 2830
+-99.02 33.1 2828
+-98.894 33.1 2865
+-98.768 33.1 2892
+-98.642 33.1 2920
+-98.516 33.1 2946
+-98.39 33.1 3016
+-98.264 33.1 3012
+-98.138 33.1 3007
+-98.012 33.1 2969
+-97.886 33.1 2966
+-97.76 33.1 2894
+-97.634 33.1 2893
+-97.508 33.1 2891
+-97.382 33.1 2890
+-97.256 33.1 2888
+-97.13 33.1 2903
+-97.004 33.1 2901
+-96.878 33.1 2871
+-96.752 33.1 3009
+-96.626 33.1 3004
+-96.5 33.1 3015
+-96.374 33.1 3009
+-96.248 33.1 3002
+-96.122 33.1 2995
+-95.996 33.1 2980
+-95.87 33.1 2972
+-95.744 33.1 2981
+-95.618 33.1 2972
+-95.492 33.1 2962
+-95.366 33.1 2952
+-95.24 33.1 2941
+-95.114 33.1 2934
+-94.988 33.1 2919
+-94.862 33.1 2908
+-94.736 33.1 2888
+-94.61 33.1 2869
+-94.484 33.1 2839
+-94.358 33.1 2804
+-94.232 33.1 2780
+-94.106 33.1 2712
+-93.98 33.1 2631
+-93.854 33.1 2558
+-93.728 33.1 2534
+-93.602 33.1 2597
+-93.476 33.1 2722
+-93.35 33.1 2880
+-93.224 33.1 2989
+-93.098 33.1 3073
+-92.972 33.1 3141
+-92.846 33.1 3249
+-92.72 33.1 3326
+-92.594 33.1 3410
+-92.468 33.1 3568
+-92.342 33.1 3692
+-92.216 33.1 3898
+-92.09 33.1 4039
+-91.964 33.1 4087
+-91.838 33.1 4153
+-91.712 33.1 4208
+-91.586 33.1 4212
+-91.46 33.1 4243
+-91.334 33.1 4281
+-91.208 33.1 4289
+-91.082 33.1 4312
+-90.956 33.1 4325
+-90.83 33.1 4350
+-90.704 33.1 4372
+-90.578 33.1 4372
+-90.452 33.1 4342
+-90.326 33.1 4391
+-90.2 33.1 4418
+-90.074 33.1 4453
+-89.948 33.1 4503
+-89.822 33.1 4547
+-89.696 33.1 4586
+-89.57 33.1 4613
+-89.444 33.1 4636
+-89.318 33.1 4631
+-89.192 33.1 4640
+-89.066 33.1 4663
+-88.94 33.1 4689
+-88.814 33.1 4699
+-88.688 33.1 4691
+-88.562 33.1 4667
+-88.436 33.1 4633
+-88.31 33.1 4611
+-88.184 33.1 4590
+-88.058 33.1 4574
+-87.932 33.1 4569
+-87.806 33.1 4540
+-87.68 33.1 4483
+-87.554 33.1 4471
+-87.428 33.1 4426
+-87.302 33.1 4409
+-87.176 33.1 4368
+-87.05 33.1 4305
+-86.924 33.1 4260
+-86.798 33.1 4219
+-86.672 33.1 4185
+-86.546 33.1 4160
+-86.42 33.1 4147
+-86.294 33.1 4135
+-86.168 33.1 4129
+-86.042 33.1 4064
+-85.916 33.1 4027
+-85.79 33.1 3981
+-85.664 33.1 3885
+-85.538 33.1 3770
+-85.412 33.1 3620
+-85.286 33.1 3528
+-85.16 33.1 3408
+-85.034 33.1 3324
+-84.908 33.1 3278
+-84.782 33.1 3264
+-84.656 33.1 3283
+-84.53 33.1 3344
+-84.404 33.1 3422
+-84.278 33.1 3488
+-84.152 33.1 3539
+-84.026 33.1 3561
+-83.9 33.1 3560
+-83.774 33.1 3582
+-83.648 33.1 3624
+-83.522 33.1 3652
+-83.396 33.1 3672
+-83.27 33.1 3722
+-83.144 33.1 3740
+-83.018 33.1 3749
+-82.892 33.1 3769
+-82.766 33.1 3810
+-82.64 33.1 3856
+-82.514 33.1 3884
+-82.388 33.1 3922
+-82.262 33.1 3929
+-82.136 33.1 3930
+-82.01 33.1 3916
+-81.884 33.1 3897
+-81.758 33.1 3870
+-81.632 33.1 3878
+-81.506 33.1 3865
+-81.38 33.1 3836
+-81.254 33.1 3855
+-81.128 33.1 3860
+-81.002 33.1 3843
+-80.876 33.1 3818
+-80.75 33.1 3762
+-80.624 33.1 3732
+-80.498 33.1 3747
+-80.372 33.1 3761
+-80.246 33.1 3752
+-80.12 33.1 3723
+-79.994 33.1 3655
+-79.868 33.1 3625
+-79.742 33.1 3590
+-79.616 33.1 3552
+-79.49 33.1 3518
+-79.364 33.1 3478
+-79.238 33.1 3416
+-79.112 33.1 3366
+-78.986 33.1 3310
+-78.86 33.1 3264
+-78.734 33.1 3213
+-78.608 33.1 3156
+-78.482 33.1 3122
+-78.356 33.1 3107
+-78.23 33.1 3116
+-78.104 33.1 3147
+-77.978 33.1 3172
+-77.852 33.1 3201
+-77.726 33.1 3230
+-77.6 33.1 3232
+-77.474 33.1 3273
+-77.348 33.1 3298
+-77.222 33.1 3318
+-77.096 33.1 3344
+-76.97 33.1 3311
+-76.844 33.1 3270
+-76.718 33.1 3291
+-76.592 33.1 3300
+-76.466 33.1 3295
+-76.34 33.1 3318
+-76.214 33.1 3327
+-76.088 33.1 3323
+-75.962 33.1 3335
+-75.836 33.1 3254
+-75.71 33.1 3259
+-75.584 33.1 3337
+-75.458 33.1 3327
+-75.332 33.1 3258
+-75.206 33.1 3257
+-75.08 33.1 3262
+-74.954 33.1 3267
+-74.828 33.1 3203
+-74.702 33.1 3234
+-74.576 33.1 3232
+-74.45 33.1 3235
+-74.324 33.1 3238
+-74.198 33.1 3378
+-74.072 33.1 3318
+-73.946 33.1 3327
+-73.82 33.1 3331
+-73.694 33.1 3243
+-73.568 33.1 3234
+-73.442 33.1 3236
+-73.316 33.1 3238
+-73.19 33.1 3222
+-73.064 33.1 3223
+-72.938 33.1 3225
+-72.812 33.1 3227
+-72.686 33.1 3200
+-72.56 33.1 3242
+-72.434 33.1 3245
+-72.308 33.1 3231
+-72.182 33.1 3234
+-72.056 33.1 3236
+-71.93 33.1 3185
+-71.804 33.1 3340
+-71.678 33.1 3309
+-71.552 33.1 3311
+-71.426 33.1 3279
+-71.3 33.1 3280
+-71.174 33.1 3282
+-71.048 33.1 3395
+-70.922 33.1 3397
+-70.796 33.1 3399
+-70.67 33.1 3401
+-70.544 33.1 3403
+-70.418 33.1 3499
+-70.292 33.1 3502
+-70.166 33.1 3428
+-70.04 33.1 3430
+-69.914 33.1 3432
+-69.788 33.1 3434
+-69.662 33.1 3439
+-69.536 33.1 3404
+-69.41 33.1 3397
+-69.284 33.1 3351
+-69.158 33.1 3352
+-69.032 33.1 3316
+-68.906 33.1 3360
+-68.78 33.1 3362
+-68.654 33.1 3364
+-68.528 33.1 3366
+-68.402 33.1 3368
+-68.276 33.1 3370
+-68.15 33.1 3371
+-68.024 33.1 3347
+-67.898 33.1 3348
+-67.772 33.1 3350
+-67.646 33.1 3321
+-67.52 33.1 3291
+-67.394 33.1 3271
+-67.268 33.1 3272
+-67.142 33.1 3274
+-67.016 33.1 3275
+-66.89 33.1 3276
+-66.764 33.1 3277
+-66.638 33.1 3278
+-66.512 33.1 3207
+-66.386 33.1 3192
+-66.26 33.1 3193
+-66.134 33.1 3195
+-66.008 33.1 3196
+-65.882 33.1 3197
+-65.756 33.1 3198
+-65.63 33.1 3199
+-65.504 33.1 3201
+-65.378 33.1 3202
+-65.252 33.1 3203
+-65.126 33.1 3204
+-128 33.048 2622
+-127.874 33.048 2615
+-127.748 33.048 2607
+-127.622 33.048 2598
+-127.496 33.048 2631
+-127.37 33.048 2711
+-127.244 33.048 2698
+-127.118 33.048 2709
+-126.992 33.048 2693
+-126.866 33.048 2676
+-126.74 33.048 2656
+-126.614 33.048 2634
+-126.488 33.048 2610
+-126.362 33.048 2582
+-126.236 33.048 2622
+-126.11 33.048 2584
+-125.984 33.048 2541
+-125.858 33.048 2490
+-125.732 33.048 2446
+-125.606 33.048 2373
+-125.48 33.048 2345
+-125.354 33.048 2234
+-125.228 33.048 2101
+-125.102 33.048 1942
+-124.976 33.048 1780
+-124.85 33.048 1611
+-124.724 33.048 1539
+-124.598 33.048 1662
+-124.472 33.048 1884
+-124.346 33.048 1965
+-124.22 33.048 1956
+-124.094 33.048 2066
+-123.968 33.048 2339
+-123.842 33.048 2629
+-123.716 33.048 2895
+-123.59 33.048 3169
+-123.464 33.048 3325
+-123.338 33.048 3447
+-123.212 33.048 3636
+-123.086 33.048 3721
+-122.96 33.048 3864
+-122.834 33.048 4042
+-122.708 33.048 4093
+-122.582 33.048 4180
+-122.456 33.048 4242
+-122.33 33.048 4268
+-122.204 33.048 4270
+-122.078 33.048 4150
+-121.952 33.048 4394
+-121.826 33.048 4525
+-121.7 33.048 4637
+-121.574 33.048 4767
+-121.448 33.048 4901
+-121.322 33.048 5029
+-121.196 33.048 5140
+-121.07 33.048 5249
+-120.944 33.048 5381
+-120.818 33.048 5530
+-120.692 33.048 5715
+-120.566 33.048 5883
+-120.44 33.048 6006
+-120.314 33.048 6018
+-120.188 33.048 6197
+-120.062 33.048 6283
+-119.936 33.048 6463
+-119.81 33.048 6623
+-119.684 33.048 6697
+-119.558 33.048 6818
+-119.432 33.048 6997
+-119.306 33.048 7055
+-119.18 33.048 7219
+-119.054 33.048 7486
+-118.928 33.048 7568
+-118.802 33.048 7763
+-118.676 33.048 7917
+-118.55 33.048 7976
+-118.424 33.048 8131
+-118.298 33.048 8304
+-118.172 33.048 8439
+-118.046 33.048 8570
+-117.92 33.048 8759
+-117.794 33.048 8862
+-117.668 33.048 8955
+-117.542 33.048 9082
+-117.416 33.048 9275
+-117.29 33.048 9409
+-117.164 33.048 9494
+-117.038 33.048 9486
+-116.912 33.048 9503
+-116.786 33.048 9376
+-116.66 33.048 9252
+-116.534 33.048 9145
+-116.408 33.048 9000
+-116.282 33.048 8909
+-116.156 33.048 8767
+-116.03 33.048 8602
+-115.904 33.048 8455
+-115.778 33.048 8395
+-115.652 33.048 8196
+-115.526 33.048 8075
+-115.4 33.048 7916
+-115.274 33.048 7772
+-115.148 33.048 7647
+-115.022 33.048 7556
+-114.896 33.048 7343
+-114.77 33.048 7271
+-114.644 33.048 7083
+-114.518 33.048 6929
+-114.392 33.048 6775
+-114.266 33.048 6624
+-114.14 33.048 6488
+-114.014 33.048 6408
+-113.888 33.048 6268
+-113.762 33.048 6128
+-113.636 33.048 6019
+-113.51 33.048 5948
+-113.384 33.048 5943
+-113.258 33.048 6024
+-113.132 33.048 6118
+-113.006 33.048 6258
+-112.88 33.048 6316
+-112.754 33.048 6442
+-112.628 33.048 6595
+-112.502 33.048 6748
+-112.376 33.048 6864
+-112.25 33.048 6934
+-112.124 33.048 6995
+-111.998 33.048 7132
+-111.872 33.048 7248
+-111.746 33.048 7334
+-111.62 33.048 7458
+-111.494 33.048 7472
+-111.368 33.048 7566
+-111.242 33.048 7681
+-111.116 33.048 7725
+-110.99 33.048 7804
+-110.864 33.048 7846
+-110.738 33.048 7879
+-110.612 33.048 7919
+-110.486 33.048 7909
+-110.36 33.048 7911
+-110.234 33.048 7901
+-110.108 33.048 7888
+-109.982 33.048 7847
+-109.856 33.048 7812
+-109.73 33.048 7755
+-109.604 33.048 7682
+-109.478 33.048 7606
+-109.352 33.048 7519
+-109.226 33.048 7489
+-109.1 33.048 7367
+-108.974 33.048 7263
+-108.848 33.048 7162
+-108.722 33.048 7082
+-108.596 33.048 7006
+-108.47 33.048 6929
+-108.344 33.048 6753
+-108.218 33.048 6618
+-108.092 33.048 6501
+-107.966 33.048 6400
+-107.84 33.048 6293
+-107.714 33.048 6156
+-107.588 33.048 6097
+-107.462 33.048 5973
+-107.336 33.048 5823
+-107.21 33.048 5781
+-107.084 33.048 5659
+-106.958 33.048 5561
+-106.832 33.048 5428
+-106.706 33.048 5351
+-106.58 33.048 5182
+-106.454 33.048 5055
+-106.328 33.048 4891
+-106.202 33.048 4739
+-106.076 33.048 4583
+-105.95 33.048 4479
+-105.824 33.048 4453
+-105.698 33.048 4365
+-105.572 33.048 4154
+-105.446 33.048 4018
+-105.32 33.048 3918
+-105.194 33.048 3840
+-105.068 33.048 3726
+-104.942 33.048 3594
+-104.816 33.048 3410
+-104.69 33.048 3185
+-104.564 33.048 3057
+-104.438 33.048 3131
+-104.312 33.048 3260
+-104.186 33.048 3370
+-104.06 33.048 3409
+-103.934 33.048 3461
+-103.808 33.048 3501
+-103.682 33.048 3527
+-103.556 33.048 3552
+-103.43 33.048 3573
+-103.304 33.048 3591
+-103.178 33.048 3562
+-103.052 33.048 3576
+-102.926 33.048 3589
+-102.8 33.048 3600
+-102.674 33.048 3611
+-102.548 33.048 3620
+-102.422 33.048 3628
+-102.296 33.048 3636
+-102.17 33.048 3643
+-102.044 33.048 3650
+-101.918 33.048 3656
+-101.792 33.048 3661
+-101.666 33.048 3667
+-101.54 33.048 3671
+-101.414 33.048 3592
+-101.288 33.048 3595
+-101.162 33.048 3598
+-101.036 33.048 3601
+-100.91 33.048 3551
+-100.784 33.048 3552
+-100.658 33.048 3552
+-100.532 33.048 3553
+-100.406 33.048 3554
+-100.28 33.048 3323
+-100.154 33.048 3292
+-100.028 33.048 3236
+-99.902 33.048 3138
+-99.776 33.048 3051
+-99.65 33.048 3007
+-99.524 33.048 2983
+-99.398 33.048 2793
+-99.272 33.048 2760
+-99.146 33.048 2748
+-99.02 33.048 2842
+-98.894 33.048 2879
+-98.768 33.048 2906
+-98.642 33.048 2916
+-98.516 33.048 2943
+-98.39 33.048 3001
+-98.264 33.048 2997
+-98.138 33.048 2958
+-98.012 33.048 2955
+-97.886 33.048 2882
+-97.76 33.048 2881
+-97.634 33.048 2879
+-97.508 33.048 2877
+-97.382 33.048 2876
+-97.256 33.048 2890
+-97.13 33.048 2888
+-97.004 33.048 2886
+-96.878 33.048 2857
+-96.752 33.048 2856
+-96.626 33.048 3015
+-96.5 33.048 3008
+-96.374 33.048 3002
+-96.248 33.048 2995
+-96.122 33.048 2979
+-95.996 33.048 2971
+-95.87 33.048 2980
+-95.744 33.048 2971
+-95.618 33.048 2961
+-95.492 33.048 2951
+-95.366 33.048 2939
+-95.24 33.048 2932
+-95.114 33.048 2917
+-94.988 33.048 2906
+-94.862 33.048 2887
+-94.736 33.048 2839
+-94.61 33.048 2813
+-94.484 33.048 2809
+-94.358 33.048 2768
+-94.232 33.048 2704
+-94.106 33.048 2617
+-93.98 33.048 2518
+-93.854 33.048 2398
+-93.728 33.048 2342
+-93.602 33.048 2419
+-93.476 33.048 2604
+-93.35 33.048 2780
+-93.224 33.048 2936
+-93.098 33.048 3047
+-92.972 33.048 3173
+-92.846 33.048 3252
+-92.72 33.048 3332
+-92.594 33.048 3411
+-92.468 33.048 3596
+-92.342 33.048 3683
+-92.216 33.048 3820
+-92.09 33.048 4038
+-91.964 33.048 4072
+-91.838 33.048 4145
+-91.712 33.048 4171
+-91.586 33.048 4193
+-91.46 33.048 4245
+-91.334 33.048 4254
+-91.208 33.048 4279
+-91.082 33.048 4308
+-90.956 33.048 4321
+-90.83 33.048 4342
+-90.704 33.048 4356
+-90.578 33.048 4378
+-90.452 33.048 4371
+-90.326 33.048 4383
+-90.2 33.048 4387
+-90.074 33.048 4396
+-89.948 33.048 4434
+-89.822 33.048 4482
+-89.696 33.048 4526
+-89.57 33.048 4552
+-89.444 33.048 4566
+-89.318 33.048 4566
+-89.192 33.048 4584
+-89.066 33.048 4601
+-88.94 33.048 4620
+-88.814 33.048 4633
+-88.688 33.048 4621
+-88.562 33.048 4609
+-88.436 33.048 4592
+-88.31 33.048 4592
+-88.184 33.048 4563
+-88.058 33.048 4531
+-87.932 33.048 4526
+-87.806 33.048 4488
+-87.68 33.048 4448
+-87.554 33.048 4420
+-87.428 33.048 4366
+-87.302 33.048 4329
+-87.176 33.048 4311
+-87.05 33.048 4270
+-86.924 33.048 4218
+-86.798 33.048 4173
+-86.672 33.048 4117
+-86.546 33.048 4095
+-86.42 33.048 4098
+-86.294 33.048 4101
+-86.168 33.048 4084
+-86.042 33.048 4001
+-85.916 33.048 3972
+-85.79 33.048 3922
+-85.664 33.048 3854
+-85.538 33.048 3744
+-85.412 33.048 3594
+-85.286 33.048 3495
+-85.16 33.048 3414
+-85.034 33.048 3338
+-84.908 33.048 3281
+-84.782 33.048 3243
+-84.656 33.048 3289
+-84.53 33.048 3364
+-84.404 33.048 3450
+-84.278 33.048 3514
+-84.152 33.048 3553
+-84.026 33.048 3567
+-83.9 33.048 3586
+-83.774 33.048 3620
+-83.648 33.048 3665
+-83.522 33.048 3694
+-83.396 33.048 3730
+-83.27 33.048 3791
+-83.144 33.048 3807
+-83.018 33.048 3807
+-82.892 33.048 3841
+-82.766 33.048 3880
+-82.64 33.048 3933
+-82.514 33.048 3952
+-82.388 33.048 3968
+-82.262 33.048 3980
+-82.136 33.048 3979
+-82.01 33.048 3950
+-81.884 33.048 3911
+-81.758 33.048 3933
+-81.632 33.048 3938
+-81.506 33.048 3921
+-81.38 33.048 3883
+-81.254 33.048 3888
+-81.128 33.048 3882
+-81.002 33.048 3863
+-80.876 33.048 3836
+-80.75 33.048 3753
+-80.624 33.048 3699
+-80.498 33.048 3735
+-80.372 33.048 3769
+-80.246 33.048 3781
+-80.12 33.048 3767
+-79.994 33.048 3707
+-79.868 33.048 3638
+-79.742 33.048 3600
+-79.616 33.048 3567
+-79.49 33.048 3532
+-79.364 33.048 3481
+-79.238 33.048 3446
+-79.112 33.048 3406
+-78.986 33.048 3376
+-78.86 33.048 3339
+-78.734 33.048 3290
+-78.608 33.048 3255
+-78.482 33.048 3227
+-78.356 33.048 3218
+-78.23 33.048 3228
+-78.104 33.048 3234
+-77.978 33.048 3248
+-77.852 33.048 3265
+-77.726 33.048 3259
+-77.6 33.048 3294
+-77.474 33.048 3314
+-77.348 33.048 3331
+-77.222 33.048 3353
+-77.096 33.048 3320
+-76.97 33.048 3279
+-76.844 33.048 3298
+-76.718 33.048 3306
+-76.592 33.048 3301
+-76.466 33.048 3322
+-76.34 33.048 3331
+-76.214 33.048 3326
+-76.088 33.048 3337
+-75.962 33.048 3344
+-75.836 33.048 3351
+-75.71 33.048 3339
+-75.584 33.048 3329
+-75.458 33.048 3264
+-75.332 33.048 3262
+-75.206 33.048 3267
+-75.08 33.048 3271
+-74.954 33.048 3298
+-74.828 33.048 3239
+-74.702 33.048 3236
+-74.576 33.048 3239
+-74.45 33.048 3242
+-74.324 33.048 3378
+-74.198 33.048 3321
+-74.072 33.048 3327
+-73.946 33.048 3331
+-73.82 33.048 3243
+-73.694 33.048 3234
+-73.568 33.048 3236
+-73.442 33.048 3238
+-73.316 33.048 3222
+-73.19 33.048 3223
+-73.064 33.048 3225
+-72.938 33.048 3226
+-72.812 33.048 3200
+-72.686 33.048 3242
+-72.56 33.048 3244
+-72.434 33.048 3231
+-72.308 33.048 3233
+-72.182 33.048 3236
+-72.056 33.048 3184
+-71.93 33.048 3338
+-71.804 33.048 3307
+-71.678 33.048 3309
+-71.552 33.048 3277
+-71.426 33.048 3279
+-71.3 33.048 3281
+-71.174 33.048 3392
+-71.048 33.048 3394
+-70.922 33.048 3396
+-70.796 33.048 3398
+-70.67 33.048 3400
+-70.544 33.048 3496
+-70.418 33.048 3498
+-70.292 33.048 3425
+-70.166 33.048 3427
+-70.04 33.048 3430
+-69.914 33.048 3432
+-69.788 33.048 3437
+-69.662 33.048 3402
+-69.536 33.048 3394
+-69.41 33.048 3349
+-69.284 33.048 3351
+-69.158 33.048 3314
+-69.032 33.048 3358
+-68.906 33.048 3360
+-68.78 33.048 3362
+-68.654 33.048 3364
+-68.528 33.048 3366
+-68.402 33.048 3368
+-68.276 33.048 3370
+-68.15 33.048 3345
+-68.024 33.048 3347
+-67.898 33.048 3349
+-67.772 33.048 3320
+-67.646 33.048 3289
+-67.52 33.048 3270
+-67.394 33.048 3271
+-67.268 33.048 3273
+-67.142 33.048 3274
+-67.016 33.048 3275
+-66.89 33.048 3276
+-66.764 33.048 3278
+-66.638 33.048 3206
+-66.512 33.048 3191
+-66.386 33.048 3192
+-66.26 33.048 3194
+-66.134 33.048 3195
+-66.008 33.048 3196
+-65.882 33.048 3198
+-65.756 33.048 3199
+-65.63 33.048 3200
+-65.504 33.048 3201
+-65.378 33.048 3202
+-65.252 33.048 3203
+-65.126 33.048 3204
+-128 32.996 2622
+-127.874 32.996 2615
+-127.748 32.996 2607
+-127.622 32.996 2640
+-127.496 32.996 2629
+-127.37 32.996 2737
+-127.244 32.996 2724
+-127.118 32.996 2710
+-126.992 32.996 2694
+-126.866 32.996 2677
+-126.74 32.996 2658
+-126.614 32.996 2637
+-126.488 32.996 2613
+-126.362 32.996 2586
+-126.236 32.996 2555
+-126.11 32.996 2591
+-125.984 32.996 2549
+-125.858 32.996 2501
+-125.732 32.996 2445
+-125.606 32.996 2394
+-125.48 32.996 2314
+-125.354 32.996 2274
+-125.228 32.996 2160
+-125.102 32.996 2031
+-124.976 32.996 1899
+-124.85 32.996 1807
+-124.724 32.996 1779
+-124.598 32.996 1862
+-124.472 32.996 1963
+-124.346 32.996 1938
+-124.22 32.996 1878
+-124.094 32.996 1980
+-123.968 32.996 2270
+-123.842 32.996 2606
+-123.716 32.996 2874
+-123.59 32.996 3125
+-123.464 32.996 3306
+-123.338 32.996 3421
+-123.212 32.996 3600
+-123.086 32.996 3720
+-122.96 32.996 3822
+-122.834 32.996 3967
+-122.708 32.996 4067
+-122.582 32.996 4195
+-122.456 32.996 4209
+-122.33 32.996 4244
+-122.204 32.996 4298
+-122.078 32.996 4333
+-121.952 32.996 4450
+-121.826 32.996 4510
+-121.7 32.996 4610
+-121.574 32.996 4773
+-121.448 32.996 4842
+-121.322 32.996 5018
+-121.196 32.996 5181
+-121.07 32.996 5249
+-120.944 32.996 5378
+-120.818 32.996 5573
+-120.692 32.996 5685
+-120.566 32.996 5843
+-120.44 32.996 5974
+-120.314 32.996 6012
+-120.188 32.996 6198
+-120.062 32.996 6309
+-119.936 32.996 6468
+-119.81 32.996 6560
+-119.684 32.996 6677
+-119.558 32.996 6800
+-119.432 32.996 7006
+-119.306 32.996 7187
+-119.18 32.996 7346
+-119.054 32.996 7501
+-118.928 32.996 7675
+-118.802 32.996 7753
+-118.676 32.996 7927
+-118.55 32.996 8092
+-118.424 32.996 8147
+-118.298 32.996 8333
+-118.172 32.996 8495
+-118.046 32.996 8610
+-117.92 32.996 8798
+-117.794 32.996 8913
+-117.668 32.996 9051
+-117.542 32.996 9162
+-117.416 32.996 9322
+-117.29 32.996 9407
+-117.164 32.996 9515
+-117.038 32.996 9592
+-116.912 32.996 9550
+-116.786 32.996 9454
+-116.66 32.996 9299
+-116.534 32.996 9161
+-116.408 32.996 9007
+-116.282 32.996 8906
+-116.156 32.996 8798
+-116.03 32.996 8621
+-115.904 32.996 8457
+-115.778 32.996 8321
+-115.652 32.996 8228
+-115.526 32.996 8080
+-115.4 32.996 7977
+-115.274 32.996 7808
+-115.148 32.996 7583
+-115.022 32.996 7463
+-114.896 32.996 7427
+-114.77 32.996 7263
+-114.644 32.996 7076
+-114.518 32.996 6916
+-114.392 32.996 6770
+-114.266 32.996 6651
+-114.14 32.996 6535
+-114.014 32.996 6443
+-113.888 32.996 6274
+-113.762 32.996 6100
+-113.636 32.996 5944
+-113.51 32.996 5932
+-113.384 32.996 5907
+-113.258 32.996 6012
+-113.132 32.996 6148
+-113.006 32.996 6244
+-112.88 32.996 6385
+-112.754 32.996 6461
+-112.628 32.996 6611
+-112.502 32.996 6777
+-112.376 32.996 6902
+-112.25 32.996 6929
+-112.124 32.996 7110
+-111.998 32.996 7186
+-111.872 32.996 7232
+-111.746 32.996 7355
+-111.62 32.996 7442
+-111.494 32.996 7563
+-111.368 32.996 7611
+-111.242 32.996 7692
+-111.116 32.996 7754
+-110.99 32.996 7825
+-110.864 32.996 7893
+-110.738 32.996 7909
+-110.612 32.996 7939
+-110.486 32.996 7964
+-110.36 32.996 7961
+-110.234 32.996 7938
+-110.108 32.996 7976
+-109.982 32.996 7902
+-109.856 32.996 7869
+-109.73 32.996 7796
+-109.604 32.996 7749
+-109.478 32.996 7668
+-109.352 32.996 7539
+-109.226 32.996 7549
+-109.1 32.996 7450
+-108.974 32.996 7317
+-108.848 32.996 7226
+-108.722 32.996 7124
+-108.596 32.996 6988
+-108.47 32.996 6924
+-108.344 32.996 6748
+-108.218 32.996 6725
+-108.092 32.996 6524
+-107.966 32.996 6448
+-107.84 32.996 6331
+-107.714 32.996 6200
+-107.588 32.996 6096
+-107.462 32.996 5989
+-107.336 32.996 5885
+-107.21 32.996 5758
+-107.084 32.996 5561
+-106.958 32.996 5530
+-106.832 32.996 5392
+-106.706 32.996 5338
+-106.58 32.996 5225
+-106.454 32.996 5098
+-106.328 32.996 4951
+-106.202 32.996 4738
+-106.076 32.996 4543
+-105.95 32.996 4395
+-105.824 32.996 4446
+-105.698 32.996 4372
+-105.572 32.996 4289
+-105.446 32.996 4118
+-105.32 32.996 4020
+-105.194 32.996 3869
+-105.068 32.996 3765
+-104.942 32.996 3655
+-104.816 32.996 3514
+-104.69 32.996 3378
+-104.564 32.996 3295
+-104.438 32.996 3307
+-104.312 32.996 3365
+-104.186 32.996 3433
+-104.06 32.996 3449
+-103.934 32.996 3493
+-103.808 32.996 3525
+-103.682 32.996 3552
+-103.556 32.996 3574
+-103.43 32.996 3593
+-103.304 32.996 3561
+-103.178 32.996 3576
+-103.052 32.996 3589
+-102.926 32.996 3600
+-102.8 32.996 3611
+-102.674 32.996 3620
+-102.548 32.996 3629
+-102.422 32.996 3637
+-102.296 32.996 3644
+-102.17 32.996 3650
+-102.044 32.996 3656
+-101.918 32.996 3662
+-101.792 32.996 3667
+-101.666 32.996 3672
+-101.54 32.996 3593
+-101.414 32.996 3596
+-101.288 32.996 3599
+-101.162 32.996 3602
+-101.036 32.996 3551
+-100.91 32.996 3552
+-100.784 32.996 3553
+-100.658 32.996 3554
+-100.532 32.996 3554
+-100.406 32.996 3555
+-100.28 32.996 3322
+-100.154 32.996 3268
+-100.028 32.996 3184
+-99.902 32.996 3135
+-99.776 32.996 3048
+-99.65 32.996 3003
+-99.524 32.996 2971
+-99.398 32.996 2778
+-99.272 32.996 2727
+-99.146 32.996 2760
+-99.02 32.996 2775
+-98.894 32.996 2892
+-98.768 32.996 2902
+-98.642 32.996 2900
+-98.516 32.996 2928
+-98.39 32.996 2986
+-98.264 32.996 2948
+-98.138 32.996 2944
+-98.012 32.996 2871
+-97.886 32.996 2869
+-97.76 32.996 2867
+-97.634 32.996 2865
+-97.508 32.996 2863
+-97.382 32.996 2878
+-97.256 32.996 2875
+-97.13 32.996 2873
+-97.004 32.996 2843
+-96.878 32.996 2842
+-96.752 32.996 2858
+-96.626 32.996 2857
+-96.5 32.996 3002
+-96.374 32.996 2995
+-96.248 32.996 2978
+-96.122 32.996 2971
+-95.996 32.996 2980
+-95.87 32.996 2971
+-95.744 32.996 2961
+-95.618 32.996 2950
+-95.492 32.996 2939
+-95.366 32.996 2932
+-95.24 32.996 2917
+-95.114 32.996 2906
+-94.988 32.996 2887
+-94.862 32.996 2839
+-94.736 32.996 2815
+-94.61 32.996 2786
+-94.484 32.996 2784
+-94.358 32.996 2732
+-94.232 32.996 2663
+-94.106 32.996 2571
+-93.98 32.996 2452
+-93.854 32.996 2326
+-93.728 32.996 2264
+-93.602 32.996 2339
+-93.476 32.996 2527
+-93.35 32.996 2730
+-93.224 32.996 2892
+-93.098 32.996 3052
+-92.972 32.996 3154
+-92.846 32.996 3245
+-92.72 32.996 3327
+-92.594 32.996 3503
+-92.468 32.996 3589
+-92.342 32.996 3671
+-92.216 32.996 3745
+-92.09 32.996 3939
+-91.964 32.996 4095
+-91.838 32.996 4123
+-91.712 32.996 4163
+-91.586 32.996 4180
+-91.46 32.996 4208
+-91.334 32.996 4237
+-91.208 32.996 4260
+-91.082 32.996 4289
+-90.956 32.996 4299
+-90.83 32.996 4328
+-90.704 32.996 4338
+-90.578 32.996 4362
+-90.452 32.996 4360
+-90.326 32.996 4358
+-90.2 32.996 4347
+-90.074 32.996 4364
+-89.948 32.996 4372
+-89.822 32.996 4416
+-89.696 32.996 4474
+-89.57 32.996 4502
+-89.444 32.996 4497
+-89.318 32.996 4508
+-89.192 32.996 4528
+-89.066 32.996 4526
+-88.94 32.996 4538
+-88.814 32.996 4549
+-88.688 32.996 4537
+-88.562 32.996 4539
+-88.436 32.996 4538
+-88.31 32.996 4546
+-88.184 32.996 4507
+-88.058 32.996 4473
+-87.932 32.996 4446
+-87.806 32.996 4420
+-87.68 32.996 4387
+-87.554 32.996 4340
+-87.428 32.996 4293
+-87.302 32.996 4250
+-87.176 32.996 4258
+-87.05 32.996 4225
+-86.924 32.996 4173
+-86.798 32.996 4113
+-86.672 32.996 4020
+-86.546 32.996 3970
+-86.42 32.996 3988
+-86.294 32.996 4019
+-86.168 32.996 4045
+-86.042 32.996 3954
+-85.916 32.996 3906
+-85.79 32.996 3848
+-85.664 32.996 3781
+-85.538 32.996 3701
+-85.412 32.996 3588
+-85.286 32.996 3532
+-85.16 32.996 3431
+-85.034 32.996 3366
+-84.908 32.996 3320
+-84.782 32.996 3292
+-84.656 32.996 3331
+-84.53 32.996 3412
+-84.404 32.996 3492
+-84.278 32.996 3554
+-84.152 32.996 3593
+-84.026 32.996 3616
+-83.9 32.996 3643
+-83.774 32.996 3677
+-83.648 32.996 3722
+-83.522 32.996 3752
+-83.396 32.996 3792
+-83.27 32.996 3863
+-83.144 32.996 3895
+-83.018 32.996 3903
+-82.892 32.996 3946
+-82.766 32.996 3967
+-82.64 32.996 4037
+-82.514 32.996 4046
+-82.388 32.996 4054
+-82.262 32.996 4055
+-82.136 32.996 4047
+-82.01 32.996 4027
+-81.884 32.996 3990
+-81.758 32.996 4004
+-81.632 32.996 4014
+-81.506 32.996 4006
+-81.38 32.996 3980
+-81.254 32.996 3945
+-81.128 32.996 3888
+-81.002 32.996 3854
+-80.876 32.996 3859
+-80.75 32.996 3805
+-80.624 32.996 3755
+-80.498 32.996 3777
+-80.372 32.996 3788
+-80.246 32.996 3806
+-80.12 32.996 3772
+-79.994 32.996 3713
+-79.868 32.996 3675
+-79.742 32.996 3608
+-79.616 32.996 3566
+-79.49 32.996 3517
+-79.364 32.996 3489
+-79.238 32.996 3474
+-79.112 32.996 3441
+-78.986 32.996 3415
+-78.86 32.996 3373
+-78.734 32.996 3343
+-78.608 32.996 3315
+-78.482 32.996 3302
+-78.356 32.996 3304
+-78.23 32.996 3298
+-78.104 32.996 3300
+-77.978 32.996 3307
+-77.852 32.996 3293
+-77.726 32.996 3320
+-77.6 32.996 3335
+-77.474 32.996 3348
+-77.348 32.996 3367
+-77.222 32.996 3332
+-77.096 32.996 3290
+-76.97 32.996 3307
+-76.844 32.996 3314
+-76.718 32.996 3308
+-76.592 32.996 3329
+-76.466 32.996 3336
+-76.34 32.996 3331
+-76.214 32.996 3341
+-76.088 32.996 3348
+-75.962 32.996 3354
+-75.836 32.996 3342
+-75.71 32.996 3331
+-75.584 32.996 3351
+-75.458 32.996 3268
+-75.332 32.996 3272
+-75.206 32.996 3277
+-75.08 32.996 3299
+-74.954 32.996 3331
+-74.828 32.996 3241
+-74.702 32.996 3244
+-74.576 32.996 3246
+-74.45 32.996 3378
+-74.324 32.996 3319
+-74.198 32.996 3327
+-74.072 32.996 3330
+-73.946 32.996 3243
+-73.82 32.996 3234
+-73.694 32.996 3236
+-73.568 32.996 3238
+-73.442 32.996 3222
+-73.316 32.996 3223
+-73.19 32.996 3225
+-73.064 32.996 3226
+-72.938 32.996 3200
+-72.812 32.996 3241
+-72.686 32.996 3243
+-72.56 32.996 3230
+-72.434 32.996 3233
+-72.308 32.996 3235
+-72.182 32.996 3184
+-72.056 32.996 3336
+-71.93 32.996 3305
+-71.804 32.996 3307
+-71.678 32.996 3275
+-71.552 32.996 3277
+-71.426 32.996 3279
+-71.3 32.996 3389
+-71.174 32.996 3391
+-71.048 32.996 3393
+-70.922 32.996 3395
+-70.796 32.996 3398
+-70.67 32.996 3492
+-70.544 32.996 3495
+-70.418 32.996 3422
+-70.292 32.996 3425
+-70.166 32.996 3427
+-70.04 32.996 3429
+-69.914 32.996 3434
+-69.788 32.996 3399
+-69.662 32.996 3392
+-69.536 32.996 3347
+-69.41 32.996 3349
+-69.284 32.996 3313
+-69.158 32.996 3356
+-69.032 32.996 3358
+-68.906 32.996 3360
+-68.78 32.996 3362
+-68.654 32.996 3364
+-68.528 32.996 3366
+-68.402 32.996 3368
+-68.276 32.996 3344
+-68.15 32.996 3346
+-68.024 32.996 3347
+-67.898 32.996 3319
+-67.772 32.996 3288
+-67.646 32.996 3269
+-67.52 32.996 3270
+-67.394 32.996 3272
+-67.268 32.996 3273
+-67.142 32.996 3274
+-67.016 32.996 3276
+-66.89 32.996 3277
+-66.764 32.996 3205
+-66.638 32.996 3190
+-66.512 32.996 3192
+-66.386 32.996 3193
+-66.26 32.996 3194
+-66.134 32.996 3196
+-66.008 32.996 3197
+-65.882 32.996 3198
+-65.756 32.996 3199
+-65.63 32.996 3200
+-65.504 32.996 3202
+-65.378 32.996 3203
+-65.252 32.996 3204
+-65.126 32.996 3205
+-128 32.944 2622
+-127.874 32.944 2615
+-127.748 32.944 2649
+-127.622 32.944 2639
+-127.496 32.944 2751
+-127.37 32.944 2739
+-127.244 32.944 2726
+-127.118 32.944 2712
+-126.992 32.944 2697
+-126.866 32.944 2680
+-126.74 32.944 2661
+-126.614 32.944 2641
+-126.488 32.944 2618
+-126.362 32.944 2593
+-126.236 32.944 2564
+-126.11 32.944 2531
+-125.984 32.944 2563
+-125.858 32.944 2519
+-125.732 32.944 2468
+-125.606 32.944 2410
+-125.48 32.944 2357
+-125.354 32.944 2332
+-125.228 32.944 2241
+-125.102 32.944 2145
+-124.976 32.944 2056
+-124.85 32.944 1994
+-124.724 32.944 2000
+-124.598 32.944 2034
+-124.472 32.944 2054
+-124.346 32.944 2006
+-124.22 32.944 1967
+-124.094 32.944 2072
+-123.968 32.944 2344
+-123.842 32.944 2626
+-123.716 32.944 2895
+-123.59 32.944 3126
+-123.464 32.944 3254
+-123.338 32.944 3382
+-123.212 32.944 3562
+-123.086 32.944 3646
+-122.96 32.944 3746
+-122.834 32.944 3909
+-122.708 32.944 4019
+-122.582 32.944 4111
+-122.456 32.944 4128
+-122.33 32.944 4156
+-122.204 32.944 4269
+-122.078 32.944 4382
+-121.952 32.944 4466
+-121.826 32.944 4525
+-121.7 32.944 4554
+-121.574 32.944 4665
+-121.448 32.944 4864
+-121.322 32.944 4976
+-121.196 32.944 5160
+-121.07 32.944 5207
+-120.944 32.944 5343
+-120.818 32.944 5517
+-120.692 32.944 5678
+-120.566 32.944 5764
+-120.44 32.944 5941
+-120.314 32.944 6085
+-120.188 32.944 6161
+-120.062 32.944 6304
+-119.936 32.944 6397
+-119.81 32.944 6528
+-119.684 32.944 6712
+-119.558 32.944 6839
+-119.432 32.944 7064
+-119.306 32.944 7218
+-119.18 32.944 7294
+-119.054 32.944 7522
+-118.928 32.944 7569
+-118.802 32.944 7788
+-118.676 32.944 7854
+-118.55 32.944 8042
+-118.424 32.944 8181
+-118.298 32.944 8350
+-118.172 32.944 8474
+-118.046 32.944 8671
+-117.92 32.944 8777
+-117.794 32.944 8903
+-117.668 32.944 8985
+-117.542 32.944 9189
+-117.416 32.944 9291
+-117.29 32.944 9420
+-117.164 32.944 9592
+-117.038 32.944 9637
+-116.912 32.944 9569
+-116.786 32.944 9498
+-116.66 32.944 9318
+-116.534 32.944 9146
+-116.408 32.944 9062
+-116.282 32.944 8874
+-116.156 32.944 8777
+-116.03 32.944 8642
+-115.904 32.944 8494
+-115.778 32.944 8347
+-115.652 32.944 8267
+-115.526 32.944 8041
+-115.4 32.944 7930
+-115.274 32.944 7803
+-115.148 32.944 7719
+-115.022 32.944 7576
+-114.896 32.944 7443
+-114.77 32.944 7252
+-114.644 32.944 7050
+-114.518 32.944 6920
+-114.392 32.944 6765
+-114.266 32.944 6654
+-114.14 32.944 6522
+-114.014 32.944 6333
+-113.888 32.944 6275
+-113.762 32.944 6109
+-113.636 32.944 5943
+-113.51 32.944 5860
+-113.384 32.944 5895
+-113.258 32.944 6013
+-113.132 32.944 6171
+-113.006 32.944 6309
+-112.88 32.944 6368
+-112.754 32.944 6497
+-112.628 32.944 6633
+-112.502 32.944 6772
+-112.376 32.944 6908
+-112.25 32.944 7016
+-112.124 32.944 7104
+-111.998 32.944 7214
+-111.872 32.944 7277
+-111.746 32.944 7395
+-111.62 32.944 7500
+-111.494 32.944 7551
+-111.368 32.944 7732
+-111.242 32.944 7759
+-111.116 32.944 7815
+-110.99 32.944 7874
+-110.864 32.944 7927
+-110.738 32.944 7998
+-110.612 32.944 8000
+-110.486 32.944 8031
+-110.36 32.944 8017
+-110.234 32.944 8016
+-110.108 32.944 7989
+-109.982 32.944 7959
+-109.856 32.944 7905
+-109.73 32.944 7857
+-109.604 32.944 7779
+-109.478 32.944 7729
+-109.352 32.944 7618
+-109.226 32.944 7555
+-109.1 32.944 7461
+-108.974 32.944 7374
+-108.848 32.944 7287
+-108.722 32.944 7187
+-108.596 32.944 7078
+-108.47 32.944 6964
+-108.344 32.944 6775
+-108.218 32.944 6662
+-108.092 32.944 6588
+-107.966 32.944 6448
+-107.84 32.944 6350
+-107.714 32.944 6181
+-107.588 32.944 6144
+-107.462 32.944 6012
+-107.336 32.944 5850
+-107.21 32.944 5777
+-107.084 32.944 5667
+-106.958 32.944 5551
+-106.832 32.944 5415
+-106.706 32.944 5285
+-106.58 32.944 5234
+-106.454 32.944 5132
+-106.328 32.944 4979
+-106.202 32.944 4762
+-106.076 32.944 4617
+-105.95 32.944 4516
+-105.824 32.944 4498
+-105.698 32.944 4423
+-105.572 32.944 4331
+-105.446 32.944 4160
+-105.32 32.944 4037
+-105.194 32.944 3932
+-105.068 32.944 3761
+-104.942 32.944 3685
+-104.816 32.944 3606
+-104.69 32.944 3526
+-104.564 32.944 3471
+-104.438 32.944 3451
+-104.312 32.944 3471
+-104.186 32.944 3504
+-104.06 32.944 3506
+-103.934 32.944 3529
+-103.808 32.944 3555
+-103.682 32.944 3577
+-103.556 32.944 3595
+-103.43 32.944 3563
+-103.304 32.944 3578
+-103.178 32.944 3591
+-103.052 32.944 3602
+-102.926 32.944 3613
+-102.8 32.944 3622
+-102.674 32.944 3630
+-102.548 32.944 3638
+-102.422 32.944 3645
+-102.296 32.944 3652
+-102.17 32.944 3658
+-102.044 32.944 3664
+-101.918 32.944 3669
+-101.792 32.944 3619
+-101.666 32.944 3595
+-101.54 32.944 3598
+-101.414 32.944 3600
+-101.288 32.944 3603
+-101.162 32.944 3553
+-101.036 32.944 3553
+-100.91 32.944 3554
+-100.784 32.944 3554
+-100.658 32.944 3555
+-100.532 32.944 3555
+-100.406 32.944 3556
+-100.28 32.944 3320
+-100.154 32.944 3266
+-100.028 32.944 3181
+-99.902 32.944 3150
+-99.776 32.944 3004
+-99.65 32.944 2999
+-99.524 32.944 2967
+-99.398 32.944 2772
+-99.272 32.944 2693
+-99.146 32.944 2721
+-99.02 32.944 2734
+-98.894 32.944 2846
+-98.768 32.944 2886
+-98.642 32.944 2855
+-98.516 32.944 2913
+-98.39 32.944 2937
+-98.264 32.944 2933
+-98.138 32.944 2859
+-98.012 32.944 2857
+-97.886 32.944 2855
+-97.76 32.944 2853
+-97.634 32.944 2850
+-97.508 32.944 2865
+-97.382 32.944 2862
+-97.256 32.944 2859
+-97.13 32.944 2829
+-97.004 32.944 2828
+-96.878 32.944 2844
+-96.752 32.944 2842
+-96.626 32.944 2840
+-96.5 32.944 2838
+-96.374 32.944 2827
+-96.248 32.944 2825
+-96.122 32.944 2981
+-95.996 32.944 2971
+-95.87 32.944 2961
+-95.744 32.944 2950
+-95.618 32.944 2939
+-95.492 32.944 2932
+-95.366 32.944 2918
+-95.24 32.944 2870
+-95.114 32.944 2853
+-94.988 32.944 2840
+-94.862 32.944 2818
+-94.736 32.944 2792
+-94.61 32.944 2799
+-94.484 32.944 2758
+-94.358 32.944 2706
+-94.232 32.944 2642
+-94.106 32.944 2562
+-93.98 32.944 2463
+-93.854 32.944 2371
+-93.728 32.944 2326
+-93.602 32.944 2389
+-93.476 32.944 2533
+-93.35 32.944 2713
+-93.224 32.944 2865
+-93.098 32.944 2990
+-92.972 32.944 3091
+-92.846 32.944 3178
+-92.72 32.944 3404
+-92.594 32.944 3493
+-92.468 32.944 3577
+-92.342 32.944 3654
+-92.216 32.944 3754
+-92.09 32.944 3869
+-91.964 32.944 4080
+-91.838 32.944 4095
+-91.712 32.944 4111
+-91.586 32.944 4122
+-91.46 32.944 4186
+-91.334 32.944 4197
+-91.208 32.944 4223
+-91.082 32.944 4237
+-90.956 32.944 4252
+-90.83 32.944 4267
+-90.704 32.944 4286
+-90.578 32.944 4312
+-90.452 32.944 4322
+-90.326 32.944 4309
+-90.2 32.944 4305
+-90.074 32.944 4323
+-89.948 32.944 4330
+-89.822 32.944 4366
+-89.696 32.944 4428
+-89.57 32.944 4464
+-89.444 32.944 4466
+-89.318 32.944 4444
+-89.192 32.944 4461
+-89.066 32.944 4466
+-88.94 32.944 4471
+-88.814 32.944 4459
+-88.688 32.944 4452
+-88.562 32.944 4461
+-88.436 32.944 4474
+-88.31 32.944 4480
+-88.184 32.944 4456
+-88.058 32.944 4438
+-87.932 32.944 4407
+-87.806 32.944 4361
+-87.68 32.944 4330
+-87.554 32.944 4282
+-87.428 32.944 4260
+-87.302 32.944 4240
+-87.176 32.944 4210
+-87.05 32.944 4178
+-86.924 32.944 4121
+-86.798 32.944 4054
+-86.672 32.944 3957
+-86.546 32.944 3902
+-86.42 32.944 3928
+-86.294 32.944 3958
+-86.168 32.944 3966
+-86.042 32.944 3892
+-85.916 32.944 3851
+-85.79 32.944 3781
+-85.664 32.944 3736
+-85.538 32.944 3670
+-85.412 32.944 3562
+-85.286 32.944 3514
+-85.16 32.944 3466
+-85.034 32.944 3419
+-84.908 32.944 3384
+-84.782 32.944 3377
+-84.656 32.944 3419
+-84.53 32.944 3487
+-84.404 32.944 3557
+-84.278 32.944 3617
+-84.152 32.944 3668
+-84.026 32.944 3699
+-83.9 32.944 3726
+-83.774 32.944 3748
+-83.648 32.944 3791
+-83.522 32.944 3841
+-83.396 32.944 3886
+-83.27 32.944 3946
+-83.144 32.944 3971
+-83.018 32.944 3986
+-82.892 32.944 4035
+-82.766 32.944 4063
+-82.64 32.944 4085
+-82.514 32.944 4089
+-82.388 32.944 4093
+-82.262 32.944 4090
+-82.136 32.944 4075
+-82.01 32.944 4061
+-81.884 32.944 4075
+-81.758 32.944 4091
+-81.632 32.944 4087
+-81.506 32.944 4081
+-81.38 32.944 4061
+-81.254 32.944 4018
+-81.128 32.944 3955
+-81.002 32.944 3903
+-80.876 32.944 3900
+-80.75 32.944 3879
+-80.624 32.944 3852
+-80.498 32.944 3833
+-80.372 32.944 3833
+-80.246 32.944 3820
+-80.12 32.944 3776
+-79.994 32.944 3756
+-79.868 32.944 3688
+-79.742 32.944 3633
+-79.616 32.944 3546
+-79.49 32.944 3506
+-79.364 32.944 3490
+-79.238 32.944 3474
+-79.112 32.944 3456
+-78.986 32.944 3420
+-78.86 32.944 3392
+-78.734 32.944 3365
+-78.608 32.944 3352
+-78.482 32.944 3353
+-78.356 32.944 3346
+-78.23 32.944 3344
+-78.104 32.944 3346
+-77.978 32.944 3327
+-77.852 32.944 3350
+-77.726 32.944 3360
+-77.6 32.944 3369
+-77.474 32.944 3385
+-77.348 32.944 3348
+-77.222 32.944 3305
+-77.096 32.944 3320
+-76.97 32.944 3325
+-76.844 32.944 3317
+-76.718 32.944 3337
+-76.592 32.944 3343
+-76.466 32.944 3337
+-76.34 32.944 3346
+-76.214 32.944 3352
+-76.088 32.944 3357
+-75.962 32.944 3345
+-75.836 32.944 3334
+-75.71 32.944 3353
+-75.584 32.944 3359
+-75.458 32.944 3365
+-75.332 32.944 3282
+-75.206 32.944 3301
+-75.08 32.944 3332
+-74.954 32.944 3245
+-74.828 32.944 3248
+-74.702 32.944 3344
+-74.576 32.944 3378
+-74.45 32.944 3322
+-74.324 32.944 3327
+-74.198 32.944 3330
+-74.072 32.944 3243
+-73.946 32.944 3235
+-73.82 32.944 3236
+-73.694 32.944 3238
+-73.568 32.944 3222
+-73.442 32.944 3223
+-73.316 32.944 3225
+-73.19 32.944 3226
+-73.064 32.944 3200
+-72.938 32.944 3240
+-72.812 32.944 3243
+-72.686 32.944 3230
+-72.56 32.944 3232
+-72.434 32.944 3235
+-72.308 32.944 3184
+-72.182 32.944 3334
+-72.056 32.944 3303
+-71.93 32.944 3305
+-71.804 32.944 3273
+-71.678 32.944 3275
+-71.552 32.944 3277
+-71.426 32.944 3386
+-71.3 32.944 3388
+-71.174 32.944 3390
+-71.048 32.944 3393
+-70.922 32.944 3395
+-70.796 32.944 3488
+-70.67 32.944 3491
+-70.544 32.944 3419
+-70.418 32.944 3422
+-70.292 32.944 3424
+-70.166 32.944 3427
+-70.04 32.944 3431
+-69.914 32.944 3397
+-69.788 32.944 3390
+-69.662 32.944 3344
+-69.536 32.944 3347
+-69.41 32.944 3311
+-69.284 32.944 3354
+-69.158 32.944 3356
+-69.032 32.944 3358
+-68.906 32.944 3361
+-68.78 32.944 3363
+-68.654 32.944 3365
+-68.528 32.944 3367
+-68.402 32.944 3342
+-68.276 32.944 3344
+-68.15 32.944 3346
+-68.024 32.944 3318
+-67.898 32.944 3287
+-67.772 32.944 3268
+-67.646 32.944 3269
+-67.52 32.944 3271
+-67.394 32.944 3272
+-67.268 32.944 3273
+-67.142 32.944 3275
+-67.016 32.944 3276
+-66.89 32.944 3204
+-66.764 32.944 3189
+-66.638 32.944 3191
+-66.512 32.944 3192
+-66.386 32.944 3193
+-66.26 32.944 3195
+-66.134 32.944 3196
+-66.008 32.944 3197
+-65.882 32.944 3199
+-65.756 32.944 3200
+-65.63 32.944 3201
+-65.504 32.944 3202
+-65.378 32.944 3203
+-65.252 32.944 3204
+-65.126 32.944 3206
+-128 32.892 2623
+-127.874 32.892 2658
+-127.748 32.892 2649
+-127.622 32.892 2763
+-127.496 32.892 2752
+-127.37 32.892 2741
+-127.244 32.892 2729
+-127.118 32.892 2715
+-126.992 32.892 2700
+-126.866 32.892 2684
+-126.74 32.892 2667
+-126.614 32.892 2647
+-126.488 32.892 2625
+-126.362 32.892 2602
+-126.236 32.892 2575
+-126.11 32.892 2545
+-125.984 32.892 2511
+-125.858 32.892 2524
+-125.732 32.892 2498
+-125.606 32.892 2448
+-125.48 32.892 2392
+-125.354 32.892 2375
+-125.228 32.892 2324
+-125.102 32.892 2256
+-124.976 32.892 2197
+-124.85 32.892 2165
+-124.724 32.892 2153
+-124.598 32.892 2183
+-124.472 32.892 2181
+-124.346 32.892 2161
+-124.22 32.892 2171
+-124.094 32.892 2298
+-123.968 32.892 2498
+-123.842 32.892 2718
+-123.716 32.892 2906
+-123.59 32.892 3085
+-123.464 32.892 3233
+-123.338 32.892 3337
+-123.212 32.892 3447
+-123.086 32.892 3521
+-122.96 32.892 3644
+-122.834 32.892 3847
+-122.708 32.892 3966
+-122.582 32.892 4059
+-122.456 32.892 4065
+-122.33 32.892 3970
+-122.204 32.892 4204
+-122.078 32.892 4371
+-121.952 32.892 4424
+-121.826 32.892 4377
+-121.7 32.892 4595
+-121.574 32.892 4718
+-121.448 32.892 4834
+-121.322 32.892 4940
+-121.196 32.892 5084
+-121.07 32.892 5194
+-120.944 32.892 5329
+-120.818 32.892 5494
+-120.692 32.892 5643
+-120.566 32.892 5775
+-120.44 32.892 5930
+-120.314 32.892 6029
+-120.188 32.892 6172
+-120.062 32.892 6301
+-119.936 32.892 6313
+-119.81 32.892 6631
+-119.684 32.892 6756
+-119.558 32.892 6944
+-119.432 32.892 7073
+-119.306 32.892 7187
+-119.18 32.892 7328
+-119.054 32.892 7473
+-118.928 32.892 7682
+-118.802 32.892 7817
+-118.676 32.892 7905
+-118.55 32.892 8034
+-118.424 32.892 8213
+-118.298 32.892 8323
+-118.172 32.892 8433
+-118.046 32.892 8586
+-117.92 32.892 8763
+-117.794 32.892 8869
+-117.668 32.892 9034
+-117.542 32.892 9179
+-117.416 32.892 9374
+-117.29 32.892 9480
+-117.164 32.892 9575
+-117.038 32.892 9687
+-116.912 32.892 9592
+-116.786 32.892 9477
+-116.66 32.892 9351
+-116.534 32.892 9213
+-116.408 32.892 9062
+-116.282 32.892 8893
+-116.156 32.892 8784
+-116.03 32.892 8671
+-115.904 32.892 8462
+-115.778 32.892 8366
+-115.652 32.892 8203
+-115.526 32.892 8076
+-115.4 32.892 7919
+-115.274 32.892 7799
+-115.148 32.892 7664
+-115.022 32.892 7504
+-114.896 32.892 7373
+-114.77 32.892 7271
+-114.644 32.892 7068
+-114.518 32.892 6956
+-114.392 32.892 6801
+-114.266 32.892 6700
+-114.14 32.892 6553
+-114.014 32.892 6398
+-113.888 32.892 6304
+-113.762 32.892 6102
+-113.636 32.892 5983
+-113.51 32.892 5789
+-113.384 32.892 5960
+-113.258 32.892 6066
+-113.132 32.892 6200
+-113.006 32.892 6348
+-112.88 32.892 6440
+-112.754 32.892 6594
+-112.628 32.892 6684
+-112.502 32.892 6796
+-112.376 32.892 6957
+-112.25 32.892 7015
+-112.124 32.892 7152
+-111.998 32.892 7211
+-111.872 32.892 7330
+-111.746 32.892 7438
+-111.62 32.892 7555
+-111.494 32.892 7626
+-111.368 32.892 7740
+-111.242 32.892 7828
+-111.116 32.892 7863
+-110.99 32.892 7937
+-110.864 32.892 7986
+-110.738 32.892 8045
+-110.612 32.892 8077
+-110.486 32.892 8078
+-110.36 32.892 8081
+-110.234 32.892 8062
+-110.108 32.892 8065
+-109.982 32.892 7998
+-109.856 32.892 7969
+-109.73 32.892 7878
+-109.604 32.892 7852
+-109.478 32.892 7775
+-109.352 32.892 7695
+-109.226 32.892 7620
+-109.1 32.892 7516
+-108.974 32.892 7398
+-108.848 32.892 7296
+-108.722 32.892 7245
+-108.596 32.892 7141
+-108.47 32.892 6988
+-108.344 32.892 6838
+-108.218 32.892 6715
+-108.092 32.892 6599
+-107.966 32.892 6478
+-107.84 32.892 6310
+-107.714 32.892 6303
+-107.588 32.892 6162
+-107.462 32.892 5995
+-107.336 32.892 5821
+-107.21 32.892 5728
+-107.084 32.892 5667
+-106.958 32.892 5582
+-106.832 32.892 5467
+-106.706 32.892 5314
+-106.58 32.892 5166
+-106.454 32.892 5081
+-106.328 32.892 4967
+-106.202 32.892 4790
+-106.076 32.892 4647
+-105.95 32.892 4568
+-105.824 32.892 4518
+-105.698 32.892 4453
+-105.572 32.892 4360
+-105.446 32.892 4224
+-105.32 32.892 4017
+-105.194 32.892 3866
+-105.068 32.892 3774
+-104.942 32.892 3692
+-104.816 32.892 3656
+-104.69 32.892 3614
+-104.564 32.892 3569
+-104.438 32.892 3552
+-104.312 32.892 3553
+-104.186 32.892 3536
+-104.06 32.892 3548
+-103.934 32.892 3567
+-103.808 32.892 3586
+-103.682 32.892 3603
+-103.556 32.892 3569
+-103.43 32.892 3583
+-103.304 32.892 3595
+-103.178 32.892 3607
+-103.052 32.892 3617
+-102.926 32.892 3626
+-102.8 32.892 3634
+-102.674 32.892 3641
+-102.548 32.892 3648
+-102.422 32.892 3655
+-102.296 32.892 3661
+-102.17 32.892 3666
+-102.044 32.892 3671
+-101.918 32.892 3621
+-101.792 32.892 3597
+-101.666 32.892 3600
+-101.54 32.892 3602
+-101.414 32.892 3605
+-101.288 32.892 3554
+-101.162 32.892 3555
+-101.036 32.892 3555
+-100.91 32.892 3555
+-100.784 32.892 3556
+-100.658 32.892 3556
+-100.532 32.892 3556
+-100.406 32.892 3422
+-100.28 32.892 3318
+-100.154 32.892 3208
+-100.028 32.892 3178
+-99.902 32.892 3148
+-99.776 32.892 3000
+-99.65 32.892 2995
+-99.524 32.892 2962
+-99.398 32.892 2766
+-99.272 32.892 2686
+-99.146 32.892 2712
+-99.02 32.892 2723
+-98.894 32.892 2831
+-98.768 32.892 2842
+-98.642 32.892 2840
+-98.516 32.892 2897
+-98.39 32.892 2922
+-98.264 32.892 2848
+-98.138 32.892 2845
+-98.012 32.892 2843
+-97.886 32.892 2840
+-97.76 32.892 2837
+-97.634 32.892 2852
+-97.508 32.892 2849
+-97.382 32.892 2845
+-97.256 32.892 2815
+-97.13 32.892 2814
+-97.004 32.892 2829
+-96.878 32.892 2827
+-96.752 32.892 2825
+-96.626 32.892 2823
+-96.5 32.892 2811
+-96.374 32.892 2826
+-96.248 32.892 2823
+-96.122 32.892 2820
+-95.996 32.892 2963
+-95.87 32.892 2952
+-95.744 32.892 2940
+-95.618 32.892 2934
+-95.492 32.892 2920
+-95.366 32.892 2870
+-95.24 32.892 2854
+-95.114 32.892 2842
+-94.988 32.892 2821
+-94.862 32.892 2797
+-94.736 32.892 2810
+-94.61 32.892 2775
+-94.484 32.892 2734
+-94.358 32.892 2687
+-94.232 32.892 2634
+-94.106 32.892 2572
+-93.98 32.892 2521
+-93.854 32.892 2461
+-93.728 32.892 2437
+-93.602 32.892 2489
+-93.476 32.892 2588
+-93.35 32.892 2712
+-93.224 32.892 2832
+-93.098 32.892 2969
+-92.972 32.892 3105
+-92.846 32.892 3202
+-92.72 32.892 3289
+-92.594 32.892 3369
+-92.468 32.892 3443
+-92.342 32.892 3661
+-92.216 32.892 3726
+-92.09 32.892 3840
+-91.964 32.892 3975
+-91.838 32.892 4046
+-91.712 32.892 4074
+-91.586 32.892 4088
+-91.46 32.892 4147
+-91.334 32.892 4170
+-91.208 32.892 4184
+-91.082 32.892 4201
+-90.956 32.892 4218
+-90.83 32.892 4229
+-90.704 32.892 4255
+-90.578 32.892 4264
+-90.452 32.892 4266
+-90.326 32.892 4252
+-90.2 32.892 4218
+-90.074 32.892 4274
+-89.948 32.892 4319
+-89.822 32.892 4346
+-89.696 32.892 4369
+-89.57 32.892 4408
+-89.444 32.892 4411
+-89.318 32.892 4407
+-89.192 32.892 4405
+-89.066 32.892 4416
+-88.94 32.892 4429
+-88.814 32.892 4427
+-88.688 32.892 4428
+-88.562 32.892 4417
+-88.436 32.892 4409
+-88.31 32.892 4420
+-88.184 32.892 4416
+-88.058 32.892 4408
+-87.932 32.892 4363
+-87.806 32.892 4329
+-87.68 32.892 4288
+-87.554 32.892 4240
+-87.428 32.892 4223
+-87.302 32.892 4182
+-87.176 32.892 4129
+-87.05 32.892 4120
+-86.924 32.892 4089
+-86.798 32.892 4006
+-86.672 32.892 3912
+-86.546 32.892 3877
+-86.42 32.892 3885
+-86.294 32.892 3907
+-86.168 32.892 3899
+-86.042 32.892 3840
+-85.916 32.892 3752
+-85.79 32.892 3724
+-85.664 32.892 3680
+-85.538 32.892 3602
+-85.412 32.892 3542
+-85.286 32.892 3522
+-85.16 32.892 3486
+-85.034 32.892 3464
+-84.908 32.892 3476
+-84.782 32.892 3475
+-84.656 32.892 3514
+-84.53 32.892 3582
+-84.404 32.892 3641
+-84.278 32.892 3700
+-84.152 32.892 3748
+-84.026 32.892 3779
+-83.9 32.892 3799
+-83.774 32.892 3835
+-83.648 32.892 3879
+-83.522 32.892 3916
+-83.396 32.892 3962
+-83.27 32.892 4021
+-83.144 32.892 4059
+-83.018 32.892 4078
+-82.892 32.892 4091
+-82.766 32.892 4109
+-82.64 32.892 4145
+-82.514 32.892 4144
+-82.388 32.892 4147
+-82.262 32.892 4158
+-82.136 32.892 4126
+-82.01 32.892 4113
+-81.884 32.892 4125
+-81.758 32.892 4129
+-81.632 32.892 4119
+-81.506 32.892 4097
+-81.38 32.892 4104
+-81.254 32.892 4089
+-81.128 32.892 4052
+-81.002 32.892 3989
+-80.876 32.892 3972
+-80.75 32.892 3954
+-80.624 32.892 3916
+-80.498 32.892 3896
+-80.372 32.892 3864
+-80.246 32.892 3826
+-80.12 32.892 3784
+-79.994 32.892 3749
+-79.868 32.892 3691
+-79.742 32.892 3607
+-79.616 32.892 3514
+-79.49 32.892 3455
+-79.364 32.892 3463
+-79.238 32.892 3472
+-79.112 32.892 3447
+-78.986 32.892 3417
+-78.86 32.892 3387
+-78.734 32.892 3369
+-78.608 32.892 3368
+-78.482 32.892 3363
+-78.356 32.892 3365
+-78.23 32.892 3370
+-78.104 32.892 3353
+-77.978 32.892 3375
+-77.852 32.892 3383
+-77.726 32.892 3390
+-77.6 32.892 3403
+-77.474 32.892 3366
+-77.348 32.892 3322
+-77.222 32.892 3334
+-77.096 32.892 3337
+-76.97 32.892 3329
+-76.844 32.892 3346
+-76.718 32.892 3351
+-76.592 32.892 3344
+-76.466 32.892 3352
+-76.34 32.892 3357
+-76.214 32.892 3362
+-76.088 32.892 3349
+-75.962 32.892 3338
+-75.836 32.892 3356
+-75.71 32.892 3361
+-75.584 32.892 3367
+-75.458 32.892 3306
+-75.332 32.892 3303
+-75.206 32.892 3333
+-75.08 32.892 3337
+-74.954 32.892 3341
+-74.828 32.892 3345
+-74.702 32.892 3378
+-74.576 32.892 3320
+-74.45 32.892 3327
+-74.324 32.892 3330
+-74.198 32.892 3244
+-74.072 32.892 3235
+-73.946 32.892 3237
+-73.82 32.892 3238
+-73.694 32.892 3222
+-73.568 32.892 3223
+-73.442 32.892 3225
+-73.316 32.892 3226
+-73.19 32.892 3200
+-73.064 32.892 3240
+-72.938 32.892 3242
+-72.812 32.892 3229
+-72.686 32.892 3232
+-72.56 32.892 3234
+-72.434 32.892 3184
+-72.308 32.892 3332
+-72.182 32.892 3302
+-72.056 32.892 3303
+-71.93 32.892 3271
+-71.804 32.892 3273
+-71.678 32.892 3276
+-71.552 32.892 3383
+-71.426 32.892 3385
+-71.3 32.892 3387
+-71.174 32.892 3390
+-71.048 32.892 3392
+-70.922 32.892 3484
+-70.796 32.892 3488
+-70.67 32.892 3416
+-70.544 32.892 3419
+-70.418 32.892 3421
+-70.292 32.892 3424
+-70.166 32.892 3428
+-70.04 32.892 3394
+-69.914 32.892 3387
+-69.788 32.892 3342
+-69.662 32.892 3345
+-69.536 32.892 3309
+-69.41 32.892 3352
+-69.284 32.892 3354
+-69.158 32.892 3356
+-69.032 32.892 3359
+-68.906 32.892 3361
+-68.78 32.892 3363
+-68.654 32.892 3365
+-68.528 32.892 3341
+-68.402 32.892 3343
+-68.276 32.892 3344
+-68.15 32.892 3316
+-68.024 32.892 3286
+-67.898 32.892 3267
+-67.772 32.892 3268
+-67.646 32.892 3270
+-67.52 32.892 3271
+-67.394 32.892 3272
+-67.268 32.892 3274
+-67.142 32.892 3275
+-67.016 32.892 3203
+-66.89 32.892 3188
+-66.764 32.892 3190
+-66.638 32.892 3191
+-66.512 32.892 3193
+-66.386 32.892 3194
+-66.26 32.892 3195
+-66.134 32.892 3197
+-66.008 32.892 3198
+-65.882 32.892 3199
+-65.756 32.892 3200
+-65.63 32.892 3202
+-65.504 32.892 3203
+-65.378 32.892 3204
+-65.252 32.892 3205
+-65.126 32.892 3206
+-128 32.84 2666
+-127.874 32.84 2658
+-127.748 32.84 2775
+-127.622 32.84 2765
+-127.496 32.84 2755
+-127.37 32.84 2744
+-127.244 32.84 2732
+-127.118 32.84 2719
+-126.992 32.84 2705
+-126.866 32.84 2690
+-126.74 32.84 2673
+-126.614 32.84 2655
+-126.488 32.84 2634
+-126.362 32.84 2612
+-126.236 32.84 2588
+-126.11 32.84 2561
+-125.984 32.84 2531
+-125.858 32.84 2498
+-125.732 32.84 2514
+-125.606 32.84 2490
+-125.48 32.84 2446
+-125.354 32.84 2398
+-125.228 32.84 2395
+-125.102 32.84 2365
+-124.976 32.84 2326
+-124.85 32.84 2302
+-124.724 32.84 2293
+-124.598 32.84 2325
+-124.472 32.84 2330
+-124.346 32.84 2344
+-124.22 32.84 2402
+-124.094 32.84 2500
+-123.968 32.84 2646
+-123.842 32.84 2805
+-123.716 32.84 2941
+-123.59 32.84 3074
+-123.464 32.84 3227
+-123.338 32.84 3256
+-123.212 32.84 3307
+-123.086 32.84 3352
+-122.96 32.84 3483
+-122.834 32.84 3723
+-122.708 32.84 3903
+-122.582 32.84 4012
+-122.456 32.84 4059
+-122.33 32.84 4116
+-122.204 32.84 4268
+-122.078 32.84 4369
+-121.952 32.84 4320
+-121.826 32.84 4438
+-121.7 32.84 4580
+-121.574 32.84 4726
+-121.448 32.84 4839
+-121.322 32.84 4887
+-121.196 32.84 5081
+-121.07 32.84 5168
+-120.944 32.84 5319
+-120.818 32.84 5485
+-120.692 32.84 5584
+-120.566 32.84 5759
+-120.44 32.84 5951
+-120.314 32.84 5995
+-120.188 32.84 6106
+-120.062 32.84 6348
+-119.936 32.84 6492
+-119.81 32.84 6688
+-119.684 32.84 6777
+-119.558 32.84 6952
+-119.432 32.84 7124
+-119.306 32.84 7249
+-119.18 32.84 7317
+-119.054 32.84 7555
+-118.928 32.84 7616
+-118.802 32.84 7786
+-118.676 32.84 7914
+-118.55 32.84 8042
+-118.424 32.84 8200
+-118.298 32.84 8378
+-118.172 32.84 8533
+-118.046 32.84 8670
+-117.92 32.84 8802
+-117.794 32.84 8913
+-117.668 32.84 9075
+-117.542 32.84 9191
+-117.416 32.84 9323
+-117.29 32.84 9479
+-117.164 32.84 9557
+-117.038 32.84 9718
+-116.912 32.84 9664
+-116.786 32.84 9506
+-116.66 32.84 9316
+-116.534 32.84 9211
+-116.408 32.84 9077
+-116.282 32.84 8890
+-116.156 32.84 8797
+-116.03 32.84 8663
+-115.904 32.84 8471
+-115.778 32.84 8404
+-115.652 32.84 8174
+-115.526 32.84 8038
+-115.4 32.84 7902
+-115.274 32.84 7745
+-115.148 32.84 7653
+-115.022 32.84 7536
+-114.896 32.84 7308
+-114.77 32.84 7246
+-114.644 32.84 7064
+-114.518 32.84 6965
+-114.392 32.84 6811
+-114.266 32.84 6705
+-114.14 32.84 6498
+-114.014 32.84 6362
+-113.888 32.84 6252
+-113.762 32.84 6075
+-113.636 32.84 6019
+-113.51 32.84 5786
+-113.384 32.84 5990
+-113.258 32.84 6155
+-113.132 32.84 6176
+-113.006 32.84 6359
+-112.88 32.84 6438
+-112.754 32.84 6554
+-112.628 32.84 6677
+-112.502 32.84 6816
+-112.376 32.84 6953
+-112.25 32.84 7056
+-112.124 32.84 7142
+-111.998 32.84 7319
+-111.872 32.84 7394
+-111.746 32.84 7470
+-111.62 32.84 7556
+-111.494 32.84 7651
+-111.368 32.84 7776
+-111.242 32.84 7834
+-111.116 32.84 7917
+-110.99 32.84 7969
+-110.864 32.84 8055
+-110.738 32.84 8087
+-110.612 32.84 8125
+-110.486 32.84 8109
+-110.36 32.84 8130
+-110.234 32.84 8102
+-110.108 32.84 8103
+-109.982 32.84 8043
+-109.856 32.84 7991
+-109.73 32.84 7933
+-109.604 32.84 7904
+-109.478 32.84 7846
+-109.352 32.84 7750
+-109.226 32.84 7683
+-109.1 32.84 7595
+-108.974 32.84 7432
+-108.848 32.84 7312
+-108.722 32.84 7183
+-108.596 32.84 7133
+-108.47 32.84 6952
+-108.344 32.84 6877
+-108.218 32.84 6793
+-108.092 32.84 6684
+-107.966 32.84 6558
+-107.84 32.84 6450
+-107.714 32.84 6355
+-107.588 32.84 6184
+-107.462 32.84 5966
+-107.336 32.84 5814
+-107.21 32.84 5722
+-107.084 32.84 5708
+-106.958 32.84 5557
+-106.832 32.84 5478
+-106.706 32.84 5336
+-106.58 32.84 5157
+-106.454 32.84 4965
+-106.328 32.84 4968
+-106.202 32.84 4767
+-106.076 32.84 4569
+-105.95 32.84 4560
+-105.824 32.84 4480
+-105.698 32.84 4435
+-105.572 32.84 4380
+-105.446 32.84 4231
+-105.32 32.84 4028
+-105.194 32.84 3791
+-105.068 32.84 3650
+-104.942 32.84 3669
+-104.816 32.84 3685
+-104.69 32.84 3645
+-104.564 32.84 3618
+-104.438 32.84 3609
+-104.312 32.84 3579
+-104.186 32.84 3579
+-104.06 32.84 3590
+-103.934 32.84 3603
+-103.808 32.84 3616
+-103.682 32.84 3628
+-103.556 32.84 3601
+-103.43 32.84 3612
+-103.304 32.84 3623
+-103.178 32.84 3633
+-103.052 32.84 3641
+-102.926 32.84 3650
+-102.8 32.84 3657
+-102.674 32.84 3664
+-102.548 32.84 3670
+-102.422 32.84 3676
+-102.296 32.84 3681
+-102.17 32.84 3686
+-102.044 32.84 3625
+-101.918 32.84 3600
+-101.792 32.84 3603
+-101.666 32.84 3605
+-101.54 32.84 3607
+-101.414 32.84 3556
+-101.288 32.84 3556
+-101.162 32.84 3556
+-101.036 32.84 3557
+-100.91 32.84 3557
+-100.784 32.84 3557
+-100.658 32.84 3557
+-100.532 32.84 3422
+-100.406 32.84 3421
+-100.28 32.84 3215
+-100.154 32.84 3205
+-100.028 32.84 3175
+-99.902 32.84 3145
+-99.776 32.84 2996
+-99.65 32.84 2978
+-99.524 32.84 2943
+-99.398 32.84 2760
+-99.272 32.84 2679
+-99.146 32.84 2703
+-99.02 32.84 2711
+-98.894 32.84 2816
+-98.768 32.84 2826
+-98.642 32.84 2824
+-98.516 32.84 2796
+-98.39 32.84 2784
+-98.264 32.84 2834
+-98.138 32.84 2831
+-98.012 32.84 2828
+-97.886 32.84 2825
+-97.76 32.84 2839
+-97.634 32.84 2835
+-97.508 32.84 2832
+-97.382 32.84 2801
+-97.256 32.84 2799
+-97.13 32.84 2814
+-97.004 32.84 2812
+-96.878 32.84 2809
+-96.752 32.84 2807
+-96.626 32.84 2795
+-96.5 32.84 2810
+-96.374 32.84 2807
+-96.248 32.84 2804
+-96.122 32.84 2800
+-95.996 32.84 2796
+-95.87 32.84 2789
+-95.744 32.84 2937
+-95.618 32.84 2923
+-95.492 32.84 2872
+-95.366 32.84 2856
+-95.24 32.84 2845
+-95.114 32.84 2825
+-94.988 32.84 2802
+-94.862 32.84 2819
+-94.736 32.84 2787
+-94.61 32.84 2750
+-94.484 32.84 2710
+-94.358 32.84 2668
+-94.232 32.84 2622
+-94.106 32.84 2599
+-93.98 32.84 2541
+-93.854 32.84 2518
+-93.728 32.84 2513
+-93.602 32.84 2560
+-93.476 32.84 2631
+-93.35 32.84 2722
+-93.224 32.84 2822
+-93.098 32.84 2977
+-92.972 32.84 3080
+-92.846 32.84 3175
+-92.72 32.84 3261
+-92.594 32.84 3385
+-92.468 32.84 3436
+-92.342 32.84 3502
+-92.216 32.84 3622
+-92.09 32.84 3686
+-91.964 32.84 3743
+-91.838 32.84 3905
+-91.712 32.84 4033
+-91.586 32.84 4011
+-91.46 32.84 4059
+-91.334 32.84 4109
+-91.208 32.84 4127
+-91.082 32.84 4150
+-90.956 32.84 4168
+-90.83 32.84 4202
+-90.704 32.84 4219
+-90.578 32.84 4226
+-90.452 32.84 4217
+-90.326 32.84 4199
+-90.2 32.84 4191
+-90.074 32.84 4224
+-89.948 32.84 4274
+-89.822 32.84 4297
+-89.696 32.84 4327
+-89.57 32.84 4348
+-89.444 32.84 4372
+-89.318 32.84 4381
+-89.192 32.84 4386
+-89.066 32.84 4385
+-88.94 32.84 4382
+-88.814 32.84 4379
+-88.688 32.84 4376
+-88.562 32.84 4381
+-88.436 32.84 4382
+-88.31 32.84 4384
+-88.184 32.84 4380
+-88.058 32.84 4356
+-87.932 32.84 4332
+-87.806 32.84 4313
+-87.68 32.84 4270
+-87.554 32.84 4232
+-87.428 32.84 4175
+-87.302 32.84 4116
+-87.176 32.84 4102
+-87.05 32.84 4083
+-86.924 32.84 4050
+-86.798 32.84 3972
+-86.672 32.84 3867
+-86.546 32.84 3787
+-86.42 32.84 3829
+-86.294 32.84 3853
+-86.168 32.84 3847
+-86.042 32.84 3782
+-85.916 32.84 3714
+-85.79 32.84 3675
+-85.664 32.84 3634
+-85.538 32.84 3568
+-85.412 32.84 3537
+-85.286 32.84 3507
+-85.16 32.84 3499
+-85.034 32.84 3514
+-84.908 32.84 3519
+-84.782 32.84 3550
+-84.656 32.84 3595
+-84.53 32.84 3662
+-84.404 32.84 3719
+-84.278 32.84 3773
+-84.152 32.84 3815
+-84.026 32.84 3834
+-83.9 32.84 3848
+-83.774 32.84 3898
+-83.648 32.84 3943
+-83.522 32.84 3987
+-83.396 32.84 4050
+-83.27 32.84 4106
+-83.144 32.84 4141
+-83.018 32.84 4146
+-82.892 32.84 4140
+-82.766 32.84 4163
+-82.64 32.84 4180
+-82.514 32.84 4188
+-82.388 32.84 4206
+-82.262 32.84 4213
+-82.136 32.84 4209
+-82.01 32.84 4199
+-81.884 32.84 4180
+-81.758 32.84 4163
+-81.632 32.84 4158
+-81.506 32.84 4142
+-81.38 32.84 4153
+-81.254 32.84 4144
+-81.128 32.84 4121
+-81.002 32.84 4082
+-80.876 32.84 4042
+-80.75 32.84 4032
+-80.624 32.84 3963
+-80.498 32.84 3926
+-80.372 32.84 3887
+-80.246 32.84 3845
+-80.12 32.84 3772
+-79.994 32.84 3734
+-79.868 32.84 3693
+-79.742 32.84 3616
+-79.616 32.84 3491
+-79.49 32.84 3409
+-79.364 32.84 3455
+-79.238 32.84 3477
+-79.112 32.84 3445
+-78.986 32.84 3405
+-78.86 32.84 3365
+-78.734 32.84 3349
+-78.608 32.84 3343
+-78.482 32.84 3352
+-78.356 32.84 3366
+-78.23 32.84 3361
+-78.104 32.84 3387
+-77.978 32.84 3398
+-77.852 32.84 3406
+-77.726 32.84 3419
+-77.6 32.84 3383
+-77.474 32.84 3339
+-77.348 32.84 3350
+-77.222 32.84 3351
+-77.096 32.84 3341
+-76.97 32.84 3358
+-76.844 32.84 3361
+-76.718 32.84 3353
+-76.592 32.84 3360
+-76.466 32.84 3364
+-76.34 32.84 3367
+-76.214 32.84 3354
+-76.088 32.84 3342
+-75.962 32.84 3359
+-75.836 32.84 3364
+-75.71 32.84 3369
+-75.584 32.84 3308
+-75.458 32.84 3305
+-75.332 32.84 3335
+-75.206 32.84 3339
+-75.08 32.84 3342
+-74.954 32.84 3346
+-74.828 32.84 3378
+-74.702 32.84 3323
+-74.576 32.84 3327
+-74.45 32.84 3331
+-74.324 32.84 3244
+-74.198 32.84 3235
+-74.072 32.84 3237
+-73.946 32.84 3239
+-73.82 32.84 3222
+-73.694 32.84 3223
+-73.568 32.84 3225
+-73.442 32.84 3226
+-73.316 32.84 3200
+-73.19 32.84 3240
+-73.064 32.84 3242
+-72.938 32.84 3229
+-72.812 32.84 3231
+-72.686 32.84 3234
+-72.56 32.84 3183
+-72.434 32.84 3329
+-72.308 32.84 3300
+-72.182 32.84 3301
+-72.056 32.84 3269
+-71.93 32.84 3272
+-71.804 32.84 3274
+-71.678 32.84 3379
+-71.552 32.84 3382
+-71.426 32.84 3384
+-71.3 32.84 3387
+-71.174 32.84 3389
+-71.048 32.84 3480
+-70.922 32.84 3484
+-70.796 32.84 3413
+-70.67 32.84 3416
+-70.544 32.84 3419
+-70.418 32.84 3421
+-70.292 32.84 3425
+-70.166 32.84 3392
+-70.04 32.84 3385
+-69.914 32.84 3340
+-69.788 32.84 3342
+-69.662 32.84 3307
+-69.536 32.84 3350
+-69.41 32.84 3352
+-69.284 32.84 3354
+-69.158 32.84 3357
+-69.032 32.84 3359
+-68.906 32.84 3361
+-68.78 32.84 3363
+-68.654 32.84 3339
+-68.528 32.84 3341
+-68.402 32.84 3343
+-68.276 32.84 3315
+-68.15 32.84 3285
+-68.024 32.84 3266
+-67.898 32.84 3267
+-67.772 32.84 3269
+-67.646 32.84 3270
+-67.52 32.84 3271
+-67.394 32.84 3273
+-67.268 32.84 3274
+-67.142 32.84 3202
+-67.016 32.84 3187
+-66.89 32.84 3189
+-66.764 32.84 3190
+-66.638 32.84 3192
+-66.512 32.84 3193
+-66.386 32.84 3195
+-66.26 32.84 3196
+-66.134 32.84 3197
+-66.008 32.84 3199
+-65.882 32.84 3200
+-65.756 32.84 3201
+-65.63 32.84 3202
+-65.504 32.84 3203
+-65.378 32.84 3204
+-65.252 32.84 3206
+-65.126 32.84 3196
+-128 32.788 2666
+-127.874 32.788 2786
+-127.748 32.788 2777
+-127.622 32.788 2768
+-127.496 32.788 2758
+-127.37 32.788 2747
+-127.244 32.788 2736
+-127.118 32.788 2724
+-126.992 32.788 2710
+-126.866 32.788 2696
+-126.74 32.788 2680
+-126.614 32.788 2663
+-126.488 32.788 2645
+-126.362 32.788 2625
+-126.236 32.788 2603
+-126.11 32.788 2579
+-125.984 32.788 2553
+-125.858 32.788 2578
+-125.732 32.788 2548
+-125.606 32.788 2515
+-125.48 32.788 2498
+-125.354 32.788 2463
+-125.228 32.788 2429
+-125.102 32.788 2443
+-124.976 32.788 2436
+-124.85 32.788 2422
+-124.724 32.788 2418
+-124.598 32.788 2456
+-124.472 32.788 2473
+-124.346 32.788 2502
+-124.22 32.788 2574
+-124.094 32.788 2659
+-123.968 32.788 2768
+-123.842 32.788 2888
+-123.716 32.788 3007
+-123.59 32.788 3073
+-123.464 32.788 3108
+-123.338 32.788 3181
+-123.212 32.788 3171
+-123.086 32.788 3138
+-122.96 32.788 3302
+-122.834 32.788 3569
+-122.708 32.788 3794
+-122.582 32.788 3931
+-122.456 32.788 4028
+-122.33 32.788 4144
+-122.204 32.788 4278
+-122.078 32.788 4388
+-121.952 32.788 4417
+-121.826 32.788 4462
+-121.7 32.788 4583
+-121.574 32.788 4723
+-121.448 32.788 4850
+-121.322 32.788 4981
+-121.196 32.788 5094
+-121.07 32.788 5160
+-120.944 32.788 5312
+-120.818 32.788 5391
+-120.692 32.788 5535
+-120.566 32.788 5718
+-120.44 32.788 5985
+-120.314 32.788 6113
+-120.188 32.788 6206
+-120.062 32.788 6355
+-119.936 32.788 6530
+-119.81 32.788 6659
+-119.684 32.788 6786
+-119.558 32.788 6951
+-119.432 32.788 7077
+-119.306 32.788 7214
+-119.18 32.788 7335
+-119.054 32.788 7452
+-118.928 32.788 7642
+-118.802 32.788 7724
+-118.676 32.788 7904
+-118.55 32.788 7994
+-118.424 32.788 8180
+-118.298 32.788 8360
+-118.172 32.788 8486
+-118.046 32.788 8613
+-117.92 32.788 8795
+-117.794 32.788 8907
+-117.668 32.788 9032
+-117.542 32.788 9182
+-117.416 32.788 9330
+-117.29 32.788 9494
+-117.164 32.788 9542
+-117.038 32.788 9674
+-116.912 32.788 9593
+-116.786 32.788 9513
+-116.66 32.788 9382
+-116.534 32.788 9198
+-116.408 32.788 9086
+-116.282 32.788 8937
+-116.156 32.788 8780
+-116.03 32.788 8668
+-115.904 32.788 8517
+-115.778 32.788 8290
+-115.652 32.788 8253
+-115.526 32.788 8083
+-115.4 32.788 7927
+-115.274 32.788 7808
+-115.148 32.788 7671
+-115.022 32.788 7510
+-114.896 32.788 7416
+-114.77 32.788 7179
+-114.644 32.788 7079
+-114.518 32.788 6881
+-114.392 32.788 6852
+-114.266 32.788 6730
+-114.14 32.788 6550
+-114.014 32.788 6438
+-113.888 32.788 6270
+-113.762 32.788 6124
+-113.636 32.788 6027
+-113.51 32.788 5957
+-113.384 32.788 6032
+-113.258 32.788 6097
+-113.132 32.788 6225
+-113.006 32.788 6376
+-112.88 32.788 6434
+-112.754 32.788 6630
+-112.628 32.788 6691
+-112.502 32.788 6865
+-112.376 32.788 6985
+-112.25 32.788 7049
+-112.124 32.788 7164
+-111.998 32.788 7291
+-111.872 32.788 7458
+-111.746 32.788 7570
+-111.62 32.788 7652
+-111.494 32.788 7745
+-111.368 32.788 7841
+-111.242 32.788 7924
+-111.116 32.788 7980
+-110.99 32.788 8030
+-110.864 32.788 8097
+-110.738 32.788 8112
+-110.612 32.788 8201
+-110.486 32.788 8193
+-110.36 32.788 8204
+-110.234 32.788 8173
+-110.108 32.788 8131
+-109.982 32.788 8098
+-109.856 32.788 8065
+-109.73 32.788 8017
+-109.604 32.788 7903
+-109.478 32.788 7846
+-109.352 32.788 7779
+-109.226 32.788 7695
+-109.1 32.788 7576
+-108.974 32.788 7437
+-108.848 32.788 7351
+-108.722 32.788 7246
+-108.596 32.788 7149
+-108.47 32.788 7046
+-108.344 32.788 6897
+-108.218 32.788 6762
+-108.092 32.788 6713
+-107.966 32.788 6624
+-107.84 32.788 6506
+-107.714 32.788 6362
+-107.588 32.788 6220
+-107.462 32.788 5996
+-107.336 32.788 5876
+-107.21 32.788 5754
+-107.084 32.788 5673
+-106.958 32.788 5539
+-106.832 32.788 5365
+-106.706 32.788 5376
+-106.58 32.788 5158
+-106.454 32.788 5005
+-106.328 32.788 4966
+-106.202 32.788 4804
+-106.076 32.788 4661
+-105.95 32.788 4531
+-105.824 32.788 4398
+-105.698 32.788 4425
+-105.572 32.788 4395
+-105.446 32.788 4247
+-105.32 32.788 4024
+-105.194 32.788 3709
+-105.068 32.788 3547
+-104.942 32.788 3619
+-104.816 32.788 3660
+-104.69 32.788 3667
+-104.564 32.788 3662
+-104.438 32.788 3623
+-104.312 32.788 3607
+-104.186 32.788 3615
+-104.06 32.788 3624
+-103.934 32.788 3617
+-103.808 32.788 3627
+-103.682 32.788 3616
+-103.556 32.788 3626
+-103.43 32.788 3635
+-103.304 32.788 3643
+-103.178 32.788 3651
+-103.052 32.788 3658
+-102.926 32.788 3665
+-102.8 32.788 3671
+-102.674 32.788 3677
+-102.548 32.788 3682
+-102.422 32.788 3687
+-102.296 32.788 3692
+-102.17 32.788 3629
+-102.044 32.788 3605
+-101.918 32.788 3607
+-101.792 32.788 3609
+-101.666 32.788 3610
+-101.54 32.788 3559
+-101.414 32.788 3558
+-101.288 32.788 3558
+-101.162 32.788 3558
+-101.036 32.788 3558
+-100.91 32.788 3558
+-100.784 32.788 3558
+-100.658 32.788 3422
+-100.532 32.788 3421
+-100.406 32.788 3420
+-100.28 32.788 3212
+-100.154 32.788 3201
+-100.028 32.788 3172
+-99.902 32.788 3142
+-99.776 32.788 2992
+-99.65 32.788 2947
+-99.524 32.788 2938
+-99.398 32.788 2738
+-99.272 32.788 2645
+-99.146 32.788 2693
+-99.02 32.788 2637
+-98.894 32.788 2737
+-98.768 32.788 2749
+-98.642 32.788 2783
+-98.516 32.788 2781
+-98.39 32.788 2770
+-98.264 32.788 2819
+-98.138 32.788 2816
+-98.012 32.788 2812
+-97.886 32.788 2826
+-97.76 32.788 2822
+-97.634 32.788 2818
+-97.508 32.788 2787
+-97.382 32.788 2784
+-97.256 32.788 2799
+-97.13 32.788 2796
+-97.004 32.788 2793
+-96.878 32.788 2791
+-96.752 32.788 2778
+-96.626 32.788 2793
+-96.5 32.788 2790
+-96.374 32.788 2786
+-96.248 32.788 2783
+-96.122 32.788 2779
+-95.996 32.788 2772
+-95.87 32.788 2777
+-95.744 32.788 2771
+-95.618 32.788 2764
+-95.492 32.788 2725
+-95.366 32.788 2850
+-95.24 32.788 2830
+-95.114 32.788 2808
+-94.988 32.788 2829
+-94.862 32.788 2797
+-94.736 32.788 2762
+-94.61 32.788 2724
+-94.484 32.788 2684
+-94.358 32.788 2640
+-94.232 32.788 2623
+-94.106 32.788 2563
+-93.98 32.788 2536
+-93.854 32.788 2515
+-93.728 32.788 2534
+-93.602 32.788 2567
+-93.476 32.788 2625
+-93.35 32.788 2705
+-93.224 32.788 2844
+-93.098 32.788 2948
+-92.972 32.788 3049
+-92.846 32.788 3143
+-92.72 32.788 3268
+-92.594 32.788 3329
+-92.468 32.788 3401
+-92.342 32.788 3467
+-92.216 32.788 3575
+-92.09 32.788 3636
+-91.964 32.788 3678
+-91.838 32.788 3855
+-91.712 32.788 3896
+-91.586 32.788 3875
+-91.46 32.788 3920
+-91.334 32.788 3980
+-91.208 32.788 4007
+-91.082 32.788 4040
+-90.956 32.788 4113
+-90.83 32.788 4156
+-90.704 32.788 4176
+-90.578 32.788 4171
+-90.452 32.788 4171
+-90.326 32.788 4137
+-90.2 32.788 4084
+-90.074 32.788 4160
+-89.948 32.788 4216
+-89.822 32.788 4259
+-89.696 32.788 4272
+-89.57 32.788 4304
+-89.444 32.788 4315
+-89.318 32.788 4329
+-89.192 32.788 4352
+-89.066 32.788 4347
+-88.94 32.788 4341
+-88.814 32.788 4333
+-88.688 32.788 4312
+-88.562 32.788 4340
+-88.436 32.788 4362
+-88.31 32.788 4347
+-88.184 32.788 4309
+-88.058 32.788 4301
+-87.932 32.788 4281
+-87.806 32.788 4261
+-87.68 32.788 4220
+-87.554 32.788 4175
+-87.428 32.788 4108
+-87.302 32.788 4058
+-87.176 32.788 4038
+-87.05 32.788 4052
+-86.924 32.788 4026
+-86.798 32.788 3957
+-86.672 32.788 3880
+-86.546 32.788 3826
+-86.42 32.788 3819
+-86.294 32.788 3810
+-86.168 32.788 3781
+-86.042 32.788 3708
+-85.916 32.788 3663
+-85.79 32.788 3612
+-85.664 32.788 3577
+-85.538 32.788 3538
+-85.412 32.788 3503
+-85.286 32.788 3477
+-85.16 32.788 3490
+-85.034 32.788 3529
+-84.908 32.788 3578
+-84.782 32.788 3627
+-84.656 32.788 3677
+-84.53 32.788 3745
+-84.404 32.788 3800
+-84.278 32.788 3838
+-84.152 32.788 3851
+-84.026 32.788 3840
+-83.9 32.788 3876
+-83.774 32.788 3961
+-83.648 32.788 4024
+-83.522 32.788 4083
+-83.396 32.788 4131
+-83.27 32.788 4177
+-83.144 32.788 4203
+-83.018 32.788 4202
+-82.892 32.788 4194
+-82.766 32.788 4210
+-82.64 32.788 4231
+-82.514 32.788 4252
+-82.388 32.788 4264
+-82.262 32.788 4277
+-82.136 32.788 4282
+-82.01 32.788 4283
+-81.884 32.788 4268
+-81.758 32.788 4242
+-81.632 32.788 4227
+-81.506 32.788 4222
+-81.38 32.788 4221
+-81.254 32.788 4211
+-81.128 32.788 4188
+-81.002 32.788 4158
+-80.876 32.788 4120
+-80.75 32.788 4078
+-80.624 32.788 4027
+-80.498 32.788 3974
+-80.372 32.788 3912
+-80.246 32.788 3864
+-80.12 32.788 3768
+-79.994 32.788 3711
+-79.868 32.788 3718
+-79.742 32.788 3654
+-79.616 32.788 3557
+-79.49 32.788 3484
+-79.364 32.788 3491
+-79.238 32.788 3475
+-79.112 32.788 3426
+-78.986 32.788 3376
+-78.86 32.788 3335
+-78.734 32.788 3300
+-78.608 32.788 3290
+-78.482 32.788 3321
+-78.356 32.788 3340
+-78.23 32.788 3378
+-78.104 32.788 3400
+-77.978 32.788 3414
+-77.852 32.788 3430
+-77.726 32.788 3398
+-77.6 32.788 3356
+-77.474 32.788 3366
+-77.348 32.788 3366
+-77.222 32.788 3355
+-77.096 32.788 3370
+-76.97 32.788 3372
+-76.844 32.788 3363
+-76.718 32.788 3368
+-76.592 32.788 3371
+-76.466 32.788 3373
+-76.34 32.788 3359
+-76.214 32.788 3347
+-76.088 32.788 3363
+-75.962 32.788 3368
+-75.836 32.788 3372
+-75.71 32.788 3311
+-75.584 32.788 3308
+-75.458 32.788 3337
+-75.332 32.788 3340
+-75.206 32.788 3343
+-75.08 32.788 3347
+-74.954 32.788 3379
+-74.828 32.788 3321
+-74.702 32.788 3327
+-74.576 32.788 3331
+-74.45 32.788 3245
+-74.324 32.788 3236
+-74.198 32.788 3237
+-74.072 32.788 3239
+-73.946 32.788 3222
+-73.82 32.788 3224
+-73.694 32.788 3225
+-73.568 32.788 3226
+-73.442 32.788 3200
+-73.316 32.788 3239
+-73.19 32.788 3241
+-73.064 32.788 3228
+-72.938 32.788 3231
+-72.812 32.788 3233
+-72.686 32.788 3183
+-72.56 32.788 3327
+-72.434 32.788 3298
+-72.308 32.788 3299
+-72.182 32.788 3267
+-72.056 32.788 3270
+-71.93 32.788 3272
+-71.804 32.788 3376
+-71.678 32.788 3378
+-71.552 32.788 3381
+-71.426 32.788 3383
+-71.3 32.788 3386
+-71.174 32.788 3476
+-71.048 32.788 3480
+-70.922 32.788 3410
+-70.796 32.788 3413
+-70.67 32.788 3416
+-70.544 32.788 3418
+-70.418 32.788 3422
+-70.292 32.788 3389
+-70.166 32.788 3382
+-70.04 32.788 3338
+-69.914 32.788 3340
+-69.788 32.788 3305
+-69.662 32.788 3348
+-69.536 32.788 3350
+-69.41 32.788 3352
+-69.284 32.788 3355
+-69.158 32.788 3357
+-69.032 32.788 3359
+-68.906 32.788 3361
+-68.78 32.788 3337
+-68.654 32.788 3339
+-68.528 32.788 3341
+-68.402 32.788 3314
+-68.276 32.788 3283
+-68.15 32.788 3264
+-68.024 32.788 3266
+-67.898 32.788 3267
+-67.772 32.788 3269
+-67.646 32.788 3270
+-67.52 32.788 3272
+-67.394 32.788 3273
+-67.268 32.788 3201
+-67.142 32.788 3187
+-67.016 32.788 3188
+-66.89 32.788 3190
+-66.764 32.788 3191
+-66.638 32.788 3192
+-66.512 32.788 3194
+-66.386 32.788 3195
+-66.26 32.788 3197
+-66.134 32.788 3198
+-66.008 32.788 3199
+-65.882 32.788 3200
+-65.756 32.788 3202
+-65.63 32.788 3203
+-65.504 32.788 3204
+-65.378 32.788 3205
+-65.252 32.788 3196
+-65.126 32.788 3197
+-128 32.736 2762
+-127.874 32.736 2755
+-127.748 32.736 2747
+-127.622 32.736 2739
+-127.496 32.736 2730
+-127.37 32.736 2721
+-127.244 32.736 2711
+-127.118 32.736 2700
+-126.992 32.736 2688
+-126.866 32.736 2703
+-126.74 32.736 2688
+-126.614 32.736 2673
+-126.488 32.736 2656
+-126.362 32.736 2638
+-126.236 32.736 2618
+-126.11 32.736 2597
+-125.984 32.736 2630
+-125.858 32.736 2606
+-125.732 32.736 2581
+-125.606 32.736 2555
+-125.48 32.736 2529
+-125.354 32.736 2522
+-125.228 32.736 2498
+-125.102 32.736 2478
+-124.976 32.736 2512
+-124.85 32.736 2520
+-124.724 32.736 2523
+-124.598 32.736 2571
+-124.472 32.736 2594
+-124.346 32.736 2631
+-124.22 32.736 2685
+-124.094 32.736 2777
+-123.968 32.736 2861
+-123.842 32.736 2970
+-123.716 32.736 3035
+-123.59 32.736 3073
+-123.464 32.736 3095
+-123.338 32.736 3127
+-123.212 32.736 3082
+-123.086 32.736 3006
+-122.96 32.736 3174
+-122.834 32.736 3477
+-122.708 32.736 3717
+-122.582 32.736 3843
+-122.456 32.736 3892
+-122.33 32.736 4022
+-122.204 32.736 4253
+-122.078 32.736 4398
+-121.952 32.736 4443
+-121.826 32.736 4426
+-121.7 32.736 4564
+-121.574 32.736 4739
+-121.448 32.736 4883
+-121.322 32.736 4907
+-121.196 32.736 5105
+-121.07 32.736 5160
+-120.944 32.736 5303
+-120.818 32.736 5440
+-120.692 32.736 5558
+-120.566 32.736 5733
+-120.44 32.736 5973
+-120.314 32.736 6119
+-120.188 32.736 6268
+-120.062 32.736 6321
+-119.936 32.736 6491
+-119.81 32.736 6588
+-119.684 32.736 6761
+-119.558 32.736 6926
+-119.432 32.736 7060
+-119.306 32.736 7162
+-119.18 32.736 7307
+-119.054 32.736 7444
+-118.928 32.736 7624
+-118.802 32.736 7763
+-118.676 32.736 7877
+-118.55 32.736 8027
+-118.424 32.736 8201
+-118.298 32.736 8339
+-118.172 32.736 8445
+-118.046 32.736 8598
+-117.92 32.736 8795
+-117.794 32.736 8910
+-117.668 32.736 9045
+-117.542 32.736 9213
+-117.416 32.736 9245
+-117.29 32.736 9468
+-117.164 32.736 9529
+-117.038 32.736 9632
+-116.912 32.736 9538
+-116.786 32.736 9494
+-116.66 32.736 9344
+-116.534 32.736 9222
+-116.408 32.736 9050
+-116.282 32.736 8911
+-116.156 32.736 8752
+-116.03 32.736 8641
+-115.904 32.736 8499
+-115.778 32.736 8317
+-115.652 32.736 8217
+-115.526 32.736 8117
+-115.4 32.736 7992
+-115.274 32.736 7782
+-115.148 32.736 7651
+-115.022 32.736 7552
+-114.896 32.736 7391
+-114.77 32.736 7236
+-114.644 32.736 7094
+-114.518 32.736 6939
+-114.392 32.736 6786
+-114.266 32.736 6662
+-114.14 32.736 6529
+-114.014 32.736 6318
+-113.888 32.736 6283
+-113.762 32.736 6131
+-113.636 32.736 6003
+-113.51 32.736 5848
+-113.384 32.736 5995
+-113.258 32.736 6151
+-113.132 32.736 6316
+-113.006 32.736 6394
+-112.88 32.736 6533
+-112.754 32.736 6609
+-112.628 32.736 6755
+-112.502 32.736 6888
+-112.376 32.736 7025
+-112.25 32.736 7110
+-112.124 32.736 7196
+-111.998 32.736 7383
+-111.872 32.736 7434
+-111.746 32.736 7598
+-111.62 32.736 7679
+-111.494 32.736 7785
+-111.368 32.736 7866
+-111.242 32.736 7926
+-111.116 32.736 7987
+-110.99 32.736 8074
+-110.864 32.736 8137
+-110.738 32.736 8188
+-110.612 32.736 8220
+-110.486 32.736 8243
+-110.36 32.736 8247
+-110.234 32.736 8221
+-110.108 32.736 8203
+-109.982 32.736 8159
+-109.856 32.736 8108
+-109.73 32.736 8043
+-109.604 32.736 7960
+-109.478 32.736 7906
+-109.352 32.736 7798
+-109.226 32.736 7691
+-109.1 32.736 7612
+-108.974 32.736 7479
+-108.848 32.736 7432
+-108.722 32.736 7289
+-108.596 32.736 7194
+-108.47 32.736 7100
+-108.344 32.736 6943
+-108.218 32.736 6839
+-108.092 32.736 6737
+-107.966 32.736 6628
+-107.84 32.736 6466
+-107.714 32.736 6291
+-107.588 32.736 6237
+-107.462 32.736 6016
+-107.336 32.736 5946
+-107.21 32.736 5820
+-107.084 32.736 5698
+-106.958 32.736 5585
+-106.832 32.736 5486
+-106.706 32.736 5407
+-106.58 32.736 5230
+-106.454 32.736 5058
+-106.328 32.736 4957
+-106.202 32.736 4817
+-106.076 32.736 4693
+-105.95 32.736 4530
+-105.824 32.736 4379
+-105.698 32.736 4432
+-105.572 32.736 4391
+-105.446 32.736 4257
+-105.32 32.736 4056
+-105.194 32.736 3816
+-105.068 32.736 3662
+-104.942 32.736 3645
+-104.816 32.736 3617
+-104.69 32.736 3601
+-104.564 32.736 3629
+-104.438 32.736 3665
+-104.312 32.736 3665
+-104.186 32.736 3642
+-104.06 32.736 3636
+-103.934 32.736 3645
+-103.808 32.736 3634
+-103.682 32.736 3642
+-103.556 32.736 3650
+-103.43 32.736 3657
+-103.304 32.736 3663
+-103.178 32.736 3669
+-103.052 32.736 3675
+-102.926 32.736 3680
+-102.8 32.736 3685
+-102.674 32.736 3690
+-102.548 32.736 3694
+-102.422 32.736 3698
+-102.296 32.736 3634
+-102.17 32.736 3610
+-102.044 32.736 3612
+-101.918 32.736 3613
+-101.792 32.736 3614
+-101.666 32.736 3562
+-101.54 32.736 3561
+-101.414 32.736 3561
+-101.288 32.736 3560
+-101.162 32.736 3560
+-101.036 32.736 3559
+-100.91 32.736 3559
+-100.784 32.736 3422
+-100.658 32.736 3421
+-100.532 32.736 3420
+-100.406 32.736 3420
+-100.28 32.736 3208
+-100.154 32.736 3198
+-100.028 32.736 3168
+-99.902 32.736 3000
+-99.776 32.736 2949
+-99.65 32.736 2932
+-99.524 32.736 2934
+-99.398 32.736 2732
+-99.272 32.736 2637
+-99.146 32.736 2684
+-99.02 32.736 2626
+-98.894 32.736 2634
+-98.768 32.736 2733
+-98.642 32.736 2731
+-98.516 32.736 2765
+-98.39 32.736 2755
+-98.264 32.736 2804
+-98.138 32.736 2800
+-98.012 32.736 2814
+-97.886 32.736 2809
+-97.76 32.736 2805
+-97.634 32.736 2772
+-97.508 32.736 2769
+-97.382 32.736 2784
+-97.256 32.736 2780
+-97.13 32.736 2777
+-97.004 32.736 2774
+-96.878 32.736 2761
+-96.752 32.736 2775
+-96.626 32.736 2772
+-96.5 32.736 2768
+-96.374 32.736 2764
+-96.248 32.736 2761
+-96.122 32.736 2754
+-95.996 32.736 2759
+-95.87 32.736 2754
+-95.744 32.736 2748
+-95.618 32.736 2709
+-95.492 32.736 2701
+-95.366 32.736 2732
+-95.24 32.736 2718
+-95.114 32.736 2707
+-94.988 32.736 2809
+-94.862 32.736 2775
+-94.736 32.736 2737
+-94.61 32.736 2698
+-94.484 32.736 2652
+-94.358 32.736 2631
+-94.232 32.736 2559
+-94.106 32.736 2515
+-93.98 32.736 2468
+-93.854 32.736 2455
+-93.728 32.736 2457
+-93.602 32.736 2492
+-93.476 32.736 2560
+-93.35 32.736 2685
+-93.224 32.736 2794
+-93.098 32.736 2905
+-92.972 32.736 3010
+-92.846 32.736 3140
+-92.72 32.736 3213
+-92.594 32.736 3294
+-92.468 32.736 3366
+-92.342 32.736 3448
+-92.216 32.736 3550
+-92.09 32.736 3597
+-91.964 32.736 3670
+-91.838 32.736 3834
+-91.712 32.736 3804
+-91.586 32.736 3790
+-91.46 32.736 3782
+-91.334 32.736 3818
+-91.208 32.736 3858
+-91.082 32.736 3950
+-90.956 32.736 4021
+-90.83 32.736 4099
+-90.704 32.736 4113
+-90.578 32.736 4123
+-90.452 32.736 4134
+-90.326 32.736 4125
+-90.2 32.736 4117
+-90.074 32.736 4139
+-89.948 32.736 4166
+-89.822 32.736 4205
+-89.696 32.736 4229
+-89.57 32.736 4241
+-89.444 32.736 4237
+-89.318 32.736 4217
+-89.192 32.736 4249
+-89.066 32.736 4266
+-88.94 32.736 4290
+-88.814 32.736 4302
+-88.688 32.736 4310
+-88.562 32.736 4311
+-88.436 32.736 4313
+-88.31 32.736 4297
+-88.184 32.736 4262
+-88.058 32.736 4223
+-87.932 32.736 4202
+-87.806 32.736 4181
+-87.68 32.736 4165
+-87.554 32.736 4118
+-87.428 32.736 4054
+-87.302 32.736 3988
+-87.176 32.736 4030
+-87.05 32.736 4033
+-86.924 32.736 4005
+-86.798 32.736 3954
+-86.672 32.736 3887
+-86.546 32.736 3821
+-86.42 32.736 3796
+-86.294 32.736 3755
+-86.168 32.736 3702
+-86.042 32.736 3646
+-85.916 32.736 3625
+-85.79 32.736 3580
+-85.664 32.736 3536
+-85.538 32.736 3510
+-85.412 32.736 3450
+-85.286 32.736 3423
+-85.16 32.736 3458
+-85.034 32.736 3535
+-84.908 32.736 3607
+-84.782 32.736 3686
+-84.656 32.736 3766
+-84.53 32.736 3831
+-84.404 32.736 3871
+-84.278 32.736 3893
+-84.152 32.736 3896
+-84.026 32.736 3892
+-83.9 32.736 3945
+-83.774 32.736 4038
+-83.648 32.736 4098
+-83.522 32.736 4137
+-83.396 32.736 4163
+-83.27 32.736 4205
+-83.144 32.736 4225
+-83.018 32.736 4225
+-82.892 32.736 4228
+-82.766 32.736 4245
+-82.64 32.736 4290
+-82.514 32.736 4299
+-82.388 32.736 4321
+-82.262 32.736 4323
+-82.136 32.736 4322
+-82.01 32.736 4306
+-81.884 32.736 4321
+-81.758 32.736 4308
+-81.632 32.736 4295
+-81.506 32.736 4295
+-81.38 32.736 4275
+-81.254 32.736 4267
+-81.128 32.736 4245
+-81.002 32.736 4204
+-80.876 32.736 4162
+-80.75 32.736 4119
+-80.624 32.736 4068
+-80.498 32.736 4000
+-80.372 32.736 3947
+-80.246 32.736 3907
+-80.12 32.736 3838
+-79.994 32.736 3761
+-79.868 32.736 3716
+-79.742 32.736 3685
+-79.616 32.736 3651
+-79.49 32.736 3580
+-79.364 32.736 3535
+-79.238 32.736 3476
+-79.112 32.736 3386
+-78.986 32.736 3325
+-78.86 32.736 3268
+-78.734 32.736 3187
+-78.608 32.736 3224
+-78.482 32.736 3294
+-78.356 32.736 3367
+-78.23 32.736 3417
+-78.104 32.736 3409
+-77.978 32.736 3432
+-77.852 32.736 3408
+-77.726 32.736 3370
+-77.6 32.736 3380
+-77.474 32.736 3380
+-77.348 32.736 3369
+-77.222 32.736 3383
+-77.096 32.736 3383
+-76.97 32.736 3373
+-76.844 32.736 3377
+-76.718 32.736 3379
+-76.592 32.736 3380
+-76.466 32.736 3365
+-76.34 32.736 3352
+-76.214 32.736 3368
+-76.088 32.736 3371
+-75.962 32.736 3375
+-75.836 32.736 3315
+-75.71 32.736 3311
+-75.584 32.736 3339
+-75.458 32.736 3342
+-75.332 32.736 3345
+-75.206 32.736 3348
+-75.08 32.736 3379
+-74.954 32.736 3325
+-74.828 32.736 3328
+-74.702 32.736 3331
+-74.576 32.736 3245
+-74.45 32.736 3237
+-74.324 32.736 3238
+-74.198 32.736 3239
+-74.072 32.736 3223
+-73.946 32.736 3224
+-73.82 32.736 3225
+-73.694 32.736 3226
+-73.568 32.736 3200
+-73.442 32.736 3239
+-73.316 32.736 3241
+-73.19 32.736 3228
+-73.064 32.736 3230
+-72.938 32.736 3233
+-72.812 32.736 3183
+-72.686 32.736 3324
+-72.56 32.736 3295
+-72.434 32.736 3297
+-72.308 32.736 3265
+-72.182 32.736 3267
+-72.056 32.736 3270
+-71.93 32.736 3372
+-71.804 32.736 3375
+-71.678 32.736 3377
+-71.552 32.736 3380
+-71.426 32.736 3383
+-71.3 32.736 3472
+-71.174 32.736 3476
+-71.048 32.736 3406
+-70.922 32.736 3409
+-70.796 32.736 3412
+-70.67 32.736 3415
+-70.544 32.736 3419
+-70.418 32.736 3386
+-70.292 32.736 3379
+-70.166 32.736 3335
+-70.04 32.736 3338
+-69.914 32.736 3303
+-69.788 32.736 3345
+-69.662 32.736 3348
+-69.536 32.736 3350
+-69.41 32.736 3353
+-69.284 32.736 3355
+-69.158 32.736 3357
+-69.032 32.736 3360
+-68.906 32.736 3336
+-68.78 32.736 3338
+-68.654 32.736 3340
+-68.528 32.736 3312
+-68.402 32.736 3282
+-68.276 32.736 3263
+-68.15 32.736 3265
+-68.024 32.736 3266
+-67.898 32.736 3268
+-67.772 32.736 3269
+-67.646 32.736 3271
+-67.52 32.736 3272
+-67.394 32.736 3200
+-67.268 32.736 3186
+-67.142 32.736 3187
+-67.016 32.736 3189
+-66.89 32.736 3190
+-66.764 32.736 3192
+-66.638 32.736 3193
+-66.512 32.736 3195
+-66.386 32.736 3196
+-66.26 32.736 3197
+-66.134 32.736 3198
+-66.008 32.736 3200
+-65.882 32.736 3201
+-65.756 32.736 3202
+-65.63 32.736 3203
+-65.504 32.736 3205
+-65.378 32.736 3195
+-65.252 32.736 3196
+-65.126 32.736 3198
+-128 32.684 2765
+-127.874 32.684 2758
+-127.748 32.684 2751
+-127.622 32.684 2743
+-127.496 32.684 2735
+-127.37 32.684 2726
+-127.244 32.684 2717
+-127.118 32.684 2706
+-126.992 32.684 2696
+-126.866 32.684 2684
+-126.74 32.684 2671
+-126.614 32.684 2658
+-126.488 32.684 2644
+-126.362 32.684 2651
+-126.236 32.684 2634
+-126.11 32.684 2671
+-125.984 32.684 2653
+-125.858 32.684 2633
+-125.732 32.684 2613
+-125.606 32.684 2593
+-125.48 32.684 2573
+-125.354 32.684 2555
+-125.228 32.684 2557
+-125.102 32.684 2545
+-124.976 32.684 2587
+-124.85 32.684 2587
+-124.724 32.684 2611
+-124.598 32.684 2627
+-124.472 32.684 2688
+-124.346 32.684 2726
+-124.22 32.684 2776
+-124.094 32.684 2856
+-123.968 32.684 2949
+-123.842 32.684 3008
+-123.716 32.684 3051
+-123.59 32.684 3082
+-123.464 32.684 3085
+-123.338 32.684 3050
+-123.212 32.684 3008
+-123.086 32.684 3071
+-122.96 32.684 3222
+-122.834 32.684 3460
+-122.708 32.684 3681
+-122.582 32.684 3799
+-122.456 32.684 3779
+-122.33 32.684 3906
+-122.204 32.684 4172
+-122.078 32.684 4377
+-121.952 32.684 4437
+-121.826 32.684 4481
+-121.7 32.684 4619
+-121.574 32.684 4743
+-121.448 32.684 4875
+-121.322 32.684 4996
+-121.196 32.684 5144
+-121.07 32.684 5236
+-120.944 32.684 5325
+-120.818 32.684 5466
+-120.692 32.684 5686
+-120.566 32.684 5785
+-120.44 32.684 5974
+-120.314 32.684 6120
+-120.188 32.684 6268
+-120.062 32.684 6373
+-119.936 32.684 6512
+-119.81 32.684 6660
+-119.684 32.684 6787
+-119.558 32.684 6924
+-119.432 32.684 7096
+-119.306 32.684 7209
+-119.18 32.684 7327
+-119.054 32.684 7538
+-118.928 32.684 7607
+-118.802 32.684 7785
+-118.676 32.684 7917
+-118.55 32.684 8028
+-118.424 32.684 8220
+-118.298 32.684 8335
+-118.172 32.684 8420
+-118.046 32.684 8597
+-117.92 32.684 8728
+-117.794 32.684 8903
+-117.668 32.684 9026
+-117.542 32.684 9164
+-117.416 32.684 9264
+-117.29 32.684 9427
+-117.164 32.684 9511
+-117.038 32.684 9582
+-116.912 32.684 9568
+-116.786 32.684 9423
+-116.66 32.684 9248
+-116.534 32.684 9177
+-116.408 32.684 8995
+-116.282 32.684 8862
+-116.156 32.684 8802
+-116.03 32.684 8598
+-115.904 32.684 8523
+-115.778 32.684 8372
+-115.652 32.684 8195
+-115.526 32.684 8097
+-115.4 32.684 7898
+-115.274 32.684 7741
+-115.148 32.684 7586
+-115.022 32.684 7518
+-114.896 32.684 7379
+-114.77 32.684 7256
+-114.644 32.684 7062
+-114.518 32.684 6971
+-114.392 32.684 6744
+-114.266 32.684 6656
+-114.14 32.684 6489
+-114.014 32.684 6406
+-113.888 32.684 6262
+-113.762 32.684 6088
+-113.636 32.684 6062
+-113.51 32.684 6005
+-113.384 32.684 6086
+-113.258 32.684 6225
+-113.132 32.684 6323
+-113.006 32.684 6433
+-112.88 32.684 6564
+-112.754 32.684 6647
+-112.628 32.684 6800
+-112.502 32.684 6902
+-112.376 32.684 7033
+-112.25 32.684 7162
+-112.124 32.684 7243
+-111.998 32.684 7430
+-111.872 32.684 7453
+-111.746 32.684 7620
+-111.62 32.684 7770
+-111.494 32.684 7792
+-111.368 32.684 7916
+-111.242 32.684 8003
+-111.116 32.684 8036
+-110.99 32.684 8129
+-110.864 32.684 8201
+-110.738 32.684 8262
+-110.612 32.684 8280
+-110.486 32.684 8307
+-110.36 32.684 8325
+-110.234 32.684 8311
+-110.108 32.684 8264
+-109.982 32.684 8192
+-109.856 32.684 8201
+-109.73 32.684 8075
+-109.604 32.684 8027
+-109.478 32.684 7933
+-109.352 32.684 7847
+-109.226 32.684 7743
+-109.1 32.684 7646
+-108.974 32.684 7485
+-108.848 32.684 7438
+-108.722 32.684 7342
+-108.596 32.684 7221
+-108.47 32.684 7129
+-108.344 32.684 6973
+-108.218 32.684 6820
+-108.092 32.684 6697
+-107.966 32.684 6620
+-107.84 32.684 6407
+-107.714 32.684 6376
+-107.588 32.684 6251
+-107.462 32.684 6089
+-107.336 32.684 5942
+-107.21 32.684 5837
+-107.084 32.684 5686
+-106.958 32.684 5615
+-106.832 32.684 5490
+-106.706 32.684 5454
+-106.58 32.684 5285
+-106.454 32.684 5103
+-106.328 32.684 4952
+-106.202 32.684 4811
+-106.076 32.684 4682
+-105.95 32.684 4590
+-105.824 32.684 4509
+-105.698 32.684 4462
+-105.572 32.684 4421
+-105.446 32.684 4306
+-105.32 32.684 4122
+-105.194 32.684 3922
+-105.068 32.684 3754
+-104.942 32.684 3580
+-104.816 32.684 3442
+-104.69 32.684 3500
+-104.564 32.684 3605
+-104.438 32.684 3657
+-104.312 32.684 3701
+-104.186 32.684 3698
+-104.06 32.684 3685
+-103.934 32.684 3653
+-103.808 32.684 3661
+-103.682 32.684 3667
+-103.556 32.684 3673
+-103.43 32.684 3678
+-103.304 32.684 3683
+-103.178 32.684 3687
+-103.052 32.684 3692
+-102.926 32.684 3696
+-102.8 32.684 3699
+-102.674 32.684 3703
+-102.548 32.684 3706
+-102.422 32.684 3640
+-102.296 32.684 3616
+-102.17 32.684 3617
+-102.044 32.684 3618
+-101.918 32.684 3619
+-101.792 32.684 3565
+-101.666 32.684 3564
+-101.54 32.684 3563
+-101.414 32.684 3562
+-101.288 32.684 3562
+-101.162 32.684 3561
+-101.036 32.684 3560
+-100.91 32.684 3422
+-100.784 32.684 3421
+-100.658 32.684 3420
+-100.532 32.684 3419
+-100.406 32.684 3418
+-100.28 32.684 3204
+-100.154 32.684 3167
+-100.028 32.684 3165
+-99.902 32.684 2996
+-99.776 32.684 2945
+-99.65 32.684 2927
+-99.524 32.684 2891
+-99.398 32.684 2726
+-99.272 32.684 2616
+-99.146 32.684 2659
+-99.02 32.684 2614
+-98.894 32.684 2622
+-98.768 32.684 2717
+-98.642 32.684 2751
+-98.516 32.684 2748
+-98.39 32.684 2740
+-98.264 32.684 2789
+-98.138 32.684 2802
+-98.012 32.684 2797
+-97.886 32.684 2792
+-97.76 32.684 2758
+-97.634 32.684 2755
+-97.508 32.684 2769
+-97.382 32.684 2765
+-97.256 32.684 2761
+-97.13 32.684 2757
+-97.004 32.684 2743
+-96.878 32.684 2757
+-96.752 32.684 2754
+-96.626 32.684 2750
+-96.5 32.684 2745
+-96.374 32.684 2741
+-96.248 32.684 2735
+-96.122 32.684 2740
+-95.996 32.684 2735
+-95.87 32.684 2729
+-95.744 32.684 2690
+-95.618 32.684 2684
+-95.492 32.684 2717
+-95.366 32.684 2705
+-95.24 32.684 2696
+-95.114 32.684 2679
+-94.988 32.684 2661
+-94.862 32.684 2636
+-94.736 32.684 2606
+-94.61 32.684 2570
+-94.484 32.684 2647
+-94.358 32.684 2565
+-94.232 32.684 2503
+-94.106 32.684 2426
+-93.98 32.684 2365
+-93.854 32.684 2312
+-93.728 32.684 2299
+-93.602 32.684 2344
+-93.476 32.684 2461
+-93.35 32.684 2588
+-93.224 32.684 2722
+-93.098 32.684 2850
+-92.972 32.684 2992
+-92.846 32.684 3085
+-92.72 32.684 3178
+-92.594 32.684 3259
+-92.468 32.684 3301
+-92.342 32.684 3458
+-92.216 32.684 3512
+-92.09 32.684 3589
+-91.964 32.684 3624
+-91.838 32.684 3628
+-91.712 32.684 3733
+-91.586 32.684 3699
+-91.46 32.684 3651
+-91.334 32.684 3661
+-91.208 32.684 3714
+-91.082 32.684 3805
+-90.956 32.684 3908
+-90.83 32.684 3989
+-90.704 32.684 4031
+-90.578 32.684 4050
+-90.452 32.684 4084
+-90.326 32.684 4087
+-90.2 32.684 4084
+-90.074 32.684 4084
+-89.948 32.684 4115
+-89.822 32.684 4142
+-89.696 32.684 4155
+-89.57 32.684 4173
+-89.444 32.684 4170
+-89.318 32.684 4150
+-89.192 32.684 4167
+-89.066 32.684 4186
+-88.94 32.684 4188
+-88.814 32.684 4207
+-88.688 32.684 4221
+-88.562 32.684 4220
+-88.436 32.684 4201
+-88.31 32.684 4190
+-88.184 32.684 4160
+-88.058 32.684 4145
+-87.932 32.684 4112
+-87.806 32.684 4084
+-87.68 32.684 4098
+-87.554 32.684 4080
+-87.428 32.684 4051
+-87.302 32.684 4019
+-87.176 32.684 4016
+-87.05 32.684 4005
+-86.924 32.684 3958
+-86.798 32.684 3914
+-86.672 32.684 3833
+-86.546 32.684 3762
+-86.42 32.684 3687
+-86.294 32.684 3639
+-86.168 32.684 3597
+-86.042 32.684 3545
+-85.916 32.684 3550
+-85.79 32.684 3533
+-85.664 32.684 3527
+-85.538 32.684 3491
+-85.412 32.684 3430
+-85.286 32.684 3382
+-85.16 32.684 3437
+-85.034 32.684 3544
+-84.908 32.684 3640
+-84.782 32.684 3739
+-84.656 32.684 3813
+-84.53 32.684 3880
+-84.404 32.684 3933
+-84.278 32.684 3970
+-84.152 32.684 3985
+-84.026 32.684 4000
+-83.9 32.684 4046
+-83.774 32.684 4107
+-83.648 32.684 4142
+-83.522 32.684 4153
+-83.396 32.684 4172
+-83.27 32.684 4214
+-83.144 32.684 4229
+-83.018 32.684 4244
+-82.892 32.684 4252
+-82.766 32.684 4288
+-82.64 32.684 4329
+-82.514 32.684 4355
+-82.388 32.684 4360
+-82.262 32.684 4351
+-82.136 32.684 4342
+-82.01 32.684 4344
+-81.884 32.684 4364
+-81.758 32.684 4343
+-81.632 32.684 4327
+-81.506 32.684 4316
+-81.38 32.684 4305
+-81.254 32.684 4272
+-81.128 32.684 4273
+-81.002 32.684 4234
+-80.876 32.684 4193
+-80.75 32.684 4150
+-80.624 32.684 4100
+-80.498 32.684 4034
+-80.372 32.684 3968
+-80.246 32.684 3924
+-80.12 32.684 3899
+-79.994 32.684 3819
+-79.868 32.684 3730
+-79.742 32.684 3677
+-79.616 32.684 3678
+-79.49 32.684 3620
+-79.364 32.684 3553
+-79.238 32.684 3476
+-79.112 32.684 3366
+-78.986 32.684 3290
+-78.86 32.684 3236
+-78.734 32.684 3089
+-78.608 32.684 3172
+-78.482 32.684 3285
+-78.356 32.684 3367
+-78.23 32.684 3423
+-78.104 32.684 3431
+-77.978 32.684 3458
+-77.852 32.684 3381
+-77.726 32.684 3393
+-77.6 32.684 3393
+-77.474 32.684 3382
+-77.348 32.684 3395
+-77.222 32.684 3395
+-77.096 32.684 3384
+-76.97 32.684 3387
+-76.844 32.684 3387
+-76.718 32.684 3387
+-76.592 32.684 3371
+-76.466 32.684 3357
+-76.34 32.684 3372
+-76.214 32.684 3375
+-76.088 32.684 3378
+-75.962 32.684 3318
+-75.836 32.684 3314
+-75.71 32.684 3342
+-75.584 32.684 3344
+-75.458 32.684 3346
+-75.332 32.684 3349
+-75.206 32.684 3380
+-75.08 32.684 3323
+-74.954 32.684 3328
+-74.828 32.684 3331
+-74.702 32.684 3246
+-74.576 32.684 3237
+-74.45 32.684 3238
+-74.324 32.684 3239
+-74.198 32.684 3223
+-74.072 32.684 3224
+-73.946 32.684 3225
+-73.82 32.684 3226
+-73.694 32.684 3200
+-73.568 32.684 3238
+-73.442 32.684 3240
+-73.316 32.684 3227
+-73.19 32.684 3230
+-73.064 32.684 3232
+-72.938 32.684 3183
+-72.812 32.684 3321
+-72.686 32.684 3293
+-72.56 32.684 3295
+-72.434 32.684 3263
+-72.308 32.684 3265
+-72.182 32.684 3268
+-72.056 32.684 3368
+-71.93 32.684 3371
+-71.804 32.684 3374
+-71.678 32.684 3377
+-71.552 32.684 3379
+-71.426 32.684 3467
+-71.3 32.684 3471
+-71.174 32.684 3403
+-71.048 32.684 3406
+-70.922 32.684 3409
+-70.796 32.684 3412
+-70.67 32.684 3416
+-70.544 32.684 3384
+-70.418 32.684 3376
+-70.292 32.684 3333
+-70.166 32.684 3336
+-70.04 32.684 3300
+-69.914 32.684 3343
+-69.788 32.684 3346
+-69.662 32.684 3348
+-69.536 32.684 3351
+-69.41 32.684 3353
+-69.284 32.684 3356
+-69.158 32.684 3358
+-69.032 32.684 3334
+-68.906 32.684 3336
+-68.78 32.684 3338
+-68.654 32.684 3311
+-68.528 32.684 3281
+-68.402 32.684 3262
+-68.276 32.684 3264
+-68.15 32.684 3265
+-68.024 32.684 3267
+-67.898 32.684 3268
+-67.772 32.684 3270
+-67.646 32.684 3271
+-67.52 32.684 3199
+-67.394 32.684 3185
+-67.268 32.684 3186
+-67.142 32.684 3188
+-67.016 32.684 3189
+-66.89 32.684 3191
+-66.764 32.684 3192
+-66.638 32.684 3194
+-66.512 32.684 3195
+-66.386 32.684 3197
+-66.26 32.684 3198
+-66.134 32.684 3199
+-66.008 32.684 3200
+-65.882 32.684 3202
+-65.756 32.684 3203
+-65.63 32.684 3204
+-65.504 32.684 3194
+-65.378 32.684 3196
+-65.252 32.684 3197
+-65.126 32.684 3198
+-128 32.632 2769
+-127.874 32.632 2762
+-127.748 32.632 2755
+-127.622 32.632 2748
+-127.496 32.632 2740
+-127.37 32.632 2731
+-127.244 32.632 2723
+-127.118 32.632 2713
+-126.992 32.632 2703
+-126.866 32.632 2692
+-126.74 32.632 2681
+-126.614 32.632 2669
+-126.488 32.632 2656
+-126.362 32.632 2643
+-126.236 32.632 2707
+-126.11 32.632 2692
+-125.984 32.632 2676
+-125.858 32.632 2660
+-125.732 32.632 2644
+-125.606 32.632 2628
+-125.48 32.632 2613
+-125.354 32.632 2600
+-125.228 32.632 2590
+-125.102 32.632 2649
+-124.976 32.632 2646
+-124.85 32.632 2650
+-124.724 32.632 2661
+-124.598 32.632 2695
+-124.472 32.632 2722
+-124.346 32.632 2789
+-124.22 32.632 2849
+-124.094 32.632 2900
+-123.968 32.632 2983
+-123.842 32.632 3029
+-123.716 32.632 3075
+-123.59 32.632 3112
+-123.464 32.632 3073
+-123.338 32.632 2991
+-123.212 32.632 2878
+-123.086 32.632 3031
+-122.96 32.632 3244
+-122.834 32.632 3443
+-122.708 32.632 3650
+-122.582 32.632 3780
+-122.456 32.632 3836
+-122.33 32.632 3931
+-122.204 32.632 4155
+-122.078 32.632 4373
+-121.952 32.632 4441
+-121.826 32.632 4516
+-121.7 32.632 4616
+-121.574 32.632 4679
+-121.448 32.632 4841
+-121.322 32.632 5045
+-121.196 32.632 5183
+-121.07 32.632 5259
+-120.944 32.632 5359
+-120.818 32.632 5498
+-120.692 32.632 5655
+-120.566 32.632 5841
+-120.44 32.632 6014
+-120.314 32.632 6034
+-120.188 32.632 6198
+-120.062 32.632 6365
+-119.936 32.632 6516
+-119.81 32.632 6686
+-119.684 32.632 6785
+-119.558 32.632 6973
+-119.432 32.632 7059
+-119.306 32.632 7170
+-119.18 32.632 7306
+-119.054 32.632 7429
+-118.928 32.632 7582
+-118.802 32.632 7743
+-118.676 32.632 7863
+-118.55 32.632 8021
+-118.424 32.632 8149
+-118.298 32.632 8347
+-118.172 32.632 8467
+-118.046 32.632 8623
+-117.92 32.632 8744
+-117.794 32.632 8884
+-117.668 32.632 9042
+-117.542 32.632 9092
+-117.416 32.632 9294
+-117.29 32.632 9358
+-117.164 32.632 9442
+-117.038 32.632 9531
+-116.912 32.632 9459
+-116.786 32.632 9429
+-116.66 32.632 9263
+-116.534 32.632 9121
+-116.408 32.632 9062
+-116.282 32.632 8862
+-116.156 32.632 8770
+-116.03 32.632 8668
+-115.904 32.632 8430
+-115.778 32.632 8348
+-115.652 32.632 8132
+-115.526 32.632 8060
+-115.4 32.632 7885
+-115.274 32.632 7759
+-115.148 32.632 7626
+-115.022 32.632 7464
+-114.896 32.632 7368
+-114.77 32.632 7286
+-114.644 32.632 7114
+-114.518 32.632 6945
+-114.392 32.632 6775
+-114.266 32.632 6701
+-114.14 32.632 6503
+-114.014 32.632 6398
+-113.888 32.632 6297
+-113.762 32.632 6155
+-113.636 32.632 6063
+-113.51 32.632 5862
+-113.384 32.632 6087
+-113.258 32.632 6222
+-113.132 32.632 6315
+-113.006 32.632 6436
+-112.88 32.632 6508
+-112.754 32.632 6653
+-112.628 32.632 6793
+-112.502 32.632 6948
+-112.376 32.632 7053
+-112.25 32.632 7168
+-112.124 32.632 7317
+-111.998 32.632 7429
+-111.872 32.632 7518
+-111.746 32.632 7688
+-111.62 32.632 7794
+-111.494 32.632 7853
+-111.368 32.632 7953
+-111.242 32.632 8072
+-111.116 32.632 8131
+-110.99 32.632 8178
+-110.864 32.632 8242
+-110.738 32.632 8281
+-110.612 32.632 8336
+-110.486 32.632 8369
+-110.36 32.632 8354
+-110.234 32.632 8358
+-110.108 32.632 8317
+-109.982 32.632 8245
+-109.856 32.632 8170
+-109.73 32.632 8118
+-109.604 32.632 8076
+-109.478 32.632 8021
+-109.352 32.632 7901
+-109.226 32.632 7779
+-109.1 32.632 7646
+-108.974 32.632 7606
+-108.848 32.632 7498
+-108.722 32.632 7362
+-108.596 32.632 7278
+-108.47 32.632 7119
+-108.344 32.632 6964
+-108.218 32.632 6904
+-108.092 32.632 6775
+-107.966 32.632 6585
+-107.84 32.632 6521
+-107.714 32.632 6368
+-107.588 32.632 6251
+-107.462 32.632 6174
+-107.336 32.632 5946
+-107.21 32.632 5907
+-107.084 32.632 5757
+-106.958 32.632 5618
+-106.832 32.632 5487
+-106.706 32.632 5455
+-106.58 32.632 5303
+-106.454 32.632 5111
+-106.328 32.632 4953
+-106.202 32.632 4807
+-106.076 32.632 4612
+-105.95 32.632 4554
+-105.824 32.632 4563
+-105.698 32.632 4491
+-105.572 32.632 4427
+-105.446 32.632 4309
+-105.32 32.632 4186
+-105.194 32.632 3961
+-105.068 32.632 3768
+-104.942 32.632 3480
+-104.816 32.632 3286
+-104.69 32.632 3422
+-104.564 32.632 3585
+-104.438 32.632 3679
+-104.312 32.632 3717
+-104.186 32.632 3718
+-104.06 32.632 3739
+-103.934 32.632 3720
+-103.808 32.632 3686
+-103.682 32.632 3691
+-103.556 32.632 3695
+-103.43 32.632 3699
+-103.304 32.632 3702
+-103.178 32.632 3705
+-103.052 32.632 3708
+-102.926 32.632 3711
+-102.8 32.632 3714
+-102.674 32.632 3716
+-102.548 32.632 3648
+-102.422 32.632 3624
+-102.296 32.632 3624
+-102.17 32.632 3624
+-102.044 32.632 3625
+-101.918 32.632 3569
+-101.792 32.632 3568
+-101.666 32.632 3566
+-101.54 32.632 3565
+-101.414 32.632 3564
+-101.288 32.632 3563
+-101.162 32.632 3562
+-101.036 32.632 3422
+-100.91 32.632 3421
+-100.784 32.632 3420
+-100.658 32.632 3419
+-100.532 32.632 3418
+-100.406 32.632 3417
+-100.28 32.632 3174
+-100.154 32.632 3162
+-100.028 32.632 3161
+-99.902 32.632 2992
+-99.776 32.632 2940
+-99.65 32.632 2922
+-99.524 32.632 2880
+-99.398 32.632 2683
+-99.272 32.632 2608
+-99.146 32.632 2650
+-99.02 32.632 2603
+-98.894 32.632 2609
+-98.768 32.632 2644
+-98.642 32.632 2677
+-98.516 32.632 2731
+-98.39 32.632 2725
+-98.264 32.632 2790
+-98.138 32.632 2785
+-98.012 32.632 2779
+-97.886 32.632 2745
+-97.76 32.632 2741
+-97.634 32.632 2754
+-97.508 32.632 2749
+-97.382 32.632 2745
+-97.256 32.632 2740
+-97.13 32.632 2726
+-97.004 32.632 2739
+-96.878 32.632 2735
+-96.752 32.632 2730
+-96.626 32.632 2726
+-96.5 32.632 2721
+-96.374 32.632 2714
+-96.248 32.632 2720
+-96.122 32.632 2715
+-95.996 32.632 2709
+-95.87 32.632 2670
+-95.744 32.632 2664
+-95.618 32.632 2699
+-95.492 32.632 2689
+-95.366 32.632 2682
+-95.24 32.632 2668
+-95.114 32.632 2654
+-94.988 32.632 2632
+-94.862 32.632 2606
+-94.736 32.632 2574
+-94.61 32.632 2570
+-94.484 32.632 2500
+-94.358 32.632 2448
+-94.232 32.632 2368
+-94.106 32.632 2338
+-93.98 32.632 2226
+-93.854 32.632 2132
+-93.728 32.632 2100
+-93.602 32.632 2166
+-93.476 32.632 2302
+-93.35 32.632 2471
+-93.224 32.632 2640
+-93.098 32.632 2810
+-92.972 32.632 2934
+-92.846 32.632 3047
+-92.72 32.632 3142
+-92.594 32.632 3199
+-92.468 32.632 3308
+-92.342 32.632 3420
+-92.216 32.632 3456
+-92.09 32.632 3546
+-91.964 32.632 3578
+-91.838 32.632 3585
+-91.712 32.632 3673
+-91.586 32.632 3609
+-91.46 32.632 3546
+-91.334 32.632 3519
+-91.208 32.632 3582
+-91.082 32.632 3707
+-90.956 32.632 3816
+-90.83 32.632 3878
+-90.704 32.632 3919
+-90.578 32.632 3957
+-90.452 32.632 3975
+-90.326 32.632 3980
+-90.2 32.632 3975
+-90.074 32.632 3997
+-89.948 32.632 4029
+-89.822 32.632 4064
+-89.696 32.632 4106
+-89.57 32.632 4139
+-89.444 32.632 4145
+-89.318 32.632 4148
+-89.192 32.632 4125
+-89.066 32.632 4098
+-88.94 32.632 4111
+-88.814 32.632 4122
+-88.688 32.632 4137
+-88.562 32.632 4132
+-88.436 32.632 4125
+-88.31 32.632 4102
+-88.184 32.632 4080
+-88.058 32.632 4067
+-87.932 32.632 4058
+-87.806 32.632 4037
+-87.68 32.632 4064
+-87.554 32.632 4047
+-87.428 32.632 4031
+-87.302 32.632 3991
+-87.176 32.632 3977
+-87.05 32.632 3948
+-86.924 32.632 3904
+-86.798 32.632 3851
+-86.672 32.632 3770
+-86.546 32.632 3671
+-86.42 32.632 3594
+-86.294 32.632 3515
+-86.168 32.632 3476
+-86.042 32.632 3470
+-85.916 32.632 3499
+-85.79 32.632 3509
+-85.664 32.632 3543
+-85.538 32.632 3512
+-85.412 32.632 3472
+-85.286 32.632 3439
+-85.16 32.632 3490
+-85.034 32.632 3597
+-84.908 32.632 3680
+-84.782 32.632 3781
+-84.656 32.632 3873
+-84.53 32.632 3939
+-84.404 32.632 3991
+-84.278 32.632 4023
+-84.152 32.632 4050
+-84.026 32.632 4060
+-83.9 32.632 4115
+-83.774 32.632 4158
+-83.648 32.632 4180
+-83.522 32.632 4182
+-83.396 32.632 4204
+-83.27 32.632 4245
+-83.144 32.632 4269
+-83.018 32.632 4263
+-82.892 32.632 4290
+-82.766 32.632 4345
+-82.64 32.632 4371
+-82.514 32.632 4391
+-82.388 32.632 4402
+-82.262 32.632 4395
+-82.136 32.632 4384
+-82.01 32.632 4389
+-81.884 32.632 4383
+-81.758 32.632 4378
+-81.632 32.632 4377
+-81.506 32.632 4367
+-81.38 32.632 4344
+-81.254 32.632 4310
+-81.128 32.632 4303
+-81.002 32.632 4268
+-80.876 32.632 4218
+-80.75 32.632 4181
+-80.624 32.632 4147
+-80.498 32.632 4091
+-80.372 32.632 4051
+-80.246 32.632 3984
+-80.12 32.632 3934
+-79.994 32.632 3863
+-79.868 32.632 3772
+-79.742 32.632 3711
+-79.616 32.632 3693
+-79.49 32.632 3642
+-79.364 32.632 3562
+-79.238 32.632 3511
+-79.112 32.632 3432
+-78.986 32.632 3344
+-78.86 32.632 3283
+-78.734 32.632 3194
+-78.608 32.632 3236
+-78.482 32.632 3321
+-78.356 32.632 3391
+-78.23 32.632 3415
+-78.104 32.632 3449
+-77.978 32.632 3431
+-77.852 32.632 3450
+-77.726 32.632 3443
+-77.6 32.632 3447
+-77.474 32.632 3467
+-77.348 32.632 3406
+-77.222 32.632 3394
+-77.096 32.632 3396
+-76.97 32.632 3395
+-76.844 32.632 3395
+-76.718 32.632 3378
+-76.592 32.632 3363
+-76.466 32.632 3377
+-76.34 32.632 3379
+-76.214 32.632 3381
+-76.088 32.632 3321
+-75.962 32.632 3317
+-75.836 32.632 3344
+-75.71 32.632 3346
+-75.584 32.632 3347
+-75.458 32.632 3350
+-75.332 32.632 3380
+-75.206 32.632 3326
+-75.08 32.632 3328
+-74.954 32.632 3331
+-74.828 32.632 3246
+-74.702 32.632 3237
+-74.576 32.632 3238
+-74.45 32.632 3239
+-74.324 32.632 3223
+-74.198 32.632 3224
+-74.072 32.632 3225
+-73.946 32.632 3225
+-73.82 32.632 3200
+-73.694 32.632 3237
+-73.568 32.632 3240
+-73.442 32.632 3227
+-73.316 32.632 3229
+-73.19 32.632 3232
+-73.064 32.632 3183
+-72.938 32.632 3318
+-72.812 32.632 3291
+-72.686 32.632 3293
+-72.56 32.632 3260
+-72.434 32.632 3263
+-72.308 32.632 3266
+-72.182 32.632 3364
+-72.056 32.632 3367
+-71.93 32.632 3370
+-71.804 32.632 3373
+-71.678 32.632 3376
+-71.552 32.632 3463
+-71.426 32.632 3467
+-71.3 32.632 3399
+-71.174 32.632 3403
+-71.048 32.632 3406
+-70.922 32.632 3409
+-70.796 32.632 3412
+-70.67 32.632 3381
+-70.544 32.632 3373
+-70.418 32.632 3331
+-70.292 32.632 3333
+-70.166 32.632 3298
+-70.04 32.632 3341
+-69.914 32.632 3343
+-69.788 32.632 3346
+-69.662 32.632 3349
+-69.536 32.632 3351
+-69.41 32.632 3354
+-69.284 32.632 3356
+-69.158 32.632 3332
+-69.032 32.632 3334
+-68.906 32.632 3337
+-68.78 32.632 3309
+-68.654 32.632 3279
+-68.528 32.632 3261
+-68.402 32.632 3263
+-68.276 32.632 3264
+-68.15 32.632 3266
+-68.024 32.632 3267
+-67.898 32.632 3269
+-67.772 32.632 3270
+-67.646 32.632 3198
+-67.52 32.632 3184
+-67.394 32.632 3185
+-67.268 32.632 3187
+-67.142 32.632 3189
+-67.016 32.632 3190
+-66.89 32.632 3192
+-66.764 32.632 3193
+-66.638 32.632 3194
+-66.512 32.632 3196
+-66.386 32.632 3197
+-66.26 32.632 3199
+-66.134 32.632 3200
+-66.008 32.632 3201
+-65.882 32.632 3202
+-65.756 32.632 3204
+-65.63 32.632 3194
+-65.504 32.632 3195
+-65.378 32.632 3197
+-65.252 32.632 3198
+-65.126 32.632 3199
+-128 32.58 2772
+-127.874 32.58 2766
+-127.748 32.58 2759
+-127.622 32.58 2752
+-127.496 32.58 2745
+-127.37 32.58 2737
+-127.244 32.58 2729
+-127.118 32.58 2720
+-126.992 32.58 2711
+-126.866 32.58 2701
+-126.74 32.58 2691
+-126.614 32.58 2680
+-126.488 32.58 2668
+-126.362 32.58 2656
+-126.236 32.58 2644
+-126.11 32.58 2711
+-125.984 32.58 2698
+-125.858 32.58 2684
+-125.732 32.58 2671
+-125.606 32.58 2659
+-125.48 32.58 2647
+-125.354 32.58 2637
+-125.228 32.58 2630
+-125.102 32.58 2626
+-124.976 32.58 2691
+-124.85 32.58 2695
+-124.724 32.58 2705
+-124.598 32.58 2722
+-124.472 32.58 2780
+-124.346 32.58 2811
+-124.22 32.58 2880
+-124.094 32.58 2924
+-123.968 32.58 2989
+-123.842 32.58 3037
+-123.716 32.58 3080
+-123.59 32.58 3124
+-123.464 32.58 3096
+-123.338 32.58 3054
+-123.212 32.58 3016
+-123.086 32.58 3079
+-122.96 32.58 3205
+-122.834 32.58 3420
+-122.708 32.58 3612
+-122.582 32.58 3755
+-122.456 32.58 3866
+-122.33 32.58 3967
+-122.204 32.58 4120
+-122.078 32.58 4312
+-121.952 32.58 4401
+-121.826 32.58 4458
+-121.7 32.58 4579
+-121.574 32.58 4556
+-121.448 32.58 4790
+-121.322 32.58 5039
+-121.196 32.58 5183
+-121.07 32.58 5229
+-120.944 32.58 5392
+-120.818 32.58 5544
+-120.692 32.58 5635
+-120.566 32.58 5856
+-120.44 32.58 5997
+-120.314 32.58 6118
+-120.188 32.58 6214
+-120.062 32.58 6340
+-119.936 32.58 6495
+-119.81 32.58 6677
+-119.684 32.58 6759
+-119.558 32.58 6857
+-119.432 32.58 7017
+-119.306 32.58 7226
+-119.18 32.58 7273
+-119.054 32.58 7439
+-118.928 32.58 7621
+-118.802 32.58 7720
+-118.676 32.58 7915
+-118.55 32.58 7968
+-118.424 32.58 8173
+-118.298 32.58 8307
+-118.172 32.58 8497
+-118.046 32.58 8607
+-117.92 32.58 8690
+-117.794 32.58 8864
+-117.668 32.58 8965
+-117.542 32.58 9105
+-117.416 32.58 9204
+-117.29 32.58 9345
+-117.164 32.58 9424
+-117.038 32.58 9443
+-116.912 32.58 9454
+-116.786 32.58 9356
+-116.66 32.58 9278
+-116.534 32.58 9094
+-116.408 32.58 9032
+-116.282 32.58 8912
+-116.156 32.58 8738
+-116.03 32.58 8593
+-115.904 32.58 8529
+-115.778 32.58 8395
+-115.652 32.58 8179
+-115.526 32.58 8061
+-115.4 32.58 7894
+-115.274 32.58 7781
+-115.148 32.58 7596
+-115.022 32.58 7534
+-114.896 32.58 7352
+-114.77 32.58 7213
+-114.644 32.58 7087
+-114.518 32.58 6935
+-114.392 32.58 6787
+-114.266 32.58 6709
+-114.14 32.58 6543
+-114.014 32.58 6432
+-113.888 32.58 6300
+-113.762 32.58 6162
+-113.636 32.58 6057
+-113.51 32.58 5982
+-113.384 32.58 6079
+-113.258 32.58 6215
+-113.132 32.58 6361
+-113.006 32.58 6505
+-112.88 32.58 6603
+-112.754 32.58 6746
+-112.628 32.58 6785
+-112.502 32.58 6995
+-112.376 32.58 7085
+-112.25 32.58 7194
+-112.124 32.58 7362
+-111.998 32.58 7432
+-111.872 32.58 7572
+-111.746 32.58 7700
+-111.62 32.58 7786
+-111.494 32.58 7890
+-111.368 32.58 7937
+-111.242 32.58 8073
+-111.116 32.58 8119
+-110.99 32.58 8229
+-110.864 32.58 8300
+-110.738 32.58 8349
+-110.612 32.58 8412
+-110.486 32.58 8387
+-110.36 32.58 8426
+-110.234 32.58 8428
+-110.108 32.58 8371
+-109.982 32.58 8309
+-109.856 32.58 8280
+-109.73 32.58 8218
+-109.604 32.58 8103
+-109.478 32.58 7988
+-109.352 32.58 7928
+-109.226 32.58 7840
+-109.1 32.58 7720
+-108.974 32.58 7620
+-108.848 32.58 7547
+-108.722 32.58 7409
+-108.596 32.58 7298
+-108.47 32.58 7151
+-108.344 32.58 6971
+-108.218 32.58 6862
+-108.092 32.58 6773
+-107.966 32.58 6645
+-107.84 32.58 6555
+-107.714 32.58 6399
+-107.588 32.58 6250
+-107.462 32.58 6114
+-107.336 32.58 6002
+-107.21 32.58 5918
+-107.084 32.58 5690
+-106.958 32.58 5624
+-106.832 32.58 5536
+-106.706 32.58 5421
+-106.58 32.58 5313
+-106.454 32.58 5109
+-106.328 32.58 4985
+-106.202 32.58 4847
+-106.076 32.58 4754
+-105.95 32.58 4641
+-105.824 32.58 4586
+-105.698 32.58 4489
+-105.572 32.58 4391
+-105.446 32.58 4302
+-105.32 32.58 4173
+-105.194 32.58 4044
+-105.068 32.58 3834
+-104.942 32.58 3609
+-104.816 32.58 3452
+-104.69 32.58 3520
+-104.564 32.58 3639
+-104.438 32.58 3735
+-104.312 32.58 3769
+-104.186 32.58 3787
+-104.06 32.58 3764
+-103.934 32.58 3776
+-103.808 32.58 3750
+-103.682 32.58 3714
+-103.556 32.58 3717
+-103.43 32.58 3719
+-103.304 32.58 3721
+-103.178 32.58 3723
+-103.052 32.58 3724
+-102.926 32.58 3726
+-102.8 32.58 3727
+-102.674 32.58 3656
+-102.548 32.58 3633
+-102.422 32.58 3632
+-102.296 32.58 3632
+-102.17 32.58 3631
+-102.044 32.58 3574
+-101.918 32.58 3572
+-101.792 32.58 3570
+-101.666 32.58 3568
+-101.54 32.58 3566
+-101.414 32.58 3565
+-101.288 32.58 3563
+-101.162 32.58 3423
+-101.036 32.58 3421
+-100.91 32.58 3420
+-100.784 32.58 3419
+-100.658 32.58 3418
+-100.532 32.58 3417
+-100.406 32.58 3289
+-100.28 32.58 3169
+-100.154 32.58 3157
+-100.028 32.58 3145
+-99.902 32.58 2988
+-99.776 32.58 2935
+-99.65 32.58 2917
+-99.524 32.58 2875
+-99.398 32.58 2670
+-99.272 32.58 2600
+-99.146 32.58 2594
+-99.02 32.58 2591
+-98.894 32.58 2569
+-98.768 32.58 2629
+-98.642 32.58 2660
+-98.516 32.58 2675
+-98.39 32.58 2722
+-98.264 32.58 2773
+-98.138 32.58 2767
+-98.012 32.58 2732
+-97.886 32.58 2727
+-97.76 32.58 2740
+-97.634 32.58 2734
+-97.508 32.58 2729
+-97.382 32.58 2724
+-97.256 32.58 2708
+-97.13 32.58 2721
+-97.004 32.58 2716
+-96.878 32.58 2711
+-96.752 32.58 2705
+-96.626 32.58 2700
+-96.5 32.58 2693
+-96.374 32.58 2698
+-96.248 32.58 2693
+-96.122 32.58 2687
+-95.996 32.58 2648
+-95.87 32.58 2642
+-95.744 32.58 2679
+-95.618 32.58 2671
+-95.492 32.58 2666
+-95.366 32.58 2654
+-95.24 32.58 2643
+-95.114 32.58 2625
+-94.988 32.58 2605
+-94.862 32.58 2578
+-94.736 32.58 2583
+-94.61 32.58 2518
+-94.484 32.58 2474
+-94.358 32.58 2418
+-94.232 32.58 2325
+-94.106 32.58 2211
+-93.98 32.58 2083
+-93.854 32.58 1972
+-93.728 32.58 1928
+-93.602 32.58 1999
+-93.476 32.58 2165
+-93.35 32.58 2371
+-93.224 32.58 2582
+-93.098 32.58 2751
+-92.972 32.58 2896
+-92.846 32.58 3006
+-92.72 32.58 3103
+-92.594 32.58 3203
+-92.468 32.58 3273
+-92.342 32.58 3359
+-92.216 32.58 3414
+-92.09 32.58 3499
+-91.964 32.58 3522
+-91.838 32.58 3551
+-91.712 32.58 3617
+-91.586 32.58 3569
+-91.46 32.58 3499
+-91.334 32.58 3456
+-91.208 32.58 3519
+-91.082 32.58 3643
+-90.956 32.58 3759
+-90.83 32.58 3795
+-90.704 32.58 3852
+-90.578 32.58 3874
+-90.452 32.58 3882
+-90.326 32.58 3875
+-90.2 32.58 3865
+-90.074 32.58 3910
+-89.948 32.58 3936
+-89.822 32.58 3971
+-89.696 32.58 4024
+-89.57 32.58 4073
+-89.444 32.58 4096
+-89.318 32.58 4101
+-89.192 32.58 4080
+-89.066 32.58 4057
+-88.94 32.58 4060
+-88.814 32.58 4044
+-88.688 32.58 4052
+-88.562 32.58 4065
+-88.436 32.58 4048
+-88.31 32.58 4020
+-88.184 32.58 4003
+-88.058 32.58 4001
+-87.932 32.58 4031
+-87.806 32.58 4031
+-87.68 32.58 4015
+-87.554 32.58 4010
+-87.428 32.58 3979
+-87.302 32.58 3939
+-87.176 32.58 3917
+-87.05 32.58 3892
+-86.924 32.58 3824
+-86.798 32.58 3767
+-86.672 32.58 3677
+-86.546 32.58 3581
+-86.42 32.58 3489
+-86.294 32.58 3395
+-86.168 32.58 3337
+-86.042 32.58 3376
+-85.916 32.58 3452
+-85.79 32.58 3499
+-85.664 32.58 3548
+-85.538 32.58 3544
+-85.412 32.58 3542
+-85.286 32.58 3555
+-85.16 32.58 3585
+-85.034 32.58 3677
+-84.908 32.58 3744
+-84.782 32.58 3839
+-84.656 32.58 3928
+-84.53 32.58 3990
+-84.404 32.58 4027
+-84.278 32.58 4044
+-84.152 32.58 4061
+-84.026 32.58 4085
+-83.9 32.58 4161
+-83.774 32.58 4172
+-83.648 32.58 4223
+-83.522 32.58 4249
+-83.396 32.58 4269
+-83.27 32.58 4302
+-83.144 32.58 4308
+-83.018 32.58 4338
+-82.892 32.58 4370
+-82.766 32.58 4426
+-82.64 32.58 4442
+-82.514 32.58 4455
+-82.388 32.58 4462
+-82.262 32.58 4472
+-82.136 32.58 4480
+-82.01 32.58 4466
+-81.884 32.58 4460
+-81.758 32.58 4442
+-81.632 32.58 4425
+-81.506 32.58 4427
+-81.38 32.58 4400
+-81.254 32.58 4377
+-81.128 32.58 4335
+-81.002 32.58 4303
+-80.876 32.58 4249
+-80.75 32.58 4217
+-80.624 32.58 4195
+-80.498 32.58 4135
+-80.372 32.58 4115
+-80.246 32.58 4063
+-80.12 32.58 3986
+-79.994 32.58 3911
+-79.868 32.58 3847
+-79.742 32.58 3785
+-79.616 32.58 3727
+-79.49 32.58 3653
+-79.364 32.58 3554
+-79.238 32.58 3502
+-79.112 32.58 3501
+-78.986 32.58 3449
+-78.86 32.58 3387
+-78.734 32.58 3337
+-78.608 32.58 3347
+-78.482 32.58 3389
+-78.356 32.58 3410
+-78.23 32.58 3444
+-78.104 32.58 3431
+-77.978 32.58 3452
+-77.852 32.58 3446
+-77.726 32.58 3452
+-77.6 32.58 3471
+-77.474 32.58 3473
+-77.348 32.58 3463
+-77.222 32.58 3467
+-77.096 32.58 3403
+-76.97 32.58 3402
+-76.844 32.58 3384
+-76.718 32.58 3368
+-76.592 32.58 3381
+-76.466 32.58 3382
+-76.34 32.58 3384
+-76.214 32.58 3324
+-76.088 32.58 3319
+-75.962 32.58 3345
+-75.836 32.58 3347
+-75.71 32.58 3348
+-75.584 32.58 3350
+-75.458 32.58 3380
+-75.332 32.58 3324
+-75.206 32.58 3328
+-75.08 32.58 3331
+-74.954 32.58 3247
+-74.828 32.58 3238
+-74.702 32.58 3238
+-74.576 32.58 3239
+-74.45 32.58 3223
+-74.324 32.58 3224
+-74.198 32.58 3224
+-74.072 32.58 3225
+-73.946 32.58 3200
+-73.82 32.58 3237
+-73.694 32.58 3239
+-73.568 32.58 3226
+-73.442 32.58 3228
+-73.316 32.58 3231
+-73.19 32.58 3182
+-73.064 32.58 3315
+-72.938 32.58 3288
+-72.812 32.58 3290
+-72.686 32.58 3258
+-72.56 32.58 3261
+-72.434 32.58 3263
+-72.308 32.58 3360
+-72.182 32.58 3363
+-72.056 32.58 3366
+-71.93 32.58 3369
+-71.804 32.58 3372
+-71.678 32.58 3458
+-71.552 32.58 3462
+-71.426 32.58 3395
+-71.3 32.58 3399
+-71.174 32.58 3402
+-71.048 32.58 3406
+-70.922 32.58 3409
+-70.796 32.58 3378
+-70.67 32.58 3370
+-70.544 32.58 3328
+-70.418 32.58 3331
+-70.292 32.58 3296
+-70.166 32.58 3338
+-70.04 32.58 3341
+-69.914 32.58 3344
+-69.788 32.58 3346
+-69.662 32.58 3349
+-69.536 32.58 3352
+-69.41 32.58 3354
+-69.284 32.58 3330
+-69.158 32.58 3333
+-69.032 32.58 3335
+-68.906 32.58 3308
+-68.78 32.58 3278
+-68.654 32.58 3260
+-68.528 32.58 3261
+-68.402 32.58 3263
+-68.276 32.58 3265
+-68.15 32.58 3266
+-68.024 32.58 3268
+-67.898 32.58 3269
+-67.772 32.58 3197
+-67.646 32.58 3183
+-67.52 32.58 3184
+-67.394 32.58 3186
+-67.268 32.58 3188
+-67.142 32.58 3189
+-67.016 32.58 3191
+-66.89 32.58 3192
+-66.764 32.58 3194
+-66.638 32.58 3195
+-66.512 32.58 3197
+-66.386 32.58 3198
+-66.26 32.58 3199
+-66.134 32.58 3201
+-66.008 32.58 3202
+-65.882 32.58 3203
+-65.756 32.58 3193
+-65.63 32.58 3195
+-65.504 32.58 3196
+-65.378 32.58 3197
+-65.252 32.58 3199
+-65.126 32.58 3153
+-128 32.528 2776
+-127.874 32.528 2770
+-127.748 32.528 2764
+-127.622 32.528 2757
+-127.496 32.528 2750
+-127.37 32.528 2743
+-127.244 32.528 2735
+-127.118 32.528 2727
+-126.992 32.528 2719
+-126.866 32.528 2710
+-126.74 32.528 2700
+-126.614 32.528 2691
+-126.488 32.528 2680
+-126.362 32.528 2670
+-126.236 32.528 2659
+-126.11 32.528 2648
+-125.984 32.528 2718
+-125.858 32.528 2707
+-125.732 32.528 2696
+-125.606 32.528 2685
+-125.48 32.528 2675
+-125.354 32.528 2667
+-125.228 32.528 2661
+-125.102 32.528 2657
+-124.976 32.528 2656
+-124.85 32.528 2685
+-124.724 32.528 2723
+-124.598 32.528 2758
+-124.472 32.528 2772
+-124.346 32.528 2823
+-124.22 32.528 2876
+-124.094 32.528 2924
+-123.968 32.528 2987
+-123.842 32.528 3043
+-123.716 32.528 3076
+-123.59 32.528 3146
+-123.464 32.528 3170
+-123.338 32.528 3136
+-123.212 32.528 3097
+-123.086 32.528 3047
+-122.96 32.528 3170
+-122.834 32.528 3415
+-122.708 32.528 3600
+-122.582 32.528 3739
+-122.456 32.528 3855
+-122.33 32.528 3961
+-122.204 32.528 4127
+-122.078 32.528 4281
+-121.952 32.528 4382
+-121.826 32.528 4360
+-121.7 32.528 4523
+-121.574 32.528 4666
+-121.448 32.528 4857
+-121.322 32.528 5035
+-121.196 32.528 5064
+-121.07 32.528 5245
+-120.944 32.528 5406
+-120.818 32.528 5532
+-120.692 32.528 5652
+-120.566 32.528 5853
+-120.44 32.528 5921
+-120.314 32.528 6099
+-120.188 32.528 6248
+-120.062 32.528 6333
+-119.936 32.528 6466
+-119.81 32.528 6649
+-119.684 32.528 6701
+-119.558 32.528 6902
+-119.432 32.528 7060
+-119.306 32.528 7197
+-119.18 32.528 7298
+-119.054 32.528 7489
+-118.928 32.528 7614
+-118.802 32.528 7731
+-118.676 32.528 7898
+-118.55 32.528 8021
+-118.424 32.528 8119
+-118.298 32.528 8318
+-118.172 32.528 8435
+-118.046 32.528 8578
+-117.92 32.528 8722
+-117.794 32.528 8816
+-117.668 32.528 8986
+-117.542 32.528 9060
+-117.416 32.528 9183
+-117.29 32.528 9338
+-117.164 32.528 9346
+-117.038 32.528 9408
+-116.912 32.528 9366
+-116.786 32.528 9319
+-116.66 32.528 9200
+-116.534 32.528 9093
+-116.408 32.528 8978
+-116.282 32.528 8811
+-116.156 32.528 8704
+-116.03 32.528 8595
+-115.904 32.528 8468
+-115.778 32.528 8326
+-115.652 32.528 8166
+-115.526 32.528 8043
+-115.4 32.528 7856
+-115.274 32.528 7761
+-115.148 32.528 7636
+-115.022 32.528 7490
+-114.896 32.528 7339
+-114.77 32.528 7246
+-114.644 32.528 7093
+-114.518 32.528 6945
+-114.392 32.528 6801
+-114.266 32.528 6666
+-114.14 32.528 6445
+-114.014 32.528 6385
+-113.888 32.528 6249
+-113.762 32.528 6118
+-113.636 32.528 6033
+-113.51 32.528 6059
+-113.384 32.528 6111
+-113.258 32.528 6208
+-113.132 32.528 6308
+-113.006 32.528 6485
+-112.88 32.528 6659
+-112.754 32.528 6732
+-112.628 32.528 6865
+-112.502 32.528 6982
+-112.376 32.528 7070
+-112.25 32.528 7255
+-112.124 32.528 7339
+-111.998 32.528 7458
+-111.872 32.528 7597
+-111.746 32.528 7729
+-111.62 32.528 7815
+-111.494 32.528 7924
+-111.368 32.528 8021
+-111.242 32.528 8155
+-111.116 32.528 8149
+-110.99 32.528 8258
+-110.864 32.528 8357
+-110.738 32.528 8414
+-110.612 32.528 8435
+-110.486 32.528 8486
+-110.36 32.528 8459
+-110.234 32.528 8457
+-110.108 32.528 8429
+-109.982 32.528 8351
+-109.856 32.528 8310
+-109.73 32.528 8227
+-109.604 32.528 8198
+-109.478 32.528 8036
+-109.352 32.528 7974
+-109.226 32.528 7843
+-109.1 32.528 7760
+-108.974 32.528 7672
+-108.848 32.528 7506
+-108.722 32.528 7436
+-108.596 32.528 7293
+-108.47 32.528 7167
+-108.344 32.528 7018
+-108.218 32.528 6921
+-108.092 32.528 6812
+-107.966 32.528 6665
+-107.84 32.528 6486
+-107.714 32.528 6417
+-107.588 32.528 6316
+-107.462 32.528 6184
+-107.336 32.528 6031
+-107.21 32.528 5883
+-107.084 32.528 5748
+-106.958 32.528 5658
+-106.832 32.528 5488
+-106.706 32.528 5289
+-106.58 32.528 5311
+-106.454 32.528 5174
+-106.328 32.528 5014
+-106.202 32.528 4904
+-106.076 32.528 4815
+-105.95 32.528 4685
+-105.824 32.528 4544
+-105.698 32.528 4400
+-105.572 32.528 4356
+-105.446 32.528 4269
+-105.32 32.528 4141
+-105.194 32.528 4032
+-105.068 32.528 3933
+-104.942 32.528 3800
+-104.816 32.528 3716
+-104.69 32.528 3695
+-104.564 32.528 3739
+-104.438 32.528 3793
+-104.312 32.528 3836
+-104.186 32.528 3850
+-104.06 32.528 3844
+-103.934 32.528 3820
+-103.808 32.528 3828
+-103.682 32.528 3802
+-103.556 32.528 3738
+-103.43 32.528 3739
+-103.304 32.528 3739
+-103.178 32.528 3740
+-103.052 32.528 3740
+-102.926 32.528 3740
+-102.8 32.528 3687
+-102.674 32.528 3643
+-102.548 32.528 3641
+-102.422 32.528 3640
+-102.296 32.528 3639
+-102.17 32.528 3580
+-102.044 32.528 3577
+-101.918 32.528 3574
+-101.792 32.528 3571
+-101.666 32.528 3569
+-101.54 32.528 3567
+-101.414 32.528 3565
+-101.288 32.528 3423
+-101.162 32.528 3421
+-101.036 32.528 3420
+-100.91 32.528 3418
+-100.784 32.528 3417
+-100.658 32.528 3416
+-100.532 32.528 3287
+-100.406 32.528 3286
+-100.28 32.528 3163
+-100.154 32.528 3152
+-100.028 32.528 3139
+-99.902 32.528 2983
+-99.776 32.528 2929
+-99.65 32.528 2911
+-99.524 32.528 2870
+-99.398 32.528 2665
+-99.272 32.528 2593
+-99.146 32.528 2576
+-99.02 32.528 2580
+-98.894 32.528 2558
+-98.768 32.528 2614
+-98.642 32.528 2661
+-98.516 32.528 2657
+-98.39 32.528 2705
+-98.264 32.528 2756
+-98.138 32.528 2720
+-98.012 32.528 2714
+-97.886 32.528 2726
+-97.76 32.528 2720
+-97.634 32.528 2714
+-97.508 32.528 2708
+-97.382 32.528 2691
+-97.256 32.528 2703
+-97.13 32.528 2697
+-97.004 32.528 2691
+-96.878 32.528 2685
+-96.752 32.528 2679
+-96.626 32.528 2670
+-96.5 32.528 2675
+-96.374 32.528 2669
+-96.248 32.528 2663
+-96.122 32.528 2624
+-95.996 32.528 2618
+-95.87 32.528 2656
+-95.744 32.528 2648
+-95.618 32.528 2645
+-95.492 32.528 2635
+-95.366 32.528 2628
+-95.24 32.528 2614
+-95.114 32.528 2598
+-94.988 32.528 2577
+-94.862 32.528 2592
+-94.736 32.528 2536
+-94.61 32.528 2505
+-94.484 32.528 2467
+-94.358 32.528 2390
+-94.232 32.528 2291
+-94.106 32.528 2170
+-93.98 32.528 2037
+-93.854 32.528 1921
+-93.728 32.528 1868
+-93.602 32.528 1927
+-93.476 32.528 2086
+-93.35 32.528 2290
+-93.224 32.528 2486
+-93.098 32.528 2722
+-92.972 32.528 2861
+-92.846 32.528 2978
+-92.72 32.528 3093
+-92.594 32.528 3170
+-92.468 32.528 3256
+-92.342 32.528 3313
+-92.216 32.528 3403
+-92.09 32.528 3438
+-91.964 32.528 3481
+-91.838 32.528 3512
+-91.712 32.528 3589
+-91.586 32.528 3562
+-91.46 32.528 3520
+-91.334 32.528 3500
+-91.208 32.528 3546
+-91.082 32.528 3638
+-90.956 32.528 3708
+-90.83 32.528 3750
+-90.704 32.528 3761
+-90.578 32.528 3786
+-90.452 32.528 3819
+-90.326 32.528 3826
+-90.2 32.528 3804
+-90.074 32.528 3872
+-89.948 32.528 3913
+-89.822 32.528 3931
+-89.696 32.528 3973
+-89.57 32.528 3999
+-89.444 32.528 4022
+-89.318 32.528 4041
+-89.192 32.528 4047
+-89.066 32.528 4044
+-88.94 32.528 4023
+-88.814 32.528 4010
+-88.688 32.528 4002
+-88.562 32.528 3988
+-88.436 32.528 3970
+-88.31 32.528 3946
+-88.184 32.528 3924
+-88.058 32.528 3935
+-87.932 32.528 3960
+-87.806 32.528 3976
+-87.68 32.528 3964
+-87.554 32.528 3938
+-87.428 32.528 3904
+-87.302 32.528 3869
+-87.176 32.528 3839
+-87.05 32.528 3793
+-86.924 32.528 3751
+-86.798 32.528 3662
+-86.672 32.528 3563
+-86.546 32.528 3483
+-86.42 32.528 3410
+-86.294 32.528 3327
+-86.168 32.528 3253
+-86.042 32.528 3324
+-85.916 32.528 3434
+-85.79 32.528 3511
+-85.664 32.528 3552
+-85.538 32.528 3581
+-85.412 32.528 3602
+-85.286 32.528 3617
+-85.16 32.528 3645
+-85.034 32.528 3721
+-84.908 32.528 3790
+-84.782 32.528 3862
+-84.656 32.528 3947
+-84.53 32.528 4004
+-84.404 32.528 4033
+-84.278 32.528 4031
+-84.152 32.528 4065
+-84.026 32.528 4117
+-83.9 32.528 4193
+-83.774 32.528 4235
+-83.648 32.528 4292
+-83.522 32.528 4293
+-83.396 32.528 4322
+-83.27 32.528 4364
+-83.144 32.528 4380
+-83.018 32.528 4420
+-82.892 32.528 4484
+-82.766 32.528 4476
+-82.64 32.528 4512
+-82.514 32.528 4518
+-82.388 32.528 4525
+-82.262 32.528 4522
+-82.136 32.528 4553
+-82.01 32.528 4514
+-81.884 32.528 4508
+-81.758 32.528 4490
+-81.632 32.528 4472
+-81.506 32.528 4454
+-81.38 32.528 4466
+-81.254 32.528 4442
+-81.128 32.528 4375
+-81.002 32.528 4331
+-80.876 32.528 4286
+-80.75 32.528 4244
+-80.624 32.528 4228
+-80.498 32.528 4183
+-80.372 32.528 4126
+-80.246 32.528 4086
+-80.12 32.528 4040
+-79.994 32.528 3970
+-79.868 32.528 3906
+-79.742 32.528 3839
+-79.616 32.528 3778
+-79.49 32.528 3705
+-79.364 32.528 3605
+-79.238 32.528 3547
+-79.112 32.528 3544
+-78.986 32.528 3522
+-78.86 32.528 3489
+-78.734 32.528 3469
+-78.608 32.528 3469
+-78.482 32.528 3466
+-78.356 32.528 3448
+-78.23 32.528 3437
+-78.104 32.528 3455
+-77.978 32.528 3450
+-77.852 32.528 3455
+-77.726 32.528 3474
+-77.6 32.528 3477
+-77.474 32.528 3467
+-77.348 32.528 3470
+-77.222 32.528 3470
+-77.096 32.528 3464
+-76.97 32.528 3390
+-76.844 32.528 3373
+-76.718 32.528 3384
+-76.592 32.528 3385
+-76.466 32.528 3386
+-76.34 32.528 3327
+-76.214 32.528 3321
+-76.088 32.528 3346
+-75.962 32.528 3347
+-75.836 32.528 3348
+-75.71 32.528 3350
+-75.584 32.528 3379
+-75.458 32.528 3326
+-75.332 32.528 3327
+-75.206 32.528 3330
+-75.08 32.528 3247
+-74.954 32.528 3238
+-74.828 32.528 3238
+-74.702 32.528 3239
+-74.576 32.528 3223
+-74.45 32.528 3223
+-74.324 32.528 3224
+-74.198 32.528 3199
+-74.072 32.528 3199
+-73.946 32.528 3236
+-73.82 32.528 3238
+-73.694 32.528 3225
+-73.568 32.528 3228
+-73.442 32.528 3230
+-73.316 32.528 3182
+-73.19 32.528 3312
+-73.064 32.528 3285
+-72.938 32.528 3288
+-72.812 32.528 3255
+-72.686 32.528 3258
+-72.56 32.528 3261
+-72.434 32.528 3355
+-72.308 32.528 3359
+-72.182 32.528 3362
+-72.056 32.528 3365
+-71.93 32.528 3368
+-71.804 32.528 3453
+-71.678 32.528 3457
+-71.552 32.528 3391
+-71.426 32.528 3395
+-71.3 32.528 3399
+-71.174 32.528 3402
+-71.048 32.528 3405
+-70.922 32.528 3374
+-70.796 32.528 3367
+-70.67 32.528 3325
+-70.544 32.528 3328
+-70.418 32.528 3293
+-70.292 32.528 3335
+-70.166 32.528 3338
+-70.04 32.528 3341
+-69.914 32.528 3344
+-69.788 32.528 3347
+-69.662 32.528 3350
+-69.536 32.528 3352
+-69.41 32.528 3329
+-69.284 32.528 3331
+-69.158 32.528 3333
+-69.032 32.528 3306
+-68.906 32.528 3276
+-68.78 32.528 3258
+-68.654 32.528 3260
+-68.528 32.528 3262
+-68.402 32.528 3264
+-68.276 32.528 3265
+-68.15 32.528 3267
+-68.024 32.528 3269
+-67.898 32.528 3196
+-67.772 32.528 3182
+-67.646 32.528 3183
+-67.52 32.528 3185
+-67.394 32.528 3187
+-67.268 32.528 3188
+-67.142 32.528 3190
+-67.016 32.528 3192
+-66.89 32.528 3193
+-66.764 32.528 3195
+-66.638 32.528 3196
+-66.512 32.528 3197
+-66.386 32.528 3199
+-66.26 32.528 3200
+-66.134 32.528 3201
+-66.008 32.528 3203
+-65.882 32.528 3193
+-65.756 32.528 3194
+-65.63 32.528 3195
+-65.504 32.528 3197
+-65.378 32.528 3198
+-65.252 32.528 3152
+-65.126 32.528 3153
+-128 32.476 2780
+-127.874 32.476 2774
+-127.748 32.476 2768
+-127.622 32.476 2762
+-127.496 32.476 2756
+-127.37 32.476 2749
+-127.244 32.476 2742
+-127.118 32.476 2734
+-126.992 32.476 2727
+-126.866 32.476 2718
+-126.74 32.476 2710
+-126.614 32.476 2701
+-126.488 32.476 2692
+-126.362 32.476 2683
+-126.236 32.476 2673
+-126.11 32.476 2663
+-125.984 32.476 2653
+-125.858 32.476 2706
+-125.732 32.476 2697
+-125.606 32.476 2688
+-125.48 32.476 2680
+-125.354 32.476 2673
+-125.228 32.476 2667
+-125.102 32.476 2662
+-124.976 32.476 2675
+-124.85 32.476 2681
+-124.724 32.476 2723
+-124.598 32.476 2755
+-124.472 32.476 2764
+-124.346 32.476 2792
+-124.22 32.476 2829
+-124.094 32.476 2897
+-123.968 32.476 2946
+-123.842 32.476 3007
+-123.716 32.476 3071
+-123.59 32.476 3154
+-123.464 32.476 3204
+-123.338 32.476 3196
+-123.212 32.476 3163
+-123.086 32.476 3142
+-122.96 32.476 3258
+-122.834 32.476 3450
+-122.708 32.476 3602
+-122.582 32.476 3744
+-122.456 32.476 3863
+-122.33 32.476 3968
+-122.204 32.476 4104
+-122.078 32.476 4233
+-121.952 32.476 4367
+-121.826 32.476 4428
+-121.7 32.476 4542
+-121.574 32.476 4712
+-121.448 32.476 4863
+-121.322 32.476 5026
+-121.196 32.476 5190
+-121.07 32.476 5246
+-120.944 32.476 5421
+-120.818 32.476 5491
+-120.692 32.476 5707
+-120.566 32.476 5827
+-120.44 32.476 5939
+-120.314 32.476 6073
+-120.188 32.476 6194
+-120.062 32.476 6319
+-119.936 32.476 6490
+-119.81 32.476 6633
+-119.684 32.476 6827
+-119.558 32.476 6894
+-119.432 32.476 7064
+-119.306 32.476 7188
+-119.18 32.476 7340
+-119.054 32.476 7397
+-118.928 32.476 7588
+-118.802 32.476 7722
+-118.676 32.476 7929
+-118.55 32.476 7982
+-118.424 32.476 8176
+-118.298 32.476 8316
+-118.172 32.476 8423
+-118.046 32.476 8589
+-117.92 32.476 8630
+-117.794 32.476 8820
+-117.668 32.476 8985
+-117.542 32.476 9048
+-117.416 32.476 9184
+-117.29 32.476 9246
+-117.164 32.476 9353
+-117.038 32.476 9310
+-116.912 32.476 9287
+-116.786 32.476 9281
+-116.66 32.476 9224
+-116.534 32.476 9091
+-116.408 32.476 8953
+-116.282 32.476 8865
+-116.156 32.476 8724
+-116.03 32.476 8575
+-115.904 32.476 8460
+-115.778 32.476 8338
+-115.652 32.476 8111
+-115.526 32.476 8050
+-115.4 32.476 7830
+-115.274 32.476 7708
+-115.148 32.476 7669
+-115.022 32.476 7524
+-114.896 32.476 7400
+-114.77 32.476 7227
+-114.644 32.476 7085
+-114.518 32.476 6909
+-114.392 32.476 6802
+-114.266 32.476 6706
+-114.14 32.476 6513
+-114.014 32.476 6300
+-113.888 32.476 6169
+-113.762 32.476 6070
+-113.636 32.476 5846
+-113.51 32.476 6039
+-113.384 32.476 6154
+-113.258 32.476 6234
+-113.132 32.476 6349
+-113.006 32.476 6427
+-112.88 32.476 6633
+-112.754 32.476 6736
+-112.628 32.476 6940
+-112.502 32.476 7017
+-112.376 32.476 7148
+-112.25 32.476 7271
+-112.124 32.476 7362
+-111.998 32.476 7481
+-111.872 32.476 7612
+-111.746 32.476 7749
+-111.62 32.476 7825
+-111.494 32.476 7923
+-111.368 32.476 8060
+-111.242 32.476 8144
+-111.116 32.476 8196
+-110.99 32.476 8296
+-110.864 32.476 8391
+-110.738 32.476 8456
+-110.612 32.476 8470
+-110.486 32.476 8505
+-110.36 32.476 8538
+-110.234 32.476 8536
+-110.108 32.476 8478
+-109.982 32.476 8412
+-109.856 32.476 8386
+-109.73 32.476 8281
+-109.604 32.476 8225
+-109.478 32.476 8130
+-109.352 32.476 8015
+-109.226 32.476 7927
+-109.1 32.476 7764
+-108.974 32.476 7685
+-108.848 32.476 7516
+-108.722 32.476 7469
+-108.596 32.476 7294
+-108.47 32.476 7151
+-108.344 32.476 7049
+-108.218 32.476 6998
+-108.092 32.476 6811
+-107.966 32.476 6739
+-107.84 32.476 6580
+-107.714 32.476 6417
+-107.588 32.476 6278
+-107.462 32.476 6212
+-107.336 32.476 6087
+-107.21 32.476 5889
+-107.084 32.476 5746
+-106.958 32.476 5601
+-106.832 32.476 5459
+-106.706 32.476 5400
+-106.58 32.476 5303
+-106.454 32.476 5193
+-106.328 32.476 5087
+-106.202 32.476 4983
+-106.076 32.476 4851
+-105.95 32.476 4669
+-105.824 32.476 4478
+-105.698 32.476 4329
+-105.572 32.476 4330
+-105.446 32.476 4232
+-105.32 32.476 4050
+-105.194 32.476 3909
+-105.068 32.476 3917
+-104.942 32.476 3919
+-104.816 32.476 3877
+-104.69 32.476 3840
+-104.564 32.476 3844
+-104.438 32.476 3856
+-104.312 32.476 3880
+-104.186 32.476 3900
+-104.06 32.476 3901
+-103.934 32.476 3884
+-103.808 32.476 3851
+-103.682 32.476 3825
+-103.556 32.476 3829
+-103.43 32.476 3791
+-103.304 32.476 3791
+-103.178 32.476 3792
+-103.052 32.476 3792
+-102.926 32.476 3737
+-102.8 32.476 3655
+-102.674 32.476 3652
+-102.548 32.476 3649
+-102.422 32.476 3647
+-102.296 32.476 3586
+-102.17 32.476 3582
+-102.044 32.476 3578
+-101.918 32.476 3575
+-101.792 32.476 3572
+-101.666 32.476 3569
+-101.54 32.476 3567
+-101.414 32.476 3423
+-101.288 32.476 3421
+-101.162 32.476 3419
+-101.036 32.476 3418
+-100.91 32.476 3416
+-100.784 32.476 3415
+-100.658 32.476 3285
+-100.532 32.476 3284
+-100.406 32.476 3282
+-100.28 32.476 3158
+-100.154 32.476 3146
+-100.028 32.476 3133
+-99.902 32.476 2979
+-99.776 32.476 2924
+-99.65 32.476 2906
+-99.524 32.476 2865
+-99.398 32.476 2659
+-99.272 32.476 2585
+-99.146 32.476 2568
+-99.02 32.476 2561
+-98.894 32.476 2560
+-98.768 32.476 2616
+-98.642 32.476 2644
+-98.516 32.476 2590
+-98.39 32.476 2688
+-98.264 32.476 2708
+-98.138 32.476 2702
+-98.012 32.476 2713
+-97.886 32.476 2706
+-97.76 32.476 2699
+-97.634 32.476 2692
+-97.508 32.476 2675
+-97.382 32.476 2686
+-97.256 32.476 2679
+-97.13 32.476 2671
+-97.004 32.476 2664
+-96.878 32.476 2657
+-96.752 32.476 2647
+-96.626 32.476 2651
+-96.5 32.476 2644
+-96.374 32.476 2637
+-96.248 32.476 2597
+-96.122 32.476 2592
+-95.996 32.476 2629
+-95.87 32.476 2622
+-95.744 32.476 2620
+-95.618 32.476 2612
+-95.492 32.476 2607
+-95.366 32.476 2596
+-95.24 32.476 2584
+-95.114 32.476 2569
+-94.988 32.476 2594
+-94.862 32.476 2546
+-94.736 32.476 2529
+-94.61 32.476 2510
+-94.484 32.476 2452
+-94.358 32.476 2379
+-94.232 32.476 2287
+-94.106 32.476 2175
+-93.98 32.476 2056
+-93.854 32.476 1963
+-93.728 32.476 1920
+-93.602 32.476 1975
+-93.476 32.476 2117
+-93.35 32.476 2302
+-93.224 32.476 2488
+-93.098 32.476 2642
+-92.972 32.476 2773
+-92.846 32.476 2880
+-92.72 32.476 3066
+-92.594 32.476 3117
+-92.468 32.476 3174
+-92.342 32.476 3262
+-92.216 32.476 3334
+-92.09 32.476 3349
+-91.964 32.476 3426
+-91.838 32.476 3445
+-91.712 32.476 3478
+-91.586 32.476 3559
+-91.46 32.476 3556
+-91.334 32.476 3560
+-91.208 32.476 3582
+-91.082 32.476 3642
+-90.956 32.476 3692
+-90.83 32.476 3709
+-90.704 32.476 3689
+-90.578 32.476 3678
+-90.452 32.476 3735
+-90.326 32.476 3801
+-90.2 32.476 3828
+-90.074 32.476 3864
+-89.948 32.476 3904
+-89.822 32.476 3916
+-89.696 32.476 3938
+-89.57 32.476 3939
+-89.444 32.476 3955
+-89.318 32.476 3965
+-89.192 32.476 3977
+-89.066 32.476 3971
+-88.94 32.476 3974
+-88.814 32.476 3982
+-88.688 32.476 3954
+-88.562 32.476 3924
+-88.436 32.476 3901
+-88.31 32.476 3898
+-88.184 32.476 3891
+-88.058 32.476 3901
+-87.932 32.476 3914
+-87.806 32.476 3908
+-87.68 32.476 3891
+-87.554 32.476 3871
+-87.428 32.476 3813
+-87.302 32.476 3785
+-87.176 32.476 3757
+-87.05 32.476 3707
+-86.924 32.476 3645
+-86.798 32.476 3553
+-86.672 32.476 3471
+-86.546 32.476 3411
+-86.42 32.476 3360
+-86.294 32.476 3319
+-86.168 32.476 3316
+-86.042 32.476 3365
+-85.916 32.476 3447
+-85.79 32.476 3534
+-85.664 32.476 3581
+-85.538 32.476 3610
+-85.412 32.476 3635
+-85.286 32.476 3646
+-85.16 32.476 3675
+-85.034 32.476 3756
+-84.908 32.476 3817
+-84.782 32.476 3904
+-84.656 32.476 4001
+-84.53 32.476 4032
+-84.404 32.476 4054
+-84.278 32.476 4065
+-84.152 32.476 4102
+-84.026 32.476 4166
+-83.9 32.476 4242
+-83.774 32.476 4273
+-83.648 32.476 4298
+-83.522 32.476 4332
+-83.396 32.476 4378
+-83.27 32.476 4425
+-83.144 32.476 4469
+-83.018 32.476 4541
+-82.892 32.476 4560
+-82.766 32.476 4586
+-82.64 32.476 4612
+-82.514 32.476 4606
+-82.388 32.476 4597
+-82.262 32.476 4562
+-82.136 32.476 4547
+-82.01 32.476 4539
+-81.884 32.476 4524
+-81.758 32.476 4535
+-81.632 32.476 4551
+-81.506 32.476 4525
+-81.38 32.476 4541
+-81.254 32.476 4496
+-81.128 32.476 4436
+-81.002 32.476 4372
+-80.876 32.476 4340
+-80.75 32.476 4321
+-80.624 32.476 4263
+-80.498 32.476 4230
+-80.372 32.476 4171
+-80.246 32.476 4120
+-80.12 32.476 4084
+-79.994 32.476 4034
+-79.868 32.476 3984
+-79.742 32.476 3923
+-79.616 32.476 3861
+-79.49 32.476 3784
+-79.364 32.476 3703
+-79.238 32.476 3655
+-79.112 32.476 3617
+-78.986 32.476 3595
+-78.86 32.476 3574
+-78.734 32.476 3555
+-78.608 32.476 3544
+-78.482 32.476 3513
+-78.356 32.476 3492
+-78.23 32.476 3503
+-78.104 32.476 3499
+-77.978 32.476 3506
+-77.852 32.476 3460
+-77.726 32.476 3479
+-77.6 32.476 3470
+-77.474 32.476 3472
+-77.348 32.476 3471
+-77.222 32.476 3465
+-77.096 32.476 3447
+-76.97 32.476 3436
+-76.844 32.476 3431
+-76.718 32.476 3387
+-76.592 32.476 3387
+-76.466 32.476 3329
+-76.34 32.476 3322
+-76.214 32.476 3346
+-76.088 32.476 3347
+-75.962 32.476 3347
+-75.836 32.476 3349
+-75.71 32.476 3377
+-75.584 32.476 3323
+-75.458 32.476 3326
+-75.332 32.476 3329
+-75.206 32.476 3246
+-75.08 32.476 3237
+-74.954 32.476 3238
+-74.828 32.476 3238
+-74.702 32.476 3222
+-74.576 32.476 3223
+-74.45 32.476 3223
+-74.324 32.476 3198
+-74.198 32.476 3199
+-74.072 32.476 3235
+-73.946 32.476 3237
+-73.82 32.476 3224
+-73.694 32.476 3227
+-73.568 32.476 3229
+-73.442 32.476 3181
+-73.316 32.476 3309
+-73.19 32.476 3282
+-73.064 32.476 3285
+-72.938 32.476 3253
+-72.812 32.476 3255
+-72.686 32.476 3258
+-72.56 32.476 3351
+-72.434 32.476 3354
+-72.308 32.476 3358
+-72.182 32.476 3361
+-72.056 32.476 3364
+-71.93 32.476 3448
+-71.804 32.476 3452
+-71.678 32.476 3387
+-71.552 32.476 3391
+-71.426 32.476 3395
+-71.3 32.476 3398
+-71.174 32.476 3401
+-71.048 32.476 3371
+-70.922 32.476 3364
+-70.796 32.476 3323
+-70.67 32.476 3326
+-70.544 32.476 3291
+-70.418 32.476 3333
+-70.292 32.476 3336
+-70.166 32.476 3339
+-70.04 32.476 3342
+-69.914 32.476 3345
+-69.788 32.476 3347
+-69.662 32.476 3350
+-69.536 32.476 3327
+-69.41 32.476 3329
+-69.284 32.476 3332
+-69.158 32.476 3305
+-69.032 32.476 3275
+-68.906 32.476 3257
+-68.78 32.476 3259
+-68.654 32.476 3261
+-68.528 32.476 3263
+-68.402 32.476 3264
+-68.276 32.476 3266
+-68.15 32.476 3268
+-68.024 32.476 3195
+-67.898 32.476 3181
+-67.772 32.476 3183
+-67.646 32.476 3184
+-67.52 32.476 3186
+-67.394 32.476 3188
+-67.268 32.476 3189
+-67.142 32.476 3191
+-67.016 32.476 3192
+-66.89 32.476 3194
+-66.764 32.476 3195
+-66.638 32.476 3197
+-66.512 32.476 3198
+-66.386 32.476 3199
+-66.26 32.476 3201
+-66.134 32.476 3202
+-66.008 32.476 3192
+-65.882 32.476 3193
+-65.756 32.476 3195
+-65.63 32.476 3196
+-65.504 32.476 3198
+-65.378 32.476 3152
+-65.252 32.476 3153
+-65.126 32.476 3154
+-128 32.424 2784
+-127.874 32.424 2778
+-127.748 32.424 2773
+-127.622 32.424 2767
+-127.496 32.424 2761
+-127.37 32.424 2755
+-127.244 32.424 2748
+-127.118 32.424 2742
+-126.992 32.424 2734
+-126.866 32.424 2727
+-126.74 32.424 2719
+-126.614 32.424 2711
+-126.488 32.424 2703
+-126.362 32.424 2695
+-126.236 32.424 2686
+-126.11 32.424 2677
+-125.984 32.424 2668
+-125.858 32.424 2659
+-125.732 32.424 2717
+-125.606 32.424 2708
+-125.48 32.424 2700
+-125.354 32.424 2692
+-125.228 32.424 2684
+-125.102 32.424 2677
+-124.976 32.424 2692
+-124.85 32.424 2683
+-124.724 32.424 2674
+-124.598 32.424 2709
+-124.472 32.424 2741
+-124.346 32.424 2743
+-124.22 32.424 2761
+-124.094 32.424 2805
+-123.968 32.424 2885
+-123.842 32.424 2955
+-123.716 32.424 3032
+-123.59 32.424 3197
+-123.464 32.424 3226
+-123.338 32.424 3238
+-123.212 32.424 3250
+-123.086 32.424 3294
+-122.96 32.424 3352
+-122.834 32.424 3455
+-122.708 32.424 3582
+-122.582 32.424 3744
+-122.456 32.424 3870
+-122.33 32.424 3940
+-122.204 32.424 3987
+-122.078 32.424 4159
+-121.952 32.424 4336
+-121.826 32.424 4411
+-121.7 32.424 4530
+-121.574 32.424 4712
+-121.448 32.424 4781
+-121.322 32.424 4946
+-121.196 32.424 5202
+-121.07 32.424 5302
+-120.944 32.424 5401
+-120.818 32.424 5517
+-120.692 32.424 5692
+-120.566 32.424 5806
+-120.44 32.424 5912
+-120.314 32.424 6051
+-120.188 32.424 6159
+-120.062 32.424 6277
+-119.936 32.424 6437
+-119.81 32.424 6626
+-119.684 32.424 6835
+-119.558 32.424 6864
+-119.432 32.424 7047
+-119.306 32.424 7147
+-119.18 32.424 7296
+-119.054 32.424 7450
+-118.928 32.424 7583
+-118.802 32.424 7760
+-118.676 32.424 7893
+-118.55 32.424 8058
+-118.424 32.424 8087
+-118.298 32.424 8227
+-118.172 32.424 8405
+-118.046 32.424 8569
+-117.92 32.424 8654
+-117.794 32.424 8758
+-117.668 32.424 8894
+-117.542 32.424 8984
+-117.416 32.424 9116
+-117.29 32.424 9174
+-117.164 32.424 9271
+-117.038 32.424 9256
+-116.912 32.424 9257
+-116.786 32.424 9207
+-116.66 32.424 9127
+-116.534 32.424 9087
+-116.408 32.424 8866
+-116.282 32.424 8801
+-116.156 32.424 8699
+-116.03 32.424 8553
+-115.904 32.424 8402
+-115.778 32.424 8290
+-115.652 32.424 8193
+-115.526 32.424 7994
+-115.4 32.424 7812
+-115.274 32.424 7696
+-115.148 32.424 7542
+-115.022 32.424 7491
+-114.896 32.424 7374
+-114.77 32.424 7239
+-114.644 32.424 7048
+-114.518 32.424 6919
+-114.392 32.424 6792
+-114.266 32.424 6628
+-114.14 32.424 6534
+-114.014 32.424 6323
+-113.888 32.424 6232
+-113.762 32.424 6066
+-113.636 32.424 5870
+-113.51 32.424 6031
+-113.384 32.424 6050
+-113.258 32.424 6244
+-113.132 32.424 6370
+-113.006 32.424 6534
+-112.88 32.424 6618
+-112.754 32.424 6762
+-112.628 32.424 6941
+-112.502 32.424 7001
+-112.376 32.424 7159
+-112.25 32.424 7266
+-112.124 32.424 7428
+-111.998 32.424 7555
+-111.872 32.424 7659
+-111.746 32.424 7754
+-111.62 32.424 7879
+-111.494 32.424 7985
+-111.368 32.424 8096
+-111.242 32.424 8239
+-111.116 32.424 8285
+-110.99 32.424 8345
+-110.864 32.424 8429
+-110.738 32.424 8530
+-110.612 32.424 8547
+-110.486 32.424 8590
+-110.36 32.424 8579
+-110.234 32.424 8573
+-110.108 32.424 8535
+-109.982 32.424 8508
+-109.856 32.424 8386
+-109.73 32.424 8346
+-109.604 32.424 8234
+-109.478 32.424 8174
+-109.352 32.424 8043
+-109.226 32.424 7937
+-109.1 32.424 7796
+-108.974 32.424 7686
+-108.848 32.424 7573
+-108.722 32.424 7500
+-108.596 32.424 7316
+-108.47 32.424 7194
+-108.344 32.424 7054
+-108.218 32.424 6981
+-108.092 32.424 6858
+-107.966 32.424 6787
+-107.84 32.424 6620
+-107.714 32.424 6443
+-107.588 32.424 6304
+-107.462 32.424 6129
+-107.336 32.424 6118
+-107.21 32.424 5963
+-107.084 32.424 5770
+-106.958 32.424 5593
+-106.832 32.424 5452
+-106.706 32.424 5433
+-106.58 32.424 5218
+-106.454 32.424 5081
+-106.328 32.424 5100
+-106.202 32.424 5006
+-106.076 32.424 4878
+-105.95 32.424 4695
+-105.824 32.424 4504
+-105.698 32.424 4373
+-105.572 32.424 4325
+-105.446 32.424 4203
+-105.32 32.424 3960
+-105.194 32.424 3782
+-105.068 32.424 3884
+-104.942 32.424 3961
+-104.816 32.424 3955
+-104.69 32.424 3955
+-104.564 32.424 3930
+-104.438 32.424 3926
+-104.312 32.424 3926
+-104.186 32.424 3937
+-104.06 32.424 3933
+-103.934 32.424 3942
+-103.808 32.424 3914
+-103.682 32.424 3881
+-103.556 32.424 3849
+-103.43 32.424 3850
+-103.304 32.424 3809
+-103.178 32.424 3808
+-103.052 32.424 3751
+-102.926 32.424 3668
+-102.8 32.424 3663
+-102.674 32.424 3660
+-102.548 32.424 3656
+-102.422 32.424 3592
+-102.296 32.424 3587
+-102.17 32.424 3583
+-102.044 32.424 3579
+-101.918 32.424 3575
+-101.792 32.424 3572
+-101.666 32.424 3569
+-101.54 32.424 3423
+-101.414 32.424 3421
+-101.288 32.424 3419
+-101.162 32.424 3417
+-101.036 32.424 3415
+-100.91 32.424 3414
+-100.784 32.424 3283
+-100.658 32.424 3281
+-100.532 32.424 3280
+-100.406 32.424 3278
+-100.28 32.424 3152
+-100.154 32.424 3140
+-100.028 32.424 3127
+-99.902 32.424 2974
+-99.776 32.424 2918
+-99.65 32.424 2900
+-99.524 32.424 2859
+-99.398 32.424 2653
+-99.272 32.424 2577
+-99.146 32.424 2560
+-99.02 32.424 2545
+-98.894 32.424 2548
+-98.768 32.424 2601
+-98.642 32.424 2578
+-98.516 32.424 2574
+-98.39 32.424 2670
+-98.264 32.424 2691
+-98.138 32.424 2701
+-98.012 32.424 2694
+-97.886 32.424 2686
+-97.76 32.424 2678
+-97.634 32.424 2659
+-97.508 32.424 2670
+-97.382 32.424 2661
+-97.256 32.424 2653
+-97.13 32.424 2644
+-97.004 32.424 2636
+-96.878 32.424 2625
+-96.752 32.424 2627
+-96.626 32.424 2619
+-96.5 32.424 2611
+-96.374 32.424 2570
+-96.248 32.424 2563
+-96.122 32.424 2600
+-95.996 32.424 2592
+-95.87 32.424 2590
+-95.744 32.424 2583
+-95.618 32.424 2580
+-95.492 32.424 2571
+-95.366 32.424 2563
+-95.24 32.424 2552
+-95.114 32.424 2585
+-94.988 32.424 2545
+-94.862 32.424 2539
+-94.736 32.424 2537
+-94.61 32.424 2497
+-94.484 32.424 2448
+-94.358 32.424 2385
+-94.232 32.424 2307
+-94.106 32.424 2218
+-93.98 32.424 2130
+-93.854 32.424 2060
+-93.728 32.424 2036
+-93.602 32.424 2083
+-93.476 32.424 2193
+-93.35 32.424 2340
+-93.224 32.424 2483
+-93.098 32.424 2653
+-92.972 32.424 2770
+-92.846 32.424 2967
+-92.72 32.424 3022
+-92.594 32.424 3076
+-92.468 32.424 3155
+-92.342 32.424 3187
+-92.216 32.424 3231
+-92.09 32.424 3276
+-91.964 32.424 3305
+-91.838 32.424 3354
+-91.712 32.424 3421
+-91.586 32.424 3471
+-91.46 32.424 3530
+-91.334 32.424 3538
+-91.208 32.424 3596
+-91.082 32.424 3640
+-90.956 32.424 3675
+-90.83 32.424 3682
+-90.704 32.424 3648
+-90.578 32.424 3613
+-90.452 32.424 3672
+-90.326 32.424 3772
+-90.2 32.424 3814
+-90.074 32.424 3848
+-89.948 32.424 3869
+-89.822 32.424 3877
+-89.696 32.424 3872
+-89.57 32.424 3876
+-89.444 32.424 3883
+-89.318 32.424 3887
+-89.192 32.424 3881
+-89.066 32.424 3883
+-88.94 32.424 3902
+-88.814 32.424 3896
+-88.688 32.424 3874
+-88.562 32.424 3845
+-88.436 32.424 3829
+-88.31 32.424 3843
+-88.184 32.424 3866
+-88.058 32.424 3859
+-87.932 32.424 3842
+-87.806 32.424 3827
+-87.68 32.424 3781
+-87.554 32.424 3756
+-87.428 32.424 3734
+-87.302 32.424 3725
+-87.176 32.424 3698
+-87.05 32.424 3635
+-86.924 32.424 3571
+-86.798 32.424 3485
+-86.672 32.424 3379
+-86.546 32.424 3328
+-86.42 32.424 3323
+-86.294 32.424 3279
+-86.168 32.424 3334
+-86.042 32.424 3408
+-85.916 32.424 3487
+-85.79 32.424 3555
+-85.664 32.424 3598
+-85.538 32.424 3628
+-85.412 32.424 3647
+-85.286 32.424 3638
+-85.16 32.424 3682
+-85.034 32.424 3782
+-84.908 32.424 3857
+-84.782 32.424 3950
+-84.656 32.424 4028
+-84.53 32.424 4079
+-84.404 32.424 4109
+-84.278 32.424 4117
+-84.152 32.424 4159
+-84.026 32.424 4260
+-83.9 32.424 4300
+-83.774 32.424 4342
+-83.648 32.424 4366
+-83.522 32.424 4411
+-83.396 32.424 4466
+-83.27 32.424 4514
+-83.144 32.424 4563
+-83.018 32.424 4612
+-82.892 32.424 4654
+-82.766 32.424 4677
+-82.64 32.424 4689
+-82.514 32.424 4704
+-82.388 32.424 4659
+-82.262 32.424 4640
+-82.136 32.424 4626
+-82.01 32.424 4616
+-81.884 32.424 4607
+-81.758 32.424 4595
+-81.632 32.424 4619
+-81.506 32.424 4568
+-81.38 32.424 4539
+-81.254 32.424 4506
+-81.128 32.424 4468
+-81.002 32.424 4421
+-80.876 32.424 4382
+-80.75 32.424 4388
+-80.624 32.424 4345
+-80.498 32.424 4278
+-80.372 32.424 4222
+-80.246 32.424 4163
+-80.12 32.424 4135
+-79.994 32.424 4090
+-79.868 32.424 4068
+-79.742 32.424 4019
+-79.616 32.424 3961
+-79.49 32.424 3890
+-79.364 32.424 3819
+-79.238 32.424 3744
+-79.112 32.424 3724
+-78.986 32.424 3676
+-78.86 32.424 3646
+-78.734 32.424 3616
+-78.608 32.424 3584
+-78.482 32.424 3540
+-78.356 32.424 3505
+-78.23 32.424 3490
+-78.104 32.424 3493
+-77.978 32.424 3501
+-77.852 32.424 3499
+-77.726 32.424 3522
+-77.6 32.424 3469
+-77.474 32.424 3472
+-77.348 32.424 3465
+-77.222 32.424 3447
+-77.096 32.424 3434
+-76.97 32.424 3428
+-76.844 32.424 3426
+-76.718 32.424 3369
+-76.592 32.424 3385
+-76.466 32.424 3377
+-76.34 32.424 3345
+-76.214 32.424 3345
+-76.088 32.424 3345
+-75.962 32.424 3346
+-75.836 32.424 3374
+-75.71 32.424 3323
+-75.584 32.424 3324
+-75.458 32.424 3327
+-75.332 32.424 3245
+-75.206 32.424 3236
+-75.08 32.424 3237
+-74.954 32.424 3237
+-74.828 32.424 3221
+-74.702 32.424 3221
+-74.576 32.424 3222
+-74.45 32.424 3197
+-74.324 32.424 3198
+-74.198 32.424 3233
+-74.072 32.424 3236
+-73.946 32.424 3223
+-73.82 32.424 3225
+-73.694 32.424 3228
+-73.568 32.424 3180
+-73.442 32.424 3305
+-73.316 32.424 3279
+-73.19 32.424 3282
+-73.064 32.424 3250
+-72.938 32.424 3252
+-72.812 32.424 3255
+-72.686 32.424 3346
+-72.56 32.424 3349
+-72.434 32.424 3353
+-72.308 32.424 3357
+-72.182 32.424 3360
+-72.056 32.424 3442
+-71.93 32.424 3447
+-71.804 32.424 3383
+-71.678 32.424 3387
+-71.552 32.424 3391
+-71.426 32.424 3395
+-71.3 32.424 3397
+-71.174 32.424 3368
+-71.048 32.424 3361
+-70.922 32.424 3320
+-70.796 32.424 3323
+-70.67 32.424 3288
+-70.544 32.424 3330
+-70.418 32.424 3333
+-70.292 32.424 3336
+-70.166 32.424 3340
+-70.04 32.424 3342
+-69.914 32.424 3345
+-69.788 32.424 3348
+-69.662 32.424 3325
+-69.536 32.424 3327
+-69.41 32.424 3330
+-69.284 32.424 3303
+-69.158 32.424 3274
+-69.032 32.424 3256
+-68.906 32.424 3258
+-68.78 32.424 3260
+-68.654 32.424 3261
+-68.528 32.424 3263
+-68.402 32.424 3265
+-68.276 32.424 3267
+-68.15 32.424 3194
+-68.024 32.424 3180
+-67.898 32.424 3182
+-67.772 32.424 3183
+-67.646 32.424 3185
+-67.52 32.424 3187
+-67.394 32.424 3188
+-67.268 32.424 3190
+-67.142 32.424 3192
+-67.016 32.424 3193
+-66.89 32.424 3195
+-66.764 32.424 3196
+-66.638 32.424 3198
+-66.512 32.424 3199
+-66.386 32.424 3200
+-66.26 32.424 3202
+-66.134 32.424 3191
+-66.008 32.424 3193
+-65.882 32.424 3194
+-65.756 32.424 3196
+-65.63 32.424 3197
+-65.504 32.424 3152
+-65.378 32.424 3153
+-65.252 32.424 3154
+-65.126 32.424 3155
+-128 32.372 2788
+-127.874 32.372 2783
+-127.748 32.372 2778
+-127.622 32.372 2772
+-127.496 32.372 2767
+-127.37 32.372 2761
+-127.244 32.372 2755
+-127.118 32.372 2749
+-126.992 32.372 2742
+-126.866 32.372 2735
+-126.74 32.372 2728
+-126.614 32.372 2721
+-126.488 32.372 2714
+-126.362 32.372 2706
+-126.236 32.372 2698
+-126.11 32.372 2690
+-125.984 32.372 2682
+-125.858 32.372 2742
+-125.732 32.372 2734
+-125.606 32.372 2725
+-125.48 32.372 2716
+-125.354 32.372 2707
+-125.228 32.372 2697
+-125.102 32.372 2708
+-124.976 32.372 2693
+-124.85 32.372 2675
+-124.724 32.372 2695
+-124.598 32.372 2670
+-124.472 32.372 2645
+-124.346 32.372 2656
+-124.22 32.372 2654
+-124.094 32.372 2688
+-123.968 32.372 2758
+-123.842 32.372 2878
+-123.716 32.372 2990
+-123.59 32.372 3173
+-123.464 32.372 3231
+-123.338 32.372 3281
+-123.212 32.372 3333
+-123.086 32.372 3343
+-122.96 32.372 3326
+-122.834 32.372 3302
+-122.708 32.372 3479
+-122.582 32.372 3716
+-122.456 32.372 3859
+-122.33 32.372 3908
+-122.204 32.372 3856
+-122.078 32.372 4086
+-121.952 32.372 4304
+-121.826 32.372 4329
+-121.7 32.372 4502
+-121.574 32.372 4672
+-121.448 32.372 4808
+-121.322 32.372 4931
+-121.196 32.372 5205
+-121.07 32.372 5195
+-120.944 32.372 5387
+-120.818 32.372 5541
+-120.692 32.372 5641
+-120.566 32.372 5810
+-120.44 32.372 5966
+-120.314 32.372 6046
+-120.188 32.372 6212
+-120.062 32.372 6237
+-119.936 32.372 6454
+-119.81 32.372 6618
+-119.684 32.372 6832
+-119.558 32.372 6926
+-119.432 32.372 7057
+-119.306 32.372 7157
+-119.18 32.372 7247
+-119.054 32.372 7433
+-118.928 32.372 7580
+-118.802 32.372 7716
+-118.676 32.372 7831
+-118.55 32.372 7977
+-118.424 32.372 8177
+-118.298 32.372 8234
+-118.172 32.372 8395
+-118.046 32.372 8568
+-117.92 32.372 8649
+-117.794 32.372 8747
+-117.668 32.372 8852
+-117.542 32.372 8947
+-117.416 32.372 9043
+-117.29 32.372 9185
+-117.164 32.372 9183
+-117.038 32.372 9229
+-116.912 32.372 9208
+-116.786 32.372 9147
+-116.66 32.372 9097
+-116.534 32.372 8967
+-116.408 32.372 8907
+-116.282 32.372 8764
+-116.156 32.372 8631
+-116.03 32.372 8512
+-115.904 32.372 8406
+-115.778 32.372 8254
+-115.652 32.372 8134
+-115.526 32.372 7971
+-115.4 32.372 7833
+-115.274 32.372 7776
+-115.148 32.372 7619
+-115.022 32.372 7441
+-114.896 32.372 7293
+-114.77 32.372 7208
+-114.644 32.372 6988
+-114.518 32.372 6881
+-114.392 32.372 6777
+-114.266 32.372 6649
+-114.14 32.372 6492
+-114.014 32.372 6323
+-113.888 32.372 6195
+-113.762 32.372 6011
+-113.636 32.372 5994
+-113.51 32.372 5945
+-113.384 32.372 6118
+-113.258 32.372 6255
+-113.132 32.372 6360
+-113.006 32.372 6488
+-112.88 32.372 6656
+-112.754 32.372 6764
+-112.628 32.372 6880
+-112.502 32.372 7077
+-112.376 32.372 7163
+-112.25 32.372 7313
+-112.124 32.372 7478
+-111.998 32.372 7602
+-111.872 32.372 7643
+-111.746 32.372 7789
+-111.62 32.372 7924
+-111.494 32.372 8015
+-111.368 32.372 8121
+-111.242 32.372 8231
+-111.116 32.372 8337
+-110.99 32.372 8391
+-110.864 32.372 8475
+-110.738 32.372 8548
+-110.612 32.372 8623
+-110.486 32.372 8624
+-110.36 32.372 8663
+-110.234 32.372 8613
+-110.108 32.372 8563
+-109.982 32.372 8525
+-109.856 32.372 8452
+-109.73 32.372 8357
+-109.604 32.372 8289
+-109.478 32.372 8203
+-109.352 32.372 8065
+-109.226 32.372 7947
+-109.1 32.372 7846
+-108.974 32.372 7743
+-108.848 32.372 7632
+-108.722 32.372 7493
+-108.596 32.372 7405
+-108.47 32.372 7229
+-108.344 32.372 7091
+-108.218 32.372 7030
+-108.092 32.372 6887
+-107.966 32.372 6785
+-107.84 32.372 6633
+-107.714 32.372 6505
+-107.588 32.372 6339
+-107.462 32.372 6194
+-107.336 32.372 6094
+-107.21 32.372 5990
+-107.084 32.372 5817
+-106.958 32.372 5625
+-106.832 32.372 5498
+-106.706 32.372 5386
+-106.58 32.372 5287
+-106.454 32.372 5169
+-106.328 32.372 5034
+-106.202 32.372 5014
+-106.076 32.372 4900
+-105.95 32.372 4679
+-105.824 32.372 4520
+-105.698 32.372 4398
+-105.572 32.372 4309
+-105.446 32.372 4207
+-105.32 32.372 4054
+-105.194 32.372 3925
+-105.068 32.372 3959
+-104.942 32.372 3996
+-104.816 32.372 4013
+-104.69 32.372 4018
+-104.564 32.372 4004
+-104.438 32.372 4011
+-104.312 32.372 3974
+-104.186 32.372 3967
+-104.06 32.372 3960
+-103.934 32.372 3965
+-103.808 32.372 3971
+-103.682 32.372 3937
+-103.556 32.372 3901
+-103.43 32.372 3868
+-103.304 32.372 3876
+-103.178 32.372 3765
+-103.052 32.372 3682
+-102.926 32.372 3676
+-102.8 32.372 3671
+-102.674 32.372 3666
+-102.548 32.372 3609
+-102.422 32.372 3593
+-102.296 32.372 3598
+-102.17 32.372 3583
+-102.044 32.372 3578
+-101.918 32.372 3585
+-101.792 32.372 3581
+-101.666 32.372 3423
+-101.54 32.372 3420
+-101.414 32.372 3418
+-101.288 32.372 3416
+-101.162 32.372 3414
+-101.036 32.372 3412
+-100.91 32.372 3280
+-100.784 32.372 3278
+-100.658 32.372 3277
+-100.532 32.372 3275
+-100.406 32.372 3274
+-100.28 32.372 3146
+-100.154 32.372 3134
+-100.028 32.372 3121
+-99.902 32.372 2969
+-99.776 32.372 2952
+-99.65 32.372 2894
+-99.524 32.372 2853
+-99.398 32.372 2647
+-99.272 32.372 2569
+-99.146 32.372 2494
+-99.02 32.372 2484
+-98.894 32.372 2463
+-98.768 32.372 2507
+-98.642 32.372 2562
+-98.516 32.372 2557
+-98.39 32.372 2597
+-98.264 32.372 2690
+-98.138 32.372 2682
+-98.012 32.372 2673
+-97.886 32.372 2665
+-97.76 32.372 2645
+-97.634 32.372 2654
+-97.508 32.372 2645
+-97.382 32.372 2635
+-97.256 32.372 2625
+-97.13 32.372 2615
+-97.004 32.372 2603
+-96.878 32.372 2603
+-96.752 32.372 2594
+-96.626 32.372 2584
+-96.5 32.372 2542
+-96.374 32.372 2534
+-96.248 32.372 2569
+-96.122 32.372 2560
+-95.996 32.372 2557
+-95.87 32.372 2550
+-95.744 32.372 2547
+-95.618 32.372 2539
+-95.492 32.372 2533
+-95.366 32.372 2525
+-95.24 32.372 2564
+-95.114 32.372 2530
+-94.988 32.372 2534
+-94.862 32.372 2545
+-94.736 32.372 2519
+-94.61 32.372 2489
+-94.484 32.372 2415
+-94.358 32.372 2401
+-94.232 32.372 2342
+-94.106 32.372 2282
+-93.98 32.372 2226
+-93.854 32.372 2182
+-93.728 32.372 2174
+-93.602 32.372 2215
+-93.476 32.372 2286
+-93.35 32.372 2410
+-93.224 32.372 2530
+-93.098 32.372 2641
+-92.972 32.372 2771
+-92.846 32.372 2898
+-92.72 32.372 2954
+-92.594 32.372 3060
+-92.468 32.372 3080
+-92.342 32.372 3107
+-92.216 32.372 3140
+-92.09 32.372 3169
+-91.964 32.372 3222
+-91.838 32.372 3298
+-91.712 32.372 3347
+-91.586 32.372 3376
+-91.46 32.372 3461
+-91.334 32.372 3501
+-91.208 32.372 3545
+-91.082 32.372 3590
+-90.956 32.372 3654
+-90.83 32.372 3668
+-90.704 32.372 3654
+-90.578 32.372 3646
+-90.452 32.372 3685
+-90.326 32.372 3747
+-90.2 32.372 3781
+-90.074 32.372 3790
+-89.948 32.372 3820
+-89.822 32.372 3827
+-89.696 32.372 3824
+-89.57 32.372 3807
+-89.444 32.372 3806
+-89.318 32.372 3804
+-89.192 32.372 3805
+-89.066 32.372 3803
+-88.94 32.372 3808
+-88.814 32.372 3799
+-88.688 32.372 3796
+-88.562 32.372 3803
+-88.436 32.372 3800
+-88.31 32.372 3799
+-88.184 32.372 3792
+-88.058 32.372 3793
+-87.932 32.372 3796
+-87.806 32.372 3757
+-87.68 32.372 3710
+-87.554 32.372 3677
+-87.428 32.372 3676
+-87.302 32.372 3668
+-87.176 32.372 3625
+-87.05 32.372 3581
+-86.924 32.372 3522
+-86.798 32.372 3442
+-86.672 32.372 3332
+-86.546 32.372 3267
+-86.42 32.372 3316
+-86.294 32.372 3329
+-86.168 32.372 3375
+-86.042 32.372 3444
+-85.916 32.372 3519
+-85.79 32.372 3575
+-85.664 32.372 3622
+-85.538 32.372 3638
+-85.412 32.372 3645
+-85.286 32.372 3670
+-85.16 32.372 3733
+-85.034 32.372 3826
+-84.908 32.372 3906
+-84.782 32.372 3977
+-84.656 32.372 4049
+-84.53 32.372 4104
+-84.404 32.372 4147
+-84.278 32.372 4176
+-84.152 32.372 4246
+-84.026 32.372 4337
+-83.9 32.372 4377
+-83.774 32.372 4430
+-83.648 32.372 4477
+-83.522 32.372 4507
+-83.396 32.372 4558
+-83.27 32.372 4623
+-83.144 32.372 4675
+-83.018 32.372 4715
+-82.892 32.372 4736
+-82.766 32.372 4764
+-82.64 32.372 4779
+-82.514 32.372 4776
+-82.388 32.372 4746
+-82.262 32.372 4719
+-82.136 32.372 4716
+-82.01 32.372 4704
+-81.884 32.372 4677
+-81.758 32.372 4633
+-81.632 32.372 4617
+-81.506 32.372 4597
+-81.38 32.372 4566
+-81.254 32.372 4534
+-81.128 32.372 4488
+-81.002 32.372 4443
+-80.876 32.372 4419
+-80.75 32.372 4378
+-80.624 32.372 4358
+-80.498 32.372 4323
+-80.372 32.372 4277
+-80.246 32.372 4234
+-80.12 32.372 4186
+-79.994 32.372 4147
+-79.868 32.372 4124
+-79.742 32.372 4105
+-79.616 32.372 4038
+-79.49 32.372 3975
+-79.364 32.372 3916
+-79.238 32.372 3859
+-79.112 32.372 3792
+-78.986 32.372 3748
+-78.86 32.372 3703
+-78.734 32.372 3647
+-78.608 32.372 3574
+-78.482 32.372 3507
+-78.356 32.372 3467
+-78.23 32.372 3461
+-78.104 32.372 3472
+-77.978 32.372 3478
+-77.852 32.372 3506
+-77.726 32.372 3514
+-77.6 32.372 3517
+-77.474 32.372 3519
+-77.348 32.372 3446
+-77.222 32.372 3428
+-77.096 32.372 3424
+-76.97 32.372 3420
+-76.844 32.372 3364
+-76.718 32.372 3379
+-76.592 32.372 3370
+-76.466 32.372 3370
+-76.34 32.372 3399
+-76.214 32.372 3342
+-76.088 32.372 3342
+-75.962 32.372 3369
+-75.836 32.372 3317
+-75.71 32.372 3320
+-75.584 32.372 3323
+-75.458 32.372 3244
+-75.332 32.372 3235
+-75.206 32.372 3235
+-75.08 32.372 3235
+-74.954 32.372 3282
+-74.828 32.372 3266
+-74.702 32.372 3267
+-74.576 32.372 3269
+-74.45 32.372 3270
+-74.324 32.372 3232
+-74.198 32.372 3234
+-74.072 32.372 3221
+-73.946 32.372 3224
+-73.82 32.372 3226
+-73.694 32.372 3179
+-73.568 32.372 3301
+-73.442 32.372 3276
+-73.316 32.372 3278
+-73.19 32.372 3246
+-73.064 32.372 3249
+-72.938 32.372 3252
+-72.812 32.372 3340
+-72.686 32.372 3344
+-72.56 32.372 3348
+-72.434 32.372 3352
+-72.308 32.372 3356
+-72.182 32.372 3436
+-72.056 32.372 3442
+-71.93 32.372 3379
+-71.804 32.372 3383
+-71.678 32.372 3387
+-71.552 32.372 3391
+-71.426 32.372 3393
+-71.3 32.372 3364
+-71.174 32.372 3357
+-71.048 32.372 3317
+-70.922 32.372 3320
+-70.796 32.372 3286
+-70.67 32.372 3327
+-70.544 32.372 3331
+-70.418 32.372 3334
+-70.292 32.372 3337
+-70.166 32.372 3340
+-70.04 32.372 3343
+-69.914 32.372 3346
+-69.788 32.372 3323
+-69.662 32.372 3326
+-69.536 32.372 3328
+-69.41 32.372 3302
+-69.284 32.372 3272
+-69.158 32.372 3254
+-69.032 32.372 3256
+-68.906 32.372 3258
+-68.78 32.372 3260
+-68.654 32.372 3262
+-68.528 32.372 3264
+-68.402 32.372 3266
+-68.276 32.372 3193
+-68.15 32.372 3179
+-68.024 32.372 3181
+-67.898 32.372 3182
+-67.772 32.372 3184
+-67.646 32.372 3186
+-67.52 32.372 3188
+-67.394 32.372 3189
+-67.268 32.372 3191
+-67.142 32.372 3193
+-67.016 32.372 3194
+-66.89 32.372 3196
+-66.764 32.372 3197
+-66.638 32.372 3198
+-66.512 32.372 3200
+-66.386 32.372 3201
+-66.26 32.372 3191
+-66.134 32.372 3192
+-66.008 32.372 3194
+-65.882 32.372 3195
+-65.756 32.372 3197
+-65.63 32.372 3151
+-65.504 32.372 3153
+-65.378 32.372 3154
+-65.252 32.372 3155
+-65.126 32.372 3156
+-128 32.32 2792
+-127.874 32.32 2787
+-127.748 32.32 2783
+-127.622 32.32 2778
+-127.496 32.32 2772
+-127.37 32.32 2767
+-127.244 32.32 2762
+-127.118 32.32 2756
+-126.992 32.32 2750
+-126.866 32.32 2744
+-126.74 32.32 2737
+-126.614 32.32 2731
+-126.488 32.32 2724
+-126.362 32.32 2717
+-126.236 32.32 2710
+-126.11 32.32 2702
+-125.984 32.32 2764
+-125.858 32.32 2757
+-125.732 32.32 2749
+-125.606 32.32 2740
+-125.48 32.32 2730
+-125.354 32.32 2719
+-125.228 32.32 2729
+-125.102 32.32 2711
+-124.976 32.32 2689
+-124.85 32.32 2703
+-124.724 32.32 2666
+-124.598 32.32 2618
+-124.472 32.32 2562
+-124.346 32.32 2503
+-124.22 32.32 2465
+-124.094 32.32 2502
+-123.968 32.32 2591
+-123.842 32.32 2773
+-123.716 32.32 2932
+-123.59 32.32 3110
+-123.464 32.32 3224
+-123.338 32.32 3323
+-123.212 32.32 3369
+-123.086 32.32 3359
+-122.96 32.32 3274
+-122.834 32.32 3147
+-122.708 32.32 3384
+-122.582 32.32 3697
+-122.456 32.32 3838
+-122.33 32.32 3898
+-122.204 32.32 3970
+-122.078 32.32 4139
+-121.952 32.32 4318
+-121.826 32.32 4409
+-121.7 32.32 4532
+-121.574 32.32 4652
+-121.448 32.32 4781
+-121.322 32.32 4932
+-121.196 32.32 5154
+-121.07 32.32 5304
+-120.944 32.32 5313
+-120.818 32.32 5548
+-120.692 32.32 5591
+-120.566 32.32 5790
+-120.44 32.32 5896
+-120.314 32.32 6019
+-120.188 32.32 6130
+-120.062 32.32 6216
+-119.936 32.32 6445
+-119.81 32.32 6552
+-119.684 32.32 6773
+-119.558 32.32 6853
+-119.432 32.32 7008
+-119.306 32.32 7172
+-119.18 32.32 7345
+-119.054 32.32 7399
+-118.928 32.32 7583
+-118.802 32.32 7677
+-118.676 32.32 7891
+-118.55 32.32 7980
+-118.424 32.32 8050
+-118.298 32.32 8225
+-118.172 32.32 8306
+-118.046 32.32 8503
+-117.92 32.32 8624
+-117.794 32.32 8714
+-117.668 32.32 8856
+-117.542 32.32 8989
+-117.416 32.32 9012
+-117.29 32.32 9074
+-117.164 32.32 9115
+-117.038 32.32 9186
+-116.912 32.32 9170
+-116.786 32.32 9123
+-116.66 32.32 9064
+-116.534 32.32 8953
+-116.408 32.32 8828
+-116.282 32.32 8720
+-116.156 32.32 8613
+-116.03 32.32 8513
+-115.904 32.32 8398
+-115.778 32.32 8174
+-115.652 32.32 8135
+-115.526 32.32 7972
+-115.4 32.32 7850
+-115.274 32.32 7740
+-115.148 32.32 7556
+-115.022 32.32 7455
+-114.896 32.32 7375
+-114.77 32.32 7204
+-114.644 32.32 6988
+-114.518 32.32 6824
+-114.392 32.32 6781
+-114.266 32.32 6634
+-114.14 32.32 6457
+-114.014 32.32 6305
+-113.888 32.32 6215
+-113.762 32.32 6055
+-113.636 32.32 5893
+-113.51 32.32 6029
+-113.384 32.32 6149
+-113.258 32.32 6315
+-113.132 32.32 6405
+-113.006 32.32 6519
+-112.88 32.32 6628
+-112.754 32.32 6843
+-112.628 32.32 6936
+-112.502 32.32 7013
+-112.376 32.32 7189
+-112.25 32.32 7278
+-112.124 32.32 7438
+-111.998 32.32 7521
+-111.872 32.32 7680
+-111.746 32.32 7835
+-111.62 32.32 7894
+-111.494 32.32 8057
+-111.368 32.32 8168
+-111.242 32.32 8290
+-111.116 32.32 8398
+-110.99 32.32 8433
+-110.864 32.32 8536
+-110.738 32.32 8627
+-110.612 32.32 8664
+-110.486 32.32 8694
+-110.36 32.32 8701
+-110.234 32.32 8672
+-110.108 32.32 8626
+-109.982 32.32 8565
+-109.856 32.32 8488
+-109.73 32.32 8393
+-109.604 32.32 8283
+-109.478 32.32 8222
+-109.352 32.32 8101
+-109.226 32.32 7945
+-109.1 32.32 7848
+-108.974 32.32 7722
+-108.848 32.32 7629
+-108.722 32.32 7446
+-108.596 32.32 7376
+-108.47 32.32 7247
+-108.344 32.32 7100
+-108.218 32.32 7028
+-108.092 32.32 6882
+-107.966 32.32 6662
+-107.84 32.32 6650
+-107.714 32.32 6505
+-107.588 32.32 6325
+-107.462 32.32 6178
+-107.336 32.32 6068
+-107.21 32.32 5979
+-107.084 32.32 5834
+-106.958 32.32 5688
+-106.832 32.32 5562
+-106.706 32.32 5447
+-106.58 32.32 5340
+-106.454 32.32 5247
+-106.328 32.32 5101
+-106.202 32.32 5018
+-106.076 32.32 4869
+-105.95 32.32 4627
+-105.824 32.32 4451
+-105.698 32.32 4344
+-105.572 32.32 4282
+-105.446 32.32 4247
+-105.32 32.32 4161
+-105.194 32.32 4085
+-105.068 32.32 4064
+-104.942 32.32 4053
+-104.816 32.32 4056
+-104.69 32.32 4057
+-104.564 32.32 4058
+-104.438 32.32 4047
+-104.312 32.32 4052
+-104.186 32.32 4008
+-104.06 32.32 4001
+-103.934 32.32 3986
+-103.808 32.32 3989
+-103.682 32.32 3992
+-103.556 32.32 3960
+-103.43 32.32 3883
+-103.304 32.32 3822
+-103.178 32.32 3817
+-103.052 32.32 3811
+-102.926 32.32 3696
+-102.8 32.32 3677
+-102.674 32.32 3617
+-102.548 32.32 3624
+-102.422 32.32 3618
+-102.296 32.32 3612
+-102.17 32.32 3592
+-102.044 32.32 3603
+-101.918 32.32 3599
+-101.792 32.32 3422
+-101.666 32.32 3419
+-101.54 32.32 3417
+-101.414 32.32 3414
+-101.288 32.32 3412
+-101.162 32.32 3411
+-101.036 32.32 3277
+-100.91 32.32 3275
+-100.784 32.32 3273
+-100.658 32.32 3272
+-100.532 32.32 3270
+-100.406 32.32 3269
+-100.28 32.32 3140
+-100.154 32.32 3128
+-100.028 32.32 3114
+-99.902 32.32 2963
+-99.776 32.32 2911
+-99.65 32.32 2831
+-99.524 32.32 2847
+-99.398 32.32 2641
+-99.272 32.32 2502
+-99.146 32.32 2486
+-99.02 32.32 2473
+-98.894 32.32 2451
+-98.768 32.32 2491
+-98.642 32.32 2546
+-98.516 32.32 2483
+-98.39 32.32 2580
+-98.264 32.32 2672
+-98.138 32.32 2662
+-98.012 32.32 2653
+-97.886 32.32 2632
+-97.76 32.32 2640
+-97.634 32.32 2630
+-97.508 32.32 2619
+-97.382 32.32 2607
+-97.256 32.32 2596
+-97.13 32.32 2582
+-97.004 32.32 2581
+-96.878 32.32 2569
+-96.752 32.32 2558
+-96.626 32.32 2514
+-96.5 32.32 2503
+-96.374 32.32 2536
+-96.248 32.32 2526
+-96.122 32.32 2521
+-95.996 32.32 2512
+-95.87 32.32 2509
+-95.744 32.32 2501
+-95.618 32.32 2495
+-95.492 32.32 2489
+-95.366 32.32 2530
+-95.24 32.32 2501
+-95.114 32.32 2512
+-94.988 32.32 2534
+-94.862 32.32 2518
+-94.736 32.32 2461
+-94.61 32.32 2441
+-94.484 32.32 2454
+-94.358 32.32 2420
+-94.232 32.32 2384
+-94.106 32.32 2353
+-93.98 32.32 2316
+-93.854 32.32 2295
+-93.728 32.32 2298
+-93.602 32.32 2319
+-93.476 32.32 2398
+-93.35 32.32 2486
+-93.224 32.32 2579
+-93.098 32.32 2665
+-92.972 32.32 2751
+-92.846 32.32 2841
+-92.72 32.32 2878
+-92.594 32.32 2899
+-92.468 32.32 2963
+-92.342 32.32 3003
+-92.216 32.32 3014
+-92.09 32.32 3059
+-91.964 32.32 3140
+-91.838 32.32 3203
+-91.712 32.32 3242
+-91.586 32.32 3286
+-91.46 32.32 3375
+-91.334 32.32 3424
+-91.208 32.32 3483
+-91.082 32.32 3543
+-90.956 32.32 3592
+-90.83 32.32 3630
+-90.704 32.32 3644
+-90.578 32.32 3666
+-90.452 32.32 3695
+-90.326 32.32 3715
+-90.2 32.32 3736
+-90.074 32.32 3744
+-89.948 32.32 3770
+-89.822 32.32 3771
+-89.696 32.32 3752
+-89.57 32.32 3728
+-89.444 32.32 3729
+-89.318 32.32 3734
+-89.192 32.32 3748
+-89.066 32.32 3739
+-88.94 32.32 3741
+-88.814 32.32 3753
+-88.688 32.32 3751
+-88.562 32.32 3767
+-88.436 32.32 3776
+-88.31 32.32 3750
+-88.184 32.32 3725
+-88.058 32.32 3729
+-87.932 32.32 3731
+-87.806 32.32 3694
+-87.68 32.32 3661
+-87.554 32.32 3643
+-87.428 32.32 3644
+-87.302 32.32 3616
+-87.176 32.32 3570
+-87.05 32.32 3527
+-86.924 32.32 3492
+-86.798 32.32 3441
+-86.672 32.32 3365
+-86.546 32.32 3325
+-86.42 32.32 3353
+-86.294 32.32 3389
+-86.168 32.32 3439
+-86.042 32.32 3495
+-85.916 32.32 3557
+-85.79 32.32 3605
+-85.664 32.32 3641
+-85.538 32.32 3642
+-85.412 32.32 3607
+-85.286 32.32 3687
+-85.16 32.32 3814
+-85.034 32.32 3897
+-84.908 32.32 3936
+-84.782 32.32 4013
+-84.656 32.32 4078
+-84.53 32.32 4148
+-84.404 32.32 4188
+-84.278 32.32 4264
+-84.152 32.32 4351
+-84.026 32.32 4439
+-83.9 32.32 4485
+-83.774 32.32 4539
+-83.648 32.32 4593
+-83.522 32.32 4617
+-83.396 32.32 4663
+-83.27 32.32 4719
+-83.144 32.32 4761
+-83.018 32.32 4792
+-82.892 32.32 4825
+-82.766 32.32 4830
+-82.64 32.32 4828
+-82.514 32.32 4833
+-82.388 32.32 4827
+-82.262 32.32 4813
+-82.136 32.32 4765
+-82.01 32.32 4740
+-81.884 32.32 4725
+-81.758 32.32 4694
+-81.632 32.32 4672
+-81.506 32.32 4660
+-81.38 32.32 4638
+-81.254 32.32 4599
+-81.128 32.32 4554
+-81.002 32.32 4506
+-80.876 32.32 4460
+-80.75 32.32 4434
+-80.624 32.32 4396
+-80.498 32.32 4367
+-80.372 32.32 4330
+-80.246 32.32 4313
+-80.12 32.32 4234
+-79.994 32.32 4162
+-79.868 32.32 4128
+-79.742 32.32 4132
+-79.616 32.32 4089
+-79.49 32.32 4040
+-79.364 32.32 3994
+-79.238 32.32 3949
+-79.112 32.32 3865
+-78.986 32.32 3808
+-78.86 32.32 3737
+-78.734 32.32 3673
+-78.608 32.32 3534
+-78.482 32.32 3462
+-78.356 32.32 3394
+-78.23 32.32 3401
+-78.104 32.32 3440
+-77.978 32.32 3473
+-77.852 32.32 3494
+-77.726 32.32 3504
+-77.6 32.32 3508
+-77.474 32.32 3494
+-77.348 32.32 3477
+-77.222 32.32 3419
+-77.096 32.32 3414
+-76.97 32.32 3358
+-76.844 32.32 3372
+-76.718 32.32 3362
+-76.592 32.32 3361
+-76.466 32.32 3388
+-76.34 32.32 3391
+-76.214 32.32 3390
+-76.088 32.32 3345
+-75.962 32.32 3373
+-75.836 32.32 3377
+-75.71 32.32 3318
+-75.584 32.32 3306
+-75.458 32.32 3296
+-75.332 32.32 3298
+-75.206 32.32 3300
+-75.08 32.32 3277
+-74.954 32.32 3261
+-74.828 32.32 3263
+-74.702 32.32 3264
+-74.576 32.32 3266
+-74.45 32.32 3229
+-74.324 32.32 3232
+-74.198 32.32 3219
+-74.072 32.32 3222
+-73.946 32.32 3224
+-73.82 32.32 3178
+-73.694 32.32 3296
+-73.568 32.32 3272
+-73.442 32.32 3275
+-73.316 32.32 3243
+-73.19 32.32 3246
+-73.064 32.32 3249
+-72.938 32.32 3335
+-72.812 32.32 3339
+-72.686 32.32 3343
+-72.56 32.32 3347
+-72.434 32.32 3351
+-72.308 32.32 3431
+-72.182 32.32 3436
+-72.056 32.32 3374
+-71.93 32.32 3378
+-71.804 32.32 3383
+-71.678 32.32 3387
+-71.552 32.32 3389
+-71.426 32.32 3361
+-71.3 32.32 3354
+-71.174 32.32 3314
+-71.048 32.32 3317
+-70.922 32.32 3283
+-70.796 32.32 3324
+-70.67 32.32 3328
+-70.544 32.32 3331
+-70.418 32.32 3335
+-70.292 32.32 3338
+-70.166 32.32 3341
+-70.04 32.32 3344
+-69.914 32.32 3321
+-69.788 32.32 3324
+-69.662 32.32 3326
+-69.536 32.32 3300
+-69.41 32.32 3271
+-69.284 32.32 3253
+-69.158 32.32 3255
+-69.032 32.32 3257
+-68.906 32.32 3259
+-68.78 32.32 3261
+-68.654 32.32 3263
+-68.528 32.32 3265
+-68.402 32.32 3191
+-68.276 32.32 3178
+-68.15 32.32 3180
+-68.024 32.32 3182
+-67.898 32.32 3183
+-67.772 32.32 3185
+-67.646 32.32 3187
+-67.52 32.32 3189
+-67.394 32.32 3190
+-67.268 32.32 3192
+-67.142 32.32 3193
+-67.016 32.32 3195
+-66.89 32.32 3196
+-66.764 32.32 3198
+-66.638 32.32 3199
+-66.512 32.32 3201
+-66.386 32.32 3190
+-66.26 32.32 3192
+-66.134 32.32 3193
+-66.008 32.32 3195
+-65.882 32.32 3196
+-65.756 32.32 3151
+-65.63 32.32 3152
+-65.504 32.32 3153
+-65.378 32.32 3154
+-65.252 32.32 3156
+-65.126 32.32 3157
+-128 32.268 2796
+-127.874 32.268 2792
+-127.748 32.268 2787
+-127.622 32.268 2783
+-127.496 32.268 2778
+-127.37 32.268 2773
+-127.244 32.268 2768
+-127.118 32.268 2763
+-126.992 32.268 2757
+-126.866 32.268 2752
+-126.74 32.268 2746
+-126.614 32.268 2740
+-126.488 32.268 2734
+-126.362 32.268 2727
+-126.236 32.268 2720
+-126.11 32.268 2785
+-125.984 32.268 2778
+-125.858 32.268 2771
+-125.732 32.268 2762
+-125.606 32.268 2753
+-125.48 32.268 2742
+-125.354 32.268 2725
+-125.228 32.268 2736
+-125.102 32.268 2713
+-124.976 32.268 2688
+-124.85 32.268 2688
+-124.724 32.268 2635
+-124.598 32.268 2562
+-124.472 32.268 2467
+-124.346 32.268 2354
+-124.22 32.268 2254
+-124.094 32.268 2230
+-123.968 32.268 2378
+-123.842 32.268 2604
+-123.716 32.268 2834
+-123.59 32.268 3062
+-123.464 32.268 3227
+-123.338 32.268 3340
+-123.212 32.268 3379
+-123.086 32.268 3400
+-122.96 32.268 3363
+-122.834 32.268 3327
+-122.708 32.268 3507
+-122.582 32.268 3707
+-122.456 32.268 3823
+-122.33 32.268 3772
+-122.204 32.268 3980
+-122.078 32.268 4163
+-121.952 32.268 4314
+-121.826 32.268 4317
+-121.7 32.268 4468
+-121.574 32.268 4644
+-121.448 32.268 4844
+-121.322 32.268 4958
+-121.196 32.268 5107
+-121.07 32.268 5285
+-120.944 32.268 5398
+-120.818 32.268 5547
+-120.692 32.268 5675
+-120.566 32.268 5779
+-120.44 32.268 5930
+-120.314 32.268 6053
+-120.188 32.268 6106
+-120.062 32.268 6233
+-119.936 32.268 6405
+-119.81 32.268 6603
+-119.684 32.268 6742
+-119.558 32.268 6892
+-119.432 32.268 7031
+-119.306 32.268 7122
+-119.18 32.268 7309
+-119.054 32.268 7382
+-118.928 32.268 7576
+-118.802 32.268 7705
+-118.676 32.268 7794
+-118.55 32.268 7962
+-118.424 32.268 8076
+-118.298 32.268 8162
+-118.172 32.268 8314
+-118.046 32.268 8412
+-117.92 32.268 8568
+-117.794 32.268 8666
+-117.668 32.268 8739
+-117.542 32.268 8933
+-117.416 32.268 8970
+-117.29 32.268 9041
+-117.164 32.268 9097
+-117.038 32.268 9101
+-116.912 32.268 9099
+-116.786 32.268 9061
+-116.66 32.268 8990
+-116.534 32.268 8915
+-116.408 32.268 8824
+-116.282 32.268 8682
+-116.156 32.268 8574
+-116.03 32.268 8438
+-115.904 32.268 8342
+-115.778 32.268 8225
+-115.652 32.268 8102
+-115.526 32.268 7939
+-115.4 32.268 7771
+-115.274 32.268 7713
+-115.148 32.268 7560
+-115.022 32.268 7498
+-114.896 32.268 7318
+-114.77 32.268 7213
+-114.644 32.268 6978
+-114.518 32.268 6843
+-114.392 32.268 6735
+-114.266 32.268 6632
+-114.14 32.268 6502
+-114.014 32.268 6344
+-113.888 32.268 6208
+-113.762 32.268 6043
+-113.636 32.268 5866
+-113.51 32.268 5995
+-113.384 32.268 6208
+-113.258 32.268 6298
+-113.132 32.268 6396
+-113.006 32.268 6510
+-112.88 32.268 6657
+-112.754 32.268 6751
+-112.628 32.268 6962
+-112.502 32.268 7120
+-112.376 32.268 7176
+-112.25 32.268 7333
+-112.124 32.268 7521
+-111.998 32.268 7556
+-111.872 32.268 7707
+-111.746 32.268 7830
+-111.62 32.268 7988
+-111.494 32.268 8086
+-111.368 32.268 8191
+-111.242 32.268 8294
+-111.116 32.268 8443
+-110.99 32.268 8495
+-110.864 32.268 8587
+-110.738 32.268 8690
+-110.612 32.268 8735
+-110.486 32.268 8748
+-110.36 32.268 8755
+-110.234 32.268 8746
+-110.108 32.268 8679
+-109.982 32.268 8629
+-109.856 32.268 8566
+-109.73 32.268 8459
+-109.604 32.268 8349
+-109.478 32.268 8289
+-109.352 32.268 8132
+-109.226 32.268 8045
+-109.1 32.268 7885
+-108.974 32.268 7746
+-108.848 32.268 7679
+-108.722 32.268 7580
+-108.596 32.268 7395
+-108.47 32.268 7257
+-108.344 32.268 7153
+-108.218 32.268 6989
+-108.092 32.268 6895
+-107.966 32.268 6713
+-107.84 32.268 6681
+-107.714 32.268 6478
+-107.588 32.268 6289
+-107.462 32.268 6197
+-107.336 32.268 6077
+-107.21 32.268 5960
+-107.084 32.268 5831
+-106.958 32.268 5619
+-106.832 32.268 5592
+-106.706 32.268 5462
+-106.58 32.268 5325
+-106.454 32.268 5309
+-106.328 32.268 5190
+-106.202 32.268 5010
+-106.076 32.268 4821
+-105.95 32.268 4592
+-105.824 32.268 4386
+-105.698 32.268 4297
+-105.572 32.268 4242
+-105.446 32.268 4251
+-105.32 32.268 4212
+-105.194 32.268 4171
+-105.068 32.268 4126
+-104.942 32.268 4095
+-104.816 32.268 4090
+-104.69 32.268 4087
+-104.564 32.268 4069
+-104.438 32.268 4071
+-104.312 32.268 4074
+-104.186 32.268 4079
+-104.06 32.268 4036
+-103.934 32.268 4024
+-103.808 32.268 3999
+-103.682 32.268 4001
+-103.556 32.268 3943
+-103.43 32.268 3898
+-103.304 32.268 3860
+-103.178 32.268 3831
+-103.052 32.268 3743
+-102.926 32.268 3737
+-102.8 32.268 3639
+-102.674 32.268 3630
+-102.548 32.268 3623
+-102.422 32.268 3616
+-102.296 32.268 3611
+-102.17 32.268 3606
+-102.044 32.268 3601
+-101.918 32.268 3421
+-101.792 32.268 3418
+-101.666 32.268 3415
+-101.54 32.268 3412
+-101.414 32.268 3410
+-101.288 32.268 3408
+-101.162 32.268 3273
+-101.036 32.268 3271
+-100.91 32.268 3269
+-100.784 32.268 3268
+-100.658 32.268 3267
+-100.532 32.268 3265
+-100.406 32.268 3264
+-100.28 32.268 3105
+-100.154 32.268 3092
+-100.028 32.268 3079
+-99.902 32.268 2921
+-99.776 32.268 2842
+-99.65 32.268 2824
+-99.524 32.268 2841
+-99.398 32.268 2583
+-99.272 32.268 2494
+-99.146 32.268 2478
+-99.02 32.268 2519
+-98.894 32.268 2452
+-98.768 32.268 2475
+-98.642 32.268 2470
+-98.516 32.268 2465
+-98.39 32.268 2562
+-98.264 32.268 2652
+-98.138 32.268 2642
+-98.012 32.268 2620
+-97.886 32.268 2628
+-97.76 32.268 2616
+-97.634 32.268 2604
+-97.508 32.268 2591
+-97.382 32.268 2578
+-97.256 32.268 2562
+-97.13 32.268 2560
+-97.004 32.268 2546
+-96.878 32.268 2533
+-96.752 32.268 2487
+-96.626 32.268 2474
+-96.5 32.268 2504
+-96.374 32.268 2491
+-96.248 32.268 2484
+-96.122 32.268 2473
+-95.996 32.268 2467
+-95.87 32.268 2457
+-95.744 32.268 2450
+-95.618 32.268 2443
+-95.492 32.268 2486
+-95.366 32.268 2459
+-95.24 32.268 2474
+-95.114 32.268 2502
+-94.988 32.268 2495
+-94.862 32.268 2445
+-94.736 32.268 2438
+-94.61 32.268 2471
+-94.484 32.268 2455
+-94.358 32.268 2439
+-94.232 32.268 2431
+-94.106 32.268 2408
+-93.98 32.268 2391
+-93.854 32.268 2384
+-93.728 32.268 2378
+-93.602 32.268 2427
+-93.476 32.268 2482
+-93.35 32.268 2550
+-93.224 32.268 2621
+-93.098 32.268 2700
+-92.972 32.268 2787
+-92.846 32.268 2825
+-92.72 32.268 2842
+-92.594 32.268 2840
+-92.468 32.268 2870
+-92.342 32.268 2843
+-92.216 32.268 2866
+-92.09 32.268 2916
+-91.964 32.268 2997
+-91.838 32.268 3066
+-91.712 32.268 3148
+-91.586 32.268 3180
+-91.46 32.268 3254
+-91.334 32.268 3311
+-91.208 32.268 3390
+-91.082 32.268 3471
+-90.956 32.268 3543
+-90.83 32.268 3574
+-90.704 32.268 3609
+-90.578 32.268 3615
+-90.452 32.268 3662
+-90.326 32.268 3665
+-90.2 32.268 3697
+-90.074 32.268 3696
+-89.948 32.268 3683
+-89.822 32.268 3683
+-89.696 32.268 3669
+-89.57 32.268 3667
+-89.444 32.268 3651
+-89.318 32.268 3661
+-89.192 32.268 3686
+-89.066 32.268 3708
+-88.94 32.268 3718
+-88.814 32.268 3725
+-88.688 32.268 3749
+-88.562 32.268 3735
+-88.436 32.268 3729
+-88.31 32.268 3710
+-88.184 32.268 3701
+-88.058 32.268 3702
+-87.932 32.268 3685
+-87.806 32.268 3672
+-87.68 32.268 3646
+-87.554 32.268 3632
+-87.428 32.268 3617
+-87.302 32.268 3570
+-87.176 32.268 3499
+-87.05 32.268 3456
+-86.924 32.268 3446
+-86.798 32.268 3434
+-86.672 32.268 3411
+-86.546 32.268 3402
+-86.42 32.268 3416
+-86.294 32.268 3449
+-86.168 32.268 3487
+-86.042 32.268 3540
+-85.916 32.268 3580
+-85.79 32.268 3610
+-85.664 32.268 3646
+-85.538 32.268 3668
+-85.412 32.268 3669
+-85.286 32.268 3743
+-85.16 32.268 3874
+-85.034 32.268 3920
+-84.908 32.268 3963
+-84.782 32.268 4066
+-84.656 32.268 4135
+-84.53 32.268 4206
+-84.404 32.268 4250
+-84.278 32.268 4368
+-84.152 32.268 4450
+-84.026 32.268 4528
+-83.9 32.268 4587
+-83.774 32.268 4621
+-83.648 32.268 4649
+-83.522 32.268 4676
+-83.396 32.268 4733
+-83.27 32.268 4804
+-83.144 32.268 4832
+-83.018 32.268 4875
+-82.892 32.268 4890
+-82.766 32.268 4869
+-82.64 32.268 4828
+-82.514 32.268 4866
+-82.388 32.268 4882
+-82.262 32.268 4872
+-82.136 32.268 4828
+-82.01 32.268 4783
+-81.884 32.268 4774
+-81.758 32.268 4761
+-81.632 32.268 4749
+-81.506 32.268 4726
+-81.38 32.268 4708
+-81.254 32.268 4674
+-81.128 32.268 4632
+-81.002 32.268 4587
+-80.876 32.268 4539
+-80.75 32.268 4512
+-80.624 32.268 4482
+-80.498 32.268 4452
+-80.372 32.268 4454
+-80.246 32.268 4400
+-80.12 32.268 4320
+-79.994 32.268 4244
+-79.868 32.268 4183
+-79.742 32.268 4197
+-79.616 32.268 4208
+-79.49 32.268 4160
+-79.364 32.268 4092
+-79.238 32.268 4029
+-79.112 32.268 3972
+-78.986 32.268 3868
+-78.86 32.268 3786
+-78.734 32.268 3678
+-78.608 32.268 3511
+-78.482 32.268 3351
+-78.356 32.268 3285
+-78.23 32.268 3325
+-78.104 32.268 3398
+-77.978 32.268 3453
+-77.852 32.268 3482
+-77.726 32.268 3495
+-77.6 32.268 3485
+-77.474 32.268 3468
+-77.348 32.268 3462
+-77.222 32.268 3455
+-77.096 32.268 3399
+-76.97 32.268 3362
+-76.844 32.268 3351
+-76.718 32.268 3348
+-76.592 32.268 3374
+-76.466 32.268 3376
+-76.34 32.268 3376
+-76.214 32.268 3333
+-76.088 32.268 3361
+-75.962 32.268 3365
+-75.836 32.268 3295
+-75.71 32.268 3297
+-75.584 32.268 3289
+-75.458 32.268 3291
+-75.332 32.268 3293
+-75.206 32.268 3270
+-75.08 32.268 3255
+-74.954 32.268 3257
+-74.828 32.268 3259
+-74.702 32.268 3260
+-74.576 32.268 3226
+-74.45 32.268 3229
+-74.324 32.268 3217
+-74.198 32.268 3219
+-74.072 32.268 3222
+-73.946 32.268 3176
+-73.82 32.268 3291
+-73.694 32.268 3268
+-73.568 32.268 3271
+-73.442 32.268 3239
+-73.316 32.268 3242
+-73.19 32.268 3246
+-73.064 32.268 3329
+-72.938 32.268 3334
+-72.812 32.268 3338
+-72.686 32.268 3342
+-72.56 32.268 3346
+-72.434 32.268 3424
+-72.308 32.268 3430
+-72.182 32.268 3369
+-72.056 32.268 3374
+-71.93 32.268 3378
+-71.804 32.268 3383
+-71.678 32.268 3385
+-71.552 32.268 3357
+-71.426 32.268 3350
+-71.3 32.268 3311
+-71.174 32.268 3314
+-71.048 32.268 3280
+-70.922 32.268 3321
+-70.796 32.268 3325
+-70.67 32.268 3329
+-70.544 32.268 3332
+-70.418 32.268 3335
+-70.292 32.268 3339
+-70.166 32.268 3342
+-70.04 32.268 3319
+-69.914 32.268 3322
+-69.788 32.268 3325
+-69.662 32.268 3299
+-69.536 32.268 3269
+-69.41 32.268 3252
+-69.284 32.268 3254
+-69.158 32.268 3256
+-69.032 32.268 3258
+-68.906 32.268 3260
+-68.78 32.268 3262
+-68.654 32.268 3264
+-68.528 32.268 3190
+-68.402 32.268 3177
+-68.276 32.268 3179
+-68.15 32.268 3181
+-68.024 32.268 3183
+-67.898 32.268 3184
+-67.772 32.268 3186
+-67.646 32.268 3188
+-67.52 32.268 3190
+-67.394 32.268 3191
+-67.268 32.268 3193
+-67.142 32.268 3194
+-67.016 32.268 3196
+-66.89 32.268 3197
+-66.764 32.268 3199
+-66.638 32.268 3200
+-66.512 32.268 3190
+-66.386 32.268 3191
+-66.26 32.268 3193
+-66.134 32.268 3194
+-66.008 32.268 3196
+-65.882 32.268 3151
+-65.756 32.268 3152
+-65.63 32.268 3153
+-65.504 32.268 3154
+-65.378 32.268 3155
+-65.252 32.268 3156
+-65.126 32.268 3161
+-128 32.216 2800
+-127.874 32.216 2796
+-127.748 32.216 2792
+-127.622 32.216 2788
+-127.496 32.216 2784
+-127.37 32.216 2779
+-127.244 32.216 2774
+-127.118 32.216 2770
+-126.992 32.216 2765
+-126.866 32.216 2759
+-126.74 32.216 2754
+-126.614 32.216 2749
+-126.488 32.216 2743
+-126.362 32.216 2737
+-126.236 32.216 2784
+-126.11 32.216 2779
+-125.984 32.216 2773
+-125.858 32.216 2766
+-125.732 32.216 2758
+-125.606 32.216 2761
+-125.48 32.216 2749
+-125.354 32.216 2735
+-125.228 32.216 2717
+-125.102 32.216 2722
+-124.976 32.216 2724
+-124.85 32.216 2676
+-124.724 32.216 2610
+-124.598 32.216 2516
+-124.472 32.216 2386
+-124.346 32.216 2218
+-124.22 32.216 2058
+-124.094 32.216 1975
+-123.968 32.216 2107
+-123.842 32.216 2405
+-123.716 32.216 2752
+-123.59 32.216 3056
+-123.464 32.216 3225
+-123.338 32.216 3326
+-123.212 32.216 3415
+-123.086 32.216 3443
+-122.96 32.216 3473
+-122.834 32.216 3507
+-122.708 32.216 3614
+-122.582 32.216 3670
+-122.456 32.216 3811
+-122.33 32.216 3920
+-122.204 32.216 4010
+-122.078 32.216 4136
+-121.952 32.216 4315
+-121.826 32.216 4338
+-121.7 32.216 4456
+-121.574 32.216 4622
+-121.448 32.216 4823
+-121.322 32.216 4954
+-121.196 32.216 5143
+-121.07 32.216 5208
+-120.944 32.216 5406
+-120.818 32.216 5535
+-120.692 32.216 5647
+-120.566 32.216 5765
+-120.44 32.216 5884
+-120.314 32.216 6016
+-120.188 32.216 6201
+-120.062 32.216 6342
+-119.936 32.216 6402
+-119.81 32.216 6579
+-119.684 32.216 6748
+-119.558 32.216 6884
+-119.432 32.216 6954
+-119.306 32.216 7118
+-119.18 32.216 7303
+-119.054 32.216 7405
+-118.928 32.216 7532
+-118.802 32.216 7617
+-118.676 32.216 7786
+-118.55 32.216 7912
+-118.424 32.216 8058
+-118.298 32.216 8172
+-118.172 32.216 8323
+-118.046 32.216 8396
+-117.92 32.216 8535
+-117.794 32.216 8644
+-117.668 32.216 8732
+-117.542 32.216 8858
+-117.416 32.216 8919
+-117.29 32.216 9007
+-117.164 32.216 9021
+-117.038 32.216 9030
+-116.912 32.216 9065
+-116.786 32.216 8985
+-116.66 32.216 8930
+-116.534 32.216 8905
+-116.408 32.216 8754
+-116.282 32.216 8640
+-116.156 32.216 8526
+-116.03 32.216 8418
+-115.904 32.216 8300
+-115.778 32.216 8190
+-115.652 32.216 8030
+-115.526 32.216 7994
+-115.4 32.216 7815
+-115.274 32.216 7705
+-115.148 32.216 7489
+-115.022 32.216 7446
+-114.896 32.216 7291
+-114.77 32.216 7183
+-114.644 32.216 7016
+-114.518 32.216 6867
+-114.392 32.216 6704
+-114.266 32.216 6550
+-114.14 32.216 6419
+-114.014 32.216 6301
+-113.888 32.216 6203
+-113.762 32.216 6044
+-113.636 32.216 5945
+-113.51 32.216 6062
+-113.384 32.216 6214
+-113.258 32.216 6324
+-113.132 32.216 6478
+-113.006 32.216 6542
+-112.88 32.216 6650
+-112.754 32.216 6805
+-112.628 32.216 6997
+-112.502 32.216 7063
+-112.376 32.216 7284
+-112.25 32.216 7344
+-112.124 32.216 7515
+-111.998 32.216 7671
+-111.872 32.216 7714
+-111.746 32.216 7870
+-111.62 32.216 7997
+-111.494 32.216 8096
+-111.368 32.216 8206
+-111.242 32.216 8347
+-111.116 32.216 8461
+-110.99 32.216 8569
+-110.864 32.216 8623
+-110.738 32.216 8717
+-110.612 32.216 8792
+-110.486 32.216 8804
+-110.36 32.216 8808
+-110.234 32.216 8769
+-110.108 32.216 8714
+-109.982 32.216 8683
+-109.856 32.216 8603
+-109.73 32.216 8513
+-109.604 32.216 8390
+-109.478 32.216 8283
+-109.352 32.216 8152
+-109.226 32.216 8048
+-109.1 32.216 7903
+-108.974 32.216 7774
+-108.848 32.216 7671
+-108.722 32.216 7552
+-108.596 32.216 7404
+-108.47 32.216 7297
+-108.344 32.216 7209
+-108.218 32.216 7079
+-108.092 32.216 6916
+-107.966 32.216 6805
+-107.84 32.216 6617
+-107.714 32.216 6531
+-107.588 32.216 6312
+-107.462 32.216 6241
+-107.336 32.216 6092
+-107.21 32.216 5946
+-107.084 32.216 5869
+-106.958 32.216 5720
+-106.832 32.216 5521
+-106.706 32.216 5484
+-106.58 32.216 5396
+-106.454 32.216 5330
+-106.328 32.216 5180
+-106.202 32.216 4995
+-106.076 32.216 4790
+-105.95 32.216 4569
+-105.824 32.216 4392
+-105.698 32.216 4327
+-105.572 32.216 4276
+-105.446 32.216 4237
+-105.32 32.216 4196
+-105.194 32.216 4166
+-105.068 32.216 4151
+-104.942 32.216 4128
+-104.816 32.216 4106
+-104.69 32.216 4105
+-104.564 32.216 4085
+-104.438 32.216 4088
+-104.312 32.216 4092
+-104.186 32.216 4096
+-104.06 32.216 4088
+-103.934 32.216 4080
+-103.808 32.216 4036
+-103.682 32.216 3955
+-103.556 32.216 3909
+-103.43 32.216 3903
+-103.304 32.216 3885
+-103.178 32.216 3857
+-103.052 32.216 3796
+-102.926 32.216 3682
+-102.8 32.216 3674
+-102.674 32.216 3628
+-102.548 32.216 3621
+-102.422 32.216 3614
+-102.296 32.216 3608
+-102.17 32.216 3603
+-102.044 32.216 3419
+-101.918 32.216 3416
+-101.792 32.216 3387
+-101.666 32.216 3384
+-101.54 32.216 3381
+-101.414 32.216 3379
+-101.288 32.216 3268
+-101.162 32.216 3266
+-101.036 32.216 3265
+-100.91 32.216 3263
+-100.784 32.216 3262
+-100.658 32.216 3261
+-100.532 32.216 3260
+-100.406 32.216 3259
+-100.28 32.216 3099
+-100.154 32.216 3086
+-100.028 32.216 2929
+-99.902 32.216 2913
+-99.776 32.216 2834
+-99.65 32.216 2817
+-99.524 32.216 2797
+-99.398 32.216 2576
+-99.272 32.216 2486
+-99.146 32.216 2469
+-99.02 32.216 2451
+-98.894 32.216 2428
+-98.768 32.216 2406
+-98.642 32.216 2454
+-98.516 32.216 2447
+-98.39 32.216 2495
+-98.264 32.216 2559
+-98.138 32.216 2569
+-98.012 32.216 2617
+-97.886 32.216 2604
+-97.76 32.216 2591
+-97.634 32.216 2577
+-97.508 32.216 2563
+-97.382 32.216 2545
+-97.256 32.216 2541
+-97.13 32.216 2525
+-97.004 32.216 2509
+-96.878 32.216 2461
+-96.752 32.216 2446
+-96.626 32.216 2473
+-96.5 32.216 2457
+-96.374 32.216 2447
+-96.248 32.216 2432
+-96.122 32.216 2423
+-95.996 32.216 2410
+-95.87 32.216 2400
+-95.744 32.216 2391
+-95.618 32.216 2431
+-95.492 32.216 2405
+-95.366 32.216 2421
+-95.24 32.216 2452
+-95.114 32.216 2450
+-94.988 32.216 2405
+-94.862 32.216 2408
+-94.736 32.216 2454
+-94.61 32.216 2452
+-94.484 32.216 2452
+-94.358 32.216 2462
+-94.232 32.216 2455
+-94.106 32.216 2449
+-93.98 32.216 2444
+-93.854 32.216 2428
+-93.728 32.216 2465
+-93.602 32.216 2498
+-93.476 32.216 2545
+-93.35 32.216 2598
+-93.224 32.216 2665
+-93.098 32.216 2749
+-92.972 32.216 2788
+-92.846 32.216 2809
+-92.72 32.216 2806
+-92.594 32.216 2781
+-92.468 32.216 2767
+-92.342 32.216 2724
+-92.216 32.216 2711
+-92.09 32.216 2769
+-91.964 32.216 2876
+-91.838 32.216 2982
+-91.712 32.216 3041
+-91.586 32.216 3066
+-91.46 32.216 3111
+-91.334 32.216 3170
+-91.208 32.216 3276
+-91.082 32.216 3389
+-90.956 32.216 3462
+-90.83 32.216 3528
+-90.704 32.216 3553
+-90.578 32.216 3582
+-90.452 32.216 3591
+-90.326 32.216 3630
+-90.2 32.216 3627
+-90.074 32.216 3606
+-89.948 32.216 3592
+-89.822 32.216 3591
+-89.696 32.216 3588
+-89.57 32.216 3590
+-89.444 32.216 3591
+-89.318 32.216 3600
+-89.192 32.216 3630
+-89.066 32.216 3668
+-88.94 32.216 3692
+-88.814 32.216 3700
+-88.688 32.216 3714
+-88.562 32.216 3701
+-88.436 32.216 3681
+-88.31 32.216 3681
+-88.184 32.216 3685
+-88.058 32.216 3675
+-87.932 32.216 3656
+-87.806 32.216 3626
+-87.68 32.216 3619
+-87.554 32.216 3595
+-87.428 32.216 3562
+-87.302 32.216 3497
+-87.176 32.216 3416
+-87.05 32.216 3369
+-86.924 32.216 3396
+-86.798 32.216 3429
+-86.672 32.216 3451
+-86.546 32.216 3454
+-86.42 32.216 3470
+-86.294 32.216 3499
+-86.168 32.216 3530
+-86.042 32.216 3568
+-85.916 32.216 3583
+-85.79 32.216 3582
+-85.664 32.216 3629
+-85.538 32.216 3702
+-85.412 32.216 3746
+-85.286 32.216 3810
+-85.16 32.216 3901
+-85.034 32.216 3948
+-84.908 32.216 4047
+-84.782 32.216 4141
+-84.656 32.216 4187
+-84.53 32.216 4255
+-84.404 32.216 4320
+-84.278 32.216 4416
+-84.152 32.216 4508
+-84.026 32.216 4599
+-83.9 32.216 4656
+-83.774 32.216 4660
+-83.648 32.216 4637
+-83.522 32.216 4705
+-83.396 32.216 4817
+-83.27 32.216 4835
+-83.144 32.216 4886
+-83.018 32.216 4922
+-82.892 32.216 4935
+-82.766 32.216 4917
+-82.64 32.216 4900
+-82.514 32.216 4918
+-82.388 32.216 4917
+-82.262 32.216 4900
+-82.136 32.216 4893
+-82.01 32.216 4874
+-81.884 32.216 4868
+-81.758 32.216 4841
+-81.632 32.216 4841
+-81.506 32.216 4812
+-81.38 32.216 4813
+-81.254 32.216 4780
+-81.128 32.216 4751
+-81.002 32.216 4700
+-80.876 32.216 4680
+-80.75 32.216 4605
+-80.624 32.216 4581
+-80.498 32.216 4560
+-80.372 32.216 4528
+-80.246 32.216 4486
+-80.12 32.216 4420
+-79.994 32.216 4367
+-79.868 32.216 4310
+-79.742 32.216 4300
+-79.616 32.216 4269
+-79.49 32.216 4217
+-79.364 32.216 4168
+-79.238 32.216 4114
+-79.112 32.216 4019
+-78.986 32.216 3956
+-78.86 32.216 3869
+-78.734 32.216 3720
+-78.608 32.216 3494
+-78.482 32.216 3302
+-78.356 32.216 3220
+-78.23 32.216 3283
+-78.104 32.216 3382
+-77.978 32.216 3446
+-77.852 32.216 3477
+-77.726 32.216 3474
+-77.6 32.216 3479
+-77.474 32.216 3471
+-77.348 32.216 3461
+-77.222 32.216 3431
+-77.096 32.216 3391
+-76.97 32.216 3385
+-76.844 32.216 3379
+-76.718 32.216 3331
+-76.592 32.216 3357
+-76.466 32.216 3357
+-76.34 32.216 3318
+-76.214 32.216 3345
+-76.088 32.216 3350
+-75.962 32.216 3284
+-75.836 32.216 3287
+-75.71 32.216 3279
+-75.584 32.216 3282
+-75.458 32.216 3284
+-75.332 32.216 3263
+-75.206 32.216 3249
+-75.08 32.216 3250
+-74.954 32.216 3252
+-74.828 32.216 3254
+-74.702 32.216 3223
+-74.576 32.216 3226
+-74.45 32.216 3214
+-74.324 32.216 3217
+-74.198 32.216 3219
+-74.072 32.216 3235
+-73.946 32.216 3286
+-73.82 32.216 3263
+-73.694 32.216 3266
+-73.568 32.216 3235
+-73.442 32.216 3238
+-73.316 32.216 3242
+-73.19 32.216 3323
+-73.064 32.216 3328
+-72.938 32.216 3332
+-72.812 32.216 3337
+-72.686 32.216 3341
+-72.56 32.216 3418
+-72.434 32.216 3424
+-72.308 32.216 3364
+-72.182 32.216 3369
+-72.056 32.216 3374
+-71.93 32.216 3378
+-71.804 32.216 3380
+-71.678 32.216 3353
+-71.552 32.216 3346
+-71.426 32.216 3307
+-71.3 32.216 3311
+-71.174 32.216 3278
+-71.048 32.216 3318
+-70.922 32.216 3322
+-70.796 32.216 3326
+-70.67 32.216 3329
+-70.544 32.216 3333
+-70.418 32.216 3336
+-70.292 32.216 3339
+-70.166 32.216 3317
+-70.04 32.216 3320
+-69.914 32.216 3323
+-69.788 32.216 3297
+-69.662 32.216 3267
+-69.536 32.216 3250
+-69.41 32.216 3253
+-69.284 32.216 3255
+-69.158 32.216 3257
+-69.032 32.216 3259
+-68.906 32.216 3261
+-68.78 32.216 3263
+-68.654 32.216 3189
+-68.528 32.216 3176
+-68.402 32.216 3178
+-68.276 32.216 3180
+-68.15 32.216 3182
+-68.024 32.216 3184
+-67.898 32.216 3185
+-67.772 32.216 3187
+-67.646 32.216 3189
+-67.52 32.216 3191
+-67.394 32.216 3192
+-67.268 32.216 3194
+-67.142 32.216 3195
+-67.016 32.216 3197
+-66.89 32.216 3198
+-66.764 32.216 3200
+-66.638 32.216 3189
+-66.512 32.216 3191
+-66.386 32.216 3192
+-66.26 32.216 3194
+-66.134 32.216 3195
+-66.008 32.216 3151
+-65.882 32.216 3152
+-65.756 32.216 3153
+-65.63 32.216 3154
+-65.504 32.216 3155
+-65.378 32.216 3156
+-65.252 32.216 3161
+-65.126 32.216 3161
+-128 32.164 2804
+-127.874 32.164 2801
+-127.748 32.164 2797
+-127.622 32.164 2793
+-127.496 32.164 2789
+-127.37 32.164 2785
+-127.244 32.164 2781
+-127.118 32.164 2776
+-126.992 32.164 2772
+-126.866 32.164 2767
+-126.74 32.164 2762
+-126.614 32.164 2757
+-126.488 32.164 2752
+-126.362 32.164 2801
+-126.236 32.164 2796
+-126.11 32.164 2791
+-125.984 32.164 2785
+-125.858 32.164 2778
+-125.732 32.164 2782
+-125.606 32.164 2772
+-125.48 32.164 2760
+-125.354 32.164 2745
+-125.228 32.164 2733
+-125.102 32.164 2706
+-124.976 32.164 2731
+-124.85 32.164 2679
+-124.724 32.164 2606
+-124.598 32.164 2502
+-124.472 32.164 2356
+-124.346 32.164 2182
+-124.22 32.164 1961
+-124.094 32.164 1849
+-123.968 32.164 1995
+-123.842 32.164 2345
+-123.716 32.164 2696
+-123.59 32.164 3004
+-123.464 32.164 3206
+-123.338 32.164 3330
+-123.212 32.164 3405
+-123.086 32.164 3512
+-122.96 32.164 3564
+-122.834 32.164 3637
+-122.708 32.164 3620
+-122.582 32.164 3551
+-122.456 32.164 3745
+-122.33 32.164 3945
+-122.204 32.164 4051
+-122.078 32.164 4184
+-121.952 32.164 4334
+-121.826 32.164 4412
+-121.7 32.164 4433
+-121.574 32.164 4617
+-121.448 32.164 4812
+-121.322 32.164 4938
+-121.196 32.164 5130
+-121.07 32.164 5255
+-120.944 32.164 5384
+-120.818 32.164 5415
+-120.692 32.164 5596
+-120.566 32.164 5770
+-120.44 32.164 5900
+-120.314 32.164 5976
+-120.188 32.164 6108
+-120.062 32.164 6288
+-119.936 32.164 6409
+-119.81 32.164 6586
+-119.684 32.164 6752
+-119.558 32.164 6895
+-119.432 32.164 6987
+-119.306 32.164 7132
+-119.18 32.164 7263
+-119.054 32.164 7400
+-118.928 32.164 7521
+-118.802 32.164 7629
+-118.676 32.164 7739
+-118.55 32.164 7900
+-118.424 32.164 8050
+-118.298 32.164 8168
+-118.172 32.164 8249
+-118.046 32.164 8367
+-117.92 32.164 8499
+-117.794 32.164 8617
+-117.668 32.164 8685
+-117.542 32.164 8819
+-117.416 32.164 8896
+-117.29 32.164 8965
+-117.164 32.164 8959
+-117.038 32.164 8989
+-116.912 32.164 8961
+-116.786 32.164 8929
+-116.66 32.164 8873
+-116.534 32.164 8869
+-116.408 32.164 8735
+-116.282 32.164 8602
+-116.156 32.164 8476
+-116.03 32.164 8392
+-115.904 32.164 8239
+-115.778 32.164 8151
+-115.652 32.164 8026
+-115.526 32.164 7884
+-115.4 32.164 7782
+-115.274 32.164 7711
+-115.148 32.164 7497
+-115.022 32.164 7394
+-114.896 32.164 7224
+-114.77 32.164 7144
+-114.644 32.164 6955
+-114.518 32.164 6866
+-114.392 32.164 6760
+-114.266 32.164 6603
+-114.14 32.164 6477
+-114.014 32.164 6327
+-113.888 32.164 6166
+-113.762 32.164 6097
+-113.636 32.164 6012
+-113.51 32.164 6036
+-113.384 32.164 6179
+-113.258 32.164 6374
+-113.132 32.164 6505
+-113.006 32.164 6561
+-112.88 32.164 6678
+-112.754 32.164 6821
+-112.628 32.164 6998
+-112.502 32.164 7126
+-112.376 32.164 7272
+-112.25 32.164 7387
+-112.124 32.164 7505
+-111.998 32.164 7609
+-111.872 32.164 7695
+-111.746 32.164 7918
+-111.62 32.164 7987
+-111.494 32.164 8099
+-111.368 32.164 8287
+-111.242 32.164 8328
+-111.116 32.164 8501
+-110.99 32.164 8626
+-110.864 32.164 8681
+-110.738 32.164 8765
+-110.612 32.164 8832
+-110.486 32.164 8863
+-110.36 32.164 8880
+-110.234 32.164 8829
+-110.108 32.164 8751
+-109.982 32.164 8685
+-109.856 32.164 8640
+-109.73 32.164 8527
+-109.604 32.164 8438
+-109.478 32.164 8318
+-109.352 32.164 8198
+-109.226 32.164 8064
+-109.1 32.164 7955
+-108.974 32.164 7830
+-108.848 32.164 7680
+-108.722 32.164 7504
+-108.596 32.164 7415
+-108.47 32.164 7301
+-108.344 32.164 7163
+-108.218 32.164 7066
+-108.092 32.164 6926
+-107.966 32.164 6784
+-107.84 32.164 6612
+-107.714 32.164 6547
+-107.588 32.164 6339
+-107.462 32.164 6184
+-107.336 32.164 6070
+-107.21 32.164 6003
+-107.084 32.164 5794
+-106.958 32.164 5787
+-106.832 32.164 5622
+-106.706 32.164 5473
+-106.58 32.164 5362
+-106.454 32.164 5327
+-106.328 32.164 5204
+-106.202 32.164 4990
+-106.076 32.164 4768
+-105.95 32.164 4592
+-105.824 32.164 4406
+-105.698 32.164 4365
+-105.572 32.164 4199
+-105.446 32.164 4208
+-105.32 32.164 4086
+-105.194 32.164 4100
+-105.068 32.164 4128
+-104.942 32.164 4139
+-104.816 32.164 4125
+-104.69 32.164 4108
+-104.564 32.164 4094
+-104.438 32.164 4099
+-104.312 32.164 4104
+-104.186 32.164 4096
+-104.06 32.164 4100
+-103.934 32.164 4091
+-103.808 32.164 4020
+-103.682 32.164 3959
+-103.556 32.164 3951
+-103.43 32.164 3905
+-103.304 32.164 3899
+-103.178 32.164 3820
+-103.052 32.164 3811
+-102.926 32.164 3803
+-102.8 32.164 3669
+-102.674 32.164 3622
+-102.548 32.164 3614
+-102.422 32.164 3607
+-102.296 32.164 3601
+-102.17 32.164 3416
+-102.044 32.164 3388
+-101.918 32.164 3384
+-101.792 32.164 3381
+-101.666 32.164 3378
+-101.54 32.164 3335
+-101.414 32.164 3263
+-101.288 32.164 3261
+-101.162 32.164 3259
+-101.036 32.164 3258
+-100.91 32.164 3257
+-100.784 32.164 3256
+-100.658 32.164 3255
+-100.532 32.164 3254
+-100.406 32.164 3254
+-100.28 32.164 3093
+-100.154 32.164 3080
+-100.028 32.164 2922
+-99.902 32.164 2862
+-99.776 32.164 2827
+-99.65 32.164 2809
+-99.524 32.164 2789
+-99.398 32.164 2570
+-99.272 32.164 2479
+-99.146 32.164 2461
+-99.02 32.164 2442
+-98.894 32.164 2418
+-98.768 32.164 2395
+-98.642 32.164 2437
+-98.516 32.164 2430
+-98.39 32.164 2477
+-98.264 32.164 2557
+-98.138 32.164 2546
+-98.012 32.164 2594
+-97.886 32.164 2580
+-97.76 32.164 2565
+-97.634 32.164 2549
+-97.508 32.164 2530
+-97.382 32.164 2524
+-97.256 32.164 2507
+-97.13 32.164 2489
+-97.004 32.164 2439
+-96.878 32.164 2421
+-96.752 32.164 2445
+-96.626 32.164 2426
+-96.5 32.164 2411
+-96.374 32.164 2393
+-96.248 32.164 2379
+-96.122 32.164 2362
+-95.996 32.164 2347
+-95.87 32.164 2334
+-95.744 32.164 2370
+-95.618 32.164 2342
+-95.492 32.164 2355
+-95.366 32.164 2385
+-95.24 32.164 2385
+-95.114 32.164 2343
+-94.988 32.164 2351
+-94.862 32.164 2406
+-94.736 32.164 2415
+-94.61 32.164 2427
+-94.484 32.164 2452
+-94.358 32.164 2459
+-94.232 32.164 2465
+-94.106 32.164 2469
+-93.98 32.164 2454
+-93.854 32.164 2489
+-93.728 32.164 2514
+-93.602 32.164 2548
+-93.476 32.164 2587
+-93.35 32.164 2644
+-93.224 32.164 2721
+-93.098 32.164 2761
+-92.972 32.164 2787
+-92.846 32.164 2794
+-92.72 32.164 2777
+-92.594 32.164 2747
+-92.468 32.164 2672
+-92.342 32.164 2611
+-92.216 32.164 2573
+-92.09 32.164 2635
+-91.964 32.164 2780
+-91.838 32.164 2920
+-91.712 32.164 2988
+-91.586 32.164 2987
+-91.46 32.164 2970
+-91.334 32.164 3029
+-91.208 32.164 3151
+-91.082 32.164 3267
+-90.956 32.164 3405
+-90.83 32.164 3464
+-90.704 32.164 3513
+-90.578 32.164 3545
+-90.452 32.164 3554
+-90.326 32.164 3592
+-90.2 32.164 3573
+-90.074 32.164 3549
+-89.948 32.164 3516
+-89.822 32.164 3506
+-89.696 32.164 3516
+-89.57 32.164 3526
+-89.444 32.164 3537
+-89.318 32.164 3538
+-89.192 32.164 3559
+-89.066 32.164 3596
+-88.94 32.164 3624
+-88.814 32.164 3635
+-88.688 32.164 3643
+-88.562 32.164 3637
+-88.436 32.164 3617
+-88.31 32.164 3613
+-88.184 32.164 3624
+-88.058 32.164 3618
+-87.932 32.164 3607
+-87.806 32.164 3585
+-87.68 32.164 3566
+-87.554 32.164 3547
+-87.428 32.164 3511
+-87.302 32.164 3453
+-87.176 32.164 3369
+-87.05 32.164 3318
+-86.924 32.164 3359
+-86.798 32.164 3417
+-86.672 32.164 3463
+-86.546 32.164 3495
+-86.42 32.164 3518
+-86.294 32.164 3543
+-86.168 32.164 3572
+-86.042 32.164 3606
+-85.916 32.164 3582
+-85.79 32.164 3532
+-85.664 32.164 3617
+-85.538 32.164 3724
+-85.412 32.164 3784
+-85.286 32.164 3845
+-85.16 32.164 3933
+-85.034 32.164 4011
+-84.908 32.164 4134
+-84.782 32.164 4182
+-84.656 32.164 4228
+-84.53 32.164 4311
+-84.404 32.164 4342
+-84.278 32.164 4453
+-84.152 32.164 4570
+-84.026 32.164 4633
+-83.9 32.164 4694
+-83.774 32.164 4743
+-83.648 32.164 4724
+-83.522 32.164 4808
+-83.396 32.164 4845
+-83.27 32.164 4799
+-83.144 32.164 4893
+-83.018 32.164 4956
+-82.892 32.164 4966
+-82.766 32.164 4966
+-82.64 32.164 4953
+-82.514 32.164 4938
+-82.388 32.164 4948
+-82.262 32.164 4938
+-82.136 32.164 4936
+-82.01 32.164 4940
+-81.884 32.164 4933
+-81.758 32.164 4936
+-81.632 32.164 4940
+-81.506 32.164 4932
+-81.38 32.164 4917
+-81.254 32.164 4894
+-81.128 32.164 4859
+-81.002 32.164 4787
+-80.876 32.164 4737
+-80.75 32.164 4692
+-80.624 32.164 4653
+-80.498 32.164 4605
+-80.372 32.164 4570
+-80.246 32.164 4537
+-80.12 32.164 4515
+-79.994 32.164 4462
+-79.868 32.164 4415
+-79.742 32.164 4393
+-79.616 32.164 4384
+-79.49 32.164 4346
+-79.364 32.164 4224
+-79.238 32.164 4157
+-79.112 32.164 4057
+-78.986 32.164 3991
+-78.86 32.164 3914
+-78.734 32.164 3788
+-78.608 32.164 3569
+-78.482 32.164 3391
+-78.356 32.164 3304
+-78.23 32.164 3340
+-78.104 32.164 3424
+-77.978 32.164 3459
+-77.852 32.164 3466
+-77.726 32.164 3476
+-77.6 32.164 3480
+-77.474 32.164 3468
+-77.348 32.164 3415
+-77.222 32.164 3372
+-77.096 32.164 3362
+-76.97 32.164 3353
+-76.844 32.164 3351
+-76.718 32.164 3376
+-76.592 32.164 3342
+-76.466 32.164 3344
+-76.34 32.164 3300
+-76.214 32.164 3331
+-76.088 32.164 3269
+-75.962 32.164 3273
+-75.836 32.164 3267
+-75.71 32.164 3271
+-75.584 32.164 3274
+-75.458 32.164 3254
+-75.332 32.164 3296
+-75.206 32.164 3300
+-75.08 32.164 3303
+-74.954 32.164 3307
+-74.828 32.164 3219
+-74.702 32.164 3275
+-74.576 32.164 3210
+-74.45 32.164 3213
+-74.324 32.164 3216
+-74.198 32.164 3230
+-74.072 32.164 3280
+-73.946 32.164 3258
+-73.82 32.164 3261
+-73.694 32.164 3230
+-73.568 32.164 3234
+-73.442 32.164 3238
+-73.316 32.164 3316
+-73.19 32.164 3321
+-73.064 32.164 3326
+-72.938 32.164 3331
+-72.812 32.164 3336
+-72.686 32.164 3411
+-72.56 32.164 3417
+-72.434 32.164 3359
+-72.308 32.164 3364
+-72.182 32.164 3369
+-72.056 32.164 3374
+-71.93 32.164 3376
+-71.804 32.164 3349
+-71.678 32.164 3342
+-71.552 32.164 3304
+-71.426 32.164 3308
+-71.3 32.164 3275
+-71.174 32.164 3315
+-71.048 32.164 3319
+-70.922 32.164 3323
+-70.796 32.164 3327
+-70.67 32.164 3330
+-70.544 32.164 3334
+-70.418 32.164 3337
+-70.292 32.164 3315
+-70.166 32.164 3318
+-70.04 32.164 3321
+-69.914 32.164 3295
+-69.788 32.164 3266
+-69.662 32.164 3249
+-69.536 32.164 3251
+-69.41 32.164 3253
+-69.284 32.164 3256
+-69.158 32.164 3258
+-69.032 32.164 3260
+-68.906 32.164 3262
+-68.78 32.164 3188
+-68.654 32.164 3175
+-68.528 32.164 3177
+-68.402 32.164 3179
+-68.276 32.164 3181
+-68.15 32.164 3183
+-68.024 32.164 3185
+-67.898 32.164 3186
+-67.772 32.164 3188
+-67.646 32.164 3190
+-67.52 32.164 3192
+-67.394 32.164 3193
+-67.268 32.164 3195
+-67.142 32.164 3196
+-67.016 32.164 3198
+-66.89 32.164 3199
+-66.764 32.164 3188
+-66.638 32.164 3190
+-66.512 32.164 3192
+-66.386 32.164 3193
+-66.26 32.164 3195
+-66.134 32.164 3150
+-66.008 32.164 3152
+-65.882 32.164 3153
+-65.756 32.164 3154
+-65.63 32.164 3155
+-65.504 32.164 3156
+-65.378 32.164 3160
+-65.252 32.164 3161
+-65.126 32.164 3135
+-128 32.112 2809
+-127.874 32.112 2805
+-127.748 32.112 2802
+-127.622 32.112 2798
+-127.496 32.112 2794
+-127.37 32.112 2791
+-127.244 32.112 2787
+-127.118 32.112 2783
+-126.992 32.112 2778
+-126.866 32.112 2774
+-126.74 32.112 2770
+-126.614 32.112 2765
+-126.488 32.112 2816
+-126.362 32.112 2811
+-126.236 32.112 2807
+-126.11 32.112 2802
+-125.984 32.112 2796
+-125.858 32.112 2790
+-125.732 32.112 2803
+-125.606 32.112 2794
+-125.48 32.112 2781
+-125.354 32.112 2766
+-125.228 32.112 2746
+-125.102 32.112 2719
+-124.976 32.112 2683
+-124.85 32.112 2695
+-124.724 32.112 2624
+-124.598 32.112 2525
+-124.472 32.112 2424
+-124.346 32.112 2240
+-124.22 32.112 2063
+-124.094 32.112 1977
+-123.968 32.112 2114
+-123.842 32.112 2418
+-123.716 32.112 2732
+-123.59 32.112 2993
+-123.464 32.112 3180
+-123.338 32.112 3348
+-123.212 32.112 3447
+-123.086 32.112 3515
+-122.96 32.112 3582
+-122.834 32.112 3701
+-122.708 32.112 3681
+-122.582 32.112 3665
+-122.456 32.112 3795
+-122.33 32.112 3948
+-122.204 32.112 4110
+-122.078 32.112 4216
+-121.952 32.112 4344
+-121.826 32.112 4448
+-121.7 32.112 4521
+-121.574 32.112 4707
+-121.448 32.112 4814
+-121.322 32.112 4908
+-121.196 32.112 5087
+-121.07 32.112 5229
+-120.944 32.112 5345
+-120.818 32.112 5476
+-120.692 32.112 5598
+-120.566 32.112 5739
+-120.44 32.112 5900
+-120.314 32.112 5958
+-120.188 32.112 6098
+-120.062 32.112 6233
+-119.936 32.112 6416
+-119.81 32.112 6603
+-119.684 32.112 6719
+-119.558 32.112 6837
+-119.432 32.112 6970
+-119.306 32.112 7016
+-119.18 32.112 7163
+-119.054 32.112 7333
+-118.928 32.112 7477
+-118.802 32.112 7634
+-118.676 32.112 7766
+-118.55 32.112 7872
+-118.424 32.112 7979
+-118.298 32.112 8122
+-118.172 32.112 8265
+-118.046 32.112 8359
+-117.92 32.112 8495
+-117.794 32.112 8601
+-117.668 32.112 8692
+-117.542 32.112 8726
+-117.416 32.112 8817
+-117.29 32.112 8862
+-117.164 32.112 8915
+-117.038 32.112 8916
+-116.912 32.112 8933
+-116.786 32.112 8906
+-116.66 32.112 8844
+-116.534 32.112 8728
+-116.408 32.112 8688
+-116.282 32.112 8636
+-116.156 32.112 8515
+-116.03 32.112 8372
+-115.904 32.112 8259
+-115.778 32.112 8104
+-115.652 32.112 8067
+-115.526 32.112 7900
+-115.4 32.112 7760
+-115.274 32.112 7575
+-115.148 32.112 7474
+-115.022 32.112 7365
+-114.896 32.112 7267
+-114.77 32.112 7106
+-114.644 32.112 6939
+-114.518 32.112 6885
+-114.392 32.112 6722
+-114.266 32.112 6525
+-114.14 32.112 6440
+-114.014 32.112 6339
+-113.888 32.112 6139
+-113.762 32.112 6029
+-113.636 32.112 5877
+-113.51 32.112 6047
+-113.384 32.112 6177
+-113.258 32.112 6380
+-113.132 32.112 6515
+-113.006 32.112 6622
+-112.88 32.112 6706
+-112.754 32.112 6907
+-112.628 32.112 6962
+-112.502 32.112 7125
+-112.376 32.112 7274
+-112.25 32.112 7365
+-112.124 32.112 7574
+-111.998 32.112 7628
+-111.872 32.112 7769
+-111.746 32.112 7918
+-111.62 32.112 8040
+-111.494 32.112 8136
+-111.368 32.112 8302
+-111.242 32.112 8425
+-111.116 32.112 8571
+-110.99 32.112 8660
+-110.864 32.112 8764
+-110.738 32.112 8830
+-110.612 32.112 8843
+-110.486 32.112 8945
+-110.36 32.112 8899
+-110.234 32.112 8886
+-110.108 32.112 8812
+-109.982 32.112 8710
+-109.856 32.112 8717
+-109.73 32.112 8578
+-109.604 32.112 8460
+-109.478 32.112 8340
+-109.352 32.112 8255
+-109.226 32.112 8045
+-109.1 32.112 7981
+-108.974 32.112 7853
+-108.848 32.112 7705
+-108.722 32.112 7581
+-108.596 32.112 7407
+-108.47 32.112 7341
+-108.344 32.112 7213
+-108.218 32.112 7070
+-108.092 32.112 6945
+-107.966 32.112 6819
+-107.84 32.112 6697
+-107.714 32.112 6585
+-107.588 32.112 6368
+-107.462 32.112 6243
+-107.336 32.112 6082
+-107.21 32.112 6017
+-107.084 32.112 5922
+-106.958 32.112 5807
+-106.832 32.112 5663
+-106.706 32.112 5472
+-106.58 32.112 5281
+-106.454 32.112 5313
+-106.328 32.112 5174
+-106.202 32.112 4990
+-106.076 32.112 4805
+-105.95 32.112 4625
+-105.824 32.112 4461
+-105.698 32.112 4360
+-105.572 32.112 4279
+-105.446 32.112 4144
+-105.32 32.112 3928
+-105.194 32.112 4039
+-105.068 32.112 4092
+-104.942 32.112 4110
+-104.816 32.112 4109
+-104.69 32.112 4127
+-104.564 32.112 4116
+-104.438 32.112 4112
+-104.312 32.112 4106
+-104.186 32.112 4112
+-104.06 32.112 4044
+-103.934 32.112 4026
+-103.808 32.112 4020
+-103.682 32.112 4014
+-103.556 32.112 3959
+-103.43 32.112 3904
+-103.304 32.112 3822
+-103.178 32.112 3811
+-103.052 32.112 3801
+-102.926 32.112 3752
+-102.8 32.112 3660
+-102.674 32.112 3629
+-102.548 32.112 3622
+-102.422 32.112 3612
+-102.296 32.112 3412
+-102.17 32.112 3384
+-102.044 32.112 3380
+-101.918 32.112 3376
+-101.792 32.112 3373
+-101.666 32.112 3330
+-101.54 32.112 3256
+-101.414 32.112 3255
+-101.288 32.112 3253
+-101.162 32.112 3252
+-101.036 32.112 3251
+-100.91 32.112 3250
+-100.784 32.112 3249
+-100.658 32.112 3249
+-100.532 32.112 3248
+-100.406 32.112 3168
+-100.28 32.112 3020
+-100.154 32.112 2945
+-100.028 32.112 2931
+-99.902 32.112 2854
+-99.776 32.112 2820
+-99.65 32.112 2802
+-99.524 32.112 2782
+-99.398 32.112 2563
+-99.272 32.112 2470
+-99.146 32.112 2453
+-99.02 32.112 2433
+-98.894 32.112 2407
+-98.768 32.112 2384
+-98.642 32.112 2420
+-98.516 32.112 2401
+-98.39 32.112 2403
+-98.264 32.112 2536
+-98.138 32.112 2523
+-98.012 32.112 2501
+-97.886 32.112 2555
+-97.76 32.112 2538
+-97.634 32.112 2518
+-97.508 32.112 2510
+-97.382 32.112 2491
+-97.256 32.112 2471
+-97.13 32.112 2419
+-97.004 32.112 2399
+-96.878 32.112 2420
+-96.752 32.112 2397
+-96.626 32.112 2379
+-96.5 32.112 2356
+-96.374 32.112 2338
+-96.248 32.112 2315
+-96.122 32.112 2295
+-95.996 32.112 2276
+-95.87 32.112 2304
+-95.744 32.112 2272
+-95.618 32.112 2279
+-95.492 32.112 2304
+-95.366 32.112 2303
+-95.24 32.112 2261
+-95.114 32.112 2270
+-94.988 32.112 2329
+-94.862 32.112 2345
+-94.736 32.112 2366
+-94.61 32.112 2403
+-94.484 32.112 2423
+-94.358 32.112 2441
+-94.232 32.112 2456
+-94.106 32.112 2448
+-93.98 32.112 2490
+-93.854 32.112 2514
+-93.728 32.112 2544
+-93.602 32.112 2574
+-93.476 32.112 2626
+-93.35 32.112 2700
+-93.224 32.112 2738
+-93.098 32.112 2768
+-92.972 32.112 2786
+-92.846 32.112 2785
+-92.72 32.112 2777
+-92.594 32.112 2718
+-92.468 32.112 2641
+-92.342 32.112 2558
+-92.216 32.112 2516
+-92.09 32.112 2575
+-91.964 32.112 2727
+-91.838 32.112 2880
+-91.712 32.112 2962
+-91.586 32.112 2955
+-91.46 32.112 2928
+-91.334 32.112 2976
+-91.208 32.112 3099
+-91.082 32.112 3220
+-90.956 32.112 3324
+-90.83 32.112 3383
+-90.704 32.112 3477
+-90.578 32.112 3502
+-90.452 32.112 3517
+-90.326 32.112 3518
+-90.2 32.112 3532
+-90.074 32.112 3481
+-89.948 32.112 3443
+-89.822 32.112 3423
+-89.696 32.112 3461
+-89.57 32.112 3487
+-89.444 32.112 3493
+-89.318 32.112 3514
+-89.192 32.112 3525
+-89.066 32.112 3542
+-88.94 32.112 3551
+-88.814 32.112 3553
+-88.688 32.112 3565
+-88.562 32.112 3567
+-88.436 32.112 3546
+-88.31 32.112 3523
+-88.184 32.112 3537
+-88.058 32.112 3560
+-87.932 32.112 3552
+-87.806 32.112 3524
+-87.68 32.112 3501
+-87.554 32.112 3488
+-87.428 32.112 3468
+-87.302 32.112 3437
+-87.176 32.112 3389
+-87.05 32.112 3357
+-86.924 32.112 3381
+-86.798 32.112 3425
+-86.672 32.112 3476
+-86.546 32.112 3517
+-86.42 32.112 3544
+-86.294 32.112 3575
+-86.168 32.112 3603
+-86.042 32.112 3625
+-85.916 32.112 3625
+-85.79 32.112 3614
+-85.664 32.112 3692
+-85.538 32.112 3769
+-85.412 32.112 3807
+-85.286 32.112 3870
+-85.16 32.112 3979
+-85.034 32.112 4061
+-84.908 32.112 4155
+-84.782 32.112 4198
+-84.656 32.112 4286
+-84.53 32.112 4332
+-84.404 32.112 4369
+-84.278 32.112 4513
+-84.152 32.112 4628
+-84.026 32.112 4711
+-83.9 32.112 4782
+-83.774 32.112 4829
+-83.648 32.112 4854
+-83.522 32.112 4891
+-83.396 32.112 4903
+-83.27 32.112 4898
+-83.144 32.112 4950
+-83.018 32.112 4977
+-82.892 32.112 4948
+-82.766 32.112 4988
+-82.64 32.112 4986
+-82.514 32.112 4974
+-82.388 32.112 4974
+-82.262 32.112 4992
+-82.136 32.112 5009
+-82.01 32.112 5020
+-81.884 32.112 5005
+-81.758 32.112 5014
+-81.632 32.112 5022
+-81.506 32.112 5027
+-81.38 32.112 5019
+-81.254 32.112 4987
+-81.128 32.112 4936
+-81.002 32.112 4900
+-80.876 32.112 4826
+-80.75 32.112 4746
+-80.624 32.112 4705
+-80.498 32.112 4647
+-80.372 32.112 4576
+-80.246 32.112 4513
+-80.12 32.112 4541
+-79.994 32.112 4503
+-79.868 32.112 4437
+-79.742 32.112 4389
+-79.616 32.112 4395
+-79.49 32.112 4380
+-79.364 32.112 4311
+-79.238 32.112 4236
+-79.112 32.112 4133
+-78.986 32.112 4005
+-78.86 32.112 3957
+-78.734 32.112 3864
+-78.608 32.112 3678
+-78.482 32.112 3549
+-78.356 32.112 3471
+-78.23 32.112 3463
+-78.104 32.112 3488
+-77.978 32.112 3489
+-77.852 32.112 3486
+-77.726 32.112 3473
+-77.6 32.112 3455
+-77.474 32.112 3436
+-77.348 32.112 3354
+-77.222 32.112 3337
+-77.096 32.112 3322
+-76.97 32.112 3317
+-76.844 32.112 3337
+-76.718 32.112 3307
+-76.592 32.112 3311
+-76.466 32.112 3320
+-76.34 32.112 3270
+-76.214 32.112 3301
+-76.088 32.112 3299
+-75.962 32.112 3307
+-75.836 32.112 3314
+-75.71 32.112 3320
+-75.584 32.112 3301
+-75.458 32.112 3283
+-75.332 32.112 3287
+-75.206 32.112 3291
+-75.08 32.112 3295
+-74.954 32.112 3213
+-74.828 32.112 3267
+-74.702 32.112 3205
+-74.576 32.112 3209
+-74.45 32.112 3212
+-74.324 32.112 3225
+-74.198 32.112 3274
+-74.072 32.112 3252
+-73.946 32.112 3256
+-73.82 32.112 3225
+-73.694 32.112 3229
+-73.568 32.112 3233
+-73.442 32.112 3309
+-73.316 32.112 3315
+-73.19 32.112 3320
+-73.064 32.112 3325
+-72.938 32.112 3330
+-72.812 32.112 3404
+-72.686 32.112 3411
+-72.56 32.112 3353
+-72.434 32.112 3359
+-72.308 32.112 3364
+-72.182 32.112 3369
+-72.056 32.112 3371
+-71.93 32.112 3345
+-71.804 32.112 3338
+-71.678 32.112 3301
+-71.552 32.112 3305
+-71.426 32.112 3272
+-71.3 32.112 3312
+-71.174 32.112 3316
+-71.048 32.112 3320
+-70.922 32.112 3324
+-70.796 32.112 3328
+-70.67 32.112 3331
+-70.544 32.112 3335
+-70.418 32.112 3312
+-70.292 32.112 3316
+-70.166 32.112 3319
+-70.04 32.112 3294
+-69.914 32.112 3264
+-69.788 32.112 3248
+-69.662 32.112 3250
+-69.536 32.112 3252
+-69.41 32.112 3254
+-69.284 32.112 3257
+-69.158 32.112 3259
+-69.032 32.112 3261
+-68.906 32.112 3187
+-68.78 32.112 3174
+-68.654 32.112 3176
+-68.528 32.112 3178
+-68.402 32.112 3180
+-68.276 32.112 3182
+-68.15 32.112 3184
+-68.024 32.112 3186
+-67.898 32.112 3188
+-67.772 32.112 3189
+-67.646 32.112 3191
+-67.52 32.112 3193
+-67.394 32.112 3194
+-67.268 32.112 3196
+-67.142 32.112 3197
+-67.016 32.112 3199
+-66.89 32.112 3188
+-66.764 32.112 3190
+-66.638 32.112 3191
+-66.512 32.112 3193
+-66.386 32.112 3195
+-66.26 32.112 3150
+-66.134 32.112 3151
+-66.008 32.112 3153
+-65.882 32.112 3154
+-65.756 32.112 3155
+-65.63 32.112 3156
+-65.504 32.112 3160
+-65.378 32.112 3161
+-65.252 32.112 3135
+-65.126 32.112 3121
+-128 32.06 2813
+-127.874 32.06 2810
+-127.748 32.06 2806
+-127.622 32.06 2803
+-127.496 32.06 2800
+-127.37 32.06 2796
+-127.244 32.06 2793
+-127.118 32.06 2789
+-126.992 32.06 2785
+-126.866 32.06 2781
+-126.74 32.06 2777
+-126.614 32.06 2760
+-126.488 32.06 2825
+-126.362 32.06 2846
+-126.236 32.06 2841
+-126.11 32.06 2836
+-125.984 32.06 2831
+-125.858 32.06 2824
+-125.732 32.06 2816
+-125.606 32.06 2807
+-125.48 32.06 2795
+-125.354 32.06 2780
+-125.228 32.06 2761
+-125.102 32.06 2737
+-124.976 32.06 2704
+-124.85 32.06 2660
+-124.724 32.06 2661
+-124.598 32.06 2626
+-124.472 32.06 2512
+-124.346 32.06 2406
+-124.22 32.06 2287
+-124.094 32.06 2259
+-123.968 32.06 2370
+-123.842 32.06 2588
+-123.716 32.06 2820
+-123.59 32.06 3042
+-123.464 32.06 3185
+-123.338 32.06 3326
+-123.212 32.06 3476
+-123.086 32.06 3568
+-122.96 32.06 3610
+-122.834 32.06 3707
+-122.708 32.06 3753
+-122.582 32.06 3790
+-122.456 32.06 3859
+-122.33 32.06 3959
+-122.204 32.06 4095
+-122.078 32.06 4240
+-121.952 32.06 4368
+-121.826 32.06 4482
+-121.7 32.06 4635
+-121.574 32.06 4748
+-121.448 32.06 4839
+-121.322 32.06 4879
+-121.196 32.06 5050
+-121.07 32.06 5103
+-120.944 32.06 5232
+-120.818 32.06 5367
+-120.692 32.06 5579
+-120.566 32.06 5733
+-120.44 32.06 5791
+-120.314 32.06 6032
+-120.188 32.06 6074
+-120.062 32.06 6260
+-119.936 32.06 6458
+-119.81 32.06 6471
+-119.684 32.06 6626
+-119.558 32.06 6814
+-119.432 32.06 6932
+-119.306 32.06 7070
+-119.18 32.06 7205
+-119.054 32.06 7352
+-118.928 32.06 7479
+-118.802 32.06 7601
+-118.676 32.06 7727
+-118.55 32.06 7841
+-118.424 32.06 7965
+-118.298 32.06 8070
+-118.172 32.06 8207
+-118.046 32.06 8318
+-117.92 32.06 8434
+-117.794 32.06 8531
+-117.668 32.06 8603
+-117.542 32.06 8692
+-117.416 32.06 8759
+-117.29 32.06 8816
+-117.164 32.06 8862
+-117.038 32.06 8866
+-116.912 32.06 8864
+-116.786 32.06 8839
+-116.66 32.06 8791
+-116.534 32.06 8725
+-116.408 32.06 8632
+-116.282 32.06 8545
+-116.156 32.06 8429
+-116.03 32.06 8314
+-115.904 32.06 8218
+-115.778 32.06 8066
+-115.652 32.06 7964
+-115.526 32.06 7906
+-115.4 32.06 7719
+-115.274 32.06 7623
+-115.148 32.06 7424
+-115.022 32.06 7334
+-114.896 32.06 7201
+-114.77 32.06 7049
+-114.644 32.06 6947
+-114.518 32.06 6769
+-114.392 32.06 6695
+-114.266 32.06 6505
+-114.14 32.06 6437
+-114.014 32.06 6281
+-113.888 32.06 6124
+-113.762 32.06 6004
+-113.636 32.06 5935
+-113.51 32.06 6064
+-113.384 32.06 6204
+-113.258 32.06 6368
+-113.132 32.06 6513
+-113.006 32.06 6599
+-112.88 32.06 6713
+-112.754 32.06 6898
+-112.628 32.06 6958
+-112.502 32.06 7111
+-112.376 32.06 7272
+-112.25 32.06 7385
+-112.124 32.06 7542
+-111.998 32.06 7653
+-111.872 32.06 7814
+-111.746 32.06 7943
+-111.62 32.06 8051
+-111.494 32.06 8182
+-111.368 32.06 8314
+-111.242 32.06 8427
+-111.116 32.06 8605
+-110.99 32.06 8641
+-110.864 32.06 8790
+-110.738 32.06 8845
+-110.612 32.06 8948
+-110.486 32.06 8967
+-110.36 32.06 8937
+-110.234 32.06 8949
+-110.108 32.06 8866
+-109.982 32.06 8767
+-109.856 32.06 8697
+-109.73 32.06 8646
+-109.604 32.06 8503
+-109.478 32.06 8401
+-109.352 32.06 8293
+-109.226 32.06 8126
+-109.1 32.06 8049
+-108.974 32.06 7834
+-108.848 32.06 7724
+-108.722 32.06 7602
+-108.596 32.06 7466
+-108.47 32.06 7288
+-108.344 32.06 7219
+-108.218 32.06 7088
+-108.092 32.06 6963
+-107.966 32.06 6863
+-107.84 32.06 6733
+-107.714 32.06 6586
+-107.588 32.06 6379
+-107.462 32.06 6197
+-107.336 32.06 6082
+-107.21 32.06 5999
+-107.084 32.06 5926
+-106.958 32.06 5813
+-106.832 32.06 5690
+-106.706 32.06 5505
+-106.58 32.06 5363
+-106.454 32.06 5275
+-106.328 32.06 5094
+-106.202 32.06 5004
+-106.076 32.06 4822
+-105.95 32.06 4690
+-105.824 32.06 4551
+-105.698 32.06 4439
+-105.572 32.06 4329
+-105.446 32.06 4204
+-105.32 32.06 4081
+-105.194 32.06 4069
+-105.068 32.06 4052
+-104.942 32.06 4045
+-104.816 32.06 4069
+-104.69 32.06 4108
+-104.564 32.06 4125
+-104.438 32.06 4130
+-104.312 32.06 4118
+-104.186 32.06 4061
+-104.06 32.06 4031
+-103.934 32.06 4024
+-103.808 32.06 4003
+-103.682 32.06 3995
+-103.556 32.06 3914
+-103.43 32.06 3870
+-103.304 32.06 3809
+-103.178 32.06 3797
+-103.052 32.06 3748
+-102.926 32.06 3738
+-102.8 32.06 3729
+-102.674 32.06 3640
+-102.548 32.06 3606
+-102.422 32.06 3600
+-102.296 32.06 3420
+-102.17 32.06 3385
+-102.044 32.06 3382
+-101.918 32.06 3367
+-101.792 32.06 3323
+-101.666 32.06 3249
+-101.54 32.06 3247
+-101.414 32.06 3246
+-101.288 32.06 3245
+-101.162 32.06 3244
+-101.036 32.06 3243
+-100.91 32.06 3243
+-100.784 32.06 3242
+-100.658 32.06 3242
+-100.532 32.06 3162
+-100.406 32.06 3161
+-100.28 32.06 3012
+-100.154 32.06 2938
+-100.028 32.06 2923
+-99.902 32.06 2847
+-99.776 32.06 2812
+-99.65 32.06 2794
+-99.524 32.06 2774
+-99.398 32.06 2556
+-99.272 32.06 2463
+-99.146 32.06 2445
+-99.02 32.06 2425
+-98.894 32.06 2397
+-98.768 32.06 2373
+-98.642 32.06 2380
+-98.516 32.06 2395
+-98.39 32.06 2385
+-98.264 32.06 2514
+-98.138 32.06 2491
+-98.012 32.06 2477
+-97.886 32.06 2530
+-97.76 32.06 2508
+-97.634 32.06 2499
+-97.508 32.06 2479
+-97.382 32.06 2457
+-97.256 32.06 2403
+-97.13 32.06 2381
+-97.004 32.06 2399
+-96.878 32.06 2373
+-96.752 32.06 2352
+-96.626 32.06 2324
+-96.5 32.06 2301
+-96.374 32.06 2273
+-96.248 32.06 2246
+-96.122 32.06 2220
+-95.996 32.06 2240
+-95.87 32.06 2200
+-95.744 32.06 2199
+-95.618 32.06 2215
+-95.492 32.06 2208
+-95.366 32.06 2162
+-95.24 32.06 2168
+-95.114 32.06 2224
+-94.988 32.06 2243
+-94.862 32.06 2270
+-94.736 32.06 2316
+-94.61 32.06 2346
+-94.484 32.06 2377
+-94.358 32.06 2404
+-94.232 32.06 2407
+-94.106 32.06 2459
+-93.98 32.06 2490
+-93.854 32.06 2523
+-93.728 32.06 2553
+-93.602 32.06 2604
+-93.476 32.06 2676
+-93.35 32.06 2714
+-93.224 32.06 2748
+-93.098 32.06 2773
+-92.972 32.06 2786
+-92.846 32.06 2802
+-92.72 32.06 2769
+-92.594 32.06 2705
+-92.468 32.06 2646
+-92.342 32.06 2586
+-92.216 32.06 2564
+-92.09 32.06 2617
+-91.964 32.06 2748
+-91.838 32.06 2889
+-91.712 32.06 2949
+-91.586 32.06 2958
+-91.46 32.06 2956
+-91.334 32.06 3000
+-91.208 32.06 3083
+-91.082 32.06 3183
+-90.956 32.06 3281
+-90.83 32.06 3348
+-90.704 32.06 3391
+-90.578 32.06 3425
+-90.452 32.06 3449
+-90.326 32.06 3455
+-90.2 32.06 3481
+-90.074 32.06 3455
+-89.948 32.06 3412
+-89.822 32.06 3379
+-89.696 32.06 3426
+-89.57 32.06 3462
+-89.444 32.06 3446
+-89.318 32.06 3488
+-89.192 32.06 3504
+-89.066 32.06 3501
+-88.94 32.06 3479
+-88.814 32.06 3458
+-88.688 32.06 3486
+-88.562 32.06 3510
+-88.436 32.06 3499
+-88.31 32.06 3477
+-88.184 32.06 3493
+-88.058 32.06 3504
+-87.932 32.06 3478
+-87.806 32.06 3437
+-87.68 32.06 3406
+-87.554 32.06 3407
+-87.428 32.06 3413
+-87.302 32.06 3416
+-87.176 32.06 3418
+-87.05 32.06 3400
+-86.924 32.06 3410
+-86.798 32.06 3456
+-86.672 32.06 3498
+-86.546 32.06 3554
+-86.42 32.06 3583
+-86.294 32.06 3613
+-86.168 32.06 3631
+-86.042 32.06 3652
+-85.916 32.06 3677
+-85.79 32.06 3709
+-85.664 32.06 3761
+-85.538 32.06 3781
+-85.412 32.06 3820
+-85.286 32.06 3924
+-85.16 32.06 4043
+-85.034 32.06 4118
+-84.908 32.06 4191
+-84.782 32.06 4248
+-84.656 32.06 4336
+-84.53 32.06 4374
+-84.404 32.06 4449
+-84.278 32.06 4586
+-84.152 32.06 4701
+-84.026 32.06 4762
+-83.9 32.06 4778
+-83.774 32.06 4844
+-83.648 32.06 4900
+-83.522 32.06 4944
+-83.396 32.06 4966
+-83.27 32.06 4977
+-83.144 32.06 4990
+-83.018 32.06 4972
+-82.892 32.06 5023
+-82.766 32.06 5023
+-82.64 32.06 5019
+-82.514 32.06 5011
+-82.388 32.06 5010
+-82.262 32.06 5051
+-82.136 32.06 5083
+-82.01 32.06 5081
+-81.884 32.06 5070
+-81.758 32.06 5085
+-81.632 32.06 5087
+-81.506 32.06 5084
+-81.38 32.06 5080
+-81.254 32.06 5050
+-81.128 32.06 5012
+-81.002 32.06 4986
+-80.876 32.06 4936
+-80.75 32.06 4831
+-80.624 32.06 4764
+-80.498 32.06 4702
+-80.372 32.06 4657
+-80.246 32.06 4603
+-80.12 32.06 4587
+-79.994 32.06 4532
+-79.868 32.06 4429
+-79.742 32.06 4330
+-79.616 32.06 4401
+-79.49 32.06 4410
+-79.364 32.06 4331
+-79.238 32.06 4217
+-79.112 32.06 4063
+-78.986 32.06 3988
+-78.86 32.06 3995
+-78.734 32.06 3984
+-78.608 32.06 3787
+-78.482 32.06 3690
+-78.356 32.06 3615
+-78.23 32.06 3560
+-78.104 32.06 3523
+-77.978 32.06 3498
+-77.852 32.06 3470
+-77.726 32.06 3444
+-77.6 32.06 3419
+-77.474 32.06 3338
+-77.348 32.06 3330
+-77.222 32.06 3288
+-77.096 32.06 3293
+-76.97 32.06 3290
+-76.844 32.06 3263
+-76.718 32.06 3268
+-76.592 32.06 3280
+-76.466 32.06 3239
+-76.34 32.06 3271
+-76.214 32.06 3273
+-76.088 32.06 3283
+-75.962 32.06 3293
+-75.836 32.06 3301
+-75.71 32.06 3284
+-75.584 32.06 3268
+-75.458 32.06 3273
+-75.332 32.06 3278
+-75.206 32.06 3283
+-75.08 32.06 3287
+-74.954 32.06 3259
+-74.828 32.06 3200
+-74.702 32.06 3263
+-74.576 32.06 3269
+-74.45 32.06 3218
+-74.324 32.06 3266
+-74.198 32.06 3246
+-74.072 32.06 3250
+-73.946 32.06 3220
+-73.82 32.06 3224
+-73.694 32.06 3228
+-73.568 32.06 3302
+-73.442 32.06 3308
+-73.316 32.06 3313
+-73.19 32.06 3319
+-73.064 32.06 3324
+-72.938 32.06 3396
+-72.812 32.06 3403
+-72.686 32.06 3347
+-72.56 32.06 3353
+-72.434 32.06 3359
+-72.308 32.06 3364
+-72.182 32.06 3366
+-72.056 32.06 3341
+-71.93 32.06 3334
+-71.804 32.06 3297
+-71.678 32.06 3301
+-71.552 32.06 3268
+-71.426 32.06 3309
+-71.3 32.06 3313
+-71.174 32.06 3317
+-71.048 32.06 3321
+-70.922 32.06 3325
+-70.796 32.06 3329
+-70.67 32.06 3333
+-70.544 32.06 3310
+-70.418 32.06 3314
+-70.292 32.06 3317
+-70.166 32.06 3292
+-70.04 32.06 3263
+-69.914 32.06 3246
+-69.788 32.06 3249
+-69.662 32.06 3251
+-69.536 32.06 3253
+-69.41 32.06 3255
+-69.284 32.06 3258
+-69.158 32.06 3260
+-69.032 32.06 3186
+-68.906 32.06 3173
+-68.78 32.06 3175
+-68.654 32.06 3177
+-68.528 32.06 3179
+-68.402 32.06 3181
+-68.276 32.06 3183
+-68.15 32.06 3185
+-68.024 32.06 3187
+-67.898 32.06 3189
+-67.772 32.06 3191
+-67.646 32.06 3192
+-67.52 32.06 3194
+-67.394 32.06 3195
+-67.268 32.06 3197
+-67.142 32.06 3199
+-67.016 32.06 3187
+-66.89 32.06 3189
+-66.764 32.06 3191
+-66.638 32.06 3193
+-66.512 32.06 3194
+-66.386 32.06 3150
+-66.26 32.06 3151
+-66.134 32.06 3152
+-66.008 32.06 3153
+-65.882 32.06 3155
+-65.756 32.06 3156
+-65.63 32.06 3160
+-65.504 32.06 3160
+-65.378 32.06 3134
+-65.252 32.06 3121
+-65.126 32.06 3122
+-128 32.008 2800
+-127.874 32.008 2798
+-127.748 32.008 2795
+-127.622 32.008 2792
+-127.496 32.008 2789
+-127.37 32.008 2787
+-127.244 32.008 2784
+-127.118 32.008 2781
+-126.992 32.008 2778
+-126.866 32.008 2775
+-126.74 32.008 2771
+-126.614 32.008 2768
+-126.488 32.008 2764
+-126.362 32.008 2856
+-126.236 32.008 2852
+-126.11 32.008 2847
+-125.984 32.008 2842
+-125.858 32.008 2836
+-125.732 32.008 2829
+-125.606 32.008 2820
+-125.48 32.008 2810
+-125.354 32.008 2796
+-125.228 32.008 2780
+-125.102 32.008 2758
+-124.976 32.008 2730
+-124.85 32.008 2728
+-124.724 32.008 2742
+-124.598 32.008 2678
+-124.472 32.008 2656
+-124.346 32.008 2575
+-124.22 32.008 2519
+-124.094 32.008 2536
+-123.968 32.008 2621
+-123.842 32.008 2765
+-123.716 32.008 2923
+-123.59 32.008 3098
+-123.464 32.008 3245
+-123.338 32.008 3337
+-123.212 32.008 3448
+-123.086 32.008 3577
+-122.96 32.008 3630
+-122.834 32.008 3674
+-122.708 32.008 3776
+-122.582 32.008 3802
+-122.456 32.008 3868
+-122.33 32.008 3945
+-122.204 32.008 4057
+-122.078 32.008 4208
+-121.952 32.008 4349
+-121.826 32.008 4501
+-121.7 32.008 4634
+-121.574 32.008 4718
+-121.448 32.008 4842
+-121.322 32.008 4939
+-121.196 32.008 5064
+-121.07 32.008 5188
+-120.944 32.008 5306
+-120.818 32.008 5443
+-120.692 32.008 5528
+-120.566 32.008 5719
+-120.44 32.008 5824
+-120.314 32.008 5891
+-120.188 32.008 6048
+-120.062 32.008 6255
+-119.936 32.008 6485
+-119.81 32.008 6502
+-119.684 32.008 6669
+-119.558 32.008 6815
+-119.432 32.008 6929
+-119.306 32.008 6986
+-119.18 32.008 7238
+-119.054 32.008 7293
+-118.928 32.008 7434
+-118.802 32.008 7586
+-118.676 32.008 7684
+-118.55 32.008 7833
+-118.424 32.008 7924
+-118.298 32.008 8073
+-118.172 32.008 8186
+-118.046 32.008 8290
+-117.92 32.008 8413
+-117.794 32.008 8482
+-117.668 32.008 8602
+-117.542 32.008 8642
+-117.416 32.008 8729
+-117.29 32.008 8757
+-117.164 32.008 8790
+-117.038 32.008 8823
+-116.912 32.008 8818
+-116.786 32.008 8773
+-116.66 32.008 8729
+-116.534 32.008 8680
+-116.408 32.008 8562
+-116.282 32.008 8528
+-116.156 32.008 8397
+-116.03 32.008 8316
+-115.904 32.008 8232
+-115.778 32.008 8052
+-115.652 32.008 7931
+-115.526 32.008 7826
+-115.4 32.008 7661
+-115.274 32.008 7609
+-115.148 32.008 7446
+-115.022 32.008 7310
+-114.896 32.008 7260
+-114.77 32.008 7074
+-114.644 32.008 6942
+-114.518 32.008 6813
+-114.392 32.008 6693
+-114.266 32.008 6524
+-114.14 32.008 6386
+-114.014 32.008 6248
+-113.888 32.008 6140
+-113.762 32.008 6038
+-113.636 32.008 5919
+-113.51 32.008 6090
+-113.384 32.008 6209
+-113.258 32.008 6330
+-113.132 32.008 6491
+-113.006 32.008 6566
+-112.88 32.008 6809
+-112.754 32.008 6898
+-112.628 32.008 7009
+-112.502 32.008 7127
+-112.376 32.008 7301
+-112.25 32.008 7426
+-112.124 32.008 7517
+-111.998 32.008 7695
+-111.872 32.008 7864
+-111.746 32.008 7946
+-111.62 32.008 8061
+-111.494 32.008 8191
+-111.368 32.008 8305
+-111.242 32.008 8410
+-111.116 32.008 8632
+-110.99 32.008 8685
+-110.864 32.008 8798
+-110.738 32.008 8934
+-110.612 32.008 8964
+-110.486 32.008 9001
+-110.36 32.008 9012
+-110.234 32.008 9049
+-110.108 32.008 8934
+-109.982 32.008 8834
+-109.856 32.008 8759
+-109.73 32.008 8648
+-109.604 32.008 8457
+-109.478 32.008 8442
+-109.352 32.008 8215
+-109.226 32.008 8103
+-109.1 32.008 8063
+-108.974 32.008 7874
+-108.848 32.008 7721
+-108.722 32.008 7550
+-108.596 32.008 7472
+-108.47 32.008 7336
+-108.344 32.008 7172
+-108.218 32.008 7103
+-108.092 32.008 6884
+-107.966 32.008 6858
+-107.84 32.008 6707
+-107.714 32.008 6649
+-107.588 32.008 6405
+-107.462 32.008 6168
+-107.336 32.008 6123
+-107.21 32.008 6003
+-107.084 32.008 5890
+-106.958 32.008 5744
+-106.832 32.008 5690
+-106.706 32.008 5519
+-106.58 32.008 5368
+-106.454 32.008 5200
+-106.328 32.008 5027
+-106.202 32.008 4978
+-106.076 32.008 4807
+-105.95 32.008 4659
+-105.824 32.008 4588
+-105.698 32.008 4506
+-105.572 32.008 4404
+-105.446 32.008 4291
+-105.32 32.008 4157
+-105.194 32.008 4006
+-105.068 32.008 3873
+-104.942 32.008 3935
+-104.816 32.008 4024
+-104.69 32.008 4082
+-104.564 32.008 4127
+-104.438 32.008 4096
+-104.312 32.008 4084
+-104.186 32.008 4058
+-104.06 32.008 4028
+-103.934 32.008 4006
+-103.808 32.008 3996
+-103.682 32.008 3908
+-103.556 32.008 3865
+-103.43 32.008 3852
+-103.304 32.008 3840
+-103.178 32.008 3742
+-103.052 32.008 3730
+-102.926 32.008 3720
+-102.8 32.008 3712
+-102.674 32.008 3616
+-102.548 32.008 3586
+-102.422 32.008 3581
+-102.296 32.008 3407
+-102.17 32.008 3405
+-102.044 32.008 3382
+-101.918 32.008 3315
+-101.792 32.008 3239
+-101.666 32.008 3238
+-101.54 32.008 3237
+-101.414 32.008 3236
+-101.288 32.008 3236
+-101.162 32.008 3235
+-101.036 32.008 3235
+-100.91 32.008 3235
+-100.784 32.008 3235
+-100.658 32.008 3156
+-100.532 32.008 3154
+-100.406 32.008 3153
+-100.28 32.008 3004
+-100.154 32.008 2930
+-100.028 32.008 2916
+-99.902 32.008 2840
+-99.776 32.008 2823
+-99.65 32.008 2787
+-99.524 32.008 2766
+-99.398 32.008 2550
+-99.272 32.008 2457
+-99.146 32.008 2437
+-99.02 32.008 2416
+-98.894 32.008 2386
+-98.768 32.008 2363
+-98.642 32.008 2375
+-98.516 32.008 2377
+-98.39 32.008 2367
+-98.264 32.008 2438
+-98.138 32.008 2468
+-98.012 32.008 2452
+-97.886 32.008 2501
+-97.76 32.008 2491
+-97.634 32.008 2470
+-97.508 32.008 2447
+-97.382 32.008 2391
+-97.256 32.008 2367
+-97.13 32.008 2383
+-97.004 32.008 2355
+-96.878 32.008 2329
+-96.752 32.008 2298
+-96.626 32.008 2270
+-96.5 32.008 2237
+-96.374 32.008 2203
+-96.248 32.008 2170
+-96.122 32.008 2180
+-95.996 32.008 2132
+-95.87 32.008 2120
+-95.744 32.008 2123
+-95.618 32.008 2106
+-95.492 32.008 2053
+-95.366 32.008 2050
+-95.24 32.008 2097
+-95.114 32.008 2113
+-94.988 32.008 2141
+-94.862 32.008 2189
+-94.736 32.008 2227
+-94.61 32.008 2270
+-94.484 32.008 2311
+-94.358 32.008 2328
+-94.232 32.008 2392
+-94.106 32.008 2434
+-93.98 32.008 2476
+-93.854 32.008 2512
+-93.728 32.008 2568
+-93.602 32.008 2643
+-93.476 32.008 2683
+-93.35 32.008 2721
+-93.224 32.008 2752
+-93.098 32.008 2774
+-92.972 32.008 2809
+-92.846 32.008 2798
+-92.72 32.008 2755
+-92.594 32.008 2728
+-92.468 32.008 2691
+-92.342 32.008 2644
+-92.216 32.008 2656
+-92.09 32.008 2700
+-91.964 32.008 2813
+-91.838 32.008 2894
+-91.712 32.008 2955
+-91.586 32.008 2992
+-91.46 32.008 3004
+-91.334 32.008 3047
+-91.208 32.008 3109
+-91.082 32.008 3182
+-90.956 32.008 3235
+-90.83 32.008 3287
+-90.704 32.008 3323
+-90.578 32.008 3387
+-90.452 32.008 3413
+-90.326 32.008 3426
+-90.2 32.008 3463
+-90.074 32.008 3429
+-89.948 32.008 3422
+-89.822 32.008 3411
+-89.696 32.008 3441
+-89.57 32.008 3464
+-89.444 32.008 3466
+-89.318 32.008 3477
+-89.192 32.008 3474
+-89.066 32.008 3446
+-88.94 32.008 3421
+-88.814 32.008 3408
+-88.688 32.008 3442
+-88.562 32.008 3476
+-88.436 32.008 3485
+-88.31 32.008 3483
+-88.184 32.008 3478
+-88.058 32.008 3465
+-87.932 32.008 3424
+-87.806 32.008 3353
+-87.68 32.008 3308
+-87.554 32.008 3335
+-87.428 32.008 3376
+-87.302 32.008 3406
+-87.176 32.008 3413
+-87.05 32.008 3422
+-86.924 32.008 3440
+-86.798 32.008 3464
+-86.672 32.008 3526
+-86.546 32.008 3574
+-86.42 32.008 3639
+-86.294 32.008 3655
+-86.168 32.008 3664
+-86.042 32.008 3673
+-85.916 32.008 3663
+-85.79 32.008 3707
+-85.664 32.008 3779
+-85.538 32.008 3814
+-85.412 32.008 3869
+-85.286 32.008 3991
+-85.16 32.008 4075
+-85.034 32.008 4170
+-84.908 32.008 4236
+-84.782 32.008 4303
+-84.656 32.008 4396
+-84.53 32.008 4493
+-84.404 32.008 4585
+-84.278 32.008 4660
+-84.152 32.008 4749
+-84.026 32.008 4776
+-83.9 32.008 4729
+-83.774 32.008 4842
+-83.648 32.008 4925
+-83.522 32.008 4964
+-83.396 32.008 4998
+-83.27 32.008 5025
+-83.144 32.008 5029
+-83.018 32.008 5036
+-82.892 32.008 5077
+-82.766 32.008 5059
+-82.64 32.008 5064
+-82.514 32.008 5060
+-82.388 32.008 5069
+-82.262 32.008 5104
+-82.136 32.008 5125
+-82.01 32.008 5120
+-81.884 32.008 5116
+-81.758 32.008 5107
+-81.632 32.008 5099
+-81.506 32.008 5080
+-81.38 32.008 5087
+-81.254 32.008 5082
+-81.128 32.008 5059
+-81.002 32.008 5047
+-80.876 32.008 5008
+-80.75 32.008 4881
+-80.624 32.008 4807
+-80.498 32.008 4730
+-80.372 32.008 4692
+-80.246 32.008 4668
+-80.12 32.008 4628
+-79.994 32.008 4571
+-79.868 32.008 4468
+-79.742 32.008 4401
+-79.616 32.008 4430
+-79.49 32.008 4427
+-79.364 32.008 4367
+-79.238 32.008 4235
+-79.112 32.008 4031
+-78.986 32.008 3925
+-78.86 32.008 3976
+-78.734 32.008 4010
+-78.608 32.008 3905
+-78.482 32.008 3812
+-78.356 32.008 3731
+-78.23 32.008 3625
+-78.104 32.008 3535
+-77.978 32.008 3475
+-77.852 32.008 3427
+-77.726 32.008 3397
+-77.6 32.008 3325
+-77.474 32.008 3308
+-77.348 32.008 3256
+-77.222 32.008 3245
+-77.096 32.008 3231
+-76.97 32.008 3205
+-76.844 32.008 3211
+-76.718 32.008 3227
+-76.592 32.008 3197
+-76.466 32.008 3233
+-76.34 32.008 3240
+-76.214 32.008 3254
+-76.088 32.008 3267
+-75.962 32.008 3278
+-75.836 32.008 3265
+-75.71 32.008 3251
+-75.584 32.008 3257
+-75.458 32.008 3263
+-75.332 32.008 3269
+-75.206 32.008 3274
+-75.08 32.008 3248
+-74.954 32.008 3254
+-74.828 32.008 3254
+-74.702 32.008 3260
+-74.576 32.008 3211
+-74.45 32.008 3258
+-74.324 32.008 3239
+-74.198 32.008 3243
+-74.072 32.008 3213
+-73.946 32.008 3218
+-73.82 32.008 3223
+-73.694 32.008 3294
+-73.568 32.008 3300
+-73.442 32.008 3306
+-73.316 32.008 3312
+-73.19 32.008 3318
+-73.064 32.008 3389
+-72.938 32.008 3396
+-72.812 32.008 3341
+-72.686 32.008 3347
+-72.56 32.008 3353
+-72.434 32.008 3359
+-72.308 32.008 3360
+-72.182 32.008 3336
+-72.056 32.008 3330
+-71.93 32.008 3293
+-71.804 32.008 3298
+-71.678 32.008 3265
+-71.552 32.008 3305
+-71.426 32.008 3310
+-71.3 32.008 3314
+-71.174 32.008 3318
+-71.048 32.008 3322
+-70.922 32.008 3326
+-70.796 32.008 3330
+-70.67 32.008 3308
+-70.544 32.008 3312
+-70.418 32.008 3315
+-70.292 32.008 3290
+-70.166 32.008 3261
+-70.04 32.008 3245
+-69.914 32.008 3247
+-69.788 32.008 3250
+-69.662 32.008 3252
+-69.536 32.008 3254
+-69.41 32.008 3257
+-69.284 32.008 3259
+-69.158 32.008 3184
+-69.032 32.008 3172
+-68.906 32.008 3174
+-68.78 32.008 3176
+-68.654 32.008 3178
+-68.528 32.008 3180
+-68.402 32.008 3182
+-68.276 32.008 3184
+-68.15 32.008 3186
+-68.024 32.008 3188
+-67.898 32.008 3190
+-67.772 32.008 3192
+-67.646 32.008 3193
+-67.52 32.008 3195
+-67.394 32.008 3197
+-67.268 32.008 3198
+-67.142 32.008 3187
+-67.016 32.008 3189
+-66.89 32.008 3190
+-66.764 32.008 3192
+-66.638 32.008 3194
+-66.512 32.008 3150
+-66.386 32.008 3151
+-66.26 32.008 3152
+-66.134 32.008 3153
+-66.008 32.008 3154
+-65.882 32.008 3156
+-65.756 32.008 3159
+-65.63 32.008 3160
+-65.504 32.008 3134
+-65.378 32.008 3121
+-65.252 32.008 3122
+-65.126 32.008 3122
+-128 31.956 2805
+-127.874 31.956 2802
+-127.748 31.956 2800
+-127.622 31.956 2798
+-127.496 31.956 2795
+-127.37 31.956 2793
+-127.244 31.956 2790
+-127.118 31.956 2787
+-126.992 31.956 2785
+-126.866 31.956 2782
+-126.74 31.956 2779
+-126.614 31.956 2776
+-126.488 31.956 2773
+-126.362 31.956 2769
+-126.236 31.956 2862
+-126.11 31.956 2858
+-125.984 31.956 2854
+-125.858 31.956 2848
+-125.732 31.956 2842
+-125.606 31.956 2834
+-125.48 31.956 2825
+-125.354 31.956 2813
+-125.228 31.956 2799
+-125.102 31.956 2782
+-124.976 31.956 2794
+-124.85 31.956 2833
+-124.724 31.956 2795
+-124.598 31.956 2798
+-124.472 31.956 2751
+-124.346 31.956 2728
+-124.22 31.956 2709
+-124.094 31.956 2729
+-123.968 31.956 2807
+-123.842 31.956 2903
+-123.716 31.956 3041
+-123.59 31.956 3174
+-123.464 31.956 3264
+-123.338 31.956 3377
+-123.212 31.956 3445
+-123.086 31.956 3534
+-122.96 31.956 3590
+-122.834 31.956 3691
+-122.708 31.956 3771
+-122.582 31.956 3790
+-122.456 31.956 3860
+-122.33 31.956 3910
+-122.204 31.956 4034
+-122.078 31.956 4158
+-121.952 31.956 4314
+-121.826 31.956 4459
+-121.7 31.956 4605
+-121.574 31.956 4584
+-121.448 31.956 4803
+-121.322 31.956 4902
+-121.196 31.956 5045
+-121.07 31.956 5204
+-120.944 31.956 5226
+-120.818 31.956 5422
+-120.692 31.956 5549
+-120.566 31.956 5656
+-120.44 31.956 5765
+-120.314 31.956 5887
+-120.188 31.956 6070
+-120.062 31.956 6271
+-119.936 31.956 6467
+-119.81 31.956 6542
+-119.684 31.956 6643
+-119.558 31.956 6752
+-119.432 31.956 6913
+-119.306 31.956 7062
+-119.18 31.956 7167
+-119.054 31.956 7270
+-118.928 31.956 7428
+-118.802 31.956 7568
+-118.676 31.956 7722
+-118.55 31.956 7765
+-118.424 31.956 7909
+-118.298 31.956 8042
+-118.172 31.956 8147
+-118.046 31.956 8245
+-117.92 31.956 8329
+-117.794 31.956 8500
+-117.668 31.956 8554
+-117.542 31.956 8593
+-117.416 31.956 8638
+-117.29 31.956 8718
+-117.164 31.956 8755
+-117.038 31.956 8768
+-116.912 31.956 8745
+-116.786 31.956 8735
+-116.66 31.956 8668
+-116.534 31.956 8624
+-116.408 31.956 8548
+-116.282 31.956 8449
+-116.156 31.956 8381
+-116.03 31.956 8256
+-115.904 31.956 8128
+-115.778 31.956 8060
+-115.652 31.956 7928
+-115.526 31.956 7805
+-115.4 31.956 7684
+-115.274 31.956 7572
+-115.148 31.956 7477
+-115.022 31.956 7352
+-114.896 31.956 7134
+-114.77 31.956 7053
+-114.644 31.956 6868
+-114.518 31.956 6811
+-114.392 31.956 6642
+-114.266 31.956 6511
+-114.14 31.956 6355
+-114.014 31.956 6229
+-113.888 31.956 6052
+-113.762 31.956 6026
+-113.636 31.956 6007
+-113.51 31.956 6102
+-113.384 31.956 6220
+-113.258 31.956 6405
+-113.132 31.956 6485
+-113.006 31.956 6601
+-112.88 31.956 6741
+-112.754 31.956 6834
+-112.628 31.956 6998
+-112.502 31.956 7093
+-112.376 31.956 7244
+-112.25 31.956 7400
+-112.124 31.956 7520
+-111.998 31.956 7706
+-111.872 31.956 7833
+-111.746 31.956 7906
+-111.62 31.956 8055
+-111.494 31.956 8232
+-111.368 31.956 8386
+-111.242 31.956 8520
+-111.116 31.956 8621
+-110.99 31.956 8767
+-110.864 31.956 8847
+-110.738 31.956 8940
+-110.612 31.956 9038
+-110.486 31.956 9070
+-110.36 31.956 9093
+-110.234 31.956 9029
+-110.108 31.956 9006
+-109.982 31.956 8886
+-109.856 31.956 8774
+-109.73 31.956 8647
+-109.604 31.956 8532
+-109.478 31.956 8437
+-109.352 31.956 8294
+-109.226 31.956 8117
+-109.1 31.956 7966
+-108.974 31.956 7829
+-108.848 31.956 7737
+-108.722 31.956 7600
+-108.596 31.956 7467
+-108.47 31.956 7355
+-108.344 31.956 7268
+-108.218 31.956 7151
+-108.092 31.956 7014
+-107.966 31.956 6863
+-107.84 31.956 6725
+-107.714 31.956 6671
+-107.588 31.956 6438
+-107.462 31.956 6215
+-107.336 31.956 6062
+-107.21 31.956 5944
+-107.084 31.956 5900
+-106.958 31.956 5778
+-106.832 31.956 5663
+-106.706 31.956 5495
+-106.58 31.956 5332
+-106.454 31.956 5252
+-106.328 31.956 5080
+-106.202 31.956 4955
+-106.076 31.956 4779
+-105.95 31.956 4612
+-105.824 31.956 4585
+-105.698 31.956 4491
+-105.572 31.956 4453
+-105.446 31.956 4357
+-105.32 31.956 4184
+-105.194 31.956 3905
+-105.068 31.956 3693
+-104.942 31.956 3839
+-104.816 31.956 4014
+-104.69 31.956 4107
+-104.564 31.956 4076
+-104.438 31.956 4079
+-104.312 31.956 4085
+-104.186 31.956 4066
+-104.06 31.956 4032
+-103.934 31.956 3999
+-103.808 31.956 3909
+-103.682 31.956 3860
+-103.556 31.956 3843
+-103.43 31.956 3829
+-103.304 31.956 3777
+-103.178 31.956 3765
+-103.052 31.956 3710
+-102.926 31.956 3700
+-102.8 31.956 3602
+-102.674 31.956 3572
+-102.548 31.956 3567
+-102.422 31.956 3563
+-102.296 31.956 3559
+-102.17 31.956 3402
+-102.044 31.956 3337
+-101.918 31.956 3302
+-101.792 31.956 3227
+-101.666 31.956 3227
+-101.54 31.956 3226
+-101.414 31.956 3226
+-101.288 31.956 3226
+-101.162 31.956 3227
+-101.036 31.956 3227
+-100.91 31.956 3227
+-100.784 31.956 3148
+-100.658 31.956 3147
+-100.532 31.956 3146
+-100.406 31.956 3145
+-100.28 31.956 2996
+-100.154 31.956 2922
+-100.028 31.956 2908
+-99.902 31.956 2832
+-99.776 31.956 2816
+-99.65 31.956 2798
+-99.524 31.956 2759
+-99.398 31.956 2543
+-99.272 31.956 2451
+-99.146 31.956 2430
+-99.02 31.956 2408
+-98.894 31.956 2377
+-98.768 31.956 2353
+-98.642 31.956 2361
+-98.516 31.956 2361
+-98.39 31.956 2349
+-98.264 31.956 2417
+-98.138 31.956 2445
+-98.012 31.956 2435
+-97.886 31.956 2413
+-97.76 31.956 2464
+-97.634 31.956 2440
+-97.508 31.956 2383
+-97.382 31.956 2357
+-97.256 31.956 2372
+-97.13 31.956 2341
+-97.004 31.956 2313
+-96.878 31.956 2279
+-96.752 31.956 2247
+-96.626 31.956 2208
+-96.5 31.956 2169
+-96.374 31.956 2129
+-96.248 31.956 2129
+-96.122 31.956 2073
+-95.996 31.956 2049
+-95.87 31.956 2037
+-95.744 31.956 2007
+-95.618 31.956 1941
+-95.492 31.956 1925
+-95.366 31.956 1955
+-95.24 31.956 1960
+-95.114 31.956 1981
+-94.988 31.956 2026
+-94.862 31.956 2067
+-94.736 31.956 2117
+-94.61 31.956 2171
+-94.484 31.956 2204
+-94.358 31.956 2282
+-94.232 31.956 2340
+-94.106 31.956 2396
+-93.98 31.956 2444
+-93.854 31.956 2510
+-93.728 31.956 2593
+-93.602 31.956 2639
+-93.476 31.956 2682
+-93.35 31.956 2720
+-93.224 31.956 2751
+-93.098 31.956 2799
+-92.972 31.956 2802
+-92.846 31.956 2774
+-92.72 31.956 2771
+-92.594 31.956 2760
+-92.468 31.956 2720
+-92.342 31.956 2710
+-92.216 31.956 2749
+-92.09 31.956 2782
+-91.964 31.956 2856
+-91.838 31.956 2900
+-91.712 31.956 2950
+-91.586 31.956 2998
+-91.46 31.956 3040
+-91.334 31.956 3062
+-91.208 31.956 3131
+-91.082 31.956 3170
+-90.956 31.956 3215
+-90.83 31.956 3251
+-90.704 31.956 3286
+-90.578 31.956 3317
+-90.452 31.956 3344
+-90.326 31.956 3362
+-90.2 31.956 3389
+-90.074 31.956 3420
+-89.948 31.956 3438
+-89.822 31.956 3436
+-89.696 31.956 3446
+-89.57 31.956 3456
+-89.444 31.956 3472
+-89.318 31.956 3469
+-89.192 31.956 3456
+-89.066 31.956 3419
+-88.94 31.956 3384
+-88.814 31.956 3414
+-88.688 31.956 3437
+-88.562 31.956 3453
+-88.436 31.956 3455
+-88.31 31.956 3451
+-88.184 31.956 3442
+-88.058 31.956 3427
+-87.932 31.956 3380
+-87.806 31.956 3303
+-87.68 31.956 3256
+-87.554 31.956 3294
+-87.428 31.956 3348
+-87.302 31.956 3389
+-87.176 31.956 3409
+-87.05 31.956 3444
+-86.924 31.956 3453
+-86.798 31.956 3493
+-86.672 31.956 3554
+-86.546 31.956 3623
+-86.42 31.956 3648
+-86.294 31.956 3683
+-86.168 31.956 3694
+-86.042 31.956 3662
+-85.916 31.956 3618
+-85.79 31.956 3695
+-85.664 31.956 3816
+-85.538 31.956 3889
+-85.412 31.956 3962
+-85.286 31.956 4065
+-85.16 31.956 4124
+-85.034 31.956 4210
+-84.908 31.956 4313
+-84.782 31.956 4372
+-84.656 31.956 4527
+-84.53 31.956 4598
+-84.404 31.956 4658
+-84.278 31.956 4721
+-84.152 31.956 4781
+-84.026 31.956 4812
+-83.9 31.956 4818
+-83.774 31.956 4894
+-83.648 31.956 4905
+-83.522 31.956 4956
+-83.396 31.956 5027
+-83.27 31.956 5080
+-83.144 31.956 5092
+-83.018 31.956 5098
+-82.892 31.956 5104
+-82.766 31.956 5112
+-82.64 31.956 5116
+-82.514 31.956 5114
+-82.388 31.956 5125
+-82.262 31.956 5139
+-82.136 31.956 5166
+-82.01 31.956 5149
+-81.884 31.956 5155
+-81.758 31.956 5139
+-81.632 31.956 5117
+-81.506 31.956 5104
+-81.38 31.956 5081
+-81.254 31.956 5097
+-81.128 31.956 5078
+-81.002 31.956 5061
+-80.876 31.956 5027
+-80.75 31.956 4946
+-80.624 31.956 4877
+-80.498 31.956 4792
+-80.372 31.956 4731
+-80.246 31.956 4685
+-80.12 31.956 4622
+-79.994 31.956 4604
+-79.868 31.956 4535
+-79.742 31.956 4483
+-79.616 31.956 4480
+-79.49 31.956 4465
+-79.364 31.956 4396
+-79.238 31.956 4279
+-79.112 31.956 4131
+-78.986 31.956 4016
+-78.86 31.956 4043
+-78.734 31.956 4055
+-78.608 31.956 3951
+-78.482 31.956 3858
+-78.356 31.956 3774
+-78.23 31.956 3665
+-78.104 31.956 3552
+-77.978 31.956 3413
+-77.852 31.956 3361
+-77.726 31.956 3342
+-77.6 31.956 3292
+-77.474 31.956 3253
+-77.348 31.956 3202
+-77.222 31.956 3166
+-77.096 31.956 3131
+-76.97 31.956 3134
+-76.844 31.956 3155
+-76.718 31.956 3140
+-76.592 31.956 3182
+-76.466 31.956 3197
+-76.34 31.956 3217
+-76.214 31.956 3235
+-76.088 31.956 3250
+-75.962 31.956 3242
+-75.836 31.956 3231
+-75.71 31.956 3239
+-75.584 31.956 3247
+-75.458 31.956 3253
+-75.332 31.956 3260
+-75.206 31.956 3237
+-75.08 31.956 3243
+-74.954 31.956 3244
+-74.828 31.956 3250
+-74.702 31.956 3203
+-74.576 31.956 3249
+-74.45 31.956 3231
+-74.324 31.956 3278
+-74.198 31.956 3207
+-74.072 31.956 3212
+-73.946 31.956 3217
+-73.82 31.956 3286
+-73.694 31.956 3292
+-73.568 31.956 3299
+-73.442 31.956 3305
+-73.316 31.956 3311
+-73.19 31.956 3380
+-73.064 31.956 3388
+-72.938 31.956 3335
+-72.812 31.956 3341
+-72.686 31.956 3348
+-72.56 31.956 3354
+-72.434 31.956 3355
+-72.308 31.956 3331
+-72.182 31.956 3325
+-72.056 31.956 3289
+-71.93 31.956 3294
+-71.804 31.956 3262
+-71.678 31.956 3302
+-71.552 31.956 3307
+-71.426 31.956 3311
+-71.3 31.956 3315
+-71.174 31.956 3320
+-71.048 31.956 3324
+-70.922 31.956 3328
+-70.796 31.956 3306
+-70.67 31.956 3309
+-70.544 31.956 3313
+-70.418 31.956 3288
+-70.292 31.956 3259
+-70.166 31.956 3243
+-70.04 31.956 3246
+-69.914 31.956 3248
+-69.788 31.956 3251
+-69.662 31.956 3253
+-69.536 31.956 3256
+-69.41 31.956 3258
+-69.284 31.956 3183
+-69.158 31.956 3171
+-69.032 31.956 3173
+-68.906 31.956 3175
+-68.78 31.956 3178
+-68.654 31.956 3180
+-68.528 31.956 3182
+-68.402 31.956 3184
+-68.276 31.956 3186
+-68.15 31.956 3188
+-68.024 31.956 3189
+-67.898 31.956 3191
+-67.772 31.956 3193
+-67.646 31.956 3195
+-67.52 31.956 3196
+-67.394 31.956 3198
+-67.268 31.956 3186
+-67.142 31.956 3188
+-67.016 31.956 3190
+-66.89 31.956 3192
+-66.764 31.956 3194
+-66.638 31.956 3150
+-66.512 31.956 3151
+-66.386 31.956 3152
+-66.26 31.956 3153
+-66.134 31.956 3154
+-66.008 31.956 3156
+-65.882 31.956 3159
+-65.756 31.956 3160
+-65.63 31.956 3134
+-65.504 31.956 3121
+-65.378 31.956 3121
+-65.252 31.956 3122
+-65.126 31.956 3123
+-128 31.904 2809
+-127.874 31.904 2807
+-127.748 31.904 2805
+-127.622 31.904 2803
+-127.496 31.904 2801
+-127.37 31.904 2798
+-127.244 31.904 2796
+-127.118 31.904 2794
+-126.992 31.904 2791
+-126.866 31.904 2789
+-126.74 31.904 2786
+-126.614 31.904 2784
+-126.488 31.904 2781
+-126.362 31.904 2876
+-126.236 31.904 2873
+-126.11 31.904 2869
+-125.984 31.904 2865
+-125.858 31.904 2860
+-125.732 31.904 2855
+-125.606 31.904 2848
+-125.48 31.904 2840
+-125.354 31.904 2831
+-125.228 31.904 2820
+-125.102 31.904 2840
+-124.976 31.904 2895
+-124.85 31.904 2872
+-124.724 31.904 2897
+-124.598 31.904 2868
+-124.472 31.904 2842
+-124.346 31.904 2825
+-124.22 31.904 2845
+-124.094 31.904 2879
+-123.968 31.904 2940
+-123.842 31.904 3003
+-123.716 31.904 3127
+-123.59 31.904 3199
+-123.464 31.904 3300
+-123.338 31.904 3365
+-123.212 31.904 3446
+-123.086 31.904 3514
+-122.96 31.904 3567
+-122.834 31.904 3662
+-122.708 31.904 3695
+-122.582 31.904 3753
+-122.456 31.904 3806
+-122.33 31.904 3831
+-122.204 31.904 3946
+-122.078 31.904 4136
+-121.952 31.904 4310
+-121.826 31.904 4405
+-121.7 31.904 4549
+-121.574 31.904 4676
+-121.448 31.904 4796
+-121.322 31.904 4915
+-121.196 31.904 5029
+-121.07 31.904 5190
+-120.944 31.904 5302
+-120.818 31.904 5380
+-120.692 31.904 5535
+-120.566 31.904 5651
+-120.44 31.904 5790
+-120.314 31.904 5952
+-120.188 31.904 6109
+-120.062 31.904 6244
+-119.936 31.904 6426
+-119.81 31.904 6478
+-119.684 31.904 6591
+-119.558 31.904 6707
+-119.432 31.904 6859
+-119.306 31.904 6955
+-119.18 31.904 7120
+-119.054 31.904 7302
+-118.928 31.904 7381
+-118.802 31.904 7565
+-118.676 31.904 7605
+-118.55 31.904 7774
+-118.424 31.904 7909
+-118.298 31.904 7974
+-118.172 31.904 8091
+-118.046 31.904 8185
+-117.92 31.904 8316
+-117.794 31.904 8368
+-117.668 31.904 8469
+-117.542 31.904 8585
+-117.416 31.904 8612
+-117.29 31.904 8675
+-117.164 31.904 8703
+-117.038 31.904 8702
+-116.912 31.904 8691
+-116.786 31.904 8683
+-116.66 31.904 8616
+-116.534 31.904 8569
+-116.408 31.904 8497
+-116.282 31.904 8384
+-116.156 31.904 8277
+-116.03 31.904 8266
+-115.904 31.904 8117
+-115.778 31.904 8032
+-115.652 31.904 7889
+-115.526 31.904 7757
+-115.4 31.904 7632
+-115.274 31.904 7518
+-115.148 31.904 7416
+-115.022 31.904 7279
+-114.896 31.904 7169
+-114.77 31.904 7050
+-114.644 31.904 6939
+-114.518 31.904 6795
+-114.392 31.904 6600
+-114.266 31.904 6507
+-114.14 31.904 6345
+-114.014 31.904 6239
+-113.888 31.904 6152
+-113.762 31.904 5829
+-113.636 31.904 6021
+-113.51 31.904 6069
+-113.384 31.904 6254
+-113.258 31.904 6308
+-113.132 31.904 6471
+-113.006 31.904 6609
+-112.88 31.904 6754
+-112.754 31.904 6881
+-112.628 31.904 6992
+-112.502 31.904 7179
+-112.376 31.904 7287
+-112.25 31.904 7407
+-112.124 31.904 7556
+-111.998 31.904 7703
+-111.872 31.904 7816
+-111.746 31.904 7961
+-111.62 31.904 8105
+-111.494 31.904 8243
+-111.368 31.904 8419
+-111.242 31.904 8537
+-111.116 31.904 8688
+-110.99 31.904 8793
+-110.864 31.904 8853
+-110.738 31.904 8965
+-110.612 31.904 9056
+-110.486 31.904 9154
+-110.36 31.904 9113
+-110.234 31.904 9105
+-110.108 31.904 9008
+-109.982 31.904 8903
+-109.856 31.904 8783
+-109.73 31.904 8683
+-109.604 31.904 8505
+-109.478 31.904 8380
+-109.352 31.904 8315
+-109.226 31.904 8165
+-109.1 31.904 7994
+-108.974 31.904 7939
+-108.848 31.904 7763
+-108.722 31.904 7616
+-108.596 31.904 7435
+-108.47 31.904 7362
+-108.344 31.904 7253
+-108.218 31.904 7138
+-108.092 31.904 6921
+-107.966 31.904 6887
+-107.84 31.904 6777
+-107.714 31.904 6639
+-107.588 31.904 6444
+-107.462 31.904 6265
+-107.336 31.904 6078
+-107.21 31.904 6029
+-107.084 31.904 5918
+-106.958 31.904 5776
+-106.832 31.904 5649
+-106.706 31.904 5529
+-106.58 31.904 5362
+-106.454 31.904 5234
+-106.328 31.904 5064
+-106.202 31.904 4895
+-106.076 31.904 4833
+-105.95 31.904 4684
+-105.824 31.904 4551
+-105.698 31.904 4401
+-105.572 31.904 4460
+-105.446 31.904 4418
+-105.32 31.904 4253
+-105.194 31.904 4022
+-105.068 31.904 3866
+-104.942 31.904 3933
+-104.816 31.904 4049
+-104.69 31.904 4084
+-104.564 31.904 4123
+-104.438 31.904 4088
+-104.312 31.904 4070
+-104.186 31.904 4063
+-104.06 31.904 4027
+-103.934 31.904 3935
+-103.808 31.904 3888
+-103.682 31.904 3833
+-103.556 31.904 3815
+-103.43 31.904 3761
+-103.304 31.904 3747
+-103.178 31.904 3736
+-103.052 31.904 3685
+-102.926 31.904 3677
+-102.8 31.904 3554
+-102.674 31.904 3549
+-102.548 31.904 3545
+-102.422 31.904 3542
+-102.296 31.904 3540
+-102.17 31.904 3354
+-102.044 31.904 3322
+-101.918 31.904 3321
+-101.792 31.904 3320
+-101.666 31.904 3215
+-101.54 31.904 3215
+-101.414 31.904 3216
+-101.288 31.904 3217
+-101.162 31.904 3217
+-101.036 31.904 3218
+-100.91 31.904 3140
+-100.784 31.904 3139
+-100.658 31.904 3138
+-100.532 31.904 3138
+-100.406 31.904 3137
+-100.28 31.904 2988
+-100.154 31.904 2914
+-100.028 31.904 2900
+-99.902 31.904 2839
+-99.776 31.904 2808
+-99.65 31.904 2791
+-99.524 31.904 2751
+-99.398 31.904 2537
+-99.272 31.904 2445
+-99.146 31.904 2423
+-99.02 31.904 2401
+-98.894 31.904 2369
+-98.768 31.904 2343
+-98.642 31.904 2347
+-98.516 31.904 2344
+-98.39 31.904 2334
+-98.264 31.904 2399
+-98.138 31.904 2430
+-98.012 31.904 2408
+-97.886 31.904 2387
+-97.76 31.904 2436
+-97.634 31.904 2378
+-97.508 31.904 2352
+-97.382 31.904 2366
+-97.256 31.904 2333
+-97.13 31.904 2303
+-97.004 31.904 2266
+-96.878 31.904 2232
+-96.752 31.904 2189
+-96.626 31.904 2145
+-96.5 31.904 2098
+-96.374 31.904 2091
+-96.248 31.904 2026
+-96.122 31.904 1990
+-95.996 31.904 1964
+-95.87 31.904 1918
+-95.744 31.904 1837
+-95.618 31.904 1802
+-95.492 31.904 1809
+-95.366 31.904 1796
+-95.24 31.904 1802
+-95.114 31.904 1832
+-94.988 31.904 1868
+-94.862 31.904 1919
+-94.736 31.904 1982
+-94.61 31.904 2030
+-94.484 31.904 2123
+-94.358 31.904 2199
+-94.232 31.904 2273
+-94.106 31.904 2340
+-93.98 31.904 2420
+-93.854 31.904 2516
+-93.728 31.904 2573
+-93.602 31.904 2626
+-93.476 31.904 2673
+-93.35 31.904 2712
+-93.224 31.904 2772
+-93.098 31.904 2787
+-92.972 31.904 2768
+-92.846 31.904 2781
+-92.72 31.904 2790
+-92.594 31.904 2758
+-92.468 31.904 2757
+-92.342 31.904 2753
+-92.216 31.904 2817
+-92.09 31.904 2840
+-91.964 31.904 2877
+-91.838 31.904 2921
+-91.712 31.904 2978
+-91.586 31.904 3008
+-91.46 31.904 3032
+-91.334 31.904 3048
+-91.208 31.904 3100
+-91.082 31.904 3158
+-90.956 31.904 3186
+-90.83 31.904 3215
+-90.704 31.904 3212
+-90.578 31.904 3239
+-90.452 31.904 3287
+-90.326 31.904 3317
+-90.2 31.904 3352
+-90.074 31.904 3370
+-89.948 31.904 3392
+-89.822 31.904 3428
+-89.696 31.904 3448
+-89.57 31.904 3451
+-89.444 31.904 3460
+-89.318 31.904 3462
+-89.192 31.904 3449
+-89.066 31.904 3422
+-88.94 31.904 3410
+-88.814 31.904 3419
+-88.688 31.904 3430
+-88.562 31.904 3421
+-88.436 31.904 3390
+-88.31 31.904 3377
+-88.184 31.904 3375
+-88.058 31.904 3382
+-87.932 31.904 3365
+-87.806 31.904 3317
+-87.68 31.904 3289
+-87.554 31.904 3315
+-87.428 31.904 3350
+-87.302 31.904 3390
+-87.176 31.904 3428
+-87.05 31.904 3456
+-86.924 31.904 3476
+-86.798 31.904 3514
+-86.672 31.904 3591
+-86.546 31.904 3663
+-86.42 31.904 3700
+-86.294 31.904 3714
+-86.168 31.904 3737
+-86.042 31.904 3707
+-85.916 31.904 3685
+-85.79 31.904 3752
+-85.664 31.904 3866
+-85.538 31.904 3979
+-85.412 31.904 4091
+-85.286 31.904 4133
+-85.16 31.904 4166
+-85.034 31.904 4266
+-84.908 31.904 4359
+-84.782 31.904 4469
+-84.656 31.904 4608
+-84.53 31.904 4650
+-84.404 31.904 4677
+-84.278 31.904 4729
+-84.152 31.904 4798
+-84.026 31.904 4849
+-83.9 31.904 4904
+-83.774 31.904 4943
+-83.648 31.904 4975
+-83.522 31.904 5019
+-83.396 31.904 5078
+-83.27 31.904 5109
+-83.144 31.904 5138
+-83.018 31.904 5168
+-82.892 31.904 5191
+-82.766 31.904 5210
+-82.64 31.904 5201
+-82.514 31.904 5189
+-82.388 31.904 5180
+-82.262 31.904 5171
+-82.136 31.904 5176
+-82.01 31.904 5195
+-81.884 31.904 5221
+-81.758 31.904 5210
+-81.632 31.904 5184
+-81.506 31.904 5147
+-81.38 31.904 5124
+-81.254 31.904 5107
+-81.128 31.904 5071
+-81.002 31.904 5077
+-80.876 31.904 5044
+-80.75 31.904 4998
+-80.624 31.904 4960
+-80.498 31.904 4886
+-80.372 31.904 4808
+-80.246 31.904 4751
+-80.12 31.904 4684
+-79.994 31.904 4623
+-79.868 31.904 4545
+-79.742 31.904 4553
+-79.616 31.904 4532
+-79.49 31.904 4517
+-79.364 31.904 4444
+-79.238 31.904 4348
+-79.112 31.904 4251
+-78.986 31.904 4163
+-78.86 31.904 4123
+-78.734 31.904 4093
+-78.608 31.904 3972
+-78.482 31.904 3886
+-78.356 31.904 3793
+-78.23 31.904 3663
+-78.104 31.904 3505
+-77.978 31.904 3340
+-77.852 31.904 3257
+-77.726 31.904 3253
+-77.6 31.904 3247
+-77.474 31.904 3186
+-77.348 31.904 3111
+-77.222 31.904 3047
+-77.096 31.904 3035
+-76.97 31.904 3056
+-76.844 31.904 3076
+-76.718 31.904 3112
+-76.592 31.904 3140
+-76.466 31.904 3170
+-76.34 31.904 3196
+-76.214 31.904 3217
+-76.088 31.904 3214
+-75.962 31.904 3237
+-75.836 31.904 3249
+-75.71 31.904 3260
+-75.584 31.904 3269
+-75.458 31.904 3277
+-75.332 31.904 3224
+-75.206 31.904 3231
+-75.08 31.904 3232
+-74.954 31.904 3239
+-74.828 31.904 3194
+-74.702 31.904 3239
+-74.576 31.904 3223
+-74.45 31.904 3268
+-74.324 31.904 3199
+-74.198 31.904 3205
+-74.072 31.904 3210
+-73.946 31.904 3277
+-73.82 31.904 3284
+-73.694 31.904 3291
+-73.568 31.904 3297
+-73.442 31.904 3304
+-73.316 31.904 3372
+-73.19 31.904 3380
+-73.064 31.904 3328
+-72.938 31.904 3335
+-72.812 31.904 3342
+-72.686 31.904 3348
+-72.56 31.904 3349
+-72.434 31.904 3327
+-72.308 31.904 3320
+-72.182 31.904 3285
+-72.056 31.904 3290
+-71.93 31.904 3258
+-71.804 31.904 3298
+-71.678 31.904 3303
+-71.552 31.904 3308
+-71.426 31.904 3312
+-71.3 31.904 3317
+-71.174 31.904 3321
+-71.048 31.904 3325
+-70.922 31.904 3304
+-70.796 31.904 3307
+-70.67 31.904 3311
+-70.544 31.904 3287
+-70.418 31.904 3258
+-70.292 31.904 3242
+-70.166 31.904 3245
+-70.04 31.904 3247
+-69.914 31.904 3250
+-69.788 31.904 3252
+-69.662 31.904 3254
+-69.536 31.904 3257
+-69.41 31.904 3182
+-69.284 31.904 3170
+-69.158 31.904 3172
+-69.032 31.904 3174
+-68.906 31.904 3177
+-68.78 31.904 3179
+-68.654 31.904 3181
+-68.528 31.904 3183
+-68.402 31.904 3185
+-68.276 31.904 3187
+-68.15 31.904 3189
+-68.024 31.904 3191
+-67.898 31.904 3193
+-67.772 31.904 3194
+-67.646 31.904 3196
+-67.52 31.904 3198
+-67.394 31.904 3186
+-67.268 31.904 3188
+-67.142 31.904 3190
+-67.016 31.904 3191
+-66.89 31.904 3193
+-66.764 31.904 3149
+-66.638 31.904 3151
+-66.512 31.904 3152
+-66.386 31.904 3153
+-66.26 31.904 3154
+-66.134 31.904 3155
+-66.008 31.904 3159
+-65.882 31.904 3160
+-65.756 31.904 3134
+-65.63 31.904 3120
+-65.504 31.904 3121
+-65.378 31.904 3122
+-65.252 31.904 3123
+-65.126 31.904 3124
+-128 31.852 2708
+-127.874 31.852 2812
+-127.748 31.852 2810
+-127.622 31.852 2808
+-127.496 31.852 2806
+-127.37 31.852 2804
+-127.244 31.852 2802
+-127.118 31.852 2800
+-126.992 31.852 2798
+-126.866 31.852 2796
+-126.74 31.852 2794
+-126.614 31.852 2791
+-126.488 31.852 2794
+-126.362 31.852 2791
+-126.236 31.852 2882
+-126.11 31.852 2879
+-125.984 31.852 2876
+-125.858 31.852 2872
+-125.732 31.852 2867
+-125.606 31.852 2862
+-125.48 31.852 2856
+-125.354 31.852 2848
+-125.228 31.852 2873
+-125.102 31.852 2938
+-124.976 31.852 2924
+-124.85 31.852 2956
+-124.724 31.852 2937
+-124.598 31.852 2920
+-124.472 31.852 2907
+-124.346 31.852 2903
+-124.22 31.852 2924
+-124.094 31.852 2957
+-123.968 31.852 2990
+-123.842 31.852 3094
+-123.716 31.852 3139
+-123.59 31.852 3217
+-123.464 31.852 3266
+-123.338 31.852 3348
+-123.212 31.852 3410
+-123.086 31.852 3475
+-122.96 31.852 3538
+-122.834 31.852 3637
+-122.708 31.852 3673
+-122.582 31.852 3689
+-122.456 31.852 3719
+-122.33 31.852 3736
+-122.204 31.852 3880
+-122.078 31.852 4109
+-121.952 31.852 4293
+-121.826 31.852 4346
+-121.7 31.852 4479
+-121.574 31.852 4711
+-121.448 31.852 4774
+-121.322 31.852 4903
+-121.196 31.852 4997
+-121.07 31.852 5152
+-120.944 31.852 5235
+-120.818 31.852 5392
+-120.692 31.852 5567
+-120.566 31.852 5646
+-120.44 31.852 5802
+-120.314 31.852 5973
+-120.188 31.852 6079
+-120.062 31.852 6255
+-119.936 31.852 6372
+-119.81 31.852 6519
+-119.684 31.852 6630
+-119.558 31.852 6749
+-119.432 31.852 6835
+-119.306 31.852 7003
+-119.18 31.852 7122
+-119.054 31.852 7203
+-118.928 31.852 7364
+-118.802 31.852 7518
+-118.676 31.852 7612
+-118.55 31.852 7747
+-118.424 31.852 7848
+-118.298 31.852 7967
+-118.172 31.852 8034
+-118.046 31.852 8107
+-117.92 31.852 8229
+-117.794 31.852 8334
+-117.668 31.852 8388
+-117.542 31.852 8494
+-117.416 31.852 8572
+-117.29 31.852 8624
+-117.164 31.852 8652
+-117.038 31.852 8637
+-116.912 31.852 8638
+-116.786 31.852 8612
+-116.66 31.852 8588
+-116.534 31.852 8521
+-116.408 31.852 8425
+-116.282 31.852 8357
+-116.156 31.852 8298
+-116.03 31.852 8185
+-115.904 31.852 8023
+-115.778 31.852 7959
+-115.652 31.852 7831
+-115.526 31.852 7734
+-115.4 31.852 7659
+-115.274 31.852 7566
+-115.148 31.852 7403
+-115.022 31.852 7297
+-114.896 31.852 7193
+-114.77 31.852 6964
+-114.644 31.852 6913
+-114.518 31.852 6727
+-114.392 31.852 6577
+-114.266 31.852 6514
+-114.14 31.852 6330
+-114.014 31.852 6212
+-113.888 31.852 6067
+-113.762 31.852 5832
+-113.636 31.852 6011
+-113.51 31.852 6025
+-113.384 31.852 6278
+-113.258 31.852 6329
+-113.132 31.852 6482
+-113.006 31.852 6656
+-112.88 31.852 6748
+-112.754 31.852 6876
+-112.628 31.852 7046
+-112.502 31.852 7165
+-112.376 31.852 7323
+-112.25 31.852 7502
+-112.124 31.852 7575
+-111.998 31.852 7728
+-111.872 31.852 7868
+-111.746 31.852 7996
+-111.62 31.852 8081
+-111.494 31.852 8243
+-111.368 31.852 8401
+-111.242 31.852 8547
+-111.116 31.852 8647
+-110.99 31.852 8764
+-110.864 31.852 8877
+-110.738 31.852 9015
+-110.612 31.852 9103
+-110.486 31.852 9200
+-110.36 31.852 9172
+-110.234 31.852 9142
+-110.108 31.852 9059
+-109.982 31.852 8941
+-109.856 31.852 8837
+-109.73 31.852 8759
+-109.604 31.852 8572
+-109.478 31.852 8454
+-109.352 31.852 8295
+-109.226 31.852 8177
+-109.1 31.852 8028
+-108.974 31.852 7897
+-108.848 31.852 7741
+-108.722 31.852 7637
+-108.596 31.852 7492
+-108.47 31.852 7367
+-108.344 31.852 7286
+-108.218 31.852 7140
+-108.092 31.852 6977
+-107.966 31.852 6816
+-107.84 31.852 6698
+-107.714 31.852 6607
+-107.588 31.852 6378
+-107.462 31.852 6330
+-107.336 31.852 6103
+-107.21 31.852 5985
+-107.084 31.852 5892
+-106.958 31.852 5756
+-106.832 31.852 5607
+-106.706 31.852 5486
+-106.58 31.852 5359
+-106.454 31.852 5188
+-106.328 31.852 5126
+-106.202 31.852 4971
+-106.076 31.852 4849
+-105.95 31.852 4683
+-105.824 31.852 4561
+-105.698 31.852 4522
+-105.572 31.852 4501
+-105.446 31.852 4448
+-105.32 31.852 4340
+-105.194 31.852 4212
+-105.068 31.852 4114
+-104.942 31.852 4095
+-104.816 31.852 4096
+-104.69 31.852 4122
+-104.564 31.852 4131
+-104.438 31.852 4122
+-104.312 31.852 4104
+-104.186 31.852 3990
+-104.06 31.852 3936
+-103.934 31.852 3911
+-103.808 31.852 3887
+-103.682 31.852 3820
+-103.556 31.852 3741
+-103.43 31.852 3724
+-103.304 31.852 3711
+-103.178 31.852 3660
+-103.052 31.852 3651
+-102.926 31.852 3566
+-102.8 31.852 3562
+-102.674 31.852 3522
+-102.548 31.852 3520
+-102.422 31.852 3496
+-102.296 31.852 3495
+-102.17 31.852 3495
+-102.044 31.852 3337
+-101.918 31.852 3317
+-101.792 31.852 3317
+-101.666 31.852 3318
+-101.54 31.852 3204
+-101.414 31.852 3205
+-101.288 31.852 3206
+-101.162 31.852 3208
+-101.036 31.852 3130
+-100.91 31.852 3130
+-100.784 31.852 3129
+-100.658 31.852 3129
+-100.532 31.852 3129
+-100.406 31.852 3128
+-100.28 31.852 2979
+-100.154 31.852 2906
+-100.028 31.852 2847
+-99.902 31.852 2832
+-99.776 31.852 2816
+-99.65 31.852 2783
+-99.524 31.852 2763
+-99.398 31.852 2551
+-99.272 31.852 2440
+-99.146 31.852 2417
+-99.02 31.852 2394
+-98.894 31.852 2362
+-98.768 31.852 2334
+-98.642 31.852 2333
+-98.516 31.852 2331
+-98.39 31.852 2317
+-98.264 31.852 2379
+-98.138 31.852 2363
+-98.012 31.852 2384
+-97.886 31.852 2370
+-97.76 31.852 2314
+-97.634 31.852 2350
+-97.508 31.852 2364
+-97.382 31.852 2330
+-97.256 31.852 2299
+-97.13 31.852 2261
+-97.004 31.852 2224
+-96.878 31.852 2179
+-96.752 31.852 2131
+-96.626 31.852 2080
+-96.5 31.852 2066
+-96.374 31.852 1994
+-96.248 31.852 1948
+-96.122 31.852 1909
+-95.996 31.852 1848
+-95.87 31.852 1751
+-95.744 31.852 1695
+-95.618 31.852 1676
+-95.492 31.852 1637
+-95.366 31.852 1618
+-95.24 31.852 1623
+-95.114 31.852 1641
+-94.988 31.852 1681
+-94.862 31.852 1744
+-94.736 31.852 1804
+-94.61 31.852 1907
+-94.484 31.852 2002
+-94.358 31.852 2098
+-94.232 31.852 2189
+-94.106 31.852 2289
+-93.98 31.852 2403
+-93.854 31.852 2478
+-93.728 31.852 2546
+-93.602 31.852 2606
+-93.476 31.852 2657
+-93.35 31.852 2727
+-93.224 31.852 2710
+-93.098 31.852 2742
+-92.972 31.852 2767
+-92.846 31.852 2751
+-92.72 31.852 2765
+-92.594 31.852 2774
+-92.468 31.852 2773
+-92.342 31.852 2784
+-92.216 31.852 2794
+-92.09 31.852 2877
+-91.964 31.852 2905
+-91.838 31.852 2957
+-91.712 31.852 2984
+-91.586 31.852 3008
+-91.46 31.852 3018
+-91.334 31.852 3038
+-91.208 31.852 3081
+-91.082 31.852 3103
+-90.956 31.852 3120
+-90.83 31.852 3141
+-90.704 31.852 3157
+-90.578 31.852 3176
+-90.452 31.852 3222
+-90.326 31.852 3227
+-90.2 31.852 3293
+-90.074 31.852 3327
+-89.948 31.852 3361
+-89.822 31.852 3380
+-89.696 31.852 3412
+-89.57 31.852 3411
+-89.444 31.852 3433
+-89.318 31.852 3431
+-89.192 31.852 3427
+-89.066 31.852 3419
+-88.94 31.852 3413
+-88.814 31.852 3409
+-88.688 31.852 3401
+-88.562 31.852 3365
+-88.436 31.852 3301
+-88.31 31.852 3262
+-88.184 31.852 3287
+-88.058 31.852 3329
+-87.932 31.852 3348
+-87.806 31.852 3339
+-87.68 31.852 3333
+-87.554 31.852 3345
+-87.428 31.852 3366
+-87.302 31.852 3410
+-87.176 31.852 3435
+-87.05 31.852 3488
+-86.924 31.852 3511
+-86.798 31.852 3555
+-86.672 31.852 3623
+-86.546 31.852 3678
+-86.42 31.852 3720
+-86.294 31.852 3770
+-86.168 31.852 3787
+-86.042 31.852 3782
+-85.916 31.852 3805
+-85.79 31.852 3842
+-85.664 31.852 3953
+-85.538 31.852 4057
+-85.412 31.852 4133
+-85.286 31.852 4139
+-85.16 31.852 4187
+-85.034 31.852 4293
+-84.908 31.852 4419
+-84.782 31.852 4541
+-84.656 31.852 4644
+-84.53 31.852 4671
+-84.404 31.852 4641
+-84.278 31.852 4748
+-84.152 31.852 4810
+-84.026 31.852 4886
+-83.9 31.852 4946
+-83.774 31.852 5003
+-83.648 31.852 5060
+-83.522 31.852 5098
+-83.396 31.852 5097
+-83.27 31.852 5142
+-83.144 31.852 5198
+-83.018 31.852 5234
+-82.892 31.852 5227
+-82.766 31.852 5270
+-82.64 31.852 5248
+-82.514 31.852 5251
+-82.388 31.852 5271
+-82.262 31.852 5276
+-82.136 31.852 5261
+-82.01 31.852 5294
+-81.884 31.852 5300
+-81.758 31.852 5306
+-81.632 31.852 5281
+-81.506 31.852 5235
+-81.38 31.852 5196
+-81.254 31.852 5163
+-81.128 31.852 5115
+-81.002 31.852 5119
+-80.876 31.852 5070
+-80.75 31.852 5021
+-80.624 31.852 4984
+-80.498 31.852 4953
+-80.372 31.852 4856
+-80.246 31.852 4776
+-80.12 31.852 4754
+-79.994 31.852 4672
+-79.868 31.852 4601
+-79.742 31.852 4572
+-79.616 31.852 4569
+-79.49 31.852 4544
+-79.364 31.852 4474
+-79.238 31.852 4428
+-79.112 31.852 4340
+-78.986 31.852 4247
+-78.86 31.852 4175
+-78.734 31.852 4133
+-78.608 31.852 3996
+-78.482 31.852 3920
+-78.356 31.852 3826
+-78.23 31.852 3688
+-78.104 31.852 3501
+-77.978 31.852 3287
+-77.852 31.852 3188
+-77.726 31.852 3231
+-77.6 31.852 3216
+-77.474 31.852 3106
+-77.348 31.852 2991
+-77.222 31.852 2919
+-77.096 31.852 2925
+-76.97 31.852 2962
+-76.844 31.852 3017
+-76.718 31.852 3082
+-76.592 31.852 3109
+-76.466 31.852 3147
+-76.34 31.852 3177
+-76.214 31.852 3210
+-76.088 31.852 3209
+-75.962 31.852 3225
+-75.836 31.852 3237
+-75.71 31.852 3248
+-75.584 31.852 3258
+-75.458 31.852 3266
+-75.332 31.852 3264
+-75.206 31.852 3270
+-75.08 31.852 3226
+-74.954 31.852 3237
+-74.828 31.852 3228
+-74.702 31.852 3213
+-74.576 31.852 3256
+-74.45 31.852 3190
+-74.324 31.852 3197
+-74.198 31.852 3251
+-74.072 31.852 3267
+-73.946 31.852 3275
+-73.82 31.852 3282
+-73.694 31.852 3289
+-73.568 31.852 3296
+-73.442 31.852 3363
+-73.316 31.852 3371
+-73.19 31.852 3321
+-73.064 31.852 3328
+-72.938 31.852 3335
+-72.812 31.852 3342
+-72.686 31.852 3344
+-72.56 31.852 3322
+-72.434 31.852 3316
+-72.308 31.852 3281
+-72.182 31.852 3287
+-72.056 31.852 3255
+-71.93 31.852 3294
+-71.804 31.852 3300
+-71.678 31.852 3305
+-71.552 31.852 3309
+-71.426 31.852 3314
+-71.3 31.852 3318
+-71.174 31.852 3323
+-71.048 31.852 3301
+-70.922 31.852 3305
+-70.796 31.852 3309
+-70.67 31.852 3285
+-70.544 31.852 3256
+-70.418 31.852 3240
+-70.292 31.852 3243
+-70.166 31.852 3246
+-70.04 31.852 3249
+-69.914 31.852 3251
+-69.788 31.852 3253
+-69.662 31.852 3256
+-69.536 31.852 3181
+-69.41 31.852 3169
+-69.284 31.852 3171
+-69.158 31.852 3174
+-69.032 31.852 3176
+-68.906 31.852 3178
+-68.78 31.852 3180
+-68.654 31.852 3183
+-68.528 31.852 3185
+-68.402 31.852 3187
+-68.276 31.852 3189
+-68.15 31.852 3190
+-68.024 31.852 3192
+-67.898 31.852 3194
+-67.772 31.852 3196
+-67.646 31.852 3197
+-67.52 31.852 3186
+-67.394 31.852 3188
+-67.268 31.852 3189
+-67.142 31.852 3191
+-67.016 31.852 3193
+-66.89 31.852 3149
+-66.764 31.852 3151
+-66.638 31.852 3152
+-66.512 31.852 3153
+-66.386 31.852 3154
+-66.26 31.852 3155
+-66.134 31.852 3158
+-66.008 31.852 3159
+-65.882 31.852 3134
+-65.756 31.852 3120
+-65.63 31.852 3121
+-65.504 31.852 3122
+-65.378 31.852 3123
+-65.252 31.852 3123
+-65.126 31.852 3124
+-128 31.8 2684
+-127.874 31.8 2685
+-127.748 31.8 2787
+-127.622 31.8 2786
+-127.496 31.8 2784
+-127.37 31.8 2783
+-127.244 31.8 2782
+-127.118 31.8 2780
+-126.992 31.8 2779
+-126.866 31.8 2778
+-126.74 31.8 2777
+-126.614 31.8 2804
+-126.488 31.8 2802
+-126.362 31.8 2799
+-126.236 31.8 2891
+-126.11 31.8 2889
+-125.984 31.8 2886
+-125.858 31.8 2883
+-125.732 31.8 2879
+-125.606 31.8 2875
+-125.48 31.8 2870
+-125.354 31.8 2897
+-125.228 31.8 2961
+-125.102 31.8 2951
+-124.976 31.8 3000
+-124.85 31.8 2987
+-124.724 31.8 2974
+-124.598 31.8 2965
+-124.472 31.8 2959
+-124.346 31.8 2974
+-124.22 31.8 2994
+-124.094 31.8 3008
+-123.968 31.8 3026
+-123.842 31.8 3064
+-123.716 31.8 3125
+-123.59 31.8 3167
+-123.464 31.8 3220
+-123.338 31.8 3268
+-123.212 31.8 3348
+-123.086 31.8 3430
+-122.96 31.8 3511
+-122.834 31.8 3606
+-122.708 31.8 3641
+-122.582 31.8 3653
+-122.456 31.8 3611
+-122.33 31.8 3742
+-122.204 31.8 3906
+-122.078 31.8 4087
+-121.952 31.8 4242
+-121.826 31.8 4356
+-121.7 31.8 4485
+-121.574 31.8 4672
+-121.448 31.8 4792
+-121.322 31.8 4893
+-121.196 31.8 5013
+-121.07 31.8 5168
+-120.944 31.8 5292
+-120.818 31.8 5416
+-120.692 31.8 5563
+-120.566 31.8 5690
+-120.44 31.8 5752
+-120.314 31.8 5964
+-120.188 31.8 6074
+-120.062 31.8 6164
+-119.936 31.8 6368
+-119.81 31.8 6468
+-119.684 31.8 6551
+-119.558 31.8 6746
+-119.432 31.8 6834
+-119.306 31.8 6904
+-119.18 31.8 7069
+-119.054 31.8 7196
+-118.928 31.8 7310
+-118.802 31.8 7422
+-118.676 31.8 7579
+-118.55 31.8 7713
+-118.424 31.8 7792
+-118.298 31.8 7885
+-118.172 31.8 7982
+-118.046 31.8 8117
+-117.92 31.8 8242
+-117.794 31.8 8351
+-117.668 31.8 8403
+-117.542 31.8 8462
+-117.416 31.8 8548
+-117.29 31.8 8546
+-117.164 31.8 8586
+-117.038 31.8 8585
+-116.912 31.8 8569
+-116.786 31.8 8549
+-116.66 31.8 8529
+-116.534 31.8 8465
+-116.408 31.8 8410
+-116.282 31.8 8292
+-116.156 31.8 8233
+-116.03 31.8 8180
+-115.904 31.8 8050
+-115.778 31.8 7976
+-115.652 31.8 7831
+-115.526 31.8 7701
+-115.4 31.8 7594
+-115.274 31.8 7459
+-115.148 31.8 7368
+-115.022 31.8 7208
+-114.896 31.8 7123
+-114.77 31.8 7019
+-114.644 31.8 6883
+-114.518 31.8 6706
+-114.392 31.8 6569
+-114.266 31.8 6507
+-114.14 31.8 6378
+-114.014 31.8 6203
+-113.888 31.8 6034
+-113.762 31.8 5979
+-113.636 31.8 6036
+-113.51 31.8 6116
+-113.384 31.8 6213
+-113.258 31.8 6378
+-113.132 31.8 6533
+-113.006 31.8 6673
+-112.88 31.8 6768
+-112.754 31.8 6867
+-112.628 31.8 7048
+-112.502 31.8 7204
+-112.376 31.8 7361
+-112.25 31.8 7434
+-112.124 31.8 7566
+-111.998 31.8 7664
+-111.872 31.8 7867
+-111.746 31.8 7997
+-111.62 31.8 8074
+-111.494 31.8 8203
+-111.368 31.8 8442
+-111.242 31.8 8570
+-111.116 31.8 8676
+-110.99 31.8 8836
+-110.864 31.8 8890
+-110.738 31.8 9041
+-110.612 31.8 9188
+-110.486 31.8 9218
+-110.36 31.8 9287
+-110.234 31.8 9244
+-110.108 31.8 9053
+-109.982 31.8 8954
+-109.856 31.8 8882
+-109.73 31.8 8707
+-109.604 31.8 8591
+-109.478 31.8 8479
+-109.352 31.8 8361
+-109.226 31.8 8138
+-109.1 31.8 8059
+-108.974 31.8 7962
+-108.848 31.8 7776
+-108.722 31.8 7655
+-108.596 31.8 7456
+-108.47 31.8 7386
+-108.344 31.8 7297
+-108.218 31.8 7134
+-108.092 31.8 6994
+-107.966 31.8 6870
+-107.84 31.8 6775
+-107.714 31.8 6617
+-107.588 31.8 6442
+-107.462 31.8 6318
+-107.336 31.8 6125
+-107.21 31.8 6010
+-107.084 31.8 5886
+-106.958 31.8 5706
+-106.832 31.8 5577
+-106.706 31.8 5493
+-106.58 31.8 5359
+-106.454 31.8 5282
+-106.328 31.8 5137
+-106.202 31.8 4969
+-106.076 31.8 4846
+-105.95 31.8 4749
+-105.824 31.8 4632
+-105.698 31.8 4595
+-105.572 31.8 4557
+-105.446 31.8 4492
+-105.32 31.8 4411
+-105.194 31.8 4328
+-105.068 31.8 4263
+-104.942 31.8 4200
+-104.816 31.8 4208
+-104.69 31.8 4150
+-104.564 31.8 4149
+-104.438 31.8 4111
+-104.312 31.8 4027
+-104.186 31.8 3999
+-104.06 31.8 3938
+-103.934 31.8 3876
+-103.808 31.8 3803
+-103.682 31.8 3776
+-103.556 31.8 3754
+-103.43 31.8 3678
+-103.304 31.8 3627
+-103.178 31.8 3603
+-103.052 31.8 3532
+-102.926 31.8 3529
+-102.8 31.8 3528
+-102.674 31.8 3529
+-102.548 31.8 3468
+-102.422 31.8 3468
+-102.296 31.8 3469
+-102.17 31.8 3471
+-102.044 31.8 3473
+-101.918 31.8 3323
+-101.792 31.8 3304
+-101.666 31.8 3306
+-101.54 31.8 3308
+-101.414 31.8 3194
+-101.288 31.8 3196
+-101.162 31.8 3119
+-101.036 31.8 3119
+-100.91 31.8 3119
+-100.784 31.8 3119
+-100.658 31.8 3113
+-100.532 31.8 3113
+-100.406 31.8 3113
+-100.28 31.8 3052
+-100.154 31.8 2853
+-100.028 31.8 2840
+-99.902 31.8 2825
+-99.776 31.8 2809
+-99.65 31.8 2792
+-99.524 31.8 2756
+-99.398 31.8 2545
+-99.272 31.8 2434
+-99.146 31.8 2412
+-99.02 31.8 2388
+-98.894 31.8 2354
+-98.768 31.8 2325
+-98.642 31.8 2320
+-98.516 31.8 2316
+-98.39 31.8 2300
+-98.264 31.8 2278
+-98.138 31.8 2342
+-98.012 31.8 2369
+-97.886 31.8 2345
+-97.76 31.8 2288
+-97.634 31.8 2366
+-97.508 31.8 2332
+-97.382 31.8 2301
+-97.256 31.8 2261
+-97.13 31.8 2223
+-97.004 31.8 2177
+-96.878 31.8 2127
+-96.752 31.8 2072
+-96.626 31.8 2056
+-96.5 31.8 1977
+-96.374 31.8 1924
+-96.248 31.8 1876
+-96.122 31.8 1802
+-95.996 31.8 1690
+-95.87 31.8 1614
+-95.744 31.8 1569
+-95.618 31.8 1501
+-95.492 31.8 1450
+-95.366 31.8 1420
+-95.24 31.8 1407
+-95.114 31.8 1421
+-94.988 31.8 1468
+-94.862 31.8 1528
+-94.736 31.8 1633
+-94.61 31.8 1743
+-94.484 31.8 1862
+-94.358 31.8 1981
+-94.232 31.8 2107
+-94.106 31.8 2244
+-93.98 31.8 2343
+-93.854 31.8 2432
+-93.728 31.8 2511
+-93.602 31.8 2578
+-93.476 31.8 2662
+-93.35 31.8 2656
+-93.224 31.8 2699
+-93.098 31.8 2735
+-92.972 31.8 2727
+-92.846 31.8 2750
+-92.72 31.8 2768
+-92.594 31.8 2772
+-92.468 31.8 2786
+-92.342 31.8 2798
+-92.216 31.8 2810
+-92.09 31.8 2900
+-91.964 31.8 2943
+-91.838 31.8 2962
+-91.712 31.8 2980
+-91.586 31.8 2985
+-91.46 31.8 3000
+-91.334 31.8 3008
+-91.208 31.8 3055
+-91.082 31.8 3036
+-90.956 31.8 3070
+-90.83 31.8 3076
+-90.704 31.8 3080
+-90.578 31.8 3088
+-90.452 31.8 3109
+-90.326 31.8 3143
+-90.2 31.8 3220
+-90.074 31.8 3272
+-89.948 31.8 3286
+-89.822 31.8 3321
+-89.696 31.8 3352
+-89.57 31.8 3361
+-89.444 31.8 3388
+-89.318 31.8 3392
+-89.192 31.8 3397
+-89.066 31.8 3393
+-88.94 31.8 3389
+-88.814 31.8 3374
+-88.688 31.8 3353
+-88.562 31.8 3311
+-88.436 31.8 3244
+-88.31 31.8 3203
+-88.184 31.8 3239
+-88.058 31.8 3288
+-87.932 31.8 3311
+-87.806 31.8 3324
+-87.68 31.8 3331
+-87.554 31.8 3343
+-87.428 31.8 3354
+-87.302 31.8 3418
+-87.176 31.8 3425
+-87.05 31.8 3501
+-86.924 31.8 3528
+-86.798 31.8 3577
+-86.672 31.8 3664
+-86.546 31.8 3696
+-86.42 31.8 3789
+-86.294 31.8 3821
+-86.168 31.8 3836
+-86.042 31.8 3824
+-85.916 31.8 3827
+-85.79 31.8 3883
+-85.664 31.8 3974
+-85.538 31.8 4092
+-85.412 31.8 4160
+-85.286 31.8 4186
+-85.16 31.8 4258
+-85.034 31.8 4367
+-84.908 31.8 4488
+-84.782 31.8 4603
+-84.656 31.8 4684
+-84.53 31.8 4721
+-84.404 31.8 4739
+-84.278 31.8 4798
+-84.152 31.8 4840
+-84.026 31.8 4921
+-83.9 31.8 5009
+-83.774 31.8 5056
+-83.648 31.8 5116
+-83.522 31.8 5120
+-83.396 31.8 5143
+-83.27 31.8 5192
+-83.144 31.8 5243
+-83.018 31.8 5275
+-82.892 31.8 5316
+-82.766 31.8 5286
+-82.64 31.8 5312
+-82.514 31.8 5346
+-82.388 31.8 5378
+-82.262 31.8 5398
+-82.136 31.8 5390
+-82.01 31.8 5388
+-81.884 31.8 5384
+-81.758 31.8 5370
+-81.632 31.8 5357
+-81.506 31.8 5315
+-81.38 31.8 5271
+-81.254 31.8 5240
+-81.128 31.8 5206
+-81.002 31.8 5159
+-80.876 31.8 5133
+-80.75 31.8 5071
+-80.624 31.8 5024
+-80.498 31.8 4969
+-80.372 31.8 4924
+-80.246 31.8 4840
+-80.12 31.8 4798
+-79.994 31.8 4729
+-79.868 31.8 4633
+-79.742 31.8 4539
+-79.616 31.8 4576
+-79.49 31.8 4565
+-79.364 31.8 4495
+-79.238 31.8 4439
+-79.112 31.8 4360
+-78.986 31.8 4279
+-78.86 31.8 4213
+-78.734 31.8 4151
+-78.608 31.8 4071
+-78.482 31.8 3936
+-78.356 31.8 3849
+-78.23 31.8 3735
+-78.104 31.8 3564
+-77.978 31.8 3371
+-77.852 31.8 3262
+-77.726 31.8 3251
+-77.6 31.8 3186
+-77.474 31.8 3030
+-77.348 31.8 2866
+-77.222 31.8 2783
+-77.096 31.8 2816
+-76.97 31.8 2891
+-76.844 31.8 2977
+-76.718 31.8 3031
+-76.592 31.8 3086
+-76.466 31.8 3128
+-76.34 31.8 3170
+-76.214 31.8 3208
+-76.088 31.8 3230
+-75.962 31.8 3247
+-75.836 31.8 3261
+-75.71 31.8 3274
+-75.584 31.8 3285
+-75.458 31.8 3245
+-75.332 31.8 3252
+-75.206 31.8 3262
+-75.08 31.8 3222
+-74.954 31.8 3209
+-74.828 31.8 3255
+-74.702 31.8 3243
+-74.576 31.8 3232
+-74.45 31.8 3241
+-74.324 31.8 3240
+-74.198 31.8 3256
+-74.072 31.8 3265
+-73.946 31.8 3273
+-73.82 31.8 3280
+-73.694 31.8 3288
+-73.568 31.8 3353
+-73.442 31.8 3362
+-73.316 31.8 3314
+-73.19 31.8 3321
+-73.064 31.8 3329
+-72.938 31.8 3336
+-72.812 31.8 3337
+-72.686 31.8 3316
+-72.56 31.8 3311
+-72.434 31.8 3277
+-72.308 31.8 3283
+-72.182 31.8 3251
+-72.056 31.8 3291
+-71.93 31.8 3296
+-71.804 31.8 3301
+-71.678 31.8 3306
+-71.552 31.8 3311
+-71.426 31.8 3316
+-71.3 31.8 3320
+-71.174 31.8 3299
+-71.048 31.8 3303
+-70.922 31.8 3307
+-70.796 31.8 3283
+-70.67 31.8 3254
+-70.544 31.8 3239
+-70.418 31.8 3242
+-70.292 31.8 3245
+-70.166 31.8 3247
+-70.04 31.8 3250
+-69.914 31.8 3252
+-69.788 31.8 3255
+-69.662 31.8 3180
+-69.536 31.8 3168
+-69.41 31.8 3170
+-69.284 31.8 3173
+-69.158 31.8 3175
+-69.032 31.8 3178
+-68.906 31.8 3180
+-68.78 31.8 3182
+-68.654 31.8 3184
+-68.528 31.8 3186
+-68.402 31.8 3188
+-68.276 31.8 3190
+-68.15 31.8 3192
+-68.024 31.8 3194
+-67.898 31.8 3195
+-67.772 31.8 3197
+-67.646 31.8 3185
+-67.52 31.8 3187
+-67.394 31.8 3189
+-67.268 31.8 3191
+-67.142 31.8 3193
+-67.016 31.8 3149
+-66.89 31.8 3151
+-66.764 31.8 3152
+-66.638 31.8 3153
+-66.512 31.8 3154
+-66.386 31.8 3155
+-66.26 31.8 3158
+-66.134 31.8 3159
+-66.008 31.8 3134
+-65.882 31.8 3120
+-65.756 31.8 3121
+-65.63 31.8 3122
+-65.504 31.8 3123
+-65.378 31.8 3123
+-65.252 31.8 3124
+-65.126 31.8 3125
+-128 31.748 2614
+-127.874 31.748 2685
+-127.748 31.748 2687
+-127.622 31.748 2791
+-127.496 31.748 2790
+-127.37 31.748 2789
+-127.244 31.748 2788
+-127.118 31.748 2787
+-126.992 31.748 2786
+-126.866 31.748 2785
+-126.74 31.748 2813
+-126.614 31.748 2811
+-126.488 31.748 2809
+-126.362 31.748 2902
+-126.236 31.748 2900
+-126.11 31.748 2898
+-125.984 31.748 2896
+-125.858 31.748 2893
+-125.732 31.748 2891
+-125.606 31.748 2888
+-125.48 31.748 2902
+-125.354 31.748 2986
+-125.228 31.748 2979
+-125.102 31.748 3032
+-124.976 31.748 3022
+-124.85 31.748 3012
+-124.724 31.748 3004
+-124.598 31.748 2998
+-124.472 31.748 3010
+-124.346 31.748 3024
+-124.22 31.748 3027
+-124.094 31.748 3033
+-123.968 31.748 3055
+-123.842 31.748 3057
+-123.716 31.748 3084
+-123.59 31.748 3091
+-123.464 31.748 3120
+-123.338 31.748 3154
+-123.212 31.748 3240
+-123.086 31.748 3352
+-122.96 31.748 3480
+-122.834 31.748 3579
+-122.708 31.748 3595
+-122.582 31.748 3596
+-122.456 31.748 3654
+-122.33 31.748 3749
+-122.204 31.748 3910
+-122.078 31.748 4027
+-121.952 31.748 4178
+-121.826 31.748 4323
+-121.7 31.748 4465
+-121.574 31.748 4647
+-121.448 31.748 4742
+-121.322 31.748 4868
+-121.196 31.748 4996
+-121.07 31.748 5162
+-120.944 31.748 5304
+-120.818 31.748 5346
+-120.692 31.748 5498
+-120.566 31.748 5671
+-120.44 31.748 5804
+-120.314 31.748 5853
+-120.188 31.748 6060
+-120.062 31.748 6196
+-119.936 31.748 6249
+-119.81 31.748 6419
+-119.684 31.748 6557
+-119.558 31.748 6699
+-119.432 31.748 6840
+-119.306 31.748 6993
+-119.18 31.748 7033
+-119.054 31.748 7141
+-118.928 31.748 7277
+-118.802 31.748 7433
+-118.676 31.748 7552
+-118.55 31.748 7637
+-118.424 31.748 7772
+-118.298 31.748 7848
+-118.172 31.748 7991
+-118.046 31.748 8060
+-117.92 31.748 8198
+-117.794 31.748 8271
+-117.668 31.748 8351
+-117.542 31.748 8414
+-117.416 31.748 8452
+-117.29 31.748 8495
+-117.164 31.748 8514
+-117.038 31.748 8500
+-116.912 31.748 8495
+-116.786 31.748 8512
+-116.66 31.748 8479
+-116.534 31.748 8406
+-116.408 31.748 8320
+-116.282 31.748 8268
+-116.156 31.748 8175
+-116.03 31.748 8082
+-115.904 31.748 7987
+-115.778 31.748 7911
+-115.652 31.748 7816
+-115.526 31.748 7699
+-115.4 31.748 7580
+-115.274 31.748 7478
+-115.148 31.748 7340
+-115.022 31.748 7217
+-114.896 31.748 7097
+-114.77 31.748 6950
+-114.644 31.748 6847
+-114.518 31.748 6690
+-114.392 31.748 6537
+-114.266 31.748 6390
+-114.14 31.748 6349
+-114.014 31.748 6200
+-113.888 31.748 6082
+-113.762 31.748 6000
+-113.636 31.748 6048
+-113.51 31.748 6149
+-113.384 31.748 6257
+-113.258 31.748 6396
+-113.132 31.748 6561
+-113.006 31.748 6619
+-112.88 31.748 6806
+-112.754 31.748 6906
+-112.628 31.748 7075
+-112.502 31.748 7207
+-112.376 31.748 7365
+-112.25 31.748 7432
+-112.124 31.748 7557
+-111.998 31.748 7698
+-111.872 31.748 7855
+-111.746 31.748 8026
+-111.62 31.748 8184
+-111.494 31.748 8255
+-111.368 31.748 8378
+-111.242 31.748 8554
+-111.116 31.748 8664
+-110.99 31.748 8829
+-110.864 31.748 8900
+-110.738 31.748 9078
+-110.612 31.748 9205
+-110.486 31.748 9316
+-110.36 31.748 9295
+-110.234 31.748 9214
+-110.108 31.748 9108
+-109.982 31.748 8962
+-109.856 31.748 8885
+-109.73 31.748 8740
+-109.604 31.748 8624
+-109.478 31.748 8469
+-109.352 31.748 8300
+-109.226 31.748 8206
+-109.1 31.748 8032
+-108.974 31.748 7930
+-108.848 31.748 7726
+-108.722 31.748 7675
+-108.596 31.748 7539
+-108.47 31.748 7372
+-108.344 31.748 7239
+-108.218 31.748 7095
+-108.092 31.748 7010
+-107.966 31.748 6810
+-107.84 31.748 6753
+-107.714 31.748 6584
+-107.588 31.748 6375
+-107.462 31.748 6346
+-107.336 31.748 6190
+-107.21 31.748 6006
+-107.084 31.748 5813
+-106.958 31.748 5693
+-106.832 31.748 5587
+-106.706 31.748 5413
+-106.58 31.748 5413
+-106.454 31.748 5278
+-106.328 31.748 5114
+-106.202 31.748 4919
+-106.076 31.748 4763
+-105.95 31.748 4787
+-105.824 31.748 4712
+-105.698 31.748 4630
+-105.572 31.748 4589
+-105.446 31.748 4541
+-105.32 31.748 4483
+-105.194 31.748 4402
+-105.068 31.748 4355
+-104.942 31.748 4249
+-104.816 31.748 4223
+-104.69 31.748 4208
+-104.564 31.748 4089
+-104.438 31.748 4045
+-104.312 31.748 4012
+-104.186 31.748 3974
+-104.06 31.748 3891
+-103.934 31.748 3821
+-103.808 31.748 3748
+-103.682 31.748 3720
+-103.556 31.748 3657
+-103.43 31.748 3601
+-103.304 31.748 3560
+-103.178 31.748 3489
+-103.052 31.748 3488
+-102.926 31.748 3489
+-102.8 31.748 3492
+-102.674 31.748 3433
+-102.548 31.748 3436
+-102.422 31.748 3439
+-102.296 31.748 3442
+-102.17 31.748 3446
+-102.044 31.748 3450
+-101.918 31.748 3454
+-101.792 31.748 3310
+-101.666 31.748 3294
+-101.54 31.748 3297
+-101.414 31.748 3244
+-101.288 31.748 3107
+-101.162 31.748 3102
+-101.036 31.748 3102
+-100.91 31.748 3103
+-100.784 31.748 3103
+-100.658 31.748 3104
+-100.532 31.748 3104
+-100.406 31.748 3043
+-100.28 31.748 3012
+-100.154 31.748 2846
+-100.028 31.748 2833
+-99.902 31.748 2818
+-99.776 31.748 2802
+-99.65 31.748 2785
+-99.524 31.748 2749
+-99.398 31.748 2540
+-99.272 31.748 2446
+-99.146 31.748 2406
+-99.02 31.748 2382
+-98.894 31.748 2347
+-98.768 31.748 2317
+-98.642 31.748 2307
+-98.516 31.748 2300
+-98.39 31.748 2279
+-98.264 31.748 2261
+-98.138 31.748 2322
+-98.012 31.748 2346
+-97.886 31.748 2290
+-97.76 31.748 2298
+-97.634 31.748 2338
+-97.508 31.748 2306
+-97.382 31.748 2267
+-97.256 31.748 2229
+-97.13 31.748 2182
+-97.004 31.748 2131
+-96.878 31.748 2076
+-96.752 31.748 2058
+-96.626 31.748 1976
+-96.5 31.748 1919
+-96.374 31.748 1865
+-96.248 31.748 1782
+-96.122 31.748 1658
+-95.996 31.748 1567
+-95.87 31.748 1499
+-95.744 31.748 1405
+-95.618 31.748 1320
+-95.492 31.748 1251
+-95.366 31.748 1196
+-95.24 31.748 1169
+-95.114 31.748 1182
+-94.988 31.748 1221
+-94.862 31.748 1312
+-94.736 31.748 1426
+-94.61 31.748 1560
+-94.484 31.748 1707
+-94.358 31.748 1862
+-94.232 31.748 2027
+-94.106 31.748 2159
+-93.98 31.748 2276
+-93.854 31.748 2380
+-93.728 31.748 2469
+-93.602 31.748 2571
+-93.476 31.748 2581
+-93.35 31.748 2637
+-93.224 31.748 2685
+-93.098 31.748 2685
+-92.972 31.748 2719
+-92.846 31.748 2745
+-92.72 31.748 2755
+-92.594 31.748 2773
+-92.468 31.748 2786
+-92.342 31.748 2796
+-92.216 31.748 2841
+-92.09 31.748 2936
+-91.964 31.748 2944
+-91.838 31.748 2954
+-91.712 31.748 2953
+-91.586 31.748 2962
+-91.46 31.748 2965
+-91.334 31.748 2977
+-91.208 31.748 2986
+-91.082 31.748 2992
+-90.956 31.748 2993
+-90.83 31.748 2986
+-90.704 31.748 2976
+-90.578 31.748 2969
+-90.452 31.748 2978
+-90.326 31.748 2997
+-90.2 31.748 3051
+-90.074 31.748 3169
+-89.948 31.748 3226
+-89.822 31.748 3247
+-89.696 31.748 3280
+-89.57 31.748 3309
+-89.444 31.748 3357
+-89.318 31.748 3364
+-89.192 31.748 3347
+-89.066 31.748 3349
+-88.94 31.748 3345
+-88.814 31.748 3332
+-88.688 31.748 3314
+-88.562 31.748 3296
+-88.436 31.748 3253
+-88.31 31.748 3228
+-88.184 31.748 3236
+-88.058 31.748 3256
+-87.932 31.748 3266
+-87.806 31.748 3289
+-87.68 31.748 3293
+-87.554 31.748 3318
+-87.428 31.748 3365
+-87.302 31.748 3407
+-87.176 31.748 3454
+-87.05 31.748 3506
+-86.924 31.748 3540
+-86.798 31.748 3588
+-86.672 31.748 3679
+-86.546 31.748 3749
+-86.42 31.748 3817
+-86.294 31.748 3850
+-86.168 31.748 3860
+-86.042 31.748 3825
+-85.916 31.748 3785
+-85.79 31.748 3875
+-85.664 31.748 4018
+-85.538 31.748 4132
+-85.412 31.748 4216
+-85.286 31.748 4282
+-85.16 31.748 4358
+-85.034 31.748 4437
+-84.908 31.748 4551
+-84.782 31.748 4668
+-84.656 31.748 4718
+-84.53 31.748 4717
+-84.404 31.748 4774
+-84.278 31.748 4841
+-84.152 31.748 4904
+-84.026 31.748 4960
+-83.9 31.748 5056
+-83.774 31.748 5105
+-83.648 31.748 5157
+-83.522 31.748 5182
+-83.396 31.748 5195
+-83.27 31.748 5234
+-83.144 31.748 5255
+-83.018 31.748 5288
+-82.892 31.748 5315
+-82.766 31.748 5351
+-82.64 31.748 5393
+-82.514 31.748 5437
+-82.388 31.748 5476
+-82.262 31.748 5473
+-82.136 31.748 5491
+-82.01 31.748 5451
+-81.884 31.748 5419
+-81.758 31.748 5364
+-81.632 31.748 5398
+-81.506 31.748 5390
+-81.38 31.748 5351
+-81.254 31.748 5304
+-81.128 31.748 5276
+-81.002 31.748 5212
+-80.876 31.748 5182
+-80.75 31.748 5120
+-80.624 31.748 5078
+-80.498 31.748 5031
+-80.372 31.748 4984
+-80.246 31.748 4927
+-80.12 31.748 4884
+-79.994 31.748 4819
+-79.868 31.748 4702
+-79.742 31.748 4617
+-79.616 31.748 4599
+-79.49 31.748 4574
+-79.364 31.748 4496
+-79.238 31.748 4415
+-79.112 31.748 4341
+-78.986 31.748 4303
+-78.86 31.748 4227
+-78.734 31.748 4145
+-78.608 31.748 3991
+-78.482 31.748 3928
+-78.356 31.748 3878
+-78.23 31.748 3795
+-78.104 31.748 3667
+-77.978 31.748 3524
+-77.852 31.748 3382
+-77.726 31.748 3303
+-77.6 31.748 3174
+-77.474 31.748 2978
+-77.348 31.748 2791
+-77.222 31.748 2701
+-77.096 31.748 2770
+-76.97 31.748 2866
+-76.844 31.748 2951
+-76.718 31.748 3014
+-76.592 31.748 3073
+-76.466 31.748 3125
+-76.34 31.748 3170
+-76.214 31.748 3197
+-76.088 31.748 3218
+-75.962 31.748 3235
+-75.836 31.748 3249
+-75.71 31.748 3261
+-75.584 31.748 3225
+-75.458 31.748 3232
+-75.332 31.748 3243
+-75.206 31.748 3205
+-75.08 31.748 3194
+-74.954 31.748 3240
+-74.828 31.748 3229
+-74.702 31.748 3219
+-74.576 31.748 3228
+-74.45 31.748 3228
+-74.324 31.748 3245
+-74.198 31.748 3254
+-74.072 31.748 3263
+-73.946 31.748 3271
+-73.82 31.748 3279
+-73.694 31.748 3343
+-73.568 31.748 3353
+-73.442 31.748 3306
+-73.316 31.748 3314
+-73.19 31.748 3322
+-73.064 31.748 3330
+-72.938 31.748 3331
+-72.812 31.748 3311
+-72.686 31.748 3305
+-72.56 31.748 3273
+-72.434 31.748 3279
+-72.308 31.748 3248
+-72.182 31.748 3287
+-72.056 31.748 3292
+-71.93 31.748 3298
+-71.804 31.748 3303
+-71.678 31.748 3308
+-71.552 31.748 3313
+-71.426 31.748 3318
+-71.3 31.748 3297
+-71.174 31.748 3301
+-71.048 31.748 3305
+-70.922 31.748 3281
+-70.796 31.748 3253
+-70.67 31.748 3238
+-70.544 31.748 3241
+-70.418 31.748 3244
+-70.292 31.748 3246
+-70.166 31.748 3249
+-70.04 31.748 3251
+-69.914 31.748 3254
+-69.788 31.748 3179
+-69.662 31.748 3167
+-69.536 31.748 3169
+-69.41 31.748 3172
+-69.284 31.748 3174
+-69.158 31.748 3177
+-69.032 31.748 3179
+-68.906 31.748 3181
+-68.78 31.748 3184
+-68.654 31.748 3186
+-68.528 31.748 3188
+-68.402 31.748 3190
+-68.276 31.748 3191
+-68.15 31.748 3193
+-68.024 31.748 3195
+-67.898 31.748 3197
+-67.772 31.748 3185
+-67.646 31.748 3187
+-67.52 31.748 3189
+-67.394 31.748 3191
+-67.268 31.748 3192
+-67.142 31.748 3149
+-67.016 31.748 3150
+-66.89 31.748 3152
+-66.764 31.748 3153
+-66.638 31.748 3154
+-66.512 31.748 3155
+-66.386 31.748 3158
+-66.26 31.748 3159
+-66.134 31.748 3133
+-66.008 31.748 3120
+-65.882 31.748 3121
+-65.756 31.748 3122
+-65.63 31.748 3122
+-65.504 31.748 3123
+-65.378 31.748 3124
+-65.252 31.748 3125
+-65.126 31.748 3125
+-128 31.696 2611
+-127.874 31.696 2611
+-127.748 31.696 2687
+-127.622 31.696 2681
+-127.496 31.696 2795
+-127.37 31.696 2794
+-127.244 31.696 2794
+-127.118 31.696 2793
+-126.992 31.696 2792
+-126.866 31.696 2821
+-126.74 31.696 2819
+-126.614 31.696 2818
+-126.488 31.696 2912
+-126.362 31.696 2910
+-126.236 31.696 2909
+-126.11 31.696 2907
+-125.984 31.696 2905
+-125.858 31.696 2904
+-125.732 31.696 2902
+-125.606 31.696 2958
+-125.48 31.696 3005
+-125.354 31.696 3000
+-125.228 31.696 3055
+-125.102 31.696 3047
+-124.976 31.696 3040
+-124.85 31.696 3032
+-124.724 31.696 3026
+-124.598 31.696 3038
+-124.472 31.696 3049
+-124.346 31.696 3047
+-124.22 31.696 3045
+-124.094 31.696 3061
+-123.968 31.696 3052
+-123.842 31.696 3065
+-123.716 31.696 3044
+-123.59 31.696 2996
+-123.464 31.696 2951
+-123.338 31.696 2969
+-123.212 31.696 3081
+-123.086 31.696 3263
+-122.96 31.696 3412
+-122.834 31.696 3536
+-122.708 31.696 3543
+-122.582 31.696 3451
+-122.456 31.696 3635
+-122.33 31.696 3755
+-122.204 31.696 3905
+-122.078 31.696 3940
+-121.952 31.696 4150
+-121.826 31.696 4314
+-121.7 31.696 4433
+-121.574 31.696 4613
+-121.448 31.696 4718
+-121.322 31.696 4812
+-121.196 31.696 4952
+-121.07 31.696 5175
+-120.944 31.696 5296
+-120.818 31.696 5331
+-120.692 31.696 5455
+-120.566 31.696 5652
+-120.44 31.696 5785
+-120.314 31.696 5905
+-120.188 31.696 6038
+-120.062 31.696 6168
+-119.936 31.696 6279
+-119.81 31.696 6408
+-119.684 31.696 6533
+-119.558 31.696 6675
+-119.432 31.696 6807
+-119.306 31.696 6907
+-119.18 31.696 7011
+-119.054 31.696 7145
+-118.928 31.696 7227
+-118.802 31.696 7390
+-118.676 31.696 7529
+-118.55 31.696 7631
+-118.424 31.696 7748
+-118.298 31.696 7840
+-118.172 31.696 7942
+-118.046 31.696 8037
+-117.92 31.696 8157
+-117.794 31.696 8234
+-117.668 31.696 8321
+-117.542 31.696 8345
+-117.416 31.696 8421
+-117.29 31.696 8436
+-117.164 31.696 8486
+-117.038 31.696 8465
+-116.912 31.696 8486
+-116.786 31.696 8436
+-116.66 31.696 8414
+-116.534 31.696 8371
+-116.408 31.696 8297
+-116.282 31.696 8220
+-116.156 31.696 8104
+-116.03 31.696 8071
+-115.904 31.696 7931
+-115.778 31.696 7867
+-115.652 31.696 7743
+-115.526 31.696 7629
+-115.4 31.696 7542
+-115.274 31.696 7403
+-115.148 31.696 7276
+-115.022 31.696 7153
+-114.896 31.696 7036
+-114.77 31.696 6918
+-114.644 31.696 6760
+-114.518 31.696 6645
+-114.392 31.696 6544
+-114.266 31.696 6366
+-114.14 31.696 6284
+-114.014 31.696 6191
+-113.888 31.696 6062
+-113.762 31.696 5792
+-113.636 31.696 5971
+-113.51 31.696 6129
+-113.384 31.696 6295
+-113.258 31.696 6419
+-113.132 31.696 6513
+-113.006 31.696 6661
+-112.88 31.696 6739
+-112.754 31.696 6889
+-112.628 31.696 7057
+-112.502 31.696 7258
+-112.376 31.696 7308
+-112.25 31.696 7435
+-112.124 31.696 7560
+-111.998 31.696 7731
+-111.872 31.696 7814
+-111.746 31.696 7980
+-111.62 31.696 8146
+-111.494 31.696 8335
+-111.368 31.696 8357
+-111.242 31.696 8529
+-111.116 31.696 8679
+-110.99 31.696 8811
+-110.864 31.696 8956
+-110.738 31.696 9099
+-110.612 31.696 9225
+-110.486 31.696 9369
+-110.36 31.696 9353
+-110.234 31.696 9229
+-110.108 31.696 9108
+-109.982 31.696 9033
+-109.856 31.696 8904
+-109.73 31.696 8734
+-109.604 31.696 8570
+-109.478 31.696 8463
+-109.352 31.696 8335
+-109.226 31.696 8177
+-109.1 31.696 8090
+-108.974 31.696 7894
+-108.848 31.696 7770
+-108.722 31.696 7654
+-108.596 31.696 7552
+-108.47 31.696 7364
+-108.344 31.696 7208
+-108.218 31.696 7103
+-108.092 31.696 6910
+-107.966 31.696 6853
+-107.84 31.696 6725
+-107.714 31.696 6585
+-107.588 31.696 6476
+-107.462 31.696 6354
+-107.336 31.696 6195
+-107.21 31.696 6033
+-107.084 31.696 5834
+-106.958 31.696 5708
+-106.832 31.696 5603
+-106.706 31.696 5508
+-106.58 31.696 5444
+-106.454 31.696 5297
+-106.328 31.696 5130
+-106.202 31.696 4926
+-106.076 31.696 4828
+-105.95 31.696 4751
+-105.824 31.696 4667
+-105.698 31.696 4644
+-105.572 31.696 4618
+-105.446 31.696 4559
+-105.32 31.696 4519
+-105.194 31.696 4452
+-105.068 31.696 4357
+-104.942 31.696 4283
+-104.816 31.696 4252
+-104.69 31.696 4155
+-104.564 31.696 4091
+-104.438 31.696 4049
+-104.312 31.696 3979
+-104.186 31.696 3883
+-104.06 31.696 3800
+-103.934 31.696 3755
+-103.808 31.696 3716
+-103.682 31.696 3610
+-103.556 31.696 3547
+-103.43 31.696 3505
+-103.304 31.696 3448
+-103.178 31.696 3449
+-103.052 31.696 3438
+-102.926 31.696 3444
+-102.8 31.696 3390
+-102.674 31.696 3396
+-102.548 31.696 3402
+-102.422 31.696 3408
+-102.296 31.696 3414
+-102.17 31.696 3420
+-102.044 31.696 3426
+-101.918 31.696 3432
+-101.792 31.696 3437
+-101.666 31.696 3300
+-101.54 31.696 3229
+-101.414 31.696 3231
+-101.288 31.696 3107
+-101.162 31.696 3090
+-101.036 31.696 3091
+-100.91 31.696 3092
+-100.784 31.696 3093
+-100.658 31.696 3094
+-100.532 31.696 3034
+-100.406 31.696 3003
+-100.28 31.696 3005
+-100.154 31.696 2839
+-100.028 31.696 2825
+-99.902 31.696 2811
+-99.776 31.696 2795
+-99.65 31.696 2778
+-99.524 31.696 2742
+-99.398 31.696 2551
+-99.272 31.696 2442
+-99.146 31.696 2418
+-99.02 31.696 2377
+-98.894 31.696 2345
+-98.768 31.696 2309
+-98.642 31.696 2295
+-98.516 31.696 2281
+-98.39 31.696 2264
+-98.264 31.696 2249
+-98.138 31.696 2228
+-98.012 31.696 2247
+-97.886 31.696 2303
+-97.76 31.696 2273
+-97.634 31.696 2241
+-97.508 31.696 2277
+-97.382 31.696 2240
+-97.256 31.696 2193
+-97.13 31.696 2143
+-97.004 31.696 2088
+-96.878 31.696 2071
+-96.752 31.696 1988
+-96.626 31.696 1930
+-96.5 31.696 1874
+-96.374 31.696 1785
+-96.248 31.696 1655
+-96.122 31.696 1553
+-95.996 31.696 1472
+-95.87 31.696 1356
+-95.744 31.696 1244
+-95.618 31.696 1138
+-95.492 31.696 1039
+-95.366 31.696 963
+-95.24 31.696 924
+-95.114 31.696 921
+-94.988 31.696 974
+-94.862 31.696 1069
+-94.736 31.696 1203
+-94.61 31.696 1368
+-94.484 31.696 1549
+-94.358 31.696 1744
+-94.232 31.696 1913
+-94.106 31.696 2067
+-93.98 31.696 2204
+-93.854 31.696 2323
+-93.728 31.696 2448
+-93.602 31.696 2481
+-93.476 31.696 2554
+-93.35 31.696 2616
+-93.224 31.696 2629
+-93.098 31.696 2672
+-92.972 31.696 2707
+-92.846 31.696 2724
+-92.72 31.696 2748
+-92.594 31.696 2765
+-92.468 31.696 2776
+-92.342 31.696 2821
+-92.216 31.696 2835
+-92.09 31.696 2846
+-91.964 31.696 2933
+-91.838 31.696 2923
+-91.712 31.696 2925
+-91.586 31.696 2922
+-91.46 31.696 2928
+-91.334 31.696 2929
+-91.208 31.696 2939
+-91.082 31.696 2942
+-90.956 31.696 2936
+-90.83 31.696 2901
+-90.704 31.696 2898
+-90.578 31.696 2857
+-90.452 31.696 2852
+-90.326 31.696 2893
+-90.2 31.696 2961
+-90.074 31.696 3054
+-89.948 31.696 3105
+-89.822 31.696 3146
+-89.696 31.696 3186
+-89.57 31.696 3207
+-89.444 31.696 3246
+-89.318 31.696 3262
+-89.192 31.696 3297
+-89.066 31.696 3290
+-88.94 31.696 3290
+-88.814 31.696 3295
+-88.688 31.696 3287
+-88.562 31.696 3268
+-88.436 31.696 3256
+-88.31 31.696 3236
+-88.184 31.696 3230
+-88.058 31.696 3231
+-87.932 31.696 3238
+-87.806 31.696 3254
+-87.68 31.696 3273
+-87.554 31.696 3295
+-87.428 31.696 3368
+-87.302 31.696 3396
+-87.176 31.696 3462
+-87.05 31.696 3513
+-86.924 31.696 3578
+-86.798 31.696 3623
+-86.672 31.696 3687
+-86.546 31.696 3759
+-86.42 31.696 3814
+-86.294 31.696 3857
+-86.168 31.696 3892
+-86.042 31.696 3885
+-85.916 31.696 3863
+-85.79 31.696 3953
+-85.664 31.696 4086
+-85.538 31.696 4190
+-85.412 31.696 4280
+-85.286 31.696 4379
+-85.16 31.696 4458
+-85.034 31.696 4515
+-84.908 31.696 4587
+-84.782 31.696 4680
+-84.656 31.696 4727
+-84.53 31.696 4758
+-84.404 31.696 4823
+-84.278 31.696 4910
+-84.152 31.696 4937
+-84.026 31.696 4994
+-83.9 31.696 5089
+-83.774 31.696 5148
+-83.648 31.696 5204
+-83.522 31.696 5240
+-83.396 31.696 5268
+-83.27 31.696 5291
+-83.144 31.696 5320
+-83.018 31.696 5364
+-82.892 31.696 5401
+-82.766 31.696 5437
+-82.64 31.696 5483
+-82.514 31.696 5528
+-82.388 31.696 5544
+-82.262 31.696 5563
+-82.136 31.696 5557
+-82.01 31.696 5532
+-81.884 31.696 5471
+-81.758 31.696 5456
+-81.632 31.696 5444
+-81.506 31.696 5442
+-81.38 31.696 5413
+-81.254 31.696 5376
+-81.128 31.696 5334
+-81.002 31.696 5276
+-80.876 31.696 5214
+-80.75 31.696 5173
+-80.624 31.696 5126
+-80.498 31.696 5099
+-80.372 31.696 5044
+-80.246 31.696 4963
+-80.12 31.696 4908
+-79.994 31.696 4884
+-79.868 31.696 4784
+-79.742 31.696 4662
+-79.616 31.696 4587
+-79.49 31.696 4567
+-79.364 31.696 4485
+-79.238 31.696 4389
+-79.112 31.696 4285
+-78.986 31.696 4299
+-78.86 31.696 4247
+-78.734 31.696 4121
+-78.608 31.696 3993
+-78.482 31.696 3892
+-78.356 31.696 3884
+-78.23 31.696 3850
+-78.104 31.696 3763
+-77.978 31.696 3603
+-77.852 31.696 3483
+-77.726 31.696 3358
+-77.6 31.696 3192
+-77.474 31.696 2973
+-77.348 31.696 2801
+-77.222 31.696 2732
+-77.096 31.696 2781
+-76.97 31.696 2872
+-76.844 31.696 2967
+-76.718 31.696 3039
+-76.592 31.696 3079
+-76.466 31.696 3132
+-76.34 31.696 3164
+-76.214 31.696 3188
+-76.088 31.696 3207
+-75.962 31.696 3222
+-75.836 31.696 3235
+-75.71 31.696 3202
+-75.584 31.696 3210
+-75.458 31.696 3222
+-75.332 31.696 3187
+-75.206 31.696 3178
+-75.08 31.696 3222
+-74.954 31.696 3214
+-74.828 31.696 3204
+-74.702 31.696 3214
+-74.576 31.696 3215
+-74.45 31.696 3233
+-74.324 31.696 3242
+-74.198 31.696 3252
+-74.072 31.696 3261
+-73.946 31.696 3269
+-73.82 31.696 3332
+-73.694 31.696 3343
+-73.568 31.696 3297
+-73.442 31.696 3306
+-73.316 31.696 3315
+-73.19 31.696 3323
+-73.064 31.696 3324
+-72.938 31.696 3305
+-72.812 31.696 3300
+-72.686 31.696 3268
+-72.56 31.696 3274
+-72.434 31.696 3244
+-72.308 31.696 3283
+-72.182 31.696 3289
+-72.056 31.696 3294
+-71.93 31.696 3300
+-71.804 31.696 3305
+-71.678 31.696 3310
+-71.552 31.696 3315
+-71.426 31.696 3294
+-71.3 31.696 3299
+-71.174 31.696 3303
+-71.048 31.696 3280
+-70.922 31.696 3251
+-70.796 31.696 3236
+-70.67 31.696 3239
+-70.544 31.696 3242
+-70.418 31.696 3245
+-70.292 31.696 3248
+-70.166 31.696 3251
+-70.04 31.696 3253
+-69.914 31.696 3178
+-69.788 31.696 3166
+-69.662 31.696 3169
+-69.536 31.696 3171
+-69.41 31.696 3174
+-69.284 31.696 3176
+-69.158 31.696 3179
+-69.032 31.696 3181
+-68.906 31.696 3183
+-68.78 31.696 3185
+-68.654 31.696 3187
+-68.528 31.696 3189
+-68.402 31.696 3191
+-68.276 31.696 3193
+-68.15 31.696 3195
+-68.024 31.696 3197
+-67.898 31.696 3185
+-67.772 31.696 3187
+-67.646 31.696 3189
+-67.52 31.696 3190
+-67.394 31.696 3192
+-67.268 31.696 3149
+-67.142 31.696 3150
+-67.016 31.696 3152
+-66.89 31.696 3153
+-66.764 31.696 3154
+-66.638 31.696 3156
+-66.512 31.696 3157
+-66.386 31.696 3159
+-66.26 31.696 3133
+-66.134 31.696 3120
+-66.008 31.696 3121
+-65.882 31.696 3121
+-65.756 31.696 3122
+-65.63 31.696 3123
+-65.504 31.696 3124
+-65.378 31.696 3125
+-65.252 31.696 3125
+-65.126 31.696 3126
+-128 31.644 2611
+-127.874 31.644 2615
+-127.748 31.644 2618
+-127.622 31.644 2622
+-127.496 31.644 2626
+-127.37 31.644 2800
+-127.244 31.644 2799
+-127.118 31.644 2799
+-126.992 31.644 2828
+-126.866 31.644 2827
+-126.74 31.644 2825
+-126.614 31.644 2893
+-126.488 31.644 2893
+-126.362 31.644 2892
+-126.236 31.644 2892
+-126.11 31.644 2891
+-125.984 31.644 2891
+-125.858 31.644 2890
+-125.732 31.644 2971
+-125.606 31.644 2967
+-125.48 31.644 3016
+-125.354 31.644 3074
+-125.228 31.644 3067
+-125.102 31.644 3060
+-124.976 31.644 3054
+-124.85 31.644 3048
+-124.724 31.644 3060
+-124.598 31.644 3070
+-124.472 31.644 3065
+-124.346 31.644 3076
+-124.22 31.644 3068
+-124.094 31.644 3063
+-123.968 31.644 3073
+-123.842 31.644 3050
+-123.716 31.644 2991
+-123.59 31.644 2897
+-123.464 31.644 2769
+-123.338 31.644 2702
+-123.212 31.644 2860
+-123.086 31.644 3137
+-122.96 31.644 3350
+-122.834 31.644 3478
+-122.708 31.644 3557
+-122.582 31.644 3579
+-122.456 31.644 3666
+-122.33 31.644 3804
+-122.204 31.644 3860
+-122.078 31.644 3974
+-121.952 31.644 4141
+-121.826 31.644 4306
+-121.7 31.644 4452
+-121.574 31.644 4501
+-121.448 31.644 4683
+-121.322 31.644 4767
+-121.196 31.644 4920
+-121.07 31.644 5163
+-120.944 31.644 5277
+-120.818 31.644 5313
+-120.692 31.644 5455
+-120.566 31.644 5648
+-120.44 31.644 5751
+-120.314 31.644 5853
+-120.188 31.644 6024
+-120.062 31.644 6106
+-119.936 31.644 6272
+-119.81 31.644 6373
+-119.684 31.644 6445
+-119.558 31.644 6621
+-119.432 31.644 6732
+-119.306 31.644 6944
+-119.18 31.644 7002
+-119.054 31.644 7123
+-118.928 31.644 7246
+-118.802 31.644 7368
+-118.676 31.644 7460
+-118.55 31.644 7581
+-118.424 31.644 7712
+-118.298 31.644 7821
+-118.172 31.644 7907
+-118.046 31.644 8031
+-117.92 31.644 8064
+-117.794 31.644 8156
+-117.668 31.644 8262
+-117.542 31.644 8281
+-117.416 31.644 8350
+-117.29 31.644 8369
+-117.164 31.644 8405
+-117.038 31.644 8405
+-116.912 31.644 8439
+-116.786 31.644 8378
+-116.66 31.644 8325
+-116.534 31.644 8278
+-116.408 31.644 8247
+-116.282 31.644 8228
+-116.156 31.644 8104
+-116.03 31.644 8010
+-115.904 31.644 7889
+-115.778 31.644 7790
+-115.652 31.644 7721
+-115.526 31.644 7603
+-115.4 31.644 7480
+-115.274 31.644 7346
+-115.148 31.644 7261
+-115.022 31.644 7108
+-114.896 31.644 7029
+-114.77 31.644 6896
+-114.644 31.644 6781
+-114.518 31.644 6638
+-114.392 31.644 6495
+-114.266 31.644 6375
+-114.14 31.644 6306
+-114.014 31.644 6114
+-113.888 31.644 6063
+-113.762 31.644 5996
+-113.636 31.644 6027
+-113.51 31.644 6065
+-113.384 31.644 6260
+-113.258 31.644 6437
+-113.132 31.644 6523
+-113.006 31.644 6680
+-112.88 31.644 6751
+-112.754 31.644 6934
+-112.628 31.644 7101
+-112.502 31.644 7229
+-112.376 31.644 7378
+-112.25 31.644 7432
+-112.124 31.644 7568
+-111.998 31.644 7683
+-111.872 31.644 7875
+-111.746 31.644 7996
+-111.62 31.644 8136
+-111.494 31.644 8335
+-111.368 31.644 8370
+-111.242 31.644 8534
+-111.116 31.644 8658
+-110.99 31.644 8845
+-110.864 31.644 8982
+-110.738 31.644 9105
+-110.612 31.644 9233
+-110.486 31.644 9347
+-110.36 31.644 9407
+-110.234 31.644 9266
+-110.108 31.644 9143
+-109.982 31.644 8983
+-109.856 31.644 8888
+-109.73 31.644 8715
+-109.604 31.644 8588
+-109.478 31.644 8514
+-109.352 31.644 8370
+-109.226 31.644 8218
+-109.1 31.644 8060
+-108.974 31.644 7901
+-108.848 31.644 7777
+-108.722 31.644 7650
+-108.596 31.644 7528
+-108.47 31.644 7346
+-108.344 31.644 7186
+-108.218 31.644 7124
+-108.092 31.644 6981
+-107.966 31.644 6863
+-107.84 31.644 6767
+-107.714 31.644 6520
+-107.588 31.644 6475
+-107.462 31.644 6325
+-107.336 31.644 6223
+-107.21 31.644 6049
+-107.084 31.644 5831
+-106.958 31.644 5728
+-106.832 31.644 5573
+-106.706 31.644 5514
+-106.58 31.644 5454
+-106.454 31.644 5303
+-106.328 31.644 5122
+-106.202 31.644 4939
+-106.076 31.644 4807
+-105.95 31.644 4706
+-105.824 31.644 4535
+-105.698 31.644 4610
+-105.572 31.644 4640
+-105.446 31.644 4578
+-105.32 31.644 4536
+-105.194 31.644 4475
+-105.068 31.644 4429
+-104.942 31.644 4324
+-104.816 31.644 4224
+-104.69 31.644 4166
+-104.564 31.644 4073
+-104.438 31.644 4018
+-104.312 31.644 3908
+-104.186 31.644 3820
+-104.06 31.644 3757
+-103.934 31.644 3670
+-103.808 31.644 3590
+-103.682 31.644 3515
+-103.556 31.644 3455
+-103.43 31.644 3423
+-103.304 31.644 3380
+-103.178 31.644 3388
+-103.052 31.644 3399
+-102.926 31.644 3354
+-102.8 31.644 3365
+-102.674 31.644 3375
+-102.548 31.644 3386
+-102.422 31.644 3373
+-102.296 31.644 3382
+-102.17 31.644 3391
+-102.044 31.644 3399
+-101.918 31.644 3407
+-101.792 31.644 3326
+-101.666 31.644 3227
+-101.54 31.644 3215
+-101.414 31.644 3217
+-101.288 31.644 3094
+-101.162 31.644 3096
+-101.036 31.644 3080
+-100.91 31.644 3082
+-100.784 31.644 3083
+-100.658 31.644 3023
+-100.532 31.644 2994
+-100.406 31.644 2996
+-100.28 31.644 2997
+-100.154 31.644 2831
+-100.028 31.644 2819
+-99.902 31.644 2804
+-99.776 31.644 2789
+-99.65 31.644 2772
+-99.524 31.644 2753
+-99.398 31.644 2547
+-99.272 31.644 2438
+-99.146 31.644 2414
+-99.02 31.644 2389
+-98.894 31.644 2342
+-98.768 31.644 2300
+-98.642 31.644 2278
+-98.516 31.644 2264
+-98.39 31.644 2254
+-98.264 31.644 2259
+-98.138 31.644 2237
+-98.012 31.644 2265
+-97.886 31.644 2281
+-97.76 31.644 2250
+-97.634 31.644 2215
+-97.508 31.644 2255
+-97.382 31.644 2210
+-97.256 31.644 2161
+-97.13 31.644 2106
+-97.004 31.644 2092
+-96.878 31.644 2010
+-96.752 31.644 1953
+-96.626 31.644 1899
+-96.5 31.644 1809
+-96.374 31.644 1676
+-96.248 31.644 1570
+-96.122 31.644 1483
+-95.996 31.644 1355
+-95.87 31.644 1224
+-95.744 31.644 1092
+-95.618 31.644 956
+-95.492 31.644 834
+-95.366 31.644 739
+-95.24 31.644 677
+-95.114 31.644 670
+-94.988 31.644 718
+-94.862 31.644 824
+-94.736 31.644 984
+-94.61 31.644 1176
+-94.484 31.644 1395
+-94.358 31.644 1603
+-94.232 31.644 1797
+-94.106 31.644 1975
+-93.98 31.644 2132
+-93.854 31.644 2286
+-93.728 31.644 2350
+-93.602 31.644 2446
+-93.476 31.644 2526
+-93.35 31.644 2554
+-93.224 31.644 2610
+-93.098 31.644 2656
+-92.972 31.644 2681
+-92.846 31.644 2712
+-92.72 31.644 2734
+-92.594 31.644 2748
+-92.468 31.644 2797
+-92.342 31.644 2810
+-92.216 31.644 2818
+-92.09 31.644 2824
+-91.964 31.644 2899
+-91.838 31.644 2892
+-91.712 31.644 2851
+-91.586 31.644 2849
+-91.46 31.644 2845
+-91.334 31.644 2848
+-91.208 31.644 2855
+-91.082 31.644 2859
+-90.956 31.644 2860
+-90.83 31.644 2849
+-90.704 31.644 2823
+-90.578 31.644 2786
+-90.452 31.644 2767
+-90.326 31.644 2797
+-90.2 31.644 2860
+-90.074 31.644 2952
+-89.948 31.644 3006
+-89.822 31.644 3057
+-89.696 31.644 3096
+-89.57 31.644 3133
+-89.444 31.644 3157
+-89.318 31.644 3175
+-89.192 31.644 3202
+-89.066 31.644 3209
+-88.94 31.644 3212
+-88.814 31.644 3234
+-88.688 31.644 3227
+-88.562 31.644 3212
+-88.436 31.644 3210
+-88.31 31.644 3198
+-88.184 31.644 3198
+-88.058 31.644 3181
+-87.932 31.644 3178
+-87.806 31.644 3184
+-87.68 31.644 3231
+-87.554 31.644 3279
+-87.428 31.644 3345
+-87.302 31.644 3395
+-87.176 31.644 3486
+-87.05 31.644 3537
+-86.924 31.644 3591
+-86.798 31.644 3629
+-86.672 31.644 3680
+-86.546 31.644 3721
+-86.42 31.644 3828
+-86.294 31.644 3854
+-86.168 31.644 3915
+-86.042 31.644 3960
+-85.916 31.644 4008
+-85.79 31.644 4103
+-85.664 31.644 4188
+-85.538 31.644 4254
+-85.412 31.644 4337
+-85.286 31.644 4447
+-85.16 31.644 4504
+-85.034 31.644 4549
+-84.908 31.644 4620
+-84.782 31.644 4699
+-84.656 31.644 4765
+-84.53 31.644 4817
+-84.404 31.644 4879
+-84.278 31.644 4956
+-84.152 31.644 4993
+-84.026 31.644 5070
+-83.9 31.644 5157
+-83.774 31.644 5189
+-83.648 31.644 5234
+-83.522 31.644 5280
+-83.396 31.644 5328
+-83.27 31.644 5338
+-83.144 31.644 5396
+-83.018 31.644 5432
+-82.892 31.644 5441
+-82.766 31.644 5494
+-82.64 31.644 5549
+-82.514 31.644 5581
+-82.388 31.644 5606
+-82.262 31.644 5613
+-82.136 31.644 5606
+-82.01 31.644 5585
+-81.884 31.644 5530
+-81.758 31.644 5480
+-81.632 31.644 5498
+-81.506 31.644 5473
+-81.38 31.644 5436
+-81.254 31.644 5414
+-81.128 31.644 5357
+-81.002 31.644 5335
+-80.876 31.644 5289
+-80.75 31.644 5222
+-80.624 31.644 5180
+-80.498 31.644 5143
+-80.372 31.644 5076
+-80.246 31.644 5027
+-80.12 31.644 4955
+-79.994 31.644 4918
+-79.868 31.644 4857
+-79.742 31.644 4748
+-79.616 31.644 4657
+-79.49 31.644 4567
+-79.364 31.644 4457
+-79.238 31.644 4440
+-79.112 31.644 4356
+-78.986 31.644 4325
+-78.86 31.644 4236
+-78.734 31.644 4123
+-78.608 31.644 3961
+-78.482 31.644 3840
+-78.356 31.644 3884
+-78.23 31.644 3886
+-78.104 31.644 3788
+-77.978 31.644 3687
+-77.852 31.644 3569
+-77.726 31.644 3430
+-77.6 31.644 3235
+-77.474 31.644 3043
+-77.348 31.644 2880
+-77.222 31.644 2808
+-77.096 31.644 2844
+-76.97 31.644 2923
+-76.844 31.644 2996
+-76.718 31.644 3059
+-76.592 31.644 3098
+-76.466 31.644 3133
+-76.34 31.644 3159
+-76.214 31.644 3179
+-76.088 31.644 3194
+-75.962 31.644 3208
+-75.836 31.644 3178
+-75.71 31.644 3185
+-75.584 31.644 3199
+-75.458 31.644 3167
+-75.332 31.644 3160
+-75.206 31.644 3203
+-75.08 31.644 3196
+-74.954 31.644 3188
+-74.828 31.644 3198
+-74.702 31.644 3201
+-74.576 31.644 3219
+-74.45 31.644 3230
+-74.324 31.644 3240
+-74.198 31.644 3250
+-74.072 31.644 3259
+-73.946 31.644 3320
+-73.82 31.644 3332
+-73.694 31.644 3289
+-73.568 31.644 3298
+-73.442 31.644 3307
+-73.316 31.644 3316
+-73.19 31.644 3317
+-73.064 31.644 3299
+-72.938 31.644 3294
+-72.812 31.644 3263
+-72.686 31.644 3270
+-72.56 31.644 3240
+-72.434 31.644 3278
+-72.308 31.644 3285
+-72.182 31.644 3291
+-72.056 31.644 3297
+-71.93 31.644 3302
+-71.804 31.644 3307
+-71.678 31.644 3312
+-71.552 31.644 3292
+-71.426 31.644 3296
+-71.3 31.644 3301
+-71.174 31.644 3278
+-71.048 31.644 3250
+-70.922 31.644 3235
+-70.796 31.644 3238
+-70.67 31.644 3241
+-70.544 31.644 3244
+-70.418 31.644 3247
+-70.292 31.644 3250
+-70.166 31.644 3252
+-70.04 31.644 3177
+-69.914 31.644 3165
+-69.788 31.644 3168
+-69.662 31.644 3171
+-69.536 31.644 3173
+-69.41 31.644 3176
+-69.284 31.644 3178
+-69.158 31.644 3180
+-69.032 31.644 3183
+-68.906 31.644 3185
+-68.78 31.644 3187
+-68.654 31.644 3189
+-68.528 31.644 3191
+-68.402 31.644 3193
+-68.276 31.644 3195
+-68.15 31.644 3196
+-68.024 31.644 3184
+-67.898 31.644 3186
+-67.772 31.644 3188
+-67.646 31.644 3190
+-67.52 31.644 3192
+-67.394 31.644 3149
+-67.268 31.644 3151
+-67.142 31.644 3152
+-67.016 31.644 3153
+-66.89 31.644 3154
+-66.764 31.644 3156
+-66.638 31.644 3157
+-66.512 31.644 3158
+-66.386 31.644 3133
+-66.26 31.644 3120
+-66.134 31.644 3121
+-66.008 31.644 3121
+-65.882 31.644 3122
+-65.756 31.644 3123
+-65.63 31.644 3124
+-65.504 31.644 3125
+-65.378 31.644 3125
+-65.252 31.644 3126
+-65.126 31.644 3127
+-128 31.592 2608
+-127.874 31.592 2612
+-127.748 31.592 2615
+-127.622 31.592 2619
+-127.496 31.592 2623
+-127.37 31.592 2627
+-127.244 31.592 2805
+-127.118 31.592 2834
+-126.992 31.592 2833
+-126.866 31.592 2832
+-126.74 31.592 2901
+-126.614 31.592 2901
+-126.488 31.592 2900
+-126.362 31.592 2900
+-126.236 31.592 2900
+-126.11 31.592 2900
+-125.984 31.592 2899
+-125.858 31.592 2956
+-125.732 31.592 2953
+-125.606 31.592 3012
+-125.48 31.592 3089
+-125.354 31.592 3083
+-125.228 31.592 3077
+-125.102 31.592 3071
+-124.976 31.592 3066
+-124.85 31.592 3077
+-124.724 31.592 3087
+-124.598 31.592 3082
+-124.472 31.592 3093
+-124.346 31.592 3085
+-124.22 31.592 3080
+-124.094 31.592 3073
+-123.968 31.592 3045
+-123.842 31.592 3033
+-123.716 31.592 2961
+-123.59 31.592 2847
+-123.464 31.592 2676
+-123.338 31.592 2540
+-123.212 31.592 2733
+-123.086 31.592 3033
+-122.96 31.592 3274
+-122.834 31.592 3426
+-122.708 31.592 3552
+-122.582 31.592 3631
+-122.456 31.592 3714
+-122.33 31.592 3810
+-122.204 31.592 3898
+-122.078 31.592 4016
+-121.952 31.592 4155
+-121.826 31.592 4319
+-121.7 31.592 4464
+-121.574 31.592 4579
+-121.448 31.592 4719
+-121.322 31.592 4826
+-121.196 31.592 4936
+-121.07 31.592 5125
+-120.944 31.592 5215
+-120.818 31.592 5360
+-120.692 31.592 5482
+-120.566 31.592 5594
+-120.44 31.592 5751
+-120.314 31.592 5877
+-120.188 31.592 5996
+-120.062 31.592 6119
+-119.936 31.592 6172
+-119.81 31.592 6349
+-119.684 31.592 6473
+-119.558 31.592 6620
+-119.432 31.592 6736
+-119.306 31.592 6820
+-119.18 31.592 6966
+-119.054 31.592 7102
+-118.928 31.592 7163
+-118.802 31.592 7312
+-118.676 31.592 7480
+-118.55 31.592 7524
+-118.424 31.592 7656
+-118.298 31.592 7748
+-118.172 31.592 7876
+-118.046 31.592 7964
+-117.92 31.592 8022
+-117.794 31.592 8155
+-117.668 31.592 8225
+-117.542 31.592 8254
+-117.416 31.592 8303
+-117.29 31.592 8330
+-117.164 31.592 8349
+-117.038 31.592 8385
+-116.912 31.592 8348
+-116.786 31.592 8316
+-116.66 31.592 8264
+-116.534 31.592 8247
+-116.408 31.592 8205
+-116.282 31.592 8123
+-116.156 31.592 8074
+-116.03 31.592 7980
+-115.904 31.592 7885
+-115.778 31.592 7774
+-115.652 31.592 7723
+-115.526 31.592 7576
+-115.4 31.592 7464
+-115.274 31.592 7311
+-115.148 31.592 7246
+-115.022 31.592 7099
+-114.896 31.592 6945
+-114.77 31.592 6840
+-114.644 31.592 6774
+-114.518 31.592 6625
+-114.392 31.592 6481
+-114.266 31.592 6367
+-114.14 31.592 6217
+-114.014 31.592 6122
+-113.888 31.592 5979
+-113.762 31.592 5990
+-113.636 31.592 6006
+-113.51 31.592 6105
+-113.384 31.592 6288
+-113.258 31.592 6357
+-113.132 31.592 6552
+-113.006 31.592 6685
+-112.88 31.592 6740
+-112.754 31.592 6898
+-112.628 31.592 7092
+-112.502 31.592 7178
+-112.376 31.592 7314
+-112.25 31.592 7491
+-112.124 31.592 7639
+-111.998 31.592 7717
+-111.872 31.592 7865
+-111.746 31.592 8019
+-111.62 31.592 8087
+-111.494 31.592 8291
+-111.368 31.592 8378
+-111.242 31.592 8561
+-111.116 31.592 8683
+-110.99 31.592 8806
+-110.864 31.592 9031
+-110.738 31.592 9082
+-110.612 31.592 9233
+-110.486 31.592 9294
+-110.36 31.592 9420
+-110.234 31.592 9274
+-110.108 31.592 9145
+-109.982 31.592 9005
+-109.856 31.592 8913
+-109.73 31.592 8738
+-109.604 31.592 8572
+-109.478 31.592 8506
+-109.352 31.592 8394
+-109.226 31.592 8221
+-109.1 31.592 8078
+-108.974 31.592 7877
+-108.848 31.592 7739
+-108.722 31.592 7623
+-108.596 31.592 7490
+-108.47 31.592 7332
+-108.344 31.592 7203
+-108.218 31.592 7101
+-108.092 31.592 6967
+-107.966 31.592 6838
+-107.84 31.592 6716
+-107.714 31.592 6591
+-107.588 31.592 6441
+-107.462 31.592 6234
+-107.336 31.592 6092
+-107.21 31.592 6051
+-107.084 31.592 5900
+-106.958 31.592 5752
+-106.832 31.592 5608
+-106.706 31.592 5446
+-106.58 31.592 5428
+-106.454 31.592 5280
+-106.328 31.592 5103
+-106.202 31.592 4904
+-106.076 31.592 4765
+-105.95 31.592 4733
+-105.824 31.592 4666
+-105.698 31.592 4656
+-105.572 31.592 4613
+-105.446 31.592 4581
+-105.32 31.592 4545
+-105.194 31.592 4496
+-105.068 31.592 4400
+-104.942 31.592 4293
+-104.816 31.592 4215
+-104.69 31.592 4160
+-104.564 31.592 4040
+-104.438 31.592 3921
+-104.312 31.592 3843
+-104.186 31.592 3762
+-104.06 31.592 3647
+-103.934 31.592 3528
+-103.808 31.592 3446
+-103.682 31.592 3363
+-103.556 31.592 3351
+-103.43 31.592 3353
+-103.304 31.592 3345
+-103.178 31.592 3322
+-103.052 31.592 3283
+-102.926 31.592 3300
+-102.8 31.592 3317
+-102.674 31.592 3333
+-102.548 31.592 3348
+-102.422 31.592 3361
+-102.296 31.592 3374
+-102.17 31.592 3385
+-102.044 31.592 3396
+-101.918 31.592 3321
+-101.792 31.592 3206
+-101.666 31.592 3197
+-101.54 31.592 3201
+-101.414 31.592 3204
+-101.288 31.592 3207
+-101.162 31.592 3084
+-101.036 31.592 3086
+-100.91 31.592 3072
+-100.784 31.592 3015
+-100.658 31.592 2984
+-100.532 31.592 2986
+-100.406 31.592 2988
+-100.28 31.592 2990
+-100.154 31.592 2828
+-100.028 31.592 2812
+-99.902 31.592 2798
+-99.776 31.592 2782
+-99.65 31.592 2765
+-99.524 31.592 2747
+-99.398 31.592 2543
+-99.272 31.592 2435
+-99.146 31.592 2411
+-99.02 31.592 2385
+-98.894 31.592 2354
+-98.768 31.592 2316
+-98.642 31.592 2293
+-98.516 31.592 2278
+-98.39 31.592 2265
+-98.264 31.592 2244
+-98.138 31.592 2221
+-98.012 31.592 2247
+-97.886 31.592 2261
+-97.76 31.592 2228
+-97.634 31.592 2199
+-97.508 31.592 2229
+-97.382 31.592 2182
+-97.256 31.592 2130
+-97.13 31.592 2120
+-97.004 31.592 2039
+-96.878 31.592 1986
+-96.752 31.592 1937
+-96.626 31.592 1848
+-96.5 31.592 1715
+-96.374 31.592 1610
+-96.248 31.592 1525
+-96.122 31.592 1394
+-95.996 31.592 1255
+-95.87 31.592 1110
+-95.744 31.592 952
+-95.618 31.592 796
+-95.492 31.592 654
+-95.366 31.592 534
+-95.24 31.592 458
+-95.114 31.592 437
+-94.988 31.592 484
+-94.862 31.592 602
+-94.736 31.592 778
+-94.61 31.592 1000
+-94.484 31.592 1236
+-94.358 31.592 1468
+-94.232 31.592 1689
+-94.106 31.592 1890
+-93.98 31.592 2079
+-93.854 31.592 2183
+-93.728 31.592 2307
+-93.602 31.592 2411
+-93.476 31.592 2460
+-93.35 31.592 2531
+-93.224 31.592 2590
+-93.098 31.592 2626
+-92.972 31.592 2666
+-92.846 31.592 2695
+-92.72 31.592 2714
+-92.594 31.592 2768
+-92.468 31.592 2783
+-92.342 31.592 2790
+-92.216 31.592 2795
+-92.09 31.592 2787
+-91.964 31.592 2866
+-91.838 31.592 2815
+-91.712 31.592 2802
+-91.586 31.592 2789
+-91.46 31.592 2782
+-91.334 31.592 2778
+-91.208 31.592 2788
+-91.082 31.592 2798
+-90.956 31.592 2808
+-90.83 31.592 2808
+-90.704 31.592 2790
+-90.578 31.592 2757
+-90.452 31.592 2739
+-90.326 31.592 2762
+-90.2 31.592 2823
+-90.074 31.592 2879
+-89.948 31.592 2954
+-89.822 31.592 3000
+-89.696 31.592 3024
+-89.57 31.592 3056
+-89.444 31.592 3091
+-89.318 31.592 3097
+-89.192 31.592 3141
+-89.066 31.592 3150
+-88.94 31.592 3155
+-88.814 31.592 3145
+-88.688 31.592 3141
+-88.562 31.592 3164
+-88.436 31.592 3161
+-88.31 31.592 3110
+-88.184 31.592 3100
+-88.058 31.592 3074
+-87.932 31.592 3058
+-87.806 31.592 3070
+-87.68 31.592 3165
+-87.554 31.592 3246
+-87.428 31.592 3320
+-87.302 31.592 3378
+-87.176 31.592 3459
+-87.05 31.592 3558
+-86.924 31.592 3601
+-86.798 31.592 3617
+-86.672 31.592 3656
+-86.546 31.592 3665
+-86.42 31.592 3743
+-86.294 31.592 3842
+-86.168 31.592 3915
+-86.042 31.592 4024
+-85.916 31.592 4111
+-85.79 31.592 4171
+-85.664 31.592 4219
+-85.538 31.592 4261
+-85.412 31.592 4355
+-85.286 31.592 4471
+-85.16 31.592 4534
+-85.034 31.592 4574
+-84.908 31.592 4629
+-84.782 31.592 4695
+-84.656 31.592 4774
+-84.53 31.592 4855
+-84.404 31.592 4943
+-84.278 31.592 5037
+-84.152 31.592 5092
+-84.026 31.592 5150
+-83.9 31.592 5212
+-83.774 31.592 5223
+-83.648 31.592 5294
+-83.522 31.592 5338
+-83.396 31.592 5360
+-83.27 31.592 5400
+-83.144 31.592 5450
+-83.018 31.592 5468
+-82.892 31.592 5497
+-82.766 31.592 5544
+-82.64 31.592 5549
+-82.514 31.592 5608
+-82.388 31.592 5594
+-82.262 31.592 5636
+-82.136 31.592 5581
+-82.01 31.592 5614
+-81.884 31.592 5591
+-81.758 31.592 5551
+-81.632 31.592 5555
+-81.506 31.592 5539
+-81.38 31.592 5508
+-81.254 31.592 5469
+-81.128 31.592 5420
+-81.002 31.592 5393
+-80.876 31.592 5366
+-80.75 31.592 5315
+-80.624 31.592 5241
+-80.498 31.592 5198
+-80.372 31.592 5126
+-80.246 31.592 5062
+-80.12 31.592 4987
+-79.994 31.592 4916
+-79.868 31.592 4901
+-79.742 31.592 4830
+-79.616 31.592 4755
+-79.49 31.592 4638
+-79.364 31.592 4535
+-79.238 31.592 4483
+-79.112 31.592 4409
+-78.986 31.592 4342
+-78.86 31.592 4232
+-78.734 31.592 4101
+-78.608 31.592 4020
+-78.482 31.592 3942
+-78.356 31.592 3945
+-78.23 31.592 3929
+-78.104 31.592 3838
+-77.978 31.592 3755
+-77.852 31.592 3647
+-77.726 31.592 3514
+-77.6 31.592 3328
+-77.474 31.592 3164
+-77.348 31.592 3030
+-77.222 31.592 2961
+-77.096 31.592 2965
+-76.97 31.592 3001
+-76.844 31.592 3048
+-76.718 31.592 3082
+-76.592 31.592 3113
+-76.466 31.592 3136
+-76.34 31.592 3153
+-76.214 31.592 3167
+-76.088 31.592 3179
+-75.962 31.592 3151
+-75.836 31.592 3159
+-75.71 31.592 3173
+-75.584 31.592 3144
+-75.458 31.592 3138
+-75.332 31.592 3181
+-75.206 31.592 3177
+-75.08 31.592 3169
+-74.954 31.592 3181
+-74.828 31.592 3185
+-74.702 31.592 3204
+-74.576 31.592 3216
+-74.45 31.592 3227
+-74.324 31.592 3237
+-74.198 31.592 3248
+-74.072 31.592 3308
+-73.946 31.592 3320
+-73.82 31.592 3279
+-73.694 31.592 3289
+-73.568 31.592 3299
+-73.442 31.592 3308
+-73.316 31.592 3310
+-73.19 31.592 3293
+-73.064 31.592 3288
+-72.938 31.592 3258
+-72.812 31.592 3265
+-72.686 31.592 3236
+-72.56 31.592 3274
+-72.434 31.592 3281
+-72.308 31.592 3287
+-72.182 31.592 3293
+-72.056 31.592 3299
+-71.93 31.592 3305
+-71.804 31.592 3310
+-71.678 31.592 3289
+-71.552 31.592 3294
+-71.426 31.592 3299
+-71.3 31.592 3276
+-71.174 31.592 3248
+-71.048 31.592 3233
+-70.922 31.592 3237
+-70.796 31.592 3240
+-70.67 31.592 3243
+-70.544 31.592 3246
+-70.418 31.592 3249
+-70.292 31.592 3251
+-70.166 31.592 3176
+-70.04 31.592 3164
+-69.914 31.592 3167
+-69.788 31.592 3170
+-69.662 31.592 3173
+-69.536 31.592 3175
+-69.41 31.592 3178
+-69.284 31.592 3180
+-69.158 31.592 3182
+-69.032 31.592 3185
+-68.906 31.592 3187
+-68.78 31.592 3189
+-68.654 31.592 3191
+-68.528 31.592 3193
+-68.402 31.592 3195
+-68.276 31.592 3196
+-68.15 31.592 3184
+-68.024 31.592 3186
+-67.898 31.592 3188
+-67.772 31.592 3190
+-67.646 31.592 3192
+-67.52 31.592 3149
+-67.394 31.592 3151
+-67.268 31.592 3152
+-67.142 31.592 3153
+-67.016 31.592 3155
+-66.89 31.592 3156
+-66.764 31.592 3157
+-66.638 31.592 3158
+-66.512 31.592 3133
+-66.386 31.592 3120
+-66.26 31.592 3120
+-66.134 31.592 3121
+-66.008 31.592 3122
+-65.882 31.592 3123
+-65.756 31.592 3124
+-65.63 31.592 3124
+-65.504 31.592 3125
+-65.378 31.592 3126
+-65.252 31.592 3127
+-65.126 31.592 3127
+-128 31.54 2604
+-127.874 31.54 2608
+-127.748 31.54 2612
+-127.622 31.54 2616
+-127.496 31.54 2620
+-127.37 31.54 2624
+-127.244 31.54 2629
+-127.118 31.54 2839
+-126.992 31.54 2838
+-126.866 31.54 2907
+-126.74 31.54 2907
+-126.614 31.54 2907
+-126.488 31.54 2907
+-126.362 31.54 2907
+-126.236 31.54 2907
+-126.11 31.54 2908
+-125.984 31.54 2965
+-125.858 31.54 2962
+-125.732 31.54 3023
+-125.606 31.54 3017
+-125.48 31.54 3096
+-125.354 31.54 3091
+-125.228 31.54 3085
+-125.102 31.54 3080
+-124.976 31.54 3092
+-124.85 31.54 3102
+-124.724 31.54 3097
+-124.598 31.54 3109
+-124.472 31.54 3101
+-124.346 31.54 3098
+-124.22 31.54 3096
+-124.094 31.54 3075
+-123.968 31.54 3044
+-123.842 31.54 3031
+-123.716 31.54 2964
+-123.59 31.54 2877
+-123.464 31.54 2764
+-123.338 31.54 2699
+-123.212 31.54 2819
+-123.086 31.54 3030
+-122.96 31.54 3203
+-122.834 31.54 3331
+-122.708 31.54 3451
+-122.582 31.54 3609
+-122.456 31.54 3718
+-122.33 31.54 3811
+-122.204 31.54 3925
+-122.078 31.54 4039
+-121.952 31.54 4145
+-121.826 31.54 4321
+-121.7 31.54 4462
+-121.574 31.54 4625
+-121.448 31.54 4755
+-121.322 31.54 4871
+-121.196 31.54 4894
+-121.07 31.54 5073
+-120.944 31.54 5240
+-120.818 31.54 5381
+-120.692 31.54 5406
+-120.566 31.54 5572
+-120.44 31.54 5740
+-120.314 31.54 5878
+-120.188 31.54 5928
+-120.062 31.54 6053
+-119.936 31.54 6190
+-119.81 31.54 6327
+-119.684 31.54 6449
+-119.558 31.54 6581
+-119.432 31.54 6716
+-119.306 31.54 6826
+-119.18 31.54 6907
+-119.054 31.54 7085
+-118.928 31.54 7114
+-118.802 31.54 7271
+-118.676 31.54 7432
+-118.55 31.54 7536
+-118.424 31.54 7574
+-118.298 31.54 7719
+-118.172 31.54 7819
+-118.046 31.54 7927
+-117.92 31.54 7996
+-117.794 31.54 8084
+-117.668 31.54 8143
+-117.542 31.54 8196
+-117.416 31.54 8238
+-117.29 31.54 8265
+-117.164 31.54 8287
+-117.038 31.54 8301
+-116.912 31.54 8300
+-116.786 31.54 8285
+-116.66 31.54 8230
+-116.534 31.54 8194
+-116.408 31.54 8136
+-116.282 31.54 8080
+-116.156 31.54 8003
+-116.03 31.54 7900
+-115.904 31.54 7850
+-115.778 31.54 7738
+-115.652 31.54 7639
+-115.526 31.54 7508
+-115.4 31.54 7418
+-115.274 31.54 7299
+-115.148 31.54 7147
+-115.022 31.54 7059
+-114.896 31.54 6944
+-114.77 31.54 6855
+-114.644 31.54 6726
+-114.518 31.54 6557
+-114.392 31.54 6500
+-114.266 31.54 6338
+-114.14 31.54 6236
+-114.014 31.54 6076
+-113.888 31.54 5877
+-113.762 31.54 5944
+-113.636 31.54 5940
+-113.51 31.54 6086
+-113.384 31.54 6278
+-113.258 31.54 6364
+-113.132 31.54 6503
+-113.006 31.54 6612
+-112.88 31.54 6808
+-112.754 31.54 6945
+-112.628 31.54 7055
+-112.502 31.54 7216
+-112.376 31.54 7371
+-112.25 31.54 7463
+-112.124 31.54 7622
+-111.998 31.54 7764
+-111.872 31.54 7929
+-111.746 31.54 8052
+-111.62 31.54 8155
+-111.494 31.54 8258
+-111.368 31.54 8361
+-111.242 31.54 8540
+-111.116 31.54 8672
+-110.99 31.54 8784
+-110.864 31.54 8965
+-110.738 31.54 9068
+-110.612 31.54 9254
+-110.486 31.54 9348
+-110.36 31.54 9302
+-110.234 31.54 9300
+-110.108 31.54 9104
+-109.982 31.54 9009
+-109.856 31.54 8857
+-109.73 31.54 8743
+-109.604 31.54 8627
+-109.478 31.54 8487
+-109.352 31.54 8360
+-109.226 31.54 8143
+-109.1 31.54 8107
+-108.974 31.54 7895
+-108.848 31.54 7761
+-108.722 31.54 7620
+-108.596 31.54 7455
+-108.47 31.54 7388
+-108.344 31.54 7288
+-108.218 31.54 7087
+-108.092 31.54 6963
+-107.966 31.54 6869
+-107.84 31.54 6750
+-107.714 31.54 6570
+-107.588 31.54 6425
+-107.462 31.54 6276
+-107.336 31.54 6128
+-107.21 31.54 5976
+-107.084 31.54 5912
+-106.958 31.54 5761
+-106.832 31.54 5663
+-106.706 31.54 5517
+-106.58 31.54 5386
+-106.454 31.54 5234
+-106.328 31.54 5083
+-106.202 31.54 4938
+-106.076 31.54 4810
+-105.95 31.54 4670
+-105.824 31.54 4713
+-105.698 31.54 4663
+-105.572 31.54 4588
+-105.446 31.54 4532
+-105.32 31.54 4503
+-105.194 31.54 4491
+-105.068 31.54 4353
+-104.942 31.54 4289
+-104.816 31.54 4227
+-104.69 31.54 4091
+-104.564 31.54 4012
+-104.438 31.54 3908
+-104.312 31.54 3776
+-104.186 31.54 3637
+-104.06 31.54 3482
+-103.934 31.54 3376
+-103.808 31.54 3309
+-103.682 31.54 3235
+-103.556 31.54 3234
+-103.43 31.54 3251
+-103.304 31.54 3230
+-103.178 31.54 3219
+-103.052 31.54 3226
+-102.926 31.54 3251
+-102.8 31.54 3274
+-102.674 31.54 3296
+-102.548 31.54 3315
+-102.422 31.54 3332
+-102.296 31.54 3348
+-102.17 31.54 3362
+-102.044 31.54 3291
+-101.918 31.54 3299
+-101.792 31.54 3176
+-101.666 31.54 3181
+-101.54 31.54 3186
+-101.414 31.54 3191
+-101.288 31.54 3195
+-101.162 31.54 3198
+-101.036 31.54 3059
+-100.91 31.54 3061
+-100.784 31.54 3064
+-100.658 31.54 3008
+-100.532 31.54 2978
+-100.406 31.54 2980
+-100.28 31.54 2983
+-100.154 31.54 2822
+-100.028 31.54 2810
+-99.902 31.54 2796
+-99.776 31.54 2781
+-99.65 31.54 2764
+-99.524 31.54 2745
+-99.398 31.54 2540
+-99.272 31.54 2515
+-99.146 31.54 2423
+-99.02 31.54 2382
+-98.894 31.54 2351
+-98.768 31.54 2310
+-98.642 31.54 2287
+-98.516 31.54 2267
+-98.39 31.54 2253
+-98.264 31.54 2231
+-98.138 31.54 2206
+-98.012 31.54 2231
+-97.886 31.54 2201
+-97.76 31.54 2215
+-97.634 31.54 2177
+-97.508 31.54 2135
+-97.382 31.54 2158
+-97.256 31.54 2152
+-97.13 31.54 2073
+-97.004 31.54 2025
+-96.878 31.54 1982
+-96.752 31.54 1896
+-96.626 31.54 1766
+-96.5 31.54 1667
+-96.374 31.54 1589
+-96.248 31.54 1461
+-96.122 31.54 1324
+-95.996 31.54 1179
+-95.87 31.54 1013
+-95.744 31.54 840
+-95.618 31.54 670
+-95.492 31.54 508
+-95.366 31.54 373
+-95.24 31.54 281
+-95.114 31.54 250
+-94.988 31.54 297
+-94.862 31.54 419
+-94.736 31.54 611
+-94.61 31.54 846
+-94.484 31.54 1100
+-94.358 31.54 1356
+-94.232 31.54 1599
+-94.106 31.54 1826
+-93.98 31.54 1977
+-93.854 31.54 2134
+-93.728 31.54 2268
+-93.602 31.54 2342
+-93.476 31.54 2434
+-93.35 31.54 2509
+-93.224 31.54 2559
+-93.098 31.54 2609
+-92.972 31.54 2647
+-92.846 31.54 2673
+-92.72 31.54 2734
+-92.594 31.54 2752
+-92.468 31.54 2762
+-92.342 31.54 2768
+-92.216 31.54 2758
+-92.09 31.54 2752
+-91.964 31.54 2705
+-91.838 31.54 2769
+-91.712 31.54 2742
+-91.586 31.54 2720
+-91.46 31.54 2700
+-91.334 31.54 2693
+-91.208 31.54 2702
+-91.082 31.54 2722
+-90.956 31.54 2748
+-90.83 31.54 2768
+-90.704 31.54 2770
+-90.578 31.54 2761
+-90.452 31.54 2752
+-90.326 31.54 2770
+-90.2 31.54 2813
+-90.074 31.54 2851
+-89.948 31.54 2909
+-89.822 31.54 2935
+-89.696 31.54 2965
+-89.57 31.54 2989
+-89.444 31.54 3008
+-89.318 31.54 3020
+-89.192 31.54 3059
+-89.066 31.54 3069
+-88.94 31.54 3077
+-88.814 31.54 3083
+-88.688 31.54 3082
+-88.562 31.54 3073
+-88.436 31.54 3069
+-88.31 31.54 3060
+-88.184 31.54 2988
+-88.058 31.54 2952
+-87.932 31.54 2932
+-87.806 31.54 2961
+-87.68 31.54 3061
+-87.554 31.54 3175
+-87.428 31.54 3258
+-87.302 31.54 3338
+-87.176 31.54 3456
+-87.05 31.54 3537
+-86.924 31.54 3598
+-86.798 31.54 3602
+-86.672 31.54 3605
+-86.546 31.54 3576
+-86.42 31.54 3661
+-86.294 31.54 3818
+-86.168 31.54 3954
+-86.042 31.54 4069
+-85.916 31.54 4135
+-85.79 31.54 4222
+-85.664 31.54 4238
+-85.538 31.54 4204
+-85.412 31.54 4334
+-85.286 31.54 4485
+-85.16 31.54 4484
+-85.034 31.54 4586
+-84.908 31.54 4611
+-84.782 31.54 4685
+-84.656 31.54 4804
+-84.53 31.54 4898
+-84.404 31.54 4995
+-84.278 31.54 5083
+-84.152 31.54 5126
+-84.026 31.54 5158
+-83.9 31.54 5218
+-83.774 31.54 5276
+-83.648 31.54 5355
+-83.522 31.54 5423
+-83.396 31.54 5464
+-83.27 31.54 5486
+-83.144 31.54 5517
+-83.018 31.54 5534
+-82.892 31.54 5581
+-82.766 31.54 5622
+-82.64 31.54 5629
+-82.514 31.54 5663
+-82.388 31.54 5675
+-82.262 31.54 5672
+-82.136 31.54 5659
+-82.01 31.54 5672
+-81.884 31.54 5659
+-81.758 31.54 5638
+-81.632 31.54 5624
+-81.506 31.54 5608
+-81.38 31.54 5595
+-81.254 31.54 5549
+-81.128 31.54 5498
+-81.002 31.54 5439
+-80.876 31.54 5424
+-80.75 31.54 5363
+-80.624 31.54 5259
+-80.498 31.54 5250
+-80.372 31.54 5185
+-80.246 31.54 5131
+-80.12 31.54 5039
+-79.994 31.54 4960
+-79.868 31.54 4922
+-79.742 31.54 4837
+-79.616 31.54 4821
+-79.49 31.54 4725
+-79.364 31.54 4609
+-79.238 31.54 4509
+-79.112 31.54 4437
+-78.986 31.54 4362
+-78.86 31.54 4249
+-78.734 31.54 4100
+-78.608 31.54 4009
+-78.482 31.54 4016
+-78.356 31.54 4001
+-78.23 31.54 3984
+-78.104 31.54 3901
+-77.978 31.54 3836
+-77.852 31.54 3744
+-77.726 31.54 3596
+-77.6 31.54 3429
+-77.474 31.54 3296
+-77.348 31.54 3185
+-77.222 31.54 3116
+-77.096 31.54 3083
+-76.97 31.54 3088
+-76.844 31.54 3095
+-76.718 31.54 3110
+-76.592 31.54 3122
+-76.466 31.54 3131
+-76.34 31.54 3140
+-76.214 31.54 3149
+-76.088 31.54 3147
+-75.962 31.54 3128
+-75.836 31.54 3143
+-75.71 31.54 3117
+-75.584 31.54 3144
+-75.458 31.54 3157
+-75.332 31.54 3154
+-75.206 31.54 3148
+-75.08 31.54 3161
+-74.954 31.54 3167
+-74.828 31.54 3187
+-74.702 31.54 3200
+-74.576 31.54 3212
+-74.45 31.54 3224
+-74.324 31.54 3235
+-74.198 31.54 3294
+-74.072 31.54 3308
+-73.946 31.54 3269
+-73.82 31.54 3280
+-73.694 31.54 3291
+-73.568 31.54 3300
+-73.442 31.54 3302
+-73.316 31.54 3287
+-73.19 31.54 3282
+-73.064 31.54 3253
+-72.938 31.54 3261
+-72.812 31.54 3231
+-72.686 31.54 3270
+-72.56 31.54 3277
+-72.434 31.54 3284
+-72.308 31.54 3290
+-72.182 31.54 3296
+-72.056 31.54 3302
+-71.93 31.54 3307
+-71.804 31.54 3287
+-71.678 31.54 3292
+-71.552 31.54 3297
+-71.426 31.54 3275
+-71.3 31.54 3246
+-71.174 31.54 3232
+-71.048 31.54 3236
+-70.922 31.54 3239
+-70.796 31.54 3242
+-70.67 31.54 3245
+-70.544 31.54 3248
+-70.418 31.54 3251
+-70.292 31.54 3175
+-70.166 31.54 3163
+-70.04 31.54 3166
+-69.914 31.54 3169
+-69.788 31.54 3172
+-69.662 31.54 3175
+-69.536 31.54 3177
+-69.41 31.54 3180
+-69.284 31.54 3182
+-69.158 31.54 3184
+-69.032 31.54 3186
+-68.906 31.54 3189
+-68.78 31.54 3191
+-68.654 31.54 3193
+-68.528 31.54 3194
+-68.402 31.54 3196
+-68.276 31.54 3184
+-68.15 31.54 3186
+-68.024 31.54 3188
+-67.898 31.54 3190
+-67.772 31.54 3192
+-67.646 31.54 3149
+-67.52 31.54 3151
+-67.394 31.54 3152
+-67.268 31.54 3153
+-67.142 31.54 3155
+-67.016 31.54 3156
+-66.89 31.54 3157
+-66.764 31.54 3158
+-66.638 31.54 3133
+-66.512 31.54 3119
+-66.386 31.54 3120
+-66.26 31.54 3121
+-66.134 31.54 3122
+-66.008 31.54 3123
+-65.882 31.54 3124
+-65.756 31.54 3124
+-65.63 31.54 3125
+-65.504 31.54 3126
+-65.378 31.54 3127
+-65.252 31.54 3127
+-65.126 31.54 3035
+-128 31.488 2600
+-127.874 31.488 2603
+-127.748 31.488 2607
+-127.622 31.488 2611
+-127.496 31.488 2615
+-127.37 31.488 2620
+-127.244 31.488 2625
+-127.118 31.488 2630
+-126.992 31.488 2773
+-126.866 31.488 2885
+-126.74 31.488 2885
+-126.614 31.488 2886
+-126.488 31.488 2887
+-126.362 31.488 2887
+-126.236 31.488 2888
+-126.11 31.488 2972
+-125.984 31.488 2970
+-125.858 31.488 3011
+-125.732 31.488 3007
+-125.606 31.488 3003
+-125.48 31.488 3102
+-125.354 31.488 3097
+-125.228 31.488 3092
+-125.102 31.488 3089
+-124.976 31.488 3084
+-124.85 31.488 3107
+-124.724 31.488 3124
+-124.598 31.488 3117
+-124.472 31.488 3113
+-124.346 31.488 3117
+-124.22 31.488 3101
+-124.094 31.488 3079
+-123.968 31.488 3082
+-123.842 31.488 3040
+-123.716 31.488 2990
+-123.59 31.488 2925
+-123.464 31.488 2867
+-123.338 31.488 2815
+-123.212 31.488 2807
+-123.086 31.488 2958
+-122.96 31.488 3139
+-122.834 31.488 3190
+-122.708 31.488 3320
+-122.582 31.488 3507
+-122.456 31.488 3686
+-122.33 31.488 3802
+-122.204 31.488 3930
+-122.078 31.488 4052
+-121.952 31.488 4154
+-121.826 31.488 4318
+-121.7 31.488 4451
+-121.574 31.488 4586
+-121.448 31.488 4730
+-121.322 31.488 4860
+-121.196 31.488 4950
+-121.07 31.488 5053
+-120.944 31.488 5189
+-120.818 31.488 5362
+-120.692 31.488 5480
+-120.566 31.488 5629
+-120.44 31.488 5714
+-120.314 31.488 5841
+-120.188 31.488 5962
+-120.062 31.488 6067
+-119.936 31.488 6176
+-119.81 31.488 6310
+-119.684 31.488 6445
+-119.558 31.488 6572
+-119.432 31.488 6697
+-119.306 31.488 6833
+-119.18 31.488 6971
+-119.054 31.488 7008
+-118.928 31.488 7128
+-118.802 31.488 7213
+-118.676 31.488 7339
+-118.55 31.488 7469
+-118.424 31.488 7562
+-118.298 31.488 7691
+-118.172 31.488 7775
+-118.046 31.488 7855
+-117.92 31.488 7956
+-117.794 31.488 7980
+-117.668 31.488 8109
+-117.542 31.488 8120
+-117.416 31.488 8176
+-117.29 31.488 8210
+-117.164 31.488 8254
+-117.038 31.488 8231
+-116.912 31.488 8228
+-116.786 31.488 8227
+-116.66 31.488 8194
+-116.534 31.488 8150
+-116.408 31.488 8079
+-116.282 31.488 8037
+-116.156 31.488 7987
+-116.03 31.488 7887
+-115.904 31.488 7780
+-115.778 31.488 7693
+-115.652 31.488 7575
+-115.526 31.488 7465
+-115.4 31.488 7380
+-115.274 31.488 7298
+-115.148 31.488 7174
+-115.022 31.488 7084
+-114.896 31.488 6915
+-114.77 31.488 6789
+-114.644 31.488 6667
+-114.518 31.488 6596
+-114.392 31.488 6472
+-114.266 31.488 6300
+-114.14 31.488 6193
+-114.014 31.488 6054
+-113.888 31.488 5985
+-113.762 31.488 5774
+-113.636 31.488 5932
+-113.51 31.488 6098
+-113.384 31.488 6232
+-113.258 31.488 6409
+-113.132 31.488 6456
+-113.006 31.488 6643
+-112.88 31.488 6838
+-112.754 31.488 6954
+-112.628 31.488 7043
+-112.502 31.488 7145
+-112.376 31.488 7316
+-112.25 31.488 7491
+-112.124 31.488 7639
+-111.998 31.488 7722
+-111.872 31.488 7938
+-111.746 31.488 8063
+-111.62 31.488 8144
+-111.494 31.488 8328
+-111.368 31.488 8399
+-111.242 31.488 8575
+-111.116 31.488 8687
+-110.99 31.488 8789
+-110.864 31.488 8945
+-110.738 31.488 9092
+-110.612 31.488 9194
+-110.486 31.488 9257
+-110.36 31.488 9350
+-110.234 31.488 9260
+-110.108 31.488 9119
+-109.982 31.488 9002
+-109.856 31.488 8908
+-109.73 31.488 8730
+-109.604 31.488 8662
+-109.478 31.488 8486
+-109.352 31.488 8315
+-109.226 31.488 8216
+-109.1 31.488 8064
+-108.974 31.488 7879
+-108.848 31.488 7732
+-108.722 31.488 7628
+-108.596 31.488 7475
+-108.47 31.488 7402
+-108.344 31.488 7243
+-108.218 31.488 7119
+-108.092 31.488 7008
+-107.966 31.488 6874
+-107.84 31.488 6730
+-107.714 31.488 6574
+-107.588 31.488 6424
+-107.462 31.488 6302
+-107.336 31.488 6174
+-107.21 31.488 6033
+-107.084 31.488 5927
+-106.958 31.488 5811
+-106.832 31.488 5682
+-106.706 31.488 5522
+-106.58 31.488 5330
+-106.454 31.488 5190
+-106.328 31.488 5051
+-106.202 31.488 4941
+-106.076 31.488 4887
+-105.95 31.488 4775
+-105.824 31.488 4727
+-105.698 31.488 4647
+-105.572 31.488 4548
+-105.446 31.488 4444
+-105.32 31.488 4425
+-105.194 31.488 4439
+-105.068 31.488 4323
+-104.942 31.488 4240
+-104.816 31.488 4172
+-104.69 31.488 4072
+-104.564 31.488 3980
+-104.438 31.488 3819
+-104.312 31.488 3647
+-104.186 31.488 3486
+-104.06 31.488 3312
+-103.934 31.488 3210
+-103.808 31.488 3146
+-103.682 31.488 3127
+-103.556 31.488 3099
+-103.43 31.488 3096
+-103.304 31.488 3105
+-103.178 31.488 3147
+-103.052 31.488 3187
+-102.926 31.488 3203
+-102.8 31.488 3233
+-102.674 31.488 3260
+-102.548 31.488 3283
+-102.422 31.488 3304
+-102.296 31.488 3323
+-102.17 31.488 3254
+-102.044 31.488 3265
+-101.918 31.488 3274
+-101.792 31.488 3283
+-101.666 31.488 3166
+-101.54 31.488 3172
+-101.414 31.488 3177
+-101.288 31.488 3182
+-101.162 31.488 3186
+-101.036 31.488 3059
+-100.91 31.488 3043
+-100.784 31.488 3046
+-100.658 31.488 3048
+-100.532 31.488 3002
+-100.406 31.488 2973
+-100.28 31.488 2975
+-100.154 31.488 2816
+-100.028 31.488 2804
+-99.902 31.488 2791
+-99.776 31.488 2776
+-99.65 31.488 2759
+-99.524 31.488 2741
+-99.398 31.488 2536
+-99.272 31.488 2431
+-99.146 31.488 2406
+-99.02 31.488 2380
+-98.894 31.488 2348
+-98.768 31.488 2304
+-98.642 31.488 2281
+-98.516 31.488 2258
+-98.39 31.488 2241
+-98.264 31.488 2218
+-98.138 31.488 2169
+-98.012 31.488 2142
+-97.886 31.488 2185
+-97.76 31.488 2197
+-97.634 31.488 2158
+-97.508 31.488 2166
+-97.382 31.488 2187
+-97.256 31.488 2111
+-97.13 31.488 2068
+-97.004 31.488 2032
+-96.878 31.488 1951
+-96.752 31.488 1824
+-96.626 31.488 1732
+-96.5 31.488 1666
+-96.374 31.488 1546
+-96.248 31.488 1417
+-96.122 31.488 1280
+-95.996 31.488 1119
+-95.87 31.488 946
+-95.744 31.488 767
+-95.618 31.488 584
+-95.492 31.488 415
+-95.366 31.488 268
+-95.24 31.488 168
+-95.114 31.488 132
+-94.988 31.488 175
+-94.862 31.488 300
+-94.736 31.488 496
+-94.61 31.488 739
+-94.484 31.488 1006
+-94.358 31.488 1277
+-94.232 31.488 1537
+-94.106 31.488 1735
+-93.98 31.488 1928
+-93.854 31.488 2095
+-93.728 31.488 2201
+-93.602 31.488 2315
+-93.476 31.488 2410
+-93.35 31.488 2477
+-93.224 31.488 2541
+-93.098 31.488 2589
+-92.972 31.488 2624
+-92.846 31.488 2693
+-92.72 31.488 2718
+-92.594 31.488 2732
+-92.468 31.488 2741
+-92.342 31.488 2733
+-92.216 31.488 2726
+-92.09 31.488 2719
+-91.964 31.488 2665
+-91.838 31.488 2713
+-91.712 31.488 2676
+-91.586 31.488 2636
+-91.46 31.488 2602
+-91.334 31.488 2565
+-91.208 31.488 2569
+-91.082 31.488 2620
+-90.956 31.488 2666
+-90.83 31.488 2709
+-90.704 31.488 2744
+-90.578 31.488 2754
+-90.452 31.488 2765
+-90.326 31.488 2781
+-90.2 31.488 2797
+-90.074 31.488 2823
+-89.948 31.488 2858
+-89.822 31.488 2880
+-89.696 31.488 2882
+-89.57 31.488 2898
+-89.444 31.488 2915
+-89.318 31.488 2932
+-89.192 31.488 2972
+-89.066 31.488 2985
+-88.94 31.488 2994
+-88.814 31.488 3000
+-88.688 31.488 3000
+-88.562 31.488 2992
+-88.436 31.488 2990
+-88.31 31.488 2958
+-88.184 31.488 2911
+-88.058 31.488 2829
+-87.932 31.488 2796
+-87.806 31.488 2845
+-87.68 31.488 2969
+-87.554 31.488 3116
+-87.428 31.488 3231
+-87.302 31.488 3324
+-87.176 31.488 3451
+-87.05 31.488 3537
+-86.924 31.488 3600
+-86.798 31.488 3610
+-86.672 31.488 3568
+-86.546 31.488 3500
+-86.42 31.488 3607
+-86.294 31.488 3797
+-86.168 31.488 3951
+-86.042 31.488 4096
+-85.916 31.488 4168
+-85.79 31.488 4221
+-85.664 31.488 4280
+-85.538 31.488 4302
+-85.412 31.488 4411
+-85.286 31.488 4521
+-85.16 31.488 4558
+-85.034 31.488 4620
+-84.908 31.488 4666
+-84.782 31.488 4758
+-84.656 31.488 4863
+-84.53 31.488 4952
+-84.404 31.488 5025
+-84.278 31.488 5093
+-84.152 31.488 5146
+-84.026 31.488 5204
+-83.9 31.488 5301
+-83.774 31.488 5372
+-83.648 31.488 5423
+-83.522 31.488 5493
+-83.396 31.488 5536
+-83.27 31.488 5560
+-83.144 31.488 5600
+-83.018 31.488 5642
+-82.892 31.488 5663
+-82.766 31.488 5653
+-82.64 31.488 5680
+-82.514 31.488 5687
+-82.388 31.488 5729
+-82.262 31.488 5706
+-82.136 31.488 5704
+-82.01 31.488 5704
+-81.884 31.488 5710
+-81.758 31.488 5690
+-81.632 31.488 5657
+-81.506 31.488 5634
+-81.38 31.488 5631
+-81.254 31.488 5614
+-81.128 31.488 5547
+-81.002 31.488 5497
+-80.876 31.488 5447
+-80.75 31.488 5400
+-80.624 31.488 5351
+-80.498 31.488 5288
+-80.372 31.488 5179
+-80.246 31.488 5164
+-80.12 31.488 5132
+-79.994 31.488 5034
+-79.868 31.488 4970
+-79.742 31.488 4896
+-79.616 31.488 4862
+-79.49 31.488 4781
+-79.364 31.488 4650
+-79.238 31.488 4521
+-79.112 31.488 4438
+-78.986 31.488 4389
+-78.86 31.488 4330
+-78.734 31.488 4185
+-78.608 31.488 4085
+-78.482 31.488 4045
+-78.356 31.488 4018
+-78.23 31.488 4001
+-78.104 31.488 3963
+-77.978 31.488 3883
+-77.852 31.488 3798
+-77.726 31.488 3665
+-77.6 31.488 3549
+-77.474 31.488 3408
+-77.348 31.488 3309
+-77.222 31.488 3224
+-77.096 31.488 3181
+-76.97 31.488 3147
+-76.844 31.488 3133
+-76.718 31.488 3123
+-76.592 31.488 3116
+-76.466 31.488 3113
+-76.34 31.488 3115
+-76.214 31.488 3110
+-76.088 31.488 3123
+-75.962 31.488 3104
+-75.836 31.488 3113
+-75.71 31.488 3113
+-75.584 31.488 3127
+-75.458 31.488 3127
+-75.332 31.488 3123
+-75.206 31.488 3139
+-75.08 31.488 3146
+-74.954 31.488 3167
+-74.828 31.488 3182
+-74.702 31.488 3196
+-74.576 31.488 3209
+-74.45 31.488 3222
+-74.324 31.488 3280
+-74.198 31.488 3295
+-74.072 31.488 3258
+-73.946 31.488 3270
+-73.82 31.488 3281
+-73.694 31.488 3292
+-73.568 31.488 3294
+-73.442 31.488 3280
+-73.316 31.488 3276
+-73.19 31.488 3248
+-73.064 31.488 3256
+-72.938 31.488 3227
+-72.812 31.488 3265
+-72.686 31.488 3273
+-72.56 31.488 3280
+-72.434 31.488 3287
+-72.308 31.488 3293
+-72.182 31.488 3299
+-72.056 31.488 3305
+-71.93 31.488 3285
+-71.804 31.488 3290
+-71.678 31.488 3295
+-71.552 31.488 3273
+-71.426 31.488 3245
+-71.3 31.488 3231
+-71.174 31.488 3234
+-71.048 31.488 3238
+-70.922 31.488 3241
+-70.796 31.488 3244
+-70.67 31.488 3247
+-70.544 31.488 3250
+-70.418 31.488 3174
+-70.292 31.488 3163
+-70.166 31.488 3166
+-70.04 31.488 3169
+-69.914 31.488 3172
+-69.788 31.488 3174
+-69.662 31.488 3177
+-69.536 31.488 3179
+-69.41 31.488 3182
+-69.284 31.488 3184
+-69.158 31.488 3186
+-69.032 31.488 3188
+-68.906 31.488 3190
+-68.78 31.488 3192
+-68.654 31.488 3194
+-68.528 31.488 3196
+-68.402 31.488 3184
+-68.276 31.488 3186
+-68.15 31.488 3188
+-68.024 31.488 3190
+-67.898 31.488 3192
+-67.772 31.488 3149
+-67.646 31.488 3151
+-67.52 31.488 3152
+-67.394 31.488 3154
+-67.268 31.488 3155
+-67.142 31.488 3156
+-67.016 31.488 3157
+-66.89 31.488 3158
+-66.764 31.488 3133
+-66.638 31.488 3119
+-66.512 31.488 3120
+-66.386 31.488 3121
+-66.26 31.488 3122
+-66.134 31.488 3123
+-66.008 31.488 3124
+-65.882 31.488 3124
+-65.756 31.488 3125
+-65.63 31.488 3126
+-65.504 31.488 3127
+-65.378 31.488 3127
+-65.252 31.488 3035
+-65.126 31.488 3036
+-128 31.436 2595
+-127.874 31.436 2598
+-127.748 31.436 2602
+-127.622 31.436 2606
+-127.496 31.436 2610
+-127.37 31.436 2615
+-127.244 31.436 2620
+-127.118 31.436 2625
+-126.992 31.436 2630
+-126.866 31.436 2777
+-126.74 31.436 2891
+-126.614 31.436 2892
+-126.488 31.436 2893
+-126.362 31.436 2894
+-126.236 31.436 2978
+-126.11 31.436 2977
+-125.984 31.436 3019
+-125.858 31.436 3015
+-125.732 31.436 3011
+-125.606 31.436 3007
+-125.48 31.436 3004
+-125.354 31.436 3103
+-125.228 31.436 3100
+-125.102 31.436 3095
+-124.976 31.436 3101
+-124.85 31.436 3095
+-124.724 31.436 3131
+-124.598 31.436 3128
+-124.472 31.436 3136
+-124.346 31.436 3123
+-124.22 31.436 3107
+-124.094 31.436 3118
+-123.968 31.436 3090
+-123.842 31.436 3063
+-123.716 31.436 3016
+-123.59 31.436 2977
+-123.464 31.436 2903
+-123.338 31.436 2792
+-123.212 31.436 2682
+-123.086 31.436 2877
+-122.96 31.436 3104
+-122.834 31.436 3091
+-122.708 31.436 3228
+-122.582 31.436 3464
+-122.456 31.436 3634
+-122.33 31.436 3781
+-122.204 31.436 3894
+-122.078 31.436 4020
+-121.952 31.436 4159
+-121.826 31.436 4324
+-121.7 31.436 4387
+-121.574 31.436 4520
+-121.448 31.436 4689
+-121.322 31.436 4828
+-121.196 31.436 4937
+-121.07 31.436 4994
+-120.944 31.436 5150
+-120.818 31.436 5314
+-120.692 31.436 5487
+-120.566 31.436 5629
+-120.44 31.436 5707
+-120.314 31.436 5821
+-120.188 31.436 5944
+-120.062 31.436 6065
+-119.936 31.436 6097
+-119.81 31.436 6288
+-119.684 31.436 6442
+-119.558 31.436 6531
+-119.432 31.436 6639
+-119.306 31.436 6747
+-119.18 31.436 6889
+-119.054 31.436 6966
+-118.928 31.436 7111
+-118.802 31.436 7177
+-118.676 31.436 7368
+-118.55 31.436 7421
+-118.424 31.436 7532
+-118.298 31.436 7648
+-118.172 31.436 7782
+-118.046 31.436 7775
+-117.92 31.436 7899
+-117.794 31.436 7955
+-117.668 31.436 8054
+-117.542 31.436 8086
+-117.416 31.436 8094
+-117.29 31.436 8140
+-117.164 31.436 8165
+-117.038 31.436 8176
+-116.912 31.436 8171
+-116.786 31.436 8169
+-116.66 31.436 8124
+-116.534 31.436 8082
+-116.408 31.436 8053
+-116.282 31.436 8006
+-116.156 31.436 7896
+-116.03 31.436 7850
+-115.904 31.436 7733
+-115.778 31.436 7686
+-115.652 31.436 7598
+-115.526 31.436 7458
+-115.4 31.436 7331
+-115.274 31.436 7242
+-115.148 31.436 7157
+-115.022 31.436 7015
+-114.896 31.436 6927
+-114.77 31.436 6756
+-114.644 31.436 6694
+-114.518 31.436 6556
+-114.392 31.436 6437
+-114.266 31.436 6299
+-114.14 31.436 6181
+-114.014 31.436 6003
+-113.888 31.436 5897
+-113.762 31.436 5936
+-113.636 31.436 5942
+-113.51 31.436 6085
+-113.384 31.436 6206
+-113.258 31.436 6332
+-113.132 31.436 6532
+-113.006 31.436 6660
+-112.88 31.436 6843
+-112.754 31.436 6949
+-112.628 31.436 7049
+-112.502 31.436 7189
+-112.376 31.436 7294
+-112.25 31.436 7519
+-112.124 31.436 7608
+-111.998 31.436 7738
+-111.872 31.436 7886
+-111.746 31.436 7996
+-111.62 31.436 8179
+-111.494 31.436 8285
+-111.368 31.436 8464
+-111.242 31.436 8520
+-111.116 31.436 8681
+-110.99 31.436 8821
+-110.864 31.436 8972
+-110.738 31.436 9046
+-110.612 31.436 9164
+-110.486 31.436 9266
+-110.36 31.436 9262
+-110.234 31.436 9232
+-110.108 31.436 9100
+-109.982 31.436 8943
+-109.856 31.436 8865
+-109.73 31.436 8741
+-109.604 31.436 8609
+-109.478 31.436 8398
+-109.352 31.436 8280
+-109.226 31.436 8156
+-109.1 31.436 8027
+-108.974 31.436 7917
+-108.848 31.436 7753
+-108.722 31.436 7647
+-108.596 31.436 7544
+-108.47 31.436 7429
+-108.344 31.436 7231
+-108.218 31.436 7128
+-108.092 31.436 6992
+-107.966 31.436 6811
+-107.84 31.436 6645
+-107.714 31.436 6566
+-107.588 31.436 6416
+-107.462 31.436 6287
+-107.336 31.436 6204
+-107.21 31.436 6030
+-107.084 31.436 5889
+-106.958 31.436 5820
+-106.832 31.436 5647
+-106.706 31.436 5501
+-106.58 31.436 5275
+-106.454 31.436 5154
+-106.328 31.436 5071
+-106.202 31.436 4979
+-106.076 31.436 4917
+-105.95 31.436 4819
+-105.824 31.436 4728
+-105.698 31.436 4605
+-105.572 31.436 4420
+-105.446 31.436 4275
+-105.32 31.436 4308
+-105.194 31.436 4345
+-105.068 31.436 4250
+-104.942 31.436 4197
+-104.816 31.436 4136
+-104.69 31.436 4053
+-104.564 31.436 3880
+-104.438 31.436 3700
+-104.312 31.436 3515
+-104.186 31.436 3303
+-104.06 31.436 3146
+-103.934 31.436 3015
+-103.808 31.436 2942
+-103.682 31.436 2912
+-103.556 31.436 2927
+-103.43 31.436 2984
+-103.304 31.436 3050
+-103.178 31.436 3078
+-103.052 31.436 3130
+-102.926 31.436 3175
+-102.8 31.436 3194
+-102.674 31.436 3226
+-102.548 31.436 3254
+-102.422 31.436 3278
+-102.296 31.436 3218
+-102.17 31.436 3232
+-102.044 31.436 3244
+-101.918 31.436 3255
+-101.792 31.436 3265
+-101.666 31.436 3273
+-101.54 31.436 3158
+-101.414 31.436 3164
+-101.288 31.436 3170
+-101.162 31.436 3175
+-101.036 31.436 3179
+-100.91 31.436 3052
+-100.784 31.436 3037
+-100.658 31.436 3039
+-100.532 31.436 3042
+-100.406 31.436 2997
+-100.28 31.436 2968
+-100.154 31.436 2810
+-100.028 31.436 2799
+-99.902 31.436 2786
+-99.776 31.436 2771
+-99.65 31.436 2755
+-99.524 31.436 2736
+-99.398 31.436 2533
+-99.272 31.436 2509
+-99.146 31.436 2405
+-99.02 31.436 2378
+-98.894 31.436 2359
+-98.768 31.436 2299
+-98.642 31.436 2299
+-98.516 31.436 2255
+-98.39 31.436 2231
+-98.264 31.436 2183
+-98.138 31.436 2192
+-98.012 31.436 2164
+-97.886 31.436 2225
+-97.76 31.436 2136
+-97.634 31.436 2195
+-97.508 31.436 2150
+-97.382 31.436 2081
+-97.256 31.436 2112
+-97.13 31.436 2085
+-97.004 31.436 2008
+-96.878 31.436 1886
+-96.752 31.436 1802
+-96.626 31.436 1748
+-96.5 31.436 1640
+-96.374 31.436 1521
+-96.248 31.436 1398
+-96.122 31.436 1248
+-95.996 31.436 1086
+-95.87 31.436 914
+-95.744 31.436 730
+-95.618 31.436 550
+-95.492 31.436 377
+-95.366 31.436 230
+-95.24 31.436 129
+-95.114 31.436 92
+-94.988 31.436 133
+-94.862 31.436 255
+-94.736 31.436 448
+-94.61 31.436 691
+-94.484 31.436 963
+-94.358 31.436 1238
+-94.232 31.436 1472
+-94.106 31.436 1697
+-93.98 31.436 1896
+-93.854 31.436 2035
+-93.728 31.436 2176
+-93.602 31.436 2293
+-93.476 31.436 2380
+-93.35 31.436 2459
+-93.224 31.436 2520
+-93.098 31.436 2567
+-92.972 31.436 2645
+-92.846 31.436 2678
+-92.72 31.436 2699
+-92.594 31.436 2712
+-92.468 31.436 2708
+-92.342 31.436 2705
+-92.216 31.436 2700
+-92.09 31.436 2645
+-91.964 31.436 2620
+-91.838 31.436 2659
+-91.712 31.436 2604
+-91.586 31.436 2546
+-91.46 31.436 2474
+-91.334 31.436 2435
+-91.208 31.436 2432
+-91.082 31.436 2485
+-90.956 31.436 2554
+-90.83 31.436 2611
+-90.704 31.436 2687
+-90.578 31.436 2728
+-90.452 31.436 2752
+-90.326 31.436 2761
+-90.2 31.436 2775
+-90.074 31.436 2788
+-89.948 31.436 2809
+-89.822 31.436 2803
+-89.696 31.436 2809
+-89.57 31.436 2819
+-89.444 31.436 2832
+-89.318 31.436 2851
+-89.192 31.436 2871
+-89.066 31.436 2910
+-88.94 31.436 2923
+-88.814 31.436 2931
+-88.688 31.436 2935
+-88.562 31.436 2928
+-88.436 31.436 2935
+-88.31 31.436 2911
+-88.184 31.436 2855
+-88.058 31.436 2783
+-87.932 31.436 2742
+-87.806 31.436 2794
+-87.68 31.436 2932
+-87.554 31.436 3078
+-87.428 31.436 3189
+-87.302 31.436 3345
+-87.176 31.436 3416
+-87.05 31.436 3549
+-86.924 31.436 3618
+-86.798 31.436 3644
+-86.672 31.436 3627
+-86.546 31.436 3599
+-86.42 31.436 3687
+-86.294 31.436 3823
+-86.168 31.436 3967
+-86.042 31.436 4101
+-85.916 31.436 4172
+-85.79 31.436 4237
+-85.664 31.436 4286
+-85.538 31.436 4360
+-85.412 31.436 4496
+-85.286 31.436 4580
+-85.16 31.436 4649
+-85.034 31.436 4712
+-84.908 31.436 4761
+-84.782 31.436 4875
+-84.656 31.436 4956
+-84.53 31.436 5007
+-84.404 31.436 5070
+-84.278 31.436 5155
+-84.152 31.436 5232
+-84.026 31.436 5301
+-83.9 31.436 5370
+-83.774 31.436 5408
+-83.648 31.436 5453
+-83.522 31.436 5543
+-83.396 31.436 5581
+-83.27 31.436 5642
+-83.144 31.436 5676
+-83.018 31.436 5702
+-82.892 31.436 5702
+-82.766 31.436 5703
+-82.64 31.436 5723
+-82.514 31.436 5732
+-82.388 31.436 5758
+-82.262 31.436 5760
+-82.136 31.436 5749
+-82.01 31.436 5749
+-81.884 31.436 5746
+-81.758 31.436 5738
+-81.632 31.436 5717
+-81.506 31.436 5685
+-81.38 31.436 5672
+-81.254 31.436 5655
+-81.128 31.436 5603
+-81.002 31.436 5533
+-80.876 31.436 5492
+-80.75 31.436 5464
+-80.624 31.436 5405
+-80.498 31.436 5363
+-80.372 31.436 5277
+-80.246 31.436 5200
+-80.12 31.436 5132
+-79.994 31.436 5055
+-79.868 31.436 4952
+-79.742 31.436 4949
+-79.616 31.436 4906
+-79.49 31.436 4805
+-79.364 31.436 4693
+-79.238 31.436 4528
+-79.112 31.436 4437
+-78.986 31.436 4398
+-78.86 31.436 4365
+-78.734 31.436 4269
+-78.608 31.436 4160
+-78.482 31.436 4054
+-78.356 31.436 3978
+-78.23 31.436 3988
+-78.104 31.436 3974
+-77.978 31.436 3927
+-77.852 31.436 3853
+-77.726 31.436 3728
+-77.6 31.436 3625
+-77.474 31.436 3517
+-77.348 31.436 3405
+-77.222 31.436 3298
+-77.096 31.436 3228
+-76.97 31.436 3180
+-76.844 31.436 3140
+-76.718 31.436 3113
+-76.592 31.436 3090
+-76.466 31.436 3080
+-76.34 31.436 3063
+-76.214 31.436 3074
+-76.088 31.436 3060
+-75.962 31.436 3071
+-75.836 31.436 3074
+-75.71 31.436 3092
+-75.584 31.436 3095
+-75.458 31.436 3094
+-75.332 31.436 3112
+-75.206 31.436 3122
+-75.08 31.436 3145
+-74.954 31.436 3162
+-74.828 31.436 3177
+-74.702 31.436 3192
+-74.576 31.436 3206
+-74.45 31.436 3264
+-74.324 31.436 3280
+-74.198 31.436 3246
+-74.072 31.436 3259
+-73.946 31.436 3272
+-73.82 31.436 3283
+-73.694 31.436 3286
+-73.568 31.436 3273
+-73.442 31.436 3269
+-73.316 31.436 3243
+-73.19 31.436 3251
+-73.064 31.436 3223
+-72.938 31.436 3261
+-72.812 31.436 3269
+-72.686 31.436 3276
+-72.56 31.436 3283
+-72.434 31.436 3290
+-72.308 31.436 3296
+-72.182 31.436 3302
+-72.056 31.436 3282
+-71.93 31.436 3288
+-71.804 31.436 3293
+-71.678 31.436 3271
+-71.552 31.436 3243
+-71.426 31.436 3230
+-71.3 31.436 3233
+-71.174 31.436 3237
+-71.048 31.436 3240
+-70.922 31.436 3243
+-70.796 31.436 3246
+-70.67 31.436 3249
+-70.544 31.436 3173
+-70.418 31.436 3162
+-70.292 31.436 3165
+-70.166 31.436 3168
+-70.04 31.436 3171
+-69.914 31.436 3174
+-69.788 31.436 3177
+-69.662 31.436 3179
+-69.536 31.436 3182
+-69.41 31.436 3184
+-69.284 31.436 3186
+-69.158 31.436 3188
+-69.032 31.436 3190
+-68.906 31.436 3192
+-68.78 31.436 3194
+-68.654 31.436 3196
+-68.528 31.436 3184
+-68.402 31.436 3186
+-68.276 31.436 3188
+-68.15 31.436 3190
+-68.024 31.436 3192
+-67.898 31.436 3150
+-67.772 31.436 3151
+-67.646 31.436 3153
+-67.52 31.436 3154
+-67.394 31.436 3155
+-67.268 31.436 3156
+-67.142 31.436 3157
+-67.016 31.436 3158
+-66.89 31.436 3133
+-66.764 31.436 3119
+-66.638 31.436 3120
+-66.512 31.436 3121
+-66.386 31.436 3122
+-66.26 31.436 3123
+-66.134 31.436 3124
+-66.008 31.436 3124
+-65.882 31.436 3125
+-65.756 31.436 3126
+-65.63 31.436 3127
+-65.504 31.436 3127
+-65.378 31.436 3035
+-65.252 31.436 3036
+-65.126 31.436 3037
+-128 31.384 2589
+-127.874 31.384 2592
+-127.748 31.384 2596
+-127.622 31.384 2600
+-127.496 31.384 2604
+-127.37 31.384 2609
+-127.244 31.384 2614
+-127.118 31.384 2619
+-126.992 31.384 2625
+-126.866 31.384 2630
+-126.74 31.384 2780
+-126.614 31.384 2898
+-126.488 31.384 2899
+-126.362 31.384 2984
+-126.236 31.384 2982
+-126.11 31.384 3025
+-125.984 31.384 3022
+-125.858 31.384 3018
+-125.732 31.384 3015
+-125.606 31.384 3011
+-125.48 31.384 3087
+-125.354 31.384 3083
+-125.228 31.384 3079
+-125.102 31.384 3101
+-124.976 31.384 3096
+-124.85 31.384 3125
+-124.724 31.384 3136
+-124.598 31.384 3117
+-124.472 31.384 3123
+-124.346 31.384 3119
+-124.22 31.384 3147
+-124.094 31.384 3127
+-123.968 31.384 3112
+-123.842 31.384 3082
+-123.716 31.384 3066
+-123.59 31.384 3018
+-123.464 31.384 2974
+-123.338 31.384 2877
+-123.212 31.384 2829
+-123.086 31.384 2965
+-122.96 31.384 3129
+-122.834 31.384 3175
+-122.708 31.384 3293
+-122.582 31.384 3487
+-122.456 31.384 3658
+-122.33 31.384 3786
+-122.204 31.384 3842
+-122.078 31.384 3971
+-121.952 31.384 4144
+-121.826 31.384 4320
+-121.7 31.384 4335
+-121.574 31.384 4462
+-121.448 31.384 4661
+-121.322 31.384 4774
+-121.196 31.384 4888
+-121.07 31.384 4905
+-120.944 31.384 5082
+-120.818 31.384 5294
+-120.692 31.384 5463
+-120.566 31.384 5577
+-120.44 31.384 5570
+-120.314 31.384 5742
+-120.188 31.384 5886
+-120.062 31.384 5991
+-119.936 31.384 6148
+-119.81 31.384 6284
+-119.684 31.384 6350
+-119.558 31.384 6514
+-119.432 31.384 6629
+-119.306 31.384 6777
+-119.18 31.384 6898
+-119.054 31.384 6939
+-118.928 31.384 7055
+-118.802 31.384 7163
+-118.676 31.384 7277
+-118.55 31.384 7434
+-118.424 31.384 7475
+-118.298 31.384 7599
+-118.172 31.384 7679
+-118.046 31.384 7750
+-117.92 31.384 7837
+-117.794 31.384 7919
+-117.668 31.384 7979
+-117.542 31.384 8032
+-117.416 31.384 8076
+-117.29 31.384 8104
+-117.164 31.384 8122
+-117.038 31.384 8112
+-116.912 31.384 8121
+-116.786 31.384 8101
+-116.66 31.384 8070
+-116.534 31.384 8045
+-116.408 31.384 7992
+-116.282 31.384 7928
+-116.156 31.384 7892
+-116.03 31.384 7791
+-115.904 31.384 7677
+-115.778 31.384 7601
+-115.652 31.384 7503
+-115.526 31.384 7414
+-115.4 31.384 7306
+-115.274 31.384 7217
+-115.148 31.384 7111
+-115.022 31.384 6991
+-114.896 31.384 6851
+-114.77 31.384 6754
+-114.644 31.384 6642
+-114.518 31.384 6526
+-114.392 31.384 6360
+-114.266 31.384 6331
+-114.14 31.384 6154
+-114.014 31.384 6024
+-113.888 31.384 5960
+-113.762 31.384 5935
+-113.636 31.384 6005
+-113.51 31.384 6062
+-113.384 31.384 6216
+-113.258 31.384 6361
+-113.132 31.384 6481
+-113.006 31.384 6667
+-112.88 31.384 6765
+-112.754 31.384 6915
+-112.628 31.384 7104
+-112.502 31.384 7192
+-112.376 31.384 7356
+-112.25 31.384 7463
+-112.124 31.384 7580
+-111.998 31.384 7720
+-111.872 31.384 7850
+-111.746 31.384 8009
+-111.62 31.384 8156
+-111.494 31.384 8265
+-111.368 31.384 8386
+-111.242 31.384 8522
+-111.116 31.384 8628
+-110.99 31.384 8804
+-110.864 31.384 8907
+-110.738 31.384 9010
+-110.612 31.384 9148
+-110.486 31.384 9212
+-110.36 31.384 9208
+-110.234 31.384 9139
+-110.108 31.384 9089
+-109.982 31.384 8961
+-109.856 31.384 8812
+-109.73 31.384 8728
+-109.604 31.384 8521
+-109.478 31.384 8423
+-109.352 31.384 8340
+-109.226 31.384 8174
+-109.1 31.384 8082
+-108.974 31.384 7940
+-108.848 31.384 7843
+-108.722 31.384 7628
+-108.596 31.384 7500
+-108.47 31.384 7382
+-108.344 31.384 7223
+-108.218 31.384 7106
+-108.092 31.384 6975
+-107.966 31.384 6887
+-107.84 31.384 6742
+-107.714 31.384 6606
+-107.588 31.384 6435
+-107.462 31.384 6307
+-107.336 31.384 6223
+-107.21 31.384 6042
+-107.084 31.384 5892
+-106.958 31.384 5757
+-106.832 31.384 5588
+-106.706 31.384 5517
+-106.58 31.384 5292
+-106.454 31.384 5144
+-106.328 31.384 5021
+-106.202 31.384 4981
+-106.076 31.384 4929
+-105.95 31.384 4819
+-105.824 31.384 4698
+-105.698 31.384 4547
+-105.572 31.384 4316
+-105.446 31.384 4105
+-105.32 31.384 4227
+-105.194 31.384 4287
+-105.068 31.384 4238
+-104.942 31.384 4171
+-104.816 31.384 4095
+-104.69 31.384 3950
+-104.564 31.384 3798
+-104.438 31.384 3591
+-104.312 31.384 3408
+-104.186 31.384 3211
+-104.06 31.384 2969
+-103.934 31.384 2793
+-103.808 31.384 2692
+-103.682 31.384 2696
+-103.556 31.384 2783
+-103.43 31.384 2885
+-103.304 31.384 2970
+-103.178 31.384 3047
+-103.052 31.384 3081
+-102.926 31.384 3133
+-102.8 31.384 3178
+-102.674 31.384 3196
+-102.548 31.384 3227
+-102.422 31.384 3177
+-102.296 31.384 3195
+-102.17 31.384 3211
+-102.044 31.384 3224
+-101.918 31.384 3236
+-101.792 31.384 3247
+-101.666 31.384 3257
+-101.54 31.384 3151
+-101.414 31.384 3151
+-101.288 31.384 3157
+-101.162 31.384 3163
+-101.036 31.384 3168
+-100.91 31.384 3172
+-100.784 31.384 3046
+-100.658 31.384 3031
+-100.532 31.384 3034
+-100.406 31.384 3037
+-100.28 31.384 2992
+-100.154 31.384 2805
+-100.028 31.384 2794
+-99.902 31.384 2781
+-99.776 31.384 2766
+-99.65 31.384 2750
+-99.524 31.384 2732
+-99.398 31.384 2531
+-99.272 31.384 2507
+-99.146 31.384 2481
+-99.02 31.384 2381
+-98.894 31.384 2357
+-98.768 31.384 2302
+-98.642 31.384 2299
+-98.516 31.384 2271
+-98.39 31.384 2195
+-98.264 31.384 2208
+-98.138 31.384 2182
+-98.012 31.384 2154
+-97.886 31.384 2122
+-97.76 31.384 2177
+-97.634 31.384 2182
+-97.508 31.384 2158
+-97.382 31.384 2087
+-97.256 31.384 2137
+-97.13 31.384 2065
+-97.004 31.384 1948
+-96.878 31.384 1872
+-96.752 31.384 1832
+-96.626 31.384 1734
+-96.5 31.384 1628
+-96.374 31.384 1521
+-96.248 31.384 1387
+-96.122 31.384 1240
+-95.996 31.384 1082
+-95.87 31.384 909
+-95.744 31.384 738
+-95.618 31.384 562
+-95.492 31.384 397
+-95.366 31.384 259
+-95.24 31.384 164
+-95.114 31.384 130
+-94.988 31.384 170
+-94.862 31.384 287
+-94.736 31.384 471
+-94.61 31.384 707
+-94.484 31.384 968
+-94.358 31.384 1215
+-94.232 31.384 1460
+-94.106 31.384 1683
+-93.98 31.384 1854
+-93.854 31.384 2019
+-93.728 31.384 2159
+-93.602 31.384 2268
+-93.476 31.384 2365
+-93.35 31.384 2441
+-93.224 31.384 2500
+-93.098 31.384 2589
+-92.972 31.384 2631
+-92.846 31.384 2660
+-92.72 31.384 2681
+-92.594 31.384 2683
+-92.468 31.384 2685
+-92.342 31.384 2684
+-92.216 31.384 2632
+-92.09 31.384 2611
+-91.964 31.384 2583
+-91.838 31.384 2606
+-91.712 31.384 2538
+-91.586 31.384 2444
+-91.46 31.384 2363
+-91.334 31.384 2300
+-91.208 31.384 2288
+-91.082 31.384 2332
+-90.956 31.384 2415
+-90.83 31.384 2523
+-90.704 31.384 2611
+-90.578 31.384 2665
+-90.452 31.384 2702
+-90.326 31.384 2711
+-90.2 31.384 2739
+-90.074 31.384 2737
+-89.948 31.384 2739
+-89.822 31.384 2733
+-89.696 31.384 2728
+-89.57 31.384 2730
+-89.444 31.384 2744
+-89.318 31.384 2758
+-89.192 31.384 2781
+-89.066 31.384 2802
+-88.94 31.384 2848
+-88.814 31.384 2859
+-88.688 31.384 2864
+-88.562 31.384 2869
+-88.436 31.384 2863
+-88.31 31.384 2869
+-88.184 31.384 2852
+-88.058 31.384 2806
+-87.932 31.384 2781
+-87.806 31.384 2837
+-87.68 31.384 2950
+-87.554 31.384 3089
+-87.428 31.384 3195
+-87.302 31.384 3289
+-87.176 31.384 3398
+-87.05 31.384 3522
+-86.924 31.384 3624
+-86.798 31.384 3681
+-86.672 31.384 3697
+-86.546 31.384 3699
+-86.42 31.384 3727
+-86.294 31.384 3819
+-86.168 31.384 3965
+-86.042 31.384 4118
+-85.916 31.384 4181
+-85.79 31.384 4199
+-85.664 31.384 4269
+-85.538 31.384 4396
+-85.412 31.384 4531
+-85.286 31.384 4637
+-85.16 31.384 4705
+-85.034 31.384 4723
+-84.908 31.384 4809
+-84.782 31.384 4949
+-84.656 31.384 4973
+-84.53 31.384 5027
+-84.404 31.384 5108
+-84.278 31.384 5220
+-84.152 31.384 5303
+-84.026 31.384 5344
+-83.9 31.384 5402
+-83.774 31.384 5457
+-83.648 31.384 5518
+-83.522 31.384 5591
+-83.396 31.384 5661
+-83.27 31.384 5684
+-83.144 31.384 5724
+-83.018 31.384 5763
+-82.892 31.384 5760
+-82.766 31.384 5777
+-82.64 31.384 5781
+-82.514 31.384 5793
+-82.388 31.384 5783
+-82.262 31.384 5839
+-82.136 31.384 5803
+-82.01 31.384 5804
+-81.884 31.384 5791
+-81.758 31.384 5803
+-81.632 31.384 5780
+-81.506 31.384 5764
+-81.38 31.384 5706
+-81.254 31.384 5715
+-81.128 31.384 5645
+-81.002 31.384 5606
+-80.876 31.384 5552
+-80.75 31.384 5503
+-80.624 31.384 5469
+-80.498 31.384 5399
+-80.372 31.384 5363
+-80.246 31.384 5276
+-80.12 31.384 5201
+-79.994 31.384 5118
+-79.868 31.384 5038
+-79.742 31.384 4993
+-79.616 31.384 4948
+-79.49 31.384 4864
+-79.364 31.384 4734
+-79.238 31.384 4565
+-79.112 31.384 4461
+-78.986 31.384 4427
+-78.86 31.384 4398
+-78.734 31.384 4321
+-78.608 31.384 4184
+-78.482 31.384 4021
+-78.356 31.384 3897
+-78.23 31.384 3970
+-78.104 31.384 3997
+-77.978 31.384 3957
+-77.852 31.384 3906
+-77.726 31.384 3775
+-77.6 31.384 3676
+-77.474 31.384 3555
+-77.348 31.384 3455
+-77.222 31.384 3354
+-77.096 31.384 3274
+-76.97 31.384 3176
+-76.844 31.384 3117
+-76.718 31.384 3075
+-76.592 31.384 3039
+-76.466 31.384 2997
+-76.34 31.384 3005
+-76.214 31.384 2999
+-76.088 31.384 3015
+-75.962 31.384 3025
+-75.836 31.384 3047
+-75.71 31.384 3056
+-75.584 31.384 3059
+-75.458 31.384 3080
+-75.332 31.384 3093
+-75.206 31.384 3119
+-75.08 31.384 3138
+-74.954 31.384 3156
+-74.828 31.384 3173
+-74.702 31.384 3189
+-74.576 31.384 3246
+-74.45 31.384 3264
+-74.324 31.384 3233
+-74.198 31.384 3247
+-74.072 31.384 3261
+-73.946 31.384 3274
+-73.82 31.384 3277
+-73.694 31.384 3265
+-73.568 31.384 3262
+-73.442 31.384 3237
+-73.316 31.384 3246
+-73.19 31.384 3218
+-73.064 31.384 3256
+-72.938 31.384 3265
+-72.812 31.384 3272
+-72.686 31.384 3280
+-72.56 31.384 3287
+-72.434 31.384 3293
+-72.308 31.384 3299
+-72.182 31.384 3280
+-72.056 31.384 3286
+-71.93 31.384 3291
+-71.804 31.384 3270
+-71.678 31.384 3242
+-71.552 31.384 3229
+-71.426 31.384 3232
+-71.3 31.384 3236
+-71.174 31.384 3239
+-71.048 31.384 3243
+-70.922 31.384 3246
+-70.796 31.384 3249
+-70.67 31.384 3172
+-70.544 31.384 3162
+-70.418 31.384 3165
+-70.292 31.384 3168
+-70.166 31.384 3171
+-70.04 31.384 3174
+-69.914 31.384 3176
+-69.788 31.384 3179
+-69.662 31.384 3181
+-69.536 31.384 3184
+-69.41 31.384 3186
+-69.284 31.384 3188
+-69.158 31.384 3191
+-69.032 31.384 3193
+-68.906 31.384 3195
+-68.78 31.384 3196
+-68.654 31.384 3184
+-68.528 31.384 3186
+-68.402 31.384 3188
+-68.276 31.384 3190
+-68.15 31.384 3192
+-68.024 31.384 3150
+-67.898 31.384 3151
+-67.772 31.384 3153
+-67.646 31.384 3154
+-67.52 31.384 3156
+-67.394 31.384 3157
+-67.268 31.384 3157
+-67.142 31.384 3158
+-67.016 31.384 3133
+-66.89 31.384 3119
+-66.764 31.384 3120
+-66.638 31.384 3121
+-66.512 31.384 3122
+-66.386 31.384 3123
+-66.26 31.384 3124
+-66.134 31.384 3124
+-66.008 31.384 3125
+-65.882 31.384 3126
+-65.756 31.384 3127
+-65.63 31.384 3127
+-65.504 31.384 3035
+-65.378 31.384 3036
+-65.252 31.384 3037
+-65.126 31.384 3038
+-128 31.332 2582
+-127.874 31.332 2585
+-127.748 31.332 2589
+-127.622 31.332 2593
+-127.496 31.332 2598
+-127.37 31.332 2602
+-127.244 31.332 2607
+-127.118 31.332 2612
+-126.992 31.332 2618
+-126.866 31.332 2624
+-126.74 31.332 2630
+-126.614 31.332 2780
+-126.488 31.332 2969
+-126.362 31.332 2968
+-126.236 31.332 3031
+-126.11 31.332 3028
+-125.984 31.332 3025
+-125.858 31.332 3022
+-125.732 31.332 3018
+-125.606 31.332 3094
+-125.48 31.332 3091
+-125.354 31.332 3087
+-125.228 31.332 3096
+-125.102 31.332 3092
+-124.976 31.332 3107
+-124.85 31.332 3101
+-124.724 31.332 3130
+-124.598 31.332 3122
+-124.472 31.332 3112
+-124.346 31.332 3120
+-124.22 31.332 3152
+-124.094 31.332 3149
+-123.968 31.332 3126
+-123.842 31.332 3125
+-123.716 31.332 3096
+-123.59 31.332 3097
+-123.464 31.332 3052
+-123.338 31.332 3011
+-123.212 31.332 3013
+-123.086 31.332 3098
+-122.96 31.332 3197
+-122.834 31.332 3279
+-122.708 31.332 3397
+-122.582 31.332 3541
+-122.456 31.332 3678
+-122.33 31.332 3772
+-122.204 31.332 3788
+-122.078 31.332 3896
+-121.952 31.332 4122
+-121.826 31.332 4297
+-121.7 31.332 4385
+-121.574 31.332 4488
+-121.448 31.332 4661
+-121.322 31.332 4680
+-121.196 31.332 4852
+-121.07 31.332 4972
+-120.944 31.332 5116
+-120.818 31.332 5283
+-120.692 31.332 5461
+-120.566 31.332 5563
+-120.44 31.332 5608
+-120.314 31.332 5719
+-120.188 31.332 5816
+-120.062 31.332 5943
+-119.936 31.332 6132
+-119.81 31.332 6261
+-119.684 31.332 6297
+-119.558 31.332 6494
+-119.432 31.332 6552
+-119.306 31.332 6716
+-119.18 31.332 6822
+-119.054 31.332 6896
+-118.928 31.332 7097
+-118.802 31.332 7168
+-118.676 31.332 7222
+-118.55 31.332 7348
+-118.424 31.332 7464
+-118.298 31.332 7560
+-118.172 31.332 7632
+-118.046 31.332 7690
+-117.92 31.332 7775
+-117.794 31.332 7872
+-117.668 31.332 7933
+-117.542 31.332 7977
+-117.416 31.332 8023
+-117.29 31.332 8054
+-117.164 31.332 8054
+-117.038 31.332 8059
+-116.912 31.332 8050
+-116.786 31.332 8050
+-116.66 31.332 8018
+-116.534 31.332 7988
+-116.408 31.332 7957
+-116.282 31.332 7907
+-116.156 31.332 7825
+-116.03 31.332 7732
+-115.904 31.332 7626
+-115.778 31.332 7588
+-115.652 31.332 7514
+-115.526 31.332 7396
+-115.4 31.332 7308
+-115.274 31.332 7183
+-115.148 31.332 7074
+-115.022 31.332 6958
+-114.896 31.332 6847
+-114.77 31.332 6718
+-114.644 31.332 6649
+-114.518 31.332 6478
+-114.392 31.332 6308
+-114.266 31.332 6253
+-114.14 31.332 6113
+-114.014 31.332 6005
+-113.888 31.332 5909
+-113.762 31.332 5827
+-113.636 31.332 5980
+-113.51 31.332 6123
+-113.384 31.332 6260
+-113.258 31.332 6367
+-113.132 31.332 6515
+-113.006 31.332 6618
+-112.88 31.332 6781
+-112.754 31.332 6928
+-112.628 31.332 7028
+-112.502 31.332 7185
+-112.376 31.332 7280
+-112.25 31.332 7452
+-112.124 31.332 7512
+-111.998 31.332 7737
+-111.872 31.332 7823
+-111.746 31.332 8009
+-111.62 31.332 8143
+-111.494 31.332 8198
+-111.368 31.332 8356
+-111.242 31.332 8511
+-111.116 31.332 8652
+-110.99 31.332 8775
+-110.864 31.332 8948
+-110.738 31.332 9027
+-110.612 31.332 9055
+-110.486 31.332 9135
+-110.36 31.332 9182
+-110.234 31.332 9140
+-110.108 31.332 8990
+-109.982 31.332 8932
+-109.856 31.332 8809
+-109.73 31.332 8650
+-109.604 31.332 8570
+-109.478 31.332 8402
+-109.352 31.332 8330
+-109.226 31.332 8115
+-109.1 31.332 8046
+-108.974 31.332 7944
+-108.848 31.332 7802
+-108.722 31.332 7648
+-108.596 31.332 7493
+-108.47 31.332 7349
+-108.344 31.332 7208
+-108.218 31.332 7084
+-108.092 31.332 6890
+-107.966 31.332 6867
+-107.84 31.332 6753
+-107.714 31.332 6619
+-107.588 31.332 6468
+-107.462 31.332 6348
+-107.336 31.332 6229
+-107.21 31.332 6027
+-107.084 31.332 5819
+-106.958 31.332 5796
+-106.832 31.332 5622
+-106.706 31.332 5477
+-106.58 31.332 5336
+-106.454 31.332 5173
+-106.328 31.332 5045
+-106.202 31.332 4930
+-106.076 31.332 4914
+-105.95 31.332 4801
+-105.824 31.332 4615
+-105.698 31.332 4466
+-105.572 31.332 4376
+-105.446 31.332 4258
+-105.32 31.332 4279
+-105.194 31.332 4266
+-105.068 31.332 4192
+-104.942 31.332 4106
+-104.816 31.332 4026
+-104.69 31.332 3867
+-104.564 31.332 3679
+-104.438 31.332 3522
+-104.312 31.332 3332
+-104.186 31.332 3098
+-104.06 31.332 2824
+-103.934 31.332 2578
+-103.808 31.332 2478
+-103.682 31.332 2545
+-103.556 31.332 2669
+-103.43 31.332 2804
+-103.304 31.332 2917
+-103.178 31.332 2999
+-103.052 31.332 3070
+-102.926 31.332 3099
+-102.8 31.332 3147
+-102.674 31.332 3188
+-102.548 31.332 3131
+-102.422 31.332 3154
+-102.296 31.332 3174
+-102.17 31.332 3191
+-102.044 31.332 3206
+-101.918 31.332 3219
+-101.792 31.332 3230
+-101.666 31.332 3129
+-101.54 31.332 3137
+-101.414 31.332 3145
+-101.288 31.332 3151
+-101.162 31.332 3157
+-101.036 31.332 3163
+-100.91 31.332 3168
+-100.784 31.332 3173
+-100.658 31.332 3040
+-100.532 31.332 3026
+-100.406 31.332 3029
+-100.28 31.332 2898
+-100.154 31.332 2839
+-100.028 31.332 2789
+-99.902 31.332 2776
+-99.776 31.332 2762
+-99.65 31.332 2746
+-99.524 31.332 2729
+-99.398 31.332 2530
+-99.272 31.332 2492
+-99.146 31.332 2466
+-99.02 31.332 2380
+-98.894 31.332 2346
+-98.768 31.332 2329
+-98.642 31.332 2273
+-98.516 31.332 2272
+-98.39 31.332 2217
+-98.264 31.332 2190
+-98.138 31.332 2174
+-98.012 31.332 2166
+-97.886 31.332 2134
+-97.76 31.332 2078
+-97.634 31.332 2194
+-97.508 31.332 2126
+-97.382 31.332 2114
+-97.256 31.332 2121
+-97.13 31.332 2008
+-97.004 31.332 1940
+-96.878 31.332 1914
+-96.752 31.332 1827
+-96.626 31.332 1732
+-96.5 31.332 1642
+-96.374 31.332 1524
+-96.248 31.332 1394
+-96.122 31.332 1254
+-95.996 31.332 1096
+-95.87 31.332 944
+-95.744 31.332 779
+-95.618 31.332 617
+-95.492 31.332 469
+-95.366 31.332 345
+-95.24 31.332 262
+-95.114 31.332 234
+-94.988 31.332 274
+-94.862 31.332 383
+-94.736 31.332 556
+-94.61 31.332 773
+-94.484 31.332 1004
+-94.358 31.332 1245
+-94.232 31.332 1477
+-94.106 31.332 1668
+-93.98 31.332 1854
+-93.854 31.332 2015
+-93.728 31.332 2144
+-93.602 31.332 2259
+-93.476 31.332 2351
+-93.35 31.332 2424
+-93.224 31.332 2525
+-93.098 31.332 2578
+-92.972 31.332 2616
+-92.846 31.332 2645
+-92.72 31.332 2654
+-92.594 31.332 2662
+-92.468 31.332 2668
+-92.342 31.332 2620
+-92.216 31.332 2606
+-92.09 31.332 2586
+-91.964 31.332 2553
+-91.838 31.332 2566
+-91.712 31.332 2469
+-91.586 31.332 2377
+-91.46 31.332 2278
+-91.334 31.332 2189
+-91.208 31.332 2159
+-91.082 31.332 2202
+-90.956 31.332 2316
+-90.83 31.332 2446
+-90.704 31.332 2546
+-90.578 31.332 2617
+-90.452 31.332 2649
+-90.326 31.332 2670
+-90.2 31.332 2677
+-90.074 31.332 2673
+-89.948 31.332 2660
+-89.822 31.332 2642
+-89.696 31.332 2632
+-89.57 31.332 2622
+-89.444 31.332 2646
+-89.318 31.332 2675
+-89.192 31.332 2706
+-89.066 31.332 2730
+-88.94 31.332 2746
+-88.814 31.332 2761
+-88.688 31.332 2793
+-88.562 31.332 2800
+-88.436 31.332 2817
+-88.31 31.332 2859
+-88.184 31.332 2858
+-88.058 31.332 2858
+-87.932 31.332 2858
+-87.806 31.332 2917
+-87.68 31.332 3000
+-87.554 31.332 3097
+-87.428 31.332 3176
+-87.302 31.332 3260
+-87.176 31.332 3390
+-87.05 31.332 3527
+-86.924 31.332 3638
+-86.798 31.332 3685
+-86.672 31.332 3720
+-86.546 31.332 3719
+-86.42 31.332 3666
+-86.294 31.332 3791
+-86.168 31.332 3976
+-86.042 31.332 4125
+-85.916 31.332 4180
+-85.79 31.332 4149
+-85.664 31.332 4238
+-85.538 31.332 4414
+-85.412 31.332 4559
+-85.286 31.332 4664
+-85.16 31.332 4752
+-85.034 31.332 4789
+-84.908 31.332 4887
+-84.782 31.332 5001
+-84.656 31.332 5032
+-84.53 31.332 5069
+-84.404 31.332 5163
+-84.278 31.332 5282
+-84.152 31.332 5337
+-84.026 31.332 5374
+-83.9 31.332 5461
+-83.774 31.332 5539
+-83.648 31.332 5605
+-83.522 31.332 5662
+-83.396 31.332 5728
+-83.27 31.332 5746
+-83.144 31.332 5794
+-83.018 31.332 5800
+-82.892 31.332 5830
+-82.766 31.332 5856
+-82.64 31.332 5839
+-82.514 31.332 5832
+-82.388 31.332 5832
+-82.262 31.332 5842
+-82.136 31.332 5859
+-82.01 31.332 5863
+-81.884 31.332 5854
+-81.758 31.332 5862
+-81.632 31.332 5832
+-81.506 31.332 5793
+-81.38 31.332 5759
+-81.254 31.332 5723
+-81.128 31.332 5686
+-81.002 31.332 5655
+-80.876 31.332 5617
+-80.75 31.332 5561
+-80.624 31.332 5548
+-80.498 31.332 5470
+-80.372 31.332 5419
+-80.246 31.332 5334
+-80.12 31.332 5282
+-79.994 31.332 5212
+-79.868 31.332 5125
+-79.742 31.332 5058
+-79.616 31.332 5015
+-79.49 31.332 4934
+-79.364 31.332 4783
+-79.238 31.332 4606
+-79.112 31.332 4479
+-78.986 31.332 4437
+-78.86 31.332 4430
+-78.734 31.332 4364
+-78.608 31.332 4234
+-78.482 31.332 4062
+-78.356 31.332 3966
+-78.23 31.332 4000
+-78.104 31.332 4022
+-77.978 31.332 3984
+-77.852 31.332 3945
+-77.726 31.332 3804
+-77.6 31.332 3707
+-77.474 31.332 3583
+-77.348 31.332 3467
+-77.222 31.332 3365
+-77.096 31.332 3264
+-76.97 31.332 3170
+-76.844 31.332 3064
+-76.718 31.332 2980
+-76.592 31.332 2907
+-76.466 31.332 2903
+-76.34 31.332 2908
+-76.214 31.332 2936
+-76.088 31.332 2960
+-75.962 31.332 2989
+-75.836 31.332 3018
+-75.71 31.332 3016
+-75.584 31.332 3040
+-75.458 31.332 3058
+-75.332 31.332 3087
+-75.206 31.332 3109
+-75.08 31.332 3130
+-74.954 31.332 3150
+-74.828 31.332 3168
+-74.702 31.332 3226
+-74.576 31.332 3246
+-74.45 31.332 3219
+-74.324 31.332 3235
+-74.198 31.332 3249
+-74.072 31.332 3263
+-73.946 31.332 3267
+-73.82 31.332 3257
+-73.694 31.332 3255
+-73.568 31.332 3231
+-73.442 31.332 3240
+-73.316 31.332 3213
+-73.19 31.332 3252
+-73.064 31.332 3260
+-72.938 31.332 3269
+-72.812 31.332 3276
+-72.686 31.332 3284
+-72.56 31.332 3290
+-72.434 31.332 3297
+-72.308 31.332 3278
+-72.182 31.332 3284
+-72.056 31.332 3289
+-71.93 31.332 3268
+-71.804 31.332 3241
+-71.678 31.332 3227
+-71.552 31.332 3231
+-71.426 31.332 3235
+-71.3 31.332 3239
+-71.174 31.332 3242
+-71.048 31.332 3245
+-70.922 31.332 3248
+-70.796 31.332 3172
+-70.67 31.332 3161
+-70.544 31.332 3164
+-70.418 31.332 3168
+-70.292 31.332 3171
+-70.166 31.332 3173
+-70.04 31.332 3176
+-69.914 31.332 3179
+-69.788 31.332 3181
+-69.662 31.332 3184
+-69.536 31.332 3186
+-69.41 31.332 3188
+-69.284 31.332 3191
+-69.158 31.332 3193
+-69.032 31.332 3195
+-68.906 31.332 3197
+-68.78 31.332 3184
+-68.654 31.332 3186
+-68.528 31.332 3188
+-68.402 31.332 3190
+-68.276 31.332 3192
+-68.15 31.332 3150
+-68.024 31.332 3152
+-67.898 31.332 3153
+-67.772 31.332 3155
+-67.646 31.332 3156
+-67.52 31.332 3157
+-67.394 31.332 3156
+-67.268 31.332 3158
+-67.142 31.332 3133
+-67.016 31.332 3119
+-66.89 31.332 3120
+-66.764 31.332 3121
+-66.638 31.332 3122
+-66.512 31.332 3123
+-66.386 31.332 3124
+-66.26 31.332 3125
+-66.134 31.332 3125
+-66.008 31.332 3126
+-65.882 31.332 3127
+-65.756 31.332 3128
+-65.63 31.332 3035
+-65.504 31.332 3036
+-65.378 31.332 3037
+-65.252 31.332 3038
+-65.126 31.332 3038
+-128 31.28 2574
+-127.874 31.28 2578
+-127.748 31.28 2581
+-127.622 31.28 2585
+-127.496 31.28 2590
+-127.37 31.28 2594
+-127.244 31.28 2599
+-127.118 31.28 2604
+-126.992 31.28 2610
+-126.866 31.28 2616
+-126.74 31.28 2674
+-126.614 31.28 2679
+-126.488 31.28 2764
+-126.362 31.28 3036
+-126.236 31.28 3033
+-126.11 31.28 3030
+-125.984 31.28 3027
+-125.858 31.28 3024
+-125.732 31.28 3079
+-125.606 31.28 3077
+-125.48 31.28 3108
+-125.354 31.28 3104
+-125.228 31.28 3100
+-125.102 31.28 3098
+-124.976 31.28 3093
+-124.85 31.28 3104
+-124.724 31.28 3107
+-124.598 31.28 3106
+-124.472 31.28 3104
+-124.346 31.28 3130
+-124.22 31.28 3112
+-124.094 31.28 3141
+-123.968 31.28 3127
+-123.842 31.28 3154
+-123.716 31.28 3166
+-123.59 31.28 3137
+-123.464 31.28 3113
+-123.338 31.28 3105
+-123.212 31.28 3124
+-123.086 31.28 3179
+-122.96 31.28 3261
+-122.834 31.28 3353
+-122.708 31.28 3460
+-122.582 31.28 3572
+-122.456 31.28 3655
+-122.33 31.28 3741
+-122.204 31.28 3802
+-122.078 31.28 3937
+-121.952 31.28 4116
+-121.826 31.28 4260
+-121.7 31.28 4367
+-121.574 31.28 4517
+-121.448 31.28 4666
+-121.322 31.28 4775
+-121.196 31.28 4922
+-121.07 31.28 5002
+-120.944 31.28 5092
+-120.818 31.28 5237
+-120.692 31.28 5410
+-120.566 31.28 5503
+-120.44 31.28 5526
+-120.314 31.28 5699
+-120.188 31.28 5861
+-120.062 31.28 5931
+-119.936 31.28 6047
+-119.81 31.28 6227
+-119.684 31.28 6247
+-119.558 31.28 6440
+-119.432 31.28 6601
+-119.306 31.28 6679
+-119.18 31.28 6750
+-119.054 31.28 6893
+-118.928 31.28 7032
+-118.802 31.28 7087
+-118.676 31.28 7201
+-118.55 31.28 7331
+-118.424 31.28 7367
+-118.298 31.28 7500
+-118.172 31.28 7593
+-118.046 31.28 7655
+-117.92 31.28 7726
+-117.794 31.28 7804
+-117.668 31.28 7864
+-117.542 31.28 7923
+-117.416 31.28 7940
+-117.29 31.28 7965
+-117.164 31.28 7981
+-117.038 31.28 8001
+-116.912 31.28 7980
+-116.786 31.28 7983
+-116.66 31.28 7970
+-116.534 31.28 7922
+-116.408 31.28 7879
+-116.282 31.28 7837
+-116.156 31.28 7765
+-116.03 31.28 7671
+-115.904 31.28 7625
+-115.778 31.28 7496
+-115.652 31.28 7410
+-115.526 31.28 7345
+-115.4 31.28 7240
+-115.274 31.28 7165
+-115.148 31.28 7043
+-115.022 31.28 6921
+-114.896 31.28 6828
+-114.77 31.28 6666
+-114.644 31.28 6576
+-114.518 31.28 6431
+-114.392 31.28 6369
+-114.266 31.28 6166
+-114.14 31.28 6085
+-114.014 31.28 5928
+-113.888 31.28 5738
+-113.762 31.28 5893
+-113.636 31.28 6013
+-113.51 31.28 6154
+-113.384 31.28 6214
+-113.258 31.28 6356
+-113.132 31.28 6529
+-113.006 31.28 6645
+-112.88 31.28 6823
+-112.754 31.28 6856
+-112.628 31.28 7091
+-112.502 31.28 7099
+-112.376 31.28 7292
+-112.25 31.28 7491
+-112.124 31.28 7573
+-111.998 31.28 7694
+-111.872 31.28 7816
+-111.746 31.28 7957
+-111.62 31.28 8119
+-111.494 31.28 8230
+-111.368 31.28 8363
+-111.242 31.28 8474
+-111.116 31.28 8657
+-110.99 31.28 8765
+-110.864 31.28 8857
+-110.738 31.28 8942
+-110.612 31.28 9001
+-110.486 31.28 9054
+-110.36 31.28 9072
+-110.234 31.28 9081
+-110.108 31.28 9017
+-109.982 31.28 8904
+-109.856 31.28 8798
+-109.73 31.28 8658
+-109.604 31.28 8496
+-109.478 31.28 8382
+-109.352 31.28 8236
+-109.226 31.28 8214
+-109.1 31.28 8051
+-108.974 31.28 7940
+-108.848 31.28 7777
+-108.722 31.28 7620
+-108.596 31.28 7496
+-108.47 31.28 7370
+-108.344 31.28 7221
+-108.218 31.28 7069
+-108.092 31.28 6959
+-107.966 31.28 6772
+-107.84 31.28 6708
+-107.714 31.28 6606
+-107.588 31.28 6464
+-107.462 31.28 6380
+-107.336 31.28 6236
+-107.21 31.28 6068
+-107.084 31.28 5904
+-106.958 31.28 5809
+-106.832 31.28 5638
+-106.706 31.28 5436
+-106.58 31.28 5350
+-106.454 31.28 5233
+-106.328 31.28 5082
+-106.202 31.28 4971
+-106.076 31.28 4896
+-105.95 31.28 4772
+-105.824 31.28 4540
+-105.698 31.28 4345
+-105.572 31.28 4404
+-105.446 31.28 4356
+-105.32 31.28 4287
+-105.194 31.28 4166
+-105.068 31.28 4093
+-104.942 31.28 4019
+-104.816 31.28 3936
+-104.69 31.28 3830
+-104.564 31.28 3671
+-104.438 31.28 3462
+-104.312 31.28 3266
+-104.186 31.28 3007
+-104.06 31.28 2752
+-103.934 31.28 2489
+-103.808 31.28 2378
+-103.682 31.28 2469
+-103.556 31.28 2637
+-103.43 31.28 2766
+-103.304 31.28 2883
+-103.178 31.28 2977
+-103.052 31.28 3052
+-102.926 31.28 3114
+-102.8 31.28 3123
+-102.674 31.28 3102
+-102.548 31.28 3109
+-102.422 31.28 3133
+-102.296 31.28 3153
+-102.17 31.28 3171
+-102.044 31.28 3186
+-101.918 31.28 3200
+-101.792 31.28 3106
+-101.666 31.28 3116
+-101.54 31.28 3124
+-101.414 31.28 3132
+-101.288 31.28 3139
+-101.162 31.28 3146
+-101.036 31.28 3152
+-100.91 31.28 3158
+-100.784 31.28 3163
+-100.658 31.28 3168
+-100.532 31.28 3036
+-100.406 31.28 3021
+-100.28 31.28 2892
+-100.154 31.28 2833
+-100.028 31.28 2772
+-99.902 31.28 2760
+-99.776 31.28 2746
+-99.65 31.28 2730
+-99.524 31.28 2713
+-99.398 31.28 2528
+-99.272 31.28 2491
+-99.146 31.28 2466
+-99.02 31.28 2380
+-98.894 31.28 2346
+-98.768 31.28 2318
+-98.642 31.28 2286
+-98.516 31.28 2249
+-98.39 31.28 2220
+-98.264 31.28 2201
+-98.138 31.28 2189
+-98.012 31.28 2160
+-97.886 31.28 2127
+-97.76 31.28 2092
+-97.634 31.28 2120
+-97.508 31.28 2158
+-97.382 31.28 2104
+-97.256 31.28 2000
+-97.13 31.28 2004
+-97.004 31.28 1991
+-96.878 31.28 1914
+-96.752 31.28 1830
+-96.626 31.28 1756
+-96.5 31.28 1653
+-96.374 31.28 1539
+-96.248 31.28 1417
+-96.122 31.28 1275
+-95.996 31.28 1146
+-95.87 31.28 1000
+-95.744 31.28 851
+-95.618 31.28 709
+-95.492 31.28 580
+-95.366 31.28 475
+-95.24 31.28 406
+-95.114 31.28 386
+-94.988 31.28 426
+-94.862 31.28 528
+-94.736 31.28 684
+-94.61 31.28 870
+-94.484 31.28 1083
+-94.358 31.28 1304
+-94.232 31.28 1500
+-94.106 31.28 1694
+-93.98 31.28 1869
+-93.854 31.28 2015
+-93.728 31.28 2145
+-93.602 31.28 2252
+-93.476 31.28 2340
+-93.35 31.28 2452
+-93.224 31.28 2516
+-93.098 31.28 2565
+-92.972 31.28 2603
+-92.846 31.28 2620
+-92.72 31.28 2636
+-92.594 31.28 2650
+-92.468 31.28 2607
+-92.342 31.28 2601
+-92.216 31.28 2589
+-92.09 31.28 2567
+-91.964 31.28 2531
+-91.838 31.28 2521
+-91.712 31.28 2440
+-91.586 31.28 2346
+-91.46 31.28 2236
+-91.334 31.28 2152
+-91.208 31.28 2111
+-91.082 31.28 2155
+-90.956 31.28 2270
+-90.83 31.28 2397
+-90.704 31.28 2505
+-90.578 31.28 2568
+-90.452 31.28 2609
+-90.326 31.28 2628
+-90.2 31.28 2631
+-90.074 31.28 2621
+-89.948 31.28 2601
+-89.822 31.28 2569
+-89.696 31.28 2533
+-89.57 31.28 2525
+-89.444 31.28 2541
+-89.318 31.28 2578
+-89.192 31.28 2611
+-89.066 31.28 2634
+-88.94 31.28 2663
+-88.814 31.28 2670
+-88.688 31.28 2688
+-88.562 31.28 2717
+-88.436 31.28 2770
+-88.31 31.28 2826
+-88.184 31.28 2868
+-88.058 31.28 2886
+-87.932 31.28 2906
+-87.806 31.28 2970
+-87.68 31.28 3032
+-87.554 31.28 3090
+-87.428 31.28 3142
+-87.302 31.28 3217
+-87.176 31.28 3337
+-87.05 31.28 3509
+-86.924 31.28 3625
+-86.798 31.28 3728
+-86.672 31.28 3778
+-86.546 31.28 3768
+-86.42 31.28 3772
+-86.294 31.28 3860
+-86.168 31.28 4000
+-86.042 31.28 4136
+-85.916 31.28 4194
+-85.79 31.28 4202
+-85.664 31.28 4268
+-85.538 31.28 4454
+-85.412 31.28 4587
+-85.286 31.28 4683
+-85.16 31.28 4788
+-85.034 31.28 4892
+-84.908 31.28 5003
+-84.782 31.28 5063
+-84.656 31.28 5095
+-84.53 31.28 5132
+-84.404 31.28 5208
+-84.278 31.28 5311
+-84.152 31.28 5372
+-84.026 31.28 5435
+-83.9 31.28 5531
+-83.774 31.28 5600
+-83.648 31.28 5673
+-83.522 31.28 5737
+-83.396 31.28 5795
+-83.27 31.28 5830
+-83.144 31.28 5856
+-83.018 31.28 5864
+-82.892 31.28 5890
+-82.766 31.28 5904
+-82.64 31.28 5920
+-82.514 31.28 5935
+-82.388 31.28 5922
+-82.262 31.28 5920
+-82.136 31.28 5930
+-82.01 31.28 5944
+-81.884 31.28 5928
+-81.758 31.28 5909
+-81.632 31.28 5900
+-81.506 31.28 5871
+-81.38 31.28 5832
+-81.254 31.28 5782
+-81.128 31.28 5757
+-81.002 31.28 5693
+-80.876 31.28 5659
+-80.75 31.28 5620
+-80.624 31.28 5564
+-80.498 31.28 5519
+-80.372 31.28 5465
+-80.246 31.28 5375
+-80.12 31.28 5307
+-79.994 31.28 5275
+-79.868 31.28 5157
+-79.742 31.28 5065
+-79.616 31.28 5066
+-79.49 31.28 4984
+-79.364 31.28 4865
+-79.238 31.28 4687
+-79.112 31.28 4554
+-78.986 31.28 4497
+-78.86 31.28 4468
+-78.734 31.28 4403
+-78.608 31.28 4308
+-78.482 31.28 4179
+-78.356 31.28 4064
+-78.23 31.28 4080
+-78.104 31.28 4089
+-77.978 31.28 4002
+-77.852 31.28 3950
+-77.726 31.28 3853
+-77.6 31.28 3701
+-77.474 31.28 3596
+-77.348 31.28 3483
+-77.222 31.28 3354
+-77.096 31.28 3242
+-76.97 31.28 3103
+-76.844 31.28 2968
+-76.718 31.28 2845
+-76.592 31.28 2767
+-76.466 31.28 2770
+-76.34 31.28 2819
+-76.214 31.28 2868
+-76.088 31.28 2914
+-75.962 31.28 2954
+-75.836 31.28 2961
+-75.71 31.28 2991
+-75.584 31.28 3015
+-75.458 31.28 3048
+-75.332 31.28 3075
+-75.206 31.28 3100
+-75.08 31.28 3123
+-74.954 31.28 3145
+-74.828 31.28 3203
+-74.702 31.28 3226
+-74.576 31.28 3202
+-74.45 31.28 3220
+-74.324 31.28 3237
+-74.198 31.28 3252
+-74.072 31.28 3257
+-73.946 31.28 3248
+-73.82 31.28 3247
+-73.694 31.28 3225
+-73.568 31.28 3235
+-73.442 31.28 3209
+-73.316 31.28 3247
+-73.19 31.28 3256
+-73.064 31.28 3265
+-72.938 31.28 3273
+-72.812 31.28 3281
+-72.686 31.28 3288
+-72.56 31.28 3295
+-72.434 31.28 3276
+-72.308 31.28 3282
+-72.182 31.28 3288
+-72.056 31.28 3267
+-71.93 31.28 3239
+-71.804 31.28 3226
+-71.678 31.28 3231
+-71.552 31.28 3234
+-71.426 31.28 3238
+-71.3 31.28 3242
+-71.174 31.28 3245
+-71.048 31.28 3248
+-70.922 31.28 3171
+-70.796 31.28 3161
+-70.67 31.28 3164
+-70.544 31.28 3167
+-70.418 31.28 3170
+-70.292 31.28 3173
+-70.166 31.28 3176
+-70.04 31.28 3179
+-69.914 31.28 3181
+-69.788 31.28 3184
+-69.662 31.28 3186
+-69.536 31.28 3189
+-69.41 31.28 3191
+-69.284 31.28 3193
+-69.158 31.28 3195
+-69.032 31.28 3197
+-68.906 31.28 3184
+-68.78 31.28 3186
+-68.654 31.28 3188
+-68.528 31.28 3191
+-68.402 31.28 3193
+-68.276 31.28 3151
+-68.15 31.28 3152
+-68.024 31.28 3154
+-67.898 31.28 3155
+-67.772 31.28 3156
+-67.646 31.28 3158
+-67.52 31.28 3156
+-67.394 31.28 3158
+-67.268 31.28 3133
+-67.142 31.28 3119
+-67.016 31.28 3120
+-66.89 31.28 3121
+-66.764 31.28 3122
+-66.638 31.28 3123
+-66.512 31.28 3124
+-66.386 31.28 3125
+-66.26 31.28 3125
+-66.134 31.28 3126
+-66.008 31.28 3127
+-65.882 31.28 3128
+-65.756 31.28 3035
+-65.63 31.28 3036
+-65.504 31.28 3037
+-65.378 31.28 3038
+-65.252 31.28 3038
+-65.126 31.28 3039
+-128 31.228 2566
+-127.874 31.228 2569
+-127.748 31.228 2573
+-127.622 31.228 2577
+-127.496 31.228 2581
+-127.37 31.228 2585
+-127.244 31.228 2590
+-127.118 31.228 2595
+-126.992 31.228 2601
+-126.866 31.228 2658
+-126.74 31.228 2663
+-126.614 31.228 2748
+-126.488 31.228 2799
+-126.362 31.228 2804
+-126.236 31.228 3035
+-126.11 31.228 3033
+-125.984 31.228 3030
+-125.858 31.228 3086
+-125.732 31.228 3083
+-125.606 31.228 3115
+-125.48 31.228 3111
+-125.354 31.228 3108
+-125.228 31.228 3106
+-125.102 31.228 3101
+-124.976 31.228 3096
+-124.85 31.228 3090
+-124.724 31.228 3111
+-124.598 31.228 3124
+-124.472 31.228 3127
+-124.346 31.228 3117
+-124.22 31.228 3164
+-124.094 31.228 3147
+-123.968 31.228 3166
+-123.842 31.228 3206
+-123.716 31.228 3178
+-123.59 31.228 3152
+-123.464 31.228 3134
+-123.338 31.228 3133
+-123.212 31.228 3157
+-123.086 31.228 3216
+-122.96 31.228 3298
+-122.834 31.228 3389
+-122.708 31.228 3494
+-122.582 31.228 3582
+-122.456 31.228 3618
+-122.33 31.228 3622
+-122.204 31.228 3738
+-122.078 31.228 3940
+-121.952 31.228 4143
+-121.826 31.228 4231
+-121.7 31.228 4273
+-121.574 31.228 4417
+-121.448 31.228 4629
+-121.322 31.228 4820
+-121.196 31.228 4947
+-121.07 31.228 4955
+-120.944 31.228 4999
+-120.818 31.228 5179
+-120.692 31.228 5357
+-120.566 31.228 5371
+-120.44 31.228 5557
+-120.314 31.228 5652
+-120.188 31.228 5760
+-120.062 31.228 5917
+-119.936 31.228 6068
+-119.81 31.228 6206
+-119.684 31.228 6232
+-119.558 31.228 6417
+-119.432 31.228 6563
+-119.306 31.228 6639
+-119.18 31.228 6794
+-119.054 31.228 6880
+-118.928 31.228 6944
+-118.802 31.228 7046
+-118.676 31.228 7145
+-118.55 31.228 7282
+-118.424 31.228 7407
+-118.298 31.228 7460
+-118.172 31.228 7557
+-118.046 31.228 7619
+-117.92 31.228 7687
+-117.794 31.228 7750
+-117.668 31.228 7832
+-117.542 31.228 7840
+-117.416 31.228 7884
+-117.29 31.228 7917
+-117.164 31.228 7937
+-117.038 31.228 7964
+-116.912 31.228 7948
+-116.786 31.228 7914
+-116.66 31.228 7923
+-116.534 31.228 7865
+-116.408 31.228 7788
+-116.282 31.228 7758
+-116.156 31.228 7690
+-116.03 31.228 7601
+-115.904 31.228 7536
+-115.778 31.228 7454
+-115.652 31.228 7395
+-115.526 31.228 7267
+-115.4 31.228 7155
+-115.274 31.228 7108
+-115.148 31.228 6985
+-115.022 31.228 6890
+-114.896 31.228 6752
+-114.77 31.228 6647
+-114.644 31.228 6564
+-114.518 31.228 6414
+-114.392 31.228 6319
+-114.266 31.228 6191
+-114.14 31.228 6012
+-114.014 31.228 5964
+-113.888 31.228 5889
+-113.762 31.228 5904
+-113.636 31.228 6016
+-113.51 31.228 6104
+-113.384 31.228 6239
+-113.258 31.228 6281
+-113.132 31.228 6523
+-113.006 31.228 6634
+-112.88 31.228 6767
+-112.754 31.228 6830
+-112.628 31.228 7018
+-112.502 31.228 7188
+-112.376 31.228 7287
+-112.25 31.228 7390
+-112.124 31.228 7602
+-111.998 31.228 7664
+-111.872 31.228 7800
+-111.746 31.228 7960
+-111.62 31.228 8103
+-111.494 31.228 8181
+-111.368 31.228 8384
+-111.242 31.228 8474
+-111.116 31.228 8639
+-110.99 31.228 8732
+-110.864 31.228 8858
+-110.738 31.228 8924
+-110.612 31.228 8997
+-110.486 31.228 9034
+-110.36 31.228 9042
+-110.234 31.228 9005
+-110.108 31.228 8947
+-109.982 31.228 8838
+-109.856 31.228 8750
+-109.73 31.228 8645
+-109.604 31.228 8519
+-109.478 31.228 8365
+-109.352 31.228 8248
+-109.226 31.228 8143
+-109.1 31.228 8029
+-108.974 31.228 7902
+-108.848 31.228 7723
+-108.722 31.228 7588
+-108.596 31.228 7464
+-108.47 31.228 7346
+-108.344 31.228 7258
+-108.218 31.228 7104
+-108.092 31.228 6907
+-107.966 31.228 6856
+-107.84 31.228 6682
+-107.714 31.228 6559
+-107.588 31.228 6482
+-107.462 31.228 6346
+-107.336 31.228 6175
+-107.21 31.228 6076
+-107.084 31.228 5840
+-106.958 31.228 5849
+-106.832 31.228 5655
+-106.706 31.228 5439
+-106.58 31.228 5353
+-106.454 31.228 5229
+-106.328 31.228 5068
+-106.202 31.228 4959
+-106.076 31.228 4880
+-105.95 31.228 4766
+-105.824 31.228 4619
+-105.698 31.228 4481
+-105.572 31.228 4442
+-105.446 31.228 4336
+-105.32 31.228 4164
+-105.194 31.228 3984
+-105.068 31.228 3976
+-104.942 31.228 3962
+-104.816 31.228 3898
+-104.69 31.228 3789
+-104.564 31.228 3643
+-104.438 31.228 3410
+-104.312 31.228 3183
+-104.186 31.228 2977
+-104.06 31.228 2768
+-103.934 31.228 2579
+-103.808 31.228 2479
+-103.682 31.228 2540
+-103.556 31.228 2670
+-103.43 31.228 2797
+-103.304 31.228 2877
+-103.178 31.228 2964
+-103.052 31.228 3037
+-102.926 31.228 3045
+-102.8 31.228 3048
+-102.674 31.228 3064
+-102.548 31.228 3092
+-102.422 31.228 3116
+-102.296 31.228 3137
+-102.17 31.228 3154
+-102.044 31.228 3170
+-101.918 31.228 3082
+-101.792 31.228 3093
+-101.666 31.228 3103
+-101.54 31.228 3112
+-101.414 31.228 3120
+-101.288 31.228 3128
+-101.162 31.228 3134
+-101.036 31.228 3141
+-100.91 31.228 3147
+-100.784 31.228 3153
+-100.658 31.228 3158
+-100.532 31.228 3163
+-100.406 31.228 3002
+-100.28 31.228 2873
+-100.154 31.228 2816
+-100.028 31.228 2768
+-99.902 31.228 2756
+-99.776 31.228 2742
+-99.65 31.228 2727
+-99.524 31.228 2710
+-99.398 31.228 2527
+-99.272 31.228 2490
+-99.146 31.228 2465
+-99.02 31.228 2380
+-98.894 31.228 2347
+-98.768 31.228 2319
+-98.642 31.228 2288
+-98.516 31.228 2255
+-98.39 31.228 2226
+-98.264 31.228 2188
+-98.138 31.228 2170
+-98.012 31.228 2154
+-97.886 31.228 2123
+-97.76 31.228 2126
+-97.634 31.228 2155
+-97.508 31.228 2149
+-97.382 31.228 2049
+-97.256 31.228 2053
+-97.13 31.228 2063
+-97.004 31.228 1995
+-96.878 31.228 1921
+-96.752 31.228 1861
+-96.626 31.228 1771
+-96.5 31.228 1673
+-96.374 31.228 1566
+-96.248 31.228 1440
+-96.122 31.228 1333
+-95.996 31.228 1206
+-95.87 31.228 1075
+-95.744 31.228 947
+-95.618 31.228 826
+-95.492 31.228 720
+-95.366 31.228 631
+-95.24 31.228 576
+-95.114 31.228 566
+-94.988 31.228 608
+-94.862 31.228 701
+-94.736 31.228 830
+-94.61 31.228 998
+-94.484 31.228 1188
+-94.358 31.228 1368
+-94.232 31.228 1558
+-94.106 31.228 1735
+-93.98 31.228 1890
+-93.854 31.228 2031
+-93.728 31.228 2150
+-93.602 31.228 2251
+-93.476 31.228 2373
+-93.35 31.228 2449
+-93.224 31.228 2508
+-93.098 31.228 2555
+-92.972 31.228 2581
+-92.846 31.228 2605
+-92.72 31.228 2627
+-92.594 31.228 2590
+-92.468 31.228 2591
+-92.342 31.228 2589
+-92.216 31.228 2577
+-92.09 31.228 2555
+-91.964 31.228 2498
+-91.838 31.228 2512
+-91.712 31.228 2438
+-91.586 31.228 2340
+-91.46 31.228 2258
+-91.334 31.228 2179
+-91.208 31.228 2149
+-91.082 31.228 2188
+-90.956 31.228 2281
+-90.83 31.228 2393
+-90.704 31.228 2479
+-90.578 31.228 2541
+-90.452 31.228 2576
+-90.326 31.228 2589
+-90.2 31.228 2579
+-90.074 31.228 2573
+-89.948 31.228 2531
+-89.822 31.228 2509
+-89.696 31.228 2480
+-89.57 31.228 2466
+-89.444 31.228 2484
+-89.318 31.228 2526
+-89.192 31.228 2563
+-89.066 31.228 2582
+-88.94 31.228 2586
+-88.814 31.228 2601
+-88.688 31.228 2607
+-88.562 31.228 2638
+-88.436 31.228 2680
+-88.31 31.228 2763
+-88.184 31.228 2824
+-88.058 31.228 2864
+-87.932 31.228 2941
+-87.806 31.228 2995
+-87.68 31.228 3032
+-87.554 31.228 3042
+-87.428 31.228 3063
+-87.302 31.228 3140
+-87.176 31.228 3296
+-87.05 31.228 3488
+-86.924 31.228 3676
+-86.798 31.228 3743
+-86.672 31.228 3805
+-86.546 31.228 3835
+-86.42 31.228 3872
+-86.294 31.228 3885
+-86.168 31.228 3984
+-86.042 31.228 4140
+-85.916 31.228 4210
+-85.79 31.228 4242
+-85.664 31.228 4346
+-85.538 31.228 4514
+-85.412 31.228 4584
+-85.286 31.228 4673
+-85.16 31.228 4823
+-85.034 31.228 4953
+-84.908 31.228 5065
+-84.782 31.228 5109
+-84.656 31.228 5152
+-84.53 31.228 5178
+-84.404 31.228 5256
+-84.278 31.228 5366
+-84.152 31.228 5429
+-84.026 31.228 5523
+-83.9 31.228 5572
+-83.774 31.228 5639
+-83.648 31.228 5718
+-83.522 31.228 5790
+-83.396 31.228 5828
+-83.27 31.228 5862
+-83.144 31.228 5860
+-83.018 31.228 5911
+-82.892 31.228 5931
+-82.766 31.228 5947
+-82.64 31.228 5985
+-82.514 31.228 5989
+-82.388 31.228 5994
+-82.262 31.228 5989
+-82.136 31.228 5990
+-82.01 31.228 5986
+-81.884 31.228 6002
+-81.758 31.228 5993
+-81.632 31.228 5976
+-81.506 31.228 5956
+-81.38 31.228 5924
+-81.254 31.228 5871
+-81.128 31.228 5799
+-81.002 31.228 5767
+-80.876 31.228 5725
+-80.75 31.228 5699
+-80.624 31.228 5637
+-80.498 31.228 5558
+-80.372 31.228 5508
+-80.246 31.228 5442
+-80.12 31.228 5370
+-79.994 31.228 5326
+-79.868 31.228 5225
+-79.742 31.228 5132
+-79.616 31.228 5086
+-79.49 31.228 5030
+-79.364 31.228 4933
+-79.238 31.228 4792
+-79.112 31.228 4684
+-78.986 31.228 4611
+-78.86 31.228 4538
+-78.734 31.228 4455
+-78.608 31.228 4383
+-78.482 31.228 4326
+-78.356 31.228 4241
+-78.23 31.228 4201
+-78.104 31.228 4142
+-77.978 31.228 4057
+-77.852 31.228 4003
+-77.726 31.228 3827
+-77.6 31.228 3726
+-77.474 31.228 3613
+-77.348 31.228 3478
+-77.222 31.228 3344
+-77.096 31.228 3194
+-76.97 31.228 3044
+-76.844 31.228 2874
+-76.718 31.228 2697
+-76.592 31.228 2610
+-76.466 31.228 2657
+-76.34 31.228 2741
+-76.214 31.228 2817
+-76.088 31.228 2874
+-75.962 31.228 2895
+-75.836 31.228 2931
+-75.71 31.228 2981
+-75.584 31.228 3000
+-75.458 31.228 3032
+-75.332 31.228 3063
+-75.206 31.228 3091
+-75.08 31.228 3117
+-74.954 31.228 3177
+-74.828 31.228 3203
+-74.702 31.228 3184
+-74.576 31.228 3204
+-74.45 31.228 3223
+-74.324 31.228 3240
+-74.198 31.228 3246
+-74.072 31.228 3239
+-73.946 31.228 3239
+-73.82 31.228 3218
+-73.694 31.228 3229
+-73.568 31.228 3204
+-73.442 31.228 3242
+-73.316 31.228 3252
+-73.19 31.228 3261
+-73.064 31.228 3270
+-72.938 31.228 3278
+-72.812 31.228 3285
+-72.686 31.228 3292
+-72.56 31.228 3274
+-72.434 31.228 3280
+-72.308 31.228 3286
+-72.182 31.228 3266
+-72.056 31.228 3238
+-71.93 31.228 3226
+-71.804 31.228 3230
+-71.678 31.228 3234
+-71.552 31.228 3238
+-71.426 31.228 3241
+-71.3 31.228 3244
+-71.174 31.228 3248
+-71.048 31.228 3171
+-70.922 31.228 3160
+-70.796 31.228 3164
+-70.67 31.228 3167
+-70.544 31.228 3170
+-70.418 31.228 3173
+-70.292 31.228 3176
+-70.166 31.228 3179
+-70.04 31.228 3182
+-69.914 31.228 3184
+-69.788 31.228 3187
+-69.662 31.228 3189
+-69.536 31.228 3191
+-69.41 31.228 3193
+-69.284 31.228 3195
+-69.158 31.228 3197
+-69.032 31.228 3184
+-68.906 31.228 3186
+-68.78 31.228 3189
+-68.654 31.228 3191
+-68.528 31.228 3193
+-68.402 31.228 3151
+-68.276 31.228 3153
+-68.15 31.228 3154
+-68.024 31.228 3156
+-67.898 31.228 3157
+-67.772 31.228 3158
+-67.646 31.228 3156
+-67.52 31.228 3158
+-67.394 31.228 3134
+-67.268 31.228 3119
+-67.142 31.228 3120
+-67.016 31.228 3121
+-66.89 31.228 3122
+-66.764 31.228 3123
+-66.638 31.228 3124
+-66.512 31.228 3125
+-66.386 31.228 3126
+-66.26 31.228 3126
+-66.134 31.228 3127
+-66.008 31.228 3128
+-65.882 31.228 3036
+-65.756 31.228 3036
+-65.63 31.228 3037
+-65.504 31.228 3038
+-65.378 31.228 3039
+-65.252 31.228 3039
+-65.126 31.228 3040
+-128 31.176 2557
+-127.874 31.176 2560
+-127.748 31.176 2563
+-127.622 31.176 2567
+-127.496 31.176 2571
+-127.37 31.176 2575
+-127.244 31.176 2580
+-127.118 31.176 2585
+-126.992 31.176 2641
+-126.866 31.176 2646
+-126.74 31.176 2709
+-126.614 31.176 2782
+-126.488 31.176 2787
+-126.362 31.176 2792
+-126.236 31.176 2798
+-126.11 31.176 3035
+-125.984 31.176 3070
+-125.858 31.176 3097
+-125.732 31.176 3094
+-125.606 31.176 3092
+-125.48 31.176 3089
+-125.354 31.176 3113
+-125.228 31.176 3109
+-125.102 31.176 3104
+-124.976 31.176 3099
+-124.85 31.176 3106
+-124.724 31.176 3120
+-124.598 31.176 3113
+-124.472 31.176 3125
+-124.346 31.176 3115
+-124.22 31.176 3133
+-124.094 31.176 3179
+-123.968 31.176 3167
+-123.842 31.176 3138
+-123.716 31.176 3151
+-123.59 31.176 3120
+-123.464 31.176 3101
+-123.338 31.176 3082
+-123.212 31.176 3103
+-123.086 31.176 3175
+-122.96 31.176 3278
+-122.834 31.176 3403
+-122.708 31.176 3503
+-122.582 31.176 3576
+-122.456 31.176 3576
+-122.33 31.176 3529
+-122.204 31.176 3677
+-122.078 31.176 3917
+-121.952 31.176 4113
+-121.826 31.176 4201
+-121.7 31.176 4164
+-121.574 31.176 4336
+-121.448 31.176 4589
+-121.322 31.176 4809
+-121.196 31.176 4947
+-121.07 31.176 5020
+-120.944 31.176 5093
+-120.818 31.176 5123
+-120.692 31.176 5329
+-120.566 31.176 5420
+-120.44 31.176 5538
+-120.314 31.176 5598
+-120.188 31.176 5760
+-120.062 31.176 5956
+-119.936 31.176 6009
+-119.81 31.176 6159
+-119.684 31.176 6270
+-119.558 31.176 6395
+-119.432 31.176 6520
+-119.306 31.176 6648
+-119.18 31.176 6753
+-119.054 31.176 6845
+-118.928 31.176 6913
+-118.802 31.176 7042
+-118.676 31.176 7089
+-118.55 31.176 7246
+-118.424 31.176 7318
+-118.298 31.176 7374
+-118.172 31.176 7496
+-118.046 31.176 7578
+-117.92 31.176 7649
+-117.794 31.176 7700
+-117.668 31.176 7755
+-117.542 31.176 7787
+-117.416 31.176 7843
+-117.29 31.176 7875
+-117.164 31.176 7897
+-117.038 31.176 7876
+-116.912 31.176 7909
+-116.786 31.176 7871
+-116.66 31.176 7846
+-116.534 31.176 7797
+-116.408 31.176 7750
+-116.282 31.176 7702
+-116.156 31.176 7673
+-116.03 31.176 7545
+-115.904 31.176 7484
+-115.778 31.176 7406
+-115.652 31.176 7391
+-115.526 31.176 7297
+-115.4 31.176 7209
+-115.274 31.176 7060
+-115.148 31.176 6945
+-115.022 31.176 6810
+-114.896 31.176 6671
+-114.77 31.176 6612
+-114.644 31.176 6505
+-114.518 31.176 6357
+-114.392 31.176 6304
+-114.266 31.176 6183
+-114.14 31.176 6041
+-114.014 31.176 5838
+-113.888 31.176 5889
+-113.762 31.176 5790
+-113.636 31.176 5981
+-113.51 31.176 6108
+-113.384 31.176 6215
+-113.258 31.176 6329
+-113.132 31.176 6418
+-113.006 31.176 6569
+-112.88 31.176 6767
+-112.754 31.176 6903
+-112.628 31.176 6985
+-112.502 31.176 7168
+-112.376 31.176 7251
+-112.25 31.176 7411
+-112.124 31.176 7565
+-111.998 31.176 7684
+-111.872 31.176 7771
+-111.746 31.176 7913
+-111.62 31.176 8128
+-111.494 31.176 8204
+-111.368 31.176 8252
+-111.242 31.176 8440
+-111.116 31.176 8556
+-110.99 31.176 8703
+-110.864 31.176 8777
+-110.738 31.176 8855
+-110.612 31.176 8931
+-110.486 31.176 9024
+-110.36 31.176 8998
+-110.234 31.176 8950
+-110.108 31.176 8872
+-109.982 31.176 8803
+-109.856 31.176 8700
+-109.73 31.176 8581
+-109.604 31.176 8475
+-109.478 31.176 8342
+-109.352 31.176 8222
+-109.226 31.176 8081
+-109.1 31.176 8038
+-108.974 31.176 7822
+-108.848 31.176 7716
+-108.722 31.176 7594
+-108.596 31.176 7469
+-108.47 31.176 7325
+-108.344 31.176 7227
+-108.218 31.176 7101
+-108.092 31.176 6913
+-107.966 31.176 6732
+-107.84 31.176 6660
+-107.714 31.176 6517
+-107.588 31.176 6391
+-107.462 31.176 6358
+-107.336 31.176 6243
+-107.21 31.176 6114
+-107.084 31.176 5935
+-106.958 31.176 5863
+-106.832 31.176 5677
+-106.706 31.176 5476
+-106.58 31.176 5337
+-106.454 31.176 5224
+-106.328 31.176 5029
+-106.202 31.176 4913
+-106.076 31.176 4857
+-105.95 31.176 4741
+-105.824 31.176 4689
+-105.698 31.176 4590
+-105.572 31.176 4474
+-105.446 31.176 4324
+-105.32 31.176 4023
+-105.194 31.176 3871
+-105.068 31.176 3924
+-104.942 31.176 3925
+-104.816 31.176 3852
+-104.69 31.176 3735
+-104.564 31.176 3550
+-104.438 31.176 3337
+-104.312 31.176 3149
+-104.186 31.176 2938
+-104.06 31.176 2761
+-103.934 31.176 2654
+-103.808 31.176 2626
+-103.682 31.176 2651
+-103.556 31.176 2732
+-103.43 31.176 2800
+-103.304 31.176 2887
+-103.178 31.176 2965
+-103.052 31.176 2986
+-102.926 31.176 3018
+-102.8 31.176 3026
+-102.674 31.176 3051
+-102.548 31.176 3078
+-102.422 31.176 3101
+-102.296 31.176 3122
+-102.17 31.176 3139
+-102.044 31.176 3058
+-101.918 31.176 3071
+-101.792 31.176 3081
+-101.666 31.176 3091
+-101.54 31.176 3100
+-101.414 31.176 3109
+-101.288 31.176 3117
+-101.162 31.176 3124
+-101.036 31.176 3131
+-100.91 31.176 3137
+-100.784 31.176 3143
+-100.658 31.176 3149
+-100.532 31.176 3005
+-100.406 31.176 3010
+-100.28 31.176 2867
+-100.154 31.176 2811
+-100.028 31.176 2801
+-99.902 31.176 2752
+-99.776 31.176 2739
+-99.65 31.176 2724
+-99.524 31.176 2707
+-99.398 31.176 2525
+-99.272 31.176 2489
+-99.146 31.176 2465
+-99.02 31.176 2381
+-98.894 31.176 2348
+-98.768 31.176 2321
+-98.642 31.176 2290
+-98.516 31.176 2245
+-98.39 31.176 2206
+-98.264 31.176 2196
+-98.138 31.176 2156
+-98.012 31.176 2137
+-97.886 31.176 2159
+-97.76 31.176 2105
+-97.634 31.176 2061
+-97.508 31.176 2053
+-97.382 31.176 2108
+-97.256 31.176 2057
+-97.13 31.176 2069
+-97.004 31.176 2004
+-96.878 31.176 1957
+-96.752 31.176 1879
+-96.626 31.176 1794
+-96.5 31.176 1700
+-96.374 31.176 1587
+-96.248 31.176 1501
+-96.122 31.176 1392
+-95.996 31.176 1279
+-95.87 31.176 1166
+-95.744 31.176 1060
+-95.618 31.176 964
+-95.492 31.176 871
+-95.366 31.176 800
+-95.24 31.176 760
+-95.114 31.176 760
+-94.988 31.176 802
+-94.862 31.176 875
+-94.736 31.176 992
+-94.61 31.176 1139
+-94.484 31.176 1290
+-94.358 31.176 1459
+-94.232 31.176 1627
+-94.106 31.176 1780
+-93.98 31.176 1925
+-93.854 31.176 2051
+-93.728 31.176 2161
+-93.602 31.176 2292
+-93.476 31.176 2377
+-93.35 31.176 2446
+-93.224 31.176 2503
+-93.098 31.176 2537
+-92.972 31.176 2570
+-92.846 31.176 2599
+-92.72 31.176 2568
+-92.594 31.176 2577
+-92.468 31.176 2583
+-92.342 31.176 2580
+-92.216 31.176 2569
+-92.09 31.176 2523
+-91.964 31.176 2492
+-91.838 31.176 2454
+-91.712 31.176 2438
+-91.586 31.176 2367
+-91.46 31.176 2305
+-91.334 31.176 2252
+-91.208 31.176 2234
+-91.082 31.176 2262
+-90.956 31.176 2332
+-90.83 31.176 2409
+-90.704 31.176 2478
+-90.578 31.176 2524
+-90.452 31.176 2548
+-90.326 31.176 2545
+-90.2 31.176 2537
+-90.074 31.176 2509
+-89.948 31.176 2493
+-89.822 31.176 2479
+-89.696 31.176 2458
+-89.57 31.176 2446
+-89.444 31.176 2462
+-89.318 31.176 2498
+-89.192 31.176 2528
+-89.066 31.176 2535
+-88.94 31.176 2530
+-88.814 31.176 2523
+-88.688 31.176 2517
+-88.562 31.176 2550
+-88.436 31.176 2628
+-88.31 31.176 2729
+-88.184 31.176 2803
+-88.058 31.176 2873
+-87.932 31.176 2918
+-87.806 31.176 2976
+-87.68 31.176 2980
+-87.554 31.176 2963
+-87.428 31.176 2922
+-87.302 31.176 3016
+-87.176 31.176 3212
+-87.05 31.176 3465
+-86.924 31.176 3661
+-86.798 31.176 3771
+-86.672 31.176 3834
+-86.546 31.176 3868
+-86.42 31.176 3881
+-86.294 31.176 3823
+-86.168 31.176 3961
+-86.042 31.176 4143
+-85.916 31.176 4204
+-85.79 31.176 4263
+-85.664 31.176 4366
+-85.538 31.176 4528
+-85.412 31.176 4626
+-85.286 31.176 4764
+-85.16 31.176 4917
+-85.034 31.176 5038
+-84.908 31.176 5083
+-84.782 31.176 5074
+-84.656 31.176 5122
+-84.53 31.176 5204
+-84.404 31.176 5296
+-84.278 31.176 5418
+-84.152 31.176 5503
+-84.026 31.176 5562
+-83.9 31.176 5605
+-83.774 31.176 5690
+-83.648 31.176 5759
+-83.522 31.176 5819
+-83.396 31.176 5808
+-83.27 31.176 5886
+-83.144 31.176 5904
+-83.018 31.176 5951
+-82.892 31.176 5985
+-82.766 31.176 5998
+-82.64 31.176 6047
+-82.514 31.176 6033
+-82.388 31.176 6039
+-82.262 31.176 6057
+-82.136 31.176 6069
+-82.01 31.176 6059
+-81.884 31.176 6033
+-81.758 31.176 5996
+-81.632 31.176 6033
+-81.506 31.176 6005
+-81.38 31.176 5971
+-81.254 31.176 5938
+-81.128 31.176 5882
+-81.002 31.176 5838
+-80.876 31.176 5790
+-80.75 31.176 5770
+-80.624 31.176 5704
+-80.498 31.176 5622
+-80.372 31.176 5541
+-80.246 31.176 5469
+-80.12 31.176 5425
+-79.994 31.176 5387
+-79.868 31.176 5311
+-79.742 31.176 5208
+-79.616 31.176 5151
+-79.49 31.176 5071
+-79.364 31.176 4990
+-79.238 31.176 4882
+-79.112 31.176 4750
+-78.986 31.176 4686
+-78.86 31.176 4619
+-78.734 31.176 4480
+-78.608 31.176 4359
+-78.482 31.176 4391
+-78.356 31.176 4360
+-78.23 31.176 4313
+-78.104 31.176 4212
+-77.978 31.176 4137
+-77.852 31.176 4026
+-77.726 31.176 3881
+-77.6 31.176 3756
+-77.474 31.176 3598
+-77.348 31.176 3464
+-77.222 31.176 3308
+-77.096 31.176 3158
+-76.97 31.176 3006
+-76.844 31.176 2830
+-76.718 31.176 2628
+-76.592 31.176 2527
+-76.466 31.176 2601
+-76.34 31.176 2709
+-76.214 31.176 2787
+-76.088 31.176 2838
+-75.962 31.176 2860
+-75.836 31.176 2912
+-75.71 31.176 2959
+-75.584 31.176 3000
+-75.458 31.176 3040
+-75.332 31.176 3076
+-75.206 31.176 3110
+-75.08 31.176 3146
+-74.954 31.176 3176
+-74.828 31.176 3163
+-74.702 31.176 3186
+-74.576 31.176 3207
+-74.45 31.176 3226
+-74.324 31.176 3234
+-74.198 31.176 3230
+-74.072 31.176 3231
+-73.946 31.176 3211
+-73.82 31.176 3223
+-73.694 31.176 3199
+-73.568 31.176 3237
+-73.442 31.176 3247
+-73.316 31.176 3257
+-73.19 31.176 3266
+-73.064 31.176 3275
+-72.938 31.176 3283
+-72.812 31.176 3290
+-72.686 31.176 3272
+-72.56 31.176 3278
+-72.434 31.176 3285
+-72.308 31.176 3265
+-72.182 31.176 3237
+-72.056 31.176 3225
+-71.93 31.176 3229
+-71.804 31.176 3233
+-71.678 31.176 3237
+-71.552 31.176 3241
+-71.426 31.176 3244
+-71.3 31.176 3248
+-71.174 31.176 3170
+-71.048 31.176 3160
+-70.922 31.176 3164
+-70.796 31.176 3167
+-70.67 31.176 3170
+-70.544 31.176 3174
+-70.418 31.176 3176
+-70.292 31.176 3179
+-70.166 31.176 3182
+-70.04 31.176 3184
+-69.914 31.176 3187
+-69.788 31.176 3189
+-69.662 31.176 3192
+-69.536 31.176 3194
+-69.41 31.176 3196
+-69.284 31.176 3198
+-69.158 31.176 3184
+-69.032 31.176 3187
+-68.906 31.176 3189
+-68.78 31.176 3191
+-68.654 31.176 3193
+-68.528 31.176 3152
+-68.402 31.176 3153
+-68.276 31.176 3155
+-68.15 31.176 3156
+-68.024 31.176 3157
+-67.898 31.176 3159
+-67.772 31.176 3157
+-67.646 31.176 3158
+-67.52 31.176 3134
+-67.394 31.176 3120
+-67.268 31.176 3121
+-67.142 31.176 3122
+-67.016 31.176 3122
+-66.89 31.176 3123
+-66.764 31.176 3124
+-66.638 31.176 3125
+-66.512 31.176 3126
+-66.386 31.176 3126
+-66.26 31.176 3127
+-66.134 31.176 3128
+-66.008 31.176 3036
+-65.882 31.176 3036
+-65.756 31.176 3037
+-65.63 31.176 3038
+-65.504 31.176 3039
+-65.378 31.176 3039
+-65.252 31.176 3040
+-65.126 31.176 3041
+-128 31.124 2547
+-127.874 31.124 2550
+-127.748 31.124 2553
+-127.622 31.124 2556
+-127.496 31.124 2560
+-127.37 31.124 2564
+-127.244 31.124 2568
+-127.118 31.124 2624
+-126.992 31.124 2628
+-126.866 31.124 2692
+-126.74 31.124 2764
+-126.614 31.124 2768
+-126.488 31.124 2774
+-126.362 31.124 2779
+-126.236 31.124 2785
+-126.11 31.124 2791
+-125.984 31.124 2866
+-125.858 31.124 3100
+-125.732 31.124 3097
+-125.606 31.124 3095
+-125.48 31.124 3120
+-125.354 31.124 3116
+-125.228 31.124 3111
+-125.102 31.124 3107
+-124.976 31.124 3115
+-124.85 31.124 3131
+-124.724 31.124 3124
+-124.598 31.124 3139
+-124.472 31.124 3130
+-124.346 31.124 3151
+-124.22 31.124 3187
+-124.094 31.124 3164
+-123.968 31.124 3137
+-123.842 31.124 3129
+-123.716 31.124 3085
+-123.59 31.124 3073
+-123.464 31.124 3005
+-123.338 31.124 2945
+-123.212 31.124 2938
+-123.086 31.124 3032
+-122.96 31.124 3207
+-122.834 31.124 3371
+-122.708 31.124 3504
+-122.582 31.124 3585
+-122.456 31.124 3631
+-122.33 31.124 3641
+-122.204 31.124 3761
+-122.078 31.124 3952
+-121.952 31.124 4081
+-121.826 31.124 4188
+-121.7 31.124 4230
+-121.574 31.124 4364
+-121.448 31.124 4598
+-121.322 31.124 4805
+-121.196 31.124 4898
+-121.07 31.124 4976
+-120.944 31.124 5101
+-120.818 31.124 5213
+-120.692 31.124 5341
+-120.566 31.124 5425
+-120.44 31.124 5545
+-120.314 31.124 5642
+-120.188 31.124 5759
+-120.062 31.124 5873
+-119.936 31.124 6020
+-119.81 31.124 6128
+-119.684 31.124 6214
+-119.558 31.124 6373
+-119.432 31.124 6488
+-119.306 31.124 6582
+-119.18 31.124 6718
+-119.054 31.124 6792
+-118.928 31.124 6958
+-118.802 31.124 6986
+-118.676 31.124 7064
+-118.55 31.124 7179
+-118.424 31.124 7281
+-118.298 31.124 7362
+-118.172 31.124 7451
+-118.046 31.124 7532
+-117.92 31.124 7597
+-117.794 31.124 7667
+-117.668 31.124 7695
+-117.542 31.124 7747
+-117.416 31.124 7810
+-117.29 31.124 7828
+-117.164 31.124 7824
+-117.038 31.124 7836
+-116.912 31.124 7826
+-116.786 31.124 7813
+-116.66 31.124 7810
+-116.534 31.124 7757
+-116.408 31.124 7703
+-116.282 31.124 7651
+-116.156 31.124 7607
+-116.03 31.124 7489
+-115.904 31.124 7438
+-115.778 31.124 7374
+-115.652 31.124 7299
+-115.526 31.124 7234
+-115.4 31.124 7133
+-115.274 31.124 7010
+-115.148 31.124 6869
+-115.022 31.124 6767
+-114.896 31.124 6691
+-114.77 31.124 6581
+-114.644 31.124 6456
+-114.518 31.124 6363
+-114.392 31.124 6260
+-114.266 31.124 6116
+-114.14 31.124 6028
+-114.014 31.124 5894
+-113.888 31.124 5854
+-113.762 31.124 5895
+-113.636 31.124 5964
+-113.51 31.124 6082
+-113.384 31.124 6169
+-113.258 31.124 6330
+-113.132 31.124 6422
+-113.006 31.124 6560
+-112.88 31.124 6734
+-112.754 31.124 6801
+-112.628 31.124 6986
+-112.502 31.124 7174
+-112.376 31.124 7235
+-112.25 31.124 7356
+-112.124 31.124 7538
+-111.998 31.124 7606
+-111.872 31.124 7818
+-111.746 31.124 7984
+-111.62 31.124 8044
+-111.494 31.124 8157
+-111.368 31.124 8324
+-111.242 31.124 8441
+-111.116 31.124 8521
+-110.99 31.124 8640
+-110.864 31.124 8734
+-110.738 31.124 8822
+-110.612 31.124 8876
+-110.486 31.124 8939
+-110.36 31.124 8950
+-110.234 31.124 8910
+-110.108 31.124 8848
+-109.982 31.124 8754
+-109.856 31.124 8649
+-109.73 31.124 8614
+-109.604 31.124 8424
+-109.478 31.124 8341
+-109.352 31.124 8245
+-109.226 31.124 8105
+-109.1 31.124 8018
+-108.974 31.124 7850
+-108.848 31.124 7698
+-108.722 31.124 7568
+-108.596 31.124 7452
+-108.47 31.124 7353
+-108.344 31.124 7171
+-108.218 31.124 7085
+-108.092 31.124 6906
+-107.966 31.124 6741
+-107.84 31.124 6626
+-107.714 31.124 6574
+-107.588 31.124 6408
+-107.462 31.124 6258
+-107.336 31.124 6232
+-107.21 31.124 6104
+-107.084 31.124 5957
+-106.958 31.124 5853
+-106.832 31.124 5712
+-106.706 31.124 5455
+-106.58 31.124 5313
+-106.454 31.124 5249
+-106.328 31.124 5072
+-106.202 31.124 4928
+-106.076 31.124 4799
+-105.95 31.124 4659
+-105.824 31.124 4694
+-105.698 31.124 4643
+-105.572 31.124 4490
+-105.446 31.124 4361
+-105.32 31.124 4091
+-105.194 31.124 3977
+-105.068 31.124 3941
+-104.942 31.124 3896
+-104.816 31.124 3799
+-104.69 31.124 3631
+-104.564 31.124 3490
+-104.438 31.124 3335
+-104.312 31.124 3112
+-104.186 31.124 2884
+-104.06 31.124 2654
+-103.934 31.124 2545
+-103.808 31.124 2597
+-103.682 31.124 2682
+-103.556 31.124 2772
+-103.43 31.124 2858
+-103.304 31.124 2907
+-103.178 31.124 2933
+-103.052 31.124 2972
+-102.926 31.124 2983
+-102.8 31.124 3019
+-102.674 31.124 3049
+-102.548 31.124 3066
+-102.422 31.124 3089
+-102.296 31.124 3085
+-102.17 31.124 3101
+-102.044 31.124 3116
+-101.918 31.124 3060
+-101.792 31.124 3070
+-101.666 31.124 3080
+-101.54 31.124 3090
+-101.414 31.124 3098
+-101.288 31.124 3106
+-101.162 31.124 3114
+-101.036 31.124 3121
+-100.91 31.124 3127
+-100.784 31.124 3134
+-100.658 31.124 3140
+-100.532 31.124 2997
+-100.406 31.124 3001
+-100.28 31.124 2861
+-100.154 31.124 2852
+-100.028 31.124 2796
+-99.902 31.124 2785
+-99.776 31.124 2736
+-99.65 31.124 2721
+-99.524 31.124 2705
+-99.398 31.124 2524
+-99.272 31.124 2489
+-99.146 31.124 2465
+-99.02 31.124 2439
+-98.894 31.124 2350
+-98.768 31.124 2323
+-98.642 31.124 2293
+-98.516 31.124 2248
+-98.39 31.124 2216
+-98.264 31.124 2177
+-98.138 31.124 2165
+-98.012 31.124 2175
+-97.886 31.124 2138
+-97.76 31.124 2098
+-97.634 31.124 2115
+-97.508 31.124 2111
+-97.382 31.124 2113
+-97.256 31.124 2064
+-97.13 31.124 2009
+-97.004 31.124 2043
+-96.878 31.124 1975
+-96.752 31.124 1902
+-96.626 31.124 1820
+-96.5 31.124 1717
+-96.374 31.124 1648
+-96.248 31.124 1556
+-96.122 31.124 1459
+-95.996 31.124 1361
+-95.87 31.124 1270
+-95.744 31.124 1189
+-95.618 31.124 1101
+-95.492 31.124 1025
+-95.366 31.124 971
+-95.24 31.124 946
+-95.114 31.124 954
+-94.988 31.124 981
+-94.862 31.124 1053
+-94.736 31.124 1156
+-94.61 31.124 1268
+-94.484 31.124 1408
+-94.358 31.124 1556
+-94.232 31.124 1697
+-94.106 31.124 1837
+-93.98 31.124 1963
+-93.854 31.124 2077
+-93.728 31.124 2212
+-93.602 31.124 2305
+-93.476 31.124 2382
+-93.35 31.124 2446
+-93.224 31.124 2489
+-93.098 31.124 2529
+-92.972 31.124 2566
+-92.846 31.124 2542
+-92.72 31.124 2558
+-92.594 31.124 2571
+-92.468 31.124 2577
+-92.342 31.124 2575
+-92.216 31.124 2537
+-92.09 31.124 2519
+-91.964 31.124 2497
+-91.838 31.124 2445
+-91.712 31.124 2428
+-91.586 31.124 2417
+-91.46 31.124 2369
+-91.334 31.124 2322
+-91.208 31.124 2314
+-91.082 31.124 2336
+-90.956 31.124 2381
+-90.83 31.124 2438
+-90.704 31.124 2484
+-90.578 31.124 2512
+-90.452 31.124 2515
+-90.326 31.124 2510
+-90.2 31.124 2482
+-90.074 31.124 2465
+-89.948 31.124 2452
+-89.822 31.124 2452
+-89.696 31.124 2452
+-89.57 31.124 2451
+-89.444 31.124 2461
+-89.318 31.124 2482
+-89.192 31.124 2498
+-89.066 31.124 2499
+-88.94 31.124 2480
+-88.814 31.124 2455
+-88.688 31.124 2437
+-88.562 31.124 2474
+-88.436 31.124 2562
+-88.31 31.124 2688
+-88.184 31.124 2781
+-88.058 31.124 2856
+-87.932 31.124 2940
+-87.806 31.124 2998
+-87.68 31.124 2986
+-87.554 31.124 2903
+-87.428 31.124 2836
+-87.302 31.124 2940
+-87.176 31.124 3184
+-87.05 31.124 3447
+-86.924 31.124 3680
+-86.798 31.124 3797
+-86.672 31.124 3871
+-86.546 31.124 3917
+-86.42 31.124 3933
+-86.294 31.124 3932
+-86.168 31.124 4033
+-86.042 31.124 4168
+-85.916 31.124 4179
+-85.79 31.124 4252
+-85.664 31.124 4437
+-85.538 31.124 4613
+-85.412 31.124 4777
+-85.286 31.124 4874
+-85.16 31.124 4998
+-85.034 31.124 5051
+-84.908 31.124 4998
+-84.782 31.124 5130
+-84.656 31.124 5197
+-84.53 31.124 5265
+-84.404 31.124 5347
+-84.278 31.124 5462
+-84.152 31.124 5549
+-84.026 31.124 5579
+-83.9 31.124 5634
+-83.774 31.124 5738
+-83.648 31.124 5748
+-83.522 31.124 5842
+-83.396 31.124 5893
+-83.27 31.124 5938
+-83.144 31.124 5966
+-83.018 31.124 6013
+-82.892 31.124 6038
+-82.766 31.124 6048
+-82.64 31.124 6058
+-82.514 31.124 6071
+-82.388 31.124 6100
+-82.262 31.124 6127
+-82.136 31.124 6115
+-82.01 31.124 6116
+-81.884 31.124 6111
+-81.758 31.124 6077
+-81.632 31.124 6088
+-81.506 31.124 6052
+-81.38 31.124 6018
+-81.254 31.124 5980
+-81.128 31.124 5933
+-81.002 31.124 5883
+-80.876 31.124 5849
+-80.75 31.124 5770
+-80.624 31.124 5768
+-80.498 31.124 5679
+-80.372 31.124 5596
+-80.246 31.124 5520
+-80.12 31.124 5462
+-79.994 31.124 5420
+-79.868 31.124 5355
+-79.742 31.124 5259
+-79.616 31.124 5174
+-79.49 31.124 5097
+-79.364 31.124 5030
+-79.238 31.124 4944
+-79.112 31.124 4780
+-78.986 31.124 4702
+-78.86 31.124 4654
+-78.734 31.124 4571
+-78.608 31.124 4471
+-78.482 31.124 4447
+-78.356 31.124 4434
+-78.23 31.124 4389
+-78.104 31.124 4310
+-77.978 31.124 4164
+-77.852 31.124 4079
+-77.726 31.124 3944
+-77.6 31.124 3765
+-77.474 31.124 3621
+-77.348 31.124 3476
+-77.222 31.124 3284
+-77.096 31.124 3124
+-76.97 31.124 2978
+-76.844 31.124 2853
+-76.718 31.124 2716
+-76.592 31.124 2622
+-76.466 31.124 2655
+-76.34 31.124 2721
+-76.214 31.124 2763
+-76.088 31.124 2795
+-75.962 31.124 2828
+-75.836 31.124 2879
+-75.71 31.124 2929
+-75.584 31.124 2978
+-75.458 31.124 3024
+-75.332 31.124 3066
+-75.206 31.124 3109
+-75.08 31.124 3145
+-74.954 31.124 3139
+-74.828 31.124 3166
+-74.702 31.124 3190
+-74.576 31.124 3212
+-74.45 31.124 3221
+-74.324 31.124 3219
+-74.198 31.124 3222
+-74.072 31.124 3204
+-73.946 31.124 3217
+-73.82 31.124 3193
+-73.694 31.124 3232
+-73.568 31.124 3243
+-73.442 31.124 3254
+-73.316 31.124 3263
+-73.19 31.124 3272
+-73.064 31.124 3280
+-72.938 31.124 3288
+-72.812 31.124 3270
+-72.686 31.124 3277
+-72.56 31.124 3284
+-72.434 31.124 3264
+-72.308 31.124 3237
+-72.182 31.124 3224
+-72.056 31.124 3229
+-71.93 31.124 3233
+-71.804 31.124 3237
+-71.678 31.124 3241
+-71.552 31.124 3244
+-71.426 31.124 3248
+-71.3 31.124 3170
+-71.174 31.124 3160
+-71.048 31.124 3164
+-70.922 31.124 3167
+-70.796 31.124 3171
+-70.67 31.124 3174
+-70.544 31.124 3177
+-70.418 31.124 3180
+-70.292 31.124 3182
+-70.166 31.124 3185
+-70.04 31.124 3187
+-69.914 31.124 3190
+-69.788 31.124 3192
+-69.662 31.124 3194
+-69.536 31.124 3196
+-69.41 31.124 3198
+-69.284 31.124 3185
+-69.158 31.124 3187
+-69.032 31.124 3190
+-68.906 31.124 3192
+-68.78 31.124 3194
+-68.654 31.124 3152
+-68.528 31.124 3154
+-68.402 31.124 3155
+-68.276 31.124 3157
+-68.15 31.124 3158
+-68.024 31.124 3159
+-67.898 31.124 3157
+-67.772 31.124 3158
+-67.646 31.124 3134
+-67.52 31.124 3120
+-67.394 31.124 3121
+-67.268 31.124 3122
+-67.142 31.124 3123
+-67.016 31.124 3123
+-66.89 31.124 3124
+-66.764 31.124 3125
+-66.638 31.124 3126
+-66.512 31.124 3127
+-66.386 31.124 3127
+-66.26 31.124 3128
+-66.134 31.124 3036
+-66.008 31.124 3037
+-65.882 31.124 3037
+-65.756 31.124 3038
+-65.63 31.124 3039
+-65.504 31.124 3040
+-65.378 31.124 3040
+-65.252 31.124 3041
+-65.126 31.124 3042
+-128 31.072 2501
+-127.874 31.072 2504
+-127.748 31.072 2507
+-127.622 31.072 2511
+-127.496 31.072 2515
+-127.37 31.072 2519
+-127.244 31.072 2606
+-127.118 31.072 2609
+-126.992 31.072 2673
+-126.866 31.072 2744
+-126.74 31.072 2749
+-126.614 31.072 2754
+-126.488 31.072 2759
+-126.362 31.072 2764
+-126.236 31.072 2770
+-126.11 31.072 2777
+-125.984 31.072 2779
+-125.858 31.072 2861
+-125.732 31.072 3100
+-125.606 31.072 3126
+-125.48 31.072 3122
+-125.354 31.072 3118
+-125.228 31.072 3114
+-125.102 31.072 3123
+-124.976 31.072 3140
+-124.85 31.072 3134
+-124.724 31.072 3141
+-124.598 31.072 3135
+-124.472 31.072 3168
+-124.346 31.072 3209
+-124.22 31.072 3189
+-124.094 31.072 3165
+-123.968 31.072 3135
+-123.842 31.072 3096
+-123.716 31.072 3062
+-123.59 31.072 3009
+-123.464 31.072 2895
+-123.338 31.072 2752
+-123.212 31.072 2685
+-123.086 31.072 2816
+-122.96 31.072 3087
+-122.834 31.072 3330
+-122.708 31.072 3503
+-122.582 31.072 3642
+-122.456 31.072 3714
+-122.33 31.072 3791
+-122.204 31.072 3868
+-122.078 31.072 3960
+-121.952 31.072 3999
+-121.826 31.072 4115
+-121.7 31.072 4247
+-121.574 31.072 4373
+-121.448 31.072 4615
+-121.322 31.072 4771
+-121.196 31.072 4877
+-121.07 31.072 4884
+-120.944 31.072 5033
+-120.818 31.072 5212
+-120.692 31.072 5331
+-120.566 31.072 5341
+-120.44 31.072 5501
+-120.314 31.072 5528
+-120.188 31.072 5719
+-120.062 31.072 5851
+-119.936 31.072 5912
+-119.81 31.072 6109
+-119.684 31.072 6241
+-119.558 31.072 6361
+-119.432 31.072 6474
+-119.306 31.072 6559
+-119.18 31.072 6662
+-119.054 31.072 6782
+-118.928 31.072 6903
+-118.802 31.072 6984
+-118.676 31.072 7091
+-118.55 31.072 7116
+-118.424 31.072 7230
+-118.298 31.072 7350
+-118.172 31.072 7424
+-118.046 31.072 7484
+-117.92 31.072 7558
+-117.794 31.072 7583
+-117.668 31.072 7643
+-117.542 31.072 7665
+-117.416 31.072 7732
+-117.29 31.072 7726
+-117.164 31.072 7771
+-117.038 31.072 7761
+-116.912 31.072 7765
+-116.786 31.072 7758
+-116.66 31.072 7736
+-116.534 31.072 7692
+-116.408 31.072 7679
+-116.282 31.072 7606
+-116.156 31.072 7529
+-116.03 31.072 7503
+-115.904 31.072 7436
+-115.778 31.072 7355
+-115.652 31.072 7199
+-115.526 31.072 7179
+-115.4 31.072 7040
+-115.274 31.072 6944
+-115.148 31.072 6821
+-115.022 31.072 6761
+-114.896 31.072 6656
+-114.77 31.072 6565
+-114.644 31.072 6436
+-114.518 31.072 6334
+-114.392 31.072 6236
+-114.266 31.072 6140
+-114.14 31.072 6000
+-114.014 31.072 5861
+-113.888 31.072 5672
+-113.762 31.072 5827
+-113.636 31.072 5983
+-113.51 31.072 6046
+-113.384 31.072 6193
+-113.258 31.072 6348
+-113.132 31.072 6409
+-113.006 31.072 6595
+-112.88 31.072 6727
+-112.754 31.072 6864
+-112.628 31.072 7020
+-112.502 31.072 7094
+-112.376 31.072 7232
+-112.25 31.072 7434
+-112.124 31.072 7451
+-111.998 31.072 7610
+-111.872 31.072 7768
+-111.746 31.072 7960
+-111.62 31.072 8005
+-111.494 31.072 8168
+-111.368 31.072 8289
+-111.242 31.072 8385
+-111.116 31.072 8483
+-110.99 31.072 8596
+-110.864 31.072 8708
+-110.738 31.072 8794
+-110.612 31.072 8856
+-110.486 31.072 8886
+-110.36 31.072 8869
+-110.234 31.072 8855
+-110.108 31.072 8792
+-109.982 31.072 8741
+-109.856 31.072 8641
+-109.73 31.072 8496
+-109.604 31.072 8496
+-109.478 31.072 8322
+-109.352 31.072 8182
+-109.226 31.072 8104
+-109.1 31.072 7993
+-108.974 31.072 7836
+-108.848 31.072 7696
+-108.722 31.072 7606
+-108.596 31.072 7427
+-108.47 31.072 7317
+-108.344 31.072 7220
+-108.218 31.072 7064
+-108.092 31.072 6889
+-107.966 31.072 6765
+-107.84 31.072 6641
+-107.714 31.072 6506
+-107.588 31.072 6364
+-107.462 31.072 6210
+-107.336 31.072 6169
+-107.21 31.072 6061
+-107.084 31.072 5923
+-106.958 31.072 5783
+-106.832 31.072 5679
+-106.706 31.072 5537
+-106.58 31.072 5363
+-106.454 31.072 5274
+-106.328 31.072 5078
+-106.202 31.072 4901
+-106.076 31.072 4798
+-105.95 31.072 4754
+-105.824 31.072 4717
+-105.698 31.072 4662
+-105.572 31.072 4510
+-105.446 31.072 4344
+-105.32 31.072 4198
+-105.194 31.072 4060
+-105.068 31.072 3955
+-104.942 31.072 3855
+-104.816 31.072 3683
+-104.69 31.072 3541
+-104.564 31.072 3416
+-104.438 31.072 3290
+-104.312 31.072 3124
+-104.186 31.072 2860
+-104.06 31.072 2576
+-103.934 31.072 2437
+-103.808 31.072 2534
+-103.682 31.072 2684
+-103.556 31.072 2800
+-103.43 31.072 2856
+-103.304 31.072 2913
+-103.178 31.072 2936
+-103.052 31.072 2980
+-102.926 31.072 3017
+-102.8 31.072 3013
+-102.674 31.072 3041
+-102.548 31.072 3065
+-102.422 31.072 3066
+-102.296 31.072 3074
+-102.17 31.072 3084
+-102.044 31.072 3104
+-101.918 31.072 3111
+-101.792 31.072 3060
+-101.666 31.072 3070
+-101.54 31.072 3079
+-101.414 31.072 3088
+-101.288 31.072 3096
+-101.162 31.072 3104
+-101.036 31.072 3111
+-100.91 31.072 3118
+-100.784 31.072 3125
+-100.658 31.072 3131
+-100.532 31.072 3137
+-100.406 31.072 2993
+-100.28 31.072 2855
+-100.154 31.072 2847
+-100.028 31.072 2838
+-99.902 31.072 2781
+-99.776 31.072 2769
+-99.65 31.072 2719
+-99.524 31.072 2703
+-99.398 31.072 2619
+-99.272 31.072 2489
+-99.146 31.072 2466
+-99.02 31.072 2440
+-98.894 31.072 2352
+-98.768 31.072 2324
+-98.642 31.072 2296
+-98.516 31.072 2252
+-98.39 31.072 2229
+-98.264 31.072 2187
+-98.138 31.072 2148
+-98.012 31.072 2129
+-97.886 31.072 2122
+-97.76 31.072 2153
+-97.634 31.072 2119
+-97.508 31.072 2117
+-97.382 31.072 2120
+-97.256 31.072 2072
+-97.13 31.072 2050
+-97.004 31.072 2062
+-96.878 31.072 1998
+-96.752 31.072 1925
+-96.626 31.072 1831
+-96.5 31.072 1777
+-96.374 31.072 1698
+-96.248 31.072 1616
+-96.122 31.072 1530
+-95.996 31.072 1455
+-95.87 31.072 1389
+-95.744 31.072 1309
+-95.618 31.072 1237
+-95.492 31.072 1179
+-95.366 31.072 1140
+-95.24 31.072 1129
+-95.114 31.072 1122
+-94.988 31.072 1158
+-94.862 31.072 1223
+-94.736 31.072 1298
+-94.61 31.072 1405
+-94.484 31.072 1525
+-94.358 31.072 1647
+-94.232 31.072 1774
+-94.106 31.072 1893
+-93.98 31.072 2005
+-93.854 31.072 2140
+-93.728 31.072 2236
+-93.602 31.072 2318
+-93.476 31.072 2389
+-93.35 31.072 2439
+-93.224 31.072 2486
+-93.098 31.072 2529
+-92.972 31.072 2511
+-92.846 31.072 2534
+-92.72 31.072 2554
+-92.594 31.072 2567
+-92.468 31.072 2573
+-92.342 31.072 2542
+-92.216 31.072 2534
+-92.09 31.072 2522
+-91.964 31.072 2480
+-91.838 31.072 2451
+-91.712 31.072 2441
+-91.586 31.072 2450
+-91.46 31.072 2412
+-91.334 31.072 2392
+-91.208 31.072 2387
+-91.082 31.072 2402
+-90.956 31.072 2430
+-90.83 31.072 2453
+-90.704 31.072 2478
+-90.578 31.072 2495
+-90.452 31.072 2469
+-90.326 31.072 2454
+-90.2 31.072 2436
+-90.074 31.072 2408
+-89.948 31.072 2394
+-89.822 31.072 2396
+-89.696 31.072 2414
+-89.57 31.072 2435
+-89.444 31.072 2451
+-89.318 31.072 2466
+-89.192 31.072 2474
+-89.066 31.072 2469
+-88.94 31.072 2450
+-88.814 31.072 2426
+-88.688 31.072 2403
+-88.562 31.072 2438
+-88.436 31.072 2545
+-88.31 31.072 2670
+-88.184 31.072 2779
+-88.058 31.072 2876
+-87.932 31.072 2938
+-87.806 31.072 3008
+-87.68 31.072 3018
+-87.554 31.072 2959
+-87.428 31.072 2923
+-87.302 31.072 3014
+-87.176 31.072 3232
+-87.05 31.072 3471
+-86.924 31.072 3684
+-86.798 31.072 3823
+-86.672 31.072 3898
+-86.546 31.072 3977
+-86.42 31.072 4003
+-86.294 31.072 4035
+-86.168 31.072 4092
+-86.042 31.072 4186
+-85.916 31.072 4228
+-85.79 31.072 4330
+-85.664 31.072 4517
+-85.538 31.072 4681
+-85.412 31.072 4854
+-85.286 31.072 4942
+-85.16 31.072 5053
+-85.034 31.072 5114
+-84.908 31.072 5120
+-84.782 31.072 5193
+-84.656 31.072 5272
+-84.53 31.072 5324
+-84.404 31.072 5399
+-84.278 31.072 5499
+-84.152 31.072 5549
+-84.026 31.072 5610
+-83.9 31.072 5688
+-83.774 31.072 5784
+-83.648 31.072 5830
+-83.522 31.072 5906
+-83.396 31.072 5934
+-83.27 31.072 5994
+-83.144 31.072 6043
+-83.018 31.072 6064
+-82.892 31.072 6136
+-82.766 31.072 6114
+-82.64 31.072 6133
+-82.514 31.072 6177
+-82.388 31.072 6165
+-82.262 31.072 6175
+-82.136 31.072 6162
+-82.01 31.072 6190
+-81.884 31.072 6150
+-81.758 31.072 6133
+-81.632 31.072 6109
+-81.506 31.072 6103
+-81.38 31.072 6075
+-81.254 31.072 6021
+-81.128 31.072 5980
+-81.002 31.072 5949
+-80.876 31.072 5885
+-80.75 31.072 5862
+-80.624 31.072 5822
+-80.498 31.072 5744
+-80.372 31.072 5615
+-80.246 31.072 5528
+-80.12 31.072 5517
+-79.994 31.072 5459
+-79.868 31.072 5394
+-79.742 31.072 5290
+-79.616 31.072 5178
+-79.49 31.072 5043
+-79.364 31.072 5053
+-79.238 31.072 4995
+-79.112 31.072 4858
+-78.986 31.072 4728
+-78.86 31.072 4606
+-78.734 31.072 4641
+-78.608 31.072 4591
+-78.482 31.072 4538
+-78.356 31.072 4483
+-78.23 31.072 4452
+-78.104 31.072 4320
+-77.978 31.072 4214
+-77.852 31.072 4147
+-77.726 31.072 3977
+-77.6 31.072 3810
+-77.474 31.072 3639
+-77.348 31.072 3473
+-77.222 31.072 3297
+-77.096 31.072 3073
+-76.97 31.072 2928
+-76.844 31.072 2862
+-76.718 31.072 2827
+-76.592 31.072 2764
+-76.466 31.072 2736
+-76.34 31.072 2722
+-76.214 31.072 2711
+-76.088 31.072 2722
+-75.962 31.072 2770
+-75.836 31.072 2832
+-75.71 31.072 2896
+-75.584 31.072 2957
+-75.458 31.072 3011
+-75.332 31.072 3064
+-75.206 31.072 3108
+-75.08 31.072 3111
+-74.954 31.072 3142
+-74.828 31.072 3170
+-74.702 31.072 3195
+-74.576 31.072 3207
+-74.45 31.072 3208
+-74.324 31.072 3212
+-74.198 31.072 3197
+-74.072 31.072 3211
+-73.946 31.072 3188
+-73.82 31.072 3227
+-73.694 31.072 3239
+-73.568 31.072 3250
+-73.442 31.072 3260
+-73.316 31.072 3270
+-73.19 31.072 3278
+-73.064 31.072 3286
+-72.938 31.072 3269
+-72.812 31.072 3276
+-72.686 31.072 3283
+-72.56 31.072 3263
+-72.434 31.072 3236
+-72.308 31.072 3224
+-72.182 31.072 3229
+-72.056 31.072 3233
+-71.93 31.072 3237
+-71.804 31.072 3241
+-71.678 31.072 3244
+-71.552 31.072 3248
+-71.426 31.072 3170
+-71.3 31.072 3161
+-71.174 31.072 3164
+-71.048 31.072 3168
+-70.922 31.072 3171
+-70.796 31.072 3174
+-70.67 31.072 3177
+-70.544 31.072 3180
+-70.418 31.072 3183
+-70.292 31.072 3185
+-70.166 31.072 3188
+-70.04 31.072 3190
+-69.914 31.072 3193
+-69.788 31.072 3195
+-69.662 31.072 3197
+-69.536 31.072 3199
+-69.41 31.072 3185
+-69.284 31.072 3188
+-69.158 31.072 3190
+-69.032 31.072 3192
+-68.906 31.072 3195
+-68.78 31.072 3153
+-68.654 31.072 3155
+-68.528 31.072 3156
+-68.402 31.072 3158
+-68.276 31.072 3159
+-68.15 31.072 3160
+-68.024 31.072 3157
+-67.898 31.072 3158
+-67.772 31.072 3134
+-67.646 31.072 3120
+-67.52 31.072 3121
+-67.394 31.072 3122
+-67.268 31.072 3123
+-67.142 31.072 3124
+-67.016 31.072 3125
+-66.89 31.072 3125
+-66.764 31.072 3126
+-66.638 31.072 3127
+-66.512 31.072 3128
+-66.386 31.072 3128
+-66.26 31.072 3036
+-66.134 31.072 3037
+-66.008 31.072 3037
+-65.882 31.072 3038
+-65.756 31.072 3039
+-65.63 31.072 3040
+-65.504 31.072 3040
+-65.378 31.072 3041
+-65.252 31.072 3042
+-65.126 31.072 3042
+-128 31.02 2490
+-127.874 31.02 2493
+-127.748 31.02 2496
+-127.622 31.02 2499
+-127.496 31.02 2502
+-127.37 31.02 2587
+-127.244 31.02 2590
+-127.118 31.02 2655
+-126.992 31.02 2724
+-126.866 31.02 2728
+-126.74 31.02 2732
+-126.614 31.02 2737
+-126.488 31.02 2742
+-126.362 31.02 2748
+-126.236 31.02 2754
+-126.11 31.02 2756
+-125.984 31.02 2763
+-125.858 31.02 2847
+-125.732 31.02 2855
+-125.606 31.02 3128
+-125.48 31.02 3124
+-125.354 31.02 3121
+-125.228 31.02 3131
+-125.102 31.02 3148
+-124.976 31.02 3143
+-124.85 31.02 3153
+-124.724 31.02 3148
+-124.598 31.02 3165
+-124.472 31.02 3199
+-124.346 31.02 3184
+-124.22 31.02 3165
+-124.094 31.02 3142
+-123.968 31.02 3137
+-123.842 31.02 3094
+-123.716 31.02 3070
+-123.59 31.02 2975
+-123.464 31.02 2844
+-123.338 31.02 2659
+-123.212 31.02 2552
+-123.086 31.02 2692
+-122.96 31.02 3003
+-122.834 31.02 3283
+-122.708 31.02 3525
+-122.582 31.02 3664
+-122.456 31.02 3778
+-122.33 31.02 3866
+-122.204 31.02 3925
+-122.078 31.02 3949
+-121.952 31.02 3895
+-121.826 31.02 4043
+-121.7 31.02 4232
+-121.574 31.02 4367
+-121.448 31.02 4566
+-121.322 31.02 4732
+-121.196 31.02 4842
+-121.07 31.02 4920
+-120.944 31.02 5044
+-120.818 31.02 5169
+-120.692 31.02 5297
+-120.566 31.02 5315
+-120.44 31.02 5488
+-120.314 31.02 5597
+-120.188 31.02 5686
+-120.062 31.02 5851
+-119.936 31.02 5926
+-119.81 31.02 6079
+-119.684 31.02 6237
+-119.558 31.02 6315
+-119.432 31.02 6399
+-119.306 31.02 6493
+-119.18 31.02 6599
+-119.054 31.02 6705
+-118.928 31.02 6847
+-118.802 31.02 6890
+-118.676 31.02 7011
+-118.55 31.02 7100
+-118.424 31.02 7184
+-118.298 31.02 7261
+-118.172 31.02 7363
+-118.046 31.02 7433
+-117.92 31.02 7509
+-117.794 31.02 7560
+-117.668 31.02 7605
+-117.542 31.02 7642
+-117.416 31.02 7687
+-117.29 31.02 7697
+-117.164 31.02 7716
+-117.038 31.02 7716
+-116.912 31.02 7733
+-116.786 31.02 7707
+-116.66 31.02 7671
+-116.534 31.02 7652
+-116.408 31.02 7614
+-116.282 31.02 7573
+-116.156 31.02 7450
+-116.03 31.02 7417
+-115.904 31.02 7350
+-115.778 31.02 7283
+-115.652 31.02 7175
+-115.526 31.02 7106
+-115.4 31.02 7023
+-115.274 31.02 6886
+-115.148 31.02 6876
+-115.022 31.02 6729
+-114.896 31.02 6610
+-114.77 31.02 6519
+-114.644 31.02 6419
+-114.518 31.02 6235
+-114.392 31.02 6144
+-114.266 31.02 6105
+-114.14 31.02 5935
+-114.014 31.02 5851
+-113.888 31.02 5808
+-113.762 31.02 5865
+-113.636 31.02 5984
+-113.51 31.02 6030
+-113.384 31.02 6173
+-113.258 31.02 6321
+-113.132 31.02 6478
+-113.006 31.02 6596
+-112.88 31.02 6718
+-112.754 31.02 6843
+-112.628 31.02 6968
+-112.502 31.02 7062
+-112.376 31.02 7267
+-112.25 31.02 7387
+-112.124 31.02 7506
+-111.998 31.02 7568
+-111.872 31.02 7771
+-111.746 31.02 7818
+-111.62 31.02 7965
+-111.494 31.02 8112
+-111.368 31.02 8209
+-111.242 31.02 8320
+-111.116 31.02 8425
+-110.99 31.02 8556
+-110.864 31.02 8654
+-110.738 31.02 8741
+-110.612 31.02 8781
+-110.486 31.02 8817
+-110.36 31.02 8827
+-110.234 31.02 8818
+-110.108 31.02 8741
+-109.982 31.02 8688
+-109.856 31.02 8586
+-109.73 31.02 8471
+-109.604 31.02 8364
+-109.478 31.02 8255
+-109.352 31.02 8185
+-109.226 31.02 8120
+-109.1 31.02 7956
+-108.974 31.02 7795
+-108.848 31.02 7697
+-108.722 31.02 7546
+-108.596 31.02 7367
+-108.47 31.02 7298
+-108.344 31.02 7144
+-108.218 31.02 7030
+-108.092 31.02 6913
+-107.966 31.02 6735
+-107.84 31.02 6661
+-107.714 31.02 6458
+-107.588 31.02 6357
+-107.462 31.02 6272
+-107.336 31.02 6063
+-107.21 31.02 6017
+-107.084 31.02 5851
+-106.958 31.02 5702
+-106.832 31.02 5541
+-106.706 31.02 5573
+-106.58 31.02 5437
+-106.454 31.02 5279
+-106.328 31.02 5064
+-106.202 31.02 4919
+-106.076 31.02 4819
+-105.95 31.02 4783
+-105.824 31.02 4739
+-105.698 31.02 4644
+-105.572 31.02 4510
+-105.446 31.02 4370
+-105.32 31.02 4243
+-105.194 31.02 4146
+-105.068 31.02 3928
+-104.942 31.02 3747
+-104.816 31.02 3587
+-104.69 31.02 3433
+-104.564 31.02 3329
+-104.438 31.02 3260
+-104.312 31.02 3151
+-104.186 31.02 2952
+-104.06 31.02 2690
+-103.934 31.02 2563
+-103.808 31.02 2627
+-103.682 31.02 2741
+-103.556 31.02 2820
+-103.43 31.02 2879
+-103.304 31.02 2910
+-103.178 31.02 2952
+-103.052 31.02 2989
+-102.926 31.02 3021
+-102.8 31.02 3049
+-102.674 31.02 3034
+-102.548 31.02 3026
+-102.422 31.02 3044
+-102.296 31.02 3060
+-102.17 31.02 3074
+-102.044 31.02 3087
+-101.918 31.02 3099
+-101.792 31.02 3111
+-101.666 31.02 3059
+-101.54 31.02 3069
+-101.414 31.02 3077
+-101.288 31.02 3086
+-101.162 31.02 3094
+-101.036 31.02 3101
+-100.91 31.02 3109
+-100.784 31.02 3116
+-100.658 31.02 3122
+-100.532 31.02 3129
+-100.406 31.02 3135
+-100.28 31.02 2850
+-100.154 31.02 2842
+-100.028 31.02 2833
+-99.902 31.02 2823
+-99.776 31.02 2765
+-99.65 31.02 2752
+-99.524 31.02 2701
+-99.398 31.02 2619
+-99.272 31.02 2598
+-99.146 31.02 2466
+-99.02 31.02 2372
+-98.894 31.02 2341
+-98.768 31.02 2327
+-98.642 31.02 2298
+-98.516 31.02 2257
+-98.39 31.02 2235
+-98.264 31.02 2202
+-98.138 31.02 2182
+-98.012 31.02 2164
+-97.886 31.02 2174
+-97.76 31.02 2158
+-97.634 31.02 2073
+-97.508 31.02 2038
+-97.382 31.02 2083
+-97.256 31.02 2114
+-97.13 31.02 2066
+-97.004 31.02 2015
+-96.878 31.02 2018
+-96.752 31.02 1930
+-96.626 31.02 1890
+-96.5 31.02 1823
+-96.374 31.02 1752
+-96.248 31.02 1676
+-96.122 31.02 1615
+-95.996 31.02 1564
+-95.87 31.02 1493
+-95.744 31.02 1427
+-95.618 31.02 1370
+-95.492 31.02 1326
+-95.366 31.02 1306
+-95.24 31.02 1275
+-95.114 31.02 1287
+-94.988 31.02 1323
+-94.862 31.02 1364
+-94.736 31.02 1440
+-94.61 31.02 1533
+-94.484 31.02 1631
+-94.358 31.02 1740
+-94.232 31.02 1846
+-94.106 31.02 1950
+-93.98 31.02 2080
+-93.854 31.02 2176
+-93.728 31.02 2260
+-93.602 31.02 2335
+-93.476 31.02 2389
+-93.35 31.02 2441
+-93.224 31.02 2490
+-93.098 31.02 2478
+-92.972 31.02 2506
+-92.846 31.02 2532
+-92.72 31.02 2551
+-92.594 31.02 2565
+-92.468 31.02 2539
+-92.342 31.02 2538
+-92.216 31.02 2536
+-92.09 31.02 2499
+-91.964 31.02 2480
+-91.838 31.02 2483
+-91.712 31.02 2465
+-91.586 31.02 2483
+-91.46 31.02 2461
+-91.334 31.02 2446
+-91.208 31.02 2443
+-91.082 31.02 2451
+-90.956 31.02 2457
+-90.83 31.02 2472
+-90.704 31.02 2471
+-90.578 31.02 2462
+-90.452 31.02 2448
+-90.326 31.02 2420
+-90.2 31.02 2381
+-90.074 31.02 2344
+-89.948 31.02 2302
+-89.822 31.02 2290
+-89.696 31.02 2325
+-89.57 31.02 2378
+-89.444 31.02 2418
+-89.318 31.02 2441
+-89.192 31.02 2446
+-89.066 31.02 2436
+-88.94 31.02 2425
+-88.814 31.02 2418
+-88.688 31.02 2422
+-88.562 31.02 2460
+-88.436 31.02 2554
+-88.31 31.02 2664
+-88.184 31.02 2776
+-88.058 31.02 2867
+-87.932 31.02 2933
+-87.806 31.02 3039
+-87.68 31.02 3077
+-87.554 31.02 3071
+-87.428 31.02 3076
+-87.302 31.02 3153
+-87.176 31.02 3323
+-87.05 31.02 3557
+-86.924 31.02 3697
+-86.798 31.02 3822
+-86.672 31.02 3958
+-86.546 31.02 4013
+-86.42 31.02 4034
+-86.294 31.02 4035
+-86.168 31.02 4097
+-86.042 31.02 4225
+-85.916 31.02 4335
+-85.79 31.02 4447
+-85.664 31.02 4590
+-85.538 31.02 4777
+-85.412 31.02 4947
+-85.286 31.02 5040
+-85.16 31.02 5118
+-85.034 31.02 5179
+-84.908 31.02 5221
+-84.782 31.02 5271
+-84.656 31.02 5324
+-84.53 31.02 5382
+-84.404 31.02 5451
+-84.278 31.02 5570
+-84.152 31.02 5588
+-84.026 31.02 5692
+-83.9 31.02 5765
+-83.774 31.02 5852
+-83.648 31.02 5914
+-83.522 31.02 5969
+-83.396 31.02 6012
+-83.27 31.02 6047
+-83.144 31.02 6078
+-83.018 31.02 6100
+-82.892 31.02 6134
+-82.766 31.02 6178
+-82.64 31.02 6219
+-82.514 31.02 6238
+-82.388 31.02 6238
+-82.262 31.02 6226
+-82.136 31.02 6226
+-82.01 31.02 6221
+-81.884 31.02 6231
+-81.758 31.02 6214
+-81.632 31.02 6167
+-81.506 31.02 6129
+-81.38 31.02 6091
+-81.254 31.02 6053
+-81.128 31.02 6057
+-81.002 31.02 5982
+-80.876 31.02 5964
+-80.75 31.02 5931
+-80.624 31.02 5883
+-80.498 31.02 5817
+-80.372 31.02 5685
+-80.246 31.02 5603
+-80.12 31.02 5551
+-79.994 31.02 5501
+-79.868 31.02 5425
+-79.742 31.02 5320
+-79.616 31.02 5226
+-79.49 31.02 5130
+-79.364 31.02 5018
+-79.238 31.02 5009
+-79.112 31.02 4945
+-78.986 31.02 4829
+-78.86 31.02 4720
+-78.734 31.02 4702
+-78.608 31.02 4678
+-78.482 31.02 4582
+-78.356 31.02 4529
+-78.23 31.02 4444
+-78.104 31.02 4355
+-77.978 31.02 4305
+-77.852 31.02 4162
+-77.726 31.02 4009
+-77.6 31.02 3863
+-77.474 31.02 3728
+-77.348 31.02 3528
+-77.222 31.02 3286
+-77.096 31.02 3081
+-76.97 31.02 2903
+-76.844 31.02 2836
+-76.718 31.02 2852
+-76.592 31.02 2823
+-76.466 31.02 2747
+-76.34 31.02 2648
+-76.214 31.02 2584
+-76.088 31.02 2607
+-75.962 31.02 2685
+-75.836 31.02 2777
+-75.71 31.02 2864
+-75.584 31.02 2939
+-75.458 31.02 3007
+-75.332 31.02 3063
+-75.206 31.02 3077
+-75.08 31.02 3115
+-74.954 31.02 3149
+-74.828 31.02 3177
+-74.702 31.02 3192
+-74.576 31.02 3197
+-74.45 31.02 3202
+-74.324 31.02 3189
+-74.198 31.02 3205
+-74.072 31.02 3183
+-73.946 31.02 3223
+-73.82 31.02 3235
+-73.694 31.02 3247
+-73.568 31.02 3258
+-73.442 31.02 3267
+-73.316 31.02 3276
+-73.19 31.02 3285
+-73.064 31.02 3268
+-72.938 31.02 3275
+-72.812 31.02 3282
+-72.686 31.02 3263
+-72.56 31.02 3236
+-72.434 31.02 3224
+-72.308 31.02 3229
+-72.182 31.02 3233
+-72.056 31.02 3237
+-71.93 31.02 3241
+-71.804 31.02 3245
+-71.678 31.02 3248
+-71.552 31.02 3171
+-71.426 31.02 3161
+-71.3 31.02 3165
+-71.174 31.02 3168
+-71.048 31.02 3172
+-70.922 31.02 3175
+-70.796 31.02 3178
+-70.67 31.02 3181
+-70.544 31.02 3184
+-70.418 31.02 3186
+-70.292 31.02 3189
+-70.166 31.02 3191
+-70.04 31.02 3193
+-69.914 31.02 3196
+-69.788 31.02 3198
+-69.662 31.02 3200
+-69.536 31.02 3186
+-69.41 31.02 3189
+-69.284 31.02 3191
+-69.158 31.02 3193
+-69.032 31.02 3195
+-68.906 31.02 3154
+-68.78 31.02 3156
+-68.654 31.02 3157
+-68.528 31.02 3158
+-68.402 31.02 3160
+-68.276 31.02 3161
+-68.15 31.02 3157
+-68.024 31.02 3158
+-67.898 31.02 3135
+-67.772 31.02 3120
+-67.646 31.02 3121
+-67.52 31.02 3122
+-67.394 31.02 3123
+-67.268 31.02 3124
+-67.142 31.02 3125
+-67.016 31.02 3126
+-66.89 31.02 3126
+-66.764 31.02 3127
+-66.638 31.02 3128
+-66.512 31.02 3129
+-66.386 31.02 3036
+-66.26 31.02 3037
+-66.134 31.02 3038
+-66.008 31.02 3038
+-65.882 31.02 3039
+-65.756 31.02 3040
+-65.63 31.02 3041
+-65.504 31.02 3041
+-65.378 31.02 3042
+-65.252 31.02 3043
+-65.126 31.02 3043
+-128 30.968 2478
+-127.874 30.968 2480
+-127.748 30.968 2483
+-127.622 30.968 2485
+-127.496 30.968 2569
+-127.37 30.968 2571
+-127.244 30.968 2635
+-127.118 30.968 2704
+-126.992 30.968 2707
+-126.866 30.968 2710
+-126.74 30.968 2714
+-126.614 30.968 2719
+-126.488 30.968 2724
+-126.362 30.968 2730
+-126.236 30.968 2731
+-126.11 30.968 2738
+-125.984 30.968 2822
+-125.858 30.968 2831
+-125.732 30.968 2839
+-125.606 30.968 2848
+-125.48 30.968 3127
+-125.354 30.968 3138
+-125.228 30.968 3156
+-125.102 30.968 3152
+-124.976 30.968 3164
+-124.85 30.968 3159
+-124.724 30.968 3207
+-124.598 30.968 3196
+-124.472 30.968 3204
+-124.346 30.968 3190
+-124.22 30.968 3172
+-124.094 30.968 3150
+-123.968 30.968 3121
+-123.842 30.968 3091
+-123.716 30.968 3079
+-123.59 30.968 2997
+-123.464 30.968 2874
+-123.338 30.968 2738
+-123.212 30.968 2668
+-123.086 30.968 2786
+-122.96 30.968 3066
+-122.834 30.968 3328
+-122.708 30.968 3513
+-122.582 30.968 3690
+-122.456 30.968 3815
+-122.33 30.968 3898
+-122.204 30.968 3940
+-122.078 30.968 3984
+-121.952 30.968 4013
+-121.826 30.968 4112
+-121.7 30.968 4241
+-121.574 30.968 4356
+-121.448 30.968 4521
+-121.322 30.968 4667
+-121.196 30.968 4775
+-121.07 30.968 4875
+-120.944 30.968 4955
+-120.818 30.968 5066
+-120.692 30.968 5242
+-120.566 30.968 5373
+-120.44 30.968 5475
+-120.314 30.968 5604
+-120.188 30.968 5691
+-120.062 30.968 5790
+-119.936 30.968 5915
+-119.81 30.968 6054
+-119.684 30.968 6169
+-119.558 30.968 6254
+-119.432 30.968 6399
+-119.306 30.968 6456
+-119.18 30.968 6549
+-119.054 30.968 6636
+-118.928 30.968 6782
+-118.802 30.968 6908
+-118.676 30.968 6917
+-118.55 30.968 7079
+-118.424 30.968 7127
+-118.298 30.968 7205
+-118.172 30.968 7299
+-118.046 30.968 7351
+-117.92 30.968 7421
+-117.794 30.968 7487
+-117.668 30.968 7538
+-117.542 30.968 7584
+-117.416 30.968 7627
+-117.29 30.968 7652
+-117.164 30.968 7660
+-117.038 30.968 7657
+-116.912 30.968 7653
+-116.786 30.968 7645
+-116.66 30.968 7617
+-116.534 30.968 7580
+-116.408 30.968 7528
+-116.282 30.968 7520
+-116.156 30.968 7436
+-116.03 30.968 7399
+-115.904 30.968 7295
+-115.778 30.968 7247
+-115.652 30.968 7132
+-115.526 30.968 7066
+-115.4 30.968 6958
+-115.274 30.968 6885
+-115.148 30.968 6813
+-115.022 30.968 6698
+-114.896 30.968 6641
+-114.77 30.968 6490
+-114.644 30.968 6356
+-114.518 30.968 6276
+-114.392 30.968 6161
+-114.266 30.968 6040
+-114.14 30.968 5848
+-114.014 30.968 5812
+-113.888 30.968 5757
+-113.762 30.968 5817
+-113.636 30.968 5951
+-113.51 30.968 6041
+-113.384 30.968 6135
+-113.258 30.968 6282
+-113.132 30.968 6473
+-113.006 30.968 6614
+-112.88 30.968 6698
+-112.754 30.968 6869
+-112.628 30.968 6947
+-112.502 30.968 7045
+-112.376 30.968 7229
+-112.25 30.968 7397
+-112.124 30.968 7455
+-111.998 30.968 7626
+-111.872 30.968 7698
+-111.746 30.968 7820
+-111.62 30.968 7956
+-111.494 30.968 8081
+-111.368 30.968 8219
+-111.242 30.968 8315
+-111.116 30.968 8423
+-110.99 30.968 8484
+-110.864 30.968 8603
+-110.738 30.968 8688
+-110.612 30.968 8752
+-110.486 30.968 8779
+-110.36 30.968 8805
+-110.234 30.968 8748
+-110.108 30.968 8734
+-109.982 30.968 8636
+-109.856 30.968 8579
+-109.73 30.968 8438
+-109.604 30.968 8344
+-109.478 30.968 8269
+-109.352 30.968 8152
+-109.226 30.968 7997
+-109.1 30.968 7940
+-108.974 30.968 7836
+-108.848 30.968 7705
+-108.722 30.968 7547
+-108.596 30.968 7384
+-108.47 30.968 7284
+-108.344 30.968 7107
+-108.218 30.968 7011
+-108.092 30.968 6882
+-107.966 30.968 6783
+-107.84 30.968 6653
+-107.714 30.968 6486
+-107.588 30.968 6301
+-107.462 30.968 6182
+-107.336 30.968 6056
+-107.21 30.968 6012
+-107.084 30.968 5930
+-106.958 30.968 5803
+-106.832 30.968 5685
+-106.706 30.968 5595
+-106.58 30.968 5432
+-106.454 30.968 5257
+-106.328 30.968 5069
+-106.202 30.968 4952
+-106.076 30.968 4866
+-105.95 30.968 4809
+-105.824 30.968 4724
+-105.698 30.968 4607
+-105.572 30.968 4497
+-105.446 30.968 4348
+-105.32 30.968 4246
+-105.194 30.968 4142
+-105.068 30.968 3904
+-104.942 30.968 3686
+-104.816 30.968 3492
+-104.69 30.968 3308
+-104.564 30.968 3216
+-104.438 30.968 3216
+-104.312 30.968 3180
+-104.186 30.968 3040
+-104.06 30.968 2893
+-103.934 30.968 2799
+-103.808 30.968 2787
+-103.682 30.968 2829
+-103.556 30.968 2870
+-103.43 30.968 2897
+-103.304 30.968 2937
+-103.178 30.968 2972
+-103.052 30.968 2998
+-102.926 30.968 3024
+-102.8 30.968 3035
+-102.674 30.968 3002
+-102.548 30.968 3020
+-102.422 30.968 3035
+-102.296 30.968 3050
+-102.17 30.968 3064
+-102.044 30.968 3076
+-101.918 30.968 3088
+-101.792 30.968 3100
+-101.666 30.968 3110
+-101.54 30.968 3058
+-101.414 30.968 3067
+-101.288 30.968 3076
+-101.162 30.968 3084
+-101.036 30.968 3092
+-100.91 30.968 3100
+-100.784 30.968 3107
+-100.658 30.968 3114
+-100.532 30.968 3120
+-100.406 30.968 3127
+-100.28 30.968 2845
+-100.154 30.968 2837
+-100.028 30.968 2829
+-99.902 30.968 2819
+-99.776 30.968 2759
+-99.65 30.968 2749
+-99.524 30.968 2696
+-99.398 30.968 2620
+-99.272 30.968 2488
+-99.146 30.968 2466
+-99.02 30.968 2443
+-98.894 30.968 2344
+-98.768 30.968 2317
+-98.642 30.968 2288
+-98.516 30.968 2260
+-98.39 30.968 2241
+-98.264 30.968 2208
+-98.138 30.968 2188
+-98.012 30.968 2170
+-97.886 30.968 2180
+-97.76 30.968 2110
+-97.634 30.968 2106
+-97.508 30.968 2072
+-97.382 30.968 2124
+-97.256 30.968 2130
+-97.13 30.968 2085
+-97.004 30.968 2030
+-96.878 30.968 1953
+-96.752 30.968 1988
+-96.626 30.968 1930
+-96.5 30.968 1870
+-96.374 30.968 1802
+-96.248 30.968 1753
+-96.122 30.968 1715
+-95.996 30.968 1653
+-95.87 30.968 1595
+-95.744 30.968 1541
+-95.618 30.968 1496
+-95.492 30.968 1474
+-95.366 30.968 1426
+-95.24 30.968 1423
+-95.114 30.968 1438
+-94.988 30.968 1454
+-94.862 30.968 1504
+-94.736 30.968 1571
+-94.61 30.968 1645
+-94.484 30.968 1733
+-94.358 30.968 1823
+-94.232 30.968 1915
+-94.106 30.968 2036
+-93.98 30.968 2128
+-93.854 30.968 2210
+-93.728 30.968 2285
+-93.602 30.968 2342
+-93.476 30.968 2397
+-93.35 30.968 2451
+-93.224 30.968 2443
+-93.098 30.968 2475
+-92.972 30.968 2507
+-92.846 30.968 2532
+-92.72 30.968 2551
+-92.594 30.968 2530
+-92.468 30.968 2535
+-92.342 30.968 2539
+-92.216 30.968 2508
+-92.09 30.968 2495
+-91.964 30.968 2486
+-91.838 30.968 2476
+-91.712 30.968 2460
+-91.586 30.968 2515
+-91.46 30.968 2498
+-91.334 30.968 2488
+-91.208 30.968 2484
+-91.082 30.968 2476
+-90.956 30.968 2481
+-90.83 30.968 2474
+-90.704 30.968 2465
+-90.578 30.968 2454
+-90.452 30.968 2430
+-90.326 30.968 2394
+-90.2 30.968 2343
+-90.074 30.968 2274
+-89.948 30.968 2206
+-89.822 30.968 2173
+-89.696 30.968 2219
+-89.57 30.968 2306
+-89.444 30.968 2373
+-89.318 30.968 2407
+-89.192 30.968 2410
+-89.066 30.968 2388
+-88.94 30.968 2367
+-88.814 30.968 2364
+-88.688 30.968 2407
+-88.562 30.968 2476
+-88.436 30.968 2566
+-88.31 30.968 2673
+-88.184 30.968 2790
+-88.058 30.968 2879
+-87.932 30.968 2950
+-87.806 30.968 3044
+-87.68 30.968 3102
+-87.554 30.968 3142
+-87.428 30.968 3186
+-87.302 30.968 3278
+-87.176 30.968 3433
+-87.05 30.968 3556
+-86.924 30.968 3724
+-86.798 30.968 3828
+-86.672 30.968 3981
+-86.546 30.968 4031
+-86.42 30.968 4076
+-86.294 30.968 4075
+-86.168 30.968 4163
+-86.042 30.968 4295
+-85.916 30.968 4417
+-85.79 30.968 4541
+-85.664 30.968 4677
+-85.538 30.968 4867
+-85.412 30.968 5021
+-85.286 30.968 5077
+-85.16 30.968 5152
+-85.034 30.968 5206
+-84.908 30.968 5267
+-84.782 30.968 5311
+-84.656 30.968 5291
+-84.53 30.968 5393
+-84.404 30.968 5480
+-84.278 30.968 5549
+-84.152 30.968 5638
+-84.026 30.968 5766
+-83.9 30.968 5813
+-83.774 30.968 5896
+-83.648 30.968 5949
+-83.522 30.968 6019
+-83.396 30.968 6058
+-83.27 30.968 6102
+-83.144 30.968 6147
+-83.018 30.968 6190
+-82.892 30.968 6226
+-82.766 30.968 6251
+-82.64 30.968 6250
+-82.514 30.968 6279
+-82.388 30.968 6309
+-82.262 30.968 6315
+-82.136 30.968 6306
+-82.01 30.968 6294
+-81.884 30.968 6301
+-81.758 30.968 6258
+-81.632 30.968 6247
+-81.506 30.968 6219
+-81.38 30.968 6186
+-81.254 30.968 6119
+-81.128 30.968 6066
+-81.002 30.968 6028
+-80.876 30.968 5999
+-80.75 30.968 5980
+-80.624 30.968 5931
+-80.498 30.968 5879
+-80.372 30.968 5773
+-80.246 30.968 5684
+-80.12 30.968 5602
+-79.994 30.968 5530
+-79.868 30.968 5466
+-79.742 30.968 5359
+-79.616 30.968 5294
+-79.49 30.968 5184
+-79.364 30.968 5075
+-79.238 30.968 4964
+-79.112 30.968 4983
+-78.986 30.968 4937
+-78.86 30.968 4856
+-78.734 30.968 4793
+-78.608 30.968 4724
+-78.482 30.968 4609
+-78.356 30.968 4489
+-78.23 30.968 4424
+-78.104 30.968 4341
+-77.978 30.968 4302
+-77.852 30.968 4152
+-77.726 30.968 4061
+-77.6 30.968 3890
+-77.474 30.968 3764
+-77.348 30.968 3587
+-77.222 30.968 3370
+-77.096 30.968 3161
+-76.97 30.968 2970
+-76.844 30.968 2889
+-76.718 30.968 2889
+-76.592 30.968 2846
+-76.466 30.968 2699
+-76.34 30.968 2501
+-76.214 30.968 2400
+-76.088 30.968 2462
+-75.962 30.968 2597
+-75.836 30.968 2731
+-75.71 30.968 2841
+-75.584 30.968 2935
+-75.458 30.968 3009
+-75.332 30.968 3038
+-75.206 30.968 3085
+-75.08 30.968 3124
+-74.954 30.968 3158
+-74.828 30.968 3176
+-74.702 30.968 3185
+-74.576 30.968 3193
+-74.45 30.968 3182
+-74.324 30.968 3198
+-74.198 30.968 3178
+-74.072 30.968 3218
+-73.946 30.968 3232
+-73.82 30.968 3244
+-73.694 30.968 3255
+-73.568 30.968 3266
+-73.442 30.968 3275
+-73.316 30.968 3284
+-73.19 30.968 3267
+-73.064 30.968 3274
+-72.938 30.968 3282
+-72.812 30.968 3263
+-72.686 30.968 3236
+-72.56 30.968 3224
+-72.434 30.968 3229
+-72.308 30.968 3233
+-72.182 30.968 3238
+-72.056 30.968 3242
+-71.93 30.968 3245
+-71.804 30.968 3249
+-71.678 30.968 3171
+-71.552 30.968 3162
+-71.426 30.968 3165
+-71.3 30.968 3169
+-71.174 30.968 3172
+-71.048 30.968 3176
+-70.922 30.968 3179
+-70.796 30.968 3182
+-70.67 30.968 3184
+-70.544 30.968 3187
+-70.418 30.968 3190
+-70.292 30.968 3192
+-70.166 30.968 3194
+-70.04 30.968 3197
+-69.914 30.968 3199
+-69.788 30.968 3201
+-69.662 30.968 3187
+-69.536 30.968 3189
+-69.41 30.968 3192
+-69.284 30.968 3194
+-69.158 30.968 3196
+-69.032 30.968 3155
+-68.906 30.968 3156
+-68.78 30.968 3158
+-68.654 30.968 3159
+-68.528 30.968 3161
+-68.402 30.968 3162
+-68.276 30.968 3157
+-68.15 30.968 3159
+-68.024 30.968 3135
+-67.898 30.968 3121
+-67.772 30.968 3122
+-67.646 30.968 3123
+-67.52 30.968 3123
+-67.394 30.968 3124
+-67.268 30.968 3125
+-67.142 30.968 3126
+-67.016 30.968 3127
+-66.89 30.968 3128
+-66.764 30.968 3128
+-66.638 30.968 3129
+-66.512 30.968 3036
+-66.386 30.968 3037
+-66.26 30.968 3038
+-66.134 30.968 3039
+-66.008 30.968 3039
+-65.882 30.968 3040
+-65.756 30.968 3041
+-65.63 30.968 3041
+-65.504 30.968 3042
+-65.378 30.968 3043
+-65.252 30.968 3043
+-65.126 30.968 3044
+-128 30.916 2466
+-127.874 30.916 2467
+-127.748 30.916 2469
+-127.622 30.916 2551
+-127.496 30.916 2552
+-127.37 30.916 2646
+-127.244 30.916 2648
+-127.118 30.916 2651
+-126.992 30.916 2654
+-126.866 30.916 2657
+-126.74 30.916 2661
+-126.614 30.916 2666
+-126.488 30.916 2671
+-126.362 30.916 2705
+-126.236 30.916 2711
+-126.11 30.916 2796
+-125.984 30.916 2804
+-125.858 30.916 2812
+-125.732 30.916 2821
+-125.606 30.916 2830
+-125.48 30.916 2828
+-125.354 30.916 2897
+-125.228 30.916 3159
+-125.102 30.916 3173
+-124.976 30.916 3169
+-124.85 30.916 3219
+-124.724 30.916 3211
+-124.598 30.916 3201
+-124.472 30.916 3190
+-124.346 30.916 3198
+-124.22 30.916 3181
+-124.094 30.916 3161
+-123.968 30.916 3147
+-123.842 30.916 3152
+-123.716 30.916 3105
+-123.59 30.916 3042
+-123.464 30.916 2984
+-123.338 30.916 2907
+-123.212 30.916 2890
+-123.086 30.916 2998
+-122.96 30.916 3183
+-122.834 30.916 3377
+-122.708 30.916 3587
+-122.582 30.916 3707
+-122.456 30.916 3782
+-122.33 30.916 3886
+-122.204 30.916 3955
+-122.078 30.916 4027
+-121.952 30.916 4102
+-121.826 30.916 4164
+-121.7 30.916 4214
+-121.574 30.916 4328
+-121.448 30.916 4512
+-121.322 30.916 4617
+-121.196 30.916 4689
+-121.07 30.916 4821
+-120.944 30.916 4840
+-120.818 30.916 4989
+-120.692 30.916 5130
+-120.566 30.916 5335
+-120.44 30.916 5437
+-120.314 30.916 5557
+-120.188 30.916 5624
+-120.062 30.916 5771
+-119.936 30.916 5887
+-119.81 30.916 5998
+-119.684 30.916 6043
+-119.558 30.916 6202
+-119.432 30.916 6327
+-119.306 30.916 6402
+-119.18 30.916 6521
+-119.054 30.916 6639
+-118.928 30.916 6774
+-118.802 30.916 6845
+-118.676 30.916 6930
+-118.55 30.916 6988
+-118.424 30.916 7131
+-118.298 30.916 7182
+-118.172 30.916 7273
+-118.046 30.916 7338
+-117.92 30.916 7351
+-117.794 30.916 7442
+-117.668 30.916 7471
+-117.542 30.916 7538
+-117.416 30.916 7570
+-117.29 30.916 7574
+-117.164 30.916 7603
+-117.038 30.916 7625
+-116.912 30.916 7578
+-116.786 30.916 7581
+-116.66 30.916 7564
+-116.534 30.916 7551
+-116.408 30.916 7485
+-116.282 30.916 7436
+-116.156 30.916 7417
+-116.03 30.916 7340
+-115.904 30.916 7254
+-115.778 30.916 7204
+-115.652 30.916 7090
+-115.526 30.916 6972
+-115.4 30.916 6938
+-115.274 30.916 6851
+-115.148 30.916 6794
+-115.022 30.916 6680
+-114.896 30.916 6581
+-114.77 30.916 6450
+-114.644 30.916 6333
+-114.518 30.916 6253
+-114.392 30.916 6154
+-114.266 30.916 6009
+-114.14 30.916 5854
+-114.014 30.916 5803
+-113.888 30.916 5588
+-113.762 30.916 5781
+-113.636 30.916 5885
+-113.51 30.916 6017
+-113.384 30.916 6144
+-113.258 30.916 6278
+-113.132 30.916 6420
+-113.006 30.916 6584
+-112.88 30.916 6735
+-112.754 30.916 6820
+-112.628 30.916 6947
+-112.502 30.916 7013
+-112.376 30.916 7209
+-112.25 30.916 7376
+-112.124 30.916 7505
+-111.998 30.916 7566
+-111.872 30.916 7699
+-111.746 30.916 7809
+-111.62 30.916 7913
+-111.494 30.916 8035
+-111.368 30.916 8182
+-111.242 30.916 8259
+-111.116 30.916 8388
+-110.99 30.916 8451
+-110.864 30.916 8596
+-110.738 30.916 8648
+-110.612 30.916 8681
+-110.486 30.916 8711
+-110.36 30.916 8726
+-110.234 30.916 8683
+-110.108 30.916 8678
+-109.982 30.916 8591
+-109.856 30.916 8505
+-109.73 30.916 8440
+-109.604 30.916 8315
+-109.478 30.916 8203
+-109.352 30.916 8173
+-109.226 30.916 8014
+-109.1 30.916 7927
+-108.974 30.916 7725
+-108.848 30.916 7619
+-108.722 30.916 7543
+-108.596 30.916 7380
+-108.47 30.916 7257
+-108.344 30.916 7103
+-108.218 30.916 6988
+-108.092 30.916 6859
+-107.966 30.916 6734
+-107.84 30.916 6614
+-107.714 30.916 6506
+-107.588 30.916 6304
+-107.462 30.916 6186
+-107.336 30.916 6112
+-107.21 30.916 5881
+-107.084 30.916 5928
+-106.958 30.916 5839
+-106.832 30.916 5694
+-106.706 30.916 5596
+-106.58 30.916 5366
+-106.454 30.916 5210
+-106.328 30.916 5014
+-106.202 30.916 4919
+-106.076 30.916 4880
+-105.95 30.916 4788
+-105.824 30.916 4707
+-105.698 30.916 4613
+-105.572 30.916 4466
+-105.446 30.916 4340
+-105.32 30.916 4240
+-105.194 30.916 4131
+-105.068 30.916 3870
+-104.942 30.916 3643
+-104.816 30.916 3435
+-104.69 30.916 3237
+-104.564 30.916 3147
+-104.438 30.916 3186
+-104.312 30.916 3190
+-104.186 30.916 3141
+-104.06 30.916 3037
+-103.934 30.916 2952
+-103.808 30.916 2919
+-103.682 30.916 2909
+-103.556 30.916 2934
+-103.43 30.916 2956
+-103.304 30.916 2962
+-103.178 30.916 2987
+-103.052 30.916 3010
+-102.926 30.916 3015
+-102.8 30.916 3017
+-102.674 30.916 2997
+-102.548 30.916 3012
+-102.422 30.916 3027
+-102.296 30.916 3040
+-102.17 30.916 3053
+-102.044 30.916 3065
+-101.918 30.916 3077
+-101.792 30.916 3088
+-101.666 30.916 3099
+-101.54 30.916 3054
+-101.414 30.916 3057
+-101.288 30.916 3066
+-101.162 30.916 3074
+-101.036 30.916 3083
+-100.91 30.916 3091
+-100.784 30.916 3056
+-100.658 30.916 3062
+-100.532 30.916 3068
+-100.406 30.916 3074
+-100.28 30.916 2954
+-100.154 30.916 2832
+-100.028 30.916 2824
+-99.902 30.916 2767
+-99.776 30.916 2757
+-99.65 30.916 2731
+-99.524 30.916 2694
+-99.398 30.916 2620
+-99.272 30.916 2600
+-99.146 30.916 2468
+-99.02 30.916 2444
+-98.894 30.916 2398
+-98.768 30.916 2322
+-98.642 30.916 2294
+-98.516 30.916 2252
+-98.39 30.916 2230
+-98.264 30.916 2216
+-98.138 30.916 2173
+-98.012 30.916 2198
+-97.886 30.916 2091
+-97.76 30.916 2143
+-97.634 30.916 2114
+-97.508 30.916 2081
+-97.382 30.916 2052
+-97.256 30.916 2101
+-97.13 30.916 2098
+-97.004 30.916 2082
+-96.878 30.916 2007
+-96.752 30.916 2025
+-96.626 30.916 1973
+-96.5 30.916 1911
+-96.374 30.916 1872
+-96.248 30.916 1846
+-96.122 30.916 1792
+-95.996 30.916 1741
+-95.87 30.916 1692
+-95.744 30.916 1648
+-95.618 30.916 1628
+-95.492 30.916 1569
+-95.366 30.916 1556
+-95.24 30.916 1558
+-95.114 30.916 1553
+-94.988 30.916 1585
+-94.862 30.916 1630
+-94.736 30.916 1682
+-94.61 30.916 1751
+-94.484 30.916 1823
+-94.358 30.916 1900
+-94.232 30.916 2010
+-94.106 30.916 2094
+-93.98 30.916 2171
+-93.854 30.916 2244
+-93.728 30.916 2300
+-93.602 30.916 2357
+-93.476 30.916 2413
+-93.35 30.916 2408
+-93.224 30.916 2444
+-93.098 30.916 2480
+-92.972 30.916 2509
+-92.846 30.916 2533
+-92.72 30.916 2516
+-92.594 30.916 2526
+-92.468 30.916 2536
+-92.342 30.916 2508
+-92.216 30.916 2500
+-92.09 30.916 2498
+-91.964 30.916 2494
+-91.838 30.916 2483
+-91.712 30.916 2476
+-91.586 30.916 2540
+-91.46 30.916 2527
+-91.334 30.916 2518
+-91.208 30.916 2502
+-91.082 30.916 2499
+-90.956 30.916 2487
+-90.83 30.916 2475
+-90.704 30.916 2466
+-90.578 30.916 2448
+-90.452 30.916 2422
+-90.326 30.916 2382
+-90.2 30.916 2320
+-90.074 30.916 2246
+-89.948 30.916 2163
+-89.822 30.916 2125
+-89.696 30.916 2169
+-89.57 30.916 2266
+-89.444 30.916 2349
+-89.318 30.916 2388
+-89.192 30.916 2383
+-89.066 30.916 2338
+-88.94 30.916 2271
+-88.814 30.916 2231
+-88.688 30.916 2303
+-88.562 30.916 2443
+-88.436 30.916 2566
+-88.31 30.916 2697
+-88.184 30.916 2805
+-88.058 30.916 2893
+-87.932 30.916 2996
+-87.806 30.916 3042
+-87.68 30.916 3118
+-87.554 30.916 3150
+-87.428 30.916 3211
+-87.302 30.916 3276
+-87.176 30.916 3453
+-87.05 30.916 3611
+-86.924 30.916 3736
+-86.798 30.916 3879
+-86.672 30.916 3992
+-86.546 30.916 4082
+-86.42 30.916 4118
+-86.294 30.916 4173
+-86.168 30.916 4282
+-86.042 30.916 4375
+-85.916 30.916 4471
+-85.79 30.916 4612
+-85.664 30.916 4800
+-85.538 30.916 4923
+-85.412 30.916 5036
+-85.286 30.916 5041
+-85.16 30.916 5140
+-85.034 30.916 5228
+-84.908 30.916 5255
+-84.782 30.916 5340
+-84.656 30.916 5434
+-84.53 30.916 5439
+-84.404 30.916 5521
+-84.278 30.916 5591
+-84.152 30.916 5685
+-84.026 30.916 5794
+-83.9 30.916 5875
+-83.774 30.916 5904
+-83.648 30.916 5986
+-83.522 30.916 6074
+-83.396 30.916 6098
+-83.27 30.916 6172
+-83.144 30.916 6205
+-83.018 30.916 6261
+-82.892 30.916 6298
+-82.766 30.916 6320
+-82.64 30.916 6325
+-82.514 30.916 6365
+-82.388 30.916 6344
+-82.262 30.916 6377
+-82.136 30.916 6379
+-82.01 30.916 6365
+-81.884 30.916 6347
+-81.758 30.916 6324
+-81.632 30.916 6329
+-81.506 30.916 6311
+-81.38 30.916 6277
+-81.254 30.916 6233
+-81.128 30.916 6170
+-81.002 30.916 6107
+-80.876 30.916 6061
+-80.75 30.916 6007
+-80.624 30.916 5970
+-80.498 30.916 5878
+-80.372 30.916 5850
+-80.246 30.916 5735
+-80.12 30.916 5696
+-79.994 30.916 5568
+-79.868 30.916 5516
+-79.742 30.916 5429
+-79.616 30.916 5341
+-79.49 30.916 5243
+-79.364 30.916 5139
+-79.238 30.916 5041
+-79.112 30.916 4939
+-78.986 30.916 4981
+-78.86 30.916 4954
+-78.734 30.916 4873
+-78.608 30.916 4778
+-78.482 30.916 4601
+-78.356 30.916 4409
+-78.23 30.916 4323
+-78.104 30.916 4308
+-77.978 30.916 4292
+-77.852 30.916 4160
+-77.726 30.916 4070
+-77.6 30.916 3905
+-77.474 30.916 3758
+-77.348 30.916 3628
+-77.222 30.916 3485
+-77.096 30.916 3303
+-76.97 30.916 3139
+-76.844 30.916 3035
+-76.718 30.916 2973
+-76.592 30.916 2875
+-76.466 30.916 2670
+-76.34 30.916 2417
+-76.214 30.916 2297
+-76.088 30.916 2389
+-75.962 30.916 2561
+-75.836 30.916 2718
+-75.71 30.916 2847
+-75.584 30.916 2945
+-75.458 30.916 2993
+-75.332 30.916 3051
+-75.206 30.916 3098
+-75.08 30.916 3138
+-74.954 30.916 3160
+-74.828 30.916 3172
+-74.702 30.916 3183
+-74.576 30.916 3175
+-74.45 30.916 3193
+-74.324 30.916 3174
+-74.198 30.916 3214
+-74.072 30.916 3229
+-73.946 30.916 3242
+-73.82 30.916 3253
+-73.694 30.916 3264
+-73.568 30.916 3274
+-73.442 30.916 3283
+-73.316 30.916 3266
+-73.19 30.916 3274
+-73.064 30.916 3282
+-72.938 30.916 3263
+-72.812 30.916 3236
+-72.686 30.916 3225
+-72.56 30.916 3230
+-72.434 30.916 3234
+-72.308 30.916 3238
+-72.182 30.916 3242
+-72.056 30.916 3246
+-71.93 30.916 3250
+-71.804 30.916 3172
+-71.678 30.916 3163
+-71.552 30.916 3166
+-71.426 30.916 3170
+-71.3 30.916 3173
+-71.174 30.916 3177
+-71.048 30.916 3180
+-70.922 30.916 3183
+-70.796 30.916 3186
+-70.67 30.916 3188
+-70.544 30.916 3191
+-70.418 30.916 3193
+-70.292 30.916 3195
+-70.166 30.916 3198
+-70.04 30.916 3200
+-69.914 30.916 3202
+-69.788 30.916 3188
+-69.662 30.916 3190
+-69.536 30.916 3193
+-69.41 30.916 3195
+-69.284 30.916 3197
+-69.158 30.916 3156
+-69.032 30.916 3158
+-68.906 30.916 3159
+-68.78 30.916 3160
+-68.654 30.916 3162
+-68.528 30.916 3163
+-68.402 30.916 3158
+-68.276 30.916 3159
+-68.15 30.916 3136
+-68.024 30.916 3121
+-67.898 30.916 3122
+-67.772 30.916 3123
+-67.646 30.916 3124
+-67.52 30.916 3125
+-67.394 30.916 3126
+-67.268 30.916 3126
+-67.142 30.916 3127
+-67.016 30.916 3128
+-66.89 30.916 3129
+-66.764 30.916 3129
+-66.638 30.916 3037
+-66.512 30.916 3037
+-66.386 30.916 3038
+-66.26 30.916 3039
+-66.134 30.916 3040
+-66.008 30.916 3040
+-65.882 30.916 3041
+-65.756 30.916 3042
+-65.63 30.916 3042
+-65.504 30.916 3043
+-65.378 30.916 3044
+-65.252 30.916 3044
+-65.126 30.916 3045
+-128 30.864 2452
+-127.874 30.864 2453
+-127.748 30.864 2533
+-127.622 30.864 2534
+-127.496 30.864 2627
+-127.37 30.864 2628
+-127.244 30.864 2630
+-127.118 30.864 2632
+-126.992 30.864 2634
+-126.866 30.864 2637
+-126.74 30.864 2641
+-126.614 30.864 2673
+-126.488 30.864 2677
+-126.362 30.864 2682
+-126.236 30.864 2768
+-126.11 30.864 2775
+-125.984 30.864 2783
+-125.858 30.864 2779
+-125.732 30.864 2788
+-125.606 30.864 2798
+-125.48 30.864 2808
+-125.354 30.864 2819
+-125.228 30.864 2890
+-125.102 30.864 2910
+-124.976 30.864 3230
+-124.85 30.864 3223
+-124.724 30.864 3215
+-124.598 30.864 3206
+-124.472 30.864 3196
+-124.346 30.864 3184
+-124.22 30.864 3192
+-124.094 30.864 3188
+-123.968 30.864 3209
+-123.842 30.864 3183
+-123.716 30.864 3150
+-123.59 30.864 3124
+-123.464 30.864 3091
+-123.338 30.864 3064
+-123.212 30.864 3090
+-123.086 30.864 3157
+-122.96 30.864 3294
+-122.834 30.864 3483
+-122.708 30.864 3592
+-122.582 30.864 3690
+-122.456 30.864 3786
+-122.33 30.864 3883
+-122.204 30.864 3902
+-122.078 30.864 3972
+-121.952 30.864 4072
+-121.826 30.864 4149
+-121.7 30.864 4161
+-121.574 30.864 4274
+-121.448 30.864 4474
+-121.322 30.864 4592
+-121.196 30.864 4618
+-121.07 30.864 4747
+-120.944 30.864 4896
+-120.818 30.864 4947
+-120.692 30.864 5068
+-120.566 30.864 5289
+-120.44 30.864 5347
+-120.314 30.864 5487
+-120.188 30.864 5615
+-120.062 30.864 5745
+-119.936 30.864 5823
+-119.81 30.864 5985
+-119.684 30.864 6097
+-119.558 30.864 6152
+-119.432 30.864 6251
+-119.306 30.864 6393
+-119.18 30.864 6518
+-119.054 30.864 6617
+-118.928 30.864 6639
+-118.802 30.864 6824
+-118.676 30.864 6882
+-118.55 30.864 6975
+-118.424 30.864 7050
+-118.298 30.864 7118
+-118.172 30.864 7196
+-118.046 30.864 7264
+-117.92 30.864 7327
+-117.794 30.864 7389
+-117.668 30.864 7426
+-117.542 30.864 7467
+-117.416 30.864 7491
+-117.29 30.864 7536
+-117.164 30.864 7516
+-117.038 30.864 7571
+-116.912 30.864 7553
+-116.786 30.864 7517
+-116.66 30.864 7508
+-116.534 30.864 7483
+-116.408 30.864 7429
+-116.282 30.864 7419
+-116.156 30.864 7362
+-116.03 30.864 7296
+-115.904 30.864 7213
+-115.778 30.864 7170
+-115.652 30.864 7066
+-115.526 30.864 6977
+-115.4 30.864 6881
+-115.274 30.864 6801
+-115.148 30.864 6743
+-115.022 30.864 6644
+-114.896 30.864 6526
+-114.77 30.864 6354
+-114.644 30.864 6322
+-114.518 30.864 6218
+-114.392 30.864 6073
+-114.266 30.864 5992
+-114.14 30.864 5832
+-114.014 30.864 5771
+-113.888 30.864 5712
+-113.762 30.864 5684
+-113.636 30.864 5856
+-113.51 30.864 5946
+-113.384 30.864 6111
+-113.258 30.864 6217
+-113.132 30.864 6365
+-113.006 30.864 6513
+-112.88 30.864 6667
+-112.754 30.864 6811
+-112.628 30.864 6938
+-112.502 30.864 7012
+-112.376 30.864 7187
+-112.25 30.864 7261
+-112.124 30.864 7426
+-111.998 30.864 7586
+-111.872 30.864 7672
+-111.746 30.864 7769
+-111.62 30.864 7930
+-111.494 30.864 8005
+-111.368 30.864 8164
+-111.242 30.864 8284
+-111.116 30.864 8324
+-110.99 30.864 8444
+-110.864 30.864 8511
+-110.738 30.864 8591
+-110.612 30.864 8605
+-110.486 30.864 8644
+-110.36 30.864 8648
+-110.234 30.864 8651
+-110.108 30.864 8599
+-109.982 30.864 8559
+-109.856 30.864 8473
+-109.73 30.864 8442
+-109.604 30.864 8270
+-109.478 30.864 8179
+-109.352 30.864 8091
+-109.226 30.864 7966
+-109.1 30.864 7794
+-108.974 30.864 7713
+-108.848 30.864 7585
+-108.722 30.864 7523
+-108.596 30.864 7363
+-108.47 30.864 7209
+-108.344 30.864 7101
+-108.218 30.864 6970
+-108.092 30.864 6864
+-107.966 30.864 6772
+-107.84 30.864 6569
+-107.714 30.864 6489
+-107.588 30.864 6360
+-107.462 30.864 6186
+-107.336 30.864 6040
+-107.21 30.864 5974
+-107.084 30.864 5881
+-106.958 30.864 5780
+-106.832 30.864 5632
+-106.706 30.864 5554
+-106.58 30.864 5373
+-106.454 30.864 5134
+-106.328 30.864 4958
+-106.202 30.864 4857
+-106.076 30.864 4861
+-105.95 30.864 4781
+-105.824 30.864 4660
+-105.698 30.864 4532
+-105.572 30.864 4395
+-105.446 30.864 4308
+-105.32 30.864 4244
+-105.194 30.864 4142
+-105.068 30.864 3866
+-104.942 30.864 3624
+-104.816 30.864 3427
+-104.69 30.864 3268
+-104.564 30.864 3192
+-104.438 30.864 3181
+-104.312 30.864 3175
+-104.186 30.864 3140
+-104.06 30.864 3079
+-103.934 30.864 3029
+-103.808 30.864 2979
+-103.682 30.864 2971
+-103.556 30.864 2977
+-103.43 30.864 2990
+-103.304 30.864 3001
+-103.178 30.864 2997
+-103.052 30.864 2984
+-102.926 30.864 2999
+-102.8 30.864 3014
+-102.674 30.864 3028
+-102.548 30.864 3003
+-102.422 30.864 3017
+-102.296 30.864 3029
+-102.17 30.864 3042
+-102.044 30.864 3054
+-101.918 30.864 3065
+-101.792 30.864 3076
+-101.666 30.864 3034
+-101.54 30.864 3044
+-101.414 30.864 3033
+-101.288 30.864 3041
+-101.162 30.864 3050
+-101.036 30.864 3058
+-100.91 30.864 3065
+-100.784 30.864 3073
+-100.658 30.864 3054
+-100.532 30.864 3060
+-100.406 30.864 3067
+-100.28 30.864 2949
+-100.154 30.864 2832
+-100.028 30.864 2820
+-99.902 30.864 2764
+-99.776 30.864 2741
+-99.65 30.864 2729
+-99.524 30.864 2693
+-99.398 30.864 2621
+-99.272 30.864 2601
+-99.146 30.864 2580
+-99.02 30.864 2447
+-98.894 30.864 2417
+-98.768 30.864 2376
+-98.642 30.864 2299
+-98.516 30.864 2259
+-98.39 30.864 2238
+-98.264 30.864 2207
+-98.138 30.864 2182
+-98.012 30.864 2166
+-97.886 30.864 2118
+-97.76 30.864 2134
+-97.634 30.864 2122
+-97.508 30.864 2122
+-97.382 30.864 2090
+-97.256 30.864 2148
+-97.13 30.864 2149
+-97.004 30.864 2077
+-96.878 30.864 2036
+-96.752 30.864 2062
+-96.626 30.864 2006
+-96.5 30.864 1975
+-96.374 30.864 1960
+-96.248 30.864 1912
+-96.122 30.864 1868
+-95.996 30.864 1824
+-95.87 30.864 1782
+-95.744 30.864 1766
+-95.618 30.864 1698
+-95.492 30.864 1681
+-95.366 30.864 1675
+-95.24 30.864 1656
+-95.114 30.864 1672
+-94.988 30.864 1702
+-94.862 30.864 1735
+-94.736 30.864 1786
+-94.61 30.864 1842
+-94.484 30.864 1904
+-94.358 30.864 2002
+-94.232 30.864 2075
+-94.106 30.864 2145
+-93.98 30.864 2212
+-93.854 30.864 2266
+-93.728 30.864 2322
+-93.602 30.864 2378
+-93.476 30.864 2375
+-93.35 30.864 2413
+-93.224 30.864 2452
+-93.098 30.864 2485
+-92.972 30.864 2512
+-92.846 30.864 2499
+-92.72 30.864 2514
+-92.594 30.864 2528
+-92.468 30.864 2503
+-92.342 30.864 2466
+-92.216 30.864 2503
+-92.09 30.864 2503
+-91.964 30.864 2496
+-91.838 30.864 2493
+-91.712 30.864 2489
+-91.586 30.864 2547
+-91.46 30.864 2536
+-91.334 30.864 2529
+-91.208 30.864 2522
+-91.082 30.864 2504
+-90.956 30.864 2490
+-90.83 30.864 2481
+-90.704 30.864 2468
+-90.578 30.864 2451
+-90.452 30.864 2425
+-90.326 30.864 2380
+-90.2 30.864 2328
+-90.074 30.864 2255
+-89.948 30.864 2192
+-89.822 30.864 2163
+-89.696 30.864 2200
+-89.57 30.864 2282
+-89.444 30.864 2353
+-89.318 30.864 2386
+-89.192 30.864 2380
+-89.066 30.864 2317
+-88.94 30.864 2219
+-88.814 30.864 2158
+-88.688 30.864 2236
+-88.562 30.864 2410
+-88.436 30.864 2582
+-88.31 30.864 2717
+-88.184 30.864 2825
+-88.058 30.864 2907
+-87.932 30.864 2999
+-87.806 30.864 3036
+-87.68 30.864 3092
+-87.554 30.864 3138
+-87.428 30.864 3186
+-87.302 30.864 3251
+-87.176 30.864 3438
+-87.05 30.864 3618
+-86.924 30.864 3808
+-86.798 30.864 3929
+-86.672 30.864 4014
+-86.546 30.864 4078
+-86.42 30.864 4198
+-86.294 30.864 4273
+-86.168 30.864 4356
+-86.042 30.864 4432
+-85.916 30.864 4559
+-85.79 30.864 4694
+-85.664 30.864 4823
+-85.538 30.864 4958
+-85.412 30.864 5022
+-85.286 30.864 4933
+-85.16 30.864 5098
+-85.034 30.864 5219
+-84.908 30.864 5311
+-84.782 30.864 5344
+-84.656 30.864 5439
+-84.53 30.864 5497
+-84.404 30.864 5573
+-84.278 30.864 5676
+-84.152 30.864 5776
+-84.026 30.864 5862
+-83.9 30.864 5934
+-83.774 30.864 5977
+-83.648 30.864 6029
+-83.522 30.864 6086
+-83.396 30.864 6146
+-83.27 30.864 6223
+-83.144 30.864 6278
+-83.018 30.864 6295
+-82.892 30.864 6340
+-82.766 30.864 6365
+-82.64 30.864 6400
+-82.514 30.864 6416
+-82.388 30.864 6422
+-82.262 30.864 6391
+-82.136 30.864 6442
+-82.01 30.864 6435
+-81.884 30.864 6379
+-81.758 30.864 6392
+-81.632 30.864 6370
+-81.506 30.864 6360
+-81.38 30.864 6279
+-81.254 30.864 6264
+-81.128 30.864 6245
+-81.002 30.864 6180
+-80.876 30.864 6129
+-80.75 30.864 6086
+-80.624 30.864 6027
+-80.498 30.864 5952
+-80.372 30.864 5891
+-80.246 30.864 5802
+-80.12 30.864 5700
+-79.994 30.864 5581
+-79.868 30.864 5489
+-79.742 30.864 5481
+-79.616 30.864 5370
+-79.49 30.864 5286
+-79.364 30.864 5183
+-79.238 30.864 5073
+-79.112 30.864 5053
+-78.986 30.864 5016
+-78.86 30.864 4995
+-78.734 30.864 4934
+-78.608 30.864 4830
+-78.482 30.864 4609
+-78.356 30.864 4364
+-78.23 30.864 4246
+-78.104 30.864 4307
+-77.978 30.864 4279
+-77.852 30.864 4157
+-77.726 30.864 4054
+-77.6 30.864 3864
+-77.474 30.864 3765
+-77.348 30.864 3669
+-77.222 30.864 3568
+-77.096 30.864 3448
+-76.97 30.864 3313
+-76.844 30.864 3202
+-76.718 30.864 3094
+-76.592 30.864 2954
+-76.466 30.864 2744
+-76.34 30.864 2514
+-76.214 30.864 2405
+-76.088 30.864 2473
+-75.962 30.864 2623
+-75.836 30.864 2762
+-75.71 30.864 2881
+-75.584 30.864 2972
+-75.458 30.864 3044
+-75.332 30.864 3102
+-75.206 30.864 3150
+-75.08 30.864 3145
+-74.954 30.864 3161
+-74.828 30.864 3174
+-74.702 30.864 3168
+-74.576 30.864 3188
+-74.45 30.864 3170
+-74.324 30.864 3211
+-74.198 30.864 3226
+-74.072 30.864 3240
+-73.946 30.864 3252
+-73.82 30.864 3263
+-73.694 30.864 3274
+-73.568 30.864 3283
+-73.442 30.864 3267
+-73.316 30.864 3275
+-73.19 30.864 3282
+-73.064 30.864 3264
+-72.938 30.864 3237
+-72.812 30.864 3226
+-72.686 30.864 3231
+-72.56 30.864 3235
+-72.434 30.864 3240
+-72.308 30.864 3244
+-72.182 30.864 3247
+-72.056 30.864 3251
+-71.93 30.864 3173
+-71.804 30.864 3164
+-71.678 30.864 3168
+-71.552 30.864 3171
+-71.426 30.864 3175
+-71.3 30.864 3178
+-71.174 30.864 3181
+-71.048 30.864 3184
+-70.922 30.864 3187
+-70.796 30.864 3189
+-70.67 30.864 3192
+-70.544 30.864 3194
+-70.418 30.864 3197
+-70.292 30.864 3199
+-70.166 30.864 3201
+-70.04 30.864 3203
+-69.914 30.864 3189
+-69.788 30.864 3192
+-69.662 30.864 3194
+-69.536 30.864 3196
+-69.41 30.864 3198
+-69.284 30.864 3157
+-69.158 30.864 3159
+-69.032 30.864 3160
+-68.906 30.864 3162
+-68.78 30.864 3163
+-68.654 30.864 3164
+-68.528 30.864 3158
+-68.402 30.864 3159
+-68.276 30.864 3136
+-68.15 30.864 3121
+-68.024 30.864 3122
+-67.898 30.864 3123
+-67.772 30.864 3124
+-67.646 30.864 3125
+-67.52 30.864 3126
+-67.394 30.864 3127
+-67.268 30.864 3128
+-67.142 30.864 3128
+-67.016 30.864 3129
+-66.89 30.864 3130
+-66.764 30.864 3037
+-66.638 30.864 3038
+-66.512 30.864 3038
+-66.386 30.864 3039
+-66.26 30.864 3040
+-66.134 30.864 3041
+-66.008 30.864 3041
+-65.882 30.864 3042
+-65.756 30.864 3043
+-65.63 30.864 3043
+-65.504 30.864 3044
+-65.378 30.864 3045
+-65.252 30.864 3045
+-65.126 30.864 3046
+-128 30.812 2437
+-127.874 30.812 2516
+-127.748 30.812 2516
+-127.622 30.812 2608
+-127.496 30.812 2608
+-127.37 30.812 2609
+-127.244 30.812 2610
+-127.118 30.812 2611
+-126.992 30.812 2613
+-126.866 30.812 2615
+-126.74 30.812 2646
+-126.614 30.812 2649
+-126.488 30.812 2653
+-126.362 30.812 2725
+-126.236 30.812 2731
+-126.11 30.812 2738
+-125.984 30.812 2746
+-125.858 30.812 2755
+-125.732 30.812 2765
+-125.606 30.812 2775
+-125.48 30.812 2786
+-125.354 30.812 2858
+-125.228 30.812 2907
+-125.102 30.812 2918
+-124.976 30.812 2978
+-124.85 30.812 3227
+-124.724 30.812 3220
+-124.598 30.812 3212
+-124.472 30.812 3203
+-124.346 30.812 3216
+-124.22 30.812 3195
+-124.094 30.812 3196
+-123.968 30.812 3233
+-123.842 30.812 3215
+-123.716 30.812 3211
+-123.59 30.812 3202
+-123.464 30.812 3187
+-123.338 30.812 3186
+-123.212 30.812 3223
+-123.086 30.812 3303
+-122.96 30.812 3421
+-122.834 30.812 3508
+-122.708 30.812 3619
+-122.582 30.812 3704
+-122.456 30.812 3809
+-122.33 30.812 3852
+-122.204 30.812 3833
+-122.078 30.812 3819
+-121.952 30.812 3954
+-121.826 30.812 4111
+-121.7 30.812 4183
+-121.574 30.812 4291
+-121.448 30.812 4454
+-121.322 30.812 4568
+-121.196 30.812 4552
+-121.07 30.812 4711
+-120.944 30.812 4898
+-120.818 30.812 4988
+-120.692 30.812 5078
+-120.566 30.812 5241
+-120.44 30.812 5373
+-120.314 30.812 5476
+-120.188 30.812 5593
+-120.062 30.812 5670
+-119.936 30.812 5815
+-119.81 30.812 5971
+-119.684 30.812 5978
+-119.558 30.812 6140
+-119.432 30.812 6184
+-119.306 30.812 6311
+-119.18 30.812 6458
+-119.054 30.812 6594
+-118.928 30.812 6713
+-118.802 30.812 6783
+-118.676 30.812 6778
+-118.55 30.812 6950
+-118.424 30.812 7027
+-118.298 30.812 7086
+-118.172 30.812 7146
+-118.046 30.812 7210
+-117.92 30.812 7262
+-117.794 30.812 7332
+-117.668 30.812 7373
+-117.542 30.812 7395
+-117.416 30.812 7468
+-117.29 30.812 7487
+-117.164 30.812 7477
+-117.038 30.812 7495
+-116.912 30.812 7488
+-116.786 30.812 7501
+-116.66 30.812 7460
+-116.534 30.812 7396
+-116.408 30.812 7378
+-116.282 30.812 7326
+-116.156 30.812 7314
+-116.03 30.812 7246
+-115.904 30.812 7165
+-115.778 30.812 7101
+-115.652 30.812 7027
+-115.526 30.812 6990
+-115.4 30.812 6846
+-115.274 30.812 6776
+-115.148 30.812 6685
+-115.022 30.812 6579
+-114.896 30.812 6460
+-114.77 30.812 6360
+-114.644 30.812 6255
+-114.518 30.812 6144
+-114.392 30.812 6069
+-114.266 30.812 5917
+-114.14 30.812 5798
+-114.014 30.812 5740
+-113.888 30.812 5542
+-113.762 30.812 5739
+-113.636 30.812 5863
+-113.51 30.812 5981
+-113.384 30.812 6156
+-113.258 30.812 6239
+-113.132 30.812 6353
+-113.006 30.812 6565
+-112.88 30.812 6615
+-112.754 30.812 6795
+-112.628 30.812 6923
+-112.502 30.812 6996
+-112.376 30.812 7110
+-112.25 30.812 7269
+-112.124 30.812 7407
+-111.998 30.812 7561
+-111.872 30.812 7617
+-111.746 30.812 7812
+-111.62 30.812 7879
+-111.494 30.812 8044
+-111.368 30.812 8080
+-111.242 30.812 8219
+-111.116 30.812 8297
+-110.99 30.812 8394
+-110.864 30.812 8483
+-110.738 30.812 8556
+-110.612 30.812 8584
+-110.486 30.812 8573
+-110.36 30.812 8573
+-110.234 30.812 8586
+-110.108 30.812 8535
+-109.982 30.812 8475
+-109.856 30.812 8437
+-109.73 30.812 8348
+-109.604 30.812 8265
+-109.478 30.812 8127
+-109.352 30.812 8051
+-109.226 30.812 7910
+-109.1 30.812 7815
+-108.974 30.812 7718
+-108.848 30.812 7626
+-108.722 30.812 7477
+-108.596 30.812 7279
+-108.47 30.812 7169
+-108.344 30.812 7090
+-108.218 30.812 7005
+-108.092 30.812 6878
+-107.966 30.812 6731
+-107.84 30.812 6581
+-107.714 30.812 6505
+-107.588 30.812 6348
+-107.462 30.812 6184
+-107.336 30.812 6072
+-107.21 30.812 5938
+-107.084 30.812 5842
+-106.958 30.812 5711
+-106.832 30.812 5532
+-106.706 30.812 5523
+-106.58 30.812 5351
+-106.454 30.812 5060
+-106.328 30.812 4924
+-106.202 30.812 4889
+-106.076 30.812 4844
+-105.95 30.812 4755
+-105.824 30.812 4591
+-105.698 30.812 4424
+-105.572 30.812 4290
+-105.446 30.812 4270
+-105.32 30.812 4233
+-105.194 30.812 4142
+-105.068 30.812 3886
+-104.942 30.812 3625
+-104.816 30.812 3420
+-104.69 30.812 3267
+-104.564 30.812 3163
+-104.438 30.812 3101
+-104.312 30.812 3123
+-104.186 30.812 3119
+-104.06 30.812 3086
+-103.934 30.812 3037
+-103.808 30.812 3012
+-103.682 30.812 2999
+-103.556 30.812 2997
+-103.43 30.812 3003
+-103.304 30.812 3000
+-103.178 30.812 2982
+-103.052 30.812 2985
+-102.926 30.812 2998
+-102.8 30.812 3011
+-102.674 30.812 3023
+-102.548 30.812 3036
+-102.422 30.812 3005
+-102.296 30.812 3018
+-102.17 30.812 3030
+-102.044 30.812 3041
+-101.918 30.812 3053
+-101.792 30.812 3064
+-101.666 30.812 3024
+-101.54 30.812 3013
+-101.414 30.812 3022
+-101.288 30.812 3031
+-101.162 30.812 3040
+-101.036 30.812 3048
+-100.91 30.812 3056
+-100.784 30.812 3064
+-100.658 30.812 3071
+-100.532 30.812 3053
+-100.406 30.812 3059
+-100.28 30.812 2833
+-100.154 30.812 2828
+-100.028 30.812 2808
+-99.902 30.812 2753
+-99.776 30.812 2738
+-99.65 30.812 2727
+-99.524 30.812 2692
+-99.398 30.812 2629
+-99.272 30.812 2603
+-99.146 30.812 2582
+-99.02 30.812 2444
+-98.894 30.812 2420
+-98.768 30.812 2395
+-98.642 30.812 2345
+-98.516 30.812 2276
+-98.39 30.812 2236
+-98.264 30.812 2216
+-98.138 30.812 2174
+-98.012 30.812 2195
+-97.886 30.812 2147
+-97.76 30.812 2098
+-97.634 30.812 2162
+-97.508 30.812 2135
+-97.382 30.812 2106
+-97.256 30.812 2066
+-97.13 30.812 2092
+-97.004 30.812 2103
+-96.878 30.812 2085
+-96.752 30.812 2020
+-96.626 30.812 2064
+-96.5 30.812 2058
+-96.374 30.812 2016
+-96.248 30.812 1978
+-96.122 30.812 1939
+-95.996 30.812 1900
+-95.87 30.812 1888
+-95.744 30.812 1814
+-95.618 30.812 1795
+-95.492 30.812 1784
+-95.366 30.812 1753
+-95.24 30.812 1761
+-95.114 30.812 1778
+-94.988 30.812 1798
+-94.862 30.812 1834
+-94.736 30.812 1876
+-94.61 30.812 1923
+-94.484 30.812 2009
+-94.358 30.812 2071
+-94.232 30.812 2132
+-94.106 30.812 2192
+-93.98 30.812 2241
+-93.854 30.812 2294
+-93.728 30.812 2349
+-93.602 30.812 2345
+-93.476 30.812 2385
+-93.35 30.812 2425
+-93.224 30.812 2460
+-93.098 30.812 2490
+-92.972 30.812 2480
+-92.846 30.812 2498
+-92.72 30.812 2516
+-92.594 30.812 2494
+-92.468 30.812 2459
+-92.342 30.812 2501
+-92.216 30.812 2506
+-92.09 30.812 2502
+-91.964 30.812 2502
+-91.838 30.812 2501
+-91.712 30.812 2499
+-91.586 30.812 2496
+-91.46 30.812 2553
+-91.334 30.812 2544
+-91.208 30.812 2524
+-91.082 30.812 2499
+-90.956 30.812 2491
+-90.83 30.812 2488
+-90.704 30.812 2477
+-90.578 30.812 2461
+-90.452 30.812 2435
+-90.326 30.812 2400
+-90.2 30.812 2347
+-90.074 30.812 2303
+-89.948 30.812 2258
+-89.822 30.812 2244
+-89.696 30.812 2275
+-89.57 30.812 2330
+-89.444 30.812 2381
+-89.318 30.812 2409
+-89.192 30.812 2396
+-89.066 30.812 2342
+-88.94 30.812 2264
+-88.814 30.812 2224
+-88.688 30.812 2294
+-88.562 30.812 2454
+-88.436 30.812 2606
+-88.31 30.812 2746
+-88.184 30.812 2847
+-88.058 30.812 2919
+-87.932 30.812 2991
+-87.806 30.812 3015
+-87.68 30.812 3053
+-87.554 30.812 3104
+-87.428 30.812 3135
+-87.302 30.812 3205
+-87.176 30.812 3410
+-87.05 30.812 3642
+-86.924 30.812 3816
+-86.798 30.812 3945
+-86.672 30.812 4052
+-86.546 30.812 4141
+-86.42 30.812 4234
+-86.294 30.812 4319
+-86.168 30.812 4403
+-86.042 30.812 4504
+-85.916 30.812 4615
+-85.79 30.812 4747
+-85.664 30.812 4842
+-85.538 30.812 4925
+-85.412 30.812 5022
+-85.286 30.812 5029
+-85.16 30.812 5086
+-85.034 30.812 5212
+-84.908 30.812 5332
+-84.782 30.812 5420
+-84.656 30.812 5501
+-84.53 30.812 5548
+-84.404 30.812 5655
+-84.278 30.812 5729
+-84.152 30.812 5795
+-84.026 30.812 5900
+-83.9 30.812 5983
+-83.774 30.812 6041
+-83.648 30.812 6082
+-83.522 30.812 6138
+-83.396 30.812 6200
+-83.27 30.812 6280
+-83.144 30.812 6327
+-83.018 30.812 6339
+-82.892 30.812 6372
+-82.766 30.812 6419
+-82.64 30.812 6446
+-82.514 30.812 6446
+-82.388 30.812 6500
+-82.262 30.812 6482
+-82.136 30.812 6486
+-82.01 30.812 6462
+-81.884 30.812 6458
+-81.758 30.812 6429
+-81.632 30.812 6400
+-81.506 30.812 6387
+-81.38 30.812 6341
+-81.254 30.812 6306
+-81.128 30.812 6274
+-81.002 30.812 6214
+-80.876 30.812 6122
+-80.75 30.812 6128
+-80.624 30.812 6083
+-80.498 30.812 6015
+-80.372 30.812 5930
+-80.246 30.812 5807
+-80.12 30.812 5767
+-79.994 30.812 5626
+-79.868 30.812 5567
+-79.742 30.812 5524
+-79.616 30.812 5425
+-79.49 30.812 5311
+-79.364 30.812 5243
+-79.238 30.812 5154
+-79.112 30.812 5096
+-78.986 30.812 5040
+-78.86 30.812 5018
+-78.734 30.812 4969
+-78.608 30.812 4868
+-78.482 30.812 4675
+-78.356 30.812 4454
+-78.23 30.812 4346
+-78.104 30.812 4366
+-77.978 30.812 4302
+-77.852 30.812 4150
+-77.726 30.812 3995
+-77.6 30.812 3819
+-77.474 30.812 3756
+-77.348 30.812 3694
+-77.222 30.812 3638
+-77.096 30.812 3544
+-76.97 30.812 3440
+-76.844 30.812 3317
+-76.718 30.812 3217
+-76.592 30.812 3085
+-76.466 30.812 2900
+-76.34 30.812 2731
+-76.214 30.812 2644
+-76.088 30.812 2658
+-75.962 30.812 2750
+-75.836 30.812 2839
+-75.71 30.812 2942
+-75.584 30.812 3019
+-75.458 30.812 3082
+-75.332 30.812 3133
+-75.206 30.812 3133
+-75.08 30.812 3152
+-74.954 30.812 3167
+-74.828 30.812 3164
+-74.702 30.812 3196
+-74.576 30.812 3168
+-74.45 30.812 3209
+-74.324 30.812 3225
+-74.198 30.812 3239
+-74.072 30.812 3252
+-73.946 30.812 3264
+-73.82 30.812 3274
+-73.694 30.812 3284
+-73.568 30.812 3267
+-73.442 30.812 3276
+-73.316 30.812 3283
+-73.19 30.812 3265
+-73.064 30.812 3238
+-72.938 30.812 3227
+-72.812 30.812 3232
+-72.686 30.812 3237
+-72.56 30.812 3241
+-72.434 30.812 3245
+-72.308 30.812 3249
+-72.182 30.812 3252
+-72.056 30.812 3174
+-71.93 30.812 3165
+-71.804 30.812 3169
+-71.678 30.812 3173
+-71.552 30.812 3176
+-71.426 30.812 3179
+-71.3 30.812 3183
+-71.174 30.812 3185
+-71.048 30.812 3188
+-70.922 30.812 3191
+-70.796 30.812 3193
+-70.67 30.812 3196
+-70.544 30.812 3198
+-70.418 30.812 3200
+-70.292 30.812 3202
+-70.166 30.812 3204
+-70.04 30.812 3190
+-69.914 30.812 3193
+-69.788 30.812 3195
+-69.662 30.812 3197
+-69.536 30.812 3200
+-69.41 30.812 3159
+-69.284 30.812 3160
+-69.158 30.812 3162
+-69.032 30.812 3163
+-68.906 30.812 3164
+-68.78 30.812 3165
+-68.654 30.812 3159
+-68.528 30.812 3160
+-68.402 30.812 3137
+-68.276 30.812 3122
+-68.15 30.812 3123
+-68.024 30.812 3124
+-67.898 30.812 3125
+-67.772 30.812 3126
+-67.646 30.812 3126
+-67.52 30.812 3127
+-67.394 30.812 3128
+-67.268 30.812 3129
+-67.142 30.812 3130
+-67.016 30.812 3130
+-66.89 30.812 3037
+-66.764 30.812 3038
+-66.638 30.812 3039
+-66.512 30.812 3040
+-66.386 30.812 3040
+-66.26 30.812 3041
+-66.134 30.812 3042
+-66.008 30.812 3042
+-65.882 30.812 3043
+-65.756 30.812 3044
+-65.63 30.812 3044
+-65.504 30.812 3045
+-65.378 30.812 3045
+-65.252 30.812 3046
+-65.126 30.812 3047
+-128 30.76 2500
+-127.874 30.76 2498
+-127.748 30.76 2590
+-127.622 30.76 2589
+-127.496 30.76 2588
+-127.37 30.76 2588
+-127.244 30.76 2588
+-127.118 30.76 2589
+-126.992 30.76 2590
+-126.866 30.76 2592
+-126.74 30.76 2621
+-126.614 30.76 2624
+-126.488 30.76 2694
+-126.362 30.76 2699
+-126.236 30.76 2706
+-126.11 30.76 2712
+-125.984 30.76 2720
+-125.858 30.76 2729
+-125.732 30.76 2739
+-125.606 30.76 2749
+-125.48 30.76 2822
+-125.354 30.76 2870
+-125.228 30.76 2881
+-125.102 30.76 2893
+-124.976 30.76 2905
+-124.85 30.76 2969
+-124.724 30.76 3225
+-124.598 30.76 3218
+-124.472 30.76 3224
+-124.346 30.76 3217
+-124.22 30.76 3223
+-124.094 30.76 3192
+-123.968 30.76 3254
+-123.842 30.76 3246
+-123.716 30.76 3266
+-123.59 30.76 3258
+-123.464 30.76 3257
+-123.338 30.76 3282
+-123.212 30.76 3337
+-123.086 30.76 3421
+-122.96 30.76 3466
+-122.834 30.76 3529
+-122.708 30.76 3656
+-122.582 30.76 3734
+-122.456 30.76 3802
+-122.33 30.76 3814
+-122.204 30.76 3771
+-122.078 30.76 3687
+-121.952 30.76 3862
+-121.826 30.76 3979
+-121.7 30.76 4114
+-121.574 30.76 4245
+-121.448 30.76 4404
+-121.322 30.76 4558
+-121.196 30.76 4634
+-121.07 30.76 4713
+-120.944 30.76 4850
+-120.818 30.76 4992
+-120.692 30.76 5107
+-120.566 30.76 5242
+-120.44 30.76 5351
+-120.314 30.76 5411
+-120.188 30.76 5547
+-120.062 30.76 5595
+-119.936 30.76 5736
+-119.81 30.76 5925
+-119.684 30.76 6051
+-119.558 30.76 6147
+-119.432 30.76 6234
+-119.306 30.76 6291
+-119.18 30.76 6400
+-119.054 30.76 6515
+-118.928 30.76 6671
+-118.802 30.76 6710
+-118.676 30.76 6781
+-118.55 30.76 6868
+-118.424 30.76 6963
+-118.298 30.76 7044
+-118.172 30.76 7089
+-118.046 30.76 7186
+-117.92 30.76 7199
+-117.794 30.76 7293
+-117.668 30.76 7328
+-117.542 30.76 7371
+-117.416 30.76 7391
+-117.29 30.76 7423
+-117.164 30.76 7420
+-117.038 30.76 7421
+-116.912 30.76 7437
+-116.786 30.76 7437
+-116.66 30.76 7379
+-116.534 30.76 7371
+-116.408 30.76 7354
+-116.282 30.76 7281
+-116.156 30.76 7248
+-116.03 30.76 7178
+-115.904 30.76 7112
+-115.778 30.76 7058
+-115.652 30.76 6939
+-115.526 30.76 6852
+-115.4 30.76 6758
+-115.274 30.76 6712
+-115.148 30.76 6638
+-115.022 30.76 6525
+-114.896 30.76 6400
+-114.77 30.76 6356
+-114.644 30.76 6160
+-114.518 30.76 6132
+-114.392 30.76 6011
+-114.266 30.76 5898
+-114.14 30.76 5804
+-114.014 30.76 5711
+-113.888 30.76 5529
+-113.762 30.76 5727
+-113.636 30.76 5830
+-113.51 30.76 5984
+-113.384 30.76 6098
+-113.258 30.76 6235
+-113.132 30.76 6320
+-113.006 30.76 6467
+-112.88 30.76 6630
+-112.754 30.76 6742
+-112.628 30.76 6845
+-112.502 30.76 6985
+-112.376 30.76 7126
+-112.25 30.76 7319
+-112.124 30.76 7381
+-111.998 30.76 7519
+-111.872 30.76 7663
+-111.746 30.76 7721
+-111.62 30.76 7865
+-111.494 30.76 8006
+-111.368 30.76 8038
+-111.242 30.76 8151
+-111.116 30.76 8254
+-110.99 30.76 8346
+-110.864 30.76 8442
+-110.738 30.76 8474
+-110.612 30.76 8533
+-110.486 30.76 8530
+-110.36 30.76 8525
+-110.234 30.76 8527
+-110.108 30.76 8501
+-109.982 30.76 8438
+-109.856 30.76 8387
+-109.73 30.76 8323
+-109.604 30.76 8205
+-109.478 30.76 8102
+-109.352 30.76 7991
+-109.226 30.76 7888
+-109.1 30.76 7796
+-108.974 30.76 7686
+-108.848 30.76 7566
+-108.722 30.76 7440
+-108.596 30.76 7328
+-108.47 30.76 7217
+-108.344 30.76 7074
+-108.218 30.76 6944
+-108.092 30.76 6827
+-107.966 30.76 6675
+-107.84 30.76 6525
+-107.714 30.76 6462
+-107.588 30.76 6308
+-107.462 30.76 6140
+-107.336 30.76 6056
+-107.21 30.76 5882
+-107.084 30.76 5804
+-106.958 30.76 5672
+-106.832 30.76 5450
+-106.706 30.76 5469
+-106.58 30.76 5299
+-106.454 30.76 5108
+-106.328 30.76 4954
+-106.202 30.76 4851
+-106.076 30.76 4810
+-105.95 30.76 4720
+-105.824 30.76 4562
+-105.698 30.76 4335
+-105.572 30.76 4206
+-105.446 30.76 4238
+-105.32 30.76 4239
+-105.194 30.76 4156
+-105.068 30.76 3896
+-104.942 30.76 3622
+-104.816 30.76 3397
+-104.69 30.76 3210
+-104.564 30.76 3103
+-104.438 30.76 3013
+-104.312 30.76 3067
+-104.186 30.76 3085
+-104.06 30.76 3073
+-103.934 30.76 3046
+-103.808 30.76 3004
+-103.682 30.76 2991
+-103.556 30.76 2990
+-103.43 30.76 2972
+-103.304 30.76 2981
+-103.178 30.76 2976
+-103.052 30.76 2987
+-102.926 30.76 2991
+-102.8 30.76 3003
+-102.674 30.76 3016
+-102.548 30.76 3027
+-102.422 30.76 3039
+-102.296 30.76 3004
+-102.17 30.76 3016
+-102.044 30.76 3028
+-101.918 30.76 3040
+-101.792 30.76 3018
+-101.666 30.76 2990
+-101.54 30.76 3002
+-101.414 30.76 3012
+-101.288 30.76 3021
+-101.162 30.76 3030
+-101.036 30.76 3039
+-100.91 30.76 3047
+-100.784 30.76 3055
+-100.658 30.76 3063
+-100.532 30.76 3071
+-100.406 30.76 3052
+-100.28 30.76 2828
+-100.154 30.76 2810
+-100.028 30.76 2758
+-99.902 30.76 2750
+-99.776 30.76 2741
+-99.65 30.76 2725
+-99.524 30.76 2683
+-99.398 30.76 2630
+-99.272 30.76 2595
+-99.146 30.76 2575
+-99.02 30.76 2553
+-98.894 30.76 2424
+-98.768 30.76 2400
+-98.642 30.76 2358
+-98.516 30.76 2283
+-98.39 30.76 2255
+-98.264 30.76 2215
+-98.138 30.76 2185
+-98.012 30.76 2204
+-97.886 30.76 2157
+-97.76 30.76 2129
+-97.634 30.76 2156
+-97.508 30.76 2149
+-97.382 30.76 2121
+-97.256 30.76 2085
+-97.13 30.76 2114
+-97.004 30.76 2150
+-96.878 30.76 2117
+-96.752 30.76 2072
+-96.626 30.76 2144
+-96.5 30.76 2107
+-96.374 30.76 2075
+-96.248 30.76 2039
+-96.122 30.76 2003
+-95.996 30.76 1997
+-95.87 30.76 1917
+-95.744 30.76 1897
+-95.618 30.76 1883
+-95.492 30.76 1847
+-95.366 30.76 1847
+-95.24 30.76 1856
+-95.114 30.76 1864
+-94.988 30.76 1889
+-94.862 30.76 1918
+-94.736 30.76 1953
+-94.61 30.76 2028
+-94.484 30.76 2079
+-94.358 30.76 2131
+-94.232 30.76 2183
+-94.106 30.76 2225
+-93.98 30.76 2273
+-93.854 30.76 2326
+-93.728 30.76 2320
+-93.602 30.76 2359
+-93.476 30.76 2400
+-93.35 30.76 2436
+-93.224 30.76 2469
+-93.098 30.76 2460
+-92.972 30.76 2481
+-92.846 30.76 2502
+-92.72 30.76 2482
+-92.594 30.76 2449
+-92.468 30.76 2496
+-92.342 30.76 2504
+-92.216 30.76 2481
+-92.09 30.76 2485
+-91.964 30.76 2487
+-91.838 30.76 2488
+-91.712 30.76 2487
+-91.586 30.76 2473
+-91.46 30.76 2486
+-91.334 30.76 2525
+-91.208 30.76 2517
+-91.082 30.76 2509
+-90.956 30.76 2499
+-90.83 30.76 2489
+-90.704 30.76 2491
+-90.578 30.76 2475
+-90.452 30.76 2455
+-90.326 30.76 2417
+-90.2 30.76 2384
+-90.074 30.76 2355
+-89.948 30.76 2330
+-89.822 30.76 2332
+-89.696 30.76 2350
+-89.57 30.76 2385
+-89.444 30.76 2418
+-89.318 30.76 2433
+-89.192 30.76 2432
+-89.066 30.76 2400
+-88.94 30.76 2361
+-88.814 30.76 2360
+-88.688 30.76 2416
+-88.562 30.76 2524
+-88.436 30.76 2661
+-88.31 30.76 2769
+-88.184 30.76 2869
+-88.058 30.76 2927
+-87.932 30.76 2972
+-87.806 30.76 2961
+-87.68 30.76 2939
+-87.554 30.76 3061
+-87.428 30.76 3113
+-87.302 30.76 3183
+-87.176 30.76 3387
+-87.05 30.76 3626
+-86.924 30.76 3832
+-86.798 30.76 3984
+-86.672 30.76 4095
+-86.546 30.76 4169
+-86.42 30.76 4229
+-86.294 30.76 4262
+-86.168 30.76 4350
+-86.042 30.76 4487
+-85.916 30.76 4606
+-85.79 30.76 4765
+-85.664 30.76 4848
+-85.538 30.76 4846
+-85.412 30.76 4993
+-85.286 30.76 5113
+-85.16 30.76 5171
+-85.034 30.76 5179
+-84.908 30.76 5346
+-84.782 30.76 5462
+-84.656 30.76 5505
+-84.53 30.76 5604
+-84.404 30.76 5715
+-84.278 30.76 5763
+-84.152 30.76 5856
+-84.026 30.76 5939
+-83.9 30.76 6016
+-83.774 30.76 6085
+-83.648 30.76 6117
+-83.522 30.76 6193
+-83.396 30.76 6254
+-83.27 30.76 6343
+-83.144 30.76 6395
+-83.018 30.76 6392
+-82.892 30.76 6434
+-82.766 30.76 6463
+-82.64 30.76 6472
+-82.514 30.76 6501
+-82.388 30.76 6511
+-82.262 30.76 6524
+-82.136 30.76 6538
+-82.01 30.76 6558
+-81.884 30.76 6527
+-81.758 30.76 6494
+-81.632 30.76 6452
+-81.506 30.76 6427
+-81.38 30.76 6399
+-81.254 30.76 6372
+-81.128 30.76 6311
+-81.002 30.76 6246
+-80.876 30.76 6234
+-80.75 30.76 6176
+-80.624 30.76 6118
+-80.498 30.76 6033
+-80.372 30.76 5991
+-80.246 30.76 5883
+-80.12 30.76 5817
+-79.994 30.76 5703
+-79.868 30.76 5599
+-79.742 30.76 5542
+-79.616 30.76 5466
+-79.49 30.76 5362
+-79.364 30.76 5308
+-79.238 30.76 5249
+-79.112 30.76 5123
+-78.986 30.76 4979
+-78.86 30.76 5033
+-78.734 30.76 5012
+-78.608 30.76 4921
+-78.482 30.76 4706
+-78.356 30.76 4575
+-78.23 30.76 4482
+-78.104 30.76 4431
+-77.978 30.76 4294
+-77.852 30.76 4125
+-77.726 30.76 3923
+-77.6 30.76 3769
+-77.474 30.76 3706
+-77.348 30.76 3698
+-77.222 30.76 3671
+-77.096 30.76 3616
+-76.97 30.76 3535
+-76.844 30.76 3434
+-76.718 30.76 3329
+-76.592 30.76 3209
+-76.466 30.76 3084
+-76.34 30.76 2965
+-76.214 30.76 2897
+-76.088 30.76 2877
+-75.962 30.76 2892
+-75.836 30.76 2956
+-75.71 30.76 3020
+-75.584 30.76 3078
+-75.458 30.76 3127
+-75.332 30.76 3128
+-75.206 30.76 3149
+-75.08 30.76 3164
+-74.954 30.76 3162
+-74.828 30.76 3194
+-74.702 30.76 3167
+-74.576 30.76 3209
+-74.45 30.76 3225
+-74.324 30.76 3240
+-74.198 30.76 3253
+-74.072 30.76 3265
+-73.946 30.76 3276
+-73.82 30.76 3285
+-73.694 30.76 3269
+-73.568 30.76 3277
+-73.442 30.76 3285
+-73.316 30.76 3267
+-73.19 30.76 3240
+-73.064 30.76 3229
+-72.938 30.76 3234
+-72.812 30.76 3239
+-72.686 30.76 3243
+-72.56 30.76 3247
+-72.434 30.76 3251
+-72.308 30.76 3254
+-72.182 30.76 3176
+-72.056 30.76 3167
+-71.93 30.76 3171
+-71.804 30.76 3175
+-71.678 30.76 3178
+-71.552 30.76 3181
+-71.426 30.76 3184
+-71.3 30.76 3187
+-71.174 30.76 3190
+-71.048 30.76 3193
+-70.922 30.76 3195
+-70.796 30.76 3198
+-70.67 30.76 3200
+-70.544 30.76 3202
+-70.418 30.76 3204
+-70.292 30.76 3206
+-70.166 30.76 3192
+-70.04 30.76 3194
+-69.914 30.76 3197
+-69.788 30.76 3199
+-69.662 30.76 3201
+-69.536 30.76 3160
+-69.41 30.76 3162
+-69.284 30.76 3163
+-69.158 30.76 3164
+-69.032 30.76 3166
+-68.906 30.76 3167
+-68.78 30.76 3159
+-68.654 30.76 3161
+-68.528 30.76 3137
+-68.402 30.76 3123
+-68.276 30.76 3124
+-68.15 30.76 3124
+-68.024 30.76 3125
+-67.898 30.76 3126
+-67.772 30.76 3127
+-67.646 30.76 3128
+-67.52 30.76 3129
+-67.394 30.76 3129
+-67.268 30.76 3130
+-67.142 30.76 3131
+-67.016 30.76 3038
+-66.89 30.76 3038
+-66.764 30.76 3039
+-66.638 30.76 3040
+-66.512 30.76 3041
+-66.386 30.76 3041
+-66.26 30.76 3042
+-66.134 30.76 3043
+-66.008 30.76 3043
+-65.882 30.76 3044
+-65.756 30.76 3045
+-65.63 30.76 3045
+-65.504 30.76 3046
+-65.378 30.76 3046
+-65.252 30.76 3047
+-65.126 30.76 3047
+-128 30.708 2482
+-127.874 30.708 2573
+-127.748 30.708 2571
+-127.622 30.708 2569
+-127.496 30.708 2567
+-127.37 30.708 2566
+-127.244 30.708 2565
+-127.118 30.708 2565
+-126.992 30.708 2565
+-126.866 30.708 2593
+-126.74 30.708 2594
+-126.614 30.708 2664
+-126.488 30.708 2667
+-126.362 30.708 2672
+-126.236 30.708 2677
+-126.11 30.708 2684
+-125.984 30.708 2691
+-125.858 30.708 2700
+-125.732 30.708 2709
+-125.606 30.708 2750
+-125.48 30.708 2828
+-125.354 30.708 2840
+-125.228 30.708 2852
+-125.102 30.708 2865
+-124.976 30.708 2878
+-124.85 30.708 2892
+-124.724 30.708 2946
+-124.598 30.708 2980
+-124.472 30.708 3233
+-124.346 30.708 3220
+-124.22 30.708 3214
+-124.094 30.708 3281
+-123.968 30.708 3278
+-123.842 30.708 3261
+-123.716 30.708 3289
+-123.59 30.708 3290
+-123.464 30.708 3296
+-123.338 30.708 3355
+-123.212 30.708 3420
+-123.086 30.708 3453
+-122.96 30.708 3495
+-122.834 30.708 3605
+-122.708 30.708 3666
+-122.582 30.708 3707
+-122.456 30.708 3753
+-122.33 30.708 3783
+-122.204 30.708 3801
+-122.078 30.708 3792
+-121.952 30.708 3887
+-121.826 30.708 3855
+-121.7 30.708 4079
+-121.574 30.708 4204
+-121.448 30.708 4315
+-121.322 30.708 4524
+-121.196 30.708 4653
+-121.07 30.708 4652
+-120.944 30.708 4791
+-120.818 30.708 4961
+-120.692 30.708 5103
+-120.566 30.708 5203
+-120.44 30.708 5302
+-120.314 30.708 5325
+-120.188 30.708 5469
+-120.062 30.708 5587
+-119.936 30.708 5714
+-119.81 30.708 5879
+-119.684 30.708 6017
+-119.558 30.708 6104
+-119.432 30.708 6161
+-119.306 30.708 6247
+-119.18 30.708 6384
+-119.054 30.708 6484
+-118.928 30.708 6615
+-118.802 30.708 6706
+-118.676 30.708 6753
+-118.55 30.708 6850
+-118.424 30.708 6889
+-118.298 30.708 6987
+-118.172 30.708 7058
+-118.046 30.708 7127
+-117.92 30.708 7153
+-117.794 30.708 7220
+-117.668 30.708 7299
+-117.542 30.708 7311
+-117.416 30.708 7318
+-117.29 30.708 7338
+-117.164 30.708 7341
+-117.038 30.708 7351
+-116.912 30.708 7371
+-116.786 30.708 7355
+-116.66 30.708 7356
+-116.534 30.708 7300
+-116.408 30.708 7256
+-116.282 30.708 7241
+-116.156 30.708 7157
+-116.03 30.708 7128
+-115.904 30.708 7066
+-115.778 30.708 6972
+-115.652 30.708 6867
+-115.526 30.708 6832
+-115.4 30.708 6784
+-115.274 30.708 6697
+-115.148 30.708 6581
+-115.022 30.708 6483
+-114.896 30.708 6395
+-114.77 30.708 6300
+-114.644 30.708 6195
+-114.518 30.708 6129
+-114.392 30.708 5956
+-114.266 30.708 5837
+-114.14 30.708 5764
+-114.014 30.708 5640
+-113.888 30.708 5628
+-113.762 30.708 5726
+-113.636 30.708 5861
+-113.51 30.708 5991
+-113.384 30.708 6070
+-113.258 30.708 6153
+-113.132 30.708 6313
+-113.006 30.708 6498
+-112.88 30.708 6593
+-112.754 30.708 6724
+-112.628 30.708 6872
+-112.502 30.708 7009
+-112.376 30.708 7166
+-112.25 30.708 7233
+-112.124 30.708 7397
+-111.998 30.708 7480
+-111.872 30.708 7614
+-111.746 30.708 7704
+-111.62 30.708 7838
+-111.494 30.708 7926
+-111.368 30.708 8043
+-111.242 30.708 8117
+-111.116 30.708 8219
+-110.99 30.708 8273
+-110.864 30.708 8410
+-110.738 30.708 8416
+-110.612 30.708 8454
+-110.486 30.708 8484
+-110.36 30.708 8486
+-110.234 30.708 8491
+-110.108 30.708 8419
+-109.982 30.708 8400
+-109.856 30.708 8335
+-109.73 30.708 8264
+-109.604 30.708 8168
+-109.478 30.708 8061
+-109.352 30.708 7986
+-109.226 30.708 7875
+-109.1 30.708 7755
+-108.974 30.708 7621
+-108.848 30.708 7528
+-108.722 30.708 7381
+-108.596 30.708 7302
+-108.47 30.708 7168
+-108.344 30.708 7047
+-108.218 30.708 6864
+-108.092 30.708 6799
+-107.966 30.708 6635
+-107.84 30.708 6534
+-107.714 30.708 6415
+-107.588 30.708 6273
+-107.462 30.708 6180
+-107.336 30.708 6005
+-107.21 30.708 5889
+-107.084 30.708 5738
+-106.958 30.708 5651
+-106.832 30.708 5540
+-106.706 30.708 5448
+-106.58 30.708 5281
+-106.454 30.708 5101
+-106.328 30.708 4909
+-106.202 30.708 4797
+-106.076 30.708 4757
+-105.95 30.708 4712
+-105.824 30.708 4579
+-105.698 30.708 4340
+-105.572 30.708 4158
+-105.446 30.708 4236
+-105.32 30.708 4248
+-105.194 30.708 4170
+-105.068 30.708 3919
+-104.942 30.708 3686
+-104.816 30.708 3383
+-104.69 30.708 3174
+-104.564 30.708 3084
+-104.438 30.708 3086
+-104.312 30.708 3076
+-104.186 30.708 3072
+-104.06 30.708 3039
+-103.934 30.708 2998
+-103.808 30.708 2972
+-103.682 30.708 2947
+-103.556 30.708 2932
+-103.43 30.708 2945
+-103.304 30.708 2960
+-103.178 30.708 2975
+-103.052 30.708 2976
+-102.926 30.708 2987
+-102.8 30.708 2992
+-102.674 30.708 3004
+-102.548 30.708 3016
+-102.422 30.708 3028
+-102.296 30.708 3040
+-102.17 30.708 2990
+-102.044 30.708 3002
+-101.918 30.708 2984
+-101.792 30.708 2968
+-101.666 30.708 2979
+-101.54 30.708 2989
+-101.414 30.708 2989
+-101.288 30.708 2999
+-101.162 30.708 3008
+-101.036 30.708 3017
+-100.91 30.708 3025
+-100.784 30.708 3033
+-100.658 30.708 3041
+-100.532 30.708 3049
+-100.406 30.708 3056
+-100.28 30.708 2811
+-100.154 30.708 2761
+-100.028 30.708 2755
+-99.902 30.708 2747
+-99.776 30.708 2739
+-99.65 30.708 2728
+-99.524 30.708 2682
+-99.398 30.708 2631
+-99.272 30.708 2597
+-99.146 30.708 2578
+-99.02 30.708 2557
+-98.894 30.708 2534
+-98.768 30.708 2405
+-98.642 30.708 2364
+-98.516 30.708 2291
+-98.39 30.708 2263
+-98.264 30.708 2233
+-98.138 30.708 2196
+-98.012 30.708 2172
+-97.886 30.708 2136
+-97.76 30.708 2141
+-97.634 30.708 2168
+-97.508 30.708 2162
+-97.382 30.708 2129
+-97.256 30.708 2123
+-97.13 30.708 2157
+-97.004 30.708 2178
+-96.878 30.708 2135
+-96.752 30.708 2145
+-96.626 30.708 2187
+-96.5 30.708 2159
+-96.374 30.708 2128
+-96.248 30.708 2093
+-96.122 30.708 2092
+-95.996 30.708 2008
+-95.87 30.708 1989
+-95.744 30.708 1974
+-95.618 30.708 1930
+-95.492 30.708 1927
+-95.366 30.708 1930
+-95.24 30.708 1930
+-95.114 30.708 1946
+-94.988 30.708 1967
+-94.862 30.708 1990
+-94.736 30.708 2057
+-94.61 30.708 2098
+-94.484 30.708 2140
+-94.358 30.708 2184
+-94.232 30.708 2219
+-94.106 30.708 2261
+-93.98 30.708 2309
+-93.854 30.708 2301
+-93.728 30.708 2338
+-93.602 30.708 2378
+-93.476 30.708 2415
+-93.35 30.708 2448
+-93.224 30.708 2441
+-93.098 30.708 2463
+-92.972 30.708 2486
+-92.846 30.708 2468
+-92.72 30.708 2437
+-92.594 30.708 2471
+-92.468 30.708 2482
+-92.342 30.708 2478
+-92.216 30.708 2485
+-92.09 30.708 2489
+-91.964 30.708 2492
+-91.838 30.708 2493
+-91.712 30.708 2480
+-91.586 30.708 2474
+-91.46 30.708 2473
+-91.334 30.708 2534
+-91.208 30.708 2526
+-91.082 30.708 2517
+-90.956 30.708 2509
+-90.83 30.708 2497
+-90.704 30.708 2496
+-90.578 30.708 2467
+-90.452 30.708 2463
+-90.326 30.708 2437
+-90.2 30.708 2424
+-90.074 30.708 2413
+-89.948 30.708 2400
+-89.822 30.708 2399
+-89.696 30.708 2418
+-89.57 30.708 2440
+-89.444 30.708 2461
+-89.318 30.708 2472
+-89.192 30.708 2479
+-89.066 30.708 2468
+-88.94 30.708 2457
+-88.814 30.708 2482
+-88.688 30.708 2523
+-88.562 30.708 2608
+-88.436 30.708 2691
+-88.31 30.708 2798
+-88.184 30.708 2873
+-88.058 30.708 2937
+-87.932 30.708 2950
+-87.806 30.708 2911
+-87.68 30.708 2827
+-87.554 30.708 2987
+-87.428 30.708 3131
+-87.302 30.708 3227
+-87.176 30.708 3446
+-87.05 30.708 3642
+-86.924 30.708 3856
+-86.798 30.708 3986
+-86.672 30.708 4106
+-86.546 30.708 4164
+-86.42 30.708 4232
+-86.294 30.708 4198
+-86.168 30.708 4317
+-86.042 30.708 4494
+-85.916 30.708 4618
+-85.79 30.708 4748
+-85.664 30.708 4846
+-85.538 30.708 4906
+-85.412 30.708 5020
+-85.286 30.708 5180
+-85.16 30.708 5249
+-85.034 30.708 5306
+-84.908 30.708 5422
+-84.782 30.708 5434
+-84.656 30.708 5559
+-84.53 30.708 5661
+-84.404 30.708 5732
+-84.278 30.708 5806
+-84.152 30.708 5928
+-84.026 30.708 6006
+-83.9 30.708 6081
+-83.774 30.708 6140
+-83.648 30.708 6177
+-83.522 30.708 6252
+-83.396 30.708 6300
+-83.27 30.708 6400
+-83.144 30.708 6420
+-83.018 30.708 6442
+-82.892 30.708 6495
+-82.766 30.708 6548
+-82.64 30.708 6544
+-82.514 30.708 6572
+-82.388 30.708 6580
+-82.262 30.708 6597
+-82.136 30.708 6620
+-82.01 30.708 6591
+-81.884 30.708 6575
+-81.758 30.708 6554
+-81.632 30.708 6521
+-81.506 30.708 6513
+-81.38 30.708 6437
+-81.254 30.708 6396
+-81.128 30.708 6354
+-81.002 30.708 6291
+-80.876 30.708 6278
+-80.75 30.708 6217
+-80.624 30.708 6180
+-80.498 30.708 6110
+-80.372 30.708 6040
+-80.246 30.708 5918
+-80.12 30.708 5802
+-79.994 30.708 5780
+-79.868 30.708 5670
+-79.742 30.708 5584
+-79.616 30.708 5488
+-79.49 30.708 5405
+-79.364 30.708 5342
+-79.238 30.708 5319
+-79.112 30.708 5225
+-78.986 30.708 5120
+-78.86 30.708 5093
+-78.734 30.708 5085
+-78.608 30.708 4977
+-78.482 30.708 4797
+-78.356 30.708 4684
+-78.23 30.708 4573
+-78.104 30.708 4470
+-77.978 30.708 4293
+-77.852 30.708 4111
+-77.726 30.708 3898
+-77.6 30.708 3728
+-77.474 30.708 3671
+-77.348 30.708 3696
+-77.222 30.708 3708
+-77.096 30.708 3672
+-76.97 30.708 3596
+-76.844 30.708 3516
+-76.718 30.708 3421
+-76.592 30.708 3325
+-76.466 30.708 3227
+-76.34 30.708 3144
+-76.214 30.708 3090
+-76.088 30.708 3058
+-75.962 30.708 3084
+-75.836 30.708 3090
+-75.71 30.708 3100
+-75.584 30.708 3139
+-75.458 30.708 3171
+-75.332 30.708 3174
+-75.206 30.708 3167
+-75.08 30.708 3188
+-74.954 30.708 3196
+-74.828 30.708 3193
+-74.702 30.708 3211
+-74.576 30.708 3227
+-74.45 30.708 3242
+-74.324 30.708 3255
+-74.198 30.708 3267
+-74.072 30.708 3278
+-73.946 30.708 3288
+-73.82 30.708 3272
+-73.694 30.708 3280
+-73.568 30.708 3288
+-73.442 30.708 3270
+-73.316 30.708 3242
+-73.19 30.708 3231
+-73.064 30.708 3236
+-72.938 30.708 3241
+-72.812 30.708 3245
+-72.686 30.708 3249
+-72.56 30.708 3253
+-72.434 30.708 3256
+-72.308 30.708 3178
+-72.182 30.708 3169
+-72.056 30.708 3173
+-71.93 30.708 3177
+-71.804 30.708 3180
+-71.678 30.708 3183
+-71.552 30.708 3186
+-71.426 30.708 3189
+-71.3 30.708 3192
+-71.174 30.708 3195
+-71.048 30.708 3197
+-70.922 30.708 3199
+-70.796 30.708 3202
+-70.67 30.708 3204
+-70.544 30.708 3206
+-70.418 30.708 3208
+-70.292 30.708 3194
+-70.166 30.708 3196
+-70.04 30.708 3198
+-69.914 30.708 3201
+-69.788 30.708 3203
+-69.662 30.708 3162
+-69.536 30.708 3163
+-69.41 30.708 3165
+-69.284 30.708 3166
+-69.158 30.708 3167
+-69.032 30.708 3168
+-68.906 30.708 3160
+-68.78 30.708 3161
+-68.654 30.708 3138
+-68.528 30.708 3123
+-68.402 30.708 3124
+-68.276 30.708 3125
+-68.15 30.708 3126
+-68.024 30.708 3127
+-67.898 30.708 3128
+-67.772 30.708 3128
+-67.646 30.708 3129
+-67.52 30.708 3130
+-67.394 30.708 3131
+-67.268 30.708 3131
+-67.142 30.708 3038
+-67.016 30.708 3039
+-66.89 30.708 3040
+-66.764 30.708 3040
+-66.638 30.708 3041
+-66.512 30.708 3042
+-66.386 30.708 3042
+-66.26 30.708 3043
+-66.134 30.708 3044
+-66.008 30.708 3044
+-65.882 30.708 3045
+-65.756 30.708 3046
+-65.63 30.708 3046
+-65.504 30.708 3047
+-65.378 30.708 3047
+-65.252 30.708 3048
+-65.126 30.708 3048
+-128 30.656 2556
+-127.874 30.656 2553
+-127.748 30.656 2550
+-127.622 30.656 2548
+-127.496 30.656 2545
+-127.37 30.656 2543
+-127.244 30.656 2541
+-127.118 30.656 2540
+-126.992 30.656 2565
+-126.866 30.656 2565
+-126.74 30.656 2633
+-126.614 30.656 2635
+-126.488 30.656 2638
+-126.362 30.656 2641
+-126.236 30.656 2646
+-126.11 30.656 2652
+-125.984 30.656 2659
+-125.858 30.656 2667
+-125.732 30.656 2706
+-125.606 30.656 2782
+-125.48 30.656 2793
+-125.354 30.656 2806
+-125.228 30.656 2819
+-125.102 30.656 2833
+-124.976 30.656 2848
+-124.85 30.656 2882
+-124.724 30.656 2899
+-124.598 30.656 2917
+-124.472 30.656 2980
+-124.346 30.656 3230
+-124.22 30.656 3292
+-124.094 30.656 3287
+-123.968 30.656 3284
+-123.842 30.656 3314
+-123.716 30.656 3341
+-123.59 30.656 3342
+-123.464 30.656 3348
+-123.338 30.656 3359
+-123.212 30.656 3399
+-123.086 30.656 3470
+-122.96 30.656 3562
+-122.834 30.656 3601
+-122.708 30.656 3632
+-122.582 30.656 3684
+-122.456 30.656 3719
+-122.33 30.656 3754
+-122.204 30.656 3795
+-122.078 30.656 3860
+-121.952 30.656 3939
+-121.826 30.656 3964
+-121.7 30.656 4091
+-121.574 30.656 4217
+-121.448 30.656 4344
+-121.322 30.656 4501
+-121.196 30.656 4642
+-121.07 30.656 4696
+-120.944 30.656 4775
+-120.818 30.656 4922
+-120.692 30.656 5089
+-120.566 30.656 5088
+-120.44 30.656 5279
+-120.314 30.656 5336
+-120.188 30.656 5461
+-120.062 30.656 5566
+-119.936 30.656 5692
+-119.81 30.656 5813
+-119.684 30.656 5961
+-119.558 30.656 5976
+-119.432 30.656 6131
+-119.306 30.656 6214
+-119.18 30.656 6306
+-119.054 30.656 6440
+-118.928 30.656 6548
+-118.802 30.656 6616
+-118.676 30.656 6689
+-118.55 30.656 6778
+-118.424 30.656 6861
+-118.298 30.656 6937
+-118.172 30.656 7001
+-118.046 30.656 7066
+-117.92 30.656 7127
+-117.794 30.656 7140
+-117.668 30.656 7210
+-117.542 30.656 7253
+-117.416 30.656 7275
+-117.29 30.656 7290
+-117.164 30.656 7305
+-117.038 30.656 7289
+-116.912 30.656 7295
+-116.786 30.656 7288
+-116.66 30.656 7308
+-116.534 30.656 7263
+-116.408 30.656 7261
+-116.282 30.656 7174
+-116.156 30.656 7129
+-116.03 30.656 7072
+-115.904 30.656 6994
+-115.778 30.656 6939
+-115.652 30.656 6838
+-115.526 30.656 6766
+-115.4 30.656 6714
+-115.274 30.656 6657
+-115.148 30.656 6536
+-115.022 30.656 6414
+-114.896 30.656 6357
+-114.77 30.656 6313
+-114.644 30.656 6165
+-114.518 30.656 6064
+-114.392 30.656 5937
+-114.266 30.656 5822
+-114.14 30.656 5674
+-114.014 30.656 5438
+-113.888 30.656 5576
+-113.762 30.656 5706
+-113.636 30.656 5864
+-113.51 30.656 5957
+-113.384 30.656 6035
+-113.258 30.656 6187
+-113.132 30.656 6359
+-113.006 30.656 6445
+-112.88 30.656 6577
+-112.754 30.656 6721
+-112.628 30.656 6868
+-112.502 30.656 6988
+-112.376 30.656 7088
+-112.25 30.656 7186
+-112.124 30.656 7354
+-111.998 30.656 7452
+-111.872 30.656 7607
+-111.746 30.656 7661
+-111.62 30.656 7771
+-111.494 30.656 7896
+-111.368 30.656 8012
+-111.242 30.656 8055
+-111.116 30.656 8130
+-110.99 30.656 8219
+-110.864 30.656 8310
+-110.738 30.656 8388
+-110.612 30.656 8407
+-110.486 30.656 8444
+-110.36 30.656 8427
+-110.234 30.656 8413
+-110.108 30.656 8381
+-109.982 30.656 8321
+-109.856 30.656 8279
+-109.73 30.656 8201
+-109.604 30.656 8111
+-109.478 30.656 8009
+-109.352 30.656 7932
+-109.226 30.656 7827
+-109.1 30.656 7697
+-108.974 30.656 7625
+-108.848 30.656 7564
+-108.722 30.656 7401
+-108.596 30.656 7313
+-108.47 30.656 7191
+-108.344 30.656 7037
+-108.218 30.656 6925
+-108.092 30.656 6768
+-107.966 30.656 6671
+-107.84 30.656 6508
+-107.714 30.656 6354
+-107.588 30.656 6283
+-107.462 30.656 6188
+-107.336 30.656 5978
+-107.21 30.656 5810
+-107.084 30.656 5733
+-106.958 30.656 5570
+-106.832 30.656 5510
+-106.706 30.656 5433
+-106.58 30.656 5238
+-106.454 30.656 5085
+-106.328 30.656 4931
+-106.202 30.656 4793
+-106.076 30.656 4632
+-105.95 30.656 4703
+-105.824 30.656 4629
+-105.698 30.656 4461
+-105.572 30.656 4302
+-105.446 30.656 4291
+-105.32 30.656 4281
+-105.194 30.656 4143
+-105.068 30.656 3978
+-104.942 30.656 3718
+-104.816 30.656 3477
+-104.69 30.656 3240
+-104.564 30.656 3146
+-104.438 30.656 3127
+-104.312 30.656 3087
+-104.186 30.656 3035
+-104.06 30.656 2955
+-103.934 30.656 2887
+-103.808 30.656 2855
+-103.682 30.656 2847
+-103.556 30.656 2876
+-103.43 30.656 2907
+-103.304 30.656 2933
+-103.178 30.656 2955
+-103.052 30.656 2972
+-102.926 30.656 2973
+-102.8 30.656 2985
+-102.674 30.656 2989
+-102.548 30.656 3002
+-102.422 30.656 3014
+-102.296 30.656 3027
+-102.17 30.656 3039
+-102.044 30.656 2959
+-101.918 30.656 2971
+-101.792 30.656 2982
+-101.666 30.656 2967
+-101.54 30.656 2978
+-101.414 30.656 2988
+-101.288 30.656 2999
+-101.162 30.656 2999
+-101.036 30.656 3008
+-100.91 30.656 3017
+-100.784 30.656 3026
+-100.658 30.656 3034
+-100.532 30.656 3042
+-100.406 30.656 3050
+-100.28 30.656 2796
+-100.154 30.656 2758
+-100.028 30.656 2752
+-99.902 30.656 2745
+-99.776 30.656 2737
+-99.65 30.656 2727
+-99.524 30.656 2670
+-99.398 30.656 2615
+-99.272 30.656 2598
+-99.146 30.656 2580
+-99.02 30.656 2560
+-98.894 30.656 2539
+-98.768 30.656 2515
+-98.642 30.656 2370
+-98.516 30.656 2345
+-98.39 30.656 2272
+-98.264 30.656 2243
+-98.138 30.656 2218
+-98.012 30.656 2184
+-97.886 30.656 2158
+-97.76 30.656 2166
+-97.634 30.656 2160
+-97.508 30.656 2150
+-97.382 30.656 2166
+-97.256 30.656 2110
+-97.13 30.656 2087
+-97.004 30.656 2143
+-96.878 30.656 2205
+-96.752 30.656 2183
+-96.626 30.656 2233
+-96.5 30.656 2205
+-96.374 30.656 2172
+-96.248 30.656 2176
+-96.122 30.656 2088
+-95.996 30.656 2070
+-95.87 30.656 2055
+-95.744 30.656 2008
+-95.618 30.656 2002
+-95.492 30.656 2001
+-95.366 30.656 1994
+-95.24 30.656 2004
+-95.114 30.656 2017
+-94.988 30.656 2031
+-94.862 30.656 2091
+-94.736 30.656 2124
+-94.61 30.656 2157
+-94.484 30.656 2193
+-94.358 30.656 2221
+-94.232 30.656 2257
+-94.106 30.656 2300
+-93.98 30.656 2287
+-93.854 30.656 2322
+-93.728 30.656 2361
+-93.602 30.656 2397
+-93.476 30.656 2430
+-93.35 30.656 2423
+-93.224 30.656 2446
+-93.098 30.656 2471
+-92.972 30.656 2454
+-92.846 30.656 2423
+-92.72 30.656 2461
+-92.594 30.656 2474
+-92.468 30.656 2473
+-92.342 30.656 2481
+-92.216 30.656 2488
+-92.09 30.656 2493
+-91.964 30.656 2496
+-91.838 30.656 2483
+-91.712 30.656 2479
+-91.586 30.656 2479
+-91.46 30.656 2479
+-91.334 30.656 2543
+-91.208 30.656 2534
+-91.082 30.656 2528
+-90.956 30.656 2517
+-90.83 30.656 2521
+-90.704 30.656 2498
+-90.578 30.656 2501
+-90.452 30.656 2489
+-90.326 30.656 2474
+-90.2 30.656 2466
+-90.074 30.656 2454
+-89.948 30.656 2459
+-89.822 30.656 2460
+-89.696 30.656 2476
+-89.57 30.656 2494
+-89.444 30.656 2509
+-89.318 30.656 2518
+-89.192 30.656 2533
+-89.066 30.656 2533
+-88.94 30.656 2536
+-88.814 30.656 2569
+-88.688 30.656 2608
+-88.562 30.656 2673
+-88.436 30.656 2734
+-88.31 30.656 2816
+-88.184 30.656 2883
+-88.058 30.656 2946
+-87.932 30.656 3008
+-87.806 30.656 2968
+-87.68 30.656 2938
+-87.554 30.656 3048
+-87.428 30.656 3190
+-87.302 30.656 3349
+-87.176 30.656 3530
+-87.05 30.656 3710
+-86.924 30.656 3893
+-86.798 30.656 4029
+-86.672 30.656 4120
+-86.546 30.656 4157
+-86.42 30.656 4207
+-86.294 30.656 4256
+-86.168 30.656 4375
+-86.042 30.656 4502
+-85.916 30.656 4629
+-85.79 30.656 4726
+-85.664 30.656 4853
+-85.538 30.656 4918
+-85.412 30.656 5062
+-85.286 30.656 5211
+-85.16 30.656 5320
+-85.034 30.656 5408
+-84.908 30.656 5486
+-84.782 30.656 5498
+-84.656 30.656 5618
+-84.53 30.656 5730
+-84.404 30.656 5750
+-84.278 30.656 5831
+-84.152 30.656 5964
+-84.026 30.656 6096
+-83.9 30.656 6112
+-83.774 30.656 6184
+-83.648 30.656 6249
+-83.522 30.656 6313
+-83.396 30.656 6389
+-83.27 30.656 6465
+-83.144 30.656 6490
+-83.018 30.656 6509
+-82.892 30.656 6564
+-82.766 30.656 6587
+-82.64 30.656 6624
+-82.514 30.656 6659
+-82.388 30.656 6678
+-82.262 30.656 6672
+-82.136 30.656 6640
+-82.01 30.656 6636
+-81.884 30.656 6599
+-81.758 30.656 6605
+-81.632 30.656 6625
+-81.506 30.656 6555
+-81.38 30.656 6495
+-81.254 30.656 6431
+-81.128 30.656 6413
+-81.002 30.656 6339
+-80.876 30.656 6356
+-80.75 30.656 6242
+-80.624 30.656 6225
+-80.498 30.656 6152
+-80.372 30.656 6087
+-80.246 30.656 5980
+-80.12 30.656 5913
+-79.994 30.656 5839
+-79.868 30.656 5714
+-79.742 30.656 5642
+-79.616 30.656 5521
+-79.49 30.656 5422
+-79.364 30.656 5388
+-79.238 30.656 5354
+-79.112 30.656 5305
+-78.986 30.656 5243
+-78.86 30.656 5160
+-78.734 30.656 5122
+-78.608 30.656 5023
+-78.482 30.656 4856
+-78.356 30.656 4716
+-78.23 30.656 4610
+-78.104 30.656 4455
+-77.978 30.656 4286
+-77.852 30.656 4137
+-77.726 30.656 3922
+-77.6 30.656 3746
+-77.474 30.656 3671
+-77.348 30.656 3706
+-77.222 30.656 3732
+-77.096 30.656 3707
+-76.97 30.656 3671
+-76.844 30.656 3588
+-76.718 30.656 3512
+-76.592 30.656 3415
+-76.466 30.656 3338
+-76.34 30.656 3273
+-76.214 30.656 3224
+-76.088 30.656 3199
+-75.962 30.656 3199
+-75.836 30.656 3215
+-75.71 30.656 3206
+-75.584 30.656 3252
+-75.458 30.656 3188
+-75.332 30.656 3187
+-75.206 30.656 3196
+-75.08 30.656 3203
+-74.954 30.656 3198
+-74.828 30.656 3216
+-74.702 30.656 3232
+-74.576 30.656 3246
+-74.45 30.656 3259
+-74.324 30.656 3271
+-74.198 30.656 3282
+-74.072 30.656 3292
+-73.946 30.656 3275
+-73.82 30.656 3284
+-73.694 30.656 3291
+-73.568 30.656 3273
+-73.442 30.656 3245
+-73.316 30.656 3235
+-73.19 30.656 3239
+-73.064 30.656 3244
+-72.938 30.656 3248
+-72.812 30.656 3252
+-72.686 30.656 3256
+-72.56 30.656 3259
+-72.434 30.656 3181
+-72.308 30.656 3172
+-72.182 30.656 3176
+-72.056 30.656 3179
+-71.93 30.656 3183
+-71.804 30.656 3186
+-71.678 30.656 3189
+-71.552 30.656 3192
+-71.426 30.656 3194
+-71.3 30.656 3197
+-71.174 30.656 3199
+-71.048 30.656 3202
+-70.922 30.656 3204
+-70.796 30.656 3206
+-70.67 30.656 3208
+-70.544 30.656 3210
+-70.418 30.656 3196
+-70.292 30.656 3198
+-70.166 30.656 3200
+-70.04 30.656 3202
+-69.914 30.656 3204
+-69.788 30.656 3164
+-69.662 30.656 3165
+-69.536 30.656 3166
+-69.41 30.656 3168
+-69.284 30.656 3169
+-69.158 30.656 3170
+-69.032 30.656 3161
+-68.906 30.656 3162
+-68.78 30.656 3139
+-68.654 30.656 3124
+-68.528 30.656 3125
+-68.402 30.656 3126
+-68.276 30.656 3127
+-68.15 30.656 3128
+-68.024 30.656 3128
+-67.898 30.656 3129
+-67.772 30.656 3130
+-67.646 30.656 3131
+-67.52 30.656 3131
+-67.394 30.656 3132
+-67.268 30.656 3039
+-67.142 30.656 3039
+-67.016 30.656 3040
+-66.89 30.656 3041
+-66.764 30.656 3042
+-66.638 30.656 3042
+-66.512 30.656 3043
+-66.386 30.656 3044
+-66.26 30.656 3044
+-66.134 30.656 3045
+-66.008 30.656 3045
+-65.882 30.656 3046
+-65.756 30.656 3047
+-65.63 30.656 3047
+-65.504 30.656 3048
+-65.378 30.656 3048
+-65.252 30.656 3049
+-65.126 30.656 3049
+-128 30.604 2537
+-127.874 30.604 2533
+-127.748 30.604 2529
+-127.622 30.604 2525
+-127.496 30.604 2522
+-127.37 30.604 2518
+-127.244 30.604 2542
+-127.118 30.604 2539
+-126.992 30.604 2537
+-126.866 30.604 2580
+-126.74 30.604 2580
+-126.614 30.604 2581
+-126.488 30.604 2583
+-126.362 30.604 2586
+-126.236 30.604 2590
+-126.11 30.604 2595
+-125.984 30.604 2602
+-125.858 30.604 2661
+-125.732 30.604 2733
+-125.606 30.604 2743
+-125.48 30.604 2755
+-125.354 30.604 2767
+-125.228 30.604 2782
+-125.102 30.604 2797
+-124.976 30.604 2835
+-124.85 30.604 2854
+-124.724 30.604 2873
+-124.598 30.604 2893
+-124.472 30.604 2923
+-124.346 30.604 2954
+-124.22 30.604 3059
+-124.094 30.604 3299
+-123.968 30.604 3306
+-123.842 30.604 3357
+-123.716 30.604 3356
+-123.59 30.604 3358
+-123.464 30.604 3363
+-123.338 30.604 3371
+-123.212 30.604 3441
+-123.086 30.604 3491
+-122.96 30.604 3514
+-122.834 30.604 3570
+-122.708 30.604 3606
+-122.582 30.604 3630
+-122.456 30.604 3662
+-122.33 30.604 3704
+-122.204 30.604 3772
+-122.078 30.604 3828
+-121.952 30.604 3928
+-121.826 30.604 4023
+-121.7 30.604 4112
+-121.574 30.604 4237
+-121.448 30.604 4380
+-121.322 30.604 4498
+-121.196 30.604 4625
+-121.07 30.604 4694
+-120.944 30.604 4679
+-120.818 30.604 4834
+-120.692 30.604 5075
+-120.566 30.604 5172
+-120.44 30.604 5270
+-120.314 30.604 5329
+-120.188 30.604 5445
+-120.062 30.604 5571
+-119.936 30.604 5650
+-119.81 30.604 5747
+-119.684 30.604 5899
+-119.558 30.604 6017
+-119.432 30.604 6112
+-119.306 30.604 6229
+-119.18 30.604 6279
+-119.054 30.604 6389
+-118.928 30.604 6477
+-118.802 30.604 6549
+-118.676 30.604 6667
+-118.55 30.604 6713
+-118.424 30.604 6818
+-118.298 30.604 6859
+-118.172 30.604 6957
+-118.046 30.604 6996
+-117.92 30.604 7063
+-117.794 30.604 7108
+-117.668 30.604 7127
+-117.542 30.604 7184
+-117.416 30.604 7197
+-117.29 30.604 7209
+-117.164 30.604 7262
+-117.038 30.604 7252
+-116.912 30.604 7250
+-116.786 30.604 7240
+-116.66 30.604 7224
+-116.534 30.604 7190
+-116.408 30.604 7171
+-116.282 30.604 7116
+-116.156 30.604 7074
+-116.03 30.604 7013
+-115.904 30.604 6979
+-115.778 30.604 6877
+-115.652 30.604 6854
+-115.526 30.604 6752
+-115.4 30.604 6678
+-115.274 30.604 6598
+-115.148 30.604 6493
+-115.022 30.604 6430
+-114.896 30.604 6317
+-114.77 30.604 6215
+-114.644 30.604 6101
+-114.518 30.604 6006
+-114.392 30.604 5928
+-114.266 30.604 5772
+-114.14 30.604 5654
+-114.014 30.604 5557
+-113.888 30.604 5538
+-113.762 30.604 5697
+-113.636 30.604 5803
+-113.51 30.604 5950
+-113.384 30.604 6025
+-113.258 30.604 6217
+-113.132 30.604 6324
+-113.006 30.604 6402
+-112.88 30.604 6593
+-112.754 30.604 6669
+-112.628 30.604 6827
+-112.502 30.604 6984
+-112.376 30.604 7100
+-112.25 30.604 7178
+-112.124 30.604 7336
+-111.998 30.604 7388
+-111.872 30.604 7529
+-111.746 30.604 7638
+-111.62 30.604 7802
+-111.494 30.604 7855
+-111.368 30.604 7954
+-111.242 30.604 8051
+-111.116 30.604 8126
+-110.99 30.604 8186
+-110.864 30.604 8249
+-110.738 30.604 8346
+-110.612 30.604 8376
+-110.486 30.604 8370
+-110.36 30.604 8394
+-110.234 30.604 8370
+-110.108 30.604 8305
+-109.982 30.604 8299
+-109.856 30.604 8208
+-109.73 30.604 8175
+-109.604 30.604 8048
+-109.478 30.604 7964
+-109.352 30.604 7853
+-109.226 30.604 7785
+-109.1 30.604 7710
+-108.974 30.604 7525
+-108.848 30.604 7461
+-108.722 30.604 7373
+-108.596 30.604 7233
+-108.47 30.604 7153
+-108.344 30.604 7062
+-108.218 30.604 6918
+-108.092 30.604 6741
+-107.966 30.604 6627
+-107.84 30.604 6507
+-107.714 30.604 6383
+-107.588 30.604 6258
+-107.462 30.604 6134
+-107.336 30.604 5986
+-107.21 30.604 5862
+-107.084 30.604 5703
+-106.958 30.604 5597
+-106.832 30.604 5529
+-106.706 30.604 5388
+-106.58 30.604 5181
+-106.454 30.604 5055
+-106.328 30.604 4943
+-106.202 30.604 4848
+-106.076 30.604 4766
+-105.95 30.604 4724
+-105.824 30.604 4643
+-105.698 30.604 4568
+-105.572 30.604 4448
+-105.446 30.604 4377
+-105.32 30.604 4329
+-105.194 30.604 4198
+-105.068 30.604 4035
+-104.942 30.604 3788
+-104.816 30.604 3557
+-104.69 30.604 3365
+-104.564 30.604 3224
+-104.438 30.604 3169
+-104.312 30.604 3098
+-104.186 30.604 2941
+-104.06 30.604 2784
+-103.934 30.604 2677
+-103.808 30.604 2669
+-103.682 30.604 2734
+-103.556 30.604 2804
+-103.43 30.604 2860
+-103.304 30.604 2900
+-103.178 30.604 2929
+-103.052 30.604 2951
+-102.926 30.604 2945
+-102.8 30.604 2960
+-102.674 30.604 2974
+-102.548 30.604 2984
+-102.422 30.604 2997
+-102.296 30.604 2975
+-102.17 30.604 2987
+-102.044 30.604 2944
+-101.918 30.604 2956
+-101.792 30.604 2968
+-101.666 30.604 2980
+-101.54 30.604 2966
+-101.414 30.604 2978
+-101.288 30.604 2989
+-101.162 30.604 2990
+-101.036 30.604 3000
+-100.91 30.604 3009
+-100.784 30.604 3019
+-100.658 30.604 3027
+-100.532 30.604 3036
+-100.406 30.604 3044
+-100.28 30.604 2792
+-100.154 30.604 2788
+-100.028 30.604 2749
+-99.902 30.604 2743
+-99.776 30.604 2735
+-99.65 30.604 2726
+-99.524 30.604 2671
+-99.398 30.604 2616
+-99.272 30.604 2600
+-99.146 30.604 2583
+-99.02 30.604 2564
+-98.894 30.604 2543
+-98.768 30.604 2521
+-98.642 30.604 2469
+-98.516 30.604 2352
+-98.39 30.604 2326
+-98.264 30.604 2253
+-98.138 30.604 2229
+-98.012 30.604 2194
+-97.886 30.604 2169
+-97.76 30.604 2216
+-97.634 30.604 2154
+-97.508 30.604 2184
+-97.382 30.604 2148
+-97.256 30.604 2169
+-97.13 30.604 2148
+-97.004 30.604 2209
+-96.878 30.604 2239
+-96.752 30.604 2217
+-96.626 30.604 2274
+-96.5 30.604 2243
+-96.374 30.604 2251
+-96.248 30.604 2160
+-96.122 30.604 2143
+-95.996 30.604 2128
+-95.87 30.604 2077
+-95.744 30.604 2070
+-95.618 30.604 2066
+-95.492 30.604 2055
+-95.366 30.604 2060
+-95.24 30.604 2068
+-95.114 30.604 2075
+-94.988 30.604 2130
+-94.862 30.604 2155
+-94.736 30.604 2181
+-94.61 30.604 2209
+-94.484 30.604 2229
+-94.358 30.604 2260
+-94.232 30.604 2298
+-94.106 30.604 2280
+-93.98 30.604 2311
+-93.854 30.604 2347
+-93.728 30.604 2382
+-93.602 30.604 2414
+-93.476 30.604 2406
+-93.35 30.604 2430
+-93.224 30.604 2456
+-93.098 30.604 2439
+-92.972 30.604 2397
+-92.846 30.604 2450
+-92.72 30.604 2465
+-92.594 30.604 2465
+-92.468 30.604 2476
+-92.342 30.604 2484
+-92.216 30.604 2491
+-92.09 30.604 2496
+-91.964 30.604 2484
+-91.838 30.604 2481
+-91.712 30.604 2483
+-91.586 30.604 2483
+-91.46 30.604 2483
+-91.334 30.604 2550
+-91.208 30.604 2544
+-91.082 30.604 2518
+-90.956 30.604 2543
+-90.83 30.604 2525
+-90.704 30.604 2532
+-90.578 30.604 2527
+-90.452 30.604 2517
+-90.326 30.604 2507
+-90.2 30.604 2497
+-90.074 30.604 2499
+-89.948 30.604 2502
+-89.822 30.604 2504
+-89.696 30.604 2519
+-89.57 30.604 2543
+-89.444 30.604 2553
+-89.318 30.604 2561
+-89.192 30.604 2567
+-89.066 30.604 2583
+-88.94 30.604 2589
+-88.814 30.604 2631
+-88.688 30.604 2663
+-88.562 30.604 2688
+-88.436 30.604 2731
+-88.31 30.604 2805
+-88.184 30.604 2891
+-88.058 30.604 2956
+-87.932 30.604 3029
+-87.806 30.604 3073
+-87.68 30.604 3091
+-87.554 30.604 3175
+-87.428 30.604 3296
+-87.302 30.604 3452
+-87.176 30.604 3606
+-87.05 30.604 3758
+-86.924 30.604 3938
+-86.798 30.604 4053
+-86.672 30.604 4131
+-86.546 30.604 4164
+-86.42 30.604 4092
+-86.294 30.604 4277
+-86.168 30.604 4413
+-86.042 30.604 4508
+-85.916 30.604 4623
+-85.79 30.604 4732
+-85.664 30.604 4841
+-85.538 30.604 4956
+-85.412 30.604 5074
+-85.286 30.604 5246
+-85.16 30.604 5368
+-85.034 30.604 5468
+-84.908 30.604 5543
+-84.782 30.604 5593
+-84.656 30.604 5682
+-84.53 30.604 5771
+-84.404 30.604 5784
+-84.278 30.604 5877
+-84.152 30.604 6006
+-84.026 30.604 6110
+-83.9 30.604 6184
+-83.774 30.604 6248
+-83.648 30.604 6329
+-83.522 30.604 6404
+-83.396 30.604 6462
+-83.27 30.604 6497
+-83.144 30.604 6554
+-83.018 30.604 6574
+-82.892 30.604 6615
+-82.766 30.604 6612
+-82.64 30.604 6641
+-82.514 30.604 6719
+-82.388 30.604 6733
+-82.262 30.604 6687
+-82.136 30.604 6684
+-82.01 30.604 6678
+-81.884 30.604 6676
+-81.758 30.604 6676
+-81.632 30.604 6672
+-81.506 30.604 6659
+-81.38 30.604 6608
+-81.254 30.604 6525
+-81.128 30.604 6444
+-81.002 30.604 6395
+-80.876 30.604 6321
+-80.75 30.604 6251
+-80.624 30.604 6222
+-80.498 30.604 6170
+-80.372 30.604 6124
+-80.246 30.604 6030
+-80.12 30.604 5968
+-79.994 30.604 5879
+-79.868 30.604 5768
+-79.742 30.604 5646
+-79.616 30.604 5587
+-79.49 30.604 5492
+-79.364 30.604 5428
+-79.238 30.604 5322
+-79.112 30.604 5333
+-78.986 30.604 5291
+-78.86 30.604 5239
+-78.734 30.604 5121
+-78.608 30.604 5041
+-78.482 30.604 4941
+-78.356 30.604 4723
+-78.23 30.604 4578
+-78.104 30.604 4450
+-77.978 30.604 4323
+-77.852 30.604 4206
+-77.726 30.604 4028
+-77.6 30.604 3832
+-77.474 30.604 3741
+-77.348 30.604 3755
+-77.222 30.604 3769
+-77.096 30.604 3749
+-76.97 30.604 3711
+-76.844 30.604 3645
+-76.718 30.604 3577
+-76.592 30.604 3477
+-76.466 30.604 3422
+-76.34 30.604 3349
+-76.214 30.604 3306
+-76.088 30.604 3284
+-75.962 30.604 3278
+-75.836 30.604 3285
+-75.71 30.604 3282
+-75.584 30.604 3280
+-75.458 30.604 3236
+-75.332 30.604 3242
+-75.206 30.604 3214
+-75.08 30.604 3208
+-74.954 30.604 3224
+-74.828 30.604 3239
+-74.702 30.604 3253
+-74.576 30.604 3265
+-74.45 30.604 3277
+-74.324 30.604 3288
+-74.198 30.604 3297
+-74.072 30.604 3280
+-73.946 30.604 3288
+-73.82 30.604 3296
+-73.694 30.604 3277
+-73.568 30.604 3249
+-73.442 30.604 3238
+-73.316 30.604 3243
+-73.19 30.604 3248
+-73.064 30.604 3252
+-72.938 30.604 3255
+-72.812 30.604 3259
+-72.686 30.604 3262
+-72.56 30.604 3184
+-72.434 30.604 3175
+-72.308 30.604 3179
+-72.182 30.604 3182
+-72.056 30.604 3185
+-71.93 30.604 3189
+-71.804 30.604 3192
+-71.678 30.604 3194
+-71.552 30.604 3197
+-71.426 30.604 3199
+-71.3 30.604 3202
+-71.174 30.604 3204
+-71.048 30.604 3206
+-70.922 30.604 3208
+-70.796 30.604 3210
+-70.67 30.604 3212
+-70.544 30.604 3198
+-70.418 30.604 3200
+-70.292 30.604 3202
+-70.166 30.604 3204
+-70.04 30.604 3206
+-69.914 30.604 3166
+-69.788 30.604 3167
+-69.662 30.604 3168
+-69.536 30.604 3169
+-69.41 30.604 3171
+-69.284 30.604 3172
+-69.158 30.604 3162
+-69.032 30.604 3163
+-68.906 30.604 3140
+-68.78 30.604 3125
+-68.654 30.604 3126
+-68.528 30.604 3127
+-68.402 30.604 3127
+-68.276 30.604 3128
+-68.15 30.604 3129
+-68.024 30.604 3130
+-67.898 30.604 3131
+-67.772 30.604 3131
+-67.646 30.604 3132
+-67.52 30.604 3133
+-67.394 30.604 3039
+-67.268 30.604 3040
+-67.142 30.604 3041
+-67.016 30.604 3041
+-66.89 30.604 3042
+-66.764 30.604 3043
+-66.638 30.604 3043
+-66.512 30.604 3044
+-66.386 30.604 3045
+-66.26 30.604 3045
+-66.134 30.604 3046
+-66.008 30.604 3046
+-65.882 30.604 3047
+-65.756 30.604 3048
+-65.63 30.604 3048
+-65.504 30.604 3049
+-65.378 30.604 3049
+-65.252 30.604 3050
+-65.126 30.604 3050
+-128 30.552 2517
+-127.874 30.552 2512
+-127.748 30.552 2507
+-127.622 30.552 2502
+-127.496 30.552 2497
+-127.37 30.552 2519
+-127.244 30.552 2514
+-127.118 30.552 2510
+-126.992 30.552 2552
+-126.866 30.552 2550
+-126.74 30.552 2548
+-126.614 30.552 2548
+-126.488 30.552 2549
+-126.362 30.552 2550
+-126.236 30.552 2553
+-126.11 30.552 2557
+-125.984 30.552 2613
+-125.858 30.552 2682
+-125.732 30.552 2690
+-125.606 30.552 2700
+-125.48 30.552 2711
+-125.354 30.552 2698
+-125.228 30.552 2713
+-125.102 30.552 2730
+-124.976 30.552 2800
+-124.85 30.552 2821
+-124.724 30.552 2843
+-124.598 30.552 2876
+-124.472 30.552 2910
+-124.346 30.552 3019
+-124.22 30.552 3044
+-124.094 30.552 3095
+-123.968 30.552 3151
+-123.842 30.552 3365
+-123.716 30.552 3365
+-123.59 30.552 3365
+-123.464 30.552 3367
+-123.338 30.552 3430
+-123.212 30.552 3468
+-123.086 30.552 3469
+-122.96 30.552 3473
+-122.834 30.552 3515
+-122.708 30.552 3522
+-122.582 30.552 3549
+-122.456 30.552 3581
+-122.33 30.552 3635
+-122.204 30.552 3686
+-122.078 30.552 3755
+-121.952 30.552 3873
+-121.826 30.552 3979
+-121.7 30.552 4077
+-121.574 30.552 4237
+-121.448 30.552 4377
+-121.322 30.552 4489
+-121.196 30.552 4550
+-121.07 30.552 4657
+-120.944 30.552 4753
+-120.818 30.552 4862
+-120.692 30.552 5051
+-120.566 30.552 5173
+-120.44 30.552 5271
+-120.314 30.552 5264
+-120.188 30.552 5371
+-120.062 30.552 5513
+-119.936 30.552 5648
+-119.81 30.552 5728
+-119.684 30.552 5877
+-119.558 30.552 5927
+-119.432 30.552 6037
+-119.306 30.552 6125
+-119.18 30.552 6266
+-119.054 30.552 6348
+-118.928 30.552 6452
+-118.802 30.552 6539
+-118.676 30.552 6606
+-118.55 30.552 6689
+-118.424 30.552 6777
+-118.298 30.552 6809
+-118.172 30.552 6932
+-118.046 30.552 6955
+-117.92 30.552 7028
+-117.794 30.552 7059
+-117.668 30.552 7116
+-117.542 30.552 7126
+-117.416 30.552 7158
+-117.29 30.552 7181
+-117.164 30.552 7204
+-117.038 30.552 7192
+-116.912 30.552 7181
+-116.786 30.552 7154
+-116.66 30.552 7159
+-116.534 30.552 7116
+-116.408 30.552 7119
+-116.282 30.552 7075
+-116.156 30.552 7006
+-116.03 30.552 6999
+-115.904 30.552 6906
+-115.778 30.552 6830
+-115.652 30.552 6779
+-115.526 30.552 6705
+-115.4 30.552 6602
+-115.274 30.552 6547
+-115.148 30.552 6423
+-115.022 30.552 6360
+-114.896 30.552 6275
+-114.77 30.552 6159
+-114.644 30.552 6027
+-114.518 30.552 5922
+-114.392 30.552 5874
+-114.266 30.552 5772
+-114.14 30.552 5634
+-114.014 30.552 5460
+-113.888 30.552 5574
+-113.762 30.552 5653
+-113.636 30.552 5734
+-113.51 30.552 5904
+-113.384 30.552 5994
+-113.258 30.552 6160
+-113.132 30.552 6332
+-113.006 30.552 6411
+-112.88 30.552 6583
+-112.754 30.552 6679
+-112.628 30.552 6750
+-112.502 30.552 6930
+-112.376 30.552 7010
+-112.25 30.552 7191
+-112.124 30.552 7347
+-111.998 30.552 7445
+-111.872 30.552 7477
+-111.746 30.552 7656
+-111.62 30.552 7723
+-111.494 30.552 7788
+-111.368 30.552 7902
+-111.242 30.552 8031
+-111.116 30.552 8092
+-110.99 30.552 8175
+-110.864 30.552 8211
+-110.738 30.552 8264
+-110.612 30.552 8306
+-110.486 30.552 8297
+-110.36 30.552 8303
+-110.234 30.552 8288
+-110.108 30.552 8310
+-109.982 30.552 8216
+-109.856 30.552 8139
+-109.73 30.552 8105
+-109.604 30.552 8051
+-109.478 30.552 7957
+-109.352 30.552 7845
+-109.226 30.552 7729
+-109.1 30.552 7678
+-108.974 30.552 7552
+-108.848 30.552 7410
+-108.722 30.552 7330
+-108.596 30.552 7200
+-108.47 30.552 7140
+-108.344 30.552 6964
+-108.218 30.552 6908
+-108.092 30.552 6734
+-107.966 30.552 6613
+-107.84 30.552 6462
+-107.714 30.552 6346
+-107.588 30.552 6245
+-107.462 30.552 6080
+-107.336 30.552 5929
+-107.21 30.552 5869
+-107.084 30.552 5708
+-106.958 30.552 5589
+-106.832 30.552 5467
+-106.706 30.552 5306
+-106.58 30.552 5166
+-106.454 30.552 5039
+-106.328 30.552 4919
+-106.202 30.552 4844
+-106.076 30.552 4820
+-105.95 30.552 4694
+-105.824 30.552 4566
+-105.698 30.552 4567
+-105.572 30.552 4516
+-105.446 30.552 4477
+-105.32 30.552 4374
+-105.194 30.552 4235
+-105.068 30.552 4041
+-104.942 30.552 3843
+-104.816 30.552 3621
+-104.69 30.552 3472
+-104.564 30.552 3312
+-104.438 30.552 3187
+-104.312 30.552 3051
+-104.186 30.552 2821
+-104.06 30.552 2549
+-103.934 30.552 2420
+-103.808 30.552 2485
+-103.682 30.552 2620
+-103.556 30.552 2735
+-103.43 30.552 2815
+-103.304 30.552 2866
+-103.178 30.552 2901
+-103.052 30.552 2902
+-102.926 30.552 2920
+-102.8 30.552 2936
+-102.674 30.552 2952
+-102.548 30.552 2967
+-102.422 30.552 2959
+-102.296 30.552 2958
+-102.17 30.552 2971
+-102.044 30.552 2985
+-101.918 30.552 2940
+-101.792 30.552 2954
+-101.666 30.552 2967
+-101.54 30.552 2980
+-101.414 30.552 2967
+-101.288 30.552 2979
+-101.162 30.552 2991
+-101.036 30.552 2992
+-100.91 30.552 3002
+-100.784 30.552 2984
+-100.658 30.552 2992
+-100.532 30.552 3000
+-100.406 30.552 3008
+-100.28 30.552 2788
+-100.154 30.552 2784
+-100.028 30.552 2780
+-99.902 30.552 2740
+-99.776 30.552 2733
+-99.65 30.552 2725
+-99.524 30.552 2671
+-99.398 30.552 2658
+-99.272 30.552 2602
+-99.146 30.552 2586
+-99.02 30.552 2568
+-98.894 30.552 2548
+-98.768 30.552 2526
+-98.642 30.552 2475
+-98.516 30.552 2451
+-98.39 30.552 2334
+-98.264 30.552 2313
+-98.138 30.552 2240
+-98.012 30.552 2206
+-97.886 30.552 2179
+-97.76 30.552 2194
+-97.634 30.552 2206
+-97.508 30.552 2143
+-97.382 30.552 2206
+-97.256 30.552 2188
+-97.13 30.552 2157
+-97.004 30.552 2238
+-96.878 30.552 2269
+-96.752 30.552 2249
+-96.626 30.552 2225
+-96.5 30.552 2318
+-96.374 30.552 2223
+-96.248 30.552 2208
+-96.122 30.552 2193
+-95.996 30.552 2140
+-95.87 30.552 2132
+-95.744 30.552 2126
+-95.618 30.552 2111
+-95.492 30.552 2114
+-95.366 30.552 2117
+-95.24 30.552 2118
+-95.114 30.552 2170
+-94.988 30.552 2188
+-94.862 30.552 2208
+-94.736 30.552 2230
+-94.61 30.552 2243
+-94.484 30.552 2268
+-94.358 30.552 2301
+-94.232 30.552 2278
+-94.106 30.552 2306
+-93.98 30.552 2338
+-93.854 30.552 2371
+-93.728 30.552 2401
+-93.602 30.552 2393
+-93.476 30.552 2416
+-93.35 30.552 2442
+-93.224 30.552 2425
+-93.098 30.552 2384
+-92.972 30.552 2439
+-92.846 30.552 2455
+-92.72 30.552 2456
+-92.594 30.552 2469
+-92.468 30.552 2479
+-92.342 30.552 2465
+-92.216 30.552 2472
+-92.09 30.552 2477
+-91.964 30.552 2481
+-91.838 30.552 2484
+-91.712 30.552 2486
+-91.586 30.552 2487
+-91.46 30.552 2478
+-91.334 30.552 2560
+-91.208 30.552 2543
+-91.082 30.552 2563
+-90.956 30.552 2547
+-90.83 30.552 2558
+-90.704 30.552 2557
+-90.578 30.552 2553
+-90.452 30.552 2546
+-90.326 30.552 2539
+-90.2 30.552 2541
+-90.074 30.552 2546
+-89.948 30.552 2546
+-89.822 30.552 2549
+-89.696 30.552 2555
+-89.57 30.552 2571
+-89.444 30.552 2594
+-89.318 30.552 2601
+-89.192 30.552 2605
+-89.066 30.552 2619
+-88.94 30.552 2631
+-88.814 30.552 2647
+-88.688 30.552 2654
+-88.562 30.552 2653
+-88.436 30.552 2683
+-88.31 30.552 2766
+-88.184 30.552 2863
+-88.058 30.552 2953
+-87.932 30.552 3064
+-87.806 30.552 3159
+-87.68 30.552 3211
+-87.554 30.552 3310
+-87.428 30.552 3377
+-87.302 30.552 3510
+-87.176 30.552 3662
+-87.05 30.552 3797
+-86.924 30.552 3995
+-86.798 30.552 4101
+-86.672 30.552 4178
+-86.546 30.552 4210
+-86.42 30.552 4245
+-86.294 30.552 4361
+-86.168 30.552 4376
+-86.042 30.552 4520
+-85.916 30.552 4634
+-85.79 30.552 4738
+-85.664 30.552 4855
+-85.538 30.552 4977
+-85.412 30.552 5102
+-85.286 30.552 5291
+-85.16 30.552 5410
+-85.034 30.552 5496
+-84.908 30.552 5623
+-84.782 30.552 5691
+-84.656 30.552 5696
+-84.53 30.552 5767
+-84.404 30.552 5859
+-84.278 30.552 5984
+-84.152 30.552 6094
+-84.026 30.552 6185
+-83.9 30.552 6212
+-83.774 30.552 6293
+-83.648 30.552 6387
+-83.522 30.552 6445
+-83.396 30.552 6486
+-83.27 30.552 6511
+-83.144 30.552 6554
+-83.018 30.552 6617
+-82.892 30.552 6656
+-82.766 30.552 6698
+-82.64 30.552 6740
+-82.514 30.552 6780
+-82.388 30.552 6771
+-82.262 30.552 6766
+-82.136 30.552 6759
+-82.01 30.552 6754
+-81.884 30.552 6747
+-81.758 30.552 6749
+-81.632 30.552 6731
+-81.506 30.552 6715
+-81.38 30.552 6698
+-81.254 30.552 6640
+-81.128 30.552 6535
+-81.002 30.552 6489
+-80.876 30.552 6385
+-80.75 30.552 6293
+-80.624 30.552 6275
+-80.498 30.552 6209
+-80.372 30.552 6152
+-80.246 30.552 6054
+-80.12 30.552 5978
+-79.994 30.552 5920
+-79.868 30.552 5784
+-79.742 30.552 5726
+-79.616 30.552 5595
+-79.49 30.552 5467
+-79.364 30.552 5467
+-79.238 30.552 5385
+-79.112 30.552 5343
+-78.986 30.552 5321
+-78.86 30.552 5262
+-78.734 30.552 5172
+-78.608 30.552 5044
+-78.482 30.552 4928
+-78.356 30.552 4684
+-78.23 30.552 4500
+-78.104 30.552 4411
+-77.978 30.552 4358
+-77.852 30.552 4290
+-77.726 30.552 4142
+-77.6 30.552 3999
+-77.474 30.552 3886
+-77.348 30.552 3863
+-77.222 30.552 3811
+-77.096 30.552 3793
+-76.97 30.552 3736
+-76.844 30.552 3686
+-76.718 30.552 3576
+-76.592 30.552 3501
+-76.466 30.552 3434
+-76.34 30.552 3376
+-76.214 30.552 3341
+-76.088 30.552 3324
+-75.962 30.552 3321
+-75.836 30.552 3310
+-75.71 30.552 3303
+-75.584 30.552 3290
+-75.458 30.552 3290
+-75.332 30.552 3293
+-75.206 30.552 3279
+-75.08 30.552 3294
+-74.954 30.552 3249
+-74.828 30.552 3262
+-74.702 30.552 3274
+-74.576 30.552 3285
+-74.45 30.552 3295
+-74.324 30.552 3304
+-74.198 30.552 3287
+-74.072 30.552 3295
+-73.946 30.552 3302
+-73.82 30.552 3283
+-73.694 30.552 3254
+-73.568 30.552 3243
+-73.442 30.552 3248
+-73.316 30.552 3252
+-73.19 30.552 3256
+-73.064 30.552 3259
+-72.938 30.552 3263
+-72.812 30.552 3266
+-72.686 30.552 3188
+-72.56 30.552 3179
+-72.434 30.552 3182
+-72.308 30.552 3186
+-72.182 30.552 3189
+-72.056 30.552 3192
+-71.93 30.552 3195
+-71.804 30.552 3197
+-71.678 30.552 3200
+-71.552 30.552 3202
+-71.426 30.552 3205
+-71.3 30.552 3207
+-71.174 30.552 3209
+-71.048 30.552 3211
+-70.922 30.552 3213
+-70.796 30.552 3214
+-70.67 30.552 3200
+-70.544 30.552 3202
+-70.418 30.552 3205
+-70.292 30.552 3207
+-70.166 30.552 3209
+-70.04 30.552 3168
+-69.914 30.552 3169
+-69.788 30.552 3170
+-69.662 30.552 3171
+-69.536 30.552 3173
+-69.41 30.552 3174
+-69.284 30.552 3163
+-69.158 30.552 3164
+-69.032 30.552 3141
+-68.906 30.552 3126
+-68.78 30.552 3127
+-68.654 30.552 3128
+-68.528 30.552 3128
+-68.402 30.552 3129
+-68.276 30.552 3130
+-68.15 30.552 3131
+-68.024 30.552 3131
+-67.898 30.552 3132
+-67.772 30.552 3133
+-67.646 30.552 3133
+-67.52 30.552 3040
+-67.394 30.552 3040
+-67.268 30.552 3041
+-67.142 30.552 3042
+-67.016 30.552 3043
+-66.89 30.552 3043
+-66.764 30.552 3044
+-66.638 30.552 3045
+-66.512 30.552 3045
+-66.386 30.552 3046
+-66.26 30.552 3046
+-66.134 30.552 3047
+-66.008 30.552 3047
+-65.882 30.552 3048
+-65.756 30.552 3049
+-65.63 30.552 3049
+-65.504 30.552 3049
+-65.378 30.552 3050
+-65.252 30.552 3050
+-65.126 30.552 3051
+-128 30.5 2497
+-127.874 30.5 2490
+-127.748 30.5 2484
+-127.622 30.5 2478
+-127.496 30.5 2498
+-127.37 30.5 2491
+-127.244 30.5 2485
+-127.118 30.5 2525
+-126.992 30.5 2521
+-126.866 30.5 2518
+-126.74 30.5 2515
+-126.614 30.5 2513
+-126.488 30.5 2511
+-126.362 30.5 2511
+-126.236 30.5 2512
+-126.11 30.5 2531
+-125.984 30.5 2602
+-125.858 30.5 2607
+-125.732 30.5 2615
+-125.606 30.5 2625
+-125.48 30.5 2636
+-125.354 30.5 2650
+-125.228 30.5 2666
+-125.102 30.5 2739
+-124.976 30.5 2760
+-124.85 30.5 2783
+-124.724 30.5 2820
+-124.598 30.5 2856
+-124.472 30.5 2863
+-124.346 30.5 2952
+-124.22 30.5 3008
+-124.094 30.5 3035
+-123.968 30.5 3062
+-123.842 30.5 3139
+-123.716 30.5 3231
+-123.59 30.5 3278
+-123.464 30.5 3411
+-123.338 30.5 3409
+-123.212 30.5 3447
+-123.086 30.5 3441
+-122.96 30.5 3431
+-122.834 30.5 3422
+-122.708 30.5 3435
+-122.582 30.5 3451
+-122.456 30.5 3476
+-122.33 30.5 3518
+-122.204 30.5 3561
+-122.078 30.5 3666
+-121.952 30.5 3783
+-121.826 30.5 3896
+-121.7 30.5 4014
+-121.574 30.5 4175
+-121.448 30.5 4337
+-121.322 30.5 4454
+-121.196 30.5 4473
+-121.07 30.5 4592
+-120.944 30.5 4746
+-120.818 30.5 4906
+-120.692 30.5 5036
+-120.566 30.5 5144
+-120.44 30.5 5251
+-120.314 30.5 5317
+-120.188 30.5 5398
+-120.062 30.5 5491
+-119.936 30.5 5590
+-119.81 30.5 5709
+-119.684 30.5 5852
+-119.558 30.5 5949
+-119.432 30.5 6059
+-119.306 30.5 6164
+-119.18 30.5 6264
+-119.054 30.5 6325
+-118.928 30.5 6399
+-118.802 30.5 6470
+-118.676 30.5 6552
+-118.55 30.5 6650
+-118.424 30.5 6726
+-118.298 30.5 6796
+-118.172 30.5 6799
+-118.046 30.5 6869
+-117.92 30.5 6980
+-117.794 30.5 6990
+-117.668 30.5 7023
+-117.542 30.5 7057
+-117.416 30.5 7098
+-117.29 30.5 7122
+-117.164 30.5 7157
+-117.038 30.5 7142
+-116.912 30.5 7148
+-116.786 30.5 7137
+-116.66 30.5 7104
+-116.534 30.5 7064
+-116.408 30.5 7045
+-116.282 30.5 6986
+-116.156 30.5 6968
+-116.03 30.5 6907
+-115.904 30.5 6856
+-115.778 30.5 6814
+-115.652 30.5 6739
+-115.526 30.5 6651
+-115.4 30.5 6536
+-115.274 30.5 6494
+-115.148 30.5 6452
+-115.022 30.5 6249
+-114.896 30.5 6218
+-114.77 30.5 6133
+-114.644 30.5 6038
+-114.518 30.5 5946
+-114.392 30.5 5851
+-114.266 30.5 5725
+-114.14 30.5 5598
+-114.014 30.5 5525
+-113.888 30.5 5461
+-113.762 30.5 5688
+-113.636 30.5 5728
+-113.51 30.5 5878
+-113.384 30.5 6026
+-113.258 30.5 6173
+-113.132 30.5 6282
+-113.006 30.5 6383
+-112.88 30.5 6543
+-112.754 30.5 6676
+-112.628 30.5 6736
+-112.502 30.5 6852
+-112.376 30.5 6985
+-112.25 30.5 7158
+-112.124 30.5 7259
+-111.998 30.5 7321
+-111.872 30.5 7473
+-111.746 30.5 7599
+-111.62 30.5 7660
+-111.494 30.5 7782
+-111.368 30.5 7899
+-111.242 30.5 7916
+-111.116 30.5 8040
+-110.99 30.5 8098
+-110.864 30.5 8155
+-110.738 30.5 8216
+-110.612 30.5 8247
+-110.486 30.5 8267
+-110.36 30.5 8259
+-110.234 30.5 8288
+-110.108 30.5 8239
+-109.982 30.5 8205
+-109.856 30.5 8118
+-109.73 30.5 8082
+-109.604 30.5 8002
+-109.478 30.5 7927
+-109.352 30.5 7848
+-109.226 30.5 7742
+-109.1 30.5 7637
+-108.974 30.5 7562
+-108.848 30.5 7412
+-108.722 30.5 7309
+-108.596 30.5 7205
+-108.47 30.5 7087
+-108.344 30.5 6888
+-108.218 30.5 6852
+-108.092 30.5 6672
+-107.966 30.5 6604
+-107.84 30.5 6510
+-107.714 30.5 6332
+-107.588 30.5 6218
+-107.462 30.5 6114
+-107.336 30.5 5891
+-107.21 30.5 5889
+-107.084 30.5 5690
+-106.958 30.5 5513
+-106.832 30.5 5429
+-106.706 30.5 5335
+-106.58 30.5 5169
+-106.454 30.5 5088
+-106.328 30.5 4948
+-106.202 30.5 4884
+-106.076 30.5 4808
+-105.95 30.5 4635
+-105.824 30.5 4387
+-105.698 30.5 4524
+-105.572 30.5 4560
+-105.446 30.5 4468
+-105.32 30.5 4414
+-105.194 30.5 4226
+-105.068 30.5 4076
+-104.942 30.5 3939
+-104.816 30.5 3739
+-104.69 30.5 3506
+-104.564 30.5 3367
+-104.438 30.5 3229
+-104.312 30.5 2998
+-104.186 30.5 2711
+-104.06 30.5 2431
+-103.934 30.5 2302
+-103.808 30.5 2397
+-103.682 30.5 2563
+-103.556 30.5 2696
+-103.43 30.5 2783
+-103.304 30.5 2837
+-103.178 30.5 2871
+-103.052 30.5 2871
+-102.926 30.5 2890
+-102.8 30.5 2895
+-102.674 30.5 2911
+-102.548 30.5 2911
+-102.422 30.5 2927
+-102.296 30.5 2944
+-102.17 30.5 2960
+-102.044 30.5 2976
+-101.918 30.5 2991
+-101.792 30.5 2939
+-101.666 30.5 2954
+-101.54 30.5 2968
+-101.414 30.5 2981
+-101.288 30.5 2969
+-101.162 30.5 2959
+-101.036 30.5 2970
+-100.91 30.5 2968
+-100.784 30.5 2977
+-100.658 30.5 2986
+-100.532 30.5 2994
+-100.406 30.5 3002
+-100.28 30.5 2784
+-100.154 30.5 2781
+-100.028 30.5 2777
+-99.902 30.5 2771
+-99.776 30.5 2732
+-99.65 30.5 2724
+-99.524 30.5 2672
+-99.398 30.5 2659
+-99.272 30.5 2646
+-99.146 30.5 2589
+-99.02 30.5 2571
+-98.894 30.5 2552
+-98.768 30.5 2532
+-98.642 30.5 2482
+-98.516 30.5 2459
+-98.39 30.5 2434
+-98.264 30.5 2322
+-98.138 30.5 2265
+-98.012 30.5 2218
+-97.886 30.5 2193
+-97.76 30.5 2209
+-97.634 30.5 2179
+-97.508 30.5 2193
+-97.382 30.5 2203
+-97.256 30.5 2194
+-97.13 30.5 2181
+-97.004 30.5 2263
+-96.878 30.5 2297
+-96.752 30.5 2275
+-96.626 30.5 2291
+-96.5 30.5 2279
+-96.374 30.5 2265
+-96.248 30.5 2251
+-96.122 30.5 2195
+-95.996 30.5 2188
+-95.87 30.5 2181
+-95.744 30.5 2164
+-95.618 30.5 2164
+-95.492 30.5 2164
+-95.366 30.5 2161
+-95.24 30.5 2210
+-95.114 30.5 2224
+-94.988 30.5 2238
+-94.862 30.5 2255
+-94.736 30.5 2261
+-94.61 30.5 2281
+-94.484 30.5 2309
+-94.358 30.5 2280
+-94.232 30.5 2304
+-94.106 30.5 2334
+-93.98 30.5 2363
+-93.854 30.5 2392
+-93.728 30.5 2382
+-93.602 30.5 2405
+-93.476 30.5 2429
+-93.35 30.5 2413
+-93.224 30.5 2372
+-93.098 30.5 2428
+-92.972 30.5 2445
+-92.846 30.5 2447
+-92.72 30.5 2461
+-92.594 30.5 2472
+-92.468 30.5 2460
+-92.342 30.5 2468
+-92.216 30.5 2475
+-92.09 30.5 2481
+-91.964 30.5 2485
+-91.838 30.5 2487
+-91.712 30.5 2489
+-91.586 30.5 2481
+-91.46 30.5 2484
+-91.334 30.5 2502
+-91.208 30.5 2580
+-91.082 30.5 2567
+-90.956 30.5 2580
+-90.83 30.5 2583
+-90.704 30.5 2583
+-90.578 30.5 2578
+-90.452 30.5 2573
+-90.326 30.5 2576
+-90.2 30.5 2585
+-90.074 30.5 2584
+-89.948 30.5 2585
+-89.822 30.5 2588
+-89.696 30.5 2610
+-89.57 30.5 2616
+-89.444 30.5 2631
+-89.318 30.5 2636
+-89.192 30.5 2636
+-89.066 30.5 2644
+-88.94 30.5 2674
+-88.814 30.5 2643
+-88.688 30.5 2598
+-88.562 30.5 2559
+-88.436 30.5 2552
+-88.31 30.5 2639
+-88.184 30.5 2792
+-88.058 30.5 2941
+-87.932 30.5 3101
+-87.806 30.5 3203
+-87.68 30.5 3288
+-87.554 30.5 3358
+-87.428 30.5 3447
+-87.302 30.5 3555
+-87.176 30.5 3663
+-87.05 30.5 3816
+-86.924 30.5 3985
+-86.798 30.5 4096
+-86.672 30.5 4202
+-86.546 30.5 4273
+-86.42 30.5 4361
+-86.294 30.5 4454
+-86.168 30.5 4516
+-86.042 30.5 4530
+-85.916 30.5 4651
+-85.79 30.5 4753
+-85.664 30.5 4870
+-85.538 30.5 5011
+-85.412 30.5 5165
+-85.286 30.5 5318
+-85.16 30.5 5414
+-85.034 30.5 5577
+-84.908 30.5 5669
+-84.782 30.5 5741
+-84.656 30.5 5779
+-84.53 30.5 5821
+-84.404 30.5 5950
+-84.278 30.5 6026
+-84.152 30.5 6129
+-84.026 30.5 6183
+-83.9 30.5 6267
+-83.774 30.5 6316
+-83.648 30.5 6397
+-83.522 30.5 6469
+-83.396 30.5 6522
+-83.27 30.5 6581
+-83.144 30.5 6615
+-83.018 30.5 6669
+-82.892 30.5 6715
+-82.766 30.5 6764
+-82.64 30.5 6819
+-82.514 30.5 6819
+-82.388 30.5 6827
+-82.262 30.5 6815
+-82.136 30.5 6846
+-82.01 30.5 6837
+-81.884 30.5 6815
+-81.758 30.5 6780
+-81.632 30.5 6763
+-81.506 30.5 6772
+-81.38 30.5 6704
+-81.254 30.5 6721
+-81.128 30.5 6646
+-81.002 30.5 6526
+-80.876 30.5 6456
+-80.75 30.5 6360
+-80.624 30.5 6280
+-80.498 30.5 6242
+-80.372 30.5 6188
+-80.246 30.5 6112
+-80.12 30.5 6018
+-79.994 30.5 5917
+-79.868 30.5 5844
+-79.742 30.5 5787
+-79.616 30.5 5631
+-79.49 30.5 5533
+-79.364 30.5 5491
+-79.238 30.5 5350
+-79.112 30.5 5295
+-78.986 30.5 5314
+-78.86 30.5 5264
+-78.734 30.5 5138
+-78.608 30.5 5052
+-78.482 30.5 4915
+-78.356 30.5 4677
+-78.23 30.5 4476
+-78.104 30.5 4379
+-77.978 30.5 4339
+-77.852 30.5 4308
+-77.726 30.5 4244
+-77.6 30.5 4096
+-77.474 30.5 3992
+-77.348 30.5 3945
+-77.222 30.5 3913
+-77.096 30.5 3831
+-76.97 30.5 3772
+-76.844 30.5 3664
+-76.718 30.5 3582
+-76.592 30.5 3494
+-76.466 30.5 3410
+-76.34 30.5 3351
+-76.214 30.5 3322
+-76.088 30.5 3318
+-75.962 30.5 3311
+-75.836 30.5 3308
+-75.71 30.5 3299
+-75.584 30.5 3300
+-75.458 30.5 3304
+-75.332 30.5 3322
+-75.206 30.5 3338
+-75.08 30.5 3354
+-74.954 30.5 3314
+-74.828 30.5 3284
+-74.702 30.5 3294
+-74.576 30.5 3304
+-74.45 30.5 3338
+-74.324 30.5 3295
+-74.198 30.5 3302
+-74.072 30.5 3309
+-73.946 30.5 3319
+-73.82 30.5 3260
+-73.694 30.5 3249
+-73.568 30.5 3253
+-73.442 30.5 3257
+-73.316 30.5 3261
+-73.19 30.5 3264
+-73.064 30.5 3267
+-72.938 30.5 3270
+-72.812 30.5 3192
+-72.686 30.5 3183
+-72.56 30.5 3186
+-72.434 30.5 3190
+-72.308 30.5 3193
+-72.182 30.5 3195
+-72.056 30.5 3198
+-71.93 30.5 3201
+-71.804 30.5 3203
+-71.678 30.5 3206
+-71.552 30.5 3208
+-71.426 30.5 3210
+-71.3 30.5 3212
+-71.174 30.5 3214
+-71.048 30.5 3215
+-70.922 30.5 3217
+-70.796 30.5 3203
+-70.67 30.5 3205
+-70.544 30.5 3207
+-70.418 30.5 3209
+-70.292 30.5 3211
+-70.166 30.5 3170
+-70.04 30.5 3171
+-69.914 30.5 3173
+-69.788 30.5 3174
+-69.662 30.5 3175
+-69.536 30.5 3176
+-69.41 30.5 3164
+-69.284 30.5 3165
+-69.158 30.5 3142
+-69.032 30.5 3127
+-68.906 30.5 3128
+-68.78 30.5 3129
+-68.654 30.5 3129
+-68.528 30.5 3130
+-68.402 30.5 3131
+-68.276 30.5 3131
+-68.15 30.5 3132
+-68.024 30.5 3133
+-67.898 30.5 3133
+-67.772 30.5 3134
+-67.646 30.5 3040
+-67.52 30.5 3041
+-67.394 30.5 3042
+-67.268 30.5 3043
+-67.142 30.5 3043
+-67.016 30.5 3044
+-66.89 30.5 3044
+-66.764 30.5 3045
+-66.638 30.5 3046
+-66.512 30.5 3046
+-66.386 30.5 3047
+-66.26 30.5 3047
+-66.134 30.5 3048
+-66.008 30.5 3048
+-65.882 30.5 3049
+-65.756 30.5 3049
+-65.63 30.5 3050
+-65.504 30.5 3050
+-65.378 30.5 3051
+-65.252 30.5 3051
+-65.126 30.5 3052
+-128 30.448 2475
+-127.874 30.448 2468
+-127.748 30.448 2460
+-127.622 30.448 2478
+-127.496 30.448 2470
+-127.37 30.448 2462
+-127.244 30.448 2502
+-127.118 30.448 2495
+-126.992 30.448 2489
+-126.866 30.448 2484
+-126.74 30.448 2479
+-126.614 30.448 2475
+-126.488 30.448 2471
+-126.362 30.448 2469
+-126.236 30.448 2484
+-126.11 30.448 2550
+-125.984 30.448 2552
+-125.858 30.448 2556
+-125.732 30.448 2562
+-125.606 30.448 2571
+-125.48 30.448 2582
+-125.354 30.448 2596
+-125.228 30.448 2641
+-125.102 30.448 2662
+-124.976 30.448 2685
+-124.85 30.448 2704
+-124.724 30.448 2770
+-124.598 30.448 2800
+-124.472 30.448 2879
+-124.346 30.448 2950
+-124.22 30.448 2982
+-124.094 30.448 3012
+-123.968 30.448 3112
+-123.842 30.448 3152
+-123.716 30.448 3177
+-123.59 30.448 3200
+-123.464 30.448 3296
+-123.338 30.448 3344
+-123.212 30.448 3425
+-123.086 30.448 3406
+-122.96 30.448 3384
+-122.834 30.448 3373
+-122.708 30.448 3360
+-122.582 30.448 3337
+-122.456 30.448 3348
+-122.33 30.448 3392
+-122.204 30.448 3422
+-122.078 30.448 3541
+-121.952 30.448 3684
+-121.826 30.448 3810
+-121.7 30.448 3949
+-121.574 30.448 4096
+-121.448 30.448 4308
+-121.322 30.448 4453
+-121.196 30.448 4519
+-121.07 30.448 4598
+-120.944 30.448 4744
+-120.818 30.448 4870
+-120.692 30.448 5024
+-120.566 30.448 5111
+-120.44 30.448 5179
+-120.314 30.448 5273
+-120.188 30.448 5370
+-120.062 30.448 5434
+-119.936 30.448 5533
+-119.81 30.448 5649
+-119.684 30.448 5777
+-119.558 30.448 5885
+-119.432 30.448 6028
+-119.306 30.448 6146
+-119.18 30.448 6216
+-119.054 30.448 6297
+-118.928 30.448 6361
+-118.802 30.448 6420
+-118.676 30.448 6472
+-118.55 30.448 6568
+-118.424 30.448 6675
+-118.298 30.448 6729
+-118.172 30.448 6785
+-118.046 30.448 6840
+-117.92 30.448 6904
+-117.794 30.448 6974
+-117.668 30.448 6977
+-117.542 30.448 6997
+-117.416 30.448 7028
+-117.29 30.448 7055
+-117.164 30.448 7067
+-117.038 30.448 7066
+-116.912 30.448 7097
+-116.786 30.448 7058
+-116.66 30.448 7055
+-116.534 30.448 7008
+-116.408 30.448 6989
+-116.282 30.448 6959
+-116.156 30.448 6900
+-116.03 30.448 6868
+-115.904 30.448 6826
+-115.778 30.448 6710
+-115.652 30.448 6696
+-115.526 30.448 6604
+-115.4 30.448 6519
+-115.274 30.448 6431
+-115.148 30.448 6333
+-115.022 30.448 6252
+-114.896 30.448 6176
+-114.77 30.448 6114
+-114.644 30.448 6005
+-114.518 30.448 5919
+-114.392 30.448 5819
+-114.266 30.448 5705
+-114.14 30.448 5547
+-114.014 30.448 5411
+-113.888 30.448 5509
+-113.762 30.448 5582
+-113.636 30.448 5710
+-113.51 30.448 5927
+-113.384 30.448 6005
+-113.258 30.448 6129
+-113.132 30.448 6282
+-113.006 30.448 6416
+-112.88 30.448 6543
+-112.754 30.448 6653
+-112.628 30.448 6749
+-112.502 30.448 6827
+-112.376 30.448 6959
+-112.25 30.448 7093
+-112.124 30.448 7213
+-111.998 30.448 7360
+-111.872 30.448 7450
+-111.746 30.448 7549
+-111.62 30.448 7609
+-111.494 30.448 7713
+-111.368 30.448 7834
+-111.242 30.448 7940
+-111.116 30.448 7986
+-110.99 30.448 8039
+-110.864 30.448 8091
+-110.738 30.448 8161
+-110.612 30.448 8192
+-110.486 30.448 8238
+-110.36 30.448 8196
+-110.234 30.448 8195
+-110.108 30.448 8204
+-109.982 30.448 8115
+-109.856 30.448 8100
+-109.73 30.448 8040
+-109.604 30.448 7946
+-109.478 30.448 7849
+-109.352 30.448 7759
+-109.226 30.448 7664
+-109.1 30.448 7607
+-108.974 30.448 7519
+-108.848 30.448 7374
+-108.722 30.448 7301
+-108.596 30.448 7160
+-108.47 30.448 7048
+-108.344 30.448 6960
+-108.218 30.448 6785
+-108.092 30.448 6647
+-107.966 30.448 6599
+-107.84 30.448 6447
+-107.714 30.448 6302
+-107.588 30.448 6164
+-107.462 30.448 6026
+-107.336 30.448 5972
+-107.21 30.448 5878
+-107.084 30.448 5687
+-106.958 30.448 5551
+-106.832 30.448 5416
+-106.706 30.448 5250
+-106.58 30.448 5138
+-106.454 30.448 5022
+-106.328 30.448 4937
+-106.202 30.448 4768
+-106.076 30.448 4791
+-105.95 30.448 4698
+-105.824 30.448 4570
+-105.698 30.448 4589
+-105.572 30.448 4587
+-105.446 30.448 4556
+-105.32 30.448 4412
+-105.194 30.448 4277
+-105.068 30.448 4091
+-104.942 30.448 3972
+-104.816 30.448 3845
+-104.69 30.448 3558
+-104.564 30.448 3423
+-104.438 30.448 3231
+-104.312 30.448 3031
+-104.186 30.448 2764
+-104.06 30.448 2515
+-103.934 30.448 2407
+-103.808 30.448 2471
+-103.682 30.448 2590
+-103.556 30.448 2697
+-103.43 30.448 2768
+-103.304 30.448 2810
+-103.178 30.448 2837
+-103.052 30.448 2857
+-102.926 30.448 2842
+-102.8 30.448 2860
+-102.674 30.448 2863
+-102.548 30.448 2882
+-102.422 30.448 2902
+-102.296 30.448 2921
+-102.17 30.448 2940
+-102.044 30.448 2959
+-101.918 30.448 2977
+-101.792 30.448 2994
+-101.666 30.448 2940
+-101.54 30.448 2955
+-101.414 30.448 2970
+-101.288 30.448 2939
+-101.162 30.448 2951
+-101.036 30.448 2927
+-100.91 30.448 2937
+-100.784 30.448 2946
+-100.658 30.448 2955
+-100.532 30.448 2963
+-100.406 30.448 2970
+-100.28 30.448 2874
+-100.154 30.448 2778
+-100.028 30.448 2774
+-99.902 30.448 2769
+-99.776 30.448 2763
+-99.65 30.448 2723
+-99.524 30.448 2672
+-99.398 30.448 2661
+-99.272 30.448 2648
+-99.146 30.448 2633
+-99.02 30.448 2575
+-98.894 30.448 2557
+-98.768 30.448 2537
+-98.642 30.448 2489
+-98.516 30.448 2467
+-98.39 30.448 2443
+-98.264 30.448 2331
+-98.138 30.448 2300
+-98.012 30.448 2228
+-97.886 30.448 2206
+-97.76 30.448 2222
+-97.634 30.448 2193
+-97.508 30.448 2211
+-97.382 30.448 2183
+-97.256 30.448 2215
+-97.13 30.448 2202
+-97.004 30.448 2188
+-96.878 30.448 2267
+-96.752 30.448 2338
+-96.626 30.448 2247
+-96.5 30.448 2317
+-96.374 30.448 2304
+-96.248 30.448 2248
+-96.122 30.448 2239
+-95.996 30.448 2231
+-95.87 30.448 2212
+-95.744 30.448 2210
+-95.618 30.448 2208
+-95.492 30.448 2202
+-95.366 30.448 2249
+-95.24 30.448 2259
+-95.114 30.448 2270
+-94.988 30.448 2281
+-94.862 30.448 2282
+-94.736 30.448 2297
+-94.61 30.448 2321
+-94.484 30.448 2286
+-94.358 30.448 2307
+-94.232 30.448 2333
+-94.106 30.448 2360
+-93.98 30.448 2386
+-93.854 30.448 2374
+-93.728 30.448 2395
+-93.602 30.448 2419
+-93.476 30.448 2402
+-93.35 30.448 2361
+-93.224 30.448 2418
+-93.098 30.448 2435
+-92.972 30.448 2423
+-92.846 30.448 2437
+-92.72 30.448 2450
+-92.594 30.448 2454
+-92.468 30.448 2464
+-92.342 30.448 2472
+-92.216 30.448 2478
+-92.09 30.448 2484
+-91.964 30.448 2473
+-91.838 30.448 2476
+-91.712 30.448 2482
+-91.586 30.448 2486
+-91.46 30.448 2500
+-91.334 30.448 2512
+-91.208 30.448 2578
+-91.082 30.448 2608
+-90.956 30.448 2605
+-90.83 30.448 2609
+-90.704 30.448 2605
+-90.578 30.448 2602
+-90.452 30.448 2619
+-90.326 30.448 2617
+-90.2 30.448 2617
+-90.074 30.448 2618
+-89.948 30.448 2620
+-89.822 30.448 2641
+-89.696 30.448 2645
+-89.57 30.448 2652
+-89.444 30.448 2655
+-89.318 30.448 2667
+-89.192 30.448 2664
+-89.066 30.448 2652
+-88.94 30.448 2660
+-88.814 30.448 2613
+-88.688 30.448 2546
+-88.562 30.448 2428
+-88.436 30.448 2371
+-88.31 30.448 2479
+-88.184 30.448 2704
+-88.058 30.448 2918
+-87.932 30.448 3132
+-87.806 30.448 3242
+-87.68 30.448 3345
+-87.554 30.448 3418
+-87.428 30.448 3472
+-87.302 30.448 3499
+-87.176 30.448 3596
+-87.05 30.448 3760
+-86.924 30.448 3938
+-86.798 30.448 4096
+-86.672 30.448 4199
+-86.546 30.448 4304
+-86.42 30.448 4409
+-86.294 30.448 4513
+-86.168 30.448 4588
+-86.042 30.448 4601
+-85.916 30.448 4693
+-85.79 30.448 4804
+-85.664 30.448 4916
+-85.538 30.448 5039
+-85.412 30.448 5216
+-85.286 30.448 5273
+-85.16 30.448 5417
+-85.034 30.448 5596
+-84.908 30.448 5705
+-84.782 30.448 5776
+-84.656 30.448 5806
+-84.53 30.448 5879
+-84.404 30.448 6012
+-84.278 30.448 6121
+-84.152 30.448 6187
+-84.026 30.448 6252
+-83.9 30.448 6328
+-83.774 30.448 6387
+-83.648 30.448 6449
+-83.522 30.448 6547
+-83.396 30.448 6575
+-83.27 30.448 6631
+-83.144 30.448 6707
+-83.018 30.448 6758
+-82.892 30.448 6804
+-82.766 30.448 6831
+-82.64 30.448 6845
+-82.514 30.448 6856
+-82.388 30.448 6877
+-82.262 30.448 6855
+-82.136 30.448 6862
+-82.01 30.448 6862
+-81.884 30.448 6839
+-81.758 30.448 6856
+-81.632 30.448 6822
+-81.506 30.448 6781
+-81.38 30.448 6787
+-81.254 30.448 6770
+-81.128 30.448 6731
+-81.002 30.448 6633
+-80.876 30.448 6550
+-80.75 30.448 6466
+-80.624 30.448 6389
+-80.498 30.448 6295
+-80.372 30.448 6208
+-80.246 30.448 6186
+-80.12 30.448 6108
+-79.994 30.448 5951
+-79.868 30.448 5905
+-79.742 30.448 5822
+-79.616 30.448 5683
+-79.49 30.448 5582
+-79.364 30.448 5544
+-79.238 30.448 5427
+-79.112 30.448 5365
+-78.986 30.448 5317
+-78.86 30.448 5222
+-78.734 30.448 5080
+-78.608 30.448 4991
+-78.482 30.448 4931
+-78.356 30.448 4720
+-78.23 30.448 4494
+-78.104 30.448 4368
+-77.978 30.448 4258
+-77.852 30.448 4297
+-77.726 30.448 4268
+-77.6 30.448 4170
+-77.474 30.448 4074
+-77.348 30.448 3989
+-77.222 30.448 3935
+-77.096 30.448 3886
+-76.97 30.448 3792
+-76.844 30.448 3711
+-76.718 30.448 3608
+-76.592 30.448 3446
+-76.466 30.448 3329
+-76.34 30.448 3258
+-76.214 30.448 3242
+-76.088 30.448 3250
+-75.962 30.448 3270
+-75.836 30.448 3281
+-75.71 30.448 3294
+-75.584 30.448 3306
+-75.458 30.448 3327
+-75.332 30.448 3346
+-75.206 30.448 3362
+-75.08 30.448 3377
+-74.954 30.448 3390
+-74.828 30.448 3349
+-74.702 30.448 3338
+-74.576 30.448 3347
+-74.45 30.448 3304
+-74.324 30.448 3311
+-74.198 30.448 3318
+-74.072 30.448 3325
+-73.946 30.448 3268
+-73.82 30.448 3256
+-73.694 30.448 3260
+-73.568 30.448 3263
+-73.442 30.448 3266
+-73.316 30.448 3270
+-73.19 30.448 3272
+-73.064 30.448 3275
+-72.938 30.448 3197
+-72.812 30.448 3188
+-72.686 30.448 3191
+-72.56 30.448 3194
+-72.434 30.448 3197
+-72.308 30.448 3200
+-72.182 30.448 3202
+-72.056 30.448 3205
+-71.93 30.448 3207
+-71.804 30.448 3209
+-71.678 30.448 3211
+-71.552 30.448 3213
+-71.426 30.448 3215
+-71.3 30.448 3217
+-71.174 30.448 3218
+-71.048 30.448 3220
+-70.922 30.448 3206
+-70.796 30.448 3208
+-70.67 30.448 3210
+-70.544 30.448 3212
+-70.418 30.448 3214
+-70.292 30.448 3173
+-70.166 30.448 3174
+-70.04 30.448 3175
+-69.914 30.448 3176
+-69.788 30.448 3177
+-69.662 30.448 3178
+-69.536 30.448 3165
+-69.41 30.448 3166
+-69.284 30.448 3144
+-69.158 30.448 3128
+-69.032 30.448 3129
+-68.906 30.448 3130
+-68.78 30.448 3130
+-68.654 30.448 3131
+-68.528 30.448 3132
+-68.402 30.448 3132
+-68.276 30.448 3133
+-68.15 30.448 3134
+-68.024 30.448 3134
+-67.898 30.448 3135
+-67.772 30.448 3041
+-67.646 30.448 3042
+-67.52 30.448 3043
+-67.394 30.448 3043
+-67.268 30.448 3044
+-67.142 30.448 3045
+-67.016 30.448 3045
+-66.89 30.448 3046
+-66.764 30.448 3046
+-66.638 30.448 3047
+-66.512 30.448 3047
+-66.386 30.448 3048
+-66.26 30.448 3049
+-66.134 30.448 3049
+-66.008 30.448 3050
+-65.882 30.448 3050
+-65.756 30.448 3050
+-65.63 30.448 3051
+-65.504 30.448 3051
+-65.378 30.448 3052
+-65.252 30.448 3052
+-65.126 30.448 3053
+-128 30.396 2453
+-127.874 30.396 2444
+-127.748 30.396 2461
+-127.622 30.396 2451
+-127.496 30.396 2442
+-127.37 30.396 2480
+-127.244 30.396 2472
+-127.118 30.396 2463
+-126.992 30.396 2455
+-126.866 30.396 2448
+-126.74 30.396 2440
+-126.614 30.396 2434
+-126.488 30.396 2428
+-126.362 30.396 2440
+-126.236 30.396 2500
+-126.11 30.396 2497
+-125.984 30.396 2497
+-125.858 30.396 2499
+-125.732 30.396 2504
+-125.606 30.396 2511
+-125.48 30.396 2522
+-125.354 30.396 2551
+-125.228 30.396 2571
+-125.102 30.396 2593
+-124.976 30.396 2627
+-124.85 30.396 2688
+-124.724 30.396 2719
+-124.598 30.396 2767
+-124.472 30.396 2801
+-124.346 30.396 2915
+-124.22 30.396 2949
+-124.094 30.396 3023
+-123.968 30.396 3097
+-123.842 30.396 3127
+-123.716 30.396 3154
+-123.59 30.396 3172
+-123.464 30.396 3192
+-123.338 30.396 3280
+-123.212 30.396 3304
+-123.086 30.396 3371
+-122.96 30.396 3351
+-122.834 30.396 3315
+-122.708 30.396 3267
+-122.582 30.396 3211
+-122.456 30.396 3189
+-122.33 30.396 3313
+-122.204 30.396 3331
+-122.078 30.396 3476
+-121.952 30.396 3631
+-121.826 30.396 3727
+-121.7 30.396 3884
+-121.574 30.396 4057
+-121.448 30.396 4261
+-121.322 30.396 4455
+-121.196 30.396 4526
+-121.07 30.396 4588
+-120.944 30.396 4708
+-120.818 30.396 4810
+-120.692 30.396 4952
+-120.566 30.396 5087
+-120.44 30.396 5136
+-120.314 30.396 5228
+-120.188 30.396 5351
+-120.062 30.396 5339
+-119.936 30.396 5458
+-119.81 30.396 5614
+-119.684 30.396 5746
+-119.558 30.396 5818
+-119.432 30.396 5971
+-119.306 30.396 6123
+-119.18 30.396 6171
+-119.054 30.396 6223
+-118.928 30.396 6302
+-118.802 30.396 6379
+-118.676 30.396 6454
+-118.55 30.396 6503
+-118.424 30.396 6608
+-118.298 30.396 6690
+-118.172 30.396 6748
+-118.046 30.396 6791
+-117.92 30.396 6842
+-117.794 30.396 6888
+-117.668 30.396 6911
+-117.542 30.396 6935
+-117.416 30.396 6992
+-117.29 30.396 7011
+-117.164 30.396 7047
+-117.038 30.396 7020
+-116.912 30.396 7039
+-116.786 30.396 7019
+-116.66 30.396 6989
+-116.534 30.396 6973
+-116.408 30.396 6941
+-116.282 30.396 6901
+-116.156 30.396 6862
+-116.03 30.396 6778
+-115.904 30.396 6740
+-115.778 30.396 6712
+-115.652 30.396 6623
+-115.526 30.396 6537
+-115.4 30.396 6445
+-115.274 30.396 6385
+-115.148 30.396 6301
+-115.022 30.396 6220
+-114.896 30.396 6136
+-114.77 30.396 6065
+-114.644 30.396 5932
+-114.518 30.396 5857
+-114.392 30.396 5697
+-114.266 30.396 5685
+-114.14 30.396 5526
+-114.014 30.396 5373
+-113.888 30.396 5518
+-113.762 30.396 5579
+-113.636 30.396 5690
+-113.51 30.396 5852
+-113.384 30.396 6002
+-113.258 30.396 6171
+-113.132 30.396 6279
+-113.006 30.396 6389
+-112.88 30.396 6539
+-112.754 30.396 6609
+-112.628 30.396 6750
+-112.502 30.396 6796
+-112.376 30.396 6926
+-112.25 30.396 7082
+-112.124 30.396 7189
+-111.998 30.396 7337
+-111.872 30.396 7421
+-111.746 30.396 7530
+-111.62 30.396 7617
+-111.494 30.396 7699
+-111.368 30.396 7765
+-111.242 30.396 7858
+-111.116 30.396 7938
+-110.99 30.396 8022
+-110.864 30.396 8078
+-110.738 30.396 8095
+-110.612 30.396 8130
+-110.486 30.396 8140
+-110.36 30.396 8168
+-110.234 30.396 8119
+-110.108 30.396 8111
+-109.982 30.396 8067
+-109.856 30.396 8038
+-109.73 30.396 7981
+-109.604 30.396 7882
+-109.478 30.396 7834
+-109.352 30.396 7748
+-109.226 30.396 7655
+-109.1 30.396 7568
+-108.974 30.396 7471
+-108.848 30.396 7286
+-108.722 30.396 7250
+-108.596 30.396 7114
+-108.47 30.396 7006
+-108.344 30.396 6917
+-108.218 30.396 6742
+-108.092 30.396 6617
+-107.966 30.396 6555
+-107.84 30.396 6413
+-107.714 30.396 6312
+-107.588 30.396 6200
+-107.462 30.396 6059
+-107.336 30.396 6000
+-107.21 30.396 5840
+-107.084 30.396 5702
+-106.958 30.396 5484
+-106.832 30.396 5432
+-106.706 30.396 5222
+-106.58 30.396 5160
+-106.454 30.396 5054
+-106.328 30.396 4899
+-106.202 30.396 4681
+-106.076 30.396 4778
+-105.95 30.396 4748
+-105.824 30.396 4689
+-105.698 30.396 4637
+-105.572 30.396 4621
+-105.446 30.396 4507
+-105.32 30.396 4418
+-105.194 30.396 4277
+-105.068 30.396 4111
+-104.942 30.396 4004
+-104.816 30.396 3815
+-104.69 30.396 3642
+-104.564 30.396 3411
+-104.438 30.396 3271
+-104.312 30.396 3105
+-104.186 30.396 2866
+-104.06 30.396 2702
+-103.934 30.396 2604
+-103.808 30.396 2617
+-103.682 30.396 2678
+-103.556 30.396 2719
+-103.43 30.396 2756
+-103.304 30.396 2778
+-103.178 30.396 2793
+-103.052 30.396 2776
+-102.926 30.396 2794
+-102.8 30.396 2800
+-102.674 30.396 2822
+-102.548 30.396 2847
+-102.422 30.396 2872
+-102.296 30.396 2896
+-102.17 30.396 2919
+-102.044 30.396 2941
+-101.918 30.396 2962
+-101.792 30.396 2973
+-101.666 30.396 2990
+-101.54 30.396 2927
+-101.414 30.396 2959
+-101.288 30.396 2930
+-101.162 30.396 2909
+-101.036 30.396 2921
+-100.91 30.396 2931
+-100.784 30.396 2941
+-100.658 30.396 2950
+-100.532 30.396 2958
+-100.406 30.396 2966
+-100.28 30.396 2850
+-100.154 30.396 2869
+-100.028 30.396 2772
+-99.902 30.396 2768
+-99.776 30.396 2762
+-99.65 30.396 2755
+-99.524 30.396 2673
+-99.398 30.396 2662
+-99.272 30.396 2650
+-99.146 30.396 2636
+-99.02 30.396 2621
+-98.894 30.396 2561
+-98.768 30.396 2543
+-98.642 30.396 2496
+-98.516 30.396 2474
+-98.39 30.396 2452
+-98.264 30.396 2340
+-98.138 30.396 2294
+-98.012 30.396 2239
+-97.886 30.396 2216
+-97.76 30.396 2196
+-97.634 30.396 2207
+-97.508 30.396 2191
+-97.382 30.396 2200
+-97.256 30.396 2233
+-97.13 30.396 2254
+-97.004 30.396 2242
+-96.878 30.396 2327
+-96.752 30.396 2287
+-96.626 30.396 2279
+-96.5 30.396 2270
+-96.374 30.396 2292
+-96.248 30.396 2285
+-96.122 30.396 2277
+-95.996 30.396 2256
+-95.87 30.396 2253
+-95.744 30.396 2250
+-95.618 30.396 2240
+-95.492 30.396 2287
+-95.366 30.396 2294
+-95.24 30.396 2301
+-95.114 30.396 2309
+-94.988 30.396 2305
+-94.862 30.396 2316
+-94.736 30.396 2336
+-94.61 30.396 2296
+-94.484 30.396 2313
+-94.358 30.396 2336
+-94.232 30.396 2360
+-94.106 30.396 2384
+-93.98 30.396 2368
+-93.854 30.396 2389
+-93.728 30.396 2411
+-93.602 30.396 2393
+-93.476 30.396 2351
+-93.35 30.396 2386
+-93.224 30.396 2403
+-93.098 30.396 2414
+-92.972 30.396 2429
+-92.846 30.396 2443
+-92.72 30.396 2448
+-92.594 30.396 2458
+-92.468 30.396 2467
+-92.342 30.396 2475
+-92.216 30.396 2482
+-92.09 30.396 2471
+-91.964 30.396 2476
+-91.838 30.396 2482
+-91.712 30.396 2488
+-91.586 30.396 2504
+-91.46 30.396 2517
+-91.334 30.396 2524
+-91.208 30.396 2584
+-91.082 30.396 2639
+-90.956 30.396 2632
+-90.83 30.396 2629
+-90.704 30.396 2627
+-90.578 30.396 2646
+-90.452 30.396 2646
+-90.326 30.396 2646
+-90.2 30.396 2647
+-90.074 30.396 2649
+-89.948 30.396 2672
+-89.822 30.396 2676
+-89.696 30.396 2680
+-89.57 30.396 2705
+-89.444 30.396 2706
+-89.318 30.396 2713
+-89.192 30.396 2708
+-89.066 30.396 2690
+-88.94 30.396 2654
+-88.814 30.396 2623
+-88.688 30.396 2506
+-88.562 30.396 2360
+-88.436 30.396 2267
+-88.31 30.396 2395
+-88.184 30.396 2668
+-88.058 30.396 2944
+-87.932 30.396 3153
+-87.806 30.396 3292
+-87.68 30.396 3382
+-87.554 30.396 3451
+-87.428 30.396 3464
+-87.302 30.396 3437
+-87.176 30.396 3552
+-87.05 30.396 3751
+-86.924 30.396 3908
+-86.798 30.396 4036
+-86.672 30.396 4193
+-86.546 30.396 4266
+-86.42 30.396 4376
+-86.294 30.396 4524
+-86.168 30.396 4626
+-86.042 30.396 4681
+-85.916 30.396 4775
+-85.79 30.396 4854
+-85.664 30.396 4989
+-85.538 30.396 5062
+-85.412 30.396 5225
+-85.286 30.396 5361
+-85.16 30.396 5481
+-85.034 30.396 5607
+-84.908 30.396 5700
+-84.782 30.396 5801
+-84.656 30.396 5872
+-84.53 30.396 5969
+-84.404 30.396 6080
+-84.278 30.396 6154
+-84.152 30.396 6228
+-84.026 30.396 6280
+-83.9 30.396 6376
+-83.774 30.396 6451
+-83.648 30.396 6484
+-83.522 30.396 6565
+-83.396 30.396 6646
+-83.27 30.396 6716
+-83.144 30.396 6770
+-83.018 30.396 6829
+-82.892 30.396 6830
+-82.766 30.396 6889
+-82.64 30.396 6870
+-82.514 30.396 6930
+-82.388 30.396 6921
+-82.262 30.396 6926
+-82.136 30.396 6950
+-82.01 30.396 6919
+-81.884 30.396 6943
+-81.758 30.396 6891
+-81.632 30.396 6908
+-81.506 30.396 6819
+-81.38 30.396 6828
+-81.254 30.396 6775
+-81.128 30.396 6759
+-81.002 30.396 6687
+-80.876 30.396 6556
+-80.75 30.396 6559
+-80.624 30.396 6481
+-80.498 30.396 6398
+-80.372 30.396 6264
+-80.246 30.396 6154
+-80.12 30.396 6090
+-79.994 30.396 5969
+-79.868 30.396 5953
+-79.742 30.396 5791
+-79.616 30.396 5724
+-79.49 30.396 5619
+-79.364 30.396 5574
+-79.238 30.396 5452
+-79.112 30.396 5347
+-78.986 30.396 5304
+-78.86 30.396 5165
+-78.734 30.396 5025
+-78.608 30.396 4860
+-78.482 30.396 4912
+-78.356 30.396 4780
+-78.23 30.396 4580
+-78.104 30.396 4424
+-77.978 30.396 4333
+-77.852 30.396 4311
+-77.726 30.396 4265
+-77.6 30.396 4166
+-77.474 30.396 4096
+-77.348 30.396 4007
+-77.222 30.396 3943
+-77.096 30.396 3860
+-76.97 30.396 3798
+-76.844 30.396 3706
+-76.718 30.396 3569
+-76.592 30.396 3387
+-76.466 30.396 3180
+-76.34 30.396 3083
+-76.214 30.396 3089
+-76.088 30.396 3149
+-75.962 30.396 3208
+-75.836 30.396 3254
+-75.71 30.396 3288
+-75.584 30.396 3321
+-75.458 30.396 3347
+-75.332 30.396 3367
+-75.206 30.396 3384
+-75.08 30.396 3398
+-74.954 30.396 3411
+-74.828 30.396 3392
+-74.702 30.396 3357
+-74.576 30.396 3397
+-74.45 30.396 3355
+-74.324 30.396 3362
+-74.198 30.396 3333
+-74.072 30.396 3276
+-73.946 30.396 3302
+-73.82 30.396 3307
+-73.694 30.396 3311
+-73.568 30.396 3315
+-73.442 30.396 3318
+-73.316 30.396 3322
+-73.19 30.396 3295
+-73.064 30.396 3203
+-72.938 30.396 3193
+-72.812 30.396 3196
+-72.686 30.396 3199
+-72.56 30.396 3202
+-72.434 30.396 3204
+-72.308 30.396 3207
+-72.182 30.396 3209
+-72.056 30.396 3211
+-71.93 30.396 3213
+-71.804 30.396 3215
+-71.678 30.396 3217
+-71.552 30.396 3219
+-71.426 30.396 3220
+-71.3 30.396 3222
+-71.174 30.396 3223
+-71.048 30.396 3209
+-70.922 30.396 3211
+-70.796 30.396 3213
+-70.67 30.396 3215
+-70.544 30.396 3217
+-70.418 30.396 3176
+-70.292 30.396 3177
+-70.166 30.396 3178
+-70.04 30.396 3179
+-69.914 30.396 3180
+-69.788 30.396 3180
+-69.662 30.396 3167
+-69.536 30.396 3168
+-69.41 30.396 3145
+-69.284 30.396 3129
+-69.158 30.396 3130
+-69.032 30.396 3131
+-68.906 30.396 3132
+-68.78 30.396 3132
+-68.654 30.396 3133
+-68.528 30.396 3134
+-68.402 30.396 3134
+-68.276 30.396 3135
+-68.15 30.396 3135
+-68.024 30.396 3136
+-67.898 30.396 3042
+-67.772 30.396 3043
+-67.646 30.396 3043
+-67.52 30.396 3044
+-67.394 30.396 3045
+-67.268 30.396 3045
+-67.142 30.396 3046
+-67.016 30.396 3046
+-66.89 30.396 3047
+-66.764 30.396 3048
+-66.638 30.396 3048
+-66.512 30.396 3049
+-66.386 30.396 3049
+-66.26 30.396 3050
+-66.134 30.396 3050
+-66.008 30.396 3051
+-65.882 30.396 3051
+-65.756 30.396 3051
+-65.63 30.396 3052
+-65.504 30.396 3052
+-65.378 30.396 3053
+-65.252 30.396 3053
+-65.126 30.396 3054
+-128 30.344 2431
+-127.874 30.344 2446
+-127.748 30.344 2435
+-127.622 30.344 2424
+-127.496 30.344 2461
+-127.37 30.344 2451
+-127.244 30.344 2440
+-127.118 30.344 2430
+-126.992 30.344 2420
+-126.866 30.344 2409
+-126.74 30.344 2399
+-126.614 30.344 2390
+-126.488 30.344 2398
+-126.362 30.344 2452
+-126.236 30.344 2445
+-126.11 30.344 2440
+-125.984 30.344 2437
+-125.858 30.344 2437
+-125.732 30.344 2439
+-125.606 30.344 2445
+-125.48 30.344 2475
+-125.354 30.344 2490
+-125.228 30.344 2510
+-125.102 30.344 2541
+-124.976 30.344 2602
+-124.85 30.344 2632
+-124.724 30.344 2680
+-124.598 30.344 2716
+-124.472 30.344 2754
+-124.346 30.344 2871
+-124.22 30.344 2948
+-124.094 30.344 2986
+-123.968 30.344 3036
+-123.842 30.344 3079
+-123.716 30.344 3110
+-123.59 30.344 3148
+-123.464 30.344 3170
+-123.338 30.344 3191
+-123.212 30.344 3197
+-123.086 30.344 3278
+-122.96 30.344 3290
+-122.834 30.344 3254
+-122.708 30.344 3193
+-122.582 30.344 3134
+-122.456 30.344 3049
+-122.33 30.344 3227
+-122.204 30.344 3380
+-122.078 30.344 3534
+-121.952 30.344 3626
+-121.826 30.344 3675
+-121.7 30.344 3823
+-121.574 30.344 3987
+-121.448 30.344 4239
+-121.322 30.344 4392
+-121.196 30.344 4485
+-121.07 30.344 4527
+-120.944 30.344 4628
+-120.818 30.344 4716
+-120.692 30.344 4859
+-120.566 30.344 5027
+-120.44 30.344 5123
+-120.314 30.344 5202
+-120.188 30.344 5326
+-120.062 30.344 5408
+-119.936 30.344 5446
+-119.81 30.344 5563
+-119.684 30.344 5718
+-119.558 30.344 5827
+-119.432 30.344 5892
+-119.306 30.344 6070
+-119.18 30.344 6166
+-119.054 30.344 6208
+-118.928 30.344 6262
+-118.802 30.344 6335
+-118.676 30.344 6409
+-118.55 30.344 6481
+-118.424 30.344 6564
+-118.298 30.344 6611
+-118.172 30.344 6695
+-118.046 30.344 6745
+-117.92 30.344 6781
+-117.794 30.344 6812
+-117.668 30.344 6887
+-117.542 30.344 6879
+-117.416 30.344 6920
+-117.29 30.344 6957
+-117.164 30.344 6984
+-117.038 30.344 6985
+-116.912 30.344 6960
+-116.786 30.344 6948
+-116.66 30.344 6926
+-116.534 30.344 6903
+-116.408 30.344 6870
+-116.282 30.344 6828
+-116.156 30.344 6794
+-116.03 30.344 6756
+-115.904 30.344 6706
+-115.778 30.344 6630
+-115.652 30.344 6581
+-115.526 30.344 6499
+-115.4 30.344 6405
+-115.274 30.344 6315
+-115.148 30.344 6259
+-115.022 30.344 6187
+-114.896 30.344 6133
+-114.77 30.344 6020
+-114.644 30.344 5855
+-114.518 30.344 5868
+-114.392 30.344 5772
+-114.266 30.344 5666
+-114.14 30.344 5555
+-114.014 30.344 5499
+-113.888 30.344 5479
+-113.762 30.344 5583
+-113.636 30.344 5701
+-113.51 30.344 5807
+-113.384 30.344 5952
+-113.258 30.344 6152
+-113.132 30.344 6196
+-113.006 30.344 6286
+-112.88 30.344 6507
+-112.754 30.344 6553
+-112.628 30.344 6685
+-112.502 30.344 6779
+-112.376 30.344 6915
+-112.25 30.344 7057
+-112.124 30.344 7109
+-111.998 30.344 7257
+-111.872 30.344 7401
+-111.746 30.344 7521
+-111.62 30.344 7554
+-111.494 30.344 7628
+-111.368 30.344 7745
+-111.242 30.344 7811
+-111.116 30.344 7895
+-110.99 30.344 7941
+-110.864 30.344 8028
+-110.738 30.344 8039
+-110.612 30.344 8092
+-110.486 30.344 8120
+-110.36 30.344 8114
+-110.234 30.344 8093
+-110.108 30.344 8066
+-109.982 30.344 8046
+-109.856 30.344 7989
+-109.73 30.344 7937
+-109.604 30.344 7847
+-109.478 30.344 7832
+-109.352 30.344 7712
+-109.226 30.344 7573
+-109.1 30.344 7533
+-108.974 30.344 7433
+-108.848 30.344 7305
+-108.722 30.344 7259
+-108.596 30.344 7088
+-108.47 30.344 6960
+-108.344 30.344 6914
+-108.218 30.344 6720
+-108.092 30.344 6625
+-107.966 30.344 6490
+-107.84 30.344 6376
+-107.714 30.344 6296
+-107.588 30.344 6203
+-107.462 30.344 6132
+-107.336 30.344 5993
+-107.21 30.344 5820
+-107.084 30.344 5645
+-106.958 30.344 5534
+-106.832 30.344 5420
+-106.706 30.344 5251
+-106.58 30.344 5146
+-106.454 30.344 5041
+-106.328 30.344 4920
+-106.202 30.344 4831
+-106.076 30.344 4803
+-105.95 30.344 4739
+-105.824 30.344 4691
+-105.698 30.344 4620
+-105.572 30.344 4580
+-105.446 30.344 4459
+-105.32 30.344 4413
+-105.194 30.344 4275
+-105.068 30.344 4165
+-104.942 30.344 4021
+-104.816 30.344 3835
+-104.69 30.344 3613
+-104.564 30.344 3498
+-104.438 30.344 3322
+-104.312 30.344 3184
+-104.186 30.344 2983
+-104.06 30.344 2863
+-103.934 30.344 2787
+-103.808 30.344 2742
+-103.682 30.344 2724
+-103.556 30.344 2728
+-103.43 30.344 2728
+-103.304 30.344 2724
+-103.178 30.344 2697
+-103.052 30.344 2708
+-102.926 30.344 2715
+-102.8 30.344 2742
+-102.674 30.344 2773
+-102.548 30.344 2805
+-102.422 30.344 2837
+-102.296 30.344 2868
+-102.17 30.344 2896
+-102.044 30.344 2922
+-101.918 30.344 2938
+-101.792 30.344 2960
+-101.666 30.344 2898
+-101.54 30.344 2916
+-101.414 30.344 2896
+-101.288 30.344 2889
+-101.162 30.344 2902
+-101.036 30.344 2914
+-100.91 30.344 2925
+-100.784 30.344 2936
+-100.658 30.344 2945
+-100.532 30.344 2954
+-100.406 30.344 2962
+-100.28 30.344 2849
+-100.154 30.344 2846
+-100.028 30.344 2843
+-99.902 30.344 2766
+-99.776 30.344 2761
+-99.65 30.344 2755
+-99.524 30.344 2674
+-99.398 30.344 2664
+-99.272 30.344 2652
+-99.146 30.344 2639
+-99.02 30.344 2625
+-98.894 30.344 2609
+-98.768 30.344 2548
+-98.642 30.344 2503
+-98.516 30.344 2482
+-98.39 30.344 2460
+-98.264 30.344 2350
+-98.138 30.344 2304
+-98.012 30.344 2251
+-97.886 30.344 2229
+-97.76 30.344 2206
+-97.634 30.344 2178
+-97.508 30.344 2236
+-97.382 30.344 2216
+-97.256 30.344 2283
+-97.13 30.344 2276
+-97.004 30.344 2266
+-96.878 30.344 2353
+-96.752 30.344 2316
+-96.626 30.344 2307
+-96.5 30.344 2299
+-96.374 30.344 2327
+-96.248 30.344 2319
+-96.122 30.344 2297
+-95.996 30.344 2293
+-95.87 30.344 2289
+-95.744 30.344 2277
+-95.618 30.344 2323
+-95.492 30.344 2328
+-95.366 30.344 2332
+-95.24 30.344 2337
+-95.114 30.344 2329
+-94.988 30.344 2336
+-94.862 30.344 2353
+-94.736 30.344 2308
+-94.61 30.344 2322
+-94.484 30.344 2342
+-94.358 30.344 2363
+-94.232 30.344 2384
+-94.106 30.344 2366
+-93.98 30.344 2384
+-93.854 30.344 2406
+-93.728 30.344 2385
+-93.602 30.344 2343
+-93.476 30.344 2378
+-93.35 30.344 2395
+-93.224 30.344 2407
+-93.098 30.344 2422
+-92.972 30.344 2436
+-92.846 30.344 2441
+-92.72 30.344 2453
+-92.594 30.344 2463
+-92.468 30.344 2471
+-92.342 30.344 2479
+-92.216 30.344 2469
+-92.09 30.344 2474
+-91.964 30.344 2466
+-91.838 30.344 2488
+-91.712 30.344 2506
+-91.586 30.344 2537
+-91.46 30.344 2517
+-91.334 30.344 2522
+-91.208 30.344 2658
+-91.082 30.344 2644
+-90.956 30.344 2651
+-90.83 30.344 2650
+-90.704 30.344 2670
+-90.578 30.344 2670
+-90.452 30.344 2671
+-90.326 30.344 2672
+-90.2 30.344 2674
+-90.074 30.344 2701
+-89.948 30.344 2704
+-89.822 30.344 2708
+-89.696 30.344 2736
+-89.57 30.344 2738
+-89.444 30.344 2738
+-89.318 30.344 2734
+-89.192 30.344 2765
+-89.066 30.344 2743
+-88.94 30.344 2703
+-88.814 30.344 2658
+-88.688 30.344 2555
+-88.562 30.344 2432
+-88.436 30.344 2377
+-88.31 30.344 2500
+-88.184 30.344 2748
+-88.058 30.344 3003
+-87.932 30.344 3209
+-87.806 30.344 3328
+-87.68 30.344 3391
+-87.554 30.344 3434
+-87.428 30.344 3473
+-87.302 30.344 3506
+-87.176 30.344 3601
+-87.05 30.344 3782
+-86.924 30.344 3852
+-86.798 30.344 3976
+-86.672 30.344 4189
+-86.546 30.344 4227
+-86.42 30.344 4341
+-86.294 30.344 4528
+-86.168 30.344 4670
+-86.042 30.344 4760
+-85.916 30.344 4840
+-85.79 30.344 4848
+-85.664 30.344 4972
+-85.538 30.344 5128
+-85.412 30.344 5290
+-85.286 30.344 5417
+-85.16 30.344 5525
+-85.034 30.344 5559
+-84.908 30.344 5710
+-84.782 30.344 5832
+-84.656 30.344 5944
+-84.53 30.344 6038
+-84.404 30.344 6088
+-84.278 30.344 6143
+-84.152 30.344 6251
+-84.026 30.344 6357
+-83.9 30.344 6449
+-83.774 30.344 6475
+-83.648 30.344 6566
+-83.522 30.344 6656
+-83.396 30.344 6699
+-83.27 30.344 6773
+-83.144 30.344 6837
+-83.018 30.344 6831
+-82.892 30.344 6917
+-82.766 30.344 6945
+-82.64 30.344 6970
+-82.514 30.344 6987
+-82.388 30.344 6990
+-82.262 30.344 6993
+-82.136 30.344 6985
+-82.01 30.344 6961
+-81.884 30.344 6964
+-81.758 30.344 6963
+-81.632 30.344 6909
+-81.506 30.344 6900
+-81.38 30.344 6853
+-81.254 30.344 6820
+-81.128 30.344 6734
+-81.002 30.344 6727
+-80.876 30.344 6655
+-80.75 30.344 6578
+-80.624 30.344 6498
+-80.498 30.344 6482
+-80.372 30.344 6388
+-80.246 30.344 6195
+-80.12 30.344 6130
+-79.994 30.344 5998
+-79.868 30.344 5928
+-79.742 30.344 5904
+-79.616 30.344 5769
+-79.49 30.344 5707
+-79.364 30.344 5626
+-79.238 30.344 5506
+-79.112 30.344 5391
+-78.986 30.344 5269
+-78.86 30.344 5120
+-78.734 30.344 5100
+-78.608 30.344 5006
+-78.482 30.344 4943
+-78.356 30.344 4784
+-78.23 30.344 4643
+-78.104 30.344 4502
+-77.978 30.344 4409
+-77.852 30.344 4332
+-77.726 30.344 4241
+-77.6 30.344 4122
+-77.474 30.344 4032
+-77.348 30.344 3956
+-77.222 30.344 3937
+-77.096 30.344 3888
+-76.97 30.344 3840
+-76.844 30.344 3740
+-76.718 30.344 3531
+-76.592 30.344 3274
+-76.466 30.344 2995
+-76.34 30.344 2866
+-76.214 30.344 2921
+-76.088 30.344 3049
+-75.962 30.344 3159
+-75.836 30.344 3236
+-75.71 30.344 3295
+-75.584 30.344 3336
+-75.458 30.344 3366
+-75.332 30.344 3388
+-75.206 30.344 3405
+-75.08 30.344 3419
+-74.954 30.344 3401
+-74.828 30.344 3397
+-74.702 30.344 3406
+-74.576 30.344 3414
+-74.45 30.344 3414
+-74.324 30.344 3376
+-74.198 30.344 3365
+-74.072 30.344 3310
+-73.946 30.344 3314
+-73.82 30.344 3318
+-73.694 30.344 3321
+-73.568 30.344 3336
+-73.442 30.344 3340
+-73.316 30.344 3343
+-73.19 30.344 3209
+-73.064 30.344 3199
+-72.938 30.344 3202
+-72.812 30.344 3205
+-72.686 30.344 3207
+-72.56 30.344 3209
+-72.434 30.344 3212
+-72.308 30.344 3214
+-72.182 30.344 3216
+-72.056 30.344 3218
+-71.93 30.344 3219
+-71.804 30.344 3221
+-71.678 30.344 3223
+-71.552 30.344 3224
+-71.426 30.344 3225
+-71.3 30.344 3227
+-71.174 30.344 3213
+-71.048 30.344 3214
+-70.922 30.344 3216
+-70.796 30.344 3218
+-70.67 30.344 3220
+-70.544 30.344 3179
+-70.418 30.344 3180
+-70.292 30.344 3181
+-70.166 30.344 3181
+-70.04 30.344 3182
+-69.914 30.344 3183
+-69.788 30.344 3168
+-69.662 30.344 3169
+-69.536 30.344 3147
+-69.41 30.344 3131
+-69.284 30.344 3131
+-69.158 30.344 3132
+-69.032 30.344 3133
+-68.906 30.344 3133
+-68.78 30.344 3134
+-68.654 30.344 3135
+-68.528 30.344 3135
+-68.402 30.344 3136
+-68.276 30.344 3136
+-68.15 30.344 3137
+-68.024 30.344 3043
+-67.898 30.344 3043
+-67.772 30.344 3044
+-67.646 30.344 3045
+-67.52 30.344 3045
+-67.394 30.344 3046
+-67.268 30.344 3047
+-67.142 30.344 3047
+-67.016 30.344 3048
+-66.89 30.344 3048
+-66.764 30.344 3049
+-66.638 30.344 3049
+-66.512 30.344 3050
+-66.386 30.344 3050
+-66.26 30.344 3051
+-66.134 30.344 3051
+-66.008 30.344 3052
+-65.882 30.344 3052
+-65.756 30.344 3052
+-65.63 30.344 3053
+-65.504 30.344 3053
+-65.378 30.344 3054
+-65.252 30.344 3054
+-65.126 30.344 3054
+-128 30.292 2434
+-127.874 30.292 2422
+-127.748 30.292 2409
+-127.622 30.292 2445
+-127.496 30.292 2433
+-127.37 30.292 2421
+-127.244 30.292 2408
+-127.118 30.292 2395
+-126.992 30.292 2382
+-126.866 30.292 2369
+-126.74 30.292 2356
+-126.614 30.292 2360
+-126.488 30.292 2408
+-126.362 30.292 2397
+-126.236 30.292 2386
+-126.11 30.292 2378
+-125.984 30.292 2371
+-125.858 30.292 2367
+-125.732 30.292 2367
+-125.606 30.292 2396
+-125.48 30.292 2406
+-125.354 30.292 2420
+-125.228 30.292 2447
+-125.102 30.292 2484
+-124.976 30.292 2513
+-124.85 30.292 2581
+-124.724 30.292 2618
+-124.598 30.292 2658
+-124.472 30.292 2750
+-124.346 30.292 2821
+-124.22 30.292 2866
+-124.094 30.292 2918
+-123.968 30.292 2974
+-123.842 30.292 3045
+-123.716 30.292 3080
+-123.59 30.292 3101
+-123.464 30.292 3155
+-123.338 30.292 3172
+-123.212 30.292 3179
+-123.086 30.292 3243
+-122.96 30.292 3206
+-122.834 30.292 3184
+-122.708 30.292 3114
+-122.582 30.292 3061
+-122.456 30.292 3118
+-122.33 30.292 3240
+-122.204 30.292 3400
+-122.078 30.292 3537
+-121.952 30.292 3618
+-121.826 30.292 3684
+-121.7 30.292 3798
+-121.574 30.292 3969
+-121.448 30.292 4174
+-121.322 30.292 4336
+-121.196 30.292 4439
+-121.07 30.292 4418
+-120.944 30.292 4567
+-120.818 30.292 4609
+-120.692 30.292 4768
+-120.566 30.292 4968
+-120.44 30.292 5097
+-120.314 30.292 5082
+-120.188 30.292 5258
+-120.062 30.292 5400
+-119.936 30.292 5457
+-119.81 30.292 5556
+-119.684 30.292 5710
+-119.558 30.292 5742
+-119.432 30.292 5832
+-119.306 30.292 5975
+-119.18 30.292 6076
+-119.054 30.292 6169
+-118.928 30.292 6194
+-118.802 30.292 6297
+-118.676 30.292 6355
+-118.55 30.292 6434
+-118.424 30.292 6525
+-118.298 30.292 6597
+-118.172 30.292 6651
+-118.046 30.292 6694
+-117.92 30.292 6733
+-117.794 30.292 6773
+-117.668 30.292 6824
+-117.542 30.292 6836
+-117.416 30.292 6850
+-117.29 30.292 6915
+-117.164 30.292 6893
+-117.038 30.292 6893
+-116.912 30.292 6919
+-116.786 30.292 6874
+-116.66 30.292 6838
+-116.534 30.292 6813
+-116.408 30.292 6784
+-116.282 30.292 6755
+-116.156 30.292 6746
+-116.03 30.292 6688
+-115.904 30.292 6623
+-115.778 30.292 6559
+-115.652 30.292 6493
+-115.526 30.292 6442
+-115.4 30.292 6413
+-115.274 30.292 6308
+-115.148 30.292 6156
+-115.022 30.292 6146
+-114.896 30.292 6014
+-114.77 30.292 5986
+-114.644 30.292 5903
+-114.518 30.292 5838
+-114.392 30.292 5746
+-114.266 30.292 5621
+-114.14 30.292 5546
+-114.014 30.292 5514
+-113.888 30.292 5528
+-113.762 30.292 5574
+-113.636 30.292 5676
+-113.51 30.292 5803
+-113.384 30.292 5928
+-113.258 30.292 6103
+-113.132 30.292 6194
+-113.006 30.292 6298
+-112.88 30.292 6461
+-112.754 30.292 6585
+-112.628 30.292 6691
+-112.502 30.292 6809
+-112.376 30.292 6870
+-112.25 30.292 6974
+-112.124 30.292 7049
+-111.998 30.292 7216
+-111.872 30.292 7339
+-111.746 30.292 7474
+-111.62 30.292 7566
+-111.494 30.292 7632
+-111.368 30.292 7688
+-111.242 30.292 7825
+-111.116 30.292 7851
+-110.99 30.292 7912
+-110.864 30.292 7965
+-110.738 30.292 7979
+-110.612 30.292 8032
+-110.486 30.292 8046
+-110.36 30.292 8044
+-110.234 30.292 8042
+-110.108 30.292 7983
+-109.982 30.292 7975
+-109.856 30.292 7945
+-109.73 30.292 7873
+-109.604 30.292 7808
+-109.478 30.292 7714
+-109.352 30.292 7605
+-109.226 30.292 7569
+-109.1 30.292 7480
+-108.974 30.292 7363
+-108.848 30.292 7303
+-108.722 30.292 7171
+-108.596 30.292 7050
+-108.47 30.292 6975
+-108.344 30.292 6911
+-108.218 30.292 6725
+-108.092 30.292 6579
+-107.966 30.292 6526
+-107.84 30.292 6350
+-107.714 30.292 6183
+-107.588 30.292 6209
+-107.462 30.292 6091
+-107.336 30.292 5941
+-107.21 30.292 5745
+-107.084 30.292 5589
+-106.958 30.292 5488
+-106.832 30.292 5423
+-106.706 30.292 5266
+-106.58 30.292 5151
+-106.454 30.292 4998
+-106.328 30.292 4892
+-106.202 30.292 4881
+-106.076 30.292 4790
+-105.95 30.292 4710
+-105.824 30.292 4634
+-105.698 30.292 4595
+-105.572 30.292 4557
+-105.446 30.292 4482
+-105.32 30.292 4434
+-105.194 30.292 4265
+-105.068 30.292 4150
+-104.942 30.292 3977
+-104.816 30.292 3838
+-104.69 30.292 3621
+-104.564 30.292 3521
+-104.438 30.292 3413
+-104.312 30.292 3252
+-104.186 30.292 3136
+-104.06 30.292 2976
+-103.934 30.292 2890
+-103.808 30.292 2826
+-103.682 30.292 2759
+-103.556 30.292 2699
+-103.43 30.292 2658
+-103.304 30.292 2629
+-103.178 30.292 2596
+-103.052 30.292 2589
+-102.926 30.292 2619
+-102.8 30.292 2659
+-102.674 30.292 2703
+-102.548 30.292 2746
+-102.422 30.292 2787
+-102.296 30.292 2824
+-102.17 30.292 2858
+-102.044 30.292 2888
+-101.918 30.292 2915
+-101.792 30.292 2939
+-101.666 30.292 2885
+-101.54 30.292 2870
+-101.414 30.292 2887
+-101.288 30.292 2902
+-101.162 30.292 2896
+-101.036 30.292 2908
+-100.91 30.292 2920
+-100.784 30.292 2931
+-100.658 30.292 2941
+-100.532 30.292 2950
+-100.406 30.292 2959
+-100.28 30.292 2847
+-100.154 30.292 2846
+-100.028 30.292 2843
+-99.902 30.292 2839
+-99.776 30.292 2760
+-99.65 30.292 2754
+-99.524 30.292 2675
+-99.398 30.292 2665
+-99.272 30.292 2654
+-99.146 30.292 2642
+-99.02 30.292 2629
+-98.894 30.292 2614
+-98.768 30.292 2576
+-98.642 30.292 2509
+-98.516 30.292 2490
+-98.39 30.292 2469
+-98.264 30.292 2358
+-98.138 30.292 2314
+-98.012 30.292 2262
+-97.886 30.292 2241
+-97.76 30.292 2220
+-97.634 30.292 2213
+-97.508 30.292 2250
+-97.382 30.292 2261
+-97.256 30.292 2303
+-97.13 30.292 2294
+-97.004 30.292 2280
+-96.878 30.292 2194
+-96.752 30.292 2341
+-96.626 30.292 2334
+-96.5 30.292 2327
+-96.374 30.292 2357
+-96.248 30.292 2334
+-96.122 30.292 2330
+-95.996 30.292 2325
+-95.87 30.292 2311
+-95.744 30.292 2358
+-95.618 30.292 2360
+-95.492 30.292 2363
+-95.366 30.292 2365
+-95.24 30.292 2353
+-95.114 30.292 2358
+-94.988 30.292 2371
+-94.862 30.292 2322
+-94.736 30.292 2333
+-94.61 30.292 2350
+-94.484 30.292 2368
+-94.358 30.292 2387
+-94.232 30.292 2366
+-94.106 30.292 2383
+-93.98 30.292 2402
+-93.854 30.292 2380
+-93.728 30.292 2310
+-93.602 30.292 2372
+-93.476 30.292 2389
+-93.35 30.292 2400
+-93.224 30.292 2415
+-93.098 30.292 2429
+-92.972 30.292 2435
+-92.846 30.292 2447
+-92.72 30.292 2458
+-92.594 30.292 2467
+-92.468 30.292 2475
+-92.342 30.292 2466
+-92.216 30.292 2472
+-92.09 30.292 2465
+-91.964 30.292 2488
+-91.838 30.292 2507
+-91.712 30.292 2527
+-91.586 30.292 2523
+-91.46 30.292 2528
+-91.334 30.292 2663
+-91.208 30.292 2662
+-91.082 30.292 2662
+-90.956 30.292 2661
+-90.83 30.292 2662
+-90.704 30.292 2662
+-90.578 30.292 2720
+-90.452 30.292 2722
+-90.326 30.292 2724
+-90.2 30.292 2727
+-90.074 30.292 2730
+-89.948 30.292 2733
+-89.822 30.292 2765
+-89.696 30.292 2768
+-89.57 30.292 2770
+-89.444 30.292 2770
+-89.318 30.292 2810
+-89.192 30.292 2798
+-89.066 30.292 2779
+-88.94 30.292 2748
+-88.814 30.292 2701
+-88.688 30.292 2657
+-88.562 30.292 2608
+-88.436 30.292 2600
+-88.31 30.292 2693
+-88.184 30.292 2899
+-88.058 30.292 3095
+-87.932 30.292 3265
+-87.806 30.292 3337
+-87.68 30.292 3359
+-87.554 30.292 3365
+-87.428 30.292 3441
+-87.302 30.292 3561
+-87.176 30.292 3656
+-87.05 30.292 3791
+-86.924 30.292 3804
+-86.798 30.292 3929
+-86.672 30.292 4133
+-86.546 30.292 4248
+-86.42 30.292 4383
+-86.294 30.292 4557
+-86.168 30.292 4709
+-86.042 30.292 4835
+-85.916 30.292 4902
+-85.79 30.292 4942
+-85.664 30.292 5074
+-85.538 30.292 5237
+-85.412 30.292 5343
+-85.286 30.292 5429
+-85.16 30.292 5459
+-85.034 30.292 5649
+-84.908 30.292 5734
+-84.782 30.292 5852
+-84.656 30.292 5973
+-84.53 30.292 6055
+-84.404 30.292 6138
+-84.278 30.292 6187
+-84.152 30.292 6290
+-84.026 30.292 6410
+-83.9 30.292 6528
+-83.774 30.292 6555
+-83.648 30.292 6638
+-83.522 30.292 6725
+-83.396 30.292 6776
+-83.27 30.292 6842
+-83.144 30.292 6897
+-83.018 30.292 6947
+-82.892 30.292 6965
+-82.766 30.292 6989
+-82.64 30.292 7024
+-82.514 30.292 7036
+-82.388 30.292 7036
+-82.262 30.292 7065
+-82.136 30.292 7057
+-82.01 30.292 7047
+-81.884 30.292 6998
+-81.758 30.292 6973
+-81.632 30.292 6934
+-81.506 30.292 6913
+-81.38 30.292 6943
+-81.254 30.292 6875
+-81.128 30.292 6806
+-81.002 30.292 6735
+-80.876 30.292 6713
+-80.75 30.292 6641
+-80.624 30.292 6555
+-80.498 30.292 6447
+-80.372 30.292 6447
+-80.246 30.292 6293
+-80.12 30.292 6164
+-79.994 30.292 6006
+-79.868 30.292 5919
+-79.742 30.292 5949
+-79.616 30.292 5796
+-79.49 30.292 5701
+-79.364 30.292 5666
+-79.238 30.292 5584
+-79.112 30.292 5415
+-78.986 30.292 5281
+-78.86 30.292 5169
+-78.734 30.292 5157
+-78.608 30.292 5079
+-78.482 30.292 4956
+-78.356 30.292 4800
+-78.23 30.292 4674
+-78.104 30.292 4563
+-77.978 30.292 4436
+-77.852 30.292 4324
+-77.726 30.292 4200
+-77.6 30.292 4051
+-77.474 30.292 3938
+-77.348 30.292 3860
+-77.222 30.292 3881
+-77.096 30.292 3890
+-76.97 30.292 3848
+-76.844 30.292 3749
+-76.718 30.292 3556
+-76.592 30.292 3224
+-76.466 30.292 2890
+-76.34 30.292 2746
+-76.214 30.292 2847
+-76.088 30.292 3023
+-75.962 30.292 3152
+-75.836 30.292 3244
+-75.71 30.292 3311
+-75.584 30.292 3355
+-75.458 30.292 3387
+-75.332 30.292 3409
+-75.206 30.292 3426
+-75.08 30.292 3410
+-74.954 30.292 3407
+-74.828 30.292 3416
+-74.702 30.292 3424
+-74.576 30.292 3423
+-74.45 30.292 3385
+-74.324 30.292 3374
+-74.198 30.292 3378
+-74.072 30.292 3322
+-73.946 30.292 3357
+-73.82 30.292 3361
+-73.694 30.292 3342
+-73.568 30.292 3345
+-73.442 30.292 3347
+-73.316 30.292 3217
+-73.19 30.292 3206
+-73.064 30.292 3209
+-72.938 30.292 3211
+-72.812 30.292 3213
+-72.686 30.292 3215
+-72.56 30.292 3217
+-72.434 30.292 3219
+-72.308 30.292 3221
+-72.182 30.292 3222
+-72.056 30.292 3224
+-71.93 30.292 3225
+-71.804 30.292 3227
+-71.678 30.292 3228
+-71.552 30.292 3229
+-71.426 30.292 3231
+-71.3 30.292 3216
+-71.174 30.292 3218
+-71.048 30.292 3220
+-70.922 30.292 3222
+-70.796 30.292 3223
+-70.67 30.292 3182
+-70.544 30.292 3183
+-70.418 30.292 3184
+-70.292 30.292 3184
+-70.166 30.292 3185
+-70.04 30.292 3186
+-69.914 30.292 3170
+-69.788 30.292 3171
+-69.662 30.292 3148
+-69.536 30.292 3132
+-69.41 30.292 3133
+-69.284 30.292 3134
+-69.158 30.292 3134
+-69.032 30.292 3135
+-68.906 30.292 3135
+-68.78 30.292 3136
+-68.654 30.292 3136
+-68.528 30.292 3137
+-68.402 30.292 3137
+-68.276 30.292 3138
+-68.15 30.292 3044
+-68.024 30.292 3044
+-67.898 30.292 3045
+-67.772 30.292 3046
+-67.646 30.292 3046
+-67.52 30.292 3047
+-67.394 30.292 3047
+-67.268 30.292 3048
+-67.142 30.292 3048
+-67.016 30.292 3049
+-66.89 30.292 3049
+-66.764 30.292 3050
+-66.638 30.292 3050
+-66.512 30.292 3051
+-66.386 30.292 3051
+-66.26 30.292 3052
+-66.134 30.292 3052
+-66.008 30.292 3053
+-65.882 30.292 3053
+-65.756 30.292 3053
+-65.63 30.292 3054
+-65.504 30.292 3054
+-65.378 30.292 3055
+-65.252 30.292 3055
+-65.126 30.292 3055
+-128 30.24 2410
+-127.874 30.24 2396
+-127.748 30.24 2432
+-127.622 30.24 2419
+-127.496 30.24 2405
+-127.37 30.24 2390
+-127.244 30.24 2375
+-127.118 30.24 2359
+-126.992 30.24 2343
+-126.866 30.24 2327
+-126.74 30.24 2327
+-126.614 30.24 2370
+-126.488 30.24 2354
+-126.362 30.24 2338
+-126.236 30.24 2323
+-126.11 30.24 2310
+-125.984 30.24 2299
+-125.858 30.24 2291
+-125.732 30.24 2317
+-125.606 30.24 2320
+-125.48 30.24 2327
+-125.354 30.24 2348
+-125.228 30.24 2381
+-125.102 30.24 2407
+-124.976 30.24 2470
+-124.85 30.24 2506
+-124.724 30.24 2545
+-124.598 30.24 2637
+-124.472 30.24 2712
+-124.346 30.24 2761
+-124.22 30.24 2818
+-124.094 30.24 2868
+-123.968 30.24 2916
+-123.842 30.24 2976
+-123.716 30.24 3019
+-123.59 30.24 3105
+-123.464 30.24 3123
+-123.338 30.24 3144
+-123.212 30.24 3164
+-123.086 30.24 3216
+-122.96 30.24 3208
+-122.834 30.24 3134
+-122.708 30.24 3035
+-122.582 30.24 2914
+-122.456 30.24 3081
+-122.33 30.24 3250
+-122.204 30.24 3380
+-122.078 30.24 3510
+-121.952 30.24 3614
+-121.826 30.24 3706
+-121.7 30.24 3818
+-121.574 30.24 3937
+-121.448 30.24 4101
+-121.322 30.24 4317
+-121.196 30.24 4420
+-121.07 30.24 4494
+-120.944 30.24 4581
+-120.818 30.24 4651
+-120.692 30.24 4769
+-120.566 30.24 4943
+-120.44 30.24 5043
+-120.314 30.24 5130
+-120.188 30.24 5256
+-120.062 30.24 5383
+-119.936 30.24 5454
+-119.81 30.24 5469
+-119.684 30.24 5604
+-119.558 30.24 5684
+-119.432 30.24 5801
+-119.306 30.24 5956
+-119.18 30.24 6006
+-119.054 30.24 6062
+-118.928 30.24 6183
+-118.802 30.24 6224
+-118.676 30.24 6303
+-118.55 30.24 6378
+-118.424 30.24 6491
+-118.298 30.24 6531
+-118.172 30.24 6597
+-118.046 30.24 6630
+-117.92 30.24 6700
+-117.794 30.24 6741
+-117.668 30.24 6796
+-117.542 30.24 6785
+-117.416 30.24 6800
+-117.29 30.24 6811
+-117.164 30.24 6803
+-117.038 30.24 6809
+-116.912 30.24 6815
+-116.786 30.24 6827
+-116.66 30.24 6827
+-116.534 30.24 6817
+-116.408 30.24 6728
+-116.282 30.24 6707
+-116.156 30.24 6676
+-116.03 30.24 6620
+-115.904 30.24 6594
+-115.778 30.24 6507
+-115.652 30.24 6438
+-115.526 30.24 6435
+-115.4 30.24 6343
+-115.274 30.24 6246
+-115.148 30.24 6194
+-115.022 30.24 6107
+-114.896 30.24 6029
+-114.77 30.24 5945
+-114.644 30.24 5835
+-114.518 30.24 5745
+-114.392 30.24 5664
+-114.266 30.24 5583
+-114.14 30.24 5499
+-114.014 30.24 5489
+-113.888 30.24 5523
+-113.762 30.24 5491
+-113.636 30.24 5649
+-113.51 30.24 5775
+-113.384 30.24 5898
+-113.258 30.24 6011
+-113.132 30.24 6170
+-113.006 30.24 6260
+-112.88 30.24 6409
+-112.754 30.24 6577
+-112.628 30.24 6667
+-112.502 30.24 6700
+-112.376 30.24 6924
+-112.25 30.24 6931
+-112.124 30.24 7012
+-111.998 30.24 7194
+-111.872 30.24 7286
+-111.746 30.24 7386
+-111.62 30.24 7499
+-111.494 30.24 7582
+-111.368 30.24 7663
+-111.242 30.24 7724
+-111.116 30.24 7791
+-110.99 30.24 7867
+-110.864 30.24 7905
+-110.738 30.24 7925
+-110.612 30.24 7967
+-110.486 30.24 7986
+-110.36 30.24 7993
+-110.234 30.24 7981
+-110.108 30.24 7962
+-109.982 30.24 7904
+-109.856 30.24 7887
+-109.73 30.24 7824
+-109.604 30.24 7748
+-109.478 30.24 7667
+-109.352 30.24 7575
+-109.226 30.24 7548
+-109.1 30.24 7442
+-108.974 30.24 7325
+-108.848 30.24 7223
+-108.722 30.24 7155
+-108.596 30.24 7036
+-108.47 30.24 6908
+-108.344 30.24 6880
+-108.218 30.24 6740
+-108.092 30.24 6565
+-107.966 30.24 6430
+-107.84 30.24 6319
+-107.714 30.24 6243
+-107.588 30.24 6110
+-107.462 30.24 5995
+-107.336 30.24 5864
+-107.21 30.24 5690
+-107.084 30.24 5569
+-106.958 30.24 5494
+-106.832 30.24 5370
+-106.706 30.24 5264
+-106.58 30.24 5181
+-106.454 30.24 5033
+-106.328 30.24 4920
+-106.202 30.24 4848
+-106.076 30.24 4746
+-105.95 30.24 4570
+-105.824 30.24 4433
+-105.698 30.24 4452
+-105.572 30.24 4507
+-105.446 30.24 4498
+-105.32 30.24 4420
+-105.194 30.24 4266
+-105.068 30.24 4026
+-104.942 30.24 3937
+-104.816 30.24 3769
+-104.69 30.24 3638
+-104.564 30.24 3518
+-104.438 30.24 3431
+-104.312 30.24 3336
+-104.186 30.24 3197
+-104.06 30.24 3035
+-103.934 30.24 2941
+-103.808 30.24 2844
+-103.682 30.24 2749
+-103.556 30.24 2630
+-103.43 30.24 2523
+-103.304 30.24 2452
+-103.178 30.24 2432
+-103.052 30.24 2462
+-102.926 30.24 2512
+-102.8 30.24 2575
+-102.674 30.24 2638
+-102.548 30.24 2697
+-102.422 30.24 2749
+-102.296 30.24 2796
+-102.17 30.24 2836
+-102.044 30.24 2871
+-101.918 30.24 2902
+-101.792 30.24 2929
+-101.666 30.24 2850
+-101.54 30.24 2860
+-101.414 30.24 2879
+-101.288 30.24 2895
+-101.162 30.24 2910
+-101.036 30.24 2903
+-100.91 30.24 2915
+-100.784 30.24 2927
+-100.658 30.24 2937
+-100.532 30.24 2947
+-100.406 30.24 2955
+-100.28 30.24 2846
+-100.154 30.24 2845
+-100.028 30.24 2842
+-99.902 30.24 2839
+-99.776 30.24 2834
+-99.65 30.24 2754
+-99.524 30.24 2676
+-99.398 30.24 2667
+-99.272 30.24 2657
+-99.146 30.24 2645
+-99.02 30.24 2632
+-98.894 30.24 2618
+-98.768 30.24 2581
+-98.642 30.24 2549
+-98.516 30.24 2497
+-98.39 30.24 2477
+-98.264 30.24 2448
+-98.138 30.24 2324
+-98.012 30.24 2273
+-97.886 30.24 2253
+-97.76 30.24 2233
+-97.634 30.24 2227
+-97.508 30.24 2232
+-97.382 30.24 2277
+-97.256 30.24 2298
+-97.13 30.24 2305
+-97.004 30.24 2300
+-96.878 30.24 2215
+-96.752 30.24 2364
+-96.626 30.24 2358
+-96.5 30.24 2303
+-96.374 30.24 2284
+-96.248 30.24 2364
+-96.122 30.24 2358
+-95.996 30.24 2342
+-95.87 30.24 2390
+-95.744 30.24 2391
+-95.618 30.24 2392
+-95.492 30.24 2392
+-95.366 30.24 2377
+-95.24 30.24 2379
+-95.114 30.24 2390
+-94.988 30.24 2336
+-94.862 30.24 2345
+-94.736 30.24 2360
+-94.61 30.24 2375
+-94.484 30.24 2392
+-94.358 30.24 2368
+-94.232 30.24 2383
+-94.106 30.24 2401
+-93.98 30.24 2377
+-93.854 30.24 2306
+-93.728 30.24 2368
+-93.602 30.24 2384
+-93.476 30.24 2395
+-93.35 30.24 2409
+-93.224 30.24 2423
+-93.098 30.24 2429
+-92.972 30.24 2441
+-92.846 30.24 2452
+-92.72 30.24 2462
+-92.594 30.24 2471
+-92.468 30.24 2463
+-92.342 30.24 2470
+-92.216 30.24 2463
+-92.09 30.24 2487
+-91.964 30.24 2508
+-91.838 30.24 2531
+-91.712 30.24 2528
+-91.586 30.24 2534
+-91.46 30.24 2544
+-91.334 30.24 2679
+-91.208 30.24 2679
+-91.082 30.24 2679
+-90.956 30.24 2680
+-90.83 30.24 2681
+-90.704 30.24 2682
+-90.578 30.24 2684
+-90.452 30.24 2747
+-90.326 30.24 2781
+-90.2 30.24 2784
+-90.074 30.24 2788
+-89.948 30.24 2791
+-89.822 30.24 2795
+-89.696 30.24 2798
+-89.57 30.24 2800
+-89.444 30.24 2846
+-89.318 30.24 2841
+-89.192 30.24 2832
+-89.066 30.24 2818
+-88.94 30.24 2798
+-88.814 30.24 2807
+-88.688 30.24 2798
+-88.562 30.24 2778
+-88.436 30.24 2799
+-88.31 30.24 2894
+-88.184 30.24 3044
+-88.058 30.24 3170
+-87.932 30.24 3298
+-87.806 30.24 3348
+-87.68 30.24 3340
+-87.554 30.24 3282
+-87.428 30.24 3404
+-87.302 30.24 3576
+-87.176 30.24 3644
+-87.05 30.24 3761
+-86.924 30.24 3855
+-86.798 30.24 3968
+-86.672 30.24 4158
+-86.546 30.24 4315
+-86.42 30.24 4470
+-86.294 30.24 4594
+-86.168 30.24 4756
+-86.042 30.24 4900
+-85.916 30.24 5007
+-85.79 30.24 5055
+-85.664 30.24 5175
+-85.538 30.24 5285
+-85.412 30.24 5384
+-85.286 30.24 5475
+-85.16 30.24 5577
+-85.034 30.24 5719
+-84.908 30.24 5802
+-84.782 30.24 5890
+-84.656 30.24 6007
+-84.53 30.24 6042
+-84.404 30.24 6155
+-84.278 30.24 6255
+-84.152 30.24 6354
+-84.026 30.24 6433
+-83.9 30.24 6536
+-83.774 30.24 6602
+-83.648 30.24 6669
+-83.522 30.24 6760
+-83.396 30.24 6827
+-83.27 30.24 6862
+-83.144 30.24 6923
+-83.018 30.24 6995
+-82.892 30.24 7037
+-82.766 30.24 7037
+-82.64 30.24 7062
+-82.514 30.24 7082
+-82.388 30.24 7136
+-82.262 30.24 7128
+-82.136 30.24 7121
+-82.01 30.24 7131
+-81.884 30.24 7086
+-81.758 30.24 7065
+-81.632 30.24 7001
+-81.506 30.24 7003
+-81.38 30.24 6918
+-81.254 30.24 6862
+-81.128 30.24 6847
+-81.002 30.24 6828
+-80.876 30.24 6726
+-80.75 30.24 6705
+-80.624 30.24 6633
+-80.498 30.24 6525
+-80.372 30.24 6472
+-80.246 30.24 6316
+-80.12 30.24 6256
+-79.994 30.24 6062
+-79.868 30.24 5947
+-79.742 30.24 5890
+-79.616 30.24 5808
+-79.49 30.24 5721
+-79.364 30.24 5662
+-79.238 30.24 5611
+-79.112 30.24 5417
+-78.986 30.24 5256
+-78.86 30.24 5238
+-78.734 30.24 5200
+-78.608 30.24 5093
+-78.482 30.24 4902
+-78.356 30.24 4745
+-78.23 30.24 4646
+-78.104 30.24 4599
+-77.978 30.24 4474
+-77.852 30.24 4290
+-77.726 30.24 4118
+-77.6 30.24 4000
+-77.474 30.24 3895
+-77.348 30.24 3748
+-77.222 30.24 3847
+-77.096 30.24 3910
+-76.97 30.24 3894
+-76.844 30.24 3815
+-76.718 30.24 3590
+-76.592 30.24 3316
+-76.466 30.24 3013
+-76.34 30.24 2868
+-76.214 30.24 2933
+-76.088 30.24 3081
+-75.962 30.24 3216
+-75.836 30.24 3310
+-75.71 30.24 3338
+-75.584 30.24 3381
+-75.458 30.24 3410
+-75.332 30.24 3431
+-75.206 30.24 3419
+-75.08 30.24 3417
+-74.954 30.24 3426
+-74.828 30.24 3434
+-74.702 30.24 3434
+-74.576 30.24 3395
+-74.45 30.24 3383
+-74.324 30.24 3386
+-74.198 30.24 3389
+-74.072 30.24 3365
+-73.946 30.24 3368
+-73.82 30.24 3348
+-73.694 30.24 3351
+-73.568 30.24 3353
+-73.442 30.24 3225
+-73.316 30.24 3214
+-73.19 30.24 3216
+-73.064 30.24 3218
+-72.938 30.24 3220
+-72.812 30.24 3221
+-72.686 30.24 3223
+-72.56 30.24 3225
+-72.434 30.24 3226
+-72.308 30.24 3228
+-72.182 30.24 3229
+-72.056 30.24 3230
+-71.93 30.24 3231
+-71.804 30.24 3233
+-71.678 30.24 3234
+-71.552 30.24 3235
+-71.426 30.24 3221
+-71.3 30.24 3222
+-71.174 30.24 3224
+-71.048 30.24 3226
+-70.922 30.24 3227
+-70.796 30.24 3186
+-70.67 30.24 3186
+-70.544 30.24 3187
+-70.418 30.24 3188
+-70.292 30.24 3188
+-70.166 30.24 3189
+-70.04 30.24 3172
+-69.914 30.24 3173
+-69.788 30.24 3150
+-69.662 30.24 3134
+-69.536 30.24 3134
+-69.41 30.24 3135
+-69.284 30.24 3136
+-69.158 30.24 3136
+-69.032 30.24 3137
+-68.906 30.24 3137
+-68.78 30.24 3138
+-68.654 30.24 3138
+-68.528 30.24 3139
+-68.402 30.24 3139
+-68.276 30.24 3045
+-68.15 30.24 3045
+-68.024 30.24 3046
+-67.898 30.24 3047
+-67.772 30.24 3047
+-67.646 30.24 3048
+-67.52 30.24 3048
+-67.394 30.24 3049
+-67.268 30.24 3049
+-67.142 30.24 3050
+-67.016 30.24 3050
+-66.89 30.24 3051
+-66.764 30.24 3051
+-66.638 30.24 3052
+-66.512 30.24 3052
+-66.386 30.24 3052
+-66.26 30.24 3053
+-66.134 30.24 3053
+-66.008 30.24 3054
+-65.882 30.24 3054
+-65.756 30.24 3054
+-65.63 30.24 3055
+-65.504 30.24 3055
+-65.378 30.24 3056
+-65.252 30.24 3056
+-65.126 30.24 3056
+-128 30.188 2387
+-127.874 30.188 2422
+-127.748 30.188 2407
+-127.622 30.188 2392
+-127.496 30.188 2375
+-127.37 30.188 2358
+-127.244 30.188 2341
+-127.118 30.188 2322
+-126.992 30.188 2303
+-126.866 30.188 2300
+-126.74 30.188 2338
+-126.614 30.188 2317
+-126.488 30.188 2296
+-126.362 30.188 2275
+-126.236 30.188 2255
+-126.11 30.188 2236
+-125.984 30.188 2220
+-125.858 30.188 2242
+-125.732 30.188 2236
+-125.606 30.188 2234
+-125.48 30.188 2245
+-125.354 30.188 2273
+-125.228 30.188 2292
+-125.102 30.188 2348
+-124.976 30.188 2379
+-124.85 30.188 2417
+-124.724 30.188 2508
+-124.598 30.188 2582
+-124.472 30.188 2635
+-124.346 30.188 2697
+-124.22 30.188 2753
+-124.094 30.188 2809
+-123.968 30.188 2878
+-123.842 30.188 2931
+-123.716 30.188 2982
+-123.59 30.188 3025
+-123.464 30.188 3075
+-123.338 30.188 3120
+-123.212 30.188 3213
+-123.086 30.188 3230
+-122.96 30.188 3211
+-122.834 30.188 3153
+-122.708 30.188 3098
+-122.582 30.188 3050
+-122.456 30.188 3139
+-122.33 30.188 3204
+-122.204 30.188 3318
+-122.078 30.188 3489
+-121.952 30.188 3634
+-121.826 30.188 3743
+-121.7 30.188 3801
+-121.574 30.188 3892
+-121.448 30.188 4051
+-121.322 30.188 4232
+-121.196 30.188 4346
+-121.07 30.188 4418
+-120.944 30.188 4565
+-120.818 30.188 4633
+-120.692 30.188 4743
+-120.566 30.188 4942
+-120.44 30.188 4970
+-120.314 30.188 5085
+-120.188 30.188 5253
+-120.062 30.188 5353
+-119.936 30.188 5404
+-119.81 30.188 5477
+-119.684 30.188 5575
+-119.558 30.188 5650
+-119.432 30.188 5737
+-119.306 30.188 5875
+-119.18 30.188 5980
+-119.054 30.188 6057
+-118.928 30.188 6139
+-118.802 30.188 6220
+-118.676 30.188 6262
+-118.55 30.188 6337
+-118.424 30.188 6408
+-118.298 30.188 6503
+-118.172 30.188 6552
+-118.046 30.188 6605
+-117.92 30.188 6658
+-117.794 30.188 6680
+-117.668 30.188 6715
+-117.542 30.188 6745
+-117.416 30.188 6765
+-117.29 30.188 6752
+-117.164 30.188 6773
+-117.038 30.188 6766
+-116.912 30.188 6758
+-116.786 30.188 6764
+-116.66 30.188 6748
+-116.534 30.188 6707
+-116.408 30.188 6679
+-116.282 30.188 6687
+-116.156 30.188 6650
+-116.03 30.188 6595
+-115.904 30.188 6547
+-115.778 30.188 6468
+-115.652 30.188 6418
+-115.526 30.188 6375
+-115.4 30.188 6301
+-115.274 30.188 6246
+-115.148 30.188 6170
+-115.022 30.188 6053
+-114.896 30.188 5941
+-114.77 30.188 5858
+-114.644 30.188 5754
+-114.518 30.188 5676
+-114.392 30.188 5621
+-114.266 30.188 5537
+-114.14 30.188 5472
+-114.014 30.188 5459
+-113.888 30.188 5508
+-113.762 30.188 5559
+-113.636 30.188 5642
+-113.51 30.188 5757
+-113.384 30.188 5867
+-113.258 30.188 5982
+-113.132 30.188 6127
+-113.006 30.188 6230
+-112.88 30.188 6407
+-112.754 30.188 6527
+-112.628 30.188 6662
+-112.502 30.188 6723
+-112.376 30.188 6816
+-112.25 30.188 6954
+-112.124 30.188 7011
+-111.998 30.188 7127
+-111.872 30.188 7235
+-111.746 30.188 7365
+-111.62 30.188 7440
+-111.494 30.188 7505
+-111.368 30.188 7596
+-111.242 30.188 7671
+-111.116 30.188 7726
+-110.99 30.188 7818
+-110.864 30.188 7881
+-110.738 30.188 7887
+-110.612 30.188 7929
+-110.486 30.188 7941
+-110.36 30.188 7928
+-110.234 30.188 7905
+-110.108 30.188 7869
+-109.982 30.188 7838
+-109.856 30.188 7841
+-109.73 30.188 7778
+-109.604 30.188 7725
+-109.478 30.188 7620
+-109.352 30.188 7553
+-109.226 30.188 7473
+-109.1 30.188 7358
+-108.974 30.188 7281
+-108.848 30.188 7200
+-108.722 30.188 7032
+-108.596 30.188 6944
+-108.47 30.188 6913
+-108.344 30.188 6786
+-108.218 30.188 6731
+-108.092 30.188 6531
+-107.966 30.188 6358
+-107.84 30.188 6281
+-107.714 30.188 6167
+-107.588 30.188 6041
+-107.462 30.188 5886
+-107.336 30.188 5837
+-107.21 30.188 5696
+-107.084 30.188 5596
+-106.958 30.188 5453
+-106.832 30.188 5280
+-106.706 30.188 5257
+-106.58 30.188 5159
+-106.454 30.188 5028
+-106.328 30.188 4915
+-106.202 30.188 4817
+-106.076 30.188 4687
+-105.95 30.188 4450
+-105.824 30.188 4245
+-105.698 30.188 4366
+-105.572 30.188 4464
+-105.446 30.188 4442
+-105.32 30.188 4344
+-105.194 30.188 4211
+-105.068 30.188 3972
+-104.942 30.188 3872
+-104.816 30.188 3706
+-104.69 30.188 3595
+-104.564 30.188 3533
+-104.438 30.188 3439
+-104.312 30.188 3360
+-104.186 30.188 3268
+-104.06 30.188 3117
+-103.934 30.188 2955
+-103.808 30.188 2812
+-103.682 30.188 2665
+-103.556 30.188 2487
+-103.43 30.188 2330
+-103.304 30.188 2240
+-103.178 30.188 2235
+-103.052 30.188 2299
+-102.926 30.188 2390
+-102.8 30.188 2483
+-102.674 30.188 2571
+-102.548 30.188 2648
+-102.422 30.188 2713
+-102.296 30.188 2769
+-102.17 30.188 2816
+-102.044 30.188 2856
+-101.918 30.188 2891
+-101.792 30.188 2921
+-101.666 30.188 2947
+-101.54 30.188 2863
+-101.414 30.188 2872
+-101.288 30.188 2889
+-101.162 30.188 2905
+-101.036 30.188 2919
+-100.91 30.188 2911
+-100.784 30.188 2923
+-100.658 30.188 2934
+-100.532 30.188 2943
+-100.406 30.188 2953
+-100.28 30.188 2846
+-100.154 30.188 2845
+-100.028 30.188 2843
+-99.902 30.188 2839
+-99.776 30.188 2835
+-99.65 30.188 2830
+-99.524 30.188 2748
+-99.398 30.188 2669
+-99.272 30.188 2659
+-99.146 30.188 2648
+-99.02 30.188 2636
+-98.894 30.188 2623
+-98.768 30.188 2587
+-98.642 30.188 2555
+-98.516 30.188 2537
+-98.39 30.188 2485
+-98.264 30.188 2457
+-98.138 30.188 2333
+-98.012 30.188 2315
+-97.886 30.188 2265
+-97.76 30.188 2245
+-97.634 30.188 2240
+-97.508 30.188 2223
+-97.382 30.188 2292
+-97.256 30.188 2315
+-97.13 30.188 2324
+-97.004 30.188 2318
+-96.878 30.188 2233
+-96.752 30.188 2331
+-96.626 30.188 2330
+-96.5 30.188 2327
+-96.374 30.188 2307
+-96.248 30.188 2389
+-96.122 30.188 2372
+-95.996 30.188 2420
+-95.87 30.188 2421
+-95.744 30.188 2420
+-95.618 30.188 2418
+-95.492 30.188 2401
+-95.366 30.188 2401
+-95.24 30.188 2409
+-95.114 30.188 2352
+-94.988 30.188 2358
+-94.862 30.188 2371
+-94.736 30.188 2384
+-94.61 30.188 2399
+-94.484 30.188 2372
+-94.358 30.188 2385
+-94.232 30.188 2402
+-94.106 30.188 2376
+-93.98 30.188 2303
+-93.854 30.188 2365
+-93.728 30.188 2380
+-93.602 30.188 2390
+-93.476 30.188 2405
+-93.35 30.188 2418
+-93.224 30.188 2424
+-93.098 30.188 2436
+-92.972 30.188 2448
+-92.846 30.188 2458
+-92.72 30.188 2467
+-92.594 30.188 2459
+-92.468 30.188 2467
+-92.342 30.188 2460
+-92.216 30.188 2486
+-92.09 30.188 2507
+-91.964 30.188 2534
+-91.838 30.188 2531
+-91.712 30.188 2538
+-91.586 30.188 2550
+-91.46 30.188 2557
+-91.334 30.188 2562
+-91.208 30.188 2695
+-91.082 30.188 2696
+-90.956 30.188 2698
+-90.83 30.188 2699
+-90.704 30.188 2701
+-90.578 30.188 2798
+-90.452 30.188 2804
+-90.326 30.188 2807
+-90.2 30.188 2811
+-90.074 30.188 2815
+-89.948 30.188 2819
+-89.822 30.188 2823
+-89.696 30.188 2826
+-89.57 30.188 2859
+-89.444 30.188 2875
+-89.318 30.188 2871
+-89.192 30.188 2865
+-89.066 30.188 2856
+-88.94 30.188 2873
+-88.814 30.188 2896
+-88.688 30.188 2884
+-88.562 30.188 2885
+-88.436 30.188 2936
+-88.31 30.188 2993
+-88.184 30.188 3110
+-88.058 30.188 3207
+-87.932 30.188 3293
+-87.806 30.188 3368
+-87.68 30.188 3382
+-87.554 30.188 3372
+-87.428 30.188 3473
+-87.302 30.188 3606
+-87.176 30.188 3618
+-87.05 30.188 3727
+-86.924 30.188 3880
+-86.798 30.188 4028
+-86.672 30.188 4164
+-86.546 30.188 4368
+-86.42 30.188 4527
+-86.294 30.188 4731
+-86.168 30.188 4865
+-86.042 30.188 4973
+-85.916 30.188 5074
+-85.79 30.188 5155
+-85.664 30.188 5256
+-85.538 30.188 5338
+-85.412 30.188 5412
+-85.286 30.188 5521
+-85.16 30.188 5641
+-85.034 30.188 5739
+-84.908 30.188 5827
+-84.782 30.188 5923
+-84.656 30.188 6022
+-84.53 30.188 6110
+-84.404 30.188 6211
+-84.278 30.188 6303
+-84.152 30.188 6390
+-84.026 30.188 6488
+-83.9 30.188 6545
+-83.774 30.188 6636
+-83.648 30.188 6709
+-83.522 30.188 6797
+-83.396 30.188 6864
+-83.27 30.188 6940
+-83.144 30.188 6953
+-83.018 30.188 7019
+-82.892 30.188 7059
+-82.766 30.188 7088
+-82.64 30.188 7142
+-82.514 30.188 7163
+-82.388 30.188 7191
+-82.262 30.188 7193
+-82.136 30.188 7203
+-82.01 30.188 7197
+-81.884 30.188 7169
+-81.758 30.188 7116
+-81.632 30.188 7083
+-81.506 30.188 7023
+-81.38 30.188 6970
+-81.254 30.188 6924
+-81.128 30.188 6866
+-81.002 30.188 6838
+-80.876 30.188 6766
+-80.75 30.188 6690
+-80.624 30.188 6665
+-80.498 30.188 6607
+-80.372 30.188 6537
+-80.246 30.188 6425
+-80.12 30.188 6318
+-79.994 30.188 6130
+-79.868 30.188 5987
+-79.742 30.188 5914
+-79.616 30.188 5861
+-79.49 30.188 5778
+-79.364 30.188 5700
+-79.238 30.188 5635
+-79.112 30.188 5501
+-78.986 30.188 5365
+-78.86 30.188 5286
+-78.734 30.188 5229
+-78.608 30.188 5042
+-78.482 30.188 4861
+-78.356 30.188 4705
+-78.23 30.188 4614
+-78.104 30.188 4614
+-77.978 30.188 4494
+-77.852 30.188 4287
+-77.726 30.188 4090
+-77.6 30.188 3971
+-77.474 30.188 3873
+-77.348 30.188 3880
+-77.222 30.188 3902
+-77.096 30.188 3920
+-76.97 30.188 3908
+-76.844 30.188 3843
+-76.718 30.188 3703
+-76.592 30.188 3487
+-76.466 30.188 3242
+-76.34 30.188 3125
+-76.214 30.188 3144
+-76.088 30.188 3206
+-75.962 30.188 3292
+-75.836 30.188 3365
+-75.71 30.188 3419
+-75.584 30.188 3413
+-75.458 30.188 3437
+-75.332 30.188 3429
+-75.206 30.188 3428
+-75.08 30.188 3438
+-74.954 30.188 3446
+-74.828 30.188 3445
+-74.702 30.188 3405
+-74.576 30.188 3393
+-74.45 30.188 3395
+-74.324 30.188 3398
+-74.198 30.188 3373
+-74.072 30.188 3376
+-73.946 30.188 3355
+-73.82 30.188 3357
+-73.694 30.188 3359
+-73.568 30.188 3233
+-73.442 30.188 3261
+-73.316 30.188 3264
+-73.19 30.188 3266
+-73.064 30.188 3269
+-72.938 30.188 3271
+-72.812 30.188 3273
+-72.686 30.188 3275
+-72.56 30.188 3277
+-72.434 30.188 3278
+-72.308 30.188 3280
+-72.182 30.188 3282
+-72.056 30.188 3283
+-71.93 30.188 3285
+-71.804 30.188 3286
+-71.678 30.188 3288
+-71.552 30.188 3225
+-71.426 30.188 3227
+-71.3 30.188 3228
+-71.174 30.188 3230
+-71.048 30.188 3231
+-70.922 30.188 3190
+-70.796 30.188 3190
+-70.67 30.188 3191
+-70.544 30.188 3191
+-70.418 30.188 3192
+-70.292 30.188 3192
+-70.166 30.188 3174
+-70.04 30.188 3175
+-69.914 30.188 3152
+-69.788 30.188 3136
+-69.662 30.188 3136
+-69.536 30.188 3137
+-69.41 30.188 3137
+-69.284 30.188 3138
+-69.158 30.188 3138
+-69.032 30.188 3139
+-68.906 30.188 3139
+-68.78 30.188 3139
+-68.654 30.188 3140
+-68.528 30.188 3140
+-68.402 30.188 3046
+-68.276 30.188 3046
+-68.15 30.188 3047
+-68.024 30.188 3048
+-67.898 30.188 3048
+-67.772 30.188 3049
+-67.646 30.188 3049
+-67.52 30.188 3050
+-67.394 30.188 3050
+-67.268 30.188 3051
+-67.142 30.188 3051
+-67.016 30.188 3052
+-66.89 30.188 3052
+-66.764 30.188 3052
+-66.638 30.188 3053
+-66.512 30.188 3053
+-66.386 30.188 3054
+-66.26 30.188 3054
+-66.134 30.188 3054
+-66.008 30.188 3055
+-65.882 30.188 3055
+-65.756 30.188 3055
+-65.63 30.188 3056
+-65.504 30.188 3056
+-65.378 30.188 3056
+-65.252 30.188 3057
+-65.126 30.188 3057
+-128 30.136 2414
+-127.874 30.136 2398
+-127.748 30.136 2382
+-127.622 30.136 2364
+-127.496 30.136 2346
+-127.37 30.136 2327
+-127.244 30.136 2306
+-127.118 30.136 2284
+-126.992 30.136 2278
+-126.866 30.136 2312
+-126.74 30.136 2287
+-126.614 30.136 2261
+-126.488 30.136 2235
+-126.362 30.136 2208
+-126.236 30.136 2182
+-126.11 30.136 2158
+-125.984 30.136 2173
+-125.858 30.136 2157
+-125.732 30.136 2145
+-125.606 30.136 2145
+-125.48 30.136 2164
+-125.354 30.136 2172
+-125.228 30.136 2217
+-125.102 30.136 2242
+-124.976 30.136 2275
+-124.85 30.136 2362
+-124.724 30.136 2433
+-124.598 30.136 2487
+-124.472 30.136 2552
+-124.346 30.136 2613
+-124.22 30.136 2676
+-124.094 30.136 2754
+-123.968 30.136 2820
+-123.842 30.136 2881
+-123.716 30.136 2938
+-123.59 30.136 2989
+-123.464 30.136 3037
+-123.338 30.136 3109
+-123.212 30.136 3214
+-123.086 30.136 3232
+-122.96 30.136 3212
+-122.834 30.136 3195
+-122.708 30.136 3176
+-122.582 30.136 3186
+-122.456 30.136 3180
+-122.33 30.136 3134
+-122.204 30.136 3250
+-122.078 30.136 3449
+-121.952 30.136 3615
+-121.826 30.136 3761
+-121.7 30.136 3788
+-121.574 30.136 3848
+-121.448 30.136 4014
+-121.322 30.136 4216
+-121.196 30.136 4317
+-121.07 30.136 4298
+-120.944 30.136 4471
+-120.818 30.136 4647
+-120.692 30.136 4764
+-120.566 30.136 4944
+-120.44 30.136 5014
+-120.314 30.136 5138
+-120.188 30.136 5243
+-120.062 30.136 5304
+-119.936 30.136 5327
+-119.81 30.136 5444
+-119.684 30.136 5555
+-119.558 30.136 5607
+-119.432 30.136 5730
+-119.306 30.136 5808
+-119.18 30.136 5908
+-119.054 30.136 5996
+-118.928 30.136 6079
+-118.802 30.136 6148
+-118.676 30.136 6250
+-118.55 30.136 6295
+-118.424 30.136 6326
+-118.298 30.136 6415
+-118.172 30.136 6450
+-118.046 30.136 6530
+-117.92 30.136 6614
+-117.794 30.136 6617
+-117.668 30.136 6636
+-117.542 30.136 6679
+-117.416 30.136 6693
+-117.29 30.136 6726
+-117.164 30.136 6753
+-117.038 30.136 6760
+-116.912 30.136 6736
+-116.786 30.136 6711
+-116.66 30.136 6692
+-116.534 30.136 6672
+-116.408 30.136 6649
+-116.282 30.136 6609
+-116.156 30.136 6604
+-116.03 30.136 6556
+-115.904 30.136 6482
+-115.778 30.136 6405
+-115.652 30.136 6322
+-115.526 30.136 6311
+-115.4 30.136 6228
+-115.274 30.136 6189
+-115.148 30.136 6113
+-115.022 30.136 6002
+-114.896 30.136 5897
+-114.77 30.136 5791
+-114.644 30.136 5722
+-114.518 30.136 5664
+-114.392 30.136 5562
+-114.266 30.136 5493
+-114.14 30.136 5418
+-114.014 30.136 5382
+-113.888 30.136 5446
+-113.762 30.136 5520
+-113.636 30.136 5649
+-113.51 30.136 5706
+-113.384 30.136 5851
+-113.258 30.136 6013
+-113.132 30.136 6079
+-113.006 30.136 6257
+-112.88 30.136 6356
+-112.754 30.136 6530
+-112.628 30.136 6651
+-112.502 30.136 6698
+-112.376 30.136 6773
+-112.25 30.136 6894
+-112.124 30.136 7040
+-111.998 30.136 7064
+-111.872 30.136 7244
+-111.746 30.136 7302
+-111.62 30.136 7413
+-111.494 30.136 7493
+-111.368 30.136 7590
+-111.242 30.136 7674
+-111.116 30.136 7679
+-110.99 30.136 7728
+-110.864 30.136 7777
+-110.738 30.136 7842
+-110.612 30.136 7854
+-110.486 30.136 7880
+-110.36 30.136 7868
+-110.234 30.136 7850
+-110.108 30.136 7850
+-109.982 30.136 7783
+-109.856 30.136 7820
+-109.73 30.136 7735
+-109.604 30.136 7668
+-109.478 30.136 7583
+-109.352 30.136 7538
+-109.226 30.136 7437
+-109.1 30.136 7327
+-108.974 30.136 7233
+-108.848 30.136 7114
+-108.722 30.136 7098
+-108.596 30.136 6974
+-108.47 30.136 6843
+-108.344 30.136 6764
+-108.218 30.136 6671
+-108.092 30.136 6529
+-107.966 30.136 6358
+-107.84 30.136 6220
+-107.714 30.136 6119
+-107.588 30.136 6019
+-107.462 30.136 5929
+-107.336 30.136 5806
+-107.21 30.136 5629
+-107.084 30.136 5591
+-106.958 30.136 5464
+-106.832 30.136 5311
+-106.706 30.136 5223
+-106.58 30.136 5115
+-106.454 30.136 4971
+-106.328 30.136 4918
+-106.202 30.136 4819
+-106.076 30.136 4675
+-105.95 30.136 4513
+-105.824 30.136 4399
+-105.698 30.136 4395
+-105.572 30.136 4419
+-105.446 30.136 4368
+-105.32 30.136 4306
+-105.194 30.136 4184
+-105.068 30.136 3948
+-104.942 30.136 3793
+-104.816 30.136 3612
+-104.69 30.136 3530
+-104.564 30.136 3497
+-104.438 30.136 3455
+-104.312 30.136 3362
+-104.186 30.136 3276
+-104.06 30.136 3164
+-103.934 30.136 2986
+-103.808 30.136 2762
+-103.682 30.136 2536
+-103.556 30.136 2299
+-103.43 30.136 2083
+-103.304 30.136 1992
+-103.178 30.136 2019
+-103.052 30.136 2124
+-102.926 30.136 2263
+-102.8 30.136 2397
+-102.674 30.136 2512
+-102.548 30.136 2604
+-102.422 30.136 2682
+-102.296 30.136 2747
+-102.17 30.136 2800
+-102.044 30.136 2844
+-101.918 30.136 2882
+-101.792 30.136 2914
+-101.666 30.136 2942
+-101.54 30.136 2966
+-101.414 30.136 2877
+-101.288 30.136 2884
+-101.162 30.136 2900
+-101.036 30.136 2915
+-100.91 30.136 2928
+-100.784 30.136 2920
+-100.658 30.136 2931
+-100.532 30.136 2941
+-100.406 30.136 2950
+-100.28 30.136 2845
+-100.154 30.136 2845
+-100.028 30.136 2843
+-99.902 30.136 2840
+-99.776 30.136 2836
+-99.65 30.136 2831
+-99.524 30.136 2715
+-99.398 30.136 2707
+-99.272 30.136 2662
+-99.146 30.136 2651
+-99.02 30.136 2640
+-98.894 30.136 2627
+-98.768 30.136 2592
+-98.642 30.136 2560
+-98.516 30.136 2544
+-98.39 30.136 2526
+-98.264 30.136 2466
+-98.138 30.136 2342
+-98.012 30.136 2325
+-97.886 30.136 2306
+-97.76 30.136 2280
+-97.634 30.136 2253
+-97.508 30.136 2237
+-97.382 30.136 2306
+-97.256 30.136 2329
+-97.13 30.136 2340
+-97.004 30.136 2334
+-96.878 30.136 2250
+-96.752 30.136 2351
+-96.626 30.136 2351
+-96.5 30.136 2331
+-96.374 30.136 2330
+-96.248 30.136 2400
+-96.122 30.136 2449
+-95.996 30.136 2448
+-95.87 30.136 2447
+-95.744 30.136 2443
+-95.618 30.136 2423
+-95.492 30.136 2422
+-95.366 30.136 2429
+-95.24 30.136 2368
+-95.114 30.136 2372
+-94.988 30.136 2383
+-94.862 30.136 2394
+-94.736 30.136 2407
+-94.61 30.136 2378
+-94.484 30.136 2389
+-94.358 30.136 2404
+-94.232 30.136 2376
+-94.106 30.136 2302
+-93.98 30.136 2363
+-93.854 30.136 2377
+-93.728 30.136 2387
+-93.602 30.136 2401
+-93.476 30.136 2414
+-93.35 30.136 2420
+-93.224 30.136 2432
+-93.098 30.136 2443
+-92.972 30.136 2454
+-92.846 30.136 2463
+-92.72 30.136 2455
+-92.594 30.136 2463
+-92.468 30.136 2458
+-92.342 30.136 2492
+-92.216 30.136 2506
+-92.09 30.136 2536
+-91.964 30.136 2533
+-91.838 30.136 2541
+-91.712 30.136 2556
+-91.586 30.136 2563
+-91.46 30.136 2569
+-91.334 30.136 2710
+-91.208 30.136 2711
+-91.082 30.136 2713
+-90.956 30.136 2715
+-90.83 30.136 2717
+-90.704 30.136 2785
+-90.578 30.136 2825
+-90.452 30.136 2829
+-90.326 30.136 2833
+-90.2 30.136 2837
+-90.074 30.136 2841
+-89.948 30.136 2845
+-89.822 30.136 2849
+-89.696 30.136 2884
+-89.57 30.136 2903
+-89.444 30.136 2902
+-89.318 30.136 2899
+-89.192 30.136 2895
+-89.066 30.136 2918
+-88.94 30.136 2950
+-88.814 30.136 2938
+-88.688 30.136 2931
+-88.562 30.136 2958
+-88.436 30.136 2976
+-88.31 30.136 3020
+-88.184 30.136 3117
+-88.058 30.136 3211
+-87.932 30.136 3331
+-87.806 30.136 3397
+-87.68 30.136 3451
+-87.554 30.136 3485
+-87.428 30.136 3563
+-87.302 30.136 3625
+-87.176 30.136 3665
+-87.05 30.136 3762
+-86.924 30.136 3920
+-86.798 30.136 4074
+-86.672 30.136 4231
+-86.546 30.136 4370
+-86.42 30.136 4635
+-86.294 30.136 4816
+-86.168 30.136 4946
+-86.042 30.136 5032
+-85.916 30.136 5138
+-85.79 30.136 5183
+-85.664 30.136 5276
+-85.538 30.136 5292
+-85.412 30.136 5434
+-85.286 30.136 5581
+-85.16 30.136 5585
+-85.034 30.136 5733
+-84.908 30.136 5842
+-84.782 30.136 5943
+-84.656 30.136 6002
+-84.53 30.136 6189
+-84.404 30.136 6234
+-84.278 30.136 6369
+-84.152 30.136 6484
+-84.026 30.136 6519
+-83.9 30.136 6579
+-83.774 30.136 6710
+-83.648 30.136 6766
+-83.522 30.136 6843
+-83.396 30.136 6884
+-83.27 30.136 6965
+-83.144 30.136 7011
+-83.018 30.136 7083
+-82.892 30.136 7126
+-82.766 30.136 7152
+-82.64 30.136 7169
+-82.514 30.136 7196
+-82.388 30.136 7213
+-82.262 30.136 7227
+-82.136 30.136 7213
+-82.01 30.136 7258
+-81.884 30.136 7258
+-81.758 30.136 7235
+-81.632 30.136 7211
+-81.506 30.136 7156
+-81.38 30.136 7083
+-81.254 30.136 7022
+-81.128 30.136 6949
+-81.002 30.136 6926
+-80.876 30.136 6831
+-80.75 30.136 6801
+-80.624 30.136 6654
+-80.498 30.136 6667
+-80.372 30.136 6587
+-80.246 30.136 6508
+-80.12 30.136 6367
+-79.994 30.136 6224
+-79.868 30.136 6078
+-79.742 30.136 5955
+-79.616 30.136 5887
+-79.49 30.136 5840
+-79.364 30.136 5685
+-79.238 30.136 5696
+-79.112 30.136 5584
+-78.986 30.136 5473
+-78.86 30.136 5307
+-78.734 30.136 5204
+-78.608 30.136 5042
+-78.482 30.136 4877
+-78.356 30.136 4754
+-78.23 30.136 4697
+-78.104 30.136 4651
+-77.978 30.136 4494
+-77.852 30.136 4300
+-77.726 30.136 4178
+-77.6 30.136 4061
+-77.474 30.136 3980
+-77.348 30.136 3975
+-77.222 30.136 3960
+-77.096 30.136 3961
+-76.97 30.136 3941
+-76.844 30.136 3878
+-76.718 30.136 3756
+-76.592 30.136 3616
+-76.466 30.136 3473
+-76.34 30.136 3396
+-76.214 30.136 3343
+-76.088 30.136 3375
+-75.962 30.136 3387
+-75.836 30.136 3430
+-75.71 30.136 3467
+-75.584 30.136 3475
+-75.458 30.136 3466
+-75.332 30.136 3440
+-75.206 30.136 3451
+-75.08 30.136 3458
+-74.954 30.136 3458
+-74.828 30.136 3417
+-74.702 30.136 3404
+-74.576 30.136 3406
+-74.45 30.136 3408
+-74.324 30.136 3382
+-74.198 30.136 3384
+-74.072 30.136 3363
+-73.946 30.136 3365
+-73.82 30.136 3366
+-73.694 30.136 3367
+-73.568 30.136 3270
+-73.442 30.136 3272
+-73.316 30.136 3274
+-73.19 30.136 3275
+-73.064 30.136 3277
+-72.938 30.136 3279
+-72.812 30.136 3281
+-72.686 30.136 3282
+-72.56 30.136 3284
+-72.434 30.136 3285
+-72.308 30.136 3287
+-72.182 30.136 3288
+-72.056 30.136 3289
+-71.93 30.136 3290
+-71.804 30.136 3292
+-71.678 30.136 3230
+-71.552 30.136 3232
+-71.426 30.136 3233
+-71.3 30.136 3234
+-71.174 30.136 3235
+-71.048 30.136 3194
+-70.922 30.136 3194
+-70.796 30.136 3194
+-70.67 30.136 3195
+-70.544 30.136 3195
+-70.418 30.136 3196
+-70.292 30.136 3176
+-70.166 30.136 3177
+-70.04 30.136 3154
+-69.914 30.136 3138
+-69.788 30.136 3138
+-69.662 30.136 3138
+-69.536 30.136 3139
+-69.41 30.136 3139
+-69.284 30.136 3140
+-69.158 30.136 3140
+-69.032 30.136 3141
+-68.906 30.136 3141
+-68.78 30.136 3141
+-68.654 30.136 3142
+-68.528 30.136 3047
+-68.402 30.136 3048
+-68.276 30.136 3048
+-68.15 30.136 3049
+-68.024 30.136 3049
+-67.898 30.136 3050
+-67.772 30.136 3050
+-67.646 30.136 3051
+-67.52 30.136 3051
+-67.394 30.136 3052
+-67.268 30.136 3052
+-67.142 30.136 3052
+-67.016 30.136 3053
+-66.89 30.136 3053
+-66.764 30.136 3054
+-66.638 30.136 3054
+-66.512 30.136 3054
+-66.386 30.136 3055
+-66.26 30.136 3055
+-66.134 30.136 3055
+-66.008 30.136 3056
+-65.882 30.136 3056
+-65.756 30.136 3056
+-65.63 30.136 3057
+-65.504 30.136 3057
+-65.378 30.136 3057
+-65.252 30.136 3058
+-65.126 30.136 3058
+-128 30.084 2393
+-127.874 30.084 2375
+-127.748 30.084 2357
+-127.622 30.084 2337
+-127.496 30.084 2317
+-127.37 30.084 2295
+-127.244 30.084 2271
+-127.118 30.084 2263
+-126.992 30.084 2293
+-126.866 30.084 2265
+-126.74 30.084 2235
+-126.614 30.084 2204
+-126.488 30.084 2172
+-126.362 30.084 2139
+-126.236 30.084 2106
+-126.11 30.084 2115
+-125.984 30.084 2088
+-125.858 30.084 2064
+-125.732 30.084 2050
+-125.606 30.084 2057
+-125.48 30.084 2052
+-125.354 30.084 2082
+-125.228 30.084 2095
+-125.102 30.084 2119
+-124.976 30.084 2199
+-124.85 30.084 2264
+-124.724 30.084 2317
+-124.598 30.084 2382
+-124.472 30.084 2447
+-124.346 30.084 2515
+-124.22 30.084 2599
+-124.094 30.084 2677
+-123.968 30.084 2750
+-123.842 30.084 2820
+-123.716 30.084 2886
+-123.59 30.084 2954
+-123.464 30.084 3044
+-123.338 30.084 3085
+-123.212 30.084 3117
+-123.086 30.084 3210
+-122.96 30.084 3221
+-122.834 30.084 3234
+-122.708 30.084 3225
+-122.582 30.084 3221
+-122.456 30.084 3233
+-122.33 30.084 3225
+-122.204 30.084 3319
+-122.078 30.084 3475
+-121.952 30.084 3612
+-121.826 30.084 3721
+-121.7 30.084 3780
+-121.574 30.084 3860
+-121.448 30.084 3990
+-121.322 30.084 4148
+-121.196 30.084 4286
+-121.07 30.084 4351
+-120.944 30.084 4469
+-120.818 30.084 4620
+-120.692 30.084 4780
+-120.566 30.084 4906
+-120.44 30.084 5040
+-120.314 30.084 5144
+-120.188 30.084 5234
+-120.062 30.084 5182
+-119.936 30.084 5342
+-119.81 30.084 5411
+-119.684 30.084 5486
+-119.558 30.084 5560
+-119.432 30.084 5686
+-119.306 30.084 5781
+-119.18 30.084 5892
+-119.054 30.084 5963
+-118.928 30.084 6051
+-118.802 30.084 6132
+-118.676 30.084 6193
+-118.55 30.084 6257
+-118.424 30.084 6325
+-118.298 30.084 6372
+-118.172 30.084 6434
+-118.046 30.084 6456
+-117.92 30.084 6531
+-117.794 30.084 6563
+-117.668 30.084 6589
+-117.542 30.084 6633
+-117.416 30.084 6649
+-117.29 30.084 6675
+-117.164 30.084 6686
+-117.038 30.084 6689
+-116.912 30.084 6678
+-116.786 30.084 6684
+-116.66 30.084 6656
+-116.534 30.084 6623
+-116.408 30.084 6605
+-116.282 30.084 6586
+-116.156 30.084 6532
+-116.03 30.084 6473
+-115.904 30.084 6453
+-115.778 30.084 6390
+-115.652 30.084 6315
+-115.526 30.084 6281
+-115.4 30.084 6207
+-115.274 30.084 6128
+-115.148 30.084 6051
+-115.022 30.084 5944
+-114.896 30.084 5833
+-114.77 30.084 5747
+-114.644 30.084 5688
+-114.518 30.084 5601
+-114.392 30.084 5521
+-114.266 30.084 5439
+-114.14 30.084 5367
+-114.014 30.084 5234
+-113.888 30.084 5388
+-113.762 30.084 5436
+-113.636 30.084 5594
+-113.51 30.084 5662
+-113.384 30.084 5812
+-113.258 30.084 5923
+-113.132 30.084 6034
+-113.006 30.084 6164
+-112.88 30.084 6311
+-112.754 30.084 6470
+-112.628 30.084 6596
+-112.502 30.084 6637
+-112.376 30.084 6762
+-112.25 30.084 6875
+-112.124 30.084 6979
+-111.998 30.084 7097
+-111.872 30.084 7199
+-111.746 30.084 7257
+-111.62 30.084 7339
+-111.494 30.084 7479
+-111.368 30.084 7507
+-111.242 30.084 7578
+-111.116 30.084 7613
+-110.99 30.084 7710
+-110.864 30.084 7748
+-110.738 30.084 7769
+-110.612 30.084 7797
+-110.486 30.084 7819
+-110.36 30.084 7818
+-110.234 30.084 7811
+-110.108 30.084 7771
+-109.982 30.084 7755
+-109.856 30.084 7718
+-109.73 30.084 7669
+-109.604 30.084 7601
+-109.478 30.084 7527
+-109.352 30.084 7488
+-109.226 30.084 7387
+-109.1 30.084 7283
+-108.974 30.084 7221
+-108.848 30.084 7130
+-108.722 30.084 7029
+-108.596 30.084 6886
+-108.47 30.084 6780
+-108.344 30.084 6692
+-108.218 30.084 6628
+-108.092 30.084 6510
+-107.966 30.084 6393
+-107.84 30.084 6228
+-107.714 30.084 6096
+-107.588 30.084 5978
+-107.462 30.084 5923
+-107.336 30.084 5756
+-107.21 30.084 5691
+-107.084 30.084 5562
+-106.958 30.084 5482
+-106.832 30.084 5303
+-106.706 30.084 5174
+-106.58 30.084 5019
+-106.454 30.084 4904
+-106.328 30.084 4907
+-106.202 30.084 4804
+-106.076 30.084 4663
+-105.95 30.084 4531
+-105.824 30.084 4434
+-105.698 30.084 4393
+-105.572 30.084 4372
+-105.446 30.084 4316
+-105.32 30.084 4216
+-105.194 30.084 4082
+-105.068 30.084 3856
+-104.942 30.084 3642
+-104.816 30.084 3488
+-104.69 30.084 3447
+-104.564 30.084 3435
+-104.438 30.084 3423
+-104.312 30.084 3379
+-104.186 30.084 3272
+-104.06 30.084 3157
+-103.934 30.084 2958
+-103.808 30.084 2719
+-103.682 30.084 2421
+-103.556 30.084 2119
+-103.43 30.084 1863
+-103.304 30.084 1758
+-103.178 30.084 1829
+-103.052 30.084 1990
+-102.926 30.084 2165
+-102.8 30.084 2330
+-102.674 30.084 2466
+-102.548 30.084 2573
+-102.422 30.084 2661
+-102.296 30.084 2731
+-102.17 30.084 2761
+-102.044 30.084 2806
+-101.918 30.084 2844
+-101.792 30.084 2876
+-101.666 30.084 2903
+-101.54 30.084 2927
+-101.414 30.084 2947
+-101.288 30.084 2892
+-101.162 30.084 2897
+-101.036 30.084 2912
+-100.91 30.084 2925
+-100.784 30.084 2938
+-100.658 30.084 2929
+-100.532 30.084 2939
+-100.406 30.084 2948
+-100.28 30.084 2845
+-100.154 30.084 2845
+-100.028 30.084 2844
+-99.902 30.084 2841
+-99.776 30.084 2837
+-99.65 30.084 2833
+-99.524 30.084 2716
+-99.398 30.084 2709
+-99.272 30.084 2700
+-99.146 30.084 2654
+-99.02 30.084 2643
+-98.894 30.084 2631
+-98.768 30.084 2598
+-98.642 30.084 2566
+-98.516 30.084 2550
+-98.39 30.084 2534
+-98.264 30.084 2504
+-98.138 30.084 2384
+-98.012 30.084 2334
+-97.886 30.084 2317
+-97.76 30.084 2292
+-97.634 30.084 2266
+-97.508 30.084 2251
+-97.382 30.084 2319
+-97.256 30.084 2304
+-97.13 30.084 2353
+-97.004 30.084 2270
+-96.878 30.084 2267
+-96.752 30.084 2216
+-96.626 30.084 2300
+-96.5 30.084 2351
+-96.374 30.084 2335
+-96.248 30.084 2476
+-96.122 30.084 2474
+-95.996 30.084 2472
+-95.87 30.084 2467
+-95.744 30.084 2445
+-95.618 30.084 2443
+-95.492 30.084 2448
+-95.366 30.084 2384
+-95.24 30.084 2387
+-95.114 30.084 2396
+-94.988 30.084 2405
+-94.862 30.084 2416
+-94.736 30.084 2384
+-94.61 30.084 2395
+-94.484 30.084 2408
+-94.358 30.084 2378
+-94.232 30.084 2303
+-94.106 30.084 2363
+-93.98 30.084 2376
+-93.854 30.084 2385
+-93.728 30.084 2398
+-93.602 30.084 2411
+-93.476 30.084 2416
+-93.35 30.084 2428
+-93.224 30.084 2439
+-93.098 30.084 2450
+-92.972 30.084 2460
+-92.846 30.084 2451
+-92.72 30.084 2460
+-92.594 30.084 2455
+-92.468 30.084 2491
+-92.342 30.084 2507
+-92.216 30.084 2537
+-92.09 30.084 2535
+-91.964 30.084 2543
+-91.838 30.084 2561
+-91.712 30.084 2569
+-91.586 30.084 2576
+-91.46 30.084 2723
+-91.334 30.084 2725
+-91.208 30.084 2726
+-91.082 30.084 2729
+-90.956 30.084 2731
+-90.83 30.084 2801
+-90.704 30.084 2844
+-90.578 30.084 2847
+-90.452 30.084 2851
+-90.326 30.084 2856
+-90.2 30.084 2860
+-90.074 30.084 2865
+-89.948 30.084 2870
+-89.822 30.084 2905
+-89.696 30.084 2927
+-89.57 30.084 2927
+-89.444 30.084 2927
+-89.318 30.084 2924
+-89.192 30.084 2951
+-89.066 30.084 2988
+-88.94 30.084 2974
+-88.814 30.084 2958
+-88.688 30.084 2964
+-88.562 30.084 2945
+-88.436 30.084 2940
+-88.31 30.084 2992
+-88.184 30.084 3073
+-88.058 30.084 3214
+-87.932 30.084 3321
+-87.806 30.084 3409
+-87.68 30.084 3495
+-87.554 30.084 3546
+-87.428 30.084 3641
+-87.302 30.084 3684
+-87.176 30.084 3725
+-87.05 30.084 3840
+-86.924 30.084 3999
+-86.798 30.084 4145
+-86.672 30.084 4272
+-86.546 30.084 4438
+-86.42 30.084 4708
+-86.294 30.084 4879
+-86.168 30.084 5010
+-86.042 30.084 5114
+-85.916 30.084 5150
+-85.79 30.084 5090
+-85.664 30.084 5253
+-85.538 30.084 5371
+-85.412 30.084 5509
+-85.286 30.084 5641
+-85.16 30.084 5714
+-85.034 30.084 5724
+-84.908 30.084 5844
+-84.782 30.084 5930
+-84.656 30.084 6071
+-84.53 30.084 6229
+-84.404 30.084 6247
+-84.278 30.084 6370
+-84.152 30.084 6470
+-84.026 30.084 6572
+-83.9 30.084 6647
+-83.774 30.084 6721
+-83.648 30.084 6823
+-83.522 30.084 6876
+-83.396 30.084 6925
+-83.27 30.084 7001
+-83.144 30.084 7088
+-83.018 30.084 7146
+-82.892 30.084 7211
+-82.766 30.084 7228
+-82.64 30.084 7250
+-82.514 30.084 7266
+-82.388 30.084 7271
+-82.262 30.084 7305
+-82.136 30.084 7307
+-82.01 30.084 7298
+-81.884 30.084 7267
+-81.758 30.084 7282
+-81.632 30.084 7211
+-81.506 30.084 7229
+-81.38 30.084 7171
+-81.254 30.084 7105
+-81.128 30.084 7026
+-81.002 30.084 6950
+-80.876 30.084 6899
+-80.75 30.084 6804
+-80.624 30.084 6744
+-80.498 30.084 6707
+-80.372 30.084 6626
+-80.246 30.084 6547
+-80.12 30.084 6420
+-79.994 30.084 6300
+-79.868 30.084 6180
+-79.742 30.084 6028
+-79.616 30.084 5972
+-79.49 30.084 5899
+-79.364 30.084 5836
+-79.238 30.084 5778
+-79.112 30.084 5692
+-78.986 30.084 5595
+-78.86 30.084 5382
+-78.734 30.084 5223
+-78.608 30.084 5073
+-78.482 30.084 4934
+-78.356 30.084 4843
+-78.23 30.084 4762
+-78.104 30.084 4698
+-77.978 30.084 4514
+-77.852 30.084 4310
+-77.726 30.084 4201
+-77.6 30.084 4185
+-77.474 30.084 4110
+-77.348 30.084 4061
+-77.222 30.084 4045
+-77.096 30.084 4034
+-76.97 30.084 3963
+-76.844 30.084 3906
+-76.718 30.084 3795
+-76.592 30.084 3697
+-76.466 30.084 3622
+-76.34 30.084 3567
+-76.214 30.084 3544
+-76.088 30.084 3495
+-75.962 30.084 3512
+-75.836 30.084 3529
+-75.71 30.084 3493
+-75.584 30.084 3510
+-75.458 30.084 3509
+-75.332 30.084 3515
+-75.206 30.084 3522
+-75.08 30.084 3442
+-74.954 30.084 3430
+-74.828 30.084 3415
+-74.702 30.084 3417
+-74.576 30.084 3418
+-74.45 30.084 3392
+-74.324 30.084 3394
+-74.198 30.084 3372
+-74.072 30.084 3372
+-73.946 30.084 3373
+-73.82 30.084 3374
+-73.694 30.084 3375
+-73.568 30.084 3375
+-73.442 30.084 3281
+-73.316 30.084 3283
+-73.19 30.084 3284
+-73.064 30.084 3286
+-72.938 30.084 3287
+-72.812 30.084 3288
+-72.686 30.084 3289
+-72.56 30.084 3291
+-72.434 30.084 3292
+-72.308 30.084 3293
+-72.182 30.084 3294
+-72.056 30.084 3295
+-71.93 30.084 3296
+-71.804 30.084 3236
+-71.678 30.084 3237
+-71.552 30.084 3238
+-71.426 30.084 3239
+-71.3 30.084 3240
+-71.174 30.084 3198
+-71.048 30.084 3198
+-70.922 30.084 3199
+-70.796 30.084 3199
+-70.67 30.084 3199
+-70.544 30.084 3199
+-70.418 30.084 3179
+-70.292 30.084 3179
+-70.166 30.084 3156
+-70.04 30.084 3140
+-69.914 30.084 3140
+-69.788 30.084 3140
+-69.662 30.084 3141
+-69.536 30.084 3141
+-69.41 30.084 3141
+-69.284 30.084 3142
+-69.158 30.084 3142
+-69.032 30.084 3142
+-68.906 30.084 3143
+-68.78 30.084 3143
+-68.654 30.084 3048
+-68.528 30.084 3049
+-68.402 30.084 3049
+-68.276 30.084 3050
+-68.15 30.084 3050
+-68.024 30.084 3051
+-67.898 30.084 3051
+-67.772 30.084 3052
+-67.646 30.084 3052
+-67.52 30.084 3052
+-67.394 30.084 3053
+-67.268 30.084 3053
+-67.142 30.084 3054
+-67.016 30.084 3054
+-66.89 30.084 3054
+-66.764 30.084 3055
+-66.638 30.084 3055
+-66.512 30.084 3056
+-66.386 30.084 3056
+-66.26 30.084 3056
+-66.134 30.084 3056
+-66.008 30.084 3057
+-65.882 30.084 3057
+-65.756 30.084 3057
+-65.63 30.084 3058
+-65.504 30.084 3058
+-65.378 30.084 3058
+-65.252 30.084 3059
+-65.126 30.084 3059
+-128 30.032 2371
+-127.874 30.032 2352
+-127.748 30.032 2332
+-127.622 30.032 2311
+-127.496 30.032 2287
+-127.37 30.032 2263
+-127.244 30.032 2253
+-127.118 30.032 2281
+-126.992 30.032 2250
+-126.866 30.032 2217
+-126.74 30.032 2182
+-126.614 30.032 2145
+-126.488 30.032 2107
+-126.362 30.032 2067
+-126.236 30.032 2069
+-126.11 30.032 2032
+-125.984 30.032 1996
+-125.858 30.032 1969
+-125.732 30.032 1961
+-125.606 30.032 1939
+-125.48 30.032 1950
+-125.354 30.032 1946
+-125.228 30.032 1956
+-125.102 30.032 2022
+-124.976 30.032 2077
+-124.85 30.032 2125
+-124.724 30.032 2189
+-124.598 30.032 2254
+-124.472 30.032 2325
+-124.346 30.032 2414
+-124.22 30.032 2500
+-124.094 30.032 2582
+-123.968 30.032 2666
+-123.842 30.032 2748
+-123.716 30.032 2838
+-123.59 30.032 2945
+-123.464 30.032 3006
+-123.338 30.032 3057
+-123.212 30.032 3107
+-123.086 30.032 3210
+-122.96 30.032 3233
+-122.834 30.032 3239
+-122.708 30.032 3272
+-122.582 30.032 3277
+-122.456 30.032 3321
+-122.33 30.032 3341
+-122.204 30.032 3412
+-122.078 30.032 3499
+-121.952 30.032 3584
+-121.826 30.032 3665
+-121.7 30.032 3738
+-121.574 30.032 3841
+-121.448 30.032 3941
+-121.322 30.032 4115
+-121.196 30.032 4212
+-121.07 30.032 4344
+-120.944 30.032 4440
+-120.818 30.032 4605
+-120.692 30.032 4735
+-120.566 30.032 4831
+-120.44 30.032 5012
+-120.314 30.032 5123
+-120.188 30.032 5239
+-120.062 30.032 5269
+-119.936 30.032 5311
+-119.81 30.032 5399
+-119.684 30.032 5440
+-119.558 30.032 5561
+-119.432 30.032 5604
+-119.306 30.032 5720
+-119.18 30.032 5827
+-119.054 30.032 5923
+-118.928 30.032 5987
+-118.802 30.032 6069
+-118.676 30.032 6134
+-118.55 30.032 6191
+-118.424 30.032 6264
+-118.298 30.032 6331
+-118.172 30.032 6390
+-118.046 30.032 6427
+-117.92 30.032 6482
+-117.794 30.032 6493
+-117.668 30.032 6546
+-117.542 30.032 6574
+-117.416 30.032 6577
+-117.29 30.032 6590
+-117.164 30.032 6609
+-117.038 30.032 6607
+-116.912 30.032 6612
+-116.786 30.032 6618
+-116.66 30.032 6613
+-116.534 30.032 6588
+-116.408 30.032 6551
+-116.282 30.032 6515
+-116.156 30.032 6459
+-116.03 30.032 6419
+-115.904 30.032 6379
+-115.778 30.032 6338
+-115.652 30.032 6279
+-115.526 30.032 6219
+-115.4 30.032 6155
+-115.274 30.032 6049
+-115.148 30.032 5958
+-115.022 30.032 5884
+-114.896 30.032 5777
+-114.77 30.032 5701
+-114.644 30.032 5626
+-114.518 30.032 5539
+-114.392 30.032 5516
+-114.266 30.032 5405
+-114.14 30.032 5310
+-114.014 30.032 5225
+-113.888 30.032 5339
+-113.762 30.032 5457
+-113.636 30.032 5562
+-113.51 30.032 5627
+-113.384 30.032 5805
+-113.258 30.032 5913
+-113.132 30.032 6065
+-113.006 30.032 6126
+-112.88 30.032 6288
+-112.754 30.032 6439
+-112.628 30.032 6466
+-112.502 30.032 6623
+-112.376 30.032 6675
+-112.25 30.032 6832
+-112.124 30.032 6902
+-111.998 30.032 7094
+-111.872 30.032 7119
+-111.746 30.032 7208
+-111.62 30.032 7304
+-111.494 30.032 7395
+-111.368 30.032 7436
+-111.242 30.032 7550
+-111.116 30.032 7578
+-110.99 30.032 7649
+-110.864 30.032 7698
+-110.738 30.032 7745
+-110.612 30.032 7743
+-110.486 30.032 7753
+-110.36 30.032 7758
+-110.234 30.032 7765
+-110.108 30.032 7724
+-109.982 30.032 7697
+-109.856 30.032 7660
+-109.73 30.032 7603
+-109.604 30.032 7557
+-109.478 30.032 7460
+-109.352 30.032 7398
+-109.226 30.032 7334
+-109.1 30.032 7268
+-108.974 30.032 7177
+-108.848 30.032 7076
+-108.722 30.032 6983
+-108.596 30.032 6845
+-108.47 30.032 6729
+-108.344 30.032 6699
+-108.218 30.032 6614
+-108.092 30.032 6503
+-107.966 30.032 6337
+-107.84 30.032 6248
+-107.714 30.032 6124
+-107.588 30.032 5980
+-107.462 30.032 5850
+-107.336 30.032 5824
+-107.21 30.032 5706
+-107.084 30.032 5580
+-106.958 30.032 5443
+-106.832 30.032 5272
+-106.706 30.032 5095
+-106.58 30.032 4972
+-106.454 30.032 4945
+-106.328 30.032 4894
+-106.202 30.032 4775
+-106.076 30.032 4564
+-105.95 30.032 4414
+-105.824 30.032 4353
+-105.698 30.032 4350
+-105.572 30.032 4332
+-105.446 30.032 4268
+-105.32 30.032 4162
+-105.194 30.032 3988
+-105.068 30.032 3717
+-104.942 30.032 3460
+-104.816 30.032 3313
+-104.69 30.032 3348
+-104.564 30.032 3392
+-104.438 30.032 3402
+-104.312 30.032 3360
+-104.186 30.032 3290
+-104.06 30.032 3125
+-103.934 30.032 2933
+-103.808 30.032 2705
+-103.682 30.032 2404
+-103.556 30.032 2047
+-103.43 30.032 1768
+-103.304 30.032 1663
+-103.178 30.032 1748
+-103.052 30.032 1939
+-102.926 30.032 2135
+-102.8 30.032 2302
+-102.674 30.032 2447
+-102.548 30.032 2547
+-102.422 30.032 2637
+-102.296 30.032 2700
+-102.17 30.032 2757
+-102.044 30.032 2804
+-101.918 30.032 2843
+-101.792 30.032 2876
+-101.666 30.032 2903
+-101.54 30.032 2927
+-101.414 30.032 2948
+-101.288 30.032 2966
+-101.162 30.032 2907
+-101.036 30.032 2910
+-100.91 30.032 2924
+-100.784 30.032 2936
+-100.658 30.032 2947
+-100.532 30.032 2938
+-100.406 30.032 2947
+-100.28 30.032 2846
+-100.154 30.032 2846
+-100.028 30.032 2844
+-99.902 30.032 2842
+-99.776 30.032 2839
+-99.65 30.032 2835
+-99.524 30.032 2829
+-99.398 30.032 2711
+-99.272 30.032 2702
+-99.146 30.032 2693
+-99.02 30.032 2647
+-98.894 30.032 2636
+-98.768 30.032 2603
+-98.642 30.032 2589
+-98.516 30.032 2557
+-98.39 30.032 2541
+-98.264 30.032 2512
+-98.138 30.032 2392
+-98.012 30.032 2376
+-97.886 30.032 2327
+-97.76 30.032 2303
+-97.634 30.032 2278
+-97.508 30.032 2263
+-97.382 30.032 2331
+-97.256 30.032 2317
+-97.13 30.032 2266
+-97.004 30.032 2284
+-96.878 30.032 2282
+-96.752 30.032 2232
+-96.626 30.032 2318
+-96.5 30.032 2354
+-96.374 30.032 2407
+-96.248 30.032 2408
+-96.122 30.032 2433
+-95.996 30.032 2428
+-95.87 30.032 2428
+-95.744 30.032 2462
+-95.618 30.032 2467
+-95.492 30.032 2400
+-95.366 30.032 2401
+-95.24 30.032 2409
+-95.114 30.032 2417
+-94.988 30.032 2426
+-94.862 30.032 2392
+-94.736 30.032 2401
+-94.61 30.032 2412
+-94.484 30.032 2380
+-94.358 30.032 2305
+-94.232 30.032 2364
+-94.106 30.032 2376
+-93.98 30.032 2384
+-93.854 30.032 2397
+-93.728 30.032 2409
+-93.602 30.032 2413
+-93.476 30.032 2425
+-93.35 30.032 2436
+-93.224 30.032 2446
+-93.098 30.032 2456
+-92.972 30.032 2448
+-92.846 30.032 2457
+-92.72 30.032 2451
+-92.594 30.032 2490
+-92.468 30.032 2506
+-92.342 30.032 2538
+-92.216 30.032 2536
+-92.09 30.032 2545
+-91.964 30.032 2565
+-91.838 30.032 2573
+-91.712 30.032 2581
+-91.586 30.032 2595
+-91.46 30.032 2737
+-91.334 30.032 2739
+-91.208 30.032 2741
+-91.082 30.032 2744
+-90.956 30.032 2773
+-90.83 30.032 2776
+-90.704 30.032 2864
+-90.578 30.032 2868
+-90.452 30.032 2873
+-90.326 30.032 2877
+-90.2 30.032 2882
+-90.074 30.032 2912
+-89.948 30.032 2914
+-89.822 30.032 2916
+-89.696 30.032 2949
+-89.57 30.032 2950
+-89.444 30.032 2949
+-89.318 30.032 2987
+-89.192 30.032 3020
+-89.066 30.032 3007
+-88.94 30.032 3020
+-88.814 30.032 2987
+-88.688 30.032 2941
+-88.562 30.032 2884
+-88.436 30.032 2849
+-88.31 30.032 2851
+-88.184 30.032 2966
+-88.058 30.032 3136
+-87.932 30.032 3316
+-87.806 30.032 3442
+-87.68 30.032 3540
+-87.554 30.032 3602
+-87.428 30.032 3652
+-87.302 30.032 3709
+-87.176 30.032 3771
+-87.05 30.032 3906
+-86.924 30.032 4058
+-86.798 30.032 4192
+-86.672 30.032 4339
+-86.546 30.032 4487
+-86.42 30.032 4705
+-86.294 30.032 4927
+-86.168 30.032 5047
+-86.042 30.032 5154
+-85.916 30.032 5182
+-85.79 30.032 5144
+-85.664 30.032 5272
+-85.538 30.032 5406
+-85.412 30.032 5556
+-85.286 30.032 5677
+-85.16 30.032 5717
+-85.034 30.032 5866
+-84.908 30.032 5864
+-84.782 30.032 5950
+-84.656 30.032 6061
+-84.53 30.032 6176
+-84.404 30.032 6283
+-84.278 30.032 6451
+-84.152 30.032 6563
+-84.026 30.032 6576
+-83.9 30.032 6700
+-83.774 30.032 6804
+-83.648 30.032 6887
+-83.522 30.032 6917
+-83.396 30.032 6996
+-83.27 30.032 7082
+-83.144 30.032 7143
+-83.018 30.032 7210
+-82.892 30.032 7250
+-82.766 30.032 7253
+-82.64 30.032 7307
+-82.514 30.032 7316
+-82.388 30.032 7337
+-82.262 30.032 7364
+-82.136 30.032 7339
+-82.01 30.032 7351
+-81.884 30.032 7340
+-81.758 30.032 7332
+-81.632 30.032 7272
+-81.506 30.032 7227
+-81.38 30.032 7170
+-81.254 30.032 7156
+-81.128 30.032 7094
+-81.002 30.032 7003
+-80.876 30.032 6977
+-80.75 30.032 6869
+-80.624 30.032 6794
+-80.498 30.032 6715
+-80.372 30.032 6588
+-80.246 30.032 6560
+-80.12 30.032 6440
+-79.994 30.032 6322
+-79.868 30.032 6225
+-79.742 30.032 6128
+-79.616 30.032 5997
+-79.49 30.032 5879
+-79.364 30.032 5899
+-79.238 30.032 5833
+-79.112 30.032 5733
+-78.986 30.032 5621
+-78.86 30.032 5411
+-78.734 30.032 5266
+-78.608 30.032 5132
+-78.482 30.032 4953
+-78.356 30.032 4905
+-78.23 30.032 4812
+-78.104 30.032 4699
+-77.978 30.032 4551
+-77.852 30.032 4394
+-77.726 30.032 4276
+-77.6 30.032 4242
+-77.474 30.032 4187
+-77.348 30.032 4117
+-77.222 30.032 4090
+-77.096 30.032 4045
+-76.97 30.032 3981
+-76.844 30.032 3924
+-76.718 30.032 3863
+-76.592 30.032 3809
+-76.466 30.032 3716
+-76.34 30.032 3674
+-76.214 30.032 3648
+-76.088 30.032 3639
+-75.962 30.032 3566
+-75.836 30.032 3566
+-75.71 30.032 3575
+-75.584 30.032 3567
+-75.458 30.032 3537
+-75.332 30.032 3536
+-75.206 30.032 3497
+-75.08 30.032 3495
+-74.954 30.032 3473
+-74.828 30.032 3428
+-74.702 30.032 3429
+-74.576 30.032 3403
+-74.45 30.032 3404
+-74.324 30.032 3381
+-74.198 30.032 3381
+-74.072 30.032 3381
+-73.946 30.032 3381
+-73.82 30.032 3381
+-73.694 30.032 3382
+-73.568 30.032 3382
+-73.442 30.032 3382
+-73.316 30.032 3292
+-73.19 30.032 3293
+-73.064 30.032 3294
+-72.938 30.032 3295
+-72.812 30.032 3296
+-72.686 30.032 3297
+-72.56 30.032 3298
+-72.434 30.032 3298
+-72.308 30.032 3299
+-72.182 30.032 3300
+-72.056 30.032 3301
+-71.93 30.032 3241
+-71.804 30.032 3242
+-71.678 30.032 3243
+-71.552 30.032 3244
+-71.426 30.032 3245
+-71.3 30.032 3203
+-71.174 30.032 3203
+-71.048 30.032 3203
+-70.922 30.032 3203
+-70.796 30.032 3203
+-70.67 30.032 3203
+-70.544 30.032 3181
+-70.418 30.032 3182
+-70.292 30.032 3159
+-70.166 30.032 3142
+-70.04 30.032 3142
+-69.914 30.032 3142
+-69.788 30.032 3143
+-69.662 30.032 3143
+-69.536 30.032 3143
+-69.41 30.032 3144
+-69.284 30.032 3144
+-69.158 30.032 3144
+-69.032 30.032 3144
+-68.906 30.032 3145
+-68.78 30.032 3050
+-68.654 30.032 3050
+-68.528 30.032 3051
+-68.402 30.032 3051
+-68.276 30.032 3051
+-68.15 30.032 3052
+-68.024 30.032 3052
+-67.898 30.032 3053
+-67.772 30.032 3053
+-67.646 30.032 3054
+-67.52 30.032 3054
+-67.394 30.032 3054
+-67.268 30.032 3055
+-67.142 30.032 3055
+-67.016 30.032 3055
+-66.89 30.032 3056
+-66.764 30.032 3056
+-66.638 30.032 3056
+-66.512 30.032 3057
+-66.386 30.032 3057
+-66.26 30.032 3057
+-66.134 30.032 3058
+-66.008 30.032 3058
+-65.882 30.032 3058
+-65.756 30.032 3058
+-65.63 30.032 3059
+-65.504 30.032 3059
+-65.378 30.032 3059
+-65.252 30.032 3059
+-65.126 30.032 3060
+-128 29.98 2351
+-127.874 29.98 2330
+-127.748 29.98 2308
+-127.622 29.98 2284
+-127.496 29.98 2259
+-127.37 29.98 2247
+-127.244 29.98 2275
+-127.118 29.98 2242
+-126.992 29.98 2207
+-126.866 29.98 2169
+-126.74 29.98 2129
+-126.614 29.98 2086
+-126.488 29.98 2041
+-126.362 29.98 2038
+-126.236 29.98 1993
+-126.11 29.98 1946
+-125.984 29.98 1905
+-125.858 29.98 1882
+-125.732 29.98 1842
+-125.606 29.98 1829
+-125.48 29.98 1804
+-125.354 29.98 1792
+-125.228 29.98 1837
+-125.102 29.98 1874
+-124.976 29.98 1913
+-124.85 29.98 1972
+-124.724 29.98 2036
+-124.598 29.98 2108
+-124.472 29.98 2198
+-124.346 29.98 2290
+-124.22 29.98 2378
+-124.094 29.98 2470
+-123.968 29.98 2566
+-123.842 29.98 2678
+-123.716 29.98 2803
+-123.59 29.98 2887
+-123.464 29.98 2961
+-123.338 29.98 3010
+-123.212 29.98 3083
+-123.086 29.98 3133
+-122.96 29.98 3236
+-122.834 29.98 3258
+-122.708 29.98 3273
+-122.582 29.98 3346
+-122.456 29.98 3369
+-122.33 29.98 3411
+-122.204 29.98 3447
+-122.078 29.98 3495
+-121.952 29.98 3531
+-121.826 29.98 3595
+-121.7 29.98 3684
+-121.574 29.98 3817
+-121.448 29.98 3940
+-121.322 29.98 4058
+-121.196 29.98 4142
+-121.07 29.98 4254
+-120.944 29.98 4387
+-120.818 29.98 4516
+-120.692 29.98 4645
+-120.566 29.98 4802
+-120.44 29.98 4995
+-120.314 29.98 5138
+-120.188 29.98 5210
+-120.062 29.98 5245
+-119.936 29.98 5191
+-119.81 29.98 5340
+-119.684 29.98 5422
+-119.558 29.98 5492
+-119.432 29.98 5551
+-119.306 29.98 5625
+-119.18 29.98 5741
+-119.054 29.98 5821
+-118.928 29.98 5939
+-118.802 29.98 5999
+-118.676 29.98 6075
+-118.55 29.98 6144
+-118.424 29.98 6188
+-118.298 29.98 6250
+-118.172 29.98 6317
+-118.046 29.98 6362
+-117.92 29.98 6415
+-117.794 29.98 6455
+-117.668 29.98 6461
+-117.542 29.98 6514
+-117.416 29.98 6564
+-117.29 29.98 6550
+-117.164 29.98 6533
+-117.038 29.98 6556
+-116.912 29.98 6540
+-116.786 29.98 6551
+-116.66 29.98 6552
+-116.534 29.98 6542
+-116.408 29.98 6502
+-116.282 29.98 6466
+-116.156 29.98 6413
+-116.03 29.98 6382
+-115.904 29.98 6332
+-115.778 29.98 6251
+-115.652 29.98 6192
+-115.526 29.98 6145
+-115.4 29.98 6106
+-115.274 29.98 5989
+-115.148 29.98 5890
+-115.022 29.98 5832
+-114.896 29.98 5798
+-114.77 29.98 5700
+-114.644 29.98 5590
+-114.518 29.98 5493
+-114.392 29.98 5438
+-114.266 29.98 5320
+-114.14 29.98 5242
+-114.014 29.98 5283
+-113.888 29.98 5346
+-113.762 29.98 5446
+-113.636 29.98 5587
+-113.51 29.98 5644
+-113.384 29.98 5756
+-113.258 29.98 5904
+-113.132 29.98 6060
+-113.006 29.98 6187
+-112.88 29.98 6281
+-112.754 29.98 6417
+-112.628 29.98 6513
+-112.502 29.98 6595
+-112.376 29.98 6674
+-112.25 29.98 6790
+-112.124 29.98 6854
+-111.998 29.98 7006
+-111.872 29.98 7078
+-111.746 29.98 7182
+-111.62 29.98 7272
+-111.494 29.98 7319
+-111.368 29.98 7447
+-111.242 29.98 7465
+-111.116 29.98 7586
+-110.99 29.98 7627
+-110.864 29.98 7669
+-110.738 29.98 7670
+-110.612 29.98 7693
+-110.486 29.98 7732
+-110.36 29.98 7686
+-110.234 29.98 7681
+-110.108 29.98 7661
+-109.982 29.98 7644
+-109.856 29.98 7604
+-109.73 29.98 7566
+-109.604 29.98 7493
+-109.478 29.98 7420
+-109.352 29.98 7387
+-109.226 29.98 7329
+-109.1 29.98 7241
+-108.974 29.98 7130
+-108.848 29.98 6999
+-108.722 29.98 6929
+-108.596 29.98 6810
+-108.47 29.98 6711
+-108.344 29.98 6671
+-108.218 29.98 6542
+-108.092 29.98 6477
+-107.966 29.98 6295
+-107.84 29.98 6182
+-107.714 29.98 6077
+-107.588 29.98 5954
+-107.462 29.98 5882
+-107.336 29.98 5798
+-107.21 29.98 5680
+-107.084 29.98 5540
+-106.958 29.98 5385
+-106.832 29.98 5239
+-106.706 29.98 5110
+-106.58 29.98 4983
+-106.454 29.98 4910
+-106.328 29.98 4859
+-106.202 29.98 4727
+-106.076 29.98 4490
+-105.95 29.98 4330
+-105.824 29.98 4239
+-105.698 29.98 4306
+-105.572 29.98 4317
+-105.446 29.98 4242
+-105.32 29.98 4114
+-105.194 29.98 3890
+-105.068 29.98 3636
+-104.942 29.98 3352
+-104.816 29.98 3210
+-104.69 29.98 3293
+-104.564 29.98 3379
+-104.438 29.98 3406
+-104.312 29.98 3363
+-104.186 29.98 3262
+-104.06 29.98 3153
+-103.934 29.98 2964
+-103.808 29.98 2738
+-103.682 29.98 2451
+-103.556 29.98 2130
+-103.43 29.98 1860
+-103.304 29.98 1758
+-103.178 29.98 1829
+-103.052 29.98 1990
+-102.926 29.98 2181
+-102.8 29.98 2335
+-102.674 29.98 2446
+-102.548 29.98 2556
+-102.422 29.98 2635
+-102.296 29.98 2704
+-102.17 29.98 2761
+-102.044 29.98 2807
+-101.918 29.98 2846
+-101.792 29.98 2878
+-101.666 29.98 2906
+-101.54 29.98 2930
+-101.414 29.98 2950
+-101.288 29.98 2968
+-101.162 29.98 2984
+-101.036 29.98 2921
+-100.91 29.98 2923
+-100.784 29.98 2935
+-100.658 29.98 2946
+-100.532 29.98 2957
+-100.406 29.98 2946
+-100.28 29.98 2846
+-100.154 29.98 2846
+-100.028 29.98 2846
+-99.902 29.98 2844
+-99.776 29.98 2841
+-99.65 29.98 2837
+-99.524 29.98 2832
+-99.398 29.98 2826
+-99.272 29.98 2705
+-99.146 29.98 2696
+-99.02 29.98 2686
+-98.894 29.98 2640
+-98.768 29.98 2608
+-98.642 29.98 2595
+-98.516 29.98 2581
+-98.39 29.98 2548
+-98.264 29.98 2519
+-98.138 29.98 2400
+-98.012 29.98 2385
+-97.886 29.98 2370
+-97.76 29.98 2310
+-97.634 29.98 2317
+-97.508 29.98 2276
+-97.382 29.98 2308
+-97.256 29.98 2330
+-97.13 29.98 2279
+-97.004 29.98 2298
+-96.878 29.98 2247
+-96.752 29.98 2302
+-96.626 29.98 2217
+-96.5 29.98 2425
+-96.374 29.98 2424
+-96.248 29.98 2363
+-96.122 29.98 2448
+-95.996 29.98 2447
+-95.87 29.98 2482
+-95.744 29.98 2485
+-95.618 29.98 2427
+-95.492 29.98 2432
+-95.366 29.98 2422
+-95.24 29.98 2429
+-95.114 29.98 2436
+-94.988 29.98 2400
+-94.862 29.98 2408
+-94.736 29.98 2418
+-94.61 29.98 2384
+-94.484 29.98 2307
+-94.358 29.98 2366
+-94.232 29.98 2377
+-94.106 29.98 2384
+-93.98 29.98 2396
+-93.854 29.98 2408
+-93.728 29.98 2412
+-93.602 29.98 2423
+-93.476 29.98 2433
+-93.35 29.98 2444
+-93.224 29.98 2453
+-93.098 29.98 2445
+-92.972 29.98 2454
+-92.846 29.98 2448
+-92.72 29.98 2489
+-92.594 29.98 2506
+-92.468 29.98 2538
+-92.342 29.98 2537
+-92.216 29.98 2565
+-92.09 29.98 2568
+-91.964 29.98 2577
+-91.838 29.98 2585
+-91.712 29.98 2601
+-91.586 29.98 2609
+-91.46 29.98 2616
+-91.334 29.98 2752
+-91.208 29.98 2755
+-91.082 29.98 2787
+-90.956 29.98 2790
+-90.83 29.98 2793
+-90.704 29.98 2883
+-90.578 29.98 2887
+-90.452 29.98 2892
+-90.326 29.98 2898
+-90.2 29.98 2929
+-90.074 29.98 2932
+-89.948 29.98 2934
+-89.822 29.98 2968
+-89.696 29.98 2983
+-89.57 29.98 2983
+-89.444 29.98 2981
+-89.318 29.98 3002
+-89.192 29.98 3039
+-89.066 29.98 3059
+-88.94 29.98 3029
+-88.814 29.98 2984
+-88.688 29.98 2919
+-88.562 29.98 2827
+-88.436 29.98 2696
+-88.31 29.98 2633
+-88.184 29.98 2770
+-88.058 29.98 3050
+-87.932 29.98 3303
+-87.806 29.98 3475
+-87.68 29.98 3566
+-87.554 29.98 3618
+-87.428 29.98 3657
+-87.302 29.98 3699
+-87.176 29.98 3780
+-87.05 29.98 3920
+-86.924 29.98 4097
+-86.798 29.98 4251
+-86.672 29.98 4383
+-86.546 29.98 4582
+-86.42 29.98 4738
+-86.294 29.98 4898
+-86.168 29.98 5072
+-86.042 29.98 5165
+-85.916 29.98 5210
+-85.79 29.98 5248
+-85.664 29.98 5332
+-85.538 29.98 5481
+-85.412 29.98 5548
+-85.286 29.98 5676
+-85.16 29.98 5786
+-85.034 29.98 5843
+-84.908 29.98 5916
+-84.782 29.98 5988
+-84.656 29.98 6070
+-84.53 29.98 6170
+-84.404 29.98 6369
+-84.278 29.98 6537
+-84.152 29.98 6591
+-84.026 29.98 6675
+-83.9 29.98 6804
+-83.774 29.98 6882
+-83.648 29.98 6975
+-83.522 29.98 6995
+-83.396 29.98 7058
+-83.27 29.98 7141
+-83.144 29.98 7230
+-83.018 29.98 7242
+-82.892 29.98 7278
+-82.766 29.98 7332
+-82.64 29.98 7371
+-82.514 29.98 7368
+-82.388 29.98 7372
+-82.262 29.98 7400
+-82.136 29.98 7395
+-82.01 29.98 7420
+-81.884 29.98 7400
+-81.758 29.98 7402
+-81.632 29.98 7342
+-81.506 29.98 7276
+-81.38 29.98 7262
+-81.254 29.98 7237
+-81.128 29.98 7180
+-81.002 29.98 7083
+-80.876 29.98 6983
+-80.75 29.98 6906
+-80.624 29.98 6835
+-80.498 29.98 6793
+-80.372 29.98 6664
+-80.246 29.98 6600
+-80.12 29.98 6461
+-79.994 29.98 6341
+-79.868 29.98 6282
+-79.742 29.98 6194
+-79.616 29.98 6094
+-79.49 29.98 6007
+-79.364 29.98 5955
+-79.238 29.98 5879
+-79.112 29.98 5746
+-78.986 29.98 5618
+-78.86 29.98 5457
+-78.734 29.98 5343
+-78.608 29.98 5198
+-78.482 29.98 5015
+-78.356 29.98 4920
+-78.23 29.98 4831
+-78.104 29.98 4670
+-77.978 29.98 4559
+-77.852 29.98 4482
+-77.726 29.98 4372
+-77.6 29.98 4302
+-77.474 29.98 4237
+-77.348 29.98 4151
+-77.222 29.98 4087
+-77.096 29.98 4033
+-76.97 29.98 3983
+-76.844 29.98 3951
+-76.718 29.98 3915
+-76.592 29.98 3850
+-76.466 29.98 3791
+-76.34 29.98 3743
+-76.214 29.98 3718
+-76.088 29.98 3682
+-75.962 29.98 3663
+-75.836 29.98 3652
+-75.71 29.98 3592
+-75.584 29.98 3596
+-75.458 29.98 3594
+-75.332 29.98 3550
+-75.206 29.98 3529
+-75.08 29.98 3483
+-74.954 29.98 3485
+-74.828 29.98 3486
+-74.702 29.98 3467
+-74.576 29.98 3414
+-74.45 29.98 3390
+-74.324 29.98 3390
+-74.198 29.98 3389
+-74.072 29.98 3389
+-73.946 29.98 3388
+-73.82 29.98 3388
+-73.694 29.98 3388
+-73.568 29.98 3388
+-73.442 29.98 3388
+-73.316 29.98 3388
+-73.19 29.98 3301
+-73.064 29.98 3302
+-72.938 29.98 3302
+-72.812 29.98 3303
+-72.686 29.98 3304
+-72.56 29.98 3304
+-72.434 29.98 3305
+-72.308 29.98 3305
+-72.182 29.98 3306
+-72.056 29.98 3247
+-71.93 29.98 3248
+-71.804 29.98 3249
+-71.678 29.98 3250
+-71.552 29.98 3250
+-71.426 29.98 3208
+-71.3 29.98 3208
+-71.174 29.98 3208
+-71.048 29.98 3207
+-70.922 29.98 3207
+-70.796 29.98 3207
+-70.67 29.98 3184
+-70.544 29.98 3184
+-70.418 29.98 3162
+-70.292 29.98 3144
+-70.166 29.98 3144
+-70.04 29.98 3145
+-69.914 29.98 3145
+-69.788 29.98 3145
+-69.662 29.98 3145
+-69.536 29.98 3145
+-69.41 29.98 3146
+-69.284 29.98 3146
+-69.158 29.98 3146
+-69.032 29.98 3146
+-68.906 29.98 3051
+-68.78 29.98 3051
+-68.654 29.98 3052
+-68.528 29.98 3052
+-68.402 29.98 3053
+-68.276 29.98 3053
+-68.15 29.98 3054
+-68.024 29.98 3054
+-67.898 29.98 3054
+-67.772 29.98 3055
+-67.646 29.98 3055
+-67.52 29.98 3055
+-67.394 29.98 3056
+-67.268 29.98 3056
+-67.142 29.98 3056
+-67.016 29.98 3057
+-66.89 29.98 3057
+-66.764 29.98 3057
+-66.638 29.98 3057
+-66.512 29.98 3058
+-66.386 29.98 3058
+-66.26 29.98 3058
+-66.134 29.98 3059
+-66.008 29.98 3059
+-65.882 29.98 3059
+-65.756 29.98 3059
+-65.63 29.98 3060
+-65.504 29.98 3060
+-65.378 29.98 3060
+-65.252 29.98 3060
+-65.126 29.98 3061
+-128 29.928 2331
+-127.874 29.928 2309
+-127.748 29.928 2285
+-127.622 29.928 2259
+-127.496 29.928 2247
+-127.37 29.928 2273
+-127.244 29.928 2240
+-127.118 29.928 2204
+-126.992 29.928 2165
+-126.866 29.928 2123
+-126.74 29.928 2077
+-126.614 29.928 2028
+-126.488 29.928 2022
+-126.362 29.928 1970
+-126.236 29.928 1915
+-126.11 29.928 1862
+-125.984 29.928 1826
+-125.858 29.928 1768
+-125.732 29.928 1732
+-125.606 29.928 1681
+-125.48 29.928 1641
+-125.354 29.928 1655
+-125.228 29.928 1665
+-125.102 29.928 1684
+-124.976 29.928 1731
+-124.85 29.928 1792
+-124.724 29.928 1865
+-124.598 29.928 1957
+-124.472 29.928 2052
+-124.346 29.928 2140
+-124.22 29.928 2235
+-124.094 29.928 2337
+-123.968 29.928 2467
+-123.842 29.928 2610
+-123.716 29.928 2719
+-123.59 29.928 2820
+-123.464 29.928 2896
+-123.338 29.928 2970
+-123.212 29.928 3053
+-123.086 29.928 3113
+-122.96 29.928 3236
+-122.834 29.928 3258
+-122.708 29.928 3279
+-122.582 29.928 3320
+-122.456 29.928 3393
+-122.33 29.928 3415
+-122.204 29.928 3448
+-122.078 29.928 3439
+-121.952 29.928 3428
+-121.826 29.928 3490
+-121.7 29.928 3602
+-121.574 29.928 3782
+-121.448 29.928 3921
+-121.322 29.928 3988
+-121.196 29.928 4068
+-121.07 29.928 4208
+-120.944 29.928 4333
+-120.818 29.928 4416
+-120.692 29.928 4506
+-120.566 29.928 4687
+-120.44 29.928 4934
+-120.314 29.928 5080
+-120.188 29.928 5168
+-120.062 29.928 5215
+-119.936 29.928 5149
+-119.81 29.928 5313
+-119.684 29.928 5367
+-119.558 29.928 5439
+-119.432 29.928 5514
+-119.306 29.928 5583
+-119.18 29.928 5693
+-119.054 29.928 5838
+-118.928 29.928 5847
+-118.802 29.928 5952
+-118.676 29.928 6032
+-118.55 29.928 6095
+-118.424 29.928 6128
+-118.298 29.928 6165
+-118.172 29.928 6235
+-118.046 29.928 6274
+-117.92 29.928 6347
+-117.794 29.928 6419
+-117.668 29.928 6448
+-117.542 29.928 6466
+-117.416 29.928 6458
+-117.29 29.928 6492
+-117.164 29.928 6484
+-117.038 29.928 6488
+-116.912 29.928 6486
+-116.786 29.928 6507
+-116.66 29.928 6498
+-116.534 29.928 6490
+-116.408 29.928 6437
+-116.282 29.928 6395
+-116.156 29.928 6374
+-116.03 29.928 6333
+-115.904 29.928 6291
+-115.778 29.928 6221
+-115.652 29.928 6173
+-115.526 29.928 6100
+-115.4 29.928 6032
+-115.274 29.928 5966
+-115.148 29.928 5882
+-115.022 29.928 5781
+-114.896 29.928 5695
+-114.77 29.928 5620
+-114.644 29.928 5526
+-114.518 29.928 5456
+-114.392 29.928 5374
+-114.266 29.928 5270
+-114.14 29.928 5133
+-114.014 29.928 5241
+-113.888 29.928 5316
+-113.762 29.928 5402
+-113.636 29.928 5516
+-113.51 29.928 5640
+-113.384 29.928 5752
+-113.258 29.928 5869
+-113.132 29.928 5935
+-113.006 29.928 6170
+-112.88 29.928 6253
+-112.754 29.928 6380
+-112.628 29.928 6476
+-112.502 29.928 6620
+-112.376 29.928 6675
+-112.25 29.928 6746
+-112.124 29.928 6840
+-111.998 29.928 6966
+-111.872 29.928 7101
+-111.746 29.928 7159
+-111.62 29.928 7233
+-111.494 29.928 7284
+-111.368 29.928 7356
+-111.242 29.928 7437
+-111.116 29.928 7466
+-110.99 29.928 7557
+-110.864 29.928 7588
+-110.738 29.928 7617
+-110.612 29.928 7644
+-110.486 29.928 7638
+-110.36 29.928 7627
+-110.234 29.928 7645
+-110.108 29.928 7619
+-109.982 29.928 7612
+-109.856 29.928 7557
+-109.73 29.928 7522
+-109.604 29.928 7447
+-109.478 29.928 7376
+-109.352 29.928 7355
+-109.226 29.928 7270
+-109.1 29.928 7155
+-108.974 29.928 7073
+-108.848 29.928 7010
+-108.722 29.928 6880
+-108.596 29.928 6818
+-108.47 29.928 6729
+-108.344 29.928 6642
+-108.218 29.928 6531
+-108.092 29.928 6395
+-107.966 29.928 6252
+-107.84 29.928 6199
+-107.714 29.928 6062
+-107.588 29.928 5932
+-107.462 29.928 5827
+-107.336 29.928 5707
+-107.21 29.928 5596
+-107.084 29.928 5499
+-106.958 29.928 5385
+-106.832 29.928 5230
+-106.706 29.928 5094
+-106.58 29.928 4954
+-106.454 29.928 4845
+-106.328 29.928 4790
+-106.202 29.928 4712
+-106.076 29.928 4548
+-105.95 29.928 4416
+-105.824 29.928 4337
+-105.698 29.928 4333
+-105.572 29.928 4308
+-105.446 29.928 4211
+-105.32 29.928 4063
+-105.194 29.928 3895
+-105.068 29.928 3653
+-104.942 29.928 3442
+-104.816 29.928 3310
+-104.69 29.928 3345
+-104.564 29.928 3414
+-104.438 29.928 3395
+-104.312 29.928 3366
+-104.186 29.928 3277
+-104.06 29.928 3181
+-103.934 29.928 3038
+-103.808 29.928 2816
+-103.682 29.928 2569
+-103.556 29.928 2307
+-103.43 29.928 2093
+-103.304 29.928 1987
+-103.178 29.928 2022
+-103.052 29.928 2143
+-102.926 29.928 2263
+-102.8 29.928 2404
+-102.674 29.928 2497
+-102.548 29.928 2575
+-102.422 29.928 2654
+-102.296 29.928 2719
+-102.17 29.928 2772
+-102.044 29.928 2816
+-101.918 29.928 2853
+-101.792 29.928 2884
+-101.666 29.928 2911
+-101.54 29.928 2934
+-101.414 29.928 2954
+-101.288 29.928 2972
+-101.162 29.928 2988
+-101.036 29.928 3001
+-100.91 29.928 2935
+-100.784 29.928 2935
+-100.658 29.928 2946
+-100.532 29.928 2956
+-100.406 29.928 2869
+-100.28 29.928 2847
+-100.154 29.928 2848
+-100.028 29.928 2847
+-99.902 29.928 2845
+-99.776 29.928 2842
+-99.65 29.928 2839
+-99.524 29.928 2834
+-99.398 29.928 2828
+-99.272 29.928 2822
+-99.146 29.928 2699
+-99.02 29.928 2690
+-98.894 29.928 2679
+-98.768 29.928 2613
+-98.642 29.928 2601
+-98.516 29.928 2587
+-98.39 29.928 2551
+-98.264 29.928 2527
+-98.138 29.928 2408
+-98.012 29.928 2394
+-97.886 29.928 2379
+-97.76 29.928 2358
+-97.634 29.928 2328
+-97.508 29.928 2329
+-97.382 29.928 2275
+-97.256 29.928 2396
+-97.13 29.928 2346
+-97.004 29.928 2242
+-96.878 29.928 2316
+-96.752 29.928 2299
+-96.626 29.928 2284
+-96.5 29.928 2441
+-96.374 29.928 2378
+-96.248 29.928 2378
+-96.122 29.928 2466
+-95.996 29.928 2442
+-95.87 29.928 2444
+-95.744 29.928 2442
+-95.618 29.928 2447
+-95.492 29.928 2378
+-95.366 29.928 2384
+-95.24 29.928 2391
+-95.114 29.928 2409
+-94.988 29.928 2416
+-94.862 29.928 2425
+-94.736 29.928 2389
+-94.61 29.928 2311
+-94.484 29.928 2369
+-94.358 29.928 2379
+-94.232 29.928 2385
+-94.106 29.928 2396
+-93.98 29.928 2407
+-93.854 29.928 2410
+-93.728 29.928 2421
+-93.602 29.928 2431
+-93.476 29.928 2441
+-93.35 29.928 2451
+-93.224 29.928 2442
+-93.098 29.928 2456
+-92.972 29.928 2456
+-92.846 29.928 2488
+-92.72 29.928 2505
+-92.594 29.928 2538
+-92.468 29.928 2558
+-92.342 29.928 2568
+-92.216 29.928 2582
+-92.09 29.928 2591
+-91.964 29.928 2599
+-91.838 29.928 2607
+-91.712 29.928 2615
+-91.586 29.928 2622
+-91.46 29.928 2630
+-91.334 29.928 2765
+-91.208 29.928 2800
+-91.082 29.928 2802
+-90.956 29.928 2806
+-90.83 29.928 2896
+-90.704 29.928 2901
+-90.578 29.928 2906
+-90.452 29.928 2911
+-90.326 29.928 2944
+-90.2 29.928 2947
+-90.074 29.928 2950
+-89.948 29.928 2984
+-89.822 29.928 3001
+-89.696 29.928 3001
+-89.57 29.928 3001
+-89.444 29.928 3028
+-89.318 29.928 3036
+-89.192 29.928 3066
+-89.066 29.928 3047
+-88.94 29.928 3042
+-88.814 29.928 3021
+-88.688 29.928 2930
+-88.562 29.928 2805
+-88.436 29.928 2613
+-88.31 29.928 2498
+-88.184 29.928 2661
+-88.058 29.928 3015
+-87.932 29.928 3315
+-87.806 29.928 3492
+-87.68 29.928 3585
+-87.554 29.928 3624
+-87.428 29.928 3630
+-87.302 29.928 3667
+-87.176 29.928 3758
+-87.05 29.928 3901
+-86.924 29.928 4117
+-86.798 29.928 4290
+-86.672 29.928 4461
+-86.546 29.928 4612
+-86.42 29.928 4726
+-86.294 29.928 4865
+-86.168 29.928 5002
+-86.042 29.928 5118
+-85.916 29.928 5232
+-85.79 29.928 5303
+-85.664 29.928 5407
+-85.538 29.928 5514
+-85.412 29.928 5588
+-85.286 29.928 5674
+-85.16 29.928 5801
+-85.034 29.928 5862
+-84.908 29.928 5972
+-84.782 29.928 6066
+-84.656 29.928 6107
+-84.53 29.928 6257
+-84.404 29.928 6373
+-84.278 29.928 6570
+-84.152 29.928 6669
+-84.026 29.928 6781
+-83.9 29.928 6838
+-83.774 29.928 6894
+-83.648 29.928 6986
+-83.522 29.928 7042
+-83.396 29.928 7128
+-83.27 29.928 7228
+-83.144 29.928 7291
+-83.018 29.928 7273
+-82.892 29.928 7319
+-82.766 29.928 7410
+-82.64 29.928 7419
+-82.514 29.928 7437
+-82.388 29.928 7446
+-82.262 29.928 7455
+-82.136 29.928 7459
+-82.01 29.928 7484
+-81.884 29.928 7485
+-81.758 29.928 7446
+-81.632 29.928 7395
+-81.506 29.928 7350
+-81.38 29.928 7316
+-81.254 29.928 7268
+-81.128 29.928 7218
+-81.002 29.928 7155
+-80.876 29.928 7058
+-80.75 29.928 6931
+-80.624 29.928 6886
+-80.498 29.928 6799
+-80.372 29.928 6716
+-80.246 29.928 6633
+-80.12 29.928 6511
+-79.994 29.928 6396
+-79.868 29.928 6347
+-79.742 29.928 6236
+-79.616 29.928 6086
+-79.49 29.928 6071
+-79.364 29.928 5977
+-79.238 29.928 5888
+-79.112 29.928 5765
+-78.986 29.928 5591
+-78.86 29.928 5462
+-78.734 29.928 5393
+-78.608 29.928 5234
+-78.482 29.928 5083
+-78.356 29.928 4950
+-78.23 29.928 4835
+-78.104 29.928 4669
+-77.978 29.928 4506
+-77.852 29.928 4500
+-77.726 29.928 4414
+-77.6 29.928 4320
+-77.474 29.928 4231
+-77.348 29.928 4124
+-77.222 29.928 4078
+-77.096 29.928 4020
+-76.97 29.928 3980
+-76.844 29.928 3956
+-76.718 29.928 3904
+-76.592 29.928 3874
+-76.466 29.928 3842
+-76.34 29.928 3791
+-76.214 29.928 3753
+-76.088 29.928 3701
+-75.962 29.928 3679
+-75.836 29.928 3676
+-75.71 29.928 3672
+-75.584 29.928 3629
+-75.458 29.928 3628
+-75.332 29.928 3538
+-75.206 29.928 3536
+-75.08 29.928 3538
+-74.954 29.928 3495
+-74.828 29.928 3476
+-74.702 29.928 3477
+-74.576 29.928 3441
+-74.45 29.928 3442
+-74.324 29.928 3442
+-74.198 29.928 3442
+-74.072 29.928 3443
+-73.946 29.928 3427
+-73.82 29.928 3385
+-73.694 29.928 3385
+-73.568 29.928 3384
+-73.442 29.928 3384
+-73.316 29.928 3391
+-73.19 29.928 3391
+-73.064 29.928 3309
+-72.938 29.928 3310
+-72.812 29.928 3310
+-72.686 29.928 3310
+-72.56 29.928 3311
+-72.434 29.928 3311
+-72.308 29.928 3311
+-72.182 29.928 3254
+-72.056 29.928 3254
+-71.93 29.928 3255
+-71.804 29.928 3255
+-71.678 29.928 3256
+-71.552 29.928 3213
+-71.426 29.928 3213
+-71.3 29.928 3212
+-71.174 29.928 3212
+-71.048 29.928 3212
+-70.922 29.928 3212
+-70.796 29.928 3187
+-70.67 29.928 3187
+-70.544 29.928 3164
+-70.418 29.928 3147
+-70.292 29.928 3147
+-70.166 29.928 3147
+-70.04 29.928 3147
+-69.914 29.928 3147
+-69.788 29.928 3147
+-69.662 29.928 3147
+-69.536 29.928 3147
+-69.41 29.928 3148
+-69.284 29.928 3148
+-69.158 29.928 3148
+-69.032 29.928 3053
+-68.906 29.928 3053
+-68.78 29.928 3053
+-68.654 29.928 3054
+-68.528 29.928 3054
+-68.402 29.928 3054
+-68.276 29.928 3055
+-68.15 29.928 3055
+-68.024 29.928 3055
+-67.898 29.928 3056
+-67.772 29.928 3056
+-67.646 29.928 3056
+-67.52 29.928 3057
+-67.394 29.928 3057
+-67.268 29.928 3057
+-67.142 29.928 3058
+-67.016 29.928 3058
+-66.89 29.928 3058
+-66.764 29.928 3058
+-66.638 29.928 3059
+-66.512 29.928 3059
+-66.386 29.928 3059
+-66.26 29.928 3059
+-66.134 29.928 3060
+-66.008 29.928 3060
+-65.882 29.928 3060
+-65.756 29.928 3060
+-65.63 29.928 3061
+-65.504 29.928 3061
+-65.378 29.928 3061
+-65.252 29.928 3061
+-65.126 29.928 3061
+-128 29.876 2312
+-127.874 29.876 2288
+-127.748 29.876 2262
+-127.622 29.876 2250
+-127.496 29.876 2277
+-127.37 29.876 2243
+-127.244 29.876 2207
+-127.118 29.876 2167
+-126.992 29.876 2124
+-126.866 29.876 2078
+-126.74 29.876 2027
+-126.614 29.876 2018
+-126.488 29.876 1963
+-126.362 29.876 1902
+-126.236 29.876 1842
+-126.11 29.876 1796
+-125.984 29.876 1723
+-125.858 29.876 1668
+-125.732 29.876 1592
+-125.606 29.876 1520
+-125.48 29.876 1496
+-125.354 29.876 1466
+-125.228 29.876 1450
+-125.102 29.876 1470
+-124.976 29.876 1518
+-124.85 29.876 1592
+-124.724 29.876 1689
+-124.598 29.876 1791
+-124.472 29.876 1880
+-124.346 29.876 1971
+-124.22 29.876 2069
+-124.094 29.876 2204
+-123.968 29.876 2345
+-123.842 29.876 2479
+-123.716 29.876 2611
+-123.59 29.876 2732
+-123.464 29.876 2838
+-123.338 29.876 2932
+-123.212 29.876 3011
+-123.086 29.876 3099
+-122.96 29.876 3200
+-122.834 29.876 3227
+-122.708 29.876 3257
+-122.582 29.876 3317
+-122.456 29.876 3392
+-122.33 29.876 3412
+-122.204 29.876 3421
+-122.078 29.876 3407
+-121.952 29.876 3359
+-121.826 29.876 3422
+-121.7 29.876 3543
+-121.574 29.876 3743
+-121.448 29.876 3918
+-121.322 29.876 3970
+-121.196 29.876 4020
+-121.07 29.876 4198
+-120.944 29.876 4332
+-120.818 29.876 4374
+-120.692 29.876 4457
+-120.566 29.876 4654
+-120.44 29.876 4843
+-120.314 29.876 5020
+-120.188 29.876 5108
+-120.062 29.876 5208
+-119.936 29.876 5229
+-119.81 29.876 5303
+-119.684 29.876 5359
+-119.558 29.876 5389
+-119.432 29.876 5500
+-119.306 29.876 5583
+-119.18 29.876 5699
+-119.054 29.876 5710
+-118.928 29.876 5776
+-118.802 29.876 5852
+-118.676 29.876 5940
+-118.55 29.876 6021
+-118.424 29.876 6102
+-118.298 29.876 6112
+-118.172 29.876 6182
+-118.046 29.876 6235
+-117.92 29.876 6281
+-117.794 29.876 6330
+-117.668 29.876 6380
+-117.542 29.876 6414
+-117.416 29.876 6417
+-117.29 29.876 6444
+-117.164 29.876 6457
+-117.038 29.876 6439
+-116.912 29.876 6430
+-116.786 29.876 6441
+-116.66 29.876 6451
+-116.534 29.876 6422
+-116.408 29.876 6375
+-116.282 29.876 6362
+-116.156 29.876 6304
+-116.03 29.876 6270
+-115.904 29.876 6205
+-115.778 29.876 6158
+-115.652 29.876 6095
+-115.526 29.876 6001
+-115.4 29.876 5992
+-115.274 29.876 5916
+-115.148 29.876 5829
+-115.022 29.876 5723
+-114.896 29.876 5626
+-114.77 29.876 5610
+-114.644 29.876 5527
+-114.518 29.876 5439
+-114.392 29.876 5269
+-114.266 29.876 5256
+-114.14 29.876 5187
+-114.014 29.876 5091
+-113.888 29.876 5208
+-113.762 29.876 5355
+-113.636 29.876 5503
+-113.51 29.876 5590
+-113.384 29.876 5732
+-113.258 29.876 5863
+-113.132 29.876 5962
+-113.006 29.876 6094
+-112.88 29.876 6225
+-112.754 29.876 6341
+-112.628 29.876 6399
+-112.502 29.876 6552
+-112.376 29.876 6614
+-112.25 29.876 6706
+-112.124 29.876 6856
+-111.998 29.876 6956
+-111.872 29.876 7022
+-111.746 29.876 7112
+-111.62 29.876 7184
+-111.494 29.876 7217
+-111.368 29.876 7284
+-111.242 29.876 7351
+-111.116 29.876 7448
+-110.99 29.876 7497
+-110.864 29.876 7532
+-110.738 29.876 7562
+-110.612 29.876 7606
+-110.486 29.876 7597
+-110.36 29.876 7580
+-110.234 29.876 7563
+-110.108 29.876 7564
+-109.982 29.876 7549
+-109.856 29.876 7490
+-109.73 29.876 7485
+-109.604 29.876 7402
+-109.478 29.876 7372
+-109.352 29.876 7286
+-109.226 29.876 7231
+-109.1 29.876 7141
+-108.974 29.876 7047
+-108.848 29.876 6970
+-108.722 29.876 6855
+-108.596 29.876 6771
+-108.47 29.876 6681
+-108.344 29.876 6558
+-108.218 29.876 6439
+-108.092 29.876 6342
+-107.966 29.876 6226
+-107.84 29.876 6106
+-107.714 29.876 6010
+-107.588 29.876 5895
+-107.462 29.876 5779
+-107.336 29.876 5678
+-107.21 29.876 5524
+-107.084 29.876 5481
+-106.958 29.876 5385
+-106.832 29.876 5197
+-106.706 29.876 5057
+-106.58 29.876 4940
+-106.454 29.876 4854
+-106.328 29.876 4639
+-106.202 29.876 4708
+-106.076 29.876 4621
+-105.95 29.876 4528
+-105.824 29.876 4411
+-105.698 29.876 4363
+-105.572 29.876 4278
+-105.446 29.876 4167
+-105.32 29.876 4000
+-105.194 29.876 3860
+-105.068 29.876 3705
+-104.942 29.876 3543
+-104.816 29.876 3439
+-104.69 29.876 3418
+-104.564 29.876 3417
+-104.438 29.876 3431
+-104.312 29.876 3387
+-104.186 29.876 3328
+-104.06 29.876 3213
+-103.934 29.876 3095
+-103.808 29.876 2935
+-103.682 29.876 2719
+-103.556 29.876 2516
+-103.43 29.876 2354
+-103.304 29.876 2269
+-103.178 29.876 2255
+-103.052 29.876 2324
+-102.926 29.876 2393
+-102.8 29.876 2476
+-102.674 29.876 2549
+-102.548 29.876 2631
+-102.422 29.876 2671
+-102.296 29.876 2727
+-102.17 29.876 2774
+-102.044 29.876 2813
+-101.918 29.876 2846
+-101.792 29.876 2875
+-101.666 29.876 2899
+-101.54 29.876 2920
+-101.414 29.876 2939
+-101.288 29.876 2955
+-101.162 29.876 2969
+-101.036 29.876 2982
+-100.91 29.876 2994
+-100.784 29.876 2949
+-100.658 29.876 2947
+-100.532 29.876 2957
+-100.406 29.876 2870
+-100.28 29.876 2849
+-100.154 29.876 2849
+-100.028 29.876 2849
+-99.902 29.876 2847
+-99.776 29.876 2844
+-99.65 29.876 2841
+-99.524 29.876 2836
+-99.398 29.876 2831
+-99.272 29.876 2825
+-99.146 29.876 2818
+-99.02 29.876 2693
+-98.894 29.876 2683
+-98.768 29.876 2618
+-98.642 29.876 2606
+-98.516 29.876 2593
+-98.39 29.876 2558
+-98.264 29.876 2534
+-98.138 29.876 2484
+-98.012 29.876 2402
+-97.886 29.876 2388
+-97.76 29.876 2368
+-97.634 29.876 2338
+-97.508 29.876 2341
+-97.382 29.876 2330
+-97.256 29.876 2299
+-97.13 29.876 2325
+-97.004 29.876 2308
+-96.878 29.876 2312
+-96.752 29.876 2312
+-96.626 29.876 2298
+-96.5 29.876 2341
+-96.374 29.876 2392
+-96.248 29.876 2389
+-96.122 29.876 2370
+-95.996 29.876 2460
+-95.87 29.876 2457
+-95.744 29.876 2461
+-95.618 29.876 2390
+-95.492 29.876 2395
+-95.366 29.876 2401
+-95.24 29.876 2410
+-95.114 29.876 2374
+-94.988 29.876 2432
+-94.862 29.876 2395
+-94.736 29.876 2400
+-94.61 29.876 2372
+-94.484 29.876 2382
+-94.358 29.876 2387
+-94.232 29.876 2397
+-94.106 29.876 2407
+-93.98 29.876 2410
+-93.854 29.876 2420
+-93.728 29.876 2430
+-93.602 29.876 2439
+-93.476 29.876 2449
+-93.35 29.876 2440
+-93.224 29.876 2455
+-93.098 29.876 2455
+-92.972 29.876 2488
+-92.846 29.876 2505
+-92.72 29.876 2552
+-92.594 29.876 2566
+-92.468 29.876 2576
+-92.342 29.876 2586
+-92.216 29.876 2595
+-92.09 29.876 2604
+-91.964 29.876 2612
+-91.838 29.876 2620
+-91.712 29.876 2628
+-91.586 29.876 2636
+-91.46 29.876 2672
+-91.334 29.876 2679
+-91.208 29.876 2814
+-91.082 29.876 2817
+-90.956 29.876 2908
+-90.83 29.876 2912
+-90.704 29.876 2917
+-90.578 29.876 2923
+-90.452 29.876 2957
+-90.326 29.876 2960
+-90.2 29.876 3012
+-90.074 29.876 3014
+-89.948 29.876 3016
+-89.822 29.876 3045
+-89.696 29.876 3044
+-89.57 29.876 3043
+-89.444 29.876 3059
+-89.318 29.876 3095
+-89.192 29.876 3083
+-89.066 29.876 3065
+-88.94 29.876 3076
+-88.814 29.876 3030
+-88.688 29.876 2990
+-88.562 29.876 2860
+-88.436 29.876 2717
+-88.31 29.876 2641
+-88.184 29.876 2794
+-88.058 29.876 3099
+-87.932 29.876 3356
+-87.806 29.876 3526
+-87.68 29.876 3605
+-87.554 29.876 3616
+-87.428 29.876 3577
+-87.302 29.876 3659
+-87.176 29.876 3721
+-87.05 29.876 3898
+-86.924 29.876 4148
+-86.798 29.876 4352
+-86.672 29.876 4504
+-86.546 29.876 4584
+-86.42 29.876 4721
+-86.294 29.876 4824
+-86.168 29.876 4914
+-86.042 29.876 5040
+-85.916 29.876 5191
+-85.79 29.876 5327
+-85.664 29.876 5430
+-85.538 29.876 5503
+-85.412 29.876 5580
+-85.286 29.876 5663
+-85.16 29.876 5789
+-85.034 29.876 5916
+-84.908 29.876 6058
+-84.782 29.876 6057
+-84.656 29.876 6181
+-84.53 29.876 6351
+-84.404 29.876 6418
+-84.278 29.876 6604
+-84.152 29.876 6771
+-84.026 29.876 6864
+-83.9 29.876 6921
+-83.774 29.876 6964
+-83.648 29.876 7009
+-83.522 29.876 7107
+-83.396 29.876 7219
+-83.27 29.876 7293
+-83.144 29.876 7297
+-83.018 29.876 7344
+-82.892 29.876 7389
+-82.766 29.876 7454
+-82.64 29.876 7495
+-82.514 29.876 7522
+-82.388 29.876 7539
+-82.262 29.876 7508
+-82.136 29.876 7524
+-82.01 29.876 7510
+-81.884 29.876 7476
+-81.758 29.876 7468
+-81.632 29.876 7465
+-81.506 29.876 7401
+-81.38 29.876 7359
+-81.254 29.876 7315
+-81.128 29.876 7218
+-81.002 29.876 7196
+-80.876 29.876 7151
+-80.75 29.876 7013
+-80.624 29.876 6906
+-80.498 29.876 6792
+-80.372 29.876 6764
+-80.246 29.876 6703
+-80.12 29.876 6564
+-79.994 29.876 6440
+-79.868 29.876 6388
+-79.742 29.876 6228
+-79.616 29.876 6178
+-79.49 29.876 6101
+-79.364 29.876 5973
+-79.238 29.876 5863
+-79.112 29.876 5769
+-78.986 29.876 5654
+-78.86 29.876 5512
+-78.734 29.876 5365
+-78.608 29.876 5221
+-78.482 29.876 5102
+-78.356 29.876 4956
+-78.23 29.876 4820
+-78.104 29.876 4755
+-77.978 29.876 4603
+-77.852 29.876 4527
+-77.726 29.876 4408
+-77.6 29.876 4277
+-77.474 29.876 4159
+-77.348 29.876 4090
+-77.222 29.876 4026
+-77.096 29.876 3988
+-76.97 29.876 3969
+-76.844 29.876 3955
+-76.718 29.876 3916
+-76.592 29.876 3889
+-76.466 29.876 3860
+-76.34 29.876 3811
+-76.214 29.876 3772
+-76.088 29.876 3718
+-75.962 29.876 3691
+-75.836 29.876 3683
+-75.71 29.876 3639
+-75.584 29.876 3631
+-75.458 29.876 3606
+-75.332 29.876 3608
+-75.206 29.876 3546
+-75.08 29.876 3530
+-74.954 29.876 3531
+-74.828 29.876 3515
+-74.702 29.876 3448
+-74.576 29.876 3466
+-74.45 29.876 3466
+-74.324 29.876 3467
+-74.198 29.876 3439
+-74.072 29.876 3439
+-73.946 29.876 3439
+-73.82 29.876 3439
+-73.694 29.876 3439
+-73.568 29.876 3440
+-73.442 29.876 3440
+-73.316 29.876 3397
+-73.19 29.876 3397
+-73.064 29.876 3397
+-72.938 29.876 3317
+-72.812 29.876 3317
+-72.686 29.876 3317
+-72.56 29.876 3317
+-72.434 29.876 3317
+-72.308 29.876 3261
+-72.182 29.876 3261
+-72.056 29.876 3261
+-71.93 29.876 3262
+-71.804 29.876 3262
+-71.678 29.876 3252
+-71.552 29.876 3252
+-71.426 29.876 3252
+-71.3 29.876 3214
+-71.174 29.876 3213
+-71.048 29.876 3212
+-70.922 29.876 3190
+-70.796 29.876 3190
+-70.67 29.876 3167
+-70.544 29.876 3149
+-70.418 29.876 3149
+-70.292 29.876 3149
+-70.166 29.876 3149
+-70.04 29.876 3149
+-69.914 29.876 3149
+-69.788 29.876 3149
+-69.662 29.876 3149
+-69.536 29.876 3149
+-69.41 29.876 3149
+-69.284 29.876 3150
+-69.158 29.876 3054
+-69.032 29.876 3055
+-68.906 29.876 3055
+-68.78 29.876 3055
+-68.654 29.876 3056
+-68.528 29.876 3056
+-68.402 29.876 3056
+-68.276 29.876 3056
+-68.15 29.876 3057
+-68.024 29.876 3057
+-67.898 29.876 3057
+-67.772 29.876 3058
+-67.646 29.876 3058
+-67.52 29.876 3058
+-67.394 29.876 3058
+-67.268 29.876 3059
+-67.142 29.876 3059
+-67.016 29.876 3059
+-66.89 29.876 3059
+-66.764 29.876 3060
+-66.638 29.876 3060
+-66.512 29.876 3060
+-66.386 29.876 3060
+-66.26 29.876 3060
+-66.134 29.876 3061
+-66.008 29.876 3061
+-65.882 29.876 3061
+-65.756 29.876 3061
+-65.63 29.876 3062
+-65.504 29.876 3062
+-65.378 29.876 3062
+-65.252 29.876 3062
+-65.126 29.876 3062
+-128 29.824 2294
+-127.874 29.824 2268
+-127.748 29.824 2256
+-127.622 29.824 2284
+-127.496 29.824 2251
+-127.37 29.824 2215
+-127.244 29.824 2176
+-127.118 29.824 2133
+-126.992 29.824 2086
+-126.866 29.824 2035
+-126.74 29.824 2026
+-126.614 29.824 1969
+-126.488 29.824 1906
+-126.362 29.824 1843
+-126.236 29.824 1791
+-126.11 29.824 1709
+-125.984 29.824 1640
+-125.858 29.824 1544
+-125.732 29.824 1446
+-125.606 29.824 1384
+-125.48 29.824 1307
+-125.354 29.824 1240
+-125.228 29.824 1210
+-125.102 29.824 1222
+-124.976 29.824 1280
+-124.85 29.824 1382
+-124.724 29.824 1502
+-124.598 29.824 1606
+-124.472 29.824 1698
+-124.346 29.824 1784
+-124.22 29.824 1894
+-124.094 29.824 2034
+-123.968 29.824 2180
+-123.842 29.824 2340
+-123.716 29.824 2500
+-123.59 29.824 2647
+-123.464 29.824 2779
+-123.338 29.824 2889
+-123.212 29.824 2951
+-123.086 29.824 3060
+-122.96 29.824 3175
+-122.834 29.824 3202
+-122.708 29.824 3228
+-122.582 29.824 3260
+-122.456 29.824 3374
+-122.33 29.824 3398
+-122.204 29.824 3415
+-122.078 29.824 3419
+-121.952 29.824 3401
+-121.826 29.824 3371
+-121.7 29.824 3488
+-121.574 29.824 3709
+-121.448 29.824 3873
+-121.322 29.824 3947
+-121.196 29.824 4011
+-121.07 29.824 4165
+-120.944 29.824 4296
+-120.818 29.824 4380
+-120.692 29.824 4474
+-120.566 29.824 4615
+-120.44 29.824 4763
+-120.314 29.824 4888
+-120.188 29.824 5053
+-120.062 29.824 5166
+-119.936 29.824 5224
+-119.81 29.824 5268
+-119.684 29.824 5228
+-119.558 29.824 5376
+-119.432 29.824 5486
+-119.306 29.824 5558
+-119.18 29.824 5610
+-119.054 29.824 5682
+-118.928 29.824 5716
+-118.802 29.824 5801
+-118.676 29.824 5909
+-118.55 29.824 5939
+-118.424 29.824 6030
+-118.298 29.824 6105
+-118.172 29.824 6163
+-118.046 29.824 6235
+-117.92 29.824 6243
+-117.794 29.824 6283
+-117.668 29.824 6295
+-117.542 29.824 6346
+-117.416 29.824 6383
+-117.29 29.824 6394
+-117.164 29.824 6401
+-117.038 29.824 6408
+-116.912 29.824 6401
+-116.786 29.824 6358
+-116.66 29.824 6351
+-116.534 29.824 6326
+-116.408 29.824 6296
+-116.282 29.824 6275
+-116.156 29.824 6226
+-116.03 29.824 6191
+-115.904 29.824 6183
+-115.778 29.824 6114
+-115.652 29.824 6061
+-115.526 29.824 6015
+-115.4 29.824 5950
+-115.274 29.824 5839
+-115.148 29.824 5781
+-115.022 29.824 5703
+-114.896 29.824 5602
+-114.77 29.824 5504
+-114.644 29.824 5467
+-114.518 29.824 5393
+-114.392 29.824 5292
+-114.266 29.824 5234
+-114.14 29.824 5174
+-114.014 29.824 5140
+-113.888 29.824 5234
+-113.762 29.824 5367
+-113.636 29.824 5480
+-113.51 29.824 5564
+-113.384 29.824 5691
+-113.258 29.824 5795
+-113.132 29.824 5937
+-113.006 29.824 6036
+-112.88 29.824 6184
+-112.754 29.824 6218
+-112.628 29.824 6388
+-112.502 29.824 6478
+-112.376 29.824 6528
+-112.25 29.824 6658
+-112.124 29.824 6781
+-111.998 29.824 6837
+-111.872 29.824 6906
+-111.746 29.824 7055
+-111.62 29.824 7097
+-111.494 29.824 7205
+-111.368 29.824 7229
+-111.242 29.824 7331
+-111.116 29.824 7422
+-110.99 29.824 7453
+-110.864 29.824 7465
+-110.738 29.824 7508
+-110.612 29.824 7527
+-110.486 29.824 7540
+-110.36 29.824 7535
+-110.234 29.824 7551
+-110.108 29.824 7503
+-109.982 29.824 7496
+-109.856 29.824 7448
+-109.73 29.824 7403
+-109.604 29.824 7406
+-109.478 29.824 7294
+-109.352 29.824 7262
+-109.226 29.824 7108
+-109.1 29.824 7098
+-108.974 29.824 7002
+-108.848 29.824 6938
+-108.722 29.824 6819
+-108.596 29.824 6732
+-108.47 29.824 6630
+-108.344 29.824 6516
+-108.218 29.824 6415
+-108.092 29.824 6283
+-107.966 29.824 6217
+-107.84 29.824 6073
+-107.714 29.824 5947
+-107.588 29.824 5884
+-107.462 29.824 5735
+-107.336 29.824 5635
+-107.21 29.824 5505
+-107.084 29.824 5359
+-106.958 29.824 5332
+-106.832 29.824 5172
+-106.706 29.824 5067
+-106.58 29.824 4995
+-106.454 29.824 4876
+-106.328 29.824 4769
+-106.202 29.824 4748
+-106.076 29.824 4648
+-105.95 29.824 4566
+-105.824 29.824 4427
+-105.698 29.824 4350
+-105.572 29.824 4244
+-105.446 29.824 4090
+-105.32 29.824 3903
+-105.194 29.824 3759
+-105.068 29.824 3665
+-104.942 29.824 3513
+-104.816 29.824 3406
+-104.69 29.824 3398
+-104.564 29.824 3406
+-104.438 29.824 3426
+-104.312 29.824 3425
+-104.186 29.824 3360
+-104.06 29.824 3281
+-103.934 29.824 3152
+-103.808 29.824 3029
+-103.682 29.824 2884
+-103.556 29.824 2713
+-103.43 29.824 2586
+-103.304 29.824 2496
+-103.178 29.824 2481
+-103.052 29.824 2505
+-102.926 29.824 2506
+-102.8 29.824 2573
+-102.674 29.824 2642
+-102.548 29.824 2683
+-102.422 29.824 2740
+-102.296 29.824 2756
+-102.17 29.824 2797
+-102.044 29.824 2831
+-101.918 29.824 2861
+-101.792 29.824 2887
+-101.666 29.824 2909
+-101.54 29.824 2929
+-101.414 29.824 2946
+-101.288 29.824 2962
+-101.162 29.824 2975
+-101.036 29.824 2987
+-100.91 29.824 2998
+-100.784 29.824 3008
+-100.658 29.824 2961
+-100.532 29.824 2957
+-100.406 29.824 2872
+-100.28 29.824 2851
+-100.154 29.824 2851
+-100.028 29.824 2850
+-99.902 29.824 2849
+-99.776 29.824 2847
+-99.65 29.824 2843
+-99.524 29.824 2839
+-99.398 29.824 2834
+-99.272 29.824 2828
+-99.146 29.824 2822
+-99.02 29.824 2814
+-98.894 29.824 2687
+-98.768 29.824 2623
+-98.642 29.824 2612
+-98.516 29.824 2599
+-98.39 29.824 2565
+-98.264 29.824 2541
+-98.138 29.824 2492
+-98.012 29.824 2469
+-97.886 29.824 2396
+-97.76 29.824 2377
+-97.634 29.824 2348
+-97.508 29.824 2351
+-97.382 29.824 2341
+-97.256 29.824 2310
+-97.13 29.824 2336
+-97.004 29.824 2319
+-96.878 29.824 2324
+-96.752 29.824 2309
+-96.626 29.824 2311
+-96.5 29.824 2350
+-96.374 29.824 2401
+-96.248 29.824 2404
+-96.122 29.824 2384
+-95.996 29.824 2471
+-95.87 29.824 2474
+-95.744 29.824 2401
+-95.618 29.824 2406
+-95.492 29.824 2410
+-95.366 29.824 2419
+-95.24 29.824 2381
+-95.114 29.824 2388
+-94.988 29.824 2401
+-94.862 29.824 2405
+-94.736 29.824 2412
+-94.61 29.824 2385
+-94.484 29.824 2390
+-94.358 29.824 2399
+-94.232 29.824 2408
+-94.106 29.824 2410
+-93.98 29.824 2420
+-93.854 29.824 2429
+-93.728 29.824 2438
+-93.602 29.824 2447
+-93.476 29.824 2438
+-93.35 29.824 2454
+-93.224 29.824 2487
+-93.098 29.824 2487
+-92.972 29.824 2504
+-92.846 29.824 2580
+-92.72 29.824 2569
+-92.594 29.824 2579
+-92.468 29.824 2589
+-92.342 29.824 2598
+-92.216 29.824 2608
+-92.09 29.824 2616
+-91.964 29.824 2625
+-91.838 29.824 2633
+-91.712 29.824 2641
+-91.586 29.824 2680
+-91.46 29.824 2687
+-91.334 29.824 2694
+-91.208 29.824 2850
+-91.082 29.824 2854
+-90.956 29.824 2857
+-90.83 29.824 2928
+-90.704 29.824 2933
+-90.578 29.824 2996
+-90.452 29.824 2999
+-90.326 29.824 3053
+-90.2 29.824 3054
+-90.074 29.824 3055
+-89.948 29.824 3061
+-89.822 29.824 3103
+-89.696 29.824 3106
+-89.57 29.824 3102
+-89.444 29.824 3101
+-89.318 29.824 3111
+-89.192 29.824 3100
+-89.066 29.824 3131
+-88.94 29.824 3145
+-88.814 29.824 3099
+-88.688 29.824 3043
+-88.562 29.824 2990
+-88.436 29.824 2929
+-88.31 29.824 2923
+-88.184 29.824 3035
+-88.058 29.824 3244
+-87.932 29.824 3428
+-87.806 29.824 3559
+-87.68 29.824 3627
+-87.554 29.824 3642
+-87.428 29.824 3653
+-87.302 29.824 3692
+-87.176 29.824 3783
+-87.05 29.824 3954
+-86.924 29.824 4185
+-86.798 29.824 4394
+-86.672 29.824 4504
+-86.546 29.824 4505
+-86.42 29.824 4682
+-86.294 29.824 4744
+-86.168 29.824 4845
+-86.042 29.824 4982
+-85.916 29.824 5178
+-85.79 29.824 5317
+-85.664 29.824 5459
+-85.538 29.824 5468
+-85.412 29.824 5520
+-85.286 29.824 5660
+-85.16 29.824 5767
+-85.034 29.824 5920
+-84.908 29.824 6035
+-84.782 29.824 6127
+-84.656 29.824 6255
+-84.53 29.824 6361
+-84.404 29.824 6477
+-84.278 29.824 6685
+-84.152 29.824 6837
+-84.026 29.824 6904
+-83.9 29.824 6952
+-83.774 29.824 6992
+-83.648 29.824 7068
+-83.522 29.824 7190
+-83.396 29.824 7220
+-83.27 29.824 7307
+-83.144 29.824 7349
+-83.018 29.824 7406
+-82.892 29.824 7475
+-82.766 29.824 7508
+-82.64 29.824 7573
+-82.514 29.824 7575
+-82.388 29.824 7601
+-82.262 29.824 7600
+-82.136 29.824 7595
+-82.01 29.824 7569
+-81.884 29.824 7548
+-81.758 29.824 7521
+-81.632 29.824 7529
+-81.506 29.824 7494
+-81.38 29.824 7418
+-81.254 29.824 7355
+-81.128 29.824 7316
+-81.002 29.824 7238
+-80.876 29.824 7181
+-80.75 29.824 7047
+-80.624 29.824 6976
+-80.498 29.824 6869
+-80.372 29.824 6792
+-80.246 29.824 6696
+-80.12 29.824 6569
+-79.994 29.824 6564
+-79.868 29.824 6392
+-79.742 29.824 6244
+-79.616 29.824 6168
+-79.49 29.824 6113
+-79.364 29.824 5924
+-79.238 29.824 5806
+-79.112 29.824 5745
+-78.986 29.824 5690
+-78.86 29.824 5554
+-78.734 29.824 5341
+-78.608 29.824 5173
+-78.482 29.824 5136
+-78.356 29.824 4964
+-78.23 29.824 4915
+-78.104 29.824 4812
+-77.978 29.824 4692
+-77.852 29.824 4542
+-77.726 29.824 4384
+-77.6 29.824 4216
+-77.474 29.824 4114
+-77.348 29.824 4013
+-77.222 29.824 3926
+-77.096 29.824 3923
+-76.97 29.824 3944
+-76.844 29.824 3940
+-76.718 29.824 3920
+-76.592 29.824 3889
+-76.466 29.824 3840
+-76.34 29.824 3798
+-76.214 29.824 3746
+-76.088 29.824 3726
+-75.962 29.824 3685
+-75.836 29.824 3657
+-75.71 29.824 3630
+-75.584 29.824 3626
+-75.458 29.824 3629
+-75.332 29.824 3614
+-75.206 29.824 3598
+-75.08 29.824 3602
+-74.954 29.824 3519
+-74.828 29.824 3497
+-74.702 29.824 3469
+-74.576 29.824 3470
+-74.45 29.824 3470
+-74.324 29.824 3470
+-74.198 29.824 3470
+-74.072 29.824 3444
+-73.946 29.824 3443
+-73.82 29.824 3443
+-73.694 29.824 3440
+-73.568 29.824 3440
+-73.442 29.824 3440
+-73.316 29.824 3440
+-73.19 29.824 3441
+-73.064 29.824 3441
+-72.938 29.824 3441
+-72.812 29.824 3323
+-72.686 29.824 3323
+-72.56 29.824 3351
+-72.434 29.824 3268
+-72.308 29.824 3268
+-72.182 29.824 3268
+-72.056 29.824 3268
+-71.93 29.824 3268
+-71.804 29.824 3257
+-71.678 29.824 3257
+-71.552 29.824 3257
+-71.426 29.824 3252
+-71.3 29.824 3251
+-71.174 29.824 3251
+-71.048 29.824 3194
+-70.922 29.824 3193
+-70.796 29.824 3170
+-70.67 29.824 3152
+-70.544 29.824 3152
+-70.418 29.824 3152
+-70.292 29.824 3152
+-70.166 29.824 3152
+-70.04 29.824 3152
+-69.914 29.824 3152
+-69.788 29.824 3152
+-69.662 29.824 3151
+-69.536 29.824 3151
+-69.41 29.824 3151
+-69.284 29.824 3056
+-69.158 29.824 3056
+-69.032 29.824 3056
+-68.906 29.824 3057
+-68.78 29.824 3057
+-68.654 29.824 3057
+-68.528 29.824 3058
+-68.402 29.824 3058
+-68.276 29.824 3058
+-68.15 29.824 3058
+-68.024 29.824 3058
+-67.898 29.824 3059
+-67.772 29.824 3059
+-67.646 29.824 3059
+-67.52 29.824 3059
+-67.394 29.824 3060
+-67.268 29.824 3060
+-67.142 29.824 3060
+-67.016 29.824 3060
+-66.89 29.824 3060
+-66.764 29.824 3061
+-66.638 29.824 3061
+-66.512 29.824 3061
+-66.386 29.824 3061
+-66.26 29.824 3061
+-66.134 29.824 3062
+-66.008 29.824 3062
+-65.882 29.824 3062
+-65.756 29.824 3062
+-65.63 29.824 3062
+-65.504 29.824 3063
+-65.378 29.824 3063
+-65.252 29.824 3063
+-65.126 29.824 3063
+-128 29.772 2277
+-127.874 29.772 2265
+-127.748 29.772 2294
+-127.622 29.772 2262
+-127.496 29.772 2227
+-127.37 29.772 2189
+-127.244 29.772 2147
+-127.118 29.772 2101
+-126.992 29.772 2051
+-126.866 29.772 2043
+-126.74 29.772 1987
+-126.614 29.772 1924
+-126.488 29.772 1860
+-126.362 29.772 1807
+-126.236 29.772 1721
+-126.11 29.772 1646
+-125.984 29.772 1540
+-125.858 29.772 1424
+-125.732 29.772 1335
+-125.606 29.772 1217
+-125.48 29.772 1095
+-125.354 29.772 998
+-125.228 29.772 940
+-125.102 29.772 943
+-124.976 29.772 1022
+-124.85 29.772 1157
+-124.724 29.772 1300
+-124.598 29.772 1424
+-124.472 29.772 1514
+-124.346 29.772 1601
+-124.22 29.772 1698
+-124.094 29.772 1819
+-123.968 29.772 1985
+-123.842 29.772 2178
+-123.716 29.772 2375
+-123.59 29.772 2544
+-123.464 29.772 2706
+-123.338 29.772 2819
+-123.212 29.772 2913
+-123.086 29.772 3009
+-122.96 29.772 3142
+-122.834 29.772 3165
+-122.708 29.772 3175
+-122.582 29.772 3198
+-122.456 29.772 3311
+-122.33 29.772 3362
+-122.204 29.772 3403
+-122.078 29.772 3432
+-121.952 29.772 3437
+-121.826 29.772 3442
+-121.7 29.772 3550
+-121.574 29.772 3709
+-121.448 29.772 3838
+-121.322 29.772 3890
+-121.196 29.772 3956
+-121.07 29.772 4108
+-120.944 29.772 4247
+-120.818 29.772 4370
+-120.692 29.772 4495
+-120.566 29.772 4580
+-120.44 29.772 4653
+-120.314 29.772 4750
+-120.188 29.772 4896
+-120.062 29.772 5101
+-119.936 29.772 5176
+-119.81 29.772 5213
+-119.684 29.772 5238
+-119.558 29.772 5334
+-119.432 29.772 5432
+-119.306 29.772 5517
+-119.18 29.772 5517
+-119.054 29.772 5649
+-118.928 29.772 5758
+-118.802 29.772 5755
+-118.676 29.772 5848
+-118.55 29.772 5916
+-118.424 29.772 5964
+-118.298 29.772 6036
+-118.172 29.772 6104
+-118.046 29.772 6159
+-117.92 29.772 6191
+-117.794 29.772 6228
+-117.668 29.772 6259
+-117.542 29.772 6270
+-117.416 29.772 6302
+-117.29 29.772 6316
+-117.164 29.772 6323
+-117.038 29.772 6330
+-116.912 29.772 6341
+-116.786 29.772 6327
+-116.66 29.772 6293
+-116.534 29.772 6244
+-116.408 29.772 6216
+-116.282 29.772 6192
+-116.156 29.772 6179
+-116.03 29.772 6149
+-115.904 29.772 6105
+-115.778 29.772 6066
+-115.652 29.772 6018
+-115.526 29.772 5961
+-115.4 29.772 5914
+-115.274 29.772 5832
+-115.148 29.772 5756
+-115.022 29.772 5675
+-114.896 29.772 5572
+-114.77 29.772 5483
+-114.644 29.772 5395
+-114.518 29.772 5321
+-114.392 29.772 5257
+-114.266 29.772 5165
+-114.14 29.772 5124
+-114.014 29.772 5136
+-113.888 29.772 5241
+-113.762 29.772 5344
+-113.636 29.772 5500
+-113.51 29.772 5525
+-113.384 29.772 5665
+-113.258 29.772 5774
+-113.132 29.772 5896
+-113.006 29.772 6067
+-112.88 29.772 6167
+-112.754 29.772 6183
+-112.628 29.772 6335
+-112.502 29.772 6470
+-112.376 29.772 6554
+-112.25 29.772 6603
+-112.124 29.772 6715
+-111.998 29.772 6833
+-111.872 29.772 6897
+-111.746 29.772 7018
+-111.62 29.772 7080
+-111.494 29.772 7145
+-111.368 29.772 7169
+-111.242 29.772 7265
+-111.116 29.772 7306
+-110.99 29.772 7379
+-110.864 29.772 7434
+-110.738 29.772 7436
+-110.612 29.772 7453
+-110.486 29.772 7498
+-110.36 29.772 7483
+-110.234 29.772 7469
+-110.108 29.772 7433
+-109.982 29.772 7423
+-109.856 29.772 7384
+-109.73 29.772 7364
+-109.604 29.772 7328
+-109.478 29.772 7295
+-109.352 29.772 7216
+-109.226 29.772 7120
+-109.1 29.772 7051
+-108.974 29.772 6941
+-108.848 29.772 6855
+-108.722 29.772 6750
+-108.596 29.772 6674
+-108.47 29.772 6543
+-108.344 29.772 6516
+-108.218 29.772 6403
+-108.092 29.772 6286
+-107.966 29.772 6188
+-107.84 29.772 6071
+-107.714 29.772 5952
+-107.588 29.772 5840
+-107.462 29.772 5683
+-107.336 29.772 5613
+-107.21 29.772 5524
+-107.084 29.772 5415
+-106.958 29.772 5275
+-106.832 29.772 5173
+-106.706 29.772 4998
+-106.58 29.772 5003
+-106.454 29.772 4909
+-106.328 29.772 4814
+-106.202 29.772 4756
+-106.076 29.772 4636
+-105.95 29.772 4564
+-105.824 29.772 4422
+-105.698 29.772 4328
+-105.572 29.772 4197
+-105.446 29.772 3987
+-105.32 29.772 3748
+-105.194 29.772 3625
+-105.068 29.772 3576
+-104.942 29.772 3400
+-104.816 29.772 3266
+-104.69 29.772 3301
+-104.564 29.772 3381
+-104.438 29.772 3413
+-104.312 29.772 3427
+-104.186 29.772 3412
+-104.06 29.772 3330
+-103.934 29.772 3240
+-103.808 29.772 3111
+-103.682 29.772 3004
+-103.556 29.772 2895
+-103.43 29.772 2771
+-103.304 29.772 2691
+-103.178 29.772 2658
+-103.052 29.772 2613
+-102.926 29.772 2644
+-102.8 29.772 2669
+-102.674 29.772 2684
+-102.548 29.772 2730
+-102.422 29.772 2782
+-102.296 29.772 2822
+-102.17 29.772 2823
+-102.044 29.772 2853
+-101.918 29.772 2878
+-101.792 29.772 2901
+-101.666 29.772 2921
+-101.54 29.772 2939
+-101.414 29.772 2955
+-101.288 29.772 2969
+-101.162 29.772 2982
+-101.036 29.772 2993
+-100.91 29.772 3004
+-100.784 29.772 3013
+-100.658 29.772 3022
+-100.532 29.772 2938
+-100.406 29.772 2874
+-100.28 29.772 2853
+-100.154 29.772 2853
+-100.028 29.772 2853
+-99.902 29.772 2851
+-99.776 29.772 2849
+-99.65 29.772 2846
+-99.524 29.772 2842
+-99.398 29.772 2837
+-99.272 29.772 2832
+-99.146 29.772 2825
+-99.02 29.772 2818
+-98.894 29.772 2810
+-98.768 29.772 2650
+-98.642 29.772 2617
+-98.516 29.772 2605
+-98.39 29.772 2572
+-98.264 29.772 2548
+-98.138 29.772 2499
+-98.012 29.772 2477
+-97.886 29.772 2463
+-97.76 29.772 2386
+-97.634 29.772 2357
+-97.508 29.772 2361
+-97.382 29.772 2352
+-97.256 29.772 2320
+-97.13 29.772 2347
+-97.004 29.772 2287
+-96.878 29.772 2300
+-96.752 29.772 2321
+-96.626 29.772 2323
+-96.5 29.772 2363
+-96.374 29.772 2414
+-96.248 29.772 2394
+-96.122 29.772 2393
+-95.996 29.772 2487
+-95.87 29.772 2413
+-95.744 29.772 2416
+-95.618 29.772 2420
+-95.492 29.772 2429
+-95.366 29.772 2389
+-95.24 29.772 2395
+-95.114 29.772 2354
+-94.988 29.772 2410
+-94.862 29.772 2417
+-94.736 29.772 2389
+-94.61 29.772 2343
+-94.484 29.772 2351
+-94.358 29.772 2360
+-94.232 29.772 2411
+-94.106 29.772 2420
+-93.98 29.772 2429
+-93.854 29.772 2438
+-93.728 29.772 2446
+-93.602 29.772 2436
+-93.476 29.772 2454
+-93.35 29.772 2488
+-93.224 29.772 2487
+-93.098 29.772 2504
+-92.972 29.772 2494
+-92.846 29.772 2572
+-92.72 29.772 2582
+-92.594 29.772 2592
+-92.468 29.772 2602
+-92.342 29.772 2611
+-92.216 29.772 2620
+-92.09 29.772 2629
+-91.964 29.772 2637
+-91.838 29.772 2646
+-91.712 29.772 2687
+-91.586 29.772 2695
+-91.46 29.772 2702
+-91.334 29.772 2862
+-91.208 29.772 2865
+-91.082 29.772 2868
+-90.956 29.772 2872
+-90.83 29.772 2942
+-90.704 29.772 3008
+-90.578 29.772 3011
+-90.452 29.772 3068
+-90.326 29.772 3069
+-90.2 29.772 3119
+-90.074 29.772 3118
+-89.948 29.772 3116
+-89.822 29.772 3115
+-89.696 29.772 3116
+-89.57 29.772 3113
+-89.444 29.772 3118
+-89.318 29.772 3160
+-89.192 29.772 3170
+-89.066 29.772 3202
+-88.94 29.772 3175
+-88.814 29.772 3162
+-88.688 29.772 3133
+-88.562 29.772 3114
+-88.436 29.772 3110
+-88.31 29.772 3150
+-88.184 29.772 3233
+-88.058 29.772 3359
+-87.932 29.772 3493
+-87.806 29.772 3592
+-87.68 29.772 3659
+-87.554 29.772 3721
+-87.428 29.772 3751
+-87.302 29.772 3792
+-87.176 29.772 3863
+-87.05 29.772 3996
+-86.924 29.772 4206
+-86.798 29.772 4381
+-86.672 29.772 4530
+-86.546 29.772 4606
+-86.42 29.772 4731
+-86.294 29.772 4836
+-86.168 29.772 4925
+-86.042 29.772 5039
+-85.916 29.772 5190
+-85.79 29.772 5319
+-85.664 29.772 5455
+-85.538 29.772 5514
+-85.412 29.772 5586
+-85.286 29.772 5703
+-85.16 29.772 5825
+-85.034 29.772 5967
+-84.908 29.772 6131
+-84.782 29.772 6233
+-84.656 29.772 6327
+-84.53 29.772 6404
+-84.404 29.772 6542
+-84.278 29.772 6716
+-84.152 29.772 6846
+-84.026 29.772 6829
+-83.9 29.772 6958
+-83.774 29.772 7042
+-83.648 29.772 7132
+-83.522 29.772 7225
+-83.396 29.772 7320
+-83.27 29.772 7336
+-83.144 29.772 7423
+-83.018 29.772 7448
+-82.892 29.772 7526
+-82.766 29.772 7563
+-82.64 29.772 7606
+-82.514 29.772 7601
+-82.388 29.772 7665
+-82.262 29.772 7663
+-82.136 29.772 7662
+-82.01 29.772 7643
+-81.884 29.772 7630
+-81.758 29.772 7594
+-81.632 29.772 7532
+-81.506 29.772 7526
+-81.38 29.772 7470
+-81.254 29.772 7426
+-81.128 29.772 7323
+-81.002 29.772 7295
+-80.876 29.772 7190
+-80.75 29.772 7121
+-80.624 29.772 7034
+-80.498 29.772 6926
+-80.372 29.772 6838
+-80.246 29.772 6746
+-80.12 29.772 6616
+-79.994 29.772 6566
+-79.868 29.772 6437
+-79.742 29.772 6329
+-79.616 29.772 6213
+-79.49 29.772 6105
+-79.364 29.772 5968
+-79.238 29.772 5840
+-79.112 29.772 5742
+-78.986 29.772 5635
+-78.86 29.772 5571
+-78.734 29.772 5389
+-78.608 29.772 5303
+-78.482 29.772 5205
+-78.356 29.772 5064
+-78.23 29.772 4958
+-78.104 29.772 4859
+-77.978 29.772 4730
+-77.852 29.772 4552
+-77.726 29.772 4393
+-77.6 29.772 4197
+-77.474 29.772 4155
+-77.348 29.772 3946
+-77.222 29.772 3782
+-77.096 29.772 3890
+-76.97 29.772 3927
+-76.844 29.772 3925
+-76.718 29.772 3898
+-76.592 29.772 3848
+-76.466 29.772 3798
+-76.34 29.772 3736
+-76.214 29.772 3721
+-76.088 29.772 3669
+-75.962 29.772 3641
+-75.836 29.772 3638
+-75.71 29.772 3642
+-75.584 29.772 3621
+-75.458 29.772 3631
+-75.332 29.772 3593
+-75.206 29.772 3598
+-75.08 29.772 3584
+-74.954 29.772 3580
+-74.828 29.772 3539
+-74.702 29.772 3472
+-74.576 29.772 3470
+-74.45 29.772 3470
+-74.324 29.772 3470
+-74.198 29.772 3470
+-74.072 29.772 3470
+-73.946 29.772 3471
+-73.82 29.772 3471
+-73.694 29.772 3472
+-73.568 29.772 3472
+-73.442 29.772 3444
+-73.316 29.772 3444
+-73.19 29.772 3444
+-73.064 29.772 3444
+-72.938 29.772 3444
+-72.812 29.772 3445
+-72.686 29.772 3356
+-72.56 29.772 3356
+-72.434 29.772 3275
+-72.308 29.772 3275
+-72.182 29.772 3275
+-72.056 29.772 3274
+-71.93 29.772 3263
+-71.804 29.772 3262
+-71.678 29.772 3268
+-71.552 29.772 3256
+-71.426 29.772 3255
+-71.3 29.772 3255
+-71.174 29.772 3197
+-71.048 29.772 3197
+-70.922 29.772 3174
+-70.796 29.772 3155
+-70.67 29.772 3155
+-70.544 29.772 3155
+-70.418 29.772 3154
+-70.292 29.772 3154
+-70.166 29.772 3154
+-70.04 29.772 3154
+-69.914 29.772 3154
+-69.788 29.772 3154
+-69.662 29.772 3153
+-69.536 29.772 3153
+-69.41 29.772 3058
+-69.284 29.772 3058
+-69.158 29.772 3058
+-69.032 29.772 3058
+-68.906 29.772 3059
+-68.78 29.772 3059
+-68.654 29.772 3059
+-68.528 29.772 3059
+-68.402 29.772 3059
+-68.276 29.772 3060
+-68.15 29.772 3060
+-68.024 29.772 3060
+-67.898 29.772 3060
+-67.772 29.772 3060
+-67.646 29.772 3061
+-67.52 29.772 3061
+-67.394 29.772 3061
+-67.268 29.772 3061
+-67.142 29.772 3061
+-67.016 29.772 3061
+-66.89 29.772 3062
+-66.764 29.772 3062
+-66.638 29.772 3062
+-66.512 29.772 3062
+-66.386 29.772 3062
+-66.26 29.772 3063
+-66.134 29.772 3063
+-66.008 29.772 3063
+-65.882 29.772 3063
+-65.756 29.772 3063
+-65.63 29.772 3063
+-65.504 29.772 3064
+-65.378 29.772 3064
+-65.252 29.772 3064
+-65.126 29.772 3064
+-128 29.72 2276
+-127.874 29.72 2306
+-127.748 29.72 2275
+-127.622 29.72 2242
+-127.496 29.72 2205
+-127.37 29.72 2165
+-127.244 29.72 2121
+-127.118 29.72 2073
+-126.992 29.72 2066
+-126.866 29.72 2012
+-126.74 29.72 1952
+-126.614 29.72 1890
+-126.488 29.72 1838
+-126.362 29.72 1755
+-126.236 29.72 1680
+-126.11 29.72 1572
+-125.984 29.72 1450
+-125.858 29.72 1349
+-125.732 29.72 1208
+-125.606 29.72 1047
+-125.48 29.72 889
+-125.354 29.72 748
+-125.228 29.72 654
+-125.102 29.72 646
+-124.976 29.72 742
+-124.85 29.72 913
+-124.724 29.72 1107
+-124.598 29.72 1259
+-124.472 29.72 1359
+-124.346 29.72 1408
+-124.22 29.72 1459
+-124.094 29.72 1574
+-123.968 29.72 1765
+-123.842 29.72 2001
+-123.716 29.72 2236
+-123.59 29.72 2447
+-123.464 29.72 2634
+-123.338 29.72 2773
+-123.212 29.72 2877
+-123.086 29.72 2974
+-122.96 29.72 3089
+-122.834 29.72 3104
+-122.708 29.72 3113
+-122.582 29.72 3119
+-122.456 29.72 3219
+-122.33 29.72 3275
+-122.204 29.72 3370
+-122.078 29.72 3427
+-121.952 29.72 3469
+-121.826 29.72 3518
+-121.7 29.72 3615
+-121.574 29.72 3722
+-121.448 29.72 3829
+-121.322 29.72 3857
+-121.196 29.72 3915
+-121.07 29.72 4079
+-120.944 29.72 4225
+-120.818 29.72 4319
+-120.692 29.72 4461
+-120.566 29.72 4574
+-120.44 29.72 4576
+-120.314 29.72 4694
+-120.188 29.72 4798
+-120.062 29.72 5036
+-119.936 29.72 5114
+-119.81 29.72 5097
+-119.684 29.72 5221
+-119.558 29.72 5322
+-119.432 29.72 5390
+-119.306 29.72 5455
+-119.18 29.72 5550
+-119.054 29.72 5630
+-118.928 29.72 5679
+-118.802 29.72 5743
+-118.676 29.72 5780
+-118.55 29.72 5863
+-118.424 29.72 5922
+-118.298 29.72 5975
+-118.172 29.72 6058
+-118.046 29.72 6097
+-117.92 29.72 6135
+-117.794 29.72 6146
+-117.668 29.72 6181
+-117.542 29.72 6230
+-117.416 29.72 6244
+-117.29 29.72 6256
+-117.164 29.72 6284
+-117.038 29.72 6253
+-116.912 29.72 6266
+-116.786 29.72 6255
+-116.66 29.72 6235
+-116.534 29.72 6200
+-116.408 29.72 6213
+-116.282 29.72 6150
+-116.156 29.72 6119
+-116.03 29.72 6092
+-115.904 29.72 6037
+-115.778 29.72 6014
+-115.652 29.72 5975
+-115.526 29.72 5925
+-115.4 29.72 5843
+-115.274 29.72 5809
+-115.148 29.72 5717
+-115.022 29.72 5636
+-114.896 29.72 5536
+-114.77 29.72 5476
+-114.644 29.72 5387
+-114.518 29.72 5271
+-114.392 29.72 5170
+-114.266 29.72 5077
+-114.14 29.72 5061
+-114.014 29.72 5029
+-113.888 29.72 5177
+-113.762 29.72 5333
+-113.636 29.72 5410
+-113.51 29.72 5476
+-113.384 29.72 5612
+-113.258 29.72 5727
+-113.132 29.72 5853
+-113.006 29.72 6013
+-112.88 29.72 6120
+-112.754 29.72 6228
+-112.628 29.72 6342
+-112.502 29.72 6422
+-112.376 29.72 6455
+-112.25 29.72 6615
+-112.124 29.72 6678
+-111.998 29.72 6774
+-111.872 29.72 6853
+-111.746 29.72 6954
+-111.62 29.72 7035
+-111.494 29.72 7059
+-111.368 29.72 7129
+-111.242 29.72 7210
+-111.116 29.72 7296
+-110.99 29.72 7355
+-110.864 29.72 7360
+-110.738 29.72 7380
+-110.612 29.72 7404
+-110.486 29.72 7408
+-110.36 29.72 7412
+-110.234 29.72 7400
+-110.108 29.72 7414
+-109.982 29.72 7386
+-109.856 29.72 7320
+-109.73 29.72 7292
+-109.604 29.72 7235
+-109.478 29.72 7209
+-109.352 29.72 7141
+-109.226 29.72 7041
+-109.1 29.72 6961
+-108.974 29.72 6888
+-108.848 29.72 6781
+-108.722 29.72 6751
+-108.596 29.72 6656
+-108.47 29.72 6602
+-108.344 29.72 6490
+-108.218 29.72 6390
+-108.092 29.72 6276
+-107.966 29.72 6176
+-107.84 29.72 6057
+-107.714 29.72 5940
+-107.588 29.72 5792
+-107.462 29.72 5724
+-107.336 29.72 5617
+-107.21 29.72 5494
+-107.084 29.72 5395
+-106.958 29.72 5299
+-106.832 29.72 5172
+-106.706 29.72 5055
+-106.58 29.72 4977
+-106.454 29.72 4902
+-106.328 29.72 4775
+-106.202 29.72 4686
+-106.076 29.72 4574
+-105.95 29.72 4536
+-105.824 29.72 4419
+-105.698 29.72 4327
+-105.572 29.72 4157
+-105.446 29.72 3942
+-105.32 29.72 3673
+-105.194 29.72 3537
+-105.068 29.72 3548
+-104.942 29.72 3314
+-104.816 29.72 3140
+-104.69 29.72 3242
+-104.564 29.72 3357
+-104.438 29.72 3402
+-104.312 29.72 3432
+-104.186 29.72 3426
+-104.06 29.72 3396
+-103.934 29.72 3304
+-103.808 29.72 3215
+-103.682 29.72 3081
+-103.556 29.72 2984
+-103.43 29.72 2915
+-103.304 29.72 2831
+-103.178 29.72 2786
+-103.052 29.72 2740
+-102.926 29.72 2753
+-102.8 29.72 2778
+-102.674 29.72 2786
+-102.548 29.72 2786
+-102.422 29.72 2818
+-102.296 29.72 2857
+-102.17 29.72 2886
+-102.044 29.72 2875
+-101.918 29.72 2897
+-101.792 29.72 2917
+-101.666 29.72 2935
+-101.54 29.72 2951
+-101.414 29.72 2965
+-101.288 29.72 2978
+-101.162 29.72 2989
+-101.036 29.72 3000
+-100.91 29.72 3010
+-100.784 29.72 3018
+-100.658 29.72 2931
+-100.532 29.72 2939
+-100.406 29.72 2877
+-100.28 29.72 2833
+-100.154 29.72 2856
+-100.028 29.72 2855
+-99.902 29.72 2854
+-99.776 29.72 2851
+-99.65 29.72 2848
+-99.524 29.72 2845
+-99.398 29.72 2840
+-99.272 29.72 2835
+-99.146 29.72 2829
+-99.02 29.72 2822
+-98.894 29.72 2814
+-98.768 29.72 2705
+-98.642 29.72 2631
+-98.516 29.72 2611
+-98.39 29.72 2578
+-98.264 29.72 2558
+-98.138 29.72 2506
+-98.012 29.72 2485
+-97.886 29.72 2472
+-97.76 29.72 2394
+-97.634 29.72 2366
+-97.508 29.72 2371
+-97.382 29.72 2362
+-97.256 29.72 2329
+-97.13 29.72 2357
+-97.004 29.72 2297
+-96.878 29.72 2310
+-96.752 29.72 2332
+-96.626 29.72 2332
+-96.5 29.72 2273
+-96.374 29.72 2362
+-96.248 29.72 2402
+-96.122 29.72 2406
+-95.996 29.72 2423
+-95.87 29.72 2426
+-95.744 29.72 2429
+-95.618 29.72 2438
+-95.492 29.72 2397
+-95.366 29.72 2402
+-95.24 29.72 2360
+-95.114 29.72 2415
+-94.988 29.72 2421
+-94.862 29.72 2355
+-94.736 29.72 2345
+-94.61 29.72 2353
+-94.484 29.72 2362
+-94.358 29.72 2370
+-94.232 29.72 2378
+-94.106 29.72 2429
+-93.98 29.72 2438
+-93.854 29.72 2446
+-93.728 29.72 2435
+-93.602 29.72 2454
+-93.476 29.72 2490
+-93.35 29.72 2485
+-93.224 29.72 2504
+-93.098 29.72 2495
+-92.972 29.72 2575
+-92.846 29.72 2585
+-92.72 29.72 2595
+-92.594 29.72 2605
+-92.468 29.72 2651
+-92.342 29.72 2660
+-92.216 29.72 2669
+-92.09 29.72 2677
+-91.964 29.72 2686
+-91.838 29.72 2693
+-91.712 29.72 2702
+-91.586 29.72 2709
+-91.46 29.72 2872
+-91.334 29.72 2875
+-91.208 29.72 2879
+-91.082 29.72 2882
+-90.956 29.72 2949
+-90.83 29.72 2951
+-90.704 29.72 3022
+-90.578 29.72 3082
+-90.452 29.72 3083
+-90.326 29.72 3135
+-90.2 29.72 3135
+-90.074 29.72 3134
+-89.948 29.72 3132
+-89.822 29.72 3129
+-89.696 29.72 3185
+-89.57 29.72 3177
+-89.444 29.72 3179
+-89.318 29.72 3222
+-89.192 29.72 3240
+-89.066 29.72 3221
+-88.94 29.72 3223
+-88.814 29.72 3209
+-88.688 29.72 3211
+-88.562 29.72 3195
+-88.436 29.72 3198
+-88.31 29.72 3250
+-88.184 29.72 3341
+-88.058 29.72 3434
+-87.932 29.72 3533
+-87.806 29.72 3625
+-87.68 29.72 3709
+-87.554 29.72 3790
+-87.428 29.72 3824
+-87.302 29.72 3846
+-87.176 29.72 3869
+-87.05 29.72 3955
+-86.924 29.72 4199
+-86.798 29.72 4386
+-86.672 29.72 4548
+-86.546 29.72 4669
+-86.42 29.72 4806
+-86.294 29.72 4932
+-86.168 29.72 5050
+-86.042 29.72 5123
+-85.916 29.72 5196
+-85.79 29.72 5331
+-85.664 29.72 5457
+-85.538 29.72 5493
+-85.412 29.72 5601
+-85.286 29.72 5767
+-85.16 29.72 5933
+-85.034 29.72 6066
+-84.908 29.72 6205
+-84.782 29.72 6274
+-84.656 29.72 6365
+-84.53 29.72 6469
+-84.404 29.72 6580
+-84.278 29.72 6711
+-84.152 29.72 6872
+-84.026 29.72 6953
+-83.9 29.72 7022
+-83.774 29.72 7053
+-83.648 29.72 7153
+-83.522 29.72 7203
+-83.396 29.72 7358
+-83.27 29.72 7433
+-83.144 29.72 7466
+-83.018 29.72 7508
+-82.892 29.72 7550
+-82.766 29.72 7653
+-82.64 29.72 7655
+-82.514 29.72 7715
+-82.388 29.72 7726
+-82.262 29.72 7706
+-82.136 29.72 7697
+-82.01 29.72 7720
+-81.884 29.72 7676
+-81.758 29.72 7655
+-81.632 29.72 7619
+-81.506 29.72 7562
+-81.38 29.72 7523
+-81.254 29.72 7464
+-81.128 29.72 7394
+-81.002 29.72 7362
+-80.876 29.72 7266
+-80.75 29.72 7166
+-80.624 29.72 7083
+-80.498 29.72 6986
+-80.372 29.72 6871
+-80.246 29.72 6831
+-80.12 29.72 6699
+-79.994 29.72 6634
+-79.868 29.72 6473
+-79.742 29.72 6330
+-79.616 29.72 6245
+-79.49 29.72 6121
+-79.364 29.72 6008
+-79.238 29.72 5875
+-79.112 29.72 5781
+-78.986 29.72 5667
+-78.86 29.72 5520
+-78.734 29.72 5460
+-78.608 29.72 5331
+-78.482 29.72 5239
+-78.356 29.72 5129
+-78.23 29.72 4994
+-78.104 29.72 4877
+-77.978 29.72 4739
+-77.852 29.72 4580
+-77.726 29.72 4411
+-77.6 29.72 4248
+-77.474 29.72 4139
+-77.348 29.72 4021
+-77.222 29.72 3932
+-77.096 29.72 3936
+-76.97 29.72 3938
+-76.844 29.72 3883
+-76.718 29.72 3850
+-76.592 29.72 3795
+-76.466 29.72 3747
+-76.34 29.72 3684
+-76.214 29.72 3626
+-76.088 29.72 3601
+-75.962 29.72 3604
+-75.836 29.72 3615
+-75.71 29.72 3610
+-75.584 29.72 3615
+-75.458 29.72 3624
+-75.332 29.72 3607
+-75.206 29.72 3597
+-75.08 29.72 3575
+-74.954 29.72 3534
+-74.828 29.72 3547
+-74.702 29.72 3548
+-74.576 29.72 3495
+-74.45 29.72 3496
+-74.324 29.72 3496
+-74.198 29.72 3497
+-74.072 29.72 3484
+-73.946 29.72 3485
+-73.82 29.72 3486
+-73.694 29.72 3486
+-73.568 29.72 3487
+-73.442 29.72 3488
+-73.316 29.72 3489
+-73.19 29.72 3489
+-73.064 29.72 3490
+-72.938 29.72 3491
+-72.812 29.72 3361
+-72.686 29.72 3361
+-72.56 29.72 3361
+-72.434 29.72 3362
+-72.308 29.72 3282
+-72.182 29.72 3281
+-72.056 29.72 3268
+-71.93 29.72 3267
+-71.804 29.72 3272
+-71.678 29.72 3260
+-71.552 29.72 3259
+-71.426 29.72 3259
+-71.3 29.72 3201
+-71.174 29.72 3200
+-71.048 29.72 3177
+-70.922 29.72 3158
+-70.796 29.72 3158
+-70.67 29.72 3157
+-70.544 29.72 3157
+-70.418 29.72 3157
+-70.292 29.72 3157
+-70.166 29.72 3156
+-70.04 29.72 3156
+-69.914 29.72 3156
+-69.788 29.72 3156
+-69.662 29.72 3155
+-69.536 29.72 3060
+-69.41 29.72 3060
+-69.284 29.72 3060
+-69.158 29.72 3060
+-69.032 29.72 3060
+-68.906 29.72 3060
+-68.78 29.72 3061
+-68.654 29.72 3061
+-68.528 29.72 3061
+-68.402 29.72 3061
+-68.276 29.72 3061
+-68.15 29.72 3061
+-68.024 29.72 3061
+-67.898 29.72 3062
+-67.772 29.72 3062
+-67.646 29.72 3062
+-67.52 29.72 3062
+-67.394 29.72 3062
+-67.268 29.72 3062
+-67.142 29.72 3062
+-67.016 29.72 3063
+-66.89 29.72 3063
+-66.764 29.72 3063
+-66.638 29.72 3063
+-66.512 29.72 3063
+-66.386 29.72 3063
+-66.26 29.72 3064
+-66.134 29.72 3064
+-66.008 29.72 3064
+-65.882 29.72 3064
+-65.756 29.72 3064
+-65.63 29.72 3064
+-65.504 29.72 3064
+-65.378 29.72 3065
+-65.252 29.72 3065
+-65.126 29.72 3065
+-128 29.668 2320
+-127.874 29.668 2291
+-127.748 29.668 2259
+-127.622 29.668 2224
+-127.496 29.668 2186
+-127.37 29.668 2144
+-127.244 29.668 2098
+-127.118 29.668 2094
+-126.992 29.668 2043
+-126.866 29.668 1986
+-126.74 29.668 1928
+-126.614 29.668 1881
+-126.488 29.668 1802
+-126.362 29.668 1733
+-126.236 29.668 1629
+-126.11 29.668 1511
+-125.984 29.668 1411
+-125.858 29.668 1267
+-125.732 29.668 1092
+-125.606 29.668 904
+-125.48 29.668 705
+-125.354 29.668 520
+-125.228 29.668 386
+-125.102 29.668 351
+-124.976 29.668 452
+-124.85 29.668 677
+-124.724 29.668 939
+-124.598 29.668 1145
+-124.472 29.668 1223
+-124.346 29.668 1212
+-124.22 29.668 1217
+-124.094 29.668 1321
+-123.968 29.668 1540
+-123.842 29.668 1820
+-123.716 29.668 2111
+-123.59 29.668 2372
+-123.464 29.668 2577
+-123.338 29.668 2732
+-123.212 29.668 2844
+-123.086 29.668 2927
+-122.96 29.668 3052
+-122.834 29.668 3052
+-122.708 29.668 3024
+-122.582 29.668 3004
+-122.456 29.668 3057
+-122.33 29.668 3152
+-122.204 29.668 3272
+-122.078 29.668 3373
+-121.952 29.668 3455
+-121.826 29.668 3524
+-121.7 29.668 3620
+-121.574 29.668 3706
+-121.448 29.668 3777
+-121.322 29.668 3842
+-121.196 29.668 3900
+-121.07 29.668 4051
+-120.944 29.668 4172
+-120.818 29.668 4233
+-120.692 29.668 4371
+-120.566 29.668 4530
+-120.44 29.668 4626
+-120.314 29.668 4717
+-120.188 29.668 4830
+-120.062 29.668 5004
+-119.936 29.668 5074
+-119.81 29.668 5097
+-119.684 29.668 5184
+-119.558 29.668 5257
+-119.432 29.668 5315
+-119.306 29.668 5402
+-119.18 29.668 5496
+-119.054 29.668 5573
+-118.928 29.668 5614
+-118.802 29.668 5681
+-118.676 29.668 5731
+-118.55 29.668 5799
+-118.424 29.668 5875
+-118.298 29.668 5943
+-118.172 29.668 5990
+-118.046 29.668 6020
+-117.92 29.668 6068
+-117.794 29.668 6099
+-117.668 29.668 6134
+-117.542 29.668 6137
+-117.416 29.668 6185
+-117.29 29.668 6226
+-117.164 29.668 6217
+-117.038 29.668 6222
+-116.912 29.668 6190
+-116.786 29.668 6189
+-116.66 29.668 6157
+-116.534 29.668 6144
+-116.408 29.668 6131
+-116.282 29.668 6135
+-116.156 29.668 6082
+-116.03 29.668 6043
+-115.904 29.668 6016
+-115.778 29.668 5967
+-115.652 29.668 5881
+-115.526 29.668 5860
+-115.4 29.668 5785
+-115.274 29.668 5711
+-115.148 29.668 5636
+-115.022 29.668 5608
+-114.896 29.668 5528
+-114.77 29.668 5444
+-114.644 29.668 5335
+-114.518 29.668 5194
+-114.392 29.668 5088
+-114.266 29.668 5054
+-114.14 29.668 4946
+-114.014 29.668 5058
+-113.888 29.668 5140
+-113.762 29.668 5270
+-113.636 29.668 5395
+-113.51 29.668 5440
+-113.384 29.668 5576
+-113.258 29.668 5709
+-113.132 29.668 5838
+-113.006 29.668 5955
+-112.88 29.668 6091
+-112.754 29.668 6202
+-112.628 29.668 6318
+-112.502 29.668 6378
+-112.376 29.668 6488
+-112.25 29.668 6546
+-112.124 29.668 6624
+-111.998 29.668 6738
+-111.872 29.668 6830
+-111.746 29.668 6914
+-111.62 29.668 6983
+-111.494 29.668 7078
+-111.368 29.668 7099
+-111.242 29.668 7165
+-111.116 29.668 7233
+-110.99 29.668 7278
+-110.864 29.668 7314
+-110.738 29.668 7338
+-110.612 29.668 7351
+-110.486 29.668 7384
+-110.36 29.668 7361
+-110.234 29.668 7351
+-110.108 29.668 7343
+-109.982 29.668 7321
+-109.856 29.668 7279
+-109.73 29.668 7234
+-109.604 29.668 7214
+-109.478 29.668 7145
+-109.352 29.668 7068
+-109.226 29.668 6989
+-109.1 29.668 6930
+-108.974 29.668 6839
+-108.848 29.668 6720
+-108.722 29.668 6650
+-108.596 29.668 6557
+-108.47 29.668 6558
+-108.344 29.668 6475
+-108.218 29.668 6358
+-108.092 29.668 6229
+-107.966 29.668 6158
+-107.84 29.668 6028
+-107.714 29.668 5909
+-107.588 29.668 5779
+-107.462 29.668 5683
+-107.336 29.668 5579
+-107.21 29.668 5465
+-107.084 29.668 5378
+-106.958 29.668 5243
+-106.832 29.668 5164
+-106.706 29.668 4989
+-106.58 29.668 4884
+-106.454 29.668 4801
+-106.328 29.668 4709
+-106.202 29.668 4577
+-106.076 29.668 4453
+-105.95 29.668 4448
+-105.824 29.668 4398
+-105.698 29.668 4296
+-105.572 29.668 4169
+-105.446 29.668 3974
+-105.32 29.668 3726
+-105.194 29.668 3614
+-105.068 29.668 3576
+-104.942 29.668 3415
+-104.816 29.668 3269
+-104.69 29.668 3322
+-104.564 29.668 3405
+-104.438 29.668 3444
+-104.312 29.668 3438
+-104.186 29.668 3434
+-104.06 29.668 3410
+-103.934 29.668 3343
+-103.808 29.668 3265
+-103.682 29.668 3185
+-103.556 29.668 3051
+-103.43 29.668 2986
+-103.304 29.668 2944
+-103.178 29.668 2916
+-103.052 29.668 2844
+-102.926 29.668 2844
+-102.8 29.668 2856
+-102.674 29.668 2875
+-102.548 29.668 2871
+-102.422 29.668 2861
+-102.296 29.668 2884
+-102.17 29.668 2906
+-102.044 29.668 2927
+-101.918 29.668 2917
+-101.792 29.668 2933
+-101.666 29.668 2949
+-101.54 29.668 2963
+-101.414 29.668 2975
+-101.288 29.668 2987
+-101.162 29.668 2997
+-101.036 29.668 3007
+-100.91 29.668 3016
+-100.784 29.668 2925
+-100.658 29.668 2934
+-100.532 29.668 2942
+-100.406 29.668 2879
+-100.28 29.668 2836
+-100.154 29.668 2836
+-100.028 29.668 2835
+-99.902 29.668 2833
+-99.776 29.668 2830
+-99.65 29.668 2827
+-99.524 29.668 2823
+-99.398 29.668 2818
+-99.272 29.668 2813
+-99.146 29.668 2807
+-99.02 29.668 2800
+-98.894 29.668 2792
+-98.768 29.668 2666
+-98.642 29.668 2635
+-98.516 29.668 2626
+-98.39 29.668 2585
+-98.264 29.668 2519
+-98.138 29.668 2513
+-98.012 29.668 2492
+-97.886 29.668 2480
+-97.76 29.668 2402
+-97.634 29.668 2375
+-97.508 29.668 2380
+-97.382 29.668 2371
+-97.256 29.668 2338
+-97.13 29.668 2293
+-97.004 29.668 2307
+-96.878 29.668 2320
+-96.752 29.668 2340
+-96.626 29.668 2342
+-96.5 29.668 2283
+-96.374 29.668 2361
+-96.248 29.668 2414
+-96.122 29.668 2418
+-95.996 29.668 2436
+-95.87 29.668 2439
+-95.744 29.668 2447
+-95.618 29.668 2404
+-95.492 29.668 2409
+-95.366 29.668 2366
+-95.24 29.668 2421
+-95.114 29.668 2426
+-94.988 29.668 2359
+-94.862 29.668 2349
+-94.736 29.668 2356
+-94.61 29.668 2363
+-94.484 29.668 2371
+-94.358 29.668 2379
+-94.232 29.668 2387
+-94.106 29.668 2395
+-93.98 29.668 2403
+-93.854 29.668 2390
+-93.728 29.668 2425
+-93.602 29.668 2448
+-93.476 29.668 2445
+-93.35 29.668 2461
+-93.224 29.668 2496
+-93.098 29.668 2617
+-92.972 29.668 2627
+-92.846 29.668 2637
+-92.72 29.668 2646
+-92.594 29.668 2656
+-92.468 29.668 2665
+-92.342 29.668 2674
+-92.216 29.668 2683
+-92.09 29.668 2691
+-91.964 29.668 2699
+-91.838 29.668 2708
+-91.712 29.668 2716
+-91.586 29.668 2914
+-91.46 29.668 2917
+-91.334 29.668 2920
+-91.208 29.668 2923
+-91.082 29.668 2961
+-90.956 29.668 2963
+-90.83 29.668 3032
+-90.704 29.668 3094
+-90.578 29.668 3096
+-90.452 29.668 3150
+-90.326 29.668 3150
+-90.2 29.668 3149
+-90.074 29.668 3149
+-89.948 29.668 3144
+-89.822 29.668 3203
+-89.696 29.668 3260
+-89.57 29.668 3249
+-89.444 29.668 3236
+-89.318 29.668 3227
+-89.192 29.668 3274
+-89.066 29.668 3261
+-88.94 29.668 3263
+-88.814 29.668 3256
+-88.688 29.668 3235
+-88.562 29.668 3223
+-88.436 29.668 3228
+-88.31 29.668 3261
+-88.184 29.668 3344
+-88.058 29.668 3460
+-87.932 29.668 3575
+-87.806 29.668 3700
+-87.68 29.668 3782
+-87.554 29.668 3820
+-87.428 29.668 3847
+-87.302 29.668 3850
+-87.176 29.668 3814
+-87.05 29.668 3924
+-86.924 29.668 4173
+-86.798 29.668 4399
+-86.672 29.668 4563
+-86.546 29.668 4715
+-86.42 29.668 4865
+-86.294 29.668 4991
+-86.168 29.668 5104
+-86.042 29.668 5126
+-85.916 29.668 5187
+-85.79 29.668 5324
+-85.664 29.668 5471
+-85.538 29.668 5497
+-85.412 29.668 5633
+-85.286 29.668 5827
+-85.16 29.668 6007
+-85.034 29.668 6131
+-84.908 29.668 6236
+-84.782 29.668 6308
+-84.656 29.668 6415
+-84.53 29.668 6511
+-84.404 29.668 6627
+-84.278 29.668 6759
+-84.152 29.668 6929
+-84.026 29.668 7017
+-83.9 29.668 7026
+-83.774 29.668 7096
+-83.648 29.668 7193
+-83.522 29.668 7292
+-83.396 29.668 7361
+-83.27 29.668 7442
+-83.144 29.668 7516
+-83.018 29.668 7552
+-82.892 29.668 7611
+-82.766 29.668 7693
+-82.64 29.668 7697
+-82.514 29.668 7709
+-82.388 29.668 7789
+-82.262 29.668 7736
+-82.136 29.668 7745
+-82.01 29.668 7763
+-81.884 29.668 7725
+-81.758 29.668 7703
+-81.632 29.668 7676
+-81.506 29.668 7620
+-81.38 29.668 7573
+-81.254 29.668 7496
+-81.128 29.668 7483
+-81.002 29.668 7434
+-80.876 29.668 7321
+-80.75 29.668 7202
+-80.624 29.668 7096
+-80.498 29.668 6973
+-80.372 29.668 6913
+-80.246 29.668 6804
+-80.12 29.668 6759
+-79.994 29.668 6641
+-79.868 29.668 6521
+-79.742 29.668 6392
+-79.616 29.668 6233
+-79.49 29.668 6111
+-79.364 29.668 6057
+-79.238 29.668 5916
+-79.112 29.668 5859
+-78.986 29.668 5727
+-78.86 29.668 5599
+-78.734 29.668 5470
+-78.608 29.668 5371
+-78.482 29.668 5236
+-78.356 29.668 5117
+-78.23 29.668 4956
+-78.104 29.668 4862
+-77.978 29.668 4778
+-77.852 29.668 4639
+-77.726 29.668 4469
+-77.6 29.668 4334
+-77.474 29.668 4226
+-77.348 29.668 4108
+-77.222 29.668 4035
+-77.096 29.668 3956
+-76.97 29.668 3894
+-76.844 29.668 3849
+-76.718 29.668 3823
+-76.592 29.668 3736
+-76.466 29.668 3641
+-76.34 29.668 3553
+-76.214 29.668 3520
+-76.088 29.668 3531
+-75.962 29.668 3558
+-75.836 29.668 3569
+-75.71 29.668 3586
+-75.584 29.668 3602
+-75.458 29.668 3576
+-75.332 29.668 3586
+-75.206 29.668 3566
+-75.08 29.668 3571
+-74.954 29.668 3542
+-74.828 29.668 3544
+-74.702 29.668 3547
+-74.576 29.668 3550
+-74.45 29.668 3498
+-74.324 29.668 3499
+-74.198 29.668 3486
+-74.072 29.668 3487
+-73.946 29.668 3487
+-73.82 29.668 3488
+-73.694 29.668 3489
+-73.568 29.668 3490
+-73.442 29.668 3490
+-73.316 29.668 3491
+-73.19 29.668 3492
+-73.064 29.668 3492
+-72.938 29.668 3367
+-72.812 29.668 3367
+-72.686 29.668 3367
+-72.56 29.668 3367
+-72.434 29.668 3367
+-72.308 29.668 3325
+-72.182 29.668 3274
+-72.056 29.668 3273
+-71.93 29.668 3277
+-71.804 29.668 3264
+-71.678 29.668 3263
+-71.552 29.668 3263
+-71.426 29.668 3205
+-71.3 29.668 3204
+-71.174 29.668 3181
+-71.048 29.668 3162
+-70.922 29.668 3161
+-70.796 29.668 3160
+-70.67 29.668 3160
+-70.544 29.668 3160
+-70.418 29.668 3159
+-70.292 29.668 3159
+-70.166 29.668 3158
+-70.04 29.668 3158
+-69.914 29.668 3158
+-69.788 29.668 3157
+-69.662 29.668 3062
+-69.536 29.668 3062
+-69.41 29.668 3062
+-69.284 29.668 3062
+-69.158 29.668 3062
+-69.032 29.668 3062
+-68.906 29.668 3062
+-68.78 29.668 3062
+-68.654 29.668 3062
+-68.528 29.668 3062
+-68.402 29.668 3063
+-68.276 29.668 3063
+-68.15 29.668 3063
+-68.024 29.668 3063
+-67.898 29.668 3063
+-67.772 29.668 3063
+-67.646 29.668 3063
+-67.52 29.668 3063
+-67.394 29.668 3063
+-67.268 29.668 3064
+-67.142 29.668 3064
+-67.016 29.668 3064
+-66.89 29.668 3064
+-66.764 29.668 3064
+-66.638 29.668 3064
+-66.512 29.668 3064
+-66.386 29.668 3064
+-66.26 29.668 3065
+-66.134 29.668 3065
+-66.008 29.668 3065
+-65.882 29.668 3065
+-65.756 29.668 3065
+-65.63 29.668 3065
+-65.504 29.668 3065
+-65.378 29.668 3065
+-65.252 29.668 3066
+-65.126 29.668 3066
+-128 29.616 2307
+-127.874 29.616 2277
+-127.748 29.616 2244
+-127.622 29.616 2208
+-127.496 29.616 2169
+-127.37 29.616 2126
+-127.244 29.616 2124
+-127.118 29.616 2076
+-126.992 29.616 2024
+-126.866 29.616 1971
+-126.74 29.616 1929
+-126.614 29.616 1856
+-126.488 29.616 1796
+-126.362 29.616 1700
+-126.236 29.616 1591
+-126.11 29.616 1503
+-125.984 29.616 1370
+-125.858 29.616 1202
+-125.732 29.616 1014
+-125.606 29.616 802
+-125.48 29.616 575
+-125.354 29.616 357
+-125.228 29.616 183
+-125.102 29.616 114
+-124.976 29.616 217
+-124.85 29.616 489
+-124.724 29.616 833
+-124.598 29.616 1069
+-124.472 29.616 1123
+-124.346 29.616 1062
+-124.22 29.616 1021
+-124.094 29.616 1114
+-123.968 29.616 1354
+-123.842 29.616 1687
+-123.716 29.616 2023
+-123.59 29.616 2308
+-123.464 29.616 2532
+-123.338 29.616 2699
+-123.212 29.616 2824
+-123.086 29.616 2902
+-122.96 29.616 3020
+-122.834 29.616 3001
+-122.708 29.616 2959
+-122.582 29.616 2884
+-122.456 29.616 2852
+-122.33 29.616 2964
+-122.204 29.616 3156
+-122.078 29.616 3299
+-121.952 29.616 3403
+-121.826 29.616 3519
+-121.7 29.616 3597
+-121.574 29.616 3644
+-121.448 29.616 3661
+-121.322 29.616 3753
+-121.196 29.616 3875
+-121.07 29.616 4062
+-120.944 29.616 4156
+-120.818 29.616 4156
+-120.692 29.616 4264
+-120.566 29.616 4447
+-120.44 29.616 4623
+-120.314 29.616 4748
+-120.188 29.616 4838
+-120.062 29.616 4941
+-119.936 29.616 5034
+-119.81 29.616 5011
+-119.684 29.616 5129
+-119.558 29.616 5178
+-119.432 29.616 5229
+-119.306 29.616 5341
+-119.18 29.616 5445
+-119.054 29.616 5522
+-118.928 29.616 5553
+-118.802 29.616 5647
+-118.676 29.616 5684
+-118.55 29.616 5767
+-118.424 29.616 5804
+-118.298 29.616 5890
+-118.172 29.616 5905
+-118.046 29.616 5973
+-117.92 29.616 6010
+-117.794 29.616 6044
+-117.668 29.616 6089
+-117.542 29.616 6123
+-117.416 29.616 6137
+-117.29 29.616 6143
+-117.164 29.616 6122
+-117.038 29.616 6164
+-116.912 29.616 6156
+-116.786 29.616 6134
+-116.66 29.616 6104
+-116.534 29.616 6082
+-116.408 29.616 6068
+-116.282 29.616 6027
+-116.156 29.616 6028
+-116.03 29.616 5988
+-115.904 29.616 5944
+-115.778 29.616 5885
+-115.652 29.616 5829
+-115.526 29.616 5805
+-115.4 29.616 5697
+-115.274 29.616 5654
+-115.148 29.616 5614
+-115.022 29.616 5569
+-114.896 29.616 5488
+-114.77 29.616 5356
+-114.644 29.616 5238
+-114.518 29.616 5129
+-114.392 29.616 5022
+-114.266 29.616 4962
+-114.14 29.616 4974
+-114.014 29.616 5041
+-113.888 29.616 5098
+-113.762 29.616 5261
+-113.636 29.616 5354
+-113.51 29.616 5491
+-113.384 29.616 5605
+-113.258 29.616 5678
+-113.132 29.616 5819
+-113.006 29.616 5939
+-112.88 29.616 6043
+-112.754 29.616 6130
+-112.628 29.616 6218
+-112.502 29.616 6344
+-112.376 29.616 6417
+-112.25 29.616 6503
+-112.124 29.616 6608
+-111.998 29.616 6714
+-111.872 29.616 6787
+-111.746 29.616 6854
+-111.62 29.616 6940
+-111.494 29.616 7006
+-111.368 29.616 7074
+-111.242 29.616 7134
+-111.116 29.616 7170
+-110.99 29.616 7231
+-110.864 29.616 7287
+-110.738 29.616 7291
+-110.612 29.616 7304
+-110.486 29.616 7315
+-110.36 29.616 7321
+-110.234 29.616 7283
+-110.108 29.616 7273
+-109.982 29.616 7257
+-109.856 29.616 7247
+-109.73 29.616 7205
+-109.604 29.616 7104
+-109.478 29.616 7082
+-109.352 29.616 7012
+-109.226 29.616 6963
+-109.1 29.616 6864
+-108.974 29.616 6775
+-108.848 29.616 6694
+-108.722 29.616 6627
+-108.596 29.616 6532
+-108.47 29.616 6493
+-108.344 29.616 6395
+-108.218 29.616 6286
+-108.092 29.616 6183
+-107.966 29.616 6067
+-107.84 29.616 5961
+-107.714 29.616 5825
+-107.588 29.616 5772
+-107.462 29.616 5668
+-107.336 29.616 5535
+-107.21 29.616 5438
+-107.084 29.616 5329
+-106.958 29.616 5145
+-106.832 29.616 5085
+-106.706 29.616 4917
+-106.58 29.616 4807
+-106.454 29.616 4681
+-106.328 29.616 4690
+-106.202 29.616 4495
+-106.076 29.616 4332
+-105.95 29.616 4391
+-105.824 29.616 4379
+-105.698 29.616 4294
+-105.572 29.616 4192
+-105.446 29.616 4015
+-105.32 29.616 3852
+-105.194 29.616 3737
+-105.068 29.616 3660
+-104.942 29.616 3562
+-104.816 29.616 3456
+-104.69 29.616 3456
+-104.564 29.616 3496
+-104.438 29.616 3506
+-104.312 29.616 3482
+-104.186 29.616 3438
+-104.06 29.616 3404
+-103.934 29.616 3373
+-103.808 29.616 3290
+-103.682 29.616 3224
+-103.556 29.616 3151
+-103.43 29.616 3080
+-103.304 29.616 3028
+-103.178 29.616 2939
+-103.052 29.616 2926
+-102.926 29.616 2923
+-102.8 29.616 2922
+-102.674 29.616 2933
+-102.548 29.616 2947
+-102.422 29.616 2934
+-102.296 29.616 2917
+-102.17 29.616 2934
+-102.044 29.616 2951
+-101.918 29.616 2966
+-101.792 29.616 2950
+-101.666 29.616 2963
+-101.54 29.616 2975
+-101.414 29.616 2986
+-101.288 29.616 2996
+-101.162 29.616 3006
+-101.036 29.616 3014
+-100.91 29.616 2920
+-100.784 29.616 2929
+-100.658 29.616 2937
+-100.532 29.616 2944
+-100.406 29.616 2882
+-100.28 29.616 2839
+-100.154 29.616 2839
+-100.028 29.616 2837
+-99.902 29.616 2836
+-99.776 29.616 2833
+-99.65 29.616 2830
+-99.524 29.616 2826
+-99.398 29.616 2821
+-99.272 29.616 2816
+-99.146 29.616 2810
+-99.02 29.616 2804
+-98.894 29.616 2797
+-98.768 29.616 2670
+-98.642 29.616 2661
+-98.516 29.616 2630
+-98.39 29.616 2599
+-98.264 29.616 2525
+-98.138 29.616 2520
+-98.012 29.616 2499
+-97.886 29.616 2487
+-97.76 29.616 2410
+-97.634 29.616 2383
+-97.508 29.616 2389
+-97.382 29.616 2381
+-97.256 29.616 2347
+-97.13 29.616 2302
+-97.004 29.616 2316
+-96.878 29.616 2329
+-96.752 29.616 2349
+-96.626 29.616 2290
+-96.5 29.616 2293
+-96.374 29.616 2372
+-96.248 29.616 2425
+-96.122 29.616 2429
+-95.996 29.616 2448
+-95.87 29.616 2455
+-95.744 29.616 2412
+-95.618 29.616 2416
+-95.492 29.616 2372
+-95.366 29.616 2427
+-95.24 29.616 2432
+-95.114 29.616 2363
+-94.988 29.616 2352
+-94.862 29.616 2359
+-94.736 29.616 2365
+-94.61 29.616 2373
+-94.484 29.616 2380
+-94.358 29.616 2387
+-94.232 29.616 2394
+-94.106 29.616 2402
+-93.98 29.616 2389
+-93.854 29.616 2425
+-93.728 29.616 2449
+-93.602 29.616 2443
+-93.476 29.616 2436
+-93.35 29.616 2462
+-93.224 29.616 2463
+-93.098 29.616 2631
+-92.972 29.616 2641
+-92.846 29.616 2651
+-92.72 29.616 2660
+-92.594 29.616 2669
+-92.468 29.616 2679
+-92.342 29.616 2688
+-92.216 29.616 2696
+-92.09 29.616 2705
+-91.964 29.616 2713
+-91.838 29.616 2722
+-91.712 29.616 2925
+-91.586 29.616 2927
+-91.46 29.616 2930
+-91.334 29.616 2934
+-91.208 29.616 2973
+-91.082 29.616 2974
+-90.956 29.616 3028
+-90.83 29.616 3119
+-90.704 29.616 3138
+-90.578 29.616 3177
+-90.452 29.616 3164
+-90.326 29.616 3164
+-90.2 29.616 3163
+-90.074 29.616 3184
+-89.948 29.616 3220
+-89.822 29.616 3281
+-89.696 29.616 3272
+-89.57 29.616 3290
+-89.444 29.616 3276
+-89.318 29.616 3267
+-89.192 29.616 3279
+-89.066 29.616 3292
+-88.94 29.616 3268
+-88.814 29.616 3240
+-88.688 29.616 3225
+-88.562 29.616 3196
+-88.436 29.616 3183
+-88.31 29.616 3206
+-88.184 29.616 3302
+-88.058 29.616 3464
+-87.932 29.616 3594
+-87.806 29.616 3719
+-87.68 29.616 3797
+-87.554 29.616 3841
+-87.428 29.616 3849
+-87.302 29.616 3850
+-87.176 29.616 3880
+-87.05 29.616 3980
+-86.924 29.616 4208
+-86.798 29.616 4414
+-86.672 29.616 4595
+-86.546 29.616 4749
+-86.42 29.616 4894
+-86.294 29.616 4965
+-86.168 29.616 5088
+-86.042 29.616 5153
+-85.916 29.616 5138
+-85.79 29.616 5293
+-85.664 29.616 5483
+-85.538 29.616 5586
+-85.412 29.616 5745
+-85.286 29.616 5886
+-85.16 29.616 6042
+-85.034 29.616 6096
+-84.908 29.616 6237
+-84.782 29.616 6341
+-84.656 29.616 6448
+-84.53 29.616 6543
+-84.404 29.616 6668
+-84.278 29.616 6827
+-84.152 29.616 6932
+-84.026 29.616 7041
+-83.9 29.616 7095
+-83.774 29.616 7150
+-83.648 29.616 7234
+-83.522 29.616 7360
+-83.396 29.616 7418
+-83.27 29.616 7506
+-83.144 29.616 7598
+-83.018 29.616 7613
+-82.892 29.616 7681
+-82.766 29.616 7728
+-82.64 29.616 7786
+-82.514 29.616 7776
+-82.388 29.616 7785
+-82.262 29.616 7789
+-82.136 29.616 7782
+-82.01 29.616 7786
+-81.884 29.616 7783
+-81.758 29.616 7788
+-81.632 29.616 7742
+-81.506 29.616 7681
+-81.38 29.616 7664
+-81.254 29.616 7591
+-81.128 29.616 7477
+-81.002 29.616 7458
+-80.876 29.616 7330
+-80.75 29.616 7290
+-80.624 29.616 7164
+-80.498 29.616 7045
+-80.372 29.616 6957
+-80.246 29.616 6910
+-80.12 29.616 6737
+-79.994 29.616 6696
+-79.868 29.616 6571
+-79.742 29.616 6463
+-79.616 29.616 6261
+-79.49 29.616 6138
+-79.364 29.616 6083
+-79.238 29.616 5984
+-79.112 29.616 5836
+-78.986 29.616 5713
+-78.86 29.616 5616
+-78.734 29.616 5512
+-78.608 29.616 5357
+-78.482 29.616 5202
+-78.356 29.616 5069
+-78.23 29.616 4944
+-78.104 29.616 4814
+-77.978 29.616 4798
+-77.852 29.616 4684
+-77.726 29.616 4467
+-77.6 29.616 4364
+-77.474 29.616 4304
+-77.348 29.616 4182
+-77.222 29.616 4037
+-77.096 29.616 3887
+-76.97 29.616 3780
+-76.844 29.616 3790
+-76.718 29.616 3786
+-76.592 29.616 3670
+-76.466 29.616 3508
+-76.34 29.616 3380
+-76.214 29.616 3385
+-76.088 29.616 3442
+-75.962 29.616 3490
+-75.836 29.616 3532
+-75.71 29.616 3565
+-75.584 29.616 3551
+-75.458 29.616 3568
+-75.332 29.616 3554
+-75.206 29.616 3560
+-75.08 29.616 3566
+-74.954 29.616 3537
+-74.828 29.616 3542
+-74.702 29.616 3545
+-74.576 29.616 3549
+-74.45 29.616 3552
+-74.324 29.616 3487
+-74.198 29.616 3488
+-74.072 29.616 3489
+-73.946 29.616 3489
+-73.82 29.616 3490
+-73.694 29.616 3491
+-73.568 29.616 3492
+-73.442 29.616 3492
+-73.316 29.616 3493
+-73.19 29.616 3494
+-73.064 29.616 3372
+-72.938 29.616 3372
+-72.812 29.616 3372
+-72.686 29.616 3372
+-72.56 29.616 3371
+-72.434 29.616 3329
+-72.308 29.616 3328
+-72.182 29.616 3279
+-72.056 29.616 3281
+-71.93 29.616 3269
+-71.804 29.616 3268
+-71.678 29.616 3267
+-71.552 29.616 3209
+-71.426 29.616 3208
+-71.3 29.616 3184
+-71.174 29.616 3165
+-71.048 29.616 3164
+-70.922 29.616 3164
+-70.796 29.616 3163
+-70.67 29.616 3162
+-70.544 29.616 3162
+-70.418 29.616 3161
+-70.292 29.616 3161
+-70.166 29.616 3160
+-70.04 29.616 3160
+-69.914 29.616 3160
+-69.788 29.616 3064
+-69.662 29.616 3064
+-69.536 29.616 3064
+-69.41 29.616 3064
+-69.284 29.616 3064
+-69.158 29.616 3064
+-69.032 29.616 3064
+-68.906 29.616 3064
+-68.78 29.616 3064
+-68.654 29.616 3064
+-68.528 29.616 3064
+-68.402 29.616 3064
+-68.276 29.616 3064
+-68.15 29.616 3064
+-68.024 29.616 3064
+-67.898 29.616 3064
+-67.772 29.616 3064
+-67.646 29.616 3065
+-67.52 29.616 3065
+-67.394 29.616 3065
+-67.268 29.616 3065
+-67.142 29.616 3065
+-67.016 29.616 3065
+-66.89 29.616 3065
+-66.764 29.616 3065
+-66.638 29.616 3065
+-66.512 29.616 3065
+-66.386 29.616 3065
+-66.26 29.616 3066
+-66.134 29.616 3066
+-66.008 29.616 3066
+-65.882 29.616 3066
+-65.756 29.616 3066
+-65.63 29.616 3066
+-65.504 29.616 3066
+-65.378 29.616 3066
+-65.252 29.616 3066
+-65.126 29.616 3066
+-128 29.564 2296
+-127.874 29.564 2265
+-127.748 29.564 2231
+-127.622 29.564 2195
+-127.496 29.564 2155
+-127.37 29.564 2155
+-127.244 29.564 2111
+-127.118 29.564 2063
+-126.992 29.564 2016
+-126.866 29.564 1979
+-126.74 29.564 1913
+-126.614 29.564 1863
+-126.488 29.564 1777
+-126.362 29.564 1680
+-126.236 29.564 1607
+-126.11 29.564 1491
+-125.984 29.564 1342
+-125.858 29.564 1173
+-125.732 29.564 977
+-125.606 29.564 759
+-125.48 29.564 528
+-125.354 29.564 298
+-125.228 29.564 104
+-125.102 29.564 22
+-124.976 29.564 123
+-124.85 29.564 422
+-124.724 29.564 783
+-124.598 29.564 1030
+-124.472 29.564 1081
+-124.346 29.564 1003
+-124.22 29.564 944
+-124.094 29.564 1030
+-123.968 29.564 1285
+-123.842 29.564 1621
+-123.716 29.564 1963
+-123.59 29.564 2256
+-123.464 29.564 2506
+-123.338 29.564 2684
+-123.212 29.564 2806
+-123.086 29.564 2884
+-122.96 29.564 2998
+-122.834 29.564 2975
+-122.708 29.564 2933
+-122.582 29.564 2818
+-122.456 29.564 2730
+-122.33 29.564 2863
+-122.204 29.564 3090
+-122.078 29.564 3242
+-121.952 29.564 3357
+-121.826 29.564 3455
+-121.7 29.564 3549
+-121.574 29.564 3608
+-121.448 29.564 3588
+-121.322 29.564 3684
+-121.196 29.564 3858
+-121.07 29.564 4031
+-120.944 29.564 4142
+-120.818 29.564 4147
+-120.692 29.564 4238
+-120.566 29.564 4421
+-120.44 29.564 4592
+-120.314 29.564 4747
+-120.188 29.564 4815
+-120.062 29.564 4901
+-119.936 29.564 5000
+-119.81 29.564 5025
+-119.684 29.564 5106
+-119.558 29.564 5186
+-119.432 29.564 5220
+-119.306 29.564 5304
+-119.18 29.564 5413
+-119.054 29.564 5456
+-118.928 29.564 5534
+-118.802 29.564 5596
+-118.676 29.564 5617
+-118.55 29.564 5684
+-118.424 29.564 5742
+-118.298 29.564 5809
+-118.172 29.564 5880
+-118.046 29.564 5927
+-117.92 29.564 5970
+-117.794 29.564 5983
+-117.668 29.564 6009
+-117.542 29.564 6051
+-117.416 29.564 6068
+-117.29 29.564 6071
+-117.164 29.564 6084
+-117.038 29.564 6087
+-116.912 29.564 6079
+-116.786 29.564 6060
+-116.66 29.564 6048
+-116.534 29.564 6043
+-116.408 29.564 6035
+-116.282 29.564 6013
+-116.156 29.564 5977
+-116.03 29.564 5929
+-115.904 29.564 5878
+-115.778 29.564 5866
+-115.652 29.564 5808
+-115.526 29.564 5719
+-115.4 29.564 5639
+-115.274 29.564 5599
+-115.148 29.564 5567
+-115.022 29.564 5476
+-114.896 29.564 5407
+-114.77 29.564 5297
+-114.644 29.564 5286
+-114.518 29.564 5131
+-114.392 29.564 5001
+-114.266 29.564 4974
+-114.14 29.564 4838
+-114.014 29.564 4988
+-113.888 29.564 5103
+-113.762 29.564 5201
+-113.636 29.564 5336
+-113.51 29.564 5470
+-113.384 29.564 5556
+-113.258 29.564 5673
+-113.132 29.564 5789
+-113.006 29.564 5910
+-112.88 29.564 5980
+-112.754 29.564 6134
+-112.628 29.564 6205
+-112.502 29.564 6319
+-112.376 29.564 6415
+-112.25 29.564 6475
+-112.124 29.564 6561
+-111.998 29.564 6677
+-111.872 29.564 6754
+-111.746 29.564 6794
+-111.62 29.564 6910
+-111.494 29.564 6936
+-111.368 29.564 7009
+-111.242 29.564 7086
+-111.116 29.564 7103
+-110.99 29.564 7182
+-110.864 29.564 7170
+-110.738 29.564 7240
+-110.612 29.564 7270
+-110.486 29.564 7280
+-110.36 29.564 7249
+-110.234 29.564 7267
+-110.108 29.564 7245
+-109.982 29.564 7227
+-109.856 29.564 7203
+-109.73 29.564 7163
+-109.604 29.564 7097
+-109.478 29.564 7028
+-109.352 29.564 6998
+-109.226 29.564 6923
+-109.1 29.564 6843
+-108.974 29.564 6793
+-108.848 29.564 6688
+-108.722 29.564 6603
+-108.596 29.564 6508
+-108.47 29.564 6456
+-108.344 29.564 6332
+-108.218 29.564 6255
+-108.092 29.564 6128
+-107.966 29.564 6010
+-107.84 29.564 5919
+-107.714 29.564 5815
+-107.588 29.564 5720
+-107.462 29.564 5638
+-107.336 29.564 5541
+-107.21 29.564 5442
+-107.084 29.564 5300
+-106.958 29.564 5138
+-106.832 29.564 5002
+-106.706 29.564 4896
+-106.58 29.564 4844
+-106.454 29.564 4758
+-106.328 29.564 4662
+-106.202 29.564 4487
+-106.076 29.564 4367
+-105.95 29.564 4393
+-105.824 29.564 4359
+-105.698 29.564 4302
+-105.572 29.564 4206
+-105.446 29.564 4059
+-105.32 29.564 3950
+-105.194 29.564 3852
+-105.068 29.564 3753
+-104.942 29.564 3681
+-104.816 29.564 3585
+-104.69 29.564 3562
+-104.564 29.564 3565
+-104.438 29.564 3531
+-104.312 29.564 3511
+-104.186 29.564 3455
+-104.06 29.564 3407
+-103.934 29.564 3339
+-103.808 29.564 3279
+-103.682 29.564 3244
+-103.556 29.564 3208
+-103.43 29.564 3121
+-103.304 29.564 3090
+-103.178 29.564 3058
+-103.052 29.564 2990
+-102.926 29.564 2983
+-102.8 29.564 2983
+-102.674 29.564 2981
+-102.548 29.564 2990
+-102.422 29.564 3001
+-102.296 29.564 2967
+-102.17 29.564 2961
+-102.044 29.564 2974
+-101.918 29.564 2986
+-101.792 29.564 2998
+-101.666 29.564 2977
+-101.54 29.564 2987
+-101.414 29.564 2997
+-101.288 29.564 3006
+-101.162 29.564 3014
+-101.036 29.564 2916
+-100.91 29.564 2925
+-100.784 29.564 2933
+-100.658 29.564 2940
+-100.532 29.564 2947
+-100.406 29.564 2954
+-100.28 29.564 2842
+-100.154 29.564 2842
+-100.028 29.564 2841
+-99.902 29.564 2839
+-99.776 29.564 2836
+-99.65 29.564 2833
+-99.524 29.564 2829
+-99.398 29.564 2825
+-99.272 29.564 2820
+-99.146 29.564 2814
+-99.02 29.564 2808
+-98.894 29.564 2801
+-98.768 29.564 2673
+-98.642 29.564 2665
+-98.516 29.564 2656
+-98.39 29.564 2605
+-98.264 29.564 2593
+-98.138 29.564 2520
+-98.012 29.564 2514
+-97.886 29.564 2495
+-97.76 29.564 2417
+-97.634 29.564 2408
+-97.508 29.564 2397
+-97.382 29.564 2389
+-97.256 29.564 2355
+-97.13 29.564 2310
+-97.004 29.564 2324
+-96.878 29.564 2338
+-96.752 29.564 2296
+-96.626 29.564 2299
+-96.5 29.564 2302
+-96.374 29.564 2381
+-96.248 29.564 2435
+-96.122 29.564 2372
+-95.996 29.564 2464
+-95.87 29.564 2419
+-95.744 29.564 2423
+-95.618 29.564 2378
+-95.492 29.564 2433
+-95.366 29.564 2437
+-95.24 29.564 2367
+-95.114 29.564 2356
+-94.988 29.564 2362
+-94.862 29.564 2368
+-94.736 29.564 2374
+-94.61 29.564 2381
+-94.484 29.564 2388
+-94.358 29.564 2395
+-94.232 29.564 2402
+-94.106 29.564 2395
+-93.98 29.564 2426
+-93.854 29.564 2451
+-93.728 29.564 2445
+-93.602 29.564 2437
+-93.476 29.564 2463
+-93.35 29.564 2463
+-93.224 29.564 2608
+-93.098 29.564 2618
+-92.972 29.564 2628
+-92.846 29.564 2664
+-92.72 29.564 2674
+-92.594 29.564 2683
+-92.468 29.564 2692
+-92.342 29.564 2701
+-92.216 29.564 2710
+-92.09 29.564 2718
+-91.964 29.564 2727
+-91.838 29.564 2935
+-91.712 29.564 2937
+-91.586 29.564 2940
+-91.46 29.564 2944
+-91.334 29.564 3019
+-91.208 29.564 3020
+-91.082 29.564 3041
+-90.956 29.564 3131
+-90.83 29.564 3132
+-90.704 29.564 3190
+-90.578 29.564 3190
+-90.452 29.564 3190
+-90.326 29.564 3234
+-90.2 29.564 3231
+-90.074 29.564 3248
+-89.948 29.564 3312
+-89.822 29.564 3292
+-89.696 29.564 3315
+-89.57 29.564 3303
+-89.444 29.564 3295
+-89.318 29.564 3313
+-89.192 29.564 3291
+-89.066 29.564 3265
+-88.94 29.564 3266
+-88.814 29.564 3228
+-88.688 29.564 3178
+-88.562 29.564 3125
+-88.436 29.564 3064
+-88.31 29.564 3071
+-88.184 29.564 3203
+-88.058 29.564 3381
+-87.932 29.564 3562
+-87.806 29.564 3703
+-87.68 29.564 3792
+-87.554 29.564 3859
+-87.428 29.564 3844
+-87.302 29.564 3789
+-87.176 29.564 3889
+-87.05 29.564 4041
+-86.924 29.564 4232
+-86.798 29.564 4433
+-86.672 29.564 4616
+-86.546 29.564 4776
+-86.42 29.564 4911
+-86.294 29.564 4880
+-86.168 29.564 5047
+-86.042 29.564 5175
+-85.916 29.564 5251
+-85.79 29.564 5378
+-85.664 29.564 5492
+-85.538 29.564 5656
+-85.412 29.564 5829
+-85.286 29.564 5829
+-85.16 29.564 6035
+-85.034 29.564 6092
+-84.908 29.564 6254
+-84.782 29.564 6353
+-84.656 29.564 6482
+-84.53 29.564 6577
+-84.404 29.564 6678
+-84.278 29.564 6837
+-84.152 29.564 6924
+-84.026 29.564 7039
+-83.9 29.564 7094
+-83.774 29.564 7188
+-83.648 29.564 7289
+-83.522 29.564 7399
+-83.396 29.564 7518
+-83.27 29.564 7545
+-83.144 29.564 7610
+-83.018 29.564 7691
+-82.892 29.564 7769
+-82.766 29.564 7788
+-82.64 29.564 7817
+-82.514 29.564 7852
+-82.388 29.564 7881
+-82.262 29.564 7889
+-82.136 29.564 7876
+-82.01 29.564 7860
+-81.884 29.564 7828
+-81.758 29.564 7827
+-81.632 29.564 7799
+-81.506 29.564 7747
+-81.38 29.564 7682
+-81.254 29.564 7665
+-81.128 29.564 7544
+-81.002 29.564 7494
+-80.876 29.564 7402
+-80.75 29.564 7295
+-80.624 29.564 7220
+-80.498 29.564 7078
+-80.372 29.564 6993
+-80.246 29.564 6882
+-80.12 29.564 6823
+-79.994 29.564 6696
+-79.868 29.564 6554
+-79.742 29.564 6526
+-79.616 29.564 6345
+-79.49 29.564 6187
+-79.364 29.564 6114
+-79.238 29.564 6040
+-79.112 29.564 5860
+-78.986 29.564 5677
+-78.86 29.564 5589
+-78.734 29.564 5531
+-78.608 29.564 5338
+-78.482 29.564 5192
+-78.356 29.564 5037
+-78.23 29.564 4967
+-78.104 29.564 4848
+-77.978 29.564 4820
+-77.852 29.564 4700
+-77.726 29.564 4449
+-77.6 29.564 4325
+-77.474 29.564 4327
+-77.348 29.564 4197
+-77.222 29.564 4025
+-77.096 29.564 3812
+-76.97 29.564 3668
+-76.844 29.564 3739
+-76.718 29.564 3737
+-76.592 29.564 3594
+-76.466 29.564 3318
+-76.34 29.564 3170
+-76.214 29.564 3229
+-76.088 29.564 3352
+-75.962 29.564 3439
+-75.836 29.564 3505
+-75.71 29.564 3528
+-75.584 29.564 3542
+-75.458 29.564 3535
+-75.332 29.564 3546
+-75.206 29.564 3543
+-75.08 29.564 3529
+-74.954 29.564 3534
+-74.828 29.564 3539
+-74.702 29.564 3543
+-74.576 29.564 3547
+-74.45 29.564 3550
+-74.324 29.564 3554
+-74.198 29.564 3557
+-74.072 29.564 3560
+-73.946 29.564 3563
+-73.82 29.564 3492
+-73.694 29.564 3492
+-73.568 29.564 3493
+-73.442 29.564 3494
+-73.316 29.564 3495
+-73.19 29.564 3377
+-73.064 29.564 3377
+-72.938 29.564 3377
+-72.812 29.564 3377
+-72.686 29.564 3376
+-72.56 29.564 3334
+-72.434 29.564 3332
+-72.308 29.564 3331
+-72.182 29.564 3286
+-72.056 29.564 3273
+-71.93 29.564 3272
+-71.804 29.564 3271
+-71.678 29.564 3213
+-71.552 29.564 3212
+-71.426 29.564 3188
+-71.3 29.564 3168
+-71.174 29.564 3168
+-71.048 29.564 3167
+-70.922 29.564 3166
+-70.796 29.564 3165
+-70.67 29.564 3165
+-70.544 29.564 3164
+-70.418 29.564 3163
+-70.292 29.564 3163
+-70.166 29.564 3162
+-70.04 29.564 3162
+-69.914 29.564 3066
+-69.788 29.564 3066
+-69.662 29.564 3066
+-69.536 29.564 3066
+-69.41 29.564 3066
+-69.284 29.564 3066
+-69.158 29.564 3066
+-69.032 29.564 3066
+-68.906 29.564 3066
+-68.78 29.564 3066
+-68.654 29.564 3066
+-68.528 29.564 3066
+-68.402 29.564 3066
+-68.276 29.564 3066
+-68.15 29.564 3066
+-68.024 29.564 3066
+-67.898 29.564 3066
+-67.772 29.564 3066
+-67.646 29.564 3066
+-67.52 29.564 3066
+-67.394 29.564 3066
+-67.268 29.564 3066
+-67.142 29.564 3066
+-67.016 29.564 3066
+-66.89 29.564 3066
+-66.764 29.564 3066
+-66.638 29.564 3066
+-66.512 29.564 3066
+-66.386 29.564 3066
+-66.26 29.564 3067
+-66.134 29.564 3067
+-66.008 29.564 3067
+-65.882 29.564 3067
+-65.756 29.564 3067
+-65.63 29.564 3067
+-65.504 29.564 3067
+-65.378 29.564 3067
+-65.252 29.564 3067
+-65.126 29.564 3067
+-128 29.512 2286
+-127.874 29.512 2255
+-127.748 29.512 2221
+-127.622 29.512 2184
+-127.496 29.512 2186
+-127.37 29.512 2146
+-127.244 29.512 2102
+-127.118 29.512 2061
+-126.992 29.512 2029
+-126.866 29.512 1971
+-126.74 29.512 1929
+-126.614 29.512 1854
+-126.488 29.512 1769
+-126.362 29.512 1712
+-126.236 29.512 1616
+-126.11 29.512 1487
+-125.984 29.512 1344
+-125.858 29.512 1177
+-125.732 29.512 988
+-125.606 29.512 784
+-125.48 29.512 571
+-125.354 29.512 351
+-125.228 29.512 177
+-125.102 29.512 110
+-124.976 29.512 216
+-124.85 29.512 489
+-124.724 29.512 817
+-124.598 29.512 1046
+-124.472 29.512 1106
+-124.346 29.512 1053
+-124.22 29.512 1015
+-124.094 29.512 1105
+-123.968 29.512 1339
+-123.842 29.512 1655
+-123.716 29.512 1978
+-123.59 29.512 2258
+-123.464 29.512 2482
+-123.338 29.512 2676
+-123.212 29.512 2796
+-123.086 29.512 2873
+-122.96 29.512 2988
+-122.834 29.512 2992
+-122.708 29.512 2960
+-122.582 29.512 2875
+-122.456 29.512 2842
+-122.33 29.512 2941
+-122.204 29.512 3094
+-122.078 29.512 3189
+-121.952 29.512 3262
+-121.826 29.512 3360
+-121.7 29.512 3501
+-121.574 29.512 3593
+-121.448 29.512 3627
+-121.322 29.512 3700
+-121.196 29.512 3831
+-121.07 29.512 4006
+-120.944 29.512 4124
+-120.818 29.512 4170
+-120.692 29.512 4260
+-120.566 29.512 4410
+-120.44 29.512 4591
+-120.314 29.512 4695
+-120.188 29.512 4713
+-120.062 29.512 4824
+-119.936 29.512 4939
+-119.81 29.512 4940
+-119.684 29.512 5053
+-119.558 29.512 5134
+-119.432 29.512 5201
+-119.306 29.512 5291
+-119.18 29.512 5375
+-119.054 29.512 5363
+-118.928 29.512 5464
+-118.802 29.512 5531
+-118.676 29.512 5563
+-118.55 29.512 5630
+-118.424 29.512 5679
+-118.298 29.512 5753
+-118.172 29.512 5821
+-118.046 29.512 5861
+-117.92 29.512 5909
+-117.794 29.512 5941
+-117.668 29.512 5955
+-117.542 29.512 5974
+-117.416 29.512 6013
+-117.29 29.512 6019
+-117.164 29.512 6024
+-117.038 29.512 5998
+-116.912 29.512 5989
+-116.786 29.512 5980
+-116.66 29.512 5989
+-116.534 29.512 5985
+-116.408 29.512 5968
+-116.282 29.512 5965
+-116.156 29.512 5923
+-116.03 29.512 5875
+-115.904 29.512 5799
+-115.778 29.512 5788
+-115.652 29.512 5741
+-115.526 29.512 5650
+-115.4 29.512 5593
+-115.274 29.512 5564
+-115.148 29.512 5505
+-115.022 29.512 5454
+-114.896 29.512 5341
+-114.77 29.512 5257
+-114.644 29.512 5172
+-114.518 29.512 5069
+-114.392 29.512 4975
+-114.266 29.512 4931
+-114.14 29.512 4828
+-114.014 29.512 4966
+-113.888 29.512 5050
+-113.762 29.512 5201
+-113.636 29.512 5271
+-113.51 29.512 5415
+-113.384 29.512 5534
+-113.258 29.512 5651
+-113.132 29.512 5772
+-113.006 29.512 5889
+-112.88 29.512 6000
+-112.754 29.512 6104
+-112.628 29.512 6211
+-112.502 29.512 6276
+-112.376 29.512 6355
+-112.25 29.512 6421
+-112.124 29.512 6534
+-111.998 29.512 6629
+-111.872 29.512 6731
+-111.746 29.512 6780
+-111.62 29.512 6840
+-111.494 29.512 6897
+-111.368 29.512 6970
+-111.242 29.512 7004
+-111.116 29.512 7068
+-110.99 29.512 7116
+-110.864 29.512 7143
+-110.738 29.512 7159
+-110.612 29.512 7178
+-110.486 29.512 7201
+-110.36 29.512 7211
+-110.234 29.512 7193
+-110.108 29.512 7170
+-109.982 29.512 7165
+-109.856 29.512 7131
+-109.73 29.512 7085
+-109.604 29.512 7056
+-109.478 29.512 7007
+-109.352 29.512 6938
+-109.226 29.512 6868
+-109.1 29.512 6783
+-108.974 29.512 6716
+-108.848 29.512 6655
+-108.722 29.512 6557
+-108.596 29.512 6474
+-108.47 29.512 6391
+-108.344 29.512 6283
+-108.218 29.512 6179
+-108.092 29.512 6096
+-107.966 29.512 5975
+-107.84 29.512 5872
+-107.714 29.512 5766
+-107.588 29.512 5656
+-107.462 29.512 5620
+-107.336 29.512 5541
+-107.21 29.512 5422
+-107.084 29.512 5264
+-106.958 29.512 5063
+-106.832 29.512 4932
+-106.706 29.512 4917
+-106.58 29.512 4853
+-106.454 29.512 4787
+-106.328 29.512 4687
+-106.202 29.512 4536
+-106.076 29.512 4428
+-105.95 29.512 4394
+-105.824 29.512 4299
+-105.698 29.512 4257
+-105.572 29.512 4173
+-105.446 29.512 4072
+-105.32 29.512 3991
+-105.194 29.512 3888
+-105.068 29.512 3816
+-104.942 29.512 3746
+-104.816 29.512 3648
+-104.69 29.512 3614
+-104.564 29.512 3578
+-104.438 29.512 3527
+-104.312 29.512 3519
+-104.186 29.512 3467
+-104.06 29.512 3409
+-103.934 29.512 3328
+-103.808 29.512 3280
+-103.682 29.512 3230
+-103.556 29.512 3194
+-103.43 29.512 3167
+-103.304 29.512 3143
+-103.178 29.512 3111
+-103.052 29.512 3081
+-102.926 29.512 3031
+-102.8 29.512 3029
+-102.674 29.512 3030
+-102.548 29.512 3010
+-102.422 29.512 3017
+-102.296 29.512 3025
+-102.17 29.512 2987
+-102.044 29.512 2995
+-101.918 29.512 3005
+-101.792 29.512 3015
+-101.666 29.512 3024
+-101.54 29.512 2979
+-101.414 29.512 2986
+-101.288 29.512 2993
+-101.162 29.512 2914
+-101.036 29.512 2922
+-100.91 29.512 2930
+-100.784 29.512 2937
+-100.658 29.512 2944
+-100.532 29.512 2950
+-100.406 29.512 2957
+-100.28 29.512 2846
+-100.154 29.512 2845
+-100.028 29.512 2844
+-99.902 29.512 2842
+-99.776 29.512 2839
+-99.65 29.512 2836
+-99.524 29.512 2832
+-99.398 29.512 2828
+-99.272 29.512 2823
+-99.146 29.512 2818
+-99.02 29.512 2812
+-98.894 29.512 2805
+-98.768 29.512 2677
+-98.642 29.512 2669
+-98.516 29.512 2661
+-98.39 29.512 2609
+-98.264 29.512 2546
+-98.138 29.512 2536
+-98.012 29.512 2515
+-97.886 29.512 2509
+-97.76 29.512 2472
+-97.634 29.512 2416
+-97.508 29.512 2405
+-97.382 29.512 2398
+-97.256 29.512 2363
+-97.13 29.512 2318
+-97.004 29.512 2332
+-96.878 29.512 2346
+-96.752 29.512 2304
+-96.626 29.512 2307
+-96.5 29.512 2310
+-96.374 29.512 2391
+-96.248 29.512 2376
+-96.122 29.512 2381
+-95.996 29.512 2344
+-95.87 29.512 2429
+-95.744 29.512 2383
+-95.618 29.512 2439
+-95.492 29.512 2443
+-95.366 29.512 2372
+-95.24 29.512 2359
+-95.114 29.512 2365
+-94.988 29.512 2371
+-94.862 29.512 2377
+-94.736 29.512 2383
+-94.61 29.512 2389
+-94.484 29.512 2395
+-94.358 29.512 2402
+-94.232 29.512 2396
+-94.106 29.512 2413
+-93.98 29.512 2453
+-93.854 29.512 2446
+-93.728 29.512 2433
+-93.602 29.512 2433
+-93.476 29.512 2459
+-93.35 29.512 2611
+-93.224 29.512 2621
+-93.098 29.512 2631
+-92.972 29.512 2641
+-92.846 29.512 2651
+-92.72 29.512 2687
+-92.594 29.512 2696
+-92.468 29.512 2705
+-92.342 29.512 2714
+-92.216 29.512 2742
+-92.09 29.512 2732
+-91.964 29.512 2944
+-91.838 29.512 2947
+-91.712 29.512 2950
+-91.586 29.512 2953
+-91.46 29.512 3031
+-91.334 29.512 3032
+-91.208 29.512 3053
+-91.082 29.512 3085
+-90.956 29.512 3202
+-90.83 29.512 3203
+-90.704 29.512 3203
+-90.578 29.512 3203
+-90.452 29.512 3247
+-90.326 29.512 3304
+-90.2 29.512 3298
+-90.074 29.512 3292
+-89.948 29.512 3322
+-89.822 29.512 3314
+-89.696 29.512 3364
+-89.57 29.512 3350
+-89.444 29.512 3344
+-89.318 29.512 3325
+-89.192 29.512 3302
+-89.066 29.512 3273
+-88.94 29.512 3235
+-88.814 29.512 3212
+-88.688 29.512 3137
+-88.562 29.512 3040
+-88.436 29.512 2928
+-88.31 29.512 2868
+-88.184 29.512 2999
+-88.058 29.512 3278
+-87.932 29.512 3532
+-87.806 29.512 3713
+-87.68 29.512 3810
+-87.554 29.512 3854
+-87.428 29.512 3870
+-87.302 29.512 3878
+-87.176 29.512 3948
+-87.05 29.512 4044
+-86.924 29.512 4246
+-86.798 29.512 4453
+-86.672 29.512 4636
+-86.546 29.512 4825
+-86.42 29.512 4922
+-86.294 29.512 4977
+-86.168 29.512 5101
+-86.042 29.512 5185
+-85.916 29.512 5319
+-85.79 29.512 5430
+-85.664 29.512 5525
+-85.538 29.512 5710
+-85.412 29.512 5860
+-85.286 29.512 5969
+-85.16 29.512 6042
+-85.034 29.512 6151
+-84.908 29.512 6285
+-84.782 29.512 6384
+-84.656 29.512 6506
+-84.53 29.512 6644
+-84.404 29.512 6740
+-84.278 29.512 6865
+-84.152 29.512 6954
+-84.026 29.512 7047
+-83.9 29.512 7147
+-83.774 29.512 7282
+-83.648 29.512 7316
+-83.522 29.512 7429
+-83.396 29.512 7516
+-83.27 29.512 7604
+-83.144 29.512 7685
+-83.018 29.512 7708
+-82.892 29.512 7817
+-82.766 29.512 7826
+-82.64 29.512 7882
+-82.514 29.512 7931
+-82.388 29.512 7925
+-82.262 29.512 7918
+-82.136 29.512 7959
+-82.01 29.512 7923
+-81.884 29.512 7904
+-81.758 29.512 7870
+-81.632 29.512 7833
+-81.506 29.512 7833
+-81.38 29.512 7757
+-81.254 29.512 7664
+-81.128 29.512 7590
+-81.002 29.512 7533
+-80.876 29.512 7470
+-80.75 29.512 7376
+-80.624 29.512 7244
+-80.498 29.512 7106
+-80.372 29.512 7040
+-80.246 29.512 6969
+-80.12 29.512 6866
+-79.994 29.512 6736
+-79.868 29.512 6612
+-79.742 29.512 6564
+-79.616 29.512 6418
+-79.49 29.512 6258
+-79.364 29.512 6175
+-79.238 29.512 6090
+-79.112 29.512 5903
+-78.986 29.512 5716
+-78.86 29.512 5640
+-78.734 29.512 5544
+-78.608 29.512 5331
+-78.482 29.512 5244
+-78.356 29.512 5130
+-78.23 29.512 5014
+-78.104 29.512 4914
+-77.978 29.512 4844
+-77.852 29.512 4723
+-77.726 29.512 4506
+-77.6 29.512 4375
+-77.474 29.512 4302
+-77.348 29.512 4206
+-77.222 29.512 4032
+-77.096 29.512 3831
+-76.97 29.512 3729
+-76.844 29.512 3735
+-76.718 29.512 3712
+-76.592 29.512 3550
+-76.466 29.512 3215
+-76.34 29.512 3023
+-76.214 29.512 3146
+-76.088 29.512 3328
+-75.962 29.512 3444
+-75.836 29.512 3480
+-75.71 29.512 3507
+-75.584 29.512 3522
+-75.458 29.512 3539
+-75.332 29.512 3529
+-75.206 29.512 3518
+-75.08 29.512 3525
+-74.954 29.512 3531
+-74.828 29.512 3536
+-74.702 29.512 3540
+-74.576 29.512 3545
+-74.45 29.512 3549
+-74.324 29.512 3552
+-74.198 29.512 3556
+-74.072 29.512 3559
+-73.946 29.512 3562
+-73.82 29.512 3565
+-73.694 29.512 3568
+-73.568 29.512 3570
+-73.442 29.512 3573
+-73.316 29.512 3383
+-73.19 29.512 3382
+-73.064 29.512 3382
+-72.938 29.512 3382
+-72.812 29.512 3381
+-72.686 29.512 3338
+-72.56 29.512 3337
+-72.434 29.512 3336
+-72.308 29.512 3291
+-72.182 29.512 3278
+-72.056 29.512 3277
+-71.93 29.512 3275
+-71.804 29.512 3217
+-71.678 29.512 3216
+-71.552 29.512 3192
+-71.426 29.512 3172
+-71.3 29.512 3171
+-71.174 29.512 3170
+-71.048 29.512 3169
+-70.922 29.512 3168
+-70.796 29.512 3168
+-70.67 29.512 3167
+-70.544 29.512 3166
+-70.418 29.512 3165
+-70.292 29.512 3165
+-70.166 29.512 3164
+-70.04 29.512 3068
+-69.914 29.512 3068
+-69.788 29.512 3068
+-69.662 29.512 3068
+-69.536 29.512 3068
+-69.41 29.512 3068
+-69.284 29.512 3067
+-69.158 29.512 3067
+-69.032 29.512 3067
+-68.906 29.512 3067
+-68.78 29.512 3067
+-68.654 29.512 3067
+-68.528 29.512 3067
+-68.402 29.512 3067
+-68.276 29.512 3067
+-68.15 29.512 3067
+-68.024 29.512 3067
+-67.898 29.512 3067
+-67.772 29.512 3067
+-67.646 29.512 3067
+-67.52 29.512 3067
+-67.394 29.512 3067
+-67.268 29.512 3067
+-67.142 29.512 3067
+-67.016 29.512 3067
+-66.89 29.512 3067
+-66.764 29.512 3067
+-66.638 29.512 3067
+-66.512 29.512 3067
+-66.386 29.512 3067
+-66.26 29.512 3067
+-66.134 29.512 3068
+-66.008 29.512 3068
+-65.882 29.512 3068
+-65.756 29.512 3068
+-65.63 29.512 3068
+-65.504 29.512 3068
+-65.378 29.512 3068
+-65.252 29.512 3068
+-65.126 29.512 3068
+-128 29.46 2279
+-127.874 29.46 2247
+-127.748 29.46 2213
+-127.622 29.46 2216
+-127.496 29.46 2180
+-127.37 29.46 2140
+-127.244 29.46 2104
+-127.118 29.46 2078
+-126.992 29.46 2026
+-126.866 29.46 1994
+-126.74 29.46 1928
+-126.614 29.46 1854
+-126.488 29.46 1812
+-126.362 29.46 1734
+-126.236 29.46 1625
+-126.11 29.46 1507
+-125.984 29.46 1368
+-125.858 29.46 1213
+-125.732 29.46 1047
+-125.606 29.46 873
+-125.48 29.46 679
+-125.354 29.46 499
+-125.228 29.46 367
+-125.102 29.46 338
+-124.976 29.46 438
+-124.85 29.46 659
+-124.724 29.46 918
+-124.598 29.46 1108
+-124.472 29.46 1182
+-124.346 29.46 1179
+-124.22 29.46 1189
+-124.094 29.46 1285
+-123.968 29.46 1489
+-123.842 29.46 1759
+-123.716 29.46 2040
+-123.59 29.46 2291
+-123.464 29.46 2497
+-123.338 29.46 2663
+-123.212 29.46 2794
+-123.086 29.46 2868
+-122.96 29.46 2943
+-122.834 29.46 3024
+-122.708 29.46 2997
+-122.582 29.46 2976
+-122.456 29.46 2968
+-122.33 29.46 3038
+-122.204 29.46 3097
+-122.078 29.46 3118
+-121.952 29.46 3116
+-121.826 29.46 3227
+-121.7 29.46 3404
+-121.574 29.46 3549
+-121.448 29.46 3642
+-121.322 29.46 3720
+-121.196 29.46 3817
+-121.07 29.46 3948
+-120.944 29.46 4095
+-120.818 29.46 4154
+-120.692 29.46 4277
+-120.566 29.46 4425
+-120.44 29.46 4590
+-120.314 29.46 4669
+-120.188 29.46 4621
+-120.062 29.46 4728
+-119.936 29.46 4879
+-119.81 29.46 4980
+-119.684 29.46 5057
+-119.558 29.46 5059
+-119.432 29.46 5148
+-119.306 29.46 5247
+-119.18 29.46 5345
+-119.054 29.46 5382
+-118.928 29.46 5445
+-118.802 29.46 5518
+-118.676 29.46 5518
+-118.55 29.46 5582
+-118.424 29.46 5660
+-118.298 29.46 5769
+-118.172 29.46 5776
+-118.046 29.46 5809
+-117.92 29.46 5815
+-117.794 29.46 5894
+-117.668 29.46 5933
+-117.542 29.46 5930
+-117.416 29.46 5955
+-117.29 29.46 5970
+-117.164 29.46 5956
+-117.038 29.46 5947
+-116.912 29.46 5963
+-116.786 29.46 5960
+-116.66 29.46 5946
+-116.534 29.46 5938
+-116.408 29.46 5923
+-116.282 29.46 5908
+-116.156 29.46 5867
+-116.03 29.46 5809
+-115.904 29.46 5764
+-115.778 29.46 5738
+-115.652 29.46 5698
+-115.526 29.46 5627
+-115.4 29.46 5567
+-115.274 29.46 5507
+-115.148 29.46 5434
+-115.022 29.46 5362
+-114.896 29.46 5302
+-114.77 29.46 5205
+-114.644 29.46 5114
+-114.518 29.46 5024
+-114.392 29.46 4949
+-114.266 29.46 4919
+-114.14 29.46 4902
+-114.014 29.46 4944
+-113.888 29.46 5033
+-113.762 29.46 5151
+-113.636 29.46 5319
+-113.51 29.46 5349
+-113.384 29.46 5495
+-113.258 29.46 5626
+-113.132 29.46 5723
+-113.006 29.46 5834
+-112.88 29.46 5947
+-112.754 29.46 5988
+-112.628 29.46 6120
+-112.502 29.46 6209
+-112.376 29.46 6282
+-112.25 29.46 6390
+-112.124 29.46 6483
+-111.998 29.46 6562
+-111.872 29.46 6675
+-111.746 29.46 6723
+-111.62 29.46 6808
+-111.494 29.46 6887
+-111.368 29.46 6883
+-111.242 29.46 6931
+-111.116 29.46 6978
+-110.99 29.46 7042
+-110.864 29.46 7070
+-110.738 29.46 7099
+-110.612 29.46 7152
+-110.486 29.46 7111
+-110.36 29.46 7116
+-110.234 29.46 7111
+-110.108 29.46 7109
+-109.982 29.46 7106
+-109.856 29.46 7081
+-109.73 29.46 7016
+-109.604 29.46 6989
+-109.478 29.46 6915
+-109.352 29.46 6877
+-109.226 29.46 6809
+-109.1 29.46 6725
+-108.974 29.46 6702
+-108.848 29.46 6604
+-108.722 29.46 6509
+-108.596 29.46 6428
+-108.47 29.46 6311
+-108.344 29.46 6311
+-108.218 29.46 6175
+-108.092 29.46 6029
+-107.966 29.46 5933
+-107.84 29.46 5865
+-107.714 29.46 5785
+-107.588 29.46 5653
+-107.462 29.46 5520
+-107.336 29.46 5492
+-107.21 29.46 5387
+-107.084 29.46 5231
+-106.958 29.46 5079
+-106.832 29.46 4977
+-106.706 29.46 4899
+-106.58 29.46 4831
+-106.454 29.46 4780
+-106.328 29.46 4689
+-106.202 29.46 4576
+-106.076 29.46 4444
+-105.95 29.46 4297
+-105.824 29.46 4159
+-105.698 29.46 4152
+-105.572 29.46 4136
+-105.446 29.46 4062
+-105.32 29.46 4001
+-105.194 29.46 3935
+-105.068 29.46 3844
+-104.942 29.46 3769
+-104.816 29.46 3672
+-104.69 29.46 3597
+-104.564 29.46 3568
+-104.438 29.46 3519
+-104.312 29.46 3467
+-104.186 29.46 3400
+-104.06 29.46 3389
+-103.934 29.46 3352
+-103.808 29.46 3311
+-103.682 29.46 3235
+-103.556 29.46 3220
+-103.43 29.46 3200
+-103.304 29.46 3181
+-103.178 29.46 3165
+-103.052 29.46 3138
+-102.926 29.46 3096
+-102.8 29.46 3066
+-102.674 29.46 3065
+-102.548 29.46 3067
+-102.422 29.46 3046
+-102.296 29.46 3052
+-102.17 29.46 3058
+-102.044 29.46 3017
+-101.918 29.46 3022
+-101.792 29.46 3030
+-101.666 29.46 3038
+-101.54 29.46 3046
+-101.414 29.46 2998
+-101.288 29.46 3004
+-101.162 29.46 3010
+-101.036 29.46 2927
+-100.91 29.46 2934
+-100.784 29.46 2941
+-100.658 29.46 2947
+-100.532 29.46 2954
+-100.406 29.46 2959
+-100.28 29.46 2849
+-100.154 29.46 2848
+-100.028 29.46 2847
+-99.902 29.46 2845
+-99.776 29.46 2842
+-99.65 29.46 2839
+-99.524 29.46 2836
+-99.398 29.46 2832
+-99.272 29.46 2827
+-99.146 29.46 2822
+-99.02 29.46 2816
+-98.894 29.46 2810
+-98.768 29.46 2680
+-98.642 29.46 2673
+-98.516 29.46 2665
+-98.39 29.46 2614
+-98.264 29.46 2552
+-98.138 29.46 2542
+-98.012 29.46 2531
+-97.886 29.46 2569
+-97.76 29.46 2480
+-97.634 29.46 2428
+-97.508 29.46 2415
+-97.382 29.46 2413
+-97.256 29.46 2341
+-97.13 29.46 2325
+-97.004 29.46 2340
+-96.878 29.46 2354
+-96.752 29.46 2312
+-96.626 29.46 2314
+-96.5 29.46 2302
+-96.374 29.46 2248
+-96.248 29.46 2385
+-96.122 29.46 2348
+-95.996 29.46 2352
+-95.87 29.46 2302
+-95.744 29.46 2445
+-95.618 29.46 2448
+-95.492 29.46 2376
+-95.366 29.46 2363
+-95.24 29.46 2368
+-95.114 29.46 2373
+-94.988 29.46 2379
+-94.862 29.46 2385
+-94.736 29.46 2390
+-94.61 29.46 2396
+-94.484 29.46 2402
+-94.358 29.46 2397
+-94.232 29.46 2415
+-94.106 29.46 2455
+-93.98 29.46 2448
+-93.854 29.46 2435
+-93.728 29.46 2435
+-93.602 29.46 2460
+-93.476 29.46 2614
+-93.35 29.46 2624
+-93.224 29.46 2633
+-93.098 29.46 2643
+-92.972 29.46 2653
+-92.846 29.46 2663
+-92.72 29.46 2672
+-92.594 29.46 2726
+-92.468 29.46 2738
+-92.342 29.46 2747
+-92.216 29.46 2756
+-92.09 29.46 2953
+-91.964 29.46 2955
+-91.838 29.46 2959
+-91.712 29.46 2962
+-91.586 29.46 3042
+-91.46 29.46 3044
+-91.334 29.46 3099
+-91.208 29.46 3099
+-91.082 29.46 3213
+-90.956 29.46 3214
+-90.83 29.46 3215
+-90.704 29.46 3215
+-90.578 29.46 3285
+-90.452 29.46 3318
+-90.326 29.46 3313
+-90.2 29.46 3308
+-90.074 29.46 3388
+-89.948 29.46 3379
+-89.822 29.46 3369
+-89.696 29.46 3358
+-89.57 29.46 3363
+-89.444 29.46 3347
+-89.318 29.46 3339
+-89.192 29.46 3315
+-89.066 29.46 3284
+-88.94 29.46 3243
+-88.814 29.46 3233
+-88.688 29.46 3158
+-88.562 29.46 3025
+-88.436 29.46 2843
+-88.31 29.46 2741
+-88.184 29.46 2889
+-88.058 29.46 3227
+-87.932 29.46 3536
+-87.806 29.46 3727
+-87.68 29.46 3810
+-87.554 29.46 3826
+-87.428 29.46 3838
+-87.302 29.46 3910
+-87.176 29.46 3939
+-87.05 29.46 4040
+-86.924 29.46 4255
+-86.798 29.46 4477
+-86.672 29.46 4688
+-86.546 29.46 4820
+-86.42 29.46 4874
+-86.294 29.46 5009
+-86.168 29.46 5141
+-86.042 29.46 5122
+-85.916 29.46 5308
+-85.79 29.46 5453
+-85.664 29.46 5592
+-85.538 29.46 5741
+-85.412 29.46 5823
+-85.286 29.46 5982
+-85.16 29.46 6089
+-85.034 29.46 6206
+-84.908 29.46 6310
+-84.782 29.46 6414
+-84.656 29.46 6543
+-84.53 29.46 6666
+-84.404 29.46 6793
+-84.278 29.46 6924
+-84.152 29.46 7011
+-84.026 29.46 7033
+-83.9 29.46 7230
+-83.774 29.46 7279
+-83.648 29.46 7378
+-83.522 29.46 7489
+-83.396 29.46 7561
+-83.27 29.46 7650
+-83.144 29.46 7735
+-83.018 29.46 7783
+-82.892 29.46 7843
+-82.766 29.46 7905
+-82.64 29.46 7907
+-82.514 29.46 7996
+-82.388 29.46 7991
+-82.262 29.46 8031
+-82.136 29.46 7987
+-82.01 29.46 8002
+-81.884 29.46 7971
+-81.758 29.46 7924
+-81.632 29.46 7898
+-81.506 29.46 7851
+-81.38 29.46 7804
+-81.254 29.46 7722
+-81.128 29.46 7628
+-81.002 29.46 7567
+-80.876 29.46 7471
+-80.75 29.46 7426
+-80.624 29.46 7304
+-80.498 29.46 7178
+-80.372 29.46 7087
+-80.246 29.46 7022
+-80.12 29.46 6878
+-79.994 29.46 6803
+-79.868 29.46 6604
+-79.742 29.46 6576
+-79.616 29.46 6460
+-79.49 29.46 6307
+-79.364 29.46 6215
+-79.238 29.46 6140
+-79.112 29.46 5955
+-78.986 29.46 5787
+-78.86 29.46 5661
+-78.734 29.46 5539
+-78.608 29.46 5344
+-78.482 29.46 5273
+-78.356 29.46 5182
+-78.23 29.46 5066
+-78.104 29.46 4968
+-77.978 29.46 4879
+-77.852 29.46 4723
+-77.726 29.46 4576
+-77.6 29.46 4368
+-77.474 29.46 4229
+-77.348 29.46 4215
+-77.222 29.46 4053
+-77.096 29.46 3806
+-76.97 29.46 3634
+-76.844 29.46 3712
+-76.718 29.46 3721
+-76.592 29.46 3581
+-76.466 29.46 3327
+-76.34 29.46 3178
+-76.214 29.46 3243
+-76.088 29.46 3364
+-75.962 29.46 3457
+-75.836 29.46 3500
+-75.71 29.46 3523
+-75.584 29.46 3525
+-75.458 29.46 3535
+-75.332 29.46 3504
+-75.206 29.46 3513
+-75.08 29.46 3520
+-74.954 29.46 3527
+-74.828 29.46 3532
+-74.702 29.46 3537
+-74.576 29.46 3542
+-74.45 29.46 3546
+-74.324 29.46 3550
+-74.198 29.46 3554
+-74.072 29.46 3557
+-73.946 29.46 3561
+-73.82 29.46 3564
+-73.694 29.46 3567
+-73.568 29.46 3569
+-73.442 29.46 3572
+-73.316 29.46 3575
+-73.19 29.46 3387
+-73.064 29.46 3386
+-72.938 29.46 3386
+-72.812 29.46 3381
+-72.686 29.46 3380
+-72.56 29.46 3340
+-72.434 29.46 3296
+-72.308 29.46 3283
+-72.182 29.46 3281
+-72.056 29.46 3280
+-71.93 29.46 3222
+-71.804 29.46 3220
+-71.678 29.46 3196
+-71.552 29.46 3176
+-71.426 29.46 3174
+-71.3 29.46 3173
+-71.174 29.46 3172
+-71.048 29.46 3171
+-70.922 29.46 3170
+-70.796 29.46 3170
+-70.67 29.46 3169
+-70.544 29.46 3168
+-70.418 29.46 3167
+-70.292 29.46 3167
+-70.166 29.46 3071
+-70.04 29.46 3071
+-69.914 29.46 3070
+-69.788 29.46 3070
+-69.662 29.46 3070
+-69.536 29.46 3070
+-69.41 29.46 3069
+-69.284 29.46 3069
+-69.158 29.46 3069
+-69.032 29.46 3069
+-68.906 29.46 3069
+-68.78 29.46 3069
+-68.654 29.46 3069
+-68.528 29.46 3069
+-68.402 29.46 3068
+-68.276 29.46 3068
+-68.15 29.46 3068
+-68.024 29.46 3068
+-67.898 29.46 3068
+-67.772 29.46 3068
+-67.646 29.46 3068
+-67.52 29.46 3068
+-67.394 29.46 3068
+-67.268 29.46 3068
+-67.142 29.46 3068
+-67.016 29.46 3068
+-66.89 29.46 3068
+-66.764 29.46 3068
+-66.638 29.46 3068
+-66.512 29.46 3068
+-66.386 29.46 3068
+-66.26 29.46 3068
+-66.134 29.46 3068
+-66.008 29.46 3069
+-65.882 29.46 3069
+-65.756 29.46 3069
+-65.63 29.46 3069
+-65.504 29.46 3069
+-65.378 29.46 3069
+-65.252 29.46 3069
+-65.126 29.46 3069
+-128 29.408 2273
+-127.874 29.408 2241
+-127.748 29.408 2246
+-127.622 29.408 2213
+-127.496 29.408 2177
+-127.37 29.408 2146
+-127.244 29.408 2124
+-127.118 29.408 2078
+-126.992 29.408 2054
+-126.866 29.408 1996
+-126.74 29.408 1932
+-126.614 29.408 1904
+-126.488 29.408 1841
+-126.362 29.408 1751
+-126.236 29.408 1654
+-126.11 29.408 1540
+-125.984 29.408 1414
+-125.858 29.408 1283
+-125.732 29.408 1148
+-125.606 29.408 990
+-125.48 29.408 834
+-125.354 29.408 698
+-125.228 29.408 625
+-125.102 29.408 618
+-124.976 29.408 703
+-124.85 29.408 868
+-124.724 29.408 1058
+-124.598 29.408 1209
+-124.472 29.408 1295
+-124.346 29.408 1343
+-124.22 29.408 1392
+-124.094 29.408 1497
+-123.968 29.408 1672
+-123.842 29.408 1895
+-123.716 29.408 2128
+-123.59 29.408 2343
+-123.464 29.408 2534
+-123.338 29.408 2669
+-123.212 29.408 2804
+-123.086 29.408 2881
+-122.96 29.408 2957
+-122.834 29.408 3045
+-122.708 29.408 3049
+-122.582 29.408 3030
+-122.456 29.408 3017
+-122.33 29.408 3033
+-122.204 29.408 3048
+-122.078 29.408 3065
+-121.952 29.408 3030
+-121.826 29.408 3137
+-121.7 29.408 3347
+-121.574 29.408 3506
+-121.448 29.408 3610
+-121.322 29.408 3707
+-121.196 29.408 3788
+-121.07 29.408 3932
+-120.944 29.408 4049
+-120.818 29.408 4120
+-120.692 29.408 4270
+-120.566 29.408 4404
+-120.44 29.408 4561
+-120.314 29.408 4664
+-120.188 29.408 4678
+-120.062 29.408 4663
+-119.936 29.408 4798
+-119.81 29.408 4958
+-119.684 29.408 5051
+-119.558 29.408 5100
+-119.432 29.408 5103
+-119.306 29.408 5205
+-119.18 29.408 5316
+-119.054 29.408 5373
+-118.928 29.408 5428
+-118.802 29.408 5459
+-118.676 29.408 5485
+-118.55 29.408 5539
+-118.424 29.408 5597
+-118.298 29.408 5680
+-118.172 29.408 5733
+-118.046 29.408 5742
+-117.92 29.408 5803
+-117.794 29.408 5841
+-117.668 29.408 5883
+-117.542 29.408 5876
+-117.416 29.408 5881
+-117.29 29.408 5894
+-117.164 29.408 5890
+-117.038 29.408 5896
+-116.912 29.408 5940
+-116.786 29.408 5916
+-116.66 29.408 5906
+-116.534 29.408 5885
+-116.408 29.408 5870
+-116.282 29.408 5828
+-116.156 29.408 5806
+-116.03 29.408 5747
+-115.904 29.408 5718
+-115.778 29.408 5661
+-115.652 29.408 5651
+-115.526 29.408 5591
+-115.4 29.408 5512
+-115.274 29.408 5418
+-115.148 29.408 5389
+-115.022 29.408 5326
+-114.896 29.408 5232
+-114.77 29.408 5155
+-114.644 29.408 5074
+-114.518 29.408 5032
+-114.392 29.408 4956
+-114.266 29.408 4851
+-114.14 29.408 4888
+-114.014 29.408 4821
+-113.888 29.408 5037
+-113.762 29.408 5079
+-113.636 29.408 5190
+-113.51 29.408 5309
+-113.384 29.408 5475
+-113.258 29.408 5608
+-113.132 29.408 5699
+-113.006 29.408 5783
+-112.88 29.408 5834
+-112.754 29.408 5980
+-112.628 29.408 6076
+-112.502 29.408 6166
+-112.376 29.408 6247
+-112.25 29.408 6346
+-112.124 29.408 6456
+-111.998 29.408 6514
+-111.872 29.408 6610
+-111.746 29.408 6701
+-111.62 29.408 6769
+-111.494 29.408 6769
+-111.368 29.408 6830
+-111.242 29.408 6903
+-111.116 29.408 6951
+-110.99 29.408 6966
+-110.864 29.408 7041
+-110.738 29.408 7033
+-110.612 29.408 7059
+-110.486 29.408 7071
+-110.36 29.408 7053
+-110.234 29.408 7053
+-110.108 29.408 7074
+-109.982 29.408 7042
+-109.856 29.408 7015
+-109.73 29.408 6970
+-109.604 29.408 6906
+-109.478 29.408 6865
+-109.352 29.408 6822
+-109.226 29.408 6749
+-109.1 29.408 6688
+-108.974 29.408 6644
+-108.848 29.408 6584
+-108.722 29.408 6502
+-108.596 29.408 6398
+-108.47 29.408 6282
+-108.344 29.408 6187
+-108.218 29.408 6137
+-108.092 29.408 6011
+-107.966 29.408 5901
+-107.84 29.408 5830
+-107.714 29.408 5679
+-107.588 29.408 5650
+-107.462 29.408 5558
+-107.336 29.408 5356
+-107.21 29.408 5340
+-107.084 29.408 5240
+-106.958 29.408 5082
+-106.832 29.408 4941
+-106.706 29.408 4841
+-106.58 29.408 4777
+-106.454 29.408 4743
+-106.328 29.408 4694
+-106.202 29.408 4603
+-106.076 29.408 4406
+-105.95 29.408 4183
+-105.824 29.408 4018
+-105.698 29.408 4079
+-105.572 29.408 4091
+-105.446 29.408 4057
+-105.32 29.408 3969
+-105.194 29.408 3915
+-105.068 29.408 3820
+-104.942 29.408 3754
+-104.816 29.408 3664
+-104.69 29.408 3557
+-104.564 29.408 3480
+-104.438 29.408 3420
+-104.312 29.408 3413
+-104.186 29.408 3359
+-104.06 29.408 3352
+-103.934 29.408 3347
+-103.808 29.408 3313
+-103.682 29.408 3304
+-103.556 29.408 3233
+-103.43 29.408 3223
+-103.304 29.408 3208
+-103.178 29.408 3196
+-103.052 29.408 3185
+-102.926 29.408 3146
+-102.8 29.408 3123
+-102.674 29.408 3093
+-102.548 29.408 3094
+-102.422 29.408 3096
+-102.296 29.408 3075
+-102.17 29.408 3079
+-102.044 29.408 3085
+-101.918 29.408 3041
+-101.792 29.408 3045
+-101.666 29.408 3051
+-101.54 29.408 3057
+-101.414 29.408 3064
+-101.288 29.408 3014
+-101.162 29.408 3019
+-101.036 29.408 3024
+-100.91 29.408 2939
+-100.784 29.408 2945
+-100.658 29.408 2951
+-100.532 29.408 2957
+-100.406 29.408 2962
+-100.28 29.408 2853
+-100.154 29.408 2852
+-100.028 29.408 2850
+-99.902 29.408 2848
+-99.776 29.408 2846
+-99.65 29.408 2843
+-99.524 29.408 2839
+-99.398 29.408 2835
+-99.272 29.408 2830
+-99.146 29.408 2825
+-99.02 29.408 2820
+-98.894 29.408 2814
+-98.768 29.408 2683
+-98.642 29.408 2676
+-98.516 29.408 2669
+-98.39 29.408 2619
+-98.264 29.408 2557
+-98.138 29.408 2547
+-98.012 29.408 2537
+-97.886 29.408 2575
+-97.76 29.408 2540
+-97.634 29.408 2476
+-97.508 29.408 2427
+-97.382 29.408 2360
+-97.256 29.408 2352
+-97.13 29.408 2340
+-97.004 29.408 2355
+-96.878 29.408 2287
+-96.752 29.408 2301
+-96.626 29.408 2306
+-96.5 29.408 2318
+-96.374 29.408 2262
+-96.248 29.408 2301
+-96.122 29.408 2356
+-95.996 29.408 2305
+-95.87 29.408 2370
+-95.744 29.408 2454
+-95.618 29.408 2367
+-95.492 29.408 2361
+-95.366 29.408 2365
+-95.24 29.408 2370
+-95.114 29.408 2375
+-94.988 29.408 2380
+-94.862 29.408 2386
+-94.736 29.408 2391
+-94.61 29.408 2390
+-94.484 29.408 2399
+-94.358 29.408 2417
+-94.232 29.408 2444
+-94.106 29.408 2443
+-93.98 29.408 2438
+-93.854 29.408 2437
+-93.728 29.408 2462
+-93.602 29.408 2473
+-93.476 29.408 2626
+-93.35 29.408 2636
+-93.224 29.408 2645
+-93.098 29.408 2655
+-92.972 29.408 2665
+-92.846 29.408 2674
+-92.72 29.408 2684
+-92.594 29.408 2714
+-92.468 29.408 2752
+-92.342 29.408 2761
+-92.216 29.408 2853
+-92.09 29.408 2998
+-91.964 29.408 3000
+-91.838 29.408 3003
+-91.712 29.408 3053
+-91.586 29.408 3054
+-91.46 29.408 3111
+-91.334 29.408 3111
+-91.208 29.408 3262
+-91.082 29.408 3262
+-90.956 29.408 3262
+-90.83 29.408 3262
+-90.704 29.408 3297
+-90.578 29.408 3359
+-90.452 29.408 3354
+-90.326 29.408 3349
+-90.2 29.408 3343
+-90.074 29.408 3399
+-89.948 29.408 3390
+-89.822 29.408 3381
+-89.696 29.408 3370
+-89.57 29.408 3357
+-89.444 29.408 3361
+-89.318 29.408 3342
+-89.192 29.408 3331
+-89.066 29.408 3301
+-88.94 29.408 3318
+-88.814 29.408 3294
+-88.688 29.408 3197
+-88.562 29.408 3067
+-88.436 29.408 2929
+-88.31 29.408 2865
+-88.184 29.408 3004
+-88.058 29.408 3300
+-87.932 29.408 3567
+-87.806 29.408 3742
+-87.68 29.408 3813
+-87.554 29.408 3804
+-87.428 29.408 3756
+-87.302 29.408 3871
+-87.176 29.408 3983
+-87.05 29.408 4111
+-86.924 29.408 4309
+-86.798 29.408 4570
+-86.672 29.408 4731
+-86.546 29.408 4824
+-86.42 29.408 4791
+-86.294 29.408 4968
+-86.168 29.408 5177
+-86.042 29.408 5238
+-85.916 29.408 5364
+-85.79 29.408 5504
+-85.664 29.408 5663
+-85.538 29.408 5708
+-85.412 29.408 5802
+-85.286 29.408 5946
+-85.16 29.408 6137
+-85.034 29.408 6211
+-84.908 29.408 6353
+-84.782 29.408 6450
+-84.656 29.408 6578
+-84.53 29.408 6687
+-84.404 29.408 6824
+-84.278 29.408 6922
+-84.152 29.408 7086
+-84.026 29.408 7139
+-83.9 29.408 7185
+-83.774 29.408 7320
+-83.648 29.408 7419
+-83.522 29.408 7500
+-83.396 29.408 7596
+-83.27 29.408 7726
+-83.144 29.408 7783
+-83.018 29.408 7826
+-82.892 29.408 7916
+-82.766 29.408 7908
+-82.64 29.408 7946
+-82.514 29.408 8009
+-82.388 29.408 8048
+-82.262 29.408 8064
+-82.136 29.408 8078
+-82.01 29.408 8054
+-81.884 29.408 8057
+-81.758 29.408 7988
+-81.632 29.408 7971
+-81.506 29.408 7912
+-81.38 29.408 7889
+-81.254 29.408 7729
+-81.128 29.408 7674
+-81.002 29.408 7580
+-80.876 29.408 7525
+-80.75 29.408 7415
+-80.624 29.408 7354
+-80.498 29.408 7225
+-80.372 29.408 7140
+-80.246 29.408 7076
+-80.12 29.408 6938
+-79.994 29.408 6806
+-79.868 29.408 6678
+-79.742 29.408 6578
+-79.616 29.408 6486
+-79.49 29.408 6389
+-79.364 29.408 6228
+-79.238 29.408 6122
+-79.112 29.408 5990
+-78.986 29.408 5880
+-78.86 29.408 5726
+-78.734 29.408 5533
+-78.608 29.408 5356
+-78.482 29.408 5314
+-78.356 29.408 5213
+-78.23 29.408 5058
+-78.104 29.408 4964
+-77.978 29.408 4881
+-77.852 29.408 4733
+-77.726 29.408 4657
+-77.6 29.408 4467
+-77.474 29.408 4308
+-77.348 29.408 4235
+-77.222 29.408 4096
+-77.096 29.408 3880
+-76.97 29.408 3750
+-76.844 29.408 3763
+-76.718 29.408 3745
+-76.592 29.408 3643
+-76.466 29.408 3515
+-76.34 29.408 3412
+-76.214 29.408 3403
+-76.088 29.408 3450
+-75.962 29.408 3491
+-75.836 29.408 3532
+-75.71 29.408 3542
+-75.584 29.408 3558
+-75.458 29.408 3529
+-75.332 29.408 3499
+-75.206 29.408 3508
+-75.08 29.408 3515
+-74.954 29.408 3522
+-74.828 29.408 3528
+-74.702 29.408 3534
+-74.576 29.408 3539
+-74.45 29.408 3544
+-74.324 29.408 3548
+-74.198 29.408 3552
+-74.072 29.408 3556
+-73.946 29.408 3559
+-73.82 29.408 3563
+-73.694 29.408 3566
+-73.568 29.408 3569
+-73.442 29.408 3571
+-73.316 29.408 3574
+-73.19 29.408 3576
+-73.064 29.408 3391
+-72.938 29.408 3383
+-72.812 29.408 3383
+-72.686 29.408 3382
+-72.56 29.408 3301
+-72.434 29.408 3301
+-72.308 29.408 3299
+-72.182 29.408 3297
+-72.056 29.408 3226
+-71.93 29.408 3225
+-71.804 29.408 3200
+-71.678 29.408 3179
+-71.552 29.408 3178
+-71.426 29.408 3177
+-71.3 29.408 3176
+-71.174 29.408 3175
+-71.048 29.408 3173
+-70.922 29.408 3172
+-70.796 29.408 3172
+-70.67 29.408 3171
+-70.544 29.408 3170
+-70.418 29.408 3169
+-70.292 29.408 3073
+-70.166 29.408 3073
+-70.04 29.408 3073
+-69.914 29.408 3072
+-69.788 29.408 3072
+-69.662 29.408 3072
+-69.536 29.408 3071
+-69.41 29.408 3071
+-69.284 29.408 3071
+-69.158 29.408 3071
+-69.032 29.408 3071
+-68.906 29.408 3070
+-68.78 29.408 3070
+-68.654 29.408 3070
+-68.528 29.408 3070
+-68.402 29.408 3070
+-68.276 29.408 3070
+-68.15 29.408 3070
+-68.024 29.408 3070
+-67.898 29.408 3070
+-67.772 29.408 3069
+-67.646 29.408 3069
+-67.52 29.408 3069
+-67.394 29.408 3069
+-67.268 29.408 3069
+-67.142 29.408 3069
+-67.016 29.408 3069
+-66.89 29.408 3069
+-66.764 29.408 3069
+-66.638 29.408 3069
+-66.512 29.408 3069
+-66.386 29.408 3069
+-66.26 29.408 3069
+-66.134 29.408 3069
+-66.008 29.408 3069
+-65.882 29.408 3069
+-65.756 29.408 3069
+-65.63 29.408 3069
+-65.504 29.408 3070
+-65.378 29.408 3070
+-65.252 29.408 3070
+-65.126 29.408 3070
+-128 29.356 2268
+-127.874 29.356 2274
+-127.748 29.356 2245
+-127.622 29.356 2212
+-127.496 29.356 2185
+-127.37 29.356 2167
+-127.244 29.356 2126
+-127.118 29.356 2109
+-126.992 29.356 2059
+-126.866 29.356 2004
+-126.74 29.356 1987
+-126.614 29.356 1938
+-126.488 29.356 1861
+-126.362 29.356 1782
+-126.236 29.356 1689
+-126.11 29.356 1586
+-125.984 29.356 1483
+-125.858 29.356 1381
+-125.732 29.356 1254
+-125.606 29.356 1126
+-125.48 29.356 1007
+-125.354 29.356 933
+-125.228 29.356 886
+-125.102 29.356 888
+-124.976 29.356 957
+-124.85 29.356 1077
+-124.724 29.356 1215
+-124.598 29.356 1338
+-124.472 29.356 1439
+-124.346 29.356 1508
+-124.22 29.356 1584
+-124.094 29.356 1695
+-123.968 29.356 1848
+-123.842 29.356 2031
+-123.716 29.356 2223
+-123.59 29.356 2414
+-123.464 29.356 2563
+-123.338 29.356 2717
+-123.212 29.356 2819
+-123.086 29.356 2890
+-122.96 29.356 2968
+-122.834 29.356 3064
+-122.708 29.356 3055
+-122.582 29.356 3032
+-122.456 29.356 2992
+-122.33 29.356 2935
+-122.204 29.356 2904
+-122.078 29.356 3008
+-121.952 29.356 3083
+-121.826 29.356 3179
+-121.7 29.356 3338
+-121.574 29.356 3488
+-121.448 29.356 3586
+-121.322 29.356 3661
+-121.196 29.356 3745
+-121.07 29.356 3846
+-120.944 29.356 3938
+-120.818 29.356 4081
+-120.692 29.356 4252
+-120.566 29.356 4352
+-120.44 29.356 4501
+-120.314 29.356 4631
+-120.188 29.356 4700
+-120.062 29.356 4713
+-119.936 29.356 4819
+-119.81 29.356 4946
+-119.684 29.356 5022
+-119.558 29.356 5081
+-119.432 29.356 5132
+-119.306 29.356 5190
+-119.18 29.356 5289
+-119.054 29.356 5346
+-118.928 29.356 5380
+-118.802 29.356 5380
+-118.676 29.356 5462
+-118.55 29.356 5501
+-118.424 29.356 5527
+-118.298 29.356 5575
+-118.172 29.356 5668
+-118.046 29.356 5716
+-117.92 29.356 5764
+-117.794 29.356 5799
+-117.668 29.356 5812
+-117.542 29.356 5842
+-117.416 29.356 5834
+-117.29 29.356 5830
+-117.164 29.356 5845
+-117.038 29.356 5864
+-116.912 29.356 5850
+-116.786 29.356 5859
+-116.66 29.356 5838
+-116.534 29.356 5802
+-116.408 29.356 5774
+-116.282 29.356 5766
+-116.156 29.356 5737
+-116.03 29.356 5711
+-115.904 29.356 5681
+-115.778 29.356 5637
+-115.652 29.356 5615
+-115.526 29.356 5544
+-115.4 29.356 5517
+-115.274 29.356 5429
+-115.148 29.356 5365
+-115.022 29.356 5260
+-114.896 29.356 5199
+-114.77 29.356 5129
+-114.644 29.356 5019
+-114.518 29.356 5011
+-114.392 29.356 4930
+-114.266 29.356 4859
+-114.14 29.356 4856
+-114.014 29.356 4914
+-113.888 29.356 4924
+-113.762 29.356 5070
+-113.636 29.356 5153
+-113.51 29.356 5254
+-113.384 29.356 5415
+-113.258 29.356 5571
+-113.132 29.356 5694
+-113.006 29.356 5752
+-112.88 29.356 5857
+-112.754 29.356 5953
+-112.628 29.356 6068
+-112.502 29.356 6147
+-112.376 29.356 6196
+-112.25 29.356 6322
+-112.124 29.356 6362
+-111.998 29.356 6482
+-111.872 29.356 6524
+-111.746 29.356 6628
+-111.62 29.356 6649
+-111.494 29.356 6733
+-111.368 29.356 6798
+-111.242 29.356 6855
+-111.116 29.356 6899
+-110.99 29.356 6907
+-110.864 29.356 6974
+-110.738 29.356 7000
+-110.612 29.356 7012
+-110.486 29.356 7051
+-110.36 29.356 7014
+-110.234 29.356 7050
+-110.108 29.356 7033
+-109.982 29.356 6978
+-109.856 29.356 6940
+-109.73 29.356 6905
+-109.604 29.356 6915
+-109.478 29.356 6833
+-109.352 29.356 6772
+-109.226 29.356 6759
+-109.1 29.356 6658
+-108.974 29.356 6580
+-108.848 29.356 6506
+-108.722 29.356 6450
+-108.596 29.356 6368
+-108.47 29.356 6231
+-108.344 29.356 6202
+-108.218 29.356 6090
+-108.092 29.356 5966
+-107.966 29.356 5922
+-107.84 29.356 5804
+-107.714 29.356 5692
+-107.588 29.356 5636
+-107.462 29.356 5530
+-107.336 29.356 5389
+-107.21 29.356 5208
+-107.084 29.356 5217
+-106.958 29.356 5079
+-106.832 29.356 4888
+-106.706 29.356 4815
+-106.58 29.356 4704
+-106.454 29.356 4714
+-106.328 29.356 4682
+-106.202 29.356 4595
+-106.076 29.356 4430
+-105.95 29.356 4225
+-105.824 29.356 4094
+-105.698 29.356 4058
+-105.572 29.356 3998
+-105.446 29.356 3963
+-105.32 29.356 3946
+-105.194 29.356 3863
+-105.068 29.356 3776
+-104.942 29.356 3662
+-104.816 29.356 3580
+-104.69 29.356 3426
+-104.564 29.356 3343
+-104.438 29.356 3348
+-104.312 29.356 3312
+-104.186 29.356 3320
+-104.06 29.356 3329
+-103.934 29.356 3334
+-103.808 29.356 3335
+-103.682 29.356 3289
+-103.556 29.356 3301
+-103.43 29.356 3235
+-103.304 29.356 3228
+-103.178 29.356 3219
+-103.052 29.356 3210
+-102.926 29.356 3204
+-102.8 29.356 3167
+-102.674 29.356 3145
+-102.548 29.356 3116
+-102.422 29.356 3118
+-102.296 29.356 3120
+-102.17 29.356 3098
+-102.044 29.356 3102
+-101.918 29.356 3106
+-101.792 29.356 3061
+-101.666 29.356 3063
+-101.54 29.356 3068
+-101.414 29.356 3074
+-101.288 29.356 3079
+-101.162 29.356 3028
+-101.036 29.356 3032
+-100.91 29.356 3036
+-100.784 29.356 2950
+-100.658 29.356 2955
+-100.532 29.356 2960
+-100.406 29.356 2965
+-100.28 29.356 2856
+-100.154 29.356 2855
+-100.028 29.356 2853
+-99.902 29.356 2851
+-99.776 29.356 2849
+-99.65 29.356 2846
+-99.524 29.356 2842
+-99.398 29.356 2838
+-99.272 29.356 2834
+-99.146 29.356 2829
+-99.02 29.356 2824
+-98.894 29.356 2818
+-98.768 29.356 2686
+-98.642 29.356 2680
+-98.516 29.356 2672
+-98.39 29.356 2623
+-98.264 29.356 2562
+-98.138 29.356 2552
+-98.012 29.356 2543
+-97.886 29.356 2505
+-97.76 29.356 2547
+-97.634 29.356 2538
+-97.508 29.356 2423
+-97.382 29.356 2371
+-97.256 29.356 2325
+-97.13 29.356 2317
+-97.004 29.356 2325
+-96.878 29.356 2291
+-96.752 29.356 2316
+-96.626 29.356 2321
+-96.5 29.356 2266
+-96.374 29.356 2321
+-96.248 29.356 2369
+-96.122 29.356 2273
+-95.996 29.356 2372
+-95.87 29.356 2377
+-95.744 29.356 2372
+-95.618 29.356 2365
+-95.492 29.356 2369
+-95.366 29.356 2374
+-95.24 29.356 2378
+-95.114 29.356 2383
+-94.988 29.356 2388
+-94.862 29.356 2393
+-94.736 29.356 2392
+-94.61 29.356 2384
+-94.484 29.356 2420
+-94.358 29.356 2447
+-94.232 29.356 2446
+-94.106 29.356 2440
+-93.98 29.356 2446
+-93.854 29.356 2464
+-93.728 29.356 2476
+-93.602 29.356 2483
+-93.476 29.356 2491
+-93.35 29.356 2647
+-93.224 29.356 2657
+-93.098 29.356 2666
+-92.972 29.356 2676
+-92.846 29.356 2686
+-92.72 29.356 2717
+-92.594 29.356 2726
+-92.468 29.356 2736
+-92.342 29.356 2856
+-92.216 29.356 3007
+-92.09 29.356 3010
+-91.964 29.356 3013
+-91.838 29.356 3062
+-91.712 29.356 3064
+-91.586 29.356 3122
+-91.46 29.356 3123
+-91.334 29.356 3273
+-91.208 29.356 3273
+-91.082 29.356 3274
+-90.956 29.356 3274
+-90.83 29.356 3309
+-90.704 29.356 3373
+-90.578 29.356 3368
+-90.452 29.356 3364
+-90.326 29.356 3358
+-90.2 29.356 3422
+-90.074 29.356 3414
+-89.948 29.356 3406
+-89.822 29.356 3397
+-89.696 29.356 3386
+-89.57 29.356 3374
+-89.444 29.356 3357
+-89.318 29.356 3340
+-89.192 29.356 3345
+-89.066 29.356 3385
+-88.94 29.356 3395
+-88.814 29.356 3338
+-88.688 29.356 3265
+-88.562 29.356 3188
+-88.436 29.356 3119
+-88.31 29.356 3112
+-88.184 29.356 3226
+-88.058 29.356 3425
+-87.932 29.356 3621
+-87.806 29.356 3759
+-87.68 29.356 3834
+-87.554 29.356 3837
+-87.428 29.356 3839
+-87.302 29.356 3921
+-87.176 29.356 4065
+-87.05 29.356 4269
+-86.924 29.356 4450
+-86.798 29.356 4643
+-86.672 29.356 4800
+-86.546 29.356 4865
+-86.42 29.356 4904
+-86.294 29.356 5060
+-86.168 29.356 5213
+-86.042 29.356 5319
+-85.916 29.356 5413
+-85.79 29.356 5533
+-85.664 29.356 5686
+-85.538 29.356 5792
+-85.412 29.356 5868
+-85.286 29.356 5989
+-85.16 29.356 6122
+-85.034 29.356 6239
+-84.908 29.356 6358
+-84.782 29.356 6506
+-84.656 29.356 6622
+-84.53 29.356 6742
+-84.404 29.356 6859
+-84.278 29.356 7004
+-84.152 29.356 7101
+-84.026 29.356 7196
+-83.9 29.356 7220
+-83.774 29.356 7346
+-83.648 29.356 7478
+-83.522 29.356 7596
+-83.396 29.356 7682
+-83.27 29.356 7725
+-83.144 29.356 7839
+-83.018 29.356 7896
+-82.892 29.356 7927
+-82.766 29.356 7977
+-82.64 29.356 8030
+-82.514 29.356 8077
+-82.388 29.356 8094
+-82.262 29.356 8095
+-82.136 29.356 8123
+-82.01 29.356 8107
+-81.884 29.356 8077
+-81.758 29.356 8054
+-81.632 29.356 8002
+-81.506 29.356 7965
+-81.38 29.356 7911
+-81.254 29.356 7811
+-81.128 29.356 7735
+-81.002 29.356 7717
+-80.876 29.356 7572
+-80.75 29.356 7512
+-80.624 29.356 7405
+-80.498 29.356 7314
+-80.372 29.356 7214
+-80.246 29.356 7124
+-80.12 29.356 6990
+-79.994 29.356 6858
+-79.868 29.356 6739
+-79.742 29.356 6597
+-79.616 29.356 6498
+-79.49 29.356 6421
+-79.364 29.356 6277
+-79.238 29.356 6104
+-79.112 29.356 5947
+-78.986 29.356 5911
+-78.86 29.356 5783
+-78.734 29.356 5576
+-78.608 29.356 5379
+-78.482 29.356 5283
+-78.356 29.356 5203
+-78.23 29.356 5045
+-78.104 29.356 4914
+-77.978 29.356 4863
+-77.852 29.356 4658
+-77.726 29.356 4690
+-77.6 29.356 4573
+-77.474 29.356 4419
+-77.348 29.356 4274
+-77.222 29.356 4153
+-77.096 29.356 3998
+-76.97 29.356 3880
+-76.844 29.356 3825
+-76.718 29.356 3783
+-76.592 29.356 3711
+-76.466 29.356 3622
+-76.34 29.356 3545
+-76.214 29.356 3516
+-76.088 29.356 3517
+-75.962 29.356 3527
+-75.836 29.356 3529
+-75.71 29.356 3538
+-75.584 29.356 3554
+-75.458 29.356 3568
+-75.332 29.356 3534
+-75.206 29.356 3515
+-75.08 29.356 3524
+-74.954 29.356 3532
+-74.828 29.356 3539
+-74.702 29.356 3546
+-74.576 29.356 3552
+-74.45 29.356 3558
+-74.324 29.356 3563
+-74.198 29.356 3568
+-74.072 29.356 3572
+-73.946 29.356 3577
+-73.82 29.356 3580
+-73.694 29.356 3584
+-73.568 29.356 3587
+-73.442 29.356 3591
+-73.316 29.356 3594
+-73.19 29.356 3596
+-73.064 29.356 3386
+-72.938 29.356 3385
+-72.812 29.356 3387
+-72.686 29.356 3306
+-72.56 29.356 3304
+-72.434 29.356 3302
+-72.308 29.356 3301
+-72.182 29.356 3231
+-72.056 29.356 3229
+-71.93 29.356 3205
+-71.804 29.356 3183
+-71.678 29.356 3182
+-71.552 29.356 3180
+-71.426 29.356 3179
+-71.3 29.356 3178
+-71.174 29.356 3177
+-71.048 29.356 3175
+-70.922 29.356 3174
+-70.796 29.356 3173
+-70.67 29.356 3172
+-70.544 29.356 3172
+-70.418 29.356 3076
+-70.292 29.356 3075
+-70.166 29.356 3075
+-70.04 29.356 3074
+-69.914 29.356 3074
+-69.788 29.356 3074
+-69.662 29.356 3073
+-69.536 29.356 3073
+-69.41 29.356 3073
+-69.284 29.356 3073
+-69.158 29.356 3072
+-69.032 29.356 3072
+-68.906 29.356 3072
+-68.78 29.356 3072
+-68.654 29.356 3071
+-68.528 29.356 3071
+-68.402 29.356 3071
+-68.276 29.356 3071
+-68.15 29.356 3071
+-68.024 29.356 3071
+-67.898 29.356 3071
+-67.772 29.356 3071
+-67.646 29.356 3071
+-67.52 29.356 3071
+-67.394 29.356 3070
+-67.268 29.356 3070
+-67.142 29.356 3070
+-67.016 29.356 3070
+-66.89 29.356 3070
+-66.764 29.356 3070
+-66.638 29.356 3070
+-66.512 29.356 3070
+-66.386 29.356 3070
+-66.26 29.356 3070
+-66.134 29.356 3070
+-66.008 29.356 3070
+-65.882 29.356 3070
+-65.756 29.356 3070
+-65.63 29.356 3070
+-65.504 29.356 3070
+-65.378 29.356 3070
+-65.252 29.356 3070
+-65.126 29.356 3070
+-128 29.304 2301
+-127.874 29.304 2274
+-127.748 29.304 2245
+-127.622 29.304 2222
+-127.496 29.304 2207
+-127.37 29.304 2171
+-127.244 29.304 2160
+-127.118 29.304 2116
+-126.992 29.304 2069
+-126.866 29.304 2061
+-126.74 29.304 2023
+-126.614 29.304 1959
+-126.488 29.304 1894
+-126.362 29.304 1817
+-126.236 29.304 1733
+-126.11 29.304 1652
+-125.984 29.304 1574
+-125.858 29.304 1472
+-125.732 29.304 1369
+-125.606 29.304 1269
+-125.48 29.304 1207
+-125.354 29.304 1154
+-125.228 29.304 1120
+-125.102 29.304 1130
+-124.976 29.304 1184
+-124.85 29.304 1273
+-124.724 29.304 1379
+-124.598 29.304 1494
+-124.472 29.304 1583
+-124.346 29.304 1665
+-124.22 29.304 1755
+-124.094 29.304 1865
+-123.968 29.304 2001
+-123.842 29.304 2155
+-123.716 29.304 2312
+-123.59 29.304 2469
+-123.464 29.304 2630
+-123.338 29.304 2747
+-123.212 29.304 2836
+-123.086 29.304 2935
+-122.96 29.304 2981
+-122.834 29.304 3079
+-122.708 29.304 3068
+-122.582 29.304 3038
+-122.456 29.304 2975
+-122.33 29.304 2870
+-122.204 29.304 2781
+-122.078 29.304 2918
+-121.952 29.304 3109
+-121.826 29.304 3243
+-121.7 29.304 3369
+-121.574 29.304 3477
+-121.448 29.304 3567
+-121.322 29.304 3640
+-121.196 29.304 3698
+-121.07 29.304 3802
+-120.944 29.304 3857
+-120.818 29.304 3986
+-120.692 29.304 4126
+-120.566 29.304 4266
+-120.44 29.304 4448
+-120.314 29.304 4596
+-120.188 29.304 4693
+-120.062 29.304 4734
+-119.936 29.304 4830
+-119.81 29.304 4931
+-119.684 29.304 4978
+-119.558 29.304 5020
+-119.432 29.304 5057
+-119.306 29.304 5132
+-119.18 29.304 5230
+-119.054 29.304 5296
+-118.928 29.304 5285
+-118.802 29.304 5356
+-118.676 29.304 5417
+-118.55 29.304 5461
+-118.424 29.304 5507
+-118.298 29.304 5525
+-118.172 29.304 5559
+-118.046 29.304 5636
+-117.92 29.304 5700
+-117.794 29.304 5746
+-117.668 29.304 5763
+-117.542 29.304 5775
+-117.416 29.304 5770
+-117.29 29.304 5783
+-117.164 29.304 5802
+-117.038 29.304 5800
+-116.912 29.304 5812
+-116.786 29.304 5780
+-116.66 29.304 5763
+-116.534 29.304 5740
+-116.408 29.304 5722
+-116.282 29.304 5704
+-116.156 29.304 5680
+-116.03 29.304 5651
+-115.904 29.304 5630
+-115.778 29.304 5617
+-115.652 29.304 5579
+-115.526 29.304 5527
+-115.4 29.304 5459
+-115.274 29.304 5373
+-115.148 29.304 5304
+-115.022 29.304 5218
+-114.896 29.304 5152
+-114.77 29.304 5075
+-114.644 29.304 4972
+-114.518 29.304 4979
+-114.392 29.304 4884
+-114.266 29.304 4745
+-114.14 29.304 4726
+-114.014 29.304 4889
+-113.888 29.304 4968
+-113.762 29.304 5037
+-113.636 29.304 5159
+-113.51 29.304 5276
+-113.384 29.304 5374
+-113.258 29.304 5475
+-113.132 29.304 5591
+-113.006 29.304 5714
+-112.88 29.304 5842
+-112.754 29.304 5874
+-112.628 29.304 5950
+-112.502 29.304 6068
+-112.376 29.304 6155
+-112.25 29.304 6271
+-112.124 29.304 6378
+-111.998 29.304 6405
+-111.872 29.304 6520
+-111.746 29.304 6589
+-111.62 29.304 6649
+-111.494 29.304 6717
+-111.368 29.304 6752
+-111.242 29.304 6810
+-111.116 29.304 6871
+-110.99 29.304 6895
+-110.864 29.304 6917
+-110.738 29.304 6938
+-110.612 29.304 6984
+-110.486 29.304 6990
+-110.36 29.304 6958
+-110.234 29.304 6970
+-110.108 29.304 6955
+-109.982 29.304 6919
+-109.856 29.304 6914
+-109.73 29.304 6862
+-109.604 29.304 6838
+-109.478 29.304 6795
+-109.352 29.304 6728
+-109.226 29.304 6667
+-109.1 29.304 6596
+-108.974 29.304 6502
+-108.848 29.304 6434
+-108.722 29.304 6416
+-108.596 29.304 6346
+-108.47 29.304 6202
+-108.344 29.304 6130
+-108.218 29.304 6031
+-108.092 29.304 5940
+-107.966 29.304 5863
+-107.84 29.304 5760
+-107.714 29.304 5618
+-107.588 29.304 5598
+-107.462 29.304 5466
+-107.336 29.304 5323
+-107.21 29.304 5306
+-107.084 29.304 5219
+-106.958 29.304 5061
+-106.832 29.304 4860
+-106.706 29.304 4754
+-106.58 29.304 4656
+-106.454 29.304 4700
+-106.328 29.304 4677
+-106.202 29.304 4606
+-106.076 29.304 4458
+-105.95 29.304 4257
+-105.824 29.304 4094
+-105.698 29.304 3926
+-105.572 29.304 3795
+-105.446 29.304 3832
+-105.32 29.304 3879
+-105.194 29.304 3828
+-105.068 29.304 3697
+-104.942 29.304 3551
+-104.816 29.304 3374
+-104.69 29.304 3224
+-104.564 29.304 3194
+-104.438 29.304 3215
+-104.312 29.304 3230
+-104.186 29.304 3263
+-104.06 29.304 3288
+-103.934 29.304 3304
+-103.808 29.304 3285
+-103.682 29.304 3289
+-103.556 29.304 3289
+-103.43 29.304 3286
+-103.304 29.304 3240
+-103.178 29.304 3236
+-103.052 29.304 3230
+-102.926 29.304 3224
+-102.8 29.304 3220
+-102.674 29.304 3186
+-102.548 29.304 3164
+-102.422 29.304 3136
+-102.296 29.304 3137
+-102.17 29.304 3140
+-102.044 29.304 3117
+-101.918 29.304 3120
+-101.792 29.304 3083
+-101.666 29.304 3088
+-101.54 29.304 3078
+-101.414 29.304 3083
+-101.288 29.304 3088
+-101.162 29.304 3092
+-101.036 29.304 3040
+-100.91 29.304 3043
+-100.784 29.304 3046
+-100.658 29.304 2959
+-100.532 29.304 2964
+-100.406 29.304 2968
+-100.28 29.304 2860
+-100.154 29.304 2859
+-100.028 29.304 2857
+-99.902 29.304 2855
+-99.776 29.304 2852
+-99.65 29.304 2849
+-99.524 29.304 2845
+-99.398 29.304 2842
+-99.272 29.304 2837
+-99.146 29.304 2832
+-99.02 29.304 2827
+-98.894 29.304 2822
+-98.768 29.304 2816
+-98.642 29.304 2683
+-98.516 29.304 2676
+-98.39 29.304 2627
+-98.264 29.304 2566
+-98.138 29.304 2557
+-98.012 29.304 2548
+-97.886 29.304 2511
+-97.76 29.304 2502
+-97.634 29.304 2545
+-97.508 29.304 2490
+-97.382 29.304 2435
+-97.256 29.304 2391
+-97.13 29.304 2385
+-97.004 29.304 2272
+-96.878 29.304 2280
+-96.752 29.304 2296
+-96.626 29.304 2253
+-96.5 29.304 2324
+-96.374 29.304 2327
+-96.248 29.304 2376
+-96.122 29.304 2332
+-95.996 29.304 2379
+-95.87 29.304 2378
+-95.744 29.304 2370
+-95.618 29.304 2374
+-95.492 29.304 2378
+-95.366 29.304 2382
+-95.24 29.304 2386
+-95.114 29.304 2391
+-94.988 29.304 2396
+-94.862 29.304 2394
+-94.736 29.304 2387
+-94.61 29.304 2422
+-94.484 29.304 2451
+-94.358 29.304 2449
+-94.232 29.304 2443
+-94.106 29.304 2450
+-93.98 29.304 2466
+-93.854 29.304 2479
+-93.728 29.304 2486
+-93.602 29.304 2494
+-93.476 29.304 2659
+-93.35 29.304 2669
+-93.224 29.304 2678
+-93.098 29.304 2687
+-92.972 29.304 2697
+-92.846 29.304 2719
+-92.72 29.304 2729
+-92.594 29.304 2738
+-92.468 29.304 2857
+-92.342 29.304 2860
+-92.216 29.304 3019
+-92.09 29.304 3022
+-91.964 29.304 3104
+-91.838 29.304 3105
+-91.712 29.304 3133
+-91.586 29.304 3134
+-91.46 29.304 3169
+-91.334 29.304 3283
+-91.208 29.304 3284
+-91.082 29.304 3285
+-90.956 29.304 3361
+-90.83 29.304 3385
+-90.704 29.304 3382
+-90.578 29.304 3378
+-90.452 29.304 3406
+-90.326 29.304 3403
+-90.2 29.304 3397
+-90.074 29.304 3426
+-89.948 29.304 3418
+-89.822 29.304 3410
+-89.696 29.304 3400
+-89.57 29.304 3389
+-89.444 29.304 3447
+-89.318 29.304 3427
+-89.192 29.304 3431
+-89.066 29.304 3399
+-88.94 29.304 3430
+-88.814 29.304 3390
+-88.688 29.304 3370
+-88.562 29.304 3347
+-88.436 29.304 3315
+-88.31 29.304 3328
+-88.184 29.304 3403
+-88.058 29.304 3538
+-87.932 29.304 3681
+-87.806 29.304 3788
+-87.68 29.304 3864
+-87.554 29.304 3939
+-87.428 29.304 3970
+-87.302 29.304 4078
+-87.176 29.304 4233
+-87.05 29.304 4425
+-86.924 29.304 4566
+-86.798 29.304 4699
+-86.672 29.304 4817
+-86.546 29.304 4911
+-86.42 29.304 5036
+-86.294 29.304 5127
+-86.168 29.304 5192
+-86.042 29.304 5334
+-85.916 29.304 5402
+-85.79 29.304 5540
+-85.664 29.304 5703
+-85.538 29.304 5808
+-85.412 29.304 5872
+-85.286 29.304 6012
+-85.16 29.304 6149
+-85.034 29.304 6222
+-84.908 29.304 6344
+-84.782 29.304 6508
+-84.656 29.304 6696
+-84.53 29.304 6782
+-84.404 29.304 6897
+-84.278 29.304 7052
+-84.152 29.304 7146
+-84.026 29.304 7235
+-83.9 29.304 7293
+-83.774 29.304 7398
+-83.648 29.304 7542
+-83.522 29.304 7641
+-83.396 29.304 7683
+-83.27 29.304 7776
+-83.144 29.304 7867
+-83.018 29.304 7949
+-82.892 29.304 8021
+-82.766 29.304 8057
+-82.64 29.304 8107
+-82.514 29.304 8176
+-82.388 29.304 8171
+-82.262 29.304 8155
+-82.136 29.304 8178
+-82.01 29.304 8140
+-81.884 29.304 8128
+-81.758 29.304 8101
+-81.632 29.304 8047
+-81.506 29.304 7978
+-81.38 29.304 7943
+-81.254 29.304 7872
+-81.128 29.304 7802
+-81.002 29.304 7677
+-80.876 29.304 7640
+-80.75 29.304 7526
+-80.624 29.304 7375
+-80.498 29.304 7381
+-80.372 29.304 7260
+-80.246 29.304 7076
+-80.12 29.304 7012
+-79.994 29.304 6857
+-79.868 29.304 6792
+-79.742 29.304 6613
+-79.616 29.304 6542
+-79.49 29.304 6435
+-79.364 29.304 6315
+-79.238 29.304 6141
+-79.112 29.304 5958
+-78.986 29.304 5868
+-78.86 29.304 5803
+-78.734 29.304 5628
+-78.608 29.304 5418
+-78.482 29.304 5303
+-78.356 29.304 5262
+-78.23 29.304 5046
+-78.104 29.304 4915
+-77.978 29.304 4891
+-77.852 29.304 4791
+-77.726 29.304 4741
+-77.6 29.304 4624
+-77.474 29.304 4480
+-77.348 29.304 4340
+-77.222 29.304 4190
+-77.096 29.304 4058
+-76.97 29.304 3912
+-76.844 29.304 3853
+-76.718 29.304 3809
+-76.592 29.304 3732
+-76.466 29.304 3658
+-76.34 29.304 3604
+-76.214 29.304 3567
+-76.088 29.304 3545
+-75.962 29.304 3526
+-75.836 29.304 3523
+-75.71 29.304 3532
+-75.584 29.304 3544
+-75.458 29.304 3557
+-75.332 29.304 3571
+-75.206 29.304 3536
+-75.08 29.304 3518
+-74.954 29.304 3527
+-74.828 29.304 3536
+-74.702 29.304 3543
+-74.576 29.304 3550
+-74.45 29.304 3556
+-74.324 29.304 3562
+-74.198 29.304 3567
+-74.072 29.304 3572
+-73.946 29.304 3576
+-73.82 29.304 3580
+-73.694 29.304 3584
+-73.568 29.304 3588
+-73.442 29.304 3591
+-73.316 29.304 3594
+-73.19 29.304 3389
+-73.064 29.304 3388
+-72.938 29.304 3389
+-72.812 29.304 3376
+-72.686 29.304 3307
+-72.56 29.304 3305
+-72.434 29.304 3303
+-72.308 29.304 3235
+-72.182 29.304 3234
+-72.056 29.304 3209
+-71.93 29.304 3187
+-71.804 29.304 3185
+-71.678 29.304 3184
+-71.552 29.304 3182
+-71.426 29.304 3181
+-71.3 29.304 3180
+-71.174 29.304 3178
+-71.048 29.304 3177
+-70.922 29.304 3176
+-70.796 29.304 3175
+-70.67 29.304 3174
+-70.544 29.304 3078
+-70.418 29.304 3078
+-70.292 29.304 3077
+-70.166 29.304 3077
+-70.04 29.304 3076
+-69.914 29.304 3076
+-69.788 29.304 3075
+-69.662 29.304 3075
+-69.536 29.304 3075
+-69.41 29.304 3074
+-69.284 29.304 3074
+-69.158 29.304 3074
+-69.032 29.304 3074
+-68.906 29.304 3073
+-68.78 29.304 3073
+-68.654 29.304 3073
+-68.528 29.304 3073
+-68.402 29.304 3072
+-68.276 29.304 3072
+-68.15 29.304 3072
+-68.024 29.304 3072
+-67.898 29.304 3072
+-67.772 29.304 3072
+-67.646 29.304 3072
+-67.52 29.304 3072
+-67.394 29.304 3072
+-67.268 29.304 3071
+-67.142 29.304 3071
+-67.016 29.304 3071
+-66.89 29.304 3071
+-66.764 29.304 3071
+-66.638 29.304 3071
+-66.512 29.304 3071
+-66.386 29.304 3071
+-66.26 29.304 3071
+-66.134 29.304 3071
+-66.008 29.304 3071
+-65.882 29.304 3071
+-65.756 29.304 3071
+-65.63 29.304 3071
+-65.504 29.304 3071
+-65.378 29.304 3071
+-65.252 29.304 3071
+-65.126 29.304 3071
+-128 29.252 2302
+-127.874 29.252 2276
+-127.748 29.252 2256
+-127.622 29.252 2244
+-127.496 29.252 2212
+-127.37 29.252 2207
+-127.244 29.252 2168
+-127.118 29.252 2127
+-126.992 29.252 2127
+-126.866 29.252 2099
+-126.74 29.252 2044
+-126.614 29.252 1991
+-126.488 29.252 1927
+-126.362 29.252 1857
+-126.236 29.252 1792
+-126.11 29.252 1733
+-125.984 29.252 1651
+-125.858 29.252 1568
+-125.732 29.252 1485
+-125.606 29.252 1437
+-125.48 29.252 1390
+-125.354 29.252 1345
+-125.228 29.252 1326
+-125.102 29.252 1339
+-124.976 29.252 1383
+-124.85 29.252 1454
+-124.724 29.252 1553
+-124.598 29.252 1640
+-124.472 29.252 1725
+-124.346 29.252 1811
+-124.22 29.252 1903
+-124.094 29.252 2009
+-123.968 29.252 2130
+-123.842 29.252 2262
+-123.716 29.252 2401
+-123.59 29.252 2555
+-123.464 29.252 2677
+-123.338 29.252 2775
+-123.212 29.252 2872
+-123.086 29.252 2952
+-122.96 29.252 2994
+-122.834 29.252 3096
+-122.708 29.252 3086
+-122.582 29.252 3058
+-122.456 29.252 3002
+-122.33 29.252 2927
+-122.204 29.252 2891
+-122.078 29.252 2988
+-121.952 29.252 3148
+-121.826 29.252 3280
+-121.7 29.252 3405
+-121.574 29.252 3495
+-121.448 29.252 3548
+-121.322 29.252 3584
+-121.196 29.252 3650
+-121.07 29.252 3756
+-120.944 29.252 3795
+-120.818 29.252 3867
+-120.692 29.252 4031
+-120.566 29.252 4199
+-120.44 29.252 4349
+-120.314 29.252 4514
+-120.188 29.252 4614
+-120.062 29.252 4716
+-119.936 29.252 4821
+-119.81 29.252 4893
+-119.684 29.252 4949
+-119.558 29.252 4982
+-119.432 29.252 4965
+-119.306 29.252 5064
+-119.18 29.252 5185
+-119.054 29.252 5260
+-118.928 29.252 5294
+-118.802 29.252 5266
+-118.676 29.252 5365
+-118.55 29.252 5410
+-118.424 29.252 5439
+-118.298 29.252 5472
+-118.172 29.252 5499
+-118.046 29.252 5521
+-117.92 29.252 5587
+-117.794 29.252 5630
+-117.668 29.252 5674
+-117.542 29.252 5703
+-117.416 29.252 5742
+-117.29 29.252 5736
+-117.164 29.252 5741
+-117.038 29.252 5758
+-116.912 29.252 5743
+-116.786 29.252 5708
+-116.66 29.252 5714
+-116.534 29.252 5699
+-116.408 29.252 5674
+-116.282 29.252 5645
+-116.156 29.252 5618
+-116.03 29.252 5576
+-115.904 29.252 5549
+-115.778 29.252 5538
+-115.652 29.252 5512
+-115.526 29.252 5434
+-115.4 29.252 5369
+-115.274 29.252 5323
+-115.148 29.252 5229
+-115.022 29.252 5160
+-114.896 29.252 5094
+-114.77 29.252 5043
+-114.644 29.252 5002
+-114.518 29.252 4962
+-114.392 29.252 4889
+-114.266 29.252 4827
+-114.14 29.252 4827
+-114.014 29.252 4832
+-113.888 29.252 4938
+-113.762 29.252 5032
+-113.636 29.252 5144
+-113.51 29.252 5255
+-113.384 29.252 5350
+-113.258 29.252 5460
+-113.132 29.252 5542
+-113.006 29.252 5669
+-112.88 29.252 5780
+-112.754 29.252 5877
+-112.628 29.252 5966
+-112.502 29.252 6022
+-112.376 29.252 6108
+-112.25 29.252 6224
+-112.124 29.252 6351
+-111.998 29.252 6432
+-111.872 29.252 6444
+-111.746 29.252 6539
+-111.62 29.252 6611
+-111.494 29.252 6685
+-111.368 29.252 6704
+-111.242 29.252 6730
+-111.116 29.252 6814
+-110.99 29.252 6849
+-110.864 29.252 6894
+-110.738 29.252 6922
+-110.612 29.252 6929
+-110.486 29.252 6934
+-110.36 29.252 6931
+-110.234 29.252 6929
+-110.108 29.252 6900
+-109.982 29.252 6895
+-109.856 29.252 6824
+-109.73 29.252 6815
+-109.604 29.252 6785
+-109.478 29.252 6740
+-109.352 29.252 6688
+-109.226 29.252 6626
+-109.1 29.252 6582
+-108.974 29.252 6497
+-108.848 29.252 6449
+-108.722 29.252 6393
+-108.596 29.252 6315
+-108.47 29.252 6186
+-108.344 29.252 6065
+-108.218 29.252 5970
+-108.092 29.252 5943
+-107.966 29.252 5820
+-107.84 29.252 5714
+-107.714 29.252 5672
+-107.588 29.252 5547
+-107.462 29.252 5345
+-107.336 29.252 5386
+-107.21 29.252 5315
+-107.084 29.252 5226
+-106.958 29.252 5036
+-106.832 29.252 4815
+-106.706 29.252 4674
+-106.58 29.252 4710
+-106.454 29.252 4702
+-106.328 29.252 4657
+-106.202 29.252 4586
+-106.076 29.252 4479
+-105.95 29.252 4267
+-105.824 29.252 4055
+-105.698 29.252 3807
+-105.572 29.252 3654
+-105.446 29.252 3742
+-105.32 29.252 3812
+-105.194 29.252 3775
+-105.068 29.252 3578
+-104.942 29.252 3364
+-104.816 29.252 3150
+-104.69 29.252 3027
+-104.564 29.252 3008
+-104.438 29.252 3076
+-104.312 29.252 3153
+-104.186 29.252 3214
+-104.06 29.252 3258
+-103.934 29.252 3258
+-103.808 29.252 3276
+-103.682 29.252 3286
+-103.556 29.252 3291
+-103.43 29.252 3292
+-103.304 29.252 3292
+-103.178 29.252 3247
+-103.052 29.252 3244
+-102.926 29.252 3241
+-102.8 29.252 3237
+-102.674 29.252 3235
+-102.548 29.252 3201
+-102.422 29.252 3200
+-102.296 29.252 3152
+-102.17 29.252 3154
+-102.044 29.252 3157
+-101.918 29.252 3133
+-101.792 29.252 3093
+-101.666 29.252 3097
+-101.54 29.252 3101
+-101.414 29.252 3092
+-101.288 29.252 3096
+-101.162 29.252 3100
+-101.036 29.252 3104
+-100.91 29.252 3050
+-100.784 29.252 3053
+-100.658 29.252 3056
+-100.532 29.252 2967
+-100.406 29.252 2971
+-100.28 29.252 2863
+-100.154 29.252 2862
+-100.028 29.252 2860
+-99.902 29.252 2858
+-99.776 29.252 2855
+-99.65 29.252 2852
+-99.524 29.252 2849
+-99.398 29.252 2845
+-99.272 29.252 2841
+-99.146 29.252 2836
+-99.02 29.252 2831
+-98.894 29.252 2825
+-98.768 29.252 2820
+-98.642 29.252 2813
+-98.516 29.252 2679
+-98.39 29.252 2631
+-98.264 29.252 2571
+-98.138 29.252 2562
+-98.012 29.252 2553
+-97.886 29.252 2517
+-97.76 29.252 2508
+-97.634 29.252 2499
+-97.508 29.252 2496
+-97.382 29.252 2442
+-97.256 29.252 2398
+-97.13 29.252 2392
+-97.004 29.252 2333
+-96.878 29.252 2345
+-96.752 29.252 2359
+-96.626 29.252 2316
+-96.5 29.252 2330
+-96.374 29.252 2293
+-96.248 29.252 2296
+-96.122 29.252 2338
+-95.996 29.252 2380
+-95.87 29.252 2304
+-95.744 29.252 2378
+-95.618 29.252 2382
+-95.492 29.252 2385
+-95.366 29.252 2389
+-95.24 29.252 2394
+-95.114 29.252 2398
+-94.988 29.252 2396
+-94.862 29.252 2390
+-94.736 29.252 2425
+-94.61 29.252 2454
+-94.484 29.252 2452
+-94.358 29.252 2446
+-94.232 29.252 2453
+-94.106 29.252 2468
+-93.98 29.252 2482
+-93.854 29.252 2489
+-93.728 29.252 2497
+-93.602 29.252 2511
+-93.476 29.252 2671
+-93.35 29.252 2680
+-93.224 29.252 2690
+-93.098 29.252 2699
+-92.972 29.252 2721
+-92.846 29.252 2731
+-92.72 29.252 2740
+-92.594 29.252 2862
+-92.468 29.252 2865
+-92.342 29.252 2869
+-92.216 29.252 2999
+-92.09 29.252 3039
+-91.964 29.252 3115
+-91.838 29.252 3153
+-91.712 29.252 3154
+-91.586 29.252 3180
+-91.46 29.252 3180
+-91.334 29.252 3181
+-91.208 29.252 3318
+-91.082 29.252 3372
+-90.956 29.252 3397
+-90.83 29.252 3394
+-90.704 29.252 3426
+-90.578 29.252 3421
+-90.452 29.252 3416
+-90.326 29.252 3410
+-90.2 29.252 3408
+-90.074 29.252 3401
+-89.948 29.252 3461
+-89.822 29.252 3452
+-89.696 29.252 3442
+-89.57 29.252 3485
+-89.444 29.252 3461
+-89.318 29.252 3443
+-89.192 29.252 3452
+-89.066 29.252 3429
+-88.94 29.252 3464
+-88.814 29.252 3443
+-88.688 29.252 3454
+-88.562 29.252 3450
+-88.436 29.252 3447
+-88.31 29.252 3472
+-88.184 29.252 3531
+-88.058 29.252 3614
+-87.932 29.252 3730
+-87.806 29.252 3866
+-87.68 29.252 3954
+-87.554 29.252 4052
+-87.428 29.252 4124
+-87.302 29.252 4203
+-87.176 29.252 4337
+-87.05 29.252 4540
+-86.924 29.252 4651
+-86.798 29.252 4754
+-86.672 29.252 4887
+-86.546 29.252 4948
+-86.42 29.252 5080
+-86.294 29.252 5147
+-86.168 29.252 5099
+-86.042 29.252 5283
+-85.916 29.252 5460
+-85.79 29.252 5606
+-85.664 29.252 5653
+-85.538 29.252 5790
+-85.412 29.252 5954
+-85.286 29.252 6021
+-85.16 29.252 6214
+-85.034 29.252 6249
+-84.908 29.252 6374
+-84.782 29.252 6547
+-84.656 29.252 6731
+-84.53 29.252 6752
+-84.404 29.252 6873
+-84.278 29.252 7059
+-84.152 29.252 7133
+-84.026 29.252 7261
+-83.9 29.252 7345
+-83.774 29.252 7458
+-83.648 29.252 7556
+-83.522 29.252 7701
+-83.396 29.252 7785
+-83.27 29.252 7850
+-83.144 29.252 7931
+-83.018 29.252 7994
+-82.892 29.252 8072
+-82.766 29.252 8103
+-82.64 29.252 8170
+-82.514 29.252 8217
+-82.388 29.252 8214
+-82.262 29.252 8224
+-82.136 29.252 8220
+-82.01 29.252 8212
+-81.884 29.252 8183
+-81.758 29.252 8150
+-81.632 29.252 8091
+-81.506 29.252 8041
+-81.38 29.252 8003
+-81.254 29.252 7985
+-81.128 29.252 7843
+-81.002 29.252 7752
+-80.876 29.252 7642
+-80.75 29.252 7557
+-80.624 29.252 7490
+-80.498 29.252 7382
+-80.372 29.252 7207
+-80.246 29.252 7198
+-80.12 29.252 7041
+-79.994 29.252 6844
+-79.868 29.252 6796
+-79.742 29.252 6621
+-79.616 29.252 6514
+-79.49 29.252 6465
+-79.364 29.252 6343
+-79.238 29.252 6188
+-79.112 29.252 6027
+-78.986 29.252 5909
+-78.86 29.252 5798
+-78.734 29.252 5666
+-78.608 29.252 5444
+-78.482 29.252 5367
+-78.356 29.252 5245
+-78.23 29.252 5098
+-78.104 29.252 4983
+-77.978 29.252 4894
+-77.852 29.252 4849
+-77.726 29.252 4771
+-77.6 29.252 4643
+-77.474 29.252 4491
+-77.348 29.252 4349
+-77.222 29.252 4196
+-77.096 29.252 4045
+-76.97 29.252 3937
+-76.844 29.252 3828
+-76.718 29.252 3767
+-76.592 29.252 3725
+-76.466 29.252 3664
+-76.34 29.252 3613
+-76.214 29.252 3569
+-76.088 29.252 3525
+-75.962 29.252 3505
+-75.836 29.252 3505
+-75.71 29.252 3513
+-75.584 29.252 3526
+-75.458 29.252 3542
+-75.332 29.252 3557
+-75.206 29.252 3572
+-75.08 29.252 3539
+-74.954 29.252 3522
+-74.828 29.252 3532
+-74.702 29.252 3540
+-74.576 29.252 3548
+-74.45 29.252 3554
+-74.324 29.252 3561
+-74.198 29.252 3566
+-74.072 29.252 3571
+-73.946 29.252 3576
+-73.82 29.252 3580
+-73.694 29.252 3584
+-73.568 29.252 3588
+-73.442 29.252 3551
+-73.316 29.252 3552
+-73.19 29.252 3554
+-73.064 29.252 3390
+-72.938 29.252 3378
+-72.812 29.252 3311
+-72.686 29.252 3308
+-72.56 29.252 3306
+-72.434 29.252 3240
+-72.308 29.252 3238
+-72.182 29.252 3213
+-72.056 29.252 3191
+-71.93 29.252 3189
+-71.804 29.252 3187
+-71.678 29.252 3186
+-71.552 29.252 3184
+-71.426 29.252 3183
+-71.3 29.252 3181
+-71.174 29.252 3180
+-71.048 29.252 3179
+-70.922 29.252 3178
+-70.796 29.252 3177
+-70.67 29.252 3081
+-70.544 29.252 3080
+-70.418 29.252 3080
+-70.292 29.252 3079
+-70.166 29.252 3079
+-70.04 29.252 3078
+-69.914 29.252 3078
+-69.788 29.252 3077
+-69.662 29.252 3077
+-69.536 29.252 3076
+-69.41 29.252 3076
+-69.284 29.252 3076
+-69.158 29.252 3075
+-69.032 29.252 3075
+-68.906 29.252 3075
+-68.78 29.252 3074
+-68.654 29.252 3074
+-68.528 29.252 3074
+-68.402 29.252 3074
+-68.276 29.252 3074
+-68.15 29.252 3073
+-68.024 29.252 3073
+-67.898 29.252 3073
+-67.772 29.252 3073
+-67.646 29.252 3073
+-67.52 29.252 3073
+-67.394 29.252 3073
+-67.268 29.252 3073
+-67.142 29.252 3072
+-67.016 29.252 3072
+-66.89 29.252 3072
+-66.764 29.252 3072
+-66.638 29.252 3072
+-66.512 29.252 3072
+-66.386 29.252 3072
+-66.26 29.252 3072
+-66.134 29.252 3072
+-66.008 29.252 3072
+-65.882 29.252 3072
+-65.756 29.252 3072
+-65.63 29.252 3072
+-65.504 29.252 3072
+-65.378 29.252 3072
+-65.252 29.252 3072
+-65.126 29.252 3072
+-128 29.2 2304
+-127.874 29.2 2287
+-127.748 29.2 2278
+-127.622 29.2 2249
+-127.496 29.2 2249
+-127.37 29.2 2216
+-127.244 29.2 2179
+-127.118 29.2 2186
+-126.992 29.2 2166
+-126.866 29.2 2119
+-126.74 29.2 2075
+-126.614 29.2 2021
+-126.488 29.2 1963
+-126.362 29.2 1911
+-126.236 29.2 1866
+-126.11 29.2 1799
+-125.984 29.2 1730
+-125.858 29.2 1662
+-125.732 29.2 1626
+-125.606 29.2 1589
+-125.48 29.2 1543
+-125.354 29.2 1514
+-125.228 29.2 1505
+-125.102 29.2 1520
+-124.976 29.2 1560
+-124.85 29.2 1634
+-124.724 29.2 1704
+-124.598 29.2 1780
+-124.472 29.2 1859
+-124.346 29.2 1942
+-124.22 29.2 2032
+-124.094 29.2 2131
+-123.968 29.2 2240
+-123.842 29.2 2359
+-123.716 29.2 2500
+-123.59 29.2 2617
+-123.464 29.2 2717
+-123.338 29.2 2822
+-123.212 29.2 2913
+-123.086 29.2 2969
+-122.96 29.2 3009
+-122.834 29.2 3035
+-122.708 29.2 3114
+-122.582 29.2 3095
+-122.456 29.2 3063
+-122.33 29.2 3037
+-122.204 29.2 3052
+-122.078 29.2 3123
+-121.952 29.2 3229
+-121.826 29.2 3334
+-121.7 29.2 3421
+-121.574 29.2 3495
+-121.448 29.2 3510
+-121.322 29.2 3509
+-121.196 29.2 3586
+-121.07 29.2 3720
+-120.944 29.2 3783
+-120.818 29.2 3808
+-120.692 29.2 3950
+-120.566 29.2 4136
+-120.44 29.2 4298
+-120.314 29.2 4427
+-120.188 29.2 4524
+-120.062 29.2 4660
+-119.936 29.2 4738
+-119.81 29.2 4841
+-119.684 29.2 4900
+-119.558 29.2 4942
+-119.432 29.2 4972
+-119.306 29.2 5013
+-119.18 29.2 5111
+-119.054 29.2 5183
+-118.928 29.2 5247
+-118.802 29.2 5278
+-118.676 29.2 5317
+-118.55 29.2 5345
+-118.424 29.2 5370
+-118.298 29.2 5421
+-118.172 29.2 5502
+-118.046 29.2 5459
+-117.92 29.2 5491
+-117.794 29.2 5550
+-117.668 29.2 5603
+-117.542 29.2 5659
+-117.416 29.2 5679
+-117.29 29.2 5688
+-117.164 29.2 5694
+-117.038 29.2 5701
+-116.912 29.2 5686
+-116.786 29.2 5673
+-116.66 29.2 5655
+-116.534 29.2 5625
+-116.408 29.2 5598
+-116.282 29.2 5573
+-116.156 29.2 5539
+-116.03 29.2 5484
+-115.904 29.2 5467
+-115.778 29.2 5460
+-115.652 29.2 5419
+-115.526 29.2 5349
+-115.4 29.2 5330
+-115.274 29.2 5268
+-115.148 29.2 5169
+-115.022 29.2 5059
+-114.896 29.2 5008
+-114.77 29.2 4995
+-114.644 29.2 4941
+-114.518 29.2 4894
+-114.392 29.2 4870
+-114.266 29.2 4834
+-114.14 29.2 4838
+-114.014 29.2 4873
+-113.888 29.2 4946
+-113.762 29.2 5007
+-113.636 29.2 5078
+-113.51 29.2 5203
+-113.384 29.2 5343
+-113.258 29.2 5441
+-113.132 29.2 5498
+-113.006 29.2 5591
+-112.88 29.2 5723
+-112.754 29.2 5819
+-112.628 29.2 5905
+-112.502 29.2 6017
+-112.376 29.2 6081
+-112.25 29.2 6167
+-112.124 29.2 6274
+-111.998 29.2 6375
+-111.872 29.2 6440
+-111.746 29.2 6515
+-111.62 29.2 6533
+-111.494 29.2 6636
+-111.368 29.2 6628
+-111.242 29.2 6714
+-111.116 29.2 6751
+-110.99 29.2 6796
+-110.864 29.2 6829
+-110.738 29.2 6865
+-110.612 29.2 6861
+-110.486 29.2 6889
+-110.36 29.2 6868
+-110.234 29.2 6879
+-110.108 29.2 6859
+-109.982 29.2 6841
+-109.856 29.2 6798
+-109.73 29.2 6756
+-109.604 29.2 6718
+-109.478 29.2 6685
+-109.352 29.2 6644
+-109.226 29.2 6573
+-109.1 29.2 6552
+-108.974 29.2 6456
+-108.848 29.2 6428
+-108.722 29.2 6326
+-108.596 29.2 6271
+-108.47 29.2 6139
+-108.344 29.2 6004
+-108.218 29.2 5939
+-108.092 29.2 5864
+-107.966 29.2 5775
+-107.84 29.2 5671
+-107.714 29.2 5658
+-107.588 29.2 5554
+-107.462 29.2 5462
+-107.336 29.2 5412
+-107.21 29.2 5324
+-107.084 29.2 5221
+-106.958 29.2 5055
+-106.832 29.2 4887
+-106.706 29.2 4761
+-106.58 29.2 4713
+-106.454 29.2 4678
+-106.328 29.2 4635
+-106.202 29.2 4570
+-106.076 29.2 4447
+-105.95 29.2 4240
+-105.824 29.2 4050
+-105.698 29.2 3860
+-105.572 29.2 3755
+-105.446 29.2 3766
+-105.32 29.2 3746
+-105.194 29.2 3665
+-105.068 29.2 3490
+-104.942 29.2 3195
+-104.816 29.2 2919
+-104.69 29.2 2792
+-104.564 29.2 2853
+-104.438 29.2 2971
+-104.312 29.2 3087
+-104.186 29.2 3174
+-104.06 29.2 3232
+-103.934 29.2 3271
+-103.808 29.2 3267
+-103.682 29.2 3282
+-103.556 29.2 3291
+-103.43 29.2 3296
+-103.304 29.2 3298
+-103.178 29.2 3299
+-103.052 29.2 3254
+-102.926 29.2 3253
+-102.8 29.2 3251
+-102.674 29.2 3250
+-102.548 29.2 3249
+-102.422 29.2 3215
+-102.296 29.2 3215
+-102.17 29.2 3131
+-102.044 29.2 3168
+-101.918 29.2 3134
+-101.792 29.2 3147
+-101.666 29.2 3105
+-101.54 29.2 3109
+-101.414 29.2 3112
+-101.288 29.2 3103
+-101.162 29.2 3107
+-101.036 29.2 3067
+-100.91 29.2 3070
+-100.784 29.2 3059
+-100.658 29.2 3061
+-100.532 29.2 3064
+-100.406 29.2 2974
+-100.28 29.2 2916
+-100.154 29.2 2865
+-100.028 29.2 2806
+-99.902 29.2 2803
+-99.776 29.2 2799
+-99.65 29.2 2796
+-99.524 29.2 2791
+-99.398 29.2 2787
+-99.272 29.2 2782
+-99.146 29.2 2777
+-99.02 29.2 2771
+-98.894 29.2 2766
+-98.768 29.2 2759
+-98.642 29.2 2753
+-98.516 29.2 2746
+-98.39 29.2 2650
+-98.264 29.2 2575
+-98.138 29.2 2567
+-98.012 29.2 2558
+-97.886 29.2 2522
+-97.76 29.2 2513
+-97.634 29.2 2505
+-97.508 29.2 2502
+-97.382 29.2 2456
+-97.256 29.2 2404
+-97.13 29.2 2392
+-97.004 29.2 2339
+-96.878 29.2 2350
+-96.752 29.2 2365
+-96.626 29.2 2321
+-96.5 29.2 2295
+-96.374 29.2 2295
+-96.248 29.2 2298
+-96.122 29.2 2340
+-95.996 29.2 2306
+-95.87 29.2 2311
+-95.744 29.2 2385
+-95.618 29.2 2389
+-95.492 29.2 2393
+-95.366 29.2 2397
+-95.24 29.2 2401
+-95.114 29.2 2398
+-94.988 29.2 2393
+-94.862 29.2 2428
+-94.736 29.2 2457
+-94.61 29.2 2455
+-94.484 29.2 2449
+-94.358 29.2 2457
+-94.232 29.2 2470
+-94.106 29.2 2485
+-93.98 29.2 2492
+-93.854 29.2 2500
+-93.728 29.2 2515
+-93.602 29.2 2522
+-93.476 29.2 2529
+-93.35 29.2 2692
+-93.224 29.2 2701
+-93.098 29.2 2723
+-92.972 29.2 2732
+-92.846 29.2 2742
+-92.72 29.2 2872
+-92.594 29.2 2875
+-92.468 29.2 2874
+-92.342 29.2 3004
+-92.216 29.2 3089
+-92.09 29.2 3092
+-91.964 29.2 3130
+-91.838 29.2 3164
+-91.712 29.2 3190
+-91.586 29.2 3191
+-91.46 29.2 3191
+-91.334 29.2 3328
+-91.208 29.2 3383
+-91.082 29.2 3446
+-90.956 29.2 3443
+-90.83 29.2 3439
+-90.704 29.2 3435
+-90.578 29.2 3431
+-90.452 29.2 3426
+-90.326 29.2 3421
+-90.2 29.2 3415
+-90.074 29.2 3412
+-89.948 29.2 3405
+-89.822 29.2 3480
+-89.696 29.2 3513
+-89.57 29.2 3499
+-89.444 29.2 3484
+-89.318 29.2 3467
+-89.192 29.2 3470
+-89.066 29.2 3499
+-88.94 29.2 3504
+-88.814 29.2 3484
+-88.688 29.2 3478
+-88.562 29.2 3496
+-88.436 29.2 3521
+-88.31 29.2 3550
+-88.184 29.2 3602
+-88.058 29.2 3726
+-87.932 29.2 3822
+-87.806 29.2 3941
+-87.68 29.2 4034
+-87.554 29.2 4131
+-87.428 29.2 4199
+-87.302 29.2 4300
+-87.176 29.2 4458
+-87.05 29.2 4645
+-86.924 29.2 4733
+-86.798 29.2 4825
+-86.672 29.2 4877
+-86.546 29.2 4953
+-86.42 29.2 5053
+-86.294 29.2 5148
+-86.168 29.2 5199
+-86.042 29.2 5331
+-85.916 29.2 5478
+-85.79 29.2 5632
+-85.664 29.2 5677
+-85.538 29.2 5802
+-85.412 29.2 5971
+-85.286 29.2 6089
+-85.16 29.2 6190
+-85.034 29.2 6291
+-84.908 29.2 6414
+-84.782 29.2 6569
+-84.656 29.2 6758
+-84.53 29.2 6873
+-84.404 29.2 6959
+-84.278 29.2 7101
+-84.152 29.2 7191
+-84.026 29.2 7284
+-83.9 29.2 7378
+-83.774 29.2 7507
+-83.648 29.2 7637
+-83.522 29.2 7690
+-83.396 29.2 7804
+-83.27 29.2 7872
+-83.144 29.2 7987
+-83.018 29.2 8065
+-82.892 29.2 8097
+-82.766 29.2 8169
+-82.64 29.2 8212
+-82.514 29.2 8258
+-82.388 29.2 8309
+-82.262 29.2 8293
+-82.136 29.2 8287
+-82.01 29.2 8273
+-81.884 29.2 8244
+-81.758 29.2 8235
+-81.632 29.2 8167
+-81.506 29.2 8106
+-81.38 29.2 8060
+-81.254 29.2 7996
+-81.128 29.2 7927
+-81.002 29.2 7806
+-80.876 29.2 7718
+-80.75 29.2 7592
+-80.624 29.2 7497
+-80.498 29.2 7407
+-80.372 29.2 7299
+-80.246 29.2 7244
+-80.12 29.2 7106
+-79.994 29.2 6951
+-79.868 29.2 6848
+-79.742 29.2 6658
+-79.616 29.2 6519
+-79.49 29.2 6488
+-79.364 29.2 6360
+-79.238 29.2 6245
+-79.112 29.2 6106
+-78.986 29.2 5969
+-78.86 29.2 5814
+-78.734 29.2 5661
+-78.608 29.2 5461
+-78.482 29.2 5385
+-78.356 29.2 5293
+-78.23 29.2 5142
+-78.104 29.2 4979
+-77.978 29.2 4840
+-77.852 29.2 4848
+-77.726 29.2 4750
+-77.6 29.2 4643
+-77.474 29.2 4454
+-77.348 29.2 4325
+-77.222 29.2 4174
+-77.096 29.2 4014
+-76.97 29.2 3837
+-76.844 29.2 3722
+-76.718 29.2 3727
+-76.592 29.2 3723
+-76.466 29.2 3653
+-76.34 29.2 3589
+-76.214 29.2 3529
+-76.088 29.2 3476
+-75.962 29.2 3460
+-75.836 29.2 3464
+-75.71 29.2 3479
+-75.584 29.2 3500
+-75.458 29.2 3521
+-75.332 29.2 3541
+-75.206 29.2 3560
+-75.08 29.2 3544
+-74.954 29.2 3560
+-74.828 29.2 3544
+-74.702 29.2 3555
+-74.576 29.2 3564
+-74.45 29.2 3572
+-74.324 29.2 3579
+-74.198 29.2 3586
+-74.072 29.2 3592
+-73.946 29.2 3597
+-73.82 29.2 3602
+-73.694 29.2 3607
+-73.568 29.2 3548
+-73.442 29.2 3550
+-73.316 29.2 3551
+-73.19 29.2 3391
+-73.064 29.2 3398
+-72.938 29.2 3397
+-72.812 29.2 3311
+-72.686 29.2 3309
+-72.56 29.2 3307
+-72.434 29.2 3312
+-72.308 29.2 3256
+-72.182 29.2 3194
+-72.056 29.2 3192
+-71.93 29.2 3191
+-71.804 29.2 3189
+-71.678 29.2 3187
+-71.552 29.2 3186
+-71.426 29.2 3184
+-71.3 29.2 3183
+-71.174 29.2 3181
+-71.048 29.2 3180
+-70.922 29.2 3179
+-70.796 29.2 3084
+-70.67 29.2 3083
+-70.544 29.2 3082
+-70.418 29.2 3081
+-70.292 29.2 3081
+-70.166 29.2 3080
+-70.04 29.2 3080
+-69.914 29.2 3079
+-69.788 29.2 3079
+-69.662 29.2 3078
+-69.536 29.2 3078
+-69.41 29.2 3077
+-69.284 29.2 3077
+-69.158 29.2 3077
+-69.032 29.2 3076
+-68.906 29.2 3076
+-68.78 29.2 3076
+-68.654 29.2 3075
+-68.528 29.2 3075
+-68.402 29.2 3075
+-68.276 29.2 3075
+-68.15 29.2 3075
+-68.024 29.2 3074
+-67.898 29.2 3074
+-67.772 29.2 3074
+-67.646 29.2 3074
+-67.52 29.2 3074
+-67.394 29.2 3074
+-67.268 29.2 3074
+-67.142 29.2 3073
+-67.016 29.2 3073
+-66.89 29.2 3073
+-66.764 29.2 3073
+-66.638 29.2 3073
+-66.512 29.2 3073
+-66.386 29.2 3073
+-66.26 29.2 3073
+-66.134 29.2 3073
+-66.008 29.2 3073
+-65.882 29.2 3073
+-65.756 29.2 3073
+-65.63 29.2 3073
+-65.504 29.2 3073
+-65.378 29.2 3073
+-65.252 29.2 3073
+-65.126 29.2 3073
+-128 29.148 2317
+-127.874 29.148 2309
+-127.748 29.148 2284
+-127.622 29.148 2288
+-127.496 29.148 2258
+-127.37 29.148 2226
+-127.244 29.148 2238
+-127.118 29.148 2225
+-126.992 29.148 2185
+-126.866 29.148 2149
+-126.74 29.148 2102
+-126.614 29.148 2053
+-126.488 29.148 2011
+-126.362 29.148 1977
+-126.236 29.148 1922
+-126.11 29.148 1865
+-125.984 29.148 1808
+-125.858 29.148 1782
+-125.732 29.148 1755
+-125.606 29.148 1713
+-125.48 29.148 1681
+-125.354 29.148 1663
+-125.228 29.148 1660
+-125.102 29.148 1680
+-124.976 29.148 1732
+-124.85 29.148 1781
+-124.724 29.148 1841
+-124.598 29.148 1908
+-124.472 29.148 1981
+-124.346 29.148 2060
+-124.22 29.148 2144
+-124.094 29.148 2237
+-123.968 29.148 2339
+-123.842 29.148 2465
+-123.716 29.148 2573
+-123.59 29.148 2668
+-123.464 29.148 2774
+-123.338 29.148 2871
+-123.212 29.148 2935
+-123.086 29.148 2986
+-122.96 29.148 3038
+-122.834 29.148 3074
+-122.708 29.148 3145
+-122.582 29.148 3138
+-122.456 29.148 3127
+-122.33 29.148 3135
+-122.204 29.148 3178
+-122.078 29.148 3223
+-121.952 29.148 3304
+-121.826 29.148 3384
+-121.7 29.148 3459
+-121.574 29.148 3502
+-121.448 29.148 3493
+-121.322 29.148 3463
+-121.196 29.148 3514
+-121.07 29.148 3622
+-120.944 29.148 3726
+-120.818 29.148 3785
+-120.692 29.148 3910
+-120.566 29.148 4076
+-120.44 29.148 4235
+-120.314 29.148 4359
+-120.188 29.148 4431
+-120.062 29.148 4480
+-119.936 29.148 4595
+-119.81 29.148 4755
+-119.684 29.148 4838
+-119.558 29.148 4881
+-119.432 29.148 4912
+-119.306 29.148 4958
+-119.18 29.148 5006
+-119.054 29.148 5073
+-118.928 29.148 5164
+-118.802 29.148 5217
+-118.676 29.148 5252
+-118.55 29.148 5255
+-118.424 29.148 5304
+-118.298 29.148 5375
+-118.172 29.148 5414
+-118.046 29.148 5448
+-117.92 29.148 5447
+-117.794 29.148 5486
+-117.668 29.148 5531
+-117.542 29.148 5586
+-117.416 29.148 5598
+-117.29 29.148 5596
+-117.164 29.148 5633
+-117.038 29.148 5635
+-116.912 29.148 5624
+-116.786 29.148 5616
+-116.66 29.148 5600
+-116.534 29.148 5559
+-116.408 29.148 5532
+-116.282 29.148 5563
+-116.156 29.148 5487
+-116.03 29.148 5446
+-115.904 29.148 5424
+-115.778 29.148 5389
+-115.652 29.148 5349
+-115.526 29.148 5292
+-115.4 29.148 5273
+-115.274 29.148 5194
+-115.148 29.148 5090
+-115.022 29.148 4989
+-114.896 29.148 4955
+-114.77 29.148 4916
+-114.644 29.148 4846
+-114.518 29.148 4831
+-114.392 29.148 4821
+-114.266 29.148 4812
+-114.14 29.148 4834
+-114.014 29.148 4867
+-113.888 29.148 4921
+-113.762 29.148 5009
+-113.636 29.148 5010
+-113.51 29.148 5146
+-113.384 29.148 5286
+-113.258 29.148 5395
+-113.132 29.148 5459
+-113.006 29.148 5598
+-112.88 29.148 5696
+-112.754 29.148 5803
+-112.628 29.148 5850
+-112.502 29.148 5951
+-112.376 29.148 6077
+-112.25 29.148 6150
+-112.124 29.148 6261
+-111.998 29.148 6292
+-111.872 29.148 6362
+-111.746 29.148 6447
+-111.62 29.148 6508
+-111.494 29.148 6564
+-111.368 29.148 6620
+-111.242 29.148 6668
+-111.116 29.148 6705
+-110.99 29.148 6752
+-110.864 29.148 6753
+-110.738 29.148 6791
+-110.612 29.148 6816
+-110.486 29.148 6829
+-110.36 29.148 6788
+-110.234 29.148 6812
+-110.108 29.148 6799
+-109.982 29.148 6770
+-109.856 29.148 6728
+-109.73 29.148 6710
+-109.604 29.148 6666
+-109.478 29.148 6624
+-109.352 29.148 6586
+-109.226 29.148 6503
+-109.1 29.148 6447
+-108.974 29.148 6433
+-108.848 29.148 6347
+-108.722 29.148 6206
+-108.596 29.148 6217
+-108.47 29.148 6106
+-108.344 29.148 5973
+-108.218 29.148 5871
+-108.092 29.148 5793
+-107.966 29.148 5737
+-107.84 29.148 5679
+-107.714 29.148 5625
+-107.588 29.148 5548
+-107.462 29.148 5504
+-107.336 29.148 5445
+-107.21 29.148 5326
+-107.084 29.148 5213
+-106.958 29.148 5091
+-106.832 29.148 4947
+-106.706 29.148 4833
+-106.58 29.148 4742
+-106.454 29.148 4651
+-106.328 29.148 4602
+-106.202 29.148 4503
+-106.076 29.148 4430
+-105.95 29.148 4270
+-105.824 29.148 4072
+-105.698 29.148 3929
+-105.572 29.148 3855
+-105.446 29.148 3787
+-105.32 29.148 3737
+-105.194 29.148 3609
+-105.068 29.148 3396
+-104.942 29.148 3114
+-104.816 29.148 2807
+-104.69 29.148 2677
+-104.564 29.148 2776
+-104.438 29.148 2944
+-104.312 29.148 3083
+-104.186 29.148 3153
+-104.06 29.148 3218
+-103.934 29.148 3261
+-103.808 29.148 3290
+-103.682 29.148 3279
+-103.556 29.148 3291
+-103.43 29.148 3298
+-103.304 29.148 3303
+-103.178 29.148 3306
+-103.052 29.148 3307
+-102.926 29.148 3263
+-102.8 29.148 3262
+-102.674 29.148 3261
+-102.548 29.148 3261
+-102.422 29.148 3261
+-102.296 29.148 3228
+-102.17 29.148 3228
+-102.044 29.148 3142
+-101.918 29.148 3143
+-101.792 29.148 3145
+-101.666 29.148 3120
+-101.54 29.148 3116
+-101.414 29.148 3119
+-101.288 29.148 3122
+-101.162 29.148 3070
+-101.036 29.148 3073
+-100.91 29.148 3075
+-100.784 29.148 3078
+-100.658 29.148 3022
+-100.532 29.148 3024
+-100.406 29.148 2922
+-100.28 29.148 2918
+-100.154 29.148 2921
+-100.028 29.148 2809
+-99.902 29.148 2805
+-99.776 29.148 2802
+-99.65 29.148 2798
+-99.524 29.148 2794
+-99.398 29.148 2789
+-99.272 29.148 2785
+-99.146 29.148 2780
+-99.02 29.148 2774
+-98.894 29.148 2769
+-98.768 29.148 2763
+-98.642 29.148 2756
+-98.516 29.148 2750
+-98.39 29.148 2743
+-98.264 29.148 2620
+-98.138 29.148 2571
+-98.012 29.148 2563
+-97.886 29.148 2527
+-97.76 29.148 2519
+-97.634 29.148 2510
+-97.508 29.148 2508
+-97.382 29.148 2462
+-97.256 29.148 2413
+-97.13 29.148 2398
+-97.004 29.148 2345
+-96.878 29.148 2339
+-96.752 29.148 2367
+-96.626 29.148 2323
+-96.5 29.148 2297
+-96.374 29.148 2300
+-96.248 29.148 2304
+-96.122 29.148 2345
+-95.996 29.148 2313
+-95.87 29.148 2318
+-95.744 29.148 2392
+-95.618 29.148 2396
+-95.492 29.148 2399
+-95.366 29.148 2403
+-95.24 29.148 2400
+-95.114 29.148 2396
+-94.988 29.148 2431
+-94.862 29.148 2461
+-94.736 29.148 2458
+-94.61 29.148 2452
+-94.484 29.148 2461
+-94.358 29.148 2488
+-94.232 29.148 2489
+-94.106 29.148 2495
+-93.98 29.148 2512
+-93.854 29.148 2519
+-93.728 29.148 2526
+-93.602 29.148 2533
+-93.476 29.148 2540
+-93.35 29.148 2703
+-93.224 29.148 2725
+-93.098 29.148 2734
+-92.972 29.148 2743
+-92.846 29.148 2877
+-92.72 29.148 2880
+-92.594 29.148 2883
+-92.468 29.148 2924
+-92.342 29.148 3132
+-92.216 29.148 3134
+-92.09 29.148 3137
+-91.964 29.148 3139
+-91.838 29.148 3156
+-91.712 29.148 3201
+-91.586 29.148 3202
+-91.46 29.148 3338
+-91.334 29.148 3414
+-91.208 29.148 3482
+-91.082 29.148 3479
+-90.956 29.148 3476
+-90.83 29.148 3472
+-90.704 29.148 3468
+-90.578 29.148 3463
+-90.452 29.148 3458
+-90.326 29.148 3453
+-90.2 29.148 3447
+-90.074 29.148 3440
+-89.948 29.148 3504
+-89.822 29.148 3539
+-89.696 29.148 3526
+-89.57 29.148 3513
+-89.444 29.148 3498
+-89.318 29.148 3515
+-89.192 29.148 3504
+-89.066 29.148 3543
+-88.94 29.148 3522
+-88.814 29.148 3502
+-88.688 29.148 3487
+-88.562 29.148 3489
+-88.436 29.148 3524
+-88.31 29.148 3581
+-88.184 29.148 3676
+-88.058 29.148 3763
+-87.932 29.148 3900
+-87.806 29.148 3980
+-87.68 29.148 4085
+-87.554 29.148 4157
+-87.428 29.148 4266
+-87.302 29.148 4354
+-87.176 29.148 4523
+-87.05 29.148 4710
+-86.924 29.148 4764
+-86.798 29.148 4837
+-86.672 29.148 4858
+-86.546 29.148 4846
+-86.42 29.148 4981
+-86.294 29.148 5139
+-86.168 29.148 5240
+-86.042 29.148 5363
+-85.916 29.148 5470
+-85.79 29.148 5628
+-85.664 29.148 5740
+-85.538 29.148 5876
+-85.412 29.148 6005
+-85.286 29.148 6132
+-85.16 29.148 6219
+-85.034 29.148 6341
+-84.908 29.148 6427
+-84.782 29.148 6637
+-84.656 29.148 6797
+-84.53 29.148 6916
+-84.404 29.148 6946
+-84.278 29.148 7093
+-84.152 29.148 7228
+-84.026 29.148 7273
+-83.9 29.148 7466
+-83.774 29.148 7543
+-83.648 29.148 7650
+-83.522 29.148 7739
+-83.396 29.148 7852
+-83.27 29.148 7983
+-83.144 29.148 8031
+-83.018 29.148 8124
+-82.892 29.148 8112
+-82.766 29.148 8222
+-82.64 29.148 8273
+-82.514 29.148 8307
+-82.388 29.148 8346
+-82.262 29.148 8373
+-82.136 29.148 8327
+-82.01 29.148 8308
+-81.884 29.148 8297
+-81.758 29.148 8299
+-81.632 29.148 8218
+-81.506 29.148 8139
+-81.38 29.148 8107
+-81.254 29.148 8049
+-81.128 29.148 7950
+-81.002 29.148 7857
+-80.876 29.148 7782
+-80.75 29.148 7622
+-80.624 29.148 7558
+-80.498 29.148 7465
+-80.372 29.148 7299
+-80.246 29.148 7257
+-80.12 29.148 7098
+-79.994 29.148 6965
+-79.868 29.148 6852
+-79.742 29.148 6735
+-79.616 29.148 6579
+-79.49 29.148 6492
+-79.364 29.148 6374
+-79.238 29.148 6212
+-79.112 29.148 6167
+-78.986 29.148 6001
+-78.86 29.148 5866
+-78.734 29.148 5689
+-78.608 29.148 5524
+-78.482 29.148 5412
+-78.356 29.148 5311
+-78.23 29.148 5176
+-78.104 29.148 5041
+-77.978 29.148 4904
+-77.852 29.148 4815
+-77.726 29.148 4690
+-77.6 29.148 4616
+-77.474 29.148 4457
+-77.348 29.148 4253
+-77.222 29.148 4103
+-77.096 29.148 3991
+-76.97 29.148 3769
+-76.844 29.148 3627
+-76.718 29.148 3686
+-76.592 29.148 3685
+-76.466 29.148 3629
+-76.34 29.148 3547
+-76.214 29.148 3463
+-76.088 29.148 3391
+-75.962 29.148 3380
+-75.836 29.148 3401
+-75.71 29.148 3436
+-75.584 29.148 3472
+-75.458 29.148 3504
+-75.332 29.148 3532
+-75.206 29.148 3555
+-75.08 29.148 3575
+-74.954 29.148 3553
+-74.828 29.148 3568
+-74.702 29.148 3553
+-74.576 29.148 3563
+-74.45 29.148 3572
+-74.324 29.148 3579
+-74.198 29.148 3586
+-74.072 29.148 3593
+-73.946 29.148 3598
+-73.82 29.148 3603
+-73.694 29.148 3545
+-73.568 29.148 3547
+-73.442 29.148 3548
+-73.316 29.148 3550
+-73.19 29.148 3396
+-73.064 29.148 3395
+-72.938 29.148 3395
+-72.812 29.148 3338
+-72.686 29.148 3337
+-72.56 29.148 3313
+-72.434 29.148 3259
+-72.308 29.148 3257
+-72.182 29.148 3255
+-72.056 29.148 3194
+-71.93 29.148 3192
+-71.804 29.148 3190
+-71.678 29.148 3189
+-71.552 29.148 3187
+-71.426 29.148 3186
+-71.3 29.148 3184
+-71.174 29.148 3183
+-71.048 29.148 3181
+-70.922 29.148 3086
+-70.796 29.148 3085
+-70.67 29.148 3085
+-70.544 29.148 3084
+-70.418 29.148 3083
+-70.292 29.148 3082
+-70.166 29.148 3082
+-70.04 29.148 3081
+-69.914 29.148 3081
+-69.788 29.148 3080
+-69.662 29.148 3080
+-69.536 29.148 3079
+-69.41 29.148 3079
+-69.284 29.148 3078
+-69.158 29.148 3078
+-69.032 29.148 3078
+-68.906 29.148 3077
+-68.78 29.148 3077
+-68.654 29.148 3077
+-68.528 29.148 3076
+-68.402 29.148 3076
+-68.276 29.148 3076
+-68.15 29.148 3076
+-68.024 29.148 3075
+-67.898 29.148 3075
+-67.772 29.148 3075
+-67.646 29.148 3075
+-67.52 29.148 3075
+-67.394 29.148 3075
+-67.268 29.148 3074
+-67.142 29.148 3074
+-67.016 29.148 3074
+-66.89 29.148 3074
+-66.764 29.148 3074
+-66.638 29.148 3074
+-66.512 29.148 3074
+-66.386 29.148 3074
+-66.26 29.148 3074
+-66.134 29.148 3074
+-66.008 29.148 3074
+-65.882 29.148 3074
+-65.756 29.148 3074
+-65.63 29.148 3073
+-65.504 29.148 3073
+-65.378 29.148 3073
+-65.252 29.148 3073
+-65.126 29.148 3073
+-128 29.096 2338
+-127.874 29.096 2315
+-127.748 29.096 2324
+-127.622 29.096 2297
+-127.496 29.096 2269
+-127.37 29.096 2285
+-127.244 29.096 2278
+-127.118 29.096 2243
+-126.992 29.096 2213
+-126.866 29.096 2173
+-126.74 29.096 2131
+-126.614 29.096 2097
+-126.488 29.096 2072
+-126.362 29.096 2025
+-126.236 29.096 1978
+-126.11 29.096 1930
+-125.984 29.096 1910
+-125.858 29.096 1893
+-125.732 29.096 1856
+-125.606 29.096 1825
+-125.48 29.096 1803
+-125.354 29.096 1793
+-125.228 29.096 1800
+-125.102 29.096 1836
+-124.976 29.096 1868
+-124.85 29.096 1911
+-124.724 29.096 1964
+-124.598 29.096 2024
+-124.472 29.096 2091
+-124.346 29.096 2163
+-124.22 29.096 2245
+-124.094 29.096 2333
+-123.968 29.096 2446
+-123.842 29.096 2543
+-123.716 29.096 2630
+-123.59 29.096 2732
+-123.464 29.096 2830
+-123.338 29.096 2898
+-123.212 29.096 2956
+-123.086 29.096 3018
+-122.96 29.096 3056
+-122.834 29.096 3080
+-122.708 29.096 3176
+-122.582 29.096 3179
+-122.456 29.096 3168
+-122.33 29.096 3179
+-122.204 29.096 3250
+-122.078 29.096 3298
+-121.952 29.096 3353
+-121.826 29.096 3424
+-121.7 29.096 3477
+-121.574 29.096 3498
+-121.448 29.096 3497
+-121.322 29.096 3490
+-121.196 29.096 3475
+-121.07 29.096 3540
+-120.944 29.096 3649
+-120.818 29.096 3751
+-120.692 29.096 3875
+-120.566 29.096 4055
+-120.44 29.096 4214
+-120.314 29.096 4335
+-120.188 29.096 4409
+-120.062 29.096 4400
+-119.936 29.096 4499
+-119.81 29.096 4683
+-119.684 29.096 4783
+-119.558 29.096 4824
+-119.432 29.096 4827
+-119.306 29.096 4888
+-119.18 29.096 4972
+-119.054 29.096 5008
+-118.928 29.096 5116
+-118.802 29.096 5177
+-118.676 29.096 5209
+-118.55 29.096 5212
+-118.424 29.096 5257
+-118.298 29.096 5331
+-118.172 29.096 5381
+-118.046 29.096 5401
+-117.92 29.096 5434
+-117.794 29.096 5515
+-117.668 29.096 5472
+-117.542 29.096 5505
+-117.416 29.096 5522
+-117.29 29.096 5534
+-117.164 29.096 5544
+-117.038 29.096 5550
+-116.912 29.096 5565
+-116.786 29.096 5559
+-116.66 29.096 5529
+-116.534 29.096 5507
+-116.408 29.096 5483
+-116.282 29.096 5478
+-116.156 29.096 5452
+-116.03 29.096 5420
+-115.904 29.096 5368
+-115.778 29.096 5318
+-115.652 29.096 5283
+-115.526 29.096 5199
+-115.4 29.096 5162
+-115.274 29.096 5110
+-115.148 29.096 5023
+-115.022 29.096 4949
+-114.896 29.096 4917
+-114.77 29.096 4867
+-114.644 29.096 4778
+-114.518 29.096 4778
+-114.392 29.096 4757
+-114.266 29.096 4752
+-114.14 29.096 4790
+-114.014 29.096 4842
+-113.888 29.096 4861
+-113.762 29.096 4982
+-113.636 29.096 5093
+-113.51 29.096 5149
+-113.384 29.096 5247
+-113.258 29.096 5310
+-113.132 29.096 5425
+-113.006 29.096 5533
+-112.88 29.096 5653
+-112.754 29.096 5739
+-112.628 29.096 5823
+-112.502 29.096 5906
+-112.376 29.096 6015
+-112.25 29.096 6108
+-112.124 29.096 6152
+-111.998 29.096 6239
+-111.872 29.096 6347
+-111.746 29.096 6372
+-111.62 29.096 6410
+-111.494 29.096 6490
+-111.368 29.096 6545
+-111.242 29.096 6614
+-111.116 29.096 6641
+-110.99 29.096 6689
+-110.864 29.096 6683
+-110.738 29.096 6716
+-110.612 29.096 6747
+-110.486 29.096 6733
+-110.36 29.096 6751
+-110.234 29.096 6743
+-110.108 29.096 6728
+-109.982 29.096 6713
+-109.856 29.096 6698
+-109.73 29.096 6659
+-109.604 29.096 6612
+-109.478 29.096 6588
+-109.352 29.096 6534
+-109.226 29.096 6489
+-109.1 29.096 6371
+-108.974 29.096 6389
+-108.848 29.096 6277
+-108.722 29.096 6168
+-108.596 29.096 6149
+-108.47 29.096 6052
+-108.344 29.096 5928
+-108.218 29.096 5809
+-108.092 29.096 5778
+-107.966 29.096 5704
+-107.84 29.096 5613
+-107.714 29.096 5532
+-107.588 29.096 5509
+-107.462 29.096 5468
+-107.336 29.096 5427
+-107.21 29.096 5330
+-107.084 29.096 5220
+-106.958 29.096 5092
+-106.832 29.096 4983
+-106.706 29.096 4863
+-106.58 29.096 4714
+-106.454 29.096 4624
+-106.328 29.096 4526
+-106.202 29.096 4429
+-106.076 29.096 4311
+-105.95 29.096 4185
+-105.824 29.096 4056
+-105.698 29.096 3975
+-105.572 29.096 3906
+-105.446 29.096 3837
+-105.32 29.096 3752
+-105.194 29.096 3567
+-105.068 29.096 3395
+-104.942 29.096 3156
+-104.816 29.096 2907
+-104.69 29.096 2786
+-104.564 29.096 2855
+-104.438 29.096 2999
+-104.312 29.096 3101
+-104.186 29.096 3194
+-104.06 29.096 3201
+-103.934 29.096 3241
+-103.808 29.096 3269
+-103.682 29.096 3288
+-103.556 29.096 3291
+-103.43 29.096 3300
+-103.304 29.096 3307
+-103.178 29.096 3311
+-103.052 29.096 3314
+-102.926 29.096 3316
+-102.8 29.096 3257
+-102.674 29.096 3270
+-102.548 29.096 3233
+-102.422 29.096 3232
+-102.296 29.096 3231
+-102.17 29.096 3239
+-102.044 29.096 3239
+-101.918 29.096 3151
+-101.792 29.096 3153
+-101.666 29.096 3155
+-101.54 29.096 3129
+-101.414 29.096 3125
+-101.288 29.096 3128
+-101.162 29.096 3131
+-101.036 29.096 3078
+-100.91 29.096 3080
+-100.784 29.096 3082
+-100.658 29.096 3085
+-100.532 29.096 3029
+-100.406 29.096 2924
+-100.28 29.096 2926
+-100.154 29.096 2922
+-100.028 29.096 2924
+-99.902 29.096 2808
+-99.776 29.096 2804
+-99.65 29.096 2800
+-99.524 29.096 2796
+-99.398 29.096 2792
+-99.272 29.096 2787
+-99.146 29.096 2782
+-99.02 29.096 2777
+-98.894 29.096 2772
+-98.768 29.096 2766
+-98.642 29.096 2760
+-98.516 29.096 2753
+-98.39 29.096 2747
+-98.264 29.096 2740
+-98.138 29.096 2616
+-98.012 29.096 2568
+-97.886 29.096 2532
+-97.76 29.096 2524
+-97.634 29.096 2516
+-97.508 29.096 2514
+-97.382 29.096 2468
+-97.256 29.096 2418
+-97.13 29.096 2404
+-97.004 29.096 2351
+-96.878 29.096 2345
+-96.752 29.096 2372
+-96.626 29.096 2328
+-96.5 29.096 2302
+-96.374 29.096 2305
+-96.248 29.096 2309
+-96.122 29.096 2351
+-95.996 29.096 2319
+-95.87 29.096 2324
+-95.744 29.096 2399
+-95.618 29.096 2402
+-95.492 29.096 2406
+-95.366 29.096 2403
+-95.24 29.096 2399
+-95.114 29.096 2434
+-94.988 29.096 2464
+-94.862 29.096 2461
+-94.736 29.096 2459
+-94.61 29.096 2465
+-94.484 29.096 2496
+-94.358 29.096 2502
+-94.232 29.096 2509
+-94.106 29.096 2516
+-93.98 29.096 2523
+-93.854 29.096 2529
+-93.728 29.096 2536
+-93.602 29.096 2543
+-93.476 29.096 2704
+-93.35 29.096 2722
+-93.224 29.096 2731
+-93.098 29.096 2740
+-92.972 29.096 2881
+-92.846 29.096 2884
+-92.72 29.096 2887
+-92.594 29.096 2928
+-92.468 29.096 2931
+-92.342 29.096 3139
+-92.216 29.096 3142
+-92.09 29.096 3144
+-91.964 29.096 3161
+-91.838 29.096 3163
+-91.712 29.096 3165
+-91.586 29.096 3287
+-91.46 29.096 3424
+-91.334 29.096 3494
+-91.208 29.096 3491
+-91.082 29.096 3488
+-90.956 29.096 3485
+-90.83 29.096 3482
+-90.704 29.096 3478
+-90.578 29.096 3474
+-90.452 29.096 3469
+-90.326 29.096 3464
+-90.2 29.096 3459
+-90.074 29.096 3525
+-89.948 29.096 3573
+-89.822 29.096 3566
+-89.696 29.096 3539
+-89.57 29.096 3548
+-89.444 29.096 3532
+-89.318 29.096 3548
+-89.192 29.096 3537
+-89.066 29.096 3513
+-88.94 29.096 3527
+-88.814 29.096 3501
+-88.688 29.096 3475
+-88.562 29.096 3457
+-88.436 29.096 3485
+-88.31 29.096 3560
+-88.184 29.096 3672
+-88.058 29.096 3782
+-87.932 29.096 3893
+-87.806 29.096 3993
+-87.68 29.096 4083
+-87.554 29.096 4198
+-87.428 29.096 4313
+-87.302 29.096 4402
+-87.176 29.096 4528
+-87.05 29.096 4726
+-86.924 29.096 4780
+-86.798 29.096 4842
+-86.672 29.096 4810
+-86.546 29.096 4693
+-86.42 29.096 4932
+-86.294 29.096 5093
+-86.168 29.096 5218
+-86.042 29.096 5375
+-85.916 29.096 5392
+-85.79 29.096 5575
+-85.664 29.096 5774
+-85.538 29.096 5907
+-85.412 29.096 6042
+-85.286 29.096 6135
+-85.16 29.096 6234
+-85.034 29.096 6356
+-84.908 29.096 6460
+-84.782 29.096 6701
+-84.656 29.096 6786
+-84.53 29.096 6909
+-84.404 29.096 7011
+-84.278 29.096 7066
+-84.152 29.096 7232
+-84.026 29.096 7393
+-83.9 29.096 7468
+-83.774 29.096 7594
+-83.648 29.096 7701
+-83.522 29.096 7731
+-83.396 29.096 7878
+-83.27 29.096 7964
+-83.144 29.096 8042
+-83.018 29.096 8150
+-82.892 29.096 8250
+-82.766 29.096 8306
+-82.64 29.096 8332
+-82.514 29.096 8377
+-82.388 29.096 8382
+-82.262 29.096 8392
+-82.136 29.096 8397
+-82.01 29.096 8385
+-81.884 29.096 8385
+-81.758 29.096 8325
+-81.632 29.096 8317
+-81.506 29.096 8222
+-81.38 29.096 8146
+-81.254 29.096 8069
+-81.128 29.096 7979
+-81.002 29.096 7892
+-80.876 29.096 7778
+-80.75 29.096 7656
+-80.624 29.096 7574
+-80.498 29.096 7455
+-80.372 29.096 7358
+-80.246 29.096 7259
+-80.12 29.096 7070
+-79.994 29.096 7019
+-79.868 29.096 6899
+-79.742 29.096 6773
+-79.616 29.096 6623
+-79.49 29.096 6515
+-79.364 29.096 6406
+-79.238 29.096 6257
+-79.112 29.096 6156
+-78.986 29.096 6015
+-78.86 29.096 5864
+-78.734 29.096 5714
+-78.608 29.096 5608
+-78.482 29.096 5492
+-78.356 29.096 5359
+-78.23 29.096 5215
+-78.104 29.096 5089
+-77.978 29.096 4934
+-77.852 29.096 4756
+-77.726 29.096 4628
+-77.6 29.096 4574
+-77.474 29.096 4459
+-77.348 29.096 4214
+-77.222 29.096 4020
+-77.096 29.096 4014
+-76.97 29.096 3841
+-76.844 29.096 3718
+-76.718 29.096 3702
+-76.592 29.096 3655
+-76.466 29.096 3586
+-76.34 29.096 3476
+-76.214 29.096 3343
+-76.088 29.096 3247
+-75.962 29.096 3245
+-75.836 29.096 3311
+-75.71 29.096 3380
+-75.584 29.096 3438
+-75.458 29.096 3482
+-75.332 29.096 3517
+-75.206 29.096 3545
+-75.08 29.096 3568
+-74.954 29.096 3587
+-74.828 29.096 3565
+-74.702 29.096 3579
+-74.576 29.096 3563
+-74.45 29.096 3572
+-74.324 29.096 3580
+-74.198 29.096 3587
+-74.072 29.096 3594
+-73.946 29.096 3599
+-73.82 29.096 3541
+-73.694 29.096 3543
+-73.568 29.096 3545
+-73.442 29.096 3547
+-73.316 29.096 3394
+-73.19 29.096 3393
+-73.064 29.096 3393
+-72.938 29.096 3392
+-72.812 29.096 3338
+-72.686 29.096 3315
+-72.56 29.096 3313
+-72.434 29.096 3260
+-72.308 29.096 3258
+-72.182 29.096 3256
+-72.056 29.096 3255
+-71.93 29.096 3193
+-71.804 29.096 3192
+-71.678 29.096 3190
+-71.552 29.096 3188
+-71.426 29.096 3187
+-71.3 29.096 3185
+-71.174 29.096 3181
+-71.048 29.096 3089
+-70.922 29.096 3088
+-70.796 29.096 3087
+-70.67 29.096 3086
+-70.544 29.096 3085
+-70.418 29.096 3085
+-70.292 29.096 3084
+-70.166 29.096 3083
+-70.04 29.096 3083
+-69.914 29.096 3082
+-69.788 29.096 3082
+-69.662 29.096 3081
+-69.536 29.096 3080
+-69.41 29.096 3080
+-69.284 29.096 3080
+-69.158 29.096 3079
+-69.032 29.096 3079
+-68.906 29.096 3078
+-68.78 29.096 3078
+-68.654 29.096 3078
+-68.528 29.096 3078
+-68.402 29.096 3077
+-68.276 29.096 3077
+-68.15 29.096 3077
+-68.024 29.096 3077
+-67.898 29.096 3076
+-67.772 29.096 3076
+-67.646 29.096 3076
+-67.52 29.096 3076
+-67.394 29.096 3076
+-67.268 29.096 3075
+-67.142 29.096 3075
+-67.016 29.096 3075
+-66.89 29.096 3075
+-66.764 29.096 3075
+-66.638 29.096 3075
+-66.512 29.096 3075
+-66.386 29.096 3075
+-66.26 29.096 3075
+-66.134 29.096 3074
+-66.008 29.096 3074
+-65.882 29.096 3074
+-65.756 29.096 3074
+-65.63 29.096 3074
+-65.504 29.096 3074
+-65.378 29.096 3074
+-65.252 29.096 3074
+-65.126 29.096 3074
+-128 29.044 2344
+-127.874 29.044 2356
+-127.748 29.044 2332
+-127.622 29.044 2307
+-127.496 29.044 2327
+-127.37 29.044 2325
+-127.244 29.044 2294
+-127.118 29.044 2269
+-126.992 29.044 2235
+-126.866 29.044 2199
+-126.74 29.044 2171
+-126.614 29.044 2152
+-126.488 29.044 2113
+-126.362 29.044 2073
+-126.236 29.044 2032
+-126.11 29.044 2017
+-125.984 29.044 2008
+-125.858 29.044 1976
+-125.732 29.044 1948
+-125.606 29.044 1926
+-125.48 29.044 1912
+-125.354 29.044 1913
+-125.228 29.044 1938
+-125.102 29.044 1957
+-124.976 29.044 1986
+-124.85 29.044 2025
+-124.724 29.044 2073
+-124.598 29.044 2128
+-124.472 29.044 2188
+-124.346 29.044 2260
+-124.22 29.044 2336
+-124.094 29.044 2439
+-123.968 29.044 2525
+-123.842 29.044 2603
+-123.716 29.044 2675
+-123.59 29.044 2748
+-123.464 29.044 2862
+-123.338 29.044 2923
+-123.212 29.044 2991
+-123.086 29.044 3037
+-122.96 29.044 3074
+-122.834 29.044 3101
+-122.708 29.044 3187
+-122.582 29.044 3198
+-122.456 29.044 3210
+-122.33 29.044 3227
+-122.204 29.044 3300
+-122.078 29.044 3356
+-121.952 29.044 3407
+-121.826 29.044 3441
+-121.7 29.044 3475
+-121.574 29.044 3492
+-121.448 29.044 3501
+-121.322 29.044 3499
+-121.196 29.044 3495
+-121.07 29.044 3532
+-120.944 29.044 3602
+-120.818 29.044 3706
+-120.692 29.044 3865
+-120.566 29.044 4000
+-120.44 29.044 4165
+-120.314 29.044 4287
+-120.188 29.044 4391
+-120.062 29.044 4418
+-119.936 29.044 4522
+-119.81 29.044 4658
+-119.684 29.044 4721
+-119.558 29.044 4754
+-119.432 29.044 4730
+-119.306 29.044 4808
+-119.18 29.044 4908
+-119.054 29.044 4971
+-118.928 29.044 5036
+-118.802 29.044 5108
+-118.676 29.044 5148
+-118.55 29.044 5201
+-118.424 29.044 5226
+-118.298 29.044 5272
+-118.172 29.044 5332
+-118.046 29.044 5354
+-117.92 29.044 5385
+-117.794 29.044 5411
+-117.668 29.044 5426
+-117.542 29.044 5437
+-117.416 29.044 5465
+-117.29 29.044 5482
+-117.164 29.044 5485
+-117.038 29.044 5480
+-116.912 29.044 5477
+-116.786 29.044 5478
+-116.66 29.044 5510
+-116.534 29.044 5462
+-116.408 29.044 5441
+-116.282 29.044 5438
+-116.156 29.044 5412
+-116.03 29.044 5350
+-115.904 29.044 5307
+-115.778 29.044 5281
+-115.652 29.044 5229
+-115.526 29.044 5150
+-115.4 29.044 5145
+-115.274 29.044 5065
+-115.148 29.044 5000
+-115.022 29.044 4925
+-114.896 29.044 4891
+-114.77 29.044 4834
+-114.644 29.044 4775
+-114.518 29.044 4725
+-114.392 29.044 4676
+-114.266 29.044 4679
+-114.14 29.044 4707
+-114.014 29.044 4741
+-113.888 29.044 4863
+-113.762 29.044 4978
+-113.636 29.044 5077
+-113.51 29.044 5143
+-113.384 29.044 5209
+-113.258 29.044 5320
+-113.132 29.044 5421
+-113.006 29.044 5470
+-112.88 29.044 5618
+-112.754 29.044 5648
+-112.628 29.044 5777
+-112.502 29.044 5869
+-112.376 29.044 5939
+-112.25 29.044 6035
+-112.124 29.044 6116
+-111.998 29.044 6174
+-111.872 29.044 6263
+-111.746 29.044 6310
+-111.62 29.044 6378
+-111.494 29.044 6443
+-111.368 29.044 6511
+-111.242 29.044 6544
+-111.116 29.044 6593
+-110.99 29.044 6627
+-110.864 29.044 6639
+-110.738 29.044 6647
+-110.612 29.044 6668
+-110.486 29.044 6682
+-110.36 29.044 6705
+-110.234 29.044 6683
+-110.108 29.044 6670
+-109.982 29.044 6663
+-109.856 29.044 6616
+-109.73 29.044 6617
+-109.604 29.044 6587
+-109.478 29.044 6542
+-109.352 29.044 6483
+-109.226 29.044 6415
+-109.1 29.044 6359
+-108.974 29.044 6296
+-108.848 29.044 6266
+-108.722 29.044 6181
+-108.596 29.044 6090
+-108.47 29.044 6032
+-108.344 29.044 5911
+-108.218 29.044 5778
+-108.092 29.044 5717
+-107.966 29.044 5674
+-107.84 29.044 5555
+-107.714 29.044 5439
+-107.588 29.044 5442
+-107.462 29.044 5367
+-107.336 29.044 5375
+-107.21 29.044 5330
+-107.084 29.044 5210
+-106.958 29.044 5080
+-106.832 29.044 4960
+-106.706 29.044 4817
+-106.58 29.044 4591
+-106.454 29.044 4457
+-106.328 29.044 4359
+-106.202 29.044 4295
+-106.076 29.044 4255
+-105.95 29.044 4103
+-105.824 29.044 3987
+-105.698 29.044 3920
+-105.572 29.044 3855
+-105.446 29.044 3789
+-105.32 29.044 3712
+-105.194 29.044 3608
+-105.068 29.044 3429
+-104.942 29.044 3262
+-104.816 29.044 3081
+-104.69 29.044 2998
+-104.564 29.044 3020
+-104.438 29.044 3103
+-104.312 29.044 3172
+-104.186 29.044 3221
+-104.06 29.044 3274
+-103.934 29.044 3246
+-103.808 29.044 3271
+-103.682 29.044 3289
+-103.556 29.044 3302
+-103.43 29.044 3302
+-103.304 29.044 3309
+-103.178 29.044 3315
+-103.052 29.044 3319
+-102.926 29.044 3322
+-102.8 29.044 3324
+-102.674 29.044 3266
+-102.548 29.044 3241
+-102.422 29.044 3240
+-102.296 29.044 3240
+-102.17 29.044 3240
+-102.044 29.044 3249
+-101.918 29.044 3249
+-101.792 29.044 3160
+-101.666 29.044 3161
+-101.54 29.044 3163
+-101.414 29.044 3137
+-101.288 29.044 3132
+-101.162 29.044 3135
+-101.036 29.044 3138
+-100.91 29.044 3085
+-100.784 29.044 3087
+-100.658 29.044 3089
+-100.532 29.044 3091
+-100.406 29.044 3035
+-100.28 29.044 2928
+-100.154 29.044 2930
+-100.028 29.044 2926
+-99.902 29.044 2928
+-99.776 29.044 2806
+-99.65 29.044 2803
+-99.524 29.044 2799
+-99.398 29.044 2794
+-99.272 29.044 2790
+-99.146 29.044 2785
+-99.02 29.044 2780
+-98.894 29.044 2774
+-98.768 29.044 2769
+-98.642 29.044 2763
+-98.516 29.044 2757
+-98.39 29.044 2750
+-98.264 29.044 2744
+-98.138 29.044 2737
+-98.012 29.044 2590
+-97.886 29.044 2537
+-97.76 29.044 2529
+-97.634 29.044 2521
+-97.508 29.044 2520
+-97.382 29.044 2474
+-97.256 29.044 2424
+-97.13 29.044 2410
+-97.004 29.044 2357
+-96.878 29.044 2351
+-96.752 29.044 2377
+-96.626 29.044 2333
+-96.5 29.044 2306
+-96.374 29.044 2310
+-96.248 29.044 2267
+-96.122 29.044 2214
+-95.996 29.044 2325
+-95.87 29.044 2330
+-95.744 29.044 2405
+-95.618 29.044 2409
+-95.492 29.044 2405
+-95.366 29.044 2402
+-95.24 29.044 2437
+-95.114 29.044 2468
+-94.988 29.044 2469
+-94.862 29.044 2463
+-94.736 29.044 2469
+-94.61 29.044 2500
+-94.484 29.044 2507
+-94.358 29.044 2513
+-94.232 29.044 2520
+-94.106 29.044 2526
+-93.98 29.044 2533
+-93.854 29.044 2540
+-93.728 29.044 2547
+-93.602 29.044 2712
+-93.476 29.044 2724
+-93.35 29.044 2733
+-93.224 29.044 2742
+-93.098 29.044 2884
+-92.972 29.044 2887
+-92.846 29.044 2891
+-92.72 29.044 2956
+-92.594 29.044 2934
+-92.468 29.044 3144
+-92.342 29.044 3147
+-92.216 29.044 3149
+-92.09 29.044 3166
+-91.964 29.044 3168
+-91.838 29.044 3171
+-91.712 29.044 3218
+-91.586 29.044 3284
+-91.46 29.044 3443
+-91.334 29.044 3494
+-91.208 29.044 3492
+-91.082 29.044 3489
+-90.956 29.044 3487
+-90.83 29.044 3484
+-90.704 29.044 3488
+-90.578 29.044 3485
+-90.452 29.044 3480
+-90.326 29.044 3476
+-90.2 29.044 3545
+-90.074 29.044 3595
+-89.948 29.044 3612
+-89.822 29.044 3600
+-89.696 29.044 3587
+-89.57 29.044 3572
+-89.444 29.044 3555
+-89.318 29.044 3561
+-89.192 29.044 3537
+-89.066 29.044 3519
+-88.94 29.044 3485
+-88.814 29.044 3482
+-88.688 29.044 3436
+-88.562 29.044 3421
+-88.436 29.044 3420
+-88.31 29.044 3452
+-88.184 29.044 3542
+-88.058 29.044 3678
+-87.932 29.044 3850
+-87.806 29.044 3986
+-87.68 29.044 4126
+-87.554 29.044 4258
+-87.428 29.044 4344
+-87.302 29.044 4461
+-87.176 29.044 4547
+-87.05 29.044 4723
+-86.924 29.044 4809
+-86.798 29.044 4827
+-86.672 29.044 4869
+-86.546 29.044 4857
+-86.42 29.044 4995
+-86.294 29.044 5043
+-86.168 29.044 5194
+-86.042 29.044 5358
+-85.916 29.044 5481
+-85.79 29.044 5620
+-85.664 29.044 5802
+-85.538 29.044 5884
+-85.412 29.044 6008
+-85.286 29.044 6122
+-85.16 29.044 6253
+-85.034 29.044 6364
+-84.908 29.044 6527
+-84.782 29.044 6727
+-84.656 29.044 6780
+-84.53 29.044 6927
+-84.404 29.044 6996
+-84.278 29.044 7135
+-84.152 29.044 7242
+-84.026 29.044 7382
+-83.9 29.044 7530
+-83.774 29.044 7588
+-83.648 29.044 7723
+-83.522 29.044 7852
+-83.396 29.044 7908
+-83.27 29.044 8011
+-83.144 29.044 8103
+-83.018 29.044 8221
+-82.892 29.044 8312
+-82.766 29.044 8337
+-82.64 29.044 8408
+-82.514 29.044 8443
+-82.388 29.044 8456
+-82.262 29.044 8469
+-82.136 29.044 8471
+-82.01 29.044 8437
+-81.884 29.044 8426
+-81.758 29.044 8381
+-81.632 29.044 8371
+-81.506 29.044 8257
+-81.38 29.044 8143
+-81.254 29.044 8111
+-81.128 29.044 8001
+-81.002 29.044 7882
+-80.876 29.044 7841
+-80.75 29.044 7730
+-80.624 29.044 7590
+-80.498 29.044 7460
+-80.372 29.044 7363
+-80.246 29.044 7322
+-80.12 29.044 7179
+-79.994 29.044 7066
+-79.868 29.044 6917
+-79.742 29.044 6781
+-79.616 29.044 6711
+-79.49 29.044 6550
+-79.364 29.044 6373
+-79.238 29.044 6208
+-79.112 29.044 6156
+-78.986 29.044 6015
+-78.86 29.044 5895
+-78.734 29.044 5728
+-78.608 29.044 5571
+-78.482 29.044 5557
+-78.356 29.044 5432
+-78.23 29.044 5254
+-78.104 29.044 5098
+-77.978 29.044 4946
+-77.852 29.044 4817
+-77.726 29.044 4647
+-77.6 29.044 4488
+-77.474 29.044 4481
+-77.348 29.044 4290
+-77.222 29.044 4113
+-77.096 29.044 4041
+-76.97 29.044 3895
+-76.844 29.044 3789
+-76.718 29.044 3697
+-76.592 29.044 3612
+-76.466 29.044 3535
+-76.34 29.044 3395
+-76.214 29.044 3157
+-76.088 29.044 3011
+-75.962 29.044 3087
+-75.836 29.044 3225
+-75.71 29.044 3341
+-75.584 29.044 3422
+-75.458 29.044 3479
+-75.332 29.044 3522
+-75.206 29.044 3554
+-75.08 29.044 3580
+-74.954 29.044 3601
+-74.828 29.044 3619
+-74.702 29.044 3577
+-74.576 29.044 3589
+-74.45 29.044 3573
+-74.324 29.044 3581
+-74.198 29.044 3588
+-74.072 29.044 3595
+-73.946 29.044 3537
+-73.82 29.044 3540
+-73.694 29.044 3542
+-73.568 29.044 3544
+-73.442 29.044 3392
+-73.316 29.044 3391
+-73.19 29.044 3391
+-73.064 29.044 3390
+-72.938 29.044 3389
+-72.812 29.044 3360
+-72.686 29.044 3314
+-72.56 29.044 3312
+-72.434 29.044 3310
+-72.308 29.044 3258
+-72.182 29.044 3257
+-72.056 29.044 3255
+-71.93 29.044 3254
+-71.804 29.044 3216
+-71.678 29.044 3214
+-71.552 29.044 3213
+-71.426 29.044 3212
+-71.3 29.044 3198
+-71.174 29.044 3092
+-71.048 29.044 3091
+-70.922 29.044 3090
+-70.796 29.044 3089
+-70.67 29.044 3088
+-70.544 29.044 3087
+-70.418 29.044 3086
+-70.292 29.044 3085
+-70.166 29.044 3085
+-70.04 29.044 3084
+-69.914 29.044 3083
+-69.788 29.044 3083
+-69.662 29.044 3082
+-69.536 29.044 3082
+-69.41 29.044 3081
+-69.284 29.044 3081
+-69.158 29.044 3080
+-69.032 29.044 3080
+-68.906 29.044 3080
+-68.78 29.044 3079
+-68.654 29.044 3079
+-68.528 29.044 3079
+-68.402 29.044 3078
+-68.276 29.044 3078
+-68.15 29.044 3078
+-68.024 29.044 3078
+-67.898 29.044 3077
+-67.772 29.044 3077
+-67.646 29.044 3077
+-67.52 29.044 3077
+-67.394 29.044 3076
+-67.268 29.044 3076
+-67.142 29.044 3076
+-67.016 29.044 3076
+-66.89 29.044 3076
+-66.764 29.044 3076
+-66.638 29.044 3076
+-66.512 29.044 3076
+-66.386 29.044 3075
+-66.26 29.044 3075
+-66.134 29.044 3075
+-66.008 29.044 3075
+-65.882 29.044 3075
+-65.756 29.044 3075
+-65.63 29.044 3075
+-65.504 29.044 3075
+-65.378 29.044 3075
+-65.252 29.044 3075
+-65.126 29.044 3075
+-128 28.992 2385
+-127.874 28.992 2364
+-127.748 28.992 2341
+-127.622 28.992 2365
+-127.496 28.992 2367
+-127.37 28.992 2340
+-127.244 28.992 2320
+-127.118 28.992 2290
+-126.992 28.992 2258
+-126.866 28.992 2235
+-126.74 28.992 2222
+-126.614 28.992 2188
+-126.488 28.992 2154
+-126.362 28.992 2119
+-126.236 28.992 2108
+-126.11 28.992 2106
+-125.984 28.992 2078
+-125.858 28.992 2052
+-125.732 28.992 2032
+-125.606 28.992 2016
+-125.48 28.992 2014
+-125.354 28.992 2033
+-125.228 28.992 2043
+-125.102 28.992 2062
+-124.976 28.992 2090
+-124.85 28.992 2126
+-124.724 28.992 2169
+-124.598 28.992 2219
+-124.472 28.992 2281
+-124.346 28.992 2347
+-124.22 28.992 2441
+-124.094 28.992 2487
+-123.968 28.992 2556
+-123.842 28.992 2651
+-123.716 28.992 2719
+-123.59 28.992 2831
+-123.464 28.992 2894
+-123.338 28.992 2950
+-123.212 28.992 3012
+-123.086 28.992 3055
+-122.96 28.992 3091
+-122.834 28.992 3196
+-122.708 28.992 3211
+-122.582 28.992 3226
+-122.456 28.992 3242
+-122.33 28.992 3288
+-122.204 28.992 3311
+-122.078 28.992 3406
+-121.952 28.992 3430
+-121.826 28.992 3462
+-121.7 28.992 3481
+-121.574 28.992 3494
+-121.448 28.992 3497
+-121.322 28.992 3488
+-121.196 28.992 3471
+-121.07 28.992 3505
+-120.944 28.992 3585
+-120.818 28.992 3666
+-120.692 28.992 3828
+-120.566 28.992 3956
+-120.44 28.992 4072
+-120.314 28.992 4232
+-120.188 28.992 4330
+-120.062 28.992 4393
+-119.936 28.992 4525
+-119.81 28.992 4605
+-119.684 28.992 4671
+-119.558 28.992 4686
+-119.432 28.992 4749
+-119.306 28.992 4814
+-119.18 28.992 4869
+-119.054 28.992 4927
+-118.928 28.992 4969
+-118.802 28.992 5018
+-118.676 28.992 5080
+-118.55 28.992 5160
+-118.424 28.992 5154
+-118.298 28.992 5235
+-118.172 28.992 5280
+-118.046 28.992 5305
+-117.92 28.992 5351
+-117.794 28.992 5383
+-117.668 28.992 5375
+-117.542 28.992 5396
+-117.416 28.992 5422
+-117.29 28.992 5450
+-117.164 28.992 5480
+-117.038 28.992 5442
+-116.912 28.992 5429
+-116.786 28.992 5431
+-116.66 28.992 5443
+-116.534 28.992 5426
+-116.408 28.992 5389
+-116.282 28.992 5368
+-116.156 28.992 5328
+-116.03 28.992 5288
+-115.904 28.992 5308
+-115.778 28.992 5240
+-115.652 28.992 5168
+-115.526 28.992 5126
+-115.4 28.992 5087
+-115.274 28.992 5032
+-115.148 28.992 4978
+-115.022 28.992 4881
+-114.896 28.992 4816
+-114.77 28.992 4743
+-114.644 28.992 4679
+-114.518 28.992 4606
+-114.392 28.992 4541
+-114.266 28.992 4537
+-114.14 28.992 4614
+-114.014 28.992 4598
+-113.888 28.992 4781
+-113.762 28.992 4974
+-113.636 28.992 4991
+-113.51 28.992 5105
+-113.384 28.992 5179
+-113.258 28.992 5274
+-113.132 28.992 5364
+-113.006 28.992 5457
+-112.88 28.992 5592
+-112.754 28.992 5665
+-112.628 28.992 5768
+-112.502 28.992 5828
+-112.376 28.992 5907
+-112.25 28.992 5996
+-112.124 28.992 6092
+-111.998 28.992 6103
+-111.872 28.992 6185
+-111.746 28.992 6301
+-111.62 28.992 6324
+-111.494 28.992 6369
+-111.368 28.992 6457
+-111.242 28.992 6494
+-111.116 28.992 6531
+-110.99 28.992 6571
+-110.864 28.992 6591
+-110.738 28.992 6603
+-110.612 28.992 6619
+-110.486 28.992 6613
+-110.36 28.992 6640
+-110.234 28.992 6639
+-110.108 28.992 6633
+-109.982 28.992 6599
+-109.856 28.992 6571
+-109.73 28.992 6543
+-109.604 28.992 6503
+-109.478 28.992 6467
+-109.352 28.992 6406
+-109.226 28.992 6352
+-109.1 28.992 6312
+-108.974 28.992 6242
+-108.848 28.992 6181
+-108.722 28.992 6079
+-108.596 28.992 6007
+-108.47 28.992 5969
+-108.344 28.992 5870
+-108.218 28.992 5814
+-108.092 28.992 5682
+-107.966 28.992 5640
+-107.84 28.992 5535
+-107.714 28.992 5359
+-107.588 28.992 5376
+-107.462 28.992 5198
+-107.336 28.992 5307
+-107.21 28.992 5302
+-107.084 28.992 5123
+-106.958 28.992 5003
+-106.832 28.992 4897
+-106.706 28.992 4646
+-106.58 28.992 4465
+-106.454 28.992 4287
+-106.328 28.992 4230
+-106.202 28.992 4213
+-106.076 28.992 4156
+-105.95 28.992 4042
+-105.824 28.992 3978
+-105.698 28.992 3895
+-105.572 28.992 3830
+-105.446 28.992 3763
+-105.32 28.992 3689
+-105.194 28.992 3603
+-105.068 28.992 3487
+-104.942 28.992 3349
+-104.816 28.992 3232
+-104.69 28.992 3174
+-104.564 28.992 3169
+-104.438 28.992 3203
+-104.312 28.992 3254
+-104.186 28.992 3277
+-104.06 28.992 3292
+-103.934 28.992 3323
+-103.808 28.992 3275
+-103.682 28.992 3292
+-103.556 28.992 3305
+-103.43 28.992 3314
+-103.304 28.992 3311
+-103.178 28.992 3318
+-103.052 28.992 3323
+-102.926 28.992 3327
+-102.8 28.992 3330
+-102.674 28.992 3332
+-102.548 28.992 3274
+-102.422 28.992 3247
+-102.296 28.992 3247
+-102.17 28.992 3247
+-102.044 28.992 3247
+-101.918 28.992 3248
+-101.792 28.992 3258
+-101.666 28.992 3167
+-101.54 28.992 3169
+-101.414 28.992 3171
+-101.288 28.992 3145
+-101.162 28.992 3139
+-101.036 28.992 3142
+-100.91 28.992 3145
+-100.784 28.992 3091
+-100.658 28.992 3093
+-100.532 28.992 3095
+-100.406 28.992 3097
+-100.28 28.992 3040
+-100.154 28.992 2931
+-100.028 28.992 2933
+-99.902 28.992 2929
+-99.776 28.992 2930
+-99.65 28.992 2805
+-99.524 28.992 2801
+-99.398 28.992 2796
+-99.272 28.992 2792
+-99.146 28.992 2787
+-99.02 28.992 2782
+-98.894 28.992 2777
+-98.768 28.992 2772
+-98.642 28.992 2766
+-98.516 28.992 2760
+-98.39 28.992 2754
+-98.264 28.992 2747
+-98.138 28.992 2741
+-98.012 28.992 2671
+-97.886 28.992 2581
+-97.76 28.992 2534
+-97.634 28.992 2526
+-97.508 28.992 2525
+-97.382 28.992 2480
+-97.256 28.992 2429
+-97.13 28.992 2416
+-97.004 28.992 2362
+-96.878 28.992 2356
+-96.752 28.992 2318
+-96.626 28.992 2299
+-96.5 28.992 2299
+-96.374 28.992 2268
+-96.248 28.992 2271
+-96.122 28.992 2220
+-95.996 28.992 2331
+-95.87 28.992 2336
+-95.744 28.992 2341
+-95.618 28.992 2408
+-95.492 28.992 2405
+-95.366 28.992 2440
+-95.24 28.992 2471
+-95.114 28.992 2473
+-94.988 28.992 2467
+-94.862 28.992 2473
+-94.736 28.992 2505
+-94.61 28.992 2511
+-94.484 28.992 2518
+-94.358 28.992 2524
+-94.232 28.992 2530
+-94.106 28.992 2537
+-93.98 28.992 2543
+-93.854 28.992 2550
+-93.728 28.992 2713
+-93.602 28.992 2725
+-93.476 28.992 2734
+-93.35 28.992 2743
+-93.224 28.992 2887
+-93.098 28.992 2891
+-92.972 28.992 2894
+-92.846 28.992 2960
+-92.72 28.992 2963
+-92.594 28.992 2983
+-92.468 28.992 3171
+-92.342 28.992 3173
+-92.216 28.992 3176
+-92.09 28.992 3178
+-91.964 28.992 3180
+-91.838 28.992 3252
+-91.712 28.992 3290
+-91.586 28.992 3290
+-91.46 28.992 3452
+-91.334 28.992 3452
+-91.208 28.992 3500
+-91.082 28.992 3498
+-90.956 28.992 3496
+-90.83 28.992 3494
+-90.704 28.992 3491
+-90.578 28.992 3488
+-90.452 28.992 3485
+-90.326 28.992 3588
+-90.2 28.992 3643
+-90.074 28.992 3635
+-89.948 28.992 3625
+-89.822 28.992 3614
+-89.696 28.992 3602
+-89.57 28.992 3587
+-89.444 28.992 3569
+-89.318 28.992 3548
+-89.192 28.992 3547
+-89.066 28.992 3513
+-88.94 28.992 3478
+-88.814 28.992 3463
+-88.688 28.992 3406
+-88.562 28.992 3359
+-88.436 28.992 3262
+-88.31 28.992 3236
+-88.184 28.992 3337
+-88.058 28.992 3546
+-87.932 28.992 3761
+-87.806 28.992 3984
+-87.68 28.992 4162
+-87.554 28.992 4270
+-87.428 28.992 4390
+-87.302 28.992 4467
+-87.176 28.992 4591
+-87.05 28.992 4717
+-86.924 28.992 4783
+-86.798 28.992 4847
+-86.672 28.992 4850
+-86.546 28.992 4819
+-86.42 28.992 4984
+-86.294 28.992 5117
+-86.168 28.992 5246
+-86.042 28.992 5351
+-85.916 28.992 5516
+-85.79 28.992 5607
+-85.664 28.992 5787
+-85.538 28.992 5943
+-85.412 28.992 5973
+-85.286 28.992 6133
+-85.16 28.992 6273
+-85.034 28.992 6391
+-84.908 28.992 6557
+-84.782 28.992 6742
+-84.656 28.992 6759
+-84.53 28.992 6952
+-84.404 28.992 7037
+-84.278 28.992 7145
+-84.152 28.992 7298
+-84.026 28.992 7449
+-83.9 28.992 7521
+-83.774 28.992 7616
+-83.648 28.992 7758
+-83.522 28.992 7865
+-83.396 28.992 7981
+-83.27 28.992 8053
+-83.144 28.992 8171
+-83.018 28.992 8243
+-82.892 28.992 8359
+-82.766 28.992 8424
+-82.64 28.992 8474
+-82.514 28.992 8483
+-82.388 28.992 8517
+-82.262 28.992 8542
+-82.136 28.992 8516
+-82.01 28.992 8527
+-81.884 28.992 8502
+-81.758 28.992 8456
+-81.632 28.992 8391
+-81.506 28.992 8361
+-81.38 28.992 8252
+-81.254 28.992 8136
+-81.128 28.992 8037
+-81.002 28.992 8004
+-80.876 28.992 7913
+-80.75 28.992 7802
+-80.624 28.992 7642
+-80.498 28.992 7513
+-80.372 28.992 7401
+-80.246 28.992 7288
+-80.12 28.992 7172
+-79.994 28.992 7069
+-79.868 28.992 6961
+-79.742 28.992 6775
+-79.616 28.992 6752
+-79.49 28.992 6562
+-79.364 28.992 6397
+-79.238 28.992 6312
+-79.112 28.992 6160
+-78.986 28.992 6035
+-78.86 28.992 5884
+-78.734 28.992 5765
+-78.608 28.992 5623
+-78.482 28.992 5583
+-78.356 28.992 5401
+-78.23 28.992 5257
+-78.104 28.992 5094
+-77.978 28.992 4925
+-77.852 28.992 4893
+-77.726 28.992 4715
+-77.6 28.992 4569
+-77.474 28.992 4496
+-77.348 28.992 4366
+-77.222 28.992 4200
+-77.096 28.992 4063
+-76.97 28.992 3954
+-76.844 28.992 3802
+-76.718 28.992 3644
+-76.592 28.992 3532
+-76.466 28.992 3500
+-76.34 28.992 3365
+-76.214 28.992 3050
+-76.088 28.992 2854
+-75.962 28.992 2993
+-75.836 28.992 3192
+-75.71 28.992 3333
+-75.584 28.992 3426
+-75.458 28.992 3490
+-75.332 28.992 3536
+-75.206 28.992 3560
+-75.08 28.992 3588
+-74.954 28.992 3610
+-74.828 28.992 3629
+-74.702 28.992 3576
+-74.576 28.992 3589
+-74.45 28.992 3601
+-74.324 28.992 3583
+-74.198 28.992 3590
+-74.072 28.992 3544
+-73.946 28.992 3548
+-73.82 28.992 3551
+-73.694 28.992 3553
+-73.568 28.992 3389
+-73.442 28.992 3389
+-73.316 28.992 3388
+-73.19 28.992 3388
+-73.064 28.992 3387
+-72.938 28.992 3359
+-72.812 28.992 3358
+-72.686 28.992 3357
+-72.56 28.992 3356
+-72.434 28.992 3356
+-72.308 28.992 3355
+-72.182 28.992 3257
+-72.056 28.992 3269
+-71.93 28.992 3217
+-71.804 28.992 3216
+-71.678 28.992 3215
+-71.552 28.992 3213
+-71.426 28.992 3198
+-71.3 28.992 3094
+-71.174 28.992 3093
+-71.048 28.992 3092
+-70.922 28.992 3091
+-70.796 28.992 3090
+-70.67 28.992 3089
+-70.544 28.992 3088
+-70.418 28.992 3087
+-70.292 28.992 3087
+-70.166 28.992 3086
+-70.04 28.992 3085
+-69.914 28.992 3085
+-69.788 28.992 3084
+-69.662 28.992 3083
+-69.536 28.992 3083
+-69.41 28.992 3082
+-69.284 28.992 3082
+-69.158 28.992 3082
+-69.032 28.992 3081
+-68.906 28.992 3081
+-68.78 28.992 3080
+-68.654 28.992 3080
+-68.528 28.992 3080
+-68.402 28.992 3079
+-68.276 28.992 3079
+-68.15 28.992 3079
+-68.024 28.992 3078
+-67.898 28.992 3078
+-67.772 28.992 3078
+-67.646 28.992 3078
+-67.52 28.992 3078
+-67.394 28.992 3077
+-67.268 28.992 3077
+-67.142 28.992 3077
+-67.016 28.992 3077
+-66.89 28.992 3077
+-66.764 28.992 3077
+-66.638 28.992 3076
+-66.512 28.992 3076
+-66.386 28.992 3076
+-66.26 28.992 3076
+-66.134 28.992 3076
+-66.008 28.992 3076
+-65.882 28.992 3076
+-65.756 28.992 3076
+-65.63 28.992 3076
+-65.504 28.992 3076
+-65.378 28.992 3076
+-65.252 28.992 3075
+-65.126 28.992 3075
+-128 28.94 2393
+-127.874 28.94 2373
+-127.748 28.94 2400
+-127.622 28.94 2405
+-127.496 28.94 2381
+-127.37 28.94 2364
+-127.244 28.94 2338
+-127.118 28.94 2311
+-126.992 28.94 2292
+-126.866 28.94 2282
+-126.74 28.94 2253
+-126.614 28.94 2223
+-126.488 28.94 2194
+-126.362 28.94 2184
+-126.236 28.94 2188
+-126.11 28.94 2164
+-125.984 28.94 2142
+-125.858 28.94 2123
+-125.732 28.94 2108
+-125.606 28.94 2105
+-125.48 28.94 2119
+-125.354 28.94 2123
+-125.228 28.94 2135
+-125.102 28.94 2154
+-124.976 28.94 2181
+-124.85 28.94 2214
+-124.724 28.94 2254
+-124.598 28.94 2306
+-124.472 28.94 2364
+-124.346 28.94 2450
+-124.22 28.94 2486
+-124.094 28.94 2547
+-123.968 28.94 2635
+-123.842 28.94 2697
+-123.716 28.94 2805
+-123.59 28.94 2865
+-123.464 28.94 2921
+-123.338 28.94 2971
+-123.212 28.94 3017
+-123.086 28.94 3071
+-122.96 28.94 3106
+-122.834 28.94 3122
+-122.708 28.94 3232
+-122.582 28.94 3248
+-122.456 28.94 3294
+-122.33 28.94 3312
+-122.204 28.94 3353
+-122.078 28.94 3426
+-121.952 28.94 3440
+-121.826 28.94 3469
+-121.7 28.94 3483
+-121.574 28.94 3492
+-121.448 28.94 3495
+-121.322 28.94 3492
+-121.196 28.94 3487
+-121.07 28.94 3507
+-120.944 28.94 3560
+-120.818 28.94 3660
+-120.692 28.94 3781
+-120.566 28.94 3899
+-120.44 28.94 4002
+-120.314 28.94 4140
+-120.188 28.94 4247
+-120.062 28.94 4378
+-119.936 28.94 4492
+-119.81 28.94 4581
+-119.684 28.94 4616
+-119.558 28.94 4591
+-119.432 28.94 4688
+-119.306 28.94 4787
+-119.18 28.94 4823
+-119.054 28.94 4888
+-118.928 28.94 4911
+-118.802 28.94 4978
+-118.676 28.94 5021
+-118.55 28.94 5093
+-118.424 28.94 5151
+-118.298 28.94 5207
+-118.172 28.94 5219
+-118.046 28.94 5274
+-117.92 28.94 5322
+-117.794 28.94 5339
+-117.668 28.94 5359
+-117.542 28.94 5356
+-117.416 28.94 5365
+-117.29 28.94 5390
+-117.164 28.94 5385
+-117.038 28.94 5374
+-116.912 28.94 5387
+-116.786 28.94 5405
+-116.66 28.94 5395
+-116.534 28.94 5378
+-116.408 28.94 5351
+-116.282 28.94 5310
+-116.156 28.94 5273
+-116.03 28.94 5255
+-115.904 28.94 5229
+-115.778 28.94 5166
+-115.652 28.94 5120
+-115.526 28.94 5086
+-115.4 28.94 5048
+-115.274 28.94 4995
+-115.148 28.94 4902
+-115.022 28.94 4821
+-114.896 28.94 4759
+-114.77 28.94 4673
+-114.644 28.94 4619
+-114.518 28.94 4546
+-114.392 28.94 4474
+-114.266 28.94 4397
+-114.14 28.94 4539
+-114.014 28.94 4656
+-113.888 28.94 4792
+-113.762 28.94 4949
+-113.636 28.94 5025
+-113.51 28.94 5104
+-113.384 28.94 5161
+-113.258 28.94 5202
+-113.132 28.94 5294
+-113.006 28.94 5428
+-112.88 28.94 5566
+-112.754 28.94 5602
+-112.628 28.94 5752
+-112.502 28.94 5815
+-112.376 28.94 5878
+-112.25 28.94 5953
+-112.124 28.94 6011
+-111.998 28.94 6079
+-111.872 28.94 6181
+-111.746 28.94 6205
+-111.62 28.94 6253
+-111.494 28.94 6312
+-111.368 28.94 6390
+-111.242 28.94 6425
+-111.116 28.94 6463
+-110.99 28.94 6503
+-110.864 28.94 6533
+-110.738 28.94 6558
+-110.612 28.94 6585
+-110.486 28.94 6604
+-110.36 28.94 6580
+-110.234 28.94 6568
+-110.108 28.94 6545
+-109.982 28.94 6529
+-109.856 28.94 6506
+-109.73 28.94 6487
+-109.604 28.94 6464
+-109.478 28.94 6406
+-109.352 28.94 6398
+-109.226 28.94 6334
+-109.1 28.94 6267
+-108.974 28.94 6210
+-108.848 28.94 6140
+-108.722 28.94 6063
+-108.596 28.94 5978
+-108.47 28.94 5935
+-108.344 28.94 5836
+-108.218 28.94 5725
+-108.092 28.94 5600
+-107.966 28.94 5578
+-107.84 28.94 5554
+-107.714 28.94 5465
+-107.588 28.94 5403
+-107.462 28.94 5325
+-107.336 28.94 5326
+-107.21 28.94 5265
+-107.084 28.94 5109
+-106.958 28.94 4953
+-106.832 28.94 4740
+-106.706 28.94 4568
+-106.58 28.94 4396
+-106.454 28.94 4215
+-106.328 28.94 4186
+-106.202 28.94 4180
+-106.076 28.94 4086
+-105.95 28.94 4018
+-105.824 28.94 3938
+-105.698 28.94 3847
+-105.572 28.94 3778
+-105.446 28.94 3709
+-105.32 28.94 3641
+-105.194 28.94 3566
+-105.068 28.94 3496
+-104.942 28.94 3426
+-104.816 28.94 3317
+-104.69 28.94 3274
+-104.564 28.94 3261
+-104.438 28.94 3272
+-104.312 28.94 3298
+-104.186 28.94 3330
+-104.06 28.94 3333
+-103.934 28.94 3332
+-103.808 28.94 3354
+-103.682 28.94 3294
+-103.556 28.94 3307
+-103.43 28.94 3317
+-103.304 28.94 3325
+-103.178 28.94 3320
+-103.052 28.94 3291
+-102.926 28.94 3294
+-102.8 28.94 3296
+-102.674 28.94 3298
+-102.548 28.94 3300
+-102.422 28.94 3282
+-102.296 28.94 3253
+-102.17 28.94 3253
+-102.044 28.94 3254
+-101.918 28.94 3254
+-101.792 28.94 3255
+-101.666 28.94 3256
+-101.54 28.94 3174
+-101.414 28.94 3176
+-101.288 28.94 3178
+-101.162 28.94 3151
+-101.036 28.94 3146
+-100.91 28.94 3148
+-100.784 28.94 3151
+-100.658 28.94 3097
+-100.532 28.94 3098
+-100.406 28.94 3100
+-100.28 28.94 3102
+-100.154 28.94 3045
+-100.028 28.94 2934
+-99.902 28.94 2936
+-99.776 28.94 2931
+-99.65 28.94 2933
+-99.524 28.94 2803
+-99.398 28.94 2799
+-99.272 28.94 2794
+-99.146 28.94 2790
+-99.02 28.94 2785
+-98.894 28.94 2780
+-98.768 28.94 2774
+-98.642 28.94 2769
+-98.516 28.94 2763
+-98.39 28.94 2757
+-98.264 28.94 2751
+-98.138 28.94 2745
+-98.012 28.94 2676
+-97.886 28.94 2619
+-97.76 28.94 2577
+-97.634 28.94 2531
+-97.508 28.94 2530
+-97.382 28.94 2485
+-97.256 28.94 2434
+-97.13 28.94 2421
+-97.004 28.94 2367
+-96.878 28.94 2361
+-96.752 28.94 2322
+-96.626 28.94 2298
+-96.5 28.94 2303
+-96.374 28.94 2272
+-96.248 28.94 2275
+-96.122 28.94 2226
+-95.996 28.94 2336
+-95.87 28.94 2365
+-95.744 28.94 2370
+-95.618 28.94 2340
+-95.492 28.94 2443
+-95.366 28.94 2475
+-95.24 28.94 2477
+-95.114 28.94 2471
+-94.988 28.94 2476
+-94.862 28.94 2510
+-94.736 28.94 2516
+-94.61 28.94 2522
+-94.484 28.94 2528
+-94.358 28.94 2534
+-94.232 28.94 2541
+-94.106 28.94 2547
+-93.98 28.94 2553
+-93.854 28.94 2715
+-93.728 28.94 2727
+-93.602 28.94 2735
+-93.476 28.94 2744
+-93.35 28.94 2890
+-93.224 28.94 2893
+-93.098 28.94 2896
+-92.972 28.94 2963
+-92.846 28.94 2966
+-92.72 28.94 3006
+-92.594 28.94 3174
+-92.468 28.94 3176
+-92.342 28.94 3179
+-92.216 28.94 3181
+-92.09 28.94 3184
+-91.964 28.94 3220
+-91.838 28.94 3289
+-91.712 28.94 3294
+-91.586 28.94 3456
+-91.46 28.94 3457
+-91.334 28.94 3457
+-91.208 28.94 3457
+-91.082 28.94 3508
+-90.956 28.94 3506
+-90.83 28.94 3504
+-90.704 28.94 3501
+-90.578 28.94 3546
+-90.452 28.94 3541
+-90.326 28.94 3536
+-90.2 28.94 3656
+-90.074 28.94 3648
+-89.948 28.94 3639
+-89.822 28.94 3628
+-89.696 28.94 3616
+-89.57 28.94 3602
+-89.444 28.94 3584
+-89.318 28.94 3562
+-89.192 28.94 3534
+-89.066 28.94 3520
+-88.94 28.94 3513
+-88.814 28.94 3463
+-88.688 28.94 3373
+-88.562 28.94 3234
+-88.436 28.94 3061
+-88.31 28.94 2980
+-88.184 28.94 3116
+-88.058 28.94 3416
+-87.932 28.94 3713
+-87.806 28.94 3944
+-87.68 28.94 4119
+-87.554 28.94 4298
+-87.428 28.94 4389
+-87.302 28.94 4513
+-87.176 28.94 4603
+-87.05 28.94 4731
+-86.924 28.94 4781
+-86.798 28.94 4777
+-86.672 28.94 4784
+-86.546 28.94 4869
+-86.42 28.94 5008
+-86.294 28.94 5176
+-86.168 28.94 5273
+-86.042 28.94 5296
+-85.916 28.94 5492
+-85.79 28.94 5687
+-85.664 28.94 5832
+-85.538 28.94 5963
+-85.412 28.94 6071
+-85.286 28.94 6134
+-85.16 28.94 6334
+-85.034 28.94 6420
+-84.908 28.94 6605
+-84.782 28.94 6743
+-84.656 28.94 6843
+-84.53 28.94 6954
+-84.404 28.94 7096
+-84.278 28.94 7252
+-84.152 28.94 7316
+-84.026 28.94 7454
+-83.9 28.94 7582
+-83.774 28.94 7678
+-83.648 28.94 7781
+-83.522 28.94 7919
+-83.396 28.94 8030
+-83.27 28.94 8141
+-83.144 28.94 8217
+-83.018 28.94 8301
+-82.892 28.94 8379
+-82.766 28.94 8430
+-82.64 28.94 8495
+-82.514 28.94 8557
+-82.388 28.94 8552
+-82.262 28.94 8574
+-82.136 28.94 8585
+-82.01 28.94 8568
+-81.884 28.94 8543
+-81.758 28.94 8495
+-81.632 28.94 8447
+-81.506 28.94 8382
+-81.38 28.94 8299
+-81.254 28.94 8182
+-81.128 28.94 8089
+-81.002 28.94 8021
+-80.876 28.94 7913
+-80.75 28.94 7867
+-80.624 28.94 7696
+-80.498 28.94 7548
+-80.372 28.94 7488
+-80.246 28.94 7316
+-80.12 28.94 7175
+-79.994 28.94 7109
+-79.868 28.94 6906
+-79.742 28.94 6895
+-79.616 28.94 6770
+-79.49 28.94 6556
+-79.364 28.94 6465
+-79.238 28.94 6314
+-79.112 28.94 6158
+-78.986 28.94 6025
+-78.86 28.94 5889
+-78.734 28.94 5748
+-78.608 28.94 5692
+-78.482 28.94 5568
+-78.356 28.94 5393
+-78.23 28.94 5194
+-78.104 28.94 5165
+-77.978 28.94 5016
+-77.852 28.94 4919
+-77.726 28.94 4773
+-77.6 28.94 4619
+-77.474 28.94 4509
+-77.348 28.94 4373
+-77.222 28.94 4217
+-77.096 28.94 4060
+-76.97 28.94 3947
+-76.844 28.94 3815
+-76.718 28.94 3593
+-76.592 28.94 3450
+-76.466 28.94 3491
+-76.34 28.94 3406
+-76.214 28.94 3183
+-76.088 28.94 3024
+-75.962 28.94 3098
+-75.836 28.94 3243
+-75.71 28.94 3359
+-75.584 28.94 3441
+-75.458 28.94 3500
+-75.332 28.94 3545
+-75.206 28.94 3580
+-75.08 28.94 3608
+-74.954 28.94 3631
+-74.828 28.94 3563
+-74.702 28.94 3578
+-74.576 28.94 3591
+-74.45 28.94 3602
+-74.324 28.94 3612
+-74.198 28.94 3569
+-74.072 28.94 3574
+-73.946 28.94 3579
+-73.82 28.94 3583
+-73.694 28.94 3387
+-73.568 28.94 3386
+-73.442 28.94 3386
+-73.316 28.94 3385
+-73.19 28.94 3366
+-73.064 28.94 3358
+-72.938 28.94 3357
+-72.812 28.94 3356
+-72.686 28.94 3355
+-72.56 28.94 3354
+-72.434 28.94 3353
+-72.308 28.94 3353
+-72.182 28.94 3270
+-72.056 28.94 3242
+-71.93 28.94 3241
+-71.804 28.94 3240
+-71.678 28.94 3239
+-71.552 28.94 3199
+-71.426 28.94 3097
+-71.3 28.94 3096
+-71.174 28.94 3094
+-71.048 28.94 3093
+-70.922 28.94 3092
+-70.796 28.94 3091
+-70.67 28.94 3090
+-70.544 28.94 3089
+-70.418 28.94 3089
+-70.292 28.94 3088
+-70.166 28.94 3087
+-70.04 28.94 3086
+-69.914 28.94 3086
+-69.788 28.94 3085
+-69.662 28.94 3085
+-69.536 28.94 3084
+-69.41 28.94 3084
+-69.284 28.94 3083
+-69.158 28.94 3083
+-69.032 28.94 3082
+-68.906 28.94 3082
+-68.78 28.94 3081
+-68.654 28.94 3081
+-68.528 28.94 3081
+-68.402 28.94 3080
+-68.276 28.94 3080
+-68.15 28.94 3080
+-68.024 28.94 3079
+-67.898 28.94 3079
+-67.772 28.94 3079
+-67.646 28.94 3079
+-67.52 28.94 3078
+-67.394 28.94 3078
+-67.268 28.94 3078
+-67.142 28.94 3078
+-67.016 28.94 3078
+-66.89 28.94 3078
+-66.764 28.94 3077
+-66.638 28.94 3077
+-66.512 28.94 3077
+-66.386 28.94 3077
+-66.26 28.94 3077
+-66.134 28.94 3077
+-66.008 28.94 3077
+-65.882 28.94 3077
+-65.756 28.94 3076
+-65.63 28.94 3076
+-65.504 28.94 3076
+-65.378 28.94 3076
+-65.252 28.94 3076
+-65.126 28.94 3076
+-128 28.888 2402
+-127.874 28.888 2431
+-127.748 28.888 2439
+-127.622 28.888 2418
+-127.496 28.888 2404
+-127.37 28.888 2381
+-127.244 28.888 2357
+-127.118 28.888 2341
+-126.992 28.888 2335
+-126.866 28.888 2310
+-126.74 28.888 2284
+-126.614 28.888 2258
+-126.488 28.888 2250
+-126.362 28.888 2259
+-126.236 28.888 2238
+-126.11 28.888 2218
+-125.984 28.888 2201
+-125.858 28.888 2187
+-125.732 28.888 2184
+-125.606 28.888 2195
+-125.48 28.888 2196
+-125.354 28.888 2203
+-125.228 28.888 2216
+-125.102 28.888 2235
+-124.976 28.888 2260
+-124.85 28.888 2292
+-124.724 28.888 2336
+-124.598 28.888 2385
+-124.472 28.888 2464
+-124.346 28.888 2491
+-124.22 28.888 2544
+-124.094 28.888 2626
+-123.968 28.888 2682
+-123.842 28.888 2760
+-123.716 28.888 2842
+-123.59 28.888 2895
+-123.464 28.888 2945
+-123.338 28.888 2991
+-123.212 28.888 3033
+-123.086 28.888 3052
+-122.96 28.888 3106
+-122.834 28.888 3123
+-122.708 28.888 3244
+-122.582 28.888 3261
+-122.456 28.888 3309
+-122.33 28.888 3349
+-122.204 28.888 3368
+-122.078 28.888 3435
+-121.952 28.888 3459
+-121.826 28.888 3470
+-121.7 28.888 3480
+-121.574 28.888 3479
+-121.448 28.888 3483
+-121.322 28.888 3481
+-121.196 28.888 3476
+-121.07 28.888 3461
+-120.944 28.888 3516
+-120.818 28.888 3634
+-120.692 28.888 3739
+-120.566 28.888 3848
+-120.44 28.888 3934
+-120.314 28.888 4088
+-120.188 28.888 4179
+-120.062 28.888 4295
+-119.936 28.888 4416
+-119.81 28.888 4533
+-119.684 28.888 4581
+-119.558 28.888 4617
+-119.432 28.888 4666
+-119.306 28.888 4755
+-119.18 28.888 4772
+-119.054 28.888 4835
+-118.928 28.888 4879
+-118.802 28.888 4946
+-118.676 28.888 4986
+-118.55 28.888 5036
+-118.424 28.888 5087
+-118.298 28.888 5158
+-118.172 28.888 5220
+-118.046 28.888 5218
+-117.92 28.888 5274
+-117.794 28.888 5312
+-117.668 28.888 5324
+-117.542 28.888 5309
+-117.416 28.888 5293
+-117.29 28.888 5300
+-117.164 28.888 5322
+-117.038 28.888 5313
+-116.912 28.888 5320
+-116.786 28.888 5340
+-116.66 28.888 5337
+-116.534 28.888 5322
+-116.408 28.888 5309
+-116.282 28.888 5261
+-116.156 28.888 5234
+-116.03 28.888 5205
+-115.904 28.888 5177
+-115.778 28.888 5126
+-115.652 28.888 5062
+-115.526 28.888 5025
+-115.4 28.888 5020
+-115.274 28.888 4916
+-115.148 28.888 4837
+-115.022 28.888 4802
+-114.896 28.888 4740
+-114.77 28.888 4634
+-114.644 28.888 4608
+-114.518 28.888 4559
+-114.392 28.888 4504
+-114.266 28.888 4479
+-114.14 28.888 4533
+-114.014 28.888 4645
+-113.888 28.888 4770
+-113.762 28.888 4895
+-113.636 28.888 4996
+-113.51 28.888 5065
+-113.384 28.888 5124
+-113.258 28.888 5154
+-113.132 28.888 5236
+-113.006 28.888 5345
+-112.88 28.888 5490
+-112.754 28.888 5612
+-112.628 28.888 5722
+-112.502 28.888 5788
+-112.376 28.888 5828
+-112.25 28.888 5859
+-112.124 28.888 5983
+-111.998 28.888 6049
+-111.872 28.888 6082
+-111.746 28.888 6120
+-111.62 28.888 6202
+-111.494 28.888 6271
+-111.368 28.888 6349
+-111.242 28.888 6392
+-111.116 28.888 6441
+-110.99 28.888 6443
+-110.864 28.888 6486
+-110.738 28.888 6508
+-110.612 28.888 6531
+-110.486 28.888 6499
+-110.36 28.888 6527
+-110.234 28.888 6508
+-110.108 28.888 6505
+-109.982 28.888 6490
+-109.856 28.888 6457
+-109.73 28.888 6424
+-109.604 28.888 6388
+-109.478 28.888 6373
+-109.352 28.888 6316
+-109.226 28.888 6304
+-109.1 28.888 6250
+-108.974 28.888 6164
+-108.848 28.888 6102
+-108.722 28.888 6028
+-108.596 28.888 5962
+-108.47 28.888 5880
+-108.344 28.888 5741
+-108.218 28.888 5701
+-108.092 28.888 5615
+-107.966 28.888 5603
+-107.84 28.888 5556
+-107.714 28.888 5491
+-107.588 28.888 5420
+-107.462 28.888 5354
+-107.336 28.888 5322
+-107.21 28.888 5233
+-107.084 28.888 5109
+-106.958 28.888 4881
+-106.832 28.888 4697
+-106.706 28.888 4522
+-106.58 28.888 4334
+-106.454 28.888 4213
+-106.328 28.888 4165
+-106.202 28.888 4124
+-106.076 28.888 4045
+-105.95 28.888 3953
+-105.824 28.888 3877
+-105.698 28.888 3811
+-105.572 28.888 3726
+-105.446 28.888 3649
+-105.32 28.888 3583
+-105.194 28.888 3527
+-105.068 28.888 3471
+-104.942 28.888 3425
+-104.816 28.888 3385
+-104.69 28.888 3313
+-104.564 28.888 3297
+-104.438 28.888 3302
+-104.312 28.888 3318
+-104.186 28.888 3341
+-104.06 28.888 3368
+-103.934 28.888 3363
+-103.808 28.888 3357
+-103.682 28.888 3374
+-103.556 28.888 3308
+-103.43 28.888 3319
+-103.304 28.888 3327
+-103.178 28.888 3288
+-103.052 28.888 3293
+-102.926 28.888 3297
+-102.8 28.888 3300
+-102.674 28.888 3302
+-102.548 28.888 3304
+-102.422 28.888 3306
+-102.296 28.888 3242
+-102.17 28.888 3259
+-102.044 28.888 3259
+-101.918 28.888 3260
+-101.792 28.888 3261
+-101.666 28.888 3261
+-101.54 28.888 3262
+-101.414 28.888 3180
+-101.288 28.888 3182
+-101.162 28.888 3114
+-101.036 28.888 3116
+-100.91 28.888 3087
+-100.784 28.888 3089
+-100.658 28.888 3090
+-100.532 28.888 3035
+-100.406 28.888 3036
+-100.28 28.888 3037
+-100.154 28.888 3037
+-100.028 28.888 3049
+-99.902 28.888 2936
+-99.776 28.888 2938
+-99.65 28.888 2933
+-99.524 28.888 2935
+-99.398 28.888 2800
+-99.272 28.888 2796
+-99.146 28.888 2792
+-99.02 28.888 2787
+-98.894 28.888 2782
+-98.768 28.888 2777
+-98.642 28.888 2772
+-98.516 28.888 2766
+-98.39 28.888 2760
+-98.264 28.888 2754
+-98.138 28.888 2748
+-98.012 28.888 2680
+-97.886 28.888 2623
+-97.76 28.888 2616
+-97.634 28.888 2508
+-97.508 28.888 2499
+-97.382 28.888 2490
+-97.256 28.888 2439
+-97.13 28.888 2426
+-97.004 28.888 2372
+-96.878 28.888 2366
+-96.752 28.888 2326
+-96.626 28.888 2302
+-96.5 28.888 2307
+-96.374 28.888 2276
+-96.248 28.888 2279
+-96.122 28.888 2231
+-95.996 28.888 2366
+-95.87 28.888 2371
+-95.744 28.888 2376
+-95.618 28.888 2376
+-95.492 28.888 2478
+-95.366 28.888 2482
+-95.24 28.888 2475
+-95.114 28.888 2480
+-94.988 28.888 2481
+-94.862 28.888 2520
+-94.736 28.888 2526
+-94.61 28.888 2532
+-94.484 28.888 2538
+-94.358 28.888 2544
+-94.232 28.888 2550
+-94.106 28.888 2557
+-93.98 28.888 2716
+-93.854 28.888 2728
+-93.728 28.888 2736
+-93.602 28.888 2744
+-93.476 28.888 2893
+-93.35 28.888 2896
+-93.224 28.888 2899
+-93.098 28.888 2966
+-92.972 28.888 2969
+-92.846 28.888 3009
+-92.72 28.888 3011
+-92.594 28.888 3179
+-92.468 28.888 3181
+-92.342 28.888 3184
+-92.216 28.888 3186
+-92.09 28.888 3264
+-91.964 28.888 3292
+-91.838 28.888 3293
+-91.712 28.888 3293
+-91.586 28.888 3460
+-91.46 28.888 3461
+-91.334 28.888 3462
+-91.208 28.888 3462
+-91.082 28.888 3463
+-90.956 28.888 3515
+-90.83 28.888 3514
+-90.704 28.888 3558
+-90.578 28.888 3555
+-90.452 28.888 3551
+-90.326 28.888 3546
+-90.2 28.888 3668
+-90.074 28.888 3661
+-89.948 28.888 3653
+-89.822 28.888 3643
+-89.696 28.888 3632
+-89.57 28.888 3618
+-89.444 28.888 3601
+-89.318 28.888 3579
+-89.192 28.888 3582
+-89.066 28.888 3571
+-88.94 28.888 3549
+-88.814 28.888 3477
+-88.688 28.888 3352
+-88.562 28.888 3172
+-88.436 28.888 2974
+-88.31 28.888 2852
+-88.184 28.888 3007
+-88.058 28.888 3364
+-87.932 28.888 3705
+-87.806 28.888 3954
+-87.68 28.888 4129
+-87.554 28.888 4262
+-87.428 28.888 4435
+-87.302 28.888 4505
+-87.176 28.888 4605
+-87.05 28.888 4715
+-86.924 28.888 4744
+-86.798 28.888 4723
+-86.672 28.888 4619
+-86.546 28.888 4838
+-86.42 28.888 5052
+-86.294 28.888 5206
+-86.168 28.888 5229
+-86.042 28.888 5352
+-85.916 28.888 5537
+-85.79 28.888 5729
+-85.664 28.888 5825
+-85.538 28.888 5961
+-85.412 28.888 6091
+-85.286 28.888 6223
+-85.16 28.888 6312
+-85.034 28.888 6474
+-84.908 28.888 6611
+-84.782 28.888 6710
+-84.656 28.888 6784
+-84.53 28.888 6962
+-84.404 28.888 7106
+-84.278 28.888 7190
+-84.152 28.888 7359
+-84.026 28.888 7465
+-83.9 28.888 7559
+-83.774 28.888 7727
+-83.648 28.888 7800
+-83.522 28.888 7901
+-83.396 28.888 8033
+-83.27 28.888 8185
+-83.144 28.888 8253
+-83.018 28.888 8345
+-82.892 28.888 8440
+-82.766 28.888 8471
+-82.64 28.888 8542
+-82.514 28.888 8599
+-82.388 28.888 8616
+-82.262 28.888 8650
+-82.136 28.888 8667
+-82.01 28.888 8630
+-81.884 28.888 8584
+-81.758 28.888 8552
+-81.632 28.888 8485
+-81.506 28.888 8456
+-81.38 28.888 8348
+-81.254 28.888 8232
+-81.128 28.888 8107
+-81.002 28.888 8042
+-80.876 28.888 7992
+-80.75 28.888 7821
+-80.624 28.888 7777
+-80.498 28.888 7559
+-80.372 28.888 7504
+-80.246 28.888 7350
+-80.12 28.888 7211
+-79.994 28.888 7171
+-79.868 28.888 7025
+-79.742 28.888 6930
+-79.616 28.888 6804
+-79.49 28.888 6627
+-79.364 28.888 6463
+-79.238 28.888 6285
+-79.112 28.888 6169
+-78.986 28.888 6001
+-78.86 28.888 5901
+-78.734 28.888 5807
+-78.608 28.888 5698
+-78.482 28.888 5539
+-78.356 28.888 5417
+-78.23 28.888 5323
+-78.104 28.888 5206
+-77.978 28.888 5095
+-77.852 28.888 4936
+-77.726 28.888 4756
+-77.6 28.888 4603
+-77.474 28.888 4496
+-77.348 28.888 4396
+-77.222 28.888 4220
+-77.096 28.888 4022
+-76.97 28.888 3917
+-76.844 28.888 3844
+-76.718 28.888 3682
+-76.592 28.888 3551
+-76.466 28.888 3529
+-76.34 28.888 3464
+-76.214 28.888 3353
+-76.088 28.888 3273
+-75.962 28.888 3276
+-75.836 28.888 3340
+-75.71 28.888 3410
+-75.584 28.888 3471
+-75.458 28.888 3519
+-75.332 28.888 3559
+-75.206 28.888 3590
+-75.08 28.888 3617
+-74.954 28.888 3550
+-74.828 28.888 3567
+-74.702 28.888 3581
+-74.576 28.888 3594
+-74.45 28.888 3605
+-74.324 28.888 3563
+-74.198 28.888 3569
+-74.072 28.888 3574
+-73.946 28.888 3537
+-73.82 28.888 3384
+-73.694 28.888 3383
+-73.568 28.888 3383
+-73.442 28.888 3385
+-73.316 28.888 3363
+-73.19 28.888 3356
+-73.064 28.888 3355
+-72.938 28.888 3354
+-72.812 28.888 3353
+-72.686 28.888 3353
+-72.56 28.888 3352
+-72.434 28.888 3351
+-72.308 28.888 3310
+-72.182 28.888 3269
+-72.056 28.888 3241
+-71.93 28.888 3240
+-71.804 28.888 3240
+-71.678 28.888 3199
+-71.552 28.888 3198
+-71.426 28.888 3197
+-71.3 28.888 3097
+-71.174 28.888 3096
+-71.048 28.888 3094
+-70.922 28.888 3093
+-70.796 28.888 3092
+-70.67 28.888 3091
+-70.544 28.888 3091
+-70.418 28.888 3090
+-70.292 28.888 3089
+-70.166 28.888 3088
+-70.04 28.888 3088
+-69.914 28.888 3087
+-69.788 28.888 3086
+-69.662 28.888 3086
+-69.536 28.888 3085
+-69.41 28.888 3085
+-69.284 28.888 3084
+-69.158 28.888 3084
+-69.032 28.888 3083
+-68.906 28.888 3083
+-68.78 28.888 3082
+-68.654 28.888 3082
+-68.528 28.888 3082
+-68.402 28.888 3081
+-68.276 28.888 3081
+-68.15 28.888 3081
+-68.024 28.888 3080
+-67.898 28.888 3080
+-67.772 28.888 3080
+-67.646 28.888 3080
+-67.52 28.888 3079
+-67.394 28.888 3079
+-67.268 28.888 3079
+-67.142 28.888 3079
+-67.016 28.888 3079
+-66.89 28.888 3078
+-66.764 28.888 3078
+-66.638 28.888 3078
+-66.512 28.888 3078
+-66.386 28.888 3078
+-66.26 28.888 3078
+-66.134 28.888 3077
+-66.008 28.888 3077
+-65.882 28.888 3077
+-65.756 28.888 3077
+-65.63 28.888 3077
+-65.504 28.888 3077
+-65.378 28.888 3077
+-65.252 28.888 3077
+-65.126 28.888 3077
+-128 28.836 2459
+-127.874 28.836 2470
+-127.748 28.836 2451
+-127.622 28.836 2440
+-127.496 28.836 2419
+-127.37 28.836 2398
+-127.244 28.836 2385
+-127.118 28.836 2381
+-126.992 28.836 2359
+-126.866 28.836 2337
+-126.74 28.836 2314
+-126.614 28.836 2307
+-126.488 28.836 2320
+-126.362 28.836 2302
+-126.236 28.836 2284
+-126.11 28.836 2269
+-125.984 28.836 2256
+-125.858 28.836 2254
+-125.732 28.836 2262
+-125.606 28.836 2261
+-125.48 28.836 2265
+-125.354 28.836 2273
+-125.228 28.836 2287
+-125.102 28.836 2306
+-124.976 28.836 2331
+-124.85 28.836 2368
+-124.724 28.836 2409
+-124.598 28.836 2482
+-124.472 28.836 2501
+-124.346 28.836 2547
+-124.22 28.836 2623
+-124.094 28.836 2672
+-123.968 28.836 2745
+-123.842 28.836 2823
+-123.716 28.836 2873
+-123.59 28.836 2921
+-123.464 28.836 2966
+-123.338 28.836 3008
+-123.212 28.836 3028
+-123.086 28.836 3087
+-122.96 28.836 3104
+-122.834 28.836 3136
+-122.708 28.836 3164
+-122.582 28.836 3270
+-122.456 28.836 3286
+-122.33 28.836 3329
+-122.204 28.836 3344
+-122.078 28.836 3453
+-121.952 28.836 3460
+-121.826 28.836 3465
+-121.7 28.836 3462
+-121.574 28.836 3466
+-121.448 28.836 3471
+-121.322 28.836 3480
+-121.196 28.836 3447
+-121.07 28.836 3405
+-120.944 28.836 3485
+-120.818 28.836 3610
+-120.692 28.836 3730
+-120.566 28.836 3818
+-120.44 28.836 3898
+-120.314 28.836 3990
+-120.188 28.836 4106
+-120.062 28.836 4233
+-119.936 28.836 4345
+-119.81 28.836 4453
+-119.684 28.836 4510
+-119.558 28.836 4583
+-119.432 28.836 4621
+-119.306 28.836 4694
+-119.18 28.836 4748
+-119.054 28.836 4794
+-118.928 28.836 4785
+-118.802 28.836 4879
+-118.676 28.836 4963
+-118.55 28.836 4988
+-118.424 28.836 5049
+-118.298 28.836 5083
+-118.172 28.836 5156
+-118.046 28.836 5192
+-117.92 28.836 5218
+-117.794 28.836 5253
+-117.668 28.836 5266
+-117.542 28.836 5261
+-117.416 28.836 5261
+-117.29 28.836 5262
+-117.164 28.836 5265
+-117.038 28.836 5268
+-116.912 28.836 5259
+-116.786 28.836 5260
+-116.66 28.836 5247
+-116.534 28.836 5261
+-116.408 28.836 5246
+-116.282 28.836 5227
+-116.156 28.836 5178
+-116.03 28.836 5157
+-115.904 28.836 5145
+-115.778 28.836 5080
+-115.652 28.836 5015
+-115.526 28.836 5026
+-115.4 28.836 4987
+-115.274 28.836 4867
+-115.148 28.836 4793
+-115.022 28.836 4762
+-114.896 28.836 4685
+-114.77 28.836 4604
+-114.644 28.836 4552
+-114.518 28.836 4536
+-114.392 28.836 4497
+-114.266 28.836 4493
+-114.14 28.836 4523
+-114.014 28.836 4614
+-113.888 28.836 4722
+-113.762 28.836 4837
+-113.636 28.836 4914
+-113.51 28.836 5029
+-113.384 28.836 5050
+-113.258 28.836 5151
+-113.132 28.836 5311
+-113.006 28.836 5324
+-112.88 28.836 5407
+-112.754 28.836 5538
+-112.628 28.836 5670
+-112.502 28.836 5749
+-112.376 28.836 5816
+-112.25 28.836 5881
+-112.124 28.836 5937
+-111.998 28.836 6010
+-111.872 28.836 6063
+-111.746 28.836 6099
+-111.62 28.836 6171
+-111.494 28.836 6209
+-111.368 28.836 6286
+-111.242 28.836 6331
+-111.116 28.836 6363
+-110.99 28.836 6413
+-110.864 28.836 6424
+-110.738 28.836 6444
+-110.612 28.836 6458
+-110.486 28.836 6459
+-110.36 28.836 6464
+-110.234 28.836 6441
+-110.108 28.836 6457
+-109.982 28.836 6437
+-109.856 28.836 6405
+-109.73 28.836 6352
+-109.604 28.836 6328
+-109.478 28.836 6309
+-109.352 28.836 6303
+-109.226 28.836 6256
+-109.1 28.836 6184
+-108.974 28.836 6102
+-108.848 28.836 6044
+-108.722 28.836 5969
+-108.596 28.836 5938
+-108.47 28.836 5849
+-108.344 28.836 5751
+-108.218 28.836 5682
+-108.092 28.836 5628
+-107.966 28.836 5549
+-107.84 28.836 5511
+-107.714 28.836 5446
+-107.588 28.836 5396
+-107.462 28.836 5341
+-107.336 28.836 5287
+-107.21 28.836 5162
+-107.084 28.836 5066
+-106.958 28.836 4817
+-106.832 28.836 4642
+-106.706 28.836 4461
+-106.58 28.836 4295
+-106.454 28.836 4138
+-106.328 28.836 4055
+-106.202 28.836 3995
+-106.076 28.836 3951
+-105.95 28.836 3899
+-105.824 28.836 3832
+-105.698 28.836 3740
+-105.572 28.836 3650
+-105.446 28.836 3560
+-105.32 28.836 3487
+-105.194 28.836 3443
+-105.068 28.836 3411
+-104.942 28.836 3382
+-104.816 28.836 3354
+-104.69 28.836 3337
+-104.564 28.836 3291
+-104.438 28.836 3295
+-104.312 28.836 3314
+-104.186 28.836 3338
+-104.06 28.836 3364
+-103.934 28.836 3391
+-103.808 28.836 3384
+-103.682 28.836 3376
+-103.556 28.836 3391
+-103.43 28.836 3284
+-103.304 28.836 3283
+-103.178 28.836 3289
+-103.052 28.836 3295
+-102.926 28.836 3299
+-102.8 28.836 3303
+-102.674 28.836 3306
+-102.548 28.836 3308
+-102.422 28.836 3310
+-102.296 28.836 3312
+-102.17 28.836 3248
+-102.044 28.836 3264
+-101.918 28.836 3265
+-101.792 28.836 3266
+-101.666 28.836 3266
+-101.54 28.836 3267
+-101.414 28.836 3157
+-101.288 28.836 3126
+-101.162 28.836 3116
+-101.036 28.836 3117
+-100.91 28.836 3119
+-100.784 28.836 3090
+-100.658 28.836 3091
+-100.532 28.836 3093
+-100.406 28.836 3038
+-100.28 28.836 3038
+-100.154 28.836 3039
+-100.028 28.836 3040
+-99.902 28.836 2972
+-99.776 28.836 2939
+-99.65 28.836 2940
+-99.524 28.836 2935
+-99.398 28.836 2937
+-99.272 28.836 2798
+-99.146 28.836 2794
+-99.02 28.836 2789
+-98.894 28.836 2784
+-98.768 28.836 2779
+-98.642 28.836 2774
+-98.516 28.836 2769
+-98.39 28.836 2763
+-98.264 28.836 2757
+-98.138 28.836 2751
+-98.012 28.836 2684
+-97.886 28.836 2626
+-97.76 28.836 2619
+-97.634 28.836 2563
+-97.508 28.836 2538
+-97.382 28.836 2540
+-97.256 28.836 2487
+-97.13 28.836 2382
+-97.004 28.836 2376
+-96.878 28.836 2370
+-96.752 28.836 2326
+-96.626 28.836 2306
+-96.5 28.836 2311
+-96.374 28.836 2279
+-96.248 28.836 2232
+-96.122 28.836 2274
+-95.996 28.836 2338
+-95.87 28.836 2376
+-95.744 28.836 2377
+-95.618 28.836 2419
+-95.492 28.836 2416
+-95.366 28.836 2479
+-95.24 28.836 2484
+-95.114 28.836 2485
+-94.988 28.836 2490
+-94.862 28.836 2496
+-94.736 28.836 2536
+-94.61 28.836 2542
+-94.484 28.836 2548
+-94.358 28.836 2554
+-94.232 28.836 2560
+-94.106 28.836 2718
+-93.98 28.836 2729
+-93.854 28.836 2737
+-93.728 28.836 2745
+-93.602 28.836 2915
+-93.476 28.836 2918
+-93.35 28.836 2921
+-93.224 28.836 2969
+-93.098 28.836 2971
+-92.972 28.836 3012
+-92.846 28.836 3014
+-92.72 28.836 3205
+-92.594 28.836 3207
+-92.468 28.836 3209
+-92.342 28.836 3211
+-92.216 28.836 3267
+-92.09 28.836 3294
+-91.964 28.836 3295
+-91.838 28.836 3296
+-91.712 28.836 3463
+-91.586 28.836 3464
+-91.46 28.836 3465
+-91.334 28.836 3466
+-91.208 28.836 3467
+-91.082 28.836 3468
+-90.956 28.836 3469
+-90.83 28.836 3570
+-90.704 28.836 3567
+-90.578 28.836 3564
+-90.452 28.836 3586
+-90.326 28.836 3581
+-90.2 28.836 3672
+-90.074 28.836 3666
+-89.948 28.836 3659
+-89.822 28.836 3659
+-89.696 28.836 3649
+-89.57 28.836 3636
+-89.444 28.836 3678
+-89.318 28.836 3653
+-89.192 28.836 3660
+-89.066 28.836 3639
+-88.94 28.836 3577
+-88.814 28.836 3491
+-88.688 28.836 3388
+-88.562 28.836 3235
+-88.436 28.836 3082
+-88.31 28.836 2995
+-88.184 28.836 3142
+-88.058 28.836 3462
+-87.932 28.836 3768
+-87.806 28.836 3985
+-87.68 28.836 4188
+-87.554 28.836 4299
+-87.428 28.836 4405
+-87.302 28.836 4459
+-87.176 28.836 4529
+-87.05 28.836 4638
+-86.924 28.836 4711
+-86.798 28.836 4747
+-86.672 28.836 4766
+-86.546 28.836 4913
+-86.42 28.836 5060
+-86.294 28.836 5193
+-86.168 28.836 5246
+-86.042 28.836 5395
+-85.916 28.836 5561
+-85.79 28.836 5690
+-85.664 28.836 5876
+-85.538 28.836 6030
+-85.412 28.836 6065
+-85.286 28.836 6242
+-85.16 28.836 6373
+-85.034 28.836 6501
+-84.908 28.836 6617
+-84.782 28.836 6745
+-84.656 28.836 6888
+-84.53 28.836 7020
+-84.404 28.836 7136
+-84.278 28.836 7256
+-84.152 28.836 7411
+-84.026 28.836 7558
+-83.9 28.836 7638
+-83.774 28.836 7739
+-83.648 28.836 7925
+-83.522 28.836 7942
+-83.396 28.836 8090
+-83.27 28.836 8230
+-83.144 28.836 8286
+-83.018 28.836 8353
+-82.892 28.836 8486
+-82.766 28.836 8543
+-82.64 28.836 8613
+-82.514 28.836 8644
+-82.388 28.836 8692
+-82.262 28.836 8701
+-82.136 28.836 8719
+-82.01 28.836 8715
+-81.884 28.836 8687
+-81.758 28.836 8612
+-81.632 28.836 8547
+-81.506 28.836 8456
+-81.38 28.836 8410
+-81.254 28.836 8269
+-81.128 28.836 8146
+-81.002 28.836 8091
+-80.876 28.836 7952
+-80.75 28.836 7933
+-80.624 28.836 7821
+-80.498 28.836 7610
+-80.372 28.836 7517
+-80.246 28.836 7360
+-80.12 28.836 7294
+-79.994 28.836 7141
+-79.868 28.836 6946
+-79.742 28.836 6883
+-79.616 28.836 6817
+-79.49 28.836 6661
+-79.364 28.836 6499
+-79.238 28.836 6331
+-79.112 28.836 6186
+-78.986 28.836 6057
+-78.86 28.836 5905
+-78.734 28.836 5779
+-78.608 28.836 5637
+-78.482 28.836 5563
+-78.356 28.836 5459
+-78.23 28.836 5346
+-78.104 28.836 5240
+-77.978 28.836 5094
+-77.852 28.836 4962
+-77.726 28.836 4748
+-77.6 28.836 4587
+-77.474 28.836 4459
+-77.348 28.836 4419
+-77.222 28.836 4226
+-77.096 28.836 4002
+-76.97 28.836 3873
+-76.844 28.836 3867
+-76.718 28.836 3755
+-76.592 28.836 3627
+-76.466 28.836 3537
+-76.34 28.836 3458
+-76.214 28.836 3417
+-76.088 28.836 3404
+-75.962 28.836 3400
+-75.836 28.836 3428
+-75.71 28.836 3471
+-75.584 28.836 3514
+-75.458 28.836 3552
+-75.332 28.836 3586
+-75.206 28.836 3614
+-75.08 28.836 3539
+-74.954 28.836 3557
+-74.828 28.836 3572
+-74.702 28.836 3586
+-74.576 28.836 3598
+-74.45 28.836 3558
+-74.324 28.836 3564
+-74.198 28.836 3541
+-74.072 28.836 3508
+-73.946 28.836 3510
+-73.82 28.836 3380
+-73.694 28.836 3383
+-73.568 28.836 3383
+-73.442 28.836 3361
+-73.316 28.836 3354
+-73.19 28.836 3353
+-73.064 28.836 3352
+-72.938 28.836 3351
+-72.812 28.836 3351
+-72.686 28.836 3350
+-72.56 28.836 3349
+-72.434 28.836 3309
+-72.308 28.836 3308
+-72.182 28.836 3308
+-72.056 28.836 3267
+-71.93 28.836 3240
+-71.804 28.836 3200
+-71.678 28.836 3198
+-71.552 28.836 3197
+-71.426 28.836 3195
+-71.3 28.836 3194
+-71.174 28.836 3097
+-71.048 28.836 3095
+-70.922 28.836 3094
+-70.796 28.836 3093
+-70.67 28.836 3092
+-70.544 28.836 3092
+-70.418 28.836 3091
+-70.292 28.836 3090
+-70.166 28.836 3089
+-70.04 28.836 3088
+-69.914 28.836 3088
+-69.788 28.836 3087
+-69.662 28.836 3087
+-69.536 28.836 3086
+-69.41 28.836 3085
+-69.284 28.836 3085
+-69.158 28.836 3084
+-69.032 28.836 3084
+-68.906 28.836 3084
+-68.78 28.836 3083
+-68.654 28.836 3083
+-68.528 28.836 3082
+-68.402 28.836 3082
+-68.276 28.836 3082
+-68.15 28.836 3081
+-68.024 28.836 3081
+-67.898 28.836 3081
+-67.772 28.836 3081
+-67.646 28.836 3080
+-67.52 28.836 3080
+-67.394 28.836 3080
+-67.268 28.836 3080
+-67.142 28.836 3079
+-67.016 28.836 3079
+-66.89 28.836 3079
+-66.764 28.836 3079
+-66.638 28.836 3079
+-66.512 28.836 3079
+-66.386 28.836 3078
+-66.26 28.836 3078
+-66.134 28.836 3078
+-66.008 28.836 3078
+-65.882 28.836 3078
+-65.756 28.836 3078
+-65.63 28.836 3078
+-65.504 28.836 3078
+-65.378 28.836 3078
+-65.252 28.836 3077
+-65.126 28.836 3077
+-128 28.784 2498
+-127.874 28.784 2481
+-127.748 28.784 2472
+-127.622 28.784 2454
+-127.496 28.784 2435
+-127.37 28.784 2424
+-127.244 28.784 2423
+-127.118 28.784 2403
+-126.992 28.784 2383
+-126.866 28.784 2363
+-126.74 28.784 2356
+-126.614 28.784 2373
+-126.488 28.784 2357
+-126.362 28.784 2342
+-126.236 28.784 2328
+-126.11 28.784 2316
+-125.984 28.784 2315
+-125.858 28.784 2322
+-125.732 28.784 2320
+-125.606 28.784 2321
+-125.48 28.784 2326
+-125.354 28.784 2336
+-125.228 28.784 2350
+-125.102 28.784 2369
+-124.976 28.784 2400
+-124.85 28.784 2436
+-124.724 28.784 2504
+-124.598 28.784 2515
+-124.472 28.784 2554
+-124.346 28.784 2624
+-124.22 28.784 2668
+-124.094 28.784 2736
+-123.968 28.784 2809
+-123.842 28.784 2856
+-123.716 28.784 2901
+-123.59 28.784 2944
+-123.464 28.784 2985
+-123.338 28.784 3005
+-123.212 28.784 3029
+-123.086 28.784 3084
+-122.96 28.784 3116
+-122.834 28.784 3167
+-122.708 28.784 3169
+-122.582 28.784 3277
+-122.456 28.784 3320
+-122.33 28.784 3320
+-122.204 28.784 3373
+-122.078 28.784 3418
+-121.952 28.784 3440
+-121.826 28.784 3445
+-121.7 28.784 3443
+-121.574 28.784 3435
+-121.448 28.784 3456
+-121.322 28.784 3459
+-121.196 28.784 3458
+-121.07 28.784 3449
+-120.944 28.784 3524
+-120.818 28.784 3631
+-120.692 28.784 3719
+-120.566 28.784 3785
+-120.44 28.784 3873
+-120.314 28.784 3974
+-120.188 28.784 4028
+-120.062 28.784 4119
+-119.936 28.784 4243
+-119.81 28.784 4361
+-119.684 28.784 4448
+-119.558 28.784 4495
+-119.432 28.784 4540
+-119.306 28.784 4606
+-119.18 28.784 4672
+-119.054 28.784 4728
+-118.928 28.784 4775
+-118.802 28.784 4825
+-118.676 28.784 4909
+-118.55 28.784 4906
+-118.424 28.784 4989
+-118.298 28.784 5042
+-118.172 28.784 5078
+-118.046 28.784 5093
+-117.92 28.784 5121
+-117.794 28.784 5171
+-117.668 28.784 5192
+-117.542 28.784 5194
+-117.416 28.784 5218
+-117.29 28.784 5234
+-117.164 28.784 5229
+-117.038 28.784 5215
+-116.912 28.784 5226
+-116.786 28.784 5221
+-116.66 28.784 5200
+-116.534 28.784 5210
+-116.408 28.784 5188
+-116.282 28.784 5150
+-116.156 28.784 5119
+-116.03 28.784 5106
+-115.904 28.784 5087
+-115.778 28.784 5054
+-115.652 28.784 5028
+-115.526 28.784 5001
+-115.4 28.784 4950
+-115.274 28.784 4848
+-115.148 28.784 4775
+-115.022 28.784 4709
+-114.896 28.784 4658
+-114.77 28.784 4589
+-114.644 28.784 4516
+-114.518 28.784 4460
+-114.392 28.784 4422
+-114.266 28.784 4415
+-114.14 28.784 4478
+-114.014 28.784 4548
+-113.888 28.784 4661
+-113.762 28.784 4775
+-113.636 28.784 4837
+-113.51 28.784 4960
+-113.384 28.784 5054
+-113.258 28.784 5102
+-113.132 28.784 5204
+-113.006 28.784 5302
+-112.88 28.784 5389
+-112.754 28.784 5469
+-112.628 28.784 5575
+-112.502 28.784 5686
+-112.376 28.784 5756
+-112.25 28.784 5843
+-112.124 28.784 5909
+-111.998 28.784 5943
+-111.872 28.784 6023
+-111.746 28.784 6090
+-111.62 28.784 6113
+-111.494 28.784 6152
+-111.368 28.784 6211
+-111.242 28.784 6258
+-111.116 28.784 6318
+-110.99 28.784 6342
+-110.864 28.784 6344
+-110.738 28.784 6367
+-110.612 28.784 6389
+-110.486 28.784 6385
+-110.36 28.784 6427
+-110.234 28.784 6416
+-110.108 28.784 6394
+-109.982 28.784 6360
+-109.856 28.784 6332
+-109.73 28.784 6290
+-109.604 28.784 6277
+-109.478 28.784 6249
+-109.352 28.784 6216
+-109.226 28.784 6202
+-109.1 28.784 6109
+-108.974 28.784 6056
+-108.848 28.784 5995
+-108.722 28.784 5899
+-108.596 28.784 5861
+-108.47 28.784 5787
+-108.344 28.784 5719
+-108.218 28.784 5655
+-108.092 28.784 5564
+-107.966 28.784 5451
+-107.84 28.784 5450
+-107.714 28.784 5387
+-107.588 28.784 5324
+-107.462 28.784 5235
+-107.336 28.784 5195
+-107.21 28.784 5056
+-107.084 28.784 4954
+-106.958 28.784 4747
+-106.832 28.784 4574
+-106.706 28.784 4388
+-106.58 28.784 4240
+-106.454 28.784 4101
+-106.328 28.784 3984
+-106.202 28.784 3934
+-106.076 28.784 3929
+-105.95 28.784 3858
+-105.824 28.784 3785
+-105.698 28.784 3688
+-105.572 28.784 3575
+-105.446 28.784 3452
+-105.32 28.784 3362
+-105.194 28.784 3342
+-105.068 28.784 3331
+-104.942 28.784 3305
+-104.816 28.784 3274
+-104.69 28.784 3268
+-104.564 28.784 3279
+-104.438 28.784 3264
+-104.312 28.784 3288
+-104.186 28.784 3320
+-104.06 28.784 3352
+-103.934 28.784 3381
+-103.808 28.784 3369
+-103.682 28.784 3373
+-103.556 28.784 3357
+-103.43 28.784 3364
+-103.304 28.784 3293
+-103.178 28.784 3290
+-103.052 28.784 3296
+-102.926 28.784 3301
+-102.8 28.784 3306
+-102.674 28.784 3309
+-102.548 28.784 3312
+-102.422 28.784 3314
+-102.296 28.784 3316
+-102.17 28.784 3318
+-102.044 28.784 3254
+-101.918 28.784 3269
+-101.792 28.784 3270
+-101.666 28.784 3271
+-101.54 28.784 3272
+-101.414 28.784 3273
+-101.288 28.784 3159
+-101.162 28.784 3128
+-101.036 28.784 3118
+-100.91 28.784 3120
+-100.784 28.784 3122
+-100.658 28.784 3092
+-100.532 28.784 3094
+-100.406 28.784 3095
+-100.28 28.784 3040
+-100.154 28.784 3040
+-100.028 28.784 3041
+-99.902 28.784 3041
+-99.776 28.784 2974
+-99.65 28.784 2940
+-99.524 28.784 2942
+-99.398 28.784 2937
+-99.272 28.784 2938
+-99.146 28.784 2795
+-99.02 28.784 2791
+-98.894 28.784 2786
+-98.768 28.784 2782
+-98.642 28.784 2777
+-98.516 28.784 2771
+-98.39 28.784 2766
+-98.264 28.784 2760
+-98.138 28.784 2755
+-98.012 28.784 2688
+-97.886 28.784 2680
+-97.76 28.784 2623
+-97.634 28.784 2567
+-97.508 28.784 2542
+-97.382 28.784 2498
+-97.256 28.784 2538
+-97.13 28.784 2431
+-97.004 28.784 2380
+-96.878 28.784 2411
+-96.752 28.784 2327
+-96.626 28.784 2296
+-96.5 28.784 2271
+-96.374 28.784 2226
+-96.248 28.784 2274
+-96.122 28.784 2265
+-95.996 28.784 2283
+-95.87 28.784 2351
+-95.744 28.784 2420
+-95.618 28.784 2414
+-95.492 28.784 2423
+-95.366 28.784 2488
+-95.24 28.784 2490
+-95.114 28.784 2495
+-94.988 28.784 2500
+-94.862 28.784 2540
+-94.736 28.784 2546
+-94.61 28.784 2551
+-94.484 28.784 2557
+-94.358 28.784 2563
+-94.232 28.784 2719
+-94.106 28.784 2730
+-93.98 28.784 2737
+-93.854 28.784 2745
+-93.728 28.784 2918
+-93.602 28.784 2921
+-93.476 28.784 2923
+-93.35 28.784 2985
+-93.224 28.784 2987
+-93.098 28.784 3015
+-92.972 28.784 3017
+-92.846 28.784 3207
+-92.72 28.784 3209
+-92.594 28.784 3212
+-92.468 28.784 3214
+-92.342 28.784 3269
+-92.216 28.784 3296
+-92.09 28.784 3323
+-91.964 28.784 3324
+-91.838 28.784 3324
+-91.712 28.784 3466
+-91.586 28.784 3467
+-91.46 28.784 3469
+-91.334 28.784 3470
+-91.208 28.784 3471
+-91.082 28.784 3473
+-90.956 28.784 3509
+-90.83 28.784 3509
+-90.704 28.784 3594
+-90.578 28.784 3600
+-90.452 28.784 3597
+-90.326 28.784 3689
+-90.2 28.784 3684
+-90.074 28.784 3679
+-89.948 28.784 3673
+-89.822 28.784 3666
+-89.696 28.784 3666
+-89.57 28.784 3716
+-89.444 28.784 3698
+-89.318 28.784 3744
+-89.192 28.784 3713
+-89.066 28.784 3673
+-88.94 28.784 3621
+-88.814 28.784 3552
+-88.688 28.784 3491
+-88.562 28.784 3383
+-88.436 28.784 3290
+-88.31 28.784 3297
+-88.184 28.784 3425
+-88.058 28.784 3643
+-87.932 28.784 3864
+-87.806 28.784 4069
+-87.68 28.784 4193
+-87.554 28.784 4302
+-87.428 28.784 4340
+-87.302 28.784 4382
+-87.176 28.784 4426
+-87.05 28.784 4541
+-86.924 28.784 4631
+-86.798 28.784 4741
+-86.672 28.784 4845
+-86.546 28.784 4970
+-86.42 28.784 4990
+-86.294 28.784 5150
+-86.168 28.784 5306
+-86.042 28.784 5449
+-85.916 28.784 5591
+-85.79 28.784 5715
+-85.664 28.784 5897
+-85.538 28.784 6080
+-85.412 28.784 6132
+-85.286 28.784 6275
+-85.16 28.784 6410
+-85.034 28.784 6511
+-84.908 28.784 6607
+-84.782 28.784 6752
+-84.656 28.784 6926
+-84.53 28.784 7030
+-84.404 28.784 7190
+-84.278 28.784 7313
+-84.152 28.784 7417
+-84.026 28.784 7606
+-83.9 28.784 7683
+-83.774 28.784 7766
+-83.648 28.784 7834
+-83.522 28.784 7992
+-83.396 28.784 8187
+-83.27 28.784 8253
+-83.144 28.784 8354
+-83.018 28.784 8462
+-82.892 28.784 8515
+-82.766 28.784 8593
+-82.64 28.784 8653
+-82.514 28.784 8706
+-82.388 28.784 8734
+-82.262 28.784 8770
+-82.136 28.784 8748
+-82.01 28.784 8741
+-81.884 28.784 8698
+-81.758 28.784 8658
+-81.632 28.784 8601
+-81.506 28.784 8538
+-81.38 28.784 8442
+-81.254 28.784 8317
+-81.128 28.784 8208
+-81.002 28.784 8084
+-80.876 28.784 8032
+-80.75 28.784 7993
+-80.624 28.784 7874
+-80.498 28.784 7664
+-80.372 28.784 7473
+-80.246 28.784 7396
+-80.12 28.784 7281
+-79.994 28.784 7150
+-79.868 28.784 7051
+-79.742 28.784 6956
+-79.616 28.784 6812
+-79.49 28.784 6666
+-79.364 28.784 6538
+-79.238 28.784 6302
+-79.112 28.784 6273
+-78.986 28.784 6123
+-78.86 28.784 5940
+-78.734 28.784 5752
+-78.608 28.784 5609
+-78.482 28.784 5514
+-78.356 28.784 5406
+-78.23 28.784 5310
+-78.104 28.784 5225
+-77.978 28.784 5089
+-77.852 28.784 4953
+-77.726 28.784 4778
+-77.6 28.784 4624
+-77.474 28.784 4537
+-77.348 28.784 4435
+-77.222 28.784 4244
+-77.096 28.784 4064
+-76.97 28.784 3930
+-76.844 28.784 3865
+-76.718 28.784 3739
+-76.592 28.784 3593
+-76.466 28.784 3437
+-76.34 28.784 3306
+-76.214 28.784 3358
+-76.088 28.784 3427
+-75.962 28.784 3472
+-75.836 28.784 3496
+-75.71 28.784 3517
+-75.584 28.784 3550
+-75.458 28.784 3580
+-75.332 28.784 3608
+-75.206 28.784 3632
+-75.08 28.784 3549
+-74.954 28.784 3565
+-74.828 28.784 3579
+-74.702 28.784 3592
+-74.576 28.784 3553
+-74.45 28.784 3559
+-74.324 28.784 3537
+-74.198 28.784 3505
+-74.072 28.784 3506
+-73.946 28.784 3507
+-73.82 28.784 3420
+-73.694 28.784 3380
+-73.568 28.784 3358
+-73.442 28.784 3352
+-73.316 28.784 3351
+-73.19 28.784 3350
+-73.064 28.784 3349
+-72.938 28.784 3348
+-72.812 28.784 3347
+-72.686 28.784 3347
+-72.56 28.784 3307
+-72.434 28.784 3307
+-72.308 28.784 3306
+-72.182 28.784 3306
+-72.056 28.784 3267
+-71.93 28.784 3241
+-71.804 28.784 3240
+-71.678 28.784 3239
+-71.552 28.784 3195
+-71.426 28.784 3194
+-71.3 28.784 3193
+-71.174 28.784 3192
+-71.048 28.784 3096
+-70.922 28.784 3095
+-70.796 28.784 3094
+-70.67 28.784 3093
+-70.544 28.784 3092
+-70.418 28.784 3092
+-70.292 28.784 3091
+-70.166 28.784 3090
+-70.04 28.784 3089
+-69.914 28.784 3089
+-69.788 28.784 3088
+-69.662 28.784 3087
+-69.536 28.784 3087
+-69.41 28.784 3086
+-69.284 28.784 3086
+-69.158 28.784 3085
+-69.032 28.784 3085
+-68.906 28.784 3084
+-68.78 28.784 3084
+-68.654 28.784 3084
+-68.528 28.784 3083
+-68.402 28.784 3083
+-68.276 28.784 3083
+-68.15 28.784 3082
+-68.024 28.784 3082
+-67.898 28.784 3082
+-67.772 28.784 3081
+-67.646 28.784 3081
+-67.52 28.784 3081
+-67.394 28.784 3081
+-67.268 28.784 3080
+-67.142 28.784 3080
+-67.016 28.784 3080
+-66.89 28.784 3080
+-66.764 28.784 3080
+-66.638 28.784 3079
+-66.512 28.784 3079
+-66.386 28.784 3079
+-66.26 28.784 3079
+-66.134 28.784 3079
+-66.008 28.784 3079
+-65.882 28.784 3079
+-65.756 28.784 3078
+-65.63 28.784 3078
+-65.504 28.784 3078
+-65.378 28.784 3078
+-65.252 28.784 3078
+-65.126 28.784 3078
+-128 28.732 2509
+-127.874 28.732 2502
+-127.748 28.732 2485
+-127.622 28.732 2468
+-127.496 28.732 2459
+-127.37 28.732 2460
+-127.244 28.732 2442
+-127.118 28.732 2425
+-126.992 28.732 2407
+-126.866 28.732 2400
+-126.74 28.732 2420
+-126.614 28.732 2405
+-126.488 28.732 2392
+-126.362 28.732 2380
+-126.236 28.732 2369
+-126.11 28.732 2369
+-125.984 28.732 2374
+-125.858 28.732 2371
+-125.732 28.732 2371
+-125.606 28.732 2375
+-125.48 28.732 2382
+-125.354 28.732 2392
+-125.228 28.732 2407
+-125.102 28.732 2433
+-124.976 28.732 2463
+-124.85 28.732 2527
+-124.724 28.732 2531
+-124.598 28.732 2565
+-124.472 28.732 2630
+-124.346 28.732 2668
+-124.22 28.732 2730
+-124.094 28.732 2800
+-123.968 28.732 2842
+-123.842 28.732 2884
+-123.716 28.732 2925
+-123.59 28.732 2964
+-123.464 28.732 2983
+-123.338 28.732 3008
+-123.212 28.732 3064
+-123.086 28.732 3096
+-122.96 28.732 3148
+-122.834 28.732 3175
+-122.708 28.732 3176
+-122.582 28.732 3283
+-122.456 28.732 3284
+-122.33 28.732 3296
+-122.204 28.732 3315
+-122.078 28.732 3374
+-121.952 28.732 3410
+-121.826 28.732 3407
+-121.7 28.732 3407
+-121.574 28.732 3392
+-121.448 28.732 3391
+-121.322 28.732 3403
+-121.196 28.732 3448
+-121.07 28.732 3500
+-120.944 28.732 3561
+-120.818 28.732 3658
+-120.692 28.732 3720
+-120.566 28.732 3748
+-120.44 28.732 3821
+-120.314 28.732 3964
+-120.188 28.732 4018
+-120.062 28.732 4056
+-119.936 28.732 4187
+-119.81 28.732 4284
+-119.684 28.732 4371
+-119.558 28.732 4422
+-119.432 28.732 4429
+-119.306 28.732 4492
+-119.18 28.732 4556
+-119.054 28.732 4631
+-118.928 28.732 4699
+-118.802 28.732 4762
+-118.676 28.732 4847
+-118.55 28.732 4882
+-118.424 28.732 4919
+-118.298 28.732 4965
+-118.172 28.732 5010
+-118.046 28.732 5033
+-117.92 28.732 5060
+-117.794 28.732 5103
+-117.668 28.732 5120
+-117.542 28.732 5134
+-117.416 28.732 5151
+-117.29 28.732 5169
+-117.164 28.732 5168
+-117.038 28.732 5139
+-116.912 28.732 5187
+-116.786 28.732 5195
+-116.66 28.732 5187
+-116.534 28.732 5165
+-116.408 28.732 5128
+-116.282 28.732 5081
+-116.156 28.732 5052
+-116.03 28.732 5058
+-115.904 28.732 5031
+-115.778 28.732 4978
+-115.652 28.732 4981
+-115.526 28.732 4949
+-115.4 28.732 4859
+-115.274 28.732 4790
+-115.148 28.732 4744
+-115.022 28.732 4678
+-114.896 28.732 4613
+-114.77 28.732 4504
+-114.644 28.732 4413
+-114.518 28.732 4366
+-114.392 28.732 4341
+-114.266 28.732 4359
+-114.14 28.732 4410
+-114.014 28.732 4499
+-113.888 28.732 4575
+-113.762 28.732 4719
+-113.636 28.732 4739
+-113.51 28.732 4872
+-113.384 28.732 4989
+-113.258 28.732 5055
+-113.132 28.732 5135
+-113.006 28.732 5229
+-112.88 28.732 5330
+-112.754 28.732 5437
+-112.628 28.732 5517
+-112.502 28.732 5605
+-112.376 28.732 5701
+-112.25 28.732 5782
+-112.124 28.732 5839
+-111.998 28.732 5898
+-111.872 28.732 5985
+-111.746 28.732 6038
+-111.62 28.732 6109
+-111.494 28.732 6117
+-111.368 28.732 6161
+-111.242 28.732 6216
+-111.116 28.732 6264
+-110.99 28.732 6285
+-110.864 28.732 6306
+-110.738 28.732 6302
+-110.612 28.732 6330
+-110.486 28.732 6350
+-110.36 28.732 6368
+-110.234 28.732 6350
+-110.108 28.732 6327
+-109.982 28.732 6336
+-109.856 28.732 6272
+-109.73 28.732 6238
+-109.604 28.732 6219
+-109.478 28.732 6201
+-109.352 28.732 6172
+-109.226 28.732 6143
+-109.1 28.732 6060
+-108.974 28.732 6002
+-108.848 28.732 5937
+-108.722 28.732 5887
+-108.596 28.732 5806
+-108.47 28.732 5732
+-108.344 28.732 5667
+-108.218 28.732 5564
+-108.092 28.732 5508
+-107.966 28.732 5448
+-107.84 28.732 5366
+-107.714 28.732 5321
+-107.588 28.732 5224
+-107.462 28.732 5104
+-107.336 28.732 5064
+-107.21 28.732 5008
+-107.084 28.732 4876
+-106.958 28.732 4664
+-106.832 28.732 4511
+-106.706 28.732 4346
+-106.58 28.732 4195
+-106.454 28.732 4085
+-106.328 28.732 3979
+-106.202 28.732 3923
+-106.076 28.732 3872
+-105.95 28.732 3809
+-105.824 28.732 3731
+-105.698 28.732 3643
+-105.572 28.732 3501
+-105.446 28.732 3318
+-105.32 28.732 3212
+-105.194 28.732 3232
+-105.068 28.732 3243
+-104.942 28.732 3203
+-104.816 28.732 3155
+-104.69 28.732 3146
+-104.564 28.732 3185
+-104.438 28.732 3238
+-104.312 28.732 3253
+-104.186 28.732 3293
+-104.06 28.732 3333
+-103.934 28.732 3332
+-103.808 28.732 3360
+-103.682 28.732 3385
+-103.556 28.732 3389
+-103.43 28.732 3370
+-103.304 28.732 3375
+-103.178 28.732 3301
+-103.052 28.732 3298
+-102.926 28.732 3303
+-102.8 28.732 3308
+-102.674 28.732 3311
+-102.548 28.732 3315
+-102.422 28.732 3317
+-102.296 28.732 3320
+-102.17 28.732 3322
+-102.044 28.732 3323
+-101.918 28.732 3259
+-101.792 28.732 3274
+-101.666 28.732 3275
+-101.54 28.732 3276
+-101.414 28.732 3277
+-101.288 28.732 3278
+-101.162 28.732 3162
+-101.036 28.732 3131
+-100.91 28.732 3121
+-100.784 28.732 3122
+-100.658 28.732 3124
+-100.532 28.732 3094
+-100.406 28.732 3096
+-100.28 28.732 3097
+-100.154 28.732 3042
+-100.028 28.732 3042
+-99.902 28.732 3042
+-99.776 28.732 3043
+-99.65 28.732 2975
+-99.524 28.732 2942
+-99.398 28.732 2944
+-99.272 28.732 2938
+-99.146 28.732 2940
+-99.02 28.732 2793
+-98.894 28.732 2788
+-98.768 28.732 2784
+-98.642 28.732 2779
+-98.516 28.732 2774
+-98.39 28.732 2769
+-98.264 28.732 2763
+-98.138 28.732 2758
+-98.012 28.732 2691
+-97.886 28.732 2684
+-97.76 28.732 2677
+-97.634 28.732 2571
+-97.508 28.732 2546
+-97.382 28.732 2502
+-97.256 28.732 2425
+-97.13 28.732 2477
+-97.004 28.732 2429
+-96.878 28.732 2376
+-96.752 28.732 2338
+-96.626 28.732 2335
+-96.5 28.732 2310
+-96.374 28.732 2271
+-96.248 28.732 2266
+-96.122 28.732 2271
+-95.996 28.732 2275
+-95.87 28.732 2345
+-95.744 28.732 2415
+-95.618 28.732 2425
+-95.492 28.732 2431
+-95.366 28.732 2494
+-95.24 28.732 2499
+-95.114 28.732 2504
+-94.988 28.732 2544
+-94.862 28.732 2549
+-94.736 28.732 2555
+-94.61 28.732 2561
+-94.484 28.732 2566
+-94.358 28.732 2720
+-94.232 28.732 2763
+-94.106 28.732 2770
+-93.98 28.732 2778
+-93.854 28.732 2945
+-93.728 28.732 2923
+-93.602 28.732 2950
+-93.476 28.732 2988
+-93.35 28.732 2990
+-93.224 28.732 3017
+-93.098 28.732 3019
+-92.972 28.732 3210
+-92.846 28.732 3212
+-92.72 28.732 3214
+-92.594 28.732 3216
+-92.468 28.732 3270
+-92.342 28.732 3324
+-92.216 28.732 3325
+-92.09 28.732 3326
+-91.964 28.732 3326
+-91.838 28.732 3327
+-91.712 28.732 3328
+-91.586 28.732 3470
+-91.46 28.732 3472
+-91.334 28.732 3473
+-91.208 28.732 3475
+-91.082 28.732 3542
+-90.956 28.732 3542
+-90.83 28.732 3542
+-90.704 28.732 3542
+-90.578 28.732 3623
+-90.452 28.732 3620
+-90.326 28.732 3700
+-90.2 28.732 3727
+-90.074 28.732 3722
+-89.948 28.732 3717
+-89.822 28.732 3710
+-89.696 28.732 3738
+-89.57 28.732 3726
+-89.444 28.732 3754
+-89.318 28.732 3771
+-89.192 28.732 3745
+-89.066 28.732 3714
+-88.94 28.732 3675
+-88.814 28.732 3640
+-88.688 28.732 3599
+-88.562 28.732 3543
+-88.436 28.732 3520
+-88.31 28.732 3575
+-88.184 28.732 3665
+-88.058 28.732 3852
+-87.932 28.732 3997
+-87.806 28.732 4124
+-87.68 28.732 4209
+-87.554 28.732 4247
+-87.428 28.732 4286
+-87.302 28.732 4296
+-87.176 28.732 4307
+-87.05 28.732 4440
+-86.924 28.732 4529
+-86.798 28.732 4652
+-86.672 28.732 4846
+-86.546 28.732 4990
+-86.42 28.732 5047
+-86.294 28.732 5175
+-86.168 28.732 5359
+-86.042 28.732 5530
+-85.916 28.732 5618
+-85.79 28.732 5734
+-85.664 28.732 5934
+-85.538 28.732 6050
+-85.412 28.732 6168
+-85.286 28.732 6307
+-85.16 28.732 6383
+-85.034 28.732 6511
+-84.908 28.732 6675
+-84.782 28.732 6843
+-84.656 28.732 6920
+-84.53 28.732 7082
+-84.404 28.732 7236
+-84.278 28.732 7287
+-84.152 28.732 7403
+-84.026 28.732 7559
+-83.9 28.732 7702
+-83.774 28.732 7838
+-83.648 28.732 7923
+-83.522 28.732 8061
+-83.396 28.732 8153
+-83.27 28.732 8263
+-83.144 28.732 8393
+-83.018 28.732 8500
+-82.892 28.732 8613
+-82.766 28.732 8649
+-82.64 28.732 8720
+-82.514 28.732 8751
+-82.388 28.732 8792
+-82.262 28.732 8808
+-82.136 28.732 8837
+-82.01 28.732 8784
+-81.884 28.732 8782
+-81.758 28.732 8683
+-81.632 28.732 8661
+-81.506 28.732 8578
+-81.38 28.732 8440
+-81.254 28.732 8366
+-81.128 28.732 8277
+-81.002 28.732 8158
+-80.876 28.732 8070
+-80.75 28.732 7936
+-80.624 28.732 7926
+-80.498 28.732 7764
+-80.372 28.732 7521
+-80.246 28.732 7410
+-80.12 28.732 7275
+-79.994 28.732 7187
+-79.868 28.732 7025
+-79.742 28.732 6983
+-79.616 28.732 6814
+-79.49 28.732 6698
+-79.364 28.732 6579
+-79.238 28.732 6459
+-79.112 28.732 6343
+-78.986 28.732 6162
+-78.86 28.732 5911
+-78.734 28.732 5730
+-78.608 28.732 5578
+-78.482 28.732 5464
+-78.356 28.732 5358
+-78.23 28.732 5253
+-78.104 28.732 5197
+-77.978 28.732 5063
+-77.852 28.732 4977
+-77.726 28.732 4769
+-77.6 28.732 4596
+-77.474 28.732 4591
+-77.348 28.732 4459
+-77.222 28.732 4284
+-77.096 28.732 4124
+-76.97 28.732 3976
+-76.844 28.732 3839
+-76.718 28.732 3651
+-76.592 28.732 3509
+-76.466 28.732 3357
+-76.34 28.732 3130
+-76.214 28.732 3283
+-76.088 28.732 3441
+-75.962 28.732 3509
+-75.836 28.732 3553
+-75.71 28.732 3572
+-75.584 28.732 3602
+-75.458 28.732 3630
+-75.332 28.732 3654
+-75.206 28.732 3677
+-75.08 28.732 3671
+-74.954 28.732 3575
+-74.828 28.732 3587
+-74.702 28.732 3549
+-74.576 28.732 3556
+-74.45 28.732 3534
+-74.324 28.732 3502
+-74.198 28.732 3503
+-74.072 28.732 3503
+-73.946 28.732 3416
+-73.82 28.732 3417
+-73.694 28.732 3385
+-73.568 28.732 3353
+-73.442 28.732 3349
+-73.316 28.732 3348
+-73.19 28.732 3347
+-73.064 28.732 3346
+-72.938 28.732 3345
+-72.812 28.732 3344
+-72.686 28.732 3306
+-72.56 28.732 3305
+-72.434 28.732 3305
+-72.308 28.732 3304
+-72.182 28.732 3265
+-72.056 28.732 3239
+-71.93 28.732 3238
+-71.804 28.732 3238
+-71.678 28.732 3237
+-71.552 28.732 3237
+-71.426 28.732 3236
+-71.3 28.732 3236
+-71.174 28.732 3235
+-71.048 28.732 3235
+-70.922 28.732 3096
+-70.796 28.732 3095
+-70.67 28.732 3094
+-70.544 28.732 3093
+-70.418 28.732 3092
+-70.292 28.732 3092
+-70.166 28.732 3091
+-70.04 28.732 3090
+-69.914 28.732 3089
+-69.788 28.732 3089
+-69.662 28.732 3088
+-69.536 28.732 3088
+-69.41 28.732 3087
+-69.284 28.732 3087
+-69.158 28.732 3086
+-69.032 28.732 3086
+-68.906 28.732 3085
+-68.78 28.732 3085
+-68.654 28.732 3084
+-68.528 28.732 3084
+-68.402 28.732 3084
+-68.276 28.732 3083
+-68.15 28.732 3083
+-68.024 28.732 3083
+-67.898 28.732 3082
+-67.772 28.732 3082
+-67.646 28.732 3082
+-67.52 28.732 3082
+-67.394 28.732 3081
+-67.268 28.732 3081
+-67.142 28.732 3081
+-67.016 28.732 3081
+-66.89 28.732 3081
+-66.764 28.732 3080
+-66.638 28.732 3080
+-66.512 28.732 3080
+-66.386 28.732 3080
+-66.26 28.732 3080
+-66.134 28.732 3080
+-66.008 28.732 3079
+-65.882 28.732 3079
+-65.756 28.732 3079
+-65.63 28.732 3079
+-65.504 28.732 3079
+-65.378 28.732 3079
+-65.252 28.732 3079
+-65.126 28.732 3079
+-128 28.68 2529
+-127.874 28.68 2514
+-127.748 28.68 2498
+-127.622 28.68 2491
+-127.496 28.68 2493
+-127.37 28.68 2477
+-127.244 28.68 2462
+-127.118 28.68 2446
+-126.992 28.68 2438
+-126.866 28.68 2461
+-126.74 28.68 2448
+-126.614 28.68 2436
+-126.488 28.68 2425
+-126.362 28.68 2415
+-126.236 28.68 2416
+-126.11 28.68 2420
+-125.984 28.68 2417
+-125.858 28.68 2416
+-125.732 28.68 2418
+-125.606 28.68 2423
+-125.48 28.68 2431
+-125.354 28.68 2442
+-125.228 28.68 2464
+-125.102 28.68 2490
+-124.976 28.68 2552
+-124.85 28.68 2549
+-124.724 28.68 2578
+-124.598 28.68 2638
+-124.472 28.68 2672
+-124.346 28.68 2729
+-124.22 28.68 2795
+-124.094 28.68 2833
+-123.968 28.68 2871
+-123.842 28.68 2909
+-123.716 28.68 2946
+-123.59 28.68 2964
+-123.464 28.68 2989
+-123.338 28.68 3044
+-123.212 28.68 3076
+-123.086 28.68 3129
+-122.96 28.68 3156
+-122.834 28.68 3156
+-122.708 28.68 3254
+-122.582 28.68 3274
+-122.456 28.68 3286
+-122.33 28.68 3303
+-122.204 28.68 3368
+-122.078 28.68 3405
+-121.952 28.68 3394
+-121.826 28.68 3365
+-121.7 28.68 3340
+-121.574 28.68 3305
+-121.448 28.68 3267
+-121.322 28.68 3276
+-121.196 28.68 3344
+-121.07 28.68 3468
+-120.944 28.68 3572
+-120.818 28.68 3664
+-120.692 28.68 3716
+-120.566 28.68 3717
+-120.44 28.68 3777
+-120.314 28.68 3922
+-120.188 28.68 3998
+-120.062 28.68 4029
+-119.936 28.68 4116
+-119.81 28.68 4226
+-119.684 28.68 4321
+-119.558 28.68 4369
+-119.432 28.68 4350
+-119.306 28.68 4438
+-119.18 28.68 4517
+-119.054 28.68 4553
+-118.928 28.68 4631
+-118.802 28.68 4693
+-118.676 28.68 4765
+-118.55 28.68 4791
+-118.424 28.68 4832
+-118.298 28.68 4886
+-118.172 28.68 4936
+-118.046 28.68 4962
+-117.92 28.68 4989
+-117.794 28.68 5039
+-117.668 28.68 5055
+-117.542 28.68 5082
+-117.416 28.68 5075
+-117.29 28.68 5094
+-117.164 28.68 5102
+-117.038 28.68 5127
+-116.912 28.68 5132
+-116.786 28.68 5151
+-116.66 28.68 5132
+-116.534 28.68 5096
+-116.408 28.68 5061
+-116.282 28.68 5028
+-116.156 28.68 5004
+-116.03 28.68 5006
+-115.904 28.68 4960
+-115.778 28.68 4903
+-115.652 28.68 4922
+-115.526 28.68 4892
+-115.4 28.68 4801
+-115.274 28.68 4731
+-115.148 28.68 4721
+-115.022 28.68 4634
+-114.896 28.68 4529
+-114.77 28.68 4419
+-114.644 28.68 4373
+-114.518 28.68 4334
+-114.392 28.68 4283
+-114.266 28.68 4304
+-114.14 28.68 4374
+-114.014 28.68 4449
+-113.888 28.68 4514
+-113.762 28.68 4660
+-113.636 28.68 4754
+-113.51 28.68 4844
+-113.384 28.68 4977
+-113.258 28.68 5023
+-113.132 28.68 5073
+-113.006 28.68 5210
+-112.88 28.68 5282
+-112.754 28.68 5371
+-112.628 28.68 5463
+-112.502 28.68 5573
+-112.376 28.68 5597
+-112.25 28.68 5744
+-112.124 28.68 5768
+-111.998 28.68 5867
+-111.872 28.68 5950
+-111.746 28.68 5989
+-111.62 28.68 6023
+-111.494 28.68 6074
+-111.368 28.68 6131
+-111.242 28.68 6171
+-111.116 28.68 6201
+-110.99 28.68 6243
+-110.864 28.68 6246
+-110.738 28.68 6251
+-110.612 28.68 6253
+-110.486 28.68 6276
+-110.36 28.68 6309
+-110.234 28.68 6294
+-110.108 28.68 6276
+-109.982 28.68 6260
+-109.856 28.68 6229
+-109.73 28.68 6228
+-109.604 28.68 6204
+-109.478 28.68 6146
+-109.352 28.68 6103
+-109.226 28.68 6069
+-109.1 28.68 5987
+-108.974 28.68 5958
+-108.848 28.68 5898
+-108.722 28.68 5825
+-108.596 28.68 5779
+-108.47 28.68 5714
+-108.344 28.68 5589
+-108.218 28.68 5474
+-108.092 28.68 5450
+-107.966 28.68 5386
+-107.84 28.68 5269
+-107.714 28.68 5254
+-107.588 28.68 5125
+-107.462 28.68 4986
+-107.336 28.68 4984
+-107.21 28.68 4880
+-107.084 28.68 4803
+-106.958 28.68 4639
+-106.832 28.68 4447
+-106.706 28.68 4324
+-106.58 28.68 4204
+-106.454 28.68 4080
+-106.328 28.68 3949
+-106.202 28.68 3854
+-106.076 28.68 3785
+-105.95 28.68 3743
+-105.824 28.68 3690
+-105.698 28.68 3619
+-105.572 28.68 3470
+-105.446 28.68 3241
+-105.32 28.68 3117
+-105.194 28.68 3178
+-105.068 28.68 3171
+-104.942 28.68 3053
+-104.816 28.68 2961
+-104.69 28.68 2976
+-104.564 28.68 3059
+-104.438 28.68 3157
+-104.312 28.68 3242
+-104.186 28.68 3243
+-104.06 28.68 3280
+-103.934 28.68 3319
+-103.808 28.68 3351
+-103.682 28.68 3378
+-103.556 28.68 3401
+-103.43 28.68 3404
+-103.304 28.68 3383
+-103.178 28.68 3386
+-103.052 28.68 3309
+-102.926 28.68 3305
+-102.8 28.68 3310
+-102.674 28.68 3314
+-102.548 28.68 3317
+-102.422 28.68 3320
+-102.296 28.68 3323
+-102.17 28.68 3325
+-102.044 28.68 3327
+-101.918 28.68 3275
+-101.792 28.68 3276
+-101.666 28.68 3278
+-101.54 28.68 3212
+-101.414 28.68 3212
+-101.288 28.68 3212
+-101.162 28.68 3212
+-101.036 28.68 3164
+-100.91 28.68 3132
+-100.784 28.68 3123
+-100.658 28.68 3124
+-100.532 28.68 3126
+-100.406 28.68 3096
+-100.28 28.68 3097
+-100.154 28.68 3098
+-100.028 28.68 3043
+-99.902 28.68 3043
+-99.776 28.68 3044
+-99.65 28.68 3044
+-99.524 28.68 2977
+-99.398 28.68 2943
+-99.272 28.68 2945
+-99.146 28.68 2940
+-99.02 28.68 2941
+-98.894 28.68 2790
+-98.768 28.68 2785
+-98.642 28.68 2781
+-98.516 28.68 2776
+-98.39 28.68 2771
+-98.264 28.68 2766
+-98.138 28.68 2760
+-98.012 28.68 2695
+-97.886 28.68 2688
+-97.76 28.68 2681
+-97.634 28.68 2575
+-97.508 28.68 2514
+-97.382 28.68 2506
+-97.256 28.68 2429
+-97.13 28.68 2489
+-97.004 28.68 2433
+-96.878 28.68 2374
+-96.752 28.68 2339
+-96.626 28.68 2298
+-96.5 28.68 2284
+-96.374 28.68 2263
+-96.248 28.68 2271
+-96.122 28.68 2276
+-95.996 28.68 2287
+-95.87 28.68 2325
+-95.744 28.68 2395
+-95.618 28.68 2433
+-95.492 28.68 2438
+-95.366 28.68 2503
+-95.24 28.68 2508
+-95.114 28.68 2548
+-94.988 28.68 2553
+-94.862 28.68 2558
+-94.736 28.68 2564
+-94.61 28.68 2570
+-94.484 28.68 2591
+-94.358 28.68 2597
+-94.232 28.68 2771
+-94.106 28.68 2779
+-93.98 28.68 2948
+-93.854 28.68 2950
+-93.728 28.68 2953
+-93.602 28.68 2990
+-93.476 28.68 2992
+-93.35 28.68 3019
+-93.224 28.68 3021
+-93.098 28.68 3212
+-92.972 28.68 3213
+-92.846 28.68 3216
+-92.72 28.68 3218
+-92.594 28.68 3280
+-92.468 28.68 3325
+-92.342 28.68 3326
+-92.216 28.68 3327
+-92.09 28.68 3327
+-91.964 28.68 3328
+-91.838 28.68 3329
+-91.712 28.68 3331
+-91.586 28.68 3332
+-91.46 28.68 3499
+-91.334 28.68 3500
+-91.208 28.68 3501
+-91.082 28.68 3503
+-90.956 28.68 3545
+-90.83 28.68 3546
+-90.704 28.68 3546
+-90.578 28.68 3547
+-90.452 28.68 3631
+-90.326 28.68 3627
+-90.2 28.68 3740
+-90.074 28.68 3736
+-89.948 28.68 3732
+-89.822 28.68 3763
+-89.696 28.68 3755
+-89.57 28.68 3771
+-89.444 28.68 3758
+-89.318 28.68 3787
+-89.192 28.68 3797
+-89.066 28.68 3774
+-88.94 28.68 3746
+-88.814 28.68 3716
+-88.688 28.68 3719
+-88.562 28.68 3695
+-88.436 28.68 3691
+-88.31 28.68 3764
+-88.184 28.68 3866
+-88.058 28.68 3949
+-87.932 28.68 4061
+-87.806 28.68 4131
+-87.68 28.68 4187
+-87.554 28.68 4195
+-87.428 28.68 4211
+-87.302 28.68 4236
+-87.176 28.68 4223
+-87.05 28.68 4366
+-86.924 28.68 4469
+-86.798 28.68 4607
+-86.672 28.68 4823
+-86.546 28.68 5001
+-86.42 28.68 5089
+-86.294 28.68 5210
+-86.168 28.68 5380
+-86.042 28.68 5506
+-85.916 28.68 5616
+-85.79 28.68 5782
+-85.664 28.68 5956
+-85.538 28.68 5905
+-85.412 28.68 6129
+-85.286 28.68 6305
+-85.16 28.68 6402
+-85.034 28.68 6511
+-84.908 28.68 6645
+-84.782 28.68 6790
+-84.656 28.68 6939
+-84.53 28.68 7094
+-84.404 28.68 7201
+-84.278 28.68 7342
+-84.152 28.68 7403
+-84.026 28.68 7590
+-83.9 28.68 7712
+-83.774 28.68 7856
+-83.648 28.68 7911
+-83.522 28.68 8092
+-83.396 28.68 8208
+-83.27 28.68 8306
+-83.144 28.68 8409
+-83.018 28.68 8543
+-82.892 28.68 8641
+-82.766 28.68 8704
+-82.64 28.68 8768
+-82.514 28.68 8820
+-82.388 28.68 8873
+-82.262 28.68 8866
+-82.136 28.68 8862
+-82.01 28.68 8860
+-81.884 28.68 8800
+-81.758 28.68 8754
+-81.632 28.68 8707
+-81.506 28.68 8651
+-81.38 28.68 8527
+-81.254 28.68 8423
+-81.128 28.68 8278
+-81.002 28.68 8220
+-80.876 28.68 8051
+-80.75 28.68 7967
+-80.624 28.68 7937
+-80.498 28.68 7791
+-80.372 28.68 7597
+-80.246 28.68 7434
+-80.12 28.68 7323
+-79.994 28.68 7225
+-79.868 28.68 7099
+-79.742 28.68 6986
+-79.616 28.68 6801
+-79.49 28.68 6672
+-79.364 28.68 6525
+-79.238 28.68 6552
+-79.112 28.68 6453
+-78.986 28.68 6203
+-78.86 28.68 5958
+-78.734 28.68 5698
+-78.608 28.68 5536
+-78.482 28.68 5433
+-78.356 28.68 5416
+-78.23 28.68 5312
+-78.104 28.68 5145
+-77.978 28.68 5028
+-77.852 28.68 4984
+-77.726 28.68 4855
+-77.6 28.68 4710
+-77.474 28.68 4601
+-77.348 28.68 4464
+-77.222 28.68 4260
+-77.096 28.68 4110
+-76.97 28.68 4008
+-76.844 28.68 3824
+-76.718 28.68 3587
+-76.592 28.68 3414
+-76.466 28.68 3439
+-76.34 28.68 3325
+-76.214 28.68 3383
+-76.088 28.68 3481
+-75.962 28.68 3559
+-75.836 28.68 3600
+-75.71 28.68 3635
+-75.584 28.68 3636
+-75.458 28.68 3659
+-75.332 28.68 3680
+-75.206 28.68 3676
+-75.08 28.68 3692
+-74.954 28.68 3641
+-74.828 28.68 3547
+-74.702 28.68 3553
+-74.576 28.68 3532
+-74.45 28.68 3499
+-74.324 28.68 3499
+-74.198 28.68 3500
+-74.072 28.68 3411
+-73.946 28.68 3412
+-73.82 28.68 3380
+-73.694 28.68 3380
+-73.568 28.68 3379
+-73.442 28.68 3379
+-73.316 28.68 3344
+-73.19 28.68 3343
+-73.064 28.68 3342
+-72.938 28.68 3341
+-72.812 28.68 3304
+-72.686 28.68 3303
+-72.56 28.68 3303
+-72.434 28.68 3302
+-72.308 28.68 3263
+-72.182 28.68 3237
+-72.056 28.68 3236
+-71.93 28.68 3235
+-71.804 28.68 3235
+-71.678 28.68 3235
+-71.552 28.68 3234
+-71.426 28.68 3234
+-71.3 28.68 3234
+-71.174 28.68 3233
+-71.048 28.68 3233
+-70.922 28.68 3233
+-70.796 28.68 3096
+-70.67 28.68 3095
+-70.544 28.68 3094
+-70.418 28.68 3093
+-70.292 28.68 3092
+-70.166 28.68 3092
+-70.04 28.68 3091
+-69.914 28.68 3090
+-69.788 28.68 3090
+-69.662 28.68 3089
+-69.536 28.68 3088
+-69.41 28.68 3088
+-69.284 28.68 3087
+-69.158 28.68 3087
+-69.032 28.68 3086
+-68.906 28.68 3086
+-68.78 28.68 3086
+-68.654 28.68 3085
+-68.528 28.68 3085
+-68.402 28.68 3084
+-68.276 28.68 3084
+-68.15 28.68 3084
+-68.024 28.68 3083
+-67.898 28.68 3083
+-67.772 28.68 3083
+-67.646 28.68 3083
+-67.52 28.68 3082
+-67.394 28.68 3082
+-67.268 28.68 3082
+-67.142 28.68 3082
+-67.016 28.68 3081
+-66.89 28.68 3081
+-66.764 28.68 3081
+-66.638 28.68 3081
+-66.512 28.68 3081
+-66.386 28.68 3080
+-66.26 28.68 3080
+-66.134 28.68 3080
+-66.008 28.68 3080
+-65.882 28.68 3080
+-65.756 28.68 3080
+-65.63 28.68 3080
+-65.504 28.68 3080
+-65.378 28.68 3079
+-65.252 28.68 3079
+-65.126 28.68 3079
+-128 28.628 2540
+-127.874 28.628 2526
+-127.748 28.628 2520
+-127.622 28.628 2523
+-127.496 28.628 2509
+-127.37 28.628 2495
+-127.244 28.628 2481
+-127.118 28.628 2472
+-126.992 28.628 2497
+-126.866 28.628 2486
+-126.74 28.628 2475
+-126.614 28.628 2465
+-126.488 28.628 2456
+-126.362 28.628 2459
+-126.236 28.628 2461
+-126.11 28.628 2458
+-125.984 28.628 2457
+-125.858 28.628 2458
+-125.732 28.628 2461
+-125.606 28.628 2467
+-125.48 28.628 2475
+-125.354 28.628 2494
+-125.228 28.628 2517
+-125.102 28.628 2576
+-124.976 28.628 2568
+-124.85 28.628 2592
+-124.724 28.628 2649
+-124.598 28.628 2678
+-124.472 28.628 2731
+-124.346 28.628 2793
+-124.22 28.628 2827
+-124.094 28.628 2861
+-123.968 28.628 2896
+-123.842 28.628 2931
+-123.716 28.628 2947
+-123.59 28.628 2972
+-123.464 28.628 3026
+-123.338 28.628 3057
+-123.212 28.628 3110
+-123.086 28.628 3138
+-122.96 28.628 3137
+-122.834 28.628 3246
+-122.708 28.628 3265
+-122.582 28.628 3276
+-122.456 28.628 3294
+-122.33 28.628 3366
+-122.204 28.628 3406
+-122.078 28.628 3395
+-121.952 28.628 3367
+-121.826 28.628 3342
+-121.7 28.628 3300
+-121.574 28.628 3232
+-121.448 28.628 3146
+-121.322 28.628 3096
+-121.196 28.628 3197
+-121.07 28.628 3381
+-120.944 28.628 3532
+-120.818 28.628 3634
+-120.692 28.628 3686
+-120.566 28.628 3728
+-120.44 28.628 3778
+-120.314 28.628 3879
+-120.188 28.628 3945
+-120.062 28.628 3957
+-119.936 28.628 4047
+-119.81 28.628 4159
+-119.684 28.628 4271
+-119.558 28.628 4337
+-119.432 28.628 4350
+-119.306 28.628 4389
+-119.18 28.628 4467
+-119.054 28.628 4511
+-118.928 28.628 4584
+-118.802 28.628 4638
+-118.676 28.628 4697
+-118.55 28.628 4773
+-118.424 28.628 4775
+-118.298 28.628 4835
+-118.172 28.628 4877
+-118.046 28.628 4906
+-117.92 28.628 4920
+-117.794 28.628 4992
+-117.668 28.628 5025
+-117.542 28.628 5025
+-117.416 28.628 5042
+-117.29 28.628 5040
+-117.164 28.628 5075
+-117.038 28.628 5066
+-116.912 28.628 5073
+-116.786 28.628 5063
+-116.66 28.628 5049
+-116.534 28.628 5026
+-116.408 28.628 4996
+-116.282 28.628 4981
+-116.156 28.628 4965
+-116.03 28.628 4924
+-115.904 28.628 4909
+-115.778 28.628 4900
+-115.652 28.628 4885
+-115.526 28.628 4853
+-115.4 28.628 4793
+-115.274 28.628 4742
+-115.148 28.628 4690
+-115.022 28.628 4567
+-114.896 28.628 4472
+-114.77 28.628 4388
+-114.644 28.628 4341
+-114.518 28.628 4274
+-114.392 28.628 4097
+-114.266 28.628 4248
+-114.14 28.628 4342
+-114.014 28.628 4336
+-113.888 28.628 4503
+-113.762 28.628 4637
+-113.636 28.628 4711
+-113.51 28.628 4798
+-113.384 28.628 4905
+-113.258 28.628 5018
+-113.132 28.628 5099
+-113.006 28.628 5184
+-112.88 28.628 5261
+-112.754 28.628 5355
+-112.628 28.628 5425
+-112.502 28.628 5508
+-112.376 28.628 5624
+-112.25 28.628 5654
+-112.124 28.628 5746
+-111.998 28.628 5843
+-111.872 28.628 5909
+-111.746 28.628 5922
+-111.62 28.628 5964
+-111.494 28.628 6012
+-111.368 28.628 6062
+-111.242 28.628 6109
+-111.116 28.628 6141
+-110.99 28.628 6183
+-110.864 28.628 6205
+-110.738 28.628 6209
+-110.612 28.628 6225
+-110.486 28.628 6220
+-110.36 28.628 6249
+-110.234 28.628 6230
+-110.108 28.628 6205
+-109.982 28.628 6194
+-109.856 28.628 6183
+-109.73 28.628 6158
+-109.604 28.628 6131
+-109.478 28.628 6088
+-109.352 28.628 6063
+-109.226 28.628 6016
+-109.1 28.628 5937
+-108.974 28.628 5902
+-108.848 28.628 5842
+-108.722 28.628 5759
+-108.596 28.628 5731
+-108.47 28.628 5651
+-108.344 28.628 5538
+-108.218 28.628 5459
+-108.092 28.628 5379
+-107.966 28.628 5355
+-107.84 28.628 5274
+-107.714 28.628 5173
+-107.588 28.628 5098
+-107.462 28.628 5024
+-107.336 28.628 4919
+-107.21 28.628 4782
+-107.084 28.628 4765
+-106.958 28.628 4583
+-106.832 28.628 4380
+-106.706 28.628 4295
+-106.58 28.628 4208
+-106.454 28.628 4067
+-106.328 28.628 3922
+-106.202 28.628 3789
+-106.076 28.628 3725
+-105.95 28.628 3685
+-105.824 28.628 3668
+-105.698 28.628 3611
+-105.572 28.628 3502
+-105.446 28.628 3322
+-105.32 28.628 3207
+-105.194 28.628 3194
+-105.068 28.628 3091
+-104.942 28.628 2852
+-104.816 28.628 2707
+-104.69 28.628 2781
+-104.564 28.628 2940
+-104.438 28.628 3067
+-104.312 28.628 3176
+-104.186 28.628 3257
+-104.06 28.628 3276
+-103.934 28.628 3309
+-103.808 28.628 3344
+-103.682 28.628 3373
+-103.556 28.628 3397
+-103.43 28.628 3418
+-103.304 28.628 3419
+-103.178 28.628 3395
+-103.052 28.628 3396
+-102.926 28.628 3316
+-102.8 28.628 3312
+-102.674 28.628 3316
+-102.548 28.628 3320
+-102.422 28.628 3323
+-102.296 28.628 3325
+-102.17 28.628 3328
+-102.044 28.628 3273
+-101.918 28.628 3275
+-101.792 28.628 3276
+-101.666 28.628 3278
+-101.54 28.628 3214
+-101.414 28.628 3214
+-101.288 28.628 3214
+-101.162 28.628 3213
+-101.036 28.628 3213
+-100.91 28.628 3165
+-100.784 28.628 3134
+-100.658 28.628 3124
+-100.532 28.628 3126
+-100.406 28.628 3127
+-100.28 28.628 3097
+-100.154 28.628 3099
+-100.028 28.628 3100
+-99.902 28.628 3044
+-99.776 28.628 3045
+-99.65 28.628 3045
+-99.524 28.628 3046
+-99.398 28.628 2977
+-99.272 28.628 2945
+-99.146 28.628 2946
+-99.02 28.628 2941
+-98.894 28.628 2942
+-98.768 28.628 2787
+-98.642 28.628 2783
+-98.516 28.628 2778
+-98.39 28.628 2773
+-98.264 28.628 2768
+-98.138 28.628 2763
+-98.012 28.628 2698
+-97.886 28.628 2691
+-97.76 28.628 2684
+-97.634 28.628 2578
+-97.508 28.628 2517
+-97.382 28.628 2510
+-97.256 28.628 2432
+-97.13 28.628 2493
+-97.004 28.628 2437
+-96.878 28.628 2349
+-96.752 28.628 2343
+-96.626 28.628 2302
+-96.5 28.628 2289
+-96.374 28.628 2268
+-96.248 28.628 2271
+-96.122 28.628 2288
+-95.996 28.628 2293
+-95.87 28.628 2332
+-95.744 28.628 2403
+-95.618 28.628 2441
+-95.492 28.628 2447
+-95.366 28.628 2512
+-95.24 28.628 2551
+-95.114 28.628 2556
+-94.988 28.628 2562
+-94.862 28.628 2567
+-94.736 28.628 2573
+-94.61 28.628 2595
+-94.484 28.628 2601
+-94.358 28.628 2607
+-94.232 28.628 2822
+-94.106 28.628 2951
+-93.98 28.628 2953
+-93.854 28.628 2955
+-93.728 28.628 2992
+-93.602 28.628 2994
+-93.476 28.628 3021
+-93.35 28.628 3023
+-93.224 28.628 3213
+-93.098 28.628 3215
+-92.972 28.628 3272
+-92.846 28.628 3273
+-92.72 28.628 3281
+-92.594 28.628 3329
+-92.468 28.628 3329
+-92.342 28.628 3330
+-92.216 28.628 3331
+-92.09 28.628 3331
+-91.964 28.628 3332
+-91.838 28.628 3334
+-91.712 28.628 3333
+-91.586 28.628 3334
+-91.46 28.628 3519
+-91.334 28.628 3521
+-91.208 28.628 3522
+-91.082 28.628 3523
+-90.956 28.628 3525
+-90.83 28.628 3549
+-90.704 28.628 3550
+-90.578 28.628 3551
+-90.452 28.628 3553
+-90.326 28.628 3639
+-90.2 28.628 3636
+-90.074 28.628 3750
+-89.948 28.628 3801
+-89.822 28.628 3795
+-89.696 28.628 3787
+-89.57 28.628 3791
+-89.444 28.628 3781
+-89.318 28.628 3770
+-89.192 28.628 3821
+-89.066 28.628 3816
+-88.94 28.628 3800
+-88.814 28.628 3799
+-88.688 28.628 3801
+-88.562 28.628 3796
+-88.436 28.628 3857
+-88.31 28.628 3919
+-88.184 28.628 3978
+-88.058 28.628 4027
+-87.932 28.628 4073
+-87.806 28.628 4116
+-87.68 28.628 4127
+-87.554 28.628 4103
+-87.428 28.628 4078
+-87.302 28.628 4170
+-87.176 28.628 4116
+-87.05 28.628 4344
+-86.924 28.628 4498
+-86.798 28.628 4633
+-86.672 28.628 4846
+-86.546 28.628 5038
+-86.42 28.628 5079
+-86.294 28.628 5211
+-86.168 28.628 5360
+-86.042 28.628 5478
+-85.916 28.628 5602
+-85.79 28.628 5768
+-85.664 28.628 5973
+-85.538 28.628 6034
+-85.412 28.628 6126
+-85.286 28.628 6281
+-85.16 28.628 6408
+-85.034 28.628 6545
+-84.908 28.628 6684
+-84.782 28.628 6815
+-84.656 28.628 6960
+-84.53 28.628 7101
+-84.404 28.628 7202
+-84.278 28.628 7339
+-84.152 28.628 7411
+-84.026 28.628 7624
+-83.9 28.628 7743
+-83.774 28.628 7859
+-83.648 28.628 7997
+-83.522 28.628 8095
+-83.396 28.628 8225
+-83.27 28.628 8372
+-83.144 28.628 8494
+-83.018 28.628 8546
+-82.892 28.628 8658
+-82.766 28.628 8776
+-82.64 28.628 8823
+-82.514 28.628 8881
+-82.388 28.628 8938
+-82.262 28.628 8915
+-82.136 28.628 8930
+-82.01 28.628 8914
+-81.884 28.628 8870
+-81.758 28.628 8838
+-81.632 28.628 8743
+-81.506 28.628 8643
+-81.38 28.628 8588
+-81.254 28.628 8453
+-81.128 28.628 8409
+-81.002 28.628 8235
+-80.876 28.628 8165
+-80.75 28.628 8000
+-80.624 28.628 7932
+-80.498 28.628 7805
+-80.372 28.628 7634
+-80.246 28.628 7485
+-80.12 28.628 7369
+-79.994 28.628 7258
+-79.868 28.628 7023
+-79.742 28.628 6994
+-79.616 28.628 6822
+-79.49 28.628 6678
+-79.364 28.628 6664
+-79.238 28.628 6604
+-79.112 28.628 6472
+-78.986 28.628 6242
+-78.86 28.628 6030
+-78.734 28.628 5759
+-78.608 28.628 5566
+-78.482 28.628 5479
+-78.356 28.628 5427
+-78.23 28.628 5321
+-78.104 28.628 5150
+-77.978 28.628 5035
+-77.852 28.628 4938
+-77.726 28.628 4886
+-77.6 28.628 4728
+-77.474 28.628 4577
+-77.348 28.628 4462
+-77.222 28.628 4219
+-77.096 28.628 4039
+-76.97 28.628 4021
+-76.844 28.628 3814
+-76.718 28.628 3637
+-76.592 28.628 3551
+-76.466 28.628 3542
+-76.34 28.628 3522
+-76.214 28.628 3520
+-76.088 28.628 3567
+-75.962 28.628 3617
+-75.836 28.628 3647
+-75.71 28.628 3678
+-75.584 28.628 3686
+-75.458 28.628 3693
+-75.332 28.628 3710
+-75.206 28.628 3726
+-75.08 28.628 3681
+-74.954 28.628 3689
+-74.828 28.628 3696
+-74.702 28.628 3530
+-74.576 28.628 3497
+-74.45 28.628 3497
+-74.324 28.628 3497
+-74.198 28.628 3407
+-74.072 28.628 3407
+-73.946 28.628 3375
+-73.82 28.628 3374
+-73.694 28.628 3374
+-73.568 28.628 3374
+-73.442 28.628 3373
+-73.316 28.628 3376
+-73.19 28.628 3338
+-73.064 28.628 3337
+-72.938 28.628 3301
+-72.812 28.628 3301
+-72.686 28.628 3300
+-72.56 28.628 3300
+-72.434 28.628 3261
+-72.308 28.628 3234
+-72.182 28.628 3234
+-72.056 28.628 3233
+-71.93 28.628 3233
+-71.804 28.628 3232
+-71.678 28.628 3232
+-71.552 28.628 3232
+-71.426 28.628 3231
+-71.3 28.628 3231
+-71.174 28.628 3231
+-71.048 28.628 3231
+-70.922 28.628 3231
+-70.796 28.628 3231
+-70.67 28.628 3095
+-70.544 28.628 3094
+-70.418 28.628 3094
+-70.292 28.628 3093
+-70.166 28.628 3092
+-70.04 28.628 3091
+-69.914 28.628 3091
+-69.788 28.628 3090
+-69.662 28.628 3090
+-69.536 28.628 3089
+-69.41 28.628 3089
+-69.284 28.628 3088
+-69.158 28.628 3088
+-69.032 28.628 3087
+-68.906 28.628 3087
+-68.78 28.628 3086
+-68.654 28.628 3086
+-68.528 28.628 3085
+-68.402 28.628 3085
+-68.276 28.628 3085
+-68.15 28.628 3084
+-68.024 28.628 3084
+-67.898 28.628 3084
+-67.772 28.628 3084
+-67.646 28.628 3083
+-67.52 28.628 3083
+-67.394 28.628 3083
+-67.268 28.628 3083
+-67.142 28.628 3082
+-67.016 28.628 3082
+-66.89 28.628 3082
+-66.764 28.628 3082
+-66.638 28.628 3081
+-66.512 28.628 3081
+-66.386 28.628 3081
+-66.26 28.628 3081
+-66.134 28.628 3081
+-66.008 28.628 3081
+-65.882 28.628 3080
+-65.756 28.628 3080
+-65.63 28.628 3080
+-65.504 28.628 3080
+-65.378 28.628 2988
+-65.252 28.628 2987
+-65.126 28.628 2986
+-128 28.576 2550
+-127.874 28.576 2546
+-127.748 28.576 2550
+-127.622 28.576 2538
+-127.496 28.576 2525
+-127.37 28.576 2512
+-127.244 28.576 2503
+-127.118 28.576 2530
+-126.992 28.576 2520
+-126.866 28.576 2510
+-126.74 28.576 2501
+-126.614 28.576 2493
+-126.488 28.576 2496
+-126.362 28.576 2498
+-126.236 28.576 2495
+-126.11 28.576 2493
+-125.984 28.576 2493
+-125.858 28.576 2495
+-125.732 28.576 2500
+-125.606 28.576 2506
+-125.48 28.576 2523
+-125.354 28.576 2543
+-125.228 28.576 2600
+-125.102 28.576 2587
+-124.976 28.576 2607
+-124.85 28.576 2661
+-124.724 28.576 2686
+-124.598 28.576 2735
+-124.472 28.576 2793
+-124.346 28.576 2824
+-124.22 28.576 2855
+-124.094 28.576 2887
+-123.968 28.576 2918
+-123.842 28.576 2933
+-123.716 28.576 2957
+-123.59 28.576 3010
+-123.464 28.576 3040
+-123.338 28.576 3093
+-123.212 28.576 3120
+-123.086 28.576 3118
+-122.96 28.576 3135
+-122.834 28.576 3257
+-122.708 28.576 3268
+-122.582 28.576 3286
+-122.456 28.576 3350
+-122.33 28.576 3409
+-122.204 28.576 3401
+-122.078 28.576 3376
+-121.952 28.576 3357
+-121.826 28.576 3327
+-121.7 28.576 3275
+-121.574 28.576 3198
+-121.448 28.576 3077
+-121.322 28.576 2994
+-121.196 28.576 3112
+-121.07 28.576 3319
+-120.944 28.576 3481
+-120.818 28.576 3579
+-120.692 28.576 3623
+-120.566 28.576 3678
+-120.44 28.576 3744
+-120.314 28.576 3837
+-120.188 28.576 3904
+-120.062 28.576 3894
+-119.936 28.576 3981
+-119.81 28.576 4114
+-119.684 28.576 4228
+-119.558 28.576 4295
+-119.432 28.576 4279
+-119.306 28.576 4344
+-119.18 28.576 4402
+-119.054 28.576 4450
+-118.928 28.576 4510
+-118.802 28.576 4591
+-118.676 28.576 4641
+-118.55 28.576 4690
+-118.424 28.576 4717
+-118.298 28.576 4769
+-118.172 28.576 4832
+-118.046 28.576 4842
+-117.92 28.576 4878
+-117.794 28.576 4944
+-117.668 28.576 4964
+-117.542 28.576 4960
+-117.416 28.576 4968
+-117.29 28.576 4978
+-117.164 28.576 5011
+-117.038 28.576 5012
+-116.912 28.576 4999
+-116.786 28.576 4987
+-116.66 28.576 4970
+-116.534 28.576 4962
+-116.408 28.576 4958
+-116.282 28.576 4933
+-116.156 28.576 4891
+-116.03 28.576 4852
+-115.904 28.576 4857
+-115.778 28.576 4853
+-115.652 28.576 4826
+-115.526 28.576 4782
+-115.4 28.576 4752
+-115.274 28.576 4692
+-115.148 28.576 4605
+-115.022 28.576 4503
+-114.896 28.576 4423
+-114.77 28.576 4350
+-114.644 28.576 4304
+-114.518 28.576 4248
+-114.392 28.576 4205
+-114.266 28.576 4219
+-114.14 28.576 4298
+-114.014 28.576 4390
+-113.888 28.576 4514
+-113.762 28.576 4586
+-113.636 28.576 4694
+-113.51 28.576 4800
+-113.384 28.576 4836
+-113.258 28.576 4956
+-113.132 28.576 5064
+-113.006 28.576 5160
+-112.88 28.576 5242
+-112.754 28.576 5318
+-112.628 28.576 5399
+-112.502 28.576 5477
+-112.376 28.576 5568
+-112.25 28.576 5633
+-112.124 28.576 5705
+-111.998 28.576 5793
+-111.872 28.576 5856
+-111.746 28.576 5890
+-111.62 28.576 5929
+-111.494 28.576 5971
+-111.368 28.576 6020
+-111.242 28.576 6062
+-111.116 28.576 6099
+-110.99 28.576 6139
+-110.864 28.576 6145
+-110.738 28.576 6179
+-110.612 28.576 6188
+-110.486 28.576 6189
+-110.36 28.576 6203
+-110.234 28.576 6159
+-110.108 28.576 6139
+-109.982 28.576 6123
+-109.856 28.576 6114
+-109.73 28.576 6098
+-109.604 28.576 6089
+-109.478 28.576 6062
+-109.352 28.576 6023
+-109.226 28.576 5952
+-109.1 28.576 5904
+-108.974 28.576 5854
+-108.848 28.576 5808
+-108.722 28.576 5750
+-108.596 28.576 5678
+-108.47 28.576 5588
+-108.344 28.576 5491
+-108.218 28.576 5455
+-108.092 28.576 5386
+-107.966 28.576 5327
+-107.84 28.576 5187
+-107.714 28.576 5064
+-107.588 28.576 5084
+-107.462 28.576 5022
+-107.336 28.576 4919
+-107.21 28.576 4827
+-107.084 28.576 4709
+-106.958 28.576 4532
+-106.832 28.576 4335
+-106.706 28.576 4279
+-106.58 28.576 4221
+-106.454 28.576 4051
+-106.328 28.576 3879
+-106.202 28.576 3743
+-106.076 28.576 3710
+-105.95 28.576 3638
+-105.824 28.576 3648
+-105.698 28.576 3606
+-105.572 28.576 3540
+-105.446 28.576 3428
+-105.32 28.576 3334
+-105.194 28.576 3238
+-105.068 28.576 3036
+-104.942 28.576 2726
+-104.816 28.576 2569
+-104.69 28.576 2681
+-104.564 28.576 2874
+-104.438 28.576 3036
+-104.312 28.576 3159
+-104.186 28.576 3245
+-104.06 28.576 3311
+-103.934 28.576 3315
+-103.808 28.576 3340
+-103.682 28.576 3370
+-103.556 28.576 3395
+-103.43 28.576 3416
+-103.304 28.576 3434
+-103.178 28.576 3433
+-103.052 28.576 3406
+-102.926 28.576 3406
+-102.8 28.576 3323
+-102.674 28.576 3318
+-102.548 28.576 3322
+-102.422 28.576 3325
+-102.296 28.576 3264
+-102.17 28.576 3271
+-102.044 28.576 3273
+-101.918 28.576 3274
+-101.792 28.576 3276
+-101.666 28.576 3277
+-101.54 28.576 3279
+-101.414 28.576 3215
+-101.288 28.576 3215
+-101.162 28.576 3215
+-101.036 28.576 3215
+-100.91 28.576 3215
+-100.784 28.576 3167
+-100.658 28.576 3135
+-100.532 28.576 3125
+-100.406 28.576 3127
+-100.28 28.576 3129
+-100.154 28.576 3099
+-100.028 28.576 3100
+-99.902 28.576 3101
+-99.776 28.576 3045
+-99.65 28.576 3045
+-99.524 28.576 3046
+-99.398 28.576 3047
+-99.272 28.576 2978
+-99.146 28.576 2946
+-99.02 28.576 2947
+-98.894 28.576 2942
+-98.768 28.576 2943
+-98.642 28.576 2784
+-98.516 28.576 2780
+-98.39 28.576 2775
+-98.264 28.576 2770
+-98.138 28.576 2765
+-98.012 28.576 2701
+-97.886 28.576 2694
+-97.76 28.576 2688
+-97.634 28.576 2581
+-97.508 28.576 2521
+-97.382 28.576 2514
+-97.256 28.576 2436
+-97.13 28.576 2428
+-97.004 28.576 2441
+-96.878 28.576 2353
+-96.752 28.576 2347
+-96.626 28.576 2306
+-96.5 28.576 2293
+-96.374 28.576 2276
+-96.248 28.576 2275
+-96.122 28.576 2294
+-95.996 28.576 2292
+-95.87 28.576 2339
+-95.744 28.576 2431
+-95.618 28.576 2449
+-95.492 28.576 2456
+-95.366 28.576 2575
+-95.24 28.576 2580
+-95.114 28.576 2585
+-94.988 28.576 2590
+-94.862 28.576 2595
+-94.736 28.576 2599
+-94.61 28.576 2604
+-94.484 28.576 2610
+-94.358 28.576 2823
+-94.232 28.576 2953
+-94.106 28.576 2955
+-93.98 28.576 2958
+-93.854 28.576 2994
+-93.728 28.576 2996
+-93.602 28.576 3023
+-93.476 28.576 3025
+-93.35 28.576 3271
+-93.224 28.576 3272
+-93.098 28.576 3273
+-92.972 28.576 3274
+-92.846 28.576 3329
+-92.72 28.576 3329
+-92.594 28.576 3330
+-92.468 28.576 3331
+-92.342 28.576 3331
+-92.216 28.576 3332
+-92.09 28.576 3333
+-91.964 28.576 3334
+-91.838 28.576 3335
+-91.712 28.576 3337
+-91.586 28.576 3518
+-91.46 28.576 3519
+-91.334 28.576 3521
+-91.208 28.576 3522
+-91.082 28.576 3524
+-90.956 28.576 3526
+-90.83 28.576 3528
+-90.704 28.576 3567
+-90.578 28.576 3569
+-90.452 28.576 3570
+-90.326 28.576 3614
+-90.2 28.576 3614
+-90.074 28.576 3732
+-89.948 28.576 3814
+-89.822 28.576 3809
+-89.696 28.576 3804
+-89.57 28.576 3798
+-89.444 28.576 3813
+-89.318 28.576 3861
+-89.192 28.576 3852
+-89.066 28.576 3843
+-88.94 28.576 3863
+-88.814 28.576 3855
+-88.688 28.576 3876
+-88.562 28.576 3920
+-88.436 28.576 3968
+-88.31 28.576 4001
+-88.184 28.576 4024
+-88.058 28.576 4051
+-87.932 28.576 4077
+-87.806 28.576 4094
+-87.68 28.576 4095
+-87.554 28.576 4020
+-87.428 28.576 3905
+-87.302 28.576 4110
+-87.176 28.576 4253
+-87.05 28.576 4422
+-86.924 28.576 4530
+-86.798 28.576 4633
+-86.672 28.576 4863
+-86.546 28.576 5037
+-86.42 28.576 5095
+-86.294 28.576 5243
+-86.168 28.576 5251
+-86.042 28.576 5438
+-85.916 28.576 5635
+-85.79 28.576 5741
+-85.664 28.576 5963
+-85.538 28.576 6089
+-85.412 28.576 6208
+-85.286 28.576 6346
+-85.16 28.576 6406
+-85.034 28.576 6569
+-84.908 28.576 6676
+-84.782 28.576 6833
+-84.656 28.576 6937
+-84.53 28.576 7090
+-84.404 28.576 7204
+-84.278 28.576 7306
+-84.152 28.576 7433
+-84.026 28.576 7648
+-83.9 28.576 7825
+-83.774 28.576 7890
+-83.648 28.576 8076
+-83.522 28.576 8134
+-83.396 28.576 8309
+-83.27 28.576 8402
+-83.144 28.576 8556
+-83.018 28.576 8640
+-82.892 28.576 8703
+-82.766 28.576 8796
+-82.64 28.576 8913
+-82.514 28.576 8937
+-82.388 28.576 8965
+-82.262 28.576 9016
+-82.136 28.576 8998
+-82.01 28.576 8963
+-81.884 28.576 8924
+-81.758 28.576 8874
+-81.632 28.576 8799
+-81.506 28.576 8747
+-81.38 28.576 8631
+-81.254 28.576 8491
+-81.128 28.576 8408
+-81.002 28.576 8269
+-80.876 28.576 8136
+-80.75 28.576 7988
+-80.624 28.576 7914
+-80.498 28.576 7754
+-80.372 28.576 7642
+-80.246 28.576 7541
+-80.12 28.576 7390
+-79.994 28.576 7303
+-79.868 28.576 7100
+-79.742 28.576 7015
+-79.616 28.576 6867
+-79.49 28.576 6700
+-79.364 28.576 6688
+-79.238 28.576 6600
+-79.112 28.576 6436
+-78.986 28.576 6255
+-78.86 28.576 6089
+-78.734 28.576 5802
+-78.608 28.576 5584
+-78.482 28.576 5581
+-78.356 28.576 5519
+-78.23 28.576 5302
+-78.104 28.576 5112
+-77.978 28.576 5043
+-77.852 28.576 4906
+-77.726 28.576 4847
+-77.6 28.576 4680
+-77.474 28.576 4453
+-77.348 28.576 4497
+-77.222 28.576 4310
+-77.096 28.576 4148
+-76.97 28.576 4025
+-76.844 28.576 3764
+-76.718 28.576 3572
+-76.592 28.576 3637
+-76.466 28.576 3648
+-76.34 28.576 3628
+-76.214 28.576 3633
+-76.088 28.576 3653
+-75.962 28.576 3670
+-75.836 28.576 3696
+-75.71 28.576 3720
+-75.584 28.576 3741
+-75.458 28.576 3760
+-75.332 28.576 3737
+-75.206 28.576 3690
+-75.08 28.576 3696
+-74.954 28.576 3702
+-74.828 28.576 3707
+-74.702 28.576 3495
+-74.576 28.576 3494
+-74.45 28.576 3493
+-74.324 28.576 3402
+-74.198 28.576 3402
+-74.072 28.576 3369
+-73.946 28.576 3369
+-73.82 28.576 3368
+-73.694 28.576 3368
+-73.568 28.576 3367
+-73.442 28.576 3370
+-73.316 28.576 3371
+-73.19 28.576 3349
+-73.064 28.576 3349
+-72.938 28.576 3298
+-72.812 28.576 3298
+-72.686 28.576 3297
+-72.56 28.576 3258
+-72.434 28.576 3231
+-72.308 28.576 3231
+-72.182 28.576 3230
+-72.056 28.576 3230
+-71.93 28.576 3230
+-71.804 28.576 3229
+-71.678 28.576 3229
+-71.552 28.576 3229
+-71.426 28.576 3229
+-71.3 28.576 3229
+-71.174 28.576 3229
+-71.048 28.576 3229
+-70.922 28.576 3229
+-70.796 28.576 3229
+-70.67 28.576 3229
+-70.544 28.576 3095
+-70.418 28.576 3094
+-70.292 28.576 3093
+-70.166 28.576 3093
+-70.04 28.576 3092
+-69.914 28.576 3091
+-69.788 28.576 3091
+-69.662 28.576 3090
+-69.536 28.576 3090
+-69.41 28.576 3089
+-69.284 28.576 3089
+-69.158 28.576 3088
+-69.032 28.576 3088
+-68.906 28.576 3087
+-68.78 28.576 3087
+-68.654 28.576 3087
+-68.528 28.576 3086
+-68.402 28.576 3086
+-68.276 28.576 3085
+-68.15 28.576 3085
+-68.024 28.576 3085
+-67.898 28.576 3084
+-67.772 28.576 3084
+-67.646 28.576 3084
+-67.52 28.576 3084
+-67.394 28.576 3083
+-67.268 28.576 3083
+-67.142 28.576 3083
+-67.016 28.576 3083
+-66.89 28.576 3083
+-66.764 28.576 3082
+-66.638 28.576 3082
+-66.512 28.576 3082
+-66.386 28.576 3082
+-66.26 28.576 3082
+-66.134 28.576 2992
+-66.008 28.576 2991
+-65.882 28.576 2990
+-65.756 28.576 2990
+-65.63 28.576 2989
+-65.504 28.576 2988
+-65.378 28.576 2987
+-65.252 28.576 2986
+-65.126 28.576 2985
+-128 28.524 2570
+-127.874 28.524 2575
+-127.748 28.524 2563
+-127.622 28.524 2552
+-127.496 28.524 2540
+-127.37 28.524 2530
+-127.244 28.524 2559
+-127.118 28.524 2550
+-126.992 28.524 2541
+-126.866 28.524 2533
+-126.74 28.524 2526
+-126.614 28.524 2530
+-126.488 28.524 2530
+-126.362 28.524 2527
+-126.236 28.524 2526
+-126.11 28.524 2525
+-125.984 28.524 2527
+-125.858 28.524 2530
+-125.732 28.524 2535
+-125.606 28.524 2549
+-125.48 28.524 2567
+-125.354 28.524 2624
+-125.228 28.524 2605
+-125.102 28.524 2623
+-124.976 28.524 2674
+-124.85 28.524 2696
+-124.724 28.524 2741
+-124.598 28.524 2796
+-124.472 28.524 2823
+-124.346 28.524 2851
+-124.22 28.524 2880
+-124.094 28.524 2909
+-123.968 28.524 2921
+-123.842 28.524 2944
+-123.716 28.524 2995
+-123.59 28.524 3024
+-123.464 28.524 3076
+-123.338 28.524 3103
+-123.212 28.524 3101
+-123.086 28.524 3118
+-122.96 28.524 3141
+-122.834 28.524 3260
+-122.708 28.524 3278
+-122.582 28.524 3350
+-122.456 28.524 3413
+-122.33 28.524 3406
+-122.204 28.524 3384
+-122.078 28.524 3372
+-121.952 28.524 3354
+-121.826 28.524 3323
+-121.7 28.524 3287
+-121.574 28.524 3218
+-121.448 28.524 3135
+-121.322 28.524 3090
+-121.196 28.524 3181
+-121.07 28.524 3344
+-120.944 28.524 3464
+-120.818 28.524 3533
+-120.692 28.524 3549
+-120.566 28.524 3560
+-120.44 28.524 3645
+-120.314 28.524 3786
+-120.188 28.524 3876
+-120.062 28.524 3930
+-119.936 28.524 4003
+-119.81 28.524 4090
+-119.684 28.524 4176
+-119.558 28.524 4244
+-119.432 28.524 4291
+-119.306 28.524 4334
+-119.18 28.524 4357
+-119.054 28.524 4424
+-118.928 28.524 4485
+-118.802 28.524 4538
+-118.676 28.524 4605
+-118.55 28.524 4630
+-118.424 28.524 4662
+-118.298 28.524 4700
+-118.172 28.524 4762
+-118.046 28.524 4826
+-117.92 28.524 4849
+-117.794 28.524 4887
+-117.668 28.524 4916
+-117.542 28.524 4901
+-117.416 28.524 4906
+-117.29 28.524 4936
+-117.164 28.524 4943
+-117.038 28.524 4943
+-116.912 28.524 4924
+-116.786 28.524 4921
+-116.66 28.524 4926
+-116.534 28.524 4928
+-116.408 28.524 4923
+-116.282 28.524 4888
+-116.156 28.524 4850
+-116.03 28.524 4832
+-115.904 28.524 4830
+-115.778 28.524 4790
+-115.652 28.524 4742
+-115.526 28.524 4693
+-115.4 28.524 4656
+-115.274 28.524 4605
+-115.148 28.524 4500
+-115.022 28.524 4425
+-114.896 28.524 4346
+-114.77 28.524 4278
+-114.644 28.524 4238
+-114.518 28.524 4207
+-114.392 28.524 4172
+-114.266 28.524 4118
+-114.14 28.524 4209
+-114.014 28.524 4342
+-113.888 28.524 4482
+-113.762 28.524 4601
+-113.636 28.524 4668
+-113.51 28.524 4764
+-113.384 28.524 4831
+-113.258 28.524 4890
+-113.132 28.524 5013
+-113.006 28.524 5114
+-112.88 28.524 5196
+-112.754 28.524 5254
+-112.628 28.524 5328
+-112.502 28.524 5393
+-112.376 28.524 5503
+-112.25 28.524 5568
+-112.124 28.524 5648
+-111.998 28.524 5747
+-111.872 28.524 5798
+-111.746 28.524 5800
+-111.62 28.524 5861
+-111.494 28.524 5923
+-111.368 28.524 5990
+-111.242 28.524 6029
+-111.116 28.524 6038
+-110.99 28.524 6076
+-110.864 28.524 6123
+-110.738 28.524 6135
+-110.612 28.524 6128
+-110.486 28.524 6128
+-110.36 28.524 6115
+-110.234 28.524 6115
+-110.108 28.524 6127
+-109.982 28.524 6083
+-109.856 28.524 6080
+-109.73 28.524 6076
+-109.604 28.524 6049
+-109.478 28.524 5998
+-109.352 28.524 5944
+-109.226 28.524 5900
+-109.1 28.524 5844
+-108.974 28.524 5773
+-108.848 28.524 5751
+-108.722 28.524 5670
+-108.596 28.524 5585
+-108.47 28.524 5516
+-108.344 28.524 5456
+-108.218 28.524 5396
+-108.092 28.524 5306
+-107.966 28.524 5293
+-107.84 28.524 5173
+-107.714 28.524 5102
+-107.588 28.524 5049
+-107.462 28.524 4975
+-107.336 28.524 4887
+-107.21 28.524 4788
+-107.084 28.524 4647
+-106.958 28.524 4499
+-106.832 28.524 4336
+-106.706 28.524 4274
+-106.58 28.524 4186
+-106.454 28.524 4030
+-106.328 28.524 3861
+-106.202 28.524 3729
+-106.076 28.524 3676
+-105.95 28.524 3655
+-105.824 28.524 3592
+-105.698 28.524 3584
+-105.572 28.524 3558
+-105.446 28.524 3498
+-105.32 28.524 3403
+-105.194 28.524 3286
+-105.068 28.524 3078
+-104.942 28.524 2824
+-104.816 28.524 2694
+-104.69 28.524 2765
+-104.564 28.524 2917
+-104.438 28.524 3059
+-104.312 28.524 3168
+-104.186 28.524 3254
+-104.06 28.524 3313
+-103.934 28.524 3363
+-103.808 28.524 3353
+-103.682 28.524 3370
+-103.556 28.524 3395
+-103.43 28.524 3415
+-103.304 28.524 3433
+-103.178 28.524 3396
+-103.052 28.524 3409
+-102.926 28.524 3416
+-102.8 28.524 3415
+-102.674 28.524 3329
+-102.548 28.524 3324
+-102.422 28.524 3264
+-102.296 28.524 3265
+-102.17 28.524 3265
+-102.044 28.524 3272
+-101.918 28.524 3274
+-101.792 28.524 3275
+-101.666 28.524 3277
+-101.54 28.524 3278
+-101.414 28.524 3280
+-101.288 28.524 3216
+-101.162 28.524 3216
+-101.036 28.524 3216
+-100.91 28.524 3216
+-100.784 28.524 3216
+-100.658 28.524 3168
+-100.532 28.524 3136
+-100.406 28.524 3127
+-100.28 28.524 3128
+-100.154 28.524 3130
+-100.028 28.524 3100
+-99.902 28.524 3101
+-99.776 28.524 3102
+-99.65 28.524 3046
+-99.524 28.524 3046
+-99.398 28.524 3047
+-99.272 28.524 3047
+-99.146 28.524 2979
+-99.02 28.524 2947
+-98.894 28.524 2948
+-98.768 28.524 2943
+-98.642 28.524 2944
+-98.516 28.524 2782
+-98.39 28.524 2777
+-98.264 28.524 2773
+-98.138 28.524 2768
+-98.012 28.524 2704
+-97.886 28.524 2697
+-97.76 28.524 2691
+-97.634 28.524 2584
+-97.508 28.524 2524
+-97.382 28.524 2517
+-97.256 28.524 2439
+-97.13 28.524 2431
+-97.004 28.524 2445
+-96.878 28.524 2385
+-96.752 28.524 2316
+-96.626 28.524 2310
+-96.5 28.524 2298
+-96.374 28.524 2281
+-96.248 28.524 2306
+-96.122 28.524 2293
+-95.996 28.524 2298
+-95.87 28.524 2346
+-95.744 28.524 2440
+-95.618 28.524 2458
+-95.492 28.524 2464
+-95.366 28.524 2523
+-95.24 28.524 2589
+-95.114 28.524 2594
+-94.988 28.524 2599
+-94.862 28.524 2603
+-94.736 28.524 2608
+-94.61 28.524 2613
+-94.484 28.524 2825
+-94.358 28.524 2955
+-94.232 28.524 2958
+-94.106 28.524 2960
+-93.98 28.524 2996
+-93.854 28.524 2998
+-93.728 28.524 3024
+-93.602 28.524 3026
+-93.476 28.524 3281
+-93.35 28.524 3282
+-93.224 28.524 3283
+-93.098 28.524 3284
+-92.972 28.524 3330
+-92.846 28.524 3330
+-92.72 28.524 3330
+-92.594 28.524 3331
+-92.468 28.524 3332
+-92.342 28.524 3332
+-92.216 28.524 3333
+-92.09 28.524 3334
+-91.964 28.524 3335
+-91.838 28.524 3337
+-91.712 28.524 3535
+-91.586 28.524 3536
+-91.46 28.524 3538
+-91.334 28.524 3539
+-91.208 28.524 3541
+-91.082 28.524 3542
+-90.956 28.524 3544
+-90.83 28.524 3547
+-90.704 28.524 3549
+-90.578 28.524 3572
+-90.452 28.524 3615
+-90.326 28.524 3617
+-90.2 28.524 3748
+-90.074 28.524 3750
+-89.948 28.524 3751
+-89.822 28.524 3823
+-89.696 28.524 3820
+-89.57 28.524 3839
+-89.444 28.524 3835
+-89.318 28.524 3830
+-89.192 28.524 3879
+-89.066 28.524 3891
+-88.94 28.524 3887
+-88.814 28.524 3892
+-88.688 28.524 3967
+-88.562 28.524 3986
+-88.436 28.524 3987
+-88.31 28.524 4028
+-88.184 28.524 4036
+-88.058 28.524 4046
+-87.932 28.524 4060
+-87.806 28.524 4075
+-87.68 28.524 4086
+-87.554 28.524 4066
+-87.428 28.524 4048
+-87.302 28.524 4171
+-87.176 28.524 4336
+-87.05 28.524 4458
+-86.924 28.524 4540
+-86.798 28.524 4689
+-86.672 28.524 4888
+-86.546 28.524 5025
+-86.42 28.524 5011
+-86.294 28.524 5236
+-86.168 28.524 5399
+-86.042 28.524 5515
+-85.916 28.524 5622
+-85.79 28.524 5770
+-85.664 28.524 5980
+-85.538 28.524 6082
+-85.412 28.524 6205
+-85.286 28.524 6321
+-85.16 28.524 6421
+-85.034 28.524 6547
+-84.908 28.524 6698
+-84.782 28.524 6856
+-84.656 28.524 7041
+-84.53 28.524 7164
+-84.404 28.524 7283
+-84.278 28.524 7439
+-84.152 28.524 7471
+-84.026 28.524 7677
+-83.9 28.524 7847
+-83.774 28.524 7967
+-83.648 28.524 8003
+-83.522 28.524 8159
+-83.396 28.524 8307
+-83.27 28.524 8437
+-83.144 28.524 8582
+-83.018 28.524 8642
+-82.892 28.524 8777
+-82.766 28.524 8823
+-82.64 28.524 8901
+-82.514 28.524 8998
+-82.388 28.524 8992
+-82.262 28.524 9062
+-82.136 28.524 9080
+-82.01 28.524 9022
+-81.884 28.524 9003
+-81.758 28.524 8894
+-81.632 28.524 8849
+-81.506 28.524 8794
+-81.38 28.524 8624
+-81.254 28.524 8535
+-81.128 28.524 8426
+-81.002 28.524 8320
+-80.876 28.524 8176
+-80.75 28.524 8009
+-80.624 28.524 7967
+-80.498 28.524 7791
+-80.372 28.524 7679
+-80.246 28.524 7563
+-80.12 28.524 7407
+-79.994 28.524 7280
+-79.868 28.524 7091
+-79.742 28.524 7041
+-79.616 28.524 6889
+-79.49 28.524 6766
+-79.364 28.524 6681
+-79.238 28.524 6565
+-79.112 28.524 6395
+-78.986 28.524 6214
+-78.86 28.524 6107
+-78.734 28.524 5876
+-78.608 28.524 5658
+-78.482 28.524 5548
+-78.356 28.524 5472
+-78.23 28.524 5287
+-78.104 28.524 5168
+-77.978 28.524 5059
+-77.852 28.524 4951
+-77.726 28.524 4800
+-77.6 28.524 4665
+-77.474 28.524 4612
+-77.348 28.524 4549
+-77.222 28.524 4421
+-77.096 28.524 4264
+-76.97 28.524 4110
+-76.844 28.524 3865
+-76.718 28.524 3717
+-76.592 28.524 3733
+-76.466 28.524 3746
+-76.34 28.524 3738
+-76.214 28.524 3720
+-76.088 28.524 3718
+-75.962 28.524 3731
+-75.836 28.524 3747
+-75.71 28.524 3763
+-75.584 28.524 3778
+-75.458 28.524 3792
+-75.332 28.524 3740
+-75.206 28.524 3707
+-75.08 28.524 3711
+-74.954 28.524 3700
+-74.828 28.524 3495
+-74.702 28.524 3492
+-74.576 28.524 3482
+-74.45 28.524 3480
+-74.324 28.524 3397
+-74.198 28.524 3375
+-74.072 28.524 3374
+-73.946 28.524 3373
+-73.82 28.524 3373
+-73.694 28.524 3373
+-73.568 28.524 3365
+-73.442 28.524 3365
+-73.316 28.524 3343
+-73.19 28.524 3343
+-73.064 28.524 3344
+-72.938 28.524 3344
+-72.812 28.524 3294
+-72.686 28.524 3254
+-72.56 28.524 3228
+-72.434 28.524 3228
+-72.308 28.524 3227
+-72.182 28.524 3227
+-72.056 28.524 3227
+-71.93 28.524 3227
+-71.804 28.524 3226
+-71.678 28.524 3226
+-71.552 28.524 3226
+-71.426 28.524 3226
+-71.3 28.524 3226
+-71.174 28.524 3226
+-71.048 28.524 3226
+-70.922 28.524 3227
+-70.796 28.524 3227
+-70.67 28.524 3227
+-70.544 28.524 3227
+-70.418 28.524 3094
+-70.292 28.524 3094
+-70.166 28.524 3093
+-70.04 28.524 3092
+-69.914 28.524 3092
+-69.788 28.524 3091
+-69.662 28.524 3091
+-69.536 28.524 3090
+-69.41 28.524 3090
+-69.284 28.524 3089
+-69.158 28.524 3089
+-69.032 28.524 3088
+-68.906 28.524 3088
+-68.78 28.524 3087
+-68.654 28.524 3087
+-68.528 28.524 3087
+-68.402 28.524 3086
+-68.276 28.524 3086
+-68.15 28.524 3086
+-68.024 28.524 3085
+-67.898 28.524 3085
+-67.772 28.524 3085
+-67.646 28.524 3085
+-67.52 28.524 3084
+-67.394 28.524 3084
+-67.268 28.524 3084
+-67.142 28.524 3084
+-67.016 28.524 2999
+-66.89 28.524 2998
+-66.764 28.524 2996
+-66.638 28.524 2995
+-66.512 28.524 2994
+-66.386 28.524 2993
+-66.26 28.524 2992
+-66.134 28.524 2991
+-66.008 28.524 2990
+-65.882 28.524 2990
+-65.756 28.524 2989
+-65.63 28.524 2988
+-65.504 28.524 2987
+-65.378 28.524 2986
+-65.252 28.524 2985
+-65.126 28.524 2985
+-128 28.472 2598
+-127.874 28.472 2587
+-127.748 28.472 2576
+-127.622 28.472 2566
+-127.496 28.472 2555
+-127.37 28.472 2585
+-127.244 28.472 2577
+-127.118 28.472 2569
+-126.992 28.472 2562
+-126.866 28.472 2555
+-126.74 28.472 2560
+-126.614 28.472 2560
+-126.488 28.472 2557
+-126.362 28.472 2555
+-126.236 28.472 2554
+-126.11 28.472 2555
+-125.984 28.472 2557
+-125.858 28.472 2561
+-125.732 28.472 2574
+-125.606 28.472 2590
+-125.48 28.472 2646
+-125.354 28.472 2624
+-125.228 28.472 2639
+-125.102 28.472 2688
+-124.976 28.472 2706
+-124.85 28.472 2748
+-124.724 28.472 2801
+-124.598 28.472 2825
+-124.472 28.472 2850
+-124.346 28.472 2876
+-124.22 28.472 2902
+-124.094 28.472 2912
+-123.968 28.472 2933
+-123.842 28.472 2983
+-123.716 28.472 3010
+-123.59 28.472 3062
+-123.464 28.472 3087
+-123.338 28.472 3084
+-123.212 28.472 3094
+-123.086 28.472 3125
+-122.96 28.472 3147
+-122.834 28.472 3167
+-122.708 28.472 3350
+-122.582 28.472 3416
+-122.456 28.472 3411
+-122.33 28.472 3373
+-122.204 28.472 3354
+-122.078 28.472 3372
+-121.952 28.472 3353
+-121.826 28.472 3341
+-121.7 28.472 3309
+-121.574 28.472 3268
+-121.448 28.472 3245
+-121.322 28.472 3237
+-121.196 28.472 3288
+-121.07 28.472 3386
+-120.944 28.472 3459
+-120.818 28.472 3496
+-120.692 28.472 3504
+-120.566 28.472 3500
+-120.44 28.472 3563
+-120.314 28.472 3705
+-120.188 28.472 3812
+-120.062 28.472 3898
+-119.936 28.472 3998
+-119.81 28.472 4039
+-119.684 28.472 4061
+-119.558 28.472 4161
+-119.432 28.472 4250
+-119.306 28.472 4301
+-119.18 28.472 4347
+-119.054 28.472 4398
+-118.928 28.472 4450
+-118.802 28.472 4502
+-118.676 28.472 4565
+-118.55 28.472 4596
+-118.424 28.472 4668
+-118.298 28.472 4675
+-118.172 28.472 4700
+-118.046 28.472 4773
+-117.92 28.472 4808
+-117.794 28.472 4840
+-117.668 28.472 4878
+-117.542 28.472 4887
+-117.416 28.472 4887
+-117.29 28.472 4879
+-117.164 28.472 4885
+-117.038 28.472 4884
+-116.912 28.472 4883
+-116.786 28.472 4883
+-116.66 28.472 4877
+-116.534 28.472 4864
+-116.408 28.472 4843
+-116.282 28.472 4825
+-116.156 28.472 4775
+-116.03 28.472 4743
+-115.904 28.472 4733
+-115.778 28.472 4692
+-115.652 28.472 4631
+-115.526 28.472 4586
+-115.4 28.472 4567
+-115.274 28.472 4510
+-115.148 28.472 4416
+-115.022 28.472 4360
+-114.896 28.472 4280
+-114.77 28.472 4229
+-114.644 28.472 4191
+-114.518 28.472 4152
+-114.392 28.472 4130
+-114.266 28.472 4058
+-114.14 28.472 4162
+-114.014 28.472 4280
+-113.888 28.472 4415
+-113.762 28.472 4537
+-113.636 28.472 4655
+-113.51 28.472 4748
+-113.384 28.472 4832
+-113.258 28.472 4886
+-113.132 28.472 4982
+-113.006 28.472 5067
+-112.88 28.472 5138
+-112.754 28.472 5213
+-112.628 28.472 5270
+-112.502 28.472 5336
+-112.376 28.472 5422
+-112.25 28.472 5546
+-112.124 28.472 5612
+-111.998 28.472 5699
+-111.872 28.472 5749
+-111.746 28.472 5737
+-111.62 28.472 5857
+-111.494 28.472 5858
+-111.368 28.472 5909
+-111.242 28.472 5952
+-111.116 28.472 5963
+-110.99 28.472 5991
+-110.864 28.472 6051
+-110.738 28.472 6078
+-110.612 28.472 6063
+-110.486 28.472 6068
+-110.36 28.472 6069
+-110.234 28.472 6064
+-110.108 28.472 6055
+-109.982 28.472 6031
+-109.856 28.472 6027
+-109.73 28.472 6004
+-109.604 28.472 5972
+-109.478 28.472 5913
+-109.352 28.472 5875
+-109.226 28.472 5849
+-109.1 28.472 5802
+-108.974 28.472 5755
+-108.848 28.472 5657
+-108.722 28.472 5610
+-108.596 28.472 5503
+-108.47 28.472 5452
+-108.344 28.472 5432
+-108.218 28.472 5353
+-108.092 28.472 5305
+-107.966 28.472 5251
+-107.84 28.472 5143
+-107.714 28.472 5075
+-107.588 28.472 4994
+-107.462 28.472 4895
+-107.336 28.472 4815
+-107.21 28.472 4733
+-107.084 28.472 4610
+-106.958 28.472 4466
+-106.832 28.472 4349
+-106.706 28.472 4255
+-106.58 28.472 4133
+-106.454 28.472 4002
+-106.328 28.472 3872
+-106.202 28.472 3753
+-106.076 28.472 3693
+-105.95 28.472 3609
+-105.824 28.472 3476
+-105.698 28.472 3548
+-105.572 28.472 3575
+-105.446 28.472 3531
+-105.32 28.472 3439
+-105.194 28.472 3331
+-105.068 28.472 3187
+-104.942 28.472 3015
+-104.816 28.472 2919
+-104.69 28.472 2937
+-104.564 28.472 3019
+-104.438 28.472 3121
+-104.312 28.472 3207
+-104.186 28.472 3273
+-104.06 28.472 3331
+-103.934 28.472 3371
+-103.808 28.472 3408
+-103.682 28.472 3386
+-103.556 28.472 3396
+-103.43 28.472 3416
+-103.304 28.472 3434
+-103.178 28.472 3449
+-103.052 28.472 3408
+-102.926 28.472 3419
+-102.8 28.472 3367
+-102.674 28.472 3361
+-102.548 28.472 3358
+-102.422 28.472 3264
+-102.296 28.472 3265
+-102.17 28.472 3266
+-102.044 28.472 3266
+-101.918 28.472 3273
+-101.792 28.472 3274
+-101.666 28.472 3276
+-101.54 28.472 3278
+-101.414 28.472 3279
+-101.288 28.472 3280
+-101.162 28.472 3217
+-101.036 28.472 3217
+-100.91 28.472 3217
+-100.784 28.472 3217
+-100.658 28.472 3217
+-100.532 28.472 3169
+-100.406 28.472 3137
+-100.28 28.472 3127
+-100.154 28.472 3129
+-100.028 28.472 3131
+-99.902 28.472 3100
+-99.776 28.472 3102
+-99.65 28.472 3103
+-99.524 28.472 3046
+-99.398 28.472 3047
+-99.272 28.472 3047
+-99.146 28.472 3048
+-99.02 28.472 2979
+-98.894 28.472 2948
+-98.768 28.472 2949
+-98.642 28.472 2943
+-98.516 28.472 2945
+-98.39 28.472 2779
+-98.264 28.472 2774
+-98.138 28.472 2770
+-98.012 28.472 2706
+-97.886 28.472 2700
+-97.76 28.472 2694
+-97.634 28.472 2587
+-97.508 28.472 2527
+-97.382 28.472 2521
+-97.256 28.472 2442
+-97.13 28.472 2435
+-97.004 28.472 2448
+-96.878 28.472 2389
+-96.752 28.472 2319
+-96.626 28.472 2313
+-96.5 28.472 2302
+-96.374 28.472 2285
+-96.248 28.472 2311
+-96.122 28.472 2299
+-95.996 28.472 2304
+-95.87 28.472 2352
+-95.744 28.472 2448
+-95.618 28.472 2466
+-95.492 28.472 2472
+-95.366 28.472 2532
+-95.24 28.472 2536
+-95.114 28.472 2602
+-94.988 28.472 2606
+-94.862 28.472 2611
+-94.736 28.472 2617
+-94.61 28.472 2827
+-94.484 28.472 2958
+-94.358 28.472 2960
+-94.232 28.472 2962
+-94.106 28.472 2998
+-93.98 28.472 2999
+-93.854 28.472 3026
+-93.728 28.472 3027
+-93.602 28.472 3282
+-93.476 28.472 3283
+-93.35 28.472 3284
+-93.224 28.472 3285
+-93.098 28.472 3330
+-92.972 28.472 3330
+-92.846 28.472 3331
+-92.72 28.472 3331
+-92.594 28.472 3332
+-92.468 28.472 3332
+-92.342 28.472 3333
+-92.216 28.472 3334
+-92.09 28.472 3335
+-91.964 28.472 3336
+-91.838 28.472 3534
+-91.712 28.472 3535
+-91.586 28.472 3536
+-91.46 28.472 3537
+-91.334 28.472 3538
+-91.208 28.472 3540
+-91.082 28.472 3542
+-90.956 28.472 3545
+-90.83 28.472 3547
+-90.704 28.472 3550
+-90.578 28.472 3591
+-90.452 28.472 3593
+-90.326 28.472 3723
+-90.2 28.472 3751
+-90.074 28.472 3754
+-89.948 28.472 3757
+-89.822 28.472 3759
+-89.696 28.472 3842
+-89.57 28.472 3857
+-89.444 28.472 3854
+-89.318 28.472 3925
+-89.192 28.472 3921
+-89.066 28.472 3919
+-88.94 28.472 3922
+-88.814 28.472 3969
+-88.688 28.472 3985
+-88.562 28.472 4014
+-88.436 28.472 4009
+-88.31 28.472 4002
+-88.184 28.472 4026
+-88.058 28.472 4016
+-87.932 28.472 4012
+-87.806 28.472 4032
+-87.68 28.472 4067
+-87.554 28.472 4101
+-87.428 28.472 4153
+-87.302 28.472 4244
+-87.176 28.472 4375
+-87.05 28.472 4479
+-86.924 28.472 4570
+-86.798 28.472 4718
+-86.672 28.472 4906
+-86.546 28.472 5064
+-86.42 28.472 5145
+-86.294 28.472 5323
+-86.168 28.472 5479
+-86.042 28.472 5538
+-85.916 28.472 5633
+-85.79 28.472 5771
+-85.664 28.472 5963
+-85.538 28.472 6114
+-85.412 28.472 6128
+-85.286 28.472 6328
+-85.16 28.472 6478
+-85.034 28.472 6632
+-84.908 28.472 6764
+-84.782 28.472 6868
+-84.656 28.472 7109
+-84.53 28.472 7178
+-84.404 28.472 7331
+-84.278 28.472 7396
+-84.152 28.472 7501
+-84.026 28.472 7632
+-83.9 28.472 7825
+-83.774 28.472 7957
+-83.648 28.472 8069
+-83.522 28.472 8171
+-83.396 28.472 8324
+-83.27 28.472 8431
+-83.144 28.472 8588
+-83.018 28.472 8711
+-82.892 28.472 8812
+-82.766 28.472 8874
+-82.64 28.472 8992
+-82.514 28.472 9019
+-82.388 28.472 9096
+-82.262 28.472 9104
+-82.136 28.472 9118
+-82.01 28.472 9090
+-81.884 28.472 9043
+-81.758 28.472 8965
+-81.632 28.472 8888
+-81.506 28.472 8780
+-81.38 28.472 8687
+-81.254 28.472 8562
+-81.128 28.472 8404
+-81.002 28.472 8316
+-80.876 28.472 8179
+-80.75 28.472 8156
+-80.624 28.472 8004
+-80.498 28.472 7834
+-80.372 28.472 7646
+-80.246 28.472 7531
+-80.12 28.472 7400
+-79.994 28.472 7260
+-79.868 28.472 7164
+-79.742 28.472 7039
+-79.616 28.472 6932
+-79.49 28.472 6733
+-79.364 28.472 6551
+-79.238 28.472 6555
+-79.112 28.472 6424
+-78.986 28.472 6208
+-78.86 28.472 6080
+-78.734 28.472 5949
+-78.608 28.472 5714
+-78.482 28.472 5572
+-78.356 28.472 5497
+-78.23 28.472 5294
+-78.104 28.472 5152
+-77.978 28.472 5024
+-77.852 28.472 4964
+-77.726 28.472 4783
+-77.6 28.472 4661
+-77.474 28.472 4674
+-77.348 28.472 4595
+-77.222 28.472 4482
+-77.096 28.472 4369
+-76.97 28.472 4208
+-76.844 28.472 4044
+-76.718 28.472 3912
+-76.592 28.472 3876
+-76.466 28.472 3857
+-76.34 28.472 3828
+-76.214 28.472 3799
+-76.088 28.472 3784
+-75.962 28.472 3788
+-75.836 28.472 3795
+-75.71 28.472 3804
+-75.584 28.472 3814
+-75.458 28.472 3762
+-75.332 28.472 3764
+-75.206 28.472 3717
+-75.08 28.472 3671
+-74.954 28.472 3668
+-74.828 28.472 3491
+-74.702 28.472 3480
+-74.576 28.472 3477
+-74.45 28.472 3453
+-74.324 28.472 3450
+-74.198 28.472 3368
+-74.072 28.472 3367
+-73.946 28.472 3367
+-73.82 28.472 3367
+-73.694 28.472 3358
+-73.568 28.472 3358
+-73.442 28.472 3337
+-73.316 28.472 3337
+-73.19 28.472 3337
+-73.064 28.472 3337
+-72.938 28.472 3296
+-72.812 28.472 3277
+-72.686 28.472 3277
+-72.56 28.472 3224
+-72.434 28.472 3224
+-72.308 28.472 3224
+-72.182 28.472 3223
+-72.056 28.472 3223
+-71.93 28.472 3223
+-71.804 28.472 3223
+-71.678 28.472 3223
+-71.552 28.472 3224
+-71.426 28.472 3224
+-71.3 28.472 3224
+-71.174 28.472 3224
+-71.048 28.472 3224
+-70.922 28.472 3224
+-70.796 28.472 3225
+-70.67 28.472 3225
+-70.544 28.472 3225
+-70.418 28.472 3225
+-70.292 28.472 3094
+-70.166 28.472 3093
+-70.04 28.472 3093
+-69.914 28.472 3092
+-69.788 28.472 3092
+-69.662 28.472 3091
+-69.536 28.472 3091
+-69.41 28.472 3090
+-69.284 28.472 3090
+-69.158 28.472 3089
+-69.032 28.472 3089
+-68.906 28.472 3088
+-68.78 28.472 3088
+-68.654 28.472 3088
+-68.528 28.472 3087
+-68.402 28.472 3087
+-68.276 28.472 3087
+-68.15 28.472 3086
+-68.024 28.472 3086
+-67.898 28.472 3017
+-67.772 28.472 3016
+-67.646 28.472 3014
+-67.52 28.472 3013
+-67.394 28.472 3012
+-67.268 28.472 3011
+-67.142 28.472 2999
+-67.016 28.472 2998
+-66.89 28.472 2997
+-66.764 28.472 2996
+-66.638 28.472 2994
+-66.512 28.472 2993
+-66.386 28.472 2992
+-66.26 28.472 2991
+-66.134 28.472 2990
+-66.008 28.472 2990
+-65.882 28.472 2989
+-65.756 28.472 2988
+-65.63 28.472 2987
+-65.504 28.472 2986
+-65.378 28.472 2985
+-65.252 28.472 2984
+-65.126 28.472 2984
+-128 28.42 2609
+-127.874 28.42 2599
+-127.748 28.42 2589
+-127.622 28.42 2577
+-127.496 28.42 2609
+-127.37 28.42 2601
+-127.244 28.42 2594
+-127.118 28.42 2588
+-126.992 28.42 2581
+-126.866 28.42 2588
+-126.74 28.42 2586
+-126.614 28.42 2583
+-126.488 28.42 2581
+-126.362 28.42 2581
+-126.236 28.42 2581
+-126.11 28.42 2583
+-125.984 28.42 2586
+-125.858 28.42 2597
+-125.732 28.42 2612
+-125.606 28.42 2667
+-125.48 28.42 2641
+-125.354 28.42 2654
+-125.228 28.42 2702
+-125.102 28.42 2718
+-124.976 28.42 2756
+-124.85 28.42 2808
+-124.724 28.42 2828
+-124.598 28.42 2851
+-124.472 28.42 2874
+-124.346 28.42 2897
+-124.22 28.42 2904
+-124.094 28.42 2924
+-123.968 28.42 2972
+-123.842 28.42 2998
+-123.716 28.42 3048
+-123.59 28.42 3073
+-123.464 28.42 3069
+-123.338 28.42 3078
+-123.212 28.42 3109
+-123.086 28.42 3131
+-122.96 28.42 3151
+-122.834 28.42 3250
+-122.708 28.42 3382
+-122.582 28.42 3380
+-122.456 28.42 3376
+-122.33 28.42 3359
+-122.204 28.42 3353
+-122.078 28.42 3369
+-121.952 28.42 3370
+-121.826 28.42 3354
+-121.7 28.42 3334
+-121.574 28.42 3339
+-121.448 28.42 3324
+-121.322 28.42 3325
+-121.196 28.42 3371
+-121.07 28.42 3423
+-120.944 28.42 3445
+-120.818 28.42 3435
+-120.692 28.42 3427
+-120.566 28.42 3490
+-120.44 28.42 3555
+-120.314 28.42 3669
+-120.188 28.42 3786
+-120.062 28.42 3853
+-119.936 28.42 3945
+-119.81 28.42 3996
+-119.684 28.42 4003
+-119.558 28.42 4086
+-119.432 28.42 4194
+-119.306 28.42 4243
+-119.18 28.42 4287
+-119.054 28.42 4330
+-118.928 28.42 4390
+-118.802 28.42 4460
+-118.676 28.42 4531
+-118.55 28.42 4556
+-118.424 28.42 4613
+-118.298 28.42 4651
+-118.172 28.42 4677
+-118.046 28.42 4732
+-117.92 28.42 4768
+-117.794 28.42 4788
+-117.668 28.42 4811
+-117.542 28.42 4829
+-117.416 28.42 4824
+-117.29 28.42 4808
+-117.164 28.42 4828
+-117.038 28.42 4853
+-116.912 28.42 4860
+-116.786 28.42 4842
+-116.66 28.42 4822
+-116.534 28.42 4789
+-116.408 28.42 4772
+-116.282 28.42 4756
+-116.156 28.42 4714
+-116.03 28.42 4694
+-115.904 28.42 4680
+-115.778 28.42 4617
+-115.652 28.42 4565
+-115.526 28.42 4535
+-115.4 28.42 4515
+-115.274 28.42 4449
+-115.148 28.42 4377
+-115.022 28.42 4303
+-114.896 28.42 4245
+-114.77 28.42 4198
+-114.644 28.42 4152
+-114.518 28.42 4095
+-114.392 28.42 4070
+-114.266 28.42 4115
+-114.14 28.42 4184
+-114.014 28.42 4298
+-113.888 28.42 4355
+-113.762 28.42 4444
+-113.636 28.42 4609
+-113.51 28.42 4724
+-113.384 28.42 4808
+-113.258 28.42 4869
+-113.132 28.42 4935
+-113.006 28.42 5050
+-112.88 28.42 5066
+-112.754 28.42 5167
+-112.628 28.42 5273
+-112.502 28.42 5290
+-112.376 28.42 5368
+-112.25 28.42 5472
+-112.124 28.42 5579
+-111.998 28.42 5639
+-111.872 28.42 5685
+-111.746 28.42 5742
+-111.62 28.42 5777
+-111.494 28.42 5795
+-111.368 28.42 5832
+-111.242 28.42 5873
+-111.116 28.42 5932
+-110.99 28.42 5951
+-110.864 28.42 5982
+-110.738 28.42 6048
+-110.612 28.42 6044
+-110.486 28.42 6005
+-110.36 28.42 6043
+-110.234 28.42 6001
+-110.108 28.42 5984
+-109.982 28.42 5959
+-109.856 28.42 5954
+-109.73 28.42 5916
+-109.604 28.42 5894
+-109.478 28.42 5876
+-109.352 28.42 5850
+-109.226 28.42 5826
+-109.1 28.42 5782
+-108.974 28.42 5711
+-108.848 28.42 5636
+-108.722 28.42 5536
+-108.596 28.42 5468
+-108.47 28.42 5451
+-108.344 28.42 5400
+-108.218 28.42 5316
+-108.092 28.42 5245
+-107.966 28.42 5165
+-107.84 28.42 5086
+-107.714 28.42 4983
+-107.588 28.42 4896
+-107.462 28.42 4822
+-107.336 28.42 4728
+-107.21 28.42 4625
+-107.084 28.42 4574
+-106.958 28.42 4479
+-106.832 28.42 4349
+-106.706 28.42 4243
+-106.58 28.42 4134
+-106.454 28.42 3980
+-106.328 28.42 3871
+-106.202 28.42 3775
+-106.076 28.42 3715
+-105.95 28.42 3641
+-105.824 28.42 3570
+-105.698 28.42 3583
+-105.572 28.42 3589
+-105.446 28.42 3548
+-105.32 28.42 3483
+-105.194 28.42 3399
+-105.068 28.42 3294
+-104.942 28.42 3189
+-104.816 28.42 3115
+-104.69 28.42 3103
+-104.564 28.42 3138
+-104.438 28.42 3192
+-104.312 28.42 3257
+-104.186 28.42 3309
+-104.06 28.42 3349
+-103.934 28.42 3391
+-103.808 28.42 3417
+-103.682 28.42 3445
+-103.556 28.42 3423
+-103.43 28.42 3419
+-103.304 28.42 3398
+-103.178 28.42 3411
+-103.052 28.42 3395
+-102.926 28.42 3352
+-102.8 28.42 3354
+-102.674 28.42 3361
+-102.548 28.42 3331
+-102.422 28.42 3360
+-102.296 28.42 3265
+-102.17 28.42 3266
+-102.044 28.42 3266
+-101.918 28.42 3267
+-101.792 28.42 3273
+-101.666 28.42 3275
+-101.54 28.42 3277
+-101.414 28.42 3278
+-101.288 28.42 3280
+-101.162 28.42 3281
+-101.036 28.42 3217
+-100.91 28.42 3217
+-100.784 28.42 3217
+-100.658 28.42 3217
+-100.532 28.42 3217
+-100.406 28.42 3170
+-100.28 28.42 3137
+-100.154 28.42 3128
+-100.028 28.42 3130
+-99.902 28.42 3132
+-99.776 28.42 3101
+-99.65 28.42 3102
+-99.524 28.42 3104
+-99.398 28.42 3047
+-99.272 28.42 3047
+-99.146 28.42 3048
+-99.02 28.42 3049
+-98.894 28.42 2980
+-98.768 28.42 2948
+-98.642 28.42 2950
+-98.516 28.42 2944
+-98.39 28.42 2886
+-98.264 28.42 2776
+-98.138 28.42 2772
+-98.012 28.42 2709
+-97.886 28.42 2703
+-97.76 28.42 2697
+-97.634 28.42 2590
+-97.508 28.42 2530
+-97.382 28.42 2524
+-97.256 28.42 2445
+-97.13 28.42 2438
+-97.004 28.42 2451
+-96.878 28.42 2392
+-96.752 28.42 2323
+-96.626 28.42 2316
+-96.5 28.42 2306
+-96.374 28.42 2289
+-96.248 28.42 2317
+-96.122 28.42 2304
+-95.996 28.42 2352
+-95.87 28.42 2358
+-95.744 28.42 2456
+-95.618 28.42 2474
+-95.492 28.42 2480
+-95.366 28.42 2540
+-95.24 28.42 2606
+-95.114 28.42 2610
+-94.988 28.42 2615
+-94.862 28.42 2620
+-94.736 28.42 2828
+-94.61 28.42 2960
+-94.484 28.42 2962
+-94.358 28.42 2964
+-94.232 28.42 2999
+-94.106 28.42 3001
+-93.98 28.42 3027
+-93.854 28.42 3028
+-93.728 28.42 3061
+-93.602 28.42 3062
+-93.476 28.42 3285
+-93.35 28.42 3286
+-93.224 28.42 3330
+-93.098 28.42 3331
+-92.972 28.42 3331
+-92.846 28.42 3331
+-92.72 28.42 3331
+-92.594 28.42 3332
+-92.468 28.42 3333
+-92.342 28.42 3333
+-92.216 28.42 3334
+-92.09 28.42 3335
+-91.964 28.42 3532
+-91.838 28.42 3532
+-91.712 28.42 3533
+-91.586 28.42 3534
+-91.46 28.42 3536
+-91.334 28.42 3537
+-91.208 28.42 3539
+-91.082 28.42 3541
+-90.956 28.42 3544
+-90.83 28.42 3547
+-90.704 28.42 3587
+-90.578 28.42 3589
+-90.452 28.42 3724
+-90.326 28.42 3728
+-90.2 28.42 3732
+-90.074 28.42 3766
+-89.948 28.42 3769
+-89.822 28.42 3773
+-89.696 28.42 3777
+-89.57 28.42 3800
+-89.444 28.42 3879
+-89.318 28.42 3944
+-89.192 28.42 3942
+-89.066 28.42 3984
+-88.94 28.42 4022
+-88.814 28.42 4016
+-88.688 28.42 4010
+-88.562 28.42 4003
+-88.436 28.42 4019
+-88.31 28.42 4000
+-88.184 28.42 3972
+-88.058 28.42 3959
+-87.932 28.42 3916
+-87.806 28.42 3915
+-87.68 28.42 3988
+-87.554 28.42 4082
+-87.428 28.42 4158
+-87.302 28.42 4276
+-87.176 28.42 4394
+-87.05 28.42 4490
+-86.924 28.42 4550
+-86.798 28.42 4679
+-86.672 28.42 4863
+-86.546 28.42 5083
+-86.42 28.42 5256
+-86.294 28.42 5403
+-86.168 28.42 5413
+-86.042 28.42 5575
+-85.916 28.42 5688
+-85.79 28.42 5770
+-85.664 28.42 5971
+-85.538 28.42 6104
+-85.412 28.42 6219
+-85.286 28.42 6398
+-85.16 28.42 6511
+-85.034 28.42 6598
+-84.908 28.42 6749
+-84.782 28.42 6878
+-84.656 28.42 7114
+-84.53 28.42 7126
+-84.404 28.42 7314
+-84.278 28.42 7485
+-84.152 28.42 7543
+-84.026 28.42 7697
+-83.9 28.42 7845
+-83.774 28.42 7978
+-83.648 28.42 8154
+-83.522 28.42 8230
+-83.396 28.42 8390
+-83.27 28.42 8540
+-83.144 28.42 8640
+-83.018 28.42 8756
+-82.892 28.42 8825
+-82.766 28.42 8900
+-82.64 28.42 9002
+-82.514 28.42 9057
+-82.388 28.42 9110
+-82.262 28.42 9191
+-82.136 28.42 9142
+-82.01 28.42 9115
+-81.884 28.42 9064
+-81.758 28.42 9041
+-81.632 28.42 8978
+-81.506 28.42 8843
+-81.38 28.42 8728
+-81.254 28.42 8580
+-81.128 28.42 8498
+-81.002 28.42 8359
+-80.876 28.42 8234
+-80.75 28.42 8166
+-80.624 28.42 8015
+-80.498 28.42 7802
+-80.372 28.42 7689
+-80.246 28.42 7595
+-80.12 28.42 7402
+-79.994 28.42 7236
+-79.868 28.42 7170
+-79.742 28.42 7040
+-79.616 28.42 6833
+-79.49 28.42 6767
+-79.364 28.42 6666
+-79.238 28.42 6454
+-79.112 28.42 6425
+-78.986 28.42 6212
+-78.86 28.42 6082
+-78.734 28.42 5966
+-78.608 28.42 5807
+-78.482 28.42 5653
+-78.356 28.42 5537
+-78.23 28.42 5383
+-78.104 28.42 5179
+-77.978 28.42 5047
+-77.852 28.42 4966
+-77.726 28.42 4821
+-77.6 28.42 4736
+-77.474 28.42 4703
+-77.348 28.42 4648
+-77.222 28.42 4560
+-77.096 28.42 4425
+-76.97 28.42 4321
+-76.844 28.42 4204
+-76.718 28.42 4090
+-76.592 28.42 3978
+-76.466 28.42 3948
+-76.34 28.42 3914
+-76.214 28.42 3896
+-76.088 28.42 3860
+-75.962 28.42 3840
+-75.836 28.42 3841
+-75.71 28.42 3844
+-75.584 28.42 3785
+-75.458 28.42 3783
+-75.332 28.42 3748
+-75.206 28.42 3678
+-75.08 28.42 3672
+-74.954 28.42 3667
+-74.828 28.42 3494
+-74.702 28.42 3474
+-74.576 28.42 3454
+-74.45 28.42 3450
+-74.324 28.42 3448
+-74.198 28.42 3445
+-74.072 28.42 3360
+-73.946 28.42 3360
+-73.82 28.42 3350
+-73.694 28.42 3351
+-73.568 28.42 3329
+-73.442 28.42 3327
+-73.316 28.42 3327
+-73.19 28.42 3328
+-73.064 28.42 3290
+-72.938 28.42 3272
+-72.812 28.42 3272
+-72.686 28.42 3272
+-72.56 28.42 3272
+-72.434 28.42 3220
+-72.308 28.42 3220
+-72.182 28.42 3220
+-72.056 28.42 3220
+-71.93 28.42 3220
+-71.804 28.42 3220
+-71.678 28.42 3220
+-71.552 28.42 3221
+-71.426 28.42 3221
+-71.3 28.42 3221
+-71.174 28.42 3221
+-71.048 28.42 3222
+-70.922 28.42 3222
+-70.796 28.42 3222
+-70.67 28.42 3223
+-70.544 28.42 3223
+-70.418 28.42 3223
+-70.292 28.42 3224
+-70.166 28.42 3094
+-70.04 28.42 3093
+-69.914 28.42 3092
+-69.788 28.42 3092
+-69.662 28.42 3091
+-69.536 28.42 3091
+-69.41 28.42 3091
+-69.284 28.42 3090
+-69.158 28.42 3090
+-69.032 28.42 3089
+-68.906 28.42 3089
+-68.78 28.42 3089
+-68.654 28.42 3088
+-68.528 28.42 3088
+-68.402 28.42 3087
+-68.276 28.42 3019
+-68.15 28.42 3018
+-68.024 28.42 3017
+-67.898 28.42 3016
+-67.772 28.42 3014
+-67.646 28.42 3013
+-67.52 28.42 3012
+-67.394 28.42 3011
+-67.268 28.42 3010
+-67.142 28.42 3009
+-67.016 28.42 3008
+-66.89 28.42 2996
+-66.764 28.42 2994
+-66.638 28.42 2993
+-66.512 28.42 2992
+-66.386 28.42 2991
+-66.26 28.42 2990
+-66.134 28.42 2990
+-66.008 28.42 2989
+-65.882 28.42 2988
+-65.756 28.42 2987
+-65.63 28.42 2986
+-65.504 28.42 2985
+-65.378 28.42 2984
+-65.252 28.42 2984
+-65.126 28.42 2983
+-128 28.368 2620
+-127.874 28.368 2611
+-127.748 28.368 2597
+-127.622 28.368 2630
+-127.496 28.368 2624
+-127.37 28.368 2617
+-127.244 28.368 2611
+-127.118 28.368 2606
+-126.992 28.368 2612
+-126.866 28.368 2610
+-126.74 28.368 2607
+-126.614 28.368 2605
+-126.488 28.368 2605
+-126.362 28.368 2605
+-126.236 28.368 2606
+-126.11 28.368 2608
+-125.984 28.368 2618
+-125.858 28.368 2632
+-125.732 28.368 2687
+-125.606 28.368 2658
+-125.48 28.368 2669
+-125.354 28.368 2716
+-125.228 28.368 2729
+-125.102 28.368 2765
+-124.976 28.368 2815
+-124.85 28.368 2833
+-124.724 28.368 2853
+-124.598 28.368 2873
+-124.472 28.368 2894
+-124.346 28.368 2899
+-124.22 28.368 2917
+-124.094 28.368 2963
+-123.968 28.368 2987
+-123.842 28.368 3037
+-123.716 28.368 3060
+-123.59 28.368 3055
+-123.464 28.368 3064
+-123.338 28.368 3094
+-123.212 28.368 3116
+-123.086 28.368 3136
+-122.96 28.368 3244
+-122.834 28.368 3382
+-122.708 28.368 3380
+-122.582 28.368 3377
+-122.456 28.368 3360
+-122.33 28.368 3357
+-122.204 28.368 3360
+-122.078 28.368 3385
+-121.952 28.368 3375
+-121.826 28.368 3371
+-121.7 28.368 3358
+-121.574 28.368 3372
+-121.448 28.368 3362
+-121.322 28.368 3385
+-121.196 28.368 3415
+-121.07 28.368 3434
+-120.944 28.368 3431
+-120.818 28.368 3389
+-120.692 28.368 3330
+-120.566 28.368 3424
+-120.44 28.368 3540
+-120.314 28.368 3646
+-120.188 28.368 3746
+-120.062 28.368 3800
+-119.936 28.368 3868
+-119.81 28.368 3948
+-119.684 28.368 4007
+-119.558 28.368 4070
+-119.432 28.368 4141
+-119.306 28.368 4166
+-119.18 28.368 4206
+-119.054 28.368 4266
+-118.928 28.368 4307
+-118.802 28.368 4383
+-118.676 28.368 4468
+-118.55 28.368 4523
+-118.424 28.368 4551
+-118.298 28.368 4606
+-118.172 28.368 4650
+-118.046 28.368 4689
+-117.92 28.368 4699
+-117.794 28.368 4684
+-117.668 28.368 4732
+-117.542 28.368 4759
+-117.416 28.368 4756
+-117.29 28.368 4754
+-117.164 28.368 4785
+-117.038 28.368 4805
+-116.912 28.368 4805
+-116.786 28.368 4777
+-116.66 28.368 4745
+-116.534 28.368 4721
+-116.408 28.368 4694
+-116.282 28.368 4682
+-116.156 28.368 4672
+-116.03 28.368 4660
+-115.904 28.368 4625
+-115.778 28.368 4570
+-115.652 28.368 4536
+-115.526 28.368 4520
+-115.4 28.368 4451
+-115.274 28.368 4368
+-115.148 28.368 4319
+-115.022 28.368 4261
+-114.896 28.368 4216
+-114.77 28.368 4164
+-114.644 28.368 4116
+-114.518 28.368 4033
+-114.392 28.368 3930
+-114.266 28.368 4069
+-114.14 28.368 4193
+-114.014 28.368 4291
+-113.888 28.368 4363
+-113.762 28.368 4436
+-113.636 28.368 4541
+-113.51 28.368 4723
+-113.384 28.368 4756
+-113.258 28.368 4824
+-113.132 28.368 4925
+-113.006 28.368 5012
+-112.88 28.368 5045
+-112.754 28.368 5100
+-112.628 28.368 5184
+-112.502 28.368 5224
+-112.376 28.368 5267
+-112.25 28.368 5399
+-112.124 28.368 5514
+-111.998 28.368 5574
+-111.872 28.368 5604
+-111.746 28.368 5699
+-111.62 28.368 5735
+-111.494 28.368 5762
+-111.368 28.368 5785
+-111.242 28.368 5830
+-111.116 28.368 5871
+-110.99 28.368 5911
+-110.864 28.368 5942
+-110.738 28.368 5977
+-110.612 28.368 5990
+-110.486 28.368 5987
+-110.36 28.368 5952
+-110.234 28.368 5965
+-110.108 28.368 5965
+-109.982 28.368 5933
+-109.856 28.368 5911
+-109.73 28.368 5873
+-109.604 28.368 5845
+-109.478 28.368 5818
+-109.352 28.368 5779
+-109.226 28.368 5755
+-109.1 28.368 5702
+-108.974 28.368 5646
+-108.848 28.368 5556
+-108.722 28.368 5473
+-108.596 28.368 5441
+-108.47 28.368 5403
+-108.344 28.368 5328
+-108.218 28.368 5255
+-108.092 28.368 5178
+-107.966 28.368 5087
+-107.84 28.368 5038
+-107.714 28.368 4916
+-107.588 28.368 4859
+-107.462 28.368 4774
+-107.336 28.368 4660
+-107.21 28.368 4538
+-107.084 28.368 4538
+-106.958 28.368 4451
+-106.832 28.368 4321
+-106.706 28.368 4226
+-106.58 28.368 4105
+-106.454 28.368 3961
+-106.328 28.368 3836
+-106.202 28.368 3755
+-106.076 28.368 3739
+-105.95 28.368 3704
+-105.824 28.368 3666
+-105.698 28.368 3640
+-105.572 28.368 3632
+-105.446 28.368 3576
+-105.32 28.368 3528
+-105.194 28.368 3457
+-105.068 28.368 3383
+-104.942 28.368 3313
+-104.816 28.368 3263
+-104.69 28.368 3236
+-104.564 28.368 3240
+-104.438 28.368 3267
+-104.312 28.368 3301
+-104.186 28.368 3345
+-104.06 28.368 3379
+-103.934 28.368 3405
+-103.808 28.368 3403
+-103.682 28.368 3454
+-103.556 28.368 3427
+-103.43 28.368 3446
+-103.304 28.368 3400
+-103.178 28.368 3384
+-103.052 28.368 3342
+-102.926 28.368 3350
+-102.8 28.368 3356
+-102.674 28.368 3357
+-102.548 28.368 3363
+-102.422 28.368 3332
+-102.296 28.368 3362
+-102.17 28.368 3265
+-102.044 28.368 3266
+-101.918 28.368 3267
+-101.792 28.368 3267
+-101.666 28.368 3274
+-101.54 28.368 3275
+-101.414 28.368 3277
+-101.288 28.368 3278
+-101.162 28.368 3280
+-101.036 28.368 3281
+-100.91 28.368 3217
+-100.784 28.368 3217
+-100.658 28.368 3217
+-100.532 28.368 3218
+-100.406 28.368 3218
+-100.28 28.368 3170
+-100.154 28.368 3138
+-100.028 28.368 3129
+-99.902 28.368 3131
+-99.776 28.368 3132
+-99.65 28.368 3102
+-99.524 28.368 3103
+-99.398 28.368 3104
+-99.272 28.368 3047
+-99.146 28.368 3048
+-99.02 28.368 3048
+-98.894 28.368 3049
+-98.768 28.368 2980
+-98.642 28.368 2949
+-98.516 28.368 2951
+-98.39 28.368 2886
+-98.264 28.368 2886
+-98.138 28.368 2774
+-98.012 28.368 2711
+-97.886 28.368 2705
+-97.76 28.368 2699
+-97.634 28.368 2592
+-97.508 28.368 2533
+-97.382 28.368 2527
+-97.256 28.368 2447
+-97.13 28.368 2440
+-97.004 28.368 2454
+-96.878 28.368 2395
+-96.752 28.368 2326
+-96.626 28.368 2320
+-96.5 28.368 2310
+-96.374 28.368 2293
+-96.248 28.368 2322
+-96.122 28.368 2365
+-95.996 28.368 2358
+-95.87 28.368 2364
+-95.744 28.368 2464
+-95.618 28.368 2481
+-95.492 28.368 2488
+-95.366 28.368 2609
+-95.24 28.368 2613
+-95.114 28.368 2618
+-94.988 28.368 2623
+-94.862 28.368 2830
+-94.736 28.368 2961
+-94.61 28.368 2963
+-94.484 28.368 2965
+-94.358 28.368 3000
+-94.232 28.368 3002
+-94.106 28.368 3036
+-93.98 28.368 3037
+-93.854 28.368 3062
+-93.728 28.368 3063
+-93.602 28.368 3064
+-93.476 28.368 3286
+-93.35 28.368 3331
+-93.224 28.368 3331
+-93.098 28.368 3331
+-92.972 28.368 3331
+-92.846 28.368 3331
+-92.72 28.368 3332
+-92.594 28.368 3332
+-92.468 28.368 3333
+-92.342 28.368 3333
+-92.216 28.368 3334
+-92.09 28.368 3386
+-91.964 28.368 3386
+-91.838 28.368 3526
+-91.712 28.368 3527
+-91.586 28.368 3528
+-91.46 28.368 3530
+-91.334 28.368 3531
+-91.208 28.368 3533
+-91.082 28.368 3536
+-90.956 28.368 3538
+-90.83 28.368 3584
+-90.704 28.368 3587
+-90.578 28.368 3589
+-90.452 28.368 3722
+-90.326 28.368 3726
+-90.2 28.368 3731
+-90.074 28.368 3736
+-89.948 28.368 3771
+-89.822 28.368 3776
+-89.696 28.368 3782
+-89.57 28.368 3788
+-89.444 28.368 3817
+-89.318 28.368 3896
+-89.192 28.368 4004
+-89.066 28.368 4030
+-88.94 28.368 4025
+-88.814 28.368 4020
+-88.688 28.368 4025
+-88.562 28.368 4015
+-88.436 28.368 3999
+-88.31 28.368 4000
+-88.184 28.368 3950
+-88.058 28.368 3890
+-87.932 28.368 3776
+-87.806 28.368 3713
+-87.68 28.368 3842
+-87.554 28.368 4019
+-87.428 28.368 4144
+-87.302 28.368 4246
+-87.176 28.368 4367
+-87.05 28.368 4484
+-86.924 28.368 4514
+-86.798 28.368 4616
+-86.672 28.368 4847
+-86.546 28.368 5114
+-86.42 28.368 5302
+-86.294 28.368 5423
+-86.168 28.368 5488
+-86.042 28.368 5617
+-85.916 28.368 5660
+-85.79 28.368 5791
+-85.664 28.368 5948
+-85.538 28.368 6063
+-85.412 28.368 6231
+-85.286 28.368 6431
+-85.16 28.368 6484
+-85.034 28.368 6615
+-84.908 28.368 6810
+-84.782 28.368 6898
+-84.656 28.368 7096
+-84.53 28.368 7152
+-84.404 28.368 7288
+-84.278 28.368 7422
+-84.152 28.368 7613
+-84.026 28.368 7654
+-83.9 28.368 7792
+-83.774 28.368 7975
+-83.648 28.368 8119
+-83.522 28.368 8309
+-83.396 28.368 8393
+-83.27 28.368 8523
+-83.144 28.368 8654
+-83.018 28.368 8778
+-82.892 28.368 8862
+-82.766 28.368 8988
+-82.64 28.368 9055
+-82.514 28.368 9162
+-82.388 28.368 9177
+-82.262 28.368 9209
+-82.136 28.368 9238
+-82.01 28.368 9185
+-81.884 28.368 9126
+-81.758 28.368 9053
+-81.632 28.368 8991
+-81.506 28.368 8844
+-81.38 28.368 8733
+-81.254 28.368 8637
+-81.128 28.368 8485
+-81.002 28.368 8417
+-80.876 28.368 8193
+-80.75 28.368 8060
+-80.624 28.368 8039
+-80.498 28.368 7887
+-80.372 28.368 7677
+-80.246 28.368 7557
+-80.12 28.368 7409
+-79.994 28.368 7295
+-79.868 28.368 7169
+-79.742 28.368 7079
+-79.616 28.368 6900
+-79.49 28.368 6758
+-79.364 28.368 6652
+-79.238 28.368 6551
+-79.112 28.368 6405
+-78.986 28.368 6205
+-78.86 28.368 6071
+-78.734 28.368 5921
+-78.608 28.368 5860
+-78.482 28.368 5755
+-78.356 28.368 5586
+-78.23 28.368 5442
+-78.104 28.368 5269
+-77.978 28.368 5091
+-77.852 28.368 4958
+-77.726 28.368 4829
+-77.6 28.368 4736
+-77.474 28.368 4692
+-77.348 28.368 4650
+-77.222 28.368 4609
+-77.096 28.368 4520
+-76.97 28.368 4397
+-76.844 28.368 4304
+-76.718 28.368 4205
+-76.592 28.368 4115
+-76.466 28.368 4030
+-76.34 28.368 3993
+-76.214 28.368 3966
+-76.088 28.368 3946
+-75.962 28.368 3907
+-75.836 28.368 3824
+-75.71 28.368 3814
+-75.584 28.368 3807
+-75.458 28.368 3765
+-75.332 28.368 3688
+-75.206 28.368 3678
+-75.08 28.368 3669
+-74.954 28.368 3662
+-74.828 28.368 3517
+-74.702 28.368 3449
+-74.576 28.368 3444
+-74.45 28.368 3441
+-74.324 28.368 3438
+-74.198 28.368 3436
+-74.072 28.368 3361
+-73.946 28.368 3362
+-73.82 28.368 3342
+-73.694 28.368 3319
+-73.568 28.368 3319
+-73.442 28.368 3320
+-73.316 28.368 3321
+-73.19 28.368 3282
+-73.064 28.368 3265
+-72.938 28.368 3266
+-72.812 28.368 3266
+-72.686 28.368 3266
+-72.56 28.368 3267
+-72.434 28.368 3267
+-72.308 28.368 3216
+-72.182 28.368 3216
+-72.056 28.368 3216
+-71.93 28.368 3217
+-71.804 28.368 3217
+-71.678 28.368 3217
+-71.552 28.368 3218
+-71.426 28.368 3218
+-71.3 28.368 3218
+-71.174 28.368 3219
+-71.048 28.368 3219
+-70.922 28.368 3220
+-70.796 28.368 3220
+-70.67 28.368 3220
+-70.544 28.368 3221
+-70.418 28.368 3221
+-70.292 28.368 3222
+-70.166 28.368 3222
+-70.04 28.368 3093
+-69.914 28.368 3107
+-69.788 28.368 3092
+-69.662 28.368 3106
+-69.536 28.368 3091
+-69.41 28.368 3106
+-69.284 28.368 3090
+-69.158 28.368 3106
+-69.032 28.368 3090
+-68.906 28.368 3105
+-68.78 28.368 3089
+-68.654 28.368 3105
+-68.528 28.368 3088
+-68.402 28.368 3019
+-68.276 28.368 3018
+-68.15 28.368 3017
+-68.024 28.368 3016
+-67.898 28.368 3014
+-67.772 28.368 3013
+-67.646 28.368 3012
+-67.52 28.368 3011
+-67.394 28.368 3010
+-67.268 28.368 3009
+-67.142 28.368 3007
+-67.016 28.368 3006
+-66.89 28.368 3005
+-66.764 28.368 3012
+-66.638 28.368 2992
+-66.512 28.368 2991
+-66.386 28.368 2990
+-66.26 28.368 3008
+-66.134 28.368 2988
+-66.008 28.368 3007
+-65.882 28.368 2987
+-65.756 28.368 3005
+-65.63 28.368 2985
+-65.504 28.368 3004
+-65.378 28.368 2983
+-65.252 28.368 3002
+-65.126 28.368 2982
+-128 28.316 2631
+-127.874 28.316 2616
+-127.748 28.316 2650
+-127.622 28.316 2644
+-127.496 28.316 2638
+-127.37 28.316 2633
+-127.244 28.316 2627
+-127.118 28.316 2635
+-126.992 28.316 2631
+-126.866 28.316 2629
+-126.74 28.316 2627
+-126.614 28.316 2626
+-126.488 28.316 2626
+-126.362 28.316 2627
+-126.236 28.316 2629
+-126.11 28.316 2638
+-125.984 28.316 2651
+-125.858 28.316 2706
+-125.732 28.316 2674
+-125.606 28.316 2683
+-125.48 28.316 2729
+-125.354 28.316 2741
+-125.228 28.316 2775
+-125.102 28.316 2823
+-124.976 28.316 2839
+-124.85 28.316 2856
+-124.724 28.316 2874
+-124.598 28.316 2893
+-124.472 28.316 2896
+-124.346 28.316 2912
+-124.22 28.316 2956
+-124.094 28.316 2979
+-123.968 28.316 3027
+-123.842 28.316 3049
+-123.716 28.316 3043
+-123.59 28.316 3051
+-123.464 28.316 3081
+-123.338 28.316 3102
+-123.212 28.316 3121
+-123.086 28.316 3238
+-122.96 28.316 3383
+-122.834 28.316 3381
+-122.708 28.316 3378
+-122.582 28.316 3361
+-122.456 28.316 3358
+-122.33 28.316 3365
+-122.204 28.316 3393
+-122.078 28.316 3355
+-121.952 28.316 3384
+-121.826 28.316 3375
+-121.7 28.316 3351
+-121.574 28.316 3356
+-121.448 28.316 3373
+-121.322 28.316 3403
+-121.196 28.316 3427
+-121.07 28.316 3434
+-120.944 28.316 3436
+-120.818 28.316 3411
+-120.692 28.316 3392
+-120.566 28.316 3446
+-120.44 28.316 3553
+-120.314 28.316 3632
+-120.188 28.316 3714
+-120.062 28.316 3744
+-119.936 28.316 3766
+-119.81 28.316 3848
+-119.684 28.316 3962
+-119.558 28.316 4038
+-119.432 28.316 4115
+-119.306 28.316 4122
+-119.18 28.316 4147
+-119.054 28.316 4222
+-118.928 28.316 4262
+-118.802 28.316 4306
+-118.676 28.316 4370
+-118.55 28.316 4433
+-118.424 28.316 4480
+-118.298 28.316 4531
+-118.172 28.316 4591
+-118.046 28.316 4635
+-117.92 28.316 4645
+-117.794 28.316 4614
+-117.668 28.316 4664
+-117.542 28.316 4693
+-117.416 28.316 4666
+-117.29 28.316 4720
+-117.164 28.316 4740
+-117.038 28.316 4739
+-116.912 28.316 4729
+-116.786 28.316 4706
+-116.66 28.316 4672
+-116.534 28.316 4651
+-116.408 28.316 4618
+-116.282 28.316 4608
+-116.156 28.316 4604
+-116.03 28.316 4583
+-115.904 28.316 4554
+-115.778 28.316 4539
+-115.652 28.316 4521
+-115.526 28.316 4475
+-115.4 28.316 4381
+-115.274 28.316 4319
+-115.148 28.316 4286
+-115.022 28.316 4210
+-114.896 28.316 4180
+-114.77 28.316 4131
+-114.644 28.316 4085
+-114.518 28.316 4037
+-114.392 28.316 4010
+-114.266 28.316 4059
+-114.14 28.316 4163
+-114.014 28.316 4263
+-113.888 28.316 4341
+-113.762 28.316 4408
+-113.636 28.316 4512
+-113.51 28.316 4647
+-113.384 28.316 4742
+-113.258 28.316 4799
+-113.132 28.316 4900
+-113.006 28.316 4974
+-112.88 28.316 5013
+-112.754 28.316 5031
+-112.628 28.316 5103
+-112.502 28.316 5159
+-112.376 28.316 5219
+-112.25 28.316 5309
+-112.124 28.316 5466
+-111.998 28.316 5474
+-111.872 28.316 5583
+-111.746 28.316 5670
+-111.62 28.316 5703
+-111.494 28.316 5698
+-111.368 28.316 5748
+-111.242 28.316 5800
+-111.116 28.316 5810
+-110.99 28.316 5834
+-110.864 28.316 5868
+-110.738 28.316 5890
+-110.612 28.316 5923
+-110.486 28.316 5943
+-110.36 28.316 5930
+-110.234 28.316 5909
+-110.108 28.316 5898
+-109.982 28.316 5898
+-109.856 28.316 5857
+-109.73 28.316 5823
+-109.604 28.316 5769
+-109.478 28.316 5725
+-109.352 28.316 5685
+-109.226 28.316 5661
+-109.1 28.316 5623
+-108.974 28.316 5578
+-108.848 28.316 5504
+-108.722 28.316 5437
+-108.596 28.316 5407
+-108.47 28.316 5332
+-108.344 28.316 5252
+-108.218 28.316 5208
+-108.092 28.316 5118
+-107.966 28.316 5003
+-107.84 28.316 4991
+-107.714 28.316 4902
+-107.588 28.316 4796
+-107.462 28.316 4691
+-107.336 28.316 4668
+-107.21 28.316 4575
+-107.084 28.316 4514
+-106.958 28.316 4382
+-106.832 28.316 4267
+-106.706 28.316 4186
+-106.58 28.316 4098
+-106.454 28.316 3955
+-106.328 28.316 3797
+-106.202 28.316 3709
+-106.076 28.316 3741
+-105.95 28.316 3746
+-105.824 28.316 3702
+-105.698 28.316 3679
+-105.572 28.316 3658
+-105.446 28.316 3632
+-105.32 28.316 3563
+-105.194 28.316 3514
+-105.068 28.316 3451
+-104.942 28.316 3400
+-104.816 28.316 3361
+-104.69 28.316 3341
+-104.564 28.316 3328
+-104.438 28.316 3331
+-104.312 28.316 3350
+-104.186 28.316 3354
+-104.06 28.316 3376
+-103.934 28.316 3397
+-103.808 28.316 3409
+-103.682 28.316 3435
+-103.556 28.316 3441
+-103.43 28.316 3449
+-103.304 28.316 3394
+-103.178 28.316 3348
+-103.052 28.316 3340
+-102.926 28.316 3347
+-102.8 28.316 3353
+-102.674 28.316 3359
+-102.548 28.316 3311
+-102.422 28.316 3364
+-102.296 28.316 3332
+-102.17 28.316 3363
+-102.044 28.316 3266
+-101.918 28.316 3266
+-101.792 28.316 3267
+-101.666 28.316 3267
+-101.54 28.316 3274
+-101.414 28.316 3275
+-101.288 28.316 3277
+-101.162 28.316 3279
+-101.036 28.316 3280
+-100.91 28.316 3282
+-100.784 28.316 3217
+-100.658 28.316 3217
+-100.532 28.316 3218
+-100.406 28.316 3218
+-100.28 28.316 3218
+-100.154 28.316 3171
+-100.028 28.316 3138
+-99.902 28.316 3130
+-99.776 28.316 3131
+-99.65 28.316 3133
+-99.524 28.316 3102
+-99.398 28.316 3103
+-99.272 28.316 3105
+-99.146 28.316 3048
+-99.02 28.316 3048
+-98.894 28.316 3049
+-98.768 28.316 3050
+-98.642 28.316 2980
+-98.516 28.316 2950
+-98.39 28.316 2885
+-98.264 28.316 2885
+-98.138 28.316 2885
+-98.012 28.316 2713
+-97.886 28.316 2707
+-97.76 28.316 2702
+-97.634 28.316 2696
+-97.508 28.316 2536
+-97.382 28.316 2530
+-97.256 28.316 2450
+-97.13 28.316 2443
+-97.004 28.316 2457
+-96.878 28.316 2398
+-96.752 28.316 2328
+-96.626 28.316 2322
+-96.5 28.316 2314
+-96.374 28.316 2297
+-96.248 28.316 2327
+-96.122 28.316 2371
+-95.996 28.316 2364
+-95.87 28.316 2370
+-95.744 28.316 2471
+-95.618 28.316 2499
+-95.492 28.316 2503
+-95.366 28.316 2626
+-95.24 28.316 2631
+-95.114 28.316 2636
+-94.988 28.316 2831
+-94.862 28.316 2963
+-94.736 28.316 2965
+-94.61 28.316 2967
+-94.484 28.316 3002
+-94.358 28.316 3003
+-94.232 28.316 3037
+-94.106 28.316 3038
+-93.98 28.316 3063
+-93.854 28.316 3064
+-93.728 28.316 3065
+-93.602 28.316 3287
+-93.476 28.316 3331
+-93.35 28.316 3331
+-93.224 28.316 3331
+-93.098 28.316 3331
+-92.972 28.316 3331
+-92.846 28.316 3331
+-92.72 28.316 3331
+-92.594 28.316 3332
+-92.468 28.316 3332
+-92.342 28.316 3333
+-92.216 28.316 3385
+-92.09 28.316 3385
+-91.964 28.316 3384
+-91.838 28.316 3524
+-91.712 28.316 3525
+-91.586 28.316 3526
+-91.46 28.316 3527
+-91.334 28.316 3529
+-91.208 28.316 3531
+-91.082 28.316 3533
+-90.956 28.316 3569
+-90.83 28.316 3580
+-90.704 28.316 3582
+-90.578 28.316 3585
+-90.452 28.316 3589
+-90.326 28.316 3723
+-90.2 28.316 3728
+-90.074 28.316 3734
+-89.948 28.316 3740
+-89.822 28.316 3777
+-89.696 28.316 3784
+-89.57 28.316 3816
+-89.444 28.316 3884
+-89.318 28.316 3946
+-89.192 28.316 3951
+-89.066 28.316 4021
+-88.94 28.316 4040
+-88.814 28.316 4034
+-88.688 28.316 4027
+-88.562 28.316 4016
+-88.436 28.316 4010
+-88.31 28.316 3979
+-88.184 28.316 3944
+-88.058 28.316 3855
+-87.932 28.316 3690
+-87.806 28.316 3557
+-87.68 28.316 3758
+-87.554 28.316 3992
+-87.428 28.316 4034
+-87.302 28.316 4151
+-87.176 28.316 4322
+-87.05 28.316 4454
+-86.924 28.316 4525
+-86.798 28.316 4680
+-86.672 28.316 4919
+-86.546 28.316 5142
+-86.42 28.316 5293
+-86.294 28.316 5412
+-86.168 28.316 5530
+-86.042 28.316 5612
+-85.916 28.316 5702
+-85.79 28.316 5840
+-85.664 28.316 5874
+-85.538 28.316 6049
+-85.412 28.316 6248
+-85.286 28.316 6421
+-85.16 28.316 6496
+-85.034 28.316 6612
+-84.908 28.316 6762
+-84.782 28.316 6913
+-84.656 28.316 7074
+-84.53 28.316 7234
+-84.404 28.316 7328
+-84.278 28.316 7451
+-84.152 28.316 7581
+-84.026 28.316 7729
+-83.9 28.316 7885
+-83.774 28.316 8018
+-83.648 28.316 8130
+-83.522 28.316 8248
+-83.396 28.316 8438
+-83.27 28.316 8551
+-83.144 28.316 8599
+-83.018 28.316 8795
+-82.892 28.316 8919
+-82.766 28.316 8992
+-82.64 28.316 9127
+-82.514 28.316 9201
+-82.388 28.316 9267
+-82.262 28.316 9280
+-82.136 28.316 9280
+-82.01 28.316 9232
+-81.884 28.316 9208
+-81.758 28.316 9097
+-81.632 28.316 9057
+-81.506 28.316 8919
+-81.38 28.316 8791
+-81.254 28.316 8647
+-81.128 28.316 8530
+-81.002 28.316 8413
+-80.876 28.316 8341
+-80.75 28.316 8122
+-80.624 28.316 8073
+-80.498 28.316 7897
+-80.372 28.316 7740
+-80.246 28.316 7590
+-80.12 28.316 7423
+-79.994 28.316 7317
+-79.868 28.316 7236
+-79.742 28.316 7065
+-79.616 28.316 6932
+-79.49 28.316 6755
+-79.364 28.316 6689
+-79.238 28.316 6591
+-79.112 28.316 6416
+-78.986 28.316 6226
+-78.86 28.316 6109
+-78.734 28.316 5987
+-78.608 28.316 5830
+-78.482 28.316 5791
+-78.356 28.316 5575
+-78.23 28.316 5406
+-78.104 28.316 5311
+-77.978 28.316 5137
+-77.852 28.316 4943
+-77.726 28.316 4773
+-77.6 28.316 4665
+-77.474 28.316 4654
+-77.348 28.316 4658
+-77.222 28.316 4636
+-77.096 28.316 4600
+-76.97 28.316 4469
+-76.844 28.316 4369
+-76.718 28.316 4277
+-76.592 28.316 4228
+-76.466 28.316 4151
+-76.34 28.316 4108
+-76.214 28.316 4031
+-76.088 28.316 3948
+-75.962 28.316 3928
+-75.836 28.316 3868
+-75.71 28.316 3855
+-75.584 28.316 3786
+-75.458 28.316 3733
+-75.332 28.316 3719
+-75.206 28.316 3706
+-75.08 28.316 3665
+-74.954 28.316 3656
+-74.828 28.316 3649
+-74.702 28.316 3472
+-74.576 28.316 3451
+-74.45 28.316 3448
+-74.324 28.316 3446
+-74.198 28.316 3352
+-74.072 28.316 3352
+-73.946 28.316 3331
+-73.82 28.316 3310
+-73.694 28.316 3310
+-73.568 28.316 3311
+-73.442 28.316 3312
+-73.316 28.316 3274
+-73.19 28.316 3258
+-73.064 28.316 3259
+-72.938 28.316 3259
+-72.812 28.316 3260
+-72.686 28.316 3260
+-72.56 28.316 3261
+-72.434 28.316 3262
+-72.308 28.316 3262
+-72.182 28.316 3212
+-72.056 28.316 3212
+-71.93 28.316 3213
+-71.804 28.316 3213
+-71.678 28.316 3214
+-71.552 28.316 3215
+-71.426 28.316 3215
+-71.3 28.316 3216
+-71.174 28.316 3216
+-71.048 28.316 3217
+-70.922 28.316 3217
+-70.796 28.316 3218
+-70.67 28.316 3218
+-70.544 28.316 3219
+-70.418 28.316 3219
+-70.292 28.316 3220
+-70.166 28.316 3107
+-70.04 28.316 3107
+-69.914 28.316 3107
+-69.788 28.316 3107
+-69.662 28.316 3106
+-69.536 28.316 3106
+-69.41 28.316 3106
+-69.284 28.316 3106
+-69.158 28.316 3106
+-69.032 28.316 3105
+-68.906 28.316 3105
+-68.78 28.316 3105
+-68.654 28.316 3105
+-68.528 28.316 3026
+-68.402 28.316 3025
+-68.276 28.316 3023
+-68.15 28.316 3022
+-68.024 28.316 3021
+-67.898 28.316 3020
+-67.772 28.316 3019
+-67.646 28.316 3017
+-67.52 28.316 3016
+-67.394 28.316 3015
+-67.268 28.316 3014
+-67.142 28.316 3013
+-67.016 28.316 3012
+-66.89 28.316 3011
+-66.764 28.316 3010
+-66.638 28.316 3009
+-66.512 28.316 3009
+-66.386 28.316 3008
+-66.26 28.316 3007
+-66.134 28.316 3006
+-66.008 28.316 3005
+-65.882 28.316 3005
+-65.756 28.316 3004
+-65.63 28.316 3003
+-65.504 28.316 3002
+-65.378 28.316 3002
+-65.252 28.316 3001
+-65.126 28.316 3000
+-128 28.264 2633
+-127.874 28.264 2668
+-127.748 28.264 2663
+-127.622 28.264 2657
+-127.496 28.264 2652
+-127.37 28.264 2647
+-127.244 28.264 2656
+-127.118 28.264 2651
+-126.992 28.264 2649
+-126.866 28.264 2647
+-126.74 28.264 2646
+-126.614 28.264 2646
+-126.488 28.264 2646
+-126.362 28.264 2648
+-126.236 28.264 2656
+-126.11 28.264 2668
+-125.984 28.264 2724
+-125.858 28.264 2689
+-125.732 28.264 2697
+-125.606 28.264 2742
+-125.48 28.264 2752
+-125.354 28.264 2784
+-125.228 28.264 2831
+-125.102 28.264 2845
+-124.976 28.264 2860
+-124.85 28.264 2876
+-124.724 28.264 2894
+-124.598 28.264 2894
+-124.472 28.264 2908
+-124.346 28.264 2951
+-124.22 28.264 2972
+-124.094 28.264 3019
+-123.968 28.264 3040
+-123.842 28.264 3032
+-123.716 28.264 3040
+-123.59 28.264 3069
+-123.464 28.264 3088
+-123.338 28.264 3108
+-123.212 28.264 3232
+-123.086 28.264 3383
+-122.96 28.264 3381
+-122.834 28.264 3378
+-122.708 28.264 3361
+-122.582 28.264 3358
+-122.456 28.264 3367
+-122.33 28.264 3362
+-122.204 28.264 3358
+-122.078 28.264 3391
+-121.952 28.264 3382
+-121.826 28.264 3357
+-121.7 28.264 3361
+-121.574 28.264 3374
+-121.448 28.264 3375
+-121.322 28.264 3393
+-121.196 28.264 3399
+-121.07 28.264 3421
+-120.944 28.264 3437
+-120.818 28.264 3438
+-120.692 28.264 3448
+-120.566 28.264 3491
+-120.44 28.264 3555
+-120.314 28.264 3610
+-120.188 28.264 3667
+-120.062 28.264 3707
+-119.936 28.264 3696
+-119.81 28.264 3774
+-119.684 28.264 3895
+-119.558 28.264 4000
+-119.432 28.264 4061
+-119.306 28.264 4083
+-119.18 28.264 4135
+-119.054 28.264 4197
+-118.928 28.264 4256
+-118.802 28.264 4271
+-118.676 28.264 4306
+-118.55 28.264 4357
+-118.424 28.264 4398
+-118.298 28.264 4433
+-118.172 28.264 4495
+-118.046 28.264 4560
+-117.92 28.264 4592
+-117.794 28.264 4601
+-117.668 28.264 4627
+-117.542 28.264 4652
+-117.416 28.264 4665
+-117.29 28.264 4678
+-117.164 28.264 4677
+-117.038 28.264 4685
+-116.912 28.264 4679
+-116.786 28.264 4651
+-116.66 28.264 4645
+-116.534 28.264 4614
+-116.408 28.264 4568
+-116.282 28.264 4563
+-116.156 28.264 4549
+-116.03 28.264 4530
+-115.904 28.264 4514
+-115.778 28.264 4508
+-115.652 28.264 4476
+-115.526 28.264 4415
+-115.4 28.264 4329
+-115.274 28.264 4274
+-115.148 28.264 4232
+-115.022 28.264 4181
+-114.896 28.264 4166
+-114.77 28.264 4101
+-114.644 28.264 4048
+-114.518 28.264 4022
+-114.392 28.264 4008
+-114.266 28.264 3997
+-114.14 28.264 4088
+-114.014 28.264 4223
+-113.888 28.264 4307
+-113.762 28.264 4363
+-113.636 28.264 4439
+-113.51 28.264 4584
+-113.384 28.264 4691
+-113.258 28.264 4770
+-113.132 28.264 4856
+-113.006 28.264 4941
+-112.88 28.264 4968
+-112.754 28.264 4995
+-112.628 28.264 5080
+-112.502 28.264 5195
+-112.376 28.264 5183
+-112.25 28.264 5258
+-112.124 28.264 5413
+-111.998 28.264 5495
+-111.872 28.264 5535
+-111.746 28.264 5614
+-111.62 28.264 5641
+-111.494 28.264 5701
+-111.368 28.264 5726
+-111.242 28.264 5753
+-111.116 28.264 5759
+-110.99 28.264 5764
+-110.864 28.264 5788
+-110.738 28.264 5829
+-110.612 28.264 5843
+-110.486 28.264 5859
+-110.36 28.264 5854
+-110.234 28.264 5844
+-110.108 28.264 5839
+-109.982 28.264 5814
+-109.856 28.264 5785
+-109.73 28.264 5742
+-109.604 28.264 5710
+-109.478 28.264 5678
+-109.352 28.264 5676
+-109.226 28.264 5638
+-109.1 28.264 5598
+-108.974 28.264 5526
+-108.848 28.264 5447
+-108.722 28.264 5463
+-108.596 28.264 5381
+-108.47 28.264 5285
+-108.344 28.264 5183
+-108.218 28.264 5138
+-108.092 28.264 5119
+-107.966 28.264 5014
+-107.84 28.264 4930
+-107.714 28.264 4859
+-107.588 28.264 4747
+-107.462 28.264 4696
+-107.336 28.264 4630
+-107.21 28.264 4555
+-107.084 28.264 4434
+-106.958 28.264 4283
+-106.832 28.264 4160
+-106.706 28.264 4153
+-106.58 28.264 4115
+-106.454 28.264 4005
+-106.328 28.264 3856
+-106.202 28.264 3769
+-106.076 28.264 3764
+-105.95 28.264 3763
+-105.824 28.264 3736
+-105.698 28.264 3713
+-105.572 28.264 3688
+-105.446 28.264 3661
+-105.32 28.264 3628
+-105.194 28.264 3554
+-105.068 28.264 3512
+-104.942 28.264 3463
+-104.816 28.264 3430
+-104.69 28.264 3410
+-104.564 28.264 3376
+-104.438 28.264 3365
+-104.312 28.264 3364
+-104.186 28.264 3384
+-104.06 28.264 3399
+-103.934 28.264 3415
+-103.808 28.264 3430
+-103.682 28.264 3379
+-103.556 28.264 3388
+-103.43 28.264 3398
+-103.304 28.264 3393
+-103.178 28.264 3403
+-103.052 28.264 3353
+-102.926 28.264 3344
+-102.8 28.264 3350
+-102.674 28.264 3303
+-102.548 28.264 3306
+-102.422 28.264 3310
+-102.296 28.264 3313
+-102.17 28.264 3332
+-102.044 28.264 3363
+-101.918 28.264 3265
+-101.792 28.264 3266
+-101.666 28.264 3266
+-101.54 28.264 3267
+-101.414 28.264 3274
+-101.288 28.264 3275
+-101.162 28.264 3277
+-101.036 28.264 3279
+-100.91 28.264 3280
+-100.784 28.264 3282
+-100.658 28.264 3217
+-100.532 28.264 3217
+-100.406 28.264 3218
+-100.28 28.264 3218
+-100.154 28.264 3219
+-100.028 28.264 3171
+-99.902 28.264 3138
+-99.776 28.264 3130
+-99.65 28.264 3132
+-99.524 28.264 3134
+-99.398 28.264 3103
+-99.272 28.264 3104
+-99.146 28.264 3105
+-99.02 28.264 3048
+-98.894 28.264 3049
+-98.768 28.264 3049
+-98.642 28.264 3050
+-98.516 28.264 2981
+-98.39 28.264 2885
+-98.264 28.264 2885
+-98.138 28.264 2885
+-98.012 28.264 2884
+-97.886 28.264 2710
+-97.76 28.264 2704
+-97.634 28.264 2699
+-97.508 28.264 2581
+-97.382 28.264 2532
+-97.256 28.264 2452
+-97.13 28.264 2445
+-97.004 28.264 2460
+-96.878 28.264 2401
+-96.752 28.264 2331
+-96.626 28.264 2325
+-96.5 28.264 2318
+-96.374 28.264 2301
+-96.248 28.264 2360
+-96.122 28.264 2376
+-95.996 28.264 2370
+-95.87 28.264 2376
+-95.744 28.264 2501
+-95.618 28.264 2505
+-95.492 28.264 2511
+-95.366 28.264 2569
+-95.24 28.264 2639
+-95.114 28.264 2833
+-94.988 28.264 2965
+-94.862 28.264 2967
+-94.736 28.264 2968
+-94.61 28.264 3021
+-94.484 28.264 3022
+-94.358 28.264 3038
+-94.232 28.264 3039
+-94.106 28.264 3064
+-93.98 28.264 3065
+-93.854 28.264 3066
+-93.728 28.264 3288
+-93.602 28.264 3351
+-93.476 28.264 3351
+-93.35 28.264 3351
+-93.224 28.264 3350
+-93.098 28.264 3350
+-92.972 28.264 3350
+-92.846 28.264 3350
+-92.72 28.264 3350
+-92.594 28.264 3350
+-92.468 28.264 3350
+-92.342 28.264 3383
+-92.216 28.264 3383
+-92.09 28.264 3383
+-91.964 28.264 3521
+-91.838 28.264 3522
+-91.712 28.264 3522
+-91.586 28.264 3523
+-91.46 28.264 3524
+-91.334 28.264 3525
+-91.208 28.264 3527
+-91.082 28.264 3562
+-90.956 28.264 3564
+-90.83 28.264 3566
+-90.704 28.264 3577
+-90.578 28.264 3580
+-90.452 28.264 3583
+-90.326 28.264 3717
+-90.2 28.264 3723
+-90.074 28.264 3729
+-89.948 28.264 3736
+-89.822 28.264 3744
+-89.696 28.264 3783
+-89.57 28.264 3879
+-89.444 28.264 3926
+-89.318 28.264 3933
+-89.192 28.264 3953
+-89.066 28.264 3959
+-88.94 28.264 4029
+-88.814 28.264 4047
+-88.688 28.264 4040
+-88.562 28.264 4029
+-88.436 28.264 4012
+-88.31 28.264 3995
+-88.184 28.264 3947
+-88.058 28.264 3882
+-87.932 28.264 3785
+-87.806 28.264 3731
+-87.68 28.264 3873
+-87.554 28.264 3990
+-87.428 28.264 3938
+-87.302 28.264 4076
+-87.176 28.264 4264
+-87.05 28.264 4415
+-86.924 28.264 4576
+-86.798 28.264 4749
+-86.672 28.264 4920
+-86.546 28.264 5113
+-86.42 28.264 5311
+-86.294 28.264 5380
+-86.168 28.264 5482
+-86.042 28.264 5559
+-85.916 28.264 5705
+-85.79 28.264 5856
+-85.664 28.264 5954
+-85.538 28.264 6068
+-85.412 28.264 6276
+-85.286 28.264 6314
+-85.16 28.264 6518
+-85.034 28.264 6654
+-84.908 28.264 6762
+-84.782 28.264 6897
+-84.656 28.264 7092
+-84.53 28.264 7195
+-84.404 28.264 7368
+-84.278 28.264 7482
+-84.152 28.264 7636
+-84.026 28.264 7751
+-83.9 28.264 7927
+-83.774 28.264 8065
+-83.648 28.264 8130
+-83.522 28.264 8287
+-83.396 28.264 8459
+-83.27 28.264 8566
+-83.144 28.264 8685
+-83.018 28.264 8784
+-82.892 28.264 8942
+-82.766 28.264 9027
+-82.64 28.264 9170
+-82.514 28.264 9289
+-82.388 28.264 9331
+-82.262 28.264 9370
+-82.136 28.264 9332
+-82.01 28.264 9300
+-81.884 28.264 9214
+-81.758 28.264 9170
+-81.632 28.264 9039
+-81.506 28.264 8912
+-81.38 28.264 8816
+-81.254 28.264 8707
+-81.128 28.264 8619
+-81.002 28.264 8457
+-80.876 28.264 8303
+-80.75 28.264 8209
+-80.624 28.264 7978
+-80.498 28.264 7923
+-80.372 28.264 7753
+-80.246 28.264 7633
+-80.12 28.264 7495
+-79.994 28.264 7290
+-79.868 28.264 7264
+-79.742 28.264 7073
+-79.616 28.264 6913
+-79.49 28.264 6766
+-79.364 28.264 6642
+-79.238 28.264 6550
+-79.112 28.264 6401
+-78.986 28.264 6242
+-78.86 28.264 6119
+-78.734 28.264 6004
+-78.608 28.264 5915
+-78.482 28.264 5770
+-78.356 28.264 5605
+-78.23 28.264 5440
+-78.104 28.264 5284
+-77.978 28.264 5168
+-77.852 28.264 4996
+-77.726 28.264 4781
+-77.6 28.264 4680
+-77.474 28.264 4522
+-77.348 28.264 4627
+-77.222 28.264 4671
+-77.096 28.264 4606
+-76.97 28.264 4569
+-76.844 28.264 4423
+-76.718 28.264 4372
+-76.592 28.264 4286
+-76.466 28.264 4249
+-76.34 28.264 4173
+-76.214 28.264 4064
+-76.088 28.264 3976
+-75.962 28.264 3890
+-75.836 28.264 3847
+-75.71 28.264 3827
+-75.584 28.264 3746
+-75.458 28.264 3726
+-75.332 28.264 3709
+-75.206 28.264 3695
+-75.08 28.264 3640
+-74.954 28.264 3599
+-74.828 28.264 3590
+-74.702 28.264 3583
+-74.576 28.264 3454
+-74.45 28.264 3435
+-74.324 28.264 3433
+-74.198 28.264 3341
+-74.072 28.264 3320
+-73.946 28.264 3298
+-73.82 28.264 3299
+-73.694 28.264 3301
+-73.568 28.264 3302
+-73.442 28.264 3264
+-73.316 28.264 3250
+-73.19 28.264 3250
+-73.064 28.264 3251
+-72.938 28.264 3252
+-72.812 28.264 3253
+-72.686 28.264 3254
+-72.56 28.264 3255
+-72.434 28.264 3256
+-72.308 28.264 3257
+-72.182 28.264 3258
+-72.056 28.264 3208
+-71.93 28.264 3209
+-71.804 28.264 3210
+-71.678 28.264 3211
+-71.552 28.264 3211
+-71.426 28.264 3212
+-71.3 28.264 3213
+-71.174 28.264 3213
+-71.048 28.264 3214
+-70.922 28.264 3215
+-70.796 28.264 3215
+-70.67 28.264 3216
+-70.544 28.264 3217
+-70.418 28.264 3217
+-70.292 28.264 3218
+-70.166 28.264 3107
+-70.04 28.264 3107
+-69.914 28.264 3107
+-69.788 28.264 3106
+-69.662 28.264 3106
+-69.536 28.264 3106
+-69.41 28.264 3106
+-69.284 28.264 3106
+-69.158 28.264 3106
+-69.032 28.264 3105
+-68.906 28.264 3105
+-68.78 28.264 3105
+-68.654 28.264 3025
+-68.528 28.264 3024
+-68.402 28.264 3023
+-68.276 28.264 3022
+-68.15 28.264 3020
+-68.024 28.264 3019
+-67.898 28.264 3018
+-67.772 28.264 3017
+-67.646 28.264 3016
+-67.52 28.264 3015
+-67.394 28.264 3014
+-67.268 28.264 3013
+-67.142 28.264 3012
+-67.016 28.264 3011
+-66.89 28.264 3010
+-66.764 28.264 3009
+-66.638 28.264 3008
+-66.512 28.264 3007
+-66.386 28.264 3006
+-66.26 28.264 3006
+-66.134 28.264 3005
+-66.008 28.264 3004
+-65.882 28.264 3003
+-65.756 28.264 3002
+-65.63 28.264 3002
+-65.504 28.264 3001
+-65.378 28.264 3000
+-65.252 28.264 3000
+-65.126 28.264 2999
+-128 28.212 2685
+-127.874 28.212 2680
+-127.748 28.212 2675
+-127.622 28.212 2670
+-127.496 28.212 2666
+-127.37 28.212 2674
+-127.244 28.212 2669
+-127.118 28.212 2667
+-126.992 28.212 2665
+-126.866 28.212 2664
+-126.74 28.212 2664
+-126.614 28.212 2664
+-126.488 28.212 2665
+-126.362 28.212 2672
+-126.236 28.212 2685
+-126.11 28.212 2741
+-125.984 28.212 2703
+-125.858 28.212 2710
+-125.732 28.212 2755
+-125.606 28.212 2763
+-125.48 28.212 2794
+-125.354 28.212 2839
+-125.228 28.212 2852
+-125.102 28.212 2865
+-124.976 28.212 2880
+-124.85 28.212 2895
+-124.724 28.212 2893
+-124.598 28.212 2905
+-124.472 28.212 2947
+-124.346 28.212 2966
+-124.22 28.212 3012
+-124.094 28.212 3031
+-123.968 28.212 3023
+-123.842 28.212 3029
+-123.716 28.212 3057
+-123.59 28.212 3076
+-123.464 28.212 3095
+-123.338 28.212 3207
+-123.212 28.212 3383
+-123.086 28.212 3381
+-122.96 28.212 3378
+-122.834 28.212 3361
+-122.708 28.212 3358
+-122.582 28.212 3369
+-122.456 28.212 3363
+-122.33 28.212 3359
+-122.204 28.212 3394
+-122.078 28.212 3386
+-121.952 28.212 3359
+-121.826 28.212 3361
+-121.7 28.212 3371
+-121.574 28.212 3366
+-121.448 28.212 3376
+-121.322 28.212 3373
+-121.196 28.212 3387
+-121.07 28.212 3389
+-120.944 28.212 3399
+-120.818 28.212 3432
+-120.692 28.212 3451
+-120.566 28.212 3489
+-120.44 28.212 3519
+-120.314 28.212 3556
+-120.188 28.212 3601
+-120.062 28.212 3666
+-119.936 28.212 3701
+-119.81 28.212 3756
+-119.684 28.212 3854
+-119.558 28.212 3947
+-119.432 28.212 3999
+-119.306 28.212 3977
+-119.18 28.212 4072
+-119.054 28.212 4169
+-118.928 28.212 4231
+-118.802 28.212 4257
+-118.676 28.212 4277
+-118.55 28.212 4282
+-118.424 28.212 4310
+-118.298 28.212 4363
+-118.172 28.212 4411
+-118.046 28.212 4493
+-117.92 28.212 4539
+-117.794 28.212 4551
+-117.668 28.212 4556
+-117.542 28.212 4566
+-117.416 28.212 4594
+-117.29 28.212 4613
+-117.164 28.212 4605
+-117.038 28.212 4606
+-116.912 28.212 4614
+-116.786 28.212 4614
+-116.66 28.212 4624
+-116.534 28.212 4582
+-116.408 28.212 4544
+-116.282 28.212 4504
+-116.156 28.212 4494
+-116.03 28.212 4493
+-115.904 28.212 4492
+-115.778 28.212 4472
+-115.652 28.212 4401
+-115.526 28.212 4348
+-115.4 28.212 4257
+-115.274 28.212 4206
+-115.148 28.212 4207
+-115.022 28.212 4174
+-114.896 28.212 4115
+-114.77 28.212 4018
+-114.644 28.212 3955
+-114.518 28.212 3970
+-114.392 28.212 3953
+-114.266 28.212 3872
+-114.14 28.212 4013
+-114.014 28.212 4206
+-113.888 28.212 4300
+-113.762 28.212 4312
+-113.636 28.212 4373
+-113.51 28.212 4499
+-113.384 28.212 4649
+-113.258 28.212 4739
+-113.132 28.212 4784
+-113.006 28.212 4885
+-112.88 28.212 4906
+-112.754 28.212 4989
+-112.628 28.212 5033
+-112.502 28.212 5104
+-112.376 28.212 5137
+-112.25 28.212 5207
+-112.124 28.212 5340
+-111.998 28.212 5447
+-111.872 28.212 5451
+-111.746 28.212 5552
+-111.62 28.212 5630
+-111.494 28.212 5663
+-111.368 28.212 5695
+-111.242 28.212 5710
+-111.116 28.212 5728
+-110.99 28.212 5727
+-110.864 28.212 5743
+-110.738 28.212 5756
+-110.612 28.212 5764
+-110.486 28.212 5794
+-110.36 28.212 5776
+-110.234 28.212 5808
+-110.108 28.212 5771
+-109.982 28.212 5759
+-109.856 28.212 5735
+-109.73 28.212 5696
+-109.604 28.212 5708
+-109.478 28.212 5669
+-109.352 28.212 5630
+-109.226 28.212 5593
+-109.1 28.212 5544
+-108.974 28.212 5462
+-108.848 28.212 5403
+-108.722 28.212 5388
+-108.596 28.212 5326
+-108.47 28.212 5271
+-108.344 28.212 5204
+-108.218 28.212 5153
+-108.092 28.212 5084
+-107.966 28.212 4939
+-107.84 28.212 4838
+-107.714 28.212 4814
+-107.588 28.212 4720
+-107.462 28.212 4635
+-107.336 28.212 4556
+-107.21 28.212 4472
+-107.084 28.212 4368
+-106.958 28.212 4213
+-106.832 28.212 4078
+-106.706 28.212 4128
+-106.58 28.212 4131
+-106.454 28.212 4066
+-106.328 28.212 3918
+-106.202 28.212 3838
+-106.076 28.212 3811
+-105.95 28.212 3795
+-105.824 28.212 3774
+-105.698 28.212 3739
+-105.572 28.212 3713
+-105.446 28.212 3685
+-105.32 28.212 3655
+-105.194 28.212 3623
+-105.068 28.212 3550
+-104.942 28.212 3519
+-104.816 28.212 3481
+-104.69 28.212 3434
+-104.564 28.212 3422
+-104.438 28.212 3417
+-104.312 28.212 3406
+-104.186 28.212 3402
+-104.06 28.212 3419
+-103.934 28.212 3431
+-103.808 28.212 3376
+-103.682 28.212 3390
+-103.556 28.212 3399
+-103.43 28.212 3399
+-103.304 28.212 3407
+-103.178 28.212 3400
+-103.052 28.212 3408
+-102.926 28.212 3356
+-102.8 28.212 3295
+-102.674 28.212 3298
+-102.548 28.212 3302
+-102.422 28.212 3305
+-102.296 28.212 3308
+-102.17 28.212 3311
+-102.044 28.212 3331
+-101.918 28.212 3364
+-101.792 28.212 3265
+-101.666 28.212 3265
+-101.54 28.212 3266
+-101.414 28.212 3267
+-101.288 28.212 3274
+-101.162 28.212 3275
+-101.036 28.212 3277
+-100.91 28.212 3279
+-100.784 28.212 3280
+-100.658 28.212 3282
+-100.532 28.212 3217
+-100.406 28.212 3217
+-100.28 28.212 3218
+-100.154 28.212 3218
+-100.028 28.212 3219
+-99.902 28.212 3172
+-99.776 28.212 3139
+-99.65 28.212 3131
+-99.524 28.212 3133
+-99.398 28.212 3134
+-99.272 28.212 3103
+-99.146 28.212 3104
+-99.02 28.212 3106
+-98.894 28.212 3048
+-98.768 28.212 3049
+-98.642 28.212 3050
+-98.516 28.212 3050
+-98.39 28.212 2981
+-98.264 28.212 2884
+-98.138 28.212 2884
+-98.012 28.212 2884
+-97.886 28.212 2884
+-97.76 28.212 2706
+-97.634 28.212 2701
+-97.508 28.212 2583
+-97.382 28.212 2577
+-97.256 28.212 2493
+-97.13 28.212 2448
+-97.004 28.212 2462
+-96.878 28.212 2404
+-96.752 28.212 2334
+-96.626 28.212 2328
+-96.5 28.212 2321
+-96.374 28.212 2304
+-96.248 28.212 2364
+-96.122 28.212 2382
+-95.996 28.212 2375
+-95.87 28.212 2476
+-95.744 28.212 2495
+-95.618 28.212 2512
+-95.492 28.212 2519
+-95.366 28.212 2643
+-95.24 28.212 2803
+-95.114 28.212 2804
+-94.988 28.212 3002
+-94.862 28.212 3003
+-94.736 28.212 3023
+-94.61 28.212 3024
+-94.484 28.212 3040
+-94.358 28.212 3041
+-94.232 28.212 3065
+-94.106 28.212 3066
+-93.98 28.212 3067
+-93.854 28.212 3288
+-93.728 28.212 3352
+-93.602 28.212 3352
+-93.476 28.212 3351
+-93.35 28.212 3351
+-93.224 28.212 3351
+-93.098 28.212 3350
+-92.972 28.212 3350
+-92.846 28.212 3350
+-92.72 28.212 3349
+-92.594 28.212 3349
+-92.468 28.212 3382
+-92.342 28.212 3382
+-92.216 28.212 3381
+-92.09 28.212 3509
+-91.964 28.212 3509
+-91.838 28.212 3509
+-91.712 28.212 3509
+-91.586 28.212 3510
+-91.46 28.212 3511
+-91.334 28.212 3512
+-91.208 28.212 3555
+-91.082 28.212 3556
+-90.956 28.212 3557
+-90.83 28.212 3559
+-90.704 28.212 3561
+-90.578 28.212 3564
+-90.452 28.212 3705
+-90.326 28.212 3710
+-90.2 28.212 3715
+-90.074 28.212 3722
+-89.948 28.212 3729
+-89.822 28.212 3769
+-89.696 28.212 3810
+-89.57 28.212 3880
+-89.444 28.212 3889
+-89.318 28.212 3931
+-89.192 28.212 3939
+-89.066 28.212 3947
+-88.94 28.212 3954
+-88.814 28.212 4035
+-88.688 28.212 4061
+-88.562 28.212 4052
+-88.436 28.212 4038
+-88.31 28.212 4017
+-88.184 28.212 3989
+-88.058 28.212 3960
+-87.932 28.212 3943
+-87.806 28.212 3953
+-87.68 28.212 4009
+-87.554 28.212 4053
+-87.428 28.212 4054
+-87.302 28.212 4119
+-87.176 28.212 4245
+-87.05 28.212 4425
+-86.924 28.212 4595
+-86.798 28.212 4781
+-86.672 28.212 4931
+-86.546 28.212 5090
+-86.42 28.212 5275
+-86.294 28.212 5316
+-86.168 28.212 5460
+-86.042 28.212 5489
+-85.916 28.212 5653
+-85.79 28.212 5796
+-85.664 28.212 5938
+-85.538 28.212 6101
+-85.412 28.212 6287
+-85.286 28.212 6433
+-85.16 28.212 6564
+-85.034 28.212 6582
+-84.908 28.212 6780
+-84.782 28.212 6937
+-84.656 28.212 7067
+-84.53 28.212 7236
+-84.404 28.212 7348
+-84.278 28.212 7512
+-84.152 28.212 7658
+-84.026 28.212 7748
+-83.9 28.212 7959
+-83.774 28.212 8028
+-83.648 28.212 8189
+-83.522 28.212 8272
+-83.396 28.212 8403
+-83.27 28.212 8525
+-83.144 28.212 8707
+-83.018 28.212 8868
+-82.892 28.212 8950
+-82.766 28.212 9155
+-82.64 28.212 9236
+-82.514 28.212 9332
+-82.388 28.212 9385
+-82.262 28.212 9390
+-82.136 28.212 9405
+-82.01 28.212 9336
+-81.884 28.212 9307
+-81.758 28.212 9217
+-81.632 28.212 9111
+-81.506 28.212 8937
+-81.38 28.212 8853
+-81.254 28.212 8718
+-81.128 28.212 8638
+-81.002 28.212 8517
+-80.876 28.212 8345
+-80.75 28.212 8117
+-80.624 28.212 7990
+-80.498 28.212 7930
+-80.372 28.212 7782
+-80.246 28.212 7629
+-80.12 28.212 7481
+-79.994 28.212 7371
+-79.868 28.212 7253
+-79.742 28.212 7027
+-79.616 28.212 6942
+-79.49 28.212 6823
+-79.364 28.212 6648
+-79.238 28.212 6600
+-79.112 28.212 6377
+-78.986 28.212 6227
+-78.86 28.212 6139
+-78.734 28.212 6023
+-78.608 28.212 5898
+-78.482 28.212 5748
+-78.356 28.212 5563
+-78.23 28.212 5411
+-78.104 28.212 5171
+-77.978 28.212 5201
+-77.852 28.212 5061
+-77.726 28.212 4862
+-77.6 28.212 4738
+-77.474 28.212 4680
+-77.348 28.212 4673
+-77.222 28.212 4680
+-77.096 28.212 4656
+-76.97 28.212 4586
+-76.844 28.212 4498
+-76.718 28.212 4406
+-76.592 28.212 4366
+-76.466 28.212 4301
+-76.34 28.212 4162
+-76.214 28.212 4132
+-76.088 28.212 4005
+-75.962 28.212 3834
+-75.836 28.212 3787
+-75.71 28.212 3758
+-75.584 28.212 3732
+-75.458 28.212 3710
+-75.332 28.212 3691
+-75.206 28.212 3611
+-75.08 28.212 3597
+-74.954 28.212 3586
+-74.828 28.212 3578
+-74.702 28.212 3572
+-74.576 28.212 3448
+-74.45 28.212 3435
+-74.324 28.212 3418
+-74.198 28.212 3308
+-74.072 28.212 3299
+-73.946 28.212 3301
+-73.82 28.212 3303
+-73.694 28.212 3306
+-73.568 28.212 3254
+-73.442 28.212 3240
+-73.316 28.212 3241
+-73.19 28.212 3242
+-73.064 28.212 3244
+-72.938 28.212 3245
+-72.812 28.212 3247
+-72.686 28.212 3248
+-72.56 28.212 3249
+-72.434 28.212 3251
+-72.308 28.212 3252
+-72.182 28.212 3253
+-72.056 28.212 3255
+-71.93 28.212 3205
+-71.804 28.212 3206
+-71.678 28.212 3207
+-71.552 28.212 3208
+-71.426 28.212 3209
+-71.3 28.212 3210
+-71.174 28.212 3211
+-71.048 28.212 3212
+-70.922 28.212 3212
+-70.796 28.212 3213
+-70.67 28.212 3214
+-70.544 28.212 3214
+-70.418 28.212 3215
+-70.292 28.212 3216
+-70.166 28.212 3216
+-70.04 28.212 3106
+-69.914 28.212 3106
+-69.788 28.212 3106
+-69.662 28.212 3106
+-69.536 28.212 3106
+-69.41 28.212 3106
+-69.284 28.212 3106
+-69.158 28.212 3105
+-69.032 28.212 3105
+-68.906 28.212 3105
+-68.78 28.212 3025
+-68.654 28.212 3024
+-68.528 28.212 3022
+-68.402 28.212 3021
+-68.276 28.212 3020
+-68.15 28.212 3019
+-68.024 28.212 3018
+-67.898 28.212 3017
+-67.772 28.212 3015
+-67.646 28.212 3014
+-67.52 28.212 3013
+-67.394 28.212 3012
+-67.268 28.212 3011
+-67.142 28.212 3010
+-67.016 28.212 3009
+-66.89 28.212 3008
+-66.764 28.212 3008
+-66.638 28.212 3007
+-66.512 28.212 3006
+-66.386 28.212 3005
+-66.26 28.212 3004
+-66.134 28.212 3003
+-66.008 28.212 3003
+-65.882 28.212 3002
+-65.756 28.212 3001
+-65.63 28.212 3000
+-65.504 28.212 3000
+-65.378 28.212 2999
+-65.252 28.212 2998
+-65.126 28.212 2998
+-128 28.16 2696
+-127.874 28.16 2691
+-127.748 28.16 2687
+-127.622 28.16 2682
+-127.496 28.16 2692
+-127.37 28.16 2685
+-127.244 28.16 2684
+-127.118 28.16 2682
+-126.992 28.16 2681
+-126.866 28.16 2680
+-126.74 28.16 2681
+-126.614 28.16 2681
+-126.488 28.16 2688
+-126.362 28.16 2700
+-126.236 28.16 2756
+-126.11 28.16 2716
+-125.984 28.16 2722
+-125.858 28.16 2767
+-125.732 28.16 2774
+-125.606 28.16 2803
+-125.48 28.16 2848
+-125.354 28.16 2859
+-125.228 28.16 2871
+-125.102 28.16 2884
+-124.976 28.16 2897
+-124.85 28.16 2893
+-124.724 28.16 2904
+-124.598 28.16 2944
+-124.472 28.16 2961
+-124.346 28.16 3007
+-124.22 28.16 3025
+-124.094 28.16 3014
+-123.968 28.16 3020
+-123.842 28.16 3047
+-123.716 28.16 3066
+-123.59 28.16 3083
+-123.464 28.16 3202
+-123.338 28.16 3384
+-123.212 28.16 3382
+-123.086 28.16 3379
+-122.96 28.16 3361
+-122.834 28.16 3358
+-122.708 28.16 3368
+-122.582 28.16 3364
+-122.456 28.16 3360
+-122.33 28.16 3396
+-122.204 28.16 3388
+-122.078 28.16 3360
+-121.952 28.16 3361
+-121.826 28.16 3369
+-121.7 28.16 3360
+-121.574 28.16 3364
+-121.448 28.16 3350
+-121.322 28.16 3350
+-121.196 28.16 3338
+-121.07 28.16 3337
+-120.944 28.16 3348
+-120.818 28.16 3384
+-120.692 28.16 3412
+-120.566 28.16 3454
+-120.44 28.16 3472
+-120.314 28.16 3487
+-120.188 28.16 3523
+-120.062 28.16 3582
+-119.936 28.16 3642
+-119.81 28.16 3723
+-119.684 28.16 3793
+-119.558 28.16 3892
+-119.432 28.16 3956
+-119.306 28.16 3998
+-119.18 28.16 4050
+-119.054 28.16 4116
+-118.928 28.16 4171
+-118.802 28.16 4207
+-118.676 28.16 4234
+-118.55 28.16 4254
+-118.424 28.16 4256
+-118.298 28.16 4295
+-118.172 28.16 4352
+-118.046 28.16 4408
+-117.92 28.16 4453
+-117.794 28.16 4484
+-117.668 28.16 4506
+-117.542 28.16 4523
+-117.416 28.16 4520
+-117.29 28.16 4524
+-117.164 28.16 4532
+-117.038 28.16 4534
+-116.912 28.16 4539
+-116.786 28.16 4553
+-116.66 28.16 4539
+-116.534 28.16 4524
+-116.408 28.16 4494
+-116.282 28.16 4459
+-116.156 28.16 4465
+-116.03 28.16 4457
+-115.904 28.16 4443
+-115.778 28.16 4391
+-115.652 28.16 4341
+-115.526 28.16 4283
+-115.4 28.16 4235
+-115.274 28.16 4203
+-115.148 28.16 4178
+-115.022 28.16 4135
+-114.896 28.16 4061
+-114.77 28.16 3955
+-114.644 28.16 3876
+-114.518 28.16 3931
+-114.392 28.16 3962
+-114.266 28.16 3955
+-114.14 28.16 4069
+-114.014 28.16 4199
+-113.888 28.16 4292
+-113.762 28.16 4333
+-113.636 28.16 4334
+-113.51 28.16 4440
+-113.384 28.16 4594
+-113.258 28.16 4690
+-113.132 28.16 4685
+-113.006 28.16 4802
+-112.88 28.16 4923
+-112.754 28.16 4953
+-112.628 28.16 5020
+-112.502 28.16 5122
+-112.376 28.16 5102
+-112.25 28.16 5170
+-112.124 28.16 5269
+-111.998 28.16 5386
+-111.872 28.16 5441
+-111.746 28.16 5502
+-111.62 28.16 5561
+-111.494 28.16 5597
+-111.368 28.16 5616
+-111.242 28.16 5641
+-111.116 28.16 5674
+-110.99 28.16 5665
+-110.864 28.16 5677
+-110.738 28.16 5693
+-110.612 28.16 5709
+-110.486 28.16 5740
+-110.36 28.16 5769
+-110.234 28.16 5776
+-110.108 28.16 5764
+-109.982 28.16 5736
+-109.856 28.16 5716
+-109.73 28.16 5656
+-109.604 28.16 5628
+-109.478 28.16 5622
+-109.352 28.16 5584
+-109.226 28.16 5540
+-109.1 28.16 5484
+-108.974 28.16 5421
+-108.848 28.16 5384
+-108.722 28.16 5314
+-108.596 28.16 5249
+-108.47 28.16 5239
+-108.344 28.16 5189
+-108.218 28.16 5114
+-108.092 28.16 5018
+-107.966 28.16 4913
+-107.84 28.16 4817
+-107.714 28.16 4737
+-107.588 28.16 4641
+-107.462 28.16 4563
+-107.336 28.16 4482
+-107.21 28.16 4395
+-107.084 28.16 4327
+-106.958 28.16 4265
+-106.832 28.16 4161
+-106.706 28.16 4161
+-106.58 28.16 4146
+-106.454 28.16 4079
+-106.328 28.16 3989
+-106.202 28.16 3911
+-106.076 28.16 3858
+-105.95 28.16 3825
+-105.824 28.16 3797
+-105.698 28.16 3769
+-105.572 28.16 3730
+-105.446 28.16 3702
+-105.32 28.16 3674
+-105.194 28.16 3646
+-105.068 28.16 3577
+-104.942 28.16 3551
+-104.816 28.16 3529
+-104.69 28.16 3512
+-104.564 28.16 3455
+-104.438 28.16 3448
+-104.312 28.16 3423
+-104.186 28.16 3375
+-104.06 28.16 3382
+-103.934 28.16 3388
+-103.808 28.16 3382
+-103.682 28.16 3392
+-103.556 28.16 3400
+-103.43 28.16 3408
+-103.304 28.16 3406
+-103.178 28.16 3413
+-103.052 28.16 3355
+-102.926 28.16 3360
+-102.8 28.16 3358
+-102.674 28.16 3293
+-102.548 28.16 3297
+-102.422 28.16 3300
+-102.296 28.16 3303
+-102.17 28.16 3306
+-102.044 28.16 3308
+-101.918 28.16 3330
+-101.792 28.16 3363
+-101.666 28.16 3264
+-101.54 28.16 3265
+-101.414 28.16 3266
+-101.288 28.16 3208
+-101.162 28.16 3273
+-101.036 28.16 3275
+-100.91 28.16 3277
+-100.784 28.16 3279
+-100.658 28.16 3280
+-100.532 28.16 3282
+-100.406 28.16 3217
+-100.28 28.16 3217
+-100.154 28.16 3218
+-100.028 28.16 3218
+-99.902 28.16 3219
+-99.776 28.16 3172
+-99.65 28.16 3139
+-99.524 28.16 3131
+-99.398 28.16 3133
+-99.272 28.16 3135
+-99.146 28.16 3103
+-99.02 28.16 3105
+-98.894 28.16 3106
+-98.768 28.16 3048
+-98.642 28.16 3049
+-98.516 28.16 3050
+-98.39 28.16 3051
+-98.264 28.16 2981
+-98.138 28.16 2884
+-98.012 28.16 2883
+-97.886 28.16 2883
+-97.76 28.16 2883
+-97.634 28.16 2703
+-97.508 28.16 2586
+-97.382 28.16 2580
+-97.256 28.16 2495
+-97.13 28.16 2488
+-97.004 28.16 2422
+-96.878 28.16 2406
+-96.752 28.16 2336
+-96.626 28.16 2373
+-96.5 28.16 2311
+-96.374 28.16 2326
+-96.248 28.16 2369
+-96.122 28.16 2387
+-95.996 28.16 2476
+-95.87 28.16 2492
+-95.744 28.16 2521
+-95.618 28.16 2527
+-95.492 28.16 2590
+-95.366 28.16 2806
+-95.24 28.16 2807
+-95.114 28.16 2808
+-94.988 28.16 3005
+-94.862 28.16 3024
+-94.736 28.16 3025
+-94.61 28.16 3041
+-94.484 28.16 3042
+-94.358 28.16 3066
+-94.232 28.16 3067
+-94.106 28.16 3068
+-93.98 28.16 3289
+-93.854 28.16 3353
+-93.728 28.16 3352
+-93.602 28.16 3352
+-93.476 28.16 3351
+-93.35 28.16 3351
+-93.224 28.16 3350
+-93.098 28.16 3350
+-92.972 28.16 3350
+-92.846 28.16 3349
+-92.72 28.16 3349
+-92.594 28.16 3381
+-92.468 28.16 3380
+-92.342 28.16 3379
+-92.216 28.16 3506
+-92.09 28.16 3506
+-91.964 28.16 3505
+-91.838 28.16 3505
+-91.712 28.16 3505
+-91.586 28.16 3506
+-91.46 28.16 3506
+-91.334 28.16 3547
+-91.208 28.16 3548
+-91.082 28.16 3548
+-90.956 28.16 3549
+-90.83 28.16 3551
+-90.704 28.16 3553
+-90.578 28.16 3555
+-90.452 28.16 3559
+-90.326 28.16 3698
+-90.2 28.16 3703
+-90.074 28.16 3710
+-89.948 28.16 3750
+-89.822 28.16 3790
+-89.696 28.16 3861
+-89.57 28.16 3871
+-89.444 28.16 3881
+-89.318 28.16 3891
+-89.192 28.16 3936
+-89.066 28.16 3945
+-88.94 28.16 3954
+-88.814 28.16 3963
+-88.688 28.16 4041
+-88.562 28.16 4069
+-88.436 28.16 4060
+-88.31 28.16 4047
+-88.184 28.16 4071
+-88.058 28.16 4057
+-87.932 28.16 4053
+-87.806 28.16 4059
+-87.68 28.16 4104
+-87.554 28.16 4132
+-87.428 28.16 4132
+-87.302 28.16 4086
+-87.176 28.16 4219
+-87.05 28.16 4437
+-86.924 28.16 4656
+-86.798 28.16 4797
+-86.672 28.16 4851
+-86.546 28.16 5001
+-86.42 28.16 5211
+-86.294 28.16 5201
+-86.168 28.16 5394
+-86.042 28.16 5525
+-85.916 28.16 5685
+-85.79 28.16 5764
+-85.664 28.16 5911
+-85.538 28.16 6099
+-85.412 28.16 6256
+-85.286 28.16 6433
+-85.16 28.16 6587
+-85.034 28.16 6676
+-84.908 28.16 6818
+-84.782 28.16 6907
+-84.656 28.16 7033
+-84.53 28.16 7213
+-84.404 28.16 7364
+-84.278 28.16 7514
+-84.152 28.16 7691
+-84.026 28.16 7758
+-83.9 28.16 7932
+-83.774 28.16 8031
+-83.648 28.16 8174
+-83.522 28.16 8343
+-83.396 28.16 8481
+-83.27 28.16 8624
+-83.144 28.16 8747
+-83.018 28.16 8895
+-82.892 28.16 9029
+-82.766 28.16 9146
+-82.64 28.16 9271
+-82.514 28.16 9376
+-82.388 28.16 9402
+-82.262 28.16 9473
+-82.136 28.16 9461
+-82.01 28.16 9387
+-81.884 28.16 9315
+-81.758 28.16 9265
+-81.632 28.16 9120
+-81.506 28.16 9044
+-81.38 28.16 8898
+-81.254 28.16 8759
+-81.128 28.16 8606
+-81.002 28.16 8444
+-80.876 28.16 8308
+-80.75 28.16 8186
+-80.624 28.16 8110
+-80.498 28.16 7939
+-80.372 28.16 7777
+-80.246 28.16 7680
+-80.12 28.16 7475
+-79.994 28.16 7335
+-79.868 28.16 7284
+-79.742 28.16 7066
+-79.616 28.16 6931
+-79.49 28.16 6863
+-79.364 28.16 6671
+-79.238 28.16 6615
+-79.112 28.16 6383
+-78.986 28.16 6230
+-78.86 28.16 6129
+-78.734 28.16 6013
+-78.608 28.16 5868
+-78.482 28.16 5801
+-78.356 28.16 5600
+-78.23 28.16 5414
+-78.104 28.16 5298
+-77.978 28.16 5250
+-77.852 28.16 5129
+-77.726 28.16 4985
+-77.6 28.16 4851
+-77.474 28.16 4782
+-77.348 28.16 4770
+-77.222 28.16 4725
+-77.096 28.16 4704
+-76.97 28.16 4649
+-76.844 28.16 4568
+-76.718 28.16 4470
+-76.592 28.16 4387
+-76.466 28.16 4291
+-76.34 28.16 4159
+-76.214 28.16 4084
+-76.088 28.16 3972
+-75.962 28.16 3899
+-75.836 28.16 3816
+-75.71 28.16 3786
+-75.584 28.16 3692
+-75.458 28.16 3667
+-75.332 28.16 3600
+-75.206 28.16 3583
+-75.08 28.16 3570
+-74.954 28.16 3560
+-74.828 28.16 3553
+-74.702 28.16 3428
+-74.576 28.16 3428
+-74.45 28.16 3407
+-74.324 28.16 3409
+-74.198 28.16 3326
+-74.072 28.16 3313
+-73.946 28.16 3290
+-73.82 28.16 3293
+-73.694 28.16 3258
+-73.568 28.16 3228
+-73.442 28.16 3230
+-73.316 28.16 3232
+-73.19 28.16 3234
+-73.064 28.16 3236
+-72.938 28.16 3238
+-72.812 28.16 3240
+-72.686 28.16 3242
+-72.56 28.16 3243
+-72.434 28.16 3245
+-72.308 28.16 3247
+-72.182 28.16 3248
+-72.056 28.16 3250
+-71.93 28.16 3251
+-71.804 28.16 3203
+-71.678 28.16 3204
+-71.552 28.16 3205
+-71.426 28.16 3206
+-71.3 28.16 3207
+-71.174 28.16 3208
+-71.048 28.16 3209
+-70.922 28.16 3210
+-70.796 28.16 3211
+-70.67 28.16 3211
+-70.544 28.16 3212
+-70.418 28.16 3213
+-70.292 28.16 3214
+-70.166 28.16 3215
+-70.04 28.16 3215
+-69.914 28.16 3106
+-69.788 28.16 3106
+-69.662 28.16 3106
+-69.536 28.16 3106
+-69.41 28.16 3106
+-69.284 28.16 3105
+-69.158 28.16 3105
+-69.032 28.16 3105
+-68.906 28.16 3024
+-68.78 28.16 3023
+-68.654 28.16 3022
+-68.528 28.16 3021
+-68.402 28.16 3019
+-68.276 28.16 3018
+-68.15 28.16 3017
+-68.024 28.16 3016
+-67.898 28.16 3015
+-67.772 28.16 3014
+-67.646 28.16 3013
+-67.52 28.16 3012
+-67.394 28.16 3011
+-67.268 28.16 3010
+-67.142 28.16 3009
+-67.016 28.16 3008
+-66.89 28.16 3007
+-66.764 28.16 3006
+-66.638 28.16 3005
+-66.512 28.16 3004
+-66.386 28.16 3003
+-66.26 28.16 3003
+-66.134 28.16 3002
+-66.008 28.16 3001
+-65.882 28.16 3000
+-65.756 28.16 3000
+-65.63 28.16 2999
+-65.504 28.16 2998
+-65.378 28.16 2998
+-65.252 28.16 2997
+-65.126 28.16 2997
+-128 28.108 2706
+-127.874 28.108 2702
+-127.748 28.108 2698
+-127.622 28.108 2708
+-127.496 28.108 2701
+-127.37 28.108 2699
+-127.244 28.108 2697
+-127.118 28.108 2696
+-126.992 28.108 2696
+-126.866 28.108 2696
+-126.74 28.108 2696
+-126.614 28.108 2702
+-126.488 28.108 2714
+-126.362 28.108 2771
+-126.236 28.108 2729
+-126.11 28.108 2734
+-125.984 28.108 2778
+-125.858 28.108 2785
+-125.732 28.108 2812
+-125.606 28.108 2857
+-125.48 28.108 2866
+-125.354 28.108 2877
+-125.228 28.108 2888
+-125.102 28.108 2900
+-124.976 28.108 2894
+-124.85 28.108 2903
+-124.724 28.108 2942
+-124.598 28.108 2958
+-124.472 28.108 3003
+-124.346 28.108 3019
+-124.22 28.108 3007
+-124.094 28.108 3012
+-123.968 28.108 3038
+-123.842 28.108 3056
+-123.716 28.108 3073
+-123.59 28.108 3198
+-123.464 28.108 3384
+-123.338 28.108 3382
+-123.212 28.108 3380
+-123.086 28.108 3361
+-122.96 28.108 3359
+-122.834 28.108 3369
+-122.708 28.108 3365
+-122.582 28.108 3361
+-122.456 28.108 3399
+-122.33 28.108 3391
+-122.204 28.108 3362
+-122.078 28.108 3363
+-121.952 28.108 3371
+-121.826 28.108 3359
+-121.7 28.108 3359
+-121.574 28.108 3339
+-121.448 28.108 3327
+-121.322 28.108 3296
+-121.196 28.108 3266
+-121.07 28.108 3247
+-120.944 28.108 3265
+-120.818 28.108 3304
+-120.692 28.108 3354
+-120.566 28.108 3390
+-120.44 28.108 3400
+-120.314 28.108 3398
+-120.188 28.108 3413
+-120.062 28.108 3477
+-119.936 28.108 3562
+-119.81 28.108 3639
+-119.684 28.108 3726
+-119.558 28.108 3816
+-119.432 28.108 3895
+-119.306 28.108 3951
+-119.18 28.108 4008
+-119.054 28.108 4058
+-118.928 28.108 4097
+-118.802 28.108 4132
+-118.676 28.108 4176
+-118.55 28.108 4211
+-118.424 28.108 4218
+-118.298 28.108 4249
+-118.172 28.108 4293
+-118.046 28.108 4333
+-117.92 28.108 4366
+-117.794 28.108 4389
+-117.668 28.108 4416
+-117.542 28.108 4455
+-117.416 28.108 4459
+-117.29 28.108 4447
+-117.164 28.108 4433
+-117.038 28.108 4435
+-116.912 28.108 4443
+-116.786 28.108 4448
+-116.66 28.108 4468
+-116.534 28.108 4451
+-116.408 28.108 4453
+-116.282 28.108 4441
+-116.156 28.108 4436
+-116.03 28.108 4399
+-115.904 28.108 4373
+-115.778 28.108 4315
+-115.652 28.108 4261
+-115.526 28.108 4221
+-115.4 28.108 4186
+-115.274 28.108 4159
+-115.148 28.108 4134
+-115.022 28.108 4089
+-114.896 28.108 4026
+-114.77 28.108 3959
+-114.644 28.108 3920
+-114.518 28.108 3935
+-114.392 28.108 3960
+-114.266 28.108 3991
+-114.14 28.108 4080
+-114.014 28.108 4179
+-113.888 28.108 4279
+-113.762 28.108 4318
+-113.636 28.108 4340
+-113.51 28.108 4418
+-113.384 28.108 4558
+-113.258 28.108 4652
+-113.132 28.108 4613
+-113.006 28.108 4754
+-112.88 28.108 4887
+-112.754 28.108 4956
+-112.628 28.108 4958
+-112.502 28.108 5057
+-112.376 28.108 5084
+-112.25 28.108 5147
+-112.124 28.108 5218
+-111.998 28.108 5304
+-111.872 28.108 5360
+-111.746 28.108 5428
+-111.62 28.108 5485
+-111.494 28.108 5514
+-111.368 28.108 5517
+-111.242 28.108 5535
+-111.116 28.108 5576
+-110.99 28.108 5599
+-110.864 28.108 5606
+-110.738 28.108 5620
+-110.612 28.108 5659
+-110.486 28.108 5691
+-110.36 28.108 5695
+-110.234 28.108 5701
+-110.108 28.108 5694
+-109.982 28.108 5679
+-109.856 28.108 5645
+-109.73 28.108 5614
+-109.604 28.108 5597
+-109.478 28.108 5577
+-109.352 28.108 5533
+-109.226 28.108 5491
+-109.1 28.108 5445
+-108.974 28.108 5385
+-108.848 28.108 5328
+-108.722 28.108 5258
+-108.596 28.108 5230
+-108.47 28.108 5181
+-108.344 28.108 5126
+-108.218 28.108 5026
+-108.092 28.108 4942
+-107.966 28.108 4838
+-107.84 28.108 4726
+-107.714 28.108 4670
+-107.588 28.108 4568
+-107.462 28.108 4486
+-107.336 28.108 4419
+-107.21 28.108 4361
+-107.084 28.108 4289
+-106.958 28.108 4297
+-106.832 28.108 4268
+-106.706 28.108 4200
+-106.58 28.108 4142
+-106.454 28.108 4098
+-106.328 28.108 4029
+-106.202 28.108 3948
+-106.076 28.108 3904
+-105.95 28.108 3850
+-105.824 28.108 3813
+-105.698 28.108 3781
+-105.572 28.108 3751
+-105.446 28.108 3710
+-105.32 28.108 3683
+-105.194 28.108 3659
+-105.068 28.108 3599
+-104.942 28.108 3579
+-104.816 28.108 3552
+-104.69 28.108 3497
+-104.564 28.108 3463
+-104.438 28.108 3402
+-104.312 28.108 3396
+-104.186 28.108 3386
+-104.06 28.108 3386
+-103.934 28.108 3392
+-103.808 28.108 3397
+-103.682 28.108 3390
+-103.556 28.108 3400
+-103.43 28.108 3355
+-103.304 28.108 3360
+-103.178 28.108 3365
+-103.052 28.108 3369
+-102.926 28.108 3355
+-102.8 28.108 3360
+-102.674 28.108 3299
+-102.548 28.108 3291
+-102.422 28.108 3294
+-102.296 28.108 3297
+-102.17 28.108 3300
+-102.044 28.108 3303
+-101.918 28.108 3305
+-101.792 28.108 3272
+-101.666 28.108 3363
+-101.54 28.108 3263
+-101.414 28.108 3203
+-101.288 28.108 3204
+-101.162 28.108 3205
+-101.036 28.108 3206
+-100.91 28.108 3207
+-100.784 28.108 3207
+-100.658 28.108 3208
+-100.532 28.108 3209
+-100.406 28.108 3210
+-100.28 28.108 3217
+-100.154 28.108 3217
+-100.028 28.108 3218
+-99.902 28.108 3218
+-99.776 28.108 3219
+-99.65 28.108 3173
+-99.524 28.108 3139
+-99.398 28.108 3132
+-99.272 28.108 3134
+-99.146 28.108 3135
+-99.02 28.108 3104
+-98.894 28.108 3105
+-98.768 28.108 3106
+-98.642 28.108 3049
+-98.516 28.108 3049
+-98.39 28.108 3050
+-98.264 28.108 3051
+-98.138 28.108 2981
+-98.012 28.108 2883
+-97.886 28.108 2883
+-97.76 28.108 2883
+-97.634 28.108 2823
+-97.508 28.108 2626
+-97.382 28.108 2582
+-97.256 28.108 2496
+-97.13 28.108 2489
+-97.004 28.108 2424
+-96.878 28.108 2447
+-96.752 28.108 2443
+-96.626 28.108 2377
+-96.5 28.108 2314
+-96.374 28.108 2314
+-96.248 28.108 2358
+-96.122 28.108 2389
+-95.996 28.108 2493
+-95.87 28.108 2500
+-95.744 28.108 2529
+-95.618 28.108 2591
+-95.492 28.108 2753
+-95.366 28.108 2810
+-95.24 28.108 2811
+-95.114 28.108 3006
+-94.988 28.108 3025
+-94.862 28.108 3026
+-94.736 28.108 3042
+-94.61 28.108 3043
+-94.484 28.108 3065
+-94.358 28.108 3066
+-94.232 28.108 3067
+-94.106 28.108 3107
+-93.98 28.108 3354
+-93.854 28.108 3353
+-93.728 28.108 3352
+-93.602 28.108 3352
+-93.476 28.108 3351
+-93.35 28.108 3351
+-93.224 28.108 3350
+-93.098 28.108 3350
+-92.972 28.108 3349
+-92.846 28.108 3348
+-92.72 28.108 3380
+-92.594 28.108 3379
+-92.468 28.108 3378
+-92.342 28.108 3503
+-92.216 28.108 3503
+-92.09 28.108 3502
+-91.964 28.108 3502
+-91.838 28.108 3501
+-91.712 28.108 3501
+-91.586 28.108 3501
+-91.46 28.108 3541
+-91.334 28.108 3540
+-91.208 28.108 3540
+-91.082 28.108 3540
+-90.956 28.108 3540
+-90.83 28.108 3541
+-90.704 28.108 3542
+-90.578 28.108 3554
+-90.452 28.108 3556
+-90.326 28.108 3685
+-90.2 28.108 3690
+-90.074 28.108 3728
+-89.948 28.108 3768
+-89.822 28.108 3775
+-89.696 28.108 3784
+-89.57 28.108 3844
+-89.444 28.108 3855
+-89.318 28.108 3868
+-89.192 28.108 3893
+-89.066 28.108 3939
+-88.94 28.108 3951
+-88.814 28.108 3961
+-88.688 28.108 3971
+-88.562 28.108 4048
+-88.436 28.108 4080
+-88.31 28.108 4122
+-88.184 28.108 4111
+-88.058 28.108 4103
+-87.932 28.108 4111
+-87.806 28.108 4131
+-87.68 28.108 4159
+-87.554 28.108 4184
+-87.428 28.108 4183
+-87.302 28.108 4193
+-87.176 28.108 4290
+-87.05 28.108 4479
+-86.924 28.108 4661
+-86.798 28.108 4785
+-86.672 28.108 4766
+-86.546 28.108 4936
+-86.42 28.108 5185
+-86.294 28.108 5281
+-86.168 28.108 5397
+-86.042 28.108 5511
+-85.916 28.108 5683
+-85.79 28.108 5818
+-85.664 28.108 5922
+-85.538 28.108 6085
+-85.412 28.108 6192
+-85.286 28.108 6403
+-85.16 28.108 6613
+-85.034 28.108 6706
+-84.908 28.108 6836
+-84.782 28.108 6959
+-84.656 28.108 7020
+-84.53 28.108 7224
+-84.404 28.108 7388
+-84.278 28.108 7517
+-84.152 28.108 7629
+-84.026 28.108 7778
+-83.9 28.108 7959
+-83.774 28.108 8043
+-83.648 28.108 8196
+-83.522 28.108 8362
+-83.396 28.108 8535
+-83.27 28.108 8694
+-83.144 28.108 8752
+-83.018 28.108 8911
+-82.892 28.108 8998
+-82.766 28.108 9155
+-82.64 28.108 9309
+-82.514 28.108 9418
+-82.388 28.108 9482
+-82.262 28.108 9537
+-82.136 28.108 9511
+-82.01 28.108 9433
+-81.884 28.108 9372
+-81.758 28.108 9273
+-81.632 28.108 9151
+-81.506 28.108 8992
+-81.38 28.108 8908
+-81.254 28.108 8800
+-81.128 28.108 8629
+-81.002 28.108 8446
+-80.876 28.108 8318
+-80.75 28.108 8219
+-80.624 28.108 8112
+-80.498 28.108 7970
+-80.372 28.108 7776
+-80.246 28.108 7701
+-80.12 28.108 7528
+-79.994 28.108 7392
+-79.868 28.108 7280
+-79.742 28.108 7098
+-79.616 28.108 7003
+-79.49 28.108 6783
+-79.364 28.108 6733
+-79.238 28.108 6605
+-79.112 28.108 6379
+-78.986 28.108 6310
+-78.86 28.108 6108
+-78.734 28.108 5981
+-78.608 28.108 5917
+-78.482 28.108 5802
+-78.356 28.108 5591
+-78.23 28.108 5438
+-78.104 28.108 5310
+-77.978 28.108 5248
+-77.852 28.108 5163
+-77.726 28.108 5029
+-77.6 28.108 4912
+-77.474 28.108 4855
+-77.348 28.108 4828
+-77.222 28.108 4805
+-77.096 28.108 4728
+-76.97 28.108 4672
+-76.844 28.108 4606
+-76.718 28.108 4530
+-76.592 28.108 4378
+-76.466 28.108 4223
+-76.34 28.108 4134
+-76.214 28.108 4021
+-76.088 28.108 3948
+-75.962 28.108 3886
+-75.836 28.108 3795
+-75.71 28.108 3762
+-75.584 28.108 3704
+-75.458 28.108 3584
+-75.332 28.108 3563
+-75.206 28.108 3547
+-75.08 28.108 3535
+-74.954 28.108 3527
+-74.828 28.108 3401
+-74.702 28.108 3402
+-74.576 28.108 3383
+-74.45 28.108 3385
+-74.324 28.108 3389
+-74.198 28.108 3393
+-74.072 28.108 3317
+-73.946 28.108 3251
+-73.82 28.108 3244
+-73.694 28.108 3247
+-73.568 28.108 3218
+-73.442 28.108 3220
+-73.316 28.108 3223
+-73.19 28.108 3226
+-73.064 28.108 3228
+-72.938 28.108 3231
+-72.812 28.108 3233
+-72.686 28.108 3235
+-72.56 28.108 3237
+-72.434 28.108 3239
+-72.308 28.108 3241
+-72.182 28.108 3243
+-72.056 28.108 3245
+-71.93 28.108 3247
+-71.804 28.108 3248
+-71.678 28.108 3200
+-71.552 28.108 3202
+-71.426 28.108 3203
+-71.3 28.108 3204
+-71.174 28.108 3205
+-71.048 28.108 3206
+-70.922 28.108 3207
+-70.796 28.108 3208
+-70.67 28.108 3209
+-70.544 28.108 3210
+-70.418 28.108 3211
+-70.292 28.108 3212
+-70.166 28.108 3213
+-70.04 28.108 3213
+-69.914 28.108 3214
+-69.788 28.108 3106
+-69.662 28.108 3106
+-69.536 28.108 3105
+-69.41 28.108 3105
+-69.284 28.108 3105
+-69.158 28.108 3105
+-69.032 28.108 3024
+-68.906 28.108 3023
+-68.78 28.108 3021
+-68.654 28.108 3020
+-68.528 28.108 3019
+-68.402 28.108 3018
+-68.276 28.108 3016
+-68.15 28.108 3015
+-68.024 28.108 3014
+-67.898 28.108 3013
+-67.772 28.108 3012
+-67.646 28.108 3011
+-67.52 28.108 3010
+-67.394 28.108 3009
+-67.268 28.108 3008
+-67.142 28.108 3007
+-67.016 28.108 3006
+-66.89 28.108 3005
+-66.764 28.108 3004
+-66.638 28.108 3004
+-66.512 28.108 3003
+-66.386 28.108 3002
+-66.26 28.108 3001
+-66.134 28.108 3000
+-66.008 28.108 3000
+-65.882 28.108 2999
+-65.756 28.108 2998
+-65.63 28.108 2998
+-65.504 28.108 2997
+-65.378 28.108 2996
+-65.252 28.108 2996
+-65.126 28.108 2995
+-128 28.056 2716
+-127.874 28.056 2712
+-127.748 28.056 2723
+-127.622 28.056 2715
+-127.496 28.056 2713
+-127.37 28.056 2711
+-127.244 28.056 2711
+-127.118 28.056 2710
+-126.992 28.056 2710
+-126.866 28.056 2710
+-126.74 28.056 2715
+-126.614 28.056 2727
+-126.488 28.056 2785
+-126.362 28.056 2740
+-126.236 28.056 2745
+-126.11 28.056 2789
+-125.984 28.056 2795
+-125.858 28.056 2821
+-125.732 28.056 2865
+-125.606 28.056 2874
+-125.48 28.056 2883
+-125.354 28.056 2893
+-125.228 28.056 2904
+-125.102 28.056 2896
+-124.976 28.056 2903
+-124.85 28.056 2941
+-124.724 28.056 2956
+-124.598 28.056 3000
+-124.472 28.056 3015
+-124.346 28.056 3002
+-124.22 28.056 3006
+-124.094 28.056 3031
+-123.968 28.056 3047
+-123.842 28.056 3063
+-123.716 28.056 3049
+-123.59 28.056 3385
+-123.464 28.056 3384
+-123.338 28.056 3381
+-123.212 28.056 3362
+-123.086 28.056 3359
+-122.96 28.056 3345
+-122.834 28.056 3367
+-122.708 28.056 3363
+-122.582 28.056 3402
+-122.456 28.056 3394
+-122.33 28.056 3365
+-122.204 28.056 3367
+-122.078 28.056 3375
+-121.952 28.056 3363
+-121.826 28.056 3363
+-121.7 28.056 3340
+-121.574 28.056 3325
+-121.448 28.056 3283
+-121.322 28.056 3233
+-121.196 28.056 3170
+-121.07 28.056 3117
+-120.944 28.056 3105
+-120.818 28.056 3178
+-120.692 28.056 3282
+-120.566 28.056 3341
+-120.44 28.056 3342
+-120.314 28.056 3339
+-120.188 28.056 3352
+-120.062 28.056 3415
+-119.936 28.056 3501
+-119.81 28.056 3591
+-119.684 28.056 3639
+-119.558 28.056 3714
+-119.432 28.056 3825
+-119.306 28.056 3902
+-119.18 28.056 3970
+-119.054 28.056 4003
+-118.928 28.056 4023
+-118.802 28.056 4043
+-118.676 28.056 4086
+-118.55 28.056 4118
+-118.424 28.056 4145
+-118.298 28.056 4190
+-118.172 28.056 4226
+-118.046 28.056 4264
+-117.92 28.056 4285
+-117.794 28.056 4301
+-117.668 28.056 4310
+-117.542 28.056 4332
+-117.416 28.056 4356
+-117.29 28.056 4362
+-117.164 28.056 4360
+-117.038 28.056 4361
+-116.912 28.056 4365
+-116.786 28.056 4374
+-116.66 28.056 4371
+-116.534 28.056 4379
+-116.408 28.056 4369
+-116.282 28.056 4363
+-116.156 28.056 4341
+-116.03 28.056 4310
+-115.904 28.056 4267
+-115.778 28.056 4214
+-115.652 28.056 4172
+-115.526 28.056 4129
+-115.4 28.056 4126
+-115.274 28.056 4121
+-115.148 28.056 4089
+-115.022 28.056 4034
+-114.896 28.056 3997
+-114.77 28.056 3956
+-114.644 28.056 3908
+-114.518 28.056 3883
+-114.392 28.056 3880
+-114.266 28.056 3950
+-114.14 28.056 4053
+-114.014 28.056 4148
+-113.888 28.056 4266
+-113.762 28.056 4301
+-113.636 28.056 4258
+-113.51 28.056 4376
+-113.384 28.056 4481
+-113.258 28.056 4584
+-113.132 28.056 4663
+-113.006 28.056 4743
+-112.88 28.056 4848
+-112.754 28.056 4943
+-112.628 28.056 4988
+-112.502 28.056 5039
+-112.376 28.056 5087
+-112.25 28.056 5156
+-112.124 28.056 5183
+-111.998 28.056 5270
+-111.872 28.056 5289
+-111.746 28.056 5339
+-111.62 28.056 5417
+-111.494 28.056 5452
+-111.368 28.056 5451
+-111.242 28.056 5512
+-111.116 28.056 5525
+-110.99 28.056 5567
+-110.864 28.056 5612
+-110.738 28.056 5596
+-110.612 28.056 5591
+-110.486 28.056 5610
+-110.36 28.056 5613
+-110.234 28.056 5618
+-110.108 28.056 5619
+-109.982 28.056 5606
+-109.856 28.056 5574
+-109.73 28.056 5545
+-109.604 28.056 5524
+-109.478 28.056 5506
+-109.352 28.056 5464
+-109.226 28.056 5419
+-109.1 28.056 5393
+-108.974 28.056 5327
+-108.848 28.056 5275
+-108.722 28.056 5216
+-108.596 28.056 5161
+-108.47 28.056 5134
+-108.344 28.056 5082
+-108.218 28.056 4941
+-108.092 28.056 4855
+-107.966 28.056 4741
+-107.84 28.056 4660
+-107.714 28.056 4606
+-107.588 28.056 4533
+-107.462 28.056 4439
+-107.336 28.056 4386
+-107.21 28.056 4363
+-107.084 28.056 4320
+-106.958 28.056 4315
+-106.832 28.056 4297
+-106.706 28.056 4256
+-106.58 28.056 4168
+-106.454 28.056 4117
+-106.328 28.056 4072
+-106.202 28.056 4005
+-106.076 28.056 3921
+-105.95 28.056 3877
+-105.824 28.056 3821
+-105.698 28.056 3780
+-105.572 28.056 3747
+-105.446 28.056 3718
+-105.32 28.056 3654
+-105.194 28.056 3618
+-105.068 28.056 3600
+-104.942 28.056 3584
+-104.816 28.056 3572
+-104.69 28.056 3510
+-104.564 28.056 3445
+-104.438 28.056 3437
+-104.312 28.056 3404
+-104.186 28.056 3400
+-104.06 28.056 3391
+-103.934 28.056 3348
+-103.808 28.056 3351
+-103.682 28.056 3354
+-103.556 28.056 3360
+-103.43 28.056 3351
+-103.304 28.056 3355
+-103.178 28.056 3359
+-103.052 28.056 3364
+-102.926 28.056 3368
+-102.8 28.056 3353
+-102.674 28.056 3358
+-102.548 28.056 3296
+-102.422 28.056 3289
+-102.296 28.056 3292
+-102.17 28.056 3294
+-102.044 28.056 3297
+-101.918 28.056 3300
+-101.792 28.056 3303
+-101.666 28.056 3269
+-101.54 28.056 3295
+-101.414 28.056 3262
+-101.288 28.056 3200
+-101.162 28.056 3201
+-101.036 28.056 3202
+-100.91 28.056 3203
+-100.784 28.056 3204
+-100.658 28.056 3205
+-100.532 28.056 3206
+-100.406 28.056 3207
+-100.28 28.056 3207
+-100.154 28.056 3217
+-100.028 28.056 3217
+-99.902 28.056 3218
+-99.776 28.056 3218
+-99.65 28.056 3219
+-99.524 28.056 3173
+-99.398 28.056 3139
+-99.272 28.056 3132
+-99.146 28.056 3134
+-99.02 28.056 3136
+-98.894 28.056 3104
+-98.768 28.056 3105
+-98.642 28.056 3107
+-98.516 28.056 3049
+-98.39 28.056 3050
+-98.264 28.056 3050
+-98.138 28.056 3051
+-98.012 28.056 2981
+-97.886 28.056 2882
+-97.76 28.056 2882
+-97.634 28.056 2822
+-97.508 28.056 2821
+-97.382 28.056 2535
+-97.256 28.056 2498
+-97.13 28.056 2491
+-97.004 28.056 2426
+-96.878 28.056 2449
+-96.752 28.056 2446
+-96.626 28.056 2380
+-96.5 28.056 2318
+-96.374 28.056 2317
+-96.248 28.056 2363
+-96.122 28.056 2394
+-95.996 28.056 2500
+-95.87 28.056 2507
+-95.744 28.056 2675
+-95.618 28.056 2754
+-95.492 28.056 2757
+-95.366 28.056 2814
+-95.24 28.056 3008
+-95.114 28.056 3027
+-94.988 28.056 3028
+-94.862 28.056 3043
+-94.736 28.056 3044
+-94.61 28.056 3066
+-94.484 28.056 3067
+-94.358 28.056 3068
+-94.232 28.056 3107
+-94.106 28.056 3354
+-93.98 28.056 3354
+-93.854 28.056 3353
+-93.728 28.056 3353
+-93.602 28.056 3352
+-93.476 28.056 3351
+-93.35 28.056 3350
+-93.224 28.056 3350
+-93.098 28.056 3349
+-92.972 28.056 3348
+-92.846 28.056 3382
+-92.72 28.056 3380
+-92.594 28.056 3379
+-92.468 28.056 3508
+-92.342 28.056 3507
+-92.216 28.056 3506
+-92.09 28.056 3505
+-91.964 28.056 3504
+-91.838 28.056 3503
+-91.712 28.056 3547
+-91.586 28.056 3546
+-91.46 28.056 3544
+-91.334 28.056 3543
+-91.208 28.056 3541
+-91.082 28.056 3540
+-90.956 28.056 3540
+-90.83 28.056 3540
+-90.704 28.056 3540
+-90.578 28.056 3542
+-90.452 28.056 3544
+-90.326 28.056 3670
+-90.2 28.056 3698
+-90.074 28.056 3703
+-89.948 28.056 3749
+-89.822 28.056 3757
+-89.696 28.056 3765
+-89.57 28.056 3776
+-89.444 28.056 3839
+-89.318 28.056 3853
+-89.192 28.056 3867
+-89.066 28.056 3882
+-88.94 28.056 3942
+-88.814 28.056 3955
+-88.688 28.056 3968
+-88.562 28.056 4032
+-88.436 28.056 4065
+-88.31 28.056 4126
+-88.184 28.056 4140
+-88.058 28.056 4140
+-87.932 28.056 4155
+-87.806 28.056 4182
+-87.68 28.056 4208
+-87.554 28.056 4229
+-87.428 28.056 4233
+-87.302 28.056 4250
+-87.176 28.056 4296
+-87.05 28.056 4436
+-86.924 28.056 4641
+-86.798 28.056 4786
+-86.672 28.056 4793
+-86.546 28.056 4938
+-86.42 28.056 5189
+-86.294 28.056 5218
+-86.168 28.056 5381
+-86.042 28.056 5491
+-85.916 28.056 5637
+-85.79 28.056 5819
+-85.664 28.056 5954
+-85.538 28.056 6091
+-85.412 28.056 6241
+-85.286 28.056 6446
+-85.16 28.056 6595
+-85.034 28.056 6625
+-84.908 28.056 6833
+-84.782 28.056 6997
+-84.656 28.056 7138
+-84.53 28.056 7239
+-84.404 28.056 7425
+-84.278 28.056 7527
+-84.152 28.056 7635
+-84.026 28.056 7796
+-83.9 28.056 7982
+-83.774 28.056 8078
+-83.648 28.056 8188
+-83.522 28.056 8307
+-83.396 28.056 8572
+-83.27 28.056 8593
+-83.144 28.056 8725
+-83.018 28.056 8913
+-82.892 28.056 9063
+-82.766 28.056 9226
+-82.64 28.056 9315
+-82.514 28.056 9379
+-82.388 28.056 9494
+-82.262 28.056 9555
+-82.136 28.056 9592
+-82.01 28.056 9491
+-81.884 28.056 9383
+-81.758 28.056 9363
+-81.632 28.056 9150
+-81.506 28.056 9084
+-81.38 28.056 8866
+-81.254 28.056 8792
+-81.128 28.056 8679
+-81.002 28.056 8474
+-80.876 28.056 8317
+-80.75 28.056 8219
+-80.624 28.056 8065
+-80.498 28.056 7966
+-80.372 28.056 7845
+-80.246 28.056 7628
+-80.12 28.056 7465
+-79.994 28.056 7410
+-79.868 28.056 7258
+-79.742 28.056 7064
+-79.616 28.056 6986
+-79.49 28.056 6848
+-79.364 28.056 6685
+-79.238 28.056 6594
+-79.112 28.056 6384
+-78.986 28.056 6205
+-78.86 28.056 6054
+-78.734 28.056 5902
+-78.608 28.056 5905
+-78.482 28.056 5766
+-78.356 28.056 5595
+-78.23 28.056 5399
+-78.104 28.056 5284
+-77.978 28.056 5217
+-77.852 28.056 5146
+-77.726 28.056 5005
+-77.6 28.056 4839
+-77.474 28.056 4841
+-77.348 28.056 4848
+-77.222 28.056 4817
+-77.096 28.056 4766
+-76.97 28.056 4656
+-76.844 28.056 4584
+-76.718 28.056 4414
+-76.592 28.056 4320
+-76.466 28.056 4180
+-76.34 28.056 4064
+-76.214 28.056 3972
+-76.088 28.056 3906
+-75.962 28.056 3832
+-75.836 28.056 3746
+-75.71 28.056 3709
+-75.584 28.056 3637
+-75.458 28.056 3581
+-75.332 28.056 3514
+-75.206 28.056 3500
+-75.08 28.056 3491
+-74.954 28.056 3486
+-74.828 28.056 3369
+-74.702 28.056 3343
+-74.576 28.056 3348
+-74.45 28.056 3353
+-74.324 28.056 3358
+-74.198 28.056 3326
+-74.072 28.056 3266
+-73.946 28.056 3271
+-73.82 28.056 3247
+-73.694 28.056 3236
+-73.568 28.056 3240
+-73.442 28.056 3210
+-73.316 28.056 3214
+-73.19 28.056 3217
+-73.064 28.056 3220
+-72.938 28.056 3223
+-72.812 28.056 3226
+-72.686 28.056 3228
+-72.56 28.056 3231
+-72.434 28.056 3233
+-72.308 28.056 3236
+-72.182 28.056 3238
+-72.056 28.056 3240
+-71.93 28.056 3242
+-71.804 28.056 3244
+-71.678 28.056 3246
+-71.552 28.056 3198
+-71.426 28.056 3200
+-71.3 28.056 3201
+-71.174 28.056 3202
+-71.048 28.056 3204
+-70.922 28.056 3205
+-70.796 28.056 3206
+-70.67 28.056 3207
+-70.544 28.056 3208
+-70.418 28.056 3209
+-70.292 28.056 3210
+-70.166 28.056 3211
+-70.04 28.056 3212
+-69.914 28.056 3212
+-69.788 28.056 3213
+-69.662 28.056 3105
+-69.536 28.056 3105
+-69.41 28.056 3105
+-69.284 28.056 3105
+-69.158 28.056 3023
+-69.032 28.056 3022
+-68.906 28.056 3020
+-68.78 28.056 3019
+-68.654 28.056 3018
+-68.528 28.056 3017
+-68.402 28.056 3016
+-68.276 28.056 3014
+-68.15 28.056 3013
+-68.024 28.056 3012
+-67.898 28.056 3011
+-67.772 28.056 3010
+-67.646 28.056 3009
+-67.52 28.056 3008
+-67.394 28.056 3007
+-67.268 28.056 3006
+-67.142 28.056 3005
+-67.016 28.056 3004
+-66.89 28.056 3004
+-66.764 28.056 3003
+-66.638 28.056 3002
+-66.512 28.056 3001
+-66.386 28.056 3000
+-66.26 28.056 3000
+-66.134 28.056 2999
+-66.008 28.056 2998
+-65.882 28.056 2997
+-65.756 28.056 2997
+-65.63 28.056 2996
+-65.504 28.056 2996
+-65.378 28.056 2995
+-65.252 28.056 2994
+-65.126 28.056 2994
+-128 28.004 2726
+-127.874 28.004 2736
+-127.748 28.004 2728
+-127.622 28.004 2726
+-127.496 28.004 2725
+-127.37 28.004 2724
+-127.244 28.004 2723
+-127.118 28.004 2723
+-126.992 28.004 2723
+-126.866 28.004 2728
+-126.74 28.004 2739
+-126.614 28.004 2798
+-126.488 28.004 2751
+-126.362 28.004 2755
+-126.236 28.004 2799
+-126.11 28.004 2804
+-125.984 28.004 2830
+-125.858 28.004 2873
+-125.732 28.004 2881
+-125.606 28.004 2889
+-125.48 28.004 2898
+-125.354 28.004 2908
+-125.228 28.004 2899
+-125.102 28.004 2904
+-124.976 28.004 2941
+-124.85 28.004 2954
+-124.724 28.004 2997
+-124.598 28.004 3011
+-124.472 28.004 2997
+-124.346 28.004 3000
+-124.22 28.004 3024
+-124.094 28.004 3039
+-123.968 28.004 3055
+-123.842 28.004 3040
+-123.716 28.004 3386
+-123.59 28.004 3384
+-123.464 28.004 3382
+-123.338 28.004 3363
+-123.212 28.004 3360
+-123.086 28.004 3346
+-122.96 28.004 3368
+-122.834 28.004 3364
+-122.708 28.004 3405
+-122.582 28.004 3398
+-122.456 28.004 3368
+-122.33 28.004 3371
+-122.204 28.004 3382
+-122.078 28.004 3370
+-121.952 28.004 3371
+-121.826 28.004 3350
+-121.7 28.004 3338
+-121.574 28.004 3298
+-121.448 28.004 3247
+-121.322 28.004 3174
+-121.196 28.004 3077
+-121.07 28.004 2950
+-120.944 28.004 2886
+-120.818 28.004 3005
+-120.692 28.004 3199
+-120.566 28.004 3302
+-120.44 28.004 3305
+-120.314 28.004 3248
+-120.188 28.004 3361
+-120.062 28.004 3412
+-119.936 28.004 3466
+-119.81 28.004 3574
+-119.684 28.004 3597
+-119.558 28.004 3647
+-119.432 28.004 3756
+-119.306 28.004 3839
+-119.18 28.004 3904
+-119.054 28.004 3934
+-118.928 28.004 3960
+-118.802 28.004 4010
+-118.676 28.004 4042
+-118.55 28.004 4086
+-118.424 28.004 4104
+-118.298 28.004 4144
+-118.172 28.004 4186
+-118.046 28.004 4222
+-117.92 28.004 4245
+-117.794 28.004 4264
+-117.668 28.004 4284
+-117.542 28.004 4286
+-117.416 28.004 4298
+-117.29 28.004 4312
+-117.164 28.004 4311
+-117.038 28.004 4305
+-116.912 28.004 4291
+-116.786 28.004 4284
+-116.66 28.004 4281
+-116.534 28.004 4283
+-116.408 28.004 4281
+-116.282 28.004 4258
+-116.156 28.004 4246
+-116.03 28.004 4227
+-115.904 28.004 4196
+-115.778 28.004 4161
+-115.652 28.004 4118
+-115.526 28.004 4094
+-115.4 28.004 4096
+-115.274 28.004 4078
+-115.148 28.004 4027
+-115.022 28.004 3975
+-114.896 28.004 3940
+-114.77 28.004 3906
+-114.644 28.004 3849
+-114.518 28.004 3779
+-114.392 28.004 3729
+-114.266 28.004 3818
+-114.14 28.004 3974
+-114.014 28.004 4089
+-113.888 28.004 4192
+-113.762 28.004 4280
+-113.636 28.004 4329
+-113.51 28.004 4397
+-113.384 28.004 4411
+-113.258 28.004 4517
+-113.132 28.004 4639
+-113.006 28.004 4723
+-112.88 28.004 4810
+-112.754 28.004 4894
+-112.628 28.004 4970
+-112.502 28.004 5019
+-112.376 28.004 5039
+-112.25 28.004 5105
+-112.124 28.004 5158
+-111.998 28.004 5241
+-111.872 28.004 5290
+-111.746 28.004 5304
+-111.62 28.004 5340
+-111.494 28.004 5380
+-111.368 28.004 5425
+-111.242 28.004 5459
+-111.116 28.004 5465
+-110.99 28.004 5503
+-110.864 28.004 5537
+-110.738 28.004 5540
+-110.612 28.004 5534
+-110.486 28.004 5527
+-110.36 28.004 5515
+-110.234 28.004 5525
+-110.108 28.004 5539
+-109.982 28.004 5527
+-109.856 28.004 5508
+-109.73 28.004 5485
+-109.604 28.004 5450
+-109.478 28.004 5447
+-109.352 28.004 5450
+-109.226 28.004 5413
+-109.1 28.004 5356
+-108.974 28.004 5300
+-108.848 28.004 5249
+-108.722 28.004 5190
+-108.596 28.004 5151
+-108.47 28.004 5071
+-108.344 28.004 4979
+-108.218 28.004 4887
+-108.092 28.004 4778
+-107.966 28.004 4698
+-107.84 28.004 4632
+-107.714 28.004 4576
+-107.588 28.004 4514
+-107.462 28.004 4430
+-107.336 28.004 4364
+-107.21 28.004 4305
+-107.084 28.004 4299
+-106.958 28.004 4307
+-106.832 28.004 4295
+-106.706 28.004 4259
+-106.58 28.004 4208
+-106.454 28.004 4125
+-106.328 28.004 4084
+-106.202 28.004 4039
+-106.076 28.004 3958
+-105.95 28.004 3873
+-105.824 28.004 3826
+-105.698 28.004 3767
+-105.572 28.004 3727
+-105.446 28.004 3657
+-105.32 28.004 3633
+-105.194 28.004 3615
+-105.068 28.004 3588
+-104.942 28.004 3578
+-104.816 28.004 3500
+-104.69 28.004 3491
+-104.564 28.004 3443
+-104.438 28.004 3438
+-104.312 28.004 3433
+-104.186 28.004 3402
+-104.06 28.004 3348
+-103.934 28.004 3347
+-103.808 28.004 3347
+-103.682 28.004 3349
+-103.556 28.004 3352
+-103.43 28.004 3359
+-103.304 28.004 3349
+-103.178 28.004 3353
+-103.052 28.004 3358
+-102.926 28.004 3362
+-102.8 28.004 3366
+-102.674 28.004 3351
+-102.548 28.004 3356
+-102.422 28.004 3293
+-102.296 28.004 3285
+-102.17 28.004 3288
+-102.044 28.004 3291
+-101.918 28.004 3294
+-101.792 28.004 3297
+-101.666 28.004 3300
+-101.54 28.004 3266
+-101.414 28.004 3292
+-101.288 28.004 3193
+-101.162 28.004 3197
+-101.036 28.004 3198
+-100.91 28.004 3199
+-100.784 28.004 3200
+-100.658 28.004 3201
+-100.532 28.004 3202
+-100.406 28.004 3203
+-100.28 28.004 3204
+-100.154 28.004 3205
+-100.028 28.004 3135
+-99.902 28.004 3135
+-99.776 28.004 3135
+-99.65 28.004 3135
+-99.524 28.004 3135
+-99.398 28.004 3173
+-99.272 28.004 3140
+-99.146 28.004 3133
+-99.02 28.004 3135
+-98.894 28.004 3136
+-98.768 28.004 3104
+-98.642 28.004 3106
+-98.516 28.004 3107
+-98.39 28.004 3049
+-98.264 28.004 3050
+-98.138 28.004 3051
+-98.012 28.004 3051
+-97.886 28.004 2981
+-97.76 28.004 2824
+-97.634 28.004 2822
+-97.508 28.004 2821
+-97.382 28.004 2725
+-97.256 28.004 2688
+-97.13 28.004 2434
+-97.004 28.004 2428
+-96.878 28.004 2451
+-96.752 28.004 2449
+-96.626 28.004 2383
+-96.5 28.004 2381
+-96.374 28.004 2321
+-96.248 28.004 2367
+-96.122 28.004 2399
+-95.996 28.004 2508
+-95.87 28.004 2670
+-95.744 28.004 2679
+-95.618 28.004 2758
+-95.492 28.004 2762
+-95.366 28.004 2978
+-95.24 28.004 3028
+-95.114 28.004 3051
+-94.988 28.004 3052
+-94.862 28.004 3053
+-94.736 28.004 3067
+-94.61 28.004 3068
+-94.484 28.004 3069
+-94.358 28.004 3108
+-94.232 28.004 3355
+-94.106 28.004 3355
+-93.98 28.004 3354
+-93.854 28.004 3353
+-93.728 28.004 3352
+-93.602 28.004 3352
+-93.476 28.004 3351
+-93.35 28.004 3350
+-93.224 28.004 3349
+-93.098 28.004 3348
+-92.972 28.004 3381
+-92.846 28.004 3380
+-92.72 28.004 3378
+-92.594 28.004 3376
+-92.468 28.004 3375
+-92.342 28.004 3504
+-92.216 28.004 3503
+-92.09 28.004 3502
+-91.964 28.004 3500
+-91.838 28.004 3543
+-91.712 28.004 3541
+-91.586 28.004 3538
+-91.46 28.004 3536
+-91.334 28.004 3534
+-91.208 28.004 3532
+-91.082 28.004 3530
+-90.956 28.004 3529
+-90.83 28.004 3528
+-90.704 28.004 3527
+-90.578 28.004 3528
+-90.452 28.004 3673
+-90.326 28.004 3675
+-90.2 28.004 3677
+-90.074 28.004 3681
+-89.948 28.004 3686
+-89.822 28.004 3734
+-89.696 28.004 3743
+-89.57 28.004 3753
+-89.444 28.004 3765
+-89.318 28.004 3832
+-89.192 28.004 3848
+-89.066 28.004 3865
+-88.94 28.004 3883
+-88.814 28.004 3944
+-88.688 28.004 4014
+-88.562 28.004 4024
+-88.436 28.004 4035
+-88.31 28.004 4076
+-88.184 28.004 4150
+-88.058 28.004 4166
+-87.932 28.004 4205
+-87.806 28.004 4226
+-87.68 28.004 4243
+-87.554 28.004 4249
+-87.428 28.004 4216
+-87.302 28.004 4193
+-87.176 28.004 4183
+-87.05 28.004 4367
+-86.924 28.004 4638
+-86.798 28.004 4797
+-86.672 28.004 4862
+-86.546 28.004 5001
+-86.42 28.004 5202
+-86.294 28.004 5316
+-86.168 28.004 5439
+-86.042 28.004 5528
+-85.916 28.004 5683
+-85.79 28.004 5841
+-85.664 28.004 5976
+-85.538 28.004 6051
+-85.412 28.004 6257
+-85.286 28.004 6413
+-85.16 28.004 6569
+-85.034 28.004 6731
+-84.908 28.004 6892
+-84.782 28.004 6964
+-84.656 28.004 7125
+-84.53 28.004 7208
+-84.404 28.004 7391
+-84.278 28.004 7590
+-84.152 28.004 7664
+-84.026 28.004 7766
+-83.9 28.004 7975
+-83.774 28.004 8099
+-83.648 28.004 8273
+-83.522 28.004 8410
+-83.396 28.004 8482
+-83.27 28.004 8662
+-83.144 28.004 8808
+-83.018 28.004 8991
+-82.892 28.004 9073
+-82.766 28.004 9197
+-82.64 28.004 9322
+-82.514 28.004 9429
+-82.388 28.004 9537
+-82.262 28.004 9666
+-82.136 28.004 9617
+-82.01 28.004 9547
+-81.884 28.004 9458
+-81.758 28.004 9388
+-81.632 28.004 9207
+-81.506 28.004 9082
+-81.38 28.004 8947
+-81.254 28.004 8815
+-81.128 28.004 8704
+-81.002 28.004 8513
+-80.876 28.004 8346
+-80.75 28.004 8233
+-80.624 28.004 8047
+-80.498 28.004 7945
+-80.372 28.004 7794
+-80.246 28.004 7650
+-80.12 28.004 7495
+-79.994 28.004 7392
+-79.868 28.004 7297
+-79.742 28.004 7121
+-79.616 28.004 7032
+-79.49 28.004 6753
+-79.364 28.004 6706
+-79.238 28.004 6485
+-79.112 28.004 6366
+-78.986 28.004 6170
+-78.86 28.004 6051
+-78.734 28.004 5901
+-78.608 28.004 5870
+-78.482 28.004 5717
+-78.356 28.004 5593
+-78.23 28.004 5406
+-78.104 28.004 5274
+-77.978 28.004 5140
+-77.852 28.004 5139
+-77.726 28.004 4935
+-77.6 28.004 4662
+-77.474 28.004 4803
+-77.348 28.004 4857
+-77.222 28.004 4814
+-77.096 28.004 4724
+-76.97 28.004 4578
+-76.844 28.004 4422
+-76.718 28.004 4336
+-76.592 28.004 4211
+-76.466 28.004 4154
+-76.34 28.004 4046
+-76.214 28.004 3964
+-76.088 28.004 3860
+-75.962 28.004 3753
+-75.836 28.004 3660
+-75.71 28.004 3602
+-75.584 28.004 3568
+-75.458 28.004 3542
+-75.332 28.004 3498
+-75.206 28.004 3436
+-75.08 28.004 3431
+-74.954 28.004 3432
+-74.828 28.004 3318
+-74.702 28.004 3326
+-74.576 28.004 3334
+-74.45 28.004 3343
+-74.324 28.004 3300
+-74.198 28.004 3244
+-74.072 28.004 3251
+-73.946 28.004 3258
+-73.82 28.004 3264
+-73.694 28.004 3240
+-73.568 28.004 3229
+-73.442 28.004 3234
+-73.316 28.004 3204
+-73.19 28.004 3208
+-73.064 28.004 3212
+-72.938 28.004 3216
+-72.812 28.004 3219
+-72.686 28.004 3222
+-72.56 28.004 3225
+-72.434 28.004 3228
+-72.308 28.004 3230
+-72.182 28.004 3233
+-72.056 28.004 3235
+-71.93 28.004 3237
+-71.804 28.004 3239
+-71.678 28.004 3242
+-71.552 28.004 3243
+-71.426 28.004 3197
+-71.3 28.004 3198
+-71.174 28.004 3200
+-71.048 28.004 3201
+-70.922 28.004 3202
+-70.796 28.004 3203
+-70.67 28.004 3205
+-70.544 28.004 3206
+-70.418 28.004 3207
+-70.292 28.004 3208
+-70.166 28.004 3209
+-70.04 28.004 3210
+-69.914 28.004 3211
+-69.788 28.004 3212
+-69.662 28.004 3212
+-69.536 28.004 3105
+-69.41 28.004 3105
+-69.284 28.004 3022
+-69.158 28.004 3021
+-69.032 28.004 3020
+-68.906 28.004 3018
+-68.78 28.004 3017
+-68.654 28.004 3016
+-68.528 28.004 3015
+-68.402 28.004 3014
+-68.276 28.004 3012
+-68.15 28.004 3011
+-68.024 28.004 3010
+-67.898 28.004 3009
+-67.772 28.004 3008
+-67.646 28.004 3007
+-67.52 28.004 3006
+-67.394 28.004 3005
+-67.268 28.004 3004
+-67.142 28.004 3004
+-67.016 28.004 3003
+-66.89 28.004 3002
+-66.764 28.004 3001
+-66.638 28.004 3000
+-66.512 28.004 2999
+-66.386 28.004 2999
+-66.26 28.004 2998
+-66.134 28.004 2997
+-66.008 28.004 2997
+-65.882 28.004 2996
+-65.756 28.004 2995
+-65.63 28.004 2995
+-65.504 28.004 2994
+-65.378 28.004 2993
+-65.252 28.004 2993
+-65.126 28.004 2992
+-128 27.952 2749
+-127.874 27.952 2739
+-127.748 27.952 2738
+-127.622 27.952 2737
+-127.496 27.952 2736
+-127.37 27.952 2735
+-127.244 27.952 2735
+-127.118 27.952 2735
+-126.992 27.952 2739
+-126.866 27.952 2750
+-126.74 27.952 2810
+-126.614 27.952 2761
+-126.488 27.952 2765
+-126.362 27.952 2809
+-126.236 27.952 2814
+-126.11 27.952 2838
+-125.984 27.952 2881
+-125.858 27.952 2888
+-125.732 27.952 2896
+-125.606 27.952 2904
+-125.48 27.952 2912
+-125.354 27.952 2901
+-125.228 27.952 2905
+-125.102 27.952 2941
+-124.976 27.952 2953
+-124.85 27.952 2996
+-124.724 27.952 3009
+-124.598 27.952 2993
+-124.472 27.952 2995
+-124.346 27.952 3018
+-124.22 27.952 3033
+-124.094 27.952 3047
+-123.968 27.952 3031
+-123.842 27.952 3388
+-123.716 27.952 3385
+-123.59 27.952 3383
+-123.464 27.952 3364
+-123.338 27.952 3361
+-123.212 27.952 3347
+-123.086 27.952 3370
+-122.96 27.952 3366
+-122.834 27.952 3409
+-122.708 27.952 3402
+-122.582 27.952 3372
+-122.456 27.952 3377
+-122.33 27.952 3389
+-122.204 27.952 3378
+-122.078 27.952 3382
+-121.952 27.952 3364
+-121.826 27.952 3358
+-121.7 27.952 3323
+-121.574 27.952 3283
+-121.448 27.952 3225
+-121.322 27.952 3150
+-121.196 27.952 3024
+-121.07 27.952 2863
+-120.944 27.952 2762
+-120.818 27.952 2898
+-120.692 27.952 3143
+-120.566 27.952 3287
+-120.44 27.952 3320
+-120.314 27.952 3321
+-120.188 27.952 3380
+-120.062 27.952 3427
+-119.936 27.952 3480
+-119.81 27.952 3562
+-119.684 27.952 3609
+-119.558 27.952 3647
+-119.432 27.952 3719
+-119.306 27.952 3794
+-119.18 27.952 3868
+-119.054 27.952 3891
+-118.928 27.952 3871
+-118.802 27.952 3959
+-118.676 27.952 4017
+-118.55 27.952 4058
+-118.424 27.952 4082
+-118.298 27.952 4116
+-118.172 27.952 4165
+-118.046 27.952 4202
+-117.92 27.952 4230
+-117.794 27.952 4228
+-117.668 27.952 4269
+-117.542 27.952 4282
+-117.416 27.952 4279
+-117.29 27.952 4289
+-117.164 27.952 4310
+-117.038 27.952 4280
+-116.912 27.952 4255
+-116.786 27.952 4249
+-116.66 27.952 4239
+-116.534 27.952 4219
+-116.408 27.952 4204
+-116.282 27.952 4189
+-116.156 27.952 4191
+-116.03 27.952 4169
+-115.904 27.952 4134
+-115.778 27.952 4118
+-115.652 27.952 4090
+-115.526 27.952 4078
+-115.4 27.952 4065
+-115.274 27.952 4019
+-115.148 27.952 3949
+-115.022 27.952 3899
+-114.896 27.952 3850
+-114.77 27.952 3830
+-114.644 27.952 3794
+-114.518 27.952 3705
+-114.392 27.952 3614
+-114.266 27.952 3735
+-114.14 27.952 3919
+-114.014 27.952 4051
+-113.888 27.952 4167
+-113.762 27.952 4276
+-113.636 27.952 4332
+-113.51 27.952 4389
+-113.384 27.952 4448
+-113.258 27.952 4512
+-113.132 27.952 4607
+-113.006 27.952 4681
+-112.88 27.952 4765
+-112.754 27.952 4851
+-112.628 27.952 4946
+-112.502 27.952 4987
+-112.376 27.952 4981
+-112.25 27.952 5042
+-112.124 27.952 5130
+-111.998 27.952 5197
+-111.872 27.952 5258
+-111.746 27.952 5296
+-111.62 27.952 5321
+-111.494 27.952 5325
+-111.368 27.952 5365
+-111.242 27.952 5394
+-111.116 27.952 5410
+-110.99 27.952 5437
+-110.864 27.952 5474
+-110.738 27.952 5507
+-110.612 27.952 5486
+-110.486 27.952 5461
+-110.36 27.952 5454
+-110.234 27.952 5463
+-110.108 27.952 5472
+-109.982 27.952 5460
+-109.856 27.952 5443
+-109.73 27.952 5423
+-109.604 27.952 5433
+-109.478 27.952 5401
+-109.352 27.952 5331
+-109.226 27.952 5332
+-109.1 27.952 5287
+-108.974 27.952 5248
+-108.848 27.952 5194
+-108.722 27.952 5132
+-108.596 27.952 5056
+-108.47 27.952 4987
+-108.344 27.952 4938
+-108.218 27.952 4820
+-108.092 27.952 4731
+-107.966 27.952 4733
+-107.84 27.952 4619
+-107.714 27.952 4520
+-107.588 27.952 4509
+-107.462 27.952 4407
+-107.336 27.952 4304
+-107.21 27.952 4192
+-107.084 27.952 4255
+-106.958 27.952 4271
+-106.832 27.952 4288
+-106.706 27.952 4270
+-106.58 27.952 4234
+-106.454 27.952 4186
+-106.328 27.952 4083
+-106.202 27.952 3993
+-106.076 27.952 3937
+-105.95 27.952 3836
+-105.824 27.952 3793
+-105.698 27.952 3701
+-105.572 27.952 3655
+-105.446 27.952 3611
+-105.32 27.952 3592
+-105.194 27.952 3581
+-105.068 27.952 3507
+-104.942 27.952 3487
+-104.816 27.952 3483
+-104.69 27.952 3480
+-104.564 27.952 3477
+-104.438 27.952 3432
+-104.312 27.952 3430
+-104.186 27.952 3428
+-104.06 27.952 3399
+-103.934 27.952 3342
+-103.808 27.952 3343
+-103.682 27.952 3306
+-103.556 27.952 3345
+-103.43 27.952 3349
+-103.304 27.952 3356
+-103.178 27.952 3346
+-103.052 27.952 3350
+-102.926 27.952 3355
+-102.8 27.952 3359
+-102.674 27.952 3363
+-102.548 27.952 3348
+-102.422 27.952 3353
+-102.296 27.952 3290
+-102.17 27.952 3282
+-102.044 27.952 3285
+-101.918 27.952 3288
+-101.792 27.952 3291
+-101.666 27.952 3294
+-101.54 27.952 3297
+-101.414 27.952 3263
+-101.288 27.952 3288
+-101.162 27.952 3190
+-101.036 27.952 3194
+-100.91 27.952 3195
+-100.784 27.952 3197
+-100.658 27.952 3198
+-100.532 27.952 3199
+-100.406 27.952 3200
+-100.28 27.952 3201
+-100.154 27.952 3202
+-100.028 27.952 3203
+-99.902 27.952 3133
+-99.776 27.952 3133
+-99.65 27.952 3133
+-99.524 27.952 3133
+-99.398 27.952 3133
+-99.272 27.952 3174
+-99.146 27.952 3140
+-99.02 27.952 3133
+-98.894 27.952 3135
+-98.768 27.952 3137
+-98.642 27.952 3105
+-98.516 27.952 3106
+-98.39 27.952 3108
+-98.264 27.952 3049
+-98.138 27.952 3050
+-98.012 27.952 3051
+-97.886 27.952 3052
+-97.76 27.952 2981
+-97.634 27.952 2822
+-97.508 27.952 2821
+-97.382 27.952 2724
+-97.256 27.952 2720
+-97.13 27.952 2619
+-97.004 27.952 2565
+-96.878 27.952 2426
+-96.752 27.952 2452
+-96.626 27.952 2552
+-96.5 27.952 2550
+-96.374 27.952 2438
+-96.248 27.952 2429
+-96.122 27.952 2515
+-95.996 27.952 2669
+-95.87 27.952 2674
+-95.744 27.952 2683
+-95.618 27.952 2762
+-95.492 27.952 2802
+-95.366 27.952 2997
+-95.24 27.952 3052
+-95.114 27.952 3053
+-94.988 27.952 3054
+-94.862 27.952 3068
+-94.736 27.952 3069
+-94.61 27.952 3070
+-94.484 27.952 3104
+-94.358 27.952 3137
+-94.232 27.952 3345
+-94.106 27.952 3344
+-93.98 27.952 3343
+-93.854 27.952 3343
+-93.728 27.952 3389
+-93.602 27.952 3388
+-93.476 27.952 3386
+-93.35 27.952 3385
+-93.224 27.952 3383
+-93.098 27.952 3381
+-92.972 27.952 3379
+-92.846 27.952 3378
+-92.72 27.952 3376
+-92.594 27.952 3374
+-92.468 27.952 3372
+-92.342 27.952 3370
+-92.216 27.952 3544
+-92.09 27.952 3541
+-91.964 27.952 3538
+-91.838 27.952 3535
+-91.712 27.952 3532
+-91.586 27.952 3529
+-91.46 27.952 3526
+-91.334 27.952 3524
+-91.208 27.952 3521
+-91.082 27.952 3518
+-90.956 27.952 3516
+-90.83 27.952 3513
+-90.704 27.952 3512
+-90.578 27.952 3653
+-90.452 27.952 3652
+-90.326 27.952 3652
+-90.2 27.952 3653
+-90.074 27.952 3655
+-89.948 27.952 3659
+-89.822 27.952 3665
+-89.696 27.952 3715
+-89.57 27.952 3725
+-89.444 27.952 3737
+-89.318 27.952 3752
+-89.192 27.952 3823
+-89.066 27.952 3841
+-88.94 27.952 3861
+-88.814 27.952 3928
+-88.688 27.952 3996
+-88.562 27.952 4009
+-88.436 27.952 4023
+-88.31 27.952 4087
+-88.184 27.952 4104
+-88.058 27.952 4201
+-87.932 27.952 4220
+-87.806 27.952 4250
+-87.68 27.952 4284
+-87.554 27.952 4255
+-87.428 27.952 4176
+-87.302 27.952 4057
+-87.176 27.952 4238
+-87.05 27.952 4451
+-86.924 27.952 4652
+-86.798 27.952 4797
+-86.672 27.952 4929
+-86.546 27.952 5058
+-86.42 27.952 5212
+-86.294 27.952 5331
+-86.168 27.952 5497
+-86.042 27.952 5577
+-85.916 27.952 5710
+-85.79 27.952 5865
+-85.664 27.952 6027
+-85.538 27.952 6087
+-85.412 27.952 6220
+-85.286 27.952 6398
+-85.16 27.952 6578
+-85.034 27.952 6787
+-84.908 27.952 6863
+-84.782 27.952 7004
+-84.656 27.952 7146
+-84.53 27.952 7272
+-84.404 27.952 7395
+-84.278 27.952 7577
+-84.152 27.952 7664
+-84.026 27.952 7818
+-83.9 27.952 7970
+-83.774 27.952 8092
+-83.648 27.952 8242
+-83.522 27.952 8362
+-83.396 27.952 8517
+-83.27 27.952 8702
+-83.144 27.952 8827
+-83.018 27.952 8930
+-82.892 27.952 9054
+-82.766 27.952 9199
+-82.64 27.952 9349
+-82.514 27.952 9481
+-82.388 27.952 9636
+-82.262 27.952 9668
+-82.136 27.952 9718
+-82.01 27.952 9617
+-81.884 27.952 9437
+-81.758 27.952 9359
+-81.632 27.952 9210
+-81.506 27.952 9072
+-81.38 27.952 8931
+-81.254 27.952 8836
+-81.128 27.952 8650
+-81.002 27.952 8552
+-80.876 27.952 8343
+-80.75 27.952 8264
+-80.624 27.952 8104
+-80.498 27.952 7965
+-80.372 27.952 7858
+-80.246 27.952 7624
+-80.12 27.952 7518
+-79.994 27.952 7423
+-79.868 27.952 7318
+-79.742 27.952 7179
+-79.616 27.952 7017
+-79.49 27.952 6879
+-79.364 27.952 6727
+-79.238 27.952 6501
+-79.112 27.952 6317
+-78.986 27.952 6255
+-78.86 27.952 6072
+-78.734 27.952 5965
+-78.608 27.952 5844
+-78.482 27.952 5636
+-78.356 27.952 5600
+-78.23 27.952 5417
+-78.104 27.952 5271
+-77.978 27.952 5165
+-77.852 27.952 5163
+-77.726 27.952 5011
+-77.6 27.952 4858
+-77.474 27.952 4873
+-77.348 27.952 4877
+-77.222 27.952 4790
+-77.096 27.952 4634
+-76.97 27.952 4405
+-76.844 27.952 4192
+-76.718 27.952 4163
+-76.592 27.952 4142
+-76.466 27.952 4085
+-76.34 27.952 4032
+-76.214 27.952 3942
+-76.088 27.952 3798
+-75.962 27.952 3685
+-75.836 27.952 3583
+-75.71 27.952 3536
+-75.584 27.952 3483
+-75.458 27.952 3458
+-75.332 27.952 3445
+-75.206 27.952 3417
+-75.08 27.952 3373
+-74.954 27.952 3269
+-74.828 27.952 3280
+-74.702 27.952 3292
+-74.576 27.952 3304
+-74.45 27.952 3261
+-74.324 27.952 3217
+-74.198 27.952 3226
+-74.072 27.952 3235
+-73.946 27.952 3244
+-73.82 27.952 3252
+-73.694 27.952 3259
+-73.568 27.952 3234
+-73.442 27.952 3225
+-73.316 27.952 3230
+-73.19 27.952 3200
+-73.064 27.952 3204
+-72.938 27.952 3208
+-72.812 27.952 3212
+-72.686 27.952 3215
+-72.56 27.952 3219
+-72.434 27.952 3222
+-72.308 27.952 3225
+-72.182 27.952 3228
+-72.056 27.952 3230
+-71.93 27.952 3233
+-71.804 27.952 3235
+-71.678 27.952 3237
+-71.552 27.952 3240
+-71.426 27.952 3242
+-71.3 27.952 3195
+-71.174 27.952 3197
+-71.048 27.952 3198
+-70.922 27.952 3200
+-70.796 27.952 3201
+-70.67 27.952 3202
+-70.544 27.952 3204
+-70.418 27.952 3205
+-70.292 27.952 3206
+-70.166 27.952 3207
+-70.04 27.952 3208
+-69.914 27.952 3209
+-69.788 27.952 3210
+-69.662 27.952 3211
+-69.536 27.952 3212
+-69.41 27.952 3021
+-69.284 27.952 3020
+-69.158 27.952 3019
+-69.032 27.952 3017
+-68.906 27.952 3016
+-68.78 27.952 3015
+-68.654 27.952 3014
+-68.528 27.952 3013
+-68.402 27.952 3011
+-68.276 27.952 3010
+-68.15 27.952 3009
+-68.024 27.952 3008
+-67.898 27.952 3007
+-67.772 27.952 3006
+-67.646 27.952 3005
+-67.52 27.952 3004
+-67.394 27.952 3003
+-67.268 27.952 3003
+-67.142 27.952 3002
+-67.016 27.952 3001
+-66.89 27.952 3000
+-66.764 27.952 2999
+-66.638 27.952 2998
+-66.512 27.952 2998
+-66.386 27.952 2997
+-66.26 27.952 2996
+-66.134 27.952 2996
+-66.008 27.952 2995
+-65.882 27.952 2994
+-65.756 27.952 2994
+-65.63 27.952 2993
+-65.504 27.952 2993
+-65.378 27.952 2992
+-65.252 27.952 2991
+-65.126 27.952 2991
+-128 27.9 2751
+-127.874 27.9 2749
+-127.748 27.9 2748
+-127.622 27.9 2747
+-127.496 27.9 2747
+-127.37 27.9 2746
+-127.244 27.9 2746
+-127.118 27.9 2750
+-126.992 27.9 2761
+-126.866 27.9 2821
+-126.74 27.9 2771
+-126.614 27.9 2774
+-126.488 27.9 2818
+-126.362 27.9 2822
+-126.236 27.9 2846
+-126.11 27.9 2889
+-125.984 27.9 2895
+-125.858 27.9 2902
+-125.732 27.9 2909
+-125.606 27.9 2917
+-125.48 27.9 2904
+-125.354 27.9 2906
+-125.228 27.9 2942
+-125.102 27.9 2953
+-124.976 27.9 2995
+-124.85 27.9 3007
+-124.724 27.9 2990
+-124.598 27.9 2990
+-124.472 27.9 3013
+-124.346 27.9 3027
+-124.22 27.9 3041
+-124.094 27.9 3024
+-123.968 27.9 3389
+-123.842 27.9 3387
+-123.716 27.9 3384
+-123.59 27.9 3365
+-123.464 27.9 3362
+-123.338 27.9 3348
+-123.212 27.9 3372
+-123.086 27.9 3368
+-122.96 27.9 3412
+-122.834 27.9 3406
+-122.708 27.9 3377
+-122.582 27.9 3382
+-122.456 27.9 3396
+-122.33 27.9 3386
+-122.204 27.9 3394
+-122.078 27.9 3378
+-121.952 27.9 3378
+-121.826 27.9 3349
+-121.7 27.9 3319
+-121.574 27.9 3279
+-121.448 27.9 3235
+-121.322 27.9 3156
+-121.196 27.9 3050
+-121.07 27.9 2929
+-120.944 27.9 2869
+-120.818 27.9 2973
+-120.692 27.9 3162
+-120.566 27.9 3288
+-120.44 27.9 3338
+-120.314 27.9 3377
+-120.188 27.9 3412
+-120.062 27.9 3451
+-119.936 27.9 3503
+-119.81 27.9 3550
+-119.684 27.9 3579
+-119.558 27.9 3619
+-119.432 27.9 3676
+-119.306 27.9 3747
+-119.18 27.9 3817
+-119.054 27.9 3863
+-118.928 27.9 3895
+-118.802 27.9 3923
+-118.676 27.9 3971
+-118.55 27.9 4013
+-118.424 27.9 4049
+-118.298 27.9 4091
+-118.172 27.9 4126
+-118.046 27.9 4164
+-117.92 27.9 4201
+-117.794 27.9 4227
+-117.668 27.9 4250
+-117.542 27.9 4260
+-117.416 27.9 4253
+-117.29 27.9 4254
+-117.164 27.9 4264
+-117.038 27.9 4247
+-116.912 27.9 4243
+-116.786 27.9 4222
+-116.66 27.9 4191
+-116.534 27.9 4175
+-116.408 27.9 4172
+-116.282 27.9 4179
+-116.156 27.9 4151
+-116.03 27.9 4094
+-115.904 27.9 4061
+-115.778 27.9 4050
+-115.652 27.9 4033
+-115.526 27.9 4015
+-115.4 27.9 3990
+-115.274 27.9 3927
+-115.148 27.9 3862
+-115.022 27.9 3799
+-114.896 27.9 3753
+-114.77 27.9 3745
+-114.644 27.9 3749
+-114.518 27.9 3727
+-114.392 27.9 3697
+-114.266 27.9 3781
+-114.14 27.9 3912
+-114.014 27.9 4032
+-113.888 27.9 4131
+-113.762 27.9 4214
+-113.636 27.9 4309
+-113.51 27.9 4363
+-113.384 27.9 4418
+-113.258 27.9 4474
+-113.132 27.9 4544
+-113.006 27.9 4609
+-112.88 27.9 4685
+-112.754 27.9 4783
+-112.628 27.9 4889
+-112.502 27.9 4958
+-112.376 27.9 4994
+-112.25 27.9 5022
+-112.124 27.9 5086
+-111.998 27.9 5147
+-111.872 27.9 5207
+-111.746 27.9 5245
+-111.62 27.9 5279
+-111.494 27.9 5308
+-111.368 27.9 5323
+-111.242 27.9 5348
+-111.116 27.9 5389
+-110.99 27.9 5433
+-110.864 27.9 5418
+-110.738 27.9 5434
+-110.612 27.9 5414
+-110.486 27.9 5412
+-110.36 27.9 5433
+-110.234 27.9 5454
+-110.108 27.9 5425
+-109.982 27.9 5413
+-109.856 27.9 5406
+-109.73 27.9 5389
+-109.604 27.9 5388
+-109.478 27.9 5357
+-109.352 27.9 5316
+-109.226 27.9 5261
+-109.1 27.9 5218
+-108.974 27.9 5184
+-108.848 27.9 5134
+-108.722 27.9 5053
+-108.596 27.9 4979
+-108.47 27.9 4946
+-108.344 27.9 4897
+-108.218 27.9 4781
+-108.092 27.9 4703
+-107.966 27.9 4675
+-107.84 27.9 4606
+-107.714 27.9 4508
+-107.588 27.9 4497
+-107.462 27.9 4376
+-107.336 27.9 4273
+-107.21 27.9 4248
+-107.084 27.9 4183
+-106.958 27.9 4207
+-106.832 27.9 4255
+-106.706 27.9 4244
+-106.58 27.9 4226
+-106.454 27.9 4175
+-106.328 27.9 4106
+-106.202 27.9 4019
+-106.076 27.9 3909
+-105.95 27.9 3842
+-105.824 27.9 3685
+-105.698 27.9 3625
+-105.572 27.9 3573
+-105.446 27.9 3547
+-105.32 27.9 3524
+-105.194 27.9 3460
+-105.068 27.9 3461
+-104.942 27.9 3466
+-104.816 27.9 3457
+-104.69 27.9 3460
+-104.564 27.9 3463
+-104.438 27.9 3422
+-104.312 27.9 3423
+-104.186 27.9 3422
+-104.06 27.9 3365
+-103.934 27.9 3394
+-103.808 27.9 3300
+-103.682 27.9 3300
+-103.556 27.9 3299
+-103.43 27.9 3301
+-103.304 27.9 3345
+-103.178 27.9 3352
+-103.052 27.9 3342
+-102.926 27.9 3347
+-102.8 27.9 3351
+-102.674 27.9 3356
+-102.548 27.9 3360
+-102.422 27.9 3345
+-102.296 27.9 3267
+-102.17 27.9 3270
+-102.044 27.9 3279
+-101.918 27.9 3211
+-101.792 27.9 3213
+-101.666 27.9 3288
+-101.54 27.9 3291
+-101.414 27.9 3294
+-101.288 27.9 3260
+-101.162 27.9 3285
+-101.036 27.9 3187
+-100.91 27.9 3191
+-100.784 27.9 3192
+-100.658 27.9 3194
+-100.532 27.9 3195
+-100.406 27.9 3196
+-100.28 27.9 3198
+-100.154 27.9 3199
+-100.028 27.9 3200
+-99.902 27.9 3201
+-99.776 27.9 3130
+-99.65 27.9 3131
+-99.524 27.9 3131
+-99.398 27.9 3131
+-99.272 27.9 3131
+-99.146 27.9 3174
+-99.02 27.9 3140
+-98.894 27.9 3134
+-98.768 27.9 3136
+-98.642 27.9 3137
+-98.516 27.9 3105
+-98.39 27.9 3107
+-98.264 27.9 3108
+-98.138 27.9 3049
+-98.012 27.9 3050
+-97.886 27.9 3051
+-97.76 27.9 3052
+-97.634 27.9 2888
+-97.508 27.9 2887
+-97.382 27.9 2723
+-97.256 27.9 2719
+-97.13 27.9 2619
+-97.004 27.9 2564
+-96.878 27.9 2553
+-96.752 27.9 2606
+-96.626 27.9 2552
+-96.5 27.9 2550
+-96.374 27.9 2576
+-96.248 27.9 2595
+-96.122 27.9 2680
+-95.996 27.9 2673
+-95.87 27.9 2677
+-95.744 27.9 2744
+-95.618 27.9 2803
+-95.492 27.9 2806
+-95.366 27.9 3000
+-95.24 27.9 3054
+-95.114 27.9 3055
+-94.988 27.9 3069
+-94.862 27.9 3075
+-94.736 27.9 3071
+-94.61 27.9 3104
+-94.484 27.9 3137
+-94.358 27.9 3137
+-94.232 27.9 3345
+-94.106 27.9 3344
+-93.98 27.9 3344
+-93.854 27.9 3390
+-93.728 27.9 3388
+-93.602 27.9 3386
+-93.476 27.9 3385
+-93.35 27.9 3383
+-93.224 27.9 3381
+-93.098 27.9 3379
+-92.972 27.9 3377
+-92.846 27.9 3375
+-92.72 27.9 3373
+-92.594 27.9 3371
+-92.468 27.9 3369
+-92.342 27.9 3366
+-92.216 27.9 3364
+-92.09 27.9 3536
+-91.964 27.9 3533
+-91.838 27.9 3529
+-91.712 27.9 3526
+-91.586 27.9 3522
+-91.46 27.9 3518
+-91.334 27.9 3514
+-91.208 27.9 3511
+-91.082 27.9 3507
+-90.956 27.9 3503
+-90.83 27.9 3499
+-90.704 27.9 3635
+-90.578 27.9 3631
+-90.452 27.9 3628
+-90.326 27.9 3626
+-90.2 27.9 3625
+-90.074 27.9 3625
+-89.948 27.9 3627
+-89.822 27.9 3631
+-89.696 27.9 3638
+-89.57 27.9 3690
+-89.444 27.9 3702
+-89.318 27.9 3718
+-89.192 27.9 3736
+-89.066 27.9 3810
+-88.94 27.9 3887
+-88.814 27.9 3906
+-88.688 27.9 3925
+-88.562 27.9 3987
+-88.436 27.9 4053
+-88.31 27.9 4069
+-88.184 27.9 4102
+-88.058 27.9 4153
+-87.932 27.9 4248
+-87.806 27.9 4262
+-87.68 27.9 4286
+-87.554 27.9 4287
+-87.428 27.9 4240
+-87.302 27.9 4214
+-87.176 27.9 4362
+-87.05 27.9 4544
+-86.924 27.9 4639
+-86.798 27.9 4782
+-86.672 27.9 4931
+-86.546 27.9 5033
+-86.42 27.9 5175
+-86.294 27.9 5311
+-86.168 27.9 5510
+-86.042 27.9 5538
+-85.916 27.9 5692
+-85.79 27.9 5869
+-85.664 27.9 5999
+-85.538 27.9 6180
+-85.412 27.9 6202
+-85.286 27.9 6361
+-85.16 27.9 6602
+-85.034 27.9 6781
+-84.908 27.9 6916
+-84.782 27.9 6956
+-84.656 27.9 7139
+-84.53 27.9 7268
+-84.404 27.9 7383
+-84.278 27.9 7545
+-84.152 27.9 7615
+-84.026 27.9 7817
+-83.9 27.9 7963
+-83.774 27.9 8147
+-83.648 27.9 8235
+-83.522 27.9 8415
+-83.396 27.9 8525
+-83.27 27.9 8669
+-83.144 27.9 8831
+-83.018 27.9 8987
+-82.892 27.9 9130
+-82.766 27.9 9273
+-82.64 27.9 9334
+-82.514 27.9 9531
+-82.388 27.9 9662
+-82.262 27.9 9721
+-82.136 27.9 9718
+-82.01 27.9 9647
+-81.884 27.9 9518
+-81.758 27.9 9439
+-81.632 27.9 9294
+-81.506 27.9 9068
+-81.38 27.9 8930
+-81.254 27.9 8803
+-81.128 27.9 8706
+-81.002 27.9 8517
+-80.876 27.9 8377
+-80.75 27.9 8259
+-80.624 27.9 8107
+-80.498 27.9 7906
+-80.372 27.9 7873
+-80.246 27.9 7720
+-80.12 27.9 7497
+-79.994 27.9 7423
+-79.868 27.9 7296
+-79.742 27.9 7161
+-79.616 27.9 6971
+-79.49 27.9 6894
+-79.364 27.9 6685
+-79.238 27.9 6514
+-79.112 27.9 6325
+-78.986 27.9 6183
+-78.86 27.9 6095
+-78.734 27.9 5949
+-78.608 27.9 5842
+-78.482 27.9 5744
+-78.356 27.9 5583
+-78.23 27.9 5371
+-78.104 27.9 5232
+-77.978 27.9 5236
+-77.852 27.9 5195
+-77.726 27.9 5109
+-77.6 27.9 5019
+-77.474 27.9 4950
+-77.348 27.9 4871
+-77.222 27.9 4753
+-77.096 27.9 4465
+-76.97 27.9 4147
+-76.844 27.9 3932
+-76.718 27.9 3982
+-76.592 27.9 4067
+-76.466 27.9 4032
+-76.34 27.9 3958
+-76.214 27.9 3837
+-76.088 27.9 3751
+-75.962 27.9 3647
+-75.836 27.9 3541
+-75.71 27.9 3440
+-75.584 27.9 3392
+-75.458 27.9 3364
+-75.332 27.9 3346
+-75.206 27.9 3332
+-75.08 27.9 3335
+-74.954 27.9 3254
+-74.828 27.9 3238
+-74.702 27.9 3256
+-74.576 27.9 3222
+-74.45 27.9 3236
+-74.324 27.9 3197
+-74.198 27.9 3209
+-74.072 27.9 3220
+-73.946 27.9 3230
+-73.82 27.9 3239
+-73.694 27.9 3248
+-73.568 27.9 3256
+-73.442 27.9 3231
+-73.316 27.9 3222
+-73.19 27.9 3227
+-73.064 27.9 3196
+-72.938 27.9 3201
+-72.812 27.9 3205
+-72.686 27.9 3209
+-72.56 27.9 3213
+-72.434 27.9 3216
+-72.308 27.9 3220
+-72.182 27.9 3223
+-72.056 27.9 3226
+-71.93 27.9 3228
+-71.804 27.9 3231
+-71.678 27.9 3233
+-71.552 27.9 3236
+-71.426 27.9 3238
+-71.3 27.9 3200
+-71.174 27.9 3194
+-71.048 27.9 3196
+-70.922 27.9 3197
+-70.796 27.9 3199
+-70.67 27.9 3200
+-70.544 27.9 3201
+-70.418 27.9 3203
+-70.292 27.9 3204
+-70.166 27.9 3205
+-70.04 27.9 3206
+-69.914 27.9 3207
+-69.788 27.9 3208
+-69.662 27.9 3134
+-69.536 27.9 3020
+-69.41 27.9 3019
+-69.284 27.9 3017
+-69.158 27.9 3016
+-69.032 27.9 3015
+-68.906 27.9 3014
+-68.78 27.9 3013
+-68.654 27.9 3011
+-68.528 27.9 3010
+-68.402 27.9 3009
+-68.276 27.9 3008
+-68.15 27.9 3007
+-68.024 27.9 3006
+-67.898 27.9 3005
+-67.772 27.9 3004
+-67.646 27.9 3003
+-67.52 27.9 3002
+-67.394 27.9 3001
+-67.268 27.9 3001
+-67.142 27.9 3000
+-67.016 27.9 2999
+-66.89 27.9 2998
+-66.764 27.9 2997
+-66.638 27.9 2997
+-66.512 27.9 2996
+-66.386 27.9 2995
+-66.26 27.9 2995
+-66.134 27.9 2994
+-66.008 27.9 2993
+-65.882 27.9 2993
+-65.756 27.9 2992
+-65.63 27.9 2991
+-65.504 27.9 2991
+-65.378 27.9 2990
+-65.252 27.9 2990
+-65.126 27.9 2989
+-128 27.848 2760
+-127.874 27.848 2759
+-127.748 27.848 2758
+-127.622 27.848 2757
+-127.496 27.848 2757
+-127.37 27.848 2757
+-127.244 27.848 2760
+-127.118 27.848 2771
+-126.992 27.848 2832
+-126.866 27.848 2780
+-126.74 27.848 2783
+-126.614 27.848 2827
+-126.488 27.848 2831
+-126.362 27.848 2854
+-126.236 27.848 2897
+-126.11 27.848 2902
+-125.984 27.848 2908
+-125.858 27.848 2915
+-125.732 27.848 2921
+-125.606 27.848 2908
+-125.48 27.848 2908
+-125.354 27.848 2943
+-125.228 27.848 2953
+-125.102 27.848 2995
+-124.976 27.848 3006
+-124.85 27.848 2987
+-124.724 27.848 2987
+-124.598 27.848 3008
+-124.472 27.848 3021
+-124.346 27.848 3035
+-124.22 27.848 3017
+-124.094 27.848 3390
+-123.968 27.848 3388
+-123.842 27.848 3386
+-123.716 27.848 3366
+-123.59 27.848 3363
+-123.464 27.848 3350
+-123.338 27.848 3373
+-123.212 27.848 3370
+-123.086 27.848 3416
+-122.96 27.848 3410
+-122.834 27.848 3381
+-122.708 27.848 3387
+-122.582 27.848 3404
+-122.456 27.848 3395
+-122.33 27.848 3405
+-122.204 27.848 3392
+-122.078 27.848 3396
+-121.952 27.848 3372
+-121.826 27.848 3349
+-121.7 27.848 3321
+-121.574 27.848 3299
+-121.448 27.848 3251
+-121.322 27.848 3191
+-121.196 27.848 3122
+-121.07 27.848 3058
+-120.944 27.848 3041
+-120.818 27.848 3109
+-120.692 27.848 3217
+-120.566 27.848 3299
+-120.44 27.848 3367
+-120.314 27.848 3401
+-120.188 27.848 3422
+-120.062 27.848 3464
+-119.936 27.848 3507
+-119.81 27.848 3533
+-119.684 27.848 3529
+-119.558 27.848 3518
+-119.432 27.848 3589
+-119.306 27.848 3695
+-119.18 27.848 3781
+-119.054 27.848 3825
+-118.928 27.848 3838
+-118.802 27.848 3825
+-118.676 27.848 3893
+-118.55 27.848 3965
+-118.424 27.848 4015
+-118.298 27.848 4058
+-118.172 27.848 4076
+-118.046 27.848 4101
+-117.92 27.848 4145
+-117.794 27.848 4184
+-117.668 27.848 4211
+-117.542 27.848 4220
+-117.416 27.848 4207
+-117.29 27.848 4202
+-117.164 27.848 4199
+-117.038 27.848 4201
+-116.912 27.848 4207
+-116.786 27.848 4175
+-116.66 27.848 4137
+-116.534 27.848 4142
+-116.408 27.848 4139
+-116.282 27.848 4141
+-116.156 27.848 4108
+-116.03 27.848 4058
+-115.904 27.848 4046
+-115.778 27.848 4012
+-115.652 27.848 3973
+-115.526 27.848 3956
+-115.4 27.848 3925
+-115.274 27.848 3853
+-115.148 27.848 3768
+-115.022 27.848 3688
+-114.896 27.848 3650
+-114.77 27.848 3673
+-114.644 27.848 3715
+-114.518 27.848 3742
+-114.392 27.848 3748
+-114.266 27.848 3811
+-114.14 27.848 3895
+-114.014 27.848 3983
+-113.888 27.848 4081
+-113.762 27.848 4145
+-113.636 27.848 4253
+-113.51 27.848 4303
+-113.384 27.848 4343
+-113.258 27.848 4410
+-113.132 27.848 4478
+-113.006 27.848 4502
+-112.88 27.848 4568
+-112.754 27.848 4695
+-112.628 27.848 4819
+-112.502 27.848 4880
+-112.376 27.848 4953
+-112.25 27.848 4950
+-112.124 27.848 5004
+-111.998 27.848 5104
+-111.872 27.848 5152
+-111.746 27.848 5182
+-111.62 27.848 5218
+-111.494 27.848 5253
+-111.368 27.848 5291
+-111.242 27.848 5325
+-111.116 27.848 5343
+-110.99 27.848 5368
+-110.864 27.848 5362
+-110.738 27.848 5352
+-110.612 27.848 5366
+-110.486 27.848 5392
+-110.36 27.848 5389
+-110.234 27.848 5388
+-110.108 27.848 5368
+-109.982 27.848 5351
+-109.856 27.848 5360
+-109.73 27.848 5354
+-109.604 27.848 5328
+-109.478 27.848 5301
+-109.352 27.848 5263
+-109.226 27.848 5205
+-109.1 27.848 5125
+-108.974 27.848 5130
+-108.848 27.848 5077
+-108.722 27.848 5001
+-108.596 27.848 4949
+-108.47 27.848 4924
+-108.344 27.848 4825
+-108.218 27.848 4729
+-108.092 27.848 4684
+-107.966 27.848 4644
+-107.84 27.848 4596
+-107.714 27.848 4542
+-107.588 27.848 4487
+-107.462 27.848 4396
+-107.336 27.848 4304
+-107.21 27.848 4196
+-107.084 27.848 4023
+-106.958 27.848 4137
+-106.832 27.848 4213
+-106.706 27.848 4233
+-106.58 27.848 4231
+-106.454 27.848 4192
+-106.328 27.848 4070
+-106.202 27.848 3994
+-106.076 27.848 3857
+-105.95 27.848 3765
+-105.824 27.848 3618
+-105.698 27.848 3498
+-105.572 27.848 3450
+-105.446 27.848 3427
+-105.32 27.848 3378
+-105.194 27.848 3383
+-105.068 27.848 3402
+-104.942 27.848 3421
+-104.816 27.848 3436
+-104.69 27.848 3398
+-104.564 27.848 3397
+-104.438 27.848 3403
+-104.312 27.848 3408
+-104.186 27.848 3411
+-104.06 27.848 3355
+-103.934 27.848 3356
+-103.808 27.848 3357
+-103.682 27.848 3292
+-103.556 27.848 3293
+-103.43 27.848 3291
+-103.304 27.848 3295
+-103.178 27.848 3340
+-103.052 27.848 3348
+-102.926 27.848 3338
+-102.8 27.848 3343
+-102.674 27.848 3274
+-102.548 27.848 3277
+-102.422 27.848 3270
+-102.296 27.848 3274
+-102.17 27.848 3261
+-102.044 27.848 3264
+-101.918 27.848 3203
+-101.792 27.848 3205
+-101.666 27.848 3207
+-101.54 27.848 3209
+-101.414 27.848 3211
+-101.288 27.848 3213
+-101.162 27.848 3176
+-101.036 27.848 3282
+-100.91 27.848 3183
+-100.784 27.848 3188
+-100.658 27.848 3190
+-100.532 27.848 3191
+-100.406 27.848 3193
+-100.28 27.848 3194
+-100.154 27.848 3195
+-100.028 27.848 3197
+-99.902 27.848 3198
+-99.776 27.848 3199
+-99.65 27.848 3128
+-99.524 27.848 3129
+-99.398 27.848 3129
+-99.272 27.848 3129
+-99.146 27.848 3130
+-99.02 27.848 3175
+-98.894 27.848 3140
+-98.768 27.848 3134
+-98.642 27.848 3136
+-98.516 27.848 3138
+-98.39 27.848 3106
+-98.264 27.848 3107
+-98.138 27.848 3108
+-98.012 27.848 3050
+-97.886 27.848 3050
+-97.76 27.848 3051
+-97.634 27.848 2887
+-97.508 27.848 2887
+-97.382 27.848 2848
+-97.256 27.848 2719
+-97.13 27.848 2618
+-97.004 27.848 2563
+-96.878 27.848 2552
+-96.752 27.848 2606
+-96.626 27.848 2553
+-96.5 27.848 2550
+-96.374 27.848 2577
+-96.248 27.848 2596
+-96.122 27.848 2680
+-95.996 27.848 2677
+-95.87 27.848 2699
+-95.744 27.848 2784
+-95.618 27.848 2806
+-95.492 27.848 3021
+-95.366 27.848 3024
+-95.24 27.848 3075
+-95.114 27.848 3075
+-94.988 27.848 3075
+-94.862 27.848 3076
+-94.736 27.848 3105
+-94.61 27.848 3137
+-94.484 27.848 3137
+-94.358 27.848 3346
+-94.232 27.848 3345
+-94.106 27.848 3345
+-93.98 27.848 3390
+-93.854 27.848 3389
+-93.728 27.848 3387
+-93.602 27.848 3385
+-93.476 27.848 3384
+-93.35 27.848 3382
+-93.224 27.848 3380
+-93.098 27.848 3378
+-92.972 27.848 3375
+-92.846 27.848 3373
+-92.72 27.848 3371
+-92.594 27.848 3368
+-92.468 27.848 3366
+-92.342 27.848 3363
+-92.216 27.848 3535
+-92.09 27.848 3531
+-91.964 27.848 3527
+-91.838 27.848 3523
+-91.712 27.848 3519
+-91.586 27.848 3514
+-91.46 27.848 3510
+-91.334 27.848 3505
+-91.208 27.848 3500
+-91.082 27.848 3495
+-90.956 27.848 3489
+-90.83 27.848 3619
+-90.704 27.848 3613
+-90.578 27.848 3607
+-90.452 27.848 3602
+-90.326 27.848 3597
+-90.2 27.848 3593
+-90.074 27.848 3591
+-89.948 27.848 3590
+-89.822 27.848 3592
+-89.696 27.848 3597
+-89.57 27.848 3605
+-89.444 27.848 3635
+-89.318 27.848 3675
+-89.192 27.848 3742
+-89.066 27.848 3804
+-88.94 27.848 3834
+-88.814 27.848 3870
+-88.688 27.848 3891
+-88.562 27.848 3923
+-88.436 27.848 3997
+-88.31 27.848 4059
+-88.184 27.848 4099
+-88.058 27.848 4140
+-87.932 27.848 4228
+-87.806 27.848 4255
+-87.68 27.848 4282
+-87.554 27.848 4313
+-87.428 27.848 4347
+-87.302 27.848 4382
+-87.176 27.848 4484
+-87.05 27.848 4595
+-86.924 27.848 4562
+-86.798 27.848 4735
+-86.672 27.848 4931
+-86.546 27.848 4936
+-86.42 27.848 5168
+-86.294 27.848 5287
+-86.168 27.848 5499
+-86.042 27.848 5588
+-85.916 27.848 5719
+-85.79 27.848 5855
+-85.664 27.848 5978
+-85.538 27.848 6084
+-85.412 27.848 6178
+-85.286 27.848 6330
+-85.16 27.848 6594
+-85.034 27.848 6689
+-84.908 27.848 6880
+-84.782 27.848 7025
+-84.656 27.848 7132
+-84.53 27.848 7284
+-84.404 27.848 7388
+-84.278 27.848 7535
+-84.152 27.848 7699
+-84.026 27.848 7824
+-83.9 27.848 7946
+-83.774 27.848 8093
+-83.648 27.848 8240
+-83.522 27.848 8422
+-83.396 27.848 8544
+-83.27 27.848 8697
+-83.144 27.848 8888
+-83.018 27.848 8994
+-82.892 27.848 9124
+-82.766 27.848 9235
+-82.64 27.848 9406
+-82.514 27.848 9535
+-82.388 27.848 9684
+-82.262 27.848 9756
+-82.136 27.848 9817
+-82.01 27.848 9696
+-81.884 27.848 9545
+-81.758 27.848 9404
+-81.632 27.848 9195
+-81.506 27.848 9077
+-81.38 27.848 8965
+-81.254 27.848 8855
+-81.128 27.848 8673
+-81.002 27.848 8518
+-80.876 27.848 8401
+-80.75 27.848 8256
+-80.624 27.848 8130
+-80.498 27.848 7979
+-80.372 27.848 7820
+-80.246 27.848 7672
+-80.12 27.848 7509
+-79.994 27.848 7394
+-79.868 27.848 7226
+-79.742 27.848 7172
+-79.616 27.848 7034
+-79.49 27.848 6855
+-79.364 27.848 6664
+-79.238 27.848 6534
+-79.112 27.848 6374
+-78.986 27.848 6213
+-78.86 27.848 6088
+-78.734 27.848 5976
+-78.608 27.848 5854
+-78.482 27.848 5696
+-78.356 27.848 5632
+-78.23 27.848 5446
+-78.104 27.848 5332
+-77.978 27.848 5239
+-77.852 27.848 5131
+-77.726 27.848 5103
+-77.6 27.848 5078
+-77.474 27.848 5011
+-77.348 27.848 4872
+-77.222 27.848 4709
+-77.096 27.848 4385
+-76.97 27.848 3988
+-76.844 27.848 3788
+-76.718 27.848 3892
+-76.592 27.848 3987
+-76.466 27.848 3968
+-76.34 27.848 3920
+-76.214 27.848 3820
+-76.088 27.848 3672
+-75.962 27.848 3569
+-75.836 27.848 3460
+-75.71 27.848 3343
+-75.584 27.848 3272
+-75.458 27.848 3245
+-75.332 27.848 3214
+-75.206 27.848 3230
+-75.08 27.848 3255
+-74.954 27.848 3283
+-74.828 27.848 3229
+-74.702 27.848 3173
+-74.576 27.848 3193
+-74.45 27.848 3211
+-74.324 27.848 3228
+-74.198 27.848 3192
+-74.072 27.848 3205
+-73.946 27.848 3217
+-73.82 27.848 3228
+-73.694 27.848 3237
+-73.568 27.848 3246
+-73.442 27.848 3254
+-73.316 27.848 3228
+-73.19 27.848 3220
+-73.064 27.848 3226
+-72.938 27.848 3193
+-72.812 27.848 3198
+-72.686 27.848 3203
+-72.56 27.848 3207
+-72.434 27.848 3211
+-72.308 27.848 3214
+-72.182 27.848 3218
+-72.056 27.848 3221
+-71.93 27.848 3224
+-71.804 27.848 3227
+-71.678 27.848 3229
+-71.552 27.848 3232
+-71.426 27.848 3195
+-71.3 27.848 3197
+-71.174 27.848 3199
+-71.048 27.848 3201
+-70.922 27.848 3203
+-70.796 27.848 3205
+-70.67 27.848 3206
+-70.544 27.848 3208
+-70.418 27.848 3209
+-70.292 27.848 3211
+-70.166 27.848 3212
+-70.04 27.848 3213
+-69.914 27.848 3215
+-69.788 27.848 3130
+-69.662 27.848 3130
+-69.536 27.848 3129
+-69.41 27.848 3016
+-69.284 27.848 3015
+-69.158 27.848 3014
+-69.032 27.848 3012
+-68.906 27.848 3011
+-68.78 27.848 3010
+-68.654 27.848 3009
+-68.528 27.848 3008
+-68.402 27.848 3007
+-68.276 27.848 3006
+-68.15 27.848 3005
+-68.024 27.848 3004
+-67.898 27.848 3003
+-67.772 27.848 3002
+-67.646 27.848 3001
+-67.52 27.848 3000
+-67.394 27.848 2999
+-67.268 27.848 2999
+-67.142 27.848 2998
+-67.016 27.848 2997
+-66.89 27.848 2996
+-66.764 27.848 2995
+-66.638 27.848 2995
+-66.512 27.848 2994
+-66.386 27.848 2993
+-66.26 27.848 2993
+-66.134 27.848 2992
+-66.008 27.848 2992
+-65.882 27.848 2991
+-65.756 27.848 2990
+-65.63 27.848 2990
+-65.504 27.848 2989
+-65.378 27.848 2989
+-65.252 27.848 2988
+-65.126 27.848 2988
+-128 27.796 2768
+-127.874 27.796 2768
+-127.748 27.796 2767
+-127.622 27.796 2767
+-127.496 27.796 2767
+-127.37 27.796 2769
+-127.244 27.796 2780
+-127.118 27.796 2842
+-126.992 27.796 2788
+-126.866 27.796 2791
+-126.74 27.796 2836
+-126.614 27.796 2839
+-126.488 27.796 2862
+-126.362 27.796 2904
+-126.236 27.796 2909
+-126.11 27.796 2914
+-125.984 27.796 2920
+-125.858 27.796 2926
+-125.732 27.796 2911
+-125.606 27.796 2911
+-125.48 27.796 2945
+-125.354 27.796 2954
+-125.228 27.796 2995
+-125.102 27.796 3006
+-124.976 27.796 2985
+-124.85 27.796 2984
+-124.724 27.796 3005
+-124.598 27.796 3017
+-124.472 27.796 3029
+-124.346 27.796 3011
+-124.22 27.796 3392
+-124.094 27.796 3389
+-123.968 27.796 3388
+-123.842 27.796 3367
+-123.716 27.796 3365
+-123.59 27.796 3351
+-123.464 27.796 3375
+-123.338 27.796 3372
+-123.212 27.796 3419
+-123.086 27.796 3414
+-122.96 27.796 3385
+-122.834 27.796 3392
+-122.708 27.796 3411
+-122.582 27.796 3402
+-122.456 27.796 3415
+-122.33 27.796 3404
+-122.204 27.796 3412
+-122.078 27.796 3390
+-121.952 27.796 3373
+-121.826 27.796 3353
+-121.7 27.796 3345
+-121.574 27.796 3313
+-121.448 27.796 3277
+-121.322 27.796 3238
+-121.196 27.796 3196
+-121.07 27.796 3165
+-120.944 27.796 3171
+-120.818 27.796 3210
+-120.692 27.796 3264
+-120.566 27.796 3337
+-120.44 27.796 3377
+-120.314 27.796 3394
+-120.188 27.796 3432
+-120.062 27.796 3469
+-119.936 27.796 3487
+-119.81 27.796 3505
+-119.684 27.796 3487
+-119.558 27.796 3452
+-119.432 27.796 3523
+-119.306 27.796 3646
+-119.18 27.796 3749
+-119.054 27.796 3793
+-118.928 27.796 3790
+-118.802 27.796 3743
+-118.676 27.796 3823
+-118.55 27.796 3918
+-118.424 27.796 3974
+-118.298 27.796 3995
+-118.172 27.796 4004
+-118.046 27.796 4012
+-117.92 27.796 4056
+-117.794 27.796 4108
+-117.668 27.796 4145
+-117.542 27.796 4152
+-117.416 27.796 4137
+-117.29 27.796 4120
+-117.164 27.796 4112
+-117.038 27.796 4134
+-116.912 27.796 4143
+-116.786 27.796 4127
+-116.66 27.796 4111
+-116.534 27.796 4110
+-116.408 27.796 4088
+-116.282 27.796 4080
+-116.156 27.796 4062
+-116.03 27.796 4025
+-115.904 27.796 4018
+-115.778 27.796 3976
+-115.652 27.796 3946
+-115.526 27.796 3937
+-115.4 27.796 3880
+-115.274 27.796 3796
+-115.148 27.796 3697
+-115.022 27.796 3631
+-114.896 27.796 3610
+-114.77 27.796 3628
+-114.644 27.796 3673
+-114.518 27.796 3722
+-114.392 27.796 3740
+-114.266 27.796 3788
+-114.14 27.796 3877
+-114.014 27.796 3946
+-113.888 27.796 4022
+-113.762 27.796 4084
+-113.636 27.796 4176
+-113.51 27.796 4202
+-113.384 27.796 4228
+-113.258 27.796 4306
+-113.132 27.796 4432
+-113.006 27.796 4459
+-112.88 27.796 4498
+-112.754 27.796 4617
+-112.628 27.796 4745
+-112.502 27.796 4817
+-112.376 27.796 4899
+-112.25 27.796 4893
+-112.124 27.796 4947
+-111.998 27.796 5041
+-111.872 27.796 5081
+-111.746 27.796 5092
+-111.62 27.796 5137
+-111.494 27.796 5178
+-111.368 27.796 5225
+-111.242 27.796 5253
+-111.116 27.796 5279
+-110.99 27.796 5304
+-110.864 27.796 5306
+-110.738 27.796 5316
+-110.612 27.796 5318
+-110.486 27.796 5341
+-110.36 27.796 5336
+-110.234 27.796 5315
+-110.108 27.796 5301
+-109.982 27.796 5290
+-109.856 27.796 5287
+-109.73 27.796 5282
+-109.604 27.796 5244
+-109.478 27.796 5194
+-109.352 27.796 5187
+-109.226 27.796 5143
+-109.1 27.796 5108
+-108.974 27.796 5083
+-108.848 27.796 5034
+-108.722 27.796 4948
+-108.596 27.796 4906
+-108.47 27.796 4860
+-108.344 27.796 4762
+-108.218 27.796 4697
+-108.092 27.796 4651
+-107.966 27.796 4578
+-107.84 27.796 4577
+-107.714 27.796 4523
+-107.588 27.796 4471
+-107.462 27.796 4420
+-107.336 27.796 4333
+-107.21 27.796 4237
+-107.084 27.796 4151
+-106.958 27.796 4192
+-106.832 27.796 4217
+-106.706 27.796 4225
+-106.58 27.796 4212
+-106.454 27.796 4145
+-106.328 27.796 4054
+-106.202 27.796 3957
+-106.076 27.796 3838
+-105.95 27.796 3659
+-105.824 27.796 3479
+-105.698 27.796 3312
+-105.572 27.796 3246
+-105.446 27.796 3224
+-105.32 27.796 3253
+-105.194 27.796 3302
+-105.068 27.796 3336
+-104.942 27.796 3370
+-104.816 27.796 3351
+-104.69 27.796 3368
+-104.564 27.796 3380
+-104.438 27.796 3381
+-104.312 27.796 3389
+-104.186 27.796 3395
+-104.06 27.796 3400
+-103.934 27.796 3344
+-103.808 27.796 3347
+-103.682 27.796 3349
+-103.556 27.796 3283
+-103.43 27.796 3285
+-103.304 27.796 3284
+-103.178 27.796 3288
+-103.052 27.796 3334
+-102.926 27.796 3344
+-102.8 27.796 3259
+-102.674 27.796 3263
+-102.548 27.796 3266
+-102.422 27.796 3270
+-102.296 27.796 3264
+-102.17 27.796 3267
+-102.044 27.796 3255
+-101.918 27.796 3258
+-101.792 27.796 3197
+-101.666 27.796 3200
+-101.54 27.796 3202
+-101.414 27.796 3204
+-101.288 27.796 3206
+-101.162 27.796 3208
+-101.036 27.796 3171
+-100.91 27.796 3278
+-100.784 27.796 3180
+-100.658 27.796 3185
+-100.532 27.796 3187
+-100.406 27.796 3189
+-100.28 27.796 3190
+-100.154 27.796 3192
+-100.028 27.796 3193
+-99.902 27.796 3195
+-99.776 27.796 3196
+-99.65 27.796 3197
+-99.524 27.796 3127
+-99.398 27.796 3127
+-99.272 27.796 3127
+-99.146 27.796 3128
+-99.02 27.796 3128
+-98.894 27.796 3175
+-98.768 27.796 3141
+-98.642 27.796 3135
+-98.516 27.796 3137
+-98.39 27.796 3139
+-98.264 27.796 3106
+-98.138 27.796 3107
+-98.012 27.796 3109
+-97.886 27.796 3050
+-97.76 27.796 3051
+-97.634 27.796 3052
+-97.508 27.796 2886
+-97.382 27.796 2847
+-97.256 27.796 2797
+-97.13 27.796 2714
+-97.004 27.796 2563
+-96.878 27.796 2552
+-96.752 27.796 2607
+-96.626 27.796 2568
+-96.5 27.796 2566
+-96.374 27.796 2579
+-96.248 27.796 2598
+-96.122 27.796 2684
+-95.996 27.796 2699
+-95.87 27.796 2703
+-95.744 27.796 2788
+-95.618 27.796 3020
+-95.492 27.796 3023
+-95.366 27.796 3026
+-95.24 27.796 3076
+-95.114 27.796 3076
+-94.988 27.796 3077
+-94.862 27.796 3106
+-94.736 27.796 3140
+-94.61 27.796 3139
+-94.484 27.796 3139
+-94.358 27.796 3346
+-94.232 27.796 3346
+-94.106 27.796 3391
+-93.98 27.796 3389
+-93.854 27.796 3388
+-93.728 27.796 3386
+-93.602 27.796 3384
+-93.476 27.796 3382
+-93.35 27.796 3380
+-93.224 27.796 3378
+-93.098 27.796 3376
+-92.972 27.796 3373
+-92.846 27.796 3371
+-92.72 27.796 3368
+-92.594 27.796 3365
+-92.468 27.796 3362
+-92.342 27.796 3534
+-92.216 27.796 3530
+-92.09 27.796 3526
+-91.964 27.796 3521
+-91.838 27.796 3517
+-91.712 27.796 3512
+-91.586 27.796 3506
+-91.46 27.796 3501
+-91.334 27.796 3495
+-91.208 27.796 3488
+-91.082 27.796 3482
+-90.956 27.796 3607
+-90.83 27.796 3598
+-90.704 27.796 3590
+-90.578 27.796 3581
+-90.452 27.796 3573
+-90.326 27.796 3565
+-90.2 27.796 3557
+-90.074 27.796 3551
+-89.948 27.796 3547
+-89.822 27.796 3546
+-89.696 27.796 3547
+-89.57 27.796 3553
+-89.444 27.796 3583
+-89.318 27.796 3643
+-89.192 27.796 3684
+-89.066 27.796 3770
+-88.94 27.796 3795
+-88.814 27.796 3821
+-88.688 27.796 3864
+-88.562 27.796 3939
+-88.436 27.796 3954
+-88.31 27.796 3985
+-88.184 27.796 4018
+-88.058 27.796 4077
+-87.932 27.796 4171
+-87.806 27.796 4215
+-87.68 27.796 4284
+-87.554 27.796 4337
+-87.428 27.796 4413
+-87.302 27.796 4469
+-87.176 27.796 4551
+-87.05 27.796 4639
+-86.924 27.796 4672
+-86.798 27.796 4756
+-86.672 27.796 4905
+-86.546 27.796 5029
+-86.42 27.796 5160
+-86.294 27.796 5300
+-86.168 27.796 5509
+-86.042 27.796 5539
+-85.916 27.796 5720
+-85.79 27.796 5838
+-85.664 27.796 5971
+-85.538 27.796 6077
+-85.412 27.796 6214
+-85.286 27.796 6294
+-85.16 27.796 6558
+-85.034 27.796 6769
+-84.908 27.796 6892
+-84.782 27.796 7023
+-84.656 27.796 7058
+-84.53 27.796 7265
+-84.404 27.796 7420
+-84.278 27.796 7469
+-84.152 27.796 7729
+-84.026 27.796 7819
+-83.9 27.796 7961
+-83.774 27.796 8068
+-83.648 27.796 8234
+-83.522 27.796 8328
+-83.396 27.796 8548
+-83.27 27.796 8680
+-83.144 27.796 8849
+-83.018 27.796 9010
+-82.892 27.796 9080
+-82.766 27.796 9311
+-82.64 27.796 9385
+-82.514 27.796 9596
+-82.388 27.796 9677
+-82.262 27.796 9741
+-82.136 27.796 9857
+-82.01 27.796 9638
+-81.884 27.796 9553
+-81.758 27.796 9408
+-81.632 27.796 9223
+-81.506 27.796 9091
+-81.38 27.796 9012
+-81.254 27.796 8780
+-81.128 27.796 8616
+-81.002 27.796 8556
+-80.876 27.796 8406
+-80.75 27.796 8275
+-80.624 27.796 8101
+-80.498 27.796 7927
+-80.372 27.796 7837
+-80.246 27.796 7676
+-80.12 27.796 7546
+-79.994 27.796 7407
+-79.868 27.796 7198
+-79.742 27.796 7144
+-79.616 27.796 6988
+-79.49 27.796 6815
+-79.364 27.796 6655
+-79.238 27.796 6528
+-79.112 27.796 6426
+-78.986 27.796 6316
+-78.86 27.796 6149
+-78.734 27.796 5988
+-78.608 27.796 5768
+-78.482 27.796 5774
+-78.356 27.796 5661
+-78.23 27.796 5520
+-78.104 27.796 5364
+-77.978 27.796 5164
+-77.852 27.796 4958
+-77.726 27.796 5066
+-77.6 27.796 5093
+-77.474 27.796 5044
+-77.348 27.796 4927
+-77.222 27.796 4711
+-77.096 27.796 4416
+-76.97 27.796 4113
+-76.844 27.796 3911
+-76.718 27.796 3936
+-76.592 27.796 3983
+-76.466 27.796 3931
+-76.34 27.796 3859
+-76.214 27.796 3755
+-76.088 27.796 3597
+-75.962 27.796 3461
+-75.836 27.796 3346
+-75.71 27.796 3212
+-75.584 27.796 3126
+-75.458 27.796 3106
+-75.332 27.796 3102
+-75.206 27.796 3136
+-75.08 27.796 3177
+-74.954 27.796 3178
+-74.828 27.796 3158
+-74.702 27.796 3173
+-74.576 27.796 3165
+-74.45 27.796 3187
+-74.324 27.796 3207
+-74.198 27.796 3186
+-74.072 27.796 3191
+-73.946 27.796 3204
+-73.82 27.796 3216
+-73.694 27.796 3227
+-73.568 27.796 3237
+-73.442 27.796 3246
+-73.316 27.796 3254
+-73.19 27.796 3227
+-73.064 27.796 3219
+-72.938 27.796 3225
+-72.812 27.796 3192
+-72.686 27.796 3197
+-72.56 27.796 3201
+-72.434 27.796 3205
+-72.308 27.796 3209
+-72.182 27.796 3213
+-72.056 27.796 3216
+-71.93 27.796 3220
+-71.804 27.796 3223
+-71.678 27.796 3225
+-71.552 27.796 3189
+-71.426 27.796 3192
+-71.3 27.796 3194
+-71.174 27.796 3196
+-71.048 27.796 3198
+-70.922 27.796 3200
+-70.796 27.796 3202
+-70.67 27.796 3204
+-70.544 27.796 3205
+-70.418 27.796 3207
+-70.292 27.796 3209
+-70.166 27.796 3210
+-70.04 27.796 3211
+-69.914 27.796 3126
+-69.788 27.796 3126
+-69.662 27.796 3126
+-69.536 27.796 3125
+-69.41 27.796 3125
+-69.284 27.796 3012
+-69.158 27.796 3011
+-69.032 27.796 3010
+-68.906 27.796 3009
+-68.78 27.796 3008
+-68.654 27.796 3007
+-68.528 27.796 3005
+-68.402 27.796 3004
+-68.276 27.796 3003
+-68.15 27.796 3003
+-68.024 27.796 3002
+-67.898 27.796 3001
+-67.772 27.796 3000
+-67.646 27.796 2999
+-67.52 27.796 2998
+-67.394 27.796 2997
+-67.268 27.796 2996
+-67.142 27.796 2996
+-67.016 27.796 2995
+-66.89 27.796 2994
+-66.764 27.796 2993
+-66.638 27.796 2993
+-66.512 27.796 2992
+-66.386 27.796 2992
+-66.26 27.796 2991
+-66.134 27.796 2990
+-66.008 27.796 2990
+-65.882 27.796 2989
+-65.756 27.796 2989
+-65.63 27.796 2988
+-65.504 27.796 2988
+-65.378 27.796 2987
+-65.252 27.796 2987
+-65.126 27.796 2986
+-128 27.744 2777
+-127.874 27.744 2776
+-127.748 27.744 2776
+-127.622 27.744 2776
+-127.496 27.744 2778
+-127.37 27.744 2789
+-127.244 27.744 2851
+-127.118 27.744 2796
+-126.992 27.744 2799
+-126.866 27.744 2843
+-126.74 27.744 2846
+-126.614 27.744 2869
+-126.488 27.744 2911
+-126.362 27.744 2916
+-126.236 27.744 2920
+-126.11 27.744 2925
+-125.984 27.744 2931
+-125.858 27.744 2915
+-125.732 27.744 2913
+-125.606 27.744 2946
+-125.48 27.744 2955
+-125.354 27.744 2996
+-125.228 27.744 3006
+-125.102 27.744 2984
+-124.976 27.744 2981
+-124.85 27.744 3002
+-124.724 27.744 3013
+-124.598 27.744 3025
+-124.472 27.744 3006
+-124.346 27.744 3393
+-124.22 27.744 3391
+-124.094 27.744 3389
+-123.968 27.744 3368
+-123.842 27.744 3366
+-123.716 27.744 3353
+-123.59 27.744 3377
+-123.464 27.744 3374
+-123.338 27.744 3423
+-123.212 27.744 3418
+-123.086 27.744 3388
+-122.96 27.744 3397
+-122.834 27.744 3417
+-122.708 27.744 3409
+-122.582 27.744 3424
+-122.456 27.744 3414
+-122.33 27.744 3426
+-122.204 27.744 3406
+-122.078 27.744 3393
+-121.952 27.744 3377
+-121.826 27.744 3378
+-121.7 27.744 3356
+-121.574 27.744 3331
+-121.448 27.744 3307
+-121.322 27.744 3280
+-121.196 27.744 3252
+-121.07 27.744 3246
+-120.944 27.744 3251
+-120.818 27.744 3268
+-120.692 27.744 3321
+-120.566 27.744 3338
+-120.44 27.744 3361
+-120.314 27.744 3391
+-120.188 27.744 3417
+-120.062 27.744 3428
+-119.936 27.744 3459
+-119.81 27.744 3486
+-119.684 27.744 3497
+-119.558 27.744 3492
+-119.432 27.744 3549
+-119.306 27.744 3638
+-119.18 27.744 3714
+-119.054 27.744 3768
+-118.928 27.744 3779
+-118.802 27.744 3784
+-118.676 27.744 3835
+-118.55 27.744 3896
+-118.424 27.744 3932
+-118.298 27.744 3933
+-118.172 27.744 3938
+-118.046 27.744 3978
+-117.92 27.744 4001
+-117.794 27.744 4054
+-117.668 27.744 4085
+-117.542 27.744 4085
+-117.416 27.744 4070
+-117.29 27.744 4061
+-117.164 27.744 4090
+-117.038 27.744 4084
+-116.912 27.744 4083
+-116.786 27.744 4084
+-116.66 27.744 4082
+-116.534 27.744 4049
+-116.408 27.744 4008
+-116.282 27.744 4011
+-116.156 27.744 3977
+-116.03 27.744 3955
+-115.904 27.744 3956
+-115.778 27.744 3939
+-115.652 27.744 3925
+-115.526 27.744 3887
+-115.4 27.744 3835
+-115.274 27.744 3732
+-115.148 27.744 3666
+-115.022 27.744 3609
+-114.896 27.744 3569
+-114.77 27.744 3603
+-114.644 27.744 3638
+-114.518 27.744 3671
+-114.392 27.744 3698
+-114.266 27.744 3743
+-114.14 27.744 3792
+-114.014 27.744 3849
+-113.888 27.744 3929
+-113.762 27.744 4000
+-113.636 27.744 4101
+-113.51 27.744 4159
+-113.384 27.744 4170
+-113.258 27.744 4233
+-113.132 27.744 4355
+-113.006 27.744 4449
+-112.88 27.744 4489
+-112.754 27.744 4584
+-112.628 27.744 4664
+-112.502 27.744 4735
+-112.376 27.744 4849
+-112.25 27.744 4882
+-112.124 27.744 4916
+-111.998 27.744 4987
+-111.872 27.744 5037
+-111.746 27.744 5025
+-111.62 27.744 5100
+-111.494 27.744 5125
+-111.368 27.744 5165
+-111.242 27.744 5168
+-111.116 27.744 5209
+-110.99 27.744 5230
+-110.864 27.744 5250
+-110.738 27.744 5241
+-110.612 27.744 5262
+-110.486 27.744 5275
+-110.36 27.744 5276
+-110.234 27.744 5273
+-110.108 27.744 5260
+-109.982 27.744 5283
+-109.856 27.744 5247
+-109.73 27.744 5219
+-109.604 27.744 5170
+-109.478 27.744 5145
+-109.352 27.744 5130
+-109.226 27.744 5077
+-109.1 27.744 5053
+-108.974 27.744 5027
+-108.848 27.744 4967
+-108.722 27.744 4881
+-108.596 27.744 4831
+-108.47 27.744 4788
+-108.344 27.744 4713
+-108.218 27.744 4652
+-108.092 27.744 4637
+-107.966 27.744 4598
+-107.84 27.744 4533
+-107.714 27.744 4443
+-107.588 27.744 4439
+-107.462 27.744 4413
+-107.336 27.744 4369
+-107.21 27.744 4303
+-107.084 27.744 4266
+-106.958 27.744 4264
+-106.832 27.744 4244
+-106.706 27.744 4189
+-106.58 27.744 4160
+-106.454 27.744 4108
+-106.328 27.744 4038
+-106.202 27.744 3919
+-106.076 27.744 3756
+-105.95 27.744 3522
+-105.824 27.744 3302
+-105.698 27.744 3113
+-105.572 27.744 3022
+-105.446 27.744 3033
+-105.32 27.744 3121
+-105.194 27.744 3204
+-105.068 27.744 3241
+-104.942 27.744 3289
+-104.816 27.744 3312
+-104.69 27.744 3337
+-104.564 27.744 3316
+-104.438 27.744 3329
+-104.312 27.744 3367
+-104.186 27.744 3376
+-104.06 27.744 3383
+-103.934 27.744 3389
+-103.808 27.744 3334
+-103.682 27.744 3337
+-103.556 27.744 3340
+-103.43 27.744 3274
+-103.304 27.744 3277
+-103.178 27.744 3208
+-103.052 27.744 3253
+-102.926 27.744 3256
+-102.8 27.744 3262
+-102.674 27.744 3252
+-102.548 27.744 3255
+-102.422 27.744 3259
+-102.296 27.744 3263
+-102.17 27.744 3257
+-102.044 27.744 3261
+-101.918 27.744 3249
+-101.792 27.744 3253
+-101.666 27.744 3192
+-101.54 27.744 3194
+-101.414 27.744 3196
+-101.288 27.744 3199
+-101.162 27.744 3201
+-101.036 27.744 3203
+-100.91 27.744 3167
+-100.784 27.744 3275
+-100.658 27.744 3177
+-100.532 27.744 3183
+-100.406 27.744 3185
+-100.28 27.744 3186
+-100.154 27.744 3188
+-100.028 27.744 3190
+-99.902 27.744 3191
+-99.776 27.744 3193
+-99.65 27.744 3194
+-99.524 27.744 3196
+-99.398 27.744 3125
+-99.272 27.744 3125
+-99.146 27.744 3126
+-99.02 27.744 3126
+-98.894 27.744 3127
+-98.768 27.744 3176
+-98.642 27.744 3141
+-98.516 27.744 3135
+-98.39 27.744 3137
+-98.264 27.744 3139
+-98.138 27.744 3106
+-98.012 27.744 3108
+-97.886 27.744 3109
+-97.76 27.744 3050
+-97.634 27.744 3051
+-97.508 27.744 2948
+-97.382 27.744 2845
+-97.256 27.744 2796
+-97.13 27.744 2783
+-97.004 27.744 2641
+-96.878 27.744 2617
+-96.752 27.744 2623
+-96.626 27.744 2568
+-96.5 27.744 2566
+-96.374 27.744 2594
+-96.248 27.744 2715
+-96.122 27.744 2727
+-95.996 27.744 2702
+-95.87 27.744 2787
+-95.744 27.744 2805
+-95.618 27.744 3022
+-95.492 27.744 3025
+-95.366 27.744 3028
+-95.24 27.744 3077
+-95.114 27.744 3077
+-94.988 27.744 3106
+-94.862 27.744 3140
+-94.736 27.744 3140
+-94.61 27.744 3139
+-94.484 27.744 3347
+-94.358 27.744 3347
+-94.232 27.744 3392
+-94.106 27.744 3390
+-93.98 27.744 3388
+-93.854 27.744 3387
+-93.728 27.744 3385
+-93.602 27.744 3383
+-93.476 27.744 3381
+-93.35 27.744 3379
+-93.224 27.744 3376
+-93.098 27.744 3374
+-92.972 27.744 3371
+-92.846 27.744 3369
+-92.72 27.744 3366
+-92.594 27.744 3362
+-92.468 27.744 3534
+-92.342 27.744 3530
+-92.216 27.744 3526
+-92.09 27.744 3521
+-91.964 27.744 3516
+-91.838 27.744 3510
+-91.712 27.744 3504
+-91.586 27.744 3498
+-91.46 27.744 3491
+-91.334 27.744 3484
+-91.208 27.744 3477
+-91.082 27.744 3587
+-90.956 27.744 3577
+-90.83 27.744 3567
+-90.704 27.744 3556
+-90.578 27.744 3544
+-90.452 27.744 3532
+-90.326 27.744 3521
+-90.2 27.744 3509
+-90.074 27.744 3499
+-89.948 27.744 3490
+-89.822 27.744 3483
+-89.696 27.744 3481
+-89.57 27.744 3526
+-89.444 27.744 3533
+-89.318 27.744 3575
+-89.192 27.744 3596
+-89.066 27.744 3644
+-88.94 27.744 3740
+-88.814 27.744 3771
+-88.688 27.744 3806
+-88.562 27.744 3887
+-88.436 27.744 3922
+-88.31 27.744 3921
+-88.184 27.744 3912
+-88.058 27.744 3936
+-87.932 27.744 4007
+-87.806 27.744 4126
+-87.68 27.744 4232
+-87.554 27.744 4359
+-87.428 27.744 4458
+-87.302 27.744 4523
+-87.176 27.744 4589
+-87.05 27.744 4661
+-86.924 27.744 4728
+-86.798 27.744 4655
+-86.672 27.744 4855
+-86.546 27.744 5018
+-86.42 27.744 5144
+-86.294 27.744 5357
+-86.168 27.744 5530
+-86.042 27.744 5630
+-85.916 27.744 5735
+-85.79 27.744 5793
+-85.664 27.744 5920
+-85.538 27.744 6139
+-85.412 27.744 6149
+-85.286 27.744 6309
+-85.16 27.744 6533
+-85.034 27.744 6759
+-84.908 27.744 6919
+-84.782 27.744 6993
+-84.656 27.744 7153
+-84.53 27.744 7206
+-84.404 27.744 7369
+-84.278 27.744 7516
+-84.152 27.744 7700
+-84.026 27.744 7799
+-83.9 27.744 7963
+-83.774 27.744 8060
+-83.648 27.744 8230
+-83.522 27.744 8335
+-83.396 27.744 8526
+-83.27 27.744 8649
+-83.144 27.744 8880
+-83.018 27.744 8955
+-82.892 27.744 9128
+-82.766 27.744 9195
+-82.64 27.744 9385
+-82.514 27.744 9534
+-82.388 27.744 9684
+-82.262 27.744 9809
+-82.136 27.744 9862
+-82.01 27.744 9672
+-81.884 27.744 9567
+-81.758 27.744 9415
+-81.632 27.744 9225
+-81.506 27.744 9131
+-81.38 27.744 8949
+-81.254 27.744 8882
+-81.128 27.744 8706
+-81.002 27.744 8517
+-80.876 27.744 8371
+-80.75 27.744 8291
+-80.624 27.744 8105
+-80.498 27.744 7905
+-80.372 27.744 7775
+-80.246 27.744 7677
+-80.12 27.744 7487
+-79.994 27.744 7363
+-79.868 27.744 7263
+-79.742 27.744 7073
+-79.616 27.744 6907
+-79.49 27.744 6881
+-79.364 27.744 6684
+-79.238 27.744 6554
+-79.112 27.744 6364
+-78.986 27.744 6267
+-78.86 27.744 6076
+-78.734 27.744 5955
+-78.608 27.744 5865
+-78.482 27.744 5733
+-78.356 27.744 5662
+-78.23 27.744 5522
+-78.104 27.744 5384
+-77.978 27.744 5180
+-77.852 27.744 5041
+-77.726 27.744 5087
+-77.6 27.744 5083
+-77.474 27.744 5055
+-77.348 27.744 4946
+-77.222 27.744 4741
+-77.096 27.744 4538
+-76.97 27.744 4285
+-76.844 27.744 4063
+-76.718 27.744 4015
+-76.592 27.744 3958
+-76.466 27.744 3887
+-76.34 27.744 3783
+-76.214 27.744 3648
+-76.088 27.744 3479
+-75.962 27.744 3344
+-75.836 27.744 3177
+-75.71 27.744 3033
+-75.584 27.744 2973
+-75.458 27.744 2963
+-75.332 27.744 2995
+-75.206 27.744 3040
+-75.08 27.744 3065
+-74.954 27.744 3117
+-74.828 27.744 3116
+-74.702 27.744 3156
+-74.576 27.744 3174
+-74.45 27.744 3180
+-74.324 27.744 3203
+-74.198 27.744 3209
+-74.072 27.744 3190
+-73.946 27.744 3198
+-73.82 27.744 3211
+-73.694 27.744 3223
+-73.568 27.744 3234
+-73.442 27.744 3244
+-73.316 27.744 3252
+-73.19 27.744 3261
+-73.064 27.744 3228
+-72.938 27.744 3219
+-72.812 27.744 3225
+-72.686 27.744 3191
+-72.56 27.744 3196
+-72.434 27.744 3200
+-72.308 27.744 3204
+-72.182 27.744 3208
+-72.056 27.744 3212
+-71.93 27.744 3215
+-71.804 27.744 3219
+-71.678 27.744 3183
+-71.552 27.744 3186
+-71.426 27.744 3189
+-71.3 27.744 3191
+-71.174 27.744 3193
+-71.048 27.744 3195
+-70.922 27.744 3197
+-70.796 27.744 3199
+-70.67 27.744 3201
+-70.544 27.744 3203
+-70.418 27.744 3205
+-70.292 27.744 3206
+-70.166 27.744 3208
+-70.04 27.744 3122
+-69.914 27.744 3122
+-69.788 27.744 3122
+-69.662 27.744 3121
+-69.536 27.744 3121
+-69.41 27.744 3121
+-69.284 27.744 3120
+-69.158 27.744 3008
+-69.032 27.744 3007
+-68.906 27.744 3006
+-68.78 27.744 3005
+-68.654 27.744 3004
+-68.528 27.744 3003
+-68.402 27.744 3002
+-68.276 27.744 3001
+-68.15 27.744 3000
+-68.024 27.744 2999
+-67.898 27.744 2998
+-67.772 27.744 2997
+-67.646 27.744 2997
+-67.52 27.744 2996
+-67.394 27.744 2995
+-67.268 27.744 2994
+-67.142 27.744 2994
+-67.016 27.744 2993
+-66.89 27.744 2992
+-66.764 27.744 2991
+-66.638 27.744 2991
+-66.512 27.744 2990
+-66.386 27.744 2990
+-66.26 27.744 2989
+-66.134 27.744 2988
+-66.008 27.744 2988
+-65.882 27.744 2987
+-65.756 27.744 2987
+-65.63 27.744 2986
+-65.504 27.744 2986
+-65.378 27.744 2985
+-65.252 27.744 2985
+-65.126 27.744 2985
+-128 27.692 2785
+-127.874 27.692 2784
+-127.748 27.692 2784
+-127.622 27.692 2787
+-127.496 27.692 2797
+-127.37 27.692 2860
+-127.244 27.692 2804
+-127.118 27.692 2806
+-126.992 27.692 2851
+-126.866 27.692 2853
+-126.74 27.692 2875
+-126.614 27.692 2918
+-126.488 27.692 2922
+-126.362 27.692 2926
+-126.236 27.692 2931
+-126.11 27.692 2936
+-125.984 27.692 2918
+-125.858 27.692 2915
+-125.732 27.692 2949
+-125.606 27.692 2957
+-125.48 27.692 2997
+-125.354 27.692 3006
+-125.228 27.692 2983
+-125.102 27.692 2980
+-124.976 27.692 2999
+-124.85 27.692 3010
+-124.724 27.692 3021
+-124.598 27.692 3001
+-124.472 27.692 3394
+-124.346 27.692 3392
+-124.22 27.692 3391
+-124.094 27.692 3369
+-123.968 27.692 3367
+-123.842 27.692 3354
+-123.716 27.692 3379
+-123.59 27.692 3376
+-123.464 27.692 3426
+-123.338 27.692 3421
+-123.212 27.692 3392
+-123.086 27.692 3401
+-122.96 27.692 3423
+-122.834 27.692 3416
+-122.708 27.692 3432
+-122.582 27.692 3424
+-122.456 27.692 3438
+-122.33 27.692 3419
+-122.204 27.692 3409
+-122.078 27.692 3396
+-121.952 27.692 3402
+-121.826 27.692 3386
+-121.7 27.692 3367
+-121.574 27.692 3352
+-121.448 27.692 3332
+-121.322 27.692 3309
+-121.196 27.692 3303
+-121.07 27.692 3296
+-120.944 27.692 3293
+-120.818 27.692 3329
+-120.692 27.692 3327
+-120.566 27.692 3338
+-120.44 27.692 3339
+-120.314 27.692 3345
+-120.188 27.692 3343
+-120.062 27.692 3356
+-119.936 27.692 3395
+-119.81 27.692 3454
+-119.684 27.692 3495
+-119.558 27.692 3522
+-119.432 27.692 3584
+-119.306 27.692 3644
+-119.18 27.692 3711
+-119.054 27.692 3749
+-118.928 27.692 3788
+-118.802 27.692 3805
+-118.676 27.692 3837
+-118.55 27.692 3898
+-118.424 27.692 3914
+-118.298 27.692 3893
+-118.172 27.692 3849
+-118.046 27.692 3933
+-117.92 27.692 3980
+-117.794 27.692 4027
+-117.668 27.692 4045
+-117.542 27.692 4052
+-117.416 27.692 4030
+-117.29 27.692 3989
+-117.164 27.692 4044
+-117.038 27.692 4050
+-116.912 27.692 4034
+-116.786 27.692 4023
+-116.66 27.692 4016
+-116.534 27.692 3969
+-116.408 27.692 3935
+-116.282 27.692 3935
+-116.156 27.692 3915
+-116.03 27.692 3896
+-115.904 27.692 3881
+-115.778 27.692 3855
+-115.652 27.692 3841
+-115.526 27.692 3801
+-115.4 27.692 3751
+-115.274 27.692 3700
+-115.148 27.692 3656
+-115.022 27.692 3616
+-114.896 27.692 3595
+-114.77 27.692 3609
+-114.644 27.692 3625
+-114.518 27.692 3641
+-114.392 27.692 3657
+-114.266 27.692 3669
+-114.14 27.692 3699
+-114.014 27.692 3759
+-113.888 27.692 3837
+-113.762 27.692 3918
+-113.636 27.692 4042
+-113.51 27.692 4137
+-113.384 27.692 4166
+-113.258 27.692 4197
+-113.132 27.692 4266
+-113.006 27.692 4357
+-112.88 27.692 4429
+-112.754 27.692 4502
+-112.628 27.692 4572
+-112.502 27.692 4676
+-112.376 27.692 4731
+-112.25 27.692 4802
+-112.124 27.692 4864
+-111.998 27.692 4919
+-111.872 27.692 4994
+-111.746 27.692 5038
+-111.62 27.692 5075
+-111.494 27.692 5090
+-111.368 27.692 5120
+-111.242 27.692 5134
+-111.116 27.692 5154
+-110.99 27.692 5175
+-110.864 27.692 5193
+-110.738 27.692 5205
+-110.612 27.692 5220
+-110.486 27.692 5216
+-110.36 27.692 5227
+-110.234 27.692 5232
+-110.108 27.692 5212
+-109.982 27.692 5188
+-109.856 27.692 5195
+-109.73 27.692 5168
+-109.604 27.692 5124
+-109.478 27.692 5108
+-109.352 27.692 5075
+-109.226 27.692 5033
+-109.1 27.692 5022
+-108.974 27.692 4981
+-108.848 27.692 4911
+-108.722 27.692 4828
+-108.596 27.692 4783
+-108.47 27.692 4740
+-108.344 27.692 4649
+-108.218 27.692 4628
+-108.092 27.692 4619
+-107.966 27.692 4574
+-107.84 27.692 4462
+-107.714 27.692 4338
+-107.588 27.692 4398
+-107.462 27.692 4405
+-107.336 27.692 4384
+-107.21 27.692 4345
+-107.084 27.692 4320
+-106.958 27.692 4280
+-106.832 27.692 4222
+-106.706 27.692 4197
+-106.58 27.692 4144
+-106.454 27.692 4086
+-106.328 27.692 4001
+-106.202 27.692 3887
+-106.076 27.692 3641
+-105.95 27.692 3425
+-105.824 27.692 3162
+-105.698 27.692 2931
+-105.572 27.692 2842
+-105.446 27.692 2889
+-105.32 27.692 2998
+-105.194 27.692 3102
+-105.068 27.692 3184
+-104.942 27.692 3244
+-104.816 27.692 3289
+-104.69 27.692 3306
+-104.564 27.692 3287
+-104.438 27.692 3303
+-104.312 27.692 3315
+-104.186 27.692 3311
+-104.06 27.692 3319
+-103.934 27.692 3326
+-103.808 27.692 3332
+-103.682 27.692 3325
+-103.556 27.692 3329
+-103.43 27.692 3216
+-103.304 27.692 3266
+-103.178 27.692 3194
+-103.052 27.692 3198
+-102.926 27.692 3244
+-102.8 27.692 3248
+-102.674 27.692 3254
+-102.548 27.692 3244
+-102.422 27.692 3248
+-102.296 27.692 3253
+-102.17 27.692 3257
+-102.044 27.692 3251
+-101.918 27.692 3256
+-101.792 27.692 3244
+-101.666 27.692 3248
+-101.54 27.692 3186
+-101.414 27.692 3189
+-101.288 27.692 3191
+-101.162 27.692 3194
+-101.036 27.692 3196
+-100.91 27.692 3198
+-100.784 27.692 3162
+-100.658 27.692 3272
+-100.532 27.692 3174
+-100.406 27.692 3180
+-100.28 27.692 3182
+-100.154 27.692 3184
+-100.028 27.692 3186
+-99.902 27.692 3188
+-99.776 27.692 3189
+-99.65 27.692 3191
+-99.524 27.692 3192
+-99.398 27.692 3194
+-99.272 27.692 3123
+-99.146 27.692 3124
+-99.02 27.692 3124
+-98.894 27.692 3125
+-98.768 27.692 3125
+-98.642 27.692 3176
+-98.516 27.692 3141
+-98.39 27.692 3136
+-98.264 27.692 3138
+-98.138 27.692 3140
+-98.012 27.692 3107
+-97.886 27.692 3108
+-97.76 27.692 3110
+-97.634 27.692 3050
+-97.508 27.692 2946
+-97.382 27.692 2944
+-97.256 27.692 2795
+-97.13 27.692 2781
+-97.004 27.692 2648
+-96.878 27.692 2616
+-96.752 27.692 2623
+-96.626 27.692 2568
+-96.5 27.692 2566
+-96.374 27.692 2595
+-96.248 27.692 2753
+-96.122 27.692 2730
+-95.996 27.692 2787
+-95.87 27.692 2805
+-95.744 27.692 2809
+-95.618 27.692 3052
+-95.492 27.692 3055
+-95.366 27.692 3057
+-95.24 27.692 3078
+-95.114 27.692 3118
+-94.988 27.692 3141
+-94.862 27.692 3140
+-94.736 27.692 3140
+-94.61 27.692 3375
+-94.484 27.692 3374
+-94.358 27.692 3373
+-94.232 27.692 3371
+-94.106 27.692 3370
+-93.98 27.692 3369
+-93.854 27.692 3367
+-93.728 27.692 3365
+-93.602 27.692 3363
+-93.476 27.692 3362
+-93.35 27.692 3359
+-93.224 27.692 3357
+-93.098 27.692 3355
+-92.972 27.692 3352
+-92.846 27.692 3366
+-92.72 27.692 3363
+-92.594 27.692 3522
+-92.468 27.692 3518
+-92.342 27.692 3514
+-92.216 27.692 3509
+-92.09 27.692 3504
+-91.964 27.692 3498
+-91.838 27.692 3493
+-91.712 27.692 3497
+-91.586 27.692 3490
+-91.46 27.692 3482
+-91.334 27.692 3474
+-91.208 27.692 3582
+-91.082 27.692 3571
+-90.956 27.692 3558
+-90.83 27.692 3545
+-90.704 27.692 3531
+-90.578 27.692 3516
+-90.452 27.692 3501
+-90.326 27.692 3484
+-90.2 27.692 3467
+-90.074 27.692 3451
+-89.948 27.692 3436
+-89.822 27.692 3423
+-89.696 27.692 3453
+-89.57 27.692 3448
+-89.444 27.692 3451
+-89.318 27.692 3463
+-89.192 27.692 3509
+-89.066 27.692 3554
+-88.94 27.692 3660
+-88.814 27.692 3719
+-88.688 27.692 3820
+-88.562 27.692 3843
+-88.436 27.692 3849
+-88.31 27.692 3847
+-88.184 27.692 3805
+-88.058 27.692 3775
+-87.932 27.692 3774
+-87.806 27.692 3933
+-87.68 27.692 4156
+-87.554 27.692 4334
+-87.428 27.692 4443
+-87.302 27.692 4522
+-87.176 27.692 4617
+-87.05 27.692 4696
+-86.924 27.692 4765
+-86.798 27.692 4800
+-86.672 27.692 4932
+-86.546 27.692 4965
+-86.42 27.692 5125
+-86.294 27.692 5317
+-86.168 27.692 5516
+-86.042 27.692 5537
+-85.916 27.692 5622
+-85.79 27.692 5819
+-85.664 27.692 5956
+-85.538 27.692 6042
+-85.412 27.692 6153
+-85.286 27.692 6342
+-85.16 27.692 6530
+-85.034 27.692 6732
+-84.908 27.692 6864
+-84.782 27.692 6998
+-84.656 27.692 7196
+-84.53 27.692 7326
+-84.404 27.692 7423
+-84.278 27.692 7586
+-84.152 27.692 7686
+-84.026 27.692 7878
+-83.9 27.692 7956
+-83.774 27.692 8096
+-83.648 27.692 8239
+-83.522 27.692 8366
+-83.396 27.692 8526
+-83.27 27.692 8654
+-83.144 27.692 8859
+-83.018 27.692 8983
+-82.892 27.692 9057
+-82.766 27.692 9243
+-82.64 27.692 9362
+-82.514 27.692 9514
+-82.388 27.692 9637
+-82.262 27.692 9733
+-82.136 27.692 9741
+-82.01 27.692 9656
+-81.884 27.692 9565
+-81.758 27.692 9393
+-81.632 27.692 9269
+-81.506 27.692 9155
+-81.38 27.692 9000
+-81.254 27.692 8877
+-81.128 27.692 8702
+-81.002 27.692 8474
+-80.876 27.692 8445
+-80.75 27.692 8233
+-80.624 27.692 8158
+-80.498 27.692 7960
+-80.372 27.692 7852
+-80.246 27.692 7755
+-80.12 27.692 7564
+-79.994 27.692 7384
+-79.868 27.692 7284
+-79.742 27.692 7094
+-79.616 27.692 6933
+-79.49 27.692 6757
+-79.364 27.692 6680
+-79.238 27.692 6546
+-79.112 27.692 6389
+-78.986 27.692 6237
+-78.86 27.692 6132
+-78.734 27.692 6007
+-78.608 27.692 5852
+-78.482 27.692 5660
+-78.356 27.692 5617
+-78.23 27.692 5413
+-78.104 27.692 5429
+-77.978 27.692 5280
+-77.852 27.692 5152
+-77.726 27.692 5135
+-77.6 27.692 5101
+-77.474 27.692 5069
+-77.348 27.692 4922
+-77.222 27.692 4761
+-77.096 27.692 4604
+-76.97 27.692 4365
+-76.844 27.692 4162
+-76.718 27.692 4059
+-76.592 27.692 3942
+-76.466 27.692 3827
+-76.34 27.692 3684
+-76.214 27.692 3502
+-76.088 27.692 3362
+-75.962 27.692 3196
+-75.836 27.692 3003
+-75.71 27.692 2864
+-75.584 27.692 2784
+-75.458 27.692 2805
+-75.332 27.692 2877
+-75.206 27.692 2940
+-75.08 27.692 3002
+-74.954 27.692 3069
+-74.828 27.692 3125
+-74.702 27.692 3127
+-74.576 27.692 3166
+-74.45 27.692 3183
+-74.324 27.692 3188
+-74.198 27.692 3210
+-74.072 27.692 3216
+-73.946 27.692 3196
+-73.82 27.692 3203
+-73.694 27.692 3216
+-73.568 27.692 3228
+-73.442 27.692 3238
+-73.316 27.692 3247
+-73.19 27.692 3256
+-73.064 27.692 3264
+-72.938 27.692 3228
+-72.812 27.692 3220
+-72.686 27.692 3226
+-72.56 27.692 3190
+-72.434 27.692 3195
+-72.308 27.692 3200
+-72.182 27.692 3204
+-72.056 27.692 3208
+-71.93 27.692 3211
+-71.804 27.692 3177
+-71.678 27.692 3180
+-71.552 27.692 3183
+-71.426 27.692 3185
+-71.3 27.692 3188
+-71.174 27.692 3190
+-71.048 27.692 3193
+-70.922 27.692 3195
+-70.796 27.692 3197
+-70.67 27.692 3199
+-70.544 27.692 3201
+-70.418 27.692 3202
+-70.292 27.692 3204
+-70.166 27.692 3118
+-70.04 27.692 3117
+-69.914 27.692 3117
+-69.788 27.692 3117
+-69.662 27.692 3117
+-69.536 27.692 3117
+-69.41 27.692 3116
+-69.284 27.692 3116
+-69.158 27.692 3116
+-69.032 27.692 3004
+-68.906 27.692 3003
+-68.78 27.692 3002
+-68.654 27.692 3001
+-68.528 27.692 3000
+-68.402 27.692 2999
+-68.276 27.692 2998
+-68.15 27.692 2998
+-68.024 27.692 2997
+-67.898 27.692 2996
+-67.772 27.692 2995
+-67.646 27.692 2994
+-67.52 27.692 2994
+-67.394 27.692 2993
+-67.268 27.692 2992
+-67.142 27.692 2991
+-67.016 27.692 2991
+-66.89 27.692 2990
+-66.764 27.692 2989
+-66.638 27.692 2989
+-66.512 27.692 2988
+-66.386 27.692 2988
+-66.26 27.692 2987
+-66.134 27.692 2987
+-66.008 27.692 2986
+-65.882 27.692 2985
+-65.756 27.692 2985
+-65.63 27.692 2985
+-65.504 27.692 2984
+-65.378 27.692 2984
+-65.252 27.692 2983
+-65.126 27.692 2983
+-128 27.64 2793
+-127.874 27.64 2792
+-127.748 27.64 2794
+-127.622 27.64 2805
+-127.496 27.64 2868
+-127.37 27.64 2811
+-127.244 27.64 2813
+-127.118 27.64 2858
+-126.992 27.64 2860
+-126.866 27.64 2882
+-126.74 27.64 2925
+-126.614 27.64 2928
+-126.488 27.64 2932
+-126.362 27.64 2936
+-126.236 27.64 2941
+-126.11 27.64 2922
+-125.984 27.64 2918
+-125.858 27.64 2951
+-125.732 27.64 2958
+-125.606 27.64 2999
+-125.48 27.64 3007
+-125.354 27.64 2983
+-125.228 27.64 2978
+-125.102 27.64 2997
+-124.976 27.64 3007
+-124.85 27.64 3017
+-124.724 27.64 2997
+-124.598 27.64 3396
+-124.472 27.64 3395
+-124.346 27.64 3393
+-124.22 27.64 3371
+-124.094 27.64 3369
+-123.968 27.64 3355
+-123.842 27.64 3381
+-123.716 27.64 3378
+-123.59 27.64 3429
+-123.464 27.64 3425
+-123.338 27.64 3395
+-123.212 27.64 3406
+-123.086 27.64 3428
+-122.96 27.64 3421
+-122.834 27.64 3439
+-122.708 27.64 3432
+-122.582 27.64 3449
+-122.456 27.64 3431
+-122.33 27.64 3422
+-122.204 27.64 3412
+-122.078 27.64 3422
+-121.952 27.64 3409
+-121.826 27.64 3394
+-121.7 27.64 3384
+-121.574 27.64 3368
+-121.448 27.64 3348
+-121.322 27.64 3344
+-121.196 27.64 3335
+-121.07 27.64 3322
+-120.944 27.64 3350
+-120.818 27.64 3333
+-120.692 27.64 3333
+-120.566 27.64 3317
+-120.44 27.64 3313
+-120.314 27.64 3275
+-120.188 27.64 3230
+-120.062 27.64 3218
+-119.936 27.64 3271
+-119.81 27.64 3376
+-119.684 27.64 3456
+-119.558 27.64 3516
+-119.432 27.64 3567
+-119.306 27.64 3642
+-119.18 27.64 3681
+-119.054 27.64 3732
+-118.928 27.64 3763
+-118.802 27.64 3806
+-118.676 27.64 3840
+-118.55 27.64 3896
+-118.424 27.64 3907
+-118.298 27.64 3904
+-118.172 27.64 3895
+-118.046 27.64 3928
+-117.92 27.64 3966
+-117.794 27.64 3994
+-117.668 27.64 4013
+-117.542 27.64 4022
+-117.416 27.64 4021
+-117.29 27.64 4013
+-117.164 27.64 4012
+-117.038 27.64 3985
+-116.912 27.64 3947
+-116.786 27.64 3959
+-116.66 27.64 3958
+-116.534 27.64 3919
+-116.408 27.64 3897
+-116.282 27.64 3905
+-116.156 27.64 3873
+-116.03 27.64 3835
+-115.904 27.64 3798
+-115.778 27.64 3782
+-115.652 27.64 3757
+-115.526 27.64 3721
+-115.4 27.64 3691
+-115.274 27.64 3666
+-115.148 27.64 3634
+-115.022 27.64 3616
+-114.896 27.64 3606
+-114.77 27.64 3612
+-114.644 27.64 3613
+-114.518 27.64 3615
+-114.392 27.64 3601
+-114.266 27.64 3577
+-114.14 27.64 3559
+-114.014 27.64 3657
+-113.888 27.64 3772
+-113.762 27.64 3819
+-113.636 27.64 3917
+-113.51 27.64 4067
+-113.384 27.64 4144
+-113.258 27.64 4172
+-113.132 27.64 4237
+-113.006 27.64 4280
+-112.88 27.64 4358
+-112.754 27.64 4420
+-112.628 27.64 4492
+-112.502 27.64 4583
+-112.376 27.64 4640
+-112.25 27.64 4708
+-112.124 27.64 4756
+-111.998 27.64 4852
+-111.872 27.64 4916
+-111.746 27.64 4983
+-111.62 27.64 5035
+-111.494 27.64 5085
+-111.368 27.64 5088
+-111.242 27.64 5049
+-111.116 27.64 5108
+-110.99 27.64 5141
+-110.864 27.64 5147
+-110.738 27.64 5149
+-110.612 27.64 5144
+-110.486 27.64 5148
+-110.36 27.64 5150
+-110.234 27.64 5159
+-110.108 27.64 5159
+-109.982 27.64 5141
+-109.856 27.64 5130
+-109.73 27.64 5091
+-109.604 27.64 5040
+-109.478 27.64 5033
+-109.352 27.64 5004
+-109.226 27.64 4975
+-109.1 27.64 4953
+-108.974 27.64 4899
+-108.848 27.64 4865
+-108.722 27.64 4809
+-108.596 27.64 4751
+-108.47 27.64 4696
+-108.344 27.64 4637
+-108.218 27.64 4610
+-108.092 27.64 4587
+-107.966 27.64 4536
+-107.84 27.64 4471
+-107.714 27.64 4406
+-107.588 27.64 4416
+-107.462 27.64 4415
+-107.336 27.64 4394
+-107.21 27.64 4349
+-107.084 27.64 4316
+-106.958 27.64 4299
+-106.832 27.64 4221
+-106.706 27.64 4186
+-106.58 27.64 4140
+-106.454 27.64 4060
+-106.328 27.64 3877
+-106.202 27.64 3776
+-106.076 27.64 3557
+-105.95 27.64 3340
+-105.824 27.64 3072
+-105.698 27.64 2848
+-105.572 27.64 2763
+-105.446 27.64 2825
+-105.32 27.64 2942
+-105.194 27.64 3061
+-105.068 27.64 3155
+-104.942 27.64 3209
+-104.816 27.64 3225
+-104.69 27.64 3256
+-104.564 27.64 3301
+-104.438 27.64 3277
+-104.312 27.64 3291
+-104.186 27.64 3303
+-104.06 27.64 3299
+-103.934 27.64 3307
+-103.808 27.64 3315
+-103.682 27.64 3322
+-103.556 27.64 3281
+-103.43 27.64 3201
+-103.304 27.64 3204
+-103.178 27.64 3207
+-103.052 27.64 3184
+-102.926 27.64 3188
+-102.8 27.64 3236
+-102.674 27.64 3240
+-102.548 27.64 3247
+-102.422 27.64 3237
+-102.296 27.64 3242
+-102.17 27.64 3246
+-102.044 27.64 3250
+-101.918 27.64 3246
+-101.792 27.64 3250
+-101.666 27.64 3238
+-101.54 27.64 3243
+-101.414 27.64 3181
+-101.288 27.64 3184
+-101.162 27.64 3187
+-101.036 27.64 3189
+-100.91 27.64 3192
+-100.784 27.64 3194
+-100.658 27.64 3158
+-100.532 27.64 3270
+-100.406 27.64 3171
+-100.28 27.64 3178
+-100.154 27.64 3180
+-100.028 27.64 3182
+-99.902 27.64 3184
+-99.776 27.64 3186
+-99.65 27.64 3187
+-99.524 27.64 3189
+-99.398 27.64 3191
+-99.272 27.64 3192
+-99.146 27.64 3121
+-99.02 27.64 3122
+-98.894 27.64 3123
+-98.768 27.64 3123
+-98.642 27.64 3124
+-98.516 27.64 3177
+-98.39 27.64 3142
+-98.264 27.64 3137
+-98.138 27.64 3139
+-98.012 27.64 3140
+-97.886 27.64 3107
+-97.76 27.64 3109
+-97.634 27.64 3110
+-97.508 27.64 2945
+-97.382 27.64 2943
+-97.256 27.64 2784
+-97.13 27.64 2780
+-97.004 27.64 2707
+-96.878 27.64 2640
+-96.752 27.64 2622
+-96.626 27.64 2620
+-96.5 27.64 2623
+-96.374 27.64 2621
+-96.248 27.64 2755
+-96.122 27.64 2748
+-95.996 27.64 2804
+-95.87 27.64 2808
+-95.744 27.64 3051
+-95.618 27.64 3054
+-95.492 27.64 3056
+-95.366 27.64 3059
+-95.24 27.64 3118
+-95.114 27.64 3141
+-94.988 27.64 3141
+-94.862 27.64 3140
+-94.736 27.64 3376
+-94.61 27.64 3375
+-94.484 27.64 3374
+-94.358 27.64 3372
+-94.232 27.64 3371
+-94.106 27.64 3369
+-93.98 27.64 3368
+-93.854 27.64 3366
+-93.728 27.64 3364
+-93.602 27.64 3362
+-93.476 27.64 3360
+-93.35 27.64 3358
+-93.224 27.64 3356
+-93.098 27.64 3353
+-92.972 27.64 3350
+-92.846 27.64 3347
+-92.72 27.64 3523
+-92.594 27.64 3519
+-92.468 27.64 3514
+-92.342 27.64 3510
+-92.216 27.64 3505
+-92.09 27.64 3499
+-91.964 27.64 3493
+-91.838 27.64 3486
+-91.712 27.64 3479
+-91.586 27.64 3471
+-91.46 27.64 3492
+-91.334 27.64 3481
+-91.208 27.64 3567
+-91.082 27.64 3554
+-90.956 27.64 3540
+-90.83 27.64 3524
+-90.704 27.64 3507
+-90.578 27.64 3488
+-90.452 27.64 3468
+-90.326 27.64 3446
+-90.2 27.64 3423
+-90.074 27.64 3399
+-89.948 27.64 3375
+-89.822 27.64 3377
+-89.696 27.64 3369
+-89.57 27.64 3355
+-89.444 27.64 3351
+-89.318 27.64 3391
+-89.192 27.64 3416
+-89.066 27.64 3463
+-88.94 27.64 3577
+-88.814 27.64 3639
+-88.688 27.64 3761
+-88.562 27.64 3791
+-88.436 27.64 3798
+-88.31 27.64 3768
+-88.184 27.64 3718
+-88.058 27.64 3590
+-87.932 27.64 3531
+-87.806 27.64 3689
+-87.68 27.64 4015
+-87.554 27.64 4281
+-87.428 27.64 4438
+-87.302 27.64 4521
+-87.176 27.64 4596
+-87.05 27.64 4685
+-86.924 27.64 4764
+-86.798 27.64 4881
+-86.672 27.64 4965
+-86.546 27.64 5037
+-86.42 27.64 5118
+-86.294 27.64 5269
+-86.168 27.64 5467
+-86.042 27.64 5609
+-85.916 27.64 5726
+-85.79 27.64 5869
+-85.664 27.64 5953
+-85.538 27.64 6024
+-85.412 27.64 6196
+-85.286 27.64 6387
+-85.16 27.64 6599
+-85.034 27.64 6663
+-84.908 27.64 6901
+-84.782 27.64 7013
+-84.656 27.64 7195
+-84.53 27.64 7330
+-84.404 27.64 7393
+-84.278 27.64 7550
+-84.152 27.64 7665
+-84.026 27.64 7872
+-83.9 27.64 7961
+-83.774 27.64 8128
+-83.648 27.64 8196
+-83.522 27.64 8443
+-83.396 27.64 8469
+-83.27 27.64 8684
+-83.144 27.64 8847
+-83.018 27.64 8963
+-82.892 27.64 9068
+-82.766 27.64 9233
+-82.64 27.64 9384
+-82.514 27.64 9526
+-82.388 27.64 9617
+-82.262 27.64 9732
+-82.136 27.64 9706
+-82.01 27.64 9581
+-81.884 27.64 9488
+-81.758 27.64 9407
+-81.632 27.64 9219
+-81.506 27.64 9100
+-81.38 27.64 8948
+-81.254 27.64 8822
+-81.128 27.64 8706
+-81.002 27.64 8492
+-80.876 27.64 8384
+-80.75 27.64 8233
+-80.624 27.64 8162
+-80.498 27.64 8013
+-80.372 27.64 7769
+-80.246 27.64 7698
+-80.12 27.64 7515
+-79.994 27.64 7454
+-79.868 27.64 7204
+-79.742 27.64 7087
+-79.616 27.64 6965
+-79.49 27.64 6795
+-79.364 27.64 6616
+-79.238 27.64 6550
+-79.112 27.64 6426
+-78.986 27.64 6269
+-78.86 27.64 6109
+-78.734 27.64 6003
+-78.608 27.64 5882
+-78.482 27.64 5727
+-78.356 27.64 5546
+-78.23 27.64 5513
+-78.104 27.64 5442
+-77.978 27.64 5343
+-77.852 27.64 5241
+-77.726 27.64 5178
+-77.6 27.64 5111
+-77.474 27.64 5000
+-77.348 27.64 4898
+-77.222 27.64 4802
+-77.096 27.64 4574
+-76.97 27.64 4443
+-76.844 27.64 4190
+-76.718 27.64 4074
+-76.592 27.64 3925
+-76.466 27.64 3749
+-76.34 27.64 3580
+-76.214 27.64 3387
+-76.088 27.64 3226
+-75.962 27.64 3092
+-75.836 27.64 2888
+-75.71 27.64 2688
+-75.584 27.64 2581
+-75.458 27.64 2639
+-75.332 27.64 2760
+-75.206 27.64 2879
+-75.08 27.64 2971
+-74.954 27.64 3032
+-74.828 27.64 3096
+-74.702 27.64 3148
+-74.576 27.64 3145
+-74.45 27.64 3180
+-74.324 27.64 3197
+-74.198 27.64 3200
+-74.072 27.64 3220
+-73.946 27.64 3225
+-73.82 27.64 3204
+-73.694 27.64 3210
+-73.568 27.64 3222
+-73.442 27.64 3233
+-73.316 27.64 3243
+-73.19 27.64 3252
+-73.064 27.64 3260
+-72.938 27.64 3267
+-72.812 27.64 3230
+-72.686 27.64 3221
+-72.56 27.64 3227
+-72.434 27.64 3190
+-72.308 27.64 3195
+-72.182 27.64 3199
+-72.056 27.64 3204
+-71.93 27.64 3170
+-71.804 27.64 3174
+-71.678 27.64 3177
+-71.552 27.64 3180
+-71.426 27.64 3183
+-71.3 27.64 3185
+-71.174 27.64 3188
+-71.048 27.64 3190
+-70.922 27.64 3192
+-70.796 27.64 3194
+-70.67 27.64 3196
+-70.544 27.64 3198
+-70.418 27.64 3200
+-70.292 27.64 3092
+-70.166 27.64 3092
+-70.04 27.64 3092
+-69.914 27.64 3091
+-69.788 27.64 3091
+-69.662 27.64 3091
+-69.536 27.64 3090
+-69.41 27.64 3090
+-69.284 27.64 3090
+-69.158 27.64 3089
+-69.032 27.64 3089
+-68.906 27.64 3000
+-68.78 27.64 2999
+-68.654 27.64 2999
+-68.528 27.64 2998
+-68.402 27.64 2997
+-68.276 27.64 2996
+-68.15 27.64 2995
+-68.024 27.64 2994
+-67.898 27.64 2993
+-67.772 27.64 2993
+-67.646 27.64 2992
+-67.52 27.64 2991
+-67.394 27.64 2990
+-67.268 27.64 2990
+-67.142 27.64 2989
+-67.016 27.64 2988
+-66.89 27.64 2988
+-66.764 27.64 2987
+-66.638 27.64 2987
+-66.512 27.64 2986
+-66.386 27.64 2986
+-66.26 27.64 2985
+-66.134 27.64 2985
+-66.008 27.64 2984
+-65.882 27.64 2984
+-65.756 27.64 2983
+-65.63 27.64 2983
+-65.504 27.64 2982
+-65.378 27.64 2982
+-65.252 27.64 2982
+-65.126 27.64 2981
+-128 27.588 2800
+-127.874 27.588 2802
+-127.748 27.588 2812
+-127.622 27.588 2876
+-127.496 27.588 2818
+-127.37 27.588 2819
+-127.244 27.588 2865
+-127.118 27.588 2867
+-126.992 27.588 2888
+-126.866 27.588 2931
+-126.74 27.588 2934
+-126.614 27.588 2937
+-126.488 27.588 2941
+-126.362 27.588 2945
+-126.236 27.588 2926
+-126.11 27.588 2921
+-125.984 27.588 2953
+-125.858 27.588 2960
+-125.732 27.588 3000
+-125.606 27.588 3008
+-125.48 27.588 2983
+-125.354 27.588 2977
+-125.228 27.588 2995
+-125.102 27.588 3005
+-124.976 27.588 3015
+-124.85 27.588 2993
+-124.724 27.588 3397
+-124.598 27.588 3397
+-124.472 27.588 3394
+-124.346 27.588 3372
+-124.22 27.588 3370
+-124.094 27.588 3356
+-123.968 27.588 3382
+-123.842 27.588 3380
+-123.716 27.588 3432
+-123.59 27.588 3428
+-123.464 27.588 3398
+-123.338 27.588 3409
+-123.212 27.588 3433
+-123.086 27.588 3427
+-122.96 27.588 3446
+-122.834 27.588 3440
+-122.708 27.588 3458
+-122.582 27.588 3441
+-122.456 27.588 3433
+-122.33 27.588 3424
+-122.204 27.588 3438
+-122.078 27.588 3427
+-121.952 27.588 3414
+-121.826 27.588 3408
+-121.7 27.588 3395
+-121.574 27.588 3356
+-121.448 27.588 3376
+-121.322 27.588 3365
+-121.196 27.588 3349
+-121.07 27.588 3375
+-120.944 27.588 3350
+-120.818 27.588 3344
+-120.692 27.588 3322
+-120.566 27.588 3318
+-120.44 27.588 3272
+-120.314 27.588 3189
+-120.188 27.588 3089
+-120.062 27.588 3036
+-119.936 27.588 3121
+-119.81 27.588 3274
+-119.684 27.588 3403
+-119.558 27.588 3490
+-119.432 27.588 3530
+-119.306 27.588 3595
+-119.18 27.588 3656
+-119.054 27.588 3713
+-118.928 27.588 3730
+-118.802 27.588 3777
+-118.676 27.588 3812
+-118.55 27.588 3873
+-118.424 27.588 3873
+-118.298 27.588 3887
+-118.172 27.588 3904
+-118.046 27.588 3917
+-117.92 27.588 3934
+-117.794 27.588 3948
+-117.668 27.588 3961
+-117.542 27.588 3973
+-117.416 27.588 3986
+-117.29 27.588 3987
+-117.164 27.588 3969
+-117.038 27.588 3930
+-116.912 27.588 3894
+-116.786 27.588 3917
+-116.66 27.588 3931
+-116.534 27.588 3908
+-116.408 27.588 3891
+-116.282 27.588 3874
+-116.156 27.588 3817
+-116.03 27.588 3765
+-115.904 27.588 3729
+-115.778 27.588 3723
+-115.652 27.588 3685
+-115.526 27.588 3649
+-115.4 27.588 3620
+-115.274 27.588 3612
+-115.148 27.588 3609
+-115.022 27.588 3602
+-114.896 27.588 3589
+-114.77 27.588 3584
+-114.644 27.588 3576
+-114.518 27.588 3578
+-114.392 27.588 3561
+-114.266 27.588 3523
+-114.14 27.588 3464
+-114.014 27.588 3580
+-113.888 27.588 3745
+-113.762 27.588 3765
+-113.636 27.588 3836
+-113.51 27.588 3978
+-113.384 27.588 4084
+-113.258 27.588 4146
+-113.132 27.588 4195
+-113.006 27.588 4239
+-112.88 27.588 4306
+-112.754 27.588 4375
+-112.628 27.588 4433
+-112.502 27.588 4498
+-112.376 27.588 4527
+-112.25 27.588 4596
+-112.124 27.588 4673
+-111.998 27.588 4751
+-111.872 27.588 4829
+-111.746 27.588 4901
+-111.62 27.588 4953
+-111.494 27.588 5030
+-111.368 27.588 5058
+-111.242 27.588 5060
+-111.116 27.588 5081
+-110.99 27.588 5104
+-110.864 27.588 5121
+-110.738 27.588 5112
+-110.612 27.588 5103
+-110.486 27.588 5093
+-110.36 27.588 5137
+-110.234 27.588 5116
+-110.108 27.588 5099
+-109.982 27.588 5094
+-109.856 27.588 5074
+-109.73 27.588 5025
+-109.604 27.588 4995
+-109.478 27.588 4977
+-109.352 27.588 4951
+-109.226 27.588 4919
+-109.1 27.588 4872
+-108.974 27.588 4847
+-108.848 27.588 4829
+-108.722 27.588 4772
+-108.596 27.588 4684
+-108.47 27.588 4614
+-108.344 27.588 4580
+-108.218 27.588 4566
+-108.092 27.588 4538
+-107.966 27.588 4489
+-107.84 27.588 4459
+-107.714 27.588 4430
+-107.588 27.588 4407
+-107.462 27.588 4406
+-107.336 27.588 4391
+-107.21 27.588 4344
+-107.084 27.588 4331
+-106.958 27.588 4299
+-106.832 27.588 4208
+-106.706 27.588 4166
+-106.58 27.588 4113
+-106.454 27.588 3953
+-106.328 27.588 3829
+-106.202 27.588 3717
+-106.076 27.588 3562
+-105.95 27.588 3337
+-105.824 27.588 3093
+-105.698 27.588 2905
+-105.572 27.588 2832
+-105.446 27.588 2878
+-105.32 27.588 2966
+-105.194 27.588 3044
+-105.068 27.588 3121
+-104.942 27.588 3179
+-104.816 27.588 3230
+-104.69 27.588 3230
+-104.564 27.588 3252
+-104.438 27.588 3269
+-104.312 27.588 3266
+-104.186 27.588 3279
+-104.06 27.588 3291
+-103.934 27.588 3287
+-103.808 27.588 3236
+-103.682 27.588 3242
+-103.556 27.588 3248
+-103.43 27.588 3272
+-103.304 27.588 3189
+-103.178 27.588 3193
+-103.052 27.588 3197
+-102.926 27.588 3174
+-102.8 27.588 3179
+-102.674 27.588 3228
+-102.548 27.588 3233
+-102.422 27.588 3240
+-102.296 27.588 3231
+-102.17 27.588 3236
+-102.044 27.588 3240
+-101.918 27.588 3245
+-101.792 27.588 3241
+-101.666 27.588 3245
+-101.54 27.588 3234
+-101.414 27.588 3238
+-101.288 27.588 3176
+-101.162 27.588 3179
+-101.036 27.588 3182
+-100.91 27.588 3185
+-100.784 27.588 3188
+-100.658 27.588 3190
+-100.532 27.588 3154
+-100.406 27.588 3267
+-100.28 27.588 3169
+-100.154 27.588 3176
+-100.028 27.588 3178
+-99.902 27.588 3180
+-99.776 27.588 3182
+-99.65 27.588 3184
+-99.524 27.588 3186
+-99.398 27.588 3188
+-99.272 27.588 3189
+-99.146 27.588 3191
+-99.02 27.588 3120
+-98.894 27.588 3120
+-98.768 27.588 3121
+-98.642 27.588 3122
+-98.516 27.588 3123
+-98.39 27.588 3177
+-98.264 27.588 3142
+-98.138 27.588 3137
+-98.012 27.588 3139
+-97.886 27.588 3141
+-97.76 27.588 3108
+-97.634 27.588 3109
+-97.508 27.588 3011
+-97.382 27.588 2941
+-97.256 27.588 2782
+-97.13 27.588 2779
+-97.004 27.588 2706
+-96.878 27.588 2640
+-96.752 27.588 2622
+-96.626 27.588 2619
+-96.5 27.588 2622
+-96.374 27.588 2622
+-96.248 27.588 2758
+-96.122 27.588 2751
+-95.996 27.588 2808
+-95.87 27.588 3049
+-95.744 27.588 3052
+-95.618 27.588 3055
+-95.492 27.588 3058
+-95.366 27.588 3064
+-95.24 27.588 3142
+-95.114 27.588 3141
+-94.988 27.588 3141
+-94.862 27.588 3143
+-94.736 27.588 3376
+-94.61 27.588 3374
+-94.484 27.588 3373
+-94.358 27.588 3372
+-94.232 27.588 3370
+-94.106 27.588 3369
+-93.98 27.588 3367
+-93.854 27.588 3365
+-93.728 27.588 3363
+-93.602 27.588 3361
+-93.476 27.588 3359
+-93.35 27.588 3357
+-93.224 27.588 3354
+-93.098 27.588 3351
+-92.972 27.588 3349
+-92.846 27.588 3380
+-92.72 27.588 3520
+-92.594 27.588 3516
+-92.468 27.588 3511
+-92.342 27.588 3506
+-92.216 27.588 3500
+-92.09 27.588 3494
+-91.964 27.588 3488
+-91.838 27.588 3480
+-91.712 27.588 3473
+-91.586 27.588 3492
+-91.46 27.588 3482
+-91.334 27.588 3477
+-91.208 27.588 3464
+-91.082 27.588 3518
+-90.956 27.588 3502
+-90.83 27.588 3484
+-90.704 27.588 3464
+-90.578 27.588 3442
+-90.452 27.588 3417
+-90.326 27.588 3390
+-90.2 27.588 3360
+-90.074 27.588 3328
+-89.948 27.588 3332
+-89.822 27.588 3296
+-89.696 27.588 3262
+-89.57 27.588 3245
+-89.444 27.588 3264
+-89.318 27.588 3268
+-89.192 27.588 3300
+-89.066 27.588 3412
+-88.94 27.588 3477
+-88.814 27.588 3548
+-88.688 27.588 3619
+-88.562 27.588 3713
+-88.436 27.588 3756
+-88.31 27.588 3729
+-88.184 27.588 3652
+-88.058 27.588 3500
+-87.932 27.588 3382
+-87.806 27.588 3560
+-87.68 27.588 3957
+-87.554 27.588 4236
+-87.428 27.588 4377
+-87.302 27.588 4475
+-87.176 27.588 4541
+-87.05 27.588 4643
+-86.924 27.588 4761
+-86.798 27.588 4910
+-86.672 27.588 4987
+-86.546 27.588 5032
+-86.42 27.588 5045
+-86.294 27.588 5205
+-86.168 27.588 5477
+-86.042 27.588 5643
+-85.916 27.588 5782
+-85.79 27.588 5861
+-85.664 27.588 5962
+-85.538 27.588 6043
+-85.412 27.588 6167
+-85.286 27.588 6373
+-85.16 27.588 6515
+-85.034 27.588 6675
+-84.908 27.588 6894
+-84.782 27.588 6980
+-84.656 27.588 7131
+-84.53 27.588 7276
+-84.404 27.588 7371
+-84.278 27.588 7521
+-84.152 27.588 7660
+-84.026 27.588 7826
+-83.9 27.588 7946
+-83.774 27.588 8111
+-83.648 27.588 8261
+-83.522 27.588 8333
+-83.396 27.588 8535
+-83.27 27.588 8724
+-83.144 27.588 8766
+-83.018 27.588 8914
+-82.892 27.588 9112
+-82.766 27.588 9266
+-82.64 27.588 9364
+-82.514 27.588 9426
+-82.388 27.588 9577
+-82.262 27.588 9645
+-82.136 27.588 9610
+-82.01 27.588 9543
+-81.884 27.588 9424
+-81.758 27.588 9294
+-81.632 27.588 9226
+-81.506 27.588 9070
+-81.38 27.588 8949
+-81.254 27.588 8759
+-81.128 27.588 8642
+-81.002 27.588 8518
+-80.876 27.588 8414
+-80.75 27.588 8174
+-80.624 27.588 8095
+-80.498 27.588 7967
+-80.372 27.588 7767
+-80.246 27.588 7726
+-80.12 27.588 7572
+-79.994 27.588 7423
+-79.868 27.588 7233
+-79.742 27.588 7077
+-79.616 27.588 6932
+-79.49 27.588 6835
+-79.364 27.588 6665
+-79.238 27.588 6514
+-79.112 27.588 6392
+-78.986 27.588 6244
+-78.86 27.588 6104
+-78.734 27.588 5901
+-78.608 27.588 5862
+-78.482 27.588 5744
+-78.356 27.588 5616
+-78.23 27.588 5537
+-78.104 27.588 5447
+-77.978 27.588 5312
+-77.852 27.588 5215
+-77.726 27.588 5154
+-77.6 27.588 5085
+-77.474 27.588 4965
+-77.348 27.588 4867
+-77.222 27.588 4777
+-77.096 27.588 4563
+-76.97 27.588 4440
+-76.844 27.588 4187
+-76.718 27.588 4034
+-76.592 27.588 3858
+-76.466 27.588 3675
+-76.34 27.588 3439
+-76.214 27.588 3245
+-76.088 27.588 3127
+-75.962 27.588 3000
+-75.836 27.588 2841
+-75.71 27.588 2605
+-75.584 27.588 2467
+-75.458 27.588 2570
+-75.332 27.588 2732
+-75.206 27.588 2851
+-75.08 27.588 2953
+-74.954 27.588 3029
+-74.828 27.588 3077
+-74.702 27.588 3132
+-74.576 27.588 3177
+-74.45 27.588 3170
+-74.324 27.588 3201
+-74.198 27.588 3213
+-74.072 27.588 3213
+-73.946 27.588 3232
+-73.82 27.588 3234
+-73.694 27.588 3213
+-73.568 27.588 3218
+-73.442 27.588 3229
+-73.316 27.588 3239
+-73.19 27.588 3248
+-73.064 27.588 3257
+-72.938 27.588 3264
+-72.812 27.588 3271
+-72.686 27.588 3232
+-72.56 27.588 3223
+-72.434 27.588 3228
+-72.308 27.588 3191
+-72.182 27.588 3180
+-72.056 27.588 3163
+-71.93 27.588 3167
+-71.804 27.588 3170
+-71.678 27.588 3174
+-71.552 27.588 3177
+-71.426 27.588 3180
+-71.3 27.588 3182
+-71.174 27.588 3185
+-71.048 27.588 3187
+-70.922 27.588 3190
+-70.796 27.588 3192
+-70.67 27.588 3194
+-70.544 27.588 3196
+-70.418 27.588 3088
+-70.292 27.588 3088
+-70.166 27.588 3088
+-70.04 27.588 3087
+-69.914 27.588 3087
+-69.788 27.588 3087
+-69.662 27.588 3086
+-69.536 27.588 3086
+-69.41 27.588 3086
+-69.284 27.588 3086
+-69.158 27.588 3085
+-69.032 27.588 3085
+-68.906 27.588 3085
+-68.78 27.588 2997
+-68.654 27.588 2996
+-68.528 27.588 2995
+-68.402 27.588 2994
+-68.276 27.588 2993
+-68.15 27.588 2992
+-68.024 27.588 2992
+-67.898 27.588 2991
+-67.772 27.588 2990
+-67.646 27.588 2989
+-67.52 27.588 2989
+-67.394 27.588 2988
+-67.268 27.588 2987
+-67.142 27.588 2987
+-67.016 27.588 2986
+-66.89 27.588 2986
+-66.764 27.588 2985
+-66.638 27.588 2984
+-66.512 27.588 2984
+-66.386 27.588 2983
+-66.26 27.588 2983
+-66.134 27.588 2982
+-66.008 27.588 2982
+-65.882 27.588 2982
+-65.756 27.588 2981
+-65.63 27.588 2981
+-65.504 27.588 2980
+-65.378 27.588 2980
+-65.252 27.588 2980
+-65.126 27.588 2979
+-128 27.536 2809
+-127.874 27.536 2819
+-127.748 27.536 2884
+-127.622 27.536 2824
+-127.496 27.536 2826
+-127.37 27.536 2871
+-127.244 27.536 2873
+-127.118 27.536 2894
+-126.992 27.536 2937
+-126.866 27.536 2940
+-126.74 27.536 2943
+-126.614 27.536 2946
+-126.488 27.536 2950
+-126.362 27.536 2930
+-126.236 27.536 2923
+-126.11 27.536 2956
+-125.984 27.536 2962
+-125.858 27.536 3002
+-125.732 27.536 3009
+-125.606 27.536 2983
+-125.48 27.536 2976
+-125.354 27.536 2994
+-125.228 27.536 3003
+-125.102 27.536 3012
+-124.976 27.536 2990
+-124.85 27.536 3399
+-124.724 27.536 3398
+-124.598 27.536 3396
+-124.472 27.536 3373
+-124.346 27.536 3372
+-124.22 27.536 3358
+-124.094 27.536 3384
+-123.968 27.536 3382
+-123.842 27.536 3435
+-123.716 27.536 3431
+-123.59 27.536 3401
+-123.464 27.536 3413
+-123.338 27.536 3438
+-123.212 27.536 3432
+-123.086 27.536 3452
+-122.96 27.536 3446
+-122.834 27.536 3467
+-122.708 27.536 3449
+-122.582 27.536 3442
+-122.456 27.536 3435
+-122.33 27.536 3451
+-122.204 27.536 3442
+-122.078 27.536 3431
+-121.952 27.536 3427
+-121.826 27.536 3416
+-121.7 27.536 3375
+-121.574 27.536 3400
+-121.448 27.536 3390
+-121.322 27.536 3372
+-121.196 27.536 3400
+-121.07 27.536 3343
+-120.944 27.536 3336
+-120.818 27.536 3338
+-120.692 27.536 3318
+-120.566 27.536 3287
+-120.44 27.536 3240
+-120.314 27.536 3143
+-120.188 27.536 3020
+-120.062 27.536 2950
+-119.936 27.536 3031
+-119.81 27.536 3198
+-119.684 27.536 3341
+-119.558 27.536 3440
+-119.432 27.536 3497
+-119.306 27.536 3555
+-119.18 27.536 3606
+-119.054 27.536 3638
+-118.928 27.536 3686
+-118.802 27.536 3723
+-118.676 27.536 3760
+-118.55 27.536 3783
+-118.424 27.536 3828
+-118.298 27.536 3847
+-118.172 27.536 3871
+-118.046 27.536 3878
+-117.92 27.536 3885
+-117.794 27.536 3908
+-117.668 27.536 3897
+-117.542 27.536 3909
+-117.416 27.536 3927
+-117.29 27.536 3936
+-117.164 27.536 3926
+-117.038 27.536 3921
+-116.912 27.536 3905
+-116.786 27.536 3910
+-116.66 27.536 3898
+-116.534 27.536 3876
+-116.408 27.536 3858
+-116.282 27.536 3821
+-116.156 27.536 3775
+-116.03 27.536 3730
+-115.904 27.536 3716
+-115.778 27.536 3689
+-115.652 27.536 3620
+-115.526 27.536 3570
+-115.4 27.536 3542
+-115.274 27.536 3553
+-115.148 27.536 3563
+-115.022 27.536 3555
+-114.896 27.536 3560
+-114.77 27.536 3543
+-114.644 27.536 3540
+-114.518 27.536 3527
+-114.392 27.536 3534
+-114.266 27.536 3532
+-114.14 27.536 3528
+-114.014 27.536 3609
+-113.888 27.536 3726
+-113.762 27.536 3774
+-113.636 27.536 3844
+-113.51 27.536 3921
+-113.384 27.536 4020
+-113.258 27.536 4104
+-113.132 27.536 4138
+-113.006 27.536 4183
+-112.88 27.536 4274
+-112.754 27.536 4346
+-112.628 27.536 4406
+-112.502 27.536 4477
+-112.376 27.536 4509
+-112.25 27.536 4549
+-112.124 27.536 4596
+-111.998 27.536 4668
+-111.872 27.536 4747
+-111.746 27.536 4802
+-111.62 27.536 4876
+-111.494 27.536 4955
+-111.368 27.536 5006
+-111.242 27.536 5004
+-111.116 27.536 5015
+-110.99 27.536 5016
+-110.864 27.536 5028
+-110.738 27.536 5041
+-110.612 27.536 5037
+-110.486 27.536 5042
+-110.36 27.536 5055
+-110.234 27.536 5050
+-110.108 27.536 5042
+-109.982 27.536 5043
+-109.856 27.536 5012
+-109.73 27.536 4983
+-109.604 27.536 4999
+-109.478 27.536 4935
+-109.352 27.536 4904
+-109.226 27.536 4880
+-109.1 27.536 4834
+-108.974 27.536 4778
+-108.848 27.536 4796
+-108.722 27.536 4736
+-108.596 27.536 4637
+-108.47 27.536 4584
+-108.344 27.536 4522
+-108.218 27.536 4519
+-108.092 27.536 4459
+-107.966 27.536 4417
+-107.84 27.536 4385
+-107.714 27.536 4379
+-107.588 27.536 4389
+-107.462 27.536 4396
+-107.336 27.536 4354
+-107.21 27.536 4333
+-107.084 27.536 4316
+-106.958 27.536 4242
+-106.832 27.536 4204
+-106.706 27.536 4119
+-106.58 27.536 4061
+-106.454 27.536 3895
+-106.328 27.536 3782
+-106.202 27.536 3678
+-106.076 27.536 3479
+-105.95 27.536 3333
+-105.824 27.536 3177
+-105.698 27.536 3031
+-105.572 27.536 2970
+-105.446 27.536 2981
+-105.32 27.536 3035
+-105.194 27.536 3091
+-105.068 27.536 3099
+-104.942 27.536 3140
+-104.816 27.536 3172
+-104.69 27.536 3236
+-104.564 27.536 3225
+-104.438 27.536 3243
+-104.312 27.536 3258
+-104.186 27.536 3254
+-104.06 27.536 3267
+-103.934 27.536 3206
+-103.808 27.536 3214
+-103.682 27.536 3222
+-103.556 27.536 3229
+-103.43 27.536 3236
+-103.304 27.536 3182
+-103.178 27.536 3179
+-103.052 27.536 3183
+-102.926 27.536 3188
+-102.8 27.536 3165
+-102.674 27.536 3171
+-102.548 27.536 3221
+-102.422 27.536 3226
+-102.296 27.536 3234
+-102.17 27.536 3225
+-102.044 27.536 3230
+-101.918 27.536 3235
+-101.792 27.536 3240
+-101.666 27.536 3236
+-101.54 27.536 3241
+-101.414 27.536 3229
+-101.288 27.536 3234
+-101.162 27.536 3172
+-101.036 27.536 3175
+-100.91 27.536 3178
+-100.784 27.536 3181
+-100.658 27.536 3184
+-100.532 27.536 3186
+-100.406 27.536 3151
+-100.28 27.536 3265
+-100.154 27.536 3166
+-100.028 27.536 3174
+-99.902 27.536 3176
+-99.776 27.536 3178
+-99.65 27.536 3180
+-99.524 27.536 3182
+-99.398 27.536 3184
+-99.272 27.536 3186
+-99.146 27.536 3188
+-99.02 27.536 3189
+-98.894 27.536 3118
+-98.768 27.536 3119
+-98.642 27.536 3120
+-98.516 27.536 3121
+-98.39 27.536 3122
+-98.264 27.536 3178
+-98.138 27.536 3143
+-98.012 27.536 3138
+-97.886 27.536 3140
+-97.76 27.536 3142
+-97.634 27.536 3108
+-97.508 27.536 3010
+-97.382 27.536 3008
+-97.256 27.536 2937
+-97.13 27.536 2777
+-97.004 27.536 2705
+-96.878 27.536 2639
+-96.752 27.536 2602
+-96.626 27.536 2619
+-96.5 27.536 2623
+-96.374 27.536 2660
+-96.248 27.536 2761
+-96.122 27.536 2778
+-95.996 27.536 2831
+-95.87 27.536 3051
+-95.744 27.536 3054
+-95.618 27.536 3056
+-95.492 27.536 3097
+-95.366 27.536 3099
+-95.24 27.536 3145
+-95.114 27.536 3144
+-94.988 27.536 3144
+-94.862 27.536 3143
+-94.736 27.536 3142
+-94.61 27.536 3354
+-94.484 27.536 3353
+-94.358 27.536 3352
+-94.232 27.536 3350
+-94.106 27.536 3349
+-93.98 27.536 3347
+-93.854 27.536 3346
+-93.728 27.536 3344
+-93.602 27.536 3342
+-93.476 27.536 3340
+-93.35 27.536 3338
+-93.224 27.536 3353
+-93.098 27.536 3350
+-92.972 27.536 3381
+-92.846 27.536 3522
+-92.72 27.536 3518
+-92.594 27.536 3513
+-92.468 27.536 3508
+-92.342 27.536 3502
+-92.216 27.536 3496
+-92.09 27.536 3490
+-91.964 27.536 3483
+-91.838 27.536 3475
+-91.712 27.536 3495
+-91.586 27.536 3492
+-91.46 27.536 3480
+-91.334 27.536 3467
+-91.208 27.536 3452
+-91.082 27.536 3436
+-90.956 27.536 3485
+-90.83 27.536 3465
+-90.704 27.536 3441
+-90.578 27.536 3415
+-90.452 27.536 3385
+-90.326 27.536 3352
+-90.2 27.536 3314
+-90.074 27.536 3309
+-89.948 27.536 3260
+-89.822 27.536 3208
+-89.696 27.536 3155
+-89.57 27.536 3149
+-89.444 27.536 3116
+-89.318 27.536 3114
+-89.192 27.536 3197
+-89.066 27.536 3258
+-88.94 27.536 3347
+-88.814 27.536 3446
+-88.688 27.536 3537
+-88.562 27.536 3615
+-88.436 27.536 3700
+-88.31 27.536 3733
+-88.184 27.536 3699
+-88.058 27.536 3590
+-87.932 27.536 3524
+-87.806 27.536 3686
+-87.68 27.536 4025
+-87.554 27.536 4250
+-87.428 27.536 4357
+-87.302 27.536 4401
+-87.176 27.536 4386
+-87.05 27.536 4533
+-86.924 27.536 4742
+-86.798 27.536 4924
+-86.672 27.536 4975
+-86.546 27.536 4930
+-86.42 27.536 5073
+-86.294 27.536 5240
+-86.168 27.536 5463
+-86.042 27.536 5651
+-85.916 27.536 5776
+-85.79 27.536 5803
+-85.664 27.536 5955
+-85.538 27.536 6071
+-85.412 27.536 6147
+-85.286 27.536 6365
+-85.16 27.536 6488
+-85.034 27.536 6655
+-84.908 27.536 6875
+-84.782 27.536 6902
+-84.656 27.536 7038
+-84.53 27.536 7176
+-84.404 27.536 7377
+-84.278 27.536 7540
+-84.152 27.536 7690
+-84.026 27.536 7788
+-83.9 27.536 7926
+-83.774 27.536 8070
+-83.648 27.536 8282
+-83.522 27.536 8389
+-83.396 27.536 8553
+-83.27 27.536 8701
+-83.144 27.536 8750
+-83.018 27.536 8901
+-82.892 27.536 9076
+-82.766 27.536 9219
+-82.64 27.536 9337
+-82.514 27.536 9441
+-82.388 27.536 9551
+-82.262 27.536 9609
+-82.136 27.536 9582
+-82.01 27.536 9518
+-81.884 27.536 9449
+-81.758 27.536 9299
+-81.632 27.536 9170
+-81.506 27.536 8994
+-81.38 27.536 8978
+-81.254 27.536 8803
+-81.128 27.536 8661
+-81.002 27.536 8523
+-80.876 27.536 8352
+-80.75 27.536 8256
+-80.624 27.536 8076
+-80.498 27.536 7967
+-80.372 27.536 7856
+-80.246 27.536 7651
+-80.12 27.536 7588
+-79.994 27.536 7390
+-79.868 27.536 7267
+-79.742 27.536 7105
+-79.616 27.536 6924
+-79.49 27.536 6780
+-79.364 27.536 6668
+-79.238 27.536 6521
+-79.112 27.536 6361
+-78.986 27.536 6230
+-78.86 27.536 6133
+-78.734 27.536 5965
+-78.608 27.536 5823
+-78.482 27.536 5625
+-78.356 27.536 5615
+-78.23 27.536 5503
+-78.104 27.536 5358
+-77.978 27.536 5175
+-77.852 27.536 5097
+-77.726 27.536 5090
+-77.6 27.536 5031
+-77.474 27.536 4914
+-77.348 27.536 4830
+-77.222 27.536 4744
+-77.096 27.536 4532
+-76.97 27.536 4414
+-76.844 27.536 4142
+-76.718 27.536 3986
+-76.592 27.536 3816
+-76.466 27.536 3570
+-76.34 27.536 3333
+-76.214 27.536 3122
+-76.088 27.536 3017
+-75.962 27.536 2988
+-75.836 27.536 2851
+-75.71 27.536 2686
+-75.584 27.536 2590
+-75.458 27.536 2649
+-75.332 27.536 2772
+-75.206 27.536 2884
+-75.08 27.536 2954
+-74.954 27.536 3031
+-74.828 27.536 3084
+-74.702 27.536 3124
+-74.576 27.536 3169
+-74.45 27.536 3207
+-74.324 27.536 3196
+-74.198 27.536 3223
+-74.072 27.536 3238
+-73.946 27.536 3223
+-73.82 27.536 3239
+-73.694 27.536 3254
+-73.568 27.536 3222
+-73.442 27.536 3226
+-73.316 27.536 3236
+-73.19 27.536 3245
+-73.064 27.536 3254
+-72.938 27.536 3262
+-72.812 27.536 3225
+-72.686 27.536 3232
+-72.56 27.536 3234
+-72.434 27.536 3225
+-72.308 27.536 3171
+-72.182 27.536 3176
+-72.056 27.536 3160
+-71.93 27.536 3164
+-71.804 27.536 3167
+-71.678 27.536 3171
+-71.552 27.536 3174
+-71.426 27.536 3177
+-71.3 27.536 3180
+-71.174 27.536 3182
+-71.048 27.536 3185
+-70.922 27.536 3187
+-70.796 27.536 3190
+-70.67 27.536 3192
+-70.544 27.536 3083
+-70.418 27.536 3083
+-70.292 27.536 3083
+-70.166 27.536 3083
+-70.04 27.536 3083
+-69.914 27.536 3083
+-69.788 27.536 3082
+-69.662 27.536 3082
+-69.536 27.536 3082
+-69.41 27.536 3082
+-69.284 27.536 3081
+-69.158 27.536 3081
+-69.032 27.536 3081
+-68.906 27.536 3081
+-68.78 27.536 3081
+-68.654 27.536 2993
+-68.528 27.536 2992
+-68.402 27.536 2991
+-68.276 27.536 2990
+-68.15 27.536 2990
+-68.024 27.536 2989
+-67.898 27.536 2988
+-67.772 27.536 2987
+-67.646 27.536 2987
+-67.52 27.536 2986
+-67.394 27.536 2985
+-67.268 27.536 2985
+-67.142 27.536 2984
+-67.016 27.536 2984
+-66.89 27.536 2983
+-66.764 27.536 2983
+-66.638 27.536 2982
+-66.512 27.536 2982
+-66.386 27.536 2981
+-66.26 27.536 2981
+-66.134 27.536 2980
+-66.008 27.536 2980
+-65.882 27.536 2980
+-65.756 27.536 2979
+-65.63 27.536 2979
+-65.504 27.536 2979
+-65.378 27.536 2978
+-65.252 27.536 2978
+-65.126 27.536 2978
+-128 27.484 2826
+-127.874 27.484 2891
+-127.748 27.484 2830
+-127.622 27.484 2831
+-127.496 27.484 2878
+-127.37 27.484 2879
+-127.244 27.484 2900
+-127.118 27.484 2943
+-126.992 27.484 2945
+-126.866 27.484 2948
+-126.74 27.484 2951
+-126.614 27.484 2955
+-126.488 27.484 2933
+-126.362 27.484 2926
+-126.236 27.484 2958
+-126.11 27.484 2964
+-125.984 27.484 3004
+-125.858 27.484 3010
+-125.732 27.484 2984
+-125.606 27.484 2976
+-125.48 27.484 2993
+-125.354 27.484 3002
+-125.228 27.484 3010
+-125.102 27.484 2987
+-124.976 27.484 3400
+-124.85 27.484 3400
+-124.724 27.484 3398
+-124.598 27.484 3374
+-124.472 27.484 3373
+-124.346 27.484 3359
+-124.22 27.484 3385
+-124.094 27.484 3384
+-123.968 27.484 3437
+-123.842 27.484 3434
+-123.716 27.484 3404
+-123.59 27.484 3416
+-123.464 27.484 3443
+-123.338 27.484 3436
+-123.212 27.484 3457
+-123.086 27.484 3452
+-122.96 27.484 3475
+-122.834 27.484 3457
+-122.708 27.484 3451
+-122.582 27.484 3445
+-122.456 27.484 3463
+-122.33 27.484 3455
+-122.204 27.484 3445
+-122.078 27.484 3442
+-121.952 27.484 3386
+-121.826 27.484 3390
+-121.7 27.484 3375
+-121.574 27.484 3368
+-121.448 27.484 3392
+-121.322 27.484 3383
+-121.196 27.484 3376
+-121.07 27.484 3352
+-120.944 27.484 3357
+-120.818 27.484 3341
+-120.692 27.484 3322
+-120.566 27.484 3301
+-120.44 27.484 3242
+-120.314 27.484 3158
+-120.188 27.484 3062
+-120.062 27.484 3016
+-119.936 27.484 3078
+-119.81 27.484 3209
+-119.684 27.484 3333
+-119.558 27.484 3414
+-119.432 27.484 3466
+-119.306 27.484 3513
+-119.18 27.484 3575
+-119.054 27.484 3597
+-118.928 27.484 3617
+-118.802 27.484 3652
+-118.676 27.484 3684
+-118.55 27.484 3739
+-118.424 27.484 3759
+-118.298 27.484 3770
+-118.172 27.484 3830
+-118.046 27.484 3833
+-117.92 27.484 3831
+-117.794 27.484 3826
+-117.668 27.484 3828
+-117.542 27.484 3841
+-117.416 27.484 3865
+-117.29 27.484 3880
+-117.164 27.484 3879
+-117.038 27.484 3878
+-116.912 27.484 3870
+-116.786 27.484 3873
+-116.66 27.484 3854
+-116.534 27.484 3839
+-116.408 27.484 3816
+-116.282 27.484 3768
+-116.156 27.484 3740
+-116.03 27.484 3709
+-115.904 27.484 3686
+-115.778 27.484 3623
+-115.652 27.484 3567
+-115.526 27.484 3536
+-115.4 27.484 3510
+-115.274 27.484 3524
+-115.148 27.484 3524
+-115.022 27.484 3511
+-114.896 27.484 3487
+-114.77 27.484 3480
+-114.644 27.484 3477
+-114.518 27.484 3464
+-114.392 27.484 3467
+-114.266 27.484 3489
+-114.14 27.484 3533
+-114.014 27.484 3610
+-113.888 27.484 3697
+-113.762 27.484 3765
+-113.636 27.484 3841
+-113.51 27.484 3905
+-113.384 27.484 3993
+-113.258 27.484 4041
+-113.132 27.484 4112
+-113.006 27.484 4157
+-112.88 27.484 4233
+-112.754 27.484 4307
+-112.628 27.484 4374
+-112.502 27.484 4440
+-112.376 27.484 4510
+-112.25 27.484 4581
+-112.124 27.484 4556
+-111.998 27.484 4598
+-111.872 27.484 4669
+-111.746 27.484 4735
+-111.62 27.484 4806
+-111.494 27.484 4855
+-111.368 27.484 4925
+-111.242 27.484 4941
+-111.116 27.484 4943
+-110.99 27.484 4941
+-110.864 27.484 4943
+-110.738 27.484 4953
+-110.612 27.484 4982
+-110.486 27.484 5005
+-110.36 27.484 5025
+-110.234 27.484 4991
+-110.108 27.484 4985
+-109.982 27.484 4975
+-109.856 27.484 4954
+-109.73 27.484 4938
+-109.604 27.484 4927
+-109.478 27.484 4905
+-109.352 27.484 4889
+-109.226 27.484 4858
+-109.1 27.484 4810
+-108.974 27.484 4794
+-108.848 27.484 4778
+-108.722 27.484 4710
+-108.596 27.484 4623
+-108.47 27.484 4574
+-108.344 27.484 4530
+-108.218 27.484 4456
+-108.092 27.484 4365
+-107.966 27.484 4316
+-107.84 27.484 4299
+-107.714 27.484 4317
+-107.588 27.484 4355
+-107.462 27.484 4343
+-107.336 27.484 4341
+-107.21 27.484 4293
+-107.084 27.484 4270
+-106.958 27.484 4224
+-106.832 27.484 4085
+-106.706 27.484 4027
+-106.58 27.484 3952
+-106.454 27.484 3799
+-106.328 27.484 3711
+-106.202 27.484 3578
+-106.076 27.484 3485
+-105.95 27.484 3332
+-105.824 27.484 3230
+-105.698 27.484 3145
+-105.572 27.484 3095
+-105.446 27.484 3092
+-105.32 27.484 3107
+-105.194 27.484 3133
+-105.068 27.484 3100
+-104.942 27.484 3126
+-104.816 27.484 3150
+-104.69 27.484 3171
+-104.564 27.484 3229
+-104.438 27.484 3214
+-104.312 27.484 3231
+-104.186 27.484 3176
+-104.06 27.484 3170
+-103.934 27.484 3181
+-103.808 27.484 3191
+-103.682 27.484 3200
+-103.556 27.484 3209
+-103.43 27.484 3217
+-103.304 27.484 3225
+-103.178 27.484 3172
+-103.052 27.484 3169
+-102.926 27.484 3175
+-102.8 27.484 3180
+-102.674 27.484 3158
+-102.548 27.484 3163
+-102.422 27.484 3214
+-102.296 27.484 3220
+-102.17 27.484 3229
+-102.044 27.484 3219
+-101.918 27.484 3225
+-101.792 27.484 3230
+-101.666 27.484 3235
+-101.54 27.484 3232
+-101.414 27.484 3237
+-101.288 27.484 3226
+-101.162 27.484 3230
+-101.036 27.484 3168
+-100.91 27.484 3171
+-100.784 27.484 3174
+-100.658 27.484 3177
+-100.532 27.484 3180
+-100.406 27.484 3183
+-100.28 27.484 3147
+-100.154 27.484 3263
+-100.028 27.484 3164
+-99.902 27.484 3172
+-99.776 27.484 3175
+-99.65 27.484 3177
+-99.524 27.484 3179
+-99.398 27.484 3181
+-99.272 27.484 3183
+-99.146 27.484 3185
+-99.02 27.484 3186
+-98.894 27.484 3188
+-98.768 27.484 3117
+-98.642 27.484 3118
+-98.516 27.484 3119
+-98.39 27.484 3120
+-98.264 27.484 3120
+-98.138 27.484 3179
+-98.012 27.484 3143
+-97.886 27.484 3139
+-97.76 27.484 3141
+-97.634 27.484 3143
+-97.508 27.484 3008
+-97.382 27.484 3006
+-97.256 27.484 2926
+-97.13 27.484 2896
+-97.004 27.484 2766
+-96.878 27.484 2629
+-96.752 27.484 2627
+-96.626 27.484 2652
+-96.5 27.484 2707
+-96.374 27.484 2760
+-96.248 27.484 2763
+-96.122 27.484 2781
+-95.996 27.484 2834
+-95.87 27.484 3049
+-95.744 27.484 3052
+-95.618 27.484 3096
+-95.492 27.484 3098
+-95.366 27.484 3100
+-95.24 27.484 3145
+-95.114 27.484 3144
+-94.988 27.484 3144
+-94.862 27.484 3143
+-94.736 27.484 3142
+-94.61 27.484 3141
+-94.484 27.484 3352
+-94.358 27.484 3351
+-94.232 27.484 3349
+-94.106 27.484 3348
+-93.98 27.484 3346
+-93.854 27.484 3345
+-93.728 27.484 3343
+-93.602 27.484 3341
+-93.476 27.484 3339
+-93.35 27.484 3337
+-93.224 27.484 3334
+-93.098 27.484 3364
+-92.972 27.484 3524
+-92.846 27.484 3520
+-92.72 27.484 3515
+-92.594 27.484 3510
+-92.468 27.484 3505
+-92.342 27.484 3499
+-92.216 27.484 3493
+-92.09 27.484 3486
+-91.964 27.484 3478
+-91.838 27.484 3498
+-91.712 27.484 3496
+-91.586 27.484 3485
+-91.46 27.484 3472
+-91.334 27.484 3458
+-91.208 27.484 3442
+-91.082 27.484 3425
+-90.956 27.484 3405
+-90.83 27.484 3447
+-90.704 27.484 3420
+-90.578 27.484 3390
+-90.452 27.484 3355
+-90.326 27.484 3315
+-90.2 27.484 3306
+-90.074 27.484 3250
+-89.948 27.484 3186
+-89.822 27.484 3115
+-89.696 27.484 3082
+-89.57 27.484 3006
+-89.444 27.484 2942
+-89.318 27.484 2964
+-89.192 27.484 2981
+-89.066 27.484 3057
+-88.94 27.484 3180
+-88.814 27.484 3320
+-88.688 27.484 3449
+-88.562 27.484 3569
+-88.436 27.484 3679
+-88.31 27.484 3730
+-88.184 27.484 3741
+-88.058 27.484 3747
+-87.932 27.484 3768
+-87.806 27.484 3882
+-87.68 27.484 4123
+-87.554 27.484 4282
+-87.428 27.484 4348
+-87.302 27.484 4327
+-87.176 27.484 4248
+-87.05 27.484 4440
+-86.924 27.484 4719
+-86.798 27.484 4908
+-86.672 27.484 4997
+-86.546 27.484 5054
+-86.42 27.484 5156
+-86.294 27.484 5252
+-86.168 27.484 5400
+-86.042 27.484 5621
+-85.916 27.484 5773
+-85.79 27.484 5874
+-85.664 27.484 5885
+-85.538 27.484 6074
+-85.412 27.484 6148
+-85.286 27.484 6347
+-85.16 27.484 6546
+-85.034 27.484 6707
+-84.908 27.484 6757
+-84.782 27.484 6996
+-84.656 27.484 7091
+-84.53 27.484 7159
+-84.404 27.484 7363
+-84.278 27.484 7547
+-84.152 27.484 7683
+-84.026 27.484 7775
+-83.9 27.484 7879
+-83.774 27.484 8084
+-83.648 27.484 8209
+-83.522 27.484 8413
+-83.396 27.484 8451
+-83.27 27.484 8616
+-83.144 27.484 8742
+-83.018 27.484 8955
+-82.892 27.484 9048
+-82.766 27.484 9132
+-82.64 27.484 9287
+-82.514 27.484 9391
+-82.388 27.484 9493
+-82.262 27.484 9508
+-82.136 27.484 9536
+-82.01 27.484 9445
+-81.884 27.484 9376
+-81.758 27.484 9268
+-81.632 27.484 9211
+-81.506 27.484 9012
+-81.38 27.484 8937
+-81.254 27.484 8785
+-81.128 27.484 8656
+-81.002 27.484 8509
+-80.876 27.484 8364
+-80.75 27.484 8260
+-80.624 27.484 8045
+-80.498 27.484 7981
+-80.372 27.484 7826
+-80.246 27.484 7677
+-80.12 27.484 7579
+-79.994 27.484 7375
+-79.868 27.484 7230
+-79.742 27.484 7077
+-79.616 27.484 6931
+-79.49 27.484 6824
+-79.364 27.484 6629
+-79.238 27.484 6457
+-79.112 27.484 6370
+-78.986 27.484 6220
+-78.86 27.484 6077
+-78.734 27.484 6015
+-78.608 27.484 5854
+-78.482 27.484 5684
+-78.356 27.484 5562
+-78.23 27.484 5483
+-78.104 27.484 5278
+-77.978 27.484 5120
+-77.852 27.484 4945
+-77.726 27.484 5037
+-77.6 27.484 4975
+-77.474 27.484 4835
+-77.348 27.484 4733
+-77.222 27.484 4626
+-77.096 27.484 4480
+-76.97 27.484 4347
+-76.844 27.484 4105
+-76.718 27.484 3957
+-76.592 27.484 3758
+-76.466 27.484 3545
+-76.34 27.484 3301
+-76.214 27.484 3056
+-76.088 27.484 2948
+-75.962 27.484 2959
+-75.836 27.484 2808
+-75.71 27.484 2695
+-75.584 27.484 2705
+-75.458 27.484 2756
+-75.332 27.484 2838
+-75.206 27.484 2896
+-75.08 27.484 2980
+-74.954 27.484 3046
+-74.828 27.484 3103
+-74.702 27.484 3149
+-74.576 27.484 3170
+-74.45 27.484 3208
+-74.324 27.484 3240
+-74.198 27.484 3220
+-74.072 27.484 3244
+-73.946 27.484 3256
+-73.82 27.484 3237
+-73.694 27.484 3206
+-73.568 27.484 3219
+-73.442 27.484 3231
+-73.316 27.484 3234
+-73.19 27.484 3243
+-73.064 27.484 3252
+-72.938 27.484 3215
+-72.812 27.484 3222
+-72.686 27.484 3229
+-72.56 27.484 3216
+-72.434 27.484 3222
+-72.308 27.484 3227
+-72.182 27.484 3172
+-72.056 27.484 3177
+-71.93 27.484 3161
+-71.804 27.484 3164
+-71.678 27.484 3168
+-71.552 27.484 3171
+-71.426 27.484 3174
+-71.3 27.484 3177
+-71.174 27.484 3180
+-71.048 27.484 3183
+-70.922 27.484 3185
+-70.796 27.484 3188
+-70.67 27.484 3078
+-70.544 27.484 3078
+-70.418 27.484 3078
+-70.292 27.484 3078
+-70.166 27.484 3078
+-70.04 27.484 3078
+-69.914 27.484 3078
+-69.788 27.484 3078
+-69.662 27.484 3078
+-69.536 27.484 3077
+-69.41 27.484 3077
+-69.284 27.484 3077
+-69.158 27.484 3077
+-69.032 27.484 3077
+-68.906 27.484 3077
+-68.78 27.484 3076
+-68.654 27.484 2989
+-68.528 27.484 2989
+-68.402 27.484 2988
+-68.276 27.484 2987
+-68.15 27.484 2987
+-68.024 27.484 2986
+-67.898 27.484 2985
+-67.772 27.484 2985
+-67.646 27.484 2984
+-67.52 27.484 2983
+-67.394 27.484 2983
+-67.268 27.484 2982
+-67.142 27.484 2982
+-67.016 27.484 2981
+-66.89 27.484 2981
+-66.764 27.484 2980
+-66.638 27.484 2980
+-66.512 27.484 2979
+-66.386 27.484 2979
+-66.26 27.484 2979
+-66.134 27.484 2978
+-66.008 27.484 2978
+-65.882 27.484 2978
+-65.756 27.484 2977
+-65.63 27.484 2977
+-65.504 27.484 2977
+-65.378 27.484 2976
+-65.252 27.484 2976
+-65.126 27.484 2976
+-128 27.432 2898
+-127.874 27.432 2836
+-127.748 27.432 2837
+-127.622 27.432 2883
+-127.496 27.432 2885
+-127.37 27.432 2905
+-127.244 27.432 2948
+-127.118 27.432 2951
+-126.992 27.432 2953
+-126.866 27.432 2956
+-126.74 27.432 2959
+-126.614 27.432 2937
+-126.488 27.432 2929
+-126.362 27.432 2961
+-126.236 27.432 2966
+-126.11 27.432 3006
+-125.984 27.432 3012
+-125.858 27.432 2984
+-125.732 27.432 2976
+-125.606 27.432 2993
+-125.48 27.432 3000
+-125.354 27.432 3008
+-125.228 27.432 2984
+-125.102 27.432 3402
+-124.976 27.432 3401
+-124.85 27.432 3399
+-124.724 27.432 3376
+-124.598 27.432 3374
+-124.472 27.432 3360
+-124.346 27.432 3387
+-124.22 27.432 3385
+-124.094 27.432 3440
+-123.968 27.432 3437
+-123.842 27.432 3406
+-123.716 27.432 3419
+-123.59 27.432 3447
+-123.464 27.432 3440
+-123.338 27.432 3462
+-123.212 27.432 3458
+-123.086 27.432 3482
+-122.96 27.432 3464
+-122.834 27.432 3458
+-122.708 27.432 3453
+-122.582 27.432 3473
+-122.456 27.432 3466
+-122.33 27.432 3457
+-122.204 27.432 3456
+-122.078 27.432 3396
+-121.952 27.432 3402
+-121.826 27.432 3387
+-121.7 27.432 3381
+-121.574 27.432 3363
+-121.448 27.432 3398
+-121.322 27.432 3391
+-121.196 27.432 3326
+-121.07 27.432 3334
+-120.944 27.432 3328
+-120.818 27.432 3314
+-120.692 27.432 3312
+-120.566 27.432 3283
+-120.44 27.432 3241
+-120.314 27.432 3186
+-120.188 27.432 3152
+-120.062 27.432 3134
+-119.936 27.432 3176
+-119.81 27.432 3248
+-119.684 27.432 3323
+-119.558 27.432 3399
+-119.432 27.432 3452
+-119.306 27.432 3486
+-119.18 27.432 3539
+-119.054 27.432 3552
+-118.928 27.432 3559
+-118.802 27.432 3581
+-118.676 27.432 3608
+-118.55 27.432 3662
+-118.424 27.432 3689
+-118.298 27.432 3708
+-118.172 27.432 3742
+-118.046 27.432 3747
+-117.92 27.432 3747
+-117.794 27.432 3728
+-117.668 27.432 3715
+-117.542 27.432 3738
+-117.416 27.432 3761
+-117.29 27.432 3792
+-117.164 27.432 3808
+-117.038 27.432 3812
+-116.912 27.432 3792
+-116.786 27.432 3789
+-116.66 27.432 3773
+-116.534 27.432 3755
+-116.408 27.432 3732
+-116.282 27.432 3710
+-116.156 27.432 3664
+-116.03 27.432 3642
+-115.904 27.432 3609
+-115.778 27.432 3565
+-115.652 27.432 3547
+-115.526 27.432 3511
+-115.4 27.432 3508
+-115.274 27.432 3511
+-115.148 27.432 3503
+-115.022 27.432 3478
+-114.896 27.432 3426
+-114.77 27.432 3416
+-114.644 27.432 3398
+-114.518 27.432 3396
+-114.392 27.432 3381
+-114.266 27.432 3372
+-114.14 27.432 3443
+-114.014 27.432 3560
+-113.888 27.432 3666
+-113.762 27.432 3735
+-113.636 27.432 3813
+-113.51 27.432 3859
+-113.384 27.432 3965
+-113.258 27.432 4015
+-113.132 27.432 4088
+-113.006 27.432 4136
+-112.88 27.432 4195
+-112.754 27.432 4301
+-112.628 27.432 4356
+-112.502 27.432 4407
+-112.376 27.432 4417
+-112.25 27.432 4484
+-112.124 27.432 4521
+-111.998 27.432 4581
+-111.872 27.432 4623
+-111.746 27.432 4665
+-111.62 27.432 4722
+-111.494 27.432 4763
+-111.368 27.432 4829
+-111.242 27.432 4892
+-111.116 27.432 4901
+-110.99 27.432 4929
+-110.864 27.432 4887
+-110.738 27.432 4899
+-110.612 27.432 4909
+-110.486 27.432 4939
+-110.36 27.432 4957
+-110.234 27.432 4929
+-110.108 27.432 4940
+-109.982 27.432 4937
+-109.856 27.432 4932
+-109.73 27.432 4899
+-109.604 27.432 4860
+-109.478 27.432 4857
+-109.352 27.432 4859
+-109.226 27.432 4818
+-109.1 27.432 4750
+-108.974 27.432 4768
+-108.848 27.432 4746
+-108.722 27.432 4683
+-108.596 27.432 4609
+-108.47 27.432 4556
+-108.344 27.432 4489
+-108.218 27.432 4383
+-108.092 27.432 4301
+-107.966 27.432 4254
+-107.84 27.432 4216
+-107.714 27.432 4269
+-107.588 27.432 4312
+-107.462 27.432 4296
+-107.336 27.432 4252
+-107.21 27.432 4228
+-107.084 27.432 4199
+-106.958 27.432 4142
+-106.832 27.432 4041
+-106.706 27.432 3969
+-106.58 27.432 3810
+-106.454 27.432 3656
+-106.328 27.432 3597
+-106.202 27.432 3529
+-106.076 27.432 3417
+-105.95 27.432 3326
+-105.824 27.432 3262
+-105.698 27.432 3195
+-105.572 27.432 3157
+-105.446 27.432 3152
+-105.32 27.432 3157
+-105.194 27.432 3157
+-105.068 27.432 3163
+-104.942 27.432 3107
+-104.816 27.432 3122
+-104.69 27.432 3141
+-104.564 27.432 3159
+-104.438 27.432 3216
+-104.312 27.432 3132
+-104.186 27.432 3142
+-104.06 27.432 3157
+-103.934 27.432 3154
+-103.808 27.432 3167
+-103.682 27.432 3178
+-103.556 27.432 3189
+-103.43 27.432 3198
+-103.304 27.432 3207
+-103.178 27.432 3215
+-103.052 27.432 3163
+-102.926 27.432 3161
+-102.8 27.432 3167
+-102.674 27.432 3172
+-102.548 27.432 3151
+-102.422 27.432 3157
+-102.296 27.432 3209
+-102.17 27.432 3215
+-102.044 27.432 3224
+-101.918 27.432 3215
+-101.792 27.432 3221
+-101.666 27.432 3226
+-101.54 27.432 3231
+-101.414 27.432 3228
+-101.288 27.432 3233
+-101.162 27.432 3222
+-101.036 27.432 3227
+-100.91 27.432 3164
+-100.784 27.432 3168
+-100.658 27.432 3171
+-100.532 27.432 3174
+-100.406 27.432 3177
+-100.28 27.432 3180
+-100.154 27.432 3144
+-100.028 27.432 3261
+-99.902 27.432 3162
+-99.776 27.432 3171
+-99.65 27.432 3173
+-99.524 27.432 3175
+-99.398 27.432 3177
+-99.272 27.432 3180
+-99.146 27.432 3182
+-99.02 27.432 3183
+-98.894 27.432 3185
+-98.768 27.432 3187
+-98.642 27.432 3116
+-98.516 27.432 3117
+-98.39 27.432 3118
+-98.264 27.432 3119
+-98.138 27.432 3119
+-98.012 27.432 3179
+-97.886 27.432 3144
+-97.76 27.432 3140
+-97.634 27.432 3141
+-97.508 27.432 3040
+-97.382 27.432 3004
+-97.256 27.432 2924
+-97.13 27.432 2921
+-97.004 27.432 2764
+-96.878 27.432 2629
+-96.752 27.432 2626
+-96.626 27.432 2652
+-96.5 27.432 2732
+-96.374 27.432 2763
+-96.248 27.432 2766
+-96.122 27.432 2784
+-95.996 27.432 2837
+-95.87 27.432 3050
+-95.744 27.432 3095
+-95.618 27.432 3097
+-95.492 27.432 3099
+-95.366 27.432 3100
+-95.24 27.432 3145
+-95.114 27.432 3144
+-94.988 27.432 3143
+-94.862 27.432 3143
+-94.736 27.432 3142
+-94.61 27.432 3141
+-94.484 27.432 3351
+-94.358 27.432 3350
+-94.232 27.432 3349
+-94.106 27.432 3347
+-93.98 27.432 3346
+-93.854 27.432 3344
+-93.728 27.432 3342
+-93.602 27.432 3340
+-93.476 27.432 3338
+-93.35 27.432 3335
+-93.224 27.432 3365
+-93.098 27.432 3526
+-92.972 27.432 3522
+-92.846 27.432 3518
+-92.72 27.432 3513
+-92.594 27.432 3508
+-92.468 27.432 3502
+-92.342 27.432 3496
+-92.216 27.432 3490
+-92.09 27.432 3482
+-91.964 27.432 3502
+-91.838 27.432 3502
+-91.712 27.432 3491
+-91.586 27.432 3479
+-91.46 27.432 3465
+-91.334 27.432 3450
+-91.208 27.432 3433
+-91.082 27.432 3414
+-90.956 27.432 3393
+-90.83 27.432 3368
+-90.704 27.432 3402
+-90.578 27.432 3368
+-90.452 27.432 3328
+-90.326 27.432 3320
+-90.2 27.432 3263
+-90.074 27.432 3195
+-89.948 27.432 3116
+-89.822 27.432 3070
+-89.696 27.432 2965
+-89.57 27.432 2851
+-89.444 27.432 2789
+-89.318 27.432 2712
+-89.192 27.432 2709
+-89.066 27.432 2803
+-88.94 27.432 2974
+-88.814 27.432 3171
+-88.688 27.432 3366
+-88.562 27.432 3539
+-88.436 27.432 3649
+-88.31 27.432 3713
+-88.184 27.432 3772
+-88.058 27.432 3852
+-87.932 27.432 3922
+-87.806 27.432 4020
+-87.68 27.432 4202
+-87.554 27.432 4287
+-87.428 27.432 4321
+-87.302 27.432 4329
+-87.176 27.432 4361
+-87.05 27.432 4513
+-86.924 27.432 4722
+-86.798 27.432 4921
+-86.672 27.432 5016
+-86.546 27.432 5106
+-86.42 27.432 5159
+-86.294 27.432 5254
+-86.168 27.432 5367
+-86.042 27.432 5604
+-85.916 27.432 5782
+-85.79 27.432 5868
+-85.664 27.432 5972
+-85.538 27.432 6053
+-85.412 27.432 6155
+-85.286 27.432 6372
+-85.16 27.432 6554
+-85.034 27.432 6707
+-84.908 27.432 6820
+-84.782 27.432 6952
+-84.656 27.432 7096
+-84.53 27.432 7238
+-84.404 27.432 7402
+-84.278 27.432 7453
+-84.152 27.432 7580
+-84.026 27.432 7840
+-83.9 27.432 7906
+-83.774 27.432 8036
+-83.648 27.432 8136
+-83.522 27.432 8360
+-83.396 27.432 8439
+-83.27 27.432 8617
+-83.144 27.432 8730
+-83.018 27.432 8898
+-82.892 27.432 9045
+-82.766 27.432 9149
+-82.64 27.432 9206
+-82.514 27.432 9323
+-82.388 27.432 9423
+-82.262 27.432 9482
+-82.136 27.432 9438
+-82.01 27.432 9411
+-81.884 27.432 9369
+-81.758 27.432 9245
+-81.632 27.432 9107
+-81.506 27.432 8962
+-81.38 27.432 8881
+-81.254 27.432 8732
+-81.128 27.432 8575
+-81.002 27.432 8478
+-80.876 27.432 8377
+-80.75 27.432 8189
+-80.624 27.432 8069
+-80.498 27.432 7957
+-80.372 27.432 7749
+-80.246 27.432 7681
+-80.12 27.432 7576
+-79.994 27.432 7380
+-79.868 27.432 7249
+-79.742 27.432 7142
+-79.616 27.432 6971
+-79.49 27.432 6836
+-79.364 27.432 6661
+-79.238 27.432 6464
+-79.112 27.432 6395
+-78.986 27.432 6261
+-78.86 27.432 6118
+-78.734 27.432 5982
+-78.608 27.432 5890
+-78.482 27.432 5693
+-78.356 27.432 5539
+-78.23 27.432 5414
+-78.104 27.432 5281
+-77.978 27.432 5170
+-77.852 27.432 5079
+-77.726 27.432 5049
+-77.6 27.432 4925
+-77.474 27.432 4719
+-77.348 27.432 4537
+-77.222 27.432 4506
+-77.096 27.432 4398
+-76.97 27.432 4255
+-76.844 27.432 4012
+-76.718 27.432 3905
+-76.592 27.432 3762
+-76.466 27.432 3575
+-76.34 27.432 3352
+-76.214 27.432 3137
+-76.088 27.432 3016
+-75.962 27.432 2963
+-75.836 27.432 2755
+-75.71 27.432 2605
+-75.584 27.432 2694
+-75.458 27.432 2806
+-75.332 27.432 2896
+-75.206 27.432 2979
+-75.08 27.432 3011
+-74.954 27.432 3077
+-74.828 27.432 3124
+-74.702 27.432 3174
+-74.576 27.432 3200
+-74.45 27.432 3209
+-74.324 27.432 3239
+-74.198 27.432 3266
+-74.072 27.432 3243
+-73.946 27.432 3263
+-73.82 27.432 3273
+-73.694 27.432 3252
+-73.568 27.432 3219
+-73.442 27.432 3230
+-73.316 27.432 3241
+-73.19 27.432 3250
+-73.064 27.432 3204
+-72.938 27.432 3212
+-72.812 27.432 3220
+-72.686 27.432 3207
+-72.56 27.432 3213
+-72.434 27.432 3219
+-72.308 27.432 3224
+-72.182 27.432 3229
+-72.056 27.432 3173
+-71.93 27.432 3150
+-71.804 27.432 3154
+-71.678 27.432 3157
+-71.552 27.432 3160
+-71.426 27.432 3163
+-71.3 27.432 3166
+-71.174 27.432 3169
+-71.048 27.432 3171
+-70.922 27.432 3174
+-70.796 27.432 3073
+-70.67 27.432 3073
+-70.544 27.432 3074
+-70.418 27.432 3074
+-70.292 27.432 3074
+-70.166 27.432 3073
+-70.04 27.432 3073
+-69.914 27.432 3073
+-69.788 27.432 3073
+-69.662 27.432 3073
+-69.536 27.432 3073
+-69.41 27.432 3073
+-69.284 27.432 3073
+-69.158 27.432 3073
+-69.032 27.432 3073
+-68.906 27.432 3072
+-68.78 27.432 2986
+-68.654 27.432 2985
+-68.528 27.432 2984
+-68.402 27.432 2984
+-68.276 27.432 2983
+-68.15 27.432 2982
+-68.024 27.432 2983
+-67.898 27.432 2982
+-67.772 27.432 2982
+-67.646 27.432 2981
+-67.52 27.432 2981
+-67.394 27.432 2980
+-67.268 27.432 2980
+-67.142 27.432 2979
+-67.016 27.432 2979
+-66.89 27.432 2978
+-66.764 27.432 2978
+-66.638 27.432 2978
+-66.512 27.432 2977
+-66.386 27.432 2977
+-66.26 27.432 2976
+-66.134 27.432 2976
+-66.008 27.432 2976
+-65.882 27.432 2975
+-65.756 27.432 2975
+-65.63 27.432 2975
+-65.504 27.432 2975
+-65.378 27.432 2974
+-65.252 27.432 2974
+-65.126 27.432 2974
+-128 27.38 2841
+-127.874 27.38 2842
+-127.748 27.38 2889
+-127.622 27.38 2890
+-127.496 27.38 2910
+-127.37 27.38 2954
+-127.244 27.38 2956
+-127.118 27.38 2958
+-126.992 27.38 2961
+-126.866 27.38 2964
+-126.74 27.38 2941
+-126.614 27.38 2932
+-126.488 27.38 2963
+-126.362 27.38 2968
+-126.236 27.38 3009
+-126.11 27.38 3014
+-125.984 27.38 2985
+-125.858 27.38 2976
+-125.732 27.38 2992
+-125.606 27.38 2999
+-125.48 27.38 3007
+-125.354 27.38 2982
+-125.228 27.38 3403
+-125.102 27.38 3403
+-124.976 27.38 3401
+-124.85 27.38 3377
+-124.724 27.38 3376
+-124.598 27.38 3361
+-124.472 27.38 3388
+-124.346 27.38 3387
+-124.22 27.38 3442
+-124.094 27.38 3439
+-123.968 27.38 3408
+-123.842 27.38 3422
+-123.716 27.38 3451
+-123.59 27.38 3444
+-123.464 27.38 3467
+-123.338 27.38 3463
+-123.212 27.38 3488
+-123.086 27.38 3470
+-122.96 27.38 3465
+-122.834 27.38 3460
+-122.708 27.38 3482
+-122.582 27.38 3475
+-122.456 27.38 3467
+-122.33 27.38 3467
+-122.204 27.38 3404
+-122.078 27.38 3411
+-121.952 27.38 3397
+-121.826 27.38 3391
+-121.7 27.38 3373
+-121.574 27.38 3411
+-121.448 27.38 3405
+-121.322 27.38 3335
+-121.196 27.38 3345
+-121.07 27.38 3341
+-120.944 27.38 3331
+-120.818 27.38 3338
+-120.692 27.38 3321
+-120.566 27.38 3298
+-120.44 27.38 3265
+-120.314 27.38 3215
+-120.188 27.38 3211
+-120.062 27.38 3209
+-119.936 27.38 3222
+-119.81 27.38 3273
+-119.684 27.38 3317
+-119.558 27.38 3402
+-119.432 27.38 3437
+-119.306 27.38 3462
+-119.18 27.38 3502
+-119.054 27.38 3500
+-118.928 27.38 3502
+-118.802 27.38 3491
+-118.676 27.38 3505
+-118.55 27.38 3533
+-118.424 27.38 3597
+-118.298 27.38 3638
+-118.172 27.38 3681
+-118.046 27.38 3690
+-117.92 27.38 3685
+-117.794 27.38 3648
+-117.668 27.38 3626
+-117.542 27.38 3651
+-117.416 27.38 3684
+-117.29 27.38 3706
+-117.164 27.38 3698
+-117.038 27.38 3682
+-116.912 27.38 3685
+-116.786 27.38 3695
+-116.66 27.38 3692
+-116.534 27.38 3678
+-116.408 27.38 3656
+-116.282 27.38 3604
+-116.156 27.38 3594
+-116.03 27.38 3568
+-115.904 27.38 3552
+-115.778 27.38 3532
+-115.652 27.38 3505
+-115.526 27.38 3443
+-115.4 27.38 3475
+-115.274 27.38 3484
+-115.148 27.38 3466
+-115.022 27.38 3427
+-114.896 27.38 3362
+-114.77 27.38 3310
+-114.644 27.38 3280
+-114.518 27.38 3322
+-114.392 27.38 3328
+-114.266 27.38 3297
+-114.14 27.38 3375
+-114.014 27.38 3527
+-113.888 27.38 3651
+-113.762 27.38 3723
+-113.636 27.38 3792
+-113.51 27.38 3827
+-113.384 27.38 3905
+-113.258 27.38 3976
+-113.132 27.38 4057
+-113.006 27.38 4128
+-112.88 27.38 4152
+-112.754 27.38 4252
+-112.628 27.38 4332
+-112.502 27.38 4385
+-112.376 27.38 4433
+-112.25 27.38 4474
+-112.124 27.38 4484
+-111.998 27.38 4570
+-111.872 27.38 4624
+-111.746 27.38 4644
+-111.62 27.38 4679
+-111.494 27.38 4715
+-111.368 27.38 4783
+-111.242 27.38 4836
+-111.116 27.38 4848
+-110.99 27.38 4832
+-110.864 27.38 4842
+-110.738 27.38 4860
+-110.612 27.38 4882
+-110.486 27.38 4881
+-110.36 27.38 4892
+-110.234 27.38 4900
+-110.108 27.38 4898
+-109.982 27.38 4895
+-109.856 27.38 4896
+-109.73 27.38 4843
+-109.604 27.38 4780
+-109.478 27.38 4790
+-109.352 27.38 4806
+-109.226 27.38 4791
+-109.1 27.38 4772
+-108.974 27.38 4758
+-108.848 27.38 4709
+-108.722 27.38 4662
+-108.596 27.38 4590
+-108.47 27.38 4524
+-108.344 27.38 4446
+-108.218 27.38 4360
+-108.092 27.38 4313
+-107.966 27.38 4283
+-107.84 27.38 4262
+-107.714 27.38 4263
+-107.588 27.38 4250
+-107.462 27.38 4239
+-107.336 27.38 4218
+-107.21 27.38 4188
+-107.084 27.38 4132
+-106.958 27.38 4026
+-106.832 27.38 3947
+-106.706 27.38 3787
+-106.58 27.38 3626
+-106.454 27.38 3535
+-106.328 27.38 3472
+-106.202 27.38 3386
+-106.076 27.38 3349
+-105.95 27.38 3303
+-105.824 27.38 3257
+-105.698 27.38 3218
+-105.572 27.38 3175
+-105.446 27.38 3155
+-105.32 27.38 3156
+-105.194 27.38 3158
+-105.068 27.38 3150
+-104.942 27.38 3150
+-104.816 27.38 3088
+-104.69 27.38 3044
+-104.564 27.38 3060
+-104.438 27.38 3113
+-104.312 27.38 3132
+-104.186 27.38 3115
+-104.06 27.38 3126
+-103.934 27.38 3143
+-103.808 27.38 3142
+-103.682 27.38 3155
+-103.556 27.38 3167
+-103.43 27.38 3179
+-103.304 27.38 3189
+-103.178 27.38 3199
+-103.052 27.38 3208
+-102.926 27.38 3156
+-102.8 27.38 3154
+-102.674 27.38 3160
+-102.548 27.38 3166
+-102.422 27.38 3145
+-102.296 27.38 3151
+-102.17 27.38 3204
+-102.044 27.38 3211
+-101.918 27.38 3220
+-101.792 27.38 3211
+-101.666 27.38 3217
+-101.54 27.38 3222
+-101.414 27.38 3228
+-101.288 27.38 3225
+-101.162 27.38 3230
+-101.036 27.38 3219
+-100.91 27.38 3224
+-100.784 27.38 3161
+-100.658 27.38 3165
+-100.532 27.38 3168
+-100.406 27.38 3171
+-100.28 27.38 3174
+-100.154 27.38 3177
+-100.028 27.38 3141
+-99.902 27.38 3259
+-99.776 27.38 3160
+-99.65 27.38 3169
+-99.524 27.38 3172
+-99.398 27.38 3174
+-99.272 27.38 3176
+-99.146 27.38 3178
+-99.02 27.38 3180
+-98.894 27.38 3182
+-98.768 27.38 3184
+-98.642 27.38 3186
+-98.516 27.38 3114
+-98.39 27.38 3116
+-98.264 27.38 3117
+-98.138 27.38 3118
+-98.012 27.38 3118
+-97.886 27.38 3180
+-97.76 27.38 3144
+-97.634 27.38 3140
+-97.508 27.38 3038
+-97.382 27.38 3036
+-97.256 27.38 2923
+-97.13 27.38 2919
+-97.004 27.38 2763
+-96.878 27.38 2628
+-96.752 27.38 2626
+-96.626 27.38 2652
+-96.5 27.38 2733
+-96.374 27.38 2766
+-96.248 27.38 2768
+-96.122 27.38 2830
+-95.996 27.38 3049
+-95.87 27.38 3093
+-95.744 27.38 3095
+-95.618 27.38 3097
+-95.492 27.38 3099
+-95.366 27.38 3101
+-95.24 27.38 3145
+-95.114 27.38 3144
+-94.988 27.38 3143
+-94.862 27.38 3142
+-94.736 27.38 3142
+-94.61 27.38 3352
+-94.484 27.38 3351
+-94.358 27.38 3350
+-94.232 27.38 3348
+-94.106 27.38 3346
+-93.98 27.38 3345
+-93.854 27.38 3343
+-93.728 27.38 3341
+-93.602 27.38 3339
+-93.476 27.38 3337
+-93.35 27.38 3356
+-93.224 27.38 3529
+-93.098 27.38 3525
+-92.972 27.38 3521
+-92.846 27.38 3516
+-92.72 27.38 3511
+-92.594 27.38 3506
+-92.468 27.38 3500
+-92.342 27.38 3494
+-92.216 27.38 3487
+-92.09 27.38 3489
+-91.964 27.38 3508
+-91.838 27.38 3498
+-91.712 27.38 3486
+-91.586 27.38 3474
+-91.46 27.38 3459
+-91.334 27.38 3444
+-91.208 27.38 3426
+-91.082 27.38 3406
+-90.956 27.38 3383
+-90.83 27.38 3356
+-90.704 27.38 3326
+-90.578 27.38 3349
+-90.452 27.38 3344
+-90.326 27.38 3290
+-90.2 27.38 3226
+-90.074 27.38 3150
+-89.948 27.38 3107
+-89.822 27.38 2994
+-89.696 27.38 2858
+-89.57 27.38 2736
+-89.444 27.38 2570
+-89.318 27.38 2435
+-89.192 27.38 2397
+-89.066 27.38 2506
+-88.94 27.38 2748
+-88.814 27.38 3031
+-88.688 27.38 3306
+-88.562 27.38 3481
+-88.436 27.38 3603
+-88.31 27.38 3703
+-88.184 27.38 3773
+-88.058 27.38 3872
+-87.932 27.38 3959
+-87.806 27.38 4089
+-87.68 27.38 4242
+-87.554 27.38 4293
+-87.428 27.38 4262
+-87.302 27.38 4236
+-87.176 27.38 4368
+-87.05 27.38 4564
+-86.924 27.38 4773
+-86.798 27.38 4886
+-86.672 27.38 4923
+-86.546 27.38 5049
+-86.42 27.38 5187
+-86.294 27.38 5276
+-86.168 27.38 5406
+-86.042 27.38 5587
+-85.916 27.38 5729
+-85.79 27.38 5849
+-85.664 27.38 5986
+-85.538 27.38 6104
+-85.412 27.38 6228
+-85.286 27.38 6407
+-85.16 27.38 6557
+-85.034 27.38 6643
+-84.908 27.38 6854
+-84.782 27.38 6953
+-84.656 27.38 7091
+-84.53 27.38 7267
+-84.404 27.38 7388
+-84.278 27.38 7475
+-84.152 27.38 7600
+-84.026 27.38 7792
+-83.9 27.38 7913
+-83.774 27.38 8061
+-83.648 27.38 8180
+-83.522 27.38 8366
+-83.396 27.38 8466
+-83.27 27.38 8594
+-83.144 27.38 8749
+-83.018 27.38 8853
+-82.892 27.38 8975
+-82.766 27.38 9062
+-82.64 27.38 9215
+-82.514 27.38 9305
+-82.388 27.38 9388
+-82.262 27.38 9394
+-82.136 27.38 9400
+-82.01 27.38 9358
+-81.884 27.38 9285
+-81.758 27.38 9192
+-81.632 27.38 9091
+-81.506 27.38 8977
+-81.38 27.38 8897
+-81.254 27.38 8764
+-81.128 27.38 8553
+-81.002 27.38 8456
+-80.876 27.38 8323
+-80.75 27.38 8161
+-80.624 27.38 8047
+-80.498 27.38 7900
+-80.372 27.38 7722
+-80.246 27.38 7657
+-80.12 27.38 7504
+-79.994 27.38 7356
+-79.868 27.38 7236
+-79.742 27.38 7141
+-79.616 27.38 6969
+-79.49 27.38 6846
+-79.364 27.38 6682
+-79.238 27.38 6507
+-79.112 27.38 6369
+-78.986 27.38 6295
+-78.86 27.38 6135
+-78.734 27.38 6035
+-78.608 27.38 5860
+-78.482 27.38 5660
+-78.356 27.38 5467
+-78.23 27.38 5418
+-78.104 27.38 5213
+-77.978 27.38 5205
+-77.852 27.38 5125
+-77.726 27.38 5047
+-77.6 27.38 4863
+-77.474 27.38 4594
+-77.348 27.38 4359
+-77.222 27.38 4454
+-77.096 27.38 4331
+-76.97 27.38 4101
+-76.844 27.38 3946
+-76.718 27.38 3890
+-76.592 27.38 3784
+-76.466 27.38 3609
+-76.34 27.38 3420
+-76.214 27.38 3239
+-76.088 27.38 3129
+-75.962 27.38 3022
+-75.836 27.38 2836
+-75.71 27.38 2723
+-75.584 27.38 2775
+-75.458 27.38 2875
+-75.332 27.38 2960
+-75.206 27.38 3033
+-75.08 27.38 3099
+-74.954 27.38 3106
+-74.828 27.38 3157
+-74.702 27.38 3189
+-74.576 27.38 3229
+-74.45 27.38 3242
+-74.324 27.38 3244
+-74.198 27.38 3270
+-74.072 27.38 3245
+-73.946 27.38 3263
+-73.82 27.38 3281
+-73.694 27.38 3288
+-73.568 27.38 3265
+-73.442 27.38 3230
+-73.316 27.38 3240
+-73.19 27.38 3250
+-73.064 27.38 3259
+-72.938 27.38 3210
+-72.812 27.38 3194
+-72.686 27.38 3200
+-72.56 27.38 3207
+-72.434 27.38 3212
+-72.308 27.38 3218
+-72.182 27.38 3223
+-72.056 27.38 3179
+-71.93 27.38 3167
+-71.804 27.38 3151
+-71.678 27.38 3155
+-71.552 27.38 3158
+-71.426 27.38 3161
+-71.3 27.38 3164
+-71.174 27.38 3167
+-71.048 27.38 3170
+-70.922 27.38 3060
+-70.796 27.38 3060
+-70.67 27.38 3060
+-70.544 27.38 3060
+-70.418 27.38 3060
+-70.292 27.38 3060
+-70.166 27.38 3060
+-70.04 27.38 3059
+-69.914 27.38 3059
+-69.788 27.38 3059
+-69.662 27.38 3059
+-69.536 27.38 3059
+-69.41 27.38 3059
+-69.284 27.38 3059
+-69.158 27.38 3058
+-69.032 27.38 3058
+-68.906 27.38 2983
+-68.78 27.38 2982
+-68.654 27.38 2981
+-68.528 27.38 2981
+-68.402 27.38 2980
+-68.276 27.38 2979
+-68.15 27.38 2979
+-68.024 27.38 2978
+-67.898 27.38 2978
+-67.772 27.38 2977
+-67.646 27.38 2977
+-67.52 27.38 2976
+-67.394 27.38 2976
+-67.268 27.38 2975
+-67.142 27.38 2975
+-67.016 27.38 2974
+-66.89 27.38 2974
+-66.764 27.38 2974
+-66.638 27.38 2973
+-66.512 27.38 2973
+-66.386 27.38 2972
+-66.26 27.38 2972
+-66.134 27.38 2972
+-66.008 27.38 2972
+-65.882 27.38 2971
+-65.756 27.38 2971
+-65.63 27.38 2971
+-65.504 27.38 2971
+-65.378 27.38 2970
+-65.252 27.38 2970
+-65.126 27.38 2970
+-128 27.328 2847
+-127.874 27.328 2894
+-127.748 27.328 2896
+-127.622 27.328 2915
+-127.496 27.328 2959
+-127.37 27.328 2961
+-127.244 27.328 2963
+-127.118 27.328 2965
+-126.992 27.328 2968
+-126.866 27.328 2944
+-126.74 27.328 2934
+-126.614 27.328 2966
+-126.488 27.328 2970
+-126.362 27.328 3011
+-126.236 27.328 3016
+-126.11 27.328 2986
+-125.984 27.328 2976
+-125.858 27.328 2992
+-125.732 27.328 2999
+-125.606 27.328 3006
+-125.48 27.328 2980
+-125.354 27.328 3404
+-125.228 27.328 3404
+-125.102 27.328 3402
+-124.976 27.328 3378
+-124.85 27.328 3377
+-124.724 27.328 3362
+-124.598 27.328 3390
+-124.472 27.328 3388
+-124.346 27.328 3445
+-124.22 27.328 3442
+-124.094 27.328 3411
+-123.968 27.328 3425
+-123.842 27.328 3454
+-123.716 27.328 3448
+-123.59 27.328 3472
+-123.464 27.328 3468
+-123.338 27.328 3494
+-123.212 27.328 3476
+-123.086 27.328 3471
+-122.96 27.328 3467
+-122.834 27.328 3490
+-122.708 27.328 3484
+-122.582 27.328 3476
+-122.456 27.328 3478
+-122.33 27.328 3410
+-122.204 27.328 3419
+-122.078 27.328 3405
+-121.952 27.328 3400
+-121.826 27.328 3381
+-121.7 27.328 3422
+-121.574 27.328 3416
+-121.448 27.328 3343
+-121.322 27.328 3354
+-121.196 27.328 3352
+-121.07 27.328 3343
+-120.944 27.328 3355
+-120.818 27.328 3345
+-120.692 27.328 3331
+-120.566 27.328 3309
+-120.44 27.328 3265
+-120.314 27.328 3274
+-120.188 27.328 3221
+-120.062 27.328 3224
+-119.936 27.328 3275
+-119.81 27.328 3278
+-119.684 27.328 3330
+-119.558 27.328 3357
+-119.432 27.328 3425
+-119.306 27.328 3437
+-119.18 27.328 3463
+-119.054 27.328 3437
+-118.928 27.328 3416
+-118.802 27.328 3390
+-118.676 27.328 3370
+-118.55 27.328 3410
+-118.424 27.328 3478
+-118.298 27.328 3543
+-118.172 27.328 3587
+-118.046 27.328 3620
+-117.92 27.328 3624
+-117.794 27.328 3609
+-117.668 27.328 3594
+-117.542 27.328 3612
+-117.416 27.328 3602
+-117.29 27.328 3603
+-117.164 27.328 3594
+-117.038 27.328 3592
+-116.912 27.328 3592
+-116.786 27.328 3598
+-116.66 27.328 3590
+-116.534 27.328 3580
+-116.408 27.328 3580
+-116.282 27.328 3551
+-116.156 27.328 3508
+-116.03 27.328 3489
+-115.904 27.328 3496
+-115.778 27.328 3506
+-115.652 27.328 3491
+-115.526 27.328 3470
+-115.4 27.328 3464
+-115.274 27.328 3453
+-115.148 27.328 3408
+-115.022 27.328 3353
+-114.896 27.328 3272
+-114.77 27.328 3168
+-114.644 27.328 3105
+-114.518 27.328 3192
+-114.392 27.328 3311
+-114.266 27.328 3348
+-114.14 27.328 3413
+-114.014 27.328 3538
+-113.888 27.328 3650
+-113.762 27.328 3716
+-113.636 27.328 3762
+-113.51 27.328 3771
+-113.384 27.328 3845
+-113.258 27.328 3905
+-113.132 27.328 3970
+-113.006 27.328 4048
+-112.88 27.328 4101
+-112.754 27.328 4174
+-112.628 27.328 4275
+-112.502 27.328 4345
+-112.376 27.328 4408
+-112.25 27.328 4410
+-112.124 27.328 4454
+-111.998 27.328 4545
+-111.872 27.328 4602
+-111.746 27.328 4631
+-111.62 27.328 4656
+-111.494 27.328 4673
+-111.368 27.328 4737
+-111.242 27.328 4802
+-111.116 27.328 4808
+-110.99 27.328 4813
+-110.864 27.328 4826
+-110.738 27.328 4829
+-110.612 27.328 4824
+-110.486 27.328 4819
+-110.36 27.328 4824
+-110.234 27.328 4822
+-110.108 27.328 4838
+-109.982 27.328 4845
+-109.856 27.328 4834
+-109.73 27.328 4812
+-109.604 27.328 4784
+-109.478 27.328 4772
+-109.352 27.328 4756
+-109.226 27.328 4736
+-109.1 27.328 4726
+-108.974 27.328 4703
+-108.848 27.328 4662
+-108.722 27.328 4590
+-108.596 27.328 4535
+-108.47 27.328 4483
+-108.344 27.328 4396
+-108.218 27.328 4333
+-108.092 27.328 4299
+-107.966 27.328 4285
+-107.84 27.328 4258
+-107.714 27.328 4252
+-107.588 27.328 4202
+-107.462 27.328 4178
+-107.336 27.328 4146
+-107.21 27.328 4110
+-107.084 27.328 4010
+-106.958 27.328 3889
+-106.832 27.328 3799
+-106.706 27.328 3615
+-106.58 27.328 3511
+-106.454 27.328 3377
+-106.328 27.328 3312
+-106.202 27.328 3284
+-106.076 27.328 3273
+-105.95 27.328 3260
+-105.824 27.328 3229
+-105.698 27.328 3193
+-105.572 27.328 3161
+-105.446 27.328 3124
+-105.32 27.328 3107
+-105.194 27.328 3110
+-105.068 27.328 3115
+-104.942 27.328 3058
+-104.816 27.328 3061
+-104.69 27.328 3074
+-104.564 27.328 3017
+-104.438 27.328 3038
+-104.312 27.328 3093
+-104.186 27.328 3115
+-104.06 27.328 3100
+-103.934 27.328 3114
+-103.808 27.328 3132
+-103.682 27.328 3131
+-103.556 27.328 3146
+-103.43 27.328 3159
+-103.304 27.328 3171
+-103.178 27.328 3182
+-103.052 27.328 3192
+-102.926 27.328 3201
+-102.8 27.328 3149
+-102.674 27.328 3148
+-102.548 27.328 3155
+-102.422 27.328 3161
+-102.296 27.328 3140
+-102.17 27.328 3147
+-102.044 27.328 3200
+-101.918 27.328 3207
+-101.792 27.328 3217
+-101.666 27.328 3207
+-101.54 27.328 3213
+-101.414 27.328 3219
+-101.288 27.328 3225
+-101.162 27.328 3222
+-101.036 27.328 3227
+-100.91 27.328 3216
+-100.784 27.328 3221
+-100.658 27.328 3158
+-100.532 27.328 3162
+-100.406 27.328 3165
+-100.28 27.328 3168
+-100.154 27.328 3171
+-100.028 27.328 3174
+-99.902 27.328 3138
+-99.776 27.328 3257
+-99.65 27.328 3158
+-99.524 27.328 3168
+-99.398 27.328 3171
+-99.272 27.328 3173
+-99.146 27.328 3175
+-99.02 27.328 3177
+-98.894 27.328 3179
+-98.768 27.328 3181
+-98.642 27.328 3183
+-98.516 27.328 3185
+-98.39 27.328 3113
+-98.264 27.328 3115
+-98.138 27.328 3116
+-98.012 27.328 3117
+-97.886 27.328 3118
+-97.76 27.328 3181
+-97.634 27.328 3145
+-97.508 27.328 3036
+-97.382 27.328 3034
+-97.256 27.328 3032
+-97.13 27.328 2918
+-97.004 27.328 2684
+-96.878 27.328 2682
+-96.752 27.328 2625
+-96.626 27.328 2652
+-96.5 27.328 2734
+-96.374 27.328 2768
+-96.248 27.328 2806
+-96.122 27.328 2859
+-95.996 27.328 3080
+-95.87 27.328 3082
+-95.744 27.328 3085
+-95.618 27.328 3087
+-95.492 27.328 3088
+-95.366 27.328 3090
+-95.24 27.328 3144
+-95.114 27.328 3144
+-94.988 27.328 3143
+-94.862 27.328 3142
+-94.736 27.328 3353
+-94.61 27.328 3352
+-94.484 27.328 3350
+-94.358 27.328 3349
+-94.232 27.328 3347
+-94.106 27.328 3346
+-93.98 27.328 3344
+-93.854 27.328 3342
+-93.728 27.328 3340
+-93.602 27.328 3338
+-93.476 27.328 3357
+-93.35 27.328 3354
+-93.224 27.328 3351
+-93.098 27.328 3524
+-92.972 27.328 3519
+-92.846 27.328 3515
+-92.72 27.328 3510
+-92.594 27.328 3504
+-92.468 27.328 3498
+-92.342 27.328 3492
+-92.216 27.328 3494
+-92.09 27.328 3486
+-91.964 27.328 3477
+-91.838 27.328 3494
+-91.712 27.328 3483
+-91.586 27.328 3470
+-91.46 27.328 3455
+-91.334 27.328 3439
+-91.208 27.328 3420
+-91.082 27.328 3399
+-90.956 27.328 3375
+-90.83 27.328 3348
+-90.704 27.328 3353
+-90.578 27.328 3348
+-90.452 27.328 3301
+-90.326 27.328 3269
+-90.2 27.328 3200
+-90.074 27.328 3170
+-89.948 27.328 3067
+-89.822 27.328 2939
+-89.696 27.328 2818
+-89.57 27.328 2623
+-89.444 27.328 2405
+-89.318 27.328 2209
+-89.192 27.328 2126
+-89.066 27.328 2249
+-88.94 27.328 2556
+-88.814 27.328 2905
+-88.688 27.328 3222
+-88.562 27.328 3417
+-88.436 27.328 3561
+-88.31 27.328 3659
+-88.184 27.328 3745
+-88.058 27.328 3864
+-87.932 27.328 3961
+-87.806 27.328 4080
+-87.68 27.328 4235
+-87.554 27.328 4276
+-87.428 27.328 4201
+-87.302 27.328 4100
+-87.176 27.328 4280
+-87.05 27.328 4590
+-86.924 27.328 4790
+-86.798 27.328 4862
+-86.672 27.328 4784
+-86.546 27.328 4978
+-86.42 27.328 5191
+-86.294 27.328 5297
+-86.168 27.328 5416
+-86.042 27.328 5591
+-85.916 27.328 5648
+-85.79 27.328 5789
+-85.664 27.328 5986
+-85.538 27.328 6132
+-85.412 27.328 6300
+-85.286 27.328 6424
+-85.16 27.328 6460
+-85.034 27.328 6631
+-84.908 27.328 6768
+-84.782 27.328 6916
+-84.656 27.328 7097
+-84.53 27.328 7263
+-84.404 27.328 7336
+-84.278 27.328 7485
+-84.152 27.328 7587
+-84.026 27.328 7770
+-83.9 27.328 7863
+-83.774 27.328 7989
+-83.648 27.328 8130
+-83.522 27.328 8318
+-83.396 27.328 8450
+-83.27 27.328 8527
+-83.144 27.328 8719
+-83.018 27.328 8799
+-82.892 27.328 8940
+-82.766 27.328 9045
+-82.64 27.328 9160
+-82.514 27.328 9247
+-82.388 27.328 9320
+-82.262 27.328 9370
+-82.136 27.328 9340
+-82.01 27.328 9303
+-81.884 27.328 9249
+-81.758 27.328 9143
+-81.632 27.328 9087
+-81.506 27.328 8941
+-81.38 27.328 8804
+-81.254 27.328 8753
+-81.128 27.328 8646
+-81.002 27.328 8424
+-80.876 27.328 8306
+-80.75 27.328 8173
+-80.624 27.328 8078
+-80.498 27.328 7862
+-80.372 27.328 7787
+-80.246 27.328 7669
+-80.12 27.328 7452
+-79.994 27.328 7322
+-79.868 27.328 7244
+-79.742 27.328 7129
+-79.616 27.328 6985
+-79.49 27.328 6830
+-79.364 27.328 6616
+-79.238 27.328 6477
+-79.112 27.328 6405
+-78.986 27.328 6261
+-78.86 27.328 6039
+-78.734 27.328 6017
+-78.608 27.328 5816
+-78.482 27.328 5635
+-78.356 27.328 5438
+-78.23 27.328 5333
+-78.104 27.328 5255
+-77.978 27.328 5184
+-77.852 27.328 5086
+-77.726 27.328 4987
+-77.6 27.328 4871
+-77.474 27.328 4686
+-77.348 27.328 4533
+-77.222 27.328 4484
+-77.096 27.328 4289
+-76.97 27.328 4029
+-76.844 27.328 3877
+-76.718 27.328 3891
+-76.592 27.328 3789
+-76.466 27.328 3606
+-76.34 27.328 3394
+-76.214 27.328 3275
+-76.088 27.328 3204
+-75.962 27.328 3104
+-75.836 27.328 3000
+-75.71 27.328 2926
+-75.584 27.328 2929
+-75.458 27.328 2980
+-75.332 27.328 3041
+-75.206 27.328 3097
+-75.08 27.328 3150
+-74.954 27.328 3198
+-74.828 27.328 3182
+-74.702 27.328 3221
+-74.576 27.328 3243
+-74.45 27.328 3274
+-74.324 27.328 3280
+-74.198 27.328 3273
+-74.072 27.328 3249
+-73.946 27.328 3267
+-73.82 27.328 3284
+-73.694 27.328 3299
+-73.568 27.328 3302
+-73.442 27.328 3253
+-73.316 27.328 3241
+-73.19 27.328 3250
+-73.064 27.328 3259
+-72.938 27.328 3194
+-72.812 27.328 3192
+-72.686 27.328 3199
+-72.56 27.328 3205
+-72.434 27.328 3211
+-72.308 27.328 3216
+-72.182 27.328 3221
+-72.056 27.328 3226
+-71.93 27.328 3181
+-71.804 27.328 3169
+-71.678 27.328 3153
+-71.552 27.328 3156
+-71.426 27.328 3159
+-71.3 27.328 3162
+-71.174 27.328 3165
+-71.048 27.328 3055
+-70.922 27.328 3055
+-70.796 27.328 3055
+-70.67 27.328 3055
+-70.544 27.328 3055
+-70.418 27.328 3055
+-70.292 27.328 3055
+-70.166 27.328 3055
+-70.04 27.328 3055
+-69.914 27.328 3055
+-69.788 27.328 3055
+-69.662 27.328 3055
+-69.536 27.328 3055
+-69.41 27.328 3055
+-69.284 27.328 3054
+-69.158 27.328 3054
+-69.032 27.328 2979
+-68.906 27.328 2979
+-68.78 27.328 2978
+-68.654 27.328 2977
+-68.528 27.328 2977
+-68.402 27.328 2976
+-68.276 27.328 2976
+-68.15 27.328 2975
+-68.024 27.328 2974
+-67.898 27.328 2974
+-67.772 27.328 2973
+-67.646 27.328 2973
+-67.52 27.328 2973
+-67.394 27.328 2972
+-67.268 27.328 2972
+-67.142 27.328 2971
+-67.016 27.328 2971
+-66.89 27.328 2971
+-66.764 27.328 2970
+-66.638 27.328 2970
+-66.512 27.328 2970
+-66.386 27.328 2970
+-66.26 27.328 2969
+-66.134 27.328 2969
+-66.008 27.328 2969
+-65.882 27.328 2969
+-65.756 27.328 2968
+-65.63 27.328 2968
+-65.504 27.328 2968
+-65.378 27.328 2968
+-65.252 27.328 2968
+-65.126 27.328 2967
+-128 27.276 2899
+-127.874 27.276 2901
+-127.748 27.276 2920
+-127.622 27.276 2964
+-127.496 27.276 2966
+-127.37 27.276 2967
+-127.244 27.276 2970
+-127.118 27.276 2972
+-126.992 27.276 2948
+-126.866 27.276 2937
+-126.74 27.276 2968
+-126.614 27.276 2973
+-126.488 27.276 3013
+-126.362 27.276 3018
+-126.236 27.276 2987
+-126.11 27.276 2976
+-125.984 27.276 2992
+-125.858 27.276 2998
+-125.732 27.276 3005
+-125.606 27.276 2979
+-125.48 27.276 3406
+-125.354 27.276 3406
+-125.228 27.276 3404
+-125.102 27.276 3379
+-124.976 27.276 3378
+-124.85 27.276 3363
+-124.724 27.276 3391
+-124.598 27.276 3390
+-124.472 27.276 3447
+-124.346 27.276 3444
+-124.22 27.276 3413
+-124.094 27.276 3428
+-123.968 27.276 3458
+-123.842 27.276 3451
+-123.716 27.276 3476
+-123.59 27.276 3472
+-123.464 27.276 3499
+-123.338 27.276 3481
+-123.212 27.276 3477
+-123.086 27.276 3473
+-122.96 27.276 3497
+-122.834 27.276 3492
+-122.708 27.276 3484
+-122.582 27.276 3487
+-122.456 27.276 3416
+-122.33 27.276 3426
+-122.204 27.276 3411
+-122.078 27.276 3407
+-121.952 27.276 3388
+-121.826 27.276 3431
+-121.7 27.276 3426
+-121.574 27.276 3349
+-121.448 27.276 3361
+-121.322 27.276 3360
+-121.196 27.276 3352
+-121.07 27.276 3368
+-120.944 27.276 3360
+-120.818 27.276 3350
+-120.692 27.276 3334
+-120.566 27.276 3291
+-120.44 27.276 3311
+-120.314 27.276 3248
+-120.188 27.276 3246
+-120.062 27.276 3262
+-119.936 27.276 3273
+-119.81 27.276 3258
+-119.684 27.276 3298
+-119.558 27.276 3315
+-119.432 27.276 3378
+-119.306 27.276 3382
+-119.18 27.276 3375
+-119.054 27.276 3348
+-118.928 27.276 3309
+-118.802 27.276 3260
+-118.676 27.276 3237
+-118.55 27.276 3289
+-118.424 27.276 3379
+-118.298 27.276 3478
+-118.172 27.276 3531
+-118.046 27.276 3570
+-117.92 27.276 3577
+-117.794 27.276 3588
+-117.668 27.276 3579
+-117.542 27.276 3568
+-117.416 27.276 3555
+-117.29 27.276 3549
+-117.164 27.276 3565
+-117.038 27.276 3571
+-116.912 27.276 3561
+-116.786 27.276 3544
+-116.66 27.276 3531
+-116.534 27.276 3536
+-116.408 27.276 3521
+-116.282 27.276 3498
+-116.156 27.276 3476
+-116.03 27.276 3458
+-115.904 27.276 3463
+-115.778 27.276 3468
+-115.652 27.276 3464
+-115.526 27.276 3455
+-115.4 27.276 3444
+-115.274 27.276 3412
+-115.148 27.276 3374
+-115.022 27.276 3315
+-114.896 27.276 3224
+-114.77 27.276 3086
+-114.644 27.276 2996
+-114.518 27.276 3105
+-114.392 27.276 3268
+-114.266 27.276 3372
+-114.14 27.276 3452
+-114.014 27.276 3545
+-113.888 27.276 3638
+-113.762 27.276 3699
+-113.636 27.276 3740
+-113.51 27.276 3708
+-113.384 27.276 3816
+-113.258 27.276 3850
+-113.132 27.276 3950
+-113.006 27.276 3973
+-112.88 27.276 4038
+-112.754 27.276 4108
+-112.628 27.276 4189
+-112.502 27.276 4279
+-112.376 27.276 4361
+-112.25 27.276 4396
+-112.124 27.276 4423
+-111.998 27.276 4496
+-111.872 27.276 4563
+-111.746 27.276 4602
+-111.62 27.276 4642
+-111.494 27.276 4653
+-111.368 27.276 4696
+-111.242 27.276 4759
+-111.116 27.276 4772
+-110.99 27.276 4746
+-110.864 27.276 4788
+-110.738 27.276 4789
+-110.612 27.276 4758
+-110.486 27.276 4786
+-110.36 27.276 4782
+-110.234 27.276 4774
+-110.108 27.276 4796
+-109.982 27.276 4796
+-109.856 27.276 4776
+-109.73 27.276 4753
+-109.604 27.276 4733
+-109.478 27.276 4704
+-109.352 27.276 4668
+-109.226 27.276 4667
+-109.1 27.276 4666
+-108.974 27.276 4632
+-108.848 27.276 4588
+-108.722 27.276 4541
+-108.596 27.276 4495
+-108.47 27.276 4443
+-108.344 27.276 4327
+-108.218 27.276 4250
+-108.092 27.276 4224
+-107.966 27.276 4225
+-107.84 27.276 4224
+-107.714 27.276 4177
+-107.588 27.276 4142
+-107.462 27.276 4076
+-107.336 27.276 4034
+-107.21 27.276 3986
+-107.084 27.276 3900
+-106.958 27.276 3780
+-106.832 27.276 3614
+-106.706 27.276 3488
+-106.58 27.276 3341
+-106.454 27.276 3221
+-106.328 27.276 3156
+-106.202 27.276 3156
+-106.076 27.276 3177
+-105.95 27.276 3182
+-105.824 27.276 3168
+-105.698 27.276 3146
+-105.572 27.276 3102
+-105.446 27.276 3066
+-105.32 27.276 3031
+-105.194 27.276 2972
+-105.068 27.276 2983
+-104.942 27.276 2999
+-104.816 27.276 3007
+-104.69 27.276 3022
+-104.564 27.276 3045
+-104.438 27.276 2995
+-104.312 27.276 3021
+-104.186 27.276 3078
+-104.06 27.276 3103
+-103.934 27.276 3089
+-103.808 27.276 3105
+-103.682 27.276 3124
+-103.556 27.276 3124
+-103.43 27.276 3139
+-103.304 27.276 3153
+-103.178 27.276 3165
+-103.052 27.276 3176
+-102.926 27.276 3187
+-102.8 27.276 3196
+-102.674 27.276 3144
+-102.548 27.276 3143
+-102.422 27.276 3150
+-102.296 27.276 3156
+-102.17 27.276 3136
+-102.044 27.276 3143
+-101.918 27.276 3197
+-101.792 27.276 3204
+-101.666 27.276 3214
+-101.54 27.276 3205
+-101.414 27.276 3211
+-101.288 27.276 3216
+-101.162 27.276 3222
+-101.036 27.276 3219
+-100.91 27.276 3225
+-100.784 27.276 3214
+-100.658 27.276 3219
+-100.532 27.276 3156
+-100.406 27.276 3159
+-100.28 27.276 3163
+-100.154 27.276 3166
+-100.028 27.276 3169
+-99.902 27.276 3172
+-99.776 27.276 3136
+-99.65 27.276 3256
+-99.524 27.276 3157
+-99.398 27.276 3167
+-99.272 27.276 3170
+-99.146 27.276 3172
+-99.02 27.276 3174
+-98.894 27.276 3176
+-98.768 27.276 3178
+-98.642 27.276 3181
+-98.516 27.276 3182
+-98.39 27.276 3184
+-98.264 27.276 3112
+-98.138 27.276 3114
+-98.012 27.276 3115
+-97.886 27.276 3116
+-97.76 27.276 3117
+-97.634 27.276 3182
+-97.508 27.276 3035
+-97.382 27.276 3032
+-97.256 27.276 3030
+-97.13 27.276 2964
+-97.004 27.276 2751
+-96.878 27.276 2684
+-96.752 27.276 2707
+-96.626 27.276 2718
+-96.5 27.276 2834
+-96.374 27.276 2805
+-96.248 27.276 2836
+-96.122 27.276 2893
+-95.996 27.276 3081
+-95.87 27.276 3083
+-95.744 27.276 3085
+-95.618 27.276 3087
+-95.492 27.276 3089
+-95.366 27.276 3091
+-95.24 27.276 3144
+-95.114 27.276 3144
+-94.988 27.276 3143
+-94.862 27.276 3354
+-94.736 27.276 3352
+-94.61 27.276 3351
+-94.484 27.276 3350
+-94.358 27.276 3348
+-94.232 27.276 3347
+-94.106 27.276 3345
+-93.98 27.276 3343
+-93.854 27.276 3342
+-93.728 27.276 3339
+-93.602 27.276 3358
+-93.476 27.276 3355
+-93.35 27.276 3352
+-93.224 27.276 3349
+-93.098 27.276 3345
+-92.972 27.276 3518
+-92.846 27.276 3524
+-92.72 27.276 3518
+-92.594 27.276 3512
+-92.468 27.276 3506
+-92.342 27.276 3499
+-92.216 27.276 3491
+-92.09 27.276 3483
+-91.964 27.276 3474
+-91.838 27.276 3463
+-91.712 27.276 3480
+-91.586 27.276 3467
+-91.46 27.276 3452
+-91.334 27.276 3435
+-91.208 27.276 3416
+-91.082 27.276 3395
+-90.956 27.276 3371
+-90.83 27.276 3379
+-90.704 27.276 3379
+-90.578 27.276 3338
+-90.452 27.276 3291
+-90.326 27.276 3240
+-90.2 27.276 3243
+-90.074 27.276 3157
+-89.948 27.276 3050
+-89.822 27.276 2959
+-89.696 27.276 2789
+-89.57 27.276 2580
+-89.444 27.276 2340
+-89.318 27.276 2116
+-89.192 27.276 2012
+-89.066 27.276 2142
+-88.94 27.276 2481
+-88.814 27.276 2856
+-88.688 27.276 3178
+-88.562 27.276 3363
+-88.436 27.276 3495
+-88.31 27.276 3586
+-88.184 27.276 3718
+-88.058 27.276 3824
+-87.932 27.276 3954
+-87.806 27.276 4053
+-87.68 27.276 4224
+-87.554 27.276 4268
+-87.428 27.276 4260
+-87.302 27.276 4232
+-87.176 27.276 4375
+-87.05 27.276 4626
+-86.924 27.276 4823
+-86.798 27.276 4885
+-86.672 27.276 4886
+-86.546 27.276 5002
+-86.42 27.276 5203
+-86.294 27.276 5252
+-86.168 27.276 5379
+-86.042 27.276 5556
+-85.916 27.276 5682
+-85.79 27.276 5832
+-85.664 27.276 5992
+-85.538 27.276 6128
+-85.412 27.276 6291
+-85.286 27.276 6373
+-85.16 27.276 6504
+-85.034 27.276 6629
+-84.908 27.276 6747
+-84.782 27.276 6909
+-84.656 27.276 7116
+-84.53 27.276 7221
+-84.404 27.276 7312
+-84.278 27.276 7455
+-84.152 27.276 7580
+-84.026 27.276 7762
+-83.9 27.276 7878
+-83.774 27.276 7979
+-83.648 27.276 8126
+-83.522 27.276 8273
+-83.396 27.276 8458
+-83.27 27.276 8493
+-83.144 27.276 8655
+-83.018 27.276 8758
+-82.892 27.276 8926
+-82.766 27.276 9022
+-82.64 27.276 9174
+-82.514 27.276 9204
+-82.388 27.276 9226
+-82.262 27.276 9296
+-82.136 27.276 9271
+-82.01 27.276 9281
+-81.884 27.276 9194
+-81.758 27.276 9129
+-81.632 27.276 9068
+-81.506 27.276 8913
+-81.38 27.276 8836
+-81.254 27.276 8647
+-81.128 27.276 8568
+-81.002 27.276 8468
+-80.876 27.276 8264
+-80.75 27.276 8214
+-80.624 27.276 7995
+-80.498 27.276 7856
+-80.372 27.276 7729
+-80.246 27.276 7709
+-80.12 27.276 7478
+-79.994 27.276 7291
+-79.868 27.276 7156
+-79.742 27.276 7048
+-79.616 27.276 6961
+-79.49 27.276 6806
+-79.364 27.276 6610
+-79.238 27.276 6503
+-79.112 27.276 6336
+-78.986 27.276 6199
+-78.86 27.276 6178
+-78.734 27.276 5991
+-78.608 27.276 5777
+-78.482 27.276 5613
+-78.356 27.276 5407
+-78.23 27.276 5348
+-78.104 27.276 5168
+-77.978 27.276 5134
+-77.852 27.276 4992
+-77.726 27.276 4894
+-77.6 27.276 4847
+-77.474 27.276 4781
+-77.348 27.276 4665
+-77.222 27.276 4544
+-77.096 27.276 4312
+-76.97 27.276 4111
+-76.844 27.276 3965
+-76.718 27.276 3907
+-76.592 27.276 3786
+-76.466 27.276 3534
+-76.34 27.276 3304
+-76.214 27.276 3185
+-76.088 27.276 3200
+-75.962 27.276 3181
+-75.836 27.276 3133
+-75.71 27.276 3087
+-75.584 27.276 3075
+-75.458 27.276 3093
+-75.332 27.276 3126
+-75.206 27.276 3164
+-75.08 27.276 3202
+-74.954 27.276 3239
+-74.828 27.276 3274
+-74.702 27.276 3242
+-74.576 27.276 3273
+-74.45 27.276 3286
+-74.324 27.276 3312
+-74.198 27.276 3312
+-74.072 27.276 3301
+-73.946 27.276 3270
+-73.82 27.276 3286
+-73.694 27.276 3301
+-73.568 27.276 3315
+-73.442 27.276 3305
+-73.316 27.276 3266
+-73.19 27.276 3251
+-73.064 27.276 3260
+-72.938 27.276 3268
+-72.812 27.276 3199
+-72.686 27.276 3198
+-72.56 27.276 3204
+-72.434 27.276 3209
+-72.308 27.276 3215
+-72.182 27.276 3220
+-72.056 27.276 3225
+-71.93 27.276 3229
+-71.804 27.276 3182
+-71.678 27.276 3170
+-71.552 27.276 3155
+-71.426 27.276 3158
+-71.3 27.276 3161
+-71.174 27.276 3050
+-71.048 27.276 3050
+-70.922 27.276 3050
+-70.796 27.276 3050
+-70.67 27.276 3050
+-70.544 27.276 3050
+-70.418 27.276 3050
+-70.292 27.276 3050
+-70.166 27.276 3050
+-70.04 27.276 3050
+-69.914 27.276 3050
+-69.788 27.276 3050
+-69.662 27.276 3050
+-69.536 27.276 3050
+-69.41 27.276 3050
+-69.284 27.276 3050
+-69.158 27.276 2976
+-69.032 27.276 2975
+-68.906 27.276 2974
+-68.78 27.276 2974
+-68.654 27.276 2973
+-68.528 27.276 2973
+-68.402 27.276 2972
+-68.276 27.276 2972
+-68.15 27.276 2971
+-68.024 27.276 2971
+-67.898 27.276 2970
+-67.772 27.276 2970
+-67.646 27.276 2969
+-67.52 27.276 2969
+-67.394 27.276 2969
+-67.268 27.276 2968
+-67.142 27.276 2968
+-67.016 27.276 2968
+-66.89 27.276 2967
+-66.764 27.276 2967
+-66.638 27.276 2967
+-66.512 27.276 2967
+-66.386 27.276 2967
+-66.26 27.276 2966
+-66.134 27.276 2966
+-66.008 27.276 2966
+-65.882 27.276 2966
+-65.756 27.276 2966
+-65.63 27.276 2965
+-65.504 27.276 2965
+-65.378 27.276 2965
+-65.252 27.276 2965
+-65.126 27.276 2965
+-128 27.224 2905
+-127.874 27.224 2924
+-127.748 27.224 2969
+-127.622 27.224 2970
+-127.496 27.224 2972
+-127.37 27.224 2974
+-127.244 27.224 2976
+-127.118 27.224 2951
+-126.992 27.224 2939
+-126.866 27.224 2971
+-126.74 27.224 2975
+-126.614 27.224 3015
+-126.488 27.224 3020
+-126.362 27.224 2988
+-126.236 27.224 2977
+-126.11 27.224 2992
+-125.984 27.224 2998
+-125.858 27.224 3004
+-125.732 27.224 2977
+-125.606 27.224 3407
+-125.48 27.224 3407
+-125.354 27.224 3405
+-125.228 27.224 3380
+-125.102 27.224 3379
+-124.976 27.224 3364
+-124.85 27.224 3393
+-124.724 27.224 3391
+-124.598 27.224 3449
+-124.472 27.224 3446
+-124.346 27.224 3415
+-124.22 27.224 3430
+-124.094 27.224 3461
+-123.968 27.224 3454
+-123.842 27.224 3480
+-123.716 27.224 3476
+-123.59 27.224 3504
+-123.464 27.224 3486
+-123.338 27.224 3482
+-123.212 27.224 3478
+-123.086 27.224 3503
+-122.96 27.224 3499
+-122.834 27.224 3492
+-122.708 27.224 3495
+-122.582 27.224 3421
+-122.456 27.224 3432
+-122.33 27.224 3417
+-122.204 27.224 3413
+-122.078 27.224 3393
+-121.952 27.224 3439
+-121.826 27.224 3434
+-121.7 27.224 3353
+-121.574 27.224 3367
+-121.448 27.224 3366
+-121.322 27.224 3359
+-121.196 27.224 3376
+-121.07 27.224 3370
+-120.944 27.224 3363
+-120.818 27.224 3309
+-120.692 27.224 3305
+-120.566 27.224 3294
+-120.44 27.224 3262
+-120.314 27.224 3258
+-120.188 27.224 3271
+-120.062 27.224 3242
+-119.936 27.224 3246
+-119.81 27.224 3255
+-119.684 27.224 3256
+-119.558 27.224 3281
+-119.432 27.224 3285
+-119.306 27.224 3286
+-119.18 27.224 3275
+-119.054 27.224 3262
+-118.928 27.224 3265
+-118.802 27.224 3220
+-118.676 27.224 3196
+-118.55 27.224 3227
+-118.424 27.224 3295
+-118.298 27.224 3378
+-118.172 27.224 3428
+-118.046 27.224 3446
+-117.92 27.224 3476
+-117.794 27.224 3497
+-117.668 27.224 3519
+-117.542 27.224 3516
+-117.416 27.224 3501
+-117.29 27.224 3504
+-117.164 27.224 3523
+-117.038 27.224 3545
+-116.912 27.224 3530
+-116.786 27.224 3504
+-116.66 27.224 3486
+-116.534 27.224 3472
+-116.408 27.224 3462
+-116.282 27.224 3461
+-116.156 27.224 3457
+-116.03 27.224 3456
+-115.904 27.224 3445
+-115.778 27.224 3436
+-115.652 27.224 3423
+-115.526 27.224 3417
+-115.4 27.224 3409
+-115.274 27.224 3376
+-115.148 27.224 3341
+-115.022 27.224 3277
+-114.896 27.224 3214
+-114.77 27.224 3130
+-114.644 27.224 3082
+-114.518 27.224 3153
+-114.392 27.224 3272
+-114.266 27.224 3380
+-114.14 27.224 3470
+-114.014 27.224 3553
+-113.888 27.224 3620
+-113.762 27.224 3677
+-113.636 27.224 3738
+-113.51 27.224 3751
+-113.384 27.224 3824
+-113.258 27.224 3868
+-113.132 27.224 3910
+-113.006 27.224 3939
+-112.88 27.224 4003
+-112.754 27.224 4050
+-112.628 27.224 4119
+-112.502 27.224 4202
+-112.376 27.224 4285
+-112.25 27.224 4345
+-112.124 27.224 4360
+-111.998 27.224 4436
+-111.872 27.224 4517
+-111.746 27.224 4559
+-111.62 27.224 4589
+-111.494 27.224 4613
+-111.368 27.224 4646
+-111.242 27.224 4696
+-111.116 27.224 4754
+-110.99 27.224 4763
+-110.864 27.224 4778
+-110.738 27.224 4767
+-110.612 27.224 4748
+-110.486 27.224 4702
+-110.36 27.224 4750
+-110.234 27.224 4765
+-110.108 27.224 4757
+-109.982 27.224 4745
+-109.856 27.224 4711
+-109.73 27.224 4680
+-109.604 27.224 4648
+-109.478 27.224 4632
+-109.352 27.224 4612
+-109.226 27.224 4617
+-109.1 27.224 4601
+-108.974 27.224 4568
+-108.848 27.224 4538
+-108.722 27.224 4484
+-108.596 27.224 4437
+-108.47 27.224 4333
+-108.344 27.224 4245
+-108.218 27.224 4158
+-108.092 27.224 4108
+-107.966 27.224 4121
+-107.84 27.224 4144
+-107.714 27.224 4106
+-107.588 27.224 4056
+-107.462 27.224 3966
+-107.336 27.224 3919
+-107.21 27.224 3872
+-107.084 27.224 3816
+-106.958 27.224 3700
+-106.832 27.224 3533
+-106.706 27.224 3395
+-106.58 27.224 3234
+-106.454 27.224 3093
+-106.328 27.224 3030
+-106.202 27.224 3056
+-106.076 27.224 3108
+-105.95 27.224 3129
+-105.824 27.224 3110
+-105.698 27.224 3067
+-105.572 27.224 3004
+-105.446 27.224 2959
+-105.32 27.224 2882
+-105.194 27.224 2859
+-105.068 27.224 2869
+-104.942 27.224 2902
+-104.816 27.224 2941
+-104.69 27.224 2966
+-104.564 27.224 2994
+-104.438 27.224 3026
+-104.312 27.224 2981
+-104.186 27.224 3010
+-104.06 27.224 3069
+-103.934 27.224 3096
+-103.808 27.224 3083
+-103.682 27.224 3100
+-103.556 27.224 3119
+-103.43 27.224 3119
+-103.304 27.224 3134
+-103.178 27.224 3148
+-103.052 27.224 3161
+-102.926 27.224 3172
+-102.8 27.224 3183
+-102.674 27.224 3192
+-102.548 27.224 3140
+-102.422 27.224 3139
+-102.296 27.224 3146
+-102.17 27.224 3153
+-102.044 27.224 3133
+-101.918 27.224 3140
+-101.792 27.224 3195
+-101.666 27.224 3201
+-101.54 27.224 3212
+-101.414 27.224 3202
+-101.288 27.224 3208
+-101.162 27.224 3214
+-101.036 27.224 3220
+-100.91 27.224 3217
+-100.784 27.224 3223
+-100.658 27.224 3212
+-100.532 27.224 3217
+-100.406 27.224 3153
+-100.28 27.224 3157
+-100.154 27.224 3160
+-100.028 27.224 3164
+-99.902 27.224 3167
+-99.776 27.224 3170
+-99.65 27.224 3134
+-99.524 27.224 3255
+-99.398 27.224 3156
+-99.272 27.224 3166
+-99.146 27.224 3169
+-99.02 27.224 3171
+-98.894 27.224 3173
+-98.768 27.224 3176
+-98.642 27.224 3178
+-98.516 27.224 3180
+-98.39 27.224 3182
+-98.264 27.224 3184
+-98.138 27.224 3112
+-98.012 27.224 3113
+-97.886 27.224 3114
+-97.76 27.224 3115
+-97.634 27.224 3014
+-97.508 27.224 3078
+-97.382 27.224 3031
+-97.256 27.224 3028
+-97.13 27.224 2962
+-97.004 27.224 2750
+-96.878 27.224 2748
+-96.752 27.224 2739
+-96.626 27.224 2721
+-96.5 27.224 2835
+-96.374 27.224 2836
+-96.248 27.224 2838
+-96.122 27.224 2895
+-95.996 27.224 3082
+-95.87 27.224 3084
+-95.744 27.224 3086
+-95.618 27.224 3088
+-95.492 27.224 3090
+-95.366 27.224 3092
+-95.24 27.224 3144
+-95.114 27.224 3143
+-94.988 27.224 3334
+-94.862 27.224 3333
+-94.736 27.224 3332
+-94.61 27.224 3331
+-94.484 27.224 3329
+-94.358 27.224 3328
+-94.232 27.224 3327
+-94.106 27.224 3325
+-93.98 27.224 3324
+-93.854 27.224 3322
+-93.728 27.224 3359
+-93.602 27.224 3357
+-93.476 27.224 3354
+-93.35 27.224 3351
+-93.224 27.224 3347
+-93.098 27.224 3344
+-92.972 27.224 3340
+-92.846 27.224 3522
+-92.72 27.224 3516
+-92.594 27.224 3510
+-92.468 27.224 3504
+-92.342 27.224 3497
+-92.216 27.224 3489
+-92.09 27.224 3481
+-91.964 27.224 3471
+-91.838 27.224 3461
+-91.712 27.224 3450
+-91.586 27.224 3465
+-91.46 27.224 3450
+-91.334 27.224 3433
+-91.208 27.224 3414
+-91.082 27.224 3393
+-90.956 27.224 3404
+-90.83 27.224 3406
+-90.704 27.224 3371
+-90.578 27.224 3332
+-90.452 27.224 3285
+-90.326 27.224 3229
+-90.2 27.224 3169
+-90.074 27.224 3151
+-89.948 27.224 3104
+-89.822 27.224 2974
+-89.696 27.224 2814
+-89.57 27.224 2620
+-89.444 27.224 2404
+-89.318 27.224 2209
+-89.192 27.224 2129
+-89.066 27.224 2257
+-88.94 27.224 2566
+-88.814 27.224 2931
+-88.688 27.224 3182
+-88.562 27.224 3323
+-88.436 27.224 3397
+-88.31 27.224 3503
+-88.184 27.224 3619
+-88.058 27.224 3754
+-87.932 27.224 3902
+-87.806 27.224 4023
+-87.68 27.224 4209
+-87.554 27.224 4272
+-87.428 27.224 4319
+-87.302 27.224 4370
+-87.176 27.224 4507
+-87.05 27.224 4728
+-86.924 27.224 4841
+-86.798 27.224 4872
+-86.672 27.224 4809
+-86.546 27.224 4985
+-86.42 27.224 5202
+-86.294 27.224 5300
+-86.168 27.224 5410
+-86.042 27.224 5526
+-85.916 27.224 5644
+-85.79 27.224 5845
+-85.664 27.224 5957
+-85.538 27.224 6051
+-85.412 27.224 6243
+-85.286 27.224 6421
+-85.16 27.224 6497
+-85.034 27.224 6615
+-84.908 27.224 6766
+-84.782 27.224 6950
+-84.656 27.224 7057
+-84.53 27.224 7174
+-84.404 27.224 7321
+-84.278 27.224 7400
+-84.152 27.224 7548
+-84.026 27.224 7716
+-83.9 27.224 7877
+-83.774 27.224 7976
+-83.648 27.224 8142
+-83.522 27.224 8291
+-83.396 27.224 8393
+-83.27 27.224 8479
+-83.144 27.224 8640
+-83.018 27.224 8747
+-82.892 27.224 8908
+-82.766 27.224 8961
+-82.64 27.224 9085
+-82.514 27.224 9164
+-82.388 27.224 9217
+-82.262 27.224 9270
+-82.136 27.224 9259
+-82.01 27.224 9215
+-81.884 27.224 9169
+-81.758 27.224 9021
+-81.632 27.224 9005
+-81.506 27.224 8850
+-81.38 27.224 8742
+-81.254 27.224 8718
+-81.128 27.224 8467
+-81.002 27.224 8429
+-80.876 27.224 8301
+-80.75 27.224 8111
+-80.624 27.224 8019
+-80.498 27.224 7858
+-80.372 27.224 7793
+-80.246 27.224 7662
+-80.12 27.224 7454
+-79.994 27.224 7260
+-79.868 27.224 7162
+-79.742 27.224 7087
+-79.616 27.224 6890
+-79.49 27.224 6829
+-79.364 27.224 6654
+-79.238 27.224 6517
+-79.112 27.224 6417
+-78.986 27.224 6301
+-78.86 27.224 6188
+-78.734 27.224 5904
+-78.608 27.224 5773
+-78.482 27.224 5640
+-78.356 27.224 5425
+-78.23 27.224 5406
+-78.104 27.224 5244
+-77.978 27.224 5080
+-77.852 27.224 4892
+-77.726 27.224 4778
+-77.6 27.224 4830
+-77.474 27.224 4782
+-77.348 27.224 4699
+-77.222 27.224 4566
+-77.096 27.224 4359
+-76.97 27.224 4222
+-76.844 27.224 4069
+-76.718 27.224 3925
+-76.592 27.224 3742
+-76.466 27.224 3510
+-76.34 27.224 3227
+-76.214 27.224 3089
+-76.088 27.224 3170
+-75.962 27.224 3223
+-75.836 27.224 3223
+-75.71 27.224 3202
+-75.584 27.224 3188
+-75.458 27.224 3191
+-75.332 27.224 3206
+-75.206 27.224 3229
+-75.08 27.224 3254
+-74.954 27.224 3281
+-74.828 27.224 3308
+-74.702 27.224 3335
+-74.576 27.224 3280
+-74.45 27.224 3305
+-74.324 27.224 3322
+-74.198 27.224 3344
+-74.072 27.224 3340
+-73.946 27.224 3325
+-73.82 27.224 3290
+-73.694 27.224 3304
+-73.568 27.224 3317
+-73.442 27.224 3298
+-73.316 27.224 3258
+-73.19 27.224 3258
+-73.064 27.224 3240
+-72.938 27.224 3247
+-72.812 27.224 3254
+-72.686 27.224 3190
+-72.56 27.224 3196
+-72.434 27.224 3201
+-72.308 27.224 3207
+-72.182 27.224 3219
+-72.056 27.224 3224
+-71.93 27.224 3228
+-71.804 27.224 3232
+-71.678 27.224 3184
+-71.552 27.224 3172
+-71.426 27.224 3156
+-71.3 27.224 3044
+-71.174 27.224 3045
+-71.048 27.224 3045
+-70.922 27.224 3045
+-70.796 27.224 3045
+-70.67 27.224 3045
+-70.544 27.224 3045
+-70.418 27.224 3046
+-70.292 27.224 3046
+-70.166 27.224 3046
+-70.04 27.224 3046
+-69.914 27.224 3046
+-69.788 27.224 3046
+-69.662 27.224 3046
+-69.536 27.224 3046
+-69.41 27.224 3046
+-69.284 27.224 2972
+-69.158 27.224 2971
+-69.032 27.224 2971
+-68.906 27.224 2970
+-68.78 27.224 2970
+-68.654 27.224 2969
+-68.528 27.224 2969
+-68.402 27.224 2968
+-68.276 27.224 2968
+-68.15 27.224 2967
+-68.024 27.224 2967
+-67.898 27.224 2966
+-67.772 27.224 2966
+-67.646 27.224 2966
+-67.52 27.224 2965
+-67.394 27.224 2965
+-67.268 27.224 2965
+-67.142 27.224 2965
+-67.016 27.224 2964
+-66.89 27.224 2964
+-66.764 27.224 2964
+-66.638 27.224 2964
+-66.512 27.224 2964
+-66.386 27.224 2963
+-66.26 27.224 2963
+-66.134 27.224 2963
+-66.008 27.224 2963
+-65.882 27.224 2963
+-65.756 27.224 2963
+-65.63 27.224 2963
+-65.504 27.224 2963
+-65.378 27.224 2963
+-65.252 27.224 2962
+-65.126 27.224 2962
+-128 27.172 2929
+-127.874 27.172 2973
+-127.748 27.172 2975
+-127.622 27.172 2976
+-127.496 27.172 2978
+-127.37 27.172 2980
+-127.244 27.172 2954
+-127.118 27.172 2942
+-126.992 27.172 2973
+-126.866 27.172 2977
+-126.74 27.172 3018
+-126.614 27.172 3022
+-126.488 27.172 2990
+-126.362 27.172 2977
+-126.236 27.172 2992
+-126.11 27.172 2998
+-125.984 27.172 3004
+-125.858 27.172 2976
+-125.732 27.172 3408
+-125.606 27.172 3408
+-125.48 27.172 3407
+-125.354 27.172 3381
+-125.228 27.172 3380
+-125.102 27.172 3365
+-124.976 27.172 3394
+-124.85 27.172 3393
+-124.724 27.172 3451
+-124.598 27.172 3449
+-124.472 27.172 3417
+-124.346 27.172 3432
+-124.22 27.172 3464
+-124.094 27.172 3457
+-123.968 27.172 3483
+-123.842 27.172 3480
+-123.716 27.172 3509
+-123.59 27.172 3490
+-123.464 27.172 3487
+-123.338 27.172 3483
+-123.212 27.172 3509
+-123.086 27.172 3505
+-122.96 27.172 3498
+-122.834 27.172 3502
+-122.708 27.172 3425
+-122.582 27.172 3437
+-122.456 27.172 3422
+-122.33 27.172 3418
+-122.204 27.172 3398
+-122.078 27.172 3445
+-121.952 27.172 3441
+-121.826 27.172 3357
+-121.7 27.172 3372
+-121.574 27.172 3371
+-121.448 27.172 3364
+-121.322 27.172 3383
+-121.196 27.172 3377
+-121.07 27.172 3371
+-120.944 27.172 3314
+-120.818 27.172 3311
+-120.692 27.172 3262
+-120.566 27.172 3266
+-120.44 27.172 3263
+-120.314 27.172 3237
+-120.188 27.172 3239
+-120.062 27.172 3238
+-119.936 27.172 3240
+-119.81 27.172 3235
+-119.684 27.172 3255
+-119.558 27.172 3257
+-119.432 27.172 3229
+-119.306 27.172 3249
+-119.18 27.172 3242
+-119.054 27.172 3247
+-118.928 27.172 3228
+-118.802 27.172 3213
+-118.676 27.172 3207
+-118.55 27.172 3222
+-118.424 27.172 3255
+-118.298 27.172 3296
+-118.172 27.172 3315
+-118.046 27.172 3365
+-117.92 27.172 3384
+-117.794 27.172 3397
+-117.668 27.172 3423
+-117.542 27.172 3432
+-117.416 27.172 3440
+-117.29 27.172 3432
+-117.164 27.172 3427
+-117.038 27.172 3456
+-116.912 27.172 3458
+-116.786 27.172 3444
+-116.66 27.172 3436
+-116.534 27.172 3422
+-116.408 27.172 3413
+-116.282 27.172 3411
+-116.156 27.172 3412
+-116.03 27.172 3403
+-115.904 27.172 3399
+-115.778 27.172 3382
+-115.652 27.172 3349
+-115.526 27.172 3341
+-115.4 27.172 3333
+-115.274 27.172 3301
+-115.148 27.172 3266
+-115.022 27.172 3244
+-114.896 27.172 3202
+-114.77 27.172 3174
+-114.644 27.172 3171
+-114.518 27.172 3239
+-114.392 27.172 3315
+-114.266 27.172 3383
+-114.14 27.172 3474
+-114.014 27.172 3544
+-113.888 27.172 3595
+-113.762 27.172 3655
+-113.636 27.172 3704
+-113.51 27.172 3742
+-113.384 27.172 3808
+-113.258 27.172 3834
+-113.132 27.172 3838
+-113.006 27.172 3884
+-112.88 27.172 3980
+-112.754 27.172 4049
+-112.628 27.172 4063
+-112.502 27.172 4142
+-112.376 27.172 4228
+-112.25 27.172 4276
+-112.124 27.172 4305
+-111.998 27.172 4391
+-111.872 27.172 4435
+-111.746 27.172 4475
+-111.62 27.172 4509
+-111.494 27.172 4529
+-111.368 27.172 4562
+-111.242 27.172 4630
+-111.116 27.172 4688
+-110.99 27.172 4725
+-110.864 27.172 4751
+-110.738 27.172 4747
+-110.612 27.172 4724
+-110.486 27.172 4678
+-110.36 27.172 4719
+-110.234 27.172 4731
+-110.108 27.172 4708
+-109.982 27.172 4668
+-109.856 27.172 4623
+-109.73 27.172 4599
+-109.604 27.172 4583
+-109.478 27.172 4577
+-109.352 27.172 4586
+-109.226 27.172 4561
+-109.1 27.172 4531
+-108.974 27.172 4497
+-108.848 27.172 4478
+-108.722 27.172 4445
+-108.596 27.172 4368
+-108.47 27.172 4276
+-108.344 27.172 4160
+-108.218 27.172 4088
+-108.092 27.172 4043
+-107.966 27.172 4061
+-107.84 27.172 4065
+-107.714 27.172 4008
+-107.588 27.172 3937
+-107.462 27.172 3888
+-107.336 27.172 3834
+-107.21 27.172 3797
+-107.084 27.172 3728
+-106.958 27.172 3592
+-106.832 27.172 3490
+-106.706 27.172 3354
+-106.58 27.172 3187
+-106.454 27.172 3035
+-106.328 27.172 2974
+-106.202 27.172 3015
+-106.076 27.172 3070
+-105.95 27.172 3086
+-105.824 27.172 3052
+-105.698 27.172 2980
+-105.572 27.172 2853
+-105.446 27.172 2768
+-105.32 27.172 2726
+-105.194 27.172 2717
+-105.068 27.172 2736
+-104.942 27.172 2784
+-104.816 27.172 2846
+-104.69 27.172 2906
+-104.564 27.172 2946
+-104.438 27.172 2982
+-104.312 27.172 3019
+-104.186 27.172 2977
+-104.06 27.172 3007
+-103.934 27.172 3066
+-103.808 27.172 3093
+-103.682 27.172 3080
+-103.556 27.172 3098
+-103.43 27.172 3117
+-103.304 27.172 3117
+-103.178 27.172 3132
+-103.052 27.172 3145
+-102.926 27.172 3158
+-102.8 27.172 3169
+-102.674 27.172 3180
+-102.548 27.172 3189
+-102.422 27.172 3137
+-102.296 27.172 3136
+-102.17 27.172 3143
+-102.044 27.172 3150
+-101.918 27.172 3130
+-101.792 27.172 3137
+-101.666 27.172 3192
+-101.54 27.172 3199
+-101.414 27.172 3210
+-101.288 27.172 3200
+-101.162 27.172 3206
+-101.036 27.172 3212
+-100.91 27.172 3218
+-100.784 27.172 3216
+-100.658 27.172 3221
+-100.532 27.172 3210
+-100.406 27.172 3215
+-100.28 27.172 3151
+-100.154 27.172 3155
+-100.028 27.172 3158
+-99.902 27.172 3162
+-99.776 27.172 3165
+-99.65 27.172 3168
+-99.524 27.172 3132
+-99.398 27.172 3254
+-99.272 27.172 3154
+-99.146 27.172 3165
+-99.02 27.172 3168
+-98.894 27.172 3170
+-98.768 27.172 3173
+-98.642 27.172 3175
+-98.516 27.172 3177
+-98.39 27.172 3179
+-98.264 27.172 3181
+-98.138 27.172 3183
+-98.012 27.172 3111
+-97.886 27.172 3112
+-97.76 27.172 3113
+-97.634 27.172 3012
+-97.508 27.172 3009
+-97.382 27.172 3074
+-97.256 27.172 3027
+-97.13 27.172 2961
+-97.004 27.172 2749
+-96.878 27.172 2747
+-96.752 27.172 2738
+-96.626 27.172 2895
+-96.5 27.172 2836
+-96.374 27.172 2838
+-96.248 27.172 2834
+-96.122 27.172 3057
+-95.996 27.172 3083
+-95.87 27.172 3085
+-95.744 27.172 3087
+-95.618 27.172 3089
+-95.492 27.172 3091
+-95.366 27.172 3092
+-95.24 27.172 3144
+-95.114 27.172 3334
+-94.988 27.172 3333
+-94.862 27.172 3332
+-94.736 27.172 3331
+-94.61 27.172 3330
+-94.484 27.172 3329
+-94.358 27.172 3328
+-94.232 27.172 3326
+-94.106 27.172 3325
+-93.98 27.172 3323
+-93.854 27.172 3361
+-93.728 27.172 3358
+-93.602 27.172 3355
+-93.476 27.172 3353
+-93.35 27.172 3349
+-93.224 27.172 3346
+-93.098 27.172 3343
+-92.972 27.172 3525
+-92.846 27.172 3520
+-92.72 27.172 3514
+-92.594 27.172 3508
+-92.468 27.172 3502
+-92.342 27.172 3495
+-92.216 27.172 3487
+-92.09 27.172 3479
+-91.964 27.172 3469
+-91.838 27.172 3459
+-91.712 27.172 3448
+-91.586 27.172 3435
+-91.46 27.172 3449
+-91.334 27.172 3433
+-91.208 27.172 3414
+-91.082 27.172 3427
+-90.956 27.172 3435
+-90.83 27.172 3406
+-90.704 27.172 3373
+-90.578 27.172 3334
+-90.452 27.172 3289
+-90.326 27.172 3243
+-90.2 27.172 3248
+-90.074 27.172 3171
+-89.948 27.172 3080
+-89.822 27.172 3021
+-89.696 27.172 2885
+-89.57 27.172 2729
+-89.444 27.172 2567
+-89.318 27.172 2441
+-89.192 27.172 2407
+-89.066 27.172 2522
+-88.94 27.172 2758
+-88.814 27.172 3037
+-88.688 27.172 3209
+-88.562 27.172 3279
+-88.436 27.172 3287
+-88.31 27.172 3320
+-88.184 27.172 3438
+-88.058 27.172 3637
+-87.932 27.172 3825
+-87.806 27.172 3974
+-87.68 27.172 4189
+-87.554 27.172 4267
+-87.428 27.172 4335
+-87.302 27.172 4429
+-87.176 27.172 4583
+-87.05 27.172 4722
+-86.924 27.172 4850
+-86.798 27.172 4927
+-86.672 27.172 4926
+-86.546 27.172 5050
+-86.42 27.172 5224
+-86.294 27.172 5322
+-86.168 27.172 5382
+-86.042 27.172 5495
+-85.916 27.172 5604
+-85.79 27.172 5759
+-85.664 27.172 5959
+-85.538 27.172 6110
+-85.412 27.172 6282
+-85.286 27.172 6445
+-85.16 27.172 6523
+-85.034 27.172 6613
+-84.908 27.172 6759
+-84.782 27.172 6870
+-84.656 27.172 6977
+-84.53 27.172 7183
+-84.404 27.172 7352
+-84.278 27.172 7449
+-84.152 27.172 7635
+-84.026 27.172 7642
+-83.9 27.172 7858
+-83.774 27.172 8044
+-83.648 27.172 8162
+-83.522 27.172 8253
+-83.396 27.172 8360
+-83.27 27.172 8452
+-83.144 27.172 8619
+-83.018 27.172 8763
+-82.892 27.172 8851
+-82.766 27.172 8921
+-82.64 27.172 9003
+-82.514 27.172 9099
+-82.388 27.172 9152
+-82.262 27.172 9166
+-82.136 27.172 9189
+-82.01 27.172 9154
+-81.884 27.172 9082
+-81.758 27.172 9079
+-81.632 27.172 8954
+-81.506 27.172 8842
+-81.38 27.172 8712
+-81.254 27.172 8599
+-81.128 27.172 8501
+-81.002 27.172 8411
+-80.876 27.172 8247
+-80.75 27.172 8063
+-80.624 27.172 7962
+-80.498 27.172 7843
+-80.372 27.172 7705
+-80.246 27.172 7627
+-80.12 27.172 7494
+-79.994 27.172 7295
+-79.868 27.172 7148
+-79.742 27.172 7032
+-79.616 27.172 6872
+-79.49 27.172 6788
+-79.364 27.172 6597
+-79.238 27.172 6454
+-79.112 27.172 6393
+-78.986 27.172 6300
+-78.86 27.172 6174
+-78.734 27.172 5893
+-78.608 27.172 5729
+-78.482 27.172 5643
+-78.356 27.172 5429
+-78.23 27.172 5320
+-78.104 27.172 5265
+-77.978 27.172 5089
+-77.852 27.172 4907
+-77.726 27.172 4784
+-77.6 27.172 4832
+-77.474 27.172 4762
+-77.348 27.172 4687
+-77.222 27.172 4524
+-77.096 27.172 4377
+-76.97 27.172 4272
+-76.844 27.172 4063
+-76.718 27.172 3905
+-76.592 27.172 3755
+-76.466 27.172 3556
+-76.34 27.172 3329
+-76.214 27.172 3203
+-76.088 27.172 3228
+-75.962 27.172 3280
+-75.836 27.172 3292
+-75.71 27.172 3282
+-75.584 27.172 3271
+-75.458 27.172 3267
+-75.332 27.172 3272
+-75.206 27.172 3283
+-75.08 27.172 3299
+-74.954 27.172 3318
+-74.828 27.172 3339
+-74.702 27.172 3274
+-74.576 27.172 3296
+-74.45 27.172 3318
+-74.324 27.172 3339
+-74.198 27.172 3340
+-74.072 27.172 3359
+-73.946 27.172 3350
+-73.82 27.172 3308
+-73.694 27.172 3295
+-73.568 27.172 3290
+-73.442 27.172 3300
+-73.316 27.172 3260
+-73.19 27.172 3269
+-73.064 27.172 3267
+-72.938 27.172 3259
+-72.812 27.172 3184
+-72.686 27.172 3190
+-72.56 27.172 3196
+-72.434 27.172 3201
+-72.308 27.172 3206
+-72.182 27.172 3211
+-72.056 27.172 3215
+-71.93 27.172 3220
+-71.804 27.172 3224
+-71.678 27.172 3125
+-71.552 27.172 3073
+-71.426 27.172 3054
+-71.3 27.172 3039
+-71.174 27.172 3039
+-71.048 27.172 3040
+-70.922 27.172 3040
+-70.796 27.172 3040
+-70.67 27.172 3040
+-70.544 27.172 3040
+-70.418 27.172 3041
+-70.292 27.172 3041
+-70.166 27.172 3041
+-70.04 27.172 3041
+-69.914 27.172 3041
+-69.788 27.172 3041
+-69.662 27.172 3041
+-69.536 27.172 3041
+-69.41 27.172 3041
+-69.284 27.172 2967
+-69.158 27.172 2967
+-69.032 27.172 2966
+-68.906 27.172 2966
+-68.78 27.172 2965
+-68.654 27.172 2965
+-68.528 27.172 2964
+-68.402 27.172 2964
+-68.276 27.172 2964
+-68.15 27.172 2963
+-68.024 27.172 2963
+-67.898 27.172 2963
+-67.772 27.172 2962
+-67.646 27.172 2962
+-67.52 27.172 2962
+-67.394 27.172 2962
+-67.268 27.172 2961
+-67.142 27.172 2961
+-67.016 27.172 2961
+-66.89 27.172 2961
+-66.764 27.172 2961
+-66.638 27.172 2961
+-66.512 27.172 2960
+-66.386 27.172 2960
+-66.26 27.172 2960
+-66.134 27.172 2960
+-66.008 27.172 2960
+-65.882 27.172 2960
+-65.756 27.172 2960
+-65.63 27.172 2960
+-65.504 27.172 2960
+-65.378 27.172 2960
+-65.252 27.172 2960
+-65.126 27.172 2960
+-128 27.12 2977
+-127.874 27.12 2979
+-127.748 27.12 2980
+-127.622 27.12 2982
+-127.496 27.12 2984
+-127.37 27.12 2957
+-127.244 27.12 2945
+-127.118 27.12 2976
+-126.992 27.12 2979
+-126.866 27.12 3020
+-126.74 27.12 3024
+-126.614 27.12 2991
+-126.488 27.12 2978
+-126.362 27.12 2993
+-126.236 27.12 2998
+-126.11 27.12 3004
+-125.984 27.12 2975
+-125.858 27.12 3410
+-125.732 27.12 3410
+-125.606 27.12 3408
+-125.48 27.12 3382
+-125.354 27.12 3381
+-125.228 27.12 3366
+-125.102 27.12 3395
+-124.976 27.12 3394
+-124.85 27.12 3453
+-124.724 27.12 3451
+-124.598 27.12 3418
+-124.472 27.12 3435
+-124.346 27.12 3467
+-124.22 27.12 3460
+-124.094 27.12 3486
+-123.968 27.12 3484
+-123.842 27.12 3514
+-123.716 27.12 3494
+-123.59 27.12 3491
+-123.464 27.12 3488
+-123.338 27.12 3515
+-123.212 27.12 3511
+-123.086 27.12 3504
+-122.96 27.12 3509
+-122.834 27.12 3429
+-122.708 27.12 3441
+-122.582 27.12 3426
+-122.456 27.12 3422
+-122.33 27.12 3402
+-122.204 27.12 3451
+-122.078 27.12 3446
+-121.952 27.12 3360
+-121.826 27.12 3375
+-121.7 27.12 3375
+-121.574 27.12 3368
+-121.448 27.12 3388
+-121.322 27.12 3383
+-121.196 27.12 3377
+-121.07 27.12 3317
+-120.944 27.12 3314
+-120.818 27.12 3261
+-120.692 27.12 3266
+-120.566 27.12 3262
+-120.44 27.12 3234
+-120.314 27.12 3234
+-120.188 27.12 3230
+-120.062 27.12 3228
+-119.936 27.12 3219
+-119.81 27.12 3234
+-119.684 27.12 3233
+-119.558 27.12 3202
+-119.432 27.12 3197
+-119.306 27.12 3201
+-119.18 27.12 3221
+-119.054 27.12 3204
+-118.928 27.12 3194
+-118.802 27.12 3193
+-118.676 27.12 3197
+-118.55 27.12 3205
+-118.424 27.12 3228
+-118.298 27.12 3234
+-118.172 27.12 3272
+-118.046 27.12 3297
+-117.92 27.12 3303
+-117.794 27.12 3300
+-117.668 27.12 3331
+-117.542 27.12 3352
+-117.416 27.12 3357
+-117.29 27.12 3342
+-117.164 27.12 3331
+-117.038 27.12 3354
+-116.912 27.12 3386
+-116.786 27.12 3386
+-116.66 27.12 3372
+-116.534 27.12 3363
+-116.408 27.12 3351
+-116.282 27.12 3318
+-116.156 27.12 3303
+-116.03 27.12 3303
+-115.904 27.12 3298
+-115.778 27.12 3291
+-115.652 27.12 3275
+-115.526 27.12 3266
+-115.4 27.12 3259
+-115.274 27.12 3243
+-115.148 27.12 3223
+-115.022 27.12 3202
+-114.896 27.12 3181
+-114.77 27.12 3201
+-114.644 27.12 3204
+-114.518 27.12 3242
+-114.392 27.12 3308
+-114.266 27.12 3359
+-114.14 27.12 3430
+-114.014 27.12 3485
+-113.888 27.12 3551
+-113.762 27.12 3592
+-113.636 27.12 3647
+-113.51 27.12 3706
+-113.384 27.12 3782
+-113.258 27.12 3799
+-113.132 27.12 3776
+-113.006 27.12 3826
+-112.88 27.12 3906
+-112.754 27.12 4000
+-112.628 27.12 4030
+-112.502 27.12 4107
+-112.376 27.12 4161
+-112.25 27.12 4218
+-112.124 27.12 4246
+-111.998 27.12 4319
+-111.872 27.12 4384
+-111.746 27.12 4417
+-111.62 27.12 4459
+-111.494 27.12 4464
+-111.368 27.12 4471
+-111.242 27.12 4528
+-111.116 27.12 4617
+-110.99 27.12 4674
+-110.864 27.12 4719
+-110.738 27.12 4723
+-110.612 27.12 4721
+-110.486 27.12 4704
+-110.36 27.12 4712
+-110.234 27.12 4701
+-110.108 27.12 4648
+-109.982 27.12 4594
+-109.856 27.12 4556
+-109.73 27.12 4532
+-109.604 27.12 4514
+-109.478 27.12 4492
+-109.352 27.12 4491
+-109.226 27.12 4471
+-109.1 27.12 4445
+-108.974 27.12 4432
+-108.848 27.12 4425
+-108.722 27.12 4384
+-108.596 27.12 4300
+-108.47 27.12 4175
+-108.344 27.12 4118
+-108.218 27.12 4075
+-108.092 27.12 4052
+-107.966 27.12 4035
+-107.84 27.12 4001
+-107.714 27.12 3897
+-107.588 27.12 3825
+-107.462 27.12 3776
+-107.336 27.12 3756
+-107.21 27.12 3716
+-107.084 27.12 3672
+-106.958 27.12 3562
+-106.832 27.12 3470
+-106.706 27.12 3344
+-106.58 27.12 3203
+-106.454 27.12 3075
+-106.328 27.12 3019
+-106.202 27.12 3039
+-106.076 27.12 3067
+-105.95 27.12 3050
+-105.824 27.12 2987
+-105.698 27.12 2841
+-105.572 27.12 2709
+-105.446 27.12 2592
+-105.32 27.12 2523
+-105.194 27.12 2531
+-105.068 27.12 2587
+-104.942 27.12 2661
+-104.816 27.12 2745
+-104.69 27.12 2828
+-104.564 27.12 2901
+-104.438 27.12 2947
+-104.312 27.12 2985
+-104.186 27.12 3024
+-104.06 27.12 2979
+-103.934 27.12 3010
+-103.808 27.12 3068
+-103.682 27.12 3094
+-103.556 27.12 3081
+-103.43 27.12 3098
+-103.304 27.12 3117
+-103.178 27.12 3116
+-103.052 27.12 3131
+-102.926 27.12 3144
+-102.8 27.12 3156
+-102.674 27.12 3168
+-102.548 27.12 3178
+-102.422 27.12 3187
+-102.296 27.12 3135
+-102.17 27.12 3134
+-102.044 27.12 3141
+-101.918 27.12 3148
+-101.792 27.12 3128
+-101.666 27.12 3135
+-101.54 27.12 3191
+-101.414 27.12 3198
+-101.288 27.12 3209
+-101.162 27.12 3199
+-101.036 27.12 3205
+-100.91 27.12 3211
+-100.784 27.12 3216
+-100.658 27.12 3214
+-100.532 27.12 3220
+-100.406 27.12 3209
+-100.28 27.12 3214
+-100.154 27.12 3149
+-100.028 27.12 3153
+-99.902 27.12 3157
+-99.776 27.12 3160
+-99.65 27.12 3163
+-99.524 27.12 3166
+-99.398 27.12 3130
+-99.272 27.12 3253
+-99.146 27.12 3153
+-99.02 27.12 3165
+-98.894 27.12 3167
+-98.768 27.12 3170
+-98.642 27.12 3172
+-98.516 27.12 3174
+-98.39 27.12 3176
+-98.264 27.12 3179
+-98.138 27.12 3181
+-98.012 27.12 3183
+-97.886 27.12 3110
+-97.76 27.12 3111
+-97.634 27.12 3009
+-97.508 27.12 3007
+-97.382 27.12 3005
+-97.256 27.12 3070
+-97.13 27.12 2997
+-97.004 27.12 2858
+-96.878 27.12 2746
+-96.752 27.12 2738
+-96.626 27.12 2896
+-96.5 27.12 2837
+-96.374 27.12 2833
+-96.248 27.12 2893
+-96.122 27.12 3058
+-95.996 27.12 3084
+-95.87 27.12 3086
+-95.744 27.12 3088
+-95.618 27.12 3090
+-95.492 27.12 3091
+-95.366 27.12 3093
+-95.24 27.12 3335
+-95.114 27.12 3334
+-94.988 27.12 3333
+-94.862 27.12 3332
+-94.736 27.12 3331
+-94.61 27.12 3330
+-94.484 27.12 3329
+-94.358 27.12 3328
+-94.232 27.12 3326
+-94.106 27.12 3325
+-93.98 27.12 3362
+-93.854 27.12 3360
+-93.728 27.12 3357
+-93.602 27.12 3354
+-93.476 27.12 3351
+-93.35 27.12 3348
+-93.224 27.12 3345
+-93.098 27.12 3529
+-92.972 27.12 3524
+-92.846 27.12 3519
+-92.72 27.12 3513
+-92.594 27.12 3507
+-92.468 27.12 3501
+-92.342 27.12 3494
+-92.216 27.12 3486
+-92.09 27.12 3478
+-91.964 27.12 3468
+-91.838 27.12 3458
+-91.712 27.12 3447
+-91.586 27.12 3435
+-91.46 27.12 3421
+-91.334 27.12 3434
+-91.208 27.12 3449
+-91.082 27.12 3462
+-90.956 27.12 3437
+-90.83 27.12 3410
+-90.704 27.12 3378
+-90.578 27.12 3342
+-90.452 27.12 3307
+-90.326 27.12 3320
+-90.2 27.12 3263
+-90.074 27.12 3197
+-89.948 27.12 3119
+-89.822 27.12 3029
+-89.696 27.12 2984
+-89.57 27.12 2871
+-89.444 27.12 2774
+-89.318 27.12 2707
+-89.192 27.12 2707
+-89.066 27.12 2802
+-88.94 27.12 2991
+-88.814 27.12 3149
+-88.688 27.12 3238
+-88.562 27.12 3235
+-88.436 27.12 3152
+-88.31 27.12 3111
+-88.184 27.12 3237
+-88.058 27.12 3498
+-87.932 27.12 3752
+-87.806 27.12 3957
+-87.68 27.12 4144
+-87.554 27.12 4231
+-87.428 27.12 4316
+-87.302 27.12 4446
+-87.176 27.12 4611
+-87.05 27.12 4711
+-86.924 27.12 4853
+-86.798 27.12 4939
+-86.672 27.12 5043
+-86.546 27.12 5119
+-86.42 27.12 5219
+-86.294 27.12 5300
+-86.168 27.12 5270
+-86.042 27.12 5416
+-85.916 27.12 5627
+-85.79 27.12 5686
+-85.664 27.12 5925
+-85.538 27.12 6125
+-85.412 27.12 6297
+-85.286 27.12 6419
+-85.16 27.12 6404
+-85.034 27.12 6621
+-84.908 27.12 6744
+-84.782 27.12 6874
+-84.656 27.12 7037
+-84.53 27.12 7184
+-84.404 27.12 7275
+-84.278 27.12 7428
+-84.152 27.12 7518
+-84.026 27.12 7676
+-83.9 27.12 7779
+-83.774 27.12 7944
+-83.648 27.12 8143
+-83.522 27.12 8235
+-83.396 27.12 8353
+-83.27 27.12 8424
+-83.144 27.12 8566
+-83.018 27.12 8677
+-82.892 27.12 8809
+-82.766 27.12 8865
+-82.64 27.12 8977
+-82.514 27.12 9019
+-82.388 27.12 9117
+-82.262 27.12 9119
+-82.136 27.12 9104
+-82.01 27.12 9089
+-81.884 27.12 9052
+-81.758 27.12 8993
+-81.632 27.12 8901
+-81.506 27.12 8800
+-81.38 27.12 8665
+-81.254 27.12 8569
+-81.128 27.12 8471
+-81.002 27.12 8382
+-80.876 27.12 8242
+-80.75 27.12 8058
+-80.624 27.12 7992
+-80.498 27.12 7836
+-80.372 27.12 7737
+-80.246 27.12 7596
+-80.12 27.12 7446
+-79.994 27.12 7261
+-79.868 27.12 7102
+-79.742 27.12 6977
+-79.616 27.12 6923
+-79.49 27.12 6765
+-79.364 27.12 6591
+-79.238 27.12 6457
+-79.112 27.12 6351
+-78.986 27.12 6236
+-78.86 27.12 6194
+-78.734 27.12 5953
+-78.608 27.12 5776
+-78.482 27.12 5601
+-78.356 27.12 5427
+-78.23 27.12 5305
+-78.104 27.12 5206
+-77.978 27.12 5038
+-77.852 27.12 4872
+-77.726 27.12 4856
+-77.6 27.12 4817
+-77.474 27.12 4731
+-77.348 27.12 4603
+-77.222 27.12 4471
+-77.096 27.12 4376
+-76.97 27.12 4262
+-76.844 27.12 4069
+-76.718 27.12 3913
+-76.592 27.12 3779
+-76.466 27.12 3633
+-76.34 27.12 3489
+-76.214 27.12 3373
+-76.088 27.12 3355
+-75.962 27.12 3355
+-75.836 27.12 3353
+-75.71 27.12 3342
+-75.584 27.12 3329
+-75.458 27.12 3320
+-75.332 27.12 3319
+-75.206 27.12 3324
+-75.08 27.12 3334
+-74.954 27.12 3348
+-74.828 27.12 3364
+-74.702 27.12 3291
+-74.576 27.12 3310
+-74.45 27.12 3330
+-74.324 27.12 3349
+-74.198 27.12 3368
+-74.072 27.12 3366
+-73.946 27.12 3383
+-73.82 27.12 3372
+-73.694 27.12 3298
+-73.568 27.12 3289
+-73.442 27.12 3299
+-73.316 27.12 3308
+-73.19 27.12 3271
+-73.064 27.12 3279
+-72.938 27.12 3277
+-72.812 27.12 3268
+-72.686 27.12 3190
+-72.56 27.12 3196
+-72.434 27.12 3201
+-72.308 27.12 3206
+-72.182 27.12 3211
+-72.056 27.12 3215
+-71.93 27.12 3219
+-71.804 27.12 3120
+-71.678 27.12 3067
+-71.552 27.12 3034
+-71.426 27.12 3035
+-71.3 27.12 3035
+-71.174 27.12 3034
+-71.048 27.12 3034
+-70.922 27.12 3035
+-70.796 27.12 3035
+-70.67 27.12 3035
+-70.544 27.12 3035
+-70.418 27.12 3035
+-70.292 27.12 3036
+-70.166 27.12 3036
+-70.04 27.12 3036
+-69.914 27.12 3036
+-69.788 27.12 3036
+-69.662 27.12 3037
+-69.536 27.12 3037
+-69.41 27.12 3037
+-69.284 27.12 3037
+-69.158 27.12 2962
+-69.032 27.12 2961
+-68.906 27.12 2961
+-68.78 27.12 2961
+-68.654 27.12 2960
+-68.528 27.12 2960
+-68.402 27.12 2960
+-68.276 27.12 2959
+-68.15 27.12 2959
+-68.024 27.12 2959
+-67.898 27.12 2959
+-67.772 27.12 2958
+-67.646 27.12 2958
+-67.52 27.12 2958
+-67.394 27.12 2958
+-67.268 27.12 2958
+-67.142 27.12 2958
+-67.016 27.12 2958
+-66.89 27.12 2957
+-66.764 27.12 2957
+-66.638 27.12 2957
+-66.512 27.12 2957
+-66.386 27.12 2957
+-66.26 27.12 2957
+-66.134 27.12 2957
+-66.008 27.12 2957
+-65.882 27.12 2957
+-65.756 27.12 2957
+-65.63 27.12 2957
+-65.504 27.12 2957
+-65.378 27.12 2957
+-65.252 27.12 2957
+-65.126 27.12 2957
+-128 27.068 2983
+-127.874 27.068 2984
+-127.748 27.068 2986
+-127.622 27.068 2987
+-127.496 27.068 2961
+-127.37 27.068 2947
+-127.244 27.068 2978
+-127.118 27.068 2982
+-126.992 27.068 3022
+-126.866 27.068 3026
+-126.74 27.068 2992
+-126.614 27.068 2978
+-126.488 27.068 2993
+-126.362 27.068 2998
+-126.236 27.068 3003
+-126.11 27.068 2974
+-125.984 27.068 3411
+-125.858 27.068 3411
+-125.732 27.068 3410
+-125.606 27.068 3383
+-125.48 27.068 3382
+-125.354 27.068 3367
+-125.228 27.068 3396
+-125.102 27.068 3395
+-124.976 27.068 3454
+-124.85 27.068 3453
+-124.724 27.068 3420
+-124.598 27.068 3437
+-124.472 27.068 3469
+-124.346 27.068 3463
+-124.22 27.068 3490
+-124.094 27.068 3487
+-123.968 27.068 3518
+-123.842 27.068 3498
+-123.716 27.068 3495
+-123.59 27.068 3492
+-123.464 27.068 3520
+-123.338 27.068 3517
+-123.212 27.068 3510
+-123.086 27.068 3515
+-122.96 27.068 3432
+-122.834 27.068 3445
+-122.708 27.068 3429
+-122.582 27.068 3426
+-122.456 27.068 3405
+-122.33 27.068 3455
+-122.204 27.068 3451
+-122.078 27.068 3362
+-121.952 27.068 3378
+-121.826 27.068 3379
+-121.7 27.068 3371
+-121.574 27.068 3392
+-121.448 27.068 3387
+-121.322 27.068 3381
+-121.196 27.068 3318
+-121.07 27.068 3315
+-120.944 27.068 3259
+-120.818 27.068 3264
+-120.692 27.068 3259
+-120.566 27.068 3230
+-120.44 27.068 3228
+-120.314 27.068 3221
+-120.188 27.068 3217
+-120.062 27.068 3204
+-119.936 27.068 3216
+-119.81 27.068 3211
+-119.684 27.068 3177
+-119.558 27.068 3170
+-119.432 27.068 3173
+-119.306 27.068 3167
+-119.18 27.068 3170
+-119.054 27.068 3152
+-118.928 27.068 3140
+-118.802 27.068 3132
+-118.676 27.068 3130
+-118.55 27.068 3148
+-118.424 27.068 3157
+-118.298 27.068 3191
+-118.172 27.068 3232
+-118.046 27.068 3254
+-117.92 27.068 3247
+-117.794 27.068 3243
+-117.668 27.068 3260
+-117.542 27.068 3289
+-117.416 27.068 3315
+-117.29 27.068 3303
+-117.164 27.068 3296
+-117.038 27.068 3307
+-116.912 27.068 3312
+-116.786 27.068 3301
+-116.66 27.068 3280
+-116.534 27.068 3264
+-116.408 27.068 3252
+-116.282 27.068 3237
+-116.156 27.068 3215
+-116.03 27.068 3218
+-115.904 27.068 3192
+-115.778 27.068 3179
+-115.652 27.068 3172
+-115.526 27.068 3167
+-115.4 27.068 3165
+-115.274 27.068 3154
+-115.148 27.068 3142
+-115.022 27.068 3130
+-114.896 27.068 3157
+-114.77 27.068 3153
+-114.644 27.068 3202
+-114.518 27.068 3250
+-114.392 27.068 3299
+-114.266 27.068 3343
+-114.14 27.068 3384
+-114.014 27.068 3437
+-113.888 27.068 3452
+-113.762 27.068 3473
+-113.636 27.068 3554
+-113.51 27.068 3642
+-113.384 27.068 3744
+-113.258 27.068 3784
+-113.132 27.068 3775
+-113.006 27.068 3798
+-112.88 27.068 3849
+-112.754 27.068 3923
+-112.628 27.068 3993
+-112.502 27.068 4075
+-112.376 27.068 4114
+-112.25 27.068 4166
+-112.124 27.068 4194
+-111.998 27.068 4255
+-111.872 27.068 4322
+-111.746 27.068 4378
+-111.62 27.068 4437
+-111.494 27.068 4443
+-111.368 27.068 4431
+-111.242 27.068 4480
+-111.116 27.068 4573
+-110.99 27.068 4624
+-110.864 27.068 4682
+-110.738 27.068 4693
+-110.612 27.068 4705
+-110.486 27.068 4689
+-110.36 27.068 4677
+-110.234 27.068 4654
+-110.108 27.068 4579
+-109.982 27.068 4510
+-109.856 27.068 4472
+-109.73 27.068 4468
+-109.604 27.068 4458
+-109.478 27.068 4466
+-109.352 27.068 4430
+-109.226 27.068 4386
+-109.1 27.068 4367
+-108.974 27.068 4367
+-108.848 27.068 4345
+-108.722 27.068 4306
+-108.596 27.068 4203
+-108.47 27.068 4125
+-108.344 27.068 4062
+-108.218 27.068 4030
+-108.092 27.068 3991
+-107.966 27.068 3970
+-107.84 27.068 3891
+-107.714 27.068 3785
+-107.588 27.068 3705
+-107.462 27.068 3662
+-107.336 27.068 3647
+-107.21 27.068 3640
+-107.084 27.068 3607
+-106.958 27.068 3513
+-106.832 27.068 3434
+-106.706 27.068 3351
+-106.58 27.068 3239
+-106.454 27.068 3146
+-106.328 27.068 3093
+-106.202 27.068 3077
+-106.076 27.068 3064
+-105.95 27.068 2982
+-105.824 27.068 2880
+-105.698 27.068 2730
+-105.572 27.068 2545
+-105.446 27.068 2380
+-105.32 27.068 2302
+-105.194 27.068 2328
+-105.068 27.068 2427
+-104.942 27.068 2547
+-104.816 27.068 2656
+-104.69 27.068 2757
+-104.564 27.068 2846
+-104.438 27.068 2919
+-104.312 27.068 2963
+-104.186 27.068 2999
+-104.06 27.068 3036
+-103.934 27.068 2987
+-103.808 27.068 3016
+-103.682 27.068 3073
+-103.556 27.068 3098
+-103.43 27.068 3083
+-103.304 27.068 3100
+-103.178 27.068 3118
+-103.052 27.068 3116
+-102.926 27.068 3131
+-102.8 27.068 3144
+-102.674 27.068 3156
+-102.548 27.068 3167
+-102.422 27.068 3177
+-102.296 27.068 3186
+-102.17 27.068 3133
+-102.044 27.068 3132
+-101.918 27.068 3139
+-101.792 27.068 3146
+-101.666 27.068 3127
+-101.54 27.068 3133
+-101.414 27.068 3190
+-101.288 27.068 3197
+-101.162 27.068 3208
+-101.036 27.068 3198
+-100.91 27.068 3204
+-100.784 27.068 3210
+-100.658 27.068 3215
+-100.532 27.068 3213
+-100.406 27.068 3219
+-100.28 27.068 3208
+-100.154 27.068 3213
+-100.028 27.068 3148
+-99.902 27.068 3152
+-99.776 27.068 3155
+-99.65 27.068 3159
+-99.524 27.068 3162
+-99.398 27.068 3165
+-99.272 27.068 3129
+-99.146 27.068 3252
+-99.02 27.068 3152
+-98.894 27.068 3164
+-98.768 27.068 3167
+-98.642 27.068 3169
+-98.516 27.068 3172
+-98.39 27.068 3174
+-98.264 27.068 3176
+-98.138 27.068 3178
+-98.012 27.068 3180
+-97.886 27.068 3182
+-97.76 27.068 3109
+-97.634 27.068 3007
+-97.508 27.068 3005
+-97.382 27.068 3003
+-97.256 27.068 3000
+-97.13 27.068 2891
+-97.004 27.068 2897
+-96.878 27.068 2876
+-96.752 27.068 2771
+-96.626 27.068 2896
+-96.5 27.068 2838
+-96.374 27.068 2903
+-96.248 27.068 2895
+-96.122 27.068 3052
+-95.996 27.068 3085
+-95.87 27.068 3087
+-95.744 27.068 3088
+-95.618 27.068 3090
+-95.492 27.068 3092
+-95.366 27.068 3126
+-95.24 27.068 3335
+-95.114 27.068 3334
+-94.988 27.068 3333
+-94.862 27.068 3332
+-94.736 27.068 3331
+-94.61 27.068 3330
+-94.484 27.068 3329
+-94.358 27.068 3327
+-94.232 27.068 3326
+-94.106 27.068 3338
+-93.98 27.068 3336
+-93.854 27.068 3334
+-93.728 27.068 3332
+-93.602 27.068 3329
+-93.476 27.068 3351
+-93.35 27.068 3347
+-93.224 27.068 3532
+-93.098 27.068 3528
+-92.972 27.068 3523
+-92.846 27.068 3518
+-92.72 27.068 3512
+-92.594 27.068 3506
+-92.468 27.068 3500
+-92.342 27.068 3493
+-92.216 27.068 3485
+-92.09 27.068 3477
+-91.964 27.068 3468
+-91.838 27.068 3458
+-91.712 27.068 3447
+-91.586 27.068 3435
+-91.46 27.068 3421
+-91.334 27.068 3444
+-91.208 27.068 3426
+-91.082 27.068 3439
+-90.956 27.068 3442
+-90.83 27.068 3416
+-90.704 27.068 3387
+-90.578 27.068 3361
+-90.452 27.068 3387
+-90.326 27.068 3344
+-90.2 27.068 3295
+-90.074 27.068 3239
+-89.948 27.068 3176
+-89.822 27.068 3106
+-89.696 27.068 3038
+-89.57 27.068 3022
+-89.444 27.068 2974
+-89.318 27.068 2941
+-89.192 27.068 2960
+-89.066 27.068 3059
+-88.94 27.068 3158
+-88.814 27.068 3243
+-88.688 27.068 3276
+-88.562 27.068 3220
+-88.436 27.068 3085
+-88.31 27.068 2994
+-88.184 27.068 3135
+-88.058 27.068 3443
+-87.932 27.068 3708
+-87.806 27.068 3901
+-87.68 27.068 4077
+-87.554 27.068 4155
+-87.428 27.068 4285
+-87.302 27.068 4415
+-87.176 27.068 4543
+-87.05 27.068 4702
+-86.924 27.068 4863
+-86.798 27.068 4950
+-86.672 27.068 5065
+-86.546 27.068 5121
+-86.42 27.068 5163
+-86.294 27.068 5258
+-86.168 27.068 5351
+-86.042 27.068 5463
+-85.916 27.068 5560
+-85.79 27.068 5671
+-85.664 27.068 5896
+-85.538 27.068 6079
+-85.412 27.068 6254
+-85.286 27.068 6374
+-85.16 27.068 6485
+-85.034 27.068 6605
+-84.908 27.068 6720
+-84.782 27.068 6857
+-84.656 27.068 6993
+-84.53 27.068 7161
+-84.404 27.068 7336
+-84.278 27.068 7338
+-84.152 27.068 7558
+-84.026 27.068 7711
+-83.9 27.068 7758
+-83.774 27.068 7910
+-83.648 27.068 8010
+-83.522 27.068 8199
+-83.396 27.068 8332
+-83.27 27.068 8421
+-83.144 27.068 8579
+-83.018 27.068 8685
+-82.892 27.068 8758
+-82.766 27.068 8831
+-82.64 27.068 8923
+-82.514 27.068 8987
+-82.388 27.068 9038
+-82.262 27.068 9075
+-82.136 27.068 9080
+-82.01 27.068 9056
+-81.884 27.068 8975
+-81.758 27.068 8941
+-81.632 27.068 8854
+-81.506 27.068 8731
+-81.38 27.068 8618
+-81.254 27.068 8535
+-81.128 27.068 8436
+-81.002 27.068 8291
+-80.876 27.068 8198
+-80.75 27.068 8071
+-80.624 27.068 7993
+-80.498 27.068 7789
+-80.372 27.068 7701
+-80.246 27.068 7592
+-80.12 27.068 7415
+-79.994 27.068 7272
+-79.868 27.068 7147
+-79.742 27.068 7031
+-79.616 27.068 6909
+-79.49 27.068 6762
+-79.364 27.068 6541
+-79.238 27.068 6381
+-79.112 27.068 6384
+-78.986 27.068 6288
+-78.86 27.068 6169
+-78.734 27.068 5982
+-78.608 27.068 5790
+-78.482 27.068 5581
+-78.356 27.068 5529
+-78.23 27.068 5274
+-78.104 27.068 5204
+-77.978 27.068 5029
+-77.852 27.068 4907
+-77.726 27.068 4817
+-77.6 27.068 4759
+-77.474 27.068 4667
+-77.348 27.068 4494
+-77.222 27.068 4340
+-77.096 27.068 4313
+-76.97 27.068 4249
+-76.844 27.068 4036
+-76.718 27.068 3918
+-76.592 27.068 3802
+-76.466 27.068 3662
+-76.34 27.068 3550
+-76.214 27.068 3489
+-76.088 27.068 3452
+-75.962 27.068 3429
+-75.836 27.068 3400
+-75.71 27.068 3380
+-75.584 27.068 3362
+-75.458 27.068 3351
+-75.332 27.068 3347
+-75.206 27.068 3349
+-75.08 27.068 3357
+-74.954 27.068 3369
+-74.828 27.068 3383
+-74.702 27.068 3399
+-74.576 27.068 3322
+-74.45 27.068 3340
+-74.324 27.068 3345
+-74.198 27.068 3362
+-74.072 27.068 3379
+-73.946 27.068 3356
+-73.82 27.068 3370
+-73.694 27.068 3321
+-73.568 27.068 3313
+-73.442 27.068 3303
+-73.316 27.068 3312
+-73.19 27.068 3262
+-73.064 27.068 3270
+-72.938 27.068 3277
+-72.812 27.068 3284
+-72.686 27.068 3277
+-72.56 27.068 3196
+-72.434 27.068 3201
+-72.308 27.068 3206
+-72.182 27.068 3211
+-72.056 27.068 3215
+-71.93 27.068 3099
+-71.804 27.068 3060
+-71.678 27.068 3028
+-71.552 27.068 3029
+-71.426 27.068 3030
+-71.3 27.068 3030
+-71.174 27.068 3030
+-71.048 27.068 3029
+-70.922 27.068 3029
+-70.796 27.068 3029
+-70.67 27.068 3030
+-70.544 27.068 3030
+-70.418 27.068 3030
+-70.292 27.068 3030
+-70.166 27.068 3031
+-70.04 27.068 3031
+-69.914 27.068 3031
+-69.788 27.068 3031
+-69.662 27.068 3032
+-69.536 27.068 3032
+-69.41 27.068 3032
+-69.284 27.068 3032
+-69.158 27.068 3033
+-69.032 27.068 2957
+-68.906 27.068 2956
+-68.78 27.068 2956
+-68.654 27.068 2956
+-68.528 27.068 2955
+-68.402 27.068 2955
+-68.276 27.068 2955
+-68.15 27.068 2955
+-68.024 27.068 2955
+-67.898 27.068 2955
+-67.772 27.068 2954
+-67.646 27.068 2954
+-67.52 27.068 2954
+-67.394 27.068 2954
+-67.268 27.068 2954
+-67.142 27.068 2954
+-67.016 27.068 2954
+-66.89 27.068 2954
+-66.764 27.068 2954
+-66.638 27.068 2954
+-66.512 27.068 2954
+-66.386 27.068 2954
+-66.26 27.068 2954
+-66.134 27.068 2954
+-66.008 27.068 2954
+-65.882 27.068 2954
+-65.756 27.068 2954
+-65.63 27.068 2954
+-65.504 27.068 2954
+-65.378 27.068 2954
+-65.252 27.068 2954
+-65.126 27.068 2955
+-128 27.016 2988
+-127.874 27.016 2990
+-127.748 27.016 2991
+-127.622 27.016 2964
+-127.496 27.016 2949
+-127.37 27.016 2981
+-127.244 27.016 2984
+-127.118 27.016 3025
+-126.992 27.016 3028
+-126.866 27.016 2994
+-126.74 27.016 2979
+-126.614 27.016 2994
+-126.488 27.016 2998
+-126.362 27.016 3003
+-126.236 27.016 2974
+-126.11 27.016 3412
+-125.984 27.016 3412
+-125.858 27.016 3411
+-125.732 27.016 3384
+-125.606 27.016 3383
+-125.48 27.016 3368
+-125.354 27.016 3397
+-125.228 27.016 3396
+-125.102 27.016 3456
+-124.976 27.016 3454
+-124.85 27.016 3422
+-124.724 27.016 3439
+-124.598 27.016 3472
+-124.472 27.016 3465
+-124.346 27.016 3493
+-124.22 27.016 3490
+-124.094 27.016 3522
+-123.968 27.016 3501
+-123.842 27.016 3499
+-123.716 27.016 3496
+-123.59 27.016 3525
+-123.464 27.016 3522
+-123.338 27.016 3515
+-123.212 27.016 3521
+-123.086 27.016 3435
+-122.96 27.016 3448
+-122.834 27.016 3433
+-122.708 27.016 3429
+-122.582 27.016 3408
+-122.456 27.016 3460
+-122.33 27.016 3456
+-122.204 27.016 3364
+-122.078 27.016 3381
+-121.952 27.016 3381
+-121.826 27.016 3374
+-121.7 27.016 3396
+-121.574 27.016 3390
+-121.448 27.016 3385
+-121.322 27.016 3318
+-121.196 27.016 3316
+-121.07 27.016 3256
+-120.944 27.016 3261
+-120.818 27.016 3255
+-120.692 27.016 3224
+-120.566 27.016 3222
+-120.44 27.016 3213
+-120.314 27.016 3207
+-120.188 27.016 3191
+-120.062 27.016 3200
+-119.936 27.016 3193
+-119.81 27.016 3155
+-119.684 27.016 3146
+-119.558 27.016 3148
+-119.432 27.016 3138
+-119.306 27.016 3141
+-119.18 27.016 3119
+-119.054 27.016 3097
+-118.928 27.016 3068
+-118.802 27.016 3036
+-118.676 27.016 3027
+-118.55 27.016 3042
+-118.424 27.016 3092
+-118.298 27.016 3143
+-118.172 27.016 3189
+-118.046 27.016 3219
+-117.92 27.016 3228
+-117.794 27.016 3228
+-117.668 27.016 3236
+-117.542 27.016 3257
+-117.416 27.016 3280
+-117.29 27.016 3285
+-117.164 27.016 3289
+-117.038 27.016 3283
+-116.912 27.016 3277
+-116.786 27.016 3252
+-116.66 27.016 3221
+-116.534 27.016 3192
+-116.408 27.016 3158
+-116.282 27.016 3150
+-116.156 27.016 3145
+-116.03 27.016 3138
+-115.904 27.016 3127
+-115.778 27.016 3099
+-115.652 27.016 3085
+-115.526 27.016 3082
+-115.4 27.016 3100
+-115.274 27.016 3100
+-115.148 27.016 3094
+-115.022 27.016 3081
+-114.896 27.016 3067
+-114.77 27.016 3087
+-114.644 27.016 3121
+-114.518 27.016 3167
+-114.392 27.016 3224
+-114.266 27.016 3284
+-114.14 27.016 3329
+-114.014 27.016 3363
+-113.888 27.016 3348
+-113.762 27.016 3337
+-113.636 27.016 3412
+-113.51 27.016 3560
+-113.384 27.016 3680
+-113.258 27.016 3768
+-113.132 27.016 3790
+-113.006 27.016 3813
+-112.88 27.016 3847
+-112.754 27.016 3889
+-112.628 27.016 3954
+-112.502 27.016 4014
+-112.376 27.016 4064
+-112.25 27.016 4104
+-112.124 27.016 4151
+-111.998 27.016 4169
+-111.872 27.016 4222
+-111.746 27.016 4317
+-111.62 27.016 4402
+-111.494 27.016 4440
+-111.368 27.016 4447
+-111.242 27.016 4485
+-111.116 27.016 4547
+-110.99 27.016 4601
+-110.864 27.016 4637
+-110.738 27.016 4671
+-110.612 27.016 4675
+-110.486 27.016 4661
+-110.36 27.016 4615
+-110.234 27.016 4574
+-110.108 27.016 4515
+-109.982 27.016 4462
+-109.856 27.016 4435
+-109.73 27.016 4431
+-109.604 27.016 4419
+-109.478 27.016 4400
+-109.352 27.016 4373
+-109.226 27.016 4339
+-109.1 27.016 4325
+-108.974 27.016 4330
+-108.848 27.016 4298
+-108.722 27.016 4242
+-108.596 27.016 4127
+-108.47 27.016 4051
+-108.344 27.016 3993
+-108.218 27.016 3969
+-108.092 27.016 3946
+-107.966 27.016 3888
+-107.84 27.016 3819
+-107.714 27.016 3691
+-107.588 27.016 3612
+-107.462 27.016 3575
+-107.336 27.016 3577
+-107.21 27.016 3575
+-107.084 27.016 3545
+-106.958 27.016 3483
+-106.832 27.016 3413
+-106.706 27.016 3328
+-106.58 27.016 3254
+-106.454 27.016 3142
+-106.328 27.016 3090
+-106.202 27.016 3052
+-106.076 27.016 3008
+-105.95 27.016 2940
+-105.824 27.016 2820
+-105.698 27.016 2632
+-105.572 27.016 2399
+-105.446 27.016 2191
+-105.32 27.016 2105
+-105.194 27.016 2163
+-105.068 27.016 2299
+-104.942 27.016 2455
+-104.816 27.016 2596
+-104.69 27.016 2705
+-104.564 27.016 2800
+-104.438 27.016 2883
+-104.312 27.016 2950
+-104.186 27.016 2988
+-104.06 27.016 3019
+-103.934 27.016 3053
+-103.808 27.016 2998
+-103.682 27.016 3025
+-103.556 27.016 3081
+-103.43 27.016 3104
+-103.304 27.016 3087
+-103.178 27.016 3104
+-103.052 27.016 3121
+-102.926 27.016 3118
+-102.8 27.016 3132
+-102.674 27.016 3144
+-102.548 27.016 3156
+-102.422 27.016 3167
+-102.296 27.016 3177
+-102.17 27.016 3186
+-102.044 27.016 3133
+-101.918 27.016 3131
+-101.792 27.016 3138
+-101.666 27.016 3145
+-101.54 27.016 3126
+-101.414 27.016 3132
+-101.288 27.016 3189
+-101.162 27.016 3196
+-101.036 27.016 3208
+-100.91 27.016 3197
+-100.784 27.016 3203
+-100.658 27.016 3209
+-100.532 27.016 3214
+-100.406 27.016 3213
+-100.28 27.016 3218
+-100.154 27.016 3207
+-100.028 27.016 3212
+-99.902 27.016 3147
+-99.776 27.016 3150
+-99.65 27.016 3154
+-99.524 27.016 3157
+-99.398 27.016 3161
+-99.272 27.016 3164
+-99.146 27.016 3127
+-99.02 27.016 3251
+-98.894 27.016 3152
+-98.768 27.016 3164
+-98.642 27.016 3166
+-98.516 27.016 3169
+-98.39 27.016 3171
+-98.264 27.016 3173
+-98.138 27.016 3176
+-98.012 27.016 3178
+-97.886 27.016 3180
+-97.76 27.016 3182
+-97.634 27.016 3005
+-97.508 27.016 3003
+-97.382 27.016 3000
+-97.256 27.016 2998
+-97.13 27.016 2890
+-97.004 27.016 2896
+-96.878 27.016 2875
+-96.752 27.016 2771
+-96.626 27.016 2897
+-96.5 27.016 2840
+-96.374 27.016 2905
+-96.248 27.016 2897
+-96.122 27.016 3053
+-95.996 27.016 3086
+-95.87 27.016 3087
+-95.744 27.016 3089
+-95.618 27.016 3091
+-95.492 27.016 3125
+-95.366 27.016 3126
+-95.24 27.016 3349
+-95.114 27.016 3348
+-94.988 27.016 3347
+-94.862 27.016 3346
+-94.736 27.016 3344
+-94.61 27.016 3343
+-94.484 27.016 3342
+-94.358 27.016 3340
+-94.232 27.016 3338
+-94.106 27.016 3337
+-93.98 27.016 3335
+-93.854 27.016 3333
+-93.728 27.016 3331
+-93.602 27.016 3328
+-93.476 27.016 3326
+-93.35 27.016 3323
+-93.224 27.016 3488
+-93.098 27.016 3485
+-92.972 27.016 3480
+-92.846 27.016 3517
+-92.72 27.016 3512
+-92.594 27.016 3506
+-92.468 27.016 3499
+-92.342 27.016 3493
+-92.216 27.016 3485
+-92.09 27.016 3477
+-91.964 27.016 3468
+-91.838 27.016 3459
+-91.712 27.016 3448
+-91.586 27.016 3437
+-91.46 27.016 3462
+-91.334 27.016 3447
+-91.208 27.016 3430
+-91.082 27.016 3412
+-90.956 27.016 3424
+-90.83 27.016 3425
+-90.704 27.016 3406
+-90.578 27.016 3442
+-90.452 27.016 3409
+-90.326 27.016 3372
+-90.2 27.016 3331
+-90.074 27.016 3285
+-89.948 27.016 3236
+-89.822 27.016 3193
+-89.696 27.016 3203
+-89.57 27.016 3155
+-89.444 27.016 3120
+-89.318 27.016 3131
+-89.192 27.016 3191
+-89.066 27.016 3236
+-88.94 27.016 3293
+-88.814 27.016 3334
+-88.688 27.016 3335
+-88.562 27.016 3271
+-88.436 27.016 3179
+-88.31 27.016 3116
+-88.184 27.016 3246
+-88.058 27.016 3505
+-87.932 27.016 3750
+-87.806 27.016 3875
+-87.68 27.016 3970
+-87.554 27.016 4046
+-87.428 27.016 4157
+-87.302 27.016 4333
+-87.176 27.016 4499
+-87.05 27.016 4693
+-86.924 27.016 4822
+-86.798 27.016 4947
+-86.672 27.016 5049
+-86.546 27.016 5094
+-86.42 27.016 5062
+-86.294 27.016 5194
+-86.168 27.016 5327
+-86.042 27.016 5467
+-85.916 27.016 5533
+-85.79 27.016 5666
+-85.664 27.016 5852
+-85.538 27.016 6029
+-85.412 27.016 6236
+-85.286 27.016 6282
+-85.16 27.016 6476
+-85.034 27.016 6577
+-84.908 27.016 6713
+-84.782 27.016 6815
+-84.656 27.016 7049
+-84.53 27.016 7113
+-84.404 27.016 7324
+-84.278 27.016 7443
+-84.152 27.016 7565
+-84.026 27.016 7697
+-83.9 27.016 7823
+-83.774 27.016 7879
+-83.648 27.016 8024
+-83.522 27.016 8182
+-83.396 27.016 8264
+-83.27 27.016 8371
+-83.144 27.016 8455
+-83.018 27.016 8582
+-82.892 27.016 8698
+-82.766 27.016 8808
+-82.64 27.016 8899
+-82.514 27.016 8961
+-82.388 27.016 8974
+-82.262 27.016 8995
+-82.136 27.016 9021
+-82.01 27.016 8980
+-81.884 27.016 8951
+-81.758 27.016 8886
+-81.632 27.016 8822
+-81.506 27.016 8743
+-81.38 27.016 8650
+-81.254 27.016 8507
+-81.128 27.016 8410
+-81.002 27.016 8253
+-80.876 27.016 8140
+-80.75 27.016 8016
+-80.624 27.016 7899
+-80.498 27.016 7765
+-80.372 27.016 7683
+-80.246 27.016 7474
+-80.12 27.016 7416
+-79.994 27.016 7216
+-79.868 27.016 7148
+-79.742 27.016 6993
+-79.616 27.016 6809
+-79.49 27.016 6732
+-79.364 27.016 6557
+-79.238 27.016 6445
+-79.112 27.016 6372
+-78.986 27.016 6299
+-78.86 27.016 6157
+-78.734 27.016 5972
+-78.608 27.016 5762
+-78.482 27.016 5615
+-78.356 27.016 5425
+-78.23 27.016 5304
+-78.104 27.016 5169
+-77.978 27.016 5000
+-77.852 27.016 4852
+-77.726 27.016 4720
+-77.6 27.016 4717
+-77.474 27.016 4583
+-77.348 27.016 4416
+-77.222 27.016 4204
+-77.096 27.016 4258
+-76.97 27.016 4179
+-76.844 27.016 3960
+-76.718 27.016 3852
+-76.592 27.016 3727
+-76.466 27.016 3628
+-76.34 27.016 3550
+-76.214 27.016 3526
+-76.088 27.016 3497
+-75.962 27.016 3465
+-75.836 27.016 3432
+-75.71 27.016 3403
+-75.584 27.016 3368
+-75.458 27.016 3355
+-75.332 27.016 3352
+-75.206 27.016 3356
+-75.08 27.016 3366
+-74.954 27.016 3379
+-74.828 27.016 3395
+-74.702 27.016 3411
+-74.576 27.016 3428
+-74.45 27.016 3337
+-74.324 27.016 3354
+-74.198 27.016 3371
+-74.072 27.016 3355
+-73.946 27.016 3369
+-73.82 27.016 3383
+-73.694 27.016 3395
+-73.568 27.016 3337
+-73.442 27.016 3327
+-73.316 27.016 3316
+-73.19 27.016 3265
+-73.064 27.016 3273
+-72.938 27.016 3280
+-72.812 27.016 3286
+-72.686 27.016 3293
+-72.56 27.016 3266
+-72.434 27.016 3202
+-72.308 27.016 3206
+-72.182 27.016 3211
+-72.056 27.016 3094
+-71.93 27.016 3052
+-71.804 27.016 3022
+-71.678 27.016 3023
+-71.552 27.016 3023
+-71.426 27.016 3024
+-71.3 27.016 3024
+-71.174 27.016 3025
+-71.048 27.016 3025
+-70.922 27.016 3025
+-70.796 27.016 3026
+-70.67 27.016 3026
+-70.544 27.016 3026
+-70.418 27.016 3027
+-70.292 27.016 3027
+-70.166 27.016 3027
+-70.04 27.016 3028
+-69.914 27.016 3028
+-69.788 27.016 3028
+-69.662 27.016 3029
+-69.536 27.016 3029
+-69.41 27.016 3030
+-69.284 27.016 3030
+-69.158 27.016 3030
+-69.032 27.016 3031
+-68.906 27.016 2951
+-68.78 27.016 2951
+-68.654 27.016 2951
+-68.528 27.016 2951
+-68.402 27.016 2951
+-68.276 27.016 2951
+-68.15 27.016 2951
+-68.024 27.016 2950
+-67.898 27.016 2950
+-67.772 27.016 2950
+-67.646 27.016 2950
+-67.52 27.016 2950
+-67.394 27.016 2950
+-67.268 27.016 2950
+-67.142 27.016 2950
+-67.016 27.016 2950
+-66.89 27.016 2950
+-66.764 27.016 2950
+-66.638 27.016 2950
+-66.512 27.016 2951
+-66.386 27.016 2951
+-66.26 27.016 2951
+-66.134 27.016 2951
+-66.008 27.016 2951
+-65.882 27.016 2951
+-65.756 27.016 2951
+-65.63 27.016 2951
+-65.504 27.016 2951
+-65.378 27.016 2952
+-65.252 27.016 2952
+-65.126 27.016 2952
+-128 26.964 2993
+-127.874 26.964 2995
+-127.748 26.964 2967
+-127.622 26.964 2952
+-127.496 26.964 2983
+-127.37 26.964 2986
+-127.244 26.964 3027
+-127.118 26.964 3030
+-126.992 26.964 2995
+-126.866 26.964 2980
+-126.74 26.964 2994
+-126.614 26.964 2999
+-126.488 26.964 3003
+-126.362 26.964 2973
+-126.236 26.964 3413
+-126.11 26.964 3413
+-125.984 26.964 3412
+-125.858 26.964 3385
+-125.732 26.964 3384
+-125.606 26.964 3369
+-125.48 26.964 3398
+-125.354 26.964 3397
+-125.228 26.964 3458
+-125.102 26.964 3456
+-124.976 26.964 3423
+-124.85 26.964 3440
+-124.724 26.964 3474
+-124.598 26.964 3467
+-124.472 26.964 3495
+-124.346 26.964 3493
+-124.22 26.964 3525
+-124.094 26.964 3505
+-123.968 26.964 3502
+-123.842 26.964 3500
+-123.716 26.964 3529
+-123.59 26.964 3526
+-123.464 26.964 3520
+-123.338 26.964 3526
+-123.212 26.964 3437
+-123.086 26.964 3451
+-122.96 26.964 3436
+-122.834 26.964 3432
+-122.708 26.964 3411
+-122.582 26.964 3463
+-122.456 26.964 3459
+-122.33 26.964 3366
+-122.204 26.964 3383
+-122.078 26.964 3384
+-121.952 26.964 3376
+-121.826 26.964 3399
+-121.7 26.964 3393
+-121.574 26.964 3388
+-121.448 26.964 3318
+-121.322 26.964 3316
+-121.196 26.964 3253
+-121.07 26.964 3258
+-120.944 26.964 3251
+-120.818 26.964 3219
+-120.692 26.964 3216
+-120.566 26.964 3206
+-120.44 26.964 3198
+-120.314 26.964 3180
+-120.188 26.964 3187
+-120.062 26.964 3177
+-119.936 26.964 3137
+-119.81 26.964 3125
+-119.684 26.964 3095
+-119.558 26.964 3112
+-119.432 26.964 3091
+-119.306 26.964 3093
+-119.18 26.964 3072
+-119.054 26.964 3044
+-118.928 26.964 2998
+-118.802 26.964 2949
+-118.676 26.964 2920
+-118.55 26.964 2955
+-118.424 26.964 3026
+-118.298 26.964 3094
+-118.172 26.964 3144
+-118.046 26.964 3187
+-117.92 26.964 3213
+-117.794 26.964 3222
+-117.668 26.964 3224
+-117.542 26.964 3221
+-117.416 26.964 3225
+-117.29 26.964 3249
+-117.164 26.964 3252
+-117.038 26.964 3238
+-116.912 26.964 3222
+-116.786 26.964 3202
+-116.66 26.964 3163
+-116.534 26.964 3119
+-116.408 26.964 3103
+-116.282 26.964 3092
+-116.156 26.964 3092
+-116.03 26.964 3094
+-115.904 26.964 3079
+-115.778 26.964 3031
+-115.652 26.964 2997
+-115.526 26.964 3016
+-115.4 26.964 3045
+-115.274 26.964 3049
+-115.148 26.964 3040
+-115.022 26.964 3020
+-114.896 26.964 3001
+-114.77 26.964 2995
+-114.644 26.964 3040
+-114.518 26.964 3092
+-114.392 26.964 3161
+-114.266 26.964 3239
+-114.14 26.964 3292
+-114.014 26.964 3326
+-113.888 26.964 3299
+-113.762 26.964 3245
+-113.636 26.964 3328
+-113.51 26.964 3442
+-113.384 26.964 3606
+-113.258 26.964 3734
+-113.132 26.964 3776
+-113.006 26.964 3812
+-112.88 26.964 3833
+-112.754 26.964 3863
+-112.628 26.964 3906
+-112.502 26.964 3954
+-112.376 26.964 4010
+-112.25 26.964 4057
+-112.124 26.964 4125
+-111.998 26.964 4156
+-111.872 26.964 4181
+-111.746 26.964 4259
+-111.62 26.964 4337
+-111.494 26.964 4406
+-111.368 26.964 4431
+-111.242 26.964 4461
+-111.116 26.964 4494
+-110.99 26.964 4561
+-110.864 26.964 4563
+-110.738 26.964 4598
+-110.612 26.964 4600
+-110.486 26.964 4581
+-110.36 26.964 4548
+-110.234 26.964 4511
+-110.108 26.964 4466
+-109.982 26.964 4440
+-109.856 26.964 4421
+-109.73 26.964 4412
+-109.604 26.964 4376
+-109.478 26.964 4327
+-109.352 26.964 4335
+-109.226 26.964 4329
+-109.1 26.964 4317
+-108.974 26.964 4296
+-108.848 26.964 4261
+-108.722 26.964 4208
+-108.596 26.964 4101
+-108.47 26.964 4023
+-108.344 26.964 3962
+-108.218 26.964 3953
+-108.092 26.964 3917
+-107.966 26.964 3841
+-107.84 26.964 3719
+-107.714 26.964 3635
+-107.588 26.964 3560
+-107.462 26.964 3556
+-107.336 26.964 3541
+-107.21 26.964 3547
+-107.084 26.964 3498
+-106.958 26.964 3452
+-106.832 26.964 3381
+-106.706 26.964 3260
+-106.58 26.964 3174
+-106.454 26.964 3100
+-106.328 26.964 3055
+-106.202 26.964 3010
+-106.076 26.964 2966
+-105.95 26.964 2897
+-105.824 26.964 2779
+-105.698 26.964 2587
+-105.572 26.964 2334
+-105.446 26.964 2111
+-105.32 26.964 2025
+-105.194 26.964 2095
+-105.068 26.964 2250
+-104.942 26.964 2413
+-104.816 26.964 2562
+-104.69 26.964 2685
+-104.564 26.964 2776
+-104.438 26.964 2856
+-104.312 26.964 2928
+-104.186 26.964 2986
+-104.06 26.964 3015
+-103.934 26.964 3040
+-103.808 26.964 3071
+-103.682 26.964 3010
+-103.556 26.964 3034
+-103.43 26.964 3089
+-103.304 26.964 3111
+-103.178 26.964 3092
+-103.052 26.964 3108
+-102.926 26.964 3124
+-102.8 26.964 3120
+-102.674 26.964 3134
+-102.548 26.964 3146
+-102.422 26.964 3157
+-102.296 26.964 3167
+-102.17 26.964 3177
+-102.044 26.964 3186
+-101.918 26.964 3132
+-101.792 26.964 3131
+-101.666 26.964 3138
+-101.54 26.964 3144
+-101.414 26.964 3125
+-101.288 26.964 3132
+-101.162 26.964 3189
+-101.036 26.964 3196
+-100.91 26.964 3208
+-100.784 26.964 3197
+-100.658 26.964 3203
+-100.532 26.964 3208
+-100.406 26.964 3214
+-100.28 26.964 3212
+-100.154 26.964 3218
+-100.028 26.964 3207
+-99.902 26.964 3212
+-99.776 26.964 3146
+-99.65 26.964 3149
+-99.524 26.964 3153
+-99.398 26.964 3156
+-99.272 26.964 3160
+-99.146 26.964 3163
+-99.02 26.964 3126
+-98.894 26.964 3251
+-98.768 26.964 3151
+-98.642 26.964 3164
+-98.516 26.964 3166
+-98.39 26.964 3169
+-98.264 26.964 3171
+-98.138 26.964 3173
+-98.012 26.964 3175
+-97.886 26.964 3177
+-97.76 26.964 3180
+-97.634 26.964 3073
+-97.508 26.964 3001
+-97.382 26.964 2998
+-97.256 26.964 2996
+-97.13 26.964 2889
+-97.004 26.964 2895
+-96.878 26.964 2874
+-96.752 26.964 2910
+-96.626 26.964 2897
+-96.5 26.964 2841
+-96.374 26.964 2907
+-96.248 26.964 2899
+-96.122 26.964 3054
+-95.996 26.964 3086
+-95.87 26.964 3088
+-95.744 26.964 3090
+-95.618 26.964 3124
+-95.492 26.964 3125
+-95.366 26.964 3126
+-95.24 26.964 3348
+-95.114 26.964 3347
+-94.988 26.964 3346
+-94.862 26.964 3345
+-94.736 26.964 3343
+-94.61 26.964 3342
+-94.484 26.964 3341
+-94.358 26.964 3339
+-94.232 26.964 3338
+-94.106 26.964 3336
+-93.98 26.964 3334
+-93.854 26.964 3332
+-93.728 26.964 3330
+-93.602 26.964 3328
+-93.476 26.964 3325
+-93.35 26.964 3323
+-93.224 26.964 3488
+-93.098 26.964 3484
+-92.972 26.964 3480
+-92.846 26.964 3475
+-92.72 26.964 3471
+-92.594 26.964 3466
+-92.468 26.964 3460
+-92.342 26.964 3454
+-92.216 26.964 3448
+-92.09 26.964 3441
+-91.964 26.964 3433
+-91.838 26.964 3425
+-91.712 26.964 3455
+-91.586 26.964 3445
+-91.46 26.964 3465
+-91.334 26.964 3451
+-91.208 26.964 3436
+-91.082 26.964 3451
+-90.956 26.964 3432
+-90.83 26.964 3411
+-90.704 26.964 3487
+-90.578 26.964 3461
+-90.452 26.964 3433
+-90.326 26.964 3402
+-90.2 26.964 3368
+-90.074 26.964 3332
+-89.948 26.964 3306
+-89.822 26.964 3334
+-89.696 26.964 3297
+-89.57 26.964 3268
+-89.444 26.964 3250
+-89.318 26.964 3248
+-89.192 26.964 3309
+-89.066 26.964 3358
+-88.94 26.964 3391
+-88.814 26.964 3423
+-88.688 26.964 3416
+-88.562 26.964 3409
+-88.436 26.964 3356
+-88.31 26.964 3352
+-88.184 26.964 3458
+-88.058 26.964 3624
+-87.932 26.964 3759
+-87.806 26.964 3850
+-87.68 26.964 3868
+-87.554 26.964 3828
+-87.428 26.964 3973
+-87.302 26.964 4246
+-87.176 26.964 4463
+-87.05 26.964 4680
+-86.924 26.964 4783
+-86.798 26.964 4899
+-86.672 26.964 5008
+-86.546 26.964 5090
+-86.42 26.964 5135
+-86.294 26.964 5203
+-86.168 26.964 5277
+-86.042 26.964 5448
+-85.916 26.964 5574
+-85.79 26.964 5710
+-85.664 26.964 5813
+-85.538 26.964 6001
+-85.412 26.964 6178
+-85.286 26.964 6224
+-85.16 26.964 6442
+-85.034 26.964 6554
+-84.908 26.964 6693
+-84.782 26.964 6825
+-84.656 26.964 6917
+-84.53 26.964 7099
+-84.404 26.964 7284
+-84.278 26.964 7336
+-84.152 26.964 7540
+-84.026 26.964 7630
+-83.9 26.964 7758
+-83.774 26.964 7882
+-83.648 26.964 7964
+-83.522 26.964 8153
+-83.396 26.964 8242
+-83.27 26.964 8336
+-83.144 26.964 8444
+-83.018 26.964 8556
+-82.892 26.964 8659
+-82.766 26.964 8761
+-82.64 26.964 8866
+-82.514 26.964 8856
+-82.388 26.964 8906
+-82.262 26.964 8947
+-82.136 26.964 8941
+-82.01 26.964 8907
+-81.884 26.964 8900
+-81.758 26.964 8848
+-81.632 26.964 8734
+-81.506 26.964 8674
+-81.38 26.964 8547
+-81.254 26.964 8450
+-81.128 26.964 8372
+-81.002 26.964 8239
+-80.876 26.964 8092
+-80.75 26.964 7942
+-80.624 26.964 7885
+-80.498 26.964 7729
+-80.372 26.964 7679
+-80.246 26.964 7523
+-80.12 26.964 7350
+-79.994 26.964 7238
+-79.868 26.964 7112
+-79.742 26.964 6970
+-79.616 26.964 6834
+-79.49 26.964 6680
+-79.364 26.964 6565
+-79.238 26.964 6449
+-79.112 26.964 6264
+-78.986 26.964 6261
+-78.86 26.964 6159
+-78.734 26.964 5906
+-78.608 26.964 5688
+-78.482 26.964 5654
+-78.356 26.964 5406
+-78.23 26.964 5262
+-78.104 26.964 5122
+-77.978 26.964 4971
+-77.852 26.964 4851
+-77.726 26.964 4816
+-77.6 26.964 4682
+-77.474 26.964 4460
+-77.348 26.964 4468
+-77.222 26.964 4336
+-77.096 26.964 4243
+-76.97 26.964 4027
+-76.844 26.964 3818
+-76.718 26.964 3775
+-76.592 26.964 3602
+-76.466 26.964 3462
+-76.34 26.964 3497
+-76.214 26.964 3512
+-76.088 26.964 3503
+-75.962 26.964 3465
+-75.836 26.964 3418
+-75.71 26.964 3377
+-75.584 26.964 3351
+-75.458 26.964 3342
+-75.332 26.964 3346
+-75.206 26.964 3359
+-75.08 26.964 3377
+-74.954 26.964 3380
+-74.828 26.964 3399
+-74.702 26.964 3418
+-74.576 26.964 3437
+-74.45 26.964 3344
+-74.324 26.964 3361
+-74.198 26.964 3348
+-74.072 26.964 3363
+-73.946 26.964 3376
+-73.82 26.964 3389
+-73.694 26.964 3402
+-73.568 26.964 3326
+-73.442 26.964 3329
+-73.316 26.964 3325
+-73.19 26.964 3328
+-73.064 26.964 3276
+-72.938 26.964 3283
+-72.812 26.964 3289
+-72.686 26.964 3295
+-72.56 26.964 3301
+-72.434 26.964 3274
+-72.308 26.964 3207
+-72.182 26.964 3089
+-72.056 26.964 3031
+-71.93 26.964 3032
+-71.804 26.964 3033
+-71.678 26.964 3017
+-71.552 26.964 3018
+-71.426 26.964 3018
+-71.3 26.964 3018
+-71.174 26.964 3019
+-71.048 26.964 3019
+-70.922 26.964 3020
+-70.796 26.964 3020
+-70.67 26.964 3021
+-70.544 26.964 3021
+-70.418 26.964 3021
+-70.292 26.964 3022
+-70.166 26.964 3022
+-70.04 26.964 3023
+-69.914 26.964 3023
+-69.788 26.964 3023
+-69.662 26.964 3024
+-69.536 26.964 3024
+-69.41 26.964 3025
+-69.284 26.964 3025
+-69.158 26.964 3026
+-69.032 26.964 3026
+-68.906 26.964 3027
+-68.78 26.964 2946
+-68.654 26.964 2946
+-68.528 26.964 2946
+-68.402 26.964 2946
+-68.276 26.964 2946
+-68.15 26.964 2946
+-68.024 26.964 2946
+-67.898 26.964 2946
+-67.772 26.964 2946
+-67.646 26.964 2946
+-67.52 26.964 2946
+-67.394 26.964 2946
+-67.268 26.964 2946
+-67.142 26.964 2947
+-67.016 26.964 2947
+-66.89 26.964 2947
+-66.764 26.964 2947
+-66.638 26.964 2947
+-66.512 26.964 2947
+-66.386 26.964 2947
+-66.26 26.964 2947
+-66.134 26.964 2948
+-66.008 26.964 2948
+-65.882 26.964 2948
+-65.756 26.964 2948
+-65.63 26.964 2948
+-65.504 26.964 2948
+-65.378 26.964 2949
+-65.252 26.964 2949
+-65.126 26.964 2949
+-128 26.912 2998
+-127.874 26.912 2970
+-127.748 26.912 2954
+-127.622 26.912 2985
+-127.496 26.912 2988
+-127.37 26.912 3029
+-127.244 26.912 3032
+-127.118 26.912 2997
+-126.992 26.912 2981
+-126.866 26.912 2995
+-126.74 26.912 2999
+-126.614 26.912 3004
+-126.488 26.912 2973
+-126.362 26.912 3414
+-126.236 26.912 3415
+-126.11 26.912 3414
+-125.984 26.912 3386
+-125.858 26.912 3385
+-125.732 26.912 3370
+-125.606 26.912 3399
+-125.48 26.912 3398
+-125.354 26.912 3459
+-125.228 26.912 3458
+-125.102 26.912 3424
+-124.976 26.912 3442
+-124.85 26.912 3477
+-124.724 26.912 3470
+-124.598 26.912 3498
+-124.472 26.912 3496
+-124.346 26.912 3529
+-124.22 26.912 3508
+-124.094 26.912 3506
+-123.968 26.912 3503
+-123.842 26.912 3533
+-123.716 26.912 3531
+-123.59 26.912 3524
+-123.464 26.912 3531
+-123.338 26.912 3440
+-123.212 26.912 3454
+-123.086 26.912 3438
+-122.96 26.912 3435
+-122.834 26.912 3413
+-122.708 26.912 3467
+-122.582 26.912 3463
+-122.456 26.912 3368
+-122.33 26.912 3385
+-122.204 26.912 3387
+-122.078 26.912 3379
+-121.952 26.912 3402
+-121.826 26.912 3396
+-121.7 26.912 3391
+-121.574 26.912 3318
+-121.448 26.912 3316
+-121.322 26.912 3250
+-121.196 26.912 3255
+-121.07 26.912 3248
+-120.944 26.912 3215
+-120.818 26.912 3210
+-120.692 26.912 3200
+-120.566 26.912 3191
+-120.44 26.912 3172
+-120.314 26.912 3177
+-120.188 26.912 3165
+-120.062 26.912 3121
+-119.936 26.912 3107
+-119.81 26.912 3074
+-119.684 26.912 3087
+-119.558 26.912 3064
+-119.432 26.912 3046
+-119.306 26.912 3019
+-119.18 26.912 3004
+-119.054 26.912 2983
+-118.928 26.912 2960
+-118.802 26.912 2907
+-118.676 26.912 2882
+-118.55 26.912 2914
+-118.424 26.912 2985
+-118.298 26.912 3049
+-118.172 26.912 3101
+-118.046 26.912 3147
+-117.92 26.912 3174
+-117.794 26.912 3187
+-117.668 26.912 3180
+-117.542 26.912 3171
+-117.416 26.912 3174
+-117.29 26.912 3173
+-117.164 26.912 3192
+-117.038 26.912 3188
+-116.912 26.912 3170
+-116.786 26.912 3147
+-116.66 26.912 3102
+-116.534 26.912 3058
+-116.408 26.912 3048
+-116.282 26.912 3068
+-116.156 26.912 3085
+-116.03 26.912 3080
+-115.904 26.912 3056
+-115.778 26.912 2996
+-115.652 26.912 2960
+-115.526 26.912 2984
+-115.4 26.912 3006
+-115.274 26.912 3007
+-115.148 26.912 2971
+-115.022 26.912 2935
+-114.896 26.912 2912
+-114.77 26.912 2888
+-114.644 26.912 2903
+-114.518 26.912 2969
+-114.392 26.912 3046
+-114.266 26.912 3158
+-114.14 26.912 3232
+-114.014 26.912 3294
+-113.888 26.912 3303
+-113.762 26.912 3301
+-113.636 26.912 3295
+-113.51 26.912 3376
+-113.384 26.912 3533
+-113.258 26.912 3676
+-113.132 26.912 3740
+-113.006 26.912 3777
+-112.88 26.912 3805
+-112.754 26.912 3828
+-112.628 26.912 3859
+-112.502 26.912 3914
+-112.376 26.912 3934
+-112.25 26.912 3983
+-112.124 26.912 4064
+-111.998 26.912 4117
+-111.872 26.912 4131
+-111.746 26.912 4181
+-111.62 26.912 4249
+-111.494 26.912 4331
+-111.368 26.912 4370
+-111.242 26.912 4414
+-111.116 26.912 4443
+-110.99 26.912 4464
+-110.864 26.912 4500
+-110.738 26.912 4544
+-110.612 26.912 4508
+-110.486 26.912 4498
+-110.36 26.912 4463
+-110.234 26.912 4432
+-110.108 26.912 4419
+-109.982 26.912 4381
+-109.856 26.912 4374
+-109.73 26.912 4374
+-109.604 26.912 4342
+-109.478 26.912 4315
+-109.352 26.912 4288
+-109.226 26.912 4284
+-109.1 26.912 4271
+-108.974 26.912 4243
+-108.848 26.912 4200
+-108.722 26.912 4110
+-108.596 26.912 4045
+-108.47 26.912 3973
+-108.344 26.912 3936
+-108.218 26.912 3918
+-108.092 26.912 3862
+-107.966 26.912 3761
+-107.84 26.912 3670
+-107.714 26.912 3607
+-107.588 26.912 3524
+-107.462 26.912 3445
+-107.336 26.912 3497
+-107.21 26.912 3506
+-107.084 26.912 3451
+-106.958 26.912 3376
+-106.832 26.912 3300
+-106.706 26.912 3206
+-106.58 26.912 3106
+-106.454 26.912 3016
+-106.328 26.912 2954
+-106.202 26.912 2932
+-106.076 26.912 2909
+-105.95 26.912 2864
+-105.824 26.912 2766
+-105.698 26.912 2600
+-105.572 26.912 2381
+-105.446 26.912 2180
+-105.32 26.912 2100
+-105.194 26.912 2155
+-105.068 26.912 2286
+-104.942 26.912 2434
+-104.816 26.912 2564
+-104.69 26.912 2683
+-104.564 26.912 2778
+-104.438 26.912 2846
+-104.312 26.912 2910
+-104.186 26.912 2973
+-104.06 26.912 3022
+-103.934 26.912 3043
+-103.808 26.912 3062
+-103.682 26.912 3089
+-103.556 26.912 3023
+-103.43 26.912 3044
+-103.304 26.912 3098
+-103.178 26.912 3118
+-103.052 26.912 3097
+-102.926 26.912 3113
+-102.8 26.912 3128
+-102.674 26.912 3123
+-102.548 26.912 3136
+-102.422 26.912 3148
+-102.296 26.912 3158
+-102.17 26.912 3168
+-102.044 26.912 3178
+-101.918 26.912 3187
+-101.792 26.912 3132
+-101.666 26.912 3131
+-101.54 26.912 3137
+-101.414 26.912 3144
+-101.288 26.912 3125
+-101.162 26.912 3131
+-101.036 26.912 3189
+-100.91 26.912 3196
+-100.784 26.912 3208
+-100.658 26.912 3197
+-100.532 26.912 3203
+-100.406 26.912 3208
+-100.28 26.912 3214
+-100.154 26.912 3212
+-100.028 26.912 3217
+-99.902 26.912 3206
+-99.776 26.912 3211
+-99.65 26.912 3145
+-99.524 26.912 3149
+-99.398 26.912 3152
+-99.272 26.912 3155
+-99.146 26.912 3159
+-99.02 26.912 3162
+-98.894 26.912 3125
+-98.768 26.912 3251
+-98.642 26.912 3150
+-98.516 26.912 3163
+-98.39 26.912 3166
+-98.264 26.912 3168
+-98.138 26.912 3171
+-98.012 26.912 3173
+-97.886 26.912 3175
+-97.76 26.912 3177
+-97.634 26.912 3070
+-97.508 26.912 3068
+-97.382 26.912 2996
+-97.256 26.912 2994
+-97.13 26.912 2888
+-97.004 26.912 2894
+-96.878 26.912 2874
+-96.752 26.912 2910
+-96.626 26.912 2898
+-96.5 26.912 2842
+-96.374 26.912 2909
+-96.248 26.912 2902
+-96.122 26.912 3055
+-95.996 26.912 3087
+-95.87 26.912 3089
+-95.744 26.912 3123
+-95.618 26.912 3124
+-95.492 26.912 3125
+-95.366 26.912 3348
+-95.24 26.912 3347
+-95.114 26.912 3346
+-94.988 26.912 3345
+-94.862 26.912 3344
+-94.736 26.912 3343
+-94.61 26.912 3341
+-94.484 26.912 3340
+-94.358 26.912 3338
+-94.232 26.912 3337
+-94.106 26.912 3335
+-93.98 26.912 3333
+-93.854 26.912 3331
+-93.728 26.912 3329
+-93.602 26.912 3327
+-93.476 26.912 3325
+-93.35 26.912 3490
+-93.224 26.912 3487
+-93.098 26.912 3483
+-92.972 26.912 3479
+-92.846 26.912 3475
+-92.72 26.912 3470
+-92.594 26.912 3465
+-92.468 26.912 3460
+-92.342 26.912 3454
+-92.216 26.912 3448
+-92.09 26.912 3442
+-91.964 26.912 3434
+-91.838 26.912 3466
+-91.712 26.912 3457
+-91.586 26.912 3446
+-91.46 26.912 3437
+-91.334 26.912 3456
+-91.208 26.912 3474
+-91.082 26.912 3459
+-90.956 26.912 3442
+-90.83 26.912 3423
+-90.704 26.912 3403
+-90.578 26.912 3488
+-90.452 26.912 3464
+-90.326 26.912 3439
+-90.2 26.912 3412
+-90.074 26.912 3391
+-89.948 26.912 3431
+-89.822 26.912 3404
+-89.696 26.912 3380
+-89.57 26.912 3362
+-89.444 26.912 3354
+-89.318 26.912 3356
+-89.192 26.912 3369
+-89.066 26.912 3440
+-88.94 26.912 3494
+-88.814 26.912 3507
+-88.688 26.912 3547
+-88.562 26.912 3535
+-88.436 26.912 3527
+-88.31 26.912 3553
+-88.184 26.912 3624
+-88.058 26.912 3714
+-87.932 26.912 3815
+-87.806 26.912 3845
+-87.68 26.912 3792
+-87.554 26.912 3690
+-87.428 26.912 3869
+-87.302 26.912 4180
+-87.176 26.912 4409
+-87.05 26.912 4608
+-86.924 26.912 4719
+-86.798 26.912 4825
+-86.672 26.912 4944
+-86.546 26.912 5058
+-86.42 26.912 5085
+-86.294 26.912 5163
+-86.168 26.912 5257
+-86.042 26.912 5440
+-85.916 26.912 5553
+-85.79 26.912 5716
+-85.664 26.912 5861
+-85.538 26.912 6004
+-85.412 26.912 6104
+-85.286 26.912 6259
+-85.16 26.912 6452
+-85.034 26.912 6596
+-84.908 26.912 6653
+-84.782 26.912 6796
+-84.656 26.912 6897
+-84.53 26.912 7083
+-84.404 26.912 7258
+-84.278 26.912 7339
+-84.152 26.912 7476
+-84.026 26.912 7621
+-83.9 26.912 7754
+-83.774 26.912 7808
+-83.648 26.912 7968
+-83.522 26.912 8065
+-83.396 26.912 8203
+-83.27 26.912 8385
+-83.144 26.912 8379
+-83.018 26.912 8508
+-82.892 26.912 8626
+-82.766 26.912 8701
+-82.64 26.912 8763
+-82.514 26.912 8852
+-82.388 26.912 8832
+-82.262 26.912 8863
+-82.136 26.912 8906
+-82.01 26.912 8865
+-81.884 26.912 8828
+-81.758 26.912 8760
+-81.632 26.912 8732
+-81.506 26.912 8637
+-81.38 26.912 8548
+-81.254 26.912 8457
+-81.128 26.912 8302
+-81.002 26.912 8162
+-80.876 26.912 8066
+-80.75 26.912 7932
+-80.624 26.912 7863
+-80.498 26.912 7750
+-80.372 26.912 7650
+-80.246 26.912 7536
+-80.12 26.912 7337
+-79.994 26.912 7153
+-79.868 26.912 7013
+-79.742 26.912 6943
+-79.616 26.912 6858
+-79.49 26.912 6708
+-79.364 26.912 6554
+-79.238 26.912 6404
+-79.112 26.912 6278
+-78.986 26.912 6113
+-78.86 26.912 6170
+-78.734 26.912 5987
+-78.608 26.912 5824
+-78.482 26.912 5689
+-78.356 26.912 5478
+-78.23 26.912 5230
+-78.104 26.912 5103
+-77.978 26.912 4960
+-77.852 26.912 4854
+-77.726 26.912 4783
+-77.6 26.912 4708
+-77.474 26.912 4570
+-77.348 26.912 4504
+-77.222 26.912 4400
+-77.096 26.912 4210
+-76.97 26.912 3902
+-76.844 26.912 3690
+-76.718 26.912 3738
+-76.592 26.912 3518
+-76.466 26.912 3326
+-76.34 26.912 3427
+-76.214 26.912 3520
+-76.088 26.912 3485
+-75.962 26.912 3427
+-75.836 26.912 3354
+-75.71 26.912 3296
+-75.584 26.912 3269
+-75.458 26.912 3274
+-75.332 26.912 3297
+-75.206 26.912 3328
+-75.08 26.912 3359
+-74.954 26.912 3389
+-74.828 26.912 3416
+-74.702 26.912 3440
+-74.576 26.912 3437
+-74.45 26.912 3456
+-74.324 26.912 3340
+-74.198 26.912 3355
+-74.072 26.912 3370
+-73.946 26.912 3384
+-73.82 26.912 3396
+-73.694 26.912 3408
+-73.568 26.912 3394
+-73.442 26.912 3341
+-73.316 26.912 3342
+-73.19 26.912 3337
+-73.064 26.912 3337
+-72.938 26.912 3286
+-72.812 26.912 3292
+-72.686 26.912 3298
+-72.56 26.912 3304
+-72.434 26.912 3187
+-72.308 26.912 3111
+-72.182 26.912 3085
+-72.056 26.912 3025
+-71.93 26.912 3026
+-71.804 26.912 3027
+-71.678 26.912 3027
+-71.552 26.912 3012
+-71.426 26.912 3012
+-71.3 26.912 3012
+-71.174 26.912 3013
+-71.048 26.912 3013
+-70.922 26.912 3014
+-70.796 26.912 3014
+-70.67 26.912 3015
+-70.544 26.912 3015
+-70.418 26.912 3016
+-70.292 26.912 3016
+-70.166 26.912 3017
+-70.04 26.912 3017
+-69.914 26.912 3018
+-69.788 26.912 3018
+-69.662 26.912 3019
+-69.536 26.912 3019
+-69.41 26.912 3020
+-69.284 26.912 3020
+-69.158 26.912 3021
+-69.032 26.912 3021
+-68.906 26.912 3022
+-68.78 26.912 3023
+-68.654 26.912 2941
+-68.528 26.912 2941
+-68.402 26.912 2941
+-68.276 26.912 2942
+-68.15 26.912 2942
+-68.024 26.912 2942
+-67.898 26.912 2942
+-67.772 26.912 2942
+-67.646 26.912 2942
+-67.52 26.912 2942
+-67.394 26.912 2942
+-67.268 26.912 2943
+-67.142 26.912 2943
+-67.016 26.912 2943
+-66.89 26.912 2943
+-66.764 26.912 2943
+-66.638 26.912 2944
+-66.512 26.912 2944
+-66.386 26.912 2944
+-66.26 26.912 2944
+-66.134 26.912 2944
+-66.008 26.912 2945
+-65.882 26.912 2945
+-65.756 26.912 2945
+-65.63 26.912 2945
+-65.504 26.912 2946
+-65.378 26.912 2946
+-65.252 26.912 2946
+-65.126 26.912 2946
+-128 26.86 2972
+-127.874 26.86 2956
+-127.748 26.86 2988
+-127.622 26.86 2990
+-127.496 26.86 3032
+-127.37 26.86 3034
+-127.244 26.86 2998
+-127.118 26.86 2982
+-126.992 26.86 2996
+-126.866 26.86 3000
+-126.74 26.86 3004
+-126.614 26.86 2972
+-126.488 26.86 3416
+-126.362 26.86 3416
+-126.236 26.86 3415
+-126.11 26.86 3387
+-125.984 26.86 3386
+-125.858 26.86 3371
+-125.732 26.86 3400
+-125.606 26.86 3399
+-125.48 26.86 3461
+-125.354 26.86 3459
+-125.228 26.86 3426
+-125.102 26.86 3444
+-124.976 26.86 3479
+-124.85 26.86 3472
+-124.724 26.86 3501
+-124.598 26.86 3499
+-124.472 26.86 3532
+-124.346 26.86 3511
+-124.22 26.86 3509
+-124.094 26.86 3507
+-123.968 26.86 3537
+-123.842 26.86 3535
+-123.716 26.86 3528
+-123.59 26.86 3535
+-123.464 26.86 3442
+-123.338 26.86 3457
+-123.212 26.86 3441
+-123.086 26.86 3437
+-122.96 26.86 3415
+-122.834 26.86 3470
+-122.708 26.86 3466
+-122.582 26.86 3369
+-122.456 26.86 3388
+-122.33 26.86 3389
+-122.204 26.86 3381
+-122.078 26.86 3405
+-121.952 26.86 3399
+-121.826 26.86 3394
+-121.7 26.86 3318
+-121.574 26.86 3316
+-121.448 26.86 3248
+-121.322 26.86 3252
+-121.196 26.86 3245
+-121.07 26.86 3211
+-120.944 26.86 3207
+-120.818 26.86 3195
+-120.692 26.86 3185
+-120.566 26.86 3165
+-120.44 26.86 3170
+-120.314 26.86 3156
+-120.188 26.86 3110
+-120.062 26.86 3094
+-119.936 26.86 3058
+-119.81 26.86 3067
+-119.684 26.86 3039
+-119.558 26.86 3017
+-119.432 26.86 2986
+-119.306 26.86 2972
+-119.18 26.86 2960
+-119.054 26.86 2948
+-118.928 26.86 2933
+-118.802 26.86 2912
+-118.676 26.86 2902
+-118.55 26.86 2924
+-118.424 26.86 2968
+-118.298 26.86 3015
+-118.172 26.86 3053
+-118.046 26.86 3095
+-117.92 26.86 3119
+-117.794 26.86 3121
+-117.668 26.86 3113
+-117.542 26.86 3106
+-117.416 26.86 3095
+-117.29 26.86 3107
+-117.164 26.86 3122
+-117.038 26.86 3141
+-116.912 26.86 3132
+-116.786 26.86 3106
+-116.66 26.86 3058
+-116.534 26.86 3029
+-116.408 26.86 3027
+-116.282 26.86 3034
+-116.156 26.86 3068
+-116.03 26.86 3065
+-115.904 26.86 3044
+-115.778 26.86 3008
+-115.652 26.86 2981
+-115.526 26.86 2986
+-115.4 26.86 2985
+-115.274 26.86 2956
+-115.148 26.86 2915
+-115.022 26.86 2861
+-114.896 26.86 2812
+-114.77 26.86 2744
+-114.644 26.86 2744
+-114.518 26.86 2813
+-114.392 26.86 2928
+-114.266 26.86 3072
+-114.14 26.86 3180
+-114.014 26.86 3268
+-113.888 26.86 3310
+-113.762 26.86 3322
+-113.636 26.86 3329
+-113.51 26.86 3385
+-113.384 26.86 3517
+-113.258 26.86 3649
+-113.132 26.86 3704
+-113.006 26.86 3739
+-112.88 26.86 3750
+-112.754 26.86 3765
+-112.628 26.86 3813
+-112.502 26.86 3883
+-112.376 26.86 3899
+-112.25 26.86 3932
+-112.124 26.86 3997
+-111.998 26.86 4030
+-111.872 26.86 4056
+-111.746 26.86 4118
+-111.62 26.86 4174
+-111.494 26.86 4230
+-111.368 26.86 4300
+-111.242 26.86 4362
+-111.116 26.86 4393
+-110.99 26.86 4408
+-110.864 26.86 4459
+-110.738 26.86 4456
+-110.612 26.86 4441
+-110.486 26.86 4407
+-110.36 26.86 4381
+-110.234 26.86 4360
+-110.108 26.86 4337
+-109.982 26.86 4332
+-109.856 26.86 4319
+-109.73 26.86 4313
+-109.604 26.86 4293
+-109.478 26.86 4261
+-109.352 26.86 4242
+-109.226 26.86 4238
+-109.1 26.86 4217
+-108.974 26.86 4165
+-108.848 26.86 4121
+-108.722 26.86 4049
+-108.596 26.86 3992
+-108.47 26.86 3941
+-108.344 26.86 3896
+-108.218 26.86 3833
+-108.092 26.86 3773
+-107.966 26.86 3678
+-107.84 26.86 3616
+-107.714 26.86 3598
+-107.588 26.86 3541
+-107.462 26.86 3491
+-107.336 26.86 3490
+-107.21 26.86 3473
+-107.084 26.86 3393
+-106.958 26.86 3332
+-106.832 26.86 3235
+-106.706 26.86 3136
+-106.58 26.86 3009
+-106.454 26.86 2884
+-106.328 26.86 2813
+-106.202 26.86 2812
+-106.076 26.86 2840
+-105.95 26.86 2834
+-105.824 26.86 2775
+-105.698 26.86 2654
+-105.572 26.86 2492
+-105.446 26.86 2344
+-105.32 26.86 2271
+-105.194 26.86 2297
+-105.068 26.86 2386
+-104.942 26.86 2497
+-104.816 26.86 2606
+-104.69 26.86 2697
+-104.564 26.86 2786
+-104.438 26.86 2858
+-104.312 26.86 2907
+-104.186 26.86 2959
+-104.06 26.86 3012
+-103.934 26.86 3054
+-103.808 26.86 3068
+-103.682 26.86 3082
+-103.556 26.86 3107
+-103.43 26.86 3035
+-103.304 26.86 3054
+-103.178 26.86 3107
+-103.052 26.86 3126
+-102.926 26.86 3103
+-102.8 26.86 3118
+-102.674 26.86 3133
+-102.548 26.86 3127
+-102.422 26.86 3139
+-102.296 26.86 3150
+-102.17 26.86 3160
+-102.044 26.86 3170
+-101.918 26.86 3179
+-101.792 26.86 3187
+-101.666 26.86 3132
+-101.54 26.86 3131
+-101.414 26.86 3138
+-101.288 26.86 3144
+-101.162 26.86 3125
+-101.036 26.86 3131
+-100.91 26.86 3190
+-100.784 26.86 3196
+-100.658 26.86 3208
+-100.532 26.86 3197
+-100.406 26.86 3203
+-100.28 26.86 3208
+-100.154 26.86 3214
+-100.028 26.86 3212
+-99.902 26.86 3217
+-99.776 26.86 3206
+-99.65 26.86 3211
+-99.524 26.86 3144
+-99.398 26.86 3148
+-99.272 26.86 3151
+-99.146 26.86 3155
+-99.02 26.86 3158
+-98.894 26.86 3161
+-98.768 26.86 3124
+-98.642 26.86 3251
+-98.516 26.86 3150
+-98.39 26.86 3163
+-98.264 26.86 3166
+-98.138 26.86 3168
+-98.012 26.86 3171
+-97.886 26.86 3173
+-97.76 26.86 3175
+-97.634 26.86 3068
+-97.508 26.86 3066
+-97.382 26.86 3064
+-97.256 26.86 2992
+-97.13 26.86 2888
+-97.004 26.86 2893
+-96.878 26.86 2873
+-96.752 26.86 2911
+-96.626 26.86 2898
+-96.5 26.86 2843
+-96.374 26.86 2911
+-96.248 26.86 3053
+-96.122 26.86 3056
+-95.996 26.86 3088
+-95.87 26.86 3122
+-95.744 26.86 3123
+-95.618 26.86 3125
+-95.492 26.86 3348
+-95.366 26.86 3347
+-95.24 26.86 3346
+-95.114 26.86 3345
+-94.988 26.86 3344
+-94.862 26.86 3343
+-94.736 26.86 3342
+-94.61 26.86 3340
+-94.484 26.86 3339
+-94.358 26.86 3337
+-94.232 26.86 3336
+-94.106 26.86 3334
+-93.98 26.86 3332
+-93.854 26.86 3330
+-93.728 26.86 3328
+-93.602 26.86 3326
+-93.476 26.86 3493
+-93.35 26.86 3490
+-93.224 26.86 3486
+-93.098 26.86 3483
+-92.972 26.86 3479
+-92.846 26.86 3475
+-92.72 26.86 3470
+-92.594 26.86 3466
+-92.468 26.86 3460
+-92.342 26.86 3455
+-92.216 26.86 3449
+-92.09 26.86 3443
+-91.964 26.86 3476
+-91.838 26.86 3468
+-91.712 26.86 3459
+-91.586 26.86 3449
+-91.46 26.86 3442
+-91.334 26.86 3431
+-91.208 26.86 3442
+-91.082 26.86 3468
+-90.956 26.86 3453
+-90.83 26.86 3437
+-90.704 26.86 3419
+-90.578 26.86 3401
+-90.452 26.86 3491
+-90.326 26.86 3470
+-90.2 26.86 3457
+-90.074 26.86 3506
+-89.948 26.86 3485
+-89.822 26.86 3466
+-89.696 26.86 3451
+-89.57 26.86 3441
+-89.444 26.86 3438
+-89.318 26.86 3442
+-89.192 26.86 3507
+-89.066 26.86 3523
+-88.94 26.86 3540
+-88.814 26.86 3604
+-88.688 26.86 3638
+-88.562 26.86 3643
+-88.436 26.86 3656
+-88.31 26.86 3684
+-88.184 26.86 3727
+-88.058 26.86 3802
+-87.932 26.86 3831
+-87.806 26.86 3812
+-87.68 26.86 3812
+-87.554 26.86 3810
+-87.428 26.86 3954
+-87.302 26.86 4198
+-87.176 26.86 4393
+-87.05 26.86 4569
+-86.924 26.86 4658
+-86.798 26.86 4699
+-86.672 26.86 4840
+-86.546 26.86 4958
+-86.42 26.86 5069
+-86.294 26.86 5091
+-86.168 26.86 5237
+-86.042 26.86 5466
+-85.916 26.86 5511
+-85.79 26.86 5690
+-85.664 26.86 5863
+-85.538 26.86 5931
+-85.412 26.86 6092
+-85.286 26.86 6232
+-85.16 26.86 6424
+-85.034 26.86 6572
+-84.908 26.86 6602
+-84.782 26.86 6751
+-84.656 26.86 6914
+-84.53 26.86 7078
+-84.404 26.86 7170
+-84.278 26.86 7316
+-84.152 26.86 7467
+-84.026 26.86 7553
+-83.9 26.86 7645
+-83.774 26.86 7810
+-83.648 26.86 7951
+-83.522 26.86 8068
+-83.396 26.86 8158
+-83.27 26.86 8272
+-83.144 26.86 8341
+-83.018 26.86 8463
+-82.892 26.86 8546
+-82.766 26.86 8630
+-82.64 26.86 8692
+-82.514 26.86 8778
+-82.388 26.86 8825
+-82.262 26.86 8793
+-82.136 26.86 8803
+-82.01 26.86 8778
+-81.884 26.86 8762
+-81.758 26.86 8719
+-81.632 26.86 8635
+-81.506 26.86 8561
+-81.38 26.86 8452
+-81.254 26.86 8390
+-81.128 26.86 8227
+-81.002 26.86 8176
+-80.876 26.86 8083
+-80.75 26.86 7921
+-80.624 26.86 7844
+-80.498 26.86 7710
+-80.372 26.86 7574
+-80.246 26.86 7513
+-80.12 26.86 7326
+-79.994 26.86 7131
+-79.868 26.86 7078
+-79.742 26.86 6935
+-79.616 26.86 6777
+-79.49 26.86 6704
+-79.364 26.86 6472
+-79.238 26.86 6439
+-79.112 26.86 6357
+-78.986 26.86 6252
+-78.86 26.86 6207
+-78.734 26.86 6047
+-78.608 26.86 5919
+-78.482 26.86 5729
+-78.356 26.86 5464
+-78.23 26.86 5220
+-78.104 26.86 5117
+-77.978 26.86 4976
+-77.852 26.86 4825
+-77.726 26.86 4761
+-77.6 26.86 4726
+-77.474 26.86 4625
+-77.348 26.86 4547
+-77.222 26.86 4439
+-77.096 26.86 4246
+-76.97 26.86 3997
+-76.844 26.86 3812
+-76.718 26.86 3779
+-76.592 26.86 3620
+-76.466 26.86 3465
+-76.34 26.86 3489
+-76.214 26.86 3527
+-76.088 26.86 3451
+-75.962 26.86 3343
+-75.836 26.86 3218
+-75.71 26.86 3134
+-75.584 26.86 3120
+-75.458 26.86 3158
+-75.332 26.86 3218
+-75.206 26.86 3278
+-75.08 26.86 3330
+-74.954 26.86 3374
+-74.828 26.86 3411
+-74.702 26.86 3441
+-74.576 26.86 3467
+-74.45 26.86 3464
+-74.324 26.86 3483
+-74.198 26.86 3362
+-74.072 26.86 3377
+-73.946 26.86 3368
+-73.82 26.86 3380
+-73.694 26.86 3390
+-73.568 26.86 3400
+-73.442 26.86 3410
+-73.316 26.86 3354
+-73.19 26.86 3355
+-73.064 26.86 3348
+-72.938 26.86 3348
+-72.812 26.86 3296
+-72.686 26.86 3301
+-72.56 26.86 3184
+-72.434 26.86 3096
+-72.308 26.86 3097
+-72.182 26.86 3108
+-72.056 26.86 3081
+-71.93 26.86 3020
+-71.804 26.86 3020
+-71.678 26.86 3021
+-71.552 26.86 3022
+-71.426 26.86 3006
+-71.3 26.86 3006
+-71.174 26.86 3007
+-71.048 26.86 3007
+-70.922 26.86 3008
+-70.796 26.86 3008
+-70.67 26.86 3009
+-70.544 26.86 3009
+-70.418 26.86 3010
+-70.292 26.86 3010
+-70.166 26.86 3011
+-70.04 26.86 3012
+-69.914 26.86 3012
+-69.788 26.86 3013
+-69.662 26.86 3013
+-69.536 26.86 3014
+-69.41 26.86 3015
+-69.284 26.86 3015
+-69.158 26.86 3016
+-69.032 26.86 3017
+-68.906 26.86 3017
+-68.78 26.86 3018
+-68.654 26.86 3019
+-68.528 26.86 2937
+-68.402 26.86 2937
+-68.276 26.86 2937
+-68.15 26.86 2937
+-68.024 26.86 2937
+-67.898 26.86 2937
+-67.772 26.86 2938
+-67.646 26.86 2938
+-67.52 26.86 2938
+-67.394 26.86 2938
+-67.268 26.86 2939
+-67.142 26.86 2939
+-67.016 26.86 2939
+-66.89 26.86 2939
+-66.764 26.86 2940
+-66.638 26.86 2940
+-66.512 26.86 2940
+-66.386 26.86 2941
+-66.26 26.86 2941
+-66.134 26.86 2941
+-66.008 26.86 2941
+-65.882 26.86 2942
+-65.756 26.86 2942
+-65.63 26.86 2942
+-65.504 26.86 2943
+-65.378 26.86 2943
+-65.252 26.86 2943
+-65.126 26.86 2943
+-128 26.808 2959
+-127.874 26.808 2990
+-127.748 26.808 2992
+-127.622 26.808 3034
+-127.496 26.808 3036
+-127.37 26.808 2999
+-127.244 26.808 2983
+-127.118 26.808 2997
+-126.992 26.808 3000
+-126.866 26.808 3004
+-126.74 26.808 2972
+-126.614 26.808 3417
+-126.488 26.808 3417
+-126.362 26.808 3416
+-126.236 26.808 3388
+-126.11 26.808 3387
+-125.984 26.808 3371
+-125.858 26.808 3401
+-125.732 26.808 3400
+-125.606 26.808 3462
+-125.48 26.808 3461
+-125.354 26.808 3427
+-125.228 26.808 3445
+-125.102 26.808 3481
+-124.976 26.808 3474
+-124.85 26.808 3503
+-124.724 26.808 3501
+-124.598 26.808 3535
+-124.472 26.808 3514
+-124.346 26.808 3512
+-124.22 26.808 3510
+-124.094 26.808 3541
+-123.968 26.808 3538
+-123.842 26.808 3532
+-123.716 26.808 3540
+-123.59 26.808 3436
+-123.464 26.808 3460
+-123.338 26.808 3341
+-123.212 26.808 3440
+-123.086 26.808 3417
+-122.96 26.808 3473
+-122.834 26.808 3469
+-122.708 26.808 3371
+-122.582 26.808 3390
+-122.456 26.808 3391
+-122.33 26.808 3383
+-122.204 26.808 3408
+-122.078 26.808 3402
+-121.952 26.808 3397
+-121.826 26.808 3319
+-121.7 26.808 3317
+-121.574 26.808 3246
+-121.448 26.808 3251
+-121.322 26.808 3244
+-121.196 26.808 3209
+-121.07 26.808 3204
+-120.944 26.808 3192
+-120.818 26.808 3182
+-120.692 26.808 3161
+-120.566 26.808 3165
+-120.44 26.808 3150
+-120.314 26.808 3103
+-120.188 26.808 3085
+-120.062 26.808 3048
+-119.936 26.808 3053
+-119.81 26.808 3021
+-119.684 26.808 2994
+-119.558 26.808 2954
+-119.432 26.808 2932
+-119.306 26.808 2914
+-119.18 26.808 2903
+-119.054 26.808 2901
+-118.928 26.808 2904
+-118.802 26.808 2909
+-118.676 26.808 2905
+-118.55 26.808 2919
+-118.424 26.808 2936
+-118.298 26.808 2976
+-118.172 26.808 2978
+-118.046 26.808 3003
+-117.92 26.808 3030
+-117.794 26.808 3034
+-117.668 26.808 3029
+-117.542 26.808 3019
+-117.416 26.808 3013
+-117.29 26.808 3029
+-117.164 26.808 3060
+-117.038 26.808 3087
+-116.912 26.808 3102
+-116.786 26.808 3074
+-116.66 26.808 3040
+-116.534 26.808 3002
+-116.408 26.808 2964
+-116.282 26.808 3006
+-116.156 26.808 3037
+-116.03 26.808 3049
+-115.904 26.808 3037
+-115.778 26.808 3015
+-115.652 26.808 2993
+-115.526 26.808 2978
+-115.4 26.808 2959
+-115.274 26.808 2911
+-115.148 26.808 2854
+-115.022 26.808 2790
+-114.896 26.808 2705
+-114.77 26.808 2609
+-114.644 26.808 2567
+-114.518 26.808 2642
+-114.392 26.808 2811
+-114.266 26.808 2985
+-114.14 26.808 3118
+-114.014 26.808 3229
+-113.888 26.808 3296
+-113.762 26.808 3324
+-113.636 26.808 3353
+-113.51 26.808 3395
+-113.384 26.808 3504
+-113.258 26.808 3599
+-113.132 26.808 3669
+-113.006 26.808 3689
+-112.88 26.808 3685
+-112.754 26.808 3678
+-112.628 26.808 3747
+-112.502 26.808 3838
+-112.376 26.808 3890
+-112.25 26.808 3921
+-112.124 26.808 3960
+-111.998 26.808 3967
+-111.872 26.808 3980
+-111.746 26.808 4022
+-111.62 26.808 4083
+-111.494 26.808 4123
+-111.368 26.808 4182
+-111.242 26.808 4222
+-111.116 26.808 4255
+-110.99 26.808 4294
+-110.864 26.808 4348
+-110.738 26.808 4333
+-110.612 26.808 4327
+-110.486 26.808 4325
+-110.36 26.808 4325
+-110.234 26.808 4301
+-110.108 26.808 4274
+-109.982 26.808 4254
+-109.856 26.808 4253
+-109.73 26.808 4232
+-109.604 26.808 4218
+-109.478 26.808 4204
+-109.352 26.808 4210
+-109.226 26.808 4192
+-109.1 26.808 4150
+-108.974 26.808 4105
+-108.848 26.808 4064
+-108.722 26.808 4001
+-108.596 26.808 3954
+-108.47 26.808 3904
+-108.344 26.808 3828
+-108.218 26.808 3766
+-108.092 26.808 3694
+-107.966 26.808 3624
+-107.84 26.808 3588
+-107.714 26.808 3588
+-107.588 26.808 3547
+-107.462 26.808 3509
+-107.336 26.808 3482
+-107.21 26.808 3429
+-107.084 26.808 3329
+-106.958 26.808 3244
+-106.832 26.808 3163
+-106.706 26.808 3064
+-106.58 26.808 2910
+-106.454 26.808 2735
+-106.328 26.808 2651
+-106.202 26.808 2692
+-106.076 26.808 2768
+-105.95 26.808 2811
+-105.824 26.808 2790
+-105.698 26.808 2717
+-105.572 26.808 2612
+-105.446 26.808 2511
+-105.32 26.808 2456
+-105.194 26.808 2456
+-105.068 26.808 2507
+-104.942 26.808 2581
+-104.816 26.808 2660
+-104.69 26.808 2737
+-104.564 26.808 2799
+-104.438 26.808 2868
+-104.312 26.808 2923
+-104.186 26.808 2958
+-104.06 26.808 3000
+-103.934 26.808 3047
+-103.808 26.808 3083
+-103.682 26.808 3091
+-103.556 26.808 3101
+-103.43 26.808 3123
+-103.304 26.808 3046
+-103.178 26.808 3064
+-103.052 26.808 3116
+-102.926 26.808 3133
+-102.8 26.808 3109
+-102.674 26.808 3124
+-102.548 26.808 3137
+-102.422 26.808 3130
+-102.296 26.808 3142
+-102.17 26.808 3153
+-102.044 26.808 3163
+-101.918 26.808 3172
+-101.792 26.808 3181
+-101.666 26.808 3189
+-101.54 26.808 3133
+-101.414 26.808 3132
+-101.288 26.808 3138
+-101.162 26.808 3144
+-101.036 26.808 3126
+-100.91 26.808 3132
+-100.784 26.808 3190
+-100.658 26.808 3197
+-100.532 26.808 3209
+-100.406 26.808 3197
+-100.28 26.808 3203
+-100.154 26.808 3209
+-100.028 26.808 3214
+-99.902 26.808 3212
+-99.776 26.808 3218
+-99.65 26.808 3207
+-99.524 26.808 3211
+-99.398 26.808 3144
+-99.272 26.808 3147
+-99.146 26.808 3151
+-99.02 26.808 3154
+-98.894 26.808 3157
+-98.768 26.808 3160
+-98.642 26.808 3123
+-98.516 26.808 3250
+-98.39 26.808 3150
+-98.264 26.808 3163
+-98.138 26.808 3166
+-98.012 26.808 3168
+-97.886 26.808 3171
+-97.76 26.808 3173
+-97.634 26.808 3065
+-97.508 26.808 3063
+-97.382 26.808 3062
+-97.256 26.808 3059
+-97.13 26.808 2960
+-97.004 26.808 2894
+-96.878 26.808 2872
+-96.752 26.808 2911
+-96.626 26.808 2899
+-96.5 26.808 2844
+-96.374 26.808 2945
+-96.248 26.808 3054
+-96.122 26.808 3057
+-95.996 26.808 3121
+-95.87 26.808 3122
+-95.744 26.808 3124
+-95.618 26.808 3349
+-95.492 26.808 3348
+-95.366 26.808 3347
+-95.24 26.808 3346
+-95.114 26.808 3345
+-94.988 26.808 3343
+-94.862 26.808 3342
+-94.736 26.808 3341
+-94.61 26.808 3340
+-94.484 26.808 3338
+-94.358 26.808 3337
+-94.232 26.808 3335
+-94.106 26.808 3333
+-93.98 26.808 3332
+-93.854 26.808 3330
+-93.728 26.808 3328
+-93.602 26.808 3463
+-93.476 26.808 3461
+-93.35 26.808 3458
+-93.224 26.808 3455
+-93.098 26.808 3452
+-92.972 26.808 3448
+-92.846 26.808 3445
+-92.72 26.808 3441
+-92.594 26.808 3437
+-92.468 26.808 3433
+-92.342 26.808 3428
+-92.216 26.808 3423
+-92.09 26.808 3455
+-91.964 26.808 3448
+-91.838 26.808 3441
+-91.712 26.808 3461
+-91.586 26.808 3456
+-91.46 26.808 3447
+-91.334 26.808 3461
+-91.208 26.808 3450
+-91.082 26.808 3439
+-90.956 26.808 3464
+-90.83 26.808 3450
+-90.704 26.808 3435
+-90.578 26.808 3505
+-90.452 26.808 3490
+-90.326 26.808 3488
+-90.2 26.808 3491
+-90.074 26.808 3475
+-89.948 26.808 3534
+-89.822 26.808 3521
+-89.696 26.808 3512
+-89.57 26.808 3507
+-89.444 26.808 3507
+-89.318 26.808 3560
+-89.192 26.808 3580
+-89.066 26.808 3594
+-88.94 26.808 3601
+-88.814 26.808 3616
+-88.688 26.808 3689
+-88.562 26.808 3729
+-88.436 26.808 3746
+-88.31 26.808 3767
+-88.184 26.808 3820
+-88.058 26.808 3847
+-87.932 26.808 3806
+-87.806 26.808 3722
+-87.68 26.808 3680
+-87.554 26.808 3813
+-87.428 26.808 4024
+-87.302 26.808 4214
+-87.176 26.808 4371
+-87.05 26.808 4538
+-86.924 26.808 4611
+-86.798 26.808 4559
+-86.672 26.808 4761
+-86.546 26.808 4818
+-86.42 26.808 5000
+-86.294 26.808 5138
+-86.168 26.808 5261
+-86.042 26.808 5472
+-85.916 26.808 5596
+-85.79 26.808 5674
+-85.664 26.808 5832
+-85.538 26.808 5959
+-85.412 26.808 6097
+-85.286 26.808 6188
+-85.16 26.808 6358
+-85.034 26.808 6528
+-84.908 26.808 6659
+-84.782 26.808 6813
+-84.656 26.808 6913
+-84.53 26.808 7047
+-84.404 26.808 7157
+-84.278 26.808 7272
+-84.152 26.808 7382
+-84.026 26.808 7544
+-83.9 26.808 7614
+-83.774 26.808 7767
+-83.648 26.808 7894
+-83.522 26.808 8047
+-83.396 26.808 8134
+-83.27 26.808 8238
+-83.144 26.808 8354
+-83.018 26.808 8477
+-82.892 26.808 8528
+-82.766 26.808 8580
+-82.64 26.808 8648
+-82.514 26.808 8709
+-82.388 26.808 8734
+-82.262 26.808 8794
+-82.136 26.808 8762
+-82.01 26.808 8755
+-81.884 26.808 8712
+-81.758 26.808 8657
+-81.632 26.808 8625
+-81.506 26.808 8547
+-81.38 26.808 8433
+-81.254 26.808 8307
+-81.128 26.808 8238
+-81.002 26.808 8165
+-80.876 26.808 8010
+-80.75 26.808 7911
+-80.624 26.808 7852
+-80.498 26.808 7688
+-80.372 26.808 7516
+-80.246 26.808 7453
+-80.12 26.808 7322
+-79.994 26.808 7117
+-79.868 26.808 7042
+-79.742 26.808 6905
+-79.616 26.808 6736
+-79.49 26.808 6636
+-79.364 26.808 6510
+-79.238 26.808 6397
+-79.112 26.808 6339
+-78.986 26.808 6261
+-78.86 26.808 6192
+-78.734 26.808 6047
+-78.608 26.808 5927
+-78.482 26.808 5724
+-78.356 26.808 5444
+-78.23 26.808 5200
+-78.104 26.808 5154
+-77.978 26.808 5010
+-77.852 26.808 4840
+-77.726 26.808 4760
+-77.6 26.808 4708
+-77.474 26.808 4624
+-77.348 26.808 4551
+-77.222 26.808 4464
+-77.096 26.808 4308
+-76.97 26.808 4156
+-76.844 26.808 3974
+-76.718 26.808 3878
+-76.592 26.808 3769
+-76.466 26.808 3671
+-76.34 26.808 3610
+-76.214 26.808 3542
+-76.088 26.808 3428
+-75.962 26.808 3201
+-75.836 26.808 2992
+-75.71 26.808 2876
+-75.584 26.808 2899
+-75.458 26.808 3003
+-75.332 26.808 3120
+-75.206 26.808 3219
+-75.08 26.808 3298
+-74.954 26.808 3358
+-74.828 26.808 3405
+-74.702 26.808 3442
+-74.576 26.808 3472
+-74.45 26.808 3497
+-74.324 26.808 3518
+-74.198 26.808 3510
+-74.072 26.808 3363
+-73.946 26.808 3376
+-73.82 26.808 3387
+-73.694 26.808 3398
+-73.568 26.808 3407
+-73.442 26.808 3416
+-73.316 26.808 3425
+-73.19 26.808 3366
+-73.064 26.808 3366
+-72.938 26.808 3359
+-72.812 26.808 3225
+-72.686 26.808 3181
+-72.56 26.808 3181
+-72.434 26.808 3182
+-72.308 26.808 3092
+-72.182 26.808 3093
+-72.056 26.808 3082
+-71.93 26.808 3066
+-71.804 26.808 3013
+-71.678 26.808 3014
+-71.552 26.808 3015
+-71.426 26.808 2980
+-71.3 26.808 3000
+-71.174 26.808 3000
+-71.048 26.808 3001
+-70.922 26.808 3001
+-70.796 26.808 3002
+-70.67 26.808 3003
+-70.544 26.808 3003
+-70.418 26.808 3004
+-70.292 26.808 3004
+-70.166 26.808 3005
+-70.04 26.808 3006
+-69.914 26.808 3006
+-69.788 26.808 3007
+-69.662 26.808 3008
+-69.536 26.808 3009
+-69.41 26.808 3009
+-69.284 26.808 3010
+-69.158 26.808 3011
+-69.032 26.808 3012
+-68.906 26.808 3012
+-68.78 26.808 3013
+-68.654 26.808 3014
+-68.528 26.808 3015
+-68.402 26.808 2932
+-68.276 26.808 2932
+-68.15 26.808 2932
+-68.024 26.808 2933
+-67.898 26.808 2933
+-67.772 26.808 2933
+-67.646 26.808 2934
+-67.52 26.808 2934
+-67.394 26.808 2934
+-67.268 26.808 2935
+-67.142 26.808 2935
+-67.016 26.808 2935
+-66.89 26.808 2936
+-66.764 26.808 2936
+-66.638 26.808 2936
+-66.512 26.808 2937
+-66.386 26.808 2937
+-66.26 26.808 2937
+-66.134 26.808 2938
+-66.008 26.808 2938
+-65.882 26.808 2938
+-65.756 26.808 2939
+-65.63 26.808 2939
+-65.504 26.808 2940
+-65.378 26.808 2940
+-65.252 26.808 2940
+-65.126 26.808 2941
+-128 26.756 2992
+-127.874 26.756 2994
+-127.748 26.756 3036
+-127.622 26.756 3038
+-127.496 26.756 3001
+-127.37 26.756 2984
+-127.244 26.756 2997
+-127.118 26.756 3001
+-126.992 26.756 3005
+-126.866 26.756 2972
+-126.74 26.756 3418
+-126.614 26.756 3418
+-126.488 26.756 3417
+-126.362 26.756 3389
+-126.236 26.756 3388
+-126.11 26.756 3372
+-125.984 26.756 3402
+-125.858 26.756 3401
+-125.732 26.756 3464
+-125.606 26.756 3462
+-125.48 26.756 3428
+-125.354 26.756 3447
+-125.228 26.756 3483
+-125.102 26.756 3475
+-124.976 26.756 3505
+-124.85 26.756 3503
+-124.724 26.756 3538
+-124.598 26.756 3516
+-124.472 26.756 3514
+-124.346 26.756 3513
+-124.22 26.756 3544
+-124.094 26.756 3542
+-123.968 26.756 3408
+-123.842 26.756 3416
+-123.716 26.756 3434
+-123.59 26.756 3339
+-123.464 26.756 3337
+-123.338 26.756 3324
+-123.212 26.756 3386
+-123.086 26.756 3476
+-122.96 26.756 3472
+-122.834 26.756 3373
+-122.708 26.756 3392
+-122.582 26.756 3394
+-122.456 26.756 3386
+-122.33 26.756 3410
+-122.204 26.756 3405
+-122.078 26.756 3400
+-121.952 26.756 3320
+-121.826 26.756 3318
+-121.7 26.756 3245
+-121.574 26.756 3250
+-121.448 26.756 3243
+-121.322 26.756 3207
+-121.196 26.756 3203
+-121.07 26.756 3191
+-120.944 26.756 3181
+-120.818 26.756 3159
+-120.692 26.756 3163
+-120.566 26.756 3148
+-120.44 26.756 3100
+-120.314 26.756 3081
+-120.188 26.756 3043
+-120.062 26.756 3047
+-119.936 26.756 3012
+-119.81 26.756 2980
+-119.684 26.756 2932
+-119.558 26.756 2899
+-119.432 26.756 2867
+-119.306 26.756 2839
+-119.18 26.756 2824
+-119.054 26.756 2825
+-118.928 26.756 2827
+-118.802 26.756 2851
+-118.676 26.756 2871
+-118.55 26.756 2882
+-118.424 26.756 2896
+-118.298 26.756 2901
+-118.172 26.756 2918
+-118.046 26.756 2939
+-117.92 26.756 2960
+-117.794 26.756 2964
+-117.668 26.756 2964
+-117.542 26.756 2944
+-117.416 26.756 2931
+-117.29 26.756 2954
+-117.164 26.756 2997
+-117.038 26.756 3031
+-116.912 26.756 3058
+-116.786 26.756 3033
+-116.66 26.756 3023
+-116.534 26.756 3003
+-116.408 26.756 2990
+-116.282 26.756 3003
+-116.156 26.756 3023
+-116.03 26.756 3031
+-115.904 26.756 3028
+-115.778 26.756 2989
+-115.652 26.756 2968
+-115.526 26.756 2946
+-115.4 26.756 2915
+-115.274 26.756 2860
+-115.148 26.756 2797
+-115.022 26.756 2724
+-114.896 26.756 2639
+-114.77 26.756 2543
+-114.644 26.756 2485
+-114.518 26.756 2560
+-114.392 26.756 2740
+-114.266 26.756 2914
+-114.14 26.756 3055
+-114.014 26.756 3172
+-113.888 26.756 3257
+-113.762 26.756 3309
+-113.636 26.756 3351
+-113.51 26.756 3426
+-113.384 26.756 3471
+-113.258 26.756 3573
+-113.132 26.756 3624
+-113.006 26.756 3670
+-112.88 26.756 3655
+-112.754 26.756 3628
+-112.628 26.756 3682
+-112.502 26.756 3775
+-112.376 26.756 3857
+-112.25 26.756 3891
+-112.124 26.756 3934
+-111.998 26.756 3947
+-111.872 26.756 3954
+-111.746 26.756 3965
+-111.62 26.756 3992
+-111.494 26.756 4046
+-111.368 26.756 4105
+-111.242 26.756 4172
+-111.116 26.756 4198
+-110.99 26.756 4224
+-110.864 26.756 4261
+-110.738 26.756 4262
+-110.612 26.756 4273
+-110.486 26.756 4254
+-110.36 26.756 4241
+-110.234 26.756 4200
+-110.108 26.756 4175
+-109.982 26.756 4153
+-109.856 26.756 4157
+-109.73 26.756 4154
+-109.604 26.756 4118
+-109.478 26.756 4096
+-109.352 26.756 4118
+-109.226 26.756 4108
+-109.1 26.756 4080
+-108.974 26.756 4035
+-108.848 26.756 3999
+-108.722 26.756 3959
+-108.596 26.756 3914
+-108.47 26.756 3853
+-108.344 26.756 3790
+-108.218 26.756 3707
+-108.092 26.756 3633
+-107.966 26.756 3593
+-107.84 26.756 3592
+-107.714 26.756 3586
+-107.588 26.756 3545
+-107.462 26.756 3500
+-107.336 26.756 3438
+-107.21 26.756 3336
+-107.084 26.756 3227
+-106.958 26.756 3148
+-106.832 26.756 3098
+-106.706 26.756 3018
+-106.58 26.756 2861
+-106.454 26.756 2662
+-106.328 26.756 2572
+-106.202 26.756 2636
+-106.076 26.756 2737
+-105.95 26.756 2796
+-105.824 26.756 2807
+-105.698 26.756 2768
+-105.572 26.756 2707
+-105.446 26.756 2644
+-105.32 26.756 2603
+-105.194 26.756 2596
+-105.068 26.756 2618
+-104.942 26.756 2665
+-104.816 26.756 2720
+-104.69 26.756 2776
+-104.564 26.756 2831
+-104.438 26.756 2874
+-104.312 26.756 2931
+-104.186 26.756 2975
+-104.06 26.756 2999
+-103.934 26.756 3034
+-103.808 26.756 3077
+-103.682 26.756 3108
+-103.556 26.756 3112
+-103.43 26.756 3118
+-103.304 26.756 3138
+-103.178 26.756 3057
+-103.052 26.756 3073
+-102.926 26.756 3124
+-102.8 26.756 3141
+-102.674 26.756 3114
+-102.548 26.756 3129
+-102.422 26.756 3142
+-102.296 26.756 3134
+-102.17 26.756 3145
+-102.044 26.756 3155
+-101.918 26.756 3165
+-101.792 26.756 3174
+-101.666 26.756 3182
+-101.54 26.756 3190
+-101.414 26.756 3134
+-101.288 26.756 3133
+-101.162 26.756 3139
+-101.036 26.756 3145
+-100.91 26.756 3126
+-100.784 26.756 3132
+-100.658 26.756 3191
+-100.532 26.756 3197
+-100.406 26.756 3210
+-100.28 26.756 3198
+-100.154 26.756 3204
+-100.028 26.756 3209
+-99.902 26.756 3214
+-99.776 26.756 3213
+-99.65 26.756 3218
+-99.524 26.756 3207
+-99.398 26.756 3211
+-99.272 26.756 3144
+-99.146 26.756 3147
+-99.02 26.756 3151
+-98.894 26.756 3154
+-98.768 26.756 3157
+-98.642 26.756 3160
+-98.516 26.756 3123
+-98.39 26.756 3250
+-98.264 26.756 3150
+-98.138 26.756 3164
+-98.012 26.756 3166
+-97.886 26.756 3168
+-97.76 26.756 3171
+-97.634 26.756 3063
+-97.508 26.756 3061
+-97.382 26.756 3059
+-97.256 26.756 3057
+-97.13 26.756 2959
+-97.004 26.756 2893
+-96.878 26.756 2873
+-96.752 26.756 2912
+-96.626 26.756 2899
+-96.5 26.756 2845
+-96.374 26.756 2947
+-96.248 26.756 3055
+-96.122 26.756 3058
+-95.996 26.756 3121
+-95.87 26.756 3123
+-95.744 26.756 3349
+-95.618 26.756 3348
+-95.492 26.756 3347
+-95.366 26.756 3346
+-95.24 26.756 3345
+-95.114 26.756 3344
+-94.988 26.756 3343
+-94.862 26.756 3341
+-94.736 26.756 3340
+-94.61 26.756 3339
+-94.484 26.756 3337
+-94.358 26.756 3336
+-94.232 26.756 3334
+-94.106 26.756 3333
+-93.98 26.756 3331
+-93.854 26.756 3329
+-93.728 26.756 3465
+-93.602 26.756 3463
+-93.476 26.756 3460
+-93.35 26.756 3457
+-93.224 26.756 3455
+-93.098 26.756 3452
+-92.972 26.756 3448
+-92.846 26.756 3445
+-92.72 26.756 3441
+-92.594 26.756 3437
+-92.468 26.756 3433
+-92.342 26.756 3429
+-92.216 26.756 3462
+-92.09 26.756 3456
+-91.964 26.756 3450
+-91.838 26.756 3443
+-91.712 26.756 3436
+-91.586 26.756 3436
+-91.46 26.756 3476
+-91.334 26.756 3468
+-91.208 26.756 3458
+-91.082 26.756 3448
+-90.956 26.756 3438
+-90.83 26.756 3464
+-90.704 26.756 3538
+-90.578 26.756 3526
+-90.452 26.756 3528
+-90.326 26.756 3515
+-90.2 26.756 3503
+-90.074 26.756 3587
+-89.948 26.756 3577
+-89.822 26.756 3569
+-89.696 26.756 3564
+-89.57 26.756 3562
+-89.444 26.756 3567
+-89.318 26.756 3623
+-89.192 26.756 3633
+-89.066 26.756 3646
+-88.94 26.756 3661
+-88.814 26.756 3676
+-88.688 26.756 3692
+-88.562 26.756 3750
+-88.436 26.756 3811
+-88.31 26.756 3871
+-88.184 26.756 3889
+-88.058 26.756 3872
+-87.932 26.756 3795
+-87.806 26.756 3642
+-87.68 26.756 3508
+-87.554 26.756 3722
+-87.428 26.756 4034
+-87.302 26.756 4208
+-87.176 26.756 4275
+-87.05 26.756 4445
+-86.924 26.756 4598
+-86.798 26.756 4602
+-86.672 26.756 4736
+-86.546 26.756 4901
+-86.42 26.756 5039
+-86.294 26.756 5155
+-86.168 26.756 5277
+-86.042 26.756 5464
+-85.916 26.756 5563
+-85.79 26.756 5694
+-85.664 26.756 5830
+-85.538 26.756 5982
+-85.412 26.756 6120
+-85.286 26.756 6149
+-85.16 26.756 6303
+-85.034 26.756 6517
+-84.908 26.756 6649
+-84.782 26.756 6778
+-84.656 26.756 6923
+-84.53 26.756 7025
+-84.404 26.756 7080
+-84.278 26.756 7260
+-84.152 26.756 7462
+-84.026 26.756 7536
+-83.9 26.756 7680
+-83.774 26.756 7745
+-83.648 26.756 7866
+-83.522 26.756 7988
+-83.396 26.756 8059
+-83.27 26.756 8206
+-83.144 26.756 8304
+-83.018 26.756 8405
+-82.892 26.756 8507
+-82.766 26.756 8564
+-82.64 26.756 8604
+-82.514 26.756 8642
+-82.388 26.756 8676
+-82.262 26.756 8696
+-82.136 26.756 8740
+-82.01 26.756 8693
+-81.884 26.756 8691
+-81.758 26.756 8579
+-81.632 26.756 8553
+-81.506 26.756 8488
+-81.38 26.756 8392
+-81.254 26.756 8340
+-81.128 26.756 8179
+-81.002 26.756 8096
+-80.876 26.756 7994
+-80.75 26.756 7841
+-80.624 26.756 7778
+-80.498 26.756 7650
+-80.372 26.756 7531
+-80.246 26.756 7416
+-80.12 26.756 7301
+-79.994 26.756 7113
+-79.868 26.756 6985
+-79.742 26.756 6859
+-79.616 26.756 6749
+-79.49 26.756 6630
+-79.364 26.756 6469
+-79.238 26.756 6363
+-79.112 26.756 6182
+-78.986 26.756 6192
+-78.86 26.756 6125
+-78.734 26.756 5983
+-78.608 26.756 5806
+-78.482 26.756 5700
+-78.356 26.756 5446
+-78.23 26.756 5201
+-78.104 26.756 5099
+-77.978 26.756 4947
+-77.852 26.756 4794
+-77.726 26.756 4696
+-77.6 26.756 4679
+-77.474 26.756 4624
+-77.348 26.756 4573
+-77.222 26.756 4489
+-77.096 26.756 4403
+-76.97 26.756 4266
+-76.844 26.756 4091
+-76.718 26.756 3996
+-76.592 26.756 3888
+-76.466 26.756 3802
+-76.34 26.756 3718
+-76.214 26.756 3573
+-76.088 26.756 3353
+-75.962 26.756 3059
+-75.836 26.756 2733
+-75.71 26.756 2584
+-75.584 26.756 2669
+-75.458 26.756 2854
+-75.332 26.756 3032
+-75.206 26.756 3170
+-75.08 26.756 3271
+-74.954 26.756 3346
+-74.828 26.756 3401
+-74.702 26.756 3444
+-74.576 26.756 3477
+-74.45 26.756 3484
+-74.324 26.756 3507
+-74.198 26.756 3357
+-74.072 26.756 3371
+-73.946 26.756 3383
+-73.82 26.756 3395
+-73.694 26.756 3405
+-73.568 26.756 3414
+-73.442 26.756 3423
+-73.316 26.756 3431
+-73.19 26.756 3439
+-73.064 26.756 3378
+-72.938 26.756 3257
+-72.812 26.756 3191
+-72.686 26.756 3177
+-72.56 26.756 3179
+-72.434 26.756 3179
+-72.308 26.756 3179
+-72.182 26.756 3087
+-72.056 26.756 3088
+-71.93 26.756 3077
+-71.804 26.756 3061
+-71.678 26.756 3007
+-71.552 26.756 2973
+-71.426 26.756 2974
+-71.3 26.756 2974
+-71.174 26.756 2974
+-71.048 26.756 2974
+-70.922 26.756 2975
+-70.796 26.756 2975
+-70.67 26.756 2975
+-70.544 26.756 2976
+-70.418 26.756 2976
+-70.292 26.756 2977
+-70.166 26.756 2977
+-70.04 26.756 2978
+-69.914 26.756 2978
+-69.788 26.756 2979
+-69.662 26.756 2979
+-69.536 26.756 2980
+-69.41 26.756 2981
+-69.284 26.756 2981
+-69.158 26.756 2982
+-69.032 26.756 2983
+-68.906 26.756 2983
+-68.78 26.756 2984
+-68.654 26.756 2985
+-68.528 26.756 2985
+-68.402 26.756 2986
+-68.276 26.756 2927
+-68.15 26.756 2927
+-68.024 26.756 2928
+-67.898 26.756 2928
+-67.772 26.756 2929
+-67.646 26.756 2929
+-67.52 26.756 2930
+-67.394 26.756 2930
+-67.268 26.756 2930
+-67.142 26.756 2931
+-67.016 26.756 2931
+-66.89 26.756 2932
+-66.764 26.756 2932
+-66.638 26.756 2933
+-66.512 26.756 2933
+-66.386 26.756 2933
+-66.26 26.756 2934
+-66.134 26.756 2934
+-66.008 26.756 2935
+-65.882 26.756 2935
+-65.756 26.756 2936
+-65.63 26.756 2936
+-65.504 26.756 2937
+-65.378 26.756 2937
+-65.252 26.756 2937
+-65.126 26.756 2938
+-128 26.704 2996
+-127.874 26.704 3038
+-127.748 26.704 3040
+-127.622 26.704 3002
+-127.496 26.704 2985
+-127.37 26.704 2998
+-127.244 26.704 3002
+-127.118 26.704 3005
+-126.992 26.704 2972
+-126.866 26.704 3419
+-126.74 26.704 3419
+-126.614 26.704 3418
+-126.488 26.704 3390
+-126.362 26.704 3389
+-126.236 26.704 3373
+-126.11 26.704 3403
+-125.984 26.704 3402
+-125.858 26.704 3465
+-125.732 26.704 3464
+-125.606 26.704 3429
+-125.48 26.704 3448
+-125.354 26.704 3485
+-125.228 26.704 3477
+-125.102 26.704 3507
+-124.976 26.704 3506
+-124.85 26.704 3541
+-124.724 26.704 3519
+-124.598 26.704 3517
+-124.472 26.704 3515
+-124.346 26.704 3547
+-124.22 26.704 3545
+-124.094 26.704 3405
+-123.968 26.704 3413
+-123.842 26.704 3431
+-123.716 26.704 3335
+-123.59 26.704 3332
+-123.464 26.704 3319
+-123.338 26.704 3382
+-123.212 26.704 3354
+-123.086 26.704 3352
+-122.96 26.704 3374
+-122.834 26.704 3277
+-122.708 26.704 3280
+-122.582 26.704 3273
+-122.456 26.704 3413
+-122.33 26.704 3408
+-122.204 26.704 3403
+-122.078 26.704 3321
+-121.952 26.704 3319
+-121.826 26.704 3244
+-121.7 26.704 3250
+-121.574 26.704 3242
+-121.448 26.704 3206
+-121.322 26.704 3202
+-121.196 26.704 3191
+-121.07 26.704 3180
+-120.944 26.704 3159
+-120.818 26.704 3163
+-120.692 26.704 3149
+-120.566 26.704 3100
+-120.44 26.704 3081
+-120.314 26.704 3043
+-120.188 26.704 3048
+-120.062 26.704 3011
+-119.936 26.704 2945
+-119.81 26.704 2924
+-119.684 26.704 2885
+-119.558 26.704 2841
+-119.432 26.704 2792
+-119.306 26.704 2747
+-119.18 26.704 2716
+-119.054 26.704 2700
+-118.928 26.704 2727
+-118.802 26.704 2771
+-118.676 26.704 2804
+-118.55 26.704 2826
+-118.424 26.704 2828
+-118.298 26.704 2835
+-118.172 26.704 2845
+-118.046 26.704 2866
+-117.92 26.704 2884
+-117.794 26.704 2912
+-117.668 26.704 2924
+-117.542 26.704 2918
+-117.416 26.704 2906
+-117.29 26.704 2924
+-117.164 26.704 2964
+-117.038 26.704 2999
+-116.912 26.704 3010
+-116.786 26.704 3011
+-116.66 26.704 3002
+-116.534 26.704 2997
+-116.408 26.704 2994
+-116.282 26.704 2995
+-116.156 26.704 3000
+-116.03 26.704 3000
+-115.904 26.704 2994
+-115.778 26.704 2969
+-115.652 26.704 2941
+-115.526 26.704 2912
+-115.4 26.704 2846
+-115.274 26.704 2781
+-115.148 26.704 2712
+-115.022 26.704 2660
+-114.896 26.704 2596
+-114.77 26.704 2548
+-114.644 26.704 2527
+-114.518 26.704 2585
+-114.392 26.704 2720
+-114.266 26.704 2867
+-114.14 26.704 3000
+-114.014 26.704 3121
+-113.888 26.704 3216
+-113.762 26.704 3279
+-113.636 26.704 3336
+-113.51 26.704 3405
+-113.384 26.704 3453
+-113.258 26.704 3535
+-113.132 26.704 3607
+-113.006 26.704 3656
+-112.88 26.704 3651
+-112.754 26.704 3655
+-112.628 26.704 3690
+-112.502 26.704 3749
+-112.376 26.704 3797
+-112.25 26.704 3844
+-112.124 26.704 3894
+-111.998 26.704 3925
+-111.872 26.704 3940
+-111.746 26.704 3953
+-111.62 26.704 3959
+-111.494 26.704 3993
+-111.368 26.704 4034
+-111.242 26.704 4099
+-111.116 26.704 4122
+-110.99 26.704 4142
+-110.864 26.704 4157
+-110.738 26.704 4199
+-110.612 26.704 4199
+-110.486 26.704 4190
+-110.36 26.704 4126
+-110.234 26.704 4103
+-110.108 26.704 4093
+-109.982 26.704 4091
+-109.856 26.704 4095
+-109.73 26.704 4083
+-109.604 26.704 4055
+-109.478 26.704 4038
+-109.352 26.704 4047
+-109.226 26.704 4034
+-109.1 26.704 3996
+-108.974 26.704 3948
+-108.848 26.704 3918
+-108.722 26.704 3880
+-108.596 26.704 3858
+-108.47 26.704 3823
+-108.344 26.704 3760
+-108.218 26.704 3681
+-108.092 26.704 3597
+-107.966 26.704 3547
+-107.84 26.704 3573
+-107.714 26.704 3560
+-107.588 26.704 3557
+-107.462 26.704 3478
+-107.336 26.704 3391
+-107.21 26.704 3244
+-107.084 26.704 3101
+-106.958 26.704 3030
+-106.832 26.704 3038
+-106.706 26.704 3002
+-106.58 26.704 2884
+-106.454 26.704 2723
+-106.328 26.704 2644
+-106.202 26.704 2682
+-106.076 26.704 2756
+-105.95 26.704 2806
+-105.824 26.704 2819
+-105.698 26.704 2809
+-105.572 26.704 2772
+-105.446 26.704 2735
+-105.32 26.704 2708
+-105.194 26.704 2700
+-105.068 26.704 2711
+-104.942 26.704 2736
+-104.816 26.704 2776
+-104.69 26.704 2817
+-104.564 26.704 2858
+-104.438 26.704 2900
+-104.312 26.704 2931
+-104.186 26.704 2981
+-104.06 26.704 3017
+-103.934 26.704 3034
+-103.808 26.704 3063
+-103.682 26.704 3103
+-103.556 26.704 3131
+-103.43 26.704 3130
+-103.304 26.704 3134
+-103.178 26.704 3152
+-103.052 26.704 3067
+-102.926 26.704 3082
+-102.8 26.704 3133
+-102.674 26.704 3148
+-102.548 26.704 3120
+-102.422 26.704 3135
+-102.296 26.704 3147
+-102.17 26.704 3138
+-102.044 26.704 3149
+-101.918 26.704 3159
+-101.792 26.704 3168
+-101.666 26.704 3176
+-101.54 26.704 3185
+-101.414 26.704 3192
+-101.288 26.704 3135
+-101.162 26.704 3134
+-101.036 26.704 3140
+-100.91 26.704 3145
+-100.784 26.704 3127
+-100.658 26.704 3133
+-100.532 26.704 3192
+-100.406 26.704 3198
+-100.28 26.704 3211
+-100.154 26.704 3199
+-100.028 26.704 3204
+-99.902 26.704 3210
+-99.776 26.704 3215
+-99.65 26.704 3213
+-99.524 26.704 3218
+-99.398 26.704 3207
+-99.272 26.704 3212
+-99.146 26.704 3143
+-99.02 26.704 3147
+-98.894 26.704 3150
+-98.768 26.704 3154
+-98.642 26.704 3157
+-98.516 26.704 3160
+-98.39 26.704 3122
+-98.264 26.704 3251
+-98.138 26.704 3149
+-98.012 26.704 3164
+-97.886 26.704 3166
+-97.76 26.704 3169
+-97.634 26.704 3060
+-97.508 26.704 3059
+-97.382 26.704 3057
+-97.256 26.704 3055
+-97.13 26.704 2957
+-97.004 26.704 2954
+-96.878 26.704 2937
+-96.752 26.704 2912
+-96.626 26.704 2900
+-96.5 26.704 2912
+-96.374 26.704 2994
+-96.248 26.704 3056
+-96.122 26.704 3059
+-95.996 26.704 3122
+-95.87 26.704 3349
+-95.744 26.704 3348
+-95.618 26.704 3347
+-95.492 26.704 3346
+-95.366 26.704 3345
+-95.24 26.704 3344
+-95.114 26.704 3343
+-94.988 26.704 3342
+-94.862 26.704 3341
+-94.736 26.704 3339
+-94.61 26.704 3338
+-94.484 26.704 3337
+-94.358 26.704 3335
+-94.232 26.704 3334
+-94.106 26.704 3332
+-93.98 26.704 3330
+-93.854 26.704 3467
+-93.728 26.704 3464
+-93.602 26.704 3462
+-93.476 26.704 3460
+-93.35 26.704 3457
+-93.224 26.704 3454
+-93.098 26.704 3451
+-92.972 26.704 3448
+-92.846 26.704 3445
+-92.72 26.704 3442
+-92.594 26.704 3438
+-92.468 26.704 3434
+-92.342 26.704 3468
+-92.216 26.704 3463
+-92.09 26.704 3457
+-91.964 26.704 3451
+-91.838 26.704 3445
+-91.712 26.704 3447
+-91.586 26.704 3441
+-91.46 26.704 3482
+-91.334 26.704 3474
+-91.208 26.704 3466
+-91.082 26.704 3458
+-90.956 26.704 3449
+-90.83 26.704 3440
+-90.704 26.704 3566
+-90.578 26.704 3556
+-90.452 26.704 3546
+-90.326 26.704 3537
+-90.2 26.704 3528
+-90.074 26.704 3521
+-89.948 26.704 3579
+-89.822 26.704 3611
+-89.696 26.704 3609
+-89.57 26.704 3613
+-89.444 26.704 3616
+-89.318 26.704 3675
+-89.192 26.704 3685
+-89.066 26.704 3698
+-88.94 26.704 3712
+-88.814 26.704 3727
+-88.688 26.704 3743
+-88.562 26.704 3801
+-88.436 26.704 3833
+-88.31 26.704 3921
+-88.184 26.704 3941
+-88.058 26.704 3911
+-87.932 26.704 3843
+-87.806 26.704 3734
+-87.68 26.704 3683
+-87.554 26.704 3851
+-87.428 26.704 4098
+-87.302 26.704 4190
+-87.176 26.704 4137
+-87.05 26.704 4336
+-86.924 26.704 4577
+-86.798 26.704 4655
+-86.672 26.704 4782
+-86.546 26.704 4941
+-86.42 26.704 5080
+-86.294 26.704 5098
+-86.168 26.704 5240
+-86.042 26.704 5451
+-85.916 26.704 5448
+-85.79 26.704 5647
+-85.664 26.704 5841
+-85.538 26.704 5942
+-85.412 26.704 6060
+-85.286 26.704 6193
+-85.16 26.704 6329
+-85.034 26.704 6481
+-84.908 26.704 6613
+-84.782 26.704 6671
+-84.656 26.704 6874
+-84.53 26.704 7027
+-84.404 26.704 7094
+-84.278 26.704 7237
+-84.152 26.704 7380
+-84.026 26.704 7525
+-83.9 26.704 7639
+-83.774 26.704 7678
+-83.648 26.704 7862
+-83.522 26.704 7929
+-83.396 26.704 8112
+-83.27 26.704 8182
+-83.144 26.704 8244
+-83.018 26.704 8341
+-82.892 26.704 8449
+-82.766 26.704 8505
+-82.64 26.704 8580
+-82.514 26.704 8606
+-82.388 26.704 8662
+-82.262 26.704 8664
+-82.136 26.704 8667
+-82.01 26.704 8674
+-81.884 26.704 8625
+-81.758 26.704 8568
+-81.632 26.704 8498
+-81.506 26.704 8434
+-81.38 26.704 8348
+-81.254 26.704 8237
+-81.128 26.704 8134
+-81.002 26.704 8044
+-80.876 26.704 7995
+-80.75 26.704 7844
+-80.624 26.704 7723
+-80.498 26.704 7650
+-80.372 26.704 7538
+-80.246 26.704 7329
+-80.12 26.704 7261
+-79.994 26.704 7099
+-79.868 26.704 7007
+-79.742 26.704 6815
+-79.616 26.704 6722
+-79.49 26.704 6574
+-79.364 26.704 6436
+-79.238 26.704 6317
+-79.112 26.704 6237
+-78.986 26.704 6060
+-78.86 26.704 6090
+-78.734 26.704 5895
+-78.608 26.704 5654
+-78.482 26.704 5701
+-78.356 26.704 5497
+-78.23 26.704 5239
+-78.104 26.704 5036
+-77.978 26.704 4905
+-77.852 26.704 4729
+-77.726 26.704 4617
+-77.6 26.704 4646
+-77.474 26.704 4611
+-77.348 26.704 4574
+-77.222 26.704 4516
+-77.096 26.704 4454
+-76.97 26.704 4318
+-76.844 26.704 4196
+-76.718 26.704 4084
+-76.592 26.704 3994
+-76.466 26.704 3885
+-76.34 26.704 3778
+-76.214 26.704 3619
+-76.088 26.704 3339
+-75.962 26.704 2970
+-75.836 26.704 2599
+-75.71 26.704 2448
+-75.584 26.704 2563
+-75.458 26.704 2780
+-75.332 26.704 2982
+-75.206 26.704 3136
+-75.08 26.704 3247
+-74.954 26.704 3328
+-74.828 26.704 3387
+-74.702 26.704 3432
+-74.576 26.704 3467
+-74.45 26.704 3495
+-74.324 26.704 3348
+-74.198 26.704 3365
+-74.072 26.704 3379
+-73.946 26.704 3392
+-73.82 26.704 3403
+-73.694 26.704 3413
+-73.568 26.704 3422
+-73.442 26.704 3430
+-73.316 26.704 3438
+-73.19 26.704 3313
+-73.064 26.704 3242
+-72.938 26.704 3255
+-72.812 26.704 3256
+-72.686 26.704 3188
+-72.56 26.704 3174
+-72.434 26.704 3167
+-72.308 26.704 3167
+-72.182 26.704 3176
+-72.056 26.704 3082
+-71.93 26.704 3082
+-71.804 26.704 3072
+-71.678 26.704 3002
+-71.552 26.704 3000
+-71.426 26.704 2967
+-71.3 26.704 2967
+-71.174 26.704 2967
+-71.048 26.704 2968
+-70.922 26.704 2968
+-70.796 26.704 2969
+-70.67 26.704 2969
+-70.544 26.704 2970
+-70.418 26.704 2970
+-70.292 26.704 2971
+-70.166 26.704 2971
+-70.04 26.704 2972
+-69.914 26.704 2973
+-69.788 26.704 2973
+-69.662 26.704 2974
+-69.536 26.704 2975
+-69.41 26.704 2975
+-69.284 26.704 2976
+-69.158 26.704 2977
+-69.032 26.704 2978
+-68.906 26.704 2978
+-68.78 26.704 2979
+-68.654 26.704 2980
+-68.528 26.704 2981
+-68.402 26.704 2982
+-68.276 26.704 2982
+-68.15 26.704 2923
+-68.024 26.704 2923
+-67.898 26.704 2924
+-67.772 26.704 2924
+-67.646 26.704 2925
+-67.52 26.704 2925
+-67.394 26.704 2926
+-67.268 26.704 2926
+-67.142 26.704 2927
+-67.016 26.704 2927
+-66.89 26.704 2928
+-66.764 26.704 2928
+-66.638 26.704 2929
+-66.512 26.704 2929
+-66.386 26.704 2930
+-66.26 26.704 2930
+-66.134 26.704 2931
+-66.008 26.704 2931
+-65.882 26.704 2932
+-65.756 26.704 2932
+-65.63 26.704 2933
+-65.504 26.704 2933
+-65.378 26.704 2934
+-65.252 26.704 2934
+-65.126 26.704 2935
+-128 26.652 3040
+-127.874 26.652 3042
+-127.748 26.652 3004
+-127.622 26.652 2986
+-127.496 26.652 2999
+-127.37 26.652 3002
+-127.244 26.652 3006
+-127.118 26.652 2972
+-126.992 26.652 3420
+-126.866 26.652 3420
+-126.74 26.652 3419
+-126.614 26.652 3391
+-126.488 26.652 3390
+-126.362 26.652 3373
+-126.236 26.652 3404
+-126.11 26.652 3403
+-125.984 26.652 3466
+-125.858 26.652 3465
+-125.732 26.652 3431
+-125.606 26.652 3450
+-125.48 26.652 3486
+-125.354 26.652 3479
+-125.228 26.652 3509
+-125.102 26.652 3508
+-124.976 26.652 3544
+-124.85 26.652 3521
+-124.724 26.652 3519
+-124.598 26.652 3518
+-124.472 26.652 3550
+-124.346 26.652 3548
+-124.22 26.652 3401
+-124.094 26.652 3410
+-123.968 26.652 3428
+-123.842 26.652 3330
+-123.716 26.652 3328
+-123.59 26.652 3315
+-123.464 26.652 3377
+-123.338 26.652 3349
+-123.212 26.652 3347
+-123.086 26.652 3369
+-122.96 26.652 3271
+-122.834 26.652 3275
+-122.708 26.652 3301
+-122.582 26.652 3294
+-122.456 26.652 3290
+-122.33 26.652 3286
+-122.204 26.652 3210
+-122.078 26.652 3207
+-121.952 26.652 3244
+-121.826 26.652 3250
+-121.7 26.652 3243
+-121.574 26.652 3207
+-121.448 26.652 3203
+-121.322 26.652 3191
+-121.196 26.652 3181
+-121.07 26.652 3159
+-120.944 26.652 3165
+-120.818 26.652 3151
+-120.692 26.652 3102
+-120.566 26.652 3084
+-120.44 26.652 3046
+-120.314 26.652 3054
+-120.188 26.652 3017
+-120.062 26.652 2949
+-119.936 26.652 2930
+-119.81 26.652 2889
+-119.684 26.652 2841
+-119.558 26.652 2783
+-119.432 26.652 2718
+-119.306 26.652 2647
+-119.18 26.652 2581
+-119.054 26.652 2562
+-118.928 26.652 2602
+-118.802 26.652 2672
+-118.676 26.652 2733
+-118.55 26.652 2755
+-118.424 26.652 2761
+-118.298 26.652 2757
+-118.172 26.652 2755
+-118.046 26.652 2769
+-117.92 26.652 2805
+-117.794 26.652 2853
+-117.668 26.652 2892
+-117.542 26.652 2908
+-117.416 26.652 2913
+-117.29 26.652 2926
+-117.164 26.652 2953
+-117.038 26.652 2982
+-116.912 26.652 2969
+-116.786 26.652 2992
+-116.66 26.652 2986
+-116.534 26.652 2988
+-116.408 26.652 2986
+-116.282 26.652 2984
+-116.156 26.652 2977
+-116.03 26.652 2974
+-115.904 26.652 2958
+-115.778 26.652 2937
+-115.652 26.652 2902
+-115.526 26.652 2846
+-115.4 26.652 2785
+-115.274 26.652 2721
+-115.148 26.652 2660
+-115.022 26.652 2579
+-114.896 26.652 2511
+-114.77 26.652 2487
+-114.644 26.652 2512
+-114.518 26.652 2588
+-114.392 26.652 2695
+-114.266 26.652 2829
+-114.14 26.652 2963
+-114.014 26.652 3064
+-113.888 26.652 3150
+-113.762 26.652 3247
+-113.636 26.652 3326
+-113.51 26.652 3376
+-113.384 26.652 3423
+-113.258 26.652 3507
+-113.132 26.652 3561
+-113.006 26.652 3620
+-112.88 26.652 3648
+-112.754 26.652 3665
+-112.628 26.652 3689
+-112.502 26.652 3724
+-112.376 26.652 3760
+-112.25 26.652 3789
+-112.124 26.652 3821
+-111.998 26.652 3852
+-111.872 26.652 3897
+-111.746 26.652 3924
+-111.62 26.652 3935
+-111.494 26.652 3946
+-111.368 26.652 3964
+-111.242 26.652 4006
+-111.116 26.652 4045
+-110.99 26.652 4040
+-110.864 26.652 4050
+-110.738 26.652 4058
+-110.612 26.652 4065
+-110.486 26.652 4069
+-110.36 26.652 4065
+-110.234 26.652 4053
+-110.108 26.652 4064
+-109.982 26.652 4086
+-109.856 26.652 4066
+-109.73 26.652 4042
+-109.604 26.652 4031
+-109.478 26.652 4022
+-109.352 26.652 4000
+-109.226 26.652 3957
+-109.1 26.652 3910
+-108.974 26.652 3868
+-108.848 26.652 3850
+-108.722 26.652 3843
+-108.596 26.652 3814
+-108.47 26.652 3782
+-108.344 26.652 3732
+-108.218 26.652 3669
+-108.092 26.652 3613
+-107.966 26.652 3581
+-107.84 26.652 3582
+-107.714 26.652 3551
+-107.588 26.652 3513
+-107.462 26.652 3448
+-107.336 26.652 3355
+-107.21 26.652 3191
+-107.084 26.652 3037
+-106.958 26.652 2971
+-106.832 26.652 3006
+-106.706 26.652 3016
+-106.58 26.652 2933
+-106.454 26.652 2828
+-106.328 26.652 2772
+-106.202 26.652 2773
+-106.076 26.652 2804
+-105.95 26.652 2830
+-105.824 26.652 2837
+-105.698 26.652 2828
+-105.572 26.652 2816
+-105.446 26.652 2793
+-105.32 26.652 2778
+-105.194 26.652 2772
+-105.068 26.652 2779
+-104.942 26.652 2795
+-104.816 26.652 2820
+-104.69 26.652 2853
+-104.564 26.652 2885
+-104.438 26.652 2918
+-104.312 26.652 2952
+-104.186 26.652 2975
+-104.06 26.652 3020
+-103.934 26.652 3051
+-103.808 26.652 3062
+-103.682 26.652 3088
+-103.556 26.652 3126
+-103.43 26.652 3151
+-103.304 26.652 3147
+-103.178 26.652 3148
+-103.052 26.652 3166
+-102.926 26.652 3076
+-102.8 26.652 3090
+-102.674 26.652 3141
+-102.548 26.652 3155
+-102.422 26.652 3126
+-102.296 26.652 3141
+-102.17 26.652 3152
+-102.044 26.652 3142
+-101.918 26.652 3152
+-101.792 26.652 3162
+-101.666 26.652 3171
+-101.54 26.652 3179
+-101.414 26.652 3187
+-101.288 26.652 3194
+-101.162 26.652 3137
+-101.036 26.652 3135
+-100.91 26.652 3141
+-100.784 26.652 3146
+-100.658 26.652 3128
+-100.532 26.652 3134
+-100.406 26.652 3194
+-100.28 26.652 3200
+-100.154 26.652 3213
+-100.028 26.652 3200
+-99.902 26.652 3205
+-99.776 26.652 3210
+-99.65 26.652 3215
+-99.524 26.652 3214
+-99.398 26.652 3219
+-99.272 26.652 3208
+-99.146 26.652 3212
+-99.02 26.652 3143
+-98.894 26.652 3147
+-98.768 26.652 3150
+-98.642 26.652 3153
+-98.516 26.652 3156
+-98.39 26.652 3159
+-98.264 26.652 3122
+-98.138 26.652 3251
+-98.012 26.652 3149
+-97.886 26.652 3164
+-97.76 26.652 3167
+-97.634 26.652 3058
+-97.508 26.652 3056
+-97.382 26.652 3055
+-97.256 26.652 3053
+-97.13 26.652 2956
+-97.004 26.652 2953
+-96.878 26.652 2937
+-96.752 26.652 2913
+-96.626 26.652 2901
+-96.5 26.652 2913
+-96.374 26.652 2995
+-96.248 26.652 3057
+-96.122 26.652 3060
+-95.996 26.652 3311
+-95.87 26.652 3348
+-95.744 26.652 3347
+-95.618 26.652 3346
+-95.492 26.652 3345
+-95.366 26.652 3344
+-95.24 26.652 3343
+-95.114 26.652 3342
+-94.988 26.652 3341
+-94.862 26.652 3340
+-94.736 26.652 3339
+-94.61 26.652 3337
+-94.484 26.652 3336
+-94.358 26.652 3335
+-94.232 26.652 3333
+-94.106 26.652 3332
+-93.98 26.652 3468
+-93.854 26.652 3466
+-93.728 26.652 3464
+-93.602 26.652 3462
+-93.476 26.652 3459
+-93.35 26.652 3457
+-93.224 26.652 3454
+-93.098 26.652 3451
+-92.972 26.652 3448
+-92.846 26.652 3445
+-92.72 26.652 3442
+-92.594 26.652 3439
+-92.468 26.652 3473
+-92.342 26.652 3468
+-92.216 26.652 3464
+-92.09 26.652 3458
+-91.964 26.652 3453
+-91.838 26.652 3457
+-91.712 26.652 3451
+-91.586 26.652 3495
+-91.46 26.652 3488
+-91.334 26.652 3481
+-91.208 26.652 3474
+-91.082 26.652 3467
+-90.956 26.652 3460
+-90.83 26.652 3591
+-90.704 26.652 3583
+-90.578 26.652 3575
+-90.452 26.652 3568
+-90.326 26.652 3561
+-90.2 26.652 3555
+-90.074 26.652 3550
+-89.948 26.652 3612
+-89.822 26.652 3611
+-89.696 26.652 3651
+-89.57 26.652 3654
+-89.444 26.652 3711
+-89.318 26.652 3719
+-89.192 26.652 3729
+-89.066 26.652 3741
+-88.94 26.652 3755
+-88.814 26.652 3770
+-88.688 26.652 3827
+-88.562 26.652 3861
+-88.436 26.652 3873
+-88.31 26.652 3893
+-88.184 26.652 3961
+-88.058 26.652 3968
+-87.932 26.652 3932
+-87.806 26.652 3903
+-87.68 26.652 3933
+-87.554 26.652 4026
+-87.428 26.652 4157
+-87.302 26.652 4223
+-87.176 26.652 4261
+-87.05 26.652 4395
+-86.924 26.652 4571
+-86.798 26.652 4699
+-86.672 26.652 4845
+-86.546 26.652 4982
+-86.42 26.652 5097
+-86.294 26.652 5162
+-86.168 26.652 5282
+-86.042 26.652 5460
+-85.916 26.652 5550
+-85.79 26.652 5626
+-85.664 26.652 5772
+-85.538 26.652 5952
+-85.412 26.652 6066
+-85.286 26.652 6243
+-85.16 26.652 6348
+-85.034 26.652 6453
+-84.908 26.652 6560
+-84.782 26.652 6682
+-84.656 26.652 6825
+-84.53 26.652 6963
+-84.404 26.652 7088
+-84.278 26.652 7209
+-84.152 26.652 7346
+-84.026 26.652 7414
+-83.9 26.652 7583
+-83.774 26.652 7708
+-83.648 26.652 7845
+-83.522 26.652 7915
+-83.396 26.652 8044
+-83.27 26.652 8134
+-83.144 26.652 8190
+-83.018 26.652 8333
+-82.892 26.652 8379
+-82.766 26.652 8431
+-82.64 26.652 8521
+-82.514 26.652 8545
+-82.388 26.652 8568
+-82.262 26.652 8592
+-82.136 26.652 8582
+-82.01 26.652 8578
+-81.884 26.652 8549
+-81.758 26.652 8535
+-81.632 26.652 8446
+-81.506 26.652 8391
+-81.38 26.652 8330
+-81.254 26.652 8195
+-81.128 26.652 8126
+-81.002 26.652 8001
+-80.876 26.652 7926
+-80.75 26.652 7795
+-80.624 26.652 7715
+-80.498 26.652 7546
+-80.372 26.652 7420
+-80.246 26.652 7327
+-80.12 26.652 7231
+-79.994 26.652 7061
+-79.868 26.652 6988
+-79.742 26.652 6811
+-79.616 26.652 6677
+-79.49 26.652 6532
+-79.364 26.652 6454
+-79.238 26.652 6358
+-79.112 26.652 6239
+-78.986 26.652 6128
+-78.86 26.652 6069
+-78.734 26.652 5938
+-78.608 26.652 5776
+-78.482 26.652 5687
+-78.356 26.652 5445
+-78.23 26.652 5267
+-78.104 26.652 5054
+-77.978 26.652 4874
+-77.852 26.652 4739
+-77.726 26.652 4653
+-77.6 26.652 4624
+-77.474 26.652 4592
+-77.348 26.652 4562
+-77.222 26.652 4521
+-77.096 26.652 4477
+-76.97 26.652 4367
+-76.844 26.652 4299
+-76.718 26.652 4177
+-76.592 26.652 4064
+-76.466 26.652 3966
+-76.34 26.652 3815
+-76.214 26.652 3646
+-76.088 26.652 3401
+-75.962 26.652 3044
+-75.836 26.652 2716
+-75.71 26.652 2576
+-75.584 26.652 2661
+-75.458 26.652 2831
+-75.332 26.652 3011
+-75.206 26.652 3154
+-75.08 26.652 3262
+-74.954 26.652 3341
+-74.828 26.652 3400
+-74.702 26.652 3401
+-74.576 26.652 3434
+-74.45 26.652 3460
+-74.324 26.652 3358
+-74.198 26.652 3375
+-74.072 26.652 3389
+-73.946 26.652 3401
+-73.82 26.652 3411
+-73.694 26.652 3421
+-73.568 26.652 3429
+-73.442 26.652 3437
+-73.316 26.652 3312
+-73.19 26.652 3239
+-73.064 26.652 3240
+-72.938 26.652 3240
+-72.812 26.652 3217
+-72.686 26.652 3217
+-72.56 26.652 3185
+-72.434 26.652 3170
+-72.308 26.652 3163
+-72.182 26.652 3162
+-72.056 26.652 3051
+-71.93 26.652 3051
+-71.804 26.652 3051
+-71.678 26.652 3051
+-71.552 26.652 2995
+-71.426 26.652 2966
+-71.3 26.652 2960
+-71.174 26.652 2960
+-71.048 26.652 2961
+-70.922 26.652 2961
+-70.796 26.652 2962
+-70.67 26.652 2962
+-70.544 26.652 2963
+-70.418 26.652 2964
+-70.292 26.652 2964
+-70.166 26.652 2965
+-70.04 26.652 2966
+-69.914 26.652 2967
+-69.788 26.652 2968
+-69.662 26.652 2968
+-69.536 26.652 2969
+-69.41 26.652 2970
+-69.284 26.652 2971
+-69.158 26.652 2972
+-69.032 26.652 2973
+-68.906 26.652 2974
+-68.78 26.652 2974
+-68.654 26.652 2975
+-68.528 26.652 2976
+-68.402 26.652 2977
+-68.276 26.652 2978
+-68.15 26.652 2979
+-68.024 26.652 2918
+-67.898 26.652 2919
+-67.772 26.652 2919
+-67.646 26.652 2920
+-67.52 26.652 2921
+-67.394 26.652 2921
+-67.268 26.652 2922
+-67.142 26.652 2923
+-67.016 26.652 2923
+-66.89 26.652 2924
+-66.764 26.652 2924
+-66.638 26.652 2925
+-66.512 26.652 2926
+-66.386 26.652 2926
+-66.26 26.652 2927
+-66.134 26.652 2927
+-66.008 26.652 2928
+-65.882 26.652 2929
+-65.756 26.652 2929
+-65.63 26.652 2930
+-65.504 26.652 2930
+-65.378 26.652 2931
+-65.252 26.652 2931
+-65.126 26.652 2932
+-128 26.6 3044
+-127.874 26.6 3005
+-127.748 26.6 2987
+-127.622 26.6 3000
+-127.496 26.6 3003
+-127.37 26.6 3006
+-127.244 26.6 2972
+-127.118 26.6 3421
+-126.992 26.6 3421
+-126.866 26.6 3420
+-126.74 26.6 3391
+-126.614 26.6 3391
+-126.488 26.6 3374
+-126.362 26.6 3404
+-126.236 26.6 3404
+-126.11 26.6 3467
+-125.984 26.6 3466
+-125.858 26.6 3432
+-125.732 26.6 3451
+-125.606 26.6 3488
+-125.48 26.6 3480
+-125.354 26.6 3511
+-125.228 26.6 3510
+-125.102 26.6 3546
+-124.976 26.6 3523
+-124.85 26.6 3522
+-124.724 26.6 3520
+-124.598 26.6 3553
+-124.472 26.6 3551
+-124.346 26.6 3398
+-124.22 26.6 3406
+-124.094 26.6 3425
+-123.968 26.6 3326
+-123.842 26.6 3324
+-123.716 26.6 3310
+-123.59 26.6 3373
+-123.464 26.6 3345
+-123.338 26.6 3342
+-123.212 26.6 3364
+-123.086 26.6 3266
+-122.96 26.6 3269
+-122.834 26.6 3296
+-122.708 26.6 3289
+-122.582 26.6 3285
+-122.456 26.6 3281
+-122.33 26.6 3203
+-122.204 26.6 3201
+-122.078 26.6 3129
+-121.952 26.6 3134
+-121.826 26.6 3133
+-121.7 26.6 3128
+-121.574 26.6 3095
+-121.448 26.6 3193
+-121.322 26.6 3183
+-121.196 26.6 3161
+-121.07 26.6 3168
+-120.944 26.6 3155
+-120.818 26.6 3106
+-120.692 26.6 3089
+-120.566 26.6 3052
+-120.44 26.6 3062
+-120.314 26.6 3028
+-120.188 26.6 2958
+-120.062 26.6 2943
+-119.936 26.6 2905
+-119.81 26.6 2860
+-119.684 26.6 2805
+-119.558 26.6 2738
+-119.432 26.6 2657
+-119.306 26.6 2556
+-119.18 26.6 2472
+-119.054 26.6 2435
+-118.928 26.6 2485
+-118.802 26.6 2588
+-118.676 26.6 2666
+-118.55 26.6 2701
+-118.424 26.6 2698
+-118.298 26.6 2674
+-118.172 26.6 2662
+-118.046 26.6 2680
+-117.92 26.6 2727
+-117.794 26.6 2780
+-117.668 26.6 2841
+-117.542 26.6 2883
+-117.416 26.6 2906
+-117.29 26.6 2923
+-117.164 26.6 2945
+-117.038 26.6 2934
+-116.912 26.6 2948
+-116.786 26.6 2959
+-116.66 26.6 2964
+-116.534 26.6 2969
+-116.408 26.6 2970
+-116.282 26.6 2961
+-116.156 26.6 2951
+-116.03 26.6 2940
+-115.904 26.6 2927
+-115.778 26.6 2905
+-115.652 26.6 2856
+-115.526 26.6 2801
+-115.4 26.6 2734
+-115.274 26.6 2661
+-115.148 26.6 2571
+-115.022 26.6 2473
+-114.896 26.6 2378
+-114.77 26.6 2322
+-114.644 26.6 2386
+-114.518 26.6 2516
+-114.392 26.6 2641
+-114.266 26.6 2784
+-114.14 26.6 2913
+-114.014 26.6 3007
+-113.888 26.6 3093
+-113.762 26.6 3198
+-113.636 26.6 3254
+-113.51 26.6 3303
+-113.384 26.6 3381
+-113.258 26.6 3430
+-113.132 26.6 3479
+-113.006 26.6 3533
+-112.88 26.6 3585
+-112.754 26.6 3608
+-112.628 26.6 3644
+-112.502 26.6 3675
+-112.376 26.6 3699
+-112.25 26.6 3728
+-112.124 26.6 3751
+-111.998 26.6 3768
+-111.872 26.6 3803
+-111.746 26.6 3858
+-111.62 26.6 3878
+-111.494 26.6 3894
+-111.368 26.6 3912
+-111.242 26.6 3949
+-111.116 26.6 3990
+-110.99 26.6 3990
+-110.864 26.6 3960
+-110.738 26.6 3992
+-110.612 26.6 4002
+-110.486 26.6 3992
+-110.36 26.6 3996
+-110.234 26.6 4004
+-110.108 26.6 4016
+-109.982 26.6 4024
+-109.856 26.6 4014
+-109.73 26.6 3997
+-109.604 26.6 3978
+-109.478 26.6 3960
+-109.352 26.6 3930
+-109.226 26.6 3895
+-109.1 26.6 3850
+-108.974 26.6 3822
+-108.848 26.6 3836
+-108.722 26.6 3822
+-108.596 26.6 3788
+-108.47 26.6 3749
+-108.344 26.6 3699
+-108.218 26.6 3671
+-108.092 26.6 3641
+-107.966 26.6 3619
+-107.84 26.6 3589
+-107.714 26.6 3542
+-107.588 26.6 3500
+-107.462 26.6 3434
+-107.336 26.6 3337
+-107.21 26.6 3195
+-107.084 26.6 3073
+-106.958 26.6 3016
+-106.832 26.6 3026
+-106.706 26.6 3031
+-106.58 26.6 2986
+-106.454 26.6 2907
+-106.328 26.6 2855
+-106.202 26.6 2844
+-106.076 26.6 2845
+-105.95 26.6 2848
+-105.824 26.6 2847
+-105.698 26.6 2841
+-105.572 26.6 2830
+-105.446 26.6 2828
+-105.32 26.6 2819
+-105.194 26.6 2819
+-105.068 26.6 2824
+-104.942 26.6 2839
+-104.816 26.6 2857
+-104.69 26.6 2880
+-104.564 26.6 2909
+-104.438 26.6 2936
+-104.312 26.6 2963
+-104.186 26.6 2993
+-104.06 26.6 3011
+-103.934 26.6 3052
+-103.808 26.6 3079
+-103.682 26.6 3087
+-103.556 26.6 3110
+-103.43 26.6 3147
+-103.304 26.6 3169
+-103.178 26.6 3163
+-103.052 26.6 3161
+-102.926 26.6 3178
+-102.8 26.6 3085
+-102.674 26.6 3098
+-102.548 26.6 3149
+-102.422 26.6 3162
+-102.296 26.6 3132
+-102.17 26.6 3146
+-102.044 26.6 3157
+-101.918 26.6 3147
+-101.792 26.6 3156
+-101.666 26.6 3165
+-101.54 26.6 3174
+-101.414 26.6 3182
+-101.288 26.6 3189
+-101.162 26.6 3196
+-101.036 26.6 3138
+-100.91 26.6 3136
+-100.784 26.6 3142
+-100.658 26.6 3147
+-100.532 26.6 3129
+-100.406 26.6 3135
+-100.28 26.6 3195
+-100.154 26.6 3201
+-100.028 26.6 3214
+-99.902 26.6 3201
+-99.776 26.6 3206
+-99.65 26.6 3211
+-99.524 26.6 3216
+-99.398 26.6 3215
+-99.272 26.6 3220
+-99.146 26.6 3208
+-99.02 26.6 3213
+-98.894 26.6 3144
+-98.768 26.6 3147
+-98.642 26.6 3150
+-98.516 26.6 3153
+-98.39 26.6 3156
+-98.264 26.6 3159
+-98.138 26.6 3122
+-98.012 26.6 3251
+-97.886 26.6 3149
+-97.76 26.6 3164
+-97.634 26.6 3056
+-97.508 26.6 3054
+-97.382 26.6 3052
+-97.256 26.6 3051
+-97.13 26.6 2955
+-97.004 26.6 2952
+-96.878 26.6 2936
+-96.752 26.6 2913
+-96.626 26.6 2901
+-96.5 26.6 2914
+-96.374 26.6 2996
+-96.248 26.6 3058
+-96.122 26.6 3061
+-95.996 26.6 3311
+-95.87 26.6 3347
+-95.744 26.6 3346
+-95.618 26.6 3346
+-95.492 26.6 3345
+-95.366 26.6 3344
+-95.24 26.6 3343
+-95.114 26.6 3342
+-94.988 26.6 3340
+-94.862 26.6 3339
+-94.736 26.6 3338
+-94.61 26.6 3337
+-94.484 26.6 3335
+-94.358 26.6 3334
+-94.232 26.6 3333
+-94.106 26.6 3470
+-93.98 26.6 3468
+-93.854 26.6 3466
+-93.728 26.6 3463
+-93.602 26.6 3461
+-93.476 26.6 3459
+-93.35 26.6 3457
+-93.224 26.6 3454
+-93.098 26.6 3451
+-92.972 26.6 3449
+-92.846 26.6 3446
+-92.72 26.6 3443
+-92.594 26.6 3443
+-92.468 26.6 3439
+-92.342 26.6 3436
+-92.216 26.6 3432
+-92.09 26.6 3460
+-91.964 26.6 3464
+-91.838 26.6 3460
+-91.712 26.6 3505
+-91.586 26.6 3500
+-91.46 26.6 3494
+-91.334 26.6 3488
+-91.208 26.6 3482
+-91.082 26.6 3476
+-90.956 26.6 3575
+-90.83 26.6 3569
+-90.704 26.6 3564
+-90.578 26.6 3559
+-90.452 26.6 3555
+-90.326 26.6 3582
+-90.2 26.6 3578
+-90.074 26.6 3629
+-89.948 26.6 3629
+-89.822 26.6 3630
+-89.696 26.6 3633
+-89.57 26.6 3676
+-89.444 26.6 3682
+-89.318 26.6 3742
+-89.192 26.6 3753
+-89.066 26.6 3765
+-88.94 26.6 3791
+-88.814 26.6 3834
+-88.688 26.6 3883
+-88.562 26.6 3895
+-88.436 26.6 3920
+-88.31 26.6 3987
+-88.184 26.6 3990
+-88.058 26.6 3988
+-87.932 26.6 4032
+-87.806 26.6 4064
+-87.68 26.6 4079
+-87.554 26.6 4129
+-87.428 26.6 4198
+-87.302 26.6 4252
+-87.176 26.6 4362
+-87.05 26.6 4466
+-86.924 26.6 4594
+-86.798 26.6 4714
+-86.672 26.6 4872
+-86.546 26.6 4995
+-86.42 26.6 5104
+-86.294 26.6 5152
+-86.168 26.6 5263
+-86.042 26.6 5436
+-85.916 26.6 5541
+-85.79 26.6 5633
+-85.664 26.6 5772
+-85.538 26.6 5948
+-85.412 26.6 6057
+-85.286 26.6 6237
+-85.16 26.6 6336
+-85.034 26.6 6419
+-84.908 26.6 6567
+-84.782 26.6 6727
+-84.656 26.6 6781
+-84.53 26.6 6904
+-84.404 26.6 7049
+-84.278 26.6 7168
+-84.152 26.6 7328
+-84.026 26.6 7452
+-83.9 26.6 7541
+-83.774 26.6 7661
+-83.648 26.6 7749
+-83.522 26.6 7884
+-83.396 26.6 7970
+-83.27 26.6 8041
+-83.144 26.6 8152
+-83.018 26.6 8206
+-82.892 26.6 8331
+-82.766 26.6 8371
+-82.64 26.6 8438
+-82.514 26.6 8518
+-82.388 26.6 8518
+-82.262 26.6 8546
+-82.136 26.6 8532
+-82.01 26.6 8522
+-81.884 26.6 8475
+-81.758 26.6 8490
+-81.632 26.6 8411
+-81.506 26.6 8299
+-81.38 26.6 8256
+-81.254 26.6 8155
+-81.128 26.6 8077
+-81.002 26.6 8000
+-80.876 26.6 7890
+-80.75 26.6 7744
+-80.624 26.6 7707
+-80.498 26.6 7556
+-80.372 26.6 7419
+-80.246 26.6 7253
+-80.12 26.6 7157
+-79.994 26.6 7092
+-79.868 26.6 6928
+-79.742 26.6 6745
+-79.616 26.6 6642
+-79.49 26.6 6546
+-79.364 26.6 6471
+-79.238 26.6 6334
+-79.112 26.6 6192
+-78.986 26.6 6058
+-78.86 26.6 6002
+-78.734 26.6 5945
+-78.608 26.6 5837
+-78.482 26.6 5627
+-78.356 26.6 5404
+-78.23 26.6 5238
+-78.104 26.6 5077
+-77.978 26.6 4895
+-77.852 26.6 4772
+-77.726 26.6 4654
+-77.6 26.6 4575
+-77.474 26.6 4569
+-77.348 26.6 4524
+-77.222 26.6 4497
+-77.096 26.6 4484
+-76.97 26.6 4400
+-76.844 26.6 4341
+-76.718 26.6 4266
+-76.592 26.6 4130
+-76.466 26.6 4006
+-76.34 26.6 3880
+-76.214 26.6 3723
+-76.088 26.6 3498
+-75.962 26.6 3242
+-75.836 26.6 2982
+-75.71 26.6 2852
+-75.584 26.6 2874
+-75.458 26.6 2992
+-75.332 26.6 3093
+-75.206 26.6 3176
+-75.08 26.6 3262
+-74.954 26.6 3329
+-74.828 26.6 3380
+-74.702 26.6 3419
+-74.576 26.6 3450
+-74.45 26.6 3474
+-74.324 26.6 3494
+-74.198 26.6 3385
+-74.072 26.6 3399
+-73.946 26.6 3410
+-73.82 26.6 3420
+-73.694 26.6 3429
+-73.568 26.6 3437
+-73.442 26.6 3312
+-73.316 26.6 3235
+-73.19 26.6 3236
+-73.064 26.6 3236
+-72.938 26.6 3237
+-72.812 26.6 3237
+-72.686 26.6 3214
+-72.56 26.6 3213
+-72.434 26.6 3180
+-72.308 26.6 3166
+-72.182 26.6 3158
+-72.056 26.6 3044
+-71.93 26.6 3044
+-71.804 26.6 3044
+-71.678 26.6 3045
+-71.552 26.6 3045
+-71.426 26.6 2987
+-71.3 26.6 2959
+-71.174 26.6 2953
+-71.048 26.6 2953
+-70.922 26.6 2954
+-70.796 26.6 2955
+-70.67 26.6 2955
+-70.544 26.6 2956
+-70.418 26.6 2957
+-70.292 26.6 2958
+-70.166 26.6 2959
+-70.04 26.6 2960
+-69.914 26.6 2961
+-69.788 26.6 2962
+-69.662 26.6 2963
+-69.536 26.6 2964
+-69.41 26.6 2965
+-69.284 26.6 2966
+-69.158 26.6 2967
+-69.032 26.6 2968
+-68.906 26.6 2969
+-68.78 26.6 2970
+-68.654 26.6 2971
+-68.528 26.6 2972
+-68.402 26.6 2973
+-68.276 26.6 2974
+-68.15 26.6 2975
+-68.024 26.6 2976
+-67.898 26.6 2914
+-67.772 26.6 2915
+-67.646 26.6 2915
+-67.52 26.6 2916
+-67.394 26.6 2917
+-67.268 26.6 2918
+-67.142 26.6 2918
+-67.016 26.6 2919
+-66.89 26.6 2920
+-66.764 26.6 2921
+-66.638 26.6 2921
+-66.512 26.6 2922
+-66.386 26.6 2923
+-66.26 26.6 2923
+-66.134 26.6 2924
+-66.008 26.6 2925
+-65.882 26.6 2925
+-65.756 26.6 2926
+-65.63 26.6 2927
+-65.504 26.6 2927
+-65.378 26.6 2928
+-65.252 26.6 2928
+-65.126 26.6 2929
+-128 26.548 3007
+-127.874 26.548 2988
+-127.748 26.548 3001
+-127.622 26.548 3004
+-127.496 26.548 3007
+-127.37 26.548 2972
+-127.244 26.548 3422
+-127.118 26.548 3422
+-126.992 26.548 3421
+-126.866 26.548 3392
+-126.74 26.548 3391
+-126.614 26.548 3375
+-126.488 26.548 3405
+-126.362 26.548 3405
+-126.236 26.548 3469
+-126.11 26.548 3468
+-125.984 26.548 3433
+-125.858 26.548 3452
+-125.732 26.548 3490
+-125.606 26.548 3482
+-125.48 26.548 3513
+-125.354 26.548 3512
+-125.228 26.548 3548
+-125.102 26.548 3525
+-124.976 26.548 3524
+-124.85 26.548 3522
+-124.724 26.548 3556
+-124.598 26.548 3554
+-124.472 26.548 3395
+-124.346 26.548 3403
+-124.22 26.548 3422
+-124.094 26.548 3322
+-123.968 26.548 3319
+-123.842 26.548 3305
+-123.716 26.548 3369
+-123.59 26.548 3340
+-123.464 26.548 3337
+-123.338 26.548 3360
+-123.212 26.548 3261
+-123.086 26.548 3264
+-122.96 26.548 3291
+-122.834 26.548 3283
+-122.708 26.548 3279
+-122.582 26.548 3275
+-122.456 26.548 3196
+-122.33 26.548 3194
+-122.204 26.548 3122
+-122.078 26.548 3127
+-121.952 26.548 3126
+-121.826 26.548 3120
+-121.7 26.548 3087
+-121.574 26.548 3081
+-121.448 26.548 3074
+-121.322 26.548 3055
+-121.196 26.548 3172
+-121.07 26.548 3159
+-120.944 26.548 3110
+-120.818 26.548 3095
+-120.692 26.548 3059
+-120.566 26.548 3073
+-120.44 26.548 3040
+-120.314 26.548 2969
+-120.188 26.548 2959
+-120.062 26.548 2926
+-119.936 26.548 2887
+-119.81 26.548 2839
+-119.684 26.548 2782
+-119.558 26.548 2712
+-119.432 26.548 2615
+-119.306 26.548 2519
+-119.18 26.548 2427
+-119.054 26.548 2383
+-118.928 26.548 2434
+-118.802 26.548 2543
+-118.676 26.548 2632
+-118.55 26.548 2664
+-118.424 26.548 2646
+-118.298 26.548 2608
+-118.172 26.548 2588
+-118.046 26.548 2605
+-117.92 26.548 2647
+-117.794 26.548 2712
+-117.668 26.548 2786
+-117.542 26.548 2843
+-117.416 26.548 2880
+-117.29 26.548 2907
+-117.164 26.548 2897
+-117.038 26.548 2912
+-116.912 26.548 2925
+-116.786 26.548 2936
+-116.66 26.548 2932
+-116.534 26.548 2940
+-116.408 26.548 2942
+-116.282 26.548 2936
+-116.156 26.548 2924
+-116.03 26.548 2907
+-115.904 26.548 2893
+-115.778 26.548 2872
+-115.652 26.548 2815
+-115.526 26.548 2761
+-115.4 26.548 2689
+-115.274 26.548 2605
+-115.148 26.548 2514
+-115.022 26.548 2411
+-114.896 26.548 2302
+-114.77 26.548 2234
+-114.644 26.548 2307
+-114.518 26.548 2452
+-114.392 26.548 2592
+-114.266 26.548 2717
+-114.14 26.548 2847
+-114.014 26.548 2966
+-113.888 26.548 3049
+-113.762 26.548 3150
+-113.636 26.548 3203
+-113.51 26.548 3249
+-113.384 26.548 3301
+-113.258 26.548 3347
+-113.132 26.548 3377
+-113.006 26.548 3468
+-112.88 26.548 3506
+-112.754 26.548 3542
+-112.628 26.548 3585
+-112.502 26.548 3621
+-112.376 26.548 3646
+-112.25 26.548 3672
+-112.124 26.548 3717
+-111.998 26.548 3733
+-111.872 26.548 3748
+-111.746 26.548 3791
+-111.62 26.548 3815
+-111.494 26.548 3835
+-111.368 26.548 3862
+-111.242 26.548 3892
+-111.116 26.548 3894
+-110.99 26.548 3907
+-110.864 26.548 3914
+-110.738 26.548 3928
+-110.612 26.548 3944
+-110.486 26.548 3955
+-110.36 26.548 3960
+-110.234 26.548 3954
+-110.108 26.548 3973
+-109.982 26.548 3977
+-109.856 26.548 3978
+-109.73 26.548 3962
+-109.604 26.548 3929
+-109.478 26.548 3885
+-109.352 26.548 3853
+-109.226 26.548 3844
+-109.1 26.548 3813
+-108.974 26.548 3776
+-108.848 26.548 3806
+-108.722 26.548 3790
+-108.596 26.548 3728
+-108.47 26.548 3680
+-108.344 26.548 3660
+-108.218 26.548 3657
+-108.092 26.548 3649
+-107.966 26.548 3638
+-107.84 26.548 3596
+-107.714 26.548 3534
+-107.588 26.548 3491
+-107.462 26.548 3429
+-107.336 26.548 3319
+-107.21 26.548 3222
+-107.084 26.548 3139
+-106.958 26.548 3087
+-106.832 26.548 3067
+-106.706 26.548 3046
+-106.58 26.548 3011
+-106.454 26.548 2959
+-106.328 26.548 2897
+-106.202 26.548 2862
+-106.076 26.548 2856
+-105.95 26.548 2847
+-105.824 26.548 2840
+-105.698 26.548 2836
+-105.572 26.548 2832
+-105.446 26.548 2831
+-105.32 26.548 2841
+-105.194 26.548 2843
+-105.068 26.548 2853
+-104.942 26.548 2866
+-104.816 26.548 2885
+-104.69 26.548 2903
+-104.564 26.548 2926
+-104.438 26.548 2953
+-104.312 26.548 2976
+-104.186 26.548 3000
+-104.06 26.548 3026
+-103.934 26.548 3040
+-103.808 26.548 3080
+-103.682 26.548 3104
+-103.556 26.548 3108
+-103.43 26.548 3129
+-103.304 26.548 3165
+-103.178 26.548 3186
+-103.052 26.548 3177
+-102.926 26.548 3174
+-102.8 26.548 3190
+-102.674 26.548 3093
+-102.548 26.548 3106
+-102.422 26.548 3157
+-102.296 26.548 3169
+-102.17 26.548 3138
+-102.044 26.548 3152
+-101.918 26.548 3163
+-101.792 26.548 3151
+-101.666 26.548 3160
+-101.54 26.548 3169
+-101.414 26.548 3177
+-101.288 26.548 3185
+-101.162 26.548 3192
+-101.036 26.548 3199
+-100.91 26.548 3140
+-100.784 26.548 3138
+-100.658 26.548 3143
+-100.532 26.548 3149
+-100.406 26.548 3131
+-100.28 26.548 3136
+-100.154 26.548 3197
+-100.028 26.548 3202
+-99.902 26.548 3216
+-99.776 26.548 3202
+-99.65 26.548 3208
+-99.524 26.548 3212
+-99.398 26.548 3217
+-99.272 26.548 3216
+-99.146 26.548 3221
+-99.02 26.548 3209
+-98.894 26.548 3214
+-98.768 26.548 3144
+-98.642 26.548 3147
+-98.516 26.548 3150
+-98.39 26.548 3153
+-98.264 26.548 3156
+-98.138 26.548 3159
+-98.012 26.548 3121
+-97.886 26.548 3251
+-97.76 26.548 3149
+-97.634 26.548 3053
+-97.508 26.548 3052
+-97.382 26.548 3050
+-97.256 26.548 3048
+-97.13 26.548 2955
+-97.004 26.548 2951
+-96.878 26.548 2935
+-96.752 26.548 2931
+-96.626 26.548 2877
+-96.5 26.548 2915
+-96.374 26.548 2997
+-96.248 26.548 3059
+-96.122 26.548 3062
+-95.996 26.548 3311
+-95.87 26.548 3347
+-95.744 26.548 3346
+-95.618 26.548 3345
+-95.492 26.548 3344
+-95.366 26.548 3343
+-95.24 26.548 3342
+-95.114 26.548 3341
+-94.988 26.548 3340
+-94.862 26.548 3339
+-94.736 26.548 3337
+-94.61 26.548 3336
+-94.484 26.548 3335
+-94.358 26.548 3333
+-94.232 26.548 3436
+-94.106 26.548 3434
+-93.98 26.548 3467
+-93.854 26.548 3431
+-93.728 26.548 3463
+-93.602 26.548 3428
+-93.476 26.548 3459
+-93.35 26.548 3424
+-93.224 26.548 3454
+-93.098 26.548 3420
+-92.972 26.548 3449
+-92.846 26.548 3415
+-92.72 26.548 3446
+-92.594 26.548 3443
+-92.468 26.548 3439
+-92.342 26.548 3436
+-92.216 26.548 3432
+-92.09 26.548 3429
+-91.964 26.548 3440
+-91.838 26.548 3490
+-91.712 26.548 3486
+-91.586 26.548 3482
+-91.46 26.548 3477
+-91.334 26.548 3472
+-91.208 26.548 3468
+-91.082 26.548 3474
+-90.956 26.548 3586
+-90.83 26.548 3582
+-90.704 26.548 3578
+-90.578 26.548 3575
+-90.452 26.548 3572
+-90.326 26.548 3570
+-90.2 26.548 3654
+-90.074 26.548 3654
+-89.948 26.548 3655
+-89.822 26.548 3658
+-89.696 26.548 3662
+-89.57 26.548 3668
+-89.444 26.548 3736
+-89.318 26.548 3775
+-89.192 26.548 3786
+-89.066 26.548 3797
+-88.94 26.548 3845
+-88.814 26.548 3900
+-88.688 26.548 3912
+-88.562 26.548 3938
+-88.436 26.548 3988
+-88.31 26.548 3998
+-88.184 26.548 4029
+-88.058 26.548 4094
+-87.932 26.548 4090
+-87.806 26.548 4093
+-87.68 26.548 4154
+-87.554 26.548 4162
+-87.428 26.548 4172
+-87.302 26.548 4196
+-87.176 26.548 4329
+-87.05 26.548 4460
+-86.924 26.548 4600
+-86.798 26.548 4761
+-86.672 26.548 4890
+-86.546 26.548 5014
+-86.42 26.548 5086
+-86.294 26.548 5037
+-86.168 26.548 5221
+-86.042 26.548 5433
+-85.916 26.548 5460
+-85.79 26.548 5609
+-85.664 26.548 5781
+-85.538 26.548 5953
+-85.412 26.548 6021
+-85.286 26.548 6195
+-85.16 26.548 6241
+-85.034 26.548 6390
+-84.908 26.548 6546
+-84.782 26.548 6665
+-84.656 26.548 6726
+-84.53 26.548 6879
+-84.404 26.548 7030
+-84.278 26.548 7173
+-84.152 26.548 7261
+-84.026 26.548 7418
+-83.9 26.548 7565
+-83.774 26.548 7589
+-83.648 26.548 7701
+-83.522 26.548 7803
+-83.396 26.548 7926
+-83.27 26.548 7996
+-83.144 26.548 8115
+-83.018 26.548 8207
+-82.892 26.548 8260
+-82.766 26.548 8367
+-82.64 26.548 8390
+-82.514 26.548 8442
+-82.388 26.548 8457
+-82.262 26.548 8484
+-82.136 26.548 8498
+-82.01 26.548 8494
+-81.884 26.548 8410
+-81.758 26.548 8407
+-81.632 26.548 8342
+-81.506 26.548 8298
+-81.38 26.548 8220
+-81.254 26.548 8173
+-81.128 26.548 7996
+-81.002 26.548 7939
+-80.876 26.548 7831
+-80.75 26.548 7694
+-80.624 26.548 7599
+-80.498 26.548 7498
+-80.372 26.548 7404
+-80.246 26.548 7299
+-80.12 26.548 7170
+-79.994 26.548 7067
+-79.868 26.548 6955
+-79.742 26.548 6740
+-79.616 26.548 6700
+-79.49 26.548 6526
+-79.364 26.548 6373
+-79.238 26.548 6269
+-79.112 26.548 6162
+-78.986 26.548 6048
+-78.86 26.548 5839
+-78.734 26.548 5887
+-78.608 26.548 5744
+-78.482 26.548 5584
+-78.356 26.548 5351
+-78.23 26.548 5211
+-78.104 26.548 5062
+-77.978 26.548 4942
+-77.852 26.548 4795
+-77.726 26.548 4665
+-77.6 26.548 4592
+-77.474 26.548 4528
+-77.348 26.548 4399
+-77.222 26.548 4421
+-77.096 26.548 4462
+-76.97 26.548 4411
+-76.844 26.548 4352
+-76.718 26.548 4288
+-76.592 26.548 4217
+-76.466 26.548 4086
+-76.34 26.548 3947
+-76.214 26.548 3801
+-76.088 26.548 3633
+-75.962 26.548 3435
+-75.836 26.548 3259
+-75.71 26.548 3135
+-75.584 26.548 3112
+-75.458 26.548 3146
+-75.332 26.548 3206
+-75.206 26.548 3237
+-75.08 26.548 3301
+-74.954 26.548 3353
+-74.828 26.548 3395
+-74.702 26.548 3429
+-74.576 26.548 3455
+-74.45 26.548 3477
+-74.324 26.548 3495
+-74.198 26.548 3509
+-74.072 26.548 3409
+-73.946 26.548 3420
+-73.82 26.548 3430
+-73.694 26.548 3438
+-73.568 26.548 3311
+-73.442 26.548 3312
+-73.316 26.548 3232
+-73.19 26.548 3233
+-73.064 26.548 3233
+-72.938 26.548 3233
+-72.812 26.548 3232
+-72.686 26.548 3232
+-72.56 26.548 3208
+-72.434 26.548 3149
+-72.308 26.548 3148
+-72.182 26.548 3160
+-72.056 26.548 3036
+-71.93 26.548 3037
+-71.804 26.548 3037
+-71.678 26.548 3037
+-71.552 26.548 3038
+-71.426 26.548 3038
+-71.3 26.548 2980
+-71.174 26.548 2952
+-71.048 26.548 2946
+-70.922 26.548 2899
+-70.796 26.548 2899
+-70.67 26.548 2899
+-70.544 26.548 2899
+-70.418 26.548 2900
+-70.292 26.548 2900
+-70.166 26.548 2900
+-70.04 26.548 2901
+-69.914 26.548 2901
+-69.788 26.548 2902
+-69.662 26.548 2903
+-69.536 26.548 2903
+-69.41 26.548 2904
+-69.284 26.548 2905
+-69.158 26.548 2905
+-69.032 26.548 2906
+-68.906 26.548 2907
+-68.78 26.548 2907
+-68.654 26.548 2908
+-68.528 26.548 2909
+-68.402 26.548 2909
+-68.276 26.548 2910
+-68.15 26.548 2911
+-68.024 26.548 2912
+-67.898 26.548 2912
+-67.772 26.548 2910
+-67.646 26.548 2911
+-67.52 26.548 2912
+-67.394 26.548 2912
+-67.268 26.548 2913
+-67.142 26.548 2914
+-67.016 26.548 2915
+-66.89 26.548 2916
+-66.764 26.548 2917
+-66.638 26.548 2917
+-66.512 26.548 2918
+-66.386 26.548 2919
+-66.26 26.548 2920
+-66.134 26.548 2920
+-66.008 26.548 2921
+-65.882 26.548 2922
+-65.756 26.548 2923
+-65.63 26.548 2923
+-65.504 26.548 2924
+-65.378 26.548 2925
+-65.252 26.548 2925
+-65.126 26.548 2926
+-128 26.496 2989
+-127.874 26.496 3002
+-127.748 26.496 3004
+-127.622 26.496 3007
+-127.496 26.496 2972
+-127.37 26.496 3423
+-127.244 26.496 3423
+-127.118 26.496 3422
+-126.992 26.496 3393
+-126.866 26.496 3392
+-126.74 26.496 3375
+-126.614 26.496 3406
+-126.488 26.496 3405
+-126.362 26.496 3470
+-126.236 26.496 3469
+-126.11 26.496 3434
+-125.984 26.496 3453
+-125.858 26.496 3491
+-125.732 26.496 3483
+-125.606 26.496 3515
+-125.48 26.496 3514
+-125.354 26.496 3551
+-125.228 26.496 3527
+-125.102 26.496 3526
+-124.976 26.496 3525
+-124.85 26.496 3558
+-124.724 26.496 3557
+-124.598 26.496 3391
+-124.472 26.496 3399
+-124.346 26.496 3418
+-124.22 26.496 3318
+-124.094 26.496 3315
+-123.968 26.496 3301
+-123.842 26.496 3365
+-123.716 26.496 3335
+-123.59 26.496 3332
+-123.464 26.496 3355
+-123.338 26.496 3255
+-123.212 26.496 3259
+-123.086 26.496 3285
+-122.96 26.496 3278
+-122.834 26.496 3274
+-122.708 26.496 3270
+-122.582 26.496 3190
+-122.456 26.496 3188
+-122.33 26.496 3114
+-122.204 26.496 3120
+-122.078 26.496 3119
+-121.952 26.496 3113
+-121.826 26.496 3080
+-121.7 26.496 3074
+-121.574 26.496 3067
+-121.448 26.496 3078
+-121.322 26.496 3059
+-121.196 26.496 3050
+-121.07 26.496 3006
+-120.944 26.496 2995
+-120.818 26.496 3018
+-120.692 26.496 2987
+-120.566 26.496 2961
+-120.44 26.496 2893
+-120.314 26.496 2976
+-120.188 26.496 2948
+-120.062 26.496 2915
+-119.936 26.496 2875
+-119.81 26.496 2829
+-119.684 26.496 2773
+-119.558 26.496 2691
+-119.432 26.496 2615
+-119.306 26.496 2533
+-119.18 26.496 2458
+-119.054 26.496 2426
+-118.928 26.496 2466
+-118.802 26.496 2554
+-118.676 26.496 2624
+-118.55 26.496 2642
+-118.424 26.496 2619
+-118.298 26.496 2580
+-118.172 26.496 2560
+-118.046 26.496 2561
+-117.92 26.496 2590
+-117.794 26.496 2659
+-117.668 26.496 2736
+-117.542 26.496 2801
+-117.416 26.496 2848
+-117.29 26.496 2850
+-117.164 26.496 2870
+-117.038 26.496 2886
+-116.912 26.496 2881
+-116.786 26.496 2900
+-116.66 26.496 2904
+-116.534 26.496 2905
+-116.408 26.496 2910
+-116.282 26.496 2908
+-116.156 26.496 2896
+-116.03 26.496 2877
+-115.904 26.496 2847
+-115.778 26.496 2816
+-115.652 26.496 2777
+-115.526 26.496 2720
+-115.4 26.496 2650
+-115.274 26.496 2563
+-115.148 26.496 2475
+-115.022 26.496 2377
+-114.896 26.496 2300
+-114.77 26.496 2274
+-114.644 26.496 2315
+-114.518 26.496 2418
+-114.392 26.496 2550
+-114.266 26.496 2699
+-114.14 26.496 2831
+-114.014 26.496 2932
+-113.888 26.496 3025
+-113.762 26.496 3077
+-113.636 26.496 3120
+-113.51 26.496 3171
+-113.384 26.496 3219
+-113.258 26.496 3267
+-113.132 26.496 3304
+-113.006 26.496 3362
+-112.88 26.496 3384
+-112.754 26.496 3439
+-112.628 26.496 3510
+-112.502 26.496 3565
+-112.376 26.496 3584
+-112.25 26.496 3588
+-112.124 26.496 3651
+-111.998 26.496 3706
+-111.872 26.496 3716
+-111.746 26.496 3733
+-111.62 26.496 3747
+-111.494 26.496 3779
+-111.368 26.496 3818
+-111.242 26.496 3828
+-111.116 26.496 3856
+-110.99 26.496 3833
+-110.864 26.496 3877
+-110.738 26.496 3893
+-110.612 26.496 3907
+-110.486 26.496 3930
+-110.36 26.496 3934
+-110.234 26.496 3941
+-110.108 26.496 3951
+-109.982 26.496 3964
+-109.856 26.496 3955
+-109.73 26.496 3927
+-109.604 26.496 3889
+-109.478 26.496 3841
+-109.352 26.496 3822
+-109.226 26.496 3817
+-109.1 26.496 3795
+-108.974 26.496 3779
+-108.848 26.496 3774
+-108.722 26.496 3729
+-108.596 26.496 3637
+-108.47 26.496 3570
+-108.344 26.496 3585
+-108.218 26.496 3630
+-108.092 26.496 3644
+-107.966 26.496 3614
+-107.84 26.496 3599
+-107.714 26.496 3533
+-107.588 26.496 3485
+-107.462 26.496 3430
+-107.336 26.496 3329
+-107.21 26.496 3254
+-107.084 26.496 3184
+-106.958 26.496 3135
+-106.832 26.496 3096
+-106.706 26.496 3057
+-106.58 26.496 3009
+-106.454 26.496 2961
+-106.328 26.496 2909
+-106.202 26.496 2849
+-106.076 26.496 2816
+-105.95 26.496 2812
+-105.824 26.496 2806
+-105.698 26.496 2807
+-105.572 26.496 2813
+-105.446 26.496 2822
+-105.32 26.496 2833
+-105.194 26.496 2854
+-105.068 26.496 2866
+-104.942 26.496 2883
+-104.816 26.496 2900
+-104.69 26.496 2921
+-104.564 26.496 2939
+-104.438 26.496 2963
+-104.312 26.496 2988
+-104.186 26.496 3009
+-104.06 26.496 3030
+-103.934 26.496 3053
+-103.808 26.496 3065
+-103.682 26.496 3104
+-103.556 26.496 3126
+-103.43 26.496 3127
+-103.304 26.496 3147
+-103.178 26.496 3183
+-103.052 26.496 3202
+-102.926 26.496 3190
+-102.8 26.496 3185
+-102.674 26.496 3201
+-102.548 26.496 3102
+-102.422 26.496 3113
+-102.296 26.496 3164
+-102.17 26.496 3176
+-102.044 26.496 3144
+-101.918 26.496 3158
+-101.792 26.496 3168
+-101.666 26.496 3155
+-101.54 26.496 3164
+-101.414 26.496 3172
+-101.288 26.496 3180
+-101.162 26.496 3188
+-101.036 26.496 3195
+-100.91 26.496 3201
+-100.784 26.496 3142
+-100.658 26.496 3140
+-100.532 26.496 3145
+-100.406 26.496 3150
+-100.28 26.496 3132
+-100.154 26.496 3138
+-100.028 26.496 3198
+-99.902 26.496 3204
+-99.776 26.496 3218
+-99.65 26.496 3204
+-99.524 26.496 3209
+-99.398 26.496 3214
+-99.272 26.496 3218
+-99.146 26.496 3217
+-99.02 26.496 3222
+-98.894 26.496 3210
+-98.768 26.496 3214
+-98.642 26.496 3144
+-98.516 26.496 3147
+-98.39 26.496 3151
+-98.264 26.496 3154
+-98.138 26.496 3157
+-98.012 26.496 3159
+-97.886 26.496 3121
+-97.76 26.496 3252
+-97.634 26.496 3157
+-97.508 26.496 3050
+-97.382 26.496 3048
+-97.256 26.496 3046
+-97.13 26.496 2954
+-97.004 26.496 2950
+-96.878 26.496 2934
+-96.752 26.496 2932
+-96.626 26.496 2878
+-96.5 26.496 2916
+-96.374 26.496 2998
+-96.248 26.496 3060
+-96.122 26.496 3063
+-95.996 26.496 3310
+-95.87 26.496 3346
+-95.744 26.496 3345
+-95.618 26.496 3344
+-95.492 26.496 3343
+-95.366 26.496 3342
+-95.24 26.496 3341
+-95.114 26.496 3340
+-94.988 26.496 3339
+-94.862 26.496 3338
+-94.736 26.496 3337
+-94.61 26.496 3335
+-94.484 26.496 3334
+-94.358 26.496 3436
+-94.232 26.496 3435
+-94.106 26.496 3433
+-93.98 26.496 3432
+-93.854 26.496 3430
+-93.728 26.496 3429
+-93.602 26.496 3427
+-93.476 26.496 3425
+-93.35 26.496 3423
+-93.224 26.496 3421
+-93.098 26.496 3419
+-92.972 26.496 3417
+-92.846 26.496 3448
+-92.72 26.496 3445
+-92.594 26.496 3442
+-92.468 26.496 3439
+-92.342 26.496 3436
+-92.216 26.496 3433
+-92.09 26.496 3446
+-91.964 26.496 3443
+-91.838 26.496 3439
+-91.712 26.496 3490
+-91.586 26.496 3486
+-91.46 26.496 3482
+-91.334 26.496 3478
+-91.208 26.496 3485
+-91.082 26.496 3600
+-90.956 26.496 3597
+-90.83 26.496 3593
+-90.704 26.496 3591
+-90.578 26.496 3588
+-90.452 26.496 3587
+-90.326 26.496 3586
+-90.2 26.496 3675
+-90.074 26.496 3676
+-89.948 26.496 3678
+-89.822 26.496 3682
+-89.696 26.496 3687
+-89.57 26.496 3693
+-89.444 26.496 3701
+-89.318 26.496 3771
+-89.192 26.496 3814
+-89.066 26.496 3840
+-88.94 26.496 3913
+-88.814 26.496 3925
+-88.688 26.496 3936
+-88.562 26.496 3948
+-88.436 26.496 4013
+-88.31 26.496 4026
+-88.184 26.496 4059
+-88.058 26.496 4132
+-87.932 26.496 4132
+-87.806 26.496 4132
+-87.68 26.496 4126
+-87.554 26.496 4139
+-87.428 26.496 4068
+-87.302 26.496 4024
+-87.176 26.496 4175
+-87.05 26.496 4401
+-86.924 26.496 4588
+-86.798 26.496 4758
+-86.672 26.496 4914
+-86.546 26.496 5002
+-86.42 26.496 5066
+-86.294 26.496 5143
+-86.168 26.496 5285
+-86.042 26.496 5421
+-85.916 26.496 5515
+-85.79 26.496 5634
+-85.664 26.496 5745
+-85.538 26.496 5892
+-85.412 26.496 6054
+-85.286 26.496 6185
+-85.16 26.496 6292
+-85.034 26.496 6404
+-84.908 26.496 6529
+-84.782 26.496 6639
+-84.656 26.496 6728
+-84.53 26.496 6862
+-84.404 26.496 6976
+-84.278 26.496 7081
+-84.152 26.496 7230
+-84.026 26.496 7313
+-83.9 26.496 7484
+-83.774 26.496 7584
+-83.648 26.496 7748
+-83.522 26.496 7783
+-83.396 26.496 7871
+-83.27 26.496 8002
+-83.144 26.496 8113
+-83.018 26.496 8184
+-82.892 26.496 8234
+-82.766 26.496 8283
+-82.64 26.496 8311
+-82.514 26.496 8371
+-82.388 26.496 8427
+-82.262 26.496 8425
+-82.136 26.496 8430
+-82.01 26.496 8407
+-81.884 26.496 8406
+-81.758 26.496 8346
+-81.632 26.496 8278
+-81.506 26.496 8206
+-81.38 26.496 8148
+-81.254 26.496 8110
+-81.128 26.496 7979
+-81.002 26.496 7902
+-80.876 26.496 7772
+-80.75 26.496 7652
+-80.624 26.496 7626
+-80.498 26.496 7498
+-80.372 26.496 7321
+-80.246 26.496 7269
+-80.12 26.496 7081
+-79.994 26.496 7091
+-79.868 26.496 6940
+-79.742 26.496 6689
+-79.616 26.496 6566
+-79.49 26.496 6483
+-79.364 26.496 6313
+-79.238 26.496 6266
+-79.112 26.496 6155
+-78.986 26.496 5967
+-78.86 26.496 5942
+-78.734 26.496 5807
+-78.608 26.496 5658
+-78.482 26.496 5507
+-78.356 26.496 5316
+-78.23 26.496 5191
+-78.104 26.496 5066
+-77.978 26.496 4932
+-77.852 26.496 4787
+-77.726 26.496 4670
+-77.6 26.496 4527
+-77.474 26.496 4474
+-77.348 26.496 4224
+-77.222 26.496 4352
+-77.096 26.496 4436
+-76.97 26.496 4402
+-76.844 26.496 4366
+-76.718 26.496 4317
+-76.592 26.496 4255
+-76.466 26.496 4177
+-76.34 26.496 4037
+-76.214 26.496 3895
+-76.088 26.496 3751
+-75.962 26.496 3601
+-75.836 26.496 3472
+-75.71 26.496 3399
+-75.584 26.496 3306
+-75.458 26.496 3301
+-75.332 26.496 3317
+-75.206 26.496 3367
+-75.08 26.496 3358
+-74.954 26.496 3396
+-74.828 26.496 3429
+-74.702 26.496 3456
+-74.576 26.496 3478
+-74.45 26.496 3496
+-74.324 26.496 3512
+-74.198 26.496 3525
+-74.072 26.496 3536
+-73.946 26.496 3431
+-73.82 26.496 3439
+-73.694 26.496 3311
+-73.568 26.496 3311
+-73.442 26.496 3311
+-73.316 26.496 3310
+-73.19 26.496 3228
+-73.064 26.496 3228
+-72.938 26.496 3228
+-72.812 26.496 3227
+-72.686 26.496 3227
+-72.56 26.496 3187
+-72.434 26.496 3131
+-72.308 26.496 3142
+-72.182 26.496 3141
+-72.056 26.496 3140
+-71.93 26.496 3029
+-71.804 26.496 3005
+-71.678 26.496 3005
+-71.552 26.496 3004
+-71.426 26.496 3004
+-71.3 26.496 2937
+-71.174 26.496 2926
+-71.048 26.496 2920
+-70.922 26.496 2891
+-70.796 26.496 2891
+-70.67 26.496 2891
+-70.544 26.496 2892
+-70.418 26.496 2892
+-70.292 26.496 2893
+-70.166 26.496 2894
+-70.04 26.496 2894
+-69.914 26.496 2895
+-69.788 26.496 2896
+-69.662 26.496 2896
+-69.536 26.496 2897
+-69.41 26.496 2898
+-69.284 26.496 2899
+-69.158 26.496 2900
+-69.032 26.496 2900
+-68.906 26.496 2901
+-68.78 26.496 2902
+-68.654 26.496 2903
+-68.528 26.496 2904
+-68.402 26.496 2905
+-68.276 26.496 2906
+-68.15 26.496 2906
+-68.024 26.496 2907
+-67.898 26.496 2908
+-67.772 26.496 2909
+-67.646 26.496 2906
+-67.52 26.496 2907
+-67.394 26.496 2908
+-67.268 26.496 2909
+-67.142 26.496 2910
+-67.016 26.496 2911
+-66.89 26.496 2912
+-66.764 26.496 2913
+-66.638 26.496 2913
+-66.512 26.496 2914
+-66.386 26.496 2915
+-66.26 26.496 2916
+-66.134 26.496 2917
+-66.008 26.496 2918
+-65.882 26.496 2919
+-65.756 26.496 2919
+-65.63 26.496 2920
+-65.504 26.496 2921
+-65.378 26.496 2922
+-65.252 26.496 2922
+-65.126 26.496 2923
+-128 26.444 3003
+-127.874 26.444 3005
+-127.748 26.444 3008
+-127.622 26.444 2972
+-127.496 26.444 3423
+-127.37 26.444 3424
+-127.244 26.444 3423
+-127.118 26.444 3393
+-126.992 26.444 3393
+-126.866 26.444 3376
+-126.74 26.444 3407
+-126.614 26.444 3406
+-126.488 26.444 3471
+-126.362 26.444 3470
+-126.236 26.444 3435
+-126.11 26.444 3455
+-125.984 26.444 3493
+-125.858 26.444 3485
+-125.732 26.444 3517
+-125.606 26.444 3515
+-125.48 26.444 3553
+-125.354 26.444 3529
+-125.228 26.444 3528
+-125.102 26.444 3527
+-124.976 26.444 3561
+-124.85 26.444 3559
+-124.724 26.444 3388
+-124.598 26.444 3396
+-124.472 26.444 3415
+-124.346 26.444 3314
+-124.22 26.444 3311
+-124.094 26.444 3296
+-123.968 26.444 3360
+-123.842 26.444 3330
+-123.716 26.444 3327
+-123.59 26.444 3350
+-123.464 26.444 3250
+-123.338 26.444 3253
+-123.212 26.444 3280
+-123.086 26.444 3273
+-122.96 26.444 3268
+-122.834 26.444 3264
+-122.708 26.444 3184
+-122.582 26.444 3181
+-122.456 26.444 3107
+-122.33 26.444 3112
+-122.204 26.444 3112
+-122.078 26.444 3106
+-121.952 26.444 3073
+-121.826 26.444 3067
+-121.7 26.444 3061
+-121.574 26.444 3072
+-121.448 26.444 3053
+-121.322 26.444 3045
+-121.196 26.444 3000
+-121.07 26.444 2991
+-120.944 26.444 3016
+-120.818 26.444 2982
+-120.692 26.444 2961
+-120.566 26.444 2893
+-120.44 26.444 2900
+-120.314 26.444 2882
+-120.188 26.444 2861
+-120.062 26.444 2837
+-119.936 26.444 2870
+-119.81 26.444 2827
+-119.684 26.444 2756
+-119.558 26.444 2701
+-119.432 26.444 2641
+-119.306 26.444 2577
+-119.18 26.444 2529
+-119.054 26.444 2508
+-118.928 26.444 2536
+-118.802 26.444 2591
+-118.676 26.444 2630
+-118.55 26.444 2635
+-118.424 26.444 2615
+-118.298 26.444 2584
+-118.172 26.444 2556
+-118.046 26.444 2521
+-117.92 26.444 2559
+-117.794 26.444 2631
+-117.668 26.444 2706
+-117.542 26.444 2770
+-117.416 26.444 2789
+-117.29 26.444 2819
+-117.164 26.444 2840
+-117.038 26.444 2840
+-116.912 26.444 2849
+-116.786 26.444 2856
+-116.66 26.444 2872
+-116.534 26.444 2873
+-116.408 26.444 2870
+-116.282 26.444 2872
+-116.156 26.444 2866
+-116.03 26.444 2839
+-115.904 26.444 2814
+-115.778 26.444 2780
+-115.652 26.444 2751
+-115.526 26.444 2691
+-115.4 26.444 2624
+-115.274 26.444 2539
+-115.148 26.444 2446
+-115.022 26.444 2340
+-114.896 26.444 2243
+-114.77 26.444 2198
+-114.644 26.444 2258
+-114.518 26.444 2374
+-114.392 26.444 2519
+-114.266 26.444 2659
+-114.14 26.444 2791
+-114.014 26.444 2881
+-113.888 26.444 2973
+-113.762 26.444 3016
+-113.636 26.444 3057
+-113.51 26.444 3089
+-113.384 26.444 3140
+-113.258 26.444 3202
+-113.132 26.444 3242
+-113.006 26.444 3276
+-112.88 26.444 3268
+-112.754 26.444 3326
+-112.628 26.444 3432
+-112.502 26.444 3516
+-112.376 26.444 3550
+-112.25 26.444 3543
+-112.124 26.444 3581
+-111.998 26.444 3644
+-111.872 26.444 3671
+-111.746 26.444 3691
+-111.62 26.444 3705
+-111.494 26.444 3708
+-111.368 26.444 3730
+-111.242 26.444 3760
+-111.116 26.444 3772
+-110.99 26.444 3795
+-110.864 26.444 3802
+-110.738 26.444 3816
+-110.612 26.444 3841
+-110.486 26.444 3857
+-110.36 26.444 3903
+-110.234 26.444 3922
+-110.108 26.444 3926
+-109.982 26.444 3922
+-109.856 26.444 3907
+-109.73 26.444 3889
+-109.604 26.444 3850
+-109.478 26.444 3824
+-109.352 26.444 3808
+-109.226 26.444 3780
+-109.1 26.444 3745
+-108.974 26.444 3739
+-108.848 26.444 3729
+-108.722 26.444 3680
+-108.596 26.444 3570
+-108.47 26.444 3496
+-108.344 26.444 3544
+-108.218 26.444 3600
+-108.092 26.444 3626
+-107.966 26.444 3615
+-107.84 26.444 3603
+-107.714 26.444 3528
+-107.588 26.444 3462
+-107.462 26.444 3412
+-107.336 26.444 3338
+-107.21 26.444 3273
+-107.084 26.444 3211
+-106.958 26.444 3153
+-106.832 26.444 3106
+-106.706 26.444 3051
+-106.58 26.444 2989
+-106.454 26.444 2921
+-106.328 26.444 2859
+-106.202 26.444 2801
+-106.076 26.444 2744
+-105.95 26.444 2723
+-105.824 26.444 2735
+-105.698 26.444 2751
+-105.572 26.444 2772
+-105.446 26.444 2795
+-105.32 26.444 2818
+-105.194 26.444 2840
+-105.068 26.444 2871
+-104.942 26.444 2888
+-104.816 26.444 2910
+-104.69 26.444 2929
+-104.564 26.444 2953
+-104.438 26.444 2971
+-104.312 26.444 2994
+-104.186 26.444 3018
+-104.06 26.444 3037
+-103.934 26.444 3056
+-103.808 26.444 3078
+-103.682 26.444 3087
+-103.556 26.444 3126
+-103.43 26.444 3146
+-103.304 26.444 3145
+-103.178 26.444 3163
+-103.052 26.444 3198
+-102.926 26.444 3216
+-102.8 26.444 3203
+-102.674 26.444 3197
+-102.548 26.444 3212
+-102.422 26.444 3109
+-102.296 26.444 3120
+-102.17 26.444 3172
+-102.044 26.444 3183
+-101.918 26.444 3149
+-101.792 26.444 3163
+-101.666 26.444 3173
+-101.54 26.444 3160
+-101.414 26.444 3168
+-101.288 26.444 3176
+-101.162 26.444 3183
+-101.036 26.444 3191
+-100.91 26.444 3197
+-100.784 26.444 3204
+-100.658 26.444 3144
+-100.532 26.444 3142
+-100.406 26.444 3147
+-100.28 26.444 3152
+-100.154 26.444 3134
+-100.028 26.444 3139
+-99.902 26.444 3200
+-99.776 26.444 3206
+-99.65 26.444 3219
+-99.524 26.444 3205
+-99.398 26.444 3210
+-99.272 26.444 3215
+-99.146 26.444 3219
+-99.02 26.444 3218
+-98.894 26.444 3223
+-98.768 26.444 3211
+-98.642 26.444 3215
+-98.516 26.444 3144
+-98.39 26.444 3148
+-98.264 26.444 3151
+-98.138 26.444 3154
+-98.012 26.444 3157
+-97.886 26.444 3159
+-97.76 26.444 3056
+-97.634 26.444 3142
+-97.508 26.444 3154
+-97.382 26.444 3046
+-97.256 26.444 3044
+-97.13 26.444 2953
+-97.004 26.444 2949
+-96.878 26.444 2913
+-96.752 26.444 2932
+-96.626 26.444 2879
+-96.5 26.444 2918
+-96.374 26.444 2999
+-96.248 26.444 3061
+-96.122 26.444 3064
+-95.996 26.444 3310
+-95.87 26.444 3345
+-95.744 26.444 3344
+-95.618 26.444 3343
+-95.492 26.444 3342
+-95.366 26.444 3341
+-95.24 26.444 3340
+-95.114 26.444 3339
+-94.988 26.444 3338
+-94.862 26.444 3337
+-94.736 26.444 3336
+-94.61 26.444 3335
+-94.484 26.444 3437
+-94.358 26.444 3435
+-94.232 26.444 3434
+-94.106 26.444 3433
+-93.98 26.444 3431
+-93.854 26.444 3430
+-93.728 26.444 3428
+-93.602 26.444 3426
+-93.476 26.444 3425
+-93.35 26.444 3423
+-93.224 26.444 3421
+-93.098 26.444 3419
+-92.972 26.444 3450
+-92.846 26.444 3448
+-92.72 26.444 3445
+-92.594 26.444 3442
+-92.468 26.444 3439
+-92.342 26.444 3436
+-92.216 26.444 3450
+-92.09 26.444 3447
+-91.964 26.444 3445
+-91.838 26.444 3442
+-91.712 26.444 3439
+-91.586 26.444 3491
+-91.46 26.444 3487
+-91.334 26.444 3494
+-91.208 26.444 3570
+-91.082 26.444 3568
+-90.956 26.444 3567
+-90.83 26.444 3565
+-90.704 26.444 3564
+-90.578 26.444 3564
+-90.452 26.444 3600
+-90.326 26.444 3636
+-90.2 26.444 3693
+-90.074 26.444 3695
+-89.948 26.444 3698
+-89.822 26.444 3702
+-89.696 26.444 3707
+-89.57 26.444 3714
+-89.444 26.444 3722
+-89.318 26.444 3778
+-89.192 26.444 3805
+-89.066 26.444 3863
+-88.94 26.444 3922
+-88.814 26.444 3945
+-88.688 26.444 3956
+-88.562 26.444 3968
+-88.436 26.444 4057
+-88.31 26.444 4069
+-88.184 26.444 4150
+-88.058 26.444 4152
+-87.932 26.444 4153
+-87.806 26.444 4149
+-87.68 26.444 4171
+-87.554 26.444 4102
+-87.428 26.444 3982
+-87.302 26.444 3875
+-87.176 26.444 4061
+-87.05 26.444 4369
+-86.924 26.444 4607
+-86.798 26.444 4750
+-86.672 26.444 4888
+-86.546 26.444 4954
+-86.42 26.444 5046
+-86.294 26.444 5213
+-86.168 26.444 5314
+-86.042 26.444 5384
+-85.916 26.444 5489
+-85.79 26.444 5622
+-85.664 26.444 5712
+-85.538 26.444 5815
+-85.412 26.444 6007
+-85.286 26.444 6037
+-85.16 26.444 6237
+-85.034 26.444 6400
+-84.908 26.444 6514
+-84.782 26.444 6626
+-84.656 26.444 6764
+-84.53 26.444 6890
+-84.404 26.444 7022
+-84.278 26.444 7088
+-84.152 26.444 7200
+-84.026 26.444 7371
+-83.9 26.444 7425
+-83.774 26.444 7546
+-83.648 26.444 7614
+-83.522 26.444 7730
+-83.396 26.444 7854
+-83.27 26.444 7920
+-83.144 26.444 8021
+-83.018 26.444 8104
+-82.892 26.444 8188
+-82.766 26.444 8250
+-82.64 26.444 8283
+-82.514 26.444 8321
+-82.388 26.444 8336
+-82.262 26.444 8358
+-82.136 26.444 8366
+-82.01 26.444 8349
+-81.884 26.444 8317
+-81.758 26.444 8302
+-81.632 26.444 8213
+-81.506 26.444 8153
+-81.38 26.444 8129
+-81.254 26.444 8033
+-81.128 26.444 7943
+-81.002 26.444 7837
+-80.876 26.444 7795
+-80.75 26.444 7683
+-80.624 26.444 7518
+-80.498 26.444 7479
+-80.372 26.444 7360
+-80.246 26.444 7255
+-80.12 26.444 7183
+-79.994 26.444 7060
+-79.868 26.444 6933
+-79.742 26.444 6701
+-79.616 26.444 6553
+-79.49 26.444 6431
+-79.364 26.444 6264
+-79.238 26.444 6155
+-79.112 26.444 6141
+-78.986 26.444 6011
+-78.86 26.444 5898
+-78.734 26.444 5736
+-78.608 26.444 5589
+-78.482 26.444 5462
+-78.356 26.444 5273
+-78.23 26.444 5181
+-78.104 26.444 5088
+-77.978 26.444 4910
+-77.852 26.444 4727
+-77.726 26.444 4732
+-77.6 26.444 4626
+-77.474 26.444 4534
+-77.348 26.444 4396
+-77.222 26.444 4427
+-77.096 26.444 4472
+-76.97 26.444 4432
+-76.844 26.444 4393
+-76.718 26.444 4342
+-76.592 26.444 4288
+-76.466 26.444 4221
+-76.34 26.444 4117
+-76.214 26.444 3996
+-76.088 26.444 3852
+-75.962 26.444 3734
+-75.836 26.444 3648
+-75.71 26.444 3535
+-75.584 26.444 3507
+-75.458 26.444 3479
+-75.332 26.444 3448
+-75.206 26.444 3444
+-75.08 26.444 3475
+-74.954 26.444 3441
+-74.828 26.444 3464
+-74.702 26.444 3484
+-74.576 26.444 3502
+-74.45 26.444 3517
+-74.324 26.444 3530
+-74.198 26.444 3541
+-74.072 26.444 3418
+-73.946 26.444 3426
+-73.82 26.444 3311
+-73.694 26.444 3311
+-73.568 26.444 3310
+-73.442 26.444 3309
+-73.316 26.444 3308
+-73.19 26.444 3306
+-73.064 26.444 3200
+-72.938 26.444 3222
+-72.812 26.444 3184
+-72.686 26.444 3182
+-72.56 26.444 3126
+-72.434 26.444 3125
+-72.308 26.444 3123
+-72.182 26.444 3134
+-72.056 26.444 3133
+-71.93 26.444 3010
+-71.804 26.444 3021
+-71.678 26.444 2997
+-71.552 26.444 2997
+-71.426 26.444 2997
+-71.3 26.444 2927
+-71.174 26.444 2928
+-71.048 26.444 2917
+-70.922 26.444 2912
+-70.796 26.444 2883
+-70.67 26.444 2884
+-70.544 26.444 2884
+-70.418 26.444 2885
+-70.292 26.444 2886
+-70.166 26.444 2887
+-70.04 26.444 2887
+-69.914 26.444 2888
+-69.788 26.444 2889
+-69.662 26.444 2890
+-69.536 26.444 2891
+-69.41 26.444 2892
+-69.284 26.444 2893
+-69.158 26.444 2894
+-69.032 26.444 2895
+-68.906 26.444 2896
+-68.78 26.444 2897
+-68.654 26.444 2898
+-68.528 26.444 2899
+-68.402 26.444 2900
+-68.276 26.444 2901
+-68.15 26.444 2902
+-68.024 26.444 2903
+-67.898 26.444 2904
+-67.772 26.444 2905
+-67.646 26.444 2906
+-67.52 26.444 2902
+-67.394 26.444 2903
+-67.268 26.444 2904
+-67.142 26.444 2905
+-67.016 26.444 2906
+-66.89 26.444 2907
+-66.764 26.444 2909
+-66.638 26.444 2909
+-66.512 26.444 2910
+-66.386 26.444 2911
+-66.26 26.444 2912
+-66.134 26.444 2913
+-66.008 26.444 2914
+-65.882 26.444 2915
+-65.756 26.444 2916
+-65.63 26.444 2917
+-65.504 26.444 2918
+-65.378 26.444 2919
+-65.252 26.444 2919
+-65.126 26.444 2920
+-128 26.392 3006
+-127.874 26.392 3009
+-127.748 26.392 2972
+-127.622 26.392 3424
+-127.496 26.392 3425
+-127.37 26.392 3424
+-127.244 26.392 3394
+-127.118 26.392 3394
+-126.992 26.392 3376
+-126.866 26.392 3407
+-126.74 26.392 3407
+-126.614 26.392 3472
+-126.488 26.392 3471
+-126.362 26.392 3435
+-126.236 26.392 3456
+-126.11 26.392 3494
+-125.984 26.392 3486
+-125.858 26.392 3518
+-125.732 26.392 3517
+-125.606 26.392 3555
+-125.48 26.392 3531
+-125.354 26.392 3530
+-125.228 26.392 3528
+-125.102 26.392 3563
+-124.976 26.392 3561
+-124.85 26.392 3384
+-124.724 26.392 3392
+-124.598 26.392 3411
+-124.472 26.392 3309
+-124.346 26.392 3307
+-124.22 26.392 3292
+-124.094 26.392 3356
+-123.968 26.392 3326
+-123.842 26.392 3323
+-123.716 26.392 3345
+-123.59 26.392 3245
+-123.464 26.392 3248
+-123.338 26.392 3275
+-123.212 26.392 3268
+-123.086 26.392 3263
+-122.96 26.392 3259
+-122.834 26.392 3177
+-122.708 26.392 3175
+-122.582 26.392 3100
+-122.456 26.392 3105
+-122.33 26.392 3105
+-122.204 26.392 3099
+-122.078 26.392 3066
+-121.952 26.392 3060
+-121.826 26.392 3054
+-121.7 26.392 3065
+-121.574 26.392 3047
+-121.448 26.392 3039
+-121.322 26.392 2995
+-121.196 26.392 2986
+-121.07 26.392 3013
+-120.944 26.392 2979
+-120.818 26.392 2960
+-120.692 26.392 2891
+-120.566 26.392 2902
+-120.44 26.392 2887
+-120.314 26.392 2870
+-120.188 26.392 2850
+-120.062 26.392 2827
+-119.936 26.392 2801
+-119.81 26.392 2744
+-119.684 26.392 2714
+-119.558 26.392 2679
+-119.432 26.392 2634
+-119.306 26.392 2600
+-119.18 26.392 2593
+-119.054 26.392 2586
+-118.928 26.392 2602
+-118.802 26.392 2625
+-118.676 26.392 2640
+-118.55 26.392 2640
+-118.424 26.392 2625
+-118.298 26.392 2597
+-118.172 26.392 2570
+-118.046 26.392 2553
+-117.92 26.392 2578
+-117.794 26.392 2635
+-117.668 26.392 2697
+-117.542 26.392 2726
+-117.416 26.392 2763
+-117.29 26.392 2789
+-117.164 26.392 2793
+-117.038 26.392 2805
+-116.912 26.392 2805
+-116.786 26.392 2811
+-116.66 26.392 2823
+-116.534 26.392 2837
+-116.408 26.392 2835
+-116.282 26.392 2829
+-116.156 26.392 2826
+-116.03 26.392 2811
+-115.904 26.392 2774
+-115.778 26.392 2756
+-115.652 26.392 2711
+-115.526 26.392 2671
+-115.4 26.392 2611
+-115.274 26.392 2525
+-115.148 26.392 2425
+-115.022 26.392 2308
+-114.896 26.392 2181
+-114.77 26.392 2105
+-114.644 26.392 2188
+-114.518 26.392 2347
+-114.392 26.392 2498
+-114.266 26.392 2653
+-114.14 26.392 2779
+-114.014 26.392 2888
+-113.888 26.392 2943
+-113.762 26.392 2963
+-113.636 26.392 2971
+-113.51 26.392 2979
+-113.384 26.392 3037
+-113.258 26.392 3125
+-113.132 26.392 3204
+-113.006 26.392 3241
+-112.88 26.392 3218
+-112.754 26.392 3271
+-112.628 26.392 3386
+-112.502 26.392 3483
+-112.376 26.392 3534
+-112.25 26.392 3551
+-112.124 26.392 3571
+-111.998 26.392 3602
+-111.872 26.392 3627
+-111.746 26.392 3642
+-111.62 26.392 3659
+-111.494 26.392 3660
+-111.368 26.392 3658
+-111.242 26.392 3692
+-111.116 26.392 3731
+-110.99 26.392 3745
+-110.864 26.392 3748
+-110.738 26.392 3761
+-110.612 26.392 3774
+-110.486 26.392 3799
+-110.36 26.392 3842
+-110.234 26.392 3869
+-110.108 26.392 3874
+-109.982 26.392 3855
+-109.856 26.392 3844
+-109.73 26.392 3826
+-109.604 26.392 3797
+-109.478 26.392 3774
+-109.352 26.392 3739
+-109.226 26.392 3688
+-109.1 26.392 3646
+-108.974 26.392 3663
+-108.848 26.392 3669
+-108.722 26.392 3651
+-108.596 26.392 3589
+-108.47 26.392 3543
+-108.344 26.392 3558
+-108.218 26.392 3589
+-108.092 26.392 3606
+-107.966 26.392 3594
+-107.84 26.392 3583
+-107.714 26.392 3503
+-107.588 26.392 3486
+-107.462 26.392 3411
+-107.336 26.392 3341
+-107.21 26.392 3282
+-107.084 26.392 3220
+-106.958 26.392 3158
+-106.832 26.392 3092
+-106.706 26.392 3024
+-106.58 26.392 2941
+-106.454 26.392 2848
+-106.328 26.392 2753
+-106.202 26.392 2676
+-106.076 26.392 2626
+-105.95 26.392 2598
+-105.824 26.392 2605
+-105.698 26.392 2663
+-105.572 26.392 2708
+-105.446 26.392 2751
+-105.32 26.392 2790
+-105.194 26.392 2824
+-105.068 26.392 2854
+-104.942 26.392 2892
+-104.816 26.392 2913
+-104.69 26.392 2937
+-104.564 26.392 2957
+-104.438 26.392 2982
+-104.312 26.392 2999
+-104.186 26.392 3022
+-104.06 26.392 3045
+-103.934 26.392 3063
+-103.808 26.392 3080
+-103.682 26.392 3100
+-103.556 26.392 3107
+-103.43 26.392 3145
+-103.304 26.392 3164
+-103.178 26.392 3161
+-103.052 26.392 3178
+-102.926 26.392 3213
+-102.8 26.392 3230
+-102.674 26.392 3215
+-102.548 26.392 3207
+-102.422 26.392 3222
+-102.296 26.392 3117
+-102.17 26.392 3127
+-102.044 26.392 3179
+-101.918 26.392 3190
+-101.792 26.392 3155
+-101.666 26.392 3169
+-101.54 26.392 3178
+-101.414 26.392 3164
+-101.288 26.392 3172
+-101.162 26.392 3180
+-101.036 26.392 3187
+-100.91 26.392 3194
+-100.784 26.392 3200
+-100.658 26.392 3206
+-100.532 26.392 3146
+-100.406 26.392 3143
+-100.28 26.392 3148
+-100.154 26.392 3153
+-100.028 26.392 3136
+-99.902 26.392 3141
+-99.776 26.392 3202
+-99.65 26.392 3207
+-99.524 26.392 3221
+-99.398 26.392 3207
+-99.272 26.392 3212
+-99.146 26.392 3216
+-99.02 26.392 3221
+-98.894 26.392 3220
+-98.768 26.392 3224
+-98.642 26.392 3212
+-98.516 26.392 3216
+-98.39 26.392 3145
+-98.264 26.392 3148
+-98.138 26.392 3151
+-98.012 26.392 3154
+-97.886 26.392 3157
+-97.76 26.392 3053
+-97.634 26.392 3052
+-97.508 26.392 3138
+-97.382 26.392 3150
+-97.256 26.392 3042
+-97.13 26.392 2952
+-97.004 26.392 2949
+-96.878 26.392 2913
+-96.752 26.392 2933
+-96.626 26.392 2880
+-96.5 26.392 2919
+-96.374 26.392 2999
+-96.248 26.392 3062
+-96.122 26.392 3115
+-95.996 26.392 3310
+-95.87 26.392 3344
+-95.744 26.392 3344
+-95.618 26.392 3343
+-95.492 26.392 3342
+-95.366 26.392 3341
+-95.24 26.392 3340
+-95.114 26.392 3339
+-94.988 26.392 3338
+-94.862 26.392 3337
+-94.736 26.392 3335
+-94.61 26.392 3437
+-94.484 26.392 3436
+-94.358 26.392 3434
+-94.232 26.392 3433
+-94.106 26.392 3432
+-93.98 26.392 3430
+-93.854 26.392 3429
+-93.728 26.392 3427
+-93.602 26.392 3426
+-93.476 26.392 3424
+-93.35 26.392 3422
+-93.224 26.392 3421
+-93.098 26.392 3452
+-92.972 26.392 3449
+-92.846 26.392 3447
+-92.72 26.392 3444
+-92.594 26.392 3442
+-92.468 26.392 3439
+-92.342 26.392 3454
+-92.216 26.392 3451
+-92.09 26.392 3449
+-91.964 26.392 3446
+-91.838 26.392 3444
+-91.712 26.392 3442
+-91.586 26.392 3495
+-91.46 26.392 3502
+-91.334 26.392 3579
+-91.208 26.392 3577
+-91.082 26.392 3576
+-90.956 26.392 3575
+-90.83 26.392 3574
+-90.704 26.392 3574
+-90.578 26.392 3574
+-90.452 26.392 3588
+-90.326 26.392 3650
+-90.2 26.392 3653
+-90.074 26.392 3657
+-89.948 26.392 3661
+-89.822 26.392 3667
+-89.696 26.392 3725
+-89.57 26.392 3731
+-89.444 26.392 3778
+-89.318 26.392 3813
+-89.192 26.392 3823
+-89.066 26.392 3846
+-88.94 26.392 3882
+-88.814 26.392 3942
+-88.688 26.392 3953
+-88.562 26.392 4065
+-88.436 26.392 4077
+-88.31 26.392 4160
+-88.184 26.392 4163
+-88.058 26.392 4167
+-87.932 26.392 4169
+-87.806 26.392 4214
+-87.68 26.392 4188
+-87.554 26.392 4136
+-87.428 26.392 4047
+-87.302 26.392 4000
+-87.176 26.392 4138
+-87.05 26.392 4441
+-86.924 26.392 4628
+-86.798 26.392 4747
+-86.672 26.392 4834
+-86.546 26.392 4863
+-86.42 26.392 4991
+-86.294 26.392 5193
+-86.168 26.392 5291
+-86.042 26.392 5275
+-85.916 26.392 5465
+-85.79 26.392 5596
+-85.664 26.392 5648
+-85.538 26.392 5774
+-85.412 26.392 5962
+-85.286 26.392 6109
+-85.16 26.392 6148
+-85.034 26.392 6346
+-84.908 26.392 6503
+-84.782 26.392 6602
+-84.656 26.392 6730
+-84.53 26.392 6826
+-84.404 26.392 6934
+-84.278 26.392 7032
+-84.152 26.392 7187
+-84.026 26.392 7259
+-83.9 26.392 7370
+-83.774 26.392 7515
+-83.648 26.392 7597
+-83.522 26.392 7701
+-83.396 26.392 7782
+-83.27 26.392 7870
+-83.144 26.392 7961
+-83.018 26.392 8084
+-82.892 26.392 8157
+-82.766 26.392 8180
+-82.64 26.392 8214
+-82.514 26.392 8256
+-82.388 26.392 8286
+-82.262 26.392 8307
+-82.136 26.392 8294
+-82.01 26.392 8289
+-81.884 26.392 8266
+-81.758 26.392 8228
+-81.632 26.392 8184
+-81.506 26.392 8121
+-81.38 26.392 8067
+-81.254 26.392 7992
+-81.128 26.392 7889
+-81.002 26.392 7840
+-80.876 26.392 7744
+-80.75 26.392 7649
+-80.624 26.392 7554
+-80.498 26.392 7457
+-80.372 26.392 7317
+-80.246 26.392 7191
+-80.12 26.392 7139
+-79.994 26.392 7027
+-79.868 26.392 6894
+-79.742 26.392 6695
+-79.616 26.392 6509
+-79.49 26.392 6376
+-79.364 26.392 6262
+-79.238 26.392 6184
+-79.112 26.392 6099
+-78.986 26.392 5962
+-78.86 26.392 5828
+-78.734 26.392 5748
+-78.608 26.392 5561
+-78.482 26.392 5460
+-78.356 26.392 5330
+-78.23 26.392 5185
+-78.104 26.392 5052
+-77.978 26.392 4879
+-77.852 26.392 4717
+-77.726 26.392 4755
+-77.6 26.392 4716
+-77.474 26.392 4650
+-77.348 26.392 4576
+-77.222 26.392 4535
+-77.096 26.392 4537
+-76.97 26.392 4467
+-76.844 26.392 4428
+-76.718 26.392 4376
+-76.592 26.392 4315
+-76.466 26.392 4234
+-76.34 26.392 4168
+-76.214 26.392 4090
+-76.088 26.392 3982
+-75.962 26.392 3813
+-75.836 26.392 3726
+-75.71 26.392 3677
+-75.584 26.392 3628
+-75.458 26.392 3618
+-75.332 26.392 3592
+-75.206 26.392 3525
+-75.08 26.392 3495
+-74.954 26.392 3513
+-74.828 26.392 3499
+-74.702 26.392 3514
+-74.576 26.392 3485
+-74.45 26.392 3496
+-74.324 26.392 3505
+-74.198 26.392 3513
+-74.072 26.392 3432
+-73.946 26.392 3312
+-73.82 26.392 3311
+-73.694 26.392 3310
+-73.568 26.392 3308
+-73.442 26.392 3306
+-73.316 26.392 3304
+-73.19 26.392 3196
+-73.064 26.392 3194
+-72.938 26.392 3179
+-72.812 26.392 3177
+-72.686 26.392 3121
+-72.56 26.392 3119
+-72.434 26.392 3117
+-72.308 26.392 3116
+-72.182 26.392 3115
+-72.056 26.392 3114
+-71.93 26.392 3113
+-71.804 26.392 3002
+-71.678 26.392 2964
+-71.552 26.392 2956
+-71.426 26.392 2989
+-71.3 26.392 2955
+-71.174 26.392 2918
+-71.048 26.392 2920
+-70.922 26.392 2909
+-70.796 26.392 2904
+-70.67 26.392 2875
+-70.544 26.392 2876
+-70.418 26.392 2877
+-70.292 26.392 2878
+-70.166 26.392 2879
+-70.04 26.392 2880
+-69.914 26.392 2881
+-69.788 26.392 2882
+-69.662 26.392 2884
+-69.536 26.392 2885
+-69.41 26.392 2886
+-69.284 26.392 2887
+-69.158 26.392 2888
+-69.032 26.392 2889
+-68.906 26.392 2890
+-68.78 26.392 2892
+-68.654 26.392 2893
+-68.528 26.392 2894
+-68.402 26.392 2895
+-68.276 26.392 2896
+-68.15 26.392 2897
+-68.024 26.392 2898
+-67.898 26.392 2899
+-67.772 26.392 2900
+-67.646 26.392 2901
+-67.52 26.392 2902
+-67.394 26.392 2899
+-67.268 26.392 2900
+-67.142 26.392 2901
+-67.016 26.392 2902
+-66.89 26.392 2903
+-66.764 26.392 2904
+-66.638 26.392 2905
+-66.512 26.392 2907
+-66.386 26.392 2908
+-66.26 26.392 2909
+-66.134 26.392 2910
+-66.008 26.392 2911
+-65.882 26.392 2912
+-65.756 26.392 2913
+-65.63 26.392 2914
+-65.504 26.392 2914
+-65.378 26.392 2915
+-65.252 26.392 2916
+-65.126 26.392 2917
+-128 26.34 3009
+-127.874 26.34 2973
+-127.748 26.34 3425
+-127.622 26.34 3426
+-127.496 26.34 3425
+-127.37 26.34 3395
+-127.244 26.34 3394
+-127.118 26.34 3377
+-126.992 26.34 3408
+-126.866 26.34 3408
+-126.74 26.34 3473
+-126.614 26.34 3472
+-126.488 26.34 3436
+-126.362 26.34 3457
+-126.236 26.34 3496
+-126.11 26.34 3487
+-125.984 26.34 3520
+-125.858 26.34 3519
+-125.732 26.34 3557
+-125.606 26.34 3532
+-125.48 26.34 3531
+-125.354 26.34 3530
+-125.228 26.34 3565
+-125.102 26.34 3564
+-124.976 26.34 3381
+-124.85 26.34 3389
+-124.724 26.34 3408
+-124.598 26.34 3306
+-124.472 26.34 3303
+-124.346 26.34 3287
+-124.22 26.34 3352
+-124.094 26.34 3321
+-123.968 26.34 3318
+-123.842 26.34 3341
+-123.716 26.34 3240
+-123.59 26.34 3243
+-123.464 26.34 3270
+-123.338 26.34 3262
+-123.212 26.34 3258
+-123.086 26.34 3253
+-122.96 26.34 3171
+-122.834 26.34 3169
+-122.708 26.34 3093
+-122.582 26.34 3099
+-122.456 26.34 3098
+-122.33 26.34 3093
+-122.204 26.34 3059
+-122.078 26.34 3053
+-121.952 26.34 3047
+-121.826 26.34 3059
+-121.7 26.34 3040
+-121.574 26.34 3033
+-121.448 26.34 2988
+-121.322 26.34 2980
+-121.196 26.34 3010
+-121.07 26.34 2976
+-120.944 26.34 2958
+-120.818 26.34 2887
+-120.692 26.34 2901
+-120.566 26.34 2888
+-120.44 26.34 2874
+-120.314 26.34 2858
+-120.188 26.34 2840
+-120.062 26.34 2820
+-119.936 26.34 2767
+-119.81 26.34 2746
+-119.684 26.34 2721
+-119.558 26.34 2684
+-119.432 26.34 2653
+-119.306 26.34 2629
+-119.18 26.34 2616
+-119.054 26.34 2604
+-118.928 26.34 2613
+-118.802 26.34 2623
+-118.676 26.34 2656
+-118.55 26.34 2654
+-118.424 26.34 2638
+-118.298 26.34 2620
+-118.172 26.34 2604
+-118.046 26.34 2599
+-117.92 26.34 2617
+-117.794 26.34 2656
+-117.668 26.34 2678
+-117.542 26.34 2713
+-117.416 26.34 2739
+-117.29 26.34 2745
+-117.164 26.34 2756
+-117.038 26.34 2757
+-116.912 26.34 2762
+-116.786 26.34 2767
+-116.66 26.34 2771
+-116.534 26.34 2781
+-116.408 26.34 2797
+-116.282 26.34 2796
+-116.156 26.34 2788
+-116.03 26.34 2768
+-115.904 26.34 2747
+-115.778 26.34 2717
+-115.652 26.34 2694
+-115.526 26.34 2665
+-115.4 26.34 2607
+-115.274 26.34 2520
+-115.148 26.34 2429
+-115.022 26.34 2335
+-114.896 26.34 2225
+-114.77 26.34 2175
+-114.644 26.34 2235
+-114.518 26.34 2376
+-114.392 26.34 2528
+-114.266 26.34 2656
+-114.14 26.34 2789
+-114.014 26.34 2881
+-113.888 26.34 2920
+-113.762 26.34 2926
+-113.636 26.34 2883
+-113.51 26.34 2855
+-113.384 26.34 2919
+-113.258 26.34 3050
+-113.132 26.34 3156
+-113.006 26.34 3215
+-112.88 26.34 3241
+-112.754 26.34 3288
+-112.628 26.34 3370
+-112.502 26.34 3450
+-112.376 26.34 3508
+-112.25 26.34 3536
+-112.124 26.34 3554
+-111.998 26.34 3575
+-111.872 26.34 3585
+-111.746 26.34 3594
+-111.62 26.34 3607
+-111.494 26.34 3601
+-111.368 26.34 3594
+-111.242 26.34 3630
+-111.116 26.34 3655
+-110.99 26.34 3682
+-110.864 26.34 3714
+-110.738 26.34 3710
+-110.612 26.34 3710
+-110.486 26.34 3728
+-110.36 26.34 3767
+-110.234 26.34 3793
+-110.108 26.34 3810
+-109.982 26.34 3782
+-109.856 26.34 3775
+-109.73 26.34 3757
+-109.604 26.34 3738
+-109.478 26.34 3712
+-109.352 26.34 3668
+-109.226 26.34 3623
+-109.1 26.34 3586
+-108.974 26.34 3610
+-108.848 26.34 3627
+-108.722 26.34 3625
+-108.596 26.34 3605
+-108.47 26.34 3578
+-108.344 26.34 3581
+-108.218 26.34 3597
+-108.092 26.34 3606
+-107.966 26.34 3592
+-107.84 26.34 3582
+-107.714 26.34 3497
+-107.588 26.34 3461
+-107.462 26.34 3414
+-107.336 26.34 3358
+-107.21 26.34 3259
+-107.084 26.34 3197
+-106.958 26.34 3129
+-106.832 26.34 3051
+-106.706 26.34 2976
+-106.58 26.34 2868
+-106.454 26.34 2738
+-106.328 26.34 2602
+-106.202 26.34 2461
+-106.076 26.34 2417
+-105.95 26.34 2421
+-105.824 26.34 2459
+-105.698 26.34 2534
+-105.572 26.34 2629
+-105.446 26.34 2671
+-105.32 26.34 2725
+-105.194 26.34 2802
+-105.068 26.34 2842
+-104.942 26.34 2876
+-104.816 26.34 2917
+-104.69 26.34 2939
+-104.564 26.34 2964
+-104.438 26.34 2984
+-104.312 26.34 3009
+-104.186 26.34 3025
+-104.06 26.34 3048
+-103.934 26.34 3070
+-103.808 26.34 3086
+-103.682 26.34 3101
+-103.556 26.34 3120
+-103.43 26.34 3125
+-103.304 26.34 3164
+-103.178 26.34 3181
+-103.052 26.34 3176
+-102.926 26.34 3192
+-102.8 26.34 3227
+-102.674 26.34 3243
+-102.548 26.34 3226
+-102.422 26.34 3217
+-102.296 26.34 3232
+-102.17 26.34 3124
+-102.044 26.34 3134
+-101.918 26.34 3186
+-101.792 26.34 3196
+-101.666 26.34 3160
+-101.54 26.34 3174
+-101.414 26.34 3183
+-101.288 26.34 3168
+-101.162 26.34 3176
+-101.036 26.34 3183
+-100.91 26.34 3190
+-100.784 26.34 3197
+-100.658 26.34 3203
+-100.532 26.34 3209
+-100.406 26.34 3148
+-100.28 26.34 3145
+-100.154 26.34 3150
+-100.028 26.34 3155
+-99.902 26.34 3137
+-99.776 26.34 3142
+-99.65 26.34 3204
+-99.524 26.34 3209
+-99.398 26.34 3223
+-99.272 26.34 3209
+-99.146 26.34 3213
+-99.02 26.34 3218
+-98.894 26.34 3222
+-98.768 26.34 3221
+-98.642 26.34 3225
+-98.516 26.34 3213
+-98.39 26.34 3217
+-98.264 26.34 3146
+-98.138 26.34 3149
+-98.012 26.34 3152
+-97.886 26.34 3155
+-97.76 26.34 3050
+-97.634 26.34 3050
+-97.508 26.34 3049
+-97.382 26.34 3134
+-97.256 26.34 3146
+-97.13 26.34 2884
+-97.004 26.34 2948
+-96.878 26.34 2912
+-96.752 26.34 2934
+-96.626 26.34 2881
+-96.5 26.34 2920
+-96.374 26.34 3000
+-96.248 26.34 3114
+-96.122 26.34 3115
+-95.996 26.34 3309
+-95.87 26.34 3344
+-95.744 26.34 3343
+-95.618 26.34 3342
+-95.492 26.34 3341
+-95.366 26.34 3340
+-95.24 26.34 3339
+-95.114 26.34 3338
+-94.988 26.34 3337
+-94.862 26.34 3336
+-94.736 26.34 3437
+-94.61 26.34 3436
+-94.484 26.34 3435
+-94.358 26.34 3434
+-94.232 26.34 3432
+-94.106 26.34 3431
+-93.98 26.34 3430
+-93.854 26.34 3428
+-93.728 26.34 3427
+-93.602 26.34 3425
+-93.476 26.34 3423
+-93.35 26.34 3422
+-93.224 26.34 3453
+-93.098 26.34 3451
+-92.972 26.34 3449
+-92.846 26.34 3446
+-92.72 26.34 3444
+-92.594 26.34 3441
+-92.468 26.34 3457
+-92.342 26.34 3454
+-92.216 26.34 3452
+-92.09 26.34 3450
+-91.964 26.34 3448
+-91.838 26.34 3446
+-91.712 26.34 3466
+-91.586 26.34 3480
+-91.46 26.34 3478
+-91.334 26.34 3476
+-91.208 26.34 3583
+-91.082 26.34 3583
+-90.956 26.34 3582
+-90.83 26.34 3582
+-90.704 26.34 3582
+-90.578 26.34 3596
+-90.452 26.34 3597
+-90.326 26.34 3663
+-90.2 26.34 3666
+-90.074 26.34 3670
+-89.948 26.34 3674
+-89.822 26.34 3680
+-89.696 26.34 3687
+-89.57 26.34 3732
+-89.444 26.34 3818
+-89.318 26.34 3827
+-89.192 26.34 3849
+-89.066 26.34 3859
+-88.94 26.34 3869
+-88.814 26.34 3905
+-88.688 26.34 3974
+-88.562 26.34 4073
+-88.436 26.34 4169
+-88.31 26.34 4172
+-88.184 26.34 4175
+-88.058 26.34 4180
+-87.932 26.34 4239
+-87.806 26.34 4232
+-87.68 26.34 4223
+-87.554 26.34 4199
+-87.428 26.34 4184
+-87.302 26.34 4212
+-87.176 26.34 4319
+-87.05 26.34 4492
+-86.924 26.34 4641
+-86.798 26.34 4738
+-86.672 26.34 4791
+-86.546 26.34 4772
+-86.42 26.34 4916
+-86.294 26.34 5142
+-86.168 26.34 5282
+-86.042 26.34 5349
+-85.916 26.34 5441
+-85.79 26.34 5577
+-85.664 26.34 5661
+-85.538 26.34 5770
+-85.412 26.34 5943
+-85.286 26.34 6096
+-85.16 26.34 6201
+-85.034 26.34 6321
+-84.908 26.34 6444
+-84.782 26.34 6548
+-84.656 26.34 6620
+-84.53 26.34 6715
+-84.404 26.34 6894
+-84.278 26.34 6992
+-84.152 26.34 7168
+-84.026 26.34 7269
+-83.9 26.34 7378
+-83.774 26.34 7504
+-83.648 26.34 7550
+-83.522 26.34 7657
+-83.396 26.34 7732
+-83.27 26.34 7848
+-83.144 26.34 7939
+-83.018 26.34 7991
+-82.892 26.34 8038
+-82.766 26.34 8106
+-82.64 26.34 8147
+-82.514 26.34 8191
+-82.388 26.34 8225
+-82.262 26.34 8267
+-82.136 26.34 8237
+-82.01 26.34 8216
+-81.884 26.34 8196
+-81.758 26.34 8176
+-81.632 26.34 8103
+-81.506 26.34 8083
+-81.38 26.34 8010
+-81.254 26.34 7891
+-81.128 26.34 7829
+-81.002 26.34 7748
+-80.876 26.34 7699
+-80.75 26.34 7598
+-80.624 26.34 7528
+-80.498 26.34 7419
+-80.372 26.34 7288
+-80.246 26.34 7172
+-80.12 26.34 7054
+-79.994 26.34 6979
+-79.868 26.34 6869
+-79.742 26.34 6657
+-79.616 26.34 6528
+-79.49 26.34 6390
+-79.364 26.34 6254
+-79.238 26.34 6171
+-79.112 26.34 5991
+-78.986 26.34 5977
+-78.86 26.34 5848
+-78.734 26.34 5735
+-78.608 26.34 5551
+-78.482 26.34 5432
+-78.356 26.34 5275
+-78.23 26.34 5127
+-78.104 26.34 5017
+-77.978 26.34 4902
+-77.852 26.34 4827
+-77.726 26.34 4800
+-77.6 26.34 4771
+-77.474 26.34 4729
+-77.348 26.34 4683
+-77.222 26.34 4642
+-77.096 26.34 4591
+-76.97 26.34 4494
+-76.844 26.34 4435
+-76.718 26.34 4383
+-76.592 26.34 4324
+-76.466 26.34 4262
+-76.34 26.34 4207
+-76.214 26.34 4082
+-76.088 26.34 3994
+-75.962 26.34 3934
+-75.836 26.34 3832
+-75.71 26.34 3767
+-75.584 26.34 3738
+-75.458 26.34 3668
+-75.332 26.34 3639
+-75.206 26.34 3645
+-75.08 26.34 3592
+-74.954 26.34 3552
+-74.828 26.34 3563
+-74.702 26.34 3500
+-74.576 26.34 3508
+-74.45 26.34 3515
+-74.324 26.34 3522
+-74.198 26.34 3371
+-74.072 26.34 3297
+-73.946 26.34 3294
+-73.82 26.34 3291
+-73.694 26.34 3288
+-73.568 26.34 3285
+-73.442 26.34 3281
+-73.316 26.34 3192
+-73.19 26.34 3190
+-73.064 26.34 3173
+-72.938 26.34 3171
+-72.812 26.34 3115
+-72.686 26.34 3113
+-72.56 26.34 3111
+-72.434 26.34 3109
+-72.308 26.34 3108
+-72.182 26.34 3107
+-72.056 26.34 3106
+-71.93 26.34 3105
+-71.804 26.34 2946
+-71.678 26.34 2945
+-71.552 26.34 2945
+-71.426 26.34 2947
+-71.3 26.34 2947
+-71.174 26.34 2947
+-71.048 26.34 2910
+-70.922 26.34 2911
+-70.796 26.34 2901
+-70.67 26.34 2896
+-70.544 26.34 2868
+-70.418 26.34 2869
+-70.292 26.34 2870
+-70.166 26.34 2872
+-70.04 26.34 2873
+-69.914 26.34 2874
+-69.788 26.34 2876
+-69.662 26.34 2877
+-69.536 26.34 2878
+-69.41 26.34 2880
+-69.284 26.34 2881
+-69.158 26.34 2882
+-69.032 26.34 2884
+-68.906 26.34 2885
+-68.78 26.34 2886
+-68.654 26.34 2887
+-68.528 26.34 2889
+-68.402 26.34 2890
+-68.276 26.34 2891
+-68.15 26.34 2892
+-68.024 26.34 2894
+-67.898 26.34 2895
+-67.772 26.34 2896
+-67.646 26.34 2897
+-67.52 26.34 2898
+-67.394 26.34 2900
+-67.268 26.34 2895
+-67.142 26.34 2897
+-67.016 26.34 2898
+-66.89 26.34 2899
+-66.764 26.34 2900
+-66.638 26.34 2901
+-66.512 26.34 2903
+-66.386 26.34 2904
+-66.26 26.34 2905
+-66.134 26.34 2906
+-66.008 26.34 2907
+-65.882 26.34 2908
+-65.756 26.34 2909
+-65.63 26.34 2910
+-65.504 26.34 2911
+-65.378 26.34 2912
+-65.252 26.34 2913
+-65.126 26.34 2914
+-128 26.288 2973
+-127.874 26.288 3426
+-127.748 26.288 3427
+-127.622 26.288 3426
+-127.496 26.288 3395
+-127.37 26.288 3395
+-127.244 26.288 3377
+-127.118 26.288 3409
+-126.992 26.288 3408
+-126.866 26.288 3474
+-126.74 26.288 3473
+-126.614 26.288 3437
+-126.488 26.288 3458
+-126.362 26.288 3497
+-126.236 26.288 3489
+-126.11 26.288 3521
+-125.984 26.288 3520
+-125.858 26.288 3559
+-125.732 26.288 3534
+-125.606 26.288 3533
+-125.48 26.288 3532
+-125.354 26.288 3567
+-125.228 26.288 3566
+-125.102 26.288 3377
+-124.976 26.288 3386
+-124.85 26.288 3405
+-124.724 26.288 3302
+-124.598 26.288 3299
+-124.472 26.288 3283
+-124.346 26.288 3348
+-124.22 26.288 3317
+-124.094 26.288 3314
+-123.968 26.288 3336
+-123.842 26.288 3235
+-123.716 26.288 3238
+-123.59 26.288 3265
+-123.464 26.288 3257
+-123.338 26.288 3253
+-123.212 26.288 3248
+-123.086 26.288 3165
+-122.96 26.288 3163
+-122.834 26.288 3086
+-122.708 26.288 3092
+-122.582 26.288 3091
+-122.456 26.288 3086
+-122.33 26.288 3052
+-122.204 26.288 3046
+-122.078 26.288 3040
+-121.952 26.288 3052
+-121.826 26.288 3033
+-121.7 26.288 3026
+-121.574 26.288 2982
+-121.448 26.288 2974
+-121.322 26.288 3005
+-121.196 26.288 2972
+-121.07 26.288 2954
+-120.944 26.288 2882
+-120.818 26.288 2898
+-120.692 26.288 2887
+-120.566 26.288 2875
+-120.44 26.288 2862
+-120.314 26.288 2847
+-120.188 26.288 2831
+-120.062 26.288 2781
+-119.936 26.288 2766
+-119.81 26.288 2747
+-119.684 26.288 2715
+-119.558 26.288 2690
+-119.432 26.288 2670
+-119.306 26.288 2656
+-119.18 26.288 2637
+-119.054 26.288 2635
+-118.928 26.288 2634
+-118.802 26.288 2639
+-118.676 26.288 2638
+-118.55 26.288 2639
+-118.424 26.288 2632
+-118.298 26.288 2625
+-118.172 26.288 2619
+-118.046 26.288 2620
+-117.92 26.288 2636
+-117.794 26.288 2636
+-117.668 26.288 2679
+-117.542 26.288 2700
+-117.416 26.288 2702
+-117.29 26.288 2710
+-117.164 26.288 2706
+-117.038 26.288 2708
+-116.912 26.288 2710
+-116.786 26.288 2714
+-116.66 26.288 2720
+-116.534 26.288 2726
+-116.408 26.288 2738
+-116.282 26.288 2749
+-116.156 26.288 2750
+-116.03 26.288 2740
+-115.904 26.288 2723
+-115.778 26.288 2699
+-115.652 26.288 2685
+-115.526 26.288 2663
+-115.4 26.288 2593
+-115.274 26.288 2536
+-115.148 26.288 2465
+-115.022 26.288 2384
+-114.896 26.288 2327
+-114.77 26.288 2301
+-114.644 26.288 2350
+-114.518 26.288 2462
+-114.392 26.288 2577
+-114.266 26.288 2684
+-114.14 26.288 2803
+-114.014 26.288 2880
+-113.888 26.288 2907
+-113.762 26.288 2892
+-113.636 26.288 2838
+-113.51 26.288 2799
+-113.384 26.288 2860
+-113.258 26.288 2992
+-113.132 26.288 3115
+-113.006 26.288 3195
+-112.88 26.288 3233
+-112.754 26.288 3292
+-112.628 26.288 3361
+-112.502 26.288 3411
+-112.376 26.288 3470
+-112.25 26.288 3500
+-112.124 26.288 3522
+-111.998 26.288 3538
+-111.872 26.288 3548
+-111.746 26.288 3545
+-111.62 26.288 3538
+-111.494 26.288 3532
+-111.368 26.288 3540
+-111.242 26.288 3547
+-111.116 26.288 3608
+-110.99 26.288 3633
+-110.864 26.288 3679
+-110.738 26.288 3693
+-110.612 26.288 3693
+-110.486 26.288 3701
+-110.36 26.288 3722
+-110.234 26.288 3743
+-110.108 26.288 3738
+-109.982 26.288 3723
+-109.856 26.288 3699
+-109.73 26.288 3673
+-109.604 26.288 3643
+-109.478 26.288 3624
+-109.352 26.288 3617
+-109.226 26.288 3604
+-109.1 26.288 3589
+-108.974 26.288 3580
+-108.848 26.288 3582
+-108.722 26.288 3598
+-108.596 26.288 3592
+-108.47 26.288 3589
+-108.344 26.288 3590
+-108.218 26.288 3595
+-108.092 26.288 3577
+-107.966 26.288 3572
+-107.84 26.288 3518
+-107.714 26.288 3490
+-107.588 26.288 3456
+-107.462 26.288 3414
+-107.336 26.288 3306
+-107.21 26.288 3252
+-107.084 26.288 3187
+-106.958 26.288 3111
+-106.832 26.288 3019
+-106.706 26.288 2906
+-106.58 26.288 2738
+-106.454 26.288 2609
+-106.328 26.288 2423
+-106.202 26.288 2250
+-106.076 26.288 2184
+-105.95 26.288 2213
+-105.824 26.288 2304
+-105.698 26.288 2419
+-105.572 26.288 2527
+-105.446 26.288 2615
+-105.32 26.288 2688
+-105.194 26.288 2746
+-105.068 26.288 2828
+-104.942 26.288 2868
+-104.816 26.288 2903
+-104.69 26.288 2945
+-104.564 26.288 2967
+-104.438 26.288 2992
+-104.312 26.288 3010
+-104.186 26.288 3035
+-104.06 26.288 3049
+-103.934 26.288 3072
+-103.808 26.288 3093
+-103.682 26.288 3107
+-103.556 26.288 3121
+-103.43 26.288 3139
+-103.304 26.288 3143
+-103.178 26.288 3181
+-103.052 26.288 3197
+-102.926 26.288 3191
+-102.8 26.288 3205
+-102.674 26.288 3241
+-102.548 26.288 3255
+-102.422 26.288 3237
+-102.296 26.288 3227
+-102.17 26.288 3242
+-102.044 26.288 3131
+-101.918 26.288 3140
+-101.792 26.288 3193
+-101.666 26.288 3203
+-101.54 26.288 3166
+-101.414 26.288 3180
+-101.288 26.288 3188
+-101.162 26.288 3173
+-101.036 26.288 3180
+-100.91 26.288 3187
+-100.784 26.288 3194
+-100.658 26.288 3200
+-100.532 26.288 3206
+-100.406 26.288 3212
+-100.28 26.288 3150
+-100.154 26.288 3147
+-100.028 26.288 3152
+-99.902 26.288 3157
+-99.776 26.288 3139
+-99.65 26.288 3144
+-99.524 26.288 3206
+-99.398 26.288 3211
+-99.272 26.288 3225
+-99.146 26.288 3210
+-99.02 26.288 3215
+-98.894 26.288 3219
+-98.768 26.288 3223
+-98.642 26.288 3222
+-98.516 26.288 3227
+-98.39 26.288 3215
+-98.264 26.288 3219
+-98.138 26.288 3146
+-98.012 26.288 3149
+-97.886 26.288 3152
+-97.76 26.288 3048
+-97.634 26.288 3047
+-97.508 26.288 3046
+-97.382 26.288 3045
+-97.256 26.288 3025
+-97.13 26.288 2988
+-97.004 26.288 2896
+-96.878 26.288 2912
+-96.752 26.288 2934
+-96.626 26.288 2940
+-96.5 26.288 3031
+-96.374 26.288 3072
+-96.248 26.288 3114
+-96.122 26.288 3149
+-95.996 26.288 3309
+-95.87 26.288 3343
+-95.744 26.288 3342
+-95.618 26.288 3341
+-95.492 26.288 3340
+-95.366 26.288 3339
+-95.24 26.288 3338
+-95.114 26.288 3337
+-94.988 26.288 3336
+-94.862 26.288 3438
+-94.736 26.288 3436
+-94.61 26.288 3435
+-94.484 26.288 3434
+-94.358 26.288 3433
+-94.232 26.288 3431
+-94.106 26.288 3430
+-93.98 26.288 3429
+-93.854 26.288 3427
+-93.728 26.288 3426
+-93.602 26.288 3424
+-93.476 26.288 3423
+-93.35 26.288 3454
+-93.224 26.288 3452
+-93.098 26.288 3450
+-92.972 26.288 3448
+-92.846 26.288 3446
+-92.72 26.288 3443
+-92.594 26.288 3459
+-92.468 26.288 3457
+-92.342 26.288 3455
+-92.216 26.288 3453
+-92.09 26.288 3451
+-91.964 26.288 3449
+-91.838 26.288 3470
+-91.712 26.288 3484
+-91.586 26.288 3482
+-91.46 26.288 3480
+-91.334 26.288 3590
+-91.208 26.288 3589
+-91.082 26.288 3588
+-90.956 26.288 3588
+-90.83 26.288 3589
+-90.704 26.288 3602
+-90.578 26.288 3603
+-90.452 26.288 3670
+-90.326 26.288 3673
+-90.2 26.288 3676
+-90.074 26.288 3681
+-89.948 26.288 3685
+-89.822 26.288 3691
+-89.696 26.288 3738
+-89.57 26.288 3744
+-89.444 26.288 3793
+-89.318 26.288 3851
+-89.192 26.288 3859
+-89.066 26.288 3868
+-88.94 26.288 3901
+-88.814 26.288 3922
+-88.688 26.288 4020
+-88.562 26.288 4092
+-88.436 26.288 4153
+-88.31 26.288 4155
+-88.184 26.288 4160
+-88.058 26.288 4224
+-87.932 26.288 4225
+-87.806 26.288 4234
+-87.68 26.288 4251
+-87.554 26.288 4270
+-87.428 26.288 4307
+-87.302 26.288 4353
+-87.176 26.288 4435
+-87.05 26.288 4534
+-86.924 26.288 4633
+-86.798 26.288 4667
+-86.672 26.288 4673
+-86.546 26.288 4787
+-86.42 26.288 4933
+-86.294 26.288 5112
+-86.168 26.288 5250
+-86.042 26.288 5349
+-85.916 26.288 5443
+-85.79 26.288 5534
+-85.664 26.288 5640
+-85.538 26.288 5741
+-85.412 26.288 5874
+-85.286 26.288 6035
+-85.16 26.288 6180
+-85.034 26.288 6323
+-84.908 26.288 6378
+-84.782 26.288 6460
+-84.656 26.288 6610
+-84.53 26.288 6752
+-84.404 26.288 6881
+-84.278 26.288 6997
+-84.152 26.288 7149
+-84.026 26.288 7155
+-83.9 26.288 7326
+-83.774 26.288 7358
+-83.648 26.288 7558
+-83.522 26.288 7627
+-83.396 26.288 7693
+-83.27 26.288 7815
+-83.144 26.288 7879
+-83.018 26.288 7923
+-82.892 26.288 8012
+-82.766 26.288 8046
+-82.64 26.288 8114
+-82.514 26.288 8148
+-82.388 26.288 8161
+-82.262 26.288 8176
+-82.136 26.288 8181
+-82.01 26.288 8168
+-81.884 26.288 8139
+-81.758 26.288 8126
+-81.632 26.288 8084
+-81.506 26.288 8009
+-81.38 26.288 7968
+-81.254 26.288 7884
+-81.128 26.288 7804
+-81.002 26.288 7720
+-80.876 26.288 7607
+-80.75 26.288 7537
+-80.624 26.288 7467
+-80.498 26.288 7348
+-80.372 26.288 7230
+-80.246 26.288 7160
+-80.12 26.288 7042
+-79.994 26.288 6877
+-79.868 26.288 6833
+-79.742 26.288 6679
+-79.616 26.288 6520
+-79.49 26.288 6377
+-79.364 26.288 6279
+-79.238 26.288 6204
+-79.112 26.288 6066
+-78.986 26.288 5989
+-78.86 26.288 5841
+-78.734 26.288 5691
+-78.608 26.288 5490
+-78.482 26.288 5338
+-78.356 26.288 5206
+-78.23 26.288 5043
+-78.104 26.288 4996
+-77.978 26.288 4884
+-77.852 26.288 4889
+-77.726 26.288 4847
+-77.6 26.288 4811
+-77.474 26.288 4760
+-77.348 26.288 4727
+-77.222 26.288 4681
+-77.096 26.288 4643
+-76.97 26.288 4506
+-76.844 26.288 4448
+-76.718 26.288 4398
+-76.592 26.288 4353
+-76.466 26.288 4297
+-76.34 26.288 4167
+-76.214 26.288 4116
+-76.088 26.288 4064
+-75.962 26.288 3987
+-75.836 26.288 3944
+-75.71 26.288 3820
+-75.584 26.288 3767
+-75.458 26.288 3750
+-75.332 26.288 3720
+-75.206 26.288 3693
+-75.08 26.288 3688
+-74.954 26.288 3638
+-74.828 26.288 3592
+-74.702 26.288 3599
+-74.576 26.288 3530
+-74.45 26.288 3534
+-74.324 26.288 3378
+-74.198 26.288 3301
+-74.072 26.288 3296
+-73.946 26.288 3292
+-73.82 26.288 3288
+-73.694 26.288 3284
+-73.568 26.288 3280
+-73.442 26.288 3187
+-73.316 26.288 3184
+-73.19 26.288 3168
+-73.064 26.288 3165
+-72.938 26.288 3108
+-72.812 26.288 3106
+-72.686 26.288 3104
+-72.56 26.288 3102
+-72.434 26.288 3100
+-72.308 26.288 3099
+-72.182 26.288 3098
+-72.056 26.288 3097
+-71.93 26.288 3097
+-71.804 26.288 3096
+-71.678 26.288 2936
+-71.552 26.288 2936
+-71.426 26.288 2936
+-71.3 26.288 2936
+-71.174 26.288 2936
+-71.048 26.288 2937
+-70.922 26.288 2901
+-70.796 26.288 2903
+-70.67 26.288 2893
+-70.544 26.288 2889
+-70.418 26.288 2861
+-70.292 26.288 2862
+-70.166 26.288 2864
+-70.04 26.288 2865
+-69.914 26.288 2867
+-69.788 26.288 2868
+-69.662 26.288 2870
+-69.536 26.288 2872
+-69.41 26.288 2873
+-69.284 26.288 2875
+-69.158 26.288 2876
+-69.032 26.288 2878
+-68.906 26.288 2879
+-68.78 26.288 2881
+-68.654 26.288 2882
+-68.528 26.288 2884
+-68.402 26.288 2885
+-68.276 26.288 2886
+-68.15 26.288 2888
+-68.024 26.288 2889
+-67.898 26.288 2890
+-67.772 26.288 2892
+-67.646 26.288 2893
+-67.52 26.288 2894
+-67.394 26.288 2895
+-67.268 26.288 2897
+-67.142 26.288 2892
+-67.016 26.288 2893
+-66.89 26.288 2895
+-66.764 26.288 2896
+-66.638 26.288 2897
+-66.512 26.288 2899
+-66.386 26.288 2900
+-66.26 26.288 2901
+-66.134 26.288 2902
+-66.008 26.288 2903
+-65.882 26.288 2905
+-65.756 26.288 2906
+-65.63 26.288 2907
+-65.504 26.288 2908
+-65.378 26.288 2909
+-65.252 26.288 2910
+-65.126 26.288 2911
+-128 26.236 3427
+-127.874 26.236 3428
+-127.748 26.236 3427
+-127.622 26.236 3396
+-127.496 26.236 3396
+-127.37 26.236 3378
+-127.244 26.236 3409
+-127.118 26.236 3409
+-126.992 26.236 3475
+-126.866 26.236 3474
+-126.74 26.236 3438
+-126.614 26.236 3459
+-126.488 26.236 3498
+-126.362 26.236 3490
+-126.236 26.236 3523
+-126.11 26.236 3522
+-125.984 26.236 3561
+-125.858 26.236 3536
+-125.732 26.236 3535
+-125.606 26.236 3534
+-125.48 26.236 3569
+-125.354 26.236 3568
+-125.228 26.236 3374
+-125.102 26.236 3382
+-124.976 26.236 3401
+-124.85 26.236 3298
+-124.724 26.236 3295
+-124.598 26.236 3279
+-124.472 26.236 3345
+-124.346 26.236 3313
+-124.22 26.236 3309
+-124.094 26.236 3332
+-123.968 26.236 3230
+-123.842 26.236 3233
+-123.716 26.236 3261
+-123.59 26.236 3253
+-123.464 26.236 3248
+-123.338 26.236 3243
+-123.212 26.236 3159
+-123.086 26.236 3157
+-122.96 26.236 3080
+-122.834 26.236 3085
+-122.708 26.236 3085
+-122.582 26.236 3079
+-122.456 26.236 3045
+-122.33 26.236 3039
+-122.204 26.236 3033
+-122.078 26.236 3045
+-121.952 26.236 3026
+-121.826 26.236 3019
+-121.7 26.236 2975
+-121.574 26.236 2967
+-121.448 26.236 3000
+-121.322 26.236 2966
+-121.196 26.236 2949
+-121.07 26.236 2875
+-120.944 26.236 2893
+-120.818 26.236 2883
+-120.692 26.236 2873
+-120.566 26.236 2861
+-120.44 26.236 2849
+-120.314 26.236 2836
+-120.188 26.236 2786
+-120.062 26.236 2776
+-119.936 26.236 2762
+-119.81 26.236 2733
+-119.684 26.236 2711
+-119.558 26.236 2694
+-119.432 26.236 2682
+-119.306 26.236 2661
+-119.18 26.236 2656
+-119.054 26.236 2649
+-118.928 26.236 2648
+-118.802 26.236 2645
+-118.676 26.236 2647
+-118.55 26.236 2645
+-118.424 26.236 2646
+-118.298 26.236 2642
+-118.172 26.236 2641
+-118.046 26.236 2643
+-117.92 26.236 2650
+-117.794 26.236 2638
+-117.668 26.236 2646
+-117.542 26.236 2641
+-117.416 26.236 2671
+-117.29 26.236 2660
+-117.164 26.236 2652
+-117.038 26.236 2645
+-116.912 26.236 2643
+-116.786 26.236 2647
+-116.66 26.236 2656
+-116.534 26.236 2669
+-116.408 26.236 2683
+-116.282 26.236 2710
+-116.156 26.236 2705
+-116.03 26.236 2709
+-115.904 26.236 2701
+-115.778 26.236 2684
+-115.652 26.236 2661
+-115.526 26.236 2629
+-115.4 26.236 2602
+-115.274 26.236 2564
+-115.148 26.236 2521
+-115.022 26.236 2458
+-114.896 26.236 2430
+-114.77 26.236 2429
+-114.644 26.236 2461
+-114.518 26.236 2550
+-114.392 26.236 2635
+-114.266 26.236 2732
+-114.14 26.236 2821
+-114.014 26.236 2873
+-113.888 26.236 2909
+-113.762 26.236 2898
+-113.636 26.236 2865
+-113.51 26.236 2843
+-113.384 26.236 2888
+-113.258 26.236 2980
+-113.132 26.236 3071
+-113.006 26.236 3159
+-112.88 26.236 3205
+-112.754 26.236 3244
+-112.628 26.236 3330
+-112.502 26.236 3374
+-112.376 26.236 3413
+-112.25 26.236 3452
+-112.124 26.236 3481
+-111.998 26.236 3500
+-111.872 26.236 3477
+-111.746 26.236 3479
+-111.62 26.236 3468
+-111.494 26.236 3473
+-111.368 26.236 3477
+-111.242 26.236 3499
+-111.116 26.236 3544
+-110.99 26.236 3592
+-110.864 26.236 3635
+-110.738 26.236 3672
+-110.612 26.236 3685
+-110.486 26.236 3688
+-110.36 26.236 3690
+-110.234 26.236 3693
+-110.108 26.236 3688
+-109.982 26.236 3668
+-109.856 26.236 3640
+-109.73 26.236 3606
+-109.604 26.236 3566
+-109.478 26.236 3541
+-109.352 26.236 3561
+-109.226 26.236 3565
+-109.1 26.236 3524
+-108.974 26.236 3479
+-108.848 26.236 3510
+-108.722 26.236 3554
+-108.596 26.236 3574
+-108.47 26.236 3588
+-108.344 26.236 3589
+-108.218 26.236 3593
+-108.092 26.236 3571
+-107.966 26.236 3566
+-107.84 26.236 3454
+-107.714 26.236 3447
+-107.588 26.236 3413
+-107.462 26.236 3373
+-107.336 26.236 3297
+-107.21 26.236 3238
+-107.084 26.236 3141
+-106.958 26.236 3060
+-106.832 26.236 2960
+-106.706 26.236 2824
+-106.58 26.236 2662
+-106.454 26.236 2463
+-106.328 26.236 2259
+-106.202 26.236 2078
+-106.076 26.236 2003
+-105.95 26.236 2056
+-105.824 26.236 2183
+-105.698 26.236 2326
+-105.572 26.236 2461
+-105.446 26.236 2572
+-105.32 26.236 2656
+-105.194 26.236 2726
+-105.068 26.236 2780
+-104.942 26.236 2862
+-104.816 26.236 2900
+-104.69 26.236 2933
+-104.564 26.236 2975
+-104.438 26.236 2994
+-104.312 26.236 3019
+-104.186 26.236 3036
+-104.06 26.236 3060
+-103.934 26.236 3072
+-103.808 26.236 3095
+-103.682 26.236 3114
+-103.556 26.236 3127
+-103.43 26.236 3140
+-103.304 26.236 3156
+-103.178 26.236 3159
+-103.052 26.236 3197
+-102.926 26.236 3212
+-102.8 26.236 3204
+-102.674 26.236 3217
+-102.548 26.236 3253
+-102.422 26.236 3267
+-102.296 26.236 3248
+-102.17 26.236 3236
+-102.044 26.236 3251
+-101.918 26.236 3138
+-101.792 26.236 3146
+-101.666 26.236 3200
+-101.54 26.236 3209
+-101.414 26.236 3171
+-101.288 26.236 3185
+-101.162 26.236 3193
+-101.036 26.236 3177
+-100.91 26.236 3184
+-100.784 26.236 3191
+-100.658 26.236 3197
+-100.532 26.236 3203
+-100.406 26.236 3209
+-100.28 26.236 3215
+-100.154 26.236 3152
+-100.028 26.236 3150
+-99.902 26.236 3154
+-99.776 26.236 3158
+-99.65 26.236 3141
+-99.524 26.236 3146
+-99.398 26.236 3208
+-99.272 26.236 3213
+-99.146 26.236 3227
+-99.02 26.236 3212
+-98.894 26.236 3217
+-98.768 26.236 3221
+-98.642 26.236 3225
+-98.516 26.236 3224
+-98.39 26.236 3228
+-98.264 26.236 3216
+-98.138 26.236 3220
+-98.012 26.236 3147
+-97.886 26.236 3150
+-97.76 26.236 3046
+-97.634 26.236 3045
+-97.508 26.236 3044
+-97.382 26.236 3043
+-97.256 26.236 3006
+-97.13 26.236 3026
+-97.004 26.236 2957
+-96.878 26.236 3009
+-96.752 26.236 3005
+-96.626 26.236 2974
+-96.5 26.236 3032
+-96.374 26.236 3073
+-96.248 26.236 3148
+-96.122 26.236 3301
+-95.996 26.236 3309
+-95.87 26.236 3342
+-95.744 26.236 3342
+-95.618 26.236 3341
+-95.492 26.236 3340
+-95.366 26.236 3339
+-95.24 26.236 3338
+-95.114 26.236 3337
+-94.988 26.236 3438
+-94.862 26.236 3437
+-94.736 26.236 3435
+-94.61 26.236 3434
+-94.484 26.236 3433
+-94.358 26.236 3432
+-94.232 26.236 3431
+-94.106 26.236 3429
+-93.98 26.236 3428
+-93.854 26.236 3426
+-93.728 26.236 3425
+-93.602 26.236 3424
+-93.476 26.236 3455
+-93.35 26.236 3453
+-93.224 26.236 3451
+-93.098 26.236 3449
+-92.972 26.236 3447
+-92.846 26.236 3445
+-92.72 26.236 3461
+-92.594 26.236 3459
+-92.468 26.236 3457
+-92.342 26.236 3456
+-92.216 26.236 3454
+-92.09 26.236 3452
+-91.964 26.236 3474
+-91.838 26.236 3487
+-91.712 26.236 3486
+-91.586 26.236 3484
+-91.46 26.236 3544
+-91.334 26.236 3544
+-91.208 26.236 3545
+-91.082 26.236 3546
+-90.956 26.236 3547
+-90.83 26.236 3607
+-90.704 26.236 3608
+-90.578 26.236 3624
+-90.452 26.236 3627
+-90.326 26.236 3682
+-90.2 26.236 3685
+-90.074 26.236 3689
+-89.948 26.236 3694
+-89.822 26.236 3740
+-89.696 26.236 3745
+-89.57 26.236 3792
+-89.444 26.236 3800
+-89.318 26.236 3808
+-89.192 26.236 3866
+-89.066 26.236 3884
+-88.94 26.236 3917
+-88.814 26.236 4015
+-88.688 26.236 4053
+-88.562 26.236 4056
+-88.436 26.236 4060
+-88.31 26.236 4124
+-88.184 26.236 4178
+-88.058 26.236 4206
+-87.932 26.236 4209
+-87.806 26.236 4226
+-87.68 26.236 4271
+-87.554 26.236 4316
+-87.428 26.236 4351
+-87.302 26.236 4427
+-87.176 26.236 4498
+-87.05 26.236 4600
+-86.924 26.236 4639
+-86.798 26.236 4608
+-86.672 26.236 4485
+-86.546 26.236 4701
+-86.42 26.236 4929
+-86.294 26.236 5068
+-86.168 26.236 5187
+-86.042 26.236 5297
+-85.916 26.236 5424
+-85.79 26.236 5468
+-85.664 26.236 5598
+-85.538 26.236 5709
+-85.412 26.236 5816
+-85.286 26.236 5980
+-85.16 26.236 6111
+-85.034 26.236 6250
+-84.908 26.236 6322
+-84.782 26.236 6440
+-84.656 26.236 6568
+-84.53 26.236 6728
+-84.404 26.236 6901
+-84.278 26.236 6985
+-84.152 26.236 7095
+-84.026 26.236 7152
+-83.9 26.236 7299
+-83.774 26.236 7387
+-83.648 26.236 7472
+-83.522 26.236 7605
+-83.396 26.236 7693
+-83.27 26.236 7768
+-83.144 26.236 7857
+-83.018 26.236 7901
+-82.892 26.236 7961
+-82.766 26.236 8030
+-82.64 26.236 8039
+-82.514 26.236 8095
+-82.388 26.236 8089
+-82.262 26.236 8153
+-82.136 26.236 8116
+-82.01 26.236 8130
+-81.884 26.236 8085
+-81.758 26.236 8071
+-81.632 26.236 8035
+-81.506 26.236 7971
+-81.38 26.236 7939
+-81.254 26.236 7839
+-81.128 26.236 7748
+-81.002 26.236 7668
+-80.876 26.236 7573
+-80.75 26.236 7443
+-80.624 26.236 7400
+-80.498 26.236 7313
+-80.372 26.236 7209
+-80.246 26.236 7134
+-80.12 26.236 6958
+-79.994 26.236 6805
+-79.868 26.236 6726
+-79.742 26.236 6668
+-79.616 26.236 6499
+-79.49 26.236 6357
+-79.364 26.236 6304
+-79.238 26.236 6206
+-79.112 26.236 6099
+-78.986 26.236 5988
+-78.86 26.236 5798
+-78.734 26.236 5646
+-78.608 26.236 5401
+-78.482 26.236 5305
+-78.356 26.236 5247
+-78.23 26.236 5119
+-78.104 26.236 5022
+-77.978 26.236 4939
+-77.852 26.236 4917
+-77.726 26.236 4865
+-77.6 26.236 4817
+-77.474 26.236 4778
+-77.348 26.236 4711
+-77.222 26.236 4683
+-77.096 26.236 4600
+-76.97 26.236 4572
+-76.844 26.236 4429
+-76.718 26.236 4356
+-76.592 26.236 4309
+-76.466 26.236 4252
+-76.34 26.236 4195
+-76.214 26.236 4136
+-76.088 26.236 4093
+-75.962 26.236 4011
+-75.836 26.236 3947
+-75.71 26.236 3916
+-75.584 26.236 3863
+-75.458 26.236 3794
+-75.332 26.236 3784
+-75.206 26.236 3757
+-75.08 26.236 3731
+-74.954 26.236 3725
+-74.828 26.236 3671
+-74.702 26.236 3620
+-74.576 26.236 3625
+-74.45 26.236 3386
+-74.324 26.236 3306
+-74.198 26.236 3300
+-74.072 26.236 3294
+-73.946 26.236 3288
+-73.82 26.236 3283
+-73.694 26.236 3277
+-73.568 26.236 3183
+-73.442 26.236 3179
+-73.316 26.236 3161
+-73.19 26.236 3158
+-73.064 26.236 3101
+-72.938 26.236 3098
+-72.812 26.236 3096
+-72.686 26.236 3094
+-72.56 26.236 3092
+-72.434 26.236 3090
+-72.308 26.236 3089
+-72.182 26.236 3088
+-72.056 26.236 3088
+-71.93 26.236 3087
+-71.804 26.236 3087
+-71.678 26.236 3087
+-71.552 26.236 2926
+-71.426 26.236 2926
+-71.3 26.236 2927
+-71.174 26.236 2928
+-71.048 26.236 2928
+-70.922 26.236 2929
+-70.796 26.236 2893
+-70.67 26.236 2895
+-70.544 26.236 2886
+-70.418 26.236 2881
+-70.292 26.236 2854
+-70.166 26.236 2856
+-70.04 26.236 2858
+-69.914 26.236 2859
+-69.788 26.236 2861
+-69.662 26.236 2863
+-69.536 26.236 2865
+-69.41 26.236 2867
+-69.284 26.236 2868
+-69.158 26.236 2870
+-69.032 26.236 2872
+-68.906 26.236 2873
+-68.78 26.236 2875
+-68.654 26.236 2877
+-68.528 26.236 2878
+-68.402 26.236 2880
+-68.276 26.236 2881
+-68.15 26.236 2883
+-68.024 26.236 2884
+-67.898 26.236 2886
+-67.772 26.236 2887
+-67.646 26.236 2889
+-67.52 26.236 2890
+-67.394 26.236 2891
+-67.268 26.236 2893
+-67.142 26.236 2894
+-67.016 26.236 2889
+-66.89 26.236 2890
+-66.764 26.236 2892
+-66.638 26.236 2893
+-66.512 26.236 2895
+-66.386 26.236 2896
+-66.26 26.236 2897
+-66.134 26.236 2899
+-66.008 26.236 2900
+-65.882 26.236 2901
+-65.756 26.236 2902
+-65.63 26.236 2903
+-65.504 26.236 2905
+-65.378 26.236 2906
+-65.252 26.236 2907
+-65.126 26.236 2908
+-128 26.184 3428
+-127.874 26.184 3428
+-127.748 26.184 3397
+-127.622 26.184 3396
+-127.496 26.184 3378
+-127.37 26.184 3410
+-127.244 26.184 3409
+-127.118 26.184 3476
+-126.992 26.184 3475
+-126.866 26.184 3439
+-126.74 26.184 3460
+-126.614 26.184 3500
+-126.488 26.184 3491
+-126.362 26.184 3524
+-126.236 26.184 3523
+-126.11 26.184 3562
+-125.984 26.184 3537
+-125.858 26.184 3536
+-125.732 26.184 3535
+-125.606 26.184 3571
+-125.48 26.184 3570
+-125.354 26.184 3371
+-125.228 26.184 3379
+-125.102 26.184 3398
+-124.976 26.184 3295
+-124.85 26.184 3291
+-124.724 26.184 3275
+-124.598 26.184 3341
+-124.472 26.184 3309
+-124.346 26.184 3305
+-124.22 26.184 3328
+-124.094 26.184 3226
+-123.968 26.184 3229
+-123.842 26.184 3256
+-123.716 26.184 3248
+-123.59 26.184 3243
+-123.464 26.184 3238
+-123.338 26.184 3154
+-123.212 26.184 3151
+-123.086 26.184 3074
+-122.96 26.184 3079
+-122.834 26.184 3079
+-122.708 26.184 3073
+-122.582 26.184 3038
+-122.456 26.184 3032
+-122.33 26.184 3026
+-122.204 26.184 3039
+-122.078 26.184 3020
+-121.952 26.184 3012
+-121.826 26.184 2968
+-121.7 26.184 2960
+-121.574 26.184 2994
+-121.448 26.184 2960
+-121.322 26.184 2943
+-121.196 26.184 2867
+-121.07 26.184 2886
+-120.944 26.184 2877
+-120.818 26.184 2868
+-120.692 26.184 2858
+-120.566 26.184 2847
+-120.44 26.184 2835
+-120.314 26.184 2786
+-120.188 26.184 2778
+-120.062 26.184 2767
+-119.936 26.184 2740
+-119.81 26.184 2722
+-119.684 26.184 2707
+-119.558 26.184 2697
+-119.432 26.184 2676
+-119.306 26.184 2670
+-119.18 26.184 2660
+-119.054 26.184 2656
+-118.928 26.184 2650
+-118.802 26.184 2652
+-118.676 26.184 2650
+-118.55 26.184 2654
+-118.424 26.184 2653
+-118.298 26.184 2651
+-118.172 26.184 2651
+-118.046 26.184 2652
+-117.92 26.184 2629
+-117.794 26.184 2630
+-117.668 26.184 2628
+-117.542 26.184 2610
+-117.416 26.184 2595
+-117.29 26.184 2576
+-117.164 26.184 2555
+-117.038 26.184 2537
+-116.912 26.184 2555
+-116.786 26.184 2560
+-116.66 26.184 2577
+-116.534 26.184 2600
+-116.408 26.184 2616
+-116.282 26.184 2654
+-116.156 26.184 2664
+-116.03 26.184 2671
+-115.904 26.184 2680
+-115.778 26.184 2673
+-115.652 26.184 2637
+-115.526 26.184 2608
+-115.4 26.184 2604
+-115.274 26.184 2596
+-115.148 26.184 2570
+-115.022 26.184 2524
+-114.896 26.184 2516
+-114.77 26.184 2526
+-114.644 26.184 2552
+-114.518 26.184 2600
+-114.392 26.184 2690
+-114.266 26.184 2768
+-114.14 26.184 2825
+-114.014 26.184 2897
+-113.888 26.184 2918
+-113.762 26.184 2912
+-113.636 26.184 2905
+-113.51 26.184 2907
+-113.384 26.184 2934
+-113.258 26.184 2989
+-113.132 26.184 3045
+-113.006 26.184 3115
+-112.88 26.184 3156
+-112.754 26.184 3215
+-112.628 26.184 3256
+-112.502 26.184 3326
+-112.376 26.184 3373
+-112.25 26.184 3406
+-112.124 26.184 3446
+-111.998 26.184 3436
+-111.872 26.184 3442
+-111.746 26.184 3438
+-111.62 26.184 3428
+-111.494 26.184 3417
+-111.368 26.184 3435
+-111.242 26.184 3457
+-111.116 26.184 3487
+-110.99 26.184 3538
+-110.864 26.184 3589
+-110.738 26.184 3635
+-110.612 26.184 3655
+-110.486 26.184 3664
+-110.36 26.184 3661
+-110.234 26.184 3646
+-110.108 26.184 3615
+-109.982 26.184 3589
+-109.856 26.184 3585
+-109.73 26.184 3538
+-109.604 26.184 3517
+-109.478 26.184 3500
+-109.352 26.184 3521
+-109.226 26.184 3524
+-109.1 26.184 3462
+-108.974 26.184 3402
+-108.848 26.184 3452
+-108.722 26.184 3515
+-108.596 26.184 3545
+-108.47 26.184 3551
+-108.344 26.184 3559
+-108.218 26.184 3555
+-108.092 26.184 3555
+-107.966 26.184 3462
+-107.84 26.184 3440
+-107.714 26.184 3433
+-107.588 26.184 3400
+-107.462 26.184 3363
+-107.336 26.184 3286
+-107.21 26.184 3226
+-107.084 26.184 3155
+-106.958 26.184 3004
+-106.832 26.184 2924
+-106.706 26.184 2789
+-106.58 26.184 2616
+-106.454 26.184 2406
+-106.328 26.184 2182
+-106.202 26.184 2003
+-106.076 26.184 1936
+-105.95 26.184 1995
+-105.824 26.184 2131
+-105.698 26.184 2285
+-105.572 26.184 2423
+-105.446 26.184 2517
+-105.32 26.184 2639
+-105.194 26.184 2711
+-105.068 26.184 2772
+-104.942 26.184 2819
+-104.816 26.184 2900
+-104.69 26.184 2934
+-104.564 26.184 2964
+-104.438 26.184 3005
+-104.312 26.184 3023
+-104.186 26.184 3045
+-104.06 26.184 3060
+-103.934 26.184 3084
+-103.808 26.184 3094
+-103.682 26.184 3117
+-103.556 26.184 3135
+-103.43 26.184 3146
+-103.304 26.184 3157
+-103.178 26.184 3173
+-103.052 26.184 3174
+-102.926 26.184 3212
+-102.8 26.184 3226
+-102.674 26.184 3217
+-102.548 26.184 3229
+-102.422 26.184 3266
+-102.296 26.184 3279
+-102.17 26.184 3258
+-102.044 26.184 3245
+-101.918 26.184 3260
+-101.792 26.184 3144
+-101.666 26.184 3152
+-101.54 26.184 3206
+-101.414 26.184 3215
+-101.288 26.184 3176
+-101.162 26.184 3190
+-101.036 26.184 3198
+-100.91 26.184 3181
+-100.784 26.184 3188
+-100.658 26.184 3194
+-100.532 26.184 3200
+-100.406 26.184 3206
+-100.28 26.184 3212
+-100.154 26.184 3217
+-100.028 26.184 3154
+-99.902 26.184 3152
+-99.776 26.184 3156
+-99.65 26.184 3160
+-99.524 26.184 3143
+-99.398 26.184 3148
+-99.272 26.184 3210
+-99.146 26.184 3215
+-99.02 26.184 3229
+-98.894 26.184 3214
+-98.768 26.184 3218
+-98.642 26.184 3222
+-98.516 26.184 3226
+-98.39 26.184 3225
+-98.264 26.184 3229
+-98.138 26.184 3217
+-98.012 26.184 3221
+-97.886 26.184 3148
+-97.76 26.184 3043
+-97.634 26.184 3043
+-97.508 26.184 3042
+-97.382 26.184 3041
+-97.256 26.184 3005
+-97.13 26.184 3024
+-97.004 26.184 2996
+-96.878 26.184 2978
+-96.752 26.184 3005
+-96.626 26.184 2974
+-96.5 26.184 3032
+-96.374 26.184 3073
+-96.248 26.184 3297
+-96.122 26.184 3301
+-95.996 26.184 3308
+-95.87 26.184 3342
+-95.744 26.184 3341
+-95.618 26.184 3340
+-95.492 26.184 3339
+-95.366 26.184 3338
+-95.24 26.184 3337
+-95.114 26.184 3438
+-94.988 26.184 3437
+-94.862 26.184 3436
+-94.736 26.184 3435
+-94.61 26.184 3433
+-94.484 26.184 3432
+-94.358 26.184 3431
+-94.232 26.184 3430
+-94.106 26.184 3428
+-93.98 26.184 3427
+-93.854 26.184 3426
+-93.728 26.184 3424
+-93.602 26.184 3456
+-93.476 26.184 3454
+-93.35 26.184 3452
+-93.224 26.184 3450
+-93.098 26.184 3448
+-92.972 26.184 3446
+-92.846 26.184 3462
+-92.72 26.184 3461
+-92.594 26.184 3459
+-92.468 26.184 3457
+-92.342 26.184 3456
+-92.216 26.184 3454
+-92.09 26.184 3476
+-91.964 26.184 3490
+-91.838 26.184 3489
+-91.712 26.184 3487
+-91.586 26.184 3547
+-91.46 26.184 3547
+-91.334 26.184 3548
+-91.208 26.184 3548
+-91.082 26.184 3549
+-90.956 26.184 3567
+-90.83 26.184 3568
+-90.704 26.184 3628
+-90.578 26.184 3631
+-90.452 26.184 3652
+-90.326 26.184 3655
+-90.2 26.184 3659
+-90.074 26.184 3664
+-89.948 26.184 3695
+-89.822 26.184 3701
+-89.696 26.184 3746
+-89.57 26.184 3797
+-89.444 26.184 3804
+-89.318 26.184 3811
+-89.192 26.184 3817
+-89.066 26.184 3853
+-88.94 26.184 4011
+-88.814 26.184 4048
+-88.688 26.184 4048
+-88.562 26.184 4049
+-88.436 26.184 4050
+-88.31 26.184 4115
+-88.184 26.184 4161
+-88.058 26.184 4159
+-87.932 26.184 4210
+-87.806 26.184 4229
+-87.68 26.184 4247
+-87.554 26.184 4310
+-87.428 26.184 4354
+-87.302 26.184 4418
+-87.176 26.184 4533
+-87.05 26.184 4605
+-86.924 26.184 4661
+-86.798 26.184 4660
+-86.672 26.184 4656
+-86.546 26.184 4789
+-86.42 26.184 4951
+-86.294 26.184 5018
+-86.168 26.184 5126
+-86.042 26.184 5261
+-85.916 26.184 5398
+-85.79 26.184 5498
+-85.664 26.184 5582
+-85.538 26.184 5693
+-85.412 26.184 5845
+-85.286 26.184 5976
+-85.16 26.184 6085
+-85.034 26.184 6152
+-84.908 26.184 6293
+-84.782 26.184 6445
+-84.656 26.184 6562
+-84.53 26.184 6656
+-84.404 26.184 6858
+-84.278 26.184 6992
+-84.152 26.184 7012
+-84.026 26.184 7157
+-83.9 26.184 7258
+-83.774 26.184 7336
+-83.648 26.184 7414
+-83.522 26.184 7519
+-83.396 26.184 7639
+-83.27 26.184 7693
+-83.144 26.184 7801
+-83.018 26.184 7855
+-82.892 26.184 7919
+-82.766 26.184 7963
+-82.64 26.184 7971
+-82.514 26.184 8017
+-82.388 26.184 8043
+-82.262 26.184 8065
+-82.136 26.184 8057
+-82.01 26.184 8033
+-81.884 26.184 8016
+-81.758 26.184 7991
+-81.632 26.184 7973
+-81.506 26.184 7940
+-81.38 26.184 7839
+-81.254 26.184 7734
+-81.128 26.184 7693
+-81.002 26.184 7613
+-80.876 26.184 7579
+-80.75 26.184 7453
+-80.624 26.184 7281
+-80.498 26.184 7272
+-80.372 26.184 7148
+-80.246 26.184 7026
+-80.12 26.184 6918
+-79.994 26.184 6844
+-79.868 26.184 6701
+-79.742 26.184 6598
+-79.616 26.184 6482
+-79.49 26.184 6348
+-79.364 26.184 6200
+-79.238 26.184 6106
+-79.112 26.184 6090
+-78.986 26.184 5963
+-78.86 26.184 5785
+-78.734 26.184 5588
+-78.608 26.184 5420
+-78.482 26.184 5331
+-78.356 26.184 5267
+-78.23 26.184 5161
+-78.104 26.184 5044
+-77.978 26.184 4982
+-77.852 26.184 4912
+-77.726 26.184 4843
+-77.6 26.184 4792
+-77.474 26.184 4725
+-77.348 26.184 4680
+-77.222 26.184 4650
+-77.096 26.184 4567
+-76.97 26.184 4505
+-76.844 26.184 4485
+-76.718 26.184 4418
+-76.592 26.184 4311
+-76.466 26.184 4268
+-76.34 26.184 4216
+-76.214 26.184 4172
+-76.088 26.184 4077
+-75.962 26.184 4001
+-75.836 26.184 3971
+-75.71 26.184 3945
+-75.584 26.184 3923
+-75.458 26.184 3878
+-75.332 26.184 3814
+-75.206 26.184 3808
+-75.08 26.184 3783
+-74.954 26.184 3758
+-74.828 26.184 3762
+-74.702 26.184 3694
+-74.576 26.184 3474
+-74.45 26.184 3357
+-74.324 26.184 3350
+-74.198 26.184 3296
+-74.072 26.184 3289
+-73.946 26.184 3282
+-73.82 26.184 3275
+-73.694 26.184 3269
+-73.568 26.184 3263
+-73.442 26.184 3154
+-73.316 26.184 3149
+-73.19 26.184 3093
+-73.064 26.184 3090
+-72.938 26.184 3087
+-72.812 26.184 3084
+-72.686 26.184 3082
+-72.56 26.184 3080
+-72.434 26.184 3079
+-72.308 26.184 3078
+-72.182 26.184 3077
+-72.056 26.184 3077
+-71.93 26.184 3077
+-71.804 26.184 3077
+-71.678 26.184 3077
+-71.552 26.184 3078
+-71.426 26.184 2916
+-71.3 26.184 2917
+-71.174 26.184 2918
+-71.048 26.184 2919
+-70.922 26.184 2921
+-70.796 26.184 2922
+-70.67 26.184 2885
+-70.544 26.184 2888
+-70.418 26.184 2879
+-70.292 26.184 2875
+-70.166 26.184 2848
+-70.04 26.184 2850
+-69.914 26.184 2852
+-69.788 26.184 2854
+-69.662 26.184 2856
+-69.536 26.184 2858
+-69.41 26.184 2860
+-69.284 26.184 2862
+-69.158 26.184 2864
+-69.032 26.184 2866
+-68.906 26.184 2868
+-68.78 26.184 2869
+-68.654 26.184 2871
+-68.528 26.184 2873
+-68.402 26.184 2875
+-68.276 26.184 2876
+-68.15 26.184 2878
+-68.024 26.184 2880
+-67.898 26.184 2881
+-67.772 26.184 2883
+-67.646 26.184 2884
+-67.52 26.184 2886
+-67.394 26.184 2887
+-67.268 26.184 2889
+-67.142 26.184 2890
+-67.016 26.184 2892
+-66.89 26.184 2886
+-66.764 26.184 2888
+-66.638 26.184 2889
+-66.512 26.184 2891
+-66.386 26.184 2892
+-66.26 26.184 2893
+-66.134 26.184 2895
+-66.008 26.184 2896
+-65.882 26.184 2898
+-65.756 26.184 2899
+-65.63 26.184 2900
+-65.504 26.184 2901
+-65.378 26.184 2903
+-65.252 26.184 2904
+-65.126 26.184 2905
+-128 26.132 3429
+-127.874 26.132 3397
+-127.748 26.132 3397
+-127.622 26.132 3379
+-127.496 26.132 3410
+-127.37 26.132 3410
+-127.244 26.132 3477
+-127.118 26.132 3476
+-126.992 26.132 3439
+-126.866 26.132 3461
+-126.74 26.132 3501
+-126.614 26.132 3492
+-126.488 26.132 3525
+-126.362 26.132 3524
+-126.236 26.132 3564
+-126.11 26.132 3539
+-125.984 26.132 3538
+-125.858 26.132 3537
+-125.732 26.132 3573
+-125.606 26.132 3572
+-125.48 26.132 3368
+-125.354 26.132 3376
+-125.228 26.132 3395
+-125.102 26.132 3291
+-124.976 26.132 3288
+-124.85 26.132 3272
+-124.724 26.132 3338
+-124.598 26.132 3305
+-124.472 26.132 3301
+-124.346 26.132 3324
+-124.22 26.132 3222
+-124.094 26.132 3225
+-123.968 26.132 3252
+-123.842 26.132 3244
+-123.716 26.132 3238
+-123.59 26.132 3234
+-123.464 26.132 3149
+-123.338 26.132 3146
+-123.212 26.132 3068
+-123.086 26.132 3074
+-122.96 26.132 3073
+-122.834 26.132 3067
+-122.708 26.132 3032
+-122.582 26.132 3026
+-122.456 26.132 3019
+-122.33 26.132 3032
+-122.204 26.132 3013
+-122.078 26.132 3006
+-121.952 26.132 2960
+-121.826 26.132 2953
+-121.7 26.132 2987
+-121.574 26.132 2953
+-121.448 26.132 2936
+-121.322 26.132 2859
+-121.196 26.132 2879
+-121.07 26.132 2870
+-120.944 26.132 2861
+-120.818 26.132 2851
+-120.692 26.132 2842
+-120.566 26.132 2831
+-120.44 26.132 2782
+-120.314 26.132 2776
+-120.188 26.132 2766
+-120.062 26.132 2740
+-119.936 26.132 2723
+-119.81 26.132 2710
+-119.684 26.132 2703
+-119.558 26.132 2682
+-119.432 26.132 2677
+-119.306 26.132 2665
+-119.18 26.132 2660
+-119.054 26.132 2652
+-118.928 26.132 2653
+-118.802 26.132 2651
+-118.676 26.132 2655
+-118.55 26.132 2656
+-118.424 26.132 2655
+-118.298 26.132 2654
+-118.172 26.132 2653
+-118.046 26.132 2623
+-117.92 26.132 2620
+-117.794 26.132 2613
+-117.668 26.132 2590
+-117.542 26.132 2570
+-117.416 26.132 2527
+-117.29 26.132 2490
+-117.164 26.132 2452
+-117.038 26.132 2421
+-116.912 26.132 2408
+-116.786 26.132 2418
+-116.66 26.132 2446
+-116.534 26.132 2513
+-116.408 26.132 2555
+-116.282 26.132 2583
+-116.156 26.132 2626
+-116.03 26.132 2642
+-115.904 26.132 2649
+-115.778 26.132 2643
+-115.652 26.132 2641
+-115.526 26.132 2623
+-115.4 26.132 2625
+-115.274 26.132 2625
+-115.148 26.132 2597
+-115.022 26.132 2579
+-114.896 26.132 2580
+-114.77 26.132 2590
+-114.644 26.132 2622
+-114.518 26.132 2659
+-114.392 26.132 2738
+-114.266 26.132 2787
+-114.14 26.132 2830
+-114.014 26.132 2897
+-113.888 26.132 2917
+-113.762 26.132 2933
+-113.636 26.132 2939
+-113.51 26.132 2940
+-113.384 26.132 2957
+-113.258 26.132 2982
+-113.132 26.132 3007
+-113.006 26.132 3038
+-112.88 26.132 3087
+-112.754 26.132 3110
+-112.628 26.132 3155
+-112.502 26.132 3236
+-112.376 26.132 3317
+-112.25 26.132 3356
+-112.124 26.132 3378
+-111.998 26.132 3401
+-111.872 26.132 3414
+-111.746 26.132 3416
+-111.62 26.132 3410
+-111.494 26.132 3400
+-111.368 26.132 3416
+-111.242 26.132 3427
+-111.116 26.132 3449
+-110.99 26.132 3496
+-110.864 26.132 3545
+-110.738 26.132 3593
+-110.612 26.132 3601
+-110.486 26.132 3612
+-110.36 26.132 3607
+-110.234 26.132 3608
+-110.108 26.132 3569
+-109.982 26.132 3535
+-109.856 26.132 3503
+-109.73 26.132 3487
+-109.604 26.132 3497
+-109.478 26.132 3503
+-109.352 26.132 3509
+-109.226 26.132 3511
+-109.1 26.132 3476
+-108.974 26.132 3445
+-108.848 26.132 3459
+-108.722 26.132 3494
+-108.596 26.132 3525
+-108.47 26.132 3537
+-108.344 26.132 3546
+-108.218 26.132 3543
+-108.092 26.132 3491
+-107.966 26.132 3446
+-107.84 26.132 3426
+-107.714 26.132 3400
+-107.588 26.132 3389
+-107.462 26.132 3350
+-107.336 26.132 3307
+-107.21 26.132 3216
+-107.084 26.132 3101
+-106.958 26.132 3016
+-106.832 26.132 2887
+-106.706 26.132 2777
+-106.58 26.132 2611
+-106.454 26.132 2415
+-106.328 26.132 2213
+-106.202 26.132 2055
+-106.076 26.132 1994
+-105.95 26.132 2041
+-105.824 26.132 2159
+-105.698 26.132 2297
+-105.572 26.132 2426
+-105.446 26.132 2535
+-105.32 26.132 2601
+-105.194 26.132 2710
+-105.068 26.132 2767
+-104.942 26.132 2819
+-104.816 26.132 2859
+-104.69 26.132 2938
+-104.564 26.132 2968
+-104.438 26.132 2995
+-104.312 26.132 3035
+-104.186 26.132 3049
+-104.06 26.132 3070
+-103.934 26.132 3084
+-103.808 26.132 3106
+-103.682 26.132 3115
+-103.556 26.132 3137
+-103.43 26.132 3154
+-103.304 26.132 3164
+-103.178 26.132 3174
+-103.052 26.132 3188
+-102.926 26.132 3188
+-102.8 26.132 3226
+-102.674 26.132 3240
+-102.548 26.132 3229
+-102.422 26.132 3241
+-102.296 26.132 3277
+-102.17 26.132 3289
+-102.044 26.132 3267
+-101.918 26.132 3254
+-101.792 26.132 3268
+-101.666 26.132 3151
+-101.54 26.132 3158
+-101.414 26.132 3212
+-101.288 26.132 3221
+-101.162 26.132 3181
+-101.036 26.132 3195
+-100.91 26.132 3203
+-100.784 26.132 3185
+-100.658 26.132 3192
+-100.532 26.132 3198
+-100.406 26.132 3204
+-100.28 26.132 3209
+-100.154 26.132 3215
+-100.028 26.132 3220
+-99.902 26.132 3157
+-99.776 26.132 3154
+-99.65 26.132 3158
+-99.524 26.132 3162
+-99.398 26.132 3145
+-99.272 26.132 3149
+-99.146 26.132 3213
+-99.02 26.132 3217
+-98.894 26.132 3232
+-98.768 26.132 3216
+-98.642 26.132 3220
+-98.516 26.132 3224
+-98.39 26.132 3228
+-98.264 26.132 3227
+-98.138 26.132 3231
+-98.012 26.132 3219
+-97.886 26.132 3222
+-97.76 26.132 3108
+-97.634 26.132 3041
+-97.508 26.132 3040
+-97.382 26.132 3039
+-97.256 26.132 3003
+-97.13 26.132 3022
+-97.004 26.132 2995
+-96.878 26.132 2977
+-96.752 26.132 3005
+-96.626 26.132 3056
+-96.5 26.132 3033
+-96.374 26.132 3073
+-96.248 26.132 3297
+-96.122 26.132 3300
+-95.996 26.132 3308
+-95.87 26.132 3341
+-95.744 26.132 3340
+-95.618 26.132 3339
+-95.492 26.132 3338
+-95.366 26.132 3337
+-95.24 26.132 3438
+-95.114 26.132 3437
+-94.988 26.132 3436
+-94.862 26.132 3435
+-94.736 26.132 3434
+-94.61 26.132 3432
+-94.484 26.132 3431
+-94.358 26.132 3430
+-94.232 26.132 3429
+-94.106 26.132 3427
+-93.98 26.132 3426
+-93.854 26.132 3425
+-93.728 26.132 3457
+-93.602 26.132 3455
+-93.476 26.132 3453
+-93.35 26.132 3451
+-93.224 26.132 3449
+-93.098 26.132 3447
+-92.972 26.132 3464
+-92.846 26.132 3462
+-92.72 26.132 3461
+-92.594 26.132 3459
+-92.468 26.132 3457
+-92.342 26.132 3456
+-92.216 26.132 3478
+-92.09 26.132 3492
+-91.964 26.132 3491
+-91.838 26.132 3490
+-91.712 26.132 3549
+-91.586 26.132 3549
+-91.46 26.132 3550
+-91.334 26.132 3550
+-91.208 26.132 3551
+-91.082 26.132 3568
+-90.956 26.132 3570
+-90.83 26.132 3571
+-90.704 26.132 3573
+-90.578 26.132 3654
+-90.452 26.132 3657
+-90.326 26.132 3660
+-90.2 26.132 3665
+-90.074 26.132 3695
+-89.948 26.132 3699
+-89.822 26.132 3717
+-89.696 26.132 3722
+-89.57 26.132 3756
+-89.444 26.132 3806
+-89.318 26.132 3810
+-89.192 26.132 3846
+-89.066 26.132 3952
+-88.94 26.132 3951
+-88.814 26.132 3986
+-88.688 26.132 4036
+-88.562 26.132 4034
+-88.436 26.132 4079
+-88.31 26.132 4072
+-88.184 26.132 4065
+-88.058 26.132 4145
+-87.932 26.132 4141
+-87.806 26.132 4162
+-87.68 26.132 4212
+-87.554 26.132 4273
+-87.428 26.132 4332
+-87.302 26.132 4426
+-87.176 26.132 4514
+-87.05 26.132 4588
+-86.924 26.132 4654
+-86.798 26.132 4701
+-86.672 26.132 4789
+-86.546 26.132 4874
+-86.42 26.132 4959
+-86.294 26.132 4947
+-86.168 26.132 5055
+-86.042 26.132 5194
+-85.916 26.132 5361
+-85.79 26.132 5456
+-85.664 26.132 5564
+-85.538 26.132 5678
+-85.412 26.132 5866
+-85.286 26.132 5975
+-85.16 26.132 6045
+-85.034 26.132 6103
+-84.908 26.132 6233
+-84.782 26.132 6376
+-84.656 26.132 6523
+-84.53 26.132 6658
+-84.404 26.132 6803
+-84.278 26.132 6968
+-84.152 26.132 7040
+-84.026 26.132 7141
+-83.9 26.132 7229
+-83.774 26.132 7317
+-83.648 26.132 7382
+-83.522 26.132 7485
+-83.396 26.132 7564
+-83.27 26.132 7680
+-83.144 26.132 7738
+-83.018 26.132 7837
+-82.892 26.132 7841
+-82.766 26.132 7908
+-82.64 26.132 7943
+-82.514 26.132 7987
+-82.388 26.132 8016
+-82.262 26.132 8025
+-82.136 26.132 7999
+-82.01 26.132 8003
+-81.884 26.132 7991
+-81.758 26.132 7965
+-81.632 26.132 7914
+-81.506 26.132 7826
+-81.38 26.132 7741
+-81.254 26.132 7684
+-81.128 26.132 7660
+-81.002 26.132 7566
+-80.876 26.132 7505
+-80.75 26.132 7383
+-80.624 26.132 7283
+-80.498 26.132 7206
+-80.372 26.132 7096
+-80.246 26.132 6976
+-80.12 26.132 6877
+-79.994 26.132 6810
+-79.868 26.132 6695
+-79.742 26.132 6480
+-79.616 26.132 6455
+-79.49 26.132 6337
+-79.364 26.132 6221
+-79.238 26.132 6119
+-79.112 26.132 6004
+-78.986 26.132 5888
+-78.86 26.132 5780
+-78.734 26.132 5557
+-78.608 26.132 5433
+-78.482 26.132 5403
+-78.356 26.132 5290
+-78.23 26.132 5162
+-78.104 26.132 5023
+-77.978 26.132 4938
+-77.852 26.132 4875
+-77.726 26.132 4813
+-77.6 26.132 4748
+-77.474 26.132 4672
+-77.348 26.132 4601
+-77.222 26.132 4523
+-77.096 26.132 4500
+-76.97 26.132 4460
+-76.844 26.132 4450
+-76.718 26.132 4436
+-76.592 26.132 4371
+-76.466 26.132 4226
+-76.34 26.132 4176
+-76.214 26.132 4136
+-76.088 26.132 4089
+-75.962 26.132 4052
+-75.836 26.132 3982
+-75.71 26.132 3961
+-75.584 26.132 3942
+-75.458 26.132 3928
+-75.332 26.132 3888
+-75.206 26.132 3828
+-75.08 26.132 3825
+-74.954 26.132 3773
+-74.828 26.132 3753
+-74.702 26.132 3559
+-74.576 26.132 3528
+-74.45 26.132 3463
+-74.324 26.132 3344
+-74.198 26.132 3336
+-74.072 26.132 3281
+-73.946 26.132 3272
+-73.82 26.132 3265
+-73.694 26.132 3258
+-73.568 26.132 3137
+-73.442 26.132 3132
+-73.316 26.132 3136
+-73.19 26.132 3080
+-73.064 26.132 3076
+-72.938 26.132 3073
+-72.812 26.132 3071
+-72.686 26.132 3069
+-72.56 26.132 3067
+-72.434 26.132 3066
+-72.308 26.132 3066
+-72.182 26.132 3065
+-72.056 26.132 3066
+-71.93 26.132 3066
+-71.804 26.132 3066
+-71.678 26.132 3067
+-71.552 26.132 3068
+-71.426 26.132 3069
+-71.3 26.132 2907
+-71.174 26.132 2909
+-71.048 26.132 2910
+-70.922 26.132 2912
+-70.796 26.132 2913
+-70.67 26.132 2915
+-70.544 26.132 2878
+-70.418 26.132 2881
+-70.292 26.132 2872
+-70.166 26.132 2868
+-70.04 26.132 2842
+-69.914 26.132 2844
+-69.788 26.132 2846
+-69.662 26.132 2849
+-69.536 26.132 2851
+-69.41 26.132 2853
+-69.284 26.132 2855
+-69.158 26.132 2857
+-69.032 26.132 2860
+-68.906 26.132 2862
+-68.78 26.132 2864
+-68.654 26.132 2866
+-68.528 26.132 2868
+-68.402 26.132 2869
+-68.276 26.132 2871
+-68.15 26.132 2873
+-68.024 26.132 2875
+-67.898 26.132 2877
+-67.772 26.132 2878
+-67.646 26.132 2880
+-67.52 26.132 2882
+-67.394 26.132 2883
+-67.268 26.132 2885
+-67.142 26.132 2886
+-67.016 26.132 2888
+-66.89 26.132 2889
+-66.764 26.132 2883
+-66.638 26.132 2885
+-66.512 26.132 2887
+-66.386 26.132 2888
+-66.26 26.132 2890
+-66.134 26.132 2891
+-66.008 26.132 2893
+-65.882 26.132 2894
+-65.756 26.132 2895
+-65.63 26.132 2897
+-65.504 26.132 2898
+-65.378 26.132 2899
+-65.252 26.132 2901
+-65.126 26.132 2902
+-128 26.08 3398
+-127.874 26.08 3397
+-127.748 26.08 3379
+-127.622 26.08 3411
+-127.496 26.08 3411
+-127.37 26.08 3477
+-127.244 26.08 3477
+-127.118 26.08 3440
+-126.992 26.08 3461
+-126.866 26.08 3502
+-126.74 26.08 3493
+-126.614 26.08 3526
+-126.488 26.08 3526
+-126.362 26.08 3566
+-126.236 26.08 3540
+-126.11 26.08 3539
+-125.984 26.08 3538
+-125.858 26.08 3574
+-125.732 26.08 3573
+-125.606 26.08 3365
+-125.48 26.08 3373
+-125.354 26.08 3393
+-125.228 26.08 3288
+-125.102 26.08 3285
+-124.976 26.08 3268
+-124.85 26.08 3335
+-124.724 26.08 3301
+-124.598 26.08 3298
+-124.472 26.08 3320
+-124.346 26.08 3218
+-124.22 26.08 3221
+-124.094 26.08 3248
+-123.968 26.08 3240
+-123.842 26.08 3235
+-123.716 26.08 3229
+-123.59 26.08 3144
+-123.464 26.08 3141
+-123.338 26.08 3063
+-123.212 26.08 3068
+-123.086 26.08 3068
+-122.96 26.08 3061
+-122.834 26.08 3026
+-122.708 26.08 3020
+-122.582 26.08 3013
+-122.456 26.08 3026
+-122.33 26.08 3006
+-122.204 26.08 2999
+-122.078 26.08 2953
+-121.952 26.08 2946
+-121.826 26.08 2981
+-121.7 26.08 2946
+-121.574 26.08 2928
+-121.448 26.08 2850
+-121.322 26.08 2870
+-121.196 26.08 2862
+-121.07 26.08 2853
+-120.944 26.08 2843
+-120.818 26.08 2834
+-120.692 26.08 2824
+-120.566 26.08 2774
+-120.44 26.08 2769
+-120.314 26.08 2760
+-120.188 26.08 2735
+-120.062 26.08 2718
+-119.936 26.08 2706
+-119.81 26.08 2700
+-119.684 26.08 2679
+-119.558 26.08 2675
+-119.432 26.08 2663
+-119.306 26.08 2658
+-119.18 26.08 2649
+-119.054 26.08 2649
+-118.928 26.08 2647
+-118.802 26.08 2651
+-118.676 26.08 2652
+-118.55 26.08 2653
+-118.424 26.08 2653
+-118.298 26.08 2651
+-118.172 26.08 2617
+-118.046 26.08 2612
+-117.92 26.08 2604
+-117.794 26.08 2579
+-117.668 26.08 2557
+-117.542 26.08 2510
+-117.416 26.08 2465
+-117.29 26.08 2408
+-117.164 26.08 2348
+-117.038 26.08 2299
+-116.912 26.08 2279
+-116.786 26.08 2295
+-116.66 26.08 2340
+-116.534 26.08 2425
+-116.408 26.08 2482
+-116.282 26.08 2538
+-116.156 26.08 2576
+-116.03 26.08 2614
+-115.904 26.08 2623
+-115.778 26.08 2638
+-115.652 26.08 2638
+-115.526 26.08 2628
+-115.4 26.08 2641
+-115.274 26.08 2651
+-115.148 26.08 2631
+-115.022 26.08 2623
+-114.896 26.08 2632
+-114.77 26.08 2655
+-114.644 26.08 2675
+-114.518 26.08 2705
+-114.392 26.08 2779
+-114.266 26.08 2815
+-114.14 26.08 2864
+-114.014 26.08 2909
+-113.888 26.08 2934
+-113.762 26.08 2932
+-113.636 26.08 2945
+-113.51 26.08 2939
+-113.384 26.08 2941
+-113.258 26.08 2946
+-113.132 26.08 2942
+-113.006 26.08 2953
+-112.88 26.08 2980
+-112.754 26.08 3026
+-112.628 26.08 3078
+-112.502 26.08 3147
+-112.376 26.08 3225
+-112.25 26.08 3292
+-112.124 26.08 3334
+-111.998 26.08 3366
+-111.872 26.08 3388
+-111.746 26.08 3398
+-111.62 26.08 3403
+-111.494 26.08 3404
+-111.368 26.08 3414
+-111.242 26.08 3421
+-111.116 26.08 3427
+-110.99 26.08 3461
+-110.864 26.08 3502
+-110.738 26.08 3541
+-110.612 26.08 3563
+-110.486 26.08 3576
+-110.36 26.08 3572
+-110.234 26.08 3550
+-110.108 26.08 3525
+-109.982 26.08 3484
+-109.856 26.08 3434
+-109.73 26.08 3407
+-109.604 26.08 3438
+-109.478 26.08 3476
+-109.352 26.08 3489
+-109.226 26.08 3491
+-109.1 26.08 3487
+-108.974 26.08 3471
+-108.848 26.08 3478
+-108.722 26.08 3493
+-108.596 26.08 3508
+-108.47 26.08 3503
+-108.344 26.08 3510
+-108.218 26.08 3511
+-108.092 26.08 3455
+-107.966 26.08 3439
+-107.84 26.08 3360
+-107.714 26.08 3335
+-107.588 26.08 3305
+-107.462 26.08 3289
+-107.336 26.08 3246
+-107.21 26.08 3193
+-107.084 26.08 3092
+-106.958 26.08 3011
+-106.832 26.08 2911
+-106.706 26.08 2768
+-106.58 26.08 2640
+-106.454 26.08 2474
+-106.328 26.08 2310
+-106.202 26.08 2184
+-106.076 26.08 2131
+-105.95 26.08 2159
+-105.824 26.08 2243
+-105.698 26.08 2353
+-105.572 26.08 2461
+-105.446 26.08 2556
+-105.32 26.08 2636
+-105.194 26.08 2676
+-105.068 26.08 2775
+-104.942 26.08 2819
+-104.816 26.08 2863
+-104.69 26.08 2896
+-104.564 26.08 2974
+-104.438 26.08 3001
+-104.312 26.08 3025
+-104.186 26.08 3064
+-104.06 26.08 3076
+-103.934 26.08 3094
+-103.808 26.08 3106
+-103.682 26.08 3127
+-103.556 26.08 3135
+-103.43 26.08 3157
+-103.304 26.08 3172
+-103.178 26.08 3181
+-103.052 26.08 3190
+-102.926 26.08 3203
+-102.8 26.08 3202
+-102.674 26.08 3240
+-102.548 26.08 3253
+-102.422 26.08 3240
+-102.296 26.08 3252
+-102.17 26.08 3288
+-102.044 26.08 3300
+-101.918 26.08 3277
+-101.792 26.08 3262
+-101.666 26.08 3276
+-101.54 26.08 3157
+-101.414 26.08 3164
+-101.288 26.08 3219
+-101.162 26.08 3226
+-101.036 26.08 3186
+-100.91 26.08 3200
+-100.784 26.08 3207
+-100.658 26.08 3190
+-100.532 26.08 3196
+-100.406 26.08 3202
+-100.28 26.08 3207
+-100.154 26.08 3213
+-100.028 26.08 3218
+-99.902 26.08 3223
+-99.776 26.08 3159
+-99.65 26.08 3156
+-99.524 26.08 3160
+-99.398 26.08 3164
+-99.272 26.08 3147
+-99.146 26.08 3151
+-99.02 26.08 3215
+-98.894 26.08 3219
+-98.768 26.08 3234
+-98.642 26.08 3218
+-98.516 26.08 3222
+-98.39 26.08 3226
+-98.264 26.08 3229
+-98.138 26.08 3229
+-98.012 26.08 3232
+-97.886 26.08 3220
+-97.76 26.08 3106
+-97.634 26.08 3106
+-97.508 26.08 3038
+-97.382 26.08 3037
+-97.256 26.08 3001
+-97.13 26.08 3020
+-97.004 26.08 2993
+-96.878 26.08 2977
+-96.752 26.08 3005
+-96.626 26.08 3056
+-96.5 26.08 3033
+-96.374 26.08 3073
+-96.248 26.08 3297
+-96.122 26.08 3300
+-95.996 26.08 3307
+-95.87 26.08 3340
+-95.744 26.08 3339
+-95.618 26.08 3339
+-95.492 26.08 3338
+-95.366 26.08 3438
+-95.24 26.08 3437
+-95.114 26.08 3436
+-94.988 26.08 3435
+-94.862 26.08 3434
+-94.736 26.08 3433
+-94.61 26.08 3431
+-94.484 26.08 3430
+-94.358 26.08 3429
+-94.232 26.08 3428
+-94.106 26.08 3426
+-93.98 26.08 3425
+-93.854 26.08 3457
+-93.728 26.08 3455
+-93.602 26.08 3453
+-93.476 26.08 3452
+-93.35 26.08 3450
+-93.224 26.08 3448
+-93.098 26.08 3465
+-92.972 26.08 3463
+-92.846 26.08 3462
+-92.72 26.08 3460
+-92.594 26.08 3459
+-92.468 26.08 3457
+-92.342 26.08 3480
+-92.216 26.08 3494
+-92.09 26.08 3493
+-91.964 26.08 3491
+-91.838 26.08 3551
+-91.712 26.08 3551
+-91.586 26.08 3551
+-91.46 26.08 3552
+-91.334 26.08 3568
+-91.208 26.08 3569
+-91.082 26.08 3570
+-90.956 26.08 3571
+-90.83 26.08 3573
+-90.704 26.08 3655
+-90.578 26.08 3658
+-90.452 26.08 3661
+-90.326 26.08 3664
+-90.2 26.08 3693
+-90.074 26.08 3697
+-89.948 26.08 3714
+-89.822 26.08 3718
+-89.696 26.08 3723
+-89.57 26.08 3756
+-89.444 26.08 3761
+-89.318 26.08 3786
+-89.192 26.08 3919
+-89.066 26.08 3918
+-88.94 26.08 3916
+-88.814 26.08 3936
+-88.688 26.08 3959
+-88.562 26.08 4068
+-88.436 26.08 4056
+-88.31 26.08 4042
+-88.184 26.08 4053
+-88.058 26.08 4041
+-87.932 26.08 4037
+-87.806 26.08 4071
+-87.68 26.08 4130
+-87.554 26.08 4216
+-87.428 26.08 4292
+-87.302 26.08 4399
+-87.176 26.08 4457
+-87.05 26.08 4529
+-86.924 26.08 4603
+-86.798 26.08 4685
+-86.672 26.08 4779
+-86.546 26.08 4888
+-86.42 26.08 4947
+-86.294 26.08 4974
+-86.168 26.08 5049
+-86.042 26.08 5151
+-85.916 26.08 5302
+-85.79 26.08 5323
+-85.664 26.08 5497
+-85.538 26.08 5657
+-85.412 26.08 5810
+-85.286 26.08 5898
+-85.16 26.08 5991
+-85.034 26.08 6088
+-84.908 26.08 6184
+-84.782 26.08 6284
+-84.656 26.08 6455
+-84.53 26.08 6619
+-84.404 26.08 6734
+-84.278 26.08 6915
+-84.152 26.08 7006
+-84.026 26.08 7063
+-83.9 26.08 7169
+-83.774 26.08 7248
+-83.648 26.08 7349
+-83.522 26.08 7422
+-83.396 26.08 7503
+-83.27 26.08 7617
+-83.144 26.08 7699
+-83.018 26.08 7783
+-82.892 26.08 7797
+-82.766 26.08 7843
+-82.64 26.08 7892
+-82.514 26.08 7932
+-82.388 26.08 7944
+-82.262 26.08 7982
+-82.136 26.08 7959
+-82.01 26.08 7977
+-81.884 26.08 7940
+-81.758 26.08 7903
+-81.632 26.08 7817
+-81.506 26.08 7805
+-81.38 26.08 7735
+-81.254 26.08 7695
+-81.128 26.08 7588
+-81.002 26.08 7511
+-80.876 26.08 7448
+-80.75 26.08 7322
+-80.624 26.08 7312
+-80.498 26.08 7115
+-80.372 26.08 7073
+-80.246 26.08 7011
+-80.12 26.08 6840
+-79.994 26.08 6782
+-79.868 26.08 6668
+-79.742 26.08 6519
+-79.616 26.08 6401
+-79.49 26.08 6259
+-79.364 26.08 6162
+-79.238 26.08 6044
+-79.112 26.08 5934
+-78.986 26.08 5847
+-78.86 26.08 5765
+-78.734 26.08 5610
+-78.608 26.08 5480
+-78.482 26.08 5386
+-78.356 26.08 5260
+-78.23 26.08 5087
+-78.104 26.08 4953
+-77.978 26.08 4854
+-77.852 26.08 4823
+-77.726 26.08 4789
+-77.6 26.08 4680
+-77.474 26.08 4539
+-77.348 26.08 4398
+-77.222 26.08 4379
+-77.096 26.08 4412
+-76.97 26.08 4437
+-76.844 26.08 4454
+-76.718 26.08 4344
+-76.592 26.08 4299
+-76.466 26.08 4272
+-76.34 26.08 4240
+-76.214 26.08 4132
+-76.088 26.08 4098
+-75.962 26.08 4059
+-75.836 26.08 4030
+-75.71 26.08 3965
+-75.584 26.08 3951
+-75.458 26.08 3939
+-75.332 26.08 3931
+-75.206 26.08 3869
+-75.08 26.08 3815
+-74.954 26.08 3785
+-74.828 26.08 3560
+-74.702 26.08 3551
+-74.576 26.08 3542
+-74.45 26.08 3460
+-74.324 26.08 3389
+-74.198 26.08 3325
+-74.072 26.08 3317
+-73.946 26.08 3246
+-73.82 26.08 3237
+-73.694 26.08 3129
+-73.568 26.08 3123
+-73.442 26.08 3117
+-73.316 26.08 3112
+-73.19 26.08 3108
+-73.064 26.08 3061
+-72.938 26.08 3058
+-72.812 26.08 3056
+-72.686 26.08 3054
+-72.56 26.08 3053
+-72.434 26.08 3053
+-72.308 26.08 3052
+-72.182 26.08 3053
+-72.056 26.08 3053
+-71.93 26.08 3054
+-71.804 26.08 3055
+-71.678 26.08 3056
+-71.552 26.08 3057
+-71.426 26.08 3059
+-71.3 26.08 3061
+-71.174 26.08 2898
+-71.048 26.08 2900
+-70.922 26.08 2902
+-70.796 26.08 2904
+-70.67 26.08 2906
+-70.544 26.08 2908
+-70.418 26.08 2871
+-70.292 26.08 2874
+-70.166 26.08 2866
+-70.04 26.08 2862
+-69.914 26.08 2836
+-69.788 26.08 2839
+-69.662 26.08 2841
+-69.536 26.08 2844
+-69.41 26.08 2846
+-69.284 26.08 2849
+-69.158 26.08 2851
+-69.032 26.08 2853
+-68.906 26.08 2856
+-68.78 26.08 2858
+-68.654 26.08 2860
+-68.528 26.08 2862
+-68.402 26.08 2864
+-68.276 26.08 2866
+-68.15 26.08 2868
+-68.024 26.08 2870
+-67.898 26.08 2872
+-67.772 26.08 2874
+-67.646 26.08 2876
+-67.52 26.08 2877
+-67.394 26.08 2879
+-67.268 26.08 2881
+-67.142 26.08 2882
+-67.016 26.08 2884
+-66.89 26.08 2886
+-66.764 26.08 2887
+-66.638 26.08 2881
+-66.512 26.08 2883
+-66.386 26.08 2884
+-66.26 26.08 2886
+-66.134 26.08 2887
+-66.008 26.08 2889
+-65.882 26.08 2890
+-65.756 26.08 2892
+-65.63 26.08 2893
+-65.504 26.08 2895
+-65.378 26.08 2896
+-65.252 26.08 2897
+-65.126 26.08 2899
+-128 26.028 3398
+-127.874 26.028 3380
+-127.748 26.028 3412
+-127.622 26.028 3411
+-127.496 26.028 3478
+-127.37 26.028 3477
+-127.244 26.028 3441
+-127.118 26.028 3462
+-126.992 26.028 3503
+-126.866 26.028 3494
+-126.74 26.028 3528
+-126.614 26.028 3527
+-126.488 26.028 3567
+-126.362 26.028 3541
+-126.236 26.028 3540
+-126.11 26.028 3540
+-125.984 26.028 3576
+-125.858 26.028 3575
+-125.732 26.028 3362
+-125.606 26.028 3371
+-125.48 26.028 3390
+-125.354 26.028 3286
+-125.228 26.028 3282
+-125.102 26.028 3265
+-124.976 26.028 3332
+-124.85 26.028 3298
+-124.724 26.028 3294
+-124.598 26.028 3317
+-124.472 26.028 3214
+-124.346 26.028 3217
+-124.22 26.028 3245
+-124.094 26.028 3236
+-123.968 26.028 3230
+-123.842 26.028 3225
+-123.716 26.028 3140
+-123.59 26.028 3137
+-123.464 26.028 3058
+-123.338 26.028 3063
+-123.212 26.028 3063
+-123.086 26.028 3056
+-122.96 26.028 3020
+-122.834 26.028 3014
+-122.708 26.028 3007
+-122.582 26.028 3020
+-122.456 26.028 3000
+-122.33 26.028 2992
+-122.204 26.028 2947
+-122.078 26.028 2939
+-121.952 26.028 2974
+-121.826 26.028 2939
+-121.7 26.028 2921
+-121.574 26.028 2841
+-121.448 26.028 2861
+-121.322 26.028 2852
+-121.196 26.028 2843
+-121.07 26.028 2834
+-120.944 26.028 2824
+-120.818 26.028 2815
+-120.692 26.028 2764
+-120.566 26.028 2759
+-120.44 26.028 2751
+-120.314 26.028 2724
+-120.188 26.028 2708
+-120.062 26.028 2696
+-119.936 26.028 2691
+-119.81 26.028 2670
+-119.684 26.028 2666
+-119.558 26.028 2654
+-119.432 26.028 2649
+-119.306 26.028 2640
+-119.18 26.028 2640
+-119.054 26.028 2637
+-118.928 26.028 2642
+-118.802 26.028 2644
+-118.676 26.028 2645
+-118.55 26.028 2645
+-118.424 26.028 2645
+-118.298 26.028 2609
+-118.172 26.028 2604
+-118.046 26.028 2596
+-117.92 26.028 2572
+-117.794 26.028 2552
+-117.668 26.028 2507
+-117.542 26.028 2463
+-117.416 26.028 2402
+-117.29 26.028 2326
+-117.164 26.028 2243
+-117.038 26.028 2174
+-116.912 26.028 2147
+-116.786 26.028 2171
+-116.66 26.028 2236
+-116.534 26.028 2314
+-116.408 26.028 2376
+-116.282 26.028 2437
+-116.156 26.028 2541
+-116.03 26.028 2582
+-115.904 26.028 2600
+-115.778 26.028 2629
+-115.652 26.028 2636
+-115.526 26.028 2633
+-115.4 26.028 2653
+-115.274 26.028 2664
+-115.148 26.028 2659
+-115.022 26.028 2657
+-114.896 26.028 2660
+-114.77 26.028 2686
+-114.644 26.028 2703
+-114.518 26.028 2740
+-114.392 26.028 2768
+-114.266 26.028 2838
+-114.14 26.028 2865
+-114.014 26.028 2887
+-113.888 26.028 2928
+-113.762 26.028 2925
+-113.636 26.028 2934
+-113.51 26.028 2929
+-113.384 26.028 2912
+-113.258 26.028 2883
+-113.132 26.028 2852
+-113.006 26.028 2841
+-112.88 26.028 2873
+-112.754 26.028 2932
+-112.628 26.028 2994
+-112.502 26.028 3068
+-112.376 26.028 3132
+-112.25 26.028 3233
+-112.124 26.028 3288
+-111.998 26.028 3331
+-111.872 26.028 3358
+-111.746 26.028 3375
+-111.62 26.028 3380
+-111.494 26.028 3385
+-111.368 26.028 3397
+-111.242 26.028 3410
+-111.116 26.028 3416
+-110.99 26.028 3442
+-110.864 26.028 3477
+-110.738 26.028 3511
+-110.612 26.028 3532
+-110.486 26.028 3540
+-110.36 26.028 3541
+-110.234 26.028 3520
+-110.108 26.028 3491
+-109.982 26.028 3451
+-109.856 26.028 3393
+-109.73 26.028 3362
+-109.604 26.028 3393
+-109.478 26.028 3432
+-109.352 26.028 3449
+-109.226 26.028 3457
+-109.1 26.028 3458
+-108.974 26.028 3456
+-108.848 26.028 3460
+-108.722 26.028 3466
+-108.596 26.028 3472
+-108.47 26.028 3477
+-108.344 26.028 3464
+-108.218 26.028 3462
+-108.092 26.028 3402
+-107.966 26.028 3385
+-107.84 26.028 3351
+-107.714 26.028 3315
+-107.588 26.028 3287
+-107.462 26.028 3254
+-107.336 26.028 3234
+-107.21 26.028 3185
+-107.084 26.028 3073
+-106.958 26.028 3013
+-106.832 26.028 2922
+-106.706 26.028 2815
+-106.58 26.028 2674
+-106.454 26.028 2557
+-106.328 26.028 2431
+-106.202 26.028 2335
+-106.076 26.028 2289
+-105.95 26.028 2300
+-105.824 26.028 2354
+-105.698 26.028 2430
+-105.572 26.028 2516
+-105.446 26.028 2593
+-105.32 26.028 2661
+-105.194 26.028 2719
+-105.068 26.028 2739
+-104.942 26.028 2831
+-104.816 26.028 2866
+-104.69 26.028 2903
+-104.564 26.028 2931
+-104.438 26.028 3009
+-104.312 26.028 3032
+-104.186 26.028 3053
+-104.06 26.028 3091
+-103.934 26.028 3099
+-103.808 26.028 3117
+-103.682 26.028 3127
+-103.556 26.028 3148
+-103.43 26.028 3153
+-103.304 26.028 3175
+-103.178 26.028 3189
+-103.052 26.028 3197
+-102.926 26.028 3204
+-102.8 26.028 3217
+-102.674 26.028 3214
+-102.548 26.028 3253
+-102.422 26.028 3265
+-102.296 26.028 3251
+-102.17 26.028 3262
+-102.044 26.028 3299
+-101.918 26.028 3310
+-101.792 26.028 3285
+-101.666 26.028 3270
+-101.54 26.028 3284
+-101.414 26.028 3163
+-101.288 26.028 3170
+-101.162 26.028 3225
+-101.036 26.028 3232
+-100.91 26.028 3191
+-100.784 26.028 3205
+-100.658 26.028 3212
+-100.532 26.028 3194
+-100.406 26.028 3200
+-100.28 26.028 3205
+-100.154 26.028 3211
+-100.028 26.028 3216
+-99.902 26.028 3221
+-99.776 26.028 3226
+-99.65 26.028 3161
+-99.524 26.028 3158
+-99.398 26.028 3162
+-99.272 26.028 3166
+-99.146 26.028 3149
+-99.02 26.028 3153
+-98.894 26.028 3217
+-98.768 26.028 3221
+-98.642 26.028 3236
+-98.516 26.028 3220
+-98.39 26.028 3223
+-98.264 26.028 3227
+-98.138 26.028 3231
+-98.012 26.028 3230
+-97.886 26.028 3116
+-97.76 26.028 3104
+-97.634 26.028 3104
+-97.508 26.028 3103
+-97.382 26.028 3035
+-97.256 26.028 3000
+-97.13 26.028 3018
+-97.004 26.028 2992
+-96.878 26.028 2976
+-96.752 26.028 3005
+-96.626 26.028 3056
+-96.5 26.028 3033
+-96.374 26.028 3073
+-96.248 26.028 3296
+-96.122 26.028 3300
+-95.996 26.028 3307
+-95.87 26.028 3340
+-95.744 26.028 3339
+-95.618 26.028 3338
+-95.492 26.028 3438
+-95.366 26.028 3437
+-95.24 26.028 3436
+-95.114 26.028 3435
+-94.988 26.028 3434
+-94.862 26.028 3433
+-94.736 26.028 3432
+-94.61 26.028 3430
+-94.484 26.028 3429
+-94.358 26.028 3428
+-94.232 26.028 3427
+-94.106 26.028 3426
+-93.98 26.028 3458
+-93.854 26.028 3456
+-93.728 26.028 3454
+-93.602 26.028 3452
+-93.476 26.028 3450
+-93.35 26.028 3448
+-93.224 26.028 3466
+-93.098 26.028 3464
+-92.972 26.028 3463
+-92.846 26.028 3461
+-92.72 26.028 3460
+-92.594 26.028 3458
+-92.468 26.028 3481
+-92.342 26.028 3496
+-92.216 26.028 3494
+-92.09 26.028 3493
+-91.964 26.028 3552
+-91.838 26.028 3552
+-91.712 26.028 3552
+-91.586 26.028 3552
+-91.46 26.028 3569
+-91.334 26.028 3570
+-91.208 26.028 3570
+-91.082 26.028 3571
+-90.956 26.028 3573
+-90.83 26.028 3598
+-90.704 26.028 3601
+-90.578 26.028 3605
+-90.452 26.028 3609
+-90.326 26.028 3655
+-90.2 26.028 3695
+-90.074 26.028 3711
+-89.948 26.028 3714
+-89.822 26.028 3718
+-89.696 26.028 3748
+-89.57 26.028 3754
+-89.444 26.028 3857
+-89.318 26.028 3858
+-89.192 26.028 3858
+-89.066 26.028 3908
+-88.94 26.028 3904
+-88.814 26.028 3958
+-88.688 26.028 3999
+-88.562 26.028 3989
+-88.436 26.028 4031
+-88.31 26.028 4034
+-88.184 26.028 4007
+-88.058 26.028 3980
+-87.932 26.028 3949
+-87.806 26.028 3947
+-87.68 26.028 3989
+-87.554 26.028 4060
+-87.428 26.028 4214
+-87.302 26.028 4300
+-87.176 26.028 4383
+-87.05 26.028 4450
+-86.924 26.028 4514
+-86.798 26.028 4610
+-86.672 26.028 4738
+-86.546 26.028 4866
+-86.42 26.028 4898
+-86.294 26.028 4841
+-86.168 26.028 5034
+-86.042 26.028 5132
+-85.916 26.028 5268
+-85.79 26.028 5404
+-85.664 26.028 5467
+-85.538 26.028 5640
+-85.412 26.028 5747
+-85.286 26.028 5856
+-85.16 26.028 5967
+-85.034 26.028 6104
+-84.908 26.028 6194
+-84.782 26.028 6244
+-84.656 26.028 6420
+-84.53 26.028 6607
+-84.404 26.028 6643
+-84.278 26.028 6806
+-84.152 26.028 6948
+-84.026 26.028 6990
+-83.9 26.028 7068
+-83.774 26.028 7229
+-83.648 26.028 7286
+-83.522 26.028 7382
+-83.396 26.028 7436
+-83.27 26.028 7540
+-83.144 26.028 7629
+-83.018 26.028 7732
+-82.892 26.028 7705
+-82.766 26.028 7814
+-82.64 26.028 7847
+-82.514 26.028 7867
+-82.388 26.028 7886
+-82.262 26.028 7913
+-82.136 26.028 7898
+-82.01 26.028 7905
+-81.884 26.028 7863
+-81.758 26.028 7813
+-81.632 26.028 7773
+-81.506 26.028 7783
+-81.38 26.028 7688
+-81.254 26.028 7612
+-81.128 26.028 7597
+-81.002 26.028 7520
+-80.876 26.028 7374
+-80.75 26.028 7262
+-80.624 26.028 7252
+-80.498 26.028 7093
+-80.372 26.028 7036
+-80.246 26.028 6939
+-80.12 26.028 6777
+-79.994 26.028 6731
+-79.868 26.028 6583
+-79.742 26.028 6427
+-79.616 26.028 6353
+-79.49 26.028 6211
+-79.364 26.028 6141
+-79.238 26.028 6015
+-79.112 26.028 5892
+-78.986 26.028 5779
+-78.86 26.028 5722
+-78.734 26.028 5612
+-78.608 26.028 5455
+-78.482 26.028 5321
+-78.356 26.028 5239
+-78.23 26.028 5053
+-78.104 26.028 4884
+-77.978 26.028 4741
+-77.852 26.028 4801
+-77.726 26.028 4742
+-77.6 26.028 4577
+-77.474 26.028 4307
+-77.348 26.028 4158
+-77.222 26.028 4217
+-77.096 26.028 4313
+-76.97 26.028 4377
+-76.844 26.028 4367
+-76.718 26.028 4355
+-76.592 26.028 4273
+-76.466 26.028 4241
+-76.34 26.028 4216
+-76.214 26.028 4190
+-76.088 26.028 4092
+-75.962 26.028 4062
+-75.836 26.028 4031
+-75.71 26.028 4010
+-75.584 26.028 3950
+-75.458 26.028 3942
+-75.332 26.028 3936
+-75.206 26.028 3877
+-75.08 26.028 3657
+-74.954 26.028 3612
+-74.828 26.028 3549
+-74.702 26.028 3537
+-74.576 26.028 3500
+-74.45 26.028 3490
+-74.324 26.028 3434
+-74.198 26.028 3328
+-74.072 26.028 3301
+-73.946 26.028 3292
+-73.82 26.028 3222
+-73.694 26.028 3112
+-73.568 26.028 3105
+-73.442 26.028 3100
+-73.316 26.028 3095
+-73.19 26.028 3027
+-73.064 26.028 3023
+-72.938 26.028 3041
+-72.812 26.028 3039
+-72.686 26.028 3038
+-72.56 26.028 3037
+-72.434 26.028 3037
+-72.308 26.028 3038
+-72.182 26.028 2991
+-72.056 26.028 2991
+-71.93 26.028 2991
+-71.804 26.028 2992
+-71.678 26.028 2993
+-71.552 26.028 2995
+-71.426 26.028 2996
+-71.3 26.028 2998
+-71.174 26.028 2999
+-71.048 26.028 2890
+-70.922 26.028 2893
+-70.796 26.028 2895
+-70.67 26.028 2897
+-70.544 26.028 2900
+-70.418 26.028 2902
+-70.292 26.028 2864
+-70.166 26.028 2868
+-70.04 26.028 2860
+-69.914 26.028 2857
+-69.788 26.028 2831
+-69.662 26.028 2834
+-69.536 26.028 2837
+-69.41 26.028 2839
+-69.284 26.028 2842
+-69.158 26.028 2845
+-69.032 26.028 2847
+-68.906 26.028 2850
+-68.78 26.028 2852
+-68.654 26.028 2854
+-68.528 26.028 2857
+-68.402 26.028 2859
+-68.276 26.028 2861
+-68.15 26.028 2863
+-68.024 26.028 2865
+-67.898 26.028 2867
+-67.772 26.028 2869
+-67.646 26.028 2871
+-67.52 26.028 2873
+-67.394 26.028 2875
+-67.268 26.028 2877
+-67.142 26.028 2879
+-67.016 26.028 2880
+-66.89 26.028 2882
+-66.764 26.028 2884
+-66.638 26.028 2885
+-66.512 26.028 2878
+-66.386 26.028 2880
+-66.26 26.028 2882
+-66.134 26.028 2884
+-66.008 26.028 2885
+-65.882 26.028 2887
+-65.756 26.028 2888
+-65.63 26.028 2890
+-65.504 26.028 2891
+-65.378 26.028 2893
+-65.252 26.028 2894
+-65.126 26.028 2896
+-128 25.976 3380
+-127.874 25.976 3412
+-127.748 25.976 3412
+-127.622 25.976 3479
+-127.496 25.976 3478
+-127.37 25.976 3441
+-127.244 25.976 3463
+-127.118 25.976 3504
+-126.992 25.976 3495
+-126.866 25.976 3529
+-126.74 25.976 3528
+-126.614 25.976 3569
+-126.488 25.976 3542
+-126.362 25.976 3542
+-126.236 25.976 3541
+-126.11 25.976 3578
+-125.984 25.976 3577
+-125.858 25.976 3360
+-125.732 25.976 3368
+-125.606 25.976 3388
+-125.48 25.976 3283
+-125.354 25.976 3279
+-125.228 25.976 3262
+-125.102 25.976 3329
+-124.976 25.976 3295
+-124.85 25.976 3291
+-124.724 25.976 3314
+-124.598 25.976 3211
+-124.472 25.976 3214
+-124.346 25.976 3241
+-124.22 25.976 3232
+-124.094 25.976 3227
+-123.968 25.976 3221
+-123.842 25.976 3135
+-123.716 25.976 3132
+-123.59 25.976 3053
+-123.464 25.976 3058
+-123.338 25.976 3058
+-123.212 25.976 3051
+-123.086 25.976 3015
+-122.96 25.976 3008
+-122.834 25.976 3002
+-122.708 25.976 3015
+-122.582 25.976 2994
+-122.456 25.976 2986
+-122.33 25.976 2940
+-122.204 25.976 2932
+-122.078 25.976 2968
+-121.952 25.976 2932
+-121.826 25.976 2913
+-121.7 25.976 2832
+-121.574 25.976 2852
+-121.448 25.976 2843
+-121.322 25.976 2834
+-121.196 25.976 2824
+-121.07 25.976 2814
+-120.944 25.976 2804
+-120.818 25.976 2752
+-120.692 25.976 2746
+-120.566 25.976 2738
+-120.44 25.976 2711
+-120.314 25.976 2694
+-120.188 25.976 2682
+-120.062 25.976 2676
+-119.936 25.976 2655
+-119.81 25.976 2651
+-119.684 25.976 2639
+-119.558 25.976 2633
+-119.432 25.976 2624
+-119.306 25.976 2624
+-119.18 25.976 2621
+-119.054 25.976 2627
+-118.928 25.976 2629
+-118.802 25.976 2631
+-118.676 25.976 2633
+-118.55 25.976 2633
+-118.424 25.976 2596
+-118.298 25.976 2593
+-118.172 25.976 2587
+-118.046 25.976 2565
+-117.92 25.976 2549
+-117.794 25.976 2509
+-117.668 25.976 2473
+-117.542 25.976 2421
+-117.416 25.976 2350
+-117.29 25.976 2260
+-117.164 25.976 2162
+-117.038 25.976 2080
+-116.912 25.976 2047
+-116.786 25.976 2078
+-116.66 25.976 2157
+-116.534 25.976 2242
+-116.408 25.976 2328
+-116.282 25.976 2400
+-116.156 25.976 2454
+-116.03 25.976 2534
+-115.904 25.976 2586
+-115.778 25.976 2621
+-115.652 25.976 2630
+-115.526 25.976 2636
+-115.4 25.976 2663
+-115.274 25.976 2669
+-115.148 25.976 2669
+-115.022 25.976 2685
+-114.896 25.976 2701
+-114.77 25.976 2712
+-114.644 25.976 2747
+-114.518 25.976 2769
+-114.392 25.976 2793
+-114.266 25.976 2860
+-114.14 25.976 2880
+-114.014 25.976 2896
+-113.888 25.976 2921
+-113.762 25.976 2925
+-113.636 25.976 2929
+-113.51 25.976 2912
+-113.384 25.976 2879
+-113.258 25.976 2825
+-113.132 25.976 2763
+-113.006 25.976 2729
+-112.88 25.976 2772
+-112.754 25.976 2849
+-112.628 25.976 2922
+-112.502 25.976 2984
+-112.376 25.976 3056
+-112.25 25.976 3169
+-112.124 25.976 3241
+-111.998 25.976 3293
+-111.872 25.976 3327
+-111.746 25.976 3338
+-111.62 25.976 3337
+-111.494 25.976 3322
+-111.368 25.976 3329
+-111.242 25.976 3352
+-111.116 25.976 3379
+-110.99 25.976 3417
+-110.864 25.976 3441
+-110.738 25.976 3466
+-110.612 25.976 3505
+-110.486 25.976 3514
+-110.36 25.976 3504
+-110.234 25.976 3497
+-110.108 25.976 3472
+-109.982 25.976 3427
+-109.856 25.976 3395
+-109.73 25.976 3378
+-109.604 25.976 3386
+-109.478 25.976 3395
+-109.352 25.976 3399
+-109.226 25.976 3409
+-109.1 25.976 3420
+-108.974 25.976 3424
+-108.848 25.976 3432
+-108.722 25.976 3439
+-108.596 25.976 3445
+-108.47 25.976 3450
+-108.344 25.976 3436
+-108.218 25.976 3412
+-108.092 25.976 3404
+-107.966 25.976 3360
+-107.84 25.976 3342
+-107.714 25.976 3306
+-107.588 25.976 3269
+-107.462 25.976 3239
+-107.336 25.976 3203
+-107.21 25.976 3178
+-107.084 25.976 3072
+-106.958 25.976 3006
+-106.832 25.976 2941
+-106.706 25.976 2850
+-106.58 25.976 2749
+-106.454 25.976 2629
+-106.328 25.976 2548
+-106.202 25.976 2475
+-106.076 25.976 2436
+-105.95 25.976 2435
+-105.824 25.976 2466
+-105.698 25.976 2517
+-105.572 25.976 2575
+-105.446 25.976 2639
+-105.32 25.976 2694
+-105.194 25.976 2743
+-105.068 25.976 2786
+-104.942 25.976 2791
+-104.816 25.976 2879
+-104.69 25.976 2906
+-104.564 25.976 2939
+-104.438 25.976 2962
+-104.312 25.976 3040
+-104.186 25.976 3061
+-104.06 25.976 3079
+-103.934 25.976 3116
+-103.808 25.976 3123
+-103.682 25.976 3138
+-103.556 25.976 3147
+-103.43 25.976 3167
+-103.304 25.976 3171
+-103.178 25.976 3192
+-103.052 25.976 3205
+-102.926 25.976 3212
+-102.8 25.976 3219
+-102.674 25.976 3230
+-102.548 25.976 3227
+-102.422 25.976 3266
+-102.296 25.976 3277
+-102.17 25.976 3262
+-102.044 25.976 3272
+-101.918 25.976 3309
+-101.792 25.976 3320
+-101.666 25.976 3294
+-101.54 25.976 3278
+-101.414 25.976 3292
+-101.288 25.976 3168
+-101.162 25.976 3175
+-101.036 25.976 3230
+-100.91 25.976 3238
+-100.784 25.976 3196
+-100.658 25.976 3210
+-100.532 25.976 3216
+-100.406 25.976 3198
+-100.28 25.976 3203
+-100.154 25.976 3209
+-100.028 25.976 3214
+-99.902 25.976 3219
+-99.776 25.976 3224
+-99.65 25.976 3228
+-99.524 25.976 3163
+-99.398 25.976 3160
+-99.272 25.976 3164
+-99.146 25.976 3168
+-99.02 25.976 3151
+-98.894 25.976 3155
+-98.768 25.976 3219
+-98.642 25.976 3223
+-98.516 25.976 3238
+-98.39 25.976 3221
+-98.264 25.976 3225
+-98.138 25.976 3229
+-98.012 25.976 3233
+-97.886 25.976 3125
+-97.76 25.976 3114
+-97.634 25.976 3102
+-97.508 25.976 3101
+-97.382 25.976 3101
+-97.256 25.976 3067
+-97.13 25.976 2996
+-97.004 25.976 2990
+-96.878 25.976 2976
+-96.752 25.976 3005
+-96.626 25.976 3057
+-96.5 25.976 3034
+-96.374 25.976 3073
+-96.248 25.976 3296
+-96.122 25.976 3299
+-95.996 25.976 3307
+-95.87 25.976 3339
+-95.744 25.976 3338
+-95.618 25.976 3438
+-95.492 25.976 3437
+-95.366 25.976 3436
+-95.24 25.976 3435
+-95.114 25.976 3434
+-94.988 25.976 3433
+-94.862 25.976 3432
+-94.736 25.976 3431
+-94.61 25.976 3429
+-94.484 25.976 3428
+-94.358 25.976 3427
+-94.232 25.976 3426
+-94.106 25.976 3458
+-93.98 25.976 3456
+-93.854 25.976 3454
+-93.728 25.976 3453
+-93.602 25.976 3451
+-93.476 25.976 3449
+-93.35 25.976 3466
+-93.224 25.976 3465
+-93.098 25.976 3463
+-92.972 25.976 3462
+-92.846 25.976 3460
+-92.72 25.976 3459
+-92.594 25.976 3483
+-92.468 25.976 3497
+-92.342 25.976 3495
+-92.216 25.976 3494
+-92.09 25.976 3553
+-91.964 25.976 3553
+-91.838 25.976 3553
+-91.712 25.976 3553
+-91.586 25.976 3553
+-91.46 25.976 3570
+-91.334 25.976 3570
+-91.208 25.976 3571
+-91.082 25.976 3572
+-90.956 25.976 3598
+-90.83 25.976 3600
+-90.704 25.976 3603
+-90.578 25.976 3606
+-90.452 25.976 3651
+-90.326 25.976 3654
+-90.2 25.976 3658
+-90.074 25.976 3711
+-89.948 25.976 3713
+-89.822 25.976 3743
+-89.696 25.976 3747
+-89.57 25.976 3849
+-89.444 25.976 3850
+-89.318 25.976 3849
+-89.192 25.976 3848
+-89.066 25.976 3846
+-88.94 25.976 3950
+-88.814 25.976 3992
+-88.688 25.976 3982
+-88.562 25.976 3981
+-88.436 25.976 3983
+-88.31 25.976 3997
+-88.184 25.976 3951
+-88.058 25.976 3898
+-87.932 25.976 3848
+-87.806 25.976 3790
+-87.68 25.976 3780
+-87.554 25.976 3895
+-87.428 25.976 4061
+-87.302 25.976 4219
+-87.176 25.976 4282
+-87.05 25.976 4321
+-86.924 25.976 4402
+-86.798 25.976 4505
+-86.672 25.976 4637
+-86.546 25.976 4807
+-86.42 25.976 4865
+-86.294 25.976 4896
+-86.168 25.976 5011
+-86.042 25.976 5140
+-85.916 25.976 5287
+-85.79 25.976 5412
+-85.664 25.976 5542
+-85.538 25.976 5604
+-85.412 25.976 5734
+-85.286 25.976 5852
+-85.16 25.976 5957
+-85.034 25.976 6075
+-84.908 25.976 6178
+-84.782 25.976 6239
+-84.656 25.976 6386
+-84.53 25.976 6564
+-84.404 25.976 6682
+-84.278 25.976 6757
+-84.152 25.976 6878
+-84.026 25.976 6980
+-83.9 25.976 7044
+-83.774 25.976 7177
+-83.648 25.976 7290
+-83.522 25.976 7355
+-83.396 25.976 7398
+-83.27 25.976 7506
+-83.144 25.976 7536
+-83.018 25.976 7652
+-82.892 25.976 7717
+-82.766 25.976 7759
+-82.64 25.976 7788
+-82.514 25.976 7786
+-82.388 25.976 7798
+-82.262 25.976 7862
+-82.136 25.976 7827
+-82.01 25.976 7815
+-81.884 25.976 7794
+-81.758 25.976 7747
+-81.632 25.976 7734
+-81.506 25.976 7692
+-81.38 25.976 7641
+-81.254 25.976 7557
+-81.128 25.976 7554
+-81.002 25.976 7458
+-80.876 25.976 7322
+-80.75 25.976 7242
+-80.624 25.976 7182
+-80.498 25.976 7086
+-80.372 25.976 6982
+-80.246 25.976 6887
+-80.12 25.976 6791
+-79.994 25.976 6679
+-79.868 25.976 6598
+-79.742 25.976 6408
+-79.616 25.976 6360
+-79.49 25.976 6205
+-79.364 25.976 6074
+-79.238 25.976 5904
+-79.112 25.976 5832
+-78.986 25.976 5739
+-78.86 25.976 5650
+-78.734 25.976 5566
+-78.608 25.976 5413
+-78.482 25.976 5218
+-78.356 25.976 5225
+-78.23 25.976 5011
+-78.104 25.976 4859
+-77.978 25.976 4843
+-77.852 25.976 4819
+-77.726 25.976 4736
+-77.6 25.976 4512
+-77.474 25.976 4182
+-77.348 25.976 4002
+-77.222 25.976 4121
+-77.096 25.976 4253
+-76.97 25.976 4283
+-76.844 25.976 4304
+-76.718 25.976 4309
+-76.592 25.976 4235
+-76.466 25.976 4210
+-76.34 25.976 4180
+-76.214 25.976 4160
+-76.088 25.976 4140
+-75.962 25.976 4053
+-75.836 25.976 4010
+-75.71 25.976 4007
+-75.584 25.976 3921
+-75.458 25.976 3916
+-75.332 25.976 3734
+-75.206 25.976 3658
+-75.08 25.976 3642
+-74.954 25.976 3627
+-74.828 25.976 3582
+-74.702 25.976 3519
+-74.576 25.976 3506
+-74.45 25.976 3470
+-74.324 25.976 3458
+-74.198 25.976 3373
+-74.072 25.976 3283
+-73.946 25.976 3231
+-73.82 25.976 3124
+-73.694 25.976 3117
+-73.568 25.976 3085
+-73.442 25.976 3079
+-73.316 25.976 3011
+-73.19 25.976 3007
+-73.064 25.976 3004
+-72.938 25.976 3002
+-72.812 25.976 2976
+-72.686 25.976 2975
+-72.56 25.976 2974
+-72.434 25.976 2974
+-72.308 25.976 2974
+-72.182 25.976 2975
+-72.056 25.976 2976
+-71.93 25.976 2977
+-71.804 25.976 2979
+-71.678 25.976 2980
+-71.552 25.976 2982
+-71.426 25.976 2984
+-71.3 25.976 2986
+-71.174 25.976 2989
+-71.048 25.976 2991
+-70.922 25.976 2883
+-70.796 25.976 2885
+-70.67 25.976 2888
+-70.544 25.976 2891
+-70.418 25.976 2894
+-70.292 25.976 2897
+-70.166 25.976 2859
+-70.04 25.976 2862
+-69.914 25.976 2855
+-69.788 25.976 2852
+-69.662 25.976 2826
+-69.536 25.976 2829
+-69.41 25.976 2832
+-69.284 25.976 2835
+-69.158 25.976 2838
+-69.032 25.976 2841
+-68.906 25.976 2843
+-68.78 25.976 2846
+-68.654 25.976 2849
+-68.528 25.976 2851
+-68.402 25.976 2854
+-68.276 25.976 2856
+-68.15 25.976 2858
+-68.024 25.976 2861
+-67.898 25.976 2863
+-67.772 25.976 2865
+-67.646 25.976 2867
+-67.52 25.976 2869
+-67.394 25.976 2871
+-67.268 25.976 2873
+-67.142 25.976 2875
+-67.016 25.976 2876
+-66.89 25.976 2878
+-66.764 25.976 2880
+-66.638 25.976 2882
+-66.512 25.976 2883
+-66.386 25.976 2876
+-66.26 25.976 2878
+-66.134 25.976 2880
+-66.008 25.976 2882
+-65.882 25.976 2883
+-65.756 25.976 2885
+-65.63 25.976 2887
+-65.504 25.976 2888
+-65.378 25.976 2890
+-65.252 25.976 2891
+-65.126 25.976 2893
+-128 25.924 3413
+-127.874 25.924 3412
+-127.748 25.924 3480
+-127.622 25.924 3479
+-127.496 25.924 3442
+-127.37 25.924 3464
+-127.244 25.924 3505
+-127.118 25.924 3496
+-126.992 25.924 3530
+-126.866 25.924 3529
+-126.74 25.924 3570
+-126.614 25.924 3544
+-126.488 25.924 3543
+-126.362 25.924 3542
+-126.236 25.924 3579
+-126.11 25.924 3578
+-125.984 25.924 3358
+-125.858 25.924 3366
+-125.732 25.924 3385
+-125.606 25.924 3281
+-125.48 25.924 3277
+-125.354 25.924 3260
+-125.228 25.924 3327
+-125.102 25.924 3292
+-124.976 25.924 3288
+-124.85 25.924 3311
+-124.724 25.924 3208
+-124.598 25.924 3211
+-124.472 25.924 3238
+-124.346 25.924 3229
+-124.22 25.924 3223
+-124.094 25.924 3218
+-123.968 25.924 3132
+-123.842 25.924 3129
+-123.716 25.924 3049
+-123.59 25.924 3054
+-123.464 25.924 3054
+-123.338 25.924 3047
+-123.212 25.924 3010
+-123.086 25.924 3004
+-122.96 25.924 2997
+-122.834 25.924 3010
+-122.708 25.924 2989
+-122.582 25.924 2981
+-122.456 25.924 2934
+-122.33 25.924 2926
+-122.204 25.924 2962
+-122.078 25.924 2926
+-121.952 25.924 2906
+-121.826 25.924 2823
+-121.7 25.924 2844
+-121.574 25.924 2834
+-121.448 25.924 2824
+-121.322 25.924 2814
+-121.196 25.924 2803
+-121.07 25.924 2792
+-120.944 25.924 2739
+-120.818 25.924 2732
+-120.692 25.924 2723
+-120.566 25.924 2695
+-120.44 25.924 2677
+-120.314 25.924 2664
+-120.188 25.924 2658
+-120.062 25.924 2635
+-119.936 25.924 2630
+-119.81 25.924 2617
+-119.684 25.924 2611
+-119.558 25.924 2601
+-119.432 25.924 2601
+-119.306 25.924 2598
+-119.18 25.924 2604
+-119.054 25.924 2607
+-118.928 25.924 2610
+-118.802 25.924 2613
+-118.676 25.924 2615
+-118.55 25.924 2577
+-118.424 25.924 2577
+-118.298 25.924 2574
+-118.172 25.924 2555
+-118.046 25.924 2544
+-117.92 25.924 2510
+-117.794 25.924 2484
+-117.668 25.924 2446
+-117.542 25.924 2391
+-117.416 25.924 2317
+-117.29 25.924 2225
+-117.164 25.924 2126
+-117.038 25.924 2044
+-116.912 25.924 2012
+-116.786 25.924 2043
+-116.66 25.924 2118
+-116.534 25.924 2212
+-116.408 25.924 2301
+-116.282 25.924 2375
+-116.156 25.924 2440
+-116.03 25.924 2520
+-115.904 25.924 2576
+-115.778 25.924 2597
+-115.652 25.924 2629
+-115.526 25.924 2640
+-115.4 25.924 2626
+-115.274 25.924 2667
+-115.148 25.924 2700
+-115.022 25.924 2716
+-114.896 25.924 2725
+-114.77 25.924 2735
+-114.644 25.924 2773
+-114.518 25.924 2792
+-114.392 25.924 2811
+-114.266 25.924 2877
+-114.14 25.924 2892
+-114.014 25.924 2914
+-113.888 25.924 2926
+-113.762 25.924 2934
+-113.636 25.924 2923
+-113.51 25.924 2900
+-113.384 25.924 2858
+-113.258 25.924 2795
+-113.132 25.924 2721
+-113.006 25.924 2679
+-112.88 25.924 2727
+-112.754 25.924 2799
+-112.628 25.924 2841
+-112.502 25.924 2877
+-112.376 25.924 2978
+-112.25 25.924 3080
+-112.124 25.924 3173
+-111.998 25.924 3236
+-111.872 25.924 3277
+-111.746 25.924 3290
+-111.62 25.924 3279
+-111.494 25.924 3238
+-111.368 25.924 3214
+-111.242 25.924 3255
+-111.116 25.924 3322
+-110.99 25.924 3368
+-110.864 25.924 3414
+-110.738 25.924 3443
+-110.612 25.924 3483
+-110.486 25.924 3492
+-110.36 25.924 3483
+-110.234 25.924 3455
+-110.108 25.924 3437
+-109.982 25.924 3417
+-109.856 25.924 3395
+-109.73 25.924 3378
+-109.604 25.924 3363
+-109.478 25.924 3343
+-109.352 25.924 3328
+-109.226 25.924 3332
+-109.1 25.924 3346
+-108.974 25.924 3378
+-108.848 25.924 3389
+-108.722 25.924 3401
+-108.596 25.924 3410
+-108.47 25.924 3391
+-108.344 25.924 3373
+-108.218 25.924 3348
+-108.092 25.924 3338
+-107.966 25.924 3329
+-107.84 25.924 3317
+-107.714 25.924 3298
+-107.588 25.924 3262
+-107.462 25.924 3224
+-107.336 25.924 3192
+-107.21 25.924 3153
+-107.084 25.924 3072
+-106.958 25.924 3015
+-106.832 25.924 2950
+-106.706 25.924 2887
+-106.58 25.924 2806
+-106.454 25.924 2725
+-106.328 25.924 2634
+-106.202 25.924 2593
+-106.076 25.924 2560
+-105.95 25.924 2553
+-105.824 25.924 2568
+-105.698 25.924 2600
+-105.572 25.924 2639
+-105.446 25.924 2683
+-105.32 25.924 2731
+-105.194 25.924 2771
+-105.068 25.924 2807
+-104.942 25.924 2839
+-104.816 25.924 2833
+-104.69 25.924 2920
+-104.564 25.924 2941
+-104.438 25.924 2970
+-104.312 25.924 2990
+-104.186 25.924 3069
+-104.06 25.924 3087
+-103.934 25.924 3103
+-103.808 25.924 3139
+-103.682 25.924 3143
+-103.556 25.924 3158
+-103.43 25.924 3165
+-103.304 25.924 3184
+-103.178 25.924 3187
+-103.052 25.924 3208
+-102.926 25.924 3221
+-102.8 25.924 3226
+-102.674 25.924 3232
+-102.548 25.924 3242
+-102.422 25.924 3238
+-102.296 25.924 3277
+-102.17 25.924 3288
+-102.044 25.924 3272
+-101.918 25.924 3281
+-101.792 25.924 3319
+-101.666 25.924 3329
+-101.54 25.924 3302
+-101.414 25.924 3285
+-101.288 25.924 3299
+-101.162 25.924 3174
+-101.036 25.924 3180
+-100.91 25.924 3236
+-100.784 25.924 3243
+-100.658 25.924 3200
+-100.532 25.924 3215
+-100.406 25.924 3221
+-100.28 25.924 3202
+-100.154 25.924 3207
+-100.028 25.924 3212
+-99.902 25.924 3217
+-99.776 25.924 3222
+-99.65 25.924 3227
+-99.524 25.924 3231
+-99.398 25.924 3166
+-99.272 25.924 3162
+-99.146 25.924 3166
+-99.02 25.924 3170
+-98.894 25.924 3153
+-98.768 25.924 3157
+-98.642 25.924 3221
+-98.516 25.924 3225
+-98.39 25.924 3240
+-98.264 25.924 3223
+-98.138 25.924 3227
+-98.012 25.924 3231
+-97.886 25.924 3123
+-97.76 25.924 3123
+-97.634 25.924 3112
+-97.508 25.924 3099
+-97.382 25.924 3099
+-97.256 25.924 3066
+-97.13 25.924 3063
+-97.004 25.924 2983
+-96.878 25.924 2976
+-96.752 25.924 3018
+-96.626 25.924 3057
+-96.5 25.924 3034
+-96.374 25.924 3074
+-96.248 25.924 3296
+-96.122 25.924 3297
+-95.996 25.924 3306
+-95.87 25.924 3338
+-95.744 25.924 3438
+-95.618 25.924 3437
+-95.492 25.924 3436
+-95.366 25.924 3435
+-95.24 25.924 3434
+-95.114 25.924 3433
+-94.988 25.924 3432
+-94.862 25.924 3431
+-94.736 25.924 3430
+-94.61 25.924 3428
+-94.484 25.924 3427
+-94.358 25.924 3426
+-94.232 25.924 3458
+-94.106 25.924 3456
+-93.98 25.924 3455
+-93.854 25.924 3453
+-93.728 25.924 3451
+-93.602 25.924 3449
+-93.476 25.924 3467
+-93.35 25.924 3465
+-93.224 25.924 3464
+-93.098 25.924 3463
+-92.972 25.924 3461
+-92.846 25.924 3460
+-92.72 25.924 3483
+-92.594 25.924 3498
+-92.468 25.924 3496
+-92.342 25.924 3495
+-92.216 25.924 3529
+-92.09 25.924 3529
+-91.964 25.924 3530
+-91.838 25.924 3530
+-91.712 25.924 3531
+-91.586 25.924 3532
+-91.46 25.924 3532
+-91.334 25.924 3534
+-91.208 25.924 3535
+-91.082 25.924 3536
+-90.956 25.924 3599
+-90.83 25.924 3601
+-90.704 25.924 3604
+-90.578 25.924 3648
+-90.452 25.924 3650
+-90.326 25.924 3653
+-90.2 25.924 3656
+-90.074 25.924 3659
+-89.948 25.924 3738
+-89.822 25.924 3741
+-89.696 25.924 3841
+-89.57 25.924 3843
+-89.444 25.924 3841
+-89.318 25.924 3839
+-89.192 25.924 3837
+-89.066 25.924 3894
+-88.94 25.924 3886
+-88.814 25.924 3940
+-88.688 25.924 3978
+-88.562 25.924 3983
+-88.436 25.924 3958
+-88.31 25.924 3920
+-88.184 25.924 3888
+-88.058 25.924 3824
+-87.932 25.924 3746
+-87.806 25.924 3586
+-87.68 25.924 3507
+-87.554 25.924 3669
+-87.428 25.924 3952
+-87.302 25.924 4128
+-87.176 25.924 4171
+-87.05 25.924 4175
+-86.924 25.924 4269
+-86.798 25.924 4325
+-86.672 25.924 4496
+-86.546 25.924 4728
+-86.42 25.924 4823
+-86.294 25.924 4783
+-86.168 25.924 4967
+-86.042 25.924 5136
+-85.916 25.924 5266
+-85.79 25.924 5395
+-85.664 25.924 5516
+-85.538 25.924 5619
+-85.412 25.924 5758
+-85.286 25.924 5870
+-85.16 25.924 5997
+-85.034 25.924 6013
+-84.908 25.924 6147
+-84.782 25.924 6267
+-84.656 25.924 6385
+-84.53 25.924 6524
+-84.404 25.924 6655
+-84.278 25.924 6719
+-84.152 25.924 6833
+-84.026 25.924 6910
+-83.9 25.924 7006
+-83.774 25.924 7093
+-83.648 25.924 7247
+-83.522 25.924 7325
+-83.396 25.924 7370
+-83.27 25.924 7415
+-83.144 25.924 7476
+-83.018 25.924 7563
+-82.892 25.924 7635
+-82.766 25.924 7674
+-82.64 25.924 7719
+-82.514 25.924 7742
+-82.388 25.924 7799
+-82.262 25.924 7767
+-82.136 25.924 7753
+-82.01 25.924 7759
+-81.884 25.924 7734
+-81.758 25.924 7725
+-81.632 25.924 7675
+-81.506 25.924 7635
+-81.38 25.924 7541
+-81.254 25.924 7530
+-81.128 25.924 7490
+-81.002 25.924 7385
+-80.876 25.924 7302
+-80.75 25.924 7245
+-80.624 25.924 7131
+-80.498 25.924 7025
+-80.372 25.924 6873
+-80.246 25.924 6849
+-80.12 25.924 6750
+-79.994 25.924 6625
+-79.868 25.924 6547
+-79.742 25.924 6462
+-79.616 25.924 6331
+-79.49 25.924 6173
+-79.364 25.924 6064
+-79.238 25.924 5912
+-79.112 25.924 5787
+-78.986 25.924 5619
+-78.86 25.924 5629
+-78.734 25.924 5442
+-78.608 25.924 5443
+-78.482 25.924 5311
+-78.356 25.924 5217
+-78.23 25.924 5049
+-78.104 25.924 4921
+-77.978 25.924 4894
+-77.852 25.924 4848
+-77.726 25.924 4747
+-77.6 25.924 4525
+-77.474 25.924 4281
+-77.348 25.924 4137
+-77.222 25.924 4159
+-77.096 25.924 4220
+-76.97 25.924 4253
+-76.844 25.924 4250
+-76.718 25.924 4248
+-76.592 25.924 4179
+-76.466 25.924 4163
+-76.34 25.924 4108
+-76.214 25.924 4099
+-76.088 25.924 4086
+-75.962 25.924 4056
+-75.836 25.924 4041
+-75.71 25.924 3974
+-75.584 25.924 3815
+-75.458 25.924 3721
+-75.332 25.924 3643
+-75.206 25.924 3637
+-75.08 25.924 3621
+-74.954 25.924 3605
+-74.828 25.924 3589
+-74.702 25.924 3544
+-74.576 25.924 3483
+-74.45 25.924 3469
+-74.324 25.924 3432
+-74.198 25.924 3421
+-74.072 25.924 3256
+-73.946 25.924 3224
+-73.82 25.924 3197
+-73.694 25.924 3091
+-73.568 25.924 3085
+-73.442 25.924 3019
+-73.316 25.924 2988
+-73.19 25.924 2985
+-73.064 25.924 2982
+-72.938 25.924 2957
+-72.812 25.924 2955
+-72.686 25.924 2955
+-72.56 25.924 2955
+-72.434 25.924 2956
+-72.308 25.924 2957
+-72.182 25.924 2958
+-72.056 25.924 2960
+-71.93 25.924 2962
+-71.804 25.924 2964
+-71.678 25.924 2967
+-71.552 25.924 2969
+-71.426 25.924 2972
+-71.3 25.924 2975
+-71.174 25.924 2977
+-71.048 25.924 2980
+-70.922 25.924 2983
+-70.796 25.924 2876
+-70.67 25.924 2879
+-70.544 25.924 2882
+-70.418 25.924 2885
+-70.292 25.924 2889
+-70.166 25.924 2892
+-70.04 25.924 2853
+-69.914 25.924 2857
+-69.788 25.924 2850
+-69.662 25.924 2847
+-69.536 25.924 2822
+-69.41 25.924 2825
+-69.284 25.924 2828
+-69.158 25.924 2831
+-69.032 25.924 2834
+-68.906 25.924 2837
+-68.78 25.924 2840
+-68.654 25.924 2843
+-68.528 25.924 2846
+-68.402 25.924 2848
+-68.276 25.924 2851
+-68.15 25.924 2853
+-68.024 25.924 2856
+-67.898 25.924 2858
+-67.772 25.924 2860
+-67.646 25.924 2863
+-67.52 25.924 2865
+-67.394 25.924 2867
+-67.268 25.924 2869
+-67.142 25.924 2871
+-67.016 25.924 2873
+-66.89 25.924 2875
+-66.764 25.924 2876
+-66.638 25.924 2878
+-66.512 25.924 2880
+-66.386 25.924 2882
+-66.26 25.924 2874
+-66.134 25.924 2876
+-66.008 25.924 2878
+-65.882 25.924 2880
+-65.756 25.924 2881
+-65.63 25.924 2883
+-65.504 25.924 2885
+-65.378 25.924 2886
+-65.252 25.924 2888
+-65.126 25.924 2889
+-128 25.872 3413
+-127.874 25.872 3480
+-127.748 25.872 3480
+-127.622 25.872 3443
+-127.496 25.872 3465
+-127.37 25.872 3506
+-127.244 25.872 3497
+-127.118 25.872 3531
+-126.992 25.872 3530
+-126.866 25.872 3572
+-126.74 25.872 3545
+-126.614 25.872 3544
+-126.488 25.872 3543
+-126.362 25.872 3581
+-126.236 25.872 3580
+-126.11 25.872 3355
+-125.984 25.872 3364
+-125.858 25.872 3383
+-125.732 25.872 3278
+-125.606 25.872 3275
+-125.48 25.872 3257
+-125.354 25.872 3324
+-125.228 25.872 3290
+-125.102 25.872 3286
+-124.976 25.872 3309
+-124.85 25.872 3205
+-124.724 25.872 3208
+-124.598 25.872 3236
+-124.472 25.872 3226
+-124.346 25.872 3221
+-124.22 25.872 3215
+-124.094 25.872 3128
+-123.968 25.872 3125
+-123.842 25.872 3045
+-123.716 25.872 3050
+-123.59 25.872 3050
+-123.464 25.872 3043
+-123.338 25.872 3006
+-123.212 25.872 2999
+-123.086 25.872 2992
+-122.96 25.872 3006
+-122.834 25.872 2984
+-122.708 25.872 2976
+-122.582 25.872 2929
+-122.456 25.872 2920
+-122.33 25.872 2957
+-122.204 25.872 2920
+-122.078 25.872 2900
+-121.952 25.872 2815
+-121.826 25.872 2836
+-121.7 25.872 2825
+-121.574 25.872 2815
+-121.448 25.872 2804
+-121.322 25.872 2792
+-121.196 25.872 2781
+-121.07 25.872 2725
+-120.944 25.872 2718
+-120.818 25.872 2708
+-120.692 25.872 2678
+-120.566 25.872 2659
+-120.44 25.872 2644
+-120.314 25.872 2636
+-120.188 25.872 2611
+-120.062 25.872 2605
+-119.936 25.872 2590
+-119.81 25.872 2583
+-119.684 25.872 2571
+-119.558 25.872 2571
+-119.432 25.872 2567
+-119.306 25.872 2573
+-119.18 25.872 2576
+-119.054 25.872 2580
+-118.928 25.872 2584
+-118.802 25.872 2588
+-118.676 25.872 2551
+-118.55 25.872 2553
+-118.424 25.872 2554
+-118.298 25.872 2538
+-118.172 25.872 2533
+-118.046 25.872 2505
+-117.92 25.872 2488
+-117.794 25.872 2463
+-117.668 25.872 2426
+-117.542 25.872 2374
+-117.416 25.872 2306
+-117.29 25.872 2224
+-117.164 25.872 2137
+-117.038 25.872 2068
+-116.912 25.872 2041
+-116.786 25.872 2064
+-116.66 25.872 2130
+-116.534 25.872 2213
+-116.408 25.872 2294
+-116.282 25.872 2370
+-116.156 25.872 2429
+-116.03 25.872 2512
+-115.904 25.872 2570
+-115.778 25.872 2593
+-115.652 25.872 2629
+-115.526 25.872 2623
+-115.4 25.872 2632
+-115.274 25.872 2651
+-115.148 25.872 2684
+-115.022 25.872 2733
+-114.896 25.872 2742
+-114.77 25.872 2757
+-114.644 25.872 2793
+-114.518 25.872 2809
+-114.392 25.872 2825
+-114.266 25.872 2842
+-114.14 25.872 2894
+-114.014 25.872 2907
+-113.888 25.872 2904
+-113.762 25.872 2935
+-113.636 25.872 2922
+-113.51 25.872 2897
+-113.384 25.872 2858
+-113.258 25.872 2808
+-113.132 25.872 2748
+-113.006 25.872 2720
+-112.88 25.872 2750
+-112.754 25.872 2768
+-112.628 25.872 2753
+-112.502 25.872 2800
+-112.376 25.872 2901
+-112.25 25.872 3030
+-112.124 25.872 3132
+-111.998 25.872 3207
+-111.872 25.872 3249
+-111.746 25.872 3261
+-111.62 25.872 3242
+-111.494 25.872 3191
+-111.368 25.872 3159
+-111.242 25.872 3199
+-111.116 25.872 3280
+-110.99 25.872 3328
+-110.864 25.872 3387
+-110.738 25.872 3424
+-110.612 25.872 3443
+-110.486 25.872 3474
+-110.36 25.872 3434
+-110.234 25.872 3434
+-110.108 25.872 3417
+-109.982 25.872 3397
+-109.856 25.872 3374
+-109.73 25.872 3342
+-109.604 25.872 3301
+-109.478 25.872 3250
+-109.352 25.872 3211
+-109.226 25.872 3223
+-109.1 25.872 3256
+-108.974 25.872 3293
+-108.848 25.872 3311
+-108.722 25.872 3325
+-108.596 25.872 3336
+-108.47 25.872 3328
+-108.344 25.872 3335
+-108.218 25.872 3285
+-108.092 25.872 3277
+-107.966 25.872 3296
+-107.84 25.872 3248
+-107.714 25.872 3274
+-107.588 25.872 3254
+-107.462 25.872 3218
+-107.336 25.872 3180
+-107.21 25.872 3147
+-107.084 25.872 3108
+-106.958 25.872 3024
+-106.832 25.872 2970
+-106.706 25.872 2910
+-106.58 25.872 2857
+-106.454 25.872 2793
+-106.328 25.872 2736
+-106.202 25.872 2672
+-106.076 25.872 2661
+-105.95 25.872 2650
+-105.824 25.872 2656
+-105.698 25.872 2674
+-105.572 25.872 2701
+-105.446 25.872 2731
+-105.32 25.872 2762
+-105.194 25.872 2801
+-105.068 25.872 2831
+-104.942 25.872 2858
+-104.816 25.872 2882
+-104.69 25.872 2868
+-104.564 25.872 2955
+-104.438 25.872 2972
+-104.312 25.872 2998
+-104.186 25.872 3015
+-104.06 25.872 3095
+-103.934 25.872 3111
+-103.808 25.872 3126
+-103.682 25.872 3161
+-103.556 25.872 3164
+-103.43 25.872 3177
+-103.304 25.872 3182
+-103.178 25.872 3201
+-103.052 25.872 3203
+-102.926 25.872 3224
+-102.8 25.872 3235
+-102.674 25.872 3239
+-102.548 25.872 3244
+-102.422 25.872 3254
+-102.296 25.872 3249
+-102.17 25.872 3289
+-102.044 25.872 3298
+-101.918 25.872 3281
+-101.792 25.872 3290
+-101.666 25.872 3329
+-101.54 25.872 3338
+-101.414 25.872 3310
+-101.288 25.872 3292
+-101.162 25.872 3307
+-101.036 25.872 3179
+-100.91 25.872 3185
+-100.784 25.872 3242
+-100.658 25.872 3248
+-100.532 25.872 3205
+-100.406 25.872 3219
+-100.28 25.872 3225
+-100.154 25.872 3205
+-100.028 25.872 3211
+-99.902 25.872 3216
+-99.776 25.872 3220
+-99.65 25.872 3225
+-99.524 25.872 3229
+-99.398 25.872 3234
+-99.272 25.872 3168
+-99.146 25.872 3165
+-99.02 25.872 3168
+-98.894 25.872 3172
+-98.768 25.872 3155
+-98.642 25.872 3159
+-98.516 25.872 3223
+-98.39 25.872 3227
+-98.264 25.872 3242
+-98.138 25.872 3225
+-98.012 25.872 3229
+-97.886 25.872 3121
+-97.76 25.872 3121
+-97.634 25.872 3121
+-97.508 25.872 3110
+-97.382 25.872 2999
+-97.256 25.872 2998
+-97.13 25.872 3062
+-97.004 25.872 3014
+-96.878 25.872 2975
+-96.752 25.872 3047
+-96.626 25.872 3057
+-96.5 25.872 3035
+-96.374 25.872 3074
+-96.248 25.872 3295
+-96.122 25.872 3297
+-95.996 25.872 3306
+-95.87 25.872 3438
+-95.744 25.872 3437
+-95.618 25.872 3436
+-95.492 25.872 3435
+-95.366 25.872 3434
+-95.24 25.872 3433
+-95.114 25.872 3432
+-94.988 25.872 3431
+-94.862 25.872 3430
+-94.736 25.872 3429
+-94.61 25.872 3427
+-94.484 25.872 3426
+-94.358 25.872 3458
+-94.232 25.872 3457
+-94.106 25.872 3455
+-93.98 25.872 3453
+-93.854 25.872 3451
+-93.728 25.872 3450
+-93.602 25.872 3467
+-93.476 25.872 3466
+-93.35 25.872 3465
+-93.224 25.872 3463
+-93.098 25.872 3462
+-92.972 25.872 3460
+-92.846 25.872 3484
+-92.72 25.872 3498
+-92.594 25.872 3497
+-92.468 25.872 3496
+-92.342 25.872 3529
+-92.216 25.872 3529
+-92.09 25.872 3529
+-91.964 25.872 3530
+-91.838 25.872 3530
+-91.712 25.872 3531
+-91.586 25.872 3531
+-91.46 25.872 3532
+-91.334 25.872 3533
+-91.208 25.872 3534
+-91.082 25.872 3536
+-90.956 25.872 3537
+-90.83 25.872 3601
+-90.704 25.872 3645
+-90.578 25.872 3647
+-90.452 25.872 3649
+-90.326 25.872 3651
+-90.2 25.872 3653
+-90.074 25.872 3641
+-89.948 25.872 3735
+-89.822 25.872 3784
+-89.696 25.872 3836
+-89.57 25.872 3834
+-89.444 25.872 3831
+-89.318 25.872 3829
+-89.192 25.872 3884
+-89.066 25.872 3877
+-88.94 25.872 3869
+-88.814 25.872 3920
+-88.688 25.872 3933
+-88.562 25.872 3939
+-88.436 25.872 3924
+-88.31 25.872 3917
+-88.184 25.872 3870
+-88.058 25.872 3804
+-87.932 25.872 3671
+-87.806 25.872 3483
+-87.68 25.872 3354
+-87.554 25.872 3538
+-87.428 25.872 3886
+-87.302 25.872 4100
+-87.176 25.872 4123
+-87.05 25.872 4054
+-86.924 25.872 4204
+-86.798 25.872 4192
+-86.672 25.872 4378
+-86.546 25.872 4662
+-86.42 25.872 4812
+-86.294 25.872 4865
+-86.168 25.872 4982
+-86.042 25.872 5166
+-85.916 25.872 5258
+-85.79 25.872 5348
+-85.664 25.872 5433
+-85.538 25.872 5554
+-85.412 25.872 5699
+-85.286 25.872 5833
+-85.16 25.872 5923
+-85.034 25.872 6002
+-84.908 25.872 6136
+-84.782 25.872 6285
+-84.656 25.872 6373
+-84.53 25.872 6482
+-84.404 25.872 6595
+-84.278 25.872 6724
+-84.152 25.872 6762
+-84.026 25.872 6883
+-83.9 25.872 6978
+-83.774 25.872 7046
+-83.648 25.872 7163
+-83.522 25.872 7277
+-83.396 25.872 7344
+-83.27 25.872 7444
+-83.144 25.872 7426
+-83.018 25.872 7484
+-82.892 25.872 7553
+-82.766 25.872 7632
+-82.64 25.872 7646
+-82.514 25.872 7680
+-82.388 25.872 7704
+-82.262 25.872 7700
+-82.136 25.872 7722
+-82.01 25.872 7736
+-81.884 25.872 7678
+-81.758 25.872 7642
+-81.632 25.872 7626
+-81.506 25.872 7563
+-81.38 25.872 7530
+-81.254 25.872 7445
+-81.128 25.872 7429
+-81.002 25.872 7325
+-80.876 25.872 7246
+-80.75 25.872 7166
+-80.624 25.872 7103
+-80.498 25.872 6968
+-80.372 25.872 6910
+-80.246 25.872 6805
+-80.12 25.872 6704
+-79.994 25.872 6599
+-79.868 25.872 6500
+-79.742 25.872 6424
+-79.616 25.872 6254
+-79.49 25.872 6154
+-79.364 25.872 5973
+-79.238 25.872 5921
+-79.112 25.872 5775
+-78.986 25.872 5657
+-78.86 25.872 5643
+-78.734 25.872 5532
+-78.608 25.872 5441
+-78.482 25.872 5341
+-78.356 25.872 5232
+-78.23 25.872 5082
+-78.104 25.872 4949
+-77.978 25.872 4903
+-77.852 25.872 4852
+-77.726 25.872 4768
+-77.6 25.872 4529
+-77.474 25.872 4362
+-77.348 25.872 4255
+-77.222 25.872 4216
+-77.096 25.872 4194
+-76.97 25.872 4190
+-76.844 25.872 4188
+-76.718 25.872 4167
+-76.592 25.872 4153
+-76.466 25.872 4091
+-76.34 25.872 4039
+-76.214 25.872 4029
+-76.088 25.872 4009
+-75.962 25.872 4014
+-75.836 25.872 3900
+-75.71 25.872 3833
+-75.584 25.872 3765
+-75.458 25.872 3689
+-75.332 25.872 3673
+-75.206 25.872 3602
+-75.08 25.872 3572
+-74.954 25.872 3555
+-74.828 25.872 3537
+-74.702 25.872 3483
+-74.576 25.872 3468
+-74.45 25.872 3387
+-74.324 25.872 3372
+-74.198 25.872 3331
+-74.072 25.872 3225
+-73.946 25.872 3215
+-73.82 25.872 3185
+-73.694 25.872 3066
+-73.568 25.872 3056
+-73.442 25.872 3014
+-73.316 25.872 2989
+-73.19 25.872 2960
+-73.064 25.872 2895
+-72.938 25.872 2893
+-72.812 25.872 2892
+-72.686 25.872 2892
+-72.56 25.872 2893
+-72.434 25.872 2894
+-72.308 25.872 2896
+-72.182 25.872 2898
+-72.056 25.872 2900
+-71.93 25.872 2903
+-71.804 25.872 2905
+-71.678 25.872 2908
+-71.552 25.872 2911
+-71.426 25.872 2914
+-71.3 25.872 2917
+-71.174 25.872 2920
+-71.048 25.872 2923
+-70.922 25.872 2926
+-70.796 25.872 2929
+-70.67 25.872 2869
+-70.544 25.872 2873
+-70.418 25.872 2877
+-70.292 25.872 2880
+-70.166 25.872 2884
+-70.04 25.872 2887
+-69.914 25.872 2848
+-69.788 25.872 2853
+-69.662 25.872 2846
+-69.536 25.872 2843
+-69.41 25.872 2818
+-69.284 25.872 2821
+-69.158 25.872 2825
+-69.032 25.872 2828
+-68.906 25.872 2831
+-68.78 25.872 2834
+-68.654 25.872 2837
+-68.528 25.872 2840
+-68.402 25.872 2843
+-68.276 25.872 2846
+-68.15 25.872 2848
+-68.024 25.872 2851
+-67.898 25.872 2853
+-67.772 25.872 2856
+-67.646 25.872 2858
+-67.52 25.872 2860
+-67.394 25.872 2863
+-67.268 25.872 2865
+-67.142 25.872 2867
+-67.016 25.872 2869
+-66.89 25.872 2871
+-66.764 25.872 2873
+-66.638 25.872 2875
+-66.512 25.872 2876
+-66.386 25.872 2878
+-66.26 25.872 2880
+-66.134 25.872 2872
+-66.008 25.872 2874
+-65.882 25.872 2876
+-65.756 25.872 2878
+-65.63 25.872 2880
+-65.504 25.872 2881
+-65.378 25.872 2883
+-65.252 25.872 2885
+-65.126 25.872 2886
+-128 25.82 3481
+-127.874 25.82 3481
+-127.748 25.82 3443
+-127.622 25.82 3465
+-127.496 25.82 3507
+-127.37 25.82 3498
+-127.244 25.82 3532
+-127.118 25.82 3531
+-126.992 25.82 3573
+-126.866 25.82 3546
+-126.74 25.82 3545
+-126.614 25.82 3545
+-126.488 25.82 3582
+-126.362 25.82 3581
+-126.236 25.82 3353
+-126.11 25.82 3362
+-125.984 25.82 3381
+-125.858 25.82 3276
+-125.732 25.82 3273
+-125.606 25.82 3255
+-125.48 25.82 3322
+-125.354 25.82 3287
+-125.228 25.82 3283
+-125.102 25.82 3306
+-124.976 25.82 3202
+-124.85 25.82 3205
+-124.724 25.82 3233
+-124.598 25.82 3224
+-124.472 25.82 3218
+-124.346 25.82 3212
+-124.22 25.82 3125
+-124.094 25.82 3122
+-123.968 25.82 3042
+-123.842 25.82 3047
+-123.716 25.82 3046
+-123.59 25.82 3040
+-123.464 25.82 3002
+-123.338 25.82 2995
+-123.212 25.82 2988
+-123.086 25.82 3002
+-122.96 25.82 2980
+-122.834 25.82 2971
+-122.708 25.82 2924
+-122.582 25.82 2915
+-122.456 25.82 2953
+-122.33 25.82 2914
+-122.204 25.82 2894
+-122.078 25.82 2808
+-121.952 25.82 2828
+-121.826 25.82 2818
+-121.7 25.82 2806
+-121.574 25.82 2795
+-121.448 25.82 2782
+-121.322 25.82 2770
+-121.196 25.82 2713
+-121.07 25.82 2704
+-120.944 25.82 2693
+-120.818 25.82 2661
+-120.692 25.82 2640
+-120.566 25.82 2623
+-120.44 25.82 2613
+-120.314 25.82 2585
+-120.188 25.82 2577
+-120.062 25.82 2560
+-119.936 25.82 2551
+-119.81 25.82 2536
+-119.684 25.82 2534
+-119.558 25.82 2529
+-119.432 25.82 2533
+-119.306 25.82 2536
+-119.18 25.82 2540
+-119.054 25.82 2545
+-118.928 25.82 2551
+-118.802 25.82 2515
+-118.676 25.82 2520
+-118.55 25.82 2524
+-118.424 25.82 2513
+-118.298 25.82 2513
+-118.172 25.82 2490
+-118.046 25.82 2482
+-117.92 25.82 2468
+-117.794 25.82 2446
+-117.668 25.82 2413
+-117.542 25.82 2369
+-117.416 25.82 2312
+-117.29 25.82 2245
+-117.164 25.82 2178
+-117.038 25.82 2127
+-116.912 25.82 2102
+-116.786 25.82 2121
+-116.66 25.82 2171
+-116.534 25.82 2237
+-116.408 25.82 2309
+-116.282 25.82 2372
+-116.156 25.82 2426
+-116.03 25.82 2510
+-115.904 25.82 2566
+-115.778 25.82 2593
+-115.652 25.82 2611
+-115.526 25.82 2626
+-115.4 25.82 2637
+-115.274 25.82 2656
+-115.148 25.82 2693
+-115.022 25.82 2716
+-114.896 25.82 2760
+-114.77 25.82 2773
+-114.644 25.82 2786
+-114.518 25.82 2823
+-114.392 25.82 2837
+-114.266 25.82 2843
+-114.14 25.82 2879
+-114.014 25.82 2907
+-113.888 25.82 2920
+-113.762 25.82 2916
+-113.636 25.82 2926
+-113.51 25.82 2904
+-113.384 25.82 2879
+-113.258 25.82 2838
+-113.132 25.82 2801
+-113.006 25.82 2783
+-112.88 25.82 2779
+-112.754 25.82 2745
+-112.628 25.82 2714
+-112.502 25.82 2756
+-112.376 25.82 2856
+-112.25 25.82 2991
+-112.124 25.82 3099
+-111.998 25.82 3183
+-111.872 25.82 3227
+-111.746 25.82 3246
+-111.62 25.82 3230
+-111.494 25.82 3202
+-111.368 25.82 3186
+-111.242 25.82 3214
+-111.116 25.82 3253
+-110.99 25.82 3293
+-110.864 25.82 3341
+-110.738 25.82 3372
+-110.612 25.82 3361
+-110.486 25.82 3388
+-110.36 25.82 3378
+-110.234 25.82 3373
+-110.108 25.82 3359
+-109.982 25.82 3339
+-109.856 25.82 3318
+-109.73 25.82 3276
+-109.604 25.82 3214
+-109.478 25.82 3138
+-109.352 25.82 3098
+-109.226 25.82 3127
+-109.1 25.82 3181
+-108.974 25.82 3224
+-108.848 25.82 3258
+-108.722 25.82 3271
+-108.596 25.82 3271
+-108.47 25.82 3279
+-108.344 25.82 3264
+-108.218 25.82 3243
+-108.092 25.82 3239
+-107.966 25.82 3232
+-107.84 25.82 3254
+-107.714 25.82 3205
+-107.588 25.82 3233
+-107.462 25.82 3214
+-107.336 25.82 3178
+-107.21 25.82 3140
+-107.084 25.82 3108
+-106.958 25.82 3018
+-106.832 25.82 2987
+-106.706 25.82 2939
+-106.58 25.82 2888
+-106.454 25.82 2849
+-106.328 25.82 2804
+-106.202 25.82 2767
+-106.076 25.82 2721
+-105.95 25.82 2729
+-105.824 25.82 2729
+-105.698 25.82 2739
+-105.572 25.82 2756
+-105.446 25.82 2777
+-105.32 25.82 2799
+-105.194 25.82 2823
+-105.068 25.82 2855
+-104.942 25.82 2878
+-104.816 25.82 2899
+-104.69 25.82 2918
+-104.564 25.82 2897
+-104.438 25.82 2986
+-104.312 25.82 2999
+-104.186 25.82 3023
+-104.06 25.82 3038
+-103.934 25.82 3119
+-103.808 25.82 3133
+-103.682 25.82 3146
+-103.556 25.82 3181
+-103.43 25.82 3182
+-103.304 25.82 3195
+-103.178 25.82 3198
+-103.052 25.82 3217
+-102.926 25.82 3217
+-102.8 25.82 3238
+-102.674 25.82 3249
+-102.548 25.82 3252
+-102.422 25.82 3256
+-102.296 25.82 3265
+-102.17 25.82 3259
+-102.044 25.82 3299
+-101.918 25.82 3308
+-101.792 25.82 3291
+-101.666 25.82 3299
+-101.54 25.82 3338
+-101.414 25.82 3346
+-101.288 25.82 3318
+-101.162 25.82 3299
+-101.036 25.82 3314
+-100.91 25.82 3184
+-100.784 25.82 3190
+-100.658 25.82 3247
+-100.532 25.82 3253
+-100.406 25.82 3209
+-100.28 25.82 3224
+-100.154 25.82 3229
+-100.028 25.82 3209
+-99.902 25.82 3214
+-99.776 25.82 3219
+-99.65 25.82 3223
+-99.524 25.82 3228
+-99.398 25.82 3232
+-99.272 25.82 3236
+-99.146 25.82 3170
+-99.02 25.82 3167
+-98.894 25.82 3170
+-98.768 25.82 3173
+-98.642 25.82 3157
+-98.516 25.82 3161
+-98.39 25.82 3226
+-98.264 25.82 3229
+-98.138 25.82 3245
+-98.012 25.82 3227
+-97.886 25.82 3119
+-97.76 25.82 3119
+-97.634 25.82 3120
+-97.508 25.82 3119
+-97.382 25.82 2998
+-97.256 25.82 2997
+-97.13 25.82 2980
+-97.004 25.82 3013
+-96.878 25.82 2975
+-96.752 25.82 3047
+-96.626 25.82 3057
+-96.5 25.82 3035
+-96.374 25.82 3074
+-96.248 25.82 3295
+-96.122 25.82 3296
+-95.996 25.82 3336
+-95.87 25.82 3437
+-95.744 25.82 3436
+-95.618 25.82 3435
+-95.492 25.82 3434
+-95.366 25.82 3433
+-95.24 25.82 3432
+-95.114 25.82 3431
+-94.988 25.82 3430
+-94.862 25.82 3429
+-94.736 25.82 3428
+-94.61 25.82 3426
+-94.484 25.82 3459
+-94.358 25.82 3457
+-94.232 25.82 3455
+-94.106 25.82 3454
+-93.98 25.82 3452
+-93.854 25.82 3450
+-93.728 25.82 3468
+-93.602 25.82 3466
+-93.476 25.82 3465
+-93.35 25.82 3463
+-93.224 25.82 3462
+-93.098 25.82 3461
+-92.972 25.82 3485
+-92.846 25.82 3499
+-92.72 25.82 3498
+-92.594 25.82 3496
+-92.468 25.82 3529
+-92.342 25.82 3529
+-92.216 25.82 3529
+-92.09 25.82 3529
+-91.964 25.82 3529
+-91.838 25.82 3530
+-91.712 25.82 3530
+-91.586 25.82 3531
+-91.46 25.82 3531
+-91.334 25.82 3532
+-91.208 25.82 3533
+-91.082 25.82 3534
+-90.956 25.82 3599
+-90.83 25.82 3607
+-90.704 25.82 3608
+-90.578 25.82 3611
+-90.452 25.82 3613
+-90.326 25.82 3615
+-90.2 25.82 3635
+-90.074 25.82 3670
+-89.948 25.82 3775
+-89.822 25.82 3774
+-89.696 25.82 3772
+-89.57 25.82 3771
+-89.444 25.82 3821
+-89.318 25.82 3876
+-89.192 25.82 3868
+-89.066 25.82 3860
+-88.94 25.82 3904
+-88.814 25.82 3916
+-88.688 25.82 3905
+-88.562 25.82 3891
+-88.436 25.82 3942
+-88.31 25.82 3917
+-88.184 25.82 3866
+-88.058 25.82 3813
+-87.932 25.82 3699
+-87.806 25.82 3561
+-87.68 25.82 3497
+-87.554 25.82 3657
+-87.428 25.82 3926
+-87.302 25.82 4113
+-87.176 25.82 4161
+-87.05 25.82 4160
+-86.924 25.82 4257
+-86.798 25.82 4309
+-86.672 25.82 4440
+-86.546 25.82 4652
+-86.42 25.82 4791
+-86.294 25.82 4897
+-86.168 25.82 5014
+-86.042 25.82 5135
+-85.916 25.82 5216
+-85.79 25.82 5297
+-85.664 25.82 5369
+-85.538 25.82 5503
+-85.412 25.82 5631
+-85.286 25.82 5777
+-85.16 25.82 5904
+-85.034 25.82 5951
+-84.908 25.82 6113
+-84.782 25.82 6245
+-84.656 25.82 6318
+-84.53 25.82 6439
+-84.404 25.82 6495
+-84.278 25.82 6653
+-84.152 25.82 6805
+-84.026 25.82 6874
+-83.9 25.82 6936
+-83.774 25.82 7018
+-83.648 25.82 7090
+-83.522 25.82 7235
+-83.396 25.82 7304
+-83.27 25.82 7363
+-83.144 25.82 7412
+-83.018 25.82 7440
+-82.892 25.82 7504
+-82.766 25.82 7542
+-82.64 25.82 7590
+-82.514 25.82 7640
+-82.388 25.82 7633
+-82.262 25.82 7681
+-82.136 25.82 7659
+-82.01 25.82 7673
+-81.884 25.82 7664
+-81.758 25.82 7604
+-81.632 25.82 7555
+-81.506 25.82 7498
+-81.38 25.82 7463
+-81.254 25.82 7439
+-81.128 25.82 7355
+-81.002 25.82 7313
+-80.876 25.82 7211
+-80.75 25.82 7102
+-80.624 25.82 7035
+-80.498 25.82 6912
+-80.372 25.82 6858
+-80.246 25.82 6781
+-80.12 25.82 6633
+-79.994 25.82 6614
+-79.868 25.82 6501
+-79.742 25.82 6381
+-79.616 25.82 6268
+-79.49 25.82 6124
+-79.364 25.82 6014
+-79.238 25.82 5885
+-79.112 25.82 5768
+-78.986 25.82 5689
+-78.86 25.82 5641
+-78.734 25.82 5523
+-78.608 25.82 5426
+-78.482 25.82 5322
+-78.356 25.82 5189
+-78.23 25.82 4995
+-78.104 25.82 4851
+-77.978 25.82 4859
+-77.852 25.82 4839
+-77.726 25.82 4722
+-77.6 25.82 4525
+-77.474 25.82 4370
+-77.348 25.82 4228
+-77.222 25.82 4144
+-77.096 25.82 4124
+-76.97 25.82 4117
+-76.844 25.82 4106
+-76.718 25.82 4070
+-76.592 25.82 4054
+-76.466 25.82 4042
+-76.34 25.82 3979
+-76.214 25.82 3931
+-76.088 25.82 3946
+-75.962 25.82 3924
+-75.836 25.82 3799
+-75.71 25.82 3795
+-75.584 25.82 3786
+-75.458 25.82 3720
+-75.332 25.82 3624
+-75.206 25.82 3607
+-75.08 25.82 3556
+-74.954 25.82 3525
+-74.828 25.82 3466
+-74.702 25.82 3449
+-74.576 25.82 3381
+-74.45 25.82 3364
+-74.324 25.82 3298
+-74.198 25.82 3283
+-74.072 25.82 3270
+-73.946 25.82 3179
+-73.82 25.82 3170
+-73.694 25.82 3120
+-73.568 25.82 3026
+-73.442 25.82 2983
+-73.316 25.82 2956
+-73.19 25.82 2927
+-73.064 25.82 2868
+-72.938 25.82 2868
+-72.812 25.82 2868
+-72.686 25.82 2870
+-72.56 25.82 2871
+-72.434 25.82 2874
+-72.308 25.82 2877
+-72.182 25.82 2880
+-72.056 25.82 2883
+-71.93 25.82 2887
+-71.804 25.82 2890
+-71.678 25.82 2894
+-71.552 25.82 2898
+-71.426 25.82 2902
+-71.3 25.82 2905
+-71.174 25.82 2909
+-71.048 25.82 2913
+-70.922 25.82 2916
+-70.796 25.82 2920
+-70.67 25.82 2923
+-70.544 25.82 2864
+-70.418 25.82 2868
+-70.292 25.82 2872
+-70.166 25.82 2876
+-70.04 25.82 2879
+-69.914 25.82 2883
+-69.788 25.82 2844
+-69.662 25.82 2849
+-69.536 25.82 2842
+-69.41 25.82 2840
+-69.284 25.82 2814
+-69.158 25.82 2818
+-69.032 25.82 2822
+-68.906 25.82 2825
+-68.78 25.82 2828
+-68.654 25.82 2832
+-68.528 25.82 2835
+-68.402 25.82 2838
+-68.276 25.82 2841
+-68.15 25.82 2843
+-68.024 25.82 2846
+-67.898 25.82 2849
+-67.772 25.82 2851
+-67.646 25.82 2854
+-67.52 25.82 2856
+-67.394 25.82 2859
+-67.268 25.82 2861
+-67.142 25.82 2863
+-67.016 25.82 2865
+-66.89 25.82 2867
+-66.764 25.82 2869
+-66.638 25.82 2871
+-66.512 25.82 2873
+-66.386 25.82 2875
+-66.26 25.82 2877
+-66.134 25.82 2879
+-66.008 25.82 2871
+-65.882 25.82 2872
+-65.756 25.82 2874
+-65.63 25.82 2876
+-65.504 25.82 2878
+-65.378 25.82 2880
+-65.252 25.82 2882
+-65.126 25.82 2883
+-128 25.768 3481
+-127.874 25.768 3444
+-127.748 25.768 3466
+-127.622 25.768 3508
+-127.496 25.768 3499
+-127.37 25.768 3533
+-127.244 25.768 3532
+-127.118 25.768 3574
+-126.992 25.768 3547
+-126.866 25.768 3546
+-126.74 25.768 3546
+-126.614 25.768 3583
+-126.488 25.768 3582
+-126.362 25.768 3352
+-126.236 25.768 3360
+-126.11 25.768 3379
+-125.984 25.768 3274
+-125.858 25.768 3271
+-125.732 25.768 3253
+-125.606 25.768 3321
+-125.48 25.768 3285
+-125.354 25.768 3281
+-125.228 25.768 3304
+-125.102 25.768 3200
+-124.976 25.768 3203
+-124.85 25.768 3231
+-124.724 25.768 3221
+-124.598 25.768 3216
+-124.472 25.768 3210
+-124.346 25.768 3123
+-124.22 25.768 3119
+-124.094 25.768 3039
+-123.968 25.768 3044
+-123.842 25.768 3044
+-123.716 25.768 3037
+-123.59 25.768 2999
+-123.464 25.768 2992
+-123.338 25.768 2984
+-123.212 25.768 2998
+-123.086 25.768 2976
+-122.96 25.768 2967
+-122.834 25.768 2919
+-122.708 25.768 2910
+-122.582 25.768 2949
+-122.456 25.768 2910
+-122.33 25.768 2889
+-122.204 25.768 2802
+-122.078 25.768 2822
+-121.952 25.768 2811
+-121.826 25.768 2799
+-121.7 25.768 2786
+-121.574 25.768 2773
+-121.448 25.768 2760
+-121.322 25.768 2701
+-121.196 25.768 2691
+-121.07 25.768 2678
+-120.944 25.768 2644
+-120.818 25.768 2621
+-120.692 25.768 2602
+-120.566 25.768 2590
+-120.44 25.768 2559
+-120.314 25.768 2548
+-120.188 25.768 2528
+-120.062 25.768 2515
+-119.936 25.768 2497
+-119.81 25.768 2492
+-119.684 25.768 2484
+-119.558 25.768 2485
+-119.432 25.768 2486
+-119.306 25.768 2489
+-119.18 25.768 2494
+-119.054 25.768 2501
+-118.928 25.768 2466
+-118.802 25.768 2474
+-118.676 25.768 2482
+-118.55 25.768 2475
+-118.424 25.768 2480
+-118.298 25.768 2464
+-118.172 25.768 2464
+-118.046 25.768 2459
+-117.92 25.768 2449
+-117.794 25.768 2431
+-117.668 25.768 2405
+-117.542 25.768 2370
+-117.416 25.768 2327
+-117.29 25.768 2277
+-117.164 25.768 2230
+-117.038 25.768 2185
+-116.912 25.768 2173
+-116.786 25.768 2187
+-116.66 25.768 2223
+-116.534 25.768 2275
+-116.408 25.768 2331
+-116.282 25.768 2383
+-116.156 25.768 2417
+-116.03 25.768 2464
+-115.904 25.768 2543
+-115.778 25.768 2593
+-115.652 25.768 2601
+-115.526 25.768 2630
+-115.4 25.768 2652
+-115.274 25.768 2676
+-115.148 25.768 2688
+-115.022 25.768 2729
+-114.896 25.768 2773
+-114.77 25.768 2786
+-114.644 25.768 2798
+-114.518 25.768 2834
+-114.392 25.768 2839
+-114.266 25.768 2864
+-114.14 25.768 2880
+-114.014 25.768 2926
+-113.888 25.768 2927
+-113.762 25.768 2923
+-113.636 25.768 2913
+-113.51 25.768 2926
+-113.384 25.768 2884
+-113.258 25.768 2872
+-113.132 25.768 2846
+-113.006 25.768 2823
+-112.88 25.768 2801
+-112.754 25.768 2768
+-112.628 25.768 2749
+-112.502 25.768 2784
+-112.376 25.768 2868
+-112.25 25.768 2974
+-112.124 25.768 3098
+-111.998 25.768 3167
+-111.872 25.768 3215
+-111.746 25.768 3229
+-111.62 25.768 3232
+-111.494 25.768 3226
+-111.368 25.768 3222
+-111.242 25.768 3233
+-111.116 25.768 3258
+-110.99 25.768 3280
+-110.864 25.768 3322
+-110.738 25.768 3331
+-110.612 25.768 3329
+-110.486 25.768 3349
+-110.36 25.768 3343
+-110.234 25.768 3332
+-110.108 25.768 3329
+-109.982 25.768 3306
+-109.856 25.768 3274
+-109.73 25.768 3233
+-109.604 25.768 3165
+-109.478 25.768 3089
+-109.352 25.768 3052
+-109.226 25.768 3083
+-109.1 25.768 3136
+-108.974 25.768 3172
+-108.848 25.768 3194
+-108.722 25.768 3201
+-108.596 25.768 3213
+-108.47 25.768 3207
+-108.344 25.768 3213
+-108.218 25.768 3218
+-108.092 25.768 3196
+-107.966 25.768 3194
+-107.84 25.768 3188
+-107.714 25.768 3173
+-107.588 25.768 3165
+-107.462 25.768 3154
+-107.336 25.768 3176
+-107.21 25.768 3142
+-107.084 25.768 3106
+-106.958 25.768 3024
+-106.832 25.768 2988
+-106.706 25.768 2962
+-106.58 25.768 2922
+-106.454 25.768 2883
+-106.328 25.768 2858
+-106.202 25.768 2828
+-106.076 25.768 2806
+-105.95 25.768 2770
+-105.824 25.768 2790
+-105.698 25.768 2794
+-105.572 25.768 2804
+-105.446 25.768 2818
+-105.32 25.768 2835
+-105.194 25.768 2851
+-105.068 25.768 2870
+-104.942 25.768 2898
+-104.816 25.768 2915
+-104.69 25.768 2932
+-104.564 25.768 2948
+-104.438 25.768 2922
+-104.312 25.768 3012
+-104.186 25.768 3022
+-104.06 25.768 3045
+-103.934 25.768 3058
+-103.808 25.768 3141
+-103.682 25.768 3154
+-103.556 25.768 3165
+-103.43 25.768 3200
+-103.304 25.768 3200
+-103.178 25.768 3211
+-103.052 25.768 3213
+-102.926 25.768 3232
+-102.8 25.768 3231
+-102.674 25.768 3252
+-102.548 25.768 3261
+-102.422 25.768 3264
+-102.296 25.768 3267
+-102.17 25.768 3276
+-102.044 25.768 3269
+-101.918 25.768 3309
+-101.792 25.768 3318
+-101.666 25.768 3299
+-101.54 25.768 3307
+-101.414 25.768 3346
+-101.288 25.768 3354
+-101.162 25.768 3325
+-101.036 25.768 3305
+-100.91 25.768 3320
+-100.784 25.768 3189
+-100.658 25.768 3195
+-100.532 25.768 3252
+-100.406 25.768 3258
+-100.28 25.768 3213
+-100.154 25.768 3228
+-100.028 25.768 3233
+-99.902 25.768 3213
+-99.776 25.768 3217
+-99.65 25.768 3222
+-99.524 25.768 3227
+-99.398 25.768 3231
+-99.272 25.768 3235
+-99.146 25.768 3239
+-99.02 25.768 3172
+-98.894 25.768 3169
+-98.768 25.768 3172
+-98.642 25.768 3175
+-98.516 25.768 3159
+-98.39 25.768 3163
+-98.264 25.768 3228
+-98.138 25.768 3231
+-98.012 25.768 3247
+-97.886 25.768 3112
+-97.76 25.768 3118
+-97.634 25.768 3118
+-97.508 25.768 3118
+-97.382 25.768 2997
+-97.256 25.768 2996
+-97.13 25.768 2978
+-97.004 25.768 3012
+-96.878 25.768 2975
+-96.752 25.768 3048
+-96.626 25.768 3058
+-96.5 25.768 3036
+-96.374 25.768 3074
+-96.248 25.768 3295
+-96.122 25.768 3296
+-95.996 25.768 3437
+-95.87 25.768 3436
+-95.744 25.768 3435
+-95.618 25.768 3434
+-95.492 25.768 3433
+-95.366 25.768 3432
+-95.24 25.768 3431
+-95.114 25.768 3430
+-94.988 25.768 3429
+-94.862 25.768 3428
+-94.736 25.768 3427
+-94.61 25.768 3459
+-94.484 25.768 3457
+-94.358 25.768 3456
+-94.232 25.768 3454
+-94.106 25.768 3452
+-93.98 25.768 3450
+-93.854 25.768 3468
+-93.728 25.768 3467
+-93.602 25.768 3465
+-93.476 25.768 3464
+-93.35 25.768 3462
+-93.224 25.768 3461
+-93.098 25.768 3485
+-92.972 25.768 3500
+-92.846 25.768 3498
+-92.72 25.768 3497
+-92.594 25.768 3528
+-92.468 25.768 3528
+-92.342 25.768 3528
+-92.216 25.768 3528
+-92.09 25.768 3528
+-91.964 25.768 3529
+-91.838 25.768 3529
+-91.712 25.768 3529
+-91.586 25.768 3530
+-91.46 25.768 3530
+-91.334 25.768 3531
+-91.208 25.768 3532
+-91.082 25.768 3596
+-90.956 25.768 3604
+-90.83 25.768 3605
+-90.704 25.768 3607
+-90.578 25.768 3608
+-90.452 25.768 3610
+-90.326 25.768 3596
+-90.2 25.768 3698
+-90.074 25.768 3768
+-89.948 25.768 3765
+-89.822 25.768 3763
+-89.696 25.768 3760
+-89.57 25.768 3760
+-89.444 25.768 3812
+-89.318 25.768 3860
+-89.192 25.768 3852
+-89.066 25.768 3918
+-88.94 25.768 3910
+-88.814 25.768 3901
+-88.688 25.768 3890
+-88.562 25.768 3911
+-88.436 25.768 3900
+-88.31 25.768 3890
+-88.184 25.768 3875
+-88.058 25.768 3824
+-87.932 25.768 3784
+-87.806 25.768 3724
+-87.68 25.768 3718
+-87.554 25.768 3830
+-87.428 25.768 4024
+-87.302 25.768 4155
+-87.176 25.768 4216
+-87.05 25.768 4258
+-86.924 25.768 4316
+-86.798 25.768 4392
+-86.672 25.768 4494
+-86.546 25.768 4667
+-86.42 25.768 4763
+-86.294 25.768 4871
+-86.168 25.768 4999
+-86.042 25.768 5082
+-85.916 25.768 5067
+-85.79 25.768 5289
+-85.664 25.768 5417
+-85.538 25.768 5491
+-85.412 25.768 5600
+-85.286 25.768 5704
+-85.16 25.768 5829
+-85.034 25.768 5920
+-84.908 25.768 6077
+-84.782 25.768 6205
+-84.656 25.768 6234
+-84.53 25.768 6394
+-84.404 25.768 6518
+-84.278 25.768 6598
+-84.152 25.768 6732
+-84.026 25.768 6845
+-83.9 25.768 6940
+-83.774 25.768 6988
+-83.648 25.768 7061
+-83.522 25.768 7155
+-83.396 25.768 7237
+-83.27 25.768 7318
+-83.144 25.768 7364
+-83.018 25.768 7425
+-82.892 25.768 7491
+-82.766 25.768 7546
+-82.64 25.768 7518
+-82.514 25.768 7559
+-82.388 25.768 7567
+-82.262 25.768 7595
+-82.136 25.768 7586
+-82.01 25.768 7588
+-81.884 25.768 7577
+-81.758 25.768 7545
+-81.632 25.768 7515
+-81.506 25.768 7481
+-81.38 25.768 7411
+-81.254 25.768 7345
+-81.128 25.768 7314
+-81.002 25.768 7255
+-80.876 25.768 7161
+-80.75 25.768 7070
+-80.624 25.768 6979
+-80.498 25.768 6890
+-80.372 25.768 6818
+-80.246 25.768 6747
+-80.12 25.768 6689
+-79.994 25.768 6618
+-79.868 25.768 6479
+-79.742 25.768 6336
+-79.616 25.768 6188
+-79.49 25.768 6067
+-79.364 25.768 5954
+-79.238 25.768 5817
+-79.112 25.768 5709
+-78.986 25.768 5636
+-78.86 25.768 5607
+-78.734 25.768 5508
+-78.608 25.768 5409
+-78.482 25.768 5284
+-78.356 25.768 5127
+-78.23 25.768 4913
+-78.104 25.768 4727
+-77.978 25.768 4809
+-77.852 25.768 4838
+-77.726 25.768 4683
+-77.6 25.768 4498
+-77.474 25.768 4303
+-77.348 25.768 4084
+-77.222 25.768 3963
+-77.096 25.768 4000
+-76.97 25.768 4032
+-76.844 25.768 4019
+-76.718 25.768 3955
+-76.592 25.768 3894
+-76.466 25.768 3867
+-76.34 25.768 3860
+-76.214 25.768 3843
+-76.088 25.768 3811
+-75.962 25.768 3782
+-75.836 25.768 3736
+-75.71 25.768 3736
+-75.584 25.768 3749
+-75.458 25.768 3740
+-75.332 25.768 3637
+-75.206 25.768 3577
+-75.08 25.768 3558
+-74.954 25.768 3470
+-74.828 25.768 3391
+-74.702 25.768 3360
+-74.576 25.768 3294
+-74.45 25.768 3275
+-74.324 25.768 3257
+-74.198 25.768 3191
+-74.072 25.768 3126
+-73.946 25.768 3114
+-73.82 25.768 3129
+-73.694 25.768 3122
+-73.568 25.768 3076
+-73.442 25.768 2927
+-73.316 25.768 2922
+-73.19 25.768 2894
+-73.064 25.768 2895
+-72.938 25.768 2840
+-72.812 25.768 2842
+-72.686 25.768 2845
+-72.56 25.768 2848
+-72.434 25.768 2852
+-72.308 25.768 2856
+-72.182 25.768 2860
+-72.056 25.768 2865
+-71.93 25.768 2870
+-71.804 25.768 2874
+-71.678 25.768 2879
+-71.552 25.768 2884
+-71.426 25.768 2888
+-71.3 25.768 2893
+-71.174 25.768 2897
+-71.048 25.768 2902
+-70.922 25.768 2906
+-70.796 25.768 2910
+-70.67 25.768 2914
+-70.544 25.768 2918
+-70.418 25.768 2859
+-70.292 25.768 2863
+-70.166 25.768 2868
+-70.04 25.768 2872
+-69.914 25.768 2876
+-69.788 25.768 2880
+-69.662 25.768 2840
+-69.536 25.768 2845
+-69.41 25.768 2838
+-69.284 25.768 2837
+-69.158 25.768 2811
+-69.032 25.768 2815
+-68.906 25.768 2819
+-68.78 25.768 2822
+-68.654 25.768 2826
+-68.528 25.768 2829
+-68.402 25.768 2832
+-68.276 25.768 2835
+-68.15 25.768 2838
+-68.024 25.768 2841
+-67.898 25.768 2844
+-67.772 25.768 2847
+-67.646 25.768 2849
+-67.52 25.768 2852
+-67.394 25.768 2854
+-67.268 25.768 2857
+-67.142 25.768 2859
+-67.016 25.768 2861
+-66.89 25.768 2864
+-66.764 25.768 2866
+-66.638 25.768 2868
+-66.512 25.768 2870
+-66.386 25.768 2872
+-66.26 25.768 2874
+-66.134 25.768 2875
+-66.008 25.768 2877
+-65.882 25.768 2869
+-65.756 25.768 2871
+-65.63 25.768 2873
+-65.504 25.768 2875
+-65.378 25.768 2877
+-65.252 25.768 2878
+-65.126 25.768 2880
+-128 25.716 3444
+-127.874 25.716 3467
+-127.748 25.716 3509
+-127.622 25.716 3499
+-127.496 25.716 3534
+-127.37 25.716 3533
+-127.244 25.716 3575
+-127.118 25.716 3548
+-126.992 25.716 3547
+-126.866 25.716 3547
+-126.74 25.716 3585
+-126.614 25.716 3584
+-126.488 25.716 3350
+-126.362 25.716 3358
+-126.236 25.716 3378
+-126.11 25.716 3273
+-125.984 25.716 3269
+-125.858 25.716 3251
+-125.732 25.716 3319
+-125.606 25.716 3283
+-125.48 25.716 3279
+-125.354 25.716 3302
+-125.228 25.716 3198
+-125.102 25.716 3201
+-124.976 25.716 3229
+-124.85 25.716 3219
+-124.724 25.716 3214
+-124.598 25.716 3208
+-124.472 25.716 3120
+-124.346 25.716 3117
+-124.22 25.716 3036
+-124.094 25.716 3042
+-123.968 25.716 3041
+-123.842 25.716 3034
+-123.716 25.716 2996
+-123.59 25.716 2989
+-123.464 25.716 2982
+-123.338 25.716 2996
+-123.212 25.716 2973
+-123.086 25.716 2964
+-122.96 25.716 2916
+-122.834 25.716 2907
+-122.708 25.716 2946
+-122.582 25.716 2906
+-122.456 25.716 2885
+-122.33 25.716 2797
+-122.204 25.716 2817
+-122.078 25.716 2805
+-121.952 25.716 2792
+-121.826 25.716 2779
+-121.7 25.716 2766
+-121.574 25.716 2751
+-121.448 25.716 2691
+-121.322 25.716 2680
+-121.196 25.716 2665
+-121.07 25.716 2629
+-120.944 25.716 2604
+-120.818 25.716 2582
+-120.692 25.716 2567
+-120.566 25.716 2534
+-120.44 25.716 2520
+-120.314 25.716 2495
+-120.188 25.716 2478
+-120.062 25.716 2456
+-119.936 25.716 2447
+-119.81 25.716 2435
+-119.684 25.716 2431
+-119.558 25.716 2428
+-119.432 25.716 2429
+-119.306 25.716 2432
+-119.18 25.716 2438
+-119.054 25.716 2404
+-118.928 25.716 2414
+-118.802 25.716 2425
+-118.676 25.716 2422
+-118.55 25.716 2433
+-118.424 25.716 2422
+-118.298 25.716 2430
+-118.172 25.716 2434
+-118.046 25.716 2434
+-117.92 25.716 2429
+-117.794 25.716 2418
+-117.668 25.716 2399
+-117.542 25.716 2374
+-117.416 25.716 2343
+-117.29 25.716 2309
+-117.164 25.716 2264
+-117.038 25.716 2243
+-116.912 25.716 2236
+-116.786 25.716 2247
+-116.66 25.716 2275
+-116.534 25.716 2313
+-116.408 25.716 2356
+-116.282 25.716 2387
+-116.156 25.716 2425
+-116.03 25.716 2453
+-115.904 25.716 2550
+-115.778 25.716 2585
+-115.652 25.716 2605
+-115.526 25.716 2642
+-115.4 25.716 2655
+-115.274 25.716 2683
+-115.148 25.716 2696
+-115.022 25.716 2738
+-114.896 25.716 2784
+-114.77 25.716 2796
+-114.644 25.716 2820
+-114.518 25.716 2833
+-114.392 25.716 2861
+-114.266 25.716 2878
+-114.14 25.716 2898
+-114.014 25.716 2906
+-113.888 25.716 2935
+-113.762 25.716 2931
+-113.636 25.716 2923
+-113.51 25.716 2921
+-113.384 25.716 2905
+-113.258 25.716 2887
+-113.132 25.716 2877
+-113.006 25.716 2855
+-112.88 25.716 2837
+-112.754 25.716 2821
+-112.628 25.716 2815
+-112.502 25.716 2845
+-112.376 25.716 2907
+-112.25 25.716 2992
+-112.124 25.716 3081
+-111.998 25.716 3163
+-111.872 25.716 3197
+-111.746 25.716 3221
+-111.62 25.716 3236
+-111.494 25.716 3239
+-111.368 25.716 3230
+-111.242 25.716 3236
+-111.116 25.716 3258
+-110.99 25.716 3275
+-110.864 25.716 3290
+-110.738 25.716 3294
+-110.612 25.716 3307
+-110.486 25.716 3299
+-110.36 25.716 3316
+-110.234 25.716 3303
+-110.108 25.716 3286
+-109.982 25.716 3275
+-109.856 25.716 3243
+-109.73 25.716 3200
+-109.604 25.716 3152
+-109.478 25.716 3100
+-109.352 25.716 3075
+-109.226 25.716 3083
+-109.1 25.716 3108
+-108.974 25.716 3123
+-108.848 25.716 3131
+-108.722 25.716 3142
+-108.596 25.716 3134
+-108.47 25.716 3146
+-108.344 25.716 3157
+-108.218 25.716 3166
+-108.092 25.716 3173
+-107.966 25.716 3153
+-107.84 25.716 3153
+-107.714 25.716 3149
+-107.588 25.716 3136
+-107.462 25.716 3128
+-107.336 25.716 3119
+-107.21 25.716 3144
+-107.084 25.716 3112
+-106.958 25.716 3027
+-106.832 25.716 2999
+-106.706 25.716 2968
+-106.58 25.716 2949
+-106.454 25.716 2918
+-106.328 25.716 2889
+-106.202 25.716 2876
+-106.076 25.716 2858
+-105.95 25.716 2845
+-105.824 25.716 2814
+-105.698 25.716 2840
+-105.572 25.716 2846
+-105.446 25.716 2855
+-105.32 25.716 2867
+-105.194 25.716 2880
+-105.068 25.716 2892
+-104.942 25.716 2907
+-104.816 25.716 2932
+-104.69 25.716 2946
+-104.564 25.716 2960
+-104.438 25.716 2973
+-104.312 25.716 2943
+-104.186 25.716 3034
+-104.06 25.716 3043
+-103.934 25.716 3065
+-103.808 25.716 3076
+-103.682 25.716 3161
+-103.556 25.716 3172
+-103.43 25.716 3183
+-103.304 25.716 3218
+-103.178 25.716 3215
+-103.052 25.716 3226
+-102.926 25.716 3228
+-102.8 25.716 3245
+-102.674 25.716 3243
+-102.548 25.716 3264
+-102.422 25.716 3274
+-102.296 25.716 3275
+-102.17 25.716 3278
+-102.044 25.716 3286
+-101.918 25.716 3279
+-101.792 25.716 3319
+-101.666 25.716 3327
+-101.54 25.716 3308
+-101.414 25.716 3315
+-101.288 25.716 3355
+-101.162 25.716 3362
+-101.036 25.716 3332
+-100.91 25.716 3312
+-100.784 25.716 3327
+-100.658 25.716 3194
+-100.532 25.716 3199
+-100.406 25.716 3257
+-100.28 25.716 3263
+-100.154 25.716 3217
+-100.028 25.716 3232
+-99.902 25.716 3237
+-99.776 25.716 3216
+-99.65 25.716 3221
+-99.524 25.716 3225
+-99.398 25.716 3230
+-99.272 25.716 3234
+-99.146 25.716 3238
+-99.02 25.716 3242
+-98.894 25.716 3174
+-98.768 25.716 3171
+-98.642 25.716 3174
+-98.516 25.716 3177
+-98.39 25.716 3161
+-98.264 25.716 3165
+-98.138 25.716 3230
+-98.012 25.716 3120
+-97.886 25.716 3130
+-97.76 25.716 3110
+-97.634 25.716 3116
+-97.508 25.716 3116
+-97.382 25.716 2995
+-97.256 25.716 2994
+-97.13 25.716 2977
+-97.004 25.716 3011
+-96.878 25.716 2974
+-96.752 25.716 3048
+-96.626 25.716 3058
+-96.5 25.716 3036
+-96.374 25.716 3248
+-96.248 25.716 3294
+-96.122 25.716 3295
+-95.996 25.716 3436
+-95.87 25.716 3435
+-95.744 25.716 3434
+-95.618 25.716 3433
+-95.492 25.716 3432
+-95.366 25.716 3431
+-95.24 25.716 3430
+-95.114 25.716 3429
+-94.988 25.716 3428
+-94.862 25.716 3427
+-94.736 25.716 3459
+-94.61 25.716 3457
+-94.484 25.716 3456
+-94.358 25.716 3454
+-94.232 25.716 3452
+-94.106 25.716 3451
+-93.98 25.716 3469
+-93.854 25.716 3467
+-93.728 25.716 3466
+-93.602 25.716 3464
+-93.476 25.716 3463
+-93.35 25.716 3461
+-93.224 25.716 3486
+-93.098 25.716 3500
+-92.972 25.716 3499
+-92.846 25.716 3497
+-92.72 25.716 3528
+-92.594 25.716 3528
+-92.468 25.716 3528
+-92.342 25.716 3528
+-92.216 25.716 3528
+-92.09 25.716 3528
+-91.964 25.716 3528
+-91.838 25.716 3528
+-91.712 25.716 3528
+-91.586 25.716 3528
+-91.46 25.716 3529
+-91.334 25.716 3529
+-91.208 25.716 3600
+-91.082 25.716 3601
+-90.956 25.716 3602
+-90.83 25.716 3603
+-90.704 25.716 3604
+-90.578 25.716 3605
+-90.452 25.716 3591
+-90.326 25.716 3691
+-90.2 25.716 3760
+-90.074 25.716 3758
+-89.948 25.716 3755
+-89.822 25.716 3752
+-89.696 25.716 3772
+-89.57 25.716 3767
+-89.444 25.716 3797
+-89.318 25.716 3791
+-89.192 25.716 3912
+-89.066 25.716 3904
+-88.94 25.716 3895
+-88.814 25.716 3886
+-88.688 25.716 3909
+-88.562 25.716 3903
+-88.436 25.716 3890
+-88.31 25.716 3871
+-88.184 25.716 3849
+-88.058 25.716 3843
+-87.932 25.716 3855
+-87.806 25.716 3843
+-87.68 25.716 3878
+-87.554 25.716 3952
+-87.428 25.716 4045
+-87.302 25.716 4142
+-87.176 25.716 4249
+-87.05 25.716 4297
+-86.924 25.716 4354
+-86.798 25.716 4412
+-86.672 25.716 4480
+-86.546 25.716 4628
+-86.42 25.716 4719
+-86.294 25.716 4772
+-86.168 25.716 4916
+-86.042 25.716 5030
+-85.916 25.716 5144
+-85.79 25.716 5295
+-85.664 25.716 5438
+-85.538 25.716 5511
+-85.412 25.716 5580
+-85.286 25.716 5688
+-85.16 25.716 5824
+-85.034 25.716 5871
+-84.908 25.716 6075
+-84.782 25.716 6135
+-84.656 25.716 6243
+-84.53 25.716 6387
+-84.404 25.716 6502
+-84.278 25.716 6531
+-84.152 25.716 6640
+-84.026 25.716 6790
+-83.9 25.716 6819
+-83.774 25.716 6957
+-83.648 25.716 7020
+-83.522 25.716 7145
+-83.396 25.716 7177
+-83.27 25.716 7257
+-83.144 25.716 7305
+-83.018 25.716 7355
+-82.892 25.716 7401
+-82.766 25.716 7460
+-82.64 25.716 7474
+-82.514 25.716 7511
+-82.388 25.716 7528
+-82.262 25.716 7556
+-82.136 25.716 7514
+-82.01 25.716 7517
+-81.884 25.716 7500
+-81.758 25.716 7484
+-81.632 25.716 7471
+-81.506 25.716 7422
+-81.38 25.716 7391
+-81.254 25.716 7316
+-81.128 25.716 7207
+-81.002 25.716 7186
+-80.876 25.716 7086
+-80.75 25.716 7037
+-80.624 25.716 6934
+-80.498 25.716 6829
+-80.372 25.716 6771
+-80.246 25.716 6691
+-80.12 25.716 6657
+-79.994 25.716 6529
+-79.868 25.716 6407
+-79.742 25.716 6258
+-79.616 25.716 6082
+-79.49 25.716 5984
+-79.364 25.716 5904
+-79.238 25.716 5772
+-79.112 25.716 5657
+-78.986 25.716 5583
+-78.86 25.716 5567
+-78.734 25.716 5455
+-78.608 25.716 5318
+-78.482 25.716 5201
+-78.356 25.716 5110
+-78.23 25.716 4977
+-78.104 25.716 4832
+-77.978 25.716 4841
+-77.852 25.716 4810
+-77.726 25.716 4676
+-77.6 25.716 4503
+-77.474 25.716 4249
+-77.348 25.716 3979
+-77.222 25.716 3852
+-77.096 25.716 3924
+-76.97 25.716 3963
+-76.844 25.716 3901
+-76.718 25.716 3797
+-76.592 25.716 3713
+-76.466 25.716 3674
+-76.34 25.716 3671
+-76.214 25.716 3671
+-76.088 25.716 3728
+-75.962 25.716 3717
+-75.836 25.716 3741
+-75.71 25.716 3696
+-75.584 25.716 3695
+-75.458 25.716 3687
+-75.332 25.716 3573
+-75.206 25.716 3574
+-75.08 25.716 3474
+-74.954 25.716 3389
+-74.828 25.716 3321
+-74.702 25.716 3283
+-74.576 25.716 3248
+-74.45 25.716 3227
+-74.324 25.716 3208
+-74.198 25.716 3192
+-74.072 25.716 3129
+-73.946 25.716 3068
+-73.82 25.716 3059
+-73.694 25.716 3029
+-73.568 25.716 3025
+-73.442 25.716 2935
+-73.316 25.716 2886
+-73.19 25.716 2857
+-73.064 25.716 2860
+-72.938 25.716 2864
+-72.812 25.716 2813
+-72.686 25.716 2818
+-72.56 25.716 2823
+-72.434 25.716 2828
+-72.308 25.716 2834
+-72.182 25.716 2840
+-72.056 25.716 2846
+-71.93 25.716 2852
+-71.804 25.716 2858
+-71.678 25.716 2864
+-71.552 25.716 2869
+-71.426 25.716 2875
+-71.3 25.716 2880
+-71.174 25.716 2885
+-71.048 25.716 2891
+-70.922 25.716 2895
+-70.796 25.716 2900
+-70.67 25.716 2905
+-70.544 25.716 2909
+-70.418 25.716 2913
+-70.292 25.716 2855
+-70.166 25.716 2859
+-70.04 25.716 2864
+-69.914 25.716 2868
+-69.788 25.716 2873
+-69.662 25.716 2877
+-69.536 25.716 2837
+-69.41 25.716 2842
+-69.284 25.716 2836
+-69.158 25.716 2834
+-69.032 25.716 2809
+-68.906 25.716 2813
+-68.78 25.716 2816
+-68.654 25.716 2820
+-68.528 25.716 2824
+-68.402 25.716 2827
+-68.276 25.716 2830
+-68.15 25.716 2833
+-68.024 25.716 2836
+-67.898 25.716 2839
+-67.772 25.716 2842
+-67.646 25.716 2845
+-67.52 25.716 2848
+-67.394 25.716 2850
+-67.268 25.716 2853
+-67.142 25.716 2855
+-67.016 25.716 2858
+-66.89 25.716 2860
+-66.764 25.716 2862
+-66.638 25.716 2864
+-66.512 25.716 2866
+-66.386 25.716 2868
+-66.26 25.716 2870
+-66.134 25.716 2872
+-66.008 25.716 2874
+-65.882 25.716 2876
+-65.756 25.716 2867
+-65.63 25.716 2869
+-65.504 25.716 2871
+-65.378 25.716 2873
+-65.252 25.716 2875
+-65.126 25.716 2877
+-128 25.664 3467
+-127.874 25.664 3510
+-127.748 25.664 3500
+-127.622 25.664 3535
+-127.496 25.664 3534
+-127.37 25.664 3577
+-127.244 25.664 3549
+-127.118 25.664 3548
+-126.992 25.664 3548
+-126.866 25.664 3586
+-126.74 25.664 3585
+-126.614 25.664 3348
+-126.488 25.664 3357
+-126.362 25.664 3376
+-126.236 25.664 3271
+-126.11 25.664 3268
+-125.984 25.664 3250
+-125.858 25.664 3318
+-125.732 25.664 3282
+-125.606 25.664 3277
+-125.48 25.664 3301
+-125.354 25.664 3196
+-125.228 25.664 3199
+-125.102 25.664 3228
+-124.976 25.664 3218
+-124.85 25.664 3212
+-124.724 25.664 3206
+-124.598 25.664 3118
+-124.472 25.664 3115
+-124.346 25.664 3034
+-124.22 25.664 3040
+-124.094 25.664 3039
+-123.968 25.664 3032
+-123.842 25.664 2994
+-123.716 25.664 2987
+-123.59 25.664 2979
+-123.464 25.664 2993
+-123.338 25.664 2970
+-123.212 25.664 2962
+-123.086 25.664 2913
+-122.96 25.664 2904
+-122.834 25.664 2944
+-122.708 25.664 2903
+-122.582 25.664 2882
+-122.456 25.664 2792
+-122.33 25.664 2812
+-122.204 25.664 2800
+-122.078 25.664 2787
+-121.952 25.664 2774
+-121.826 25.664 2759
+-121.7 25.664 2744
+-121.574 25.664 2682
+-121.448 25.664 2670
+-121.322 25.664 2654
+-121.196 25.664 2616
+-121.07 25.664 2589
+-120.944 25.664 2565
+-120.818 25.664 2548
+-120.692 25.664 2511
+-120.566 25.664 2493
+-120.44 25.664 2464
+-120.314 25.664 2443
+-120.188 25.664 2416
+-120.062 25.664 2401
+-119.936 25.664 2383
+-119.81 25.664 2373
+-119.684 25.664 2364
+-119.558 25.664 2360
+-119.432 25.664 2358
+-119.306 25.664 2361
+-119.18 25.664 2327
+-119.054 25.664 2337
+-118.928 25.664 2350
+-118.802 25.664 2351
+-118.676 25.664 2367
+-118.55 25.664 2362
+-118.424 25.664 2378
+-118.298 25.664 2391
+-118.172 25.664 2400
+-118.046 25.664 2406
+-117.92 25.664 2407
+-117.794 25.664 2403
+-117.668 25.664 2393
+-117.542 25.664 2377
+-117.416 25.664 2357
+-117.29 25.664 2319
+-117.164 25.664 2302
+-117.038 25.664 2290
+-116.912 25.664 2287
+-116.786 25.664 2298
+-116.66 25.664 2319
+-116.534 25.664 2347
+-116.408 25.664 2370
+-116.282 25.664 2403
+-116.156 25.664 2429
+-116.03 25.664 2458
+-115.904 25.664 2483
+-115.778 25.664 2580
+-115.652 25.664 2611
+-115.526 25.664 2639
+-115.4 25.664 2675
+-115.274 25.664 2689
+-115.148 25.664 2701
+-115.022 25.664 2758
+-114.896 25.664 2759
+-114.77 25.664 2817
+-114.644 25.664 2829
+-114.518 25.664 2857
+-114.392 25.664 2853
+-114.266 25.664 2896
+-114.14 25.664 2906
+-114.014 25.664 2913
+-113.888 25.664 2917
+-113.762 25.664 2940
+-113.636 25.664 2946
+-113.51 25.664 2915
+-113.384 25.664 2911
+-113.258 25.664 2909
+-113.132 25.664 2902
+-113.006 25.664 2875
+-112.88 25.664 2865
+-112.754 25.664 2873
+-112.628 25.664 2878
+-112.502 25.664 2905
+-112.376 25.664 2960
+-112.25 25.664 3018
+-112.124 25.664 3092
+-111.998 25.664 3154
+-111.872 25.664 3189
+-111.746 25.664 3218
+-111.62 25.664 3232
+-111.494 25.664 3225
+-111.368 25.664 3228
+-111.242 25.664 3233
+-111.116 25.664 3257
+-110.99 25.664 3268
+-110.864 25.664 3277
+-110.738 25.664 3274
+-110.612 25.664 3277
+-110.486 25.664 3272
+-110.36 25.664 3264
+-110.234 25.664 3274
+-110.108 25.664 3255
+-109.982 25.664 3232
+-109.856 25.664 3214
+-109.73 25.664 3179
+-109.604 25.664 3140
+-109.478 25.664 3111
+-109.352 25.664 3083
+-109.226 25.664 3070
+-109.1 25.664 3055
+-108.974 25.664 3053
+-108.848 25.664 3052
+-108.722 25.664 3061
+-108.596 25.664 3060
+-108.47 25.664 3078
+-108.344 25.664 3095
+-108.218 25.664 3111
+-108.092 25.664 3123
+-107.966 25.664 3102
+-107.84 25.664 3114
+-107.714 25.664 3116
+-107.588 25.664 3114
+-107.462 25.664 3103
+-107.336 25.664 3097
+-107.21 25.664 3089
+-107.084 25.664 3118
+-106.958 25.664 3088
+-106.832 25.664 3006
+-106.706 25.664 2982
+-106.58 25.664 2957
+-106.454 25.664 2945
+-106.328 25.664 2922
+-106.202 25.664 2901
+-106.076 25.664 2898
+-105.95 25.664 2887
+-105.824 25.664 2880
+-105.698 25.664 2850
+-105.572 25.664 2881
+-105.446 25.664 2887
+-105.32 25.664 2895
+-105.194 25.664 2905
+-105.068 25.664 2915
+-104.942 25.664 2925
+-104.816 25.664 2937
+-104.69 25.664 2960
+-104.564 25.664 2972
+-104.438 25.664 2983
+-104.312 25.664 2994
+-104.186 25.664 2961
+-104.06 25.664 3054
+-103.934 25.664 3061
+-103.808 25.664 3083
+-103.682 25.664 3093
+-103.556 25.664 3180
+-103.43 25.664 3189
+-103.304 25.664 3199
+-103.178 25.664 3234
+-103.052 25.664 3231
+-102.926 25.664 3240
+-102.8 25.664 3241
+-102.674 25.664 3258
+-102.548 25.664 3256
+-102.422 25.664 3276
+-102.296 25.664 3285
+-102.17 25.664 3286
+-102.044 25.664 3288
+-101.918 25.664 3296
+-101.792 25.664 3288
+-101.666 25.664 3328
+-101.54 25.664 3336
+-101.414 25.664 3316
+-101.288 25.664 3322
+-101.162 25.664 3362
+-101.036 25.664 3370
+-100.91 25.664 3339
+-100.784 25.664 3318
+-100.658 25.664 3333
+-100.532 25.664 3199
+-100.406 25.664 3203
+-100.28 25.664 3262
+-100.154 25.664 3267
+-100.028 25.664 3221
+-99.902 25.664 3236
+-99.776 25.664 3241
+-99.65 25.664 3220
+-99.524 25.664 3224
+-99.398 25.664 3228
+-99.272 25.664 3233
+-99.146 25.664 3237
+-99.02 25.664 3240
+-98.894 25.664 3244
+-98.768 25.664 3176
+-98.642 25.664 3173
+-98.516 25.664 3176
+-98.39 25.664 3179
+-98.264 25.664 3163
+-98.138 25.664 3166
+-98.012 25.664 3119
+-97.886 25.664 3129
+-97.76 25.664 3129
+-97.634 25.664 3109
+-97.508 25.664 3115
+-97.382 25.664 2994
+-97.256 25.664 2993
+-97.13 25.664 2976
+-97.004 25.664 3010
+-96.878 25.664 2974
+-96.752 25.664 3048
+-96.626 25.664 3058
+-96.5 25.664 3065
+-96.374 25.664 3248
+-96.248 25.664 3294
+-96.122 25.664 3295
+-95.996 25.664 3436
+-95.87 25.664 3435
+-95.744 25.664 3433
+-95.618 25.664 3432
+-95.492 25.664 3431
+-95.366 25.664 3430
+-95.24 25.664 3429
+-95.114 25.664 3428
+-94.988 25.664 3427
+-94.862 25.664 3459
+-94.736 25.664 3458
+-94.61 25.664 3456
+-94.484 25.664 3454
+-94.358 25.664 3453
+-94.232 25.664 3451
+-94.106 25.664 3469
+-93.98 25.664 3467
+-93.854 25.664 3466
+-93.728 25.664 3465
+-93.602 25.664 3463
+-93.476 25.664 3462
+-93.35 25.664 3486
+-93.224 25.664 3501
+-93.098 25.664 3499
+-92.972 25.664 3498
+-92.846 25.664 3528
+-92.72 25.664 3527
+-92.594 25.664 3527
+-92.468 25.664 3527
+-92.342 25.664 3527
+-92.216 25.664 3527
+-92.09 25.664 3526
+-91.964 25.664 3526
+-91.838 25.664 3526
+-91.712 25.664 3526
+-91.586 25.664 3527
+-91.46 25.664 3527
+-91.334 25.664 3579
+-91.208 25.664 3580
+-91.082 25.664 3581
+-90.956 25.664 3582
+-90.83 25.664 3583
+-90.704 25.664 3585
+-90.578 25.664 3586
+-90.452 25.664 3645
+-90.326 25.664 3643
+-90.2 25.664 3715
+-90.074 25.664 3712
+-89.948 25.664 3709
+-89.822 25.664 3763
+-89.696 25.664 3757
+-89.57 25.664 3751
+-89.444 25.664 3751
+-89.318 25.664 3772
+-89.192 25.664 3898
+-89.066 25.664 3889
+-88.94 25.664 3879
+-88.814 25.664 3903
+-88.688 25.664 3898
+-88.562 25.664 3888
+-88.436 25.664 3873
+-88.31 25.664 3857
+-88.184 25.664 3843
+-88.058 25.664 3831
+-87.932 25.664 3853
+-87.806 25.664 3899
+-87.68 25.664 3928
+-87.554 25.664 3999
+-87.428 25.664 4079
+-87.302 25.664 4148
+-87.176 25.664 4208
+-87.05 25.664 4295
+-86.924 25.664 4351
+-86.798 25.664 4362
+-86.672 25.664 4367
+-86.546 25.664 4529
+-86.42 25.664 4667
+-86.294 25.664 4671
+-86.168 25.664 4849
+-86.042 25.664 4951
+-85.916 25.664 5111
+-85.79 25.664 5316
+-85.664 25.664 5442
+-85.538 25.664 5418
+-85.412 25.664 5585
+-85.286 25.664 5646
+-85.16 25.664 5756
+-85.034 25.664 5836
+-84.908 25.664 6019
+-84.782 25.664 6154
+-84.656 25.664 6233
+-84.53 25.664 6322
+-84.404 25.664 6454
+-84.278 25.664 6537
+-84.152 25.664 6599
+-84.026 25.664 6718
+-83.9 25.664 6845
+-83.774 25.664 6867
+-83.648 25.664 6994
+-83.522 25.664 7058
+-83.396 25.664 7121
+-83.27 25.664 7162
+-83.144 25.664 7255
+-83.018 25.664 7317
+-82.892 25.664 7362
+-82.766 25.664 7372
+-82.64 25.664 7450
+-82.514 25.664 7442
+-82.388 25.664 7462
+-82.262 25.664 7506
+-82.136 25.664 7465
+-82.01 25.664 7456
+-81.884 25.664 7453
+-81.758 25.664 7432
+-81.632 25.664 7401
+-81.506 25.664 7378
+-81.38 25.664 7326
+-81.254 25.664 7271
+-81.128 25.664 7197
+-81.002 25.664 7130
+-80.876 25.664 7087
+-80.75 25.664 7036
+-80.624 25.664 6917
+-80.498 25.664 6827
+-80.372 25.664 6708
+-80.246 25.664 6623
+-80.12 25.664 6577
+-79.994 25.664 6421
+-79.868 25.664 6315
+-79.742 25.664 6192
+-79.616 25.664 6035
+-79.49 25.664 5991
+-79.364 25.664 5888
+-79.238 25.664 5759
+-79.112 25.664 5645
+-78.986 25.664 5581
+-78.86 25.664 5526
+-78.734 25.664 5392
+-78.608 25.664 5242
+-78.482 25.664 5105
+-78.356 25.664 5057
+-78.23 25.664 5001
+-78.104 25.664 4906
+-77.978 25.664 4886
+-77.852 25.664 4815
+-77.726 25.664 4669
+-77.6 25.664 4488
+-77.474 25.664 4261
+-77.348 25.664 4048
+-77.222 25.664 3938
+-77.096 25.664 3943
+-76.97 25.664 3908
+-76.844 25.664 3762
+-76.718 25.664 3551
+-76.592 25.664 3445
+-76.466 25.664 3435
+-76.34 25.664 3521
+-76.214 25.664 3568
+-76.088 25.664 3625
+-75.962 25.664 3681
+-75.836 25.664 3691
+-75.71 25.664 3710
+-75.584 25.664 3619
+-75.458 25.664 3553
+-75.332 25.664 3537
+-75.206 25.664 3489
+-75.08 25.664 3424
+-74.954 25.664 3402
+-74.828 25.664 3276
+-74.702 25.664 3248
+-74.576 25.664 3207
+-74.45 25.664 3126
+-74.324 25.664 3105
+-74.198 25.664 3087
+-74.072 25.664 3072
+-73.946 25.664 2999
+-73.82 25.664 2942
+-73.694 25.664 2936
+-73.568 25.664 2934
+-73.442 25.664 2853
+-73.316 25.664 2856
+-73.19 25.664 2848
+-73.064 25.664 2822
+-72.938 25.664 2792
+-72.812 25.664 2798
+-72.686 25.664 2789
+-72.56 25.664 2796
+-72.434 25.664 2803
+-72.308 25.664 2811
+-72.182 25.664 2818
+-72.056 25.664 2826
+-71.93 25.664 2833
+-71.804 25.664 2840
+-71.678 25.664 2847
+-71.552 25.664 2854
+-71.426 25.664 2861
+-71.3 25.664 2867
+-71.174 25.664 2873
+-71.048 25.664 2879
+-70.922 25.664 2885
+-70.796 25.664 2890
+-70.67 25.664 2895
+-70.544 25.664 2900
+-70.418 25.664 2905
+-70.292 25.664 2910
+-70.166 25.664 2851
+-70.04 25.664 2856
+-69.914 25.664 2861
+-69.788 25.664 2866
+-69.662 25.664 2870
+-69.536 25.664 2874
+-69.41 25.664 2835
+-69.284 25.664 2840
+-69.158 25.664 2833
+-69.032 25.664 2831
+-68.906 25.664 2806
+-68.78 25.664 2810
+-68.654 25.664 2814
+-68.528 25.664 2818
+-68.402 25.664 2822
+-68.276 25.664 2825
+-68.15 25.664 2828
+-68.024 25.664 2832
+-67.898 25.664 2835
+-67.772 25.664 2838
+-67.646 25.664 2841
+-67.52 25.664 2844
+-67.394 25.664 2846
+-67.268 25.664 2849
+-67.142 25.664 2851
+-67.016 25.664 2854
+-66.89 25.664 2856
+-66.764 25.664 2859
+-66.638 25.664 2861
+-66.512 25.664 2863
+-66.386 25.664 2865
+-66.26 25.664 2867
+-66.134 25.664 2869
+-66.008 25.664 2871
+-65.882 25.664 2873
+-65.756 25.664 2875
+-65.63 25.664 2866
+-65.504 25.664 2868
+-65.378 25.664 2870
+-65.252 25.664 2872
+-65.126 25.664 2874
+-128 25.612 3511
+-127.874 25.612 3501
+-127.748 25.612 3536
+-127.622 25.612 3535
+-127.496 25.612 3578
+-127.37 25.612 3550
+-127.244 25.612 3549
+-127.118 25.612 3549
+-126.992 25.612 3587
+-126.866 25.612 3586
+-126.74 25.612 3347
+-126.614 25.612 3355
+-126.488 25.612 3375
+-126.362 25.612 3270
+-126.236 25.612 3266
+-126.11 25.612 3248
+-125.984 25.612 3317
+-125.858 25.612 3280
+-125.732 25.612 3276
+-125.606 25.612 3300
+-125.48 25.612 3195
+-125.354 25.612 3198
+-125.228 25.612 3226
+-125.102 25.612 3216
+-124.976 25.612 3210
+-124.85 25.612 3205
+-124.724 25.612 3117
+-124.598 25.612 3114
+-124.472 25.612 3032
+-124.346 25.612 3038
+-124.22 25.612 3037
+-124.094 25.612 3031
+-123.968 25.612 2992
+-123.842 25.612 2985
+-123.716 25.612 2977
+-123.59 25.612 2992
+-123.464 25.612 2969
+-123.338 25.612 2960
+-123.212 25.612 2911
+-123.086 25.612 2901
+-122.96 25.612 2942
+-122.834 25.612 2901
+-122.708 25.612 2879
+-122.582 25.612 2789
+-122.456 25.612 2809
+-122.33 25.612 2797
+-122.204 25.612 2784
+-122.078 25.612 2769
+-121.952 25.612 2755
+-121.826 25.612 2739
+-121.7 25.612 2675
+-121.574 25.612 2663
+-121.448 25.612 2646
+-121.322 25.612 2606
+-121.196 25.612 2577
+-121.07 25.612 2551
+-120.944 25.612 2531
+-120.818 25.612 2491
+-120.692 25.612 2470
+-120.566 25.612 2437
+-120.44 25.612 2411
+-120.314 25.612 2379
+-120.188 25.612 2358
+-120.062 25.612 2333
+-119.936 25.612 2314
+-119.81 25.612 2298
+-119.684 25.612 2285
+-119.558 25.612 2277
+-119.432 25.612 2273
+-119.306 25.612 2235
+-119.18 25.612 2243
+-119.054 25.612 2255
+-118.928 25.612 2259
+-118.802 25.612 2279
+-118.676 25.612 2280
+-118.55 25.612 2303
+-118.424 25.612 2325
+-118.298 25.612 2345
+-118.172 25.612 2362
+-118.046 25.612 2374
+-117.92 25.612 2382
+-117.794 25.612 2385
+-117.668 25.612 2383
+-117.542 25.612 2376
+-117.416 25.612 2347
+-117.29 25.612 2338
+-117.164 25.612 2329
+-117.038 25.612 2324
+-116.912 25.612 2327
+-116.786 25.612 2336
+-116.66 25.612 2353
+-116.534 25.612 2365
+-116.408 25.612 2391
+-116.282 25.612 2412
+-116.156 25.612 2439
+-116.03 25.612 2468
+-115.904 25.612 2493
+-115.778 25.612 2578
+-115.652 25.612 2628
+-115.526 25.612 2665
+-115.4 25.612 2681
+-115.274 25.612 2694
+-115.148 25.612 2719
+-115.022 25.612 2732
+-114.896 25.612 2779
+-114.77 25.612 2826
+-114.644 25.612 2829
+-114.518 25.612 2849
+-114.392 25.612 2850
+-114.266 25.612 2904
+-114.14 25.612 2913
+-114.014 25.612 2889
+-113.888 25.612 2895
+-113.762 25.612 2941
+-113.636 25.612 2932
+-113.51 25.612 2927
+-113.384 25.612 2921
+-113.258 25.612 2910
+-113.132 25.612 2909
+-113.006 25.612 2903
+-112.88 25.612 2896
+-112.754 25.612 2897
+-112.628 25.612 2907
+-112.502 25.612 2938
+-112.376 25.612 2972
+-112.25 25.612 3028
+-112.124 25.612 3080
+-111.998 25.612 3154
+-111.872 25.612 3189
+-111.746 25.612 3211
+-111.62 25.612 3208
+-111.494 25.612 3213
+-111.368 25.612 3218
+-111.242 25.612 3227
+-111.116 25.612 3249
+-110.99 25.612 3256
+-110.864 25.612 3228
+-110.738 25.612 3227
+-110.612 25.612 3251
+-110.486 25.612 3244
+-110.36 25.612 3233
+-110.234 25.612 3222
+-110.108 25.612 3223
+-109.982 25.612 3200
+-109.856 25.612 3173
+-109.73 25.612 3153
+-109.604 25.612 3119
+-109.478 25.612 3085
+-109.352 25.612 3047
+-109.226 25.612 3008
+-109.1 25.612 2964
+-108.974 25.612 2934
+-108.848 25.612 2943
+-108.722 25.612 2966
+-108.596 25.612 2982
+-108.47 25.612 3004
+-108.344 25.612 3029
+-108.218 25.612 3051
+-108.092 25.612 3070
+-107.966 25.612 3086
+-107.84 25.612 3066
+-107.714 25.612 3081
+-107.588 25.612 3085
+-107.462 25.612 3085
+-107.336 25.612 3076
+-107.21 25.612 3071
+-107.084 25.612 3065
+-106.958 25.612 3098
+-106.832 25.612 3071
+-106.706 25.612 2991
+-106.58 25.612 2972
+-106.454 25.612 2952
+-106.328 25.612 2947
+-106.202 25.612 2930
+-106.076 25.612 2916
+-105.95 25.612 2920
+-105.824 25.612 2914
+-105.698 25.612 2910
+-105.572 25.612 2881
+-105.446 25.612 2915
+-105.32 25.612 2920
+-105.194 25.612 2927
+-105.068 25.612 2936
+-104.942 25.612 2944
+-104.816 25.612 2952
+-104.69 25.612 2961
+-104.564 25.612 2984
+-104.438 25.612 2994
+-104.312 25.612 3003
+-104.186 25.612 3012
+-104.06 25.612 2977
+-103.934 25.612 3072
+-103.808 25.612 3078
+-103.682 25.612 3098
+-103.556 25.612 3108
+-103.43 25.612 3196
+-103.304 25.612 3205
+-103.178 25.612 3214
+-103.052 25.612 3249
+-102.926 25.612 3244
+-102.8 25.612 3253
+-102.674 25.612 3253
+-102.548 25.612 3270
+-102.422 25.612 3267
+-102.296 25.612 3288
+-102.17 25.612 3296
+-102.044 25.612 3296
+-101.918 25.612 3298
+-101.792 25.612 3305
+-101.666 25.612 3296
+-101.54 25.612 3337
+-101.414 25.612 3344
+-101.288 25.612 3323
+-101.162 25.612 3330
+-101.036 25.612 3370
+-100.91 25.612 3377
+-100.784 25.612 3345
+-100.658 25.612 3324
+-100.532 25.612 3339
+-100.406 25.612 3203
+-100.28 25.612 3208
+-100.154 25.612 3267
+-100.028 25.612 3272
+-99.902 25.612 3225
+-99.776 25.612 3240
+-99.65 25.612 3245
+-99.524 25.612 3223
+-99.398 25.612 3227
+-99.272 25.612 3232
+-99.146 25.612 3235
+-99.02 25.612 3239
+-98.894 25.612 3243
+-98.768 25.612 3247
+-98.642 25.612 3178
+-98.516 25.612 3175
+-98.39 25.612 3178
+-98.264 25.612 3181
+-98.138 25.612 3165
+-98.012 25.612 3117
+-97.886 25.612 3118
+-97.76 25.612 3128
+-97.634 25.612 3128
+-97.508 25.612 3008
+-97.382 25.612 2993
+-97.256 25.612 2992
+-97.13 25.612 2975
+-97.004 25.612 2933
+-96.878 25.612 2974
+-96.752 25.612 2997
+-96.626 25.612 3059
+-96.5 25.612 3065
+-96.374 25.612 3248
+-96.248 25.612 3294
+-96.122 25.612 3295
+-95.996 25.612 3435
+-95.87 25.612 3434
+-95.744 25.612 3433
+-95.618 25.612 3431
+-95.492 25.612 3430
+-95.366 25.612 3429
+-95.24 25.612 3428
+-95.114 25.612 3427
+-94.988 25.612 3460
+-94.862 25.612 3458
+-94.736 25.612 3456
+-94.61 25.612 3455
+-94.484 25.612 3453
+-94.358 25.612 3451
+-94.232 25.612 3469
+-94.106 25.612 3468
+-93.98 25.612 3466
+-93.854 25.612 3465
+-93.728 25.612 3463
+-93.602 25.612 3462
+-93.476 25.612 3487
+-93.35 25.612 3501
+-93.224 25.612 3500
+-93.098 25.612 3498
+-92.972 25.612 3527
+-92.846 25.612 3527
+-92.72 25.612 3526
+-92.594 25.612 3526
+-92.468 25.612 3526
+-92.342 25.612 3526
+-92.216 25.612 3525
+-92.09 25.612 3525
+-91.964 25.612 3525
+-91.838 25.612 3525
+-91.712 25.612 3525
+-91.586 25.612 3525
+-91.46 25.612 3578
+-91.334 25.612 3578
+-91.208 25.612 3579
+-91.082 25.612 3579
+-90.956 25.612 3580
+-90.83 25.612 3581
+-90.704 25.612 3581
+-90.578 25.612 3638
+-90.452 25.612 3636
+-90.326 25.612 3634
+-90.2 25.612 3632
+-90.074 25.612 3702
+-89.948 25.612 3720
+-89.822 25.612 3715
+-89.696 25.612 3710
+-89.57 25.612 3732
+-89.444 25.612 3763
+-89.318 25.612 3755
+-89.192 25.612 3847
+-89.066 25.612 3839
+-88.94 25.612 3846
+-88.814 25.612 3861
+-88.688 25.612 3881
+-88.562 25.612 3866
+-88.436 25.612 3849
+-88.31 25.612 3833
+-88.184 25.612 3818
+-88.058 25.612 3835
+-87.932 25.612 3850
+-87.806 25.612 3863
+-87.68 25.612 3906
+-87.554 25.612 3980
+-87.428 25.612 4044
+-87.302 25.612 4126
+-87.176 25.612 4187
+-87.05 25.612 4234
+-86.924 25.612 4304
+-86.798 25.612 4316
+-86.672 25.612 4254
+-86.546 25.612 4444
+-86.42 25.612 4593
+-86.294 25.612 4691
+-86.168 25.612 4832
+-86.042 25.612 4967
+-85.916 25.612 5146
+-85.79 25.612 5330
+-85.664 25.612 5446
+-85.538 25.612 5506
+-85.412 25.612 5525
+-85.286 25.612 5633
+-85.16 25.612 5726
+-85.034 25.612 5787
+-84.908 25.612 5932
+-84.782 25.612 6139
+-84.656 25.612 6196
+-84.53 25.612 6229
+-84.404 25.612 6387
+-84.278 25.612 6498
+-84.152 25.612 6568
+-84.026 25.612 6666
+-83.9 25.612 6802
+-83.774 25.612 6902
+-83.648 25.612 6953
+-83.522 25.612 7014
+-83.396 25.612 7051
+-83.27 25.612 7153
+-83.144 25.612 7203
+-83.018 25.612 7287
+-82.892 25.612 7297
+-82.766 25.612 7346
+-82.64 25.612 7373
+-82.514 25.612 7372
+-82.388 25.612 7435
+-82.262 25.612 7418
+-82.136 25.612 7411
+-82.01 25.612 7429
+-81.884 25.612 7369
+-81.758 25.612 7392
+-81.632 25.612 7352
+-81.506 25.612 7333
+-81.38 25.612 7276
+-81.254 25.612 7212
+-81.128 25.612 7139
+-81.002 25.612 7084
+-80.876 25.612 7036
+-80.75 25.612 6947
+-80.624 25.612 6877
+-80.498 25.612 6740
+-80.372 25.612 6647
+-80.246 25.612 6598
+-80.12 25.612 6489
+-79.994 25.612 6366
+-79.868 25.612 6240
+-79.742 25.612 6175
+-79.616 25.612 6007
+-79.49 25.612 5943
+-79.364 25.612 5858
+-79.238 25.612 5747
+-79.112 25.612 5649
+-78.986 25.612 5516
+-78.86 25.612 5466
+-78.734 25.612 5327
+-78.608 25.612 5173
+-78.482 25.612 4994
+-78.356 25.612 5007
+-78.23 25.612 4911
+-78.104 25.612 4892
+-77.978 25.612 4861
+-77.852 25.612 4822
+-77.726 25.612 4643
+-77.6 25.612 4506
+-77.474 25.612 4313
+-77.348 25.612 4135
+-77.222 25.612 4028
+-77.096 25.612 3957
+-76.97 25.612 3810
+-76.844 25.612 3570
+-76.718 25.612 3306
+-76.592 25.612 3171
+-76.466 25.612 3247
+-76.34 25.612 3357
+-76.214 25.612 3476
+-76.088 25.612 3566
+-75.962 25.612 3627
+-75.836 25.612 3634
+-75.71 25.612 3635
+-75.584 25.612 3640
+-75.458 25.612 3531
+-75.332 25.612 3456
+-75.206 25.612 3410
+-75.08 25.612 3380
+-74.954 25.612 3348
+-74.828 25.612 3322
+-74.702 25.612 3193
+-74.576 25.612 3163
+-74.45 25.612 3077
+-74.324 25.612 3041
+-74.198 25.612 3022
+-74.072 25.612 2947
+-73.946 25.612 2928
+-73.82 25.612 2921
+-73.694 25.612 2881
+-73.568 25.612 2880
+-73.442 25.612 2883
+-73.316 25.612 2808
+-73.19 25.612 2816
+-73.064 25.612 2813
+-72.938 25.612 2790
+-72.812 25.612 2764
+-72.686 25.612 2774
+-72.56 25.612 2767
+-72.434 25.612 2777
+-72.308 25.612 2786
+-72.182 25.612 2796
+-72.056 25.612 2805
+-71.93 25.612 2814
+-71.804 25.612 2823
+-71.678 25.612 2831
+-71.552 25.612 2839
+-71.426 25.612 2846
+-71.3 25.612 2854
+-71.174 25.612 2861
+-71.048 25.612 2867
+-70.922 25.612 2874
+-70.796 25.612 2880
+-70.67 25.612 2886
+-70.544 25.612 2891
+-70.418 25.612 2897
+-70.292 25.612 2902
+-70.166 25.612 2906
+-70.04 25.612 2849
+-69.914 25.612 2854
+-69.788 25.612 2859
+-69.662 25.612 2863
+-69.536 25.612 2868
+-69.41 25.612 2872
+-69.284 25.612 2832
+-69.158 25.612 2838
+-69.032 25.612 2831
+-68.906 25.612 2830
+-68.78 25.612 2805
+-68.654 25.612 2809
+-68.528 25.612 2813
+-68.402 25.612 2816
+-68.276 25.612 2820
+-68.15 25.612 2824
+-68.024 25.612 2827
+-67.898 25.612 2830
+-67.772 25.612 2833
+-67.646 25.612 2836
+-67.52 25.612 2839
+-67.394 25.612 2842
+-67.268 25.612 2845
+-67.142 25.612 2848
+-67.016 25.612 2850
+-66.89 25.612 2853
+-66.764 25.612 2855
+-66.638 25.612 2858
+-66.512 25.612 2860
+-66.386 25.612 2862
+-66.26 25.612 2864
+-66.134 25.612 2866
+-66.008 25.612 2868
+-65.882 25.612 2870
+-65.756 25.612 2872
+-65.63 25.612 2874
+-65.504 25.612 2865
+-65.378 25.612 2867
+-65.252 25.612 2869
+-65.126 25.612 2871
+-128 25.56 3502
+-127.874 25.56 3537
+-127.748 25.56 3536
+-127.622 25.56 3579
+-127.496 25.56 3551
+-127.37 25.56 3550
+-127.244 25.56 3550
+-127.118 25.56 3588
+-126.992 25.56 3587
+-126.866 25.56 3346
+-126.74 25.56 3354
+-126.614 25.56 3374
+-126.488 25.56 3269
+-126.362 25.56 3265
+-126.236 25.56 3247
+-126.11 25.56 3316
+-125.984 25.56 3279
+-125.858 25.56 3275
+-125.732 25.56 3298
+-125.606 25.56 3193
+-125.48 25.56 3197
+-125.354 25.56 3225
+-125.228 25.56 3215
+-125.102 25.56 3210
+-124.976 25.56 3204
+-124.85 25.56 3115
+-124.724 25.56 3112
+-124.598 25.56 3031
+-124.472 25.56 3036
+-124.346 25.56 3036
+-124.22 25.56 3029
+-124.094 25.56 2990
+-123.968 25.56 2983
+-123.842 25.56 2976
+-123.716 25.56 2991
+-123.59 25.56 2967
+-123.464 25.56 2958
+-123.338 25.56 2909
+-123.212 25.56 2900
+-123.086 25.56 2941
+-122.96 25.56 2900
+-122.834 25.56 2878
+-122.708 25.56 2787
+-122.582 25.56 2807
+-122.456 25.56 2795
+-122.33 25.56 2781
+-122.204 25.56 2767
+-122.078 25.56 2751
+-121.952 25.56 2735
+-121.826 25.56 2670
+-121.7 25.56 2658
+-121.574 25.56 2640
+-121.448 25.56 2598
+-121.322 25.56 2568
+-121.196 25.56 2540
+-121.07 25.56 2518
+-120.944 25.56 2476
+-120.818 25.56 2452
+-120.692 25.56 2415
+-120.566 25.56 2385
+-120.44 25.56 2347
+-120.314 25.56 2320
+-120.188 25.56 2288
+-120.062 25.56 2260
+-119.936 25.56 2235
+-119.81 25.56 2212
+-119.684 25.56 2193
+-119.558 25.56 2179
+-119.432 25.56 2133
+-119.306 25.56 2134
+-119.18 25.56 2141
+-119.054 25.56 2144
+-118.928 25.56 2165
+-118.802 25.56 2170
+-118.676 25.56 2201
+-118.55 25.56 2232
+-118.424 25.56 2263
+-118.298 25.56 2291
+-118.172 25.56 2316
+-118.046 25.56 2337
+-117.92 25.56 2353
+-117.794 25.56 2364
+-117.668 25.56 2369
+-117.542 25.56 2350
+-117.416 25.56 2350
+-117.29 25.56 2349
+-117.164 25.56 2347
+-117.038 25.56 2349
+-116.912 25.56 2354
+-116.786 25.56 2364
+-116.66 25.56 2368
+-116.534 25.56 2387
+-116.408 25.56 2401
+-116.282 25.56 2424
+-116.156 25.56 2450
+-116.03 25.56 2458
+-115.904 25.56 2486
+-115.778 25.56 2518
+-115.652 25.56 2622
+-115.526 25.56 2659
+-115.4 25.56 2674
+-115.274 25.56 2712
+-115.148 25.56 2726
+-115.022 25.56 2739
+-114.896 25.56 2751
+-114.77 25.56 2788
+-114.644 25.56 2819
+-114.518 25.56 2846
+-114.392 25.56 2890
+-114.266 25.56 2900
+-114.14 25.56 2886
+-114.014 25.56 2894
+-113.888 25.56 2899
+-113.762 25.56 2918
+-113.636 25.56 2942
+-113.51 25.56 2939
+-113.384 25.56 2949
+-113.258 25.56 2933
+-113.132 25.56 2929
+-113.006 25.56 2923
+-112.88 25.56 2924
+-112.754 25.56 2929
+-112.628 25.56 2934
+-112.502 25.56 2970
+-112.376 25.56 2991
+-112.25 25.56 3020
+-112.124 25.56 3065
+-111.998 25.56 3096
+-111.872 25.56 3144
+-111.746 25.56 3160
+-111.62 25.56 3153
+-111.494 25.56 3199
+-111.368 25.56 3209
+-111.242 25.56 3216
+-111.116 25.56 3221
+-110.99 25.56 3207
+-110.864 25.56 3205
+-110.738 25.56 3200
+-110.612 25.56 3204
+-110.486 25.56 3212
+-110.36 25.56 3199
+-110.234 25.56 3184
+-110.108 25.56 3169
+-109.982 25.56 3165
+-109.856 25.56 3138
+-109.73 25.56 3108
+-109.604 25.56 3061
+-109.478 25.56 3021
+-109.352 25.56 2969
+-109.226 25.56 2901
+-109.1 25.56 2831
+-108.974 25.56 2798
+-108.848 25.56 2810
+-108.722 25.56 2840
+-108.596 25.56 2868
+-108.47 25.56 2935
+-108.344 25.56 2961
+-108.218 25.56 2989
+-108.092 25.56 3014
+-107.966 25.56 3036
+-107.84 25.56 3055
+-107.714 25.56 3037
+-107.588 25.56 3054
+-107.462 25.56 3060
+-107.336 25.56 3061
+-107.21 25.56 3054
+-107.084 25.56 3051
+-106.958 25.56 3047
+-106.832 25.56 3084
+-106.706 25.56 3061
+-106.58 25.56 2983
+-106.454 25.56 2968
+-106.328 25.56 2953
+-106.202 25.56 2953
+-106.076 25.56 2941
+-105.95 25.56 2932
+-105.824 25.56 2941
+-105.698 25.56 2937
+-105.572 25.56 2936
+-105.446 25.56 2906
+-105.32 25.56 2943
+-105.194 25.56 2948
+-105.068 25.56 2954
+-104.942 25.56 2961
+-104.816 25.56 2968
+-104.69 25.56 2974
+-104.564 25.56 2982
+-104.438 25.56 3004
+-104.312 25.56 3012
+-104.186 25.56 3020
+-104.06 25.56 3029
+-103.934 25.56 2991
+-103.808 25.56 3088
+-103.682 25.56 3092
+-103.556 25.56 3113
+-103.43 25.56 3121
+-103.304 25.56 3212
+-103.178 25.56 3220
+-103.052 25.56 3228
+-102.926 25.56 3263
+-102.8 25.56 3258
+-102.674 25.56 3266
+-102.548 25.56 3265
+-102.422 25.56 3282
+-102.296 25.56 3277
+-102.17 25.56 3299
+-102.044 25.56 3306
+-101.918 25.56 3306
+-101.792 25.56 3307
+-101.666 25.56 3313
+-101.54 25.56 3304
+-101.414 25.56 3345
+-101.288 25.56 3352
+-101.162 25.56 3330
+-101.036 25.56 3337
+-100.91 25.56 3377
+-100.784 25.56 3384
+-100.658 25.56 3351
+-100.532 25.56 3329
+-100.406 25.56 3345
+-100.28 25.56 3207
+-100.154 25.56 3212
+-100.028 25.56 3271
+-99.902 25.56 3276
+-99.776 25.56 3229
+-99.65 25.56 3244
+-99.524 25.56 3249
+-99.398 25.56 3227
+-99.272 25.56 3231
+-99.146 25.56 3235
+-99.02 25.56 3238
+-98.894 25.56 3242
+-98.768 25.56 3246
+-98.642 25.56 3249
+-98.516 25.56 3181
+-98.39 25.56 3177
+-98.264 25.56 3180
+-98.138 25.56 3088
+-98.012 25.56 3057
+-97.886 25.56 3116
+-97.76 25.56 3116
+-97.634 25.56 3126
+-97.508 25.56 3007
+-97.382 25.56 3011
+-97.256 25.56 2975
+-97.13 25.56 2974
+-97.004 25.56 2933
+-96.878 25.56 2974
+-96.752 25.56 2997
+-96.626 25.56 3059
+-96.5 25.56 3066
+-96.374 25.56 3247
+-96.248 25.56 3293
+-96.122 25.56 3294
+-95.996 25.56 3434
+-95.87 25.56 3433
+-95.744 25.56 3432
+-95.618 25.56 3430
+-95.492 25.56 3429
+-95.366 25.56 3428
+-95.24 25.56 3427
+-95.114 25.56 3460
+-94.988 25.56 3458
+-94.862 25.56 3457
+-94.736 25.56 3455
+-94.61 25.56 3453
+-94.484 25.56 3451
+-94.358 25.56 3470
+-94.232 25.56 3468
+-94.106 25.56 3467
+-93.98 25.56 3465
+-93.854 25.56 3464
+-93.728 25.56 3462
+-93.602 25.56 3487
+-93.476 25.56 3502
+-93.35 25.56 3500
+-93.224 25.56 3498
+-93.098 25.56 3527
+-92.972 25.56 3526
+-92.846 25.56 3526
+-92.72 25.56 3525
+-92.594 25.56 3525
+-92.468 25.56 3525
+-92.342 25.56 3524
+-92.216 25.56 3524
+-92.09 25.56 3523
+-91.964 25.56 3523
+-91.838 25.56 3523
+-91.712 25.56 3522
+-91.586 25.56 3576
+-91.46 25.56 3576
+-91.334 25.56 3576
+-91.208 25.56 3577
+-91.082 25.56 3577
+-90.956 25.56 3577
+-90.83 25.56 3578
+-90.704 25.56 3633
+-90.578 25.56 3630
+-90.452 25.56 3628
+-90.326 25.56 3626
+-90.2 25.56 3697
+-90.074 25.56 3713
+-89.948 25.56 3707
+-89.822 25.56 3702
+-89.696 25.56 3724
+-89.57 25.56 3716
+-89.444 25.56 3718
+-89.318 25.56 3839
+-89.192 25.56 3830
+-89.066 25.56 3837
+-88.94 25.56 3812
+-88.814 25.56 3828
+-88.688 25.56 3822
+-88.562 25.56 3838
+-88.436 25.56 3818
+-88.31 25.56 3797
+-88.184 25.56 3802
+-88.058 25.56 3791
+-87.932 25.56 3779
+-87.806 25.56 3784
+-87.68 25.56 3815
+-87.554 25.56 3891
+-87.428 25.56 3982
+-87.302 25.56 4085
+-87.176 25.56 4136
+-87.05 25.56 4167
+-86.924 25.56 4210
+-86.798 25.56 4274
+-86.672 25.56 4341
+-86.546 25.56 4476
+-86.42 25.56 4511
+-86.294 25.56 4633
+-86.168 25.56 4800
+-86.042 25.56 4988
+-85.916 25.56 5154
+-85.79 25.56 5309
+-85.664 25.56 5426
+-85.538 25.56 5509
+-85.412 25.56 5568
+-85.286 25.56 5642
+-85.16 25.56 5714
+-85.034 25.56 5775
+-84.908 25.56 5901
+-84.782 25.56 6077
+-84.656 25.56 6179
+-84.53 25.56 6272
+-84.404 25.56 6357
+-84.278 25.56 6451
+-84.152 25.56 6564
+-84.026 25.56 6638
+-83.9 25.56 6749
+-83.774 25.56 6868
+-83.648 25.56 6920
+-83.522 25.56 6972
+-83.396 25.56 7022
+-83.27 25.56 7090
+-83.144 25.56 7144
+-83.018 25.56 7231
+-82.892 25.56 7247
+-82.766 25.56 7281
+-82.64 25.56 7323
+-82.514 25.56 7343
+-82.388 25.56 7360
+-82.262 25.56 7348
+-82.136 25.56 7365
+-82.01 25.56 7375
+-81.884 25.56 7353
+-81.758 25.56 7335
+-81.632 25.56 7319
+-81.506 25.56 7249
+-81.38 25.56 7175
+-81.254 25.56 7158
+-81.128 25.56 7083
+-81.002 25.56 7012
+-80.876 25.56 6971
+-80.75 25.56 6849
+-80.624 25.56 6819
+-80.498 25.56 6695
+-80.372 25.56 6632
+-80.246 25.56 6552
+-80.12 25.56 6460
+-79.994 25.56 6333
+-79.868 25.56 6235
+-79.742 25.56 6135
+-79.616 25.56 5992
+-79.49 25.56 5904
+-79.364 25.56 5848
+-79.238 25.56 5722
+-79.112 25.56 5580
+-78.986 25.56 5530
+-78.86 25.56 5412
+-78.734 25.56 5247
+-78.608 25.56 5217
+-78.482 25.56 5086
+-78.356 25.56 4952
+-78.23 25.56 4750
+-78.104 25.56 4861
+-77.978 25.56 4862
+-77.852 25.56 4794
+-77.726 25.56 4652
+-77.6 25.56 4491
+-77.474 25.56 4311
+-77.348 25.56 4176
+-77.222 25.56 4005
+-77.096 25.56 3890
+-76.97 25.56 3716
+-76.844 25.56 3482
+-76.718 25.56 3186
+-76.592 25.56 3041
+-76.466 25.56 3152
+-76.34 25.56 3317
+-76.214 25.56 3431
+-76.088 25.56 3517
+-75.962 25.56 3567
+-75.836 25.56 3573
+-75.71 25.56 3588
+-75.584 25.56 3563
+-75.458 25.56 3510
+-75.332 25.56 3446
+-75.206 25.56 3366
+-75.08 25.56 3331
+-74.954 25.56 3294
+-74.828 25.56 3153
+-74.702 25.56 3141
+-74.576 25.56 3053
+-74.45 25.56 3022
+-74.324 25.56 2979
+-74.198 25.56 2889
+-74.072 25.56 2866
+-73.946 25.56 2857
+-73.82 25.56 2853
+-73.694 25.56 2853
+-73.568 25.56 2821
+-73.442 25.56 2827
+-73.316 25.56 2836
+-73.19 25.56 2767
+-73.064 25.56 2780
+-72.938 25.56 2756
+-72.812 25.56 2763
+-72.686 25.56 2741
+-72.56 25.56 2753
+-72.434 25.56 2721
+-72.308 25.56 2732
+-72.182 25.56 2743
+-72.056 25.56 2784
+-71.93 25.56 2794
+-71.804 25.56 2804
+-71.678 25.56 2814
+-71.552 25.56 2823
+-71.426 25.56 2832
+-71.3 25.56 2840
+-71.174 25.56 2848
+-71.048 25.56 2856
+-70.922 25.56 2863
+-70.796 25.56 2870
+-70.67 25.56 2876
+-70.544 25.56 2882
+-70.418 25.56 2888
+-70.292 25.56 2894
+-70.166 25.56 2899
+-70.04 25.56 2904
+-69.914 25.56 2846
+-69.788 25.56 2852
+-69.662 25.56 2857
+-69.536 25.56 2861
+-69.41 25.56 2866
+-69.284 25.56 2870
+-69.158 25.56 2831
+-69.032 25.56 2836
+-68.906 25.56 2830
+-68.78 25.56 2828
+-68.654 25.56 2803
+-68.528 25.56 2807
+-68.402 25.56 2811
+-68.276 25.56 2815
+-68.15 25.56 2819
+-68.024 25.56 2822
+-67.898 25.56 2826
+-67.772 25.56 2829
+-67.646 25.56 2832
+-67.52 25.56 2835
+-67.394 25.56 2838
+-67.268 25.56 2841
+-67.142 25.56 2844
+-67.016 25.56 2847
+-66.89 25.56 2849
+-66.764 25.56 2852
+-66.638 25.56 2854
+-66.512 25.56 2857
+-66.386 25.56 2859
+-66.26 25.56 2861
+-66.134 25.56 2863
+-66.008 25.56 2865
+-65.882 25.56 2867
+-65.756 25.56 2869
+-65.63 25.56 2871
+-65.504 25.56 2873
+-65.378 25.56 2864
+-65.252 25.56 2866
+-65.126 25.56 2868
+-128 25.508 3538
+-127.874 25.508 3537
+-127.748 25.508 3580
+-127.622 25.508 3552
+-127.496 25.508 3551
+-127.37 25.508 3551
+-127.244 25.508 3589
+-127.118 25.508 3589
+-126.992 25.508 3345
+-126.866 25.508 3353
+-126.74 25.508 3373
+-126.614 25.508 3268
+-126.488 25.508 3264
+-126.362 25.508 3246
+-126.236 25.508 3315
+-126.11 25.508 3278
+-125.984 25.508 3274
+-125.858 25.508 3298
+-125.732 25.508 3192
+-125.606 25.508 3196
+-125.48 25.508 3224
+-125.354 25.508 3215
+-125.228 25.508 3209
+-125.102 25.508 3203
+-124.976 25.508 3114
+-124.85 25.508 3111
+-124.724 25.508 3030
+-124.598 25.508 3035
+-124.472 25.508 3035
+-124.346 25.508 3028
+-124.22 25.508 2989
+-124.094 25.508 2982
+-123.968 25.508 2975
+-123.842 25.508 2990
+-123.716 25.508 2966
+-123.59 25.508 2958
+-123.464 25.508 2908
+-123.338 25.508 2899
+-123.212 25.508 2941
+-123.086 25.508 2900
+-122.96 25.508 2877
+-122.834 25.508 2785
+-122.708 25.508 2806
+-122.582 25.508 2793
+-122.456 25.508 2780
+-122.33 25.508 2765
+-122.204 25.508 2750
+-122.078 25.508 2733
+-121.952 25.508 2668
+-121.826 25.508 2655
+-121.7 25.508 2636
+-121.574 25.508 2594
+-121.448 25.508 2563
+-121.322 25.508 2533
+-121.196 25.508 2510
+-121.07 25.508 2465
+-120.944 25.508 2439
+-120.818 25.508 2399
+-120.692 25.508 2365
+-120.566 25.508 2322
+-120.44 25.508 2289
+-120.314 25.508 2251
+-120.188 25.508 2214
+-120.062 25.508 2179
+-119.936 25.508 2145
+-119.81 25.508 2113
+-119.684 25.508 2085
+-119.558 25.508 2028
+-119.432 25.508 2016
+-119.306 25.508 2013
+-119.18 25.508 2008
+-119.054 25.508 2026
+-118.928 25.508 2032
+-118.802 25.508 2067
+-118.676 25.508 2107
+-118.55 25.508 2149
+-118.424 25.508 2191
+-118.298 25.508 2229
+-118.172 25.508 2264
+-118.046 25.508 2294
+-117.92 25.508 2319
+-117.794 25.508 2337
+-117.668 25.508 2330
+-117.542 25.508 2340
+-117.416 25.508 2347
+-117.29 25.508 2353
+-117.164 25.508 2358
+-117.038 25.508 2365
+-116.912 25.508 2373
+-116.786 25.508 2372
+-116.66 25.508 2387
+-116.534 25.508 2395
+-116.408 25.508 2414
+-116.282 25.508 2436
+-116.156 25.508 2443
+-116.03 25.508 2469
+-115.904 25.508 2490
+-115.778 25.508 2509
+-115.652 25.508 2617
+-115.526 25.508 2667
+-115.4 25.508 2704
+-115.274 25.508 2719
+-115.148 25.508 2732
+-115.022 25.508 2733
+-114.896 25.508 2747
+-114.77 25.508 2787
+-114.644 25.508 2820
+-114.518 25.508 2886
+-114.392 25.508 2897
+-114.266 25.508 2871
+-114.14 25.508 2890
+-114.014 25.508 2860
+-113.888 25.508 2884
+-113.762 25.508 2889
+-113.636 25.508 2894
+-113.51 25.508 2932
+-113.384 25.508 2903
+-113.258 25.508 2928
+-113.132 25.508 2941
+-113.006 25.508 2942
+-112.88 25.508 2945
+-112.754 25.508 2946
+-112.628 25.508 2956
+-112.502 25.508 2987
+-112.376 25.508 3005
+-112.25 25.508 3016
+-112.124 25.508 3037
+-111.998 25.508 3084
+-111.872 25.508 3130
+-111.746 25.508 3122
+-111.62 25.508 3127
+-111.494 25.508 3137
+-111.368 25.508 3144
+-111.242 25.508 3147
+-111.116 25.508 3132
+-110.99 25.508 3128
+-110.864 25.508 3136
+-110.738 25.508 3128
+-110.612 25.508 3119
+-110.486 25.508 3109
+-110.36 25.508 3114
+-110.234 25.508 3101
+-110.108 25.508 3086
+-109.982 25.508 3085
+-109.856 25.508 3063
+-109.73 25.508 3034
+-109.604 25.508 3005
+-109.478 25.508 2957
+-109.352 25.508 2890
+-109.226 25.508 2808
+-109.1 25.508 2719
+-108.974 25.508 2679
+-108.848 25.508 2706
+-108.722 25.508 2762
+-108.596 25.508 2808
+-108.47 25.508 2832
+-108.344 25.508 2884
+-108.218 25.508 2924
+-108.092 25.508 2955
+-107.966 25.508 2984
+-107.84 25.508 3009
+-107.714 25.508 3031
+-107.588 25.508 3015
+-107.462 25.508 3034
+-107.336 25.508 3041
+-107.21 25.508 3043
+-107.084 25.508 3038
+-106.958 25.508 3037
+-106.832 25.508 3035
+-106.706 25.508 3075
+-106.58 25.508 3055
+-106.454 25.508 2979
+-106.328 25.508 2967
+-106.202 25.508 2957
+-106.076 25.508 2961
+-105.95 25.508 2953
+-105.824 25.508 2947
+-105.698 25.508 2960
+-105.572 25.508 2958
+-105.446 25.508 2959
+-105.32 25.508 2927
+-105.194 25.508 2966
+-105.068 25.508 2970
+-104.942 25.508 2976
+-104.816 25.508 2982
+-104.69 25.508 2988
+-104.564 25.508 2993
+-104.438 25.508 3000
+-104.312 25.508 3021
+-104.186 25.508 3028
+-104.06 25.508 3036
+-103.934 25.508 3043
+-103.808 25.508 3003
+-103.682 25.508 3103
+-103.556 25.508 3106
+-103.43 25.508 3126
+-103.304 25.508 3134
+-103.178 25.508 3226
+-103.052 25.508 3234
+-102.926 25.508 3241
+-102.8 25.508 3276
+-102.674 25.508 3269
+-102.548 25.508 3277
+-102.422 25.508 3276
+-102.296 25.508 3293
+-102.17 25.508 3288
+-102.044 25.508 3309
+-101.918 25.508 3316
+-101.792 25.508 3315
+-101.666 25.508 3315
+-101.54 25.508 3322
+-101.414 25.508 3312
+-101.288 25.508 3353
+-101.162 25.508 3360
+-101.036 25.508 3337
+-100.91 25.508 3343
+-100.784 25.508 3384
+-100.658 25.508 3391
+-100.532 25.508 3357
+-100.406 25.508 3335
+-100.28 25.508 3350
+-100.154 25.508 3212
+-100.028 25.508 3216
+-99.902 25.508 3276
+-99.776 25.508 3280
+-99.65 25.508 3233
+-99.524 25.508 3248
+-99.398 25.508 3253
+-99.272 25.508 3230
+-99.146 25.508 3234
+-99.02 25.508 3237
+-98.894 25.508 3241
+-98.768 25.508 3245
+-98.642 25.508 3248
+-98.516 25.508 3251
+-98.39 25.508 3183
+-98.264 25.508 3179
+-98.138 25.508 3087
+-98.012 25.508 3087
+-97.886 25.508 3056
+-97.76 25.508 3115
+-97.634 25.508 3115
+-97.508 25.508 3006
+-97.382 25.508 3010
+-97.256 25.508 2974
+-97.13 25.508 2973
+-97.004 25.508 2933
+-96.878 25.508 2974
+-96.752 25.508 2997
+-96.626 25.508 3059
+-96.5 25.508 3066
+-96.374 25.508 3247
+-96.248 25.508 3293
+-96.122 25.508 3294
+-95.996 25.508 3433
+-95.87 25.508 3432
+-95.744 25.508 3431
+-95.618 25.508 3430
+-95.492 25.508 3428
+-95.366 25.508 3427
+-95.24 25.508 3460
+-95.114 25.508 3458
+-94.988 25.508 3457
+-94.862 25.508 3455
+-94.736 25.508 3453
+-94.61 25.508 3452
+-94.484 25.508 3470
+-94.358 25.508 3468
+-94.232 25.508 3467
+-94.106 25.508 3465
+-93.98 25.508 3464
+-93.854 25.508 3462
+-93.728 25.508 3488
+-93.602 25.508 3502
+-93.476 25.508 3500
+-93.35 25.508 3499
+-93.224 25.508 3526
+-93.098 25.508 3526
+-92.972 25.508 3525
+-92.846 25.508 3525
+-92.72 25.508 3524
+-92.594 25.508 3524
+-92.468 25.508 3523
+-92.342 25.508 3523
+-92.216 25.508 3522
+-92.09 25.508 3522
+-91.964 25.508 3521
+-91.838 25.508 3521
+-91.712 25.508 3574
+-91.586 25.508 3574
+-91.46 25.508 3574
+-91.334 25.508 3574
+-91.208 25.508 3574
+-91.082 25.508 3574
+-90.956 25.508 3574
+-90.83 25.508 3628
+-90.704 25.508 3625
+-90.578 25.508 3623
+-90.452 25.508 3620
+-90.326 25.508 3660
+-90.2 25.508 3707
+-90.074 25.508 3701
+-89.948 25.508 3695
+-89.822 25.508 3677
+-89.696 25.508 3709
+-89.57 25.508 3710
+-89.444 25.508 3833
+-89.318 25.508 3823
+-89.192 25.508 3829
+-89.066 25.508 3804
+-88.94 25.508 3790
+-88.814 25.508 3776
+-88.688 25.508 3767
+-88.562 25.508 3766
+-88.436 25.508 3782
+-88.31 25.508 3763
+-88.184 25.508 3752
+-88.058 25.508 3713
+-87.932 25.508 3675
+-87.806 25.508 3654
+-87.68 25.508 3677
+-87.554 25.508 3762
+-87.428 25.508 3873
+-87.302 25.508 3982
+-87.176 25.508 4066
+-87.05 25.508 4060
+-86.924 25.508 4043
+-86.798 25.508 4166
+-86.672 25.508 4350
+-86.546 25.508 4489
+-86.42 25.508 4560
+-86.294 25.508 4642
+-86.168 25.508 4844
+-86.042 25.508 4993
+-85.916 25.508 5143
+-85.79 25.508 5285
+-85.664 25.508 5402
+-85.538 25.508 5506
+-85.412 25.508 5574
+-85.286 25.508 5646
+-85.16 25.508 5674
+-85.034 25.508 5733
+-84.908 25.508 5837
+-84.782 25.508 6004
+-84.656 25.508 6111
+-84.53 25.508 6233
+-84.404 25.508 6303
+-84.278 25.508 6377
+-84.152 25.508 6505
+-84.026 25.508 6633
+-83.9 25.508 6697
+-83.774 25.508 6809
+-83.648 25.508 6874
+-83.522 25.508 6930
+-83.396 25.508 6968
+-83.27 25.508 7010
+-83.144 25.508 7084
+-83.018 25.508 7134
+-82.892 25.508 7192
+-82.766 25.508 7238
+-82.64 25.508 7260
+-82.514 25.508 7287
+-82.388 25.508 7284
+-82.262 25.508 7310
+-82.136 25.508 7303
+-82.01 25.508 7315
+-81.884 25.508 7308
+-81.758 25.508 7287
+-81.632 25.508 7252
+-81.506 25.508 7210
+-81.38 25.508 7152
+-81.254 25.508 7111
+-81.128 25.508 7031
+-81.002 25.508 6996
+-80.876 25.508 6942
+-80.75 25.508 6838
+-80.624 25.508 6772
+-80.498 25.508 6684
+-80.372 25.508 6581
+-80.246 25.508 6491
+-80.12 25.508 6437
+-79.994 25.508 6301
+-79.868 25.508 6234
+-79.742 25.508 6093
+-79.616 25.508 5968
+-79.49 25.508 5919
+-79.364 25.508 5815
+-79.238 25.508 5700
+-79.112 25.508 5556
+-78.986 25.508 5480
+-78.86 25.508 5412
+-78.734 25.508 5294
+-78.608 25.508 5203
+-78.482 25.508 5111
+-78.356 25.508 4998
+-78.23 25.508 4886
+-78.104 25.508 4910
+-77.978 25.508 4882
+-77.852 25.508 4807
+-77.726 25.508 4615
+-77.6 25.508 4446
+-77.474 25.508 4311
+-77.348 25.508 4081
+-77.222 25.508 3946
+-77.096 25.508 3793
+-76.97 25.508 3663
+-76.844 25.508 3500
+-76.718 25.508 3286
+-76.592 25.508 3164
+-76.466 25.508 3232
+-76.34 25.508 3343
+-76.214 25.508 3425
+-76.088 25.508 3494
+-75.962 25.508 3537
+-75.836 25.508 3553
+-75.71 25.508 3518
+-75.584 25.508 3477
+-75.458 25.508 3472
+-75.332 25.508 3400
+-75.206 25.508 3365
+-75.08 25.508 3260
+-74.954 25.508 3129
+-74.828 25.508 3084
+-74.702 25.508 3040
+-74.576 25.508 3000
+-74.45 25.508 2899
+-74.324 25.508 2837
+-74.198 25.508 2775
+-74.072 25.508 2753
+-73.946 25.508 2741
+-73.82 25.508 2739
+-73.694 25.508 2743
+-73.568 25.508 2751
+-73.442 25.508 2766
+-73.316 25.508 2779
+-73.19 25.508 2795
+-73.064 25.508 2732
+-72.938 25.508 2750
+-72.812 25.508 2731
+-72.686 25.508 2740
+-72.56 25.508 2721
+-72.434 25.508 2737
+-72.308 25.508 2707
+-72.182 25.508 2720
+-72.056 25.508 2733
+-71.93 25.508 2745
+-71.804 25.508 2756
+-71.678 25.508 2767
+-71.552 25.508 2777
+-71.426 25.508 2786
+-71.3 25.508 2795
+-71.174 25.508 2804
+-71.048 25.508 2812
+-70.922 25.508 2819
+-70.796 25.508 2827
+-70.67 25.508 2833
+-70.544 25.508 2840
+-70.418 25.508 2846
+-70.292 25.508 2852
+-70.166 25.508 2857
+-70.04 25.508 2897
+-69.914 25.508 2902
+-69.788 25.508 2845
+-69.662 25.508 2850
+-69.536 25.508 2855
+-69.41 25.508 2860
+-69.284 25.508 2865
+-69.158 25.508 2869
+-69.032 25.508 2829
+-68.906 25.508 2835
+-68.78 25.508 2828
+-68.654 25.508 2827
+-68.528 25.508 2802
+-68.402 25.508 2806
+-68.276 25.508 2810
+-68.15 25.508 2814
+-68.024 25.508 2818
+-67.898 25.508 2821
+-67.772 25.508 2825
+-67.646 25.508 2828
+-67.52 25.508 2831
+-67.394 25.508 2834
+-67.268 25.508 2837
+-67.142 25.508 2840
+-67.016 25.508 2843
+-66.89 25.508 2846
+-66.764 25.508 2848
+-66.638 25.508 2851
+-66.512 25.508 2853
+-66.386 25.508 2856
+-66.26 25.508 2858
+-66.134 25.508 2860
+-66.008 25.508 2863
+-65.882 25.508 2865
+-65.756 25.508 2867
+-65.63 25.508 2869
+-65.504 25.508 2871
+-65.378 25.508 2873
+-65.252 25.508 2863
+-65.126 25.508 2865
+-128 25.456 3538
+-127.874 25.456 3581
+-127.748 25.456 3553
+-127.622 25.456 3552
+-127.496 25.456 3552
+-127.37 25.456 3590
+-127.244 25.456 3590
+-127.118 25.456 3344
+-126.992 25.456 3352
+-126.866 25.456 3372
+-126.74 25.456 3267
+-126.614 25.456 3264
+-126.488 25.456 3245
+-126.362 25.456 3314
+-126.236 25.456 3277
+-126.11 25.456 3273
+-125.984 25.456 3297
+-125.858 25.456 3192
+-125.732 25.456 3195
+-125.606 25.456 3224
+-125.48 25.456 3214
+-125.354 25.456 3209
+-125.228 25.456 3202
+-125.102 25.456 3114
+-124.976 25.456 3111
+-124.85 25.456 3029
+-124.724 25.456 3035
+-124.598 25.456 3035
+-124.472 25.456 3028
+-124.346 25.456 2989
+-124.22 25.456 2982
+-124.094 25.456 2974
+-123.968 25.456 2990
+-123.842 25.456 2966
+-123.716 25.456 2957
+-123.59 25.456 2908
+-123.464 25.456 2898
+-123.338 25.456 2942
+-123.212 25.456 2900
+-123.086 25.456 2877
+-122.96 25.456 2785
+-122.834 25.456 2806
+-122.708 25.456 2793
+-122.582 25.456 2780
+-122.456 25.456 2765
+-122.33 25.456 2750
+-122.204 25.456 2733
+-122.078 25.456 2666
+-121.952 25.456 2654
+-121.826 25.456 2635
+-121.7 25.456 2591
+-121.574 25.456 2560
+-121.448 25.456 2529
+-121.322 25.456 2505
+-121.196 25.456 2459
+-121.07 25.456 2431
+-120.944 25.456 2389
+-120.818 25.456 2352
+-120.692 25.456 2306
+-120.566 25.456 2268
+-120.44 25.456 2224
+-120.314 25.456 2180
+-120.188 25.456 2136
+-120.062 25.456 2090
+-119.936 25.456 2045
+-119.81 25.456 2002
+-119.684 25.456 1930
+-119.558 25.456 1900
+-119.432 25.456 1879
+-119.306 25.456 1860
+-119.18 25.456 1867
+-119.054 25.456 1867
+-118.928 25.456 1901
+-118.802 25.456 1946
+-118.676 25.456 1998
+-118.55 25.456 2053
+-118.424 25.456 2107
+-118.298 25.456 2159
+-118.172 25.456 2205
+-118.046 25.456 2246
+-117.92 25.456 2279
+-117.794 25.456 2284
+-117.668 25.456 2307
+-117.542 25.456 2325
+-117.416 25.456 2339
+-117.29 25.456 2352
+-117.164 25.456 2362
+-117.038 25.456 2373
+-116.912 25.456 2371
+-116.786 25.456 2384
+-116.66 25.456 2390
+-116.534 25.456 2406
+-116.408 25.456 2425
+-116.282 25.456 2429
+-116.156 25.456 2454
+-116.03 25.456 2474
+-115.904 25.456 2493
+-115.778 25.456 2530
+-115.652 25.456 2548
+-115.526 25.456 2661
+-115.4 25.456 2711
+-115.274 25.456 2725
+-115.148 25.456 2723
+-115.022 25.456 2737
+-114.896 25.456 2808
+-114.77 25.456 2806
+-114.644 25.456 2845
+-114.518 25.456 2893
+-114.392 25.456 2864
+-114.266 25.456 2814
+-114.14 25.456 2824
+-114.014 25.456 2876
+-113.888 25.456 2859
+-113.762 25.456 2866
+-113.636 25.456 2871
+-113.51 25.456 2914
+-113.384 25.456 2901
+-113.258 25.456 2902
+-113.132 25.456 2905
+-113.006 25.456 2908
+-112.88 25.456 2904
+-112.754 25.456 2935
+-112.628 25.456 2945
+-112.502 25.456 2998
+-112.376 25.456 3001
+-112.25 25.456 3015
+-112.124 25.456 3029
+-111.998 25.456 3049
+-111.872 25.456 3094
+-111.746 25.456 3098
+-111.62 25.456 3108
+-111.494 25.456 3115
+-111.368 25.456 3119
+-111.242 25.456 3103
+-111.116 25.456 3071
+-110.99 25.456 3065
+-110.864 25.456 3069
+-110.738 25.456 3059
+-110.612 25.456 3047
+-110.486 25.456 3035
+-110.36 25.456 3049
+-110.234 25.456 3052
+-110.108 25.456 3037
+-109.982 25.456 3021
+-109.856 25.456 3016
+-109.73 25.456 2988
+-109.604 25.456 2952
+-109.478 25.456 2908
+-109.352 25.456 2839
+-109.226 25.456 2753
+-109.1 25.456 2673
+-108.974 25.456 2639
+-108.848 25.456 2663
+-108.722 25.456 2705
+-108.596 25.456 2750
+-108.47 25.456 2778
+-108.344 25.456 2792
+-108.218 25.456 2847
+-108.092 25.456 2893
+-107.966 25.456 2929
+-107.84 25.456 2963
+-107.714 25.456 2992
+-107.588 25.456 3016
+-107.462 25.456 3000
+-107.336 25.456 3019
+-107.21 25.456 3027
+-107.084 25.456 3031
+-106.958 25.456 3026
+-106.832 25.456 3027
+-106.706 25.456 3027
+-106.58 25.456 3071
+-106.454 25.456 3054
+-106.328 25.456 2978
+-106.202 25.456 2970
+-106.076 25.456 2963
+-105.95 25.456 2970
+-105.824 25.456 2965
+-105.698 25.456 2962
+-105.572 25.456 2977
+-105.446 25.456 2977
+-105.32 25.456 2978
+-105.194 25.456 2945
+-105.068 25.456 2985
+-104.942 25.456 2990
+-104.816 25.456 2995
+-104.69 25.456 3000
+-104.564 25.456 3005
+-104.438 25.456 3009
+-104.312 25.456 3015
+-104.186 25.456 3036
+-104.06 25.456 3042
+-103.934 25.456 3049
+-103.808 25.456 3055
+-103.682 25.456 3014
+-103.556 25.456 3116
+-103.43 25.456 3118
+-103.304 25.456 3138
+-103.178 25.456 3145
+-103.052 25.456 3239
+-102.926 25.456 3246
+-102.8 25.456 3253
+-102.674 25.456 3288
+-102.548 25.456 3282
+-102.422 25.456 3288
+-102.296 25.456 3286
+-102.17 25.456 3303
+-102.044 25.456 3297
+-101.918 25.456 3318
+-101.792 25.456 3325
+-101.666 25.456 3324
+-101.54 25.456 3323
+-101.414 25.456 3330
+-101.288 25.456 3319
+-101.162 25.456 3361
+-101.036 25.456 3367
+-100.91 25.456 3344
+-100.784 25.456 3350
+-100.658 25.456 3391
+-100.532 25.456 3397
+-100.406 25.456 3363
+-100.28 25.456 3340
+-100.154 25.456 3356
+-100.028 25.456 3216
+-99.902 25.456 3220
+-99.776 25.456 3280
+-99.65 25.456 3284
+-99.524 25.456 3236
+-99.398 25.456 3252
+-99.272 25.456 3256
+-99.146 25.456 3233
+-99.02 25.456 3237
+-98.894 25.456 3240
+-98.768 25.456 3244
+-98.642 25.456 3247
+-98.516 25.456 3251
+-98.39 25.456 3254
+-98.264 25.456 3185
+-98.138 25.456 3086
+-98.012 25.456 3086
+-97.886 25.456 3086
+-97.76 25.456 3055
+-97.634 25.456 3114
+-97.508 25.456 3005
+-97.382 25.456 3004
+-97.256 25.456 2973
+-97.13 25.456 2973
+-97.004 25.456 2933
+-96.878 25.456 2974
+-96.752 25.456 2998
+-96.626 25.456 3060
+-96.5 25.456 3200
+-96.374 25.456 3247
+-96.248 25.456 3293
+-96.122 25.456 3433
+-95.996 25.456 3432
+-95.87 25.456 3431
+-95.744 25.456 3430
+-95.618 25.456 3429
+-95.492 25.456 3427
+-95.366 25.456 3460
+-95.24 25.456 3459
+-95.114 25.456 3457
+-94.988 25.456 3455
+-94.862 25.456 3454
+-94.736 25.456 3452
+-94.61 25.456 3470
+-94.484 25.456 3469
+-94.358 25.456 3467
+-94.232 25.456 3466
+-94.106 25.456 3464
+-93.98 25.456 3463
+-93.854 25.456 3488
+-93.728 25.456 3502
+-93.602 25.456 3501
+-93.476 25.456 3499
+-93.35 25.456 3526
+-93.224 25.456 3525
+-93.098 25.456 3525
+-92.972 25.456 3524
+-92.846 25.456 3524
+-92.72 25.456 3523
+-92.594 25.456 3522
+-92.468 25.456 3522
+-92.342 25.456 3521
+-92.216 25.456 3520
+-92.09 25.456 3520
+-91.964 25.456 3519
+-91.838 25.456 3525
+-91.712 25.456 3526
+-91.586 25.456 3526
+-91.46 25.456 3527
+-91.334 25.456 3527
+-91.208 25.456 3527
+-91.082 25.456 3527
+-90.956 25.456 3623
+-90.83 25.456 3621
+-90.704 25.456 3618
+-90.578 25.456 3615
+-90.452 25.456 3656
+-90.326 25.456 3663
+-90.2 25.456 3658
+-90.074 25.456 3653
+-89.948 25.456 3671
+-89.822 25.456 3664
+-89.696 25.456 3672
+-89.57 25.456 3665
+-89.444 25.456 3818
+-89.318 25.456 3809
+-89.192 25.456 3797
+-89.066 25.456 3784
+-88.94 25.456 3768
+-88.814 25.456 3751
+-88.688 25.456 3731
+-88.562 25.456 3734
+-88.436 25.456 3721
+-88.31 25.456 3695
+-88.184 25.456 3685
+-88.058 25.456 3620
+-87.932 25.456 3541
+-87.806 25.456 3463
+-87.68 25.456 3463
+-87.554 25.456 3567
+-87.428 25.456 3750
+-87.302 25.456 3908
+-87.176 25.456 3994
+-87.05 25.456 3983
+-86.924 25.456 3921
+-86.798 25.456 4061
+-86.672 25.456 4289
+-86.546 25.456 4463
+-86.42 25.456 4596
+-86.294 25.456 4671
+-86.168 25.456 4820
+-86.042 25.456 4966
+-85.916 25.456 5127
+-85.79 25.456 5262
+-85.664 25.456 5358
+-85.538 25.456 5464
+-85.412 25.456 5585
+-85.286 25.456 5621
+-85.16 25.456 5581
+-85.034 25.456 5682
+-84.908 25.456 5790
+-84.782 25.456 5939
+-84.656 25.456 6055
+-84.53 25.456 6168
+-84.404 25.456 6256
+-84.278 25.456 6350
+-84.152 25.456 6414
+-84.026 25.456 6526
+-83.9 25.456 6624
+-83.774 25.456 6748
+-83.648 25.456 6790
+-83.522 25.456 6847
+-83.396 25.456 6900
+-83.27 25.456 6984
+-83.144 25.456 7036
+-83.018 25.456 7075
+-82.892 25.456 7126
+-82.766 25.456 7163
+-82.64 25.456 7205
+-82.514 25.456 7207
+-82.388 25.456 7247
+-82.262 25.456 7267
+-82.136 25.456 7263
+-82.01 25.456 7235
+-81.884 25.456 7217
+-81.758 25.456 7200
+-81.632 25.456 7179
+-81.506 25.456 7140
+-81.38 25.456 7091
+-81.254 25.456 7046
+-81.128 25.456 6976
+-81.002 25.456 6951
+-80.876 25.456 6881
+-80.75 25.456 6767
+-80.624 25.456 6711
+-80.498 25.456 6627
+-80.372 25.456 6512
+-80.246 25.456 6441
+-80.12 25.456 6371
+-79.994 25.456 6245
+-79.868 25.456 6110
+-79.742 25.456 6054
+-79.616 25.456 5935
+-79.49 25.456 5914
+-79.364 25.456 5786
+-79.238 25.456 5645
+-79.112 25.456 5509
+-78.986 25.456 5422
+-78.86 25.456 5356
+-78.734 25.456 5264
+-78.608 25.456 5131
+-78.482 25.456 5012
+-78.356 25.456 5012
+-78.23 25.456 4981
+-78.104 25.456 4921
+-77.978 25.456 4860
+-77.852 25.456 4794
+-77.726 25.456 4589
+-77.6 25.456 4411
+-77.474 25.456 4186
+-77.348 25.456 4034
+-77.222 25.456 3866
+-77.096 25.456 3707
+-76.97 25.456 3587
+-76.844 25.456 3528
+-76.718 25.456 3440
+-76.592 25.456 3368
+-76.466 25.456 3386
+-76.34 25.456 3390
+-76.214 25.456 3455
+-76.088 25.456 3473
+-75.962 25.456 3500
+-75.836 25.456 3480
+-75.71 25.456 3460
+-75.584 25.456 3433
+-75.458 25.456 3405
+-75.332 25.456 3341
+-75.206 25.456 3271
+-75.08 25.456 3221
+-74.954 25.456 3102
+-74.828 25.456 3004
+-74.702 25.456 2952
+-74.576 25.456 2848
+-74.45 25.456 2809
+-74.324 25.456 2772
+-74.198 25.456 2679
+-74.072 25.456 2667
+-73.946 25.456 2655
+-73.82 25.456 2654
+-73.694 25.456 2664
+-73.568 25.456 2678
+-73.442 25.456 2695
+-73.316 25.456 2686
+-73.19 25.456 2706
+-73.064 25.456 2727
+-72.938 25.456 2704
+-72.812 25.456 2725
+-72.686 25.456 2711
+-72.56 25.456 2722
+-72.434 25.456 2707
+-72.308 25.456 2724
+-72.182 25.456 2697
+-72.056 25.456 2712
+-71.93 25.456 2725
+-71.804 25.456 2738
+-71.678 25.456 2751
+-71.552 25.456 2762
+-71.426 25.456 2773
+-71.3 25.456 2783
+-71.174 25.456 2792
+-71.048 25.456 2801
+-70.922 25.456 2809
+-70.796 25.456 2817
+-70.67 25.456 2824
+-70.544 25.456 2831
+-70.418 25.456 2838
+-70.292 25.456 2844
+-70.166 25.456 2850
+-70.04 25.456 2856
+-69.914 25.456 2861
+-69.788 25.456 2866
+-69.662 25.456 2844
+-69.536 25.456 2849
+-69.41 25.456 2854
+-69.284 25.456 2859
+-69.158 25.456 2864
+-69.032 25.456 2868
+-68.906 25.456 2829
+-68.78 25.456 2834
+-68.654 25.456 2827
+-68.528 25.456 2826
+-68.402 25.456 2801
+-68.276 25.456 2805
+-68.15 25.456 2809
+-68.024 25.456 2813
+-67.898 25.456 2817
+-67.772 25.456 2820
+-67.646 25.456 2824
+-67.52 25.456 2827
+-67.394 25.456 2830
+-67.268 25.456 2834
+-67.142 25.456 2837
+-67.016 25.456 2840
+-66.89 25.456 2842
+-66.764 25.456 2845
+-66.638 25.456 2848
+-66.512 25.456 2850
+-66.386 25.456 2853
+-66.26 25.456 2855
+-66.134 25.456 2857
+-66.008 25.456 2860
+-65.882 25.456 2862
+-65.756 25.456 2864
+-65.63 25.456 2866
+-65.504 25.456 2868
+-65.378 25.456 2870
+-65.252 25.456 2872
+-65.126 25.456 2862
+-128 25.404 3582
+-127.874 25.404 3553
+-127.748 25.404 3553
+-127.622 25.404 3552
+-127.496 25.404 3591
+-127.37 25.404 3591
+-127.244 25.404 3343
+-127.118 25.404 3351
+-126.992 25.404 3371
+-126.866 25.404 3267
+-126.74 25.404 3263
+-126.614 25.404 3244
+-126.488 25.404 3314
+-126.362 25.404 3277
+-126.236 25.404 3272
+-126.11 25.404 3296
+-125.984 25.404 3191
+-125.858 25.404 3194
+-125.732 25.404 3223
+-125.606 25.404 3214
+-125.48 25.404 3208
+-125.354 25.404 3202
+-125.228 25.404 3113
+-125.102 25.404 3110
+-124.976 25.404 3028
+-124.85 25.404 3034
+-124.724 25.404 3035
+-124.598 25.404 3028
+-124.472 25.404 2988
+-124.346 25.404 2981
+-124.22 25.404 2974
+-124.094 25.404 2990
+-123.968 25.404 2966
+-123.842 25.404 2957
+-123.716 25.404 2908
+-123.59 25.404 2899
+-123.464 25.404 2943
+-123.338 25.404 2901
+-123.212 25.404 2878
+-123.086 25.404 2785
+-122.96 25.404 2807
+-122.834 25.404 2794
+-122.708 25.404 2781
+-122.582 25.404 2766
+-122.456 25.404 2751
+-122.33 25.404 2734
+-122.204 25.404 2667
+-122.078 25.404 2655
+-121.952 25.404 2635
+-121.826 25.404 2592
+-121.7 25.404 2560
+-121.574 25.404 2529
+-121.448 25.404 2504
+-121.322 25.404 2457
+-121.196 25.404 2428
+-121.07 25.404 2384
+-120.944 25.404 2346
+-120.818 25.404 2297
+-120.692 25.404 2257
+-120.566 25.404 2208
+-120.44 25.404 2159
+-120.314 25.404 2107
+-120.188 25.404 2053
+-120.062 25.404 1996
+-119.936 25.404 1937
+-119.81 25.404 1849
+-119.684 25.404 1798
+-119.558 25.404 1755
+-119.432 25.404 1714
+-119.306 25.404 1700
+-119.18 25.404 1685
+-119.054 25.404 1708
+-118.928 25.404 1750
+-118.802 25.404 1807
+-118.676 25.404 1873
+-118.55 25.404 1943
+-118.424 25.404 2013
+-118.298 25.404 2079
+-118.172 25.404 2139
+-118.046 25.404 2191
+-117.92 25.404 2212
+-117.794 25.404 2250
+-117.668 25.404 2281
+-117.542 25.404 2306
+-117.416 25.404 2327
+-117.29 25.404 2345
+-117.164 25.404 2361
+-117.038 25.404 2362
+-116.912 25.404 2377
+-116.786 25.404 2382
+-116.66 25.404 2397
+-116.534 25.404 2413
+-116.408 25.404 2416
+-116.282 25.404 2440
+-116.156 25.404 2459
+-116.03 25.404 2477
+-115.904 25.404 2513
+-115.778 25.404 2532
+-115.652 25.404 2550
+-115.526 25.404 2567
+-115.4 25.404 2681
+-115.274 25.404 2713
+-115.148 25.404 2727
+-115.022 25.404 2731
+-114.896 25.404 2727
+-114.77 25.404 2762
+-114.644 25.404 2802
+-114.518 25.404 2796
+-114.392 25.404 2802
+-114.266 25.404 2812
+-114.14 25.404 2821
+-114.014 25.404 2849
+-113.888 25.404 2856
+-113.762 25.404 2863
+-113.636 25.404 2887
+-113.51 25.404 2857
+-113.384 25.404 2900
+-113.258 25.404 2903
+-113.132 25.404 2906
+-113.006 25.404 2900
+-112.88 25.404 2926
+-112.754 25.404 2933
+-112.628 25.404 2935
+-112.502 25.404 2941
+-112.376 25.404 2938
+-112.25 25.404 3009
+-112.124 25.404 3024
+-111.998 25.404 3039
+-111.872 25.404 3071
+-111.746 25.404 3080
+-111.62 25.404 3086
+-111.494 25.404 3090
+-111.368 25.404 3057
+-111.242 25.404 3041
+-111.116 25.404 3034
+-110.99 25.404 3025
+-110.864 25.404 3014
+-110.738 25.404 3012
+-110.612 25.404 2997
+-110.486 25.404 2982
+-110.36 25.404 2968
+-110.234 25.404 2979
+-110.108 25.404 2981
+-109.982 25.404 2967
+-109.856 25.404 2951
+-109.73 25.404 2941
+-109.604 25.404 2909
+-109.478 25.404 2864
+-109.352 25.404 2812
+-109.226 25.404 2744
+-109.1 25.404 2685
+-108.974 25.404 2658
+-108.848 25.404 2664
+-108.722 25.404 2673
+-108.596 25.404 2675
+-108.47 25.404 2700
+-108.344 25.404 2727
+-108.218 25.404 2749
+-108.092 25.404 2818
+-107.966 25.404 2873
+-107.84 25.404 2916
+-107.714 25.404 2953
+-107.588 25.404 2983
+-107.462 25.404 3008
+-107.336 25.404 2991
+-107.21 25.404 3011
+-107.084 25.404 3019
+-106.958 25.404 3023
+-106.832 25.404 3019
+-106.706 25.404 3021
+-106.58 25.404 3022
+-106.454 25.404 3071
+-106.328 25.404 3056
+-106.202 25.404 2980
+-106.076 25.404 2975
+-105.95 25.404 2969
+-105.824 25.404 2980
+-105.698 25.404 2977
+-105.572 25.404 2975
+-105.446 25.404 2992
+-105.32 25.404 2993
+-105.194 25.404 2994
+-105.068 25.404 2960
+-104.942 25.404 3002
+-104.816 25.404 3006
+-104.69 25.404 3011
+-104.564 25.404 3015
+-104.438 25.404 3020
+-104.312 25.404 3023
+-104.186 25.404 3028
+-104.06 25.404 3049
+-103.934 25.404 3055
+-103.808 25.404 3061
+-103.682 25.404 3067
+-103.556 25.404 3024
+-103.43 25.404 3128
+-103.304 25.404 3129
+-103.178 25.404 3149
+-103.052 25.404 3156
+-102.926 25.404 3252
+-102.8 25.404 3258
+-102.674 25.404 3264
+-102.548 25.404 3300
+-102.422 25.404 3291
+-102.296 25.404 3299
+-102.17 25.404 3295
+-102.044 25.404 3312
+-101.918 25.404 3306
+-101.792 25.404 3327
+-101.666 25.404 3334
+-101.54 25.404 3332
+-101.414 25.404 3331
+-101.288 25.404 3337
+-101.162 25.404 3326
+-101.036 25.404 3368
+-100.91 25.404 3374
+-100.784 25.404 3350
+-100.658 25.404 3356
+-100.532 25.404 3398
+-100.406 25.404 3403
+-100.28 25.404 3369
+-100.154 25.404 3345
+-100.028 25.404 3361
+-99.902 25.404 3219
+-99.776 25.404 3223
+-99.65 25.404 3284
+-99.524 25.404 3288
+-99.398 25.404 3240
+-99.272 25.404 3256
+-99.146 25.404 3260
+-99.02 25.404 3236
+-98.894 25.404 3240
+-98.768 25.404 3243
+-98.642 25.404 3247
+-98.516 25.404 3250
+-98.39 25.404 3253
+-98.264 25.404 3256
+-98.138 25.404 3141
+-98.012 25.404 3085
+-97.886 25.404 3085
+-97.76 25.404 3085
+-97.634 25.404 3029
+-97.508 25.404 3055
+-97.382 25.404 3003
+-97.256 25.404 2972
+-97.13 25.404 2972
+-97.004 25.404 2971
+-96.878 25.404 3023
+-96.752 25.404 2998
+-96.626 25.404 3060
+-96.5 25.404 3200
+-96.374 25.404 3246
+-96.248 25.404 3386
+-96.122 25.404 3432
+-95.996 25.404 3431
+-95.87 25.404 3430
+-95.744 25.404 3429
+-95.618 25.404 3428
+-95.492 25.404 3461
+-95.366 25.404 3459
+-95.24 25.404 3457
+-95.114 25.404 3456
+-94.988 25.404 3454
+-94.862 25.404 3452
+-94.736 25.404 3470
+-94.61 25.404 3469
+-94.484 25.404 3468
+-94.358 25.404 3466
+-94.232 25.404 3465
+-94.106 25.404 3463
+-93.98 25.404 3488
+-93.854 25.404 3503
+-93.728 25.404 3501
+-93.602 25.404 3500
+-93.476 25.404 3526
+-93.35 25.404 3525
+-93.224 25.404 3524
+-93.098 25.404 3524
+-92.972 25.404 3523
+-92.846 25.404 3522
+-92.72 25.404 3522
+-92.594 25.404 3521
+-92.468 25.404 3520
+-92.342 25.404 3519
+-92.216 25.404 3519
+-92.09 25.404 3518
+-91.964 25.404 3524
+-91.838 25.404 3524
+-91.712 25.404 3524
+-91.586 25.404 3524
+-91.46 25.404 3525
+-91.334 25.404 3525
+-91.208 25.404 3525
+-91.082 25.404 3619
+-90.956 25.404 3617
+-90.83 25.404 3614
+-90.704 25.404 3610
+-90.578 25.404 3610
+-90.452 25.404 3658
+-90.326 25.404 3654
+-90.2 25.404 3648
+-90.074 25.404 3666
+-89.948 25.404 3659
+-89.822 25.404 3666
+-89.696 25.404 3659
+-89.57 25.404 3816
+-89.444 25.404 3805
+-89.318 25.404 3793
+-89.192 25.404 3779
+-89.066 25.404 3764
+-88.94 25.404 3747
+-88.814 25.404 3727
+-88.688 25.404 3705
+-88.562 25.404 3678
+-88.436 25.404 3662
+-88.31 25.404 3626
+-88.184 25.404 3590
+-88.058 25.404 3535
+-87.932 25.404 3409
+-87.806 25.404 3265
+-87.68 25.404 3197
+-87.554 25.404 3328
+-87.428 25.404 3604
+-87.302 25.404 3830
+-87.176 25.404 3960
+-87.05 25.404 4000
+-86.924 25.404 3998
+-86.798 25.404 4107
+-86.672 25.404 4294
+-86.546 25.404 4459
+-86.42 25.404 4576
+-86.294 25.404 4694
+-86.168 25.404 4775
+-86.042 25.404 4905
+-85.916 25.404 5047
+-85.79 25.404 5206
+-85.664 25.404 5314
+-85.538 25.404 5449
+-85.412 25.404 5548
+-85.286 25.404 5625
+-85.16 25.404 5647
+-85.034 25.404 5707
+-84.908 25.404 5810
+-84.782 25.404 5898
+-84.656 25.404 6004
+-84.53 25.404 6123
+-84.404 25.404 6242
+-84.278 25.404 6285
+-84.152 25.404 6385
+-84.026 25.404 6467
+-83.9 25.404 6562
+-83.774 25.404 6670
+-83.648 25.404 6758
+-83.522 25.404 6804
+-83.396 25.404 6877
+-83.27 25.404 6950
+-83.144 25.404 7001
+-83.018 25.404 7030
+-82.892 25.404 7048
+-82.766 25.404 7095
+-82.64 25.404 7166
+-82.514 25.404 7142
+-82.388 25.404 7154
+-82.262 25.404 7172
+-82.136 25.404 7176
+-82.01 25.404 7171
+-81.884 25.404 7163
+-81.758 25.404 7145
+-81.632 25.404 7124
+-81.506 25.404 7070
+-81.38 25.404 7011
+-81.254 25.404 7005
+-81.128 25.404 6960
+-81.002 25.404 6897
+-80.876 25.404 6787
+-80.75 25.404 6718
+-80.624 25.404 6685
+-80.498 25.404 6584
+-80.372 25.404 6493
+-80.246 25.404 6428
+-80.12 25.404 6322
+-79.994 25.404 6230
+-79.868 25.404 6155
+-79.742 25.404 6068
+-79.616 25.404 5976
+-79.49 25.404 5865
+-79.364 25.404 5701
+-79.238 25.404 5555
+-79.112 25.404 5434
+-78.986 25.404 5321
+-78.86 25.404 5302
+-78.734 25.404 5194
+-78.608 25.404 5057
+-78.482 25.404 4845
+-78.356 25.404 4964
+-78.23 25.404 4984
+-78.104 25.404 4901
+-77.978 25.404 4852
+-77.852 25.404 4714
+-77.726 25.404 4552
+-77.6 25.404 4333
+-77.474 25.404 4152
+-77.348 25.404 3976
+-77.222 25.404 3762
+-77.096 25.404 3550
+-76.97 25.404 3444
+-76.844 25.404 3471
+-76.718 25.404 3499
+-76.592 25.404 3488
+-76.466 25.404 3463
+-76.34 25.404 3466
+-76.214 25.404 3467
+-76.088 25.404 3492
+-75.962 25.404 3472
+-75.836 25.404 3469
+-75.71 25.404 3439
+-75.584 25.404 3413
+-75.458 25.404 3324
+-75.332 25.404 3264
+-75.206 25.404 3209
+-75.08 25.404 3147
+-74.954 25.404 3082
+-74.828 25.404 2894
+-74.702 25.404 2794
+-74.576 25.404 2740
+-74.45 25.404 2695
+-74.324 25.404 2662
+-74.198 25.404 2636
+-74.072 25.404 2558
+-73.946 25.404 2560
+-73.82 25.404 2563
+-73.694 25.404 2576
+-73.568 25.404 2597
+-73.442 25.404 2622
+-73.316 25.404 2649
+-73.19 25.404 2649
+-73.064 25.404 2675
+-72.938 25.404 2701
+-72.812 25.404 2683
+-72.686 25.404 2708
+-72.56 25.404 2697
+-72.434 25.404 2710
+-72.308 25.404 2697
+-72.182 25.404 2716
+-72.056 25.404 2690
+-71.93 25.404 2706
+-71.804 25.404 2721
+-71.678 25.404 2734
+-71.552 25.404 2747
+-71.426 25.404 2759
+-71.3 25.404 2770
+-71.174 25.404 2780
+-71.048 25.404 2790
+-70.922 25.404 2799
+-70.796 25.404 2808
+-70.67 25.404 2816
+-70.544 25.404 2823
+-70.418 25.404 2830
+-70.292 25.404 2837
+-70.166 25.404 2843
+-70.04 25.404 2849
+-69.914 25.404 2855
+-69.788 25.404 2860
+-69.662 25.404 2865
+-69.536 25.404 2843
+-69.41 25.404 2849
+-69.284 25.404 2854
+-69.158 25.404 2859
+-69.032 25.404 2863
+-68.906 25.404 2868
+-68.78 25.404 2828
+-68.654 25.404 2834
+-68.528 25.404 2827
+-68.402 25.404 2825
+-68.276 25.404 2800
+-68.15 25.404 2805
+-68.024 25.404 2809
+-67.898 25.404 2812
+-67.772 25.404 2816
+-67.646 25.404 2820
+-67.52 25.404 2823
+-67.394 25.404 2827
+-67.268 25.404 2830
+-67.142 25.404 2833
+-67.016 25.404 2836
+-66.89 25.404 2839
+-66.764 25.404 2842
+-66.638 25.404 2845
+-66.512 25.404 2847
+-66.386 25.404 2850
+-66.26 25.404 2852
+-66.134 25.404 2855
+-66.008 25.404 2857
+-65.882 25.404 2859
+-65.756 25.404 2861
+-65.63 25.404 2863
+-65.504 25.404 2866
+-65.378 25.404 2868
+-65.252 25.404 2870
+-65.126 25.404 2871
+-128 25.352 3554
+-127.874 25.352 3554
+-127.748 25.352 3553
+-127.622 25.352 3592
+-127.496 25.352 3592
+-127.37 25.352 3342
+-127.244 25.352 3351
+-127.118 25.352 3371
+-126.992 25.352 3266
+-126.866 25.352 3262
+-126.74 25.352 3244
+-126.614 25.352 3314
+-126.488 25.352 3276
+-126.362 25.352 3272
+-126.236 25.352 3296
+-126.11 25.352 3190
+-125.984 25.352 3194
+-125.858 25.352 3223
+-125.732 25.352 3213
+-125.606 25.352 3208
+-125.48 25.352 3202
+-125.354 25.352 3113
+-125.228 25.352 3110
+-125.102 25.352 3028
+-124.976 25.352 3034
+-124.85 25.352 3035
+-124.724 25.352 3028
+-124.598 25.352 2988
+-124.472 25.352 2982
+-124.346 25.352 2974
+-124.22 25.352 2990
+-124.094 25.352 2967
+-123.968 25.352 2958
+-123.842 25.352 2908
+-123.716 25.352 2899
+-123.59 25.352 2945
+-123.464 25.352 2903
+-123.338 25.352 2880
+-123.212 25.352 2786
+-123.086 25.352 2809
+-122.96 25.352 2796
+-122.834 25.352 2783
+-122.708 25.352 2768
+-122.582 25.352 2753
+-122.456 25.352 2737
+-122.33 25.352 2669
+-122.204 25.352 2657
+-122.078 25.352 2638
+-121.952 25.352 2594
+-121.826 25.352 2562
+-121.7 25.352 2531
+-121.574 25.352 2506
+-121.448 25.352 2459
+-121.322 25.352 2430
+-121.196 25.352 2385
+-121.07 25.352 2346
+-120.944 25.352 2296
+-120.818 25.352 2254
+-120.692 25.352 2203
+-120.566 25.352 2150
+-120.44 25.352 2094
+-120.314 25.352 2033
+-120.188 25.352 1968
+-120.062 25.352 1897
+-119.936 25.352 1795
+-119.81 25.352 1724
+-119.684 25.352 1657
+-119.558 25.352 1590
+-119.432 25.352 1546
+-119.306 25.352 1505
+-119.18 25.352 1505
+-119.054 25.352 1531
+-118.928 25.352 1582
+-118.802 25.352 1652
+-118.676 25.352 1735
+-118.55 25.352 1823
+-118.424 25.352 1911
+-118.298 25.352 1993
+-118.172 25.352 2067
+-118.046 25.352 2109
+-117.92 25.352 2165
+-117.794 25.352 2212
+-117.668 25.352 2251
+-117.542 25.352 2283
+-117.416 25.352 2311
+-117.29 25.352 2335
+-117.164 25.352 2342
+-117.038 25.352 2361
+-116.912 25.352 2368
+-116.786 25.352 2384
+-116.66 25.352 2400
+-116.534 25.352 2403
+-116.408 25.352 2426
+-116.282 25.352 2444
+-116.156 25.352 2462
+-116.03 25.352 2478
+-115.904 25.352 2515
+-115.778 25.352 2533
+-115.652 25.352 2586
+-115.526 25.352 2606
+-115.4 25.352 2665
+-115.274 25.352 2717
+-115.148 25.352 2721
+-115.022 25.352 2717
+-114.896 25.352 2751
+-114.77 25.352 2754
+-114.644 25.352 2804
+-114.518 25.352 2790
+-114.392 25.352 2800
+-114.266 25.352 2809
+-114.14 25.352 2837
+-114.014 25.352 2843
+-113.888 25.352 2852
+-113.762 25.352 2859
+-113.636 25.352 2884
+-113.51 25.352 2851
+-113.384 25.352 2897
+-113.258 25.352 2899
+-113.132 25.352 2892
+-113.006 25.352 2918
+-112.88 25.352 2923
+-112.754 25.352 2922
+-112.628 25.352 2924
+-112.502 25.352 2917
+-112.376 25.352 2927
+-112.25 25.352 2937
+-112.124 25.352 2975
+-111.998 25.352 2980
+-111.872 25.352 2991
+-111.746 25.352 2996
+-111.62 25.352 2999
+-111.494 25.352 2957
+-111.368 25.352 3011
+-111.242 25.352 3004
+-111.116 25.352 2994
+-110.99 25.352 2982
+-110.864 25.352 2966
+-110.738 25.352 2960
+-110.612 25.352 2941
+-110.486 25.352 2922
+-110.36 25.352 2905
+-110.234 25.352 2890
+-110.108 25.352 2902
+-109.982 25.352 2874
+-109.856 25.352 2866
+-109.73 25.352 2854
+-109.604 25.352 2844
+-109.478 25.352 2813
+-109.352 25.352 2774
+-109.226 25.352 2729
+-109.1 25.352 2689
+-108.974 25.352 2657
+-108.848 25.352 2632
+-108.722 25.352 2607
+-108.596 25.352 2578
+-108.47 25.352 2581
+-108.344 25.352 2612
+-108.218 25.352 2661
+-108.092 25.352 2726
+-107.966 25.352 2785
+-107.84 25.352 2871
+-107.714 25.352 2915
+-107.588 25.352 2952
+-107.462 25.352 2982
+-107.336 25.352 3006
+-107.21 25.352 2987
+-107.084 25.352 3006
+-106.958 25.352 3014
+-106.832 25.352 3019
+-106.706 25.352 3015
+-106.58 25.352 3018
+-106.454 25.352 3021
+-106.328 25.352 3074
+-106.202 25.352 3060
+-106.076 25.352 2984
+-105.95 25.352 2980
+-105.824 25.352 2977
+-105.698 25.352 2989
+-105.572 25.352 2987
+-105.446 25.352 2986
+-105.32 25.352 3006
+-105.194 25.352 3007
+-105.068 25.352 3009
+-104.942 25.352 2974
+-104.816 25.352 3017
+-104.69 25.352 3020
+-104.564 25.352 3025
+-104.438 25.352 3029
+-104.312 25.352 3033
+-104.186 25.352 3035
+-104.06 25.352 3040
+-103.934 25.352 3061
+-103.808 25.352 3066
+-103.682 25.352 3072
+-103.556 25.352 3077
+-103.43 25.352 3033
+-103.304 25.352 3138
+-103.178 25.352 3139
+-103.052 25.352 3160
+-102.926 25.352 3165
+-102.8 25.352 3263
+-102.674 25.352 3269
+-102.548 25.352 3274
+-102.422 25.352 3311
+-102.296 25.352 3302
+-102.17 25.352 3308
+-102.044 25.352 3304
+-101.918 25.352 3321
+-101.792 25.352 3314
+-101.666 25.352 3336
+-101.54 25.352 3342
+-101.414 25.352 3340
+-101.288 25.352 3339
+-101.162 25.352 3344
+-101.036 25.352 3333
+-100.91 25.352 3375
+-100.784 25.352 3381
+-100.658 25.352 3356
+-100.532 25.352 3362
+-100.406 25.352 3404
+-100.28 25.352 3409
+-100.154 25.352 3374
+-100.028 25.352 3350
+-99.902 25.352 3366
+-99.776 25.352 3223
+-99.65 25.352 3227
+-99.524 25.352 3288
+-99.398 25.352 3292
+-99.272 25.352 3243
+-99.146 25.352 3259
+-99.02 25.352 3263
+-98.894 25.352 3239
+-98.768 25.352 3242
+-98.642 25.352 3246
+-98.516 25.352 3249
+-98.39 25.352 3252
+-98.264 25.352 3255
+-98.138 25.352 3140
+-98.012 25.352 3141
+-97.886 25.352 3084
+-97.76 25.352 3084
+-97.634 25.352 3028
+-97.508 25.352 3025
+-97.382 25.352 3047
+-97.256 25.352 2976
+-97.13 25.352 2971
+-97.004 25.352 2971
+-96.878 25.352 3022
+-96.752 25.352 2998
+-96.626 25.352 3060
+-96.5 25.352 3199
+-96.374 25.352 3246
+-96.248 25.352 3385
+-96.122 25.352 3431
+-95.996 25.352 3430
+-95.87 25.352 3429
+-95.744 25.352 3428
+-95.618 25.352 3461
+-95.492 25.352 3459
+-95.366 25.352 3458
+-95.24 25.352 3456
+-95.114 25.352 3454
+-94.988 25.352 3453
+-94.862 25.352 3471
+-94.736 25.352 3469
+-94.61 25.352 3468
+-94.484 25.352 3466
+-94.358 25.352 3465
+-94.232 25.352 3463
+-94.106 25.352 3489
+-93.98 25.352 3503
+-93.854 25.352 3502
+-93.728 25.352 3500
+-93.602 25.352 3526
+-93.476 25.352 3525
+-93.35 25.352 3524
+-93.224 25.352 3523
+-93.098 25.352 3523
+-92.972 25.352 3522
+-92.846 25.352 3521
+-92.72 25.352 3520
+-92.594 25.352 3519
+-92.468 25.352 3518
+-92.342 25.352 3517
+-92.216 25.352 3516
+-92.09 25.352 3523
+-91.964 25.352 3523
+-91.838 25.352 3523
+-91.712 25.352 3523
+-91.586 25.352 3523
+-91.46 25.352 3522
+-91.334 25.352 3522
+-91.208 25.352 3616
+-91.082 25.352 3613
+-90.956 25.352 3610
+-90.83 25.352 3607
+-90.704 25.352 3607
+-90.578 25.352 3654
+-90.452 25.352 3650
+-90.326 25.352 3644
+-90.2 25.352 3662
+-90.074 25.352 3655
+-89.948 25.352 3662
+-89.822 25.352 3655
+-89.696 25.352 3777
+-89.57 25.352 3768
+-89.444 25.352 3757
+-89.318 25.352 3745
+-89.192 25.352 3731
+-89.066 25.352 3715
+-88.94 25.352 3698
+-88.814 25.352 3679
+-88.688 25.352 3655
+-88.562 25.352 3668
+-88.436 25.352 3630
+-88.31 25.352 3582
+-88.184 25.352 3518
+-88.058 25.352 3454
+-87.932 25.352 3343
+-87.806 25.352 3170
+-87.68 25.352 3061
+-87.554 25.352 3208
+-87.428 25.352 3507
+-87.302 25.352 3768
+-87.176 25.352 3934
+-87.05 25.352 4019
+-86.924 25.352 4078
+-86.798 25.352 4161
+-86.672 25.352 4291
+-86.546 25.352 4425
+-86.42 25.352 4559
+-86.294 25.352 4641
+-86.168 25.352 4724
+-86.042 25.352 4846
+-85.916 25.352 4982
+-85.79 25.352 5060
+-85.664 25.352 5213
+-85.538 25.352 5350
+-85.412 25.352 5509
+-85.286 25.352 5591
+-85.16 25.352 5644
+-85.034 25.352 5737
+-84.908 25.352 5793
+-84.782 25.352 5844
+-84.656 25.352 5931
+-84.53 25.352 6081
+-84.404 25.352 6174
+-84.278 25.352 6235
+-84.152 25.352 6340
+-84.026 25.352 6436
+-83.9 25.352 6525
+-83.774 25.352 6593
+-83.648 25.352 6667
+-83.522 25.352 6767
+-83.396 25.352 6811
+-83.27 25.352 6898
+-83.144 25.352 6940
+-83.018 25.352 7005
+-82.892 25.352 7046
+-82.766 25.352 7043
+-82.64 25.352 7075
+-82.514 25.352 7129
+-82.388 25.352 7105
+-82.262 25.352 7115
+-82.136 25.352 7112
+-82.01 25.352 7121
+-81.884 25.352 7103
+-81.758 25.352 7083
+-81.632 25.352 7068
+-81.506 25.352 7006
+-81.38 25.352 6982
+-81.254 25.352 6949
+-81.128 25.352 6888
+-81.002 25.352 6802
+-80.876 25.352 6760
+-80.75 25.352 6680
+-80.624 25.352 6625
+-80.498 25.352 6495
+-80.372 25.352 6460
+-80.246 25.352 6417
+-80.12 25.352 6319
+-79.994 25.352 6192
+-79.868 25.352 6068
+-79.742 25.352 6044
+-79.616 25.352 5910
+-79.49 25.352 5778
+-79.364 25.352 5617
+-79.238 25.352 5535
+-79.112 25.352 5415
+-78.986 25.352 5322
+-78.86 25.352 5255
+-78.734 25.352 5144
+-78.608 25.352 5041
+-78.482 25.352 5008
+-78.356 25.352 4993
+-78.23 25.352 4986
+-78.104 25.352 4856
+-77.978 25.352 4728
+-77.852 25.352 4653
+-77.726 25.352 4459
+-77.6 25.352 4340
+-77.474 25.352 4151
+-77.348 25.352 3954
+-77.222 25.352 3717
+-77.096 25.352 3460
+-76.97 25.352 3345
+-76.844 25.352 3419
+-76.718 25.352 3507
+-76.592 25.352 3554
+-76.466 25.352 3564
+-76.34 25.352 3487
+-76.214 25.352 3472
+-76.088 25.352 3475
+-75.962 25.352 3471
+-75.836 25.352 3458
+-75.71 25.352 3397
+-75.584 25.352 3347
+-75.458 25.352 3299
+-75.332 25.352 3225
+-75.206 25.352 3116
+-75.08 25.352 3039
+-74.954 25.352 2923
+-74.828 25.352 2842
+-74.702 25.352 2687
+-74.576 25.352 2576
+-74.45 25.352 2526
+-74.324 25.352 2491
+-74.198 25.352 2473
+-74.072 25.352 2439
+-73.946 25.352 2442
+-73.82 25.352 2462
+-73.694 25.352 2482
+-73.568 25.352 2510
+-73.442 25.352 2544
+-73.316 25.352 2579
+-73.19 25.352 2615
+-73.064 25.352 2622
+-72.938 25.352 2654
+-72.812 25.352 2685
+-72.686 25.352 2669
+-72.56 25.352 2697
+-72.434 25.352 2689
+-72.308 25.352 2703
+-72.182 25.352 2691
+-72.056 25.352 2711
+-71.93 25.352 2687
+-71.804 25.352 2703
+-71.678 25.352 2718
+-71.552 25.352 2732
+-71.426 25.352 2745
+-71.3 25.352 2758
+-71.174 25.352 2769
+-71.048 25.352 2779
+-70.922 25.352 2789
+-70.796 25.352 2798
+-70.67 25.352 2807
+-70.544 25.352 2815
+-70.418 25.352 2823
+-70.292 25.352 2830
+-70.166 25.352 2837
+-70.04 25.352 2843
+-69.914 25.352 2849
+-69.788 25.352 2855
+-69.662 25.352 2860
+-69.536 25.352 2865
+-69.41 25.352 2843
+-69.284 25.352 2848
+-69.158 25.352 2854
+-69.032 25.352 2859
+-68.906 25.352 2863
+-68.78 25.352 2868
+-68.654 25.352 2828
+-68.528 25.352 2833
+-68.402 25.352 2827
+-68.276 25.352 2825
+-68.15 25.352 2800
+-68.024 25.352 2804
+-67.898 25.352 2808
+-67.772 25.352 2812
+-67.646 25.352 2816
+-67.52 25.352 2819
+-67.394 25.352 2823
+-67.268 25.352 2826
+-67.142 25.352 2829
+-67.016 25.352 2833
+-66.89 25.352 2836
+-66.764 25.352 2839
+-66.638 25.352 2841
+-66.512 25.352 2844
+-66.386 25.352 2847
+-66.26 25.352 2849
+-66.134 25.352 2852
+-66.008 25.352 2854
+-65.882 25.352 2856
+-65.756 25.352 2859
+-65.63 25.352 2861
+-65.504 25.352 2863
+-65.378 25.352 2865
+-65.252 25.352 2867
+-65.126 25.352 2869
+-128 25.3 3555
+-127.874 25.3 3554
+-127.748 25.3 3593
+-127.622 25.3 3593
+-127.496 25.3 3341
+-127.37 25.3 3350
+-127.244 25.3 3371
+-127.118 25.3 3266
+-126.992 25.3 3262
+-126.866 25.3 3243
+-126.74 25.3 3314
+-126.614 25.3 3276
+-126.488 25.3 3272
+-126.362 25.3 3296
+-126.236 25.3 3190
+-126.11 25.3 3194
+-125.984 25.3 3223
+-125.858 25.3 3213
+-125.732 25.3 3208
+-125.606 25.3 3202
+-125.48 25.3 3113
+-125.354 25.3 3110
+-125.228 25.3 3028
+-125.102 25.3 3034
+-124.976 25.3 3035
+-124.85 25.3 3028
+-124.724 25.3 2989
+-124.598 25.3 2982
+-124.472 25.3 2975
+-124.346 25.3 2991
+-124.22 25.3 2967
+-124.094 25.3 2959
+-123.968 25.3 2909
+-123.842 25.3 2900
+-123.716 25.3 2947
+-123.59 25.3 2905
+-123.464 25.3 2882
+-123.338 25.3 2787
+-123.212 25.3 2811
+-123.086 25.3 2798
+-122.96 25.3 2785
+-122.834 25.3 2771
+-122.708 25.3 2756
+-122.582 25.3 2740
+-122.456 25.3 2672
+-122.33 25.3 2661
+-122.204 25.3 2642
+-122.078 25.3 2598
+-121.952 25.3 2567
+-121.826 25.3 2535
+-121.7 25.3 2511
+-121.574 25.3 2464
+-121.448 25.3 2435
+-121.322 25.3 2391
+-121.196 25.3 2351
+-121.07 25.3 2301
+-120.944 25.3 2259
+-120.818 25.3 2208
+-120.692 25.3 2153
+-120.566 25.3 2096
+-120.44 25.3 2031
+-120.314 25.3 1960
+-120.188 25.3 1883
+-120.062 25.3 1769
+-119.936 25.3 1684
+-119.81 25.3 1597
+-119.684 25.3 1505
+-119.558 25.3 1429
+-119.432 25.3 1355
+-119.306 25.3 1319
+-119.18 25.3 1314
+-119.054 25.3 1342
+-118.928 25.3 1402
+-118.802 25.3 1487
+-118.676 25.3 1588
+-118.55 25.3 1696
+-118.424 25.3 1803
+-118.298 25.3 1903
+-118.172 25.3 1970
+-118.046 25.3 2048
+-117.92 25.3 2116
+-117.794 25.3 2172
+-117.668 25.3 2218
+-117.542 25.3 2259
+-117.416 25.3 2292
+-117.29 25.3 2308
+-117.164 25.3 2334
+-117.038 25.3 2345
+-116.912 25.3 2365
+-116.786 25.3 2382
+-116.66 25.3 2386
+-116.534 25.3 2410
+-116.408 25.3 2428
+-116.282 25.3 2446
+-116.156 25.3 2462
+-116.03 25.3 2480
+-115.904 25.3 2516
+-115.778 25.3 2568
+-115.652 25.3 2588
+-115.526 25.3 2538
+-115.4 25.3 2555
+-115.274 25.3 2712
+-115.148 25.3 2707
+-115.022 25.3 2741
+-114.896 25.3 2744
+-114.77 25.3 2781
+-114.644 25.3 2793
+-114.518 25.3 2775
+-114.392 25.3 2796
+-114.266 25.3 2825
+-114.14 25.3 2831
+-114.014 25.3 2838
+-113.888 25.3 2845
+-113.762 25.3 2872
+-113.636 25.3 2838
+-113.51 25.3 2843
+-113.384 25.3 2847
+-113.258 25.3 2882
+-113.132 25.3 2908
+-113.006 25.3 2912
+-112.88 25.3 2908
+-112.754 25.3 2907
+-112.628 25.3 2897
+-112.502 25.3 2903
+-112.376 25.3 2910
+-112.25 25.3 2917
+-112.124 25.3 2949
+-111.998 25.3 2959
+-111.872 25.3 2945
+-111.746 25.3 2947
+-111.62 25.3 2948
+-111.494 25.3 2908
+-111.368 25.3 2903
+-111.242 25.3 2876
+-111.116 25.3 2865
+-110.99 25.3 2851
+-110.864 25.3 2834
+-110.738 25.3 2815
+-110.612 25.3 2831
+-110.486 25.3 2815
+-110.36 25.3 2796
+-110.234 25.3 2782
+-110.108 25.3 2774
+-109.982 25.3 2778
+-109.856 25.3 2801
+-109.73 25.3 2799
+-109.604 25.3 2791
+-109.478 25.3 2780
+-109.352 25.3 2750
+-109.226 25.3 2714
+-109.1 25.3 2663
+-108.974 25.3 2616
+-108.848 25.3 2550
+-108.722 25.3 2473
+-108.596 25.3 2438
+-108.47 25.3 2454
+-108.344 25.3 2513
+-108.218 25.3 2583
+-108.092 25.3 2655
+-107.966 25.3 2730
+-107.84 25.3 2793
+-107.714 25.3 2841
+-107.588 25.3 2880
+-107.462 25.3 2959
+-107.336 25.3 2987
+-107.21 25.3 3009
+-107.084 25.3 2987
+-106.958 25.3 3006
+-106.832 25.3 3013
+-106.706 25.3 3017
+-106.58 25.3 3014
+-106.454 25.3 3018
+-106.328 25.3 3023
+-106.202 25.3 3078
+-106.076 25.3 3066
+-105.95 25.3 2989
+-105.824 25.3 2986
+-105.698 25.3 2984
+-105.572 25.3 2998
+-105.446 25.3 2997
+-105.32 25.3 2997
+-105.194 25.3 3018
+-105.068 25.3 3019
+-104.942 25.3 3021
+-104.816 25.3 2985
+-104.69 25.3 3030
+-104.564 25.3 3033
+-104.438 25.3 3037
+-104.312 25.3 3041
+-104.186 25.3 3045
+-104.06 25.3 3046
+-103.934 25.3 3051
+-103.808 25.3 3072
+-103.682 25.3 3077
+-103.556 25.3 3081
+-103.43 25.3 3086
+-103.304 25.3 3041
+-103.178 25.3 3148
+-103.052 25.3 3149
+-102.926 25.3 3169
+-102.8 25.3 3174
+-102.674 25.3 3274
+-102.548 25.3 3279
+-102.422 25.3 3284
+-102.296 25.3 3321
+-102.17 25.3 3310
+-102.044 25.3 3317
+-101.918 25.3 3313
+-101.792 25.3 3330
+-101.666 25.3 3322
+-101.54 25.3 3344
+-101.414 25.3 3350
+-101.288 25.3 3347
+-101.162 25.3 3346
+-101.036 25.3 3351
+-100.91 25.3 3339
+-100.784 25.3 3382
+-100.658 25.3 3387
+-100.532 25.3 3362
+-100.406 25.3 3367
+-100.28 25.3 3410
+-100.154 25.3 3415
+-100.028 25.3 3379
+-99.902 25.3 3355
+-99.776 25.3 3371
+-99.65 25.3 3227
+-99.524 25.3 3230
+-99.398 25.3 3292
+-99.272 25.3 3296
+-99.146 25.3 3246
+-99.02 25.3 3262
+-98.894 25.3 3266
+-98.768 25.3 3242
+-98.642 25.3 3245
+-98.516 25.3 3249
+-98.39 25.3 3252
+-98.264 25.3 3255
+-98.138 25.3 3139
+-98.012 25.3 3140
+-97.886 25.3 3140
+-97.76 25.3 3083
+-97.634 25.3 3027
+-97.508 25.3 3024
+-97.382 25.3 3047
+-97.256 25.3 2976
+-97.13 25.3 2970
+-97.004 25.3 2971
+-96.878 25.3 3022
+-96.752 25.3 2998
+-96.626 25.3 3205
+-96.5 25.3 3199
+-96.374 25.3 3246
+-96.248 25.3 3384
+-96.122 25.3 3430
+-95.996 25.3 3429
+-95.87 25.3 3428
+-95.744 25.3 3461
+-95.618 25.3 3460
+-95.492 25.3 3458
+-95.366 25.3 3456
+-95.24 25.3 3455
+-95.114 25.3 3453
+-94.988 25.3 3471
+-94.862 25.3 3470
+-94.736 25.3 3468
+-94.61 25.3 3467
+-94.484 25.3 3465
+-94.358 25.3 3464
+-94.232 25.3 3489
+-94.106 25.3 3504
+-93.98 25.3 3502
+-93.854 25.3 3501
+-93.728 25.3 3525
+-93.602 25.3 3525
+-93.476 25.3 3524
+-93.35 25.3 3523
+-93.224 25.3 3522
+-93.098 25.3 3521
+-92.972 25.3 3520
+-92.846 25.3 3519
+-92.72 25.3 3518
+-92.594 25.3 3518
+-92.468 25.3 3517
+-92.342 25.3 3515
+-92.216 25.3 3522
+-92.09 25.3 3522
+-91.964 25.3 3521
+-91.838 25.3 3521
+-91.712 25.3 3521
+-91.586 25.3 3521
+-91.46 25.3 3520
+-91.334 25.3 3613
+-91.208 25.3 3610
+-91.082 25.3 3607
+-90.956 25.3 3604
+-90.83 25.3 3604
+-90.704 25.3 3651
+-90.578 25.3 3646
+-90.452 25.3 3641
+-90.326 25.3 3658
+-90.2 25.3 3651
+-90.074 25.3 3630
+-89.948 25.3 3624
+-89.822 25.3 3747
+-89.696 25.3 3738
+-89.57 25.3 3729
+-89.444 25.3 3718
+-89.318 25.3 3705
+-89.192 25.3 3691
+-89.066 25.3 3676
+-88.94 25.3 3682
+-88.814 25.3 3659
+-88.688 25.3 3633
+-88.562 25.3 3602
+-88.436 25.3 3562
+-88.31 25.3 3546
+-88.184 25.3 3487
+-88.058 25.3 3414
+-87.932 25.3 3332
+-87.806 25.3 3224
+-87.68 25.3 3171
+-87.554 25.3 3290
+-87.428 25.3 3519
+-87.302 25.3 3732
+-87.176 25.3 3892
+-87.05 25.3 4007
+-86.924 25.3 4097
+-86.798 25.3 4207
+-86.672 25.3 4341
+-86.546 25.3 4413
+-86.42 25.3 4508
+-86.294 25.3 4522
+-86.168 25.3 4632
+-86.042 25.3 4802
+-85.916 25.3 4930
+-85.79 25.3 4957
+-85.664 25.3 5081
+-85.538 25.3 5256
+-85.412 25.3 5429
+-85.286 25.3 5523
+-85.16 25.3 5559
+-85.034 25.3 5671
+-84.908 25.3 5794
+-84.782 25.3 5884
+-84.656 25.3 5979
+-84.53 25.3 6060
+-84.404 25.3 6161
+-84.278 25.3 6184
+-84.152 25.3 6307
+-84.026 25.3 6448
+-83.9 25.3 6469
+-83.774 25.3 6560
+-83.648 25.3 6659
+-83.522 25.3 6665
+-83.396 25.3 6747
+-83.27 25.3 6819
+-83.144 25.3 6852
+-83.018 25.3 6922
+-82.892 25.3 6978
+-82.766 25.3 6983
+-82.64 25.3 7016
+-82.514 25.3 7056
+-82.388 25.3 7063
+-82.262 25.3 7068
+-82.136 25.3 7090
+-82.01 25.3 7042
+-81.884 25.3 7075
+-81.758 25.3 7031
+-81.632 25.3 7007
+-81.506 25.3 6977
+-81.38 25.3 6947
+-81.254 25.3 6883
+-81.128 25.3 6815
+-81.002 25.3 6758
+-80.876 25.3 6708
+-80.75 25.3 6633
+-80.624 25.3 6553
+-80.498 25.3 6463
+-80.372 25.3 6450
+-80.246 25.3 6381
+-80.12 25.3 6278
+-79.994 25.3 6178
+-79.868 25.3 6100
+-79.742 25.3 6013
+-79.616 25.3 5836
+-79.49 25.3 5686
+-79.364 25.3 5575
+-79.238 25.3 5495
+-79.112 25.3 5372
+-78.986 25.3 5258
+-78.86 25.3 5220
+-78.734 25.3 5107
+-78.608 25.3 5093
+-78.482 25.3 5066
+-78.356 25.3 5013
+-78.23 25.3 4909
+-78.104 25.3 4847
+-77.978 25.3 4686
+-77.852 25.3 4542
+-77.726 25.3 4395
+-77.6 25.3 4259
+-77.474 25.3 4136
+-77.348 25.3 3955
+-77.222 25.3 3745
+-77.096 25.3 3537
+-76.97 25.3 3433
+-76.844 25.3 3470
+-76.718 25.3 3550
+-76.592 25.3 3576
+-76.466 25.3 3575
+-76.34 25.3 3494
+-76.214 25.3 3491
+-76.088 25.3 3483
+-75.962 25.3 3469
+-75.836 25.3 3410
+-75.71 25.3 3338
+-75.584 25.3 3290
+-75.458 25.3 3230
+-75.332 25.3 3156
+-75.206 25.3 3036
+-75.08 25.3 2892
+-74.954 25.3 2757
+-74.828 25.3 2658
+-74.702 25.3 2540
+-74.576 25.3 2464
+-74.45 25.3 2368
+-74.324 25.3 2333
+-74.198 25.3 2320
+-74.072 25.3 2326
+-73.946 25.3 2320
+-73.82 25.3 2341
+-73.694 25.3 2381
+-73.568 25.3 2419
+-73.442 25.3 2461
+-73.316 25.3 2507
+-73.19 25.3 2551
+-73.064 25.3 2593
+-72.938 25.3 2606
+-72.812 25.3 2642
+-72.686 25.3 2676
+-72.56 25.3 2663
+-72.434 25.3 2692
+-72.308 25.3 2685
+-72.182 25.3 2700
+-72.056 25.3 2689
+-71.93 25.3 2709
+-71.804 25.3 2686
+-71.678 25.3 2703
+-71.552 25.3 2718
+-71.426 25.3 2732
+-71.3 25.3 2745
+-71.174 25.3 2758
+-71.048 25.3 2769
+-70.922 25.3 2780
+-70.796 25.3 2790
+-70.67 25.3 2799
+-70.544 25.3 2807
+-70.418 25.3 2816
+-70.292 25.3 2823
+-70.166 25.3 2830
+-70.04 25.3 2837
+-69.914 25.3 2843
+-69.788 25.3 2849
+-69.662 25.3 2855
+-69.536 25.3 2861
+-69.41 25.3 2866
+-69.284 25.3 2843
+-69.158 25.3 2849
+-69.032 25.3 2854
+-68.906 25.3 2859
+-68.78 25.3 2863
+-68.654 25.3 2868
+-68.528 25.3 2828
+-68.402 25.3 2833
+-68.276 25.3 2827
+-68.15 25.3 2825
+-68.024 25.3 2800
+-67.898 25.3 2804
+-67.772 25.3 2808
+-67.646 25.3 2812
+-67.52 25.3 2816
+-67.394 25.3 2819
+-67.268 25.3 2823
+-67.142 25.3 2826
+-67.016 25.3 2829
+-66.89 25.3 2832
+-66.764 25.3 2835
+-66.638 25.3 2838
+-66.512 25.3 2841
+-66.386 25.3 2844
+-66.26 25.3 2846
+-66.134 25.3 2849
+-66.008 25.3 2851
+-65.882 25.3 2854
+-65.756 25.3 2856
+-65.63 25.3 2858
+-65.504 25.3 2861
+-65.378 25.3 2863
+-65.252 25.3 2865
+-65.126 25.3 2867
+-128 25.248 3555
+-127.874 25.248 3594
+-127.748 25.248 3594
+-127.622 25.248 3341
+-127.496 25.248 3350
+-127.37 25.248 3370
+-127.244 25.248 3265
+-127.118 25.248 3262
+-126.992 25.248 3243
+-126.866 25.248 3314
+-126.74 25.248 3276
+-126.614 25.248 3272
+-126.488 25.248 3296
+-126.362 25.248 3190
+-126.236 25.248 3194
+-126.11 25.248 3223
+-125.984 25.248 3213
+-125.858 25.248 3208
+-125.732 25.248 3203
+-125.606 25.248 3113
+-125.48 25.248 3111
+-125.354 25.248 3028
+-125.228 25.248 3035
+-125.102 25.248 3035
+-124.976 25.248 3029
+-124.85 25.248 2989
+-124.724 25.248 2983
+-124.598 25.248 2976
+-124.472 25.248 2993
+-124.346 25.248 2968
+-124.22 25.248 2960
+-124.094 25.248 2910
+-123.968 25.248 2902
+-123.842 25.248 2950
+-123.716 25.248 2907
+-123.59 25.248 2884
+-123.464 25.248 2789
+-123.338 25.248 2814
+-123.212 25.248 2801
+-123.086 25.248 2789
+-122.96 25.248 2775
+-122.834 25.248 2760
+-122.708 25.248 2745
+-122.582 25.248 2676
+-122.456 25.248 2666
+-122.33 25.248 2648
+-122.204 25.248 2603
+-122.078 25.248 2573
+-121.952 25.248 2542
+-121.826 25.248 2518
+-121.7 25.248 2472
+-121.574 25.248 2444
+-121.448 25.248 2399
+-121.322 25.248 2361
+-121.196 25.248 2311
+-121.07 25.248 2270
+-120.944 25.248 2219
+-120.818 25.248 2166
+-120.692 25.248 2108
+-120.566 25.248 2044
+-120.44 25.248 1972
+-120.314 25.248 1891
+-120.188 25.248 1772
+-120.062 25.248 1679
+-119.936 25.248 1579
+-119.81 25.248 1467
+-119.684 25.248 1366
+-119.558 25.248 1259
+-119.432 25.248 1184
+-119.306 25.248 1137
+-119.18 25.248 1125
+-119.054 25.248 1154
+-118.928 25.248 1223
+-118.802 25.248 1322
+-118.676 25.248 1442
+-118.55 25.248 1570
+-118.424 25.248 1696
+-118.298 25.248 1792
+-118.172 25.248 1896
+-118.046 25.248 1988
+-117.92 25.248 2066
+-117.794 25.248 2129
+-117.668 25.248 2185
+-117.542 25.248 2233
+-117.416 25.248 2260
+-117.29 25.248 2294
+-117.164 25.248 2312
+-117.038 25.248 2337
+-116.912 25.248 2357
+-116.786 25.248 2364
+-116.66 25.248 2390
+-116.534 25.248 2410
+-116.408 25.248 2428
+-116.282 25.248 2445
+-116.156 25.248 2463
+-116.03 25.248 2480
+-115.904 25.248 2549
+-115.778 25.248 2570
+-115.652 25.248 2519
+-115.526 25.248 2551
+-115.4 25.248 2569
+-115.274 25.248 2694
+-115.148 25.248 2731
+-115.022 25.248 2733
+-114.896 25.248 2770
+-114.77 25.248 2781
+-114.644 25.248 2762
+-114.518 25.248 2771
+-114.392 25.248 2780
+-114.266 25.248 2818
+-114.14 25.248 2825
+-114.014 25.248 2832
+-113.888 25.248 2859
+-113.762 25.248 2824
+-113.636 25.248 2828
+-113.51 25.248 2855
+-113.384 25.248 2860
+-113.258 25.248 2897
+-113.132 25.248 2899
+-113.006 25.248 2893
+-112.88 25.248 2890
+-112.754 25.248 2877
+-112.628 25.248 2881
+-112.502 25.248 2885
+-112.376 25.248 2889
+-112.25 25.248 2893
+-112.124 25.248 2901
+-111.998 25.248 2878
+-111.872 25.248 2912
+-111.746 25.248 2911
+-111.62 25.248 2871
+-111.494 25.248 2865
+-111.368 25.248 2839
+-111.242 25.248 2829
+-111.116 25.248 2815
+-110.99 25.248 2798
+-110.864 25.248 2777
+-110.738 25.248 2753
+-110.612 25.248 2727
+-110.486 25.248 2736
+-110.36 25.248 2711
+-110.234 25.248 2693
+-110.108 25.248 2686
+-109.982 25.248 2689
+-109.856 25.248 2705
+-109.73 25.248 2737
+-109.604 25.248 2742
+-109.478 25.248 2735
+-109.352 25.248 2721
+-109.226 25.248 2675
+-109.1 25.248 2626
+-108.974 25.248 2555
+-108.848 25.248 2455
+-108.722 25.248 2351
+-108.596 25.248 2303
+-108.47 25.248 2342
+-108.344 25.248 2427
+-108.218 25.248 2523
+-108.092 25.248 2607
+-107.966 25.248 2681
+-107.84 25.248 2755
+-107.714 25.248 2813
+-107.588 25.248 2857
+-107.462 25.248 2892
+-107.336 25.248 2971
+-107.21 25.248 2995
+-107.084 25.248 3015
+-106.958 25.248 2990
+-106.832 25.248 3007
+-106.706 25.248 3014
+-106.58 25.248 3019
+-106.454 25.248 3016
+-106.328 25.248 3020
+-106.202 25.248 3026
+-106.076 25.248 3084
+-105.95 25.248 3073
+-105.824 25.248 2994
+-105.698 25.248 2993
+-105.572 25.248 2992
+-105.446 25.248 3007
+-105.32 25.248 3007
+-105.194 25.248 3007
+-105.068 25.248 3029
+-104.942 25.248 3031
+-104.816 25.248 3033
+-104.69 25.248 2996
+-104.564 25.248 3041
+-104.438 25.248 3044
+-104.312 25.248 3048
+-104.186 25.248 3051
+-104.06 25.248 3055
+-103.934 25.248 3056
+-103.808 25.248 3060
+-103.682 25.248 3081
+-103.556 25.248 3086
+-103.43 25.248 3090
+-103.304 25.248 3095
+-103.178 25.248 3048
+-103.052 25.248 3158
+-102.926 25.248 3157
+-102.8 25.248 3178
+-102.674 25.248 3183
+-102.548 25.248 3284
+-102.422 25.248 3289
+-102.296 25.248 3293
+-102.17 25.248 3330
+-102.044 25.248 3321
+-101.918 25.248 3326
+-101.792 25.248 3321
+-101.666 25.248 3338
+-101.54 25.248 3330
+-101.414 25.248 3352
+-101.288 25.248 3357
+-101.162 25.248 3354
+-101.036 25.248 3352
+-100.91 25.248 3357
+-100.784 25.248 3345
+-100.658 25.248 3389
+-100.532 25.248 3394
+-100.406 25.248 3368
+-100.28 25.248 3373
+-100.154 25.248 3416
+-100.028 25.248 3421
+-99.902 25.248 3384
+-99.776 25.248 3359
+-99.65 25.248 3375
+-99.524 25.248 3230
+-99.398 25.248 3234
+-99.272 25.248 3296
+-99.146 25.248 3300
+-99.02 25.248 3250
+-98.894 25.248 3266
+-98.768 25.248 3269
+-98.642 25.248 3245
+-98.516 25.248 3248
+-98.39 25.248 3251
+-98.264 25.248 3254
+-98.138 25.248 3139
+-98.012 25.248 3139
+-97.886 25.248 3139
+-97.76 25.248 3139
+-97.634 25.248 3035
+-97.508 25.248 3026
+-97.382 25.248 3046
+-97.256 25.248 2975
+-97.13 25.248 2968
+-97.004 25.248 2971
+-96.878 25.248 3029
+-96.752 25.248 2998
+-96.626 25.248 3205
+-96.5 25.248 3199
+-96.374 25.248 3245
+-96.248 25.248 3383
+-96.122 25.248 3429
+-95.996 25.248 3428
+-95.87 25.248 3461
+-95.744 25.248 3460
+-95.618 25.248 3458
+-95.492 25.248 3457
+-95.366 25.248 3455
+-95.24 25.248 3454
+-95.114 25.248 3472
+-94.988 25.248 3470
+-94.862 25.248 3469
+-94.736 25.248 3467
+-94.61 25.248 3466
+-94.484 25.248 3464
+-94.358 25.248 3490
+-94.232 25.248 3504
+-94.106 25.248 3503
+-93.98 25.248 3501
+-93.854 25.248 3525
+-93.728 25.248 3524
+-93.602 25.248 3523
+-93.476 25.248 3523
+-93.35 25.248 3522
+-93.224 25.248 3521
+-93.098 25.248 3520
+-92.972 25.248 3519
+-92.846 25.248 3518
+-92.72 25.248 3517
+-92.594 25.248 3516
+-92.468 25.248 3515
+-92.342 25.248 3521
+-92.216 25.248 3520
+-92.09 25.248 3520
+-91.964 25.248 3520
+-91.838 25.248 3519
+-91.712 25.248 3519
+-91.586 25.248 3518
+-91.46 25.248 3611
+-91.334 25.248 3608
+-91.208 25.248 3605
+-91.082 25.248 3601
+-90.956 25.248 3601
+-90.83 25.248 3649
+-90.704 25.248 3644
+-90.578 25.248 3638
+-90.452 25.248 3656
+-90.326 25.248 3649
+-90.2 25.248 3628
+-90.074 25.248 3622
+-89.948 25.248 3747
+-89.822 25.248 3738
+-89.696 25.248 3729
+-89.57 25.248 3718
+-89.444 25.248 3706
+-89.318 25.248 3693
+-89.192 25.248 3678
+-89.066 25.248 3646
+-88.94 25.248 3628
+-88.814 25.248 3641
+-88.688 25.248 3613
+-88.562 25.248 3578
+-88.436 25.248 3547
+-88.31 25.248 3504
+-88.184 25.248 3451
+-88.058 25.248 3407
+-87.932 25.248 3343
+-87.806 25.248 3296
+-87.68 25.248 3298
+-87.554 25.248 3370
+-87.428 25.248 3520
+-87.302 25.248 3713
+-87.176 25.248 3868
+-87.05 25.248 3999
+-86.924 25.248 4157
+-86.798 25.248 4241
+-86.672 25.248 4309
+-86.546 25.248 4372
+-86.42 25.248 4428
+-86.294 25.248 4421
+-86.168 25.248 4551
+-86.042 25.248 4772
+-85.916 25.248 4884
+-85.79 25.248 4865
+-85.664 25.248 5034
+-85.538 25.248 5185
+-85.412 25.248 5325
+-85.286 25.248 5463
+-85.16 25.248 5450
+-85.034 25.248 5570
+-84.908 25.248 5751
+-84.782 25.248 5873
+-84.656 25.248 5971
+-84.53 25.248 6065
+-84.404 25.248 6128
+-84.278 25.248 6198
+-84.152 25.248 6288
+-84.026 25.248 6370
+-83.9 25.248 6395
+-83.774 25.248 6543
+-83.648 25.248 6578
+-83.522 25.248 6611
+-83.396 25.248 6691
+-83.27 25.248 6745
+-83.144 25.248 6811
+-83.018 25.248 6853
+-82.892 25.248 6895
+-82.766 25.248 6930
+-82.64 25.248 6969
+-82.514 25.248 6994
+-82.388 25.248 7018
+-82.262 25.248 7025
+-82.136 25.248 6986
+-82.01 25.248 7014
+-81.884 25.248 6995
+-81.758 25.248 6943
+-81.632 25.248 6934
+-81.506 25.248 6894
+-81.38 25.248 6856
+-81.254 25.248 6809
+-81.128 25.248 6778
+-81.002 25.248 6719
+-80.876 25.248 6645
+-80.75 25.248 6570
+-80.624 25.248 6504
+-80.498 25.248 6446
+-80.372 25.248 6393
+-80.246 25.248 6300
+-80.12 25.248 6255
+-79.994 25.248 6152
+-79.868 25.248 6095
+-79.742 25.248 5910
+-79.616 25.248 5747
+-79.49 25.248 5617
+-79.364 25.248 5535
+-79.238 25.248 5461
+-79.112 25.248 5378
+-78.986 25.248 5266
+-78.86 25.248 5186
+-78.734 25.248 5137
+-78.608 25.248 5103
+-78.482 25.248 5043
+-78.356 25.248 4923
+-78.23 25.248 4841
+-78.104 25.248 4742
+-77.978 25.248 4571
+-77.852 25.248 4469
+-77.726 25.248 4347
+-77.6 25.248 4235
+-77.474 25.248 4108
+-77.348 25.248 3973
+-77.222 25.248 3820
+-77.096 25.248 3689
+-76.97 25.248 3588
+-76.844 25.248 3573
+-76.718 25.248 3593
+-76.592 25.248 3593
+-76.466 25.248 3609
+-76.34 25.248 3510
+-76.214 25.248 3500
+-76.088 25.248 3448
+-75.962 25.248 3426
+-75.836 25.248 3359
+-75.71 25.248 3314
+-75.584 25.248 3256
+-75.458 25.248 3184
+-75.332 25.248 3059
+-75.206 25.248 2955
+-75.08 25.248 2762
+-74.954 25.248 2632
+-74.828 25.248 2510
+-74.702 25.248 2398
+-74.576 25.248 2275
+-74.45 25.248 2211
+-74.324 25.248 2146
+-74.198 25.248 2141
+-74.072 25.248 2161
+-73.946 25.248 2199
+-73.82 25.248 2223
+-73.694 25.248 2265
+-73.568 25.248 2325
+-73.442 25.248 2378
+-73.316 25.248 2432
+-73.19 25.248 2486
+-73.064 25.248 2537
+-72.938 25.248 2584
+-72.812 25.248 2601
+-72.686 25.248 2639
+-72.56 25.248 2674
+-72.434 25.248 2662
+-72.308 25.248 2693
+-72.182 25.248 2687
+-72.056 25.248 2701
+-71.93 25.248 2690
+-71.804 25.248 2711
+-71.678 25.248 2687
+-71.552 25.248 2704
+-71.426 25.248 2720
+-71.3 25.248 2734
+-71.174 25.248 2747
+-71.048 25.248 2759
+-70.922 25.248 2770
+-70.796 25.248 2781
+-70.67 25.248 2791
+-70.544 25.248 2800
+-70.418 25.248 2809
+-70.292 25.248 2817
+-70.166 25.248 2824
+-70.04 25.248 2831
+-69.914 25.248 2838
+-69.788 25.248 2844
+-69.662 25.248 2850
+-69.536 25.248 2856
+-69.41 25.248 2861
+-69.284 25.248 2866
+-69.158 25.248 2844
+-69.032 25.248 2849
+-68.906 25.248 2854
+-68.78 25.248 2859
+-68.654 25.248 2864
+-68.528 25.248 2868
+-68.402 25.248 2828
+-68.276 25.248 2834
+-68.15 25.248 2827
+-68.024 25.248 2825
+-67.898 25.248 2800
+-67.772 25.248 2804
+-67.646 25.248 2808
+-67.52 25.248 2812
+-67.394 25.248 2816
+-67.268 25.248 2819
+-67.142 25.248 2823
+-67.016 25.248 2826
+-66.89 25.248 2829
+-66.764 25.248 2832
+-66.638 25.248 2835
+-66.512 25.248 2838
+-66.386 25.248 2841
+-66.26 25.248 2844
+-66.134 25.248 2846
+-66.008 25.248 2849
+-65.882 25.248 2851
+-65.756 25.248 2854
+-65.63 25.248 2856
+-65.504 25.248 2858
+-65.378 25.248 2860
+-65.252 25.248 2862
+-65.126 25.248 2865
+-128 25.196 3595
+-127.874 25.196 3594
+-127.748 25.196 3340
+-127.622 25.196 3349
+-127.496 25.196 3370
+-127.37 25.196 3265
+-127.244 25.196 3262
+-127.118 25.196 3243
+-126.992 25.196 3314
+-126.866 25.196 3275
+-126.74 25.196 3272
+-126.614 25.196 3296
+-126.488 25.196 3190
+-126.362 25.196 3194
+-126.236 25.196 3224
+-126.11 25.196 3214
+-125.984 25.196 3208
+-125.858 25.196 3203
+-125.732 25.196 3113
+-125.606 25.196 3111
+-125.48 25.196 3029
+-125.354 25.196 3035
+-125.228 25.196 3036
+-125.102 25.196 3030
+-124.976 25.196 2990
+-124.85 25.196 2983
+-124.724 25.196 2977
+-124.598 25.196 2994
+-124.472 25.196 2970
+-124.346 25.196 2962
+-124.22 25.196 2912
+-124.094 25.196 2903
+-123.968 25.196 2953
+-123.842 25.196 2910
+-123.716 25.196 2887
+-123.59 25.196 2792
+-123.464 25.196 2817
+-123.338 25.196 2805
+-123.212 25.196 2793
+-123.086 25.196 2779
+-122.96 25.196 2765
+-122.834 25.196 2750
+-122.708 25.196 2681
+-122.582 25.196 2672
+-122.456 25.196 2654
+-122.33 25.196 2610
+-122.204 25.196 2580
+-122.078 25.196 2550
+-121.952 25.196 2527
+-121.826 25.196 2482
+-121.7 25.196 2454
+-121.574 25.196 2411
+-121.448 25.196 2373
+-121.322 25.196 2325
+-121.196 25.196 2286
+-121.07 25.196 2236
+-120.944 25.196 2185
+-120.818 25.196 2130
+-120.692 25.196 2067
+-120.566 25.196 1997
+-120.44 25.196 1918
+-120.314 25.196 1797
+-120.188 25.196 1702
+-120.062 25.196 1597
+-119.936 25.196 1477
+-119.81 25.196 1359
+-119.684 25.196 1229
+-119.558 25.196 1121
+-119.432 25.196 1031
+-119.306 25.196 972
+-119.18 25.196 954
+-119.054 25.196 984
+-118.928 25.196 1059
+-118.802 25.196 1172
+-118.676 25.196 1308
+-118.55 25.196 1454
+-118.424 25.196 1578
+-118.298 25.196 1709
+-118.172 25.196 1827
+-118.046 25.196 1930
+-117.92 25.196 2014
+-117.794 25.196 2089
+-117.668 25.196 2153
+-117.542 25.196 2195
+-117.416 25.196 2240
+-117.29 25.196 2267
+-117.164 25.196 2299
+-117.038 25.196 2324
+-116.912 25.196 2336
+-116.786 25.196 2366
+-116.66 25.196 2387
+-116.534 25.196 2408
+-116.408 25.196 2426
+-116.282 25.196 2445
+-116.156 25.196 2462
+-116.03 25.196 2530
+-115.904 25.196 2551
+-115.778 25.196 2499
+-115.652 25.196 2531
+-115.526 25.196 2549
+-115.4 25.196 2559
+-115.274 25.196 2560
+-115.148 25.196 2724
+-115.022 25.196 2759
+-114.896 25.196 2770
+-114.77 25.196 2710
+-114.644 25.196 2758
+-114.518 25.196 2766
+-114.392 25.196 2795
+-114.266 25.196 2812
+-114.14 25.196 2818
+-114.014 25.196 2846
+-113.888 25.196 2808
+-113.762 25.196 2813
+-113.636 25.196 2840
+-113.51 25.196 2844
+-113.384 25.196 2837
+-113.258 25.196 2841
+-113.132 25.196 2877
+-113.006 25.196 2872
+-112.88 25.196 2856
+-112.754 25.196 2858
+-112.628 25.196 2860
+-112.502 25.196 2862
+-112.376 25.196 2863
+-112.25 25.196 2870
+-112.124 25.196 2844
+-111.998 25.196 2843
+-111.872 25.196 2875
+-111.746 25.196 2834
+-111.62 25.196 2828
+-111.494 25.196 2802
+-111.368 25.196 2792
+-111.242 25.196 2779
+-111.116 25.196 2763
+-110.99 25.196 2743
+-110.864 25.196 2718
+-110.738 25.196 2689
+-110.612 25.196 2656
+-110.486 25.196 2621
+-110.36 25.196 2618
+-110.234 25.196 2593
+-110.108 25.196 2584
+-109.982 25.196 2594
+-109.856 25.196 2617
+-109.73 25.196 2648
+-109.604 25.196 2688
+-109.478 25.196 2695
+-109.352 25.196 2683
+-109.226 25.196 2646
+-109.1 25.196 2594
+-108.974 25.196 2512
+-108.848 25.196 2404
+-108.722 25.196 2300
+-108.596 25.196 2257
+-108.47 25.196 2294
+-108.344 25.196 2389
+-108.218 25.196 2490
+-108.092 25.196 2582
+-107.966 25.196 2656
+-107.84 25.196 2720
+-107.714 25.196 2787
+-107.588 25.196 2838
+-107.462 25.196 2875
+-107.336 25.196 2905
+-107.21 25.196 2984
+-107.084 25.196 3005
+-106.958 25.196 3022
+-106.832 25.196 2994
+-106.706 25.196 3011
+-106.58 25.196 3017
+-106.454 25.196 3022
+-106.328 25.196 3019
+-106.202 25.196 3024
+-106.076 25.196 3030
+-105.95 25.196 3091
+-105.824 25.196 3080
+-105.698 25.196 3000
+-105.572 25.196 2999
+-105.446 25.196 2999
+-105.32 25.196 3015
+-105.194 25.196 3015
+-105.068 25.196 3016
+-104.942 25.196 3039
+-104.816 25.196 3041
+-104.69 25.196 3043
+-104.564 25.196 3005
+-104.438 25.196 3051
+-104.312 25.196 3054
+-104.186 25.196 3058
+-104.06 25.196 3061
+-103.934 25.196 3065
+-103.808 25.196 3065
+-103.682 25.196 3069
+-103.556 25.196 3090
+-103.43 25.196 3094
+-103.304 25.196 3099
+-103.178 25.196 3103
+-103.052 25.196 3055
+-102.926 25.196 3166
+-102.8 25.196 3166
+-102.674 25.196 3186
+-102.548 25.196 3191
+-102.422 25.196 3293
+-102.296 25.196 3298
+-102.17 25.196 3302
+-102.044 25.196 3339
+-101.918 25.196 3327
+-101.792 25.196 3334
+-101.666 25.196 3329
+-101.54 25.196 3346
+-101.414 25.196 3337
+-101.288 25.196 3360
+-101.162 25.196 3365
+-101.036 25.196 3361
+-100.91 25.196 3359
+-100.784 25.196 3363
+-100.658 25.196 3351
+-100.532 25.196 3395
+-100.406 25.196 3399
+-100.28 25.196 3373
+-100.154 25.196 3378
+-100.028 25.196 3421
+-99.902 25.196 3426
+-99.776 25.196 3389
+-99.65 25.196 3364
+-99.524 25.196 3380
+-99.398 25.196 3234
+-99.272 25.196 3237
+-99.146 25.196 3299
+-99.02 25.196 3303
+-98.894 25.196 3253
+-98.768 25.196 3269
+-98.642 25.196 3272
+-98.516 25.196 3248
+-98.39 25.196 3251
+-98.264 25.196 3254
+-98.138 25.196 3145
+-98.012 25.196 3138
+-97.886 25.196 3138
+-97.76 25.196 3139
+-97.634 25.196 3034
+-97.508 25.196 3033
+-97.382 25.196 3053
+-97.256 25.196 3031
+-97.13 25.196 2968
+-97.004 25.196 2971
+-96.878 25.196 3029
+-96.752 25.196 2998
+-96.626 25.196 3204
+-96.5 25.196 3199
+-96.374 25.196 3245
+-96.248 25.196 3383
+-96.122 25.196 3428
+-95.996 25.196 3462
+-95.87 25.196 3460
+-95.744 25.196 3459
+-95.618 25.196 3457
+-95.492 25.196 3456
+-95.366 25.196 3454
+-95.24 25.196 3472
+-95.114 25.196 3471
+-94.988 25.196 3469
+-94.862 25.196 3468
+-94.736 25.196 3466
+-94.61 25.196 3465
+-94.484 25.196 3490
+-94.358 25.196 3505
+-94.232 25.196 3503
+-94.106 25.196 3502
+-93.98 25.196 3525
+-93.854 25.196 3524
+-93.728 25.196 3523
+-93.602 25.196 3522
+-93.476 25.196 3521
+-93.35 25.196 3520
+-93.224 25.196 3519
+-93.098 25.196 3518
+-92.972 25.196 3517
+-92.846 25.196 3516
+-92.72 25.196 3515
+-92.594 25.196 3514
+-92.468 25.196 3520
+-92.342 25.196 3520
+-92.216 25.196 3519
+-92.09 25.196 3519
+-91.964 25.196 3518
+-91.838 25.196 3518
+-91.712 25.196 3517
+-91.586 25.196 3609
+-91.46 25.196 3606
+-91.334 25.196 3603
+-91.208 25.196 3599
+-91.082 25.196 3599
+-90.956 25.196 3646
+-90.83 25.196 3642
+-90.704 25.196 3636
+-90.578 25.196 3654
+-90.452 25.196 3647
+-90.326 25.196 3626
+-90.2 25.196 3620
+-90.074 25.196 3696
+-89.948 25.196 3688
+-89.822 25.196 3680
+-89.696 25.196 3672
+-89.57 25.196 3662
+-89.444 25.196 3661
+-89.318 25.196 3648
+-89.192 25.196 3650
+-89.066 25.196 3633
+-88.94 25.196 3613
+-88.814 25.196 3591
+-88.688 25.196 3571
+-88.562 25.196 3569
+-88.436 25.196 3531
+-88.31 25.196 3485
+-88.184 25.196 3432
+-88.058 25.196 3371
+-87.932 25.196 3306
+-87.806 25.196 3262
+-87.68 25.196 3251
+-87.554 25.196 3324
+-87.428 25.196 3471
+-87.302 25.196 3635
+-87.176 25.196 3793
+-87.05 25.196 4035
+-86.924 25.196 4144
+-86.798 25.196 4205
+-86.672 25.196 4253
+-86.546 25.196 4313
+-86.42 25.196 4392
+-86.294 25.196 4470
+-86.168 25.196 4584
+-86.042 25.196 4751
+-85.916 25.196 4894
+-85.79 25.196 4962
+-85.664 25.196 5082
+-85.538 25.196 5128
+-85.412 25.196 5250
+-85.286 25.196 5428
+-85.16 25.196 5425
+-85.034 25.196 5528
+-84.908 25.196 5718
+-84.782 25.196 5845
+-84.656 25.196 5940
+-84.53 25.196 6012
+-84.404 25.196 6057
+-84.278 25.196 6168
+-84.152 25.196 6227
+-84.026 25.196 6322
+-83.9 25.196 6339
+-83.774 25.196 6486
+-83.648 25.196 6503
+-83.522 25.196 6597
+-83.396 25.196 6645
+-83.27 25.196 6726
+-83.144 25.196 6722
+-83.018 25.196 6822
+-82.892 25.196 6866
+-82.766 25.196 6904
+-82.64 25.196 6941
+-82.514 25.196 6926
+-82.388 25.196 6941
+-82.262 25.196 6961
+-82.136 25.196 6963
+-82.01 25.196 6953
+-81.884 25.196 6941
+-81.758 25.196 6904
+-81.632 25.196 6883
+-81.506 25.196 6840
+-81.38 25.196 6802
+-81.254 25.196 6788
+-81.128 25.196 6722
+-81.002 25.196 6654
+-80.876 25.196 6638
+-80.75 25.196 6537
+-80.624 25.196 6454
+-80.498 25.196 6377
+-80.372 25.196 6305
+-80.246 25.196 6277
+-80.12 25.196 6221
+-79.994 25.196 6126
+-79.868 25.196 6015
+-79.742 25.196 5821
+-79.616 25.196 5677
+-79.49 25.196 5589
+-79.364 25.196 5508
+-79.238 25.196 5417
+-79.112 25.196 5386
+-78.986 25.196 5230
+-78.86 25.196 5061
+-78.734 25.196 5115
+-78.608 25.196 5076
+-78.482 25.196 5000
+-78.356 25.196 4840
+-78.23 25.196 4728
+-78.104 25.196 4597
+-77.978 25.196 4442
+-77.852 25.196 4396
+-77.726 25.196 4294
+-77.6 25.196 4167
+-77.474 25.196 4061
+-77.348 25.196 3976
+-77.222 25.196 3884
+-77.096 25.196 3758
+-76.97 25.196 3686
+-76.844 25.196 3641
+-76.718 25.196 3624
+-76.592 25.196 3623
+-76.466 25.196 3540
+-76.34 25.196 3517
+-76.214 25.196 3469
+-76.088 25.196 3443
+-75.962 25.196 3381
+-75.836 25.196 3341
+-75.71 25.196 3288
+-75.584 25.196 3220
+-75.458 25.196 3070
+-75.332 25.196 2964
+-75.206 25.196 2839
+-75.08 25.196 2645
+-74.954 25.196 2493
+-74.828 25.196 2335
+-74.702 25.196 2196
+-74.576 25.196 2085
+-74.45 25.196 1979
+-74.324 25.196 1951
+-74.198 25.196 1935
+-74.072 25.196 1975
+-73.946 25.196 2036
+-73.82 25.196 2108
+-73.694 25.196 2161
+-73.568 25.196 2221
+-73.442 25.196 2297
+-73.316 25.196 2361
+-73.19 25.196 2422
+-73.064 25.196 2482
+-72.938 25.196 2536
+-72.812 25.196 2585
+-72.686 25.196 2604
+-72.56 25.196 2643
+-72.434 25.196 2679
+-72.308 25.196 2667
+-72.182 25.196 2698
+-72.056 25.196 2691
+-71.93 25.196 2705
+-71.804 25.196 2694
+-71.678 25.196 2715
+-71.552 25.196 2691
+-71.426 25.196 2707
+-71.3 25.196 2723
+-71.174 25.196 2737
+-71.048 25.196 2750
+-70.922 25.196 2762
+-70.796 25.196 2773
+-70.67 25.196 2783
+-70.544 25.196 2793
+-70.418 25.196 2802
+-70.292 25.196 2810
+-70.166 25.196 2818
+-70.04 25.196 2826
+-69.914 25.196 2833
+-69.788 25.196 2839
+-69.662 25.196 2845
+-69.536 25.196 2851
+-69.41 25.196 2857
+-69.284 25.196 2862
+-69.158 25.196 2867
+-69.032 25.196 2845
+-68.906 25.196 2850
+-68.78 25.196 2855
+-68.654 25.196 2860
+-68.528 25.196 2864
+-68.402 25.196 2869
+-68.276 25.196 2829
+-68.15 25.196 2834
+-68.024 25.196 2827
+-67.898 25.196 2826
+-67.772 25.196 2800
+-67.646 25.196 2804
+-67.52 25.196 2808
+-67.394 25.196 2812
+-67.268 25.196 2816
+-67.142 25.196 2819
+-67.016 25.196 2823
+-66.89 25.196 2826
+-66.764 25.196 2829
+-66.638 25.196 2832
+-66.512 25.196 2835
+-66.386 25.196 2838
+-66.26 25.196 2841
+-66.134 25.196 2844
+-66.008 25.196 2846
+-65.882 25.196 2849
+-65.756 25.196 2851
+-65.63 25.196 2853
+-65.504 25.196 2856
+-65.378 25.196 2858
+-65.252 25.196 2860
+-65.126 25.196 2862
+-128 25.144 3595
+-127.874 25.144 3340
+-127.748 25.144 3349
+-127.622 25.144 3370
+-127.496 25.144 3265
+-127.37 25.144 3262
+-127.244 25.144 3243
+-127.118 25.144 3314
+-126.992 25.144 3276
+-126.866 25.144 3272
+-126.74 25.144 3297
+-126.614 25.144 3190
+-126.488 25.144 3194
+-126.362 25.144 3224
+-126.236 25.144 3214
+-126.11 25.144 3209
+-125.984 25.144 3204
+-125.858 25.144 3114
+-125.732 25.144 3112
+-125.606 25.144 3029
+-125.48 25.144 3036
+-125.354 25.144 3037
+-125.228 25.144 3031
+-125.102 25.144 2991
+-124.976 25.144 2985
+-124.85 25.144 2978
+-124.724 25.144 2996
+-124.598 25.144 2972
+-124.472 25.144 2964
+-124.346 25.144 2914
+-124.22 25.144 2905
+-124.094 25.144 2956
+-123.968 25.144 2913
+-123.842 25.144 2890
+-123.716 25.144 2795
+-123.59 25.144 2820
+-123.464 25.144 2809
+-123.338 25.144 2797
+-123.212 25.144 2784
+-123.086 25.144 2770
+-122.96 25.144 2756
+-122.834 25.144 2686
+-122.708 25.144 2678
+-122.582 25.144 2661
+-122.456 25.144 2617
+-122.33 25.144 2588
+-122.204 25.144 2559
+-122.078 25.144 2537
+-121.952 25.144 2493
+-121.826 25.144 2467
+-121.7 25.144 2424
+-121.574 25.144 2388
+-121.448 25.144 2342
+-121.322 25.144 2305
+-121.196 25.144 2257
+-121.07 25.144 2210
+-120.944 25.144 2157
+-120.818 25.144 2098
+-120.692 25.144 2031
+-120.566 25.144 1956
+-120.44 25.144 1837
+-120.314 25.144 1745
+-120.188 25.144 1643
+-120.062 25.144 1521
+-119.936 25.144 1400
+-119.81 25.144 1259
+-119.684 25.144 1131
+-119.558 25.144 1011
+-119.432 25.144 910
+-119.306 25.144 842
+-119.18 25.144 819
+-119.054 25.144 848
+-118.928 25.144 928
+-118.802 25.144 1050
+-118.676 25.144 1199
+-118.55 25.144 1341
+-118.424 25.144 1495
+-118.298 25.144 1638
+-118.172 25.144 1767
+-118.046 25.144 1874
+-117.92 25.144 1971
+-117.794 25.144 2053
+-117.668 25.144 2112
+-117.542 25.144 2171
+-117.416 25.144 2208
+-117.29 25.144 2250
+-117.164 25.144 2282
+-117.038 25.144 2301
+-116.912 25.144 2335
+-116.786 25.144 2360
+-116.66 25.144 2383
+-116.534 25.144 2404
+-116.408 25.144 2424
+-116.282 25.144 2443
+-116.156 25.144 2510
+-116.03 25.144 2532
+-115.904 25.144 2479
+-115.778 25.144 2510
+-115.652 25.144 2528
+-115.526 25.144 2538
+-115.4 25.144 2575
+-115.274 25.144 2578
+-115.148 25.144 2749
+-115.022 25.144 2760
+-114.896 25.144 2697
+-114.77 25.144 2706
+-114.644 25.144 2753
+-114.518 25.144 2760
+-114.392 25.144 2788
+-114.266 25.144 2804
+-114.14 25.144 2809
+-114.014 25.144 2793
+-113.888 25.144 2797
+-113.762 25.144 2824
+-113.636 25.144 2827
+-113.51 25.144 2820
+-113.384 25.144 2815
+-113.258 25.144 2817
+-113.132 25.144 2853
+-113.006 25.144 2836
+-112.88 25.144 2835
+-112.754 25.144 2835
+-112.628 25.144 2835
+-112.502 25.144 2834
+-112.376 25.144 2803
+-112.25 25.144 2811
+-112.124 25.144 2808
+-111.998 25.144 2805
+-111.872 25.144 2797
+-111.746 25.144 2749
+-111.62 25.144 2741
+-111.494 25.144 2754
+-111.368 25.144 2742
+-111.242 25.144 2727
+-111.116 25.144 2709
+-110.99 25.144 2688
+-110.864 25.144 2660
+-110.738 25.144 2627
+-110.612 25.144 2587
+-110.486 25.144 2543
+-110.36 25.144 2499
+-110.234 25.144 2486
+-110.108 25.144 2473
+-109.982 25.144 2490
+-109.856 25.144 2528
+-109.73 25.144 2573
+-109.604 25.144 2614
+-109.478 25.144 2654
+-109.352 25.144 2624
+-109.226 25.144 2631
+-109.1 25.144 2576
+-108.974 25.144 2503
+-108.848 25.144 2411
+-108.722 25.144 2327
+-108.596 25.144 2292
+-108.47 25.144 2321
+-108.344 25.144 2391
+-108.218 25.144 2492
+-108.092 25.144 2577
+-107.966 25.144 2652
+-107.84 25.144 2710
+-107.714 25.144 2761
+-107.588 25.144 2819
+-107.462 25.144 2863
+-107.336 25.144 2894
+-107.21 25.144 2919
+-107.084 25.144 2998
+-106.958 25.144 3016
+-106.832 25.144 3031
+-106.706 25.144 2999
+-106.58 25.144 3016
+-106.454 25.144 3021
+-106.328 25.144 3026
+-106.202 25.144 3023
+-106.076 25.144 3028
+-105.95 25.144 3035
+-105.824 25.144 3099
+-105.698 25.144 3088
+-105.572 25.144 3006
+-105.446 25.144 3006
+-105.32 25.144 3006
+-105.194 25.144 3023
+-105.068 25.144 3024
+-104.942 25.144 3025
+-104.816 25.144 3048
+-104.69 25.144 3050
+-104.564 25.144 3052
+-104.438 25.144 3013
+-104.312 25.144 3061
+-104.186 25.144 3064
+-104.06 25.144 3067
+-103.934 25.144 3070
+-103.808 25.144 3073
+-103.682 25.144 3073
+-103.556 25.144 3077
+-103.43 25.144 3098
+-103.304 25.144 3102
+-103.178 25.144 3106
+-103.052 25.144 3110
+-102.926 25.144 3062
+-102.8 25.144 3174
+-102.674 25.144 3173
+-102.548 25.144 3194
+-102.422 25.144 3198
+-102.296 25.144 3302
+-102.17 25.144 3306
+-102.044 25.144 3310
+-101.918 25.144 3348
+-101.792 25.144 3337
+-101.666 25.144 3342
+-101.54 25.144 3336
+-101.414 25.144 3353
+-101.288 25.144 3344
+-101.162 25.144 3367
+-101.036 25.144 3371
+-100.91 25.144 3367
+-100.784 25.144 3365
+-100.658 25.144 3369
+-100.532 25.144 3356
+-100.406 25.144 3401
+-100.28 25.144 3405
+-100.154 25.144 3378
+-100.028 25.144 3383
+-99.902 25.144 3427
+-99.776 25.144 3431
+-99.65 25.144 3394
+-99.524 25.144 3368
+-99.398 25.144 3384
+-99.272 25.144 3237
+-99.146 25.144 3240
+-99.02 25.144 3303
+-98.894 25.144 3306
+-98.768 25.144 3256
+-98.642 25.144 3272
+-98.516 25.144 3275
+-98.39 25.144 3250
+-98.264 25.144 3253
+-98.138 25.144 3144
+-98.012 25.144 3144
+-97.886 25.144 3138
+-97.76 25.144 3138
+-97.634 25.144 3033
+-97.508 25.144 3033
+-97.382 25.144 3053
+-97.256 25.144 3030
+-97.13 25.144 2968
+-97.004 25.144 2971
+-96.878 25.144 3029
+-96.752 25.144 2998
+-96.626 25.144 3204
+-96.5 25.144 3199
+-96.374 25.144 3245
+-96.248 25.144 3382
+-96.122 25.144 3462
+-95.996 25.144 3461
+-95.87 25.144 3459
+-95.744 25.144 3458
+-95.618 25.144 3456
+-95.492 25.144 3454
+-95.366 25.144 3472
+-95.24 25.144 3471
+-95.114 25.144 3470
+-94.988 25.144 3468
+-94.862 25.144 3467
+-94.736 25.144 3465
+-94.61 25.144 3491
+-94.484 25.144 3506
+-94.358 25.144 3504
+-94.232 25.144 3502
+-94.106 25.144 3525
+-93.98 25.144 3524
+-93.854 25.144 3523
+-93.728 25.144 3522
+-93.602 25.144 3521
+-93.476 25.144 3520
+-93.35 25.144 3519
+-93.224 25.144 3518
+-93.098 25.144 3517
+-92.972 25.144 3516
+-92.846 25.144 3515
+-92.72 25.144 3513
+-92.594 25.144 3519
+-92.468 25.144 3519
+-92.342 25.144 3518
+-92.216 25.144 3518
+-92.09 25.144 3517
+-91.964 25.144 3516
+-91.838 25.144 3516
+-91.712 25.144 3607
+-91.586 25.144 3604
+-91.46 25.144 3601
+-91.334 25.144 3597
+-91.208 25.144 3598
+-91.082 25.144 3645
+-90.956 25.144 3640
+-90.83 25.144 3635
+-90.704 25.144 3653
+-90.578 25.144 3646
+-90.452 25.144 3624
+-90.326 25.144 3618
+-90.2 25.144 3695
+-90.074 25.144 3688
+-89.948 25.144 3681
+-89.822 25.144 3672
+-89.696 25.144 3663
+-89.57 25.144 3663
+-89.444 25.144 3651
+-89.318 25.144 3654
+-89.192 25.144 3638
+-89.066 25.144 3621
+-88.94 25.144 3601
+-88.814 25.144 3586
+-88.688 25.144 3559
+-88.562 25.144 3528
+-88.436 25.144 3517
+-88.31 25.144 3471
+-88.184 25.144 3413
+-88.058 25.144 3339
+-87.932 25.144 3244
+-87.806 25.144 3133
+-87.68 25.144 3078
+-87.554 25.144 3180
+-87.428 25.144 3377
+-87.302 25.144 3601
+-87.176 25.144 3784
+-87.05 25.144 3944
+-86.924 25.144 4055
+-86.798 25.144 4128
+-86.672 25.144 4167
+-86.546 25.144 4154
+-86.42 25.144 4275
+-86.294 25.144 4462
+-86.168 25.144 4610
+-86.042 25.144 4754
+-85.916 25.144 4911
+-85.79 25.144 4982
+-85.664 25.144 5041
+-85.538 25.144 5129
+-85.412 25.144 5251
+-85.286 25.144 5412
+-85.16 25.144 5462
+-85.034 25.144 5543
+-84.908 25.144 5661
+-84.782 25.144 5804
+-84.656 25.144 5883
+-84.53 25.144 5968
+-84.404 25.144 5945
+-84.278 25.144 6074
+-84.152 25.144 6202
+-84.026 25.144 6236
+-83.9 25.144 6357
+-83.774 25.144 6432
+-83.648 25.144 6481
+-83.522 25.144 6569
+-83.396 25.144 6585
+-83.27 25.144 6664
+-83.144 25.144 6718
+-83.018 25.144 6751
+-82.892 25.144 6798
+-82.766 25.144 6830
+-82.64 25.144 6860
+-82.514 25.144 6898
+-82.388 25.144 6868
+-82.262 25.144 6871
+-82.136 25.144 6882
+-82.01 25.144 6896
+-81.884 25.144 6879
+-81.758 25.144 6852
+-81.632 25.144 6825
+-81.506 25.144 6794
+-81.38 25.144 6745
+-81.254 25.144 6723
+-81.128 25.144 6660
+-81.002 25.144 6608
+-80.876 25.144 6548
+-80.75 25.144 6468
+-80.624 25.144 6395
+-80.498 25.144 6297
+-80.372 25.144 6233
+-80.246 25.144 6201
+-80.12 25.144 6161
+-79.994 25.144 6080
+-79.868 25.144 5934
+-79.742 25.144 5754
+-79.616 25.144 5678
+-79.49 25.144 5651
+-79.364 25.144 5503
+-79.238 25.144 5439
+-79.112 25.144 5362
+-78.986 25.144 5236
+-78.86 25.144 5138
+-78.734 25.144 5092
+-78.608 25.144 5028
+-78.482 25.144 4868
+-78.356 25.144 4742
+-78.23 25.144 4608
+-78.104 25.144 4417
+-77.978 25.144 4284
+-77.852 25.144 4272
+-77.726 25.144 4226
+-77.6 25.144 4111
+-77.474 25.144 4042
+-77.348 25.144 3968
+-77.222 25.144 3858
+-77.096 25.144 3780
+-76.97 25.144 3694
+-76.844 25.144 3658
+-76.718 25.144 3644
+-76.592 25.144 3642
+-76.466 25.144 3509
+-76.34 25.144 3464
+-76.214 25.144 3439
+-76.088 25.144 3413
+-75.962 25.144 3367
+-75.836 25.144 3321
+-75.71 25.144 3261
+-75.584 25.144 3119
+-75.458 25.144 2981
+-75.332 25.144 2857
+-75.206 25.144 2708
+-75.08 25.144 2535
+-74.954 25.144 2327
+-74.828 25.144 2136
+-74.702 25.144 1958
+-74.576 25.144 1824
+-74.45 25.144 1744
+-74.324 25.144 1691
+-74.198 25.144 1723
+-74.072 25.144 1770
+-73.946 25.144 1861
+-73.82 25.144 1961
+-73.694 25.144 2063
+-73.568 25.144 2138
+-73.442 25.144 2210
+-73.316 25.144 2294
+-73.19 25.144 2365
+-73.064 25.144 2430
+-72.938 25.144 2491
+-72.812 25.144 2546
+-72.686 25.144 2596
+-72.56 25.144 2614
+-72.434 25.144 2653
+-72.308 25.144 2689
+-72.182 25.144 2676
+-72.056 25.144 2706
+-71.93 25.144 2699
+-71.804 25.144 2712
+-71.678 25.144 2700
+-71.552 25.144 2720
+-71.426 25.144 2696
+-71.3 25.144 2712
+-71.174 25.144 2727
+-71.048 25.144 2741
+-70.922 25.144 2753
+-70.796 25.144 2765
+-70.67 25.144 2776
+-70.544 25.144 2786
+-70.418 25.144 2795
+-70.292 25.144 2804
+-70.166 25.144 2813
+-70.04 25.144 2820
+-69.914 25.144 2828
+-69.788 25.144 2834
+-69.662 25.144 2841
+-69.536 25.144 2847
+-69.41 25.144 2853
+-69.284 25.144 2858
+-69.158 25.144 2863
+-69.032 25.144 2868
+-68.906 25.144 2846
+-68.78 25.144 2851
+-68.654 25.144 2856
+-68.528 25.144 2861
+-68.402 25.144 2865
+-68.276 25.144 2870
+-68.15 25.144 2830
+-68.024 25.144 2835
+-67.898 25.144 2828
+-67.772 25.144 2826
+-67.646 25.144 2801
+-67.52 25.144 2805
+-67.394 25.144 2809
+-67.268 25.144 2812
+-67.142 25.144 2816
+-67.016 25.144 2820
+-66.89 25.144 2823
+-66.764 25.144 2826
+-66.638 25.144 2829
+-66.512 25.144 2832
+-66.386 25.144 2835
+-66.26 25.144 2838
+-66.134 25.144 2841
+-66.008 25.144 2844
+-65.882 25.144 2846
+-65.756 25.144 2849
+-65.63 25.144 2851
+-65.504 25.144 2853
+-65.378 25.144 2856
+-65.252 25.144 2858
+-65.126 25.144 2860
+-128 25.092 3340
+-127.874 25.092 3349
+-127.748 25.092 3370
+-127.622 25.092 3265
+-127.496 25.092 3262
+-127.37 25.092 3243
+-127.244 25.092 3314
+-127.118 25.092 3276
+-126.992 25.092 3272
+-126.866 25.092 3297
+-126.74 25.092 3190
+-126.614 25.092 3194
+-126.488 25.092 3225
+-126.362 25.092 3215
+-126.236 25.092 3209
+-126.11 25.092 3205
+-125.984 25.092 3115
+-125.858 25.092 3113
+-125.732 25.092 3030
+-125.606 25.092 3037
+-125.48 25.092 3038
+-125.354 25.092 3032
+-125.228 25.092 2992
+-125.102 25.092 2986
+-124.976 25.092 2979
+-124.85 25.092 2998
+-124.724 25.092 2973
+-124.598 25.092 2966
+-124.472 25.092 2916
+-124.346 25.092 2908
+-124.22 25.092 2959
+-124.094 25.092 2916
+-123.968 25.092 2894
+-123.842 25.092 2798
+-123.716 25.092 2824
+-123.59 25.092 2813
+-123.464 25.092 2802
+-123.338 25.092 2789
+-123.212 25.092 2776
+-123.086 25.092 2762
+-122.96 25.092 2692
+-122.834 25.092 2685
+-122.708 25.092 2669
+-122.582 25.092 2626
+-122.456 25.092 2597
+-122.33 25.092 2568
+-122.204 25.092 2548
+-122.078 25.092 2505
+-121.952 25.092 2480
+-121.826 25.092 2439
+-121.7 25.092 2405
+-121.574 25.092 2360
+-121.448 25.092 2325
+-121.322 25.092 2281
+-121.196 25.092 2237
+-121.07 25.092 2188
+-120.944 25.092 2133
+-120.818 25.092 2071
+-120.692 25.092 2002
+-120.566 25.092 1886
+-120.44 25.092 1801
+-120.314 25.092 1706
+-120.188 25.092 1589
+-120.062 25.092 1472
+-119.936 25.092 1331
+-119.81 25.092 1199
+-119.684 25.092 1066
+-119.558 25.092 939
+-119.432 25.092 833
+-119.306 25.092 760
+-119.18 25.092 734
+-119.054 25.092 763
+-118.928 25.092 844
+-118.802 25.092 970
+-118.676 25.092 1112
+-118.55 25.092 1274
+-118.424 25.092 1434
+-118.298 25.092 1584
+-118.172 25.092 1712
+-118.046 25.092 1832
+-117.92 25.092 1934
+-117.794 25.092 2013
+-117.668 25.092 2087
+-117.542 25.092 2137
+-117.416 25.092 2190
+-117.29 25.092 2230
+-117.164 25.092 2257
+-117.038 25.092 2297
+-116.912 25.092 2327
+-116.786 25.092 2354
+-116.66 25.092 2378
+-116.534 25.092 2401
+-116.408 25.092 2421
+-116.282 25.092 2488
+-116.156 25.092 2510
+-116.03 25.092 2458
+-115.904 25.092 2489
+-115.778 25.092 2508
+-115.652 25.092 2518
+-115.526 25.092 2554
+-115.4 25.092 2558
+-115.274 25.092 2565
+-115.148 25.092 2625
+-115.022 25.092 2686
+-114.896 25.092 2693
+-114.77 25.092 2701
+-114.644 25.092 2747
+-114.518 25.092 2753
+-114.392 25.092 2781
+-114.266 25.092 2786
+-114.14 25.092 2778
+-114.014 25.092 2781
+-113.888 25.092 2786
+-113.762 25.092 2811
+-113.636 25.092 2802
+-113.51 25.092 2796
+-113.384 25.092 2797
+-113.258 25.092 2788
+-113.132 25.092 2771
+-113.006 25.092 2813
+-112.88 25.092 2811
+-112.754 25.092 2808
+-112.628 25.092 2805
+-112.502 25.092 2772
+-112.376 25.092 2778
+-112.25 25.092 2773
+-112.124 25.092 2768
+-111.998 25.092 2759
+-111.872 25.092 2710
+-111.746 25.092 2701
+-111.62 25.092 2692
+-111.494 25.092 2702
+-111.368 25.092 2689
+-111.242 25.092 2674
+-111.116 25.092 2655
+-110.99 25.092 2633
+-110.864 25.092 2605
+-110.738 25.092 2569
+-110.612 25.092 2525
+-110.486 25.092 2473
+-110.36 25.092 2418
+-110.234 25.092 2375
+-110.108 25.092 2369
+-109.982 25.092 2391
+-109.856 25.092 2443
+-109.73 25.092 2506
+-109.604 25.092 2560
+-109.478 25.092 2588
+-109.352 25.092 2599
+-109.226 25.092 2587
+-109.1 25.092 2580
+-108.974 25.092 2518
+-108.848 25.092 2451
+-108.722 25.092 2392
+-108.596 25.092 2367
+-108.47 25.092 2385
+-108.344 25.092 2435
+-108.218 25.092 2498
+-108.092 25.092 2592
+-107.966 25.092 2657
+-107.84 25.092 2714
+-107.714 25.092 2757
+-107.588 25.092 2798
+-107.462 25.092 2849
+-107.336 25.092 2886
+-107.21 25.092 2911
+-107.084 25.092 2932
+-106.958 25.092 3012
+-106.832 25.092 3027
+-106.706 25.092 3040
+-106.58 25.092 3006
+-106.454 25.092 3021
+-106.328 25.092 3027
+-106.202 25.092 3031
+-106.076 25.092 3028
+-105.95 25.092 3034
+-105.824 25.092 3041
+-105.698 25.092 3107
+-105.572 25.092 3095
+-105.446 25.092 3012
+-105.32 25.092 3012
+-105.194 25.092 3012
+-105.068 25.092 3030
+-104.942 25.092 3031
+-104.816 25.092 3032
+-104.69 25.092 3057
+-104.564 25.092 3059
+-104.438 25.092 3061
+-104.312 25.092 3020
+-104.186 25.092 3069
+-104.06 25.092 3072
+-103.934 25.092 3075
+-103.808 25.092 3078
+-103.682 25.092 3081
+-103.556 25.092 3081
+-103.43 25.092 3084
+-103.304 25.092 3106
+-103.178 25.092 3109
+-103.052 25.092 3113
+-102.926 25.092 3117
+-102.8 25.092 3067
+-102.674 25.092 3182
+-102.548 25.092 3180
+-102.422 25.092 3201
+-102.296 25.092 3205
+-102.17 25.092 3310
+-102.044 25.092 3314
+-101.918 25.092 3318
+-101.792 25.092 3356
+-101.666 25.092 3343
+-101.54 25.092 3349
+-101.414 25.092 3343
+-101.288 25.092 3360
+-101.162 25.092 3351
+-101.036 25.092 3373
+-100.91 25.092 3378
+-100.784 25.092 3374
+-100.658 25.092 3371
+-100.532 25.092 3375
+-100.406 25.092 3362
+-100.28 25.092 3406
+-100.154 25.092 3411
+-100.028 25.092 3383
+-99.902 25.092 3387
+-99.776 25.092 3432
+-99.65 25.092 3436
+-99.524 25.092 3398
+-99.398 25.092 3372
+-99.272 25.092 3389
+-99.146 25.092 3240
+-99.02 25.092 3243
+-98.894 25.092 3306
+-98.768 25.092 3310
+-98.642 25.092 3259
+-98.516 25.092 3275
+-98.39 25.092 3278
+-98.264 25.092 3253
+-98.138 25.092 3144
+-98.012 25.092 3144
+-97.886 25.092 3144
+-97.76 25.092 3137
+-97.634 25.092 3033
+-97.508 25.092 3032
+-97.382 25.092 3052
+-97.256 25.092 3030
+-97.13 25.092 2968
+-97.004 25.092 2970
+-96.878 25.092 3029
+-96.752 25.092 2999
+-96.626 25.092 3204
+-96.5 25.092 3199
+-96.374 25.092 3254
+-96.248 25.092 3381
+-96.122 25.092 3461
+-95.996 25.092 3460
+-95.87 25.092 3458
+-95.744 25.092 3457
+-95.618 25.092 3455
+-95.492 25.092 3473
+-95.366 25.092 3471
+-95.24 25.092 3470
+-95.114 25.092 3469
+-94.988 25.092 3467
+-94.862 25.092 3466
+-94.736 25.092 3491
+-94.61 25.092 3506
+-94.484 25.092 3505
+-94.358 25.092 3503
+-94.232 25.092 3525
+-94.106 25.092 3524
+-93.98 25.092 3523
+-93.854 25.092 3522
+-93.728 25.092 3521
+-93.602 25.092 3520
+-93.476 25.092 3519
+-93.35 25.092 3518
+-93.224 25.092 3517
+-93.098 25.092 3516
+-92.972 25.092 3514
+-92.846 25.092 3513
+-92.72 25.092 3519
+-92.594 25.092 3518
+-92.468 25.092 3518
+-92.342 25.092 3517
+-92.216 25.092 3516
+-92.09 25.092 3516
+-91.964 25.092 3515
+-91.838 25.092 3606
+-91.712 25.092 3603
+-91.586 25.092 3600
+-91.46 25.092 3596
+-91.334 25.092 3597
+-91.208 25.092 3644
+-91.082 25.092 3639
+-90.956 25.092 3634
+-90.83 25.092 3652
+-90.704 25.092 3646
+-90.578 25.092 3623
+-90.452 25.092 3617
+-90.326 25.092 3696
+-90.2 25.092 3689
+-90.074 25.092 3681
+-89.948 25.092 3674
+-89.822 25.092 3675
+-89.696 25.092 3665
+-89.57 25.092 3654
+-89.444 25.092 3658
+-89.318 25.092 3644
+-89.192 25.092 3628
+-89.066 25.092 3589
+-88.94 25.092 3570
+-88.814 25.092 3549
+-88.688 25.092 3549
+-88.562 25.092 3519
+-88.436 25.092 3482
+-88.31 25.092 3440
+-88.184 25.092 3402
+-88.058 25.092 3320
+-87.932 25.092 3207
+-87.806 25.092 3063
+-87.68 25.092 2973
+-87.554 25.092 3091
+-87.428 25.092 3326
+-87.302 25.092 3543
+-87.176 25.092 3734
+-87.05 25.092 3887
+-86.924 25.092 4008
+-86.798 25.092 4103
+-86.672 25.092 4099
+-86.546 25.092 4052
+-86.42 25.092 4187
+-86.294 25.092 4424
+-86.168 25.092 4543
+-86.042 25.092 4709
+-85.916 25.092 4872
+-85.79 25.092 4972
+-85.664 25.092 4966
+-85.538 25.092 5072
+-85.412 25.092 5219
+-85.286 25.092 5376
+-85.16 25.092 5492
+-85.034 25.092 5556
+-84.908 25.092 5627
+-84.782 25.092 5702
+-84.656 25.092 5795
+-84.53 25.092 5911
+-84.404 25.092 5981
+-84.278 25.092 5980
+-84.152 25.092 6118
+-84.026 25.092 6213
+-83.9 25.092 6297
+-83.774 25.092 6333
+-83.648 25.092 6431
+-83.522 25.092 6538
+-83.396 25.092 6593
+-83.27 25.092 6604
+-83.144 25.092 6668
+-83.018 25.092 6684
+-82.892 25.092 6731
+-82.766 25.092 6768
+-82.64 25.092 6787
+-82.514 25.092 6812
+-82.388 25.092 6839
+-82.262 25.092 6818
+-82.136 25.092 6830
+-82.01 25.092 6811
+-81.884 25.092 6785
+-81.758 25.092 6756
+-81.632 25.092 6767
+-81.506 25.092 6716
+-81.38 25.092 6680
+-81.254 25.092 6650
+-81.128 25.092 6593
+-81.002 25.092 6565
+-80.876 25.092 6480
+-80.75 25.092 6407
+-80.624 25.092 6392
+-80.498 25.092 6265
+-80.372 25.092 6180
+-80.246 25.092 6102
+-80.12 25.092 6110
+-79.994 25.092 6029
+-79.868 25.092 5884
+-79.742 25.092 5761
+-79.616 25.092 5665
+-79.49 25.092 5578
+-79.364 25.092 5453
+-79.238 25.092 5311
+-79.112 25.092 5317
+-78.986 25.092 5242
+-78.86 25.092 5169
+-78.734 25.092 5044
+-78.608 25.092 4908
+-78.482 25.092 4766
+-78.356 25.092 4615
+-78.23 25.092 4487
+-78.104 25.092 4325
+-77.978 25.092 4226
+-77.852 25.092 4220
+-77.726 25.092 4143
+-77.6 25.092 4044
+-77.474 25.092 3994
+-77.348 25.092 3925
+-77.222 25.092 3812
+-77.096 25.092 3735
+-76.97 25.092 3680
+-76.844 25.092 3639
+-76.718 25.092 3628
+-76.592 25.092 3595
+-76.466 25.092 3509
+-76.34 25.092 3484
+-76.214 25.092 3434
+-76.088 25.092 3401
+-75.962 25.092 3363
+-75.836 25.092 3301
+-75.71 25.092 3172
+-75.584 25.092 3047
+-75.458 25.092 2933
+-75.332 25.092 2790
+-75.206 25.092 2614
+-75.08 25.092 2405
+-74.954 25.092 2171
+-74.828 25.092 1907
+-74.702 25.092 1691
+-74.576 25.092 1527
+-74.45 25.092 1442
+-74.324 25.092 1436
+-74.198 25.092 1467
+-74.072 25.092 1573
+-73.946 25.092 1682
+-73.82 25.092 1815
+-73.694 25.092 1944
+-73.568 25.092 2065
+-73.442 25.092 2150
+-73.316 25.092 2227
+-73.19 25.092 2314
+-73.064 25.092 2386
+-72.938 25.092 2450
+-72.812 25.092 2511
+-72.686 25.092 2565
+-72.56 25.092 2613
+-72.434 25.092 2630
+-72.308 25.092 2668
+-72.182 25.092 2702
+-72.056 25.092 2688
+-71.93 25.092 2717
+-71.804 25.092 2709
+-71.678 25.092 2721
+-71.552 25.092 2708
+-71.426 25.092 2727
+-71.3 25.092 2703
+-71.174 25.092 2718
+-71.048 25.092 2732
+-70.922 25.092 2745
+-70.796 25.092 2758
+-70.67 25.092 2769
+-70.544 25.092 2780
+-70.418 25.092 2789
+-70.292 25.092 2799
+-70.166 25.092 2807
+-70.04 25.092 2815
+-69.914 25.092 2823
+-69.788 25.092 2830
+-69.662 25.092 2837
+-69.536 25.092 2843
+-69.41 25.092 2849
+-69.284 25.092 2854
+-69.158 25.092 2860
+-69.032 25.092 2865
+-68.906 25.092 2870
+-68.78 25.092 2847
+-68.654 25.092 2852
+-68.528 25.092 2857
+-68.402 25.092 2862
+-68.276 25.092 2866
+-68.15 25.092 2871
+-68.024 25.092 2831
+-67.898 25.092 2836
+-67.772 25.092 2829
+-67.646 25.092 2827
+-67.52 25.092 2801
+-67.394 25.092 2805
+-67.268 25.092 2809
+-67.142 25.092 2813
+-67.016 25.092 2816
+-66.89 25.092 2820
+-66.764 25.092 2823
+-66.638 25.092 2826
+-66.512 25.092 2830
+-66.386 25.092 2833
+-66.26 25.092 2836
+-66.134 25.092 2838
+-66.008 25.092 2841
+-65.882 25.092 2844
+-65.756 25.092 2846
+-65.63 25.092 2849
+-65.504 25.092 2851
+-65.378 25.092 2853
+-65.252 25.092 2856
+-65.126 25.092 2858
+-128 25.04 3349
+-127.874 25.04 3370
+-127.748 25.04 3265
+-127.622 25.04 3262
+-127.496 25.04 3243
+-127.37 25.04 3315
+-127.244 25.04 3276
+-127.118 25.04 3272
+-126.992 25.04 3297
+-126.866 25.04 3191
+-126.74 25.04 3195
+-126.614 25.04 3225
+-126.488 25.04 3216
+-126.362 25.04 3211
+-126.236 25.04 3205
+-126.11 25.04 3115
+-125.984 25.04 3113
+-125.858 25.04 3031
+-125.732 25.04 3038
+-125.606 25.04 3039
+-125.48 25.04 3034
+-125.354 25.04 2993
+-125.228 25.04 2987
+-125.102 25.04 2981
+-124.976 25.04 3000
+-124.85 25.04 2975
+-124.724 25.04 2968
+-124.598 25.04 2918
+-124.472 25.04 2910
+-124.346 25.04 2963
+-124.22 25.04 2920
+-124.094 25.04 2897
+-123.968 25.04 2801
+-123.842 25.04 2829
+-123.716 25.04 2818
+-123.59 25.04 2807
+-123.464 25.04 2795
+-123.338 25.04 2782
+-123.212 25.04 2769
+-123.086 25.04 2699
+-122.96 25.04 2693
+-122.834 25.04 2677
+-122.708 25.04 2634
+-122.582 25.04 2607
+-122.456 25.04 2579
+-122.33 25.04 2559
+-122.204 25.04 2517
+-122.078 25.04 2494
+-121.952 25.04 2454
+-121.826 25.04 2422
+-121.7 25.04 2379
+-121.574 25.04 2347
+-121.448 25.04 2305
+-121.322 25.04 2265
+-121.196 25.04 2220
+-121.07 25.04 2170
+-120.944 25.04 2114
+-120.818 25.04 2050
+-120.692 25.04 1939
+-120.566 25.04 1862
+-120.44 25.04 1775
+-120.314 25.04 1668
+-120.188 25.04 1561
+-120.062 25.04 1426
+-119.936 25.04 1301
+-119.81 25.04 1169
+-119.684 25.04 1035
+-119.558 25.04 910
+-119.432 25.04 805
+-119.306 25.04 733
+-119.18 25.04 707
+-119.054 25.04 734
+-118.928 25.04 813
+-118.802 25.04 930
+-118.676 25.04 1077
+-118.55 25.04 1237
+-118.424 25.04 1397
+-118.298 25.04 1542
+-118.172 25.04 1679
+-118.046 25.04 1801
+-117.92 25.04 1898
+-117.794 25.04 1989
+-117.668 25.04 2053
+-117.542 25.04 2118
+-117.416 25.04 2168
+-117.29 25.04 2204
+-117.164 25.04 2251
+-117.038 25.04 2288
+-116.912 25.04 2320
+-116.786 25.04 2347
+-116.66 25.04 2373
+-116.534 25.04 2397
+-116.408 25.04 2463
+-116.282 25.04 2487
+-116.156 25.04 2436
+-116.03 25.04 2467
+-115.904 25.04 2486
+-115.778 25.04 2497
+-115.652 25.04 2532
+-115.526 25.04 2537
+-115.4 25.04 2545
+-115.274 25.04 2561
+-115.148 25.04 2548
+-115.022 25.04 2561
+-114.896 25.04 2689
+-114.77 25.04 2695
+-114.644 25.04 2740
+-114.518 25.04 2767
+-114.392 25.04 2772
+-114.266 25.04 2748
+-114.14 25.04 2737
+-114.014 25.04 2740
+-113.888 25.04 2772
+-113.762 25.04 2785
+-113.636 25.04 2778
+-113.51 25.04 2778
+-113.384 25.04 2768
+-113.258 25.04 2766
+-113.132 25.04 2747
+-113.006 25.04 2788
+-112.88 25.04 2783
+-112.754 25.04 2778
+-112.628 25.04 2742
+-112.502 25.04 2747
+-112.376 25.04 2740
+-112.25 25.04 2732
+-112.124 25.04 2692
+-111.998 25.04 2671
+-111.872 25.04 2661
+-111.746 25.04 2650
+-111.62 25.04 2638
+-111.494 25.04 2647
+-111.368 25.04 2633
+-111.242 25.04 2618
+-111.116 25.04 2600
+-110.99 25.04 2580
+-110.864 25.04 2553
+-110.738 25.04 2519
+-110.612 25.04 2475
+-110.486 25.04 2420
+-110.36 25.04 2361
+-110.234 25.04 2311
+-110.108 25.04 2291
+-109.982 25.04 2318
+-109.856 25.04 2380
+-109.73 25.04 2454
+-109.604 25.04 2519
+-109.478 25.04 2550
+-109.352 25.04 2578
+-109.226 25.04 2578
+-109.1 25.04 2558
+-108.974 25.04 2543
+-108.848 25.04 2499
+-108.722 25.04 2461
+-108.596 25.04 2445
+-108.47 25.04 2455
+-108.344 25.04 2489
+-108.218 25.04 2535
+-108.092 25.04 2586
+-107.966 25.04 2644
+-107.84 25.04 2722
+-107.714 25.04 2765
+-107.588 25.04 2797
+-107.462 25.04 2828
+-107.336 25.04 2874
+-107.21 25.04 2906
+-107.084 25.04 2927
+-106.958 25.04 2944
+-106.832 25.04 3025
+-106.706 25.04 3038
+-106.58 25.04 3049
+-106.454 25.04 3012
+-106.328 25.04 3027
+-106.202 25.04 3032
+-106.076 25.04 3036
+-105.95 25.04 3033
+-105.824 25.04 3039
+-105.698 25.04 3047
+-105.572 25.04 3114
+-105.446 25.04 3103
+-105.32 25.04 3017
+-105.194 25.04 3018
+-105.068 25.04 3019
+-104.942 25.04 3037
+-104.816 25.04 3038
+-104.69 25.04 3039
+-104.564 25.04 3064
+-104.438 25.04 3066
+-104.312 25.04 3069
+-104.186 25.04 3027
+-104.06 25.04 3077
+-103.934 25.04 3080
+-103.808 25.04 3082
+-103.682 25.04 3085
+-103.556 25.04 3088
+-103.43 25.04 3088
+-103.304 25.04 3091
+-103.178 25.04 3112
+-103.052 25.04 3116
+-102.926 25.04 3120
+-102.8 25.04 3123
+-102.674 25.04 3073
+-102.548 25.04 3189
+-102.422 25.04 3187
+-102.296 25.04 3208
+-102.17 25.04 3212
+-102.044 25.04 3318
+-101.918 25.04 3322
+-101.792 25.04 3325
+-101.666 25.04 3363
+-101.54 25.04 3351
+-101.414 25.04 3356
+-101.288 25.04 3349
+-101.162 25.04 3367
+-101.036 25.04 3357
+-100.91 25.04 3380
+-100.784 25.04 3384
+-100.658 25.04 3380
+-100.532 25.04 3377
+-100.406 25.04 3380
+-100.28 25.04 3367
+-100.154 25.04 3412
+-100.028 25.04 3416
+-99.902 25.04 3388
+-99.776 25.04 3392
+-99.65 25.04 3437
+-99.524 25.04 3441
+-99.398 25.04 3402
+-99.272 25.04 3376
+-99.146 25.04 3393
+-99.02 25.04 3243
+-98.894 25.04 3246
+-98.768 25.04 3310
+-98.642 25.04 3313
+-98.516 25.04 3261
+-98.39 25.04 3278
+-98.264 25.04 3281
+-98.138 25.04 3166
+-98.012 25.04 3143
+-97.886 25.04 3143
+-97.76 25.04 3106
+-97.634 25.04 3091
+-97.508 25.04 3032
+-97.382 25.04 3052
+-97.256 25.04 3029
+-97.13 25.04 2968
+-97.004 25.04 2970
+-96.878 25.04 3029
+-96.752 25.04 2999
+-96.626 25.04 3204
+-96.5 25.04 3208
+-96.374 25.04 3253
+-96.248 25.04 3380
+-96.122 25.04 3460
+-95.996 25.04 3459
+-95.87 25.04 3457
+-95.744 25.04 3455
+-95.618 25.04 3473
+-95.492 25.04 3472
+-95.366 25.04 3470
+-95.24 25.04 3469
+-95.114 25.04 3468
+-94.988 25.04 3466
+-94.862 25.04 3492
+-94.736 25.04 3507
+-94.61 25.04 3505
+-94.484 25.04 3504
+-94.358 25.04 3525
+-94.232 25.04 3524
+-94.106 25.04 3523
+-93.98 25.04 3522
+-93.854 25.04 3521
+-93.728 25.04 3520
+-93.602 25.04 3519
+-93.476 25.04 3518
+-93.35 25.04 3517
+-93.224 25.04 3515
+-93.098 25.04 3514
+-92.972 25.04 3513
+-92.846 25.04 3518
+-92.72 25.04 3518
+-92.594 25.04 3517
+-92.468 25.04 3516
+-92.342 25.04 3516
+-92.216 25.04 3515
+-92.09 25.04 3514
+-91.964 25.04 3605
+-91.838 25.04 3602
+-91.712 25.04 3599
+-91.586 25.04 3595
+-91.46 25.04 3596
+-91.334 25.04 3643
+-91.208 25.04 3638
+-91.082 25.04 3633
+-90.956 25.04 3652
+-90.83 25.04 3645
+-90.704 25.04 3622
+-90.578 25.04 3617
+-90.452 25.04 3664
+-90.326 25.04 3659
+-90.2 25.04 3652
+-90.074 25.04 3646
+-89.948 25.04 3638
+-89.822 25.04 3630
+-89.696 25.04 3647
+-89.57 25.04 3637
+-89.444 25.04 3625
+-89.318 25.04 3612
+-89.192 25.04 3597
+-89.066 25.04 3581
+-88.94 25.04 3562
+-88.814 25.04 3541
+-88.688 25.04 3516
+-88.562 25.04 3491
+-88.436 25.04 3482
+-88.31 25.04 3440
+-88.184 25.04 3387
+-88.058 25.04 3317
+-87.932 25.04 3237
+-87.806 25.04 3130
+-87.68 25.04 3075
+-87.554 25.04 3167
+-87.428 25.04 3335
+-87.302 25.04 3512
+-87.176 25.04 3669
+-87.05 25.04 3845
+-86.924 25.04 3976
+-86.798 25.04 4068
+-86.672 25.04 4108
+-86.546 25.04 4119
+-86.42 25.04 4233
+-86.294 25.04 4387
+-86.168 25.04 4438
+-86.042 25.04 4587
+-85.916 25.04 4816
+-85.79 25.04 4946
+-85.664 25.04 4996
+-85.538 25.04 5060
+-85.412 25.04 5207
+-85.286 25.04 5362
+-85.16 25.04 5467
+-85.034 25.04 5535
+-84.908 25.04 5593
+-84.782 25.04 5577
+-84.656 25.04 5706
+-84.53 25.04 5865
+-84.404 25.04 5911
+-84.278 25.04 6007
+-84.152 25.04 6094
+-84.026 25.04 6140
+-83.9 25.04 6214
+-83.774 25.04 6307
+-83.648 25.04 6371
+-83.522 25.04 6472
+-83.396 25.04 6548
+-83.27 25.04 6550
+-83.144 25.04 6585
+-83.018 25.04 6640
+-82.892 25.04 6668
+-82.766 25.04 6711
+-82.64 25.04 6718
+-82.514 25.04 6749
+-82.388 25.04 6791
+-82.262 25.04 6770
+-82.136 25.04 6763
+-82.01 25.04 6735
+-81.884 25.04 6740
+-81.758 25.04 6741
+-81.632 25.04 6693
+-81.506 25.04 6651
+-81.38 25.04 6624
+-81.254 25.04 6600
+-81.128 25.04 6572
+-81.002 25.04 6500
+-80.876 25.04 6407
+-80.75 25.04 6384
+-80.624 25.04 6304
+-80.498 25.04 6214
+-80.372 25.04 6149
+-80.246 25.04 6106
+-80.12 25.04 6065
+-79.994 25.04 5947
+-79.868 25.04 5859
+-79.742 25.04 5759
+-79.616 25.04 5650
+-79.49 25.04 5505
+-79.364 25.04 5408
+-79.238 25.04 5341
+-79.112 25.04 5279
+-78.986 25.04 5218
+-78.86 25.04 5122
+-78.734 25.04 4988
+-78.608 25.04 4785
+-78.482 25.04 4609
+-78.356 25.04 4506
+-78.23 25.04 4456
+-78.104 25.04 4330
+-77.978 25.04 4245
+-77.852 25.04 4170
+-77.726 25.04 4040
+-77.6 25.04 3929
+-77.474 25.04 3907
+-77.348 25.04 3860
+-77.222 25.04 3779
+-77.096 25.04 3676
+-76.97 25.04 3601
+-76.844 25.04 3550
+-76.718 25.04 3532
+-76.592 25.04 3546
+-76.466 25.04 3490
+-76.34 25.04 3480
+-76.214 25.04 3385
+-76.088 25.04 3335
+-75.962 25.04 3289
+-75.836 25.04 3223
+-75.71 25.04 3113
+-75.584 25.04 3015
+-75.458 25.04 2889
+-75.332 25.04 2727
+-75.206 25.04 2523
+-75.08 25.04 2275
+-74.954 25.04 1992
+-74.828 25.04 1695
+-74.702 25.04 1404
+-74.576 25.04 1212
+-74.45 25.04 1122
+-74.324 25.04 1139
+-74.198 25.04 1239
+-74.072 25.04 1360
+-73.946 25.04 1529
+-73.82 25.04 1679
+-73.694 25.04 1836
+-73.568 25.04 1978
+-73.442 25.04 2104
+-73.316 25.04 2191
+-73.19 25.04 2265
+-73.064 25.04 2350
+-72.938 25.04 2419
+-72.812 25.04 2480
+-72.686 25.04 2538
+-72.56 25.04 2590
+-72.434 25.04 2635
+-72.308 25.04 2650
+-72.182 25.04 2685
+-72.056 25.04 2718
+-71.93 25.04 2703
+-71.804 25.04 2730
+-71.678 25.04 2720
+-71.552 25.04 2731
+-71.426 25.04 2717
+-71.3 25.04 2735
+-71.174 25.04 2710
+-71.048 25.04 2725
+-70.922 25.04 2738
+-70.796 25.04 2751
+-70.67 25.04 2763
+-70.544 25.04 2774
+-70.418 25.04 2784
+-70.292 25.04 2793
+-70.166 25.04 2802
+-70.04 25.04 2810
+-69.914 25.04 2818
+-69.788 25.04 2826
+-69.662 25.04 2832
+-69.536 25.04 2839
+-69.41 25.04 2845
+-69.284 25.04 2851
+-69.158 25.04 2856
+-69.032 25.04 2862
+-68.906 25.04 2867
+-68.78 25.04 2871
+-68.654 25.04 2849
+-68.528 25.04 2854
+-68.402 25.04 2859
+-68.276 25.04 2863
+-68.15 25.04 2868
+-68.024 25.04 2872
+-67.898 25.04 2832
+-67.772 25.04 2837
+-67.646 25.04 2830
+-67.52 25.04 2828
+-67.394 25.04 2802
+-67.268 25.04 2806
+-67.142 25.04 2810
+-67.016 25.04 2813
+-66.89 25.04 2817
+-66.764 25.04 2820
+-66.638 25.04 2824
+-66.512 25.04 2827
+-66.386 25.04 2830
+-66.26 25.04 2833
+-66.134 25.04 2836
+-66.008 25.04 2839
+-65.882 25.04 2841
+-65.756 25.04 2844
+-65.63 25.04 2846
+-65.504 25.04 2849
+-65.378 25.04 2851
+-65.252 25.04 2854
+-65.126 25.04 2856
+-128 24.988 3370
+-127.874 24.988 3266
+-127.748 24.988 3262
+-127.622 24.988 3243
+-127.496 24.988 3315
+-127.37 24.988 3276
+-127.244 24.988 3273
+-127.118 24.988 3298
+-126.992 24.988 3191
+-126.866 24.988 3195
+-126.74 24.988 3226
+-126.614 24.988 3217
+-126.488 24.988 3211
+-126.362 24.988 3206
+-126.236 24.988 3116
+-126.11 24.988 3115
+-125.984 24.988 3032
+-125.858 24.988 3039
+-125.732 24.988 3041
+-125.606 24.988 3035
+-125.48 24.988 2995
+-125.354 24.988 2989
+-125.228 24.988 2983
+-125.102 24.988 3002
+-124.976 24.988 2978
+-124.85 24.988 2971
+-124.724 24.988 2920
+-124.598 24.988 2913
+-124.472 24.988 2967
+-124.346 24.988 2924
+-124.22 24.988 2901
+-124.094 24.988 2805
+-123.968 24.988 2833
+-123.842 24.988 2823
+-123.716 24.988 2812
+-123.59 24.988 2800
+-123.464 24.988 2788
+-123.338 24.988 2775
+-123.212 24.988 2705
+-123.086 24.988 2700
+-122.96 24.988 2686
+-122.834 24.988 2643
+-122.708 24.988 2617
+-122.582 24.988 2589
+-122.456 24.988 2571
+-122.33 24.988 2530
+-122.204 24.988 2509
+-122.078 24.988 2470
+-121.952 24.988 2439
+-121.826 24.988 2399
+-121.7 24.988 2369
+-121.574 24.988 2330
+-121.448 24.988 2294
+-121.322 24.988 2253
+-121.196 24.988 2207
+-121.07 24.988 2156
+-120.944 24.988 2099
+-120.818 24.988 1992
+-120.692 24.988 1924
+-120.566 24.988 1847
+-120.44 24.988 1749
+-120.314 24.988 1654
+-120.188 24.988 1530
+-120.062 24.988 1417
+-119.936 24.988 1295
+-119.81 24.988 1167
+-119.684 24.988 1040
+-119.558 24.988 921
+-119.432 24.988 822
+-119.306 24.988 756
+-119.18 24.988 732
+-119.054 24.988 758
+-118.928 24.988 829
+-118.802 24.988 941
+-118.676 24.988 1080
+-118.55 24.988 1233
+-118.424 24.988 1380
+-118.298 24.988 1527
+-118.172 24.988 1662
+-118.046 24.988 1776
+-117.92 24.988 1881
+-117.794 24.988 1959
+-117.668 24.988 2037
+-117.542 24.988 2096
+-117.416 24.988 2143
+-117.29 24.988 2198
+-117.164 24.988 2241
+-117.038 24.988 2279
+-116.912 24.988 2312
+-116.786 24.988 2342
+-116.66 24.988 2368
+-116.534 24.988 2435
+-116.408 24.988 2462
+-116.282 24.988 2412
+-116.156 24.988 2443
+-116.03 24.988 2464
+-115.904 24.988 2475
+-115.778 24.988 2510
+-115.652 24.988 2515
+-115.526 24.988 2524
+-115.4 24.988 2541
+-115.274 24.988 2527
+-115.148 24.988 2542
+-115.022 24.988 2555
+-114.896 24.988 2564
+-114.77 24.988 2688
+-114.644 24.988 2732
+-114.518 24.988 2759
+-114.392 24.988 2734
+-114.266 24.988 2690
+-114.14 24.988 2724
+-114.014 24.988 2739
+-113.888 24.988 2769
+-113.762 24.988 2760
+-113.636 24.988 2759
+-113.51 24.988 2748
+-113.384 24.988 2745
+-113.258 24.988 2741
+-113.132 24.988 2720
+-113.006 24.988 2758
+-112.88 24.988 2751
+-112.754 24.988 2714
+-112.628 24.988 2716
+-112.502 24.988 2707
+-112.376 24.988 2696
+-112.25 24.988 2655
+-112.124 24.988 2632
+-111.998 24.988 2620
+-111.872 24.988 2607
+-111.746 24.988 2594
+-111.62 24.988 2580
+-111.494 24.988 2587
+-111.368 24.988 2573
+-111.242 24.988 2558
+-111.116 24.988 2543
+-110.99 24.988 2526
+-110.864 24.988 2505
+-110.738 24.988 2477
+-110.612 24.988 2439
+-110.486 24.988 2390
+-110.36 24.988 2335
+-110.234 24.988 2288
+-110.108 24.988 2269
+-109.982 24.988 2289
+-109.856 24.988 2352
+-109.73 24.988 2426
+-109.604 24.988 2465
+-109.478 24.988 2509
+-109.352 24.988 2556
+-109.226 24.988 2572
+-109.1 24.988 2564
+-108.974 24.988 2545
+-108.848 24.988 2541
+-108.722 24.988 2519
+-108.596 24.988 2510
+-108.47 24.988 2517
+-108.344 24.988 2540
+-108.218 24.988 2574
+-108.092 24.988 2612
+-107.966 24.988 2651
+-107.84 24.988 2700
+-107.714 24.988 2772
+-107.588 24.988 2806
+-107.462 24.988 2828
+-107.336 24.988 2854
+-107.21 24.988 2895
+-107.084 24.988 2923
+-106.958 24.988 2940
+-106.832 24.988 2955
+-106.706 24.988 3037
+-106.58 24.988 3048
+-106.454 24.988 3058
+-106.328 24.988 3019
+-106.202 24.988 3034
+-106.076 24.988 3039
+-105.95 24.988 3042
+-105.824 24.988 3039
+-105.698 24.988 3045
+-105.572 24.988 3053
+-105.446 24.988 3122
+-105.32 24.988 3111
+-105.194 24.988 3023
+-105.068 24.988 3024
+-104.942 24.988 3025
+-104.816 24.988 3043
+-104.69 24.988 3045
+-104.564 24.988 3046
+-104.438 24.988 3072
+-104.312 24.988 3074
+-104.186 24.988 3076
+-104.06 24.988 3034
+-103.934 24.988 3084
+-103.808 24.988 3087
+-103.682 24.988 3089
+-103.556 24.988 3092
+-103.43 24.988 3095
+-103.304 24.988 3094
+-103.178 24.988 3097
+-103.052 24.988 3119
+-102.926 24.988 3122
+-102.8 24.988 3126
+-102.674 24.988 3129
+-102.548 24.988 3078
+-102.422 24.988 3195
+-102.296 24.988 3193
+-102.17 24.988 3214
+-102.044 24.988 3218
+-101.918 24.988 3325
+-101.792 24.988 3329
+-101.666 24.988 3332
+-101.54 24.988 3371
+-101.414 24.988 3356
+-101.288 24.988 3362
+-101.162 24.988 3356
+-101.036 24.988 3373
+-100.91 24.988 3363
+-100.784 24.988 3386
+-100.658 24.988 3390
+-100.532 24.988 3385
+-100.406 24.988 3382
+-100.28 24.988 3386
+-100.154 24.988 3372
+-100.028 24.988 3417
+-99.902 24.988 3421
+-99.776 24.988 3393
+-99.65 24.988 3397
+-99.524 24.988 3442
+-99.398 24.988 3446
+-99.272 24.988 3407
+-99.146 24.988 3380
+-99.02 24.988 3397
+-98.894 24.988 3246
+-98.768 24.988 3249
+-98.642 24.988 3313
+-98.516 24.988 3316
+-98.39 24.988 3264
+-98.264 24.988 3281
+-98.138 24.988 3166
+-98.012 24.988 3166
+-97.886 24.988 3143
+-97.76 24.988 3105
+-97.634 24.988 3091
+-97.508 24.988 3072
+-97.382 24.988 3033
+-97.256 24.988 2984
+-97.13 24.988 2968
+-97.004 24.988 2970
+-96.878 24.988 3066
+-96.752 24.988 3027
+-96.626 24.988 3204
+-96.5 24.988 3208
+-96.374 24.988 3253
+-96.248 24.988 3379
+-96.122 24.988 3459
+-95.996 24.988 3458
+-95.87 24.988 3456
+-95.744 24.988 3474
+-95.618 24.988 3472
+-95.492 24.988 3471
+-95.366 24.988 3470
+-95.24 24.988 3468
+-95.114 24.988 3467
+-94.988 24.988 3492
+-94.862 24.988 3507
+-94.736 24.988 3506
+-94.61 24.988 3504
+-94.484 24.988 3525
+-94.358 24.988 3524
+-94.232 24.988 3523
+-94.106 24.988 3522
+-93.98 24.988 3521
+-93.854 24.988 3520
+-93.728 24.988 3519
+-93.602 24.988 3518
+-93.476 24.988 3516
+-93.35 24.988 3515
+-93.224 24.988 3514
+-93.098 24.988 3513
+-92.972 24.988 3518
+-92.846 24.988 3517
+-92.72 24.988 3517
+-92.594 24.988 3516
+-92.468 24.988 3515
+-92.342 24.988 3514
+-92.216 24.988 3513
+-92.09 24.988 3604
+-91.964 24.988 3601
+-91.838 24.988 3598
+-91.712 24.988 3595
+-91.586 24.988 3595
+-91.46 24.988 3642
+-91.334 24.988 3638
+-91.208 24.988 3633
+-91.082 24.988 3652
+-90.956 24.988 3646
+-90.83 24.988 3622
+-90.704 24.988 3617
+-90.578 24.988 3665
+-90.452 24.988 3659
+-90.326 24.988 3653
+-90.2 24.988 3647
+-90.074 24.988 3640
+-89.948 24.988 3632
+-89.822 24.988 3650
+-89.696 24.988 3641
+-89.57 24.988 3630
+-89.444 24.988 3618
+-89.318 24.988 3605
+-89.192 24.988 3590
+-89.066 24.988 3574
+-88.94 24.988 3555
+-88.814 24.988 3535
+-88.688 24.988 3515
+-88.562 24.988 3489
+-88.436 24.988 3459
+-88.31 24.988 3447
+-88.184 24.988 3401
+-88.058 24.988 3347
+-87.932 24.988 3289
+-87.806 24.988 3244
+-87.68 24.988 3235
+-87.554 24.988 3277
+-87.428 24.988 3338
+-87.302 24.988 3434
+-87.176 24.988 3604
+-87.05 24.988 3769
+-86.924 24.988 3908
+-86.798 24.988 4021
+-86.672 24.988 4111
+-86.546 24.988 4203
+-86.42 24.988 4288
+-86.294 24.988 4375
+-86.168 24.988 4349
+-86.042 24.988 4479
+-85.916 24.988 4723
+-85.79 24.988 4895
+-85.664 24.988 4995
+-85.538 24.988 5067
+-85.412 24.988 5189
+-85.286 24.988 5287
+-85.16 24.988 5422
+-85.034 24.988 5501
+-84.908 24.988 5567
+-84.782 24.988 5630
+-84.656 24.988 5659
+-84.53 24.988 5777
+-84.404 24.988 5901
+-84.278 24.988 5993
+-84.152 24.988 5996
+-84.026 24.988 6098
+-83.9 24.988 6155
+-83.774 24.988 6235
+-83.648 24.988 6294
+-83.522 24.988 6399
+-83.396 24.988 6461
+-83.27 24.988 6524
+-83.144 24.988 6569
+-83.018 24.988 6595
+-82.892 24.988 6619
+-82.766 24.988 6673
+-82.64 24.988 6683
+-82.514 24.988 6717
+-82.388 24.988 6732
+-82.262 24.988 6711
+-82.136 24.988 6694
+-82.01 24.988 6686
+-81.884 24.988 6712
+-81.758 24.988 6673
+-81.632 24.988 6681
+-81.506 24.988 6602
+-81.38 24.988 6593
+-81.254 24.988 6543
+-81.128 24.988 6501
+-81.002 24.988 6422
+-80.876 24.988 6339
+-80.75 24.988 6348
+-80.624 24.988 6238
+-80.498 24.988 6201
+-80.372 24.988 6109
+-80.246 24.988 6025
+-80.12 24.988 6007
+-79.994 24.988 5845
+-79.868 24.988 5834
+-79.742 24.988 5735
+-79.616 24.988 5597
+-79.49 24.988 5451
+-79.364 24.988 5333
+-79.238 24.988 5264
+-79.112 24.988 5203
+-78.986 24.988 5139
+-78.86 24.988 5031
+-78.734 24.988 4896
+-78.608 24.988 4713
+-78.482 24.988 4535
+-78.356 24.988 4458
+-78.23 24.988 4423
+-78.104 24.988 4330
+-77.978 24.988 4215
+-77.852 24.988 4110
+-77.726 24.988 3955
+-77.6 24.988 3840
+-77.474 24.988 3872
+-77.348 24.988 3828
+-77.222 24.988 3708
+-77.096 24.988 3523
+-76.97 24.988 3428
+-76.844 24.988 3422
+-76.718 24.988 3457
+-76.592 24.988 3500
+-76.466 24.988 3443
+-76.34 24.988 3387
+-76.214 24.988 3365
+-76.088 24.988 3300
+-75.962 24.988 3250
+-75.836 24.988 3176
+-75.71 24.988 3092
+-75.584 24.988 2988
+-75.458 24.988 2852
+-75.332 24.988 2673
+-75.206 24.988 2445
+-75.08 24.988 2161
+-74.954 24.988 1830
+-74.828 24.988 1477
+-74.702 24.988 1155
+-74.576 24.988 914
+-74.45 24.988 825
+-74.324 24.988 868
+-74.198 24.988 1009
+-74.072 24.988 1203
+-73.946 24.988 1384
+-73.82 24.988 1585
+-73.694 24.988 1748
+-73.568 24.988 1908
+-73.442 24.988 2048
+-73.316 24.988 2170
+-73.19 24.988 2249
+-73.064 24.988 2316
+-72.938 24.988 2396
+-72.812 24.988 2459
+-72.686 24.988 2516
+-72.56 24.988 2570
+-72.434 24.988 2618
+-72.308 24.988 2660
+-72.182 24.988 2672
+-72.056 24.988 2705
+-71.93 24.988 2735
+-71.804 24.988 2718
+-71.678 24.988 2744
+-71.552 24.988 2733
+-71.426 24.988 2742
+-71.3 24.988 2727
+-71.174 24.988 2744
+-71.048 24.988 2718
+-70.922 24.988 2732
+-70.796 24.988 2745
+-70.67 24.988 2757
+-70.544 24.988 2768
+-70.418 24.988 2779
+-70.292 24.988 2788
+-70.166 24.988 2798
+-70.04 24.988 2806
+-69.914 24.988 2814
+-69.788 24.988 2822
+-69.662 24.988 2829
+-69.536 24.988 2835
+-69.41 24.988 2842
+-69.284 24.988 2848
+-69.158 24.988 2853
+-69.032 24.988 2859
+-68.906 24.988 2864
+-68.78 24.988 2868
+-68.654 24.988 2873
+-68.528 24.988 2851
+-68.402 24.988 2855
+-68.276 24.988 2860
+-68.15 24.988 2865
+-68.024 24.988 2869
+-67.898 24.988 2873
+-67.772 24.988 2833
+-67.646 24.988 2838
+-67.52 24.988 2831
+-67.394 24.988 2829
+-67.268 24.988 2803
+-67.142 24.988 2807
+-67.016 24.988 2811
+-66.89 24.988 2814
+-66.764 24.988 2818
+-66.638 24.988 2821
+-66.512 24.988 2824
+-66.386 24.988 2827
+-66.26 24.988 2830
+-66.134 24.988 2833
+-66.008 24.988 2836
+-65.882 24.988 2839
+-65.756 24.988 2842
+-65.63 24.988 2844
+-65.504 24.988 2847
+-65.378 24.988 2849
+-65.252 24.988 2852
+-65.126 24.988 2854
+-128 24.936 3266
+-127.874 24.936 3263
+-127.748 24.936 3243
+-127.622 24.936 3316
+-127.496 24.936 3277
+-127.37 24.936 3273
+-127.244 24.936 3299
+-127.118 24.936 3191
+-126.992 24.936 3196
+-126.866 24.936 3227
+-126.74 24.936 3217
+-126.614 24.936 3213
+-126.488 24.936 3208
+-126.362 24.936 3117
+-126.236 24.936 3116
+-126.11 24.936 3033
+-125.984 24.936 3040
+-125.858 24.936 3042
+-125.732 24.936 3037
+-125.606 24.936 2996
+-125.48 24.936 2991
+-125.354 24.936 2985
+-125.228 24.936 3004
+-125.102 24.936 2980
+-124.976 24.936 2973
+-124.85 24.936 2923
+-124.724 24.936 2915
+-124.598 24.936 2971
+-124.472 24.936 2927
+-124.346 24.936 2905
+-124.22 24.936 2808
+-124.094 24.936 2838
+-123.968 24.936 2828
+-123.842 24.936 2817
+-123.716 24.936 2806
+-123.59 24.936 2795
+-123.464 24.936 2782
+-123.338 24.936 2712
+-123.212 24.936 2708
+-123.086 24.936 2694
+-122.96 24.936 2652
+-122.834 24.936 2626
+-122.708 24.936 2600
+-122.582 24.936 2582
+-122.456 24.936 2544
+-122.33 24.936 2523
+-122.204 24.936 2485
+-122.078 24.936 2456
+-121.952 24.936 2418
+-121.826 24.936 2390
+-121.7 24.936 2354
+-121.574 24.936 2322
+-121.448 24.936 2285
+-121.322 24.936 2243
+-121.196 24.936 2198
+-121.07 24.936 2147
+-120.944 24.936 2043
+-120.818 24.936 1983
+-120.692 24.936 1916
+-120.566 24.936 1827
+-120.44 24.936 1744
+-120.314 24.936 1632
+-120.188 24.936 1533
+-120.062 24.936 1425
+-119.936 24.936 1310
+-119.81 24.936 1191
+-119.684 24.936 1074
+-119.558 24.936 967
+-119.432 24.936 878
+-119.306 24.936 820
+-119.18 24.936 800
+-119.054 24.936 821
+-118.928 24.936 887
+-118.802 24.936 989
+-118.676 24.936 1115
+-118.55 24.936 1250
+-118.424 24.936 1393
+-118.298 24.936 1531
+-118.172 24.936 1654
+-118.046 24.936 1770
+-117.92 24.936 1859
+-117.794 24.936 1948
+-117.668 24.936 2018
+-117.542 24.936 2075
+-117.416 24.936 2138
+-117.29 24.936 2189
+-117.164 24.936 2234
+-117.038 24.936 2272
+-116.912 24.936 2306
+-116.786 24.936 2337
+-116.66 24.936 2405
+-116.534 24.936 2434
+-116.408 24.936 2386
+-116.282 24.936 2418
+-116.156 24.936 2440
+-116.03 24.936 2453
+-115.904 24.936 2488
+-115.778 24.936 2493
+-115.652 24.936 2502
+-115.526 24.936 2520
+-115.4 24.936 2506
+-115.274 24.936 2521
+-115.148 24.936 2534
+-115.022 24.936 2546
+-114.896 24.936 2593
+-114.77 24.936 2678
+-114.644 24.936 2683
+-114.518 24.936 2721
+-114.392 24.936 2676
+-114.266 24.936 2677
+-114.14 24.936 2693
+-114.014 24.936 2692
+-113.888 24.936 2712
+-113.762 24.936 2742
+-113.636 24.936 2729
+-113.51 24.936 2725
+-113.384 24.936 2720
+-113.258 24.936 2697
+-113.132 24.936 2690
+-113.006 24.936 2682
+-112.88 24.936 2687
+-112.754 24.936 2688
+-112.628 24.936 2676
+-112.502 24.936 2663
+-112.376 24.936 2620
+-112.25 24.936 2594
+-112.124 24.936 2579
+-111.998 24.936 2564
+-111.872 24.936 2548
+-111.746 24.936 2533
+-111.62 24.936 2517
+-111.494 24.936 2522
+-111.368 24.936 2507
+-111.242 24.936 2494
+-111.116 24.936 2482
+-110.99 24.936 2470
+-110.864 24.936 2457
+-110.738 24.936 2439
+-110.612 24.936 2413
+-110.486 24.936 2378
+-110.36 24.936 2336
+-110.234 24.936 2301
+-110.108 24.936 2286
+-109.982 24.936 2303
+-109.856 24.936 2348
+-109.73 24.936 2401
+-109.604 24.936 2454
+-109.478 24.936 2496
+-109.352 24.936 2524
+-109.226 24.936 2560
+-109.1 24.936 2570
+-108.974 24.936 2563
+-108.848 24.936 2551
+-108.722 24.936 2564
+-108.596 24.936 2560
+-108.47 24.936 2567
+-108.344 24.936 2584
+-108.218 24.936 2608
+-108.092 24.936 2637
+-107.966 24.936 2668
+-107.84 24.936 2699
+-107.714 24.936 2741
+-107.588 24.936 2811
+-107.462 24.936 2838
+-107.336 24.936 2854
+-107.21 24.936 2874
+-107.084 24.936 2913
+-106.958 24.936 2938
+-106.832 24.936 2952
+-106.706 24.936 2965
+-106.58 24.936 3049
+-106.454 24.936 3058
+-106.328 24.936 3067
+-106.202 24.936 3026
+-106.076 24.936 3040
+-105.95 24.936 3045
+-105.824 24.936 3049
+-105.698 24.936 3044
+-105.572 24.936 3051
+-105.446 24.936 3059
+-105.32 24.936 3130
+-105.194 24.936 3118
+-105.068 24.936 3028
+-104.942 24.936 3029
+-104.816 24.936 3030
+-104.69 24.936 3050
+-104.564 24.936 3051
+-104.438 24.936 3052
+-104.312 24.936 3079
+-104.186 24.936 3081
+-104.06 24.936 3083
+-103.934 24.936 3040
+-103.808 24.936 3091
+-103.682 24.936 3093
+-103.556 24.936 3096
+-103.43 24.936 3099
+-103.304 24.936 3101
+-103.178 24.936 3100
+-103.052 24.936 3103
+-102.926 24.936 3125
+-102.8 24.936 3128
+-102.674 24.936 3131
+-102.548 24.936 3134
+-102.422 24.936 3083
+-102.296 24.936 3202
+-102.17 24.936 3199
+-102.044 24.936 3221
+-101.918 24.936 3224
+-101.792 24.936 3332
+-101.666 24.936 3335
+-101.54 24.936 3339
+-101.414 24.936 3377
+-101.288 24.936 3365
+-101.162 24.936 3369
+-101.036 24.936 3362
+-100.91 24.936 3379
+-100.784 24.936 3368
+-100.658 24.936 3392
+-100.532 24.936 3396
+-100.406 24.936 3391
+-100.28 24.936 3387
+-100.154 24.936 3391
+-100.028 24.936 3376
+-99.902 24.936 3422
+-99.776 24.936 3426
+-99.65 24.936 3397
+-99.524 24.936 3401
+-99.398 24.936 3446
+-99.272 24.936 3450
+-99.146 24.936 3411
+-99.02 24.936 3383
+-98.894 24.936 3401
+-98.768 24.936 3249
+-98.642 24.936 3252
+-98.516 24.936 3316
+-98.39 24.936 3319
+-98.264 24.936 3167
+-98.138 24.936 3165
+-98.012 24.936 3166
+-97.886 24.936 3166
+-97.76 24.936 3105
+-97.634 24.936 3091
+-97.508 24.936 3072
+-97.382 24.936 3032
+-97.256 24.936 2984
+-97.13 24.936 2968
+-97.004 24.936 2970
+-96.878 24.936 3066
+-96.752 24.936 3027
+-96.626 24.936 3204
+-96.5 24.936 3208
+-96.374 24.936 3252
+-96.248 24.936 3379
+-96.122 24.936 3458
+-95.996 24.936 3457
+-95.87 24.936 3474
+-95.744 24.936 3473
+-95.618 24.936 3471
+-95.492 24.936 3470
+-95.366 24.936 3469
+-95.24 24.936 3467
+-95.114 24.936 3493
+-94.988 24.936 3508
+-94.862 24.936 3507
+-94.736 24.936 3505
+-94.61 24.936 3525
+-94.484 24.936 3524
+-94.358 24.936 3523
+-94.232 24.936 3522
+-94.106 24.936 3521
+-93.98 24.936 3520
+-93.854 24.936 3519
+-93.728 24.936 3518
+-93.602 24.936 3516
+-93.476 24.936 3515
+-93.35 24.936 3514
+-93.224 24.936 3512
+-93.098 24.936 3518
+-92.972 24.936 3517
+-92.846 24.936 3516
+-92.72 24.936 3516
+-92.594 24.936 3515
+-92.468 24.936 3514
+-92.342 24.936 3513
+-92.216 24.936 3604
+-92.09 24.936 3601
+-91.964 24.936 3598
+-91.838 24.936 3594
+-91.712 24.936 3595
+-91.586 24.936 3642
+-91.46 24.936 3638
+-91.334 24.936 3633
+-91.208 24.936 3652
+-91.082 24.936 3646
+-90.956 24.936 3622
+-90.83 24.936 3617
+-90.704 24.936 3666
+-90.578 24.936 3661
+-90.452 24.936 3655
+-90.326 24.936 3649
+-90.2 24.936 3642
+-90.074 24.936 3635
+-89.948 24.936 3654
+-89.822 24.936 3644
+-89.696 24.936 3634
+-89.57 24.936 3624
+-89.444 24.936 3612
+-89.318 24.936 3599
+-89.192 24.936 3584
+-89.066 24.936 3568
+-88.94 24.936 3550
+-88.814 24.936 3514
+-88.688 24.936 3494
+-88.562 24.936 3472
+-88.436 24.936 3446
+-88.31 24.936 3433
+-88.184 24.936 3408
+-88.058 24.936 3374
+-87.932 24.936 3349
+-87.806 24.936 3322
+-87.68 24.936 3294
+-87.554 24.936 3265
+-87.428 24.936 3248
+-87.302 24.936 3338
+-87.176 24.936 3512
+-87.05 24.936 3698
+-86.924 24.936 3853
+-86.798 24.936 3990
+-86.672 24.936 4102
+-86.546 24.936 4192
+-86.42 24.936 4305
+-86.294 24.936 4386
+-86.168 24.936 4411
+-86.042 24.936 4520
+-85.916 24.936 4668
+-85.79 24.936 4828
+-85.664 24.936 4931
+-85.538 24.936 5039
+-85.412 24.936 5145
+-85.286 24.936 5230
+-85.16 24.936 5332
+-85.034 24.936 5433
+-84.908 24.936 5483
+-84.782 24.936 5582
+-84.656 24.936 5659
+-84.53 24.936 5759
+-84.404 24.936 5850
+-84.278 24.936 5958
+-84.152 24.936 6024
+-84.026 24.936 6067
+-83.9 24.936 6104
+-83.774 24.936 6182
+-83.648 24.936 6256
+-83.522 24.936 6323
+-83.396 24.936 6401
+-83.27 24.936 6443
+-83.144 24.936 6480
+-83.018 24.936 6526
+-82.892 24.936 6572
+-82.766 24.936 6605
+-82.64 24.936 6625
+-82.514 24.936 6633
+-82.388 24.936 6674
+-82.262 24.936 6639
+-82.136 24.936 6648
+-82.01 24.936 6666
+-81.884 24.936 6629
+-81.758 24.936 6593
+-81.632 24.936 6584
+-81.506 24.936 6560
+-81.38 24.936 6538
+-81.254 24.936 6481
+-81.128 24.936 6435
+-81.002 24.936 6356
+-80.876 24.936 6286
+-80.75 24.936 6229
+-80.624 24.936 6203
+-80.498 24.936 6154
+-80.372 24.936 6091
+-80.246 24.936 5991
+-80.12 24.936 5994
+-79.994 24.936 5909
+-79.868 24.936 5805
+-79.742 24.936 5658
+-79.616 24.936 5506
+-79.49 24.936 5370
+-79.364 24.936 5258
+-79.238 24.936 5212
+-79.112 24.936 5154
+-78.986 24.936 5058
+-78.86 24.936 4945
+-78.734 24.936 4807
+-78.608 24.936 4651
+-78.482 24.936 4555
+-78.356 24.936 4483
+-78.23 24.936 4381
+-78.104 24.936 4285
+-77.978 24.936 4166
+-77.852 24.936 4030
+-77.726 24.936 3962
+-77.6 24.936 3897
+-77.474 24.936 3876
+-77.348 24.936 3801
+-77.222 24.936 3581
+-77.096 24.936 3348
+-76.97 24.936 3216
+-76.844 24.936 3272
+-76.718 24.936 3382
+-76.592 24.936 3455
+-76.466 24.936 3375
+-76.34 24.936 3366
+-76.214 24.936 3319
+-76.088 24.936 3279
+-75.962 24.936 3235
+-75.836 24.936 3174
+-75.71 24.936 3080
+-75.584 24.936 2968
+-75.458 24.936 2825
+-75.332 24.936 2636
+-75.206 24.936 2390
+-75.08 24.936 2081
+-74.954 24.936 1714
+-74.828 24.936 1317
+-74.702 24.936 954
+-74.576 24.936 701
+-74.45 24.936 607
+-74.324 24.936 673
+-74.198 24.936 848
+-74.072 24.936 1075
+-73.946 24.936 1314
+-73.82 24.936 1508
+-73.694 24.936 1709
+-73.568 24.936 1861
+-73.442 24.936 2010
+-73.316 24.936 2139
+-73.19 24.936 2249
+-73.064 24.936 2317
+-72.938 24.936 2374
+-72.812 24.936 2447
+-72.686 24.936 2504
+-72.56 24.936 2555
+-72.434 24.936 2604
+-72.308 24.936 2647
+-72.182 24.936 2686
+-72.056 24.936 2694
+-71.93 24.936 2725
+-71.804 24.936 2753
+-71.678 24.936 2735
+-71.552 24.936 2759
+-71.426 24.936 2746
+-71.3 24.936 2754
+-71.174 24.936 2737
+-71.048 24.936 2754
+-70.922 24.936 2726
+-70.796 24.936 2739
+-70.67 24.936 2752
+-70.544 24.936 2763
+-70.418 24.936 2774
+-70.292 24.936 2784
+-70.166 24.936 2793
+-70.04 24.936 2802
+-69.914 24.936 2810
+-69.788 24.936 2818
+-69.662 24.936 2825
+-69.536 24.936 2832
+-69.41 24.936 2838
+-69.284 24.936 2844
+-69.158 24.936 2850
+-69.032 24.936 2856
+-68.906 24.936 2861
+-68.78 24.936 2866
+-68.654 24.936 2870
+-68.528 24.936 2875
+-68.402 24.936 2852
+-68.276 24.936 2857
+-68.15 24.936 2862
+-68.024 24.936 2866
+-67.898 24.936 2870
+-67.772 24.936 2874
+-67.646 24.936 2835
+-67.52 24.936 2840
+-67.394 24.936 2832
+-67.268 24.936 2830
+-67.142 24.936 2804
+-67.016 24.936 2808
+-66.89 24.936 2811
+-66.764 24.936 2815
+-66.638 24.936 2818
+-66.512 24.936 2822
+-66.386 24.936 2825
+-66.26 24.936 2828
+-66.134 24.936 2831
+-66.008 24.936 2834
+-65.882 24.936 2837
+-65.756 24.936 2839
+-65.63 24.936 2842
+-65.504 24.936 2845
+-65.378 24.936 2847
+-65.252 24.936 2849
+-65.126 24.936 2852
+-128 24.884 3263
+-127.874 24.884 3244
+-127.748 24.884 3317
+-127.622 24.884 3277
+-127.496 24.884 3274
+-127.37 24.884 3300
+-127.244 24.884 3192
+-127.118 24.884 3197
+-126.992 24.884 3228
+-126.866 24.884 3218
+-126.74 24.884 3213
+-126.614 24.884 3209
+-126.488 24.884 3118
+-126.362 24.884 3117
+-126.236 24.884 3034
+-126.11 24.884 3042
+-125.984 24.884 3044
+-125.858 24.884 3038
+-125.732 24.884 2998
+-125.606 24.884 2992
+-125.48 24.884 2987
+-125.354 24.884 3007
+-125.228 24.884 2982
+-125.102 24.884 2976
+-124.976 24.884 2925
+-124.85 24.884 2918
+-124.724 24.884 2975
+-124.598 24.884 2931
+-124.472 24.884 2909
+-124.346 24.884 2812
+-124.22 24.884 2842
+-124.094 24.884 2833
+-123.968 24.884 2823
+-123.842 24.884 2812
+-123.716 24.884 2801
+-123.59 24.884 2789
+-123.464 24.884 2719
+-123.338 24.884 2716
+-123.212 24.884 2703
+-123.086 24.884 2661
+-122.96 24.884 2636
+-122.834 24.884 2611
+-122.708 24.884 2594
+-122.582 24.884 2557
+-122.456 24.884 2538
+-122.33 24.884 2501
+-122.204 24.884 2474
+-122.078 24.884 2437
+-121.952 24.884 2412
+-121.826 24.884 2378
+-121.7 24.884 2349
+-121.574 24.884 2315
+-121.448 24.884 2278
+-121.322 24.884 2237
+-121.196 24.884 2192
+-121.07 24.884 2092
+-120.944 24.884 2039
+-120.818 24.884 1980
+-120.692 24.884 1900
+-120.566 24.884 1828
+-120.44 24.884 1728
+-120.314 24.884 1642
+-120.188 24.884 1549
+-120.062 24.884 1448
+-119.936 24.884 1343
+-119.81 24.884 1236
+-119.684 24.884 1132
+-119.558 24.884 1038
+-119.432 24.884 962
+-119.306 24.884 913
+-119.18 24.884 892
+-119.054 24.884 915
+-118.928 24.884 973
+-118.802 24.884 1063
+-118.676 24.884 1169
+-118.55 24.884 1294
+-118.424 24.884 1424
+-118.298 24.884 1547
+-118.172 24.884 1666
+-118.046 24.884 1762
+-117.92 24.884 1859
+-117.794 24.884 1937
+-117.668 24.884 2003
+-117.542 24.884 2074
+-117.416 24.884 2132
+-117.29 24.884 2183
+-117.164 24.884 2227
+-117.038 24.884 2266
+-116.912 24.884 2301
+-116.786 24.884 2371
+-116.66 24.884 2403
+-116.534 24.884 2358
+-116.408 24.884 2391
+-116.282 24.884 2415
+-116.156 24.884 2429
+-116.03 24.884 2464
+-115.904 24.884 2471
+-115.778 24.884 2481
+-115.652 24.884 2499
+-115.526 24.884 2443
+-115.4 24.884 2500
+-115.274 24.884 2513
+-115.148 24.884 2525
+-115.022 24.884 2573
+-114.896 24.884 2584
+-114.77 24.884 2593
+-114.644 24.884 2709
+-114.518 24.884 2664
+-114.392 24.884 2664
+-114.266 24.884 2678
+-114.14 24.884 2677
+-114.014 24.884 2676
+-113.888 24.884 2694
+-113.762 24.884 2712
+-113.636 24.884 2707
+-113.51 24.884 2701
+-113.384 24.884 2676
+-113.258 24.884 2668
+-113.132 24.884 2658
+-113.006 24.884 2665
+-112.88 24.884 2661
+-112.754 24.884 2646
+-112.628 24.884 2631
+-112.502 24.884 2586
+-112.376 24.884 2558
+-112.25 24.884 2541
+-112.124 24.884 2523
+-111.998 24.884 2504
+-111.872 24.884 2486
+-111.746 24.884 2467
+-111.62 24.884 2449
+-111.494 24.884 2451
+-111.368 24.884 2435
+-111.242 24.884 2423
+-111.116 24.884 2414
+-110.99 24.884 2408
+-110.864 24.884 2404
+-110.738 24.884 2398
+-110.612 24.884 2388
+-110.486 24.884 2371
+-110.36 24.884 2348
+-110.234 24.884 2328
+-110.108 24.884 2321
+-109.982 24.884 2335
+-109.856 24.884 2366
+-109.73 24.884 2409
+-109.604 24.884 2453
+-109.478 24.884 2490
+-109.352 24.884 2517
+-109.226 24.884 2534
+-109.1 24.884 2566
+-108.974 24.884 2575
+-108.848 24.884 2573
+-108.722 24.884 2570
+-108.596 24.884 2597
+-108.47 24.884 2604
+-108.344 24.884 2618
+-108.218 24.884 2637
+-108.092 24.884 2660
+-107.966 24.884 2685
+-107.84 24.884 2710
+-107.714 24.884 2735
+-107.588 24.884 2772
+-107.462 24.884 2842
+-107.336 24.884 2863
+-107.21 24.884 2875
+-107.084 24.884 2891
+-106.958 24.884 2928
+-106.832 24.884 2950
+-106.706 24.884 2963
+-106.58 24.884 2974
+-106.454 24.884 3059
+-106.328 24.884 3068
+-106.202 24.884 3075
+-106.076 24.884 3033
+-105.95 24.884 3047
+-105.824 24.884 3051
+-105.698 24.884 3055
+-105.572 24.884 3050
+-105.446 24.884 3057
+-105.32 24.884 3065
+-105.194 24.884 3137
+-105.068 24.884 3125
+-104.942 24.884 3034
+-104.816 24.884 3035
+-104.69 24.884 3036
+-104.564 24.884 3055
+-104.438 24.884 3057
+-104.312 24.884 3058
+-104.186 24.884 3085
+-104.06 24.884 3087
+-103.934 24.884 3089
+-103.808 24.884 3045
+-103.682 24.884 3097
+-103.556 24.884 3100
+-103.43 24.884 3102
+-103.304 24.884 3105
+-103.178 24.884 3107
+-103.052 24.884 3106
+-102.926 24.884 3109
+-102.8 24.884 3131
+-102.674 24.884 3134
+-102.548 24.884 3137
+-102.422 24.884 3140
+-102.296 24.884 3087
+-102.17 24.884 3208
+-102.044 24.884 3205
+-101.918 24.884 3226
+-101.792 24.884 3230
+-101.666 24.884 3339
+-101.54 24.884 3342
+-101.414 24.884 3345
+-101.288 24.884 3384
+-101.162 24.884 3369
+-101.036 24.884 3375
+-100.91 24.884 3367
+-100.784 24.884 3385
+-100.658 24.884 3374
+-100.532 24.884 3397
+-100.406 24.884 3401
+-100.28 24.884 3396
+-100.154 24.884 3392
+-100.028 24.884 3395
+-99.902 24.884 3381
+-99.776 24.884 3427
+-99.65 24.884 3430
+-99.524 24.884 3402
+-99.398 24.884 3405
+-99.272 24.884 3451
+-99.146 24.884 3454
+-99.02 24.884 3414
+-98.894 24.884 3387
+-98.768 24.884 3404
+-98.642 24.884 3252
+-98.516 24.884 3254
+-98.39 24.884 3319
+-98.264 24.884 3221
+-98.138 24.884 3225
+-98.012 24.884 3165
+-97.886 24.884 3165
+-97.76 24.884 3105
+-97.634 24.884 3090
+-97.508 24.884 3071
+-97.382 24.884 3032
+-97.256 24.884 2984
+-97.13 24.884 2968
+-97.004 24.884 2970
+-96.878 24.884 2948
+-96.752 24.884 3027
+-96.626 24.884 3216
+-96.5 24.884 3233
+-96.374 24.884 3333
+-96.248 24.884 3378
+-96.122 24.884 3457
+-95.996 24.884 3475
+-95.87 24.884 3473
+-95.744 24.884 3472
+-95.618 24.884 3471
+-95.492 24.884 3469
+-95.366 24.884 3468
+-95.24 24.884 3494
+-95.114 24.884 3509
+-94.988 24.884 3507
+-94.862 24.884 3506
+-94.736 24.884 3525
+-94.61 24.884 3524
+-94.484 24.884 3523
+-94.358 24.884 3522
+-94.232 24.884 3521
+-94.106 24.884 3520
+-93.98 24.884 3519
+-93.854 24.884 3518
+-93.728 24.884 3517
+-93.602 24.884 3515
+-93.476 24.884 3514
+-93.35 24.884 3512
+-93.224 24.884 3518
+-93.098 24.884 3517
+-92.972 24.884 3516
+-92.846 24.884 3515
+-92.72 24.884 3514
+-92.594 24.884 3514
+-92.468 24.884 3513
+-92.342 24.884 3604
+-92.216 24.884 3601
+-92.09 24.884 3598
+-91.964 24.884 3594
+-91.838 24.884 3595
+-91.712 24.884 3642
+-91.586 24.884 3638
+-91.46 24.884 3633
+-91.334 24.884 3652
+-91.208 24.884 3647
+-91.082 24.884 3623
+-90.956 24.884 3618
+-90.83 24.884 3667
+-90.704 24.884 3662
+-90.578 24.884 3656
+-90.452 24.884 3651
+-90.326 24.884 3644
+-90.2 24.884 3638
+-90.074 24.884 3657
+-89.948 24.884 3648
+-89.822 24.884 3639
+-89.696 24.884 3629
+-89.57 24.884 3618
+-89.444 24.884 3606
+-89.318 24.884 3593
+-89.192 24.884 3579
+-89.066 24.884 3563
+-88.94 24.884 3529
+-88.814 24.884 3512
+-88.688 24.884 3494
+-88.562 24.884 3474
+-88.436 24.884 3469
+-88.31 24.884 3442
+-88.184 24.884 3432
+-88.058 24.884 3401
+-87.932 24.884 3369
+-87.806 24.884 3346
+-87.68 24.884 3309
+-87.554 24.884 3234
+-87.428 24.884 3176
+-87.302 24.884 3265
+-87.176 24.884 3461
+-87.05 24.884 3665
+-86.924 24.884 3838
+-86.798 24.884 3959
+-86.672 24.884 4057
+-86.546 24.884 4156
+-86.42 24.884 4259
+-86.294 24.884 4362
+-86.168 24.884 4441
+-86.042 24.884 4553
+-85.916 24.884 4659
+-85.79 24.884 4768
+-85.664 24.884 4913
+-85.538 24.884 5053
+-85.412 24.884 5107
+-85.286 24.884 5149
+-85.16 24.884 5266
+-85.034 24.884 5403
+-84.908 24.884 5442
+-84.782 24.884 5489
+-84.656 24.884 5601
+-84.53 24.884 5711
+-84.404 24.884 5786
+-84.278 24.884 5863
+-84.152 24.884 5988
+-84.026 24.884 6001
+-83.9 24.884 6122
+-83.774 24.884 6142
+-83.648 24.884 6234
+-83.522 24.884 6282
+-83.396 24.884 6341
+-83.27 24.884 6383
+-83.144 24.884 6415
+-83.018 24.884 6460
+-82.892 24.884 6506
+-82.766 24.884 6545
+-82.64 24.884 6548
+-82.514 24.884 6588
+-82.388 24.884 6611
+-82.262 24.884 6615
+-82.136 24.884 6605
+-82.01 24.884 6570
+-81.884 24.884 6606
+-81.758 24.884 6542
+-81.632 24.884 6564
+-81.506 24.884 6515
+-81.38 24.884 6464
+-81.254 24.884 6404
+-81.128 24.884 6369
+-81.002 24.884 6328
+-80.876 24.884 6229
+-80.75 24.884 6219
+-80.624 24.884 6170
+-80.498 24.884 6113
+-80.372 24.884 6069
+-80.246 24.884 6002
+-80.12 24.884 5924
+-79.994 24.884 5849
+-79.868 24.884 5740
+-79.742 24.884 5569
+-79.616 24.884 5427
+-79.49 24.884 5322
+-79.364 24.884 5245
+-79.238 24.884 5183
+-79.112 24.884 5080
+-78.986 24.884 4966
+-78.86 24.884 4876
+-78.734 24.884 4789
+-78.608 24.884 4638
+-78.482 24.884 4588
+-78.356 24.884 4507
+-78.23 24.884 4342
+-78.104 24.884 4262
+-77.978 24.884 4123
+-77.852 24.884 3916
+-77.726 24.884 3965
+-77.6 24.884 3940
+-77.474 24.884 3872
+-77.348 24.884 3733
+-77.222 24.884 3535
+-77.096 24.884 3239
+-76.97 24.884 3086
+-76.844 24.884 3193
+-76.718 24.884 3339
+-76.592 24.884 3402
+-76.466 24.884 3359
+-76.34 24.884 3322
+-76.214 24.884 3304
+-76.088 24.884 3265
+-75.962 24.884 3221
+-75.836 24.884 3161
+-75.71 24.884 3080
+-75.584 24.884 2960
+-75.458 24.884 2811
+-75.332 24.884 2619
+-75.206 24.884 2369
+-75.08 24.884 2051
+-74.954 24.884 1670
+-74.828 24.884 1258
+-74.702 24.884 879
+-74.576 24.884 616
+-74.45 24.884 527
+-74.324 24.884 602
+-74.198 24.884 789
+-74.072 24.884 1028
+-73.946 24.884 1277
+-73.82 24.884 1511
+-73.694 24.884 1684
+-73.568 24.884 1865
+-73.442 24.884 1993
+-73.316 24.884 2124
+-73.19 24.884 2235
+-73.064 24.884 2331
+-72.938 24.884 2387
+-72.812 24.884 2434
+-72.686 24.884 2499
+-72.56 24.884 2549
+-72.434 24.884 2594
+-72.308 24.884 2638
+-72.182 24.884 2677
+-72.056 24.884 2713
+-71.93 24.884 2718
+-71.804 24.884 2746
+-71.678 24.884 2772
+-71.552 24.884 2752
+-71.426 24.884 2774
+-71.3 24.884 2759
+-71.174 24.884 2766
+-71.048 24.884 2748
+-70.922 24.884 2763
+-70.796 24.884 2735
+-70.67 24.884 2747
+-70.544 24.884 2759
+-70.418 24.884 2770
+-70.292 24.884 2780
+-70.166 24.884 2789
+-70.04 24.884 2798
+-69.914 24.884 2807
+-69.788 24.884 2814
+-69.662 24.884 2822
+-69.536 24.884 2829
+-69.41 24.884 2835
+-69.284 24.884 2842
+-69.158 24.884 2847
+-69.032 24.884 2853
+-68.906 24.884 2858
+-68.78 24.884 2863
+-68.654 24.884 2868
+-68.528 24.884 2873
+-68.402 24.884 2877
+-68.276 24.884 2854
+-68.15 24.884 2859
+-68.024 24.884 2864
+-67.898 24.884 2868
+-67.772 24.884 2872
+-67.646 24.884 2876
+-67.52 24.884 2837
+-67.394 24.884 2841
+-67.268 24.884 2834
+-67.142 24.884 2832
+-67.016 24.884 2805
+-66.89 24.884 2809
+-66.764 24.884 2812
+-66.638 24.884 2816
+-66.512 24.884 2819
+-66.386 24.884 2822
+-66.26 24.884 2826
+-66.134 24.884 2829
+-66.008 24.884 2832
+-65.882 24.884 2834
+-65.756 24.884 2837
+-65.63 24.884 2840
+-65.504 24.884 2842
+-65.378 24.884 2845
+-65.252 24.884 2847
+-65.126 24.884 2850
+-128 24.832 3244
+-127.874 24.832 3317
+-127.748 24.832 3278
+-127.622 24.832 3274
+-127.496 24.832 3300
+-127.37 24.832 3193
+-127.244 24.832 3198
+-127.118 24.832 3229
+-126.992 24.832 3220
+-126.866 24.832 3215
+-126.74 24.832 3210
+-126.614 24.832 3120
+-126.488 24.832 3118
+-126.362 24.832 3035
+-126.236 24.832 3043
+-126.11 24.832 3046
+-125.984 24.832 3040
+-125.858 24.832 3000
+-125.732 24.832 2994
+-125.606 24.832 2989
+-125.48 24.832 3009
+-125.354 24.832 2985
+-125.228 24.832 2978
+-125.102 24.832 2928
+-124.976 24.832 2921
+-124.85 24.832 2979
+-124.724 24.832 2935
+-124.598 24.832 2913
+-124.472 24.832 2816
+-124.346 24.832 2847
+-124.22 24.832 2838
+-124.094 24.832 2828
+-123.968 24.832 2818
+-123.842 24.832 2808
+-123.716 24.832 2796
+-123.59 24.832 2726
+-123.464 24.832 2724
+-123.338 24.832 2712
+-123.212 24.832 2670
+-123.086 24.832 2646
+-122.96 24.832 2621
+-122.834 24.832 2606
+-122.708 24.832 2569
+-122.582 24.832 2552
+-122.456 24.832 2516
+-122.33 24.832 2490
+-122.204 24.832 2455
+-122.078 24.832 2432
+-121.952 24.832 2400
+-121.826 24.832 2375
+-121.7 24.832 2345
+-121.574 24.832 2311
+-121.448 24.832 2275
+-121.322 24.832 2234
+-121.196 24.832 2137
+-121.07 24.832 2091
+-120.944 24.832 2039
+-120.818 24.832 1967
+-120.692 24.832 1905
+-120.566 24.832 1815
+-120.44 24.832 1741
+-120.314 24.832 1661
+-120.188 24.832 1575
+-120.062 24.832 1484
+-119.936 24.832 1390
+-119.81 24.832 1295
+-119.684 24.832 1205
+-119.558 24.832 1125
+-119.432 24.832 1062
+-119.306 24.832 1014
+-119.18 24.832 1003
+-119.054 24.832 1024
+-118.928 24.832 1075
+-118.802 24.832 1147
+-118.676 24.832 1244
+-118.55 24.832 1354
+-118.424 24.832 1466
+-118.298 24.832 1580
+-118.172 24.832 1676
+-118.046 24.832 1776
+-117.92 24.832 1858
+-117.794 24.832 1931
+-117.668 24.832 2008
+-117.542 24.832 2073
+-117.416 24.832 2130
+-117.29 24.832 2179
+-117.164 24.832 2223
+-117.038 24.832 2263
+-116.912 24.832 2334
+-116.786 24.832 2369
+-116.66 24.832 2327
+-116.534 24.832 2363
+-116.408 24.832 2388
+-116.282 24.832 2404
+-116.156 24.832 2440
+-116.03 24.832 2448
+-115.904 24.832 2459
+-115.778 24.832 2477
+-115.652 24.832 2423
+-115.526 24.832 2479
+-115.4 24.832 2493
+-115.274 24.832 2505
+-115.148 24.832 2517
+-115.022 24.832 2564
+-114.896 24.832 2573
+-114.77 24.832 2582
+-114.644 24.832 2536
+-114.518 24.832 2652
+-114.392 24.832 2666
+-114.266 24.832 2664
+-114.14 24.832 2661
+-114.014 24.832 2658
+-113.888 24.832 2674
+-113.762 24.832 2691
+-113.636 24.832 2684
+-113.51 24.832 2658
+-113.384 24.832 2648
+-113.258 24.832 2636
+-113.132 24.832 2642
+-113.006 24.832 2603
+-112.88 24.832 2587
+-112.754 24.832 2602
+-112.628 24.832 2555
+-112.502 24.832 2524
+-112.376 24.832 2504
+-112.25 24.832 2483
+-112.124 24.832 2462
+-111.998 24.832 2440
+-111.872 24.832 2418
+-111.746 24.832 2396
+-111.62 24.832 2375
+-111.494 24.832 2372
+-111.368 24.832 2355
+-111.242 24.832 2341
+-111.116 24.832 2334
+-110.99 24.832 2334
+-110.864 24.832 2339
+-110.738 24.832 2347
+-110.612 24.832 2354
+-110.486 24.832 2356
+-110.36 24.832 2353
+-110.234 24.832 2350
+-110.108 24.832 2352
+-109.982 24.832 2366
+-109.856 24.832 2387
+-109.73 24.832 2421
+-109.604 24.832 2456
+-109.478 24.832 2487
+-109.352 24.832 2513
+-109.226 24.832 2531
+-109.1 24.832 2543
+-108.974 24.832 2575
+-108.848 24.832 2587
+-108.722 24.832 2590
+-108.596 24.832 2594
+-108.47 24.832 2631
+-108.344 24.832 2644
+-108.218 24.832 2660
+-108.092 24.832 2678
+-107.966 24.832 2699
+-107.84 24.832 2720
+-107.714 24.832 2741
+-107.588 24.832 2762
+-107.462 24.832 2796
+-107.336 24.832 2866
+-107.21 24.832 2884
+-107.084 24.832 2892
+-106.958 24.832 2906
+-106.832 24.832 2941
+-106.706 24.832 2961
+-106.58 24.832 2972
+-106.454 24.832 2982
+-106.328 24.832 3070
+-106.202 24.832 3077
+-106.076 24.832 3084
+-105.95 24.832 3039
+-105.824 24.832 3054
+-105.698 24.832 3057
+-105.572 24.832 3061
+-105.446 24.832 3056
+-105.32 24.832 3063
+-105.194 24.832 3071
+-105.068 24.832 3145
+-104.942 24.832 3132
+-104.816 24.832 3039
+-104.69 24.832 3040
+-104.564 24.832 3041
+-104.438 24.832 3061
+-104.312 24.832 3062
+-104.186 24.832 3064
+-104.06 24.832 3091
+-103.934 24.832 3093
+-103.808 24.832 3095
+-103.682 24.832 3050
+-103.556 24.832 3103
+-103.43 24.832 3106
+-103.304 24.832 3108
+-103.178 24.832 3110
+-103.052 24.832 3112
+-102.926 24.832 3111
+-102.8 24.832 3114
+-102.674 24.832 3136
+-102.548 24.832 3139
+-102.422 24.832 3142
+-102.296 24.832 3145
+-102.17 24.832 3092
+-102.044 24.832 3213
+-101.918 24.832 3210
+-101.792 24.832 3232
+-101.666 24.832 3235
+-101.54 24.832 3345
+-101.414 24.832 3348
+-101.288 24.832 3351
+-101.162 24.832 3390
+-101.036 24.832 3376
+-100.91 24.832 3380
+-100.784 24.832 3373
+-100.658 24.832 3390
+-100.532 24.832 3379
+-100.406 24.832 3403
+-100.28 24.832 3406
+-100.154 24.832 3401
+-100.028 24.832 3397
+-99.902 24.832 3400
+-99.776 24.832 3385
+-99.65 24.832 3431
+-99.524 24.832 3435
+-99.398 24.832 3406
+-99.272 24.832 3409
+-99.146 24.832 3455
+-99.02 24.832 3459
+-98.894 24.832 3418
+-98.768 24.832 3390
+-98.642 24.832 3408
+-98.516 24.832 3255
+-98.39 24.832 3257
+-98.264 24.832 3221
+-98.138 24.832 3221
+-98.012 24.832 3225
+-97.886 24.832 3165
+-97.76 24.832 3105
+-97.634 24.832 3104
+-97.508 24.832 3071
+-97.382 24.832 3032
+-97.256 24.832 2984
+-97.13 24.832 2968
+-97.004 24.832 2970
+-96.878 24.832 2948
+-96.752 24.832 3027
+-96.626 24.832 3216
+-96.5 24.832 3233
+-96.374 24.832 3332
+-96.248 24.832 3377
+-96.122 24.832 3475
+-95.996 24.832 3474
+-95.87 24.832 3473
+-95.744 24.832 3471
+-95.618 24.832 3470
+-95.492 24.832 3468
+-95.366 24.832 3494
+-95.24 24.832 3510
+-95.114 24.832 3508
+-94.988 24.832 3506
+-94.862 24.832 3525
+-94.736 24.832 3524
+-94.61 24.832 3523
+-94.484 24.832 3522
+-94.358 24.832 3521
+-94.232 24.832 3520
+-94.106 24.832 3519
+-93.98 24.832 3518
+-93.854 24.832 3517
+-93.728 24.832 3515
+-93.602 24.832 3514
+-93.476 24.832 3513
+-93.35 24.832 3518
+-93.224 24.832 3517
+-93.098 24.832 3516
+-92.972 24.832 3515
+-92.846 24.832 3514
+-92.72 24.832 3513
+-92.594 24.832 3512
+-92.468 24.832 3604
+-92.342 24.832 3601
+-92.216 24.832 3597
+-92.09 24.832 3594
+-91.964 24.832 3595
+-91.838 24.832 3643
+-91.712 24.832 3638
+-91.586 24.832 3634
+-91.46 24.832 3653
+-91.334 24.832 3648
+-91.208 24.832 3623
+-91.082 24.832 3618
+-90.956 24.832 3668
+-90.83 24.832 3663
+-90.704 24.832 3658
+-90.578 24.832 3653
+-90.452 24.832 3647
+-90.326 24.832 3640
+-90.2 24.832 3660
+-90.074 24.832 3652
+-89.948 24.832 3643
+-89.822 24.832 3634
+-89.696 24.832 3624
+-89.57 24.832 3613
+-89.444 24.832 3601
+-89.318 24.832 3588
+-89.192 24.832 3574
+-89.066 24.832 3541
+-88.94 24.832 3527
+-88.814 24.832 3512
+-88.688 24.832 3494
+-88.562 24.832 3485
+-88.436 24.832 3474
+-88.31 24.832 3457
+-88.184 24.832 3433
+-88.058 24.832 3409
+-87.932 24.832 3383
+-87.806 24.832 3363
+-87.68 24.832 3322
+-87.554 24.832 3275
+-87.428 24.832 3246
+-87.302 24.832 3325
+-87.176 24.832 3484
+-87.05 24.832 3644
+-86.924 24.832 3797
+-86.798 24.832 3935
+-86.672 24.832 4043
+-86.546 24.832 4124
+-86.42 24.832 4240
+-86.294 24.832 4315
+-86.168 24.832 4395
+-86.042 24.832 4472
+-85.916 24.832 4578
+-85.79 24.832 4722
+-85.664 24.832 4884
+-85.538 24.832 5032
+-85.412 24.832 5102
+-85.286 24.832 5078
+-85.16 24.832 5207
+-85.034 24.832 5370
+-84.908 24.832 5387
+-84.782 24.832 5440
+-84.656 24.832 5528
+-84.53 24.832 5657
+-84.404 24.832 5726
+-84.278 24.832 5802
+-84.152 24.832 5910
+-84.026 24.832 5984
+-83.9 24.832 6048
+-83.774 24.832 6094
+-83.648 24.832 6185
+-83.522 24.832 6244
+-83.396 24.832 6296
+-83.27 24.832 6296
+-83.144 24.832 6378
+-83.018 24.832 6427
+-82.892 24.832 6442
+-82.766 24.832 6464
+-82.64 24.832 6497
+-82.514 24.832 6513
+-82.388 24.832 6529
+-82.262 24.832 6533
+-82.136 24.832 6523
+-82.01 24.832 6524
+-81.884 24.832 6535
+-81.758 24.832 6524
+-81.632 24.832 6491
+-81.506 24.832 6448
+-81.38 24.832 6439
+-81.254 24.832 6404
+-81.128 24.832 6363
+-81.002 24.832 6268
+-80.876 24.832 6183
+-80.75 24.832 6149
+-80.624 24.832 6089
+-80.498 24.832 6016
+-80.372 24.832 6029
+-80.246 24.832 5941
+-80.12 24.832 5768
+-79.994 24.832 5780
+-79.868 24.832 5658
+-79.742 24.832 5499
+-79.616 24.832 5373
+-79.49 24.832 5299
+-79.364 24.832 5210
+-79.238 24.832 5114
+-79.112 24.832 5016
+-78.986 24.832 4918
+-78.86 24.832 4836
+-78.734 24.832 4789
+-78.608 24.832 4661
+-78.482 24.832 4574
+-78.356 24.832 4480
+-78.23 24.832 4340
+-78.104 24.832 4257
+-77.978 24.832 4132
+-77.852 24.832 4012
+-77.726 24.832 3991
+-77.6 24.832 3920
+-77.474 24.832 3816
+-77.348 24.832 3707
+-77.222 24.832 3545
+-77.096 24.832 3337
+-76.97 24.832 3200
+-76.844 24.832 3249
+-76.718 24.832 3335
+-76.592 24.832 3376
+-76.466 24.832 3333
+-76.34 24.832 3327
+-76.214 24.832 3289
+-76.088 24.832 3259
+-75.962 24.832 3208
+-75.836 24.832 3150
+-75.71 24.832 3072
+-75.584 24.832 2967
+-75.458 24.832 2815
+-75.332 24.832 2625
+-75.206 24.832 2382
+-75.08 24.832 2076
+-74.954 24.832 1710
+-74.828 24.832 1316
+-74.702 24.832 954
+-74.576 24.832 701
+-74.45 24.832 610
+-74.324 24.832 678
+-74.198 24.832 846
+-74.072 24.832 1073
+-73.946 24.832 1309
+-73.82 24.832 1533
+-73.694 24.832 1734
+-73.568 24.832 1873
+-73.442 24.832 2025
+-73.316 24.832 2125
+-73.19 24.832 2235
+-73.064 24.832 2330
+-72.938 24.832 2412
+-72.812 24.832 2455
+-72.686 24.832 2493
+-72.56 24.832 2549
+-72.434 24.832 2592
+-72.308 24.832 2632
+-72.182 24.832 2672
+-72.056 24.832 2707
+-71.93 24.832 2739
+-71.804 24.832 2741
+-71.678 24.832 2766
+-71.552 24.832 2790
+-71.426 24.832 2768
+-71.3 24.832 2789
+-71.174 24.832 2773
+-71.048 24.832 2778
+-70.922 24.832 2758
+-70.796 24.832 2773
+-70.67 24.832 2743
+-70.544 24.832 2755
+-70.418 24.832 2766
+-70.292 24.832 2776
+-70.166 24.832 2786
+-70.04 24.832 2795
+-69.914 24.832 2803
+-69.788 24.832 2811
+-69.662 24.832 2819
+-69.536 24.832 2826
+-69.41 24.832 2833
+-69.284 24.832 2839
+-69.158 24.832 2845
+-69.032 24.832 2851
+-68.906 24.832 2856
+-68.78 24.832 2861
+-68.654 24.832 2866
+-68.528 24.832 2870
+-68.402 24.832 2875
+-68.276 24.832 2879
+-68.15 24.832 2857
+-68.024 24.832 2861
+-67.898 24.832 2865
+-67.772 24.832 2870
+-67.646 24.832 2874
+-67.52 24.832 2877
+-67.394 24.832 2838
+-67.268 24.832 2843
+-67.142 24.832 2835
+-67.016 24.832 2833
+-66.89 24.832 2806
+-66.764 24.832 2810
+-66.638 24.832 2813
+-66.512 24.832 2817
+-66.386 24.832 2820
+-66.26 24.832 2823
+-66.134 24.832 2826
+-66.008 24.832 2829
+-65.882 24.832 2832
+-65.756 24.832 2835
+-65.63 24.832 2838
+-65.504 24.832 2840
+-65.378 24.832 2843
+-65.252 24.832 2846
+-65.126 24.832 2848
+-128 24.78 3318
+-127.874 24.78 3279
+-127.748 24.78 3275
+-127.622 24.78 3301
+-127.496 24.78 3194
+-127.37 24.78 3199
+-127.244 24.78 3230
+-127.118 24.78 3221
+-126.992 24.78 3216
+-126.866 24.78 3211
+-126.74 24.78 3121
+-126.614 24.78 3120
+-126.488 24.78 3036
+-126.362 24.78 3045
+-126.236 24.78 3047
+-126.11 24.78 3042
+-125.984 24.78 3002
+-125.858 24.78 2996
+-125.732 24.78 2991
+-125.606 24.78 3012
+-125.48 24.78 2988
+-125.354 24.78 2981
+-125.228 24.78 2931
+-125.102 24.78 2924
+-124.976 24.78 2983
+-124.85 24.78 2940
+-124.724 24.78 2918
+-124.598 24.78 2820
+-124.472 24.78 2852
+-124.346 24.78 2843
+-124.22 24.78 2834
+-124.094 24.78 2824
+-123.968 24.78 2814
+-123.842 24.78 2803
+-123.716 24.78 2733
+-123.59 24.78 2732
+-123.464 24.78 2720
+-123.338 24.78 2679
+-123.212 24.78 2656
+-123.086 24.78 2632
+-122.96 24.78 2617
+-122.834 24.78 2582
+-122.708 24.78 2565
+-122.582 24.78 2530
+-122.456 24.78 2506
+-122.33 24.78 2473
+-122.204 24.78 2452
+-122.078 24.78 2422
+-121.952 24.78 2400
+-121.826 24.78 2372
+-121.7 24.78 2342
+-121.574 24.78 2309
+-121.448 24.78 2274
+-121.322 24.78 2179
+-121.196 24.78 2138
+-121.07 24.78 2093
+-120.944 24.78 2027
+-120.818 24.78 1973
+-120.692 24.78 1892
+-120.566 24.78 1829
+-120.44 24.78 1761
+-120.314 24.78 1688
+-120.188 24.78 1610
+-120.062 24.78 1529
+-119.936 24.78 1446
+-119.81 24.78 1364
+-119.684 24.78 1287
+-119.558 24.78 1221
+-119.432 24.78 1157
+-119.306 24.78 1126
+-119.18 24.78 1120
+-119.054 24.78 1139
+-118.928 24.78 1177
+-118.802 24.78 1244
+-118.676 24.78 1327
+-118.55 24.78 1419
+-118.424 24.78 1520
+-118.298 24.78 1609
+-118.172 24.78 1706
+-118.046 24.78 1787
+-117.92 24.78 1864
+-117.794 24.78 1944
+-117.668 24.78 2013
+-117.542 24.78 2075
+-117.416 24.78 2130
+-117.29 24.78 2178
+-117.164 24.78 2222
+-117.038 24.78 2294
+-116.912 24.78 2333
+-116.786 24.78 2295
+-116.66 24.78 2332
+-116.534 24.78 2360
+-116.408 24.78 2378
+-116.282 24.78 2415
+-116.156 24.78 2424
+-116.03 24.78 2436
+-115.904 24.78 2455
+-115.778 24.78 2402
+-115.652 24.78 2458
+-115.526 24.78 2472
+-115.4 24.78 2485
+-115.274 24.78 2497
+-115.148 24.78 2508
+-115.022 24.78 2554
+-114.896 24.78 2563
+-114.77 24.78 2547
+-114.644 24.78 2546
+-114.518 24.78 2619
+-114.392 24.78 2652
+-114.266 24.78 2649
+-114.14 24.78 2645
+-114.014 24.78 2629
+-113.888 24.78 2654
+-113.762 24.78 2669
+-113.636 24.78 2641
+-113.51 24.78 2630
+-113.384 24.78 2618
+-113.258 24.78 2622
+-113.132 24.78 2581
+-113.006 24.78 2552
+-112.88 24.78 2533
+-112.754 24.78 2499
+-112.628 24.78 2494
+-112.502 24.78 2470
+-112.376 24.78 2447
+-112.25 24.78 2422
+-112.124 24.78 2397
+-111.998 24.78 2372
+-111.872 24.78 2347
+-111.746 24.78 2322
+-111.62 24.78 2296
+-111.494 24.78 2288
+-111.368 24.78 2266
+-111.242 24.78 2250
+-111.116 24.78 2242
+-110.99 24.78 2245
+-110.864 24.78 2258
+-110.738 24.78 2279
+-110.612 24.78 2303
+-110.486 24.78 2324
+-110.36 24.78 2341
+-110.234 24.78 2353
+-110.108 24.78 2366
+-109.982 24.78 2383
+-109.856 24.78 2401
+-109.73 24.78 2429
+-109.604 24.78 2458
+-109.478 24.78 2486
+-109.352 24.78 2509
+-109.226 24.78 2528
+-109.1 24.78 2542
+-108.974 24.78 2552
+-108.848 24.78 2587
+-108.722 24.78 2603
+-108.596 24.78 2610
+-108.47 24.78 2618
+-108.344 24.78 2663
+-108.218 24.78 2677
+-108.092 24.78 2693
+-107.966 24.78 2711
+-107.84 24.78 2729
+-107.714 24.78 2747
+-107.588 24.78 2765
+-107.462 24.78 2782
+-107.336 24.78 2814
+-107.21 24.78 2887
+-107.084 24.78 2902
+-106.958 24.78 2906
+-106.832 24.78 2918
+-106.706 24.78 2952
+-106.58 24.78 2971
+-106.454 24.78 2980
+-106.328 24.78 2989
+-106.202 24.78 3079
+-106.076 24.78 3086
+-105.95 24.78 3092
+-105.824 24.78 3046
+-105.698 24.78 3060
+-105.572 24.78 3064
+-105.446 24.78 3067
+-105.32 24.78 3062
+-105.194 24.78 3068
+-105.068 24.78 3077
+-104.942 24.78 3152
+-104.816 24.78 3139
+-104.69 24.78 3044
+-104.564 24.78 3045
+-104.438 24.78 3046
+-104.312 24.78 3066
+-104.186 24.78 3068
+-104.06 24.78 3069
+-103.934 24.78 3097
+-103.808 24.78 3099
+-103.682 24.78 3101
+-103.556 24.78 3055
+-103.43 24.78 3109
+-103.304 24.78 3111
+-103.178 24.78 3113
+-103.052 24.78 3115
+-102.926 24.78 3118
+-102.8 24.78 3116
+-102.674 24.78 3119
+-102.548 24.78 3141
+-102.422 24.78 3144
+-102.296 24.78 3147
+-102.17 24.78 3149
+-102.044 24.78 3096
+-101.918 24.78 3219
+-101.792 24.78 3215
+-101.666 24.78 3237
+-101.54 24.78 3240
+-101.414 24.78 3351
+-101.288 24.78 3354
+-101.162 24.78 3356
+-101.036 24.78 3396
+-100.91 24.78 3380
+-100.784 24.78 3386
+-100.658 24.78 3378
+-100.532 24.78 3395
+-100.406 24.78 3384
+-100.28 24.78 3408
+-100.154 24.78 3411
+-100.028 24.78 3405
+-99.902 24.78 3401
+-99.776 24.78 3404
+-99.65 24.78 3389
+-99.524 24.78 3436
+-99.398 24.78 3439
+-99.272 24.78 3410
+-99.146 24.78 3413
+-99.02 24.78 3459
+-98.894 24.78 3463
+-98.768 24.78 3422
+-98.642 24.78 3394
+-98.516 24.78 3411
+-98.39 24.78 3181
+-98.264 24.78 3181
+-98.138 24.78 3221
+-98.012 24.78 3221
+-97.886 24.78 3225
+-97.76 24.78 3104
+-97.634 24.78 3104
+-97.508 24.78 3071
+-97.382 24.78 2955
+-97.256 24.78 2984
+-97.13 24.78 2968
+-97.004 24.78 2981
+-96.878 24.78 2949
+-96.752 24.78 3047
+-96.626 24.78 3216
+-96.5 24.78 3233
+-96.374 24.78 3332
+-96.248 24.78 3376
+-96.122 24.78 3474
+-95.996 24.78 3473
+-95.87 24.78 3472
+-95.744 24.78 3470
+-95.618 24.78 3469
+-95.492 24.78 3495
+-95.366 24.78 3510
+-95.24 24.78 3509
+-95.114 24.78 3507
+-94.988 24.78 3526
+-94.862 24.78 3525
+-94.736 24.78 3524
+-94.61 24.78 3523
+-94.484 24.78 3522
+-94.358 24.78 3520
+-94.232 24.78 3519
+-94.106 24.78 3518
+-93.98 24.78 3517
+-93.854 24.78 3516
+-93.728 24.78 3514
+-93.602 24.78 3513
+-93.476 24.78 3518
+-93.35 24.78 3517
+-93.224 24.78 3516
+-93.098 24.78 3515
+-92.972 24.78 3514
+-92.846 24.78 3513
+-92.72 24.78 3512
+-92.594 24.78 3604
+-92.468 24.78 3601
+-92.342 24.78 3598
+-92.216 24.78 3594
+-92.09 24.78 3595
+-91.964 24.78 3643
+-91.838 24.78 3639
+-91.712 24.78 3635
+-91.586 24.78 3654
+-91.46 24.78 3649
+-91.334 24.78 3624
+-91.208 24.78 3619
+-91.082 24.78 3669
+-90.956 24.78 3665
+-90.83 24.78 3660
+-90.704 24.78 3655
+-90.578 24.78 3649
+-90.452 24.78 3643
+-90.326 24.78 3663
+-90.2 24.78 3656
+-90.074 24.78 3648
+-89.948 24.78 3639
+-89.822 24.78 3630
+-89.696 24.78 3620
+-89.57 24.78 3609
+-89.444 24.78 3597
+-89.318 24.78 3584
+-89.192 24.78 3552
+-89.066 24.78 3540
+-88.94 24.78 3526
+-88.814 24.78 3511
+-88.688 24.78 3504
+-88.562 24.78 3478
+-88.436 24.78 3485
+-88.31 24.78 3465
+-88.184 24.78 3444
+-88.058 24.78 3422
+-87.932 24.78 3411
+-87.806 24.78 3386
+-87.68 24.78 3355
+-87.554 24.78 3345
+-87.428 24.78 3341
+-87.302 24.78 3418
+-87.176 24.78 3528
+-87.05 24.78 3648
+-86.924 24.78 3784
+-86.798 24.78 3896
+-86.672 24.78 4014
+-86.546 24.78 4127
+-86.42 24.78 4192
+-86.294 24.78 4275
+-86.168 24.78 4336
+-86.042 24.78 4333
+-85.916 24.78 4438
+-85.79 24.78 4618
+-85.664 24.78 4797
+-85.538 24.78 4966
+-85.412 24.78 5068
+-85.286 24.78 5131
+-85.16 24.78 5229
+-85.034 24.78 5342
+-84.908 24.78 5378
+-84.782 24.78 5411
+-84.656 24.78 5479
+-84.53 24.78 5580
+-84.404 24.78 5650
+-84.278 24.78 5728
+-84.152 24.78 5828
+-84.026 24.78 5912
+-83.9 24.78 6008
+-83.774 24.78 6039
+-83.648 24.78 6115
+-83.522 24.78 6180
+-83.396 24.78 6235
+-83.27 24.78 6271
+-83.144 24.78 6317
+-83.018 24.78 6379
+-82.892 24.78 6410
+-82.766 24.78 6417
+-82.64 24.78 6419
+-82.514 24.78 6440
+-82.388 24.78 6450
+-82.262 24.78 6450
+-82.136 24.78 6450
+-82.01 24.78 6448
+-81.884 24.78 6468
+-81.758 24.78 6448
+-81.632 24.78 6434
+-81.506 24.78 6375
+-81.38 24.78 6352
+-81.254 24.78 6331
+-81.128 24.78 6318
+-81.002 24.78 6224
+-80.876 24.78 6156
+-80.75 24.78 6090
+-80.624 24.78 6070
+-80.498 24.78 5981
+-80.372 24.78 5997
+-80.246 24.78 5926
+-80.12 24.78 5807
+-79.994 24.78 5710
+-79.868 24.78 5559
+-79.742 24.78 5435
+-79.616 24.78 5390
+-79.49 24.78 5279
+-79.364 24.78 5215
+-79.238 24.78 5093
+-79.112 24.78 5030
+-78.986 24.78 4910
+-78.86 24.78 4852
+-78.734 24.78 4778
+-78.608 24.78 4653
+-78.482 24.78 4553
+-78.356 24.78 4433
+-78.23 24.78 4318
+-78.104 24.78 4212
+-77.978 24.78 4103
+-77.852 24.78 4045
+-77.726 24.78 3960
+-77.6 24.78 3886
+-77.474 24.78 3801
+-77.348 24.78 3684
+-77.222 24.78 3580
+-77.096 24.78 3440
+-76.97 24.78 3352
+-76.844 24.78 3345
+-76.718 24.78 3352
+-76.592 24.78 3378
+-76.466 24.78 3323
+-76.34 24.78 3314
+-76.214 24.78 3296
+-76.088 24.78 3246
+-75.962 24.78 3206
+-75.836 24.78 3142
+-75.71 24.78 3068
+-75.584 24.78 2969
+-75.458 24.78 2837
+-75.332 24.78 2654
+-75.206 24.78 2427
+-75.08 24.78 2149
+-74.954 24.78 1822
+-74.828 24.78 1473
+-74.702 24.78 1153
+-74.576 24.78 925
+-74.45 24.78 833
+-74.324 24.78 877
+-74.198 24.78 1021
+-74.072 24.78 1196
+-73.946 24.78 1403
+-73.82 24.78 1601
+-73.694 24.78 1784
+-73.568 24.78 1946
+-73.442 24.78 2050
+-73.316 24.78 2174
+-73.19 24.78 2248
+-73.064 24.78 2339
+-72.938 24.78 2418
+-72.812 24.78 2487
+-72.686 24.78 2518
+-72.56 24.78 2548
+-72.434 24.78 2597
+-72.308 24.78 2634
+-72.182 24.78 2668
+-72.056 24.78 2704
+-71.93 24.78 2735
+-71.804 24.78 2764
+-71.678 24.78 2763
+-71.552 24.78 2786
+-71.426 24.78 2808
+-71.3 24.78 2785
+-71.174 24.78 2804
+-71.048 24.78 2786
+-70.922 24.78 2790
+-70.796 24.78 2769
+-70.67 24.78 2782
+-70.544 24.78 2752
+-70.418 24.78 2763
+-70.292 24.78 2773
+-70.166 24.78 2783
+-70.04 24.78 2792
+-69.914 24.78 2801
+-69.788 24.78 2809
+-69.662 24.78 2816
+-69.536 24.78 2823
+-69.41 24.78 2830
+-69.284 24.78 2836
+-69.158 24.78 2843
+-69.032 24.78 2848
+-68.906 24.78 2854
+-68.78 24.78 2859
+-68.654 24.78 2864
+-68.528 24.78 2868
+-68.402 24.78 2873
+-68.276 24.78 2877
+-68.15 24.78 2881
+-68.024 24.78 2859
+-67.898 24.78 2863
+-67.772 24.78 2867
+-67.646 24.78 2871
+-67.52 24.78 2875
+-67.394 24.78 2879
+-67.268 24.78 2840
+-67.142 24.78 2845
+-67.016 24.78 2837
+-66.89 24.78 2834
+-66.764 24.78 2807
+-66.638 24.78 2811
+-66.512 24.78 2815
+-66.386 24.78 2818
+-66.26 24.78 2821
+-66.134 24.78 2824
+-66.008 24.78 2827
+-65.882 24.78 2830
+-65.756 24.78 2833
+-65.63 24.78 2836
+-65.504 24.78 2838
+-65.378 24.78 2841
+-65.252 24.78 2844
+-65.126 24.78 2846
+-128 24.728 3279
+-127.874 24.728 3276
+-127.748 24.728 3302
+-127.622 24.728 3194
+-127.496 24.728 3199
+-127.37 24.728 3231
+-127.244 24.728 3222
+-127.118 24.728 3218
+-126.992 24.728 3213
+-126.866 24.728 3122
+-126.74 24.728 3121
+-126.614 24.728 3038
+-126.488 24.728 3046
+-126.362 24.728 3049
+-126.236 24.728 3044
+-126.11 24.728 3003
+-125.984 24.728 2998
+-125.858 24.728 2993
+-125.732 24.728 3014
+-125.606 24.728 2990
+-125.48 24.728 2984
+-125.354 24.728 2934
+-125.228 24.728 2927
+-125.102 24.728 2987
+-124.976 24.728 2944
+-124.85 24.728 2922
+-124.724 24.728 2824
+-124.598 24.728 2857
+-124.472 24.728 2848
+-124.346 24.728 2839
+-124.22 24.728 2830
+-124.094 24.728 2820
+-123.968 24.728 2810
+-123.842 24.728 2739
+-123.716 24.728 2740
+-123.59 24.728 2728
+-123.464 24.728 2687
+-123.338 24.728 2665
+-123.212 24.728 2642
+-123.086 24.728 2628
+-122.96 24.728 2594
+-122.834 24.728 2578
+-122.708 24.728 2545
+-122.582 24.728 2521
+-122.456 24.728 2490
+-122.33 24.728 2470
+-122.204 24.728 2442
+-122.078 24.728 2423
+-121.952 24.728 2398
+-121.826 24.728 2371
+-121.7 24.728 2342
+-121.574 24.728 2310
+-121.448 24.728 2216
+-121.322 24.728 2181
+-121.196 24.728 2141
+-121.07 24.728 2080
+-120.944 24.728 2034
+-120.818 24.728 1960
+-120.692 24.728 1906
+-120.566 24.728 1848
+-120.44 24.728 1786
+-120.314 24.728 1720
+-120.188 24.728 1650
+-120.062 24.728 1578
+-119.936 24.728 1506
+-119.81 24.728 1437
+-119.684 24.728 1373
+-119.558 24.728 1303
+-119.432 24.728 1262
+-119.306 24.728 1239
+-119.18 24.728 1235
+-119.054 24.728 1246
+-118.928 24.728 1285
+-118.802 24.728 1342
+-118.676 24.728 1410
+-118.55 24.728 1492
+-118.424 24.728 1567
+-118.298 24.728 1655
+-118.172 24.728 1731
+-118.046 24.728 1806
+-117.92 24.728 1887
+-117.794 24.728 1958
+-117.668 24.728 2023
+-117.542 24.728 2080
+-117.416 24.728 2133
+-117.29 24.728 2180
+-117.164 24.728 2253
+-117.038 24.728 2296
+-116.912 24.728 2261
+-116.786 24.728 2300
+-116.66 24.728 2330
+-116.534 24.728 2350
+-116.408 24.728 2388
+-116.282 24.728 2399
+-116.156 24.728 2412
+-116.03 24.728 2433
+-115.904 24.728 2382
+-115.778 24.728 2437
+-115.652 24.728 2452
+-115.526 24.728 2466
+-115.4 24.728 2478
+-115.274 24.728 2489
+-115.148 24.728 2498
+-115.022 24.728 2544
+-114.896 24.728 2528
+-114.77 24.728 2535
+-114.644 24.728 2532
+-114.518 24.728 2606
+-114.392 24.728 2638
+-114.266 24.728 2633
+-114.14 24.728 2618
+-114.014 24.728 2610
+-113.888 24.728 2624
+-113.762 24.728 2628
+-113.636 24.728 2616
+-113.51 24.728 2602
+-113.384 24.728 2605
+-113.258 24.728 2562
+-113.132 24.728 2531
+-113.006 24.728 2510
+-112.88 24.728 2488
+-112.754 24.728 2437
+-112.628 24.728 2441
+-112.502 24.728 2413
+-112.376 24.728 2386
+-112.25 24.728 2358
+-112.124 24.728 2330
+-111.998 24.728 2301
+-111.872 24.728 2273
+-111.746 24.728 2244
+-111.62 24.728 2214
+-111.494 24.728 2199
+-111.368 24.728 2171
+-111.242 24.728 2148
+-111.116 24.728 2136
+-110.99 24.728 2140
+-110.864 24.728 2159
+-110.738 24.728 2192
+-110.612 24.728 2233
+-110.486 24.728 2273
+-110.36 24.728 2308
+-110.234 24.728 2336
+-110.108 24.728 2361
+-109.982 24.728 2385
+-109.856 24.728 2403
+-109.73 24.728 2430
+-109.604 24.728 2457
+-109.478 24.728 2482
+-109.352 24.728 2505
+-109.226 24.728 2525
+-109.1 24.728 2541
+-108.974 24.728 2553
+-108.848 24.728 2563
+-108.722 24.728 2601
+-108.596 24.728 2620
+-108.47 24.728 2630
+-108.344 24.728 2641
+-108.218 24.728 2690
+-108.092 24.728 2704
+-107.966 24.728 2720
+-107.84 24.728 2736
+-107.714 24.728 2753
+-107.588 24.728 2769
+-107.462 24.728 2784
+-107.336 24.728 2799
+-107.21 24.728 2829
+-107.084 24.728 2903
+-106.958 24.728 2916
+-106.832 24.728 2918
+-106.706 24.728 2928
+-106.58 24.728 2962
+-106.454 24.728 2980
+-106.328 24.728 2988
+-106.202 24.728 2996
+-106.076 24.728 3088
+-105.95 24.728 3094
+-105.824 24.728 3100
+-105.698 24.728 3052
+-105.572 24.728 3066
+-105.446 24.728 3070
+-105.32 24.728 3073
+-105.194 24.728 3067
+-105.068 24.728 3074
+-104.942 24.728 3082
+-104.816 24.728 3158
+-104.69 24.728 3145
+-104.564 24.728 3048
+-104.438 24.728 3049
+-104.312 24.728 3050
+-104.186 24.728 3071
+-104.06 24.728 3072
+-103.934 24.728 3074
+-103.808 24.728 3102
+-103.682 24.728 3104
+-103.556 24.728 3106
+-103.43 24.728 3060
+-103.304 24.728 3114
+-103.178 24.728 3116
+-103.052 24.728 3118
+-102.926 24.728 3120
+-102.8 24.728 3123
+-102.674 24.728 3121
+-102.548 24.728 3123
+-102.422 24.728 3146
+-102.296 24.728 3148
+-102.17 24.728 3151
+-102.044 24.728 3154
+-101.918 24.728 3100
+-101.792 24.728 3224
+-101.666 24.728 3220
+-101.54 24.728 3242
+-101.414 24.728 3245
+-101.288 24.728 3357
+-101.162 24.728 3359
+-101.036 24.728 3362
+-100.91 24.728 3402
+-100.784 24.728 3387
+-100.658 24.728 3391
+-100.532 24.728 3383
+-100.406 24.728 3400
+-100.28 24.728 3389
+-100.154 24.728 3413
+-100.028 24.728 3416
+-99.902 24.728 3410
+-99.776 24.728 3406
+-99.65 24.728 3409
+-99.524 24.728 3393
+-99.398 24.728 3440
+-99.272 24.728 3443
+-99.146 24.728 3413
+-99.02 24.728 3416
+-98.894 24.728 3463
+-98.768 24.728 3466
+-98.642 24.728 3425
+-98.516 24.728 3397
+-98.39 24.728 3297
+-98.264 24.728 3297
+-98.138 24.728 3182
+-98.012 24.728 3221
+-97.886 24.728 3221
+-97.76 24.728 3158
+-97.634 24.728 3104
+-97.508 24.728 3071
+-97.382 24.728 2956
+-97.256 24.728 2985
+-97.13 24.728 2977
+-97.004 24.728 3002
+-96.878 24.728 2977
+-96.752 24.728 3047
+-96.626 24.728 3216
+-96.5 24.728 3329
+-96.374 24.728 3331
+-96.248 24.728 3376
+-96.122 24.728 3474
+-95.996 24.728 3472
+-95.87 24.728 3471
+-95.744 24.728 3470
+-95.618 24.728 3496
+-95.492 24.728 3511
+-95.366 24.728 3510
+-95.24 24.728 3508
+-95.114 24.728 3526
+-94.988 24.728 3525
+-94.862 24.728 3524
+-94.736 24.728 3523
+-94.61 24.728 3522
+-94.484 24.728 3521
+-94.358 24.728 3520
+-94.232 24.728 3518
+-94.106 24.728 3517
+-93.98 24.728 3516
+-93.854 24.728 3515
+-93.728 24.728 3513
+-93.602 24.728 3518
+-93.476 24.728 3517
+-93.35 24.728 3516
+-93.224 24.728 3515
+-93.098 24.728 3514
+-92.972 24.728 3513
+-92.846 24.728 3512
+-92.72 24.728 3604
+-92.594 24.728 3601
+-92.468 24.728 3598
+-92.342 24.728 3595
+-92.216 24.728 3595
+-92.09 24.728 3644
+-91.964 24.728 3640
+-91.838 24.728 3636
+-91.712 24.728 3656
+-91.586 24.728 3650
+-91.46 24.728 3625
+-91.334 24.728 3620
+-91.208 24.728 3671
+-91.082 24.728 3666
+-90.956 24.728 3662
+-90.83 24.728 3657
+-90.704 24.728 3651
+-90.578 24.728 3646
+-90.452 24.728 3667
+-90.326 24.728 3660
+-90.2 24.728 3652
+-90.074 24.728 3644
+-89.948 24.728 3635
+-89.822 24.728 3626
+-89.696 24.728 3616
+-89.57 24.728 3605
+-89.444 24.728 3594
+-89.318 24.728 3562
+-89.192 24.728 3550
+-89.066 24.728 3538
+-88.94 24.728 3525
+-88.814 24.728 3521
+-88.688 24.728 3496
+-88.562 24.728 3508
+-88.436 24.728 3490
+-88.31 24.728 3471
+-88.184 24.728 3450
+-88.058 24.728 3441
+-87.932 24.728 3418
+-87.806 24.728 3391
+-87.68 24.728 3382
+-87.554 24.728 3375
+-87.428 24.728 3389
+-87.302 24.728 3449
+-87.176 24.728 3526
+-87.05 24.728 3618
+-86.924 24.728 3753
+-86.798 24.728 3882
+-86.672 24.728 3973
+-86.546 24.728 4048
+-86.42 24.728 4152
+-86.294 24.728 4237
+-86.168 24.728 4282
+-86.042 24.728 4256
+-85.916 24.728 4359
+-85.79 24.728 4548
+-85.664 24.728 4720
+-85.538 24.728 4865
+-85.412 24.728 4975
+-85.286 24.728 5096
+-85.16 24.728 5198
+-85.034 24.728 5284
+-84.908 24.728 5347
+-84.782 24.728 5335
+-84.656 24.728 5465
+-84.53 24.728 5567
+-84.404 24.728 5612
+-84.278 24.728 5700
+-84.152 24.728 5779
+-84.026 24.728 5815
+-83.9 24.728 5905
+-83.774 24.728 5990
+-83.648 24.728 6077
+-83.522 24.728 6134
+-83.396 24.728 6174
+-83.27 24.728 6219
+-83.144 24.728 6247
+-83.018 24.728 6312
+-82.892 24.728 6365
+-82.766 24.728 6394
+-82.64 24.728 6387
+-82.514 24.728 6400
+-82.388 24.728 6444
+-82.262 24.728 6409
+-82.136 24.728 6430
+-82.01 24.728 6411
+-81.884 24.728 6410
+-81.758 24.728 6376
+-81.632 24.728 6374
+-81.506 24.728 6341
+-81.38 24.728 6287
+-81.254 24.728 6312
+-81.128 24.728 6281
+-81.002 24.728 6190
+-80.876 24.728 6131
+-80.75 24.728 6100
+-80.624 24.728 6046
+-80.498 24.728 5990
+-80.372 24.728 5934
+-80.246 24.728 5874
+-80.12 24.728 5733
+-79.994 24.728 5604
+-79.868 24.728 5522
+-79.742 24.728 5413
+-79.616 24.728 5312
+-79.49 24.728 5275
+-79.364 24.728 5188
+-79.238 24.728 5053
+-79.112 24.728 4969
+-78.986 24.728 4873
+-78.86 24.728 4800
+-78.734 24.728 4732
+-78.608 24.728 4615
+-78.482 24.728 4511
+-78.356 24.728 4408
+-78.23 24.728 4263
+-78.104 24.728 4132
+-77.978 24.728 4035
+-77.852 24.728 4000
+-77.726 24.728 3921
+-77.6 24.728 3815
+-77.474 24.728 3720
+-77.348 24.728 3654
+-77.222 24.728 3545
+-77.096 24.728 3455
+-76.97 24.728 3397
+-76.844 24.728 3374
+-76.718 24.728 3376
+-76.592 24.728 3366
+-76.466 24.728 3307
+-76.34 24.728 3297
+-76.214 24.728 3280
+-76.088 24.728 3254
+-75.962 24.728 3194
+-75.836 24.728 3144
+-75.71 24.728 3067
+-75.584 24.728 2977
+-75.458 24.728 2858
+-75.332 24.728 2703
+-75.206 24.728 2497
+-75.08 24.728 2253
+-74.954 24.728 1976
+-74.828 24.728 1685
+-74.702 24.728 1419
+-74.576 24.728 1225
+-74.45 24.728 1134
+-74.324 24.728 1150
+-74.198 24.728 1250
+-74.072 24.728 1398
+-73.946 24.728 1540
+-73.82 24.728 1708
+-73.694 24.728 1863
+-73.568 24.728 2005
+-73.442 24.728 2132
+-73.316 24.728 2206
+-73.19 24.728 2306
+-73.064 24.728 2357
+-72.938 24.728 2431
+-72.812 24.728 2497
+-72.686 24.728 2555
+-72.56 24.728 2577
+-72.434 24.728 2599
+-72.308 24.728 2641
+-72.182 24.728 2673
+-72.056 24.728 2703
+-71.93 24.728 2734
+-71.804 24.728 2762
+-71.678 24.728 2788
+-71.552 24.728 2784
+-71.426 24.728 2805
+-71.3 24.728 2825
+-71.174 24.728 2801
+-71.048 24.728 2818
+-70.922 24.728 2798
+-70.796 24.728 2802
+-70.67 24.728 2779
+-70.544 24.728 2792
+-70.418 24.728 2760
+-70.292 24.728 2771
+-70.166 24.728 2780
+-70.04 24.728 2790
+-69.914 24.728 2798
+-69.788 24.728 2806
+-69.662 24.728 2814
+-69.536 24.728 2821
+-69.41 24.728 2828
+-69.284 24.728 2834
+-69.158 24.728 2840
+-69.032 24.728 2846
+-68.906 24.728 2852
+-68.78 24.728 2857
+-68.654 24.728 2862
+-68.528 24.728 2867
+-68.402 24.728 2871
+-68.276 24.728 2875
+-68.15 24.728 2879
+-68.024 24.728 2883
+-67.898 24.728 2861
+-67.772 24.728 2865
+-67.646 24.728 2869
+-67.52 24.728 2873
+-67.394 24.728 2877
+-67.268 24.728 2881
+-67.142 24.728 2842
+-67.016 24.728 2846
+-66.89 24.728 2838
+-66.764 24.728 2836
+-66.638 24.728 2809
+-66.512 24.728 2812
+-66.386 24.728 2816
+-66.26 24.728 2819
+-66.134 24.728 2822
+-66.008 24.728 2825
+-65.882 24.728 2828
+-65.756 24.728 2831
+-65.63 24.728 2834
+-65.504 24.728 2837
+-65.378 24.728 2839
+-65.252 24.728 2842
+-65.126 24.728 2844
+-128 24.676 3277
+-127.874 24.676 3303
+-127.748 24.676 3195
+-127.622 24.676 3200
+-127.496 24.676 3233
+-127.37 24.676 3223
+-127.244 24.676 3218
+-127.118 24.676 3214
+-126.992 24.676 3123
+-126.866 24.676 3123
+-126.74 24.676 3039
+-126.614 24.676 3048
+-126.488 24.676 3051
+-126.362 24.676 3046
+-126.236 24.676 3005
+-126.11 24.676 3000
+-125.984 24.676 2995
+-125.858 24.676 3017
+-125.732 24.676 2993
+-125.606 24.676 2987
+-125.48 24.676 2936
+-125.354 24.676 2930
+-125.228 24.676 2991
+-125.102 24.676 2948
+-124.976 24.676 2926
+-124.85 24.676 2828
+-124.724 24.676 2861
+-124.598 24.676 2853
+-124.472 24.676 2845
+-124.346 24.676 2836
+-124.22 24.676 2827
+-124.094 24.676 2817
+-123.968 24.676 2746
+-123.842 24.676 2747
+-123.716 24.676 2737
+-123.59 24.676 2696
+-123.464 24.676 2675
+-123.338 24.676 2651
+-123.212 24.676 2639
+-123.086 24.676 2605
+-122.96 24.676 2591
+-122.834 24.676 2558
+-122.708 24.676 2536
+-122.582 24.676 2506
+-122.456 24.676 2488
+-122.33 24.676 2461
+-122.204 24.676 2445
+-122.078 24.676 2422
+-121.952 24.676 2398
+-121.826 24.676 2371
+-121.7 24.676 2343
+-121.574 24.676 2251
+-121.448 24.676 2219
+-121.322 24.676 2185
+-121.196 24.676 2128
+-121.07 24.676 2088
+-120.944 24.676 2020
+-120.818 24.676 1974
+-120.692 24.676 1924
+-120.566 24.676 1871
+-120.44 24.676 1815
+-120.314 24.676 1755
+-120.188 24.676 1694
+-120.062 24.676 1631
+-119.936 24.676 1569
+-119.81 24.676 1511
+-119.684 24.676 1440
+-119.558 24.676 1396
+-119.432 24.676 1364
+-119.306 24.676 1346
+-119.18 24.676 1338
+-119.054 24.676 1354
+-118.928 24.676 1388
+-118.802 24.676 1433
+-118.676 24.676 1494
+-118.55 24.676 1552
+-118.424 24.676 1627
+-118.298 24.676 1693
+-118.172 24.676 1763
+-118.046 24.676 1840
+-117.92 24.676 1910
+-117.794 24.676 1975
+-117.668 24.676 2034
+-117.542 24.676 2089
+-117.416 24.676 2139
+-117.29 24.676 2213
+-117.164 24.676 2258
+-117.038 24.676 2227
+-116.912 24.676 2268
+-116.786 24.676 2300
+-116.66 24.676 2322
+-116.534 24.676 2361
+-116.408 24.676 2374
+-116.282 24.676 2388
+-116.156 24.676 2410
+-116.03 24.676 2360
+-115.904 24.676 2416
+-115.778 24.676 2432
+-115.652 24.676 2446
+-115.526 24.676 2459
+-115.4 24.676 2470
+-115.274 24.676 2480
+-115.148 24.676 2527
+-115.022 24.676 2510
+-114.896 24.676 2517
+-114.77 24.676 2523
+-114.644 24.676 2519
+-114.518 24.676 2593
+-114.392 24.676 2624
+-114.266 24.676 2608
+-114.14 24.676 2600
+-114.014 24.676 2613
+-113.888 24.676 2617
+-113.762 24.676 2603
+-113.636 24.676 2588
+-113.51 24.676 2592
+-113.384 24.676 2548
+-113.258 24.676 2515
+-113.132 24.676 2492
+-113.006 24.676 2467
+-112.88 24.676 2414
+-112.754 24.676 2375
+-112.628 24.676 2357
+-112.502 24.676 2353
+-112.376 24.676 2322
+-112.25 24.676 2290
+-112.124 24.676 2258
+-111.998 24.676 2227
+-111.872 24.676 2196
+-111.746 24.676 2164
+-111.62 24.676 2131
+-111.494 24.676 2109
+-111.368 24.676 2073
+-111.242 24.676 2042
+-111.116 24.676 2022
+-110.99 24.676 2022
+-110.864 24.676 2045
+-110.738 24.676 2090
+-110.612 24.676 2146
+-110.486 24.676 2205
+-110.36 24.676 2258
+-110.234 24.676 2303
+-110.108 24.676 2341
+-109.982 24.676 2373
+-109.856 24.676 2396
+-109.73 24.676 2424
+-109.604 24.676 2451
+-109.478 24.676 2477
+-109.352 24.676 2500
+-109.226 24.676 2520
+-109.1 24.676 2537
+-108.974 24.676 2552
+-108.848 24.676 2564
+-108.722 24.676 2574
+-108.596 24.676 2615
+-108.47 24.676 2638
+-108.344 24.676 2649
+-108.218 24.676 2661
+-108.092 24.676 2712
+-107.966 24.676 2727
+-107.84 24.676 2742
+-107.714 24.676 2757
+-107.588 24.676 2771
+-107.462 24.676 2785
+-107.336 24.676 2799
+-107.21 24.676 2812
+-107.084 24.676 2841
+-106.958 24.676 2917
+-106.832 24.676 2929
+-106.706 24.676 2929
+-106.58 24.676 2938
+-106.454 24.676 2970
+-106.328 24.676 2988
+-106.202 24.676 2995
+-106.076 24.676 3002
+-105.95 24.676 3096
+-105.824 24.676 3102
+-105.698 24.676 3107
+-105.572 24.676 3058
+-105.446 24.676 3072
+-105.32 24.676 3076
+-105.194 24.676 3079
+-105.068 24.676 3073
+-104.942 24.676 3079
+-104.816 24.676 3088
+-104.69 24.676 3165
+-104.564 24.676 3151
+-104.438 24.676 3053
+-104.312 24.676 3054
+-104.186 24.676 3055
+-104.06 24.676 3076
+-103.934 24.676 3077
+-103.808 24.676 3079
+-103.682 24.676 3107
+-103.556 24.676 3109
+-103.43 24.676 3111
+-103.304 24.676 3064
+-103.178 24.676 3119
+-103.052 24.676 3121
+-102.926 24.676 3123
+-102.8 24.676 3125
+-102.674 24.676 3127
+-102.548 24.676 3125
+-102.422 24.676 3128
+-102.296 24.676 3150
+-102.17 24.676 3153
+-102.044 24.676 3155
+-101.918 24.676 3158
+-101.792 24.676 3103
+-101.666 24.676 3228
+-101.54 24.676 3225
+-101.414 24.676 3247
+-101.288 24.676 3250
+-101.162 24.676 3362
+-101.036 24.676 3364
+-100.91 24.676 3367
+-100.784 24.676 3407
+-100.658 24.676 3391
+-100.532 24.676 3396
+-100.406 24.676 3387
+-100.28 24.676 3405
+-100.154 24.676 3393
+-100.028 24.676 3418
+-99.902 24.676 3421
+-99.776 24.676 3414
+-99.65 24.676 3410
+-99.524 24.676 3413
+-99.398 24.676 3397
+-99.272 24.676 3444
+-99.146 24.676 3447
+-99.02 24.676 3417
+-98.894 24.676 3420
+-98.768 24.676 3467
+-98.642 24.676 3470
+-98.516 24.676 3429
+-98.39 24.676 3338
+-98.264 24.676 3297
+-98.138 24.676 3298
+-98.012 24.676 3182
+-97.886 24.676 3221
+-97.76 24.676 3158
+-97.634 24.676 3158
+-97.508 24.676 3072
+-97.382 24.676 2972
+-97.256 24.676 3001
+-97.13 24.676 2998
+-97.004 24.676 3002
+-96.878 24.676 2978
+-96.752 24.676 3133
+-96.626 24.676 3227
+-96.5 24.676 3329
+-96.374 24.676 3331
+-96.248 24.676 3375
+-96.122 24.676 3473
+-95.996 24.676 3472
+-95.87 24.676 3470
+-95.744 24.676 3496
+-95.618 24.676 3512
+-95.492 24.676 3510
+-95.366 24.676 3509
+-95.24 24.676 3526
+-95.114 24.676 3525
+-94.988 24.676 3524
+-94.862 24.676 3523
+-94.736 24.676 3522
+-94.61 24.676 3521
+-94.484 24.676 3520
+-94.358 24.676 3519
+-94.232 24.676 3517
+-94.106 24.676 3516
+-93.98 24.676 3515
+-93.854 24.676 3513
+-93.728 24.676 3518
+-93.602 24.676 3517
+-93.476 24.676 3516
+-93.35 24.676 3515
+-93.224 24.676 3514
+-93.098 24.676 3513
+-92.972 24.676 3512
+-92.846 24.676 3604
+-92.72 24.676 3601
+-92.594 24.676 3598
+-92.468 24.676 3595
+-92.342 24.676 3596
+-92.216 24.676 3644
+-92.09 24.676 3641
+-91.964 24.676 3637
+-91.838 24.676 3657
+-91.712 24.676 3652
+-91.586 24.676 3626
+-91.46 24.676 3622
+-91.334 24.676 3672
+-91.208 24.676 3668
+-91.082 24.676 3664
+-90.956 24.676 3659
+-90.83 24.676 3654
+-90.704 24.676 3648
+-90.578 24.676 3670
+-90.452 24.676 3663
+-90.326 24.676 3656
+-90.2 24.676 3649
+-90.074 24.676 3641
+-89.948 24.676 3632
+-89.822 24.676 3623
+-89.696 24.676 3613
+-89.57 24.676 3602
+-89.444 24.676 3570
+-89.318 24.676 3560
+-89.192 24.676 3549
+-89.066 24.676 3537
+-88.94 24.676 3535
+-88.814 24.676 3513
+-88.688 24.676 3528
+-88.562 24.676 3511
+-88.436 24.676 3493
+-88.31 24.676 3473
+-88.184 24.676 3456
+-88.058 24.676 3432
+-87.932 24.676 3408
+-87.806 24.676 3388
+-87.68 24.676 3359
+-87.554 24.676 3343
+-87.428 24.676 3356
+-87.302 24.676 3418
+-87.176 24.676 3503
+-87.05 24.676 3628
+-86.924 24.676 3711
+-86.798 24.676 3795
+-86.672 24.676 3908
+-86.546 24.676 3979
+-86.42 24.676 4085
+-86.294 24.676 4178
+-86.168 24.676 4265
+-86.042 24.676 4317
+-85.916 24.676 4407
+-85.79 24.676 4560
+-85.664 24.676 4695
+-85.538 24.676 4775
+-85.412 24.676 4863
+-85.286 24.676 5023
+-85.16 24.676 5127
+-85.034 24.676 5207
+-84.908 24.676 5287
+-84.782 24.676 5357
+-84.656 24.676 5457
+-84.53 24.676 5499
+-84.404 24.676 5556
+-84.278 24.676 5648
+-84.152 24.676 5758
+-84.026 24.676 5855
+-83.9 24.676 5854
+-83.774 24.676 5940
+-83.648 24.676 5997
+-83.522 24.676 6076
+-83.396 24.676 6128
+-83.27 24.676 6167
+-83.144 24.676 6180
+-83.018 24.676 6227
+-82.892 24.676 6291
+-82.766 24.676 6303
+-82.64 24.676 6341
+-82.514 24.676 6354
+-82.388 24.676 6338
+-82.262 24.676 6353
+-82.136 24.676 6352
+-82.01 24.676 6332
+-81.884 24.676 6319
+-81.758 24.676 6321
+-81.632 24.676 6307
+-81.506 24.676 6279
+-81.38 24.676 6242
+-81.254 24.676 6252
+-81.128 24.676 6201
+-81.002 24.676 6132
+-80.876 24.676 6062
+-80.75 24.676 6040
+-80.624 24.676 5971
+-80.498 24.676 5914
+-80.372 24.676 5856
+-80.246 24.676 5789
+-80.12 24.676 5665
+-79.994 24.676 5543
+-79.868 24.676 5518
+-79.742 24.676 5397
+-79.616 24.676 5276
+-79.49 24.676 5236
+-79.364 24.676 5126
+-79.238 24.676 4992
+-79.112 24.676 4911
+-78.986 24.676 4825
+-78.86 24.676 4771
+-78.734 24.676 4680
+-78.608 24.676 4569
+-78.482 24.676 4452
+-78.356 24.676 4406
+-78.23 24.676 4210
+-78.104 24.676 4085
+-77.978 24.676 3918
+-77.852 24.676 3966
+-77.726 24.676 3865
+-77.6 24.676 3698
+-77.474 24.676 3582
+-77.348 24.676 3548
+-77.222 24.676 3493
+-77.096 24.676 3410
+-76.97 24.676 3357
+-76.844 24.676 3331
+-76.718 24.676 3337
+-76.592 24.676 3355
+-76.466 24.676 3303
+-76.34 24.676 3276
+-76.214 24.676 3262
+-76.088 24.676 3240
+-75.962 24.676 3207
+-75.836 24.676 3137
+-75.71 24.676 3077
+-75.584 24.676 2987
+-75.458 24.676 2883
+-75.332 24.676 2749
+-75.206 24.676 2583
+-75.08 24.676 2374
+-74.954 24.676 2144
+-74.828 24.676 1911
+-74.702 24.676 1698
+-74.576 24.676 1536
+-74.45 24.676 1450
+-74.324 24.676 1443
+-74.198 24.676 1502
+-74.072 24.676 1606
+-73.946 24.676 1732
+-73.82 24.676 1834
+-73.694 24.676 1964
+-73.568 24.676 2080
+-73.442 24.676 2190
+-73.316 24.676 2289
+-73.19 24.676 2340
+-73.064 24.676 2420
+-72.938 24.676 2451
+-72.812 24.676 2513
+-72.686 24.676 2567
+-72.56 24.676 2616
+-72.434 24.676 2629
+-72.308 24.676 2645
+-72.182 24.676 2682
+-72.056 24.676 2709
+-71.93 24.676 2734
+-71.804 24.676 2762
+-71.678 24.676 2788
+-71.552 24.676 2811
+-71.426 24.676 2804
+-71.3 24.676 2823
+-71.174 24.676 2841
+-71.048 24.676 2816
+-70.922 24.676 2832
+-70.796 24.676 2811
+-70.67 24.676 2813
+-70.544 24.676 2789
+-70.418 24.676 2801
+-70.292 24.676 2769
+-70.166 24.676 2778
+-70.04 24.676 2788
+-69.914 24.676 2796
+-69.788 24.676 2804
+-69.662 24.676 2812
+-69.536 24.676 2819
+-69.41 24.676 2826
+-69.284 24.676 2832
+-69.158 24.676 2838
+-69.032 24.676 2844
+-68.906 24.676 2850
+-68.78 24.676 2855
+-68.654 24.676 2860
+-68.528 24.676 2865
+-68.402 24.676 2869
+-68.276 24.676 2874
+-68.15 24.676 2878
+-68.024 24.676 2882
+-67.898 24.676 2886
+-67.772 24.676 2863
+-67.646 24.676 2867
+-67.52 24.676 2871
+-67.394 24.676 2875
+-67.268 24.676 2879
+-67.142 24.676 2882
+-67.016 24.676 2844
+-66.89 24.676 2848
+-66.764 24.676 2840
+-66.638 24.676 2838
+-66.512 24.676 2810
+-66.386 24.676 2814
+-66.26 24.676 2817
+-66.134 24.676 2820
+-66.008 24.676 2823
+-65.882 24.676 2826
+-65.756 24.676 2829
+-65.63 24.676 2832
+-65.504 24.676 2835
+-65.378 24.676 2837
+-65.252 24.676 2840
+-65.126 24.676 2843
+-128 24.624 3304
+-127.874 24.624 3196
+-127.748 24.624 3201
+-127.622 24.624 3234
+-127.496 24.624 3224
+-127.37 24.624 3221
+-127.244 24.624 3216
+-127.118 24.624 3125
+-126.992 24.624 3124
+-126.866 24.624 3041
+-126.74 24.624 3050
+-126.614 24.624 3053
+-126.488 24.624 3048
+-126.362 24.624 3007
+-126.236 24.624 3002
+-126.11 24.624 2997
+-125.984 24.624 3020
+-125.858 24.624 2995
+-125.732 24.624 2990
+-125.606 24.624 2939
+-125.48 24.624 2933
+-125.354 24.624 2996
+-125.228 24.624 2952
+-125.102 24.624 2930
+-124.976 24.624 2832
+-124.85 24.624 2866
+-124.724 24.624 2858
+-124.598 24.624 2850
+-124.472 24.624 2842
+-124.346 24.624 2833
+-124.22 24.624 2824
+-124.094 24.624 2752
+-123.968 24.624 2755
+-123.842 24.624 2745
+-123.716 24.624 2704
+-123.59 24.624 2683
+-123.464 24.624 2661
+-123.338 24.624 2649
+-123.212 24.624 2617
+-123.086 24.624 2603
+-122.96 24.624 2571
+-122.834 24.624 2550
+-122.708 24.624 2521
+-122.582 24.624 2504
+-122.456 24.624 2480
+-122.33 24.624 2465
+-122.204 24.624 2445
+-122.078 24.624 2423
+-121.952 24.624 2399
+-121.826 24.624 2373
+-121.7 24.624 2282
+-121.574 24.624 2254
+-121.448 24.624 2224
+-121.322 24.624 2171
+-121.196 24.624 2136
+-121.07 24.624 2073
+-120.944 24.624 2033
+-120.818 24.624 1990
+-120.692 24.624 1945
+-120.566 24.624 1897
+-120.44 24.624 1846
+-120.314 24.624 1793
+-120.188 24.624 1739
+-120.062 24.624 1685
+-119.936 24.624 1633
+-119.81 24.624 1563
+-119.684 24.624 1520
+-119.558 24.624 1485
+-119.432 24.624 1460
+-119.306 24.624 1439
+-119.18 24.624 1440
+-119.054 24.624 1455
+-118.928 24.624 1480
+-118.802 24.624 1522
+-118.676 24.624 1562
+-118.55 24.624 1622
+-118.424 24.624 1676
+-118.298 24.624 1736
+-118.172 24.624 1807
+-118.046 24.624 1872
+-117.92 24.624 1935
+-117.794 24.624 1994
+-117.668 24.624 2049
+-117.542 24.624 2100
+-117.416 24.624 2173
+-117.29 24.624 2221
+-117.164 24.624 2193
+-117.038 24.624 2235
+-116.912 24.624 2269
+-116.786 24.624 2293
+-116.66 24.624 2333
+-116.534 24.624 2348
+-116.408 24.624 2364
+-116.282 24.624 2387
+-116.156 24.624 2339
+-116.03 24.624 2395
+-115.904 24.624 2412
+-115.778 24.624 2427
+-115.652 24.624 2440
+-115.526 24.624 2452
+-115.4 24.624 2463
+-115.274 24.624 2472
+-115.148 24.624 2492
+-115.022 24.624 2500
+-114.896 24.624 2506
+-114.77 24.624 2465
+-114.644 24.624 2505
+-114.518 24.624 2506
+-114.392 24.624 2599
+-114.266 24.624 2591
+-114.14 24.624 2605
+-114.014 24.624 2608
+-113.888 24.624 2568
+-113.762 24.624 2553
+-113.636 24.624 2556
+-113.51 24.624 2537
+-113.384 24.624 2503
+-113.258 24.624 2479
+-113.132 24.624 2452
+-113.006 24.624 2397
+-112.88 24.624 2355
+-112.754 24.624 2323
+-112.628 24.624 2290
+-112.502 24.624 2291
+-112.376 24.624 2254
+-112.25 24.624 2218
+-112.124 24.624 2184
+-111.998 24.624 2151
+-111.872 24.624 2118
+-111.746 24.624 2086
+-111.62 24.624 2051
+-111.494 24.624 2023
+-111.368 24.624 1980
+-111.242 24.624 1939
+-111.116 24.624 1909
+-110.99 24.624 1903
+-110.864 24.624 1928
+-110.738 24.624 1982
+-110.612 24.624 2054
+-110.486 24.624 2130
+-110.36 24.624 2200
+-110.234 24.624 2260
+-110.108 24.624 2310
+-109.982 24.624 2352
+-109.856 24.624 2380
+-109.73 24.624 2413
+-109.604 24.624 2442
+-109.478 24.624 2469
+-109.352 24.624 2493
+-109.226 24.624 2514
+-109.1 24.624 2532
+-108.974 24.624 2548
+-108.848 24.624 2562
+-108.722 24.624 2575
+-108.596 24.624 2586
+-108.47 24.624 2630
+-108.344 24.624 2654
+-108.218 24.624 2666
+-108.092 24.624 2678
+-107.966 24.624 2732
+-107.84 24.624 2746
+-107.714 24.624 2759
+-107.588 24.624 2773
+-107.462 24.624 2786
+-107.336 24.624 2799
+-107.21 24.624 2811
+-107.084 24.624 2822
+-106.958 24.624 2851
+-106.832 24.624 2930
+-106.706 24.624 2939
+-106.58 24.624 2938
+-106.454 24.624 2946
+-106.328 24.624 2978
+-106.202 24.624 2995
+-106.076 24.624 3002
+-105.95 24.624 3008
+-105.824 24.624 3104
+-105.698 24.624 3110
+-105.572 24.624 3114
+-105.446 24.624 3064
+-105.32 24.624 3078
+-105.194 24.624 3082
+-105.068 24.624 3085
+-104.942 24.624 3078
+-104.816 24.624 3085
+-104.69 24.624 3093
+-104.564 24.624 3171
+-104.438 24.624 3156
+-104.312 24.624 3057
+-104.186 24.624 3058
+-104.06 24.624 3059
+-103.934 24.624 3080
+-103.808 24.624 3082
+-103.682 24.624 3083
+-103.556 24.624 3112
+-103.43 24.624 3114
+-103.304 24.624 3116
+-103.178 24.624 3068
+-103.052 24.624 3124
+-102.926 24.624 3126
+-102.8 24.624 3128
+-102.674 24.624 3130
+-102.548 24.624 3132
+-102.422 24.624 3130
+-102.296 24.624 3132
+-102.17 24.624 3155
+-102.044 24.624 3157
+-101.918 24.624 3159
+-101.792 24.624 3162
+-101.666 24.624 3107
+-101.54 24.624 3233
+-101.414 24.624 3229
+-101.288 24.624 3251
+-101.162 24.624 3254
+-101.036 24.624 3367
+-100.91 24.624 3369
+-100.784 24.624 3372
+-100.658 24.624 3412
+-100.532 24.624 3397
+-100.406 24.624 3400
+-100.28 24.624 3392
+-100.154 24.624 3410
+-100.028 24.624 3398
+-99.902 24.624 3422
+-99.776 24.624 3425
+-99.65 24.624 3419
+-99.524 24.624 3414
+-99.398 24.624 3417
+-99.272 24.624 3401
+-99.146 24.624 3448
+-99.02 24.624 3451
+-98.894 24.624 3421
+-98.768 24.624 3423
+-98.642 24.624 3471
+-98.516 24.624 3474
+-98.39 24.624 3324
+-98.264 24.624 3338
+-98.138 24.624 3298
+-98.012 24.624 3298
+-97.886 24.624 3125
+-97.76 24.624 3160
+-97.634 24.624 3158
+-97.508 24.624 3088
+-97.382 24.624 2991
+-97.256 24.624 3001
+-97.13 24.624 2999
+-97.004 24.624 2973
+-96.878 24.624 3016
+-96.752 24.624 3165
+-96.626 24.624 3227
+-96.5 24.624 3328
+-96.374 24.624 3330
+-96.248 24.624 3374
+-96.122 24.624 3472
+-95.996 24.624 3471
+-95.87 24.624 3497
+-95.744 24.624 3513
+-95.618 24.624 3511
+-95.492 24.624 3510
+-95.366 24.624 3527
+-95.24 24.624 3526
+-95.114 24.624 3525
+-94.988 24.624 3524
+-94.862 24.624 3522
+-94.736 24.624 3521
+-94.61 24.624 3520
+-94.484 24.624 3519
+-94.358 24.624 3518
+-94.232 24.624 3517
+-94.106 24.624 3515
+-93.98 24.624 3514
+-93.854 24.624 3518
+-93.728 24.624 3517
+-93.602 24.624 3516
+-93.476 24.624 3516
+-93.35 24.624 3515
+-93.224 24.624 3514
+-93.098 24.624 3513
+-92.972 24.624 3604
+-92.846 24.624 3602
+-92.72 24.624 3599
+-92.594 24.624 3596
+-92.468 24.624 3596
+-92.342 24.624 3645
+-92.216 24.624 3642
+-92.09 24.624 3638
+-91.964 24.624 3658
+-91.838 24.624 3654
+-91.712 24.624 3627
+-91.586 24.624 3623
+-91.46 24.624 3674
+-91.334 24.624 3670
+-91.208 24.624 3666
+-91.082 24.624 3661
+-90.956 24.624 3656
+-90.83 24.624 3651
+-90.704 24.624 3673
+-90.578 24.624 3667
+-90.452 24.624 3660
+-90.326 24.624 3653
+-90.2 24.624 3646
+-90.074 24.624 3638
+-89.948 24.624 3629
+-89.822 24.624 3620
+-89.696 24.624 3610
+-89.57 24.624 3578
+-89.444 24.624 3569
+-89.318 24.624 3559
+-89.192 24.624 3548
+-89.066 24.624 3548
+-88.94 24.624 3528
+-88.814 24.624 3546
+-88.688 24.624 3531
+-88.562 24.624 3514
+-88.436 24.624 3496
+-88.31 24.624 3481
+-88.184 24.624 3456
+-88.058 24.624 3431
+-87.932 24.624 3402
+-87.806 24.624 3354
+-87.68 24.624 3295
+-87.554 24.624 3242
+-87.428 24.624 3237
+-87.302 24.624 3310
+-87.176 24.624 3460
+-87.05 24.624 3586
+-86.924 24.624 3677
+-86.798 24.624 3743
+-86.672 24.624 3822
+-86.546 24.624 3896
+-86.42 24.624 3995
+-86.294 24.624 4087
+-86.168 24.624 4195
+-86.042 24.624 4331
+-85.916 24.624 4421
+-85.79 24.624 4571
+-85.664 24.624 4693
+-85.538 24.624 4712
+-85.412 24.624 4804
+-85.286 24.624 4974
+-85.16 24.624 5054
+-85.034 24.624 5095
+-84.908 24.624 5159
+-84.782 24.624 5290
+-84.656 24.624 5415
+-84.53 24.624 5497
+-84.404 24.624 5511
+-84.278 24.624 5582
+-84.152 24.624 5677
+-84.026 24.624 5754
+-83.9 24.624 5790
+-83.774 24.624 5902
+-83.648 24.624 5936
+-83.522 24.624 5990
+-83.396 24.624 6072
+-83.27 24.624 6118
+-83.144 24.624 6141
+-83.018 24.624 6157
+-82.892 24.624 6202
+-82.766 24.624 6251
+-82.64 24.624 6268
+-82.514 24.624 6295
+-82.388 24.624 6307
+-82.262 24.624 6297
+-82.136 24.624 6303
+-82.01 24.624 6281
+-81.884 24.624 6266
+-81.758 24.624 6244
+-81.632 24.624 6219
+-81.506 24.624 6202
+-81.38 24.624 6196
+-81.254 24.624 6177
+-81.128 24.624 6129
+-81.002 24.624 6058
+-80.876 24.624 5979
+-80.75 24.624 5972
+-80.624 24.624 5897
+-80.498 24.624 5877
+-80.372 24.624 5808
+-80.246 24.624 5697
+-80.12 24.624 5567
+-79.994 24.624 5497
+-79.868 24.624 5429
+-79.742 24.624 5311
+-79.616 24.624 5217
+-79.49 24.624 5200
+-79.364 24.624 5078
+-79.238 24.624 4946
+-79.112 24.624 4898
+-78.986 24.624 4812
+-78.86 24.624 4703
+-78.734 24.624 4618
+-78.608 24.624 4577
+-78.482 24.624 4499
+-78.356 24.624 4411
+-78.23 24.624 4252
+-78.104 24.624 4098
+-77.978 24.624 4009
+-77.852 24.624 3948
+-77.726 24.624 3815
+-77.6 24.624 3608
+-77.474 24.624 3488
+-77.348 24.624 3494
+-77.222 24.624 3421
+-77.096 24.624 3318
+-76.97 24.624 3238
+-76.844 24.624 3236
+-76.718 24.624 3266
+-76.592 24.624 3304
+-76.466 24.624 3270
+-76.34 24.624 3273
+-76.214 24.624 3242
+-76.088 24.624 3223
+-75.962 24.624 3195
+-75.836 24.624 3156
+-75.71 24.624 3078
+-75.584 24.624 3009
+-75.458 24.624 2910
+-75.332 24.624 2797
+-75.206 24.624 2659
+-75.08 24.624 2497
+-74.954 24.624 2308
+-74.828 24.624 2121
+-74.702 24.624 1953
+-74.576 24.624 1821
+-74.45 24.624 1742
+-74.324 24.624 1720
+-74.198 24.624 1748
+-74.072 24.624 1814
+-73.946 24.624 1902
+-73.82 24.624 2001
+-73.694 24.624 2071
+-73.568 24.624 2170
+-73.442 24.624 2257
+-73.316 24.624 2341
+-73.19 24.624 2418
+-73.064 24.624 2452
+-72.938 24.624 2517
+-72.812 24.624 2533
+-72.686 24.624 2583
+-72.56 24.624 2629
+-72.434 24.624 2670
+-72.308 24.624 2676
+-72.182 24.624 2687
+-72.056 24.624 2719
+-71.93 24.624 2742
+-71.804 24.624 2764
+-71.678 24.624 2788
+-71.552 24.624 2811
+-71.426 24.624 2832
+-71.3 24.624 2823
+-71.174 24.624 2840
+-71.048 24.624 2857
+-70.922 24.624 2830
+-70.796 24.624 2845
+-70.67 24.624 2823
+-70.544 24.624 2824
+-70.418 24.624 2799
+-70.292 24.624 2810
+-70.166 24.624 2777
+-70.04 24.624 2786
+-69.914 24.624 2794
+-69.788 24.624 2802
+-69.662 24.624 2810
+-69.536 24.624 2817
+-69.41 24.624 2824
+-69.284 24.624 2831
+-69.158 24.624 2837
+-69.032 24.624 2843
+-68.906 24.624 2848
+-68.78 24.624 2853
+-68.654 24.624 2858
+-68.528 24.624 2863
+-68.402 24.624 2868
+-68.276 24.624 2872
+-68.15 24.624 2876
+-68.024 24.624 2880
+-67.898 24.624 2884
+-67.772 24.624 2888
+-67.646 24.624 2866
+-67.52 24.624 2870
+-67.394 24.624 2873
+-67.268 24.624 2877
+-67.142 24.624 2881
+-67.016 24.624 2884
+-66.89 24.624 2846
+-66.764 24.624 2850
+-66.638 24.624 2842
+-66.512 24.624 2839
+-66.386 24.624 2812
+-66.26 24.624 2815
+-66.134 24.624 2818
+-66.008 24.624 2821
+-65.882 24.624 2824
+-65.756 24.624 2827
+-65.63 24.624 2830
+-65.504 24.624 2833
+-65.378 24.624 2836
+-65.252 24.624 2838
+-65.126 24.624 2841
+-128 24.572 3197
+-127.874 24.572 3203
+-127.748 24.572 3235
+-127.622 24.572 3226
+-127.496 24.572 3221
+-127.37 24.572 3217
+-127.244 24.572 3126
+-127.118 24.572 3126
+-126.992 24.572 3042
+-126.866 24.572 3051
+-126.74 24.572 3055
+-126.614 24.572 3050
+-126.488 24.572 3009
+-126.362 24.572 3005
+-126.236 24.572 3000
+-126.11 24.572 3022
+-125.984 24.572 2998
+-125.858 24.572 2993
+-125.732 24.572 2942
+-125.606 24.572 2936
+-125.48 24.572 3000
+-125.354 24.572 2956
+-125.228 24.572 2934
+-125.102 24.572 2836
+-124.976 24.572 2871
+-124.85 24.572 2863
+-124.724 24.572 2856
+-124.598 24.572 2847
+-124.472 24.572 2839
+-124.346 24.572 2830
+-124.22 24.572 2759
+-124.094 24.572 2762
+-123.968 24.572 2752
+-123.842 24.572 2712
+-123.716 24.572 2692
+-123.59 24.572 2670
+-123.464 24.572 2659
+-123.338 24.572 2627
+-123.212 24.572 2615
+-123.086 24.572 2583
+-122.96 24.572 2563
+-122.834 24.572 2535
+-122.708 24.572 2520
+-122.582 24.572 2496
+-122.456 24.572 2484
+-122.33 24.572 2466
+-122.204 24.572 2446
+-122.078 24.572 2424
+-121.952 24.572 2401
+-121.826 24.572 2311
+-121.7 24.572 2286
+-121.574 24.572 2259
+-121.448 24.572 2209
+-121.322 24.572 2178
+-121.196 24.572 2120
+-121.07 24.572 2085
+-120.944 24.572 2048
+-120.818 24.572 2009
+-120.692 24.572 1967
+-120.566 24.572 1924
+-120.44 24.572 1879
+-120.314 24.572 1832
+-120.188 24.572 1785
+-120.062 24.572 1739
+-119.936 24.572 1672
+-119.81 24.572 1632
+-119.684 24.572 1596
+-119.558 24.572 1568
+-119.432 24.572 1540
+-119.306 24.572 1531
+-119.18 24.572 1534
+-119.054 24.572 1542
+-118.928 24.572 1569
+-118.802 24.572 1592
+-118.676 24.572 1636
+-118.55 24.572 1677
+-118.424 24.572 1726
+-118.298 24.572 1788
+-118.172 24.572 1847
+-118.046 24.572 1905
+-117.92 24.572 1961
+-117.794 24.572 2015
+-117.668 24.572 2066
+-117.542 24.572 2138
+-117.416 24.572 2186
+-117.29 24.572 2160
+-117.164 24.572 2204
+-117.038 24.572 2239
+-116.912 24.572 2265
+-116.786 24.572 2306
+-116.66 24.572 2322
+-116.534 24.572 2339
+-116.408 24.572 2363
+-116.282 24.572 2318
+-116.156 24.572 2374
+-116.03 24.572 2391
+-115.904 24.572 2407
+-115.778 24.572 2421
+-115.652 24.572 2434
+-115.526 24.572 2445
+-115.4 24.572 2455
+-115.274 24.572 2475
+-115.148 24.572 2483
+-115.022 24.572 2490
+-114.896 24.572 2450
+-114.77 24.572 2453
+-114.644 24.572 2492
+-114.518 24.572 2480
+-114.392 24.572 2478
+-114.266 24.572 2575
+-114.14 24.572 2567
+-114.014 24.572 2561
+-113.888 24.572 2546
+-113.762 24.572 2549
+-113.636 24.572 2529
+-113.51 24.572 2495
+-113.384 24.572 2470
+-113.258 24.572 2442
+-113.132 24.572 2386
+-113.006 24.572 2341
+-112.88 24.572 2307
+-112.754 24.572 2270
+-112.628 24.572 2232
+-112.502 24.572 2192
+-112.376 24.572 2183
+-112.25 24.572 2143
+-112.124 24.572 2105
+-111.998 24.572 2071
+-111.872 24.572 2039
+-111.746 24.572 2009
+-111.62 24.572 1977
+-111.494 24.572 1948
+-111.368 24.572 1902
+-111.242 24.572 1853
+-111.116 24.572 1813
+-110.99 24.572 1800
+-110.864 24.572 1825
+-110.738 24.572 1886
+-110.612 24.572 1969
+-110.486 24.572 2037
+-110.36 24.572 2117
+-110.234 24.572 2216
+-110.108 24.572 2276
+-109.982 24.572 2327
+-109.856 24.572 2361
+-109.73 24.572 2398
+-109.604 24.572 2430
+-109.478 24.572 2459
+-109.352 24.572 2484
+-109.226 24.572 2507
+-109.1 24.572 2527
+-108.974 24.572 2544
+-108.848 24.572 2559
+-108.722 24.572 2573
+-108.596 24.572 2586
+-108.47 24.572 2598
+-108.344 24.572 2643
+-108.218 24.572 2668
+-108.092 24.572 2680
+-107.966 24.572 2692
+-107.84 24.572 2748
+-107.714 24.572 2761
+-107.588 24.572 2774
+-107.462 24.572 2787
+-107.336 24.572 2799
+-107.21 24.572 2810
+-107.084 24.572 2821
+-106.958 24.572 2831
+-106.832 24.572 2859
+-106.706 24.572 2940
+-106.58 24.572 2949
+-106.454 24.572 2946
+-106.328 24.572 2953
+-106.202 24.572 2986
+-106.076 24.572 3002
+-105.95 24.572 3008
+-105.824 24.572 3014
+-105.698 24.572 3112
+-105.572 24.572 3117
+-105.446 24.572 3121
+-105.32 24.572 3070
+-105.194 24.572 3084
+-105.068 24.572 3087
+-104.942 24.572 3090
+-104.816 24.572 3083
+-104.69 24.572 3090
+-104.564 24.572 3098
+-104.438 24.572 3177
+-104.312 24.572 3162
+-104.186 24.572 3061
+-104.06 24.572 3062
+-103.934 24.572 3063
+-103.808 24.572 3085
+-103.682 24.572 3086
+-103.556 24.572 3087
+-103.43 24.572 3117
+-103.304 24.572 3118
+-103.178 24.572 3120
+-103.052 24.572 3072
+-102.926 24.572 3128
+-102.8 24.572 3130
+-102.674 24.572 3132
+-102.548 24.572 3134
+-102.422 24.572 3136
+-102.296 24.572 3134
+-102.17 24.572 3136
+-102.044 24.572 3159
+-101.918 24.572 3161
+-101.792 24.572 3163
+-101.666 24.572 3166
+-101.54 24.572 3110
+-101.414 24.572 3237
+-101.288 24.572 3233
+-101.162 24.572 3256
+-101.036 24.572 3259
+-100.91 24.572 3372
+-100.784 24.572 3374
+-100.658 24.572 3376
+-100.532 24.572 3417
+-100.406 24.572 3400
+-100.28 24.572 3405
+-100.154 24.572 3396
+-100.028 24.572 3414
+-99.902 24.572 3402
+-99.776 24.572 3427
+-99.65 24.572 3429
+-99.524 24.572 3423
+-99.398 24.572 3418
+-99.272 24.572 3420
+-99.146 24.572 3404
+-99.02 24.572 3452
+-98.894 24.572 3455
+-98.768 24.572 3424
+-98.642 24.572 3427
+-98.516 24.572 3474
+-98.39 24.572 3363
+-98.264 24.572 3325
+-98.138 24.572 3339
+-98.012 24.572 3298
+-97.886 24.572 3232
+-97.76 24.572 3124
+-97.634 24.572 3147
+-97.508 24.572 3089
+-97.382 24.572 3015
+-97.256 24.572 2988
+-97.13 24.572 2960
+-97.004 24.572 3012
+-96.878 24.572 3087
+-96.752 24.572 3165
+-96.626 24.572 3227
+-96.5 24.572 3328
+-96.374 24.572 3330
+-96.248 24.572 3374
+-96.122 24.572 3472
+-95.996 24.572 3498
+-95.87 24.572 3513
+-95.744 24.572 3512
+-95.618 24.572 3510
+-95.492 24.572 3527
+-95.366 24.572 3526
+-95.24 24.572 3525
+-95.114 24.572 3524
+-94.988 24.572 3523
+-94.862 24.572 3522
+-94.736 24.572 3521
+-94.61 24.572 3519
+-94.484 24.572 3518
+-94.358 24.572 3517
+-94.232 24.572 3516
+-94.106 24.572 3514
+-93.98 24.572 3518
+-93.854 24.572 3518
+-93.728 24.572 3517
+-93.602 24.572 3516
+-93.476 24.572 3515
+-93.35 24.572 3514
+-93.224 24.572 3513
+-93.098 24.572 3605
+-92.972 24.572 3602
+-92.846 24.572 3599
+-92.72 24.572 3597
+-92.594 24.572 3597
+-92.468 24.572 3646
+-92.342 24.572 3643
+-92.216 24.572 3639
+-92.09 24.572 3660
+-91.964 24.572 3655
+-91.838 24.572 3628
+-91.712 24.572 3624
+-91.586 24.572 3676
+-91.46 24.572 3672
+-91.334 24.572 3668
+-91.208 24.572 3663
+-91.082 24.572 3659
+-90.956 24.572 3654
+-90.83 24.572 3677
+-90.704 24.572 3671
+-90.578 24.572 3664
+-90.452 24.572 3658
+-90.326 24.572 3651
+-90.2 24.572 3643
+-90.074 24.572 3635
+-89.948 24.572 3626
+-89.822 24.572 3617
+-89.696 24.572 3586
+-89.57 24.572 3577
+-89.444 24.572 3568
+-89.318 24.572 3559
+-89.192 24.572 3559
+-89.066 24.572 3542
+-88.94 24.572 3561
+-88.814 24.572 3548
+-88.688 24.572 3534
+-88.562 24.572 3517
+-88.436 24.572 3505
+-88.31 24.572 3483
+-88.184 24.572 3460
+-88.058 24.572 3435
+-87.932 24.572 3386
+-87.806 24.572 3316
+-87.68 24.572 3220
+-87.554 24.572 3102
+-87.428 24.572 3041
+-87.302 24.572 3156
+-87.176 24.572 3366
+-87.05 24.572 3537
+-86.924 24.572 3642
+-86.798 24.572 3706
+-86.672 24.572 3753
+-86.546 24.572 3848
+-86.42 24.572 3948
+-86.294 24.572 4007
+-86.168 24.572 4080
+-86.042 24.572 4227
+-85.916 24.572 4388
+-85.79 24.572 4508
+-85.664 24.572 4641
+-85.538 24.572 4737
+-85.412 24.572 4831
+-85.286 24.572 4957
+-85.16 24.572 5021
+-85.034 24.572 5011
+-84.908 24.572 5118
+-84.782 24.572 5208
+-84.656 24.572 5358
+-84.53 24.572 5447
+-84.404 24.572 5489
+-84.278 24.572 5565
+-84.152 24.572 5619
+-84.026 24.572 5681
+-83.9 24.572 5723
+-83.774 24.572 5830
+-83.648 24.572 5918
+-83.522 24.572 5922
+-83.396 24.572 6001
+-83.27 24.572 6072
+-83.144 24.572 6108
+-83.018 24.572 6138
+-82.892 24.572 6140
+-82.766 24.572 6168
+-82.64 24.572 6188
+-82.514 24.572 6218
+-82.388 24.572 6243
+-82.262 24.572 6237
+-82.136 24.572 6260
+-82.01 24.572 6254
+-81.884 24.572 6251
+-81.758 24.572 6186
+-81.632 24.572 6188
+-81.506 24.572 6149
+-81.38 24.572 6158
+-81.254 24.572 6100
+-81.128 24.572 6051
+-81.002 24.572 6020
+-80.876 24.572 5995
+-80.75 24.572 5947
+-80.624 24.572 5873
+-80.498 24.572 5815
+-80.372 24.572 5705
+-80.246 24.572 5576
+-80.12 24.572 5561
+-79.994 24.572 5454
+-79.868 24.572 5364
+-79.742 24.572 5308
+-79.616 24.572 5251
+-79.49 24.572 5177
+-79.364 24.572 5037
+-79.238 24.572 4923
+-79.112 24.572 4834
+-78.986 24.572 4752
+-78.86 24.572 4651
+-78.734 24.572 4503
+-78.608 24.572 4559
+-78.482 24.572 4526
+-78.356 24.572 4430
+-78.23 24.572 4292
+-78.104 24.572 4160
+-77.978 24.572 4034
+-77.852 24.572 3926
+-77.726 24.572 3794
+-77.6 24.572 3611
+-77.474 24.572 3505
+-77.348 24.572 3434
+-77.222 24.572 3312
+-77.096 24.572 3167
+-76.97 24.572 3056
+-76.844 24.572 3102
+-76.718 24.572 3193
+-76.592 24.572 3252
+-76.466 24.572 3235
+-76.34 24.572 3244
+-76.214 24.572 3242
+-76.088 24.572 3205
+-75.962 24.572 3182
+-75.836 24.572 3149
+-75.71 24.572 3104
+-75.584 24.572 3019
+-75.458 24.572 2945
+-75.332 24.572 2842
+-75.206 24.572 2730
+-75.08 24.572 2600
+-74.954 24.572 2459
+-74.828 24.572 2306
+-74.702 24.572 2170
+-74.576 24.572 2063
+-74.45 24.572 1992
+-74.324 24.572 1962
+-74.198 24.572 1969
+-74.072 24.572 2007
+-73.946 24.572 2065
+-73.82 24.572 2136
+-73.694 24.572 2211
+-73.568 24.572 2258
+-73.442 24.572 2334
+-73.316 24.572 2399
+-73.19 24.572 2464
+-73.064 24.572 2525
+-72.938 24.572 2546
+-72.812 24.572 2599
+-72.686 24.572 2603
+-72.56 24.572 2645
+-72.434 24.572 2683
+-72.308 24.572 2718
+-72.182 24.572 2717
+-72.056 24.572 2724
+-71.93 24.572 2752
+-71.804 24.572 2772
+-71.678 24.572 2791
+-71.552 24.572 2813
+-71.426 24.572 2833
+-71.3 24.572 2852
+-71.174 24.572 2841
+-71.048 24.572 2856
+-70.922 24.572 2871
+-70.796 24.572 2844
+-70.67 24.572 2858
+-70.544 24.572 2834
+-70.418 24.572 2835
+-70.292 24.572 2808
+-70.166 24.572 2819
+-70.04 24.572 2785
+-69.914 24.572 2793
+-69.788 24.572 2801
+-69.662 24.572 2809
+-69.536 24.572 2816
+-69.41 24.572 2823
+-69.284 24.572 2829
+-69.158 24.572 2835
+-69.032 24.572 2841
+-68.906 24.572 2847
+-68.78 24.572 2852
+-68.654 24.572 2857
+-68.528 24.572 2862
+-68.402 24.572 2866
+-68.276 24.572 2871
+-68.15 24.572 2875
+-68.024 24.572 2879
+-67.898 24.572 2883
+-67.772 24.572 2887
+-67.646 24.572 2890
+-67.52 24.572 2868
+-67.394 24.572 2872
+-67.268 24.572 2876
+-67.142 24.572 2879
+-67.016 24.572 2883
+-66.89 24.572 2886
+-66.764 24.572 2848
+-66.638 24.572 2852
+-66.512 24.572 2843
+-66.386 24.572 2841
+-66.26 24.572 2813
+-66.134 24.572 2816
+-66.008 24.572 2819
+-65.882 24.572 2823
+-65.756 24.572 2826
+-65.63 24.572 2828
+-65.504 24.572 2831
+-65.378 24.572 2834
+-65.252 24.572 2837
+-65.126 24.572 2839
+-128 24.52 3204
+-127.874 24.52 3236
+-127.748 24.52 3227
+-127.622 24.52 3223
+-127.496 24.52 3219
+-127.37 24.52 3128
+-127.244 24.52 3127
+-127.118 24.52 3044
+-126.992 24.52 3053
+-126.866 24.52 3057
+-126.74 24.52 3052
+-126.614 24.52 3011
+-126.488 24.52 3007
+-126.362 24.52 3002
+-126.236 24.52 3025
+-126.11 24.52 3001
+-125.984 24.52 2995
+-125.858 24.52 2945
+-125.732 24.52 2939
+-125.606 24.52 3004
+-125.48 24.52 2960
+-125.354 24.52 2938
+-125.228 24.52 2840
+-125.102 24.52 2875
+-124.976 24.52 2868
+-124.85 24.52 2861
+-124.724 24.52 2853
+-124.598 24.52 2845
+-124.472 24.52 2836
+-124.346 24.52 2765
+-124.22 24.52 2769
+-124.094 24.52 2760
+-123.968 24.52 2720
+-123.842 24.52 2701
+-123.716 24.52 2679
+-123.59 24.52 2668
+-123.464 24.52 2638
+-123.338 24.52 2626
+-123.212 24.52 2595
+-123.086 24.52 2576
+-122.96 24.52 2549
+-122.834 24.52 2535
+-122.708 24.52 2512
+-122.582 24.52 2502
+-122.456 24.52 2485
+-122.33 24.52 2467
+-122.204 24.52 2447
+-122.078 24.52 2426
+-121.952 24.52 2337
+-121.826 24.52 2314
+-121.7 24.52 2290
+-121.574 24.52 2243
+-121.448 24.52 2216
+-121.322 24.52 2161
+-121.196 24.52 2131
+-121.07 24.52 2099
+-120.944 24.52 2065
+-120.818 24.52 2029
+-120.692 24.52 1991
+-120.566 24.52 1952
+-120.44 24.52 1912
+-120.314 24.52 1871
+-120.188 24.52 1830
+-120.062 24.52 1767
+-119.936 24.52 1730
+-119.81 24.52 1696
+-119.684 24.52 1667
+-119.558 24.52 1637
+-119.432 24.52 1622
+-119.306 24.52 1616
+-119.18 24.52 1612
+-119.054 24.52 1626
+-118.928 24.52 1636
+-118.802 24.52 1667
+-118.676 24.52 1695
+-118.55 24.52 1732
+-118.424 24.52 1784
+-118.298 24.52 1835
+-118.172 24.52 1887
+-118.046 24.52 1938
+-117.92 24.52 1988
+-117.794 24.52 2037
+-117.668 24.52 2107
+-117.542 24.52 2154
+-117.416 24.52 2130
+-117.29 24.52 2174
+-117.164 24.52 2210
+-117.038 24.52 2237
+-116.912 24.52 2279
+-116.786 24.52 2296
+-116.66 24.52 2315
+-116.534 24.52 2340
+-116.408 24.52 2296
+-116.282 24.52 2353
+-116.156 24.52 2371
+-116.03 24.52 2388
+-115.904 24.52 2403
+-115.778 24.52 2416
+-115.652 24.52 2428
+-115.526 24.52 2438
+-115.4 24.52 2459
+-115.274 24.52 2467
+-115.148 24.52 2474
+-115.022 24.52 2435
+-114.896 24.52 2439
+-114.77 24.52 2441
+-114.644 24.52 2467
+-114.518 24.52 2466
+-114.392 24.52 2462
+-114.266 24.52 2471
+-114.14 24.52 2557
+-114.014 24.52 2542
+-113.888 24.52 2524
+-113.762 24.52 2525
+-113.636 24.52 2491
+-113.51 24.52 2466
+-113.384 24.52 2437
+-113.258 24.52 2380
+-113.132 24.52 2334
+-113.006 24.52 2297
+-112.88 24.52 2258
+-112.754 24.52 2216
+-112.628 24.52 2172
+-112.502 24.52 2126
+-112.376 24.52 2081
+-112.25 24.52 2063
+-112.124 24.52 2022
+-111.998 24.52 1986
+-111.872 24.52 1957
+-111.746 24.52 1932
+-111.62 24.52 1908
+-111.494 24.52 1886
+-111.368 24.52 1844
+-111.242 24.52 1794
+-111.116 24.52 1750
+-110.99 24.52 1732
+-110.864 24.52 1755
+-110.738 24.52 1819
+-110.612 24.52 1893
+-110.486 24.52 1984
+-110.36 24.52 2070
+-110.234 24.52 2147
+-110.108 24.52 2244
+-109.982 24.52 2301
+-109.856 24.52 2340
+-109.73 24.52 2381
+-109.604 24.52 2416
+-109.478 24.52 2447
+-109.352 24.52 2474
+-109.226 24.52 2499
+-109.1 24.52 2520
+-108.974 24.52 2539
+-108.848 24.52 2555
+-108.722 24.52 2570
+-108.596 24.52 2584
+-108.47 24.52 2597
+-108.344 24.52 2608
+-108.218 24.52 2656
+-108.092 24.52 2682
+-107.966 24.52 2694
+-107.84 24.52 2705
+-107.714 24.52 2762
+-107.588 24.52 2775
+-107.462 24.52 2787
+-107.336 24.52 2798
+-107.21 24.52 2809
+-107.084 24.52 2820
+-106.958 24.52 2830
+-106.832 24.52 2839
+-106.706 24.52 2866
+-106.58 24.52 2950
+-106.454 24.52 2958
+-106.328 24.52 2954
+-106.202 24.52 2960
+-106.076 24.52 2993
+-105.95 24.52 3008
+-105.824 24.52 3014
+-105.698 24.52 3019
+-105.572 24.52 3119
+-105.446 24.52 3124
+-105.32 24.52 3128
+-105.194 24.52 3075
+-105.068 24.52 3090
+-104.942 24.52 3092
+-104.816 24.52 3095
+-104.69 24.52 3088
+-104.564 24.52 3095
+-104.438 24.52 3103
+-104.312 24.52 3182
+-104.186 24.52 3167
+-104.06 24.52 3065
+-103.934 24.52 3066
+-103.808 24.52 3067
+-103.682 24.52 3089
+-103.556 24.52 3090
+-103.43 24.52 3091
+-103.304 24.52 3121
+-103.178 24.52 3123
+-103.052 24.52 3124
+-102.926 24.52 3076
+-102.8 24.52 3133
+-102.674 24.52 3134
+-102.548 24.52 3136
+-102.422 24.52 3138
+-102.296 24.52 3140
+-102.17 24.52 3137
+-102.044 24.52 3139
+-101.918 24.52 3163
+-101.792 24.52 3165
+-101.666 24.52 3167
+-101.54 24.52 3169
+-101.414 24.52 3113
+-101.288 24.52 3242
+-101.162 24.52 3237
+-101.036 24.52 3260
+-100.91 24.52 3263
+-100.784 24.52 3377
+-100.658 24.52 3379
+-100.532 24.52 3381
+-100.406 24.52 3422
+-100.28 24.52 3406
+-100.154 24.52 3409
+-100.028 24.52 3400
+-99.902 24.52 3418
+-99.776 24.52 3406
+-99.65 24.52 3431
+-99.524 24.52 3434
+-99.398 24.52 3427
+-99.272 24.52 3422
+-99.146 24.52 3424
+-99.02 24.52 3408
+-98.894 24.52 3456
+-98.768 24.52 3458
+-98.642 24.52 3427
+-98.516 24.52 3324
+-98.39 24.52 3364
+-98.264 24.52 3364
+-98.138 24.52 3325
+-98.012 24.52 3340
+-97.886 24.52 3268
+-97.76 24.52 3231
+-97.634 24.52 3115
+-97.508 24.52 3035
+-97.382 24.52 3053
+-97.256 24.52 2951
+-97.13 24.52 3013
+-97.004 24.52 3068
+-96.878 24.52 3087
+-96.752 24.52 3172
+-96.626 24.52 3226
+-96.5 24.52 3327
+-96.374 24.52 3330
+-96.248 24.52 3392
+-96.122 24.52 3435
+-95.996 24.52 3514
+-95.87 24.52 3513
+-95.744 24.52 3511
+-95.618 24.52 3527
+-95.492 24.52 3526
+-95.366 24.52 3525
+-95.24 24.52 3524
+-95.114 24.52 3523
+-94.988 24.52 3522
+-94.862 24.52 3521
+-94.736 24.52 3520
+-94.61 24.52 3519
+-94.484 24.52 3517
+-94.358 24.52 3516
+-94.232 24.52 3515
+-94.106 24.52 3519
+-93.98 24.52 3518
+-93.854 24.52 3517
+-93.728 24.52 3516
+-93.602 24.52 3515
+-93.476 24.52 3514
+-93.35 24.52 3513
+-93.224 24.52 3605
+-93.098 24.52 3603
+-92.972 24.52 3600
+-92.846 24.52 3597
+-92.72 24.52 3598
+-92.594 24.52 3647
+-92.468 24.52 3644
+-92.342 24.52 3640
+-92.216 24.52 3661
+-92.09 24.52 3657
+-91.964 24.52 3630
+-91.838 24.52 3626
+-91.712 24.52 3677
+-91.586 24.52 3674
+-91.46 24.52 3670
+-91.334 24.52 3666
+-91.208 24.52 3661
+-91.082 24.52 3657
+-90.956 24.52 3680
+-90.83 24.52 3674
+-90.704 24.52 3668
+-90.578 24.52 3662
+-90.452 24.52 3655
+-90.326 24.52 3648
+-90.2 24.52 3641
+-90.074 24.52 3633
+-89.948 24.52 3624
+-89.822 24.52 3593
+-89.696 24.52 3585
+-89.57 24.52 3577
+-89.444 24.52 3568
+-89.318 24.52 3569
+-89.192 24.52 3554
+-89.066 24.52 3576
+-88.94 24.52 3564
+-88.814 24.52 3552
+-88.688 24.52 3537
+-88.562 24.52 3528
+-88.436 24.52 3510
+-88.31 24.52 3492
+-88.184 24.52 3474
+-88.058 24.52 3435
+-87.932 24.52 3380
+-87.806 24.52 3294
+-87.68 24.52 3184
+-87.554 24.52 3028
+-87.428 24.52 2932
+-87.302 24.52 3065
+-87.176 24.52 3329
+-87.05 24.52 3525
+-86.924 24.52 3621
+-86.798 24.52 3643
+-86.672 24.52 3652
+-86.546 24.52 3757
+-86.42 24.52 3932
+-86.294 24.52 3997
+-86.168 24.52 4043
+-86.042 24.52 4165
+-85.916 24.52 4304
+-85.79 24.52 4432
+-85.664 24.52 4568
+-85.538 24.52 4700
+-85.412 24.52 4815
+-85.286 24.52 4932
+-85.16 24.52 4994
+-85.034 24.52 4963
+-84.908 24.52 5081
+-84.782 24.52 5195
+-84.656 24.52 5330
+-84.53 24.52 5402
+-84.404 24.52 5394
+-84.278 24.52 5494
+-84.152 24.52 5564
+-84.026 24.52 5632
+-83.9 24.52 5690
+-83.774 24.52 5764
+-83.648 24.52 5843
+-83.522 24.52 5920
+-83.396 24.52 5974
+-83.27 24.52 6033
+-83.144 24.52 6047
+-83.018 24.52 6081
+-82.892 24.52 6084
+-82.766 24.52 6113
+-82.64 24.52 6149
+-82.514 24.52 6152
+-82.388 24.52 6178
+-82.262 24.52 6200
+-82.136 24.52 6195
+-82.01 24.52 6193
+-81.884 24.52 6172
+-81.758 24.52 6146
+-81.632 24.52 6118
+-81.506 24.52 6095
+-81.38 24.52 6065
+-81.254 24.52 6019
+-81.128 24.52 6001
+-81.002 24.52 5982
+-80.876 24.52 5945
+-80.75 24.52 5865
+-80.624 24.52 5774
+-80.498 24.52 5689
+-80.372 24.52 5589
+-80.246 24.52 5507
+-80.12 24.52 5457
+-79.994 24.52 5400
+-79.868 24.52 5344
+-79.742 24.52 5294
+-79.616 24.52 5218
+-79.49 24.52 5147
+-79.364 24.52 5001
+-79.238 24.52 4890
+-79.112 24.52 4769
+-78.986 24.52 4701
+-78.86 24.52 4656
+-78.734 24.52 4577
+-78.608 24.52 4561
+-78.482 24.52 4497
+-78.356 24.52 4429
+-78.23 24.52 4320
+-78.104 24.52 4187
+-77.978 24.52 4036
+-77.852 24.52 3922
+-77.726 24.52 3744
+-77.6 24.52 3574
+-77.474 24.52 3452
+-77.348 24.52 3305
+-77.222 24.52 3186
+-77.096 24.52 3077
+-76.97 24.52 2917
+-76.844 24.52 3028
+-76.718 24.52 3156
+-76.592 24.52 3221
+-76.466 24.52 3204
+-76.34 24.52 3215
+-76.214 24.52 3215
+-76.088 24.52 3207
+-75.962 24.52 3165
+-75.836 24.52 3139
+-75.71 24.52 3102
+-75.584 24.52 3054
+-75.458 24.52 2966
+-75.332 24.52 2891
+-75.206 24.52 2791
+-75.08 24.52 2689
+-74.954 24.52 2578
+-74.828 24.52 2465
+-74.702 24.52 2352
+-74.576 24.52 2261
+-74.45 24.52 2199
+-74.324 24.52 2166
+-74.198 24.52 2160
+-74.072 24.52 2178
+-73.946 24.52 2214
+-73.82 24.52 2262
+-73.694 24.52 2317
+-73.568 24.52 2375
+-73.442 24.52 2406
+-73.316 24.52 2464
+-73.19 24.52 2513
+-73.064 24.52 2565
+-72.938 24.52 2613
+-72.812 24.52 2625
+-72.686 24.52 2669
+-72.56 24.52 2662
+-72.434 24.52 2698
+-72.308 24.52 2730
+-72.182 24.52 2760
+-72.056 24.52 2754
+-71.93 24.52 2758
+-71.804 24.52 2783
+-71.678 24.52 2799
+-71.552 24.52 2815
+-71.426 24.52 2835
+-71.3 24.52 2853
+-71.174 24.52 2871
+-71.048 24.52 2857
+-70.922 24.52 2872
+-70.796 24.52 2885
+-70.67 24.52 2857
+-70.544 24.52 2870
+-70.418 24.52 2845
+-70.292 24.52 2845
+-70.166 24.52 2818
+-70.04 24.52 2827
+-69.914 24.52 2792
+-69.788 24.52 2800
+-69.662 24.52 2808
+-69.536 24.52 2815
+-69.41 24.52 2822
+-69.284 24.52 2828
+-69.158 24.52 2834
+-69.032 24.52 2840
+-68.906 24.52 2845
+-68.78 24.52 2851
+-68.654 24.52 2856
+-68.528 24.52 2861
+-68.402 24.52 2865
+-68.276 24.52 2870
+-68.15 24.52 2874
+-68.024 24.52 2878
+-67.898 24.52 2882
+-67.772 24.52 2885
+-67.646 24.52 2889
+-67.52 24.52 2892
+-67.394 24.52 2870
+-67.268 24.52 2874
+-67.142 24.52 2878
+-67.016 24.52 2881
+-66.89 24.52 2885
+-66.764 24.52 2888
+-66.638 24.52 2850
+-66.512 24.52 2854
+-66.386 24.52 2845
+-66.26 24.52 2843
+-66.134 24.52 2814
+-66.008 24.52 2818
+-65.882 24.52 2821
+-65.756 24.52 2824
+-65.63 24.52 2827
+-65.504 24.52 2830
+-65.378 24.52 2832
+-65.252 24.52 2835
+-65.126 24.52 2838
+-128 24.468 3238
+-127.874 24.468 3229
+-127.748 24.468 3224
+-127.622 24.468 3221
+-127.496 24.468 3129
+-127.37 24.468 3129
+-127.244 24.468 3045
+-127.118 24.468 3055
+-126.992 24.468 3059
+-126.866 24.468 3054
+-126.74 24.468 3013
+-126.614 24.468 3009
+-126.488 24.468 3004
+-126.362 24.468 3028
+-126.236 24.468 3003
+-126.11 24.468 2998
+-125.984 24.468 2948
+-125.858 24.468 2942
+-125.732 24.468 3008
+-125.606 24.468 2964
+-125.48 24.468 2942
+-125.354 24.468 2844
+-125.228 24.468 2880
+-125.102 24.468 2873
+-124.976 24.468 2866
+-124.85 24.468 2858
+-124.724 24.468 2851
+-124.598 24.468 2843
+-124.472 24.468 2771
+-124.346 24.468 2776
+-124.22 24.468 2767
+-124.094 24.468 2727
+-123.968 24.468 2709
+-123.842 24.468 2687
+-123.716 24.468 2677
+-123.59 24.468 2648
+-123.464 24.468 2637
+-123.338 24.468 2606
+-123.212 24.468 2588
+-123.086 24.468 2561
+-122.96 24.468 2548
+-122.834 24.468 2527
+-122.708 24.468 2519
+-122.582 24.468 2503
+-122.456 24.468 2487
+-122.33 24.468 2469
+-122.204 24.468 2450
+-122.078 24.468 2360
+-121.952 24.468 2340
+-121.826 24.468 2319
+-121.7 24.468 2274
+-121.574 24.468 2250
+-121.448 24.468 2198
+-121.322 24.468 2171
+-121.196 24.468 2143
+-121.07 24.468 2113
+-120.944 24.468 2082
+-120.818 24.468 2049
+-120.692 24.468 2015
+-120.566 24.468 1980
+-120.44 24.468 1945
+-120.314 24.468 1908
+-120.188 24.468 1849
+-120.062 24.468 1816
+-119.936 24.468 1784
+-119.81 24.468 1757
+-119.684 24.468 1725
+-119.558 24.468 1707
+-119.432 24.468 1696
+-119.306 24.468 1684
+-119.18 24.468 1689
+-119.054 24.468 1689
+-118.928 24.468 1708
+-118.802 24.468 1725
+-118.676 24.468 1750
+-118.55 24.468 1793
+-118.424 24.468 1835
+-118.298 24.468 1879
+-118.172 24.468 1925
+-118.046 24.468 1970
+-117.92 24.468 2016
+-117.794 24.468 2082
+-117.668 24.468 2128
+-117.542 24.468 2104
+-117.416 24.468 2147
+-117.29 24.468 2184
+-117.164 24.468 2211
+-117.038 24.468 2253
+-116.912 24.468 2271
+-116.786 24.468 2291
+-116.66 24.468 2317
+-116.534 24.468 2275
+-116.408 24.468 2332
+-116.282 24.468 2351
+-116.156 24.468 2369
+-116.03 24.468 2384
+-115.904 24.468 2398
+-115.778 24.468 2411
+-115.652 24.468 2422
+-115.526 24.468 2442
+-115.4 24.468 2452
+-115.274 24.468 2459
+-115.148 24.468 2421
+-115.022 24.468 2425
+-114.896 24.468 2428
+-114.77 24.468 2455
+-114.644 24.468 2454
+-114.518 24.468 2451
+-114.392 24.468 2476
+-114.266 24.468 2449
+-114.14 24.468 2540
+-114.014 24.468 2522
+-113.888 24.468 2505
+-113.762 24.468 2468
+-113.636 24.468 2465
+-113.51 24.468 2437
+-113.384 24.468 2379
+-113.258 24.468 2333
+-113.132 24.468 2295
+-113.006 24.468 2254
+-112.88 24.468 2210
+-112.754 24.468 2162
+-112.628 24.468 2111
+-112.502 24.468 2059
+-112.376 24.468 2006
+-112.25 24.468 1956
+-112.124 24.468 1932
+-111.998 24.468 1894
+-111.872 24.468 1867
+-111.746 24.468 1850
+-111.62 24.468 1839
+-111.494 24.468 1833
+-111.368 24.468 1807
+-111.242 24.468 1767
+-111.116 24.468 1727
+-110.99 24.468 1710
+-110.864 24.468 1731
+-110.738 24.468 1784
+-110.612 24.468 1863
+-110.486 24.468 1952
+-110.36 24.468 2038
+-110.234 24.468 2117
+-110.108 24.468 2185
+-109.982 24.468 2279
+-109.856 24.468 2321
+-109.73 24.468 2365
+-109.604 24.468 2403
+-109.478 24.468 2436
+-109.352 24.468 2465
+-109.226 24.468 2490
+-109.1 24.468 2513
+-108.974 24.468 2533
+-108.848 24.468 2550
+-108.722 24.468 2566
+-108.596 24.468 2581
+-108.47 24.468 2594
+-108.344 24.468 2607
+-108.218 24.468 2619
+-108.092 24.468 2667
+-107.966 24.468 2694
+-107.84 24.468 2705
+-107.714 24.468 2716
+-107.588 24.468 2774
+-107.462 24.468 2786
+-107.336 24.468 2797
+-107.21 24.468 2808
+-107.084 24.468 2818
+-106.958 24.468 2828
+-106.832 24.468 2837
+-106.706 24.468 2846
+-106.58 24.468 2872
+-106.454 24.468 2958
+-106.328 24.468 2965
+-106.202 24.468 2961
+-106.076 24.468 2967
+-105.95 24.468 2999
+-105.824 24.468 3014
+-105.698 24.468 3019
+-105.572 24.468 3025
+-105.446 24.468 3126
+-105.32 24.468 3130
+-105.194 24.468 3134
+-105.068 24.468 3080
+-104.942 24.468 3095
+-104.816 24.468 3098
+-104.69 24.468 3100
+-104.564 24.468 3093
+-104.438 24.468 3099
+-104.312 24.468 3107
+-104.186 24.468 3188
+-104.06 24.468 3172
+-103.934 24.468 3068
+-103.808 24.468 3070
+-103.682 24.468 3071
+-103.556 24.468 3093
+-103.43 24.468 3094
+-103.304 24.468 3095
+-103.178 24.468 3125
+-103.052 24.468 3127
+-102.926 24.468 3128
+-102.8 24.468 3079
+-102.674 24.468 3137
+-102.548 24.468 3138
+-102.422 24.468 3140
+-102.296 24.468 3142
+-102.17 24.468 3143
+-102.044 24.468 3141
+-101.918 24.468 3143
+-101.792 24.468 3166
+-101.666 24.468 3169
+-101.54 24.468 3171
+-101.414 24.468 3173
+-101.288 24.468 3116
+-101.162 24.468 3246
+-101.036 24.468 3241
+-100.91 24.468 3264
+-100.784 24.468 3267
+-100.658 24.468 3381
+-100.532 24.468 3383
+-100.406 24.468 3385
+-100.28 24.468 3426
+-100.154 24.468 3409
+-100.028 24.468 3414
+-99.902 24.468 3404
+-99.776 24.468 3422
+-99.65 24.468 3410
+-99.524 24.468 3435
+-99.398 24.468 3438
+-99.272 24.468 3430
+-99.146 24.468 3425
+-99.02 24.468 3428
+-98.894 24.468 3411
+-98.768 24.468 3459
+-98.642 24.468 3462
+-98.516 24.468 3325
+-98.39 24.468 3369
+-98.264 24.468 3364
+-98.138 24.468 3365
+-98.012 24.468 3263
+-97.886 24.468 3268
+-97.76 24.468 3268
+-97.634 24.468 3189
+-97.508 24.468 3101
+-97.382 24.468 3086
+-97.256 24.468 3004
+-97.13 24.468 3022
+-97.004 24.468 3069
+-96.878 24.468 3087
+-96.752 24.468 3172
+-96.626 24.468 3226
+-96.5 24.468 3327
+-96.374 24.468 3342
+-96.248 24.468 3404
+-96.122 24.468 3434
+-95.996 24.468 3514
+-95.87 24.468 3512
+-95.744 24.468 3528
+-95.618 24.468 3527
+-95.492 24.468 3526
+-95.366 24.468 3525
+-95.24 24.468 3524
+-95.114 24.468 3523
+-94.988 24.468 3521
+-94.862 24.468 3520
+-94.736 24.468 3519
+-94.61 24.468 3518
+-94.484 24.468 3517
+-94.358 24.468 3515
+-94.232 24.468 3519
+-94.106 24.468 3518
+-93.98 24.468 3517
+-93.854 24.468 3516
+-93.728 24.468 3516
+-93.602 24.468 3515
+-93.476 24.468 3514
+-93.35 24.468 3606
+-93.224 24.468 3604
+-93.098 24.468 3601
+-92.972 24.468 3598
+-92.846 24.468 3598
+-92.72 24.468 3648
+-92.594 24.468 3645
+-92.468 24.468 3641
+-92.342 24.468 3663
+-92.216 24.468 3659
+-92.09 24.468 3631
+-91.964 24.468 3627
+-91.838 24.468 3679
+-91.712 24.468 3676
+-91.586 24.468 3672
+-91.46 24.468 3668
+-91.334 24.468 3664
+-91.208 24.468 3659
+-91.082 24.468 3683
+-90.956 24.468 3678
+-90.83 24.468 3672
+-90.704 24.468 3666
+-90.578 24.468 3660
+-90.452 24.468 3653
+-90.326 24.468 3646
+-90.2 24.468 3639
+-90.074 24.468 3631
+-89.948 24.468 3599
+-89.822 24.468 3592
+-89.696 24.468 3585
+-89.57 24.468 3577
+-89.444 24.468 3579
+-89.318 24.468 3566
+-89.192 24.468 3589
+-89.066 24.468 3579
+-88.94 24.468 3568
+-88.814 24.468 3555
+-88.688 24.468 3550
+-88.562 24.468 3535
+-88.436 24.468 3521
+-88.31 24.468 3510
+-88.184 24.468 3482
+-88.058 24.468 3444
+-87.932 24.468 3387
+-87.806 24.468 3327
+-87.68 24.468 3223
+-87.554 24.468 3109
+-87.428 24.468 3046
+-87.302 24.468 3163
+-87.176 24.468 3379
+-87.05 24.468 3540
+-86.924 24.468 3609
+-86.798 24.468 3607
+-86.672 24.468 3569
+-86.546 24.468 3677
+-86.42 24.468 3867
+-86.294 24.468 3981
+-86.168 24.468 4053
+-86.042 24.468 4146
+-85.916 24.468 4241
+-85.79 24.468 4339
+-85.664 24.468 4449
+-85.538 24.468 4608
+-85.412 24.468 4716
+-85.286 24.468 4868
+-85.16 24.468 4943
+-85.034 24.468 5013
+-84.908 24.468 5091
+-84.782 24.468 5186
+-84.656 24.468 5300
+-84.53 24.468 5355
+-84.404 24.468 5383
+-84.278 24.468 5433
+-84.152 24.468 5505
+-84.026 24.468 5572
+-83.9 24.468 5641
+-83.774 24.468 5725
+-83.648 24.468 5756
+-83.522 24.468 5834
+-83.396 24.468 5929
+-83.27 24.468 5984
+-83.144 24.468 5968
+-83.018 24.468 6025
+-82.892 24.468 6030
+-82.766 24.468 6049
+-82.64 24.468 6092
+-82.514 24.468 6133
+-82.388 24.468 6100
+-82.262 24.468 6098
+-82.136 24.468 6112
+-82.01 24.468 6106
+-81.884 24.468 6100
+-81.758 24.468 6107
+-81.632 24.468 6062
+-81.506 24.468 6022
+-81.38 24.468 6008
+-81.254 24.468 5964
+-81.128 24.468 5956
+-81.002 24.468 5944
+-80.876 24.468 5871
+-80.75 24.468 5792
+-80.624 24.468 5673
+-80.498 24.468 5585
+-80.372 24.468 5525
+-80.246 24.468 5466
+-80.12 24.468 5466
+-79.994 24.468 5374
+-79.868 24.468 5291
+-79.742 24.468 5239
+-79.616 24.468 5149
+-79.49 24.468 5087
+-79.364 24.468 4969
+-79.238 24.468 4864
+-79.112 24.468 4759
+-78.986 24.468 4695
+-78.86 24.468 4625
+-78.734 24.468 4509
+-78.608 24.468 4546
+-78.482 24.468 4502
+-78.356 24.468 4427
+-78.23 24.468 4259
+-78.104 24.468 4151
+-77.978 24.468 3961
+-77.852 24.468 3823
+-77.726 24.468 3716
+-77.6 24.468 3543
+-77.474 24.468 3391
+-77.348 24.468 3214
+-77.222 24.468 3106
+-77.096 24.468 3117
+-76.97 24.468 3042
+-76.844 24.468 3083
+-76.718 24.468 3161
+-76.592 24.468 3218
+-76.466 24.468 3178
+-76.34 24.468 3184
+-76.214 24.468 3184
+-76.088 24.468 3179
+-75.962 24.468 3169
+-75.836 24.468 3125
+-75.71 24.468 3097
+-75.584 24.468 3060
+-75.458 24.468 3011
+-75.332 24.468 2923
+-75.206 24.468 2852
+-75.08 24.468 2761
+-74.954 24.468 2675
+-74.828 24.468 2587
+-74.702 24.468 2504
+-74.576 24.468 2423
+-74.45 24.468 2366
+-74.324 24.468 2332
+-74.198 24.468 2319
+-74.072 24.468 2325
+-73.946 24.468 2345
+-73.82 24.468 2377
+-73.694 24.468 2416
+-73.568 24.468 2459
+-73.442 24.468 2504
+-73.316 24.468 2523
+-73.19 24.468 2569
+-73.064 24.468 2606
+-72.938 24.468 2648
+-72.812 24.468 2687
+-72.686 24.468 2692
+-72.56 24.468 2729
+-72.434 24.468 2714
+-72.308 24.468 2744
+-72.182 24.468 2772
+-72.056 24.468 2797
+-71.93 24.468 2787
+-71.804 24.468 2788
+-71.678 24.468 2810
+-71.552 24.468 2824
+-71.426 24.468 2838
+-71.3 24.468 2855
+-71.174 24.468 2872
+-71.048 24.468 2888
+-70.922 24.468 2872
+-70.796 24.468 2886
+-70.67 24.468 2898
+-70.544 24.468 2869
+-70.418 24.468 2881
+-70.292 24.468 2855
+-70.166 24.468 2855
+-70.04 24.468 2826
+-69.914 24.468 2835
+-69.788 24.468 2799
+-69.662 24.468 2807
+-69.536 24.468 2814
+-69.41 24.468 2821
+-69.284 24.468 2827
+-69.158 24.468 2833
+-69.032 24.468 2839
+-68.906 24.468 2844
+-68.78 24.468 2850
+-68.654 24.468 2855
+-68.528 24.468 2860
+-68.402 24.468 2864
+-68.276 24.468 2869
+-68.15 24.468 2873
+-68.024 24.468 2877
+-67.898 24.468 2881
+-67.772 24.468 2884
+-67.646 24.468 2888
+-67.52 24.468 2891
+-67.394 24.468 2895
+-67.268 24.468 2873
+-67.142 24.468 2876
+-67.016 24.468 2880
+-66.89 24.468 2883
+-66.764 24.468 2886
+-66.638 24.468 2890
+-66.512 24.468 2852
+-66.386 24.468 2856
+-66.26 24.468 2847
+-66.134 24.468 2844
+-66.008 24.468 2816
+-65.882 24.468 2819
+-65.756 24.468 2822
+-65.63 24.468 2825
+-65.504 24.468 2828
+-65.378 24.468 2831
+-65.252 24.468 2833
+-65.126 24.468 2836
+-128 24.416 3230
+-127.874 24.416 3226
+-127.748 24.416 3222
+-127.622 24.416 3131
+-127.496 24.416 3131
+-127.37 24.416 3047
+-127.244 24.416 3056
+-127.118 24.416 3060
+-126.992 24.416 3056
+-126.866 24.416 3015
+-126.74 24.416 3011
+-126.614 24.416 3007
+-126.488 24.416 3030
+-126.362 24.416 3006
+-126.236 24.416 3001
+-126.11 24.416 2950
+-125.984 24.416 2945
+-125.858 24.416 3012
+-125.732 24.416 2968
+-125.606 24.416 2946
+-125.48 24.416 2847
+-125.354 24.416 2884
+-125.228 24.416 2878
+-125.102 24.416 2871
+-124.976 24.416 2864
+-124.85 24.416 2856
+-124.724 24.416 2849
+-124.598 24.416 2777
+-124.472 24.416 2783
+-124.346 24.416 2774
+-124.22 24.416 2734
+-124.094 24.416 2716
+-123.968 24.416 2696
+-123.842 24.416 2686
+-123.716 24.416 2657
+-123.59 24.416 2647
+-123.464 24.416 2616
+-123.338 24.416 2599
+-123.212 24.416 2573
+-123.086 24.416 2561
+-122.96 24.416 2541
+-122.834 24.416 2535
+-122.708 24.416 2520
+-122.582 24.416 2505
+-122.456 24.416 2489
+-122.33 24.416 2472
+-122.204 24.416 2382
+-122.078 24.416 2364
+-121.952 24.416 2345
+-121.826 24.416 2301
+-121.7 24.416 2280
+-121.574 24.416 2230
+-121.448 24.416 2207
+-121.322 24.416 2182
+-121.196 24.416 2156
+-121.07 24.416 2129
+-120.944 24.416 2100
+-120.818 24.416 2071
+-120.692 24.416 2040
+-120.566 24.416 2009
+-120.44 24.416 1976
+-120.314 24.416 1920
+-120.188 24.416 1890
+-120.062 24.416 1862
+-119.936 24.416 1836
+-119.81 24.416 1805
+-119.684 24.416 1786
+-119.558 24.416 1772
+-119.432 24.416 1754
+-119.306 24.416 1753
+-119.18 24.416 1745
+-119.054 24.416 1756
+-118.928 24.416 1763
+-118.802 24.416 1779
+-118.676 24.416 1812
+-118.55 24.416 1845
+-118.424 24.416 1882
+-118.298 24.416 1921
+-118.172 24.416 1961
+-118.046 24.416 2002
+-117.92 24.416 2064
+-117.794 24.416 2108
+-117.668 24.416 2082
+-117.542 24.416 2124
+-117.416 24.416 2160
+-117.29 24.416 2188
+-117.164 24.416 2229
+-117.038 24.416 2248
+-116.912 24.416 2268
+-116.786 24.416 2295
+-116.66 24.416 2255
+-116.534 24.416 2312
+-116.408 24.416 2332
+-116.282 24.416 2350
+-116.156 24.416 2366
+-116.03 24.416 2381
+-115.904 24.416 2394
+-115.778 24.416 2406
+-115.652 24.416 2426
+-115.526 24.416 2436
+-115.4 24.416 2445
+-115.274 24.416 2408
+-115.148 24.416 2413
+-115.022 24.416 2416
+-114.896 24.416 2444
+-114.77 24.416 2444
+-114.644 24.416 2442
+-114.518 24.416 2467
+-114.392 24.416 2442
+-114.266 24.416 2433
+-114.14 24.416 2456
+-114.014 24.416 2506
+-113.888 24.416 2470
+-113.762 24.416 2446
+-113.636 24.416 2440
+-113.51 24.416 2382
+-113.384 24.416 2336
+-113.258 24.416 2300
+-113.132 24.416 2258
+-113.006 24.416 2213
+-112.88 24.416 2163
+-112.754 24.416 2109
+-112.628 24.416 2051
+-112.502 24.416 1991
+-112.376 24.416 1929
+-112.25 24.416 1870
+-112.124 24.416 1818
+-111.998 24.416 1792
+-111.872 24.416 1764
+-111.746 24.416 1755
+-111.62 24.416 1761
+-111.494 24.416 1779
+-111.368 24.416 1779
+-111.242 24.416 1763
+-111.116 24.416 1738
+-110.99 24.416 1726
+-110.864 24.416 1742
+-110.738 24.416 1790
+-110.612 24.416 1860
+-110.486 24.416 1941
+-110.36 24.416 2022
+-110.234 24.416 2098
+-110.108 24.416 2165
+-109.982 24.416 2224
+-109.856 24.416 2304
+-109.73 24.416 2350
+-109.604 24.416 2390
+-109.478 24.416 2424
+-109.352 24.416 2455
+-109.226 24.416 2482
+-109.1 24.416 2505
+-108.974 24.416 2526
+-108.848 24.416 2545
+-108.722 24.416 2562
+-108.596 24.416 2577
+-108.47 24.416 2592
+-108.344 24.416 2605
+-108.218 24.416 2617
+-108.092 24.416 2628
+-107.966 24.416 2678
+-107.84 24.416 2704
+-107.714 24.416 2716
+-107.588 24.416 2726
+-107.462 24.416 2785
+-107.336 24.416 2796
+-107.21 24.416 2807
+-107.084 24.416 2817
+-106.958 24.416 2826
+-106.832 24.416 2835
+-106.706 24.416 2844
+-106.58 24.416 2852
+-106.454 24.416 2878
+-106.328 24.416 2966
+-106.202 24.416 2973
+-106.076 24.416 2967
+-105.95 24.416 2972
+-105.824 24.416 3005
+-105.698 24.416 3019
+-105.572 24.416 3025
+-105.446 24.416 3030
+-105.32 24.416 3132
+-105.194 24.416 3136
+-105.068 24.416 3140
+-104.942 24.416 3086
+-104.816 24.416 3100
+-104.69 24.416 3103
+-104.564 24.416 3105
+-104.438 24.416 3097
+-104.312 24.416 3104
+-104.186 24.416 3112
+-104.06 24.416 3193
+-103.934 24.416 3177
+-103.808 24.416 3072
+-103.682 24.416 3073
+-103.556 24.416 3074
+-103.43 24.416 3096
+-103.304 24.416 3097
+-103.178 24.416 3099
+-103.052 24.416 3129
+-102.926 24.416 3131
+-102.8 24.416 3132
+-102.674 24.416 3082
+-102.548 24.416 3141
+-102.422 24.416 3142
+-102.296 24.416 3144
+-102.17 24.416 3145
+-102.044 24.416 3147
+-101.918 24.416 3145
+-101.792 24.416 3146
+-101.666 24.416 3170
+-101.54 24.416 3172
+-101.414 24.416 3174
+-101.288 24.416 3176
+-101.162 24.416 3119
+-101.036 24.416 3249
+-100.91 24.416 3245
+-100.784 24.416 3268
+-100.658 24.416 3270
+-100.532 24.416 3385
+-100.406 24.416 3387
+-100.28 24.416 3389
+-100.154 24.416 3431
+-100.028 24.416 3415
+-99.902 24.416 3418
+-99.776 24.416 3408
+-99.65 24.416 3426
+-99.524 24.416 3413
+-99.398 24.416 3439
+-99.272 24.416 3441
+-99.146 24.416 3434
+-99.02 24.416 3429
+-98.894 24.416 3431
+-98.768 24.416 3414
+-98.642 24.416 3463
+-98.516 24.416 3356
+-98.39 24.416 3325
+-98.264 24.416 3370
+-98.138 24.416 3365
+-98.012 24.416 3304
+-97.886 24.416 3317
+-97.76 24.416 3221
+-97.634 24.416 3220
+-97.508 24.416 3101
+-97.382 24.416 3086
+-97.256 24.416 3004
+-97.13 24.416 3043
+-97.004 24.416 3069
+-96.878 24.416 3087
+-96.752 24.416 3172
+-96.626 24.416 3226
+-96.5 24.416 3339
+-96.374 24.416 3361
+-96.248 24.416 3384
+-96.122 24.416 3434
+-95.996 24.416 3513
+-95.87 24.416 3528
+-95.744 24.416 3527
+-95.618 24.416 3526
+-95.492 24.416 3525
+-95.366 24.416 3524
+-95.24 24.416 3523
+-95.114 24.416 3522
+-94.988 24.416 3521
+-94.862 24.416 3520
+-94.736 24.416 3518
+-94.61 24.416 3517
+-94.484 24.416 3516
+-94.358 24.416 3519
+-94.232 24.416 3518
+-94.106 24.416 3518
+-93.98 24.416 3517
+-93.854 24.416 3516
+-93.728 24.416 3515
+-93.602 24.416 3514
+-93.476 24.416 3607
+-93.35 24.416 3604
+-93.224 24.416 3602
+-93.098 24.416 3599
+-92.972 24.416 3599
+-92.846 24.416 3649
+-92.72 24.416 3646
+-92.594 24.416 3643
+-92.468 24.416 3665
+-92.342 24.416 3661
+-92.216 24.416 3632
+-92.09 24.416 3629
+-91.964 24.416 3681
+-91.838 24.416 3678
+-91.712 24.416 3674
+-91.586 24.416 3670
+-91.46 24.416 3666
+-91.334 24.416 3662
+-91.208 24.416 3686
+-91.082 24.416 3681
+-90.956 24.416 3676
+-90.83 24.416 3670
+-90.704 24.416 3664
+-90.578 24.416 3658
+-90.452 24.416 3652
+-90.326 24.416 3645
+-90.2 24.416 3637
+-90.074 24.416 3605
+-89.948 24.416 3599
+-89.822 24.416 3592
+-89.696 24.416 3584
+-89.57 24.416 3588
+-89.444 24.416 3576
+-89.318 24.416 3601
+-89.192 24.416 3592
+-89.066 24.416 3582
+-88.94 24.416 3572
+-88.814 24.416 3569
+-88.688 24.416 3556
+-88.562 24.416 3547
+-88.436 24.416 3542
+-88.31 24.416 3521
+-88.184 24.416 3495
+-88.058 24.416 3457
+-87.932 24.416 3431
+-87.806 24.416 3376
+-87.68 24.416 3326
+-87.554 24.416 3262
+-87.428 24.416 3253
+-87.302 24.416 3334
+-87.176 24.416 3460
+-87.05 24.416 3557
+-86.924 24.416 3600
+-86.798 24.416 3604
+-86.672 24.416 3595
+-86.546 24.416 3664
+-86.42 24.416 3812
+-86.294 24.416 3953
+-86.168 24.416 4065
+-86.042 24.416 4146
+-85.916 24.416 4215
+-85.79 24.416 4265
+-85.664 24.416 4344
+-85.538 24.416 4528
+-85.412 24.416 4625
+-85.286 24.416 4714
+-85.16 24.416 4830
+-85.034 24.416 4977
+-84.908 24.416 5081
+-84.782 24.416 5191
+-84.656 24.416 5255
+-84.53 24.416 5305
+-84.404 24.416 5340
+-84.278 24.416 5363
+-84.152 24.416 5433
+-84.026 24.416 5493
+-83.9 24.416 5573
+-83.774 24.416 5637
+-83.648 24.416 5693
+-83.522 24.416 5738
+-83.396 24.416 5862
+-83.27 24.416 5926
+-83.144 24.416 5969
+-83.018 24.416 5954
+-82.892 24.416 6004
+-82.766 24.416 5999
+-82.64 24.416 6028
+-82.514 24.416 6054
+-82.388 24.416 6055
+-82.262 24.416 6033
+-82.136 24.416 6024
+-82.01 24.416 6044
+-81.884 24.416 6025
+-81.758 24.416 6020
+-81.632 24.416 6001
+-81.506 24.416 5994
+-81.38 24.416 5946
+-81.254 24.416 5899
+-81.128 24.416 5907
+-81.002 24.416 5877
+-80.876 24.416 5801
+-80.75 24.416 5715
+-80.624 24.416 5621
+-80.498 24.416 5536
+-80.372 24.416 5475
+-80.246 24.416 5440
+-80.12 24.416 5407
+-79.994 24.416 5344
+-79.868 24.416 5266
+-79.742 24.416 5164
+-79.616 24.416 5072
+-79.49 24.416 5050
+-79.364 24.416 4932
+-79.238 24.416 4823
+-79.112 24.416 4727
+-78.986 24.416 4620
+-78.86 24.416 4640
+-78.734 24.416 4571
+-78.608 24.416 4560
+-78.482 24.416 4513
+-78.356 24.416 4392
+-78.23 24.416 4227
+-78.104 24.416 4061
+-77.978 24.416 3885
+-77.852 24.416 3788
+-77.726 24.416 3645
+-77.6 24.416 3529
+-77.474 24.416 3375
+-77.348 24.416 3234
+-77.222 24.416 3163
+-77.096 24.416 3155
+-76.97 24.416 3143
+-76.844 24.416 3149
+-76.718 24.416 3177
+-76.592 24.416 3202
+-76.466 24.416 3151
+-76.34 24.416 3148
+-76.214 24.416 3147
+-76.088 24.416 3146
+-75.962 24.416 3142
+-75.836 24.416 3132
+-75.71 24.416 3088
+-75.584 24.416 3061
+-75.458 24.416 3024
+-75.332 24.416 2977
+-75.206 24.416 2893
+-75.08 24.416 2830
+-74.954 24.416 2752
+-74.828 24.416 2683
+-74.702 24.416 2617
+-74.576 24.416 2560
+-74.45 24.416 2503
+-74.324 24.416 2468
+-74.198 24.416 2451
+-74.072 24.416 2449
+-73.946 24.416 2459
+-73.82 24.416 2478
+-73.694 24.416 2505
+-73.568 24.416 2536
+-73.442 24.416 2570
+-73.316 24.416 2605
+-73.19 24.416 2617
+-73.064 24.416 2654
+-72.938 24.416 2682
+-72.812 24.416 2716
+-72.686 24.416 2748
+-72.56 24.416 2749
+-72.434 24.416 2780
+-72.308 24.416 2759
+-72.182 24.416 2784
+-72.056 24.416 2808
+-71.93 24.416 2830
+-71.804 24.416 2816
+-71.678 24.416 2816
+-71.552 24.416 2835
+-71.426 24.416 2847
+-71.3 24.416 2858
+-71.174 24.416 2874
+-71.048 24.416 2889
+-70.922 24.416 2904
+-70.796 24.416 2887
+-70.67 24.416 2899
+-70.544 24.416 2911
+-70.418 24.416 2881
+-70.292 24.416 2892
+-70.166 24.416 2865
+-70.04 24.416 2864
+-69.914 24.416 2834
+-69.788 24.416 2843
+-69.662 24.416 2806
+-69.536 24.416 2813
+-69.41 24.416 2820
+-69.284 24.416 2826
+-69.158 24.416 2832
+-69.032 24.416 2838
+-68.906 24.416 2844
+-68.78 24.416 2849
+-68.654 24.416 2854
+-68.528 24.416 2859
+-68.402 24.416 2863
+-68.276 24.416 2868
+-68.15 24.416 2872
+-68.024 24.416 2876
+-67.898 24.416 2880
+-67.772 24.416 2883
+-67.646 24.416 2887
+-67.52 24.416 2890
+-67.394 24.416 2894
+-67.268 24.416 2897
+-67.142 24.416 2875
+-67.016 24.416 2878
+-66.89 24.416 2882
+-66.764 24.416 2885
+-66.638 24.416 2888
+-66.512 24.416 2891
+-66.386 24.416 2854
+-66.26 24.416 2858
+-66.134 24.416 2849
+-66.008 24.416 2846
+-65.882 24.416 2818
+-65.756 24.416 2821
+-65.63 24.416 2824
+-65.504 24.416 2826
+-65.378 24.416 2829
+-65.252 24.416 2832
+-65.126 24.416 2835
+-128 24.364 3227
+-127.874 24.364 3224
+-127.748 24.364 3132
+-127.622 24.364 3132
+-127.496 24.364 3048
+-127.37 24.364 3058
+-127.244 24.364 3062
+-127.118 24.364 3058
+-126.992 24.364 3017
+-126.866 24.364 3013
+-126.74 24.364 3009
+-126.614 24.364 3033
+-126.488 24.364 3009
+-126.362 24.364 3004
+-126.236 24.364 2953
+-126.11 24.364 2948
+-125.984 24.364 3016
+-125.858 24.364 2971
+-125.732 24.364 2950
+-125.606 24.364 2851
+-125.48 24.364 2889
+-125.354 24.364 2882
+-125.228 24.364 2876
+-125.102 24.364 2869
+-124.976 24.364 2862
+-124.85 24.364 2855
+-124.724 24.364 2782
+-124.598 24.364 2789
+-124.472 24.364 2781
+-124.346 24.364 2741
+-124.22 24.364 2724
+-124.094 24.364 2703
+-123.968 24.364 2695
+-123.842 24.364 2666
+-123.716 24.364 2657
+-123.59 24.364 2626
+-123.464 24.364 2610
+-123.338 24.364 2585
+-123.212 24.364 2574
+-123.086 24.364 2554
+-122.96 24.364 2549
+-122.834 24.364 2536
+-122.708 24.364 2522
+-122.582 24.364 2507
+-122.456 24.364 2492
+-122.33 24.364 2402
+-122.204 24.364 2386
+-122.078 24.364 2368
+-121.952 24.364 2326
+-121.826 24.364 2307
+-121.7 24.364 2260
+-121.574 24.364 2239
+-121.448 24.364 2217
+-121.322 24.364 2194
+-121.196 24.364 2170
+-121.07 24.364 2145
+-120.944 24.364 2119
+-120.818 24.364 2092
+-120.692 24.364 2064
+-120.566 24.364 2035
+-120.44 24.364 1982
+-120.314 24.364 1955
+-120.188 24.364 1930
+-120.062 24.364 1905
+-119.936 24.364 1876
+-119.81 24.364 1857
+-119.684 24.364 1842
+-119.558 24.364 1820
+-119.432 24.364 1815
+-119.306 24.364 1801
+-119.18 24.364 1806
+-119.054 24.364 1806
+-118.928 24.364 1813
+-118.802 24.364 1839
+-118.676 24.364 1864
+-118.55 24.364 1894
+-118.424 24.364 1926
+-118.298 24.364 1960
+-118.172 24.364 1996
+-118.046 24.364 2053
+-117.92 24.364 2093
+-117.794 24.364 2066
+-117.668 24.364 2105
+-117.542 24.364 2140
+-117.416 24.364 2167
+-117.29 24.364 2208
+-117.164 24.364 2227
+-117.038 24.364 2247
+-116.912 24.364 2274
+-116.786 24.364 2235
+-116.66 24.364 2292
+-116.534 24.364 2313
+-116.408 24.364 2331
+-116.282 24.364 2349
+-116.156 24.364 2364
+-116.03 24.364 2378
+-115.904 24.364 2390
+-115.778 24.364 2411
+-115.652 24.364 2421
+-115.526 24.364 2431
+-115.4 24.364 2395
+-115.274 24.364 2400
+-115.148 24.364 2404
+-115.022 24.364 2406
+-114.896 24.364 2434
+-114.77 24.364 2433
+-114.644 24.364 2460
+-114.518 24.364 2435
+-114.392 24.364 2427
+-114.266 24.364 2418
+-114.14 24.364 2427
+-114.014 24.364 2474
+-113.888 24.364 2451
+-113.762 24.364 2425
+-113.636 24.364 2389
+-113.51 24.364 2345
+-113.384 24.364 2309
+-113.258 24.364 2269
+-113.132 24.364 2224
+-113.006 24.364 2174
+-112.88 24.364 2119
+-112.754 24.364 2059
+-112.628 24.364 1994
+-112.502 24.364 1925
+-112.376 24.364 1853
+-112.25 24.364 1783
+-112.124 24.364 1719
+-111.998 24.364 1668
+-111.872 24.364 1647
+-111.746 24.364 1641
+-111.62 24.364 1663
+-111.494 24.364 1707
+-111.368 24.364 1742
+-111.242 24.364 1759
+-111.116 24.364 1759
+-110.99 24.364 1754
+-110.864 24.364 1773
+-110.738 24.364 1814
+-110.612 24.364 1874
+-110.486 24.364 1945
+-110.36 24.364 2018
+-110.234 24.364 2088
+-110.108 24.364 2153
+-109.982 24.364 2210
+-109.856 24.364 2261
+-109.73 24.364 2338
+-109.604 24.364 2379
+-109.478 24.364 2414
+-109.352 24.364 2446
+-109.226 24.364 2473
+-109.1 24.364 2498
+-108.974 24.364 2520
+-108.848 24.364 2540
+-108.722 24.364 2557
+-108.596 24.364 2573
+-108.47 24.364 2588
+-108.344 24.364 2602
+-108.218 24.364 2614
+-108.092 24.364 2626
+-107.966 24.364 2637
+-107.84 24.364 2688
+-107.714 24.364 2714
+-107.588 24.364 2725
+-107.462 24.364 2735
+-107.336 24.364 2795
+-107.21 24.364 2805
+-107.084 24.364 2815
+-106.958 24.364 2824
+-106.832 24.364 2833
+-106.706 24.364 2842
+-106.58 24.364 2850
+-106.454 24.364 2857
+-106.328 24.364 2883
+-106.202 24.364 2973
+-106.076 24.364 2979
+-105.95 24.364 2973
+-105.824 24.364 2978
+-105.698 24.364 3010
+-105.572 24.364 3025
+-105.446 24.364 3030
+-105.32 24.364 3034
+-105.194 24.364 3139
+-105.068 24.364 3142
+-104.942 24.364 3146
+-104.816 24.364 3090
+-104.69 24.364 3105
+-104.564 24.364 3107
+-104.438 24.364 3110
+-104.312 24.364 3101
+-104.186 24.364 3108
+-104.06 24.364 3116
+-103.934 24.364 3198
+-103.808 24.364 3181
+-103.682 24.364 3075
+-103.556 24.364 3076
+-103.43 24.364 3077
+-103.304 24.364 3100
+-103.178 24.364 3101
+-103.052 24.364 3102
+-102.926 24.364 3133
+-102.8 24.364 3134
+-102.674 24.364 3136
+-102.548 24.364 3085
+-102.422 24.364 3144
+-102.296 24.364 3146
+-102.17 24.364 3147
+-102.044 24.364 3149
+-101.918 24.364 3151
+-101.792 24.364 3148
+-101.666 24.364 3150
+-101.54 24.364 3173
+-101.414 24.364 3175
+-101.288 24.364 3177
+-101.162 24.364 3179
+-101.036 24.364 3122
+-100.91 24.364 3253
+-100.784 24.364 3248
+-100.658 24.364 3272
+-100.532 24.364 3274
+-100.406 24.364 3389
+-100.28 24.364 3391
+-100.154 24.364 3393
+-100.028 24.364 3435
+-99.902 24.364 3417
+-99.776 24.364 3421
+-99.65 24.364 3412
+-99.524 24.364 3430
+-99.398 24.364 3417
+-99.272 24.364 3443
+-99.146 24.364 3445
+-99.02 24.364 3438
+-98.894 24.364 3432
+-98.768 24.364 3434
+-98.642 24.364 3418
+-98.516 24.364 3356
+-98.39 24.364 3356
+-98.264 24.364 3326
+-98.138 24.364 3371
+-98.012 24.364 3304
+-97.886 24.364 3318
+-97.76 24.364 3264
+-97.634 24.364 3264
+-97.508 24.364 3134
+-97.382 24.364 3088
+-97.256 24.364 3032
+-97.13 24.364 3043
+-97.004 24.364 3069
+-96.878 24.364 3087
+-96.752 24.364 3138
+-96.626 24.364 3243
+-96.5 24.364 3358
+-96.374 24.364 3361
+-96.248 24.364 3384
+-96.122 24.364 3433
+-95.996 24.364 3528
+-95.87 24.364 3528
+-95.744 24.364 3527
+-95.618 24.364 3526
+-95.492 24.364 3525
+-95.366 24.364 3524
+-95.24 24.364 3522
+-95.114 24.364 3521
+-94.988 24.364 3520
+-94.862 24.364 3519
+-94.736 24.364 3518
+-94.61 24.364 3516
+-94.484 24.364 3520
+-94.358 24.364 3519
+-94.232 24.364 3518
+-94.106 24.364 3517
+-93.98 24.364 3516
+-93.854 24.364 3515
+-93.728 24.364 3514
+-93.602 24.364 3607
+-93.476 24.364 3605
+-93.35 24.364 3603
+-93.224 24.364 3600
+-93.098 24.364 3600
+-92.972 24.364 3651
+-92.846 24.364 3648
+-92.72 24.364 3644
+-92.594 24.364 3667
+-92.468 24.364 3663
+-92.342 24.364 3634
+-92.216 24.364 3630
+-92.09 24.364 3683
+-91.964 24.364 3680
+-91.838 24.364 3676
+-91.712 24.364 3672
+-91.586 24.364 3669
+-91.46 24.364 3665
+-91.334 24.364 3689
+-91.208 24.364 3685
+-91.082 24.364 3680
+-90.956 24.364 3674
+-90.83 24.364 3669
+-90.704 24.364 3663
+-90.578 24.364 3657
+-90.452 24.364 3650
+-90.326 24.364 3643
+-90.2 24.364 3611
+-90.074 24.364 3605
+-89.948 24.364 3598
+-89.822 24.364 3592
+-89.696 24.364 3596
+-89.57 24.364 3585
+-89.444 24.364 3612
+-89.318 24.364 3604
+-89.192 24.364 3595
+-89.066 24.364 3586
+-88.94 24.364 3585
+-88.814 24.364 3575
+-88.688 24.364 3569
+-88.562 24.364 3567
+-88.436 24.364 3552
+-88.31 24.364 3534
+-88.184 24.364 3507
+-88.058 24.364 3499
+-87.932 24.364 3468
+-87.806 24.364 3456
+-87.68 24.364 3418
+-87.554 24.364 3397
+-87.428 24.364 3408
+-87.302 24.364 3458
+-87.176 24.364 3523
+-87.05 24.364 3573
+-86.924 24.364 3593
+-86.798 24.364 3580
+-86.672 24.364 3525
+-86.546 24.364 3624
+-86.42 24.364 3797
+-86.294 24.364 3935
+-86.168 24.364 4066
+-86.042 24.364 4137
+-85.916 24.364 4180
+-85.79 24.364 4229
+-85.664 24.364 4303
+-85.538 24.364 4488
+-85.412 24.364 4595
+-85.286 24.364 4673
+-85.16 24.364 4726
+-85.034 24.364 4858
+-84.908 24.364 5027
+-84.782 24.364 5148
+-84.656 24.364 5213
+-84.53 24.364 5251
+-84.404 24.364 5302
+-84.278 24.364 5326
+-84.152 24.364 5391
+-84.026 24.364 5449
+-83.9 24.364 5526
+-83.774 24.364 5604
+-83.648 24.364 5690
+-83.522 24.364 5694
+-83.396 24.364 5776
+-83.27 24.364 5850
+-83.144 24.364 5906
+-83.018 24.364 5948
+-82.892 24.364 5972
+-82.766 24.364 5988
+-82.64 24.364 5984
+-82.514 24.364 5986
+-82.388 24.364 5995
+-82.262 24.364 6025
+-82.136 24.364 5989
+-82.01 24.364 5962
+-81.884 24.364 5963
+-81.758 24.364 6000
+-81.632 24.364 5947
+-81.506 24.364 5934
+-81.38 24.364 5902
+-81.254 24.364 5860
+-81.128 24.364 5837
+-81.002 24.364 5789
+-80.876 24.364 5731
+-80.75 24.364 5666
+-80.624 24.364 5564
+-80.498 24.364 5489
+-80.372 24.364 5494
+-80.246 24.364 5419
+-80.12 24.364 5356
+-79.994 24.364 5300
+-79.868 24.364 5213
+-79.742 24.364 5141
+-79.616 24.364 5082
+-79.49 24.364 4969
+-79.364 24.364 4876
+-79.238 24.364 4792
+-79.112 24.364 4764
+-78.986 24.364 4692
+-78.86 24.364 4657
+-78.734 24.364 4596
+-78.608 24.364 4565
+-78.482 24.364 4497
+-78.356 24.364 4299
+-78.23 24.364 4171
+-78.104 24.364 3969
+-77.978 24.364 3797
+-77.852 24.364 3697
+-77.726 24.364 3632
+-77.6 24.364 3518
+-77.474 24.364 3363
+-77.348 24.364 3210
+-77.222 24.364 3133
+-77.096 24.364 3147
+-76.97 24.364 3164
+-76.844 24.364 3166
+-76.718 24.364 3165
+-76.592 24.364 3163
+-76.466 24.364 3167
+-76.34 24.364 3102
+-76.214 24.364 3099
+-76.088 24.364 3104
+-75.962 24.364 3109
+-75.836 24.364 3108
+-75.71 24.364 3101
+-75.584 24.364 3058
+-75.458 24.364 3032
+-75.332 24.364 2997
+-75.206 24.364 2954
+-75.08 24.364 2876
+-74.954 24.364 2823
+-74.828 24.364 2759
+-74.702 24.364 2707
+-74.576 24.364 2660
+-74.45 24.364 2621
+-74.324 24.364 2581
+-74.198 24.364 2560
+-74.072 24.364 2553
+-73.946 24.364 2556
+-73.82 24.364 2567
+-73.694 24.364 2584
+-73.568 24.364 2606
+-73.442 24.364 2632
+-73.316 24.364 2659
+-73.19 24.364 2687
+-73.064 24.364 2694
+-72.938 24.364 2725
+-72.812 24.364 2746
+-72.686 24.364 2774
+-72.56 24.364 2801
+-72.434 24.364 2798
+-72.308 24.364 2824
+-72.182 24.364 2797
+-72.056 24.364 2819
+-71.93 24.364 2840
+-71.804 24.364 2860
+-71.678 24.364 2843
+-71.552 24.364 2840
+-71.426 24.364 2858
+-71.3 24.364 2868
+-71.174 24.364 2877
+-71.048 24.364 2892
+-70.922 24.364 2906
+-70.796 24.364 2919
+-70.67 24.364 2900
+-70.544 24.364 2911
+-70.418 24.364 2922
+-70.292 24.364 2892
+-70.166 24.364 2902
+-70.04 24.364 2874
+-69.914 24.364 2873
+-69.788 24.364 2842
+-69.662 24.364 2850
+-69.536 24.364 2813
+-69.41 24.364 2820
+-69.284 24.364 2826
+-69.158 24.364 2832
+-69.032 24.364 2837
+-68.906 24.364 2843
+-68.78 24.364 2848
+-68.654 24.364 2853
+-68.528 24.364 2858
+-68.402 24.364 2862
+-68.276 24.364 2867
+-68.15 24.364 2871
+-68.024 24.364 2875
+-67.898 24.364 2879
+-67.772 24.364 2883
+-67.646 24.364 2886
+-67.52 24.364 2890
+-67.394 24.364 2893
+-67.268 24.364 2896
+-67.142 24.364 2899
+-67.016 24.364 2877
+-66.89 24.364 2881
+-66.764 24.364 2884
+-66.638 24.364 2887
+-66.512 24.364 2890
+-66.386 24.364 2893
+-66.26 24.364 2856
+-66.134 24.364 2860
+-66.008 24.364 2851
+-65.882 24.364 2848
+-65.756 24.364 2819
+-65.63 24.364 2822
+-65.504 24.364 2825
+-65.378 24.364 2828
+-65.252 24.364 2831
+-65.126 24.364 2833
+-128 24.312 3225
+-127.874 24.312 3134
+-127.748 24.312 3134
+-127.622 24.312 3050
+-127.496 24.312 3060
+-127.37 24.312 3064
+-127.244 24.312 3060
+-127.118 24.312 3019
+-126.992 24.312 3015
+-126.866 24.312 3011
+-126.74 24.312 3035
+-126.614 24.312 3011
+-126.488 24.312 3007
+-126.362 24.312 2956
+-126.236 24.312 2951
+-126.11 24.312 3019
+-125.984 24.312 2975
+-125.858 24.312 2954
+-125.732 24.312 2855
+-125.606 24.312 2893
+-125.48 24.312 2887
+-125.354 24.312 2881
+-125.228 24.312 2874
+-125.102 24.312 2867
+-124.976 24.312 2860
+-124.85 24.312 2788
+-124.724 24.312 2795
+-124.598 24.312 2788
+-124.472 24.312 2748
+-124.346 24.312 2731
+-124.22 24.312 2711
+-124.094 24.312 2703
+-123.968 24.312 2675
+-123.842 24.312 2666
+-123.716 24.312 2636
+-123.59 24.312 2620
+-123.464 24.312 2596
+-123.338 24.312 2585
+-123.212 24.312 2567
+-123.086 24.312 2563
+-122.96 24.312 2551
+-122.834 24.312 2538
+-122.708 24.312 2524
+-122.582 24.312 2510
+-122.456 24.312 2420
+-122.33 24.312 2405
+-122.204 24.312 2389
+-122.078 24.312 2349
+-121.952 24.312 2331
+-121.826 24.312 2286
+-121.7 24.312 2267
+-121.574 24.312 2248
+-121.448 24.312 2227
+-121.322 24.312 2206
+-121.196 24.312 2184
+-121.07 24.312 2161
+-120.944 24.312 2137
+-120.818 24.312 2113
+-120.692 24.312 2087
+-120.566 24.312 2036
+-120.44 24.312 2012
+-120.314 24.312 1989
+-120.188 24.312 1967
+-120.062 24.312 1939
+-119.936 24.312 1921
+-119.81 24.312 1905
+-119.684 24.312 1881
+-119.558 24.312 1874
+-119.432 24.312 1856
+-119.306 24.312 1856
+-119.18 24.312 1852
+-119.054 24.312 1851
+-118.928 24.312 1871
+-118.802 24.312 1890
+-118.676 24.312 1912
+-118.55 24.312 1937
+-118.424 24.312 1966
+-118.298 24.312 1996
+-118.172 24.312 2050
+-118.046 24.312 2086
+-117.92 24.312 2054
+-117.794 24.312 2092
+-117.668 24.312 2125
+-117.542 24.312 2150
+-117.416 24.312 2189
+-117.29 24.312 2208
+-117.164 24.312 2228
+-117.038 24.312 2255
+-116.912 24.312 2217
+-116.786 24.312 2274
+-116.66 24.312 2295
+-116.534 24.312 2314
+-116.408 24.312 2331
+-116.282 24.312 2348
+-116.156 24.312 2362
+-116.03 24.312 2375
+-115.904 24.312 2396
+-115.778 24.312 2407
+-115.652 24.312 2417
+-115.526 24.312 2382
+-115.4 24.312 2388
+-115.274 24.312 2393
+-115.148 24.312 2396
+-115.022 24.312 2424
+-114.896 24.312 2424
+-114.77 24.312 2452
+-114.644 24.312 2428
+-114.518 24.312 2422
+-114.392 24.312 2414
+-114.266 24.312 2425
+-114.14 24.312 2394
+-114.014 24.312 2378
+-113.888 24.312 2433
+-113.762 24.312 2398
+-113.636 24.312 2356
+-113.51 24.312 2322
+-113.384 24.312 2284
+-113.258 24.312 2241
+-113.132 24.312 2193
+-113.006 24.312 2139
+-112.88 24.312 2079
+-112.754 24.312 2014
+-112.628 24.312 1942
+-112.502 24.312 1864
+-112.376 24.312 1783
+-112.25 24.312 1701
+-112.124 24.312 1623
+-111.998 24.312 1557
+-111.872 24.312 1514
+-111.746 24.312 1512
+-111.62 24.312 1543
+-111.494 24.312 1610
+-111.368 24.312 1682
+-111.242 24.312 1736
+-111.116 24.312 1756
+-110.99 24.312 1778
+-110.864 24.312 1804
+-110.738 24.312 1843
+-110.612 24.312 1895
+-110.486 24.312 1957
+-110.36 24.312 2022
+-110.234 24.312 2086
+-110.108 24.312 2146
+-109.982 24.312 2202
+-109.856 24.312 2252
+-109.73 24.312 2296
+-109.604 24.312 2369
+-109.478 24.312 2406
+-109.352 24.312 2438
+-109.226 24.312 2466
+-109.1 24.312 2491
+-108.974 24.312 2514
+-108.848 24.312 2534
+-108.722 24.312 2553
+-108.596 24.312 2569
+-108.47 24.312 2584
+-108.344 24.312 2598
+-108.218 24.312 2611
+-108.092 24.312 2624
+-107.966 24.312 2635
+-107.84 24.312 2646
+-107.714 24.312 2696
+-107.588 24.312 2723
+-107.462 24.312 2734
+-107.336 24.312 2743
+-107.21 24.312 2804
+-107.084 24.312 2813
+-106.958 24.312 2823
+-106.832 24.312 2831
+-106.706 24.312 2840
+-106.58 24.312 2848
+-106.454 24.312 2855
+-106.328 24.312 2862
+-106.202 24.312 2888
+-106.076 24.312 2980
+-105.95 24.312 2986
+-105.824 24.312 2978
+-105.698 24.312 2983
+-105.572 24.312 3016
+-105.446 24.312 3030
+-105.32 24.312 3034
+-105.194 24.312 3039
+-105.068 24.312 3144
+-104.942 24.312 3148
+-104.816 24.312 3151
+-104.69 24.312 3095
+-104.564 24.312 3110
+-104.438 24.312 3112
+-104.312 24.312 3114
+-104.186 24.312 3105
+-104.06 24.312 3112
+-103.934 24.312 3120
+-103.808 24.312 3202
+-103.682 24.312 3186
+-103.556 24.312 3079
+-103.43 24.312 3080
+-103.304 24.312 3081
+-103.178 24.312 3103
+-103.052 24.312 3104
+-102.926 24.312 3105
+-102.8 24.312 3137
+-102.674 24.312 3138
+-102.548 24.312 3139
+-102.422 24.312 3088
+-102.296 24.312 3148
+-102.17 24.312 3149
+-102.044 24.312 3151
+-101.918 24.312 3152
+-101.792 24.312 3154
+-101.666 24.312 3151
+-101.54 24.312 3153
+-101.414 24.312 3177
+-101.288 24.312 3179
+-101.162 24.312 3180
+-101.036 24.312 3182
+-100.91 24.312 3125
+-100.784 24.312 3257
+-100.658 24.312 3252
+-100.532 24.312 3275
+-100.406 24.312 3277
+-100.28 24.312 3393
+-100.154 24.312 3395
+-100.028 24.312 3397
+-99.902 24.312 3439
+-99.776 24.312 3422
+-99.65 24.312 3425
+-99.524 24.312 3415
+-99.398 24.312 3434
+-99.272 24.312 3420
+-99.146 24.312 3446
+-99.02 24.312 3449
+-98.894 24.312 3441
+-98.768 24.312 3435
+-98.642 24.312 3438
+-98.516 24.312 3376
+-98.39 24.312 3357
+-98.264 24.312 3357
+-98.138 24.312 3326
+-98.012 24.312 3304
+-97.886 24.312 3304
+-97.76 24.312 3265
+-97.634 24.312 3264
+-97.508 24.312 3134
+-97.382 24.312 3089
+-97.256 24.312 3032
+-97.13 24.312 3043
+-97.004 24.312 3069
+-96.878 24.312 3100
+-96.752 24.312 3138
+-96.626 24.312 3243
+-96.5 24.312 3358
+-96.374 24.312 3360
+-96.248 24.312 3384
+-96.122 24.312 3433
+-95.996 24.312 3528
+-95.87 24.312 3527
+-95.744 24.312 3526
+-95.618 24.312 3525
+-95.492 24.312 3524
+-95.366 24.312 3523
+-95.24 24.312 3522
+-95.114 24.312 3521
+-94.988 24.312 3520
+-94.862 24.312 3518
+-94.736 24.312 3517
+-94.61 24.312 3520
+-94.484 24.312 3519
+-94.358 24.312 3518
+-94.232 24.312 3518
+-94.106 24.312 3517
+-93.98 24.312 3516
+-93.854 24.312 3515
+-93.728 24.312 3608
+-93.602 24.312 3606
+-93.476 24.312 3604
+-93.35 24.312 3601
+-93.224 24.312 3601
+-93.098 24.312 3652
+-92.972 24.312 3649
+-92.846 24.312 3646
+-92.72 24.312 3668
+-92.594 24.312 3665
+-92.468 24.312 3635
+-92.342 24.312 3632
+-92.216 24.312 3685
+-92.09 24.312 3681
+-91.964 24.312 3678
+-91.838 24.312 3675
+-91.712 24.312 3671
+-91.586 24.312 3667
+-91.46 24.312 3692
+-91.334 24.312 3688
+-91.208 24.312 3683
+-91.082 24.312 3678
+-90.956 24.312 3673
+-90.83 24.312 3667
+-90.704 24.312 3661
+-90.578 24.312 3655
+-90.452 24.312 3649
+-90.326 24.312 3616
+-90.2 24.312 3610
+-90.074 24.312 3605
+-89.948 24.312 3599
+-89.822 24.312 3603
+-89.696 24.312 3593
+-89.57 24.312 3622
+-89.444 24.312 3615
+-89.318 24.312 3607
+-89.192 24.312 3599
+-89.066 24.312 3600
+-88.94 24.312 3591
+-88.814 24.312 3587
+-88.688 24.312 3589
+-88.562 24.312 3577
+-88.436 24.312 3564
+-88.31 24.312 3543
+-88.184 24.312 3545
+-88.058 24.312 3526
+-87.932 24.312 3533
+-87.806 24.312 3509
+-87.68 24.312 3494
+-87.554 24.312 3490
+-87.428 24.312 3501
+-87.302 24.312 3526
+-87.176 24.312 3554
+-87.05 24.312 3573
+-86.924 24.312 3599
+-86.798 24.312 3591
+-86.672 24.312 3588
+-86.546 24.312 3672
+-86.42 24.312 3803
+-86.294 24.312 3928
+-86.168 24.312 4036
+-86.042 24.312 4119
+-85.916 24.312 4110
+-85.79 24.312 4198
+-85.664 24.312 4312
+-85.538 24.312 4492
+-85.412 24.312 4555
+-85.286 24.312 4628
+-85.16 24.312 4692
+-85.034 24.312 4829
+-84.908 24.312 4966
+-84.782 24.312 5077
+-84.656 24.312 5160
+-84.53 24.312 5127
+-84.404 24.312 5216
+-84.278 24.312 5296
+-84.152 24.312 5379
+-84.026 24.312 5450
+-83.9 24.312 5514
+-83.774 24.312 5545
+-83.648 24.312 5602
+-83.522 24.312 5639
+-83.396 24.312 5694
+-83.27 24.312 5776
+-83.144 24.312 5809
+-83.018 24.312 5878
+-82.892 24.312 5915
+-82.766 24.312 5922
+-82.64 24.312 5922
+-82.514 24.312 5968
+-82.388 24.312 5934
+-82.262 24.312 5943
+-82.136 24.312 5935
+-82.01 24.312 5950
+-81.884 24.312 5916
+-81.758 24.312 5905
+-81.632 24.312 5912
+-81.506 24.312 5893
+-81.38 24.312 5865
+-81.254 24.312 5812
+-81.128 24.312 5737
+-81.002 24.312 5734
+-80.876 24.312 5714
+-80.75 24.312 5636
+-80.624 24.312 5516
+-80.498 24.312 5451
+-80.372 24.312 5442
+-80.246 24.312 5377
+-80.12 24.312 5354
+-79.994 24.312 5294
+-79.868 24.312 5207
+-79.742 24.312 5134
+-79.616 24.312 5010
+-79.49 24.312 4844
+-79.364 24.312 4876
+-79.238 24.312 4827
+-79.112 24.312 4785
+-78.986 24.312 4723
+-78.86 24.312 4657
+-78.734 24.312 4600
+-78.608 24.312 4552
+-78.482 24.312 4433
+-78.356 24.312 4261
+-78.23 24.312 4125
+-78.104 24.312 3913
+-77.978 24.312 3727
+-77.852 24.312 3644
+-77.726 24.312 3636
+-77.6 24.312 3517
+-77.474 24.312 3340
+-77.348 24.312 3154
+-77.222 24.312 3051
+-77.096 24.312 3109
+-76.97 24.312 3150
+-76.844 24.312 3141
+-76.718 24.312 3112
+-76.592 24.312 3086
+-76.466 24.312 3031
+-76.34 24.312 3037
+-76.214 24.312 3036
+-76.088 24.312 3054
+-75.962 24.312 3070
+-75.836 24.312 3081
+-75.71 24.312 3084
+-75.584 24.312 3078
+-75.458 24.312 3036
+-75.332 24.312 3012
+-75.206 24.312 2980
+-75.08 24.312 2942
+-74.954 24.312 2871
+-74.828 24.312 2829
+-74.702 24.312 2778
+-74.576 24.312 2739
+-74.45 24.312 2707
+-74.324 24.312 2681
+-74.198 24.312 2652
+-74.072 24.312 2639
+-73.946 24.312 2638
+-73.82 24.312 2643
+-73.694 24.312 2654
+-73.568 24.312 2669
+-73.442 24.312 2688
+-73.316 24.312 2709
+-73.19 24.312 2731
+-73.064 24.312 2754
+-72.938 24.312 2758
+-72.812 24.312 2783
+-72.686 24.312 2799
+-72.56 24.312 2822
+-72.434 24.312 2845
+-72.308 24.312 2840
+-72.182 24.312 2863
+-72.056 24.312 2832
+-71.93 24.312 2851
+-71.804 24.312 2869
+-71.678 24.312 2886
+-71.552 24.312 2866
+-71.426 24.312 2863
+-71.3 24.312 2878
+-71.174 24.312 2886
+-71.048 24.312 2895
+-70.922 24.312 2908
+-70.796 24.312 2920
+-70.67 24.312 2932
+-70.544 24.312 2913
+-70.418 24.312 2923
+-70.292 24.312 2933
+-70.166 24.312 2902
+-70.04 24.312 2912
+-69.914 24.312 2883
+-69.788 24.312 2881
+-69.662 24.312 2850
+-69.536 24.312 2857
+-69.41 24.312 2819
+-69.284 24.312 2826
+-69.158 24.312 2831
+-69.032 24.312 2837
+-68.906 24.312 2842
+-68.78 24.312 2848
+-68.654 24.312 2853
+-68.528 24.312 2857
+-68.402 24.312 2862
+-68.276 24.312 2866
+-68.15 24.312 2870
+-68.024 24.312 2874
+-67.898 24.312 2878
+-67.772 24.312 2882
+-67.646 24.312 2885
+-67.52 24.312 2889
+-67.394 24.312 2892
+-67.268 24.312 2895
+-67.142 24.312 2898
+-67.016 24.312 2901
+-66.89 24.312 2880
+-66.764 24.312 2883
+-66.638 24.312 2886
+-66.512 24.312 2889
+-66.386 24.312 2892
+-66.26 24.312 2895
+-66.134 24.312 2858
+-66.008 24.312 2862
+-65.882 24.312 2853
+-65.756 24.312 2850
+-65.63 24.312 2821
+-65.504 24.312 2824
+-65.378 24.312 2826
+-65.252 24.312 2829
+-65.126 24.312 2832
+-128 24.26 3135
+-127.874 24.26 3136
+-127.748 24.26 3052
+-127.622 24.26 3062
+-127.496 24.26 3066
+-127.37 24.26 3062
+-127.244 24.26 3021
+-127.118 24.26 3017
+-126.992 24.26 3013
+-126.866 24.26 3038
+-126.74 24.26 3014
+-126.614 24.26 3009
+-126.488 24.26 2959
+-126.362 24.26 2954
+-126.236 24.26 3023
+-126.11 24.26 2979
+-125.984 24.26 2958
+-125.858 24.26 2858
+-125.732 24.26 2897
+-125.606 24.26 2891
+-125.48 24.26 2885
+-125.354 24.26 2879
+-125.228 24.26 2873
+-125.102 24.26 2866
+-124.976 24.26 2793
+-124.85 24.26 2801
+-124.724 24.26 2794
+-124.598 24.26 2755
+-124.472 24.26 2738
+-124.346 24.26 2718
+-124.22 24.26 2710
+-124.094 24.26 2683
+-123.968 24.26 2674
+-123.842 24.26 2645
+-123.716 24.26 2629
+-123.59 24.26 2606
+-123.464 24.26 2596
+-123.338 24.26 2578
+-123.212 24.26 2576
+-123.086 24.26 2565
+-122.96 24.26 2553
+-122.834 24.26 2540
+-122.708 24.26 2527
+-122.582 24.26 2437
+-122.456 24.26 2423
+-122.33 24.26 2409
+-122.204 24.26 2369
+-122.078 24.26 2354
+-121.952 24.26 2310
+-121.826 24.26 2293
+-121.7 24.26 2275
+-121.574 24.26 2257
+-121.448 24.26 2238
+-121.322 24.26 2218
+-121.196 24.26 2198
+-121.07 24.26 2177
+-120.944 24.26 2155
+-120.818 24.26 2132
+-120.692 24.26 2083
+-120.566 24.26 2062
+-120.44 24.26 2041
+-120.314 24.26 2021
+-120.188 24.26 1995
+-120.062 24.26 1978
+-119.936 24.26 1962
+-119.81 24.26 1937
+-119.684 24.26 1928
+-119.558 24.26 1908
+-119.432 24.26 1905
+-119.306 24.26 1897
+-119.18 24.26 1891
+-119.054 24.26 1905
+-118.928 24.26 1919
+-118.802 24.26 1935
+-118.676 24.26 1955
+-118.55 24.26 1978
+-118.424 24.26 2003
+-118.298 24.26 2052
+-118.172 24.26 2084
+-118.046 24.26 2049
+-117.92 24.26 2083
+-117.794 24.26 2113
+-117.668 24.26 2137
+-117.542 24.26 2174
+-117.416 24.26 2192
+-117.29 24.26 2211
+-117.164 24.26 2237
+-117.038 24.26 2200
+-116.912 24.26 2257
+-116.786 24.26 2278
+-116.66 24.26 2297
+-116.534 24.26 2315
+-116.408 24.26 2332
+-116.282 24.26 2347
+-116.156 24.26 2360
+-116.03 24.26 2381
+-115.904 24.26 2393
+-115.778 24.26 2403
+-115.652 24.26 2370
+-115.526 24.26 2376
+-115.4 24.26 2382
+-115.274 24.26 2386
+-115.148 24.26 2388
+-115.022 24.26 2416
+-114.896 24.26 2445
+-114.77 24.26 2422
+-114.644 24.26 2418
+-114.518 24.26 2411
+-114.392 24.26 2423
+-114.266 24.26 2393
+-114.14 24.26 2384
+-114.014 24.26 2367
+-113.888 24.26 2335
+-113.762 24.26 2369
+-113.636 24.26 2337
+-113.51 24.26 2301
+-113.384 24.26 2261
+-113.258 24.26 2216
+-113.132 24.26 2166
+-113.006 24.26 2109
+-112.88 24.26 2046
+-112.754 24.26 1975
+-112.628 24.26 1898
+-112.502 24.26 1813
+-112.376 24.26 1723
+-112.25 24.26 1630
+-112.124 24.26 1539
+-111.998 24.26 1459
+-111.872 24.26 1402
+-111.746 24.26 1384
+-111.62 24.26 1421
+-111.494 24.26 1503
+-111.368 24.26 1604
+-111.242 24.26 1679
+-111.116 24.26 1741
+-110.99 24.26 1785
+-110.864 24.26 1824
+-110.738 24.26 1866
+-110.612 24.26 1916
+-110.486 24.26 1971
+-110.36 24.26 2030
+-110.234 24.26 2089
+-110.108 24.26 2145
+-109.982 24.26 2197
+-109.856 24.26 2245
+-109.73 24.26 2288
+-109.604 24.26 2327
+-109.478 24.26 2399
+-109.352 24.26 2431
+-109.226 24.26 2459
+-109.1 24.26 2485
+-108.974 24.26 2508
+-108.848 24.26 2529
+-108.722 24.26 2548
+-108.596 24.26 2565
+-108.47 24.26 2581
+-108.344 24.26 2595
+-108.218 24.26 2608
+-108.092 24.26 2621
+-107.966 24.26 2632
+-107.84 24.26 2643
+-107.714 24.26 2653
+-107.588 24.26 2705
+-107.462 24.26 2732
+-107.336 24.26 2741
+-107.21 24.26 2751
+-107.084 24.26 2812
+-106.958 24.26 2821
+-106.832 24.26 2829
+-106.706 24.26 2838
+-106.58 24.26 2845
+-106.454 24.26 2853
+-106.328 24.26 2860
+-106.202 24.26 2866
+-106.076 24.26 2892
+-105.95 24.26 2986
+-105.824 24.26 2991
+-105.698 24.26 2983
+-105.572 24.26 2988
+-105.446 24.26 3021
+-105.32 24.26 3034
+-105.194 24.26 3039
+-105.068 24.26 3043
+-104.942 24.26 3150
+-104.816 24.26 3153
+-104.69 24.26 3157
+-104.564 24.26 3100
+-104.438 24.26 3114
+-104.312 24.26 3116
+-104.186 24.26 3119
+-104.06 24.26 3109
+-103.934 24.26 3116
+-103.808 24.26 3124
+-103.682 24.26 3207
+-103.556 24.26 3190
+-103.43 24.26 3082
+-103.304 24.26 3083
+-103.178 24.26 3084
+-103.052 24.26 3106
+-102.926 24.26 3107
+-102.8 24.26 3108
+-102.674 24.26 3140
+-102.548 24.26 3142
+-102.422 24.26 3143
+-102.296 24.26 3091
+-102.17 24.26 3151
+-102.044 24.26 3153
+-101.918 24.26 3154
+-101.792 24.26 3156
+-101.666 24.26 3157
+-101.54 24.26 3154
+-101.414 24.26 3156
+-101.288 24.26 3180
+-101.162 24.26 3182
+-101.036 24.26 3183
+-100.91 24.26 3185
+-100.784 24.26 3127
+-100.658 24.26 3260
+-100.532 24.26 3255
+-100.406 24.26 3279
+-100.28 24.26 3281
+-100.154 24.26 3397
+-100.028 24.26 3399
+-99.902 24.26 3400
+-99.776 24.26 3443
+-99.65 24.26 3424
+-99.524 24.26 3429
+-99.398 24.26 3419
+-99.272 24.26 3437
+-99.146 24.26 3424
+-99.02 24.26 3450
+-98.894 24.26 3452
+-98.768 24.26 3444
+-98.642 24.26 3438
+-98.516 24.26 3377
+-98.39 24.26 3377
+-98.264 24.26 3358
+-98.138 24.26 3358
+-98.012 24.26 3265
+-97.886 24.26 3304
+-97.76 24.26 3259
+-97.634 24.26 3228
+-97.508 24.26 3135
+-97.382 24.26 3089
+-97.256 24.26 3032
+-97.13 24.26 3044
+-97.004 24.26 3094
+-96.878 24.26 3132
+-96.752 24.26 3138
+-96.626 24.26 3243
+-96.5 24.26 3358
+-96.374 24.26 3381
+-96.248 24.26 3384
+-96.122 24.26 3433
+-95.996 24.26 3528
+-95.87 24.26 3527
+-95.744 24.26 3526
+-95.618 24.26 3525
+-95.492 24.26 3523
+-95.366 24.26 3522
+-95.24 24.26 3521
+-95.114 24.26 3520
+-94.988 24.26 3519
+-94.862 24.26 3518
+-94.736 24.26 3520
+-94.61 24.26 3520
+-94.484 24.26 3519
+-94.358 24.26 3518
+-94.232 24.26 3517
+-94.106 24.26 3516
+-93.98 24.26 3515
+-93.854 24.26 3609
+-93.728 24.26 3607
+-93.602 24.26 3604
+-93.476 24.26 3602
+-93.35 24.26 3602
+-93.224 24.26 3653
+-93.098 24.26 3650
+-92.972 24.26 3647
+-92.846 24.26 3670
+-92.72 24.26 3666
+-92.594 24.26 3637
+-92.468 24.26 3634
+-92.342 24.26 3686
+-92.216 24.26 3683
+-92.09 24.26 3680
+-91.964 24.26 3677
+-91.838 24.26 3674
+-91.712 24.26 3670
+-91.586 24.26 3695
+-91.46 24.26 3691
+-91.334 24.26 3687
+-91.208 24.26 3682
+-91.082 24.26 3677
+-90.956 24.26 3672
+-90.83 24.26 3666
+-90.704 24.26 3660
+-90.578 24.26 3654
+-90.452 24.26 3621
+-90.326 24.26 3616
+-90.2 24.26 3610
+-90.074 24.26 3605
+-89.948 24.26 3610
+-89.822 24.26 3601
+-89.696 24.26 3630
+-89.57 24.26 3624
+-89.444 24.26 3618
+-89.318 24.26 3610
+-89.192 24.26 3612
+-89.066 24.26 3605
+-88.94 24.26 3603
+-88.814 24.26 3607
+-88.688 24.26 3598
+-88.562 24.26 3587
+-88.436 24.26 3570
+-88.31 24.26 3578
+-88.184 24.26 3565
+-88.058 24.26 3583
+-87.932 24.26 3566
+-87.806 24.26 3555
+-87.68 24.26 3550
+-87.554 24.26 3548
+-87.428 24.26 3552
+-87.302 24.26 3559
+-87.176 24.26 3565
+-87.05 24.26 3571
+-86.924 24.26 3549
+-86.798 24.26 3549
+-86.672 24.26 3601
+-86.546 24.26 3698
+-86.42 24.26 3803
+-86.294 24.26 3910
+-86.168 24.26 4008
+-86.042 24.26 4099
+-85.916 24.26 4135
+-85.79 24.26 4193
+-85.664 24.26 4318
+-85.538 24.26 4448
+-85.412 24.26 4551
+-85.286 24.26 4590
+-85.16 24.26 4665
+-85.034 24.26 4782
+-84.908 24.26 4928
+-84.782 24.26 5053
+-84.656 24.26 5124
+-84.53 24.26 5176
+-84.404 24.26 5231
+-84.278 24.26 5259
+-84.152 24.26 5325
+-84.026 24.26 5408
+-83.9 24.26 5438
+-83.774 24.26 5511
+-83.648 24.26 5584
+-83.522 24.26 5599
+-83.396 24.26 5655
+-83.27 24.26 5718
+-83.144 24.26 5752
+-83.018 24.26 5787
+-82.892 24.26 5868
+-82.766 24.26 5877
+-82.64 24.26 5874
+-82.514 24.26 5883
+-82.388 24.26 5875
+-82.262 24.26 5867
+-82.136 24.26 5873
+-82.01 24.26 5865
+-81.884 24.26 5866
+-81.758 24.26 5863
+-81.632 24.26 5832
+-81.506 24.26 5849
+-81.38 24.26 5812
+-81.254 24.26 5768
+-81.128 24.26 5711
+-81.002 24.26 5686
+-80.876 24.26 5646
+-80.75 24.26 5575
+-80.624 24.26 5484
+-80.498 24.26 5457
+-80.372 24.26 5402
+-80.246 24.26 5301
+-80.12 24.26 5322
+-79.994 24.26 5261
+-79.868 24.26 5183
+-79.742 24.26 5113
+-79.616 24.26 5026
+-79.49 24.26 4923
+-79.364 24.26 4899
+-79.238 24.26 4856
+-79.112 24.26 4803
+-78.986 24.26 4719
+-78.86 24.26 4632
+-78.734 24.26 4584
+-78.608 24.26 4525
+-78.482 24.26 4404
+-78.356 24.26 4231
+-78.23 24.26 4065
+-78.104 24.26 3910
+-77.978 24.26 3762
+-77.852 24.26 3669
+-77.726 24.26 3630
+-77.6 24.26 3497
+-77.474 24.26 3347
+-77.348 24.26 3196
+-77.222 24.26 3121
+-77.096 24.26 3131
+-76.97 24.26 3127
+-76.844 24.26 3078
+-76.718 24.26 2999
+-76.592 24.26 2939
+-76.466 24.26 2896
+-76.34 24.26 2923
+-76.214 24.26 2970
+-76.088 24.26 2996
+-75.962 24.26 3028
+-75.836 24.26 3051
+-75.71 24.26 3066
+-75.584 24.26 3070
+-75.458 24.26 3064
+-75.332 24.26 3022
+-75.206 24.26 3000
+-75.08 24.26 2972
+-74.954 24.26 2940
+-74.828 24.26 2876
+-74.702 24.26 2843
+-74.576 24.26 2803
+-74.45 24.26 2775
+-74.324 24.26 2753
+-74.198 24.26 2737
+-74.072 24.26 2715
+-73.946 24.26 2707
+-73.82 24.26 2709
+-73.694 24.26 2715
+-73.568 24.26 2725
+-73.442 24.26 2739
+-73.316 24.26 2755
+-73.19 24.26 2772
+-73.064 24.26 2791
+-72.938 24.26 2810
+-72.812 24.26 2811
+-72.686 24.26 2832
+-72.56 24.26 2844
+-72.434 24.26 2864
+-72.308 24.26 2884
+-72.182 24.26 2877
+-72.056 24.26 2897
+-71.93 24.26 2861
+-71.804 24.26 2878
+-71.678 24.26 2894
+-71.552 24.26 2910
+-71.426 24.26 2888
+-71.3 24.26 2883
+-71.174 24.26 2897
+-71.048 24.26 2904
+-70.922 24.26 2911
+-70.796 24.26 2923
+-70.67 24.26 2934
+-70.544 24.26 2945
+-70.418 24.26 2924
+-70.292 24.26 2934
+-70.166 24.26 2943
+-70.04 24.26 2912
+-69.914 24.26 2921
+-69.788 24.26 2891
+-69.662 24.26 2889
+-69.536 24.26 2857
+-69.41 24.26 2864
+-69.284 24.26 2825
+-69.158 24.26 2831
+-69.032 24.26 2837
+-68.906 24.26 2842
+-68.78 24.26 2847
+-68.654 24.26 2852
+-68.528 24.26 2857
+-68.402 24.26 2861
+-68.276 24.26 2866
+-68.15 24.26 2870
+-68.024 24.26 2874
+-67.898 24.26 2878
+-67.772 24.26 2881
+-67.646 24.26 2885
+-67.52 24.26 2888
+-67.394 24.26 2892
+-67.268 24.26 2895
+-67.142 24.26 2898
+-67.016 24.26 2901
+-66.89 24.26 2904
+-66.764 24.26 2882
+-66.638 24.26 2885
+-66.512 24.26 2888
+-66.386 24.26 2891
+-66.26 24.26 2894
+-66.134 24.26 2897
+-66.008 24.26 2860
+-65.882 24.26 2864
+-65.756 24.26 2854
+-65.63 24.26 2851
+-65.504 24.26 2822
+-65.378 24.26 2825
+-65.252 24.26 2828
+-65.126 24.26 2831
+-128 24.208 3137
+-127.874 24.208 3053
+-127.748 24.208 3063
+-127.622 24.208 3068
+-127.496 24.208 3064
+-127.37 24.208 3023
+-127.244 24.208 3019
+-127.118 24.208 3016
+-126.992 24.208 3041
+-126.866 24.208 3016
+-126.74 24.208 3012
+-126.614 24.208 2961
+-126.488 24.208 2957
+-126.362 24.208 3027
+-126.236 24.208 2983
+-126.11 24.208 2962
+-125.984 24.208 2862
+-125.858 24.208 2901
+-125.732 24.208 2896
+-125.606 24.208 2890
+-125.48 24.208 2884
+-125.354 24.208 2878
+-125.228 24.208 2871
+-125.102 24.208 2798
+-124.976 24.208 2807
+-124.85 24.208 2800
+-124.724 24.208 2761
+-124.598 24.208 2745
+-124.472 24.208 2725
+-124.346 24.208 2718
+-124.22 24.208 2691
+-124.094 24.208 2683
+-123.968 24.208 2653
+-123.842 24.208 2639
+-123.716 24.208 2615
+-123.59 24.208 2606
+-123.464 24.208 2589
+-123.338 24.208 2588
+-123.212 24.208 2577
+-123.086 24.208 2566
+-122.96 24.208 2555
+-122.834 24.208 2543
+-122.708 24.208 2452
+-122.582 24.208 2440
+-122.456 24.208 2427
+-122.33 24.208 2388
+-122.204 24.208 2374
+-122.078 24.208 2331
+-121.952 24.208 2316
+-121.826 24.208 2300
+-121.7 24.208 2284
+-121.574 24.208 2267
+-121.448 24.208 2249
+-121.322 24.208 2231
+-121.196 24.208 2212
+-121.07 24.208 2193
+-120.944 24.208 2172
+-120.818 24.208 2125
+-120.692 24.208 2106
+-120.566 24.208 2087
+-120.44 24.208 2069
+-120.314 24.208 2045
+-120.188 24.208 2029
+-120.062 24.208 2014
+-119.936 24.208 1987
+-119.81 24.208 1977
+-119.684 24.208 1956
+-119.558 24.208 1951
+-119.432 24.208 1940
+-119.306 24.208 1930
+-119.18 24.208 1941
+-119.054 24.208 1950
+-118.928 24.208 1962
+-118.802 24.208 1977
+-118.676 24.208 1995
+-118.55 24.208 2015
+-118.424 24.208 2061
+-118.298 24.208 2088
+-118.172 24.208 2048
+-118.046 24.208 2079
+-117.92 24.208 2106
+-117.794 24.208 2127
+-117.668 24.208 2163
+-117.542 24.208 2179
+-117.416 24.208 2197
+-117.29 24.208 2223
+-117.164 24.208 2185
+-117.038 24.208 2241
+-116.912 24.208 2262
+-116.786 24.208 2282
+-116.66 24.208 2300
+-116.534 24.208 2317
+-116.408 24.208 2332
+-116.282 24.208 2346
+-116.156 24.208 2367
+-116.03 24.208 2379
+-115.904 24.208 2390
+-115.778 24.208 2358
+-115.652 24.208 2365
+-115.526 24.208 2371
+-115.4 24.208 2376
+-115.274 24.208 2379
+-115.148 24.208 2380
+-115.022 24.208 2438
+-114.896 24.208 2417
+-114.77 24.208 2413
+-114.644 24.208 2408
+-114.518 24.208 2422
+-114.392 24.208 2393
+-114.266 24.208 2386
+-114.14 24.208 2372
+-114.014 24.208 2354
+-113.888 24.208 2305
+-113.762 24.208 2354
+-113.636 24.208 2321
+-113.51 24.208 2284
+-113.384 24.208 2242
+-113.258 24.208 2196
+-113.132 24.208 2143
+-113.006 24.208 2085
+-112.88 24.208 2019
+-112.754 24.208 1946
+-112.628 24.208 1864
+-112.502 24.208 1775
+-112.376 24.208 1679
+-112.25 24.208 1579
+-112.124 24.208 1480
+-111.998 24.208 1390
+-111.872 24.208 1324
+-111.746 24.208 1300
+-111.62 24.208 1330
+-111.494 24.208 1420
+-111.368 24.208 1524
+-111.242 24.208 1632
+-111.116 24.208 1717
+-110.99 24.208 1781
+-110.864 24.208 1833
+-110.738 24.208 1882
+-110.612 24.208 1932
+-110.486 24.208 1985
+-110.36 24.208 2040
+-110.234 24.208 2094
+-110.108 24.208 2146
+-109.982 24.208 2196
+-109.856 24.208 2242
+-109.73 24.208 2283
+-109.604 24.208 2321
+-109.478 24.208 2355
+-109.352 24.208 2425
+-109.226 24.208 2454
+-109.1 24.208 2480
+-108.974 24.208 2503
+-108.848 24.208 2524
+-108.722 24.208 2544
+-108.596 24.208 2561
+-108.47 24.208 2577
+-108.344 24.208 2592
+-108.218 24.208 2605
+-108.092 24.208 2618
+-107.966 24.208 2630
+-107.84 24.208 2641
+-107.714 24.208 2651
+-107.588 24.208 2661
+-107.462 24.208 2712
+-107.336 24.208 2740
+-107.21 24.208 2749
+-107.084 24.208 2757
+-106.958 24.208 2819
+-106.832 24.208 2827
+-106.706 24.208 2836
+-106.58 24.208 2843
+-106.454 24.208 2851
+-106.328 24.208 2858
+-106.202 24.208 2864
+-106.076 24.208 2871
+-105.95 24.208 2896
+-105.824 24.208 2992
+-105.698 24.208 2997
+-105.572 24.208 2988
+-105.446 24.208 2993
+-105.32 24.208 3026
+-105.194 24.208 3039
+-105.068 24.208 3043
+-104.942 24.208 3047
+-104.816 24.208 3155
+-104.69 24.208 3159
+-104.564 24.208 3162
+-104.438 24.208 3104
+-104.312 24.208 3118
+-104.186 24.208 3121
+-104.06 24.208 3123
+-103.934 24.208 3113
+-103.808 24.208 3120
+-103.682 24.208 3128
+-103.556 24.208 3211
+-103.43 24.208 3194
+-103.304 24.208 3085
+-103.178 24.208 3086
+-103.052 24.208 3087
+-102.926 24.208 3109
+-102.8 24.208 3110
+-102.674 24.208 3112
+-102.548 24.208 3144
+-102.422 24.208 3145
+-102.296 24.208 3146
+-102.17 24.208 3094
+-102.044 24.208 3154
+-101.918 24.208 3156
+-101.792 24.208 3157
+-101.666 24.208 3159
+-101.54 24.208 3160
+-101.414 24.208 3157
+-101.288 24.208 3159
+-101.162 24.208 3183
+-101.036 24.208 3185
+-100.91 24.208 3186
+-100.784 24.208 3188
+-100.658 24.208 3130
+-100.532 24.208 3263
+-100.406 24.208 3258
+-100.28 24.208 3282
+-100.154 24.208 3284
+-100.028 24.208 3401
+-99.902 24.208 3402
+-99.776 24.208 3404
+-99.65 24.208 3446
+-99.524 24.208 3429
+-99.398 24.208 3432
+-99.272 24.208 3422
+-99.146 24.208 3441
+-99.02 24.208 3427
+-98.894 24.208 3453
+-98.768 24.208 3455
+-98.642 24.208 3447
+-98.516 24.208 3333
+-98.39 24.208 3378
+-98.264 24.208 3378
+-98.138 24.208 3358
+-98.012 24.208 3296
+-97.886 24.208 3225
+-97.76 24.208 3260
+-97.634 24.208 3089
+-97.508 24.208 3074
+-97.382 24.208 3036
+-97.256 24.208 3038
+-97.13 24.208 3055
+-97.004 24.208 3126
+-96.878 24.208 3132
+-96.752 24.208 3138
+-96.626 24.208 3259
+-96.5 24.208 3270
+-96.374 24.208 3381
+-96.248 24.208 3383
+-96.122 24.208 3433
+-95.996 24.208 3527
+-95.87 24.208 3526
+-95.744 24.208 3525
+-95.618 24.208 3524
+-95.492 24.208 3523
+-95.366 24.208 3522
+-95.24 24.208 3521
+-95.114 24.208 3520
+-94.988 24.208 3518
+-94.862 24.208 3521
+-94.736 24.208 3520
+-94.61 24.208 3519
+-94.484 24.208 3519
+-94.358 24.208 3518
+-94.232 24.208 3517
+-94.106 24.208 3516
+-93.98 24.208 3610
+-93.854 24.208 3608
+-93.728 24.208 3605
+-93.602 24.208 3603
+-93.476 24.208 3603
+-93.35 24.208 3654
+-93.224 24.208 3652
+-93.098 24.208 3649
+-92.972 24.208 3672
+-92.846 24.208 3668
+-92.72 24.208 3638
+-92.594 24.208 3635
+-92.468 24.208 3688
+-92.342 24.208 3685
+-92.216 24.208 3682
+-92.09 24.208 3679
+-91.964 24.208 3676
+-91.838 24.208 3672
+-91.712 24.208 3698
+-91.586 24.208 3694
+-91.46 24.208 3690
+-91.334 24.208 3685
+-91.208 24.208 3681
+-91.082 24.208 3676
+-90.956 24.208 3671
+-90.83 24.208 3665
+-90.704 24.208 3660
+-90.578 24.208 3625
+-90.452 24.208 3621
+-90.326 24.208 3616
+-90.2 24.208 3611
+-90.074 24.208 3616
+-89.948 24.208 3608
+-89.822 24.208 3638
+-89.696 24.208 3633
+-89.57 24.208 3627
+-89.444 24.208 3621
+-89.318 24.208 3623
+-89.192 24.208 3617
+-89.066 24.208 3616
+-88.94 24.208 3622
+-88.814 24.208 3615
+-88.688 24.208 3606
+-88.562 24.208 3591
+-88.436 24.208 3604
+-88.31 24.208 3594
+-88.184 24.208 3619
+-88.058 24.208 3606
+-87.932 24.208 3598
+-87.806 24.208 3594
+-87.68 24.208 3589
+-87.554 24.208 3585
+-87.428 24.208 3581
+-87.302 24.208 3580
+-87.176 24.208 3577
+-87.05 24.208 3522
+-86.924 24.208 3433
+-86.798 24.208 3381
+-86.672 24.208 3492
+-86.546 24.208 3658
+-86.42 24.208 3773
+-86.294 24.208 3869
+-86.168 24.208 3958
+-86.042 24.208 4049
+-85.916 24.208 4103
+-85.79 24.208 4177
+-85.664 24.208 4284
+-85.538 24.208 4411
+-85.412 24.208 4487
+-85.286 24.208 4557
+-85.16 24.208 4632
+-85.034 24.208 4731
+-84.908 24.208 4872
+-84.782 24.208 4985
+-84.656 24.208 5082
+-84.53 24.208 5132
+-84.404 24.208 5168
+-84.278 24.208 5168
+-84.152 24.208 5243
+-84.026 24.208 5343
+-83.9 24.208 5396
+-83.774 24.208 5491
+-83.648 24.208 5543
+-83.522 24.208 5583
+-83.396 24.208 5638
+-83.27 24.208 5670
+-83.144 24.208 5727
+-83.018 24.208 5762
+-82.892 24.208 5814
+-82.766 24.208 5838
+-82.64 24.208 5842
+-82.514 24.208 5829
+-82.388 24.208 5853
+-82.262 24.208 5863
+-82.136 24.208 5821
+-82.01 24.208 5814
+-81.884 24.208 5808
+-81.758 24.208 5823
+-81.632 24.208 5809
+-81.506 24.208 5793
+-81.38 24.208 5757
+-81.254 24.208 5722
+-81.128 24.208 5683
+-81.002 24.208 5620
+-80.876 24.208 5584
+-80.75 24.208 5526
+-80.624 24.208 5455
+-80.498 24.208 5386
+-80.372 24.208 5383
+-80.246 24.208 5328
+-80.12 24.208 5288
+-79.994 24.208 5188
+-79.868 24.208 5094
+-79.742 24.208 5067
+-79.616 24.208 5013
+-79.49 24.208 4957
+-79.364 24.208 4922
+-79.238 24.208 4855
+-79.112 24.208 4799
+-78.986 24.208 4662
+-78.86 24.208 4549
+-78.734 24.208 4482
+-78.608 24.208 4424
+-78.482 24.208 4314
+-78.356 24.208 4210
+-78.23 24.208 4061
+-78.104 24.208 3934
+-77.978 24.208 3772
+-77.852 24.208 3688
+-77.726 24.208 3603
+-77.6 24.208 3489
+-77.474 24.208 3337
+-77.348 24.208 3241
+-77.222 24.208 3180
+-77.096 24.208 3147
+-76.97 24.208 3085
+-76.844 24.208 2961
+-76.718 24.208 2799
+-76.592 24.208 2695
+-76.466 24.208 2692
+-76.34 24.208 2777
+-76.214 24.208 2873
+-76.088 24.208 2952
+-75.962 24.208 2990
+-75.836 24.208 3024
+-75.71 24.208 3047
+-75.584 24.208 3061
+-75.458 24.208 3063
+-75.332 24.208 3057
+-75.206 24.208 3015
+-75.08 24.208 2995
+-74.954 24.208 2971
+-74.828 24.208 2945
+-74.702 24.208 2888
+-74.576 24.208 2863
+-74.45 24.208 2831
+-74.324 24.208 2812
+-74.198 24.208 2797
+-74.072 24.208 2787
+-73.946 24.208 2769
+-73.82 24.208 2765
+-73.694 24.208 2768
+-73.568 24.208 2775
+-73.442 24.208 2784
+-73.316 24.208 2796
+-73.19 24.208 2810
+-73.064 24.208 2825
+-72.938 24.208 2840
+-72.812 24.208 2857
+-72.686 24.208 2856
+-72.56 24.208 2874
+-72.434 24.208 2883
+-72.308 24.208 2900
+-72.182 24.208 2917
+-72.056 24.208 2909
+-71.93 24.208 2927
+-71.804 24.208 2888
+-71.678 24.208 2903
+-71.552 24.208 2917
+-71.426 24.208 2931
+-71.3 24.208 2907
+-71.174 24.208 2901
+-71.048 24.208 2914
+-70.922 24.208 2920
+-70.796 24.208 2925
+-70.67 24.208 2937
+-70.544 24.208 2947
+-70.418 24.208 2957
+-70.292 24.208 2935
+-70.166 24.208 2944
+-70.04 24.208 2953
+-69.914 24.208 2921
+-69.788 24.208 2930
+-69.662 24.208 2899
+-69.536 24.208 2897
+-69.41 24.208 2864
+-69.284 24.208 2871
+-69.158 24.208 2831
+-69.032 24.208 2837
+-68.906 24.208 2842
+-68.78 24.208 2847
+-68.654 24.208 2852
+-68.528 24.208 2857
+-68.402 24.208 2861
+-68.276 24.208 2865
+-68.15 24.208 2869
+-68.024 24.208 2873
+-67.898 24.208 2877
+-67.772 24.208 2881
+-67.646 24.208 2884
+-67.52 24.208 2888
+-67.394 24.208 2891
+-67.268 24.208 2894
+-67.142 24.208 2897
+-67.016 24.208 2900
+-66.89 24.208 2903
+-66.764 24.208 2906
+-66.638 24.208 2884
+-66.512 24.208 2887
+-66.386 24.208 2890
+-66.26 24.208 2893
+-66.134 24.208 2896
+-66.008 24.208 2899
+-65.882 24.208 2863
+-65.756 24.208 2866
+-65.63 24.208 2856
+-65.504 24.208 2853
+-65.378 24.208 2824
+-65.252 24.208 2827
+-65.126 24.208 2829
+-128 24.156 3055
+-127.874 24.156 3065
+-127.748 24.156 3070
+-127.622 24.156 3067
+-127.496 24.156 3025
+-127.37 24.156 3022
+-127.244 24.156 3018
+-127.118 24.156 3043
+-126.992 24.156 3019
+-126.866 24.156 3015
+-126.74 24.156 2964
+-126.614 24.156 2960
+-126.488 24.156 3031
+-126.362 24.156 2986
+-126.236 24.156 2965
+-126.11 24.156 2865
+-125.984 24.156 2905
+-125.858 24.156 2900
+-125.732 24.156 2894
+-125.606 24.156 2889
+-125.48 24.156 2883
+-125.354 24.156 2876
+-125.228 24.156 2803
+-125.102 24.156 2813
+-124.976 24.156 2806
+-124.85 24.156 2767
+-124.724 24.156 2751
+-124.598 24.156 2732
+-124.472 24.156 2725
+-124.346 24.156 2698
+-124.22 24.156 2691
+-124.094 24.156 2662
+-123.968 24.156 2647
+-123.842 24.156 2625
+-123.716 24.156 2616
+-123.59 24.156 2599
+-123.464 24.156 2599
+-123.338 24.156 2589
+-123.212 24.156 2579
+-123.086 24.156 2569
+-122.96 24.156 2557
+-122.834 24.156 2467
+-122.708 24.156 2455
+-122.582 24.156 2443
+-122.456 24.156 2405
+-122.33 24.156 2392
+-122.204 24.156 2351
+-122.078 24.156 2337
+-121.952 24.156 2323
+-121.826 24.156 2308
+-121.7 24.156 2293
+-121.574 24.156 2277
+-121.448 24.156 2260
+-121.322 24.156 2243
+-121.196 24.156 2226
+-121.07 24.156 2207
+-120.944 24.156 2162
+-120.818 24.156 2145
+-120.692 24.156 2127
+-120.566 24.156 2111
+-120.44 24.156 2089
+-120.314 24.156 2074
+-120.188 24.156 2060
+-120.062 24.156 2032
+-119.936 24.156 2023
+-119.81 24.156 2001
+-119.684 24.156 1994
+-119.558 24.156 1982
+-119.432 24.156 1969
+-119.306 24.156 1977
+-119.18 24.156 1982
+-119.054 24.156 1990
+-118.928 24.156 2001
+-118.802 24.156 2014
+-118.676 24.156 2031
+-118.55 24.156 2073
+-118.424 24.156 2096
+-118.298 24.156 2051
+-118.172 24.156 2079
+-118.046 24.156 2104
+-117.92 24.156 2122
+-117.794 24.156 2156
+-117.668 24.156 2169
+-117.542 24.156 2186
+-117.416 24.156 2210
+-117.29 24.156 2173
+-117.164 24.156 2228
+-117.038 24.156 2249
+-116.912 24.156 2268
+-116.786 24.156 2286
+-116.66 24.156 2303
+-116.534 24.156 2319
+-116.408 24.156 2333
+-116.282 24.156 2353
+-116.156 24.156 2366
+-116.03 24.156 2378
+-115.904 24.156 2346
+-115.778 24.156 2354
+-115.652 24.156 2361
+-115.526 24.156 2366
+-115.4 24.156 2370
+-115.274 24.156 2373
+-115.148 24.156 2432
+-115.022 24.156 2411
+-114.896 24.156 2409
+-114.77 24.156 2405
+-114.644 24.156 2420
+-114.518 24.156 2393
+-114.392 24.156 2389
+-114.266 24.156 2376
+-114.14 24.156 2361
+-114.014 24.156 2313
+-113.888 24.156 2293
+-113.762 24.156 2268
+-113.636 24.156 2307
+-113.51 24.156 2270
+-113.384 24.156 2227
+-113.258 24.156 2180
+-113.132 24.156 2127
+-113.006 24.156 2067
+-112.88 24.156 2000
+-112.754 24.156 1926
+-112.628 24.156 1844
+-112.502 24.156 1754
+-112.376 24.156 1656
+-112.25 24.156 1555
+-112.124 24.156 1454
+-111.998 24.156 1363
+-111.872 24.156 1296
+-111.746 24.156 1271
+-111.62 24.156 1299
+-111.494 24.156 1379
+-111.368 24.156 1489
+-111.242 24.156 1602
+-111.116 24.156 1698
+-110.99 24.156 1775
+-110.864 24.156 1838
+-110.738 24.156 1893
+-110.612 24.156 1945
+-110.486 24.156 1998
+-110.36 24.156 2050
+-110.234 24.156 2101
+-110.108 24.156 2150
+-109.982 24.156 2197
+-109.856 24.156 2241
+-109.73 24.156 2281
+-109.604 24.156 2318
+-109.478 24.156 2351
+-109.352 24.156 2381
+-109.226 24.156 2450
+-109.1 24.156 2476
+-108.974 24.156 2499
+-108.848 24.156 2520
+-108.722 24.156 2540
+-108.596 24.156 2557
+-108.47 24.156 2574
+-108.344 24.156 2589
+-108.218 24.156 2602
+-108.092 24.156 2615
+-107.966 24.156 2627
+-107.84 24.156 2638
+-107.714 24.156 2649
+-107.588 24.156 2659
+-107.462 24.156 2668
+-107.336 24.156 2720
+-107.21 24.156 2747
+-107.084 24.156 2755
+-106.958 24.156 2764
+-106.832 24.156 2826
+-106.706 24.156 2834
+-106.58 24.156 2842
+-106.454 24.156 2849
+-106.328 24.156 2856
+-106.202 24.156 2863
+-106.076 24.156 2869
+-105.95 24.156 2875
+-105.824 24.156 2900
+-105.698 24.156 2997
+-105.572 24.156 3002
+-105.446 24.156 2993
+-105.32 24.156 2997
+-105.194 24.156 3030
+-105.068 24.156 3043
+-104.942 24.156 3047
+-104.816 24.156 3051
+-104.69 24.156 3161
+-104.564 24.156 3164
+-104.438 24.156 3166
+-104.312 24.156 3108
+-104.186 24.156 3123
+-104.06 24.156 3125
+-103.934 24.156 3127
+-103.808 24.156 3117
+-103.682 24.156 3123
+-103.556 24.156 3131
+-103.43 24.156 3215
+-103.304 24.156 3197
+-103.178 24.156 3088
+-103.052 24.156 3088
+-102.926 24.156 3089
+-102.8 24.156 3112
+-102.674 24.156 3113
+-102.548 24.156 3114
+-102.422 24.156 3147
+-102.296 24.156 3148
+-102.17 24.156 3149
+-102.044 24.156 3097
+-101.918 24.156 3158
+-101.792 24.156 3159
+-101.666 24.156 3160
+-101.54 24.156 3162
+-101.414 24.156 3163
+-101.288 24.156 3160
+-101.162 24.156 3161
+-101.036 24.156 3186
+-100.91 24.156 3187
+-100.784 24.156 3189
+-100.658 24.156 3191
+-100.532 24.156 3132
+-100.406 24.156 3267
+-100.28 24.156 3261
+-100.154 24.156 3285
+-100.028 24.156 3287
+-99.902 24.156 3404
+-99.776 24.156 3406
+-99.65 24.156 3407
+-99.524 24.156 3450
+-99.398 24.156 3431
+-99.272 24.156 3435
+-99.146 24.156 3425
+-99.02 24.156 3444
+-98.894 24.156 3430
+-98.768 24.156 3456
+-98.642 24.156 3459
+-98.516 24.156 3345
+-98.39 24.156 3334
+-98.264 24.156 3379
+-98.138 24.156 3379
+-98.012 24.156 3296
+-97.886 24.156 3251
+-97.76 24.156 3291
+-97.634 24.156 3102
+-97.508 24.156 3094
+-97.382 24.156 3055
+-97.256 24.156 3055
+-97.13 24.156 3056
+-97.004 24.156 3126
+-96.878 24.156 3132
+-96.752 24.156 3138
+-96.626 24.156 3259
+-96.5 24.156 3270
+-96.374 24.156 3381
+-96.248 24.156 3383
+-96.122 24.156 3444
+-95.996 24.156 3527
+-95.87 24.156 3526
+-95.744 24.156 3525
+-95.618 24.156 3524
+-95.492 24.156 3522
+-95.366 24.156 3521
+-95.24 24.156 3520
+-95.114 24.156 3519
+-94.988 24.156 3521
+-94.862 24.156 3521
+-94.736 24.156 3520
+-94.61 24.156 3519
+-94.484 24.156 3518
+-94.358 24.156 3517
+-94.232 24.156 3517
+-94.106 24.156 3611
+-93.98 24.156 3609
+-93.854 24.156 3606
+-93.728 24.156 3604
+-93.602 24.156 3604
+-93.476 24.156 3656
+-93.35 24.156 3653
+-93.224 24.156 3650
+-93.098 24.156 3674
+-92.972 24.156 3670
+-92.846 24.156 3640
+-92.72 24.156 3637
+-92.594 24.156 3690
+-92.468 24.156 3687
+-92.342 24.156 3684
+-92.216 24.156 3681
+-92.09 24.156 3678
+-91.964 24.156 3675
+-91.838 24.156 3701
+-91.712 24.156 3697
+-91.586 24.156 3693
+-91.46 24.156 3689
+-91.334 24.156 3684
+-91.208 24.156 3680
+-91.082 24.156 3675
+-90.956 24.156 3670
+-90.83 24.156 3665
+-90.704 24.156 3630
+-90.578 24.156 3626
+-90.452 24.156 3621
+-90.326 24.156 3616
+-90.2 24.156 3622
+-90.074 24.156 3614
+-89.948 24.156 3646
+-89.822 24.156 3641
+-89.696 24.156 3635
+-89.57 24.156 3630
+-89.444 24.156 3633
+-89.318 24.156 3628
+-89.192 24.156 3628
+-89.066 24.156 3636
+-88.94 24.156 3629
+-88.814 24.156 3622
+-88.688 24.156 3609
+-88.562 24.156 3624
+-88.436 24.156 3617
+-88.31 24.156 3646
+-88.184 24.156 3636
+-88.058 24.156 3630
+-87.932 24.156 3628
+-87.806 24.156 3623
+-87.68 24.156 3617
+-87.554 24.156 3610
+-87.428 24.156 3609
+-87.302 24.156 3615
+-87.176 24.156 3572
+-87.05 24.156 3491
+-86.924 24.156 3355
+-86.798 24.156 3238
+-86.672 24.156 3404
+-86.546 24.156 3613
+-86.42 24.156 3715
+-86.294 24.156 3802
+-86.168 24.156 3895
+-86.042 24.156 3987
+-85.916 24.156 4039
+-85.79 24.156 4117
+-85.664 24.156 4225
+-85.538 24.156 4362
+-85.412 24.156 4449
+-85.286 24.156 4501
+-85.16 24.156 4570
+-85.034 24.156 4652
+-84.908 24.156 4796
+-84.782 24.156 4920
+-84.656 24.156 5013
+-84.53 24.156 5085
+-84.404 24.156 5035
+-84.278 24.156 5189
+-84.152 24.156 5208
+-84.026 24.156 5302
+-83.9 24.156 5373
+-83.774 24.156 5459
+-83.648 24.156 5517
+-83.522 24.156 5565
+-83.396 24.156 5600
+-83.27 24.156 5635
+-83.144 24.156 5662
+-83.018 24.156 5709
+-82.892 24.156 5752
+-82.766 24.156 5775
+-82.64 24.156 5775
+-82.514 24.156 5790
+-82.388 24.156 5805
+-82.262 24.156 5792
+-82.136 24.156 5802
+-82.01 24.156 5776
+-81.884 24.156 5731
+-81.758 24.156 5772
+-81.632 24.156 5700
+-81.506 24.156 5744
+-81.38 24.156 5695
+-81.254 24.156 5638
+-81.128 24.156 5617
+-81.002 24.156 5592
+-80.876 24.156 5549
+-80.75 24.156 5492
+-80.624 24.156 5437
+-80.498 24.156 5384
+-80.372 24.156 5355
+-80.246 24.156 5310
+-80.12 24.156 5252
+-79.994 24.156 5114
+-79.868 24.156 4984
+-79.742 24.156 5005
+-79.616 24.156 4924
+-79.49 24.156 4932
+-79.364 24.156 4907
+-79.238 24.156 4857
+-79.112 24.156 4768
+-78.986 24.156 4608
+-78.86 24.156 4411
+-78.734 24.156 4292
+-78.608 24.156 4304
+-78.482 24.156 4274
+-78.356 24.156 4196
+-78.23 24.156 4108
+-78.104 24.156 3950
+-77.978 24.156 3785
+-77.852 24.156 3676
+-77.726 24.156 3562
+-77.6 24.156 3422
+-77.474 24.156 3289
+-77.348 24.156 3188
+-77.222 24.156 3158
+-77.096 24.156 3119
+-76.97 24.156 3024
+-76.844 24.156 2817
+-76.718 24.156 2541
+-76.592 24.156 2396
+-76.466 24.156 2469
+-76.34 24.156 2637
+-76.214 24.156 2789
+-76.088 24.156 2897
+-75.962 24.156 2976
+-75.836 24.156 3014
+-75.71 24.156 3035
+-75.584 24.156 3053
+-75.458 24.156 3063
+-75.332 24.156 3063
+-75.206 24.156 3057
+-75.08 24.156 3014
+-74.954 24.156 2996
+-74.828 24.156 2976
+-74.702 24.156 2955
+-74.576 24.156 2904
+-74.45 24.156 2885
+-74.324 24.156 2860
+-74.198 24.156 2847
+-74.072 24.156 2838
+-73.946 24.156 2832
+-73.82 24.156 2817
+-73.694 24.156 2814
+-73.568 24.156 2818
+-73.442 24.156 2825
+-73.316 24.156 2834
+-73.19 24.156 2844
+-73.064 24.156 2856
+-72.938 24.156 2869
+-72.812 24.156 2882
+-72.686 24.156 2896
+-72.56 24.156 2895
+-72.434 24.156 2911
+-72.308 24.156 2916
+-72.182 24.156 2932
+-72.056 24.156 2946
+-71.93 24.156 2938
+-71.804 24.156 2953
+-71.678 24.156 2912
+-71.552 24.156 2925
+-71.426 24.156 2938
+-71.3 24.156 2950
+-71.174 24.156 2924
+-71.048 24.156 2918
+-70.922 24.156 2930
+-70.796 24.156 2935
+-70.67 24.156 2939
+-70.544 24.156 2949
+-70.418 24.156 2959
+-70.292 24.156 2968
+-70.166 24.156 2946
+-70.04 24.156 2954
+-69.914 24.156 2962
+-69.788 24.156 2930
+-69.662 24.156 2938
+-69.536 24.156 2906
+-69.41 24.156 2904
+-69.284 24.156 2871
+-69.158 24.156 2877
+-69.032 24.156 2837
+-68.906 24.156 2842
+-68.78 24.156 2847
+-68.654 24.156 2852
+-68.528 24.156 2856
+-68.402 24.156 2861
+-68.276 24.156 2865
+-68.15 24.156 2869
+-68.024 24.156 2873
+-67.898 24.156 2877
+-67.772 24.156 2880
+-67.646 24.156 2884
+-67.52 24.156 2887
+-67.394 24.156 2891
+-67.268 24.156 2894
+-67.142 24.156 2897
+-67.016 24.156 2900
+-66.89 24.156 2902
+-66.764 24.156 2905
+-66.638 24.156 2908
+-66.512 24.156 2886
+-66.386 24.156 2889
+-66.26 24.156 2892
+-66.134 24.156 2895
+-66.008 24.156 2898
+-65.882 24.156 2900
+-65.756 24.156 2865
+-65.63 24.156 2868
+-65.504 24.156 2858
+-65.378 24.156 2855
+-65.252 24.156 2825
+-65.126 24.156 2828
+-128 24.104 3067
+-127.874 24.104 3072
+-127.748 24.104 3069
+-127.622 24.104 3027
+-127.496 24.104 3024
+-127.37 24.104 3020
+-127.244 24.104 3046
+-127.118 24.104 3021
+-126.992 24.104 3017
+-126.866 24.104 2967
+-126.74 24.104 2962
+-126.614 24.104 3034
+-126.488 24.104 2990
+-126.362 24.104 2969
+-126.236 24.104 2868
+-126.11 24.104 2909
+-125.984 24.104 2904
+-125.858 24.104 2899
+-125.732 24.104 2893
+-125.606 24.104 2887
+-125.48 24.104 2882
+-125.354 24.104 2808
+-125.228 24.104 2818
+-125.102 24.104 2812
+-124.976 24.104 2773
+-124.85 24.104 2757
+-124.724 24.104 2738
+-124.598 24.104 2731
+-124.472 24.104 2706
+-124.346 24.104 2698
+-124.22 24.104 2669
+-124.094 24.104 2655
+-123.968 24.104 2633
+-123.842 24.104 2625
+-123.716 24.104 2609
+-123.59 24.104 2610
+-123.464 24.104 2601
+-123.338 24.104 2591
+-123.212 24.104 2581
+-123.086 24.104 2571
+-122.96 24.104 2480
+-122.834 24.104 2469
+-122.708 24.104 2458
+-122.582 24.104 2420
+-122.456 24.104 2409
+-122.33 24.104 2368
+-122.204 24.104 2356
+-122.078 24.104 2343
+-121.952 24.104 2330
+-121.826 24.104 2316
+-121.7 24.104 2301
+-121.574 24.104 2287
+-121.448 24.104 2271
+-121.322 24.104 2256
+-121.196 24.104 2238
+-121.07 24.104 2194
+-120.944 24.104 2179
+-120.818 24.104 2164
+-120.692 24.104 2148
+-120.566 24.104 2129
+-120.44 24.104 2115
+-120.314 24.104 2102
+-120.188 24.104 2073
+-120.062 24.104 2064
+-119.936 24.104 2041
+-119.81 24.104 2034
+-119.684 24.104 2021
+-119.558 24.104 2005
+-119.432 24.104 2011
+-119.306 24.104 2014
+-119.18 24.104 2019
+-119.054 24.104 2026
+-118.928 24.104 2036
+-118.802 24.104 2049
+-118.676 24.104 2089
+-118.55 24.104 2108
+-118.424 24.104 2058
+-118.298 24.104 2084
+-118.172 24.104 2105
+-118.046 24.104 2120
+-117.92 24.104 2152
+-117.794 24.104 2163
+-117.668 24.104 2178
+-117.542 24.104 2201
+-117.416 24.104 2162
+-117.29 24.104 2217
+-117.164 24.104 2237
+-117.038 24.104 2256
+-116.912 24.104 2273
+-116.786 24.104 2290
+-116.66 24.104 2306
+-116.534 24.104 2320
+-116.408 24.104 2341
+-116.282 24.104 2354
+-116.156 24.104 2366
+-116.03 24.104 2335
+-115.904 24.104 2343
+-115.778 24.104 2351
+-115.652 24.104 2357
+-115.526 24.104 2362
+-115.4 24.104 2365
+-115.274 24.104 2425
+-115.148 24.104 2406
+-115.022 24.104 2405
+-114.896 24.104 2402
+-114.77 24.104 2419
+-114.644 24.104 2393
+-114.518 24.104 2390
+-114.392 24.104 2380
+-114.266 24.104 2367
+-114.14 24.104 2321
+-114.014 24.104 2303
+-113.888 24.104 2282
+-113.762 24.104 2257
+-113.636 24.104 2229
+-113.51 24.104 2259
+-113.384 24.104 2216
+-113.258 24.104 2169
+-113.132 24.104 2116
+-113.006 24.104 2056
+-112.88 24.104 1990
+-112.754 24.104 1917
+-112.628 24.104 1836
+-112.502 24.104 1748
+-112.376 24.104 1654
+-112.25 24.104 1557
+-112.124 24.104 1462
+-111.998 24.104 1378
+-111.872 24.104 1318
+-111.746 24.104 1296
+-111.62 24.104 1321
+-111.494 24.104 1392
+-111.368 24.104 1492
+-111.242 24.104 1598
+-111.116 24.104 1694
+-110.99 24.104 1775
+-110.864 24.104 1844
+-110.738 24.104 1903
+-110.612 24.104 1958
+-110.486 24.104 2010
+-110.36 24.104 2060
+-110.234 24.104 2109
+-110.108 24.104 2156
+-109.982 24.104 2200
+-109.856 24.104 2242
+-109.73 24.104 2280
+-109.604 24.104 2316
+-109.478 24.104 2348
+-109.352 24.104 2378
+-109.226 24.104 2405
+-109.1 24.104 2472
+-108.974 24.104 2496
+-108.848 24.104 2517
+-108.722 24.104 2536
+-108.596 24.104 2554
+-108.47 24.104 2571
+-108.344 24.104 2586
+-108.218 24.104 2600
+-108.092 24.104 2613
+-107.966 24.104 2625
+-107.84 24.104 2636
+-107.714 24.104 2646
+-107.588 24.104 2656
+-107.462 24.104 2666
+-107.336 24.104 2674
+-107.21 24.104 2726
+-107.084 24.104 2754
+-106.958 24.104 2762
+-106.832 24.104 2770
+-106.706 24.104 2832
+-106.58 24.104 2840
+-106.454 24.104 2847
+-106.328 24.104 2854
+-106.202 24.104 2861
+-106.076 24.104 2867
+-105.95 24.104 2873
+-105.824 24.104 2879
+-105.698 24.104 2904
+-105.572 24.104 3003
+-105.446 24.104 3007
+-105.32 24.104 2998
+-105.194 24.104 3001
+-105.068 24.104 3035
+-104.942 24.104 3048
+-104.816 24.104 3051
+-104.69 24.104 3055
+-104.564 24.104 3165
+-104.438 24.104 3168
+-104.312 24.104 3171
+-104.186 24.104 3112
+-104.06 24.104 3127
+-103.934 24.104 3129
+-103.808 24.104 3131
+-103.682 24.104 3120
+-103.556 24.104 3127
+-103.43 24.104 3135
+-103.304 24.104 3219
+-103.178 24.104 3201
+-103.052 24.104 3090
+-102.926 24.104 3091
+-102.8 24.104 3092
+-102.674 24.104 3115
+-102.548 24.104 3116
+-102.422 24.104 3117
+-102.296 24.104 3150
+-102.17 24.104 3151
+-102.044 24.104 3152
+-101.918 24.104 3099
+-101.792 24.104 3161
+-101.666 24.104 3162
+-101.54 24.104 3163
+-101.414 24.104 3165
+-101.288 24.104 3166
+-101.162 24.104 3163
+-101.036 24.104 3164
+-100.91 24.104 3189
+-100.784 24.104 3190
+-100.658 24.104 3192
+-100.532 24.104 3193
+-100.406 24.104 3134
+-100.28 24.104 3270
+-100.154 24.104 3264
+-100.028 24.104 3288
+-99.902 24.104 3290
+-99.776 24.104 3408
+-99.65 24.104 3409
+-99.524 24.104 3411
+-99.398 24.104 3453
+-99.272 24.104 3436
+-99.146 24.104 3439
+-99.02 24.104 3428
+-98.894 24.104 3447
+-98.768 24.104 3433
+-98.642 24.104 3460
+-98.516 24.104 3350
+-98.39 24.104 3346
+-98.264 24.104 3335
+-98.138 24.104 3379
+-98.012 24.104 3313
+-97.886 24.104 3252
+-97.76 24.104 3292
+-97.634 24.104 3103
+-97.508 24.104 3095
+-97.382 24.104 3055
+-97.256 24.104 3056
+-97.13 24.104 3056
+-97.004 24.104 3126
+-96.878 24.104 3132
+-96.752 24.104 3138
+-96.626 24.104 3259
+-96.5 24.104 3270
+-96.374 24.104 3381
+-96.248 24.104 3383
+-96.122 24.104 3444
+-95.996 24.104 3526
+-95.87 24.104 3525
+-95.744 24.104 3524
+-95.618 24.104 3523
+-95.492 24.104 3522
+-95.366 24.104 3521
+-95.24 24.104 3520
+-95.114 24.104 3522
+-94.988 24.104 3521
+-94.862 24.104 3520
+-94.736 24.104 3520
+-94.61 24.104 3519
+-94.484 24.104 3518
+-94.358 24.104 3517
+-94.232 24.104 3612
+-94.106 24.104 3610
+-93.98 24.104 3607
+-93.854 24.104 3605
+-93.728 24.104 3605
+-93.602 24.104 3657
+-93.476 24.104 3654
+-93.35 24.104 3652
+-93.224 24.104 3676
+-93.098 24.104 3672
+-92.972 24.104 3641
+-92.846 24.104 3639
+-92.72 24.104 3692
+-92.594 24.104 3689
+-92.468 24.104 3686
+-92.342 24.104 3683
+-92.216 24.104 3680
+-92.09 24.104 3677
+-91.964 24.104 3704
+-91.838 24.104 3700
+-91.712 24.104 3696
+-91.586 24.104 3692
+-91.46 24.104 3688
+-91.334 24.104 3684
+-91.208 24.104 3679
+-91.082 24.104 3674
+-90.956 24.104 3669
+-90.83 24.104 3634
+-90.704 24.104 3630
+-90.578 24.104 3626
+-90.452 24.104 3621
+-90.326 24.104 3627
+-90.2 24.104 3620
+-90.074 24.104 3653
+-89.948 24.104 3648
+-89.822 24.104 3643
+-89.696 24.104 3638
+-89.57 24.104 3642
+-89.444 24.104 3638
+-89.318 24.104 3639
+-89.192 24.104 3647
+-89.066 24.104 3642
+-88.94 24.104 3636
+-88.814 24.104 3623
+-88.688 24.104 3641
+-88.562 24.104 3635
+-88.436 24.104 3668
+-88.31 24.104 3660
+-88.184 24.104 3656
+-88.058 24.104 3656
+-87.932 24.104 3651
+-87.806 24.104 3645
+-87.68 24.104 3639
+-87.554 24.104 3641
+-87.428 24.104 3657
+-87.302 24.104 3631
+-87.176 24.104 3588
+-87.05 24.104 3524
+-86.924 24.104 3425
+-86.798 24.104 3376
+-86.672 24.104 3487
+-86.546 24.104 3592
+-86.42 24.104 3608
+-86.294 24.104 3716
+-86.168 24.104 3798
+-86.042 24.104 3938
+-85.916 24.104 3995
+-85.79 24.104 4072
+-85.664 24.104 4202
+-85.538 24.104 4282
+-85.412 24.104 4408
+-85.286 24.104 4463
+-85.16 24.104 4520
+-85.034 24.104 4594
+-84.908 24.104 4716
+-84.782 24.104 4861
+-84.656 24.104 4924
+-84.53 24.104 5037
+-84.404 24.104 5106
+-84.278 24.104 5184
+-84.152 24.104 5241
+-84.026 24.104 5299
+-83.9 24.104 5364
+-83.774 24.104 5430
+-83.648 24.104 5481
+-83.522 24.104 5512
+-83.396 24.104 5517
+-83.27 24.104 5590
+-83.144 24.104 5609
+-83.018 24.104 5667
+-82.892 24.104 5720
+-82.766 24.104 5730
+-82.64 24.104 5685
+-82.514 24.104 5711
+-82.388 24.104 5755
+-82.262 24.104 5723
+-82.136 24.104 5700
+-82.01 24.104 5730
+-81.884 24.104 5741
+-81.758 24.104 5749
+-81.632 24.104 5732
+-81.506 24.104 5707
+-81.38 24.104 5625
+-81.254 24.104 5548
+-81.128 24.104 5580
+-81.002 24.104 5568
+-80.876 24.104 5512
+-80.75 24.104 5414
+-80.624 24.104 5400
+-80.498 24.104 5320
+-80.372 24.104 5294
+-80.246 24.104 5277
+-80.12 24.104 5227
+-79.994 24.104 5134
+-79.868 24.104 5050
+-79.742 24.104 4945
+-79.616 24.104 4816
+-79.49 24.104 4890
+-79.364 24.104 4909
+-79.238 24.104 4857
+-79.112 24.104 4741
+-78.986 24.104 4547
+-78.86 24.104 4309
+-78.734 24.104 4168
+-78.608 24.104 4227
+-78.482 24.104 4278
+-78.356 24.104 4221
+-78.23 24.104 4109
+-78.104 24.104 3894
+-77.978 24.104 3778
+-77.852 24.104 3655
+-77.726 24.104 3507
+-77.6 24.104 3333
+-77.474 24.104 3150
+-77.348 24.104 3059
+-77.222 24.104 3077
+-77.096 24.104 3084
+-76.97 24.104 2978
+-76.844 24.104 2733
+-76.718 24.104 2404
+-76.592 24.104 2249
+-76.466 24.104 2362
+-76.34 24.104 2566
+-76.214 24.104 2743
+-76.088 24.104 2867
+-75.962 24.104 2957
+-75.836 24.104 3018
+-75.71 24.104 3042
+-75.584 24.104 3052
+-75.458 24.104 3063
+-75.332 24.104 3069
+-75.206 24.104 3067
+-75.08 24.104 3060
+-74.954 24.104 3017
+-74.828 24.104 3002
+-74.702 24.104 2986
+-74.576 24.104 2969
+-74.45 24.104 2923
+-74.324 24.104 2909
+-74.198 24.104 2889
+-74.072 24.104 2881
+-73.946 24.104 2875
+-73.82 24.104 2872
+-73.694 24.104 2858
+-73.568 24.104 2857
+-73.442 24.104 2861
+-73.316 24.104 2868
+-73.19 24.104 2876
+-73.064 24.104 2885
+-72.938 24.104 2896
+-72.812 24.104 2907
+-72.686 24.104 2918
+-72.56 24.104 2930
+-72.434 24.104 2928
+-72.308 24.104 2942
+-72.182 24.104 2946
+-72.056 24.104 2959
+-71.93 24.104 2972
+-71.804 24.104 2963
+-71.678 24.104 2977
+-71.552 24.104 2933
+-71.426 24.104 2945
+-71.3 24.104 2957
+-71.174 24.104 2968
+-71.048 24.104 2940
+-70.922 24.104 2934
+-70.796 24.104 2944
+-70.67 24.104 2948
+-70.544 24.104 2952
+-70.418 24.104 2961
+-70.292 24.104 2970
+-70.166 24.104 2979
+-70.04 24.104 2955
+-69.914 24.104 2963
+-69.788 24.104 2970
+-69.662 24.104 2938
+-69.536 24.104 2946
+-69.41 24.104 2913
+-69.284 24.104 2911
+-69.158 24.104 2877
+-69.032 24.104 2883
+-68.906 24.104 2842
+-68.78 24.104 2847
+-68.654 24.104 2852
+-68.528 24.104 2856
+-68.402 24.104 2861
+-68.276 24.104 2865
+-68.15 24.104 2869
+-68.024 24.104 2873
+-67.898 24.104 2876
+-67.772 24.104 2880
+-67.646 24.104 2884
+-67.52 24.104 2887
+-67.394 24.104 2890
+-67.268 24.104 2893
+-67.142 24.104 2896
+-67.016 24.104 2899
+-66.89 24.104 2902
+-66.764 24.104 2905
+-66.638 24.104 2907
+-66.512 24.104 2910
+-66.386 24.104 2889
+-66.26 24.104 2892
+-66.134 24.104 2894
+-66.008 24.104 2897
+-65.882 24.104 2900
+-65.756 24.104 2902
+-65.63 24.104 2867
+-65.504 24.104 2870
+-65.378 24.104 2860
+-65.252 24.104 2857
+-65.126 24.104 2827
+-128 24.052 3074
+-127.874 24.052 3071
+-127.748 24.052 3029
+-127.622 24.052 3026
+-127.496 24.052 3022
+-127.37 24.052 3048
+-127.244 24.052 3024
+-127.118 24.052 3020
+-126.992 24.052 2969
+-126.866 24.052 2965
+-126.74 24.052 3038
+-126.614 24.052 2993
+-126.488 24.052 2972
+-126.362 24.052 2872
+-126.236 24.052 2913
+-126.11 24.052 2908
+-125.984 24.052 2903
+-125.858 24.052 2897
+-125.732 24.052 2892
+-125.606 24.052 2886
+-125.48 24.052 2813
+-125.354 24.052 2823
+-125.228 24.052 2818
+-125.102 24.052 2778
+-124.976 24.052 2763
+-124.85 24.052 2744
+-124.724 24.052 2738
+-124.598 24.052 2712
+-124.472 24.052 2706
+-124.346 24.052 2677
+-124.22 24.052 2663
+-124.094 24.052 2641
+-123.968 24.052 2634
+-123.842 24.052 2618
+-123.716 24.052 2620
+-123.59 24.052 2612
+-123.464 24.052 2603
+-123.338 24.052 2593
+-123.212 24.052 2584
+-123.086 24.052 2492
+-122.96 24.052 2482
+-122.834 24.052 2472
+-122.708 24.052 2435
+-122.582 24.052 2424
+-122.456 24.052 2385
+-122.33 24.052 2373
+-122.204 24.052 2361
+-122.078 24.052 2349
+-121.952 24.052 2337
+-121.826 24.052 2324
+-121.7 24.052 2310
+-121.574 24.052 2297
+-121.448 24.052 2283
+-121.322 24.052 2266
+-121.196 24.052 2224
+-121.07 24.052 2210
+-120.944 24.052 2196
+-120.818 24.052 2182
+-120.692 24.052 2164
+-120.566 24.052 2151
+-120.44 24.052 2139
+-120.314 24.052 2110
+-120.188 24.052 2101
+-120.062 24.052 2079
+-119.936 24.052 2071
+-119.81 24.052 2058
+-119.684 24.052 2040
+-119.558 24.052 2044
+-119.432 24.052 2045
+-119.306 24.052 2048
+-119.18 24.052 2052
+-119.054 24.052 2059
+-118.928 24.052 2069
+-118.802 24.052 2107
+-118.676 24.052 2123
+-118.55 24.052 2069
+-118.424 24.052 2091
+-118.298 24.052 2109
+-118.172 24.052 2122
+-118.046 24.052 2151
+-117.92 24.052 2160
+-117.794 24.052 2173
+-117.668 24.052 2194
+-117.542 24.052 2154
+-117.416 24.052 2208
+-117.29 24.052 2227
+-117.164 24.052 2245
+-117.038 24.052 2262
+-116.912 24.052 2279
+-116.786 24.052 2294
+-116.66 24.052 2309
+-116.534 24.052 2329
+-116.408 24.052 2342
+-116.282 24.052 2355
+-116.156 24.052 2324
+-116.03 24.052 2333
+-115.904 24.052 2341
+-115.778 24.052 2348
+-115.652 24.052 2353
+-115.526 24.052 2358
+-115.4 24.052 2419
+-115.274 24.052 2400
+-115.148 24.052 2400
+-115.022 24.052 2399
+-114.896 24.052 2417
+-114.77 24.052 2393
+-114.644 24.052 2392
+-114.518 24.052 2383
+-114.392 24.052 2372
+-114.266 24.052 2329
+-114.14 24.052 2313
+-114.014 24.052 2295
+-113.888 24.052 2273
+-113.762 24.052 2249
+-113.636 24.052 2220
+-113.51 24.052 2188
+-113.384 24.052 2209
+-113.258 24.052 2162
+-113.132 24.052 2110
+-113.006 24.052 2053
+-112.88 24.052 1989
+-112.754 24.052 1918
+-112.628 24.052 1841
+-112.502 24.052 1758
+-112.376 24.052 1671
+-112.25 24.052 1583
+-112.124 24.052 1498
+-111.998 24.052 1425
+-111.872 24.052 1375
+-111.746 24.052 1358
+-111.62 24.052 1381
+-111.494 24.052 1441
+-111.368 24.052 1525
+-111.242 24.052 1618
+-111.116 24.052 1707
+-110.99 24.052 1786
+-110.864 24.052 1855
+-110.738 24.052 1915
+-110.612 24.052 1970
+-110.486 24.052 2022
+-110.36 24.052 2071
+-110.234 24.052 2118
+-110.108 24.052 2162
+-109.982 24.052 2204
+-109.856 24.052 2244
+-109.73 24.052 2281
+-109.604 24.052 2315
+-109.478 24.052 2347
+-109.352 24.052 2376
+-109.226 24.052 2402
+-109.1 24.052 2426
+-108.974 24.052 2493
+-108.848 24.052 2514
+-108.722 24.052 2534
+-108.596 24.052 2551
+-108.47 24.052 2568
+-108.344 24.052 2583
+-108.218 24.052 2597
+-108.092 24.052 2610
+-107.966 24.052 2622
+-107.84 24.052 2633
+-107.714 24.052 2644
+-107.588 24.052 2654
+-107.462 24.052 2663
+-107.336 24.052 2672
+-107.21 24.052 2680
+-107.084 24.052 2733
+-106.958 24.052 2760
+-106.832 24.052 2768
+-106.706 24.052 2775
+-106.58 24.052 2838
+-106.454 24.052 2845
+-106.328 24.052 2852
+-106.202 24.052 2859
+-106.076 24.052 2865
+-105.95 24.052 2871
+-105.824 24.052 2877
+-105.698 24.052 2882
+-105.572 24.052 2908
+-105.446 24.052 3008
+-105.32 24.052 3012
+-105.194 24.052 3002
+-105.068 24.052 3006
+-104.942 24.052 3039
+-104.816 24.052 3052
+-104.69 24.052 3055
+-104.564 24.052 3059
+-104.438 24.052 3170
+-104.312 24.052 3173
+-104.186 24.052 3175
+-104.06 24.052 3116
+-103.934 24.052 3130
+-103.808 24.052 3132
+-103.682 24.052 3134
+-103.556 24.052 3124
+-103.43 24.052 3130
+-103.304 24.052 3138
+-103.178 24.052 3223
+-103.052 24.052 3204
+-102.926 24.052 3093
+-102.8 24.052 3094
+-102.674 24.052 3095
+-102.548 24.052 3118
+-102.422 24.052 3119
+-102.296 24.052 3120
+-102.17 24.052 3153
+-102.044 24.052 3154
+-101.918 24.052 3155
+-101.792 24.052 3102
+-101.666 24.052 3164
+-101.54 24.052 3165
+-101.414 24.052 3166
+-101.288 24.052 3167
+-101.162 24.052 3169
+-101.036 24.052 3165
+-100.91 24.052 3167
+-100.784 24.052 3191
+-100.658 24.052 3193
+-100.532 24.052 3194
+-100.406 24.052 3196
+-100.28 24.052 3137
+-100.154 24.052 3273
+-100.028 24.052 3267
+-99.902 24.052 3291
+-99.776 24.052 3293
+-99.65 24.052 3411
+-99.524 24.052 3412
+-99.398 24.052 3414
+-99.272 24.052 3457
+-99.146 24.052 3437
+-99.02 24.052 3442
+-98.894 24.052 3431
+-98.768 24.052 3450
+-98.642 24.052 3333
+-98.516 24.052 3351
+-98.39 24.052 3351
+-98.264 24.052 3346
+-98.138 24.052 3279
+-98.012 24.052 3314
+-97.886 24.052 3269
+-97.76 24.052 3093
+-97.634 24.052 3114
+-97.508 24.052 3095
+-97.382 24.052 3056
+-97.256 24.052 3056
+-97.13 24.052 3082
+-97.004 24.052 3126
+-96.878 24.052 3132
+-96.752 24.052 3138
+-96.626 24.052 3259
+-96.5 24.052 3270
+-96.374 24.052 3381
+-96.248 24.052 3442
+-96.122 24.052 3443
+-95.996 24.052 3526
+-95.87 24.052 3525
+-95.744 24.052 3524
+-95.618 24.052 3523
+-95.492 24.052 3522
+-95.366 24.052 3520
+-95.24 24.052 3522
+-95.114 24.052 3522
+-94.988 24.052 3521
+-94.862 24.052 3520
+-94.736 24.052 3519
+-94.61 24.052 3519
+-94.484 24.052 3518
+-94.358 24.052 3612
+-94.232 24.052 3610
+-94.106 24.052 3608
+-93.98 24.052 3606
+-93.854 24.052 3606
+-93.728 24.052 3658
+-93.602 24.052 3656
+-93.476 24.052 3653
+-93.35 24.052 3677
+-93.224 24.052 3674
+-93.098 24.052 3643
+-92.972 24.052 3640
+-92.846 24.052 3693
+-92.72 24.052 3691
+-92.594 24.052 3688
+-92.468 24.052 3685
+-92.342 24.052 3683
+-92.216 24.052 3680
+-92.09 24.052 3707
+-91.964 24.052 3703
+-91.838 24.052 3699
+-91.712 24.052 3696
+-91.586 24.052 3692
+-91.46 24.052 3687
+-91.334 24.052 3683
+-91.208 24.052 3679
+-91.082 24.052 3674
+-90.956 24.052 3638
+-90.83 24.052 3634
+-90.704 24.052 3630
+-90.578 24.052 3626
+-90.452 24.052 3633
+-90.326 24.052 3625
+-90.2 24.052 3659
+-90.074 24.052 3655
+-89.948 24.052 3650
+-89.822 24.052 3646
+-89.696 24.052 3650
+-89.57 24.052 3646
+-89.444 24.052 3648
+-89.318 24.052 3658
+-89.192 24.052 3653
+-89.066 24.052 3648
+-88.94 24.052 3635
+-88.814 24.052 3655
+-88.688 24.052 3650
+-88.562 24.052 3687
+-88.436 24.052 3680
+-88.31 24.052 3677
+-88.184 24.052 3679
+-88.058 24.052 3675
+-87.932 24.052 3670
+-87.806 24.052 3664
+-87.68 24.052 3670
+-87.554 24.052 3695
+-87.428 24.052 3679
+-87.302 24.052 3655
+-87.176 24.052 3630
+-87.05 24.052 3587
+-86.924 24.052 3557
+-86.798 24.052 3547
+-86.672 24.052 3585
+-86.546 24.052 3570
+-86.42 24.052 3489
+-86.294 24.052 3663
+-86.168 24.052 3711
+-86.042 24.052 3857
+-85.916 24.052 4000
+-85.79 24.052 4095
+-85.664 24.052 4206
+-85.538 24.052 4193
+-85.412 24.052 4346
+-85.286 24.052 4474
+-85.16 24.052 4494
+-85.034 24.052 4570
+-84.908 24.052 4661
+-84.782 24.052 4828
+-84.656 24.052 4846
+-84.53 24.052 4963
+-84.404 24.052 5099
+-84.278 24.052 5183
+-84.152 24.052 5250
+-84.026 24.052 5308
+-83.9 24.052 5362
+-83.774 24.052 5407
+-83.648 24.052 5459
+-83.522 24.052 5469
+-83.396 24.052 5427
+-83.27 24.052 5528
+-83.144 24.052 5620
+-83.018 24.052 5668
+-82.892 24.052 5709
+-82.766 24.052 5729
+-82.64 24.052 5723
+-82.514 24.052 5739
+-82.388 24.052 5745
+-82.262 24.052 5720
+-82.136 24.052 5649
+-82.01 24.052 5652
+-81.884 24.052 5711
+-81.758 24.052 5729
+-81.632 24.052 5720
+-81.506 24.052 5672
+-81.38 24.052 5597
+-81.254 24.052 5518
+-81.128 24.052 5566
+-81.002 24.052 5561
+-80.876 24.052 5503
+-80.75 24.052 5451
+-80.624 24.052 5396
+-80.498 24.052 5308
+-80.372 24.052 5159
+-80.246 24.052 5236
+-80.12 24.052 5234
+-79.994 24.052 5169
+-79.868 24.052 5086
+-79.742 24.052 4968
+-79.616 24.052 4905
+-79.49 24.052 4917
+-79.364 24.052 4914
+-79.238 24.052 4852
+-79.112 24.052 4729
+-78.986 24.052 4561
+-78.86 24.052 4379
+-78.734 24.052 4263
+-78.608 24.052 4267
+-78.482 24.052 4275
+-78.356 24.052 4202
+-78.23 24.052 4107
+-78.104 24.052 3888
+-77.978 24.052 3767
+-77.852 24.052 3633
+-77.726 24.052 3472
+-77.6 24.052 3272
+-77.474 24.052 3067
+-77.348 24.052 2972
+-77.222 24.052 3034
+-77.096 24.052 3066
+-76.97 24.052 2984
+-76.844 24.052 2768
+-76.718 24.052 2505
+-76.592 24.052 2375
+-76.466 24.052 2441
+-76.34 24.052 2602
+-76.214 24.052 2755
+-76.088 24.052 2874
+-75.962 24.052 2961
+-75.836 24.052 3017
+-75.71 24.052 3059
+-75.584 24.052 3069
+-75.458 24.052 3069
+-75.332 24.052 3075
+-75.206 24.052 3078
+-75.08 24.052 3074
+-74.954 24.052 3067
+-74.828 24.052 3024
+-74.702 24.052 3012
+-74.576 24.052 2999
+-74.45 24.052 2986
+-74.324 24.052 2943
+-74.198 24.052 2933
+-74.072 24.052 2917
+-73.946 24.052 2911
+-73.82 24.052 2908
+-73.694 24.052 2907
+-73.568 24.052 2894
+-73.442 24.052 2893
+-73.316 24.052 2898
+-73.19 24.052 2904
+-73.064 24.052 2912
+-72.938 24.052 2920
+-72.812 24.052 2929
+-72.686 24.052 2939
+-72.56 24.052 2949
+-72.434 24.052 2960
+-72.308 24.052 2958
+-72.182 24.052 2970
+-72.056 24.052 2972
+-71.93 24.052 2984
+-71.804 24.052 2995
+-71.678 24.052 2986
+-71.552 24.052 2998
+-71.426 24.052 2952
+-71.3 24.052 2963
+-71.174 24.052 2974
+-71.048 24.052 2984
+-70.922 24.052 2955
+-70.796 24.052 2948
+-70.67 24.052 2958
+-70.544 24.052 2961
+-70.418 24.052 2964
+-70.292 24.052 2972
+-70.166 24.052 2981
+-70.04 24.052 2989
+-69.914 24.052 2964
+-69.788 24.052 2971
+-69.662 24.052 2978
+-69.536 24.052 2946
+-69.41 24.052 2953
+-69.284 24.052 2920
+-69.158 24.052 2918
+-69.032 24.052 2883
+-68.906 24.052 2888
+-68.78 24.052 2847
+-68.654 24.052 2852
+-68.528 24.052 2856
+-68.402 24.052 2861
+-68.276 24.052 2865
+-68.15 24.052 2869
+-68.024 24.052 2873
+-67.898 24.052 2876
+-67.772 24.052 2880
+-67.646 24.052 2883
+-67.52 24.052 2887
+-67.394 24.052 2890
+-67.268 24.052 2893
+-67.142 24.052 2896
+-67.016 24.052 2899
+-66.89 24.052 2902
+-66.764 24.052 2904
+-66.638 24.052 2907
+-66.512 24.052 2910
+-66.386 24.052 2912
+-66.26 24.052 2891
+-66.134 24.052 2894
+-66.008 24.052 2896
+-65.882 24.052 2899
+-65.756 24.052 2902
+-65.63 24.052 2904
+-65.504 24.052 2869
+-65.378 24.052 2872
+-65.252 24.052 2862
+-65.126 24.052 2858

Added: cs/trunk/cigtg-dev/SimpleGrid/test2/result2.jpg
===================================================================
(Binary files differ)


Property changes on: cs/trunk/cigtg-dev/SimpleGrid/test2/result2.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: cs/trunk/cigtg-dev/result1
===================================================================
--- cs/trunk/cigtg-dev/result1	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/result1	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,250001 @@
+HEADER=500 500 -128.00 24.00 -65.00 50.00 0 10000
+-128 50 3707
+-127.874 50 3565
+-127.748 50 3459
+-127.622 50 3612
+-127.496 50 3893
+-127.37 50 4088
+-127.244 50 4191
+-127.118 50 4250
+-126.992 50 4305
+-126.866 50 4371
+-126.74 50 4407
+-126.614 50 4511
+-126.488 50 4593
+-126.362 50 4677
+-126.236 50 4795
+-126.11 50 4892
+-125.984 50 5016
+-125.858 50 5209
+-125.732 50 5337
+-125.606 50 5478
+-125.48 50 5538
+-125.354 50 5602
+-125.228 50 5631
+-125.102 50 5708
+-124.976 50 5791
+-124.85 50 5873
+-124.724 50 5923
+-124.598 50 5949
+-124.472 50 5983
+-124.346 50 6040
+-124.22 50 6109
+-124.094 50 6168
+-123.968 50 6199
+-123.842 50 6179
+-123.716 50 6244
+-123.59 50 6300
+-123.464 50 6310
+-123.338 50 6291
+-123.212 50 6264
+-123.086 50 6333
+-122.96 50 6274
+-122.834 50 6321
+-122.708 50 6335
+-122.582 50 6310
+-122.456 50 6242
+-122.33 50 6232
+-122.204 50 6176
+-122.078 50 6223
+-121.952 50 6198
+-121.826 50 6170
+-121.7 50 6151
+-121.574 50 6106
+-121.448 50 6021
+-121.322 50 5909
+-121.196 50 5813
+-121.07 50 5723
+-120.944 50 5701
+-120.818 50 5566
+-120.692 50 5485
+-120.566 50 5374
+-120.44 50 5321
+-120.314 50 5203
+-120.188 50 5103
+-120.062 50 4820
+-119.936 50 4998
+-119.81 50 5063
+-119.684 50 5070
+-119.558 50 5064
+-119.432 50 5012
+-119.306 50 5057
+-119.18 50 5123
+-119.054 50 5104
+-118.928 50 5156
+-118.802 50 5186
+-118.676 50 5204
+-118.55 50 5199
+-118.424 50 5152
+-118.298 50 5203
+-118.172 50 5212
+-118.046 50 5213
+-117.92 50 5209
+-117.794 50 5182
+-117.668 50 5124
+-117.542 50 5146
+-117.416 50 5122
+-117.29 50 5111
+-117.164 50 5082
+-117.038 50 5022
+-116.912 50 4962
+-116.786 50 4911
+-116.66 50 4851
+-116.534 50 4761
+-116.408 50 4649
+-116.282 50 4678
+-116.156 50 4612
+-116.03 50 4480
+-115.904 50 4543
+-115.778 50 4528
+-115.652 50 4422
+-115.526 50 4198
+-115.4 50 4078
+-115.274 50 4149
+-115.148 50 4180
+-115.022 50 4159
+-114.896 50 4138
+-114.77 50 4074
+-114.644 50 4057
+-114.518 50 4021
+-114.392 50 3965
+-114.266 50 3886
+-114.14 50 3796
+-114.014 50 3688
+-113.888 50 3532
+-113.762 50 3409
+-113.636 50 3308
+-113.51 50 3230
+-113.384 50 3156
+-113.258 50 3132
+-113.132 50 3135
+-113.006 50 3159
+-112.88 50 3196
+-112.754 50 3210
+-112.628 50 3245
+-112.502 50 3271
+-112.376 50 3302
+-112.25 50 3335
+-112.124 50 3358
+-111.998 50 3384
+-111.872 50 3394
+-111.746 50 3394
+-111.62 50 3415
+-111.494 50 3433
+-111.368 50 3449
+-111.242 50 3382
+-111.116 50 3378
+-110.99 50 3385
+-110.864 50 3394
+-110.738 50 3383
+-110.612 50 3376
+-110.486 50 3312
+-110.36 50 3317
+-110.234 50 3322
+-110.108 50 3327
+-109.982 50 3331
+-109.856 50 3336
+-109.73 50 3340
+-109.604 50 3344
+-109.478 50 3347
+-109.352 50 3351
+-109.226 50 3339
+-109.1 50 3292
+-108.974 50 3279
+-108.848 50 3282
+-108.722 50 3284
+-108.596 50 3287
+-108.47 50 3290
+-108.344 50 3292
+-108.218 50 3272
+-108.092 50 3275
+-107.966 50 3278
+-107.84 50 3281
+-107.714 50 3253
+-107.588 50 3256
+-107.462 50 3259
+-107.336 50 3262
+-107.21 50 3249
+-107.084 50 3252
+-106.958 50 3254
+-106.832 50 3257
+-106.706 50 3251
+-106.58 50 3254
+-106.454 50 3257
+-106.328 50 3259
+-106.202 50 3250
+-106.076 50 3253
+-105.95 50 3256
+-105.824 50 3258
+-105.698 50 3261
+-105.572 50 3264
+-105.446 50 3266
+-105.32 50 3269
+-105.194 50 3271
+-105.068 50 3274
+-104.942 50 3276
+-104.816 50 3214
+-104.69 50 3199
+-104.564 50 3201
+-104.438 50 3204
+-104.312 50 3206
+-104.186 50 3208
+-104.06 50 3180
+-103.934 50 3174
+-103.808 50 3176
+-103.682 50 3178
+-103.556 50 3156
+-103.43 50 3158
+-103.304 50 3160
+-103.178 50 3162
+-103.052 50 3164
+-102.926 50 3166
+-102.8 50 3168
+-102.674 50 3170
+-102.548 50 3172
+-102.422 50 3173
+-102.296 50 3175
+-102.17 50 3085
+-102.044 50 3070
+-101.918 50 3070
+-101.792 50 3069
+-101.666 50 3068
+-101.54 50 3029
+-101.414 50 3028
+-101.288 50 3027
+-101.162 50 3026
+-101.036 50 2891
+-100.91 50 2888
+-100.784 50 2885
+-100.658 50 2881
+-100.532 50 2878
+-100.406 50 2847
+-100.28 50 2843
+-100.154 50 2860
+-100.028 50 2761
+-99.902 50 2803
+-99.776 50 2800
+-99.65 50 2806
+-99.524 50 2720
+-99.398 50 2650
+-99.272 50 2649
+-99.146 50 2524
+-99.02 50 2557
+-98.894 50 2502
+-98.768 50 2501
+-98.642 50 2564
+-98.516 50 2777
+-98.39 50 2734
+-98.264 50 2711
+-98.138 50 2685
+-98.012 50 2681
+-97.886 50 2681
+-97.76 50 2696
+-97.634 50 2695
+-97.508 50 2793
+-97.382 50 2792
+-97.256 50 2790
+-97.13 50 2789
+-97.004 50 2787
+-96.878 50 2786
+-96.752 50 2785
+-96.626 50 2783
+-96.5 50 2782
+-96.374 50 2780
+-96.248 50 2779
+-96.122 50 2777
+-95.996 50 2776
+-95.87 50 2775
+-95.744 50 2773
+-95.618 50 2772
+-95.492 50 2770
+-95.366 50 2769
+-95.24 50 2767
+-95.114 50 2766
+-94.988 50 2764
+-94.862 50 2763
+-94.736 50 2761
+-94.61 50 2760
+-94.484 50 2758
+-94.358 50 2757
+-94.232 50 2756
+-94.106 50 2754
+-93.98 50 2753
+-93.854 50 2751
+-93.728 50 2750
+-93.602 50 2749
+-93.476 50 2747
+-93.35 50 2746
+-93.224 50 2745
+-93.098 50 2743
+-92.972 50 2742
+-92.846 50 2741
+-92.72 50 2740
+-92.594 50 2738
+-92.468 50 2737
+-92.342 50 2736
+-92.216 50 2735
+-92.09 50 2734
+-91.964 50 2733
+-91.838 50 2732
+-91.712 50 2731
+-91.586 50 2730
+-91.46 50 2729
+-91.334 50 2728
+-91.208 50 2727
+-91.082 50 2727
+-90.956 50 2726
+-90.83 50 2725
+-90.704 50 2724
+-90.578 50 2676
+-90.452 50 2675
+-90.326 50 2675
+-90.2 50 2674
+-90.074 50 2673
+-89.948 50 2673
+-89.822 50 2672
+-89.696 50 2672
+-89.57 50 2671
+-89.444 50 2671
+-89.318 50 2671
+-89.192 50 2670
+-89.066 50 2670
+-88.94 50 2670
+-88.814 50 2669
+-88.688 50 2669
+-88.562 50 2669
+-88.436 50 2669
+-88.31 50 2669
+-88.184 50 2668
+-88.058 50 2668
+-87.932 50 2668
+-87.806 50 2668
+-87.68 50 2668
+-87.554 50 2668
+-87.428 50 2668
+-87.302 50 2668
+-87.176 50 2668
+-87.05 50 2668
+-86.924 50 2668
+-86.798 50 2668
+-86.672 50 2668
+-86.546 50 2669
+-86.42 50 2669
+-86.294 50 2669
+-86.168 50 2669
+-86.042 50 2669
+-85.916 50 2669
+-85.79 50 2670
+-85.664 50 2670
+-85.538 50 2670
+-85.412 50 2670
+-85.286 50 2671
+-85.16 50 2671
+-85.034 50 2671
+-84.908 50 2671
+-84.782 50 2672
+-84.656 50 2672
+-84.53 50 2672
+-84.404 50 2672
+-84.278 50 2673
+-84.152 50 2673
+-84.026 50 2673
+-83.9 50 2674
+-83.774 50 2674
+-83.648 50 2674
+-83.522 50 2675
+-83.396 50 2675
+-83.27 50 2675
+-83.144 50 2676
+-83.018 50 2676
+-82.892 50 2677
+-82.766 50 2677
+-82.64 50 2677
+-82.514 50 2678
+-82.388 50 2678
+-82.262 50 2678
+-82.136 50 2679
+-82.01 50 2679
+-81.884 50 2680
+-81.758 50 2680
+-81.632 50 2680
+-81.506 50 2681
+-81.38 50 2681
+-81.254 50 2682
+-81.128 50 2682
+-81.002 50 2683
+-80.876 50 2683
+-80.75 50 2683
+-80.624 50 2684
+-80.498 50 2684
+-80.372 50 2685
+-80.246 50 2685
+-80.12 50 2686
+-79.994 50 2686
+-79.868 50 2686
+-79.742 50 2687
+-79.616 50 2687
+-79.49 50 2688
+-79.364 50 2688
+-79.238 50 2689
+-79.112 50 2689
+-78.986 50 2701
+-78.86 50 2701
+-78.734 50 2702
+-78.608 50 2702
+-78.482 50 2585
+-78.356 50 2586
+-78.23 50 2586
+-78.104 50 2586
+-77.978 50 2587
+-77.852 50 2587
+-77.726 50 2587
+-77.6 50 2587
+-77.474 50 2588
+-77.348 50 2588
+-77.222 50 2595
+-77.096 50 2602
+-76.97 50 2602
+-76.844 50 2603
+-76.718 50 2603
+-76.592 50 2621
+-76.466 50 2622
+-76.34 50 2622
+-76.214 50 2622
+-76.088 50 2625
+-75.962 50 2757
+-75.836 50 2757
+-75.71 50 2758
+-75.584 50 2765
+-75.458 50 2765
+-75.332 50 2765
+-75.206 50 2785
+-75.08 50 2763
+-74.954 50 2779
+-74.828 50 2779
+-74.702 50 2773
+-74.576 50 2774
+-74.45 50 2774
+-74.324 50 2774
+-74.198 50 2776
+-74.072 50 2868
+-73.946 50 2868
+-73.82 50 2868
+-73.694 50 2869
+-73.568 50 2889
+-73.442 50 2890
+-73.316 50 2866
+-73.19 50 2867
+-73.064 50 2867
+-72.938 50 2867
+-72.812 50 2836
+-72.686 50 2846
+-72.56 50 2847
+-72.434 50 2978
+-72.308 50 2935
+-72.182 50 2935
+-72.056 50 3082
+-71.93 50 3078
+-71.804 50 3036
+-71.678 50 3105
+-71.552 50 2986
+-71.426 50 3020
+-71.3 50 3078
+-71.174 50 2968
+-71.048 50 2976
+-70.922 50 2875
+-70.796 50 2871
+-70.67 50 2889
+-70.544 50 2857
+-70.418 50 2858
+-70.292 50 2858
+-70.166 50 2792
+-70.04 50 2840
+-69.914 50 2831
+-69.788 50 2818
+-69.662 50 2819
+-69.536 50 2820
+-69.41 50 2820
+-69.284 50 2755
+-69.158 50 2749
+-69.032 50 2750
+-68.906 50 2750
+-68.78 50 2751
+-68.654 50 2746
+-68.528 50 2688
+-68.402 50 2795
+-68.276 50 2790
+-68.15 50 2796
+-68.024 50 2796
+-67.898 50 2797
+-67.772 50 2797
+-67.646 50 2824
+-67.52 50 2800
+-67.394 50 2870
+-67.268 50 2870
+-67.142 50 2860
+-67.016 50 2868
+-66.89 50 2868
+-66.764 50 2869
+-66.638 50 2855
+-66.512 50 2972
+-66.386 50 2973
+-66.26 50 2973
+-66.134 50 2974
+-66.008 50 3073
+-65.882 50 3023
+-65.756 50 3170
+-65.63 50 3170
+-65.504 50 3131
+-65.378 50 3131
+-65.252 50 3131
+-65.126 50 3131
+-128 49.948 3703
+-127.874 49.948 3634
+-127.748 49.948 3589
+-127.622 49.948 3724
+-127.496 49.948 3951
+-127.37 49.948 4106
+-127.244 49.948 4177
+-127.118 49.948 4209
+-126.992 49.948 4238
+-126.866 49.948 4328
+-126.74 49.948 4346
+-126.614 49.948 4497
+-126.488 49.948 4590
+-126.362 49.948 4666
+-126.236 49.948 4793
+-126.11 49.948 4895
+-125.984 49.948 5034
+-125.858 49.948 5185
+-125.732 49.948 5368
+-125.606 49.948 5449
+-125.48 49.948 5509
+-125.354 49.948 5576
+-125.228 49.948 5558
+-125.102 49.948 5670
+-124.976 49.948 5775
+-124.85 49.948 5854
+-124.724 49.948 5915
+-124.598 49.948 5907
+-124.472 49.948 5932
+-124.346 49.948 6049
+-124.22 49.948 6123
+-124.094 49.948 6182
+-123.968 49.948 6193
+-123.842 49.948 6225
+-123.716 49.948 6268
+-123.59 49.948 6316
+-123.464 49.948 6304
+-123.338 49.948 6331
+-123.212 49.948 6347
+-123.086 49.948 6360
+-122.96 49.948 6383
+-122.834 49.948 6361
+-122.708 49.948 6330
+-122.582 49.948 6346
+-122.456 49.948 6307
+-122.33 49.948 6299
+-122.204 49.948 6243
+-122.078 49.948 6234
+-121.952 49.948 6149
+-121.826 49.948 6129
+-121.7 49.948 6149
+-121.574 49.948 6104
+-121.448 49.948 6038
+-121.322 49.948 5930
+-121.196 49.948 5837
+-121.07 49.948 5772
+-120.944 49.948 5728
+-120.818 49.948 5621
+-120.692 49.948 5488
+-120.566 49.948 5430
+-120.44 49.948 5368
+-120.314 49.948 5264
+-120.188 49.948 5158
+-120.062 49.948 5060
+-119.936 49.948 5065
+-119.81 49.948 5071
+-119.684 49.948 5061
+-119.558 49.948 5077
+-119.432 49.948 5089
+-119.306 49.948 5122
+-119.18 49.948 5148
+-119.054 49.948 5159
+-118.928 49.948 5144
+-118.802 49.948 5198
+-118.676 49.948 5229
+-118.55 49.948 5222
+-118.424 49.948 5198
+-118.298 49.948 5192
+-118.172 49.948 5202
+-118.046 49.948 5200
+-117.92 49.948 5216
+-117.794 49.948 5178
+-117.668 49.948 5180
+-117.542 49.948 5144
+-117.416 49.948 5081
+-117.29 49.948 5107
+-117.164 49.948 5081
+-117.038 49.948 5027
+-116.912 49.948 4970
+-116.786 49.948 4929
+-116.66 49.948 4819
+-116.534 49.948 4809
+-116.408 49.948 4720
+-116.282 49.948 4653
+-116.156 49.948 4662
+-116.03 49.948 4587
+-115.904 49.948 4586
+-115.778 49.948 4550
+-115.652 49.948 4434
+-115.526 49.948 4279
+-115.4 49.948 4179
+-115.274 49.948 4181
+-115.148 49.948 4123
+-115.022 49.948 4055
+-114.896 49.948 4072
+-114.77 49.948 4092
+-114.644 49.948 4052
+-114.518 49.948 4016
+-114.392 49.948 3954
+-114.266 49.948 3879
+-114.14 49.948 3776
+-114.014 49.948 3611
+-113.888 49.948 3463
+-113.762 49.948 3322
+-113.636 49.948 3200
+-113.51 49.948 3093
+-113.384 49.948 3040
+-113.258 49.948 3018
+-113.132 49.948 3030
+-113.006 49.948 3071
+-112.88 49.948 3105
+-112.754 49.948 3156
+-112.628 49.948 3197
+-112.502 49.948 3240
+-112.376 49.948 3282
+-112.25 49.948 3314
+-112.124 49.948 3346
+-111.998 49.948 3362
+-111.872 49.948 3367
+-111.746 49.948 3391
+-111.62 49.948 3412
+-111.494 49.948 3431
+-111.368 49.948 3368
+-111.242 49.948 3366
+-111.116 49.948 3374
+-110.99 49.948 3383
+-110.864 49.948 3374
+-110.738 49.948 3369
+-110.612 49.948 3306
+-110.486 49.948 3310
+-110.36 49.948 3316
+-110.234 49.948 3321
+-110.108 49.948 3326
+-109.982 49.948 3331
+-109.856 49.948 3335
+-109.73 49.948 3339
+-109.604 49.948 3343
+-109.478 49.948 3346
+-109.352 49.948 3335
+-109.226 49.948 3288
+-109.1 49.948 3275
+-108.974 49.948 3278
+-108.848 49.948 3281
+-108.722 49.948 3284
+-108.596 49.948 3286
+-108.47 49.948 3289
+-108.344 49.948 3269
+-108.218 49.948 3272
+-108.092 49.948 3275
+-107.966 49.948 3278
+-107.84 49.948 3250
+-107.714 49.948 3253
+-107.588 49.948 3256
+-107.462 49.948 3259
+-107.336 49.948 3247
+-107.21 49.948 3249
+-107.084 49.948 3252
+-106.958 49.948 3255
+-106.832 49.948 3248
+-106.706 49.948 3251
+-106.58 49.948 3254
+-106.454 49.948 3257
+-106.328 49.948 3248
+-106.202 49.948 3251
+-106.076 49.948 3254
+-105.95 49.948 3256
+-105.824 49.948 3259
+-105.698 49.948 3262
+-105.572 49.948 3265
+-105.446 49.948 3267
+-105.32 49.948 3270
+-105.194 49.948 3272
+-105.068 49.948 3274
+-104.942 49.948 3213
+-104.816 49.948 3198
+-104.69 49.948 3200
+-104.564 49.948 3202
+-104.438 49.948 3204
+-104.312 49.948 3207
+-104.186 49.948 3178
+-104.06 49.948 3172
+-103.934 49.948 3175
+-103.808 49.948 3177
+-103.682 49.948 3155
+-103.556 49.948 3157
+-103.43 49.948 3159
+-103.304 49.948 3161
+-103.178 49.948 3163
+-103.052 49.948 3165
+-102.926 49.948 3167
+-102.8 49.948 3169
+-102.674 49.948 3171
+-102.548 49.948 3173
+-102.422 49.948 3174
+-102.296 49.948 3176
+-102.17 49.948 3086
+-102.044 49.948 3071
+-101.918 49.948 3070
+-101.792 49.948 3070
+-101.666 49.948 3031
+-101.54 49.948 3030
+-101.414 49.948 3029
+-101.288 49.948 3027
+-101.162 49.948 3026
+-101.036 49.948 2891
+-100.91 49.948 2888
+-100.784 49.948 2885
+-100.658 49.948 2881
+-100.532 49.948 2878
+-100.406 49.948 2847
+-100.28 49.948 2863
+-100.154 49.948 2810
+-100.028 49.948 2806
+-99.902 49.948 2803
+-99.776 49.948 2808
+-99.65 49.948 2721
+-99.524 49.948 2652
+-99.398 49.948 2650
+-99.272 49.948 2525
+-99.146 49.948 2558
+-99.02 49.948 2503
+-98.894 49.948 2502
+-98.768 49.948 2564
+-98.642 49.948 2777
+-98.516 49.948 2734
+-98.39 49.948 2711
+-98.264 49.948 2685
+-98.138 49.948 2685
+-98.012 49.948 2681
+-97.886 49.948 2696
+-97.76 49.948 2696
+-97.634 49.948 2794
+-97.508 49.948 2793
+-97.382 49.948 2791
+-97.256 49.948 2790
+-97.13 49.948 2789
+-97.004 49.948 2787
+-96.878 49.948 2786
+-96.752 49.948 2784
+-96.626 49.948 2783
+-96.5 49.948 2781
+-96.374 49.948 2780
+-96.248 49.948 2778
+-96.122 49.948 2777
+-95.996 49.948 2775
+-95.87 49.948 2774
+-95.744 49.948 2772
+-95.618 49.948 2771
+-95.492 49.948 2769
+-95.366 49.948 2768
+-95.24 49.948 2766
+-95.114 49.948 2765
+-94.988 49.948 2763
+-94.862 49.948 2762
+-94.736 49.948 2760
+-94.61 49.948 2759
+-94.484 49.948 2757
+-94.358 49.948 2756
+-94.232 49.948 2755
+-94.106 49.948 2753
+-93.98 49.948 2752
+-93.854 49.948 2750
+-93.728 49.948 2749
+-93.602 49.948 2747
+-93.476 49.948 2746
+-93.35 49.948 2745
+-93.224 49.948 2743
+-93.098 49.948 2742
+-92.972 49.948 2741
+-92.846 49.948 2739
+-92.72 49.948 2738
+-92.594 49.948 2737
+-92.468 49.948 2736
+-92.342 49.948 2735
+-92.216 49.948 2733
+-92.09 49.948 2732
+-91.964 49.948 2731
+-91.838 49.948 2730
+-91.712 49.948 2729
+-91.586 49.948 2728
+-91.46 49.948 2727
+-91.334 49.948 2727
+-91.208 49.948 2726
+-91.082 49.948 2725
+-90.956 49.948 2724
+-90.83 49.948 2723
+-90.704 49.948 2723
+-90.578 49.948 2674
+-90.452 49.948 2674
+-90.326 49.948 2673
+-90.2 49.948 2672
+-90.074 49.948 2672
+-89.948 49.948 2671
+-89.822 49.948 2671
+-89.696 49.948 2670
+-89.57 49.948 2670
+-89.444 49.948 2669
+-89.318 49.948 2669
+-89.192 49.948 2669
+-89.066 49.948 2668
+-88.94 49.948 2668
+-88.814 49.948 2668
+-88.688 49.948 2667
+-88.562 49.948 2667
+-88.436 49.948 2667
+-88.31 49.948 2667
+-88.184 49.948 2667
+-88.058 49.948 2667
+-87.932 49.948 2667
+-87.806 49.948 2667
+-87.68 49.948 2666
+-87.554 49.948 2666
+-87.428 49.948 2667
+-87.302 49.948 2667
+-87.176 49.948 2667
+-87.05 49.948 2667
+-86.924 49.948 2667
+-86.798 49.948 2667
+-86.672 49.948 2667
+-86.546 49.948 2667
+-86.42 49.948 2667
+-86.294 49.948 2667
+-86.168 49.948 2668
+-86.042 49.948 2668
+-85.916 49.948 2668
+-85.79 49.948 2668
+-85.664 49.948 2669
+-85.538 49.948 2669
+-85.412 49.948 2669
+-85.286 49.948 2669
+-85.16 49.948 2670
+-85.034 49.948 2670
+-84.908 49.948 2670
+-84.782 49.948 2670
+-84.656 49.948 2671
+-84.53 49.948 2671
+-84.404 49.948 2671
+-84.278 49.948 2672
+-84.152 49.948 2672
+-84.026 49.948 2672
+-83.9 49.948 2673
+-83.774 49.948 2673
+-83.648 49.948 2673
+-83.522 49.948 2674
+-83.396 49.948 2674
+-83.27 49.948 2674
+-83.144 49.948 2675
+-83.018 49.948 2675
+-82.892 49.948 2676
+-82.766 49.948 2676
+-82.64 49.948 2676
+-82.514 49.948 2677
+-82.388 49.948 2677
+-82.262 49.948 2678
+-82.136 49.948 2678
+-82.01 49.948 2678
+-81.884 49.948 2679
+-81.758 49.948 2679
+-81.632 49.948 2680
+-81.506 49.948 2680
+-81.38 49.948 2680
+-81.254 49.948 2681
+-81.128 49.948 2681
+-81.002 49.948 2682
+-80.876 49.948 2682
+-80.75 49.948 2683
+-80.624 49.948 2683
+-80.498 49.948 2683
+-80.372 49.948 2684
+-80.246 49.948 2684
+-80.12 49.948 2685
+-79.994 49.948 2685
+-79.868 49.948 2686
+-79.742 49.948 2686
+-79.616 49.948 2687
+-79.49 49.948 2687
+-79.364 49.948 2687
+-79.238 49.948 2688
+-79.112 49.948 2700
+-78.986 49.948 2700
+-78.86 49.948 2701
+-78.734 49.948 2701
+-78.608 49.948 2585
+-78.482 49.948 2585
+-78.356 49.948 2585
+-78.23 49.948 2585
+-78.104 49.948 2586
+-77.978 49.948 2586
+-77.852 49.948 2586
+-77.726 49.948 2586
+-77.6 49.948 2587
+-77.474 49.948 2587
+-77.348 49.948 2594
+-77.222 49.948 2601
+-77.096 49.948 2602
+-76.97 49.948 2602
+-76.844 49.948 2602
+-76.718 49.948 2620
+-76.592 49.948 2621
+-76.466 49.948 2621
+-76.34 49.948 2622
+-76.214 49.948 2625
+-76.088 49.948 2756
+-75.962 49.948 2756
+-75.836 49.948 2757
+-75.71 49.948 2764
+-75.584 49.948 2764
+-75.458 49.948 2764
+-75.332 49.948 2784
+-75.206 49.948 2762
+-75.08 49.948 2778
+-74.954 49.948 2778
+-74.828 49.948 2772
+-74.702 49.948 2773
+-74.576 49.948 2773
+-74.45 49.948 2773
+-74.324 49.948 2775
+-74.198 49.948 2867
+-74.072 49.948 2867
+-73.946 49.948 2867
+-73.82 49.948 2868
+-73.694 49.948 2888
+-73.568 49.948 2889
+-73.442 49.948 2865
+-73.316 49.948 2866
+-73.19 49.948 2866
+-73.064 49.948 2867
+-72.938 49.948 2835
+-72.812 49.948 2846
+-72.686 49.948 2846
+-72.56 49.948 2977
+-72.434 49.948 2934
+-72.308 49.948 2935
+-72.182 49.948 3081
+-72.056 49.948 3077
+-71.93 49.948 3035
+-71.804 49.948 3104
+-71.678 49.948 2985
+-71.552 49.948 3019
+-71.426 49.948 3078
+-71.3 49.948 2967
+-71.174 49.948 2975
+-71.048 49.948 2875
+-70.922 49.948 2870
+-70.796 49.948 2888
+-70.67 49.948 2857
+-70.544 49.948 2857
+-70.418 49.948 2858
+-70.292 49.948 2792
+-70.166 49.948 2840
+-70.04 49.948 2830
+-69.914 49.948 2818
+-69.788 49.948 2818
+-69.662 49.948 2819
+-69.536 49.948 2819
+-69.41 49.948 2754
+-69.284 49.948 2749
+-69.158 49.948 2749
+-69.032 49.948 2750
+-68.906 49.948 2750
+-68.78 49.948 2746
+-68.654 49.948 2687
+-68.528 49.948 2794
+-68.402 49.948 2789
+-68.276 49.948 2795
+-68.15 49.948 2796
+-68.024 49.948 2796
+-67.898 49.948 2797
+-67.772 49.948 2824
+-67.646 49.948 2799
+-67.52 49.948 2869
+-67.394 49.948 2870
+-67.268 49.948 2859
+-67.142 49.948 2868
+-67.016 49.948 2868
+-66.89 49.948 2869
+-66.764 49.948 2855
+-66.638 49.948 2972
+-66.512 49.948 2972
+-66.386 49.948 2973
+-66.26 49.948 2973
+-66.134 49.948 3072
+-66.008 49.948 3023
+-65.882 49.948 3170
+-65.756 49.948 3170
+-65.63 49.948 3130
+-65.504 49.948 3131
+-65.378 49.948 3131
+-65.252 49.948 3131
+-65.126 49.948 3131
+-128 49.896 3643
+-127.874 49.896 3682
+-127.748 49.896 3755
+-127.622 49.896 3875
+-127.496 49.896 4025
+-127.37 49.896 4125
+-127.244 49.896 4144
+-127.118 49.896 4146
+-126.992 49.896 4175
+-126.866 49.896 4280
+-126.74 49.896 4396
+-126.614 49.896 4524
+-126.488 49.896 4629
+-126.362 49.896 4734
+-126.236 49.896 4827
+-126.11 49.896 4908
+-125.984 49.896 5001
+-125.858 49.896 5175
+-125.732 49.896 5352
+-125.606 49.896 5450
+-125.48 49.896 5428
+-125.354 49.896 5555
+-125.228 49.896 5633
+-125.102 49.896 5621
+-124.976 49.896 5778
+-124.85 49.896 5796
+-124.724 49.896 5901
+-124.598 49.896 5972
+-124.472 49.896 6017
+-124.346 49.896 6111
+-124.22 49.896 6136
+-124.094 49.896 6193
+-123.968 49.896 6244
+-123.842 49.896 6281
+-123.716 49.896 6310
+-123.59 49.896 6358
+-123.464 49.896 6366
+-123.338 49.896 6390
+-123.212 49.896 6413
+-123.086 49.896 6411
+-122.96 49.896 6410
+-122.834 49.896 6411
+-122.708 49.896 6390
+-122.582 49.896 6394
+-122.456 49.896 6365
+-122.33 49.896 6348
+-122.204 49.896 6284
+-122.078 49.896 6261
+-121.952 49.896 6214
+-121.826 49.896 6199
+-121.7 49.896 6162
+-121.574 49.896 6095
+-121.448 49.896 6053
+-121.322 49.896 5954
+-121.196 49.896 5898
+-121.07 49.896 5815
+-120.944 49.896 5737
+-120.818 49.896 5655
+-120.692 49.896 5513
+-120.566 49.896 5482
+-120.44 49.896 5405
+-120.314 49.896 5303
+-120.188 49.896 5185
+-120.062 49.896 5104
+-119.936 49.896 5104
+-119.81 49.896 5073
+-119.684 49.896 5013
+-119.558 49.896 5084
+-119.432 49.896 5131
+-119.306 49.896 5169
+-119.18 49.896 5174
+-119.054 49.896 5184
+-118.928 49.896 5210
+-118.802 49.896 5254
+-118.676 49.896 5268
+-118.55 49.896 5265
+-118.424 49.896 5253
+-118.298 49.896 5273
+-118.172 49.896 5245
+-118.046 49.896 5239
+-117.92 49.896 5238
+-117.794 49.896 5234
+-117.668 49.896 5228
+-117.542 49.896 5192
+-117.416 49.896 5141
+-117.29 49.896 5106
+-117.164 49.896 5082
+-117.038 49.896 5016
+-116.912 49.896 5005
+-116.786 49.896 4962
+-116.66 49.896 4905
+-116.534 49.896 4852
+-116.408 49.896 4763
+-116.282 49.896 4712
+-116.156 49.896 4708
+-116.03 49.896 4679
+-115.904 49.896 4636
+-115.778 49.896 4570
+-115.652 49.896 4487
+-115.526 49.896 4372
+-115.4 49.896 4294
+-115.274 49.896 4216
+-115.148 49.896 4080
+-115.022 49.896 3961
+-114.896 49.896 4048
+-114.77 49.896 4081
+-114.644 49.896 4049
+-114.518 49.896 4009
+-114.392 49.896 3956
+-114.266 49.896 3875
+-114.14 49.896 3723
+-114.014 49.896 3572
+-113.888 49.896 3404
+-113.762 49.896 3230
+-113.636 49.896 3067
+-113.51 49.896 2978
+-113.384 49.896 2923
+-113.258 49.896 2890
+-113.132 49.896 2913
+-113.006 49.896 2968
+-112.88 49.896 3041
+-112.754 49.896 3105
+-112.628 49.896 3164
+-112.502 49.896 3219
+-112.376 49.896 3262
+-112.25 49.896 3303
+-112.124 49.896 3326
+-111.998 49.896 3336
+-111.872 49.896 3364
+-111.746 49.896 3389
+-111.62 49.896 3411
+-111.494 49.896 3354
+-111.368 49.896 3354
+-111.242 49.896 3363
+-111.116 49.896 3373
+-110.99 49.896 3365
+-110.864 49.896 3361
+-110.738 49.896 3300
+-110.612 49.896 3304
+-110.486 49.896 3310
+-110.36 49.896 3316
+-110.234 49.896 3321
+-110.108 49.896 3326
+-109.982 49.896 3330
+-109.856 49.896 3334
+-109.73 49.896 3338
+-109.604 49.896 3342
+-109.478 49.896 3330
+-109.352 49.896 3284
+-109.226 49.896 3271
+-109.1 49.896 3274
+-108.974 49.896 3277
+-108.848 49.896 3280
+-108.722 49.896 3283
+-108.596 49.896 3286
+-108.47 49.896 3265
+-108.344 49.896 3268
+-108.218 49.896 3271
+-108.092 49.896 3274
+-107.966 49.896 3247
+-107.84 49.896 3250
+-107.714 49.896 3253
+-107.588 49.896 3256
+-107.462 49.896 3244
+-107.336 49.896 3247
+-107.21 49.896 3250
+-107.084 49.896 3252
+-106.958 49.896 3246
+-106.832 49.896 3249
+-106.706 49.896 3252
+-106.58 49.896 3255
+-106.454 49.896 3245
+-106.328 49.896 3248
+-106.202 49.896 3251
+-106.076 49.896 3254
+-105.95 49.896 3257
+-105.824 49.896 3260
+-105.698 49.896 3263
+-105.572 49.896 3265
+-105.446 49.896 3268
+-105.32 49.896 3270
+-105.194 49.896 3273
+-105.068 49.896 3211
+-104.942 49.896 3196
+-104.816 49.896 3199
+-104.69 49.896 3201
+-104.564 49.896 3203
+-104.438 49.896 3205
+-104.312 49.896 3177
+-104.186 49.896 3171
+-104.06 49.896 3173
+-103.934 49.896 3176
+-103.808 49.896 3153
+-103.682 49.896 3156
+-103.556 49.896 3158
+-103.43 49.896 3160
+-103.304 49.896 3162
+-103.178 49.896 3164
+-103.052 49.896 3166
+-102.926 49.896 3168
+-102.8 49.896 3170
+-102.674 49.896 3172
+-102.548 49.896 3174
+-102.422 49.896 3176
+-102.296 49.896 3177
+-102.17 49.896 3087
+-102.044 49.896 3072
+-101.918 49.896 3071
+-101.792 49.896 3033
+-101.666 49.896 3032
+-101.54 49.896 3030
+-101.414 49.896 3029
+-101.288 49.896 3028
+-101.162 49.896 3026
+-101.036 49.896 2891
+-100.91 49.896 2888
+-100.784 49.896 2885
+-100.658 49.896 2881
+-100.532 49.896 2878
+-100.406 49.896 2866
+-100.28 49.896 2813
+-100.154 49.896 2809
+-100.028 49.896 2806
+-99.902 49.896 2811
+-99.776 49.896 2723
+-99.65 49.896 2653
+-99.524 49.896 2652
+-99.398 49.896 2526
+-99.272 49.896 2559
+-99.146 49.896 2504
+-99.02 49.896 2503
+-98.894 49.896 2565
+-98.768 49.896 2776
+-98.642 49.896 2734
+-98.516 49.896 2710
+-98.39 49.896 2685
+-98.264 49.896 2685
+-98.138 49.896 2686
+-98.012 49.896 2697
+-97.886 49.896 2696
+-97.76 49.896 2795
+-97.634 49.896 2794
+-97.508 49.896 2793
+-97.382 49.896 2791
+-97.256 49.896 2790
+-97.13 49.896 2788
+-97.004 49.896 2787
+-96.878 49.896 2785
+-96.752 49.896 2784
+-96.626 49.896 2782
+-96.5 49.896 2781
+-96.374 49.896 2779
+-96.248 49.896 2778
+-96.122 49.896 2776
+-95.996 49.896 2775
+-95.87 49.896 2773
+-95.744 49.896 2772
+-95.618 49.896 2770
+-95.492 49.896 2769
+-95.366 49.896 2767
+-95.24 49.896 2766
+-95.114 49.896 2764
+-94.988 49.896 2763
+-94.862 49.896 2761
+-94.736 49.896 2760
+-94.61 49.896 2758
+-94.484 49.896 2757
+-94.358 49.896 2755
+-94.232 49.896 2753
+-94.106 49.896 2752
+-93.98 49.896 2751
+-93.854 49.896 2749
+-93.728 49.896 2748
+-93.602 49.896 2746
+-93.476 49.896 2745
+-93.35 49.896 2743
+-93.224 49.896 2742
+-93.098 49.896 2741
+-92.972 49.896 2739
+-92.846 49.896 2738
+-92.72 49.896 2737
+-92.594 49.896 2735
+-92.468 49.896 2734
+-92.342 49.896 2733
+-92.216 49.896 2732
+-92.09 49.896 2731
+-91.964 49.896 2730
+-91.838 49.896 2729
+-91.712 49.896 2728
+-91.586 49.896 2727
+-91.46 49.896 2726
+-91.334 49.896 2725
+-91.208 49.896 2724
+-91.082 49.896 2723
+-90.956 49.896 2722
+-90.83 49.896 2721
+-90.704 49.896 2721
+-90.578 49.896 2720
+-90.452 49.896 2672
+-90.326 49.896 2671
+-90.2 49.896 2671
+-90.074 49.896 2670
+-89.948 49.896 2669
+-89.822 49.896 2669
+-89.696 49.896 2668
+-89.57 49.896 2668
+-89.444 49.896 2668
+-89.318 49.896 2667
+-89.192 49.896 2667
+-89.066 49.896 2666
+-88.94 49.896 2666
+-88.814 49.896 2666
+-88.688 49.896 2666
+-88.562 49.896 2666
+-88.436 49.896 2665
+-88.31 49.896 2665
+-88.184 49.896 2665
+-88.058 49.896 2665
+-87.932 49.896 2665
+-87.806 49.896 2665
+-87.68 49.896 2665
+-87.554 49.896 2665
+-87.428 49.896 2665
+-87.302 49.896 2665
+-87.176 49.896 2665
+-87.05 49.896 2665
+-86.924 49.896 2665
+-86.798 49.896 2665
+-86.672 49.896 2666
+-86.546 49.896 2666
+-86.42 49.896 2666
+-86.294 49.896 2666
+-86.168 49.896 2666
+-86.042 49.896 2666
+-85.916 49.896 2667
+-85.79 49.896 2667
+-85.664 49.896 2667
+-85.538 49.896 2667
+-85.412 49.896 2668
+-85.286 49.896 2668
+-85.16 49.896 2668
+-85.034 49.896 2669
+-84.908 49.896 2669
+-84.782 49.896 2669
+-84.656 49.896 2670
+-84.53 49.896 2670
+-84.404 49.896 2670
+-84.278 49.896 2671
+-84.152 49.896 2671
+-84.026 49.896 2671
+-83.9 49.896 2672
+-83.774 49.896 2672
+-83.648 49.896 2672
+-83.522 49.896 2673
+-83.396 49.896 2673
+-83.27 49.896 2673
+-83.144 49.896 2674
+-83.018 49.896 2674
+-82.892 49.896 2675
+-82.766 49.896 2675
+-82.64 49.896 2675
+-82.514 49.896 2676
+-82.388 49.896 2676
+-82.262 49.896 2677
+-82.136 49.896 2677
+-82.01 49.896 2677
+-81.884 49.896 2678
+-81.758 49.896 2678
+-81.632 49.896 2679
+-81.506 49.896 2679
+-81.38 49.896 2680
+-81.254 49.896 2680
+-81.128 49.896 2680
+-81.002 49.896 2681
+-80.876 49.896 2681
+-80.75 49.896 2682
+-80.624 49.896 2682
+-80.498 49.896 2683
+-80.372 49.896 2683
+-80.246 49.896 2684
+-80.12 49.896 2684
+-79.994 49.896 2684
+-79.868 49.896 2685
+-79.742 49.896 2685
+-79.616 49.896 2686
+-79.49 49.896 2686
+-79.364 49.896 2687
+-79.238 49.896 2699
+-79.112 49.896 2699
+-78.986 49.896 2700
+-78.86 49.896 2700
+-78.734 49.896 2584
+-78.608 49.896 2584
+-78.482 49.896 2584
+-78.356 49.896 2584
+-78.23 49.896 2585
+-78.104 49.896 2585
+-77.978 49.896 2585
+-77.852 49.896 2585
+-77.726 49.896 2586
+-77.6 49.896 2586
+-77.474 49.896 2593
+-77.348 49.896 2600
+-77.222 49.896 2601
+-77.096 49.896 2601
+-76.97 49.896 2601
+-76.844 49.896 2620
+-76.718 49.896 2620
+-76.592 49.896 2620
+-76.466 49.896 2621
+-76.34 49.896 2624
+-76.214 49.896 2755
+-76.088 49.896 2756
+-75.962 49.896 2756
+-75.836 49.896 2763
+-75.71 49.896 2764
+-75.584 49.896 2763
+-75.458 49.896 2783
+-75.332 49.896 2761
+-75.206 49.896 2777
+-75.08 49.896 2777
+-74.954 49.896 2772
+-74.828 49.896 2772
+-74.702 49.896 2772
+-74.576 49.896 2773
+-74.45 49.896 2774
+-74.324 49.896 2866
+-74.198 49.896 2866
+-74.072 49.896 2867
+-73.946 49.896 2867
+-73.82 49.896 2887
+-73.694 49.896 2888
+-73.568 49.896 2864
+-73.442 49.896 2865
+-73.316 49.896 2865
+-73.19 49.896 2866
+-73.064 49.896 2834
+-72.938 49.896 2845
+-72.812 49.896 2845
+-72.686 49.896 2976
+-72.56 49.896 2933
+-72.434 49.896 2934
+-72.308 49.896 3080
+-72.182 49.896 3076
+-72.056 49.896 3034
+-71.93 49.896 3103
+-71.804 49.896 2984
+-71.678 49.896 3018
+-71.552 49.896 3077
+-71.426 49.896 2967
+-71.3 49.896 2974
+-71.174 49.896 2874
+-71.048 49.896 2870
+-70.922 49.896 2888
+-70.796 49.896 2856
+-70.67 49.896 2856
+-70.544 49.896 2857
+-70.418 49.896 2791
+-70.292 49.896 2839
+-70.166 49.896 2830
+-70.04 49.896 2817
+-69.914 49.896 2818
+-69.788 49.896 2818
+-69.662 49.896 2819
+-69.536 49.896 2754
+-69.41 49.896 2748
+-69.284 49.896 2749
+-69.158 49.896 2749
+-69.032 49.896 2750
+-68.906 49.896 2745
+-68.78 49.896 2687
+-68.654 49.896 2794
+-68.528 49.896 2789
+-68.402 49.896 2795
+-68.276 49.896 2795
+-68.15 49.896 2796
+-68.024 49.896 2796
+-67.898 49.896 2823
+-67.772 49.896 2799
+-67.646 49.896 2869
+-67.52 49.896 2870
+-67.394 49.896 2859
+-67.268 49.896 2867
+-67.142 49.896 2868
+-67.016 49.896 2868
+-66.89 49.896 2854
+-66.764 49.896 2971
+-66.638 49.896 2972
+-66.512 49.896 2972
+-66.386 49.896 2973
+-66.26 49.896 3072
+-66.134 49.896 3023
+-66.008 49.896 3170
+-65.882 49.896 3170
+-65.756 49.896 3130
+-65.63 49.896 3130
+-65.504 49.896 3131
+-65.378 49.896 3131
+-65.252 49.896 3131
+-65.126 49.896 3131
+-128 49.844 3447
+-127.874 49.844 3576
+-127.748 49.844 3783
+-127.622 49.844 3952
+-127.496 49.844 4075
+-127.37 49.844 4138
+-127.244 49.844 4112
+-127.118 49.844 4011
+-126.992 49.844 4174
+-126.866 49.844 4304
+-126.74 49.844 4443
+-126.614 49.844 4571
+-126.488 49.844 4688
+-126.362 49.844 4786
+-126.236 49.844 4823
+-126.11 49.844 4925
+-125.984 49.844 5000
+-125.858 49.844 5171
+-125.732 49.844 5354
+-125.606 49.844 5430
+-125.48 49.844 5493
+-125.354 49.844 5587
+-125.228 49.844 5671
+-125.102 49.844 5722
+-124.976 49.844 5817
+-124.85 49.844 5818
+-124.724 49.844 5928
+-124.598 49.844 5958
+-124.472 49.844 6090
+-124.346 49.844 6108
+-124.22 49.844 6181
+-124.094 49.844 6223
+-123.968 49.844 6277
+-123.842 49.844 6312
+-123.716 49.844 6362
+-123.59 49.844 6419
+-123.464 49.844 6449
+-123.338 49.844 6469
+-123.212 49.844 6476
+-123.086 49.844 6482
+-122.96 49.844 6496
+-122.834 49.844 6474
+-122.708 49.844 6450
+-122.582 49.844 6434
+-122.456 49.844 6424
+-122.33 49.844 6368
+-122.204 49.844 6355
+-122.078 49.844 6315
+-121.952 49.844 6262
+-121.826 49.844 6235
+-121.7 49.844 6191
+-121.574 49.844 6119
+-121.448 49.844 6103
+-121.322 49.844 6026
+-121.196 49.844 5957
+-121.07 49.844 5862
+-120.944 49.844 5785
+-120.818 49.844 5703
+-120.692 49.844 5594
+-120.566 49.844 5476
+-120.44 49.844 5401
+-120.314 49.844 5284
+-120.188 49.844 5227
+-120.062 49.844 5048
+-119.936 49.844 5106
+-119.81 49.844 5093
+-119.684 49.844 5043
+-119.558 49.844 5117
+-119.432 49.844 5180
+-119.306 49.844 5201
+-119.18 49.844 5216
+-119.054 49.844 5262
+-118.928 49.844 5272
+-118.802 49.844 5312
+-118.676 49.844 5300
+-118.55 49.844 5292
+-118.424 49.844 5320
+-118.298 49.844 5303
+-118.172 49.844 5299
+-118.046 49.844 5294
+-117.92 49.844 5289
+-117.794 49.844 5260
+-117.668 49.844 5276
+-117.542 49.844 5250
+-117.416 49.844 5193
+-117.29 49.844 5147
+-117.164 49.844 5126
+-117.038 49.844 5077
+-116.912 49.844 5045
+-116.786 49.844 5032
+-116.66 49.844 4981
+-116.534 49.844 4916
+-116.408 49.844 4826
+-116.282 49.844 4768
+-116.156 49.844 4748
+-116.03 49.844 4716
+-115.904 49.844 4661
+-115.778 49.844 4593
+-115.652 49.844 4512
+-115.526 49.844 4429
+-115.4 49.844 4346
+-115.274 49.844 4268
+-115.148 49.844 4153
+-115.022 49.844 4072
+-114.896 49.844 4106
+-114.77 49.844 4118
+-114.644 49.844 4044
+-114.518 49.844 4012
+-114.392 49.844 3959
+-114.266 49.844 3859
+-114.14 49.844 3712
+-114.014 49.844 3554
+-113.888 49.844 3359
+-113.762 49.844 3131
+-113.636 49.844 2962
+-113.51 49.844 2879
+-113.384 49.844 2825
+-113.258 49.844 2743
+-113.132 49.844 2789
+-113.006 49.844 2894
+-112.88 49.844 2990
+-112.754 49.844 3073
+-112.628 49.844 3146
+-112.502 49.844 3203
+-112.376 49.844 3254
+-112.25 49.844 3286
+-112.124 49.844 3303
+-111.998 49.844 3336
+-111.872 49.844 3365
+-111.746 49.844 3390
+-111.62 49.844 3339
+-111.494 49.844 3341
+-111.368 49.844 3352
+-111.242 49.844 3362
+-111.116 49.844 3356
+-110.99 49.844 3353
+-110.864 49.844 3294
+-110.738 49.844 3298
+-110.612 49.844 3304
+-110.486 49.844 3310
+-110.36 49.844 3316
+-110.234 49.844 3320
+-110.108 49.844 3325
+-109.982 49.844 3329
+-109.856 49.844 3333
+-109.73 49.844 3337
+-109.604 49.844 3326
+-109.478 49.844 3280
+-109.352 49.844 3268
+-109.226 49.844 3271
+-109.1 49.844 3274
+-108.974 49.844 3277
+-108.848 49.844 3280
+-108.722 49.844 3282
+-108.596 49.844 3262
+-108.47 49.844 3265
+-108.344 49.844 3268
+-108.218 49.844 3271
+-108.092 49.844 3243
+-107.966 49.844 3247
+-107.84 49.844 3250
+-107.714 49.844 3253
+-107.588 49.844 3241
+-107.462 49.844 3244
+-107.336 49.844 3247
+-107.21 49.844 3250
+-107.084 49.844 3243
+-106.958 49.844 3246
+-106.832 49.844 3249
+-106.706 49.844 3252
+-106.58 49.844 3243
+-106.454 49.844 3246
+-106.328 49.844 3249
+-106.202 49.844 3252
+-106.076 49.844 3255
+-105.95 49.844 3258
+-105.824 49.844 3261
+-105.698 49.844 3264
+-105.572 49.844 3266
+-105.446 49.844 3269
+-105.32 49.844 3271
+-105.194 49.844 3209
+-105.068 49.844 3195
+-104.942 49.844 3197
+-104.816 49.844 3200
+-104.69 49.844 3202
+-104.564 49.844 3204
+-104.438 49.844 3175
+-104.312 49.844 3169
+-104.186 49.844 3172
+-104.06 49.844 3175
+-103.934 49.844 3152
+-103.808 49.844 3155
+-103.682 49.844 3157
+-103.556 49.844 3159
+-103.43 49.844 3161
+-103.304 49.844 3163
+-103.178 49.844 3165
+-103.052 49.844 3167
+-102.926 49.844 3169
+-102.8 49.844 3171
+-102.674 49.844 3173
+-102.548 49.844 3175
+-102.422 49.844 3177
+-102.296 49.844 3178
+-102.17 49.844 3087
+-102.044 49.844 3073
+-101.918 49.844 3034
+-101.792 49.844 3033
+-101.666 49.844 3032
+-101.54 49.844 3031
+-101.414 49.844 3030
+-101.288 49.844 3028
+-101.162 49.844 3027
+-101.036 49.844 2891
+-100.91 49.844 2888
+-100.784 49.844 2885
+-100.658 49.844 2881
+-100.532 49.844 2870
+-100.406 49.844 2816
+-100.28 49.844 2812
+-100.154 49.844 2809
+-100.028 49.844 2832
+-99.902 49.844 2724
+-99.776 49.844 2654
+-99.65 49.844 2653
+-99.524 49.844 2684
+-99.398 49.844 2560
+-99.272 49.844 2504
+-99.146 49.844 2504
+-99.02 49.844 2566
+-98.894 49.844 2776
+-98.768 49.844 2733
+-98.642 49.844 2710
+-98.516 49.844 2685
+-98.39 49.844 2686
+-98.264 49.844 2686
+-98.138 49.844 2698
+-98.012 49.844 2697
+-97.886 49.844 2797
+-97.76 49.844 2795
+-97.634 49.844 2794
+-97.508 49.844 2792
+-97.382 49.844 2791
+-97.256 49.844 2790
+-97.13 49.844 2788
+-97.004 49.844 2787
+-96.878 49.844 2785
+-96.752 49.844 2784
+-96.626 49.844 2782
+-96.5 49.844 2781
+-96.374 49.844 2779
+-96.248 49.844 2778
+-96.122 49.844 2776
+-95.996 49.844 2774
+-95.87 49.844 2773
+-95.744 49.844 2771
+-95.618 49.844 2770
+-95.492 49.844 2768
+-95.366 49.844 2767
+-95.24 49.844 2765
+-95.114 49.844 2763
+-94.988 49.844 2762
+-94.862 49.844 2760
+-94.736 49.844 2759
+-94.61 49.844 2757
+-94.484 49.844 2756
+-94.358 49.844 2754
+-94.232 49.844 2752
+-94.106 49.844 2751
+-93.98 49.844 2749
+-93.854 49.844 2748
+-93.728 49.844 2746
+-93.602 49.844 2745
+-93.476 49.844 2743
+-93.35 49.844 2742
+-93.224 49.844 2741
+-93.098 49.844 2739
+-92.972 49.844 2738
+-92.846 49.844 2736
+-92.72 49.844 2735
+-92.594 49.844 2734
+-92.468 49.844 2733
+-92.342 49.844 2731
+-92.216 49.844 2730
+-92.09 49.844 2729
+-91.964 49.844 2728
+-91.838 49.844 2727
+-91.712 49.844 2726
+-91.586 49.844 2725
+-91.46 49.844 2724
+-91.334 49.844 2723
+-91.208 49.844 2722
+-91.082 49.844 2721
+-90.956 49.844 2720
+-90.83 49.844 2720
+-90.704 49.844 2719
+-90.578 49.844 2718
+-90.452 49.844 2670
+-90.326 49.844 2669
+-90.2 49.844 2669
+-90.074 49.844 2668
+-89.948 49.844 2668
+-89.822 49.844 2667
+-89.696 49.844 2667
+-89.57 49.844 2666
+-89.444 49.844 2666
+-89.318 49.844 2665
+-89.192 49.844 2665
+-89.066 49.844 2665
+-88.94 49.844 2664
+-88.814 49.844 2664
+-88.688 49.844 2664
+-88.562 49.844 2664
+-88.436 49.844 2664
+-88.31 49.844 2664
+-88.184 49.844 2663
+-88.058 49.844 2663
+-87.932 49.844 2663
+-87.806 49.844 2663
+-87.68 49.844 2663
+-87.554 49.844 2663
+-87.428 49.844 2663
+-87.302 49.844 2663
+-87.176 49.844 2664
+-87.05 49.844 2664
+-86.924 49.844 2664
+-86.798 49.844 2664
+-86.672 49.844 2664
+-86.546 49.844 2664
+-86.42 49.844 2664
+-86.294 49.844 2665
+-86.168 49.844 2665
+-86.042 49.844 2665
+-85.916 49.844 2665
+-85.79 49.844 2666
+-85.664 49.844 2666
+-85.538 49.844 2666
+-85.412 49.844 2666
+-85.286 49.844 2667
+-85.16 49.844 2667
+-85.034 49.844 2667
+-84.908 49.844 2668
+-84.782 49.844 2668
+-84.656 49.844 2668
+-84.53 49.844 2669
+-84.404 49.844 2669
+-84.278 49.844 2669
+-84.152 49.844 2670
+-84.026 49.844 2670
+-83.9 49.844 2670
+-83.774 49.844 2671
+-83.648 49.844 2671
+-83.522 49.844 2672
+-83.396 49.844 2672
+-83.27 49.844 2672
+-83.144 49.844 2673
+-83.018 49.844 2673
+-82.892 49.844 2674
+-82.766 49.844 2674
+-82.64 49.844 2674
+-82.514 49.844 2675
+-82.388 49.844 2675
+-82.262 49.844 2676
+-82.136 49.844 2676
+-82.01 49.844 2677
+-81.884 49.844 2677
+-81.758 49.844 2677
+-81.632 49.844 2678
+-81.506 49.844 2678
+-81.38 49.844 2679
+-81.254 49.844 2679
+-81.128 49.844 2680
+-81.002 49.844 2680
+-80.876 49.844 2681
+-80.75 49.844 2681
+-80.624 49.844 2681
+-80.498 49.844 2682
+-80.372 49.844 2682
+-80.246 49.844 2683
+-80.12 49.844 2683
+-79.994 49.844 2684
+-79.868 49.844 2684
+-79.742 49.844 2685
+-79.616 49.844 2685
+-79.49 49.844 2686
+-79.364 49.844 2697
+-79.238 49.844 2698
+-79.112 49.844 2698
+-78.986 49.844 2699
+-78.86 49.844 2583
+-78.734 49.844 2583
+-78.608 49.844 2583
+-78.482 49.844 2583
+-78.356 49.844 2584
+-78.23 49.844 2584
+-78.104 49.844 2584
+-77.978 49.844 2585
+-77.852 49.844 2585
+-77.726 49.844 2585
+-77.6 49.844 2592
+-77.474 49.844 2600
+-77.348 49.844 2600
+-77.222 49.844 2600
+-77.096 49.844 2601
+-76.97 49.844 2619
+-76.844 49.844 2619
+-76.718 49.844 2619
+-76.592 49.844 2620
+-76.466 49.844 2623
+-76.34 49.844 2754
+-76.214 49.844 2755
+-76.088 49.844 2755
+-75.962 49.844 2762
+-75.836 49.844 2763
+-75.71 49.844 2762
+-75.584 49.844 2782
+-75.458 49.844 2760
+-75.332 49.844 2776
+-75.206 49.844 2776
+-75.08 49.844 2771
+-74.954 49.844 2771
+-74.828 49.844 2771
+-74.702 49.844 2772
+-74.576 49.844 2773
+-74.45 49.844 2865
+-74.324 49.844 2865
+-74.198 49.844 2866
+-74.072 49.844 2866
+-73.946 49.844 2886
+-73.82 49.844 2887
+-73.694 49.844 2864
+-73.568 49.844 2864
+-73.442 49.844 2864
+-73.316 49.844 2865
+-73.19 49.844 2833
+-73.064 49.844 2844
+-72.938 49.844 2845
+-72.812 49.844 2975
+-72.686 49.844 2933
+-72.56 49.844 2933
+-72.434 49.844 3079
+-72.308 49.844 3075
+-72.182 49.844 3033
+-72.056 49.844 3102
+-71.93 49.844 2983
+-71.804 49.844 3017
+-71.678 49.844 3075
+-71.552 49.844 2966
+-71.426 49.844 2973
+-71.3 49.844 2873
+-71.174 49.844 2869
+-71.048 49.844 2887
+-70.922 49.844 2855
+-70.796 49.844 2856
+-70.67 49.844 2856
+-70.544 49.844 2791
+-70.418 49.844 2838
+-70.292 49.844 2829
+-70.166 49.844 2817
+-70.04 49.844 2817
+-69.914 49.844 2818
+-69.788 49.844 2818
+-69.662 49.844 2753
+-69.536 49.844 2748
+-69.41 49.844 2748
+-69.284 49.844 2749
+-69.158 49.844 2749
+-69.032 49.844 2745
+-68.906 49.844 2686
+-68.78 49.844 2793
+-68.654 49.844 2788
+-68.528 49.844 2794
+-68.402 49.844 2795
+-68.276 49.844 2795
+-68.15 49.844 2796
+-68.024 49.844 2823
+-67.898 49.844 2798
+-67.772 49.844 2868
+-67.646 49.844 2869
+-67.52 49.844 2858
+-67.394 49.844 2867
+-67.268 49.844 2867
+-67.142 49.844 2868
+-67.016 49.844 2854
+-66.89 49.844 2971
+-66.764 49.844 2971
+-66.638 49.844 2972
+-66.512 49.844 2972
+-66.386 49.844 3072
+-66.26 49.844 3022
+-66.134 49.844 3169
+-66.008 49.844 3170
+-65.882 49.844 3130
+-65.756 49.844 3130
+-65.63 49.844 3130
+-65.504 49.844 3131
+-65.378 49.844 3131
+-65.252 49.844 3131
+-65.126 49.844 3235
+-128 49.792 3304
+-127.874 49.792 3477
+-127.748 49.792 3781
+-127.622 49.792 3990
+-127.496 49.792 4114
+-127.37 49.792 4167
+-127.244 49.792 4163
+-127.118 49.792 4151
+-126.992 49.792 4242
+-126.866 49.792 4359
+-126.74 49.792 4495
+-126.614 49.792 4604
+-126.488 49.792 4714
+-126.362 49.792 4789
+-126.236 49.792 4842
+-126.11 49.792 4929
+-125.984 49.792 5034
+-125.858 49.792 5224
+-125.732 49.792 5361
+-125.606 49.792 5357
+-125.48 49.792 5513
+-125.354 49.792 5608
+-125.228 49.792 5690
+-125.102 49.792 5768
+-124.976 49.792 5853
+-124.85 49.792 5884
+-124.724 49.792 5965
+-124.598 49.792 6029
+-124.472 49.792 6095
+-124.346 49.792 6121
+-124.22 49.792 6206
+-124.094 49.792 6265
+-123.968 49.792 6318
+-123.842 49.792 6359
+-123.716 49.792 6419
+-123.59 49.792 6467
+-123.464 49.792 6500
+-123.338 49.792 6494
+-123.212 49.792 6521
+-123.086 49.792 6551
+-122.96 49.792 6525
+-122.834 49.792 6525
+-122.708 49.792 6509
+-122.582 49.792 6510
+-122.456 49.792 6470
+-122.33 49.792 6434
+-122.204 49.792 6397
+-122.078 49.792 6392
+-121.952 49.792 6323
+-121.826 49.792 6285
+-121.7 49.792 6238
+-121.574 49.792 6204
+-121.448 49.792 6161
+-121.322 49.792 6091
+-121.196 49.792 6018
+-121.07 49.792 5929
+-120.944 49.792 5811
+-120.818 49.792 5774
+-120.692 49.792 5663
+-120.566 49.792 5540
+-120.44 49.792 5436
+-120.314 49.792 5325
+-120.188 49.792 5207
+-120.062 49.792 5131
+-119.936 49.792 5126
+-119.81 49.792 5133
+-119.684 49.792 5146
+-119.558 49.792 5181
+-119.432 49.792 5189
+-119.306 49.792 5244
+-119.18 49.792 5277
+-119.054 49.792 5304
+-118.928 49.792 5320
+-118.802 49.792 5343
+-118.676 49.792 5337
+-118.55 49.792 5351
+-118.424 49.792 5399
+-118.298 49.792 5372
+-118.172 49.792 5356
+-118.046 49.792 5346
+-117.92 49.792 5340
+-117.794 49.792 5318
+-117.668 49.792 5326
+-117.542 49.792 5302
+-117.416 49.792 5265
+-117.29 49.792 5217
+-117.164 49.792 5189
+-117.038 49.792 5170
+-116.912 49.792 5111
+-116.786 49.792 5051
+-116.66 49.792 5025
+-116.534 49.792 4982
+-116.408 49.792 4911
+-116.282 49.792 4830
+-116.156 49.792 4792
+-116.03 49.792 4733
+-115.904 49.792 4669
+-115.778 49.792 4593
+-115.652 49.792 4511
+-115.526 49.792 4447
+-115.4 49.792 4378
+-115.274 49.792 4300
+-115.148 49.792 4245
+-115.022 49.792 4193
+-114.896 49.792 4163
+-114.77 49.792 4120
+-114.644 49.792 4071
+-114.518 49.792 4008
+-114.392 49.792 3944
+-114.266 49.792 3842
+-114.14 49.792 3722
+-114.014 49.792 3556
+-113.888 49.792 3319
+-113.762 49.792 3102
+-113.636 49.792 2912
+-113.51 49.792 2834
+-113.384 49.792 2784
+-113.258 49.792 2633
+-113.132 49.792 2730
+-113.006 49.792 2862
+-112.88 49.792 2972
+-112.754 49.792 3065
+-112.628 49.792 3137
+-112.502 49.792 3200
+-112.376 49.792 3243
+-112.25 49.792 3267
+-112.124 49.792 3306
+-111.998 49.792 3339
+-111.872 49.792 3368
+-111.746 49.792 3323
+-111.62 49.792 3328
+-111.494 49.792 3340
+-111.368 49.792 3351
+-111.242 49.792 3347
+-111.116 49.792 3345
+-110.99 49.792 3288
+-110.864 49.792 3292
+-110.738 49.792 3299
+-110.612 49.792 3305
+-110.486 49.792 3310
+-110.36 49.792 3315
+-110.234 49.792 3320
+-110.108 49.792 3325
+-109.982 49.792 3329
+-109.856 49.792 3333
+-109.73 49.792 3321
+-109.604 49.792 3277
+-109.478 49.792 3264
+-109.352 49.792 3267
+-109.226 49.792 3270
+-109.1 49.792 3273
+-108.974 49.792 3276
+-108.848 49.792 3279
+-108.722 49.792 3258
+-108.596 49.792 3261
+-108.47 49.792 3265
+-108.344 49.792 3268
+-108.218 49.792 3240
+-108.092 49.792 3243
+-107.966 49.792 3247
+-107.84 49.792 3250
+-107.714 49.792 3238
+-107.588 49.792 3241
+-107.462 49.792 3244
+-107.336 49.792 3247
+-107.21 49.792 3240
+-107.084 49.792 3244
+-106.958 49.792 3247
+-106.832 49.792 3250
+-106.706 49.792 3240
+-106.58 49.792 3244
+-106.454 49.792 3247
+-106.328 49.792 3250
+-106.202 49.792 3253
+-106.076 49.792 3256
+-105.95 49.792 3259
+-105.824 49.792 3262
+-105.698 49.792 3265
+-105.572 49.792 3267
+-105.446 49.792 3270
+-105.32 49.792 3208
+-105.194 49.792 3193
+-105.068 49.792 3196
+-104.942 49.792 3198
+-104.816 49.792 3201
+-104.69 49.792 3203
+-104.564 49.792 3173
+-104.438 49.792 3168
+-104.312 49.792 3171
+-104.186 49.792 3173
+-104.06 49.792 3151
+-103.934 49.792 3153
+-103.808 49.792 3156
+-103.682 49.792 3158
+-103.556 49.792 3160
+-103.43 49.792 3162
+-103.304 49.792 3164
+-103.178 49.792 3167
+-103.052 49.792 3169
+-102.926 49.792 3170
+-102.8 49.792 3172
+-102.674 49.792 3174
+-102.548 49.792 3176
+-102.422 49.792 3178
+-102.296 49.792 3180
+-102.17 49.792 3154
+-102.044 49.792 3036
+-101.918 49.792 3035
+-101.792 49.792 3034
+-101.666 49.792 3033
+-101.54 49.792 3031
+-101.414 49.792 3030
+-101.288 49.792 3029
+-101.162 49.792 3027
+-101.036 49.792 2892
+-100.91 49.792 2888
+-100.784 49.792 2885
+-100.658 49.792 2873
+-100.532 49.792 2820
+-100.406 49.792 2816
+-100.28 49.792 2812
+-100.154 49.792 2834
+-100.028 49.792 2725
+-99.902 49.792 2656
+-99.776 49.792 2654
+-99.65 49.792 2685
+-99.524 49.792 2574
+-99.398 49.792 2633
+-99.272 49.792 2505
+-99.146 49.792 2566
+-99.02 49.792 2776
+-98.894 49.792 2736
+-98.768 49.792 2709
+-98.642 49.792 2685
+-98.516 49.792 2686
+-98.39 49.792 2686
+-98.264 49.792 2699
+-98.138 49.792 2698
+-98.012 49.792 2798
+-97.886 49.792 2797
+-97.76 49.792 2795
+-97.634 49.792 2794
+-97.508 49.792 2792
+-97.382 49.792 2791
+-97.256 49.792 2789
+-97.13 49.792 2788
+-97.004 49.792 2786
+-96.878 49.792 2785
+-96.752 49.792 2783
+-96.626 49.792 2782
+-96.5 49.792 2780
+-96.374 49.792 2779
+-96.248 49.792 2777
+-96.122 49.792 2775
+-95.996 49.792 2774
+-95.87 49.792 2772
+-95.744 49.792 2771
+-95.618 49.792 2769
+-95.492 49.792 2767
+-95.366 49.792 2766
+-95.24 49.792 2764
+-95.114 49.792 2763
+-94.988 49.792 2761
+-94.862 49.792 2759
+-94.736 49.792 2758
+-94.61 49.792 2756
+-94.484 49.792 2755
+-94.358 49.792 2753
+-94.232 49.792 2751
+-94.106 49.792 2750
+-93.98 49.792 2748
+-93.854 49.792 2747
+-93.728 49.792 2745
+-93.602 49.792 2744
+-93.476 49.792 2742
+-93.35 49.792 2741
+-93.224 49.792 2739
+-93.098 49.792 2738
+-92.972 49.792 2736
+-92.846 49.792 2735
+-92.72 49.792 2734
+-92.594 49.792 2732
+-92.468 49.792 2731
+-92.342 49.792 2730
+-92.216 49.792 2728
+-92.09 49.792 2727
+-91.964 49.792 2726
+-91.838 49.792 2725
+-91.712 49.792 2724
+-91.586 49.792 2723
+-91.46 49.792 2722
+-91.334 49.792 2721
+-91.208 49.792 2720
+-91.082 49.792 2719
+-90.956 49.792 2718
+-90.83 49.792 2718
+-90.704 49.792 2717
+-90.578 49.792 2716
+-90.452 49.792 2668
+-90.326 49.792 2668
+-90.2 49.792 2667
+-90.074 49.792 2666
+-89.948 49.792 2666
+-89.822 49.792 2665
+-89.696 49.792 2665
+-89.57 49.792 2664
+-89.444 49.792 2664
+-89.318 49.792 2664
+-89.192 49.792 2663
+-89.066 49.792 2663
+-88.94 49.792 2663
+-88.814 49.792 2662
+-88.688 49.792 2662
+-88.562 49.792 2662
+-88.436 49.792 2662
+-88.31 49.792 2662
+-88.184 49.792 2662
+-88.058 49.792 2662
+-87.932 49.792 2662
+-87.806 49.792 2662
+-87.68 49.792 2662
+-87.554 49.792 2662
+-87.428 49.792 2662
+-87.302 49.792 2662
+-87.176 49.792 2662
+-87.05 49.792 2662
+-86.924 49.792 2662
+-86.798 49.792 2662
+-86.672 49.792 2663
+-86.546 49.792 2663
+-86.42 49.792 2663
+-86.294 49.792 2663
+-86.168 49.792 2663
+-86.042 49.792 2664
+-85.916 49.792 2664
+-85.79 49.792 2664
+-85.664 49.792 2664
+-85.538 49.792 2665
+-85.412 49.792 2665
+-85.286 49.792 2665
+-85.16 49.792 2666
+-85.034 49.792 2666
+-84.908 49.792 2666
+-84.782 49.792 2667
+-84.656 49.792 2667
+-84.53 49.792 2667
+-84.404 49.792 2668
+-84.278 49.792 2668
+-84.152 49.792 2669
+-84.026 49.792 2669
+-83.9 49.792 2669
+-83.774 49.792 2670
+-83.648 49.792 2670
+-83.522 49.792 2671
+-83.396 49.792 2671
+-83.27 49.792 2671
+-83.144 49.792 2672
+-83.018 49.792 2672
+-82.892 49.792 2673
+-82.766 49.792 2673
+-82.64 49.792 2673
+-82.514 49.792 2674
+-82.388 49.792 2674
+-82.262 49.792 2675
+-82.136 49.792 2675
+-82.01 49.792 2676
+-81.884 49.792 2676
+-81.758 49.792 2677
+-81.632 49.792 2677
+-81.506 49.792 2677
+-81.38 49.792 2678
+-81.254 49.792 2678
+-81.128 49.792 2679
+-81.002 49.792 2679
+-80.876 49.792 2680
+-80.75 49.792 2680
+-80.624 49.792 2681
+-80.498 49.792 2681
+-80.372 49.792 2682
+-80.246 49.792 2682
+-80.12 49.792 2683
+-79.994 49.792 2683
+-79.868 49.792 2683
+-79.742 49.792 2684
+-79.616 49.792 2684
+-79.49 49.792 2696
+-79.364 49.792 2697
+-79.238 49.792 2697
+-79.112 49.792 2698
+-78.986 49.792 2582
+-78.86 49.792 2582
+-78.734 49.792 2582
+-78.608 49.792 2582
+-78.482 49.792 2583
+-78.356 49.792 2583
+-78.23 49.792 2583
+-78.104 49.792 2584
+-77.978 49.792 2584
+-77.852 49.792 2584
+-77.726 49.792 2591
+-77.6 49.792 2599
+-77.474 49.792 2599
+-77.348 49.792 2599
+-77.222 49.792 2600
+-77.096 49.792 2618
+-76.97 49.792 2618
+-76.844 49.792 2619
+-76.718 49.792 2619
+-76.592 49.792 2622
+-76.466 49.792 2754
+-76.34 49.792 2754
+-76.214 49.792 2754
+-76.088 49.792 2761
+-75.962 49.792 2762
+-75.836 49.792 2762
+-75.71 49.792 2781
+-75.584 49.792 2759
+-75.458 49.792 2775
+-75.332 49.792 2776
+-75.206 49.792 2770
+-75.08 49.792 2770
+-74.954 49.792 2771
+-74.828 49.792 2771
+-74.702 49.792 2773
+-74.576 49.792 2864
+-74.45 49.792 2864
+-74.324 49.792 2865
+-74.198 49.792 2865
+-74.072 49.792 2885
+-73.946 49.792 2886
+-73.82 49.792 2863
+-73.694 49.792 2863
+-73.568 49.792 2864
+-73.442 49.792 2864
+-73.316 49.792 2833
+-73.19 49.792 2843
+-73.064 49.792 2844
+-72.938 49.792 2975
+-72.812 49.792 2932
+-72.686 49.792 2932
+-72.56 49.792 3078
+-72.434 49.792 3074
+-72.308 49.792 3032
+-72.182 49.792 3101
+-72.056 49.792 2982
+-71.93 49.792 3016
+-71.804 49.792 3074
+-71.678 49.792 2965
+-71.552 49.792 2973
+-71.426 49.792 2872
+-71.3 49.792 2868
+-71.174 49.792 2886
+-71.048 49.792 2854
+-70.922 49.792 2855
+-70.796 49.792 2855
+-70.67 49.792 2790
+-70.544 49.792 2837
+-70.418 49.792 2828
+-70.292 49.792 2816
+-70.166 49.792 2816
+-70.04 49.792 2817
+-69.914 49.792 2818
+-69.788 49.792 2753
+-69.662 49.792 2747
+-69.536 49.792 2748
+-69.41 49.792 2748
+-69.284 49.792 2749
+-69.158 49.792 2744
+-69.032 49.792 2686
+-68.906 49.792 2793
+-68.78 49.792 2788
+-68.654 49.792 2794
+-68.528 49.792 2794
+-68.402 49.792 2795
+-68.276 49.792 2795
+-68.15 49.792 2822
+-68.024 49.792 2798
+-67.898 49.792 2868
+-67.772 49.792 2869
+-67.646 49.792 2858
+-67.52 49.792 2866
+-67.394 49.792 2867
+-67.268 49.792 2867
+-67.142 49.792 2853
+-67.016 49.792 2970
+-66.89 49.792 2971
+-66.764 49.792 2971
+-66.638 49.792 2972
+-66.512 49.792 3071
+-66.386 49.792 3022
+-66.26 49.792 3169
+-66.134 49.792 3169
+-66.008 49.792 3129
+-65.882 49.792 3130
+-65.756 49.792 3130
+-65.63 49.792 3130
+-65.504 49.792 3131
+-65.378 49.792 3131
+-65.252 49.792 3235
+-65.126 49.792 3229
+-128 49.74 3453
+-127.874 49.74 3596
+-127.748 49.74 3853
+-127.622 49.74 4041
+-127.496 49.74 4148
+-127.37 49.74 4202
+-127.244 49.74 4210
+-127.118 49.74 4213
+-126.992 49.74 4292
+-126.866 49.74 4425
+-126.74 49.74 4496
+-126.614 49.74 4623
+-126.488 49.74 4731
+-126.362 49.74 4787
+-126.236 49.74 4865
+-126.11 49.74 4956
+-125.984 49.74 5084
+-125.858 49.74 5252
+-125.732 49.74 5385
+-125.606 49.74 5474
+-125.48 49.74 5521
+-125.354 49.74 5625
+-125.228 49.74 5690
+-125.102 49.74 5803
+-124.976 49.74 5872
+-124.85 49.74 5947
+-124.724 49.74 6047
+-124.598 49.74 6079
+-124.472 49.74 6171
+-124.346 49.74 6202
+-124.22 49.74 6257
+-124.094 49.74 6367
+-123.968 49.74 6373
+-123.842 49.74 6415
+-123.716 49.74 6481
+-123.59 49.74 6492
+-123.464 49.74 6527
+-123.338 49.74 6548
+-123.212 49.74 6574
+-123.086 49.74 6575
+-122.96 49.74 6576
+-122.834 49.74 6574
+-122.708 49.74 6560
+-122.582 49.74 6543
+-122.456 49.74 6510
+-122.33 49.74 6504
+-122.204 49.74 6475
+-122.078 49.74 6427
+-121.952 49.74 6372
+-121.826 49.74 6328
+-121.7 49.74 6272
+-121.574 49.74 6236
+-121.448 49.74 6181
+-121.322 49.74 6128
+-121.196 49.74 6064
+-121.07 49.74 5995
+-120.944 49.74 5890
+-120.818 49.74 5803
+-120.692 49.74 5677
+-120.566 49.74 5549
+-120.44 49.74 5504
+-120.314 49.74 5365
+-120.188 49.74 5247
+-120.062 49.74 5022
+-119.936 49.74 5152
+-119.81 49.74 5186
+-119.684 49.74 5198
+-119.558 49.74 5246
+-119.432 49.74 5299
+-119.306 49.74 5305
+-119.18 49.74 5333
+-119.054 49.74 5381
+-118.928 49.74 5366
+-118.802 49.74 5381
+-118.676 49.74 5403
+-118.55 49.74 5428
+-118.424 49.74 5424
+-118.298 49.74 5422
+-118.172 49.74 5425
+-118.046 49.74 5421
+-117.92 49.74 5399
+-117.794 49.74 5387
+-117.668 49.74 5362
+-117.542 49.74 5343
+-117.416 49.74 5326
+-117.29 49.74 5277
+-117.164 49.74 5242
+-117.038 49.74 5222
+-116.912 49.74 5181
+-116.786 49.74 5098
+-116.66 49.74 5047
+-116.534 49.74 5016
+-116.408 49.74 4963
+-116.282 49.74 4849
+-116.156 49.74 4779
+-116.03 49.74 4747
+-115.904 49.74 4655
+-115.778 49.74 4594
+-115.652 49.74 4470
+-115.526 49.74 4469
+-115.4 49.74 4363
+-115.274 49.74 4297
+-115.148 49.74 4272
+-115.022 49.74 4222
+-114.896 49.74 4162
+-114.77 49.74 4084
+-114.644 49.74 4031
+-114.518 49.74 3977
+-114.392 49.74 3927
+-114.266 49.74 3859
+-114.14 49.74 3744
+-114.014 49.74 3569
+-113.888 49.74 3346
+-113.762 49.74 3137
+-113.636 49.74 2964
+-113.51 49.74 2879
+-113.384 49.74 2824
+-113.258 49.74 2750
+-113.132 49.74 2796
+-113.006 49.74 2893
+-112.88 49.74 2991
+-112.754 49.74 3075
+-112.628 49.74 3147
+-112.502 49.74 3199
+-112.376 49.74 3232
+-112.25 49.74 3276
+-112.124 49.74 3314
+-111.998 49.74 3346
+-111.872 49.74 3308
+-111.746 49.74 3315
+-111.62 49.74 3329
+-111.494 49.74 3340
+-111.368 49.74 3338
+-111.242 49.74 3337
+-111.116 49.74 3282
+-110.99 49.74 3287
+-110.864 49.74 3293
+-110.738 49.74 3300
+-110.612 49.74 3305
+-110.486 49.74 3311
+-110.36 49.74 3315
+-110.234 49.74 3320
+-110.108 49.74 3324
+-109.982 49.74 3328
+-109.856 49.74 3316
+-109.73 49.74 3273
+-109.604 49.74 3260
+-109.478 49.74 3263
+-109.352 49.74 3266
+-109.226 49.74 3269
+-109.1 49.74 3272
+-108.974 49.74 3275
+-108.848 49.74 3254
+-108.722 49.74 3258
+-108.596 49.74 3261
+-108.47 49.74 3264
+-108.344 49.74 3236
+-108.218 49.74 3240
+-108.092 49.74 3244
+-107.966 49.74 3247
+-107.84 49.74 3235
+-107.714 49.74 3238
+-107.588 49.74 3242
+-107.462 49.74 3245
+-107.336 49.74 3237
+-107.21 49.74 3241
+-107.084 49.74 3244
+-106.958 49.74 3247
+-106.832 49.74 3238
+-106.706 49.74 3241
+-106.58 49.74 3245
+-106.454 49.74 3248
+-106.328 49.74 3251
+-106.202 49.74 3254
+-106.076 49.74 3257
+-105.95 49.74 3260
+-105.824 49.74 3263
+-105.698 49.74 3266
+-105.572 49.74 3268
+-105.446 49.74 3206
+-105.32 49.74 3192
+-105.194 49.74 3194
+-105.068 49.74 3197
+-104.942 49.74 3199
+-104.816 49.74 3202
+-104.69 49.74 3172
+-104.564 49.74 3166
+-104.438 49.74 3169
+-104.312 49.74 3172
+-104.186 49.74 3150
+-104.06 49.74 3152
+-103.934 49.74 3155
+-103.808 49.74 3157
+-103.682 49.74 3159
+-103.556 49.74 3161
+-103.43 49.74 3164
+-103.304 49.74 3166
+-103.178 49.74 3168
+-103.052 49.74 3170
+-102.926 49.74 3172
+-102.8 49.74 3174
+-102.674 49.74 3175
+-102.548 49.74 3177
+-102.422 49.74 3179
+-102.296 49.74 3154
+-102.17 49.74 3108
+-102.044 49.74 3036
+-101.918 49.74 3035
+-101.792 49.74 3034
+-101.666 49.74 3033
+-101.54 49.74 3032
+-101.414 49.74 3031
+-101.288 49.74 3029
+-101.162 49.74 3028
+-101.036 49.74 2892
+-100.91 49.74 2888
+-100.784 49.74 2877
+-100.658 49.74 2823
+-100.532 49.74 2819
+-100.406 49.74 2815
+-100.28 49.74 2837
+-100.154 49.74 2727
+-100.028 49.74 2705
+-99.902 49.74 2656
+-99.776 49.74 2686
+-99.65 49.74 2692
+-99.524 49.74 2634
+-99.398 49.74 2580
+-99.272 49.74 2567
+-99.146 49.74 2724
+-99.02 49.74 2735
+-98.894 49.74 2709
+-98.768 49.74 2685
+-98.642 49.74 2686
+-98.516 49.74 2686
+-98.39 49.74 2700
+-98.264 49.74 2699
+-98.138 49.74 2799
+-98.012 49.74 2798
+-97.886 49.74 2797
+-97.76 49.74 2795
+-97.634 49.74 2794
+-97.508 49.74 2792
+-97.382 49.74 2791
+-97.256 49.74 2789
+-97.13 49.74 2788
+-97.004 49.74 2786
+-96.878 49.74 2785
+-96.752 49.74 2783
+-96.626 49.74 2781
+-96.5 49.74 2780
+-96.374 49.74 2778
+-96.248 49.74 2777
+-96.122 49.74 2775
+-95.996 49.74 2773
+-95.87 49.74 2772
+-95.744 49.74 2770
+-95.618 49.74 2768
+-95.492 49.74 2767
+-95.366 49.74 2765
+-95.24 49.74 2763
+-95.114 49.74 2762
+-94.988 49.74 2760
+-94.862 49.74 2758
+-94.736 49.74 2757
+-94.61 49.74 2755
+-94.484 49.74 2753
+-94.358 49.74 2752
+-94.232 49.74 2750
+-94.106 49.74 2749
+-93.98 49.74 2747
+-93.854 49.74 2745
+-93.728 49.74 2744
+-93.602 49.74 2742
+-93.476 49.74 2741
+-93.35 49.74 2739
+-93.224 49.74 2738
+-93.098 49.74 2736
+-92.972 49.74 2735
+-92.846 49.74 2733
+-92.72 49.74 2732
+-92.594 49.74 2731
+-92.468 49.74 2729
+-92.342 49.74 2728
+-92.216 49.74 2727
+-92.09 49.74 2726
+-91.964 49.74 2724
+-91.838 49.74 2723
+-91.712 49.74 2722
+-91.586 49.74 2721
+-91.46 49.74 2720
+-91.334 49.74 2719
+-91.208 49.74 2718
+-91.082 49.74 2717
+-90.956 49.74 2716
+-90.83 49.74 2716
+-90.704 49.74 2715
+-90.578 49.74 2714
+-90.452 49.74 2666
+-90.326 49.74 2666
+-90.2 49.74 2665
+-90.074 49.74 2664
+-89.948 49.74 2664
+-89.822 49.74 2663
+-89.696 49.74 2663
+-89.57 49.74 2662
+-89.444 49.74 2662
+-89.318 49.74 2662
+-89.192 49.74 2661
+-89.066 49.74 2661
+-88.94 49.74 2661
+-88.814 49.74 2661
+-88.688 49.74 2660
+-88.562 49.74 2660
+-88.436 49.74 2660
+-88.31 49.74 2660
+-88.184 49.74 2660
+-88.058 49.74 2660
+-87.932 49.74 2660
+-87.806 49.74 2660
+-87.68 49.74 2660
+-87.554 49.74 2660
+-87.428 49.74 2660
+-87.302 49.74 2660
+-87.176 49.74 2660
+-87.05 49.74 2660
+-86.924 49.74 2661
+-86.798 49.74 2661
+-86.672 49.74 2661
+-86.546 49.74 2661
+-86.42 49.74 2661
+-86.294 49.74 2662
+-86.168 49.74 2662
+-86.042 49.74 2662
+-85.916 49.74 2663
+-85.79 49.74 2663
+-85.664 49.74 2663
+-85.538 49.74 2663
+-85.412 49.74 2664
+-85.286 49.74 2664
+-85.16 49.74 2664
+-85.034 49.74 2665
+-84.908 49.74 2665
+-84.782 49.74 2665
+-84.656 49.74 2666
+-84.53 49.74 2666
+-84.404 49.74 2667
+-84.278 49.74 2667
+-84.152 49.74 2667
+-84.026 49.74 2668
+-83.9 49.74 2668
+-83.774 49.74 2669
+-83.648 49.74 2669
+-83.522 49.74 2669
+-83.396 49.74 2670
+-83.27 49.74 2670
+-83.144 49.74 2671
+-83.018 49.74 2671
+-82.892 49.74 2672
+-82.766 49.74 2672
+-82.64 49.74 2672
+-82.514 49.74 2673
+-82.388 49.74 2673
+-82.262 49.74 2674
+-82.136 49.74 2674
+-82.01 49.74 2675
+-81.884 49.74 2675
+-81.758 49.74 2676
+-81.632 49.74 2676
+-81.506 49.74 2677
+-81.38 49.74 2677
+-81.254 49.74 2677
+-81.128 49.74 2678
+-81.002 49.74 2678
+-80.876 49.74 2679
+-80.75 49.74 2679
+-80.624 49.74 2680
+-80.498 49.74 2680
+-80.372 49.74 2681
+-80.246 49.74 2681
+-80.12 49.74 2682
+-79.994 49.74 2682
+-79.868 49.74 2683
+-79.742 49.74 2683
+-79.616 49.74 2695
+-79.49 49.74 2696
+-79.364 49.74 2696
+-79.238 49.74 2697
+-79.112 49.74 2581
+-78.986 49.74 2581
+-78.86 49.74 2581
+-78.734 49.74 2581
+-78.608 49.74 2582
+-78.482 49.74 2582
+-78.356 49.74 2582
+-78.23 49.74 2583
+-78.104 49.74 2583
+-77.978 49.74 2583
+-77.852 49.74 2590
+-77.726 49.74 2598
+-77.6 49.74 2598
+-77.474 49.74 2598
+-77.348 49.74 2599
+-77.222 49.74 2617
+-77.096 49.74 2617
+-76.97 49.74 2618
+-76.844 49.74 2618
+-76.718 49.74 2621
+-76.592 49.74 2753
+-76.466 49.74 2753
+-76.34 49.74 2753
+-76.214 49.74 2761
+-76.088 49.74 2761
+-75.962 49.74 2761
+-75.836 49.74 2780
+-75.71 49.74 2758
+-75.584 49.74 2774
+-75.458 49.74 2775
+-75.332 49.74 2769
+-75.206 49.74 2769
+-75.08 49.74 2770
+-74.954 49.74 2770
+-74.828 49.74 2772
+-74.702 49.74 2863
+-74.576 49.74 2863
+-74.45 49.74 2864
+-74.324 49.74 2864
+-74.198 49.74 2884
+-74.072 49.74 2885
+-73.946 49.74 2862
+-73.82 49.74 2862
+-73.694 49.74 2863
+-73.568 49.74 2863
+-73.442 49.74 2832
+-73.316 49.74 2842
+-73.19 49.74 2843
+-73.064 49.74 2974
+-72.938 49.74 2931
+-72.812 49.74 2931
+-72.686 49.74 3077
+-72.56 49.74 3073
+-72.434 49.74 3031
+-72.308 49.74 3100
+-72.182 49.74 2981
+-72.056 49.74 3015
+-71.93 49.74 3073
+-71.804 49.74 2964
+-71.678 49.74 2972
+-71.552 49.74 2871
+-71.426 49.74 2867
+-71.3 49.74 2885
+-71.174 49.74 2854
+-71.048 49.74 2854
+-70.922 49.74 2855
+-70.796 49.74 2789
+-70.67 49.74 2837
+-70.544 49.74 2827
+-70.418 49.74 2815
+-70.292 49.74 2816
+-70.166 49.74 2816
+-70.04 49.74 2817
+-69.914 49.74 2752
+-69.788 49.74 2747
+-69.662 49.74 2747
+-69.536 49.74 2748
+-69.41 49.74 2748
+-69.284 49.74 2744
+-69.158 49.74 2686
+-69.032 49.74 2792
+-68.906 49.74 2787
+-68.78 49.74 2793
+-68.654 49.74 2794
+-68.528 49.74 2794
+-68.402 49.74 2795
+-68.276 49.74 2822
+-68.15 49.74 2798
+-68.024 49.74 2867
+-67.898 49.74 2868
+-67.772 49.74 2857
+-67.646 49.74 2866
+-67.52 49.74 2866
+-67.394 49.74 2867
+-67.268 49.74 2853
+-67.142 49.74 2970
+-67.016 49.74 2970
+-66.89 49.74 2971
+-66.764 49.74 2971
+-66.638 49.74 3071
+-66.512 49.74 3021
+-66.386 49.74 3169
+-66.26 49.74 3169
+-66.134 49.74 3129
+-66.008 49.74 3129
+-65.882 49.74 3130
+-65.756 49.74 3130
+-65.63 49.74 3130
+-65.504 49.74 3131
+-65.378 49.74 3234
+-65.252 49.74 3229
+-65.126 49.74 3229
+-128 49.688 3715
+-127.874 49.688 3807
+-127.748 49.688 3960
+-127.622 49.688 4097
+-127.496 49.688 4185
+-127.37 49.688 4226
+-127.244 49.688 4212
+-127.118 49.688 4145
+-126.992 49.688 4297
+-126.866 49.688 4446
+-126.74 49.688 4444
+-126.614 49.688 4623
+-126.488 49.688 4723
+-126.362 49.688 4807
+-126.236 49.688 4869
+-126.11 49.688 4993
+-125.984 49.688 5121
+-125.858 49.688 5266
+-125.732 49.688 5416
+-125.606 49.688 5522
+-125.48 49.688 5598
+-125.354 49.688 5663
+-125.228 49.688 5739
+-125.102 49.688 5838
+-124.976 49.688 5879
+-124.85 49.688 5975
+-124.724 49.688 6052
+-124.598 49.688 6122
+-124.472 49.688 6210
+-124.346 49.688 6274
+-124.22 49.688 6328
+-124.094 49.688 6384
+-123.968 49.688 6464
+-123.842 49.688 6477
+-123.716 49.688 6528
+-123.59 49.688 6552
+-123.464 49.688 6587
+-123.338 49.688 6605
+-123.212 49.688 6646
+-123.086 49.688 6643
+-122.96 49.688 6644
+-122.834 49.688 6634
+-122.708 49.688 6609
+-122.582 49.688 6590
+-122.456 49.688 6620
+-122.33 49.688 6561
+-122.204 49.688 6547
+-122.078 49.688 6502
+-121.952 49.688 6464
+-121.826 49.688 6403
+-121.7 49.688 6340
+-121.574 49.688 6266
+-121.448 49.688 6191
+-121.322 49.688 6119
+-121.196 49.688 6094
+-121.07 49.688 5977
+-120.944 49.688 5970
+-120.818 49.688 5838
+-120.692 49.688 5719
+-120.566 49.688 5639
+-120.44 49.688 5558
+-120.314 49.688 5432
+-120.188 49.688 5358
+-120.062 49.688 5233
+-119.936 49.688 5215
+-119.81 49.688 5234
+-119.684 49.688 5268
+-119.558 49.688 5300
+-119.432 49.688 5325
+-119.306 49.688 5357
+-119.18 49.688 5388
+-119.054 49.688 5414
+-118.928 49.688 5427
+-118.802 49.688 5469
+-118.676 49.688 5471
+-118.55 49.688 5486
+-118.424 49.688 5491
+-118.298 49.688 5481
+-118.172 49.688 5487
+-118.046 49.688 5482
+-117.92 49.688 5482
+-117.794 49.688 5431
+-117.668 49.688 5438
+-117.542 49.688 5392
+-117.416 49.688 5365
+-117.29 49.688 5313
+-117.164 49.688 5275
+-117.038 49.688 5281
+-116.912 49.688 5238
+-116.786 49.688 5160
+-116.66 49.688 5081
+-116.534 49.688 5042
+-116.408 49.688 4983
+-116.282 49.688 4917
+-116.156 49.688 4852
+-116.03 49.688 4791
+-115.904 49.688 4724
+-115.778 49.688 4649
+-115.652 49.688 4541
+-115.526 49.688 4469
+-115.4 49.688 4339
+-115.274 49.688 4254
+-115.148 49.688 4273
+-115.022 49.688 4224
+-114.896 49.688 4122
+-114.77 49.688 4005
+-114.644 49.688 3944
+-114.518 49.688 3944
+-114.392 49.688 3931
+-114.266 49.688 3879
+-114.14 49.688 3761
+-114.014 49.688 3584
+-113.888 49.688 3396
+-113.762 49.688 3200
+-113.636 49.688 3031
+-113.51 49.688 2905
+-113.384 49.688 2846
+-113.258 49.688 2851
+-113.132 49.688 2888
+-113.006 49.688 2955
+-112.88 49.688 3030
+-112.754 49.688 3104
+-112.628 49.688 3161
+-112.502 49.688 3200
+-112.376 49.688 3249
+-112.25 49.688 3290
+-112.124 49.688 3326
+-111.998 49.688 3293
+-111.872 49.688 3304
+-111.746 49.688 3318
+-111.62 49.688 3331
+-111.494 49.688 3330
+-111.368 49.688 3331
+-111.242 49.688 3278
+-111.116 49.688 3281
+-110.99 49.688 3289
+-110.864 49.688 3295
+-110.738 49.688 3301
+-110.612 49.688 3306
+-110.486 49.688 3311
+-110.36 49.688 3315
+-110.234 49.688 3319
+-110.108 49.688 3323
+-109.982 49.688 3312
+-109.856 49.688 3269
+-109.73 49.688 3256
+-109.604 49.688 3259
+-109.478 49.688 3262
+-109.352 49.688 3266
+-109.226 49.688 3269
+-109.1 49.688 3272
+-108.974 49.688 3250
+-108.848 49.688 3254
+-108.722 49.688 3257
+-108.596 49.688 3261
+-108.47 49.688 3233
+-108.344 49.688 3236
+-108.218 49.688 3240
+-108.092 49.688 3244
+-107.966 49.688 3232
+-107.84 49.688 3235
+-107.714 49.688 3239
+-107.588 49.688 3242
+-107.462 49.688 3234
+-107.336 49.688 3238
+-107.21 49.688 3241
+-107.084 49.688 3245
+-106.958 49.688 3235
+-106.832 49.688 3239
+-106.706 49.688 3242
+-106.58 49.688 3246
+-106.454 49.688 3249
+-106.328 49.688 3252
+-106.202 49.688 3255
+-106.076 49.688 3258
+-105.95 49.688 3261
+-105.824 49.688 3264
+-105.698 49.688 3267
+-105.572 49.688 3204
+-105.446 49.688 3190
+-105.32 49.688 3193
+-105.194 49.688 3195
+-105.068 49.688 3198
+-104.942 49.688 3200
+-104.816 49.688 3170
+-104.69 49.688 3165
+-104.564 49.688 3168
+-104.438 49.688 3171
+-104.312 49.688 3149
+-104.186 49.688 3151
+-104.06 49.688 3154
+-103.934 49.688 3156
+-103.808 49.688 3158
+-103.682 49.688 3161
+-103.556 49.688 3163
+-103.43 49.688 3165
+-103.304 49.688 3167
+-103.178 49.688 3169
+-103.052 49.688 3171
+-102.926 49.688 3173
+-102.8 49.688 3175
+-102.674 49.688 3177
+-102.548 49.688 3179
+-102.422 49.688 3153
+-102.296 49.688 3108
+-102.17 49.688 3109
+-102.044 49.688 3037
+-101.918 49.688 3036
+-101.792 49.688 3035
+-101.666 49.688 3034
+-101.54 49.688 3033
+-101.414 49.688 3031
+-101.288 49.688 3030
+-101.162 49.688 3028
+-101.036 49.688 2892
+-100.91 49.688 2880
+-100.784 49.688 2827
+-100.658 49.688 2822
+-100.532 49.688 2819
+-100.406 49.688 2839
+-100.28 49.688 2729
+-100.154 49.688 2706
+-100.028 49.688 2705
+-99.902 49.688 2687
+-99.776 49.688 2693
+-99.65 49.688 2635
+-99.524 49.688 2738
+-99.398 49.688 2581
+-99.272 49.688 2724
+-99.146 49.688 2734
+-99.02 49.688 2708
+-98.894 49.688 2685
+-98.768 49.688 2686
+-98.642 49.688 2686
+-98.516 49.688 2701
+-98.39 49.688 2700
+-98.264 49.688 2818
+-98.138 49.688 2799
+-98.012 49.688 2798
+-97.886 49.688 2796
+-97.76 49.688 2795
+-97.634 49.688 2794
+-97.508 49.688 2792
+-97.382 49.688 2791
+-97.256 49.688 2789
+-97.13 49.688 2787
+-97.004 49.688 2786
+-96.878 49.688 2784
+-96.752 49.688 2783
+-96.626 49.688 2781
+-96.5 49.688 2779
+-96.374 49.688 2778
+-96.248 49.688 2776
+-96.122 49.688 2775
+-95.996 49.688 2773
+-95.87 49.688 2771
+-95.744 49.688 2769
+-95.618 49.688 2768
+-95.492 49.688 2766
+-95.366 49.688 2764
+-95.24 49.688 2763
+-95.114 49.688 2761
+-94.988 49.688 2759
+-94.862 49.688 2758
+-94.736 49.688 2756
+-94.61 49.688 2754
+-94.484 49.688 2752
+-94.358 49.688 2751
+-94.232 49.688 2749
+-94.106 49.688 2747
+-93.98 49.688 2746
+-93.854 49.688 2744
+-93.728 49.688 2742
+-93.602 49.688 2741
+-93.476 49.688 2739
+-93.35 49.688 2738
+-93.224 49.688 2736
+-93.098 49.688 2735
+-92.972 49.688 2733
+-92.846 49.688 2732
+-92.72 49.688 2730
+-92.594 49.688 2729
+-92.468 49.688 2728
+-92.342 49.688 2726
+-92.216 49.688 2725
+-92.09 49.688 2724
+-91.964 49.688 2722
+-91.838 49.688 2721
+-91.712 49.688 2720
+-91.586 49.688 2719
+-91.46 49.688 2718
+-91.334 49.688 2717
+-91.208 49.688 2716
+-91.082 49.688 2715
+-90.956 49.688 2714
+-90.83 49.688 2714
+-90.704 49.688 2713
+-90.578 49.688 2712
+-90.452 49.688 2664
+-90.326 49.688 2664
+-90.2 49.688 2663
+-90.074 49.688 2663
+-89.948 49.688 2662
+-89.822 49.688 2661
+-89.696 49.688 2661
+-89.57 49.688 2661
+-89.444 49.688 2660
+-89.318 49.688 2660
+-89.192 49.688 2659
+-89.066 49.688 2659
+-88.94 49.688 2659
+-88.814 49.688 2659
+-88.688 49.688 2659
+-88.562 49.688 2658
+-88.436 49.688 2658
+-88.31 49.688 2658
+-88.184 49.688 2658
+-88.058 49.688 2658
+-87.932 49.688 2658
+-87.806 49.688 2658
+-87.68 49.688 2658
+-87.554 49.688 2658
+-87.428 49.688 2658
+-87.302 49.688 2659
+-87.176 49.688 2659
+-87.05 49.688 2659
+-86.924 49.688 2659
+-86.798 49.688 2659
+-86.672 49.688 2659
+-86.546 49.688 2660
+-86.42 49.688 2660
+-86.294 49.688 2660
+-86.168 49.688 2660
+-86.042 49.688 2661
+-85.916 49.688 2661
+-85.79 49.688 2661
+-85.664 49.688 2662
+-85.538 49.688 2662
+-85.412 49.688 2662
+-85.286 49.688 2663
+-85.16 49.688 2663
+-85.034 49.688 2663
+-84.908 49.688 2664
+-84.782 49.688 2664
+-84.656 49.688 2665
+-84.53 49.688 2665
+-84.404 49.688 2665
+-84.278 49.688 2666
+-84.152 49.688 2666
+-84.026 49.688 2667
+-83.9 49.688 2667
+-83.774 49.688 2667
+-83.648 49.688 2668
+-83.522 49.688 2668
+-83.396 49.688 2669
+-83.27 49.688 2669
+-83.144 49.688 2670
+-83.018 49.688 2670
+-82.892 49.688 2671
+-82.766 49.688 2671
+-82.64 49.688 2671
+-82.514 49.688 2672
+-82.388 49.688 2672
+-82.262 49.688 2673
+-82.136 49.688 2673
+-82.01 49.688 2674
+-81.884 49.688 2674
+-81.758 49.688 2675
+-81.632 49.688 2675
+-81.506 49.688 2676
+-81.38 49.688 2676
+-81.254 49.688 2677
+-81.128 49.688 2677
+-81.002 49.688 2678
+-80.876 49.688 2678
+-80.75 49.688 2679
+-80.624 49.688 2679
+-80.498 49.688 2680
+-80.372 49.688 2680
+-80.246 49.688 2680
+-80.12 49.688 2681
+-79.994 49.688 2681
+-79.868 49.688 2682
+-79.742 49.688 2694
+-79.616 49.688 2694
+-79.49 49.688 2695
+-79.364 49.688 2695
+-79.238 49.688 2580
+-79.112 49.688 2580
+-78.986 49.688 2580
+-78.86 49.688 2581
+-78.734 49.688 2581
+-78.608 49.688 2581
+-78.482 49.688 2581
+-78.356 49.688 2582
+-78.23 49.688 2582
+-78.104 49.688 2582
+-77.978 49.688 2589
+-77.852 49.688 2597
+-77.726 49.688 2597
+-77.6 49.688 2597
+-77.474 49.688 2598
+-77.348 49.688 2616
+-77.222 49.688 2616
+-77.096 49.688 2617
+-76.97 49.688 2617
+-76.844 49.688 2620
+-76.718 49.688 2752
+-76.592 49.688 2752
+-76.466 49.688 2752
+-76.34 49.688 2760
+-76.214 49.688 2760
+-76.088 49.688 2760
+-75.962 49.688 2779
+-75.836 49.688 2757
+-75.71 49.688 2773
+-75.584 49.688 2774
+-75.458 49.688 2768
+-75.332 49.688 2768
+-75.206 49.688 2769
+-75.08 49.688 2769
+-74.954 49.688 2771
+-74.828 49.688 2862
+-74.702 49.688 2862
+-74.576 49.688 2863
+-74.45 49.688 2863
+-74.324 49.688 2883
+-74.198 49.688 2884
+-74.072 49.688 2861
+-73.946 49.688 2861
+-73.82 49.688 2862
+-73.694 49.688 2862
+-73.568 49.688 2831
+-73.442 49.688 2842
+-73.316 49.688 2842
+-73.19 49.688 2973
+-73.064 49.688 2930
+-72.938 49.688 2930
+-72.812 49.688 3076
+-72.686 49.688 3072
+-72.56 49.688 3030
+-72.434 49.688 3099
+-72.308 49.688 2980
+-72.182 49.688 3014
+-72.056 49.688 3072
+-71.93 49.688 2963
+-71.804 49.688 2971
+-71.678 49.688 2871
+-71.552 49.688 2867
+-71.426 49.688 2884
+-71.3 49.688 2853
+-71.174 49.688 2853
+-71.048 49.688 2854
+-70.922 49.688 2789
+-70.796 49.688 2836
+-70.67 49.688 2827
+-70.544 49.688 2815
+-70.418 49.688 2815
+-70.292 49.688 2816
+-70.166 49.688 2816
+-70.04 49.688 2752
+-69.914 49.688 2746
+-69.788 49.688 2747
+-69.662 49.688 2747
+-69.536 49.688 2748
+-69.41 49.688 2743
+-69.284 49.688 2685
+-69.158 49.688 2792
+-69.032 49.688 2787
+-68.906 49.688 2793
+-68.78 49.688 2793
+-68.654 49.688 2794
+-68.528 49.688 2794
+-68.402 49.688 2822
+-68.276 49.688 2797
+-68.15 49.688 2867
+-68.024 49.688 2868
+-67.898 49.688 2857
+-67.772 49.688 2865
+-67.646 49.688 2866
+-67.52 49.688 2866
+-67.394 49.688 2852
+-67.268 49.688 2969
+-67.142 49.688 2970
+-67.016 49.688 2970
+-66.89 49.688 2971
+-66.764 49.688 3070
+-66.638 49.688 3021
+-66.512 49.688 3168
+-66.386 49.688 3169
+-66.26 49.688 3129
+-66.134 49.688 3129
+-66.008 49.688 3129
+-65.882 49.688 3130
+-65.756 49.688 3130
+-65.63 49.688 3130
+-65.504 49.688 3234
+-65.378 49.688 3228
+-65.252 49.688 3229
+-65.126 49.688 3229
+-128 49.636 3902
+-127.874 49.636 3966
+-127.748 49.636 4045
+-127.622 49.636 4135
+-127.496 49.636 4216
+-127.37 49.636 4257
+-127.244 49.636 4263
+-127.118 49.636 4263
+-126.992 49.636 4386
+-126.866 49.636 4485
+-126.74 49.636 4536
+-126.614 49.636 4660
+-126.488 49.636 4755
+-126.362 49.636 4833
+-126.236 49.636 4944
+-126.11 49.636 5032
+-125.984 49.636 5153
+-125.858 49.636 5282
+-125.732 49.636 5446
+-125.606 49.636 5577
+-125.48 49.636 5660
+-125.354 49.636 5712
+-125.228 49.636 5780
+-125.102 49.636 5884
+-124.976 49.636 5962
+-124.85 49.636 6051
+-124.724 49.636 6089
+-124.598 49.636 6194
+-124.472 49.636 6273
+-124.346 49.636 6331
+-124.22 49.636 6367
+-124.094 49.636 6449
+-123.968 49.636 6470
+-123.842 49.636 6533
+-123.716 49.636 6581
+-123.59 49.636 6630
+-123.464 49.636 6673
+-123.338 49.636 6662
+-123.212 49.636 6672
+-123.086 49.636 6712
+-122.96 49.636 6695
+-122.834 49.636 6658
+-122.708 49.636 6650
+-122.582 49.636 6650
+-122.456 49.636 6625
+-122.33 49.636 6593
+-122.204 49.636 6556
+-122.078 49.636 6510
+-121.952 49.636 6503
+-121.826 49.636 6464
+-121.7 49.636 6412
+-121.574 49.636 6315
+-121.448 49.636 6233
+-121.322 49.636 6177
+-121.196 49.636 6110
+-121.07 49.636 6042
+-120.944 49.636 5999
+-120.818 49.636 5874
+-120.692 49.636 5786
+-120.566 49.636 5698
+-120.44 49.636 5605
+-120.314 49.636 5490
+-120.188 49.636 5377
+-120.062 49.636 5287
+-119.936 49.636 5274
+-119.81 49.636 5282
+-119.684 49.636 5307
+-119.558 49.636 5301
+-119.432 49.636 5373
+-119.306 49.636 5408
+-119.18 49.636 5438
+-119.054 49.636 5478
+-118.928 49.636 5489
+-118.802 49.636 5524
+-118.676 49.636 5527
+-118.55 49.636 5527
+-118.424 49.636 5535
+-118.298 49.636 5539
+-118.172 49.636 5549
+-118.046 49.636 5547
+-117.92 49.636 5526
+-117.794 49.636 5513
+-117.668 49.636 5507
+-117.542 49.636 5455
+-117.416 49.636 5407
+-117.29 49.636 5367
+-117.164 49.636 5319
+-117.038 49.636 5299
+-116.912 49.636 5278
+-116.786 49.636 5238
+-116.66 49.636 5170
+-116.534 49.636 5100
+-116.408 49.636 5007
+-116.282 49.636 4940
+-116.156 49.636 4921
+-116.03 49.636 4833
+-115.904 49.636 4734
+-115.778 49.636 4715
+-115.652 49.636 4622
+-115.526 49.636 4509
+-115.4 49.636 4382
+-115.274 49.636 4300
+-115.148 49.636 4274
+-115.022 49.636 4236
+-114.896 49.636 4090
+-114.77 49.636 3956
+-114.644 49.636 3836
+-114.518 49.636 3923
+-114.392 49.636 3939
+-114.266 49.636 3888
+-114.14 49.636 3769
+-114.014 49.636 3629
+-113.888 49.636 3456
+-113.762 49.636 3265
+-113.636 49.636 3058
+-113.51 49.636 2883
+-113.384 49.636 2790
+-113.258 49.636 2854
+-113.132 49.636 2941
+-113.006 49.636 3012
+-112.88 49.636 3081
+-112.754 49.636 3137
+-112.628 49.636 3178
+-112.502 49.636 3228
+-112.376 49.636 3272
+-112.25 49.636 3309
+-112.124 49.636 3282
+-111.998 49.636 3294
+-111.872 49.636 3310
+-111.746 49.636 3323
+-111.62 49.636 3323
+-111.494 49.636 3325
+-111.368 49.636 3274
+-111.242 49.636 3277
+-111.116 49.636 3284
+-110.99 49.636 3291
+-110.864 49.636 3296
+-110.738 49.636 3301
+-110.612 49.636 3306
+-110.486 49.636 3311
+-110.36 49.636 3315
+-110.234 49.636 3319
+-110.108 49.636 3307
+-109.982 49.636 3265
+-109.856 49.636 3252
+-109.73 49.636 3255
+-109.604 49.636 3258
+-109.478 49.636 3262
+-109.352 49.636 3265
+-109.226 49.636 3268
+-109.1 49.636 3246
+-108.974 49.636 3250
+-108.848 49.636 3253
+-108.722 49.636 3257
+-108.596 49.636 3229
+-108.47 49.636 3233
+-108.344 49.636 3236
+-108.218 49.636 3240
+-108.092 49.636 3229
+-107.966 49.636 3232
+-107.84 49.636 3236
+-107.714 49.636 3239
+-107.588 49.636 3231
+-107.462 49.636 3235
+-107.336 49.636 3239
+-107.21 49.636 3242
+-107.084 49.636 3233
+-106.958 49.636 3236
+-106.832 49.636 3240
+-106.706 49.636 3243
+-106.58 49.636 3247
+-106.454 49.636 3250
+-106.328 49.636 3253
+-106.202 49.636 3256
+-106.076 49.636 3259
+-105.95 49.636 3262
+-105.824 49.636 3265
+-105.698 49.636 3202
+-105.572 49.636 3189
+-105.446 49.636 3191
+-105.32 49.636 3194
+-105.194 49.636 3196
+-105.068 49.636 3199
+-104.942 49.636 3169
+-104.816 49.636 3163
+-104.69 49.636 3166
+-104.564 49.636 3169
+-104.438 49.636 3148
+-104.312 49.636 3150
+-104.186 49.636 3153
+-104.06 49.636 3155
+-103.934 49.636 3157
+-103.808 49.636 3160
+-103.682 49.636 3162
+-103.556 49.636 3164
+-103.43 49.636 3166
+-103.304 49.636 3168
+-103.178 49.636 3170
+-103.052 49.636 3172
+-102.926 49.636 3174
+-102.8 49.636 3176
+-102.674 49.636 3178
+-102.548 49.636 3152
+-102.422 49.636 3107
+-102.296 49.636 3109
+-102.17 49.636 3110
+-102.044 49.636 3038
+-101.918 49.636 3037
+-101.792 49.636 3036
+-101.666 49.636 3034
+-101.54 49.636 3033
+-101.414 49.636 3032
+-101.288 49.636 3030
+-101.162 49.636 3028
+-101.036 49.636 2883
+-100.91 49.636 2831
+-100.784 49.636 2825
+-100.658 49.636 2822
+-100.532 49.636 2842
+-100.406 49.636 2730
+-100.28 49.636 2707
+-100.154 49.636 2706
+-100.028 49.636 2688
+-99.902 49.636 2710
+-99.776 49.636 2635
+-99.65 49.636 2738
+-99.524 49.636 2728
+-99.398 49.636 2728
+-99.272 49.636 2734
+-99.146 49.636 2708
+-99.02 49.636 2685
+-98.894 49.636 2686
+-98.768 49.636 2686
+-98.642 49.636 2702
+-98.516 49.636 2701
+-98.39 49.636 2819
+-98.264 49.636 2801
+-98.138 49.636 2799
+-98.012 49.636 2798
+-97.886 49.636 2796
+-97.76 49.636 2795
+-97.634 49.636 2793
+-97.508 49.636 2792
+-97.382 49.636 2790
+-97.256 49.636 2789
+-97.13 49.636 2787
+-97.004 49.636 2786
+-96.878 49.636 2784
+-96.752 49.636 2782
+-96.626 49.636 2781
+-96.5 49.636 2779
+-96.374 49.636 2777
+-96.248 49.636 2776
+-96.122 49.636 2774
+-95.996 49.636 2772
+-95.87 49.636 2771
+-95.744 49.636 2769
+-95.618 49.636 2767
+-95.492 49.636 2765
+-95.366 49.636 2764
+-95.24 49.636 2762
+-95.114 49.636 2760
+-94.988 49.636 2758
+-94.862 49.636 2757
+-94.736 49.636 2755
+-94.61 49.636 2753
+-94.484 49.636 2751
+-94.358 49.636 2750
+-94.232 49.636 2748
+-94.106 49.636 2746
+-93.98 49.636 2744
+-93.854 49.636 2743
+-93.728 49.636 2741
+-93.602 49.636 2739
+-93.476 49.636 2738
+-93.35 49.636 2736
+-93.224 49.636 2735
+-93.098 49.636 2733
+-92.972 49.636 2732
+-92.846 49.636 2730
+-92.72 49.636 2729
+-92.594 49.636 2727
+-92.468 49.636 2726
+-92.342 49.636 2724
+-92.216 49.636 2723
+-92.09 49.636 2722
+-91.964 49.636 2721
+-91.838 49.636 2719
+-91.712 49.636 2718
+-91.586 49.636 2717
+-91.46 49.636 2716
+-91.334 49.636 2715
+-91.208 49.636 2714
+-91.082 49.636 2713
+-90.956 49.636 2712
+-90.83 49.636 2711
+-90.704 49.636 2711
+-90.578 49.636 2710
+-90.452 49.636 2662
+-90.326 49.636 2662
+-90.2 49.636 2661
+-90.074 49.636 2661
+-89.948 49.636 2660
+-89.822 49.636 2659
+-89.696 49.636 2659
+-89.57 49.636 2659
+-89.444 49.636 2658
+-89.318 49.636 2658
+-89.192 49.636 2657
+-89.066 49.636 2657
+-88.94 49.636 2657
+-88.814 49.636 2657
+-88.688 49.636 2657
+-88.562 49.636 2656
+-88.436 49.636 2656
+-88.31 49.636 2656
+-88.184 49.636 2656
+-88.058 49.636 2656
+-87.932 49.636 2656
+-87.806 49.636 2656
+-87.68 49.636 2656
+-87.554 49.636 2657
+-87.428 49.636 2657
+-87.302 49.636 2657
+-87.176 49.636 2657
+-87.05 49.636 2657
+-86.924 49.636 2657
+-86.798 49.636 2658
+-86.672 49.636 2658
+-86.546 49.636 2658
+-86.42 49.636 2658
+-86.294 49.636 2659
+-86.168 49.636 2659
+-86.042 49.636 2659
+-85.916 49.636 2660
+-85.79 49.636 2660
+-85.664 49.636 2660
+-85.538 49.636 2661
+-85.412 49.636 2661
+-85.286 49.636 2661
+-85.16 49.636 2662
+-85.034 49.636 2662
+-84.908 49.636 2663
+-84.782 49.636 2663
+-84.656 49.636 2663
+-84.53 49.636 2664
+-84.404 49.636 2664
+-84.278 49.636 2665
+-84.152 49.636 2665
+-84.026 49.636 2665
+-83.9 49.636 2666
+-83.774 49.636 2666
+-83.648 49.636 2667
+-83.522 49.636 2667
+-83.396 49.636 2668
+-83.27 49.636 2668
+-83.144 49.636 2669
+-83.018 49.636 2669
+-82.892 49.636 2669
+-82.766 49.636 2670
+-82.64 49.636 2670
+-82.514 49.636 2671
+-82.388 49.636 2671
+-82.262 49.636 2672
+-82.136 49.636 2672
+-82.01 49.636 2673
+-81.884 49.636 2673
+-81.758 49.636 2674
+-81.632 49.636 2674
+-81.506 49.636 2675
+-81.38 49.636 2675
+-81.254 49.636 2676
+-81.128 49.636 2676
+-81.002 49.636 2677
+-80.876 49.636 2677
+-80.75 49.636 2678
+-80.624 49.636 2678
+-80.498 49.636 2679
+-80.372 49.636 2679
+-80.246 49.636 2680
+-80.12 49.636 2680
+-79.994 49.636 2681
+-79.868 49.636 2692
+-79.742 49.636 2693
+-79.616 49.636 2693
+-79.49 49.636 2694
+-79.364 49.636 2579
+-79.238 49.636 2579
+-79.112 49.636 2579
+-78.986 49.636 2579
+-78.86 49.636 2580
+-78.734 49.636 2580
+-78.608 49.636 2580
+-78.482 49.636 2581
+-78.356 49.636 2581
+-78.23 49.636 2581
+-78.104 49.636 2588
+-77.978 49.636 2596
+-77.852 49.636 2596
+-77.726 49.636 2596
+-77.6 49.636 2597
+-77.474 49.636 2615
+-77.348 49.636 2616
+-77.222 49.636 2616
+-77.096 49.636 2616
+-76.97 49.636 2619
+-76.844 49.636 2751
+-76.718 49.636 2751
+-76.592 49.636 2751
+-76.466 49.636 2759
+-76.34 49.636 2759
+-76.214 49.636 2759
+-76.088 49.636 2778
+-75.962 49.636 2756
+-75.836 49.636 2772
+-75.71 49.636 2773
+-75.584 49.636 2767
+-75.458 49.636 2768
+-75.332 49.636 2768
+-75.206 49.636 2768
+-75.08 49.636 2770
+-74.954 49.636 2861
+-74.828 49.636 2861
+-74.702 49.636 2862
+-74.576 49.636 2862
+-74.45 49.636 2882
+-74.324 49.636 2883
+-74.198 49.636 2860
+-74.072 49.636 2860
+-73.946 49.636 2861
+-73.82 49.636 2861
+-73.694 49.636 2830
+-73.568 49.636 2841
+-73.442 49.636 2841
+-73.316 49.636 2972
+-73.19 49.636 2929
+-73.064 49.636 2930
+-72.938 49.636 3075
+-72.812 49.636 3071
+-72.686 49.636 3029
+-72.56 49.636 3098
+-72.434 49.636 2980
+-72.308 49.636 3013
+-72.182 49.636 3071
+-72.056 49.636 2962
+-71.93 49.636 2970
+-71.804 49.636 2870
+-71.678 49.636 2866
+-71.552 49.636 2884
+-71.426 49.636 2852
+-71.3 49.636 2853
+-71.174 49.636 2853
+-71.048 49.636 2788
+-70.922 49.636 2835
+-70.796 49.636 2826
+-70.67 49.636 2814
+-70.544 49.636 2814
+-70.418 49.636 2815
+-70.292 49.636 2816
+-70.166 49.636 2751
+-70.04 49.636 2746
+-69.914 49.636 2746
+-69.788 49.636 2747
+-69.662 49.636 2747
+-69.536 49.636 2743
+-69.41 49.636 2685
+-69.284 49.636 2791
+-69.158 49.636 2786
+-69.032 49.636 2793
+-68.906 49.636 2793
+-68.78 49.636 2793
+-68.654 49.636 2794
+-68.528 49.636 2821
+-68.402 49.636 2797
+-68.276 49.636 2866
+-68.15 49.636 2867
+-68.024 49.636 2856
+-67.898 49.636 2865
+-67.772 49.636 2865
+-67.646 49.636 2866
+-67.52 49.636 2852
+-67.394 49.636 2969
+-67.268 49.636 2969
+-67.142 49.636 2970
+-67.016 49.636 2970
+-66.89 49.636 3070
+-66.764 49.636 3021
+-66.638 49.636 3168
+-66.512 49.636 3168
+-66.386 49.636 3129
+-66.26 49.636 3129
+-66.134 49.636 3129
+-66.008 49.636 3129
+-65.882 49.636 3130
+-65.756 49.636 3130
+-65.63 49.636 3234
+-65.504 49.636 3228
+-65.378 49.636 3228
+-65.252 49.636 3229
+-65.126 49.636 3229
+-128 49.584 4009
+-127.874 49.584 4046
+-127.748 49.584 4093
+-127.622 49.584 4141
+-127.496 49.584 4212
+-127.37 49.584 4289
+-127.244 49.584 4334
+-127.118 49.584 4396
+-126.992 49.584 4446
+-126.866 49.584 4503
+-126.74 49.584 4615
+-126.614 49.584 4720
+-126.488 49.584 4818
+-126.362 49.584 4942
+-126.236 49.584 4977
+-126.11 49.584 5048
+-125.984 49.584 5160
+-125.858 49.584 5310
+-125.732 49.584 5479
+-125.606 49.584 5613
+-125.48 49.584 5649
+-125.354 49.584 5701
+-125.228 49.584 5806
+-125.102 49.584 5929
+-124.976 49.584 6004
+-124.85 49.584 6049
+-124.724 49.584 6170
+-124.598 49.584 6275
+-124.472 49.584 6339
+-124.346 49.584 6327
+-124.22 49.584 6436
+-124.094 49.584 6476
+-123.968 49.584 6548
+-123.842 49.584 6608
+-123.716 49.584 6670
+-123.59 49.584 6711
+-123.464 49.584 6708
+-123.338 49.584 6736
+-123.212 49.584 6742
+-123.086 49.584 6735
+-122.96 49.584 6721
+-122.834 49.584 6726
+-122.708 49.584 6716
+-122.582 49.584 6736
+-122.456 49.584 6674
+-122.33 49.584 6642
+-122.204 49.584 6615
+-122.078 49.584 6574
+-121.952 49.584 6532
+-121.826 49.584 6476
+-121.7 49.584 6459
+-121.574 49.584 6346
+-121.448 49.584 6327
+-121.322 49.584 6227
+-121.196 49.584 6185
+-121.07 49.584 6121
+-120.944 49.584 6035
+-120.818 49.584 5912
+-120.692 49.584 5832
+-120.566 49.584 5757
+-120.44 49.584 5623
+-120.314 49.584 5497
+-120.188 49.584 5437
+-120.062 49.584 5173
+-119.936 49.584 5291
+-119.81 49.584 5278
+-119.684 49.584 5294
+-119.558 49.584 5373
+-119.432 49.584 5408
+-119.306 49.584 5451
+-119.18 49.584 5469
+-119.054 49.584 5502
+-118.928 49.584 5535
+-118.802 49.584 5568
+-118.676 49.584 5557
+-118.55 49.584 5588
+-118.424 49.584 5601
+-118.298 49.584 5602
+-118.172 49.584 5602
+-118.046 49.584 5598
+-117.92 49.584 5592
+-117.794 49.584 5581
+-117.668 49.584 5571
+-117.542 49.584 5537
+-117.416 49.584 5483
+-117.29 49.584 5452
+-117.164 49.584 5404
+-117.038 49.584 5351
+-116.912 49.584 5298
+-116.786 49.584 5279
+-116.66 49.584 5215
+-116.534 49.584 5150
+-116.408 49.584 5081
+-116.282 49.584 5005
+-116.156 49.584 4958
+-116.03 49.584 4914
+-115.904 49.584 4837
+-115.778 49.584 4748
+-115.652 49.584 4668
+-115.526 49.584 4550
+-115.4 49.584 4400
+-115.274 49.584 4315
+-115.148 49.584 4245
+-115.022 49.584 4257
+-114.896 49.584 4162
+-114.77 49.584 4042
+-114.644 49.584 3979
+-114.518 49.584 3977
+-114.392 49.584 3965
+-114.266 49.584 3890
+-114.14 49.584 3800
+-114.014 49.584 3675
+-113.888 49.584 3520
+-113.762 49.584 3318
+-113.636 49.584 3138
+-113.51 49.584 2963
+-113.384 49.584 2878
+-113.258 49.584 2924
+-113.132 49.584 3006
+-113.006 49.584 3078
+-112.88 49.584 3131
+-112.754 49.584 3171
+-112.628 49.584 3219
+-112.502 49.584 3262
+-112.376 49.584 3299
+-112.25 49.584 3275
+-112.124 49.584 3288
+-111.998 49.584 3304
+-111.872 49.584 3317
+-111.746 49.584 3319
+-111.62 49.584 3321
+-111.494 49.584 3271
+-111.368 49.584 3274
+-111.242 49.584 3281
+-111.116 49.584 3287
+-110.99 49.584 3293
+-110.864 49.584 3298
+-110.738 49.584 3302
+-110.612 49.584 3306
+-110.486 49.584 3310
+-110.36 49.584 3314
+-110.234 49.584 3302
+-110.108 49.584 3260
+-109.982 49.584 3248
+-109.856 49.584 3251
+-109.73 49.584 3254
+-109.604 49.584 3257
+-109.478 49.584 3261
+-109.352 49.584 3264
+-109.226 49.584 3242
+-109.1 49.584 3246
+-108.974 49.584 3249
+-108.848 49.584 3253
+-108.722 49.584 3225
+-108.596 49.584 3229
+-108.47 49.584 3233
+-108.344 49.584 3237
+-108.218 49.584 3226
+-108.092 49.584 3229
+-107.966 49.584 3233
+-107.84 49.584 3236
+-107.714 49.584 3228
+-107.588 49.584 3232
+-107.462 49.584 3236
+-107.336 49.584 3239
+-107.21 49.584 3230
+-107.084 49.584 3234
+-106.958 49.584 3237
+-106.832 49.584 3241
+-106.706 49.584 3244
+-106.58 49.584 3248
+-106.454 49.584 3251
+-106.328 49.584 3254
+-106.202 49.584 3257
+-106.076 49.584 3260
+-105.95 49.584 3263
+-105.824 49.584 3201
+-105.698 49.584 3187
+-105.572 49.584 3190
+-105.446 49.584 3192
+-105.32 49.584 3195
+-105.194 49.584 3198
+-105.068 49.584 3167
+-104.942 49.584 3162
+-104.816 49.584 3165
+-104.69 49.584 3168
+-104.564 49.584 3146
+-104.438 49.584 3149
+-104.312 49.584 3152
+-104.186 49.584 3154
+-104.06 49.584 3156
+-103.934 49.584 3159
+-103.808 49.584 3161
+-103.682 49.584 3163
+-103.556 49.584 3166
+-103.43 49.584 3168
+-103.304 49.584 3170
+-103.178 49.584 3172
+-103.052 49.584 3174
+-102.926 49.584 3176
+-102.8 49.584 3178
+-102.674 49.584 3152
+-102.548 49.584 3107
+-102.422 49.584 3108
+-102.296 49.584 3110
+-102.17 49.584 3111
+-102.044 49.584 3039
+-101.918 49.584 3038
+-101.792 49.584 3036
+-101.666 49.584 3035
+-101.54 49.584 3034
+-101.414 49.584 3032
+-101.288 49.584 3031
+-101.162 49.584 2939
+-101.036 49.584 2884
+-100.91 49.584 2829
+-100.784 49.584 2825
+-100.658 49.584 2845
+-100.532 49.584 2744
+-100.406 49.584 2709
+-100.28 49.584 2707
+-100.154 49.584 2689
+-100.028 49.584 2711
+-99.902 49.584 2737
+-99.776 49.584 2738
+-99.65 49.584 2727
+-99.524 49.584 2728
+-99.398 49.584 2733
+-99.272 49.584 2707
+-99.146 49.584 2699
+-99.02 49.584 2686
+-98.894 49.584 2686
+-98.768 49.584 2703
+-98.642 49.584 2702
+-98.516 49.584 2820
+-98.39 49.584 2802
+-98.264 49.584 2801
+-98.138 49.584 2799
+-98.012 49.584 2798
+-97.886 49.584 2796
+-97.76 49.584 2795
+-97.634 49.584 2793
+-97.508 49.584 2792
+-97.382 49.584 2790
+-97.256 49.584 2789
+-97.13 49.584 2787
+-97.004 49.584 2785
+-96.878 49.584 2784
+-96.752 49.584 2782
+-96.626 49.584 2780
+-96.5 49.584 2779
+-96.374 49.584 2777
+-96.248 49.584 2775
+-96.122 49.584 2774
+-95.996 49.584 2772
+-95.87 49.584 2770
+-95.744 49.584 2768
+-95.618 49.584 2766
+-95.492 49.584 2765
+-95.366 49.584 2763
+-95.24 49.584 2761
+-95.114 49.584 2759
+-94.988 49.584 2757
+-94.862 49.584 2756
+-94.736 49.584 2754
+-94.61 49.584 2752
+-94.484 49.584 2750
+-94.358 49.584 2748
+-94.232 49.584 2747
+-94.106 49.584 2745
+-93.98 49.584 2743
+-93.854 49.584 2741
+-93.728 49.584 2740
+-93.602 49.584 2738
+-93.476 49.584 2736
+-93.35 49.584 2735
+-93.224 49.584 2733
+-93.098 49.584 2731
+-92.972 49.584 2730
+-92.846 49.584 2728
+-92.72 49.584 2727
+-92.594 49.584 2725
+-92.468 49.584 2724
+-92.342 49.584 2722
+-92.216 49.584 2721
+-92.09 49.584 2720
+-91.964 49.584 2719
+-91.838 49.584 2717
+-91.712 49.584 2716
+-91.586 49.584 2715
+-91.46 49.584 2714
+-91.334 49.584 2713
+-91.208 49.584 2712
+-91.082 49.584 2711
+-90.956 49.584 2710
+-90.83 49.584 2709
+-90.704 49.584 2708
+-90.578 49.584 2708
+-90.452 49.584 2660
+-90.326 49.584 2660
+-90.2 49.584 2659
+-90.074 49.584 2658
+-89.948 49.584 2658
+-89.822 49.584 2657
+-89.696 49.584 2657
+-89.57 49.584 2656
+-89.444 49.584 2656
+-89.318 49.584 2656
+-89.192 49.584 2655
+-89.066 49.584 2655
+-88.94 49.584 2655
+-88.814 49.584 2655
+-88.688 49.584 2655
+-88.562 49.584 2655
+-88.436 49.584 2654
+-88.31 49.584 2654
+-88.184 49.584 2654
+-88.058 49.584 2654
+-87.932 49.584 2654
+-87.806 49.584 2655
+-87.68 49.584 2655
+-87.554 49.584 2655
+-87.428 49.584 2655
+-87.302 49.584 2655
+-87.176 49.584 2655
+-87.05 49.584 2655
+-86.924 49.584 2656
+-86.798 49.584 2656
+-86.672 49.584 2656
+-86.546 49.584 2657
+-86.42 49.584 2657
+-86.294 49.584 2657
+-86.168 49.584 2657
+-86.042 49.584 2658
+-85.916 49.584 2658
+-85.79 49.584 2658
+-85.664 49.584 2659
+-85.538 49.584 2659
+-85.412 49.584 2660
+-85.286 49.584 2660
+-85.16 49.584 2660
+-85.034 49.584 2661
+-84.908 49.584 2661
+-84.782 49.584 2662
+-84.656 49.584 2662
+-84.53 49.584 2662
+-84.404 49.584 2663
+-84.278 49.584 2663
+-84.152 49.584 2664
+-84.026 49.584 2664
+-83.9 49.584 2665
+-83.774 49.584 2665
+-83.648 49.584 2666
+-83.522 49.584 2666
+-83.396 49.584 2667
+-83.27 49.584 2667
+-83.144 49.584 2667
+-83.018 49.584 2668
+-82.892 49.584 2668
+-82.766 49.584 2669
+-82.64 49.584 2669
+-82.514 49.584 2670
+-82.388 49.584 2670
+-82.262 49.584 2671
+-82.136 49.584 2671
+-82.01 49.584 2672
+-81.884 49.584 2672
+-81.758 49.584 2673
+-81.632 49.584 2673
+-81.506 49.584 2674
+-81.38 49.584 2674
+-81.254 49.584 2675
+-81.128 49.584 2675
+-81.002 49.584 2676
+-80.876 49.584 2676
+-80.75 49.584 2677
+-80.624 49.584 2677
+-80.498 49.584 2678
+-80.372 49.584 2678
+-80.246 49.584 2679
+-80.12 49.584 2679
+-79.994 49.584 2691
+-79.868 49.584 2692
+-79.742 49.584 2692
+-79.616 49.584 2693
+-79.49 49.584 2578
+-79.364 49.584 2578
+-79.238 49.584 2578
+-79.112 49.584 2578
+-78.986 49.584 2579
+-78.86 49.584 2579
+-78.734 49.584 2579
+-78.608 49.584 2580
+-78.482 49.584 2580
+-78.356 49.584 2580
+-78.23 49.584 2587
+-78.104 49.584 2595
+-77.978 49.584 2595
+-77.852 49.584 2595
+-77.726 49.584 2596
+-77.6 49.584 2614
+-77.474 49.584 2615
+-77.348 49.584 2615
+-77.222 49.584 2615
+-77.096 49.584 2619
+-76.97 49.584 2750
+-76.844 49.584 2750
+-76.718 49.584 2750
+-76.592 49.584 2758
+-76.466 49.584 2758
+-76.34 49.584 2758
+-76.214 49.584 2777
+-76.088 49.584 2756
+-75.962 49.584 2771
+-75.836 49.584 2772
+-75.71 49.584 2766
+-75.584 49.584 2767
+-75.458 49.584 2767
+-75.332 49.584 2767
+-75.206 49.584 2769
+-75.08 49.584 2860
+-74.954 49.584 2860
+-74.828 49.584 2861
+-74.702 49.584 2861
+-74.576 49.584 2881
+-74.45 49.584 2882
+-74.324 49.584 2859
+-74.198 49.584 2859
+-74.072 49.584 2860
+-73.946 49.584 2860
+-73.82 49.584 2829
+-73.694 49.584 2840
+-73.568 49.584 2840
+-73.442 49.584 2971
+-73.316 49.584 2928
+-73.19 49.584 2929
+-73.064 49.584 3074
+-72.938 49.584 3070
+-72.812 49.584 3028
+-72.686 49.584 3097
+-72.56 49.584 2979
+-72.434 49.584 3012
+-72.308 49.584 3070
+-72.182 49.584 2961
+-72.056 49.584 2969
+-71.93 49.584 2869
+-71.804 49.584 2865
+-71.678 49.584 2883
+-71.552 49.584 2851
+-71.426 49.584 2852
+-71.3 49.584 2852
+-71.174 49.584 2787
+-71.048 49.584 2834
+-70.922 49.584 2825
+-70.796 49.584 2813
+-70.67 49.584 2814
+-70.544 49.584 2814
+-70.418 49.584 2815
+-70.292 49.584 2751
+-70.166 49.584 2745
+-70.04 49.584 2746
+-69.914 49.584 2746
+-69.788 49.584 2747
+-69.662 49.584 2742
+-69.536 49.584 2684
+-69.41 49.584 2791
+-69.284 49.584 2786
+-69.158 49.584 2792
+-69.032 49.584 2793
+-68.906 49.584 2793
+-68.78 49.584 2793
+-68.654 49.584 2821
+-68.528 49.584 2796
+-68.402 49.584 2866
+-68.276 49.584 2866
+-68.15 49.584 2856
+-68.024 49.584 2864
+-67.898 49.584 2865
+-67.772 49.584 2865
+-67.646 49.584 2852
+-67.52 49.584 2968
+-67.394 49.584 2969
+-67.268 49.584 2969
+-67.142 49.584 2970
+-67.016 49.584 3069
+-66.89 49.584 3020
+-66.764 49.584 3168
+-66.638 49.584 3168
+-66.512 49.584 3128
+-66.386 49.584 3129
+-66.26 49.584 3129
+-66.134 49.584 3129
+-66.008 49.584 3129
+-65.882 49.584 3130
+-65.756 49.584 3233
+-65.63 49.584 3227
+-65.504 49.584 3228
+-65.378 49.584 3228
+-65.252 49.584 3229
+-65.126 49.584 3168
+-128 49.532 4055
+-127.874 49.532 4069
+-127.748 49.532 4076
+-127.622 49.532 4102
+-127.496 49.532 4170
+-127.37 49.532 4298
+-127.244 49.532 4394
+-127.118 49.532 4439
+-126.992 49.532 4433
+-126.866 49.532 4523
+-126.74 49.532 4685
+-126.614 49.532 4800
+-126.488 49.532 4918
+-126.362 49.532 5002
+-126.236 49.532 5040
+-126.11 49.532 5083
+-125.984 49.532 5198
+-125.858 49.532 5334
+-125.732 49.532 5549
+-125.606 49.532 5644
+-125.48 49.532 5696
+-125.354 49.532 5787
+-125.228 49.532 5859
+-125.102 49.532 5944
+-124.976 49.532 6034
+-124.85 49.532 6124
+-124.724 49.532 6249
+-124.598 49.532 6335
+-124.472 49.532 6371
+-124.346 49.532 6419
+-124.22 49.532 6482
+-124.094 49.532 6544
+-123.968 49.532 6613
+-123.842 49.532 6674
+-123.716 49.532 6714
+-123.59 49.532 6730
+-123.464 49.532 6749
+-123.338 49.532 6759
+-123.212 49.532 6811
+-123.086 49.532 6815
+-122.96 49.532 6811
+-122.834 49.532 6808
+-122.708 49.532 6789
+-122.582 49.532 6753
+-122.456 49.532 6734
+-122.33 49.532 6692
+-122.204 49.532 6679
+-122.078 49.532 6632
+-121.952 49.532 6581
+-121.826 49.532 6549
+-121.7 49.532 6497
+-121.574 49.532 6386
+-121.448 49.532 6312
+-121.322 49.532 6256
+-121.196 49.532 6241
+-121.07 49.532 6155
+-120.944 49.532 6030
+-120.818 49.532 5973
+-120.692 49.532 5878
+-120.566 49.532 5789
+-120.44 49.532 5688
+-120.314 49.532 5537
+-120.188 49.532 5429
+-120.062 49.532 5336
+-119.936 49.532 5281
+-119.81 49.532 5342
+-119.684 49.532 5386
+-119.558 49.532 5427
+-119.432 49.532 5466
+-119.306 49.532 5507
+-119.18 49.532 5540
+-119.054 49.532 5573
+-118.928 49.532 5599
+-118.802 49.532 5626
+-118.676 49.532 5625
+-118.55 49.532 5650
+-118.424 49.532 5667
+-118.298 49.532 5656
+-118.172 49.532 5649
+-118.046 49.532 5633
+-117.92 49.532 5657
+-117.794 49.532 5639
+-117.668 49.532 5587
+-117.542 49.532 5594
+-117.416 49.532 5533
+-117.29 49.532 5506
+-117.164 49.532 5454
+-117.038 49.532 5395
+-116.912 49.532 5347
+-116.786 49.532 5258
+-116.66 49.532 5237
+-116.534 49.532 5186
+-116.408 49.532 5110
+-116.282 49.532 5049
+-116.156 49.532 4963
+-116.03 49.532 4923
+-115.904 49.532 4925
+-115.778 49.532 4794
+-115.652 49.532 4694
+-115.526 49.532 4589
+-115.4 49.532 4442
+-115.274 49.532 4345
+-115.148 49.532 4254
+-115.022 49.532 4291
+-114.896 49.532 4257
+-114.77 49.532 4180
+-114.644 49.532 4102
+-114.518 49.532 4058
+-114.392 49.532 3984
+-114.266 49.532 3915
+-114.14 49.532 3842
+-114.014 49.532 3731
+-113.888 49.532 3588
+-113.762 49.532 3409
+-113.636 49.532 3250
+-113.51 49.532 3123
+-113.384 49.532 3056
+-113.258 49.532 3061
+-113.132 49.532 3106
+-113.006 49.532 3149
+-112.88 49.532 3184
+-112.754 49.532 3226
+-112.628 49.532 3264
+-112.502 49.532 3298
+-112.376 49.532 3275
+-112.25 49.532 3288
+-112.124 49.532 3303
+-111.998 49.532 3315
+-111.872 49.532 3317
+-111.746 49.532 3319
+-111.62 49.532 3270
+-111.494 49.532 3272
+-111.368 49.532 3279
+-111.242 49.532 3285
+-111.116 49.532 3290
+-110.99 49.532 3294
+-110.864 49.532 3298
+-110.738 49.532 3302
+-110.612 49.532 3306
+-110.486 49.532 3310
+-110.36 49.532 3297
+-110.234 49.532 3256
+-110.108 49.532 3243
+-109.982 49.532 3247
+-109.856 49.532 3250
+-109.73 49.532 3253
+-109.604 49.532 3256
+-109.478 49.532 3259
+-109.352 49.532 3237
+-109.226 49.532 3241
+-109.1 49.532 3245
+-108.974 49.532 3249
+-108.848 49.532 3220
+-108.722 49.532 3224
+-108.596 49.532 3229
+-108.47 49.532 3233
+-108.344 49.532 3222
+-108.218 49.532 3226
+-108.092 49.532 3229
+-107.966 49.532 3233
+-107.84 49.532 3225
+-107.714 49.532 3229
+-107.588 49.532 3233
+-107.462 49.532 3237
+-107.336 49.532 3227
+-107.21 49.532 3231
+-107.084 49.532 3235
+-106.958 49.532 3238
+-106.832 49.532 3242
+-106.706 49.532 3246
+-106.58 49.532 3249
+-106.454 49.532 3252
+-106.328 49.532 3255
+-106.202 49.532 3259
+-106.076 49.532 3262
+-105.95 49.532 3199
+-105.824 49.532 3185
+-105.698 49.532 3188
+-105.572 49.532 3191
+-105.446 49.532 3194
+-105.32 49.532 3196
+-105.194 49.532 3165
+-105.068 49.532 3160
+-104.942 49.532 3163
+-104.816 49.532 3167
+-104.69 49.532 3145
+-104.564 49.532 3148
+-104.438 49.532 3151
+-104.312 49.532 3153
+-104.186 49.532 3156
+-104.06 49.532 3158
+-103.934 49.532 3160
+-103.808 49.532 3163
+-103.682 49.532 3165
+-103.556 49.532 3167
+-103.43 49.532 3169
+-103.304 49.532 3171
+-103.178 49.532 3173
+-103.052 49.532 3175
+-102.926 49.532 3177
+-102.8 49.532 3151
+-102.674 49.532 3106
+-102.548 49.532 3108
+-102.422 49.532 3109
+-102.296 49.532 3111
+-102.17 49.532 3112
+-102.044 49.532 3039
+-101.918 49.532 3038
+-101.792 49.532 3037
+-101.666 49.532 3036
+-101.54 49.532 3034
+-101.414 49.532 3033
+-101.288 49.532 2942
+-101.162 49.532 2940
+-101.036 49.532 2856
+-100.91 49.532 2829
+-100.784 49.532 2849
+-100.658 49.532 2746
+-100.532 49.532 2710
+-100.406 49.532 2709
+-100.28 49.532 2691
+-100.154 49.532 2712
+-100.028 49.532 2737
+-99.902 49.532 2738
+-99.776 49.532 2727
+-99.65 49.532 2728
+-99.524 49.532 2732
+-99.398 49.532 2706
+-99.272 49.532 2759
+-99.146 49.532 2699
+-99.02 49.532 2700
+-98.894 49.532 2704
+-98.768 49.532 2703
+-98.642 49.532 2820
+-98.516 49.532 2804
+-98.39 49.532 2802
+-98.264 49.532 2801
+-98.138 49.532 2799
+-98.012 49.532 2798
+-97.886 49.532 2796
+-97.76 49.532 2795
+-97.634 49.532 2793
+-97.508 49.532 2792
+-97.382 49.532 2790
+-97.256 49.532 2789
+-97.13 49.532 2787
+-97.004 49.532 2785
+-96.878 49.532 2784
+-96.752 49.532 2782
+-96.626 49.532 2780
+-96.5 49.532 2778
+-96.374 49.532 2777
+-96.248 49.532 2775
+-96.122 49.532 2773
+-95.996 49.532 2771
+-95.87 49.532 2769
+-95.744 49.532 2768
+-95.618 49.532 2766
+-95.492 49.532 2764
+-95.366 49.532 2762
+-95.24 49.532 2760
+-95.114 49.532 2758
+-94.988 49.532 2757
+-94.862 49.532 2755
+-94.736 49.532 2753
+-94.61 49.532 2751
+-94.484 49.532 2749
+-94.358 49.532 2747
+-94.232 49.532 2745
+-94.106 49.532 2744
+-93.98 49.532 2742
+-93.854 49.532 2740
+-93.728 49.532 2738
+-93.602 49.532 2737
+-93.476 49.532 2735
+-93.35 49.532 2733
+-93.224 49.532 2731
+-93.098 49.532 2730
+-92.972 49.532 2728
+-92.846 49.532 2727
+-92.72 49.532 2725
+-92.594 49.532 2723
+-92.468 49.532 2722
+-92.342 49.532 2721
+-92.216 49.532 2719
+-92.09 49.532 2718
+-91.964 49.532 2716
+-91.838 49.532 2715
+-91.712 49.532 2714
+-91.586 49.532 2713
+-91.46 49.532 2712
+-91.334 49.532 2711
+-91.208 49.532 2710
+-91.082 49.532 2709
+-90.956 49.532 2708
+-90.83 49.532 2707
+-90.704 49.532 2706
+-90.578 49.532 2705
+-90.452 49.532 2658
+-90.326 49.532 2658
+-90.2 49.532 2657
+-90.074 49.532 2656
+-89.948 49.532 2656
+-89.822 49.532 2655
+-89.696 49.532 2655
+-89.57 49.532 2654
+-89.444 49.532 2654
+-89.318 49.532 2654
+-89.192 49.532 2653
+-89.066 49.532 2653
+-88.94 49.532 2653
+-88.814 49.532 2653
+-88.688 49.532 2653
+-88.562 49.532 2652
+-88.436 49.532 2652
+-88.31 49.532 2652
+-88.184 49.532 2652
+-88.058 49.532 2652
+-87.932 49.532 2653
+-87.806 49.532 2653
+-87.68 49.532 2653
+-87.554 49.532 2653
+-87.428 49.532 2653
+-87.302 49.532 2653
+-87.176 49.532 2654
+-87.05 49.532 2654
+-86.924 49.532 2654
+-86.798 49.532 2654
+-86.672 49.532 2655
+-86.546 49.532 2655
+-86.42 49.532 2655
+-86.294 49.532 2656
+-86.168 49.532 2656
+-86.042 49.532 2656
+-85.916 49.532 2657
+-85.79 49.532 2657
+-85.664 49.532 2657
+-85.538 49.532 2658
+-85.412 49.532 2658
+-85.286 49.532 2659
+-85.16 49.532 2659
+-85.034 49.532 2659
+-84.908 49.532 2660
+-84.782 49.532 2660
+-84.656 49.532 2661
+-84.53 49.532 2661
+-84.404 49.532 2662
+-84.278 49.532 2662
+-84.152 49.532 2663
+-84.026 49.532 2663
+-83.9 49.532 2664
+-83.774 49.532 2664
+-83.648 49.532 2664
+-83.522 49.532 2665
+-83.396 49.532 2665
+-83.27 49.532 2666
+-83.144 49.532 2666
+-83.018 49.532 2667
+-82.892 49.532 2667
+-82.766 49.532 2668
+-82.64 49.532 2668
+-82.514 49.532 2669
+-82.388 49.532 2669
+-82.262 49.532 2670
+-82.136 49.532 2670
+-82.01 49.532 2671
+-81.884 49.532 2671
+-81.758 49.532 2672
+-81.632 49.532 2672
+-81.506 49.532 2673
+-81.38 49.532 2673
+-81.254 49.532 2674
+-81.128 49.532 2674
+-81.002 49.532 2675
+-80.876 49.532 2675
+-80.75 49.532 2676
+-80.624 49.532 2677
+-80.498 49.532 2677
+-80.372 49.532 2678
+-80.246 49.532 2678
+-80.12 49.532 2690
+-79.994 49.532 2690
+-79.868 49.532 2691
+-79.742 49.532 2691
+-79.616 49.532 2577
+-79.49 49.532 2577
+-79.364 49.532 2577
+-79.238 49.532 2577
+-79.112 49.532 2578
+-78.986 49.532 2578
+-78.86 49.532 2578
+-78.734 49.532 2579
+-78.608 49.532 2579
+-78.482 49.532 2579
+-78.356 49.532 2586
+-78.23 49.532 2594
+-78.104 49.532 2594
+-77.978 49.532 2594
+-77.852 49.532 2595
+-77.726 49.532 2613
+-77.6 49.532 2614
+-77.474 49.532 2614
+-77.348 49.532 2614
+-77.222 49.532 2618
+-77.096 49.532 2749
+-76.97 49.532 2749
+-76.844 49.532 2749
+-76.718 49.532 2757
+-76.592 49.532 2757
+-76.466 49.532 2757
+-76.34 49.532 2776
+-76.214 49.532 2755
+-76.088 49.532 2770
+-75.962 49.532 2771
+-75.836 49.532 2765
+-75.71 49.532 2766
+-75.584 49.532 2766
+-75.458 49.532 2766
+-75.332 49.532 2768
+-75.206 49.532 2859
+-75.08 49.532 2859
+-74.954 49.532 2860
+-74.828 49.532 2860
+-74.702 49.532 2880
+-74.576 49.532 2880
+-74.45 49.532 2858
+-74.324 49.532 2858
+-74.198 49.532 2859
+-74.072 49.532 2859
+-73.946 49.532 2828
+-73.82 49.532 2839
+-73.694 49.532 2839
+-73.568 49.532 2970
+-73.442 49.532 2927
+-73.316 49.532 2928
+-73.19 49.532 3072
+-73.064 49.532 3068
+-72.938 49.532 3027
+-72.812 49.532 3096
+-72.686 49.532 2978
+-72.56 49.532 3011
+-72.434 49.532 3069
+-72.308 49.532 2960
+-72.182 49.532 2968
+-72.056 49.532 2868
+-71.93 49.532 2864
+-71.804 49.532 2882
+-71.678 49.532 2851
+-71.552 49.532 2851
+-71.426 49.532 2852
+-71.3 49.532 2787
+-71.174 49.532 2834
+-71.048 49.532 2824
+-70.922 49.532 2812
+-70.796 49.532 2813
+-70.67 49.532 2814
+-70.544 49.532 2814
+-70.418 49.532 2750
+-70.292 49.532 2745
+-70.166 49.532 2745
+-70.04 49.532 2746
+-69.914 49.532 2746
+-69.788 49.532 2742
+-69.662 49.532 2684
+-69.536 49.532 2790
+-69.41 49.532 2785
+-69.284 49.532 2792
+-69.158 49.532 2792
+-69.032 49.532 2793
+-68.906 49.532 2793
+-68.78 49.532 2820
+-68.654 49.532 2796
+-68.528 49.532 2865
+-68.402 49.532 2866
+-68.276 49.532 2855
+-68.15 49.532 2864
+-68.024 49.532 2864
+-67.898 49.532 2865
+-67.772 49.532 2851
+-67.646 49.532 2968
+-67.52 49.532 2968
+-67.394 49.532 2969
+-67.268 49.532 2970
+-67.142 49.532 3069
+-67.016 49.532 3020
+-66.89 49.532 3167
+-66.764 49.532 3168
+-66.638 49.532 3128
+-66.512 49.532 3128
+-66.386 49.532 3129
+-66.26 49.532 3129
+-66.134 49.532 3129
+-66.008 49.532 3129
+-65.882 49.532 3233
+-65.756 49.532 3227
+-65.63 49.532 3227
+-65.504 49.532 3228
+-65.378 49.532 3228
+-65.252 49.532 3168
+-65.126 49.532 3207
+-128 49.48 4077
+-127.874 49.48 4054
+-127.748 49.48 4006
+-127.622 49.48 3971
+-127.496 49.48 4101
+-127.37 49.48 4285
+-127.244 49.48 4408
+-127.118 49.48 4470
+-126.992 49.48 4490
+-126.866 49.48 4564
+-126.74 49.48 4712
+-126.614 49.48 4863
+-126.488 49.48 4961
+-126.362 49.48 5035
+-126.236 49.48 5120
+-126.11 49.48 5131
+-125.984 49.48 5251
+-125.858 49.48 5410
+-125.732 49.48 5580
+-125.606 49.48 5671
+-125.48 49.48 5754
+-125.354 49.48 5846
+-125.228 49.48 5912
+-125.102 49.48 6031
+-124.976 49.48 6125
+-124.85 49.48 6204
+-124.724 49.48 6293
+-124.598 49.48 6373
+-124.472 49.48 6375
+-124.346 49.48 6476
+-124.22 49.48 6537
+-124.094 49.48 6586
+-123.968 49.48 6613
+-123.842 49.48 6734
+-123.716 49.48 6744
+-123.59 49.48 6785
+-123.464 49.48 6826
+-123.338 49.48 6845
+-123.212 49.48 6854
+-123.086 49.48 6889
+-122.96 49.48 6884
+-122.834 49.48 6869
+-122.708 49.48 6865
+-122.582 49.48 6867
+-122.456 49.48 6833
+-122.33 49.48 6772
+-122.204 49.48 6712
+-122.078 49.48 6726
+-121.952 49.48 6676
+-121.826 49.48 6612
+-121.7 49.48 6543
+-121.574 49.48 6441
+-121.448 49.48 6365
+-121.322 49.48 6307
+-121.196 49.48 6290
+-121.07 49.48 6116
+-120.944 49.48 6095
+-120.818 49.48 5990
+-120.692 49.48 5916
+-120.566 49.48 5814
+-120.44 49.48 5739
+-120.314 49.48 5598
+-120.188 49.48 5499
+-120.062 49.48 5407
+-119.936 49.48 5372
+-119.81 49.48 5397
+-119.684 49.48 5442
+-119.558 49.48 5490
+-119.432 49.48 5532
+-119.306 49.48 5573
+-119.18 49.48 5609
+-119.054 49.48 5598
+-118.928 49.48 5654
+-118.802 49.48 5685
+-118.676 49.48 5688
+-118.55 49.48 5707
+-118.424 49.48 5714
+-118.298 49.48 5715
+-118.172 49.48 5705
+-118.046 49.48 5708
+-117.92 49.48 5679
+-117.794 49.48 5683
+-117.668 49.48 5662
+-117.542 49.48 5646
+-117.416 49.48 5585
+-117.29 49.48 5531
+-117.164 49.48 5513
+-117.038 49.48 5467
+-116.912 49.48 5422
+-116.786 49.48 5356
+-116.66 49.48 5276
+-116.534 49.48 5213
+-116.408 49.48 5154
+-116.282 49.48 5094
+-116.156 49.48 5020
+-116.03 49.48 4985
+-115.904 49.48 4973
+-115.778 49.48 4855
+-115.652 49.48 4731
+-115.526 49.48 4627
+-115.4 49.48 4505
+-115.274 49.48 4396
+-115.148 49.48 4349
+-115.022 49.48 4349
+-114.896 49.48 4315
+-114.77 49.48 4277
+-114.644 49.48 4219
+-114.518 49.48 4129
+-114.392 49.48 4046
+-114.266 49.48 3953
+-114.14 49.48 3873
+-114.014 49.48 3761
+-113.888 49.48 3610
+-113.762 49.48 3492
+-113.636 49.48 3369
+-113.51 49.48 3278
+-113.384 49.48 3218
+-113.258 49.48 3202
+-113.132 49.48 3210
+-113.006 49.48 3223
+-112.88 49.48 3252
+-112.754 49.48 3281
+-112.628 49.48 3309
+-112.502 49.48 3283
+-112.376 49.48 3294
+-112.25 49.48 3307
+-112.124 49.48 3318
+-111.998 49.48 3319
+-111.872 49.48 3320
+-111.746 49.48 3271
+-111.62 49.48 3273
+-111.494 49.48 3278
+-111.368 49.48 3283
+-111.242 49.48 3288
+-111.116 49.48 3292
+-110.99 49.48 3295
+-110.864 49.48 3299
+-110.738 49.48 3302
+-110.612 49.48 3305
+-110.486 49.48 3293
+-110.36 49.48 3252
+-110.234 49.48 3239
+-110.108 49.48 3242
+-109.982 49.48 3245
+-109.856 49.48 3248
+-109.73 49.48 3252
+-109.604 49.48 3255
+-109.478 49.48 3232
+-109.352 49.48 3236
+-109.226 49.48 3240
+-109.1 49.48 3244
+-108.974 49.48 3216
+-108.848 49.48 3220
+-108.722 49.48 3224
+-108.596 49.48 3229
+-108.47 49.48 3218
+-108.344 49.48 3222
+-108.218 49.48 3226
+-108.092 49.48 3230
+-107.966 49.48 3221
+-107.84 49.48 3226
+-107.714 49.48 3230
+-107.588 49.48 3234
+-107.462 49.48 3224
+-107.336 49.48 3228
+-107.21 49.48 3232
+-107.084 49.48 3236
+-106.958 49.48 3240
+-106.832 49.48 3243
+-106.706 49.48 3247
+-106.58 49.48 3250
+-106.454 49.48 3254
+-106.328 49.48 3257
+-106.202 49.48 3260
+-106.076 49.48 3197
+-105.95 49.48 3184
+-105.824 49.48 3187
+-105.698 49.48 3189
+-105.572 49.48 3192
+-105.446 49.48 3195
+-105.32 49.48 3164
+-105.194 49.48 3159
+-105.068 49.48 3162
+-104.942 49.48 3165
+-104.816 49.48 3144
+-104.69 49.48 3147
+-104.564 49.48 3149
+-104.438 49.48 3152
+-104.312 49.48 3155
+-104.186 49.48 3157
+-104.06 49.48 3160
+-103.934 49.48 3162
+-103.808 49.48 3164
+-103.682 49.48 3166
+-103.556 49.48 3169
+-103.43 49.48 3171
+-103.304 49.48 3173
+-103.178 49.48 3175
+-103.052 49.48 3177
+-102.926 49.48 3151
+-102.8 49.48 3106
+-102.674 49.48 3107
+-102.548 49.48 3109
+-102.422 49.48 3110
+-102.296 49.48 3112
+-102.17 49.48 3113
+-102.044 49.48 3040
+-101.918 49.48 3039
+-101.792 49.48 3038
+-101.666 49.48 3036
+-101.54 49.48 3035
+-101.414 49.48 2945
+-101.288 49.48 2943
+-101.162 49.48 2940
+-101.036 49.48 2856
+-100.91 49.48 2852
+-100.784 49.48 2748
+-100.658 49.48 2711
+-100.532 49.48 2710
+-100.406 49.48 2692
+-100.28 49.48 2713
+-100.154 49.48 2738
+-100.028 49.48 2738
+-99.902 49.48 2726
+-99.776 49.48 2727
+-99.65 49.48 2731
+-99.524 49.48 2706
+-99.398 49.48 2758
+-99.272 49.48 2803
+-99.146 49.48 2804
+-99.02 49.48 2805
+-98.894 49.48 2822
+-98.768 49.48 2821
+-98.642 49.48 2805
+-98.516 49.48 2804
+-98.39 49.48 2802
+-98.264 49.48 2801
+-98.138 49.48 2800
+-98.012 49.48 2798
+-97.886 49.48 2796
+-97.76 49.48 2795
+-97.634 49.48 2793
+-97.508 49.48 2792
+-97.382 49.48 2790
+-97.256 49.48 2788
+-97.13 49.48 2787
+-97.004 49.48 2785
+-96.878 49.48 2783
+-96.752 49.48 2782
+-96.626 49.48 2780
+-96.5 49.48 2778
+-96.374 49.48 2776
+-96.248 49.48 2774
+-96.122 49.48 2773
+-95.996 49.48 2771
+-95.87 49.48 2769
+-95.744 49.48 2767
+-95.618 49.48 2765
+-95.492 49.48 2763
+-95.366 49.48 2761
+-95.24 49.48 2759
+-95.114 49.48 2758
+-94.988 49.48 2756
+-94.862 49.48 2754
+-94.736 49.48 2752
+-94.61 49.48 2750
+-94.484 49.48 2748
+-94.358 49.48 2746
+-94.232 49.48 2744
+-94.106 49.48 2742
+-93.98 49.48 2741
+-93.854 49.48 2739
+-93.728 49.48 2737
+-93.602 49.48 2735
+-93.476 49.48 2733
+-93.35 49.48 2731
+-93.224 49.48 2730
+-93.098 49.48 2728
+-92.972 49.48 2726
+-92.846 49.48 2725
+-92.72 49.48 2723
+-92.594 49.48 2722
+-92.468 49.48 2720
+-92.342 49.48 2719
+-92.216 49.48 2717
+-92.09 49.48 2716
+-91.964 49.48 2714
+-91.838 49.48 2713
+-91.712 49.48 2712
+-91.586 49.48 2711
+-91.46 49.48 2709
+-91.334 49.48 2708
+-91.208 49.48 2707
+-91.082 49.48 2706
+-90.956 49.48 2705
+-90.83 49.48 2705
+-90.704 49.48 2704
+-90.578 49.48 2703
+-90.452 49.48 2656
+-90.326 49.48 2655
+-90.2 49.48 2655
+-90.074 49.48 2654
+-89.948 49.48 2654
+-89.822 49.48 2653
+-89.696 49.48 2653
+-89.57 49.48 2652
+-89.444 49.48 2652
+-89.318 49.48 2651
+-89.192 49.48 2651
+-89.066 49.48 2651
+-88.94 49.48 2651
+-88.814 49.48 2651
+-88.688 49.48 2651
+-88.562 49.48 2650
+-88.436 49.48 2650
+-88.31 49.48 2650
+-88.184 49.48 2650
+-88.058 49.48 2651
+-87.932 49.48 2651
+-87.806 49.48 2651
+-87.68 49.48 2651
+-87.554 49.48 2651
+-87.428 49.48 2651
+-87.302 49.48 2651
+-87.176 49.48 2652
+-87.05 49.48 2652
+-86.924 49.48 2652
+-86.798 49.48 2653
+-86.672 49.48 2653
+-86.546 49.48 2653
+-86.42 49.48 2654
+-86.294 49.48 2654
+-86.168 49.48 2654
+-86.042 49.48 2655
+-85.916 49.48 2655
+-85.79 49.48 2655
+-85.664 49.48 2656
+-85.538 49.48 2656
+-85.412 49.48 2657
+-85.286 49.48 2657
+-85.16 49.48 2658
+-85.034 49.48 2658
+-84.908 49.48 2659
+-84.782 49.48 2659
+-84.656 49.48 2659
+-84.53 49.48 2660
+-84.404 49.48 2660
+-84.278 49.48 2661
+-84.152 49.48 2661
+-84.026 49.48 2662
+-83.9 49.48 2662
+-83.774 49.48 2663
+-83.648 49.48 2663
+-83.522 49.48 2664
+-83.396 49.48 2664
+-83.27 49.48 2665
+-83.144 49.48 2665
+-83.018 49.48 2666
+-82.892 49.48 2666
+-82.766 49.48 2667
+-82.64 49.48 2667
+-82.514 49.48 2668
+-82.388 49.48 2668
+-82.262 49.48 2669
+-82.136 49.48 2669
+-82.01 49.48 2670
+-81.884 49.48 2670
+-81.758 49.48 2671
+-81.632 49.48 2671
+-81.506 49.48 2672
+-81.38 49.48 2673
+-81.254 49.48 2673
+-81.128 49.48 2674
+-81.002 49.48 2674
+-80.876 49.48 2675
+-80.75 49.48 2675
+-80.624 49.48 2676
+-80.498 49.48 2676
+-80.372 49.48 2677
+-80.246 49.48 2688
+-80.12 49.48 2689
+-79.994 49.48 2690
+-79.868 49.48 2690
+-79.742 49.48 2575
+-79.616 49.48 2576
+-79.49 49.48 2576
+-79.364 49.48 2576
+-79.238 49.48 2577
+-79.112 49.48 2577
+-78.986 49.48 2577
+-78.86 49.48 2578
+-78.734 49.48 2578
+-78.608 49.48 2578
+-78.482 49.48 2585
+-78.356 49.48 2593
+-78.23 49.48 2593
+-78.104 49.48 2593
+-77.978 49.48 2594
+-77.852 49.48 2612
+-77.726 49.48 2613
+-77.6 49.48 2613
+-77.474 49.48 2613
+-77.348 49.48 2617
+-77.222 49.48 2748
+-77.096 49.48 2748
+-76.97 49.48 2748
+-76.844 49.48 2756
+-76.718 49.48 2756
+-76.592 49.48 2756
+-76.466 49.48 2775
+-76.34 49.48 2754
+-76.214 49.48 2769
+-76.088 49.48 2770
+-75.962 49.48 2764
+-75.836 49.48 2765
+-75.71 49.48 2765
+-75.584 49.48 2765
+-75.458 49.48 2767
+-75.332 49.48 2858
+-75.206 49.48 2858
+-75.08 49.48 2859
+-74.954 49.48 2859
+-74.828 49.48 2879
+-74.702 49.48 2879
+-74.576 49.48 2857
+-74.45 49.48 2857
+-74.324 49.48 2858
+-74.198 49.48 2858
+-74.072 49.48 2827
+-73.946 49.48 2838
+-73.82 49.48 2839
+-73.694 49.48 2969
+-73.568 49.48 2926
+-73.442 49.48 2927
+-73.316 49.48 3071
+-73.19 49.48 3067
+-73.064 49.48 3026
+-72.938 49.48 3094
+-72.812 49.48 2977
+-72.686 49.48 3010
+-72.56 49.48 3068
+-72.434 49.48 2959
+-72.308 49.48 2967
+-72.182 49.48 2867
+-72.056 49.48 2863
+-71.93 49.48 2881
+-71.804 49.48 2850
+-71.678 49.48 2850
+-71.552 49.48 2851
+-71.426 49.48 2786
+-71.3 49.48 2833
+-71.174 49.48 2824
+-71.048 49.48 2812
+-70.922 49.48 2812
+-70.796 49.48 2813
+-70.67 49.48 2813
+-70.544 49.48 2749
+-70.418 49.48 2744
+-70.292 49.48 2745
+-70.166 49.48 2745
+-70.04 49.48 2746
+-69.914 49.48 2741
+-69.788 49.48 2683
+-69.662 49.48 2790
+-69.536 49.48 2785
+-69.41 49.48 2791
+-69.284 49.48 2792
+-69.158 49.48 2792
+-69.032 49.48 2793
+-68.906 49.48 2820
+-68.78 49.48 2795
+-68.654 49.48 2865
+-68.528 49.48 2865
+-68.402 49.48 2855
+-68.276 49.48 2863
+-68.15 49.48 2864
+-68.024 49.48 2864
+-67.898 49.48 2851
+-67.772 49.48 2967
+-67.646 49.48 2968
+-67.52 49.48 2969
+-67.394 49.48 2969
+-67.268 49.48 3068
+-67.142 49.48 3019
+-67.016 49.48 3167
+-66.89 49.48 3167
+-66.764 49.48 3128
+-66.638 49.48 3128
+-66.512 49.48 3128
+-66.386 49.48 3129
+-66.26 49.48 3129
+-66.134 49.48 3129
+-66.008 49.48 3232
+-65.882 49.48 3227
+-65.756 49.48 3227
+-65.63 49.48 3227
+-65.504 49.48 3228
+-65.378 49.48 3167
+-65.252 49.48 3207
+-65.126 49.48 3207
+-128 49.428 4094
+-127.874 49.428 4049
+-127.748 49.428 3956
+-127.622 49.428 3846
+-127.496 49.428 4026
+-127.37 49.428 4283
+-127.244 49.428 4402
+-127.118 49.428 4426
+-126.992 49.428 4513
+-126.866 49.428 4612
+-126.74 49.428 4759
+-126.614 49.428 4908
+-126.488 49.428 4985
+-126.362 49.428 4985
+-126.236 49.428 5095
+-126.11 49.428 5179
+-125.984 49.428 5297
+-125.858 49.428 5434
+-125.732 49.428 5587
+-125.606 49.428 5680
+-125.48 49.428 5825
+-125.354 49.428 5927
+-125.228 49.428 6013
+-125.102 49.428 6099
+-124.976 49.428 6133
+-124.85 49.428 6231
+-124.724 49.428 6320
+-124.598 49.428 6412
+-124.472 49.428 6459
+-124.346 49.428 6533
+-124.22 49.428 6618
+-124.094 49.428 6639
+-123.968 49.428 6682
+-123.842 49.428 6733
+-123.716 49.428 6787
+-123.59 49.428 6844
+-123.464 49.428 6863
+-123.338 49.428 6906
+-123.212 49.428 6930
+-123.086 49.428 6942
+-122.96 49.428 6954
+-122.834 49.428 6941
+-122.708 49.428 6942
+-122.582 49.428 6919
+-122.456 49.428 6896
+-122.33 49.428 6828
+-122.204 49.428 6798
+-122.078 49.428 6732
+-121.952 49.428 6687
+-121.826 49.428 6650
+-121.7 49.428 6592
+-121.574 49.428 6484
+-121.448 49.428 6422
+-121.322 49.428 6335
+-121.196 49.428 6290
+-121.07 49.428 6228
+-120.944 49.428 6142
+-120.818 49.428 6024
+-120.692 49.428 5925
+-120.566 49.428 5817
+-120.44 49.428 5766
+-120.314 49.428 5622
+-120.188 49.428 5576
+-120.062 49.428 5336
+-119.936 49.428 5365
+-119.81 49.428 5449
+-119.684 49.428 5503
+-119.558 49.428 5563
+-119.432 49.428 5603
+-119.306 49.428 5613
+-119.18 49.428 5652
+-119.054 49.428 5707
+-118.928 49.428 5726
+-118.802 49.428 5755
+-118.676 49.428 5762
+-118.55 49.428 5764
+-118.424 49.428 5770
+-118.298 49.428 5767
+-118.172 49.428 5758
+-118.046 49.428 5759
+-117.92 49.428 5758
+-117.794 49.428 5713
+-117.668 49.428 5710
+-117.542 49.428 5684
+-117.416 49.428 5635
+-117.29 49.428 5594
+-117.164 49.428 5562
+-117.038 49.428 5537
+-116.912 49.428 5467
+-116.786 49.428 5418
+-116.66 49.428 5304
+-116.534 49.428 5265
+-116.408 49.428 5159
+-116.282 49.428 5133
+-116.156 49.428 5069
+-116.03 49.428 5022
+-115.904 49.428 4990
+-115.778 49.428 4894
+-115.652 49.428 4780
+-115.526 49.428 4691
+-115.4 49.428 4563
+-115.274 49.428 4467
+-115.148 49.428 4390
+-115.022 49.428 4396
+-114.896 49.428 4371
+-114.77 49.428 4343
+-114.644 49.428 4286
+-114.518 49.428 4206
+-114.392 49.428 4088
+-114.266 49.428 3978
+-114.14 49.428 3899
+-114.014 49.428 3788
+-113.888 49.428 3650
+-113.762 49.428 3542
+-113.636 49.428 3458
+-113.51 49.428 3393
+-113.384 49.428 3346
+-113.258 49.428 3308
+-113.132 49.428 3292
+-113.006 49.428 3300
+-112.88 49.428 3315
+-112.754 49.428 3332
+-112.628 49.428 3300
+-112.502 49.428 3308
+-112.376 49.428 3317
+-112.25 49.428 3325
+-112.124 49.428 3324
+-111.998 49.428 3324
+-111.872 49.428 3275
+-111.746 49.428 3275
+-111.62 49.428 3280
+-111.494 49.428 3284
+-111.368 49.428 3287
+-111.242 49.428 3290
+-111.116 49.428 3293
+-110.99 49.428 3295
+-110.864 49.428 3298
+-110.738 49.428 3301
+-110.612 49.428 3288
+-110.486 49.428 3248
+-110.36 49.428 3235
+-110.234 49.428 3237
+-110.108 49.428 3240
+-109.982 49.428 3244
+-109.856 49.428 3247
+-109.73 49.428 3250
+-109.604 49.428 3227
+-109.478 49.428 3231
+-109.352 49.428 3235
+-109.226 49.428 3239
+-109.1 49.428 3211
+-108.974 49.428 3215
+-108.848 49.428 3220
+-108.722 49.428 3224
+-108.596 49.428 3214
+-108.47 49.428 3218
+-108.344 49.428 3222
+-108.218 49.428 3226
+-108.092 49.428 3218
+-107.966 49.428 3222
+-107.84 49.428 3226
+-107.714 49.428 3231
+-107.588 49.428 3221
+-107.462 49.428 3225
+-107.336 49.428 3229
+-107.21 49.428 3233
+-107.084 49.428 3237
+-106.958 49.428 3241
+-106.832 49.428 3245
+-106.706 49.428 3248
+-106.58 49.428 3252
+-106.454 49.428 3255
+-106.328 49.428 3258
+-106.202 49.428 3195
+-106.076 49.428 3182
+-105.95 49.428 3185
+-105.824 49.428 3188
+-105.698 49.428 3191
+-105.572 49.428 3194
+-105.446 49.428 3162
+-105.32 49.428 3157
+-105.194 49.428 3161
+-105.068 49.428 3164
+-104.942 49.428 3143
+-104.816 49.428 3146
+-104.69 49.428 3148
+-104.564 49.428 3151
+-104.438 49.428 3154
+-104.312 49.428 3156
+-104.186 49.428 3159
+-104.06 49.428 3161
+-103.934 49.428 3164
+-103.808 49.428 3166
+-103.682 49.428 3168
+-103.556 49.428 3170
+-103.43 49.428 3172
+-103.304 49.428 3174
+-103.178 49.428 3176
+-103.052 49.428 3150
+-102.926 49.428 3105
+-102.8 49.428 3107
+-102.674 49.428 3108
+-102.548 49.428 3110
+-102.422 49.428 3111
+-102.296 49.428 3113
+-102.17 49.428 3114
+-102.044 49.428 3041
+-101.918 49.428 3040
+-101.792 49.428 3039
+-101.666 49.428 3037
+-101.54 49.428 2948
+-101.414 49.428 2945
+-101.288 49.428 2943
+-101.162 49.428 2935
+-101.036 49.428 2855
+-100.91 49.428 2750
+-100.784 49.428 2748
+-100.658 49.428 2712
+-100.532 49.428 2706
+-100.406 49.428 2714
+-100.28 49.428 2738
+-100.154 49.428 2738
+-100.028 49.428 2726
+-99.902 49.428 2727
+-99.776 49.428 2730
+-99.65 49.428 2745
+-99.524 49.428 2757
+-99.398 49.428 2803
+-99.272 49.428 2804
+-99.146 49.428 2804
+-99.02 49.428 2823
+-98.894 49.428 2822
+-98.768 49.428 2807
+-98.642 49.428 2806
+-98.516 49.428 2804
+-98.39 49.428 2803
+-98.264 49.428 2801
+-98.138 49.428 2800
+-98.012 49.428 2798
+-97.886 49.428 2796
+-97.76 49.428 2795
+-97.634 49.428 2793
+-97.508 49.428 2792
+-97.382 49.428 2790
+-97.256 49.428 2788
+-97.13 49.428 2787
+-97.004 49.428 2785
+-96.878 49.428 2783
+-96.752 49.428 2781
+-96.626 49.428 2779
+-96.5 49.428 2778
+-96.374 49.428 2776
+-96.248 49.428 2774
+-96.122 49.428 2772
+-95.996 49.428 2770
+-95.87 49.428 2768
+-95.744 49.428 2766
+-95.618 49.428 2764
+-95.492 49.428 2763
+-95.366 49.428 2761
+-95.24 49.428 2759
+-95.114 49.428 2757
+-94.988 49.428 2755
+-94.862 49.428 2753
+-94.736 49.428 2751
+-94.61 49.428 2749
+-94.484 49.428 2747
+-94.358 49.428 2745
+-94.232 49.428 2743
+-94.106 49.428 2741
+-93.98 49.428 2739
+-93.854 49.428 2737
+-93.728 49.428 2735
+-93.602 49.428 2733
+-93.476 49.428 2732
+-93.35 49.428 2730
+-93.224 49.428 2728
+-93.098 49.428 2726
+-92.972 49.428 2725
+-92.846 49.428 2723
+-92.72 49.428 2721
+-92.594 49.428 2720
+-92.468 49.428 2718
+-92.342 49.428 2716
+-92.216 49.428 2715
+-92.09 49.428 2714
+-91.964 49.428 2712
+-91.838 49.428 2711
+-91.712 49.428 2710
+-91.586 49.428 2708
+-91.46 49.428 2707
+-91.334 49.428 2706
+-91.208 49.428 2705
+-91.082 49.428 2704
+-90.956 49.428 2703
+-90.83 49.428 2702
+-90.704 49.428 2701
+-90.578 49.428 2701
+-90.452 49.428 2654
+-90.326 49.428 2653
+-90.2 49.428 2652
+-90.074 49.428 2652
+-89.948 49.428 2651
+-89.822 49.428 2651
+-89.696 49.428 2650
+-89.57 49.428 2650
+-89.444 49.428 2650
+-89.318 49.428 2649
+-89.192 49.428 2649
+-89.066 49.428 2649
+-88.94 49.428 2649
+-88.814 49.428 2648
+-88.688 49.428 2648
+-88.562 49.428 2648
+-88.436 49.428 2648
+-88.31 49.428 2648
+-88.184 49.428 2648
+-88.058 49.428 2648
+-87.932 49.428 2649
+-87.806 49.428 2649
+-87.68 49.428 2649
+-87.554 49.428 2649
+-87.428 49.428 2649
+-87.302 49.428 2650
+-87.176 49.428 2650
+-87.05 49.428 2650
+-86.924 49.428 2651
+-86.798 49.428 2651
+-86.672 49.428 2651
+-86.546 49.428 2652
+-86.42 49.428 2652
+-86.294 49.428 2652
+-86.168 49.428 2653
+-86.042 49.428 2653
+-85.916 49.428 2654
+-85.79 49.428 2654
+-85.664 49.428 2654
+-85.538 49.428 2655
+-85.412 49.428 2655
+-85.286 49.428 2656
+-85.16 49.428 2656
+-85.034 49.428 2657
+-84.908 49.428 2657
+-84.782 49.428 2658
+-84.656 49.428 2658
+-84.53 49.428 2659
+-84.404 49.428 2659
+-84.278 49.428 2660
+-84.152 49.428 2660
+-84.026 49.428 2661
+-83.9 49.428 2661
+-83.774 49.428 2662
+-83.648 49.428 2662
+-83.522 49.428 2663
+-83.396 49.428 2663
+-83.27 49.428 2664
+-83.144 49.428 2664
+-83.018 49.428 2665
+-82.892 49.428 2665
+-82.766 49.428 2666
+-82.64 49.428 2666
+-82.514 49.428 2667
+-82.388 49.428 2667
+-82.262 49.428 2668
+-82.136 49.428 2668
+-82.01 49.428 2669
+-81.884 49.428 2669
+-81.758 49.428 2670
+-81.632 49.428 2671
+-81.506 49.428 2671
+-81.38 49.428 2672
+-81.254 49.428 2672
+-81.128 49.428 2673
+-81.002 49.428 2673
+-80.876 49.428 2674
+-80.75 49.428 2674
+-80.624 49.428 2675
+-80.498 49.428 2675
+-80.372 49.428 2687
+-80.246 49.428 2688
+-80.12 49.428 2688
+-79.994 49.428 2689
+-79.868 49.428 2574
+-79.742 49.428 2575
+-79.616 49.428 2575
+-79.49 49.428 2575
+-79.364 49.428 2576
+-79.238 49.428 2576
+-79.112 49.428 2576
+-78.986 49.428 2576
+-78.86 49.428 2577
+-78.734 49.428 2577
+-78.608 49.428 2584
+-78.482 49.428 2592
+-78.356 49.428 2592
+-78.23 49.428 2592
+-78.104 49.428 2593
+-77.978 49.428 2611
+-77.852 49.428 2612
+-77.726 49.428 2612
+-77.6 49.428 2612
+-77.474 49.428 2616
+-77.348 49.428 2747
+-77.222 49.428 2747
+-77.096 49.428 2747
+-76.97 49.428 2754
+-76.844 49.428 2755
+-76.718 49.428 2755
+-76.592 49.428 2774
+-76.466 49.428 2753
+-76.34 49.428 2768
+-76.214 49.428 2769
+-76.088 49.428 2763
+-75.962 49.428 2764
+-75.836 49.428 2764
+-75.71 49.428 2764
+-75.584 49.428 2766
+-75.458 49.428 2857
+-75.332 49.428 2857
+-75.206 49.428 2857
+-75.08 49.428 2858
+-74.954 49.428 2878
+-74.828 49.428 2878
+-74.702 49.428 2856
+-74.576 49.428 2856
+-74.45 49.428 2857
+-74.324 49.428 2857
+-74.198 49.428 2827
+-74.072 49.428 2837
+-73.946 49.428 2838
+-73.82 49.428 2968
+-73.694 49.428 2925
+-73.568 49.428 2926
+-73.442 49.428 3070
+-73.316 49.428 3066
+-73.19 49.428 3025
+-73.064 49.428 3093
+-72.938 49.428 2976
+-72.812 49.428 3009
+-72.686 49.428 3067
+-72.56 49.428 2958
+-72.434 49.428 2966
+-72.308 49.428 2866
+-72.182 49.428 2862
+-72.056 49.428 2880
+-71.93 49.428 2849
+-71.804 49.428 2849
+-71.678 49.428 2850
+-71.552 49.428 2785
+-71.426 49.428 2832
+-71.3 49.428 2823
+-71.174 49.428 2811
+-71.048 49.428 2812
+-70.922 49.428 2812
+-70.796 49.428 2813
+-70.67 49.428 2749
+-70.544 49.428 2743
+-70.418 49.428 2744
+-70.292 49.428 2745
+-70.166 49.428 2745
+-70.04 49.428 2741
+-69.914 49.428 2683
+-69.788 49.428 2789
+-69.662 49.428 2784
+-69.536 49.428 2791
+-69.41 49.428 2791
+-69.284 49.428 2792
+-69.158 49.428 2792
+-69.032 49.428 2819
+-68.906 49.428 2795
+-68.78 49.428 2864
+-68.654 49.428 2865
+-68.528 49.428 2854
+-68.402 49.428 2863
+-68.276 49.428 2863
+-68.15 49.428 2864
+-68.024 49.428 2850
+-67.898 49.428 2967
+-67.772 49.428 2967
+-67.646 49.428 2968
+-67.52 49.428 2969
+-67.394 49.428 3068
+-67.268 49.428 3019
+-67.142 49.428 3166
+-67.016 49.428 3167
+-66.89 49.428 3127
+-66.764 49.428 3128
+-66.638 49.428 3128
+-66.512 49.428 3128
+-66.386 49.428 3129
+-66.26 49.428 3129
+-66.134 49.428 3232
+-66.008 49.428 3226
+-65.882 49.428 3227
+-65.756 49.428 3227
+-65.63 49.428 3227
+-65.504 49.428 3167
+-65.378 49.428 3206
+-65.252 49.428 3207
+-65.126 49.428 3289
+-128 49.376 4151
+-127.874 49.376 4112
+-127.748 49.376 4038
+-127.622 49.376 3993
+-127.496 49.376 4138
+-127.37 49.376 4352
+-127.244 49.376 4399
+-127.118 49.376 4317
+-126.992 49.376 4483
+-126.866 49.376 4618
+-126.74 49.376 4795
+-126.614 49.376 4908
+-126.488 49.376 5014
+-126.362 49.376 5076
+-126.236 49.376 5135
+-126.11 49.376 5224
+-125.984 49.376 5349
+-125.858 49.376 5477
+-125.732 49.376 5597
+-125.606 49.376 5710
+-125.48 49.376 5903
+-125.354 49.376 6003
+-125.228 49.376 6083
+-125.102 49.376 6145
+-124.976 49.376 6222
+-124.85 49.376 6282
+-124.724 49.376 6388
+-124.598 49.376 6395
+-124.472 49.376 6489
+-124.346 49.376 6574
+-124.22 49.376 6660
+-124.094 49.376 6727
+-123.968 49.376 6753
+-123.842 49.376 6794
+-123.716 49.376 6870
+-123.59 49.376 6898
+-123.464 49.376 6927
+-123.338 49.376 6953
+-123.212 49.376 6964
+-123.086 49.376 6981
+-122.96 49.376 7001
+-122.834 49.376 7010
+-122.708 49.376 6988
+-122.582 49.376 6968
+-122.456 49.376 6924
+-122.33 49.376 6908
+-122.204 49.376 6862
+-122.078 49.376 6801
+-121.952 49.376 6720
+-121.826 49.376 6681
+-121.7 49.376 6632
+-121.574 49.376 6570
+-121.448 49.376 6507
+-121.322 49.376 6405
+-121.196 49.376 6371
+-121.07 49.376 6234
+-120.944 49.376 6186
+-120.818 49.376 6069
+-120.692 49.376 5949
+-120.566 49.376 5883
+-120.44 49.376 5787
+-120.314 49.376 5663
+-120.188 49.376 5587
+-120.062 49.376 5384
+-119.936 49.376 5456
+-119.81 49.376 5488
+-119.684 49.376 5508
+-119.558 49.376 5605
+-119.432 49.376 5629
+-119.306 49.376 5675
+-119.18 49.376 5691
+-119.054 49.376 5736
+-118.928 49.376 5767
+-118.802 49.376 5790
+-118.676 49.376 5788
+-118.55 49.376 5790
+-118.424 49.376 5815
+-118.298 49.376 5832
+-118.172 49.376 5828
+-118.046 49.376 5797
+-117.92 49.376 5776
+-117.794 49.376 5763
+-117.668 49.376 5742
+-117.542 49.376 5718
+-117.416 49.376 5675
+-117.29 49.376 5652
+-117.164 49.376 5593
+-117.038 49.376 5549
+-116.912 49.376 5512
+-116.786 49.376 5465
+-116.66 49.376 5367
+-116.534 49.376 5262
+-116.408 49.376 5240
+-116.282 49.376 5155
+-116.156 49.376 5082
+-116.03 49.376 5049
+-115.904 49.376 5000
+-115.778 49.376 4883
+-115.652 49.376 4786
+-115.526 49.376 4738
+-115.4 49.376 4618
+-115.274 49.376 4525
+-115.148 49.376 4466
+-115.022 49.376 4435
+-114.896 49.376 4407
+-114.77 49.376 4377
+-114.644 49.376 4314
+-114.518 49.376 4268
+-114.392 49.376 4105
+-114.266 49.376 3996
+-114.14 49.376 3874
+-114.014 49.376 3773
+-113.888 49.376 3674
+-113.762 49.376 3588
+-113.636 49.376 3509
+-113.51 49.376 3455
+-113.384 49.376 3401
+-113.258 49.376 3370
+-113.132 49.376 3360
+-113.006 49.376 3359
+-112.88 49.376 3364
+-112.754 49.376 3337
+-112.628 49.376 3328
+-112.502 49.376 3332
+-112.376 49.376 3337
+-112.25 49.376 3334
+-112.124 49.376 3331
+-111.998 49.376 3281
+-111.872 49.376 3280
+-111.746 49.376 3283
+-111.62 49.376 3285
+-111.494 49.376 3287
+-111.368 49.376 3289
+-111.242 49.376 3291
+-111.116 49.376 3293
+-110.99 49.376 3295
+-110.864 49.376 3297
+-110.738 49.376 3283
+-110.612 49.376 3243
+-110.486 49.376 3230
+-110.36 49.376 3232
+-110.234 49.376 3235
+-110.108 49.376 3238
+-109.982 49.376 3241
+-109.856 49.376 3245
+-109.73 49.376 3222
+-109.604 49.376 3226
+-109.478 49.376 3230
+-109.352 49.376 3234
+-109.226 49.376 3206
+-109.1 49.376 3210
+-108.974 49.376 3215
+-108.848 49.376 3220
+-108.722 49.376 3210
+-108.596 49.376 3214
+-108.47 49.376 3218
+-108.344 49.376 3222
+-108.218 49.376 3214
+-108.092 49.376 3218
+-107.966 49.376 3223
+-107.84 49.376 3227
+-107.714 49.376 3218
+-107.588 49.376 3222
+-107.462 49.376 3226
+-107.336 49.376 3231
+-107.21 49.376 3235
+-107.084 49.376 3239
+-106.958 49.376 3242
+-106.832 49.376 3246
+-106.706 49.376 3250
+-106.58 49.376 3253
+-106.454 49.376 3256
+-106.328 49.376 3193
+-106.202 49.376 3180
+-106.076 49.376 3183
+-105.95 49.376 3186
+-105.824 49.376 3189
+-105.698 49.376 3192
+-105.572 49.376 3160
+-105.446 49.376 3156
+-105.32 49.376 3159
+-105.194 49.376 3163
+-105.068 49.376 3142
+-104.942 49.376 3145
+-104.816 49.376 3147
+-104.69 49.376 3150
+-104.564 49.376 3153
+-104.438 49.376 3155
+-104.312 49.376 3158
+-104.186 49.376 3160
+-104.06 49.376 3163
+-103.934 49.376 3165
+-103.808 49.376 3167
+-103.682 49.376 3170
+-103.556 49.376 3172
+-103.43 49.376 3174
+-103.304 49.376 3176
+-103.178 49.376 3149
+-103.052 49.376 3105
+-102.926 49.376 3106
+-102.8 49.376 3108
+-102.674 49.376 3109
+-102.548 49.376 3111
+-102.422 49.376 3112
+-102.296 49.376 3114
+-102.17 49.376 3115
+-102.044 49.376 3042
+-101.918 49.376 3041
+-101.792 49.376 3039
+-101.666 49.376 2988
+-101.54 49.376 2948
+-101.414 49.376 2946
+-101.288 49.376 2947
+-101.162 49.376 2911
+-101.036 49.376 2855
+-100.91 49.376 2750
+-100.784 49.376 2739
+-100.658 49.376 2707
+-100.532 49.376 2715
+-100.406 49.376 2739
+-100.28 49.376 2738
+-100.154 49.376 2725
+-100.028 49.376 2726
+-99.902 49.376 2729
+-99.776 49.376 2744
+-99.65 49.376 2756
+-99.524 49.376 2802
+-99.398 49.376 2803
+-99.272 49.376 2804
+-99.146 49.376 2824
+-99.02 49.376 2823
+-98.894 49.376 2822
+-98.768 49.376 2821
+-98.642 49.376 2806
+-98.516 49.376 2804
+-98.39 49.376 2803
+-98.264 49.376 2801
+-98.138 49.376 2800
+-98.012 49.376 2798
+-97.886 49.376 2797
+-97.76 49.376 2795
+-97.634 49.376 2793
+-97.508 49.376 2792
+-97.382 49.376 2790
+-97.256 49.376 2788
+-97.13 49.376 2786
+-97.004 49.376 2785
+-96.878 49.376 2783
+-96.752 49.376 2781
+-96.626 49.376 2779
+-96.5 49.376 2777
+-96.374 49.376 2775
+-96.248 49.376 2774
+-96.122 49.376 2772
+-95.996 49.376 2770
+-95.87 49.376 2768
+-95.744 49.376 2766
+-95.618 49.376 2764
+-95.492 49.376 2762
+-95.366 49.376 2760
+-95.24 49.376 2758
+-95.114 49.376 2756
+-94.988 49.376 2754
+-94.862 49.376 2752
+-94.736 49.376 2750
+-94.61 49.376 2748
+-94.484 49.376 2746
+-94.358 49.376 2744
+-94.232 49.376 2742
+-94.106 49.376 2740
+-93.98 49.376 2738
+-93.854 49.376 2736
+-93.728 49.376 2734
+-93.602 49.376 2732
+-93.476 49.376 2730
+-93.35 49.376 2728
+-93.224 49.376 2726
+-93.098 49.376 2724
+-92.972 49.376 2723
+-92.846 49.376 2721
+-92.72 49.376 2719
+-92.594 49.376 2718
+-92.468 49.376 2716
+-92.342 49.376 2714
+-92.216 49.376 2713
+-92.09 49.376 2711
+-91.964 49.376 2710
+-91.838 49.376 2709
+-91.712 49.376 2707
+-91.586 49.376 2706
+-91.46 49.376 2705
+-91.334 49.376 2704
+-91.208 49.376 2703
+-91.082 49.376 2702
+-90.956 49.376 2701
+-90.83 49.376 2700
+-90.704 49.376 2699
+-90.578 49.376 2698
+-90.452 49.376 2651
+-90.326 49.376 2651
+-90.2 49.376 2650
+-90.074 49.376 2649
+-89.948 49.376 2649
+-89.822 49.376 2648
+-89.696 49.376 2648
+-89.57 49.376 2648
+-89.444 49.376 2647
+-89.318 49.376 2647
+-89.192 49.376 2647
+-89.066 49.376 2646
+-88.94 49.376 2646
+-88.814 49.376 2646
+-88.688 49.376 2646
+-88.562 49.376 2646
+-88.436 49.376 2646
+-88.31 49.376 2646
+-88.184 49.376 2646
+-88.058 49.376 2646
+-87.932 49.376 2647
+-87.806 49.376 2647
+-87.68 49.376 2647
+-87.554 49.376 2647
+-87.428 49.376 2647
+-87.302 49.376 2648
+-87.176 49.376 2648
+-87.05 49.376 2648
+-86.924 49.376 2649
+-86.798 49.376 2649
+-86.672 49.376 2649
+-86.546 49.376 2650
+-86.42 49.376 2650
+-86.294 49.376 2651
+-86.168 49.376 2651
+-86.042 49.376 2652
+-85.916 49.376 2652
+-85.79 49.376 2652
+-85.664 49.376 2653
+-85.538 49.376 2653
+-85.412 49.376 2654
+-85.286 49.376 2654
+-85.16 49.376 2655
+-85.034 49.376 2655
+-84.908 49.376 2656
+-84.782 49.376 2656
+-84.656 49.376 2657
+-84.53 49.376 2657
+-84.404 49.376 2658
+-84.278 49.376 2658
+-84.152 49.376 2659
+-84.026 49.376 2659
+-83.9 49.376 2660
+-83.774 49.376 2660
+-83.648 49.376 2661
+-83.522 49.376 2661
+-83.396 49.376 2662
+-83.27 49.376 2663
+-83.144 49.376 2663
+-83.018 49.376 2664
+-82.892 49.376 2664
+-82.766 49.376 2665
+-82.64 49.376 2665
+-82.514 49.376 2666
+-82.388 49.376 2666
+-82.262 49.376 2667
+-82.136 49.376 2667
+-82.01 49.376 2668
+-81.884 49.376 2668
+-81.758 49.376 2669
+-81.632 49.376 2670
+-81.506 49.376 2670
+-81.38 49.376 2671
+-81.254 49.376 2671
+-81.128 49.376 2672
+-81.002 49.376 2672
+-80.876 49.376 2673
+-80.75 49.376 2673
+-80.624 49.376 2674
+-80.498 49.376 2686
+-80.372 49.376 2686
+-80.246 49.376 2687
+-80.12 49.376 2687
+-79.994 49.376 2573
+-79.868 49.376 2574
+-79.742 49.376 2574
+-79.616 49.376 2574
+-79.49 49.376 2574
+-79.364 49.376 2575
+-79.238 49.376 2575
+-79.112 49.376 2575
+-78.986 49.376 2576
+-78.86 49.376 2576
+-78.734 49.376 2583
+-78.608 49.376 2591
+-78.482 49.376 2591
+-78.356 49.376 2591
+-78.23 49.376 2592
+-78.104 49.376 2610
+-77.978 49.376 2611
+-77.852 49.376 2611
+-77.726 49.376 2611
+-77.6 49.376 2615
+-77.474 49.376 2746
+-77.348 49.376 2746
+-77.222 49.376 2746
+-77.096 49.376 2753
+-76.97 49.376 2754
+-76.844 49.376 2754
+-76.718 49.376 2773
+-76.592 49.376 2752
+-76.466 49.376 2767
+-76.34 49.376 2768
+-76.214 49.376 2762
+-76.088 49.376 2763
+-75.962 49.376 2763
+-75.836 49.376 2763
+-75.71 49.376 2765
+-75.584 49.376 2855
+-75.458 49.376 2856
+-75.332 49.376 2856
+-75.206 49.376 2857
+-75.08 49.376 2877
+-74.954 49.376 2877
+-74.828 49.376 2855
+-74.702 49.376 2855
+-74.576 49.376 2856
+-74.45 49.376 2856
+-74.324 49.376 2826
+-74.198 49.376 2836
+-74.072 49.376 2837
+-73.946 49.376 2967
+-73.82 49.376 2924
+-73.694 49.376 2925
+-73.568 49.376 3069
+-73.442 49.376 3065
+-73.316 49.376 3024
+-73.19 49.376 3092
+-73.064 49.376 2975
+-72.938 49.376 3008
+-72.812 49.376 3066
+-72.686 49.376 2957
+-72.56 49.376 2965
+-72.434 49.376 2866
+-72.308 49.376 2861
+-72.182 49.376 2879
+-72.056 49.376 2848
+-71.93 49.376 2849
+-71.804 49.376 2849
+-71.678 49.376 2784
+-71.552 49.376 2831
+-71.426 49.376 2822
+-71.3 49.376 2810
+-71.174 49.376 2811
+-71.048 49.376 2811
+-70.922 49.376 2812
+-70.796 49.376 2748
+-70.67 49.376 2743
+-70.544 49.376 2743
+-70.418 49.376 2744
+-70.292 49.376 2745
+-70.166 49.376 2740
+-70.04 49.376 2682
+-69.914 49.376 2789
+-69.788 49.376 2784
+-69.662 49.376 2790
+-69.536 49.376 2791
+-69.41 49.376 2791
+-69.284 49.376 2792
+-69.158 49.376 2819
+-69.032 49.376 2794
+-68.906 49.376 2864
+-68.78 49.376 2864
+-68.654 49.376 2854
+-68.528 49.376 2862
+-68.402 49.376 2863
+-68.276 49.376 2863
+-68.15 49.376 2850
+-68.024 49.376 2966
+-67.898 49.376 2967
+-67.772 49.376 2968
+-67.646 49.376 2968
+-67.52 49.376 3068
+-67.394 49.376 3019
+-67.268 49.376 3166
+-67.142 49.376 3166
+-67.016 49.376 3127
+-66.89 49.376 3127
+-66.764 49.376 3128
+-66.638 49.376 3128
+-66.512 49.376 3128
+-66.386 49.376 3128
+-66.26 49.376 3232
+-66.134 49.376 3226
+-66.008 49.376 3226
+-65.882 49.376 3227
+-65.756 49.376 3227
+-65.63 49.376 3167
+-65.504 49.376 3206
+-65.378 49.376 3207
+-65.252 49.376 3289
+-65.126 49.376 3192
+-128 49.324 4204
+-127.874 49.324 4183
+-127.748 49.324 4168
+-127.622 49.324 4185
+-127.496 49.324 4279
+-127.37 49.324 4411
+-127.244 49.324 4464
+-127.118 49.324 4472
+-126.992 49.324 4503
+-126.866 49.324 4631
+-126.74 49.324 4807
+-126.614 49.324 4919
+-126.488 49.324 5037
+-126.362 49.324 5140
+-126.236 49.324 5200
+-126.11 49.324 5300
+-125.984 49.324 5379
+-125.858 49.324 5499
+-125.732 49.324 5662
+-125.606 49.324 5744
+-125.48 49.324 5938
+-125.354 49.324 6062
+-125.228 49.324 6118
+-125.102 49.324 6176
+-124.976 49.324 6250
+-124.85 49.324 6354
+-124.724 49.324 6443
+-124.598 49.324 6480
+-124.472 49.324 6541
+-124.346 49.324 6631
+-124.22 49.324 6720
+-124.094 49.324 6760
+-123.968 49.324 6813
+-123.842 49.324 6867
+-123.716 49.324 6926
+-123.59 49.324 6974
+-123.464 49.324 6995
+-123.338 49.324 7021
+-123.212 49.324 7035
+-123.086 49.324 7066
+-122.96 49.324 7060
+-122.834 49.324 7051
+-122.708 49.324 7039
+-122.582 49.324 7002
+-122.456 49.324 6982
+-122.33 49.324 6941
+-122.204 49.324 6930
+-122.078 49.324 6856
+-121.952 49.324 6800
+-121.826 49.324 6751
+-121.7 49.324 6679
+-121.574 49.324 6613
+-121.448 49.324 6534
+-121.322 49.324 6478
+-121.196 49.324 6391
+-121.07 49.324 6294
+-120.944 49.324 6174
+-120.818 49.324 6109
+-120.692 49.324 6050
+-120.566 49.324 5970
+-120.44 49.324 5837
+-120.314 49.324 5698
+-120.188 49.324 5606
+-120.062 49.324 5517
+-119.936 49.324 5466
+-119.81 49.324 5530
+-119.684 49.324 5583
+-119.558 49.324 5639
+-119.432 49.324 5664
+-119.306 49.324 5713
+-119.18 49.324 5748
+-119.054 49.324 5796
+-118.928 49.324 5824
+-118.802 49.324 5828
+-118.676 49.324 5833
+-118.55 49.324 5860
+-118.424 49.324 5885
+-118.298 49.324 5896
+-118.172 49.324 5892
+-118.046 49.324 5875
+-117.92 49.324 5838
+-117.794 49.324 5828
+-117.668 49.324 5776
+-117.542 49.324 5771
+-117.416 49.324 5730
+-117.29 49.324 5685
+-117.164 49.324 5648
+-117.038 49.324 5580
+-116.912 49.324 5537
+-116.786 49.324 5525
+-116.66 49.324 5439
+-116.534 49.324 5332
+-116.408 49.324 5256
+-116.282 49.324 5186
+-116.156 49.324 5118
+-116.03 49.324 5049
+-115.904 49.324 5020
+-115.778 49.324 4924
+-115.652 49.324 4827
+-115.526 49.324 4749
+-115.4 49.324 4674
+-115.274 49.324 4596
+-115.148 49.324 4509
+-115.022 49.324 4463
+-114.896 49.324 4437
+-114.77 49.324 4386
+-114.644 49.324 4310
+-114.518 49.324 4254
+-114.392 49.324 4160
+-114.266 49.324 4061
+-114.14 49.324 3917
+-114.014 49.324 3773
+-113.888 49.324 3672
+-113.762 49.324 3573
+-113.636 49.324 3507
+-113.51 49.324 3455
+-113.384 49.324 3422
+-113.258 49.324 3407
+-113.132 49.324 3407
+-113.006 49.324 3404
+-112.88 49.324 3398
+-112.754 49.324 3351
+-112.628 49.324 3350
+-112.502 49.324 3352
+-112.376 49.324 3346
+-112.25 49.324 3341
+-112.124 49.324 3290
+-111.998 49.324 3287
+-111.872 49.324 3288
+-111.746 49.324 3289
+-111.62 49.324 3289
+-111.494 49.324 3289
+-111.368 49.324 3290
+-111.242 49.324 3290
+-111.116 49.324 3291
+-110.99 49.324 3292
+-110.864 49.324 3278
+-110.738 49.324 3238
+-110.612 49.324 3225
+-110.486 49.324 3227
+-110.36 49.324 3230
+-110.234 49.324 3232
+-110.108 49.324 3236
+-109.982 49.324 3239
+-109.856 49.324 3216
+-109.73 49.324 3220
+-109.604 49.324 3224
+-109.478 49.324 3229
+-109.352 49.324 3200
+-109.226 49.324 3205
+-109.1 49.324 3210
+-108.974 49.324 3215
+-108.848 49.324 3205
+-108.722 49.324 3210
+-108.596 49.324 3214
+-108.47 49.324 3218
+-108.344 49.324 3210
+-108.218 49.324 3215
+-108.092 49.324 3219
+-107.966 49.324 3224
+-107.84 49.324 3214
+-107.714 49.324 3219
+-107.588 49.324 3223
+-107.462 49.324 3228
+-107.336 49.324 3232
+-107.21 49.324 3236
+-107.084 49.324 3240
+-106.958 49.324 3244
+-106.832 49.324 3247
+-106.706 49.324 3251
+-106.58 49.324 3255
+-106.454 49.324 3191
+-106.328 49.324 3178
+-106.202 49.324 3182
+-106.076 49.324 3185
+-105.95 49.324 3188
+-105.824 49.324 3191
+-105.698 49.324 3159
+-105.572 49.324 3154
+-105.446 49.324 3158
+-105.32 49.324 3161
+-105.194 49.324 3140
+-105.068 49.324 3143
+-104.942 49.324 3146
+-104.816 49.324 3149
+-104.69 49.324 3152
+-104.564 49.324 3155
+-104.438 49.324 3157
+-104.312 49.324 3160
+-104.186 49.324 3162
+-104.06 49.324 3165
+-103.934 49.324 3167
+-103.808 49.324 3169
+-103.682 49.324 3171
+-103.556 49.324 3173
+-103.43 49.324 3176
+-103.304 49.324 3149
+-103.178 49.324 3104
+-103.052 49.324 3106
+-102.926 49.324 3108
+-102.8 49.324 3109
+-102.674 49.324 3111
+-102.548 49.324 3112
+-102.422 49.324 3114
+-102.296 49.324 3115
+-102.17 49.324 3116
+-102.044 49.324 3043
+-101.918 49.324 3042
+-101.792 49.324 2990
+-101.666 49.324 2985
+-101.54 49.324 2949
+-101.414 49.324 2950
+-101.288 49.324 2913
+-101.162 49.324 2911
+-101.036 49.324 2833
+-100.91 49.324 2741
+-100.784 49.324 2709
+-100.658 49.324 2716
+-100.532 49.324 2733
+-100.406 49.324 2738
+-100.28 49.324 2725
+-100.154 49.324 2726
+-100.028 49.324 2728
+-99.902 49.324 2744
+-99.776 49.324 2756
+-99.65 49.324 2802
+-99.524 49.324 2803
+-99.398 49.324 2804
+-99.272 49.324 2825
+-99.146 49.324 2824
+-99.02 49.324 2892
+-98.894 49.324 2942
+-98.768 49.324 2821
+-98.642 49.324 2819
+-98.516 49.324 2804
+-98.39 49.324 2803
+-98.264 49.324 2801
+-98.138 49.324 2800
+-98.012 49.324 2798
+-97.886 49.324 2797
+-97.76 49.324 2795
+-97.634 49.324 2793
+-97.508 49.324 2792
+-97.382 49.324 2790
+-97.256 49.324 2788
+-97.13 49.324 2786
+-97.004 49.324 2784
+-96.878 49.324 2783
+-96.752 49.324 2781
+-96.626 49.324 2779
+-96.5 49.324 2777
+-96.374 49.324 2775
+-96.248 49.324 2773
+-96.122 49.324 2771
+-95.996 49.324 2769
+-95.87 49.324 2767
+-95.744 49.324 2765
+-95.618 49.324 2763
+-95.492 49.324 2761
+-95.366 49.324 2759
+-95.24 49.324 2757
+-95.114 49.324 2755
+-94.988 49.324 2753
+-94.862 49.324 2751
+-94.736 49.324 2749
+-94.61 49.324 2747
+-94.484 49.324 2745
+-94.358 49.324 2742
+-94.232 49.324 2740
+-94.106 49.324 2738
+-93.98 49.324 2736
+-93.854 49.324 2734
+-93.728 49.324 2732
+-93.602 49.324 2730
+-93.476 49.324 2728
+-93.35 49.324 2726
+-93.224 49.324 2724
+-93.098 49.324 2723
+-92.972 49.324 2721
+-92.846 49.324 2719
+-92.72 49.324 2717
+-92.594 49.324 2715
+-92.468 49.324 2714
+-92.342 49.324 2712
+-92.216 49.324 2711
+-92.09 49.324 2709
+-91.964 49.324 2708
+-91.838 49.324 2706
+-91.712 49.324 2705
+-91.586 49.324 2704
+-91.46 49.324 2702
+-91.334 49.324 2701
+-91.208 49.324 2700
+-91.082 49.324 2699
+-90.956 49.324 2698
+-90.83 49.324 2697
+-90.704 49.324 2696
+-90.578 49.324 2695
+-90.452 49.324 2649
+-90.326 49.324 2648
+-90.2 49.324 2648
+-90.074 49.324 2647
+-89.948 49.324 2646
+-89.822 49.324 2646
+-89.696 49.324 2646
+-89.57 49.324 2645
+-89.444 49.324 2645
+-89.318 49.324 2645
+-89.192 49.324 2644
+-89.066 49.324 2644
+-88.94 49.324 2644
+-88.814 49.324 2644
+-88.688 49.324 2644
+-88.562 49.324 2644
+-88.436 49.324 2644
+-88.31 49.324 2644
+-88.184 49.324 2644
+-88.058 49.324 2644
+-87.932 49.324 2644
+-87.806 49.324 2645
+-87.68 49.324 2645
+-87.554 49.324 2645
+-87.428 49.324 2645
+-87.302 49.324 2646
+-87.176 49.324 2646
+-87.05 49.324 2647
+-86.924 49.324 2647
+-86.798 49.324 2647
+-86.672 49.324 2648
+-86.546 49.324 2648
+-86.42 49.324 2649
+-86.294 49.324 2649
+-86.168 49.324 2649
+-86.042 49.324 2650
+-85.916 49.324 2650
+-85.79 49.324 2651
+-85.664 49.324 2651
+-85.538 49.324 2652
+-85.412 49.324 2652
+-85.286 49.324 2653
+-85.16 49.324 2653
+-85.034 49.324 2654
+-84.908 49.324 2654
+-84.782 49.324 2655
+-84.656 49.324 2655
+-84.53 49.324 2656
+-84.404 49.324 2656
+-84.278 49.324 2657
+-84.152 49.324 2658
+-84.026 49.324 2658
+-83.9 49.324 2659
+-83.774 49.324 2659
+-83.648 49.324 2660
+-83.522 49.324 2660
+-83.396 49.324 2661
+-83.27 49.324 2661
+-83.144 49.324 2662
+-83.018 49.324 2662
+-82.892 49.324 2663
+-82.766 49.324 2664
+-82.64 49.324 2664
+-82.514 49.324 2665
+-82.388 49.324 2665
+-82.262 49.324 2666
+-82.136 49.324 2666
+-82.01 49.324 2667
+-81.884 49.324 2667
+-81.758 49.324 2668
+-81.632 49.324 2669
+-81.506 49.324 2669
+-81.38 49.324 2670
+-81.254 49.324 2670
+-81.128 49.324 2671
+-81.002 49.324 2671
+-80.876 49.324 2672
+-80.75 49.324 2673
+-80.624 49.324 2684
+-80.498 49.324 2685
+-80.372 49.324 2685
+-80.246 49.324 2686
+-80.12 49.324 2572
+-79.994 49.324 2572
+-79.868 49.324 2573
+-79.742 49.324 2573
+-79.616 49.324 2573
+-79.49 49.324 2574
+-79.364 49.324 2574
+-79.238 49.324 2574
+-79.112 49.324 2575
+-78.986 49.324 2575
+-78.86 49.324 2582
+-78.734 49.324 2590
+-78.608 49.324 2590
+-78.482 49.324 2590
+-78.356 49.324 2591
+-78.23 49.324 2609
+-78.104 49.324 2610
+-77.978 49.324 2610
+-77.852 49.324 2610
+-77.726 49.324 2614
+-77.6 49.324 2744
+-77.474 49.324 2745
+-77.348 49.324 2745
+-77.222 49.324 2752
+-77.096 49.324 2753
+-76.97 49.324 2753
+-76.844 49.324 2771
+-76.718 49.324 2751
+-76.592 49.324 2766
+-76.466 49.324 2766
+-76.34 49.324 2761
+-76.214 49.324 2762
+-76.088 49.324 2762
+-75.962 49.324 2762
+-75.836 49.324 2764
+-75.71 49.324 2854
+-75.584 49.324 2855
+-75.458 49.324 2855
+-75.332 49.324 2856
+-75.206 49.324 2875
+-75.08 49.324 2876
+-74.954 49.324 2854
+-74.828 49.324 2854
+-74.702 49.324 2855
+-74.576 49.324 2855
+-74.45 49.324 2825
+-74.324 49.324 2835
+-74.198 49.324 2836
+-74.072 49.324 2966
+-73.946 49.324 2923
+-73.82 49.324 2924
+-73.694 49.324 3068
+-73.568 49.324 3064
+-73.442 49.324 3023
+-73.316 49.324 3091
+-73.19 49.324 2974
+-73.064 49.324 3007
+-72.938 49.324 3064
+-72.812 49.324 2956
+-72.686 49.324 2964
+-72.56 49.324 2865
+-72.434 49.324 2861
+-72.308 49.324 2878
+-72.182 49.324 2847
+-72.056 49.324 2848
+-71.93 49.324 2848
+-71.804 49.324 2784
+-71.678 49.324 2830
+-71.552 49.324 2821
+-71.426 49.324 2809
+-71.3 49.324 2810
+-71.174 49.324 2811
+-71.048 49.324 2811
+-70.922 49.324 2748
+-70.796 49.324 2742
+-70.67 49.324 2743
+-70.544 49.324 2743
+-70.418 49.324 2744
+-70.292 49.324 2740
+-70.166 49.324 2682
+-70.04 49.324 2788
+-69.914 49.324 2783
+-69.788 49.324 2790
+-69.662 49.324 2790
+-69.536 49.324 2791
+-69.41 49.324 2791
+-69.284 49.324 2818
+-69.158 49.324 2794
+-69.032 49.324 2863
+-68.906 49.324 2864
+-68.78 49.324 2853
+-68.654 49.324 2861
+-68.528 49.324 2862
+-68.402 49.324 2863
+-68.276 49.324 2849
+-68.15 49.324 2966
+-68.024 49.324 2966
+-67.898 49.324 2967
+-67.772 49.324 2968
+-67.646 49.324 3067
+-67.52 49.324 3018
+-67.394 49.324 3166
+-67.268 49.324 3166
+-67.142 49.324 3127
+-67.016 49.324 3127
+-66.89 49.324 3127
+-66.764 49.324 3128
+-66.638 49.324 3128
+-66.512 49.324 3128
+-66.386 49.324 3231
+-66.26 49.324 3225
+-66.134 49.324 3226
+-66.008 49.324 3226
+-65.882 49.324 3227
+-65.756 49.324 3166
+-65.63 49.324 3206
+-65.504 49.324 3206
+-65.378 49.324 3288
+-65.252 49.324 3192
+-65.126 49.324 3192
+-128 49.272 4249
+-127.874 49.272 4247
+-127.748 49.272 4260
+-127.622 49.272 4316
+-127.496 49.272 4377
+-127.37 49.272 4434
+-127.244 49.272 4504
+-127.118 49.272 4571
+-126.992 49.272 4614
+-126.866 49.272 4709
+-126.74 49.272 4808
+-126.614 49.272 4904
+-126.488 49.272 5034
+-126.362 49.272 5183
+-126.236 49.272 5228
+-126.11 49.272 5332
+-125.984 49.272 5407
+-125.858 49.272 5515
+-125.732 49.272 5688
+-125.606 49.272 5842
+-125.48 49.272 5997
+-125.354 49.272 6087
+-125.228 49.272 6069
+-125.102 49.272 6138
+-124.976 49.272 6255
+-124.85 49.272 6365
+-124.724 49.272 6434
+-124.598 49.272 6521
+-124.472 49.272 6614
+-124.346 49.272 6706
+-124.22 49.272 6747
+-124.094 49.272 6806
+-123.968 49.272 6858
+-123.842 49.272 6895
+-123.716 49.272 6982
+-123.59 49.272 7033
+-123.464 49.272 7016
+-123.338 49.272 7065
+-123.212 49.272 7071
+-123.086 49.272 7075
+-122.96 49.272 7098
+-122.834 49.272 7101
+-122.708 49.272 7095
+-122.582 49.272 7083
+-122.456 49.272 7020
+-122.33 49.272 7034
+-122.204 49.272 6976
+-122.078 49.272 6912
+-121.952 49.272 6853
+-121.826 49.272 6815
+-121.7 49.272 6736
+-121.574 49.272 6673
+-121.448 49.272 6585
+-121.322 49.272 6510
+-121.196 49.272 6450
+-121.07 49.272 6352
+-120.944 49.272 6268
+-120.818 49.272 6157
+-120.692 49.272 6104
+-120.566 49.272 6017
+-120.44 49.272 5898
+-120.314 49.272 5757
+-120.188 49.272 5671
+-120.062 49.272 5584
+-119.936 49.272 5547
+-119.81 49.272 5553
+-119.684 49.272 5613
+-119.558 49.272 5700
+-119.432 49.272 5743
+-119.306 49.272 5778
+-119.18 49.272 5805
+-119.054 49.272 5863
+-118.928 49.272 5867
+-118.802 49.272 5892
+-118.676 49.272 5899
+-118.55 49.272 5907
+-118.424 49.272 5935
+-118.298 49.272 5944
+-118.172 49.272 5925
+-118.046 49.272 5934
+-117.92 49.272 5893
+-117.794 49.272 5853
+-117.668 49.272 5828
+-117.542 49.272 5808
+-117.416 49.272 5795
+-117.29 49.272 5748
+-117.164 49.272 5707
+-117.038 49.272 5635
+-116.912 49.272 5575
+-116.786 49.272 5565
+-116.66 49.272 5506
+-116.534 49.272 5414
+-116.408 49.272 5343
+-116.282 49.272 5237
+-116.156 49.272 5178
+-116.03 49.272 5099
+-115.904 49.272 5002
+-115.778 49.272 4950
+-115.652 49.272 4855
+-115.526 49.272 4800
+-115.4 49.272 4720
+-115.274 49.272 4639
+-115.148 49.272 4533
+-115.022 49.272 4458
+-114.896 49.272 4437
+-114.77 49.272 4380
+-114.644 49.272 4288
+-114.518 49.272 4202
+-114.392 49.272 4107
+-114.266 49.272 4056
+-114.14 49.272 3944
+-114.014 49.272 3808
+-113.888 49.272 3644
+-113.762 49.272 3527
+-113.636 49.272 3445
+-113.51 49.272 3418
+-113.384 49.272 3422
+-113.258 49.272 3420
+-113.132 49.272 3419
+-113.006 49.272 3412
+-112.88 49.272 3369
+-112.754 49.272 3366
+-112.628 49.272 3366
+-112.502 49.272 3358
+-112.376 49.272 3352
+-112.25 49.272 3300
+-112.124 49.272 3296
+-111.998 49.272 3295
+-111.872 49.272 3294
+-111.746 49.272 3292
+-111.62 49.272 3291
+-111.494 49.272 3289
+-111.368 49.272 3288
+-111.242 49.272 3288
+-111.116 49.272 3288
+-110.99 49.272 3273
+-110.864 49.272 3233
+-110.738 49.272 3219
+-110.612 49.272 3221
+-110.486 49.272 3223
+-110.36 49.272 3226
+-110.234 49.272 3229
+-110.108 49.272 3232
+-109.982 49.272 3209
+-109.856 49.272 3213
+-109.73 49.272 3218
+-109.604 49.272 3222
+-109.478 49.272 3194
+-109.352 49.272 3199
+-109.226 49.272 3204
+-109.1 49.272 3209
+-108.974 49.272 3200
+-108.848 49.272 3205
+-108.722 49.272 3210
+-108.596 49.272 3214
+-108.47 49.272 3206
+-108.344 49.272 3211
+-108.218 49.272 3215
+-108.092 49.272 3220
+-107.966 49.272 3211
+-107.84 49.272 3216
+-107.714 49.272 3220
+-107.588 49.272 3225
+-107.462 49.272 3229
+-107.336 49.272 3233
+-107.21 49.272 3238
+-107.084 49.272 3242
+-106.958 49.272 3245
+-106.832 49.272 3249
+-106.706 49.272 3253
+-106.58 49.272 3189
+-106.454 49.272 3177
+-106.328 49.272 3180
+-106.202 49.272 3183
+-106.076 49.272 3186
+-105.95 49.272 3190
+-105.824 49.272 3157
+-105.698 49.272 3153
+-105.572 49.272 3156
+-105.446 49.272 3160
+-105.32 49.272 3139
+-105.194 49.272 3142
+-105.068 49.272 3145
+-104.942 49.272 3148
+-104.816 49.272 3151
+-104.69 49.272 3154
+-104.564 49.272 3157
+-104.438 49.272 3159
+-104.312 49.272 3162
+-104.186 49.272 3164
+-104.06 49.272 3166
+-103.934 49.272 3169
+-103.808 49.272 3171
+-103.682 49.272 3173
+-103.556 49.272 3175
+-103.43 49.272 3148
+-103.304 49.272 3104
+-103.178 49.272 3105
+-103.052 49.272 3107
+-102.926 49.272 3109
+-102.8 49.272 3110
+-102.674 49.272 3112
+-102.548 49.272 3113
+-102.422 49.272 3115
+-102.296 49.272 3116
+-102.17 49.272 3118
+-102.044 49.272 3044
+-101.918 49.272 2992
+-101.792 49.272 2991
+-101.666 49.272 2986
+-101.54 49.272 2953
+-101.414 49.272 2914
+-101.288 49.272 2913
+-101.162 49.272 2891
+-101.036 49.272 2833
+-100.91 49.272 2749
+-100.784 49.272 2726
+-100.658 49.272 2734
+-100.532 49.272 2738
+-100.406 49.272 2724
+-100.28 49.272 2725
+-100.154 49.272 2726
+-100.028 49.272 2743
+-99.902 49.272 2755
+-99.776 49.272 2801
+-99.65 49.272 2802
+-99.524 49.272 2804
+-99.398 49.272 2819
+-99.272 49.272 2825
+-99.146 49.272 2893
+-99.02 49.272 2944
+-98.894 49.272 2942
+-98.768 49.272 2941
+-98.642 49.272 2819
+-98.516 49.272 2818
+-98.39 49.272 2803
+-98.264 49.272 2802
+-98.138 49.272 2800
+-98.012 49.272 2798
+-97.886 49.272 2797
+-97.76 49.272 2795
+-97.634 49.272 2793
+-97.508 49.272 2792
+-97.382 49.272 2790
+-97.256 49.272 2788
+-97.13 49.272 2786
+-97.004 49.272 2784
+-96.878 49.272 2782
+-96.752 49.272 2781
+-96.626 49.272 2779
+-96.5 49.272 2777
+-96.374 49.272 2775
+-96.248 49.272 2773
+-96.122 49.272 2771
+-95.996 49.272 2769
+-95.87 49.272 2767
+-95.744 49.272 2765
+-95.618 49.272 2762
+-95.492 49.272 2760
+-95.366 49.272 2758
+-95.24 49.272 2756
+-95.114 49.272 2754
+-94.988 49.272 2752
+-94.862 49.272 2750
+-94.736 49.272 2748
+-94.61 49.272 2745
+-94.484 49.272 2743
+-94.358 49.272 2741
+-94.232 49.272 2739
+-94.106 49.272 2737
+-93.98 49.272 2735
+-93.854 49.272 2733
+-93.728 49.272 2731
+-93.602 49.272 2729
+-93.476 49.272 2727
+-93.35 49.272 2725
+-93.224 49.272 2723
+-93.098 49.272 2721
+-92.972 49.272 2719
+-92.846 49.272 2717
+-92.72 49.272 2715
+-92.594 49.272 2713
+-92.468 49.272 2712
+-92.342 49.272 2710
+-92.216 49.272 2708
+-92.09 49.272 2707
+-91.964 49.272 2705
+-91.838 49.272 2704
+-91.712 49.272 2702
+-91.586 49.272 2701
+-91.46 49.272 2700
+-91.334 49.272 2699
+-91.208 49.272 2697
+-91.082 49.272 2696
+-90.956 49.272 2695
+-90.83 49.272 2694
+-90.704 49.272 2694
+-90.578 49.272 2693
+-90.452 49.272 2646
+-90.326 49.272 2646
+-90.2 49.272 2645
+-90.074 49.272 2644
+-89.948 49.272 2644
+-89.822 49.272 2643
+-89.696 49.272 2643
+-89.57 49.272 2643
+-89.444 49.272 2642
+-89.318 49.272 2642
+-89.192 49.272 2642
+-89.066 49.272 2642
+-88.94 49.272 2642
+-88.814 49.272 2642
+-88.688 49.272 2642
+-88.562 49.272 2642
+-88.436 49.272 2642
+-88.31 49.272 2642
+-88.184 49.272 2642
+-88.058 49.272 2642
+-87.932 49.272 2642
+-87.806 49.272 2643
+-87.68 49.272 2643
+-87.554 49.272 2643
+-87.428 49.272 2643
+-87.302 49.272 2644
+-87.176 49.272 2644
+-87.05 49.272 2645
+-86.924 49.272 2645
+-86.798 49.272 2645
+-86.672 49.272 2646
+-86.546 49.272 2646
+-86.42 49.272 2647
+-86.294 49.272 2647
+-86.168 49.272 2648
+-86.042 49.272 2648
+-85.916 49.272 2649
+-85.79 49.272 2649
+-85.664 49.272 2650
+-85.538 49.272 2650
+-85.412 49.272 2651
+-85.286 49.272 2651
+-85.16 49.272 2652
+-85.034 49.272 2652
+-84.908 49.272 2653
+-84.782 49.272 2653
+-84.656 49.272 2654
+-84.53 49.272 2655
+-84.404 49.272 2655
+-84.278 49.272 2656
+-84.152 49.272 2656
+-84.026 49.272 2657
+-83.9 49.272 2657
+-83.774 49.272 2658
+-83.648 49.272 2659
+-83.522 49.272 2659
+-83.396 49.272 2660
+-83.27 49.272 2660
+-83.144 49.272 2661
+-83.018 49.272 2661
+-82.892 49.272 2662
+-82.766 49.272 2662
+-82.64 49.272 2663
+-82.514 49.272 2664
+-82.388 49.272 2664
+-82.262 49.272 2665
+-82.136 49.272 2665
+-82.01 49.272 2666
+-81.884 49.272 2666
+-81.758 49.272 2667
+-81.632 49.272 2668
+-81.506 49.272 2668
+-81.38 49.272 2669
+-81.254 49.272 2669
+-81.128 49.272 2670
+-81.002 49.272 2671
+-80.876 49.272 2671
+-80.75 49.272 2683
+-80.624 49.272 2683
+-80.498 49.272 2684
+-80.372 49.272 2684
+-80.246 49.272 2571
+-80.12 49.272 2571
+-79.994 49.272 2572
+-79.868 49.272 2572
+-79.742 49.272 2572
+-79.616 49.272 2572
+-79.49 49.272 2573
+-79.364 49.272 2573
+-79.238 49.272 2573
+-79.112 49.272 2574
+-78.986 49.272 2581
+-78.86 49.272 2589
+-78.734 49.272 2589
+-78.608 49.272 2589
+-78.482 49.272 2590
+-78.356 49.272 2608
+-78.23 49.272 2609
+-78.104 49.272 2609
+-77.978 49.272 2609
+-77.852 49.272 2613
+-77.726 49.272 2743
+-77.6 49.272 2744
+-77.474 49.272 2744
+-77.348 49.272 2751
+-77.222 49.272 2751
+-77.096 49.272 2751
+-76.97 49.272 2770
+-76.844 49.272 2749
+-76.718 49.272 2765
+-76.592 49.272 2765
+-76.466 49.272 2760
+-76.34 49.272 2761
+-76.214 49.272 2761
+-76.088 49.272 2761
+-75.962 49.272 2763
+-75.836 49.272 2853
+-75.71 49.272 2854
+-75.584 49.272 2854
+-75.458 49.272 2855
+-75.332 49.272 2874
+-75.206 49.272 2875
+-75.08 49.272 2853
+-74.954 49.272 2853
+-74.828 49.272 2854
+-74.702 49.272 2854
+-74.576 49.272 2824
+-74.45 49.272 2834
+-74.324 49.272 2835
+-74.198 49.272 2964
+-74.072 49.272 2922
+-73.946 49.272 2923
+-73.82 49.272 3066
+-73.694 49.272 3062
+-73.568 49.272 3022
+-73.442 49.272 3089
+-73.316 49.272 2972
+-73.19 49.272 3006
+-73.064 49.272 3063
+-72.938 49.272 2955
+-72.812 49.272 2963
+-72.686 49.272 2864
+-72.56 49.272 2860
+-72.434 49.272 2877
+-72.308 49.272 2846
+-72.182 49.272 2847
+-72.056 49.272 2848
+-71.93 49.272 2783
+-71.804 49.272 2829
+-71.678 49.272 2821
+-71.552 49.272 2809
+-71.426 49.272 2809
+-71.3 49.272 2810
+-71.174 49.272 2811
+-71.048 49.272 2747
+-70.922 49.272 2742
+-70.796 49.272 2742
+-70.67 49.272 2743
+-70.544 49.272 2743
+-70.418 49.272 2739
+-70.292 49.272 2681
+-70.166 49.272 2788
+-70.04 49.272 2783
+-69.914 49.272 2789
+-69.788 49.272 2790
+-69.662 49.272 2790
+-69.536 49.272 2791
+-69.41 49.272 2817
+-69.284 49.272 2794
+-69.158 49.272 2863
+-69.032 49.272 2863
+-68.906 49.272 2853
+-68.78 49.272 2861
+-68.654 49.272 2862
+-68.528 49.272 2862
+-68.402 49.272 2849
+-68.276 49.272 2965
+-68.15 49.272 2966
+-68.024 49.272 2967
+-67.898 49.272 2967
+-67.772 49.272 3067
+-67.646 49.272 3018
+-67.52 49.272 3165
+-67.394 49.272 3166
+-67.268 49.272 3126
+-67.142 49.272 3127
+-67.016 49.272 3127
+-66.89 49.272 3127
+-66.764 49.272 3128
+-66.638 49.272 3128
+-66.512 49.272 3231
+-66.386 49.272 3225
+-66.26 49.272 3225
+-66.134 49.272 3226
+-66.008 49.272 3226
+-65.882 49.272 3166
+-65.756 49.272 3205
+-65.63 49.272 3206
+-65.504 49.272 3288
+-65.378 49.272 3191
+-65.252 49.272 3192
+-65.126 49.272 3192
+-128 49.22 4313
+-127.874 49.22 4311
+-127.748 49.22 4327
+-127.622 49.22 4343
+-127.496 49.22 4397
+-127.37 49.22 4471
+-127.244 49.22 4543
+-127.118 49.22 4620
+-126.992 49.22 4685
+-126.866 49.22 4719
+-126.74 49.22 4782
+-126.614 49.22 4882
+-126.488 49.22 5050
+-126.362 49.22 5200
+-126.236 49.22 5314
+-126.11 49.22 5413
+-125.984 49.22 5436
+-125.858 49.22 5563
+-125.732 49.22 5742
+-125.606 49.22 5916
+-125.48 49.22 5931
+-125.354 49.22 6097
+-125.228 49.22 6113
+-125.102 49.22 6215
+-124.976 49.22 6284
+-124.85 49.22 6406
+-124.724 49.22 6455
+-124.598 49.22 6540
+-124.472 49.22 6656
+-124.346 49.22 6732
+-124.22 49.22 6795
+-124.094 49.22 6844
+-123.968 49.22 6893
+-123.842 49.22 6948
+-123.716 49.22 7023
+-123.59 49.22 7066
+-123.464 49.22 7093
+-123.338 49.22 7132
+-123.212 49.22 7132
+-123.086 49.22 7141
+-122.96 49.22 7180
+-122.834 49.22 7164
+-122.708 49.22 7125
+-122.582 49.22 7116
+-122.456 49.22 7086
+-122.33 49.22 7064
+-122.204 49.22 7024
+-122.078 49.22 6981
+-121.952 49.22 6889
+-121.826 49.22 6844
+-121.7 49.22 6816
+-121.574 49.22 6741
+-121.448 49.22 6642
+-121.322 49.22 6609
+-121.196 49.22 6493
+-121.07 49.22 6420
+-120.944 49.22 6301
+-120.818 49.22 6154
+-120.692 49.22 6126
+-120.566 49.22 6043
+-120.44 49.22 5926
+-120.314 49.22 5836
+-120.188 49.22 5698
+-120.062 49.22 5525
+-119.936 49.22 5599
+-119.81 49.22 5618
+-119.684 49.22 5666
+-119.558 49.22 5726
+-119.432 49.22 5757
+-119.306 49.22 5805
+-119.18 49.22 5864
+-119.054 49.22 5904
+-118.928 49.22 5926
+-118.802 49.22 5939
+-118.676 49.22 5946
+-118.55 49.22 5978
+-118.424 49.22 5966
+-118.298 49.22 5972
+-118.172 49.22 5977
+-118.046 49.22 5965
+-117.92 49.22 5956
+-117.794 49.22 5922
+-117.668 49.22 5897
+-117.542 49.22 5871
+-117.416 49.22 5834
+-117.29 49.22 5800
+-117.164 49.22 5768
+-117.038 49.22 5714
+-116.912 49.22 5645
+-116.786 49.22 5586
+-116.66 49.22 5545
+-116.534 49.22 5472
+-116.408 49.22 5436
+-116.282 49.22 5314
+-116.156 49.22 5188
+-116.03 49.22 5158
+-115.904 49.22 5066
+-115.778 49.22 4975
+-115.652 49.22 4888
+-115.526 49.22 4796
+-115.4 49.22 4778
+-115.274 49.22 4678
+-115.148 49.22 4555
+-115.022 49.22 4470
+-114.896 49.22 4406
+-114.77 49.22 4360
+-114.644 49.22 4229
+-114.518 49.22 4136
+-114.392 49.22 4095
+-114.266 49.22 4073
+-114.14 49.22 3945
+-114.014 49.22 3817
+-113.888 49.22 3655
+-113.762 49.22 3430
+-113.636 49.22 3343
+-113.51 49.22 3362
+-113.384 49.22 3390
+-113.258 49.22 3400
+-113.132 49.22 3401
+-113.006 49.22 3371
+-112.88 49.22 3371
+-112.754 49.22 3373
+-112.628 49.22 3366
+-112.502 49.22 3360
+-112.376 49.22 3310
+-112.25 49.22 3305
+-112.124 49.22 3303
+-111.998 49.22 3299
+-111.872 49.22 3296
+-111.746 49.22 3292
+-111.62 49.22 3289
+-111.494 49.22 3286
+-111.368 49.22 3284
+-111.242 49.22 3283
+-111.116 49.22 3267
+-110.99 49.22 3227
+-110.864 49.22 3212
+-110.738 49.22 3214
+-110.612 49.22 3216
+-110.486 49.22 3218
+-110.36 49.22 3221
+-110.234 49.22 3224
+-110.108 49.22 3201
+-109.982 49.22 3206
+-109.856 49.22 3210
+-109.73 49.22 3215
+-109.604 49.22 3187
+-109.478 49.22 3192
+-109.352 49.22 3198
+-109.226 49.22 3203
+-109.1 49.22 3195
+-108.974 49.22 3200
+-108.848 49.22 3205
+-108.722 49.22 3209
+-108.596 49.22 3201
+-108.47 49.22 3206
+-108.344 49.22 3211
+-108.218 49.22 3216
+-108.092 49.22 3207
+-107.966 49.22 3212
+-107.84 49.22 3217
+-107.714 49.22 3222
+-107.588 49.22 3226
+-107.462 49.22 3231
+-107.336 49.22 3235
+-107.21 49.22 3239
+-107.084 49.22 3243
+-106.958 49.22 3247
+-106.832 49.22 3251
+-106.706 49.22 3187
+-106.58 49.22 3175
+-106.454 49.22 3178
+-106.328 49.22 3182
+-106.202 49.22 3185
+-106.076 49.22 3188
+-105.95 49.22 3155
+-105.824 49.22 3151
+-105.698 49.22 3155
+-105.572 49.22 3159
+-105.446 49.22 3138
+-105.32 49.22 3141
+-105.194 49.22 3144
+-105.068 49.22 3147
+-104.942 49.22 3150
+-104.816 49.22 3153
+-104.69 49.22 3156
+-104.564 49.22 3159
+-104.438 49.22 3161
+-104.312 49.22 3164
+-104.186 49.22 3166
+-104.06 49.22 3168
+-103.934 49.22 3171
+-103.808 49.22 3173
+-103.682 49.22 3175
+-103.556 49.22 3148
+-103.43 49.22 3103
+-103.304 49.22 3105
+-103.178 49.22 3107
+-103.052 49.22 3108
+-102.926 49.22 3110
+-102.8 49.22 3112
+-102.674 49.22 3113
+-102.548 49.22 3115
+-102.422 49.22 3116
+-102.296 49.22 3117
+-102.17 49.22 3119
+-102.044 49.22 2994
+-101.918 49.22 2993
+-101.792 49.22 2991
+-101.666 49.22 2987
+-101.54 49.22 2916
+-101.414 49.22 2914
+-101.288 49.22 2893
+-101.162 49.22 2891
+-101.036 49.22 2833
+-100.91 49.22 2782
+-100.784 49.22 2735
+-100.658 49.22 2737
+-100.532 49.22 2723
+-100.406 49.22 2725
+-100.28 49.22 2725
+-100.154 49.22 2742
+-100.028 49.22 2754
+-99.902 49.22 2801
+-99.776 49.22 2802
+-99.65 49.22 2803
+-99.524 49.22 2819
+-99.398 49.22 2895
+-99.272 49.22 2894
+-99.146 49.22 2945
+-99.02 49.22 2944
+-98.894 49.22 2942
+-98.768 49.22 2941
+-98.642 49.22 2939
+-98.516 49.22 2818
+-98.39 49.22 2817
+-98.264 49.22 2802
+-98.138 49.22 2800
+-98.012 49.22 2798
+-97.886 49.22 2797
+-97.76 49.22 2795
+-97.634 49.22 2793
+-97.508 49.22 2792
+-97.382 49.22 2790
+-97.256 49.22 2788
+-97.13 49.22 2786
+-97.004 49.22 2784
+-96.878 49.22 2782
+-96.752 49.22 2780
+-96.626 49.22 2778
+-96.5 49.22 2776
+-96.374 49.22 2774
+-96.248 49.22 2772
+-96.122 49.22 2770
+-95.996 49.22 2768
+-95.87 49.22 2766
+-95.744 49.22 2764
+-95.618 49.22 2762
+-95.492 49.22 2760
+-95.366 49.22 2757
+-95.24 49.22 2755
+-95.114 49.22 2753
+-94.988 49.22 2751
+-94.862 49.22 2749
+-94.736 49.22 2747
+-94.61 49.22 2744
+-94.484 49.22 2742
+-94.358 49.22 2740
+-94.232 49.22 2738
+-94.106 49.22 2735
+-93.98 49.22 2733
+-93.854 49.22 2731
+-93.728 49.22 2729
+-93.602 49.22 2727
+-93.476 49.22 2725
+-93.35 49.22 2723
+-93.224 49.22 2721
+-93.098 49.22 2719
+-92.972 49.22 2717
+-92.846 49.22 2715
+-92.72 49.22 2713
+-92.594 49.22 2711
+-92.468 49.22 2709
+-92.342 49.22 2708
+-92.216 49.22 2706
+-92.09 49.22 2704
+-91.964 49.22 2703
+-91.838 49.22 2701
+-91.712 49.22 2700
+-91.586 49.22 2698
+-91.46 49.22 2697
+-91.334 49.22 2696
+-91.208 49.22 2695
+-91.082 49.22 2694
+-90.956 49.22 2693
+-90.83 49.22 2692
+-90.704 49.22 2691
+-90.578 49.22 2690
+-90.452 49.22 2689
+-90.326 49.22 2643
+-90.2 49.22 2642
+-90.074 49.22 2642
+-89.948 49.22 2641
+-89.822 49.22 2641
+-89.696 49.22 2640
+-89.57 49.22 2640
+-89.444 49.22 2640
+-89.318 49.22 2640
+-89.192 49.22 2639
+-89.066 49.22 2639
+-88.94 49.22 2639
+-88.814 49.22 2639
+-88.688 49.22 2639
+-88.562 49.22 2639
+-88.436 49.22 2639
+-88.31 49.22 2640
+-88.184 49.22 2640
+-88.058 49.22 2640
+-87.932 49.22 2640
+-87.806 49.22 2640
+-87.68 49.22 2641
+-87.554 49.22 2641
+-87.428 49.22 2641
+-87.302 49.22 2642
+-87.176 49.22 2642
+-87.05 49.22 2643
+-86.924 49.22 2643
+-86.798 49.22 2644
+-86.672 49.22 2644
+-86.546 49.22 2645
+-86.42 49.22 2645
+-86.294 49.22 2646
+-86.168 49.22 2646
+-86.042 49.22 2647
+-85.916 49.22 2647
+-85.79 49.22 2648
+-85.664 49.22 2648
+-85.538 49.22 2649
+-85.412 49.22 2649
+-85.286 49.22 2650
+-85.16 49.22 2650
+-85.034 49.22 2651
+-84.908 49.22 2652
+-84.782 49.22 2652
+-84.656 49.22 2653
+-84.53 49.22 2653
+-84.404 49.22 2654
+-84.278 49.22 2654
+-84.152 49.22 2655
+-84.026 49.22 2656
+-83.9 49.22 2656
+-83.774 49.22 2657
+-83.648 49.22 2657
+-83.522 49.22 2658
+-83.396 49.22 2658
+-83.27 49.22 2659
+-83.144 49.22 2660
+-83.018 49.22 2660
+-82.892 49.22 2661
+-82.766 49.22 2661
+-82.64 49.22 2662
+-82.514 49.22 2663
+-82.388 49.22 2663
+-82.262 49.22 2664
+-82.136 49.22 2664
+-82.01 49.22 2665
+-81.884 49.22 2665
+-81.758 49.22 2666
+-81.632 49.22 2667
+-81.506 49.22 2667
+-81.38 49.22 2668
+-81.254 49.22 2668
+-81.128 49.22 2669
+-81.002 49.22 2670
+-80.876 49.22 2681
+-80.75 49.22 2682
+-80.624 49.22 2682
+-80.498 49.22 2683
+-80.372 49.22 2570
+-80.246 49.22 2570
+-80.12 49.22 2570
+-79.994 49.22 2571
+-79.868 49.22 2571
+-79.742 49.22 2571
+-79.616 49.22 2572
+-79.49 49.22 2572
+-79.364 49.22 2572
+-79.238 49.22 2573
+-79.112 49.22 2580
+-78.986 49.22 2587
+-78.86 49.22 2588
+-78.734 49.22 2588
+-78.608 49.22 2589
+-78.482 49.22 2607
+-78.356 49.22 2607
+-78.23 49.22 2608
+-78.104 49.22 2608
+-77.978 49.22 2612
+-77.852 49.22 2742
+-77.726 49.22 2742
+-77.6 49.22 2743
+-77.474 49.22 2750
+-77.348 49.22 2750
+-77.222 49.22 2750
+-77.096 49.22 2769
+-76.97 49.22 2748
+-76.844 49.22 2764
+-76.718 49.22 2764
+-76.592 49.22 2759
+-76.466 49.22 2760
+-76.34 49.22 2760
+-76.214 49.22 2760
+-76.088 49.22 2762
+-75.962 49.22 2852
+-75.836 49.22 2852
+-75.71 49.22 2853
+-75.584 49.22 2853
+-75.458 49.22 2873
+-75.332 49.22 2873
+-75.206 49.22 2851
+-75.08 49.22 2852
+-74.954 49.22 2853
+-74.828 49.22 2853
+-74.702 49.22 2823
+-74.576 49.22 2833
+-74.45 49.22 2834
+-74.324 49.22 2963
+-74.198 49.22 2921
+-74.072 49.22 2922
+-73.946 49.22 3065
+-73.82 49.22 3061
+-73.694 49.22 3021
+-73.568 49.22 3088
+-73.442 49.22 2971
+-73.316 49.22 3004
+-73.19 49.22 3062
+-73.064 49.22 2954
+-72.938 49.22 2962
+-72.812 49.22 2863
+-72.686 49.22 2859
+-72.56 49.22 2876
+-72.434 49.22 2845
+-72.308 49.22 2846
+-72.182 49.22 2847
+-72.056 49.22 2782
+-71.93 49.22 2829
+-71.804 49.22 2820
+-71.678 49.22 2808
+-71.552 49.22 2808
+-71.426 49.22 2809
+-71.3 49.22 2810
+-71.174 49.22 2746
+-71.048 49.22 2741
+-70.922 49.22 2742
+-70.796 49.22 2742
+-70.67 49.22 2743
+-70.544 49.22 2738
+-70.418 49.22 2681
+-70.292 49.22 2787
+-70.166 49.22 2782
+-70.04 49.22 2789
+-69.914 49.22 2789
+-69.788 49.22 2790
+-69.662 49.22 2790
+-69.536 49.22 2817
+-69.41 49.22 2793
+-69.284 49.22 2862
+-69.158 49.22 2863
+-69.032 49.22 2852
+-68.906 49.22 2860
+-68.78 49.22 2861
+-68.654 49.22 2862
+-68.528 49.22 2848
+-68.402 49.22 2965
+-68.276 49.22 2965
+-68.15 49.22 2966
+-68.024 49.22 2967
+-67.898 49.22 3066
+-67.772 49.22 3017
+-67.646 49.22 3165
+-67.52 49.22 3165
+-67.394 49.22 3126
+-67.268 49.22 3126
+-67.142 49.22 3127
+-67.016 49.22 3127
+-66.89 49.22 3127
+-66.764 49.22 3128
+-66.638 49.22 3230
+-66.512 49.22 3225
+-66.386 49.22 3225
+-66.26 49.22 3225
+-66.134 49.22 3226
+-66.008 49.22 3166
+-65.882 49.22 3205
+-65.756 49.22 3205
+-65.63 49.22 3287
+-65.504 49.22 3191
+-65.378 49.22 3191
+-65.252 49.22 3192
+-65.126 49.22 3244
+-128 49.168 4311
+-127.874 49.168 4309
+-127.748 49.168 4328
+-127.622 49.168 4330
+-127.496 49.168 4363
+-127.37 49.168 4439
+-127.244 49.168 4531
+-127.118 49.168 4619
+-126.992 49.168 4661
+-126.866 49.168 4756
+-126.74 49.168 4815
+-126.614 49.168 4928
+-126.488 49.168 5092
+-126.362 49.168 5214
+-126.236 49.168 5343
+-126.11 49.168 5381
+-125.984 49.168 5462
+-125.858 49.168 5607
+-125.732 49.168 5791
+-125.606 49.168 5940
+-125.48 49.168 6054
+-125.354 49.168 6137
+-125.228 49.168 6186
+-125.102 49.168 6214
+-124.976 49.168 6345
+-124.85 49.168 6376
+-124.724 49.168 6473
+-124.598 49.168 6583
+-124.472 49.168 6692
+-124.346 49.168 6779
+-124.22 49.168 6844
+-124.094 49.168 6901
+-123.968 49.168 6928
+-123.842 49.168 7027
+-123.716 49.168 7112
+-123.59 49.168 7128
+-123.464 49.168 7175
+-123.338 49.168 7173
+-123.212 49.168 7217
+-123.086 49.168 7222
+-122.96 49.168 7239
+-122.834 49.168 7228
+-122.708 49.168 7215
+-122.582 49.168 7173
+-122.456 49.168 7134
+-122.33 49.168 7101
+-122.204 49.168 7086
+-122.078 49.168 7006
+-121.952 49.168 6953
+-121.826 49.168 6914
+-121.7 49.168 6841
+-121.574 49.168 6778
+-121.448 49.168 6709
+-121.322 49.168 6641
+-121.196 49.168 6543
+-121.07 49.168 6440
+-120.944 49.168 6356
+-120.818 49.168 6242
+-120.692 49.168 6165
+-120.566 49.168 6086
+-120.44 49.168 5965
+-120.314 49.168 5865
+-120.188 49.168 5745
+-120.062 49.168 5657
+-119.936 49.168 5622
+-119.81 49.168 5698
+-119.684 49.168 5762
+-119.558 49.168 5806
+-119.432 49.168 5830
+-119.306 49.168 5881
+-119.18 49.168 5930
+-119.054 49.168 5950
+-118.928 49.168 5967
+-118.802 49.168 5981
+-118.676 49.168 6000
+-118.55 49.168 6002
+-118.424 49.168 6030
+-118.298 49.168 6015
+-118.172 49.168 6032
+-118.046 49.168 6017
+-117.92 49.168 6002
+-117.794 49.168 5984
+-117.668 49.168 5941
+-117.542 49.168 5927
+-117.416 49.168 5892
+-117.29 49.168 5828
+-117.164 49.168 5809
+-117.038 49.168 5792
+-116.912 49.168 5723
+-116.786 49.168 5632
+-116.66 49.168 5592
+-116.534 49.168 5532
+-116.408 49.168 5469
+-116.282 49.168 5387
+-116.156 49.168 5253
+-116.03 49.168 5157
+-115.904 49.168 5095
+-115.778 49.168 5020
+-115.652 49.168 4953
+-115.526 49.168 4869
+-115.4 49.168 4809
+-115.274 49.168 4707
+-115.148 49.168 4578
+-115.022 49.168 4439
+-114.896 49.168 4329
+-114.77 49.168 4348
+-114.644 49.168 4180
+-114.518 49.168 4064
+-114.392 49.168 4094
+-114.266 49.168 4065
+-114.14 49.168 3976
+-114.014 49.168 3824
+-113.888 49.168 3627
+-113.762 49.168 3391
+-113.636 49.168 3263
+-113.51 49.168 3321
+-113.384 49.168 3347
+-113.258 49.168 3354
+-113.132 49.168 3373
+-113.006 49.168 3356
+-112.88 49.168 3365
+-112.754 49.168 3363
+-112.628 49.168 3361
+-112.502 49.168 3316
+-112.376 49.168 3313
+-112.25 49.168 3310
+-112.124 49.168 3305
+-111.998 49.168 3300
+-111.872 49.168 3295
+-111.746 49.168 3289
+-111.62 49.168 3284
+-111.494 49.168 3280
+-111.368 49.168 3277
+-111.242 49.168 3260
+-111.116 49.168 3220
+-110.99 49.168 3204
+-110.864 49.168 3205
+-110.738 49.168 3207
+-110.612 49.168 3209
+-110.486 49.168 3212
+-110.36 49.168 3215
+-110.234 49.168 3192
+-110.108 49.168 3197
+-109.982 49.168 3202
+-109.856 49.168 3207
+-109.73 49.168 3179
+-109.604 49.168 3185
+-109.478 49.168 3191
+-109.352 49.168 3197
+-109.226 49.168 3189
+-109.1 49.168 3194
+-108.974 49.168 3199
+-108.848 49.168 3204
+-108.722 49.168 3196
+-108.596 49.168 3201
+-108.47 49.168 3207
+-108.344 49.168 3212
+-108.218 49.168 3203
+-108.092 49.168 3208
+-107.966 49.168 3214
+-107.84 49.168 3219
+-107.714 49.168 3223
+-107.588 49.168 3228
+-107.462 49.168 3232
+-107.336 49.168 3237
+-107.21 49.168 3241
+-107.084 49.168 3245
+-106.958 49.168 3249
+-106.832 49.168 3185
+-106.706 49.168 3173
+-106.58 49.168 3176
+-106.454 49.168 3180
+-106.328 49.168 3183
+-106.202 49.168 3187
+-106.076 49.168 3154
+-105.95 49.168 3150
+-105.824 49.168 3153
+-105.698 49.168 3157
+-105.572 49.168 3137
+-105.446 49.168 3140
+-105.32 49.168 3143
+-105.194 49.168 3147
+-105.068 49.168 3150
+-104.942 49.168 3152
+-104.816 49.168 3155
+-104.69 49.168 3158
+-104.564 49.168 3161
+-104.438 49.168 3163
+-104.312 49.168 3166
+-104.186 49.168 3168
+-104.06 49.168 3170
+-103.934 49.168 3173
+-103.808 49.168 3175
+-103.682 49.168 3147
+-103.556 49.168 3103
+-103.43 49.168 3105
+-103.304 49.168 3107
+-103.178 49.168 3108
+-103.052 49.168 3110
+-102.926 49.168 3111
+-102.8 49.168 3113
+-102.674 49.168 3114
+-102.548 49.168 3116
+-102.422 49.168 3117
+-102.296 49.168 3119
+-102.17 49.168 3120
+-102.044 49.168 2995
+-101.918 49.168 2994
+-101.792 49.168 2990
+-101.666 49.168 2958
+-101.54 49.168 2917
+-101.414 49.168 2896
+-101.288 49.168 2894
+-101.162 49.168 2891
+-101.036 49.168 2846
+-100.91 49.168 2771
+-100.784 49.168 2737
+-100.658 49.168 2723
+-100.532 49.168 2724
+-100.406 49.168 2724
+-100.28 49.168 2740
+-100.154 49.168 2753
+-100.028 49.168 2800
+-99.902 49.168 2801
+-99.776 49.168 2803
+-99.65 49.168 2819
+-99.524 49.168 2895
+-99.398 49.168 2895
+-99.272 49.168 2947
+-99.146 49.168 2945
+-99.02 49.168 2944
+-98.894 49.168 2942
+-98.768 49.168 2941
+-98.642 49.168 2939
+-98.516 49.168 2937
+-98.39 49.168 2817
+-98.264 49.168 2815
+-98.138 49.168 2800
+-98.012 49.168 2799
+-97.886 49.168 2797
+-97.76 49.168 2795
+-97.634 49.168 2793
+-97.508 49.168 2792
+-97.382 49.168 2790
+-97.256 49.168 2788
+-97.13 49.168 2786
+-97.004 49.168 2784
+-96.878 49.168 2782
+-96.752 49.168 2780
+-96.626 49.168 2778
+-96.5 49.168 2776
+-96.374 49.168 2774
+-96.248 49.168 2772
+-96.122 49.168 2770
+-95.996 49.168 2768
+-95.87 49.168 2766
+-95.744 49.168 2763
+-95.618 49.168 2761
+-95.492 49.168 2759
+-95.366 49.168 2757
+-95.24 49.168 2754
+-95.114 49.168 2752
+-94.988 49.168 2750
+-94.862 49.168 2748
+-94.736 49.168 2745
+-94.61 49.168 2743
+-94.484 49.168 2741
+-94.358 49.168 2739
+-94.232 49.168 2736
+-94.106 49.168 2734
+-93.98 49.168 2732
+-93.854 49.168 2730
+-93.728 49.168 2727
+-93.602 49.168 2725
+-93.476 49.168 2723
+-93.35 49.168 2721
+-93.224 49.168 2719
+-93.098 49.168 2717
+-92.972 49.168 2715
+-92.846 49.168 2713
+-92.72 49.168 2711
+-92.594 49.168 2709
+-92.468 49.168 2707
+-92.342 49.168 2705
+-92.216 49.168 2703
+-92.09 49.168 2702
+-91.964 49.168 2700
+-91.838 49.168 2699
+-91.712 49.168 2697
+-91.586 49.168 2696
+-91.46 49.168 2694
+-91.334 49.168 2693
+-91.208 49.168 2692
+-91.082 49.168 2691
+-90.956 49.168 2690
+-90.83 49.168 2689
+-90.704 49.168 2688
+-90.578 49.168 2687
+-90.452 49.168 2686
+-90.326 49.168 2640
+-90.2 49.168 2640
+-90.074 49.168 2639
+-89.948 49.168 2639
+-89.822 49.168 2638
+-89.696 49.168 2638
+-89.57 49.168 2637
+-89.444 49.168 2637
+-89.318 49.168 2637
+-89.192 49.168 2637
+-89.066 49.168 2637
+-88.94 49.168 2637
+-88.814 49.168 2637
+-88.688 49.168 2637
+-88.562 49.168 2637
+-88.436 49.168 2637
+-88.31 49.168 2637
+-88.184 49.168 2637
+-88.058 49.168 2638
+-87.932 49.168 2638
+-87.806 49.168 2638
+-87.68 49.168 2639
+-87.554 49.168 2639
+-87.428 49.168 2639
+-87.302 49.168 2640
+-87.176 49.168 2640
+-87.05 49.168 2641
+-86.924 49.168 2641
+-86.798 49.168 2642
+-86.672 49.168 2642
+-86.546 49.168 2643
+-86.42 49.168 2643
+-86.294 49.168 2644
+-86.168 49.168 2644
+-86.042 49.168 2645
+-85.916 49.168 2645
+-85.79 49.168 2646
+-85.664 49.168 2647
+-85.538 49.168 2647
+-85.412 49.168 2648
+-85.286 49.168 2648
+-85.16 49.168 2649
+-85.034 49.168 2649
+-84.908 49.168 2650
+-84.782 49.168 2651
+-84.656 49.168 2651
+-84.53 49.168 2652
+-84.404 49.168 2652
+-84.278 49.168 2653
+-84.152 49.168 2654
+-84.026 49.168 2654
+-83.9 49.168 2655
+-83.774 49.168 2655
+-83.648 49.168 2656
+-83.522 49.168 2657
+-83.396 49.168 2657
+-83.27 49.168 2658
+-83.144 49.168 2658
+-83.018 49.168 2659
+-82.892 49.168 2660
+-82.766 49.168 2660
+-82.64 49.168 2661
+-82.514 49.168 2661
+-82.388 49.168 2662
+-82.262 49.168 2663
+-82.136 49.168 2663
+-82.01 49.168 2664
+-81.884 49.168 2664
+-81.758 49.168 2665
+-81.632 49.168 2666
+-81.506 49.168 2666
+-81.38 49.168 2667
+-81.254 49.168 2667
+-81.128 49.168 2668
+-81.002 49.168 2680
+-80.876 49.168 2680
+-80.75 49.168 2681
+-80.624 49.168 2681
+-80.498 49.168 2569
+-80.372 49.168 2569
+-80.246 49.168 2569
+-80.12 49.168 2569
+-79.994 49.168 2570
+-79.868 49.168 2570
+-79.742 49.168 2570
+-79.616 49.168 2571
+-79.49 49.168 2571
+-79.364 49.168 2571
+-79.238 49.168 2578
+-79.112 49.168 2586
+-78.986 49.168 2587
+-78.86 49.168 2587
+-78.734 49.168 2587
+-78.608 49.168 2606
+-78.482 49.168 2606
+-78.356 49.168 2607
+-78.23 49.168 2607
+-78.104 49.168 2611
+-77.978 49.168 2741
+-77.852 49.168 2741
+-77.726 49.168 2742
+-77.6 49.168 2749
+-77.474 49.168 2749
+-77.348 49.168 2749
+-77.222 49.168 2768
+-77.096 49.168 2747
+-76.97 49.168 2763
+-76.844 49.168 2763
+-76.718 49.168 2758
+-76.592 49.168 2758
+-76.466 49.168 2759
+-76.34 49.168 2759
+-76.214 49.168 2761
+-76.088 49.168 2851
+-75.962 49.168 2851
+-75.836 49.168 2852
+-75.71 49.168 2852
+-75.584 49.168 2872
+-75.458 49.168 2872
+-75.332 49.168 2850
+-75.206 49.168 2851
+-75.08 49.168 2851
+-74.954 49.168 2852
+-74.828 49.168 2822
+-74.702 49.168 2832
+-74.576 49.168 2833
+-74.45 49.168 2962
+-74.324 49.168 2920
+-74.198 49.168 2921
+-74.072 49.168 3064
+-73.946 49.168 3060
+-73.82 49.168 3019
+-73.694 49.168 3087
+-73.568 49.168 2970
+-73.442 49.168 3003
+-73.316 49.168 3061
+-73.19 49.168 2953
+-73.064 49.168 2961
+-72.938 49.168 2862
+-72.812 49.168 2858
+-72.686 49.168 2875
+-72.56 49.168 2844
+-72.434 49.168 2845
+-72.308 49.168 2846
+-72.182 49.168 2781
+-72.056 49.168 2828
+-71.93 49.168 2819
+-71.804 49.168 2807
+-71.678 49.168 2808
+-71.552 49.168 2808
+-71.426 49.168 2809
+-71.3 49.168 2746
+-71.174 49.168 2740
+-71.048 49.168 2741
+-70.922 49.168 2742
+-70.796 49.168 2742
+-70.67 49.168 2738
+-70.544 49.168 2680
+-70.418 49.168 2787
+-70.292 49.168 2782
+-70.166 49.168 2788
+-70.04 49.168 2789
+-69.914 49.168 2789
+-69.788 49.168 2790
+-69.662 49.168 2816
+-69.536 49.168 2793
+-69.41 49.168 2861
+-69.284 49.168 2862
+-69.158 49.168 2852
+-69.032 49.168 2860
+-68.906 49.168 2860
+-68.78 49.168 2861
+-68.654 49.168 2848
+-68.528 49.168 2964
+-68.402 49.168 2965
+-68.276 49.168 2965
+-68.15 49.168 2966
+-68.024 49.168 3066
+-67.898 49.168 3017
+-67.772 49.168 3165
+-67.646 49.168 3165
+-67.52 49.168 3126
+-67.394 49.168 3126
+-67.268 49.168 3126
+-67.142 49.168 3127
+-67.016 49.168 3127
+-66.89 49.168 3127
+-66.764 49.168 3230
+-66.638 49.168 3224
+-66.512 49.168 3225
+-66.386 49.168 3225
+-66.26 49.168 3225
+-66.134 49.168 3165
+-66.008 49.168 3205
+-65.882 49.168 3205
+-65.756 49.168 3287
+-65.63 49.168 3191
+-65.504 49.168 3191
+-65.378 49.168 3191
+-65.252 49.168 3243
+-65.126 49.168 3194
+-128 49.116 4295
+-127.874 49.116 4305
+-127.748 49.116 4291
+-127.622 49.116 4253
+-127.496 49.116 4227
+-127.37 49.116 4357
+-127.244 49.116 4501
+-127.118 49.116 4597
+-126.992 49.116 4593
+-126.866 49.116 4727
+-126.74 49.116 4837
+-126.614 49.116 4996
+-126.488 49.116 5112
+-126.362 49.116 5234
+-126.236 49.116 5354
+-126.11 49.116 5454
+-125.984 49.116 5527
+-125.858 49.116 5682
+-125.732 49.116 5819
+-125.606 49.116 5969
+-125.48 49.116 6072
+-125.354 49.116 6159
+-125.228 49.116 6218
+-125.102 49.116 6286
+-124.976 49.116 6361
+-124.85 49.116 6413
+-124.724 49.116 6553
+-124.598 49.116 6647
+-124.472 49.116 6742
+-124.346 49.116 6815
+-124.22 49.116 6876
+-124.094 49.116 6943
+-123.968 49.116 7029
+-123.842 49.116 7097
+-123.716 49.116 7145
+-123.59 49.116 7153
+-123.464 49.116 7201
+-123.338 49.116 7232
+-123.212 49.116 7254
+-123.086 49.116 7266
+-122.96 49.116 7281
+-122.834 49.116 7278
+-122.708 49.116 7256
+-122.582 49.116 7230
+-122.456 49.116 7197
+-122.33 49.116 7187
+-122.204 49.116 7155
+-122.078 49.116 7086
+-121.952 49.116 7023
+-121.826 49.116 6943
+-121.7 49.116 6883
+-121.574 49.116 6807
+-121.448 49.116 6744
+-121.322 49.116 6657
+-121.196 49.116 6582
+-121.07 49.116 6482
+-120.944 49.116 6404
+-120.818 49.116 6301
+-120.692 49.116 6234
+-120.566 49.116 6103
+-120.44 49.116 5989
+-120.314 49.116 5830
+-120.188 49.116 5806
+-120.062 49.116 5732
+-119.936 49.116 5713
+-119.81 49.116 5762
+-119.684 49.116 5823
+-119.558 49.116 5858
+-119.432 49.116 5888
+-119.306 49.116 5920
+-119.18 49.116 5960
+-119.054 49.116 5997
+-118.928 49.116 6054
+-118.802 49.116 6031
+-118.676 49.116 6089
+-118.55 49.116 6057
+-118.424 49.116 6111
+-118.298 49.116 6067
+-118.172 49.116 6063
+-118.046 49.116 6062
+-117.92 49.116 6076
+-117.794 49.116 6027
+-117.668 49.116 5985
+-117.542 49.116 5992
+-117.416 49.116 5923
+-117.29 49.116 5885
+-117.164 49.116 5849
+-117.038 49.116 5814
+-116.912 49.116 5752
+-116.786 49.116 5687
+-116.66 49.116 5615
+-116.534 49.116 5596
+-116.408 49.116 5476
+-116.282 49.116 5449
+-116.156 49.116 5342
+-116.03 49.116 5218
+-115.904 49.116 5122
+-115.778 49.116 5125
+-115.652 49.116 4998
+-115.526 49.116 4896
+-115.4 49.116 4826
+-115.274 49.116 4702
+-115.148 49.116 4618
+-115.022 49.116 4505
+-114.896 49.116 4408
+-114.77 49.116 4346
+-114.644 49.116 4214
+-114.518 49.116 4118
+-114.392 49.116 4073
+-114.266 49.116 4045
+-114.14 49.116 3980
+-114.014 49.116 3850
+-113.888 49.116 3682
+-113.762 49.116 3479
+-113.636 49.116 3362
+-113.51 49.116 3334
+-113.384 49.116 3266
+-113.258 49.116 3290
+-113.132 49.116 3312
+-113.006 49.116 3333
+-112.88 49.116 3341
+-112.754 49.116 3347
+-112.628 49.116 3313
+-112.502 49.116 3314
+-112.376 49.116 3314
+-112.25 49.116 3310
+-112.124 49.116 3304
+-111.998 49.116 3297
+-111.872 49.116 3290
+-111.746 49.116 3282
+-111.62 49.116 3276
+-111.494 49.116 3270
+-111.368 49.116 3252
+-111.242 49.116 3211
+-111.116 49.116 3195
+-110.99 49.116 3195
+-110.864 49.116 3196
+-110.738 49.116 3198
+-110.612 49.116 3201
+-110.486 49.116 3205
+-110.36 49.116 3181
+-110.234 49.116 3186
+-110.108 49.116 3192
+-109.982 49.116 3198
+-109.856 49.116 3170
+-109.73 49.116 3176
+-109.604 49.116 3183
+-109.478 49.116 3189
+-109.352 49.116 3182
+-109.226 49.116 3188
+-109.1 49.116 3193
+-108.974 49.116 3199
+-108.848 49.116 3190
+-108.722 49.116 3196
+-108.596 49.116 3202
+-108.47 49.116 3208
+-108.344 49.116 3199
+-108.218 49.116 3204
+-108.092 49.116 3210
+-107.966 49.116 3215
+-107.84 49.116 3220
+-107.714 49.116 3225
+-107.588 49.116 3230
+-107.462 49.116 3234
+-107.336 49.116 3239
+-107.21 49.116 3243
+-107.084 49.116 3247
+-106.958 49.116 3182
+-106.832 49.116 3171
+-106.706 49.116 3175
+-106.58 49.116 3178
+-106.454 49.116 3182
+-106.328 49.116 3185
+-106.202 49.116 3152
+-106.076 49.116 3148
+-105.95 49.116 3152
+-105.824 49.116 3156
+-105.698 49.116 3136
+-105.572 49.116 3139
+-105.446 49.116 3143
+-105.32 49.116 3146
+-105.194 49.116 3149
+-105.068 49.116 3152
+-104.942 49.116 3155
+-104.816 49.116 3157
+-104.69 49.116 3160
+-104.564 49.116 3163
+-104.438 49.116 3165
+-104.312 49.116 3168
+-104.186 49.116 3170
+-104.06 49.116 3172
+-103.934 49.116 3174
+-103.808 49.116 3147
+-103.682 49.116 3103
+-103.556 49.116 3105
+-103.43 49.116 3106
+-103.304 49.116 3108
+-103.178 49.116 3110
+-103.052 49.116 3111
+-102.926 49.116 3113
+-102.8 49.116 3114
+-102.674 49.116 3116
+-102.548 49.116 3117
+-102.422 49.116 3119
+-102.296 49.116 3120
+-102.17 49.116 3092
+-102.044 49.116 2996
+-101.918 49.116 2992
+-101.792 49.116 2990
+-101.666 49.116 2959
+-101.54 49.116 2898
+-101.414 49.116 2896
+-101.288 49.116 2894
+-101.162 49.116 2838
+-101.036 49.116 2826
+-100.91 49.116 2759
+-100.784 49.116 2721
+-100.658 49.116 2723
+-100.532 49.116 2727
+-100.406 49.116 2739
+-100.28 49.116 2752
+-100.154 49.116 2799
+-100.028 49.116 2801
+-99.902 49.116 2802
+-99.776 49.116 2819
+-99.65 49.116 2896
+-99.524 49.116 2896
+-99.398 49.116 2948
+-99.272 49.116 2947
+-99.146 49.116 2945
+-99.02 49.116 2944
+-98.894 49.116 2942
+-98.768 49.116 2941
+-98.642 49.116 2939
+-98.516 49.116 2937
+-98.39 49.116 2936
+-98.264 49.116 2815
+-98.138 49.116 2814
+-98.012 49.116 2799
+-97.886 49.116 2797
+-97.76 49.116 2795
+-97.634 49.116 2793
+-97.508 49.116 2792
+-97.382 49.116 2790
+-97.256 49.116 2788
+-97.13 49.116 2786
+-97.004 49.116 2784
+-96.878 49.116 2782
+-96.752 49.116 2780
+-96.626 49.116 2778
+-96.5 49.116 2776
+-96.374 49.116 2774
+-96.248 49.116 2772
+-96.122 49.116 2769
+-95.996 49.116 2767
+-95.87 49.116 2765
+-95.744 49.116 2763
+-95.618 49.116 2760
+-95.492 49.116 2758
+-95.366 49.116 2756
+-95.24 49.116 2754
+-95.114 49.116 2751
+-94.988 49.116 2749
+-94.862 49.116 2747
+-94.736 49.116 2744
+-94.61 49.116 2742
+-94.484 49.116 2740
+-94.358 49.116 2737
+-94.232 49.116 2735
+-94.106 49.116 2733
+-93.98 49.116 2730
+-93.854 49.116 2728
+-93.728 49.116 2726
+-93.602 49.116 2723
+-93.476 49.116 2721
+-93.35 49.116 2719
+-93.224 49.116 2717
+-93.098 49.116 2715
+-92.972 49.116 2712
+-92.846 49.116 2710
+-92.72 49.116 2708
+-92.594 49.116 2706
+-92.468 49.116 2704
+-92.342 49.116 2703
+-92.216 49.116 2701
+-92.09 49.116 2699
+-91.964 49.116 2697
+-91.838 49.116 2696
+-91.712 49.116 2694
+-91.586 49.116 2693
+-91.46 49.116 2691
+-91.334 49.116 2690
+-91.208 49.116 2689
+-91.082 49.116 2688
+-90.956 49.116 2687
+-90.83 49.116 2686
+-90.704 49.116 2685
+-90.578 49.116 2684
+-90.452 49.116 2683
+-90.326 49.116 2638
+-90.2 49.116 2637
+-90.074 49.116 2636
+-89.948 49.116 2636
+-89.822 49.116 2635
+-89.696 49.116 2635
+-89.57 49.116 2635
+-89.444 49.116 2634
+-89.318 49.116 2634
+-89.192 49.116 2634
+-89.066 49.116 2634
+-88.94 49.116 2634
+-88.814 49.116 2634
+-88.688 49.116 2634
+-88.562 49.116 2634
+-88.436 49.116 2635
+-88.31 49.116 2635
+-88.184 49.116 2635
+-88.058 49.116 2635
+-87.932 49.116 2636
+-87.806 49.116 2636
+-87.68 49.116 2636
+-87.554 49.116 2637
+-87.428 49.116 2637
+-87.302 49.116 2638
+-87.176 49.116 2638
+-87.05 49.116 2639
+-86.924 49.116 2639
+-86.798 49.116 2640
+-86.672 49.116 2640
+-86.546 49.116 2641
+-86.42 49.116 2641
+-86.294 49.116 2642
+-86.168 49.116 2643
+-86.042 49.116 2643
+-85.916 49.116 2644
+-85.79 49.116 2644
+-85.664 49.116 2645
+-85.538 49.116 2646
+-85.412 49.116 2646
+-85.286 49.116 2647
+-85.16 49.116 2647
+-85.034 49.116 2648
+-84.908 49.116 2649
+-84.782 49.116 2649
+-84.656 49.116 2650
+-84.53 49.116 2650
+-84.404 49.116 2651
+-84.278 49.116 2652
+-84.152 49.116 2652
+-84.026 49.116 2653
+-83.9 49.116 2654
+-83.774 49.116 2654
+-83.648 49.116 2655
+-83.522 49.116 2655
+-83.396 49.116 2656
+-83.27 49.116 2657
+-83.144 49.116 2657
+-83.018 49.116 2658
+-82.892 49.116 2658
+-82.766 49.116 2659
+-82.64 49.116 2660
+-82.514 49.116 2660
+-82.388 49.116 2661
+-82.262 49.116 2662
+-82.136 49.116 2662
+-82.01 49.116 2663
+-81.884 49.116 2663
+-81.758 49.116 2664
+-81.632 49.116 2665
+-81.506 49.116 2665
+-81.38 49.116 2666
+-81.254 49.116 2667
+-81.128 49.116 2678
+-81.002 49.116 2679
+-80.876 49.116 2679
+-80.75 49.116 2680
+-80.624 49.116 2567
+-80.498 49.116 2568
+-80.372 49.116 2568
+-80.246 49.116 2568
+-80.12 49.116 2569
+-79.994 49.116 2569
+-79.868 49.116 2569
+-79.742 49.116 2570
+-79.616 49.116 2570
+-79.49 49.116 2570
+-79.364 49.116 2577
+-79.238 49.116 2585
+-79.112 49.116 2585
+-78.986 49.116 2586
+-78.86 49.116 2586
+-78.734 49.116 2605
+-78.608 49.116 2605
+-78.482 49.116 2606
+-78.356 49.116 2606
+-78.23 49.116 2610
+-78.104 49.116 2740
+-77.978 49.116 2740
+-77.852 49.116 2740
+-77.726 49.116 2748
+-77.6 49.116 2748
+-77.474 49.116 2748
+-77.348 49.116 2767
+-77.222 49.116 2746
+-77.096 49.116 2761
+-76.97 49.116 2762
+-76.844 49.116 2757
+-76.718 49.116 2757
+-76.592 49.116 2758
+-76.466 49.116 2758
+-76.34 49.116 2760
+-76.214 49.116 2849
+-76.088 49.116 2850
+-75.962 49.116 2850
+-75.836 49.116 2851
+-75.71 49.116 2870
+-75.584 49.116 2871
+-75.458 49.116 2849
+-75.332 49.116 2850
+-75.206 49.116 2850
+-75.08 49.116 2851
+-74.954 49.116 2821
+-74.828 49.116 2831
+-74.702 49.116 2832
+-74.576 49.116 2961
+-74.45 49.116 2919
+-74.324 49.116 2920
+-74.198 49.116 3062
+-74.072 49.116 3059
+-73.946 49.116 3018
+-73.82 49.116 3085
+-73.694 49.116 2969
+-73.568 49.116 3002
+-73.442 49.116 3059
+-73.316 49.116 2952
+-73.19 49.116 2959
+-73.064 49.116 2861
+-72.938 49.116 2857
+-72.812 49.116 2874
+-72.686 49.116 2844
+-72.56 49.116 2844
+-72.434 49.116 2845
+-72.308 49.116 2781
+-72.182 49.116 2827
+-72.056 49.116 2818
+-71.93 49.116 2806
+-71.804 49.116 2807
+-71.678 49.116 2808
+-71.552 49.116 2808
+-71.426 49.116 2745
+-71.3 49.116 2740
+-71.174 49.116 2740
+-71.048 49.116 2741
+-70.922 49.116 2742
+-70.796 49.116 2737
+-70.67 49.116 2680
+-70.544 49.116 2786
+-70.418 49.116 2781
+-70.292 49.116 2787
+-70.166 49.116 2788
+-70.04 49.116 2789
+-69.914 49.116 2789
+-69.788 49.116 2816
+-69.662 49.116 2792
+-69.536 49.116 2861
+-69.41 49.116 2861
+-69.284 49.116 2851
+-69.158 49.116 2859
+-69.032 49.116 2860
+-68.906 49.116 2861
+-68.78 49.116 2847
+-68.654 49.116 2964
+-68.528 49.116 2964
+-68.402 49.116 2965
+-68.276 49.116 2966
+-68.15 49.116 3065
+-68.024 49.116 3016
+-67.898 49.116 3164
+-67.772 49.116 3165
+-67.646 49.116 3125
+-67.52 49.116 3126
+-67.394 49.116 3126
+-67.268 49.116 3126
+-67.142 49.116 3127
+-67.016 49.116 3127
+-66.89 49.116 3229
+-66.764 49.116 3224
+-66.638 49.116 3224
+-66.512 49.116 3225
+-66.386 49.116 3225
+-66.26 49.116 3165
+-66.134 49.116 3204
+-66.008 49.116 3205
+-65.882 49.116 3286
+-65.756 49.116 3190
+-65.63 49.116 3191
+-65.504 49.116 3191
+-65.378 49.116 3243
+-65.252 49.116 3193
+-65.126 49.116 3194
+-128 49.064 4276
+-127.874 49.064 4261
+-127.748 49.064 4251
+-127.622 49.064 4191
+-127.496 49.064 4083
+-127.37 49.064 4283
+-127.244 49.064 4487
+-127.118 49.064 4588
+-126.992 49.064 4627
+-126.866 49.064 4716
+-126.74 49.064 4849
+-126.614 49.064 5017
+-126.488 49.064 5154
+-126.362 49.064 5260
+-126.236 49.064 5392
+-126.11 49.064 5485
+-125.984 49.064 5614
+-125.858 49.064 5718
+-125.732 49.064 5852
+-125.606 49.064 5938
+-125.48 49.064 6016
+-125.354 49.064 6160
+-125.228 49.064 6219
+-125.102 49.064 6308
+-124.976 49.064 6357
+-124.85 49.064 6512
+-124.724 49.064 6618
+-124.598 49.064 6703
+-124.472 49.064 6798
+-124.346 49.064 6879
+-124.22 49.064 6971
+-124.094 49.064 7051
+-123.968 49.064 7073
+-123.842 49.064 7156
+-123.716 49.064 7208
+-123.59 49.064 7235
+-123.464 49.064 7264
+-123.338 49.064 7287
+-123.212 49.064 7341
+-123.086 49.064 7341
+-122.96 49.064 7326
+-122.834 49.064 7318
+-122.708 49.064 7308
+-122.582 49.064 7284
+-122.456 49.064 7278
+-122.33 49.064 7238
+-122.204 49.064 7184
+-122.078 49.064 7147
+-121.952 49.064 7076
+-121.826 49.064 7001
+-121.7 49.064 6912
+-121.574 49.064 6861
+-121.448 49.064 6800
+-121.322 49.064 6686
+-121.196 49.064 6592
+-121.07 49.064 6479
+-120.944 49.064 6451
+-120.818 49.064 6353
+-120.692 49.064 6246
+-120.566 49.064 6159
+-120.44 49.064 6067
+-120.314 49.064 5930
+-120.188 49.064 5811
+-120.062 49.064 5673
+-119.936 49.064 5763
+-119.81 49.064 5753
+-119.684 49.064 5837
+-119.558 49.064 5888
+-119.432 49.064 5950
+-119.306 49.064 5967
+-119.18 49.064 6030
+-119.054 49.064 6068
+-118.928 49.064 6085
+-118.802 49.064 6075
+-118.676 49.064 6078
+-118.55 49.064 6103
+-118.424 49.064 6121
+-118.298 49.064 6135
+-118.172 49.064 6145
+-118.046 49.064 6139
+-117.92 49.064 6112
+-117.794 49.064 6092
+-117.668 49.064 6055
+-117.542 49.064 6009
+-117.416 49.064 5975
+-117.29 49.064 5939
+-117.164 49.064 5895
+-117.038 49.064 5850
+-116.912 49.064 5801
+-116.786 49.064 5747
+-116.66 49.064 5684
+-116.534 49.064 5598
+-116.408 49.064 5528
+-116.282 49.064 5512
+-116.156 49.064 5406
+-116.03 49.064 5292
+-115.904 49.064 5165
+-115.778 49.064 5101
+-115.652 49.064 5013
+-115.526 49.064 4922
+-115.4 49.064 4838
+-115.274 49.064 4733
+-115.148 49.064 4645
+-115.022 49.064 4572
+-114.896 49.064 4482
+-114.77 49.064 4379
+-114.644 49.064 4253
+-114.518 49.064 4117
+-114.392 49.064 4016
+-114.266 49.064 4036
+-114.14 49.064 3990
+-114.014 49.064 3907
+-113.888 49.064 3785
+-113.762 49.064 3607
+-113.636 49.064 3463
+-113.51 49.064 3300
+-113.384 49.064 3185
+-113.258 49.064 3250
+-113.132 49.064 3307
+-113.006 49.064 3333
+-112.88 49.064 3316
+-112.754 49.064 3305
+-112.628 49.064 3304
+-112.502 49.064 3310
+-112.376 49.064 3311
+-112.25 49.064 3306
+-112.124 49.064 3299
+-111.998 49.064 3289
+-111.872 49.064 3280
+-111.746 49.064 3270
+-111.62 49.064 3262
+-111.494 49.064 3242
+-111.368 49.064 3200
+-111.242 49.064 3183
+-111.116 49.064 3182
+-110.99 49.064 3182
+-110.864 49.064 3184
+-110.738 49.064 3187
+-110.612 49.064 3191
+-110.486 49.064 3168
+-110.36 49.064 3174
+-110.234 49.064 3180
+-110.108 49.064 3186
+-109.982 49.064 3159
+-109.856 49.064 3166
+-109.73 49.064 3173
+-109.604 49.064 3180
+-109.478 49.064 3174
+-109.352 49.064 3180
+-109.226 49.064 3187
+-109.1 49.064 3193
+-108.974 49.064 3184
+-108.848 49.064 3191
+-108.722 49.064 3197
+-108.596 49.064 3203
+-108.47 49.064 3194
+-108.344 49.064 3200
+-108.218 49.064 3206
+-108.092 49.064 3211
+-107.966 49.064 3217
+-107.84 49.064 3222
+-107.714 49.064 3227
+-107.588 49.064 3232
+-107.462 49.064 3236
+-107.336 49.064 3241
+-107.21 49.064 3245
+-107.084 49.064 3180
+-106.958 49.064 3169
+-106.832 49.064 3173
+-106.706 49.064 3177
+-106.58 49.064 3180
+-106.454 49.064 3184
+-106.328 49.064 3150
+-106.202 49.064 3146
+-106.076 49.064 3151
+-105.95 49.064 3155
+-105.824 49.064 3135
+-105.698 49.064 3138
+-105.572 49.064 3142
+-105.446 49.064 3145
+-105.32 49.064 3148
+-105.194 49.064 3151
+-105.068 49.064 3154
+-104.942 49.064 3157
+-104.816 49.064 3160
+-104.69 49.064 3162
+-104.564 49.064 3165
+-104.438 49.064 3167
+-104.312 49.064 3170
+-104.186 49.064 3172
+-104.06 49.064 3174
+-103.934 49.064 3146
+-103.808 49.064 3102
+-103.682 49.064 3104
+-103.556 49.064 3106
+-103.43 49.064 3108
+-103.304 49.064 3110
+-103.178 49.064 3111
+-103.052 49.064 3113
+-102.926 49.064 3114
+-102.8 49.064 3116
+-102.674 49.064 3117
+-102.548 49.064 3119
+-102.422 49.064 3120
+-102.296 49.064 3121
+-102.17 49.064 3093
+-102.044 49.064 3000
+-101.918 49.064 2993
+-101.792 49.064 2979
+-101.666 49.064 2940
+-101.54 49.064 2899
+-101.414 49.064 2897
+-101.288 49.064 2839
+-101.162 49.064 2826
+-101.036 49.064 2816
+-100.91 49.064 2818
+-100.784 49.064 2758
+-100.658 49.064 2726
+-100.532 49.064 2738
+-100.406 49.064 2765
+-100.28 49.064 2799
+-100.154 49.064 2800
+-100.028 49.064 2802
+-99.902 49.064 2818
+-99.776 49.064 2897
+-99.65 49.064 2896
+-99.524 49.064 2950
+-99.398 49.064 2948
+-99.272 49.064 2947
+-99.146 49.064 2945
+-99.02 49.064 2944
+-98.894 49.064 2942
+-98.768 49.064 2940
+-98.642 49.064 2939
+-98.516 49.064 2937
+-98.39 49.064 2936
+-98.264 49.064 2934
+-98.138 49.064 2814
+-98.012 49.064 2812
+-97.886 49.064 2797
+-97.76 49.064 2795
+-97.634 49.064 2794
+-97.508 49.064 2792
+-97.382 49.064 2790
+-97.256 49.064 2788
+-97.13 49.064 2786
+-97.004 49.064 2784
+-96.878 49.064 2782
+-96.752 49.064 2780
+-96.626 49.064 2778
+-96.5 49.064 2776
+-96.374 49.064 2773
+-96.248 49.064 2771
+-96.122 49.064 2769
+-95.996 49.064 2767
+-95.87 49.064 2764
+-95.744 49.064 2762
+-95.618 49.064 2760
+-95.492 49.064 2757
+-95.366 49.064 2755
+-95.24 49.064 2753
+-95.114 49.064 2750
+-94.988 49.064 2748
+-94.862 49.064 2746
+-94.736 49.064 2743
+-94.61 49.064 2741
+-94.484 49.064 2738
+-94.358 49.064 2736
+-94.232 49.064 2733
+-94.106 49.064 2731
+-93.98 49.064 2729
+-93.854 49.064 2726
+-93.728 49.064 2724
+-93.602 49.064 2721
+-93.476 49.064 2719
+-93.35 49.064 2717
+-93.224 49.064 2715
+-93.098 49.064 2712
+-92.972 49.064 2710
+-92.846 49.064 2708
+-92.72 49.064 2706
+-92.594 49.064 2704
+-92.468 49.064 2702
+-92.342 49.064 2700
+-92.216 49.064 2698
+-92.09 49.064 2696
+-91.964 49.064 2695
+-91.838 49.064 2693
+-91.712 49.064 2691
+-91.586 49.064 2690
+-91.46 49.064 2689
+-91.334 49.064 2687
+-91.208 49.064 2686
+-91.082 49.064 2685
+-90.956 49.064 2684
+-90.83 49.064 2683
+-90.704 49.064 2682
+-90.578 49.064 2681
+-90.452 49.064 2680
+-90.326 49.064 2635
+-90.2 49.064 2634
+-90.074 49.064 2633
+-89.948 49.064 2633
+-89.822 49.064 2633
+-89.696 49.064 2632
+-89.57 49.064 2632
+-89.444 49.064 2632
+-89.318 49.064 2632
+-89.192 49.064 2631
+-89.066 49.064 2631
+-88.94 49.064 2631
+-88.814 49.064 2631
+-88.688 49.064 2632
+-88.562 49.064 2632
+-88.436 49.064 2632
+-88.31 49.064 2632
+-88.184 49.064 2633
+-88.058 49.064 2633
+-87.932 49.064 2633
+-87.806 49.064 2634
+-87.68 49.064 2634
+-87.554 49.064 2635
+-87.428 49.064 2635
+-87.302 49.064 2636
+-87.176 49.064 2636
+-87.05 49.064 2637
+-86.924 49.064 2637
+-86.798 49.064 2638
+-86.672 49.064 2638
+-86.546 49.064 2639
+-86.42 49.064 2640
+-86.294 49.064 2640
+-86.168 49.064 2641
+-86.042 49.064 2641
+-85.916 49.064 2642
+-85.79 49.064 2643
+-85.664 49.064 2643
+-85.538 49.064 2644
+-85.412 49.064 2645
+-85.286 49.064 2645
+-85.16 49.064 2646
+-85.034 49.064 2646
+-84.908 49.064 2647
+-84.782 49.064 2648
+-84.656 49.064 2648
+-84.53 49.064 2649
+-84.404 49.064 2650
+-84.278 49.064 2650
+-84.152 49.064 2651
+-84.026 49.064 2652
+-83.9 49.064 2652
+-83.774 49.064 2653
+-83.648 49.064 2654
+-83.522 49.064 2654
+-83.396 49.064 2655
+-83.27 49.064 2655
+-83.144 49.064 2656
+-83.018 49.064 2657
+-82.892 49.064 2657
+-82.766 49.064 2658
+-82.64 49.064 2659
+-82.514 49.064 2659
+-82.388 49.064 2660
+-82.262 49.064 2661
+-82.136 49.064 2661
+-82.01 49.064 2662
+-81.884 49.064 2662
+-81.758 49.064 2663
+-81.632 49.064 2664
+-81.506 49.064 2664
+-81.38 49.064 2665
+-81.254 49.064 2676
+-81.128 49.064 2677
+-81.002 49.064 2678
+-80.876 49.064 2678
+-80.75 49.064 2566
+-80.624 49.064 2566
+-80.498 49.064 2567
+-80.372 49.064 2567
+-80.246 49.064 2567
+-80.12 49.064 2568
+-79.994 49.064 2568
+-79.868 49.064 2568
+-79.742 49.064 2569
+-79.616 49.064 2569
+-79.49 49.064 2576
+-79.364 49.064 2584
+-79.238 49.064 2584
+-79.112 49.064 2585
+-78.986 49.064 2585
+-78.86 49.064 2604
+-78.734 49.064 2604
+-78.608 49.064 2605
+-78.482 49.064 2605
+-78.356 49.064 2608
+-78.23 49.064 2739
+-78.104 49.064 2739
+-77.978 49.064 2739
+-77.852 49.064 2746
+-77.726 49.064 2747
+-77.6 49.064 2747
+-77.474 49.064 2765
+-77.348 49.064 2745
+-77.222 49.064 2760
+-77.096 49.064 2761
+-76.97 49.064 2756
+-76.844 49.064 2756
+-76.718 49.064 2757
+-76.592 49.064 2757
+-76.466 49.064 2759
+-76.34 49.064 2848
+-76.214 49.064 2849
+-76.088 49.064 2849
+-75.962 49.064 2850
+-75.836 49.064 2869
+-75.71 49.064 2870
+-75.584 49.064 2848
+-75.458 49.064 2849
+-75.332 49.064 2849
+-75.206 49.064 2850
+-75.08 49.064 2820
+-74.954 49.064 2830
+-74.828 49.064 2831
+-74.702 49.064 2960
+-74.576 49.064 2918
+-74.45 49.064 2919
+-74.324 49.064 3061
+-74.198 49.064 3057
+-74.072 49.064 3017
+-73.946 49.064 3084
+-73.82 49.064 2968
+-73.694 49.064 3001
+-73.568 49.064 3058
+-73.442 49.064 2951
+-73.316 49.064 2958
+-73.19 49.064 2860
+-73.064 49.064 2856
+-72.938 49.064 2873
+-72.812 49.064 2843
+-72.686 49.064 2843
+-72.56 49.064 2844
+-72.434 49.064 2780
+-72.308 49.064 2826
+-72.182 49.064 2817
+-72.056 49.064 2805
+-71.93 49.064 2806
+-71.804 49.064 2807
+-71.678 49.064 2807
+-71.552 49.064 2744
+-71.426 49.064 2739
+-71.3 49.064 2740
+-71.174 49.064 2740
+-71.048 49.064 2741
+-70.922 49.064 2737
+-70.796 49.064 2679
+-70.67 49.064 2786
+-70.544 49.064 2781
+-70.418 49.064 2787
+-70.292 49.064 2787
+-70.166 49.064 2788
+-70.04 49.064 2789
+-69.914 49.064 2815
+-69.788 49.064 2792
+-69.662 49.064 2860
+-69.536 49.064 2861
+-69.41 49.064 2851
+-69.284 49.064 2859
+-69.158 49.064 2859
+-69.032 49.064 2860
+-68.906 49.064 2847
+-68.78 49.064 2963
+-68.654 49.064 2964
+-68.528 49.064 2964
+-68.402 49.064 2965
+-68.276 49.064 3065
+-68.15 49.064 3016
+-68.024 49.064 3164
+-67.898 49.064 3164
+-67.772 49.064 3125
+-67.646 49.064 3125
+-67.52 49.064 3126
+-67.394 49.064 3126
+-67.268 49.064 3126
+-67.142 49.064 3127
+-67.016 49.064 3229
+-66.89 49.064 3223
+-66.764 49.064 3224
+-66.638 49.064 3224
+-66.512 49.064 3225
+-66.386 49.064 3165
+-66.26 49.064 3204
+-66.134 49.064 3204
+-66.008 49.064 3286
+-65.882 49.064 3190
+-65.756 49.064 3190
+-65.63 49.064 3191
+-65.504 49.064 3242
+-65.378 49.064 3193
+-65.252 49.064 3193
+-65.126 49.064 3194
+-128 49.012 4231
+-127.874 49.012 4199
+-127.748 49.012 4199
+-127.622 49.012 4217
+-127.496 49.012 4230
+-127.37 49.012 4362
+-127.244 49.012 4510
+-127.118 49.012 4569
+-126.992 49.012 4613
+-126.866 49.012 4687
+-126.74 49.012 4844
+-126.614 49.012 5035
+-126.488 49.012 5201
+-126.362 49.012 5321
+-126.236 49.012 5357
+-126.11 49.012 5527
+-125.984 49.012 5678
+-125.858 49.012 5757
+-125.732 49.012 5869
+-125.606 49.012 5995
+-125.48 49.012 6089
+-125.354 49.012 6181
+-125.228 49.012 6237
+-125.102 49.012 6320
+-124.976 49.012 6432
+-124.85 49.012 6560
+-124.724 49.012 6684
+-124.598 49.012 6778
+-124.472 49.012 6846
+-124.346 49.012 6922
+-124.22 49.012 7035
+-124.094 49.012 7121
+-123.968 49.012 7140
+-123.842 49.012 7199
+-123.716 49.012 7265
+-123.59 49.012 7274
+-123.464 49.012 7306
+-123.338 49.012 7341
+-123.212 49.012 7365
+-123.086 49.012 7357
+-122.96 49.012 7390
+-122.834 49.012 7412
+-122.708 49.012 7390
+-122.582 49.012 7333
+-122.456 49.012 7323
+-122.33 49.012 7303
+-122.204 49.012 7276
+-122.078 49.012 7173
+-121.952 49.012 7130
+-121.826 49.012 7037
+-121.7 49.012 6977
+-121.574 49.012 6910
+-121.448 49.012 6861
+-121.322 49.012 6744
+-121.196 49.012 6661
+-121.07 49.012 6585
+-120.944 49.012 6504
+-120.818 49.012 6340
+-120.692 49.012 6285
+-120.566 49.012 6165
+-120.44 49.012 6064
+-120.314 49.012 5937
+-120.188 49.012 5824
+-120.062 49.012 5714
+-119.936 49.012 5785
+-119.81 49.012 5822
+-119.684 49.012 5856
+-119.558 49.012 5938
+-119.432 49.012 5990
+-119.306 49.012 6028
+-119.18 49.012 6059
+-119.054 49.012 6091
+-118.928 49.012 6133
+-118.802 49.012 6162
+-118.676 49.012 6168
+-118.55 49.012 6178
+-118.424 49.012 6193
+-118.298 49.012 6200
+-118.172 49.012 6198
+-118.046 49.012 6207
+-117.92 49.012 6160
+-117.794 49.012 6115
+-117.668 49.012 6103
+-117.542 49.012 6086
+-117.416 49.012 6045
+-117.29 49.012 5986
+-117.164 49.012 5930
+-117.038 49.012 5909
+-116.912 49.012 5839
+-116.786 49.012 5806
+-116.66 49.012 5745
+-116.534 49.012 5687
+-116.408 49.012 5610
+-116.282 49.012 5575
+-116.156 49.012 5503
+-116.03 49.012 5376
+-115.904 49.012 5255
+-115.778 49.012 5144
+-115.652 49.012 5056
+-115.526 49.012 4972
+-115.4 49.012 4870
+-115.274 49.012 4730
+-115.148 49.012 4636
+-115.022 49.012 4616
+-114.896 49.012 4516
+-114.77 49.012 4420
+-114.644 49.012 4298
+-114.518 49.012 4177
+-114.392 49.012 4076
+-114.266 49.012 4046
+-114.14 49.012 3997
+-114.014 49.012 3940
+-113.888 49.012 3856
+-113.762 49.012 3729
+-113.636 49.012 3574
+-113.51 49.012 3381
+-113.384 49.012 3278
+-113.258 49.012 3266
+-113.132 49.012 3244
+-113.006 49.012 3262
+-112.88 49.012 3289
+-112.754 49.012 3280
+-112.628 49.012 3294
+-112.502 49.012 3304
+-112.376 49.012 3305
+-112.25 49.012 3299
+-112.124 49.012 3289
+-111.998 49.012 3277
+-111.872 49.012 3264
+-111.746 49.012 3252
+-111.62 49.012 3230
+-111.494 49.012 3186
+-111.368 49.012 3167
+-111.242 49.012 3165
+-111.116 49.012 3165
+-110.99 49.012 3167
+-110.864 49.012 3170
+-110.738 49.012 3174
+-110.612 49.012 3151
+-110.486 49.012 3158
+-110.36 49.012 3165
+-110.234 49.012 3173
+-110.108 49.012 3146
+-109.982 49.012 3154
+-109.856 49.012 3162
+-109.73 49.012 3170
+-109.604 49.012 3165
+-109.478 49.012 3172
+-109.352 49.012 3179
+-109.226 49.012 3185
+-109.1 49.012 3177
+-108.974 49.012 3184
+-108.848 49.012 3191
+-108.722 49.012 3198
+-108.596 49.012 3189
+-108.47 49.012 3196
+-108.344 49.012 3202
+-108.218 49.012 3208
+-108.092 49.012 3213
+-107.966 49.012 3219
+-107.84 49.012 3224
+-107.714 49.012 3229
+-107.588 49.012 3234
+-107.462 49.012 3238
+-107.336 49.012 3243
+-107.21 49.012 3178
+-107.084 49.012 3167
+-106.958 49.012 3171
+-106.832 49.012 3175
+-106.706 49.012 3179
+-106.58 49.012 3182
+-106.454 49.012 3148
+-106.328 49.012 3145
+-106.202 49.012 3149
+-106.076 49.012 3153
+-105.95 49.012 3134
+-105.824 49.012 3137
+-105.698 49.012 3141
+-105.572 49.012 3144
+-105.446 49.012 3147
+-105.32 49.012 3150
+-105.194 49.012 3154
+-105.068 49.012 3156
+-104.942 49.012 3159
+-104.816 49.012 3162
+-104.69 49.012 3165
+-104.564 49.012 3167
+-104.438 49.012 3170
+-104.312 49.012 3172
+-104.186 49.012 3174
+-104.06 49.012 3146
+-103.934 49.012 3102
+-103.808 49.012 3104
+-103.682 49.012 3106
+-103.556 49.012 3108
+-103.43 49.012 3109
+-103.304 49.012 3111
+-103.178 49.012 3113
+-103.052 49.012 3114
+-102.926 49.012 3116
+-102.8 49.012 3117
+-102.674 49.012 3119
+-102.548 49.012 3120
+-102.422 49.012 3121
+-102.296 49.012 3123
+-102.17 49.012 3082
+-102.044 49.012 3001
+-101.918 49.012 2981
+-101.792 49.012 2942
+-101.666 49.012 2945
+-101.54 49.012 2899
+-101.414 49.012 2840
+-101.288 49.012 2826
+-101.162 49.012 2816
+-101.036 49.012 2817
+-100.91 49.012 2826
+-100.784 49.012 2766
+-100.658 49.012 2727
+-100.532 49.012 2764
+-100.406 49.012 2781
+-100.28 49.012 2830
+-100.154 49.012 2801
+-100.028 49.012 2818
+-99.902 49.012 2898
+-99.776 49.012 2897
+-99.65 49.012 2951
+-99.524 49.012 2950
+-99.398 49.012 2948
+-99.272 49.012 2947
+-99.146 49.012 2945
+-99.02 49.012 2944
+-98.894 49.012 2942
+-98.768 49.012 2940
+-98.642 49.012 2939
+-98.516 49.012 2937
+-98.39 49.012 2935
+-98.264 49.012 2934
+-98.138 49.012 2932
+-98.012 49.012 2812
+-97.886 49.012 2810
+-97.76 49.012 2796
+-97.634 49.012 2794
+-97.508 49.012 2792
+-97.382 49.012 2790
+-97.256 49.012 2788
+-97.13 49.012 2786
+-97.004 49.012 2784
+-96.878 49.012 2782
+-96.752 49.012 2780
+-96.626 49.012 2777
+-96.5 49.012 2775
+-96.374 49.012 2773
+-96.248 49.012 2771
+-96.122 49.012 2769
+-95.996 49.012 2766
+-95.87 49.012 2764
+-95.744 49.012 2762
+-95.618 49.012 2759
+-95.492 49.012 2757
+-95.366 49.012 2754
+-95.24 49.012 2752
+-95.114 49.012 2749
+-94.988 49.012 2747
+-94.862 49.012 2744
+-94.736 49.012 2742
+-94.61 49.012 2739
+-94.484 49.012 2737
+-94.358 49.012 2734
+-94.232 49.012 2732
+-94.106 49.012 2729
+-93.98 49.012 2727
+-93.854 49.012 2724
+-93.728 49.012 2722
+-93.602 49.012 2720
+-93.476 49.012 2717
+-93.35 49.012 2715
+-93.224 49.012 2712
+-93.098 49.012 2710
+-92.972 49.012 2708
+-92.846 49.012 2706
+-92.72 49.012 2703
+-92.594 49.012 2701
+-92.468 49.012 2699
+-92.342 49.012 2697
+-92.216 49.012 2695
+-92.09 49.012 2694
+-91.964 49.012 2692
+-91.838 49.012 2690
+-91.712 49.012 2688
+-91.586 49.012 2687
+-91.46 49.012 2685
+-91.334 49.012 2684
+-91.208 49.012 2683
+-91.082 49.012 2682
+-90.956 49.012 2680
+-90.83 49.012 2679
+-90.704 49.012 2679
+-90.578 49.012 2678
+-90.452 49.012 2677
+-90.326 49.012 2632
+-90.2 49.012 2631
+-90.074 49.012 2630
+-89.948 49.012 2630
+-89.822 49.012 2630
+-89.696 49.012 2629
+-89.57 49.012 2629
+-89.444 49.012 2629
+-89.318 49.012 2629
+-89.192 49.012 2629
+-89.066 49.012 2629
+-88.94 49.012 2629
+-88.814 49.012 2629
+-88.688 49.012 2629
+-88.562 49.012 2629
+-88.436 49.012 2629
+-88.31 49.012 2630
+-88.184 49.012 2630
+-88.058 49.012 2630
+-87.932 49.012 2631
+-87.806 49.012 2631
+-87.68 49.012 2632
+-87.554 49.012 2632
+-87.428 49.012 2633
+-87.302 49.012 2633
+-87.176 49.012 2634
+-87.05 49.012 2635
+-86.924 49.012 2635
+-86.798 49.012 2636
+-86.672 49.012 2636
+-86.546 49.012 2637
+-86.42 49.012 2638
+-86.294 49.012 2638
+-86.168 49.012 2639
+-86.042 49.012 2640
+-85.916 49.012 2640
+-85.79 49.012 2641
+-85.664 49.012 2642
+-85.538 49.012 2642
+-85.412 49.012 2643
+-85.286 49.012 2644
+-85.16 49.012 2644
+-85.034 49.012 2645
+-84.908 49.012 2646
+-84.782 49.012 2646
+-84.656 49.012 2647
+-84.53 49.012 2648
+-84.404 49.012 2648
+-84.278 49.012 2649
+-84.152 49.012 2650
+-84.026 49.012 2650
+-83.9 49.012 2651
+-83.774 49.012 2652
+-83.648 49.012 2652
+-83.522 49.012 2653
+-83.396 49.012 2654
+-83.27 49.012 2654
+-83.144 49.012 2655
+-83.018 49.012 2656
+-82.892 49.012 2656
+-82.766 49.012 2657
+-82.64 49.012 2657
+-82.514 49.012 2658
+-82.388 49.012 2659
+-82.262 49.012 2659
+-82.136 49.012 2660
+-82.01 49.012 2661
+-81.884 49.012 2661
+-81.758 49.012 2662
+-81.632 49.012 2663
+-81.506 49.012 2663
+-81.38 49.012 2675
+-81.254 49.012 2675
+-81.128 49.012 2676
+-81.002 49.012 2677
+-80.876 49.012 2565
+-80.75 49.012 2565
+-80.624 49.012 2565
+-80.498 49.012 2566
+-80.372 49.012 2566
+-80.246 49.012 2566
+-80.12 49.012 2567
+-79.994 49.012 2567
+-79.868 49.012 2567
+-79.742 49.012 2568
+-79.616 49.012 2575
+-79.49 49.012 2583
+-79.364 49.012 2583
+-79.238 49.012 2584
+-79.112 49.012 2584
+-78.986 49.012 2602
+-78.86 49.012 2603
+-78.734 49.012 2603
+-78.608 49.012 2604
+-78.482 49.012 2607
+-78.356 49.012 2737
+-78.23 49.012 2738
+-78.104 49.012 2738
+-77.978 49.012 2745
+-77.852 49.012 2745
+-77.726 49.012 2746
+-77.6 49.012 2764
+-77.474 49.012 2744
+-77.348 49.012 2759
+-77.222 49.012 2759
+-77.096 49.012 2755
+-76.97 49.012 2755
+-76.844 49.012 2755
+-76.718 49.012 2756
+-76.592 49.012 2758
+-76.466 49.012 2847
+-76.34 49.012 2847
+-76.214 49.012 2848
+-76.088 49.012 2848
+-75.962 49.012 2868
+-75.836 49.012 2868
+-75.71 49.012 2847
+-75.584 49.012 2847
+-75.458 49.012 2848
+-75.332 49.012 2849
+-75.206 49.012 2819
+-75.08 49.012 2829
+-74.954 49.012 2829
+-74.828 49.012 2959
+-74.702 49.012 2917
+-74.576 49.012 2918
+-74.45 49.012 3060
+-74.324 49.012 3056
+-74.198 49.012 3016
+-74.072 49.012 3083
+-73.946 49.012 2967
+-73.82 49.012 2999
+-73.694 49.012 3057
+-73.568 49.012 2950
+-73.442 49.012 2957
+-73.316 49.012 2859
+-73.19 49.012 2855
+-73.064 49.012 2872
+-72.938 49.012 2842
+-72.812 49.012 2842
+-72.686 49.012 2843
+-72.56 49.012 2779
+-72.434 49.012 2825
+-72.308 49.012 2816
+-72.182 49.012 2804
+-72.056 49.012 2805
+-71.93 49.012 2806
+-71.804 49.012 2807
+-71.678 49.012 2744
+-71.552 49.012 2738
+-71.426 49.012 2739
+-71.3 49.012 2740
+-71.174 49.012 2740
+-71.048 49.012 2736
+-70.922 49.012 2679
+-70.796 49.012 2785
+-70.67 49.012 2780
+-70.544 49.012 2786
+-70.418 49.012 2787
+-70.292 49.012 2788
+-70.166 49.012 2788
+-70.04 49.012 2815
+-69.914 49.012 2791
+-69.788 49.012 2860
+-69.662 49.012 2860
+-69.536 49.012 2850
+-69.41 49.012 2858
+-69.284 49.012 2859
+-69.158 49.012 2859
+-69.032 49.012 2846
+-68.906 49.012 2963
+-68.78 49.012 2963
+-68.654 49.012 2964
+-68.528 49.012 2965
+-68.402 49.012 3064
+-68.276 49.012 3015
+-68.15 49.012 3163
+-68.024 49.012 3164
+-67.898 49.012 3125
+-67.772 49.012 3125
+-67.646 49.012 3125
+-67.52 49.012 3126
+-67.394 49.012 3126
+-67.268 49.012 3126
+-67.142 49.012 3229
+-67.016 49.012 3223
+-66.89 49.012 3223
+-66.764 49.012 3224
+-66.638 49.012 3224
+-66.512 49.012 3164
+-66.386 49.012 3203
+-66.26 49.012 3204
+-66.134 49.012 3285
+-66.008 49.012 3189
+-65.882 49.012 3190
+-65.756 49.012 3190
+-65.63 49.012 3242
+-65.504 49.012 3192
+-65.378 49.012 3193
+-65.252 49.012 3193
+-65.126 49.012 3420
+-128 48.96 4168
+-127.874 48.96 4098
+-127.748 48.96 4052
+-127.622 48.96 4159
+-127.496 48.96 4316
+-127.37 48.96 4438
+-127.244 48.96 4517
+-127.118 48.96 4509
+-126.992 48.96 4604
+-126.866 48.96 4721
+-126.74 48.96 4857
+-126.614 48.96 5007
+-126.488 48.96 5208
+-126.362 48.96 5425
+-126.236 48.96 5508
+-126.11 48.96 5629
+-125.984 48.96 5719
+-125.858 48.96 5724
+-125.732 48.96 5869
+-125.606 48.96 6003
+-125.48 48.96 6102
+-125.354 48.96 6153
+-125.228 48.96 6276
+-125.102 48.96 6352
+-124.976 48.96 6527
+-124.85 48.96 6599
+-124.724 48.96 6721
+-124.598 48.96 6831
+-124.472 48.96 6919
+-124.346 48.96 6958
+-124.22 48.96 7043
+-124.094 48.96 7144
+-123.968 48.96 7168
+-123.842 48.96 7239
+-123.716 48.96 7258
+-123.59 48.96 7296
+-123.464 48.96 7358
+-123.338 48.96 7415
+-123.212 48.96 7424
+-123.086 48.96 7466
+-122.96 48.96 7426
+-122.834 48.96 7419
+-122.708 48.96 7428
+-122.582 48.96 7400
+-122.456 48.96 7391
+-122.33 48.96 7360
+-122.204 48.96 7268
+-122.078 48.96 7248
+-121.952 48.96 7191
+-121.826 48.96 7100
+-121.7 48.96 7055
+-121.574 48.96 6970
+-121.448 48.96 6859
+-121.322 48.96 6791
+-121.196 48.96 6709
+-121.07 48.96 6604
+-120.944 48.96 6508
+-120.818 48.96 6357
+-120.692 48.96 6330
+-120.566 48.96 6212
+-120.44 48.96 6131
+-120.314 48.96 5945
+-120.188 48.96 5677
+-120.062 48.96 5793
+-119.936 48.96 5827
+-119.81 48.96 5893
+-119.684 48.96 5920
+-119.558 48.96 6007
+-119.432 48.96 6045
+-119.306 48.96 6064
+-119.18 48.96 6128
+-119.054 48.96 6176
+-118.928 48.96 6199
+-118.802 48.96 6239
+-118.676 48.96 6242
+-118.55 48.96 6256
+-118.424 48.96 6245
+-118.298 48.96 6244
+-118.172 48.96 6224
+-118.046 48.96 6217
+-117.92 48.96 6201
+-117.794 48.96 6181
+-117.668 48.96 6172
+-117.542 48.96 6147
+-117.416 48.96 6118
+-117.29 48.96 6048
+-117.164 48.96 6004
+-117.038 48.96 5973
+-116.912 48.96 5890
+-116.786 48.96 5815
+-116.66 48.96 5756
+-116.534 48.96 5740
+-116.408 48.96 5694
+-116.282 48.96 5657
+-116.156 48.96 5591
+-116.03 48.96 5488
+-115.904 48.96 5345
+-115.778 48.96 5202
+-115.652 48.96 5120
+-115.526 48.96 5031
+-115.4 48.96 4946
+-115.274 48.96 4793
+-115.148 48.96 4688
+-115.022 48.96 4634
+-114.896 48.96 4538
+-114.77 48.96 4460
+-114.644 48.96 4359
+-114.518 48.96 4249
+-114.392 48.96 4135
+-114.266 48.96 4049
+-114.14 48.96 3988
+-114.014 48.96 3953
+-113.888 48.96 3896
+-113.762 48.96 3803
+-113.636 48.96 3659
+-113.51 48.96 3505
+-113.384 48.96 3371
+-113.258 48.96 3205
+-113.132 48.96 3087
+-113.006 48.96 3129
+-112.88 48.96 3232
+-112.754 48.96 3308
+-112.628 48.96 3292
+-112.502 48.96 3298
+-112.376 48.96 3298
+-112.25 48.96 3288
+-112.124 48.96 3274
+-111.998 48.96 3257
+-111.872 48.96 3241
+-111.746 48.96 3214
+-111.62 48.96 3168
+-111.494 48.96 3147
+-111.368 48.96 3143
+-111.242 48.96 3142
+-111.116 48.96 3144
+-110.99 48.96 3147
+-110.864 48.96 3153
+-110.738 48.96 3131
+-110.612 48.96 3139
+-110.486 48.96 3147
+-110.36 48.96 3156
+-110.234 48.96 3131
+-110.108 48.96 3140
+-109.982 48.96 3150
+-109.856 48.96 3159
+-109.73 48.96 3154
+-109.604 48.96 3162
+-109.478 48.96 3170
+-109.352 48.96 3177
+-109.226 48.96 3170
+-109.1 48.96 3177
+-108.974 48.96 3185
+-108.848 48.96 3192
+-108.722 48.96 3184
+-108.596 48.96 3191
+-108.47 48.96 3197
+-108.344 48.96 3203
+-108.218 48.96 3209
+-108.092 48.96 3215
+-107.966 48.96 3221
+-107.84 48.96 3226
+-107.714 48.96 3231
+-107.588 48.96 3236
+-107.462 48.96 3241
+-107.336 48.96 3175
+-107.21 48.96 3165
+-107.084 48.96 3169
+-106.958 48.96 3173
+-106.832 48.96 3177
+-106.706 48.96 3181
+-106.58 48.96 3147
+-106.454 48.96 3143
+-106.328 48.96 3148
+-106.202 48.96 3152
+-106.076 48.96 3133
+-105.95 48.96 3136
+-105.824 48.96 3140
+-105.698 48.96 3143
+-105.572 48.96 3147
+-105.446 48.96 3150
+-105.32 48.96 3153
+-105.194 48.96 3156
+-105.068 48.96 3159
+-104.942 48.96 3162
+-104.816 48.96 3164
+-104.69 48.96 3167
+-104.564 48.96 3169
+-104.438 48.96 3172
+-104.312 48.96 3174
+-104.186 48.96 3146
+-104.06 48.96 3102
+-103.934 48.96 3104
+-103.808 48.96 3106
+-103.682 48.96 3108
+-103.556 48.96 3109
+-103.43 48.96 3111
+-103.304 48.96 3113
+-103.178 48.96 3114
+-103.052 48.96 3116
+-102.926 48.96 3117
+-102.8 48.96 3119
+-102.674 48.96 3120
+-102.548 48.96 3121
+-102.422 48.96 3123
+-102.296 48.96 3098
+-102.17 48.96 3084
+-102.044 48.96 2987
+-101.918 48.96 2944
+-101.792 48.96 2943
+-101.666 48.96 2945
+-101.54 48.96 2890
+-101.414 48.96 2826
+-101.288 48.96 2816
+-101.162 48.96 2816
+-101.036 48.96 2824
+-100.91 48.96 2828
+-100.784 48.96 2831
+-100.658 48.96 2788
+-100.532 48.96 2780
+-100.406 48.96 2829
+-100.28 48.96 2831
+-100.154 48.96 2833
+-100.028 48.96 2898
+-99.902 48.96 2898
+-99.776 48.96 2953
+-99.65 48.96 2951
+-99.524 48.96 2950
+-99.398 48.96 2948
+-99.272 48.96 2947
+-99.146 48.96 2945
+-99.02 48.96 2944
+-98.894 48.96 2942
+-98.768 48.96 2940
+-98.642 48.96 2939
+-98.516 48.96 2937
+-98.39 48.96 2935
+-98.264 48.96 2934
+-98.138 48.96 2932
+-98.012 48.96 2930
+-97.886 48.96 2811
+-97.76 48.96 2809
+-97.634 48.96 2794
+-97.508 48.96 2792
+-97.382 48.96 2790
+-97.256 48.96 2788
+-97.13 48.96 2786
+-97.004 48.96 2784
+-96.878 48.96 2782
+-96.752 48.96 2779
+-96.626 48.96 2777
+-96.5 48.96 2775
+-96.374 48.96 2773
+-96.248 48.96 2770
+-96.122 48.96 2768
+-95.996 48.96 2766
+-95.87 48.96 2763
+-95.744 48.96 2761
+-95.618 48.96 2758
+-95.492 48.96 2756
+-95.366 48.96 2754
+-95.24 48.96 2751
+-95.114 48.96 2748
+-94.988 48.96 2746
+-94.862 48.96 2743
+-94.736 48.96 2741
+-94.61 48.96 2738
+-94.484 48.96 2736
+-94.358 48.96 2733
+-94.232 48.96 2730
+-94.106 48.96 2728
+-93.98 48.96 2725
+-93.854 48.96 2723
+-93.728 48.96 2720
+-93.602 48.96 2718
+-93.476 48.96 2715
+-93.35 48.96 2713
+-93.224 48.96 2710
+-93.098 48.96 2708
+-92.972 48.96 2705
+-92.846 48.96 2703
+-92.72 48.96 2701
+-92.594 48.96 2699
+-92.468 48.96 2697
+-92.342 48.96 2695
+-92.216 48.96 2693
+-92.09 48.96 2691
+-91.964 48.96 2689
+-91.838 48.96 2687
+-91.712 48.96 2685
+-91.586 48.96 2684
+-91.46 48.96 2682
+-91.334 48.96 2681
+-91.208 48.96 2680
+-91.082 48.96 2678
+-90.956 48.96 2677
+-90.83 48.96 2676
+-90.704 48.96 2675
+-90.578 48.96 2674
+-90.452 48.96 2674
+-90.326 48.96 2629
+-90.2 48.96 2628
+-90.074 48.96 2627
+-89.948 48.96 2627
+-89.822 48.96 2626
+-89.696 48.96 2626
+-89.57 48.96 2626
+-89.444 48.96 2626
+-89.318 48.96 2626
+-89.192 48.96 2626
+-89.066 48.96 2626
+-88.94 48.96 2626
+-88.814 48.96 2626
+-88.688 48.96 2626
+-88.562 48.96 2626
+-88.436 48.96 2627
+-88.31 48.96 2627
+-88.184 48.96 2627
+-88.058 48.96 2628
+-87.932 48.96 2628
+-87.806 48.96 2629
+-87.68 48.96 2629
+-87.554 48.96 2630
+-87.428 48.96 2631
+-87.302 48.96 2631
+-87.176 48.96 2632
+-87.05 48.96 2632
+-86.924 48.96 2633
+-86.798 48.96 2634
+-86.672 48.96 2634
+-86.546 48.96 2635
+-86.42 48.96 2636
+-86.294 48.96 2636
+-86.168 48.96 2637
+-86.042 48.96 2638
+-85.916 48.96 2638
+-85.79 48.96 2639
+-85.664 48.96 2640
+-85.538 48.96 2641
+-85.412 48.96 2641
+-85.286 48.96 2642
+-85.16 48.96 2643
+-85.034 48.96 2643
+-84.908 48.96 2644
+-84.782 48.96 2645
+-84.656 48.96 2645
+-84.53 48.96 2646
+-84.404 48.96 2647
+-84.278 48.96 2648
+-84.152 48.96 2648
+-84.026 48.96 2649
+-83.9 48.96 2650
+-83.774 48.96 2650
+-83.648 48.96 2651
+-83.522 48.96 2652
+-83.396 48.96 2652
+-83.27 48.96 2653
+-83.144 48.96 2654
+-83.018 48.96 2654
+-82.892 48.96 2655
+-82.766 48.96 2656
+-82.64 48.96 2656
+-82.514 48.96 2657
+-82.388 48.96 2658
+-82.262 48.96 2658
+-82.136 48.96 2659
+-82.01 48.96 2660
+-81.884 48.96 2660
+-81.758 48.96 2661
+-81.632 48.96 2662
+-81.506 48.96 2673
+-81.38 48.96 2674
+-81.254 48.96 2674
+-81.128 48.96 2675
+-81.002 48.96 2563
+-80.876 48.96 2564
+-80.75 48.96 2564
+-80.624 48.96 2564
+-80.498 48.96 2565
+-80.372 48.96 2565
+-80.246 48.96 2565
+-80.12 48.96 2566
+-79.994 48.96 2566
+-79.868 48.96 2567
+-79.742 48.96 2573
+-79.616 48.96 2581
+-79.49 48.96 2582
+-79.364 48.96 2582
+-79.238 48.96 2583
+-79.112 48.96 2601
+-78.986 48.96 2602
+-78.86 48.96 2602
+-78.734 48.96 2603
+-78.608 48.96 2606
+-78.482 48.96 2736
+-78.356 48.96 2736
+-78.23 48.96 2737
+-78.104 48.96 2744
+-77.978 48.96 2744
+-77.852 48.96 2744
+-77.726 48.96 2763
+-77.6 48.96 2743
+-77.474 48.96 2758
+-77.348 48.96 2758
+-77.222 48.96 2753
+-77.096 48.96 2754
+-76.97 48.96 2754
+-76.844 48.96 2755
+-76.718 48.96 2757
+-76.592 48.96 2845
+-76.466 48.96 2846
+-76.34 48.96 2847
+-76.214 48.96 2847
+-76.088 48.96 2866
+-75.962 48.96 2867
+-75.836 48.96 2846
+-75.71 48.96 2846
+-75.584 48.96 2847
+-75.458 48.96 2847
+-75.332 48.96 2817
+-75.206 48.96 2828
+-75.08 48.96 2828
+-74.954 48.96 2957
+-74.828 48.96 2916
+-74.702 48.96 2916
+-74.576 48.96 3058
+-74.45 48.96 3055
+-74.324 48.96 3014
+-74.198 48.96 3081
+-74.072 48.96 2966
+-73.946 48.96 2998
+-73.82 48.96 3055
+-73.694 48.96 2948
+-73.568 48.96 2956
+-73.442 48.96 2858
+-73.316 48.96 2854
+-73.19 48.96 2871
+-73.064 48.96 2841
+-72.938 48.96 2841
+-72.812 48.96 2842
+-72.686 48.96 2778
+-72.56 48.96 2824
+-72.434 48.96 2815
+-72.308 48.96 2804
+-72.182 48.96 2804
+-72.056 48.96 2805
+-71.93 48.96 2806
+-71.804 48.96 2743
+-71.678 48.96 2738
+-71.552 48.96 2738
+-71.426 48.96 2739
+-71.3 48.96 2740
+-71.174 48.96 2735
+-71.048 48.96 2678
+-70.922 48.96 2784
+-70.796 48.96 2780
+-70.67 48.96 2786
+-70.544 48.96 2786
+-70.418 48.96 2787
+-70.292 48.96 2788
+-70.166 48.96 2814
+-70.04 48.96 2790
+-69.914 48.96 2859
+-69.788 48.96 2860
+-69.662 48.96 2849
+-69.536 48.96 2857
+-69.41 48.96 2858
+-69.284 48.96 2859
+-69.158 48.96 2845
+-69.032 48.96 2962
+-68.906 48.96 2963
+-68.78 48.96 2963
+-68.654 48.96 2964
+-68.528 48.96 3063
+-68.402 48.96 3015
+-68.276 48.96 3163
+-68.15 48.96 3163
+-68.024 48.96 3124
+-67.898 48.96 3125
+-67.772 48.96 3125
+-67.646 48.96 3125
+-67.52 48.96 3126
+-67.394 48.96 3126
+-67.268 48.96 3228
+-67.142 48.96 3223
+-67.016 48.96 3223
+-66.89 48.96 3223
+-66.764 48.96 3224
+-66.638 48.96 3164
+-66.512 48.96 3203
+-66.386 48.96 3203
+-66.26 48.96 3285
+-66.134 48.96 3189
+-66.008 48.96 3189
+-65.882 48.96 3190
+-65.756 48.96 3241
+-65.63 48.96 3192
+-65.504 48.96 3193
+-65.378 48.96 3193
+-65.252 48.96 3420
+-65.126 48.96 3363
+-128 48.908 4139
+-127.874 48.908 4030
+-127.748 48.908 3888
+-127.622 48.908 4081
+-127.496 48.908 4317
+-127.37 48.908 4461
+-127.244 48.908 4545
+-127.118 48.908 4566
+-126.992 48.908 4629
+-126.866 48.908 4759
+-126.74 48.908 4907
+-126.614 48.908 5036
+-126.488 48.908 5258
+-126.362 48.908 5515
+-126.236 48.908 5596
+-126.11 48.908 5689
+-125.984 48.908 5721
+-125.858 48.908 5787
+-125.732 48.908 5848
+-125.606 48.908 5962
+-125.48 48.908 6126
+-125.354 48.908 6281
+-125.228 48.908 6291
+-125.102 48.908 6375
+-124.976 48.908 6495
+-124.85 48.908 6649
+-124.724 48.908 6692
+-124.598 48.908 6862
+-124.472 48.908 6931
+-124.346 48.908 7007
+-124.22 48.908 7100
+-124.094 48.908 7154
+-123.968 48.908 7200
+-123.842 48.908 7304
+-123.716 48.908 7315
+-123.59 48.908 7404
+-123.464 48.908 7424
+-123.338 48.908 7497
+-123.212 48.908 7456
+-123.086 48.908 7477
+-122.96 48.908 7507
+-122.834 48.908 7506
+-122.708 48.908 7489
+-122.582 48.908 7475
+-122.456 48.908 7422
+-122.33 48.908 7384
+-122.204 48.908 7342
+-122.078 48.908 7306
+-121.952 48.908 7236
+-121.826 48.908 7180
+-121.7 48.908 7078
+-121.574 48.908 6992
+-121.448 48.908 6917
+-121.322 48.908 6813
+-121.196 48.908 6780
+-121.07 48.908 6646
+-120.944 48.908 6558
+-120.818 48.908 6421
+-120.692 48.908 6306
+-120.566 48.908 6184
+-120.44 48.908 6107
+-120.314 48.908 6035
+-120.188 48.908 5698
+-120.062 48.908 5807
+-119.936 48.908 5860
+-119.81 48.908 5945
+-119.684 48.908 5998
+-119.558 48.908 6057
+-119.432 48.908 6093
+-119.306 48.908 6149
+-119.18 48.908 6200
+-119.054 48.908 6238
+-118.928 48.908 6264
+-118.802 48.908 6284
+-118.676 48.908 6303
+-118.55 48.908 6285
+-118.424 48.908 6301
+-118.298 48.908 6283
+-118.172 48.908 6271
+-118.046 48.908 6276
+-117.92 48.908 6271
+-117.794 48.908 6251
+-117.668 48.908 6216
+-117.542 48.908 6189
+-117.416 48.908 6157
+-117.29 48.908 6126
+-117.164 48.908 6058
+-117.038 48.908 6023
+-116.912 48.908 5954
+-116.786 48.908 5885
+-116.66 48.908 5809
+-116.534 48.908 5762
+-116.408 48.908 5678
+-116.282 48.908 5694
+-116.156 48.908 5641
+-116.03 48.908 5532
+-115.904 48.908 5397
+-115.778 48.908 5267
+-115.652 48.908 5130
+-115.526 48.908 5065
+-115.4 48.908 4998
+-115.274 48.908 4895
+-115.148 48.908 4769
+-115.022 48.908 4652
+-114.896 48.908 4538
+-114.77 48.908 4485
+-114.644 48.908 4418
+-114.518 48.908 4308
+-114.392 48.908 4170
+-114.266 48.908 4026
+-114.14 48.908 3970
+-114.014 48.908 3936
+-113.888 48.908 3909
+-113.762 48.908 3839
+-113.636 48.908 3725
+-113.51 48.908 3586
+-113.384 48.908 3399
+-113.258 48.908 3113
+-113.132 48.908 2947
+-113.006 48.908 3063
+-112.88 48.908 3206
+-112.754 48.908 3300
+-112.628 48.908 3334
+-112.502 48.908 3351
+-112.376 48.908 3288
+-112.25 48.908 3272
+-112.124 48.908 3251
+-111.998 48.908 3229
+-111.872 48.908 3197
+-111.746 48.908 3146
+-111.62 48.908 3122
+-111.494 48.908 3115
+-111.368 48.908 3112
+-111.242 48.908 3114
+-111.116 48.908 3118
+-110.99 48.908 3124
+-110.864 48.908 3104
+-110.738 48.908 3114
+-110.612 48.908 3125
+-110.486 48.908 3135
+-110.36 48.908 3112
+-110.234 48.908 3123
+-110.108 48.908 3134
+-109.982 48.908 3145
+-109.856 48.908 3142
+-109.73 48.908 3151
+-109.604 48.908 3160
+-109.478 48.908 3168
+-109.352 48.908 3161
+-109.226 48.908 3170
+-109.1 48.908 3178
+-108.974 48.908 3185
+-108.848 48.908 3178
+-108.722 48.908 3185
+-108.596 48.908 3192
+-108.47 48.908 3199
+-108.344 48.908 3205
+-108.218 48.908 3212
+-108.092 48.908 3217
+-107.966 48.908 3223
+-107.84 48.908 3228
+-107.714 48.908 3233
+-107.588 48.908 3238
+-107.462 48.908 3173
+-107.336 48.908 3163
+-107.21 48.908 3167
+-107.084 48.908 3171
+-106.958 48.908 3175
+-106.832 48.908 3179
+-106.706 48.908 3145
+-106.58 48.908 3142
+-106.454 48.908 3147
+-106.328 48.908 3151
+-106.202 48.908 3132
+-106.076 48.908 3136
+-105.95 48.908 3139
+-105.824 48.908 3143
+-105.698 48.908 3146
+-105.572 48.908 3149
+-105.446 48.908 3153
+-105.32 48.908 3156
+-105.194 48.908 3159
+-105.068 48.908 3161
+-104.942 48.908 3164
+-104.816 48.908 3167
+-104.69 48.908 3169
+-104.564 48.908 3172
+-104.438 48.908 3174
+-104.312 48.908 3145
+-104.186 48.908 3102
+-104.06 48.908 3104
+-103.934 48.908 3106
+-103.808 48.908 3108
+-103.682 48.908 3109
+-103.556 48.908 3111
+-103.43 48.908 3113
+-103.304 48.908 3114
+-103.178 48.908 3116
+-103.052 48.908 3117
+-102.926 48.908 3119
+-102.8 48.908 3120
+-102.674 48.908 3122
+-102.548 48.908 3123
+-102.422 48.908 3097
+-102.296 48.908 3099
+-102.17 48.908 3073
+-102.044 48.908 2985
+-101.918 48.908 2945
+-101.792 48.908 2943
+-101.666 48.908 2941
+-101.54 48.908 2879
+-101.414 48.908 2816
+-101.288 48.908 2815
+-101.162 48.908 2823
+-101.036 48.908 2826
+-100.91 48.908 2829
+-100.784 48.908 2837
+-100.658 48.908 2802
+-100.532 48.908 2804
+-100.406 48.908 2830
+-100.28 48.908 2832
+-100.154 48.908 2915
+-100.028 48.908 2899
+-99.902 48.908 2954
+-99.776 48.908 2953
+-99.65 48.908 2951
+-99.524 48.908 2950
+-99.398 48.908 2948
+-99.272 48.908 2947
+-99.146 48.908 2945
+-99.02 48.908 2944
+-98.894 48.908 2942
+-98.768 48.908 2940
+-98.642 48.908 2939
+-98.516 48.908 2937
+-98.39 48.908 2935
+-98.264 48.908 2933
+-98.138 48.908 2932
+-98.012 48.908 2930
+-97.886 48.908 2928
+-97.76 48.908 2809
+-97.634 48.908 2807
+-97.508 48.908 2792
+-97.382 48.908 2790
+-97.256 48.908 2788
+-97.13 48.908 2786
+-97.004 48.908 2784
+-96.878 48.908 2782
+-96.752 48.908 2779
+-96.626 48.908 2777
+-96.5 48.908 2775
+-96.374 48.908 2772
+-96.248 48.908 2770
+-96.122 48.908 2768
+-95.996 48.908 2765
+-95.87 48.908 2763
+-95.744 48.908 2760
+-95.618 48.908 2758
+-95.492 48.908 2755
+-95.366 48.908 2753
+-95.24 48.908 2750
+-95.114 48.908 2748
+-94.988 48.908 2745
+-94.862 48.908 2742
+-94.736 48.908 2740
+-94.61 48.908 2737
+-94.484 48.908 2734
+-94.358 48.908 2732
+-94.232 48.908 2729
+-94.106 48.908 2726
+-93.98 48.908 2724
+-93.854 48.908 2721
+-93.728 48.908 2718
+-93.602 48.908 2716
+-93.476 48.908 2713
+-93.35 48.908 2710
+-93.224 48.908 2708
+-93.098 48.908 2705
+-92.972 48.908 2703
+-92.846 48.908 2701
+-92.72 48.908 2698
+-92.594 48.908 2696
+-92.468 48.908 2694
+-92.342 48.908 2692
+-92.216 48.908 2690
+-92.09 48.908 2688
+-91.964 48.908 2686
+-91.838 48.908 2684
+-91.712 48.908 2682
+-91.586 48.908 2680
+-91.46 48.908 2679
+-91.334 48.908 2677
+-91.208 48.908 2676
+-91.082 48.908 2675
+-90.956 48.908 2674
+-90.83 48.908 2673
+-90.704 48.908 2672
+-90.578 48.908 2671
+-90.452 48.908 2670
+-90.326 48.908 2625
+-90.2 48.908 2625
+-90.074 48.908 2624
+-89.948 48.908 2624
+-89.822 48.908 2623
+-89.696 48.908 2623
+-89.57 48.908 2623
+-89.444 48.908 2623
+-89.318 48.908 2623
+-89.192 48.908 2623
+-89.066 48.908 2623
+-88.94 48.908 2623
+-88.814 48.908 2623
+-88.688 48.908 2623
+-88.562 48.908 2624
+-88.436 48.908 2624
+-88.31 48.908 2624
+-88.184 48.908 2625
+-88.058 48.908 2625
+-87.932 48.908 2626
+-87.806 48.908 2626
+-87.68 48.908 2627
+-87.554 48.908 2628
+-87.428 48.908 2628
+-87.302 48.908 2629
+-87.176 48.908 2630
+-87.05 48.908 2630
+-86.924 48.908 2631
+-86.798 48.908 2632
+-86.672 48.908 2632
+-86.546 48.908 2633
+-86.42 48.908 2634
+-86.294 48.908 2634
+-86.168 48.908 2635
+-86.042 48.908 2636
+-85.916 48.908 2637
+-85.79 48.908 2637
+-85.664 48.908 2638
+-85.538 48.908 2639
+-85.412 48.908 2640
+-85.286 48.908 2640
+-85.16 48.908 2641
+-85.034 48.908 2642
+-84.908 48.908 2643
+-84.782 48.908 2643
+-84.656 48.908 2644
+-84.53 48.908 2645
+-84.404 48.908 2645
+-84.278 48.908 2646
+-84.152 48.908 2647
+-84.026 48.908 2648
+-83.9 48.908 2648
+-83.774 48.908 2649
+-83.648 48.908 2650
+-83.522 48.908 2650
+-83.396 48.908 2651
+-83.27 48.908 2652
+-83.144 48.908 2652
+-83.018 48.908 2653
+-82.892 48.908 2654
+-82.766 48.908 2654
+-82.64 48.908 2655
+-82.514 48.908 2656
+-82.388 48.908 2657
+-82.262 48.908 2657
+-82.136 48.908 2658
+-82.01 48.908 2659
+-81.884 48.908 2659
+-81.758 48.908 2660
+-81.632 48.908 2671
+-81.506 48.908 2672
+-81.38 48.908 2673
+-81.254 48.908 2673
+-81.128 48.908 2562
+-81.002 48.908 2562
+-80.876 48.908 2563
+-80.75 48.908 2563
+-80.624 48.908 2563
+-80.498 48.908 2564
+-80.372 48.908 2564
+-80.246 48.908 2565
+-80.12 48.908 2565
+-79.994 48.908 2565
+-79.868 48.908 2572
+-79.742 48.908 2580
+-79.616 48.908 2581
+-79.49 48.908 2581
+-79.364 48.908 2582
+-79.238 48.908 2600
+-79.112 48.908 2601
+-78.986 48.908 2601
+-78.86 48.908 2602
+-78.734 48.908 2605
+-78.608 48.908 2735
+-78.482 48.908 2735
+-78.356 48.908 2735
+-78.23 48.908 2742
+-78.104 48.908 2743
+-77.978 48.908 2743
+-77.852 48.908 2761
+-77.726 48.908 2741
+-77.6 48.908 2756
+-77.474 48.908 2757
+-77.348 48.908 2752
+-77.222 48.908 2753
+-77.096 48.908 2753
+-76.97 48.908 2754
+-76.844 48.908 2755
+-76.718 48.908 2844
+-76.592 48.908 2845
+-76.466 48.908 2845
+-76.34 48.908 2846
+-76.214 48.908 2865
+-76.088 48.908 2866
+-75.962 48.908 2844
+-75.836 48.908 2845
+-75.71 48.908 2846
+-75.584 48.908 2846
+-75.458 48.908 2816
+-75.332 48.908 2827
+-75.206 48.908 2827
+-75.08 48.908 2956
+-74.954 48.908 2915
+-74.828 48.908 2915
+-74.702 48.908 3057
+-74.576 48.908 3053
+-74.45 48.908 3013
+-74.324 48.908 3080
+-74.198 48.908 2964
+-74.072 48.908 2997
+-73.946 48.908 3054
+-73.82 48.908 2947
+-73.694 48.908 2955
+-73.568 48.908 2857
+-73.442 48.908 2853
+-73.316 48.908 2870
+-73.19 48.908 2840
+-73.064 48.908 2840
+-72.938 48.908 2841
+-72.812 48.908 2777
+-72.686 48.908 2823
+-72.56 48.908 2814
+-72.434 48.908 2803
+-72.308 48.908 2803
+-72.182 48.908 2804
+-72.056 48.908 2805
+-71.93 48.908 2742
+-71.804 48.908 2737
+-71.678 48.908 2738
+-71.552 48.908 2738
+-71.426 48.908 2739
+-71.3 48.908 2735
+-71.174 48.908 2678
+-71.048 48.908 2784
+-70.922 48.908 2779
+-70.796 48.908 2785
+-70.67 48.908 2786
+-70.544 48.908 2786
+-70.418 48.908 2787
+-70.292 48.908 2814
+-70.166 48.908 2790
+-70.04 48.908 2858
+-69.914 48.908 2859
+-69.788 48.908 2849
+-69.662 48.908 2857
+-69.536 48.908 2858
+-69.41 48.908 2858
+-69.284 48.908 2845
+-69.158 48.908 2961
+-69.032 48.908 2962
+-68.906 48.908 2963
+-68.78 48.908 2963
+-68.654 48.908 3063
+-68.528 48.908 3014
+-68.402 48.908 3163
+-68.276 48.908 3163
+-68.15 48.908 3124
+-68.024 48.908 3124
+-67.898 48.908 3125
+-67.772 48.908 3125
+-67.646 48.908 3125
+-67.52 48.908 3126
+-67.394 48.908 3228
+-67.268 48.908 3222
+-67.142 48.908 3223
+-67.016 48.908 3223
+-66.89 48.908 3223
+-66.764 48.908 3164
+-66.638 48.908 3202
+-66.512 48.908 3203
+-66.386 48.908 3284
+-66.26 48.908 3189
+-66.134 48.908 3189
+-66.008 48.908 3189
+-65.882 48.908 3241
+-65.756 48.908 3192
+-65.63 48.908 3192
+-65.504 48.908 3193
+-65.378 48.908 3419
+-65.252 48.908 3362
+-65.126 48.908 3363
+-128 48.856 4157
+-127.874 48.856 4069
+-127.748 48.856 4009
+-127.622 48.856 4125
+-127.496 48.856 4339
+-127.37 48.856 4491
+-127.244 48.856 4554
+-127.118 48.856 4532
+-126.992 48.856 4672
+-126.866 48.856 4809
+-126.74 48.856 4945
+-126.614 48.856 5057
+-126.488 48.856 5313
+-126.362 48.856 5549
+-126.236 48.856 5635
+-126.11 48.856 5696
+-125.984 48.856 5756
+-125.858 48.856 5824
+-125.732 48.856 5905
+-125.606 48.856 5965
+-125.48 48.856 6123
+-125.354 48.856 6278
+-125.228 48.856 6385
+-125.102 48.856 6458
+-124.976 48.856 6559
+-124.85 48.856 6705
+-124.724 48.856 6831
+-124.598 48.856 6911
+-124.472 48.856 6994
+-124.346 48.856 7073
+-124.22 48.856 7098
+-124.094 48.856 7207
+-123.968 48.856 7294
+-123.842 48.856 7310
+-123.716 48.856 7382
+-123.59 48.856 7412
+-123.464 48.856 7462
+-123.338 48.856 7483
+-123.212 48.856 7525
+-123.086 48.856 7547
+-122.96 48.856 7543
+-122.834 48.856 7556
+-122.708 48.856 7530
+-122.582 48.856 7514
+-122.456 48.856 7468
+-122.33 48.856 7437
+-122.204 48.856 7372
+-122.078 48.856 7343
+-121.952 48.856 7286
+-121.826 48.856 7157
+-121.7 48.856 7144
+-121.574 48.856 7054
+-121.448 48.856 7024
+-121.322 48.856 6859
+-121.196 48.856 6785
+-121.07 48.856 6631
+-120.944 48.856 6561
+-120.818 48.856 6442
+-120.692 48.856 6376
+-120.566 48.856 6227
+-120.44 48.856 6143
+-120.314 48.856 6081
+-120.188 48.856 5761
+-120.062 48.856 5887
+-119.936 48.856 5912
+-119.81 48.856 5979
+-119.684 48.856 6066
+-119.558 48.856 6089
+-119.432 48.856 6145
+-119.306 48.856 6222
+-119.18 48.856 6254
+-119.054 48.856 6270
+-118.928 48.856 6311
+-118.802 48.856 6346
+-118.676 48.856 6350
+-118.55 48.856 6358
+-118.424 48.856 6354
+-118.298 48.856 6362
+-118.172 48.856 6354
+-118.046 48.856 6330
+-117.92 48.856 6315
+-117.794 48.856 6289
+-117.668 48.856 6270
+-117.542 48.856 6268
+-117.416 48.856 6213
+-117.29 48.856 6183
+-117.164 48.856 6139
+-117.038 48.856 6067
+-116.912 48.856 6011
+-116.786 48.856 5945
+-116.66 48.856 5875
+-116.534 48.856 5795
+-116.408 48.856 5747
+-116.282 48.856 5714
+-116.156 48.856 5686
+-116.03 48.856 5581
+-115.904 48.856 5458
+-115.778 48.856 5325
+-115.652 48.856 5199
+-115.526 48.856 5066
+-115.4 48.856 4975
+-115.274 48.856 4952
+-115.148 48.856 4818
+-115.022 48.856 4679
+-114.896 48.856 4543
+-114.77 48.856 4496
+-114.644 48.856 4447
+-114.518 48.856 4358
+-114.392 48.856 4221
+-114.266 48.856 4081
+-114.14 48.856 3970
+-114.014 48.856 3860
+-113.888 48.856 3899
+-113.762 48.856 3860
+-113.636 48.856 3774
+-113.51 48.856 3656
+-113.384 48.856 3483
+-113.258 48.856 3217
+-113.132 48.856 3087
+-113.006 48.856 3151
+-112.88 48.856 3268
+-112.754 48.856 3322
+-112.628 48.856 3340
+-112.502 48.856 3349
+-112.376 48.856 3339
+-112.25 48.856 3249
+-112.124 48.856 3214
+-111.998 48.856 3179
+-111.872 48.856 3121
+-111.746 48.856 3090
+-111.62 48.856 3077
+-111.494 48.856 3072
+-111.368 48.856 3073
+-111.242 48.856 3078
+-111.116 48.856 3087
+-110.99 48.856 3069
+-110.864 48.856 3082
+-110.738 48.856 3096
+-110.612 48.856 3109
+-110.486 48.856 3089
+-110.36 48.856 3102
+-110.234 48.856 3115
+-110.108 48.856 3128
+-109.982 48.856 3127
+-109.856 48.856 3138
+-109.73 48.856 3148
+-109.604 48.856 3157
+-109.478 48.856 3151
+-109.352 48.856 3161
+-109.226 48.856 3170
+-109.1 48.856 3178
+-108.974 48.856 3171
+-108.848 48.856 3179
+-108.722 48.856 3187
+-108.596 48.856 3194
+-108.47 48.856 3201
+-108.344 48.856 3208
+-108.218 48.856 3214
+-108.092 48.856 3220
+-107.966 48.856 3225
+-107.84 48.856 3231
+-107.714 48.856 3236
+-107.588 48.856 3170
+-107.462 48.856 3160
+-107.336 48.856 3165
+-107.21 48.856 3170
+-107.084 48.856 3174
+-106.958 48.856 3178
+-106.832 48.856 3143
+-106.706 48.856 3141
+-106.58 48.856 3145
+-106.454 48.856 3150
+-106.328 48.856 3131
+-106.202 48.856 3135
+-106.076 48.856 3138
+-105.95 48.856 3142
+-105.824 48.856 3146
+-105.698 48.856 3149
+-105.572 48.856 3152
+-105.446 48.856 3155
+-105.32 48.856 3158
+-105.194 48.856 3161
+-105.068 48.856 3164
+-104.942 48.856 3167
+-104.816 48.856 3169
+-104.69 48.856 3172
+-104.564 48.856 3174
+-104.438 48.856 3145
+-104.312 48.856 3102
+-104.186 48.856 3104
+-104.06 48.856 3106
+-103.934 48.856 3108
+-103.808 48.856 3109
+-103.682 48.856 3111
+-103.556 48.856 3113
+-103.43 48.856 3114
+-103.304 48.856 3116
+-103.178 48.856 3117
+-103.052 48.856 3119
+-102.926 48.856 3120
+-102.8 48.856 3122
+-102.674 48.856 3123
+-102.548 48.856 3124
+-102.422 48.856 3099
+-102.296 48.856 3073
+-102.17 48.856 3074
+-102.044 48.856 2986
+-101.918 48.856 2946
+-101.792 48.856 2942
+-101.666 48.856 2879
+-101.54 48.856 2859
+-101.414 48.856 2817
+-101.288 48.856 2822
+-101.162 48.856 2824
+-101.036 48.856 2827
+-100.91 48.856 2836
+-100.784 48.856 2827
+-100.658 48.856 2799
+-100.532 48.856 2801
+-100.406 48.856 2845
+-100.28 48.856 2846
+-100.154 48.856 2915
+-100.028 48.856 2928
+-99.902 48.856 2955
+-99.776 48.856 2953
+-99.65 48.856 2952
+-99.524 48.856 2950
+-99.398 48.856 2949
+-99.272 48.856 2947
+-99.146 48.856 2945
+-99.02 48.856 2944
+-98.894 48.856 2942
+-98.768 48.856 2940
+-98.642 48.856 2939
+-98.516 48.856 2937
+-98.39 48.856 2935
+-98.264 48.856 2933
+-98.138 48.856 2932
+-98.012 48.856 2930
+-97.886 48.856 2928
+-97.76 48.856 2926
+-97.634 48.856 2807
+-97.508 48.856 2805
+-97.382 48.856 2790
+-97.256 48.856 2788
+-97.13 48.856 2786
+-97.004 48.856 2784
+-96.878 48.856 2782
+-96.752 48.856 2779
+-96.626 48.856 2777
+-96.5 48.856 2775
+-96.374 48.856 2772
+-96.248 48.856 2770
+-96.122 48.856 2767
+-95.996 48.856 2765
+-95.87 48.856 2762
+-95.744 48.856 2760
+-95.618 48.856 2757
+-95.492 48.856 2755
+-95.366 48.856 2752
+-95.24 48.856 2749
+-95.114 48.856 2747
+-94.988 48.856 2744
+-94.862 48.856 2741
+-94.736 48.856 2738
+-94.61 48.856 2736
+-94.484 48.856 2733
+-94.358 48.856 2730
+-94.232 48.856 2727
+-94.106 48.856 2725
+-93.98 48.856 2722
+-93.854 48.856 2719
+-93.728 48.856 2716
+-93.602 48.856 2714
+-93.476 48.856 2711
+-93.35 48.856 2708
+-93.224 48.856 2706
+-93.098 48.856 2703
+-92.972 48.856 2700
+-92.846 48.856 2698
+-92.72 48.856 2696
+-92.594 48.856 2693
+-92.468 48.856 2691
+-92.342 48.856 2689
+-92.216 48.856 2687
+-92.09 48.856 2684
+-91.964 48.856 2682
+-91.838 48.856 2681
+-91.712 48.856 2679
+-91.586 48.856 2677
+-91.46 48.856 2675
+-91.334 48.856 2674
+-91.208 48.856 2673
+-91.082 48.856 2671
+-90.956 48.856 2670
+-90.83 48.856 2669
+-90.704 48.856 2668
+-90.578 48.856 2667
+-90.452 48.856 2667
+-90.326 48.856 2622
+-90.2 48.856 2621
+-90.074 48.856 2621
+-89.948 48.856 2620
+-89.822 48.856 2620
+-89.696 48.856 2620
+-89.57 48.856 2620
+-89.444 48.856 2619
+-89.318 48.856 2619
+-89.192 48.856 2619
+-89.066 48.856 2620
+-88.94 48.856 2620
+-88.814 48.856 2620
+-88.688 48.856 2620
+-88.562 48.856 2621
+-88.436 48.856 2621
+-88.31 48.856 2622
+-88.184 48.856 2622
+-88.058 48.856 2623
+-87.932 48.856 2623
+-87.806 48.856 2624
+-87.68 48.856 2624
+-87.554 48.856 2625
+-87.428 48.856 2626
+-87.302 48.856 2627
+-87.176 48.856 2627
+-87.05 48.856 2628
+-86.924 48.856 2629
+-86.798 48.856 2629
+-86.672 48.856 2630
+-86.546 48.856 2631
+-86.42 48.856 2632
+-86.294 48.856 2633
+-86.168 48.856 2633
+-86.042 48.856 2634
+-85.916 48.856 2635
+-85.79 48.856 2636
+-85.664 48.856 2636
+-85.538 48.856 2637
+-85.412 48.856 2638
+-85.286 48.856 2639
+-85.16 48.856 2639
+-85.034 48.856 2640
+-84.908 48.856 2641
+-84.782 48.856 2642
+-84.656 48.856 2642
+-84.53 48.856 2643
+-84.404 48.856 2644
+-84.278 48.856 2645
+-84.152 48.856 2645
+-84.026 48.856 2646
+-83.9 48.856 2647
+-83.774 48.856 2648
+-83.648 48.856 2648
+-83.522 48.856 2649
+-83.396 48.856 2650
+-83.27 48.856 2650
+-83.144 48.856 2651
+-83.018 48.856 2652
+-82.892 48.856 2653
+-82.766 48.856 2653
+-82.64 48.856 2654
+-82.514 48.856 2655
+-82.388 48.856 2655
+-82.262 48.856 2656
+-82.136 48.856 2657
+-82.01 48.856 2658
+-81.884 48.856 2658
+-81.758 48.856 2669
+-81.632 48.856 2670
+-81.506 48.856 2671
+-81.38 48.856 2672
+-81.254 48.856 2561
+-81.128 48.856 2561
+-81.002 48.856 2561
+-80.876 48.856 2562
+-80.75 48.856 2562
+-80.624 48.856 2563
+-80.498 48.856 2563
+-80.372 48.856 2563
+-80.246 48.856 2564
+-80.12 48.856 2564
+-79.994 48.856 2571
+-79.868 48.856 2579
+-79.742 48.856 2579
+-79.616 48.856 2580
+-79.49 48.856 2580
+-79.364 48.856 2599
+-79.238 48.856 2599
+-79.112 48.856 2600
+-78.986 48.856 2600
+-78.86 48.856 2604
+-78.734 48.856 2734
+-78.608 48.856 2734
+-78.482 48.856 2734
+-78.356 48.856 2741
+-78.23 48.856 2741
+-78.104 48.856 2742
+-77.978 48.856 2760
+-77.852 48.856 2740
+-77.726 48.856 2755
+-77.6 48.856 2756
+-77.474 48.856 2751
+-77.348 48.856 2751
+-77.222 48.856 2752
+-77.096 48.856 2752
+-76.97 48.856 2754
+-76.844 48.856 2843
+-76.718 48.856 2843
+-76.592 48.856 2844
+-76.466 48.856 2844
+-76.34 48.856 2864
+-76.214 48.856 2864
+-76.088 48.856 2843
+-75.962 48.856 2844
+-75.836 48.856 2844
+-75.71 48.856 2845
+-75.584 48.856 2815
+-75.458 48.856 2825
+-75.332 48.856 2826
+-75.206 48.856 2955
+-75.08 48.856 2913
+-74.954 48.856 2914
+-74.828 48.856 3055
+-74.702 48.856 3052
+-74.576 48.856 3012
+-74.45 48.856 3078
+-74.324 48.856 2963
+-74.198 48.856 2996
+-74.072 48.856 3052
+-73.946 48.856 2946
+-73.82 48.856 2953
+-73.694 48.856 2856
+-73.568 48.856 2852
+-73.442 48.856 2869
+-73.316 48.856 2839
+-73.19 48.856 2839
+-73.064 48.856 2840
+-72.938 48.856 2777
+-72.812 48.856 2822
+-72.686 48.856 2813
+-72.56 48.856 2802
+-72.434 48.856 2803
+-72.308 48.856 2803
+-72.182 48.856 2804
+-72.056 48.856 2742
+-71.93 48.856 2736
+-71.804 48.856 2737
+-71.678 48.856 2738
+-71.552 48.856 2738
+-71.426 48.856 2734
+-71.3 48.856 2677
+-71.174 48.856 2783
+-71.048 48.856 2778
+-70.922 48.856 2785
+-70.796 48.856 2785
+-70.67 48.856 2786
+-70.544 48.856 2786
+-70.418 48.856 2813
+-70.292 48.856 2789
+-70.166 48.856 2858
+-70.04 48.856 2858
+-69.914 48.856 2848
+-69.788 48.856 2856
+-69.662 48.856 2857
+-69.536 48.856 2858
+-69.41 48.856 2844
+-69.284 48.856 2961
+-69.158 48.856 2962
+-69.032 48.856 2962
+-68.906 48.856 2963
+-68.78 48.856 3062
+-68.654 48.856 3014
+-68.528 48.856 3162
+-68.402 48.856 3163
+-68.276 48.856 3124
+-68.15 48.856 3124
+-68.024 48.856 3124
+-67.898 48.856 3125
+-67.772 48.856 3125
+-67.646 48.856 3125
+-67.52 48.856 3227
+-67.394 48.856 3222
+-67.268 48.856 3222
+-67.142 48.856 3223
+-67.016 48.856 3223
+-66.89 48.856 3163
+-66.764 48.856 3202
+-66.638 48.856 3203
+-66.512 48.856 3284
+-66.386 48.856 3188
+-66.26 48.856 3189
+-66.134 48.856 3189
+-66.008 48.856 3240
+-65.882 48.856 3191
+-65.756 48.856 3192
+-65.63 48.856 3192
+-65.504 48.856 3419
+-65.378 48.856 3362
+-65.252 48.856 3362
+-65.126 48.856 3497
+-128 48.804 4211
+-127.874 48.804 4149
+-127.748 48.804 4126
+-127.622 48.804 4239
+-127.496 48.804 4401
+-127.37 48.804 4509
+-127.244 48.804 4552
+-127.118 48.804 4637
+-126.992 48.804 4760
+-126.866 48.804 4847
+-126.74 48.804 4973
+-126.614 48.804 5071
+-126.488 48.804 5354
+-126.362 48.804 5569
+-126.236 48.804 5630
+-126.11 48.804 5572
+-125.984 48.804 5757
+-125.858 48.804 5794
+-125.732 48.804 5991
+-125.606 48.804 5975
+-125.48 48.804 6157
+-125.354 48.804 6323
+-125.228 48.804 6425
+-125.102 48.804 6551
+-124.976 48.804 6606
+-124.85 48.804 6763
+-124.724 48.804 6891
+-124.598 48.804 6959
+-124.472 48.804 7019
+-124.346 48.804 7048
+-124.22 48.804 7167
+-124.094 48.804 7245
+-123.968 48.804 7318
+-123.842 48.804 7417
+-123.716 48.804 7493
+-123.59 48.804 7501
+-123.464 48.804 7556
+-123.338 48.804 7573
+-123.212 48.804 7602
+-123.086 48.804 7635
+-122.96 48.804 7609
+-122.834 48.804 7611
+-122.708 48.804 7607
+-122.582 48.804 7570
+-122.456 48.804 7569
+-122.33 48.804 7511
+-122.204 48.804 7451
+-122.078 48.804 7389
+-121.952 48.804 7356
+-121.826 48.804 7232
+-121.7 48.804 7188
+-121.574 48.804 7111
+-121.448 48.804 7005
+-121.322 48.804 6933
+-121.196 48.804 6820
+-121.07 48.804 6698
+-120.944 48.804 6565
+-120.818 48.804 6447
+-120.692 48.804 6413
+-120.566 48.804 6364
+-120.44 48.804 6176
+-120.314 48.804 6143
+-120.188 48.804 5834
+-120.062 48.804 5906
+-119.936 48.804 5979
+-119.81 48.804 6068
+-119.684 48.804 6119
+-119.558 48.804 6158
+-119.432 48.804 6187
+-119.306 48.804 6253
+-119.18 48.804 6268
+-119.054 48.804 6320
+-118.928 48.804 6338
+-118.802 48.804 6368
+-118.676 48.804 6382
+-118.55 48.804 6391
+-118.424 48.804 6407
+-118.298 48.804 6401
+-118.172 48.804 6398
+-118.046 48.804 6397
+-117.92 48.804 6363
+-117.794 48.804 6354
+-117.668 48.804 6335
+-117.542 48.804 6306
+-117.416 48.804 6263
+-117.29 48.804 6188
+-117.164 48.804 6173
+-117.038 48.804 6138
+-116.912 48.804 6038
+-116.786 48.804 5956
+-116.66 48.804 5898
+-116.534 48.804 5827
+-116.408 48.804 5730
+-116.282 48.804 5661
+-116.156 48.804 5701
+-116.03 48.804 5606
+-115.904 48.804 5477
+-115.778 48.804 5364
+-115.652 48.804 5294
+-115.526 48.804 5138
+-115.4 48.804 5034
+-115.274 48.804 4993
+-115.148 48.804 4868
+-115.022 48.804 4699
+-114.896 48.804 4567
+-114.77 48.804 4488
+-114.644 48.804 4440
+-114.518 48.804 4361
+-114.392 48.804 4258
+-114.266 48.804 4144
+-114.14 48.804 4038
+-114.014 48.804 3945
+-113.888 48.804 3922
+-113.762 48.804 3875
+-113.636 48.804 3803
+-113.51 48.804 3717
+-113.384 48.804 3573
+-113.258 48.804 3408
+-113.132 48.804 3318
+-113.006 48.804 3316
+-112.88 48.804 3357
+-112.754 48.804 3373
+-112.628 48.804 3387
+-112.502 48.804 3345
+-112.376 48.804 3319
+-112.25 48.804 3282
+-112.124 48.804 3163
+-111.998 48.804 3113
+-111.872 48.804 3051
+-111.746 48.804 3030
+-111.62 48.804 3019
+-111.494 48.804 3018
+-111.368 48.804 3024
+-111.242 48.804 3036
+-111.116 48.804 3022
+-110.99 48.804 3040
+-110.864 48.804 3058
+-110.738 48.804 3076
+-110.612 48.804 3059
+-110.486 48.804 3076
+-110.36 48.804 3092
+-110.234 48.804 3107
+-110.108 48.804 3109
+-109.982 48.804 3122
+-109.856 48.804 3134
+-109.73 48.804 3145
+-109.604 48.804 3140
+-109.478 48.804 3151
+-109.352 48.804 3161
+-109.226 48.804 3170
+-109.1 48.804 3164
+-108.974 48.804 3173
+-108.848 48.804 3181
+-108.722 48.804 3189
+-108.596 48.804 3196
+-108.47 48.804 3203
+-108.344 48.804 3210
+-108.218 48.804 3216
+-108.092 48.804 3222
+-107.966 48.804 3228
+-107.84 48.804 3233
+-107.714 48.804 3168
+-107.588 48.804 3158
+-107.462 48.804 3163
+-107.336 48.804 3168
+-107.21 48.804 3172
+-107.084 48.804 3177
+-106.958 48.804 3142
+-106.832 48.804 3139
+-106.706 48.804 3144
+-106.58 48.804 3149
+-106.454 48.804 3130
+-106.328 48.804 3134
+-106.202 48.804 3138
+-106.076 48.804 3142
+-105.95 48.804 3145
+-105.824 48.804 3149
+-105.698 48.804 3152
+-105.572 48.804 3155
+-105.446 48.804 3158
+-105.32 48.804 3161
+-105.194 48.804 3164
+-105.068 48.804 3167
+-104.942 48.804 3169
+-104.816 48.804 3172
+-104.69 48.804 3174
+-104.564 48.804 3145
+-104.438 48.804 3102
+-104.312 48.804 3104
+-104.186 48.804 3106
+-104.06 48.804 3108
+-103.934 48.804 3109
+-103.808 48.804 3111
+-103.682 48.804 3113
+-103.556 48.804 3115
+-103.43 48.804 3116
+-103.304 48.804 3118
+-103.178 48.804 3119
+-103.052 48.804 3121
+-102.926 48.804 3122
+-102.8 48.804 3123
+-102.674 48.804 3125
+-102.548 48.804 3126
+-102.422 48.804 3086
+-102.296 48.804 3074
+-102.17 48.804 3075
+-102.044 48.804 3053
+-101.918 48.804 2944
+-101.792 48.804 2879
+-101.666 48.804 2880
+-101.54 48.804 2860
+-101.414 48.804 2828
+-101.288 48.804 2823
+-101.162 48.804 2826
+-101.036 48.804 2834
+-100.91 48.804 2826
+-100.784 48.804 2862
+-100.658 48.804 2906
+-100.532 48.804 2897
+-100.406 48.804 2858
+-100.28 48.804 2929
+-100.154 48.804 2929
+-100.028 48.804 2985
+-99.902 48.804 2968
+-99.776 48.804 2953
+-99.65 48.804 2952
+-99.524 48.804 2950
+-99.398 48.804 2949
+-99.272 48.804 2947
+-99.146 48.804 2946
+-99.02 48.804 2944
+-98.894 48.804 2942
+-98.768 48.804 2941
+-98.642 48.804 2939
+-98.516 48.804 2937
+-98.39 48.804 2935
+-98.264 48.804 2933
+-98.138 48.804 2931
+-98.012 48.804 2929
+-97.886 48.804 2928
+-97.76 48.804 2925
+-97.634 48.804 2923
+-97.508 48.804 2805
+-97.382 48.804 2803
+-97.256 48.804 2788
+-97.13 48.804 2786
+-97.004 48.804 2784
+-96.878 48.804 2782
+-96.752 48.804 2779
+-96.626 48.804 2777
+-96.5 48.804 2774
+-96.374 48.804 2772
+-96.248 48.804 2770
+-96.122 48.804 2767
+-95.996 48.804 2764
+-95.87 48.804 2762
+-95.744 48.804 2759
+-95.618 48.804 2757
+-95.492 48.804 2754
+-95.366 48.804 2751
+-95.24 48.804 2748
+-95.114 48.804 2746
+-94.988 48.804 2743
+-94.862 48.804 2740
+-94.736 48.804 2737
+-94.61 48.804 2734
+-94.484 48.804 2731
+-94.358 48.804 2729
+-94.232 48.804 2726
+-94.106 48.804 2723
+-93.98 48.804 2720
+-93.854 48.804 2717
+-93.728 48.804 2714
+-93.602 48.804 2711
+-93.476 48.804 2709
+-93.35 48.804 2706
+-93.224 48.804 2703
+-93.098 48.804 2700
+-92.972 48.804 2698
+-92.846 48.804 2695
+-92.72 48.804 2693
+-92.594 48.804 2690
+-92.468 48.804 2688
+-92.342 48.804 2686
+-92.216 48.804 2683
+-92.09 48.804 2681
+-91.964 48.804 2679
+-91.838 48.804 2677
+-91.712 48.804 2675
+-91.586 48.804 2674
+-91.46 48.804 2672
+-91.334 48.804 2670
+-91.208 48.804 2669
+-91.082 48.804 2668
+-90.956 48.804 2666
+-90.83 48.804 2665
+-90.704 48.804 2664
+-90.578 48.804 2663
+-90.452 48.804 2663
+-90.326 48.804 2618
+-90.2 48.804 2618
+-90.074 48.804 2617
+-89.948 48.804 2617
+-89.822 48.804 2617
+-89.696 48.804 2616
+-89.57 48.804 2616
+-89.444 48.804 2616
+-89.318 48.804 2616
+-89.192 48.804 2616
+-89.066 48.804 2616
+-88.94 48.804 2617
+-88.814 48.804 2617
+-88.688 48.804 2617
+-88.562 48.804 2618
+-88.436 48.804 2618
+-88.31 48.804 2619
+-88.184 48.804 2619
+-88.058 48.804 2620
+-87.932 48.804 2621
+-87.806 48.804 2621
+-87.68 48.804 2622
+-87.554 48.804 2623
+-87.428 48.804 2623
+-87.302 48.804 2624
+-87.176 48.804 2625
+-87.05 48.804 2626
+-86.924 48.804 2627
+-86.798 48.804 2627
+-86.672 48.804 2628
+-86.546 48.804 2629
+-86.42 48.804 2630
+-86.294 48.804 2631
+-86.168 48.804 2631
+-86.042 48.804 2632
+-85.916 48.804 2633
+-85.79 48.804 2634
+-85.664 48.804 2635
+-85.538 48.804 2635
+-85.412 48.804 2636
+-85.286 48.804 2637
+-85.16 48.804 2638
+-85.034 48.804 2639
+-84.908 48.804 2639
+-84.782 48.804 2640
+-84.656 48.804 2641
+-84.53 48.804 2642
+-84.404 48.804 2643
+-84.278 48.804 2643
+-84.152 48.804 2644
+-84.026 48.804 2645
+-83.9 48.804 2646
+-83.774 48.804 2646
+-83.648 48.804 2647
+-83.522 48.804 2648
+-83.396 48.804 2648
+-83.27 48.804 2649
+-83.144 48.804 2650
+-83.018 48.804 2651
+-82.892 48.804 2651
+-82.766 48.804 2652
+-82.64 48.804 2653
+-82.514 48.804 2654
+-82.388 48.804 2654
+-82.262 48.804 2655
+-82.136 48.804 2656
+-82.01 48.804 2656
+-81.884 48.804 2668
+-81.758 48.804 2668
+-81.632 48.804 2669
+-81.506 48.804 2670
+-81.38 48.804 2559
+-81.254 48.804 2560
+-81.128 48.804 2560
+-81.002 48.804 2560
+-80.876 48.804 2561
+-80.75 48.804 2561
+-80.624 48.804 2562
+-80.498 48.804 2562
+-80.372 48.804 2562
+-80.246 48.804 2563
+-80.12 48.804 2569
+-79.994 48.804 2578
+-79.868 48.804 2578
+-79.742 48.804 2579
+-79.616 48.804 2579
+-79.49 48.804 2598
+-79.364 48.804 2598
+-79.238 48.804 2599
+-79.112 48.804 2599
+-78.986 48.804 2603
+-78.86 48.804 2732
+-78.734 48.804 2732
+-78.608 48.804 2733
+-78.482 48.804 2740
+-78.356 48.804 2740
+-78.23 48.804 2741
+-78.104 48.804 2759
+-77.978 48.804 2739
+-77.852 48.804 2754
+-77.726 48.804 2754
+-77.6 48.804 2750
+-77.474 48.804 2750
+-77.348 48.804 2751
+-77.222 48.804 2751
+-77.096 48.804 2753
+-76.97 48.804 2841
+-76.844 48.804 2842
+-76.718 48.804 2842
+-76.592 48.804 2843
+-76.466 48.804 2862
+-76.34 48.804 2863
+-76.214 48.804 2842
+-76.088 48.804 2842
+-75.962 48.804 2843
+-75.836 48.804 2844
+-75.71 48.804 2814
+-75.584 48.804 2824
+-75.458 48.804 2825
+-75.332 48.804 2953
+-75.206 48.804 2912
+-75.08 48.804 2913
+-74.954 48.804 3054
+-74.828 48.804 3050
+-74.702 48.804 3010
+-74.576 48.804 3077
+-74.45 48.804 2962
+-74.324 48.804 2994
+-74.198 48.804 3051
+-74.072 48.804 2945
+-73.946 48.804 2952
+-73.82 48.804 2854
+-73.694 48.804 2851
+-73.568 48.804 2868
+-73.442 48.804 2838
+-73.316 48.804 2838
+-73.19 48.804 2839
+-73.064 48.804 2776
+-72.938 48.804 2821
+-72.812 48.804 2812
+-72.686 48.804 2801
+-72.56 48.804 2802
+-72.434 48.804 2802
+-72.308 48.804 2803
+-72.182 48.804 2741
+-72.056 48.804 2736
+-71.93 48.804 2736
+-71.804 48.804 2737
+-71.678 48.804 2738
+-71.552 48.804 2734
+-71.426 48.804 2677
+-71.3 48.804 2783
+-71.174 48.804 2778
+-71.048 48.804 2784
+-70.922 48.804 2785
+-70.796 48.804 2785
+-70.67 48.804 2786
+-70.544 48.804 2812
+-70.418 48.804 2789
+-70.292 48.804 2857
+-70.166 48.804 2858
+-70.04 48.804 2848
+-69.914 48.804 2856
+-69.788 48.804 2856
+-69.662 48.804 2857
+-69.536 48.804 2844
+-69.41 48.804 2960
+-69.284 48.804 2961
+-69.158 48.804 2962
+-69.032 48.804 2962
+-68.906 48.804 3062
+-68.78 48.804 3013
+-68.654 48.804 3162
+-68.528 48.804 3162
+-68.402 48.804 3123
+-68.276 48.804 3124
+-68.15 48.804 3124
+-68.024 48.804 3124
+-67.898 48.804 3125
+-67.772 48.804 3125
+-67.646 48.804 3227
+-67.52 48.804 3221
+-67.394 48.804 3222
+-67.268 48.804 3222
+-67.142 48.804 3223
+-67.016 48.804 3163
+-66.89 48.804 3202
+-66.764 48.804 3202
+-66.638 48.804 3283
+-66.512 48.804 3188
+-66.386 48.804 3188
+-66.26 48.804 3189
+-66.134 48.804 3240
+-66.008 48.804 3191
+-65.882 48.804 3191
+-65.756 48.804 3192
+-65.63 48.804 3419
+-65.504 48.804 3362
+-65.378 48.804 3362
+-65.252 48.804 3497
+-65.126 48.804 3468
+-128 48.752 4278
+-127.874 48.752 4262
+-127.748 48.752 4278
+-127.622 48.752 4357
+-127.496 48.752 4452
+-127.37 48.752 4520
+-127.244 48.752 4460
+-127.118 48.752 4647
+-126.992 48.752 4746
+-126.866 48.752 4856
+-126.74 48.752 4978
+-126.614 48.752 5128
+-126.488 48.752 5408
+-126.362 48.752 5554
+-126.236 48.752 5574
+-126.11 48.752 5692
+-125.984 48.752 5782
+-125.858 48.752 5887
+-125.732 48.752 5907
+-125.606 48.752 6025
+-125.48 48.752 6194
+-125.354 48.752 6378
+-125.228 48.752 6391
+-125.102 48.752 6550
+-124.976 48.752 6674
+-124.85 48.752 6783
+-124.724 48.752 6905
+-124.598 48.752 7014
+-124.472 48.752 7078
+-124.346 48.752 7141
+-124.22 48.752 7221
+-124.094 48.752 7322
+-123.968 48.752 7370
+-123.842 48.752 7431
+-123.716 48.752 7517
+-123.59 48.752 7553
+-123.464 48.752 7592
+-123.338 48.752 7616
+-123.212 48.752 7642
+-123.086 48.752 7663
+-122.96 48.752 7653
+-122.834 48.752 7669
+-122.708 48.752 7642
+-122.582 48.752 7623
+-122.456 48.752 7595
+-122.33 48.752 7544
+-122.204 48.752 7538
+-122.078 48.752 7427
+-121.952 48.752 7356
+-121.826 48.752 7299
+-121.7 48.752 7227
+-121.574 48.752 7152
+-121.448 48.752 7102
+-121.322 48.752 6988
+-121.196 48.752 6904
+-121.07 48.752 6766
+-120.944 48.752 6630
+-120.818 48.752 6482
+-120.692 48.752 6419
+-120.566 48.752 6326
+-120.44 48.752 6202
+-120.314 48.752 6175
+-120.188 48.752 6051
+-120.062 48.752 5988
+-119.936 48.752 6017
+-119.81 48.752 6116
+-119.684 48.752 6191
+-119.558 48.752 6214
+-119.432 48.752 6258
+-119.306 48.752 6284
+-119.18 48.752 6347
+-119.054 48.752 6354
+-118.928 48.752 6400
+-118.802 48.752 6413
+-118.676 48.752 6441
+-118.55 48.752 6459
+-118.424 48.752 6468
+-118.298 48.752 6456
+-118.172 48.752 6467
+-118.046 48.752 6467
+-117.92 48.752 6443
+-117.794 48.752 6406
+-117.668 48.752 6396
+-117.542 48.752 6341
+-117.416 48.752 6319
+-117.29 48.752 6249
+-117.164 48.752 6214
+-117.038 48.752 6165
+-116.912 48.752 6110
+-116.786 48.752 6008
+-116.66 48.752 5929
+-116.534 48.752 5862
+-116.408 48.752 5839
+-116.282 48.752 5766
+-116.156 48.752 5724
+-116.03 48.752 5620
+-115.904 48.752 5459
+-115.778 48.752 5331
+-115.652 48.752 5340
+-115.526 48.752 5173
+-115.4 48.752 5027
+-115.274 48.752 5020
+-115.148 48.752 4896
+-115.022 48.752 4746
+-114.896 48.752 4601
+-114.77 48.752 4486
+-114.644 48.752 4408
+-114.518 48.752 4400
+-114.392 48.752 4262
+-114.266 48.752 4145
+-114.14 48.752 4115
+-114.014 48.752 4018
+-113.888 48.752 3941
+-113.762 48.752 3860
+-113.636 48.752 3789
+-113.51 48.752 3741
+-113.384 48.752 3661
+-113.258 48.752 3549
+-113.132 48.752 3483
+-113.006 48.752 3450
+-112.88 48.752 3424
+-112.754 48.752 3418
+-112.628 48.752 3402
+-112.502 48.752 3369
+-112.376 48.752 3288
+-112.25 48.752 3191
+-112.124 48.752 3117
+-111.998 48.752 3066
+-111.872 48.752 3025
+-111.746 48.752 2949
+-111.62 48.752 2943
+-111.494 48.752 2950
+-111.368 48.752 2965
+-111.242 48.752 2959
+-111.116 48.752 2983
+-110.99 48.752 3008
+-110.864 48.752 3032
+-110.738 48.752 3021
+-110.612 48.752 3043
+-110.486 48.752 3064
+-110.36 48.752 3083
+-110.234 48.752 3088
+-110.108 48.752 3103
+-109.982 48.752 3117
+-109.856 48.752 3130
+-109.73 48.752 3127
+-109.604 48.752 3139
+-109.478 48.752 3150
+-109.352 48.752 3161
+-109.226 48.752 3156
+-109.1 48.752 3165
+-108.974 48.752 3174
+-108.848 48.752 3183
+-108.722 48.752 3191
+-108.596 48.752 3199
+-108.47 48.752 3206
+-108.344 48.752 3213
+-108.218 48.752 3219
+-108.092 48.752 3225
+-107.966 48.752 3231
+-107.84 48.752 3165
+-107.714 48.752 3156
+-107.588 48.752 3161
+-107.462 48.752 3166
+-107.336 48.752 3171
+-107.21 48.752 3175
+-107.084 48.752 3140
+-106.958 48.752 3138
+-106.832 48.752 3143
+-106.706 48.752 3148
+-106.58 48.752 3129
+-106.454 48.752 3133
+-106.328 48.752 3137
+-106.202 48.752 3141
+-106.076 48.752 3145
+-105.95 48.752 3148
+-105.824 48.752 3152
+-105.698 48.752 3155
+-105.572 48.752 3158
+-105.446 48.752 3161
+-105.32 48.752 3164
+-105.194 48.752 3167
+-105.068 48.752 3170
+-104.942 48.752 3172
+-104.816 48.752 3175
+-104.69 48.752 3145
+-104.564 48.752 3102
+-104.438 48.752 3104
+-104.312 48.752 3106
+-104.186 48.752 3108
+-104.06 48.752 3110
+-103.934 48.752 3111
+-103.808 48.752 3113
+-103.682 48.752 3115
+-103.556 48.752 3116
+-103.43 48.752 3118
+-103.304 48.752 3119
+-103.178 48.752 3121
+-103.052 48.752 3122
+-102.926 48.752 3124
+-102.8 48.752 3125
+-102.674 48.752 3126
+-102.548 48.752 3086
+-102.422 48.752 3087
+-102.296 48.752 3076
+-102.17 48.752 3073
+-102.044 48.752 3040
+-101.918 48.752 2880
+-101.792 48.752 2880
+-101.666 48.752 2870
+-101.54 48.752 2870
+-101.414 48.752 2877
+-101.288 48.752 2829
+-101.162 48.752 2832
+-101.036 48.752 2824
+-100.91 48.752 2860
+-100.784 48.752 2904
+-100.658 48.752 2915
+-100.532 48.752 2906
+-100.406 48.752 2900
+-100.28 48.752 2931
+-100.154 48.752 2989
+-100.028 48.752 2988
+-99.902 48.752 2984
+-99.776 48.752 2966
+-99.65 48.752 2952
+-99.524 48.752 2951
+-99.398 48.752 2949
+-99.272 48.752 2947
+-99.146 48.752 2946
+-99.02 48.752 2944
+-98.894 48.752 2942
+-98.768 48.752 2941
+-98.642 48.752 2939
+-98.516 48.752 2937
+-98.39 48.752 2935
+-98.264 48.752 2933
+-98.138 48.752 2931
+-98.012 48.752 2929
+-97.886 48.752 2927
+-97.76 48.752 2925
+-97.634 48.752 2923
+-97.508 48.752 2921
+-97.382 48.752 2803
+-97.256 48.752 2801
+-97.13 48.752 2786
+-97.004 48.752 2784
+-96.878 48.752 2782
+-96.752 48.752 2779
+-96.626 48.752 2777
+-96.5 48.752 2774
+-96.374 48.752 2772
+-96.248 48.752 2769
+-96.122 48.752 2767
+-95.996 48.752 2764
+-95.87 48.752 2761
+-95.744 48.752 2759
+-95.618 48.752 2756
+-95.492 48.752 2753
+-95.366 48.752 2750
+-95.24 48.752 2748
+-95.114 48.752 2745
+-94.988 48.752 2742
+-94.862 48.752 2739
+-94.736 48.752 2736
+-94.61 48.752 2733
+-94.484 48.752 2730
+-94.358 48.752 2727
+-94.232 48.752 2724
+-94.106 48.752 2721
+-93.98 48.752 2718
+-93.854 48.752 2715
+-93.728 48.752 2712
+-93.602 48.752 2709
+-93.476 48.752 2706
+-93.35 48.752 2703
+-93.224 48.752 2701
+-93.098 48.752 2698
+-92.972 48.752 2695
+-92.846 48.752 2692
+-92.72 48.752 2690
+-92.594 48.752 2687
+-92.468 48.752 2685
+-92.342 48.752 2682
+-92.216 48.752 2680
+-92.09 48.752 2678
+-91.964 48.752 2676
+-91.838 48.752 2674
+-91.712 48.752 2672
+-91.586 48.752 2670
+-91.46 48.752 2668
+-91.334 48.752 2667
+-91.208 48.752 2665
+-91.082 48.752 2664
+-90.956 48.752 2662
+-90.83 48.752 2661
+-90.704 48.752 2660
+-90.578 48.752 2660
+-90.452 48.752 2659
+-90.326 48.752 2615
+-90.2 48.752 2614
+-90.074 48.752 2614
+-89.948 48.752 2613
+-89.822 48.752 2613
+-89.696 48.752 2613
+-89.57 48.752 2613
+-89.444 48.752 2613
+-89.318 48.752 2613
+-89.192 48.752 2613
+-89.066 48.752 2613
+-88.94 48.752 2613
+-88.814 48.752 2614
+-88.688 48.752 2614
+-88.562 48.752 2615
+-88.436 48.752 2615
+-88.31 48.752 2616
+-88.184 48.752 2616
+-88.058 48.752 2617
+-87.932 48.752 2618
+-87.806 48.752 2619
+-87.68 48.752 2619
+-87.554 48.752 2620
+-87.428 48.752 2621
+-87.302 48.752 2622
+-87.176 48.752 2623
+-87.05 48.752 2623
+-86.924 48.752 2624
+-86.798 48.752 2625
+-86.672 48.752 2626
+-86.546 48.752 2627
+-86.42 48.752 2628
+-86.294 48.752 2629
+-86.168 48.752 2629
+-86.042 48.752 2630
+-85.916 48.752 2631
+-85.79 48.752 2632
+-85.664 48.752 2633
+-85.538 48.752 2634
+-85.412 48.752 2635
+-85.286 48.752 2635
+-85.16 48.752 2636
+-85.034 48.752 2637
+-84.908 48.752 2638
+-84.782 48.752 2639
+-84.656 48.752 2639
+-84.53 48.752 2640
+-84.404 48.752 2641
+-84.278 48.752 2642
+-84.152 48.752 2643
+-84.026 48.752 2643
+-83.9 48.752 2644
+-83.774 48.752 2645
+-83.648 48.752 2646
+-83.522 48.752 2646
+-83.396 48.752 2647
+-83.27 48.752 2648
+-83.144 48.752 2649
+-83.018 48.752 2649
+-82.892 48.752 2650
+-82.766 48.752 2651
+-82.64 48.752 2652
+-82.514 48.752 2652
+-82.388 48.752 2653
+-82.262 48.752 2654
+-82.136 48.752 2655
+-82.01 48.752 2666
+-81.884 48.752 2666
+-81.758 48.752 2667
+-81.632 48.752 2668
+-81.506 48.752 2558
+-81.38 48.752 2558
+-81.254 48.752 2559
+-81.128 48.752 2559
+-81.002 48.752 2559
+-80.876 48.752 2560
+-80.75 48.752 2560
+-80.624 48.752 2561
+-80.498 48.752 2561
+-80.372 48.752 2561
+-80.246 48.752 2568
+-80.12 48.752 2576
+-79.994 48.752 2577
+-79.868 48.752 2577
+-79.742 48.752 2578
+-79.616 48.752 2596
+-79.49 48.752 2597
+-79.364 48.752 2597
+-79.238 48.752 2598
+-79.112 48.752 2601
+-78.986 48.752 2731
+-78.86 48.752 2731
+-78.734 48.752 2731
+-78.608 48.752 2738
+-78.482 48.752 2739
+-78.356 48.752 2739
+-78.23 48.752 2757
+-78.104 48.752 2738
+-77.978 48.752 2752
+-77.852 48.752 2753
+-77.726 48.752 2748
+-77.6 48.752 2749
+-77.474 48.752 2749
+-77.348 48.752 2750
+-77.222 48.752 2752
+-77.096 48.752 2840
+-76.97 48.752 2840
+-76.844 48.752 2841
+-76.718 48.752 2842
+-76.592 48.752 2861
+-76.466 48.752 2861
+-76.34 48.752 2840
+-76.214 48.752 2841
+-76.088 48.752 2842
+-75.962 48.752 2842
+-75.836 48.752 2813
+-75.71 48.752 2823
+-75.584 48.752 2824
+-75.458 48.752 2952
+-75.332 48.752 2911
+-75.206 48.752 2912
+-75.08 48.752 3052
+-74.954 48.752 3049
+-74.828 48.752 3009
+-74.702 48.752 3075
+-74.576 48.752 2961
+-74.45 48.752 2993
+-74.324 48.752 3049
+-74.198 48.752 2943
+-74.072 48.752 2951
+-73.946 48.752 2853
+-73.82 48.752 2849
+-73.694 48.752 2867
+-73.568 48.752 2836
+-73.442 48.752 2837
+-73.316 48.752 2838
+-73.19 48.752 2775
+-73.064 48.752 2820
+-72.938 48.752 2811
+-72.812 48.752 2800
+-72.686 48.752 2801
+-72.56 48.752 2802
+-72.434 48.752 2802
+-72.308 48.752 2740
+-72.182 48.752 2735
+-72.056 48.752 2736
+-71.93 48.752 2736
+-71.804 48.752 2737
+-71.678 48.752 2733
+-71.552 48.752 2676
+-71.426 48.752 2782
+-71.3 48.752 2777
+-71.174 48.752 2783
+-71.048 48.752 2784
+-70.922 48.752 2785
+-70.796 48.752 2785
+-70.67 48.752 2812
+-70.544 48.752 2788
+-70.418 48.752 2856
+-70.292 48.752 2857
+-70.166 48.752 2847
+-70.04 48.752 2855
+-69.914 48.752 2856
+-69.788 48.752 2856
+-69.662 48.752 2843
+-69.536 48.752 2960
+-69.41 48.752 2960
+-69.284 48.752 2961
+-69.158 48.752 2962
+-69.032 48.752 3061
+-68.906 48.752 3013
+-68.78 48.752 3161
+-68.654 48.752 3162
+-68.528 48.752 3123
+-68.402 48.752 3123
+-68.276 48.752 3124
+-68.15 48.752 3124
+-68.024 48.752 3124
+-67.898 48.752 3125
+-67.772 48.752 3226
+-67.646 48.752 3221
+-67.52 48.752 3221
+-67.394 48.752 3222
+-67.268 48.752 3222
+-67.142 48.752 3162
+-67.016 48.752 3201
+-66.89 48.752 3202
+-66.764 48.752 3283
+-66.638 48.752 3187
+-66.512 48.752 3188
+-66.386 48.752 3188
+-66.26 48.752 3239
+-66.134 48.752 3190
+-66.008 48.752 3191
+-65.882 48.752 3191
+-65.756 48.752 3418
+-65.63 48.752 3361
+-65.504 48.752 3362
+-65.378 48.752 3496
+-65.252 48.752 3467
+-65.126 48.752 3468
+-128 48.7 4339
+-127.874 48.7 4345
+-127.748 48.7 4378
+-127.622 48.7 4429
+-127.496 48.7 4500
+-127.37 48.7 4548
+-127.244 48.7 4606
+-127.118 48.7 4667
+-126.992 48.7 4794
+-126.866 48.7 4858
+-126.74 48.7 5024
+-126.614 48.7 5200
+-126.488 48.7 5440
+-126.362 48.7 5537
+-126.236 48.7 5495
+-126.11 48.7 5690
+-125.984 48.7 5817
+-125.858 48.7 5896
+-125.732 48.7 5972
+-125.606 48.7 6087
+-125.48 48.7 6238
+-125.354 48.7 6420
+-125.228 48.7 6513
+-125.102 48.7 6560
+-124.976 48.7 6720
+-124.85 48.7 6842
+-124.724 48.7 6922
+-124.598 48.7 7068
+-124.472 48.7 7064
+-124.346 48.7 7250
+-124.22 48.7 7248
+-124.094 48.7 7378
+-123.968 48.7 7409
+-123.842 48.7 7495
+-123.716 48.7 7522
+-123.59 48.7 7650
+-123.464 48.7 7675
+-123.338 48.7 7664
+-123.212 48.7 7684
+-123.086 48.7 7688
+-122.96 48.7 7706
+-122.834 48.7 7695
+-122.708 48.7 7676
+-122.582 48.7 7690
+-122.456 48.7 7648
+-122.33 48.7 7606
+-122.204 48.7 7568
+-122.078 48.7 7471
+-121.952 48.7 7410
+-121.826 48.7 7348
+-121.7 48.7 7242
+-121.574 48.7 7219
+-121.448 48.7 7112
+-121.322 48.7 6988
+-121.196 48.7 6930
+-121.07 48.7 6811
+-120.944 48.7 6702
+-120.818 48.7 6557
+-120.692 48.7 6545
+-120.566 48.7 6343
+-120.44 48.7 6243
+-120.314 48.7 6131
+-120.188 48.7 5892
+-120.062 48.7 5973
+-119.936 48.7 6057
+-119.81 48.7 6137
+-119.684 48.7 6182
+-119.558 48.7 6282
+-119.432 48.7 6310
+-119.306 48.7 6327
+-119.18 48.7 6399
+-119.054 48.7 6408
+-118.928 48.7 6482
+-118.802 48.7 6502
+-118.676 48.7 6512
+-118.55 48.7 6532
+-118.424 48.7 6531
+-118.298 48.7 6535
+-118.172 48.7 6541
+-118.046 48.7 6518
+-117.92 48.7 6507
+-117.794 48.7 6469
+-117.668 48.7 6428
+-117.542 48.7 6407
+-117.416 48.7 6380
+-117.29 48.7 6317
+-117.164 48.7 6235
+-117.038 48.7 6220
+-116.912 48.7 6163
+-116.786 48.7 6091
+-116.66 48.7 6006
+-116.534 48.7 5920
+-116.408 48.7 5852
+-116.282 48.7 5783
+-116.156 48.7 5738
+-116.03 48.7 5642
+-115.904 48.7 5501
+-115.778 48.7 5408
+-115.652 48.7 5396
+-115.526 48.7 5272
+-115.4 48.7 5104
+-115.274 48.7 5052
+-115.148 48.7 4925
+-115.022 48.7 4796
+-114.896 48.7 4637
+-114.77 48.7 4518
+-114.644 48.7 4502
+-114.518 48.7 4436
+-114.392 48.7 4321
+-114.266 48.7 4205
+-114.14 48.7 4166
+-114.014 48.7 4071
+-113.888 48.7 3960
+-113.762 48.7 3811
+-113.636 48.7 3696
+-113.51 48.7 3713
+-113.384 48.7 3711
+-113.258 48.7 3640
+-113.132 48.7 3590
+-113.006 48.7 3520
+-112.88 48.7 3486
+-112.754 48.7 3450
+-112.628 48.7 3406
+-112.502 48.7 3347
+-112.376 48.7 3236
+-112.25 48.7 3151
+-112.124 48.7 3028
+-111.998 48.7 2958
+-111.872 48.7 2912
+-111.746 48.7 2892
+-111.62 48.7 2871
+-111.494 48.7 2893
+-111.368 48.7 2870
+-111.242 48.7 2905
+-111.116 48.7 2940
+-110.99 48.7 2974
+-110.864 48.7 2973
+-110.738 48.7 3002
+-110.612 48.7 3028
+-110.486 48.7 3052
+-110.36 48.7 3062
+-110.234 48.7 3081
+-110.108 48.7 3098
+-109.982 48.7 3113
+-109.856 48.7 3112
+-109.73 48.7 3126
+-109.604 48.7 3139
+-109.478 48.7 3151
+-109.352 48.7 3146
+-109.226 48.7 3157
+-109.1 48.7 3167
+-108.974 48.7 3177
+-108.848 48.7 3186
+-108.722 48.7 3194
+-108.596 48.7 3202
+-108.47 48.7 3209
+-108.344 48.7 3216
+-108.218 48.7 3222
+-108.092 48.7 3228
+-107.966 48.7 3162
+-107.84 48.7 3153
+-107.714 48.7 3159
+-107.588 48.7 3164
+-107.462 48.7 3169
+-107.336 48.7 3174
+-107.21 48.7 3139
+-107.084 48.7 3136
+-106.958 48.7 3142
+-106.832 48.7 3147
+-106.706 48.7 3128
+-106.58 48.7 3133
+-106.454 48.7 3137
+-106.328 48.7 3141
+-106.202 48.7 3144
+-106.076 48.7 3148
+-105.95 48.7 3152
+-105.824 48.7 3155
+-105.698 48.7 3158
+-105.572 48.7 3161
+-105.446 48.7 3164
+-105.32 48.7 3167
+-105.194 48.7 3170
+-105.068 48.7 3172
+-104.942 48.7 3175
+-104.816 48.7 3145
+-104.69 48.7 3102
+-104.564 48.7 3104
+-104.438 48.7 3106
+-104.312 48.7 3108
+-104.186 48.7 3110
+-104.06 48.7 3112
+-103.934 48.7 3113
+-103.808 48.7 3115
+-103.682 48.7 3117
+-103.556 48.7 3118
+-103.43 48.7 3120
+-103.304 48.7 3121
+-103.178 48.7 3123
+-103.052 48.7 3124
+-102.926 48.7 3125
+-102.8 48.7 3127
+-102.674 48.7 3086
+-102.548 48.7 3088
+-102.422 48.7 3089
+-102.296 48.7 3073
+-102.17 48.7 3049
+-102.044 48.7 3041
+-101.918 48.7 2881
+-101.792 48.7 2881
+-101.666 48.7 2870
+-101.54 48.7 2873
+-101.414 48.7 2872
+-101.288 48.7 2820
+-101.162 48.7 2823
+-101.036 48.7 2858
+-100.91 48.7 2902
+-100.784 48.7 2913
+-100.658 48.7 2980
+-100.532 48.7 2982
+-100.406 48.7 2909
+-100.28 48.7 2985
+-100.154 48.7 3001
+-100.028 48.7 2988
+-99.902 48.7 2987
+-99.776 48.7 2983
+-99.65 48.7 2965
+-99.524 48.7 2951
+-99.398 48.7 2949
+-99.272 48.7 2948
+-99.146 48.7 2946
+-99.02 48.7 2944
+-98.894 48.7 2943
+-98.768 48.7 2941
+-98.642 48.7 2939
+-98.516 48.7 2937
+-98.39 48.7 2935
+-98.264 48.7 2933
+-98.138 48.7 2931
+-98.012 48.7 2929
+-97.886 48.7 2927
+-97.76 48.7 2925
+-97.634 48.7 2923
+-97.508 48.7 2921
+-97.382 48.7 2919
+-97.256 48.7 2801
+-97.13 48.7 2799
+-97.004 48.7 2784
+-96.878 48.7 2782
+-96.752 48.7 2779
+-96.626 48.7 2777
+-96.5 48.7 2774
+-96.374 48.7 2772
+-96.248 48.7 2769
+-96.122 48.7 2766
+-95.996 48.7 2764
+-95.87 48.7 2761
+-95.744 48.7 2758
+-95.618 48.7 2755
+-95.492 48.7 2753
+-95.366 48.7 2750
+-95.24 48.7 2747
+-95.114 48.7 2744
+-94.988 48.7 2741
+-94.862 48.7 2738
+-94.736 48.7 2735
+-94.61 48.7 2732
+-94.484 48.7 2729
+-94.358 48.7 2726
+-94.232 48.7 2722
+-94.106 48.7 2719
+-93.98 48.7 2716
+-93.854 48.7 2713
+-93.728 48.7 2710
+-93.602 48.7 2707
+-93.476 48.7 2704
+-93.35 48.7 2701
+-93.224 48.7 2698
+-93.098 48.7 2695
+-92.972 48.7 2692
+-92.846 48.7 2689
+-92.72 48.7 2687
+-92.594 48.7 2684
+-92.468 48.7 2681
+-92.342 48.7 2679
+-92.216 48.7 2677
+-92.09 48.7 2674
+-91.964 48.7 2672
+-91.838 48.7 2670
+-91.712 48.7 2668
+-91.586 48.7 2666
+-91.46 48.7 2664
+-91.334 48.7 2663
+-91.208 48.7 2661
+-91.082 48.7 2660
+-90.956 48.7 2658
+-90.83 48.7 2657
+-90.704 48.7 2656
+-90.578 48.7 2655
+-90.452 48.7 2655
+-90.326 48.7 2611
+-90.2 48.7 2610
+-90.074 48.7 2610
+-89.948 48.7 2609
+-89.822 48.7 2609
+-89.696 48.7 2609
+-89.57 48.7 2609
+-89.444 48.7 2609
+-89.318 48.7 2609
+-89.192 48.7 2609
+-89.066 48.7 2610
+-88.94 48.7 2610
+-88.814 48.7 2611
+-88.688 48.7 2611
+-88.562 48.7 2612
+-88.436 48.7 2612
+-88.31 48.7 2613
+-88.184 48.7 2614
+-88.058 48.7 2614
+-87.932 48.7 2615
+-87.806 48.7 2616
+-87.68 48.7 2617
+-87.554 48.7 2618
+-87.428 48.7 2618
+-87.302 48.7 2619
+-87.176 48.7 2620
+-87.05 48.7 2621
+-86.924 48.7 2622
+-86.798 48.7 2623
+-86.672 48.7 2624
+-86.546 48.7 2625
+-86.42 48.7 2626
+-86.294 48.7 2627
+-86.168 48.7 2627
+-86.042 48.7 2628
+-85.916 48.7 2629
+-85.79 48.7 2630
+-85.664 48.7 2631
+-85.538 48.7 2632
+-85.412 48.7 2633
+-85.286 48.7 2634
+-85.16 48.7 2635
+-85.034 48.7 2635
+-84.908 48.7 2636
+-84.782 48.7 2637
+-84.656 48.7 2638
+-84.53 48.7 2639
+-84.404 48.7 2640
+-84.278 48.7 2640
+-84.152 48.7 2641
+-84.026 48.7 2642
+-83.9 48.7 2643
+-83.774 48.7 2644
+-83.648 48.7 2644
+-83.522 48.7 2645
+-83.396 48.7 2646
+-83.27 48.7 2647
+-83.144 48.7 2647
+-83.018 48.7 2648
+-82.892 48.7 2649
+-82.766 48.7 2650
+-82.64 48.7 2650
+-82.514 48.7 2651
+-82.388 48.7 2652
+-82.262 48.7 2653
+-82.136 48.7 2664
+-82.01 48.7 2665
+-81.884 48.7 2665
+-81.758 48.7 2666
+-81.632 48.7 2557
+-81.506 48.7 2557
+-81.38 48.7 2557
+-81.254 48.7 2558
+-81.128 48.7 2558
+-81.002 48.7 2558
+-80.876 48.7 2559
+-80.75 48.7 2559
+-80.624 48.7 2559
+-80.498 48.7 2560
+-80.372 48.7 2567
+-80.246 48.7 2575
+-80.12 48.7 2575
+-79.994 48.7 2576
+-79.868 48.7 2576
+-79.742 48.7 2595
+-79.616 48.7 2596
+-79.49 48.7 2596
+-79.364 48.7 2597
+-79.238 48.7 2600
+-79.112 48.7 2729
+-78.986 48.7 2730
+-78.86 48.7 2730
+-78.734 48.7 2737
+-78.608 48.7 2737
+-78.482 48.7 2738
+-78.356 48.7 2756
+-78.23 48.7 2736
+-78.104 48.7 2751
+-77.978 48.7 2751
+-77.852 48.7 2747
+-77.726 48.7 2748
+-77.6 48.7 2748
+-77.474 48.7 2748
+-77.348 48.7 2750
+-77.222 48.7 2838
+-77.096 48.7 2839
+-76.97 48.7 2840
+-76.844 48.7 2840
+-76.718 48.7 2859
+-76.592 48.7 2860
+-76.466 48.7 2839
+-76.34 48.7 2840
+-76.214 48.7 2840
+-76.088 48.7 2841
+-75.962 48.7 2812
+-75.836 48.7 2822
+-75.71 48.7 2822
+-75.584 48.7 2951
+-75.458 48.7 2910
+-75.332 48.7 2910
+-75.206 48.7 3051
+-75.08 48.7 3047
+-74.954 48.7 3008
+-74.828 48.7 3073
+-74.702 48.7 2959
+-74.576 48.7 2991
+-74.45 48.7 3048
+-74.324 48.7 2942
+-74.198 48.7 2950
+-74.072 48.7 2852
+-73.946 48.7 2848
+-73.82 48.7 2865
+-73.694 48.7 2835
+-73.568 48.7 2836
+-73.442 48.7 2837
+-73.316 48.7 2774
+-73.19 48.7 2819
+-73.064 48.7 2810
+-72.938 48.7 2799
+-72.812 48.7 2800
+-72.686 48.7 2801
+-72.56 48.7 2801
+-72.434 48.7 2739
+-72.308 48.7 2734
+-72.182 48.7 2735
+-72.056 48.7 2736
+-71.93 48.7 2736
+-71.804 48.7 2732
+-71.678 48.7 2675
+-71.552 48.7 2781
+-71.426 48.7 2777
+-71.3 48.7 2783
+-71.174 48.7 2783
+-71.048 48.7 2784
+-70.922 48.7 2785
+-70.796 48.7 2811
+-70.67 48.7 2788
+-70.544 48.7 2856
+-70.418 48.7 2856
+-70.292 48.7 2846
+-70.166 48.7 2854
+-70.04 48.7 2855
+-69.914 48.7 2856
+-69.788 48.7 2843
+-69.662 48.7 2959
+-69.536 48.7 2960
+-69.41 48.7 2960
+-69.284 48.7 2961
+-69.158 48.7 3061
+-69.032 48.7 3012
+-68.906 48.7 3161
+-68.78 48.7 3161
+-68.654 48.7 3122
+-68.528 48.7 3123
+-68.402 48.7 3123
+-68.276 48.7 3124
+-68.15 48.7 3124
+-68.024 48.7 3124
+-67.898 48.7 3226
+-67.772 48.7 3220
+-67.646 48.7 3221
+-67.52 48.7 3221
+-67.394 48.7 3222
+-67.268 48.7 3162
+-67.142 48.7 3201
+-67.016 48.7 3201
+-66.89 48.7 3282
+-66.764 48.7 3187
+-66.638 48.7 3187
+-66.512 48.7 3188
+-66.386 48.7 3239
+-66.26 48.7 3190
+-66.134 48.7 3191
+-66.008 48.7 3191
+-65.882 48.7 3418
+-65.756 48.7 3361
+-65.63 48.7 3361
+-65.504 48.7 3496
+-65.378 48.7 3467
+-65.252 48.7 3467
+-65.126 48.7 3411
+-128 48.648 4370
+-127.874 48.648 4382
+-127.748 48.648 4425
+-127.622 48.648 4466
+-127.496 48.648 4535
+-127.37 48.648 4594
+-127.244 48.648 4658
+-127.118 48.648 4703
+-126.992 48.648 4792
+-126.866 48.648 4911
+-126.74 48.648 5094
+-126.614 48.648 5259
+-126.488 48.648 5440
+-126.362 48.648 5490
+-126.236 48.648 5618
+-126.11 48.648 5702
+-125.984 48.648 5858
+-125.858 48.648 5949
+-125.732 48.648 6076
+-125.606 48.648 6144
+-125.48 48.648 6308
+-125.354 48.648 6437
+-125.228 48.648 6554
+-125.102 48.648 6636
+-124.976 48.648 6771
+-124.85 48.648 6877
+-124.724 48.648 6988
+-124.598 48.648 7067
+-124.472 48.648 7146
+-124.346 48.648 7248
+-124.22 48.648 7274
+-124.094 48.648 7379
+-123.968 48.648 7464
+-123.842 48.648 7568
+-123.716 48.648 7619
+-123.59 48.648 7624
+-123.464 48.648 7681
+-123.338 48.648 7693
+-123.212 48.648 7779
+-123.086 48.648 7749
+-122.96 48.648 7789
+-122.834 48.648 7768
+-122.708 48.648 7735
+-122.582 48.648 7703
+-122.456 48.648 7688
+-122.33 48.648 7683
+-122.204 48.648 7584
+-122.078 48.648 7551
+-121.952 48.648 7453
+-121.826 48.648 7415
+-121.7 48.648 7320
+-121.574 48.648 7271
+-121.448 48.648 7192
+-121.322 48.648 7075
+-121.196 48.648 6963
+-121.07 48.648 6861
+-120.944 48.648 6733
+-120.818 48.648 6656
+-120.692 48.648 6506
+-120.566 48.648 6397
+-120.44 48.648 6329
+-120.314 48.648 6137
+-120.188 48.648 5956
+-120.062 48.648 6032
+-119.936 48.648 6093
+-119.81 48.648 6157
+-119.684 48.648 6240
+-119.558 48.648 6290
+-119.432 48.648 6344
+-119.306 48.648 6390
+-119.18 48.648 6457
+-119.054 48.648 6472
+-118.928 48.648 6516
+-118.802 48.648 6551
+-118.676 48.648 6562
+-118.55 48.648 6580
+-118.424 48.648 6593
+-118.298 48.648 6587
+-118.172 48.648 6587
+-118.046 48.648 6585
+-117.92 48.648 6549
+-117.794 48.648 6515
+-117.668 48.648 6489
+-117.542 48.648 6473
+-117.416 48.648 6415
+-117.29 48.648 6354
+-117.164 48.648 6323
+-117.038 48.648 6273
+-116.912 48.648 6194
+-116.786 48.648 6124
+-116.66 48.648 6050
+-116.534 48.648 5986
+-116.408 48.648 5926
+-116.282 48.648 5832
+-116.156 48.648 5742
+-116.03 48.648 5586
+-115.904 48.648 5586
+-115.778 48.648 5487
+-115.652 48.648 5429
+-115.526 48.648 5349
+-115.4 48.648 5188
+-115.274 48.648 5090
+-115.148 48.648 4962
+-115.022 48.648 4845
+-114.896 48.648 4701
+-114.77 48.648 4563
+-114.644 48.648 4516
+-114.518 48.648 4468
+-114.392 48.648 4379
+-114.266 48.648 4300
+-114.14 48.648 4226
+-114.014 48.648 4113
+-113.888 48.648 3951
+-113.762 48.648 3743
+-113.636 48.648 3590
+-113.51 48.648 3683
+-113.384 48.648 3734
+-113.258 48.648 3688
+-113.132 48.648 3622
+-113.006 48.648 3575
+-112.88 48.648 3524
+-112.754 48.648 3466
+-112.628 48.648 3395
+-112.502 48.648 3265
+-112.376 48.648 3166
+-112.25 48.648 3037
+-112.124 48.648 2929
+-111.998 48.648 2818
+-111.872 48.648 2761
+-111.746 48.648 2748
+-111.62 48.648 2772
+-111.494 48.648 2793
+-111.368 48.648 2796
+-111.242 48.648 2848
+-111.116 48.648 2896
+-110.99 48.648 2909
+-110.864 48.648 2948
+-110.738 48.648 2983
+-110.612 48.648 3014
+-110.486 48.648 3030
+-110.36 48.648 3053
+-110.234 48.648 3074
+-110.108 48.648 3093
+-109.982 48.648 3094
+-109.856 48.648 3111
+-109.73 48.648 3126
+-109.604 48.648 3139
+-109.478 48.648 3136
+-109.352 48.648 3148
+-109.226 48.648 3160
+-109.1 48.648 3170
+-108.974 48.648 3180
+-108.848 48.648 3189
+-108.722 48.648 3197
+-108.596 48.648 3205
+-108.47 48.648 3212
+-108.344 48.648 3219
+-108.218 48.648 3226
+-108.092 48.648 3159
+-107.966 48.648 3151
+-107.84 48.648 3156
+-107.714 48.648 3162
+-107.588 48.648 3167
+-107.462 48.648 3172
+-107.336 48.648 3137
+-107.21 48.648 3135
+-107.084 48.648 3141
+-106.958 48.648 3146
+-106.832 48.648 3127
+-106.706 48.648 3132
+-106.58 48.648 3136
+-106.454 48.648 3140
+-106.328 48.648 3144
+-106.202 48.648 3148
+-106.076 48.648 3152
+-105.95 48.648 3155
+-105.824 48.648 3158
+-105.698 48.648 3161
+-105.572 48.648 3164
+-105.446 48.648 3167
+-105.32 48.648 3170
+-105.194 48.648 3173
+-105.068 48.648 3175
+-104.942 48.648 3145
+-104.816 48.648 3102
+-104.69 48.648 3104
+-104.564 48.648 3106
+-104.438 48.648 3108
+-104.312 48.648 3110
+-104.186 48.648 3112
+-104.06 48.648 3114
+-103.934 48.648 3115
+-103.808 48.648 3117
+-103.682 48.648 3119
+-103.556 48.648 3120
+-103.43 48.648 3122
+-103.304 48.648 3123
+-103.178 48.648 3124
+-103.052 48.648 3126
+-102.926 48.648 3127
+-102.8 48.648 3087
+-102.674 48.648 3088
+-102.548 48.648 3089
+-102.422 48.648 3074
+-102.296 48.648 3049
+-102.17 48.648 3051
+-102.044 48.648 3042
+-101.918 48.648 2882
+-101.792 48.648 2870
+-101.666 48.648 2872
+-101.54 48.648 2870
+-101.414 48.648 2875
+-101.288 48.648 2879
+-101.162 48.648 2855
+-101.036 48.648 2871
+-100.91 48.648 2911
+-100.784 48.648 2978
+-100.658 48.648 2981
+-100.532 48.648 2984
+-100.406 48.648 2910
+-100.28 48.648 3005
+-100.154 48.648 3008
+-100.028 48.648 3000
+-99.902 48.648 2987
+-99.776 48.648 2985
+-99.65 48.648 2981
+-99.524 48.648 2964
+-99.398 48.648 2949
+-99.272 48.648 2948
+-99.146 48.648 2946
+-99.02 48.648 2944
+-98.894 48.648 2943
+-98.768 48.648 2941
+-98.642 48.648 2939
+-98.516 48.648 2937
+-98.39 48.648 2935
+-98.264 48.648 2933
+-98.138 48.648 2931
+-98.012 48.648 2929
+-97.886 48.648 2927
+-97.76 48.648 2925
+-97.634 48.648 2923
+-97.508 48.648 2921
+-97.382 48.648 2918
+-97.256 48.648 2916
+-97.13 48.648 2799
+-97.004 48.648 2797
+-96.878 48.648 2782
+-96.752 48.648 2779
+-96.626 48.648 2777
+-96.5 48.648 2774
+-96.374 48.648 2771
+-96.248 48.648 2769
+-96.122 48.648 2766
+-95.996 48.648 2763
+-95.87 48.648 2761
+-95.744 48.648 2758
+-95.618 48.648 2755
+-95.492 48.648 2752
+-95.366 48.648 2749
+-95.24 48.648 2746
+-95.114 48.648 2743
+-94.988 48.648 2740
+-94.862 48.648 2737
+-94.736 48.648 2733
+-94.61 48.648 2730
+-94.484 48.648 2727
+-94.358 48.648 2724
+-94.232 48.648 2721
+-94.106 48.648 2718
+-93.98 48.648 2714
+-93.854 48.648 2711
+-93.728 48.648 2708
+-93.602 48.648 2705
+-93.476 48.648 2702
+-93.35 48.648 2698
+-93.224 48.648 2695
+-93.098 48.648 2692
+-92.972 48.648 2689
+-92.846 48.648 2686
+-92.72 48.648 2684
+-92.594 48.648 2681
+-92.468 48.648 2678
+-92.342 48.648 2675
+-92.216 48.648 2673
+-92.09 48.648 2671
+-91.964 48.648 2668
+-91.838 48.648 2666
+-91.712 48.648 2664
+-91.586 48.648 2662
+-91.46 48.648 2660
+-91.334 48.648 2658
+-91.208 48.648 2657
+-91.082 48.648 2655
+-90.956 48.648 2654
+-90.83 48.648 2653
+-90.704 48.648 2652
+-90.578 48.648 2651
+-90.452 48.648 2650
+-90.326 48.648 2607
+-90.2 48.648 2606
+-90.074 48.648 2606
+-89.948 48.648 2606
+-89.822 48.648 2605
+-89.696 48.648 2605
+-89.57 48.648 2605
+-89.444 48.648 2605
+-89.318 48.648 2606
+-89.192 48.648 2606
+-89.066 48.648 2606
+-88.94 48.648 2607
+-88.814 48.648 2607
+-88.688 48.648 2608
+-88.562 48.648 2608
+-88.436 48.648 2609
+-88.31 48.648 2610
+-88.184 48.648 2611
+-88.058 48.648 2611
+-87.932 48.648 2612
+-87.806 48.648 2613
+-87.68 48.648 2614
+-87.554 48.648 2615
+-87.428 48.648 2616
+-87.302 48.648 2617
+-87.176 48.648 2618
+-87.05 48.648 2619
+-86.924 48.648 2620
+-86.798 48.648 2621
+-86.672 48.648 2622
+-86.546 48.648 2623
+-86.42 48.648 2624
+-86.294 48.648 2625
+-86.168 48.648 2625
+-86.042 48.648 2626
+-85.916 48.648 2627
+-85.79 48.648 2628
+-85.664 48.648 2629
+-85.538 48.648 2630
+-85.412 48.648 2631
+-85.286 48.648 2632
+-85.16 48.648 2633
+-85.034 48.648 2634
+-84.908 48.648 2635
+-84.782 48.648 2636
+-84.656 48.648 2636
+-84.53 48.648 2637
+-84.404 48.648 2638
+-84.278 48.648 2639
+-84.152 48.648 2640
+-84.026 48.648 2641
+-83.9 48.648 2641
+-83.774 48.648 2642
+-83.648 48.648 2643
+-83.522 48.648 2644
+-83.396 48.648 2645
+-83.27 48.648 2645
+-83.144 48.648 2646
+-83.018 48.648 2647
+-82.892 48.648 2648
+-82.766 48.648 2648
+-82.64 48.648 2649
+-82.514 48.648 2650
+-82.388 48.648 2651
+-82.262 48.648 2662
+-82.136 48.648 2663
+-82.01 48.648 2663
+-81.884 48.648 2664
+-81.758 48.648 2555
+-81.632 48.648 2555
+-81.506 48.648 2556
+-81.38 48.648 2556
+-81.254 48.648 2557
+-81.128 48.648 2557
+-81.002 48.648 2557
+-80.876 48.648 2558
+-80.75 48.648 2558
+-80.624 48.648 2558
+-80.498 48.648 2565
+-80.372 48.648 2574
+-80.246 48.648 2574
+-80.12 48.648 2575
+-79.994 48.648 2575
+-79.868 48.648 2594
+-79.742 48.648 2594
+-79.616 48.648 2595
+-79.49 48.648 2595
+-79.364 48.648 2599
+-79.238 48.648 2728
+-79.112 48.648 2728
+-78.986 48.648 2728
+-78.86 48.648 2735
+-78.734 48.648 2736
+-78.608 48.648 2736
+-78.482 48.648 2754
+-78.356 48.648 2735
+-78.23 48.648 2750
+-78.104 48.648 2750
+-77.978 48.648 2746
+-77.852 48.648 2746
+-77.726 48.648 2747
+-77.6 48.648 2747
+-77.474 48.648 2749
+-77.348 48.648 2837
+-77.222 48.648 2837
+-77.096 48.648 2838
+-76.97 48.648 2839
+-76.844 48.648 2857
+-76.718 48.648 2858
+-76.592 48.648 2838
+-76.466 48.648 2838
+-76.34 48.648 2839
+-76.214 48.648 2840
+-76.088 48.648 2810
+-75.962 48.648 2821
+-75.836 48.648 2821
+-75.71 48.648 2949
+-75.584 48.648 2908
+-75.458 48.648 2909
+-75.332 48.648 3049
+-75.206 48.648 3045
+-75.08 48.648 3006
+-74.954 48.648 3072
+-74.828 48.648 2958
+-74.702 48.648 2990
+-74.576 48.648 3046
+-74.45 48.648 2941
+-74.324 48.648 2948
+-74.198 48.648 2851
+-74.072 48.648 2847
+-73.946 48.648 2864
+-73.82 48.648 2834
+-73.694 48.648 2835
+-73.568 48.648 2836
+-73.442 48.648 2773
+-73.316 48.648 2818
+-73.19 48.648 2809
+-73.064 48.648 2798
+-72.938 48.648 2799
+-72.812 48.648 2800
+-72.686 48.648 2800
+-72.56 48.648 2739
+-72.434 48.648 2733
+-72.308 48.648 2734
+-72.182 48.648 2735
+-72.056 48.648 2736
+-71.93 48.648 2732
+-71.804 48.648 2675
+-71.678 48.648 2781
+-71.552 48.648 2776
+-71.426 48.648 2782
+-71.3 48.648 2783
+-71.174 48.648 2783
+-71.048 48.648 2784
+-70.922 48.648 2810
+-70.796 48.648 2787
+-70.67 48.648 2855
+-70.544 48.648 2856
+-70.418 48.648 2846
+-70.292 48.648 2854
+-70.166 48.648 2854
+-70.04 48.648 2855
+-69.914 48.648 2842
+-69.788 48.648 2958
+-69.662 48.648 2959
+-69.536 48.648 2960
+-69.41 48.648 2961
+-69.284 48.648 3060
+-69.158 48.648 3012
+-69.032 48.648 3160
+-68.906 48.648 3161
+-68.78 48.648 3122
+-68.654 48.648 3122
+-68.528 48.648 3123
+-68.402 48.648 3123
+-68.276 48.648 3123
+-68.15 48.648 3124
+-68.024 48.648 3225
+-67.898 48.648 3220
+-67.772 48.648 3220
+-67.646 48.648 3221
+-67.52 48.648 3221
+-67.394 48.648 3162
+-67.268 48.648 3200
+-67.142 48.648 3201
+-67.016 48.648 3282
+-66.89 48.648 3186
+-66.764 48.648 3187
+-66.638 48.648 3187
+-66.512 48.648 3238
+-66.386 48.648 3190
+-66.26 48.648 3190
+-66.134 48.648 3191
+-66.008 48.648 3418
+-65.882 48.648 3361
+-65.756 48.648 3361
+-65.63 48.648 3495
+-65.504 48.648 3467
+-65.378 48.648 3467
+-65.252 48.648 3411
+-65.126 48.648 3483
+-128 48.596 4380
+-127.874 48.596 4389
+-127.748 48.596 4427
+-127.622 48.596 4469
+-127.496 48.596 4525
+-127.37 48.596 4601
+-127.244 48.596 4692
+-127.118 48.596 4760
+-126.992 48.596 4851
+-126.866 48.596 4993
+-126.74 48.596 5154
+-126.614 48.596 5272
+-126.488 48.596 5396
+-126.362 48.596 5559
+-126.236 48.596 5663
+-126.11 48.596 5779
+-125.984 48.596 5855
+-125.858 48.596 6011
+-125.732 48.596 6137
+-125.606 48.596 6209
+-125.48 48.596 6367
+-125.354 48.596 6458
+-125.228 48.596 6518
+-125.102 48.596 6672
+-124.976 48.596 6827
+-124.85 48.596 6929
+-124.724 48.596 6992
+-124.598 48.596 7144
+-124.472 48.596 7176
+-124.346 48.596 7256
+-124.22 48.596 7339
+-124.094 48.596 7438
+-123.968 48.596 7505
+-123.842 48.596 7621
+-123.716 48.596 7647
+-123.59 48.596 7711
+-123.464 48.596 7710
+-123.338 48.596 7751
+-123.212 48.596 7797
+-123.086 48.596 7843
+-122.96 48.596 7843
+-122.834 48.596 7837
+-122.708 48.596 7839
+-122.582 48.596 7785
+-122.456 48.596 7759
+-122.33 48.596 7699
+-122.204 48.596 7657
+-122.078 48.596 7612
+-121.952 48.596 7508
+-121.826 48.596 7430
+-121.7 48.596 7316
+-121.574 48.596 7275
+-121.448 48.596 7217
+-121.322 48.596 7109
+-121.196 48.596 6995
+-121.07 48.596 6876
+-120.944 48.596 6808
+-120.818 48.596 6720
+-120.692 48.596 6558
+-120.566 48.596 6371
+-120.44 48.596 6281
+-120.314 48.596 6165
+-120.188 48.596 6077
+-120.062 48.596 6060
+-119.936 48.596 6124
+-119.81 48.596 6214
+-119.684 48.596 6273
+-119.558 48.596 6324
+-119.432 48.596 6395
+-119.306 48.596 6447
+-119.18 48.596 6539
+-119.054 48.596 6534
+-118.928 48.596 6570
+-118.802 48.596 6594
+-118.676 48.596 6613
+-118.55 48.596 6639
+-118.424 48.596 6659
+-118.298 48.596 6637
+-118.172 48.596 6626
+-118.046 48.596 6646
+-117.92 48.596 6603
+-117.794 48.596 6562
+-117.668 48.596 6543
+-117.542 48.596 6498
+-117.416 48.596 6480
+-117.29 48.596 6424
+-117.164 48.596 6361
+-117.038 48.596 6300
+-116.912 48.596 6253
+-116.786 48.596 6172
+-116.66 48.596 6096
+-116.534 48.596 6028
+-116.408 48.596 5950
+-116.282 48.596 5889
+-116.156 48.596 5792
+-116.03 48.596 5699
+-115.904 48.596 5627
+-115.778 48.596 5549
+-115.652 48.596 5475
+-115.526 48.596 5369
+-115.4 48.596 5303
+-115.274 48.596 5107
+-115.148 48.596 4968
+-115.022 48.596 4887
+-114.896 48.596 4772
+-114.77 48.596 4605
+-114.644 48.596 4520
+-114.518 48.596 4500
+-114.392 48.596 4418
+-114.266 48.596 4343
+-114.14 48.596 4263
+-114.014 48.596 4169
+-113.888 48.596 4013
+-113.762 48.596 3838
+-113.636 48.596 3729
+-113.51 48.596 3768
+-113.384 48.596 3799
+-113.258 48.596 3733
+-113.132 48.596 3662
+-113.006 48.596 3609
+-112.88 48.596 3544
+-112.754 48.596 3470
+-112.628 48.596 3325
+-112.502 48.596 3213
+-112.376 48.596 3065
+-112.25 48.596 2923
+-112.124 48.596 2777
+-111.998 48.596 2651
+-111.872 48.596 2566
+-111.746 48.596 2569
+-111.62 48.596 2625
+-111.494 48.596 2705
+-111.368 48.596 2790
+-111.242 48.596 2806
+-111.116 48.596 2825
+-110.99 48.596 2880
+-110.864 48.596 2927
+-110.738 48.596 2967
+-110.612 48.596 2991
+-110.486 48.596 3021
+-110.36 48.596 3047
+-110.234 48.596 3070
+-110.108 48.596 3074
+-109.982 48.596 3093
+-109.856 48.596 3111
+-109.73 48.596 3126
+-109.604 48.596 3125
+-109.478 48.596 3139
+-109.352 48.596 3151
+-109.226 48.596 3163
+-109.1 48.596 3173
+-108.974 48.596 3183
+-108.848 48.596 3192
+-108.722 48.596 3201
+-108.596 48.596 3208
+-108.47 48.596 3216
+-108.344 48.596 3223
+-108.218 48.596 3156
+-108.092 48.596 3148
+-107.966 48.596 3154
+-107.84 48.596 3160
+-107.714 48.596 3165
+-107.588 48.596 3171
+-107.462 48.596 3136
+-107.336 48.596 3134
+-107.21 48.596 3140
+-107.084 48.596 3145
+-106.958 48.596 3127
+-106.832 48.596 3131
+-106.706 48.596 3136
+-106.58 48.596 3140
+-106.454 48.596 3144
+-106.328 48.596 3148
+-106.202 48.596 3152
+-106.076 48.596 3155
+-105.95 48.596 3158
+-105.824 48.596 3162
+-105.698 48.596 3165
+-105.572 48.596 3168
+-105.446 48.596 3171
+-105.32 48.596 3173
+-105.194 48.596 3176
+-105.068 48.596 3145
+-104.942 48.596 3102
+-104.816 48.596 3104
+-104.69 48.596 3106
+-104.564 48.596 3108
+-104.438 48.596 3110
+-104.312 48.596 3112
+-104.186 48.596 3114
+-104.06 48.596 3116
+-103.934 48.596 3117
+-103.808 48.596 3119
+-103.682 48.596 3121
+-103.556 48.596 3122
+-103.43 48.596 3123
+-103.304 48.596 3125
+-103.178 48.596 3126
+-103.052 48.596 3127
+-102.926 48.596 3087
+-102.8 48.596 3089
+-102.674 48.596 3090
+-102.548 48.596 3075
+-102.422 48.596 3075
+-102.296 48.596 3051
+-102.17 48.596 3052
+-102.044 48.596 3049
+-101.918 48.596 2887
+-101.792 48.596 2862
+-101.666 48.596 2873
+-101.54 48.596 2876
+-101.414 48.596 2886
+-101.288 48.596 2890
+-101.162 48.596 2869
+-101.036 48.596 2909
+-100.91 48.596 2912
+-100.784 48.596 2980
+-100.658 48.596 2982
+-100.532 48.596 2992
+-100.406 48.596 3093
+-100.28 48.596 3014
+-100.154 48.596 3062
+-100.028 48.596 3007
+-99.902 48.596 2999
+-99.776 48.596 2986
+-99.65 48.596 2984
+-99.524 48.596 2980
+-99.398 48.596 2963
+-99.272 48.596 2948
+-99.146 48.596 2946
+-99.02 48.596 2945
+-98.894 48.596 2943
+-98.768 48.596 2941
+-98.642 48.596 2939
+-98.516 48.596 2937
+-98.39 48.596 2935
+-98.264 48.596 2933
+-98.138 48.596 2931
+-98.012 48.596 2929
+-97.886 48.596 2927
+-97.76 48.596 2925
+-97.634 48.596 2923
+-97.508 48.596 2921
+-97.382 48.596 2918
+-97.256 48.596 2916
+-97.13 48.596 2913
+-97.004 48.596 2797
+-96.878 48.596 2794
+-96.752 48.596 2779
+-96.626 48.596 2777
+-96.5 48.596 2774
+-96.374 48.596 2771
+-96.248 48.596 2769
+-96.122 48.596 2766
+-95.996 48.596 2763
+-95.87 48.596 2760
+-95.744 48.596 2757
+-95.618 48.596 2754
+-95.492 48.596 2751
+-95.366 48.596 2748
+-95.24 48.596 2745
+-95.114 48.596 2742
+-94.988 48.596 2739
+-94.862 48.596 2735
+-94.736 48.596 2732
+-94.61 48.596 2729
+-94.484 48.596 2726
+-94.358 48.596 2722
+-94.232 48.596 2719
+-94.106 48.596 2716
+-93.98 48.596 2712
+-93.854 48.596 2709
+-93.728 48.596 2706
+-93.602 48.596 2702
+-93.476 48.596 2699
+-93.35 48.596 2696
+-93.224 48.596 2693
+-93.098 48.596 2689
+-92.972 48.596 2686
+-92.846 48.596 2683
+-92.72 48.596 2680
+-92.594 48.596 2677
+-92.468 48.596 2675
+-92.342 48.596 2672
+-92.216 48.596 2669
+-92.09 48.596 2667
+-91.964 48.596 2664
+-91.838 48.596 2662
+-91.712 48.596 2660
+-91.586 48.596 2658
+-91.46 48.596 2656
+-91.334 48.596 2654
+-91.208 48.596 2653
+-91.082 48.596 2651
+-90.956 48.596 2650
+-90.83 48.596 2649
+-90.704 48.596 2648
+-90.578 48.596 2647
+-90.452 48.596 2646
+-90.326 48.596 2603
+-90.2 48.596 2602
+-90.074 48.596 2602
+-89.948 48.596 2601
+-89.822 48.596 2601
+-89.696 48.596 2601
+-89.57 48.596 2601
+-89.444 48.596 2601
+-89.318 48.596 2602
+-89.192 48.596 2602
+-89.066 48.596 2602
+-88.94 48.596 2603
+-88.814 48.596 2604
+-88.688 48.596 2604
+-88.562 48.596 2605
+-88.436 48.596 2606
+-88.31 48.596 2607
+-88.184 48.596 2607
+-88.058 48.596 2608
+-87.932 48.596 2609
+-87.806 48.596 2610
+-87.68 48.596 2611
+-87.554 48.596 2612
+-87.428 48.596 2613
+-87.302 48.596 2614
+-87.176 48.596 2615
+-87.05 48.596 2616
+-86.924 48.596 2617
+-86.798 48.596 2618
+-86.672 48.596 2619
+-86.546 48.596 2620
+-86.42 48.596 2621
+-86.294 48.596 2622
+-86.168 48.596 2623
+-86.042 48.596 2624
+-85.916 48.596 2625
+-85.79 48.596 2626
+-85.664 48.596 2627
+-85.538 48.596 2628
+-85.412 48.596 2629
+-85.286 48.596 2630
+-85.16 48.596 2631
+-85.034 48.596 2632
+-84.908 48.596 2633
+-84.782 48.596 2634
+-84.656 48.596 2635
+-84.53 48.596 2636
+-84.404 48.596 2637
+-84.278 48.596 2637
+-84.152 48.596 2638
+-84.026 48.596 2639
+-83.9 48.596 2640
+-83.774 48.596 2641
+-83.648 48.596 2642
+-83.522 48.596 2642
+-83.396 48.596 2643
+-83.27 48.596 2644
+-83.144 48.596 2645
+-83.018 48.596 2646
+-82.892 48.596 2646
+-82.766 48.596 2647
+-82.64 48.596 2648
+-82.514 48.596 2649
+-82.388 48.596 2660
+-82.262 48.596 2661
+-82.136 48.596 2661
+-82.01 48.596 2662
+-81.884 48.596 2554
+-81.758 48.596 2554
+-81.632 48.596 2554
+-81.506 48.596 2555
+-81.38 48.596 2555
+-81.254 48.596 2555
+-81.128 48.596 2556
+-81.002 48.596 2556
+-80.876 48.596 2557
+-80.75 48.596 2557
+-80.624 48.596 2564
+-80.498 48.596 2572
+-80.372 48.596 2573
+-80.246 48.596 2573
+-80.12 48.596 2574
+-79.994 48.596 2592
+-79.868 48.596 2593
+-79.742 48.596 2593
+-79.616 48.596 2594
+-79.49 48.596 2598
+-79.364 48.596 2726
+-79.238 48.596 2727
+-79.112 48.596 2727
+-78.986 48.596 2734
+-78.86 48.596 2734
+-78.734 48.596 2735
+-78.608 48.596 2753
+-78.482 48.596 2733
+-78.356 48.596 2748
+-78.23 48.596 2749
+-78.104 48.596 2744
+-77.978 48.596 2745
+-77.852 48.596 2745
+-77.726 48.596 2746
+-77.6 48.596 2748
+-77.474 48.596 2835
+-77.348 48.596 2836
+-77.222 48.596 2837
+-77.096 48.596 2837
+-76.97 48.596 2856
+-76.844 48.596 2857
+-76.718 48.596 2836
+-76.592 48.596 2837
+-76.466 48.596 2838
+-76.34 48.596 2838
+-76.214 48.596 2809
+-76.088 48.596 2819
+-75.962 48.596 2820
+-75.836 48.596 2948
+-75.71 48.596 2907
+-75.584 48.596 2908
+-75.458 48.596 3047
+-75.332 48.596 3044
+-75.206 48.596 3005
+-75.08 48.596 3070
+-74.954 48.596 2956
+-74.828 48.596 2988
+-74.702 48.596 3045
+-74.576 48.596 2939
+-74.45 48.596 2947
+-74.324 48.596 2850
+-74.198 48.596 2846
+-74.072 48.596 2863
+-73.946 48.596 2833
+-73.82 48.596 2834
+-73.694 48.596 2835
+-73.568 48.596 2772
+-73.442 48.596 2817
+-73.316 48.596 2808
+-73.19 48.596 2797
+-73.064 48.596 2798
+-72.938 48.596 2799
+-72.812 48.596 2800
+-72.686 48.596 2738
+-72.56 48.596 2733
+-72.434 48.596 2733
+-72.308 48.596 2734
+-72.182 48.596 2735
+-72.056 48.596 2731
+-71.93 48.596 2674
+-71.804 48.596 2780
+-71.678 48.596 2775
+-71.552 48.596 2782
+-71.426 48.596 2782
+-71.3 48.596 2783
+-71.174 48.596 2784
+-71.048 48.596 2810
+-70.922 48.596 2787
+-70.796 48.596 2854
+-70.67 48.596 2855
+-70.544 48.596 2845
+-70.418 48.596 2853
+-70.292 48.596 2854
+-70.166 48.596 2855
+-70.04 48.596 2841
+-69.914 48.596 2958
+-69.788 48.596 2959
+-69.662 48.596 2959
+-69.536 48.596 2960
+-69.41 48.596 3060
+-69.284 48.596 3011
+-69.158 48.596 3160
+-69.032 48.596 3160
+-68.906 48.596 3122
+-68.78 48.596 3122
+-68.654 48.596 3122
+-68.528 48.596 3123
+-68.402 48.596 3123
+-68.276 48.596 3123
+-68.15 48.596 3225
+-68.024 48.596 3219
+-67.898 48.596 3220
+-67.772 48.596 3220
+-67.646 48.596 3221
+-67.52 48.596 3161
+-67.394 48.596 3200
+-67.268 48.596 3200
+-67.142 48.596 3281
+-67.016 48.596 3186
+-66.89 48.596 3186
+-66.764 48.596 3187
+-66.638 48.596 3238
+-66.512 48.596 3189
+-66.386 48.596 3190
+-66.26 48.596 3190
+-66.134 48.596 3417
+-66.008 48.596 3360
+-65.882 48.596 3361
+-65.756 48.596 3495
+-65.63 48.596 3466
+-65.504 48.596 3467
+-65.378 48.596 3410
+-65.252 48.596 3483
+-65.126 48.596 3484
+-128 48.544 4361
+-127.874 48.544 4359
+-127.748 48.544 4385
+-127.622 48.544 4426
+-127.496 48.544 4463
+-127.37 48.544 4567
+-127.244 48.544 4732
+-127.118 48.544 4801
+-126.992 48.544 4865
+-126.866 48.544 5031
+-126.74 48.544 5210
+-126.614 48.544 5279
+-126.488 48.544 5374
+-126.362 48.544 5541
+-126.236 48.544 5694
+-126.11 48.544 5832
+-125.984 48.544 5935
+-125.858 48.544 6030
+-125.732 48.544 6150
+-125.606 48.544 6279
+-125.48 48.544 6339
+-125.354 48.544 6481
+-125.228 48.544 6576
+-125.102 48.544 6672
+-124.976 48.544 6823
+-124.85 48.544 6928
+-124.724 48.544 7089
+-124.598 48.544 7141
+-124.472 48.544 7210
+-124.346 48.544 7303
+-124.22 48.544 7407
+-124.094 48.544 7495
+-123.968 48.544 7604
+-123.842 48.544 7665
+-123.716 48.544 7715
+-123.59 48.544 7789
+-123.464 48.544 7795
+-123.338 48.544 7847
+-123.212 48.544 7895
+-123.086 48.544 7911
+-122.96 48.544 7915
+-122.834 48.544 7873
+-122.708 48.544 7908
+-122.582 48.544 7864
+-122.456 48.544 7796
+-122.33 48.544 7729
+-122.204 48.544 7706
+-122.078 48.544 7665
+-121.952 48.544 7560
+-121.826 48.544 7461
+-121.7 48.544 7454
+-121.574 48.544 7330
+-121.448 48.544 7215
+-121.322 48.544 7070
+-121.196 48.544 6994
+-121.07 48.544 6934
+-120.944 48.544 6864
+-120.818 48.544 6720
+-120.692 48.544 6595
+-120.566 48.544 6412
+-120.44 48.544 6313
+-120.314 48.544 6190
+-120.188 48.544 6000
+-120.062 48.544 6133
+-119.936 48.544 6185
+-119.81 48.544 6272
+-119.684 48.544 6347
+-119.558 48.544 6421
+-119.432 48.544 6431
+-119.306 48.544 6480
+-119.18 48.544 6538
+-119.054 48.544 6593
+-118.928 48.544 6625
+-118.802 48.544 6619
+-118.676 48.544 6669
+-118.55 48.544 6661
+-118.424 48.544 6682
+-118.298 48.544 6679
+-118.172 48.544 6670
+-118.046 48.544 6700
+-117.92 48.544 6652
+-117.794 48.544 6623
+-117.668 48.544 6574
+-117.542 48.544 6565
+-117.416 48.544 6507
+-117.29 48.544 6445
+-117.164 48.544 6403
+-117.038 48.544 6328
+-116.912 48.544 6264
+-116.786 48.544 6226
+-116.66 48.544 6139
+-116.534 48.544 6094
+-116.408 48.544 5972
+-116.282 48.544 5911
+-116.156 48.544 5756
+-116.03 48.544 5745
+-115.904 48.544 5651
+-115.778 48.544 5480
+-115.652 48.544 5469
+-115.526 48.544 5286
+-115.4 48.544 5324
+-115.274 48.544 5189
+-115.148 48.544 4980
+-115.022 48.544 4909
+-114.896 48.544 4841
+-114.77 48.544 4674
+-114.644 48.544 4577
+-114.518 48.544 4509
+-114.392 48.544 4441
+-114.266 48.544 4366
+-114.14 48.544 4272
+-114.014 48.544 4131
+-113.888 48.544 4036
+-113.762 48.544 3964
+-113.636 48.544 3912
+-113.51 48.544 3883
+-113.384 48.544 3854
+-113.258 48.544 3789
+-113.132 48.544 3722
+-113.006 48.544 3630
+-112.88 48.544 3557
+-112.754 48.544 3420
+-112.628 48.544 3300
+-112.502 48.544 3129
+-112.376 48.544 2976
+-112.25 48.544 2801
+-112.124 48.544 2608
+-111.998 48.544 2432
+-111.872 48.544 2344
+-111.746 48.544 2375
+-111.62 48.544 2471
+-111.494 48.544 2596
+-111.368 48.544 2681
+-111.242 48.544 2779
+-111.116 48.544 2836
+-110.99 48.544 2856
+-110.864 48.544 2910
+-110.738 48.544 2944
+-110.612 48.544 2982
+-110.486 48.544 3014
+-110.36 48.544 3042
+-110.234 48.544 3051
+-110.108 48.544 3074
+-109.982 48.544 3094
+-109.856 48.544 3112
+-109.73 48.544 3113
+-109.604 48.544 3128
+-109.478 48.544 3142
+-109.352 48.544 3155
+-109.226 48.544 3166
+-109.1 48.544 3177
+-108.974 48.544 3187
+-108.848 48.544 3196
+-108.722 48.544 3205
+-108.596 48.544 3212
+-108.47 48.544 3220
+-108.344 48.544 3153
+-108.218 48.544 3146
+-108.092 48.544 3152
+-107.966 48.544 3158
+-107.84 48.544 3164
+-107.714 48.544 3169
+-107.588 48.544 3134
+-107.462 48.544 3133
+-107.336 48.544 3139
+-107.21 48.544 3144
+-107.084 48.544 3126
+-106.958 48.544 3131
+-106.832 48.544 3136
+-106.706 48.544 3140
+-106.58 48.544 3144
+-106.454 48.544 3148
+-106.328 48.544 3152
+-106.202 48.544 3155
+-106.076 48.544 3159
+-105.95 48.544 3162
+-105.824 48.544 3165
+-105.698 48.544 3168
+-105.572 48.544 3171
+-105.446 48.544 3174
+-105.32 48.544 3177
+-105.194 48.544 3145
+-105.068 48.544 3102
+-104.942 48.544 3105
+-104.816 48.544 3107
+-104.69 48.544 3109
+-104.564 48.544 3111
+-104.438 48.544 3113
+-104.312 48.544 3115
+-104.186 48.544 3116
+-104.06 48.544 3118
+-103.934 48.544 3120
+-103.808 48.544 3121
+-103.682 48.544 3123
+-103.556 48.544 3124
+-103.43 48.544 3125
+-103.304 48.544 3127
+-103.178 48.544 3128
+-103.052 48.544 3088
+-102.926 48.544 3089
+-102.8 48.544 3090
+-102.674 48.544 3091
+-102.548 48.544 3076
+-102.422 48.544 3077
+-102.296 48.544 3052
+-102.17 48.544 3049
+-102.044 48.544 2996
+-101.918 48.544 2889
+-101.792 48.544 2863
+-101.666 48.544 2875
+-101.54 48.544 2877
+-101.414 48.544 2887
+-101.288 48.544 2891
+-101.162 48.544 2870
+-101.036 48.544 2910
+-100.91 48.544 2986
+-100.784 48.544 2988
+-100.658 48.544 2991
+-100.532 48.544 3093
+-100.406 48.544 3093
+-100.28 48.544 3019
+-100.154 48.544 3083
+-100.028 48.544 3061
+-99.902 48.544 3006
+-99.776 48.544 2998
+-99.65 48.544 2985
+-99.524 48.544 2983
+-99.398 48.544 2979
+-99.272 48.544 2961
+-99.146 48.544 2947
+-99.02 48.544 2945
+-98.894 48.544 2943
+-98.768 48.544 2941
+-98.642 48.544 2939
+-98.516 48.544 2938
+-98.39 48.544 2936
+-98.264 48.544 2934
+-98.138 48.544 2931
+-98.012 48.544 2929
+-97.886 48.544 2927
+-97.76 48.544 2925
+-97.634 48.544 2923
+-97.508 48.544 2920
+-97.382 48.544 2918
+-97.256 48.544 2916
+-97.13 48.544 2913
+-97.004 48.544 2911
+-96.878 48.544 2794
+-96.752 48.544 2792
+-96.626 48.544 2777
+-96.5 48.544 2774
+-96.374 48.544 2771
+-96.248 48.544 2768
+-96.122 48.544 2766
+-95.996 48.544 2763
+-95.87 48.544 2760
+-95.744 48.544 2757
+-95.618 48.544 2754
+-95.492 48.544 2751
+-95.366 48.544 2747
+-95.24 48.544 2744
+-95.114 48.544 2741
+-94.988 48.544 2738
+-94.862 48.544 2734
+-94.736 48.544 2731
+-94.61 48.544 2728
+-94.484 48.544 2724
+-94.358 48.544 2721
+-94.232 48.544 2717
+-94.106 48.544 2714
+-93.98 48.544 2710
+-93.854 48.544 2707
+-93.728 48.544 2703
+-93.602 48.544 2700
+-93.476 48.544 2697
+-93.35 48.544 2693
+-93.224 48.544 2690
+-93.098 48.544 2686
+-92.972 48.544 2683
+-92.846 48.544 2680
+-92.72 48.544 2677
+-92.594 48.544 2674
+-92.468 48.544 2671
+-92.342 48.544 2668
+-92.216 48.544 2665
+-92.09 48.544 2663
+-91.964 48.544 2660
+-91.838 48.544 2658
+-91.712 48.544 2655
+-91.586 48.544 2653
+-91.46 48.544 2651
+-91.334 48.544 2650
+-91.208 48.544 2648
+-91.082 48.544 2646
+-90.956 48.544 2645
+-90.83 48.544 2644
+-90.704 48.544 2643
+-90.578 48.544 2642
+-90.452 48.544 2641
+-90.326 48.544 2641
+-90.2 48.544 2598
+-90.074 48.544 2597
+-89.948 48.544 2597
+-89.822 48.544 2597
+-89.696 48.544 2597
+-89.57 48.544 2597
+-89.444 48.544 2597
+-89.318 48.544 2598
+-89.192 48.544 2598
+-89.066 48.544 2599
+-88.94 48.544 2599
+-88.814 48.544 2600
+-88.688 48.544 2601
+-88.562 48.544 2602
+-88.436 48.544 2602
+-88.31 48.544 2603
+-88.184 48.544 2604
+-88.058 48.544 2605
+-87.932 48.544 2606
+-87.806 48.544 2607
+-87.68 48.544 2608
+-87.554 48.544 2609
+-87.428 48.544 2610
+-87.302 48.544 2612
+-87.176 48.544 2613
+-87.05 48.544 2614
+-86.924 48.544 2615
+-86.798 48.544 2616
+-86.672 48.544 2617
+-86.546 48.544 2618
+-86.42 48.544 2619
+-86.294 48.544 2620
+-86.168 48.544 2621
+-86.042 48.544 2622
+-85.916 48.544 2624
+-85.79 48.544 2625
+-85.664 48.544 2626
+-85.538 48.544 2627
+-85.412 48.544 2628
+-85.286 48.544 2629
+-85.16 48.544 2629
+-85.034 48.544 2630
+-84.908 48.544 2631
+-84.782 48.544 2632
+-84.656 48.544 2633
+-84.53 48.544 2634
+-84.404 48.544 2635
+-84.278 48.544 2636
+-84.152 48.544 2637
+-84.026 48.544 2638
+-83.9 48.544 2639
+-83.774 48.544 2639
+-83.648 48.544 2640
+-83.522 48.544 2641
+-83.396 48.544 2642
+-83.27 48.544 2643
+-83.144 48.544 2644
+-83.018 48.544 2644
+-82.892 48.544 2645
+-82.766 48.544 2646
+-82.64 48.544 2647
+-82.514 48.544 2658
+-82.388 48.544 2659
+-82.262 48.544 2659
+-82.136 48.544 2660
+-82.01 48.544 2552
+-81.884 48.544 2552
+-81.758 48.544 2553
+-81.632 48.544 2553
+-81.506 48.544 2554
+-81.38 48.544 2554
+-81.254 48.544 2554
+-81.128 48.544 2555
+-81.002 48.544 2555
+-80.876 48.544 2556
+-80.75 48.544 2562
+-80.624 48.544 2571
+-80.498 48.544 2571
+-80.372 48.544 2572
+-80.246 48.544 2572
+-80.12 48.544 2591
+-79.994 48.544 2591
+-79.868 48.544 2592
+-79.742 48.544 2593
+-79.616 48.544 2596
+-79.49 48.544 2725
+-79.364 48.544 2725
+-79.238 48.544 2725
+-79.112 48.544 2732
+-78.986 48.544 2733
+-78.86 48.544 2733
+-78.734 48.544 2751
+-78.608 48.544 2732
+-78.482 48.544 2747
+-78.356 48.544 2747
+-78.23 48.544 2743
+-78.104 48.544 2743
+-77.978 48.544 2744
+-77.852 48.544 2744
+-77.726 48.544 2746
+-77.6 48.544 2834
+-77.474 48.544 2834
+-77.348 48.544 2835
+-77.222 48.544 2836
+-77.096 48.544 2854
+-76.97 48.544 2855
+-76.844 48.544 2835
+-76.718 48.544 2835
+-76.592 48.544 2836
+-76.466 48.544 2837
+-76.34 48.544 2808
+-76.214 48.544 2818
+-76.088 48.544 2819
+-75.962 48.544 2946
+-75.836 48.544 2906
+-75.71 48.544 2906
+-75.584 48.544 3046
+-75.458 48.544 3042
+-75.332 48.544 3003
+-75.206 48.544 3068
+-75.08 48.544 2955
+-74.954 48.544 2987
+-74.828 48.544 3043
+-74.702 48.544 2938
+-74.576 48.544 2945
+-74.45 48.544 2849
+-74.324 48.544 2845
+-74.198 48.544 2862
+-74.072 48.544 2832
+-73.946 48.544 2833
+-73.82 48.544 2834
+-73.694 48.544 2771
+-73.568 48.544 2816
+-73.442 48.544 2807
+-73.316 48.544 2796
+-73.19 48.544 2797
+-73.064 48.544 2798
+-72.938 48.544 2799
+-72.812 48.544 2737
+-72.686 48.544 2732
+-72.56 48.544 2733
+-72.434 48.544 2733
+-72.308 48.544 2734
+-72.182 48.544 2730
+-72.056 48.544 2674
+-71.93 48.544 2779
+-71.804 48.544 2775
+-71.678 48.544 2781
+-71.552 48.544 2782
+-71.426 48.544 2782
+-71.3 48.544 2783
+-71.174 48.544 2809
+-71.048 48.544 2786
+-70.922 48.544 2854
+-70.796 48.544 2854
+-70.67 48.544 2844
+-70.544 48.544 2852
+-70.418 48.544 2853
+-70.292 48.544 2854
+-70.166 48.544 2841
+-70.04 48.544 2957
+-69.914 48.544 2958
+-69.788 48.544 2959
+-69.662 48.544 2959
+-69.536 48.544 3059
+-69.41 48.544 3011
+-69.284 48.544 3159
+-69.158 48.544 3160
+-69.032 48.544 3121
+-68.906 48.544 3122
+-68.78 48.544 3122
+-68.654 48.544 3122
+-68.528 48.544 3123
+-68.402 48.544 3123
+-68.276 48.544 3224
+-68.15 48.544 3219
+-68.024 48.544 3219
+-67.898 48.544 3220
+-67.772 48.544 3220
+-67.646 48.544 3161
+-67.52 48.544 3199
+-67.394 48.544 3200
+-67.268 48.544 3281
+-67.142 48.544 3185
+-67.016 48.544 3186
+-66.89 48.544 3187
+-66.764 48.544 3237
+-66.638 48.544 3189
+-66.512 48.544 3189
+-66.386 48.544 3190
+-66.26 48.544 3417
+-66.134 48.544 3360
+-66.008 48.544 3360
+-65.882 48.544 3495
+-65.756 48.544 3466
+-65.63 48.544 3466
+-65.504 48.544 3410
+-65.378 48.544 3483
+-65.252 48.544 3484
+-65.126 48.544 3484
+-128 48.492 4329
+-127.874 48.492 4294
+-127.748 48.492 4275
+-127.622 48.492 4370
+-127.496 48.492 4385
+-127.37 48.492 4515
+-127.244 48.492 4710
+-127.118 48.492 4829
+-126.992 48.492 4912
+-126.866 48.492 5056
+-126.74 48.492 5217
+-126.614 48.492 5309
+-126.488 48.492 5356
+-126.362 48.492 5509
+-126.236 48.492 5720
+-126.11 48.492 5844
+-125.984 48.492 5992
+-125.858 48.492 6082
+-125.732 48.492 6184
+-125.606 48.492 6313
+-125.48 48.492 6366
+-125.354 48.492 6516
+-125.228 48.492 6655
+-125.102 48.492 6781
+-124.976 48.492 6873
+-124.85 48.492 6942
+-124.724 48.492 7062
+-124.598 48.492 7190
+-124.472 48.492 7291
+-124.346 48.492 7396
+-124.22 48.492 7435
+-124.094 48.492 7500
+-123.968 48.492 7648
+-123.842 48.492 7736
+-123.716 48.492 7755
+-123.59 48.492 7825
+-123.464 48.492 7873
+-123.338 48.492 7902
+-123.212 48.492 7950
+-123.086 48.492 7965
+-122.96 48.492 7970
+-122.834 48.492 7939
+-122.708 48.492 7941
+-122.582 48.492 7920
+-122.456 48.492 7883
+-122.33 48.492 7808
+-122.204 48.492 7781
+-122.078 48.492 7721
+-121.952 48.492 7615
+-121.826 48.492 7543
+-121.7 48.492 7439
+-121.574 48.492 7363
+-121.448 48.492 7253
+-121.322 48.492 7147
+-121.196 48.492 7060
+-121.07 48.492 6971
+-120.944 48.492 6883
+-120.818 48.492 6755
+-120.692 48.492 6633
+-120.566 48.492 6492
+-120.44 48.492 6366
+-120.314 48.492 6301
+-120.188 48.492 6191
+-120.062 48.492 6140
+-119.936 48.492 6248
+-119.81 48.492 6338
+-119.684 48.492 6423
+-119.558 48.492 6469
+-119.432 48.492 6490
+-119.306 48.492 6540
+-119.18 48.492 6589
+-119.054 48.492 6656
+-118.928 48.492 6673
+-118.802 48.492 6680
+-118.676 48.492 6737
+-118.55 48.492 6740
+-118.424 48.492 6760
+-118.298 48.492 6748
+-118.172 48.492 6733
+-118.046 48.492 6722
+-117.92 48.492 6724
+-117.794 48.492 6670
+-117.668 48.492 6635
+-117.542 48.492 6597
+-117.416 48.492 6539
+-117.29 48.492 6498
+-117.164 48.492 6458
+-117.038 48.492 6384
+-116.912 48.492 6316
+-116.786 48.492 6266
+-116.66 48.492 6210
+-116.534 48.492 6146
+-116.408 48.492 6031
+-116.282 48.492 5884
+-116.156 48.492 5817
+-116.03 48.492 5710
+-115.904 48.492 5687
+-115.778 48.492 5630
+-115.652 48.492 5530
+-115.526 48.492 5423
+-115.4 48.492 5375
+-115.274 48.492 5190
+-115.148 48.492 5016
+-115.022 48.492 5006
+-114.896 48.492 4874
+-114.77 48.492 4706
+-114.644 48.492 4612
+-114.518 48.492 4543
+-114.392 48.492 4471
+-114.266 48.492 4393
+-114.14 48.492 4282
+-114.014 48.492 4116
+-113.888 48.492 4002
+-113.762 48.492 3973
+-113.636 48.492 3960
+-113.51 48.492 3958
+-113.384 48.492 3918
+-113.258 48.492 3826
+-113.132 48.492 3778
+-113.006 48.492 3677
+-112.88 48.492 3517
+-112.754 48.492 3396
+-112.628 48.492 3216
+-112.502 48.492 3059
+-112.376 48.492 2888
+-112.25 48.492 2696
+-112.124 48.492 2464
+-111.998 48.492 2226
+-111.872 48.492 2115
+-111.746 48.492 2188
+-111.62 48.492 2353
+-111.494 48.492 2501
+-111.368 48.492 2629
+-111.242 48.492 2744
+-111.116 48.492 2837
+-110.99 48.492 2913
+-110.864 48.492 2889
+-110.738 48.492 2937
+-110.612 48.492 2977
+-110.486 48.492 3011
+-110.36 48.492 3025
+-110.234 48.492 3052
+-110.108 48.492 3075
+-109.982 48.492 3096
+-109.856 48.492 3099
+-109.73 48.492 3116
+-109.604 48.492 3132
+-109.478 48.492 3146
+-109.352 48.492 3159
+-109.226 48.492 3171
+-109.1 48.492 3181
+-108.974 48.492 3191
+-108.848 48.492 3201
+-108.722 48.492 3209
+-108.596 48.492 3217
+-108.47 48.492 3150
+-108.344 48.492 3143
+-108.218 48.492 3150
+-108.092 48.492 3156
+-107.966 48.492 3162
+-107.84 48.492 3168
+-107.714 48.492 3133
+-107.588 48.492 3132
+-107.462 48.492 3138
+-107.336 48.492 3144
+-107.21 48.492 3126
+-107.084 48.492 3131
+-106.958 48.492 3136
+-106.832 48.492 3140
+-106.706 48.492 3144
+-106.58 48.492 3148
+-106.454 48.492 3152
+-106.328 48.492 3156
+-106.202 48.492 3159
+-106.076 48.492 3163
+-105.95 48.492 3166
+-105.824 48.492 3169
+-105.698 48.492 3172
+-105.572 48.492 3175
+-105.446 48.492 3177
+-105.32 48.492 3146
+-105.194 48.492 3103
+-105.068 48.492 3105
+-104.942 48.492 3107
+-104.816 48.492 3109
+-104.69 48.492 3111
+-104.564 48.492 3113
+-104.438 48.492 3115
+-104.312 48.492 3117
+-104.186 48.492 3119
+-104.06 48.492 3120
+-103.934 48.492 3122
+-103.808 48.492 3123
+-103.682 48.492 3125
+-103.556 48.492 3126
+-103.43 48.492 3127
+-103.304 48.492 3129
+-103.178 48.492 3089
+-103.052 48.492 3090
+-102.926 48.492 3091
+-102.8 48.492 3092
+-102.674 48.492 3093
+-102.548 48.492 3078
+-102.422 48.492 3078
+-102.296 48.492 3049
+-102.17 48.492 3050
+-102.044 48.492 2997
+-101.918 48.492 2995
+-101.792 48.492 2865
+-101.666 48.492 2876
+-101.54 48.492 2879
+-101.414 48.492 2889
+-101.288 48.492 2933
+-101.162 48.492 2872
+-101.036 48.492 2984
+-100.91 48.492 2987
+-100.784 48.492 2990
+-100.658 48.492 3093
+-100.532 48.492 3094
+-100.406 48.492 3106
+-100.28 48.492 3177
+-100.154 48.492 3096
+-100.028 48.492 3082
+-99.902 48.492 3060
+-99.776 48.492 3005
+-99.65 48.492 2996
+-99.524 48.492 2983
+-99.398 48.492 2982
+-99.272 48.492 2977
+-99.146 48.492 2960
+-99.02 48.492 2945
+-98.894 48.492 2943
+-98.768 48.492 2942
+-98.642 48.492 2940
+-98.516 48.492 2938
+-98.39 48.492 2936
+-98.264 48.492 2934
+-98.138 48.492 2932
+-98.012 48.492 2929
+-97.886 48.492 2927
+-97.76 48.492 2925
+-97.634 48.492 2923
+-97.508 48.492 2920
+-97.382 48.492 2918
+-97.256 48.492 2916
+-97.13 48.492 2913
+-97.004 48.492 2910
+-96.878 48.492 2908
+-96.752 48.492 2792
+-96.626 48.492 2789
+-96.5 48.492 2774
+-96.374 48.492 2771
+-96.248 48.492 2768
+-96.122 48.492 2765
+-95.996 48.492 2762
+-95.87 48.492 2759
+-95.744 48.492 2756
+-95.618 48.492 2753
+-95.492 48.492 2750
+-95.366 48.492 2747
+-95.24 48.492 2743
+-95.114 48.492 2740
+-94.988 48.492 2737
+-94.862 48.492 2733
+-94.736 48.492 2730
+-94.61 48.492 2726
+-94.484 48.492 2723
+-94.358 48.492 2719
+-94.232 48.492 2715
+-94.106 48.492 2712
+-93.98 48.492 2708
+-93.854 48.492 2705
+-93.728 48.492 2701
+-93.602 48.492 2697
+-93.476 48.492 2694
+-93.35 48.492 2690
+-93.224 48.492 2687
+-93.098 48.492 2683
+-92.972 48.492 2680
+-92.846 48.492 2677
+-92.72 48.492 2673
+-92.594 48.492 2670
+-92.468 48.492 2667
+-92.342 48.492 2664
+-92.216 48.492 2661
+-92.09 48.492 2658
+-91.964 48.492 2656
+-91.838 48.492 2653
+-91.712 48.492 2651
+-91.586 48.492 2649
+-91.46 48.492 2647
+-91.334 48.492 2645
+-91.208 48.492 2643
+-91.082 48.492 2642
+-90.956 48.492 2640
+-90.83 48.492 2639
+-90.704 48.492 2638
+-90.578 48.492 2637
+-90.452 48.492 2636
+-90.326 48.492 2636
+-90.2 48.492 2593
+-90.074 48.492 2593
+-89.948 48.492 2593
+-89.822 48.492 2593
+-89.696 48.492 2593
+-89.57 48.492 2593
+-89.444 48.492 2593
+-89.318 48.492 2594
+-89.192 48.492 2594
+-89.066 48.492 2595
+-88.94 48.492 2595
+-88.814 48.492 2596
+-88.688 48.492 2597
+-88.562 48.492 2598
+-88.436 48.492 2599
+-88.31 48.492 2600
+-88.184 48.492 2601
+-88.058 48.492 2602
+-87.932 48.492 2603
+-87.806 48.492 2604
+-87.68 48.492 2605
+-87.554 48.492 2607
+-87.428 48.492 2608
+-87.302 48.492 2609
+-87.176 48.492 2610
+-87.05 48.492 2611
+-86.924 48.492 2612
+-86.798 48.492 2614
+-86.672 48.492 2615
+-86.546 48.492 2616
+-86.42 48.492 2617
+-86.294 48.492 2618
+-86.168 48.492 2619
+-86.042 48.492 2620
+-85.916 48.492 2622
+-85.79 48.492 2623
+-85.664 48.492 2624
+-85.538 48.492 2625
+-85.412 48.492 2626
+-85.286 48.492 2627
+-85.16 48.492 2628
+-85.034 48.492 2629
+-84.908 48.492 2630
+-84.782 48.492 2631
+-84.656 48.492 2632
+-84.53 48.492 2633
+-84.404 48.492 2633
+-84.278 48.492 2634
+-84.152 48.492 2635
+-84.026 48.492 2636
+-83.9 48.492 2637
+-83.774 48.492 2638
+-83.648 48.492 2639
+-83.522 48.492 2640
+-83.396 48.492 2641
+-83.27 48.492 2641
+-83.144 48.492 2642
+-83.018 48.492 2643
+-82.892 48.492 2644
+-82.766 48.492 2645
+-82.64 48.492 2656
+-82.514 48.492 2657
+-82.388 48.492 2657
+-82.262 48.492 2658
+-82.136 48.492 2551
+-82.01 48.492 2551
+-81.884 48.492 2551
+-81.758 48.492 2552
+-81.632 48.492 2552
+-81.506 48.492 2552
+-81.38 48.492 2553
+-81.254 48.492 2553
+-81.128 48.492 2554
+-81.002 48.492 2554
+-80.876 48.492 2561
+-80.75 48.492 2569
+-80.624 48.492 2570
+-80.498 48.492 2570
+-80.372 48.492 2571
+-80.246 48.492 2589
+-80.12 48.492 2590
+-79.994 48.492 2591
+-79.868 48.492 2591
+-79.742 48.492 2595
+-79.616 48.492 2723
+-79.49 48.492 2724
+-79.364 48.492 2724
+-79.238 48.492 2731
+-79.112 48.492 2731
+-78.986 48.492 2732
+-78.86 48.492 2750
+-78.734 48.492 2730
+-78.608 48.492 2745
+-78.482 48.492 2746
+-78.356 48.492 2741
+-78.23 48.492 2742
+-78.104 48.492 2742
+-77.978 48.492 2743
+-77.852 48.492 2745
+-77.726 48.492 2832
+-77.6 48.492 2833
+-77.474 48.492 2833
+-77.348 48.492 2834
+-77.222 48.492 2853
+-77.096 48.492 2853
+-76.97 48.492 2833
+-76.844 48.492 2834
+-76.718 48.492 2835
+-76.592 48.492 2835
+-76.466 48.492 2806
+-76.34 48.492 2817
+-76.214 48.492 2817
+-76.088 48.492 2945
+-75.962 48.492 2904
+-75.836 48.492 2905
+-75.71 48.492 3044
+-75.584 48.492 3041
+-75.458 48.492 3002
+-75.332 48.492 3067
+-75.206 48.492 2954
+-75.08 48.492 2985
+-74.954 48.492 3041
+-74.828 48.492 2937
+-74.702 48.492 2944
+-74.576 48.492 2847
+-74.45 48.492 2844
+-74.324 48.492 2860
+-74.198 48.492 2831
+-74.072 48.492 2832
+-73.946 48.492 2833
+-73.82 48.492 2770
+-73.694 48.492 2815
+-73.568 48.492 2806
+-73.442 48.492 2795
+-73.316 48.492 2796
+-73.19 48.492 2797
+-73.064 48.492 2798
+-72.938 48.492 2736
+-72.812 48.492 2731
+-72.686 48.492 2732
+-72.56 48.492 2733
+-72.434 48.492 2733
+-72.308 48.492 2729
+-72.182 48.492 2673
+-72.056 48.492 2779
+-71.93 48.492 2774
+-71.804 48.492 2780
+-71.678 48.492 2781
+-71.552 48.492 2782
+-71.426 48.492 2782
+-71.3 48.492 2808
+-71.174 48.492 2785
+-71.048 48.492 2853
+-70.922 48.492 2854
+-70.796 48.492 2844
+-70.67 48.492 2852
+-70.544 48.492 2852
+-70.418 48.492 2853
+-70.292 48.492 2840
+-70.166 48.492 2957
+-70.04 48.492 2957
+-69.914 48.492 2958
+-69.788 48.492 2959
+-69.662 48.492 3058
+-69.536 48.492 3010
+-69.41 48.492 3159
+-69.284 48.492 3159
+-69.158 48.492 3121
+-69.032 48.492 3121
+-68.906 48.492 3122
+-68.78 48.492 3122
+-68.654 48.492 3122
+-68.528 48.492 3123
+-68.402 48.492 3224
+-68.276 48.492 3218
+-68.15 48.492 3219
+-68.024 48.492 3219
+-67.898 48.492 3220
+-67.772 48.492 3160
+-67.646 48.492 3199
+-67.52 48.492 3199
+-67.394 48.492 3280
+-67.268 48.492 3185
+-67.142 48.492 3186
+-67.016 48.492 3186
+-66.89 48.492 3237
+-66.764 48.492 3188
+-66.638 48.492 3189
+-66.512 48.492 3189
+-66.386 48.492 3416
+-66.26 48.492 3360
+-66.134 48.492 3360
+-66.008 48.492 3494
+-65.882 48.492 3465
+-65.756 48.492 3466
+-65.63 48.492 3410
+-65.504 48.492 3482
+-65.378 48.492 3484
+-65.252 48.492 3484
+-65.126 48.492 3484
+-128 48.44 4308
+-127.874 48.44 4250
+-127.748 48.44 4134
+-127.622 48.44 4330
+-127.496 48.44 4437
+-127.37 48.44 4532
+-127.244 48.44 4709
+-127.118 48.44 4877
+-126.992 48.44 4954
+-126.866 48.44 5053
+-126.74 48.44 5217
+-126.614 48.44 5231
+-126.488 48.44 5391
+-126.362 48.44 5567
+-126.236 48.44 5741
+-126.11 48.44 5931
+-125.984 48.44 6003
+-125.858 48.44 6025
+-125.732 48.44 6177
+-125.606 48.44 6283
+-125.48 48.44 6412
+-125.354 48.44 6492
+-125.228 48.44 6644
+-125.102 48.44 6804
+-124.976 48.44 6848
+-124.85 48.44 7000
+-124.724 48.44 7108
+-124.598 48.44 7187
+-124.472 48.44 7321
+-124.346 48.44 7373
+-124.22 48.44 7494
+-124.094 48.44 7583
+-123.968 48.44 7707
+-123.842 48.44 7789
+-123.716 48.44 7807
+-123.59 48.44 7855
+-123.464 48.44 7915
+-123.338 48.44 7953
+-123.212 48.44 8005
+-123.086 48.44 8034
+-122.96 48.44 8015
+-122.834 48.44 8013
+-122.708 48.44 7975
+-122.582 48.44 7942
+-122.456 48.44 7905
+-122.33 48.44 7851
+-122.204 48.44 7799
+-122.078 48.44 7750
+-121.952 48.44 7683
+-121.826 48.44 7573
+-121.7 48.44 7477
+-121.574 48.44 7388
+-121.448 48.44 7307
+-121.322 48.44 7205
+-121.196 48.44 7078
+-121.07 48.44 6937
+-120.944 48.44 6884
+-120.818 48.44 6772
+-120.692 48.44 6617
+-120.566 48.44 6540
+-120.44 48.44 6380
+-120.314 48.44 6348
+-120.188 48.44 6280
+-120.062 48.44 6266
+-119.936 48.44 6295
+-119.81 48.44 6387
+-119.684 48.44 6412
+-119.558 48.44 6488
+-119.432 48.44 6538
+-119.306 48.44 6615
+-119.18 48.44 6634
+-119.054 48.44 6658
+-118.928 48.44 6716
+-118.802 48.44 6779
+-118.676 48.44 6784
+-118.55 48.44 6814
+-118.424 48.44 6820
+-118.298 48.44 6808
+-118.172 48.44 6808
+-118.046 48.44 6789
+-117.92 48.44 6749
+-117.794 48.44 6717
+-117.668 48.44 6687
+-117.542 48.44 6655
+-117.416 48.44 6603
+-117.29 48.44 6531
+-117.164 48.44 6540
+-117.038 48.44 6441
+-116.912 48.44 6392
+-116.786 48.44 6323
+-116.66 48.44 6234
+-116.534 48.44 6180
+-116.408 48.44 6070
+-116.282 48.44 5938
+-116.156 48.44 5845
+-116.03 48.44 5828
+-115.904 48.44 5738
+-115.778 48.44 5686
+-115.652 48.44 5594
+-115.526 48.44 5504
+-115.4 48.44 5418
+-115.274 48.44 5240
+-115.148 48.44 5055
+-115.022 48.44 4952
+-114.896 48.44 4836
+-114.77 48.44 4686
+-114.644 48.44 4622
+-114.518 48.44 4489
+-114.392 48.44 4480
+-114.266 48.44 4398
+-114.14 48.44 4297
+-114.014 48.44 4079
+-113.888 48.44 3914
+-113.762 48.44 3935
+-113.636 48.44 3934
+-113.51 48.44 3930
+-113.384 48.44 3928
+-113.258 48.44 3870
+-113.132 48.44 3778
+-113.006 48.44 3643
+-112.88 48.44 3531
+-112.754 48.44 3387
+-112.628 48.44 3160
+-112.502 48.44 2981
+-112.376 48.44 2805
+-112.25 48.44 2632
+-112.124 48.44 2408
+-111.998 48.44 2135
+-111.872 48.44 2006
+-111.746 48.44 2107
+-111.62 48.44 2289
+-111.494 48.44 2473
+-111.368 48.44 2628
+-111.242 48.44 2732
+-111.116 48.44 2829
+-110.99 48.44 2882
+-110.864 48.44 2947
+-110.738 48.44 2969
+-110.612 48.44 3013
+-110.486 48.44 2997
+-110.36 48.44 3028
+-110.234 48.44 3055
+-110.108 48.44 3079
+-109.982 48.44 3085
+-109.856 48.44 3104
+-109.73 48.44 3121
+-109.604 48.44 3137
+-109.478 48.44 3151
+-109.352 48.44 3164
+-109.226 48.44 3176
+-109.1 48.44 3187
+-108.974 48.44 3197
+-108.848 48.44 3206
+-108.722 48.44 3214
+-108.596 48.44 3147
+-108.47 48.44 3140
+-108.344 48.44 3148
+-108.218 48.44 3154
+-108.092 48.44 3161
+-107.966 48.44 3167
+-107.84 48.44 3132
+-107.714 48.44 3131
+-107.588 48.44 3137
+-107.462 48.44 3143
+-107.336 48.44 3126
+-107.21 48.44 3131
+-107.084 48.44 3136
+-106.958 48.44 3140
+-106.832 48.44 3145
+-106.706 48.44 3149
+-106.58 48.44 3153
+-106.454 48.44 3156
+-106.328 48.44 3160
+-106.202 48.44 3163
+-106.076 48.44 3167
+-105.95 48.44 3170
+-105.824 48.44 3173
+-105.698 48.44 3176
+-105.572 48.44 3178
+-105.446 48.44 3146
+-105.32 48.44 3104
+-105.194 48.44 3106
+-105.068 48.44 3108
+-104.942 48.44 3110
+-104.816 48.44 3112
+-104.69 48.44 3114
+-104.564 48.44 3116
+-104.438 48.44 3118
+-104.312 48.44 3119
+-104.186 48.44 3121
+-104.06 48.44 3122
+-103.934 48.44 3124
+-103.808 48.44 3125
+-103.682 48.44 3127
+-103.556 48.44 3128
+-103.43 48.44 3129
+-103.304 48.44 3131
+-103.178 48.44 3090
+-103.052 48.44 3092
+-102.926 48.44 3093
+-102.8 48.44 3094
+-102.674 48.44 3095
+-102.548 48.44 3079
+-102.422 48.44 3059
+-102.296 48.44 3050
+-102.17 48.44 3051
+-102.044 48.44 2999
+-101.918 48.44 2997
+-101.792 48.44 2866
+-101.666 48.44 2897
+-101.54 48.44 2906
+-101.414 48.44 2890
+-101.288 48.44 2939
+-101.162 48.44 2994
+-101.036 48.44 2990
+-100.91 48.44 2988
+-100.784 48.44 2996
+-100.658 48.44 3106
+-100.532 48.44 3106
+-100.406 48.44 3179
+-100.28 48.44 3177
+-100.154 48.44 3176
+-100.028 48.44 3094
+-99.902 48.44 3081
+-99.776 48.44 3059
+-99.65 48.44 3004
+-99.524 48.44 2995
+-99.398 48.44 2982
+-99.272 48.44 2980
+-99.146 48.44 2976
+-99.02 48.44 2959
+-98.894 48.44 2944
+-98.768 48.44 2942
+-98.642 48.44 2940
+-98.516 48.44 2938
+-98.39 48.44 2936
+-98.264 48.44 2934
+-98.138 48.44 2932
+-98.012 48.44 2930
+-97.886 48.44 2927
+-97.76 48.44 2925
+-97.634 48.44 2923
+-97.508 48.44 2920
+-97.382 48.44 2918
+-97.256 48.44 2915
+-97.13 48.44 2913
+-97.004 48.44 2910
+-96.878 48.44 2907
+-96.752 48.44 2905
+-96.626 48.44 2789
+-96.5 48.44 2786
+-96.374 48.44 2771
+-96.248 48.44 2768
+-96.122 48.44 2765
+-95.996 48.44 2762
+-95.87 48.44 2759
+-95.744 48.44 2756
+-95.618 48.44 2753
+-95.492 48.44 2749
+-95.366 48.44 2746
+-95.24 48.44 2743
+-95.114 48.44 2739
+-94.988 48.44 2736
+-94.862 48.44 2732
+-94.736 48.44 2728
+-94.61 48.44 2725
+-94.484 48.44 2721
+-94.358 48.44 2717
+-94.232 48.44 2714
+-94.106 48.44 2710
+-93.98 48.44 2706
+-93.854 48.44 2702
+-93.728 48.44 2699
+-93.602 48.44 2695
+-93.476 48.44 2691
+-93.35 48.44 2687
+-93.224 48.44 2684
+-93.098 48.44 2680
+-92.972 48.44 2677
+-92.846 48.44 2673
+-92.72 48.44 2670
+-92.594 48.44 2666
+-92.468 48.44 2663
+-92.342 48.44 2660
+-92.216 48.44 2657
+-92.09 48.44 2654
+-91.964 48.44 2651
+-91.838 48.44 2649
+-91.712 48.44 2646
+-91.586 48.44 2644
+-91.46 48.44 2642
+-91.334 48.44 2640
+-91.208 48.44 2638
+-91.082 48.44 2636
+-90.956 48.44 2635
+-90.83 48.44 2634
+-90.704 48.44 2633
+-90.578 48.44 2632
+-90.452 48.44 2631
+-90.326 48.44 2631
+-90.2 48.44 2588
+-90.074 48.44 2588
+-89.948 48.44 2588
+-89.822 48.44 2588
+-89.696 48.44 2588
+-89.57 48.44 2588
+-89.444 48.44 2589
+-89.318 48.44 2589
+-89.192 48.44 2590
+-89.066 48.44 2591
+-88.94 48.44 2591
+-88.814 48.44 2592
+-88.688 48.44 2593
+-88.562 48.44 2594
+-88.436 48.44 2595
+-88.31 48.44 2596
+-88.184 48.44 2598
+-88.058 48.44 2599
+-87.932 48.44 2600
+-87.806 48.44 2601
+-87.68 48.44 2602
+-87.554 48.44 2604
+-87.428 48.44 2605
+-87.302 48.44 2606
+-87.176 48.44 2607
+-87.05 48.44 2609
+-86.924 48.44 2610
+-86.798 48.44 2611
+-86.672 48.44 2612
+-86.546 48.44 2614
+-86.42 48.44 2615
+-86.294 48.44 2616
+-86.168 48.44 2617
+-86.042 48.44 2618
+-85.916 48.44 2620
+-85.79 48.44 2621
+-85.664 48.44 2622
+-85.538 48.44 2623
+-85.412 48.44 2624
+-85.286 48.44 2625
+-85.16 48.44 2626
+-85.034 48.44 2627
+-84.908 48.44 2628
+-84.782 48.44 2629
+-84.656 48.44 2630
+-84.53 48.44 2631
+-84.404 48.44 2632
+-84.278 48.44 2633
+-84.152 48.44 2634
+-84.026 48.44 2635
+-83.9 48.44 2636
+-83.774 48.44 2637
+-83.648 48.44 2637
+-83.522 48.44 2638
+-83.396 48.44 2639
+-83.27 48.44 2640
+-83.144 48.44 2641
+-83.018 48.44 2642
+-82.892 48.44 2643
+-82.766 48.44 2654
+-82.64 48.44 2654
+-82.514 48.44 2655
+-82.388 48.44 2656
+-82.262 48.44 2549
+-82.136 48.44 2549
+-82.01 48.44 2550
+-81.884 48.44 2550
+-81.758 48.44 2550
+-81.632 48.44 2551
+-81.506 48.44 2551
+-81.38 48.44 2552
+-81.254 48.44 2552
+-81.128 48.44 2553
+-81.002 48.44 2559
+-80.876 48.44 2568
+-80.75 48.44 2568
+-80.624 48.44 2569
+-80.498 48.44 2569
+-80.372 48.44 2588
+-80.246 48.44 2589
+-80.12 48.44 2589
+-79.994 48.44 2590
+-79.868 48.44 2594
+-79.742 48.44 2722
+-79.616 48.44 2722
+-79.49 48.44 2722
+-79.364 48.44 2729
+-79.238 48.44 2730
+-79.112 48.44 2730
+-78.986 48.44 2748
+-78.86 48.44 2729
+-78.734 48.44 2743
+-78.608 48.44 2744
+-78.482 48.44 2740
+-78.356 48.44 2740
+-78.23 48.44 2741
+-78.104 48.44 2741
+-77.978 48.44 2744
+-77.852 48.44 2830
+-77.726 48.44 2831
+-77.6 48.44 2832
+-77.474 48.44 2832
+-77.348 48.44 2851
+-77.222 48.44 2852
+-77.096 48.44 2832
+-76.97 48.44 2832
+-76.844 48.44 2833
+-76.718 48.44 2834
+-76.592 48.44 2805
+-76.466 48.44 2815
+-76.34 48.44 2816
+-76.214 48.44 2943
+-76.088 48.44 2903
+-75.962 48.44 2904
+-75.836 48.44 3042
+-75.71 48.44 3039
+-75.584 48.44 3000
+-75.458 48.44 3065
+-75.332 48.44 2952
+-75.206 48.44 2984
+-75.08 48.44 3040
+-74.954 48.44 2935
+-74.828 48.44 2942
+-74.702 48.44 2846
+-74.576 48.44 2842
+-74.45 48.44 2859
+-74.324 48.44 2830
+-74.198 48.44 2831
+-74.072 48.44 2831
+-73.946 48.44 2769
+-73.82 48.44 2814
+-73.694 48.44 2805
+-73.568 48.44 2794
+-73.442 48.44 2795
+-73.316 48.44 2796
+-73.19 48.44 2797
+-73.064 48.44 2735
+-72.938 48.44 2730
+-72.812 48.44 2731
+-72.686 48.44 2732
+-72.56 48.44 2733
+-72.434 48.44 2729
+-72.308 48.44 2672
+-72.182 48.44 2778
+-72.056 48.44 2773
+-71.93 48.44 2780
+-71.804 48.44 2780
+-71.678 48.44 2781
+-71.552 48.44 2782
+-71.426 48.44 2808
+-71.3 48.44 2785
+-71.174 48.44 2852
+-71.048 48.44 2853
+-70.922 48.44 2843
+-70.796 48.44 2851
+-70.67 48.44 2852
+-70.544 48.44 2853
+-70.418 48.44 2840
+-70.292 48.44 2956
+-70.166 48.44 2957
+-70.04 48.44 2957
+-69.914 48.44 2958
+-69.788 48.44 3058
+-69.662 48.44 3010
+-69.536 48.44 3158
+-69.41 48.44 3159
+-69.284 48.44 3120
+-69.158 48.44 3121
+-69.032 48.44 3121
+-68.906 48.44 3122
+-68.78 48.44 3122
+-68.654 48.44 3122
+-68.528 48.44 3223
+-68.402 48.44 3218
+-68.276 48.44 3218
+-68.15 48.44 3219
+-68.024 48.44 3219
+-67.898 48.44 3160
+-67.772 48.44 3198
+-67.646 48.44 3199
+-67.52 48.44 3279
+-67.394 48.44 3185
+-67.268 48.44 3185
+-67.142 48.44 3186
+-67.016 48.44 3236
+-66.89 48.44 3188
+-66.764 48.44 3188
+-66.638 48.44 3189
+-66.512 48.44 3416
+-66.386 48.44 3359
+-66.26 48.44 3360
+-66.134 48.44 3494
+-66.008 48.44 3465
+-65.882 48.44 3466
+-65.756 48.44 3410
+-65.63 48.44 3482
+-65.504 48.44 3483
+-65.378 48.44 3484
+-65.252 48.44 3484
+-65.126 48.44 3484
+-128 48.388 4320
+-127.874 48.388 4276
+-127.748 48.388 4259
+-127.622 48.388 4357
+-127.496 48.388 4437
+-127.37 48.388 4525
+-127.244 48.388 4704
+-127.118 48.388 4879
+-126.992 48.388 4973
+-126.866 48.388 5125
+-126.74 48.388 5293
+-126.614 48.388 5352
+-126.488 48.388 5488
+-126.362 48.388 5609
+-126.236 48.388 5767
+-126.11 48.388 5913
+-125.984 48.388 5975
+-125.858 48.388 6094
+-125.732 48.388 6214
+-125.606 48.388 6309
+-125.48 48.388 6430
+-125.354 48.388 6547
+-125.228 48.388 6676
+-125.102 48.388 6837
+-124.976 48.388 6948
+-124.85 48.388 6964
+-124.724 48.388 7135
+-124.598 48.388 7277
+-124.472 48.388 7303
+-124.346 48.388 7407
+-124.22 48.388 7521
+-124.094 48.388 7624
+-123.968 48.388 7744
+-123.842 48.388 7805
+-123.716 48.388 7866
+-123.59 48.388 7919
+-123.464 48.388 7964
+-123.338 48.388 8028
+-123.212 48.388 8048
+-123.086 48.388 8091
+-122.96 48.388 8087
+-122.834 48.388 8095
+-122.708 48.388 8018
+-122.582 48.388 8043
+-122.456 48.388 7964
+-122.33 48.388 7907
+-122.204 48.388 7847
+-122.078 48.388 7797
+-121.952 48.388 7732
+-121.826 48.388 7630
+-121.7 48.388 7526
+-121.574 48.388 7467
+-121.448 48.388 7290
+-121.322 48.388 7252
+-121.196 48.388 7141
+-121.07 48.388 7002
+-120.944 48.388 6902
+-120.818 48.388 6785
+-120.692 48.388 6708
+-120.566 48.388 6563
+-120.44 48.388 6434
+-120.314 48.388 6356
+-120.188 48.388 6320
+-120.062 48.388 6254
+-119.936 48.388 6364
+-119.81 48.388 6411
+-119.684 48.388 6452
+-119.558 48.388 6531
+-119.432 48.388 6604
+-119.306 48.388 6633
+-119.18 48.388 6695
+-119.054 48.388 6729
+-118.928 48.388 6793
+-118.802 48.388 6815
+-118.676 48.388 6847
+-118.55 48.388 6847
+-118.424 48.388 6856
+-118.298 48.388 6872
+-118.172 48.388 6863
+-118.046 48.388 6835
+-117.92 48.388 6834
+-117.794 48.388 6792
+-117.668 48.388 6760
+-117.542 48.388 6729
+-117.416 48.388 6675
+-117.29 48.388 6582
+-117.164 48.388 6519
+-117.038 48.388 6491
+-116.912 48.388 6418
+-116.786 48.388 6369
+-116.66 48.388 6307
+-116.534 48.388 6219
+-116.408 48.388 6099
+-116.282 48.388 5980
+-116.156 48.388 5879
+-116.03 48.388 5818
+-115.904 48.388 5748
+-115.778 48.388 5703
+-115.652 48.388 5604
+-115.526 48.388 5505
+-115.4 48.388 5416
+-115.274 48.388 5302
+-115.148 48.388 5109
+-115.022 48.388 4945
+-114.896 48.388 4814
+-114.77 48.388 4712
+-114.644 48.388 4633
+-114.518 48.388 4573
+-114.392 48.388 4486
+-114.266 48.388 4360
+-114.14 48.388 4333
+-114.014 48.388 4144
+-113.888 48.388 3973
+-113.762 48.388 3840
+-113.636 48.388 3889
+-113.51 48.388 3903
+-113.384 48.388 3924
+-113.258 48.388 3874
+-113.132 48.388 3767
+-113.006 48.388 3670
+-112.88 48.388 3518
+-112.754 48.388 3353
+-112.628 48.388 3149
+-112.502 48.388 2889
+-112.376 48.388 2710
+-112.25 48.388 2585
+-112.124 48.388 2457
+-111.998 48.388 2250
+-111.872 48.388 2126
+-111.746 48.388 2188
+-111.62 48.388 2344
+-111.494 48.388 2507
+-111.368 48.388 2649
+-111.242 48.388 2767
+-111.116 48.388 2856
+-110.99 48.388 2891
+-110.864 48.388 2954
+-110.738 48.388 3008
+-110.612 48.388 3054
+-110.486 48.388 3003
+-110.36 48.388 3034
+-110.234 48.388 3061
+-110.108 48.388 3069
+-109.982 48.388 3091
+-109.856 48.388 3110
+-109.73 48.388 3128
+-109.604 48.388 3143
+-109.478 48.388 3157
+-109.352 48.388 3170
+-109.226 48.388 3182
+-109.1 48.388 3193
+-108.974 48.388 3202
+-108.848 48.388 3211
+-108.722 48.388 3144
+-108.596 48.388 3138
+-108.47 48.388 3146
+-108.344 48.388 3153
+-108.218 48.388 3160
+-108.092 48.388 3166
+-107.966 48.388 3131
+-107.84 48.388 3131
+-107.714 48.388 3137
+-107.588 48.388 3143
+-107.462 48.388 3126
+-107.336 48.388 3131
+-107.21 48.388 3136
+-107.084 48.388 3141
+-106.958 48.388 3145
+-106.832 48.388 3149
+-106.706 48.388 3153
+-106.58 48.388 3157
+-106.454 48.388 3161
+-106.328 48.388 3164
+-106.202 48.388 3168
+-106.076 48.388 3171
+-105.95 48.388 3174
+-105.824 48.388 3177
+-105.698 48.388 3179
+-105.572 48.388 3147
+-105.446 48.388 3104
+-105.32 48.388 3107
+-105.194 48.388 3109
+-105.068 48.388 3111
+-104.942 48.388 3113
+-104.816 48.388 3115
+-104.69 48.388 3117
+-104.564 48.388 3118
+-104.438 48.388 3120
+-104.312 48.388 3122
+-104.186 48.388 3123
+-104.06 48.388 3125
+-103.934 48.388 3126
+-103.808 48.388 3127
+-103.682 48.388 3129
+-103.556 48.388 3130
+-103.43 48.388 3131
+-103.304 48.388 3133
+-103.178 48.388 3092
+-103.052 48.388 3093
+-102.926 48.388 3094
+-102.8 48.388 3095
+-102.674 48.388 3096
+-102.548 48.388 3081
+-102.422 48.388 3060
+-102.296 48.388 3051
+-102.17 48.388 3053
+-102.044 48.388 3000
+-101.918 48.388 2998
+-101.792 48.388 2868
+-101.666 48.388 2898
+-101.54 48.388 2908
+-101.414 48.388 2892
+-101.288 48.388 2940
+-101.162 48.388 2996
+-101.036 48.388 2991
+-100.91 48.388 2994
+-100.784 48.388 3106
+-100.658 48.388 3106
+-100.532 48.388 3181
+-100.406 48.388 3179
+-100.28 48.388 3178
+-100.154 48.388 3176
+-100.028 48.388 3175
+-99.902 48.388 3093
+-99.776 48.388 3080
+-99.65 48.388 3058
+-99.524 48.388 3003
+-99.398 48.388 2994
+-99.272 48.388 2981
+-99.146 48.388 2979
+-99.02 48.388 2975
+-98.894 48.388 2957
+-98.768 48.388 2942
+-98.642 48.388 2940
+-98.516 48.388 2938
+-98.39 48.388 2936
+-98.264 48.388 2934
+-98.138 48.388 2932
+-98.012 48.388 2930
+-97.886 48.388 2927
+-97.76 48.388 2925
+-97.634 48.388 2923
+-97.508 48.388 2920
+-97.382 48.388 2918
+-97.256 48.388 2915
+-97.13 48.388 2913
+-97.004 48.388 2910
+-96.878 48.388 2907
+-96.752 48.388 2904
+-96.626 48.388 2902
+-96.5 48.388 2786
+-96.374 48.388 2783
+-96.248 48.388 2768
+-96.122 48.388 2765
+-95.996 48.388 2762
+-95.87 48.388 2759
+-95.744 48.388 2756
+-95.618 48.388 2752
+-95.492 48.388 2749
+-95.366 48.388 2745
+-95.24 48.388 2742
+-95.114 48.388 2738
+-94.988 48.388 2735
+-94.862 48.388 2731
+-94.736 48.388 2727
+-94.61 48.388 2723
+-94.484 48.388 2720
+-94.358 48.388 2716
+-94.232 48.388 2712
+-94.106 48.388 2708
+-93.98 48.388 2704
+-93.854 48.388 2700
+-93.728 48.388 2696
+-93.602 48.388 2692
+-93.476 48.388 2688
+-93.35 48.388 2684
+-93.224 48.388 2681
+-93.098 48.388 2677
+-92.972 48.388 2673
+-92.846 48.388 2669
+-92.72 48.388 2666
+-92.594 48.388 2662
+-92.468 48.388 2659
+-92.342 48.388 2656
+-92.216 48.388 2653
+-92.09 48.388 2649
+-91.964 48.388 2647
+-91.838 48.388 2644
+-91.712 48.388 2641
+-91.586 48.388 2639
+-91.46 48.388 2637
+-91.334 48.388 2635
+-91.208 48.388 2633
+-91.082 48.388 2631
+-90.956 48.388 2630
+-90.83 48.388 2628
+-90.704 48.388 2627
+-90.578 48.388 2626
+-90.452 48.388 2626
+-90.326 48.388 2625
+-90.2 48.388 2583
+-90.074 48.388 2583
+-89.948 48.388 2583
+-89.822 48.388 2583
+-89.696 48.388 2583
+-89.57 48.388 2584
+-89.444 48.388 2584
+-89.318 48.388 2585
+-89.192 48.388 2586
+-89.066 48.388 2586
+-88.94 48.388 2587
+-88.814 48.388 2588
+-88.688 48.388 2589
+-88.562 48.388 2590
+-88.436 48.388 2592
+-88.31 48.388 2593
+-88.184 48.388 2594
+-88.058 48.388 2595
+-87.932 48.388 2597
+-87.806 48.388 2598
+-87.68 48.388 2599
+-87.554 48.388 2601
+-87.428 48.388 2602
+-87.302 48.388 2603
+-87.176 48.388 2605
+-87.05 48.388 2606
+-86.924 48.388 2607
+-86.798 48.388 2609
+-86.672 48.388 2610
+-86.546 48.388 2611
+-86.42 48.388 2613
+-86.294 48.388 2614
+-86.168 48.388 2615
+-86.042 48.388 2616
+-85.916 48.388 2618
+-85.79 48.388 2619
+-85.664 48.388 2620
+-85.538 48.388 2621
+-85.412 48.388 2622
+-85.286 48.388 2623
+-85.16 48.388 2624
+-85.034 48.388 2625
+-84.908 48.388 2626
+-84.782 48.388 2627
+-84.656 48.388 2628
+-84.53 48.388 2629
+-84.404 48.388 2630
+-84.278 48.388 2631
+-84.152 48.388 2632
+-84.026 48.388 2633
+-83.9 48.388 2634
+-83.774 48.388 2635
+-83.648 48.388 2636
+-83.522 48.388 2637
+-83.396 48.388 2638
+-83.27 48.388 2639
+-83.144 48.388 2640
+-83.018 48.388 2640
+-82.892 48.388 2651
+-82.766 48.388 2652
+-82.64 48.388 2653
+-82.514 48.388 2654
+-82.388 48.388 2547
+-82.262 48.388 2548
+-82.136 48.388 2548
+-82.01 48.388 2549
+-81.884 48.388 2549
+-81.758 48.388 2549
+-81.632 48.388 2550
+-81.506 48.388 2550
+-81.38 48.388 2551
+-81.254 48.388 2551
+-81.128 48.388 2558
+-81.002 48.388 2566
+-80.876 48.388 2567
+-80.75 48.388 2567
+-80.624 48.388 2568
+-80.498 48.388 2586
+-80.372 48.388 2587
+-80.246 48.388 2588
+-80.12 48.388 2588
+-79.994 48.388 2592
+-79.868 48.388 2720
+-79.742 48.388 2720
+-79.616 48.388 2721
+-79.49 48.388 2728
+-79.364 48.388 2728
+-79.238 48.388 2729
+-79.112 48.388 2746
+-78.986 48.388 2727
+-78.86 48.388 2742
+-78.734 48.388 2742
+-78.608 48.388 2738
+-78.482 48.388 2739
+-78.356 48.388 2739
+-78.23 48.388 2740
+-78.104 48.388 2742
+-77.978 48.388 2829
+-77.852 48.388 2829
+-77.726 48.388 2830
+-77.6 48.388 2831
+-77.474 48.388 2849
+-77.348 48.388 2850
+-77.222 48.388 2830
+-77.096 48.388 2831
+-76.97 48.388 2832
+-76.844 48.388 2832
+-76.718 48.388 2804
+-76.592 48.388 2814
+-76.466 48.388 2814
+-76.34 48.388 2941
+-76.214 48.388 2901
+-76.088 48.388 2902
+-75.962 48.388 3040
+-75.836 48.388 3037
+-75.71 48.388 2998
+-75.584 48.388 3063
+-75.458 48.388 2951
+-75.332 48.388 2982
+-75.206 48.388 3038
+-75.08 48.388 2934
+-74.954 48.388 2941
+-74.828 48.388 2845
+-74.702 48.388 2841
+-74.576 48.388 2858
+-74.45 48.388 2828
+-74.324 48.388 2829
+-74.198 48.388 2830
+-74.072 48.388 2768
+-73.946 48.388 2812
+-73.82 48.388 2804
+-73.694 48.388 2793
+-73.568 48.388 2794
+-73.442 48.388 2795
+-73.316 48.388 2796
+-73.19 48.388 2735
+-73.064 48.388 2729
+-72.938 48.388 2730
+-72.812 48.388 2731
+-72.686 48.388 2732
+-72.56 48.388 2728
+-72.434 48.388 2672
+-72.308 48.388 2777
+-72.182 48.388 2773
+-72.056 48.388 2779
+-71.93 48.388 2780
+-71.804 48.388 2780
+-71.678 48.388 2781
+-71.552 48.388 2807
+-71.426 48.388 2784
+-71.3 48.388 2851
+-71.174 48.388 2852
+-71.048 48.388 2842
+-70.922 48.388 2850
+-70.796 48.388 2851
+-70.67 48.388 2852
+-70.544 48.388 2839
+-70.418 48.388 2955
+-70.292 48.388 2956
+-70.166 48.388 2957
+-70.04 48.388 2958
+-69.914 48.388 3057
+-69.788 48.388 3009
+-69.662 48.388 3158
+-69.536 48.388 3158
+-69.41 48.388 3120
+-69.284 48.388 3120
+-69.158 48.388 3121
+-69.032 48.388 3121
+-68.906 48.388 3122
+-68.78 48.388 3122
+-68.654 48.388 3223
+-68.528 48.388 3217
+-68.402 48.388 3218
+-68.276 48.388 3218
+-68.15 48.388 3219
+-68.024 48.388 3160
+-67.898 48.388 3198
+-67.772 48.388 3198
+-67.646 48.388 3279
+-67.52 48.388 3184
+-67.394 48.388 3185
+-67.268 48.388 3185
+-67.142 48.388 3236
+-67.016 48.388 3187
+-66.89 48.388 3188
+-66.764 48.388 3189
+-66.638 48.388 3416
+-66.512 48.388 3359
+-66.386 48.388 3359
+-66.26 48.388 3494
+-66.134 48.388 3465
+-66.008 48.388 3465
+-65.882 48.388 3409
+-65.756 48.388 3482
+-65.63 48.388 3483
+-65.504 48.388 3483
+-65.378 48.388 3484
+-65.252 48.388 3484
+-65.126 48.388 3484
+-128 48.336 4339
+-127.874 48.336 4267
+-127.748 48.336 4144
+-127.622 48.336 4342
+-127.496 48.336 4428
+-127.37 48.336 4561
+-127.244 48.336 4729
+-127.118 48.336 4926
+-126.992 48.336 5094
+-126.866 48.336 5197
+-126.74 48.336 5314
+-126.614 48.336 5400
+-126.488 48.336 5513
+-126.362 48.336 5529
+-126.236 48.336 5763
+-126.11 48.336 5846
+-125.984 48.336 6003
+-125.858 48.336 6127
+-125.732 48.336 6165
+-125.606 48.336 6302
+-125.48 48.336 6479
+-125.354 48.336 6576
+-125.228 48.336 6729
+-125.102 48.336 6851
+-124.976 48.336 6975
+-124.85 48.336 7072
+-124.724 48.336 7183
+-124.598 48.336 7255
+-124.472 48.336 7418
+-124.346 48.336 7455
+-124.22 48.336 7595
+-124.094 48.336 7674
+-123.968 48.336 7770
+-123.842 48.336 7854
+-123.716 48.336 7891
+-123.59 48.336 7969
+-123.464 48.336 8036
+-123.338 48.336 8068
+-123.212 48.336 8115
+-123.086 48.336 8112
+-122.96 48.336 8126
+-122.834 48.336 8142
+-122.708 48.336 8107
+-122.582 48.336 8081
+-122.456 48.336 8039
+-122.33 48.336 7964
+-122.204 48.336 7889
+-122.078 48.336 7818
+-121.952 48.336 7751
+-121.826 48.336 7651
+-121.7 48.336 7579
+-121.574 48.336 7468
+-121.448 48.336 7381
+-121.322 48.336 7288
+-121.196 48.336 7181
+-121.07 48.336 7046
+-120.944 48.336 6918
+-120.818 48.336 6805
+-120.692 48.336 6758
+-120.566 48.336 6606
+-120.44 48.336 6476
+-120.314 48.336 6396
+-120.188 48.336 6339
+-120.062 48.336 6342
+-119.936 48.336 6394
+-119.81 48.336 6468
+-119.684 48.336 6537
+-119.558 48.336 6591
+-119.432 48.336 6642
+-119.306 48.336 6693
+-119.18 48.336 6750
+-119.054 48.336 6807
+-118.928 48.336 6876
+-118.802 48.336 6876
+-118.676 48.336 6924
+-118.55 48.336 6899
+-118.424 48.336 6912
+-118.298 48.336 6934
+-118.172 48.336 6900
+-118.046 48.336 6896
+-117.92 48.336 6865
+-117.794 48.336 6829
+-117.668 48.336 6829
+-117.542 48.336 6760
+-117.416 48.336 6742
+-117.29 48.336 6641
+-117.164 48.336 6587
+-117.038 48.336 6578
+-116.912 48.336 6473
+-116.786 48.336 6410
+-116.66 48.336 6315
+-116.534 48.336 6266
+-116.408 48.336 6170
+-116.282 48.336 6040
+-116.156 48.336 5931
+-116.03 48.336 5879
+-115.904 48.336 5768
+-115.778 48.336 5706
+-115.652 48.336 5588
+-115.526 48.336 5448
+-115.4 48.336 5394
+-115.274 48.336 5330
+-115.148 48.336 5108
+-115.022 48.336 4944
+-114.896 48.336 4820
+-114.77 48.336 4746
+-114.644 48.336 4651
+-114.518 48.336 4624
+-114.392 48.336 4539
+-114.266 48.336 4442
+-114.14 48.336 4378
+-114.014 48.336 4227
+-113.888 48.336 4057
+-113.762 48.336 3916
+-113.636 48.336 3796
+-113.51 48.336 3882
+-113.384 48.336 3945
+-113.258 48.336 3885
+-113.132 48.336 3768
+-113.006 48.336 3671
+-112.88 48.336 3534
+-112.754 48.336 3324
+-112.628 48.336 3098
+-112.502 48.336 2812
+-112.376 48.336 2595
+-112.25 48.336 2498
+-112.124 48.336 2495
+-111.998 48.336 2437
+-111.872 48.336 2352
+-111.746 48.336 2374
+-111.62 48.336 2469
+-111.494 48.336 2588
+-111.368 48.336 2702
+-111.242 48.336 2803
+-111.116 48.336 2881
+-110.99 48.336 2953
+-110.864 48.336 2970
+-110.738 48.336 3021
+-110.612 48.336 3065
+-110.486 48.336 3102
+-110.36 48.336 3066
+-110.234 48.336 3055
+-110.108 48.336 3079
+-109.982 48.336 3100
+-109.856 48.336 3119
+-109.73 48.336 3136
+-109.604 48.336 3151
+-109.478 48.336 3165
+-109.352 48.336 3177
+-109.226 48.336 3189
+-109.1 48.336 3199
+-108.974 48.336 3209
+-108.848 48.336 3141
+-108.722 48.336 3136
+-108.596 48.336 3144
+-108.47 48.336 3151
+-108.344 48.336 3158
+-108.218 48.336 3165
+-108.092 48.336 3131
+-107.966 48.336 3130
+-107.84 48.336 3137
+-107.714 48.336 3143
+-107.588 48.336 3126
+-107.462 48.336 3132
+-107.336 48.336 3137
+-107.21 48.336 3141
+-107.084 48.336 3146
+-106.958 48.336 3150
+-106.832 48.336 3154
+-106.706 48.336 3158
+-106.58 48.336 3162
+-106.454 48.336 3165
+-106.328 48.336 3169
+-106.202 48.336 3172
+-106.076 48.336 3175
+-105.95 48.336 3178
+-105.824 48.336 3181
+-105.698 48.336 3148
+-105.572 48.336 3105
+-105.446 48.336 3107
+-105.32 48.336 3110
+-105.194 48.336 3112
+-105.068 48.336 3114
+-104.942 48.336 3116
+-104.816 48.336 3117
+-104.69 48.336 3119
+-104.564 48.336 3121
+-104.438 48.336 3123
+-104.312 48.336 3124
+-104.186 48.336 3126
+-104.06 48.336 3127
+-103.934 48.336 3128
+-103.808 48.336 3130
+-103.682 48.336 3131
+-103.556 48.336 3132
+-103.43 48.336 3133
+-103.304 48.336 3135
+-103.178 48.336 3094
+-103.052 48.336 3095
+-102.926 48.336 3096
+-102.8 48.336 3097
+-102.674 48.336 3098
+-102.548 48.336 3082
+-102.422 48.336 3061
+-102.296 48.336 3052
+-102.17 48.336 3054
+-102.044 48.336 3002
+-101.918 48.336 3000
+-101.792 48.336 2859
+-101.666 48.336 2850
+-101.54 48.336 2863
+-101.414 48.336 2851
+-101.288 48.336 2907
+-101.162 48.336 2967
+-101.036 48.336 3082
+-100.91 48.336 2996
+-100.784 48.336 3107
+-100.658 48.336 3107
+-100.532 48.336 3193
+-100.406 48.336 3180
+-100.28 48.336 3178
+-100.154 48.336 3177
+-100.028 48.336 3175
+-99.902 48.336 3173
+-99.776 48.336 3092
+-99.65 48.336 3078
+-99.524 48.336 3056
+-99.398 48.336 3002
+-99.272 48.336 2993
+-99.146 48.336 2979
+-99.02 48.336 2977
+-98.894 48.336 2973
+-98.768 48.336 2956
+-98.642 48.336 2941
+-98.516 48.336 2939
+-98.39 48.336 2936
+-98.264 48.336 2934
+-98.138 48.336 2932
+-98.012 48.336 2930
+-97.886 48.336 2928
+-97.76 48.336 2925
+-97.634 48.336 2923
+-97.508 48.336 2920
+-97.382 48.336 2918
+-97.256 48.336 2915
+-97.13 48.336 2913
+-97.004 48.336 2910
+-96.878 48.336 2907
+-96.752 48.336 2904
+-96.626 48.336 2901
+-96.5 48.336 2898
+-96.374 48.336 2783
+-96.248 48.336 2780
+-96.122 48.336 2765
+-95.996 48.336 2762
+-95.87 48.336 2759
+-95.744 48.336 2755
+-95.618 48.336 2752
+-95.492 48.336 2748
+-95.366 48.336 2745
+-95.24 48.336 2741
+-95.114 48.336 2737
+-94.988 48.336 2734
+-94.862 48.336 2730
+-94.736 48.336 2726
+-94.61 48.336 2722
+-94.484 48.336 2718
+-94.358 48.336 2714
+-94.232 48.336 2710
+-94.106 48.336 2706
+-93.98 48.336 2702
+-93.854 48.336 2698
+-93.728 48.336 2694
+-93.602 48.336 2690
+-93.476 48.336 2685
+-93.35 48.336 2681
+-93.224 48.336 2677
+-93.098 48.336 2673
+-92.972 48.336 2670
+-92.846 48.336 2666
+-92.72 48.336 2662
+-92.594 48.336 2658
+-92.468 48.336 2655
+-92.342 48.336 2651
+-92.216 48.336 2648
+-92.09 48.336 2645
+-91.964 48.336 2642
+-91.838 48.336 2639
+-91.712 48.336 2636
+-91.586 48.336 2634
+-91.46 48.336 2631
+-91.334 48.336 2629
+-91.208 48.336 2627
+-91.082 48.336 2626
+-90.956 48.336 2624
+-90.83 48.336 2623
+-90.704 48.336 2622
+-90.578 48.336 2621
+-90.452 48.336 2620
+-90.326 48.336 2620
+-90.2 48.336 2578
+-90.074 48.336 2578
+-89.948 48.336 2578
+-89.822 48.336 2578
+-89.696 48.336 2578
+-89.57 48.336 2579
+-89.444 48.336 2580
+-89.318 48.336 2580
+-89.192 48.336 2581
+-89.066 48.336 2582
+-88.94 48.336 2583
+-88.814 48.336 2584
+-88.688 48.336 2585
+-88.562 48.336 2587
+-88.436 48.336 2588
+-88.31 48.336 2589
+-88.184 48.336 2591
+-88.058 48.336 2592
+-87.932 48.336 2593
+-87.806 48.336 2595
+-87.68 48.336 2596
+-87.554 48.336 2598
+-87.428 48.336 2599
+-87.302 48.336 2601
+-87.176 48.336 2602
+-87.05 48.336 2604
+-86.924 48.336 2605
+-86.798 48.336 2606
+-86.672 48.336 2608
+-86.546 48.336 2609
+-86.42 48.336 2610
+-86.294 48.336 2612
+-86.168 48.336 2613
+-86.042 48.336 2614
+-85.916 48.336 2616
+-85.79 48.336 2617
+-85.664 48.336 2618
+-85.538 48.336 2619
+-85.412 48.336 2620
+-85.286 48.336 2621
+-85.16 48.336 2623
+-85.034 48.336 2624
+-84.908 48.336 2625
+-84.782 48.336 2626
+-84.656 48.336 2627
+-84.53 48.336 2628
+-84.404 48.336 2629
+-84.278 48.336 2630
+-84.152 48.336 2631
+-84.026 48.336 2632
+-83.9 48.336 2633
+-83.774 48.336 2634
+-83.648 48.336 2635
+-83.522 48.336 2636
+-83.396 48.336 2636
+-83.27 48.336 2637
+-83.144 48.336 2638
+-83.018 48.336 2649
+-82.892 48.336 2650
+-82.766 48.336 2651
+-82.64 48.336 2652
+-82.514 48.336 2546
+-82.388 48.336 2546
+-82.262 48.336 2546
+-82.136 48.336 2547
+-82.01 48.336 2547
+-81.884 48.336 2548
+-81.758 48.336 2548
+-81.632 48.336 2549
+-81.506 48.336 2549
+-81.38 48.336 2549
+-81.254 48.336 2556
+-81.128 48.336 2565
+-81.002 48.336 2565
+-80.876 48.336 2566
+-80.75 48.336 2566
+-80.624 48.336 2585
+-80.498 48.336 2586
+-80.372 48.336 2586
+-80.246 48.336 2587
+-80.12 48.336 2591
+-79.994 48.336 2718
+-79.868 48.336 2719
+-79.742 48.336 2719
+-79.616 48.336 2726
+-79.49 48.336 2726
+-79.364 48.336 2727
+-79.238 48.336 2744
+-79.112 48.336 2726
+-78.986 48.336 2740
+-78.86 48.336 2741
+-78.734 48.336 2737
+-78.608 48.336 2737
+-78.482 48.336 2738
+-78.356 48.336 2738
+-78.23 48.336 2740
+-78.104 48.336 2827
+-77.978 48.336 2828
+-77.852 48.336 2828
+-77.726 48.336 2829
+-77.6 48.336 2847
+-77.474 48.336 2848
+-77.348 48.336 2828
+-77.222 48.336 2829
+-77.096 48.336 2830
+-76.97 48.336 2831
+-76.844 48.336 2802
+-76.718 48.336 2812
+-76.592 48.336 2813
+-76.466 48.336 2940
+-76.34 48.336 2900
+-76.214 48.336 2901
+-76.088 48.336 3038
+-75.962 48.336 3035
+-75.836 48.336 2997
+-75.71 48.336 3061
+-75.584 48.336 2949
+-75.458 48.336 2980
+-75.332 48.336 3036
+-75.206 48.336 2932
+-75.08 48.336 2939
+-74.954 48.336 2843
+-74.828 48.336 2840
+-74.702 48.336 2856
+-74.576 48.336 2827
+-74.45 48.336 2828
+-74.324 48.336 2829
+-74.198 48.336 2767
+-74.072 48.336 2811
+-73.946 48.336 2803
+-73.82 48.336 2792
+-73.694 48.336 2793
+-73.568 48.336 2794
+-73.442 48.336 2795
+-73.316 48.336 2734
+-73.19 48.336 2729
+-73.064 48.336 2729
+-72.938 48.336 2730
+-72.812 48.336 2731
+-72.686 48.336 2727
+-72.56 48.336 2671
+-72.434 48.336 2776
+-72.308 48.336 2772
+-72.182 48.336 2778
+-72.056 48.336 2779
+-71.93 48.336 2780
+-71.804 48.336 2780
+-71.678 48.336 2806
+-71.552 48.336 2783
+-71.426 48.336 2851
+-71.3 48.336 2851
+-71.174 48.336 2842
+-71.048 48.336 2850
+-70.922 48.336 2850
+-70.796 48.336 2851
+-70.67 48.336 2838
+-70.544 48.336 2955
+-70.418 48.336 2955
+-70.292 48.336 2956
+-70.166 48.336 2957
+-70.04 48.336 3057
+-69.914 48.336 3009
+-69.788 48.336 3157
+-69.662 48.336 3158
+-69.536 48.336 3120
+-69.41 48.336 3120
+-69.284 48.336 3120
+-69.158 48.336 3121
+-69.032 48.336 3121
+-68.906 48.336 3122
+-68.78 48.336 3222
+-68.654 48.336 3217
+-68.528 48.336 3217
+-68.402 48.336 3218
+-68.276 48.336 3218
+-68.15 48.336 3159
+-68.024 48.336 3197
+-67.898 48.336 3198
+-67.772 48.336 3278
+-67.646 48.336 3184
+-67.52 48.336 3184
+-67.394 48.336 3185
+-67.268 48.336 3235
+-67.142 48.336 3187
+-67.016 48.336 3187
+-66.89 48.336 3188
+-66.764 48.336 3415
+-66.638 48.336 3359
+-66.512 48.336 3359
+-66.386 48.336 3493
+-66.26 48.336 3464
+-66.134 48.336 3465
+-66.008 48.336 3409
+-65.882 48.336 3482
+-65.756 48.336 3483
+-65.63 48.336 3483
+-65.504 48.336 3483
+-65.378 48.336 3484
+-65.252 48.336 3483
+-65.126 48.336 3484
+-128 48.284 4370
+-127.874 48.284 4329
+-127.748 48.284 4305
+-127.622 48.284 4377
+-127.496 48.284 4483
+-127.37 48.284 4620
+-127.244 48.284 4789
+-127.118 48.284 4949
+-126.992 48.284 5129
+-126.866 48.284 5204
+-126.74 48.284 5319
+-126.614 48.284 5335
+-126.488 48.284 5518
+-126.362 48.284 5645
+-126.236 48.284 5717
+-126.11 48.284 5887
+-125.984 48.284 5975
+-125.858 48.284 6091
+-125.732 48.284 6260
+-125.606 48.284 6314
+-125.48 48.284 6484
+-125.354 48.284 6625
+-125.228 48.284 6757
+-125.102 48.284 6910
+-124.976 48.284 7001
+-124.85 48.284 7067
+-124.724 48.284 7165
+-124.598 48.284 7346
+-124.472 48.284 7400
+-124.346 48.284 7469
+-124.22 48.284 7593
+-124.094 48.284 7762
+-123.968 48.284 7764
+-123.842 48.284 7908
+-123.716 48.284 7957
+-123.59 48.284 8041
+-123.464 48.284 8083
+-123.338 48.284 8115
+-123.212 48.284 8155
+-123.086 48.284 8159
+-122.96 48.284 8198
+-122.834 48.284 8194
+-122.708 48.284 8148
+-122.582 48.284 8118
+-122.456 48.284 8104
+-122.33 48.284 8048
+-122.204 48.284 7933
+-122.078 48.284 7838
+-121.952 48.284 7820
+-121.826 48.284 7722
+-121.7 48.284 7634
+-121.574 48.284 7495
+-121.448 48.284 7376
+-121.322 48.284 7292
+-121.196 48.284 7200
+-121.07 48.284 7086
+-120.944 48.284 6988
+-120.818 48.284 6827
+-120.692 48.284 6682
+-120.566 48.284 6607
+-120.44 48.284 6457
+-120.314 48.284 6357
+-120.188 48.284 6239
+-120.062 48.284 6367
+-119.936 48.284 6445
+-119.81 48.284 6497
+-119.684 48.284 6582
+-119.558 48.284 6633
+-119.432 48.284 6706
+-119.306 48.284 6759
+-119.18 48.284 6823
+-119.054 48.284 6852
+-118.928 48.284 6890
+-118.802 48.284 6931
+-118.676 48.284 6955
+-118.55 48.284 6962
+-118.424 48.284 6981
+-118.298 48.284 6994
+-118.172 48.284 6976
+-118.046 48.284 6970
+-117.92 48.284 6939
+-117.794 48.284 6922
+-117.668 48.284 6867
+-117.542 48.284 6847
+-117.416 48.284 6796
+-117.29 48.284 6708
+-117.164 48.284 6675
+-117.038 48.284 6584
+-116.912 48.284 6533
+-116.786 48.284 6456
+-116.66 48.284 6397
+-116.534 48.284 6323
+-116.408 48.284 6205
+-116.282 48.284 6079
+-116.156 48.284 5981
+-116.03 48.284 5888
+-115.904 48.284 5790
+-115.778 48.284 5705
+-115.652 48.284 5628
+-115.526 48.284 5514
+-115.4 48.284 5429
+-115.274 48.284 5321
+-115.148 48.284 5111
+-115.022 48.284 4961
+-114.896 48.284 4852
+-114.77 48.284 4832
+-114.644 48.284 4712
+-114.518 48.284 4619
+-114.392 48.284 4601
+-114.266 48.284 4528
+-114.14 48.284 4431
+-114.014 48.284 4312
+-113.888 48.284 4175
+-113.762 48.284 4016
+-113.636 48.284 3923
+-113.51 48.284 3941
+-113.384 48.284 3957
+-113.258 48.284 3903
+-113.132 48.284 3811
+-113.006 48.284 3692
+-112.88 48.284 3550
+-112.754 48.284 3344
+-112.628 48.284 3080
+-112.502 48.284 2774
+-112.376 48.284 2529
+-112.25 48.284 2433
+-112.124 48.284 2490
+-111.998 48.284 2528
+-111.872 48.284 2528
+-111.746 48.284 2548
+-111.62 48.284 2606
+-111.494 48.284 2687
+-111.368 48.284 2773
+-111.242 48.284 2846
+-111.116 48.284 2918
+-110.99 48.284 2962
+-110.864 48.284 3018
+-110.738 48.284 3067
+-110.612 48.284 3109
+-110.486 48.284 3147
+-110.36 48.284 3147
+-110.234 48.284 3105
+-110.108 48.284 3090
+-109.982 48.284 3110
+-109.856 48.284 3128
+-109.73 48.284 3145
+-109.604 48.284 3160
+-109.478 48.284 3173
+-109.352 48.284 3185
+-109.226 48.284 3196
+-109.1 48.284 3206
+-108.974 48.284 3139
+-108.848 48.284 3134
+-108.722 48.284 3142
+-108.596 48.284 3150
+-108.47 48.284 3158
+-108.344 48.284 3164
+-108.218 48.284 3130
+-108.092 48.284 3130
+-107.966 48.284 3137
+-107.84 48.284 3144
+-107.714 48.284 3127
+-107.588 48.284 3132
+-107.462 48.284 3137
+-107.336 48.284 3142
+-107.21 48.284 3147
+-107.084 48.284 3151
+-106.958 48.284 3155
+-106.832 48.284 3159
+-106.706 48.284 3163
+-106.58 48.284 3167
+-106.454 48.284 3170
+-106.328 48.284 3173
+-106.202 48.284 3176
+-106.076 48.284 3179
+-105.95 48.284 3182
+-105.824 48.284 3149
+-105.698 48.284 3106
+-105.572 48.284 3108
+-105.446 48.284 3111
+-105.32 48.284 3113
+-105.194 48.284 3115
+-105.068 48.284 3117
+-104.942 48.284 3118
+-104.816 48.284 3120
+-104.69 48.284 3122
+-104.564 48.284 3124
+-104.438 48.284 3125
+-104.312 48.284 3127
+-104.186 48.284 3128
+-104.06 48.284 3129
+-103.934 48.284 3131
+-103.808 48.284 3132
+-103.682 48.284 3133
+-103.556 48.284 3134
+-103.43 48.284 3135
+-103.304 48.284 3137
+-103.178 48.284 3096
+-103.052 48.284 3097
+-102.926 48.284 3098
+-102.8 48.284 3099
+-102.674 48.284 3100
+-102.548 48.284 3084
+-102.422 48.284 3063
+-102.296 48.284 3054
+-102.17 48.284 3040
+-102.044 48.284 2975
+-101.918 48.284 2961
+-101.792 48.284 2848
+-101.666 48.284 2861
+-101.54 48.284 2865
+-101.414 48.284 2928
+-101.288 48.284 2965
+-101.162 48.284 3037
+-101.036 48.284 3040
+-100.91 48.284 2978
+-100.784 48.284 3107
+-100.658 48.284 3195
+-100.532 48.284 3193
+-100.406 48.284 3192
+-100.28 48.284 3178
+-100.154 48.284 3177
+-100.028 48.284 3175
+-99.902 48.284 3174
+-99.776 48.284 3172
+-99.65 48.284 3091
+-99.524 48.284 3077
+-99.398 48.284 3055
+-99.272 48.284 3001
+-99.146 48.284 2991
+-99.02 48.284 2978
+-98.894 48.284 2976
+-98.768 48.284 2972
+-98.642 48.284 2954
+-98.516 48.284 2939
+-98.39 48.284 2937
+-98.264 48.284 2935
+-98.138 48.284 2932
+-98.012 48.284 2930
+-97.886 48.284 2928
+-97.76 48.284 2925
+-97.634 48.284 2923
+-97.508 48.284 2920
+-97.382 48.284 2918
+-97.256 48.284 2915
+-97.13 48.284 2912
+-97.004 48.284 2910
+-96.878 48.284 2907
+-96.752 48.284 2904
+-96.626 48.284 2901
+-96.5 48.284 2898
+-96.374 48.284 2895
+-96.248 48.284 2780
+-96.122 48.284 2777
+-95.996 48.284 2762
+-95.87 48.284 2758
+-95.744 48.284 2755
+-95.618 48.284 2751
+-95.492 48.284 2748
+-95.366 48.284 2744
+-95.24 48.284 2740
+-95.114 48.284 2737
+-94.988 48.284 2733
+-94.862 48.284 2729
+-94.736 48.284 2725
+-94.61 48.284 2721
+-94.484 48.284 2717
+-94.358 48.284 2712
+-94.232 48.284 2708
+-94.106 48.284 2704
+-93.98 48.284 2700
+-93.854 48.284 2695
+-93.728 48.284 2691
+-93.602 48.284 2687
+-93.476 48.284 2683
+-93.35 48.284 2678
+-93.224 48.284 2674
+-93.098 48.284 2670
+-92.972 48.284 2666
+-92.846 48.284 2662
+-92.72 48.284 2658
+-92.594 48.284 2654
+-92.468 48.284 2650
+-92.342 48.284 2647
+-92.216 48.284 2643
+-92.09 48.284 2640
+-91.964 48.284 2636
+-91.838 48.284 2633
+-91.712 48.284 2631
+-91.586 48.284 2628
+-91.46 48.284 2626
+-91.334 48.284 2623
+-91.208 48.284 2621
+-91.082 48.284 2620
+-90.956 48.284 2618
+-90.83 48.284 2617
+-90.704 48.284 2616
+-90.578 48.284 2615
+-90.452 48.284 2614
+-90.326 48.284 2614
+-90.2 48.284 2573
+-90.074 48.284 2573
+-89.948 48.284 2573
+-89.822 48.284 2573
+-89.696 48.284 2573
+-89.57 48.284 2574
+-89.444 48.284 2575
+-89.318 48.284 2575
+-89.192 48.284 2576
+-89.066 48.284 2577
+-88.94 48.284 2579
+-88.814 48.284 2580
+-88.688 48.284 2581
+-88.562 48.284 2583
+-88.436 48.284 2584
+-88.31 48.284 2585
+-88.184 48.284 2587
+-88.058 48.284 2588
+-87.932 48.284 2590
+-87.806 48.284 2592
+-87.68 48.284 2593
+-87.554 48.284 2595
+-87.428 48.284 2596
+-87.302 48.284 2598
+-87.176 48.284 2599
+-87.05 48.284 2601
+-86.924 48.284 2602
+-86.798 48.284 2604
+-86.672 48.284 2605
+-86.546 48.284 2607
+-86.42 48.284 2608
+-86.294 48.284 2610
+-86.168 48.284 2611
+-86.042 48.284 2612
+-85.916 48.284 2613
+-85.79 48.284 2615
+-85.664 48.284 2616
+-85.538 48.284 2617
+-85.412 48.284 2618
+-85.286 48.284 2620
+-85.16 48.284 2621
+-85.034 48.284 2622
+-84.908 48.284 2623
+-84.782 48.284 2624
+-84.656 48.284 2625
+-84.53 48.284 2626
+-84.404 48.284 2627
+-84.278 48.284 2628
+-84.152 48.284 2629
+-84.026 48.284 2630
+-83.9 48.284 2631
+-83.774 48.284 2632
+-83.648 48.284 2633
+-83.522 48.284 2634
+-83.396 48.284 2635
+-83.27 48.284 2636
+-83.144 48.284 2647
+-83.018 48.284 2648
+-82.892 48.284 2649
+-82.766 48.284 2650
+-82.64 48.284 2544
+-82.514 48.284 2544
+-82.388 48.284 2545
+-82.262 48.284 2545
+-82.136 48.284 2546
+-82.01 48.284 2546
+-81.884 48.284 2546
+-81.758 48.284 2547
+-81.632 48.284 2547
+-81.506 48.284 2548
+-81.38 48.284 2554
+-81.254 48.284 2563
+-81.128 48.284 2564
+-81.002 48.284 2564
+-80.876 48.284 2565
+-80.75 48.284 2583
+-80.624 48.284 2584
+-80.498 48.284 2585
+-80.372 48.284 2585
+-80.246 48.284 2589
+-80.12 48.284 2717
+-79.994 48.284 2717
+-79.868 48.284 2717
+-79.742 48.284 2724
+-79.616 48.284 2725
+-79.49 48.284 2725
+-79.364 48.284 2743
+-79.238 48.284 2724
+-79.112 48.284 2738
+-78.986 48.284 2739
+-78.86 48.284 2735
+-78.734 48.284 2736
+-78.608 48.284 2736
+-78.482 48.284 2737
+-78.356 48.284 2739
+-78.23 48.284 2825
+-78.104 48.284 2826
+-77.978 48.284 2826
+-77.852 48.284 2827
+-77.726 48.284 2845
+-77.6 48.284 2846
+-77.474 48.284 2827
+-77.348 48.284 2828
+-77.222 48.284 2828
+-77.096 48.284 2829
+-76.97 48.284 2801
+-76.844 48.284 2811
+-76.718 48.284 2812
+-76.592 48.284 2938
+-76.466 48.284 2898
+-76.34 48.284 2899
+-76.214 48.284 3037
+-76.088 48.284 3033
+-75.962 48.284 2995
+-75.836 48.284 3059
+-75.71 48.284 2947
+-75.584 48.284 2979
+-75.458 48.284 3034
+-75.332 48.284 2931
+-75.206 48.284 2938
+-75.08 48.284 2842
+-74.954 48.284 2838
+-74.828 48.284 2855
+-74.702 48.284 2826
+-74.576 48.284 2827
+-74.45 48.284 2828
+-74.324 48.284 2766
+-74.198 48.284 2810
+-74.072 48.284 2802
+-73.946 48.284 2791
+-73.82 48.284 2792
+-73.694 48.284 2793
+-73.568 48.284 2793
+-73.442 48.284 2733
+-73.316 48.284 2728
+-73.19 48.284 2729
+-73.064 48.284 2730
+-72.938 48.284 2730
+-72.812 48.284 2726
+-72.686 48.284 2670
+-72.56 48.284 2776
+-72.434 48.284 2771
+-72.308 48.284 2777
+-72.182 48.284 2778
+-72.056 48.284 2779
+-71.93 48.284 2780
+-71.804 48.284 2806
+-71.678 48.284 2783
+-71.552 48.284 2850
+-71.426 48.284 2851
+-71.3 48.284 2841
+-71.174 48.284 2849
+-71.048 48.284 2850
+-70.922 48.284 2851
+-70.796 48.284 2838
+-70.67 48.284 2954
+-70.544 48.284 2955
+-70.418 48.284 2955
+-70.292 48.284 2956
+-70.166 48.284 3056
+-70.04 48.284 3008
+-69.914 48.284 3157
+-69.788 48.284 3157
+-69.662 48.284 3119
+-69.536 48.284 3120
+-69.41 48.284 3120
+-69.284 48.284 3120
+-69.158 48.284 3121
+-69.032 48.284 3121
+-68.906 48.284 3222
+-68.78 48.284 3216
+-68.654 48.284 3217
+-68.528 48.284 3217
+-68.402 48.284 3218
+-68.276 48.284 3159
+-68.15 48.284 3197
+-68.024 48.284 3197
+-67.898 48.284 3278
+-67.772 48.284 3183
+-67.646 48.284 3184
+-67.52 48.284 3184
+-67.394 48.284 3235
+-67.268 48.284 3186
+-67.142 48.284 3187
+-67.016 48.284 3188
+-66.89 48.284 3415
+-66.764 48.284 3358
+-66.638 48.284 3359
+-66.512 48.284 3493
+-66.386 48.284 3464
+-66.26 48.284 3464
+-66.134 48.284 3409
+-66.008 48.284 3481
+-65.882 48.284 3482
+-65.756 48.284 3483
+-65.63 48.284 3483
+-65.504 48.284 3483
+-65.378 48.284 3483
+-65.252 48.284 3483
+-65.126 48.284 3484
+-128 48.232 4411
+-127.874 48.232 4417
+-127.748 48.232 4421
+-127.622 48.232 4468
+-127.496 48.232 4559
+-127.37 48.232 4697
+-127.244 48.232 4841
+-127.118 48.232 4971
+-126.992 48.232 5152
+-126.866 48.232 5137
+-126.74 48.232 5284
+-126.614 48.232 5393
+-126.488 48.232 5559
+-126.362 48.232 5598
+-126.236 48.232 5768
+-126.11 48.232 5913
+-125.984 48.232 5947
+-125.858 48.232 6065
+-125.732 48.232 6238
+-125.606 48.232 6382
+-125.48 48.232 6547
+-125.354 48.232 6640
+-125.228 48.232 6758
+-125.102 48.232 6899
+-124.976 48.232 6992
+-124.85 48.232 7147
+-124.724 48.232 7205
+-124.598 48.232 7312
+-124.472 48.232 7465
+-124.346 48.232 7549
+-124.22 48.232 7602
+-124.094 48.232 7740
+-123.968 48.232 7860
+-123.842 48.232 7932
+-123.716 48.232 8001
+-123.59 48.232 8090
+-123.464 48.232 8123
+-123.338 48.232 8170
+-123.212 48.232 8194
+-123.086 48.232 8245
+-122.96 48.232 8258
+-122.834 48.232 8254
+-122.708 48.232 8219
+-122.582 48.232 8196
+-122.456 48.232 8139
+-122.33 48.232 8065
+-122.204 48.232 7979
+-122.078 48.232 7904
+-121.952 48.232 7809
+-121.826 48.232 7765
+-121.7 48.232 7708
+-121.574 48.232 7563
+-121.448 48.232 7450
+-121.322 48.232 7387
+-121.196 48.232 7227
+-121.07 48.232 7126
+-120.944 48.232 6959
+-120.818 48.232 6870
+-120.692 48.232 6759
+-120.566 48.232 6620
+-120.44 48.232 6552
+-120.314 48.232 6204
+-120.188 48.232 6353
+-120.062 48.232 6351
+-119.936 48.232 6451
+-119.81 48.232 6560
+-119.684 48.232 6652
+-119.558 48.232 6676
+-119.432 48.232 6703
+-119.306 48.232 6781
+-119.18 48.232 6843
+-119.054 48.232 6896
+-118.928 48.232 6942
+-118.802 48.232 6976
+-118.676 48.232 7004
+-118.55 48.232 7036
+-118.424 48.232 7039
+-118.298 48.232 7031
+-118.172 48.232 7011
+-118.046 48.232 7028
+-117.92 48.232 6995
+-117.794 48.232 6961
+-117.668 48.232 6896
+-117.542 48.232 6901
+-117.416 48.232 6831
+-117.29 48.232 6779
+-117.164 48.232 6709
+-117.038 48.232 6643
+-116.912 48.232 6603
+-116.786 48.232 6519
+-116.66 48.232 6403
+-116.534 48.232 6381
+-116.408 48.232 6284
+-116.282 48.232 6160
+-116.156 48.232 6058
+-116.03 48.232 5932
+-115.904 48.232 5846
+-115.778 48.232 5789
+-115.652 48.232 5706
+-115.526 48.232 5579
+-115.4 48.232 5454
+-115.274 48.232 5314
+-115.148 48.232 5110
+-115.022 48.232 4985
+-114.896 48.232 4911
+-114.77 48.232 4841
+-114.644 48.232 4752
+-114.518 48.232 4675
+-114.392 48.232 4627
+-114.266 48.232 4550
+-114.14 48.232 4484
+-114.014 48.232 4406
+-113.888 48.232 4274
+-113.762 48.232 4164
+-113.636 48.232 4093
+-113.51 48.232 4048
+-113.384 48.232 3999
+-113.258 48.232 3926
+-113.132 48.232 3862
+-113.006 48.232 3734
+-112.88 48.232 3570
+-112.754 48.232 3366
+-112.628 48.232 3104
+-112.502 48.232 2847
+-112.376 48.232 2619
+-112.25 48.232 2517
+-112.124 48.232 2559
+-111.998 48.232 2631
+-111.872 48.232 2650
+-111.746 48.232 2682
+-111.62 48.232 2727
+-111.494 48.232 2778
+-111.368 48.232 2840
+-111.242 48.232 2903
+-111.116 48.232 2944
+-110.99 48.232 2999
+-110.864 48.232 3048
+-110.738 48.232 3091
+-110.612 48.232 3130
+-110.486 48.232 3164
+-110.36 48.232 3130
+-110.234 48.232 3157
+-110.108 48.232 3177
+-109.982 48.232 3157
+-109.856 48.232 3140
+-109.73 48.232 3155
+-109.604 48.232 3170
+-109.478 48.232 3182
+-109.352 48.232 3194
+-109.226 48.232 3205
+-109.1 48.232 3137
+-108.974 48.232 3132
+-108.848 48.232 3141
+-108.722 48.232 3150
+-108.596 48.232 3157
+-108.47 48.232 3164
+-108.344 48.232 3131
+-108.218 48.232 3131
+-108.092 48.232 3138
+-107.966 48.232 3145
+-107.84 48.232 3128
+-107.714 48.232 3133
+-107.588 48.232 3139
+-107.462 48.232 3144
+-107.336 48.232 3148
+-107.21 48.232 3153
+-107.084 48.232 3157
+-106.958 48.232 3161
+-106.832 48.232 3165
+-106.706 48.232 3168
+-106.58 48.232 3172
+-106.454 48.232 3175
+-106.328 48.232 3178
+-106.202 48.232 3181
+-106.076 48.232 3184
+-105.95 48.232 3150
+-105.824 48.232 3107
+-105.698 48.232 3110
+-105.572 48.232 3112
+-105.446 48.232 3114
+-105.32 48.232 3116
+-105.194 48.232 3118
+-105.068 48.232 3120
+-104.942 48.232 3121
+-104.816 48.232 3123
+-104.69 48.232 3125
+-104.564 48.232 3126
+-104.438 48.232 3128
+-104.312 48.232 3129
+-104.186 48.232 3130
+-104.06 48.232 3132
+-103.934 48.232 3133
+-103.808 48.232 3134
+-103.682 48.232 3135
+-103.556 48.232 3136
+-103.43 48.232 3138
+-103.304 48.232 3139
+-103.178 48.232 3098
+-103.052 48.232 3099
+-102.926 48.232 3100
+-102.8 48.232 3101
+-102.674 48.232 3101
+-102.548 48.232 3085
+-102.422 48.232 3064
+-102.296 48.232 3040
+-102.17 48.232 2984
+-102.044 48.232 2975
+-101.918 48.232 2992
+-101.792 48.232 3017
+-101.666 48.232 2863
+-101.54 48.232 2925
+-101.414 48.232 2984
+-101.288 48.232 3057
+-101.162 48.232 3038
+-101.036 48.232 3041
+-100.91 48.232 3142
+-100.784 48.232 3080
+-100.658 48.232 3195
+-100.532 48.232 3194
+-100.406 48.232 3192
+-100.28 48.232 3190
+-100.154 48.232 3177
+-100.028 48.232 3176
+-99.902 48.232 3174
+-99.776 48.232 3172
+-99.65 48.232 3171
+-99.524 48.232 3089
+-99.398 48.232 3076
+-99.272 48.232 3054
+-99.146 48.232 2999
+-99.02 48.232 2990
+-98.894 48.232 2976
+-98.768 48.232 2974
+-98.642 48.232 2970
+-98.516 48.232 2953
+-98.39 48.232 2937
+-98.264 48.232 2935
+-98.138 48.232 2933
+-98.012 48.232 2930
+-97.886 48.232 2928
+-97.76 48.232 2926
+-97.634 48.232 2923
+-97.508 48.232 2921
+-97.382 48.232 2918
+-97.256 48.232 2915
+-97.13 48.232 2912
+-97.004 48.232 2910
+-96.878 48.232 2907
+-96.752 48.232 2904
+-96.626 48.232 2901
+-96.5 48.232 2898
+-96.374 48.232 2894
+-96.248 48.232 2891
+-96.122 48.232 2777
+-95.996 48.232 2774
+-95.87 48.232 2758
+-95.744 48.232 2755
+-95.618 48.232 2751
+-95.492 48.232 2747
+-95.366 48.232 2744
+-95.24 48.232 2740
+-95.114 48.232 2736
+-94.988 48.232 2732
+-94.862 48.232 2728
+-94.736 48.232 2723
+-94.61 48.232 2719
+-94.484 48.232 2715
+-94.358 48.232 2711
+-94.232 48.232 2706
+-94.106 48.232 2702
+-93.98 48.232 2697
+-93.854 48.232 2693
+-93.728 48.232 2688
+-93.602 48.232 2684
+-93.476 48.232 2679
+-93.35 48.232 2675
+-93.224 48.232 2671
+-93.098 48.232 2666
+-92.972 48.232 2662
+-92.846 48.232 2658
+-92.72 48.232 2653
+-92.594 48.232 2649
+-92.468 48.232 2645
+-92.342 48.232 2642
+-92.216 48.232 2638
+-92.09 48.232 2634
+-91.964 48.232 2631
+-91.838 48.232 2628
+-91.712 48.232 2625
+-91.586 48.232 2622
+-91.46 48.232 2620
+-91.334 48.232 2617
+-91.208 48.232 2615
+-91.082 48.232 2613
+-90.956 48.232 2612
+-90.83 48.232 2610
+-90.704 48.232 2609
+-90.578 48.232 2609
+-90.452 48.232 2608
+-90.326 48.232 2608
+-90.2 48.232 2567
+-90.074 48.232 2567
+-89.948 48.232 2567
+-89.822 48.232 2567
+-89.696 48.232 2568
+-89.57 48.232 2569
+-89.444 48.232 2569
+-89.318 48.232 2570
+-89.192 48.232 2571
+-89.066 48.232 2573
+-88.94 48.232 2574
+-88.814 48.232 2575
+-88.688 48.232 2577
+-88.562 48.232 2578
+-88.436 48.232 2580
+-88.31 48.232 2582
+-88.184 48.232 2583
+-88.058 48.232 2585
+-87.932 48.232 2587
+-87.806 48.232 2588
+-87.68 48.232 2590
+-87.554 48.232 2592
+-87.428 48.232 2593
+-87.302 48.232 2595
+-87.176 48.232 2597
+-87.05 48.232 2598
+-86.924 48.232 2600
+-86.798 48.232 2601
+-86.672 48.232 2603
+-86.546 48.232 2604
+-86.42 48.232 2606
+-86.294 48.232 2607
+-86.168 48.232 2609
+-86.042 48.232 2610
+-85.916 48.232 2611
+-85.79 48.232 2613
+-85.664 48.232 2614
+-85.538 48.232 2615
+-85.412 48.232 2617
+-85.286 48.232 2618
+-85.16 48.232 2619
+-85.034 48.232 2620
+-84.908 48.232 2621
+-84.782 48.232 2622
+-84.656 48.232 2623
+-84.53 48.232 2625
+-84.404 48.232 2626
+-84.278 48.232 2627
+-84.152 48.232 2628
+-84.026 48.232 2629
+-83.9 48.232 2630
+-83.774 48.232 2631
+-83.648 48.232 2632
+-83.522 48.232 2633
+-83.396 48.232 2634
+-83.27 48.232 2644
+-83.144 48.232 2645
+-83.018 48.232 2646
+-82.892 48.232 2647
+-82.766 48.232 2542
+-82.64 48.232 2543
+-82.514 48.232 2543
+-82.388 48.232 2544
+-82.262 48.232 2544
+-82.136 48.232 2544
+-82.01 48.232 2545
+-81.884 48.232 2545
+-81.758 48.232 2546
+-81.632 48.232 2546
+-81.506 48.232 2553
+-81.38 48.232 2561
+-81.254 48.232 2562
+-81.128 48.232 2563
+-81.002 48.232 2563
+-80.876 48.232 2582
+-80.75 48.232 2582
+-80.624 48.232 2583
+-80.498 48.232 2584
+-80.372 48.232 2588
+-80.246 48.232 2715
+-80.12 48.232 2715
+-79.994 48.232 2716
+-79.868 48.232 2722
+-79.742 48.232 2723
+-79.616 48.232 2724
+-79.49 48.232 2741
+-79.364 48.232 2723
+-79.238 48.232 2737
+-79.112 48.232 2737
+-78.986 48.232 2733
+-78.86 48.232 2734
+-78.734 48.232 2735
+-78.608 48.232 2735
+-78.482 48.232 2737
+-78.356 48.232 2823
+-78.23 48.232 2824
+-78.104 48.232 2825
+-77.978 48.232 2825
+-77.852 48.232 2844
+-77.726 48.232 2844
+-77.6 48.232 2825
+-77.474 48.232 2826
+-77.348 48.232 2827
+-77.222 48.232 2828
+-77.096 48.232 2799
+-76.97 48.232 2809
+-76.844 48.232 2810
+-76.718 48.232 2936
+-76.592 48.232 2897
+-76.466 48.232 2897
+-76.34 48.232 3035
+-76.214 48.232 3031
+-76.088 48.232 2993
+-75.962 48.232 3057
+-75.836 48.232 2946
+-75.71 48.232 2977
+-75.584 48.232 3032
+-75.458 48.232 2929
+-75.332 48.232 2936
+-75.206 48.232 2841
+-75.08 48.232 2837
+-74.954 48.232 2854
+-74.828 48.232 2825
+-74.702 48.232 2826
+-74.576 48.232 2827
+-74.45 48.232 2765
+-74.324 48.232 2809
+-74.198 48.232 2801
+-74.072 48.232 2789
+-73.946 48.232 2790
+-73.82 48.232 2791
+-73.694 48.232 2792
+-73.568 48.232 2732
+-73.442 48.232 2727
+-73.316 48.232 2728
+-73.19 48.232 2729
+-73.064 48.232 2730
+-72.938 48.232 2726
+-72.812 48.232 2670
+-72.686 48.232 2775
+-72.56 48.232 2771
+-72.434 48.232 2777
+-72.308 48.232 2777
+-72.182 48.232 2778
+-72.056 48.232 2779
+-71.93 48.232 2805
+-71.804 48.232 2782
+-71.678 48.232 2849
+-71.552 48.232 2850
+-71.426 48.232 2840
+-71.3 48.232 2848
+-71.174 48.232 2849
+-71.048 48.232 2850
+-70.922 48.232 2837
+-70.796 48.232 2953
+-70.67 48.232 2954
+-70.544 48.232 2955
+-70.418 48.232 2956
+-70.292 48.232 3055
+-70.166 48.232 3008
+-70.04 48.232 3156
+-69.914 48.232 3157
+-69.788 48.232 3119
+-69.662 48.232 3119
+-69.536 48.232 3120
+-69.41 48.232 3120
+-69.284 48.232 3120
+-69.158 48.232 3121
+-69.032 48.232 3221
+-68.906 48.232 3216
+-68.78 48.232 3216
+-68.654 48.232 3217
+-68.528 48.232 3217
+-68.402 48.232 3158
+-68.276 48.232 3196
+-68.15 48.232 3197
+-68.024 48.232 3277
+-67.898 48.232 3183
+-67.772 48.232 3183
+-67.646 48.232 3184
+-67.52 48.232 3234
+-67.394 48.232 3186
+-67.268 48.232 3187
+-67.142 48.232 3187
+-67.016 48.232 3414
+-66.89 48.232 3358
+-66.764 48.232 3358
+-66.638 48.232 3492
+-66.512 48.232 3464
+-66.386 48.232 3464
+-66.26 48.232 3408
+-66.134 48.232 3481
+-66.008 48.232 3482
+-65.882 48.232 3482
+-65.756 48.232 3483
+-65.63 48.232 3483
+-65.504 48.232 3483
+-65.378 48.232 3483
+-65.252 48.232 3483
+-65.126 48.232 3473
+-128 48.18 4454
+-127.874 48.18 4438
+-127.748 48.18 4447
+-127.622 48.18 4504
+-127.496 48.18 4610
+-127.37 48.18 4735
+-127.244 48.18 4886
+-127.118 48.18 5000
+-126.992 48.18 5128
+-126.866 48.18 5215
+-126.74 48.18 5301
+-126.614 48.18 5397
+-126.488 48.18 5568
+-126.362 48.18 5708
+-126.236 48.18 5805
+-126.11 48.18 5914
+-125.984 48.18 6047
+-125.858 48.18 6102
+-125.732 48.18 6275
+-125.606 48.18 6437
+-125.48 48.18 6487
+-125.354 48.18 6675
+-125.228 48.18 6791
+-125.102 48.18 6896
+-124.976 48.18 7054
+-124.85 48.18 7199
+-124.724 48.18 7229
+-124.598 48.18 7351
+-124.472 48.18 7463
+-124.346 48.18 7559
+-124.22 48.18 7666
+-124.094 48.18 7787
+-123.968 48.18 7901
+-123.842 48.18 7977
+-123.716 48.18 8075
+-123.59 48.18 8104
+-123.464 48.18 8184
+-123.338 48.18 8226
+-123.212 48.18 8259
+-123.086 48.18 8286
+-122.96 48.18 8310
+-122.834 48.18 8284
+-122.708 48.18 8254
+-122.582 48.18 8249
+-122.456 48.18 8180
+-122.33 48.18 8143
+-122.204 48.18 8065
+-122.078 48.18 8000
+-121.952 48.18 7888
+-121.826 48.18 7819
+-121.7 48.18 7691
+-121.574 48.18 7582
+-121.448 48.18 7530
+-121.322 48.18 7375
+-121.196 48.18 7224
+-121.07 48.18 7154
+-120.944 48.18 7061
+-120.818 48.18 6926
+-120.692 48.18 6760
+-120.566 48.18 6666
+-120.44 48.18 6502
+-120.314 48.18 6443
+-120.188 48.18 6406
+-120.062 48.18 6441
+-119.936 48.18 6517
+-119.81 48.18 6615
+-119.684 48.18 6630
+-119.558 48.18 6728
+-119.432 48.18 6793
+-119.306 48.18 6853
+-119.18 48.18 6897
+-119.054 48.18 6951
+-118.928 48.18 7003
+-118.802 48.18 7049
+-118.676 48.18 7076
+-118.55 48.18 7102
+-118.424 48.18 7087
+-118.298 48.18 7092
+-118.172 48.18 7083
+-118.046 48.18 7087
+-117.92 48.18 7035
+-117.794 48.18 7004
+-117.668 48.18 6977
+-117.542 48.18 6935
+-117.416 48.18 6910
+-117.29 48.18 6819
+-117.164 48.18 6771
+-117.038 48.18 6697
+-116.912 48.18 6595
+-116.786 48.18 6566
+-116.66 48.18 6482
+-116.534 48.18 6426
+-116.408 48.18 6341
+-116.282 48.18 6246
+-116.156 48.18 6138
+-116.03 48.18 6013
+-115.904 48.18 5935
+-115.778 48.18 5848
+-115.652 48.18 5777
+-115.526 48.18 5632
+-115.4 48.18 5500
+-115.274 48.18 5308
+-115.148 48.18 5106
+-115.022 48.18 4992
+-114.896 48.18 4967
+-114.77 48.18 4902
+-114.644 48.18 4793
+-114.518 48.18 4671
+-114.392 48.18 4625
+-114.266 48.18 4537
+-114.14 48.18 4489
+-114.014 48.18 4440
+-113.888 48.18 4367
+-113.762 48.18 4270
+-113.636 48.18 4207
+-113.51 48.18 4140
+-113.384 48.18 4044
+-113.258 48.18 3952
+-113.132 48.18 3876
+-113.006 48.18 3761
+-112.88 48.18 3615
+-112.754 48.18 3431
+-112.628 48.18 3191
+-112.502 48.18 2979
+-112.376 48.18 2807
+-112.25 48.18 2717
+-112.124 48.18 2708
+-111.998 48.18 2749
+-111.872 48.18 2772
+-111.746 48.18 2803
+-111.62 48.18 2841
+-111.494 48.18 2885
+-111.368 48.18 2934
+-111.242 48.18 2946
+-111.116 48.18 2994
+-110.99 48.18 3039
+-110.864 48.18 3081
+-110.738 48.18 3119
+-110.612 48.18 3154
+-110.486 48.18 3176
+-110.36 48.18 3149
+-110.234 48.18 3170
+-110.108 48.18 3193
+-109.982 48.18 3214
+-109.856 48.18 3189
+-109.73 48.18 3205
+-109.604 48.18 3220
+-109.478 48.18 3233
+-109.352 48.18 3245
+-109.226 48.18 3136
+-109.1 48.18 3132
+-108.974 48.18 3141
+-108.848 48.18 3149
+-108.722 48.18 3157
+-108.596 48.18 3165
+-108.47 48.18 3131
+-108.344 48.18 3132
+-108.218 48.18 3139
+-108.092 48.18 3146
+-107.966 48.18 3129
+-107.84 48.18 3135
+-107.714 48.18 3140
+-107.588 48.18 3145
+-107.462 48.18 3150
+-107.336 48.18 3154
+-107.21 48.18 3159
+-107.084 48.18 3163
+-106.958 48.18 3166
+-106.832 48.18 3170
+-106.706 48.18 3173
+-106.58 48.18 3177
+-106.454 48.18 3180
+-106.328 48.18 3183
+-106.202 48.18 3186
+-106.076 48.18 3151
+-105.95 48.18 3109
+-105.824 48.18 3111
+-105.698 48.18 3113
+-105.572 48.18 3115
+-105.446 48.18 3117
+-105.32 48.18 3119
+-105.194 48.18 3121
+-105.068 48.18 3123
+-104.942 48.18 3124
+-104.816 48.18 3126
+-104.69 48.18 3127
+-104.564 48.18 3129
+-104.438 48.18 3130
+-104.312 48.18 3132
+-104.186 48.18 3133
+-104.06 48.18 3134
+-103.934 48.18 3135
+-103.808 48.18 3136
+-103.682 48.18 3138
+-103.556 48.18 3139
+-103.43 48.18 3140
+-103.304 48.18 3141
+-103.178 48.18 3100
+-103.052 48.18 3101
+-102.926 48.18 3102
+-102.8 48.18 3102
+-102.674 48.18 3103
+-102.548 48.18 3080
+-102.422 48.18 3044
+-102.296 48.18 2987
+-102.17 48.18 2973
+-102.044 48.18 2977
+-101.918 48.18 2994
+-101.792 48.18 3019
+-101.666 48.18 2865
+-101.54 48.18 2985
+-101.414 48.18 3070
+-101.288 48.18 3073
+-101.162 48.18 3062
+-101.036 48.18 3158
+-100.91 48.18 3143
+-100.784 48.18 3231
+-100.658 48.18 3150
+-100.532 48.18 3194
+-100.406 48.18 3192
+-100.28 48.18 3191
+-100.154 48.18 3189
+-100.028 48.18 3176
+-99.902 48.18 3174
+-99.776 48.18 3173
+-99.65 48.18 3171
+-99.524 48.18 3169
+-99.398 48.18 3088
+-99.272 48.18 3074
+-99.146 48.18 3052
+-99.02 48.18 2998
+-98.894 48.18 2989
+-98.768 48.18 2975
+-98.642 48.18 2973
+-98.516 48.18 2968
+-98.39 48.18 2951
+-98.264 48.18 2935
+-98.138 48.18 2933
+-98.012 48.18 2931
+-97.886 48.18 2928
+-97.76 48.18 2926
+-97.634 48.18 2923
+-97.508 48.18 2921
+-97.382 48.18 2918
+-97.256 48.18 2915
+-97.13 48.18 2913
+-97.004 48.18 2910
+-96.878 48.18 2907
+-96.752 48.18 2904
+-96.626 48.18 2900
+-96.5 48.18 2897
+-96.374 48.18 2894
+-96.248 48.18 2891
+-96.122 48.18 2887
+-95.996 48.18 2773
+-95.87 48.18 2770
+-95.744 48.18 2754
+-95.618 48.18 2751
+-95.492 48.18 2747
+-95.366 48.18 2743
+-95.24 48.18 2739
+-95.114 48.18 2735
+-94.988 48.18 2731
+-94.862 48.18 2727
+-94.736 48.18 2722
+-94.61 48.18 2718
+-94.484 48.18 2713
+-94.358 48.18 2709
+-94.232 48.18 2704
+-94.106 48.18 2700
+-93.98 48.18 2695
+-93.854 48.18 2690
+-93.728 48.18 2686
+-93.602 48.18 2681
+-93.476 48.18 2676
+-93.35 48.18 2672
+-93.224 48.18 2667
+-93.098 48.18 2662
+-92.972 48.18 2658
+-92.846 48.18 2653
+-92.72 48.18 2649
+-92.594 48.18 2645
+-92.468 48.18 2640
+-92.342 48.18 2636
+-92.216 48.18 2633
+-92.09 48.18 2629
+-91.964 48.18 2625
+-91.838 48.18 2622
+-91.712 48.18 2619
+-91.586 48.18 2616
+-91.46 48.18 2613
+-91.334 48.18 2611
+-91.208 48.18 2609
+-91.082 48.18 2607
+-90.956 48.18 2605
+-90.83 48.18 2604
+-90.704 48.18 2603
+-90.578 48.18 2602
+-90.452 48.18 2601
+-90.326 48.18 2601
+-90.2 48.18 2561
+-90.074 48.18 2561
+-89.948 48.18 2561
+-89.822 48.18 2562
+-89.696 48.18 2562
+-89.57 48.18 2563
+-89.444 48.18 2564
+-89.318 48.18 2565
+-89.192 48.18 2566
+-89.066 48.18 2568
+-88.94 48.18 2569
+-88.814 48.18 2571
+-88.688 48.18 2572
+-88.562 48.18 2574
+-88.436 48.18 2576
+-88.31 48.18 2578
+-88.184 48.18 2579
+-88.058 48.18 2581
+-87.932 48.18 2583
+-87.806 48.18 2585
+-87.68 48.18 2587
+-87.554 48.18 2588
+-87.428 48.18 2590
+-87.302 48.18 2592
+-87.176 48.18 2594
+-87.05 48.18 2595
+-86.924 48.18 2597
+-86.798 48.18 2599
+-86.672 48.18 2600
+-86.546 48.18 2602
+-86.42 48.18 2604
+-86.294 48.18 2605
+-86.168 48.18 2607
+-86.042 48.18 2608
+-85.916 48.18 2609
+-85.79 48.18 2611
+-85.664 48.18 2612
+-85.538 48.18 2613
+-85.412 48.18 2615
+-85.286 48.18 2616
+-85.16 48.18 2617
+-85.034 48.18 2618
+-84.908 48.18 2620
+-84.782 48.18 2621
+-84.656 48.18 2622
+-84.53 48.18 2623
+-84.404 48.18 2624
+-84.278 48.18 2625
+-84.152 48.18 2626
+-84.026 48.18 2627
+-83.9 48.18 2628
+-83.774 48.18 2629
+-83.648 48.18 2630
+-83.522 48.18 2631
+-83.396 48.18 2642
+-83.27 48.18 2643
+-83.144 48.18 2644
+-83.018 48.18 2645
+-82.892 48.18 2541
+-82.766 48.18 2541
+-82.64 48.18 2541
+-82.514 48.18 2542
+-82.388 48.18 2542
+-82.262 48.18 2543
+-82.136 48.18 2543
+-82.01 48.18 2544
+-81.884 48.18 2544
+-81.758 48.18 2544
+-81.632 48.18 2551
+-81.506 48.18 2560
+-81.38 48.18 2560
+-81.254 48.18 2561
+-81.128 48.18 2561
+-81.002 48.18 2580
+-80.876 48.18 2581
+-80.75 48.18 2581
+-80.624 48.18 2582
+-80.498 48.18 2586
+-80.372 48.18 2713
+-80.246 48.18 2714
+-80.12 48.18 2714
+-79.994 48.18 2721
+-79.868 48.18 2721
+-79.742 48.18 2722
+-79.616 48.18 2739
+-79.49 48.18 2721
+-79.364 48.18 2735
+-79.238 48.18 2735
+-79.112 48.18 2732
+-78.986 48.18 2732
+-78.86 48.18 2733
+-78.734 48.18 2734
+-78.608 48.18 2736
+-78.482 48.18 2821
+-78.356 48.18 2822
+-78.23 48.18 2823
+-78.104 48.18 2824
+-77.978 48.18 2842
+-77.852 48.18 2842
+-77.726 48.18 2823
+-77.6 48.18 2824
+-77.474 48.18 2825
+-77.348 48.18 2826
+-77.222 48.18 2798
+-77.096 48.18 2808
+-76.97 48.18 2808
+-76.844 48.18 2935
+-76.718 48.18 2895
+-76.592 48.18 2896
+-76.466 48.18 3033
+-76.34 48.18 3029
+-76.214 48.18 2991
+-76.088 48.18 3055
+-75.962 48.18 2944
+-75.836 48.18 2975
+-75.71 48.18 3030
+-75.584 48.18 2927
+-75.458 48.18 2935
+-75.332 48.18 2839
+-75.206 48.18 2836
+-75.08 48.18 2852
+-74.954 48.18 2823
+-74.828 48.18 2824
+-74.702 48.18 2825
+-74.576 48.18 2764
+-74.45 48.18 2807
+-74.324 48.18 2799
+-74.198 48.18 2788
+-74.072 48.18 2789
+-73.946 48.18 2790
+-73.82 48.18 2791
+-73.694 48.18 2731
+-73.568 48.18 2726
+-73.442 48.18 2727
+-73.316 48.18 2728
+-73.19 48.18 2729
+-73.064 48.18 2725
+-72.938 48.18 2669
+-72.812 48.18 2774
+-72.686 48.18 2770
+-72.56 48.18 2776
+-72.434 48.18 2777
+-72.308 48.18 2778
+-72.182 48.18 2778
+-72.056 48.18 2804
+-71.93 48.18 2781
+-71.804 48.18 2848
+-71.678 48.18 2849
+-71.552 48.18 2839
+-71.426 48.18 2847
+-71.3 48.18 2848
+-71.174 48.18 2849
+-71.048 48.18 2836
+-70.922 48.18 2952
+-70.796 48.18 2953
+-70.67 48.18 2954
+-70.544 48.18 2955
+-70.418 48.18 3055
+-70.292 48.18 3007
+-70.166 48.18 3156
+-70.04 48.18 3156
+-69.914 48.18 3118
+-69.788 48.18 3119
+-69.662 48.18 3119
+-69.536 48.18 3120
+-69.41 48.18 3120
+-69.284 48.18 3120
+-69.158 48.18 3220
+-69.032 48.18 3215
+-68.906 48.18 3216
+-68.78 48.18 3216
+-68.654 48.18 3217
+-68.528 48.18 3158
+-68.402 48.18 3196
+-68.276 48.18 3197
+-68.15 48.18 3276
+-68.024 48.18 3182
+-67.898 48.18 3183
+-67.772 48.18 3183
+-67.646 48.18 3234
+-67.52 48.18 3185
+-67.394 48.18 3186
+-67.268 48.18 3187
+-67.142 48.18 3414
+-67.016 48.18 3358
+-66.89 48.18 3358
+-66.764 48.18 3492
+-66.638 48.18 3463
+-66.512 48.18 3464
+-66.386 48.18 3408
+-66.26 48.18 3481
+-66.134 48.18 3482
+-66.008 48.18 3482
+-65.882 48.18 3482
+-65.756 48.18 3483
+-65.63 48.18 3482
+-65.504 48.18 3483
+-65.378 48.18 3483
+-65.252 48.18 3472
+-65.126 48.18 3418
+-128 48.128 4434
+-127.874 48.128 4386
+-127.748 48.128 4348
+-127.622 48.128 4451
+-127.496 48.128 4601
+-127.37 48.128 4753
+-127.244 48.128 4843
+-127.118 48.128 5003
+-126.992 48.128 5019
+-126.866 48.128 5157
+-126.74 48.128 5328
+-126.614 48.128 5396
+-126.488 48.128 5539
+-126.362 48.128 5688
+-126.236 48.128 5836
+-126.11 48.128 5908
+-125.984 48.128 6032
+-125.858 48.128 6183
+-125.732 48.128 6325
+-125.606 48.128 6463
+-125.48 48.128 6567
+-125.354 48.128 6701
+-125.228 48.128 6807
+-125.102 48.128 6922
+-124.976 48.128 7110
+-124.85 48.128 7162
+-124.724 48.128 7364
+-124.598 48.128 7400
+-124.472 48.128 7542
+-124.346 48.128 7603
+-124.22 48.128 7779
+-124.094 48.128 7855
+-123.968 48.128 7927
+-123.842 48.128 8018
+-123.716 48.128 8116
+-123.59 48.128 8210
+-123.464 48.128 8232
+-123.338 48.128 8258
+-123.212 48.128 8337
+-123.086 48.128 8332
+-122.96 48.128 8376
+-122.834 48.128 8352
+-122.708 48.128 8317
+-122.582 48.128 8290
+-122.456 48.128 8229
+-122.33 48.128 8215
+-122.204 48.128 8104
+-122.078 48.128 8027
+-121.952 48.128 7967
+-121.826 48.128 7821
+-121.7 48.128 7693
+-121.574 48.128 7633
+-121.448 48.128 7539
+-121.322 48.128 7416
+-121.196 48.128 7343
+-121.07 48.128 7176
+-120.944 48.128 7035
+-120.818 48.128 6925
+-120.692 48.128 6813
+-120.566 48.128 6691
+-120.44 48.128 6618
+-120.314 48.128 6473
+-120.188 48.128 6351
+-120.062 48.128 6453
+-119.936 48.128 6537
+-119.81 48.128 6614
+-119.684 48.128 6673
+-119.558 48.128 6771
+-119.432 48.128 6840
+-119.306 48.128 6898
+-119.18 48.128 6960
+-119.054 48.128 6994
+-118.928 48.128 7060
+-118.802 48.128 7105
+-118.676 48.128 7127
+-118.55 48.128 7141
+-118.424 48.128 7148
+-118.298 48.128 7145
+-118.172 48.128 7130
+-118.046 48.128 7112
+-117.92 48.128 7076
+-117.794 48.128 7061
+-117.668 48.128 7023
+-117.542 48.128 6974
+-117.416 48.128 6949
+-117.29 48.128 6879
+-117.164 48.128 6795
+-117.038 48.128 6737
+-116.912 48.128 6670
+-116.786 48.128 6596
+-116.66 48.128 6527
+-116.534 48.128 6445
+-116.408 48.128 6347
+-116.282 48.128 6295
+-116.156 48.128 6188
+-116.03 48.128 6061
+-115.904 48.128 5973
+-115.778 48.128 5906
+-115.652 48.128 5827
+-115.526 48.128 5685
+-115.4 48.128 5534
+-115.274 48.128 5357
+-115.148 48.128 5154
+-115.022 48.128 5026
+-114.896 48.128 4984
+-114.77 48.128 4920
+-114.644 48.128 4850
+-114.518 48.128 4712
+-114.392 48.128 4590
+-114.266 48.128 4481
+-114.14 48.128 4462
+-114.014 48.128 4442
+-113.888 48.128 4413
+-113.762 48.128 4368
+-113.636 48.128 4286
+-113.51 48.128 4196
+-113.384 48.128 4089
+-113.258 48.128 3964
+-113.132 48.128 3886
+-113.006 48.128 3789
+-112.88 48.128 3661
+-112.754 48.128 3499
+-112.628 48.128 3307
+-112.502 48.128 3139
+-112.376 48.128 2994
+-112.25 48.128 2916
+-112.124 48.128 2891
+-111.998 48.128 2886
+-111.872 48.128 2879
+-111.746 48.128 2909
+-111.62 48.128 2939
+-111.494 48.128 2973
+-111.368 48.128 2967
+-111.242 48.128 3005
+-111.116 48.128 3044
+-110.99 48.128 3081
+-110.864 48.128 3116
+-110.738 48.128 3149
+-110.612 48.128 3171
+-110.486 48.128 3176
+-110.36 48.128 3202
+-110.234 48.128 3225
+-110.108 48.128 3211
+-109.982 48.128 3231
+-109.856 48.128 3249
+-109.73 48.128 3265
+-109.604 48.128 3280
+-109.478 48.128 3263
+-109.352 48.128 3135
+-109.226 48.128 3131
+-109.1 48.128 3141
+-108.974 48.128 3150
+-108.848 48.128 3158
+-108.722 48.128 3165
+-108.596 48.128 3133
+-108.47 48.128 3133
+-108.344 48.128 3141
+-108.218 48.128 3148
+-108.092 48.128 3131
+-107.966 48.128 3137
+-107.84 48.128 3142
+-107.714 48.128 3147
+-107.588 48.128 3152
+-107.462 48.128 3156
+-107.336 48.128 3161
+-107.21 48.128 3165
+-107.084 48.128 3169
+-106.958 48.128 3172
+-106.832 48.128 3176
+-106.706 48.128 3179
+-106.58 48.128 3182
+-106.454 48.128 3185
+-106.328 48.128 3188
+-106.202 48.128 3153
+-106.076 48.128 3110
+-105.95 48.128 3112
+-105.824 48.128 3115
+-105.698 48.128 3117
+-105.572 48.128 3119
+-105.446 48.128 3121
+-105.32 48.128 3122
+-105.194 48.128 3124
+-105.068 48.128 3126
+-104.942 48.128 3127
+-104.816 48.128 3129
+-104.69 48.128 3130
+-104.564 48.128 3132
+-104.438 48.128 3133
+-104.312 48.128 3134
+-104.186 48.128 3135
+-104.06 48.128 3137
+-103.934 48.128 3138
+-103.808 48.128 3139
+-103.682 48.128 3140
+-103.556 48.128 3141
+-103.43 48.128 3142
+-103.304 48.128 3143
+-103.178 48.128 3102
+-103.052 48.128 3103
+-102.926 48.128 3104
+-102.8 48.128 3104
+-102.674 48.128 3105
+-102.548 48.128 3044
+-102.422 48.128 3045
+-102.296 48.128 2989
+-102.17 48.128 2974
+-102.044 48.128 2959
+-101.918 48.128 2960
+-101.792 48.128 3021
+-101.666 48.128 2841
+-101.54 48.128 2987
+-101.414 48.128 3071
+-101.288 48.128 3075
+-101.162 48.128 3068
+-101.036 48.128 3187
+-100.91 48.128 3253
+-100.784 48.128 3231
+-100.658 48.128 3230
+-100.532 48.128 3149
+-100.406 48.128 3193
+-100.28 48.128 3191
+-100.154 48.128 3190
+-100.028 48.128 3188
+-99.902 48.128 3175
+-99.776 48.128 3173
+-99.65 48.128 3171
+-99.524 48.128 3170
+-99.398 48.128 3168
+-99.272 48.128 3087
+-99.146 48.128 3073
+-99.02 48.128 3051
+-98.894 48.128 2997
+-98.768 48.128 2987
+-98.642 48.128 2973
+-98.516 48.128 2971
+-98.39 48.128 2967
+-98.264 48.128 2949
+-98.138 48.128 2933
+-98.012 48.128 2931
+-97.886 48.128 2929
+-97.76 48.128 2926
+-97.634 48.128 2924
+-97.508 48.128 2921
+-97.382 48.128 2918
+-97.256 48.128 2915
+-97.13 48.128 2913
+-97.004 48.128 2910
+-96.878 48.128 2907
+-96.752 48.128 2904
+-96.626 48.128 2900
+-96.5 48.128 2897
+-96.374 48.128 2894
+-96.248 48.128 2890
+-96.122 48.128 2887
+-95.996 48.128 2883
+-95.87 48.128 2770
+-95.744 48.128 2766
+-95.618 48.128 2751
+-95.492 48.128 2747
+-95.366 48.128 2743
+-95.24 48.128 2738
+-95.114 48.128 2734
+-94.988 48.128 2730
+-94.862 48.128 2726
+-94.736 48.128 2721
+-94.61 48.128 2717
+-94.484 48.128 2712
+-94.358 48.128 2707
+-94.232 48.128 2702
+-94.106 48.128 2698
+-93.98 48.128 2693
+-93.854 48.128 2688
+-93.728 48.128 2683
+-93.602 48.128 2678
+-93.476 48.128 2673
+-93.35 48.128 2668
+-93.224 48.128 2663
+-93.098 48.128 2658
+-92.972 48.128 2654
+-92.846 48.128 2649
+-92.72 48.128 2644
+-92.594 48.128 2640
+-92.468 48.128 2635
+-92.342 48.128 2631
+-92.216 48.128 2627
+-92.09 48.128 2623
+-91.964 48.128 2619
+-91.838 48.128 2616
+-91.712 48.128 2612
+-91.586 48.128 2609
+-91.46 48.128 2607
+-91.334 48.128 2604
+-91.208 48.128 2602
+-91.082 48.128 2600
+-90.956 48.128 2598
+-90.83 48.128 2597
+-90.704 48.128 2596
+-90.578 48.128 2595
+-90.452 48.128 2594
+-90.326 48.128 2594
+-90.2 48.128 2554
+-90.074 48.128 2554
+-89.948 48.128 2555
+-89.822 48.128 2555
+-89.696 48.128 2556
+-89.57 48.128 2557
+-89.444 48.128 2558
+-89.318 48.128 2560
+-89.192 48.128 2561
+-89.066 48.128 2563
+-88.94 48.128 2564
+-88.814 48.128 2566
+-88.688 48.128 2568
+-88.562 48.128 2570
+-88.436 48.128 2572
+-88.31 48.128 2573
+-88.184 48.128 2575
+-88.058 48.128 2577
+-87.932 48.128 2579
+-87.806 48.128 2581
+-87.68 48.128 2583
+-87.554 48.128 2585
+-87.428 48.128 2587
+-87.302 48.128 2589
+-87.176 48.128 2591
+-87.05 48.128 2593
+-86.924 48.128 2594
+-86.798 48.128 2596
+-86.672 48.128 2598
+-86.546 48.128 2600
+-86.42 48.128 2601
+-86.294 48.128 2603
+-86.168 48.128 2604
+-86.042 48.128 2606
+-85.916 48.128 2607
+-85.79 48.128 2609
+-85.664 48.128 2610
+-85.538 48.128 2611
+-85.412 48.128 2613
+-85.286 48.128 2614
+-85.16 48.128 2615
+-85.034 48.128 2617
+-84.908 48.128 2618
+-84.782 48.128 2619
+-84.656 48.128 2620
+-84.53 48.128 2621
+-84.404 48.128 2622
+-84.278 48.128 2623
+-84.152 48.128 2625
+-84.026 48.128 2626
+-83.9 48.128 2627
+-83.774 48.128 2628
+-83.648 48.128 2629
+-83.522 48.128 2639
+-83.396 48.128 2640
+-83.27 48.128 2641
+-83.144 48.128 2642
+-83.018 48.128 2539
+-82.892 48.128 2539
+-82.766 48.128 2540
+-82.64 48.128 2540
+-82.514 48.128 2540
+-82.388 48.128 2541
+-82.262 48.128 2541
+-82.136 48.128 2542
+-82.01 48.128 2542
+-81.884 48.128 2543
+-81.758 48.128 2549
+-81.632 48.128 2558
+-81.506 48.128 2559
+-81.38 48.128 2559
+-81.254 48.128 2560
+-81.128 48.128 2579
+-81.002 48.128 2579
+-80.876 48.128 2580
+-80.75 48.128 2580
+-80.624 48.128 2585
+-80.498 48.128 2711
+-80.372 48.128 2712
+-80.246 48.128 2712
+-80.12 48.128 2719
+-79.994 48.128 2719
+-79.868 48.128 2720
+-79.742 48.128 2737
+-79.616 48.128 2719
+-79.49 48.128 2733
+-79.364 48.128 2734
+-79.238 48.128 2730
+-79.112 48.128 2731
+-78.986 48.128 2731
+-78.86 48.128 2732
+-78.734 48.128 2734
+-78.608 48.128 2819
+-78.482 48.128 2820
+-78.356 48.128 2821
+-78.23 48.128 2822
+-78.104 48.128 2840
+-77.978 48.128 2840
+-77.852 48.128 2821
+-77.726 48.128 2822
+-77.6 48.128 2823
+-77.474 48.128 2824
+-77.348 48.128 2796
+-77.222 48.128 2806
+-77.096 48.128 2807
+-76.97 48.128 2933
+-76.844 48.128 2893
+-76.718 48.128 2894
+-76.592 48.128 3031
+-76.466 48.128 3027
+-76.34 48.128 2989
+-76.214 48.128 3053
+-76.088 48.128 2942
+-75.962 48.128 2973
+-75.836 48.128 3028
+-75.71 48.128 2926
+-75.584 48.128 2933
+-75.458 48.128 2838
+-75.332 48.128 2834
+-75.206 48.128 2851
+-75.08 48.128 2822
+-74.954 48.128 2823
+-74.828 48.128 2824
+-74.702 48.128 2762
+-74.576 48.128 2806
+-74.45 48.128 2798
+-74.324 48.128 2787
+-74.198 48.128 2788
+-74.072 48.128 2789
+-73.946 48.128 2790
+-73.82 48.128 2730
+-73.694 48.128 2725
+-73.568 48.128 2726
+-73.442 48.128 2727
+-73.316 48.128 2728
+-73.19 48.128 2724
+-73.064 48.128 2668
+-72.938 48.128 2773
+-72.812 48.128 2769
+-72.686 48.128 2775
+-72.56 48.128 2776
+-72.434 48.128 2777
+-72.308 48.128 2778
+-72.182 48.128 2803
+-72.056 48.128 2781
+-71.93 48.128 2847
+-71.804 48.128 2848
+-71.678 48.128 2839
+-71.552 48.128 2847
+-71.426 48.128 2847
+-71.3 48.128 2848
+-71.174 48.128 2836
+-71.048 48.128 2952
+-70.922 48.128 2953
+-70.796 48.128 2953
+-70.67 48.128 2954
+-70.544 48.128 3054
+-70.418 48.128 3006
+-70.292 48.128 3155
+-70.166 48.128 3156
+-70.04 48.128 3118
+-69.914 48.128 3118
+-69.788 48.128 3119
+-69.662 48.128 3119
+-69.536 48.128 3120
+-69.41 48.128 3120
+-69.284 48.128 3220
+-69.158 48.128 3215
+-69.032 48.128 3215
+-68.906 48.128 3216
+-68.78 48.128 3216
+-68.654 48.128 3157
+-68.528 48.128 3195
+-68.402 48.128 3196
+-68.276 48.128 3276
+-68.15 48.128 3182
+-68.024 48.128 3182
+-67.898 48.128 3183
+-67.772 48.128 3233
+-67.646 48.128 3185
+-67.52 48.128 3186
+-67.394 48.128 3186
+-67.268 48.128 3414
+-67.142 48.128 3357
+-67.016 48.128 3358
+-66.89 48.128 3492
+-66.764 48.128 3463
+-66.638 48.128 3463
+-66.512 48.128 3408
+-66.386 48.128 3480
+-66.26 48.128 3481
+-66.134 48.128 3482
+-66.008 48.128 3482
+-65.882 48.128 3482
+-65.756 48.128 3482
+-65.63 48.128 3483
+-65.504 48.128 3483
+-65.378 48.128 3472
+-65.252 48.128 3418
+-65.126 48.128 3412
+-128 48.076 4408
+-127.874 48.076 4327
+-127.748 48.076 4183
+-127.622 48.076 4390
+-127.496 48.076 4563
+-127.37 48.076 4739
+-127.244 48.076 4766
+-127.118 48.076 4963
+-126.992 48.076 5124
+-126.866 48.076 5218
+-126.74 48.076 5314
+-126.614 48.076 5434
+-126.488 48.076 5519
+-126.362 48.076 5628
+-126.236 48.076 5837
+-126.11 48.076 5951
+-125.984 48.076 6081
+-125.858 48.076 6270
+-125.732 48.076 6307
+-125.606 48.076 6407
+-125.48 48.076 6615
+-125.354 48.076 6720
+-125.228 48.076 6876
+-125.102 48.076 6976
+-124.976 48.076 7150
+-124.85 48.076 7204
+-124.724 48.076 7279
+-124.598 48.076 7460
+-124.472 48.076 7582
+-124.346 48.076 7640
+-124.22 48.076 7768
+-124.094 48.076 7876
+-123.968 48.076 7994
+-123.842 48.076 8084
+-123.716 48.076 8145
+-123.59 48.076 8231
+-123.464 48.076 8308
+-123.338 48.076 8340
+-123.212 48.076 8367
+-123.086 48.076 8417
+-122.96 48.076 8410
+-122.834 48.076 8397
+-122.708 48.076 8372
+-122.582 48.076 8326
+-122.456 48.076 8299
+-122.33 48.076 8230
+-122.204 48.076 8159
+-122.078 48.076 8079
+-121.952 48.076 7991
+-121.826 48.076 7856
+-121.7 48.076 7772
+-121.574 48.076 7709
+-121.448 48.076 7560
+-121.322 48.076 7443
+-121.196 48.076 7287
+-121.07 48.076 7224
+-120.944 48.076 7065
+-120.818 48.076 6989
+-120.692 48.076 6850
+-120.566 48.076 6734
+-120.44 48.076 6610
+-120.314 48.076 6483
+-120.188 48.076 6429
+-120.062 48.076 6526
+-119.936 48.076 6620
+-119.81 48.076 6653
+-119.684 48.076 6738
+-119.558 48.076 6833
+-119.432 48.076 6928
+-119.306 48.076 6973
+-119.18 48.076 7022
+-119.054 48.076 7058
+-118.928 48.076 7133
+-118.802 48.076 7135
+-118.676 48.076 7182
+-118.55 48.076 7187
+-118.424 48.076 7200
+-118.298 48.076 7201
+-118.172 48.076 7171
+-118.046 48.076 7188
+-117.92 48.076 7134
+-117.794 48.076 7112
+-117.668 48.076 7089
+-117.542 48.076 7043
+-117.416 48.076 6967
+-117.29 48.076 6927
+-117.164 48.076 6888
+-117.038 48.076 6751
+-116.912 48.076 6693
+-116.786 48.076 6627
+-116.66 48.076 6512
+-116.534 48.076 6416
+-116.408 48.076 6379
+-116.282 48.076 6262
+-116.156 48.076 6202
+-116.03 48.076 6081
+-115.904 48.076 5923
+-115.778 48.076 5928
+-115.652 48.076 5852
+-115.526 48.076 5723
+-115.4 48.076 5567
+-115.274 48.076 5401
+-115.148 48.076 5215
+-115.022 48.076 5083
+-114.896 48.076 5056
+-114.77 48.076 4960
+-114.644 48.076 4884
+-114.518 48.076 4765
+-114.392 48.076 4628
+-114.266 48.076 4494
+-114.14 48.076 4381
+-114.014 48.076 4428
+-113.888 48.076 4426
+-113.762 48.076 4394
+-113.636 48.076 4340
+-113.51 48.076 4191
+-113.384 48.076 4117
+-113.258 48.076 4035
+-113.132 48.076 3899
+-113.006 48.076 3796
+-112.88 48.076 3662
+-112.754 48.076 3512
+-112.628 48.076 3373
+-112.502 48.076 3251
+-112.376 48.076 3151
+-112.25 48.076 3070
+-112.124 48.076 3028
+-111.998 48.076 2983
+-111.872 48.076 2992
+-111.746 48.076 2999
+-111.62 48.076 3021
+-111.494 48.076 3048
+-111.368 48.076 3031
+-111.242 48.076 3061
+-111.116 48.076 3104
+-110.99 48.076 3135
+-110.864 48.076 3166
+-110.738 48.076 3194
+-110.612 48.076 3176
+-110.486 48.076 3202
+-110.36 48.076 3225
+-110.234 48.076 3248
+-110.108 48.076 3269
+-109.982 48.076 3249
+-109.856 48.076 3290
+-109.73 48.076 3306
+-109.604 48.076 3308
+-109.478 48.076 3136
+-109.352 48.076 3169
+-109.226 48.076 3166
+-109.1 48.076 3176
+-108.974 48.076 3185
+-108.848 48.076 3193
+-108.722 48.076 3135
+-108.596 48.076 3135
+-108.47 48.076 3143
+-108.344 48.076 3150
+-108.218 48.076 3133
+-108.092 48.076 3139
+-107.966 48.076 3144
+-107.84 48.076 3150
+-107.714 48.076 3154
+-107.588 48.076 3159
+-107.462 48.076 3163
+-107.336 48.076 3167
+-107.21 48.076 3171
+-107.084 48.076 3175
+-106.958 48.076 3178
+-106.832 48.076 3181
+-106.706 48.076 3184
+-106.58 48.076 3187
+-106.454 48.076 3190
+-106.328 48.076 3155
+-106.202 48.076 3112
+-106.076 48.076 3114
+-105.95 48.076 3116
+-105.824 48.076 3119
+-105.698 48.076 3120
+-105.572 48.076 3122
+-105.446 48.076 3124
+-105.32 48.076 3126
+-105.194 48.076 3127
+-105.068 48.076 3129
+-104.942 48.076 3130
+-104.816 48.076 3132
+-104.69 48.076 3133
+-104.564 48.076 3134
+-104.438 48.076 3136
+-104.312 48.076 3137
+-104.186 48.076 3138
+-104.06 48.076 3139
+-103.934 48.076 3140
+-103.808 48.076 3141
+-103.682 48.076 3142
+-103.556 48.076 3143
+-103.43 48.076 3144
+-103.304 48.076 3145
+-103.178 48.076 3104
+-103.052 48.076 3105
+-102.926 48.076 3105
+-102.8 48.076 3106
+-102.674 48.076 3044
+-102.548 48.076 3045
+-102.422 48.076 3037
+-102.296 48.076 2972
+-102.17 48.076 2957
+-102.044 48.076 2984
+-101.918 48.076 3008
+-101.792 48.076 2984
+-101.666 48.076 3048
+-101.54 48.076 2941
+-101.414 48.076 3077
+-101.288 48.076 3077
+-101.162 48.076 3202
+-101.036 48.076 3187
+-100.91 48.076 3253
+-100.784 48.076 3252
+-100.658 48.076 3231
+-100.532 48.076 3229
+-100.406 48.076 3148
+-100.28 48.076 3192
+-100.154 48.076 3190
+-100.028 48.076 3189
+-99.902 48.076 3187
+-99.776 48.076 3174
+-99.65 48.076 3172
+-99.524 48.076 3170
+-99.398 48.076 3168
+-99.272 48.076 3166
+-99.146 48.076 3085
+-99.02 48.076 3071
+-98.894 48.076 3049
+-98.768 48.076 2995
+-98.642 48.076 2986
+-98.516 48.076 2972
+-98.39 48.076 2969
+-98.264 48.076 2965
+-98.138 48.076 2947
+-98.012 48.076 2932
+-97.886 48.076 2929
+-97.76 48.076 2927
+-97.634 48.076 2924
+-97.508 48.076 2921
+-97.382 48.076 2919
+-97.256 48.076 2916
+-97.13 48.076 2913
+-97.004 48.076 2910
+-96.878 48.076 2907
+-96.752 48.076 2903
+-96.626 48.076 2900
+-96.5 48.076 2897
+-96.374 48.076 2893
+-96.248 48.076 2890
+-96.122 48.076 2886
+-95.996 48.076 2882
+-95.87 48.076 2879
+-95.744 48.076 2766
+-95.618 48.076 2762
+-95.492 48.076 2746
+-95.366 48.076 2742
+-95.24 48.076 2738
+-95.114 48.076 2734
+-94.988 48.076 2729
+-94.862 48.076 2725
+-94.736 48.076 2720
+-94.61 48.076 2715
+-94.484 48.076 2710
+-94.358 48.076 2706
+-94.232 48.076 2701
+-94.106 48.076 2696
+-93.98 48.076 2690
+-93.854 48.076 2685
+-93.728 48.076 2680
+-93.602 48.076 2675
+-93.476 48.076 2670
+-93.35 48.076 2665
+-93.224 48.076 2660
+-93.098 48.076 2654
+-92.972 48.076 2649
+-92.846 48.076 2644
+-92.72 48.076 2639
+-92.594 48.076 2635
+-92.468 48.076 2630
+-92.342 48.076 2625
+-92.216 48.076 2621
+-92.09 48.076 2617
+-91.964 48.076 2613
+-91.838 48.076 2609
+-91.712 48.076 2606
+-91.586 48.076 2603
+-91.46 48.076 2600
+-91.334 48.076 2597
+-91.208 48.076 2595
+-91.082 48.076 2593
+-90.956 48.076 2591
+-90.83 48.076 2589
+-90.704 48.076 2588
+-90.578 48.076 2588
+-90.452 48.076 2587
+-90.326 48.076 2587
+-90.2 48.076 2548
+-90.074 48.076 2548
+-89.948 48.076 2548
+-89.822 48.076 2549
+-89.696 48.076 2550
+-89.57 48.076 2551
+-89.444 48.076 2552
+-89.318 48.076 2554
+-89.192 48.076 2556
+-89.066 48.076 2557
+-88.94 48.076 2559
+-88.814 48.076 2561
+-88.688 48.076 2563
+-88.562 48.076 2565
+-88.436 48.076 2567
+-88.31 48.076 2569
+-88.184 48.076 2571
+-88.058 48.076 2573
+-87.932 48.076 2576
+-87.806 48.076 2578
+-87.68 48.076 2580
+-87.554 48.076 2582
+-87.428 48.076 2584
+-87.302 48.076 2586
+-87.176 48.076 2588
+-87.05 48.076 2590
+-86.924 48.076 2592
+-86.798 48.076 2594
+-86.672 48.076 2595
+-86.546 48.076 2597
+-86.42 48.076 2599
+-86.294 48.076 2600
+-86.168 48.076 2602
+-86.042 48.076 2604
+-85.916 48.076 2605
+-85.79 48.076 2607
+-85.664 48.076 2608
+-85.538 48.076 2610
+-85.412 48.076 2611
+-85.286 48.076 2612
+-85.16 48.076 2614
+-85.034 48.076 2615
+-84.908 48.076 2616
+-84.782 48.076 2617
+-84.656 48.076 2618
+-84.53 48.076 2620
+-84.404 48.076 2621
+-84.278 48.076 2622
+-84.152 48.076 2623
+-84.026 48.076 2624
+-83.9 48.076 2625
+-83.774 48.076 2626
+-83.648 48.076 2637
+-83.522 48.076 2638
+-83.396 48.076 2639
+-83.27 48.076 2640
+-83.144 48.076 2537
+-83.018 48.076 2537
+-82.892 48.076 2538
+-82.766 48.076 2538
+-82.64 48.076 2539
+-82.514 48.076 2539
+-82.388 48.076 2540
+-82.262 48.076 2540
+-82.136 48.076 2540
+-82.01 48.076 2541
+-81.884 48.076 2547
+-81.758 48.076 2556
+-81.632 48.076 2557
+-81.506 48.076 2557
+-81.38 48.076 2558
+-81.254 48.076 2577
+-81.128 48.076 2578
+-81.002 48.076 2578
+-80.876 48.076 2579
+-80.75 48.076 2583
+-80.624 48.076 2710
+-80.498 48.076 2710
+-80.372 48.076 2710
+-80.246 48.076 2717
+-80.12 48.076 2717
+-79.994 48.076 2718
+-79.868 48.076 2735
+-79.742 48.076 2717
+-79.616 48.076 2731
+-79.49 48.076 2732
+-79.364 48.076 2728
+-79.238 48.076 2729
+-79.112 48.076 2729
+-78.986 48.076 2730
+-78.86 48.076 2732
+-78.734 48.076 2817
+-78.608 48.076 2818
+-78.482 48.076 2819
+-78.356 48.076 2820
+-78.23 48.076 2838
+-78.104 48.076 2838
+-77.978 48.076 2820
+-77.852 48.076 2821
+-77.726 48.076 2821
+-77.6 48.076 2822
+-77.474 48.076 2794
+-77.348 48.076 2804
+-77.222 48.076 2805
+-77.096 48.076 2931
+-76.97 48.076 2892
+-76.844 48.076 2893
+-76.718 48.076 3028
+-76.592 48.076 3025
+-76.466 48.076 2988
+-76.34 48.076 3051
+-76.214 48.076 2941
+-76.088 48.076 2971
+-75.962 48.076 3026
+-75.836 48.076 2924
+-75.71 48.076 2931
+-75.584 48.076 2836
+-75.458 48.076 2833
+-75.332 48.076 2849
+-75.206 48.076 2820
+-75.08 48.076 2822
+-74.954 48.076 2823
+-74.828 48.076 2761
+-74.702 48.076 2805
+-74.576 48.076 2797
+-74.45 48.076 2786
+-74.324 48.076 2787
+-74.198 48.076 2788
+-74.072 48.076 2789
+-73.946 48.076 2729
+-73.82 48.076 2724
+-73.694 48.076 2725
+-73.568 48.076 2726
+-73.442 48.076 2727
+-73.316 48.076 2723
+-73.19 48.076 2668
+-73.064 48.076 2773
+-72.938 48.076 2768
+-72.812 48.076 2774
+-72.686 48.076 2775
+-72.56 48.076 2776
+-72.434 48.076 2777
+-72.308 48.076 2803
+-72.182 48.076 2780
+-72.056 48.076 2847
+-71.93 48.076 2847
+-71.804 48.076 2838
+-71.678 48.076 2846
+-71.552 48.076 2847
+-71.426 48.076 2848
+-71.3 48.076 2835
+-71.174 48.076 2951
+-71.048 48.076 2952
+-70.922 48.076 2953
+-70.796 48.076 2954
+-70.67 48.076 3053
+-70.544 48.076 3006
+-70.418 48.076 3155
+-70.292 48.076 3155
+-70.166 48.076 3117
+-70.04 48.076 3118
+-69.914 48.076 3118
+-69.788 48.076 3119
+-69.662 48.076 3119
+-69.536 48.076 3120
+-69.41 48.076 3219
+-69.284 48.076 3214
+-69.158 48.076 3215
+-69.032 48.076 3215
+-68.906 48.076 3216
+-68.78 48.076 3157
+-68.654 48.076 3195
+-68.528 48.076 3195
+-68.402 48.076 3275
+-68.276 48.076 3181
+-68.15 48.076 3182
+-68.024 48.076 3182
+-67.898 48.076 3233
+-67.772 48.076 3184
+-67.646 48.076 3185
+-67.52 48.076 3186
+-67.394 48.076 3413
+-67.268 48.076 3357
+-67.142 48.076 3357
+-67.016 48.076 3491
+-66.89 48.076 3463
+-66.764 48.076 3463
+-66.638 48.076 3407
+-66.512 48.076 3480
+-66.386 48.076 3481
+-66.26 48.076 3481
+-66.134 48.076 3482
+-66.008 48.076 3482
+-65.882 48.076 3482
+-65.756 48.076 3482
+-65.63 48.076 3483
+-65.504 48.076 3472
+-65.378 48.076 3418
+-65.252 48.076 3411
+-65.126 48.076 3412
+-128 48.024 4451
+-127.874 48.024 4394
+-127.748 48.024 4370
+-127.622 48.024 4371
+-127.496 48.024 4518
+-127.37 48.024 4718
+-127.244 48.024 4840
+-127.118 48.024 5006
+-126.992 48.024 5150
+-126.866 48.024 5172
+-126.74 48.024 5252
+-126.614 48.024 5398
+-126.488 48.024 5542
+-126.362 48.024 5685
+-126.236 48.024 5866
+-126.11 48.024 6009
+-125.984 48.024 6130
+-125.858 48.024 6210
+-125.732 48.024 6324
+-125.606 48.024 6459
+-125.48 48.024 6607
+-125.354 48.024 6741
+-125.228 48.024 6877
+-125.102 48.024 6965
+-124.976 48.024 7116
+-124.85 48.024 7253
+-124.724 48.024 7368
+-124.598 48.024 7508
+-124.472 48.024 7608
+-124.346 48.024 7743
+-124.22 48.024 7814
+-124.094 48.024 7939
+-123.968 48.024 8028
+-123.842 48.024 8113
+-123.716 48.024 8168
+-123.59 48.024 8329
+-123.464 48.024 8359
+-123.338 48.024 8388
+-123.212 48.024 8456
+-123.086 48.024 8459
+-122.96 48.024 8460
+-122.834 48.024 8452
+-122.708 48.024 8420
+-122.582 48.024 8394
+-122.456 48.024 8349
+-122.33 48.024 8294
+-122.204 48.024 8201
+-122.078 48.024 8104
+-121.952 48.024 8071
+-121.826 48.024 7924
+-121.7 48.024 7854
+-121.574 48.024 7737
+-121.448 48.024 7552
+-121.322 48.024 7444
+-121.196 48.024 7334
+-121.07 48.024 7281
+-120.944 48.024 7118
+-120.818 48.024 6971
+-120.692 48.024 6870
+-120.566 48.024 6731
+-120.44 48.024 6630
+-120.314 48.024 6333
+-120.188 48.024 6491
+-120.062 48.024 6584
+-119.936 48.024 6624
+-119.81 48.024 6699
+-119.684 48.024 6805
+-119.558 48.024 6879
+-119.432 48.024 6938
+-119.306 48.024 7000
+-119.18 48.024 7033
+-119.054 48.024 7118
+-118.928 48.024 7150
+-118.802 48.024 7177
+-118.676 48.024 7234
+-118.55 48.024 7248
+-118.424 48.024 7244
+-118.298 48.024 7260
+-118.172 48.024 7251
+-118.046 48.024 7237
+-117.92 48.024 7201
+-117.794 48.024 7164
+-117.668 48.024 7086
+-117.542 48.024 7108
+-117.416 48.024 7051
+-117.29 48.024 6985
+-117.164 48.024 6904
+-117.038 48.024 6804
+-116.912 48.024 6715
+-116.786 48.024 6601
+-116.66 48.024 6586
+-116.534 48.024 6500
+-116.408 48.024 6410
+-116.282 48.024 6309
+-116.156 48.024 6192
+-116.03 48.024 6124
+-115.904 48.024 6034
+-115.778 48.024 5928
+-115.652 48.024 5792
+-115.526 48.024 5721
+-115.4 48.024 5560
+-115.274 48.024 5465
+-115.148 48.024 5337
+-115.022 48.024 5176
+-114.896 48.024 5065
+-114.77 48.024 4988
+-114.644 48.024 4918
+-114.518 48.024 4821
+-114.392 48.024 4674
+-114.266 48.024 4545
+-114.14 48.024 4458
+-114.014 48.024 4443
+-113.888 48.024 4427
+-113.762 48.024 4388
+-113.636 48.024 4321
+-113.51 48.024 4193
+-113.384 48.024 4117
+-113.258 48.024 4067
+-113.132 48.024 3925
+-113.006 48.024 3790
+-112.88 48.024 3654
+-112.754 48.024 3530
+-112.628 48.024 3404
+-112.502 48.024 3292
+-112.376 48.024 3209
+-112.25 48.024 3151
+-112.124 48.024 3093
+-111.998 48.024 3070
+-111.872 48.024 3079
+-111.746 48.024 3086
+-111.62 48.024 3090
+-111.494 48.024 3117
+-111.368 48.024 3141
+-111.242 48.024 3125
+-111.116 48.024 3151
+-110.99 48.024 3177
+-110.864 48.024 3202
+-110.738 48.024 3182
+-110.612 48.024 3206
+-110.486 48.024 3228
+-110.36 48.024 3250
+-110.234 48.024 3271
+-110.108 48.024 3290
+-109.982 48.024 3292
+-109.856 48.024 3307
+-109.73 48.024 3309
+-109.604 48.024 3322
+-109.478 48.024 3334
+-109.352 48.024 3211
+-109.226 48.024 3178
+-109.1 48.024 3210
+-108.974 48.024 3219
+-108.848 48.024 3138
+-108.722 48.024 3138
+-108.596 48.024 3146
+-108.47 48.024 3153
+-108.344 48.024 3136
+-108.218 48.024 3142
+-108.092 48.024 3147
+-107.966 48.024 3153
+-107.84 48.024 3157
+-107.714 48.024 3162
+-107.588 48.024 3166
+-107.462 48.024 3170
+-107.336 48.024 3174
+-107.21 48.024 3177
+-107.084 48.024 3181
+-106.958 48.024 3184
+-106.832 48.024 3187
+-106.706 48.024 3190
+-106.58 48.024 3231
+-106.454 48.024 3157
+-106.328 48.024 3114
+-106.202 48.024 3116
+-106.076 48.024 3118
+-105.95 48.024 3120
+-105.824 48.024 3122
+-105.698 48.024 3124
+-105.572 48.024 3126
+-105.446 48.024 3128
+-105.32 48.024 3129
+-105.194 48.024 3131
+-105.068 48.024 3132
+-104.942 48.024 3133
+-104.816 48.024 3135
+-104.69 48.024 3136
+-104.564 48.024 3137
+-104.438 48.024 3138
+-104.312 48.024 3139
+-104.186 48.024 3141
+-104.06 48.024 3142
+-103.934 48.024 3143
+-103.808 48.024 3143
+-103.682 48.024 3144
+-103.556 48.024 3145
+-103.43 48.024 3146
+-103.304 48.024 3147
+-103.178 48.024 3106
+-103.052 48.024 3107
+-102.926 48.024 3107
+-102.8 48.024 3045
+-102.674 48.024 3046
+-102.548 48.024 3037
+-102.422 48.024 2988
+-102.296 48.024 2974
+-102.17 48.024 2960
+-102.044 48.024 3003
+-101.918 48.024 3010
+-101.792 48.024 3087
+-101.666 48.024 3113
+-101.54 48.024 3212
+-101.414 48.024 3026
+-101.288 48.024 3029
+-101.162 48.024 3202
+-101.036 48.024 3135
+-100.91 48.024 3283
+-100.784 48.024 3252
+-100.658 48.024 3251
+-100.532 48.024 3230
+-100.406 48.024 3228
+-100.28 48.024 3147
+-100.154 48.024 3191
+-100.028 48.024 3189
+-99.902 48.024 3187
+-99.776 48.024 3186
+-99.65 48.024 3172
+-99.524 48.024 3170
+-99.398 48.024 3169
+-99.272 48.024 3167
+-99.146 48.024 3165
+-99.02 48.024 3084
+-98.894 48.024 3070
+-98.768 48.024 3048
+-98.642 48.024 2994
+-98.516 48.024 2984
+-98.39 48.024 2970
+-98.264 48.024 2968
+-98.138 48.024 2963
+-98.012 48.024 2946
+-97.886 48.024 2930
+-97.76 48.024 2927
+-97.634 48.024 2924
+-97.508 48.024 2922
+-97.382 48.024 2919
+-97.256 48.024 2916
+-97.13 48.024 2913
+-97.004 48.024 2910
+-96.878 48.024 2907
+-96.752 48.024 2904
+-96.626 48.024 2900
+-96.5 48.024 2897
+-96.374 48.024 2893
+-96.248 48.024 2890
+-96.122 48.024 2886
+-95.996 48.024 2882
+-95.87 48.024 2878
+-95.744 48.024 2874
+-95.618 48.024 2762
+-95.492 48.024 2758
+-95.366 48.024 2742
+-95.24 48.024 2737
+-95.114 48.024 2733
+-94.988 48.024 2728
+-94.862 48.024 2724
+-94.736 48.024 2719
+-94.61 48.024 2714
+-94.484 48.024 2709
+-94.358 48.024 2704
+-94.232 48.024 2699
+-94.106 48.024 2693
+-93.98 48.024 2688
+-93.854 48.024 2683
+-93.728 48.024 2677
+-93.602 48.024 2672
+-93.476 48.024 2666
+-93.35 48.024 2661
+-93.224 48.024 2656
+-93.098 48.024 2650
+-92.972 48.024 2645
+-92.846 48.024 2640
+-92.72 48.024 2634
+-92.594 48.024 2629
+-92.468 48.024 2624
+-92.342 48.024 2620
+-92.216 48.024 2615
+-92.09 48.024 2610
+-91.964 48.024 2606
+-91.838 48.024 2602
+-91.712 48.024 2599
+-91.586 48.024 2595
+-91.46 48.024 2592
+-91.334 48.024 2589
+-91.208 48.024 2587
+-91.082 48.024 2585
+-90.956 48.024 2583
+-90.83 48.024 2582
+-90.704 48.024 2580
+-90.578 48.024 2580
+-90.452 48.024 2579
+-90.326 48.024 2579
+-90.2 48.024 2540
+-90.074 48.024 2541
+-89.948 48.024 2541
+-89.822 48.024 2542
+-89.696 48.024 2543
+-89.57 48.024 2545
+-89.444 48.024 2546
+-89.318 48.024 2548
+-89.192 48.024 2550
+-89.066 48.024 2552
+-88.94 48.024 2554
+-88.814 48.024 2556
+-88.688 48.024 2558
+-88.562 48.024 2560
+-88.436 48.024 2563
+-88.31 48.024 2565
+-88.184 48.024 2567
+-88.058 48.024 2570
+-87.932 48.024 2572
+-87.806 48.024 2574
+-87.68 48.024 2576
+-87.554 48.024 2579
+-87.428 48.024 2581
+-87.302 48.024 2583
+-87.176 48.024 2585
+-87.05 48.024 2587
+-86.924 48.024 2589
+-86.798 48.024 2591
+-86.672 48.024 2593
+-86.546 48.024 2595
+-86.42 48.024 2596
+-86.294 48.024 2598
+-86.168 48.024 2600
+-86.042 48.024 2602
+-85.916 48.024 2603
+-85.79 48.024 2605
+-85.664 48.024 2606
+-85.538 48.024 2608
+-85.412 48.024 2609
+-85.286 48.024 2610
+-85.16 48.024 2612
+-85.034 48.024 2613
+-84.908 48.024 2614
+-84.782 48.024 2616
+-84.656 48.024 2617
+-84.53 48.024 2618
+-84.404 48.024 2619
+-84.278 48.024 2620
+-84.152 48.024 2621
+-84.026 48.024 2622
+-83.9 48.024 2624
+-83.774 48.024 2634
+-83.648 48.024 2635
+-83.522 48.024 2636
+-83.396 48.024 2637
+-83.27 48.024 2535
+-83.144 48.024 2536
+-83.018 48.024 2536
+-82.892 48.024 2536
+-82.766 48.024 2537
+-82.64 48.024 2537
+-82.514 48.024 2538
+-82.388 48.024 2538
+-82.262 48.024 2539
+-82.136 48.024 2539
+-82.01 48.024 2545
+-81.884 48.024 2555
+-81.758 48.024 2555
+-81.632 48.024 2556
+-81.506 48.024 2556
+-81.38 48.024 2575
+-81.254 48.024 2576
+-81.128 48.024 2576
+-81.002 48.024 2577
+-80.876 48.024 2581
+-80.75 48.024 2708
+-80.624 48.024 2708
+-80.498 48.024 2708
+-80.372 48.024 2715
+-80.246 48.024 2715
+-80.12 48.024 2716
+-79.994 48.024 2733
+-79.868 48.024 2715
+-79.742 48.024 2729
+-79.616 48.024 2730
+-79.49 48.024 2726
+-79.364 48.024 2727
+-79.238 48.024 2728
+-79.112 48.024 2728
+-78.986 48.024 2730
+-78.86 48.024 2815
+-78.734 48.024 2816
+-78.608 48.024 2817
+-78.482 48.024 2818
+-78.356 48.024 2835
+-78.23 48.024 2836
+-78.104 48.024 2818
+-77.978 48.024 2819
+-77.852 48.024 2820
+-77.726 48.024 2821
+-77.6 48.024 2793
+-77.474 48.024 2803
+-77.348 48.024 2804
+-77.222 48.024 2929
+-77.096 48.024 2890
+-76.97 48.024 2891
+-76.844 48.024 3026
+-76.718 48.024 3023
+-76.592 48.024 2986
+-76.466 48.024 3049
+-76.34 48.024 2939
+-76.214 48.024 2969
+-76.088 48.024 3024
+-75.962 48.024 2922
+-75.836 48.024 2929
+-75.71 48.024 2835
+-75.584 48.024 2831
+-75.458 48.024 2848
+-75.332 48.024 2819
+-75.206 48.024 2820
+-75.08 48.024 2821
+-74.954 48.024 2760
+-74.828 48.024 2803
+-74.702 48.024 2796
+-74.576 48.024 2785
+-74.45 48.024 2786
+-74.324 48.024 2787
+-74.198 48.024 2788
+-74.072 48.024 2728
+-73.946 48.024 2723
+-73.82 48.024 2724
+-73.694 48.024 2725
+-73.568 48.024 2726
+-73.442 48.024 2722
+-73.316 48.024 2667
+-73.19 48.024 2772
+-73.064 48.024 2767
+-72.938 48.024 2774
+-72.812 48.024 2775
+-72.686 48.024 2775
+-72.56 48.024 2776
+-72.434 48.024 2802
+-72.308 48.024 2779
+-72.182 48.024 2846
+-72.056 48.024 2847
+-71.93 48.024 2837
+-71.804 48.024 2845
+-71.678 48.024 2846
+-71.552 48.024 2847
+-71.426 48.024 2834
+-71.3 48.024 2950
+-71.174 48.024 2951
+-71.048 48.024 2952
+-70.922 48.024 2953
+-70.796 48.024 3053
+-70.67 48.024 3005
+-70.544 48.024 3154
+-70.418 48.024 3155
+-70.292 48.024 3117
+-70.166 48.024 3117
+-70.04 48.024 3118
+-69.914 48.024 3118
+-69.788 48.024 3119
+-69.662 48.024 3119
+-69.536 48.024 3219
+-69.41 48.024 3214
+-69.284 48.024 3214
+-69.158 48.024 3215
+-69.032 48.024 3215
+-68.906 48.024 3157
+-68.78 48.024 3194
+-68.654 48.024 3195
+-68.528 48.024 3274
+-68.402 48.024 3181
+-68.276 48.024 3181
+-68.15 48.024 3182
+-68.024 48.024 3232
+-67.898 48.024 3184
+-67.772 48.024 3185
+-67.646 48.024 3185
+-67.52 48.024 3413
+-67.394 48.024 3356
+-67.268 48.024 3357
+-67.142 48.024 3491
+-67.016 48.024 3462
+-66.89 48.024 3463
+-66.764 48.024 3407
+-66.638 48.024 3480
+-66.512 48.024 3481
+-66.386 48.024 3481
+-66.26 48.024 3481
+-66.134 48.024 3482
+-66.008 48.024 3482
+-65.882 48.024 3482
+-65.756 48.024 3482
+-65.63 48.024 3471
+-65.504 48.024 3417
+-65.378 48.024 3411
+-65.252 48.024 3411
+-65.126 48.024 3412
+-128 47.972 4484
+-127.874 47.972 4469
+-127.748 47.972 4458
+-127.622 47.972 4436
+-127.496 47.972 4529
+-127.37 47.972 4709
+-127.244 47.972 4899
+-127.118 47.972 5042
+-126.992 47.972 5159
+-126.866 47.972 5222
+-126.74 47.972 5296
+-126.614 47.972 5442
+-126.488 47.972 5607
+-126.362 47.972 5739
+-126.236 47.972 5878
+-126.11 47.972 6023
+-125.984 47.972 6172
+-125.858 47.972 6276
+-125.732 47.972 6325
+-125.606 47.972 6476
+-125.48 47.972 6580
+-125.354 47.972 6753
+-125.228 47.972 6884
+-125.102 47.972 7017
+-124.976 47.972 7144
+-124.85 47.972 7312
+-124.724 47.972 7393
+-124.598 47.972 7546
+-124.472 47.972 7653
+-124.346 47.972 7761
+-124.22 47.972 7849
+-124.094 47.972 7987
+-123.968 47.972 8054
+-123.842 47.972 8134
+-123.716 47.972 8261
+-123.59 47.972 8323
+-123.464 47.972 8392
+-123.338 47.972 8461
+-123.212 47.972 8489
+-123.086 47.972 8545
+-122.96 47.972 8534
+-122.834 47.972 8527
+-122.708 47.972 8481
+-122.582 47.972 8450
+-122.456 47.972 8375
+-122.33 47.972 8329
+-122.204 47.972 8229
+-122.078 47.972 8171
+-121.952 47.972 8046
+-121.826 47.972 7967
+-121.7 47.972 7817
+-121.574 47.972 7739
+-121.448 47.972 7612
+-121.322 47.972 7481
+-121.196 47.972 7373
+-121.07 47.972 7215
+-120.944 47.972 7076
+-120.818 47.972 7009
+-120.692 47.972 6847
+-120.566 47.972 6815
+-120.44 47.972 6358
+-120.314 47.972 6355
+-120.188 47.972 6487
+-120.062 47.972 6571
+-119.936 47.972 6673
+-119.81 47.972 6763
+-119.684 47.972 6815
+-119.558 47.972 6898
+-119.432 47.972 6983
+-119.306 47.972 7050
+-119.18 47.972 7130
+-119.054 47.972 7159
+-118.928 47.972 7219
+-118.802 47.972 7243
+-118.676 47.972 7261
+-118.55 47.972 7276
+-118.424 47.972 7284
+-118.298 47.972 7304
+-118.172 47.972 7285
+-118.046 47.972 7255
+-117.92 47.972 7257
+-117.794 47.972 7235
+-117.668 47.972 7182
+-117.542 47.972 7128
+-117.416 47.972 7028
+-117.29 47.972 7035
+-117.164 47.972 6982
+-117.038 47.972 6893
+-116.912 47.972 6773
+-116.786 47.972 6686
+-116.66 47.972 6650
+-116.534 47.972 6548
+-116.408 47.972 6411
+-116.282 47.972 6338
+-116.156 47.972 6206
+-116.03 47.972 6171
+-115.904 47.972 6085
+-115.778 47.972 5989
+-115.652 47.972 5877
+-115.526 47.972 5697
+-115.4 47.972 5538
+-115.274 47.972 5452
+-115.148 47.972 5339
+-115.022 47.972 5271
+-114.896 47.972 5099
+-114.77 47.972 4997
+-114.644 47.972 4939
+-114.518 47.972 4864
+-114.392 47.972 4730
+-114.266 47.972 4631
+-114.14 47.972 4524
+-114.014 47.972 4449
+-113.888 47.972 4419
+-113.762 47.972 4365
+-113.636 47.972 4298
+-113.51 47.972 4184
+-113.384 47.972 4098
+-113.258 47.972 4045
+-113.132 47.972 3966
+-113.006 47.972 3820
+-112.88 47.972 3679
+-112.754 47.972 3518
+-112.628 47.972 3371
+-112.502 47.972 3243
+-112.376 47.972 3155
+-112.25 47.972 3128
+-112.124 47.972 3113
+-111.998 47.972 3127
+-111.872 47.972 3132
+-111.746 47.972 3155
+-111.62 47.972 3178
+-111.494 47.972 3184
+-111.368 47.972 3151
+-111.242 47.972 3173
+-111.116 47.972 3195
+-110.99 47.972 3217
+-110.864 47.972 3194
+-110.738 47.972 3216
+-110.612 47.972 3237
+-110.486 47.972 3258
+-110.36 47.972 3277
+-110.234 47.972 3295
+-110.108 47.972 3296
+-109.982 47.972 3311
+-109.856 47.972 3312
+-109.73 47.972 3325
+-109.604 47.972 3337
+-109.478 47.972 3214
+-109.352 47.972 3225
+-109.226 47.972 3212
+-109.1 47.972 3221
+-108.974 47.972 3142
+-108.848 47.972 3179
+-108.722 47.972 3187
+-108.596 47.972 3195
+-108.47 47.972 3172
+-108.344 47.972 3178
+-108.218 47.972 3184
+-108.092 47.972 3190
+-107.966 47.972 3195
+-107.84 47.972 3200
+-107.714 47.972 3204
+-107.588 47.972 3209
+-107.462 47.972 3213
+-107.336 47.972 3217
+-107.21 47.972 3220
+-107.084 47.972 3224
+-106.958 47.972 3227
+-106.832 47.972 3230
+-106.706 47.972 3233
+-106.58 47.972 3160
+-106.454 47.972 3116
+-106.328 47.972 3119
+-106.202 47.972 3121
+-106.076 47.972 3123
+-105.95 47.972 3125
+-105.824 47.972 3126
+-105.698 47.972 3128
+-105.572 47.972 3130
+-105.446 47.972 3131
+-105.32 47.972 3133
+-105.194 47.972 3134
+-105.068 47.972 3135
+-104.942 47.972 3137
+-104.816 47.972 3138
+-104.69 47.972 3139
+-104.564 47.972 3140
+-104.438 47.972 3141
+-104.312 47.972 3142
+-104.186 47.972 3143
+-104.06 47.972 3144
+-103.934 47.972 3145
+-103.808 47.972 3146
+-103.682 47.972 3147
+-103.556 47.972 3147
+-103.43 47.972 3148
+-103.304 47.972 3149
+-103.178 47.972 3108
+-103.052 47.972 3109
+-102.926 47.972 3045
+-102.8 47.972 3046
+-102.674 47.972 3038
+-102.548 47.972 3039
+-102.422 47.972 2986
+-102.296 47.972 2975
+-102.17 47.972 2979
+-102.044 47.972 2984
+-101.918 47.972 2991
+-101.792 47.972 3059
+-101.666 47.972 3088
+-101.54 47.972 3213
+-101.414 47.972 3218
+-101.288 47.972 3149
+-101.162 47.972 3150
+-101.036 47.972 3246
+-100.91 47.972 3228
+-100.784 47.972 3282
+-100.658 47.972 3251
+-100.532 47.972 3250
+-100.406 47.972 3229
+-100.28 47.972 3227
+-100.154 47.972 3147
+-100.028 47.972 3189
+-99.902 47.972 3188
+-99.776 47.972 3186
+-99.65 47.972 3184
+-99.524 47.972 3171
+-99.398 47.972 3169
+-99.272 47.972 3167
+-99.146 47.972 3165
+-99.02 47.972 3163
+-98.894 47.972 3082
+-98.768 47.972 3068
+-98.642 47.972 3046
+-98.516 47.972 2993
+-98.39 47.972 2983
+-98.264 47.972 2968
+-98.138 47.972 2966
+-98.012 47.972 2961
+-97.886 47.972 2944
+-97.76 47.972 2927
+-97.634 47.972 2925
+-97.508 47.972 2922
+-97.382 47.972 2919
+-97.256 47.972 2916
+-97.13 47.972 2913
+-97.004 47.972 2910
+-96.878 47.972 2907
+-96.752 47.972 2904
+-96.626 47.972 2900
+-96.5 47.972 2897
+-96.374 47.972 2893
+-96.248 47.972 2889
+-96.122 47.972 2886
+-95.996 47.972 2882
+-95.87 47.972 2878
+-95.744 47.972 2873
+-95.618 47.972 2869
+-95.492 47.972 2757
+-95.366 47.972 2753
+-95.24 47.972 2737
+-95.114 47.972 2732
+-94.988 47.972 2728
+-94.862 47.972 2723
+-94.736 47.972 2718
+-94.61 47.972 2713
+-94.484 47.972 2707
+-94.358 47.972 2702
+-94.232 47.972 2697
+-94.106 47.972 2691
+-93.98 47.972 2686
+-93.854 47.972 2680
+-93.728 47.972 2674
+-93.602 47.972 2669
+-93.476 47.972 2663
+-93.35 47.972 2657
+-93.224 47.972 2652
+-93.098 47.972 2646
+-92.972 47.972 2640
+-92.846 47.972 2635
+-92.72 47.972 2629
+-92.594 47.972 2624
+-92.468 47.972 2618
+-92.342 47.972 2613
+-92.216 47.972 2608
+-92.09 47.972 2604
+-91.964 47.972 2599
+-91.838 47.972 2595
+-91.712 47.972 2591
+-91.586 47.972 2588
+-91.46 47.972 2584
+-91.334 47.972 2581
+-91.208 47.972 2579
+-91.082 47.972 2577
+-90.956 47.972 2575
+-90.83 47.972 2573
+-90.704 47.972 2572
+-90.578 47.972 2571
+-90.452 47.972 2571
+-90.326 47.972 2571
+-90.2 47.972 2533
+-90.074 47.972 2533
+-89.948 47.972 2534
+-89.822 47.972 2535
+-89.696 47.972 2537
+-89.57 47.972 2538
+-89.444 47.972 2540
+-89.318 47.972 2542
+-89.192 47.972 2544
+-89.066 47.972 2546
+-88.94 47.972 2548
+-88.814 47.972 2551
+-88.688 47.972 2553
+-88.562 47.972 2555
+-88.436 47.972 2558
+-88.31 47.972 2560
+-88.184 47.972 2563
+-88.058 47.972 2565
+-87.932 47.972 2568
+-87.806 47.972 2570
+-87.68 47.972 2573
+-87.554 47.972 2575
+-87.428 47.972 2578
+-87.302 47.972 2580
+-87.176 47.972 2582
+-87.05 47.972 2584
+-86.924 47.972 2586
+-86.798 47.972 2588
+-86.672 47.972 2590
+-86.546 47.972 2592
+-86.42 47.972 2594
+-86.294 47.972 2596
+-86.168 47.972 2598
+-86.042 47.972 2599
+-85.916 47.972 2601
+-85.79 47.972 2603
+-85.664 47.972 2604
+-85.538 47.972 2606
+-85.412 47.972 2607
+-85.286 47.972 2608
+-85.16 47.972 2610
+-85.034 47.972 2611
+-84.908 47.972 2613
+-84.782 47.972 2614
+-84.656 47.972 2615
+-84.53 47.972 2616
+-84.404 47.972 2617
+-84.278 47.972 2619
+-84.152 47.972 2620
+-84.026 47.972 2621
+-83.9 47.972 2631
+-83.774 47.972 2633
+-83.648 47.972 2634
+-83.522 47.972 2635
+-83.396 47.972 2533
+-83.27 47.972 2534
+-83.144 47.972 2534
+-83.018 47.972 2535
+-82.892 47.972 2535
+-82.766 47.972 2535
+-82.64 47.972 2536
+-82.514 47.972 2536
+-82.388 47.972 2537
+-82.262 47.972 2537
+-82.136 47.972 2544
+-82.01 47.972 2553
+-81.884 47.972 2553
+-81.758 47.972 2554
+-81.632 47.972 2554
+-81.506 47.972 2573
+-81.38 47.972 2574
+-81.254 47.972 2575
+-81.128 47.972 2575
+-81.002 47.972 2580
+-80.876 47.972 2706
+-80.75 47.972 2706
+-80.624 47.972 2706
+-80.498 47.972 2713
+-80.372 47.972 2713
+-80.246 47.972 2714
+-80.12 47.972 2731
+-79.994 47.972 2713
+-79.868 47.972 2727
+-79.742 47.972 2728
+-79.616 47.972 2724
+-79.49 47.972 2725
+-79.364 47.972 2726
+-79.238 47.972 2726
+-79.112 47.972 2729
+-78.986 47.972 2813
+-78.86 47.972 2814
+-78.734 47.972 2815
+-78.608 47.972 2816
+-78.482 47.972 2833
+-78.356 47.972 2834
+-78.23 47.972 2816
+-78.104 47.972 2817
+-77.978 47.972 2818
+-77.852 47.972 2819
+-77.726 47.972 2791
+-77.6 47.972 2801
+-77.474 47.972 2802
+-77.348 47.972 2927
+-77.222 47.972 2888
+-77.096 47.972 2889
+-76.97 47.972 3024
+-76.844 47.972 3021
+-76.718 47.972 2984
+-76.592 47.972 3046
+-76.466 47.972 2937
+-76.34 47.972 2967
+-76.214 47.972 3022
+-76.088 47.972 2920
+-75.962 47.972 2928
+-75.836 47.972 2833
+-75.71 47.972 2830
+-75.584 47.972 2846
+-75.458 47.972 2818
+-75.332 47.972 2819
+-75.206 47.972 2820
+-75.08 47.972 2759
+-74.954 47.972 2802
+-74.828 47.972 2794
+-74.702 47.972 2783
+-74.576 47.972 2785
+-74.45 47.972 2786
+-74.324 47.972 2787
+-74.198 47.972 2727
+-74.072 47.972 2722
+-73.946 47.972 2723
+-73.82 47.972 2724
+-73.694 47.972 2725
+-73.568 47.972 2722
+-73.442 47.972 2666
+-73.316 47.972 2771
+-73.19 47.972 2767
+-73.064 47.972 2773
+-72.938 47.972 2774
+-72.812 47.972 2775
+-72.686 47.972 2775
+-72.56 47.972 2801
+-72.434 47.972 2779
+-72.308 47.972 2845
+-72.182 47.972 2846
+-72.056 47.972 2836
+-71.93 47.972 2844
+-71.804 47.972 2845
+-71.678 47.972 2846
+-71.552 47.972 2833
+-71.426 47.972 2949
+-71.3 47.972 2950
+-71.174 47.972 2951
+-71.048 47.972 2952
+-70.922 47.972 3052
+-70.796 47.972 3005
+-70.67 47.972 3154
+-70.544 47.972 3154
+-70.418 47.972 3116
+-70.292 47.972 3117
+-70.166 47.972 3117
+-70.04 47.972 3118
+-69.914 47.972 3118
+-69.788 47.972 3119
+-69.662 47.972 3218
+-69.536 47.972 3213
+-69.41 47.972 3214
+-69.284 47.972 3214
+-69.158 47.972 3215
+-69.032 47.972 3156
+-68.906 47.972 3194
+-68.78 47.972 3194
+-68.654 47.972 3274
+-68.528 47.972 3180
+-68.402 47.972 3181
+-68.276 47.972 3181
+-68.15 47.972 3231
+-68.024 47.972 3183
+-67.898 47.972 3184
+-67.772 47.972 3185
+-67.646 47.972 3412
+-67.52 47.972 3356
+-67.394 47.972 3356
+-67.268 47.972 3490
+-67.142 47.972 3462
+-67.016 47.972 3462
+-66.89 47.972 3407
+-66.764 47.972 3479
+-66.638 47.972 3480
+-66.512 47.972 3481
+-66.386 47.972 3481
+-66.26 47.972 3481
+-66.134 47.972 3481
+-66.008 47.972 3482
+-65.882 47.972 3482
+-65.756 47.972 3471
+-65.63 47.972 3417
+-65.504 47.972 3411
+-65.378 47.972 3411
+-65.252 47.972 3412
+-65.126 47.972 3412
+-128 47.92 4531
+-127.874 47.92 4529
+-127.748 47.92 4518
+-127.622 47.92 4513
+-127.496 47.92 4576
+-127.37 47.92 4698
+-127.244 47.92 4898
+-127.118 47.92 5049
+-126.992 47.92 5167
+-126.866 47.92 5149
+-126.74 47.92 5314
+-126.614 47.92 5498
+-126.488 47.92 5642
+-126.362 47.92 5717
+-126.236 47.92 5874
+-126.11 47.92 6022
+-125.984 47.92 6194
+-125.858 47.92 6265
+-125.732 47.92 6379
+-125.606 47.92 6508
+-125.48 47.92 6643
+-125.354 47.92 6782
+-125.228 47.92 6924
+-125.102 47.92 7065
+-124.976 47.92 7212
+-124.85 47.92 7276
+-124.724 47.92 7409
+-124.598 47.92 7554
+-124.472 47.92 7695
+-124.346 47.92 7816
+-124.22 47.92 7910
+-124.094 47.92 8040
+-123.968 47.92 8122
+-123.842 47.92 8206
+-123.716 47.92 8267
+-123.59 47.92 8402
+-123.464 47.92 8480
+-123.338 47.92 8530
+-123.212 47.92 8565
+-123.086 47.92 8582
+-122.96 47.92 8577
+-122.834 47.92 8582
+-122.708 47.92 8523
+-122.582 47.92 8498
+-122.456 47.92 8447
+-122.33 47.92 8374
+-122.204 47.92 8282
+-122.078 47.92 8143
+-121.952 47.92 8046
+-121.826 47.92 8023
+-121.7 47.92 7928
+-121.574 47.92 7760
+-121.448 47.92 7650
+-121.322 47.92 7486
+-121.196 47.92 7411
+-121.07 47.92 7297
+-120.944 47.92 7172
+-120.818 47.92 7050
+-120.692 47.92 6901
+-120.566 47.92 6727
+-120.44 47.92 6687
+-120.314 47.92 6542
+-120.188 47.92 6549
+-120.062 47.92 6616
+-119.936 47.92 6716
+-119.81 47.92 6829
+-119.684 47.92 6865
+-119.558 47.92 6963
+-119.432 47.92 7042
+-119.306 47.92 7103
+-119.18 47.92 7167
+-119.054 47.92 7226
+-118.928 47.92 7256
+-118.802 47.92 7306
+-118.676 47.92 7302
+-118.55 47.92 7348
+-118.424 47.92 7347
+-118.298 47.92 7352
+-118.172 47.92 7369
+-118.046 47.92 7336
+-117.92 47.92 7314
+-117.794 47.92 7245
+-117.668 47.92 7234
+-117.542 47.92 7170
+-117.416 47.92 7131
+-117.29 47.92 7044
+-117.164 47.92 6988
+-117.038 47.92 6922
+-116.912 47.92 6832
+-116.786 47.92 6762
+-116.66 47.92 6697
+-116.534 47.92 6602
+-116.408 47.92 6460
+-116.282 47.92 6323
+-116.156 47.92 6248
+-116.03 47.92 6145
+-115.904 47.92 6069
+-115.778 47.92 6016
+-115.652 47.92 5917
+-115.526 47.92 5766
+-115.4 47.92 5603
+-115.274 47.92 5496
+-115.148 47.92 5405
+-115.022 47.92 5298
+-114.896 47.92 5103
+-114.77 47.92 4986
+-114.644 47.92 4946
+-114.518 47.92 4861
+-114.392 47.92 4774
+-114.266 47.92 4638
+-114.14 47.92 4505
+-114.014 47.92 4403
+-113.888 47.92 4400
+-113.762 47.92 4330
+-113.636 47.92 4229
+-113.51 47.92 4110
+-113.384 47.92 4025
+-113.258 47.92 4000
+-113.132 47.92 3958
+-113.006 47.92 3804
+-112.88 47.92 3673
+-112.754 47.92 3497
+-112.628 47.92 3296
+-112.502 47.92 3100
+-112.376 47.92 3010
+-112.25 47.92 3004
+-112.124 47.92 3066
+-111.998 47.92 3128
+-111.872 47.92 3181
+-111.746 47.92 3194
+-111.62 47.92 3207
+-111.494 47.92 3232
+-111.368 47.92 3254
+-111.242 47.92 3217
+-111.116 47.92 3236
+-110.99 47.92 3255
+-110.864 47.92 3230
+-110.738 47.92 3251
+-110.612 47.92 3269
+-110.486 47.92 3287
+-110.36 47.92 3304
+-110.234 47.92 3304
+-110.108 47.92 3318
+-109.982 47.92 3332
+-109.856 47.92 3345
+-109.73 47.92 3357
+-109.604 47.92 3368
+-109.478 47.92 3229
+-109.352 47.92 3256
+-109.226 47.92 3266
+-109.1 47.92 3274
+-108.974 47.92 3184
+-108.848 47.92 3192
+-108.722 47.92 3199
+-108.596 47.92 3176
+-108.47 47.92 3182
+-108.344 47.92 3188
+-108.218 47.92 3194
+-108.092 47.92 3199
+-107.966 47.92 3203
+-107.84 47.92 3208
+-107.714 47.92 3212
+-107.588 47.92 3216
+-107.462 47.92 3220
+-107.336 47.92 3224
+-107.21 47.92 3227
+-107.084 47.92 3230
+-106.958 47.92 3233
+-106.832 47.92 3236
+-106.706 47.92 3163
+-106.58 47.92 3119
+-106.454 47.92 3121
+-106.328 47.92 3123
+-106.202 47.92 3125
+-106.076 47.92 3127
+-105.95 47.92 3129
+-105.824 47.92 3130
+-105.698 47.92 3132
+-105.572 47.92 3133
+-105.446 47.92 3135
+-105.32 47.92 3136
+-105.194 47.92 3137
+-105.068 47.92 3139
+-104.942 47.92 3140
+-104.816 47.92 3141
+-104.69 47.92 3142
+-104.564 47.92 3143
+-104.438 47.92 3144
+-104.312 47.92 3145
+-104.186 47.92 3146
+-104.06 47.92 3147
+-103.934 47.92 3147
+-103.808 47.92 3148
+-103.682 47.92 3149
+-103.556 47.92 3150
+-103.43 47.92 3150
+-103.304 47.92 3151
+-103.178 47.92 3110
+-103.052 47.92 3111
+-102.926 47.92 3047
+-102.8 47.92 3039
+-102.674 47.92 3039
+-102.548 47.92 2984
+-102.422 47.92 2980
+-102.296 47.92 2977
+-102.17 47.92 2981
+-102.044 47.92 3003
+-101.918 47.92 3054
+-101.792 47.92 3127
+-101.666 47.92 3224
+-101.54 47.92 3181
+-101.414 47.92 3186
+-101.288 47.92 3356
+-101.162 47.92 3248
+-101.036 47.92 3247
+-100.91 47.92 3246
+-100.784 47.92 3227
+-100.658 47.92 3281
+-100.532 47.92 3250
+-100.406 47.92 3249
+-100.28 47.92 3228
+-100.154 47.92 3226
+-100.028 47.92 3146
+-99.902 47.92 3188
+-99.776 47.92 3187
+-99.65 47.92 3185
+-99.524 47.92 3183
+-99.398 47.92 3170
+-99.272 47.92 3168
+-99.146 47.92 3166
+-99.02 47.92 3164
+-98.894 47.92 3162
+-98.768 47.92 3081
+-98.642 47.92 3067
+-98.516 47.92 3045
+-98.39 47.92 2991
+-98.264 47.92 2981
+-98.138 47.92 2967
+-98.012 47.92 2964
+-97.886 47.92 2959
+-97.76 47.92 2942
+-97.634 47.92 2925
+-97.508 47.92 2922
+-97.382 47.92 2920
+-97.256 47.92 2917
+-97.13 47.92 2914
+-97.004 47.92 2910
+-96.878 47.92 2907
+-96.752 47.92 2904
+-96.626 47.92 2900
+-96.5 47.92 2897
+-96.374 47.92 2893
+-96.248 47.92 2889
+-96.122 47.92 2885
+-95.996 47.92 2881
+-95.87 47.92 2877
+-95.744 47.92 2873
+-95.618 47.92 2868
+-95.492 47.92 2864
+-95.366 47.92 2753
+-95.24 47.92 2748
+-95.114 47.92 2732
+-94.988 47.92 2727
+-94.862 47.92 2722
+-94.736 47.92 2717
+-94.61 47.92 2711
+-94.484 47.92 2706
+-94.358 47.92 2700
+-94.232 47.92 2695
+-94.106 47.92 2689
+-93.98 47.92 2683
+-93.854 47.92 2677
+-93.728 47.92 2672
+-93.602 47.92 2666
+-93.476 47.92 2659
+-93.35 47.92 2653
+-93.224 47.92 2647
+-93.098 47.92 2641
+-92.972 47.92 2635
+-92.846 47.92 2629
+-92.72 47.92 2624
+-92.594 47.92 2618
+-92.468 47.92 2612
+-92.342 47.92 2607
+-92.216 47.92 2602
+-92.09 47.92 2597
+-91.964 47.92 2592
+-91.838 47.92 2587
+-91.712 47.92 2583
+-91.586 47.92 2579
+-91.46 47.92 2576
+-91.334 47.92 2573
+-91.208 47.92 2570
+-91.082 47.92 2568
+-90.956 47.92 2566
+-90.83 47.92 2564
+-90.704 47.92 2563
+-90.578 47.92 2563
+-90.452 47.92 2562
+-90.326 47.92 2562
+-90.2 47.92 2563
+-90.074 47.92 2525
+-89.948 47.92 2526
+-89.822 47.92 2528
+-89.696 47.92 2529
+-89.57 47.92 2531
+-89.444 47.92 2533
+-89.318 47.92 2535
+-89.192 47.92 2537
+-89.066 47.92 2540
+-88.94 47.92 2542
+-88.814 47.92 2545
+-88.688 47.92 2548
+-88.562 47.92 2550
+-88.436 47.92 2553
+-88.31 47.92 2556
+-88.184 47.92 2559
+-88.058 47.92 2561
+-87.932 47.92 2564
+-87.806 47.92 2567
+-87.68 47.92 2569
+-87.554 47.92 2572
+-87.428 47.92 2574
+-87.302 47.92 2577
+-87.176 47.92 2579
+-87.05 47.92 2581
+-86.924 47.92 2584
+-86.798 47.92 2586
+-86.672 47.92 2588
+-86.546 47.92 2590
+-86.42 47.92 2592
+-86.294 47.92 2594
+-86.168 47.92 2595
+-86.042 47.92 2597
+-85.916 47.92 2599
+-85.79 47.92 2601
+-85.664 47.92 2602
+-85.538 47.92 2604
+-85.412 47.92 2605
+-85.286 47.92 2607
+-85.16 47.92 2608
+-85.034 47.92 2609
+-84.908 47.92 2611
+-84.782 47.92 2612
+-84.656 47.92 2613
+-84.53 47.92 2615
+-84.404 47.92 2616
+-84.278 47.92 2617
+-84.152 47.92 2618
+-84.026 47.92 2629
+-83.9 47.92 2630
+-83.774 47.92 2631
+-83.648 47.92 2632
+-83.522 47.92 2531
+-83.396 47.92 2532
+-83.27 47.92 2532
+-83.144 47.92 2533
+-83.018 47.92 2533
+-82.892 47.92 2534
+-82.766 47.92 2534
+-82.64 47.92 2534
+-82.514 47.92 2535
+-82.388 47.92 2535
+-82.262 47.92 2542
+-82.136 47.92 2551
+-82.01 47.92 2552
+-81.884 47.92 2552
+-81.758 47.92 2553
+-81.632 47.92 2572
+-81.506 47.92 2572
+-81.38 47.92 2573
+-81.254 47.92 2574
+-81.128 47.92 2578
+-81.002 47.92 2704
+-80.876 47.92 2704
+-80.75 47.92 2704
+-80.624 47.92 2711
+-80.498 47.92 2711
+-80.372 47.92 2712
+-80.246 47.92 2729
+-80.12 47.92 2711
+-79.994 47.92 2725
+-79.868 47.92 2726
+-79.742 47.92 2722
+-79.616 47.92 2723
+-79.49 47.92 2724
+-79.364 47.92 2725
+-79.238 47.92 2727
+-79.112 47.92 2811
+-78.986 47.92 2812
+-78.86 47.92 2813
+-78.734 47.92 2814
+-78.608 47.92 2831
+-78.482 47.92 2832
+-78.356 47.92 2814
+-78.23 47.92 2815
+-78.104 47.92 2816
+-77.978 47.92 2817
+-77.852 47.92 2789
+-77.726 47.92 2799
+-77.6 47.92 2800
+-77.474 47.92 2925
+-77.348 47.92 2886
+-77.222 47.92 2887
+-77.096 47.92 3022
+-76.97 47.92 3019
+-76.844 47.92 2982
+-76.718 47.92 3044
+-76.592 47.92 2935
+-76.466 47.92 2965
+-76.34 47.92 3020
+-76.214 47.92 2918
+-76.088 47.92 2926
+-75.962 47.92 2831
+-75.836 47.92 2828
+-75.71 47.92 2844
+-75.584 47.92 2816
+-75.458 47.92 2817
+-75.332 47.92 2818
+-75.206 47.92 2758
+-75.08 47.92 2801
+-74.954 47.92 2793
+-74.828 47.92 2782
+-74.702 47.92 2783
+-74.576 47.92 2784
+-74.45 47.92 2785
+-74.324 47.92 2726
+-74.198 47.92 2721
+-74.072 47.92 2722
+-73.946 47.92 2723
+-73.82 47.92 2724
+-73.694 47.92 2721
+-73.568 47.92 2665
+-73.442 47.92 2770
+-73.316 47.92 2766
+-73.19 47.92 2772
+-73.064 47.92 2773
+-72.938 47.92 2774
+-72.812 47.92 2775
+-72.686 47.92 2800
+-72.56 47.92 2778
+-72.434 47.92 2844
+-72.308 47.92 2845
+-72.182 47.92 2835
+-72.056 47.92 2843
+-71.93 47.92 2844
+-71.804 47.92 2845
+-71.678 47.92 2833
+-71.552 47.92 2949
+-71.426 47.92 2950
+-71.3 47.92 2951
+-71.174 47.92 2951
+-71.048 47.92 3051
+-70.922 47.92 3004
+-70.796 47.92 3153
+-70.67 47.92 3154
+-70.544 47.92 3116
+-70.418 47.92 3116
+-70.292 47.92 3117
+-70.166 47.92 3117
+-70.04 47.92 3118
+-69.914 47.92 3118
+-69.788 47.92 3218
+-69.662 47.92 3212
+-69.536 47.92 3213
+-69.41 47.92 3214
+-69.284 47.92 3214
+-69.158 47.92 3156
+-69.032 47.92 3193
+-68.906 47.92 3194
+-68.78 47.92 3273
+-68.654 47.92 3180
+-68.528 47.92 3180
+-68.402 47.92 3181
+-68.276 47.92 3231
+-68.15 47.92 3183
+-68.024 47.92 3184
+-67.898 47.92 3184
+-67.772 47.92 3412
+-67.646 47.92 3356
+-67.52 47.92 3356
+-67.394 47.92 3490
+-67.268 47.92 3461
+-67.142 47.92 3462
+-67.016 47.92 3406
+-66.89 47.92 3479
+-66.764 47.92 3480
+-66.638 47.92 3480
+-66.512 47.92 3481
+-66.386 47.92 3481
+-66.26 47.92 3481
+-66.134 47.92 3481
+-66.008 47.92 3482
+-65.882 47.92 3471
+-65.756 47.92 3417
+-65.63 47.92 3411
+-65.504 47.92 3411
+-65.378 47.92 3411
+-65.252 47.92 3412
+-65.126 47.92 3412
+-128 47.868 4585
+-127.874 47.868 4586
+-127.748 47.868 4603
+-127.622 47.868 4573
+-127.496 47.868 4505
+-127.37 47.868 4664
+-127.244 47.868 4893
+-127.118 47.868 5061
+-126.992 47.868 5173
+-126.866 47.868 5252
+-126.74 47.868 5409
+-126.614 47.868 5570
+-126.488 47.868 5574
+-126.362 47.868 5759
+-126.236 47.868 5923
+-126.11 47.868 6081
+-125.984 47.868 6202
+-125.858 47.868 6240
+-125.732 47.868 6436
+-125.606 47.868 6483
+-125.48 47.868 6733
+-125.354 47.868 6757
+-125.228 47.868 6949
+-125.102 47.868 7083
+-124.976 47.868 7207
+-124.85 47.868 7334
+-124.724 47.868 7427
+-124.598 47.868 7569
+-124.472 47.868 7723
+-124.346 47.868 7847
+-124.22 47.868 7945
+-124.094 47.868 8042
+-123.968 47.868 8100
+-123.842 47.868 8239
+-123.716 47.868 8367
+-123.59 47.868 8443
+-123.464 47.868 8508
+-123.338 47.868 8553
+-123.212 47.868 8592
+-123.086 47.868 8623
+-122.96 47.868 8648
+-122.834 47.868 8625
+-122.708 47.868 8628
+-122.582 47.868 8597
+-122.456 47.868 8503
+-122.33 47.868 8405
+-122.204 47.868 8341
+-122.078 47.868 8251
+-121.952 47.868 8113
+-121.826 47.868 8002
+-121.7 47.868 7917
+-121.574 47.868 7803
+-121.448 47.868 7716
+-121.322 47.868 7563
+-121.196 47.868 7479
+-121.07 47.868 7304
+-120.944 47.868 7219
+-120.818 47.868 7085
+-120.692 47.868 6946
+-120.566 47.868 6739
+-120.44 47.868 6570
+-120.314 47.868 6561
+-120.188 47.868 6553
+-120.062 47.868 6651
+-119.936 47.868 6741
+-119.81 47.868 6816
+-119.684 47.868 6916
+-119.558 47.868 7007
+-119.432 47.868 7112
+-119.306 47.868 7172
+-119.18 47.868 7217
+-119.054 47.868 7274
+-118.928 47.868 7311
+-118.802 47.868 7346
+-118.676 47.868 7378
+-118.55 47.868 7413
+-118.424 47.868 7418
+-118.298 47.868 7425
+-118.172 47.868 7433
+-118.046 47.868 7375
+-117.92 47.868 7337
+-117.794 47.868 7291
+-117.668 47.868 7243
+-117.542 47.868 7237
+-117.416 47.868 7149
+-117.29 47.868 7088
+-117.164 47.868 6993
+-117.038 47.868 6961
+-116.912 47.868 6865
+-116.786 47.868 6815
+-116.66 47.868 6659
+-116.534 47.868 6671
+-116.408 47.868 6543
+-116.282 47.868 6359
+-116.156 47.868 6263
+-116.03 47.868 6143
+-115.904 47.868 6033
+-115.778 47.868 6017
+-115.652 47.868 5953
+-115.526 47.868 5830
+-115.4 47.868 5676
+-115.274 47.868 5564
+-115.148 47.868 5477
+-115.022 47.868 5340
+-114.896 47.868 5164
+-114.77 47.868 5024
+-114.644 47.868 4927
+-114.518 47.868 4851
+-114.392 47.868 4791
+-114.266 47.868 4624
+-114.14 47.868 4450
+-114.014 47.868 4323
+-113.888 47.868 4374
+-113.762 47.868 4320
+-113.636 47.868 4098
+-113.51 47.868 3942
+-113.384 47.868 3964
+-113.258 47.868 4000
+-113.132 47.868 3966
+-113.006 47.868 3813
+-112.88 47.868 3665
+-112.754 47.868 3455
+-112.628 47.868 3182
+-112.502 47.868 2930
+-112.376 47.868 2818
+-112.25 47.868 2869
+-112.124 47.868 2995
+-111.998 47.868 3110
+-111.872 47.868 3194
+-111.746 47.868 3240
+-111.62 47.868 3245
+-111.494 47.868 3273
+-111.368 47.868 3261
+-111.242 47.868 3281
+-111.116 47.868 3286
+-110.99 47.868 3273
+-110.864 47.868 3290
+-110.738 47.868 3307
+-110.612 47.868 3301
+-110.486 47.868 3317
+-110.36 47.868 3344
+-110.234 47.868 3359
+-110.108 47.868 3341
+-109.982 47.868 3353
+-109.856 47.868 3364
+-109.73 47.868 3374
+-109.604 47.868 3384
+-109.478 47.868 3261
+-109.352 47.868 3270
+-109.226 47.868 3279
+-109.1 47.868 3287
+-108.974 47.868 3294
+-108.848 47.868 3205
+-108.722 47.868 3226
+-108.596 47.868 3232
+-108.47 47.868 3239
+-108.344 47.868 3245
+-108.218 47.868 3250
+-108.092 47.868 3256
+-107.966 47.868 3261
+-107.84 47.868 3266
+-107.714 47.868 3270
+-107.588 47.868 3274
+-107.462 47.868 3278
+-107.336 47.868 3282
+-107.21 47.868 3286
+-107.084 47.868 3289
+-106.958 47.868 3293
+-106.832 47.868 3166
+-106.706 47.868 3122
+-106.58 47.868 3124
+-106.454 47.868 3126
+-106.328 47.868 3128
+-106.202 47.868 3130
+-106.076 47.868 3131
+-105.95 47.868 3133
+-105.824 47.868 3134
+-105.698 47.868 3136
+-105.572 47.868 3137
+-105.446 47.868 3138
+-105.32 47.868 3139
+-105.194 47.868 3141
+-105.068 47.868 3142
+-104.942 47.868 3143
+-104.816 47.868 3144
+-104.69 47.868 3145
+-104.564 47.868 3146
+-104.438 47.868 3147
+-104.312 47.868 3147
+-104.186 47.868 3148
+-104.06 47.868 3149
+-103.934 47.868 3150
+-103.808 47.868 3151
+-103.682 47.868 3151
+-103.556 47.868 3152
+-103.43 47.868 3153
+-103.304 47.868 3116
+-103.178 47.868 3112
+-103.052 47.868 3113
+-102.926 47.868 3040
+-102.8 47.868 3040
+-102.674 47.868 2996
+-102.548 47.868 2961
+-102.422 47.868 2982
+-102.296 47.868 2979
+-102.17 47.868 2983
+-102.044 47.868 3005
+-101.918 47.868 3056
+-101.792 47.868 3129
+-101.666 47.868 3226
+-101.54 47.868 3231
+-101.414 47.868 3316
+-101.288 47.868 3316
+-101.162 47.868 3214
+-101.036 47.868 3247
+-100.91 47.868 3246
+-100.784 47.868 3245
+-100.658 47.868 3226
+-100.532 47.868 3280
+-100.406 47.868 3250
+-100.28 47.868 3248
+-100.154 47.868 3227
+-100.028 47.868 3225
+-99.902 47.868 3145
+-99.776 47.868 3187
+-99.65 47.868 3185
+-99.524 47.868 3183
+-99.398 47.868 3182
+-99.272 47.868 3168
+-99.146 47.868 3166
+-99.02 47.868 3164
+-98.894 47.868 3162
+-98.768 47.868 3160
+-98.642 47.868 3079
+-98.516 47.868 3065
+-98.39 47.868 3043
+-98.264 47.868 2990
+-98.138 47.868 2979
+-98.012 47.868 2965
+-97.886 47.868 2962
+-97.76 47.868 2957
+-97.634 47.868 2940
+-97.508 47.868 2923
+-97.382 47.868 2920
+-97.256 47.868 2917
+-97.13 47.868 2914
+-97.004 47.868 2911
+-96.878 47.868 2907
+-96.752 47.868 2904
+-96.626 47.868 2901
+-96.5 47.868 2897
+-96.374 47.868 2893
+-96.248 47.868 2889
+-96.122 47.868 2885
+-95.996 47.868 2881
+-95.87 47.868 2877
+-95.744 47.868 2872
+-95.618 47.868 2868
+-95.492 47.868 2863
+-95.366 47.868 2858
+-95.24 47.868 2747
+-95.114 47.868 2743
+-94.988 47.868 2726
+-94.862 47.868 2721
+-94.736 47.868 2716
+-94.61 47.868 2710
+-94.484 47.868 2705
+-94.358 47.868 2699
+-94.232 47.868 2693
+-94.106 47.868 2687
+-93.98 47.868 2681
+-93.854 47.868 2675
+-93.728 47.868 2669
+-93.602 47.868 2662
+-93.476 47.868 2656
+-93.35 47.868 2649
+-93.224 47.868 2643
+-93.098 47.868 2637
+-92.972 47.868 2630
+-92.846 47.868 2624
+-92.72 47.868 2618
+-92.594 47.868 2612
+-92.468 47.868 2606
+-92.342 47.868 2600
+-92.216 47.868 2594
+-92.09 47.868 2589
+-91.964 47.868 2584
+-91.838 47.868 2579
+-91.712 47.868 2575
+-91.586 47.868 2571
+-91.46 47.868 2567
+-91.334 47.868 2564
+-91.208 47.868 2561
+-91.082 47.868 2558
+-90.956 47.868 2556
+-90.83 47.868 2555
+-90.704 47.868 2554
+-90.578 47.868 2553
+-90.452 47.868 2553
+-90.326 47.868 2553
+-90.2 47.868 2554
+-90.074 47.868 2517
+-89.948 47.868 2518
+-89.822 47.868 2520
+-89.696 47.868 2522
+-89.57 47.868 2524
+-89.444 47.868 2526
+-89.318 47.868 2528
+-89.192 47.868 2531
+-89.066 47.868 2534
+-88.94 47.868 2536
+-88.814 47.868 2539
+-88.688 47.868 2542
+-88.562 47.868 2545
+-88.436 47.868 2548
+-88.31 47.868 2551
+-88.184 47.868 2554
+-88.058 47.868 2557
+-87.932 47.868 2560
+-87.806 47.868 2563
+-87.68 47.868 2566
+-87.554 47.868 2568
+-87.428 47.868 2571
+-87.302 47.868 2573
+-87.176 47.868 2576
+-87.05 47.868 2578
+-86.924 47.868 2581
+-86.798 47.868 2583
+-86.672 47.868 2585
+-86.546 47.868 2587
+-86.42 47.868 2589
+-86.294 47.868 2591
+-86.168 47.868 2593
+-86.042 47.868 2595
+-85.916 47.868 2597
+-85.79 47.868 2598
+-85.664 47.868 2600
+-85.538 47.868 2602
+-85.412 47.868 2603
+-85.286 47.868 2605
+-85.16 47.868 2606
+-85.034 47.868 2608
+-84.908 47.868 2609
+-84.782 47.868 2610
+-84.656 47.868 2612
+-84.53 47.868 2613
+-84.404 47.868 2614
+-84.278 47.868 2615
+-84.152 47.868 2626
+-84.026 47.868 2627
+-83.9 47.868 2628
+-83.774 47.868 2629
+-83.648 47.868 2529
+-83.522 47.868 2530
+-83.396 47.868 2530
+-83.27 47.868 2531
+-83.144 47.868 2531
+-83.018 47.868 2532
+-82.892 47.868 2532
+-82.766 47.868 2533
+-82.64 47.868 2533
+-82.514 47.868 2533
+-82.388 47.868 2540
+-82.262 47.868 2549
+-82.136 47.868 2550
+-82.01 47.868 2550
+-81.884 47.868 2551
+-81.758 47.868 2570
+-81.632 47.868 2570
+-81.506 47.868 2571
+-81.38 47.868 2572
+-81.254 47.868 2576
+-81.128 47.868 2701
+-81.002 47.868 2702
+-80.876 47.868 2702
+-80.75 47.868 2709
+-80.624 47.868 2709
+-80.498 47.868 2710
+-80.372 47.868 2727
+-80.246 47.868 2709
+-80.12 47.868 2723
+-79.994 47.868 2724
+-79.868 47.868 2720
+-79.742 47.868 2721
+-79.616 47.868 2722
+-79.49 47.868 2723
+-79.364 47.868 2725
+-79.238 47.868 2809
+-79.112 47.868 2810
+-78.986 47.868 2811
+-78.86 47.868 2811
+-78.734 47.868 2829
+-78.608 47.868 2830
+-78.482 47.868 2812
+-78.356 47.868 2813
+-78.23 47.868 2814
+-78.104 47.868 2815
+-77.978 47.868 2787
+-77.852 47.868 2797
+-77.726 47.868 2798
+-77.6 47.868 2923
+-77.474 47.868 2884
+-77.348 47.868 2885
+-77.222 47.868 3019
+-77.096 47.868 3017
+-76.97 47.868 2979
+-76.844 47.868 3042
+-76.718 47.868 2933
+-76.592 47.868 2963
+-76.466 47.868 3018
+-76.34 47.868 2917
+-76.214 47.868 2924
+-76.088 47.868 2830
+-75.962 47.868 2826
+-75.836 47.868 2843
+-75.71 47.868 2815
+-75.584 47.868 2816
+-75.458 47.868 2817
+-75.332 47.868 2756
+-75.206 47.868 2799
+-75.08 47.868 2791
+-74.954 47.868 2781
+-74.828 47.868 2782
+-74.702 47.868 2783
+-74.576 47.868 2784
+-74.45 47.868 2725
+-74.324 47.868 2720
+-74.198 47.868 2721
+-74.072 47.868 2722
+-73.946 47.868 2723
+-73.82 47.868 2720
+-73.694 47.868 2664
+-73.568 47.868 2769
+-73.442 47.868 2765
+-73.316 47.868 2771
+-73.19 47.868 2772
+-73.064 47.868 2773
+-72.938 47.868 2774
+-72.812 47.868 2799
+-72.686 47.868 2777
+-72.56 47.868 2843
+-72.434 47.868 2844
+-72.308 47.868 2835
+-72.182 47.868 2843
+-72.056 47.868 2844
+-71.93 47.868 2845
+-71.804 47.868 2832
+-71.678 47.868 2948
+-71.552 47.868 2949
+-71.426 47.868 2950
+-71.3 47.868 2951
+-71.174 47.868 3050
+-71.048 47.868 3003
+-70.922 47.868 3153
+-70.796 47.868 3153
+-70.67 47.868 3115
+-70.544 47.868 3116
+-70.418 47.868 3116
+-70.292 47.868 3117
+-70.166 47.868 3117
+-70.04 47.868 3118
+-69.914 47.868 3217
+-69.788 47.868 3212
+-69.662 47.868 3212
+-69.536 47.868 3213
+-69.41 47.868 3214
+-69.284 47.868 3155
+-69.158 47.868 3193
+-69.032 47.868 3193
+-68.906 47.868 3272
+-68.78 47.868 3179
+-68.654 47.868 3180
+-68.528 47.868 3180
+-68.402 47.868 3230
+-68.276 47.868 3182
+-68.15 47.868 3183
+-68.024 47.868 3184
+-67.898 47.868 3411
+-67.772 47.868 3355
+-67.646 47.868 3356
+-67.52 47.868 3489
+-67.394 47.868 3461
+-67.268 47.868 3461
+-67.142 47.868 3406
+-67.016 47.868 3479
+-66.89 47.868 3480
+-66.764 47.868 3480
+-66.638 47.868 3480
+-66.512 47.868 3481
+-66.386 47.868 3480
+-66.26 47.868 3481
+-66.134 47.868 3481
+-66.008 47.868 3470
+-65.882 47.868 3417
+-65.756 47.868 3410
+-65.63 47.868 3411
+-65.504 47.868 3411
+-65.378 47.868 3411
+-65.252 47.868 3412
+-65.126 47.868 3412
+-128 47.816 4619
+-127.874 47.816 4650
+-127.748 47.816 4646
+-127.622 47.816 4636
+-127.496 47.816 4629
+-127.37 47.816 4746
+-127.244 47.816 4932
+-127.118 47.816 5110
+-126.992 47.816 5185
+-126.866 47.816 5315
+-126.74 47.816 5477
+-126.614 47.816 5596
+-126.488 47.816 5687
+-126.362 47.816 5794
+-126.236 47.816 5968
+-126.11 47.816 6092
+-125.984 47.816 6222
+-125.858 47.816 6306
+-125.732 47.816 6433
+-125.606 47.816 6542
+-125.48 47.816 6661
+-125.354 47.816 6809
+-125.228 47.816 6947
+-125.102 47.816 7105
+-124.976 47.816 7251
+-124.85 47.816 7373
+-124.724 47.816 7407
+-124.598 47.816 7613
+-124.472 47.816 7719
+-124.346 47.816 7837
+-124.22 47.816 7933
+-124.094 47.816 8080
+-123.968 47.816 8166
+-123.842 47.816 8301
+-123.716 47.816 8323
+-123.59 47.816 8470
+-123.464 47.816 8508
+-123.338 47.816 8601
+-123.212 47.816 8670
+-123.086 47.816 8704
+-122.96 47.816 8710
+-122.834 47.816 8707
+-122.708 47.816 8656
+-122.582 47.816 8610
+-122.456 47.816 8568
+-122.33 47.816 8468
+-122.204 47.816 8398
+-122.078 47.816 8274
+-121.952 47.816 8186
+-121.826 47.816 8044
+-121.7 47.816 7943
+-121.574 47.816 7771
+-121.448 47.816 7755
+-121.322 47.816 7567
+-121.196 47.816 7421
+-121.07 47.816 7351
+-120.944 47.816 7247
+-120.818 47.816 7125
+-120.692 47.816 6927
+-120.566 47.816 6817
+-120.44 47.816 6439
+-120.314 47.816 6576
+-120.188 47.816 6598
+-120.062 47.816 6699
+-119.936 47.816 6805
+-119.81 47.816 6876
+-119.684 47.816 6975
+-119.558 47.816 7077
+-119.432 47.816 7160
+-119.306 47.816 7171
+-119.18 47.816 7275
+-119.054 47.816 7334
+-118.928 47.816 7355
+-118.802 47.816 7383
+-118.676 47.816 7419
+-118.55 47.816 7468
+-118.424 47.816 7471
+-118.298 47.816 7475
+-118.172 47.816 7485
+-118.046 47.816 7435
+-117.92 47.816 7380
+-117.794 47.816 7356
+-117.668 47.816 7322
+-117.542 47.816 7241
+-117.416 47.816 7226
+-117.29 47.816 7128
+-117.164 47.816 7038
+-117.038 47.816 7038
+-116.912 47.816 6906
+-116.786 47.816 6808
+-116.66 47.816 6695
+-116.534 47.816 6700
+-116.408 47.816 6588
+-116.282 47.816 6387
+-116.156 47.816 6263
+-116.03 47.816 6187
+-115.904 47.816 6063
+-115.778 47.816 6040
+-115.652 47.816 5960
+-115.526 47.816 5839
+-115.4 47.816 5733
+-115.274 47.816 5635
+-115.148 47.816 5500
+-115.022 47.816 5403
+-114.896 47.816 5252
+-114.77 47.816 5118
+-114.644 47.816 4974
+-114.518 47.816 4863
+-114.392 47.816 4773
+-114.266 47.816 4589
+-114.14 47.816 4465
+-114.014 47.816 4411
+-113.888 47.816 4379
+-113.762 47.816 4279
+-113.636 47.816 4009
+-113.51 47.816 3807
+-113.384 47.816 3913
+-113.258 47.816 4004
+-113.132 47.816 3992
+-113.006 47.816 3894
+-112.88 47.816 3667
+-112.754 47.816 3442
+-112.628 47.816 3139
+-112.502 47.816 2838
+-112.376 47.816 2713
+-112.25 47.816 2804
+-112.124 47.816 2967
+-111.998 47.816 3112
+-111.872 47.816 3204
+-111.746 47.816 3272
+-111.62 47.816 3319
+-111.494 47.816 3353
+-111.368 47.816 3311
+-111.242 47.816 3331
+-111.116 47.816 3349
+-110.99 47.816 3339
+-110.864 47.816 3326
+-110.738 47.816 3341
+-110.612 47.816 3338
+-110.486 47.816 3359
+-110.36 47.816 3372
+-110.234 47.816 3353
+-110.108 47.816 3363
+-109.982 47.816 3373
+-109.856 47.816 3383
+-109.73 47.816 3392
+-109.604 47.816 3267
+-109.478 47.816 3276
+-109.352 47.816 3284
+-109.226 47.816 3292
+-109.1 47.816 3299
+-108.974 47.816 3306
+-108.848 47.816 3231
+-108.722 47.816 3238
+-108.596 47.816 3244
+-108.47 47.816 3250
+-108.344 47.816 3255
+-108.218 47.816 3260
+-108.092 47.816 3265
+-107.966 47.816 3270
+-107.84 47.816 3274
+-107.714 47.816 3278
+-107.588 47.816 3282
+-107.462 47.816 3286
+-107.336 47.816 3289
+-107.21 47.816 3293
+-107.084 47.816 3296
+-106.958 47.816 3169
+-106.832 47.816 3125
+-106.706 47.816 3127
+-106.58 47.816 3129
+-106.454 47.816 3131
+-106.328 47.816 3133
+-106.202 47.816 3134
+-106.076 47.816 3136
+-105.95 47.816 3137
+-105.824 47.816 3138
+-105.698 47.816 3140
+-105.572 47.816 3141
+-105.446 47.816 3142
+-105.32 47.816 3143
+-105.194 47.816 3144
+-105.068 47.816 3145
+-104.942 47.816 3146
+-104.816 47.816 3147
+-104.69 47.816 3148
+-104.564 47.816 3149
+-104.438 47.816 3149
+-104.312 47.816 3150
+-104.186 47.816 3151
+-104.06 47.816 3152
+-103.934 47.816 3152
+-103.808 47.816 3153
+-103.682 47.816 3154
+-103.556 47.816 3154
+-103.43 47.816 3117
+-103.304 47.816 3118
+-103.178 47.816 3114
+-103.052 47.816 3115
+-102.926 47.816 3041
+-102.8 47.816 2966
+-102.674 47.816 2959
+-102.548 47.816 2963
+-102.422 47.816 2983
+-102.296 47.816 2981
+-102.17 47.816 2985
+-102.044 47.816 3007
+-101.918 47.816 3059
+-101.792 47.816 3134
+-101.666 47.816 3232
+-101.54 47.816 3233
+-101.414 47.816 3316
+-101.288 47.816 3420
+-101.162 47.816 3419
+-101.036 47.816 3213
+-100.91 47.816 3247
+-100.784 47.816 3245
+-100.658 47.816 3244
+-100.532 47.816 3225
+-100.406 47.816 3279
+-100.28 47.816 3249
+-100.154 47.816 3247
+-100.028 47.816 3226
+-99.902 47.816 3224
+-99.776 47.816 3144
+-99.65 47.816 3186
+-99.524 47.816 3184
+-99.398 47.816 3182
+-99.272 47.816 3180
+-99.146 47.816 3167
+-99.02 47.816 3165
+-98.894 47.816 3163
+-98.768 47.816 3160
+-98.642 47.816 3158
+-98.516 47.816 3078
+-98.39 47.816 3063
+-98.264 47.816 3041
+-98.138 47.816 2988
+-98.012 47.816 2978
+-97.886 47.816 2963
+-97.76 47.816 2960
+-97.634 47.816 2955
+-97.508 47.816 2938
+-97.382 47.816 2921
+-97.256 47.816 2918
+-97.13 47.816 2914
+-97.004 47.816 2911
+-96.878 47.816 2908
+-96.752 47.816 2904
+-96.626 47.816 2901
+-96.5 47.816 2897
+-96.374 47.816 2893
+-96.248 47.816 2889
+-96.122 47.816 2885
+-95.996 47.816 2881
+-95.87 47.816 2877
+-95.744 47.816 2872
+-95.618 47.816 2867
+-95.492 47.816 2863
+-95.366 47.816 2858
+-95.24 47.816 2853
+-95.114 47.816 2742
+-94.988 47.816 2737
+-94.862 47.816 2720
+-94.736 47.816 2715
+-94.61 47.816 2709
+-94.484 47.816 2703
+-94.358 47.816 2697
+-94.232 47.816 2691
+-94.106 47.816 2685
+-93.98 47.816 2679
+-93.854 47.816 2672
+-93.728 47.816 2666
+-93.602 47.816 2659
+-93.476 47.816 2652
+-93.35 47.816 2645
+-93.224 47.816 2639
+-93.098 47.816 2632
+-92.972 47.816 2625
+-92.846 47.816 2618
+-92.72 47.816 2612
+-92.594 47.816 2605
+-92.468 47.816 2599
+-92.342 47.816 2593
+-92.216 47.816 2587
+-92.09 47.816 2581
+-91.964 47.816 2576
+-91.838 47.816 2570
+-91.712 47.816 2566
+-91.586 47.816 2561
+-91.46 47.816 2557
+-91.334 47.816 2554
+-91.208 47.816 2551
+-91.082 47.816 2548
+-90.956 47.816 2546
+-90.83 47.816 2545
+-90.704 47.816 2544
+-90.578 47.816 2543
+-90.452 47.816 2543
+-90.326 47.816 2543
+-90.2 47.816 2544
+-90.074 47.816 2508
+-89.948 47.816 2510
+-89.822 47.816 2511
+-89.696 47.816 2513
+-89.57 47.816 2516
+-89.444 47.816 2518
+-89.318 47.816 2521
+-89.192 47.816 2524
+-89.066 47.816 2527
+-88.94 47.816 2530
+-88.814 47.816 2533
+-88.688 47.816 2537
+-88.562 47.816 2540
+-88.436 47.816 2543
+-88.31 47.816 2546
+-88.184 47.816 2550
+-88.058 47.816 2553
+-87.932 47.816 2556
+-87.806 47.816 2559
+-87.68 47.816 2562
+-87.554 47.816 2565
+-87.428 47.816 2568
+-87.302 47.816 2570
+-87.176 47.816 2573
+-87.05 47.816 2575
+-86.924 47.816 2578
+-86.798 47.816 2580
+-86.672 47.816 2583
+-86.546 47.816 2585
+-86.42 47.816 2587
+-86.294 47.816 2589
+-86.168 47.816 2591
+-86.042 47.816 2593
+-85.916 47.816 2595
+-85.79 47.816 2596
+-85.664 47.816 2598
+-85.538 47.816 2600
+-85.412 47.816 2601
+-85.286 47.816 2603
+-85.16 47.816 2604
+-85.034 47.816 2606
+-84.908 47.816 2607
+-84.782 47.816 2609
+-84.656 47.816 2610
+-84.53 47.816 2611
+-84.404 47.816 2612
+-84.278 47.816 2623
+-84.152 47.816 2624
+-84.026 47.816 2625
+-83.9 47.816 2626
+-83.774 47.816 2527
+-83.648 47.816 2528
+-83.522 47.816 2528
+-83.396 47.816 2529
+-83.27 47.816 2529
+-83.144 47.816 2530
+-83.018 47.816 2530
+-82.892 47.816 2531
+-82.766 47.816 2531
+-82.64 47.816 2532
+-82.514 47.816 2538
+-82.388 47.816 2547
+-82.262 47.816 2548
+-82.136 47.816 2548
+-82.01 47.816 2549
+-81.884 47.816 2568
+-81.758 47.816 2569
+-81.632 47.816 2569
+-81.506 47.816 2570
+-81.38 47.816 2574
+-81.254 47.816 2699
+-81.128 47.816 2700
+-81.002 47.816 2700
+-80.876 47.816 2706
+-80.75 47.816 2707
+-80.624 47.816 2708
+-80.498 47.816 2724
+-80.372 47.816 2707
+-80.246 47.816 2721
+-80.12 47.816 2721
+-79.994 47.816 2718
+-79.868 47.816 2719
+-79.742 47.816 2720
+-79.616 47.816 2721
+-79.49 47.816 2723
+-79.364 47.816 2806
+-79.238 47.816 2807
+-79.112 47.816 2808
+-78.986 47.816 2809
+-78.86 47.816 2827
+-78.734 47.816 2828
+-78.608 47.816 2810
+-78.482 47.816 2811
+-78.356 47.816 2812
+-78.23 47.816 2813
+-78.104 47.816 2786
+-77.978 47.816 2795
+-77.852 47.816 2796
+-77.726 47.816 2921
+-77.6 47.816 2882
+-77.474 47.816 2883
+-77.348 47.816 3017
+-77.222 47.816 3014
+-77.096 47.816 2977
+-76.97 47.816 3039
+-76.844 47.816 2931
+-76.718 47.816 2961
+-76.592 47.816 3015
+-76.466 47.816 2915
+-76.34 47.816 2922
+-76.214 47.816 2828
+-76.088 47.816 2825
+-75.962 47.816 2841
+-75.836 47.816 2813
+-75.71 47.816 2814
+-75.584 47.816 2815
+-75.458 47.816 2755
+-75.332 47.816 2798
+-75.206 47.816 2790
+-75.08 47.816 2779
+-74.954 47.816 2781
+-74.828 47.816 2782
+-74.702 47.816 2783
+-74.576 47.816 2724
+-74.45 47.816 2719
+-74.324 47.816 2720
+-74.198 47.816 2721
+-74.072 47.816 2722
+-73.946 47.816 2719
+-73.82 47.816 2664
+-73.694 47.816 2768
+-73.568 47.816 2764
+-73.442 47.816 2770
+-73.316 47.816 2771
+-73.19 47.816 2772
+-73.064 47.816 2773
+-72.938 47.816 2799
+-72.812 47.816 2776
+-72.686 47.816 2842
+-72.56 47.816 2843
+-72.434 47.816 2834
+-72.308 47.816 2842
+-72.182 47.816 2843
+-72.056 47.816 2844
+-71.93 47.816 2831
+-71.804 47.816 2947
+-71.678 47.816 2948
+-71.552 47.816 2949
+-71.426 47.816 2950
+-71.3 47.816 3050
+-71.174 47.816 3003
+-71.048 47.816 3152
+-70.922 47.816 3153
+-70.796 47.816 3115
+-70.67 47.816 3115
+-70.544 47.816 3116
+-70.418 47.816 3116
+-70.292 47.816 3117
+-70.166 47.816 3117
+-70.04 47.816 3216
+-69.914 47.816 3211
+-69.788 47.816 3212
+-69.662 47.816 3212
+-69.536 47.816 3213
+-69.41 47.816 3155
+-69.284 47.816 3192
+-69.158 47.816 3193
+-69.032 47.816 3272
+-68.906 47.816 3178
+-68.78 47.816 3179
+-68.654 47.816 3180
+-68.528 47.816 3230
+-68.402 47.816 3182
+-68.276 47.816 3183
+-68.15 47.816 3183
+-68.024 47.816 3411
+-67.898 47.816 3355
+-67.772 47.816 3355
+-67.646 47.816 3489
+-67.52 47.816 3460
+-67.394 47.816 3461
+-67.268 47.816 3406
+-67.142 47.816 3478
+-67.016 47.816 3479
+-66.89 47.816 3480
+-66.764 47.816 3480
+-66.638 47.816 3480
+-66.512 47.816 3480
+-66.386 47.816 3481
+-66.26 47.816 3481
+-66.134 47.816 3470
+-66.008 47.816 3416
+-65.882 47.816 3410
+-65.756 47.816 3410
+-65.63 47.816 3411
+-65.504 47.816 3411
+-65.378 47.816 3411
+-65.252 47.816 3412
+-65.126 47.816 3412
+-128 47.764 4643
+-127.874 47.764 4653
+-127.748 47.764 4661
+-127.622 47.764 4695
+-127.496 47.764 4752
+-127.37 47.764 4865
+-127.244 47.764 5005
+-127.118 47.764 5121
+-126.992 47.764 5097
+-126.866 47.764 5306
+-126.74 47.764 5473
+-126.614 47.764 5598
+-126.488 47.764 5653
+-126.362 47.764 5814
+-126.236 47.764 5985
+-126.11 47.764 6076
+-125.984 47.764 6218
+-125.858 47.764 6313
+-125.732 47.764 6436
+-125.606 47.764 6580
+-125.48 47.764 6771
+-125.354 47.764 6823
+-125.228 47.764 6919
+-125.102 47.764 7104
+-124.976 47.764 7292
+-124.85 47.764 7348
+-124.724 47.764 7489
+-124.598 47.764 7635
+-124.472 47.764 7725
+-124.346 47.764 7873
+-124.22 47.764 8034
+-124.094 47.764 8094
+-123.968 47.764 8237
+-123.842 47.764 8378
+-123.716 47.764 8390
+-123.59 47.764 8487
+-123.464 47.764 8524
+-123.338 47.764 8637
+-123.212 47.764 8689
+-123.086 47.764 8731
+-122.96 47.764 8784
+-122.834 47.764 8746
+-122.708 47.764 8741
+-122.582 47.764 8656
+-122.456 47.764 8602
+-122.33 47.764 8520
+-122.204 47.764 8415
+-122.078 47.764 8360
+-121.952 47.764 8235
+-121.826 47.764 8141
+-121.7 47.764 7998
+-121.574 47.764 7808
+-121.448 47.764 7703
+-121.322 47.764 7584
+-121.196 47.764 7465
+-121.07 47.764 7349
+-120.944 47.764 7268
+-120.818 47.764 7121
+-120.692 47.764 6941
+-120.566 47.764 6792
+-120.44 47.764 6627
+-120.314 47.764 6502
+-120.188 47.764 6633
+-120.062 47.764 6775
+-119.936 47.764 6834
+-119.81 47.764 6924
+-119.684 47.764 7007
+-119.558 47.764 7104
+-119.432 47.764 7162
+-119.306 47.764 7290
+-119.18 47.764 7323
+-119.054 47.764 7391
+-118.928 47.764 7410
+-118.802 47.764 7437
+-118.676 47.764 7479
+-118.55 47.764 7508
+-118.424 47.764 7510
+-118.298 47.764 7521
+-118.172 47.764 7526
+-118.046 47.764 7511
+-117.92 47.764 7463
+-117.794 47.764 7418
+-117.668 47.764 7365
+-117.542 47.764 7289
+-117.416 47.764 7278
+-117.29 47.764 7152
+-117.164 47.764 7080
+-117.038 47.764 7013
+-116.912 47.764 7003
+-116.786 47.764 6858
+-116.66 47.764 6771
+-116.534 47.764 6619
+-116.408 47.764 6634
+-116.282 47.764 6439
+-116.156 47.764 6320
+-116.03 47.764 6261
+-115.904 47.764 6141
+-115.778 47.764 6076
+-115.652 47.764 5960
+-115.526 47.764 5813
+-115.4 47.764 5748
+-115.274 47.764 5631
+-115.148 47.764 5460
+-115.022 47.764 5449
+-114.896 47.764 5319
+-114.77 47.764 5188
+-114.644 47.764 5038
+-114.518 47.764 4914
+-114.392 47.764 4759
+-114.266 47.764 4553
+-114.14 47.764 4415
+-114.014 47.764 4447
+-113.888 47.764 4416
+-113.762 47.764 4313
+-113.636 47.764 4127
+-113.51 47.764 3964
+-113.384 47.764 4014
+-113.258 47.764 4053
+-113.132 47.764 4012
+-113.006 47.764 3924
+-112.88 47.764 3776
+-112.754 47.764 3557
+-112.628 47.764 3230
+-112.502 47.764 2953
+-112.376 47.764 2820
+-112.25 47.764 2888
+-112.124 47.764 3036
+-111.998 47.764 3164
+-111.872 47.764 3265
+-111.746 47.764 3335
+-111.62 47.764 3384
+-111.494 47.764 3420
+-111.368 47.764 3383
+-111.242 47.764 3372
+-111.116 47.764 3362
+-110.99 47.764 3377
+-110.864 47.764 3392
+-110.738 47.764 3388
+-110.612 47.764 3378
+-110.486 47.764 3389
+-110.36 47.764 3402
+-110.234 47.764 3412
+-110.108 47.764 3422
+-109.982 47.764 3432
+-109.856 47.764 3441
+-109.73 47.764 3276
+-109.604 47.764 3284
+-109.478 47.764 3292
+-109.352 47.764 3299
+-109.226 47.764 3305
+-109.1 47.764 3307
+-108.974 47.764 3238
+-108.848 47.764 3244
+-108.722 47.764 3250
+-108.596 47.764 3255
+-108.47 47.764 3261
+-108.344 47.764 3265
+-108.218 47.764 3270
+-108.092 47.764 3274
+-107.966 47.764 3279
+-107.84 47.764 3283
+-107.714 47.764 3286
+-107.588 47.764 3290
+-107.462 47.764 3293
+-107.336 47.764 3296
+-107.21 47.764 3299
+-107.084 47.764 3173
+-106.958 47.764 3129
+-106.832 47.764 3131
+-106.706 47.764 3133
+-106.58 47.764 3134
+-106.454 47.764 3136
+-106.328 47.764 3137
+-106.202 47.764 3139
+-106.076 47.764 3140
+-105.95 47.764 3141
+-105.824 47.764 3142
+-105.698 47.764 3143
+-105.572 47.764 3144
+-105.446 47.764 3145
+-105.32 47.764 3146
+-105.194 47.764 3147
+-105.068 47.764 3148
+-104.942 47.764 3149
+-104.816 47.764 3150
+-104.69 47.764 3151
+-104.564 47.764 3151
+-104.438 47.764 3152
+-104.312 47.764 3153
+-104.186 47.764 3153
+-104.06 47.764 3154
+-103.934 47.764 3155
+-103.808 47.764 3155
+-103.682 47.764 3156
+-103.556 47.764 3119
+-103.43 47.764 3119
+-103.304 47.764 3120
+-103.178 47.764 3116
+-103.052 47.764 3036
+-102.926 47.764 3043
+-102.8 47.764 2968
+-102.674 47.764 2961
+-102.548 47.764 2965
+-102.422 47.764 2985
+-102.296 47.764 2983
+-102.17 47.764 2987
+-102.044 47.764 3009
+-101.918 47.764 3061
+-101.792 47.764 3136
+-101.666 47.764 3234
+-101.54 47.764 3239
+-101.414 47.764 3316
+-101.288 47.764 3419
+-101.162 47.764 3419
+-101.036 47.764 3419
+-100.91 47.764 3213
+-100.784 47.764 3246
+-100.658 47.764 3245
+-100.532 47.764 3243
+-100.406 47.764 3225
+-100.28 47.764 3278
+-100.154 47.764 3248
+-100.028 47.764 3246
+-99.902 47.764 3225
+-99.776 47.764 3223
+-99.65 47.764 3143
+-99.524 47.764 3185
+-99.398 47.764 3183
+-99.272 47.764 3181
+-99.146 47.764 3179
+-99.02 47.764 3165
+-98.894 47.764 3163
+-98.768 47.764 3161
+-98.642 47.764 3159
+-98.516 47.764 3156
+-98.39 47.764 3076
+-98.264 47.764 3062
+-98.138 47.764 3039
+-98.012 47.764 2986
+-97.886 47.764 2976
+-97.76 47.764 2961
+-97.634 47.764 2958
+-97.508 47.764 2953
+-97.382 47.764 2935
+-97.256 47.764 2918
+-97.13 47.764 2915
+-97.004 47.764 2912
+-96.878 47.764 2908
+-96.752 47.764 2905
+-96.626 47.764 2901
+-96.5 47.764 2897
+-96.374 47.764 2893
+-96.248 47.764 2889
+-96.122 47.764 2885
+-95.996 47.764 2881
+-95.87 47.764 2876
+-95.744 47.764 2872
+-95.618 47.764 2867
+-95.492 47.764 2862
+-95.366 47.764 2857
+-95.24 47.764 2852
+-95.114 47.764 2846
+-94.988 47.764 2736
+-94.862 47.764 2731
+-94.736 47.764 2714
+-94.61 47.764 2708
+-94.484 47.764 2702
+-94.358 47.764 2696
+-94.232 47.764 2689
+-94.106 47.764 2683
+-93.98 47.764 2676
+-93.854 47.764 2669
+-93.728 47.764 2662
+-93.602 47.764 2655
+-93.476 47.764 2648
+-93.35 47.764 2641
+-93.224 47.764 2634
+-93.098 47.764 2627
+-92.972 47.764 2620
+-92.846 47.764 2613
+-92.72 47.764 2605
+-92.594 47.764 2598
+-92.468 47.764 2592
+-92.342 47.764 2585
+-92.216 47.764 2579
+-92.09 47.764 2572
+-91.964 47.764 2567
+-91.838 47.764 2561
+-91.712 47.764 2556
+-91.586 47.764 2551
+-91.46 47.764 2547
+-91.334 47.764 2544
+-91.208 47.764 2540
+-91.082 47.764 2538
+-90.956 47.764 2536
+-90.83 47.764 2534
+-90.704 47.764 2533
+-90.578 47.764 2532
+-90.452 47.764 2532
+-90.326 47.764 2533
+-90.2 47.764 2534
+-90.074 47.764 2499
+-89.948 47.764 2500
+-89.822 47.764 2502
+-89.696 47.764 2505
+-89.57 47.764 2508
+-89.444 47.764 2510
+-89.318 47.764 2514
+-89.192 47.764 2517
+-89.066 47.764 2520
+-88.94 47.764 2524
+-88.814 47.764 2527
+-88.688 47.764 2531
+-88.562 47.764 2534
+-88.436 47.764 2538
+-88.31 47.764 2541
+-88.184 47.764 2545
+-88.058 47.764 2548
+-87.932 47.764 2552
+-87.806 47.764 2555
+-87.68 47.764 2558
+-87.554 47.764 2561
+-87.428 47.764 2564
+-87.302 47.764 2567
+-87.176 47.764 2570
+-87.05 47.764 2573
+-86.924 47.764 2575
+-86.798 47.764 2578
+-86.672 47.764 2580
+-86.546 47.764 2582
+-86.42 47.764 2585
+-86.294 47.764 2587
+-86.168 47.764 2589
+-86.042 47.764 2591
+-85.916 47.764 2593
+-85.79 47.764 2594
+-85.664 47.764 2596
+-85.538 47.764 2598
+-85.412 47.764 2599
+-85.286 47.764 2601
+-85.16 47.764 2602
+-85.034 47.764 2604
+-84.908 47.764 2605
+-84.782 47.764 2607
+-84.656 47.764 2608
+-84.53 47.764 2609
+-84.404 47.764 2620
+-84.278 47.764 2621
+-84.152 47.764 2622
+-84.026 47.764 2624
+-83.9 47.764 2525
+-83.774 47.764 2526
+-83.648 47.764 2526
+-83.522 47.764 2527
+-83.396 47.764 2527
+-83.27 47.764 2528
+-83.144 47.764 2528
+-83.018 47.764 2529
+-82.892 47.764 2529
+-82.766 47.764 2530
+-82.64 47.764 2536
+-82.514 47.764 2545
+-82.388 47.764 2546
+-82.262 47.764 2546
+-82.136 47.764 2547
+-82.01 47.764 2566
+-81.884 47.764 2567
+-81.758 47.764 2567
+-81.632 47.764 2568
+-81.506 47.764 2572
+-81.38 47.764 2697
+-81.254 47.764 2697
+-81.128 47.764 2698
+-81.002 47.764 2704
+-80.876 47.764 2704
+-80.75 47.764 2706
+-80.624 47.764 2722
+-80.498 47.764 2705
+-80.372 47.764 2719
+-80.246 47.764 2719
+-80.12 47.764 2716
+-79.994 47.764 2717
+-79.868 47.764 2718
+-79.742 47.764 2718
+-79.616 47.764 2721
+-79.49 47.764 2804
+-79.364 47.764 2805
+-79.238 47.764 2806
+-79.112 47.764 2807
+-78.986 47.764 2824
+-78.86 47.764 2825
+-78.734 47.764 2807
+-78.608 47.764 2809
+-78.482 47.764 2810
+-78.356 47.764 2811
+-78.23 47.764 2784
+-78.104 47.764 2793
+-77.978 47.764 2794
+-77.852 47.764 2919
+-77.726 47.764 2880
+-77.6 47.764 2881
+-77.474 47.764 3015
+-77.348 47.764 3012
+-77.222 47.764 2975
+-77.096 47.764 3037
+-76.97 47.764 2929
+-76.844 47.764 2959
+-76.718 47.764 3013
+-76.592 47.764 2913
+-76.466 47.764 2920
+-76.34 47.764 2826
+-76.214 47.764 2823
+-76.088 47.764 2839
+-75.962 47.764 2811
+-75.836 47.764 2813
+-75.71 47.764 2814
+-75.584 47.764 2754
+-75.458 47.764 2796
+-75.332 47.764 2789
+-75.206 47.764 2778
+-75.08 47.764 2779
+-74.954 47.764 2780
+-74.828 47.764 2782
+-74.702 47.764 2723
+-74.576 47.764 2718
+-74.45 47.764 2719
+-74.324 47.764 2720
+-74.198 47.764 2721
+-74.072 47.764 2718
+-73.946 47.764 2663
+-73.82 47.764 2767
+-73.694 47.764 2763
+-73.568 47.764 2770
+-73.442 47.764 2770
+-73.316 47.764 2771
+-73.19 47.764 2772
+-73.064 47.764 2798
+-72.938 47.764 2776
+-72.812 47.764 2841
+-72.686 47.764 2842
+-72.56 47.764 2833
+-72.434 47.764 2841
+-72.308 47.764 2842
+-72.182 47.764 2843
+-72.056 47.764 2830
+-71.93 47.764 2946
+-71.804 47.764 2947
+-71.678 47.764 2948
+-71.552 47.764 2949
+-71.426 47.764 3049
+-71.3 47.764 3002
+-71.174 47.764 3151
+-71.048 47.764 3152
+-70.922 47.764 3114
+-70.796 47.764 3115
+-70.67 47.764 3115
+-70.544 47.764 3116
+-70.418 47.764 3116
+-70.292 47.764 3117
+-70.166 47.764 3216
+-70.04 47.764 3211
+-69.914 47.764 3211
+-69.788 47.764 3212
+-69.662 47.764 3212
+-69.536 47.764 3154
+-69.41 47.764 3192
+-69.284 47.764 3192
+-69.158 47.764 3271
+-69.032 47.764 3178
+-68.906 47.764 3179
+-68.78 47.764 3179
+-68.654 47.764 3229
+-68.528 47.764 3181
+-68.402 47.764 3182
+-68.276 47.764 3183
+-68.15 47.764 3410
+-68.024 47.764 3354
+-67.898 47.764 3355
+-67.772 47.764 3488
+-67.646 47.764 3460
+-67.52 47.764 3461
+-67.394 47.764 3405
+-67.268 47.764 3478
+-67.142 47.764 3479
+-67.016 47.764 3479
+-66.89 47.764 3480
+-66.764 47.764 3480
+-66.638 47.764 3480
+-66.512 47.764 3480
+-66.386 47.764 3481
+-66.26 47.764 3470
+-66.134 47.764 3416
+-66.008 47.764 3410
+-65.882 47.764 3410
+-65.756 47.764 3410
+-65.63 47.764 3411
+-65.504 47.764 3411
+-65.378 47.764 3411
+-65.252 47.764 3412
+-65.126 47.764 3412
+-128 47.712 4622
+-127.874 47.712 4594
+-127.748 47.712 4608
+-127.622 47.712 4682
+-127.496 47.712 4790
+-127.37 47.712 4943
+-127.244 47.712 5034
+-127.118 47.712 5161
+-126.992 47.712 5246
+-126.866 47.712 5383
+-126.74 47.712 5429
+-126.614 47.712 5556
+-126.488 47.712 5702
+-126.362 47.712 5828
+-126.236 47.712 5956
+-126.11 47.712 6122
+-125.984 47.712 6190
+-125.858 47.712 6338
+-125.732 47.712 6420
+-125.606 47.712 6565
+-125.48 47.712 6695
+-125.354 47.712 6853
+-125.228 47.712 6986
+-125.102 47.712 7141
+-124.976 47.712 7291
+-124.85 47.712 7387
+-124.724 47.712 7508
+-124.598 47.712 7636
+-124.472 47.712 7769
+-124.346 47.712 7851
+-124.22 47.712 8023
+-124.094 47.712 8090
+-123.968 47.712 8213
+-123.842 47.712 8350
+-123.716 47.712 8482
+-123.59 47.712 8492
+-123.464 47.712 8583
+-123.338 47.712 8711
+-123.212 47.712 8749
+-123.086 47.712 8804
+-122.96 47.712 8810
+-122.834 47.712 8795
+-122.708 47.712 8756
+-122.582 47.712 8704
+-122.456 47.712 8650
+-122.33 47.712 8560
+-122.204 47.712 8484
+-122.078 47.712 8360
+-121.952 47.712 8275
+-121.826 47.712 8152
+-121.7 47.712 8004
+-121.574 47.712 7881
+-121.448 47.712 7717
+-121.322 47.712 7653
+-121.196 47.712 7479
+-121.07 47.712 7388
+-120.944 47.712 7242
+-120.818 47.712 7141
+-120.692 47.712 6941
+-120.566 47.712 6860
+-120.44 47.712 6504
+-120.314 47.712 6549
+-120.188 47.712 6689
+-120.062 47.712 6825
+-119.936 47.712 6927
+-119.81 47.712 6993
+-119.684 47.712 7059
+-119.558 47.712 7119
+-119.432 47.712 7212
+-119.306 47.712 7302
+-119.18 47.712 7347
+-119.054 47.712 7389
+-118.928 47.712 7511
+-118.802 47.712 7514
+-118.676 47.712 7555
+-118.55 47.712 7560
+-118.424 47.712 7570
+-118.298 47.712 7563
+-118.172 47.712 7568
+-118.046 47.712 7575
+-117.92 47.712 7531
+-117.794 47.712 7494
+-117.668 47.712 7437
+-117.542 47.712 7371
+-117.416 47.712 7293
+-117.29 47.712 7195
+-117.164 47.712 7090
+-117.038 47.712 7054
+-116.912 47.712 7008
+-116.786 47.712 6953
+-116.66 47.712 6838
+-116.534 47.712 6678
+-116.408 47.712 6669
+-116.282 47.712 6469
+-116.156 47.712 6432
+-116.03 47.712 6299
+-115.904 47.712 6199
+-115.778 47.712 6100
+-115.652 47.712 6001
+-115.526 47.712 5843
+-115.4 47.712 5718
+-115.274 47.712 5673
+-115.148 47.712 5541
+-115.022 47.712 5446
+-114.896 47.712 5346
+-114.77 47.712 5209
+-114.644 47.712 5068
+-114.518 47.712 4935
+-114.392 47.712 4792
+-114.266 47.712 4635
+-114.14 47.712 4522
+-114.014 47.712 4496
+-113.888 47.712 4455
+-113.762 47.712 4375
+-113.636 47.712 4277
+-113.51 47.712 4168
+-113.384 47.712 4126
+-113.258 47.712 4129
+-113.132 47.712 4113
+-113.006 47.712 3981
+-112.88 47.712 3864
+-112.754 47.712 3675
+-112.628 47.712 3448
+-112.502 47.712 3199
+-112.376 47.712 3063
+-112.25 47.712 3083
+-112.124 47.712 3171
+-111.998 47.712 3267
+-111.872 47.712 3347
+-111.746 47.712 3407
+-111.62 47.712 3435
+-111.494 47.712 3404
+-111.368 47.712 3427
+-111.242 47.712 3446
+-111.116 47.712 3427
+-110.99 47.712 3416
+-110.864 47.712 3410
+-110.738 47.712 3427
+-110.612 47.712 3438
+-110.486 47.712 3420
+-110.36 47.712 3429
+-110.234 47.712 3437
+-110.108 47.712 3445
+-109.982 47.712 3453
+-109.856 47.712 3287
+-109.73 47.712 3310
+-109.604 47.712 3317
+-109.478 47.712 3324
+-109.352 47.712 3331
+-109.226 47.712 3314
+-109.1 47.712 3319
+-108.974 47.712 3324
+-108.848 47.712 3257
+-108.722 47.712 3262
+-108.596 47.712 3267
+-108.47 47.712 3272
+-108.344 47.712 3276
+-108.218 47.712 3280
+-108.092 47.712 3284
+-107.966 47.712 3288
+-107.84 47.712 3301
+-107.714 47.712 3304
+-107.588 47.712 3308
+-107.462 47.712 3311
+-107.336 47.712 3314
+-107.21 47.712 3178
+-107.084 47.712 3133
+-106.958 47.712 3135
+-106.832 47.712 3136
+-106.706 47.712 3138
+-106.58 47.712 3139
+-106.454 47.712 3141
+-106.328 47.712 3142
+-106.202 47.712 3143
+-106.076 47.712 3144
+-105.95 47.712 3145
+-105.824 47.712 3146
+-105.698 47.712 3147
+-105.572 47.712 3148
+-105.446 47.712 3149
+-105.32 47.712 3150
+-105.194 47.712 3151
+-105.068 47.712 3151
+-104.942 47.712 3152
+-104.816 47.712 3153
+-104.69 47.712 3154
+-104.564 47.712 3154
+-104.438 47.712 3155
+-104.312 47.712 3155
+-104.186 47.712 3156
+-104.06 47.712 3157
+-103.934 47.712 3157
+-103.808 47.712 3158
+-103.682 47.712 3158
+-103.556 47.712 3121
+-103.43 47.712 3121
+-103.304 47.712 3122
+-103.178 47.712 3118
+-103.052 47.712 3037
+-102.926 47.712 3044
+-102.8 47.712 2970
+-102.674 47.712 2963
+-102.548 47.712 2967
+-102.422 47.712 2987
+-102.296 47.712 2984
+-102.17 47.712 2989
+-102.044 47.712 3012
+-101.918 47.712 3063
+-101.792 47.712 3139
+-101.666 47.712 3235
+-101.54 47.712 3241
+-101.414 47.712 3371
+-101.288 47.712 3419
+-101.162 47.712 3419
+-101.036 47.712 3419
+-100.91 47.712 3418
+-100.784 47.712 3212
+-100.658 47.712 3245
+-100.532 47.712 3244
+-100.406 47.712 3242
+-100.28 47.712 3224
+-100.154 47.712 3277
+-100.028 47.712 3247
+-99.902 47.712 3245
+-99.776 47.712 3224
+-99.65 47.712 3222
+-99.524 47.712 3142
+-99.398 47.712 3183
+-99.272 47.712 3181
+-99.146 47.712 3179
+-99.02 47.712 3177
+-98.894 47.712 3164
+-98.768 47.712 3162
+-98.642 47.712 3159
+-98.516 47.712 3157
+-98.39 47.712 3155
+-98.264 47.712 3074
+-98.138 47.712 3060
+-98.012 47.712 3038
+-97.886 47.712 2985
+-97.76 47.712 2974
+-97.634 47.712 2959
+-97.508 47.712 2956
+-97.382 47.712 2951
+-97.256 47.712 2933
+-97.13 47.712 2916
+-97.004 47.712 2912
+-96.878 47.712 2909
+-96.752 47.712 2905
+-96.626 47.712 2902
+-96.5 47.712 2898
+-96.374 47.712 2894
+-96.248 47.712 2890
+-96.122 47.712 2885
+-95.996 47.712 2881
+-95.87 47.712 2876
+-95.744 47.712 2872
+-95.618 47.712 2867
+-95.492 47.712 2862
+-95.366 47.712 2856
+-95.24 47.712 2851
+-95.114 47.712 2845
+-94.988 47.712 2840
+-94.862 47.712 2730
+-94.736 47.712 2724
+-94.61 47.712 2707
+-94.484 47.712 2701
+-94.358 47.712 2694
+-94.232 47.712 2688
+-94.106 47.712 2681
+-93.98 47.712 2674
+-93.854 47.712 2667
+-93.728 47.712 2659
+-93.602 47.712 2652
+-93.476 47.712 2645
+-93.35 47.712 2637
+-93.224 47.712 2629
+-93.098 47.712 2622
+-92.972 47.712 2614
+-92.846 47.712 2606
+-92.72 47.712 2599
+-92.594 47.712 2591
+-92.468 47.712 2584
+-92.342 47.712 2577
+-92.216 47.712 2570
+-92.09 47.712 2564
+-91.964 47.712 2557
+-91.838 47.712 2551
+-91.712 47.712 2546
+-91.586 47.712 2541
+-91.46 47.712 2536
+-91.334 47.712 2532
+-91.208 47.712 2529
+-91.082 47.712 2526
+-90.956 47.712 2524
+-90.83 47.712 2522
+-90.704 47.712 2521
+-90.578 47.712 2521
+-90.452 47.712 2521
+-90.326 47.712 2522
+-90.2 47.712 2523
+-90.074 47.712 2489
+-89.948 47.712 2491
+-89.822 47.712 2493
+-89.696 47.712 2496
+-89.57 47.712 2499
+-89.444 47.712 2502
+-89.318 47.712 2506
+-89.192 47.712 2509
+-89.066 47.712 2513
+-88.94 47.712 2517
+-88.814 47.712 2521
+-88.688 47.712 2525
+-88.562 47.712 2529
+-88.436 47.712 2533
+-88.31 47.712 2536
+-88.184 47.712 2540
+-88.058 47.712 2544
+-87.932 47.712 2548
+-87.806 47.712 2551
+-87.68 47.712 2554
+-87.554 47.712 2558
+-87.428 47.712 2561
+-87.302 47.712 2564
+-87.176 47.712 2567
+-87.05 47.712 2570
+-86.924 47.712 2572
+-86.798 47.712 2575
+-86.672 47.712 2577
+-86.546 47.712 2580
+-86.42 47.712 2582
+-86.294 47.712 2584
+-86.168 47.712 2586
+-86.042 47.712 2588
+-85.916 47.712 2590
+-85.79 47.712 2592
+-85.664 47.712 2594
+-85.538 47.712 2596
+-85.412 47.712 2597
+-85.286 47.712 2599
+-85.16 47.712 2601
+-85.034 47.712 2602
+-84.908 47.712 2604
+-84.782 47.712 2605
+-84.656 47.712 2606
+-84.53 47.712 2617
+-84.404 47.712 2618
+-84.278 47.712 2619
+-84.152 47.712 2621
+-84.026 47.712 2523
+-83.9 47.712 2524
+-83.774 47.712 2524
+-83.648 47.712 2525
+-83.522 47.712 2525
+-83.396 47.712 2526
+-83.27 47.712 2526
+-83.144 47.712 2527
+-83.018 47.712 2527
+-82.892 47.712 2527
+-82.766 47.712 2534
+-82.64 47.712 2543
+-82.514 47.712 2544
+-82.388 47.712 2544
+-82.262 47.712 2545
+-82.136 47.712 2564
+-82.01 47.712 2565
+-81.884 47.712 2565
+-81.758 47.712 2566
+-81.632 47.712 2570
+-81.506 47.712 2695
+-81.38 47.712 2695
+-81.254 47.712 2695
+-81.128 47.712 2702
+-81.002 47.712 2702
+-80.876 47.712 2704
+-80.75 47.712 2720
+-80.624 47.712 2703
+-80.498 47.712 2716
+-80.372 47.712 2717
+-80.246 47.712 2714
+-80.12 47.712 2715
+-79.994 47.712 2716
+-79.868 47.712 2716
+-79.742 47.712 2719
+-79.616 47.712 2802
+-79.49 47.712 2803
+-79.364 47.712 2804
+-79.238 47.712 2805
+-79.112 47.712 2822
+-78.986 47.712 2823
+-78.86 47.712 2805
+-78.734 47.712 2806
+-78.608 47.712 2807
+-78.482 47.712 2808
+-78.356 47.712 2782
+-78.23 47.712 2791
+-78.104 47.712 2792
+-77.978 47.712 2916
+-77.852 47.712 2878
+-77.726 47.712 2879
+-77.6 47.712 3012
+-77.474 47.712 3009
+-77.348 47.712 2973
+-77.222 47.712 3034
+-77.096 47.712 2927
+-76.97 47.712 2957
+-76.844 47.712 3011
+-76.718 47.712 2911
+-76.592 47.712 2918
+-76.466 47.712 2825
+-76.34 47.712 2821
+-76.214 47.712 2837
+-76.088 47.712 2810
+-75.962 47.712 2811
+-75.836 47.712 2812
+-75.71 47.712 2752
+-75.584 47.712 2795
+-75.458 47.712 2787
+-75.332 47.712 2777
+-75.206 47.712 2778
+-75.08 47.712 2779
+-74.954 47.712 2780
+-74.828 47.712 2722
+-74.702 47.712 2717
+-74.576 47.712 2718
+-74.45 47.712 2719
+-74.324 47.712 2720
+-74.198 47.712 2717
+-74.072 47.712 2662
+-73.946 47.712 2767
+-73.82 47.712 2762
+-73.694 47.712 2769
+-73.568 47.712 2770
+-73.442 47.712 2771
+-73.316 47.712 2771
+-73.19 47.712 2797
+-73.064 47.712 2775
+-72.938 47.712 2840
+-72.812 47.712 2841
+-72.686 47.712 2832
+-72.56 47.712 2840
+-72.434 47.712 2841
+-72.308 47.712 2842
+-72.182 47.712 2830
+-72.056 47.712 2945
+-71.93 47.712 2946
+-71.804 47.712 2947
+-71.678 47.712 2948
+-71.552 47.712 3048
+-71.426 47.712 3001
+-71.3 47.712 3151
+-71.174 47.712 3151
+-71.048 47.712 3114
+-70.922 47.712 3114
+-70.796 47.712 3115
+-70.67 47.712 3115
+-70.544 47.712 3116
+-70.418 47.712 3116
+-70.292 47.712 3215
+-70.166 47.712 3210
+-70.04 47.712 3211
+-69.914 47.712 3211
+-69.788 47.712 3212
+-69.662 47.712 3154
+-69.536 47.712 3191
+-69.41 47.712 3192
+-69.284 47.712 3270
+-69.158 47.712 3177
+-69.032 47.712 3178
+-68.906 47.712 3179
+-68.78 47.712 3228
+-68.654 47.712 3181
+-68.528 47.712 3182
+-68.402 47.712 3182
+-68.276 47.712 3410
+-68.15 47.712 3354
+-68.024 47.712 3355
+-67.898 47.712 3488
+-67.772 47.712 3460
+-67.646 47.712 3460
+-67.52 47.712 3405
+-67.394 47.712 3477
+-67.268 47.712 3479
+-67.142 47.712 3479
+-67.016 47.712 3479
+-66.89 47.712 3480
+-66.764 47.712 3479
+-66.638 47.712 3480
+-66.512 47.712 3480
+-66.386 47.712 3469
+-66.26 47.712 3416
+-66.134 47.712 3409
+-66.008 47.712 3410
+-65.882 47.712 3410
+-65.756 47.712 3410
+-65.63 47.712 3411
+-65.504 47.712 3411
+-65.378 47.712 3411
+-65.252 47.712 3412
+-65.126 47.712 3412
+-128 47.66 4546
+-127.874 47.66 4478
+-127.748 47.66 4415
+-127.622 47.66 4564
+-127.496 47.66 4810
+-127.37 47.66 4966
+-127.244 47.66 5053
+-127.118 47.66 5106
+-126.992 47.66 5274
+-126.866 47.66 5410
+-126.74 47.66 5410
+-126.614 47.66 5561
+-126.488 47.66 5710
+-126.362 47.66 5856
+-126.236 47.66 5923
+-126.11 47.66 6114
+-125.984 47.66 6253
+-125.858 47.66 6305
+-125.732 47.66 6492
+-125.606 47.66 6583
+-125.48 47.66 6714
+-125.354 47.66 6852
+-125.228 47.66 7025
+-125.102 47.66 7143
+-124.976 47.66 7280
+-124.85 47.66 7468
+-124.724 47.66 7572
+-124.598 47.66 7661
+-124.472 47.66 7821
+-124.346 47.66 7927
+-124.22 47.66 8097
+-124.094 47.66 8171
+-123.968 47.66 8303
+-123.842 47.66 8452
+-123.716 47.66 8471
+-123.59 47.66 8584
+-123.464 47.66 8635
+-123.338 47.66 8744
+-123.212 47.66 8820
+-123.086 47.66 8842
+-122.96 47.66 8874
+-122.834 47.66 8869
+-122.708 47.66 8811
+-122.582 47.66 8760
+-122.456 47.66 8664
+-122.33 47.66 8602
+-122.204 47.66 8463
+-122.078 47.66 8393
+-121.952 47.66 8262
+-121.826 47.66 8151
+-121.7 47.66 8028
+-121.574 47.66 7891
+-121.448 47.66 7749
+-121.322 47.66 7612
+-121.196 47.66 7506
+-121.07 47.66 7409
+-120.944 47.66 7263
+-120.818 47.66 7147
+-120.692 47.66 6974
+-120.566 47.66 6819
+-120.44 47.66 6710
+-120.314 47.66 6685
+-120.188 47.66 6759
+-120.062 47.66 6852
+-119.936 47.66 6904
+-119.81 47.66 6982
+-119.684 47.66 7056
+-119.558 47.66 7154
+-119.432 47.66 7212
+-119.306 47.66 7302
+-119.18 47.66 7413
+-119.054 47.66 7479
+-118.928 47.66 7494
+-118.802 47.66 7580
+-118.676 47.66 7595
+-118.55 47.66 7633
+-118.424 47.66 7618
+-118.298 47.66 7663
+-118.172 47.66 7611
+-118.046 47.66 7608
+-117.92 47.66 7573
+-117.794 47.66 7522
+-117.668 47.66 7456
+-117.542 47.66 7426
+-117.416 47.66 7338
+-117.29 47.66 7264
+-117.164 47.66 7154
+-117.038 47.66 7104
+-116.912 47.66 7005
+-116.786 47.66 6975
+-116.66 47.66 6894
+-116.534 47.66 6809
+-116.408 47.66 6700
+-116.282 47.66 6522
+-116.156 47.66 6367
+-116.03 47.66 6301
+-115.904 47.66 6190
+-115.778 47.66 6116
+-115.652 47.66 5989
+-115.526 47.66 5902
+-115.4 47.66 5757
+-115.274 47.66 5669
+-115.148 47.66 5534
+-115.022 47.66 5429
+-114.896 47.66 5340
+-114.77 47.66 5223
+-114.644 47.66 5050
+-114.518 47.66 4964
+-114.392 47.66 4847
+-114.266 47.66 4720
+-114.14 47.66 4622
+-114.014 47.66 4556
+-113.888 47.66 4475
+-113.762 47.66 4390
+-113.636 47.66 4319
+-113.51 47.66 4244
+-113.384 47.66 4203
+-113.258 47.66 4179
+-113.132 47.66 4123
+-113.006 47.66 4074
+-112.88 47.66 3933
+-112.754 47.66 3800
+-112.628 47.66 3636
+-112.502 47.66 3491
+-112.376 47.66 3343
+-112.25 47.66 3296
+-112.124 47.66 3331
+-111.998 47.66 3383
+-111.872 47.66 3434
+-111.746 47.66 3476
+-111.62 47.66 3429
+-111.494 47.66 3453
+-111.368 47.66 3473
+-111.242 47.66 3488
+-111.116 47.66 3485
+-110.99 47.66 3475
+-110.864 47.66 3445
+-110.738 47.66 3461
+-110.612 47.66 3441
+-110.486 47.66 3448
+-110.36 47.66 3455
+-110.234 47.66 3462
+-110.108 47.66 3468
+-109.982 47.66 3300
+-109.856 47.66 3322
+-109.73 47.66 3328
+-109.604 47.66 3334
+-109.478 47.66 3340
+-109.352 47.66 3322
+-109.226 47.66 3327
+-109.1 47.66 3332
+-108.974 47.66 3336
+-108.848 47.66 3340
+-108.722 47.66 3274
+-108.596 47.66 3279
+-108.47 47.66 3283
+-108.344 47.66 3286
+-108.218 47.66 3290
+-108.092 47.66 3302
+-107.966 47.66 3306
+-107.84 47.66 3309
+-107.714 47.66 3312
+-107.588 47.66 3315
+-107.462 47.66 3318
+-107.336 47.66 3183
+-107.21 47.66 3138
+-107.084 47.66 3139
+-106.958 47.66 3141
+-106.832 47.66 3142
+-106.706 47.66 3143
+-106.58 47.66 3144
+-106.454 47.66 3146
+-106.328 47.66 3147
+-106.202 47.66 3148
+-106.076 47.66 3149
+-105.95 47.66 3149
+-105.824 47.66 3150
+-105.698 47.66 3151
+-105.572 47.66 3152
+-105.446 47.66 3153
+-105.32 47.66 3153
+-105.194 47.66 3154
+-105.068 47.66 3155
+-104.942 47.66 3155
+-104.816 47.66 3156
+-104.69 47.66 3156
+-104.564 47.66 3157
+-104.438 47.66 3158
+-104.312 47.66 3158
+-104.186 47.66 3159
+-104.06 47.66 3159
+-103.934 47.66 3160
+-103.808 47.66 3160
+-103.682 47.66 3160
+-103.556 47.66 3123
+-103.43 47.66 3124
+-103.304 47.66 3124
+-103.178 47.66 3120
+-103.052 47.66 3039
+-102.926 47.66 3046
+-102.8 47.66 2971
+-102.674 47.66 2965
+-102.548 47.66 2968
+-102.422 47.66 2989
+-102.296 47.66 2986
+-102.17 47.66 2991
+-102.044 47.66 3012
+-101.918 47.66 3061
+-101.792 47.66 3130
+-101.666 47.66 3237
+-101.54 47.66 3242
+-101.414 47.66 3370
+-101.288 47.66 3424
+-101.162 47.66 3418
+-101.036 47.66 3418
+-100.91 47.66 3418
+-100.784 47.66 3418
+-100.658 47.66 3212
+-100.532 47.66 3244
+-100.406 47.66 3243
+-100.28 47.66 3242
+-100.154 47.66 3223
+-100.028 47.66 3276
+-99.902 47.66 3246
+-99.776 47.66 3244
+-99.65 47.66 3223
+-99.524 47.66 3221
+-99.398 47.66 3141
+-99.272 47.66 3182
+-99.146 47.66 3180
+-99.02 47.66 3178
+-98.894 47.66 3176
+-98.768 47.66 3162
+-98.642 47.66 3160
+-98.516 47.66 3158
+-98.39 47.66 3155
+-98.264 47.66 3153
+-98.138 47.66 3072
+-98.012 47.66 3058
+-97.886 47.66 3036
+-97.76 47.66 2983
+-97.634 47.66 2972
+-97.508 47.66 2957
+-97.382 47.66 2954
+-97.256 47.66 2948
+-97.13 47.66 2931
+-97.004 47.66 2913
+-96.878 47.66 2910
+-96.752 47.66 2906
+-96.626 47.66 2902
+-96.5 47.66 2898
+-96.374 47.66 2894
+-96.248 47.66 2890
+-96.122 47.66 2886
+-95.996 47.66 2881
+-95.87 47.66 2876
+-95.744 47.66 2872
+-95.618 47.66 2867
+-95.492 47.66 2861
+-95.366 47.66 2856
+-95.24 47.66 2850
+-95.114 47.66 2845
+-94.988 47.66 2839
+-94.862 47.66 2833
+-94.736 47.66 2723
+-94.61 47.66 2717
+-94.484 47.66 2700
+-94.358 47.66 2693
+-94.232 47.66 2686
+-94.106 47.66 2679
+-93.98 47.66 2671
+-93.854 47.66 2664
+-93.728 47.66 2656
+-93.602 47.66 2649
+-93.476 47.66 2641
+-93.35 47.66 2633
+-93.224 47.66 2625
+-93.098 47.66 2616
+-92.972 47.66 2608
+-92.846 47.66 2600
+-92.72 47.66 2592
+-92.594 47.66 2584
+-92.468 47.66 2576
+-92.342 47.66 2569
+-92.216 47.66 2561
+-92.09 47.66 2554
+-91.964 47.66 2547
+-91.838 47.66 2541
+-91.712 47.66 2535
+-91.586 47.66 2530
+-91.46 47.66 2525
+-91.334 47.66 2520
+-91.208 47.66 2517
+-91.082 47.66 2514
+-90.956 47.66 2512
+-90.83 47.66 2510
+-90.704 47.66 2509
+-90.578 47.66 2509
+-90.452 47.66 2509
+-90.326 47.66 2510
+-90.2 47.66 2512
+-90.074 47.66 2478
+-89.948 47.66 2480
+-89.822 47.66 2483
+-89.696 47.66 2486
+-89.57 47.66 2490
+-89.444 47.66 2493
+-89.318 47.66 2497
+-89.192 47.66 2502
+-89.066 47.66 2506
+-88.94 47.66 2510
+-88.814 47.66 2514
+-88.688 47.66 2519
+-88.562 47.66 2523
+-88.436 47.66 2527
+-88.31 47.66 2531
+-88.184 47.66 2535
+-88.058 47.66 2539
+-87.932 47.66 2543
+-87.806 47.66 2547
+-87.68 47.66 2551
+-87.554 47.66 2554
+-87.428 47.66 2557
+-87.302 47.66 2561
+-87.176 47.66 2564
+-87.05 47.66 2567
+-86.924 47.66 2570
+-86.798 47.66 2572
+-86.672 47.66 2575
+-86.546 47.66 2577
+-86.42 47.66 2580
+-86.294 47.66 2582
+-86.168 47.66 2584
+-86.042 47.66 2586
+-85.916 47.66 2588
+-85.79 47.66 2590
+-85.664 47.66 2592
+-85.538 47.66 2594
+-85.412 47.66 2595
+-85.286 47.66 2597
+-85.16 47.66 2599
+-85.034 47.66 2600
+-84.908 47.66 2602
+-84.782 47.66 2603
+-84.656 47.66 2614
+-84.53 47.66 2615
+-84.404 47.66 2616
+-84.278 47.66 2618
+-84.152 47.66 2521
+-84.026 47.66 2522
+-83.9 47.66 2522
+-83.774 47.66 2523
+-83.648 47.66 2523
+-83.522 47.66 2524
+-83.396 47.66 2524
+-83.27 47.66 2525
+-83.144 47.66 2525
+-83.018 47.66 2525
+-82.892 47.66 2531
+-82.766 47.66 2541
+-82.64 47.66 2542
+-82.514 47.66 2542
+-82.388 47.66 2543
+-82.262 47.66 2562
+-82.136 47.66 2563
+-82.01 47.66 2563
+-81.884 47.66 2564
+-81.758 47.66 2568
+-81.632 47.66 2692
+-81.506 47.66 2693
+-81.38 47.66 2693
+-81.254 47.66 2699
+-81.128 47.66 2700
+-81.002 47.66 2701
+-80.876 47.66 2717
+-80.75 47.66 2701
+-80.624 47.66 2714
+-80.498 47.66 2715
+-80.372 47.66 2712
+-80.246 47.66 2713
+-80.12 47.66 2713
+-79.994 47.66 2714
+-79.868 47.66 2716
+-79.742 47.66 2799
+-79.616 47.66 2800
+-79.49 47.66 2801
+-79.364 47.66 2802
+-79.238 47.66 2819
+-79.112 47.66 2820
+-78.986 47.66 2803
+-78.86 47.66 2804
+-78.734 47.66 2805
+-78.608 47.66 2806
+-78.482 47.66 2780
+-78.356 47.66 2789
+-78.23 47.66 2790
+-78.104 47.66 2914
+-77.978 47.66 2876
+-77.852 47.66 2877
+-77.726 47.66 3009
+-77.6 47.66 3007
+-77.474 47.66 2970
+-77.348 47.66 3032
+-77.222 47.66 2925
+-77.096 47.66 2954
+-76.97 47.66 3008
+-76.844 47.66 2909
+-76.718 47.66 2916
+-76.592 47.66 2823
+-76.466 47.66 2819
+-76.34 47.66 2836
+-76.214 47.66 2808
+-76.088 47.66 2809
+-75.962 47.66 2811
+-75.836 47.66 2751
+-75.71 47.66 2793
+-75.584 47.66 2786
+-75.458 47.66 2775
+-75.332 47.66 2776
+-75.206 47.66 2778
+-75.08 47.66 2779
+-74.954 47.66 2721
+-74.828 47.66 2716
+-74.702 47.66 2717
+-74.576 47.66 2718
+-74.45 47.66 2719
+-74.324 47.66 2716
+-74.198 47.66 2661
+-74.072 47.66 2766
+-73.946 47.66 2762
+-73.82 47.66 2768
+-73.694 47.66 2769
+-73.568 47.66 2770
+-73.442 47.66 2771
+-73.316 47.66 2796
+-73.19 47.66 2774
+-73.064 47.66 2839
+-72.938 47.66 2840
+-72.812 47.66 2831
+-72.686 47.66 2839
+-72.56 47.66 2840
+-72.434 47.66 2841
+-72.308 47.66 2829
+-72.182 47.66 2945
+-72.056 47.66 2946
+-71.93 47.66 2947
+-71.804 47.66 2948
+-71.678 47.66 3047
+-71.552 47.66 3001
+-71.426 47.66 3150
+-71.3 47.66 3151
+-71.174 47.66 3113
+-71.048 47.66 3114
+-70.922 47.66 3114
+-70.796 47.66 3115
+-70.67 47.66 3115
+-70.544 47.66 3116
+-70.418 47.66 3214
+-70.292 47.66 3209
+-70.166 47.66 3210
+-70.04 47.66 3211
+-69.914 47.66 3211
+-69.788 47.66 3153
+-69.662 47.66 3190
+-69.536 47.66 3191
+-69.41 47.66 3270
+-69.284 47.66 3177
+-69.158 47.66 3177
+-69.032 47.66 3178
+-68.906 47.66 3228
+-68.78 47.66 3180
+-68.654 47.66 3181
+-68.528 47.66 3182
+-68.402 47.66 3409
+-68.276 47.66 3354
+-68.15 47.66 3354
+-68.024 47.66 3487
+-67.898 47.66 3459
+-67.772 47.66 3460
+-67.646 47.66 3404
+-67.52 47.66 3477
+-67.394 47.66 3478
+-67.268 47.66 3479
+-67.142 47.66 3479
+-67.016 47.66 3479
+-66.89 47.66 3479
+-66.764 47.66 3479
+-66.638 47.66 3480
+-66.512 47.66 3469
+-66.386 47.66 3415
+-66.26 47.66 3409
+-66.134 47.66 3409
+-66.008 47.66 3410
+-65.882 47.66 3410
+-65.756 47.66 3411
+-65.63 47.66 3411
+-65.504 47.66 3411
+-65.378 47.66 3412
+-65.252 47.66 3412
+-65.126 47.66 3412
+-128 47.608 4506
+-127.874 47.608 4383
+-127.748 47.608 4240
+-127.622 47.608 4484
+-127.496 47.608 4805
+-127.37 47.608 4953
+-127.244 47.608 5032
+-127.118 47.608 4975
+-126.992 47.608 5194
+-126.866 47.608 5396
+-126.74 47.608 5462
+-126.614 47.608 5516
+-126.488 47.608 5660
+-126.362 47.608 5809
+-126.236 47.608 5890
+-126.11 47.608 6136
+-125.984 47.608 6259
+-125.858 47.608 6368
+-125.732 47.608 6511
+-125.606 47.608 6565
+-125.48 47.608 6745
+-125.354 47.608 6855
+-125.228 47.608 7043
+-125.102 47.608 7115
+-124.976 47.608 7240
+-124.85 47.608 7382
+-124.724 47.608 7512
+-124.598 47.608 7656
+-124.472 47.608 7810
+-124.346 47.608 7939
+-124.22 47.608 8059
+-124.094 47.608 8178
+-123.968 47.608 8307
+-123.842 47.608 8438
+-123.716 47.608 8550
+-123.59 47.608 8606
+-123.464 47.608 8716
+-123.338 47.608 8835
+-123.212 47.608 8872
+-123.086 47.608 8891
+-122.96 47.608 8904
+-122.834 47.608 8917
+-122.708 47.608 8874
+-122.582 47.608 8820
+-122.456 47.608 8722
+-122.33 47.608 8620
+-122.204 47.608 8528
+-122.078 47.608 8410
+-121.952 47.608 8301
+-121.826 47.608 8150
+-121.7 47.608 8060
+-121.574 47.608 7960
+-121.448 47.608 7794
+-121.322 47.608 7704
+-121.196 47.608 7527
+-121.07 47.608 7390
+-120.944 47.608 7282
+-120.818 47.608 7152
+-120.692 47.608 6970
+-120.566 47.608 6869
+-120.44 47.608 6686
+-120.314 47.608 6611
+-120.188 47.608 6759
+-120.062 47.608 6855
+-119.936 47.608 6952
+-119.81 47.608 7038
+-119.684 47.608 7104
+-119.558 47.608 7198
+-119.432 47.608 7291
+-119.306 47.608 7351
+-119.18 47.608 7450
+-119.054 47.608 7516
+-118.928 47.608 7580
+-118.802 47.608 7620
+-118.676 47.608 7663
+-118.55 47.608 7674
+-118.424 47.608 7681
+-118.298 47.608 7682
+-118.172 47.608 7695
+-118.046 47.608 7679
+-117.92 47.608 7632
+-117.794 47.608 7574
+-117.668 47.608 7518
+-117.542 47.608 7494
+-117.416 47.608 7408
+-117.29 47.608 7328
+-117.164 47.608 7231
+-117.038 47.608 7133
+-116.912 47.608 7055
+-116.786 47.608 6989
+-116.66 47.608 6846
+-116.534 47.608 6880
+-116.408 47.608 6740
+-116.282 47.608 6521
+-116.156 47.608 6385
+-116.03 47.608 6302
+-115.904 47.608 6222
+-115.778 47.608 6141
+-115.652 47.608 6064
+-115.526 47.608 5930
+-115.4 47.608 5763
+-115.274 47.608 5648
+-115.148 47.608 5529
+-115.022 47.608 5372
+-114.896 47.608 5336
+-114.77 47.608 5204
+-114.644 47.608 5047
+-114.518 47.608 4945
+-114.392 47.608 4841
+-114.266 47.608 4767
+-114.14 47.608 4679
+-114.014 47.608 4571
+-113.888 47.608 4428
+-113.762 47.608 4302
+-113.636 47.608 4303
+-113.51 47.608 4270
+-113.384 47.608 4232
+-113.258 47.608 4203
+-113.132 47.608 4146
+-113.006 47.608 4103
+-112.88 47.608 4035
+-112.754 47.608 3956
+-112.628 47.608 3806
+-112.502 47.608 3689
+-112.376 47.608 3620
+-112.25 47.608 3536
+-112.124 47.608 3478
+-111.998 47.608 3498
+-111.872 47.608 3523
+-111.746 47.608 3547
+-111.62 47.608 3506
+-111.494 47.608 3504
+-111.368 47.608 3518
+-111.242 47.608 3534
+-111.116 47.608 3503
+-110.99 47.608 3512
+-110.864 47.608 3486
+-110.738 47.608 3497
+-110.612 47.608 3489
+-110.486 47.608 3495
+-110.36 47.608 3500
+-110.234 47.608 3506
+-110.108 47.608 3511
+-109.982 47.608 3336
+-109.856 47.608 3342
+-109.73 47.608 3347
+-109.604 47.608 3351
+-109.478 47.608 3351
+-109.352 47.608 3356
+-109.226 47.608 3360
+-109.1 47.608 3364
+-108.974 47.608 3368
+-108.848 47.608 3372
+-108.722 47.608 3375
+-108.596 47.608 3290
+-108.47 47.608 3294
+-108.344 47.608 3297
+-108.218 47.608 3308
+-108.092 47.608 3311
+-107.966 47.608 3314
+-107.84 47.608 3317
+-107.714 47.608 3320
+-107.588 47.608 3322
+-107.462 47.608 3189
+-107.336 47.608 3143
+-107.21 47.608 3144
+-107.084 47.608 3145
+-106.958 47.608 3146
+-106.832 47.608 3148
+-106.706 47.608 3149
+-106.58 47.608 3149
+-106.454 47.608 3150
+-106.328 47.608 3151
+-106.202 47.608 3152
+-106.076 47.608 3153
+-105.95 47.608 3154
+-105.824 47.608 3154
+-105.698 47.608 3155
+-105.572 47.608 3156
+-105.446 47.608 3156
+-105.32 47.608 3157
+-105.194 47.608 3157
+-105.068 47.608 3158
+-104.942 47.608 3158
+-104.816 47.608 3159
+-104.69 47.608 3159
+-104.564 47.608 3160
+-104.438 47.608 3160
+-104.312 47.608 3161
+-104.186 47.608 3161
+-104.06 47.608 3162
+-103.934 47.608 3162
+-103.808 47.608 3162
+-103.682 47.608 3192
+-103.556 47.608 3125
+-103.43 47.608 3126
+-103.304 47.608 3126
+-103.178 47.608 3122
+-103.052 47.608 3058
+-102.926 47.608 3047
+-102.8 47.608 2973
+-102.674 47.608 2967
+-102.548 47.608 3003
+-102.422 47.608 2991
+-102.296 47.608 3017
+-102.17 47.608 3045
+-102.044 47.608 3009
+-101.918 47.608 3056
+-101.792 47.608 3223
+-101.666 47.608 3229
+-101.54 47.608 3234
+-101.414 47.608 3370
+-101.288 47.608 3424
+-101.162 47.608 3418
+-101.036 47.608 3418
+-100.91 47.608 3418
+-100.784 47.608 3418
+-100.658 47.608 3417
+-100.532 47.608 3211
+-100.406 47.608 3244
+-100.28 47.608 3242
+-100.154 47.608 3241
+-100.028 47.608 3222
+-99.902 47.608 3275
+-99.776 47.608 3245
+-99.65 47.608 3243
+-99.524 47.608 3222
+-99.398 47.608 3220
+-99.272 47.608 3140
+-99.146 47.608 3181
+-99.02 47.608 3179
+-98.894 47.608 3177
+-98.768 47.608 3174
+-98.642 47.608 3161
+-98.516 47.608 3158
+-98.39 47.608 3156
+-98.264 47.608 3153
+-98.138 47.608 3151
+-98.012 47.608 3071
+-97.886 47.608 3056
+-97.76 47.608 3034
+-97.634 47.608 2981
+-97.508 47.608 2970
+-97.382 47.608 2955
+-97.256 47.608 2951
+-97.13 47.608 2946
+-97.004 47.608 2928
+-96.878 47.608 2910
+-96.752 47.608 2907
+-96.626 47.608 2903
+-96.5 47.608 2899
+-96.374 47.608 2895
+-96.248 47.608 2890
+-96.122 47.608 2886
+-95.996 47.608 2881
+-95.87 47.608 2877
+-95.744 47.608 2872
+-95.618 47.608 2866
+-95.492 47.608 2861
+-95.366 47.608 2856
+-95.24 47.608 2850
+-95.114 47.608 2844
+-94.988 47.608 2838
+-94.862 47.608 2831
+-94.736 47.608 2825
+-94.61 47.608 2716
+-94.484 47.608 2709
+-94.358 47.608 2692
+-94.232 47.608 2684
+-94.106 47.608 2677
+-93.98 47.608 2669
+-93.854 47.608 2661
+-93.728 47.608 2653
+-93.602 47.608 2645
+-93.476 47.608 2637
+-93.35 47.608 2628
+-93.224 47.608 2620
+-93.098 47.608 2611
+-92.972 47.608 2602
+-92.846 47.608 2594
+-92.72 47.608 2585
+-92.594 47.608 2576
+-92.468 47.608 2568
+-92.342 47.608 2560
+-92.216 47.608 2552
+-92.09 47.608 2544
+-91.964 47.608 2537
+-91.838 47.608 2530
+-91.712 47.608 2523
+-91.586 47.608 2517
+-91.46 47.608 2512
+-91.334 47.608 2508
+-91.208 47.608 2504
+-91.082 47.608 2501
+-90.956 47.608 2498
+-90.83 47.608 2497
+-90.704 47.608 2496
+-90.578 47.608 2495
+-90.452 47.608 2496
+-90.326 47.608 2497
+-90.2 47.608 2499
+-90.074 47.608 2466
+-89.948 47.608 2469
+-89.822 47.608 2472
+-89.696 47.608 2476
+-89.57 47.608 2480
+-89.444 47.608 2484
+-89.318 47.608 2489
+-89.192 47.608 2493
+-89.066 47.608 2498
+-88.94 47.608 2503
+-88.814 47.608 2508
+-88.688 47.608 2512
+-88.562 47.608 2517
+-88.436 47.608 2522
+-88.31 47.608 2526
+-88.184 47.608 2531
+-88.058 47.608 2535
+-87.932 47.608 2539
+-87.806 47.608 2543
+-87.68 47.608 2547
+-87.554 47.608 2550
+-87.428 47.608 2554
+-87.302 47.608 2557
+-87.176 47.608 2561
+-87.05 47.608 2564
+-86.924 47.608 2567
+-86.798 47.608 2570
+-86.672 47.608 2572
+-86.546 47.608 2575
+-86.42 47.608 2577
+-86.294 47.608 2580
+-86.168 47.608 2582
+-86.042 47.608 2584
+-85.916 47.608 2586
+-85.79 47.608 2588
+-85.664 47.608 2590
+-85.538 47.608 2592
+-85.412 47.608 2594
+-85.286 47.608 2595
+-85.16 47.608 2597
+-85.034 47.608 2598
+-84.908 47.608 2600
+-84.782 47.608 2610
+-84.656 47.608 2612
+-84.53 47.608 2613
+-84.404 47.608 2614
+-84.278 47.608 2519
+-84.152 47.608 2520
+-84.026 47.608 2520
+-83.9 47.608 2521
+-83.774 47.608 2521
+-83.648 47.608 2521
+-83.522 47.608 2522
+-83.396 47.608 2522
+-83.27 47.608 2523
+-83.144 47.608 2523
+-83.018 47.608 2529
+-82.892 47.608 2539
+-82.766 47.608 2540
+-82.64 47.608 2540
+-82.514 47.608 2541
+-82.388 47.608 2560
+-82.262 47.608 2561
+-82.136 47.608 2561
+-82.01 47.608 2562
+-81.884 47.608 2566
+-81.758 47.608 2690
+-81.632 47.608 2690
+-81.506 47.608 2691
+-81.38 47.608 2697
+-81.254 47.608 2697
+-81.128 47.608 2699
+-81.002 47.608 2715
+-80.876 47.608 2698
+-80.75 47.608 2711
+-80.624 47.608 2712
+-80.498 47.608 2710
+-80.372 47.608 2710
+-80.246 47.608 2711
+-80.12 47.608 2712
+-79.994 47.608 2714
+-79.868 47.608 2797
+-79.742 47.608 2798
+-79.616 47.608 2799
+-79.49 47.608 2800
+-79.364 47.608 2816
+-79.238 47.608 2818
+-79.112 47.608 2801
+-78.986 47.608 2802
+-78.86 47.608 2803
+-78.734 47.608 2804
+-78.608 47.608 2777
+-78.482 47.608 2787
+-78.356 47.608 2788
+-78.23 47.608 2912
+-78.104 47.608 2874
+-77.978 47.608 2875
+-77.852 47.608 3007
+-77.726 47.608 3004
+-77.6 47.608 2968
+-77.474 47.608 3029
+-77.348 47.608 2922
+-77.222 47.608 2952
+-77.096 47.608 3006
+-76.97 47.608 2906
+-76.844 47.608 2914
+-76.718 47.608 2821
+-76.592 47.608 2818
+-76.466 47.608 2834
+-76.34 47.608 2806
+-76.214 47.608 2808
+-76.088 47.608 2809
+-75.962 47.608 2749
+-75.836 47.608 2791
+-75.71 47.608 2784
+-75.584 47.608 2774
+-75.458 47.608 2775
+-75.332 47.608 2776
+-75.206 47.608 2778
+-75.08 47.608 2720
+-74.954 47.608 2715
+-74.828 47.608 2716
+-74.702 47.608 2717
+-74.576 47.608 2718
+-74.45 47.608 2715
+-74.324 47.608 2660
+-74.198 47.608 2765
+-74.072 47.608 2761
+-73.946 47.608 2767
+-73.82 47.608 2768
+-73.694 47.608 2769
+-73.568 47.608 2770
+-73.442 47.608 2795
+-73.316 47.608 2773
+-73.19 47.608 2838
+-73.064 47.608 2840
+-72.938 47.608 2830
+-72.812 47.608 2838
+-72.686 47.608 2839
+-72.56 47.608 2840
+-72.434 47.608 2828
+-72.308 47.608 2944
+-72.182 47.608 2945
+-72.056 47.608 2946
+-71.93 47.608 2947
+-71.804 47.608 3047
+-71.678 47.608 3000
+-71.552 47.608 3150
+-71.426 47.608 3150
+-71.3 47.608 3113
+-71.174 47.608 3113
+-71.048 47.608 3114
+-70.922 47.608 3114
+-70.796 47.608 3115
+-70.67 47.608 3115
+-70.544 47.608 3214
+-70.418 47.608 3209
+-70.292 47.608 3209
+-70.166 47.608 3210
+-70.04 47.608 3211
+-69.914 47.608 3153
+-69.788 47.608 3190
+-69.662 47.608 3190
+-69.536 47.608 3269
+-69.41 47.608 3176
+-69.284 47.608 3177
+-69.158 47.608 3178
+-69.032 47.608 3227
+-68.906 47.608 3180
+-68.78 47.608 3180
+-68.654 47.608 3181
+-68.528 47.608 3409
+-68.402 47.608 3353
+-68.276 47.608 3354
+-68.15 47.608 3487
+-68.024 47.608 3459
+-67.898 47.608 3459
+-67.772 47.608 3404
+-67.646 47.608 3477
+-67.52 47.608 3478
+-67.394 47.608 3478
+-67.268 47.608 3479
+-67.142 47.608 3479
+-67.016 47.608 3479
+-66.89 47.608 3479
+-66.764 47.608 3479
+-66.638 47.608 3469
+-66.512 47.608 3415
+-66.386 47.608 3409
+-66.26 47.608 3409
+-66.134 47.608 3410
+-66.008 47.608 3410
+-65.882 47.608 3410
+-65.756 47.608 3411
+-65.63 47.608 3411
+-65.504 47.608 3411
+-65.378 47.608 3412
+-65.252 47.608 3412
+-65.126 47.608 3412
+-128 47.556 4548
+-127.874 47.556 4476
+-127.748 47.556 4439
+-127.622 47.556 4611
+-127.496 47.556 4864
+-127.37 47.556 4959
+-127.244 47.556 4973
+-127.118 47.556 5069
+-126.992 47.556 5240
+-126.866 47.556 5366
+-126.74 47.556 5355
+-126.614 47.556 5531
+-126.488 47.556 5701
+-126.362 47.556 5812
+-126.236 47.556 5929
+-126.11 47.556 6096
+-125.984 47.556 6258
+-125.858 47.556 6397
+-125.732 47.556 6526
+-125.606 47.556 6646
+-125.48 47.556 6726
+-125.354 47.556 6914
+-125.228 47.556 7028
+-125.102 47.556 7197
+-124.976 47.556 7311
+-124.85 47.556 7450
+-124.724 47.556 7531
+-124.598 47.556 7662
+-124.472 47.556 7801
+-124.346 47.556 7977
+-124.22 47.556 8048
+-124.094 47.556 8216
+-123.968 47.556 8352
+-123.842 47.556 8512
+-123.716 47.556 8573
+-123.59 47.556 8658
+-123.464 47.556 8793
+-123.338 47.556 8861
+-123.212 47.556 8930
+-123.086 47.556 8958
+-122.96 47.556 8963
+-122.834 47.556 8970
+-122.708 47.556 8930
+-122.582 47.556 8848
+-122.456 47.556 8777
+-122.33 47.556 8694
+-122.204 47.556 8565
+-122.078 47.556 8450
+-121.952 47.556 8360
+-121.826 47.556 8167
+-121.7 47.556 8075
+-121.574 47.556 7910
+-121.448 47.556 7886
+-121.322 47.556 7692
+-121.196 47.556 7562
+-121.07 47.556 7441
+-120.944 47.556 7316
+-120.818 47.556 7165
+-120.692 47.556 7081
+-120.566 47.556 6952
+-120.44 47.556 6807
+-120.314 47.556 6768
+-120.188 47.556 6772
+-120.062 47.556 6925
+-119.936 47.556 6992
+-119.81 47.556 7129
+-119.684 47.556 7214
+-119.558 47.556 7245
+-119.432 47.556 7344
+-119.306 47.556 7431
+-119.18 47.556 7527
+-119.054 47.556 7573
+-118.928 47.556 7617
+-118.802 47.556 7662
+-118.676 47.556 7740
+-118.55 47.556 7745
+-118.424 47.556 7750
+-118.298 47.556 7745
+-118.172 47.556 7733
+-118.046 47.556 7729
+-117.92 47.556 7699
+-117.794 47.556 7650
+-117.668 47.556 7592
+-117.542 47.556 7541
+-117.416 47.556 7448
+-117.29 47.556 7397
+-117.164 47.556 7288
+-117.038 47.556 7251
+-116.912 47.556 7170
+-116.786 47.556 7046
+-116.66 47.556 6956
+-116.534 47.556 6901
+-116.408 47.556 6796
+-116.282 47.556 6572
+-116.156 47.556 6446
+-116.03 47.556 6334
+-115.904 47.556 6280
+-115.778 47.556 6109
+-115.652 47.556 6095
+-115.526 47.556 5940
+-115.4 47.556 5776
+-115.274 47.556 5660
+-115.148 47.556 5530
+-115.022 47.556 5414
+-114.896 47.556 5313
+-114.77 47.556 5194
+-114.644 47.556 5045
+-114.518 47.556 4871
+-114.392 47.556 4846
+-114.266 47.556 4735
+-114.14 47.556 4708
+-114.014 47.556 4574
+-113.888 47.556 4356
+-113.762 47.556 4201
+-113.636 47.556 4267
+-113.51 47.556 4275
+-113.384 47.556 4218
+-113.258 47.556 4181
+-113.132 47.556 4145
+-113.006 47.556 4123
+-112.88 47.556 4076
+-112.754 47.556 4027
+-112.628 47.556 3953
+-112.502 47.556 3837
+-112.376 47.556 3783
+-112.25 47.556 3751
+-112.124 47.556 3673
+-111.998 47.556 3612
+-111.872 47.556 3620
+-111.746 47.556 3555
+-111.62 47.556 3566
+-111.494 47.556 3577
+-111.368 47.556 3568
+-111.242 47.556 3535
+-111.116 47.556 3542
+-110.99 47.556 3539
+-110.864 47.556 3523
+-110.738 47.556 3513
+-110.612 47.556 3517
+-110.486 47.556 3524
+-110.36 47.556 3528
+-110.234 47.556 3532
+-110.108 47.556 3377
+-109.982 47.556 3374
+-109.856 47.556 3379
+-109.73 47.556 3383
+-109.604 47.556 3365
+-109.478 47.556 3367
+-109.352 47.556 3370
+-109.226 47.556 3373
+-109.1 47.556 3377
+-108.974 47.556 3380
+-108.848 47.556 3383
+-108.722 47.556 3386
+-108.596 47.556 3389
+-108.47 47.556 3305
+-108.344 47.556 3315
+-108.218 47.556 3318
+-108.092 47.556 3320
+-107.966 47.556 3323
+-107.84 47.556 3325
+-107.714 47.556 3327
+-107.588 47.556 3195
+-107.462 47.556 3172
+-107.336 47.556 3173
+-107.21 47.556 3174
+-107.084 47.556 3175
+-106.958 47.556 3177
+-106.832 47.556 3178
+-106.706 47.556 3179
+-106.58 47.556 3180
+-106.454 47.556 3181
+-106.328 47.556 3182
+-106.202 47.556 3182
+-106.076 47.556 3183
+-105.95 47.556 3184
+-105.824 47.556 3185
+-105.698 47.556 3186
+-105.572 47.556 3186
+-105.446 47.556 3187
+-105.32 47.556 3188
+-105.194 47.556 3188
+-105.068 47.556 3189
+-104.942 47.556 3189
+-104.816 47.556 3190
+-104.69 47.556 3191
+-104.564 47.556 3191
+-104.438 47.556 3192
+-104.312 47.556 3192
+-104.186 47.556 3193
+-104.06 47.556 3193
+-103.934 47.556 3194
+-103.808 47.556 3194
+-103.682 47.556 3126
+-103.556 47.556 3127
+-103.43 47.556 3128
+-103.304 47.556 3128
+-103.178 47.556 3124
+-103.052 47.556 3059
+-102.926 47.556 3049
+-102.8 47.556 2975
+-102.674 47.556 2969
+-102.548 47.556 3001
+-102.422 47.556 3028
+-102.296 47.556 3058
+-102.17 47.556 3047
+-102.044 47.556 3133
+-101.918 47.556 3141
+-101.792 47.556 3211
+-101.666 47.556 3231
+-101.54 47.556 3360
+-101.414 47.556 3363
+-101.288 47.556 3413
+-101.162 47.556 3423
+-101.036 47.556 3423
+-100.91 47.556 3417
+-100.784 47.556 3417
+-100.658 47.556 3417
+-100.532 47.556 3417
+-100.406 47.556 3211
+-100.28 47.556 3243
+-100.154 47.556 3241
+-100.028 47.556 3240
+-99.902 47.556 3221
+-99.776 47.556 3274
+-99.65 47.556 3244
+-99.524 47.556 3242
+-99.398 47.556 3221
+-99.272 47.556 3219
+-99.146 47.556 3139
+-99.02 47.556 3179
+-98.894 47.556 3177
+-98.768 47.556 3175
+-98.642 47.556 3173
+-98.516 47.556 3159
+-98.39 47.556 3157
+-98.264 47.556 3154
+-98.138 47.556 3152
+-98.012 47.556 3149
+-97.886 47.556 3069
+-97.76 47.556 3054
+-97.634 47.556 3032
+-97.508 47.556 2979
+-97.382 47.556 2968
+-97.256 47.556 2952
+-97.13 47.556 2949
+-97.004 47.556 2943
+-96.878 47.556 2925
+-96.752 47.556 2907
+-96.626 47.556 2903
+-96.5 47.556 2899
+-96.374 47.556 2895
+-96.248 47.556 2891
+-96.122 47.556 2886
+-95.996 47.556 2882
+-95.87 47.556 2877
+-95.744 47.556 2872
+-95.618 47.556 2867
+-95.492 47.556 2861
+-95.366 47.556 2855
+-95.24 47.556 2849
+-95.114 47.556 2843
+-94.988 47.556 2837
+-94.862 47.556 2830
+-94.736 47.556 2824
+-94.61 47.556 2817
+-94.484 47.556 2708
+-94.358 47.556 2701
+-94.232 47.556 2683
+-94.106 47.556 2675
+-93.98 47.556 2667
+-93.854 47.556 2659
+-93.728 47.556 2650
+-93.602 47.556 2642
+-93.476 47.556 2633
+-93.35 47.556 2624
+-93.224 47.556 2615
+-93.098 47.556 2605
+-92.972 47.556 2596
+-92.846 47.556 2587
+-92.72 47.556 2578
+-92.594 47.556 2568
+-92.468 47.556 2559
+-92.342 47.556 2550
+-92.216 47.556 2542
+-92.09 47.556 2533
+-91.964 47.556 2525
+-91.838 47.556 2518
+-91.712 47.556 2511
+-91.586 47.556 2505
+-91.46 47.556 2499
+-91.334 47.556 2494
+-91.208 47.556 2490
+-91.082 47.556 2486
+-90.956 47.556 2484
+-90.83 47.556 2482
+-90.704 47.556 2481
+-90.578 47.556 2481
+-90.452 47.556 2482
+-90.326 47.556 2484
+-90.2 47.556 2486
+-90.074 47.556 2454
+-89.948 47.556 2457
+-89.822 47.556 2461
+-89.696 47.556 2465
+-89.57 47.556 2470
+-89.444 47.556 2475
+-89.318 47.556 2480
+-89.192 47.556 2485
+-89.066 47.556 2490
+-88.94 47.556 2495
+-88.814 47.556 2501
+-88.688 47.556 2506
+-88.562 47.556 2511
+-88.436 47.556 2516
+-88.31 47.556 2521
+-88.184 47.556 2526
+-88.058 47.556 2530
+-87.932 47.556 2535
+-87.806 47.556 2539
+-87.68 47.556 2543
+-87.554 47.556 2547
+-87.428 47.556 2551
+-87.302 47.556 2554
+-87.176 47.556 2558
+-87.05 47.556 2561
+-86.924 47.556 2564
+-86.798 47.556 2567
+-86.672 47.556 2570
+-86.546 47.556 2572
+-86.42 47.556 2575
+-86.294 47.556 2577
+-86.168 47.556 2580
+-86.042 47.556 2582
+-85.916 47.556 2584
+-85.79 47.556 2586
+-85.664 47.556 2588
+-85.538 47.556 2590
+-85.412 47.556 2592
+-85.286 47.556 2593
+-85.16 47.556 2595
+-85.034 47.556 2596
+-84.908 47.556 2607
+-84.782 47.556 2608
+-84.656 47.556 2610
+-84.53 47.556 2611
+-84.404 47.556 2517
+-84.278 47.556 2517
+-84.152 47.556 2518
+-84.026 47.556 2518
+-83.9 47.556 2519
+-83.774 47.556 2519
+-83.648 47.556 2520
+-83.522 47.556 2520
+-83.396 47.556 2521
+-83.27 47.556 2521
+-83.144 47.556 2527
+-83.018 47.556 2537
+-82.892 47.556 2538
+-82.766 47.556 2538
+-82.64 47.556 2539
+-82.514 47.556 2558
+-82.388 47.556 2559
+-82.262 47.556 2559
+-82.136 47.556 2560
+-82.01 47.556 2564
+-81.884 47.556 2688
+-81.758 47.556 2688
+-81.632 47.556 2688
+-81.506 47.556 2694
+-81.38 47.556 2695
+-81.254 47.556 2696
+-81.128 47.556 2712
+-81.002 47.556 2696
+-80.876 47.556 2709
+-80.75 47.556 2710
+-80.624 47.556 2707
+-80.498 47.556 2708
+-80.372 47.556 2709
+-80.246 47.556 2710
+-80.12 47.556 2712
+-79.994 47.556 2794
+-79.868 47.556 2795
+-79.742 47.556 2796
+-79.616 47.556 2797
+-79.49 47.556 2814
+-79.364 47.556 2815
+-79.238 47.556 2798
+-79.112 47.556 2799
+-78.986 47.556 2800
+-78.86 47.556 2802
+-78.734 47.556 2775
+-78.608 47.556 2785
+-78.482 47.556 2786
+-78.356 47.556 2909
+-78.23 47.556 2872
+-78.104 47.556 2873
+-77.978 47.556 3004
+-77.852 47.556 3001
+-77.726 47.556 2965
+-77.6 47.556 3026
+-77.474 47.556 2920
+-77.348 47.556 2950
+-77.222 47.556 3003
+-77.096 47.556 2904
+-76.97 47.556 2911
+-76.844 47.556 2819
+-76.718 47.556 2816
+-76.592 47.556 2832
+-76.466 47.556 2805
+-76.34 47.556 2806
+-76.214 47.556 2807
+-76.088 47.556 2748
+-75.962 47.556 2790
+-75.836 47.556 2782
+-75.71 47.556 2772
+-75.584 47.556 2774
+-75.458 47.556 2775
+-75.332 47.556 2776
+-75.206 47.556 2718
+-75.08 47.556 2714
+-74.954 47.556 2715
+-74.828 47.556 2716
+-74.702 47.556 2717
+-74.576 47.556 2714
+-74.45 47.556 2659
+-74.324 47.556 2764
+-74.198 47.556 2760
+-74.072 47.556 2766
+-73.946 47.556 2767
+-73.82 47.556 2768
+-73.694 47.556 2769
+-73.568 47.556 2794
+-73.442 47.556 2772
+-73.316 47.556 2837
+-73.19 47.556 2839
+-73.064 47.556 2829
+-72.938 47.556 2837
+-72.812 47.556 2838
+-72.686 47.556 2840
+-72.56 47.556 2827
+-72.434 47.556 2943
+-72.308 47.556 2944
+-72.182 47.556 2945
+-72.056 47.556 2946
+-71.93 47.556 3046
+-71.804 47.556 2999
+-71.678 47.556 3149
+-71.552 47.556 3150
+-71.426 47.556 3112
+-71.3 47.556 3113
+-71.174 47.556 3113
+-71.048 47.556 3114
+-70.922 47.556 3114
+-70.796 47.556 3115
+-70.67 47.556 3213
+-70.544 47.556 3208
+-70.418 47.556 3209
+-70.292 47.556 3209
+-70.166 47.556 3210
+-70.04 47.556 3152
+-69.914 47.556 3189
+-69.788 47.556 3190
+-69.662 47.556 3268
+-69.536 47.556 3176
+-69.41 47.556 3176
+-69.284 47.556 3177
+-69.158 47.556 3226
+-69.032 47.556 3179
+-68.906 47.556 3180
+-68.78 47.556 3181
+-68.654 47.556 3408
+-68.528 47.556 3353
+-68.402 47.556 3353
+-68.276 47.556 3487
+-68.15 47.556 3458
+-68.024 47.556 3459
+-67.898 47.556 3404
+-67.772 47.556 3476
+-67.646 47.556 3477
+-67.52 47.556 3478
+-67.394 47.556 3478
+-67.268 47.556 3479
+-67.142 47.556 3478
+-67.016 47.556 3479
+-66.89 47.556 3479
+-66.764 47.556 3468
+-66.638 47.556 3415
+-66.512 47.556 3408
+-66.386 47.556 3409
+-66.26 47.556 3409
+-66.134 47.556 3410
+-66.008 47.556 3410
+-65.882 47.556 3410
+-65.756 47.556 3411
+-65.63 47.556 3411
+-65.504 47.556 3411
+-65.378 47.556 3412
+-65.252 47.556 3412
+-65.126 47.556 3412
+-128 47.504 4632
+-127.874 47.504 4633
+-127.748 47.504 4667
+-127.622 47.504 4777
+-127.496 47.504 4885
+-127.37 47.504 4939
+-127.244 47.504 4845
+-127.118 47.504 5032
+-126.992 47.504 5250
+-126.866 47.504 5368
+-126.74 47.504 5446
+-126.614 47.504 5593
+-126.488 47.504 5734
+-126.362 47.504 5801
+-126.236 47.504 6002
+-126.11 47.504 6103
+-125.984 47.504 6277
+-125.858 47.504 6382
+-125.732 47.504 6495
+-125.606 47.504 6659
+-125.48 47.504 6846
+-125.354 47.504 6952
+-125.228 47.504 7082
+-125.102 47.504 7200
+-124.976 47.504 7281
+-124.85 47.504 7457
+-124.724 47.504 7542
+-124.598 47.504 7739
+-124.472 47.504 7865
+-124.346 47.504 8013
+-124.22 47.504 8158
+-124.094 47.504 8242
+-123.968 47.504 8372
+-123.842 47.504 8489
+-123.716 47.504 8601
+-123.59 47.504 8742
+-123.464 47.504 8803
+-123.338 47.504 8885
+-123.212 47.504 8974
+-123.086 47.504 9057
+-122.96 47.504 9024
+-122.834 47.504 9045
+-122.708 47.504 8968
+-122.582 47.504 8918
+-122.456 47.504 8789
+-122.33 47.504 8766
+-122.204 47.504 8638
+-122.078 47.504 8490
+-121.952 47.504 8369
+-121.826 47.504 8196
+-121.7 47.504 8151
+-121.574 47.504 8008
+-121.448 47.504 7807
+-121.322 47.504 7721
+-121.196 47.504 7594
+-121.07 47.504 7471
+-120.944 47.504 7365
+-120.818 47.504 7222
+-120.692 47.504 7039
+-120.566 47.504 6898
+-120.44 47.504 6741
+-120.314 47.504 6712
+-120.188 47.504 6817
+-120.062 47.504 6956
+-119.936 47.504 6991
+-119.81 47.504 7111
+-119.684 47.504 7226
+-119.558 47.504 7307
+-119.432 47.504 7376
+-119.306 47.504 7482
+-119.18 47.504 7560
+-119.054 47.504 7587
+-118.928 47.504 7679
+-118.802 47.504 7679
+-118.676 47.504 7763
+-118.55 47.504 7807
+-118.424 47.504 7811
+-118.298 47.504 7781
+-118.172 47.504 7800
+-118.046 47.504 7784
+-117.92 47.504 7740
+-117.794 47.504 7685
+-117.668 47.504 7644
+-117.542 47.504 7602
+-117.416 47.504 7512
+-117.29 47.504 7381
+-117.164 47.504 7354
+-117.038 47.504 7246
+-116.912 47.504 7143
+-116.786 47.504 7064
+-116.66 47.504 6984
+-116.534 47.504 6834
+-116.408 47.504 6795
+-116.282 47.504 6643
+-116.156 47.504 6478
+-116.03 47.504 6426
+-115.904 47.504 6249
+-115.778 47.504 6144
+-115.652 47.504 6101
+-115.526 47.504 5953
+-115.4 47.504 5806
+-115.274 47.504 5661
+-115.148 47.504 5546
+-115.022 47.504 5429
+-114.896 47.504 5308
+-114.77 47.504 5156
+-114.644 47.504 5083
+-114.518 47.504 4921
+-114.392 47.504 4852
+-114.266 47.504 4709
+-114.14 47.504 4699
+-114.014 47.504 4572
+-113.888 47.504 4386
+-113.762 47.504 4275
+-113.636 47.504 4266
+-113.51 47.504 4234
+-113.384 47.504 4172
+-113.258 47.504 4121
+-113.132 47.504 4133
+-113.006 47.504 4139
+-112.88 47.504 4105
+-112.754 47.504 4062
+-112.628 47.504 4024
+-112.502 47.504 3983
+-112.376 47.504 3891
+-112.25 47.504 3861
+-112.124 47.504 3773
+-111.998 47.504 3769
+-111.872 47.504 3709
+-111.746 47.504 3620
+-111.62 47.504 3623
+-111.494 47.504 3624
+-111.368 47.504 3592
+-111.242 47.504 3596
+-111.116 47.504 3570
+-110.99 47.504 3574
+-110.864 47.504 3555
+-110.738 47.504 3544
+-110.612 47.504 3547
+-110.486 47.504 3549
+-110.36 47.504 3551
+-110.234 47.504 3395
+-110.108 47.504 3391
+-109.982 47.504 3394
+-109.856 47.504 3397
+-109.73 47.504 3376
+-109.604 47.504 3379
+-109.478 47.504 3381
+-109.352 47.504 3384
+-109.226 47.504 3386
+-109.1 47.504 3389
+-108.974 47.504 3391
+-108.848 47.504 3394
+-108.722 47.504 3396
+-108.596 47.504 3398
+-108.47 47.504 3322
+-108.344 47.504 3325
+-108.218 47.504 3327
+-108.092 47.504 3329
+-107.966 47.504 3331
+-107.84 47.504 3333
+-107.714 47.504 3202
+-107.588 47.504 3177
+-107.462 47.504 3178
+-107.336 47.504 3179
+-107.21 47.504 3180
+-107.084 47.504 3181
+-106.958 47.504 3182
+-106.832 47.504 3183
+-106.706 47.504 3184
+-106.58 47.504 3184
+-106.454 47.504 3185
+-106.328 47.504 3186
+-106.202 47.504 3187
+-106.076 47.504 3187
+-105.95 47.504 3188
+-105.824 47.504 3189
+-105.698 47.504 3189
+-105.572 47.504 3190
+-105.446 47.504 3190
+-105.32 47.504 3191
+-105.194 47.504 3191
+-105.068 47.504 3192
+-104.942 47.504 3192
+-104.816 47.504 3193
+-104.69 47.504 3193
+-104.564 47.504 3194
+-104.438 47.504 3194
+-104.312 47.504 3194
+-104.186 47.504 3195
+-104.06 47.504 3195
+-103.934 47.504 3196
+-103.808 47.504 3128
+-103.682 47.504 3129
+-103.556 47.504 3129
+-103.43 47.504 3130
+-103.304 47.504 3130
+-103.178 47.504 3126
+-103.052 47.504 3043
+-102.926 47.504 3050
+-102.8 47.504 2968
+-102.674 47.504 2999
+-102.548 47.504 3050
+-102.422 47.504 3024
+-102.296 47.504 3061
+-102.17 47.504 3043
+-102.044 47.504 3125
+-101.918 47.504 3136
+-101.792 47.504 3240
+-101.666 47.504 3218
+-101.54 47.504 3340
+-101.414 47.504 3343
+-101.288 47.504 3466
+-101.162 47.504 3412
+-101.036 47.504 3423
+-100.91 47.504 3417
+-100.784 47.504 3417
+-100.658 47.504 3417
+-100.532 47.504 3417
+-100.406 47.504 3416
+-100.28 47.504 3210
+-100.154 47.504 3242
+-100.028 47.504 3241
+-99.902 47.504 3239
+-99.776 47.504 3221
+-99.65 47.504 3273
+-99.524 47.504 3243
+-99.398 47.504 3241
+-99.272 47.504 3220
+-99.146 47.504 3218
+-99.02 47.504 3138
+-98.894 47.504 3178
+-98.768 47.504 3176
+-98.642 47.504 3174
+-98.516 47.504 3171
+-98.39 47.504 3158
+-98.264 47.504 3155
+-98.138 47.504 3152
+-98.012 47.504 3150
+-97.886 47.504 3147
+-97.76 47.504 3067
+-97.634 47.504 3052
+-97.508 47.504 3030
+-97.382 47.504 2977
+-97.256 47.504 2966
+-97.13 47.504 2950
+-97.004 47.504 2946
+-96.878 47.504 2940
+-96.752 47.504 2923
+-96.626 47.504 2904
+-96.5 47.504 2900
+-96.374 47.504 2896
+-96.248 47.504 2892
+-96.122 47.504 2887
+-95.996 47.504 2882
+-95.87 47.504 2877
+-95.744 47.504 2872
+-95.618 47.504 2867
+-95.492 47.504 2861
+-95.366 47.504 2855
+-95.24 47.504 2849
+-95.114 47.504 2843
+-94.988 47.504 2836
+-94.862 47.504 2830
+-94.736 47.504 2823
+-94.61 47.504 2815
+-94.484 47.504 2808
+-94.358 47.504 2700
+-94.232 47.504 2692
+-94.106 47.504 2673
+-93.98 47.504 2665
+-93.854 47.504 2656
+-93.728 47.504 2647
+-93.602 47.504 2638
+-93.476 47.504 2629
+-93.35 47.504 2619
+-93.224 47.504 2610
+-93.098 47.504 2600
+-92.972 47.504 2590
+-92.846 47.504 2580
+-92.72 47.504 2570
+-92.594 47.504 2560
+-92.468 47.504 2550
+-92.342 47.504 2540
+-92.216 47.504 2531
+-92.09 47.504 2522
+-91.964 47.504 2513
+-91.838 47.504 2505
+-91.712 47.504 2497
+-91.586 47.504 2491
+-91.46 47.504 2484
+-91.334 47.504 2479
+-91.208 47.504 2474
+-91.082 47.504 2471
+-90.956 47.504 2468
+-90.83 47.504 2466
+-90.704 47.504 2466
+-90.578 47.504 2466
+-90.452 47.504 2467
+-90.326 47.504 2469
+-90.2 47.504 2471
+-90.074 47.504 2441
+-89.948 47.504 2445
+-89.822 47.504 2449
+-89.696 47.504 2454
+-89.57 47.504 2459
+-89.444 47.504 2465
+-89.318 47.504 2470
+-89.192 47.504 2476
+-89.066 47.504 2482
+-88.94 47.504 2488
+-88.814 47.504 2493
+-88.688 47.504 2499
+-88.562 47.504 2505
+-88.436 47.504 2510
+-88.31 47.504 2515
+-88.184 47.504 2521
+-88.058 47.504 2525
+-87.932 47.504 2530
+-87.806 47.504 2535
+-87.68 47.504 2539
+-87.554 47.504 2543
+-87.428 47.504 2547
+-87.302 47.504 2551
+-87.176 47.504 2555
+-87.05 47.504 2558
+-86.924 47.504 2561
+-86.798 47.504 2564
+-86.672 47.504 2567
+-86.546 47.504 2570
+-86.42 47.504 2573
+-86.294 47.504 2575
+-86.168 47.504 2577
+-86.042 47.504 2580
+-85.916 47.504 2582
+-85.79 47.504 2584
+-85.664 47.504 2586
+-85.538 47.504 2588
+-85.412 47.504 2590
+-85.286 47.504 2591
+-85.16 47.504 2593
+-85.034 47.504 2603
+-84.908 47.504 2605
+-84.782 47.504 2606
+-84.656 47.504 2608
+-84.53 47.504 2515
+-84.404 47.504 2515
+-84.278 47.504 2516
+-84.152 47.504 2516
+-84.026 47.504 2517
+-83.9 47.504 2517
+-83.774 47.504 2518
+-83.648 47.504 2518
+-83.522 47.504 2519
+-83.396 47.504 2519
+-83.27 47.504 2525
+-83.144 47.504 2535
+-83.018 47.504 2535
+-82.892 47.504 2536
+-82.766 47.504 2537
+-82.64 47.504 2556
+-82.514 47.504 2556
+-82.388 47.504 2557
+-82.262 47.504 2558
+-82.136 47.504 2562
+-82.01 47.504 2685
+-81.884 47.504 2685
+-81.758 47.504 2686
+-81.632 47.504 2692
+-81.506 47.504 2692
+-81.38 47.504 2694
+-81.254 47.504 2710
+-81.128 47.504 2694
+-81.002 47.504 2706
+-80.876 47.504 2707
+-80.75 47.504 2705
+-80.624 47.504 2706
+-80.498 47.504 2706
+-80.372 47.504 2707
+-80.246 47.504 2709
+-80.12 47.504 2791
+-79.994 47.504 2792
+-79.868 47.504 2793
+-79.742 47.504 2794
+-79.616 47.504 2811
+-79.49 47.504 2812
+-79.364 47.504 2796
+-79.238 47.504 2797
+-79.112 47.504 2798
+-78.986 47.504 2799
+-78.86 47.504 2773
+-78.734 47.504 2783
+-78.608 47.504 2784
+-78.482 47.504 2906
+-78.356 47.504 2869
+-78.23 47.504 2870
+-78.104 47.504 3001
+-77.978 47.504 2999
+-77.852 47.504 2963
+-77.726 47.504 3023
+-77.6 47.504 2918
+-77.474 47.504 2947
+-77.348 47.504 3000
+-77.222 47.504 2902
+-77.096 47.504 2909
+-76.97 47.504 2817
+-76.844 47.504 2814
+-76.718 47.504 2830
+-76.592 47.504 2803
+-76.466 47.504 2804
+-76.34 47.504 2806
+-76.214 47.504 2746
+-76.088 47.504 2788
+-75.962 47.504 2781
+-75.836 47.504 2771
+-75.71 47.504 2772
+-75.584 47.504 2773
+-75.458 47.504 2775
+-75.332 47.504 2717
+-75.206 47.504 2713
+-75.08 47.504 2714
+-74.954 47.504 2715
+-74.828 47.504 2716
+-74.702 47.504 2713
+-74.576 47.504 2659
+-74.45 47.504 2763
+-74.324 47.504 2759
+-74.198 47.504 2765
+-74.072 47.504 2766
+-73.946 47.504 2767
+-73.82 47.504 2768
+-73.694 47.504 2793
+-73.568 47.504 2772
+-73.442 47.504 2836
+-73.316 47.504 2838
+-73.19 47.504 2828
+-73.064 47.504 2836
+-72.938 47.504 2838
+-72.812 47.504 2839
+-72.686 47.504 2826
+-72.56 47.504 2942
+-72.434 47.504 2943
+-72.308 47.504 2944
+-72.182 47.504 2945
+-72.056 47.504 3045
+-71.93 47.504 2998
+-71.804 47.504 3148
+-71.678 47.504 3149
+-71.552 47.504 3112
+-71.426 47.504 3112
+-71.3 47.504 3113
+-71.174 47.504 3113
+-71.048 47.504 3114
+-70.922 47.504 3114
+-70.796 47.504 3212
+-70.67 47.504 3207
+-70.544 47.504 3208
+-70.418 47.504 3209
+-70.292 47.504 3209
+-70.166 47.504 3152
+-70.04 47.504 3189
+-69.914 47.504 3189
+-69.788 47.504 3267
+-69.662 47.504 3175
+-69.536 47.504 3176
+-69.41 47.504 3177
+-69.284 47.504 3226
+-69.158 47.504 3179
+-69.032 47.504 3179
+-68.906 47.504 3180
+-68.78 47.504 3408
+-68.654 47.504 3352
+-68.528 47.504 3353
+-68.402 47.504 3486
+-68.276 47.504 3458
+-68.15 47.504 3458
+-68.024 47.504 3403
+-67.898 47.504 3476
+-67.772 47.504 3477
+-67.646 47.504 3477
+-67.52 47.504 3478
+-67.394 47.504 3478
+-67.268 47.504 3478
+-67.142 47.504 3478
+-67.016 47.504 3479
+-66.89 47.504 3468
+-66.764 47.504 3414
+-66.638 47.504 3408
+-66.512 47.504 3409
+-66.386 47.504 3409
+-66.26 47.504 3409
+-66.134 47.504 3410
+-66.008 47.504 3410
+-65.882 47.504 3410
+-65.756 47.504 3411
+-65.63 47.504 3411
+-65.504 47.504 3411
+-65.378 47.504 3412
+-65.252 47.504 3412
+-65.126 47.504 3412
+-128 47.452 4697
+-127.874 47.452 4727
+-127.748 47.452 4760
+-127.622 47.452 4834
+-127.496 47.452 4900
+-127.37 47.452 4956
+-127.244 47.452 4995
+-127.118 47.452 5096
+-126.992 47.452 5206
+-126.866 47.452 5325
+-126.74 47.452 5462
+-126.614 47.452 5632
+-126.488 47.452 5724
+-126.362 47.452 5832
+-126.236 47.452 5957
+-126.11 47.452 6140
+-125.984 47.452 6227
+-125.858 47.452 6381
+-125.732 47.452 6542
+-125.606 47.452 6610
+-125.48 47.452 6794
+-125.354 47.452 6961
+-125.228 47.452 7105
+-125.102 47.452 7213
+-124.976 47.452 7387
+-124.85 47.452 7494
+-124.724 47.452 7601
+-124.598 47.452 7659
+-124.472 47.452 7865
+-124.346 47.452 8003
+-124.22 47.452 8117
+-124.094 47.452 8282
+-123.968 47.452 8367
+-123.842 47.452 8475
+-123.716 47.452 8630
+-123.59 47.452 8693
+-123.464 47.452 8839
+-123.338 47.452 8935
+-123.212 47.452 9065
+-123.086 47.452 9078
+-122.96 47.452 9105
+-122.834 47.452 9074
+-122.708 47.452 9016
+-122.582 47.452 8940
+-122.456 47.452 8845
+-122.33 47.452 8744
+-122.204 47.452 8673
+-122.078 47.452 8543
+-121.952 47.452 8387
+-121.826 47.452 8240
+-121.7 47.452 8189
+-121.574 47.452 8017
+-121.448 47.452 7843
+-121.322 47.452 7782
+-121.196 47.452 7635
+-121.07 47.452 7473
+-120.944 47.452 7302
+-120.818 47.452 7188
+-120.692 47.452 7008
+-120.566 47.452 6934
+-120.44 47.452 6869
+-120.314 47.452 6829
+-120.188 47.452 6885
+-120.062 47.452 6943
+-119.936 47.452 7074
+-119.81 47.452 7206
+-119.684 47.452 7265
+-119.558 47.452 7343
+-119.432 47.452 7463
+-119.306 47.452 7480
+-119.18 47.452 7622
+-119.054 47.452 7660
+-118.928 47.452 7724
+-118.802 47.452 7759
+-118.676 47.452 7809
+-118.55 47.452 7850
+-118.424 47.452 7847
+-118.298 47.452 7873
+-118.172 47.452 7826
+-118.046 47.452 7815
+-117.92 47.452 7781
+-117.794 47.452 7736
+-117.668 47.452 7694
+-117.542 47.452 7642
+-117.416 47.452 7513
+-117.29 47.452 7463
+-117.164 47.452 7385
+-117.038 47.452 7288
+-116.912 47.452 7178
+-116.786 47.452 7093
+-116.66 47.452 6990
+-116.534 47.452 6895
+-116.408 47.452 6772
+-116.282 47.452 6683
+-116.156 47.452 6514
+-116.03 47.452 6374
+-115.904 47.452 6312
+-115.778 47.452 6186
+-115.652 47.452 6084
+-115.526 47.452 5966
+-115.4 47.452 5835
+-115.274 47.452 5712
+-115.148 47.452 5555
+-115.022 47.452 5532
+-114.896 47.452 5330
+-114.77 47.452 5187
+-114.644 47.452 5147
+-114.518 47.452 5010
+-114.392 47.452 4866
+-114.266 47.452 4754
+-114.14 47.452 4675
+-114.014 47.452 4552
+-113.888 47.452 4391
+-113.762 47.452 4195
+-113.636 47.452 4251
+-113.51 47.452 4131
+-113.384 47.452 3970
+-113.258 47.452 4017
+-113.132 47.452 4096
+-113.006 47.452 4115
+-112.88 47.452 4121
+-112.754 47.452 4093
+-112.628 47.452 4072
+-112.502 47.452 4046
+-112.376 47.452 4020
+-112.25 47.452 3940
+-112.124 47.452 3864
+-111.998 47.452 3854
+-111.872 47.452 3851
+-111.746 47.452 3771
+-111.62 47.452 3673
+-111.494 47.452 3651
+-111.368 47.452 3636
+-111.242 47.452 3618
+-111.116 47.452 3607
+-110.99 47.452 3585
+-110.864 47.452 3571
+-110.738 47.452 3572
+-110.612 47.452 3572
+-110.486 47.452 3559
+-110.36 47.452 3559
+-110.234 47.452 3443
+-110.108 47.452 3446
+-109.982 47.452 3449
+-109.856 47.452 3420
+-109.73 47.452 3422
+-109.604 47.452 3424
+-109.478 47.452 3426
+-109.352 47.452 3406
+-109.226 47.452 3408
+-109.1 47.452 3410
+-108.974 47.452 3412
+-108.848 47.452 3414
+-108.722 47.452 3415
+-108.596 47.452 3330
+-108.47 47.452 3332
+-108.344 47.452 3334
+-108.218 47.452 3336
+-108.092 47.452 3338
+-107.966 47.452 3339
+-107.84 47.452 3341
+-107.714 47.452 3183
+-107.588 47.452 3184
+-107.462 47.452 3184
+-107.336 47.452 3185
+-107.21 47.452 3186
+-107.084 47.452 3187
+-106.958 47.452 3187
+-106.832 47.452 3188
+-106.706 47.452 3188
+-106.58 47.452 3189
+-106.454 47.452 3190
+-106.328 47.452 3190
+-106.202 47.452 3191
+-106.076 47.452 3191
+-105.95 47.452 3192
+-105.824 47.452 3192
+-105.698 47.452 3193
+-105.572 47.452 3193
+-105.446 47.452 3193
+-105.32 47.452 3194
+-105.194 47.452 3194
+-105.068 47.452 3195
+-104.942 47.452 3195
+-104.816 47.452 3195
+-104.69 47.452 3196
+-104.564 47.452 3196
+-104.438 47.452 3196
+-104.312 47.452 3197
+-104.186 47.452 3197
+-104.06 47.452 3197
+-103.934 47.452 3130
+-103.808 47.452 3131
+-103.682 47.452 3131
+-103.556 47.452 3131
+-103.43 47.452 3132
+-103.304 47.452 3132
+-103.178 47.452 3128
+-103.052 47.452 3062
+-102.926 47.452 3010
+-102.8 47.452 2966
+-102.674 47.452 3001
+-102.548 47.452 3044
+-102.422 47.452 3074
+-102.296 47.452 3054
+-102.17 47.452 3144
+-102.044 47.452 3202
+-101.918 47.452 3304
+-101.792 47.452 3231
+-101.666 47.452 3375
+-101.54 47.452 3341
+-101.414 47.452 3449
+-101.288 47.452 3449
+-101.162 47.452 3465
+-101.036 47.452 3412
+-100.91 47.452 3422
+-100.784 47.452 3422
+-100.658 47.452 3416
+-100.532 47.452 3416
+-100.406 47.452 3416
+-100.28 47.452 3416
+-100.154 47.452 3210
+-100.028 47.452 3241
+-99.902 47.452 3240
+-99.776 47.452 3238
+-99.65 47.452 3220
+-99.524 47.452 3272
+-99.398 47.452 3242
+-99.272 47.452 3240
+-99.146 47.452 3219
+-99.02 47.452 3217
+-98.894 47.452 3137
+-98.768 47.452 3177
+-98.642 47.452 3174
+-98.516 47.452 3172
+-98.39 47.452 3169
+-98.264 47.452 3156
+-98.138 47.452 3153
+-98.012 47.452 3151
+-97.886 47.452 3148
+-97.76 47.452 3145
+-97.634 47.452 3065
+-97.508 47.452 3050
+-97.382 47.452 3027
+-97.256 47.452 2975
+-97.13 47.452 2964
+-97.004 47.452 2947
+-96.878 47.452 2944
+-96.752 47.452 2938
+-96.626 47.452 2920
+-96.5 47.452 2901
+-96.374 47.452 2897
+-96.248 47.452 2892
+-96.122 47.452 2888
+-95.996 47.452 2883
+-95.87 47.452 2878
+-95.744 47.452 2873
+-95.618 47.452 2867
+-95.492 47.452 2861
+-95.366 47.452 2855
+-95.24 47.452 2849
+-95.114 47.452 2843
+-94.988 47.452 2836
+-94.862 47.452 2829
+-94.736 47.452 2822
+-94.61 47.452 2814
+-94.484 47.452 2806
+-94.358 47.452 2798
+-94.232 47.452 2690
+-94.106 47.452 2682
+-93.98 47.452 2663
+-93.854 47.452 2654
+-93.728 47.452 2644
+-93.602 47.452 2635
+-93.476 47.452 2625
+-93.35 47.452 2615
+-93.224 47.452 2605
+-93.098 47.452 2594
+-92.972 47.452 2583
+-92.846 47.452 2573
+-92.72 47.452 2562
+-92.594 47.452 2551
+-92.468 47.452 2540
+-92.342 47.452 2530
+-92.216 47.452 2520
+-92.09 47.452 2510
+-91.964 47.452 2500
+-91.838 47.452 2491
+-91.712 47.452 2483
+-91.586 47.452 2476
+-91.46 47.452 2469
+-91.334 47.452 2463
+-91.208 47.452 2458
+-91.082 47.452 2454
+-90.956 47.452 2451
+-90.83 47.452 2450
+-90.704 47.452 2449
+-90.578 47.452 2449
+-90.452 47.452 2451
+-90.326 47.452 2453
+-90.2 47.452 2456
+-90.074 47.452 2427
+-89.948 47.452 2431
+-89.822 47.452 2436
+-89.696 47.452 2442
+-89.57 47.452 2448
+-89.444 47.452 2454
+-89.318 47.452 2460
+-89.192 47.452 2467
+-89.066 47.452 2473
+-88.94 47.452 2480
+-88.814 47.452 2486
+-88.688 47.452 2492
+-88.562 47.452 2498
+-88.436 47.452 2504
+-88.31 47.452 2510
+-88.184 47.452 2515
+-88.058 47.452 2521
+-87.932 47.452 2526
+-87.806 47.452 2531
+-87.68 47.452 2535
+-87.554 47.452 2540
+-87.428 47.452 2544
+-87.302 47.452 2548
+-87.176 47.452 2552
+-87.05 47.452 2555
+-86.924 47.452 2559
+-86.798 47.452 2562
+-86.672 47.452 2565
+-86.546 47.452 2568
+-86.42 47.452 2570
+-86.294 47.452 2573
+-86.168 47.452 2575
+-86.042 47.452 2578
+-85.916 47.452 2580
+-85.79 47.452 2582
+-85.664 47.452 2584
+-85.538 47.452 2586
+-85.412 47.452 2588
+-85.286 47.452 2589
+-85.16 47.452 2600
+-85.034 47.452 2601
+-84.908 47.452 2603
+-84.782 47.452 2604
+-84.656 47.452 2512
+-84.53 47.452 2513
+-84.404 47.452 2513
+-84.278 47.452 2514
+-84.152 47.452 2514
+-84.026 47.452 2515
+-83.9 47.452 2515
+-83.774 47.452 2516
+-83.648 47.452 2516
+-83.522 47.452 2517
+-83.396 47.452 2523
+-83.27 47.452 2533
+-83.144 47.452 2533
+-83.018 47.452 2534
+-82.892 47.452 2534
+-82.766 47.452 2554
+-82.64 47.452 2554
+-82.514 47.452 2555
+-82.388 47.452 2556
+-82.262 47.452 2560
+-82.136 47.452 2682
+-82.01 47.452 2683
+-81.884 47.452 2683
+-81.758 47.452 2689
+-81.632 47.452 2690
+-81.506 47.452 2691
+-81.38 47.452 2707
+-81.254 47.452 2691
+-81.128 47.452 2704
+-81.002 47.452 2704
+-80.876 47.452 2702
+-80.75 47.452 2703
+-80.624 47.452 2704
+-80.498 47.452 2705
+-80.372 47.452 2707
+-80.246 47.452 2788
+-80.12 47.452 2789
+-79.994 47.452 2790
+-79.868 47.452 2792
+-79.742 47.452 2808
+-79.616 47.452 2809
+-79.49 47.452 2793
+-79.364 47.452 2794
+-79.238 47.452 2796
+-79.112 47.452 2797
+-78.986 47.452 2771
+-78.86 47.452 2780
+-78.734 47.452 2782
+-78.608 47.452 2904
+-78.482 47.452 2867
+-78.356 47.452 2868
+-78.23 47.452 2998
+-78.104 47.452 2996
+-77.978 47.452 2960
+-77.852 47.452 3020
+-77.726 47.452 2915
+-77.6 47.452 2945
+-77.474 47.452 2998
+-77.348 47.452 2900
+-77.222 47.452 2907
+-77.096 47.452 2815
+-76.97 47.452 2812
+-76.844 47.452 2828
+-76.718 47.452 2801
+-76.592 47.452 2802
+-76.466 47.452 2804
+-76.34 47.452 2745
+-76.214 47.452 2786
+-76.088 47.452 2779
+-75.962 47.452 2769
+-75.836 47.452 2770
+-75.71 47.452 2772
+-75.584 47.452 2773
+-75.458 47.452 2716
+-75.332 47.452 2711
+-75.206 47.452 2713
+-75.08 47.452 2714
+-74.954 47.452 2715
+-74.828 47.452 2712
+-74.702 47.452 2658
+-74.576 47.452 2762
+-74.45 47.452 2758
+-74.324 47.452 2764
+-74.198 47.452 2765
+-74.072 47.452 2766
+-73.946 47.452 2767
+-73.82 47.452 2792
+-73.694 47.452 2771
+-73.568 47.452 2835
+-73.442 47.452 2837
+-73.316 47.452 2828
+-73.19 47.452 2835
+-73.064 47.452 2837
+-72.938 47.452 2838
+-72.812 47.452 2826
+-72.686 47.452 2941
+-72.56 47.452 2942
+-72.434 47.452 2943
+-72.308 47.452 2944
+-72.182 47.452 3044
+-72.056 47.452 2998
+-71.93 47.452 3148
+-71.804 47.452 3148
+-71.678 47.452 3111
+-71.552 47.452 3112
+-71.426 47.452 3112
+-71.3 47.452 3113
+-71.174 47.452 3113
+-71.048 47.452 3114
+-70.922 47.452 3212
+-70.796 47.452 3207
+-70.67 47.452 3207
+-70.544 47.452 3208
+-70.418 47.452 3209
+-70.292 47.452 3151
+-70.166 47.452 3188
+-70.04 47.452 3189
+-69.914 47.452 3267
+-69.788 47.452 3174
+-69.662 47.452 3175
+-69.536 47.452 3176
+-69.41 47.452 3225
+-69.284 47.452 3178
+-69.158 47.452 3179
+-69.032 47.452 3180
+-68.906 47.452 3407
+-68.78 47.452 3352
+-68.654 47.452 3352
+-68.528 47.452 3486
+-68.402 47.452 3457
+-68.276 47.452 3458
+-68.15 47.452 3403
+-68.024 47.452 3476
+-67.898 47.452 3477
+-67.772 47.452 3477
+-67.646 47.452 3477
+-67.52 47.452 3478
+-67.394 47.452 3478
+-67.268 47.452 3478
+-67.142 47.452 3478
+-67.016 47.452 3467
+-66.89 47.452 3414
+-66.764 47.452 3408
+-66.638 47.452 3408
+-66.512 47.452 3409
+-66.386 47.452 3409
+-66.26 47.452 3409
+-66.134 47.452 3410
+-66.008 47.452 3410
+-65.882 47.452 3410
+-65.756 47.452 3411
+-65.63 47.452 3411
+-65.504 47.452 3411
+-65.378 47.452 3412
+-65.252 47.452 3412
+-65.126 47.452 3413
+-128 47.4 4716
+-127.874 47.4 4740
+-127.748 47.4 4793
+-127.622 47.4 4839
+-127.496 47.4 4899
+-127.37 47.4 4951
+-127.244 47.4 5015
+-127.118 47.4 5111
+-126.992 47.4 5145
+-126.866 47.4 5285
+-126.74 47.4 5430
+-126.614 47.4 5585
+-126.488 47.4 5727
+-126.362 47.4 5849
+-126.236 47.4 6020
+-126.11 47.4 6187
+-125.984 47.4 6292
+-125.858 47.4 6403
+-125.732 47.4 6532
+-125.606 47.4 6636
+-125.48 47.4 6809
+-125.354 47.4 6882
+-125.228 47.4 7098
+-125.102 47.4 7202
+-124.976 47.4 7301
+-124.85 47.4 7446
+-124.724 47.4 7579
+-124.598 47.4 7650
+-124.472 47.4 7847
+-124.346 47.4 8049
+-124.22 47.4 8222
+-124.094 47.4 8316
+-123.968 47.4 8378
+-123.842 47.4 8578
+-123.716 47.4 8599
+-123.59 47.4 8776
+-123.464 47.4 8848
+-123.338 47.4 8984
+-123.212 47.4 9085
+-123.086 47.4 9106
+-122.96 47.4 9137
+-122.834 47.4 9123
+-122.708 47.4 9051
+-122.582 47.4 8982
+-122.456 47.4 8886
+-122.33 47.4 8723
+-122.204 47.4 8692
+-122.078 47.4 8588
+-121.952 47.4 8384
+-121.826 47.4 8276
+-121.7 47.4 8104
+-121.574 47.4 8001
+-121.448 47.4 7843
+-121.322 47.4 7749
+-121.196 47.4 7673
+-121.07 47.4 7499
+-120.944 47.4 7377
+-120.818 47.4 7144
+-120.692 47.4 7063
+-120.566 47.4 6924
+-120.44 47.4 6888
+-120.314 47.4 6823
+-120.188 47.4 6913
+-120.062 47.4 7008
+-119.936 47.4 7156
+-119.81 47.4 7206
+-119.684 47.4 7282
+-119.558 47.4 7375
+-119.432 47.4 7496
+-119.306 47.4 7601
+-119.18 47.4 7657
+-119.054 47.4 7698
+-118.928 47.4 7769
+-118.802 47.4 7851
+-118.676 47.4 7836
+-118.55 47.4 7877
+-118.424 47.4 7880
+-118.298 47.4 7886
+-118.172 47.4 7875
+-118.046 47.4 7888
+-117.92 47.4 7800
+-117.794 47.4 7769
+-117.668 47.4 7713
+-117.542 47.4 7661
+-117.416 47.4 7608
+-117.29 47.4 7507
+-117.164 47.4 7370
+-117.038 47.4 7269
+-116.912 47.4 7235
+-116.786 47.4 7112
+-116.66 47.4 7006
+-116.534 47.4 6879
+-116.408 47.4 6794
+-116.282 47.4 6723
+-116.156 47.4 6583
+-116.03 47.4 6467
+-115.904 47.4 6364
+-115.778 47.4 6200
+-115.652 47.4 6123
+-115.526 47.4 6009
+-115.4 47.4 5865
+-115.274 47.4 5736
+-115.148 47.4 5588
+-115.022 47.4 5478
+-114.896 47.4 5335
+-114.77 47.4 5203
+-114.644 47.4 5117
+-114.518 47.4 4998
+-114.392 47.4 4850
+-114.266 47.4 4677
+-114.14 47.4 4655
+-114.014 47.4 4491
+-113.888 47.4 4466
+-113.762 47.4 4329
+-113.636 47.4 4268
+-113.51 47.4 4036
+-113.384 47.4 3790
+-113.258 47.4 3939
+-113.132 47.4 4061
+-113.006 47.4 4116
+-112.88 47.4 4134
+-112.754 47.4 4118
+-112.628 47.4 4106
+-112.502 47.4 4088
+-112.376 47.4 4070
+-112.25 47.4 3999
+-112.124 47.4 3988
+-111.998 47.4 3914
+-111.872 47.4 3887
+-111.746 47.4 3821
+-111.62 47.4 3821
+-111.494 47.4 3697
+-111.368 47.4 3667
+-111.242 47.4 3643
+-111.116 47.4 3633
+-110.99 47.4 3611
+-110.864 47.4 3610
+-110.738 47.4 3584
+-110.612 47.4 3582
+-110.486 47.4 3581
+-110.36 47.4 3463
+-110.234 47.4 3464
+-110.108 47.4 3466
+-109.982 47.4 3450
+-109.856 47.4 3452
+-109.73 47.4 3453
+-109.604 47.4 3455
+-109.478 47.4 3456
+-109.352 47.4 3458
+-109.226 47.4 3459
+-109.1 47.4 3461
+-108.974 47.4 3463
+-108.848 47.4 3465
+-108.722 47.4 3340
+-108.596 47.4 3341
+-108.47 47.4 3342
+-108.344 47.4 3344
+-108.218 47.4 3345
+-108.092 47.4 3346
+-107.966 47.4 3307
+-107.84 47.4 3189
+-107.714 47.4 3190
+-107.588 47.4 3190
+-107.462 47.4 3191
+-107.336 47.4 3191
+-107.21 47.4 3192
+-107.084 47.4 3192
+-106.958 47.4 3192
+-106.832 47.4 3193
+-106.706 47.4 3193
+-106.58 47.4 3194
+-106.454 47.4 3194
+-106.328 47.4 3194
+-106.202 47.4 3195
+-106.076 47.4 3195
+-105.95 47.4 3195
+-105.824 47.4 3196
+-105.698 47.4 3196
+-105.572 47.4 3196
+-105.446 47.4 3197
+-105.32 47.4 3197
+-105.194 47.4 3197
+-105.068 47.4 3197
+-104.942 47.4 3198
+-104.816 47.4 3198
+-104.69 47.4 3198
+-104.564 47.4 3199
+-104.438 47.4 3199
+-104.312 47.4 3199
+-104.186 47.4 3199
+-104.06 47.4 3132
+-103.934 47.4 3132
+-103.808 47.4 3133
+-103.682 47.4 3133
+-103.556 47.4 3133
+-103.43 47.4 3134
+-103.304 47.4 3134
+-103.178 47.4 3077
+-103.052 47.4 3046
+-102.926 47.4 3012
+-102.8 47.4 2968
+-102.674 47.4 3039
+-102.548 47.4 2949
+-102.422 47.4 3077
+-102.296 47.4 2955
+-102.17 47.4 3022
+-102.044 47.4 3074
+-101.918 47.4 3168
+-101.792 47.4 3311
+-101.666 47.4 3362
+-101.54 47.4 3493
+-101.414 47.4 3449
+-101.288 47.4 3448
+-101.162 47.4 3448
+-101.036 47.4 3465
+-100.91 47.4 3411
+-100.784 47.4 3421
+-100.658 47.4 3416
+-100.532 47.4 3416
+-100.406 47.4 3416
+-100.28 47.4 3415
+-100.154 47.4 3415
+-100.028 47.4 3209
+-99.902 47.4 3241
+-99.776 47.4 3239
+-99.65 47.4 3237
+-99.524 47.4 3219
+-99.398 47.4 3271
+-99.272 47.4 3241
+-99.146 47.4 3239
+-99.02 47.4 3218
+-98.894 47.4 3216
+-98.768 47.4 3136
+-98.642 47.4 3175
+-98.516 47.4 3173
+-98.39 47.4 3170
+-98.264 47.4 3168
+-98.138 47.4 3154
+-98.012 47.4 3151
+-97.886 47.4 3149
+-97.76 47.4 3146
+-97.634 47.4 3143
+-97.508 47.4 3063
+-97.382 47.4 3048
+-97.256 47.4 3025
+-97.13 47.4 2973
+-97.004 47.4 2961
+-96.878 47.4 2945
+-96.752 47.4 2941
+-96.626 47.4 2935
+-96.5 47.4 2917
+-96.374 47.4 2898
+-96.248 47.4 2893
+-96.122 47.4 2889
+-95.996 47.4 2884
+-95.87 47.4 2878
+-95.744 47.4 2873
+-95.618 47.4 2868
+-95.492 47.4 2862
+-95.366 47.4 2856
+-95.24 47.4 2849
+-95.114 47.4 2843
+-94.988 47.4 2836
+-94.862 47.4 2828
+-94.736 47.4 2821
+-94.61 47.4 2813
+-94.484 47.4 2805
+-94.358 47.4 2796
+-94.232 47.4 2788
+-94.106 47.4 2680
+-93.98 47.4 2671
+-93.854 47.4 2651
+-93.728 47.4 2642
+-93.602 47.4 2632
+-93.476 47.4 2621
+-93.35 47.4 2610
+-93.224 47.4 2599
+-93.098 47.4 2588
+-92.972 47.4 2577
+-92.846 47.4 2565
+-92.72 47.4 2554
+-92.594 47.4 2542
+-92.468 47.4 2530
+-92.342 47.4 2519
+-92.216 47.4 2508
+-92.09 47.4 2497
+-91.964 47.4 2487
+-91.838 47.4 2477
+-91.712 47.4 2468
+-91.586 47.4 2459
+-91.46 47.4 2452
+-91.334 47.4 2445
+-91.208 47.4 2440
+-91.082 47.4 2436
+-90.956 47.4 2433
+-90.83 47.4 2431
+-90.704 47.4 2431
+-90.578 47.4 2431
+-90.452 47.4 2433
+-90.326 47.4 2436
+-90.2 47.4 2439
+-90.074 47.4 2412
+-89.948 47.4 2417
+-89.822 47.4 2423
+-89.696 47.4 2429
+-89.57 47.4 2436
+-89.444 47.4 2443
+-89.318 47.4 2450
+-89.192 47.4 2457
+-89.066 47.4 2464
+-88.94 47.4 2471
+-88.814 47.4 2478
+-88.688 47.4 2485
+-88.562 47.4 2492
+-88.436 47.4 2498
+-88.31 47.4 2504
+-88.184 47.4 2510
+-88.058 47.4 2516
+-87.932 47.4 2521
+-87.806 47.4 2527
+-87.68 47.4 2532
+-87.554 47.4 2536
+-87.428 47.4 2541
+-87.302 47.4 2545
+-87.176 47.4 2549
+-87.05 47.4 2552
+-86.924 47.4 2556
+-86.798 47.4 2559
+-86.672 47.4 2562
+-86.546 47.4 2565
+-86.42 47.4 2568
+-86.294 47.4 2571
+-86.168 47.4 2573
+-86.042 47.4 2575
+-85.916 47.4 2578
+-85.79 47.4 2580
+-85.664 47.4 2582
+-85.538 47.4 2584
+-85.412 47.4 2586
+-85.286 47.4 2596
+-85.16 47.4 2598
+-85.034 47.4 2599
+-84.908 47.4 2601
+-84.782 47.4 2510
+-84.656 47.4 2511
+-84.53 47.4 2511
+-84.404 47.4 2512
+-84.278 47.4 2512
+-84.152 47.4 2513
+-84.026 47.4 2513
+-83.9 47.4 2514
+-83.774 47.4 2514
+-83.648 47.4 2515
+-83.522 47.4 2520
+-83.396 47.4 2530
+-83.27 47.4 2531
+-83.144 47.4 2532
+-83.018 47.4 2532
+-82.892 47.4 2551
+-82.766 47.4 2552
+-82.64 47.4 2553
+-82.514 47.4 2554
+-82.388 47.4 2558
+-82.262 47.4 2680
+-82.136 47.4 2680
+-82.01 47.4 2680
+-81.884 47.4 2686
+-81.758 47.4 2687
+-81.632 47.4 2689
+-81.506 47.4 2704
+-81.38 47.4 2688
+-81.254 47.4 2701
+-81.128 47.4 2702
+-81.002 47.4 2700
+-80.876 47.4 2700
+-80.75 47.4 2701
+-80.624 47.4 2702
+-80.498 47.4 2704
+-80.372 47.4 2785
+-80.246 47.4 2787
+-80.12 47.4 2788
+-79.994 47.4 2789
+-79.868 47.4 2805
+-79.742 47.4 2806
+-79.616 47.4 2790
+-79.49 47.4 2792
+-79.364 47.4 2793
+-79.238 47.4 2794
+-79.112 47.4 2768
+-78.986 47.4 2778
+-78.86 47.4 2779
+-78.734 47.4 2901
+-78.608 47.4 2864
+-78.482 47.4 2866
+-78.356 47.4 2995
+-78.23 47.4 2993
+-78.104 47.4 2958
+-77.978 47.4 3017
+-77.852 47.4 2913
+-77.726 47.4 2942
+-77.6 47.4 2995
+-77.474 47.4 2897
+-77.348 47.4 2904
+-77.222 47.4 2813
+-77.096 47.4 2810
+-76.97 47.4 2826
+-76.844 47.4 2799
+-76.718 47.4 2800
+-76.592 47.4 2802
+-76.466 47.4 2743
+-76.34 47.4 2785
+-76.214 47.4 2777
+-76.088 47.4 2767
+-75.962 47.4 2769
+-75.836 47.4 2770
+-75.71 47.4 2772
+-75.584 47.4 2715
+-75.458 47.4 2710
+-75.332 47.4 2712
+-75.206 47.4 2713
+-75.08 47.4 2714
+-74.954 47.4 2711
+-74.828 47.4 2657
+-74.702 47.4 2761
+-74.576 47.4 2757
+-74.45 47.4 2763
+-74.324 47.4 2764
+-74.198 47.4 2765
+-74.072 47.4 2766
+-73.946 47.4 2791
+-73.82 47.4 2770
+-73.694 47.4 2834
+-73.568 47.4 2836
+-73.442 47.4 2827
+-73.316 47.4 2834
+-73.19 47.4 2836
+-73.064 47.4 2837
+-72.938 47.4 2825
+-72.812 47.4 2940
+-72.686 47.4 2941
+-72.56 47.4 2943
+-72.434 47.4 2944
+-72.308 47.4 3043
+-72.182 47.4 2997
+-72.056 47.4 3147
+-71.93 47.4 3148
+-71.804 47.4 3110
+-71.678 47.4 3111
+-71.552 47.4 3112
+-71.426 47.4 3112
+-71.3 47.4 3113
+-71.174 47.4 3113
+-71.048 47.4 3211
+-70.922 47.4 3206
+-70.796 47.4 3207
+-70.67 47.4 3207
+-70.544 47.4 3208
+-70.418 47.4 3150
+-70.292 47.4 3187
+-70.166 47.4 3188
+-70.04 47.4 3266
+-69.914 47.4 3174
+-69.788 47.4 3175
+-69.662 47.4 3175
+-69.536 47.4 3224
+-69.41 47.4 3177
+-69.284 47.4 3178
+-69.158 47.4 3179
+-69.032 47.4 3407
+-68.906 47.4 3351
+-68.78 47.4 3352
+-68.654 47.4 3485
+-68.528 47.4 3457
+-68.402 47.4 3457
+-68.276 47.4 3402
+-68.15 47.4 3475
+-68.024 47.4 3476
+-67.898 47.4 3477
+-67.772 47.4 3477
+-67.646 47.4 3477
+-67.52 47.4 3477
+-67.394 47.4 3478
+-67.268 47.4 3478
+-67.142 47.4 3467
+-67.016 47.4 3414
+-66.89 47.4 3407
+-66.764 47.4 3408
+-66.638 47.4 3408
+-66.512 47.4 3409
+-66.386 47.4 3409
+-66.26 47.4 3409
+-66.134 47.4 3410
+-66.008 47.4 3410
+-65.882 47.4 3411
+-65.756 47.4 3411
+-65.63 47.4 3411
+-65.504 47.4 3412
+-65.378 47.4 3412
+-65.252 47.4 3412
+-65.126 47.4 3413
+-128 47.348 4694
+-127.874 47.348 4730
+-127.748 47.348 4773
+-127.622 47.348 4821
+-127.496 47.348 4868
+-127.37 47.348 4929
+-127.244 47.348 4922
+-127.118 47.348 5090
+-126.992 47.348 5201
+-126.866 47.348 5240
+-126.74 47.348 5426
+-126.614 47.348 5546
+-126.488 47.348 5727
+-126.362 47.348 5889
+-126.236 47.348 6053
+-126.11 47.348 6215
+-125.984 47.348 6277
+-125.858 47.348 6421
+-125.732 47.348 6503
+-125.606 47.348 6648
+-125.48 47.348 6811
+-125.354 47.348 6962
+-125.228 47.348 7113
+-125.102 47.348 7281
+-124.976 47.348 7335
+-124.85 47.348 7448
+-124.724 47.348 7569
+-124.598 47.348 7755
+-124.472 47.348 7848
+-124.346 47.348 8069
+-124.22 47.348 8245
+-124.094 47.348 8285
+-123.968 47.348 8438
+-123.842 47.348 8554
+-123.716 47.348 8720
+-123.59 47.348 8805
+-123.464 47.348 8926
+-123.338 47.348 9070
+-123.212 47.348 9112
+-123.086 47.348 9184
+-122.96 47.348 9169
+-122.834 47.348 9155
+-122.708 47.348 9110
+-122.582 47.348 9022
+-122.456 47.348 8879
+-122.33 47.348 8834
+-122.204 47.348 8692
+-122.078 47.348 8528
+-121.952 47.348 8441
+-121.826 47.348 8306
+-121.7 47.348 8127
+-121.574 47.348 8018
+-121.448 47.348 7858
+-121.322 47.348 7762
+-121.196 47.348 7566
+-121.07 47.348 7507
+-120.944 47.348 7335
+-120.818 47.348 7215
+-120.692 47.348 7047
+-120.566 47.348 6968
+-120.44 47.348 6873
+-120.314 47.348 6776
+-120.188 47.348 6939
+-120.062 47.348 7041
+-119.936 47.348 7160
+-119.81 47.348 7224
+-119.684 47.348 7326
+-119.558 47.348 7399
+-119.432 47.348 7522
+-119.306 47.348 7619
+-119.18 47.348 7673
+-119.054 47.348 7769
+-118.928 47.348 7842
+-118.802 47.348 7876
+-118.676 47.348 7922
+-118.55 47.348 7952
+-118.424 47.348 7972
+-118.298 47.348 7980
+-118.172 47.348 7943
+-118.046 47.348 7903
+-117.92 47.348 7877
+-117.794 47.348 7808
+-117.668 47.348 7789
+-117.542 47.348 7709
+-117.416 47.348 7643
+-117.29 47.348 7580
+-117.164 47.348 7454
+-117.038 47.348 7401
+-116.912 47.348 7305
+-116.786 47.348 7121
+-116.66 47.348 7011
+-116.534 47.348 6898
+-116.408 47.348 6826
+-116.282 47.348 6681
+-116.156 47.348 6645
+-116.03 47.348 6528
+-115.904 47.348 6404
+-115.778 47.348 6271
+-115.652 47.348 6127
+-115.526 47.348 6005
+-115.4 47.348 5899
+-115.274 47.348 5799
+-115.148 47.348 5639
+-115.022 47.348 5490
+-114.896 47.348 5336
+-114.77 47.348 5189
+-114.644 47.348 5108
+-114.518 47.348 4983
+-114.392 47.348 4873
+-114.266 47.348 4772
+-114.14 47.348 4689
+-114.014 47.348 4568
+-113.888 47.348 4504
+-113.762 47.348 4416
+-113.636 47.348 4317
+-113.51 47.348 4147
+-113.384 47.348 3988
+-113.258 47.348 4022
+-113.132 47.348 4101
+-113.006 47.348 4145
+-112.88 47.348 4136
+-112.754 47.348 4137
+-112.628 47.348 4130
+-112.502 47.348 4118
+-112.376 47.348 4051
+-112.25 47.348 4040
+-112.124 47.348 4030
+-111.998 47.348 4007
+-111.872 47.348 3930
+-111.746 47.348 3886
+-111.62 47.348 3832
+-111.494 47.348 3801
+-111.368 47.348 3773
+-111.242 47.348 3765
+-111.116 47.348 3662
+-110.99 47.348 3658
+-110.864 47.348 3623
+-110.738 47.348 3620
+-110.612 47.348 3617
+-110.486 47.348 3485
+-110.36 47.348 3484
+-110.234 47.348 3484
+-110.108 47.348 3468
+-109.982 47.348 3468
+-109.856 47.348 3468
+-109.73 47.348 3468
+-109.604 47.348 3469
+-109.478 47.348 3470
+-109.352 47.348 3471
+-109.226 47.348 3472
+-109.1 47.348 3473
+-108.974 47.348 3474
+-108.848 47.348 3349
+-108.722 47.348 3350
+-108.596 47.348 3351
+-108.47 47.348 3352
+-108.344 47.348 3353
+-108.218 47.348 3354
+-108.092 47.348 3313
+-107.966 47.348 3313
+-107.84 47.348 3197
+-107.714 47.348 3197
+-107.588 47.348 3197
+-107.462 47.348 3197
+-107.336 47.348 3197
+-107.21 47.348 3197
+-107.084 47.348 3197
+-106.958 47.348 3198
+-106.832 47.348 3198
+-106.706 47.348 3198
+-106.58 47.348 3198
+-106.454 47.348 3198
+-106.328 47.348 3198
+-106.202 47.348 3199
+-106.076 47.348 3199
+-105.95 47.348 3199
+-105.824 47.348 3199
+-105.698 47.348 3199
+-105.572 47.348 3199
+-105.446 47.348 3200
+-105.32 47.348 3200
+-105.194 47.348 3200
+-105.068 47.348 3200
+-104.942 47.348 3200
+-104.816 47.348 3201
+-104.69 47.348 3201
+-104.564 47.348 3201
+-104.438 47.348 3201
+-104.312 47.348 3201
+-104.186 47.348 3134
+-104.06 47.348 3135
+-103.934 47.348 3135
+-103.808 47.348 3135
+-103.682 47.348 3135
+-103.556 47.348 3136
+-103.43 47.348 3136
+-103.304 47.348 3136
+-103.178 47.348 3079
+-103.052 47.348 3011
+-102.926 47.348 2937
+-102.8 47.348 2922
+-102.674 47.348 2946
+-102.548 47.348 2962
+-102.422 47.348 2968
+-102.296 47.348 3045
+-102.17 47.348 3089
+-102.044 47.348 3189
+-101.918 47.348 3169
+-101.792 47.348 3174
+-101.666 47.348 3229
+-101.54 47.348 3475
+-101.414 47.348 3492
+-101.288 47.348 3448
+-101.162 47.348 3448
+-101.036 47.348 3448
+-100.91 47.348 3464
+-100.784 47.348 3411
+-100.658 47.348 3421
+-100.532 47.348 3421
+-100.406 47.348 3415
+-100.28 47.348 3415
+-100.154 47.348 3415
+-100.028 47.348 3415
+-99.902 47.348 3208
+-99.776 47.348 3240
+-99.65 47.348 3238
+-99.524 47.348 3237
+-99.398 47.348 3218
+-99.272 47.348 3269
+-99.146 47.348 3240
+-99.02 47.348 3238
+-98.894 47.348 3217
+-98.768 47.348 3215
+-98.642 47.348 3135
+-98.516 47.348 3174
+-98.39 47.348 3171
+-98.264 47.348 3169
+-98.138 47.348 3166
+-98.012 47.348 3152
+-97.886 47.348 3150
+-97.76 47.348 3147
+-97.634 47.348 3144
+-97.508 47.348 3140
+-97.382 47.348 3061
+-97.256 47.348 3046
+-97.13 47.348 3023
+-97.004 47.348 2971
+-96.878 47.348 2959
+-96.752 47.348 2942
+-96.626 47.348 2938
+-96.5 47.348 2932
+-96.374 47.348 2914
+-96.248 47.348 2894
+-96.122 47.348 2890
+-95.996 47.348 2885
+-95.87 47.348 2879
+-95.744 47.348 2874
+-95.618 47.348 2868
+-95.492 47.348 2862
+-95.366 47.348 2856
+-95.24 47.348 2849
+-95.114 47.348 2843
+-94.988 47.348 2836
+-94.862 47.348 2828
+-94.736 47.348 2820
+-94.61 47.348 2812
+-94.484 47.348 2804
+-94.358 47.348 2795
+-94.232 47.348 2786
+-94.106 47.348 2776
+-93.98 47.348 2669
+-93.854 47.348 2659
+-93.728 47.348 2639
+-93.602 47.348 2628
+-93.476 47.348 2617
+-93.35 47.348 2606
+-93.224 47.348 2594
+-93.098 47.348 2582
+-92.972 47.348 2570
+-92.846 47.348 2558
+-92.72 47.348 2545
+-92.594 47.348 2532
+-92.468 47.348 2520
+-92.342 47.348 2507
+-92.216 47.348 2495
+-92.09 47.348 2483
+-91.964 47.348 2472
+-91.838 47.348 2461
+-91.712 47.348 2451
+-91.586 47.348 2442
+-91.46 47.348 2434
+-91.334 47.348 2426
+-91.208 47.348 2421
+-91.082 47.348 2416
+-90.956 47.348 2413
+-90.83 47.348 2411
+-90.704 47.348 2411
+-90.578 47.348 2411
+-90.452 47.348 2414
+-90.326 47.348 2417
+-90.2 47.348 2422
+-90.074 47.348 2395
+-89.948 47.348 2401
+-89.822 47.348 2408
+-89.696 47.348 2415
+-89.57 47.348 2423
+-89.444 47.348 2431
+-89.318 47.348 2439
+-89.192 47.348 2447
+-89.066 47.348 2455
+-88.94 47.348 2463
+-88.814 47.348 2470
+-88.688 47.348 2478
+-88.562 47.348 2485
+-88.436 47.348 2492
+-88.31 47.348 2499
+-88.184 47.348 2505
+-88.058 47.348 2511
+-87.932 47.348 2517
+-87.806 47.348 2523
+-87.68 47.348 2528
+-87.554 47.348 2533
+-87.428 47.348 2537
+-87.302 47.348 2542
+-87.176 47.348 2546
+-87.05 47.348 2550
+-86.924 47.348 2553
+-86.798 47.348 2557
+-86.672 47.348 2560
+-86.546 47.348 2563
+-86.42 47.348 2566
+-86.294 47.348 2568
+-86.168 47.348 2571
+-86.042 47.348 2573
+-85.916 47.348 2576
+-85.79 47.348 2578
+-85.664 47.348 2580
+-85.538 47.348 2582
+-85.412 47.348 2592
+-85.286 47.348 2594
+-85.16 47.348 2596
+-85.034 47.348 2597
+-84.908 47.348 2508
+-84.782 47.348 2508
+-84.656 47.348 2509
+-84.53 47.348 2509
+-84.404 47.348 2510
+-84.278 47.348 2510
+-84.152 47.348 2511
+-84.026 47.348 2511
+-83.9 47.348 2512
+-83.774 47.348 2512
+-83.648 47.348 2518
+-83.522 47.348 2528
+-83.396 47.348 2529
+-83.27 47.348 2529
+-83.144 47.348 2530
+-83.018 47.348 2549
+-82.892 47.348 2550
+-82.766 47.348 2550
+-82.64 47.348 2551
+-82.514 47.348 2556
+-82.388 47.348 2677
+-82.262 47.348 2677
+-82.136 47.348 2678
+-82.01 47.348 2684
+-81.884 47.348 2684
+-81.758 47.348 2686
+-81.632 47.348 2701
+-81.506 47.348 2686
+-81.38 47.348 2698
+-81.254 47.348 2699
+-81.128 47.348 2697
+-81.002 47.348 2698
+-80.876 47.348 2699
+-80.75 47.348 2699
+-80.624 47.348 2702
+-80.498 47.348 2782
+-80.372 47.348 2784
+-80.246 47.348 2785
+-80.12 47.348 2786
+-79.994 47.348 2802
+-79.868 47.348 2803
+-79.742 47.348 2788
+-79.616 47.348 2789
+-79.49 47.348 2790
+-79.364 47.348 2792
+-79.238 47.348 2766
+-79.112 47.348 2776
+-78.986 47.348 2777
+-78.86 47.348 2898
+-78.734 47.348 2862
+-78.608 47.348 2863
+-78.482 47.348 2992
+-78.356 47.348 2990
+-78.23 47.348 2955
+-78.104 47.348 3014
+-77.978 47.348 2910
+-77.852 47.348 2939
+-77.726 47.348 2992
+-77.6 47.348 2895
+-77.474 47.348 2902
+-77.348 47.348 2811
+-77.222 47.348 2808
+-77.096 47.348 2823
+-76.97 47.348 2797
+-76.844 47.348 2798
+-76.718 47.348 2800
+-76.592 47.348 2742
+-76.466 47.348 2783
+-76.34 47.348 2776
+-76.214 47.348 2766
+-76.088 47.348 2767
+-75.962 47.348 2769
+-75.836 47.348 2770
+-75.71 47.348 2713
+-75.584 47.348 2709
+-75.458 47.348 2710
+-75.332 47.348 2712
+-75.206 47.348 2713
+-75.08 47.348 2710
+-74.954 47.348 2656
+-74.828 47.348 2760
+-74.702 47.348 2756
+-74.576 47.348 2762
+-74.45 47.348 2763
+-74.324 47.348 2764
+-74.198 47.348 2765
+-74.072 47.348 2790
+-73.946 47.348 2769
+-73.82 47.348 2833
+-73.694 47.348 2835
+-73.568 47.348 2826
+-73.442 47.348 2833
+-73.316 47.348 2835
+-73.19 47.348 2836
+-73.064 47.348 2824
+-72.938 47.348 2939
+-72.812 47.348 2940
+-72.686 47.348 2942
+-72.56 47.348 2943
+-72.434 47.348 3043
+-72.308 47.348 2996
+-72.182 47.348 3146
+-72.056 47.348 3147
+-71.93 47.348 3110
+-71.804 47.348 3110
+-71.678 47.348 3111
+-71.552 47.348 3112
+-71.426 47.348 3112
+-71.3 47.348 3113
+-71.174 47.348 3210
+-71.048 47.348 3205
+-70.922 47.348 3206
+-70.796 47.348 3207
+-70.67 47.348 3208
+-70.544 47.348 3150
+-70.418 47.348 3187
+-70.292 47.348 3187
+-70.166 47.348 3265
+-70.04 47.348 3173
+-69.914 47.348 3174
+-69.788 47.348 3175
+-69.662 47.348 3224
+-69.536 47.348 3177
+-69.41 47.348 3178
+-69.284 47.348 3178
+-69.158 47.348 3406
+-69.032 47.348 3351
+-68.906 47.348 3351
+-68.78 47.348 3484
+-68.654 47.348 3456
+-68.528 47.348 3457
+-68.402 47.348 3402
+-68.276 47.348 3475
+-68.15 47.348 3476
+-68.024 47.348 3476
+-67.898 47.348 3477
+-67.772 47.348 3477
+-67.646 47.348 3477
+-67.52 47.348 3477
+-67.394 47.348 3478
+-67.268 47.348 3467
+-67.142 47.348 3413
+-67.016 47.348 3407
+-66.89 47.348 3408
+-66.764 47.348 3408
+-66.638 47.348 3408
+-66.512 47.348 3409
+-66.386 47.348 3409
+-66.26 47.348 3409
+-66.134 47.348 3410
+-66.008 47.348 3410
+-65.882 47.348 3411
+-65.756 47.348 3411
+-65.63 47.348 3411
+-65.504 47.348 3412
+-65.378 47.348 3412
+-65.252 47.348 3412
+-65.126 47.348 3526
+-128 47.296 4612
+-127.874 47.296 4671
+-127.748 47.296 4719
+-127.622 47.296 4765
+-127.496 47.296 4792
+-127.37 47.296 4879
+-127.244 47.296 4986
+-127.118 47.296 5089
+-126.992 47.296 5231
+-126.866 47.296 5354
+-126.74 47.296 5474
+-126.614 47.296 5613
+-126.488 47.296 5720
+-126.362 47.296 5851
+-126.236 47.296 6054
+-126.11 47.296 6194
+-125.984 47.296 6275
+-125.858 47.296 6385
+-125.732 47.296 6520
+-125.606 47.296 6693
+-125.48 47.296 6797
+-125.354 47.296 6898
+-125.228 47.296 7072
+-125.102 47.296 7177
+-124.976 47.296 7361
+-124.85 47.296 7571
+-124.724 47.296 7666
+-124.598 47.296 7723
+-124.472 47.296 7901
+-124.346 47.296 8020
+-124.22 47.296 8189
+-124.094 47.296 8363
+-123.968 47.296 8497
+-123.842 47.296 8582
+-123.716 47.296 8755
+-123.59 47.296 8883
+-123.464 47.296 8953
+-123.338 47.296 9080
+-123.212 47.296 9163
+-123.086 47.296 9271
+-122.96 47.296 9225
+-122.834 47.296 9251
+-122.708 47.296 9191
+-122.582 47.296 9133
+-122.456 47.296 8951
+-122.33 47.296 8830
+-122.204 47.296 8754
+-122.078 47.296 8568
+-121.952 47.296 8472
+-121.826 47.296 8265
+-121.7 47.296 8151
+-121.574 47.296 7981
+-121.448 47.296 7894
+-121.322 47.296 7748
+-121.196 47.296 7665
+-121.07 47.296 7543
+-120.944 47.296 7310
+-120.818 47.296 7289
+-120.692 47.296 7128
+-120.566 47.296 6971
+-120.44 47.296 6712
+-120.314 47.296 6882
+-120.188 47.296 6908
+-120.062 47.296 7085
+-119.936 47.296 7178
+-119.81 47.296 7224
+-119.684 47.296 7354
+-119.558 47.296 7485
+-119.432 47.296 7613
+-119.306 47.296 7659
+-119.18 47.296 7723
+-119.054 47.296 7794
+-118.928 47.296 7860
+-118.802 47.296 7936
+-118.676 47.296 7961
+-118.55 47.296 7988
+-118.424 47.296 8038
+-118.298 47.296 8021
+-118.172 47.296 8008
+-118.046 47.296 7973
+-117.92 47.296 7937
+-117.794 47.296 7890
+-117.668 47.296 7819
+-117.542 47.296 7746
+-117.416 47.296 7682
+-117.29 47.296 7549
+-117.164 47.296 7442
+-117.038 47.296 7368
+-116.912 47.296 7333
+-116.786 47.296 7208
+-116.66 47.296 7025
+-116.534 47.296 6918
+-116.408 47.296 6884
+-116.282 47.296 6720
+-116.156 47.296 6654
+-116.03 47.296 6474
+-115.904 47.296 6426
+-115.778 47.296 6304
+-115.652 47.296 6190
+-115.526 47.296 5996
+-115.4 47.296 5923
+-115.274 47.296 5845
+-115.148 47.296 5684
+-115.022 47.296 5489
+-114.896 47.296 5407
+-114.77 47.296 5208
+-114.644 47.296 5131
+-114.518 47.296 5019
+-114.392 47.296 4876
+-114.266 47.296 4783
+-114.14 47.296 4708
+-114.014 47.296 4613
+-113.888 47.296 4527
+-113.762 47.296 4435
+-113.636 47.296 4323
+-113.51 47.296 4225
+-113.384 47.296 4172
+-113.258 47.296 4155
+-113.132 47.296 4150
+-113.006 47.296 4170
+-112.88 47.296 4153
+-112.754 47.296 4154
+-112.628 47.296 4149
+-112.502 47.296 4141
+-112.376 47.296 4131
+-112.25 47.296 4070
+-112.124 47.296 4046
+-111.998 47.296 4038
+-111.872 47.296 3993
+-111.746 47.296 3943
+-111.62 47.296 3932
+-111.494 47.296 3825
+-111.368 47.296 3797
+-111.242 47.296 3787
+-111.116 47.296 3785
+-110.99 47.296 3652
+-110.864 47.296 3647
+-110.738 47.296 3642
+-110.612 47.296 3638
+-110.486 47.296 3635
+-110.36 47.296 3504
+-110.234 47.296 3486
+-110.108 47.296 3485
+-109.982 47.296 3484
+-109.856 47.296 3483
+-109.73 47.296 3483
+-109.604 47.296 3483
+-109.478 47.296 3483
+-109.352 47.296 3483
+-109.226 47.296 3484
+-109.1 47.296 3484
+-108.974 47.296 3360
+-108.848 47.296 3360
+-108.722 47.296 3361
+-108.596 47.296 3361
+-108.47 47.296 3361
+-108.344 47.296 3362
+-108.218 47.296 3320
+-108.092 47.296 3320
+-107.966 47.296 3320
+-107.84 47.296 3319
+-107.714 47.296 3203
+-107.588 47.296 3203
+-107.462 47.296 3203
+-107.336 47.296 3203
+-107.21 47.296 3203
+-107.084 47.296 3203
+-106.958 47.296 3203
+-106.832 47.296 3202
+-106.706 47.296 3202
+-106.58 47.296 3202
+-106.454 47.296 3202
+-106.328 47.296 3202
+-106.202 47.296 3202
+-106.076 47.296 3202
+-105.95 47.296 3202
+-105.824 47.296 3202
+-105.698 47.296 3203
+-105.572 47.296 3203
+-105.446 47.296 3203
+-105.32 47.296 3203
+-105.194 47.296 3203
+-105.068 47.296 3203
+-104.942 47.296 3203
+-104.816 47.296 3203
+-104.69 47.296 3203
+-104.564 47.296 3203
+-104.438 47.296 3203
+-104.312 47.296 3137
+-104.186 47.296 3137
+-104.06 47.296 3137
+-103.934 47.296 3137
+-103.808 47.296 3137
+-103.682 47.296 3137
+-103.556 47.296 3138
+-103.43 47.296 3138
+-103.304 47.296 3104
+-103.178 47.296 3020
+-103.052 47.296 2939
+-102.926 47.296 2930
+-102.8 47.296 2924
+-102.674 47.296 2948
+-102.548 47.296 2964
+-102.422 47.296 2971
+-102.296 47.296 3047
+-102.17 47.296 3092
+-102.044 47.296 3191
+-101.918 47.296 3196
+-101.792 47.296 3302
+-101.666 47.296 3301
+-101.54 47.296 3333
+-101.414 47.296 3474
+-101.288 47.296 3491
+-101.162 47.296 3448
+-101.036 47.296 3447
+-100.91 47.296 3447
+-100.784 47.296 3463
+-100.658 47.296 3410
+-100.532 47.296 3420
+-100.406 47.296 3415
+-100.28 47.296 3415
+-100.154 47.296 3415
+-100.028 47.296 3414
+-99.902 47.296 3414
+-99.776 47.296 3208
+-99.65 47.296 3239
+-99.524 47.296 3238
+-99.398 47.296 3236
+-99.272 47.296 3217
+-99.146 47.296 3268
+-99.02 47.296 3239
+-98.894 47.296 3237
+-98.768 47.296 3216
+-98.642 47.296 3214
+-98.516 47.296 3134
+-98.39 47.296 3172
+-98.264 47.296 3170
+-98.138 47.296 3167
+-98.012 47.296 3164
+-97.886 47.296 3151
+-97.76 47.296 3148
+-97.634 47.296 3145
+-97.508 47.296 3141
+-97.382 47.296 3138
+-97.256 47.296 3059
+-97.13 47.296 3043
+-97.004 47.296 3021
+-96.878 47.296 2969
+-96.752 47.296 2956
+-96.626 47.296 2939
+-96.5 47.296 2935
+-96.374 47.296 2929
+-96.248 47.296 2910
+-96.122 47.296 2891
+-95.996 47.296 2886
+-95.87 47.296 2880
+-95.744 47.296 2875
+-95.618 47.296 2869
+-95.492 47.296 2863
+-95.366 47.296 2857
+-95.24 47.296 2850
+-95.114 47.296 2843
+-94.988 47.296 2836
+-94.862 47.296 2828
+-94.736 47.296 2820
+-94.61 47.296 2812
+-94.484 47.296 2803
+-94.358 47.296 2794
+-94.232 47.296 2784
+-94.106 47.296 2774
+-93.98 47.296 2764
+-93.854 47.296 2657
+-93.728 47.296 2646
+-93.602 47.296 2625
+-93.476 47.296 2614
+-93.35 47.296 2601
+-93.224 47.296 2589
+-93.098 47.296 2576
+-92.972 47.296 2563
+-92.846 47.296 2550
+-92.72 47.296 2536
+-92.594 47.296 2523
+-92.468 47.296 2509
+-92.342 47.296 2495
+-92.216 47.296 2482
+-92.09 47.296 2469
+-91.964 47.296 2456
+-91.838 47.296 2444
+-91.712 47.296 2433
+-91.586 47.296 2423
+-91.46 47.296 2414
+-91.334 47.296 2406
+-91.208 47.296 2399
+-91.082 47.296 2394
+-90.956 47.296 2391
+-90.83 47.296 2389
+-90.704 47.296 2389
+-90.578 47.296 2390
+-90.452 47.296 2393
+-90.326 47.296 2397
+-90.2 47.296 2402
+-90.074 47.296 2377
+-89.948 47.296 2385
+-89.822 47.296 2392
+-89.696 47.296 2401
+-89.57 47.296 2409
+-89.444 47.296 2418
+-89.318 47.296 2427
+-89.192 47.296 2436
+-89.066 47.296 2445
+-88.94 47.296 2454
+-88.814 47.296 2463
+-88.688 47.296 2471
+-88.562 47.296 2479
+-88.436 47.296 2486
+-88.31 47.296 2493
+-88.184 47.296 2500
+-88.058 47.296 2507
+-87.932 47.296 2513
+-87.806 47.296 2519
+-87.68 47.296 2524
+-87.554 47.296 2529
+-87.428 47.296 2534
+-87.302 47.296 2539
+-87.176 47.296 2543
+-87.05 47.296 2547
+-86.924 47.296 2551
+-86.798 47.296 2554
+-86.672 47.296 2557
+-86.546 47.296 2561
+-86.42 47.296 2563
+-86.294 47.296 2566
+-86.168 47.296 2569
+-86.042 47.296 2571
+-85.916 47.296 2574
+-85.79 47.296 2576
+-85.664 47.296 2578
+-85.538 47.296 2588
+-85.412 47.296 2590
+-85.286 47.296 2592
+-85.16 47.296 2594
+-85.034 47.296 2505
+-84.908 47.296 2506
+-84.782 47.296 2506
+-84.656 47.296 2507
+-84.53 47.296 2508
+-84.404 47.296 2508
+-84.278 47.296 2509
+-84.152 47.296 2509
+-84.026 47.296 2509
+-83.9 47.296 2510
+-83.774 47.296 2516
+-83.648 47.296 2526
+-83.522 47.296 2526
+-83.396 47.296 2527
+-83.27 47.296 2528
+-83.144 47.296 2547
+-83.018 47.296 2547
+-82.892 47.296 2548
+-82.766 47.296 2549
+-82.64 47.296 2554
+-82.514 47.296 2674
+-82.388 47.296 2674
+-82.262 47.296 2675
+-82.136 47.296 2681
+-82.01 47.296 2681
+-81.884 47.296 2683
+-81.758 47.296 2698
+-81.632 47.296 2683
+-81.506 47.296 2695
+-81.38 47.296 2696
+-81.254 47.296 2694
+-81.128 47.296 2695
+-81.002 47.296 2696
+-80.876 47.296 2697
+-80.75 47.296 2699
+-80.624 47.296 2779
+-80.498 47.296 2780
+-80.372 47.296 2782
+-80.246 47.296 2783
+-80.12 47.296 2799
+-79.994 47.296 2800
+-79.868 47.296 2785
+-79.742 47.296 2786
+-79.616 47.296 2787
+-79.49 47.296 2789
+-79.364 47.296 2763
+-79.238 47.296 2773
+-79.112 47.296 2774
+-78.986 47.296 2895
+-78.86 47.296 2859
+-78.734 47.296 2860
+-78.608 47.296 2989
+-78.482 47.296 2987
+-78.356 47.296 2952
+-78.23 47.296 3011
+-78.104 47.296 2908
+-77.978 47.296 2936
+-77.852 47.296 2989
+-77.726 47.296 2892
+-77.6 47.296 2899
+-77.474 47.296 2809
+-77.348 47.296 2806
+-77.222 47.296 2821
+-77.096 47.296 2795
+-76.97 47.296 2797
+-76.844 47.296 2798
+-76.718 47.296 2740
+-76.592 47.296 2781
+-76.466 47.296 2774
+-76.34 47.296 2764
+-76.214 47.296 2766
+-76.088 47.296 2767
+-75.962 47.296 2769
+-75.836 47.296 2712
+-75.71 47.296 2708
+-75.584 47.296 2709
+-75.458 47.296 2710
+-75.332 47.296 2712
+-75.206 47.296 2709
+-75.08 47.296 2655
+-74.954 47.296 2758
+-74.828 47.296 2755
+-74.702 47.296 2761
+-74.576 47.296 2762
+-74.45 47.296 2763
+-74.324 47.296 2764
+-74.198 47.296 2789
+-74.072 47.296 2768
+-73.946 47.296 2832
+-73.82 47.296 2834
+-73.694 47.296 2825
+-73.568 47.296 2832
+-73.442 47.296 2834
+-73.316 47.296 2835
+-73.19 47.296 2823
+-73.064 47.296 2938
+-72.938 47.296 2940
+-72.812 47.296 2941
+-72.686 47.296 2942
+-72.56 47.296 3042
+-72.434 47.296 2995
+-72.308 47.296 3146
+-72.182 47.296 3146
+-72.056 47.296 3109
+-71.93 47.296 3110
+-71.804 47.296 3110
+-71.678 47.296 3111
+-71.552 47.296 3112
+-71.426 47.296 3112
+-71.3 47.296 3210
+-71.174 47.296 3205
+-71.048 47.296 3205
+-70.922 47.296 3206
+-70.796 47.296 3207
+-70.67 47.296 3149
+-70.544 47.296 3186
+-70.418 47.296 3187
+-70.292 47.296 3264
+-70.166 47.296 3173
+-70.04 47.296 3173
+-69.914 47.296 3174
+-69.788 47.296 3223
+-69.662 47.296 3176
+-69.536 47.296 3177
+-69.41 47.296 3178
+-69.284 47.296 3406
+-69.158 47.296 3350
+-69.032 47.296 3351
+-68.906 47.296 3484
+-68.78 47.296 3456
+-68.654 47.296 3456
+-68.528 47.296 3402
+-68.402 47.296 3474
+-68.276 47.296 3475
+-68.15 47.296 3476
+-68.024 47.296 3476
+-67.898 47.296 3477
+-67.772 47.296 3476
+-67.646 47.296 3477
+-67.52 47.296 3477
+-67.394 47.296 3466
+-67.268 47.296 3413
+-67.142 47.296 3407
+-67.016 47.296 3407
+-66.89 47.296 3408
+-66.764 47.296 3408
+-66.638 47.296 3408
+-66.512 47.296 3409
+-66.386 47.296 3409
+-66.26 47.296 3410
+-66.134 47.296 3410
+-66.008 47.296 3410
+-65.882 47.296 3411
+-65.756 47.296 3411
+-65.63 47.296 3411
+-65.504 47.296 3412
+-65.378 47.296 3412
+-65.252 47.296 3525
+-65.126 47.296 3526
+-128 47.244 4501
+-127.874 47.244 4568
+-127.748 47.244 4655
+-127.622 47.244 4713
+-127.496 47.244 4686
+-127.37 47.244 4816
+-127.244 47.244 4943
+-127.118 47.244 5106
+-126.992 47.244 5252
+-126.866 47.244 5396
+-126.74 47.244 5482
+-126.614 47.244 5574
+-126.488 47.244 5719
+-126.362 47.244 5912
+-126.236 47.244 6074
+-126.11 47.244 6076
+-125.984 47.244 6328
+-125.858 47.244 6406
+-125.732 47.244 6528
+-125.606 47.244 6658
+-125.48 47.244 6797
+-125.354 47.244 6935
+-125.228 47.244 7057
+-125.102 47.244 7217
+-124.976 47.244 7310
+-124.85 47.244 7531
+-124.724 47.244 7668
+-124.598 47.244 7770
+-124.472 47.244 7912
+-124.346 47.244 8050
+-124.22 47.244 8207
+-124.094 47.244 8323
+-123.968 47.244 8511
+-123.842 47.244 8626
+-123.716 47.244 8769
+-123.59 47.244 8913
+-123.464 47.244 9045
+-123.338 47.244 9140
+-123.212 47.244 9230
+-123.086 47.244 9313
+-122.96 47.244 9281
+-122.834 47.244 9282
+-122.708 47.244 9226
+-122.582 47.244 9077
+-122.456 47.244 8984
+-122.33 47.244 8891
+-122.204 47.244 8720
+-122.078 47.244 8588
+-121.952 47.244 8510
+-121.826 47.244 8342
+-121.7 47.244 8188
+-121.574 47.244 8051
+-121.448 47.244 7878
+-121.322 47.244 7747
+-121.196 47.244 7658
+-121.07 47.244 7520
+-120.944 47.244 7356
+-120.818 47.244 7240
+-120.692 47.244 7140
+-120.566 47.244 6985
+-120.44 47.244 6741
+-120.314 47.244 6894
+-120.188 47.244 6982
+-120.062 47.244 7102
+-119.936 47.244 7169
+-119.81 47.244 7302
+-119.684 47.244 7402
+-119.558 47.244 7530
+-119.432 47.244 7627
+-119.306 47.244 7707
+-119.18 47.244 7772
+-119.054 47.244 7864
+-118.928 47.244 7916
+-118.802 47.244 7964
+-118.676 47.244 8033
+-118.55 47.244 8044
+-118.424 47.244 8067
+-118.298 47.244 8078
+-118.172 47.244 8042
+-118.046 47.244 8046
+-117.92 47.244 8018
+-117.794 47.244 7934
+-117.668 47.244 7873
+-117.542 47.244 7764
+-117.416 47.244 7745
+-117.29 47.244 7642
+-117.164 47.244 7490
+-117.038 47.244 7422
+-116.912 47.244 7359
+-116.786 47.244 7269
+-116.66 47.244 7071
+-116.534 47.244 6991
+-116.408 47.244 6858
+-116.282 47.244 6805
+-116.156 47.244 6627
+-116.03 47.244 6553
+-115.904 47.244 6381
+-115.778 47.244 6329
+-115.652 47.244 6204
+-115.526 47.244 5995
+-115.4 47.244 5901
+-115.274 47.244 5793
+-115.148 47.244 5733
+-115.022 47.244 5555
+-114.896 47.244 5430
+-114.77 47.244 5273
+-114.644 47.244 5120
+-114.518 47.244 5004
+-114.392 47.244 4890
+-114.266 47.244 4766
+-114.14 47.244 4704
+-114.014 47.244 4634
+-113.888 47.244 4510
+-113.762 47.244 4381
+-113.636 47.244 4272
+-113.51 47.244 4141
+-113.384 47.244 4160
+-113.258 47.244 4196
+-113.132 47.244 4213
+-113.006 47.244 4223
+-112.88 47.244 4169
+-112.754 47.244 4169
+-112.628 47.244 4165
+-112.502 47.244 4159
+-112.376 47.244 4123
+-112.25 47.244 4078
+-112.124 47.244 4070
+-111.998 47.244 4028
+-111.872 47.244 3970
+-111.746 47.244 3959
+-111.62 47.244 3927
+-111.494 47.244 3903
+-111.368 47.244 3820
+-111.242 47.244 3808
+-111.116 47.244 3772
+-110.99 47.244 3769
+-110.864 47.244 3668
+-110.738 47.244 3662
+-110.612 47.244 3657
+-110.486 47.244 3653
+-110.36 47.244 3505
+-110.234 47.244 3503
+-110.108 47.244 3501
+-109.982 47.244 3499
+-109.856 47.244 3498
+-109.73 47.244 3497
+-109.604 47.244 3496
+-109.478 47.244 3495
+-109.352 47.244 3495
+-109.226 47.244 3495
+-109.1 47.244 3372
+-108.974 47.244 3371
+-108.848 47.244 3371
+-108.722 47.244 3371
+-108.596 47.244 3370
+-108.47 47.244 3370
+-108.344 47.244 3328
+-108.218 47.244 3327
+-108.092 47.244 3326
+-107.966 47.244 3326
+-107.84 47.244 3325
+-107.714 47.244 3325
+-107.588 47.244 3209
+-107.462 47.244 3209
+-107.336 47.244 3208
+-107.21 47.244 3208
+-107.084 47.244 3208
+-106.958 47.244 3207
+-106.832 47.244 3207
+-106.706 47.244 3207
+-106.58 47.244 3207
+-106.454 47.244 3206
+-106.328 47.244 3206
+-106.202 47.244 3206
+-106.076 47.244 3206
+-105.95 47.244 3206
+-105.824 47.244 3206
+-105.698 47.244 3206
+-105.572 47.244 3206
+-105.446 47.244 3223
+-105.32 47.244 3223
+-105.194 47.244 3223
+-105.068 47.244 3223
+-104.942 47.244 3223
+-104.816 47.244 3224
+-104.69 47.244 3224
+-104.564 47.244 3224
+-104.438 47.244 3139
+-104.312 47.244 3139
+-104.186 47.244 3139
+-104.06 47.244 3139
+-103.934 47.244 3139
+-103.808 47.244 3139
+-103.682 47.244 3140
+-103.556 47.244 3140
+-103.43 47.244 3107
+-103.304 47.244 3024
+-103.178 47.244 3021
+-103.052 47.244 2940
+-102.926 47.244 2932
+-102.8 47.244 2926
+-102.674 47.244 2950
+-102.548 47.244 2967
+-102.422 47.244 2973
+-102.296 47.244 3050
+-102.17 47.244 3225
+-102.044 47.244 3192
+-101.918 47.244 3329
+-101.792 47.244 3329
+-101.666 47.244 3420
+-101.54 47.244 3415
+-101.414 47.244 3333
+-101.288 47.244 3474
+-101.162 47.244 3491
+-101.036 47.244 3447
+-100.91 47.244 3447
+-100.784 47.244 3446
+-100.658 47.244 3463
+-100.532 47.244 3410
+-100.406 47.244 3420
+-100.28 47.244 3419
+-100.154 47.244 3414
+-100.028 47.244 3414
+-99.902 47.244 3414
+-99.776 47.244 3414
+-99.65 47.244 3207
+-99.524 47.244 3238
+-99.398 47.244 3237
+-99.272 47.244 3235
+-99.146 47.244 3217
+-99.02 47.244 3267
+-98.894 47.244 3238
+-98.768 47.244 3236
+-98.642 47.244 3215
+-98.516 47.244 3213
+-98.39 47.244 3132
+-98.264 47.244 3171
+-98.138 47.244 3168
+-98.012 47.244 3166
+-97.886 47.244 3163
+-97.76 47.244 3149
+-97.634 47.244 3146
+-97.508 47.244 3143
+-97.382 47.244 3139
+-97.256 47.244 3136
+-97.13 47.244 3056
+-97.004 47.244 3041
+-96.878 47.244 3018
+-96.752 47.244 2966
+-96.626 47.244 2954
+-96.5 47.244 2937
+-96.374 47.244 2932
+-96.248 47.244 2925
+-96.122 47.244 2907
+-95.996 47.244 2887
+-95.87 47.244 2882
+-95.744 47.244 2876
+-95.618 47.244 2870
+-95.492 47.244 2864
+-95.366 47.244 2857
+-95.24 47.244 2851
+-95.114 47.244 2843
+-94.988 47.244 2836
+-94.862 47.244 2828
+-94.736 47.244 2820
+-94.61 47.244 2811
+-94.484 47.244 2802
+-94.358 47.244 2793
+-94.232 47.244 2783
+-94.106 47.244 2772
+-93.98 47.244 2762
+-93.854 47.244 2750
+-93.728 47.244 2644
+-93.602 47.244 2632
+-93.476 47.244 2610
+-93.35 47.244 2597
+-93.224 47.244 2584
+-93.098 47.244 2570
+-92.972 47.244 2556
+-92.846 47.244 2542
+-92.72 47.244 2527
+-92.594 47.244 2512
+-92.468 47.244 2497
+-92.342 47.244 2483
+-92.216 47.244 2468
+-92.09 47.244 2453
+-91.964 47.244 2439
+-91.838 47.244 2426
+-91.712 47.244 2414
+-91.586 47.244 2402
+-91.46 47.244 2392
+-91.334 47.244 2383
+-91.208 47.244 2376
+-91.082 47.244 2370
+-90.956 47.244 2367
+-90.83 47.244 2365
+-90.704 47.244 2365
+-90.578 47.244 2366
+-90.452 47.244 2370
+-90.326 47.244 2375
+-90.2 47.244 2381
+-90.074 47.244 2389
+-89.948 47.244 2367
+-89.822 47.244 2376
+-89.696 47.244 2385
+-89.57 47.244 2395
+-89.444 47.244 2405
+-89.318 47.244 2415
+-89.192 47.244 2425
+-89.066 47.244 2435
+-88.94 47.244 2445
+-88.814 47.244 2454
+-88.688 47.244 2463
+-88.562 47.244 2472
+-88.436 47.244 2480
+-88.31 47.244 2488
+-88.184 47.244 2495
+-88.058 47.244 2502
+-87.932 47.244 2509
+-87.806 47.244 2515
+-87.68 47.244 2520
+-87.554 47.244 2526
+-87.428 47.244 2531
+-87.302 47.244 2536
+-87.176 47.244 2540
+-87.05 47.244 2544
+-86.924 47.244 2548
+-86.798 47.244 2552
+-86.672 47.244 2555
+-86.546 47.244 2558
+-86.42 47.244 2561
+-86.294 47.244 2564
+-86.168 47.244 2567
+-86.042 47.244 2569
+-85.916 47.244 2571
+-85.79 47.244 2574
+-85.664 47.244 2584
+-85.538 47.244 2586
+-85.412 47.244 2588
+-85.286 47.244 2590
+-85.16 47.244 2503
+-85.034 47.244 2503
+-84.908 47.244 2504
+-84.782 47.244 2505
+-84.656 47.244 2505
+-84.53 47.244 2506
+-84.404 47.244 2506
+-84.278 47.244 2507
+-84.152 47.244 2507
+-84.026 47.244 2508
+-83.9 47.244 2513
+-83.774 47.244 2524
+-83.648 47.244 2524
+-83.522 47.244 2525
+-83.396 47.244 2525
+-83.27 47.244 2544
+-83.144 47.244 2545
+-83.018 47.244 2546
+-82.892 47.244 2547
+-82.766 47.244 2551
+-82.64 47.244 2671
+-82.514 47.244 2671
+-82.388 47.244 2672
+-82.262 47.244 2678
+-82.136 47.244 2678
+-82.01 47.244 2680
+-81.884 47.244 2695
+-81.758 47.244 2680
+-81.632 47.244 2692
+-81.506 47.244 2693
+-81.38 47.244 2691
+-81.254 47.244 2692
+-81.128 47.244 2693
+-81.002 47.244 2694
+-80.876 47.244 2696
+-80.75 47.244 2776
+-80.624 47.244 2777
+-80.498 47.244 2778
+-80.372 47.244 2780
+-80.246 47.244 2796
+-80.12 47.244 2797
+-79.994 47.244 2782
+-79.868 47.244 2783
+-79.742 47.244 2785
+-79.616 47.244 2786
+-79.49 47.244 2761
+-79.364 47.244 2770
+-79.238 47.244 2772
+-79.112 47.244 2892
+-78.986 47.244 2856
+-78.86 47.244 2858
+-78.734 47.244 2986
+-78.608 47.244 2983
+-78.482 47.244 2949
+-78.356 47.244 3008
+-78.23 47.244 2905
+-78.104 47.244 2933
+-77.978 47.244 2986
+-77.852 47.244 2889
+-77.726 47.244 2897
+-77.6 47.244 2806
+-77.474 47.244 2803
+-77.348 47.244 2819
+-77.222 47.244 2793
+-77.096 47.244 2794
+-76.97 47.244 2796
+-76.844 47.244 2738
+-76.718 47.244 2779
+-76.592 47.244 2772
+-76.466 47.244 2762
+-76.34 47.244 2764
+-76.214 47.244 2765
+-76.088 47.244 2767
+-75.962 47.244 2711
+-75.836 47.244 2706
+-75.71 47.244 2708
+-75.584 47.244 2709
+-75.458 47.244 2711
+-75.332 47.244 2708
+-75.206 47.244 2654
+-75.08 47.244 2757
+-74.954 47.244 2754
+-74.828 47.244 2760
+-74.702 47.244 2761
+-74.576 47.244 2762
+-74.45 47.244 2763
+-74.324 47.244 2788
+-74.198 47.244 2767
+-74.072 47.244 2831
+-73.946 47.244 2832
+-73.82 47.244 2824
+-73.694 47.244 2831
+-73.568 47.244 2833
+-73.442 47.244 2834
+-73.316 47.244 2822
+-73.19 47.244 2937
+-73.064 47.244 2939
+-72.938 47.244 2940
+-72.812 47.244 2941
+-72.686 47.244 3041
+-72.56 47.244 2995
+-72.434 47.244 3145
+-72.308 47.244 3146
+-72.182 47.244 3109
+-72.056 47.244 3109
+-71.93 47.244 3110
+-71.804 47.244 3111
+-71.678 47.244 3111
+-71.552 47.244 3112
+-71.426 47.244 3209
+-71.3 47.244 3204
+-71.174 47.244 3205
+-71.048 47.244 3205
+-70.922 47.244 3206
+-70.796 47.244 3149
+-70.67 47.244 3185
+-70.544 47.244 3186
+-70.418 47.244 3263
+-70.292 47.244 3172
+-70.166 47.244 3173
+-70.04 47.244 3174
+-69.914 47.244 3222
+-69.788 47.244 3176
+-69.662 47.244 3176
+-69.536 47.244 3177
+-69.41 47.244 3405
+-69.284 47.244 3350
+-69.158 47.244 3351
+-69.032 47.244 3483
+-68.906 47.244 3455
+-68.78 47.244 3456
+-68.654 47.244 3401
+-68.528 47.244 3474
+-68.402 47.244 3475
+-68.276 47.244 3475
+-68.15 47.244 3476
+-68.024 47.244 3476
+-67.898 47.244 3476
+-67.772 47.244 3476
+-67.646 47.244 3477
+-67.52 47.244 3466
+-67.394 47.244 3413
+-67.268 47.244 3406
+-67.142 47.244 3407
+-67.016 47.244 3407
+-66.89 47.244 3408
+-66.764 47.244 3408
+-66.638 47.244 3408
+-66.512 47.244 3409
+-66.386 47.244 3409
+-66.26 47.244 3410
+-66.134 47.244 3410
+-66.008 47.244 3410
+-65.882 47.244 3411
+-65.756 47.244 3411
+-65.63 47.244 3411
+-65.504 47.244 3412
+-65.378 47.244 3525
+-65.252 47.244 3525
+-65.126 47.244 3509
+-128 47.192 4309
+-127.874 47.192 4438
+-127.748 47.192 4528
+-127.622 47.192 4653
+-127.496 47.192 4740
+-127.37 47.192 4820
+-127.244 47.192 4975
+-127.118 47.192 5128
+-126.992 47.192 5273
+-126.866 47.192 5376
+-126.74 47.192 5478
+-126.614 47.192 5563
+-126.488 47.192 5708
+-126.362 47.192 5927
+-126.236 47.192 5951
+-126.11 47.192 6180
+-125.984 47.192 6239
+-125.858 47.192 6383
+-125.732 47.192 6547
+-125.606 47.192 6723
+-125.48 47.192 6803
+-125.354 47.192 7034
+-125.228 47.192 7049
+-125.102 47.192 7224
+-124.976 47.192 7437
+-124.85 47.192 7563
+-124.724 47.192 7724
+-124.598 47.192 7735
+-124.472 47.192 7928
+-124.346 47.192 8123
+-124.22 47.192 8178
+-124.094 47.192 8380
+-123.968 47.192 8479
+-123.842 47.192 8643
+-123.716 47.192 8813
+-123.59 47.192 8912
+-123.464 47.192 8968
+-123.338 47.192 9127
+-123.212 47.192 9235
+-123.086 47.192 9295
+-122.96 47.192 9368
+-122.834 47.192 9283
+-122.708 47.192 9195
+-122.582 47.192 9087
+-122.456 47.192 8981
+-122.33 47.192 8839
+-122.204 47.192 8782
+-122.078 47.192 8544
+-121.952 47.192 8435
+-121.826 47.192 8329
+-121.7 47.192 8201
+-121.574 47.192 8061
+-121.448 47.192 7936
+-121.322 47.192 7801
+-121.196 47.192 7704
+-121.07 47.192 7531
+-120.944 47.192 7385
+-120.818 47.192 7228
+-120.692 47.192 7105
+-120.566 47.192 6970
+-120.44 47.192 6898
+-120.314 47.192 6863
+-120.188 47.192 7017
+-120.062 47.192 7111
+-119.936 47.192 7208
+-119.81 47.192 7338
+-119.684 47.192 7442
+-119.558 47.192 7585
+-119.432 47.192 7613
+-119.306 47.192 7743
+-119.18 47.192 7792
+-119.054 47.192 7917
+-118.928 47.192 7955
+-118.802 47.192 8032
+-118.676 47.192 8050
+-118.55 47.192 8097
+-118.424 47.192 8111
+-118.298 47.192 8106
+-118.172 47.192 8115
+-118.046 47.192 8119
+-117.92 47.192 8027
+-117.794 47.192 7993
+-117.668 47.192 7939
+-117.542 47.192 7851
+-117.416 47.192 7764
+-117.29 47.192 7683
+-117.164 47.192 7543
+-117.038 47.192 7470
+-116.912 47.192 7398
+-116.786 47.192 7310
+-116.66 47.192 7146
+-116.534 47.192 6994
+-116.408 47.192 6901
+-116.282 47.192 6791
+-116.156 47.192 6686
+-116.03 47.192 6586
+-115.904 47.192 6461
+-115.778 47.192 6375
+-115.652 47.192 6253
+-115.526 47.192 6070
+-115.4 47.192 5925
+-115.274 47.192 5816
+-115.148 47.192 5755
+-115.022 47.192 5597
+-114.896 47.192 5448
+-114.77 47.192 5286
+-114.644 47.192 5137
+-114.518 47.192 5046
+-114.392 47.192 4918
+-114.266 47.192 4765
+-114.14 47.192 4632
+-114.014 47.192 4636
+-113.888 47.192 4475
+-113.762 47.192 4325
+-113.636 47.192 4225
+-113.51 47.192 3965
+-113.384 47.192 4103
+-113.258 47.192 4199
+-113.132 47.192 4225
+-113.006 47.192 4245
+-112.88 47.192 4235
+-112.754 47.192 4179
+-112.628 47.192 4177
+-112.502 47.192 4145
+-112.376 47.192 4104
+-112.25 47.192 4097
+-112.124 47.192 4052
+-111.998 47.192 3995
+-111.872 47.192 3985
+-111.746 47.192 3950
+-111.62 47.192 3923
+-111.494 47.192 3919
+-111.368 47.192 3879
+-111.242 47.192 3869
+-111.116 47.192 3788
+-110.99 47.192 3783
+-110.864 47.192 3780
+-110.738 47.192 3680
+-110.612 47.192 3674
+-110.486 47.192 3525
+-110.36 47.192 3522
+-110.234 47.192 3518
+-110.108 47.192 3516
+-109.982 47.192 3513
+-109.856 47.192 3511
+-109.73 47.192 3510
+-109.604 47.192 3508
+-109.478 47.192 3507
+-109.352 47.192 3506
+-109.226 47.192 3505
+-109.1 47.192 3505
+-108.974 47.192 3382
+-108.848 47.192 3381
+-108.722 47.192 3380
+-108.596 47.192 3385
+-108.47 47.192 3336
+-108.344 47.192 3335
+-108.218 47.192 3334
+-108.092 47.192 3332
+-107.966 47.192 3331
+-107.84 47.192 3331
+-107.714 47.192 3330
+-107.588 47.192 3329
+-107.462 47.192 3214
+-107.336 47.192 3214
+-107.21 47.192 3213
+-107.084 47.192 3227
+-106.958 47.192 3227
+-106.832 47.192 3227
+-106.706 47.192 3226
+-106.58 47.192 3226
+-106.454 47.192 3226
+-106.328 47.192 3226
+-106.202 47.192 3226
+-106.076 47.192 3226
+-105.95 47.192 3226
+-105.824 47.192 3226
+-105.698 47.192 3226
+-105.572 47.192 3226
+-105.446 47.192 3226
+-105.32 47.192 3226
+-105.194 47.192 3226
+-105.068 47.192 3226
+-104.942 47.192 3226
+-104.816 47.192 3226
+-104.69 47.192 3226
+-104.564 47.192 3141
+-104.438 47.192 3141
+-104.312 47.192 3141
+-104.186 47.192 3141
+-104.06 47.192 3141
+-103.934 47.192 3142
+-103.808 47.192 3142
+-103.682 47.192 3142
+-103.556 47.192 3110
+-103.43 47.192 3026
+-103.304 47.192 3025
+-103.178 47.192 3022
+-103.052 47.192 2942
+-102.926 47.192 2934
+-102.8 47.192 2927
+-102.674 47.192 2952
+-102.548 47.192 2969
+-102.422 47.192 2975
+-102.296 47.192 3052
+-102.17 47.192 3226
+-102.044 47.192 3232
+-101.918 47.192 3329
+-101.792 47.192 3329
+-101.666 47.192 3450
+-101.54 47.192 3419
+-101.414 47.192 3415
+-101.288 47.192 3332
+-101.162 47.192 3473
+-101.036 47.192 3490
+-100.91 47.192 3447
+-100.784 47.192 3446
+-100.658 47.192 3446
+-100.532 47.192 3462
+-100.406 47.192 3409
+-100.28 47.192 3419
+-100.154 47.192 3414
+-100.028 47.192 3414
+-99.902 47.192 3413
+-99.776 47.192 3413
+-99.65 47.192 3413
+-99.524 47.192 3207
+-99.398 47.192 3238
+-99.272 47.192 3236
+-99.146 47.192 3234
+-99.02 47.192 3216
+-98.894 47.192 3266
+-98.768 47.192 3237
+-98.642 47.192 3235
+-98.516 47.192 3214
+-98.39 47.192 3211
+-98.264 47.192 3131
+-98.138 47.192 3170
+-98.012 47.192 3167
+-97.886 47.192 3164
+-97.76 47.192 3161
+-97.634 47.192 3147
+-97.508 47.192 3144
+-97.382 47.192 3141
+-97.256 47.192 3137
+-97.13 47.192 3133
+-97.004 47.192 3054
+-96.878 47.192 3038
+-96.752 47.192 3016
+-96.626 47.192 2964
+-96.5 47.192 2951
+-96.374 47.192 2934
+-96.248 47.192 2929
+-96.122 47.192 2922
+-95.996 47.192 2903
+-95.87 47.192 2883
+-95.744 47.192 2877
+-95.618 47.192 2871
+-95.492 47.192 2865
+-95.366 47.192 2858
+-95.24 47.192 2851
+-95.114 47.192 2844
+-94.988 47.192 2837
+-94.862 47.192 2828
+-94.736 47.192 2820
+-94.61 47.192 2811
+-94.484 47.192 2802
+-94.358 47.192 2792
+-94.232 47.192 2782
+-94.106 47.192 2771
+-93.98 47.192 2760
+-93.854 47.192 2748
+-93.728 47.192 2735
+-93.602 47.192 2629
+-93.476 47.192 2616
+-93.35 47.192 2593
+-93.224 47.192 2579
+-93.098 47.192 2564
+-92.972 47.192 2549
+-92.846 47.192 2534
+-92.72 47.192 2518
+-92.594 47.192 2502
+-92.468 47.192 2486
+-92.342 47.192 2469
+-92.216 47.192 2453
+-92.09 47.192 2437
+-91.964 47.192 2421
+-91.838 47.192 2407
+-91.712 47.192 2393
+-91.586 47.192 2380
+-91.46 47.192 2368
+-91.334 47.192 2358
+-91.208 47.192 2350
+-91.082 47.192 2344
+-90.956 47.192 2340
+-90.83 47.192 2338
+-90.704 47.192 2338
+-90.578 47.192 2341
+-90.452 47.192 2345
+-90.326 47.192 2351
+-90.2 47.192 2358
+-90.074 47.192 2367
+-89.948 47.192 2347
+-89.822 47.192 2358
+-89.696 47.192 2369
+-89.57 47.192 2380
+-89.444 47.192 2392
+-89.318 47.192 2403
+-89.192 47.192 2414
+-89.066 47.192 2425
+-88.94 47.192 2436
+-88.814 47.192 2446
+-88.688 47.192 2456
+-88.562 47.192 2465
+-88.436 47.192 2474
+-88.31 47.192 2482
+-88.184 47.192 2490
+-88.058 47.192 2498
+-87.932 47.192 2504
+-87.806 47.192 2511
+-87.68 47.192 2517
+-87.554 47.192 2523
+-87.428 47.192 2528
+-87.302 47.192 2533
+-87.176 47.192 2537
+-87.05 47.192 2542
+-86.924 47.192 2546
+-86.798 47.192 2549
+-86.672 47.192 2553
+-86.546 47.192 2556
+-86.42 47.192 2559
+-86.294 47.192 2562
+-86.168 47.192 2565
+-86.042 47.192 2567
+-85.916 47.192 2569
+-85.79 47.192 2580
+-85.664 47.192 2582
+-85.538 47.192 2584
+-85.412 47.192 2586
+-85.286 47.192 2500
+-85.16 47.192 2501
+-85.034 47.192 2502
+-84.908 47.192 2502
+-84.782 47.192 2503
+-84.656 47.192 2503
+-84.53 47.192 2504
+-84.404 47.192 2504
+-84.278 47.192 2505
+-84.152 47.192 2505
+-84.026 47.192 2511
+-83.9 47.192 2521
+-83.774 47.192 2522
+-83.648 47.192 2522
+-83.522 47.192 2523
+-83.396 47.192 2542
+-83.27 47.192 2543
+-83.144 47.192 2543
+-83.018 47.192 2544
+-82.892 47.192 2549
+-82.766 47.192 2668
+-82.64 47.192 2668
+-82.514 47.192 2669
+-82.388 47.192 2674
+-82.262 47.192 2675
+-82.136 47.192 2677
+-82.01 47.192 2692
+-81.884 47.192 2677
+-81.758 47.192 2689
+-81.632 47.192 2690
+-81.506 47.192 2688
+-81.38 47.192 2689
+-81.254 47.192 2690
+-81.128 47.192 2691
+-81.002 47.192 2693
+-80.876 47.192 2773
+-80.75 47.192 2774
+-80.624 47.192 2775
+-80.498 47.192 2776
+-80.372 47.192 2792
+-80.246 47.192 2794
+-80.12 47.192 2779
+-79.994 47.192 2780
+-79.868 47.192 2782
+-79.742 47.192 2783
+-79.616 47.192 2758
+-79.49 47.192 2768
+-79.364 47.192 2769
+-79.238 47.192 2889
+-79.112 47.192 2854
+-78.986 47.192 2855
+-78.86 47.192 2982
+-78.734 47.192 2980
+-78.608 47.192 2946
+-78.482 47.192 3004
+-78.356 47.192 2902
+-78.23 47.192 2930
+-78.104 47.192 2983
+-77.978 47.192 2887
+-77.852 47.192 2894
+-77.726 47.192 2804
+-77.6 47.192 2801
+-77.474 47.192 2817
+-77.348 47.192 2791
+-77.222 47.192 2792
+-77.096 47.192 2794
+-76.97 47.192 2736
+-76.844 47.192 2777
+-76.718 47.192 2770
+-76.592 47.192 2760
+-76.466 47.192 2762
+-76.34 47.192 2764
+-76.214 47.192 2765
+-76.088 47.192 2709
+-75.962 47.192 2705
+-75.836 47.192 2707
+-75.71 47.192 2708
+-75.584 47.192 2709
+-75.458 47.192 2706
+-75.332 47.192 2653
+-75.206 47.192 2756
+-75.08 47.192 2753
+-74.954 47.192 2759
+-74.828 47.192 2760
+-74.702 47.192 2761
+-74.576 47.192 2762
+-74.45 47.192 2787
+-74.324 47.192 2766
+-74.198 47.192 2830
+-74.072 47.192 2831
+-73.946 47.192 2823
+-73.82 47.192 2830
+-73.694 47.192 2832
+-73.568 47.192 2833
+-73.442 47.192 2821
+-73.316 47.192 2936
+-73.19 47.192 2938
+-73.064 47.192 2939
+-72.938 47.192 2940
+-72.812 47.192 3040
+-72.686 47.192 2994
+-72.56 47.192 3144
+-72.434 47.192 3145
+-72.308 47.192 3108
+-72.182 47.192 3109
+-72.056 47.192 3109
+-71.93 47.192 3110
+-71.804 47.192 3111
+-71.678 47.192 3111
+-71.552 47.192 3208
+-71.426 47.192 3203
+-71.3 47.192 3204
+-71.174 47.192 3205
+-71.048 47.192 3206
+-70.922 47.192 3148
+-70.796 47.192 3185
+-70.67 47.192 3185
+-70.544 47.192 3263
+-70.418 47.192 3171
+-70.292 47.192 3172
+-70.166 47.192 3173
+-70.04 47.192 3222
+-69.914 47.192 3175
+-69.788 47.192 3176
+-69.662 47.192 3177
+-69.536 47.192 3405
+-69.41 47.192 3350
+-69.284 47.192 3350
+-69.158 47.192 3483
+-69.032 47.192 3455
+-68.906 47.192 3455
+-68.78 47.192 3401
+-68.654 47.192 3473
+-68.528 47.192 3475
+-68.402 47.192 3475
+-68.276 47.192 3475
+-68.15 47.192 3476
+-68.024 47.192 3476
+-67.898 47.192 3476
+-67.772 47.192 3476
+-67.646 47.192 3466
+-67.52 47.192 3412
+-67.394 47.192 3406
+-67.268 47.192 3407
+-67.142 47.192 3407
+-67.016 47.192 3407
+-66.89 47.192 3408
+-66.764 47.192 3408
+-66.638 47.192 3409
+-66.512 47.192 3409
+-66.386 47.192 3409
+-66.26 47.192 3410
+-66.134 47.192 3410
+-66.008 47.192 3410
+-65.882 47.192 3411
+-65.756 47.192 3411
+-65.63 47.192 3412
+-65.504 47.192 3525
+-65.378 47.192 3525
+-65.252 47.192 3509
+-65.126 47.192 3509
+-128 47.14 4105
+-127.874 47.14 4370
+-127.748 47.14 4395
+-127.622 47.14 4569
+-127.496 47.14 4674
+-127.37 47.14 4795
+-127.244 47.14 4981
+-127.118 47.14 5130
+-126.992 47.14 5282
+-126.866 47.14 5284
+-126.74 47.14 5437
+-126.614 47.14 5558
+-126.488 47.14 5711
+-126.362 47.14 5908
+-126.236 47.14 6071
+-126.11 47.14 6153
+-125.984 47.14 6307
+-125.858 47.14 6393
+-125.732 47.14 6532
+-125.606 47.14 6728
+-125.48 47.14 6822
+-125.354 47.14 6906
+-125.228 47.14 7042
+-125.102 47.14 7219
+-124.976 47.14 7426
+-124.85 47.14 7534
+-124.724 47.14 7651
+-124.598 47.14 7792
+-124.472 47.14 7904
+-124.346 47.14 8027
+-124.22 47.14 8226
+-124.094 47.14 8363
+-123.968 47.14 8504
+-123.842 47.14 8626
+-123.716 47.14 8767
+-123.59 47.14 8851
+-123.464 47.14 8998
+-123.338 47.14 9204
+-123.212 47.14 9290
+-123.086 47.14 9406
+-122.96 47.14 9425
+-122.834 47.14 9335
+-122.708 47.14 9296
+-122.582 47.14 9156
+-122.456 47.14 9012
+-122.33 47.14 8893
+-122.204 47.14 8748
+-122.078 47.14 8658
+-121.952 47.14 8528
+-121.826 47.14 8409
+-121.7 47.14 8246
+-121.574 47.14 8053
+-121.448 47.14 7886
+-121.322 47.14 7748
+-121.196 47.14 7624
+-121.07 47.14 7566
+-120.944 47.14 7384
+-120.818 47.14 7247
+-120.692 47.14 7160
+-120.566 47.14 6730
+-120.44 47.14 6779
+-120.314 47.14 6958
+-120.188 47.14 7031
+-120.062 47.14 7117
+-119.936 47.14 7268
+-119.81 47.14 7350
+-119.684 47.14 7476
+-119.558 47.14 7584
+-119.432 47.14 7681
+-119.306 47.14 7777
+-119.18 47.14 7904
+-119.054 47.14 7924
+-118.928 47.14 8005
+-118.802 47.14 8110
+-118.676 47.14 8130
+-118.55 47.14 8154
+-118.424 47.14 8194
+-118.298 47.14 8177
+-118.172 47.14 8158
+-118.046 47.14 8115
+-117.92 47.14 8079
+-117.794 47.14 8031
+-117.668 47.14 7968
+-117.542 47.14 7833
+-117.416 47.14 7812
+-117.29 47.14 7732
+-117.164 47.14 7597
+-117.038 47.14 7466
+-116.912 47.14 7409
+-116.786 47.14 7268
+-116.66 47.14 7203
+-116.534 47.14 7043
+-116.408 47.14 6908
+-116.282 47.14 6869
+-116.156 47.14 6738
+-116.03 47.14 6563
+-115.904 47.14 6438
+-115.778 47.14 6404
+-115.652 47.14 6297
+-115.526 47.14 6159
+-115.4 47.14 6005
+-115.274 47.14 5858
+-115.148 47.14 5729
+-115.022 47.14 5581
+-114.896 47.14 5468
+-114.77 47.14 5335
+-114.644 47.14 5165
+-114.518 47.14 5115
+-114.392 47.14 4945
+-114.266 47.14 4814
+-114.14 47.14 4612
+-114.014 47.14 4643
+-113.888 47.14 4504
+-113.762 47.14 4375
+-113.636 47.14 4265
+-113.51 47.14 4140
+-113.384 47.14 4166
+-113.258 47.14 4207
+-113.132 47.14 4229
+-113.006 47.14 4232
+-112.88 47.14 4244
+-112.754 47.14 4256
+-112.628 47.14 4154
+-112.502 47.14 4125
+-112.376 47.14 4120
+-112.25 47.14 4073
+-112.124 47.14 4020
+-111.998 47.14 4008
+-111.872 47.14 3971
+-111.746 47.14 3942
+-111.62 47.14 3937
+-111.494 47.14 3893
+-111.368 47.14 3882
+-111.242 47.14 3878
+-111.116 47.14 3875
+-110.99 47.14 3796
+-110.864 47.14 3792
+-110.738 47.14 3788
+-110.612 47.14 3690
+-110.486 47.14 3541
+-110.36 47.14 3536
+-110.234 47.14 3533
+-110.108 47.14 3529
+-109.982 47.14 3526
+-109.856 47.14 3524
+-109.73 47.14 3522
+-109.604 47.14 3520
+-109.478 47.14 3518
+-109.352 47.14 3517
+-109.226 47.14 3515
+-109.1 47.14 3490
+-108.974 47.14 3489
+-108.848 47.14 3390
+-108.722 47.14 3394
+-108.596 47.14 3345
+-108.47 47.14 3343
+-108.344 47.14 3341
+-108.218 47.14 3340
+-108.092 47.14 3338
+-107.966 47.14 3337
+-107.84 47.14 3336
+-107.714 47.14 3335
+-107.588 47.14 3334
+-107.462 47.14 3333
+-107.336 47.14 3219
+-107.21 47.14 3232
+-107.084 47.14 3232
+-106.958 47.14 3231
+-106.832 47.14 3231
+-106.706 47.14 3230
+-106.58 47.14 3230
+-106.454 47.14 3230
+-106.328 47.14 3229
+-106.202 47.14 3229
+-106.076 47.14 3229
+-105.95 47.14 3229
+-105.824 47.14 3229
+-105.698 47.14 3228
+-105.572 47.14 3228
+-105.446 47.14 3228
+-105.32 47.14 3228
+-105.194 47.14 3228
+-105.068 47.14 3228
+-104.942 47.14 3228
+-104.816 47.14 3228
+-104.69 47.14 3144
+-104.564 47.14 3144
+-104.438 47.14 3144
+-104.312 47.14 3144
+-104.186 47.14 3144
+-104.06 47.14 3144
+-103.934 47.14 3144
+-103.808 47.14 3144
+-103.682 47.14 3113
+-103.556 47.14 3112
+-103.43 47.14 3027
+-103.304 47.14 3026
+-103.178 47.14 3023
+-103.052 47.14 2943
+-102.926 47.14 2935
+-102.8 47.14 2881
+-102.674 47.14 2973
+-102.548 47.14 2971
+-102.422 47.14 3045
+-102.296 47.14 3119
+-102.17 47.14 3219
+-102.044 47.14 3234
+-101.918 47.14 3329
+-101.792 47.14 3452
+-101.666 47.14 3449
+-101.54 47.14 3449
+-101.414 47.14 3418
+-101.288 47.14 3414
+-101.162 47.14 3332
+-101.036 47.14 3473
+-100.91 47.14 3489
+-100.784 47.14 3446
+-100.658 47.14 3446
+-100.532 47.14 3445
+-100.406 47.14 3461
+-100.28 47.14 3409
+-100.154 47.14 3418
+-100.028 47.14 3418
+-99.902 47.14 3413
+-99.776 47.14 3413
+-99.65 47.14 3412
+-99.524 47.14 3412
+-99.398 47.14 3206
+-99.272 47.14 3237
+-99.146 47.14 3235
+-99.02 47.14 3233
+-98.894 47.14 3215
+-98.768 47.14 3265
+-98.642 47.14 3236
+-98.516 47.14 3233
+-98.39 47.14 3213
+-98.264 47.14 3210
+-98.138 47.14 3130
+-98.012 47.14 3168
+-97.886 47.14 3165
+-97.76 47.14 3162
+-97.634 47.14 3159
+-97.508 47.14 3145
+-97.382 47.14 3142
+-97.256 47.14 3138
+-97.13 47.14 3135
+-97.004 47.14 3131
+-96.878 47.14 3052
+-96.752 47.14 3036
+-96.626 47.14 3013
+-96.5 47.14 2961
+-96.374 47.14 2948
+-96.248 47.14 2931
+-96.122 47.14 2925
+-95.996 47.14 2918
+-95.87 47.14 2899
+-95.744 47.14 2879
+-95.618 47.14 2873
+-95.492 47.14 2866
+-95.366 47.14 2860
+-95.24 47.14 2853
+-95.114 47.14 2845
+-94.988 47.14 2837
+-94.862 47.14 2829
+-94.736 47.14 2820
+-94.61 47.14 2811
+-94.484 47.14 2802
+-94.358 47.14 2792
+-94.232 47.14 2781
+-94.106 47.14 2770
+-93.98 47.14 2758
+-93.854 47.14 2746
+-93.728 47.14 2733
+-93.602 47.14 2719
+-93.476 47.14 2613
+-93.35 47.14 2598
+-93.224 47.14 2574
+-93.098 47.14 2559
+-92.972 47.14 2542
+-92.846 47.14 2526
+-92.72 47.14 2509
+-92.594 47.14 2491
+-92.468 47.14 2473
+-92.342 47.14 2455
+-92.216 47.14 2437
+-92.09 47.14 2420
+-91.964 47.14 2402
+-91.838 47.14 2386
+-91.712 47.14 2370
+-91.586 47.14 2355
+-91.46 47.14 2343
+-91.334 47.14 2331
+-91.208 47.14 2322
+-91.082 47.14 2315
+-90.956 47.14 2311
+-90.83 47.14 2309
+-90.704 47.14 2309
+-90.578 47.14 2312
+-90.452 47.14 2317
+-90.326 47.14 2324
+-90.2 47.14 2333
+-90.074 47.14 2344
+-89.948 47.14 2326
+-89.822 47.14 2339
+-89.696 47.14 2351
+-89.57 47.14 2364
+-89.444 47.14 2377
+-89.318 47.14 2390
+-89.192 47.14 2403
+-89.066 47.14 2415
+-88.94 47.14 2427
+-88.814 47.14 2438
+-88.688 47.14 2449
+-88.562 47.14 2459
+-88.436 47.14 2468
+-88.31 47.14 2477
+-88.184 47.14 2485
+-88.058 47.14 2493
+-87.932 47.14 2500
+-87.806 47.14 2507
+-87.68 47.14 2513
+-87.554 47.14 2519
+-87.428 47.14 2525
+-87.302 47.14 2530
+-87.176 47.14 2535
+-87.05 47.14 2539
+-86.924 47.14 2543
+-86.798 47.14 2547
+-86.672 47.14 2550
+-86.546 47.14 2554
+-86.42 47.14 2557
+-86.294 47.14 2560
+-86.168 47.14 2562
+-86.042 47.14 2565
+-85.916 47.14 2575
+-85.79 47.14 2578
+-85.664 47.14 2580
+-85.538 47.14 2582
+-85.412 47.14 2498
+-85.286 47.14 2498
+-85.16 47.14 2499
+-85.034 47.14 2500
+-84.908 47.14 2500
+-84.782 47.14 2501
+-84.656 47.14 2501
+-84.53 47.14 2502
+-84.404 47.14 2502
+-84.278 47.14 2503
+-84.152 47.14 2508
+-84.026 47.14 2519
+-83.9 47.14 2519
+-83.774 47.14 2520
+-83.648 47.14 2520
+-83.522 47.14 2539
+-83.396 47.14 2540
+-83.27 47.14 2541
+-83.144 47.14 2542
+-83.018 47.14 2546
+-82.892 47.14 2665
+-82.766 47.14 2665
+-82.64 47.14 2665
+-82.514 47.14 2671
+-82.388 47.14 2672
+-82.262 47.14 2674
+-82.136 47.14 2688
+-82.01 47.14 2674
+-81.884 47.14 2686
+-81.758 47.14 2687
+-81.632 47.14 2685
+-81.506 47.14 2686
+-81.38 47.14 2687
+-81.254 47.14 2688
+-81.128 47.14 2690
+-81.002 47.14 2769
+-80.876 47.14 2771
+-80.75 47.14 2772
+-80.624 47.14 2773
+-80.498 47.14 2789
+-80.372 47.14 2790
+-80.246 47.14 2776
+-80.12 47.14 2777
+-79.994 47.14 2779
+-79.868 47.14 2780
+-79.742 47.14 2755
+-79.616 47.14 2765
+-79.49 47.14 2766
+-79.364 47.14 2886
+-79.238 47.14 2851
+-79.112 47.14 2852
+-78.986 47.14 2979
+-78.86 47.14 2977
+-78.734 47.14 2943
+-78.608 47.14 3001
+-78.482 47.14 2899
+-78.356 47.14 2927
+-78.23 47.14 2979
+-78.104 47.14 2884
+-77.978 47.14 2891
+-77.852 47.14 2802
+-77.726 47.14 2799
+-77.6 47.14 2814
+-77.474 47.14 2789
+-77.348 47.14 2790
+-77.222 47.14 2792
+-77.096 47.14 2735
+-76.97 47.14 2775
+-76.844 47.14 2768
+-76.718 47.14 2759
+-76.592 47.14 2760
+-76.466 47.14 2762
+-76.34 47.14 2764
+-76.214 47.14 2708
+-76.088 47.14 2704
+-75.962 47.14 2705
+-75.836 47.14 2707
+-75.71 47.14 2708
+-75.584 47.14 2705
+-75.458 47.14 2652
+-75.332 47.14 2755
+-75.206 47.14 2751
+-75.08 47.14 2758
+-74.954 47.14 2759
+-74.828 47.14 2760
+-74.702 47.14 2761
+-74.576 47.14 2786
+-74.45 47.14 2765
+-74.324 47.14 2829
+-74.198 47.14 2830
+-74.072 47.14 2822
+-73.946 47.14 2829
+-73.82 47.14 2831
+-73.694 47.14 2832
+-73.568 47.14 2820
+-73.442 47.14 2935
+-73.316 47.14 2937
+-73.19 47.14 2938
+-73.064 47.14 2939
+-72.938 47.14 3039
+-72.812 47.14 2993
+-72.686 47.14 3143
+-72.56 47.14 3144
+-72.434 47.14 3107
+-72.308 47.14 3108
+-72.182 47.14 3109
+-72.056 47.14 3109
+-71.93 47.14 3110
+-71.804 47.14 3111
+-71.678 47.14 3207
+-71.552 47.14 3202
+-71.426 47.14 3203
+-71.3 47.14 3204
+-71.174 47.14 3205
+-71.048 47.14 3148
+-70.922 47.14 3184
+-70.796 47.14 3185
+-70.67 47.14 3262
+-70.544 47.14 3171
+-70.418 47.14 3171
+-70.292 47.14 3172
+-70.166 47.14 3221
+-70.04 47.14 3174
+-69.914 47.14 3175
+-69.788 47.14 3176
+-69.662 47.14 3404
+-69.536 47.14 3349
+-69.41 47.14 3350
+-69.284 47.14 3482
+-69.158 47.14 3454
+-69.032 47.14 3455
+-68.906 47.14 3400
+-68.78 47.14 3473
+-68.654 47.14 3474
+-68.528 47.14 3475
+-68.402 47.14 3475
+-68.276 47.14 3475
+-68.15 47.14 3475
+-68.024 47.14 3476
+-67.898 47.14 3476
+-67.772 47.14 3465
+-67.646 47.14 3412
+-67.52 47.14 3406
+-67.394 47.14 3406
+-67.268 47.14 3407
+-67.142 47.14 3407
+-67.016 47.14 3407
+-66.89 47.14 3408
+-66.764 47.14 3408
+-66.638 47.14 3409
+-66.512 47.14 3409
+-66.386 47.14 3409
+-66.26 47.14 3410
+-66.134 47.14 3410
+-66.008 47.14 3411
+-65.882 47.14 3411
+-65.756 47.14 3411
+-65.63 47.14 3525
+-65.504 47.14 3525
+-65.378 47.14 3509
+-65.252 47.14 3509
+-65.126 47.14 3509
+-128 47.088 4317
+-127.874 47.088 4442
+-127.748 47.088 4522
+-127.622 47.088 4541
+-127.496 47.088 4596
+-127.37 47.088 4741
+-127.244 47.088 4984
+-127.118 47.088 5128
+-126.992 47.088 5244
+-126.866 47.088 5387
+-126.74 47.088 5524
+-126.614 47.088 5605
+-126.488 47.088 5707
+-126.362 47.088 5894
+-126.236 47.088 6077
+-126.11 47.088 6232
+-125.984 47.088 6221
+-125.858 47.088 6402
+-125.732 47.088 6561
+-125.606 47.088 6741
+-125.48 47.088 6866
+-125.354 47.088 7034
+-125.228 47.088 7088
+-125.102 47.088 7206
+-124.976 47.088 7406
+-124.85 47.088 7572
+-124.724 47.088 7667
+-124.598 47.088 7809
+-124.472 47.088 7954
+-124.346 47.088 8089
+-124.22 47.088 8289
+-124.094 47.088 8339
+-123.968 47.088 8513
+-123.842 47.088 8697
+-123.716 47.088 8808
+-123.59 47.088 8906
+-123.464 47.088 9003
+-123.338 47.088 9199
+-123.212 47.088 9268
+-123.086 47.088 9343
+-122.96 47.088 9404
+-122.834 47.088 9429
+-122.708 47.088 9260
+-122.582 47.088 9125
+-122.456 47.088 9109
+-122.33 47.088 8904
+-122.204 47.088 8766
+-122.078 47.088 8669
+-121.952 47.088 8531
+-121.826 47.088 8416
+-121.7 47.088 8212
+-121.574 47.088 8061
+-121.448 47.088 7900
+-121.322 47.088 7754
+-121.196 47.088 7619
+-121.07 47.088 7513
+-120.944 47.088 7393
+-120.818 47.088 7213
+-120.692 47.088 7082
+-120.566 47.088 7011
+-120.44 47.088 6933
+-120.314 47.088 6981
+-120.188 47.088 7054
+-120.062 47.088 7173
+-119.936 47.088 7307
+-119.81 47.088 7417
+-119.684 47.088 7538
+-119.558 47.088 7619
+-119.432 47.088 7734
+-119.306 47.088 7804
+-119.18 47.088 7912
+-119.054 47.088 7984
+-118.928 47.088 8091
+-118.802 47.088 8134
+-118.676 47.088 8182
+-118.55 47.088 8183
+-118.424 47.088 8239
+-118.298 47.088 8208
+-118.172 47.088 8214
+-118.046 47.088 8184
+-117.92 47.088 8154
+-117.794 47.088 8102
+-117.668 47.088 7998
+-117.542 47.088 7915
+-117.416 47.088 7812
+-117.29 47.088 7760
+-117.164 47.088 7658
+-117.038 47.088 7511
+-116.912 47.088 7386
+-116.786 47.088 7345
+-116.66 47.088 7159
+-116.534 47.088 7023
+-116.408 47.088 7029
+-116.282 47.088 6862
+-116.156 47.088 6787
+-116.03 47.088 6591
+-115.904 47.088 6446
+-115.778 47.088 6363
+-115.652 47.088 6237
+-115.526 47.088 6219
+-115.4 47.088 6073
+-115.274 47.088 5885
+-115.148 47.088 5727
+-115.022 47.088 5546
+-114.896 47.088 5499
+-114.77 47.088 5369
+-114.644 47.088 5225
+-114.518 47.088 5072
+-114.392 47.088 4949
+-114.266 47.088 4864
+-114.14 47.088 4744
+-114.014 47.088 4682
+-113.888 47.088 4529
+-113.762 47.088 4364
+-113.636 47.088 4259
+-113.51 47.088 4238
+-113.384 47.088 4226
+-113.258 47.088 4223
+-113.132 47.088 4218
+-113.006 47.088 4228
+-112.88 47.088 4240
+-112.754 47.088 4216
+-112.628 47.088 4224
+-112.502 47.088 4136
+-112.376 47.088 4098
+-112.25 47.088 4038
+-112.124 47.088 4027
+-111.998 47.088 3989
+-111.872 47.088 3959
+-111.746 47.088 3952
+-111.62 47.088 3907
+-111.494 47.088 3894
+-111.368 47.088 3889
+-111.242 47.088 3885
+-111.116 47.088 3882
+-110.99 47.088 3879
+-110.864 47.088 3801
+-110.738 47.088 3797
+-110.612 47.088 3744
+-110.486 47.088 3740
+-110.36 47.088 3550
+-110.234 47.088 3546
+-110.108 47.088 3542
+-109.982 47.088 3538
+-109.856 47.088 3535
+-109.73 47.088 3533
+-109.604 47.088 3508
+-109.478 47.088 3505
+-109.352 47.088 3503
+-109.226 47.088 3501
+-109.1 47.088 3499
+-108.974 47.088 3497
+-108.848 47.088 3404
+-108.722 47.088 3353
+-108.596 47.088 3351
+-108.47 47.088 3362
+-108.344 47.088 3361
+-108.218 47.088 3359
+-108.092 47.088 3357
+-107.966 47.088 3356
+-107.84 47.088 3355
+-107.714 47.088 3354
+-107.588 47.088 3353
+-107.462 47.088 3352
+-107.336 47.088 3238
+-107.21 47.088 3237
+-107.084 47.088 3236
+-106.958 47.088 3235
+-106.832 47.088 3235
+-106.706 47.088 3234
+-106.58 47.088 3234
+-106.454 47.088 3233
+-106.328 47.088 3233
+-106.202 47.088 3232
+-106.076 47.088 3232
+-105.95 47.088 3232
+-105.824 47.088 3231
+-105.698 47.088 3231
+-105.572 47.088 3231
+-105.446 47.088 3231
+-105.32 47.088 3231
+-105.194 47.088 3230
+-105.068 47.088 3230
+-104.942 47.088 3230
+-104.816 47.088 3147
+-104.69 47.088 3146
+-104.564 47.088 3146
+-104.438 47.088 3146
+-104.312 47.088 3146
+-104.186 47.088 3146
+-104.06 47.088 3146
+-103.934 47.088 3146
+-103.808 47.088 3116
+-103.682 47.088 3115
+-103.556 47.088 3113
+-103.43 47.088 3029
+-103.304 47.088 3027
+-103.178 47.088 2985
+-103.052 47.088 2894
+-102.926 47.088 2880
+-102.8 47.088 2940
+-102.674 47.088 2906
+-102.548 47.088 2910
+-102.422 47.088 2973
+-102.296 47.088 3041
+-102.17 47.088 3131
+-102.044 47.088 3226
+-101.918 47.088 3319
+-101.792 47.088 3451
+-101.666 47.088 3451
+-101.54 47.088 3449
+-101.414 47.088 3448
+-101.288 47.088 3417
+-101.162 47.088 3413
+-101.036 47.088 3331
+-100.91 47.088 3472
+-100.784 47.088 3489
+-100.658 47.088 3445
+-100.532 47.088 3445
+-100.406 47.088 3445
+-100.28 47.088 3461
+-100.154 47.088 3408
+-100.028 47.088 3418
+-99.902 47.088 3413
+-99.776 47.088 3412
+-99.65 47.088 3412
+-99.524 47.088 3412
+-99.398 47.088 3412
+-99.272 47.088 3206
+-99.146 47.088 3236
+-99.02 47.088 3234
+-98.894 47.088 3232
+-98.768 47.088 3214
+-98.642 47.088 3264
+-98.516 47.088 3235
+-98.39 47.088 3232
+-98.264 47.088 3211
+-98.138 47.088 3209
+-98.012 47.088 3129
+-97.886 47.088 3167
+-97.76 47.088 3164
+-97.634 47.088 3160
+-97.508 47.088 3157
+-97.382 47.088 3143
+-97.256 47.088 3140
+-97.13 47.088 3136
+-97.004 47.088 3132
+-96.878 47.088 3128
+-96.752 47.088 3049
+-96.626 47.088 3033
+-96.5 47.088 3010
+-96.374 47.088 2959
+-96.248 47.088 2946
+-96.122 47.088 2927
+-95.996 47.088 2922
+-95.87 47.088 2914
+-95.744 47.088 2895
+-95.618 47.088 2874
+-95.492 47.088 2868
+-95.366 47.088 2861
+-95.24 47.088 2854
+-95.114 47.088 2846
+-94.988 47.088 2838
+-94.862 47.088 2830
+-94.736 47.088 2821
+-94.61 47.088 2812
+-94.484 47.088 2802
+-94.358 47.088 2792
+-94.232 47.088 2781
+-94.106 47.088 2769
+-93.98 47.088 2757
+-93.854 47.088 2744
+-93.728 47.088 2730
+-93.602 47.088 2716
+-93.476 47.088 2701
+-93.35 47.088 2594
+-93.224 47.088 2578
+-93.098 47.088 2553
+-92.972 47.088 2536
+-92.846 47.088 2518
+-92.72 47.088 2499
+-92.594 47.088 2480
+-92.468 47.088 2461
+-92.342 47.088 2441
+-92.216 47.088 2421
+-92.09 47.088 2401
+-91.964 47.088 2382
+-91.838 47.088 2363
+-91.712 47.088 2345
+-91.586 47.088 2329
+-91.46 47.088 2314
+-91.334 47.088 2302
+-91.208 47.088 2291
+-91.082 47.088 2283
+-90.956 47.088 2278
+-90.83 47.088 2276
+-90.704 47.088 2277
+-90.578 47.088 2281
+-90.452 47.088 2287
+-90.326 47.088 2296
+-90.2 47.088 2306
+-90.074 47.088 2318
+-89.948 47.088 2304
+-89.822 47.088 2318
+-89.696 47.088 2333
+-89.57 47.088 2348
+-89.444 47.088 2362
+-89.318 47.088 2377
+-89.192 47.088 2391
+-89.066 47.088 2404
+-88.94 47.088 2417
+-88.814 47.088 2430
+-88.688 47.088 2441
+-88.562 47.088 2452
+-88.436 47.088 2462
+-88.31 47.088 2472
+-88.184 47.088 2481
+-88.058 47.088 2489
+-87.932 47.088 2496
+-87.806 47.088 2504
+-87.68 47.088 2510
+-87.554 47.088 2516
+-87.428 47.088 2522
+-87.302 47.088 2527
+-87.176 47.088 2532
+-87.05 47.088 2537
+-86.924 47.088 2541
+-86.798 47.088 2545
+-86.672 47.088 2548
+-86.546 47.088 2552
+-86.42 47.088 2555
+-86.294 47.088 2558
+-86.168 47.088 2560
+-86.042 47.088 2571
+-85.916 47.088 2573
+-85.79 47.088 2575
+-85.664 47.088 2578
+-85.538 47.088 2495
+-85.412 47.088 2496
+-85.286 47.088 2497
+-85.16 47.088 2497
+-85.034 47.088 2498
+-84.908 47.088 2498
+-84.782 47.088 2499
+-84.656 47.088 2499
+-84.53 47.088 2500
+-84.404 47.088 2500
+-84.278 47.088 2506
+-84.152 47.088 2516
+-84.026 47.088 2517
+-83.9 47.088 2517
+-83.774 47.088 2518
+-83.648 47.088 2537
+-83.522 47.088 2538
+-83.396 47.088 2538
+-83.27 47.088 2539
+-83.144 47.088 2544
+-83.018 47.088 2662
+-82.892 47.088 2662
+-82.766 47.088 2662
+-82.64 47.088 2668
+-82.514 47.088 2668
+-82.388 47.088 2671
+-82.262 47.088 2685
+-82.136 47.088 2671
+-82.01 47.088 2682
+-81.884 47.088 2683
+-81.758 47.088 2682
+-81.632 47.088 2683
+-81.506 47.088 2684
+-81.38 47.088 2685
+-81.254 47.088 2687
+-81.128 47.088 2766
+-81.002 47.088 2767
+-80.876 47.088 2768
+-80.75 47.088 2770
+-80.624 47.088 2785
+-80.498 47.088 2787
+-80.372 47.088 2772
+-80.246 47.088 2774
+-80.12 47.088 2775
+-79.994 47.088 2777
+-79.868 47.088 2753
+-79.742 47.088 2762
+-79.616 47.088 2763
+-79.49 47.088 2883
+-79.364 47.088 2848
+-79.238 47.088 2849
+-79.112 47.088 2975
+-78.986 47.088 2973
+-78.86 47.088 2939
+-78.734 47.088 2997
+-78.608 47.088 2896
+-78.482 47.088 2924
+-78.356 47.088 2976
+-78.23 47.088 2881
+-78.104 47.088 2888
+-77.978 47.088 2799
+-77.852 47.088 2796
+-77.726 47.088 2812
+-77.6 47.088 2786
+-77.474 47.088 2788
+-77.348 47.088 2790
+-77.222 47.088 2733
+-77.096 47.088 2773
+-76.97 47.088 2766
+-76.844 47.088 2757
+-76.718 47.088 2758
+-76.592 47.088 2760
+-76.466 47.088 2762
+-76.34 47.088 2706
+-76.214 47.088 2702
+-76.088 47.088 2704
+-75.962 47.088 2705
+-75.836 47.088 2707
+-75.71 47.088 2704
+-75.584 47.088 2651
+-75.458 47.088 2754
+-75.332 47.088 2750
+-75.206 47.088 2757
+-75.08 47.088 2758
+-74.954 47.088 2759
+-74.828 47.088 2760
+-74.702 47.088 2785
+-74.576 47.088 2764
+-74.45 47.088 2828
+-74.324 47.088 2829
+-74.198 47.088 2820
+-74.072 47.088 2828
+-73.946 47.088 2830
+-73.82 47.088 2831
+-73.694 47.088 2819
+-73.568 47.088 2934
+-73.442 47.088 2936
+-73.316 47.088 2937
+-73.19 47.088 2938
+-73.064 47.088 3038
+-72.938 47.088 2992
+-72.812 47.088 3143
+-72.686 47.088 3143
+-72.56 47.088 3107
+-72.434 47.088 3107
+-72.308 47.088 3108
+-72.182 47.088 3109
+-72.056 47.088 3109
+-71.93 47.088 3110
+-71.804 47.088 3206
+-71.678 47.088 3202
+-71.552 47.088 3202
+-71.426 47.088 3203
+-71.3 47.088 3204
+-71.174 47.088 3147
+-71.048 47.088 3183
+-70.922 47.088 3184
+-70.796 47.088 3261
+-70.67 47.088 3170
+-70.544 47.088 3171
+-70.418 47.088 3172
+-70.292 47.088 3220
+-70.166 47.088 3174
+-70.04 47.088 3175
+-69.914 47.088 3175
+-69.788 47.088 3403
+-69.662 47.088 3349
+-69.536 47.088 3349
+-69.41 47.088 3482
+-69.284 47.088 3454
+-69.158 47.088 3454
+-69.032 47.088 3400
+-68.906 47.088 3473
+-68.78 47.088 3474
+-68.654 47.088 3474
+-68.528 47.088 3475
+-68.402 47.088 3475
+-68.276 47.088 3475
+-68.15 47.088 3475
+-68.024 47.088 3476
+-67.898 47.088 3465
+-67.772 47.088 3412
+-67.646 47.088 3405
+-67.52 47.088 3406
+-67.394 47.088 3406
+-67.268 47.088 3407
+-67.142 47.088 3407
+-67.016 47.088 3408
+-66.89 47.088 3408
+-66.764 47.088 3408
+-66.638 47.088 3409
+-66.512 47.088 3409
+-66.386 47.088 3410
+-66.26 47.088 3410
+-66.134 47.088 3410
+-66.008 47.088 3411
+-65.882 47.088 3411
+-65.756 47.088 3524
+-65.63 47.088 3525
+-65.504 47.088 3508
+-65.378 47.088 3509
+-65.252 47.088 3509
+-65.126 47.088 3509
+-128 47.036 4499
+-127.874 47.036 4555
+-127.748 47.036 4595
+-127.622 47.036 4618
+-127.496 47.036 4671
+-127.37 47.036 4807
+-127.244 47.036 5004
+-127.118 47.036 5134
+-126.992 47.036 5138
+-126.866 47.036 5343
+-126.74 47.036 5524
+-126.614 47.036 5617
+-126.488 47.036 5783
+-126.362 47.036 5865
+-126.236 47.036 6052
+-126.11 47.036 6249
+-125.984 47.036 6336
+-125.858 47.036 6379
+-125.732 47.036 6583
+-125.606 47.036 6708
+-125.48 47.036 6844
+-125.354 47.036 6976
+-125.228 47.036 7140
+-125.102 47.036 7273
+-124.976 47.036 7407
+-124.85 47.036 7532
+-124.724 47.036 7669
+-124.598 47.036 7771
+-124.472 47.036 7964
+-124.346 47.036 8124
+-124.22 47.036 8247
+-124.094 47.036 8359
+-123.968 47.036 8517
+-123.842 47.036 8699
+-123.716 47.036 8780
+-123.59 47.036 8884
+-123.464 47.036 9014
+-123.338 47.036 9185
+-123.212 47.036 9267
+-123.086 47.036 9428
+-122.96 47.036 9533
+-122.834 47.036 9400
+-122.708 47.036 9269
+-122.582 47.036 9159
+-122.456 47.036 9023
+-122.33 47.036 8946
+-122.204 47.036 8780
+-122.078 47.036 8613
+-121.952 47.036 8483
+-121.826 47.036 8386
+-121.7 47.036 8259
+-121.574 47.036 8040
+-121.448 47.036 7904
+-121.322 47.036 7780
+-121.196 47.036 7641
+-121.07 47.036 7568
+-120.944 47.036 7402
+-120.818 47.036 7223
+-120.692 47.036 7140
+-120.566 47.036 6866
+-120.44 47.036 6951
+-120.314 47.036 6996
+-120.188 47.036 7097
+-120.062 47.036 7235
+-119.936 47.036 7335
+-119.81 47.036 7442
+-119.684 47.036 7582
+-119.558 47.036 7630
+-119.432 47.036 7768
+-119.306 47.036 7837
+-119.18 47.036 7963
+-119.054 47.036 8032
+-118.928 47.036 8143
+-118.802 47.036 8214
+-118.676 47.036 8245
+-118.55 47.036 8281
+-118.424 47.036 8278
+-118.298 47.036 8270
+-118.172 47.036 8287
+-118.046 47.036 8247
+-117.92 47.036 8181
+-117.794 47.036 8132
+-117.668 47.036 8059
+-117.542 47.036 7953
+-117.416 47.036 7870
+-117.29 47.036 7725
+-117.164 47.036 7668
+-117.038 47.036 7585
+-116.912 47.036 7518
+-116.786 47.036 7349
+-116.66 47.036 7243
+-116.534 47.036 7123
+-116.408 47.036 6985
+-116.282 47.036 6945
+-116.156 47.036 6801
+-116.03 47.036 6624
+-115.904 47.036 6488
+-115.778 47.036 6433
+-115.652 47.036 6326
+-115.526 47.036 6227
+-115.4 47.036 6107
+-115.274 47.036 5900
+-115.148 47.036 5698
+-115.022 47.036 5557
+-114.896 47.036 5452
+-114.77 47.036 5330
+-114.644 47.036 5271
+-114.518 47.036 5148
+-114.392 47.036 5025
+-114.266 47.036 4933
+-114.14 47.036 4825
+-114.014 47.036 4690
+-113.888 47.036 4531
+-113.762 47.036 4310
+-113.636 47.036 4168
+-113.51 47.036 4227
+-113.384 47.036 4235
+-113.258 47.036 4225
+-113.132 47.036 4211
+-113.006 47.036 4213
+-112.88 47.036 4190
+-112.754 47.036 4203
+-112.628 47.036 4164
+-112.502 47.036 4156
+-112.376 47.036 4129
+-112.25 47.036 4101
+-112.124 47.036 4005
+-111.998 47.036 3992
+-111.872 47.036 3985
+-111.746 47.036 3944
+-111.62 47.036 3905
+-111.494 47.036 3899
+-111.368 47.036 3894
+-111.242 47.036 3890
+-111.116 47.036 3886
+-110.99 47.036 3835
+-110.864 47.036 3832
+-110.738 47.036 3829
+-110.612 47.036 3772
+-110.486 47.036 3768
+-110.36 47.036 3741
+-110.234 47.036 3557
+-110.108 47.036 3553
+-109.982 47.036 3549
+-109.856 47.036 3546
+-109.73 47.036 3520
+-109.604 47.036 3517
+-109.478 47.036 3514
+-109.352 47.036 3512
+-109.226 47.036 3509
+-109.1 47.036 3507
+-108.974 47.036 3415
+-108.848 47.036 3375
+-108.722 47.036 3372
+-108.596 47.036 3370
+-108.47 47.036 3368
+-108.344 47.036 3366
+-108.218 47.036 3364
+-108.092 47.036 3362
+-107.966 47.036 3360
+-107.84 47.036 3359
+-107.714 47.036 3358
+-107.588 47.036 3356
+-107.462 47.036 3243
+-107.336 47.036 3242
+-107.21 47.036 3241
+-107.084 47.036 3240
+-106.958 47.036 3239
+-106.832 47.036 3238
+-106.706 47.036 3238
+-106.58 47.036 3237
+-106.454 47.036 3236
+-106.328 47.036 3236
+-106.202 47.036 3235
+-106.076 47.036 3235
+-105.95 47.036 3234
+-105.824 47.036 3234
+-105.698 47.036 3234
+-105.572 47.036 3233
+-105.446 47.036 3233
+-105.32 47.036 3233
+-105.194 47.036 3233
+-105.068 47.036 3232
+-104.942 47.036 3149
+-104.816 47.036 3149
+-104.69 47.036 3149
+-104.564 47.036 3149
+-104.438 47.036 3149
+-104.312 47.036 3148
+-104.186 47.036 3148
+-104.06 47.036 3148
+-103.934 47.036 3148
+-103.808 47.036 3118
+-103.682 47.036 3116
+-103.556 47.036 3115
+-103.43 47.036 3030
+-103.304 47.036 2988
+-103.178 47.036 2986
+-103.052 47.036 2895
+-102.926 47.036 2882
+-102.8 47.036 2942
+-102.674 47.036 2908
+-102.548 47.036 2912
+-102.422 47.036 3036
+-102.296 47.036 3043
+-102.17 47.036 3133
+-102.044 47.036 3138
+-101.918 47.036 3359
+-101.792 47.036 3441
+-101.666 47.036 3450
+-101.54 47.036 3450
+-101.414 47.036 3448
+-101.288 47.036 3447
+-101.162 47.036 3416
+-101.036 47.036 3412
+-100.91 47.036 3331
+-100.784 47.036 3471
+-100.658 47.036 3488
+-100.532 47.036 3445
+-100.406 47.036 3444
+-100.28 47.036 3444
+-100.154 47.036 3460
+-100.028 47.036 3408
+-99.902 47.036 3417
+-99.776 47.036 3417
+-99.65 47.036 3412
+-99.524 47.036 3411
+-99.398 47.036 3411
+-99.272 47.036 3411
+-99.146 47.036 3205
+-99.02 47.036 3236
+-98.894 47.036 3234
+-98.768 47.036 3232
+-98.642 47.036 3213
+-98.516 47.036 3263
+-98.39 47.036 3234
+-98.264 47.036 3231
+-98.138 47.036 3210
+-98.012 47.036 3208
+-97.886 47.036 3128
+-97.76 47.036 3165
+-97.634 47.036 3162
+-97.508 47.036 3159
+-97.382 47.036 3155
+-97.256 47.036 3141
+-97.13 47.036 3138
+-97.004 47.036 3134
+-96.878 47.036 3130
+-96.752 47.036 3126
+-96.626 47.036 3047
+-96.5 47.036 3031
+-96.374 47.036 3008
+-96.248 47.036 2956
+-96.122 47.036 2943
+-95.996 47.036 2924
+-95.87 47.036 2918
+-95.744 47.036 2910
+-95.618 47.036 2891
+-95.492 47.036 2870
+-95.366 47.036 2863
+-95.24 47.036 2856
+-95.114 47.036 2848
+-94.988 47.036 2840
+-94.862 47.036 2831
+-94.736 47.036 2822
+-94.61 47.036 2813
+-94.484 47.036 2803
+-94.358 47.036 2792
+-94.232 47.036 2781
+-94.106 47.036 2769
+-93.98 47.036 2756
+-93.854 47.036 2742
+-93.728 47.036 2728
+-93.602 47.036 2713
+-93.476 47.036 2697
+-93.35 47.036 2680
+-93.224 47.036 2574
+-93.098 47.036 2556
+-92.972 47.036 2529
+-92.846 47.036 2510
+-92.72 47.036 2490
+-92.594 47.036 2469
+-92.468 47.036 2448
+-92.342 47.036 2426
+-92.216 47.036 2404
+-92.09 47.036 2382
+-91.964 47.036 2360
+-91.838 47.036 2339
+-91.712 47.036 2319
+-91.586 47.036 2300
+-91.46 47.036 2283
+-91.334 47.036 2269
+-91.208 47.036 2257
+-91.082 47.036 2248
+-90.956 47.036 2242
+-90.83 47.036 2240
+-90.704 47.036 2241
+-90.578 47.036 2246
+-90.452 47.036 2253
+-90.326 47.036 2264
+-90.2 47.036 2276
+-90.074 47.036 2291
+-89.948 47.036 2280
+-89.822 47.036 2296
+-89.696 47.036 2313
+-89.57 47.036 2330
+-89.444 47.036 2347
+-89.318 47.036 2363
+-89.192 47.036 2379
+-89.066 47.036 2394
+-88.94 47.036 2408
+-88.814 47.036 2422
+-88.688 47.036 2434
+-88.562 47.036 2446
+-88.436 47.036 2457
+-88.31 47.036 2467
+-88.184 47.036 2476
+-88.058 47.036 2485
+-87.932 47.036 2493
+-87.806 47.036 2500
+-87.68 47.036 2507
+-87.554 47.036 2513
+-87.428 47.036 2519
+-87.302 47.036 2525
+-87.176 47.036 2530
+-87.05 47.036 2534
+-86.924 47.036 2538
+-86.798 47.036 2542
+-86.672 47.036 2546
+-86.546 47.036 2549
+-86.42 47.036 2553
+-86.294 47.036 2555
+-86.168 47.036 2566
+-86.042 47.036 2569
+-85.916 47.036 2571
+-85.79 47.036 2573
+-85.664 47.036 2492
+-85.538 47.036 2493
+-85.412 47.036 2494
+-85.286 47.036 2495
+-85.16 47.036 2495
+-85.034 47.036 2496
+-84.908 47.036 2496
+-84.782 47.036 2497
+-84.656 47.036 2497
+-84.53 47.036 2498
+-84.404 47.036 2503
+-84.278 47.036 2514
+-84.152 47.036 2514
+-84.026 47.036 2515
+-83.9 47.036 2515
+-83.774 47.036 2534
+-83.648 47.036 2535
+-83.522 47.036 2536
+-83.396 47.036 2536
+-83.27 47.036 2541
+-83.144 47.036 2658
+-83.018 47.036 2659
+-82.892 47.036 2659
+-82.766 47.036 2664
+-82.64 47.036 2665
+-82.514 47.036 2667
+-82.388 47.036 2681
+-82.262 47.036 2667
+-82.136 47.036 2679
+-82.01 47.036 2680
+-81.884 47.036 2679
+-81.758 47.036 2680
+-81.632 47.036 2681
+-81.506 47.036 2682
+-81.38 47.036 2684
+-81.254 47.036 2762
+-81.128 47.036 2763
+-81.002 47.036 2765
+-80.876 47.036 2766
+-80.75 47.036 2782
+-80.624 47.036 2783
+-80.498 47.036 2769
+-80.372 47.036 2771
+-80.246 47.036 2772
+-80.12 47.036 2774
+-79.994 47.036 2750
+-79.868 47.036 2759
+-79.742 47.036 2761
+-79.616 47.036 2879
+-79.49 47.036 2844
+-79.364 47.036 2846
+-79.238 47.036 2971
+-79.112 47.036 2969
+-78.986 47.036 2936
+-78.86 47.036 2993
+-78.734 47.036 2893
+-78.608 47.036 2921
+-78.482 47.036 2972
+-78.356 47.036 2878
+-78.23 47.036 2885
+-78.104 47.036 2797
+-77.978 47.036 2794
+-77.852 47.036 2809
+-77.726 47.036 2784
+-77.6 47.036 2786
+-77.474 47.036 2788
+-77.348 47.036 2731
+-77.222 47.036 2771
+-77.096 47.036 2764
+-76.97 47.036 2755
+-76.844 47.036 2757
+-76.718 47.036 2758
+-76.592 47.036 2760
+-76.466 47.036 2705
+-76.34 47.036 2701
+-76.214 47.036 2702
+-76.088 47.036 2704
+-75.962 47.036 2705
+-75.836 47.036 2703
+-75.71 47.036 2649
+-75.584 47.036 2753
+-75.458 47.036 2749
+-75.332 47.036 2756
+-75.206 47.036 2757
+-75.08 47.036 2758
+-74.954 47.036 2759
+-74.828 47.036 2784
+-74.702 47.036 2763
+-74.576 47.036 2827
+-74.45 47.036 2828
+-74.324 47.036 2819
+-74.198 47.036 2827
+-74.072 47.036 2829
+-73.946 47.036 2830
+-73.82 47.036 2818
+-73.694 47.036 2933
+-73.568 47.036 2935
+-73.442 47.036 2936
+-73.316 47.036 2937
+-73.19 47.036 3037
+-73.064 47.036 2991
+-72.938 47.036 3142
+-72.812 47.036 3143
+-72.686 47.036 3106
+-72.56 47.036 3107
+-72.434 47.036 3107
+-72.308 47.036 3108
+-72.182 47.036 3109
+-72.056 47.036 3109
+-71.93 47.036 3206
+-71.804 47.036 3201
+-71.678 47.036 3202
+-71.552 47.036 3203
+-71.426 47.036 3203
+-71.3 47.036 3146
+-71.174 47.036 3183
+-71.048 47.036 3183
+-70.922 47.036 3260
+-70.796 47.036 3169
+-70.67 47.036 3170
+-70.544 47.036 3171
+-70.418 47.036 3219
+-70.292 47.036 3173
+-70.166 47.036 3174
+-70.04 47.036 3175
+-69.914 47.036 3403
+-69.788 47.036 3348
+-69.662 47.036 3349
+-69.536 47.036 3481
+-69.41 47.036 3453
+-69.284 47.036 3454
+-69.158 47.036 3399
+-69.032 47.036 3472
+-68.906 47.036 3473
+-68.78 47.036 3474
+-68.654 47.036 3474
+-68.528 47.036 3475
+-68.402 47.036 3474
+-68.276 47.036 3475
+-68.15 47.036 3475
+-68.024 47.036 3464
+-67.898 47.036 3411
+-67.772 47.036 3405
+-67.646 47.036 3405
+-67.52 47.036 3406
+-67.394 47.036 3406
+-67.268 47.036 3407
+-67.142 47.036 3407
+-67.016 47.036 3408
+-66.89 47.036 3408
+-66.764 47.036 3408
+-66.638 47.036 3409
+-66.512 47.036 3409
+-66.386 47.036 3410
+-66.26 47.036 3410
+-66.134 47.036 3410
+-66.008 47.036 3411
+-65.882 47.036 3524
+-65.756 47.036 3524
+-65.63 47.036 3508
+-65.504 47.036 3508
+-65.378 47.036 3509
+-65.252 47.036 3509
+-65.126 47.036 3509
+-128 46.984 4585
+-127.874 46.984 4622
+-127.748 46.984 4663
+-127.622 46.984 4705
+-127.496 46.984 4778
+-127.37 46.984 4877
+-127.244 46.984 5005
+-127.118 46.984 5095
+-126.992 46.984 5196
+-126.866 46.984 5369
+-126.74 46.984 5546
+-126.614 46.984 5660
+-126.488 46.984 5775
+-126.362 46.984 5949
+-126.236 46.984 6086
+-126.11 46.984 6221
+-125.984 46.984 6348
+-125.858 46.984 6481
+-125.732 46.984 6623
+-125.606 46.984 6741
+-125.48 46.984 6833
+-125.354 46.984 6998
+-125.228 46.984 7131
+-125.102 46.984 7195
+-124.976 46.984 7373
+-124.85 46.984 7542
+-124.724 46.984 7724
+-124.598 46.984 7773
+-124.472 46.984 7985
+-124.346 46.984 8104
+-124.22 46.984 8170
+-124.094 46.984 8367
+-123.968 46.984 8507
+-123.842 46.984 8652
+-123.716 46.984 8765
+-123.59 46.984 8884
+-123.464 46.984 9013
+-123.338 46.984 9147
+-123.212 46.984 9281
+-123.086 46.984 9403
+-122.96 46.984 9557
+-122.834 46.984 9402
+-122.708 46.984 9318
+-122.582 46.984 9157
+-122.456 46.984 9111
+-122.33 46.984 8886
+-122.204 46.984 8704
+-122.078 46.984 8608
+-121.952 46.984 8512
+-121.826 46.984 8366
+-121.7 46.984 8179
+-121.574 46.984 8067
+-121.448 46.984 7924
+-121.322 46.984 7749
+-121.196 46.984 7710
+-121.07 46.984 7577
+-120.944 46.984 7385
+-120.818 46.984 7249
+-120.692 46.984 7107
+-120.566 46.984 6734
+-120.44 46.984 6906
+-120.314 46.984 7000
+-120.188 46.984 7112
+-120.062 46.984 7226
+-119.936 46.984 7358
+-119.81 46.984 7441
+-119.684 46.984 7615
+-119.558 46.984 7662
+-119.432 46.984 7803
+-119.306 46.984 7911
+-119.18 46.984 8006
+-119.054 46.984 8047
+-118.928 46.984 8151
+-118.802 46.984 8213
+-118.676 46.984 8257
+-118.55 46.984 8287
+-118.424 46.984 8317
+-118.298 46.984 8355
+-118.172 46.984 8326
+-118.046 46.984 8289
+-117.92 46.984 8233
+-117.794 46.984 8181
+-117.668 46.984 8078
+-117.542 46.984 7996
+-117.416 46.984 7906
+-117.29 46.984 7852
+-117.164 46.984 7716
+-117.038 46.984 7657
+-116.912 46.984 7484
+-116.786 46.984 7372
+-116.66 46.984 7239
+-116.534 46.984 7110
+-116.408 46.984 6992
+-116.282 46.984 6948
+-116.156 46.984 6763
+-116.03 46.984 6624
+-115.904 46.984 6555
+-115.778 46.984 6429
+-115.652 46.984 6315
+-115.526 46.984 6142
+-115.4 46.984 6089
+-115.274 46.984 5853
+-115.148 46.984 5765
+-115.022 46.984 5573
+-114.896 46.984 5448
+-114.77 46.984 5420
+-114.644 46.984 5207
+-114.518 46.984 5217
+-114.392 46.984 5111
+-114.266 46.984 4998
+-114.14 46.984 4881
+-114.014 46.984 4700
+-113.888 46.984 4549
+-113.762 46.984 4388
+-113.636 46.984 4268
+-113.51 46.984 4256
+-113.384 46.984 4210
+-113.258 46.984 4156
+-113.132 46.984 4132
+-113.006 46.984 4154
+-112.88 46.984 4176
+-112.754 46.984 4154
+-112.628 46.984 4144
+-112.502 46.984 4129
+-112.376 46.984 4096
+-112.25 46.984 4069
+-112.124 46.984 4067
+-111.998 46.984 4066
+-111.872 46.984 3953
+-111.746 46.984 3913
+-111.62 46.984 3907
+-111.494 46.984 3902
+-111.368 46.984 3897
+-111.242 46.984 3893
+-111.116 46.984 3840
+-110.99 46.984 3836
+-110.864 46.984 3816
+-110.738 46.984 3813
+-110.612 46.984 3811
+-110.486 46.984 3809
+-110.36 46.984 3807
+-110.234 46.984 3726
+-110.108 46.984 3563
+-109.982 46.984 3559
+-109.856 46.984 3533
+-109.73 46.984 3529
+-109.604 46.984 3526
+-109.478 46.984 3523
+-109.352 46.984 3520
+-109.226 46.984 3517
+-109.1 46.984 3515
+-108.974 46.984 3383
+-108.848 46.984 3380
+-108.722 46.984 3378
+-108.596 46.984 3375
+-108.47 46.984 3372
+-108.344 46.984 3370
+-108.218 46.984 3368
+-108.092 46.984 3366
+-107.966 46.984 3364
+-107.84 46.984 3363
+-107.714 46.984 3361
+-107.588 46.984 3249
+-107.462 46.984 3247
+-107.336 46.984 3246
+-107.21 46.984 3245
+-107.084 46.984 3244
+-106.958 46.984 3243
+-106.832 46.984 3242
+-106.706 46.984 3241
+-106.58 46.984 3240
+-106.454 46.984 3239
+-106.328 46.984 3239
+-106.202 46.984 3238
+-106.076 46.984 3238
+-105.95 46.984 3237
+-105.824 46.984 3237
+-105.698 46.984 3236
+-105.572 46.984 3236
+-105.446 46.984 3235
+-105.32 46.984 3235
+-105.194 46.984 3235
+-105.068 46.984 3152
+-104.942 46.984 3152
+-104.816 46.984 3152
+-104.69 46.984 3151
+-104.564 46.984 3151
+-104.438 46.984 3151
+-104.312 46.984 3151
+-104.186 46.984 3150
+-104.06 46.984 3150
+-103.934 46.984 3150
+-103.808 46.984 3119
+-103.682 46.984 3118
+-103.556 46.984 3116
+-103.43 46.984 2991
+-103.304 46.984 2989
+-103.178 46.984 2986
+-103.052 46.984 2896
+-102.926 46.984 2883
+-102.8 46.984 2944
+-102.674 46.984 2910
+-102.548 46.984 2914
+-102.422 46.984 3038
+-102.296 46.984 3045
+-102.17 46.984 3134
+-102.044 46.984 3139
+-101.918 46.984 3263
+-101.792 46.984 3342
+-101.666 46.984 3440
+-101.54 46.984 3449
+-101.414 46.984 3449
+-101.288 46.984 3447
+-101.162 46.984 3446
+-101.036 46.984 3416
+-100.91 46.984 3412
+-100.784 46.984 3330
+-100.658 46.984 3471
+-100.532 46.984 3487
+-100.406 46.984 3444
+-100.28 46.984 3444
+-100.154 46.984 3443
+-100.028 46.984 3459
+-99.902 46.984 3407
+-99.776 46.984 3416
+-99.65 46.984 3411
+-99.524 46.984 3411
+-99.398 46.984 3411
+-99.272 46.984 3410
+-99.146 46.984 3410
+-99.02 46.984 3205
+-98.894 46.984 3235
+-98.768 46.984 3233
+-98.642 46.984 3231
+-98.516 46.984 3213
+-98.39 46.984 3262
+-98.264 46.984 3233
+-98.138 46.984 3230
+-98.012 46.984 3209
+-97.886 46.984 3207
+-97.76 46.984 3127
+-97.634 46.984 3164
+-97.508 46.984 3160
+-97.382 46.984 3157
+-97.256 46.984 3154
+-97.13 46.984 3139
+-97.004 46.984 3136
+-96.878 46.984 3132
+-96.752 46.984 3128
+-96.626 46.984 3123
+-96.5 46.984 3044
+-96.374 46.984 3028
+-96.248 46.984 3005
+-96.122 46.984 2953
+-95.996 46.984 2940
+-95.87 46.984 2921
+-95.744 46.984 2915
+-95.618 46.984 2906
+-95.492 46.984 2887
+-95.366 46.984 2865
+-95.24 46.984 2857
+-95.114 46.984 2850
+-94.988 46.984 2841
+-94.862 46.984 2833
+-94.736 46.984 2824
+-94.61 46.984 2814
+-94.484 46.984 2804
+-94.358 46.984 2793
+-94.232 46.984 2781
+-94.106 46.984 2769
+-93.98 46.984 2755
+-93.854 46.984 2741
+-93.728 46.984 2727
+-93.602 46.984 2711
+-93.476 46.984 2694
+-93.35 46.984 2677
+-93.224 46.984 2658
+-93.098 46.984 2551
+-92.972 46.984 2531
+-92.846 46.984 2502
+-92.72 46.984 2480
+-92.594 46.984 2458
+-92.468 46.984 2435
+-92.342 46.984 2411
+-92.216 46.984 2386
+-92.09 46.984 2362
+-91.964 46.984 2337
+-91.838 46.984 2313
+-91.712 46.984 2290
+-91.586 46.984 2269
+-91.46 46.984 2250
+-91.334 46.984 2233
+-91.208 46.984 2219
+-91.082 46.984 2209
+-90.956 46.984 2202
+-90.83 46.984 2200
+-90.704 46.984 2202
+-90.578 46.984 2207
+-90.452 46.984 2217
+-90.326 46.984 2229
+-90.2 46.984 2244
+-90.074 46.984 2261
+-89.948 46.984 2254
+-89.822 46.984 2273
+-89.696 46.984 2293
+-89.57 46.984 2312
+-89.444 46.984 2331
+-89.318 46.984 2349
+-89.192 46.984 2367
+-89.066 46.984 2383
+-88.94 46.984 2399
+-88.814 46.984 2414
+-88.688 46.984 2427
+-88.562 46.984 2440
+-88.436 46.984 2451
+-88.31 46.984 2462
+-88.184 46.984 2472
+-88.058 46.984 2481
+-87.932 46.984 2489
+-87.806 46.984 2497
+-87.68 46.984 2504
+-87.554 46.984 2510
+-87.428 46.984 2516
+-87.302 46.984 2522
+-87.176 46.984 2527
+-87.05 46.984 2532
+-86.924 46.984 2536
+-86.798 46.984 2540
+-86.672 46.984 2544
+-86.546 46.984 2547
+-86.42 46.984 2550
+-86.294 46.984 2561
+-86.168 46.984 2564
+-86.042 46.984 2566
+-85.916 46.984 2569
+-85.79 46.984 2490
+-85.664 46.984 2491
+-85.538 46.984 2492
+-85.412 46.984 2492
+-85.286 46.984 2493
+-85.16 46.984 2494
+-85.034 46.984 2494
+-84.908 46.984 2494
+-84.782 46.984 2495
+-84.656 46.984 2495
+-84.53 46.984 2500
+-84.404 46.984 2511
+-84.278 46.984 2512
+-84.152 46.984 2512
+-84.026 46.984 2513
+-83.9 46.984 2532
+-83.774 46.984 2532
+-83.648 46.984 2533
+-83.522 46.984 2534
+-83.396 46.984 2539
+-83.27 46.984 2655
+-83.144 46.984 2655
+-83.018 46.984 2655
+-82.892 46.984 2661
+-82.766 46.984 2661
+-82.64 46.984 2664
+-82.514 46.984 2678
+-82.388 46.984 2664
+-82.262 46.984 2675
+-82.136 46.984 2676
+-82.01 46.984 2675
+-81.884 46.984 2676
+-81.758 46.984 2677
+-81.632 46.984 2678
+-81.506 46.984 2681
+-81.38 46.984 2758
+-81.254 46.984 2760
+-81.128 46.984 2761
+-81.002 46.984 2762
+-80.876 46.984 2778
+-80.75 46.984 2779
+-80.624 46.984 2765
+-80.498 46.984 2767
+-80.372 46.984 2769
+-80.246 46.984 2770
+-80.12 46.984 2746
+-79.994 46.984 2756
+-79.868 46.984 2757
+-79.742 46.984 2876
+-79.616 46.984 2841
+-79.49 46.984 2843
+-79.364 46.984 2967
+-79.238 46.984 2966
+-79.112 46.984 2932
+-78.986 46.984 2989
+-78.86 46.984 2890
+-78.734 46.984 2917
+-78.608 46.984 2969
+-78.482 46.984 2875
+-78.356 46.984 2882
+-78.23 46.984 2794
+-78.104 46.984 2791
+-77.978 46.984 2807
+-77.852 46.984 2782
+-77.726 46.984 2783
+-77.6 46.984 2785
+-77.474 46.984 2729
+-77.348 46.984 2768
+-77.222 46.984 2762
+-77.096 46.984 2753
+-76.97 46.984 2755
+-76.844 46.984 2756
+-76.718 46.984 2758
+-76.592 46.984 2703
+-76.466 46.984 2699
+-76.34 46.984 2701
+-76.214 46.984 2703
+-76.088 46.984 2704
+-75.962 46.984 2701
+-75.836 46.984 2648
+-75.71 46.984 2751
+-75.584 46.984 2748
+-75.458 46.984 2754
+-75.332 46.984 2756
+-75.206 46.984 2757
+-75.08 46.984 2758
+-74.954 46.984 2783
+-74.828 46.984 2762
+-74.702 46.984 2825
+-74.576 46.984 2827
+-74.45 46.984 2818
+-74.324 46.984 2826
+-74.198 46.984 2828
+-74.072 46.984 2829
+-73.946 46.984 2817
+-73.82 46.984 2932
+-73.694 46.984 2934
+-73.568 46.984 2935
+-73.442 46.984 2936
+-73.316 46.984 3036
+-73.19 46.984 2991
+-73.064 46.984 3141
+-72.938 46.984 3142
+-72.812 46.984 3105
+-72.686 46.984 3106
+-72.56 46.984 3107
+-72.434 46.984 3107
+-72.308 46.984 3108
+-72.182 46.984 3109
+-72.056 46.984 3205
+-71.93 46.984 3200
+-71.804 46.984 3201
+-71.678 46.984 3202
+-71.552 46.984 3203
+-71.426 46.984 3146
+-71.3 46.984 3182
+-71.174 46.984 3183
+-71.048 46.984 3259
+-70.922 46.984 3169
+-70.796 46.984 3170
+-70.67 46.984 3170
+-70.544 46.984 3219
+-70.418 46.984 3172
+-70.292 46.984 3173
+-70.166 46.984 3174
+-70.04 46.984 3402
+-69.914 46.984 3348
+-69.788 46.984 3348
+-69.662 46.984 3481
+-69.536 46.984 3453
+-69.41 46.984 3453
+-69.284 46.984 3399
+-69.158 46.984 3472
+-69.032 46.984 3473
+-68.906 46.984 3473
+-68.78 46.984 3474
+-68.654 46.984 3474
+-68.528 46.984 3474
+-68.402 46.984 3474
+-68.276 46.984 3475
+-68.15 46.984 3464
+-68.024 46.984 3411
+-67.898 46.984 3405
+-67.772 46.984 3405
+-67.646 46.984 3406
+-67.52 46.984 3406
+-67.394 46.984 3406
+-67.268 46.984 3407
+-67.142 46.984 3407
+-67.016 46.984 3408
+-66.89 46.984 3408
+-66.764 46.984 3409
+-66.638 46.984 3409
+-66.512 46.984 3409
+-66.386 46.984 3410
+-66.26 46.984 3410
+-66.134 46.984 3410
+-66.008 46.984 3524
+-65.882 46.984 3524
+-65.756 46.984 3508
+-65.63 46.984 3508
+-65.504 46.984 3508
+-65.378 46.984 3509
+-65.252 46.984 3509
+-65.126 46.984 3509
+-128 46.932 4627
+-127.874 46.932 4661
+-127.748 46.932 4693
+-127.622 46.932 4750
+-127.496 46.932 4831
+-127.37 46.932 4881
+-127.244 46.932 5001
+-127.118 46.932 5045
+-126.992 46.932 5186
+-126.866 46.932 5410
+-126.74 46.932 5567
+-126.614 46.932 5640
+-126.488 46.932 5787
+-126.362 46.932 5970
+-126.236 46.932 6030
+-126.11 46.932 6192
+-125.984 46.932 6238
+-125.858 46.932 6493
+-125.732 46.932 6540
+-125.606 46.932 6648
+-125.48 46.932 6854
+-125.354 46.932 6949
+-125.228 46.932 7106
+-125.102 46.932 7241
+-124.976 46.932 7402
+-124.85 46.932 7515
+-124.724 46.932 7678
+-124.598 46.932 7798
+-124.472 46.932 7959
+-124.346 46.932 8145
+-124.22 46.932 8164
+-124.094 46.932 8382
+-123.968 46.932 8536
+-123.842 46.932 8644
+-123.716 46.932 8801
+-123.59 46.932 8900
+-123.464 46.932 9007
+-123.338 46.932 9167
+-123.212 46.932 9318
+-123.086 46.932 9435
+-122.96 46.932 9421
+-122.834 46.932 9465
+-122.708 46.932 9374
+-122.582 46.932 9127
+-122.456 46.932 9021
+-122.33 46.932 8856
+-122.204 46.932 8731
+-122.078 46.932 8563
+-121.952 46.932 8482
+-121.826 46.932 8390
+-121.7 46.932 8242
+-121.574 46.932 8067
+-121.448 46.932 7895
+-121.322 46.932 7784
+-121.196 46.932 7631
+-121.07 46.932 7521
+-120.944 46.932 7346
+-120.818 46.932 7227
+-120.692 46.932 7132
+-120.566 46.932 6995
+-120.44 46.932 6847
+-120.314 46.932 6974
+-120.188 46.932 7121
+-120.062 46.932 7241
+-119.936 46.932 7408
+-119.81 46.932 7480
+-119.684 46.932 7591
+-119.558 46.932 7706
+-119.432 46.932 7831
+-119.306 46.932 7919
+-119.18 46.932 8000
+-119.054 46.932 8124
+-118.928 46.932 8196
+-118.802 46.932 8271
+-118.676 46.932 8310
+-118.55 46.932 8342
+-118.424 46.932 8401
+-118.298 46.932 8396
+-118.172 46.932 8367
+-118.046 46.932 8342
+-117.92 46.932 8328
+-117.794 46.932 8232
+-117.668 46.932 8134
+-117.542 46.932 8073
+-117.416 46.932 7985
+-117.29 46.932 7860
+-117.164 46.932 7797
+-117.038 46.932 7635
+-116.912 46.932 7534
+-116.786 46.932 7394
+-116.66 46.932 7303
+-116.534 46.932 7156
+-116.408 46.932 7065
+-116.282 46.932 6865
+-116.156 46.932 6831
+-116.03 46.932 6632
+-115.904 46.932 6536
+-115.778 46.932 6412
+-115.652 46.932 6359
+-115.526 46.932 6250
+-115.4 46.932 6138
+-115.274 46.932 5940
+-115.148 46.932 5770
+-115.022 46.932 5586
+-114.896 46.932 5449
+-114.77 46.932 5379
+-114.644 46.932 5315
+-114.518 46.932 5251
+-114.392 46.932 5186
+-114.266 46.932 5036
+-114.14 46.932 4910
+-114.014 46.932 4719
+-113.888 46.932 4555
+-113.762 46.932 4459
+-113.636 46.932 4379
+-113.51 46.932 4273
+-113.384 46.932 4099
+-113.258 46.932 3981
+-113.132 46.932 4026
+-113.006 46.932 4111
+-112.88 46.932 4126
+-112.754 46.932 4129
+-112.628 46.932 4113
+-112.502 46.932 4090
+-112.376 46.932 4073
+-112.25 46.932 4063
+-112.124 46.932 4061
+-111.998 46.932 4018
+-111.872 46.932 4015
+-111.746 46.932 3967
+-111.62 46.932 3892
+-111.494 46.932 3887
+-111.368 46.932 3882
+-111.242 46.932 3828
+-111.116 46.932 3823
+-110.99 46.932 3819
+-110.864 46.932 3816
+-110.738 46.932 3813
+-110.612 46.932 3811
+-110.486 46.932 3809
+-110.36 46.932 3807
+-110.234 46.932 3800
+-110.108 46.932 3798
+-109.982 46.932 3546
+-109.856 46.932 3541
+-109.73 46.932 3537
+-109.604 46.932 3534
+-109.478 46.932 3530
+-109.352 46.932 3527
+-109.226 46.932 3524
+-109.1 46.932 3392
+-108.974 46.932 3389
+-108.848 46.932 3385
+-108.722 46.932 3382
+-108.596 46.932 3379
+-108.47 46.932 3377
+-108.344 46.932 3374
+-108.218 46.932 3372
+-108.092 46.932 3370
+-107.966 46.932 3368
+-107.84 46.932 3366
+-107.714 46.932 3255
+-107.588 46.932 3253
+-107.462 46.932 3251
+-107.336 46.932 3250
+-107.21 46.932 3249
+-107.084 46.932 3247
+-106.958 46.932 3246
+-106.832 46.932 3245
+-106.706 46.932 3244
+-106.58 46.932 3243
+-106.454 46.932 3242
+-106.328 46.932 3242
+-106.202 46.932 3241
+-106.076 46.932 3240
+-105.95 46.932 3240
+-105.824 46.932 3239
+-105.698 46.932 3239
+-105.572 46.932 3238
+-105.446 46.932 3238
+-105.32 46.932 3237
+-105.194 46.932 3155
+-105.068 46.932 3155
+-104.942 46.932 3154
+-104.816 46.932 3154
+-104.69 46.932 3154
+-104.564 46.932 3153
+-104.438 46.932 3153
+-104.312 46.932 3153
+-104.186 46.932 3152
+-104.06 46.932 3152
+-103.934 46.932 3152
+-103.808 46.932 3121
+-103.682 46.932 3119
+-103.556 46.932 3117
+-103.43 46.932 2992
+-103.304 46.932 2989
+-103.178 46.932 2966
+-103.052 46.932 2852
+-102.926 46.932 2832
+-102.8 46.932 2879
+-102.674 46.932 2850
+-102.548 46.932 2853
+-102.422 46.932 3040
+-102.296 46.932 2971
+-102.17 46.932 3135
+-102.044 46.932 3141
+-101.918 46.932 3262
+-101.792 46.932 3382
+-101.666 46.932 3341
+-101.54 46.932 3439
+-101.414 46.932 3448
+-101.288 46.932 3448
+-101.162 46.932 3446
+-101.036 46.932 3445
+-100.91 46.932 3415
+-100.784 46.932 3411
+-100.658 46.932 3330
+-100.532 46.932 3470
+-100.406 46.932 3486
+-100.28 46.932 3443
+-100.154 46.932 3443
+-100.028 46.932 3443
+-99.902 46.932 3458
+-99.776 46.932 3406
+-99.65 46.932 3416
+-99.524 46.932 3415
+-99.398 46.932 3410
+-99.272 46.932 3410
+-99.146 46.932 3410
+-99.02 46.932 3409
+-98.894 46.932 3205
+-98.768 46.932 3234
+-98.642 46.932 3232
+-98.516 46.932 3230
+-98.39 46.932 3212
+-98.264 46.932 3261
+-98.138 46.932 3232
+-98.012 46.932 3229
+-97.886 46.932 3208
+-97.76 46.932 3206
+-97.634 46.932 3126
+-97.508 46.932 3162
+-97.382 46.932 3159
+-97.256 46.932 3155
+-97.13 46.932 3152
+-97.004 46.932 3137
+-96.878 46.932 3134
+-96.752 46.932 3129
+-96.626 46.932 3125
+-96.5 46.932 3121
+-96.374 46.932 3042
+-96.248 46.932 3025
+-96.122 46.932 3002
+-95.996 46.932 2950
+-95.87 46.932 2936
+-95.744 46.932 2917
+-95.618 46.932 2911
+-95.492 46.932 2902
+-95.366 46.932 2882
+-95.24 46.932 2860
+-95.114 46.932 2852
+-94.988 46.932 2843
+-94.862 46.932 2835
+-94.736 46.932 2825
+-94.61 46.932 2815
+-94.484 46.932 2805
+-94.358 46.932 2794
+-94.232 46.932 2782
+-94.106 46.932 2769
+-93.98 46.932 2755
+-93.854 46.932 2741
+-93.728 46.932 2726
+-93.602 46.932 2709
+-93.476 46.932 2692
+-93.35 46.932 2673
+-93.224 46.932 2654
+-93.098 46.932 2633
+-92.972 46.932 2525
+-92.846 46.932 2503
+-92.72 46.932 2472
+-92.594 46.932 2447
+-92.468 46.932 2422
+-92.342 46.932 2395
+-92.216 46.932 2368
+-92.09 46.932 2341
+-91.964 46.932 2313
+-91.838 46.932 2286
+-91.712 46.932 2260
+-91.586 46.932 2235
+-91.46 46.932 2212
+-91.334 46.932 2193
+-91.208 46.932 2177
+-91.082 46.932 2165
+-90.956 46.932 2157
+-90.83 46.932 2155
+-90.704 46.932 2157
+-90.578 46.932 2164
+-90.452 46.932 2176
+-90.326 46.932 2191
+-90.2 46.932 2209
+-90.074 46.932 2229
+-89.948 46.932 2226
+-89.822 46.932 2249
+-89.696 46.932 2271
+-89.57 46.932 2293
+-89.444 46.932 2315
+-89.318 46.932 2335
+-89.192 46.932 2355
+-89.066 46.932 2373
+-88.94 46.932 2390
+-88.814 46.932 2406
+-88.688 46.932 2420
+-88.562 46.932 2434
+-88.436 46.932 2446
+-88.31 46.932 2457
+-88.184 46.932 2468
+-88.058 46.932 2477
+-87.932 46.932 2486
+-87.806 46.932 2494
+-87.68 46.932 2501
+-87.554 46.932 2508
+-87.428 46.932 2514
+-87.302 46.932 2520
+-87.176 46.932 2525
+-87.05 46.932 2530
+-86.924 46.932 2534
+-86.798 46.932 2538
+-86.672 46.932 2542
+-86.546 46.932 2545
+-86.42 46.932 2556
+-86.294 46.932 2559
+-86.168 46.932 2562
+-86.042 46.932 2564
+-85.916 46.932 2487
+-85.79 46.932 2488
+-85.664 46.932 2489
+-85.538 46.932 2490
+-85.412 46.932 2490
+-85.286 46.932 2491
+-85.16 46.932 2492
+-85.034 46.932 2492
+-84.908 46.932 2492
+-84.782 46.932 2493
+-84.656 46.932 2498
+-84.53 46.932 2509
+-84.404 46.932 2509
+-84.278 46.932 2510
+-84.152 46.932 2510
+-84.026 46.932 2529
+-83.9 46.932 2530
+-83.774 46.932 2530
+-83.648 46.932 2531
+-83.522 46.932 2536
+-83.396 46.932 2652
+-83.27 46.932 2652
+-83.144 46.932 2652
+-83.018 46.932 2657
+-82.892 46.932 2658
+-82.766 46.932 2660
+-82.64 46.932 2674
+-82.514 46.932 2660
+-82.388 46.932 2672
+-82.262 46.932 2673
+-82.136 46.932 2672
+-82.01 46.932 2673
+-81.884 46.932 2674
+-81.758 46.932 2675
+-81.632 46.932 2677
+-81.506 46.932 2754
+-81.38 46.932 2756
+-81.254 46.932 2757
+-81.128 46.932 2759
+-81.002 46.932 2774
+-80.876 46.932 2776
+-80.75 46.932 2762
+-80.624 46.932 2764
+-80.498 46.932 2765
+-80.372 46.932 2767
+-80.246 46.932 2743
+-80.12 46.932 2753
+-79.994 46.932 2754
+-79.868 46.932 2872
+-79.742 46.932 2838
+-79.616 46.932 2840
+-79.49 46.932 2963
+-79.364 46.932 2962
+-79.238 46.932 2929
+-79.112 46.932 2985
+-78.986 46.932 2886
+-78.86 46.932 2914
+-78.734 46.932 2965
+-78.608 46.932 2872
+-78.482 46.932 2879
+-78.356 46.932 2791
+-78.23 46.932 2789
+-78.104 46.932 2804
+-77.978 46.932 2779
+-77.852 46.932 2781
+-77.726 46.932 2783
+-77.6 46.932 2727
+-77.474 46.932 2766
+-77.348 46.932 2760
+-77.222 46.932 2751
+-77.096 46.932 2753
+-76.97 46.932 2754
+-76.844 46.932 2756
+-76.718 46.932 2702
+-76.592 46.932 2698
+-76.466 46.932 2700
+-76.34 46.932 2701
+-76.214 46.932 2703
+-76.088 46.932 2700
+-75.962 46.932 2647
+-75.836 46.932 2750
+-75.71 46.932 2747
+-75.584 46.932 2753
+-75.458 46.932 2755
+-75.332 46.932 2756
+-75.206 46.932 2757
+-75.08 46.932 2782
+-74.954 46.932 2761
+-74.828 46.932 2824
+-74.702 46.932 2826
+-74.576 46.932 2817
+-74.45 46.932 2825
+-74.324 46.932 2826
+-74.198 46.932 2828
+-74.072 46.932 2816
+-73.946 46.932 2931
+-73.82 46.932 2933
+-73.694 46.932 2934
+-73.568 46.932 2935
+-73.442 46.932 3035
+-73.316 46.932 2990
+-73.19 46.932 3140
+-73.064 46.932 3141
+-72.938 46.932 3105
+-72.812 46.932 3105
+-72.686 46.932 3106
+-72.56 46.932 3107
+-72.434 46.932 3108
+-72.308 46.932 3108
+-72.182 46.932 3204
+-72.056 46.932 3199
+-71.93 46.932 3200
+-71.804 46.932 3201
+-71.678 46.932 3202
+-71.552 46.932 3145
+-71.426 46.932 3181
+-71.3 46.932 3182
+-71.174 46.932 3258
+-71.048 46.932 3168
+-70.922 46.932 3169
+-70.796 46.932 3170
+-70.67 46.932 3218
+-70.544 46.932 3172
+-70.418 46.932 3173
+-70.292 46.932 3174
+-70.166 46.932 3402
+-70.04 46.932 3347
+-69.914 46.932 3348
+-69.788 46.932 3480
+-69.662 46.932 3452
+-69.536 46.932 3453
+-69.41 46.932 3398
+-69.284 46.932 3471
+-69.158 46.932 3472
+-69.032 46.932 3473
+-68.906 46.932 3473
+-68.78 46.932 3474
+-68.654 46.932 3473
+-68.528 46.932 3474
+-68.402 46.932 3474
+-68.276 46.932 3463
+-68.15 46.932 3410
+-68.024 46.932 3404
+-67.898 46.932 3405
+-67.772 46.932 3405
+-67.646 46.932 3406
+-67.52 46.932 3406
+-67.394 46.932 3407
+-67.268 46.932 3407
+-67.142 46.932 3407
+-67.016 46.932 3408
+-66.89 46.932 3408
+-66.764 46.932 3409
+-66.638 46.932 3409
+-66.512 46.932 3409
+-66.386 46.932 3410
+-66.26 46.932 3410
+-66.134 46.932 3523
+-66.008 46.932 3524
+-65.882 46.932 3508
+-65.756 46.932 3508
+-65.63 46.932 3508
+-65.504 46.932 3509
+-65.378 46.932 3509
+-65.252 46.932 3509
+-65.126 46.932 3509
+-128 46.88 4629
+-127.874 46.88 4652
+-127.748 46.88 4689
+-127.622 46.88 4747
+-127.496 46.88 4815
+-127.37 46.88 4814
+-127.244 46.88 4969
+-127.118 46.88 5095
+-126.992 46.88 5222
+-126.866 46.88 5406
+-126.74 46.88 5553
+-126.614 46.88 5710
+-126.488 46.88 5776
+-126.362 46.88 5936
+-126.236 46.88 6057
+-126.11 46.88 6086
+-125.984 46.88 6234
+-125.858 46.88 6455
+-125.732 46.88 6547
+-125.606 46.88 6660
+-125.48 46.88 6844
+-125.354 46.88 7018
+-125.228 46.88 7181
+-125.102 46.88 7271
+-124.976 46.88 7378
+-124.85 46.88 7499
+-124.724 46.88 7689
+-124.598 46.88 7781
+-124.472 46.88 7960
+-124.346 46.88 8109
+-124.22 46.88 8251
+-124.094 46.88 8428
+-123.968 46.88 8540
+-123.842 46.88 8587
+-123.716 46.88 8766
+-123.59 46.88 8921
+-123.464 46.88 9111
+-123.338 46.88 9165
+-123.212 46.88 9307
+-123.086 46.88 9355
+-122.96 46.88 9474
+-122.834 46.88 9373
+-122.708 46.88 9286
+-122.582 46.88 9173
+-122.456 46.88 9030
+-122.33 46.88 8912
+-122.204 46.88 8773
+-122.078 46.88 8604
+-121.952 46.88 8463
+-121.826 46.88 8325
+-121.7 46.88 8218
+-121.574 46.88 8047
+-121.448 46.88 7940
+-121.322 46.88 7787
+-121.196 46.88 7615
+-121.07 46.88 7530
+-120.944 46.88 7360
+-120.818 46.88 7221
+-120.692 46.88 7122
+-120.566 46.88 7016
+-120.44 46.88 6991
+-120.314 46.88 7025
+-120.188 46.88 7113
+-120.062 46.88 7248
+-119.936 46.88 7400
+-119.81 46.88 7518
+-119.684 46.88 7629
+-119.558 46.88 7717
+-119.432 46.88 7852
+-119.306 46.88 7955
+-119.18 46.88 8045
+-119.054 46.88 8177
+-118.928 46.88 8243
+-118.802 46.88 8302
+-118.676 46.88 8397
+-118.55 46.88 8414
+-118.424 46.88 8458
+-118.298 46.88 8474
+-118.172 46.88 8448
+-118.046 46.88 8412
+-117.92 46.88 8348
+-117.794 46.88 8270
+-117.668 46.88 8161
+-117.542 46.88 8078
+-117.416 46.88 7967
+-117.29 46.88 7898
+-117.164 46.88 7787
+-117.038 46.88 7627
+-116.912 46.88 7528
+-116.786 46.88 7424
+-116.66 46.88 7320
+-116.534 46.88 7215
+-116.408 46.88 7078
+-116.282 46.88 6993
+-116.156 46.88 6846
+-116.03 46.88 6678
+-115.904 46.88 6543
+-115.778 46.88 6414
+-115.652 46.88 6373
+-115.526 46.88 6281
+-115.4 46.88 6130
+-115.274 46.88 5951
+-115.148 46.88 5778
+-115.022 46.88 5582
+-114.896 46.88 5456
+-114.77 46.88 5413
+-114.644 46.88 5343
+-114.518 46.88 5283
+-114.392 46.88 5210
+-114.266 46.88 5068
+-114.14 46.88 4934
+-114.014 46.88 4710
+-113.888 46.88 4563
+-113.762 46.88 4472
+-113.636 46.88 4380
+-113.51 46.88 4253
+-113.384 46.88 4026
+-113.258 46.88 3831
+-113.132 46.88 3945
+-113.006 46.88 4060
+-112.88 46.88 4103
+-112.754 46.88 4105
+-112.628 46.88 4089
+-112.502 46.88 4067
+-112.376 46.88 4063
+-112.25 46.88 4054
+-112.124 46.88 4023
+-111.998 46.88 3996
+-111.872 46.88 3959
+-111.746 46.88 3943
+-111.62 46.88 3941
+-111.494 46.88 3885
+-111.368 46.88 3839
+-111.242 46.88 3834
+-111.116 46.88 3830
+-110.99 46.88 3826
+-110.864 46.88 3809
+-110.738 46.88 3807
+-110.612 46.88 3804
+-110.486 46.88 3802
+-110.36 46.88 3801
+-110.234 46.88 3800
+-110.108 46.88 3619
+-109.982 46.88 3616
+-109.856 46.88 3549
+-109.73 46.88 3544
+-109.604 46.88 3541
+-109.478 46.88 3537
+-109.352 46.88 3534
+-109.226 46.88 3401
+-109.1 46.88 3397
+-108.974 46.88 3393
+-108.848 46.88 3390
+-108.722 46.88 3387
+-108.596 46.88 3383
+-108.47 46.88 3381
+-108.344 46.88 3378
+-108.218 46.88 3376
+-108.092 46.88 3373
+-107.966 46.88 3371
+-107.84 46.88 3261
+-107.714 46.88 3259
+-107.588 46.88 3257
+-107.462 46.88 3255
+-107.336 46.88 3254
+-107.21 46.88 3252
+-107.084 46.88 3251
+-106.958 46.88 3249
+-106.832 46.88 3248
+-106.706 46.88 3247
+-106.58 46.88 3246
+-106.454 46.88 3245
+-106.328 46.88 3244
+-106.202 46.88 3243
+-106.076 46.88 3243
+-105.95 46.88 3242
+-105.824 46.88 3241
+-105.698 46.88 3241
+-105.572 46.88 3240
+-105.446 46.88 3240
+-105.32 46.88 3158
+-105.194 46.88 3158
+-105.068 46.88 3157
+-104.942 46.88 3157
+-104.816 46.88 3156
+-104.69 46.88 3156
+-104.564 46.88 3155
+-104.438 46.88 3155
+-104.312 46.88 3155
+-104.186 46.88 3154
+-104.06 46.88 3154
+-103.934 46.88 3154
+-103.808 46.88 3122
+-103.682 46.88 3120
+-103.556 46.88 3119
+-103.43 46.88 2992
+-103.304 46.88 2990
+-103.178 46.88 2966
+-103.052 46.88 2884
+-102.926 46.88 2833
+-102.8 46.88 2908
+-102.674 46.88 2901
+-102.548 46.88 2911
+-102.422 46.88 2966
+-102.296 46.88 3050
+-102.17 46.88 3055
+-102.044 46.88 3060
+-101.918 46.88 3262
+-101.792 46.88 3382
+-101.666 46.88 3381
+-101.54 46.88 3340
+-101.414 46.88 3438
+-101.288 46.88 3447
+-101.162 46.88 3447
+-101.036 46.88 3445
+-100.91 46.88 3444
+-100.784 46.88 3414
+-100.658 46.88 3410
+-100.532 46.88 3329
+-100.406 46.88 3469
+-100.28 46.88 3485
+-100.154 46.88 3443
+-100.028 46.88 3442
+-99.902 46.88 3442
+-99.776 46.88 3458
+-99.65 46.88 3406
+-99.524 46.88 3415
+-99.398 46.88 3410
+-99.272 46.88 3409
+-99.146 46.88 3409
+-99.02 46.88 3409
+-98.894 46.88 3409
+-98.768 46.88 3204
+-98.642 46.88 3234
+-98.516 46.88 3231
+-98.39 46.88 3229
+-98.264 46.88 3211
+-98.138 46.88 3260
+-98.012 46.88 3231
+-97.886 46.88 3228
+-97.76 46.88 3207
+-97.634 46.88 3204
+-97.508 46.88 3125
+-97.382 46.88 3161
+-97.256 46.88 3157
+-97.13 46.88 3154
+-97.004 46.88 3150
+-96.878 46.88 3136
+-96.752 46.88 3131
+-96.626 46.88 3127
+-96.5 46.88 3123
+-96.374 46.88 3118
+-96.248 46.88 3039
+-96.122 46.88 3023
+-95.996 46.88 2999
+-95.87 46.88 2948
+-95.744 46.88 2933
+-95.618 46.88 2913
+-95.492 46.88 2907
+-95.366 46.88 2898
+-95.24 46.88 2877
+-95.114 46.88 2854
+-94.988 46.88 2846
+-94.862 46.88 2837
+-94.736 46.88 2828
+-94.61 46.88 2817
+-94.484 46.88 2807
+-94.358 46.88 2795
+-94.232 46.88 2783
+-94.106 46.88 2770
+-93.98 46.88 2756
+-93.854 46.88 2741
+-93.728 46.88 2725
+-93.602 46.88 2708
+-93.476 46.88 2690
+-93.35 46.88 2671
+-93.224 46.88 2650
+-93.098 46.88 2628
+-92.972 46.88 2604
+-92.846 46.88 2496
+-92.72 46.88 2471
+-92.594 46.88 2436
+-92.468 46.88 2409
+-92.342 46.88 2380
+-92.216 46.88 2350
+-92.09 46.88 2319
+-91.964 46.88 2288
+-91.838 46.88 2257
+-91.712 46.88 2227
+-91.586 46.88 2198
+-91.46 46.88 2172
+-91.334 46.88 2149
+-91.208 46.88 2130
+-91.082 46.88 2116
+-90.956 46.88 2107
+-90.83 46.88 2104
+-90.704 46.88 2107
+-90.578 46.88 2116
+-90.452 46.88 2130
+-90.326 46.88 2148
+-90.2 46.88 2170
+-90.074 46.88 2195
+-89.948 46.88 2197
+-89.822 46.88 2223
+-89.696 46.88 2249
+-89.57 46.88 2274
+-89.444 46.88 2298
+-89.318 46.88 2321
+-89.192 46.88 2343
+-89.066 46.88 2363
+-88.94 46.88 2381
+-88.814 46.88 2398
+-88.688 46.88 2414
+-88.562 46.88 2428
+-88.436 46.88 2441
+-88.31 46.88 2453
+-88.184 46.88 2464
+-88.058 46.88 2474
+-87.932 46.88 2483
+-87.806 46.88 2491
+-87.68 46.88 2498
+-87.554 46.88 2505
+-87.428 46.88 2512
+-87.302 46.88 2517
+-87.176 46.88 2523
+-87.05 46.88 2527
+-86.924 46.88 2532
+-86.798 46.88 2536
+-86.672 46.88 2540
+-86.546 46.88 2551
+-86.42 46.88 2554
+-86.294 46.88 2557
+-86.168 46.88 2560
+-86.042 46.88 2484
+-85.916 46.88 2485
+-85.79 46.88 2486
+-85.664 46.88 2487
+-85.538 46.88 2488
+-85.412 46.88 2488
+-85.286 46.88 2489
+-85.16 46.88 2489
+-85.034 46.88 2490
+-84.908 46.88 2490
+-84.782 46.88 2495
+-84.656 46.88 2506
+-84.53 46.88 2507
+-84.404 46.88 2507
+-84.278 46.88 2507
+-84.152 46.88 2526
+-84.026 46.88 2527
+-83.9 46.88 2528
+-83.774 46.88 2528
+-83.648 46.88 2533
+-83.522 46.88 2648
+-83.396 46.88 2648
+-83.27 46.88 2648
+-83.144 46.88 2653
+-83.018 46.88 2654
+-82.892 46.88 2656
+-82.766 46.88 2670
+-82.64 46.88 2657
+-82.514 46.88 2668
+-82.388 46.88 2669
+-82.262 46.88 2668
+-82.136 46.88 2669
+-82.01 46.88 2670
+-81.884 46.88 2671
+-81.758 46.88 2674
+-81.632 46.88 2750
+-81.506 46.88 2752
+-81.38 46.88 2753
+-81.254 46.88 2755
+-81.128 46.88 2770
+-81.002 46.88 2771
+-80.876 46.88 2758
+-80.75 46.88 2760
+-80.624 46.88 2762
+-80.498 46.88 2763
+-80.372 46.88 2740
+-80.246 46.88 2749
+-80.12 46.88 2751
+-79.994 46.88 2868
+-79.868 46.88 2834
+-79.742 46.88 2836
+-79.616 46.88 2959
+-79.49 46.88 2957
+-79.364 46.88 2925
+-79.238 46.88 2981
+-79.112 46.88 2883
+-78.986 46.88 2910
+-78.86 46.88 2961
+-78.734 46.88 2869
+-78.608 46.88 2876
+-78.482 46.88 2788
+-78.356 46.88 2786
+-78.23 46.88 2801
+-78.104 46.88 2776
+-77.978 46.88 2779
+-77.852 46.88 2780
+-77.726 46.88 2725
+-77.6 46.88 2764
+-77.474 46.88 2758
+-77.348 46.88 2749
+-77.222 46.88 2751
+-77.096 46.88 2753
+-76.97 46.88 2754
+-76.844 46.88 2700
+-76.718 46.88 2696
+-76.592 46.88 2698
+-76.466 46.88 2700
+-76.34 46.88 2701
+-76.214 46.88 2699
+-76.088 46.88 2646
+-75.962 46.88 2749
+-75.836 46.88 2745
+-75.71 46.88 2752
+-75.584 46.88 2753
+-75.458 46.88 2755
+-75.332 46.88 2756
+-75.206 46.88 2780
+-75.08 46.88 2760
+-74.954 46.88 2823
+-74.828 46.88 2824
+-74.702 46.88 2816
+-74.576 46.88 2824
+-74.45 46.88 2825
+-74.324 46.88 2827
+-74.198 46.88 2815
+-74.072 46.88 2930
+-73.946 46.88 2932
+-73.82 46.88 2933
+-73.694 46.88 2934
+-73.568 46.88 3034
+-73.442 46.88 2989
+-73.316 46.88 3140
+-73.19 46.88 3140
+-73.064 46.88 3104
+-72.938 46.88 3105
+-72.812 46.88 3105
+-72.686 46.88 3106
+-72.56 46.88 3107
+-72.434 46.88 3108
+-72.308 46.88 3203
+-72.182 46.88 3199
+-72.056 46.88 3199
+-71.93 46.88 3200
+-71.804 46.88 3201
+-71.678 46.88 3145
+-71.552 46.88 3180
+-71.426 46.88 3181
+-71.3 46.88 3257
+-71.174 46.88 3167
+-71.048 46.88 3168
+-70.922 46.88 3169
+-70.796 46.88 3217
+-70.67 46.88 3171
+-70.544 46.88 3172
+-70.418 46.88 3173
+-70.292 46.88 3401
+-70.166 46.88 3346
+-70.04 46.88 3347
+-69.914 46.88 3479
+-69.788 46.88 3452
+-69.662 46.88 3452
+-69.536 46.88 3398
+-69.41 46.88 3471
+-69.284 46.88 3472
+-69.158 46.88 3472
+-69.032 46.88 3473
+-68.906 46.88 3473
+-68.78 46.88 3473
+-68.654 46.88 3473
+-68.528 46.88 3474
+-68.402 46.88 3463
+-68.276 46.88 3410
+-68.15 46.88 3404
+-68.024 46.88 3404
+-67.898 46.88 3405
+-67.772 46.88 3405
+-67.646 46.88 3406
+-67.52 46.88 3406
+-67.394 46.88 3407
+-67.268 46.88 3407
+-67.142 46.88 3407
+-67.016 46.88 3408
+-66.89 46.88 3408
+-66.764 46.88 3409
+-66.638 46.88 3409
+-66.512 46.88 3410
+-66.386 46.88 3410
+-66.26 46.88 3523
+-66.134 46.88 3523
+-66.008 46.88 3507
+-65.882 46.88 3508
+-65.756 46.88 3508
+-65.63 46.88 3508
+-65.504 46.88 3509
+-65.378 46.88 3509
+-65.252 46.88 3509
+-65.126 46.88 3510
+-128 46.828 4627
+-127.874 46.828 4612
+-127.748 46.828 4614
+-127.622 46.828 4645
+-127.496 46.828 4780
+-127.37 46.828 4883
+-127.244 46.828 4999
+-127.118 46.828 5095
+-126.992 46.828 5251
+-126.866 46.828 5369
+-126.74 46.828 5518
+-126.614 46.828 5688
+-126.488 46.828 5828
+-126.362 46.828 5900
+-126.236 46.828 6068
+-126.11 46.828 6135
+-125.984 46.828 6271
+-125.858 46.828 6436
+-125.732 46.828 6520
+-125.606 46.828 6696
+-125.48 46.828 6842
+-125.354 46.828 6993
+-125.228 46.828 7076
+-125.102 46.828 7241
+-124.976 46.828 7429
+-124.85 46.828 7537
+-124.724 46.828 7690
+-124.598 46.828 7738
+-124.472 46.828 8000
+-124.346 46.828 8099
+-124.22 46.828 8275
+-124.094 46.828 8321
+-123.968 46.828 8447
+-123.842 46.828 8612
+-123.716 46.828 8753
+-123.59 46.828 8951
+-123.464 46.828 9043
+-123.338 46.828 9155
+-123.212 46.828 9289
+-123.086 46.828 9340
+-122.96 46.828 9353
+-122.834 46.828 9373
+-122.708 46.828 9271
+-122.582 46.828 9157
+-122.456 46.828 9020
+-122.33 46.828 8859
+-122.204 46.828 8744
+-122.078 46.828 8670
+-121.952 46.828 8477
+-121.826 46.828 8359
+-121.7 46.828 8235
+-121.574 46.828 8032
+-121.448 46.828 7903
+-121.322 46.828 7758
+-121.196 46.828 7693
+-121.07 46.828 7499
+-120.944 46.828 7375
+-120.818 46.828 7309
+-120.692 46.828 7150
+-120.566 46.828 7039
+-120.44 46.828 6946
+-120.314 46.828 7025
+-120.188 46.828 7170
+-120.062 46.828 7279
+-119.936 46.828 7427
+-119.81 46.828 7535
+-119.684 46.828 7647
+-119.558 46.828 7769
+-119.432 46.828 7906
+-119.306 46.828 7969
+-119.18 46.828 8056
+-119.054 46.828 8201
+-118.928 46.828 8297
+-118.802 46.828 8357
+-118.676 46.828 8448
+-118.55 46.828 8482
+-118.424 46.828 8517
+-118.298 46.828 8544
+-118.172 46.828 8485
+-118.046 46.828 8416
+-117.92 46.828 8391
+-117.794 46.828 8288
+-117.668 46.828 8208
+-117.542 46.828 8117
+-117.416 46.828 7999
+-117.29 46.828 7903
+-117.164 46.828 7825
+-117.038 46.828 7699
+-116.912 46.828 7582
+-116.786 46.828 7471
+-116.66 46.828 7339
+-116.534 46.828 7176
+-116.408 46.828 7101
+-116.282 46.828 7003
+-116.156 46.828 6858
+-116.03 46.828 6736
+-115.904 46.828 6593
+-115.778 46.828 6467
+-115.652 46.828 6362
+-115.526 46.828 6261
+-115.4 46.828 6091
+-115.274 46.828 5937
+-115.148 46.828 5807
+-115.022 46.828 5629
+-114.896 46.828 5500
+-114.77 46.828 5379
+-114.644 46.828 5304
+-114.518 46.828 5260
+-114.392 46.828 5193
+-114.266 46.828 5101
+-114.14 46.828 4922
+-114.014 46.828 4736
+-113.888 46.828 4547
+-113.762 46.828 4436
+-113.636 46.828 4377
+-113.51 46.828 4300
+-113.384 46.828 4137
+-113.258 46.828 3985
+-113.132 46.828 4027
+-113.006 46.828 4083
+-112.88 46.828 4076
+-112.754 46.828 4077
+-112.628 46.828 4070
+-112.502 46.828 4057
+-112.376 46.828 4054
+-112.25 46.828 4015
+-112.124 46.828 4000
+-111.998 46.828 3949
+-111.872 46.828 3934
+-111.746 46.828 3932
+-111.62 46.828 3931
+-111.494 46.828 3889
+-111.368 46.828 3835
+-111.242 46.828 3831
+-111.116 46.828 3813
+-110.99 46.828 3810
+-110.864 46.828 3807
+-110.738 46.828 3805
+-110.612 46.828 3803
+-110.486 46.828 3802
+-110.36 46.828 3800
+-110.234 46.828 3799
+-110.108 46.828 3798
+-109.982 46.828 3619
+-109.856 46.828 3617
+-109.73 46.828 3551
+-109.604 46.828 3547
+-109.478 46.828 3478
+-109.352 46.828 3410
+-109.226 46.828 3405
+-109.1 46.828 3401
+-108.974 46.828 3397
+-108.848 46.828 3394
+-108.722 46.828 3390
+-108.596 46.828 3387
+-108.47 46.828 3384
+-108.344 46.828 3381
+-108.218 46.828 3379
+-108.092 46.828 3376
+-107.966 46.828 3267
+-107.84 46.828 3265
+-107.714 46.828 3274
+-107.588 46.828 3272
+-107.462 46.828 3271
+-107.336 46.828 3269
+-107.21 46.828 3268
+-107.084 46.828 3266
+-106.958 46.828 3265
+-106.832 46.828 3264
+-106.706 46.828 3263
+-106.58 46.828 3262
+-106.454 46.828 3261
+-106.328 46.828 3260
+-106.202 46.828 3260
+-106.076 46.828 3259
+-105.95 46.828 3258
+-105.824 46.828 3258
+-105.698 46.828 3257
+-105.572 46.828 3257
+-105.446 46.828 3162
+-105.32 46.828 3161
+-105.194 46.828 3160
+-105.068 46.828 3160
+-104.942 46.828 3159
+-104.816 46.828 3159
+-104.69 46.828 3158
+-104.564 46.828 3158
+-104.438 46.828 3157
+-104.312 46.828 3157
+-104.186 46.828 3156
+-104.06 46.828 3156
+-103.934 46.828 3156
+-103.808 46.828 3123
+-103.682 46.828 3122
+-103.556 46.828 3120
+-103.43 46.828 2993
+-103.304 46.828 2990
+-103.178 46.828 2966
+-103.052 46.828 2886
+-102.926 46.828 2833
+-102.8 46.828 2910
+-102.674 46.828 2903
+-102.548 46.828 2913
+-102.422 46.828 2968
+-102.296 46.828 3051
+-102.17 46.828 3056
+-102.044 46.828 3169
+-101.918 46.828 3172
+-101.792 46.828 3381
+-101.666 46.828 3381
+-101.54 46.828 3380
+-101.414 46.828 3339
+-101.288 46.828 3437
+-101.162 46.828 3446
+-101.036 46.828 3446
+-100.91 46.828 3444
+-100.784 46.828 3443
+-100.658 46.828 3413
+-100.532 46.828 3409
+-100.406 46.828 3328
+-100.28 46.828 3468
+-100.154 46.828 3485
+-100.028 46.828 3442
+-99.902 46.828 3442
+-99.776 46.828 3441
+-99.65 46.828 3457
+-99.524 46.828 3405
+-99.398 46.828 3414
+-99.272 46.828 3414
+-99.146 46.828 3409
+-99.02 46.828 3408
+-98.894 46.828 3408
+-98.768 46.828 3408
+-98.642 46.828 3204
+-98.516 46.828 3233
+-98.39 46.828 3231
+-98.264 46.828 3229
+-98.138 46.828 3210
+-98.012 46.828 3259
+-97.886 46.828 3230
+-97.76 46.828 3227
+-97.634 46.828 3206
+-97.508 46.828 3203
+-97.382 46.828 3124
+-97.256 46.828 3159
+-97.13 46.828 3155
+-97.004 46.828 3152
+-96.878 46.828 3148
+-96.752 46.828 3134
+-96.626 46.828 3129
+-96.5 46.828 3125
+-96.374 46.828 3120
+-96.248 46.828 3115
+-96.122 46.828 3037
+-95.996 46.828 3020
+-95.87 46.828 2996
+-95.744 46.828 2945
+-95.618 46.828 2930
+-95.492 46.828 2909
+-95.366 46.828 2902
+-95.24 46.828 2893
+-95.114 46.828 2872
+-94.988 46.828 2849
+-94.862 46.828 2840
+-94.736 46.828 2830
+-94.61 46.828 2820
+-94.484 46.828 2809
+-94.358 46.828 2797
+-94.232 46.828 2785
+-94.106 46.828 2772
+-93.98 46.828 2757
+-93.854 46.828 2742
+-93.728 46.828 2726
+-93.602 46.828 2708
+-93.476 46.828 2689
+-93.35 46.828 2669
+-93.224 46.828 2647
+-93.098 46.828 2624
+-92.972 46.828 2599
+-92.846 46.828 2572
+-92.72 46.828 2463
+-92.594 46.828 2434
+-92.468 46.828 2396
+-92.342 46.828 2364
+-92.216 46.828 2331
+-92.09 46.828 2297
+-91.964 46.828 2262
+-91.838 46.828 2227
+-91.712 46.828 2192
+-91.586 46.828 2159
+-91.46 46.828 2128
+-91.334 46.828 2101
+-91.208 46.828 2078
+-91.082 46.828 2061
+-90.956 46.828 2051
+-90.83 46.828 2048
+-90.704 46.828 2052
+-90.578 46.828 2063
+-90.452 46.828 2080
+-90.326 46.828 2102
+-90.2 46.828 2128
+-90.074 46.828 2157
+-89.948 46.828 2165
+-89.822 46.828 2196
+-89.696 46.828 2226
+-89.57 46.828 2254
+-89.444 46.828 2282
+-89.318 46.828 2308
+-89.192 46.828 2331
+-89.066 46.828 2353
+-88.94 46.828 2373
+-88.814 46.828 2391
+-88.688 46.828 2408
+-88.562 46.828 2423
+-88.436 46.828 2437
+-88.31 46.828 2449
+-88.184 46.828 2460
+-88.058 46.828 2470
+-87.932 46.828 2480
+-87.806 46.828 2488
+-87.68 46.828 2496
+-87.554 46.828 2503
+-87.428 46.828 2509
+-87.302 46.828 2515
+-87.176 46.828 2520
+-87.05 46.828 2525
+-86.924 46.828 2530
+-86.798 46.828 2534
+-86.672 46.828 2545
+-86.546 46.828 2549
+-86.42 46.828 2552
+-86.294 46.828 2555
+-86.168 46.828 2481
+-86.042 46.828 2483
+-85.916 46.828 2484
+-85.79 46.828 2485
+-85.664 46.828 2485
+-85.538 46.828 2486
+-85.412 46.828 2486
+-85.286 46.828 2487
+-85.16 46.828 2487
+-85.034 46.828 2488
+-84.908 46.828 2493
+-84.782 46.828 2504
+-84.656 46.828 2504
+-84.53 46.828 2504
+-84.404 46.828 2505
+-84.278 46.828 2524
+-84.152 46.828 2524
+-84.026 46.828 2525
+-83.9 46.828 2526
+-83.774 46.828 2530
+-83.648 46.828 2644
+-83.522 46.828 2644
+-83.396 46.828 2644
+-83.27 46.828 2650
+-83.144 46.828 2650
+-83.018 46.828 2652
+-82.892 46.828 2666
+-82.766 46.828 2653
+-82.64 46.828 2664
+-82.514 46.828 2665
+-82.388 46.828 2664
+-82.262 46.828 2665
+-82.136 46.828 2666
+-82.01 46.828 2667
+-81.884 46.828 2670
+-81.758 46.828 2746
+-81.632 46.828 2747
+-81.506 46.828 2749
+-81.38 46.828 2750
+-81.254 46.828 2765
+-81.128 46.828 2767
+-81.002 46.828 2754
+-80.876 46.828 2756
+-80.75 46.828 2758
+-80.624 46.828 2760
+-80.498 46.828 2737
+-80.372 46.828 2746
+-80.246 46.828 2748
+-80.12 46.828 2864
+-79.994 46.828 2831
+-79.868 46.828 2832
+-79.742 46.828 2954
+-79.616 46.828 2953
+-79.49 46.828 2921
+-79.364 46.828 2977
+-79.238 46.828 2879
+-79.112 46.828 2907
+-78.986 46.828 2957
+-78.86 46.828 2865
+-78.734 46.828 2873
+-78.608 46.828 2786
+-78.482 46.828 2783
+-78.356 46.828 2798
+-78.23 46.828 2774
+-78.104 46.828 2776
+-77.978 46.828 2778
+-77.852 46.828 2723
+-77.726 46.828 2761
+-77.6 46.828 2755
+-77.474 46.828 2747
+-77.348 46.828 2748
+-77.222 46.828 2750
+-77.096 46.828 2752
+-76.97 46.828 2699
+-76.844 46.828 2695
+-76.718 46.828 2696
+-76.592 46.828 2698
+-76.466 46.828 2700
+-76.34 46.828 2697
+-76.214 46.828 2645
+-76.088 46.828 2747
+-75.962 46.828 2744
+-75.836 46.828 2751
+-75.71 46.828 2752
+-75.584 46.828 2754
+-75.458 46.828 2755
+-75.332 46.828 2779
+-75.206 46.828 2759
+-75.08 46.828 2822
+-74.954 46.828 2823
+-74.828 46.828 2815
+-74.702 46.828 2823
+-74.576 46.828 2824
+-74.45 46.828 2826
+-74.324 46.828 2814
+-74.198 46.828 2929
+-74.072 46.828 2931
+-73.946 46.828 2932
+-73.82 46.828 2933
+-73.694 46.828 3033
+-73.568 46.828 2988
+-73.442 46.828 3139
+-73.316 46.828 3140
+-73.19 46.828 3103
+-73.064 46.828 3104
+-72.938 46.828 3105
+-72.812 46.828 3106
+-72.686 46.828 3106
+-72.56 46.828 3107
+-72.434 46.828 3202
+-72.308 46.828 3198
+-72.182 46.828 3199
+-72.056 46.828 3200
+-71.93 46.828 3200
+-71.804 46.828 3144
+-71.678 46.828 3180
+-71.552 46.828 3181
+-71.426 46.828 3256
+-71.3 46.828 3166
+-71.174 46.828 3167
+-71.048 46.828 3168
+-70.922 46.828 3216
+-70.796 46.828 3170
+-70.67 46.828 3171
+-70.544 46.828 3172
+-70.418 46.828 3400
+-70.292 46.828 3346
+-70.166 46.828 3347
+-70.04 46.828 3479
+-69.914 46.828 3451
+-69.788 46.828 3452
+-69.662 46.828 3398
+-69.536 46.828 3470
+-69.41 46.828 3471
+-69.284 46.828 3472
+-69.158 46.828 3472
+-69.032 46.828 3473
+-68.906 46.828 3472
+-68.78 46.828 3473
+-68.654 46.828 3473
+-68.528 46.828 3462
+-68.402 46.828 3410
+-68.276 46.828 3404
+-68.15 46.828 3404
+-68.024 46.828 3404
+-67.898 46.828 3405
+-67.772 46.828 3405
+-67.646 46.828 3406
+-67.52 46.828 3406
+-67.394 46.828 3407
+-67.268 46.828 3407
+-67.142 46.828 3408
+-67.016 46.828 3408
+-66.89 46.828 3408
+-66.764 46.828 3409
+-66.638 46.828 3409
+-66.512 46.828 3410
+-66.386 46.828 3523
+-66.26 46.828 3523
+-66.134 46.828 3507
+-66.008 46.828 3507
+-65.882 46.828 3508
+-65.756 46.828 3508
+-65.63 46.828 3508
+-65.504 46.828 3509
+-65.378 46.828 3509
+-65.252 46.828 3509
+-65.126 46.828 3510
+-128 46.776 4573
+-127.874 46.776 4519
+-127.748 46.776 4501
+-127.622 46.776 4551
+-127.496 46.776 4696
+-127.37 46.776 4907
+-127.244 46.776 4956
+-127.118 46.776 5089
+-126.992 46.776 5270
+-126.866 46.776 5431
+-126.74 46.776 5551
+-126.614 46.776 5551
+-126.488 46.776 5812
+-126.362 46.776 5855
+-126.236 46.776 5993
+-126.11 46.776 6114
+-125.984 46.776 6236
+-125.858 46.776 6417
+-125.732 46.776 6558
+-125.606 46.776 6736
+-125.48 46.776 6865
+-125.354 46.776 6948
+-125.228 46.776 7171
+-125.102 46.776 7275
+-124.976 46.776 7313
+-124.85 46.776 7517
+-124.724 46.776 7653
+-124.598 46.776 7829
+-124.472 46.776 7870
+-124.346 46.776 8100
+-124.22 46.776 8172
+-124.094 46.776 8381
+-123.968 46.776 8466
+-123.842 46.776 8599
+-123.716 46.776 8722
+-123.59 46.776 8902
+-123.464 46.776 9012
+-123.338 46.776 9122
+-123.212 46.776 9265
+-123.086 46.776 9270
+-122.96 46.776 9287
+-122.834 46.776 9304
+-122.708 46.776 9220
+-122.582 46.776 9130
+-122.456 46.776 8990
+-122.33 46.776 8838
+-122.204 46.776 8782
+-122.078 46.776 8630
+-121.952 46.776 8460
+-121.826 46.776 8349
+-121.7 46.776 8259
+-121.574 46.776 8082
+-121.448 46.776 7915
+-121.322 46.776 7734
+-121.196 46.776 7630
+-121.07 46.776 7469
+-120.944 46.776 7374
+-120.818 46.776 7217
+-120.692 46.776 7087
+-120.566 46.776 7024
+-120.44 46.776 6977
+-120.314 46.776 7074
+-120.188 46.776 7173
+-120.062 46.776 7300
+-119.936 46.776 7460
+-119.81 46.776 7614
+-119.684 46.776 7666
+-119.558 46.776 7825
+-119.432 46.776 7915
+-119.306 46.776 8062
+-119.18 46.776 8096
+-119.054 46.776 8240
+-118.928 46.776 8376
+-118.802 46.776 8440
+-118.676 46.776 8473
+-118.55 46.776 8524
+-118.424 46.776 8554
+-118.298 46.776 8579
+-118.172 46.776 8516
+-118.046 46.776 8455
+-117.92 46.776 8425
+-117.794 46.776 8334
+-117.668 46.776 8246
+-117.542 46.776 8129
+-117.416 46.776 8053
+-117.29 46.776 7987
+-117.164 46.776 7852
+-117.038 46.776 7745
+-116.912 46.776 7604
+-116.786 46.776 7458
+-116.66 46.776 7385
+-116.534 46.776 7235
+-116.408 46.776 7093
+-116.282 46.776 7022
+-116.156 46.776 6835
+-116.03 46.776 6742
+-115.904 46.776 6619
+-115.778 46.776 6504
+-115.652 46.776 6386
+-115.526 46.776 6227
+-115.4 46.776 6052
+-115.274 46.776 5970
+-115.148 46.776 5795
+-115.022 46.776 5694
+-114.896 46.776 5537
+-114.77 46.776 5367
+-114.644 46.776 5270
+-114.518 46.776 5139
+-114.392 46.776 5178
+-114.266 46.776 5072
+-114.14 46.776 4922
+-114.014 46.776 4702
+-113.888 46.776 4507
+-113.762 46.776 4390
+-113.636 46.776 4365
+-113.51 46.776 4329
+-113.384 46.776 4240
+-113.258 46.776 4159
+-113.132 46.776 4119
+-113.006 46.776 4108
+-112.88 46.776 4088
+-112.754 46.776 4086
+-112.628 46.776 4032
+-112.502 46.776 4019
+-112.376 46.776 4012
+-112.25 46.776 3989
+-112.124 46.776 3960
+-111.998 46.776 3921
+-111.872 46.776 3920
+-111.746 46.776 3919
+-111.62 46.776 3879
+-111.494 46.776 3878
+-111.368 46.776 3877
+-111.242 46.776 3876
+-111.116 46.776 3809
+-110.99 46.776 3807
+-110.864 46.776 3805
+-110.738 46.776 3803
+-110.612 46.776 3801
+-110.486 46.776 3800
+-110.36 46.776 3799
+-110.234 46.776 3798
+-110.108 46.776 3797
+-109.982 46.776 3797
+-109.856 46.776 3619
+-109.73 46.776 3605
+-109.604 46.776 3487
+-109.478 46.776 3418
+-109.352 46.776 3414
+-109.226 46.776 3409
+-109.1 46.776 3405
+-108.974 46.776 3401
+-108.848 46.776 3397
+-108.722 46.776 3393
+-108.596 46.776 3390
+-108.47 46.776 3387
+-108.344 46.776 3384
+-108.218 46.776 3381
+-108.092 46.776 3379
+-107.966 46.776 3282
+-107.84 46.776 3280
+-107.714 46.776 3278
+-107.588 46.776 3276
+-107.462 46.776 3274
+-107.336 46.776 3272
+-107.21 46.776 3271
+-107.084 46.776 3269
+-106.958 46.776 3268
+-106.832 46.776 3267
+-106.706 46.776 3266
+-106.58 46.776 3265
+-106.454 46.776 3264
+-106.328 46.776 3263
+-106.202 46.776 3262
+-106.076 46.776 3261
+-105.95 46.776 3260
+-105.824 46.776 3260
+-105.698 46.776 3259
+-105.572 46.776 3165
+-105.446 46.776 3164
+-105.32 46.776 3163
+-105.194 46.776 3162
+-105.068 46.776 3162
+-104.942 46.776 3161
+-104.816 46.776 3161
+-104.69 46.776 3160
+-104.564 46.776 3160
+-104.438 46.776 3159
+-104.312 46.776 3159
+-104.186 46.776 3158
+-104.06 46.776 3158
+-103.934 46.776 3157
+-103.808 46.776 3133
+-103.682 46.776 3131
+-103.556 46.776 3129
+-103.43 46.776 2993
+-103.304 46.776 2969
+-103.178 46.776 2892
+-103.052 46.776 2870
+-102.926 46.776 2879
+-102.8 46.776 2894
+-102.674 46.776 2886
+-102.548 46.776 2895
+-102.422 46.776 2949
+-102.296 46.776 3052
+-102.17 46.776 3163
+-102.044 46.776 3166
+-101.918 46.776 3277
+-101.792 46.776 3277
+-101.666 46.776 3380
+-101.54 46.776 3379
+-101.414 46.776 3379
+-101.288 46.776 3338
+-101.162 46.776 3436
+-101.036 46.776 3445
+-100.91 46.776 3445
+-100.784 46.776 3442
+-100.658 46.776 3442
+-100.532 46.776 3412
+-100.406 46.776 3408
+-100.28 46.776 3328
+-100.154 46.776 3468
+-100.028 46.776 3484
+-99.902 46.776 3441
+-99.776 46.776 3441
+-99.65 46.776 3440
+-99.524 46.776 3456
+-99.398 46.776 3404
+-99.272 46.776 3413
+-99.146 46.776 3408
+-99.02 46.776 3408
+-98.894 46.776 3408
+-98.768 46.776 3407
+-98.642 46.776 3407
+-98.516 46.776 3203
+-98.39 46.776 3232
+-98.264 46.776 3230
+-98.138 46.776 3228
+-98.012 46.776 3210
+-97.886 46.776 3258
+-97.76 46.776 3229
+-97.634 46.776 3226
+-97.508 46.776 3205
+-97.382 46.776 3202
+-97.256 46.776 3123
+-97.13 46.776 3158
+-97.004 46.776 3154
+-96.878 46.776 3150
+-96.752 46.776 3146
+-96.626 46.776 3132
+-96.5 46.776 3127
+-96.374 46.776 3122
+-96.248 46.776 3118
+-96.122 46.776 3112
+-95.996 46.776 3034
+-95.87 46.776 3017
+-95.744 46.776 2993
+-95.618 46.776 2942
+-95.492 46.776 2926
+-95.366 46.776 2906
+-95.24 46.776 2898
+-95.114 46.776 2888
+-94.988 46.776 2867
+-94.862 46.776 2843
+-94.736 46.776 2833
+-94.61 46.776 2823
+-94.484 46.776 2812
+-94.358 46.776 2800
+-94.232 46.776 2787
+-94.106 46.776 2774
+-93.98 46.776 2759
+-93.854 46.776 2744
+-93.728 46.776 2727
+-93.602 46.776 2708
+-93.476 46.776 2689
+-93.35 46.776 2668
+-93.224 46.776 2645
+-93.098 46.776 2620
+-92.972 46.776 2594
+-92.846 46.776 2566
+-92.72 46.776 2535
+-92.594 46.776 2425
+-92.468 46.776 2392
+-92.342 46.776 2350
+-92.216 46.776 2313
+-92.09 46.776 2275
+-91.964 46.776 2235
+-91.838 46.776 2195
+-91.712 46.776 2155
+-91.586 46.776 2116
+-91.46 46.776 2080
+-91.334 46.776 2048
+-91.208 46.776 2021
+-91.082 46.776 2001
+-90.956 46.776 1988
+-90.83 46.776 1984
+-90.704 46.776 1989
+-90.578 46.776 2003
+-90.452 46.776 2024
+-90.326 46.776 2051
+-90.2 46.776 2083
+-90.074 46.776 2118
+-89.948 46.776 2132
+-89.822 46.776 2168
+-89.696 46.776 2202
+-89.57 46.776 2235
+-89.444 46.776 2266
+-89.318 46.776 2294
+-89.192 46.776 2320
+-89.066 46.776 2344
+-88.94 46.776 2366
+-88.814 46.776 2385
+-88.688 46.776 2403
+-88.562 46.776 2418
+-88.436 46.776 2433
+-88.31 46.776 2445
+-88.184 46.776 2457
+-88.058 46.776 2468
+-87.932 46.776 2477
+-87.806 46.776 2486
+-87.68 46.776 2494
+-87.554 46.776 2501
+-87.428 46.776 2507
+-87.302 46.776 2513
+-87.176 46.776 2518
+-87.05 46.776 2523
+-86.924 46.776 2528
+-86.798 46.776 2539
+-86.672 46.776 2543
+-86.546 46.776 2546
+-86.42 46.776 2550
+-86.294 46.776 2478
+-86.168 46.776 2480
+-86.042 46.776 2481
+-85.916 46.776 2482
+-85.79 46.776 2483
+-85.664 46.776 2483
+-85.538 46.776 2484
+-85.412 46.776 2484
+-85.286 46.776 2485
+-85.16 46.776 2485
+-85.034 46.776 2490
+-84.908 46.776 2501
+-84.782 46.776 2501
+-84.656 46.776 2502
+-84.53 46.776 2502
+-84.404 46.776 2521
+-84.278 46.776 2522
+-84.152 46.776 2522
+-84.026 46.776 2523
+-83.9 46.776 2528
+-83.774 46.776 2640
+-83.648 46.776 2640
+-83.522 46.776 2640
+-83.396 46.776 2646
+-83.27 46.776 2646
+-83.144 46.776 2648
+-83.018 46.776 2662
+-82.892 46.776 2649
+-82.766 46.776 2660
+-82.64 46.776 2661
+-82.514 46.776 2660
+-82.388 46.776 2661
+-82.262 46.776 2662
+-82.136 46.776 2664
+-82.01 46.776 2666
+-81.884 46.776 2741
+-81.758 46.776 2743
+-81.632 46.776 2745
+-81.506 46.776 2746
+-81.38 46.776 2761
+-81.254 46.776 2763
+-81.128 46.776 2750
+-81.002 46.776 2752
+-80.876 46.776 2754
+-80.75 46.776 2756
+-80.624 46.776 2733
+-80.498 46.776 2742
+-80.372 46.776 2744
+-80.246 46.776 2860
+-80.12 46.776 2827
+-79.994 46.776 2829
+-79.868 46.776 2950
+-79.742 46.776 2949
+-79.616 46.776 2917
+-79.49 46.776 2972
+-79.364 46.776 2876
+-79.238 46.776 2903
+-79.112 46.776 2953
+-78.986 46.776 2862
+-78.86 46.776 2869
+-78.734 46.776 2783
+-78.608 46.776 2780
+-78.482 46.776 2795
+-78.356 46.776 2771
+-78.23 46.776 2773
+-78.104 46.776 2775
+-77.978 46.776 2720
+-77.852 46.776 2759
+-77.726 46.776 2753
+-77.6 46.776 2744
+-77.474 46.776 2746
+-77.348 46.776 2748
+-77.222 46.776 2750
+-77.096 46.776 2697
+-76.97 46.776 2693
+-76.844 46.776 2695
+-76.718 46.776 2697
+-76.592 46.776 2698
+-76.466 46.776 2696
+-76.34 46.776 2644
+-76.214 46.776 2746
+-76.088 46.776 2743
+-75.962 46.776 2749
+-75.836 46.776 2751
+-75.71 46.776 2752
+-75.584 46.776 2754
+-75.458 46.776 2778
+-75.332 46.776 2758
+-75.206 46.776 2820
+-75.08 46.776 2822
+-74.954 46.776 2814
+-74.828 46.776 2821
+-74.702 46.776 2823
+-74.576 46.776 2825
+-74.45 46.776 2813
+-74.324 46.776 2928
+-74.198 46.776 2930
+-74.072 46.776 2931
+-73.946 46.776 2932
+-73.82 46.776 3032
+-73.694 46.776 2987
+-73.568 46.776 3138
+-73.442 46.776 3139
+-73.316 46.776 3103
+-73.19 46.776 3103
+-73.064 46.776 3104
+-72.938 46.776 3105
+-72.812 46.776 3106
+-72.686 46.776 3106
+-72.56 46.776 3201
+-72.434 46.776 3197
+-72.308 46.776 3198
+-72.182 46.776 3199
+-72.056 46.776 3200
+-71.93 46.776 3143
+-71.804 46.776 3179
+-71.678 46.776 3180
+-71.552 46.776 3255
+-71.426 46.776 3166
+-71.3 46.776 3167
+-71.174 46.776 3168
+-71.048 46.776 3216
+-70.922 46.776 3170
+-70.796 46.776 3171
+-70.67 46.776 3172
+-70.544 46.776 3400
+-70.418 46.776 3345
+-70.292 46.776 3346
+-70.166 46.776 3478
+-70.04 46.776 3451
+-69.914 46.776 3451
+-69.788 46.776 3397
+-69.662 46.776 3470
+-69.536 46.776 3471
+-69.41 46.776 3471
+-69.284 46.776 3472
+-69.158 46.776 3472
+-69.032 46.776 3472
+-68.906 46.776 3472
+-68.78 46.776 3473
+-68.654 46.776 3462
+-68.528 46.776 3409
+-68.402 46.776 3403
+-68.276 46.776 3404
+-68.15 46.776 3404
+-68.024 46.776 3405
+-67.898 46.776 3405
+-67.772 46.776 3405
+-67.646 46.776 3406
+-67.52 46.776 3406
+-67.394 46.776 3407
+-67.268 46.776 3407
+-67.142 46.776 3408
+-67.016 46.776 3408
+-66.89 46.776 3409
+-66.764 46.776 3409
+-66.638 46.776 3409
+-66.512 46.776 3522
+-66.386 46.776 3523
+-66.26 46.776 3507
+-66.134 46.776 3507
+-66.008 46.776 3507
+-65.882 46.776 3508
+-65.756 46.776 3508
+-65.63 46.776 3508
+-65.504 46.776 3509
+-65.378 46.776 3509
+-65.252 46.776 3509
+-65.126 46.776 3510
+-128 46.724 4548
+-127.874 46.724 4439
+-127.748 46.724 4285
+-127.622 46.724 4525
+-127.496 46.724 4726
+-127.37 46.724 4907
+-127.244 46.724 5016
+-127.118 46.724 5135
+-126.992 46.724 5298
+-126.866 46.724 5480
+-126.74 46.724 5621
+-126.614 46.724 5708
+-126.488 46.724 5828
+-126.362 46.724 5861
+-126.236 46.724 5991
+-126.11 46.724 6120
+-125.984 46.724 6204
+-125.858 46.724 6397
+-125.732 46.724 6563
+-125.606 46.724 6746
+-125.48 46.724 6822
+-125.354 46.724 6967
+-125.228 46.724 7142
+-125.102 46.724 7276
+-124.976 46.724 7382
+-124.85 46.724 7517
+-124.724 46.724 7654
+-124.598 46.724 7837
+-124.472 46.724 7947
+-124.346 46.724 8070
+-124.22 46.724 8223
+-124.094 46.724 8376
+-123.968 46.724 8404
+-123.842 46.724 8637
+-123.716 46.724 8711
+-123.59 46.724 8844
+-123.464 46.724 9014
+-123.338 46.724 9099
+-123.212 46.724 9195
+-123.086 46.724 9249
+-122.96 46.724 9245
+-122.834 46.724 9273
+-122.708 46.724 9247
+-122.582 46.724 9083
+-122.456 46.724 8939
+-122.33 46.724 8866
+-122.204 46.724 8750
+-122.078 46.724 8519
+-121.952 46.724 8454
+-121.826 46.724 8336
+-121.7 46.724 8231
+-121.574 46.724 8083
+-121.448 46.724 7861
+-121.322 46.724 7768
+-121.196 46.724 7609
+-121.07 46.724 7502
+-120.944 46.724 7407
+-120.818 46.724 7275
+-120.692 46.724 7118
+-120.566 46.724 6790
+-120.44 46.724 6952
+-120.314 46.724 7095
+-120.188 46.724 7256
+-120.062 46.724 7355
+-119.936 46.724 7471
+-119.81 46.724 7552
+-119.684 46.724 7694
+-119.558 46.724 7795
+-119.432 46.724 7961
+-119.306 46.724 8025
+-119.18 46.724 8143
+-119.054 46.724 8257
+-118.928 46.724 8361
+-118.802 46.724 8433
+-118.676 46.724 8550
+-118.55 46.724 8606
+-118.424 46.724 8605
+-118.298 46.724 8591
+-118.172 46.724 8557
+-118.046 46.724 8543
+-117.92 46.724 8451
+-117.794 46.724 8361
+-117.668 46.724 8266
+-117.542 46.724 8160
+-117.416 46.724 8071
+-117.29 46.724 8007
+-117.164 46.724 7853
+-117.038 46.724 7673
+-116.912 46.724 7604
+-116.786 46.724 7463
+-116.66 46.724 7402
+-116.534 46.724 7265
+-116.408 46.724 7094
+-116.282 46.724 7035
+-116.156 46.724 6796
+-116.03 46.724 6764
+-115.904 46.724 6612
+-115.778 46.724 6493
+-115.652 46.724 6355
+-115.526 46.724 6250
+-115.4 46.724 6072
+-115.274 46.724 5961
+-115.148 46.724 5801
+-115.022 46.724 5660
+-114.896 46.724 5530
+-114.77 46.724 5389
+-114.644 46.724 5221
+-114.518 46.724 5235
+-114.392 46.724 5133
+-114.266 46.724 5034
+-114.14 46.724 4910
+-114.014 46.724 4698
+-113.888 46.724 4519
+-113.762 46.724 4407
+-113.636 46.724 4290
+-113.51 46.724 4332
+-113.384 46.724 4301
+-113.258 46.724 4208
+-113.132 46.724 4152
+-113.006 46.724 4104
+-112.88 46.724 4086
+-112.754 46.724 4042
+-112.628 46.724 4029
+-112.502 46.724 3988
+-112.376 46.724 3980
+-112.25 46.724 3968
+-112.124 46.724 3956
+-111.998 46.724 3904
+-111.872 46.724 3904
+-111.746 46.724 3867
+-111.62 46.724 3866
+-111.494 46.724 3866
+-111.368 46.724 3866
+-111.242 46.724 3866
+-111.116 46.724 3866
+-110.99 46.724 3807
+-110.864 46.724 3806
+-110.738 46.724 3804
+-110.612 46.724 3803
+-110.486 46.724 3802
+-110.36 46.724 3801
+-110.234 46.724 3801
+-110.108 46.724 3800
+-109.982 46.724 3800
+-109.856 46.724 3609
+-109.73 46.724 3554
+-109.604 46.724 3550
+-109.478 46.724 3484
+-109.352 46.724 3416
+-109.226 46.724 3412
+-109.1 46.724 3407
+-108.974 46.724 3403
+-108.848 46.724 3399
+-108.722 46.724 3396
+-108.596 46.724 3392
+-108.47 46.724 3389
+-108.344 46.724 3386
+-108.218 46.724 3383
+-108.092 46.724 3288
+-107.966 46.724 3285
+-107.84 46.724 3283
+-107.714 46.724 3281
+-107.588 46.724 3279
+-107.462 46.724 3277
+-107.336 46.724 3275
+-107.21 46.724 3274
+-107.084 46.724 3272
+-106.958 46.724 3271
+-106.832 46.724 3269
+-106.706 46.724 3268
+-106.58 46.724 3267
+-106.454 46.724 3266
+-106.328 46.724 3265
+-106.202 46.724 3264
+-106.076 46.724 3263
+-105.95 46.724 3263
+-105.824 46.724 3262
+-105.698 46.724 3168
+-105.572 46.724 3167
+-105.446 46.724 3166
+-105.32 46.724 3165
+-105.194 46.724 3165
+-105.068 46.724 3164
+-104.942 46.724 3163
+-104.816 46.724 3163
+-104.69 46.724 3162
+-104.564 46.724 3162
+-104.438 46.724 3161
+-104.312 46.724 3160
+-104.186 46.724 3160
+-104.06 46.724 3160
+-103.934 46.724 3135
+-103.808 46.724 3134
+-103.682 46.724 3132
+-103.556 46.724 3130
+-103.43 46.724 2993
+-103.304 46.724 2969
+-103.178 46.724 2893
+-103.052 46.724 2871
+-102.926 46.724 2865
+-102.8 46.724 2879
+-102.674 46.724 2887
+-102.548 46.724 2896
+-102.422 46.724 3036
+-102.296 46.724 3032
+-102.17 46.724 3163
+-102.044 46.724 3165
+-101.918 46.724 3276
+-101.792 46.724 3276
+-101.666 46.724 3276
+-101.54 46.724 3379
+-101.414 46.724 3378
+-101.288 46.724 3378
+-101.162 46.724 3337
+-101.036 46.724 3435
+-100.91 46.724 3444
+-100.784 46.724 3444
+-100.658 46.724 3441
+-100.532 46.724 3441
+-100.406 46.724 3411
+-100.28 46.724 3407
+-100.154 46.724 3327
+-100.028 46.724 3467
+-99.902 46.724 3483
+-99.776 46.724 3441
+-99.65 46.724 3440
+-99.524 46.724 3440
+-99.398 46.724 3455
+-99.272 46.724 3403
+-99.146 46.724 3413
+-99.02 46.724 3412
+-98.894 46.724 3407
+-98.768 46.724 3407
+-98.642 46.724 3406
+-98.516 46.724 3406
+-98.39 46.724 3203
+-98.264 46.724 3232
+-98.138 46.724 3229
+-98.012 46.724 3227
+-97.886 46.724 3209
+-97.76 46.724 3257
+-97.634 46.724 3228
+-97.508 46.724 3225
+-97.382 46.724 3204
+-97.256 46.724 3201
+-97.13 46.724 3122
+-97.004 46.724 3156
+-96.878 46.724 3152
+-96.752 46.724 3148
+-96.626 46.724 3144
+-96.5 46.724 3130
+-96.374 46.724 3125
+-96.248 46.724 3120
+-96.122 46.724 3115
+-95.996 46.724 3109
+-95.87 46.724 3031
+-95.744 46.724 3014
+-95.618 46.724 2990
+-95.492 46.724 2938
+-95.366 46.724 2923
+-95.24 46.724 2901
+-95.114 46.724 2893
+-94.988 46.724 2883
+-94.862 46.724 2862
+-94.736 46.724 2836
+-94.61 46.724 2826
+-94.484 46.724 2815
+-94.358 46.724 2803
+-94.232 46.724 2790
+-94.106 46.724 2777
+-93.98 46.724 2762
+-93.854 46.724 2746
+-93.728 46.724 2729
+-93.602 46.724 2710
+-93.476 46.724 2690
+-93.35 46.724 2668
+-93.224 46.724 2644
+-93.098 46.724 2619
+-92.972 46.724 2591
+-92.846 46.724 2561
+-92.72 46.724 2528
+-92.594 46.724 2493
+-92.468 46.724 2381
+-92.342 46.724 2343
+-92.216 46.724 2295
+-92.09 46.724 2253
+-91.964 46.724 2208
+-91.838 46.724 2163
+-91.712 46.724 2117
+-91.586 46.724 2072
+-91.46 46.724 2029
+-91.334 46.724 1991
+-91.208 46.724 1958
+-91.082 46.724 1933
+-90.956 46.724 1918
+-90.83 46.724 1914
+-90.704 46.724 1920
+-90.578 46.724 1937
+-90.452 46.724 1963
+-90.326 46.724 1996
+-90.2 46.724 2035
+-90.074 46.724 2076
+-89.948 46.724 2098
+-89.822 46.724 2139
+-89.696 46.724 2179
+-89.57 46.724 2216
+-89.444 46.724 2250
+-89.318 46.724 2282
+-89.192 46.724 2310
+-89.066 46.724 2336
+-88.94 46.724 2359
+-88.814 46.724 2380
+-88.688 46.724 2398
+-88.562 46.724 2414
+-88.436 46.724 2429
+-88.31 46.724 2442
+-88.184 46.724 2454
+-88.058 46.724 2465
+-87.932 46.724 2475
+-87.806 46.724 2483
+-87.68 46.724 2491
+-87.554 46.724 2499
+-87.428 46.724 2505
+-87.302 46.724 2511
+-87.176 46.724 2517
+-87.05 46.724 2521
+-86.924 46.724 2533
+-86.798 46.724 2537
+-86.672 46.724 2541
+-86.546 46.724 2544
+-86.42 46.724 2475
+-86.294 46.724 2477
+-86.168 46.724 2478
+-86.042 46.724 2479
+-85.916 46.724 2480
+-85.79 46.724 2481
+-85.664 46.724 2481
+-85.538 46.724 2482
+-85.412 46.724 2482
+-85.286 46.724 2483
+-85.16 46.724 2487
+-85.034 46.724 2498
+-84.908 46.724 2499
+-84.782 46.724 2499
+-84.656 46.724 2499
+-84.53 46.724 2518
+-84.404 46.724 2519
+-84.278 46.724 2519
+-84.152 46.724 2520
+-84.026 46.724 2525
+-83.9 46.724 2636
+-83.774 46.724 2636
+-83.648 46.724 2636
+-83.522 46.724 2641
+-83.396 46.724 2642
+-83.27 46.724 2644
+-83.144 46.724 2657
+-83.018 46.724 2645
+-82.892 46.724 2656
+-82.766 46.724 2657
+-82.64 46.724 2656
+-82.514 46.724 2657
+-82.388 46.724 2658
+-82.262 46.724 2659
+-82.136 46.724 2662
+-82.01 46.724 2737
+-81.884 46.724 2738
+-81.758 46.724 2740
+-81.632 46.724 2742
+-81.506 46.724 2756
+-81.38 46.724 2758
+-81.254 46.724 2746
+-81.128 46.724 2748
+-81.002 46.724 2750
+-80.876 46.724 2752
+-80.75 46.724 2729
+-80.624 46.724 2738
+-80.498 46.724 2740
+-80.372 46.724 2856
+-80.246 46.724 2823
+-80.12 46.724 2825
+-79.994 46.724 2945
+-79.868 46.724 2944
+-79.742 46.724 2913
+-79.616 46.724 2968
+-79.49 46.724 2872
+-79.364 46.724 2899
+-79.238 46.724 2949
+-79.112 46.724 2858
+-78.986 46.724 2866
+-78.86 46.724 2779
+-78.734 46.724 2777
+-78.608 46.724 2792
+-78.482 46.724 2768
+-78.356 46.724 2771
+-78.23 46.724 2773
+-78.104 46.724 2718
+-77.978 46.724 2756
+-77.852 46.724 2751
+-77.726 46.724 2742
+-77.6 46.724 2744
+-77.474 46.724 2746
+-77.348 46.724 2748
+-77.222 46.724 2695
+-77.096 46.724 2691
+-76.97 46.724 2693
+-76.844 46.724 2695
+-76.718 46.724 2697
+-76.592 46.724 2695
+-76.466 46.724 2642
+-76.34 46.724 2745
+-76.214 46.724 2742
+-76.088 46.724 2748
+-75.962 46.724 2750
+-75.836 46.724 2751
+-75.71 46.724 2753
+-75.584 46.724 2777
+-75.458 46.724 2757
+-75.332 46.724 2819
+-75.206 46.724 2821
+-75.08 46.724 2812
+-74.954 46.724 2820
+-74.828 46.724 2822
+-74.702 46.724 2823
+-74.576 46.724 2812
+-74.45 46.724 2927
+-74.324 46.724 2928
+-74.198 46.724 2930
+-74.072 46.724 2931
+-73.946 46.724 3031
+-73.82 46.724 2986
+-73.694 46.724 3137
+-73.568 46.724 3138
+-73.442 46.724 3102
+-73.316 46.724 3103
+-73.19 46.724 3103
+-73.064 46.724 3104
+-72.938 46.724 3105
+-72.812 46.724 3106
+-72.686 46.724 3201
+-72.56 46.724 3196
+-72.434 46.724 3197
+-72.308 46.724 3198
+-72.182 46.724 3199
+-72.056 46.724 3143
+-71.93 46.724 3178
+-71.804 46.724 3179
+-71.678 46.724 3254
+-71.552 46.724 3165
+-71.426 46.724 3166
+-71.3 46.724 3167
+-71.174 46.724 3215
+-71.048 46.724 3169
+-70.922 46.724 3170
+-70.796 46.724 3171
+-70.67 46.724 3399
+-70.544 46.724 3345
+-70.418 46.724 3345
+-70.292 46.724 3478
+-70.166 46.724 3450
+-70.04 46.724 3451
+-69.914 46.724 3397
+-69.788 46.724 3469
+-69.662 46.724 3470
+-69.536 46.724 3471
+-69.41 46.724 3471
+-69.284 46.724 3472
+-69.158 46.724 3471
+-69.032 46.724 3472
+-68.906 46.724 3473
+-68.78 46.724 3462
+-68.654 46.724 3409
+-68.528 46.724 3403
+-68.402 46.724 3403
+-68.276 46.724 3404
+-68.15 46.724 3404
+-68.024 46.724 3405
+-67.898 46.724 3405
+-67.772 46.724 3406
+-67.646 46.724 3406
+-67.52 46.724 3406
+-67.394 46.724 3407
+-67.268 46.724 3407
+-67.142 46.724 3408
+-67.016 46.724 3408
+-66.89 46.724 3409
+-66.764 46.724 3409
+-66.638 46.724 3522
+-66.512 46.724 3522
+-66.386 46.724 3506
+-66.26 46.724 3507
+-66.134 46.724 3507
+-66.008 46.724 3507
+-65.882 46.724 3508
+-65.756 46.724 3508
+-65.63 46.724 3508
+-65.504 46.724 3509
+-65.378 46.724 3509
+-65.252 46.724 3509
+-65.126 46.724 3510
+-128 46.672 4560
+-127.874 46.672 4503
+-127.748 46.672 4462
+-127.622 46.672 4594
+-127.496 46.672 4753
+-127.37 46.672 4932
+-127.244 46.672 5060
+-127.118 46.672 5178
+-126.992 46.672 5338
+-126.866 46.672 5502
+-126.74 46.672 5646
+-126.614 46.672 5760
+-126.488 46.672 5853
+-126.362 46.672 5904
+-126.236 46.672 5995
+-126.11 46.672 6085
+-125.984 46.672 6197
+-125.858 46.672 6406
+-125.732 46.672 6477
+-125.606 46.672 6693
+-125.48 46.672 6829
+-125.354 46.672 6966
+-125.228 46.672 7047
+-125.102 46.672 7269
+-124.976 46.672 7406
+-124.85 46.672 7526
+-124.724 46.672 7616
+-124.598 46.672 7784
+-124.472 46.672 7960
+-124.346 46.672 8068
+-124.22 46.672 8157
+-124.094 46.672 8298
+-123.968 46.672 8451
+-123.842 46.672 8605
+-123.716 46.672 8660
+-123.59 46.672 8776
+-123.464 46.672 8927
+-123.338 46.672 9087
+-123.212 46.672 9135
+-123.086 46.672 9223
+-122.96 46.672 9224
+-122.834 46.672 9187
+-122.708 46.672 9167
+-122.582 46.672 9054
+-122.456 46.672 8939
+-122.33 46.672 8856
+-122.204 46.672 8695
+-122.078 46.672 8645
+-121.952 46.672 8421
+-121.826 46.672 8306
+-121.7 46.672 8244
+-121.574 46.672 8070
+-121.448 46.672 7840
+-121.322 46.672 7709
+-121.196 46.672 7633
+-121.07 46.672 7470
+-120.944 46.672 7347
+-120.818 46.672 7218
+-120.692 46.672 7114
+-120.566 46.672 6837
+-120.44 46.672 7013
+-120.314 46.672 7149
+-120.188 46.672 7198
+-120.062 46.672 7368
+-119.936 46.672 7460
+-119.81 46.672 7589
+-119.684 46.672 7741
+-119.558 46.672 7812
+-119.432 46.672 7973
+-119.306 46.672 8135
+-119.18 46.672 8171
+-119.054 46.672 8279
+-118.928 46.672 8400
+-118.802 46.672 8504
+-118.676 46.672 8572
+-118.55 46.672 8626
+-118.424 46.672 8679
+-118.298 46.672 8654
+-118.172 46.672 8628
+-118.046 46.672 8565
+-117.92 46.672 8535
+-117.794 46.672 8410
+-117.668 46.672 8276
+-117.542 46.672 8209
+-117.416 46.672 8109
+-117.29 46.672 8029
+-117.164 46.672 7893
+-117.038 46.672 7818
+-116.912 46.672 7657
+-116.786 46.672 7570
+-116.66 46.672 7436
+-116.534 46.672 7238
+-116.408 46.672 7092
+-116.282 46.672 7032
+-116.156 46.672 6926
+-116.03 46.672 6683
+-115.904 46.672 6596
+-115.778 46.672 6464
+-115.652 46.672 6390
+-115.526 46.672 6247
+-115.4 46.672 6098
+-115.274 46.672 5919
+-115.148 46.672 5776
+-115.022 46.672 5677
+-114.896 46.672 5499
+-114.77 46.672 5368
+-114.644 46.672 5343
+-114.518 46.672 5236
+-114.392 46.672 5040
+-114.266 46.672 4997
+-114.14 46.672 4890
+-114.014 46.672 4687
+-113.888 46.672 4526
+-113.762 46.672 4404
+-113.636 46.672 4380
+-113.51 46.672 4353
+-113.384 46.672 4296
+-113.258 46.672 4231
+-113.132 46.672 4179
+-113.006 46.672 4093
+-112.88 46.672 4037
+-112.754 46.672 4014
+-112.628 46.672 3973
+-112.502 46.672 3962
+-112.376 46.672 3937
+-112.25 46.672 3935
+-112.124 46.672 3935
+-111.998 46.672 3891
+-111.872 46.672 3850
+-111.746 46.672 3851
+-111.62 46.672 3852
+-111.494 46.672 3853
+-111.368 46.672 3854
+-111.242 46.672 3855
+-111.116 46.672 3856
+-110.99 46.672 3858
+-110.864 46.672 3802
+-110.738 46.672 3801
+-110.612 46.672 3801
+-110.486 46.672 3800
+-110.36 46.672 3800
+-110.234 46.672 3799
+-110.108 46.672 3799
+-109.982 46.672 3663
+-109.856 46.672 3587
+-109.73 46.672 3553
+-109.604 46.672 3549
+-109.478 46.672 3545
+-109.352 46.672 3480
+-109.226 46.672 3414
+-109.1 46.672 3409
+-108.974 46.672 3405
+-108.848 46.672 3401
+-108.722 46.672 3398
+-108.596 46.672 3394
+-108.47 46.672 3391
+-108.344 46.672 3388
+-108.218 46.672 3385
+-108.092 46.672 3382
+-107.966 46.672 3288
+-107.84 46.672 3286
+-107.714 46.672 3284
+-107.588 46.672 3282
+-107.462 46.672 3280
+-107.336 46.672 3278
+-107.21 46.672 3276
+-107.084 46.672 3275
+-106.958 46.672 3273
+-106.832 46.672 3272
+-106.706 46.672 3270
+-106.58 46.672 3269
+-106.454 46.672 3268
+-106.328 46.672 3267
+-106.202 46.672 3266
+-106.076 46.672 3265
+-105.95 46.672 3265
+-105.824 46.672 3264
+-105.698 46.672 3170
+-105.572 46.672 3169
+-105.446 46.672 3168
+-105.32 46.672 3168
+-105.194 46.672 3167
+-105.068 46.672 3166
+-104.942 46.672 3165
+-104.816 46.672 3165
+-104.69 46.672 3164
+-104.564 46.672 3163
+-104.438 46.672 3163
+-104.312 46.672 3162
+-104.186 46.672 3162
+-104.06 46.672 3138
+-103.934 46.672 3136
+-103.808 46.672 3134
+-103.682 46.672 3132
+-103.556 46.672 2989
+-103.43 46.672 2994
+-103.304 46.672 2890
+-103.178 46.672 2814
+-103.052 46.672 2872
+-102.926 46.672 2867
+-102.8 46.672 2886
+-102.674 46.672 2949
+-102.548 46.672 3001
+-102.422 46.672 3019
+-102.296 46.672 3042
+-102.17 46.672 3141
+-102.044 46.672 3144
+-101.918 46.672 3253
+-101.792 46.672 3275
+-101.666 46.672 3275
+-101.54 46.672 3275
+-101.414 46.672 3377
+-101.288 46.672 3377
+-101.162 46.672 3377
+-101.036 46.672 3337
+-100.91 46.672 3434
+-100.784 46.672 3443
+-100.658 46.672 3443
+-100.532 46.672 3440
+-100.406 46.672 3440
+-100.28 46.672 3410
+-100.154 46.672 3406
+-100.028 46.672 3327
+-99.902 46.672 3466
+-99.776 46.672 3482
+-99.65 46.672 3440
+-99.524 46.672 3439
+-99.398 46.672 3439
+-99.272 46.672 3454
+-99.146 46.672 3403
+-99.02 46.672 3412
+-98.894 46.672 3407
+-98.768 46.672 3406
+-98.642 46.672 3406
+-98.516 46.672 3406
+-98.39 46.672 3405
+-98.264 46.672 3203
+-98.138 46.672 3231
+-98.012 46.672 3229
+-97.886 46.672 3226
+-97.76 46.672 3208
+-97.634 46.672 3256
+-97.508 46.672 3227
+-97.382 46.672 3224
+-97.256 46.672 3203
+-97.13 46.672 3200
+-97.004 46.672 3121
+-96.878 46.672 3155
+-96.752 46.672 3151
+-96.626 46.672 3147
+-96.5 46.672 3142
+-96.374 46.672 3128
+-96.248 46.672 3123
+-96.122 46.672 3118
+-95.996 46.672 3112
+-95.87 46.672 3107
+-95.744 46.672 3029
+-95.618 46.672 3011
+-95.492 46.672 2986
+-95.366 46.672 2935
+-95.24 46.672 2919
+-95.114 46.672 2897
+-94.988 46.672 2889
+-94.862 46.672 2878
+-94.736 46.672 2856
+-94.61 46.672 2830
+-94.484 46.672 2819
+-94.358 46.672 2807
+-94.232 46.672 2794
+-94.106 46.672 2780
+-93.98 46.672 2765
+-93.854 46.672 2749
+-93.728 46.672 2731
+-93.602 46.672 2712
+-93.476 46.672 2691
+-93.35 46.672 2669
+-93.224 46.672 2645
+-93.098 46.672 2618
+-92.972 46.672 2589
+-92.846 46.672 2557
+-92.72 46.672 2523
+-92.594 46.672 2486
+-92.468 46.672 2445
+-92.342 46.672 2330
+-92.216 46.672 2286
+-92.09 46.672 2232
+-91.964 46.672 2182
+-91.838 46.672 2131
+-91.712 46.672 2078
+-91.586 46.672 2026
+-91.46 46.672 1975
+-91.334 46.672 1929
+-91.208 46.672 1890
+-91.082 46.672 1860
+-90.956 46.672 1841
+-90.83 46.672 1835
+-90.704 46.672 1843
+-90.578 46.672 1864
+-90.452 46.672 1896
+-90.326 46.672 1937
+-90.2 46.672 1983
+-90.074 46.672 2033
+-89.948 46.672 2063
+-89.822 46.672 2111
+-89.696 46.672 2156
+-89.57 46.672 2198
+-89.444 46.672 2236
+-89.318 46.672 2271
+-89.192 46.672 2302
+-89.066 46.672 2329
+-88.94 46.672 2353
+-88.814 46.672 2375
+-88.688 46.672 2394
+-88.562 46.672 2411
+-88.436 46.672 2426
+-88.31 46.672 2440
+-88.184 46.672 2452
+-88.058 46.672 2463
+-87.932 46.672 2473
+-87.806 46.672 2481
+-87.68 46.672 2489
+-87.554 46.672 2497
+-87.428 46.672 2503
+-87.302 46.672 2509
+-87.176 46.672 2515
+-87.05 46.672 2527
+-86.924 46.672 2531
+-86.798 46.672 2535
+-86.672 46.672 2539
+-86.546 46.672 2472
+-86.42 46.672 2474
+-86.294 46.672 2475
+-86.168 46.672 2477
+-86.042 46.672 2478
+-85.916 46.672 2478
+-85.79 46.672 2479
+-85.664 46.672 2479
+-85.538 46.672 2480
+-85.412 46.672 2480
+-85.286 46.672 2485
+-85.16 46.672 2496
+-85.034 46.672 2496
+-84.908 46.672 2496
+-84.782 46.672 2497
+-84.656 46.672 2515
+-84.53 46.672 2516
+-84.404 46.672 2516
+-84.278 46.672 2517
+-84.152 46.672 2522
+-84.026 46.672 2632
+-83.9 46.672 2632
+-83.774 46.672 2632
+-83.648 46.672 2637
+-83.522 46.672 2637
+-83.396 46.672 2640
+-83.27 46.672 2653
+-83.144 46.672 2641
+-83.018 46.672 2651
+-82.892 46.672 2652
+-82.766 46.672 2652
+-82.64 46.672 2653
+-82.514 46.672 2654
+-82.388 46.672 2655
+-82.262 46.672 2658
+-82.136 46.672 2732
+-82.01 46.672 2734
+-81.884 46.672 2735
+-81.758 46.672 2737
+-81.632 46.672 2752
+-81.506 46.672 2753
+-81.38 46.672 2742
+-81.254 46.672 2743
+-81.128 46.672 2745
+-81.002 46.672 2747
+-80.876 46.672 2725
+-80.75 46.672 2735
+-80.624 46.672 2737
+-80.498 46.672 2852
+-80.372 46.672 2819
+-80.246 46.672 2821
+-80.12 46.672 2940
+-79.994 46.672 2939
+-79.868 46.672 2908
+-79.742 46.672 2963
+-79.616 46.672 2868
+-79.49 46.672 2894
+-79.364 46.672 2944
+-79.238 46.672 2854
+-79.112 46.672 2862
+-78.986 46.672 2776
+-78.86 46.672 2774
+-78.734 46.672 2789
+-78.608 46.672 2765
+-78.482 46.672 2768
+-78.356 46.672 2770
+-78.23 46.672 2716
+-78.104 46.672 2754
+-77.978 46.672 2748
+-77.852 46.672 2740
+-77.726 46.672 2742
+-77.6 46.672 2744
+-77.474 46.672 2746
+-77.348 46.672 2693
+-77.222 46.672 2690
+-77.096 46.672 2692
+-76.97 46.672 2694
+-76.844 46.672 2695
+-76.718 46.672 2693
+-76.592 46.672 2641
+-76.466 46.672 2743
+-76.34 46.672 2740
+-76.214 46.672 2747
+-76.088 46.672 2748
+-75.962 46.672 2750
+-75.836 46.672 2751
+-75.71 46.672 2775
+-75.584 46.672 2756
+-75.458 46.672 2818
+-75.332 46.672 2819
+-75.206 46.672 2811
+-75.08 46.672 2819
+-74.954 46.672 2821
+-74.828 46.672 2822
+-74.702 46.672 2811
+-74.576 46.672 2926
+-74.45 46.672 2927
+-74.324 46.672 2929
+-74.198 46.672 2930
+-74.072 46.672 3030
+-73.946 46.672 2985
+-73.82 46.672 3136
+-73.694 46.672 3137
+-73.568 46.672 3101
+-73.442 46.672 3102
+-73.316 46.672 3103
+-73.19 46.672 3103
+-73.064 46.672 3104
+-72.938 46.672 3105
+-72.812 46.672 3200
+-72.686 46.672 3195
+-72.56 46.672 3196
+-72.434 46.672 3197
+-72.308 46.672 3198
+-72.182 46.672 3142
+-72.056 46.672 3177
+-71.93 46.672 3178
+-71.804 46.672 3254
+-71.678 46.672 3164
+-71.552 46.672 3165
+-71.426 46.672 3166
+-71.3 46.672 3214
+-71.174 46.672 3168
+-71.048 46.672 3169
+-70.922 46.672 3170
+-70.796 46.672 3398
+-70.67 46.672 3344
+-70.544 46.672 3345
+-70.418 46.672 3477
+-70.292 46.672 3449
+-70.166 46.672 3450
+-70.04 46.672 3396
+-69.914 46.672 3469
+-69.788 46.672 3470
+-69.662 46.672 3470
+-69.536 46.672 3471
+-69.41 46.672 3471
+-69.284 46.672 3471
+-69.158 46.672 3472
+-69.032 46.672 3472
+-68.906 46.672 3461
+-68.78 46.672 3408
+-68.654 46.672 3402
+-68.528 46.672 3403
+-68.402 46.672 3403
+-68.276 46.672 3404
+-68.15 46.672 3404
+-68.024 46.672 3405
+-67.898 46.672 3405
+-67.772 46.672 3406
+-67.646 46.672 3406
+-67.52 46.672 3407
+-67.394 46.672 3407
+-67.268 46.672 3407
+-67.142 46.672 3408
+-67.016 46.672 3408
+-66.89 46.672 3409
+-66.764 46.672 3522
+-66.638 46.672 3522
+-66.512 46.672 3506
+-66.386 46.672 3506
+-66.26 46.672 3507
+-66.134 46.672 3507
+-66.008 46.672 3507
+-65.882 46.672 3508
+-65.756 46.672 3508
+-65.63 46.672 3509
+-65.504 46.672 3509
+-65.378 46.672 3509
+-65.252 46.672 3510
+-65.126 46.672 3551
+-128 46.62 4587
+-127.874 46.62 4583
+-127.748 46.62 4605
+-127.622 46.62 4675
+-127.496 46.62 4791
+-127.37 46.62 4919
+-127.244 46.62 5058
+-127.118 46.62 5204
+-126.992 46.62 5327
+-126.866 46.62 5511
+-126.74 46.62 5578
+-126.614 46.62 5708
+-126.488 46.62 5803
+-126.362 46.62 5895
+-126.236 46.62 6001
+-126.11 46.62 6126
+-125.984 46.62 6225
+-125.858 46.62 6405
+-125.732 46.62 6548
+-125.606 46.62 6668
+-125.48 46.62 6818
+-125.354 46.62 6981
+-125.228 46.62 7077
+-125.102 46.62 7251
+-124.976 46.62 7366
+-124.85 46.62 7486
+-124.724 46.62 7578
+-124.598 46.62 7764
+-124.472 46.62 7942
+-124.346 46.62 8085
+-124.22 46.62 8131
+-124.094 46.62 8269
+-123.968 46.62 8425
+-123.842 46.62 8533
+-123.716 46.62 8730
+-123.59 46.62 8811
+-123.464 46.62 8941
+-123.338 46.62 8987
+-123.212 46.62 9094
+-123.086 46.62 9143
+-122.96 46.62 9192
+-122.834 46.62 9155
+-122.708 46.62 9138
+-122.582 46.62 8968
+-122.456 46.62 8915
+-122.33 46.62 8777
+-122.204 46.62 8661
+-122.078 46.62 8606
+-121.952 46.62 8486
+-121.826 46.62 8279
+-121.7 46.62 8201
+-121.574 46.62 8024
+-121.448 46.62 7874
+-121.322 46.62 7817
+-121.196 46.62 7601
+-121.07 46.62 7469
+-120.944 46.62 7349
+-120.818 46.62 7161
+-120.692 46.62 7084
+-120.566 46.62 6877
+-120.44 46.62 7010
+-120.314 46.62 7135
+-120.188 46.62 7233
+-120.062 46.62 7381
+-119.936 46.62 7475
+-119.81 46.62 7566
+-119.684 46.62 7796
+-119.558 46.62 7936
+-119.432 46.62 8003
+-119.306 46.62 8119
+-119.18 46.62 8257
+-119.054 46.62 8354
+-118.928 46.62 8433
+-118.802 46.62 8523
+-118.676 46.62 8614
+-118.55 46.62 8723
+-118.424 46.62 8696
+-118.298 46.62 8734
+-118.172 46.62 8686
+-118.046 46.62 8610
+-117.92 46.62 8592
+-117.794 46.62 8474
+-117.668 46.62 8327
+-117.542 46.62 8246
+-117.416 46.62 8154
+-117.29 46.62 7989
+-117.164 46.62 7857
+-117.038 46.62 7766
+-116.912 46.62 7688
+-116.786 46.62 7524
+-116.66 46.62 7353
+-116.534 46.62 7272
+-116.408 46.62 7159
+-116.282 46.62 7019
+-116.156 46.62 6892
+-116.03 46.62 6767
+-115.904 46.62 6606
+-115.778 46.62 6470
+-115.652 46.62 6408
+-115.526 46.62 6207
+-115.4 46.62 6125
+-115.274 46.62 5939
+-115.148 46.62 5805
+-115.022 46.62 5708
+-114.896 46.62 5598
+-114.77 46.62 5475
+-114.644 46.62 5370
+-114.518 46.62 5232
+-114.392 46.62 5062
+-114.266 46.62 4950
+-114.14 46.62 4878
+-114.014 46.62 4668
+-113.888 46.62 4527
+-113.762 46.62 4485
+-113.636 46.62 4437
+-113.51 46.62 4356
+-113.384 46.62 4285
+-113.258 46.62 4204
+-113.132 46.62 4113
+-113.006 46.62 4044
+-112.88 46.62 3986
+-112.754 46.62 3962
+-112.628 46.62 3940
+-112.502 46.62 3918
+-112.376 46.62 3916
+-112.25 46.62 3919
+-112.124 46.62 3882
+-111.998 46.62 3843
+-111.872 46.62 3831
+-111.746 46.62 3834
+-111.62 46.62 3837
+-111.494 46.62 3839
+-111.368 46.62 3842
+-111.242 46.62 3844
+-111.116 46.62 3846
+-110.99 46.62 3849
+-110.864 46.62 3851
+-110.738 46.62 3853
+-110.612 46.62 3798
+-110.486 46.62 3798
+-110.36 46.62 3798
+-110.234 46.62 3798
+-110.108 46.62 3662
+-109.982 46.62 3586
+-109.856 46.62 3583
+-109.73 46.62 3580
+-109.604 46.62 3533
+-109.478 46.62 3529
+-109.352 46.62 3480
+-109.226 46.62 3477
+-109.1 46.62 3411
+-108.974 46.62 3406
+-108.848 46.62 3403
+-108.722 46.62 3399
+-108.596 46.62 3395
+-108.47 46.62 3392
+-108.344 46.62 3389
+-108.218 46.62 3386
+-108.092 46.62 3384
+-107.966 46.62 3381
+-107.84 46.62 3288
+-107.714 46.62 3286
+-107.588 46.62 3284
+-107.462 46.62 3282
+-107.336 46.62 3280
+-107.21 46.62 3278
+-107.084 46.62 3277
+-106.958 46.62 3275
+-106.832 46.62 3274
+-106.706 46.62 3273
+-106.58 46.62 3271
+-106.454 46.62 3270
+-106.328 46.62 3269
+-106.202 46.62 3268
+-106.076 46.62 3267
+-105.95 46.62 3266
+-105.824 46.62 3266
+-105.698 46.62 3265
+-105.572 46.62 3171
+-105.446 46.62 3170
+-105.32 46.62 3170
+-105.194 46.62 3169
+-105.068 46.62 3168
+-104.942 46.62 3167
+-104.816 46.62 3166
+-104.69 46.62 3166
+-104.564 46.62 3165
+-104.438 46.62 3165
+-104.312 46.62 3164
+-104.186 46.62 3141
+-104.06 46.62 3139
+-103.934 46.62 3137
+-103.808 46.62 3135
+-103.682 46.62 2992
+-103.556 46.62 2942
+-103.43 46.62 2838
+-103.304 46.62 2815
+-103.178 46.62 2815
+-103.052 46.62 2873
+-102.926 46.62 2868
+-102.8 46.62 2888
+-102.674 46.62 2951
+-102.548 46.62 3003
+-102.422 46.62 3020
+-102.296 46.62 3025
+-102.17 46.62 3162
+-102.044 46.62 3249
+-101.918 46.62 3249
+-101.792 46.62 3252
+-101.666 46.62 3274
+-101.54 46.62 3274
+-101.414 46.62 3274
+-101.288 46.62 3376
+-101.162 46.62 3376
+-101.036 46.62 3376
+-100.91 46.62 3336
+-100.784 46.62 3433
+-100.658 46.62 3442
+-100.532 46.62 3442
+-100.406 46.62 3439
+-100.28 46.62 3439
+-100.154 46.62 3409
+-100.028 46.62 3405
+-99.902 46.62 3326
+-99.776 46.62 3465
+-99.65 46.62 3481
+-99.524 46.62 3439
+-99.398 46.62 3439
+-99.272 46.62 3438
+-99.146 46.62 3453
+-99.02 46.62 3402
+-98.894 46.62 3411
+-98.768 46.62 3410
+-98.642 46.62 3405
+-98.516 46.62 3405
+-98.39 46.62 3405
+-98.264 46.62 3404
+-98.138 46.62 3203
+-98.012 46.62 3231
+-97.886 46.62 3228
+-97.76 46.62 3226
+-97.634 46.62 3208
+-97.508 46.62 3255
+-97.382 46.62 3226
+-97.256 46.62 3223
+-97.13 46.62 3202
+-97.004 46.62 3199
+-96.878 46.62 3120
+-96.752 46.62 3153
+-96.626 46.62 3149
+-96.5 46.62 3145
+-96.374 46.62 3140
+-96.248 46.62 3126
+-96.122 46.62 3121
+-95.996 46.62 3115
+-95.87 46.62 3110
+-95.744 46.62 3104
+-95.618 46.62 3026
+-95.492 46.62 3008
+-95.366 46.62 2983
+-95.24 46.62 2932
+-95.114 46.62 2915
+-94.988 46.62 2893
+-94.862 46.62 2884
+-94.736 46.62 2872
+-94.61 46.62 2850
+-94.484 46.62 2823
+-94.358 46.62 2811
+-94.232 46.62 2798
+-94.106 46.62 2784
+-93.98 46.62 2769
+-93.854 46.62 2753
+-93.728 46.62 2735
+-93.602 46.62 2716
+-93.476 46.62 2694
+-93.35 46.62 2671
+-93.224 46.62 2646
+-93.098 46.62 2619
+-92.972 46.62 2589
+-92.846 46.62 2556
+-92.72 46.62 2520
+-92.594 46.62 2480
+-92.468 46.62 2437
+-92.342 46.62 2360
+-92.216 46.62 2271
+-92.09 46.62 2219
+-91.964 46.62 2158
+-91.838 46.62 2100
+-91.712 46.62 2040
+-91.586 46.62 1979
+-91.46 46.62 1920
+-91.334 46.62 1864
+-91.208 46.62 1817
+-91.082 46.62 1780
+-90.956 46.62 1757
+-90.83 46.62 1750
+-90.704 46.62 1760
+-90.578 46.62 1785
+-90.452 46.62 1825
+-90.326 46.62 1874
+-90.2 46.62 1930
+-90.074 46.62 1989
+-89.948 46.62 2029
+-89.822 46.62 2084
+-89.696 46.62 2135
+-89.57 46.62 2182
+-89.444 46.62 2224
+-89.318 46.62 2261
+-89.192 46.62 2294
+-89.066 46.62 2323
+-88.94 46.62 2349
+-88.814 46.62 2371
+-88.688 46.62 2391
+-88.562 46.62 2408
+-88.436 46.62 2424
+-88.31 46.62 2437
+-88.184 46.62 2450
+-88.058 46.62 2461
+-87.932 46.62 2471
+-87.806 46.62 2480
+-87.68 46.62 2488
+-87.554 46.62 2495
+-87.428 46.62 2501
+-87.302 46.62 2507
+-87.176 46.62 2520
+-87.05 46.62 2525
+-86.924 46.62 2529
+-86.798 46.62 2533
+-86.672 46.62 2469
+-86.546 46.62 2471
+-86.42 46.62 2472
+-86.294 46.62 2474
+-86.168 46.62 2475
+-86.042 46.62 2476
+-85.916 46.62 2476
+-85.79 46.62 2477
+-85.664 46.62 2477
+-85.538 46.62 2477
+-85.412 46.62 2482
+-85.286 46.62 2493
+-85.16 46.62 2493
+-85.034 46.62 2494
+-84.908 46.62 2494
+-84.782 46.62 2513
+-84.656 46.62 2513
+-84.53 46.62 2513
+-84.404 46.62 2514
+-84.278 46.62 2519
+-84.152 46.62 2628
+-84.026 46.62 2628
+-83.9 46.62 2628
+-83.774 46.62 2633
+-83.648 46.62 2633
+-83.522 46.62 2636
+-83.396 46.62 2648
+-83.27 46.62 2636
+-83.144 46.62 2647
+-83.018 46.62 2647
+-82.892 46.62 2647
+-82.766 46.62 2648
+-82.64 46.62 2650
+-82.514 46.62 2651
+-82.388 46.62 2654
+-82.262 46.62 2727
+-82.136 46.62 2729
+-82.01 46.62 2730
+-81.884 46.62 2732
+-81.758 46.62 2747
+-81.632 46.62 2749
+-81.506 46.62 2737
+-81.38 46.62 2739
+-81.254 46.62 2741
+-81.128 46.62 2743
+-81.002 46.62 2721
+-80.876 46.62 2731
+-80.75 46.62 2733
+-80.624 46.62 2847
+-80.498 46.62 2815
+-80.372 46.62 2817
+-80.246 46.62 2935
+-80.12 46.62 2935
+-79.994 46.62 2904
+-79.868 46.62 2958
+-79.742 46.62 2864
+-79.616 46.62 2890
+-79.49 46.62 2940
+-79.364 46.62 2850
+-79.238 46.62 2858
+-79.112 46.62 2773
+-78.986 46.62 2771
+-78.86 46.62 2786
+-78.734 46.62 2762
+-78.608 46.62 2765
+-78.482 46.62 2767
+-78.356 46.62 2713
+-78.23 46.62 2751
+-78.104 46.62 2746
+-77.978 46.62 2737
+-77.852 46.62 2739
+-77.726 46.62 2742
+-77.6 46.62 2744
+-77.474 46.62 2692
+-77.348 46.62 2688
+-77.222 46.62 2690
+-77.096 46.62 2692
+-76.97 46.62 2694
+-76.844 46.62 2692
+-76.718 46.62 2640
+-76.592 46.62 2742
+-76.466 46.62 2739
+-76.34 46.62 2745
+-76.214 46.62 2747
+-76.088 46.62 2749
+-75.962 46.62 2750
+-75.836 46.62 2774
+-75.71 46.62 2754
+-75.584 46.62 2816
+-75.458 46.62 2818
+-75.332 46.62 2810
+-75.206 46.62 2818
+-75.08 46.62 2819
+-74.954 46.62 2821
+-74.828 46.62 2810
+-74.702 46.62 2925
+-74.576 46.62 2926
+-74.45 46.62 2928
+-74.324 46.62 2929
+-74.198 46.62 3029
+-74.072 46.62 2984
+-73.946 46.62 3135
+-73.82 46.62 3136
+-73.694 46.62 3100
+-73.568 46.62 3101
+-73.442 46.62 3102
+-73.316 46.62 3103
+-73.19 46.62 3104
+-73.064 46.62 3104
+-72.938 46.62 3199
+-72.812 46.62 3194
+-72.686 46.62 3195
+-72.56 46.62 3196
+-72.434 46.62 3197
+-72.308 46.62 3141
+-72.182 46.62 3177
+-72.056 46.62 3178
+-71.93 46.62 3253
+-71.804 46.62 3164
+-71.678 46.62 3165
+-71.552 46.62 3166
+-71.426 46.62 3213
+-71.3 46.62 3168
+-71.174 46.62 3169
+-71.048 46.62 3170
+-70.922 46.62 3398
+-70.796 46.62 3344
+-70.67 46.62 3344
+-70.544 46.62 3476
+-70.418 46.62 3449
+-70.292 46.62 3449
+-70.166 46.62 3395
+-70.04 46.62 3468
+-69.914 46.62 3469
+-69.788 46.62 3470
+-69.662 46.62 3470
+-69.536 46.62 3471
+-69.41 46.62 3470
+-69.284 46.62 3471
+-69.158 46.62 3472
+-69.032 46.62 3461
+-68.906 46.62 3408
+-68.78 46.62 3402
+-68.654 46.62 3402
+-68.528 46.62 3403
+-68.402 46.62 3403
+-68.276 46.62 3404
+-68.15 46.62 3404
+-68.024 46.62 3405
+-67.898 46.62 3405
+-67.772 46.62 3406
+-67.646 46.62 3406
+-67.52 46.62 3407
+-67.394 46.62 3407
+-67.268 46.62 3408
+-67.142 46.62 3408
+-67.016 46.62 3408
+-66.89 46.62 3521
+-66.764 46.62 3522
+-66.638 46.62 3506
+-66.512 46.62 3506
+-66.386 46.62 3507
+-66.26 46.62 3507
+-66.134 46.62 3507
+-66.008 46.62 3508
+-65.882 46.62 3508
+-65.756 46.62 3508
+-65.63 46.62 3509
+-65.504 46.62 3509
+-65.378 46.62 3509
+-65.252 46.62 3550
+-65.126 46.62 3551
+-128 46.568 4646
+-127.874 46.568 4637
+-127.748 46.568 4617
+-127.622 46.568 4599
+-127.496 46.568 4711
+-127.37 46.568 4886
+-127.244 46.568 5037
+-127.118 46.568 5189
+-126.992 46.568 5392
+-126.866 46.568 5479
+-126.74 46.568 5424
+-126.614 46.568 5661
+-126.488 46.568 5728
+-126.362 46.568 5864
+-126.236 46.568 6033
+-126.11 46.568 6087
+-125.984 46.568 6223
+-125.858 46.568 6419
+-125.732 46.568 6587
+-125.606 46.568 6710
+-125.48 46.568 6761
+-125.354 46.568 6994
+-125.228 46.568 7068
+-125.102 46.568 7166
+-124.976 46.568 7326
+-124.85 46.568 7452
+-124.724 46.568 7592
+-124.598 46.568 7756
+-124.472 46.568 7889
+-124.346 46.568 8007
+-124.22 46.568 8200
+-124.094 46.568 8253
+-123.968 46.568 8395
+-123.842 46.568 8565
+-123.716 46.568 8668
+-123.59 46.568 8805
+-123.464 46.568 8853
+-123.338 46.568 8936
+-123.212 46.568 9027
+-123.086 46.568 9080
+-122.96 46.568 9131
+-122.834 46.568 9133
+-122.708 46.568 9053
+-122.582 46.568 8978
+-122.456 46.568 8862
+-122.33 46.568 8765
+-122.204 46.568 8649
+-122.078 46.568 8564
+-121.952 46.568 8415
+-121.826 46.568 8226
+-121.7 46.568 8149
+-121.574 46.568 7958
+-121.448 46.568 7845
+-121.322 46.568 7698
+-121.196 46.568 7652
+-121.07 46.568 7465
+-120.944 46.568 7330
+-120.818 46.568 7143
+-120.692 46.568 7087
+-120.566 46.568 6999
+-120.44 46.568 7058
+-120.314 46.568 7126
+-120.188 46.568 7283
+-120.062 46.568 7445
+-119.936 46.568 7536
+-119.81 46.568 7642
+-119.684 46.568 7762
+-119.558 46.568 7844
+-119.432 46.568 8005
+-119.306 46.568 8121
+-119.18 46.568 8225
+-119.054 46.568 8443
+-118.928 46.568 8471
+-118.802 46.568 8606
+-118.676 46.568 8657
+-118.55 46.568 8752
+-118.424 46.568 8755
+-118.298 46.568 8758
+-118.172 46.568 8746
+-118.046 46.568 8670
+-117.92 46.568 8565
+-117.794 46.568 8499
+-117.668 46.568 8452
+-117.542 46.568 8276
+-117.416 46.568 8185
+-117.29 46.568 8045
+-117.164 46.568 7907
+-117.038 46.568 7808
+-116.912 46.568 7656
+-116.786 46.568 7550
+-116.66 46.568 7397
+-116.534 46.568 7259
+-116.408 46.568 7178
+-116.282 46.568 7061
+-116.156 46.568 6909
+-116.03 46.568 6769
+-115.904 46.568 6598
+-115.778 46.568 6454
+-115.652 46.568 6342
+-115.526 46.568 6204
+-115.4 46.568 6060
+-115.274 46.568 5969
+-115.148 46.568 5851
+-115.022 46.568 5750
+-114.896 46.568 5639
+-114.77 46.568 5506
+-114.644 46.568 5382
+-114.518 46.568 5256
+-114.392 46.568 5068
+-114.266 46.568 4948
+-114.14 46.568 4872
+-114.014 46.568 4699
+-113.888 46.568 4567
+-113.762 46.568 4497
+-113.636 46.568 4434
+-113.51 46.568 4345
+-113.384 46.568 4257
+-113.258 46.568 4122
+-113.132 46.568 4006
+-113.006 46.568 3948
+-112.88 46.568 3924
+-112.754 46.568 3896
+-112.628 46.568 3871
+-112.502 46.568 3869
+-112.376 46.568 3875
+-112.25 46.568 3847
+-112.124 46.568 3812
+-111.998 46.568 3820
+-111.872 46.568 3827
+-111.746 46.568 3833
+-111.62 46.568 3839
+-111.494 46.568 3844
+-111.368 46.568 3848
+-111.242 46.568 3853
+-111.116 46.568 3836
+-110.99 46.568 3839
+-110.864 46.568 3802
+-110.738 46.568 3803
+-110.612 46.568 3804
+-110.486 46.568 3806
+-110.36 46.568 3807
+-110.234 46.568 3660
+-110.108 46.568 3584
+-109.982 46.568 3581
+-109.856 46.568 3578
+-109.73 46.568 3575
+-109.604 46.568 3572
+-109.478 46.568 3526
+-109.352 46.568 3479
+-109.226 46.568 3476
+-109.1 46.568 3473
+-108.974 46.568 3407
+-108.848 46.568 3403
+-108.722 46.568 3400
+-108.596 46.568 3396
+-108.47 46.568 3393
+-108.344 46.568 3390
+-108.218 46.568 3387
+-108.092 46.568 3385
+-107.966 46.568 3382
+-107.84 46.568 3380
+-107.714 46.568 3288
+-107.588 46.568 3286
+-107.462 46.568 3284
+-107.336 46.568 3282
+-107.21 46.568 3280
+-107.084 46.568 3279
+-106.958 46.568 3277
+-106.832 46.568 3276
+-106.706 46.568 3274
+-106.58 46.568 3273
+-106.454 46.568 3272
+-106.328 46.568 3271
+-106.202 46.568 3270
+-106.076 46.568 3269
+-105.95 46.568 3268
+-105.824 46.568 3267
+-105.698 46.568 3267
+-105.572 46.568 3187
+-105.446 46.568 3186
+-105.32 46.568 3185
+-105.194 46.568 3184
+-105.068 46.568 3184
+-104.942 46.568 3183
+-104.816 46.568 3182
+-104.69 46.568 3182
+-104.564 46.568 3181
+-104.438 46.568 3181
+-104.312 46.568 3144
+-104.186 46.568 3142
+-104.06 46.568 3140
+-103.934 46.568 3138
+-103.808 46.568 3136
+-103.682 46.568 2946
+-103.556 46.568 2942
+-103.43 46.568 2839
+-103.304 46.568 2816
+-103.178 46.568 2815
+-103.052 46.568 2874
+-102.926 46.568 2783
+-102.8 46.568 2876
+-102.674 46.568 2938
+-102.548 46.568 2989
+-102.422 46.568 3095
+-102.296 46.568 3026
+-102.17 46.568 3131
+-102.044 46.568 3229
+-101.918 46.568 3248
+-101.792 46.568 3248
+-101.666 46.568 3251
+-101.54 46.568 3273
+-101.414 46.568 3273
+-101.288 46.568 3273
+-101.162 46.568 3375
+-101.036 46.568 3375
+-100.91 46.568 3375
+-100.784 46.568 3335
+-100.658 46.568 3432
+-100.532 46.568 3441
+-100.406 46.568 3440
+-100.28 46.568 3438
+-100.154 46.568 3438
+-100.028 46.568 3408
+-99.902 46.568 3404
+-99.776 46.568 3325
+-99.65 46.568 3464
+-99.524 46.568 3480
+-99.398 46.568 3438
+-99.272 46.568 3438
+-99.146 46.568 3437
+-99.02 46.568 3452
+-98.894 46.568 3401
+-98.768 46.568 3410
+-98.642 46.568 3405
+-98.516 46.568 3404
+-98.39 46.568 3404
+-98.264 46.568 3404
+-98.138 46.568 3403
+-98.012 46.568 3203
+-97.886 46.568 3230
+-97.76 46.568 3228
+-97.634 46.568 3225
+-97.508 46.568 3207
+-97.382 46.568 3254
+-97.256 46.568 3225
+-97.13 46.568 3222
+-97.004 46.568 3201
+-96.878 46.568 3198
+-96.752 46.568 3119
+-96.626 46.568 3152
+-96.5 46.568 3148
+-96.374 46.568 3143
+-96.248 46.568 3139
+-96.122 46.568 3124
+-95.996 46.568 3119
+-95.87 46.568 3113
+-95.744 46.568 3107
+-95.618 46.568 3101
+-95.492 46.568 3023
+-95.366 46.568 3005
+-95.24 46.568 2980
+-95.114 46.568 2929
+-94.988 46.568 2912
+-94.862 46.568 2889
+-94.736 46.568 2879
+-94.61 46.568 2867
+-94.484 46.568 2844
+-94.358 46.568 2816
+-94.232 46.568 2803
+-94.106 46.568 2789
+-93.98 46.568 2774
+-93.854 46.568 2758
+-93.728 46.568 2740
+-93.602 46.568 2720
+-93.476 46.568 2699
+-93.35 46.568 2675
+-93.224 46.568 2649
+-93.098 46.568 2621
+-92.972 46.568 2590
+-92.846 46.568 2556
+-92.72 46.568 2518
+-92.594 46.568 2477
+-92.468 46.568 2431
+-92.342 46.568 2381
+-92.216 46.568 2298
+-92.09 46.568 2203
+-91.964 46.568 2142
+-91.838 46.568 2071
+-91.712 46.568 2003
+-91.586 46.568 1933
+-91.46 46.568 1864
+-91.334 46.568 1798
+-91.208 46.568 1741
+-91.082 46.568 1696
+-90.956 46.568 1667
+-90.83 46.568 1658
+-90.704 46.568 1670
+-90.578 46.568 1702
+-90.452 46.568 1750
+-90.326 46.568 1810
+-90.2 46.568 1877
+-90.074 46.568 1946
+-89.948 46.568 2014
+-89.822 46.568 2060
+-89.696 46.568 2117
+-89.57 46.568 2169
+-89.444 46.568 2214
+-89.318 46.568 2254
+-89.192 46.568 2289
+-89.066 46.568 2319
+-88.94 46.568 2346
+-88.814 46.568 2368
+-88.688 46.568 2389
+-88.562 46.568 2406
+-88.436 46.568 2422
+-88.31 46.568 2436
+-88.184 46.568 2448
+-88.058 46.568 2459
+-87.932 46.568 2469
+-87.806 46.568 2478
+-87.68 46.568 2486
+-87.554 46.568 2493
+-87.428 46.568 2500
+-87.302 46.568 2512
+-87.176 46.568 2518
+-87.05 46.568 2523
+-86.924 46.568 2527
+-86.798 46.568 2466
+-86.672 46.568 2468
+-86.546 46.568 2470
+-86.42 46.568 2471
+-86.294 46.568 2472
+-86.168 46.568 2473
+-86.042 46.568 2474
+-85.916 46.568 2474
+-85.79 46.568 2475
+-85.664 46.568 2475
+-85.538 46.568 2479
+-85.412 46.568 2491
+-85.286 46.568 2491
+-85.16 46.568 2491
+-85.034 46.568 2491
+-84.908 46.568 2510
+-84.782 46.568 2510
+-84.656 46.568 2510
+-84.53 46.568 2511
+-84.404 46.568 2516
+-84.278 46.568 2624
+-84.152 46.568 2623
+-84.026 46.568 2623
+-83.9 46.568 2628
+-83.774 46.568 2628
+-83.648 46.568 2631
+-83.522 46.568 2643
+-83.396 46.568 2632
+-83.27 46.568 2642
+-83.144 46.568 2643
+-83.018 46.568 2643
+-82.892 46.568 2644
+-82.766 46.568 2645
+-82.64 46.568 2646
+-82.514 46.568 2649
+-82.388 46.568 2722
+-82.262 46.568 2723
+-82.136 46.568 2725
+-82.01 46.568 2727
+-81.884 46.568 2741
+-81.758 46.568 2743
+-81.632 46.568 2732
+-81.506 46.568 2734
+-81.38 46.568 2736
+-81.254 46.568 2739
+-81.128 46.568 2717
+-81.002 46.568 2726
+-80.876 46.568 2728
+-80.75 46.568 2842
+-80.624 46.568 2810
+-80.498 46.568 2812
+-80.372 46.568 2930
+-80.246 46.568 2929
+-80.12 46.568 2899
+-79.994 46.568 2953
+-79.868 46.568 2859
+-79.742 46.568 2886
+-79.616 46.568 2935
+-79.49 46.568 2846
+-79.364 46.568 2854
+-79.238 46.568 2770
+-79.112 46.568 2767
+-78.986 46.568 2782
+-78.86 46.568 2759
+-78.734 46.568 2762
+-78.608 46.568 2764
+-78.482 46.568 2711
+-78.356 46.568 2748
+-78.23 46.568 2743
+-78.104 46.568 2735
+-77.978 46.568 2737
+-77.852 46.568 2739
+-77.726 46.568 2742
+-77.6 46.568 2690
+-77.474 46.568 2686
+-77.348 46.568 2688
+-77.222 46.568 2690
+-77.096 46.568 2692
+-76.97 46.568 2690
+-76.844 46.568 2638
+-76.718 46.568 2740
+-76.592 46.568 2737
+-76.466 46.568 2744
+-76.34 46.568 2746
+-76.214 46.568 2747
+-76.088 46.568 2749
+-75.962 46.568 2773
+-75.836 46.568 2753
+-75.71 46.568 2815
+-75.584 46.568 2817
+-75.458 46.568 2809
+-75.332 46.568 2817
+-75.206 46.568 2818
+-75.08 46.568 2820
+-74.954 46.568 2809
+-74.828 46.568 2923
+-74.702 46.568 2925
+-74.576 46.568 2927
+-74.45 46.568 2928
+-74.324 46.568 3028
+-74.198 46.568 2983
+-74.072 46.568 3134
+-73.946 46.568 3135
+-73.82 46.568 3100
+-73.694 46.568 3100
+-73.568 46.568 3101
+-73.442 46.568 3102
+-73.316 46.568 3103
+-73.19 46.568 3104
+-73.064 46.568 3198
+-72.938 46.568 3193
+-72.812 46.568 3194
+-72.686 46.568 3195
+-72.56 46.568 3196
+-72.434 46.568 3140
+-72.308 46.568 3176
+-72.182 46.568 3177
+-72.056 46.568 3252
+-71.93 46.568 3163
+-71.804 46.568 3164
+-71.678 46.568 3165
+-71.552 46.568 3212
+-71.426 46.568 3167
+-71.3 46.568 3168
+-71.174 46.568 3169
+-71.048 46.568 3397
+-70.922 46.568 3343
+-70.796 46.568 3344
+-70.67 46.568 3476
+-70.544 46.568 3448
+-70.418 46.568 3449
+-70.292 46.568 3395
+-70.166 46.568 3468
+-70.04 46.568 3469
+-69.914 46.568 3469
+-69.788 46.568 3470
+-69.662 46.568 3470
+-69.536 46.568 3470
+-69.41 46.568 3471
+-69.284 46.568 3471
+-69.158 46.568 3460
+-69.032 46.568 3408
+-68.906 46.568 3402
+-68.78 46.568 3402
+-68.654 46.568 3403
+-68.528 46.568 3403
+-68.402 46.568 3404
+-68.276 46.568 3404
+-68.15 46.568 3405
+-68.024 46.568 3405
+-67.898 46.568 3405
+-67.772 46.568 3406
+-67.646 46.568 3406
+-67.52 46.568 3407
+-67.394 46.568 3407
+-67.268 46.568 3408
+-67.142 46.568 3408
+-67.016 46.568 3521
+-66.89 46.568 3521
+-66.764 46.568 3505
+-66.638 46.568 3506
+-66.512 46.568 3506
+-66.386 46.568 3507
+-66.26 46.568 3507
+-66.134 46.568 3507
+-66.008 46.568 3508
+-65.882 46.568 3508
+-65.756 46.568 3508
+-65.63 46.568 3509
+-65.504 46.568 3509
+-65.378 46.568 3550
+-65.252 46.568 3550
+-65.126 46.568 3551
+-128 46.516 4663
+-127.874 46.516 4654
+-127.748 46.516 4579
+-127.622 46.516 4483
+-127.496 46.516 4636
+-127.37 46.516 4833
+-127.244 46.516 5012
+-127.118 46.516 5189
+-126.992 46.516 5377
+-126.866 46.516 5487
+-126.74 46.516 5569
+-126.614 46.516 5596
+-126.488 46.516 5729
+-126.362 46.516 5886
+-126.236 46.516 6020
+-126.11 46.516 6145
+-125.984 46.516 6227
+-125.858 46.516 6409
+-125.732 46.516 6571
+-125.606 46.516 6645
+-125.48 46.516 6793
+-125.354 46.516 6897
+-125.228 46.516 7126
+-125.102 46.516 7176
+-124.976 46.516 7308
+-124.85 46.516 7457
+-124.724 46.516 7620
+-124.598 46.516 7691
+-124.472 46.516 7880
+-124.346 46.516 8012
+-124.22 46.516 8099
+-124.094 46.516 8247
+-123.968 46.516 8420
+-123.842 46.516 8506
+-123.716 46.516 8604
+-123.59 46.516 8735
+-123.464 46.516 8882
+-123.338 46.516 8931
+-123.212 46.516 9020
+-123.086 46.516 9037
+-122.96 46.516 9097
+-122.834 46.516 9039
+-122.708 46.516 8980
+-122.582 46.516 8897
+-122.456 46.516 8818
+-122.33 46.516 8741
+-122.204 46.516 8634
+-122.078 46.516 8548
+-121.952 46.516 8394
+-121.826 46.516 8222
+-121.7 46.516 8153
+-121.574 46.516 7983
+-121.448 46.516 7804
+-121.322 46.516 7721
+-121.196 46.516 7613
+-121.07 46.516 7409
+-120.944 46.516 7311
+-120.818 46.516 7188
+-120.692 46.516 7080
+-120.566 46.516 6841
+-120.44 46.516 7060
+-120.314 46.516 7166
+-120.188 46.516 7278
+-120.062 46.516 7395
+-119.936 46.516 7462
+-119.81 46.516 7642
+-119.684 46.516 7803
+-119.558 46.516 7914
+-119.432 46.516 8038
+-119.306 46.516 8145
+-119.18 46.516 8279
+-119.054 46.516 8383
+-118.928 46.516 8492
+-118.802 46.516 8630
+-118.676 46.516 8710
+-118.55 46.516 8765
+-118.424 46.516 8812
+-118.298 46.516 8842
+-118.172 46.516 8802
+-118.046 46.516 8789
+-117.92 46.516 8641
+-117.794 46.516 8537
+-117.668 46.516 8412
+-117.542 46.516 8318
+-117.416 46.516 8190
+-117.29 46.516 8071
+-117.164 46.516 7953
+-117.038 46.516 7790
+-116.912 46.516 7695
+-116.786 46.516 7560
+-116.66 46.516 7452
+-116.534 46.516 7286
+-116.408 46.516 7218
+-116.282 46.516 7055
+-116.156 46.516 6883
+-116.03 46.516 6778
+-115.904 46.516 6699
+-115.778 46.516 6474
+-115.652 46.516 6361
+-115.526 46.516 6266
+-115.4 46.516 6169
+-115.274 46.516 6026
+-115.148 46.516 5859
+-115.022 46.516 5729
+-114.896 46.516 5648
+-114.77 46.516 5535
+-114.644 46.516 5412
+-114.518 46.516 5246
+-114.392 46.516 5072
+-114.266 46.516 4950
+-114.14 46.516 4818
+-114.014 46.516 4664
+-113.888 46.516 4553
+-113.762 46.516 4463
+-113.636 46.516 4420
+-113.51 46.516 4327
+-113.384 46.516 4181
+-113.258 46.516 3984
+-113.132 46.516 3864
+-113.006 46.516 3864
+-112.88 46.516 3844
+-112.754 46.516 3811
+-112.628 46.516 3796
+-112.502 46.516 3807
+-112.376 46.516 3801
+-112.25 46.516 3818
+-112.124 46.516 3784
+-111.998 46.516 3797
+-111.872 46.516 3807
+-111.746 46.516 3816
+-111.62 46.516 3824
+-111.494 46.516 3830
+-111.368 46.516 3836
+-111.242 46.516 3842
+-111.116 46.516 3810
+-110.99 46.516 3812
+-110.864 46.516 3815
+-110.738 46.516 3817
+-110.612 46.516 3819
+-110.486 46.516 3821
+-110.36 46.516 3657
+-110.234 46.516 3582
+-110.108 46.516 3578
+-109.982 46.516 3575
+-109.856 46.516 3572
+-109.73 46.516 3569
+-109.604 46.516 3567
+-109.478 46.516 3564
+-109.352 46.516 3520
+-109.226 46.516 3474
+-109.1 46.516 3471
+-108.974 46.516 3469
+-108.848 46.516 3403
+-108.722 46.516 3400
+-108.596 46.516 3396
+-108.47 46.516 3393
+-108.344 46.516 3390
+-108.218 46.516 3388
+-108.092 46.516 3385
+-107.966 46.516 3383
+-107.84 46.516 3380
+-107.714 46.516 3378
+-107.588 46.516 3288
+-107.462 46.516 3286
+-107.336 46.516 3284
+-107.21 46.516 3282
+-107.084 46.516 3280
+-106.958 46.516 3279
+-106.832 46.516 3277
+-106.706 46.516 3276
+-106.58 46.516 3275
+-106.454 46.516 3274
+-106.328 46.516 3273
+-106.202 46.516 3271
+-106.076 46.516 3271
+-105.95 46.516 3270
+-105.824 46.516 3269
+-105.698 46.516 3189
+-105.572 46.516 3188
+-105.446 46.516 3187
+-105.32 46.516 3187
+-105.194 46.516 3186
+-105.068 46.516 3185
+-104.942 46.516 3184
+-104.816 46.516 3184
+-104.69 46.516 3183
+-104.564 46.516 3183
+-104.438 46.516 3182
+-104.312 46.516 3145
+-104.186 46.516 3143
+-104.06 46.516 3141
+-103.934 46.516 3139
+-103.808 46.516 2949
+-103.682 46.516 2945
+-103.556 46.516 2941
+-103.43 46.516 2777
+-103.304 46.516 2816
+-103.178 46.516 2862
+-103.052 46.516 2758
+-102.926 46.516 2844
+-102.8 46.516 2864
+-102.674 46.516 2921
+-102.548 46.516 3090
+-102.422 46.516 3072
+-102.296 46.516 3011
+-102.17 46.516 3130
+-102.044 46.516 3251
+-101.918 46.516 3228
+-101.792 46.516 3247
+-101.666 46.516 3247
+-101.54 46.516 3250
+-101.414 46.516 3272
+-101.288 46.516 3272
+-101.162 46.516 3272
+-101.036 46.516 3374
+-100.91 46.516 3374
+-100.784 46.516 3374
+-100.658 46.516 3334
+-100.532 46.516 3430
+-100.406 46.516 3439
+-100.28 46.516 3439
+-100.154 46.516 3437
+-100.028 46.516 3436
+-99.902 46.516 3407
+-99.776 46.516 3403
+-99.65 46.516 3324
+-99.524 46.516 3463
+-99.398 46.516 3479
+-99.272 46.516 3437
+-99.146 46.516 3437
+-99.02 46.516 3436
+-98.894 46.516 3451
+-98.768 46.516 3400
+-98.642 46.516 3409
+-98.516 46.516 3409
+-98.39 46.516 3403
+-98.264 46.516 3403
+-98.138 46.516 3403
+-98.012 46.516 3402
+-97.886 46.516 3202
+-97.76 46.516 3230
+-97.634 46.516 3227
+-97.508 46.516 3225
+-97.382 46.516 3207
+-97.256 46.516 3253
+-97.13 46.516 3224
+-97.004 46.516 3221
+-96.878 46.516 3201
+-96.752 46.516 3197
+-96.626 46.516 3119
+-96.5 46.516 3151
+-96.374 46.516 3146
+-96.248 46.516 3142
+-96.122 46.516 3137
+-95.996 46.516 3122
+-95.87 46.516 3117
+-95.744 46.516 3111
+-95.618 46.516 3105
+-95.492 46.516 3098
+-95.366 46.516 3021
+-95.24 46.516 3002
+-95.114 46.516 2977
+-94.988 46.516 2926
+-94.862 46.516 2908
+-94.736 46.516 2884
+-94.61 46.516 2874
+-94.484 46.516 2861
+-94.358 46.516 2838
+-94.232 46.516 2809
+-94.106 46.516 2795
+-93.98 46.516 2780
+-93.854 46.516 2763
+-93.728 46.516 2745
+-93.602 46.516 2726
+-93.476 46.516 2704
+-93.35 46.516 2680
+-93.224 46.516 2654
+-93.098 46.516 2626
+-92.972 46.516 2594
+-92.846 46.516 2559
+-92.72 46.516 2520
+-92.594 46.516 2477
+-92.468 46.516 2429
+-92.342 46.516 2376
+-92.216 46.516 2317
+-92.09 46.516 2227
+-91.964 46.516 2124
+-91.838 46.516 2052
+-91.712 46.516 1971
+-91.586 46.516 1891
+-91.46 46.516 1811
+-91.334 46.516 1734
+-91.208 46.516 1665
+-91.082 46.516 1610
+-90.956 46.516 1575
+-90.83 46.516 1563
+-90.704 46.516 1577
+-90.578 46.516 1616
+-90.452 46.516 1675
+-90.326 46.516 1747
+-90.2 46.516 1827
+-90.074 46.516 1907
+-89.948 46.516 1985
+-89.822 46.516 2039
+-89.696 46.516 2103
+-89.57 46.516 2159
+-89.444 46.516 2207
+-89.318 46.516 2249
+-89.192 46.516 2286
+-89.066 46.516 2317
+-88.94 46.516 2344
+-88.814 46.516 2367
+-88.688 46.516 2387
+-88.562 46.516 2405
+-88.436 46.516 2420
+-88.31 46.516 2434
+-88.184 46.516 2446
+-88.058 46.516 2457
+-87.932 46.516 2467
+-87.806 46.516 2476
+-87.68 46.516 2484
+-87.554 46.516 2492
+-87.428 46.516 2505
+-87.302 46.516 2511
+-87.176 46.516 2516
+-87.05 46.516 2521
+-86.924 46.516 2462
+-86.798 46.516 2464
+-86.672 46.516 2466
+-86.546 46.516 2468
+-86.42 46.516 2470
+-86.294 46.516 2471
+-86.168 46.516 2471
+-86.042 46.516 2472
+-85.916 46.516 2472
+-85.79 46.516 2472
+-85.664 46.516 2477
+-85.538 46.516 2488
+-85.412 46.516 2488
+-85.286 46.516 2488
+-85.16 46.516 2488
+-85.034 46.516 2507
+-84.908 46.516 2507
+-84.782 46.516 2507
+-84.656 46.516 2508
+-84.53 46.516 2512
+-84.404 46.516 2619
+-84.278 46.516 2619
+-84.152 46.516 2619
+-84.026 46.516 2623
+-83.9 46.516 2623
+-83.774 46.516 2626
+-83.648 46.516 2638
+-83.522 46.516 2627
+-83.396 46.516 2637
+-83.27 46.516 2638
+-83.144 46.516 2638
+-83.018 46.516 2639
+-82.892 46.516 2640
+-82.766 46.516 2642
+-82.64 46.516 2644
+-82.514 46.516 2716
+-82.388 46.516 2718
+-82.262 46.516 2720
+-82.136 46.516 2722
+-82.01 46.516 2736
+-81.884 46.516 2738
+-81.758 46.516 2727
+-81.632 46.516 2729
+-81.506 46.516 2732
+-81.38 46.516 2734
+-81.254 46.516 2713
+-81.128 46.516 2722
+-81.002 46.516 2724
+-80.876 46.516 2837
+-80.75 46.516 2806
+-80.624 46.516 2808
+-80.498 46.516 2924
+-80.372 46.516 2924
+-80.246 46.516 2894
+-80.12 46.516 2947
+-79.994 46.516 2855
+-79.868 46.516 2881
+-79.742 46.516 2930
+-79.616 46.516 2842
+-79.49 46.516 2850
+-79.364 46.516 2766
+-79.238 46.516 2764
+-79.112 46.516 2779
+-78.986 46.516 2756
+-78.86 46.516 2759
+-78.734 46.516 2761
+-78.608 46.516 2708
+-78.482 46.516 2746
+-78.356 46.516 2740
+-78.23 46.516 2732
+-78.104 46.516 2735
+-77.978 46.516 2737
+-77.852 46.516 2739
+-77.726 46.516 2688
+-77.6 46.516 2684
+-77.474 46.516 2686
+-77.348 46.516 2688
+-77.222 46.516 2690
+-77.096 46.516 2688
+-76.97 46.516 2637
+-76.844 46.516 2739
+-76.718 46.516 2736
+-76.592 46.516 2743
+-76.466 46.516 2744
+-76.34 46.516 2746
+-76.214 46.516 2748
+-76.088 46.516 2771
+-75.962 46.516 2752
+-75.836 46.516 2813
+-75.71 46.516 2815
+-75.584 46.516 2807
+-75.458 46.516 2815
+-75.332 46.516 2817
+-75.206 46.516 2819
+-75.08 46.516 2808
+-74.954 46.516 2922
+-74.828 46.516 2924
+-74.702 46.516 2925
+-74.576 46.516 2927
+-74.45 46.516 3027
+-74.324 46.516 2982
+-74.198 46.516 3133
+-74.072 46.516 3134
+-73.946 46.516 3099
+-73.82 46.516 3100
+-73.694 46.516 3100
+-73.568 46.516 3101
+-73.442 46.516 3102
+-73.316 46.516 3103
+-73.19 46.516 3197
+-73.064 46.516 3192
+-72.938 46.516 3194
+-72.812 46.516 3195
+-72.686 46.516 3196
+-72.56 46.516 3140
+-72.434 46.516 3175
+-72.308 46.516 3176
+-72.182 46.516 3251
+-72.056 46.516 3162
+-71.93 46.516 3163
+-71.804 46.516 3164
+-71.678 46.516 3211
+-71.552 46.516 3166
+-71.426 46.516 3167
+-71.3 46.516 3168
+-71.174 46.516 3396
+-71.048 46.516 3342
+-70.922 46.516 3343
+-70.796 46.516 3475
+-70.67 46.516 3448
+-70.544 46.516 3448
+-70.418 46.516 3394
+-70.292 46.516 3467
+-70.166 46.516 3468
+-70.04 46.516 3469
+-69.914 46.516 3469
+-69.788 46.516 3470
+-69.662 46.516 3469
+-69.536 46.516 3470
+-69.41 46.516 3471
+-69.284 46.516 3460
+-69.158 46.516 3407
+-69.032 46.516 3401
+-68.906 46.516 3402
+-68.78 46.516 3402
+-68.654 46.516 3403
+-68.528 46.516 3403
+-68.402 46.516 3404
+-68.276 46.516 3404
+-68.15 46.516 3405
+-68.024 46.516 3405
+-67.898 46.516 3406
+-67.772 46.516 3406
+-67.646 46.516 3407
+-67.52 46.516 3407
+-67.394 46.516 3407
+-67.268 46.516 3408
+-67.142 46.516 3521
+-67.016 46.516 3521
+-66.89 46.516 3505
+-66.764 46.516 3506
+-66.638 46.516 3506
+-66.512 46.516 3506
+-66.386 46.516 3507
+-66.26 46.516 3507
+-66.134 46.516 3507
+-66.008 46.516 3508
+-65.882 46.516 3508
+-65.756 46.516 3508
+-65.63 46.516 3509
+-65.504 46.516 3550
+-65.378 46.516 3550
+-65.252 46.516 3551
+-65.126 46.516 3551
+-128 46.464 4685
+-127.874 46.464 4664
+-127.748 46.464 4626
+-127.622 46.464 4607
+-127.496 46.464 4699
+-127.37 46.464 4766
+-127.244 46.464 4928
+-127.118 46.464 5171
+-126.992 46.464 5332
+-126.866 46.464 5428
+-126.74 46.464 5549
+-126.614 46.464 5657
+-126.488 46.464 5755
+-126.362 46.464 5894
+-126.236 46.464 6023
+-126.11 46.464 6114
+-125.984 46.464 6259
+-125.858 46.464 6404
+-125.732 46.464 6512
+-125.606 46.464 6602
+-125.48 46.464 6805
+-125.354 46.464 6926
+-125.228 46.464 7057
+-125.102 46.464 7204
+-124.976 46.464 7331
+-124.85 46.464 7430
+-124.724 46.464 7607
+-124.598 46.464 7738
+-124.472 46.464 7897
+-124.346 46.464 7951
+-124.22 46.464 8063
+-124.094 46.464 8224
+-123.968 46.464 8412
+-123.842 46.464 8474
+-123.716 46.464 8579
+-123.59 46.464 8712
+-123.464 46.464 8818
+-123.338 46.464 8921
+-123.212 46.464 8961
+-123.086 46.464 8995
+-122.96 46.464 9032
+-122.834 46.464 8976
+-122.708 46.464 8945
+-122.582 46.464 8856
+-122.456 46.464 8868
+-122.33 46.464 8700
+-122.204 46.464 8593
+-122.078 46.464 8484
+-121.952 46.464 8380
+-121.826 46.464 8222
+-121.7 46.464 8124
+-121.574 46.464 7972
+-121.448 46.464 7843
+-121.322 46.464 7691
+-121.196 46.464 7542
+-121.07 46.464 7397
+-120.944 46.464 7351
+-120.818 46.464 7166
+-120.692 46.464 7022
+-120.566 46.464 6917
+-120.44 46.464 7055
+-120.314 46.464 7150
+-120.188 46.464 7227
+-120.062 46.464 7361
+-119.936 46.464 7520
+-119.81 46.464 7604
+-119.684 46.464 7765
+-119.558 46.464 7891
+-119.432 46.464 8054
+-119.306 46.464 8191
+-119.18 46.464 8283
+-119.054 46.464 8374
+-118.928 46.464 8536
+-118.802 46.464 8619
+-118.676 46.464 8792
+-118.55 46.464 8859
+-118.424 46.464 8883
+-118.298 46.464 8879
+-118.172 46.464 8840
+-118.046 46.464 8793
+-117.92 46.464 8677
+-117.794 46.464 8587
+-117.668 46.464 8480
+-117.542 46.464 8318
+-117.416 46.464 8201
+-117.29 46.464 8061
+-117.164 46.464 7921
+-117.038 46.464 7843
+-116.912 46.464 7737
+-116.786 46.464 7551
+-116.66 46.464 7415
+-116.534 46.464 7281
+-116.408 46.464 7219
+-116.282 46.464 7081
+-116.156 46.464 6933
+-116.03 46.464 6830
+-115.904 46.464 6658
+-115.778 46.464 6488
+-115.652 46.464 6409
+-115.526 46.464 6293
+-115.4 46.464 6184
+-115.274 46.464 6080
+-115.148 46.464 5880
+-115.022 46.464 5714
+-114.896 46.464 5536
+-114.77 46.464 5545
+-114.644 46.464 5420
+-114.518 46.464 5233
+-114.392 46.464 5066
+-114.266 46.464 4949
+-114.14 46.464 4811
+-114.014 46.464 4629
+-113.888 46.464 4544
+-113.762 46.464 4371
+-113.636 46.464 4398
+-113.51 46.464 4306
+-113.384 46.464 4133
+-113.258 46.464 3899
+-113.132 46.464 3755
+-113.006 46.464 3799
+-112.88 46.464 3755
+-112.754 46.464 3694
+-112.628 46.464 3695
+-112.502 46.464 3712
+-112.376 46.464 3751
+-112.25 46.464 3782
+-112.124 46.464 3805
+-111.998 46.464 3775
+-111.872 46.464 3789
+-111.746 46.464 3800
+-111.62 46.464 3809
+-111.494 46.464 3817
+-111.368 46.464 3825
+-111.242 46.464 3796
+-111.116 46.464 3800
+-110.99 46.464 3803
+-110.864 46.464 3806
+-110.738 46.464 3809
+-110.612 46.464 3812
+-110.486 46.464 3729
+-110.36 46.464 3578
+-110.234 46.464 3575
+-110.108 46.464 3572
+-109.982 46.464 3569
+-109.856 46.464 3566
+-109.73 46.464 3563
+-109.604 46.464 3561
+-109.478 46.464 3558
+-109.352 46.464 3556
+-109.226 46.464 3513
+-109.1 46.464 3469
+-108.974 46.464 3466
+-108.848 46.464 3464
+-108.722 46.464 3399
+-108.596 46.464 3396
+-108.47 46.464 3393
+-108.344 46.464 3390
+-108.218 46.464 3387
+-108.092 46.464 3385
+-107.966 46.464 3383
+-107.84 46.464 3380
+-107.714 46.464 3378
+-107.588 46.464 3377
+-107.462 46.464 3287
+-107.336 46.464 3285
+-107.21 46.464 3284
+-107.084 46.464 3282
+-106.958 46.464 3280
+-106.832 46.464 3279
+-106.706 46.464 3278
+-106.58 46.464 3276
+-106.454 46.464 3275
+-106.328 46.464 3274
+-106.202 46.464 3273
+-106.076 46.464 3272
+-105.95 46.464 3271
+-105.824 46.464 3191
+-105.698 46.464 3191
+-105.572 46.464 3190
+-105.446 46.464 3189
+-105.32 46.464 3188
+-105.194 46.464 3187
+-105.068 46.464 3186
+-104.942 46.464 3186
+-104.816 46.464 3185
+-104.69 46.464 3185
+-104.564 46.464 3184
+-104.438 46.464 3184
+-104.312 46.464 3146
+-104.186 46.464 3143
+-104.06 46.464 3141
+-103.934 46.464 2953
+-103.808 46.464 2949
+-103.682 46.464 2945
+-103.556 46.464 2816
+-103.43 46.464 2776
+-103.304 46.464 2863
+-103.178 46.464 2863
+-103.052 46.464 2826
+-102.926 46.464 2905
+-102.8 46.464 2866
+-102.674 46.464 2886
+-102.548 46.464 3052
+-102.422 46.464 3097
+-102.296 46.464 3189
+-102.17 46.464 3113
+-102.044 46.464 3246
+-101.918 46.464 3250
+-101.792 46.464 3227
+-101.666 46.464 3246
+-101.54 46.464 3246
+-101.414 46.464 3249
+-101.288 46.464 3271
+-101.162 46.464 3271
+-101.036 46.464 3271
+-100.91 46.464 3373
+-100.784 46.464 3373
+-100.658 46.464 3373
+-100.532 46.464 3333
+-100.406 46.464 3429
+-100.28 46.464 3438
+-100.154 46.464 3438
+-100.028 46.464 3435
+-99.902 46.464 3435
+-99.776 46.464 3406
+-99.65 46.464 3402
+-99.524 46.464 3324
+-99.398 46.464 3462
+-99.272 46.464 3478
+-99.146 46.464 3436
+-99.02 46.464 3436
+-98.894 46.464 3435
+-98.768 46.464 3450
+-98.642 46.464 3399
+-98.516 46.464 3408
+-98.39 46.464 3403
+-98.264 46.464 3402
+-98.138 46.464 3402
+-98.012 46.464 3402
+-97.886 46.464 3401
+-97.76 46.464 3202
+-97.634 46.464 3229
+-97.508 46.464 3227
+-97.382 46.464 3224
+-97.256 46.464 3206
+-97.13 46.464 3252
+-97.004 46.464 3224
+-96.878 46.464 3220
+-96.752 46.464 3200
+-96.626 46.464 3197
+-96.5 46.464 3118
+-96.374 46.464 3150
+-96.248 46.464 3145
+-96.122 46.464 3140
+-95.996 46.464 3135
+-95.87 46.464 3120
+-95.744 46.464 3115
+-95.618 46.464 3109
+-95.492 46.464 3102
+-95.366 46.464 3095
+-95.24 46.464 3018
+-95.114 46.464 2999
+-94.988 46.464 2974
+-94.862 46.464 2922
+-94.736 46.464 2904
+-94.61 46.464 2880
+-94.484 46.464 2869
+-94.358 46.464 2855
+-94.232 46.464 2831
+-94.106 46.464 2801
+-93.98 46.464 2786
+-93.854 46.464 2770
+-93.728 46.464 2752
+-93.602 46.464 2732
+-93.476 46.464 2711
+-93.35 46.464 2687
+-93.224 46.464 2661
+-93.098 46.464 2632
+-92.972 46.464 2600
+-92.846 46.464 2564
+-92.72 46.464 2524
+-92.594 46.464 2480
+-92.468 46.464 2430
+-92.342 46.464 2375
+-92.216 46.464 2313
+-92.09 46.464 2245
+-91.964 46.464 2146
+-91.838 46.464 2034
+-91.712 46.464 1949
+-91.586 46.464 1856
+-91.46 46.464 1765
+-91.334 46.464 1676
+-91.208 46.464 1595
+-91.082 46.464 1529
+-90.956 46.464 1485
+-90.83 46.464 1471
+-90.704 46.464 1488
+-90.578 46.464 1534
+-90.452 46.464 1604
+-90.326 46.464 1690
+-90.2 46.464 1782
+-90.074 46.464 1875
+-89.948 46.464 1962
+-89.822 46.464 2024
+-89.696 46.464 2093
+-89.57 46.464 2153
+-89.444 46.464 2204
+-89.318 46.464 2248
+-89.192 46.464 2285
+-89.066 46.464 2316
+-88.94 46.464 2343
+-88.814 46.464 2366
+-88.688 46.464 2387
+-88.562 46.464 2404
+-88.436 46.464 2419
+-88.31 46.464 2433
+-88.184 46.464 2445
+-88.058 46.464 2456
+-87.932 46.464 2466
+-87.806 46.464 2475
+-87.68 46.464 2483
+-87.554 46.464 2496
+-87.428 46.464 2503
+-87.302 46.464 2509
+-87.176 46.464 2514
+-87.05 46.464 2458
+-86.924 46.464 2461
+-86.798 46.464 2463
+-86.672 46.464 2465
+-86.546 46.464 2467
+-86.42 46.464 2468
+-86.294 46.464 2469
+-86.168 46.464 2469
+-86.042 46.464 2470
+-85.916 46.464 2470
+-85.79 46.464 2474
+-85.664 46.464 2486
+-85.538 46.464 2486
+-85.412 46.464 2486
+-85.286 46.464 2486
+-85.16 46.464 2504
+-85.034 46.464 2504
+-84.908 46.464 2504
+-84.782 46.464 2505
+-84.656 46.464 2509
+-84.53 46.464 2614
+-84.404 46.464 2614
+-84.278 46.464 2614
+-84.152 46.464 2618
+-84.026 46.464 2618
+-83.9 46.464 2621
+-83.774 46.464 2633
+-83.648 46.464 2622
+-83.522 46.464 2632
+-83.396 46.464 2633
+-83.27 46.464 2633
+-83.144 46.464 2634
+-83.018 46.464 2635
+-82.892 46.464 2637
+-82.766 46.464 2639
+-82.64 46.464 2711
+-82.514 46.464 2712
+-82.388 46.464 2714
+-82.262 46.464 2716
+-82.136 46.464 2730
+-82.01 46.464 2732
+-81.884 46.464 2722
+-81.758 46.464 2724
+-81.632 46.464 2727
+-81.506 46.464 2729
+-81.38 46.464 2708
+-81.254 46.464 2717
+-81.128 46.464 2720
+-81.002 46.464 2832
+-80.876 46.464 2801
+-80.75 46.464 2803
+-80.624 46.464 2919
+-80.498 46.464 2919
+-80.372 46.464 2889
+-80.246 46.464 2942
+-80.12 46.464 2850
+-79.994 46.464 2876
+-79.868 46.464 2925
+-79.742 46.464 2838
+-79.616 46.464 2846
+-79.49 46.464 2762
+-79.364 46.464 2760
+-79.238 46.464 2775
+-79.112 46.464 2753
+-78.986 46.464 2756
+-78.86 46.464 2758
+-78.734 46.464 2706
+-78.608 46.464 2743
+-78.482 46.464 2737
+-78.356 46.464 2729
+-78.23 46.464 2732
+-78.104 46.464 2734
+-77.978 46.464 2737
+-77.852 46.464 2686
+-77.726 46.464 2682
+-77.6 46.464 2685
+-77.474 46.464 2687
+-77.348 46.464 2689
+-77.222 46.464 2687
+-77.096 46.464 2636
+-76.97 46.464 2737
+-76.844 46.464 2734
+-76.718 46.464 2741
+-76.592 46.464 2743
+-76.466 46.464 2745
+-76.34 46.464 2746
+-76.214 46.464 2770
+-76.088 46.464 2751
+-75.962 46.464 2812
+-75.836 46.464 2814
+-75.71 46.464 2806
+-75.584 46.464 2814
+-75.458 46.464 2816
+-75.332 46.464 2818
+-75.206 46.464 2807
+-75.08 46.464 2921
+-74.954 46.464 2923
+-74.828 46.464 2924
+-74.702 46.464 2926
+-74.576 46.464 3026
+-74.45 46.464 2981
+-74.324 46.464 3132
+-74.198 46.464 3133
+-74.072 46.464 3098
+-73.946 46.464 3099
+-73.82 46.464 3100
+-73.694 46.464 3101
+-73.568 46.464 3101
+-73.442 46.464 3102
+-73.316 46.464 3196
+-73.19 46.464 3192
+-73.064 46.464 3193
+-72.938 46.464 3194
+-72.812 46.464 3195
+-72.686 46.464 3139
+-72.56 46.464 3174
+-72.434 46.464 3175
+-72.308 46.464 3250
+-72.182 46.464 3161
+-72.056 46.464 3162
+-71.93 46.464 3163
+-71.804 46.464 3211
+-71.678 46.464 3165
+-71.552 46.464 3166
+-71.426 46.464 3168
+-71.3 46.464 3396
+-71.174 46.464 3342
+-71.048 46.464 3343
+-70.922 46.464 3474
+-70.796 46.464 3447
+-70.67 46.464 3448
+-70.544 46.464 3394
+-70.418 46.464 3467
+-70.292 46.464 3468
+-70.166 46.464 3468
+-70.04 46.464 3469
+-69.914 46.464 3469
+-69.788 46.464 3469
+-69.662 46.464 3470
+-69.536 46.464 3470
+-69.41 46.464 3459
+-69.284 46.464 3407
+-69.158 46.464 3401
+-69.032 46.464 3401
+-68.906 46.464 3402
+-68.78 46.464 3402
+-68.654 46.464 3403
+-68.528 46.464 3403
+-68.402 46.464 3404
+-68.276 46.464 3404
+-68.15 46.464 3405
+-68.024 46.464 3405
+-67.898 46.464 3406
+-67.772 46.464 3406
+-67.646 46.464 3407
+-67.52 46.464 3407
+-67.394 46.464 3408
+-67.268 46.464 3520
+-67.142 46.464 3521
+-67.016 46.464 3505
+-66.89 46.464 3505
+-66.764 46.464 3506
+-66.638 46.464 3506
+-66.512 46.464 3506
+-66.386 46.464 3507
+-66.26 46.464 3507
+-66.134 46.464 3507
+-66.008 46.464 3508
+-65.882 46.464 3508
+-65.756 46.464 3508
+-65.63 46.464 3549
+-65.504 46.464 3550
+-65.378 46.464 3550
+-65.252 46.464 3551
+-65.126 46.464 3551
+-128 46.412 4660
+-127.874 46.412 4688
+-127.748 46.412 4686
+-127.622 46.412 4701
+-127.496 46.412 4723
+-127.37 46.412 4659
+-127.244 46.412 4844
+-127.118 46.412 5165
+-126.992 46.412 5319
+-126.866 46.412 5289
+-126.74 46.412 5444
+-126.614 46.412 5603
+-126.488 46.412 5743
+-126.362 46.412 5902
+-126.236 46.412 6004
+-126.11 46.412 6110
+-125.984 46.412 6258
+-125.858 46.412 6369
+-125.732 46.412 6505
+-125.606 46.412 6672
+-125.48 46.412 6804
+-125.354 46.412 6958
+-125.228 46.412 7062
+-125.102 46.412 7167
+-124.976 46.412 7317
+-124.85 46.412 7394
+-124.724 46.412 7584
+-124.598 46.412 7692
+-124.472 46.412 7844
+-124.346 46.412 7973
+-124.22 46.412 8077
+-124.094 46.412 8169
+-123.968 46.412 8272
+-123.842 46.412 8447
+-123.716 46.412 8573
+-123.59 46.412 8672
+-123.464 46.412 8783
+-123.338 46.412 8837
+-123.212 46.412 8905
+-123.086 46.412 8949
+-122.96 46.412 8968
+-122.834 46.412 8934
+-122.708 46.412 8877
+-122.582 46.412 8827
+-122.456 46.412 8748
+-122.33 46.412 8666
+-122.204 46.412 8600
+-122.078 46.412 8456
+-121.952 46.412 8307
+-121.826 46.412 8210
+-121.7 46.412 8055
+-121.574 46.412 7957
+-121.448 46.412 7806
+-121.322 46.412 7674
+-121.196 46.412 7556
+-121.07 46.412 7404
+-120.944 46.412 7295
+-120.818 46.412 7139
+-120.692 46.412 7026
+-120.566 46.412 6895
+-120.44 46.412 6999
+-120.314 46.412 7126
+-120.188 46.412 7312
+-120.062 46.412 7374
+-119.936 46.412 7535
+-119.81 46.412 7671
+-119.684 46.412 7822
+-119.558 46.412 7928
+-119.432 46.412 8083
+-119.306 46.412 8256
+-119.18 46.412 8355
+-119.054 46.412 8436
+-118.928 46.412 8547
+-118.802 46.412 8655
+-118.676 46.412 8776
+-118.55 46.412 8894
+-118.424 46.412 8905
+-118.298 46.412 8908
+-118.172 46.412 8900
+-118.046 46.412 8814
+-117.92 46.412 8700
+-117.794 46.412 8577
+-117.668 46.412 8461
+-117.542 46.412 8383
+-117.416 46.412 8219
+-117.29 46.412 8145
+-117.164 46.412 7991
+-117.038 46.412 7885
+-116.912 46.412 7714
+-116.786 46.412 7577
+-116.66 46.412 7474
+-116.534 46.412 7301
+-116.408 46.412 7230
+-116.282 46.412 7082
+-116.156 46.412 6952
+-116.03 46.412 6825
+-115.904 46.412 6672
+-115.778 46.412 6499
+-115.652 46.412 6411
+-115.526 46.412 6329
+-115.4 46.412 6223
+-115.274 46.412 6061
+-115.148 46.412 5897
+-115.022 46.412 5729
+-114.896 46.412 5656
+-114.77 46.412 5557
+-114.644 46.412 5383
+-114.518 46.412 5211
+-114.392 46.412 5126
+-114.266 46.412 4933
+-114.14 46.412 4832
+-114.014 46.412 4629
+-113.888 46.412 4528
+-113.762 46.412 4447
+-113.636 46.412 4371
+-113.51 46.412 4230
+-113.384 46.412 4120
+-113.258 46.412 3948
+-113.132 46.412 3827
+-113.006 46.412 3768
+-112.88 46.412 3631
+-112.754 46.412 3488
+-112.628 46.412 3537
+-112.502 46.412 3638
+-112.376 46.412 3707
+-112.25 46.412 3751
+-112.124 46.412 3781
+-111.998 46.412 3803
+-111.872 46.412 3772
+-111.746 46.412 3784
+-111.62 46.412 3795
+-111.494 46.412 3805
+-111.368 46.412 3780
+-111.242 46.412 3785
+-111.116 46.412 3790
+-110.99 46.412 3794
+-110.864 46.412 3798
+-110.738 46.412 3801
+-110.612 46.412 3737
+-110.486 46.412 3736
+-110.36 46.412 3735
+-110.234 46.412 3577
+-110.108 46.412 3575
+-109.982 46.412 3572
+-109.856 46.412 3570
+-109.73 46.412 3568
+-109.604 46.412 3566
+-109.478 46.412 3564
+-109.352 46.412 3562
+-109.226 46.412 3561
+-109.1 46.412 3493
+-108.974 46.412 3463
+-108.848 46.412 3461
+-108.722 46.412 3460
+-108.596 46.412 3395
+-108.47 46.412 3392
+-108.344 46.412 3390
+-108.218 46.412 3387
+-108.092 46.412 3385
+-107.966 46.412 3382
+-107.84 46.412 3380
+-107.714 46.412 3378
+-107.588 46.412 3376
+-107.462 46.412 3375
+-107.336 46.412 3286
+-107.21 46.412 3285
+-107.084 46.412 3283
+-106.958 46.412 3282
+-106.832 46.412 3280
+-106.706 46.412 3279
+-106.58 46.412 3278
+-106.454 46.412 3276
+-106.328 46.412 3275
+-106.202 46.412 3274
+-106.076 46.412 3273
+-105.95 46.412 3194
+-105.824 46.412 3193
+-105.698 46.412 3192
+-105.572 46.412 3191
+-105.446 46.412 3190
+-105.32 46.412 3189
+-105.194 46.412 3188
+-105.068 46.412 3188
+-104.942 46.412 3187
+-104.816 46.412 3186
+-104.69 46.412 3186
+-104.564 46.412 3185
+-104.438 46.412 3185
+-104.312 46.412 3146
+-104.186 46.412 3144
+-104.06 46.412 2957
+-103.934 46.412 2953
+-103.808 46.412 2948
+-103.682 46.412 2944
+-103.556 46.412 2805
+-103.43 46.412 2782
+-103.304 46.412 2807
+-103.178 46.412 2748
+-103.052 46.412 2828
+-102.926 46.412 2759
+-102.8 46.412 2803
+-102.674 46.412 2958
+-102.548 46.412 3079
+-102.422 46.412 3059
+-102.296 46.412 3148
+-102.17 46.412 3319
+-102.044 46.412 3220
+-101.918 46.412 3245
+-101.792 46.412 3249
+-101.666 46.412 3226
+-101.54 46.412 3245
+-101.414 46.412 3245
+-101.288 46.412 3248
+-101.162 46.412 3270
+-101.036 46.412 3270
+-100.91 46.412 3270
+-100.784 46.412 3371
+-100.658 46.412 3371
+-100.532 46.412 3371
+-100.406 46.412 3331
+-100.28 46.412 3428
+-100.154 46.412 3437
+-100.028 46.412 3436
+-99.902 46.412 3434
+-99.776 46.412 3434
+-99.65 46.412 3404
+-99.524 46.412 3401
+-99.398 46.412 3323
+-99.272 46.412 3461
+-99.146 46.412 3477
+-99.02 46.412 3435
+-98.894 46.412 3435
+-98.768 46.412 3434
+-98.642 46.412 3449
+-98.516 46.412 3398
+-98.39 46.412 3407
+-98.264 46.412 3407
+-98.138 46.412 3401
+-98.012 46.412 3401
+-97.886 46.412 3401
+-97.76 46.412 3400
+-97.634 46.412 3202
+-97.508 46.412 3229
+-97.382 46.412 3227
+-97.256 46.412 3224
+-97.13 46.412 3206
+-97.004 46.412 3251
+-96.878 46.412 3223
+-96.752 46.412 3220
+-96.626 46.412 3199
+-96.5 46.412 3196
+-96.374 46.412 3117
+-96.248 46.412 3149
+-96.122 46.412 3144
+-95.996 46.412 3139
+-95.87 46.412 3134
+-95.744 46.412 3119
+-95.618 46.412 3113
+-95.492 46.412 3107
+-95.366 46.412 3100
+-95.24 46.412 3093
+-95.114 46.412 3016
+-94.988 46.412 2996
+-94.862 46.412 2971
+-94.736 46.412 2919
+-94.61 46.412 2900
+-94.484 46.412 2876
+-94.358 46.412 2864
+-94.232 46.412 2849
+-94.106 46.412 2825
+-93.98 46.412 2794
+-93.854 46.412 2777
+-93.728 46.412 2760
+-93.602 46.412 2740
+-93.476 46.412 2719
+-93.35 46.412 2695
+-93.224 46.412 2669
+-93.098 46.412 2640
+-92.972 46.412 2608
+-92.846 46.412 2572
+-92.72 46.412 2532
+-92.594 46.412 2487
+-92.468 46.412 2436
+-92.342 46.412 2379
+-92.216 46.412 2315
+-92.09 46.412 2244
+-91.964 46.412 2164
+-91.838 46.412 2055
+-91.712 46.412 1933
+-91.586 46.412 1835
+-91.46 46.412 1731
+-91.334 46.412 1630
+-91.208 46.412 1536
+-91.082 46.412 1459
+-90.956 46.412 1407
+-90.83 46.412 1390
+-90.704 46.412 1409
+-90.578 46.412 1464
+-90.452 46.412 1546
+-90.326 46.412 1644
+-90.2 46.412 1749
+-90.074 46.412 1853
+-89.948 46.412 1948
+-89.822 46.412 2017
+-89.696 46.412 2090
+-89.57 46.412 2152
+-89.444 46.412 2205
+-89.318 46.412 2249
+-89.192 46.412 2286
+-89.066 46.412 2318
+-88.94 46.412 2344
+-88.814 46.412 2367
+-88.688 46.412 2387
+-88.562 46.412 2404
+-88.436 46.412 2419
+-88.31 46.412 2432
+-88.184 46.412 2444
+-88.058 46.412 2455
+-87.932 46.412 2464
+-87.806 46.412 2473
+-87.68 46.412 2487
+-87.554 46.412 2495
+-87.428 46.412 2501
+-87.302 46.412 2507
+-87.176 46.412 2454
+-87.05 46.412 2457
+-86.924 46.412 2460
+-86.798 46.412 2462
+-86.672 46.412 2464
+-86.546 46.412 2465
+-86.42 46.412 2466
+-86.294 46.412 2467
+-86.168 46.412 2467
+-86.042 46.412 2468
+-85.916 46.412 2472
+-85.79 46.412 2483
+-85.664 46.412 2483
+-85.538 46.412 2483
+-85.412 46.412 2483
+-85.286 46.412 2501
+-85.16 46.412 2501
+-85.034 46.412 2501
+-84.908 46.412 2502
+-84.782 46.412 2506
+-84.656 46.412 2610
+-84.53 46.412 2609
+-84.404 46.412 2609
+-84.278 46.412 2613
+-84.152 46.412 2613
+-84.026 46.412 2616
+-83.9 46.412 2627
+-83.774 46.412 2617
+-83.648 46.412 2626
+-83.522 46.412 2627
+-83.396 46.412 2628
+-83.27 46.412 2629
+-83.144 46.412 2630
+-83.018 46.412 2631
+-82.892 46.412 2634
+-82.766 46.412 2705
+-82.64 46.412 2706
+-82.514 46.412 2708
+-82.388 46.412 2710
+-82.262 46.412 2724
+-82.136 46.412 2727
+-82.01 46.412 2717
+-81.884 46.412 2719
+-81.758 46.412 2721
+-81.632 46.412 2724
+-81.506 46.412 2703
+-81.38 46.412 2713
+-81.254 46.412 2715
+-81.128 46.412 2826
+-81.002 46.412 2796
+-80.876 46.412 2798
+-80.75 46.412 2913
+-80.624 46.412 2913
+-80.498 46.412 2884
+-80.372 46.412 2936
+-80.246 46.412 2845
+-80.12 46.412 2871
+-79.994 46.412 2920
+-79.868 46.412 2833
+-79.742 46.412 2841
+-79.616 46.412 2759
+-79.49 46.412 2757
+-79.364 46.412 2772
+-79.238 46.412 2750
+-79.112 46.412 2752
+-78.986 46.412 2755
+-78.86 46.412 2703
+-78.734 46.412 2740
+-78.608 46.412 2735
+-78.482 46.412 2727
+-78.356 46.412 2729
+-78.23 46.412 2732
+-78.104 46.412 2734
+-77.978 46.412 2684
+-77.852 46.412 2680
+-77.726 46.412 2683
+-77.6 46.412 2685
+-77.474 46.412 2687
+-77.348 46.412 2685
+-77.222 46.412 2634
+-77.096 46.412 2736
+-76.97 46.412 2733
+-76.844 46.412 2740
+-76.718 46.412 2741
+-76.592 46.412 2743
+-76.466 46.412 2745
+-76.34 46.412 2769
+-76.214 46.412 2749
+-76.088 46.412 2810
+-75.962 46.412 2812
+-75.836 46.412 2805
+-75.71 46.412 2813
+-75.584 46.412 2814
+-75.458 46.412 2816
+-75.332 46.412 2806
+-75.206 46.412 2920
+-75.08 46.412 2921
+-74.954 46.412 2923
+-74.828 46.412 2925
+-74.702 46.412 3025
+-74.576 46.412 2980
+-74.45 46.412 3131
+-74.324 46.412 3132
+-74.198 46.412 3097
+-74.072 46.412 3098
+-73.946 46.412 3099
+-73.82 46.412 3100
+-73.694 46.412 3101
+-73.568 46.412 3101
+-73.442 46.412 3195
+-73.316 46.412 3191
+-73.19 46.412 3192
+-73.064 46.412 3193
+-72.938 46.412 3194
+-72.812 46.412 3138
+-72.686 46.412 3173
+-72.56 46.412 3174
+-72.434 46.412 3248
+-72.308 46.412 3160
+-72.182 46.412 3161
+-72.056 46.412 3163
+-71.93 46.412 3210
+-71.804 46.412 3165
+-71.678 46.412 3166
+-71.552 46.412 3167
+-71.426 46.412 3395
+-71.3 46.412 3341
+-71.174 46.412 3342
+-71.048 46.412 3473
+-70.922 46.412 3446
+-70.796 46.412 3447
+-70.67 46.412 3393
+-70.544 46.412 3466
+-70.418 46.412 3467
+-70.292 46.412 3468
+-70.166 46.412 3468
+-70.04 46.412 3469
+-69.914 46.412 3468
+-69.788 46.412 3469
+-69.662 46.412 3470
+-69.536 46.412 3459
+-69.41 46.412 3406
+-69.284 46.412 3400
+-69.158 46.412 3401
+-69.032 46.412 3401
+-68.906 46.412 3402
+-68.78 46.412 3402
+-68.654 46.412 3403
+-68.528 46.412 3403
+-68.402 46.412 3404
+-68.276 46.412 3404
+-68.15 46.412 3405
+-68.024 46.412 3405
+-67.898 46.412 3406
+-67.772 46.412 3406
+-67.646 46.412 3407
+-67.52 46.412 3407
+-67.394 46.412 3520
+-67.268 46.412 3520
+-67.142 46.412 3505
+-67.016 46.412 3505
+-66.89 46.412 3505
+-66.764 46.412 3506
+-66.638 46.412 3506
+-66.512 46.412 3506
+-66.386 46.412 3507
+-66.26 46.412 3507
+-66.134 46.412 3508
+-66.008 46.412 3508
+-65.882 46.412 3508
+-65.756 46.412 3549
+-65.63 46.412 3549
+-65.504 46.412 3550
+-65.378 46.412 3550
+-65.252 46.412 3551
+-65.126 46.412 3551
+-128 46.36 4619
+-127.874 46.36 4663
+-127.748 46.36 4700
+-127.622 46.36 4731
+-127.496 46.36 4748
+-127.37 46.36 4776
+-127.244 46.36 4914
+-127.118 46.36 5173
+-126.992 46.36 5299
+-126.866 46.36 5366
+-126.74 46.36 5334
+-126.614 46.36 5538
+-126.488 46.36 5674
+-126.362 46.36 5821
+-126.236 46.36 5990
+-126.11 46.36 6124
+-125.984 46.36 6197
+-125.858 46.36 6322
+-125.732 46.36 6499
+-125.606 46.36 6702
+-125.48 46.36 6709
+-125.354 46.36 6930
+-125.228 46.36 6975
+-125.102 46.36 7180
+-124.976 46.36 7303
+-124.85 46.36 7406
+-124.724 46.36 7522
+-124.598 46.36 7661
+-124.472 46.36 7788
+-124.346 46.36 7961
+-124.22 46.36 8042
+-124.094 46.36 8182
+-123.968 46.36 8279
+-123.842 46.36 8432
+-123.716 46.36 8504
+-123.59 46.36 8598
+-123.464 46.36 8743
+-123.338 46.36 8793
+-123.212 46.36 8883
+-123.086 46.36 8903
+-122.96 46.36 8888
+-122.834 46.36 8892
+-122.708 46.36 8823
+-122.582 46.36 8755
+-122.456 46.36 8681
+-122.33 46.36 8592
+-122.204 46.36 8530
+-122.078 46.36 8420
+-121.952 46.36 8347
+-121.826 46.36 8183
+-121.7 46.36 8100
+-121.574 46.36 7934
+-121.448 46.36 7808
+-121.322 46.36 7697
+-121.196 46.36 7544
+-121.07 46.36 7402
+-120.944 46.36 7228
+-120.818 46.36 7183
+-120.692 46.36 7020
+-120.566 46.36 6941
+-120.44 46.36 7055
+-120.314 46.36 7150
+-120.188 46.36 7313
+-120.062 46.36 7460
+-119.936 46.36 7555
+-119.81 46.36 7644
+-119.684 46.36 7844
+-119.558 46.36 7952
+-119.432 46.36 8100
+-119.306 46.36 8163
+-119.18 46.36 8363
+-119.054 46.36 8450
+-118.928 46.36 8631
+-118.802 46.36 8757
+-118.676 46.36 8879
+-118.55 46.36 8885
+-118.424 46.36 8997
+-118.298 46.36 8985
+-118.172 46.36 8938
+-118.046 46.36 8843
+-117.92 46.36 8753
+-117.794 46.36 8635
+-117.668 46.36 8487
+-117.542 46.36 8352
+-117.416 46.36 8262
+-117.29 46.36 8132
+-117.164 46.36 8022
+-117.038 46.36 7861
+-116.912 46.36 7753
+-116.786 46.36 7575
+-116.66 46.36 7444
+-116.534 46.36 7304
+-116.408 46.36 7184
+-116.282 46.36 7106
+-116.156 46.36 6891
+-116.03 46.36 6818
+-115.904 46.36 6668
+-115.778 46.36 6533
+-115.652 46.36 6376
+-115.526 46.36 6306
+-115.4 46.36 6200
+-115.274 46.36 5952
+-115.148 46.36 5894
+-115.022 46.36 5756
+-114.896 46.36 5658
+-114.77 46.36 5528
+-114.644 46.36 5265
+-114.518 46.36 5252
+-114.392 46.36 5083
+-114.266 46.36 4931
+-114.14 46.36 4795
+-114.014 46.36 4622
+-113.888 46.36 4578
+-113.762 46.36 4418
+-113.636 46.36 4341
+-113.51 46.36 4172
+-113.384 46.36 4123
+-113.258 46.36 3957
+-113.132 46.36 3799
+-113.006 46.36 3688
+-112.88 46.36 3539
+-112.754 46.36 3286
+-112.628 46.36 3449
+-112.502 46.36 3601
+-112.376 46.36 3684
+-112.25 46.36 3733
+-112.124 46.36 3765
+-111.998 46.36 3788
+-111.872 46.36 3806
+-111.746 46.36 3770
+-111.62 46.36 3782
+-111.494 46.36 3761
+-111.368 46.36 3768
+-111.242 46.36 3774
+-111.116 46.36 3780
+-110.99 46.36 3784
+-110.864 46.36 3789
+-110.738 46.36 3727
+-110.612 46.36 3726
+-110.486 46.36 3726
+-110.36 46.36 3608
+-110.234 46.36 3607
+-110.108 46.36 3567
+-109.982 46.36 3565
+-109.856 46.36 3563
+-109.73 46.36 3561
+-109.604 46.36 3559
+-109.478 46.36 3558
+-109.352 46.36 3556
+-109.226 46.36 3490
+-109.1 46.36 3488
+-108.974 46.36 3487
+-108.848 46.36 3458
+-108.722 46.36 3457
+-108.596 46.36 3455
+-108.47 46.36 3375
+-108.344 46.36 3372
+-108.218 46.36 3370
+-108.092 46.36 3367
+-107.966 46.36 3365
+-107.84 46.36 3363
+-107.714 46.36 3361
+-107.588 46.36 3359
+-107.462 46.36 3357
+-107.336 46.36 3355
+-107.21 46.36 3286
+-107.084 46.36 3284
+-106.958 46.36 3283
+-106.832 46.36 3281
+-106.706 46.36 3280
+-106.58 46.36 3279
+-106.454 46.36 3277
+-106.328 46.36 3276
+-106.202 46.36 3275
+-106.076 46.36 3196
+-105.95 46.36 3195
+-105.824 46.36 3194
+-105.698 46.36 3193
+-105.572 46.36 3192
+-105.446 46.36 3191
+-105.32 46.36 3190
+-105.194 46.36 3190
+-105.068 46.36 3189
+-104.942 46.36 3188
+-104.816 46.36 3188
+-104.69 46.36 3187
+-104.564 46.36 3186
+-104.438 46.36 3186
+-104.312 46.36 3147
+-104.186 46.36 2961
+-104.06 46.36 2956
+-103.934 46.36 2952
+-103.808 46.36 2948
+-103.682 46.36 2943
+-103.556 46.36 2783
+-103.43 46.36 2782
+-103.304 46.36 2864
+-103.178 46.36 2749
+-103.052 46.36 2887
+-102.926 46.36 2760
+-102.8 46.36 2805
+-102.674 46.36 2960
+-102.548 46.36 3048
+-102.422 46.36 3038
+-102.296 46.36 3172
+-102.17 46.36 3268
+-102.044 46.36 3317
+-101.918 46.36 3219
+-101.792 46.36 3243
+-101.666 46.36 3247
+-101.54 46.36 3225
+-101.414 46.36 3244
+-101.288 46.36 3244
+-101.162 46.36 3247
+-101.036 46.36 3269
+-100.91 46.36 3269
+-100.784 46.36 3269
+-100.658 46.36 3370
+-100.532 46.36 3370
+-100.406 46.36 3370
+-100.28 46.36 3330
+-100.154 46.36 3427
+-100.028 46.36 3435
+-99.902 46.36 3435
+-99.776 46.36 3433
+-99.65 46.36 3432
+-99.524 46.36 3403
+-99.398 46.36 3400
+-99.272 46.36 3322
+-99.146 46.36 3460
+-99.02 46.36 3475
+-98.894 46.36 3434
+-98.768 46.36 3434
+-98.642 46.36 3433
+-98.516 46.36 3448
+-98.39 46.36 3397
+-98.264 46.36 3406
+-98.138 46.36 3401
+-98.012 46.36 3400
+-97.886 46.36 3400
+-97.76 46.36 3400
+-97.634 46.36 3399
+-97.508 46.36 3202
+-97.382 46.36 3229
+-97.256 46.36 3226
+-97.13 46.36 3224
+-97.004 46.36 3206
+-96.878 46.36 3251
+-96.752 46.36 3223
+-96.626 46.36 3219
+-96.5 46.36 3199
+-96.374 46.36 3195
+-96.248 46.36 3117
+-96.122 46.36 3148
+-95.996 46.36 3143
+-95.87 46.36 3138
+-95.744 46.36 3132
+-95.618 46.36 3117
+-95.492 46.36 3111
+-95.366 46.36 3105
+-95.24 46.36 3098
+-95.114 46.36 3090
+-94.988 46.36 3013
+-94.862 46.36 2994
+-94.736 46.36 2968
+-94.61 46.36 2916
+-94.484 46.36 2897
+-94.358 46.36 2871
+-94.232 46.36 2859
+-94.106 46.36 2844
+-93.98 46.36 2818
+-93.854 46.36 2786
+-93.728 46.36 2769
+-93.602 46.36 2749
+-93.476 46.36 2728
+-93.35 46.36 2705
+-93.224 46.36 2679
+-93.098 46.36 2650
+-92.972 46.36 2618
+-92.846 46.36 2583
+-92.72 46.36 2542
+-92.594 46.36 2497
+-92.468 46.36 2446
+-92.342 46.36 2389
+-92.216 46.36 2324
+-92.09 46.36 2250
+-91.964 46.36 2168
+-91.838 46.36 2075
+-91.712 46.36 1956
+-91.586 46.36 1825
+-91.46 46.36 1715
+-91.334 46.36 1602
+-91.208 46.36 1498
+-91.082 46.36 1411
+-90.956 46.36 1352
+-90.83 46.36 1332
+-90.704 46.36 1353
+-90.578 46.36 1415
+-90.452 46.36 1507
+-90.326 46.36 1618
+-90.2 46.36 1733
+-90.074 46.36 1845
+-89.948 46.36 1946
+-89.822 46.36 2020
+-89.696 46.36 2095
+-89.57 46.36 2158
+-89.444 46.36 2210
+-89.318 46.36 2254
+-89.192 46.36 2291
+-89.066 46.36 2321
+-88.94 46.36 2347
+-88.814 46.36 2368
+-88.688 46.36 2387
+-88.562 46.36 2403
+-88.436 46.36 2418
+-88.31 46.36 2431
+-88.184 46.36 2443
+-88.058 46.36 2453
+-87.932 46.36 2463
+-87.806 46.36 2477
+-87.68 46.36 2485
+-87.554 46.36 2493
+-87.428 46.36 2499
+-87.302 46.36 2449
+-87.176 46.36 2453
+-87.05 46.36 2456
+-86.924 46.36 2459
+-86.798 46.36 2461
+-86.672 46.36 2463
+-86.546 46.36 2464
+-86.42 46.36 2465
+-86.294 46.36 2465
+-86.168 46.36 2465
+-86.042 46.36 2469
+-85.916 46.36 2481
+-85.79 46.36 2481
+-85.664 46.36 2480
+-85.538 46.36 2480
+-85.412 46.36 2498
+-85.286 46.36 2498
+-85.16 46.36 2498
+-85.034 46.36 2498
+-84.908 46.36 2503
+-84.782 46.36 2605
+-84.656 46.36 2604
+-84.53 46.36 2604
+-84.404 46.36 2608
+-84.278 46.36 2608
+-84.152 46.36 2611
+-84.026 46.36 2622
+-83.9 46.36 2611
+-83.774 46.36 2621
+-83.648 46.36 2621
+-83.522 46.36 2622
+-83.396 46.36 2623
+-83.27 46.36 2625
+-83.144 46.36 2626
+-83.018 46.36 2629
+-82.892 46.36 2698
+-82.766 46.36 2700
+-82.64 46.36 2702
+-82.514 46.36 2704
+-82.388 46.36 2718
+-82.262 46.36 2720
+-82.136 46.36 2711
+-82.01 46.36 2713
+-81.884 46.36 2716
+-81.758 46.36 2718
+-81.632 46.36 2698
+-81.506 46.36 2707
+-81.38 46.36 2710
+-81.254 46.36 2820
+-81.128 46.36 2790
+-81.002 46.36 2793
+-80.876 46.36 2906
+-80.75 46.36 2907
+-80.624 46.36 2878
+-80.498 46.36 2930
+-80.372 46.36 2840
+-80.246 46.36 2866
+-80.12 46.36 2914
+-79.994 46.36 2829
+-79.868 46.36 2836
+-79.742 46.36 2755
+-79.616 46.36 2753
+-79.49 46.36 2768
+-79.364 46.36 2746
+-79.238 46.36 2749
+-79.112 46.36 2752
+-78.986 46.36 2700
+-78.86 46.36 2736
+-78.734 46.36 2732
+-78.608 46.36 2724
+-78.482 46.36 2727
+-78.356 46.36 2729
+-78.23 46.36 2732
+-78.104 46.36 2681
+-77.978 46.36 2678
+-77.852 46.36 2681
+-77.726 46.36 2683
+-77.6 46.36 2685
+-77.474 46.36 2684
+-77.348 46.36 2633
+-77.222 46.36 2734
+-77.096 46.36 2731
+-76.97 46.36 2738
+-76.844 46.36 2740
+-76.718 46.36 2742
+-76.592 46.36 2744
+-76.466 46.36 2767
+-76.34 46.36 2748
+-76.214 46.36 2809
+-76.088 46.36 2811
+-75.962 46.36 2803
+-75.836 46.36 2811
+-75.71 46.36 2813
+-75.584 46.36 2815
+-75.458 46.36 2804
+-75.332 46.36 2918
+-75.206 46.36 2920
+-75.08 46.36 2922
+-74.954 46.36 2924
+-74.828 46.36 3023
+-74.702 46.36 2979
+-74.576 46.36 3130
+-74.45 46.36 3131
+-74.324 46.36 3096
+-74.198 46.36 3097
+-74.072 46.36 3098
+-73.946 46.36 3099
+-73.82 46.36 3100
+-73.694 46.36 3101
+-73.568 46.36 3194
+-73.442 46.36 3190
+-73.316 46.36 3191
+-73.19 46.36 3192
+-73.064 46.36 3193
+-72.938 46.36 3138
+-72.812 46.36 3172
+-72.686 46.36 3173
+-72.56 46.36 3247
+-72.434 46.36 3160
+-72.308 46.36 3161
+-72.182 46.36 3162
+-72.056 46.36 3209
+-71.93 46.36 3164
+-71.804 46.36 3165
+-71.678 46.36 3166
+-71.552 46.36 3394
+-71.426 46.36 3341
+-71.3 46.36 3341
+-71.174 46.36 3473
+-71.048 46.36 3446
+-70.922 46.36 3446
+-70.796 46.36 3393
+-70.67 46.36 3466
+-70.544 46.36 3467
+-70.418 46.36 3467
+-70.292 46.36 3468
+-70.166 46.36 3468
+-70.04 46.36 3468
+-69.914 46.36 3468
+-69.788 46.36 3469
+-69.662 46.36 3458
+-69.536 46.36 3406
+-69.41 46.36 3400
+-69.284 46.36 3400
+-69.158 46.36 3401
+-69.032 46.36 3401
+-68.906 46.36 3402
+-68.78 46.36 3403
+-68.654 46.36 3403
+-68.528 46.36 3404
+-68.402 46.36 3404
+-68.276 46.36 3405
+-68.15 46.36 3405
+-68.024 46.36 3406
+-67.898 46.36 3406
+-67.772 46.36 3406
+-67.646 46.36 3407
+-67.52 46.36 3520
+-67.394 46.36 3520
+-67.268 46.36 3504
+-67.142 46.36 3505
+-67.016 46.36 3505
+-66.89 46.36 3505
+-66.764 46.36 3506
+-66.638 46.36 3506
+-66.512 46.36 3507
+-66.386 46.36 3507
+-66.26 46.36 3507
+-66.134 46.36 3508
+-66.008 46.36 3508
+-65.882 46.36 3549
+-65.756 46.36 3549
+-65.63 46.36 3549
+-65.504 46.36 3550
+-65.378 46.36 3550
+-65.252 46.36 3551
+-65.126 46.36 3508
+-128 46.308 4540
+-127.874 46.308 4605
+-127.748 46.308 4662
+-127.622 46.308 4676
+-127.496 46.308 4685
+-127.37 46.308 4788
+-127.244 46.308 4977
+-127.118 46.308 5149
+-126.992 46.308 5302
+-126.866 46.308 5399
+-126.74 46.308 5451
+-126.614 46.308 5553
+-126.488 46.308 5627
+-126.362 46.308 5750
+-126.236 46.308 5949
+-126.11 46.308 6112
+-125.984 46.308 6218
+-125.858 46.308 6334
+-125.732 46.308 6475
+-125.606 46.308 6672
+-125.48 46.308 6821
+-125.354 46.308 6935
+-125.228 46.308 7033
+-125.102 46.308 7130
+-124.976 46.308 7262
+-124.85 46.308 7385
+-124.724 46.308 7500
+-124.598 46.308 7641
+-124.472 46.308 7794
+-124.346 46.308 7934
+-124.22 46.308 8002
+-124.094 46.308 8166
+-123.968 46.308 8294
+-123.842 46.308 8384
+-123.716 46.308 8459
+-123.59 46.308 8544
+-123.464 46.308 8663
+-123.338 46.308 8735
+-123.212 46.308 8808
+-123.086 46.308 8843
+-122.96 46.308 8856
+-122.834 46.308 8835
+-122.708 46.308 8823
+-122.582 46.308 8750
+-122.456 46.308 8672
+-122.33 46.308 8568
+-122.204 46.308 8489
+-122.078 46.308 8381
+-121.952 46.308 8246
+-121.826 46.308 8158
+-121.7 46.308 7986
+-121.574 46.308 7894
+-121.448 46.308 7747
+-121.322 46.308 7650
+-121.196 46.308 7518
+-121.07 46.308 7420
+-120.944 46.308 7270
+-120.818 46.308 7109
+-120.692 46.308 6859
+-120.566 46.308 6927
+-120.44 46.308 7047
+-120.314 46.308 7195
+-120.188 46.308 7297
+-120.062 46.308 7435
+-119.936 46.308 7630
+-119.81 46.308 7697
+-119.684 46.308 7834
+-119.558 46.308 7993
+-119.432 46.308 8094
+-119.306 46.308 8199
+-119.18 46.308 8335
+-119.054 46.308 8457
+-118.928 46.308 8596
+-118.802 46.308 8719
+-118.676 46.308 8889
+-118.55 46.308 8912
+-118.424 46.308 9045
+-118.298 46.308 9037
+-118.172 46.308 8998
+-118.046 46.308 8917
+-117.92 46.308 8760
+-117.794 46.308 8663
+-117.668 46.308 8490
+-117.542 46.308 8388
+-117.416 46.308 8241
+-117.29 46.308 8152
+-117.164 46.308 8001
+-117.038 46.308 7862
+-116.912 46.308 7768
+-116.786 46.308 7597
+-116.66 46.308 7455
+-116.534 46.308 7291
+-116.408 46.308 7180
+-116.282 46.308 7105
+-116.156 46.308 6871
+-116.03 46.308 6815
+-115.904 46.308 6693
+-115.778 46.308 6527
+-115.652 46.308 6452
+-115.526 46.308 6311
+-115.4 46.308 6217
+-115.274 46.308 6014
+-115.148 46.308 5873
+-115.022 46.308 5700
+-114.896 46.308 5594
+-114.77 46.308 5577
+-114.644 46.308 5422
+-114.518 46.308 5306
+-114.392 46.308 5079
+-114.266 46.308 4916
+-114.14 46.308 4745
+-114.014 46.308 4628
+-113.888 46.308 4535
+-113.762 46.308 4450
+-113.636 46.308 4338
+-113.51 46.308 4199
+-113.384 46.308 4079
+-113.258 46.308 3894
+-113.132 46.308 3732
+-113.006 46.308 3595
+-112.88 46.308 3603
+-112.754 46.308 3490
+-112.628 46.308 3538
+-112.502 46.308 3629
+-112.376 46.308 3682
+-112.25 46.308 3723
+-112.124 46.308 3752
+-111.998 46.308 3774
+-111.872 46.308 3792
+-111.746 46.308 3807
+-111.62 46.308 3741
+-111.494 46.308 3749
+-111.368 46.308 3757
+-111.242 46.308 3764
+-111.116 46.308 3770
+-110.99 46.308 3775
+-110.864 46.308 3715
+-110.738 46.308 3715
+-110.612 46.308 3715
+-110.486 46.308 3600
+-110.36 46.308 3599
+-110.234 46.308 3598
+-110.108 46.308 3597
+-109.982 46.308 3558
+-109.856 46.308 3556
+-109.73 46.308 3554
+-109.604 46.308 3553
+-109.478 46.308 3551
+-109.352 46.308 3486
+-109.226 46.308 3484
+-109.1 46.308 3483
+-108.974 46.308 3482
+-108.848 46.308 3481
+-108.722 46.308 3438
+-108.596 46.308 3437
+-108.47 46.308 3435
+-108.344 46.308 3434
+-108.218 46.308 3433
+-108.092 46.308 3432
+-107.966 46.308 3364
+-107.84 46.308 3362
+-107.714 46.308 3360
+-107.588 46.308 3358
+-107.462 46.308 3357
+-107.336 46.308 3355
+-107.21 46.308 3354
+-107.084 46.308 3285
+-106.958 46.308 3283
+-106.832 46.308 3282
+-106.706 46.308 3281
+-106.58 46.308 3280
+-106.454 46.308 3276
+-106.328 46.308 3275
+-106.202 46.308 3198
+-106.076 46.308 3197
+-105.95 46.308 3196
+-105.824 46.308 3195
+-105.698 46.308 3194
+-105.572 46.308 3193
+-105.446 46.308 3192
+-105.32 46.308 3192
+-105.194 46.308 3191
+-105.068 46.308 3190
+-104.942 46.308 3189
+-104.816 46.308 3189
+-104.69 46.308 3188
+-104.564 46.308 3187
+-104.438 46.308 3187
+-104.312 46.308 2964
+-104.186 46.308 2960
+-104.06 46.308 2956
+-103.934 46.308 2951
+-103.808 46.308 2947
+-103.682 46.308 2942
+-103.556 46.308 2779
+-103.43 46.308 2782
+-103.304 46.308 2799
+-103.178 46.308 2750
+-103.052 46.308 2747
+-102.926 46.308 2821
+-102.8 46.308 2869
+-102.674 46.308 2941
+-102.548 46.308 3049
+-102.422 46.308 3165
+-102.296 46.308 3141
+-102.17 46.308 3296
+-102.044 46.308 3267
+-101.918 46.308 3316
+-101.792 46.308 3218
+-101.666 46.308 3242
+-101.54 46.308 3246
+-101.414 46.308 3224
+-101.288 46.308 3243
+-101.162 46.308 3243
+-101.036 46.308 3246
+-100.91 46.308 3268
+-100.784 46.308 3268
+-100.658 46.308 3268
+-100.532 46.308 3369
+-100.406 46.308 3369
+-100.28 46.308 3369
+-100.154 46.308 3329
+-100.028 46.308 3425
+-99.902 46.308 3434
+-99.776 46.308 3434
+-99.65 46.308 3431
+-99.524 46.308 3431
+-99.398 46.308 3402
+-99.272 46.308 3398
+-99.146 46.308 3321
+-99.02 46.308 3459
+-98.894 46.308 3474
+-98.768 46.308 3433
+-98.642 46.308 3433
+-98.516 46.308 3432
+-98.39 46.308 3446
+-98.264 46.308 3396
+-98.138 46.308 3405
+-98.012 46.308 3404
+-97.886 46.308 3399
+-97.76 46.308 3399
+-97.634 46.308 3398
+-97.508 46.308 3398
+-97.382 46.308 3203
+-97.256 46.308 3229
+-97.13 46.308 3226
+-97.004 46.308 3223
+-96.878 46.308 3206
+-96.752 46.308 3250
+-96.626 46.308 3222
+-96.5 46.308 3219
+-96.374 46.308 3198
+-96.248 46.308 3195
+-96.122 46.308 3117
+-95.996 46.308 3147
+-95.87 46.308 3142
+-95.744 46.308 3137
+-95.618 46.308 3131
+-95.492 46.308 3116
+-95.366 46.308 3110
+-95.24 46.308 3103
+-95.114 46.308 3096
+-94.988 46.308 3088
+-94.862 46.308 3011
+-94.736 46.308 2991
+-94.61 46.308 2965
+-94.484 46.308 2914
+-94.358 46.308 2894
+-94.232 46.308 2867
+-94.106 46.308 2854
+-93.98 46.308 2838
+-93.854 46.308 2812
+-93.728 46.308 2778
+-93.602 46.308 2760
+-93.476 46.308 2739
+-93.35 46.308 2716
+-93.224 46.308 2691
+-93.098 46.308 2663
+-92.972 46.308 2631
+-92.846 46.308 2596
+-92.72 46.308 2556
+-92.594 46.308 2512
+-92.468 46.308 2461
+-92.342 46.308 2404
+-92.216 46.308 2339
+-92.09 46.308 2266
+-91.964 46.308 2182
+-91.838 46.308 2089
+-91.712 46.308 1984
+-91.586 46.308 1855
+-91.46 46.308 1718
+-91.334 46.308 1602
+-91.208 46.308 1490
+-91.082 46.308 1396
+-90.956 46.308 1332
+-90.83 46.308 1310
+-90.704 46.308 1333
+-90.578 46.308 1400
+-90.452 46.308 1499
+-90.326 46.308 1617
+-90.2 46.308 1738
+-90.074 46.308 1854
+-89.948 46.308 1958
+-89.822 46.308 2033
+-89.696 46.308 2107
+-89.57 46.308 2169
+-89.444 46.308 2220
+-89.318 46.308 2262
+-89.192 46.308 2297
+-89.066 46.308 2325
+-88.94 46.308 2350
+-88.814 46.308 2370
+-88.688 46.308 2388
+-88.562 46.308 2403
+-88.436 46.308 2417
+-88.31 46.308 2430
+-88.184 46.308 2441
+-88.058 46.308 2451
+-87.932 46.308 2467
+-87.806 46.308 2476
+-87.68 46.308 2484
+-87.554 46.308 2491
+-87.428 46.308 2444
+-87.302 46.308 2449
+-87.176 46.308 2452
+-87.05 46.308 2456
+-86.924 46.308 2458
+-86.798 46.308 2460
+-86.672 46.308 2461
+-86.546 46.308 2462
+-86.42 46.308 2463
+-86.294 46.308 2463
+-86.168 46.308 2467
+-86.042 46.308 2478
+-85.916 46.308 2478
+-85.79 46.308 2478
+-85.664 46.308 2478
+-85.538 46.308 2496
+-85.412 46.308 2496
+-85.286 46.308 2495
+-85.16 46.308 2495
+-85.034 46.308 2500
+-84.908 46.308 2600
+-84.782 46.308 2599
+-84.656 46.308 2599
+-84.53 46.308 2602
+-84.404 46.308 2602
+-84.278 46.308 2605
+-84.152 46.308 2616
+-84.026 46.308 2606
+-83.9 46.308 2615
+-83.774 46.308 2616
+-83.648 46.308 2616
+-83.522 46.308 2618
+-83.396 46.308 2619
+-83.27 46.308 2620
+-83.144 46.308 2623
+-83.018 46.308 2692
+-82.892 46.308 2694
+-82.766 46.308 2696
+-82.64 46.308 2698
+-82.514 46.308 2711
+-82.388 46.308 2714
+-82.262 46.308 2705
+-82.136 46.308 2707
+-82.01 46.308 2710
+-81.884 46.308 2713
+-81.758 46.308 2693
+-81.632 46.308 2702
+-81.506 46.308 2705
+-81.38 46.308 2814
+-81.254 46.308 2785
+-81.128 46.308 2788
+-81.002 46.308 2900
+-80.876 46.308 2900
+-80.75 46.308 2872
+-80.624 46.308 2924
+-80.498 46.308 2835
+-80.372 46.308 2860
+-80.246 46.308 2908
+-80.12 46.308 2824
+-79.994 46.308 2832
+-79.868 46.308 2751
+-79.742 46.308 2749
+-79.616 46.308 2764
+-79.49 46.308 2742
+-79.364 46.308 2745
+-79.238 46.308 2748
+-79.112 46.308 2697
+-78.986 46.308 2733
+-78.86 46.308 2729
+-78.734 46.308 2721
+-78.608 46.308 2724
+-78.482 46.308 2727
+-78.356 46.308 2729
+-78.23 46.308 2679
+-78.104 46.308 2676
+-77.978 46.308 2679
+-77.852 46.308 2681
+-77.726 46.308 2683
+-77.6 46.308 2682
+-77.474 46.308 2631
+-77.348 46.308 2732
+-77.222 46.308 2730
+-77.096 46.308 2736
+-76.97 46.308 2738
+-76.844 46.308 2740
+-76.718 46.308 2742
+-76.592 46.308 2766
+-76.466 46.308 2747
+-76.34 46.308 2807
+-76.214 46.308 2809
+-76.088 46.308 2802
+-75.962 46.308 2810
+-75.836 46.308 2812
+-75.71 46.308 2814
+-75.584 46.308 2803
+-75.458 46.308 2917
+-75.332 46.308 2919
+-75.206 46.308 2921
+-75.08 46.308 2922
+-74.954 46.308 3022
+-74.828 46.308 2978
+-74.702 46.308 3129
+-74.576 46.308 3130
+-74.45 46.308 3095
+-74.324 46.308 3096
+-74.198 46.308 3097
+-74.072 46.308 3098
+-73.946 46.308 3099
+-73.82 46.308 3100
+-73.694 46.308 3193
+-73.568 46.308 3189
+-73.442 46.308 3190
+-73.316 46.308 3191
+-73.19 46.308 3192
+-73.064 46.308 3137
+-72.938 46.308 3171
+-72.812 46.308 3173
+-72.686 46.308 3246
+-72.56 46.308 3159
+-72.434 46.308 3160
+-72.308 46.308 3161
+-72.182 46.308 3208
+-72.056 46.308 3163
+-71.93 46.308 3164
+-71.804 46.308 3165
+-71.678 46.308 3393
+-71.552 46.308 3340
+-71.426 46.308 3341
+-71.3 46.308 3472
+-71.174 46.308 3445
+-71.048 46.308 3446
+-70.922 46.308 3392
+-70.796 46.308 3465
+-70.67 46.308 3466
+-70.544 46.308 3467
+-70.418 46.308 3467
+-70.292 46.308 3468
+-70.166 46.308 3467
+-70.04 46.308 3468
+-69.914 46.308 3469
+-69.788 46.308 3458
+-69.662 46.308 3405
+-69.536 46.308 3399
+-69.41 46.308 3400
+-69.284 46.308 3400
+-69.158 46.308 3401
+-69.032 46.308 3402
+-68.906 46.308 3402
+-68.78 46.308 3403
+-68.654 46.308 3403
+-68.528 46.308 3404
+-68.402 46.308 3404
+-68.276 46.308 3405
+-68.15 46.308 3405
+-68.024 46.308 3406
+-67.898 46.308 3406
+-67.772 46.308 3407
+-67.646 46.308 3519
+-67.52 46.308 3520
+-67.394 46.308 3504
+-67.268 46.308 3504
+-67.142 46.308 3505
+-67.016 46.308 3505
+-66.89 46.308 3505
+-66.764 46.308 3506
+-66.638 46.308 3506
+-66.512 46.308 3507
+-66.386 46.308 3507
+-66.26 46.308 3507
+-66.134 46.308 3508
+-66.008 46.308 3548
+-65.882 46.308 3549
+-65.756 46.308 3549
+-65.63 46.308 3550
+-65.504 46.308 3550
+-65.378 46.308 3551
+-65.252 46.308 3508
+-65.126 46.308 3508
+-128 46.256 4388
+-127.874 46.256 4495
+-127.748 46.256 4617
+-127.622 46.256 4629
+-127.496 46.256 4555
+-127.37 46.256 4737
+-127.244 46.256 4960
+-127.118 46.256 5124
+-126.992 46.256 5296
+-126.866 46.256 5400
+-126.74 46.256 5414
+-126.614 46.256 5485
+-126.488 46.256 5619
+-126.362 46.256 5782
+-126.236 46.256 5961
+-126.11 46.256 6068
+-125.984 46.256 6192
+-125.858 46.256 6324
+-125.732 46.256 6456
+-125.606 46.256 6598
+-125.48 46.256 6787
+-125.354 46.256 6817
+-125.228 46.256 7007
+-125.102 46.256 7134
+-124.976 46.256 7257
+-124.85 46.256 7324
+-124.724 46.256 7583
+-124.598 46.256 7602
+-124.472 46.256 7743
+-124.346 46.256 7892
+-124.22 46.256 8016
+-124.094 46.256 8107
+-123.968 46.256 8220
+-123.842 46.256 8357
+-123.716 46.256 8478
+-123.59 46.256 8554
+-123.464 46.256 8663
+-123.338 46.256 8704
+-123.212 46.256 8734
+-123.086 46.256 8787
+-122.96 46.256 8796
+-122.834 46.256 8792
+-122.708 46.256 8713
+-122.582 46.256 8656
+-122.456 46.256 8571
+-122.33 46.256 8515
+-122.204 46.256 8422
+-122.078 46.256 8360
+-121.952 46.256 8192
+-121.826 46.256 8115
+-121.7 46.256 8021
+-121.574 46.256 7863
+-121.448 46.256 7725
+-121.322 46.256 7587
+-121.196 46.256 7528
+-121.07 46.256 7433
+-120.944 46.256 7203
+-120.818 46.256 7073
+-120.692 46.256 6969
+-120.566 46.256 6902
+-120.44 46.256 7052
+-120.314 46.256 7204
+-120.188 46.256 7291
+-120.062 46.256 7451
+-119.936 46.256 7548
+-119.81 46.256 7708
+-119.684 46.256 7854
+-119.558 46.256 7944
+-119.432 46.256 8074
+-119.306 46.256 8249
+-119.18 46.256 8333
+-119.054 46.256 8445
+-118.928 46.256 8565
+-118.802 46.256 8748
+-118.676 46.256 8933
+-118.55 46.256 8933
+-118.424 46.256 9028
+-118.298 46.256 9025
+-118.172 46.256 8966
+-118.046 46.256 8866
+-117.92 46.256 8760
+-117.794 46.256 8662
+-117.668 46.256 8508
+-117.542 46.256 8338
+-117.416 46.256 8283
+-117.29 46.256 8137
+-117.164 46.256 8025
+-117.038 46.256 7901
+-116.912 46.256 7761
+-116.786 46.256 7611
+-116.66 46.256 7446
+-116.534 46.256 7320
+-116.408 46.256 7195
+-116.282 46.256 7132
+-116.156 46.256 6926
+-116.03 46.256 6804
+-115.904 46.256 6653
+-115.778 46.256 6522
+-115.652 46.256 6398
+-115.526 46.256 6334
+-115.4 46.256 6200
+-115.274 46.256 6012
+-115.148 46.256 5927
+-115.022 46.256 5790
+-114.896 46.256 5713
+-114.77 46.256 5624
+-114.644 46.256 5504
+-114.518 46.256 5338
+-114.392 46.256 5109
+-114.266 46.256 4904
+-114.14 46.256 4727
+-114.014 46.256 4699
+-113.888 46.256 4474
+-113.762 46.256 4456
+-113.636 46.256 4335
+-113.51 46.256 4179
+-113.384 46.256 4030
+-113.258 46.256 3828
+-113.132 46.256 3695
+-113.006 46.256 3687
+-112.88 46.256 3651
+-112.754 46.256 3622
+-112.628 46.256 3630
+-112.502 46.256 3665
+-112.376 46.256 3702
+-112.25 46.256 3721
+-112.124 46.256 3745
+-111.998 46.256 3764
+-111.872 46.256 3749
+-111.746 46.256 3761
+-111.62 46.256 3772
+-111.494 46.256 3737
+-111.368 46.256 3745
+-111.242 46.256 3753
+-111.116 46.256 3745
+-110.99 46.256 3701
+-110.864 46.256 3680
+-110.738 46.256 3679
+-110.612 46.256 3590
+-110.486 46.256 3589
+-110.36 46.256 3588
+-110.234 46.256 3588
+-110.108 46.256 3588
+-109.982 46.256 3587
+-109.856 46.256 3548
+-109.73 46.256 3546
+-109.604 46.256 3545
+-109.478 46.256 3481
+-109.352 46.256 3479
+-109.226 46.256 3478
+-109.1 46.256 3477
+-108.974 46.256 3477
+-108.848 46.256 3476
+-108.722 46.256 3475
+-108.596 46.256 3433
+-108.47 46.256 3432
+-108.344 46.256 3431
+-108.218 46.256 3430
+-108.092 46.256 3429
+-107.966 46.256 3428
+-107.84 46.256 3428
+-107.714 46.256 3427
+-107.588 46.256 3426
+-107.462 46.256 3426
+-107.336 46.256 3355
+-107.21 46.256 3353
+-107.084 46.256 3352
+-106.958 46.256 3282
+-106.832 46.256 3280
+-106.706 46.256 3279
+-106.58 46.256 3278
+-106.454 46.256 3277
+-106.328 46.256 3200
+-106.202 46.256 3199
+-106.076 46.256 3198
+-105.95 46.256 3197
+-105.824 46.256 3196
+-105.698 46.256 3195
+-105.572 46.256 3194
+-105.446 46.256 3193
+-105.32 46.256 3192
+-105.194 46.256 3192
+-105.068 46.256 3191
+-104.942 46.256 3190
+-104.816 46.256 3190
+-104.69 46.256 3189
+-104.564 46.256 3188
+-104.438 46.256 3188
+-104.312 46.256 2964
+-104.186 46.256 2959
+-104.06 46.256 2955
+-103.934 46.256 2951
+-103.808 46.256 2946
+-103.682 46.256 2942
+-103.556 46.256 2779
+-103.43 46.256 2778
+-103.304 46.256 2744
+-103.178 46.256 2744
+-103.052 46.256 2748
+-102.926 46.256 2823
+-102.8 46.256 2871
+-102.674 46.256 2943
+-102.548 46.256 3021
+-102.422 46.256 3165
+-102.296 46.256 3141
+-102.17 46.256 3261
+-102.044 46.256 3295
+-101.918 46.256 3265
+-101.792 46.256 3314
+-101.666 46.256 3217
+-101.54 46.256 3241
+-101.414 46.256 3245
+-101.288 46.256 3223
+-101.162 46.256 3242
+-101.036 46.256 3242
+-100.91 46.256 3245
+-100.784 46.256 3267
+-100.658 46.256 3267
+-100.532 46.256 3267
+-100.406 46.256 3367
+-100.28 46.256 3367
+-100.154 46.256 3367
+-100.028 46.256 3328
+-99.902 46.256 3424
+-99.776 46.256 3433
+-99.65 46.256 3432
+-99.524 46.256 3430
+-99.398 46.256 3430
+-99.272 46.256 3401
+-99.146 46.256 3397
+-99.02 46.256 3321
+-98.894 46.256 3458
+-98.768 46.256 3473
+-98.642 46.256 3432
+-98.516 46.256 3432
+-98.39 46.256 3431
+-98.264 46.256 3445
+-98.138 46.256 3395
+-98.012 46.256 3404
+-97.886 46.256 3398
+-97.76 46.256 3398
+-97.634 46.256 3398
+-97.508 46.256 3397
+-97.382 46.256 3397
+-97.256 46.256 3203
+-97.13 46.256 3229
+-97.004 46.256 3226
+-96.878 46.256 3223
+-96.752 46.256 3206
+-96.626 46.256 3250
+-96.5 46.256 3222
+-96.374 46.256 3218
+-96.248 46.256 3198
+-96.122 46.256 3194
+-95.996 46.256 3117
+-95.87 46.256 3146
+-95.744 46.256 3141
+-95.618 46.256 3136
+-95.492 46.256 3130
+-95.366 46.256 3115
+-95.24 46.256 3108
+-95.114 46.256 3102
+-94.988 46.256 3094
+-94.862 46.256 3086
+-94.736 46.256 3010
+-94.61 46.256 2989
+-94.484 46.256 2962
+-94.358 46.256 2911
+-94.232 46.256 2890
+-94.106 46.256 2863
+-93.98 46.256 2850
+-93.854 46.256 2833
+-93.728 46.256 2806
+-93.602 46.256 2771
+-93.476 46.256 2751
+-93.35 46.256 2729
+-93.224 46.256 2704
+-93.098 46.256 2677
+-92.972 46.256 2646
+-92.846 46.256 2612
+-92.72 46.256 2573
+-92.594 46.256 2530
+-92.468 46.256 2481
+-92.342 46.256 2425
+-92.216 46.256 2361
+-92.09 46.256 2289
+-91.964 46.256 2208
+-91.838 46.256 2115
+-91.712 46.256 2012
+-91.586 46.256 1884
+-91.46 46.256 1765
+-91.334 46.256 1629
+-91.208 46.256 1518
+-91.082 46.256 1422
+-90.956 46.256 1357
+-90.83 46.256 1334
+-90.704 46.256 1358
+-90.578 46.256 1427
+-90.452 46.256 1528
+-90.326 46.256 1647
+-90.2 46.256 1768
+-90.074 46.256 1883
+-89.948 46.256 1985
+-89.822 46.256 2056
+-89.696 46.256 2127
+-89.57 46.256 2186
+-89.444 46.256 2234
+-89.318 46.256 2273
+-89.192 46.256 2305
+-89.066 46.256 2331
+-88.94 46.256 2353
+-88.814 46.256 2372
+-88.688 46.256 2388
+-88.562 46.256 2403
+-88.436 46.256 2416
+-88.31 46.256 2428
+-88.184 46.256 2439
+-88.058 46.256 2455
+-87.932 46.256 2465
+-87.806 46.256 2473
+-87.68 46.256 2481
+-87.554 46.256 2439
+-87.428 46.256 2444
+-87.302 46.256 2448
+-87.176 46.256 2452
+-87.05 46.256 2455
+-86.924 46.256 2457
+-86.798 46.256 2459
+-86.672 46.256 2460
+-86.546 46.256 2460
+-86.42 46.256 2461
+-86.294 46.256 2465
+-86.168 46.256 2476
+-86.042 46.256 2476
+-85.916 46.256 2476
+-85.79 46.256 2475
+-85.664 46.256 2493
+-85.538 46.256 2493
+-85.412 46.256 2492
+-85.286 46.256 2492
+-85.16 46.256 2496
+-85.034 46.256 2595
+-84.908 46.256 2594
+-84.782 46.256 2593
+-84.656 46.256 2597
+-84.53 46.256 2596
+-84.404 46.256 2599
+-84.278 46.256 2610
+-84.152 46.256 2600
+-84.026 46.256 2609
+-83.9 46.256 2609
+-83.774 46.256 2610
+-83.648 46.256 2612
+-83.522 46.256 2613
+-83.396 46.256 2614
+-83.27 46.256 2617
+-83.144 46.256 2685
+-83.018 46.256 2687
+-82.892 46.256 2689
+-82.766 46.256 2691
+-82.64 46.256 2705
+-82.514 46.256 2707
+-82.388 46.256 2699
+-82.262 46.256 2701
+-82.136 46.256 2704
+-82.01 46.256 2707
+-81.884 46.256 2688
+-81.758 46.256 2697
+-81.632 46.256 2700
+-81.506 46.256 2808
+-81.38 46.256 2779
+-81.254 46.256 2782
+-81.128 46.256 2893
+-81.002 46.256 2894
+-80.876 46.256 2866
+-80.75 46.256 2917
+-80.624 46.256 2829
+-80.498 46.256 2855
+-80.372 46.256 2902
+-80.246 46.256 2819
+-80.12 46.256 2827
+-79.994 46.256 2746
+-79.868 46.256 2745
+-79.742 46.256 2760
+-79.616 46.256 2739
+-79.49 46.256 2742
+-79.364 46.256 2745
+-79.238 46.256 2694
+-79.112 46.256 2730
+-78.986 46.256 2725
+-78.86 46.256 2718
+-78.734 46.256 2721
+-78.608 46.256 2724
+-78.482 46.256 2727
+-78.356 46.256 2677
+-78.23 46.256 2674
+-78.104 46.256 2677
+-77.978 46.256 2679
+-77.852 46.256 2681
+-77.726 46.256 2680
+-77.6 46.256 2630
+-77.474 46.256 2730
+-77.348 46.256 2728
+-77.222 46.256 2735
+-77.096 46.256 2737
+-76.97 46.256 2739
+-76.844 46.256 2741
+-76.718 46.256 2764
+-76.592 46.256 2745
+-76.466 46.256 2806
+-76.34 46.256 2808
+-76.214 46.256 2800
+-76.088 46.256 2808
+-75.962 46.256 2810
+-75.836 46.256 2812
+-75.71 46.256 2802
+-75.584 46.256 2916
+-75.458 46.256 2918
+-75.332 46.256 2919
+-75.206 46.256 2921
+-75.08 46.256 3021
+-74.954 46.256 2977
+-74.828 46.256 3128
+-74.702 46.256 3129
+-74.576 46.256 3094
+-74.45 46.256 3095
+-74.324 46.256 3096
+-74.198 46.256 3097
+-74.072 46.256 3098
+-73.946 46.256 3099
+-73.82 46.256 3192
+-73.694 46.256 3188
+-73.568 46.256 3189
+-73.442 46.256 3190
+-73.316 46.256 3191
+-73.19 46.256 3136
+-73.064 46.256 3171
+-72.938 46.256 3172
+-72.812 46.256 3245
+-72.686 46.256 3158
+-72.56 46.256 3159
+-72.434 46.256 3160
+-72.308 46.256 3207
+-72.182 46.256 3162
+-72.056 46.256 3163
+-71.93 46.256 3165
+-71.804 46.256 3393
+-71.678 46.256 3339
+-71.552 46.256 3340
+-71.426 46.256 3471
+-71.3 46.256 3444
+-71.174 46.256 3445
+-71.048 46.256 3392
+-70.922 46.256 3464
+-70.796 46.256 3465
+-70.67 46.256 3466
+-70.544 46.256 3467
+-70.418 46.256 3467
+-70.292 46.256 3467
+-70.166 46.256 3467
+-70.04 46.256 3468
+-69.914 46.256 3457
+-69.788 46.256 3405
+-69.662 46.256 3399
+-69.536 46.256 3399
+-69.41 46.256 3400
+-69.284 46.256 3401
+-69.158 46.256 3401
+-69.032 46.256 3402
+-68.906 46.256 3402
+-68.78 46.256 3403
+-68.654 46.256 3403
+-68.528 46.256 3404
+-68.402 46.256 3404
+-68.276 46.256 3405
+-68.15 46.256 3405
+-68.024 46.256 3406
+-67.898 46.256 3406
+-67.772 46.256 3519
+-67.646 46.256 3519
+-67.52 46.256 3504
+-67.394 46.256 3504
+-67.268 46.256 3504
+-67.142 46.256 3505
+-67.016 46.256 3505
+-66.89 46.256 3506
+-66.764 46.256 3506
+-66.638 46.256 3506
+-66.512 46.256 3507
+-66.386 46.256 3507
+-66.26 46.256 3507
+-66.134 46.256 3548
+-66.008 46.256 3548
+-65.882 46.256 3549
+-65.756 46.256 3549
+-65.63 46.256 3550
+-65.504 46.256 3550
+-65.378 46.256 3508
+-65.252 46.256 3508
+-65.126 46.256 3509
+-128 46.204 4151
+-127.874 46.204 4320
+-127.748 46.204 4561
+-127.622 46.204 4660
+-127.496 46.204 4677
+-127.37 46.204 4799
+-127.244 46.204 4937
+-127.118 46.204 5068
+-126.992 46.204 5261
+-126.866 46.204 5387
+-126.74 46.204 5460
+-126.614 46.204 5537
+-126.488 46.204 5645
+-126.362 46.204 5804
+-126.236 46.204 5969
+-126.11 46.204 6016
+-125.984 46.204 6112
+-125.858 46.204 6361
+-125.732 46.204 6434
+-125.606 46.204 6539
+-125.48 46.204 6709
+-125.354 46.204 6818
+-125.228 46.204 6979
+-125.102 46.204 7099
+-124.976 46.204 7261
+-124.85 46.204 7359
+-124.724 46.204 7528
+-124.598 46.204 7584
+-124.472 46.204 7712
+-124.346 46.204 7845
+-124.22 46.204 8026
+-124.094 46.204 8078
+-123.968 46.204 8191
+-123.842 46.204 8364
+-123.716 46.204 8359
+-123.59 46.204 8492
+-123.464 46.204 8545
+-123.338 46.204 8632
+-123.212 46.204 8692
+-123.086 46.204 8719
+-122.96 46.204 8731
+-122.834 46.204 8723
+-122.708 46.204 8686
+-122.582 46.204 8634
+-122.456 46.204 8568
+-122.33 46.204 8483
+-122.204 46.204 8384
+-122.078 46.204 8307
+-121.952 46.204 8176
+-121.826 46.204 8135
+-121.7 46.204 7940
+-121.574 46.204 7839
+-121.448 46.204 7775
+-121.322 46.204 7570
+-121.196 46.204 7517
+-121.07 46.204 7380
+-120.944 46.204 7211
+-120.818 46.204 7097
+-120.692 46.204 6791
+-120.566 46.204 6950
+-120.44 46.204 7000
+-120.314 46.204 7162
+-120.188 46.204 7291
+-120.062 46.204 7499
+-119.936 46.204 7536
+-119.81 46.204 7703
+-119.684 46.204 7839
+-119.558 46.204 8019
+-119.432 46.204 8105
+-119.306 46.204 8259
+-119.18 46.204 8428
+-119.054 46.204 8501
+-118.928 46.204 8614
+-118.802 46.204 8704
+-118.676 46.204 8848
+-118.55 46.204 8980
+-118.424 46.204 9122
+-118.298 46.204 9079
+-118.172 46.204 9078
+-118.046 46.204 8901
+-117.92 46.204 8794
+-117.794 46.204 8642
+-117.668 46.204 8550
+-117.542 46.204 8386
+-117.416 46.204 8301
+-117.29 46.204 8150
+-117.164 46.204 8035
+-117.038 46.204 7924
+-116.912 46.204 7761
+-116.786 46.204 7584
+-116.66 46.204 7432
+-116.534 46.204 7331
+-116.408 46.204 7226
+-116.282 46.204 7103
+-116.156 46.204 6960
+-116.03 46.204 6857
+-115.904 46.204 6696
+-115.778 46.204 6603
+-115.652 46.204 6439
+-115.526 46.204 6267
+-115.4 46.204 6148
+-115.274 46.204 6041
+-115.148 46.204 5854
+-115.022 46.204 5807
+-114.896 46.204 5707
+-114.77 46.204 5634
+-114.644 46.204 5514
+-114.518 46.204 5360
+-114.392 46.204 5162
+-114.266 46.204 4906
+-114.14 46.204 4732
+-114.014 46.204 4628
+-113.888 46.204 4540
+-113.762 46.204 4450
+-113.636 46.204 4302
+-113.51 46.204 4143
+-113.384 46.204 4015
+-113.258 46.204 3871
+-113.132 46.204 3769
+-113.006 46.204 3690
+-112.88 46.204 3583
+-112.754 46.204 3608
+-112.628 46.204 3651
+-112.502 46.204 3683
+-112.376 46.204 3708
+-112.25 46.204 3730
+-112.124 46.204 3740
+-111.998 46.204 3740
+-111.872 46.204 3744
+-111.746 46.204 3749
+-111.62 46.204 3720
+-111.494 46.204 3731
+-111.368 46.204 3734
+-111.242 46.204 3728
+-111.116 46.204 3666
+-110.99 46.204 3667
+-110.864 46.204 3667
+-110.738 46.204 3579
+-110.612 46.204 3578
+-110.486 46.204 3578
+-110.36 46.204 3578
+-110.234 46.204 3578
+-110.108 46.204 3577
+-109.982 46.204 3578
+-109.856 46.204 3578
+-109.73 46.204 3538
+-109.604 46.204 3475
+-109.478 46.204 3469
+-109.352 46.204 3468
+-109.226 46.204 3467
+-109.1 46.204 3466
+-108.974 46.204 3465
+-108.848 46.204 3465
+-108.722 46.204 3465
+-108.596 46.204 3464
+-108.47 46.204 3464
+-108.344 46.204 3464
+-108.218 46.204 3464
+-108.092 46.204 3426
+-107.966 46.204 3426
+-107.84 46.204 3425
+-107.714 46.204 3425
+-107.588 46.204 3424
+-107.462 46.204 3424
+-107.336 46.204 3423
+-107.21 46.204 3423
+-107.084 46.204 3283
+-106.958 46.204 3282
+-106.832 46.204 3280
+-106.706 46.204 3279
+-106.58 46.204 3278
+-106.454 46.204 3202
+-106.328 46.204 3201
+-106.202 46.204 3200
+-106.076 46.204 3199
+-105.95 46.204 3198
+-105.824 46.204 3197
+-105.698 46.204 3196
+-105.572 46.204 3195
+-105.446 46.204 3194
+-105.32 46.204 3193
+-105.194 46.204 3193
+-105.068 46.204 3192
+-104.942 46.204 3191
+-104.816 46.204 3190
+-104.69 46.204 3190
+-104.564 46.204 3189
+-104.438 46.204 3189
+-104.312 46.204 2943
+-104.186 46.204 2959
+-104.06 46.204 2954
+-103.934 46.204 2950
+-103.808 46.204 2945
+-103.682 46.204 2802
+-103.556 46.204 2779
+-103.43 46.204 2778
+-103.304 46.204 2745
+-103.178 46.204 2745
+-103.052 46.204 2749
+-102.926 46.204 2825
+-102.8 46.204 2873
+-102.674 46.204 2945
+-102.548 46.204 3022
+-102.422 46.204 3131
+-102.296 46.204 3118
+-102.17 46.204 3260
+-102.044 46.204 3260
+-101.918 46.204 3293
+-101.792 46.204 3264
+-101.666 46.204 3313
+-101.54 46.204 3216
+-101.414 46.204 3240
+-101.288 46.204 3244
+-101.162 46.204 3222
+-101.036 46.204 3241
+-100.91 46.204 3241
+-100.784 46.204 3244
+-100.658 46.204 3265
+-100.532 46.204 3266
+-100.406 46.204 3266
+-100.28 46.204 3366
+-100.154 46.204 3366
+-100.028 46.204 3366
+-99.902 46.204 3327
+-99.776 46.204 3423
+-99.65 46.204 3431
+-99.524 46.204 3431
+-99.398 46.204 3428
+-99.272 46.204 3428
+-99.146 46.204 3399
+-99.02 46.204 3396
+-98.894 46.204 3320
+-98.768 46.204 3457
+-98.642 46.204 3472
+-98.516 46.204 3431
+-98.39 46.204 3431
+-98.264 46.204 3430
+-98.138 46.204 3444
+-98.012 46.204 3394
+-97.886 46.204 3402
+-97.76 46.204 3402
+-97.634 46.204 3397
+-97.508 46.204 3396
+-97.382 46.204 3396
+-97.256 46.204 3395
+-97.13 46.204 3203
+-97.004 46.204 3229
+-96.878 46.204 3226
+-96.752 46.204 3223
+-96.626 46.204 3206
+-96.5 46.204 3250
+-96.374 46.204 3222
+-96.248 46.204 3218
+-96.122 46.204 3198
+-95.996 46.204 3194
+-95.87 46.204 3117
+-95.744 46.204 3146
+-95.618 46.204 3141
+-95.492 46.204 3135
+-95.366 46.204 3129
+-95.24 46.204 3114
+-95.114 46.204 3107
+-94.988 46.204 3100
+-94.862 46.204 3093
+-94.736 46.204 3084
+-94.61 46.204 3008
+-94.484 46.204 2987
+-94.358 46.204 2960
+-94.232 46.204 2909
+-94.106 46.204 2888
+-93.98 46.204 2860
+-93.854 46.204 2845
+-93.728 46.204 2828
+-93.602 46.204 2800
+-93.476 46.204 2764
+-93.35 46.204 2743
+-93.224 46.204 2719
+-93.098 46.204 2693
+-92.972 46.204 2663
+-92.846 46.204 2630
+-92.72 46.204 2593
+-92.594 46.204 2552
+-92.468 46.204 2504
+-92.342 46.204 2451
+-92.216 46.204 2390
+-92.09 46.204 2321
+-91.964 46.204 2243
+-91.838 46.204 2155
+-91.712 46.204 2057
+-91.586 46.204 1949
+-91.46 46.204 1820
+-91.334 46.204 1704
+-91.208 46.204 1582
+-91.082 46.204 1492
+-90.956 46.204 1430
+-90.83 46.204 1408
+-90.704 46.204 1432
+-90.578 46.204 1498
+-90.452 46.204 1595
+-90.326 46.204 1707
+-90.2 46.204 1822
+-90.074 46.204 1929
+-89.948 46.204 2024
+-89.822 46.204 2089
+-89.696 46.204 2154
+-89.57 46.204 2207
+-89.444 46.204 2250
+-89.318 46.204 2285
+-89.192 46.204 2313
+-89.066 46.204 2336
+-88.94 46.204 2356
+-88.814 46.204 2373
+-88.688 46.204 2388
+-88.562 46.204 2401
+-88.436 46.204 2414
+-88.31 46.204 2426
+-88.184 46.204 2442
+-88.058 46.204 2452
+-87.932 46.204 2462
+-87.806 46.204 2471
+-87.68 46.204 2432
+-87.554 46.204 2438
+-87.428 46.204 2443
+-87.302 46.204 2447
+-87.176 46.204 2451
+-87.05 46.204 2454
+-86.924 46.204 2456
+-86.798 46.204 2457
+-86.672 46.204 2458
+-86.546 46.204 2459
+-86.42 46.204 2462
+-86.294 46.204 2474
+-86.168 46.204 2474
+-86.042 46.204 2473
+-85.916 46.204 2473
+-85.79 46.204 2490
+-85.664 46.204 2490
+-85.538 46.204 2490
+-85.412 46.204 2489
+-85.286 46.204 2493
+-85.16 46.204 2589
+-85.034 46.204 2588
+-84.908 46.204 2588
+-84.782 46.204 2591
+-84.656 46.204 2590
+-84.53 46.204 2593
+-84.404 46.204 2603
+-84.278 46.204 2594
+-84.152 46.204 2602
+-84.026 46.204 2603
+-83.9 46.204 2604
+-83.774 46.204 2605
+-83.648 46.204 2607
+-83.522 46.204 2608
+-83.396 46.204 2611
+-83.27 46.204 2678
+-83.144 46.204 2680
+-83.018 46.204 2682
+-82.892 46.204 2685
+-82.766 46.204 2697
+-82.64 46.204 2700
+-82.514 46.204 2692
+-82.388 46.204 2695
+-82.262 46.204 2698
+-82.136 46.204 2700
+-82.01 46.204 2682
+-81.884 46.204 2691
+-81.758 46.204 2694
+-81.632 46.204 2801
+-81.506 46.204 2773
+-81.38 46.204 2776
+-81.254 46.204 2886
+-81.128 46.204 2887
+-81.002 46.204 2860
+-80.876 46.204 2910
+-80.75 46.204 2824
+-80.624 46.204 2849
+-80.498 46.204 2896
+-80.372 46.204 2814
+-80.246 46.204 2821
+-80.12 46.204 2742
+-79.994 46.204 2741
+-79.868 46.204 2755
+-79.742 46.204 2735
+-79.616 46.204 2738
+-79.49 46.204 2741
+-79.364 46.204 2691
+-79.238 46.204 2726
+-79.112 46.204 2722
+-78.986 46.204 2715
+-78.86 46.204 2718
+-78.734 46.204 2721
+-78.608 46.204 2724
+-78.482 46.204 2675
+-78.356 46.204 2672
+-78.23 46.204 2675
+-78.104 46.204 2677
+-77.978 46.204 2680
+-77.852 46.204 2678
+-77.726 46.204 2628
+-77.6 46.204 2729
+-77.474 46.204 2726
+-77.348 46.204 2733
+-77.222 46.204 2735
+-77.096 46.204 2737
+-76.97 46.204 2739
+-76.844 46.204 2763
+-76.718 46.204 2744
+-76.592 46.204 2804
+-76.466 46.204 2806
+-76.34 46.204 2799
+-76.214 46.204 2807
+-76.088 46.204 2809
+-75.962 46.204 2811
+-75.836 46.204 2801
+-75.71 46.204 2914
+-75.584 46.204 2916
+-75.458 46.204 2918
+-75.332 46.204 2920
+-75.206 46.204 3020
+-75.08 46.204 2976
+-74.954 46.204 3127
+-74.828 46.204 3128
+-74.702 46.204 3094
+-74.576 46.204 3095
+-74.45 46.204 3096
+-74.324 46.204 3097
+-74.198 46.204 3098
+-74.072 46.204 3098
+-73.946 46.204 3191
+-73.82 46.204 3187
+-73.694 46.204 3188
+-73.568 46.204 3189
+-73.442 46.204 3190
+-73.316 46.204 3135
+-73.19 46.204 3170
+-73.064 46.204 3171
+-72.938 46.204 3244
+-72.812 46.204 3157
+-72.686 46.204 3158
+-72.56 46.204 3159
+-72.434 46.204 3206
+-72.308 46.204 3161
+-72.182 46.204 3163
+-72.056 46.204 3164
+-71.93 46.204 3392
+-71.804 46.204 3339
+-71.678 46.204 3339
+-71.552 46.204 3470
+-71.426 46.204 3444
+-71.3 46.204 3444
+-71.174 46.204 3391
+-71.048 46.204 3464
+-70.922 46.204 3465
+-70.796 46.204 3466
+-70.67 46.204 3466
+-70.544 46.204 3467
+-70.418 46.204 3466
+-70.292 46.204 3467
+-70.166 46.204 3468
+-70.04 46.204 3457
+-69.914 46.204 3404
+-69.788 46.204 3398
+-69.662 46.204 3399
+-69.536 46.204 3400
+-69.41 46.204 3400
+-69.284 46.204 3401
+-69.158 46.204 3401
+-69.032 46.204 3402
+-68.906 46.204 3402
+-68.78 46.204 3403
+-68.654 46.204 3403
+-68.528 46.204 3404
+-68.402 46.204 3404
+-68.276 46.204 3405
+-68.15 46.204 3405
+-68.024 46.204 3406
+-67.898 46.204 3519
+-67.772 46.204 3519
+-67.646 46.204 3503
+-67.52 46.204 3504
+-67.394 46.204 3504
+-67.268 46.204 3504
+-67.142 46.204 3505
+-67.016 46.204 3505
+-66.89 46.204 3506
+-66.764 46.204 3506
+-66.638 46.204 3506
+-66.512 46.204 3507
+-66.386 46.204 3507
+-66.26 46.204 3547
+-66.134 46.204 3548
+-66.008 46.204 3548
+-65.882 46.204 3549
+-65.756 46.204 3549
+-65.63 46.204 3550
+-65.504 46.204 3507
+-65.378 46.204 3508
+-65.252 46.204 3508
+-65.126 46.204 3509
+-128 46.152 3971
+-127.874 46.152 4194
+-127.748 46.152 4519
+-127.622 46.152 4679
+-127.496 46.152 4765
+-127.37 46.152 4839
+-127.244 46.152 4875
+-127.118 46.152 4996
+-126.992 46.152 5202
+-126.866 46.152 5361
+-126.74 46.152 5483
+-126.614 46.152 5523
+-126.488 46.152 5642
+-126.362 46.152 5788
+-126.236 46.152 5939
+-126.11 46.152 6085
+-125.984 46.152 6165
+-125.858 46.152 6268
+-125.732 46.152 6405
+-125.606 46.152 6575
+-125.48 46.152 6665
+-125.354 46.152 6802
+-125.228 46.152 6950
+-125.102 46.152 7150
+-124.976 46.152 7256
+-124.85 46.152 7362
+-124.724 46.152 7470
+-124.598 46.152 7650
+-124.472 46.152 7743
+-124.346 46.152 7777
+-124.22 46.152 7966
+-124.094 46.152 8038
+-123.968 46.152 8157
+-123.842 46.152 8256
+-123.716 46.152 8349
+-123.59 46.152 8442
+-123.464 46.152 8517
+-123.338 46.152 8576
+-123.212 46.152 8616
+-123.086 46.152 8672
+-122.96 46.152 8710
+-122.834 46.152 8701
+-122.708 46.152 8663
+-122.582 46.152 8592
+-122.456 46.152 8522
+-122.33 46.152 8485
+-122.204 46.152 8351
+-122.078 46.152 8287
+-121.952 46.152 8125
+-121.826 46.152 8042
+-121.7 46.152 7946
+-121.574 46.152 7786
+-121.448 46.152 7737
+-121.322 46.152 7596
+-121.196 46.152 7510
+-121.07 46.152 7360
+-120.944 46.152 7258
+-120.818 46.152 7041
+-120.692 46.152 6847
+-120.566 46.152 6909
+-120.44 46.152 7020
+-120.314 46.152 7174
+-120.188 46.152 7311
+-120.062 46.152 7464
+-119.936 46.152 7579
+-119.81 46.152 7656
+-119.684 46.152 7849
+-119.558 46.152 7992
+-119.432 46.152 8162
+-119.306 46.152 8251
+-119.18 46.152 8408
+-119.054 46.152 8487
+-118.928 46.152 8645
+-118.802 46.152 8740
+-118.676 46.152 8866
+-118.55 46.152 9007
+-118.424 46.152 9150
+-118.298 46.152 9179
+-118.172 46.152 9031
+-118.046 46.152 8997
+-117.92 46.152 8776
+-117.794 46.152 8678
+-117.668 46.152 8568
+-117.542 46.152 8390
+-117.416 46.152 8267
+-117.29 46.152 8128
+-117.164 46.152 7979
+-117.038 46.152 7862
+-116.912 46.152 7747
+-116.786 46.152 7616
+-116.66 46.152 7508
+-116.534 46.152 7338
+-116.408 46.152 7251
+-116.282 46.152 7083
+-116.156 46.152 6999
+-116.03 46.152 6848
+-115.904 46.152 6733
+-115.778 46.152 6648
+-115.652 46.152 6499
+-115.526 46.152 6319
+-115.4 46.152 6112
+-115.274 46.152 5974
+-115.148 46.152 5872
+-115.022 46.152 5770
+-114.896 46.152 5626
+-114.77 46.152 5639
+-114.644 46.152 5521
+-114.518 46.152 5335
+-114.392 46.152 5159
+-114.266 46.152 4949
+-114.14 46.152 4773
+-114.014 46.152 4604
+-113.888 46.152 4524
+-113.762 46.152 4459
+-113.636 46.152 4290
+-113.51 46.152 4122
+-113.384 46.152 4002
+-113.258 46.152 3894
+-113.132 46.152 3815
+-113.006 46.152 3641
+-112.88 46.152 3407
+-112.754 46.152 3552
+-112.628 46.152 3651
+-112.502 46.152 3688
+-112.376 46.152 3706
+-112.25 46.152 3723
+-112.124 46.152 3716
+-111.998 46.152 3731
+-111.872 46.152 3747
+-111.746 46.152 3761
+-111.62 46.152 3707
+-111.494 46.152 3719
+-111.368 46.152 3709
+-111.242 46.152 3650
+-111.116 46.152 3652
+-110.99 46.152 3652
+-110.864 46.152 3652
+-110.738 46.152 3652
+-110.612 46.152 3566
+-110.486 46.152 3566
+-110.36 46.152 3566
+-110.234 46.152 3567
+-110.108 46.152 3567
+-109.982 46.152 3567
+-109.856 46.152 3568
+-109.73 46.152 3568
+-109.604 46.152 3529
+-109.478 46.152 3462
+-109.352 46.152 3461
+-109.226 46.152 3460
+-109.1 46.152 3460
+-108.974 46.152 3460
+-108.848 46.152 3459
+-108.722 46.152 3459
+-108.596 46.152 3459
+-108.47 46.152 3459
+-108.344 46.152 3460
+-108.218 46.152 3460
+-108.092 46.152 3460
+-107.966 46.152 3460
+-107.84 46.152 3461
+-107.714 46.152 3461
+-107.588 46.152 3462
+-107.462 46.152 3462
+-107.336 46.152 3462
+-107.21 46.152 3284
+-107.084 46.152 3283
+-106.958 46.152 3282
+-106.832 46.152 3280
+-106.706 46.152 3279
+-106.58 46.152 3204
+-106.454 46.152 3203
+-106.328 46.152 3202
+-106.202 46.152 3201
+-106.076 46.152 3200
+-105.95 46.152 3199
+-105.824 46.152 3198
+-105.698 46.152 3197
+-105.572 46.152 3196
+-105.446 46.152 3195
+-105.32 46.152 3194
+-105.194 46.152 3193
+-105.068 46.152 3193
+-104.942 46.152 3192
+-104.816 46.152 3191
+-104.69 46.152 3191
+-104.564 46.152 3190
+-104.438 46.152 3190
+-104.312 46.152 2942
+-104.186 46.152 2958
+-104.06 46.152 2953
+-103.934 46.152 2949
+-103.808 46.152 2944
+-103.682 46.152 2802
+-103.556 46.152 2779
+-103.43 46.152 2778
+-103.304 46.152 2745
+-103.178 46.152 2746
+-103.052 46.152 2751
+-102.926 46.152 2826
+-102.8 46.152 2875
+-102.674 46.152 3038
+-102.548 46.152 3023
+-102.422 46.152 3131
+-102.296 46.152 3256
+-102.17 46.152 3227
+-102.044 46.152 3259
+-101.918 46.152 3258
+-101.792 46.152 3292
+-101.666 46.152 3263
+-101.54 46.152 3311
+-101.414 46.152 3214
+-101.288 46.152 3239
+-101.162 46.152 3242
+-101.036 46.152 3221
+-100.91 46.152 3240
+-100.784 46.152 3240
+-100.658 46.152 3243
+-100.532 46.152 3264
+-100.406 46.152 3264
+-100.28 46.152 3265
+-100.154 46.152 3365
+-100.028 46.152 3364
+-99.902 46.152 3364
+-99.776 46.152 3326
+-99.65 46.152 3421
+-99.524 46.152 3430
+-99.398 46.152 3429
+-99.272 46.152 3427
+-99.146 46.152 3426
+-99.02 46.152 3398
+-98.894 46.152 3395
+-98.768 46.152 3319
+-98.642 46.152 3456
+-98.516 46.152 3470
+-98.39 46.152 3430
+-98.264 46.152 3429
+-98.138 46.152 3429
+-98.012 46.152 3442
+-97.886 46.152 3393
+-97.76 46.152 3401
+-97.634 46.152 3396
+-97.508 46.152 3396
+-97.382 46.152 3395
+-97.256 46.152 3395
+-97.13 46.152 3394
+-97.004 46.152 3204
+-96.878 46.152 3229
+-96.752 46.152 3226
+-96.626 46.152 3223
+-96.5 46.152 3206
+-96.374 46.152 3249
+-96.248 46.152 3222
+-96.122 46.152 3218
+-95.996 46.152 3198
+-95.87 46.152 3194
+-95.744 46.152 3117
+-95.618 46.152 3146
+-95.492 46.152 3140
+-95.366 46.152 3135
+-95.24 46.152 3129
+-95.114 46.152 3113
+-94.988 46.152 3107
+-94.862 46.152 3099
+-94.736 46.152 3092
+-94.61 46.152 3083
+-94.484 46.152 3007
+-94.358 46.152 2986
+-94.232 46.152 2959
+-94.106 46.152 2908
+-93.98 46.152 2886
+-93.854 46.152 2857
+-93.728 46.152 2842
+-93.602 46.152 2824
+-93.476 46.152 2795
+-93.35 46.152 2758
+-93.224 46.152 2736
+-93.098 46.152 2710
+-92.972 46.152 2683
+-92.846 46.152 2651
+-92.72 46.152 2616
+-92.594 46.152 2576
+-92.468 46.152 2532
+-92.342 46.152 2481
+-92.216 46.152 2424
+-92.09 46.152 2360
+-91.964 46.152 2287
+-91.838 46.152 2206
+-91.712 46.152 2115
+-91.586 46.152 2016
+-91.46 46.152 1911
+-91.334 46.152 1792
+-91.208 46.152 1694
+-91.082 46.152 1598
+-90.956 46.152 1544
+-90.83 46.152 1526
+-90.704 46.152 1548
+-90.578 46.152 1608
+-90.452 46.152 1694
+-90.326 46.152 1794
+-90.2 46.152 1895
+-90.074 46.152 1990
+-89.948 46.152 2074
+-89.822 46.152 2128
+-89.696 46.152 2185
+-89.57 46.152 2231
+-89.444 46.152 2268
+-89.318 46.152 2298
+-89.192 46.152 2322
+-89.066 46.152 2341
+-88.94 46.152 2358
+-88.814 46.152 2373
+-88.688 46.152 2386
+-88.562 46.152 2399
+-88.436 46.152 2410
+-88.31 46.152 2427
+-88.184 46.152 2438
+-88.058 46.152 2449
+-87.932 46.152 2459
+-87.806 46.152 2424
+-87.68 46.152 2431
+-87.554 46.152 2437
+-87.428 46.152 2442
+-87.302 46.152 2446
+-87.176 46.152 2450
+-87.05 46.152 2453
+-86.924 46.152 2454
+-86.798 46.152 2456
+-86.672 46.152 2456
+-86.546 46.152 2460
+-86.42 46.152 2472
+-86.294 46.152 2472
+-86.168 46.152 2471
+-86.042 46.152 2470
+-85.916 46.152 2488
+-85.79 46.152 2487
+-85.664 46.152 2487
+-85.538 46.152 2486
+-85.412 46.152 2490
+-85.286 46.152 2584
+-85.16 46.152 2583
+-85.034 46.152 2582
+-84.908 46.152 2585
+-84.782 46.152 2584
+-84.656 46.152 2587
+-84.53 46.152 2597
+-84.404 46.152 2588
+-84.278 46.152 2596
+-84.152 46.152 2596
+-84.026 46.152 2598
+-83.9 46.152 2599
+-83.774 46.152 2600
+-83.648 46.152 2601
+-83.522 46.152 2604
+-83.396 46.152 2670
+-83.27 46.152 2672
+-83.144 46.152 2675
+-83.018 46.152 2677
+-82.892 46.152 2690
+-82.766 46.152 2693
+-82.64 46.152 2685
+-82.514 46.152 2688
+-82.388 46.152 2691
+-82.262 46.152 2694
+-82.136 46.152 2676
+-82.01 46.152 2685
+-81.884 46.152 2688
+-81.758 46.152 2794
+-81.632 46.152 2766
+-81.506 46.152 2770
+-81.38 46.152 2878
+-81.254 46.152 2880
+-81.128 46.152 2853
+-81.002 46.152 2903
+-80.876 46.152 2818
+-80.75 46.152 2843
+-80.624 46.152 2889
+-80.498 46.152 2808
+-80.372 46.152 2816
+-80.246 46.152 2737
+-80.12 46.152 2736
+-79.994 46.152 2751
+-79.868 46.152 2730
+-79.742 46.152 2734
+-79.616 46.152 2737
+-79.49 46.152 2687
+-79.364 46.152 2723
+-79.238 46.152 2719
+-79.112 46.152 2712
+-78.986 46.152 2715
+-78.86 46.152 2718
+-78.734 46.152 2721
+-78.608 46.152 2672
+-78.482 46.152 2670
+-78.356 46.152 2672
+-78.23 46.152 2675
+-78.104 46.152 2678
+-77.978 46.152 2676
+-77.852 46.152 2627
+-77.726 46.152 2727
+-77.6 46.152 2725
+-77.474 46.152 2732
+-77.348 46.152 2734
+-77.222 46.152 2736
+-77.096 46.152 2738
+-76.97 46.152 2761
+-76.844 46.152 2743
+-76.718 46.152 2802
+-76.592 46.152 2805
+-76.466 46.152 2797
+-76.34 46.152 2805
+-76.214 46.152 2808
+-76.088 46.152 2810
+-75.962 46.152 2799
+-75.836 46.152 2913
+-75.71 46.152 2915
+-75.584 46.152 2917
+-75.458 46.152 2919
+-75.332 46.152 3019
+-75.206 46.152 2975
+-75.08 46.152 3126
+-74.954 46.152 3127
+-74.828 46.152 3093
+-74.702 46.152 3094
+-74.576 46.152 3095
+-74.45 46.152 3096
+-74.324 46.152 3097
+-74.198 46.152 3098
+-74.072 46.152 3190
+-73.946 46.152 3186
+-73.82 46.152 3187
+-73.694 46.152 3188
+-73.568 46.152 3189
+-73.442 46.152 3134
+-73.316 46.152 3169
+-73.19 46.152 3170
+-73.064 46.152 3243
+-72.938 46.152 3156
+-72.812 46.152 3157
+-72.686 46.152 3159
+-72.56 46.152 3205
+-72.434 46.152 3161
+-72.308 46.152 3162
+-72.182 46.152 3163
+-72.056 46.152 3391
+-71.93 46.152 3338
+-71.804 46.152 3339
+-71.678 46.152 3470
+-71.552 46.152 3443
+-71.426 46.152 3444
+-71.3 46.152 3390
+-71.174 46.152 3463
+-71.048 46.152 3464
+-70.922 46.152 3465
+-70.796 46.152 3466
+-70.67 46.152 3466
+-70.544 46.152 3466
+-70.418 46.152 3466
+-70.292 46.152 3467
+-70.166 46.152 3456
+-70.04 46.152 3404
+-69.914 46.152 3398
+-69.788 46.152 3399
+-69.662 46.152 3399
+-69.536 46.152 3400
+-69.41 46.152 3400
+-69.284 46.152 3401
+-69.158 46.152 3401
+-69.032 46.152 3402
+-68.906 46.152 3403
+-68.78 46.152 3403
+-68.654 46.152 3404
+-68.528 46.152 3404
+-68.402 46.152 3405
+-68.276 46.152 3405
+-68.15 46.152 3406
+-68.024 46.152 3518
+-67.898 46.152 3519
+-67.772 46.152 3503
+-67.646 46.152 3503
+-67.52 46.152 3504
+-67.394 46.152 3504
+-67.268 46.152 3505
+-67.142 46.152 3505
+-67.016 46.152 3505
+-66.89 46.152 3506
+-66.764 46.152 3506
+-66.638 46.152 3506
+-66.512 46.152 3507
+-66.386 46.152 3547
+-66.26 46.152 3548
+-66.134 46.152 3548
+-66.008 46.152 3549
+-65.882 46.152 3549
+-65.756 46.152 3550
+-65.63 46.152 3507
+-65.504 46.152 3508
+-65.378 46.152 3508
+-65.252 46.152 3508
+-65.126 46.152 3549
+-128 46.1 4151
+-127.874 46.1 4311
+-127.748 46.1 4564
+-127.622 46.1 4707
+-127.496 46.1 4795
+-127.37 46.1 4834
+-127.244 46.1 4799
+-127.118 46.1 4922
+-126.992 46.1 5124
+-126.866 46.1 5303
+-126.74 46.1 5461
+-126.614 46.1 5559
+-126.488 46.1 5623
+-126.362 46.1 5782
+-126.236 46.1 5849
+-126.11 46.1 6053
+-125.984 46.1 6221
+-125.858 46.1 6287
+-125.732 46.1 6425
+-125.606 46.1 6581
+-125.48 46.1 6691
+-125.354 46.1 6831
+-125.228 46.1 6902
+-125.102 46.1 7099
+-124.976 46.1 7134
+-124.85 46.1 7332
+-124.724 46.1 7457
+-124.598 46.1 7560
+-124.472 46.1 7678
+-124.346 46.1 7793
+-124.22 46.1 7890
+-124.094 46.1 8026
+-123.968 46.1 8160
+-123.842 46.1 8190
+-123.716 46.1 8293
+-123.59 46.1 8375
+-123.464 46.1 8487
+-123.338 46.1 8572
+-123.212 46.1 8565
+-123.086 46.1 8585
+-122.96 46.1 8603
+-122.834 46.1 8601
+-122.708 46.1 8574
+-122.582 46.1 8523
+-122.456 46.1 8472
+-122.33 46.1 8392
+-122.204 46.1 8319
+-122.078 46.1 8225
+-121.952 46.1 8109
+-121.826 46.1 8008
+-121.7 46.1 7934
+-121.574 46.1 7826
+-121.448 46.1 7673
+-121.322 46.1 7584
+-121.196 46.1 7400
+-121.07 46.1 7371
+-120.944 46.1 7179
+-120.818 46.1 7117
+-120.692 46.1 6762
+-120.566 46.1 6937
+-120.44 46.1 7023
+-120.314 46.1 7167
+-120.188 46.1 7357
+-120.062 46.1 7460
+-119.936 46.1 7554
+-119.81 46.1 7777
+-119.684 46.1 7822
+-119.558 46.1 7937
+-119.432 46.1 8086
+-119.306 46.1 8186
+-119.18 46.1 8415
+-119.054 46.1 8471
+-118.928 46.1 8638
+-118.802 46.1 8779
+-118.676 46.1 8944
+-118.55 46.1 9014
+-118.424 46.1 9158
+-118.298 46.1 9216
+-118.172 46.1 9053
+-118.046 46.1 8948
+-117.92 46.1 8755
+-117.794 46.1 8705
+-117.668 46.1 8477
+-117.542 46.1 8419
+-117.416 46.1 8288
+-117.29 46.1 8166
+-117.164 46.1 8028
+-117.038 46.1 7880
+-116.912 46.1 7679
+-116.786 46.1 7598
+-116.66 46.1 7486
+-116.534 46.1 7365
+-116.408 46.1 7237
+-116.282 46.1 7097
+-116.156 46.1 6931
+-116.03 46.1 6836
+-115.904 46.1 6655
+-115.778 46.1 6668
+-115.652 46.1 6532
+-115.526 46.1 6275
+-115.4 46.1 6052
+-115.274 46.1 6047
+-115.148 46.1 5865
+-115.022 46.1 5767
+-114.896 46.1 5660
+-114.77 46.1 5616
+-114.644 46.1 5447
+-114.518 46.1 5235
+-114.392 46.1 5132
+-114.266 46.1 5014
+-114.14 46.1 4826
+-114.014 46.1 4602
+-113.888 46.1 4485
+-113.762 46.1 4474
+-113.636 46.1 4301
+-113.51 46.1 4100
+-113.384 46.1 4045
+-113.258 46.1 3825
+-113.132 46.1 3826
+-113.006 46.1 3733
+-112.88 46.1 3599
+-112.754 46.1 3626
+-112.628 46.1 3664
+-112.502 46.1 3679
+-112.376 46.1 3686
+-112.25 46.1 3677
+-112.124 46.1 3693
+-111.998 46.1 3712
+-111.872 46.1 3730
+-111.746 46.1 3748
+-111.62 46.1 3764
+-111.494 46.1 3690
+-111.368 46.1 3632
+-111.242 46.1 3634
+-111.116 46.1 3636
+-110.99 46.1 3637
+-110.864 46.1 3637
+-110.738 46.1 3557
+-110.612 46.1 3557
+-110.486 46.1 3558
+-110.36 46.1 3558
+-110.234 46.1 3559
+-110.108 46.1 3560
+-109.982 46.1 3561
+-109.856 46.1 3562
+-109.73 46.1 3563
+-109.604 46.1 3564
+-109.478 46.1 3566
+-109.352 46.1 3454
+-109.226 46.1 3454
+-109.1 46.1 3454
+-108.974 46.1 3454
+-108.848 46.1 3454
+-108.722 46.1 3454
+-108.596 46.1 3454
+-108.47 46.1 3455
+-108.344 46.1 3455
+-108.218 46.1 3456
+-108.092 46.1 3456
+-107.966 46.1 3457
+-107.84 46.1 3457
+-107.714 46.1 3458
+-107.588 46.1 3458
+-107.462 46.1 3459
+-107.336 46.1 3285
+-107.21 46.1 3283
+-107.084 46.1 3282
+-106.958 46.1 3281
+-106.832 46.1 3280
+-106.706 46.1 3279
+-106.58 46.1 3278
+-106.454 46.1 3203
+-106.328 46.1 3202
+-106.202 46.1 3201
+-106.076 46.1 3200
+-105.95 46.1 3199
+-105.824 46.1 3198
+-105.698 46.1 3197
+-105.572 46.1 3196
+-105.446 46.1 3196
+-105.32 46.1 3195
+-105.194 46.1 3194
+-105.068 46.1 3193
+-104.942 46.1 3193
+-104.816 46.1 3192
+-104.69 46.1 3191
+-104.564 46.1 3191
+-104.438 46.1 3190
+-104.312 46.1 2941
+-104.186 46.1 2937
+-104.06 46.1 2952
+-103.934 46.1 2947
+-103.808 46.1 2943
+-103.682 46.1 2801
+-103.556 46.1 2779
+-103.43 46.1 2778
+-103.304 46.1 2746
+-103.178 46.1 2747
+-103.052 46.1 2752
+-102.926 46.1 2828
+-102.8 46.1 2877
+-102.674 46.1 3040
+-102.548 46.1 3025
+-102.422 46.1 3131
+-102.296 46.1 3255
+-102.17 46.1 3255
+-102.044 46.1 3226
+-101.918 46.1 3257
+-101.792 46.1 3257
+-101.666 46.1 3290
+-101.54 46.1 3261
+-101.414 46.1 3310
+-101.288 46.1 3213
+-101.162 46.1 3237
+-101.036 46.1 3241
+-100.91 46.1 3220
+-100.784 46.1 3239
+-100.658 46.1 3239
+-100.532 46.1 3242
+-100.406 46.1 3263
+-100.28 46.1 3263
+-100.154 46.1 3263
+-100.028 46.1 3363
+-99.902 46.1 3363
+-99.776 46.1 3363
+-99.65 46.1 3324
+-99.524 46.1 3420
+-99.398 46.1 3428
+-99.272 46.1 3428
+-99.146 46.1 3425
+-99.02 46.1 3425
+-98.894 46.1 3397
+-98.768 46.1 3393
+-98.642 46.1 3318
+-98.516 46.1 3454
+-98.39 46.1 3469
+-98.264 46.1 3429
+-98.138 46.1 3428
+-98.012 46.1 3427
+-97.886 46.1 3441
+-97.76 46.1 3392
+-97.634 46.1 3400
+-97.508 46.1 3399
+-97.382 46.1 3394
+-97.256 46.1 3394
+-97.13 46.1 3393
+-97.004 46.1 3393
+-96.878 46.1 3204
+-96.752 46.1 3229
+-96.626 46.1 3227
+-96.5 46.1 3224
+-96.374 46.1 3206
+-96.248 46.1 3249
+-96.122 46.1 3222
+-95.996 46.1 3218
+-95.87 46.1 3198
+-95.744 46.1 3195
+-95.618 46.1 3118
+-95.492 46.1 3146
+-95.366 46.1 3140
+-95.24 46.1 3135
+-95.114 46.1 3129
+-94.988 46.1 3113
+-94.862 46.1 3106
+-94.736 46.1 3099
+-94.61 46.1 3091
+-94.484 46.1 3082
+-94.358 46.1 3007
+-94.232 46.1 2985
+-94.106 46.1 2958
+-93.98 46.1 2907
+-93.854 46.1 2884
+-93.728 46.1 2855
+-93.602 46.1 2839
+-93.476 46.1 2820
+-93.35 46.1 2791
+-93.224 46.1 2753
+-93.098 46.1 2729
+-92.972 46.1 2703
+-92.846 46.1 2674
+-92.72 46.1 2641
+-92.594 46.1 2604
+-92.468 46.1 2563
+-92.342 46.1 2516
+-92.216 46.1 2463
+-92.09 46.1 2404
+-91.964 46.1 2338
+-91.838 46.1 2265
+-91.712 46.1 2184
+-91.586 46.1 2097
+-91.46 46.1 2006
+-91.334 46.1 1914
+-91.208 46.1 1816
+-91.082 46.1 1747
+-90.956 46.1 1686
+-90.83 46.1 1672
+-90.704 46.1 1690
+-90.578 46.1 1741
+-90.452 46.1 1813
+-90.326 46.1 1896
+-90.2 46.1 1981
+-90.074 46.1 2060
+-89.948 46.1 2130
+-89.822 46.1 2172
+-89.696 46.1 2219
+-89.57 46.1 2257
+-89.444 46.1 2286
+-89.318 46.1 2310
+-89.192 46.1 2329
+-89.066 46.1 2344
+-88.94 46.1 2358
+-88.814 46.1 2370
+-88.688 46.1 2382
+-88.562 46.1 2394
+-88.436 46.1 2410
+-88.31 46.1 2422
+-88.184 46.1 2433
+-88.058 46.1 2444
+-87.932 46.1 2414
+-87.806 46.1 2422
+-87.68 46.1 2430
+-87.554 46.1 2436
+-87.428 46.1 2441
+-87.302 46.1 2446
+-87.176 46.1 2449
+-87.05 46.1 2451
+-86.924 46.1 2453
+-86.798 46.1 2454
+-86.672 46.1 2458
+-86.546 46.1 2470
+-86.42 46.1 2470
+-86.294 46.1 2469
+-86.168 46.1 2468
+-86.042 46.1 2485
+-85.916 46.1 2485
+-85.79 46.1 2484
+-85.664 46.1 2483
+-85.538 46.1 2487
+-85.412 46.1 2579
+-85.286 46.1 2577
+-85.16 46.1 2576
+-85.034 46.1 2579
+-84.908 46.1 2578
+-84.782 46.1 2581
+-84.656 46.1 2590
+-84.53 46.1 2581
+-84.404 46.1 2589
+-84.278 46.1 2589
+-84.152 46.1 2591
+-84.026 46.1 2592
+-83.9 46.1 2593
+-83.774 46.1 2594
+-83.648 46.1 2597
+-83.522 46.1 2662
+-83.396 46.1 2665
+-83.27 46.1 2667
+-83.144 46.1 2669
+-83.018 46.1 2682
+-82.892 46.1 2685
+-82.766 46.1 2678
+-82.64 46.1 2681
+-82.514 46.1 2684
+-82.388 46.1 2687
+-82.262 46.1 2669
+-82.136 46.1 2678
+-82.01 46.1 2682
+-81.884 46.1 2787
+-81.758 46.1 2760
+-81.632 46.1 2763
+-81.506 46.1 2871
+-81.38 46.1 2872
+-81.254 46.1 2846
+-81.128 46.1 2895
+-81.002 46.1 2811
+-80.876 46.1 2836
+-80.75 46.1 2883
+-80.624 46.1 2802
+-80.498 46.1 2810
+-80.372 46.1 2732
+-80.246 46.1 2731
+-80.12 46.1 2746
+-79.994 46.1 2726
+-79.868 46.1 2730
+-79.742 46.1 2733
+-79.616 46.1 2684
+-79.49 46.1 2719
+-79.364 46.1 2715
+-79.238 46.1 2708
+-79.112 46.1 2712
+-78.986 46.1 2715
+-78.86 46.1 2718
+-78.734 46.1 2670
+-78.608 46.1 2667
+-78.482 46.1 2670
+-78.356 46.1 2673
+-78.23 46.1 2675
+-78.104 46.1 2674
+-77.978 46.1 2625
+-77.852 46.1 2725
+-77.726 46.1 2723
+-77.6 46.1 2730
+-77.474 46.1 2732
+-77.348 46.1 2734
+-77.222 46.1 2736
+-77.096 46.1 2759
+-76.97 46.1 2741
+-76.844 46.1 2801
+-76.718 46.1 2803
+-76.592 46.1 2796
+-76.466 46.1 2804
+-76.34 46.1 2806
+-76.214 46.1 2808
+-76.088 46.1 2798
+-75.962 46.1 2912
+-75.836 46.1 2914
+-75.71 46.1 2916
+-75.584 46.1 2918
+-75.458 46.1 3017
+-75.332 46.1 2974
+-75.206 46.1 3125
+-75.08 46.1 3126
+-74.954 46.1 3092
+-74.828 46.1 3093
+-74.702 46.1 3094
+-74.576 46.1 3095
+-74.45 46.1 3096
+-74.324 46.1 3097
+-74.198 46.1 3189
+-74.072 46.1 3185
+-73.946 46.1 3186
+-73.82 46.1 3187
+-73.694 46.1 3188
+-73.568 46.1 3134
+-73.442 46.1 3168
+-73.316 46.1 3169
+-73.19 46.1 3242
+-73.064 46.1 3155
+-72.938 46.1 3157
+-72.812 46.1 3158
+-72.686 46.1 3204
+-72.56 46.1 3160
+-72.434 46.1 3161
+-72.308 46.1 3162
+-72.182 46.1 3390
+-72.056 46.1 3337
+-71.93 46.1 3338
+-71.804 46.1 3469
+-71.678 46.1 3442
+-71.552 46.1 3443
+-71.426 46.1 3390
+-71.3 46.1 3463
+-71.174 46.1 3464
+-71.048 46.1 3464
+-70.922 46.1 3465
+-70.796 46.1 3466
+-70.67 46.1 3465
+-70.544 46.1 3466
+-70.418 46.1 3466
+-70.292 46.1 3455
+-70.166 46.1 3403
+-70.04 46.1 3398
+-69.914 46.1 3398
+-69.788 46.1 3399
+-69.662 46.1 3399
+-69.536 46.1 3400
+-69.41 46.1 3400
+-69.284 46.1 3401
+-69.158 46.1 3402
+-69.032 46.1 3402
+-68.906 46.1 3403
+-68.78 46.1 3403
+-68.654 46.1 3404
+-68.528 46.1 3404
+-68.402 46.1 3405
+-68.276 46.1 3405
+-68.15 46.1 3518
+-68.024 46.1 3518
+-67.898 46.1 3503
+-67.772 46.1 3503
+-67.646 46.1 3503
+-67.52 46.1 3504
+-67.394 46.1 3504
+-67.268 46.1 3505
+-67.142 46.1 3505
+-67.016 46.1 3505
+-66.89 46.1 3506
+-66.764 46.1 3506
+-66.638 46.1 3507
+-66.512 46.1 3547
+-66.386 46.1 3547
+-66.26 46.1 3548
+-66.134 46.1 3548
+-66.008 46.1 3549
+-65.882 46.1 3549
+-65.756 46.1 3507
+-65.63 46.1 3507
+-65.504 46.1 3508
+-65.378 46.1 3508
+-65.252 46.1 3549
+-65.126 46.1 3549
+-128 46.048 4403
+-127.874 46.048 4491
+-127.748 46.048 4613
+-127.622 46.048 4744
+-127.496 46.048 4801
+-127.37 46.048 4831
+-127.244 46.048 4846
+-127.118 46.048 4955
+-126.992 46.048 5074
+-126.866 46.048 5257
+-126.74 46.048 5379
+-126.614 46.048 5516
+-126.488 46.048 5656
+-126.362 46.048 5800
+-126.236 46.048 5937
+-126.11 46.048 6054
+-125.984 46.048 6208
+-125.858 46.048 6326
+-125.732 46.048 6466
+-125.606 46.048 6585
+-125.48 46.048 6598
+-125.354 46.048 6731
+-125.228 46.048 6856
+-125.102 46.048 7040
+-124.976 46.048 7118
+-124.85 46.048 7286
+-124.724 46.048 7423
+-124.598 46.048 7479
+-124.472 46.048 7636
+-124.346 46.048 7757
+-124.22 46.048 7856
+-124.094 46.048 7967
+-123.968 46.048 8110
+-123.842 46.048 8185
+-123.716 46.048 8279
+-123.59 46.048 8343
+-123.464 46.048 8424
+-123.338 46.048 8469
+-123.212 46.048 8531
+-123.086 46.048 8546
+-122.96 46.048 8555
+-122.834 46.048 8567
+-122.708 46.048 8531
+-122.582 46.048 8476
+-122.456 46.048 8435
+-122.33 46.048 8389
+-122.204 46.048 8280
+-122.078 46.048 8225
+-121.952 46.048 8090
+-121.826 46.048 8013
+-121.7 46.048 7877
+-121.574 46.048 7797
+-121.448 46.048 7626
+-121.322 46.048 7526
+-121.196 46.048 7387
+-121.07 46.048 7290
+-120.944 46.048 7137
+-120.818 46.048 7045
+-120.692 46.048 6945
+-120.566 46.048 6953
+-120.44 46.048 7053
+-120.314 46.048 7180
+-120.188 46.048 7354
+-120.062 46.048 7480
+-119.936 46.048 7580
+-119.81 46.048 7715
+-119.684 46.048 7838
+-119.558 46.048 7939
+-119.432 46.048 8124
+-119.306 46.048 8236
+-119.18 46.048 8375
+-119.054 46.048 8512
+-118.928 46.048 8658
+-118.802 46.048 8754
+-118.676 46.048 8920
+-118.55 46.048 9043
+-118.424 46.048 9137
+-118.298 46.048 9171
+-118.172 46.048 9030
+-118.046 46.048 8950
+-117.92 46.048 8780
+-117.794 46.048 8687
+-117.668 46.048 8532
+-117.542 46.048 8406
+-117.416 46.048 8255
+-117.29 46.048 8146
+-117.164 46.048 7999
+-117.038 46.048 7832
+-116.912 46.048 7729
+-116.786 46.048 7618
+-116.66 46.048 7412
+-116.534 46.048 7354
+-116.408 46.048 7267
+-116.282 46.048 7078
+-116.156 46.048 6983
+-116.03 46.048 6785
+-115.904 46.048 6691
+-115.778 46.048 6702
+-115.652 46.048 6527
+-115.526 46.048 6267
+-115.4 46.048 6053
+-115.274 46.048 5940
+-115.148 46.048 5841
+-115.022 46.048 5751
+-114.896 46.048 5670
+-114.77 46.048 5572
+-114.644 46.048 5382
+-114.518 46.048 5155
+-114.392 46.048 5090
+-114.266 46.048 5008
+-114.14 46.048 4885
+-114.014 46.048 4689
+-113.888 46.048 4554
+-113.762 46.048 4488
+-113.636 46.048 4355
+-113.51 46.048 4147
+-113.384 46.048 4011
+-113.258 46.048 3883
+-113.132 46.048 3775
+-113.006 46.048 3793
+-112.88 46.048 3739
+-112.754 46.048 3699
+-112.628 46.048 3670
+-112.502 46.048 3634
+-112.376 46.048 3611
+-112.25 46.048 3628
+-112.124 46.048 3656
+-111.998 46.048 3684
+-111.872 46.048 3710
+-111.746 46.048 3732
+-111.62 46.048 3663
+-111.494 46.048 3610
+-111.368 46.048 3614
+-111.242 46.048 3617
+-111.116 46.048 3619
+-110.99 46.048 3620
+-110.864 46.048 3543
+-110.738 46.048 3544
+-110.612 46.048 3544
+-110.486 46.048 3545
+-110.36 46.048 3546
+-110.234 46.048 3547
+-110.108 46.048 3548
+-109.982 46.048 3550
+-109.856 46.048 3551
+-109.73 46.048 3553
+-109.604 46.048 3555
+-109.478 46.048 3557
+-109.352 46.048 3539
+-109.226 46.048 3446
+-109.1 46.048 3447
+-108.974 46.048 3447
+-108.848 46.048 3448
+-108.722 46.048 3448
+-108.596 46.048 3449
+-108.47 46.048 3450
+-108.344 46.048 3450
+-108.218 46.048 3451
+-108.092 46.048 3452
+-107.966 46.048 3453
+-107.84 46.048 3453
+-107.714 46.048 3454
+-107.588 46.048 3455
+-107.462 46.048 3285
+-107.336 46.048 3284
+-107.21 46.048 3283
+-107.084 46.048 3282
+-106.958 46.048 3281
+-106.832 46.048 3280
+-106.706 46.048 3279
+-106.58 46.048 3278
+-106.454 46.048 3277
+-106.328 46.048 3202
+-106.202 46.048 3201
+-106.076 46.048 3200
+-105.95 46.048 3200
+-105.824 46.048 3199
+-105.698 46.048 3198
+-105.572 46.048 3197
+-105.446 46.048 3196
+-105.32 46.048 3195
+-105.194 46.048 3195
+-105.068 46.048 3194
+-104.942 46.048 3193
+-104.816 46.048 3193
+-104.69 46.048 3192
+-104.564 46.048 3192
+-104.438 46.048 3157
+-104.312 46.048 2939
+-104.186 46.048 2935
+-104.06 46.048 2951
+-103.934 46.048 2938
+-103.808 46.048 2933
+-103.682 46.048 2800
+-103.556 46.048 2779
+-103.43 46.048 2778
+-103.304 46.048 2746
+-103.178 46.048 2748
+-103.052 46.048 2753
+-102.926 46.048 2829
+-102.8 46.048 2879
+-102.674 46.048 3041
+-102.548 46.048 3026
+-102.422 46.048 3130
+-102.296 46.048 3254
+-102.17 46.048 3254
+-102.044 46.048 3253
+-101.918 46.048 3225
+-101.792 46.048 3256
+-101.666 46.048 3255
+-101.54 46.048 3289
+-101.414 46.048 3260
+-101.288 46.048 3308
+-101.162 46.048 3212
+-101.036 46.048 3236
+-100.91 46.048 3240
+-100.784 46.048 3219
+-100.658 46.048 3237
+-100.532 46.048 3237
+-100.406 46.048 3240
+-100.28 46.048 3262
+-100.154 46.048 3262
+-100.028 46.048 3262
+-99.902 46.048 3361
+-99.776 46.048 3361
+-99.65 46.048 3361
+-99.524 46.048 3323
+-99.398 46.048 3418
+-99.272 46.048 3426
+-99.146 46.048 3426
+-99.02 46.048 3424
+-98.894 46.048 3423
+-98.768 46.048 3395
+-98.642 46.048 3392
+-98.516 46.048 3317
+-98.39 46.048 3453
+-98.264 46.048 3467
+-98.138 46.048 3428
+-98.012 46.048 3427
+-97.886 46.048 3426
+-97.76 46.048 3439
+-97.634 46.048 3391
+-97.508 46.048 3398
+-97.382 46.048 3393
+-97.256 46.048 3393
+-97.13 46.048 3392
+-97.004 46.048 3392
+-96.878 46.048 3391
+-96.752 46.048 3205
+-96.626 46.048 3230
+-96.5 46.048 3227
+-96.374 46.048 3224
+-96.248 46.048 3207
+-96.122 46.048 3250
+-95.996 46.048 3222
+-95.87 46.048 3218
+-95.744 46.048 3199
+-95.618 46.048 3195
+-95.492 46.048 3119
+-95.366 46.048 3146
+-95.24 46.048 3141
+-95.114 46.048 3135
+-94.988 46.048 3129
+-94.862 46.048 3113
+-94.736 46.048 3106
+-94.61 46.048 3099
+-94.484 46.048 3091
+-94.358 46.048 3082
+-94.232 46.048 3007
+-94.106 46.048 2985
+-93.98 46.048 2958
+-93.854 46.048 2906
+-93.728 46.048 2883
+-93.602 46.048 2854
+-93.476 46.048 2838
+-93.35 46.048 2818
+-93.224 46.048 2788
+-93.098 46.048 2749
+-92.972 46.048 2725
+-92.846 46.048 2698
+-92.72 46.048 2667
+-92.594 46.048 2633
+-92.468 46.048 2595
+-92.342 46.048 2553
+-92.216 46.048 2506
+-92.09 46.048 2453
+-91.964 46.048 2394
+-91.838 46.048 2329
+-91.712 46.048 2259
+-91.586 46.048 2185
+-91.46 46.048 2108
+-91.334 46.048 2033
+-91.208 46.048 1964
+-91.082 46.048 1893
+-90.956 46.048 1858
+-90.83 46.048 1828
+-90.704 46.048 1845
+-90.578 46.048 1881
+-90.452 46.048 1938
+-90.326 46.048 2003
+-90.2 46.048 2070
+-90.074 46.048 2132
+-89.948 46.048 2186
+-89.822 46.048 2215
+-89.696 46.048 2252
+-89.57 46.048 2280
+-89.444 46.048 2302
+-89.318 46.048 2320
+-89.192 46.048 2333
+-89.066 46.048 2344
+-88.94 46.048 2355
+-88.814 46.048 2365
+-88.688 46.048 2375
+-88.562 46.048 2391
+-88.436 46.048 2403
+-88.31 46.048 2415
+-88.184 46.048 2427
+-88.058 46.048 2402
+-87.932 46.048 2412
+-87.806 46.048 2420
+-87.68 46.048 2428
+-87.554 46.048 2435
+-87.428 46.048 2440
+-87.302 46.048 2445
+-87.176 46.048 2448
+-87.05 46.048 2450
+-86.924 46.048 2452
+-86.798 46.048 2456
+-86.672 46.048 2468
+-86.546 46.048 2468
+-86.42 46.048 2467
+-86.294 46.048 2466
+-86.168 46.048 2483
+-86.042 46.048 2482
+-85.916 46.048 2481
+-85.79 46.048 2480
+-85.664 46.048 2494
+-85.538 46.048 2573
+-85.412 46.048 2571
+-85.286 46.048 2570
+-85.16 46.048 2572
+-85.034 46.048 2571
+-84.908 46.048 2574
+-84.782 46.048 2583
+-84.656 46.048 2574
+-84.53 46.048 2581
+-84.404 46.048 2582
+-84.278 46.048 2583
+-84.152 46.048 2584
+-84.026 46.048 2586
+-83.9 46.048 2587
+-83.774 46.048 2590
+-83.648 46.048 2654
+-83.522 46.048 2656
+-83.396 46.048 2659
+-83.27 46.048 2661
+-83.144 46.048 2674
+-83.018 46.048 2677
+-82.892 46.048 2670
+-82.766 46.048 2673
+-82.64 46.048 2676
+-82.514 46.048 2680
+-82.388 46.048 2663
+-82.262 46.048 2672
+-82.136 46.048 2675
+-82.01 46.048 2779
+-81.884 46.048 2753
+-81.758 46.048 2756
+-81.632 46.048 2862
+-81.506 46.048 2864
+-81.38 46.048 2839
+-81.254 46.048 2887
+-81.128 46.048 2805
+-81.002 46.048 2829
+-80.876 46.048 2875
+-80.75 46.048 2796
+-80.624 46.048 2805
+-80.498 46.048 2727
+-80.372 46.048 2727
+-80.246 46.048 2741
+-80.12 46.048 2722
+-79.994 46.048 2726
+-79.868 46.048 2729
+-79.742 46.048 2680
+-79.616 46.048 2715
+-79.49 46.048 2711
+-79.364 46.048 2705
+-79.238 46.048 2708
+-79.112 46.048 2712
+-78.986 46.048 2715
+-78.86 46.048 2667
+-78.734 46.048 2665
+-78.608 46.048 2668
+-78.482 46.048 2671
+-78.356 46.048 2673
+-78.23 46.048 2672
+-78.104 46.048 2623
+-77.978 46.048 2723
+-77.852 46.048 2721
+-77.726 46.048 2728
+-77.6 46.048 2730
+-77.474 46.048 2732
+-77.348 46.048 2735
+-77.222 46.048 2758
+-77.096 46.048 2740
+-76.97 46.048 2799
+-76.844 46.048 2801
+-76.718 46.048 2794
+-76.592 46.048 2802
+-76.466 46.048 2805
+-76.34 46.048 2807
+-76.214 46.048 2797
+-76.088 46.048 2910
+-75.962 46.048 2912
+-75.836 46.048 2914
+-75.71 46.048 2916
+-75.584 46.048 3016
+-75.458 46.048 2973
+-75.332 46.048 3124
+-75.206 46.048 3125
+-75.08 46.048 3091
+-74.954 46.048 3092
+-74.828 46.048 3093
+-74.702 46.048 3094
+-74.576 46.048 3095
+-74.45 46.048 3096
+-74.324 46.048 3188
+-74.198 46.048 3184
+-74.072 46.048 3185
+-73.946 46.048 3186
+-73.82 46.048 3187
+-73.694 46.048 3133
+-73.568 46.048 3167
+-73.442 46.048 3168
+-73.316 46.048 3241
+-73.19 46.048 3154
+-73.064 46.048 3156
+-72.938 46.048 3157
+-72.812 46.048 3203
+-72.686 46.048 3159
+-72.56 46.048 3160
+-72.434 46.048 3162
+-72.308 46.048 3389
+-72.182 46.048 3337
+-72.056 46.048 3337
+-71.93 46.048 3468
+-71.804 46.048 3441
+-71.678 46.048 3442
+-71.552 46.048 3389
+-71.426 46.048 3462
+-71.3 46.048 3463
+-71.174 46.048 3464
+-71.048 46.048 3464
+-70.922 46.048 3465
+-70.796 46.048 3464
+-70.67 46.048 3465
+-70.544 46.048 3466
+-70.418 46.048 3455
+-70.292 46.048 3403
+-70.166 46.048 3397
+-70.04 46.048 3398
+-69.914 46.048 3398
+-69.788 46.048 3399
+-69.662 46.048 3399
+-69.536 46.048 3400
+-69.41 46.048 3401
+-69.284 46.048 3401
+-69.158 46.048 3402
+-69.032 46.048 3402
+-68.906 46.048 3403
+-68.78 46.048 3403
+-68.654 46.048 3404
+-68.528 46.048 3404
+-68.402 46.048 3405
+-68.276 46.048 3517
+-68.15 46.048 3518
+-68.024 46.048 3502
+-67.898 46.048 3503
+-67.772 46.048 3503
+-67.646 46.048 3503
+-67.52 46.048 3504
+-67.394 46.048 3504
+-67.268 46.048 3505
+-67.142 46.048 3505
+-67.016 46.048 3506
+-66.89 46.048 3506
+-66.764 46.048 3506
+-66.638 46.048 3546
+-66.512 46.048 3547
+-66.386 46.048 3547
+-66.26 46.048 3548
+-66.134 46.048 3548
+-66.008 46.048 3549
+-65.882 46.048 3507
+-65.756 46.048 3507
+-65.63 46.048 3507
+-65.504 46.048 3508
+-65.378 46.048 3548
+-65.252 46.048 3549
+-65.126 46.048 3550
+-128 45.996 4496
+-127.874 45.996 4593
+-127.748 45.996 4666
+-127.622 45.996 4720
+-127.496 45.996 4794
+-127.37 45.996 4816
+-127.244 45.996 4763
+-127.118 45.996 4948
+-126.992 45.996 5042
+-126.866 45.996 5190
+-126.74 45.996 5348
+-126.614 45.996 5436
+-126.488 45.996 5624
+-126.362 45.996 5829
+-126.236 45.996 5960
+-126.11 45.996 6018
+-125.984 45.996 6178
+-125.858 45.996 6346
+-125.732 45.996 6394
+-125.606 45.996 6538
+-125.48 45.996 6605
+-125.354 45.996 6796
+-125.228 45.996 6856
+-125.102 45.996 6975
+-124.976 45.996 7134
+-124.85 45.996 7319
+-124.724 45.996 7388
+-124.598 45.996 7503
+-124.472 45.996 7595
+-124.346 45.996 7680
+-124.22 45.996 7811
+-124.094 45.996 7929
+-123.968 45.996 8064
+-123.842 45.996 8149
+-123.716 45.996 8240
+-123.59 45.996 8278
+-123.464 45.996 8375
+-123.338 45.996 8456
+-123.212 45.996 8485
+-123.086 45.996 8486
+-122.96 45.996 8520
+-122.834 45.996 8496
+-122.708 45.996 8471
+-122.582 45.996 8420
+-122.456 45.996 8365
+-122.33 45.996 8305
+-122.204 45.996 8235
+-122.078 45.996 8148
+-121.952 45.996 8062
+-121.826 45.996 7914
+-121.7 45.996 7804
+-121.574 45.996 7749
+-121.448 45.996 7586
+-121.322 45.996 7563
+-121.196 45.996 7306
+-121.07 45.996 7231
+-120.944 45.996 7110
+-120.818 45.996 6955
+-120.692 45.996 6825
+-120.566 45.996 6942
+-120.44 45.996 7055
+-120.314 45.996 7159
+-120.188 45.996 7345
+-120.062 45.996 7476
+-119.936 45.996 7572
+-119.81 45.996 7724
+-119.684 45.996 7801
+-119.558 45.996 7925
+-119.432 45.996 8157
+-119.306 45.996 8235
+-119.18 45.996 8367
+-119.054 45.996 8500
+-118.928 45.996 8685
+-118.802 45.996 8802
+-118.676 45.996 8907
+-118.55 45.996 8995
+-118.424 45.996 9132
+-118.298 45.996 9099
+-118.172 45.996 9001
+-118.046 45.996 8951
+-117.92 45.996 8792
+-117.794 45.996 8693
+-117.668 45.996 8528
+-117.542 45.996 8355
+-117.416 45.996 8276
+-117.29 45.996 8162
+-117.164 45.996 7990
+-117.038 45.996 7836
+-116.912 45.996 7789
+-116.786 45.996 7640
+-116.66 45.996 7526
+-116.534 45.996 7395
+-116.408 45.996 7262
+-116.282 45.996 7099
+-116.156 45.996 6960
+-116.03 45.996 6834
+-115.904 45.996 6726
+-115.778 45.996 6707
+-115.652 45.996 6479
+-115.526 45.996 6288
+-115.4 45.996 6052
+-115.274 45.996 6044
+-115.148 45.996 5805
+-115.022 45.996 5732
+-114.896 45.996 5632
+-114.77 45.996 5563
+-114.644 45.996 5406
+-114.518 45.996 5226
+-114.392 45.996 5083
+-114.266 45.996 4901
+-114.14 45.996 4898
+-114.014 45.996 4748
+-113.888 45.996 4599
+-113.762 45.996 4508
+-113.636 45.996 4424
+-113.51 45.996 4270
+-113.384 45.996 4089
+-113.258 45.996 3946
+-113.132 45.996 3856
+-113.006 45.996 3832
+-112.88 45.996 3778
+-112.754 45.996 3697
+-112.628 45.996 3574
+-112.502 45.996 3486
+-112.376 45.996 3492
+-112.25 45.996 3546
+-112.124 45.996 3604
+-111.998 45.996 3652
+-111.872 45.996 3665
+-111.746 45.996 3634
+-111.62 45.996 3582
+-111.494 45.996 3589
+-111.368 45.996 3594
+-111.242 45.996 3598
+-111.116 45.996 3600
+-110.99 45.996 3601
+-110.864 45.996 3602
+-110.738 45.996 3529
+-110.612 45.996 3530
+-110.486 45.996 3532
+-110.36 45.996 3533
+-110.234 45.996 3518
+-110.108 45.996 3519
+-109.982 45.996 3520
+-109.856 45.996 3522
+-109.73 45.996 3523
+-109.604 45.996 3525
+-109.478 45.996 3527
+-109.352 45.996 3529
+-109.226 45.996 3531
+-109.1 45.996 3440
+-108.974 45.996 3441
+-108.848 45.996 3441
+-108.722 45.996 3442
+-108.596 45.996 3443
+-108.47 45.996 3444
+-108.344 45.996 3445
+-108.218 45.996 3446
+-108.092 45.996 3447
+-107.966 45.996 3448
+-107.84 45.996 3450
+-107.714 45.996 3451
+-107.588 45.996 3451
+-107.462 45.996 3284
+-107.336 45.996 3283
+-107.21 45.996 3282
+-107.084 45.996 3281
+-106.958 45.996 3280
+-106.832 45.996 3279
+-106.706 45.996 3278
+-106.58 45.996 3277
+-106.454 45.996 3276
+-106.328 45.996 3276
+-106.202 45.996 3202
+-106.076 45.996 3201
+-105.95 45.996 3200
+-105.824 45.996 3199
+-105.698 45.996 3198
+-105.572 45.996 3197
+-105.446 45.996 3197
+-105.32 45.996 3196
+-105.194 45.996 3195
+-105.068 45.996 3195
+-104.942 45.996 3194
+-104.816 45.996 3193
+-104.69 45.996 3193
+-104.564 45.996 3159
+-104.438 45.996 3157
+-104.312 45.996 2938
+-104.186 45.996 2934
+-104.06 45.996 2950
+-103.934 45.996 2936
+-103.808 45.996 2932
+-103.682 45.996 2800
+-103.556 45.996 2779
+-103.43 45.996 2778
+-103.304 45.996 2747
+-103.178 45.996 2749
+-103.052 45.996 2754
+-102.926 45.996 2837
+-102.8 45.996 2881
+-102.674 45.996 3037
+-102.548 45.996 3027
+-102.422 45.996 3130
+-102.296 45.996 3253
+-102.17 45.996 3253
+-102.044 45.996 3252
+-101.918 45.996 3251
+-101.792 45.996 3224
+-101.666 45.996 3254
+-101.54 45.996 3254
+-101.414 45.996 3287
+-101.288 45.996 3259
+-101.162 45.996 3306
+-101.036 45.996 3211
+-100.91 45.996 3235
+-100.784 45.996 3238
+-100.658 45.996 3218
+-100.532 45.996 3236
+-100.406 45.996 3236
+-100.28 45.996 3239
+-100.154 45.996 3260
+-100.028 45.996 3261
+-99.902 45.996 3261
+-99.776 45.996 3360
+-99.65 45.996 3360
+-99.524 45.996 3360
+-99.398 45.996 3322
+-99.272 45.996 3416
+-99.146 45.996 3425
+-99.02 45.996 3424
+-98.894 45.996 3422
+-98.768 45.996 3422
+-98.642 45.996 3394
+-98.516 45.996 3390
+-98.39 45.996 3316
+-98.264 45.996 3452
+-98.138 45.996 3466
+-98.012 45.996 3426
+-97.886 45.996 3425
+-97.76 45.996 3425
+-97.634 45.996 3438
+-97.508 45.996 3389
+-97.382 45.996 3397
+-97.256 45.996 3396
+-97.13 45.996 3391
+-97.004 45.996 3391
+-96.878 45.996 3390
+-96.752 45.996 3390
+-96.626 45.996 3206
+-96.5 45.996 3230
+-96.374 45.996 3227
+-96.248 45.996 3225
+-96.122 45.996 3207
+-95.996 45.996 3250
+-95.87 45.996 3223
+-95.744 45.996 3219
+-95.618 45.996 3199
+-95.492 45.996 3196
+-95.366 45.996 3120
+-95.24 45.996 3147
+-95.114 45.996 3141
+-94.988 45.996 3136
+-94.862 45.996 3129
+-94.736 45.996 3114
+-94.61 45.996 3107
+-94.484 45.996 3099
+-94.358 45.996 3091
+-94.232 45.996 3082
+-94.106 45.996 3008
+-93.98 45.996 2986
+-93.854 45.996 2958
+-93.728 45.996 2907
+-93.602 45.996 2884
+-93.476 45.996 2854
+-93.35 45.996 2837
+-93.224 45.996 2817
+-93.098 45.996 2787
+-92.972 45.996 2748
+-92.846 45.996 2723
+-92.72 45.996 2695
+-92.594 45.996 2664
+-92.468 45.996 2630
+-92.342 45.996 2592
+-92.216 45.996 2550
+-92.09 45.996 2503
+-91.964 45.996 2452
+-91.838 45.996 2396
+-91.712 45.996 2337
+-91.586 45.996 2275
+-91.46 45.996 2212
+-91.334 45.996 2151
+-91.208 45.996 2097
+-91.082 45.996 2054
+-90.956 45.996 2010
+-90.83 45.996 2003
+-90.704 45.996 1991
+-90.578 45.996 2020
+-90.452 45.996 2058
+-90.326 45.996 2106
+-90.2 45.996 2155
+-90.074 45.996 2201
+-89.948 45.996 2240
+-89.822 45.996 2256
+-89.696 45.996 2282
+-89.57 45.996 2301
+-89.444 45.996 2315
+-89.318 45.996 2326
+-89.192 45.996 2333
+-89.066 45.996 2340
+-88.94 45.996 2347
+-88.814 45.996 2355
+-88.688 45.996 2369
+-88.562 45.996 2380
+-88.436 45.996 2393
+-88.31 45.996 2406
+-88.184 45.996 2420
+-88.058 45.996 2398
+-87.932 45.996 2408
+-87.806 45.996 2418
+-87.68 45.996 2426
+-87.554 45.996 2434
+-87.428 45.996 2439
+-87.302 45.996 2444
+-87.176 45.996 2447
+-87.05 45.996 2449
+-86.924 45.996 2453
+-86.798 45.996 2466
+-86.672 45.996 2466
+-86.546 45.996 2465
+-86.42 45.996 2464
+-86.294 45.996 2481
+-86.168 45.996 2480
+-86.042 45.996 2479
+-85.916 45.996 2477
+-85.79 45.996 2490
+-85.664 45.996 2567
+-85.538 45.996 2566
+-85.412 45.996 2564
+-85.286 45.996 2566
+-85.16 45.996 2565
+-85.034 45.996 2567
+-84.908 45.996 2575
+-84.782 45.996 2567
+-84.656 45.996 2574
+-84.53 45.996 2574
+-84.404 45.996 2576
+-84.278 45.996 2577
+-84.152 45.996 2578
+-84.026 45.996 2579
+-83.9 45.996 2582
+-83.774 45.996 2645
+-83.648 45.996 2647
+-83.522 45.996 2650
+-83.396 45.996 2653
+-83.27 45.996 2665
+-83.144 45.996 2668
+-83.018 45.996 2662
+-82.892 45.996 2665
+-82.766 45.996 2669
+-82.64 45.996 2672
+-82.514 45.996 2655
+-82.388 45.996 2665
+-82.262 45.996 2668
+-82.136 45.996 2771
+-82.01 45.996 2745
+-81.884 45.996 2749
+-81.758 45.996 2854
+-81.632 45.996 2856
+-81.506 45.996 2831
+-81.38 45.996 2879
+-81.254 45.996 2798
+-81.128 45.996 2822
+-81.002 45.996 2868
+-80.876 45.996 2790
+-80.75 45.996 2798
+-80.624 45.996 2722
+-80.498 45.996 2722
+-80.372 45.996 2736
+-80.246 45.996 2717
+-80.12 45.996 2721
+-79.994 45.996 2725
+-79.868 45.996 2677
+-79.742 45.996 2711
+-79.616 45.996 2708
+-79.49 45.996 2701
+-79.364 45.996 2705
+-79.238 45.996 2708
+-79.112 45.996 2712
+-78.986 45.996 2665
+-78.86 45.996 2662
+-78.734 45.996 2665
+-78.608 45.996 2668
+-78.482 45.996 2671
+-78.356 45.996 2670
+-78.23 45.996 2621
+-78.104 45.996 2721
+-77.978 45.996 2719
+-77.852 45.996 2726
+-77.726 45.996 2729
+-77.6 45.996 2731
+-77.474 45.996 2733
+-77.348 45.996 2756
+-77.222 45.996 2738
+-77.096 45.996 2797
+-76.97 45.996 2800
+-76.844 45.996 2793
+-76.718 45.996 2801
+-76.592 45.996 2803
+-76.466 45.996 2805
+-76.34 45.996 2795
+-76.214 45.996 2909
+-76.088 45.996 2911
+-75.962 45.996 2913
+-75.836 45.996 2915
+-75.71 45.996 3015
+-75.584 45.996 2972
+-75.458 45.996 3123
+-75.332 45.996 3124
+-75.206 45.996 3090
+-75.08 45.996 3091
+-74.954 45.996 3092
+-74.828 45.996 3093
+-74.702 45.996 3094
+-74.576 45.996 3095
+-74.45 45.996 3186
+-74.324 45.996 3182
+-74.198 45.996 3184
+-74.072 45.996 3185
+-73.946 45.996 3186
+-73.82 45.996 3132
+-73.694 45.996 3166
+-73.568 45.996 3167
+-73.442 45.996 3240
+-73.316 45.996 3153
+-73.19 45.996 3155
+-73.064 45.996 3156
+-72.938 45.996 3202
+-72.812 45.996 3158
+-72.686 45.996 3159
+-72.56 45.996 3161
+-72.434 45.996 3389
+-72.308 45.996 3336
+-72.182 45.996 3337
+-72.056 45.996 3467
+-71.93 45.996 3441
+-71.804 45.996 3441
+-71.678 45.996 3388
+-71.552 45.996 3461
+-71.426 45.996 3462
+-71.3 45.996 3463
+-71.174 45.996 3464
+-71.048 45.996 3465
+-70.922 45.996 3464
+-70.796 45.996 3465
+-70.67 45.996 3465
+-70.544 45.996 3454
+-70.418 45.996 3402
+-70.292 45.996 3397
+-70.166 45.996 3397
+-70.04 45.996 3398
+-69.914 45.996 3398
+-69.788 45.996 3399
+-69.662 45.996 3400
+-69.536 45.996 3400
+-69.41 45.996 3401
+-69.284 45.996 3401
+-69.158 45.996 3402
+-69.032 45.996 3402
+-68.906 45.996 3403
+-68.78 45.996 3404
+-68.654 45.996 3404
+-68.528 45.996 3405
+-68.402 45.996 3517
+-68.276 45.996 3517
+-68.15 45.996 3502
+-68.024 45.996 3502
+-67.898 45.996 3503
+-67.772 45.996 3503
+-67.646 45.996 3504
+-67.52 45.996 3504
+-67.394 45.996 3504
+-67.268 45.996 3505
+-67.142 45.996 3505
+-67.016 45.996 3506
+-66.89 45.996 3506
+-66.764 45.996 3546
+-66.638 45.996 3546
+-66.512 45.996 3547
+-66.386 45.996 3547
+-66.26 45.996 3548
+-66.134 45.996 3548
+-66.008 45.996 3506
+-65.882 45.996 3507
+-65.756 45.996 3507
+-65.63 45.996 3508
+-65.504 45.996 3548
+-65.378 45.996 3549
+-65.252 45.996 3549
+-65.126 45.996 3500
+-128 45.944 4549
+-127.874 45.944 4592
+-127.748 45.944 4663
+-127.622 45.944 4687
+-127.496 45.944 4719
+-127.37 45.944 4788
+-127.244 45.944 4849
+-127.118 45.944 4969
+-126.992 45.944 5049
+-126.866 45.944 5159
+-126.74 45.944 5324
+-126.614 45.944 5440
+-126.488 45.944 5611
+-126.362 45.944 5801
+-126.236 45.944 5906
+-126.11 45.944 6028
+-125.984 45.944 6156
+-125.858 45.944 6314
+-125.732 45.944 6364
+-125.606 45.944 6492
+-125.48 45.944 6613
+-125.354 45.944 6785
+-125.228 45.944 6841
+-125.102 45.944 6949
+-124.976 45.944 7085
+-124.85 45.944 7240
+-124.724 45.944 7373
+-124.598 45.944 7434
+-124.472 45.944 7618
+-124.346 45.944 7674
+-124.22 45.944 7776
+-124.094 45.944 7901
+-123.968 45.944 8002
+-123.842 45.944 8112
+-123.716 45.944 8195
+-123.59 45.944 8215
+-123.464 45.944 8295
+-123.338 45.944 8384
+-123.212 45.944 8435
+-123.086 45.944 8443
+-122.96 45.944 8472
+-122.834 45.944 8440
+-122.708 45.944 8407
+-122.582 45.944 8384
+-122.456 45.944 8340
+-122.33 45.944 8235
+-122.204 45.944 8243
+-122.078 45.944 8118
+-121.952 45.944 8000
+-121.826 45.944 7913
+-121.7 45.944 7815
+-121.574 45.944 7658
+-121.448 45.944 7513
+-121.322 45.944 7413
+-121.196 45.944 7314
+-121.07 45.944 7185
+-120.944 45.944 7050
+-120.818 45.944 6964
+-120.692 45.944 6766
+-120.566 45.944 6902
+-120.44 45.944 7061
+-120.314 45.944 7124
+-120.188 45.944 7324
+-120.062 45.944 7430
+-119.936 45.944 7572
+-119.81 45.944 7715
+-119.684 45.944 7810
+-119.558 45.944 7986
+-119.432 45.944 8130
+-119.306 45.944 8216
+-119.18 45.944 8334
+-119.054 45.944 8486
+-118.928 45.944 8594
+-118.802 45.944 8741
+-118.676 45.944 8858
+-118.55 45.944 8941
+-118.424 45.944 9081
+-118.298 45.944 9080
+-118.172 45.944 8988
+-118.046 45.944 8896
+-117.92 45.944 8749
+-117.794 45.944 8652
+-117.668 45.944 8512
+-117.542 45.944 8368
+-117.416 45.944 8214
+-117.29 45.944 8107
+-117.164 45.944 7994
+-117.038 45.944 7848
+-116.912 45.944 7771
+-116.786 45.944 7595
+-116.66 45.944 7472
+-116.534 45.944 7329
+-116.408 45.944 7249
+-116.282 45.944 7129
+-116.156 45.944 6948
+-116.03 45.944 6848
+-115.904 45.944 6655
+-115.778 45.944 6688
+-115.652 45.944 6446
+-115.526 45.944 6331
+-115.4 45.944 6040
+-115.274 45.944 5961
+-115.148 45.944 5861
+-115.022 45.944 5722
+-114.896 45.944 5642
+-114.77 45.944 5515
+-114.644 45.944 5405
+-114.518 45.944 5244
+-114.392 45.944 5114
+-114.266 45.944 4988
+-114.14 45.944 4873
+-114.014 45.944 4737
+-113.888 45.944 4592
+-113.762 45.944 4461
+-113.636 45.944 4475
+-113.51 45.944 4368
+-113.384 45.944 4199
+-113.258 45.944 4040
+-113.132 45.944 3943
+-113.006 45.944 3876
+-112.88 45.944 3794
+-112.754 45.944 3613
+-112.628 45.944 3384
+-112.502 45.944 3248
+-112.376 45.944 3318
+-112.25 45.944 3450
+-112.124 45.944 3551
+-111.998 45.944 3600
+-111.872 45.944 3589
+-111.746 45.944 3556
+-111.62 45.944 3569
+-111.494 45.944 3566
+-111.368 45.944 3571
+-111.242 45.944 3574
+-111.116 45.944 3577
+-110.99 45.944 3578
+-110.864 45.944 3580
+-110.738 45.944 3517
+-110.612 45.944 3515
+-110.486 45.944 3517
+-110.36 45.944 3503
+-110.234 45.944 3505
+-110.108 45.944 3506
+-109.982 45.944 3508
+-109.856 45.944 3511
+-109.73 45.944 3513
+-109.604 45.944 3515
+-109.478 45.944 3518
+-109.352 45.944 3520
+-109.226 45.944 3523
+-109.1 45.944 3525
+-108.974 45.944 3434
+-108.848 45.944 3435
+-108.722 45.944 3436
+-108.596 45.944 3438
+-108.47 45.944 3439
+-108.344 45.944 3440
+-108.218 45.944 3442
+-108.092 45.944 3443
+-107.966 45.944 3444
+-107.84 45.944 3446
+-107.714 45.944 3447
+-107.588 45.944 3448
+-107.462 45.944 3449
+-107.336 45.944 3281
+-107.21 45.944 3280
+-107.084 45.944 3280
+-106.958 45.944 3279
+-106.832 45.944 3278
+-106.706 45.944 3277
+-106.58 45.944 3277
+-106.454 45.944 3276
+-106.328 45.944 3275
+-106.202 45.944 3275
+-106.076 45.944 3201
+-105.95 45.944 3200
+-105.824 45.944 3199
+-105.698 45.944 3199
+-105.572 45.944 3198
+-105.446 45.944 3197
+-105.32 45.944 3196
+-105.194 45.944 3165
+-105.068 45.944 3164
+-104.942 45.944 3163
+-104.816 45.944 3162
+-104.69 45.944 3161
+-104.564 45.944 3159
+-104.438 45.944 3157
+-104.312 45.944 2936
+-104.186 45.944 2910
+-104.06 45.944 2905
+-103.934 45.944 2900
+-103.808 45.944 2895
+-103.682 45.944 2799
+-103.556 45.944 2778
+-103.43 45.944 2778
+-103.304 45.944 2747
+-103.178 45.944 2751
+-103.052 45.944 2755
+-102.926 45.944 2839
+-102.8 45.944 2990
+-102.674 45.944 3039
+-102.548 45.944 3155
+-102.422 45.944 3130
+-102.296 45.944 3252
+-102.17 45.944 3252
+-102.044 45.944 3251
+-101.918 45.944 3251
+-101.792 45.944 3250
+-101.666 45.944 3222
+-101.54 45.944 3253
+-101.414 45.944 3252
+-101.288 45.944 3285
+-101.162 45.944 3257
+-101.036 45.944 3304
+-100.91 45.944 3209
+-100.784 45.944 3233
+-100.658 45.944 3237
+-100.532 45.944 3217
+-100.406 45.944 3235
+-100.28 45.944 3235
+-100.154 45.944 3238
+-100.028 45.944 3259
+-99.902 45.944 3259
+-99.776 45.944 3259
+-99.65 45.944 3358
+-99.524 45.944 3358
+-99.398 45.944 3358
+-99.272 45.944 3320
+-99.146 45.944 3415
+-99.02 45.944 3423
+-98.894 45.944 3422
+-98.768 45.944 3420
+-98.642 45.944 3420
+-98.516 45.944 3392
+-98.39 45.944 3389
+-98.264 45.944 3315
+-98.138 45.944 3450
+-98.012 45.944 3464
+-97.886 45.944 3425
+-97.76 45.944 3424
+-97.634 45.944 3423
+-97.508 45.944 3436
+-97.382 45.944 3388
+-97.256 45.944 3395
+-97.13 45.944 3390
+-97.004 45.944 3390
+-96.878 45.944 3389
+-96.752 45.944 3389
+-96.626 45.944 3388
+-96.5 45.944 3207
+-96.374 45.944 3231
+-96.248 45.944 3228
+-96.122 45.944 3225
+-95.996 45.944 3208
+-95.87 45.944 3250
+-95.744 45.944 3224
+-95.618 45.944 3220
+-95.492 45.944 3200
+-95.366 45.944 3197
+-95.24 45.944 3121
+-95.114 45.944 3148
+-94.988 45.944 3142
+-94.862 45.944 3137
+-94.736 45.944 3130
+-94.61 45.944 3115
+-94.484 45.944 3108
+-94.358 45.944 3101
+-94.232 45.944 3092
+-94.106 45.944 3083
+-93.98 45.944 3009
+-93.854 45.944 2987
+-93.728 45.944 2960
+-93.602 45.944 2909
+-93.476 45.944 2885
+-93.35 45.944 2856
+-93.224 45.944 2839
+-93.098 45.944 2818
+-92.972 45.944 2788
+-92.846 45.944 2749
+-92.72 45.944 2724
+-92.594 45.944 2696
+-92.468 45.944 2665
+-92.342 45.944 2631
+-92.216 45.944 2594
+-92.09 45.944 2554
+-91.964 45.944 2510
+-91.838 45.944 2462
+-91.712 45.944 2413
+-91.586 45.944 2362
+-91.46 45.944 2311
+-91.334 45.944 2263
+-91.208 45.944 2221
+-91.082 45.944 2188
+-90.956 45.944 2168
+-90.83 45.944 2142
+-90.704 45.944 2150
+-90.578 45.944 2141
+-90.452 45.944 2170
+-90.326 45.944 2198
+-90.2 45.944 2231
+-90.074 45.944 2262
+-89.948 45.944 2288
+-89.822 45.944 2292
+-89.696 45.944 2307
+-89.57 45.944 2317
+-89.444 45.944 2323
+-89.318 45.944 2326
+-89.192 45.944 2328
+-89.066 45.944 2330
+-88.94 45.944 2334
+-88.814 45.944 2344
+-88.688 45.944 2353
+-88.562 45.944 2365
+-88.436 45.944 2379
+-88.31 45.944 2396
+-88.184 45.944 2412
+-88.058 45.944 2392
+-87.932 45.944 2405
+-87.806 45.944 2415
+-87.68 45.944 2425
+-87.554 45.944 2432
+-87.428 45.944 2438
+-87.302 45.944 2443
+-87.176 45.944 2446
+-87.05 45.944 2451
+-86.924 45.944 2464
+-86.798 45.944 2464
+-86.672 45.944 2464
+-86.546 45.944 2463
+-86.42 45.944 2479
+-86.294 45.944 2478
+-86.168 45.944 2476
+-86.042 45.944 2475
+-85.916 45.944 2487
+-85.79 45.944 2562
+-85.664 45.944 2560
+-85.538 45.944 2558
+-85.412 45.944 2559
+-85.286 45.944 2558
+-85.16 45.944 2560
+-85.034 45.944 2568
+-84.908 45.944 2560
+-84.782 45.944 2566
+-84.656 45.944 2566
+-84.53 45.944 2568
+-84.404 45.944 2569
+-84.278 45.944 2570
+-84.152 45.944 2571
+-84.026 45.944 2574
+-83.9 45.944 2636
+-83.774 45.944 2638
+-83.648 45.944 2641
+-83.522 45.944 2644
+-83.396 45.944 2656
+-83.27 45.944 2659
+-83.144 45.944 2653
+-83.018 45.944 2657
+-82.892 45.944 2660
+-82.766 45.944 2664
+-82.64 45.944 2648
+-82.514 45.944 2657
+-82.388 45.944 2661
+-82.262 45.944 2763
+-82.136 45.944 2737
+-82.01 45.944 2741
+-81.884 45.944 2845
+-81.758 45.944 2847
+-81.632 45.944 2823
+-81.506 45.944 2870
+-81.38 45.944 2791
+-81.254 45.944 2815
+-81.128 45.944 2860
+-81.002 45.944 2784
+-80.876 45.944 2792
+-80.75 45.944 2717
+-80.624 45.944 2716
+-80.498 45.944 2731
+-80.372 45.944 2712
+-80.246 45.944 2716
+-80.12 45.944 2720
+-79.994 45.944 2673
+-79.868 45.944 2707
+-79.742 45.944 2704
+-79.616 45.944 2698
+-79.49 45.944 2701
+-79.364 45.944 2705
+-79.238 45.944 2709
+-79.112 45.944 2662
+-78.986 45.944 2660
+-78.86 45.944 2663
+-78.734 45.944 2666
+-78.608 45.944 2669
+-78.482 45.944 2668
+-78.356 45.944 2620
+-78.23 45.944 2719
+-78.104 45.944 2717
+-77.978 45.944 2724
+-77.852 45.944 2727
+-77.726 45.944 2729
+-77.6 45.944 2731
+-77.474 45.944 2754
+-77.348 45.944 2737
+-77.222 45.944 2795
+-77.096 45.944 2798
+-76.97 45.944 2791
+-76.844 45.944 2799
+-76.718 45.944 2802
+-76.592 45.944 2804
+-76.466 45.944 2794
+-76.34 45.944 2907
+-76.214 45.944 2909
+-76.088 45.944 2912
+-75.962 45.944 2914
+-75.836 45.944 3013
+-75.71 45.944 2971
+-75.584 45.944 3122
+-75.458 45.944 3123
+-75.332 45.944 3089
+-75.206 45.944 3090
+-75.08 45.944 3091
+-74.954 45.944 3092
+-74.828 45.944 3093
+-74.702 45.944 3094
+-74.576 45.944 3185
+-74.45 45.944 3181
+-74.324 45.944 3183
+-74.198 45.944 3184
+-74.072 45.944 3185
+-73.946 45.944 3131
+-73.82 45.944 3165
+-73.694 45.944 3166
+-73.568 45.944 3238
+-73.442 45.944 3153
+-73.316 45.944 3154
+-73.19 45.944 3155
+-73.064 45.944 3201
+-72.938 45.944 3157
+-72.812 45.944 3159
+-72.686 45.944 3160
+-72.56 45.944 3388
+-72.434 45.944 3335
+-72.308 45.944 3336
+-72.182 45.944 3466
+-72.056 45.944 3440
+-71.93 45.944 3441
+-71.804 45.944 3388
+-71.678 45.944 3461
+-71.552 45.944 3462
+-71.426 45.944 3462
+-71.3 45.944 3463
+-71.174 45.944 3464
+-71.048 45.944 3463
+-70.922 45.944 3464
+-70.796 45.944 3465
+-70.67 45.944 3454
+-70.544 45.944 3402
+-70.418 45.944 3396
+-70.292 45.944 3397
+-70.166 45.944 3397
+-70.04 45.944 3398
+-69.914 45.944 3399
+-69.788 45.944 3399
+-69.662 45.944 3400
+-69.536 45.944 3400
+-69.41 45.944 3401
+-69.284 45.944 3402
+-69.158 45.944 3402
+-69.032 45.944 3403
+-68.906 45.944 3403
+-68.78 45.944 3404
+-68.654 45.944 3404
+-68.528 45.944 3517
+-68.402 45.944 3517
+-68.276 45.944 3501
+-68.15 45.944 3502
+-68.024 45.944 3502
+-67.898 45.944 3503
+-67.772 45.944 3503
+-67.646 45.944 3504
+-67.52 45.944 3504
+-67.394 45.944 3504
+-67.268 45.944 3505
+-67.142 45.944 3505
+-67.016 45.944 3506
+-66.89 45.944 3545
+-66.764 45.944 3546
+-66.638 45.944 3547
+-66.512 45.944 3547
+-66.386 45.944 3548
+-66.26 45.944 3548
+-66.134 45.944 3506
+-66.008 45.944 3506
+-65.882 45.944 3507
+-65.756 45.944 3507
+-65.63 45.944 3548
+-65.504 45.944 3548
+-65.378 45.944 3549
+-65.252 45.944 3500
+-65.126 45.944 3500
+-128 45.892 4574
+-127.874 45.892 4587
+-127.748 45.892 4595
+-127.622 45.892 4594
+-127.496 45.892 4570
+-127.37 45.892 4693
+-127.244 45.892 4862
+-127.118 45.892 4985
+-126.992 45.892 4982
+-126.866 45.892 5114
+-126.74 45.892 5309
+-126.614 45.892 5481
+-126.488 45.892 5600
+-126.362 45.892 5746
+-126.236 45.892 5843
+-126.11 45.892 6011
+-125.984 45.892 6123
+-125.858 45.892 6236
+-125.732 45.892 6390
+-125.606 45.892 6496
+-125.48 45.892 6609
+-125.354 45.892 6651
+-125.228 45.892 6844
+-125.102 45.892 7005
+-124.976 45.892 7114
+-124.85 45.892 7186
+-124.724 45.892 7337
+-124.598 45.892 7446
+-124.472 45.892 7602
+-124.346 45.892 7697
+-124.22 45.892 7799
+-124.094 45.892 7864
+-123.968 45.892 7986
+-123.842 45.892 8087
+-123.716 45.892 8190
+-123.59 45.892 8186
+-123.464 45.892 8283
+-123.338 45.892 8292
+-123.212 45.892 8370
+-123.086 45.892 8395
+-122.96 45.892 8393
+-122.834 45.892 8387
+-122.708 45.892 8386
+-122.582 45.892 8315
+-122.456 45.892 8287
+-122.33 45.892 8202
+-122.204 45.892 8119
+-122.078 45.892 8060
+-121.952 45.892 7962
+-121.826 45.892 7909
+-121.7 45.892 7806
+-121.574 45.892 7639
+-121.448 45.892 7490
+-121.322 45.892 7376
+-121.196 45.892 7358
+-121.07 45.892 7161
+-120.944 45.892 7092
+-120.818 45.892 7009
+-120.692 45.892 6816
+-120.566 45.892 6903
+-120.44 45.892 7002
+-120.314 45.892 7182
+-120.188 45.892 7292
+-120.062 45.892 7440
+-119.936 45.892 7513
+-119.81 45.892 7661
+-119.684 45.892 7829
+-119.558 45.892 7958
+-119.432 45.892 8101
+-119.306 45.892 8220
+-119.18 45.892 8390
+-119.054 45.892 8473
+-118.928 45.892 8583
+-118.802 45.892 8673
+-118.676 45.892 8809
+-118.55 45.892 8953
+-118.424 45.892 8973
+-118.298 45.892 8974
+-118.172 45.892 8927
+-118.046 45.892 8834
+-117.92 45.892 8789
+-117.794 45.892 8617
+-117.668 45.892 8549
+-117.542 45.892 8405
+-117.416 45.892 8261
+-117.29 45.892 8159
+-117.164 45.892 7983
+-117.038 45.892 7866
+-116.912 45.892 7742
+-116.786 45.892 7567
+-116.66 45.892 7425
+-116.534 45.892 7281
+-116.408 45.892 7246
+-116.282 45.892 7078
+-116.156 45.892 6921
+-116.03 45.892 6839
+-115.904 45.892 6763
+-115.778 45.892 6655
+-115.652 45.892 6475
+-115.526 45.892 6246
+-115.4 45.892 6032
+-115.274 45.892 5896
+-115.148 45.892 5794
+-115.022 45.892 5702
+-114.896 45.892 5593
+-114.77 45.892 5520
+-114.644 45.892 5273
+-114.518 45.892 5259
+-114.392 45.892 5094
+-114.266 45.892 4944
+-114.14 45.892 4803
+-114.014 45.892 4721
+-113.888 45.892 4591
+-113.762 45.892 4571
+-113.636 45.892 4544
+-113.51 45.892 4443
+-113.384 45.892 4289
+-113.258 45.892 4163
+-113.132 45.892 4033
+-113.006 45.892 3898
+-112.88 45.892 3767
+-112.754 45.892 3567
+-112.628 45.892 3265
+-112.502 45.892 3098
+-112.376 45.892 3217
+-112.25 45.892 3394
+-112.124 45.892 3505
+-111.998 45.892 3532
+-111.872 45.892 3569
+-111.746 45.892 3537
+-111.62 45.892 3551
+-111.494 45.892 3560
+-111.368 45.892 3565
+-111.242 45.892 3556
+-111.116 45.892 3559
+-110.99 45.892 3560
+-110.864 45.892 3499
+-110.738 45.892 3501
+-110.612 45.892 3503
+-110.486 45.892 3486
+-110.36 45.892 3488
+-110.234 45.892 3490
+-110.108 45.892 3493
+-109.982 45.892 3496
+-109.856 45.892 3499
+-109.73 45.892 3502
+-109.604 45.892 3505
+-109.478 45.892 3508
+-109.352 45.892 3494
+-109.226 45.892 3497
+-109.1 45.892 3500
+-108.974 45.892 3502
+-108.848 45.892 3428
+-108.722 45.892 3430
+-108.596 45.892 3432
+-108.47 45.892 3433
+-108.344 45.892 3435
+-108.218 45.892 3437
+-108.092 45.892 3438
+-107.966 45.892 3440
+-107.84 45.892 3442
+-107.714 45.892 3443
+-107.588 45.892 3444
+-107.462 45.892 3446
+-107.336 45.892 3316
+-107.21 45.892 3279
+-107.084 45.892 3278
+-106.958 45.892 3278
+-106.832 45.892 3277
+-106.706 45.892 3277
+-106.58 45.892 3276
+-106.454 45.892 3275
+-106.328 45.892 3275
+-106.202 45.892 3274
+-106.076 45.892 3274
+-105.95 45.892 3200
+-105.824 45.892 3199
+-105.698 45.892 3199
+-105.572 45.892 3198
+-105.446 45.892 3167
+-105.32 45.892 3166
+-105.194 45.892 3165
+-105.068 45.892 3164
+-104.942 45.892 3163
+-104.816 45.892 3162
+-104.69 45.892 3161
+-104.564 45.892 3159
+-104.438 45.892 3157
+-104.312 45.892 2913
+-104.186 45.892 2908
+-104.06 45.892 2903
+-103.934 45.892 2898
+-103.808 45.892 2893
+-103.682 45.892 2798
+-103.556 45.892 2778
+-103.43 45.892 2777
+-103.304 45.892 2748
+-103.178 45.892 2752
+-103.052 45.892 2756
+-102.926 45.892 2841
+-102.8 45.892 2992
+-102.674 45.892 3040
+-102.548 45.892 3151
+-102.422 45.892 3273
+-102.296 45.892 3252
+-102.17 45.892 3251
+-102.044 45.892 3250
+-101.918 45.892 3250
+-101.792 45.892 3249
+-101.666 45.892 3248
+-101.54 45.892 3221
+-101.414 45.892 3251
+-101.288 45.892 3251
+-101.162 45.892 3283
+-101.036 45.892 3255
+-100.91 45.892 3303
+-100.784 45.892 3208
+-100.658 45.892 3232
+-100.532 45.892 3235
+-100.406 45.892 3215
+-100.28 45.892 3233
+-100.154 45.892 3234
+-100.028 45.892 3237
+-99.902 45.892 3258
+-99.776 45.892 3258
+-99.65 45.892 3258
+-99.524 45.892 3356
+-99.398 45.892 3356
+-99.272 45.892 3356
+-99.146 45.892 3319
+-99.02 45.892 3413
+-98.894 45.892 3421
+-98.768 45.892 3421
+-98.642 45.892 3418
+-98.516 45.892 3418
+-98.39 45.892 3391
+-98.264 45.892 3387
+-98.138 45.892 3314
+-98.012 45.892 3449
+-97.886 45.892 3462
+-97.76 45.892 3423
+-97.634 45.892 3422
+-97.508 45.892 3422
+-97.382 45.892 3434
+-97.256 45.892 3386
+-97.13 45.892 3394
+-97.004 45.892 3393
+-96.878 45.892 3388
+-96.752 45.892 3388
+-96.626 45.892 3387
+-96.5 45.892 3386
+-96.374 45.892 3208
+-96.248 45.892 3232
+-96.122 45.892 3229
+-95.996 45.892 3226
+-95.87 45.892 3209
+-95.744 45.892 3251
+-95.618 45.892 3225
+-95.492 45.892 3221
+-95.366 45.892 3202
+-95.24 45.892 3198
+-95.114 45.892 3123
+-94.988 45.892 3149
+-94.862 45.892 3144
+-94.736 45.892 3138
+-94.61 45.892 3132
+-94.484 45.892 3117
+-94.358 45.892 3110
+-94.232 45.892 3102
+-94.106 45.892 3094
+-93.98 45.892 3085
+-93.854 45.892 3012
+-93.728 45.892 2990
+-93.602 45.892 2962
+-93.476 45.892 2912
+-93.35 45.892 2888
+-93.224 45.892 2859
+-93.098 45.892 2842
+-92.972 45.892 2821
+-92.846 45.892 2791
+-92.72 45.892 2752
+-92.594 45.892 2728
+-92.468 45.892 2701
+-92.342 45.892 2671
+-92.216 45.892 2638
+-92.09 45.892 2603
+-91.964 45.892 2566
+-91.838 45.892 2526
+-91.712 45.892 2485
+-91.586 45.892 2443
+-91.46 45.892 2402
+-91.334 45.892 2364
+-91.208 45.892 2331
+-91.082 45.892 2305
+-90.956 45.892 2288
+-90.83 45.892 2259
+-90.704 45.892 2263
+-90.578 45.892 2274
+-90.452 45.892 2261
+-90.326 45.892 2280
+-90.2 45.892 2295
+-90.074 45.892 2313
+-89.948 45.892 2327
+-89.822 45.892 2337
+-89.696 45.892 2327
+-89.57 45.892 2328
+-89.444 45.892 2326
+-89.318 45.892 2321
+-89.192 45.892 2316
+-89.066 45.892 2313
+-88.94 45.892 2317
+-88.814 45.892 2322
+-88.688 45.892 2332
+-88.562 45.892 2346
+-88.436 45.892 2365
+-88.31 45.892 2383
+-88.184 45.892 2402
+-88.058 45.892 2386
+-87.932 45.892 2400
+-87.806 45.892 2413
+-87.68 45.892 2423
+-87.554 45.892 2431
+-87.428 45.892 2437
+-87.302 45.892 2442
+-87.176 45.892 2448
+-87.05 45.892 2461
+-86.924 45.892 2462
+-86.798 45.892 2462
+-86.672 45.892 2461
+-86.546 45.892 2478
+-86.42 45.892 2476
+-86.294 45.892 2474
+-86.168 45.892 2472
+-86.042 45.892 2484
+-85.916 45.892 2556
+-85.79 45.892 2554
+-85.664 45.892 2551
+-85.538 45.892 2553
+-85.412 45.892 2551
+-85.286 45.892 2553
+-85.16 45.892 2560
+-85.034 45.892 2552
+-84.908 45.892 2558
+-84.782 45.892 2558
+-84.656 45.892 2559
+-84.53 45.892 2560
+-84.404 45.892 2561
+-84.278 45.892 2563
+-84.152 45.892 2566
+-84.026 45.892 2626
+-83.9 45.892 2628
+-83.774 45.892 2631
+-83.648 45.892 2634
+-83.522 45.892 2646
+-83.396 45.892 2649
+-83.27 45.892 2644
+-83.144 45.892 2648
+-83.018 45.892 2651
+-82.892 45.892 2655
+-82.766 45.892 2640
+-82.64 45.892 2649
+-82.514 45.892 2653
+-82.388 45.892 2753
+-82.262 45.892 2729
+-82.136 45.892 2733
+-82.01 45.892 2835
+-81.884 45.892 2837
+-81.758 45.892 2814
+-81.632 45.892 2861
+-81.506 45.892 2783
+-81.38 45.892 2807
+-81.254 45.892 2852
+-81.128 45.892 2777
+-81.002 45.892 2785
+-80.876 45.892 2711
+-80.75 45.892 2711
+-80.624 45.892 2725
+-80.498 45.892 2707
+-80.372 45.892 2712
+-80.246 45.892 2716
+-80.12 45.892 2669
+-79.994 45.892 2703
+-79.868 45.892 2700
+-79.742 45.892 2694
+-79.616 45.892 2698
+-79.49 45.892 2702
+-79.364 45.892 2705
+-79.238 45.892 2659
+-79.112 45.892 2657
+-78.986 45.892 2661
+-78.86 45.892 2664
+-78.734 45.892 2667
+-78.608 45.892 2666
+-78.482 45.892 2618
+-78.356 45.892 2717
+-78.23 45.892 2715
+-78.104 45.892 2722
+-77.978 45.892 2725
+-77.852 45.892 2727
+-77.726 45.892 2730
+-77.6 45.892 2752
+-77.474 45.892 2735
+-77.348 45.892 2794
+-77.222 45.892 2796
+-77.096 45.892 2790
+-76.97 45.892 2798
+-76.844 45.892 2800
+-76.718 45.892 2803
+-76.592 45.892 2793
+-76.466 45.892 2906
+-76.34 45.892 2908
+-76.214 45.892 2910
+-76.088 45.892 2912
+-75.962 45.892 3012
+-75.836 45.892 2969
+-75.71 45.892 3120
+-75.584 45.892 3122
+-75.458 45.892 3088
+-75.332 45.892 3089
+-75.206 45.892 3090
+-75.08 45.892 3091
+-74.954 45.892 3092
+-74.828 45.892 3093
+-74.702 45.892 3184
+-74.576 45.892 3180
+-74.45 45.892 3182
+-74.324 45.892 3183
+-74.198 45.892 3184
+-74.072 45.892 3130
+-73.946 45.892 3164
+-73.82 45.892 3165
+-73.694 45.892 3237
+-73.568 45.892 3152
+-73.442 45.892 3153
+-73.316 45.892 3154
+-73.19 45.892 3200
+-73.064 45.892 3156
+-72.938 45.892 3158
+-72.812 45.892 3159
+-72.686 45.892 3387
+-72.56 45.892 3334
+-72.434 45.892 3335
+-72.308 45.892 3466
+-72.182 45.892 3439
+-72.056 45.892 3440
+-71.93 45.892 3387
+-71.804 45.892 3460
+-71.678 45.892 3461
+-71.552 45.892 3462
+-71.426 45.892 3463
+-71.3 45.892 3463
+-71.174 45.892 3463
+-71.048 45.892 3463
+-70.922 45.892 3464
+-70.796 45.892 3453
+-70.67 45.892 3401
+-70.544 45.892 3396
+-70.418 45.892 3396
+-70.292 45.892 3397
+-70.166 45.892 3398
+-70.04 45.892 3398
+-69.914 45.892 3399
+-69.788 45.892 3399
+-69.662 45.892 3400
+-69.536 45.892 3401
+-69.41 45.892 3401
+-69.284 45.892 3402
+-69.158 45.892 3402
+-69.032 45.892 3403
+-68.906 45.892 3403
+-68.78 45.892 3404
+-68.654 45.892 3516
+-68.528 45.892 3517
+-68.402 45.892 3501
+-68.276 45.892 3502
+-68.15 45.892 3502
+-68.024 45.892 3502
+-67.898 45.892 3503
+-67.772 45.892 3503
+-67.646 45.892 3504
+-67.52 45.892 3504
+-67.394 45.892 3505
+-67.268 45.892 3505
+-67.142 45.892 3505
+-67.016 45.892 3545
+-66.89 45.892 3546
+-66.764 45.892 3546
+-66.638 45.892 3547
+-66.512 45.892 3547
+-66.386 45.892 3548
+-66.26 45.892 3506
+-66.134 45.892 3506
+-66.008 45.892 3507
+-65.882 45.892 3507
+-65.756 45.892 3547
+-65.63 45.892 3548
+-65.504 45.892 3548
+-65.378 45.892 3500
+-65.252 45.892 3500
+-65.126 45.892 3500
+-128 45.84 4529
+-127.874 45.84 4578
+-127.748 45.84 4563
+-127.622 45.84 4503
+-127.496 45.84 4402
+-127.37 45.84 4596
+-127.244 45.84 4829
+-127.118 45.84 4961
+-126.992 45.84 5052
+-126.866 45.84 5160
+-126.74 45.84 5343
+-126.614 45.84 5460
+-126.488 45.84 5588
+-126.362 45.84 5685
+-126.236 45.84 5807
+-126.11 45.84 5987
+-125.984 45.84 6116
+-125.858 45.84 6183
+-125.732 45.84 6323
+-125.606 45.84 6434
+-125.48 45.84 6603
+-125.354 45.84 6654
+-125.228 45.84 6796
+-125.102 45.84 6944
+-124.976 45.84 7075
+-124.85 45.84 7173
+-124.724 45.84 7322
+-124.598 45.84 7386
+-124.472 45.84 7542
+-124.346 45.84 7654
+-124.22 45.84 7719
+-124.094 45.84 7835
+-123.968 45.84 7909
+-123.842 45.84 8004
+-123.716 45.84 8078
+-123.59 45.84 8185
+-123.464 45.84 8244
+-123.338 45.84 8275
+-123.212 45.84 8284
+-123.086 45.84 8325
+-122.96 45.84 8317
+-122.834 45.84 8337
+-122.708 45.84 8321
+-122.582 45.84 8299
+-122.456 45.84 8198
+-122.33 45.84 8154
+-122.204 45.84 8074
+-122.078 45.84 8009
+-121.952 45.84 7966
+-121.826 45.84 7866
+-121.7 45.84 7771
+-121.574 45.84 7599
+-121.448 45.84 7562
+-121.322 45.84 7385
+-121.196 45.84 7263
+-121.07 45.84 7164
+-120.944 45.84 6980
+-120.818 45.84 6950
+-120.692 45.84 6785
+-120.566 45.84 6839
+-120.44 45.84 7082
+-120.314 45.84 7147
+-120.188 45.84 7286
+-120.062 45.84 7415
+-119.936 45.84 7543
+-119.81 45.84 7670
+-119.684 45.84 7804
+-119.558 45.84 7982
+-119.432 45.84 8116
+-119.306 45.84 8261
+-119.18 45.84 8333
+-119.054 45.84 8484
+-118.928 45.84 8563
+-118.802 45.84 8717
+-118.676 45.84 8778
+-118.55 45.84 8845
+-118.424 45.84 8900
+-118.298 45.84 8951
+-118.172 45.84 8886
+-118.046 45.84 8812
+-117.92 45.84 8711
+-117.794 45.84 8553
+-117.668 45.84 8463
+-117.542 45.84 8301
+-117.416 45.84 8170
+-117.29 45.84 8128
+-117.164 45.84 7953
+-117.038 45.84 7813
+-116.912 45.84 7706
+-116.786 45.84 7568
+-116.66 45.84 7448
+-116.534 45.84 7351
+-116.408 45.84 7205
+-116.282 45.84 7036
+-116.156 45.84 6916
+-116.03 45.84 6831
+-115.904 45.84 6742
+-115.778 45.84 6611
+-115.652 45.84 6441
+-115.526 45.84 6213
+-115.4 45.84 6060
+-115.274 45.84 5918
+-115.148 45.84 5785
+-115.022 45.84 5698
+-114.896 45.84 5629
+-114.77 45.84 5451
+-114.644 45.84 5374
+-114.518 45.84 5231
+-114.392 45.84 5088
+-114.266 45.84 4927
+-114.14 45.84 4809
+-114.014 45.84 4677
+-113.888 45.84 4640
+-113.762 45.84 4607
+-113.636 45.84 4592
+-113.51 45.84 4469
+-113.384 45.84 4369
+-113.258 45.84 4223
+-113.132 45.84 4098
+-113.006 45.84 3964
+-112.88 45.84 3798
+-112.754 45.84 3597
+-112.628 45.84 3363
+-112.502 45.84 3232
+-112.376 45.84 3291
+-112.25 45.84 3411
+-112.124 45.84 3465
+-111.998 45.84 3519
+-111.872 45.84 3551
+-111.746 45.84 3516
+-111.62 45.84 3528
+-111.494 45.84 3535
+-111.368 45.84 3540
+-111.242 45.84 3543
+-111.116 45.84 3545
+-110.99 45.84 3547
+-110.864 45.84 3479
+-110.738 45.84 3482
+-110.612 45.84 3467
+-110.486 45.84 3470
+-110.36 45.84 3472
+-110.234 45.84 3476
+-110.108 45.84 3479
+-109.982 45.84 3483
+-109.856 45.84 3486
+-109.73 45.84 3490
+-109.604 45.84 3494
+-109.478 45.84 3482
+-109.352 45.84 3485
+-109.226 45.84 3489
+-109.1 45.84 3492
+-108.974 45.84 3495
+-108.848 45.84 3498
+-108.722 45.84 3424
+-108.596 45.84 3426
+-108.47 45.84 3428
+-108.344 45.84 3430
+-108.218 45.84 3432
+-108.092 45.84 3434
+-107.966 45.84 3436
+-107.84 45.84 3437
+-107.714 45.84 3439
+-107.588 45.84 3441
+-107.462 45.84 3313
+-107.336 45.84 3313
+-107.21 45.84 3313
+-107.084 45.84 3277
+-106.958 45.84 3277
+-106.832 45.84 3276
+-106.706 45.84 3276
+-106.58 45.84 3275
+-106.454 45.84 3275
+-106.328 45.84 3274
+-106.202 45.84 3274
+-106.076 45.84 3273
+-105.95 45.84 3273
+-105.824 45.84 3200
+-105.698 45.84 3199
+-105.572 45.84 3168
+-105.446 45.84 3167
+-105.32 45.84 3166
+-105.194 45.84 3165
+-105.068 45.84 3164
+-104.942 45.84 3163
+-104.816 45.84 3162
+-104.69 45.84 3161
+-104.564 45.84 3159
+-104.438 45.84 3156
+-104.312 45.84 2911
+-104.186 45.84 2906
+-104.06 45.84 2901
+-103.934 45.84 2895
+-103.808 45.84 2890
+-103.682 45.84 2797
+-103.556 45.84 2778
+-103.43 45.84 2777
+-103.304 45.84 2748
+-103.178 45.84 2753
+-103.052 45.84 2757
+-102.926 45.84 2820
+-102.8 45.84 2971
+-102.674 45.84 3018
+-102.548 45.84 3152
+-102.422 45.84 3263
+-102.296 45.84 3251
+-102.17 45.84 3250
+-102.044 45.84 3249
+-101.918 45.84 3249
+-101.792 45.84 3248
+-101.666 45.84 3247
+-101.54 45.84 3247
+-101.414 45.84 3219
+-101.288 45.84 3250
+-101.162 45.84 3249
+-101.036 45.84 3281
+-100.91 45.84 3254
+-100.784 45.84 3301
+-100.658 45.84 3207
+-100.532 45.84 3230
+-100.406 45.84 3234
+-100.28 45.84 3214
+-100.154 45.84 3232
+-100.028 45.84 3232
+-99.902 45.84 3235
+-99.776 45.84 3256
+-99.65 45.84 3256
+-99.524 45.84 3257
+-99.398 45.84 3355
+-99.272 45.84 3355
+-99.146 45.84 3355
+-99.02 45.84 3317
+-98.894 45.84 3411
+-98.768 45.84 3419
+-98.642 45.84 3419
+-98.516 45.84 3417
+-98.39 45.84 3416
+-98.264 45.84 3389
+-98.138 45.84 3386
+-98.012 45.84 3313
+-97.886 45.84 3447
+-97.76 45.84 3460
+-97.634 45.84 3422
+-97.508 45.84 3421
+-97.382 45.84 3420
+-97.256 45.84 3432
+-97.13 45.84 3385
+-97.004 45.84 3392
+-96.878 45.84 3387
+-96.752 45.84 3386
+-96.626 45.84 3386
+-96.5 45.84 3385
+-96.374 45.84 3385
+-96.248 45.84 3209
+-96.122 45.84 3232
+-95.996 45.84 3230
+-95.87 45.84 3227
+-95.744 45.84 3211
+-95.618 45.84 3252
+-95.492 45.84 3226
+-95.366 45.84 3222
+-95.24 45.84 3203
+-95.114 45.84 3200
+-94.988 45.84 3125
+-94.862 45.84 3151
+-94.736 45.84 3146
+-94.61 45.84 3140
+-94.484 45.84 3134
+-94.358 45.84 3119
+-94.232 45.84 3112
+-94.106 45.84 3105
+-93.98 45.84 3097
+-93.854 45.84 3088
+-93.728 45.84 3015
+-93.602 45.84 2994
+-93.476 45.84 2967
+-93.35 45.84 2917
+-93.224 45.84 2893
+-93.098 45.84 2864
+-92.972 45.84 2847
+-92.846 45.84 2827
+-92.72 45.84 2797
+-92.594 45.84 2759
+-92.468 45.84 2735
+-92.342 45.84 2709
+-92.216 45.84 2681
+-92.09 45.84 2651
+-91.964 45.84 2619
+-91.838 45.84 2586
+-91.712 45.84 2551
+-91.586 45.84 2517
+-91.46 45.84 2483
+-91.334 45.84 2453
+-91.208 45.84 2425
+-91.082 45.84 2404
+-90.956 45.84 2389
+-90.83 45.84 2380
+-90.704 45.84 2355
+-90.578 45.84 2358
+-90.452 45.84 2370
+-90.326 45.84 2343
+-90.2 45.84 2352
+-90.074 45.84 2354
+-89.948 45.84 2358
+-89.822 45.84 2358
+-89.696 45.84 2340
+-89.57 45.84 2332
+-89.444 45.84 2321
+-89.318 45.84 2309
+-89.192 45.84 2297
+-89.066 45.84 2291
+-88.94 45.84 2288
+-88.814 45.84 2292
+-88.688 45.84 2303
+-88.562 45.84 2324
+-88.436 45.84 2345
+-88.31 45.84 2368
+-88.184 45.84 2361
+-88.058 45.84 2379
+-87.932 45.84 2396
+-87.806 45.84 2410
+-87.68 45.84 2421
+-87.554 45.84 2430
+-87.428 45.84 2437
+-87.302 45.84 2444
+-87.176 45.84 2459
+-87.05 45.84 2460
+-86.924 45.84 2461
+-86.798 45.84 2460
+-86.672 45.84 2476
+-86.546 45.84 2475
+-86.42 45.84 2473
+-86.294 45.84 2470
+-86.168 45.84 2482
+-86.042 45.84 2551
+-85.916 45.84 2548
+-85.79 45.84 2545
+-85.664 45.84 2546
+-85.538 45.84 2543
+-85.412 45.84 2545
+-85.286 45.84 2551
+-85.16 45.84 2544
+-85.034 45.84 2549
+-84.908 45.84 2549
+-84.782 45.84 2551
+-84.656 45.84 2551
+-84.53 45.84 2552
+-84.404 45.84 2554
+-84.278 45.84 2556
+-84.152 45.84 2615
+-84.026 45.84 2618
+-83.9 45.84 2621
+-83.774 45.84 2624
+-83.648 45.84 2635
+-83.522 45.84 2639
+-83.396 45.84 2634
+-83.27 45.84 2638
+-83.144 45.84 2642
+-83.018 45.84 2646
+-82.892 45.84 2631
+-82.766 45.84 2641
+-82.64 45.84 2645
+-82.514 45.84 2744
+-82.388 45.84 2720
+-82.262 45.84 2724
+-82.136 45.84 2825
+-82.01 45.84 2828
+-81.884 45.84 2805
+-81.758 45.84 2852
+-81.632 45.84 2775
+-81.506 45.84 2799
+-81.38 45.84 2843
+-81.254 45.84 2769
+-81.128 45.84 2778
+-81.002 45.84 2705
+-80.876 45.84 2705
+-80.75 45.84 2720
+-80.624 45.84 2702
+-80.498 45.84 2707
+-80.372 45.84 2711
+-80.246 45.84 2665
+-80.12 45.84 2698
+-79.994 45.84 2696
+-79.868 45.84 2690
+-79.742 45.84 2694
+-79.616 45.84 2698
+-79.49 45.84 2702
+-79.364 45.84 2656
+-79.238 45.84 2655
+-79.112 45.84 2658
+-78.986 45.84 2661
+-78.86 45.84 2664
+-78.734 45.84 2664
+-78.608 45.84 2616
+-78.482 45.84 2715
+-78.356 45.84 2713
+-78.23 45.84 2720
+-78.104 45.84 2723
+-77.978 45.84 2726
+-77.852 45.84 2728
+-77.726 45.84 2751
+-77.6 45.84 2733
+-77.474 45.84 2792
+-77.348 45.84 2794
+-77.222 45.84 2788
+-77.096 45.84 2796
+-76.97 45.84 2799
+-76.844 45.84 2801
+-76.718 45.84 2791
+-76.592 45.84 2904
+-76.466 45.84 2907
+-76.34 45.84 2909
+-76.214 45.84 2911
+-76.088 45.84 3011
+-75.962 45.84 2968
+-75.836 45.84 3119
+-75.71 45.84 3121
+-75.584 45.84 3087
+-75.458 45.84 3088
+-75.332 45.84 3089
+-75.206 45.84 3090
+-75.08 45.84 3091
+-74.954 45.84 3093
+-74.828 45.84 3183
+-74.702 45.84 3179
+-74.576 45.84 3180
+-74.45 45.84 3182
+-74.324 45.84 3183
+-74.198 45.84 3129
+-74.072 45.84 3163
+-73.946 45.84 3164
+-73.82 45.84 3236
+-73.694 45.84 3151
+-73.568 45.84 3152
+-73.442 45.84 3153
+-73.316 45.84 3199
+-73.19 45.84 3156
+-73.064 45.84 3157
+-72.938 45.84 3158
+-72.812 45.84 3386
+-72.686 45.84 3334
+-72.56 45.84 3334
+-72.434 45.84 3465
+-72.308 45.84 3438
+-72.182 45.84 3439
+-72.056 45.84 3386
+-71.93 45.84 3459
+-71.804 45.84 3460
+-71.678 45.84 3461
+-71.552 45.84 3462
+-71.426 45.84 3463
+-71.3 45.84 3462
+-71.174 45.84 3463
+-71.048 45.84 3464
+-70.922 45.84 3452
+-70.796 45.84 3401
+-70.67 45.84 3395
+-70.544 45.84 3396
+-70.418 45.84 3396
+-70.292 45.84 3397
+-70.166 45.84 3398
+-70.04 45.84 3398
+-69.914 45.84 3399
+-69.788 45.84 3400
+-69.662 45.84 3400
+-69.536 45.84 3401
+-69.41 45.84 3401
+-69.284 45.84 3402
+-69.158 45.84 3402
+-69.032 45.84 3403
+-68.906 45.84 3404
+-68.78 45.84 3516
+-68.654 45.84 3516
+-68.528 45.84 3501
+-68.402 45.84 3501
+-68.276 45.84 3502
+-68.15 45.84 3502
+-68.024 45.84 3503
+-67.898 45.84 3503
+-67.772 45.84 3503
+-67.646 45.84 3504
+-67.52 45.84 3504
+-67.394 45.84 3505
+-67.268 45.84 3505
+-67.142 45.84 3545
+-67.016 45.84 3545
+-66.89 45.84 3546
+-66.764 45.84 3546
+-66.638 45.84 3547
+-66.512 45.84 3547
+-66.386 45.84 3505
+-66.26 45.84 3506
+-66.134 45.84 3506
+-66.008 45.84 3507
+-65.882 45.84 3547
+-65.756 45.84 3548
+-65.63 45.84 3548
+-65.504 45.84 3499
+-65.378 45.84 3500
+-65.252 45.84 3500
+-65.126 45.84 3635
+-128 45.788 4475
+-127.874 45.788 4537
+-127.748 45.788 4539
+-127.622 45.788 4509
+-127.496 45.788 4438
+-127.37 45.788 4594
+-127.244 45.788 4777
+-127.118 45.788 4924
+-126.992 45.788 5045
+-126.866 45.788 5193
+-126.74 45.788 5342
+-126.614 45.788 5406
+-126.488 45.788 5542
+-126.362 45.788 5639
+-126.236 45.788 5773
+-126.11 45.788 5947
+-125.984 45.788 6053
+-125.858 45.788 6164
+-125.732 45.788 6234
+-125.606 45.788 6395
+-125.48 45.788 6531
+-125.354 45.788 6641
+-125.228 45.788 6823
+-125.102 45.788 6886
+-124.976 45.788 7052
+-124.85 45.788 7102
+-124.724 45.788 7255
+-124.598 45.788 7410
+-124.472 45.788 7501
+-124.346 45.788 7621
+-124.22 45.788 7661
+-124.094 45.788 7770
+-123.968 45.788 7908
+-123.842 45.788 7957
+-123.716 45.788 8050
+-123.59 45.788 8155
+-123.464 45.788 8186
+-123.338 45.788 8211
+-123.212 45.788 8260
+-123.086 45.788 8263
+-122.96 45.788 8306
+-122.834 45.788 8270
+-122.708 45.788 8253
+-122.582 45.788 8219
+-122.456 45.788 8149
+-122.33 45.788 8142
+-122.204 45.788 8042
+-122.078 45.788 7940
+-121.952 45.788 7863
+-121.826 45.788 7780
+-121.7 45.788 7721
+-121.574 45.788 7532
+-121.448 45.788 7464
+-121.322 45.788 7367
+-121.196 45.788 7241
+-121.07 45.788 7118
+-120.944 45.788 7045
+-120.818 45.788 6924
+-120.692 45.788 6783
+-120.566 45.788 6906
+-120.44 45.788 7029
+-120.314 45.788 7120
+-120.188 45.788 7291
+-120.062 45.788 7440
+-119.936 45.788 7528
+-119.81 45.788 7611
+-119.684 45.788 7801
+-119.558 45.788 7938
+-119.432 45.788 8040
+-119.306 45.788 8155
+-119.18 45.788 8308
+-119.054 45.788 8410
+-118.928 45.788 8485
+-118.802 45.788 8645
+-118.676 45.788 8765
+-118.55 45.788 8855
+-118.424 45.788 8890
+-118.298 45.788 8852
+-118.172 45.788 8818
+-118.046 45.788 8769
+-117.92 45.788 8741
+-117.794 45.788 8546
+-117.668 45.788 8419
+-117.542 45.788 8321
+-117.416 45.788 8187
+-117.29 45.788 8117
+-117.164 45.788 7940
+-117.038 45.788 7790
+-116.912 45.788 7669
+-116.786 45.788 7516
+-116.66 45.788 7438
+-116.534 45.788 7338
+-116.408 45.788 7166
+-116.282 45.788 6984
+-116.156 45.788 6933
+-116.03 45.788 6805
+-115.904 45.788 6705
+-115.778 45.788 6547
+-115.652 45.788 6413
+-115.526 45.788 6252
+-115.4 45.788 6083
+-115.274 45.788 5914
+-115.148 45.788 5833
+-115.022 45.788 5709
+-114.896 45.788 5645
+-114.77 45.788 5518
+-114.644 45.788 5346
+-114.518 45.788 5123
+-114.392 45.788 5048
+-114.266 45.788 4911
+-114.14 45.788 4845
+-114.014 45.788 4697
+-113.888 45.788 4553
+-113.762 45.788 4616
+-113.636 45.788 4597
+-113.51 45.788 4524
+-113.384 45.788 4409
+-113.258 45.788 4273
+-113.132 45.788 4159
+-113.006 45.788 4029
+-112.88 45.788 3870
+-112.754 45.788 3691
+-112.628 45.788 3537
+-112.502 45.788 3438
+-112.376 45.788 3425
+-112.25 45.788 3435
+-112.124 45.788 3481
+-111.998 45.788 3515
+-111.872 45.788 3489
+-111.746 45.788 3503
+-111.62 45.788 3511
+-111.494 45.788 3517
+-111.368 45.788 3520
+-111.242 45.788 3523
+-111.116 45.788 3525
+-110.99 45.788 3457
+-110.864 45.788 3460
+-110.738 45.788 3446
+-110.612 45.788 3449
+-110.486 45.788 3452
+-110.36 45.788 3456
+-110.234 45.788 3461
+-110.108 45.788 3465
+-109.982 45.788 3470
+-109.856 45.788 3474
+-109.73 45.788 3463
+-109.604 45.788 3468
+-109.478 45.788 3472
+-109.352 45.788 3476
+-109.226 45.788 3480
+-109.1 45.788 3484
+-108.974 45.788 3488
+-108.848 45.788 3492
+-108.722 45.788 3495
+-108.596 45.788 3420
+-108.47 45.788 3422
+-108.344 45.788 3425
+-108.218 45.788 3427
+-108.092 45.788 3429
+-107.966 45.788 3431
+-107.84 45.788 3433
+-107.714 45.788 3435
+-107.588 45.788 3437
+-107.462 45.788 3439
+-107.336 45.788 3310
+-107.21 45.788 3311
+-107.084 45.788 3311
+-106.958 45.788 3275
+-106.832 45.788 3275
+-106.706 45.788 3275
+-106.58 45.788 3274
+-106.454 45.788 3274
+-106.328 45.788 3273
+-106.202 45.788 3273
+-106.076 45.788 3273
+-105.95 45.788 3272
+-105.824 45.788 3272
+-105.698 45.788 3168
+-105.572 45.788 3167
+-105.446 45.788 3166
+-105.32 45.788 3165
+-105.194 45.788 3164
+-105.068 45.788 3163
+-104.942 45.788 3162
+-104.816 45.788 3161
+-104.69 45.788 3160
+-104.564 45.788 3158
+-104.438 45.788 3156
+-104.312 45.788 2908
+-104.186 45.788 2903
+-104.06 45.788 2898
+-103.934 45.788 2893
+-103.808 45.788 2888
+-103.682 45.788 2796
+-103.556 45.788 2777
+-103.43 45.788 2634
+-103.304 45.788 2598
+-103.178 45.788 2756
+-103.052 45.788 2813
+-102.926 45.788 2614
+-102.8 45.788 2737
+-102.674 45.788 2806
+-102.548 45.788 3130
+-102.422 45.788 3263
+-102.296 45.788 3401
+-102.17 45.788 3249
+-102.044 45.788 3248
+-101.918 45.788 3248
+-101.792 45.788 3247
+-101.666 45.788 3246
+-101.54 45.788 3245
+-101.414 45.788 3245
+-101.288 45.788 3218
+-101.162 45.788 3248
+-101.036 45.788 3247
+-100.91 45.788 3280
+-100.784 45.788 3252
+-100.658 45.788 3299
+-100.532 45.788 3205
+-100.406 45.788 3228
+-100.28 45.788 3232
+-100.154 45.788 3213
+-100.028 45.788 3231
+-99.902 45.788 3231
+-99.776 45.788 3234
+-99.65 45.788 3255
+-99.524 45.788 3255
+-99.398 45.788 3255
+-99.272 45.788 3353
+-99.146 45.788 3353
+-99.02 45.788 3353
+-98.894 45.788 3316
+-98.768 45.788 3409
+-98.642 45.788 3417
+-98.516 45.788 3417
+-98.39 45.788 3415
+-98.264 45.788 3414
+-98.138 45.788 3387
+-98.012 45.788 3384
+-97.886 45.788 3312
+-97.76 45.788 3446
+-97.634 45.788 3459
+-97.508 45.788 3420
+-97.382 45.788 3419
+-97.256 45.788 3418
+-97.13 45.788 3431
+-97.004 45.788 3383
+-96.878 45.788 3390
+-96.752 45.788 3390
+-96.626 45.788 3385
+-96.5 45.788 3384
+-96.374 45.788 3383
+-96.248 45.788 3383
+-96.122 45.788 3210
+-95.996 45.788 3234
+-95.87 45.788 3231
+-95.744 45.788 3229
+-95.618 45.788 3212
+-95.492 45.788 3253
+-95.366 45.788 3227
+-95.24 45.788 3223
+-95.114 45.788 3205
+-94.988 45.788 3202
+-94.862 45.788 3128
+-94.736 45.788 3153
+-94.61 45.788 3148
+-94.484 45.788 3143
+-94.358 45.788 3137
+-94.232 45.788 3122
+-94.106 45.788 3116
+-93.98 45.788 3108
+-93.854 45.788 3100
+-93.728 45.788 3092
+-93.602 45.788 3020
+-93.476 45.788 2999
+-93.35 45.788 2972
+-93.224 45.788 2923
+-93.098 45.788 2899
+-92.972 45.788 2871
+-92.846 45.788 2854
+-92.72 45.788 2835
+-92.594 45.788 2806
+-92.468 45.788 2769
+-92.342 45.788 2747
+-92.216 45.788 2722
+-92.09 45.788 2697
+-91.964 45.788 2669
+-91.838 45.788 2641
+-91.712 45.788 2612
+-91.586 45.788 2583
+-91.46 45.788 2555
+-91.334 45.788 2529
+-91.208 45.788 2505
+-91.082 45.788 2485
+-90.956 45.788 2470
+-90.83 45.788 2459
+-90.704 45.788 2452
+-90.578 45.788 2428
+-90.452 45.788 2427
+-90.326 45.788 2427
+-90.2 45.788 2390
+-90.074 45.788 2388
+-89.948 45.788 2379
+-89.822 45.788 2372
+-89.696 45.788 2347
+-89.57 45.788 2331
+-89.444 45.788 2311
+-89.318 45.788 2289
+-89.192 45.788 2270
+-89.066 45.788 2254
+-88.94 45.788 2248
+-88.814 45.788 2252
+-88.688 45.788 2270
+-88.562 45.788 2294
+-88.436 45.788 2321
+-88.31 45.788 2350
+-88.184 45.788 2350
+-88.058 45.788 2373
+-87.932 45.788 2392
+-87.806 45.788 2408
+-87.68 45.788 2421
+-87.554 45.788 2430
+-87.428 45.788 2439
+-87.302 45.788 2455
+-87.176 45.788 2458
+-87.05 45.788 2459
+-86.924 45.788 2459
+-86.798 45.788 2475
+-86.672 45.788 2474
+-86.546 45.788 2471
+-86.42 45.788 2469
+-86.294 45.788 2480
+-86.168 45.788 2546
+-86.042 45.788 2542
+-85.916 45.788 2539
+-85.79 45.788 2539
+-85.664 45.788 2536
+-85.538 45.788 2537
+-85.412 45.788 2543
+-85.286 45.788 2535
+-85.16 45.788 2540
+-85.034 45.788 2540
+-84.908 45.788 2541
+-84.782 45.788 2542
+-84.656 45.788 2543
+-84.53 45.788 2544
+-84.404 45.788 2547
+-84.278 45.788 2604
+-84.152 45.788 2607
+-84.026 45.788 2610
+-83.9 45.788 2613
+-83.774 45.788 2624
+-83.648 45.788 2628
+-83.522 45.788 2624
+-83.396 45.788 2628
+-83.27 45.788 2632
+-83.144 45.788 2636
+-83.018 45.788 2622
+-82.892 45.788 2632
+-82.766 45.788 2636
+-82.64 45.788 2734
+-82.514 45.788 2710
+-82.388 45.788 2715
+-82.262 45.788 2814
+-82.136 45.788 2817
+-82.01 45.788 2796
+-81.884 45.788 2841
+-81.758 45.788 2766
+-81.632 45.788 2790
+-81.506 45.788 2834
+-81.38 45.788 2762
+-81.254 45.788 2771
+-81.128 45.788 2699
+-81.002 45.788 2699
+-80.876 45.788 2714
+-80.75 45.788 2697
+-80.624 45.788 2701
+-80.498 45.788 2706
+-80.372 45.788 2660
+-80.246 45.788 2694
+-80.12 45.788 2691
+-79.994 45.788 2686
+-79.868 45.788 2690
+-79.742 45.788 2694
+-79.616 45.788 2698
+-79.49 45.788 2653
+-79.364 45.788 2652
+-79.238 45.788 2655
+-79.112 45.788 2659
+-78.986 45.788 2662
+-78.86 45.788 2662
+-78.734 45.788 2614
+-78.608 45.788 2712
+-78.482 45.788 2711
+-78.356 45.788 2718
+-78.23 45.788 2721
+-78.104 45.788 2724
+-77.978 45.788 2726
+-77.852 45.788 2749
+-77.726 45.788 2732
+-77.6 45.788 2790
+-77.474 45.788 2793
+-77.348 45.788 2786
+-77.222 45.788 2794
+-77.096 45.788 2797
+-76.97 45.788 2799
+-76.844 45.788 2790
+-76.718 45.788 2903
+-76.592 45.788 2905
+-76.466 45.788 2907
+-76.34 45.788 2910
+-76.214 45.788 3009
+-76.088 45.788 2967
+-75.962 45.788 3118
+-75.836 45.788 3119
+-75.71 45.788 3086
+-75.584 45.788 3087
+-75.458 45.788 3088
+-75.332 45.788 3089
+-75.206 45.788 3090
+-75.08 45.788 3092
+-74.954 45.788 3182
+-74.828 45.788 3178
+-74.702 45.788 3179
+-74.576 45.788 3181
+-74.45 45.788 3182
+-74.324 45.788 3128
+-74.198 45.788 3162
+-74.072 45.788 3163
+-73.946 45.788 3235
+-73.82 45.788 3150
+-73.694 45.788 3151
+-73.568 45.788 3153
+-73.442 45.788 3198
+-73.316 45.788 3155
+-73.19 45.788 3156
+-73.064 45.788 3158
+-72.938 45.788 3385
+-72.812 45.788 3333
+-72.686 45.788 3334
+-72.56 45.788 3464
+-72.434 45.788 3437
+-72.308 45.788 3438
+-72.182 45.788 3386
+-72.056 45.788 3459
+-71.93 45.788 3460
+-71.804 45.788 3460
+-71.678 45.788 3461
+-71.552 45.788 3462
+-71.426 45.788 3461
+-71.3 45.788 3462
+-71.174 45.788 3463
+-71.048 45.788 3452
+-70.922 45.788 3400
+-70.796 45.788 3395
+-70.67 45.788 3395
+-70.544 45.788 3396
+-70.418 45.788 3397
+-70.292 45.788 3397
+-70.166 45.788 3398
+-70.04 45.788 3398
+-69.914 45.788 3399
+-69.788 45.788 3400
+-69.662 45.788 3400
+-69.536 45.788 3401
+-69.41 45.788 3402
+-69.284 45.788 3402
+-69.158 45.788 3403
+-69.032 45.788 3403
+-68.906 45.788 3515
+-68.78 45.788 3516
+-68.654 45.788 3500
+-68.528 45.788 3501
+-68.402 45.788 3501
+-68.276 45.788 3502
+-68.15 45.788 3502
+-68.024 45.788 3503
+-67.898 45.788 3503
+-67.772 45.788 3504
+-67.646 45.788 3504
+-67.52 45.788 3504
+-67.394 45.788 3505
+-67.268 45.788 3544
+-67.142 45.788 3545
+-67.016 45.788 3545
+-66.89 45.788 3546
+-66.764 45.788 3546
+-66.638 45.788 3547
+-66.512 45.788 3505
+-66.386 45.788 3506
+-66.26 45.788 3506
+-66.134 45.788 3506
+-66.008 45.788 3547
+-65.882 45.788 3547
+-65.756 45.788 3548
+-65.63 45.788 3499
+-65.504 45.788 3499
+-65.378 45.788 3500
+-65.252 45.788 3635
+-65.126 45.788 3635
+-128 45.736 4421
+-127.874 45.736 4474
+-127.748 45.736 4517
+-127.622 45.736 4537
+-127.496 45.736 4551
+-127.37 45.736 4678
+-127.244 45.736 4709
+-127.118 45.736 4899
+-126.992 45.736 4938
+-126.866 45.736 5179
+-126.74 45.736 5293
+-126.614 45.736 5339
+-126.488 45.736 5487
+-126.362 45.736 5663
+-126.236 45.736 5766
+-126.11 45.736 5938
+-125.984 45.736 6051
+-125.858 45.736 6136
+-125.732 45.736 6258
+-125.606 45.736 6386
+-125.48 45.736 6508
+-125.354 45.736 6623
+-125.228 45.736 6739
+-125.102 45.736 6875
+-124.976 45.736 7013
+-124.85 45.736 7159
+-124.724 45.736 7255
+-124.598 45.736 7354
+-124.472 45.736 7459
+-124.346 45.736 7574
+-124.22 45.736 7660
+-124.094 45.736 7742
+-123.968 45.736 7844
+-123.842 45.736 7931
+-123.716 45.736 7992
+-123.59 45.736 8081
+-123.464 45.736 8122
+-123.338 45.736 8160
+-123.212 45.736 8209
+-123.086 45.736 8203
+-122.96 45.736 8226
+-122.834 45.736 8209
+-122.708 45.736 8181
+-122.582 45.736 8132
+-122.456 45.736 8115
+-122.33 45.736 8075
+-122.204 45.736 8000
+-122.078 45.736 7935
+-121.952 45.736 7842
+-121.826 45.736 7709
+-121.7 45.736 7654
+-121.574 45.736 7536
+-121.448 45.736 7479
+-121.322 45.736 7340
+-121.196 45.736 7240
+-121.07 45.736 7084
+-120.944 45.736 6951
+-120.818 45.736 6876
+-120.692 45.736 6841
+-120.566 45.736 6915
+-120.44 45.736 7024
+-120.314 45.736 7167
+-120.188 45.736 7311
+-120.062 45.736 7397
+-119.936 45.736 7498
+-119.81 45.736 7660
+-119.684 45.736 7779
+-119.558 45.736 7919
+-119.432 45.736 8032
+-119.306 45.736 8164
+-119.18 45.736 8281
+-119.054 45.736 8394
+-118.928 45.736 8507
+-118.802 45.736 8666
+-118.676 45.736 8708
+-118.55 45.736 8802
+-118.424 45.736 8866
+-118.298 45.736 8825
+-118.172 45.736 8799
+-118.046 45.736 8739
+-117.92 45.736 8689
+-117.794 45.736 8510
+-117.668 45.736 8389
+-117.542 45.736 8267
+-117.416 45.736 8186
+-117.29 45.736 8070
+-117.164 45.736 7933
+-117.038 45.736 7753
+-116.912 45.736 7689
+-116.786 45.736 7586
+-116.66 45.736 7434
+-116.534 45.736 7340
+-116.408 45.736 7195
+-116.282 45.736 7035
+-116.156 45.736 6943
+-116.03 45.736 6780
+-115.904 45.736 6655
+-115.778 45.736 6474
+-115.652 45.736 6343
+-115.526 45.736 6283
+-115.4 45.736 6082
+-115.274 45.736 5913
+-115.148 45.736 5865
+-115.022 45.736 5734
+-114.896 45.736 5576
+-114.77 45.736 5549
+-114.644 45.736 5391
+-114.518 45.736 5194
+-114.392 45.736 5034
+-114.266 45.736 4924
+-114.14 45.736 4866
+-114.014 45.736 4760
+-113.888 45.736 4670
+-113.762 45.736 4644
+-113.636 45.736 4615
+-113.51 45.736 4550
+-113.384 45.736 4405
+-113.258 45.736 4323
+-113.132 45.736 4192
+-113.006 45.736 4091
+-112.88 45.736 3917
+-112.754 45.736 3773
+-112.628 45.736 3663
+-112.502 45.736 3537
+-112.376 45.736 3482
+-112.25 45.736 3492
+-112.124 45.736 3499
+-111.998 45.736 3466
+-111.872 45.736 3478
+-111.746 45.736 3478
+-111.62 45.736 3483
+-111.494 45.736 3486
+-111.368 45.736 3488
+-111.242 45.736 3489
+-111.116 45.736 3491
+-110.99 45.736 3493
+-110.864 45.736 3421
+-110.738 45.736 3424
+-110.612 45.736 3429
+-110.486 45.736 3434
+-110.36 45.736 3439
+-110.234 45.736 3445
+-110.108 45.736 3450
+-109.982 45.736 3456
+-109.856 45.736 3446
+-109.73 45.736 3452
+-109.604 45.736 3457
+-109.478 45.736 3462
+-109.352 45.736 3467
+-109.226 45.736 3472
+-109.1 45.736 3476
+-108.974 45.736 3481
+-108.848 45.736 3485
+-108.722 45.736 3489
+-108.596 45.736 3493
+-108.47 45.736 3416
+-108.344 45.736 3419
+-108.218 45.736 3422
+-108.092 45.736 3425
+-107.966 45.736 3427
+-107.84 45.736 3429
+-107.714 45.736 3431
+-107.588 45.736 3434
+-107.462 45.736 3436
+-107.336 45.736 3438
+-107.21 45.736 3308
+-107.084 45.736 3309
+-106.958 45.736 3309
+-106.832 45.736 3274
+-106.706 45.736 3274
+-106.58 45.736 3273
+-106.454 45.736 3273
+-106.328 45.736 3273
+-106.202 45.736 3272
+-106.076 45.736 3272
+-105.95 45.736 3272
+-105.824 45.736 3168
+-105.698 45.736 3167
+-105.572 45.736 3166
+-105.446 45.736 3165
+-105.32 45.736 3164
+-105.194 45.736 3163
+-105.068 45.736 3162
+-104.942 45.736 3162
+-104.816 45.736 3161
+-104.69 45.736 3152
+-104.564 45.736 3158
+-104.438 45.736 3156
+-104.312 45.736 2906
+-104.186 45.736 2901
+-104.06 45.736 2896
+-103.934 45.736 2891
+-103.808 45.736 2802
+-103.682 45.736 2779
+-103.556 45.736 2636
+-103.43 45.736 2626
+-103.304 45.736 2627
+-103.178 45.736 2593
+-103.052 45.736 2608
+-102.926 45.736 2749
+-102.8 45.736 2835
+-102.674 45.736 2926
+-102.548 45.736 2892
+-102.422 45.736 3233
+-102.296 45.736 3399
+-102.17 45.736 3398
+-102.044 45.736 3247
+-101.918 45.736 3247
+-101.792 45.736 3246
+-101.666 45.736 3245
+-101.54 45.736 3244
+-101.414 45.736 3244
+-101.288 45.736 3243
+-101.162 45.736 3216
+-101.036 45.736 3246
+-100.91 45.736 3246
+-100.784 45.736 3277
+-100.658 45.736 3250
+-100.532 45.736 3297
+-100.406 45.736 3204
+-100.28 45.736 3227
+-100.154 45.736 3230
+-100.028 45.736 3211
+-99.902 45.736 3229
+-99.776 45.736 3229
+-99.65 45.736 3232
+-99.524 45.736 3253
+-99.398 45.736 3253
+-99.272 45.736 3254
+-99.146 45.736 3351
+-99.02 45.736 3351
+-98.894 45.736 3351
+-98.768 45.736 3314
+-98.642 45.736 3408
+-98.516 45.736 3415
+-98.39 45.736 3415
+-98.264 45.736 3413
+-98.138 45.736 3412
+-98.012 45.736 3386
+-97.886 45.736 3383
+-97.76 45.736 3311
+-97.634 45.736 3444
+-97.508 45.736 3457
+-97.382 45.736 3419
+-97.256 45.736 3417
+-97.13 45.736 3416
+-97.004 45.736 3428
+-96.878 45.736 3382
+-96.752 45.736 3388
+-96.626 45.736 3383
+-96.5 45.736 3383
+-96.374 45.736 3382
+-96.248 45.736 3381
+-96.122 45.736 3381
+-95.996 45.736 3212
+-95.87 45.736 3235
+-95.744 45.736 3232
+-95.618 45.736 3230
+-95.492 45.736 3214
+-95.366 45.736 3254
+-95.24 45.736 3229
+-95.114 45.736 3225
+-94.988 45.736 3207
+-94.862 45.736 3204
+-94.736 45.736 3131
+-94.61 45.736 3156
+-94.484 45.736 3151
+-94.358 45.736 3146
+-94.232 45.736 3140
+-94.106 45.736 3126
+-93.98 45.736 3120
+-93.854 45.736 3113
+-93.728 45.736 3105
+-93.602 45.736 3096
+-93.476 45.736 3026
+-93.35 45.736 3005
+-93.224 45.736 2979
+-93.098 45.736 2930
+-92.972 45.736 2907
+-92.846 45.736 2880
+-92.72 45.736 2864
+-92.594 45.736 2845
+-92.468 45.736 2818
+-92.342 45.736 2782
+-92.216 45.736 2761
+-92.09 45.736 2739
+-91.964 45.736 2716
+-91.838 45.736 2691
+-91.712 45.736 2667
+-91.586 45.736 2642
+-91.46 45.736 2617
+-91.334 45.736 2594
+-91.208 45.736 2572
+-91.082 45.736 2553
+-90.956 45.736 2535
+-90.83 45.736 2521
+-90.704 45.736 2508
+-90.578 45.736 2497
+-90.452 45.736 2468
+-90.326 45.736 2460
+-90.2 45.736 2451
+-90.074 45.736 2408
+-89.948 45.736 2397
+-89.822 45.736 2380
+-89.696 45.736 2349
+-89.57 45.736 2326
+-89.444 45.736 2297
+-89.318 45.736 2265
+-89.192 45.736 2232
+-89.066 45.736 2207
+-88.94 45.736 2196
+-88.814 45.736 2216
+-88.688 45.736 2226
+-88.562 45.736 2258
+-88.436 45.736 2295
+-88.31 45.736 2332
+-88.184 45.736 2340
+-88.058 45.736 2367
+-87.932 45.736 2389
+-87.806 45.736 2407
+-87.68 45.736 2421
+-87.554 45.736 2433
+-87.428 45.736 2451
+-87.302 45.736 2456
+-87.176 45.736 2458
+-87.05 45.736 2458
+-86.924 45.736 2475
+-86.798 45.736 2473
+-86.672 45.736 2470
+-86.546 45.736 2467
+-86.42 45.736 2478
+-86.294 45.736 2541
+-86.168 45.736 2537
+-86.042 45.736 2533
+-85.916 45.736 2532
+-85.79 45.736 2529
+-85.664 45.736 2530
+-85.538 45.736 2534
+-85.412 45.736 2527
+-85.286 45.736 2531
+-85.16 45.736 2530
+-85.034 45.736 2532
+-84.908 45.736 2532
+-84.782 45.736 2533
+-84.656 45.736 2534
+-84.53 45.736 2541
+-84.404 45.736 2592
+-84.278 45.736 2595
+-84.152 45.736 2598
+-84.026 45.736 2601
+-83.9 45.736 2612
+-83.774 45.736 2616
+-83.648 45.736 2613
+-83.522 45.736 2617
+-83.396 45.736 2622
+-83.27 45.736 2626
+-83.144 45.736 2613
+-83.018 45.736 2622
+-82.892 45.736 2627
+-82.766 45.736 2723
+-82.64 45.736 2700
+-82.514 45.736 2706
+-82.388 45.736 2803
+-82.262 45.736 2806
+-82.136 45.736 2786
+-82.01 45.736 2831
+-81.884 45.736 2757
+-81.758 45.736 2781
+-81.632 45.736 2825
+-81.506 45.736 2754
+-81.38 45.736 2763
+-81.254 45.736 2692
+-81.128 45.736 2693
+-81.002 45.736 2707
+-80.876 45.736 2691
+-80.75 45.736 2696
+-80.624 45.736 2701
+-80.498 45.736 2656
+-80.372 45.736 2689
+-80.246 45.736 2687
+-80.12 45.736 2682
+-79.994 45.736 2686
+-79.868 45.736 2690
+-79.742 45.736 2694
+-79.616 45.736 2650
+-79.49 45.736 2649
+-79.364 45.736 2653
+-79.238 45.736 2656
+-79.112 45.736 2659
+-78.986 45.736 2659
+-78.86 45.736 2612
+-78.734 45.736 2710
+-78.608 45.736 2709
+-78.482 45.736 2716
+-78.356 45.736 2719
+-78.23 45.736 2722
+-78.104 45.736 2724
+-77.978 45.736 2747
+-77.852 45.736 2730
+-77.726 45.736 2788
+-77.6 45.736 2791
+-77.474 45.736 2785
+-77.348 45.736 2793
+-77.222 45.736 2795
+-77.096 45.736 2798
+-76.97 45.736 2789
+-76.844 45.736 2901
+-76.718 45.736 2904
+-76.592 45.736 2906
+-76.466 45.736 2908
+-76.34 45.736 3008
+-76.214 45.736 2966
+-76.088 45.736 3117
+-75.962 45.736 3118
+-75.836 45.736 3085
+-75.71 45.736 3086
+-75.584 45.736 3087
+-75.458 45.736 3088
+-75.332 45.736 3090
+-75.206 45.736 3091
+-75.08 45.736 3180
+-74.954 45.736 3177
+-74.828 45.736 3178
+-74.702 45.736 3180
+-74.576 45.736 3181
+-74.45 45.736 3128
+-74.324 45.736 3161
+-74.198 45.736 3162
+-74.072 45.736 3233
+-73.946 45.736 3149
+-73.82 45.736 3150
+-73.694 45.736 3152
+-73.568 45.736 3197
+-73.442 45.736 3154
+-73.316 45.736 3155
+-73.19 45.736 3157
+-73.064 45.736 3384
+-72.938 45.736 3332
+-72.812 45.736 3333
+-72.686 45.736 3463
+-72.56 45.736 3437
+-72.434 45.736 3438
+-72.308 45.736 3385
+-72.182 45.736 3458
+-72.056 45.736 3459
+-71.93 45.736 3460
+-71.804 45.736 3461
+-71.678 45.736 3461
+-71.552 45.736 3461
+-71.426 45.736 3461
+-71.3 45.736 3462
+-71.174 45.736 3451
+-71.048 45.736 3400
+-70.922 45.736 3394
+-70.796 45.736 3395
+-70.67 45.736 3395
+-70.544 45.736 3396
+-70.418 45.736 3397
+-70.292 45.736 3397
+-70.166 45.736 3398
+-70.04 45.736 3399
+-69.914 45.736 3399
+-69.788 45.736 3400
+-69.662 45.736 3401
+-69.536 45.736 3401
+-69.41 45.736 3402
+-69.284 45.736 3402
+-69.158 45.736 3403
+-69.032 45.736 3515
+-68.906 45.736 3515
+-68.78 45.736 3500
+-68.654 45.736 3500
+-68.528 45.736 3501
+-68.402 45.736 3501
+-68.276 45.736 3502
+-68.15 45.736 3502
+-68.024 45.736 3503
+-67.898 45.736 3503
+-67.772 45.736 3504
+-67.646 45.736 3504
+-67.52 45.736 3505
+-67.394 45.736 3544
+-67.268 45.736 3544
+-67.142 45.736 3545
+-67.016 45.736 3545
+-66.89 45.736 3546
+-66.764 45.736 3547
+-66.638 45.736 3505
+-66.512 45.736 3505
+-66.386 45.736 3506
+-66.26 45.736 3506
+-66.134 45.736 3546
+-66.008 45.736 3547
+-65.882 45.736 3547
+-65.756 45.736 3499
+-65.63 45.736 3499
+-65.504 45.736 3500
+-65.378 45.736 3635
+-65.252 45.736 3635
+-65.126 45.736 3635
+-128 45.684 4333
+-127.874 45.684 4341
+-127.748 45.684 4433
+-127.622 45.684 4530
+-127.496 45.684 4629
+-127.37 45.684 4716
+-127.244 45.684 4784
+-127.118 45.684 4949
+-126.992 45.684 5065
+-126.866 45.684 5224
+-126.74 45.684 5333
+-126.614 45.684 5331
+-126.488 45.684 5461
+-126.362 45.684 5625
+-126.236 45.684 5740
+-126.11 45.684 5870
+-125.984 45.684 6024
+-125.858 45.684 6150
+-125.732 45.684 6279
+-125.606 45.684 6392
+-125.48 45.684 6423
+-125.354 45.684 6646
+-125.228 45.684 6702
+-125.102 45.684 6860
+-124.976 45.684 6960
+-124.85 45.684 7125
+-124.724 45.684 7242
+-124.598 45.684 7280
+-124.472 45.684 7401
+-124.346 45.684 7486
+-124.22 45.684 7617
+-124.094 45.684 7651
+-123.968 45.684 7789
+-123.842 45.684 7866
+-123.716 45.684 7928
+-123.59 45.684 8017
+-123.464 45.684 8048
+-123.338 45.684 8107
+-123.212 45.684 8165
+-123.086 45.684 8160
+-122.96 45.684 8153
+-122.834 45.684 8139
+-122.708 45.684 8131
+-122.582 45.684 8076
+-122.456 45.684 8041
+-122.33 45.684 8017
+-122.204 45.684 7945
+-122.078 45.684 7880
+-121.952 45.684 7804
+-121.826 45.684 7716
+-121.7 45.684 7648
+-121.574 45.684 7501
+-121.448 45.684 7388
+-121.322 45.684 7327
+-121.196 45.684 7216
+-121.07 45.684 7047
+-120.944 45.684 6938
+-120.818 45.684 6611
+-120.692 45.684 6739
+-120.566 45.684 6807
+-120.44 45.684 6991
+-120.314 45.684 7132
+-120.188 45.684 7259
+-120.062 45.684 7388
+-119.936 45.684 7528
+-119.81 45.684 7574
+-119.684 45.684 7750
+-119.558 45.684 7924
+-119.432 45.684 7963
+-119.306 45.684 8092
+-119.18 45.684 8222
+-119.054 45.684 8352
+-118.928 45.684 8469
+-118.802 45.684 8591
+-118.676 45.684 8684
+-118.55 45.684 8744
+-118.424 45.684 8760
+-118.298 45.684 8797
+-118.172 45.684 8779
+-118.046 45.684 8687
+-117.92 45.684 8586
+-117.794 45.684 8464
+-117.668 45.684 8400
+-117.542 45.684 8267
+-117.416 45.684 8177
+-117.29 45.684 8056
+-117.164 45.684 7936
+-117.038 45.684 7826
+-116.912 45.684 7673
+-116.786 45.684 7501
+-116.66 45.684 7364
+-116.534 45.684 7277
+-116.408 45.684 7150
+-116.282 45.684 7075
+-116.156 45.684 6837
+-116.03 45.684 6784
+-115.904 45.684 6590
+-115.778 45.684 6543
+-115.652 45.684 6419
+-115.526 45.684 6297
+-115.4 45.684 6119
+-115.274 45.684 5963
+-115.148 45.684 5863
+-115.022 45.684 5766
+-114.896 45.684 5655
+-114.77 45.684 5560
+-114.644 45.684 5412
+-114.518 45.684 5168
+-114.392 45.684 4997
+-114.266 45.684 4903
+-114.14 45.684 4872
+-114.014 45.684 4775
+-113.888 45.684 4730
+-113.762 45.684 4693
+-113.636 45.684 4633
+-113.51 45.684 4562
+-113.384 45.684 4455
+-113.258 45.684 4338
+-113.132 45.684 4239
+-113.006 45.684 4084
+-112.88 45.684 3967
+-112.754 45.684 3834
+-112.628 45.684 3691
+-112.502 45.684 3617
+-112.376 45.684 3540
+-112.25 45.684 3507
+-112.124 45.684 3510
+-111.998 45.684 3505
+-111.872 45.684 3456
+-111.746 45.684 3459
+-111.62 45.684 3461
+-111.494 45.684 3461
+-111.368 45.684 3462
+-111.242 45.684 3463
+-111.116 45.684 3465
+-110.99 45.684 3396
+-110.864 45.684 3386
+-110.738 45.684 3390
+-110.612 45.684 3396
+-110.486 45.684 3402
+-110.36 45.684 3409
+-110.234 45.684 3416
+-110.108 45.684 3422
+-109.982 45.684 3429
+-109.856 45.684 3429
+-109.73 45.684 3436
+-109.604 45.684 3442
+-109.478 45.684 3448
+-109.352 45.684 3454
+-109.226 45.684 3459
+-109.1 45.684 3464
+-108.974 45.684 3469
+-108.848 45.684 3474
+-108.722 45.684 3478
+-108.596 45.684 3482
+-108.47 45.684 3416
+-108.344 45.684 3414
+-108.218 45.684 3417
+-108.092 45.684 3420
+-107.966 45.684 3423
+-107.84 45.684 3425
+-107.714 45.684 3428
+-107.588 45.684 3430
+-107.462 45.684 3432
+-107.336 45.684 3434
+-107.21 45.684 3436
+-107.084 45.684 3306
+-106.958 45.684 3307
+-106.832 45.684 3307
+-106.706 45.684 3272
+-106.58 45.684 3272
+-106.454 45.684 3272
+-106.328 45.684 3272
+-106.202 45.684 3272
+-106.076 45.684 3271
+-105.95 45.684 3168
+-105.824 45.684 3167
+-105.698 45.684 3166
+-105.572 45.684 3165
+-105.446 45.684 3164
+-105.32 45.684 3163
+-105.194 45.684 3163
+-105.068 45.684 3162
+-104.942 45.684 3161
+-104.816 45.684 3152
+-104.69 45.684 3151
+-104.564 45.684 3158
+-104.438 45.684 3155
+-104.312 45.684 2904
+-104.186 45.684 2899
+-104.06 45.684 2893
+-103.934 45.684 2820
+-103.808 45.684 2663
+-103.682 45.684 2634
+-103.556 45.684 2633
+-103.43 45.684 2624
+-103.304 45.684 2627
+-103.178 45.684 2592
+-103.052 45.684 2600
+-102.926 45.684 2708
+-102.8 45.684 2792
+-102.674 45.684 2947
+-102.548 45.684 3028
+-102.422 45.684 2991
+-102.296 45.684 3363
+-102.17 45.684 3397
+-102.044 45.684 3396
+-101.918 45.684 3245
+-101.792 45.684 3245
+-101.666 45.684 3244
+-101.54 45.684 3243
+-101.414 45.684 3242
+-101.288 45.684 3242
+-101.162 45.684 3241
+-101.036 45.684 3215
+-100.91 45.684 3244
+-100.784 45.684 3244
+-100.658 45.684 3275
+-100.532 45.684 3249
+-100.406 45.684 3294
+-100.28 45.684 3202
+-100.154 45.684 3225
+-100.028 45.684 3229
+-99.902 45.684 3210
+-99.776 45.684 3227
+-99.65 45.684 3228
+-99.524 45.684 3231
+-99.398 45.684 3251
+-99.272 45.684 3252
+-99.146 45.684 3252
+-99.02 45.684 3349
+-98.894 45.684 3349
+-98.768 45.684 3349
+-98.642 45.684 3313
+-98.516 45.684 3406
+-98.39 45.684 3413
+-98.264 45.684 3413
+-98.138 45.684 3411
+-98.012 45.684 3410
+-97.886 45.684 3384
+-97.76 45.684 3381
+-97.634 45.684 3310
+-97.508 45.684 3442
+-97.382 45.684 3454
+-97.256 45.684 3417
+-97.13 45.684 3416
+-97.004 45.684 3414
+-96.878 45.684 3426
+-96.752 45.684 3380
+-96.626 45.684 3387
+-96.5 45.684 3386
+-96.374 45.684 3381
+-96.248 45.684 3380
+-96.122 45.684 3379
+-95.996 45.684 3379
+-95.87 45.684 3214
+-95.744 45.684 3236
+-95.618 45.684 3234
+-95.492 45.684 3232
+-95.366 45.684 3216
+-95.24 45.684 3256
+-95.114 45.684 3231
+-94.988 45.684 3227
+-94.862 45.684 3210
+-94.736 45.684 3207
+-94.61 45.684 3134
+-94.484 45.684 3159
+-94.358 45.684 3155
+-94.232 45.684 3150
+-94.106 45.684 3144
+-93.98 45.684 3130
+-93.854 45.684 3124
+-93.728 45.684 3118
+-93.602 45.684 3110
+-93.476 45.684 3102
+-93.35 45.684 3033
+-93.224 45.684 3013
+-93.098 45.684 2987
+-92.972 45.684 2939
+-92.846 45.684 2917
+-92.72 45.684 2891
+-92.594 45.684 2876
+-92.468 45.684 2858
+-92.342 45.684 2832
+-92.216 45.684 2798
+-92.09 45.684 2779
+-91.964 45.684 2759
+-91.838 45.684 2738
+-91.712 45.684 2716
+-91.586 45.684 2694
+-91.46 45.684 2671
+-91.334 45.684 2649
+-91.208 45.684 2628
+-91.082 45.684 2608
+-90.956 45.684 2588
+-90.83 45.684 2569
+-90.704 45.684 2550
+-90.578 45.684 2532
+-90.452 45.684 2496
+-90.326 45.684 2479
+-90.2 45.684 2463
+-90.074 45.684 2448
+-89.948 45.684 2402
+-89.822 45.684 2386
+-89.696 45.684 2349
+-89.57 45.684 2319
+-89.444 45.684 2282
+-89.318 45.684 2234
+-89.192 45.684 2186
+-89.066 45.684 2149
+-88.94 45.684 2143
+-88.814 45.684 2153
+-88.688 45.684 2176
+-88.562 45.684 2220
+-88.436 45.684 2269
+-88.31 45.684 2315
+-88.184 45.684 2331
+-88.058 45.684 2363
+-87.932 45.684 2388
+-87.806 45.684 2408
+-87.68 45.684 2424
+-87.554 45.684 2446
+-87.428 45.684 2453
+-87.302 45.684 2456
+-87.176 45.684 2458
+-87.05 45.684 2474
+-86.924 45.684 2473
+-86.798 45.684 2470
+-86.672 45.684 2467
+-86.546 45.684 2476
+-86.42 45.684 2536
+-86.294 45.684 2531
+-86.168 45.684 2527
+-86.042 45.684 2525
+-85.916 45.684 2521
+-85.79 45.684 2522
+-85.664 45.684 2525
+-85.538 45.684 2518
+-85.412 45.684 2521
+-85.286 45.684 2520
+-85.16 45.684 2521
+-85.034 45.684 2521
+-84.908 45.684 2522
+-84.782 45.684 2523
+-84.656 45.684 2530
+-84.53 45.684 2580
+-84.404 45.684 2582
+-84.278 45.684 2585
+-84.152 45.684 2589
+-84.026 45.684 2599
+-83.9 45.684 2604
+-83.774 45.684 2601
+-83.648 45.684 2606
+-83.522 45.684 2610
+-83.396 45.684 2615
+-83.27 45.684 2602
+-83.144 45.684 2612
+-83.018 45.684 2617
+-82.892 45.684 2711
+-82.766 45.684 2690
+-82.64 45.684 2695
+-82.514 45.684 2791
+-82.388 45.684 2795
+-82.262 45.684 2775
+-82.136 45.684 2819
+-82.01 45.684 2748
+-81.884 45.684 2771
+-81.758 45.684 2815
+-81.632 45.684 2746
+-81.506 45.684 2755
+-81.38 45.684 2685
+-81.254 45.684 2686
+-81.128 45.684 2701
+-81.002 45.684 2685
+-80.876 45.684 2690
+-80.75 45.684 2695
+-80.624 45.684 2651
+-80.498 45.684 2684
+-80.372 45.684 2682
+-80.246 45.684 2677
+-80.12 45.684 2682
+-79.994 45.684 2686
+-79.868 45.684 2691
+-79.742 45.684 2647
+-79.616 45.684 2646
+-79.49 45.684 2650
+-79.364 45.684 2653
+-79.238 45.684 2657
+-79.112 45.684 2657
+-78.986 45.684 2610
+-78.86 45.684 2708
+-78.734 45.684 2707
+-78.608 45.684 2714
+-78.482 45.684 2717
+-78.356 45.684 2720
+-78.23 45.684 2723
+-78.104 45.684 2745
+-77.978 45.684 2729
+-77.852 45.684 2786
+-77.726 45.684 2789
+-77.6 45.684 2783
+-77.474 45.684 2791
+-77.348 45.684 2794
+-77.222 45.684 2796
+-77.096 45.684 2787
+-76.97 45.684 2899
+-76.844 45.684 2902
+-76.718 45.684 2905
+-76.592 45.684 2907
+-76.466 45.684 3006
+-76.34 45.684 2964
+-76.214 45.684 3115
+-76.088 45.684 3117
+-75.962 45.684 3083
+-75.836 45.684 3085
+-75.71 45.684 3086
+-75.584 45.684 3087
+-75.458 45.684 3089
+-75.332 45.684 3090
+-75.206 45.684 3179
+-75.08 45.684 3176
+-74.954 45.684 3177
+-74.828 45.684 3179
+-74.702 45.684 3180
+-74.576 45.684 3127
+-74.45 45.684 3160
+-74.324 45.684 3161
+-74.198 45.684 3232
+-74.072 45.684 3148
+-73.946 45.684 3149
+-73.82 45.684 3151
+-73.694 45.684 3196
+-73.568 45.684 3153
+-73.442 45.684 3154
+-73.316 45.684 3156
+-73.19 45.684 3383
+-73.064 45.684 3331
+-72.938 45.684 3332
+-72.812 45.684 3462
+-72.686 45.684 3436
+-72.56 45.684 3437
+-72.434 45.684 3384
+-72.308 45.684 3457
+-72.182 45.684 3458
+-72.056 45.684 3459
+-71.93 45.684 3460
+-71.804 45.684 3461
+-71.678 45.684 3460
+-71.552 45.684 3461
+-71.426 45.684 3462
+-71.3 45.684 3451
+-71.174 45.684 3399
+-71.048 45.684 3393
+-70.922 45.684 3394
+-70.796 45.684 3395
+-70.67 45.684 3396
+-70.544 45.684 3396
+-70.418 45.684 3397
+-70.292 45.684 3398
+-70.166 45.684 3398
+-70.04 45.684 3399
+-69.914 45.684 3399
+-69.788 45.684 3400
+-69.662 45.684 3401
+-69.536 45.684 3401
+-69.41 45.684 3402
+-69.284 45.684 3402
+-69.158 45.684 3515
+-69.032 45.684 3515
+-68.906 45.684 3500
+-68.78 45.684 3500
+-68.654 45.684 3501
+-68.528 45.684 3501
+-68.402 45.684 3501
+-68.276 45.684 3502
+-68.15 45.684 3502
+-68.024 45.684 3503
+-67.898 45.684 3503
+-67.772 45.684 3504
+-67.646 45.684 3504
+-67.52 45.684 3543
+-67.394 45.684 3544
+-67.268 45.684 3545
+-67.142 45.684 3545
+-67.016 45.684 3546
+-66.89 45.684 3546
+-66.764 45.684 3504
+-66.638 45.684 3505
+-66.512 45.684 3505
+-66.386 45.684 3506
+-66.26 45.684 3546
+-66.134 45.684 3546
+-66.008 45.684 3547
+-65.882 45.684 3498
+-65.756 45.684 3499
+-65.63 45.684 3499
+-65.504 45.684 3635
+-65.378 45.684 3635
+-65.252 45.684 3635
+-65.126 45.684 3635
+-128 45.632 4202
+-127.874 45.632 4168
+-127.748 45.632 4298
+-127.622 45.632 4470
+-127.496 45.632 4594
+-127.37 45.632 4701
+-127.244 45.632 4800
+-127.118 45.632 4972
+-126.992 45.632 5131
+-126.866 45.632 5266
+-126.74 45.632 5344
+-126.614 45.632 5293
+-126.488 45.632 5481
+-126.362 45.632 5612
+-126.236 45.632 5658
+-126.11 45.632 5821
+-125.984 45.632 5981
+-125.858 45.632 6090
+-125.732 45.632 6260
+-125.606 45.632 6362
+-125.48 45.632 6481
+-125.354 45.632 6523
+-125.228 45.632 6714
+-125.102 45.632 6841
+-124.976 45.632 6940
+-124.85 45.632 7075
+-124.724 45.632 7185
+-124.598 45.632 7280
+-124.472 45.632 7424
+-124.346 45.632 7452
+-124.22 45.632 7556
+-124.094 45.632 7662
+-123.968 45.632 7741
+-123.842 45.632 7817
+-123.716 45.632 7892
+-123.59 45.632 7962
+-123.464 45.632 8048
+-123.338 45.632 8079
+-123.212 45.632 8081
+-123.086 45.632 8112
+-122.96 45.632 8085
+-122.834 45.632 8100
+-122.708 45.632 8108
+-122.582 45.632 8029
+-122.456 45.632 8009
+-122.33 45.632 7977
+-122.204 45.632 7854
+-122.078 45.632 7841
+-121.952 45.632 7706
+-121.826 45.632 7638
+-121.7 45.632 7502
+-121.574 45.632 7494
+-121.448 45.632 7394
+-121.322 45.632 7273
+-121.196 45.632 7156
+-121.07 45.632 7063
+-120.944 45.632 6914
+-120.818 45.632 6857
+-120.692 45.632 6820
+-120.566 45.632 6857
+-120.44 45.632 6930
+-120.314 45.632 7112
+-120.188 45.632 7244
+-120.062 45.632 7368
+-119.936 45.632 7484
+-119.81 45.632 7625
+-119.684 45.632 7811
+-119.558 45.632 7847
+-119.432 45.632 8013
+-119.306 45.632 8079
+-119.18 45.632 8232
+-119.054 45.632 8292
+-118.928 45.632 8455
+-118.802 45.632 8498
+-118.676 45.632 8624
+-118.55 45.632 8671
+-118.424 45.632 8728
+-118.298 45.632 8716
+-118.172 45.632 8720
+-118.046 45.632 8631
+-117.92 45.632 8575
+-117.794 45.632 8426
+-117.668 45.632 8363
+-117.542 45.632 8274
+-117.416 45.632 8162
+-117.29 45.632 8082
+-117.164 45.632 7909
+-117.038 45.632 7821
+-116.912 45.632 7655
+-116.786 45.632 7531
+-116.66 45.632 7412
+-116.534 45.632 7292
+-116.408 45.632 7140
+-116.282 45.632 7036
+-116.156 45.632 6918
+-116.03 45.632 6796
+-115.904 45.632 6670
+-115.778 45.632 6549
+-115.652 45.632 6419
+-115.526 45.632 6279
+-115.4 45.632 6157
+-115.274 45.632 5987
+-115.148 45.632 5892
+-115.022 45.632 5783
+-114.896 45.632 5714
+-114.77 45.632 5580
+-114.644 45.632 5400
+-114.518 45.632 5171
+-114.392 45.632 5007
+-114.266 45.632 4898
+-114.14 45.632 4795
+-114.014 45.632 4704
+-113.888 45.632 4708
+-113.762 45.632 4696
+-113.636 45.632 4685
+-113.51 45.632 4582
+-113.384 45.632 4524
+-113.258 45.632 4315
+-113.132 45.632 4213
+-113.006 45.632 4081
+-112.88 45.632 3942
+-112.754 45.632 3778
+-112.628 45.632 3694
+-112.502 45.632 3621
+-112.376 45.632 3534
+-112.25 45.632 3513
+-112.124 45.632 3491
+-111.998 45.632 3493
+-111.872 45.632 3495
+-111.746 45.632 3433
+-111.62 45.632 3431
+-111.494 45.632 3430
+-111.368 45.632 3429
+-111.242 45.632 3403
+-111.116 45.632 3405
+-110.99 45.632 3353
+-110.864 45.632 3359
+-110.738 45.632 3366
+-110.612 45.632 3374
+-110.486 45.632 3382
+-110.36 45.632 3391
+-110.234 45.632 3399
+-110.108 45.632 3408
+-109.982 45.632 3416
+-109.856 45.632 3424
+-109.73 45.632 3432
+-109.604 45.632 3440
+-109.478 45.632 3447
+-109.352 45.632 3453
+-109.226 45.632 3459
+-109.1 45.632 3465
+-108.974 45.632 3471
+-108.848 45.632 3476
+-108.722 45.632 3481
+-108.596 45.632 3405
+-108.47 45.632 3410
+-108.344 45.632 3413
+-108.218 45.632 3412
+-108.092 45.632 3415
+-107.966 45.632 3418
+-107.84 45.632 3421
+-107.714 45.632 3424
+-107.588 45.632 3426
+-107.462 45.632 3429
+-107.336 45.632 3402
+-107.21 45.632 3403
+-107.084 45.632 3323
+-106.958 45.632 3304
+-106.832 45.632 3305
+-106.706 45.632 3306
+-106.58 45.632 3306
+-106.454 45.632 3307
+-106.328 45.632 3271
+-106.202 45.632 3271
+-106.076 45.632 3168
+-105.95 45.632 3167
+-105.824 45.632 3166
+-105.698 45.632 3165
+-105.572 45.632 3164
+-105.446 45.632 3163
+-105.32 45.632 3163
+-105.194 45.632 3162
+-105.068 45.632 3161
+-104.942 45.632 3160
+-104.816 45.632 3151
+-104.69 45.632 3150
+-104.564 45.632 3157
+-104.438 45.632 3155
+-104.312 45.632 2901
+-104.186 45.632 2896
+-104.06 45.632 2824
+-103.934 45.632 2816
+-103.808 45.632 2660
+-103.682 45.632 2631
+-103.556 45.632 2631
+-103.43 45.632 2605
+-103.304 45.632 2608
+-103.178 45.632 2649
+-103.052 45.632 2718
+-102.926 45.632 2776
+-102.8 45.632 2888
+-102.674 45.632 2903
+-102.548 45.632 2982
+-102.422 45.632 2945
+-102.296 45.632 3105
+-102.17 45.632 3361
+-102.044 45.632 3394
+-101.918 45.632 3393
+-101.792 45.632 3244
+-101.666 45.632 3243
+-101.54 45.632 3242
+-101.414 45.632 3241
+-101.288 45.632 3240
+-101.162 45.632 3240
+-101.036 45.632 3239
+-100.91 45.632 3213
+-100.784 45.632 3242
+-100.658 45.632 3242
+-100.532 45.632 3273
+-100.406 45.632 3247
+-100.28 45.632 3292
+-100.154 45.632 3201
+-100.028 45.632 3223
+-99.902 45.632 3227
+-99.776 45.632 3208
+-99.65 45.632 3226
+-99.524 45.632 3226
+-99.398 45.632 3229
+-99.272 45.632 3250
+-99.146 45.632 3250
+-99.02 45.632 3251
+-98.894 45.632 3347
+-98.768 45.632 3347
+-98.642 45.632 3347
+-98.516 45.632 3311
+-98.39 45.632 3404
+-98.264 45.632 3411
+-98.138 45.632 3411
+-98.012 45.632 3408
+-97.886 45.632 3408
+-97.76 45.632 3382
+-97.634 45.632 3379
+-97.508 45.632 3309
+-97.382 45.632 3440
+-97.256 45.632 3452
+-97.13 45.632 3415
+-97.004 45.632 3414
+-96.878 45.632 3412
+-96.752 45.632 3424
+-96.626 45.632 3378
+-96.5 45.632 3384
+-96.374 45.632 3379
+-96.248 45.632 3379
+-96.122 45.632 3378
+-95.996 45.632 3377
+-95.87 45.632 3376
+-95.744 45.632 3216
+-95.618 45.632 3238
+-95.492 45.632 3236
+-95.366 45.632 3233
+-95.24 45.632 3218
+-95.114 45.632 3258
+-94.988 45.632 3233
+-94.862 45.632 3230
+-94.736 45.632 3212
+-94.61 45.632 3210
+-94.484 45.632 3138
+-94.358 45.632 3163
+-94.232 45.632 3159
+-94.106 45.632 3154
+-93.98 45.632 3149
+-93.854 45.632 3136
+-93.728 45.632 3130
+-93.602 45.632 3124
+-93.476 45.632 3117
+-93.35 45.632 3110
+-93.224 45.632 3042
+-93.098 45.632 3022
+-92.972 45.632 2997
+-92.846 45.632 2950
+-92.72 45.632 2929
+-92.594 45.632 2904
+-92.468 45.632 2890
+-92.342 45.632 2873
+-92.216 45.632 2848
+-92.09 45.632 2816
+-91.964 45.632 2798
+-91.838 45.632 2780
+-91.712 45.632 2760
+-91.586 45.632 2740
+-91.46 45.632 2719
+-91.334 45.632 2698
+-91.208 45.632 2676
+-91.082 45.632 2654
+-90.956 45.632 2631
+-90.83 45.632 2607
+-90.704 45.632 2582
+-90.578 45.632 2556
+-90.452 45.632 2512
+-90.326 45.632 2487
+-90.2 45.632 2464
+-90.074 45.632 2444
+-89.948 45.632 2426
+-89.822 45.632 2382
+-89.696 45.632 2360
+-89.57 45.632 2313
+-89.444 45.632 2267
+-89.318 45.632 2203
+-89.192 45.632 2137
+-89.066 45.632 2092
+-88.94 45.632 2070
+-88.814 45.632 2086
+-88.688 45.632 2126
+-88.562 45.632 2185
+-88.436 45.632 2246
+-88.31 45.632 2303
+-88.184 45.632 2327
+-88.058 45.632 2363
+-87.932 45.632 2390
+-87.806 45.632 2413
+-87.68 45.632 2439
+-87.554 45.632 2449
+-87.428 45.632 2455
+-87.302 45.632 2457
+-87.176 45.632 2475
+-87.05 45.632 2473
+-86.924 45.632 2471
+-86.798 45.632 2467
+-86.672 45.632 2476
+-86.546 45.632 2532
+-86.42 45.632 2526
+-86.294 45.632 2521
+-86.168 45.632 2519
+-86.042 45.632 2514
+-85.916 45.632 2514
+-85.79 45.632 2516
+-85.664 45.632 2508
+-85.538 45.632 2511
+-85.412 45.632 2509
+-85.286 45.632 2510
+-85.16 45.632 2510
+-85.034 45.632 2510
+-84.908 45.632 2511
+-84.782 45.632 2518
+-84.656 45.632 2566
+-84.53 45.632 2569
+-84.404 45.632 2572
+-84.278 45.632 2575
+-84.152 45.632 2586
+-84.026 45.632 2590
+-83.9 45.632 2589
+-83.774 45.632 2593
+-83.648 45.632 2598
+-83.522 45.632 2603
+-83.396 45.632 2591
+-83.27 45.632 2601
+-83.144 45.632 2606
+-83.018 45.632 2699
+-82.892 45.632 2678
+-82.766 45.632 2684
+-82.64 45.632 2778
+-82.514 45.632 2782
+-82.388 45.632 2764
+-82.262 45.632 2808
+-82.136 45.632 2738
+-82.01 45.632 2761
+-81.884 45.632 2805
+-81.758 45.632 2737
+-81.632 45.632 2746
+-81.506 45.632 2678
+-81.38 45.632 2679
+-81.254 45.632 2694
+-81.128 45.632 2679
+-81.002 45.632 2684
+-80.876 45.632 2690
+-80.75 45.632 2646
+-80.624 45.632 2679
+-80.498 45.632 2677
+-80.372 45.632 2673
+-80.246 45.632 2678
+-80.12 45.632 2682
+-79.994 45.632 2687
+-79.868 45.632 2644
+-79.742 45.632 2643
+-79.616 45.632 2647
+-79.49 45.632 2651
+-79.364 45.632 2654
+-79.238 45.632 2655
+-79.112 45.632 2608
+-78.986 45.632 2705
+-78.86 45.632 2704
+-78.734 45.632 2712
+-78.608 45.632 2715
+-78.482 45.632 2718
+-78.356 45.632 2721
+-78.23 45.632 2743
+-78.104 45.632 2727
+-77.978 45.632 2784
+-77.852 45.632 2787
+-77.726 45.632 2781
+-77.6 45.632 2789
+-77.474 45.632 2792
+-77.348 45.632 2795
+-77.222 45.632 2786
+-77.096 45.632 2898
+-76.97 45.632 2900
+-76.844 45.632 2903
+-76.718 45.632 2906
+-76.592 45.632 3005
+-76.466 45.632 2963
+-76.34 45.632 3114
+-76.214 45.632 3115
+-76.088 45.632 3082
+-75.962 45.632 3084
+-75.836 45.632 3085
+-75.71 45.632 3086
+-75.584 45.632 3088
+-75.458 45.632 3089
+-75.332 45.632 3178
+-75.206 45.632 3174
+-75.08 45.632 3176
+-74.954 45.632 3177
+-74.828 45.632 3179
+-74.702 45.632 3126
+-74.576 45.632 3159
+-74.45 45.632 3160
+-74.324 45.632 3231
+-74.198 45.632 3147
+-74.072 45.632 3148
+-73.946 45.632 3150
+-73.82 45.632 3195
+-73.694 45.632 3152
+-73.568 45.632 3153
+-73.442 45.632 3155
+-73.316 45.632 3382
+-73.19 45.632 3330
+-73.064 45.632 3331
+-72.938 45.632 3461
+-72.812 45.632 3435
+-72.686 45.632 3436
+-72.56 45.632 3384
+-72.434 45.632 3456
+-72.308 45.632 3458
+-72.182 45.632 3458
+-72.056 45.632 3459
+-71.93 45.632 3460
+-71.804 45.632 3459
+-71.678 45.632 3460
+-71.552 45.632 3461
+-71.426 45.632 3450
+-71.3 45.632 3399
+-71.174 45.632 3393
+-71.048 45.632 3394
+-70.922 45.632 3394
+-70.796 45.632 3395
+-70.67 45.632 3396
+-70.544 45.632 3396
+-70.418 45.632 3397
+-70.292 45.632 3398
+-70.166 45.632 3398
+-70.04 45.632 3399
+-69.914 45.632 3400
+-69.788 45.632 3400
+-69.662 45.632 3401
+-69.536 45.632 3402
+-69.41 45.632 3402
+-69.284 45.632 3514
+-69.158 45.632 3515
+-69.032 45.632 3499
+-68.906 45.632 3500
+-68.78 45.632 3500
+-68.654 45.632 3501
+-68.528 45.632 3501
+-68.402 45.632 3502
+-68.276 45.632 3502
+-68.15 45.632 3503
+-68.024 45.632 3503
+-67.898 45.632 3503
+-67.772 45.632 3504
+-67.646 45.632 3543
+-67.52 45.632 3543
+-67.394 45.632 3544
+-67.268 45.632 3545
+-67.142 45.632 3545
+-67.016 45.632 3546
+-66.89 45.632 3504
+-66.764 45.632 3505
+-66.638 45.632 3505
+-66.512 45.632 3506
+-66.386 45.632 3545
+-66.26 45.632 3546
+-66.134 45.632 3547
+-66.008 45.632 3498
+-65.882 45.632 3499
+-65.756 45.632 3499
+-65.63 45.632 3634
+-65.504 45.632 3635
+-65.378 45.632 3635
+-65.252 45.632 3635
+-65.126 45.632 3635
+-128 45.58 4130
+-127.874 45.58 4024
+-127.748 45.58 4188
+-127.622 45.58 4398
+-127.496 45.58 4562
+-127.37 45.58 4682
+-127.244 45.58 4785
+-127.118 45.58 4963
+-126.992 45.58 5156
+-126.866 45.58 5263
+-126.74 45.58 5349
+-126.614 45.58 5379
+-126.488 45.58 5515
+-126.362 45.58 5598
+-126.236 45.58 5660
+-126.11 45.58 5766
+-125.984 45.58 5960
+-125.858 45.58 6043
+-125.732 45.58 6172
+-125.606 45.58 6344
+-125.48 45.58 6479
+-125.354 45.58 6574
+-125.228 45.58 6717
+-125.102 45.58 6843
+-124.976 45.58 6943
+-124.85 45.58 7023
+-124.724 45.58 7127
+-124.598 45.58 7204
+-124.472 45.58 7291
+-124.346 45.58 7409
+-124.22 45.58 7525
+-124.094 45.58 7606
+-123.968 45.58 7643
+-123.842 45.58 7752
+-123.716 45.58 7838
+-123.59 45.58 7902
+-123.464 45.58 7959
+-123.338 45.58 8001
+-123.212 45.58 8023
+-123.086 45.58 8033
+-122.96 45.58 8052
+-122.834 45.58 8041
+-122.708 45.58 8062
+-122.582 45.58 7996
+-122.456 45.58 7948
+-122.33 45.58 7917
+-122.204 45.58 7833
+-122.078 45.58 7777
+-121.952 45.58 7676
+-121.826 45.58 7582
+-121.7 45.58 7497
+-121.574 45.58 7413
+-121.448 45.58 7366
+-121.322 45.58 7203
+-121.196 45.58 7128
+-121.07 45.58 7011
+-120.944 45.58 6889
+-120.818 45.58 6801
+-120.692 45.58 6773
+-120.566 45.58 6889
+-120.44 45.58 6993
+-120.314 45.58 7055
+-120.188 45.58 7227
+-120.062 45.58 7374
+-119.936 45.58 7497
+-119.81 45.58 7618
+-119.684 45.58 7732
+-119.558 45.58 7877
+-119.432 45.58 7952
+-119.306 45.58 8070
+-119.18 45.58 8211
+-119.054 45.58 8303
+-118.928 45.58 8426
+-118.802 45.58 8506
+-118.676 45.58 8597
+-118.55 45.58 8640
+-118.424 45.58 8657
+-118.298 45.58 8657
+-118.172 45.58 8645
+-118.046 45.58 8587
+-117.92 45.58 8499
+-117.794 45.58 8406
+-117.668 45.58 8309
+-117.542 45.58 8226
+-117.416 45.58 8114
+-117.29 45.58 7975
+-117.164 45.58 7856
+-117.038 45.58 7801
+-116.912 45.58 7609
+-116.786 45.58 7533
+-116.66 45.58 7422
+-116.534 45.58 7273
+-116.408 45.58 7115
+-116.282 45.58 7022
+-116.156 45.58 6902
+-116.03 45.58 6761
+-115.904 45.58 6661
+-115.778 45.58 6562
+-115.652 45.58 6353
+-115.526 45.58 6154
+-115.4 45.58 6102
+-115.274 45.58 5903
+-115.148 45.58 5877
+-115.022 45.58 5719
+-114.896 45.58 5720
+-114.77 45.58 5591
+-114.644 45.58 5392
+-114.518 45.58 5189
+-114.392 45.58 5015
+-114.266 45.58 4863
+-114.14 45.58 4721
+-114.014 45.58 4595
+-113.888 45.58 4669
+-113.762 45.58 4670
+-113.636 45.58 4670
+-113.51 45.58 4572
+-113.384 45.58 4468
+-113.258 45.58 4344
+-113.132 45.58 4246
+-113.006 45.58 4089
+-112.88 45.58 3933
+-112.754 45.58 3746
+-112.628 45.58 3614
+-112.502 45.58 3547
+-112.376 45.58 3508
+-112.25 45.58 3468
+-112.124 45.58 3465
+-111.998 45.58 3459
+-111.872 45.58 3461
+-111.746 45.58 3404
+-111.62 45.58 3388
+-111.494 45.58 3384
+-111.368 45.58 3364
+-111.242 45.58 3364
+-111.116 45.58 3312
+-110.99 45.58 3319
+-110.864 45.58 3328
+-110.738 45.58 3338
+-110.612 45.58 3349
+-110.486 45.58 3360
+-110.36 45.58 3371
+-110.234 45.58 3382
+-110.108 45.58 3393
+-109.982 45.58 3403
+-109.856 45.58 3413
+-109.73 45.58 3422
+-109.604 45.58 3430
+-109.478 45.58 3438
+-109.352 45.58 3446
+-109.226 45.58 3453
+-109.1 45.58 3459
+-108.974 45.58 3465
+-108.848 45.58 3471
+-108.722 45.58 3393
+-108.596 45.58 3398
+-108.47 45.58 3403
+-108.344 45.58 3407
+-108.218 45.58 3411
+-108.092 45.58 3415
+-107.966 45.58 3418
+-107.84 45.58 3389
+-107.714 45.58 3392
+-107.588 45.58 3394
+-107.462 45.58 3396
+-107.336 45.58 3398
+-107.21 45.58 3319
+-107.084 45.58 3320
+-106.958 45.58 3321
+-106.832 45.58 3303
+-106.706 45.58 3303
+-106.58 45.58 3304
+-106.454 45.58 3305
+-106.328 45.58 3306
+-106.202 45.58 3167
+-106.076 45.58 3167
+-105.95 45.58 3166
+-105.824 45.58 3165
+-105.698 45.58 3164
+-105.572 45.58 3163
+-105.446 45.58 3162
+-105.32 45.58 3162
+-105.194 45.58 3161
+-105.068 45.58 3152
+-104.942 45.58 3151
+-104.816 45.58 3150
+-104.69 45.58 3149
+-104.564 45.58 3157
+-104.438 45.58 3154
+-104.312 45.58 2898
+-104.186 45.58 2815
+-104.06 45.58 2820
+-103.934 45.58 2656
+-103.808 45.58 2618
+-103.682 45.58 2628
+-103.556 45.58 2611
+-103.43 45.58 2604
+-103.304 45.58 2643
+-103.178 45.58 2638
+-103.052 45.58 2708
+-102.926 45.58 2765
+-102.8 45.58 2889
+-102.674 45.58 2989
+-102.548 45.58 3003
+-102.422 45.58 3100
+-102.296 45.58 3058
+-102.17 45.58 3103
+-102.044 45.58 3358
+-101.918 45.58 3391
+-101.792 45.58 3390
+-101.666 45.58 3242
+-101.54 45.58 3241
+-101.414 45.58 3240
+-101.288 45.58 3239
+-101.162 45.58 3238
+-101.036 45.58 3238
+-100.91 45.58 3237
+-100.784 45.58 3211
+-100.658 45.58 3240
+-100.532 45.58 3240
+-100.406 45.58 3271
+-100.28 45.58 3245
+-100.154 45.58 3290
+-100.028 45.58 3199
+-99.902 45.58 3221
+-99.776 45.58 3225
+-99.65 45.58 3207
+-99.524 45.58 3224
+-99.398 45.58 3224
+-99.272 45.58 3228
+-99.146 45.58 3248
+-99.02 45.58 3248
+-98.894 45.58 3249
+-98.768 45.58 3345
+-98.642 45.58 3345
+-98.516 45.58 3345
+-98.39 45.58 3309
+-98.264 45.58 3401
+-98.138 45.58 3409
+-98.012 45.58 3408
+-97.886 45.58 3406
+-97.76 45.58 3406
+-97.634 45.58 3380
+-97.508 45.58 3377
+-97.382 45.58 3307
+-97.256 45.58 3438
+-97.13 45.58 3450
+-97.004 45.58 3413
+-96.878 45.58 3412
+-96.752 45.58 3410
+-96.626 45.58 3422
+-96.5 45.58 3376
+-96.374 45.58 3382
+-96.248 45.58 3381
+-96.122 45.58 3376
+-95.996 45.58 3375
+-95.87 45.58 3375
+-95.744 45.58 3374
+-95.618 45.58 3217
+-95.492 45.58 3239
+-95.366 45.58 3237
+-95.24 45.58 3235
+-95.114 45.58 3220
+-94.988 45.58 3259
+-94.862 45.58 3235
+-94.736 45.58 3232
+-94.61 45.58 3215
+-94.484 45.58 3213
+-94.358 45.58 3143
+-94.232 45.58 3167
+-94.106 45.58 3163
+-93.98 45.58 3159
+-93.854 45.58 3154
+-93.728 45.58 3142
+-93.602 45.58 3136
+-93.476 45.58 3131
+-93.35 45.58 3124
+-93.224 45.58 3118
+-93.098 45.58 3052
+-92.972 45.58 3033
+-92.846 45.58 3009
+-92.72 45.58 2963
+-92.594 45.58 2942
+-92.468 45.58 2918
+-92.342 45.58 2905
+-92.216 45.58 2889
+-92.09 45.58 2866
+-91.964 45.58 2835
+-91.838 45.58 2818
+-91.712 45.58 2800
+-91.586 45.58 2781
+-91.46 45.58 2761
+-91.334 45.58 2740
+-91.208 45.58 2717
+-91.082 45.58 2693
+-90.956 45.58 2666
+-90.83 45.58 2637
+-90.704 45.58 2605
+-90.578 45.58 2570
+-90.452 45.58 2518
+-90.326 45.58 2484
+-90.2 45.58 2452
+-90.074 45.58 2427
+-89.948 45.58 2409
+-89.822 45.58 2396
+-89.696 45.58 2356
+-89.57 45.58 2338
+-89.444 45.58 2259
+-89.318 45.58 2183
+-89.192 45.58 2105
+-89.066 45.58 2034
+-88.94 45.58 2006
+-88.814 45.58 2030
+-88.688 45.58 2086
+-88.562 45.58 2160
+-88.436 45.58 2234
+-88.31 45.58 2299
+-88.184 45.58 2329
+-88.058 45.58 2367
+-87.932 45.58 2398
+-87.806 45.58 2429
+-87.68 45.58 2444
+-87.554 45.58 2453
+-87.428 45.58 2458
+-87.302 45.58 2476
+-87.176 45.58 2475
+-87.05 45.58 2472
+-86.924 45.58 2468
+-86.798 45.58 2476
+-86.672 45.58 2528
+-86.546 45.58 2522
+-86.42 45.58 2516
+-86.294 45.58 2512
+-86.168 45.58 2507
+-86.042 45.58 2505
+-85.916 45.58 2507
+-85.79 45.58 2499
+-85.664 45.58 2500
+-85.538 45.58 2498
+-85.412 45.58 2499
+-85.286 45.58 2498
+-85.16 45.58 2498
+-85.034 45.58 2499
+-84.908 45.58 2505
+-84.782 45.58 2552
+-84.656 45.58 2554
+-84.53 45.58 2558
+-84.404 45.58 2561
+-84.278 45.58 2571
+-84.152 45.58 2576
+-84.026 45.58 2575
+-83.9 45.58 2580
+-83.774 45.58 2585
+-83.648 45.58 2590
+-83.522 45.58 2579
+-83.396 45.58 2589
+-83.27 45.58 2595
+-83.144 45.58 2685
+-83.018 45.58 2666
+-82.892 45.58 2672
+-82.766 45.58 2764
+-82.64 45.58 2769
+-82.514 45.58 2752
+-82.388 45.58 2795
+-82.262 45.58 2727
+-82.136 45.58 2750
+-82.01 45.58 2793
+-81.884 45.58 2727
+-81.758 45.58 2737
+-81.632 45.58 2670
+-81.506 45.58 2672
+-81.38 45.58 2687
+-81.254 45.58 2672
+-81.128 45.58 2678
+-81.002 45.58 2684
+-80.876 45.58 2641
+-80.75 45.58 2673
+-80.624 45.58 2672
+-80.498 45.58 2668
+-80.372 45.58 2673
+-80.246 45.58 2678
+-80.12 45.58 2683
+-79.994 45.58 2641
+-79.868 45.58 2640
+-79.742 45.58 2644
+-79.616 45.58 2648
+-79.49 45.58 2652
+-79.364 45.58 2652
+-79.238 45.58 2606
+-79.112 45.58 2703
+-78.986 45.58 2702
+-78.86 45.58 2710
+-78.734 45.58 2713
+-78.608 45.58 2716
+-78.482 45.58 2719
+-78.356 45.58 2741
+-78.23 45.58 2725
+-78.104 45.58 2782
+-77.978 45.58 2785
+-77.852 45.58 2779
+-77.726 45.58 2787
+-77.6 45.58 2790
+-77.474 45.58 2793
+-77.348 45.58 2784
+-77.222 45.58 2896
+-77.096 45.58 2899
+-76.97 45.58 2902
+-76.844 45.58 2904
+-76.718 45.58 3003
+-76.592 45.58 2962
+-76.466 45.58 3113
+-76.34 45.58 3114
+-76.214 45.58 3081
+-76.088 45.58 3083
+-75.962 45.58 3084
+-75.836 45.58 3085
+-75.71 45.58 3087
+-75.584 45.58 3088
+-75.458 45.58 3177
+-75.332 45.58 3173
+-75.206 45.58 3175
+-75.08 45.58 3176
+-74.954 45.58 3178
+-74.828 45.58 3125
+-74.702 45.58 3158
+-74.576 45.58 3159
+-74.45 45.58 3229
+-74.324 45.58 3146
+-74.198 45.58 3147
+-74.072 45.58 3149
+-73.946 45.58 3194
+-73.82 45.58 3151
+-73.694 45.58 3153
+-73.568 45.58 3154
+-73.442 45.58 3381
+-73.316 45.58 3330
+-73.19 45.58 3331
+-73.064 45.58 3460
+-72.938 45.58 3434
+-72.812 45.58 3435
+-72.686 45.58 3383
+-72.56 45.58 3456
+-72.434 45.58 3457
+-72.308 45.58 3458
+-72.182 45.58 3459
+-72.056 45.58 3459
+-71.93 45.58 3459
+-71.804 45.58 3459
+-71.678 45.58 3460
+-71.552 45.58 3449
+-71.426 45.58 3398
+-71.3 45.58 3392
+-71.174 45.58 3393
+-71.048 45.58 3394
+-70.922 45.58 3395
+-70.796 45.58 3395
+-70.67 45.58 3396
+-70.544 45.58 3397
+-70.418 45.58 3397
+-70.292 45.58 3398
+-70.166 45.58 3399
+-70.04 45.58 3399
+-69.914 45.58 3400
+-69.788 45.58 3401
+-69.662 45.58 3401
+-69.536 45.58 3402
+-69.41 45.58 3514
+-69.284 45.58 3514
+-69.158 45.58 3499
+-69.032 45.58 3499
+-68.906 45.58 3500
+-68.78 45.58 3500
+-68.654 45.58 3501
+-68.528 45.58 3501
+-68.402 45.58 3502
+-68.276 45.58 3502
+-68.15 45.58 3503
+-68.024 45.58 3503
+-67.898 45.58 3504
+-67.772 45.58 3542
+-67.646 45.58 3543
+-67.52 45.58 3544
+-67.394 45.58 3544
+-67.268 45.58 3545
+-67.142 45.58 3545
+-67.016 45.58 3504
+-66.89 45.58 3504
+-66.764 45.58 3505
+-66.638 45.58 3505
+-66.512 45.58 3545
+-66.386 45.58 3546
+-66.26 45.58 3546
+-66.134 45.58 3498
+-66.008 45.58 3498
+-65.882 45.58 3499
+-65.756 45.58 3634
+-65.63 45.58 3634
+-65.504 45.58 3635
+-65.378 45.58 3635
+-65.252 45.58 3635
+-65.126 45.58 3567
+-128 45.528 4160
+-127.874 45.528 4124
+-127.748 45.528 4215
+-127.622 45.528 4351
+-127.496 45.528 4508
+-127.37 45.528 4648
+-127.244 45.528 4758
+-127.118 45.528 4912
+-126.992 45.528 5108
+-126.866 45.528 5213
+-126.74 45.528 5310
+-126.614 45.528 5365
+-126.488 45.528 5477
+-126.362 45.528 5594
+-126.236 45.528 5675
+-126.11 45.528 5754
+-125.984 45.528 5922
+-125.858 45.528 6045
+-125.732 45.528 6162
+-125.606 45.528 6296
+-125.48 45.528 6466
+-125.354 45.528 6534
+-125.228 45.528 6692
+-125.102 45.528 6799
+-124.976 45.528 6892
+-124.85 45.528 6970
+-124.724 45.528 7074
+-124.598 45.528 7163
+-124.472 45.528 7255
+-124.346 45.528 7354
+-124.22 45.528 7506
+-124.094 45.528 7564
+-123.968 45.528 7642
+-123.842 45.528 7756
+-123.716 45.528 7776
+-123.59 45.528 7857
+-123.464 45.528 7910
+-123.338 45.528 7974
+-123.212 45.528 7980
+-123.086 45.528 8000
+-122.96 45.528 7977
+-122.834 45.528 8013
+-122.708 45.528 7980
+-122.582 45.528 7962
+-122.456 45.528 7870
+-122.33 45.528 7871
+-122.204 45.528 7793
+-122.078 45.528 7705
+-121.952 45.528 7606
+-121.826 45.528 7534
+-121.7 45.528 7502
+-121.574 45.528 7368
+-121.448 45.528 7299
+-121.322 45.528 7235
+-121.196 45.528 7105
+-121.07 45.528 6955
+-120.944 45.528 6845
+-120.818 45.528 6784
+-120.692 45.528 6729
+-120.566 45.528 6855
+-120.44 45.528 6968
+-120.314 45.528 7099
+-120.188 45.528 7202
+-120.062 45.528 7331
+-119.936 45.528 7458
+-119.81 45.528 7617
+-119.684 45.528 7730
+-119.558 45.528 7824
+-119.432 45.528 7972
+-119.306 45.528 8034
+-119.18 45.528 8145
+-119.054 45.528 8312
+-118.928 45.528 8387
+-118.802 45.528 8502
+-118.676 45.528 8538
+-118.55 45.528 8587
+-118.424 45.528 8622
+-118.298 45.528 8638
+-118.172 45.528 8593
+-118.046 45.528 8555
+-117.92 45.528 8464
+-117.794 45.528 8337
+-117.668 45.528 8291
+-117.542 45.528 8223
+-117.416 45.528 8101
+-117.29 45.528 7980
+-117.164 45.528 7858
+-117.038 45.528 7701
+-116.912 45.528 7604
+-116.786 45.528 7488
+-116.66 45.528 7374
+-116.534 45.528 7289
+-116.408 45.528 7141
+-116.282 45.528 6996
+-116.156 45.528 6877
+-116.03 45.528 6756
+-115.904 45.528 6696
+-115.778 45.528 6526
+-115.652 45.528 6350
+-115.526 45.528 6196
+-115.4 45.528 6101
+-115.274 45.528 5999
+-115.148 45.528 5903
+-115.022 45.528 5797
+-114.896 45.528 5721
+-114.77 45.528 5574
+-114.644 45.528 5361
+-114.518 45.528 5163
+-114.392 45.528 4974
+-114.266 45.528 4868
+-114.14 45.528 4721
+-114.014 45.528 4675
+-113.888 45.528 4674
+-113.762 45.528 4653
+-113.636 45.528 4610
+-113.51 45.528 4529
+-113.384 45.528 4429
+-113.258 45.528 4339
+-113.132 45.528 4234
+-113.006 45.528 4065
+-112.88 45.528 3871
+-112.754 45.528 3639
+-112.628 45.528 3485
+-112.502 45.528 3385
+-112.376 45.528 3356
+-112.25 45.528 3400
+-112.124 45.528 3429
+-111.998 45.528 3434
+-111.872 45.528 3412
+-111.746 45.528 3355
+-111.62 45.528 3347
+-111.494 45.528 3317
+-111.368 45.528 3313
+-111.242 45.528 3261
+-111.116 45.528 3268
+-110.99 45.528 3279
+-110.864 45.528 3292
+-110.738 45.528 3306
+-110.612 45.528 3321
+-110.486 45.528 3336
+-110.36 45.528 3350
+-110.234 45.528 3364
+-110.108 45.528 3377
+-109.982 45.528 3389
+-109.856 45.528 3401
+-109.73 45.528 3411
+-109.604 45.528 3421
+-109.478 45.528 3430
+-109.352 45.528 3439
+-109.226 45.528 3446
+-109.1 45.528 3454
+-108.974 45.528 3460
+-108.848 45.528 3380
+-108.722 45.528 3386
+-108.596 45.528 3391
+-108.47 45.528 3396
+-108.344 45.528 3401
+-108.218 45.528 3405
+-108.092 45.528 3409
+-107.966 45.528 3413
+-107.84 45.528 3385
+-107.714 45.528 3388
+-107.588 45.528 3390
+-107.462 45.528 3393
+-107.336 45.528 3313
+-107.21 45.528 3315
+-107.084 45.528 3317
+-106.958 45.528 3318
+-106.832 45.528 3320
+-106.706 45.528 3301
+-106.58 45.528 3302
+-106.454 45.528 3303
+-106.328 45.528 3304
+-106.202 45.528 3166
+-106.076 45.528 3165
+-105.95 45.528 3164
+-105.824 45.528 3164
+-105.698 45.528 3163
+-105.572 45.528 3162
+-105.446 45.528 3161
+-105.32 45.528 3161
+-105.194 45.528 3151
+-105.068 45.528 3151
+-104.942 45.528 3150
+-104.816 45.528 3149
+-104.69 45.528 3148
+-104.564 45.528 3156
+-104.438 45.528 3153
+-104.312 45.528 2818
+-104.186 45.528 2810
+-104.06 45.528 2816
+-103.934 45.528 2652
+-103.808 45.528 2615
+-103.682 45.528 2626
+-103.556 45.528 2609
+-103.43 45.528 2603
+-103.304 45.528 2632
+-103.178 45.528 2638
+-103.052 45.528 2708
+-102.926 45.528 2765
+-102.8 45.528 2869
+-102.674 45.528 2967
+-102.548 45.528 2981
+-102.422 45.528 3112
+-102.296 45.528 3098
+-102.17 45.528 3057
+-102.044 45.528 3101
+-101.918 45.528 3356
+-101.792 45.528 3389
+-101.666 45.528 3387
+-101.54 45.528 3240
+-101.414 45.528 3239
+-101.288 45.528 3238
+-101.162 45.528 3237
+-101.036 45.528 3236
+-100.91 45.528 3236
+-100.784 45.528 3235
+-100.658 45.528 3209
+-100.532 45.528 3238
+-100.406 45.528 3238
+-100.28 45.528 3269
+-100.154 45.528 3243
+-100.028 45.528 3287
+-99.902 45.528 3197
+-99.776 45.528 3219
+-99.65 45.528 3223
+-99.524 45.528 3205
+-99.398 45.528 3222
+-99.272 45.528 3223
+-99.146 45.528 3226
+-99.02 45.528 3246
+-98.894 45.528 3247
+-98.768 45.528 3247
+-98.642 45.528 3343
+-98.516 45.528 3343
+-98.39 45.528 3343
+-98.264 45.528 3307
+-98.138 45.528 3399
+-98.012 45.528 3407
+-97.886 45.528 3406
+-97.76 45.528 3404
+-97.634 45.528 3404
+-97.508 45.528 3378
+-97.382 45.528 3375
+-97.256 45.528 3306
+-97.13 45.528 3436
+-97.004 45.528 3447
+-96.878 45.528 3411
+-96.752 45.528 3409
+-96.626 45.528 3408
+-96.5 45.528 3419
+-96.374 45.528 3374
+-96.248 45.528 3380
+-96.122 45.528 3375
+-95.996 45.528 3374
+-95.87 45.528 3373
+-95.744 45.528 3372
+-95.618 45.528 3371
+-95.492 45.528 3220
+-95.366 45.528 3241
+-95.24 45.528 3239
+-95.114 45.528 3237
+-94.988 45.528 3222
+-94.862 45.528 3262
+-94.736 45.528 3238
+-94.61 45.528 3235
+-94.484 45.528 3219
+-94.358 45.528 3217
+-94.232 45.528 3148
+-94.106 45.528 3172
+-93.98 45.528 3168
+-93.854 45.528 3164
+-93.728 45.528 3160
+-93.602 45.528 3148
+-93.476 45.528 3144
+-93.35 45.528 3138
+-93.224 45.528 3133
+-93.098 45.528 3127
+-92.972 45.528 3063
+-92.846 45.528 3045
+-92.72 45.528 3021
+-92.594 45.528 2976
+-92.468 45.528 2956
+-92.342 45.528 2934
+-92.216 45.528 2921
+-92.09 45.528 2907
+-91.964 45.528 2883
+-91.838 45.528 2854
+-91.712 45.528 2837
+-91.586 45.528 2820
+-91.46 45.528 2800
+-91.334 45.528 2778
+-91.208 45.528 2755
+-91.082 45.528 2728
+-90.956 45.528 2698
+-90.83 45.528 2663
+-90.704 45.528 2624
+-90.578 45.528 2580
+-90.452 45.528 2532
+-90.326 45.528 2471
+-90.2 45.528 2428
+-90.074 45.528 2396
+-89.948 45.528 2379
+-89.822 45.528 2374
+-89.696 45.528 2365
+-89.57 45.528 2343
+-89.444 45.528 2278
+-89.318 45.528 2193
+-89.192 45.528 2093
+-89.066 45.528 2010
+-88.94 45.528 1979
+-88.814 45.528 2008
+-88.688 45.528 2075
+-88.562 45.528 2158
+-88.436 45.528 2238
+-88.31 45.528 2307
+-88.184 45.528 2339
+-88.058 45.528 2380
+-87.932 45.528 2418
+-87.806 45.528 2438
+-87.68 45.528 2451
+-87.554 45.528 2458
+-87.428 45.528 2478
+-87.302 45.528 2478
+-87.176 45.528 2475
+-87.05 45.528 2470
+-86.924 45.528 2477
+-86.798 45.528 2526
+-86.672 45.528 2519
+-86.546 45.528 2511
+-86.42 45.528 2506
+-86.294 45.528 2500
+-86.168 45.528 2497
+-86.042 45.528 2497
+-85.916 45.528 2489
+-85.79 45.528 2489
+-85.664 45.528 2486
+-85.538 45.528 2487
+-85.412 45.528 2485
+-85.286 45.528 2485
+-85.16 45.528 2485
+-85.034 45.528 2492
+-84.908 45.528 2536
+-84.782 45.528 2539
+-84.656 45.528 2542
+-84.53 45.528 2546
+-84.404 45.528 2556
+-84.278 45.528 2560
+-84.152 45.528 2560
+-84.026 45.528 2565
+-83.9 45.528 2571
+-83.774 45.528 2576
+-83.648 45.528 2566
+-83.522 45.528 2576
+-83.396 45.528 2582
+-83.27 45.528 2671
+-83.144 45.528 2653
+-83.018 45.528 2660
+-82.892 45.528 2750
+-82.766 45.528 2755
+-82.64 45.528 2739
+-82.514 45.528 2781
+-82.388 45.528 2716
+-82.262 45.528 2739
+-82.136 45.528 2782
+-82.01 45.528 2718
+-81.884 45.528 2728
+-81.758 45.528 2662
+-81.632 45.528 2664
+-81.506 45.528 2679
+-81.38 45.528 2666
+-81.254 45.528 2672
+-81.128 45.528 2678
+-81.002 45.528 2636
+-80.876 45.528 2668
+-80.75 45.528 2667
+-80.624 45.528 2663
+-80.498 45.528 2668
+-80.372 45.528 2673
+-80.246 45.528 2678
+-80.12 45.528 2637
+-79.994 45.528 2636
+-79.868 45.528 2641
+-79.742 45.528 2645
+-79.616 45.528 2649
+-79.49 45.528 2650
+-79.364 45.528 2604
+-79.238 45.528 2700
+-79.112 45.528 2700
+-78.986 45.528 2708
+-78.86 45.528 2711
+-78.734 45.528 2714
+-78.608 45.528 2717
+-78.482 45.528 2739
+-78.356 45.528 2723
+-78.23 45.528 2780
+-78.104 45.528 2783
+-77.978 45.528 2777
+-77.852 45.528 2786
+-77.726 45.528 2789
+-77.6 45.528 2792
+-77.474 45.528 2783
+-77.348 45.528 2895
+-77.222 45.528 2897
+-77.096 45.528 2900
+-76.97 45.528 2903
+-76.844 45.528 3002
+-76.718 45.528 2961
+-76.592 45.528 3111
+-76.466 45.528 3113
+-76.34 45.528 3080
+-76.214 45.528 3081
+-76.088 45.528 3083
+-75.962 45.528 3084
+-75.836 45.528 3086
+-75.71 45.528 3087
+-75.584 45.528 3175
+-75.458 45.528 3172
+-75.332 45.528 3173
+-75.206 45.528 3175
+-75.08 45.528 3177
+-74.954 45.528 3124
+-74.828 45.528 3156
+-74.702 45.528 3158
+-74.576 45.528 3228
+-74.45 45.528 3145
+-74.324 45.528 3146
+-74.198 45.528 3148
+-74.072 45.528 3193
+-73.946 45.528 3150
+-73.82 45.528 3152
+-73.694 45.528 3153
+-73.568 45.528 3380
+-73.442 45.528 3329
+-73.316 45.528 3330
+-73.19 45.528 3459
+-73.064 45.528 3433
+-72.938 45.528 3434
+-72.812 45.528 3382
+-72.686 45.528 3455
+-72.56 45.528 3456
+-72.434 45.528 3457
+-72.308 45.528 3458
+-72.182 45.528 3459
+-72.056 45.528 3458
+-71.93 45.528 3459
+-71.804 45.528 3460
+-71.678 45.528 3449
+-71.552 45.528 3397
+-71.426 45.528 3392
+-71.3 45.528 3393
+-71.174 45.528 3393
+-71.048 45.528 3394
+-70.922 45.528 3395
+-70.796 45.528 3395
+-70.67 45.528 3396
+-70.544 45.528 3397
+-70.418 45.528 3398
+-70.292 45.528 3398
+-70.166 45.528 3399
+-70.04 45.528 3400
+-69.914 45.528 3400
+-69.788 45.528 3401
+-69.662 45.528 3401
+-69.536 45.528 3513
+-69.41 45.528 3514
+-69.284 45.528 3498
+-69.158 45.528 3499
+-69.032 45.528 3499
+-68.906 45.528 3500
+-68.78 45.528 3500
+-68.654 45.528 3501
+-68.528 45.528 3501
+-68.402 45.528 3502
+-68.276 45.528 3502
+-68.15 45.528 3503
+-68.024 45.528 3503
+-67.898 45.528 3542
+-67.772 45.528 3543
+-67.646 45.528 3543
+-67.52 45.528 3544
+-67.394 45.528 3544
+-67.268 45.528 3545
+-67.142 45.528 3504
+-67.016 45.528 3504
+-66.89 45.528 3504
+-66.764 45.528 3505
+-66.638 45.528 3544
+-66.512 45.528 3545
+-66.386 45.528 3546
+-66.26 45.528 3497
+-66.134 45.528 3498
+-66.008 45.528 3498
+-65.882 45.528 3634
+-65.756 45.528 3634
+-65.63 45.528 3634
+-65.504 45.528 3635
+-65.378 45.528 3635
+-65.252 45.528 3567
+-65.126 45.528 3567
+-128 45.476 4135
+-127.874 45.476 4106
+-127.748 45.476 4161
+-127.622 45.476 4284
+-127.496 45.476 4457
+-127.37 45.476 4600
+-127.244 45.476 4749
+-127.118 45.476 4877
+-126.992 45.476 5044
+-126.866 45.476 5160
+-126.74 45.476 5261
+-126.614 45.476 5289
+-126.488 45.476 5401
+-126.362 45.476 5539
+-126.236 45.476 5664
+-126.11 45.476 5738
+-125.984 45.476 5868
+-125.858 45.476 6025
+-125.732 45.476 6182
+-125.606 45.476 6248
+-125.48 45.476 6388
+-125.354 45.476 6549
+-125.228 45.476 6645
+-125.102 45.476 6700
+-124.976 45.476 6863
+-124.85 45.476 6958
+-124.724 45.476 7051
+-124.598 45.476 7110
+-124.472 45.476 7219
+-124.346 45.476 7374
+-124.22 45.476 7450
+-124.094 45.476 7536
+-123.968 45.476 7649
+-123.842 45.476 7643
+-123.716 45.476 7723
+-123.59 45.476 7787
+-123.464 45.476 7811
+-123.338 45.476 7893
+-123.212 45.476 7908
+-123.086 45.476 7926
+-122.96 45.476 7919
+-122.834 45.476 7919
+-122.708 45.476 7940
+-122.582 45.476 7891
+-122.456 45.476 7857
+-122.33 45.476 7765
+-122.204 45.476 7737
+-122.078 45.476 7651
+-121.952 45.476 7619
+-121.826 45.476 7510
+-121.7 45.476 7440
+-121.574 45.476 7331
+-121.448 45.476 7274
+-121.322 45.476 7180
+-121.196 45.476 7059
+-121.07 45.476 6898
+-120.944 45.476 6794
+-120.818 45.476 6740
+-120.692 45.476 6712
+-120.566 45.476 6781
+-120.44 45.476 6996
+-120.314 45.476 7103
+-120.188 45.476 7170
+-120.062 45.476 7355
+-119.936 45.476 7456
+-119.81 45.476 7537
+-119.684 45.476 7752
+-119.558 45.476 7814
+-119.432 45.476 7929
+-119.306 45.476 7996
+-119.18 45.476 8139
+-119.054 45.476 8225
+-118.928 45.476 8343
+-118.802 45.476 8413
+-118.676 45.476 8491
+-118.55 45.476 8536
+-118.424 45.476 8566
+-118.298 45.476 8591
+-118.172 45.476 8545
+-118.046 45.476 8534
+-117.92 45.476 8431
+-117.794 45.476 8364
+-117.668 45.476 8292
+-117.542 45.476 8172
+-117.416 45.476 8069
+-117.29 45.476 7966
+-117.164 45.476 7804
+-117.038 45.476 7689
+-116.912 45.476 7528
+-116.786 45.476 7502
+-116.66 45.476 7372
+-116.534 45.476 7257
+-116.408 45.476 7105
+-116.282 45.476 6948
+-116.156 45.476 6884
+-116.03 45.476 6791
+-115.904 45.476 6675
+-115.778 45.476 6476
+-115.652 45.476 6269
+-115.526 45.476 6233
+-115.4 45.476 6105
+-115.274 45.476 5978
+-115.148 45.476 5879
+-115.022 45.476 5788
+-114.896 45.476 5666
+-114.77 45.476 5488
+-114.644 45.476 5280
+-114.518 45.476 5116
+-114.392 45.476 4985
+-114.266 45.476 4879
+-114.14 45.476 4752
+-114.014 45.476 4696
+-113.888 45.476 4677
+-113.762 45.476 4633
+-113.636 45.476 4570
+-113.51 45.476 4493
+-113.384 45.476 4398
+-113.258 45.476 4290
+-113.132 45.476 4183
+-113.006 45.476 4052
+-112.88 45.476 3829
+-112.754 45.476 3537
+-112.628 45.476 3308
+-112.502 45.476 3195
+-112.376 45.476 3244
+-112.25 45.476 3322
+-112.124 45.476 3389
+-111.998 45.476 3405
+-111.872 45.476 3390
+-111.746 45.476 3370
+-111.62 45.476 3270
+-111.494 45.476 3259
+-111.368 45.476 3256
+-111.242 45.476 3202
+-111.116 45.476 3214
+-110.99 45.476 3231
+-110.864 45.476 3250
+-110.738 45.476 3271
+-110.612 45.476 3291
+-110.486 45.476 3310
+-110.36 45.476 3329
+-110.234 45.476 3346
+-110.108 45.476 3361
+-109.982 45.476 3376
+-109.856 45.476 3389
+-109.73 45.476 3401
+-109.604 45.476 3412
+-109.478 45.476 3422
+-109.352 45.476 3432
+-109.226 45.476 3440
+-109.1 45.476 3448
+-108.974 45.476 3456
+-108.848 45.476 3372
+-108.722 45.476 3379
+-108.596 45.476 3385
+-108.47 45.476 3390
+-108.344 45.476 3395
+-108.218 45.476 3400
+-108.092 45.476 3404
+-107.966 45.476 3408
+-107.84 45.476 3412
+-107.714 45.476 3416
+-107.588 45.476 3387
+-107.462 45.476 3308
+-107.336 45.476 3310
+-107.21 45.476 3312
+-107.084 45.476 3314
+-106.958 45.476 3315
+-106.832 45.476 3317
+-106.706 45.476 3318
+-106.58 45.476 3300
+-106.454 45.476 3301
+-106.328 45.476 3302
+-106.202 45.476 3154
+-106.076 45.476 3164
+-105.95 45.476 3163
+-105.824 45.476 3162
+-105.698 45.476 3162
+-105.572 45.476 3161
+-105.446 45.476 3160
+-105.32 45.476 3160
+-105.194 45.476 3150
+-105.068 45.476 3149
+-104.942 45.476 3149
+-104.816 45.476 3148
+-104.69 45.476 3147
+-104.564 45.476 3155
+-104.438 45.476 2844
+-104.312 45.476 2814
+-104.186 45.476 2806
+-104.06 45.476 2811
+-103.934 45.476 2649
+-103.808 45.476 2612
+-103.682 45.476 2623
+-103.556 45.476 2608
+-103.43 45.476 2603
+-103.304 45.476 2633
+-103.178 45.476 2639
+-103.052 45.476 2709
+-102.926 45.476 2765
+-102.8 45.476 2869
+-102.674 45.476 2966
+-102.548 45.476 3087
+-102.422 45.476 3098
+-102.296 45.476 3109
+-102.17 45.476 3096
+-102.044 45.476 3055
+-101.918 45.476 3099
+-101.792 45.476 3353
+-101.666 45.476 3386
+-101.54 45.476 3384
+-101.414 45.476 3238
+-101.288 45.476 3237
+-101.162 45.476 3236
+-101.036 45.476 3235
+-100.91 45.476 3234
+-100.784 45.476 3233
+-100.658 45.476 3233
+-100.532 45.476 3207
+-100.406 45.476 3236
+-100.28 45.476 3236
+-100.154 45.476 3266
+-100.028 45.476 3240
+-99.902 45.476 3285
+-99.776 45.476 3195
+-99.65 45.476 3217
+-99.524 45.476 3221
+-99.398 45.476 3203
+-99.272 45.476 3221
+-99.146 45.476 3221
+-99.02 45.476 3224
+-98.894 45.476 3244
+-98.768 45.476 3245
+-98.642 45.476 3245
+-98.516 45.476 3341
+-98.39 45.476 3341
+-98.264 45.476 3341
+-98.138 45.476 3306
+-98.012 45.476 3397
+-97.886 45.476 3404
+-97.76 45.476 3404
+-97.634 45.476 3402
+-97.508 45.476 3401
+-97.382 45.476 3376
+-97.256 45.476 3373
+-97.13 45.476 3305
+-97.004 45.476 3433
+-96.878 45.476 3445
+-96.752 45.476 3408
+-96.626 45.476 3407
+-96.5 45.476 3406
+-96.374 45.476 3416
+-96.248 45.476 3371
+-96.122 45.476 3377
+-95.996 45.476 3376
+-95.87 45.476 3371
+-95.744 45.476 3370
+-95.618 45.476 3369
+-95.492 45.476 3368
+-95.366 45.476 3222
+-95.24 45.476 3243
+-95.114 45.476 3241
+-94.988 45.476 3239
+-94.862 45.476 3225
+-94.736 45.476 3264
+-94.61 45.476 3241
+-94.484 45.476 3238
+-94.358 45.476 3222
+-94.232 45.476 3220
+-94.106 45.476 3153
+-93.98 45.476 3177
+-93.854 45.476 3174
+-93.728 45.476 3171
+-93.602 45.476 3167
+-93.476 45.476 3156
+-93.35 45.476 3151
+-93.224 45.476 3147
+-93.098 45.476 3142
+-92.972 45.476 3137
+-92.846 45.476 3074
+-92.72 45.476 3057
+-92.594 45.476 3035
+-92.468 45.476 2991
+-92.342 45.476 2972
+-92.216 45.476 2950
+-92.09 45.476 2938
+-91.964 45.476 2924
+-91.838 45.476 2901
+-91.712 45.476 2872
+-91.586 45.476 2855
+-91.46 45.476 2836
+-91.334 45.476 2814
+-91.208 45.476 2790
+-91.082 45.476 2761
+-90.956 45.476 2727
+-90.83 45.476 2688
+-90.704 45.476 2642
+-90.578 45.476 2588
+-90.452 45.476 2528
+-90.326 45.476 2464
+-90.2 45.476 2397
+-90.074 45.476 2354
+-89.948 45.476 2336
+-89.822 45.476 2343
+-89.696 45.476 2358
+-89.57 45.476 2350
+-89.444 45.476 2312
+-89.318 45.476 2223
+-89.192 45.476 2126
+-89.066 45.476 2044
+-88.94 45.476 2011
+-88.814 45.476 2039
+-88.688 45.476 2104
+-88.562 45.476 2185
+-88.436 45.476 2264
+-88.31 45.476 2330
+-88.184 45.476 2360
+-88.058 45.476 2407
+-87.932 45.476 2433
+-87.806 45.476 2450
+-87.68 45.476 2460
+-87.554 45.476 2481
+-87.428 45.476 2482
+-87.302 45.476 2479
+-87.176 45.476 2474
+-87.05 45.476 2480
+-86.924 45.476 2525
+-86.798 45.476 2517
+-86.672 45.476 2508
+-86.546 45.476 2501
+-86.42 45.476 2493
+-86.294 45.476 2490
+-86.168 45.476 2488
+-86.042 45.476 2479
+-85.916 45.476 2478
+-85.79 45.476 2474
+-85.664 45.476 2474
+-85.538 45.476 2472
+-85.412 45.476 2471
+-85.286 45.476 2471
+-85.16 45.476 2477
+-85.034 45.476 2519
+-84.908 45.476 2522
+-84.782 45.476 2525
+-84.656 45.476 2529
+-84.53 45.476 2539
+-84.404 45.476 2543
+-84.278 45.476 2544
+-84.152 45.476 2550
+-84.026 45.476 2556
+-83.9 45.476 2562
+-83.774 45.476 2552
+-83.648 45.476 2563
+-83.522 45.476 2569
+-83.396 45.476 2656
+-83.27 45.476 2639
+-83.144 45.476 2646
+-83.018 45.476 2734
+-82.892 45.476 2741
+-82.766 45.476 2726
+-82.64 45.476 2767
+-82.514 45.476 2704
+-82.388 45.476 2727
+-82.262 45.476 2769
+-82.136 45.476 2707
+-82.01 45.476 2718
+-81.884 45.476 2654
+-81.758 45.476 2656
+-81.632 45.476 2671
+-81.506 45.476 2658
+-81.38 45.476 2665
+-81.254 45.476 2671
+-81.128 45.476 2631
+-81.002 45.476 2662
+-80.876 45.476 2661
+-80.75 45.476 2658
+-80.624 45.476 2664
+-80.498 45.476 2669
+-80.372 45.476 2674
+-80.246 45.476 2634
+-80.12 45.476 2633
+-79.994 45.476 2638
+-79.868 45.476 2642
+-79.742 45.476 2646
+-79.616 45.476 2647
+-79.49 45.476 2601
+-79.364 45.476 2698
+-79.238 45.476 2697
+-79.112 45.476 2705
+-78.986 45.476 2709
+-78.86 45.476 2712
+-78.734 45.476 2715
+-78.608 45.476 2737
+-78.482 45.476 2721
+-78.356 45.476 2778
+-78.23 45.476 2781
+-78.104 45.476 2776
+-77.978 45.476 2784
+-77.852 45.476 2787
+-77.726 45.476 2790
+-77.6 45.476 2781
+-77.474 45.476 2893
+-77.348 45.476 2896
+-77.222 45.476 2898
+-77.096 45.476 2901
+-76.97 45.476 3000
+-76.844 45.476 2959
+-76.718 45.476 3110
+-76.592 45.476 3111
+-76.466 45.476 3079
+-76.34 45.476 3080
+-76.214 45.476 3082
+-76.088 45.476 3083
+-75.962 45.476 3084
+-75.836 45.476 3086
+-75.71 45.476 3174
+-75.584 45.476 3170
+-75.458 45.476 3172
+-75.332 45.476 3174
+-75.206 45.476 3175
+-75.08 45.476 3123
+-74.954 45.476 3155
+-74.828 45.476 3157
+-74.702 45.476 3227
+-74.576 45.476 3144
+-74.45 45.476 3145
+-74.324 45.476 3147
+-74.198 45.476 3191
+-74.072 45.476 3149
+-73.946 45.476 3151
+-73.82 45.476 3152
+-73.694 45.476 3379
+-73.568 45.476 3328
+-73.442 45.476 3329
+-73.316 45.476 3458
+-73.19 45.476 3432
+-73.064 45.476 3433
+-72.938 45.476 3381
+-72.812 45.476 3454
+-72.686 45.476 3455
+-72.56 45.476 3456
+-72.434 45.476 3457
+-72.308 45.476 3458
+-72.182 45.476 3457
+-72.056 45.476 3458
+-71.93 45.476 3459
+-71.804 45.476 3448
+-71.678 45.476 3397
+-71.552 45.476 3391
+-71.426 45.476 3392
+-71.3 45.476 3393
+-71.174 45.476 3394
+-71.048 45.476 3394
+-70.922 45.476 3395
+-70.796 45.476 3396
+-70.67 45.476 3396
+-70.544 45.476 3397
+-70.418 45.476 3398
+-70.292 45.476 3398
+-70.166 45.476 3399
+-70.04 45.476 3400
+-69.914 45.476 3400
+-69.788 45.476 3401
+-69.662 45.476 3513
+-69.536 45.476 3513
+-69.41 45.476 3498
+-69.284 45.476 3498
+-69.158 45.476 3499
+-69.032 45.476 3500
+-68.906 45.476 3500
+-68.78 45.476 3501
+-68.654 45.476 3501
+-68.528 45.476 3502
+-68.402 45.476 3502
+-68.276 45.476 3502
+-68.15 45.476 3503
+-68.024 45.476 3542
+-67.898 45.476 3542
+-67.772 45.476 3543
+-67.646 45.476 3543
+-67.52 45.476 3544
+-67.394 45.476 3545
+-67.268 45.476 3503
+-67.142 45.476 3504
+-67.016 45.476 3504
+-66.89 45.476 3505
+-66.764 45.476 3544
+-66.638 45.476 3545
+-66.512 45.476 3545
+-66.386 45.476 3497
+-66.26 45.476 3498
+-66.134 45.476 3498
+-66.008 45.476 3634
+-65.882 45.476 3634
+-65.756 45.476 3634
+-65.63 45.476 3634
+-65.504 45.476 3635
+-65.378 45.476 3567
+-65.252 45.476 3567
+-65.126 45.476 3567
+-128 45.424 4094
+-127.874 45.424 3961
+-127.748 45.424 4102
+-127.622 45.424 4232
+-127.496 45.424 4446
+-127.37 45.424 4598
+-127.244 45.424 4708
+-127.118 45.424 4792
+-126.992 45.424 4930
+-126.866 45.424 5096
+-126.74 45.424 5224
+-126.614 45.424 5270
+-126.488 45.424 5381
+-126.362 45.424 5458
+-126.236 45.424 5629
+-126.11 45.424 5788
+-125.984 45.424 5877
+-125.858 45.424 5952
+-125.732 45.424 6113
+-125.606 45.424 6262
+-125.48 45.424 6329
+-125.354 45.424 6492
+-125.228 45.424 6527
+-125.102 45.424 6697
+-124.976 45.424 6798
+-124.85 45.424 6929
+-124.724 45.424 6997
+-124.598 45.424 7111
+-124.472 45.424 7188
+-124.346 45.424 7328
+-124.22 45.424 7440
+-124.094 45.424 7488
+-123.968 45.424 7544
+-123.842 45.424 7662
+-123.716 45.424 7708
+-123.59 45.424 7759
+-123.464 45.424 7796
+-123.338 45.424 7840
+-123.212 45.424 7859
+-123.086 45.424 7900
+-122.96 45.424 7901
+-122.834 45.424 7845
+-122.708 45.424 7853
+-122.582 45.424 7838
+-122.456 45.424 7814
+-122.33 45.424 7775
+-122.204 45.424 7694
+-122.078 45.424 7638
+-121.952 45.424 7583
+-121.826 45.424 7477
+-121.7 45.424 7391
+-121.574 45.424 7308
+-121.448 45.424 7230
+-121.322 45.424 7144
+-121.196 45.424 7004
+-121.07 45.424 6882
+-120.944 45.424 6825
+-120.818 45.424 6550
+-120.692 45.424 6661
+-120.566 45.424 6808
+-120.44 45.424 6934
+-120.314 45.424 7096
+-120.188 45.424 7219
+-120.062 45.424 7340
+-119.936 45.424 7487
+-119.81 45.424 7499
+-119.684 45.424 7677
+-119.558 45.424 7767
+-119.432 45.424 7864
+-119.306 45.424 7955
+-119.18 45.424 8098
+-119.054 45.424 8176
+-118.928 45.424 8270
+-118.802 45.424 8400
+-118.676 45.424 8412
+-118.55 45.424 8491
+-118.424 45.424 8507
+-118.298 45.424 8509
+-118.172 45.424 8493
+-118.046 45.424 8459
+-117.92 45.424 8372
+-117.794 45.424 8289
+-117.668 45.424 8227
+-117.542 45.424 8135
+-117.416 45.424 8052
+-117.29 45.424 7962
+-117.164 45.424 7798
+-117.038 45.424 7650
+-116.912 45.424 7526
+-116.786 45.424 7437
+-116.66 45.424 7344
+-116.534 45.424 7235
+-116.408 45.424 7066
+-116.282 45.424 6920
+-116.156 45.424 6860
+-116.03 45.424 6766
+-115.904 45.424 6627
+-115.778 45.424 6496
+-115.652 45.424 6353
+-115.526 45.424 6234
+-115.4 45.424 6083
+-115.274 45.424 5966
+-115.148 45.424 5747
+-115.022 45.424 5752
+-114.896 45.424 5581
+-114.77 45.424 5402
+-114.644 45.424 5285
+-114.518 45.424 5073
+-114.392 45.424 4970
+-114.266 45.424 4918
+-114.14 45.424 4756
+-114.014 45.424 4679
+-113.888 45.424 4626
+-113.762 45.424 4536
+-113.636 45.424 4505
+-113.51 45.424 4446
+-113.384 45.424 4381
+-113.258 45.424 4308
+-113.132 45.424 4151
+-113.006 45.424 3991
+-112.88 45.424 3742
+-112.754 45.424 3498
+-112.628 45.424 3216
+-112.502 45.424 3088
+-112.376 45.424 3179
+-112.25 45.424 3290
+-112.124 45.424 3352
+-111.998 45.424 3371
+-111.872 45.424 3342
+-111.746 45.424 3312
+-111.62 45.424 3197
+-111.494 45.424 3175
+-111.368 45.424 3164
+-111.242 45.424 3129
+-111.116 45.424 3149
+-110.99 45.424 3175
+-110.864 45.424 3204
+-110.738 45.424 3232
+-110.612 45.424 3259
+-110.486 45.424 3284
+-110.36 45.424 3306
+-110.234 45.424 3327
+-110.108 45.424 3346
+-109.982 45.424 3362
+-109.856 45.424 3378
+-109.73 45.424 3391
+-109.604 45.424 3404
+-109.478 45.424 3415
+-109.352 45.424 3425
+-109.226 45.424 3435
+-109.1 45.424 3443
+-108.974 45.424 3451
+-108.848 45.424 3458
+-108.722 45.424 3372
+-108.596 45.424 3378
+-108.47 45.424 3367
+-108.344 45.424 3372
+-108.218 45.424 3377
+-108.092 45.424 3381
+-107.966 45.424 3385
+-107.84 45.424 3389
+-107.714 45.424 3393
+-107.588 45.424 3302
+-107.462 45.424 3304
+-107.336 45.424 3306
+-107.21 45.424 3308
+-107.084 45.424 3310
+-106.958 45.424 3312
+-106.832 45.424 3314
+-106.706 45.424 3281
+-106.58 45.424 3282
+-106.454 45.424 3283
+-106.328 45.424 3151
+-106.202 45.424 3151
+-106.076 45.424 3150
+-105.95 45.424 3149
+-105.824 45.424 3149
+-105.698 45.424 3148
+-105.572 45.424 3147
+-105.446 45.424 3147
+-105.32 45.424 3146
+-105.194 45.424 3145
+-105.068 45.424 3144
+-104.942 45.424 3144
+-104.816 45.424 3128
+-104.69 45.424 3127
+-104.564 45.424 3122
+-104.438 45.424 2840
+-104.312 45.424 2809
+-104.186 45.424 2801
+-104.06 45.424 2786
+-103.934 45.424 2645
+-103.808 45.424 2609
+-103.682 45.424 2570
+-103.556 45.424 2544
+-103.43 45.424 2550
+-103.304 45.424 2633
+-103.178 45.424 2570
+-103.052 45.424 2641
+-102.926 45.424 2697
+-102.8 45.424 2869
+-102.674 45.424 2965
+-102.548 45.424 3085
+-102.422 45.424 3085
+-102.296 45.424 3085
+-102.17 45.424 3107
+-102.044 45.424 3094
+-101.918 45.424 3053
+-101.792 45.424 3097
+-101.666 45.424 3350
+-101.54 45.424 3383
+-101.414 45.424 3381
+-101.288 45.424 3236
+-101.162 45.424 3235
+-101.036 45.424 3234
+-100.91 45.424 3233
+-100.784 45.424 3232
+-100.658 45.424 3231
+-100.532 45.424 3230
+-100.406 45.424 3205
+-100.28 45.424 3234
+-100.154 45.424 3233
+-100.028 45.424 3264
+-99.902 45.424 3238
+-99.776 45.424 3282
+-99.65 45.424 3194
+-99.524 45.424 3215
+-99.398 45.424 3219
+-99.272 45.424 3202
+-99.146 45.424 3219
+-99.02 45.424 3219
+-98.894 45.424 3222
+-98.768 45.424 3242
+-98.642 45.424 3243
+-98.516 45.424 3244
+-98.39 45.424 3338
+-98.264 45.424 3338
+-98.138 45.424 3339
+-98.012 45.424 3304
+-97.886 45.424 3395
+-97.76 45.424 3402
+-97.634 45.424 3401
+-97.508 45.424 3399
+-97.382 45.424 3399
+-97.256 45.424 3374
+-97.13 45.424 3371
+-97.004 45.424 3304
+-96.878 45.424 3431
+-96.752 45.424 3442
+-96.626 45.424 3406
+-96.5 45.424 3404
+-96.374 45.424 3403
+-96.248 45.424 3413
+-96.122 45.424 3369
+-95.996 45.424 3375
+-95.87 45.424 3369
+-95.744 45.424 3368
+-95.618 45.424 3367
+-95.492 45.424 3366
+-95.366 45.424 3365
+-95.24 45.424 3224
+-95.114 45.424 3245
+-94.988 45.424 3243
+-94.862 45.424 3242
+-94.736 45.424 3227
+-94.61 45.424 3266
+-94.484 45.424 3243
+-94.358 45.424 3241
+-94.232 45.424 3226
+-94.106 45.424 3224
+-93.98 45.424 3158
+-93.854 45.424 3183
+-93.728 45.424 3180
+-93.602 45.424 3177
+-93.476 45.424 3174
+-93.35 45.424 3163
+-93.224 45.424 3160
+-93.098 45.424 3156
+-92.972 45.424 3152
+-92.846 45.424 3147
+-92.72 45.424 3087
+-92.594 45.424 3071
+-92.468 45.424 3049
+-92.342 45.424 3006
+-92.216 45.424 2987
+-92.09 45.424 2967
+-91.964 45.424 2955
+-91.838 45.424 2941
+-91.712 45.424 2918
+-91.586 45.424 2888
+-91.46 45.424 2870
+-91.334 45.424 2849
+-91.208 45.424 2823
+-91.082 45.424 2794
+-90.956 45.424 2758
+-90.83 45.424 2715
+-90.704 45.424 2663
+-90.578 45.424 2601
+-90.452 45.424 2530
+-90.326 45.424 2451
+-90.2 45.424 2374
+-90.074 45.424 2313
+-89.948 45.424 2291
+-89.822 45.424 2308
+-89.696 45.424 2345
+-89.57 45.424 2367
+-89.444 45.424 2345
+-89.318 45.424 2289
+-89.192 45.424 2200
+-89.066 45.424 2132
+-88.94 45.424 2103
+-88.814 45.424 2123
+-88.688 45.424 2173
+-88.562 45.424 2242
+-88.436 45.424 2309
+-88.31 45.424 2347
+-88.184 45.424 2398
+-88.058 45.424 2430
+-87.932 45.424 2452
+-87.806 45.424 2465
+-87.68 45.424 2487
+-87.554 45.424 2489
+-87.428 45.424 2486
+-87.302 45.424 2481
+-87.176 45.424 2485
+-87.05 45.424 2526
+-86.924 45.424 2516
+-86.798 45.424 2505
+-86.672 45.424 2497
+-86.546 45.424 2487
+-86.42 45.424 2482
+-86.294 45.424 2479
+-86.168 45.424 2468
+-86.042 45.424 2466
+-85.916 45.424 2461
+-85.79 45.424 2460
+-85.664 45.424 2458
+-85.538 45.424 2456
+-85.412 45.424 2455
+-85.286 45.424 2461
+-85.16 45.424 2501
+-85.034 45.424 2504
+-84.908 45.424 2507
+-84.782 45.424 2511
+-84.656 45.424 2520
+-84.53 45.424 2525
+-84.404 45.424 2527
+-84.278 45.424 2533
+-84.152 45.424 2539
+-84.026 45.424 2545
+-83.9 45.424 2537
+-83.774 45.424 2548
+-83.648 45.424 2555
+-83.522 45.424 2640
+-83.396 45.424 2624
+-83.27 45.424 2632
+-83.144 45.424 2718
+-83.018 45.424 2725
+-82.892 45.424 2711
+-82.766 45.424 2752
+-82.64 45.424 2692
+-82.514 45.424 2714
+-82.388 45.424 2756
+-82.262 45.424 2696
+-82.136 45.424 2707
+-82.01 45.424 2645
+-81.884 45.424 2648
+-81.758 45.424 2663
+-81.632 45.424 2651
+-81.506 45.424 2658
+-81.38 45.424 2664
+-81.254 45.424 2625
+-81.128 45.424 2656
+-81.002 45.424 2656
+-80.876 45.424 2653
+-80.75 45.424 2659
+-80.624 45.424 2664
+-80.498 45.424 2669
+-80.372 45.424 2630
+-80.246 45.424 2630
+-80.12 45.424 2634
+-79.994 45.424 2639
+-79.868 45.424 2643
+-79.742 45.424 2644
+-79.616 45.424 2599
+-79.49 45.424 2695
+-79.364 45.424 2695
+-79.238 45.424 2703
+-79.112 45.424 2706
+-78.986 45.424 2710
+-78.86 45.424 2713
+-78.734 45.424 2735
+-78.608 45.424 2720
+-78.482 45.424 2775
+-78.356 45.424 2779
+-78.23 45.424 2774
+-78.104 45.424 2782
+-77.978 45.424 2785
+-77.852 45.424 2788
+-77.726 45.424 2780
+-77.6 45.424 2891
+-77.474 45.424 2894
+-77.348 45.424 2897
+-77.222 45.424 2900
+-77.096 45.424 2999
+-76.97 45.424 2958
+-76.844 45.424 3108
+-76.718 45.424 3110
+-76.592 45.424 3078
+-76.466 45.424 3079
+-76.34 45.424 3081
+-76.214 45.424 3082
+-76.088 45.424 3083
+-75.962 45.424 3085
+-75.836 45.424 3172
+-75.71 45.424 3169
+-75.584 45.424 3171
+-75.458 45.424 3173
+-75.332 45.424 3174
+-75.206 45.424 3122
+-75.08 45.424 3154
+-74.954 45.424 3156
+-74.828 45.424 3225
+-74.702 45.424 3143
+-74.576 45.424 3144
+-74.45 45.424 3146
+-74.324 45.424 3190
+-74.198 45.424 3148
+-74.072 45.424 3150
+-73.946 45.424 3151
+-73.82 45.424 3378
+-73.694 45.424 3327
+-73.568 45.424 3328
+-73.442 45.424 3457
+-73.316 45.424 3431
+-73.19 45.424 3432
+-73.064 45.424 3381
+-72.938 45.424 3453
+-72.812 45.424 3454
+-72.686 45.424 3455
+-72.56 45.424 3456
+-72.434 45.424 3457
+-72.308 45.424 3456
+-72.182 45.424 3457
+-72.056 45.424 3458
+-71.93 45.424 3447
+-71.804 45.424 3396
+-71.678 45.424 3391
+-71.552 45.424 3391
+-71.426 45.424 3392
+-71.3 45.424 3393
+-71.174 45.424 3394
+-71.048 45.424 3394
+-70.922 45.424 3395
+-70.796 45.424 3396
+-70.67 45.424 3397
+-70.544 45.424 3397
+-70.418 45.424 3398
+-70.292 45.424 3399
+-70.166 45.424 3399
+-70.04 45.424 3400
+-69.914 45.424 3401
+-69.788 45.424 3512
+-69.662 45.424 3513
+-69.536 45.424 3498
+-69.41 45.424 3498
+-69.284 45.424 3499
+-69.158 45.424 3499
+-69.032 45.424 3500
+-68.906 45.424 3500
+-68.78 45.424 3501
+-68.654 45.424 3501
+-68.528 45.424 3502
+-68.402 45.424 3502
+-68.276 45.424 3503
+-68.15 45.424 3541
+-68.024 45.424 3542
+-67.898 45.424 3542
+-67.772 45.424 3543
+-67.646 45.424 3544
+-67.52 45.424 3544
+-67.394 45.424 3503
+-67.268 45.424 3503
+-67.142 45.424 3504
+-67.016 45.424 3504
+-66.89 45.424 3544
+-66.764 45.424 3544
+-66.638 45.424 3545
+-66.512 45.424 3497
+-66.386 45.424 3497
+-66.26 45.424 3498
+-66.134 45.424 3634
+-66.008 45.424 3634
+-65.882 45.424 3634
+-65.756 45.424 3634
+-65.63 45.424 3634
+-65.504 45.424 3567
+-65.378 45.424 3567
+-65.252 45.424 3567
+-65.126 45.424 3567
+-128 45.372 4160
+-127.874 45.372 4112
+-127.748 45.372 4172
+-127.622 45.372 4316
+-127.496 45.372 4487
+-127.37 45.372 4592
+-127.244 45.372 4670
+-127.118 45.372 4742
+-126.992 45.372 4869
+-126.866 45.372 4970
+-126.74 45.372 5125
+-126.614 45.372 5269
+-126.488 45.372 5370
+-126.362 45.372 5486
+-126.236 45.372 5631
+-126.11 45.372 5787
+-125.984 45.372 5891
+-125.858 45.372 5989
+-125.732 45.372 6086
+-125.606 45.372 6212
+-125.48 45.372 6298
+-125.354 45.372 6471
+-125.228 45.372 6556
+-125.102 45.372 6642
+-124.976 45.372 6769
+-124.85 45.372 6865
+-124.724 45.372 6971
+-124.598 45.372 7072
+-124.472 45.372 7178
+-124.346 45.372 7281
+-124.22 45.372 7376
+-124.094 45.372 7487
+-123.968 45.372 7516
+-123.842 45.372 7583
+-123.716 45.372 7649
+-123.59 45.372 7700
+-123.464 45.372 7729
+-123.338 45.372 7780
+-123.212 45.372 7813
+-123.086 45.372 7832
+-122.96 45.372 7831
+-122.834 45.372 7807
+-122.708 45.372 7811
+-122.582 45.372 7773
+-122.456 45.372 7743
+-122.33 45.372 7703
+-122.204 45.372 7620
+-122.078 45.372 7557
+-121.952 45.372 7496
+-121.826 45.372 7449
+-121.7 45.372 7362
+-121.574 45.372 7276
+-121.448 45.372 7160
+-121.322 45.372 7066
+-121.196 45.372 6971
+-121.07 45.372 6835
+-120.944 45.372 6716
+-120.818 45.372 6499
+-120.692 45.372 6643
+-120.566 45.372 6797
+-120.44 45.372 6956
+-120.314 45.372 7045
+-120.188 45.372 7173
+-120.062 45.372 7218
+-119.936 45.372 7407
+-119.81 45.372 7492
+-119.684 45.372 7659
+-119.558 45.372 7755
+-119.432 45.372 7831
+-119.306 45.372 7944
+-119.18 45.372 8093
+-119.054 45.372 8166
+-118.928 45.372 8266
+-118.802 45.372 8338
+-118.676 45.372 8406
+-118.55 45.372 8423
+-118.424 45.372 8478
+-118.298 45.372 8452
+-118.172 45.372 8459
+-118.046 45.372 8420
+-117.92 45.372 8349
+-117.794 45.372 8275
+-117.668 45.372 8191
+-117.542 45.372 8088
+-117.416 45.372 8016
+-117.29 45.372 7874
+-117.164 45.372 7775
+-117.038 45.372 7655
+-116.912 45.372 7578
+-116.786 45.372 7444
+-116.66 45.372 7265
+-116.534 45.372 7206
+-116.408 45.372 7053
+-116.282 45.372 6944
+-116.156 45.372 6843
+-116.03 45.372 6739
+-115.904 45.372 6540
+-115.778 45.372 6479
+-115.652 45.372 6360
+-115.526 45.372 6232
+-115.4 45.372 6103
+-115.274 45.372 5919
+-115.148 45.372 5755
+-115.022 45.372 5727
+-114.896 45.372 5518
+-114.77 45.372 5341
+-114.644 45.372 5283
+-114.518 45.372 5089
+-114.392 45.372 4981
+-114.266 45.372 4881
+-114.14 45.372 4718
+-114.014 45.372 4611
+-113.888 45.372 4529
+-113.762 45.372 4419
+-113.636 45.372 4427
+-113.51 45.372 4401
+-113.384 45.372 4347
+-113.258 45.372 4260
+-113.132 45.372 4124
+-113.006 45.372 3978
+-112.88 45.372 3762
+-112.754 45.372 3545
+-112.628 45.372 3316
+-112.502 45.372 3200
+-112.376 45.372 3250
+-112.25 45.372 3336
+-112.124 45.372 3350
+-111.998 45.372 3305
+-111.872 45.372 3258
+-111.746 45.372 3202
+-111.62 45.372 3094
+-111.494 45.372 3066
+-111.368 45.372 3057
+-111.242 45.372 3038
+-111.116 45.372 3074
+-110.99 45.372 3112
+-110.864 45.372 3153
+-110.738 45.372 3191
+-110.612 45.372 3225
+-110.486 45.372 3257
+-110.36 45.372 3284
+-110.234 45.372 3309
+-110.108 45.372 3330
+-109.982 45.372 3350
+-109.856 45.372 3367
+-109.73 45.372 3382
+-109.604 45.372 3396
+-109.478 45.372 3408
+-109.352 45.372 3419
+-109.226 45.372 3429
+-109.1 45.372 3439
+-108.974 45.372 3447
+-108.848 45.372 3455
+-108.722 45.372 3349
+-108.596 45.372 3356
+-108.47 45.372 3361
+-108.344 45.372 3367
+-108.218 45.372 3372
+-108.092 45.372 3376
+-107.966 45.372 3381
+-107.84 45.372 3385
+-107.714 45.372 3388
+-107.588 45.372 3392
+-107.462 45.372 3301
+-107.336 45.372 3303
+-107.21 45.372 3305
+-107.084 45.372 3307
+-106.958 45.372 3309
+-106.832 45.372 3276
+-106.706 45.372 3278
+-106.58 45.372 3278
+-106.454 45.372 3279
+-106.328 45.372 3280
+-106.202 45.372 3147
+-106.076 45.372 3147
+-105.95 45.372 3146
+-105.824 45.372 3145
+-105.698 45.372 3145
+-105.572 45.372 3144
+-105.446 45.372 3144
+-105.32 45.372 3143
+-105.194 45.372 3142
+-105.068 45.372 3142
+-104.942 45.372 3141
+-104.816 45.372 3140
+-104.69 45.372 3124
+-104.564 45.372 3118
+-104.438 45.372 2835
+-104.312 45.372 2804
+-104.186 45.372 2790
+-104.06 45.372 2781
+-103.934 45.372 2598
+-103.808 45.372 2561
+-103.682 45.372 2529
+-103.556 45.372 2524
+-103.43 45.372 2525
+-103.304 45.372 2565
+-103.178 45.372 2672
+-103.052 45.372 2746
+-102.926 45.372 2767
+-102.8 45.372 2765
+-102.674 45.372 2964
+-102.548 45.372 3083
+-102.422 45.372 3083
+-102.296 45.372 3082
+-102.17 45.372 3093
+-102.044 45.372 3104
+-101.918 45.372 3091
+-101.792 45.372 3051
+-101.666 45.372 3095
+-101.54 45.372 3347
+-101.414 45.372 3379
+-101.288 45.372 3378
+-101.162 45.372 3233
+-101.036 45.372 3232
+-100.91 45.372 3231
+-100.784 45.372 3230
+-100.658 45.372 3230
+-100.532 45.372 3229
+-100.406 45.372 3228
+-100.28 45.372 3203
+-100.154 45.372 3232
+-100.028 45.372 3231
+-99.902 45.372 3261
+-99.776 45.372 3236
+-99.65 45.372 3280
+-99.524 45.372 3192
+-99.398 45.372 3213
+-99.272 45.372 3217
+-99.146 45.372 3200
+-99.02 45.372 3217
+-98.894 45.372 3217
+-98.768 45.372 3220
+-98.642 45.372 3240
+-98.516 45.372 3241
+-98.39 45.372 3242
+-98.264 45.372 3336
+-98.138 45.372 3336
+-98.012 45.372 3336
+-97.886 45.372 3302
+-97.76 45.372 3392
+-97.634 45.372 3399
+-97.508 45.372 3399
+-97.382 45.372 3397
+-97.256 45.372 3396
+-97.13 45.372 3372
+-97.004 45.372 3369
+-96.878 45.372 3302
+-96.752 45.372 3428
+-96.626 45.372 3439
+-96.5 45.372 3403
+-96.374 45.372 3402
+-96.248 45.372 3400
+-96.122 45.372 3410
+-95.996 45.372 3366
+-95.87 45.372 3372
+-95.744 45.372 3370
+-95.618 45.372 3365
+-95.492 45.372 3364
+-95.366 45.372 3363
+-95.24 45.372 3362
+-95.114 45.372 3226
+-94.988 45.372 3247
+-94.862 45.372 3245
+-94.736 45.372 3244
+-94.61 45.372 3230
+-94.484 45.372 3268
+-94.358 45.372 3246
+-94.232 45.372 3244
+-94.106 45.372 3230
+-93.98 45.372 3229
+-93.854 45.372 3164
+-93.728 45.372 3188
+-93.602 45.372 3186
+-93.476 45.372 3184
+-93.35 45.372 3182
+-93.224 45.372 3172
+-93.098 45.372 3169
+-92.972 45.372 3166
+-92.846 45.372 3163
+-92.72 45.372 3159
+-92.594 45.372 3101
+-92.468 45.372 3085
+-92.342 45.372 3064
+-92.216 45.372 3022
+-92.09 45.372 3004
+-91.964 45.372 2984
+-91.838 45.372 2972
+-91.712 45.372 2958
+-91.586 45.372 2933
+-91.46 45.372 2903
+-91.334 45.372 2882
+-91.208 45.372 2858
+-91.082 45.372 2828
+-90.956 45.372 2791
+-90.83 45.372 2746
+-90.704 45.372 2691
+-90.578 45.372 2625
+-90.452 45.372 2545
+-90.326 45.372 2456
+-90.2 45.372 2366
+-90.074 45.372 2296
+-89.948 45.372 2269
+-89.822 45.372 2292
+-89.696 45.372 2344
+-89.57 45.372 2391
+-89.444 45.372 2401
+-89.318 45.372 2356
+-89.192 45.372 2306
+-89.066 45.372 2246
+-88.94 45.372 2225
+-88.814 45.372 2237
+-88.688 45.372 2266
+-88.562 45.372 2317
+-88.436 45.372 2350
+-88.31 45.372 2423
+-88.184 45.372 2434
+-88.058 45.372 2458
+-87.932 45.372 2473
+-87.806 45.372 2528
+-87.68 45.372 2499
+-87.554 45.372 2497
+-87.428 45.372 2490
+-87.302 45.372 2534
+-87.176 45.372 2530
+-87.05 45.372 2517
+-86.924 45.372 2504
+-86.798 45.372 2494
+-86.672 45.372 2482
+-86.546 45.372 2475
+-86.42 45.372 2469
+-86.294 45.372 2458
+-86.168 45.372 2454
+-86.042 45.372 2448
+-85.916 45.372 2446
+-85.79 45.372 2442
+-85.664 45.372 2440
+-85.538 45.372 2438
+-85.412 45.372 2443
+-85.286 45.372 2481
+-85.16 45.372 2484
+-85.034 45.372 2487
+-84.908 45.372 2491
+-84.782 45.372 2500
+-84.656 45.372 2505
+-84.53 45.372 2508
+-84.404 45.372 2514
+-84.278 45.372 2521
+-84.152 45.372 2528
+-84.026 45.372 2521
+-83.9 45.372 2532
+-83.774 45.372 2539
+-83.648 45.372 2622
+-83.522 45.372 2608
+-83.396 45.372 2616
+-83.27 45.372 2700
+-83.144 45.372 2708
+-83.018 45.372 2695
+-82.892 45.372 2736
+-82.766 45.372 2678
+-82.64 45.372 2701
+-82.514 45.372 2742
+-82.388 45.372 2685
+-82.262 45.372 2696
+-82.136 45.372 2636
+-82.01 45.372 2639
+-81.884 45.372 2654
+-81.758 45.372 2643
+-81.632 45.372 2650
+-81.506 45.372 2657
+-81.38 45.372 2619
+-81.254 45.372 2649
+-81.128 45.372 2650
+-81.002 45.372 2647
+-80.876 45.372 2653
+-80.75 45.372 2659
+-80.624 45.372 2665
+-80.498 45.372 2626
+-80.372 45.372 2626
+-80.246 45.372 2631
+-80.12 45.372 2636
+-79.994 45.372 2640
+-79.868 45.372 2641
+-79.742 45.372 2597
+-79.616 45.372 2692
+-79.49 45.372 2692
+-79.364 45.372 2700
+-79.238 45.372 2704
+-79.112 45.372 2708
+-78.986 45.372 2711
+-78.86 45.372 2733
+-78.734 45.372 2718
+-78.608 45.372 2773
+-78.482 45.372 2777
+-78.356 45.372 2772
+-78.23 45.372 2780
+-78.104 45.372 2783
+-77.978 45.372 2787
+-77.852 45.372 2778
+-77.726 45.372 2889
+-77.6 45.372 2892
+-77.474 45.372 2895
+-77.348 45.372 2898
+-77.222 45.372 2997
+-77.096 45.372 2957
+-76.97 45.372 3107
+-76.844 45.372 3108
+-76.718 45.372 3076
+-76.592 45.372 3078
+-76.466 45.372 3079
+-76.34 45.372 3081
+-76.214 45.372 3082
+-76.088 45.372 3084
+-75.962 45.372 3171
+-75.836 45.372 3168
+-75.71 45.372 3170
+-75.584 45.372 3171
+-75.458 45.372 3173
+-75.332 45.372 3121
+-75.206 45.372 3153
+-75.08 45.372 3155
+-74.954 45.372 3224
+-74.828 45.372 3142
+-74.702 45.372 3143
+-74.576 45.372 3145
+-74.45 45.372 3189
+-74.324 45.372 3147
+-74.198 45.372 3149
+-74.072 45.372 3151
+-73.946 45.372 3377
+-73.82 45.372 3326
+-73.694 45.372 3327
+-73.568 45.372 3456
+-73.442 45.372 3430
+-73.316 45.372 3431
+-73.19 45.372 3380
+-73.064 45.372 3453
+-72.938 45.372 3454
+-72.812 45.372 3455
+-72.686 45.372 3456
+-72.56 45.372 3456
+-72.434 45.372 3456
+-72.308 45.372 3457
+-72.182 45.372 3458
+-72.056 45.372 3447
+-71.93 45.372 3396
+-71.804 45.372 3390
+-71.678 45.372 3391
+-71.552 45.372 3392
+-71.426 45.372 3392
+-71.3 45.372 3393
+-71.174 45.372 3394
+-71.048 45.372 3395
+-70.922 45.372 3395
+-70.796 45.372 3396
+-70.67 45.372 3397
+-70.544 45.372 3398
+-70.418 45.372 3398
+-70.292 45.372 3399
+-70.166 45.372 3400
+-70.04 45.372 3400
+-69.914 45.372 3512
+-69.788 45.372 3512
+-69.662 45.372 3497
+-69.536 45.372 3498
+-69.41 45.372 3498
+-69.284 45.372 3499
+-69.158 45.372 3499
+-69.032 45.372 3500
+-68.906 45.372 3500
+-68.78 45.372 3501
+-68.654 45.372 3501
+-68.528 45.372 3502
+-68.402 45.372 3502
+-68.276 45.372 3541
+-68.15 45.372 3541
+-68.024 45.372 3542
+-67.898 45.372 3543
+-67.772 45.372 3543
+-67.646 45.372 3544
+-67.52 45.372 3503
+-67.394 45.372 3503
+-67.268 45.372 3504
+-67.142 45.372 3504
+-67.016 45.372 3543
+-66.89 45.372 3544
+-66.764 45.372 3544
+-66.638 45.372 3496
+-66.512 45.372 3497
+-66.386 45.372 3497
+-66.26 45.372 3633
+-66.134 45.372 3634
+-66.008 45.372 3634
+-65.882 45.372 3634
+-65.756 45.372 3634
+-65.63 45.372 3566
+-65.504 45.372 3567
+-65.378 45.372 3567
+-65.252 45.372 3567
+-65.126 45.372 3567
+-128 45.32 4275
+-127.874 45.32 4268
+-127.748 45.32 4325
+-127.622 45.32 4427
+-127.496 45.32 4505
+-127.37 45.32 4539
+-127.244 45.32 4615
+-127.118 45.32 4623
+-126.992 45.32 4867
+-126.866 45.32 4892
+-126.74 45.32 5026
+-126.614 45.32 5231
+-126.488 45.32 5354
+-126.362 45.32 5441
+-126.236 45.32 5614
+-126.11 45.32 5778
+-125.984 45.32 5856
+-125.858 45.32 5943
+-125.732 45.32 6045
+-125.606 45.32 6156
+-125.48 45.32 6305
+-125.354 45.32 6383
+-125.228 45.32 6569
+-125.102 45.32 6628
+-124.976 45.32 6738
+-124.85 45.32 6782
+-124.724 45.32 6928
+-124.598 45.32 7050
+-124.472 45.32 7153
+-124.346 45.32 7252
+-124.22 45.32 7305
+-124.094 45.32 7397
+-123.968 45.32 7466
+-123.842 45.32 7509
+-123.716 45.32 7573
+-123.59 45.32 7631
+-123.464 45.32 7652
+-123.338 45.32 7712
+-123.212 45.32 7753
+-123.086 45.32 7762
+-122.96 45.32 7772
+-122.834 45.32 7758
+-122.708 45.32 7729
+-122.582 45.32 7690
+-122.456 45.32 7654
+-122.33 45.32 7623
+-122.204 45.32 7606
+-122.078 45.32 7535
+-121.952 45.32 7446
+-121.826 45.32 7402
+-121.7 45.32 7331
+-121.574 45.32 7214
+-121.448 45.32 7114
+-121.322 45.32 7018
+-121.196 45.32 6938
+-121.07 45.32 6810
+-120.944 45.32 6685
+-120.818 45.32 6610
+-120.692 45.32 6595
+-120.566 45.32 6753
+-120.44 45.32 6910
+-120.314 45.32 7007
+-120.188 45.32 7125
+-120.062 45.32 7261
+-119.936 45.32 7358
+-119.81 45.32 7438
+-119.684 45.32 7558
+-119.558 45.32 7679
+-119.432 45.32 7872
+-119.306 45.32 7933
+-119.18 45.32 8042
+-119.054 45.32 8112
+-118.928 45.32 8193
+-118.802 45.32 8315
+-118.676 45.32 8343
+-118.55 45.32 8386
+-118.424 45.32 8386
+-118.298 45.32 8392
+-118.172 45.32 8373
+-118.046 45.32 8347
+-117.92 45.32 8271
+-117.794 45.32 8216
+-117.668 45.32 8107
+-117.542 45.32 8086
+-117.416 45.32 7986
+-117.29 45.32 7848
+-117.164 45.32 7750
+-117.038 45.32 7574
+-116.912 45.32 7475
+-116.786 45.32 7431
+-116.66 45.32 7306
+-116.534 45.32 7154
+-116.408 45.32 7078
+-116.282 45.32 6950
+-116.156 45.32 6803
+-116.03 45.32 6657
+-115.904 45.32 6559
+-115.778 45.32 6501
+-115.652 45.32 6323
+-115.526 45.32 6229
+-115.4 45.32 6102
+-115.274 45.32 5967
+-115.148 45.32 5832
+-115.022 45.32 5694
+-114.896 45.32 5507
+-114.77 45.32 5374
+-114.644 45.32 5251
+-114.518 45.32 5116
+-114.392 45.32 5007
+-114.266 45.32 4852
+-114.14 45.32 4674
+-114.014 45.32 4535
+-113.888 45.32 4482
+-113.762 45.32 4288
+-113.636 45.32 4369
+-113.51 45.32 4363
+-113.384 45.32 4318
+-113.258 45.32 4229
+-113.132 45.32 4118
+-113.006 45.32 3969
+-112.88 45.32 3756
+-112.754 45.32 3613
+-112.628 45.32 3481
+-112.502 45.32 3397
+-112.376 45.32 3384
+-112.25 45.32 3379
+-112.124 45.32 3336
+-111.998 45.32 3247
+-111.872 45.32 3140
+-111.746 45.32 3043
+-111.62 45.32 2936
+-111.494 45.32 2917
+-111.368 45.32 2943
+-111.242 45.32 2987
+-111.116 45.32 2987
+-110.99 45.32 3048
+-110.864 45.32 3096
+-110.738 45.32 3146
+-110.612 45.32 3189
+-110.486 45.32 3227
+-110.36 45.32 3259
+-110.234 45.32 3287
+-110.108 45.32 3311
+-109.982 45.32 3333
+-109.856 45.32 3351
+-109.73 45.32 3368
+-109.604 45.32 3383
+-109.478 45.32 3396
+-109.352 45.32 3408
+-109.226 45.32 3418
+-109.1 45.32 3428
+-108.974 45.32 3436
+-108.848 45.32 3336
+-108.722 45.32 3343
+-108.596 45.32 3350
+-108.47 45.32 3356
+-108.344 45.32 3362
+-108.218 45.32 3367
+-108.092 45.32 3372
+-107.966 45.32 3376
+-107.84 45.32 3380
+-107.714 45.32 3384
+-107.588 45.32 3388
+-107.462 45.32 3391
+-107.336 45.32 3300
+-107.21 45.32 3302
+-107.084 45.32 3304
+-106.958 45.32 3271
+-106.832 45.32 3273
+-106.706 45.32 3274
+-106.58 45.32 3275
+-106.454 45.32 3276
+-106.328 45.32 3277
+-106.202 45.32 3278
+-106.076 45.32 3143
+-105.95 45.32 3143
+-105.824 45.32 3142
+-105.698 45.32 3142
+-105.572 45.32 3141
+-105.446 45.32 3140
+-105.32 45.32 3140
+-105.194 45.32 3139
+-105.068 45.32 3139
+-104.942 45.32 3138
+-104.816 45.32 3138
+-104.69 45.32 3122
+-104.564 45.32 3115
+-104.438 45.32 2831
+-104.312 45.32 2793
+-104.186 45.32 2784
+-104.06 45.32 2602
+-103.934 45.32 2567
+-103.808 45.32 2557
+-103.682 45.32 2527
+-103.556 45.32 2529
+-103.43 45.32 2524
+-103.304 45.32 2564
+-103.178 45.32 2741
+-103.052 45.32 2746
+-102.926 45.32 2767
+-102.8 45.32 2853
+-102.674 45.32 2839
+-102.548 45.32 3083
+-102.422 45.32 3080
+-102.296 45.32 3080
+-102.17 45.32 3080
+-102.044 45.32 3081
+-101.918 45.32 3102
+-101.792 45.32 3089
+-101.666 45.32 3049
+-101.54 45.32 3093
+-101.414 45.32 3344
+-101.288 45.32 3376
+-101.162 45.32 3374
+-101.036 45.32 3231
+-100.91 45.32 3230
+-100.784 45.32 3229
+-100.658 45.32 3228
+-100.532 45.32 3227
+-100.406 45.32 3226
+-100.28 45.32 3225
+-100.154 45.32 3201
+-100.028 45.32 3229
+-99.902 45.32 3229
+-99.776 45.32 3258
+-99.65 45.32 3233
+-99.524 45.32 3277
+-99.398 45.32 3190
+-99.272 45.32 3211
+-99.146 45.32 3214
+-99.02 45.32 3198
+-98.894 45.32 3215
+-98.768 45.32 3215
+-98.642 45.32 3219
+-98.516 45.32 3238
+-98.39 45.32 3239
+-98.264 45.32 3240
+-98.138 45.32 3333
+-98.012 45.32 3334
+-97.886 45.32 3334
+-97.76 45.32 3300
+-97.634 45.32 3390
+-97.508 45.32 3397
+-97.382 45.32 3396
+-97.256 45.32 3394
+-97.13 45.32 3394
+-97.004 45.32 3369
+-96.878 45.32 3367
+-96.752 45.32 3301
+-96.626 45.32 3426
+-96.5 45.32 3436
+-96.374 45.32 3401
+-96.248 45.32 3399
+-96.122 45.32 3397
+-95.996 45.32 3407
+-95.87 45.32 3363
+-95.744 45.32 3369
+-95.618 45.32 3363
+-95.492 45.32 3362
+-95.366 45.32 3361
+-95.24 45.32 3360
+-95.114 45.32 3359
+-94.988 45.32 3228
+-94.862 45.32 3248
+-94.736 45.32 3247
+-94.61 45.32 3246
+-94.484 45.32 3232
+-94.358 45.32 3270
+-94.232 45.32 3249
+-94.106 45.32 3247
+-93.98 45.32 3233
+-93.854 45.32 3233
+-93.728 45.32 3170
+-93.602 45.32 3194
+-93.476 45.32 3193
+-93.35 45.32 3191
+-93.224 45.32 3189
+-93.098 45.32 3181
+-92.972 45.32 3179
+-92.846 45.32 3176
+-92.72 45.32 3174
+-92.594 45.32 3170
+-92.468 45.32 3114
+-92.342 45.32 3100
+-92.216 45.32 3080
+-92.09 45.32 3038
+-91.964 45.32 3020
+-91.838 45.32 3000
+-91.712 45.32 2988
+-91.586 45.32 2973
+-91.46 45.32 2948
+-91.334 45.32 2916
+-91.208 45.32 2892
+-91.082 45.32 2863
+-90.956 45.32 2828
+-90.83 45.32 2783
+-90.704 45.32 2729
+-90.578 45.32 2662
+-90.452 45.32 2581
+-90.326 45.32 2491
+-90.2 45.32 2399
+-90.074 45.32 2330
+-89.948 45.32 2298
+-89.822 45.32 2321
+-89.696 45.32 2378
+-89.57 45.32 2428
+-89.444 45.32 2452
+-89.318 45.32 2434
+-89.192 45.32 2402
+-89.066 45.32 2365
+-88.94 45.32 2346
+-88.814 45.32 2353
+-88.688 45.32 2364
+-88.562 45.32 2405
+-88.436 45.32 2442
+-88.31 45.32 2451
+-88.184 45.32 2473
+-88.058 45.32 2488
+-87.932 45.32 2541
+-87.806 45.32 2514
+-87.68 45.32 2511
+-87.554 45.32 2504
+-87.428 45.32 2543
+-87.302 45.32 2537
+-87.176 45.32 2522
+-87.05 45.32 2506
+-86.924 45.32 2492
+-86.798 45.32 2478
+-86.672 45.32 2468
+-86.546 45.32 2460
+-86.42 45.32 2447
+-86.294 45.32 2441
+-86.168 45.32 2434
+-86.042 45.32 2430
+-85.916 45.32 2426
+-85.79 45.32 2422
+-85.664 45.32 2420
+-85.538 45.32 2424
+-85.412 45.32 2460
+-85.286 45.32 2462
+-85.16 45.32 2465
+-85.034 45.32 2469
+-84.908 45.32 2478
+-84.782 45.32 2484
+-84.656 45.32 2487
+-84.53 45.32 2494
+-84.404 45.32 2501
+-84.278 45.32 2509
+-84.152 45.32 2503
+-84.026 45.32 2514
+-83.9 45.32 2522
+-83.774 45.32 2603
+-83.648 45.32 2590
+-83.522 45.32 2599
+-83.396 45.32 2681
+-83.27 45.32 2690
+-83.144 45.32 2679
+-83.018 45.32 2719
+-82.892 45.32 2664
+-82.766 45.32 2686
+-82.64 45.32 2728
+-82.514 45.32 2672
+-82.388 45.32 2684
+-82.262 45.32 2626
+-82.136 45.32 2630
+-82.01 45.32 2645
+-81.884 45.32 2635
+-81.758 45.32 2642
+-81.632 45.32 2650
+-81.506 45.32 2612
+-81.38 45.32 2642
+-81.254 45.32 2643
+-81.128 45.32 2642
+-81.002 45.32 2648
+-80.876 45.32 2654
+-80.75 45.32 2660
+-80.624 45.32 2622
+-80.498 45.32 2622
+-80.372 45.32 2627
+-80.246 45.32 2632
+-80.12 45.32 2637
+-79.994 45.32 2639
+-79.868 45.32 2595
+-79.742 45.32 2690
+-79.616 45.32 2690
+-79.49 45.32 2698
+-79.364 45.32 2702
+-79.238 45.32 2705
+-79.112 45.32 2709
+-78.986 45.32 2731
+-78.86 45.32 2716
+-78.734 45.32 2771
+-78.608 45.32 2775
+-78.482 45.32 2770
+-78.356 45.32 2778
+-78.23 45.32 2782
+-78.104 45.32 2785
+-77.978 45.32 2777
+-77.852 45.32 2888
+-77.726 45.32 2891
+-77.6 45.32 2894
+-77.474 45.32 2897
+-77.348 45.32 2996
+-77.222 45.32 2955
+-77.096 45.32 3105
+-76.97 45.32 3107
+-76.844 45.32 3075
+-76.718 45.32 3077
+-76.592 45.32 3078
+-76.466 45.32 3080
+-76.34 45.32 3081
+-76.214 45.32 3083
+-76.088 45.32 3170
+-75.962 45.32 3166
+-75.836 45.32 3168
+-75.71 45.32 3170
+-75.584 45.32 3172
+-75.458 45.32 3120
+-75.332 45.32 3152
+-75.206 45.32 3154
+-75.08 45.32 3222
+-74.954 45.32 3140
+-74.828 45.32 3142
+-74.702 45.32 3144
+-74.576 45.32 3188
+-74.45 45.32 3146
+-74.324 45.32 3148
+-74.198 45.32 3150
+-74.072 45.32 3376
+-73.946 45.32 3325
+-73.82 45.32 3326
+-73.694 45.32 3455
+-73.568 45.32 3429
+-73.442 45.32 3431
+-73.316 45.32 3379
+-73.19 45.32 3452
+-73.064 45.32 3453
+-72.938 45.32 3454
+-72.812 45.32 3455
+-72.686 45.32 3456
+-72.56 45.32 3455
+-72.434 45.32 3456
+-72.308 45.32 3457
+-72.182 45.32 3446
+-72.056 45.32 3395
+-71.93 45.32 3389
+-71.804 45.32 3390
+-71.678 45.32 3391
+-71.552 45.32 3392
+-71.426 45.32 3393
+-71.3 45.32 3393
+-71.174 45.32 3394
+-71.048 45.32 3395
+-70.922 45.32 3396
+-70.796 45.32 3396
+-70.67 45.32 3397
+-70.544 45.32 3398
+-70.418 45.32 3399
+-70.292 45.32 3399
+-70.166 45.32 3400
+-70.04 45.32 3511
+-69.914 45.32 3512
+-69.788 45.32 3497
+-69.662 45.32 3497
+-69.536 45.32 3498
+-69.41 45.32 3498
+-69.284 45.32 3499
+-69.158 45.32 3499
+-69.032 45.32 3500
+-68.906 45.32 3500
+-68.78 45.32 3501
+-68.654 45.32 3501
+-68.528 45.32 3502
+-68.402 45.32 3540
+-68.276 45.32 3541
+-68.15 45.32 3542
+-68.024 45.32 3542
+-67.898 45.32 3543
+-67.772 45.32 3543
+-67.646 45.32 3502
+-67.52 45.32 3503
+-67.394 45.32 3503
+-67.268 45.32 3504
+-67.142 45.32 3543
+-67.016 45.32 3543
+-66.89 45.32 3544
+-66.764 45.32 3496
+-66.638 45.32 3497
+-66.512 45.32 3497
+-66.386 45.32 3633
+-66.26 45.32 3633
+-66.134 45.32 3634
+-66.008 45.32 3634
+-65.882 45.32 3634
+-65.756 45.32 3566
+-65.63 45.32 3566
+-65.504 45.32 3567
+-65.378 45.32 3567
+-65.252 45.32 3567
+-65.126 45.32 3567
+-128 45.268 4359
+-127.874 45.268 4383
+-127.748 45.268 4441
+-127.622 45.268 4494
+-127.496 45.268 4505
+-127.37 45.268 4431
+-127.244 45.268 4512
+-127.118 45.268 4675
+-126.992 45.268 4837
+-126.866 45.268 4940
+-126.74 45.268 5037
+-126.614 45.268 5220
+-126.488 45.268 5346
+-126.362 45.268 5394
+-126.236 45.268 5558
+-126.11 45.268 5762
+-125.984 45.268 5806
+-125.858 45.268 5883
+-125.732 45.268 6028
+-125.606 45.268 6104
+-125.48 45.268 6269
+-125.354 45.268 6393
+-125.228 45.268 6496
+-125.102 45.268 6593
+-124.976 45.268 6704
+-124.85 45.268 6813
+-124.724 45.268 6904
+-124.598 45.268 6977
+-124.472 45.268 7117
+-124.346 45.268 7210
+-124.22 45.268 7230
+-124.094 45.268 7310
+-123.968 45.268 7380
+-123.842 45.268 7465
+-123.716 45.268 7512
+-123.59 45.268 7588
+-123.464 45.268 7627
+-123.338 45.268 7682
+-123.212 45.268 7678
+-123.086 45.268 7690
+-122.96 45.268 7697
+-122.834 45.268 7690
+-122.708 45.268 7690
+-122.582 45.268 7643
+-122.456 45.268 7635
+-122.33 45.268 7567
+-122.204 45.268 7510
+-122.078 45.268 7497
+-121.952 45.268 7372
+-121.826 45.268 7345
+-121.7 45.268 7265
+-121.574 45.268 7215
+-121.448 45.268 7064
+-121.322 45.268 6974
+-121.196 45.268 6873
+-121.07 45.268 6765
+-120.944 45.268 6672
+-120.818 45.268 6516
+-120.692 45.268 6636
+-120.566 45.268 6760
+-120.44 45.268 6862
+-120.314 45.268 6955
+-120.188 45.268 7109
+-120.062 45.268 7248
+-119.936 45.268 7390
+-119.81 45.268 7491
+-119.684 45.268 7573
+-119.558 45.268 7668
+-119.432 45.268 7776
+-119.306 45.268 7901
+-119.18 45.268 7977
+-119.054 45.268 8077
+-118.928 45.268 8194
+-118.802 45.268 8209
+-118.676 45.268 8268
+-118.55 45.268 8292
+-118.424 45.268 8336
+-118.298 45.268 8352
+-118.172 45.268 8338
+-118.046 45.268 8332
+-117.92 45.268 8232
+-117.794 45.268 8166
+-117.668 45.268 8077
+-117.542 45.268 7953
+-117.416 45.268 7909
+-117.29 45.268 7850
+-117.164 45.268 7695
+-117.038 45.268 7626
+-116.912 45.268 7520
+-116.786 45.268 7366
+-116.66 45.268 7219
+-116.534 45.268 7198
+-116.408 45.268 7068
+-116.282 45.268 6937
+-116.156 45.268 6803
+-116.03 45.268 6667
+-115.904 45.268 6557
+-115.778 45.268 6415
+-115.652 45.268 6236
+-115.526 45.268 6197
+-115.4 45.268 6069
+-115.274 45.268 6004
+-115.148 45.268 5849
+-115.022 45.268 5633
+-114.896 45.268 5480
+-114.77 45.268 5365
+-114.644 45.268 5231
+-114.518 45.268 5159
+-114.392 45.268 4995
+-114.266 45.268 4859
+-114.14 45.268 4737
+-114.014 45.268 4594
+-113.888 45.268 4498
+-113.762 45.268 4391
+-113.636 45.268 4375
+-113.51 45.268 4341
+-113.384 45.268 4300
+-113.258 45.268 4192
+-113.132 45.268 4047
+-113.006 45.268 3862
+-112.88 45.268 3692
+-112.754 45.268 3631
+-112.628 45.268 3571
+-112.502 45.268 3523
+-112.376 45.268 3467
+-112.25 45.268 3410
+-112.124 45.268 3311
+-111.998 45.268 3176
+-111.872 45.268 3004
+-111.746 45.268 2844
+-111.62 45.268 2713
+-111.494 45.268 2711
+-111.368 45.268 2772
+-111.242 45.268 2864
+-111.116 45.268 2954
+-110.99 45.268 2979
+-110.864 45.268 3053
+-110.738 45.268 3108
+-110.612 45.268 3161
+-110.486 45.268 3205
+-110.36 45.268 3242
+-110.234 45.268 3274
+-110.108 45.268 3301
+-109.982 45.268 3324
+-109.856 45.268 3344
+-109.73 45.268 3362
+-109.604 45.268 3378
+-109.478 45.268 3392
+-109.352 45.268 3404
+-109.226 45.268 3415
+-109.1 45.268 3425
+-108.974 45.268 3434
+-108.848 45.268 3329
+-108.722 45.268 3337
+-108.596 45.268 3344
+-108.47 45.268 3351
+-108.344 45.268 3357
+-108.218 45.268 3362
+-108.092 45.268 3367
+-107.966 45.268 3372
+-107.84 45.268 3376
+-107.714 45.268 3380
+-107.588 45.268 3384
+-107.462 45.268 3388
+-107.336 45.268 3391
+-107.21 45.268 3299
+-107.084 45.268 3266
+-106.958 45.268 3268
+-106.832 45.268 3269
+-106.706 45.268 3270
+-106.58 45.268 3272
+-106.454 45.268 3273
+-106.328 45.268 3274
+-106.202 45.268 3203
+-106.076 45.268 3203
+-105.95 45.268 3139
+-105.824 45.268 3139
+-105.698 45.268 3138
+-105.572 45.268 3138
+-105.446 45.268 3137
+-105.32 45.268 3137
+-105.194 45.268 3136
+-105.068 45.268 3136
+-104.942 45.268 3135
+-104.816 45.268 3060
+-104.69 45.268 3055
+-104.564 45.268 3111
+-104.438 45.268 3108
+-104.312 45.268 2787
+-104.186 45.268 2605
+-104.06 45.268 2563
+-103.934 45.268 2564
+-103.808 45.268 2553
+-103.682 45.268 2524
+-103.556 45.268 2527
+-103.43 45.268 2522
+-103.304 45.268 2564
+-103.178 45.268 2741
+-103.052 45.268 2746
+-102.926 45.268 2767
+-102.8 45.268 2852
+-102.674 45.268 2838
+-102.548 45.268 2941
+-102.422 45.268 3080
+-102.296 45.268 3078
+-102.17 45.268 3078
+-102.044 45.268 3077
+-101.918 45.268 3088
+-101.792 45.268 3099
+-101.666 45.268 3086
+-101.54 45.268 3047
+-101.414 45.268 3090
+-101.288 45.268 3341
+-101.162 45.268 3373
+-101.036 45.268 3371
+-100.91 45.268 3229
+-100.784 45.268 3228
+-100.658 45.268 3227
+-100.532 45.268 3226
+-100.406 45.268 3225
+-100.28 45.268 3224
+-100.154 45.268 3223
+-100.028 45.268 3199
+-99.902 45.268 3227
+-99.776 45.268 3226
+-99.65 45.268 3256
+-99.524 45.268 3231
+-99.398 45.268 3274
+-99.272 45.268 3187
+-99.146 45.268 3209
+-99.02 45.268 3212
+-98.894 45.268 3196
+-98.768 45.268 3213
+-98.642 45.268 3213
+-98.516 45.268 3217
+-98.39 45.268 3236
+-98.264 45.268 3237
+-98.138 45.268 3238
+-98.012 45.268 3331
+-97.886 45.268 3331
+-97.76 45.268 3331
+-97.634 45.268 3298
+-97.508 45.268 3387
+-97.382 45.268 3394
+-97.256 45.268 3393
+-97.13 45.268 3391
+-97.004 45.268 3391
+-96.878 45.268 3367
+-96.752 45.268 3364
+-96.626 45.268 3299
+-96.5 45.268 3423
+-96.374 45.268 3433
+-96.248 45.268 3398
+-96.122 45.268 3396
+-95.996 45.268 3394
+-95.87 45.268 3403
+-95.744 45.268 3360
+-95.618 45.268 3365
+-95.492 45.268 3364
+-95.366 45.268 3359
+-95.24 45.268 3357
+-95.114 45.268 3356
+-94.988 45.268 3355
+-94.862 45.268 3230
+-94.736 45.268 3250
+-94.61 45.268 3249
+-94.484 45.268 3248
+-94.358 45.268 3235
+-94.232 45.268 3272
+-94.106 45.268 3252
+-93.98 45.268 3250
+-93.854 45.268 3237
+-93.728 45.268 3237
+-93.602 45.268 3177
+-93.476 45.268 3201
+-93.35 45.268 3200
+-93.224 45.268 3199
+-93.098 45.268 3198
+-92.972 45.268 3190
+-92.846 45.268 3188
+-92.72 45.268 3187
+-92.594 45.268 3185
+-92.468 45.268 3182
+-92.342 45.268 3129
+-92.216 45.268 3115
+-92.09 45.268 3095
+-91.964 45.268 3054
+-91.838 45.268 3036
+-91.712 45.268 3017
+-91.586 45.268 3004
+-91.46 45.268 2988
+-91.334 45.268 2961
+-91.208 45.268 2928
+-91.082 45.268 2901
+-90.956 45.268 2867
+-90.83 45.268 2826
+-90.704 45.268 2775
+-90.578 45.268 2713
+-90.452 45.268 2639
+-90.326 45.268 2556
+-90.2 45.268 2485
+-90.074 45.268 2418
+-89.948 45.268 2390
+-89.822 45.268 2400
+-89.696 45.268 2444
+-89.57 45.268 2488
+-89.444 45.268 2514
+-89.318 45.268 2520
+-89.192 45.268 2498
+-89.066 45.268 2487
+-88.94 45.268 2461
+-88.814 45.268 2458
+-88.688 45.268 2480
+-88.562 45.268 2485
+-88.436 45.268 2543
+-88.31 45.268 2500
+-88.184 45.268 2512
+-88.058 45.268 2604
+-87.932 45.268 2579
+-87.806 45.268 2575
+-87.68 45.268 2566
+-87.554 45.268 2558
+-87.428 45.268 2548
+-87.302 45.268 2530
+-87.176 45.268 2511
+-87.05 45.268 2493
+-86.924 45.268 2475
+-86.798 45.268 2463
+-86.672 45.268 2451
+-86.546 45.268 2436
+-86.42 45.268 2428
+-86.294 45.268 2419
+-86.168 45.268 2414
+-86.042 45.268 2408
+-85.916 45.268 2404
+-85.79 45.268 2400
+-85.664 45.268 2403
+-85.538 45.268 2437
+-85.412 45.268 2438
+-85.286 45.268 2441
+-85.16 45.268 2445
+-85.034 45.268 2454
+-84.908 45.268 2460
+-84.782 45.268 2464
+-84.656 45.268 2472
+-84.53 45.268 2480
+-84.404 45.268 2488
+-84.278 45.268 2484
+-84.152 45.268 2495
+-84.026 45.268 2504
+-83.9 45.268 2582
+-83.774 45.268 2571
+-83.648 45.268 2581
+-83.522 45.268 2660
+-83.396 45.268 2670
+-83.27 45.268 2661
+-83.144 45.268 2700
+-83.018 45.268 2648
+-82.892 45.268 2671
+-82.766 45.268 2712
+-82.64 45.268 2659
+-82.514 45.268 2672
+-82.388 45.268 2615
+-82.262 45.268 2620
+-82.136 45.268 2635
+-82.01 45.268 2626
+-81.884 45.268 2634
+-81.758 45.268 2642
+-81.632 45.268 2606
+-81.506 45.268 2635
+-81.38 45.268 2637
+-81.254 45.268 2636
+-81.128 45.268 2642
+-81.002 45.268 2649
+-80.876 45.268 2655
+-80.75 45.268 2618
+-80.624 45.268 2618
+-80.498 45.268 2624
+-80.372 45.268 2629
+-80.246 45.268 2634
+-80.12 45.268 2636
+-79.994 45.268 2592
+-79.868 45.268 2687
+-79.742 45.268 2687
+-79.616 45.268 2695
+-79.49 45.268 2699
+-79.364 45.268 2703
+-79.238 45.268 2707
+-79.112 45.268 2728
+-78.986 45.268 2714
+-78.86 45.268 2769
+-78.734 45.268 2773
+-78.608 45.268 2768
+-78.482 45.268 2776
+-78.356 45.268 2780
+-78.23 45.268 2783
+-78.104 45.268 2775
+-77.978 45.268 2886
+-77.852 45.268 2889
+-77.726 45.268 2892
+-77.6 45.268 2895
+-77.474 45.268 2994
+-77.348 45.268 2954
+-77.222 45.268 3104
+-77.096 45.268 3105
+-76.97 45.268 3074
+-76.844 45.268 3075
+-76.718 45.268 3077
+-76.592 45.268 3079
+-76.466 45.268 3080
+-76.34 45.268 3082
+-76.214 45.268 3168
+-76.088 45.268 3165
+-75.962 45.268 3167
+-75.836 45.268 3169
+-75.71 45.268 3171
+-75.584 45.268 3119
+-75.458 45.268 3151
+-75.332 45.268 3152
+-75.206 45.268 3221
+-75.08 45.268 3139
+-74.954 45.268 3141
+-74.828 45.268 3143
+-74.702 45.268 3187
+-74.576 45.268 3145
+-74.45 45.268 3147
+-74.324 45.268 3149
+-74.198 45.268 3375
+-74.072 45.268 3324
+-73.946 45.268 3325
+-73.82 45.268 3454
+-73.694 45.268 3428
+-73.568 45.268 3430
+-73.442 45.268 3378
+-73.316 45.268 3451
+-73.19 45.268 3452
+-73.064 45.268 3453
+-72.938 45.268 3454
+-72.812 45.268 3455
+-72.686 45.268 3454
+-72.56 45.268 3455
+-72.434 45.268 3456
+-72.308 45.268 3445
+-72.182 45.268 3394
+-72.056 45.268 3389
+-71.93 45.268 3390
+-71.804 45.268 3391
+-71.678 45.268 3391
+-71.552 45.268 3392
+-71.426 45.268 3393
+-71.3 45.268 3394
+-71.174 45.268 3394
+-71.048 45.268 3395
+-70.922 45.268 3396
+-70.796 45.268 3397
+-70.67 45.268 3397
+-70.544 45.268 3398
+-70.418 45.268 3399
+-70.292 45.268 3399
+-70.166 45.268 3511
+-70.04 45.268 3511
+-69.914 45.268 3496
+-69.788 45.268 3497
+-69.662 45.268 3497
+-69.536 45.268 3498
+-69.41 45.268 3499
+-69.284 45.268 3499
+-69.158 45.268 3500
+-69.032 45.268 3500
+-68.906 45.268 3501
+-68.78 45.268 3501
+-68.654 45.268 3502
+-68.528 45.268 3540
+-68.402 45.268 3540
+-68.276 45.268 3541
+-68.15 45.268 3542
+-68.024 45.268 3542
+-67.898 45.268 3543
+-67.772 45.268 3502
+-67.646 45.268 3502
+-67.52 45.268 3503
+-67.394 45.268 3503
+-67.268 45.268 3542
+-67.142 45.268 3543
+-67.016 45.268 3544
+-66.89 45.268 3496
+-66.764 45.268 3496
+-66.638 45.268 3497
+-66.512 45.268 3633
+-66.386 45.268 3633
+-66.26 45.268 3633
+-66.134 45.268 3634
+-66.008 45.268 3634
+-65.882 45.268 3566
+-65.756 45.268 3566
+-65.63 45.268 3566
+-65.504 45.268 3567
+-65.378 45.268 3567
+-65.252 45.268 3567
+-65.126 45.268 3567
+-128 45.216 4413
+-127.874 45.216 4456
+-127.748 45.216 4493
+-127.622 45.216 4533
+-127.496 45.216 4540
+-127.37 45.216 4538
+-127.244 45.216 4586
+-127.118 45.216 4697
+-126.992 45.216 4841
+-126.866 45.216 4969
+-126.74 45.216 5026
+-126.614 45.216 5145
+-126.488 45.216 5313
+-126.362 45.216 5429
+-126.236 45.216 5575
+-126.11 45.216 5719
+-125.984 45.216 5785
+-125.858 45.216 5888
+-125.732 45.216 5977
+-125.606 45.216 6104
+-125.48 45.216 6262
+-125.354 45.216 6365
+-125.228 45.216 6410
+-125.102 45.216 6612
+-124.976 45.216 6626
+-124.85 45.216 6744
+-124.724 45.216 6869
+-124.598 45.216 6982
+-124.472 45.216 7075
+-124.346 45.216 7166
+-124.22 45.216 7236
+-124.094 45.216 7265
+-123.968 45.216 7349
+-123.842 45.216 7449
+-123.716 45.216 7468
+-123.59 45.216 7513
+-123.464 45.216 7575
+-123.338 45.216 7616
+-123.212 45.216 7637
+-123.086 45.216 7656
+-122.96 45.216 7647
+-122.834 45.216 7660
+-122.708 45.216 7643
+-122.582 45.216 7603
+-122.456 45.216 7562
+-122.33 45.216 7525
+-122.204 45.216 7508
+-122.078 45.216 7444
+-121.952 45.216 7370
+-121.826 45.216 7294
+-121.7 45.216 7205
+-121.574 45.216 7107
+-121.448 45.216 7008
+-121.322 45.216 6911
+-121.196 45.216 6862
+-121.07 45.216 6708
+-120.944 45.216 6639
+-120.818 45.216 6472
+-120.692 45.216 6629
+-120.566 45.216 6725
+-120.44 45.216 6852
+-120.314 45.216 6974
+-120.188 45.216 7126
+-120.062 45.216 7210
+-119.936 45.216 7372
+-119.81 45.216 7485
+-119.684 45.216 7604
+-119.558 45.216 7666
+-119.432 45.216 7747
+-119.306 45.216 7852
+-119.18 45.216 7960
+-119.054 45.216 8032
+-118.928 45.216 8109
+-118.802 45.216 8178
+-118.676 45.216 8236
+-118.55 45.216 8283
+-118.424 45.216 8282
+-118.298 45.216 8287
+-118.172 45.216 8298
+-118.046 45.216 8244
+-117.92 45.216 8205
+-117.794 45.216 8135
+-117.668 45.216 8042
+-117.542 45.216 7951
+-117.416 45.216 7886
+-117.29 45.216 7798
+-117.164 45.216 7692
+-117.038 45.216 7527
+-116.912 45.216 7420
+-116.786 45.216 7326
+-116.66 45.216 7206
+-116.534 45.216 7183
+-116.408 45.216 7030
+-116.282 45.216 6856
+-116.156 45.216 6770
+-116.03 45.216 6637
+-115.904 45.216 6505
+-115.778 45.216 6378
+-115.652 45.216 6311
+-115.526 45.216 6194
+-115.4 45.216 6049
+-115.274 45.216 5931
+-115.148 45.216 5799
+-115.022 45.216 5587
+-114.896 45.216 5450
+-114.77 45.216 5413
+-114.644 45.216 5250
+-114.518 45.216 5081
+-114.392 45.216 4951
+-114.266 45.216 4825
+-114.14 45.216 4761
+-114.014 45.216 4587
+-113.888 45.216 4484
+-113.762 45.216 4397
+-113.636 45.216 4315
+-113.51 45.216 4301
+-113.384 45.216 4254
+-113.258 45.216 4153
+-113.132 45.216 3956
+-113.006 45.216 3685
+-112.88 45.216 3514
+-112.754 45.216 3548
+-112.628 45.216 3590
+-112.502 45.216 3585
+-112.376 45.216 3504
+-112.25 45.216 3426
+-112.124 45.216 3274
+-111.998 45.216 3078
+-111.872 45.216 2819
+-111.746 45.216 2580
+-111.62 45.216 2462
+-111.494 45.216 2468
+-111.368 45.216 2590
+-111.242 45.216 2737
+-111.116 45.216 2875
+-110.99 45.216 2971
+-110.864 45.216 3009
+-110.738 45.216 3084
+-110.612 45.216 3138
+-110.486 45.216 3187
+-110.36 45.216 3229
+-110.234 45.216 3263
+-110.108 45.216 3292
+-109.982 45.216 3317
+-109.856 45.216 3339
+-109.73 45.216 3358
+-109.604 45.216 3374
+-109.478 45.216 3389
+-109.352 45.216 3402
+-109.226 45.216 3413
+-109.1 45.216 3423
+-108.974 45.216 3300
+-108.848 45.216 3309
+-108.722 45.216 3316
+-108.596 45.216 3323
+-108.47 45.216 3330
+-108.344 45.216 3335
+-108.218 45.216 3341
+-108.092 45.216 3346
+-107.966 45.216 3350
+-107.84 45.216 3354
+-107.714 45.216 3358
+-107.588 45.216 3362
+-107.462 45.216 3365
+-107.336 45.216 3369
+-107.21 45.216 3271
+-107.084 45.216 3262
+-106.958 45.216 3198
+-106.832 45.216 3198
+-106.706 45.216 3198
+-106.58 45.216 3199
+-106.454 45.216 3199
+-106.328 45.216 3199
+-106.202 45.216 3199
+-106.076 45.216 3199
+-105.95 45.216 3199
+-105.824 45.216 3135
+-105.698 45.216 3135
+-105.572 45.216 3135
+-105.446 45.216 3134
+-105.32 45.216 3134
+-105.194 45.216 3133
+-105.068 45.216 3133
+-104.942 45.216 3059
+-104.816 45.216 3055
+-104.69 45.216 3050
+-104.564 45.216 3107
+-104.438 45.216 2797
+-104.312 45.216 2782
+-104.186 45.216 2600
+-104.06 45.216 2559
+-103.934 45.216 2560
+-103.808 45.216 2549
+-103.682 45.216 2522
+-103.556 45.216 2526
+-103.43 45.216 2521
+-103.304 45.216 2543
+-103.178 45.216 2741
+-103.052 45.216 2746
+-102.926 45.216 2766
+-102.8 45.216 2851
+-102.674 45.216 2836
+-102.548 45.216 2938
+-102.422 45.216 2939
+-102.296 45.216 3077
+-102.17 45.216 3075
+-102.044 45.216 3075
+-101.918 45.216 3075
+-101.792 45.216 3075
+-101.666 45.216 3096
+-101.54 45.216 3084
+-101.414 45.216 3045
+-101.288 45.216 3088
+-101.162 45.216 3338
+-101.036 45.216 3369
+-100.91 45.216 3367
+-100.784 45.216 3226
+-100.658 45.216 3225
+-100.532 45.216 3224
+-100.406 45.216 3223
+-100.28 45.216 3222
+-100.154 45.216 3221
+-100.028 45.216 3220
+-99.902 45.216 3196
+-99.776 45.216 3224
+-99.65 45.216 3223
+-99.524 45.216 3253
+-99.398 45.216 3228
+-99.272 45.216 3271
+-99.146 45.216 3185
+-99.02 45.216 3206
+-98.894 45.216 3209
+-98.768 45.216 3194
+-98.642 45.216 3210
+-98.516 45.216 3211
+-98.39 45.216 3214
+-98.264 45.216 3234
+-98.138 45.216 3235
+-98.012 45.216 3236
+-97.886 45.216 3328
+-97.76 45.216 3329
+-97.634 45.216 3329
+-97.508 45.216 3296
+-97.382 45.216 3384
+-97.256 45.216 3391
+-97.13 45.216 3390
+-97.004 45.216 3388
+-96.878 45.216 3388
+-96.752 45.216 3365
+-96.626 45.216 3362
+-96.5 45.216 3298
+-96.374 45.216 3419
+-96.248 45.216 3429
+-96.122 45.216 3395
+-95.996 45.216 3392
+-95.87 45.216 3390
+-95.744 45.216 3399
+-95.618 45.216 3357
+-95.492 45.216 3362
+-95.366 45.216 3356
+-95.24 45.216 3355
+-95.114 45.216 3353
+-94.988 45.216 3352
+-94.862 45.216 3351
+-94.736 45.216 3232
+-94.61 45.216 3251
+-94.484 45.216 3250
+-94.358 45.216 3250
+-94.232 45.216 3237
+-94.106 45.216 3274
+-93.98 45.216 3254
+-93.854 45.216 3253
+-93.728 45.216 3241
+-93.602 45.216 3241
+-93.476 45.216 3183
+-93.35 45.216 3207
+-93.224 45.216 3207
+-93.098 45.216 3206
+-92.972 45.216 3206
+-92.846 45.216 3199
+-92.72 45.216 3199
+-92.594 45.216 3198
+-92.468 45.216 3196
+-92.342 45.216 3194
+-92.216 45.216 3143
+-92.09 45.216 3130
+-91.964 45.216 3111
+-91.838 45.216 3070
+-91.712 45.216 3052
+-91.586 45.216 3033
+-91.46 45.216 3020
+-91.334 45.216 3003
+-91.208 45.216 2974
+-91.082 45.216 2940
+-90.956 45.216 2910
+-90.83 45.216 2873
+-90.704 45.216 2828
+-90.578 45.216 2774
+-90.452 45.216 2711
+-90.326 45.216 2659
+-90.2 45.216 2590
+-90.074 45.216 2537
+-89.948 45.216 2513
+-89.822 45.216 2521
+-89.696 45.216 2534
+-89.57 45.216 2564
+-89.444 45.216 2585
+-89.318 45.216 2596
+-89.192 45.216 2596
+-89.066 45.216 2575
+-88.94 45.216 2574
+-88.814 45.216 2552
+-88.688 45.216 2544
+-88.562 45.216 2589
+-88.436 45.216 2612
+-88.31 45.216 2623
+-88.184 45.216 2630
+-88.058 45.216 2604
+-87.932 45.216 2599
+-87.806 45.216 2589
+-87.68 45.216 2578
+-87.554 45.216 2566
+-87.428 45.216 2544
+-87.302 45.216 2520
+-87.176 45.216 2498
+-87.05 45.216 2475
+-86.924 45.216 2458
+-86.798 45.216 2442
+-86.672 45.216 2425
+-86.546 45.216 2414
+-86.42 45.216 2403
+-86.294 45.216 2397
+-86.168 45.216 2389
+-86.042 45.216 2383
+-85.916 45.216 2379
+-85.79 45.216 2381
+-85.664 45.216 2411
+-85.538 45.216 2412
+-85.412 45.216 2415
+-85.286 45.216 2419
+-85.16 45.216 2427
+-85.034 45.216 2434
+-84.908 45.216 2439
+-84.782 45.216 2447
+-84.656 45.216 2456
+-84.53 45.216 2465
+-84.404 45.216 2462
+-84.278 45.216 2474
+-84.152 45.216 2484
+-84.026 45.216 2559
+-83.9 45.216 2551
+-83.774 45.216 2561
+-83.648 45.216 2638
+-83.522 45.216 2649
+-83.396 45.216 2642
+-83.27 45.216 2680
+-83.144 45.216 2631
+-83.018 45.216 2654
+-82.892 45.216 2695
+-82.766 45.216 2645
+-82.64 45.216 2658
+-82.514 45.216 2604
+-82.388 45.216 2609
+-82.262 45.216 2625
+-82.136 45.216 2617
+-82.01 45.216 2625
+-81.884 45.216 2634
+-81.758 45.216 2599
+-81.632 45.216 2628
+-81.506 45.216 2630
+-81.38 45.216 2629
+-81.254 45.216 2636
+-81.128 45.216 2643
+-81.002 45.216 2650
+-80.876 45.216 2614
+-80.75 45.216 2614
+-80.624 45.216 2620
+-80.498 45.216 2626
+-80.372 45.216 2631
+-80.246 45.216 2633
+-80.12 45.216 2590
+-79.994 45.216 2684
+-79.868 45.216 2684
+-79.742 45.216 2693
+-79.616 45.216 2697
+-79.49 45.216 2701
+-79.364 45.216 2705
+-79.238 45.216 2726
+-79.112 45.216 2712
+-78.986 45.216 2767
+-78.86 45.216 2771
+-78.734 45.216 2766
+-78.608 45.216 2775
+-78.482 45.216 2778
+-78.356 45.216 2782
+-78.23 45.216 2774
+-78.104 45.216 2884
+-77.978 45.216 2887
+-77.852 45.216 2891
+-77.726 45.216 2894
+-77.6 45.216 2993
+-77.474 45.216 2953
+-77.348 45.216 3102
+-77.222 45.216 3104
+-77.096 45.216 3072
+-76.97 45.216 3074
+-76.844 45.216 3076
+-76.718 45.216 3077
+-76.592 45.216 3079
+-76.466 45.216 3081
+-76.34 45.216 3167
+-76.214 45.216 3164
+-76.088 45.216 3166
+-75.962 45.216 3167
+-75.836 45.216 3169
+-75.71 45.216 3118
+-75.584 45.216 3149
+-75.458 45.216 3151
+-75.332 45.216 3220
+-75.206 45.216 3138
+-75.08 45.216 3140
+-74.954 45.216 3142
+-74.828 45.216 3186
+-74.702 45.216 3144
+-74.576 45.216 3146
+-74.45 45.216 3148
+-74.324 45.216 3374
+-74.198 45.216 3323
+-74.072 45.216 3324
+-73.946 45.216 3453
+-73.82 45.216 3427
+-73.694 45.216 3429
+-73.568 45.216 3377
+-73.442 45.216 3450
+-73.316 45.216 3451
+-73.19 45.216 3452
+-73.064 45.216 3453
+-72.938 45.216 3454
+-72.812 45.216 3453
+-72.686 45.216 3454
+-72.56 45.216 3455
+-72.434 45.216 3444
+-72.308 45.216 3394
+-72.182 45.216 3388
+-72.056 45.216 3389
+-71.93 45.216 3390
+-71.804 45.216 3391
+-71.678 45.216 3392
+-71.552 45.216 3392
+-71.426 45.216 3393
+-71.3 45.216 3394
+-71.174 45.216 3395
+-71.048 45.216 3396
+-70.922 45.216 3396
+-70.796 45.216 3397
+-70.67 45.216 3398
+-70.544 45.216 3398
+-70.418 45.216 3399
+-70.292 45.216 3510
+-70.166 45.216 3511
+-70.04 45.216 3496
+-69.914 45.216 3496
+-69.788 45.216 3497
+-69.662 45.216 3498
+-69.536 45.216 3498
+-69.41 45.216 3499
+-69.284 45.216 3499
+-69.158 45.216 3500
+-69.032 45.216 3500
+-68.906 45.216 3501
+-68.78 45.216 3501
+-68.654 45.216 3539
+-68.528 45.216 3540
+-68.402 45.216 3541
+-68.276 45.216 3541
+-68.15 45.216 3542
+-68.024 45.216 3543
+-67.898 45.216 3502
+-67.772 45.216 3502
+-67.646 45.216 3503
+-67.52 45.216 3503
+-67.394 45.216 3542
+-67.268 45.216 3543
+-67.142 45.216 3543
+-67.016 45.216 3495
+-66.89 45.216 3496
+-66.764 45.216 3497
+-66.638 45.216 3632
+-66.512 45.216 3633
+-66.386 45.216 3633
+-66.26 45.216 3633
+-66.134 45.216 3634
+-66.008 45.216 3566
+-65.882 45.216 3566
+-65.756 45.216 3566
+-65.63 45.216 3566
+-65.504 45.216 3567
+-65.378 45.216 3567
+-65.252 45.216 3567
+-65.126 45.216 3567
+-128 45.164 4439
+-127.874 45.164 4493
+-127.748 45.164 4522
+-127.622 45.164 4554
+-127.496 45.164 4564
+-127.37 45.164 4565
+-127.244 45.164 4580
+-127.118 45.164 4688
+-126.992 45.164 4848
+-126.866 45.164 4966
+-126.74 45.164 5017
+-126.614 45.164 5124
+-126.488 45.164 5272
+-126.362 45.164 5420
+-126.236 45.164 5566
+-126.11 45.164 5603
+-125.984 45.164 5771
+-125.858 45.164 5844
+-125.732 45.164 6005
+-125.606 45.164 6132
+-125.48 45.164 6216
+-125.354 45.164 6360
+-125.228 45.164 6450
+-125.102 45.164 6504
+-124.976 45.164 6583
+-124.85 45.164 6675
+-124.724 45.164 6814
+-124.598 45.164 6881
+-124.472 45.164 7008
+-124.346 45.164 7095
+-124.22 45.164 7197
+-124.094 45.164 7223
+-123.968 45.164 7282
+-123.842 45.164 7359
+-123.716 45.164 7395
+-123.59 45.164 7457
+-123.464 45.164 7534
+-123.338 45.164 7565
+-123.212 45.164 7594
+-123.086 45.164 7609
+-122.96 45.164 7619
+-122.834 45.164 7589
+-122.708 45.164 7574
+-122.582 45.164 7554
+-122.456 45.164 7542
+-122.33 45.164 7475
+-122.204 45.164 7427
+-122.078 45.164 7362
+-121.952 45.164 7287
+-121.826 45.164 7226
+-121.7 45.164 7155
+-121.574 45.164 7052
+-121.448 45.164 6973
+-121.322 45.164 6922
+-121.196 45.164 6821
+-121.07 45.164 6747
+-120.944 45.164 6614
+-120.818 45.164 6437
+-120.692 45.164 6631
+-120.566 45.164 6683
+-120.44 45.164 6800
+-120.314 45.164 6925
+-120.188 45.164 7067
+-120.062 45.164 7138
+-119.936 45.164 7310
+-119.81 45.164 7428
+-119.684 45.164 7540
+-119.558 45.164 7658
+-119.432 45.164 7714
+-119.306 45.164 7826
+-119.18 45.164 7859
+-119.054 45.164 7975
+-118.928 45.164 8082
+-118.802 45.164 8137
+-118.676 45.164 8192
+-118.55 45.164 8205
+-118.424 45.164 8253
+-118.298 45.164 8258
+-118.172 45.164 8248
+-118.046 45.164 8215
+-117.92 45.164 8120
+-117.794 45.164 8064
+-117.668 45.164 7973
+-117.542 45.164 7878
+-117.416 45.164 7855
+-117.29 45.164 7766
+-117.164 45.164 7643
+-117.038 45.164 7504
+-116.912 45.164 7406
+-116.786 45.164 7319
+-116.66 45.164 7227
+-116.534 45.164 7162
+-116.408 45.164 6987
+-116.282 45.164 6860
+-116.156 45.164 6718
+-116.03 45.164 6626
+-115.904 45.164 6506
+-115.778 45.164 6314
+-115.652 45.164 6288
+-115.526 45.164 6157
+-115.4 45.164 5983
+-115.274 45.164 5849
+-115.148 45.164 5788
+-115.022 45.164 5541
+-114.896 45.164 5473
+-114.77 45.164 5371
+-114.644 45.164 5205
+-114.518 45.164 5101
+-114.392 45.164 4988
+-114.266 45.164 4857
+-114.14 45.164 4725
+-114.014 45.164 4530
+-113.888 45.164 4456
+-113.762 45.164 4367
+-113.636 45.164 4195
+-113.51 45.164 4271
+-113.384 45.164 4232
+-113.258 45.164 4120
+-113.132 45.164 3910
+-113.006 45.164 3575
+-112.88 45.164 3374
+-112.754 45.164 3480
+-112.628 45.164 3582
+-112.502 45.164 3599
+-112.376 45.164 3555
+-112.25 45.164 3432
+-112.124 45.164 3232
+-111.998 45.164 2973
+-111.872 45.164 2633
+-111.746 45.164 2316
+-111.62 45.164 2183
+-111.494 45.164 2264
+-111.368 45.164 2436
+-111.242 45.164 2635
+-111.116 45.164 2809
+-110.99 45.164 2948
+-110.864 45.164 3036
+-110.738 45.164 3063
+-110.612 45.164 3130
+-110.486 45.164 3176
+-110.36 45.164 3220
+-110.234 45.164 3256
+-110.108 45.164 3287
+-109.982 45.164 3313
+-109.856 45.164 3336
+-109.73 45.164 3355
+-109.604 45.164 3372
+-109.478 45.164 3387
+-109.352 45.164 3400
+-109.226 45.164 3412
+-109.1 45.164 3285
+-108.974 45.164 3295
+-108.848 45.164 3304
+-108.722 45.164 3312
+-108.596 45.164 3319
+-108.47 45.164 3325
+-108.344 45.164 3331
+-108.218 45.164 3337
+-108.092 45.164 3342
+-107.966 45.164 3347
+-107.84 45.164 3351
+-107.714 45.164 3355
+-107.588 45.164 3359
+-107.462 45.164 3362
+-107.336 45.164 3265
+-107.21 45.164 3267
+-107.084 45.164 3203
+-106.958 45.164 3204
+-106.832 45.164 3204
+-106.706 45.164 3205
+-106.58 45.164 3206
+-106.454 45.164 3206
+-106.328 45.164 3207
+-106.202 45.164 3207
+-106.076 45.164 3207
+-105.95 45.164 3208
+-105.824 45.164 3208
+-105.698 45.164 3132
+-105.572 45.164 3131
+-105.446 45.164 3131
+-105.32 45.164 3131
+-105.194 45.164 3130
+-105.068 45.164 3058
+-104.942 45.164 3054
+-104.816 45.164 3049
+-104.69 45.164 3045
+-104.564 45.164 3008
+-104.438 45.164 2791
+-104.312 45.164 2776
+-104.186 45.164 2595
+-104.06 45.164 2555
+-103.934 45.164 2556
+-103.808 45.164 2545
+-103.682 45.164 2519
+-103.556 45.164 2524
+-103.43 45.164 2519
+-103.304 45.164 2597
+-103.178 45.164 2741
+-103.052 45.164 2746
+-102.926 45.164 2847
+-102.8 45.164 2850
+-102.674 45.164 2835
+-102.548 45.164 2936
+-102.422 45.164 2936
+-102.296 45.164 2936
+-102.17 45.164 3074
+-102.044 45.164 3072
+-101.918 45.164 3072
+-101.792 45.164 3072
+-101.666 45.164 3082
+-101.54 45.164 3093
+-101.414 45.164 3081
+-101.288 45.164 3043
+-101.162 45.164 3086
+-101.036 45.164 3335
+-100.91 45.164 3365
+-100.784 45.164 3363
+-100.658 45.164 3223
+-100.532 45.164 3222
+-100.406 45.164 3221
+-100.28 45.164 3220
+-100.154 45.164 3219
+-100.028 45.164 3218
+-99.902 45.164 3217
+-99.776 45.164 3194
+-99.65 45.164 3221
+-99.524 45.164 3221
+-99.398 45.164 3249
+-99.272 45.164 3225
+-99.146 45.164 3268
+-99.02 45.164 3183
+-98.894 45.164 3204
+-98.768 45.164 3207
+-98.642 45.164 3191
+-98.516 45.164 3208
+-98.39 45.164 3209
+-98.264 45.164 3212
+-98.138 45.164 3232
+-98.012 45.164 3233
+-97.886 45.164 3234
+-97.76 45.164 3326
+-97.634 45.164 3326
+-97.508 45.164 3326
+-97.382 45.164 3294
+-97.256 45.164 3382
+-97.13 45.164 3388
+-97.004 45.164 3387
+-96.878 45.164 3386
+-96.752 45.164 3385
+-96.626 45.164 3362
+-96.5 45.164 3360
+-96.374 45.164 3296
+-96.248 45.164 3416
+-96.122 45.164 3425
+-95.996 45.164 3391
+-95.87 45.164 3389
+-95.744 45.164 3387
+-95.618 45.164 3395
+-95.492 45.164 3353
+-95.366 45.164 3358
+-95.24 45.164 3356
+-95.114 45.164 3351
+-94.988 45.164 3349
+-94.862 45.164 3348
+-94.736 45.164 3346
+-94.61 45.164 3233
+-94.484 45.164 3252
+-94.358 45.164 3252
+-94.232 45.164 3251
+-94.106 45.164 3239
+-93.98 45.164 3275
+-93.854 45.164 3256
+-93.728 45.164 3255
+-93.602 45.164 3244
+-93.476 45.164 3245
+-93.35 45.164 3190
+-93.224 45.164 3213
+-93.098 45.164 3214
+-92.972 45.164 3214
+-92.846 45.164 3215
+-92.72 45.164 3209
+-92.594 45.164 3209
+-92.468 45.164 3209
+-92.342 45.164 3208
+-92.216 45.164 3206
+-92.09 45.164 3158
+-91.964 45.164 3145
+-91.838 45.164 3126
+-91.712 45.164 3086
+-91.586 45.164 3069
+-91.46 45.164 3057
+-91.334 45.164 3098
+-91.208 45.164 3079
+-91.082 45.164 3046
+-90.956 45.164 3018
+-90.83 45.164 2983
+-90.704 45.164 2941
+-90.578 45.164 2904
+-90.452 45.164 2847
+-90.326 45.164 2788
+-90.2 45.164 2731
+-90.074 45.164 2687
+-89.948 45.164 2647
+-89.822 45.164 2647
+-89.696 45.164 2672
+-89.57 45.164 2677
+-89.444 45.164 2689
+-89.318 45.164 2679
+-89.192 45.164 2681
+-89.066 45.164 2681
+-88.94 45.164 2689
+-88.814 45.164 2664
+-88.688 45.164 2641
+-88.562 45.164 2655
+-88.436 45.164 2660
+-88.31 45.164 2662
+-88.184 45.164 2637
+-88.058 45.164 2630
+-87.932 45.164 2618
+-87.806 45.164 2605
+-87.68 45.164 2591
+-87.554 45.164 2565
+-87.428 45.164 2537
+-87.302 45.164 2508
+-87.176 45.164 2479
+-87.05 45.164 2456
+-86.924 45.164 2434
+-86.798 45.164 2413
+-86.672 45.164 2398
+-86.546 45.164 2385
+-86.42 45.164 2377
+-86.294 45.164 2368
+-86.168 45.164 2361
+-86.042 45.164 2356
+-85.916 45.164 2356
+-85.79 45.164 2383
+-85.664 45.164 2384
+-85.538 45.164 2386
+-85.412 45.164 2390
+-85.286 45.164 2398
+-85.16 45.164 2404
+-85.034 45.164 2411
+-84.908 45.164 2420
+-84.782 45.164 2429
+-84.656 45.164 2439
+-84.53 45.164 2438
+-84.404 45.164 2451
+-84.278 45.164 2461
+-84.152 45.164 2535
+-84.026 45.164 2528
+-83.9 45.164 2540
+-83.774 45.164 2614
+-83.648 45.164 2626
+-83.522 45.164 2621
+-83.396 45.164 2659
+-83.27 45.164 2613
+-83.144 45.164 2637
+-83.018 45.164 2677
+-82.892 45.164 2630
+-82.766 45.164 2644
+-82.64 45.164 2592
+-82.514 45.164 2598
+-82.388 45.164 2614
+-82.262 45.164 2607
+-82.136 45.164 2616
+-82.01 45.164 2625
+-81.884 45.164 2591
+-81.758 45.164 2620
+-81.632 45.164 2623
+-81.506 45.164 2623
+-81.38 45.164 2630
+-81.254 45.164 2637
+-81.128 45.164 2644
+-81.002 45.164 2609
+-80.876 45.164 2610
+-80.75 45.164 2616
+-80.624 45.164 2622
+-80.498 45.164 2627
+-80.372 45.164 2630
+-80.246 45.164 2587
+-80.12 45.164 2681
+-79.994 45.164 2682
+-79.868 45.164 2690
+-79.742 45.164 2694
+-79.616 45.164 2698
+-79.49 45.164 2702
+-79.364 45.164 2724
+-79.238 45.164 2710
+-79.112 45.164 2764
+-78.986 45.164 2768
+-78.86 45.164 2764
+-78.734 45.164 2773
+-78.608 45.164 2776
+-78.482 45.164 2780
+-78.356 45.164 2772
+-78.23 45.164 2882
+-78.104 45.164 2886
+-77.978 45.164 2889
+-77.852 45.164 2892
+-77.726 45.164 2991
+-77.6 45.164 2951
+-77.474 45.164 3100
+-77.348 45.164 3102
+-77.222 45.164 3071
+-77.096 45.164 3073
+-76.97 45.164 3074
+-76.844 45.164 3076
+-76.718 45.164 3078
+-76.592 45.164 3079
+-76.466 45.164 3165
+-76.34 45.164 3162
+-76.214 45.164 3164
+-76.088 45.164 3166
+-75.962 45.164 3168
+-75.836 45.164 3117
+-75.71 45.164 3148
+-75.584 45.164 3150
+-75.458 45.164 3218
+-75.332 45.164 3137
+-75.206 45.164 3139
+-75.08 45.164 3141
+-74.954 45.164 3184
+-74.828 45.164 3143
+-74.702 45.164 3145
+-74.576 45.164 3147
+-74.45 45.164 3373
+-74.324 45.164 3322
+-74.198 45.164 3323
+-74.072 45.164 3452
+-73.946 45.164 3426
+-73.82 45.164 3428
+-73.694 45.164 3376
+-73.568 45.164 3449
+-73.442 45.164 3450
+-73.316 45.164 3451
+-73.19 45.164 3452
+-73.064 45.164 3453
+-72.938 45.164 3453
+-72.812 45.164 3454
+-72.686 45.164 3455
+-72.56 45.164 3444
+-72.434 45.164 3393
+-72.308 45.164 3388
+-72.182 45.164 3388
+-72.056 45.164 3389
+-71.93 45.164 3390
+-71.804 45.164 3391
+-71.678 45.164 3392
+-71.552 45.164 3393
+-71.426 45.164 3393
+-71.3 45.164 3394
+-71.174 45.164 3395
+-71.048 45.164 3396
+-70.922 45.164 3397
+-70.796 45.164 3397
+-70.67 45.164 3398
+-70.544 45.164 3399
+-70.418 45.164 3510
+-70.292 45.164 3510
+-70.166 45.164 3495
+-70.04 45.164 3496
+-69.914 45.164 3497
+-69.788 45.164 3497
+-69.662 45.164 3498
+-69.536 45.164 3498
+-69.41 45.164 3499
+-69.284 45.164 3499
+-69.158 45.164 3500
+-69.032 45.164 3500
+-68.906 45.164 3501
+-68.78 45.164 3539
+-68.654 45.164 3539
+-68.528 45.164 3540
+-68.402 45.164 3541
+-68.276 45.164 3541
+-68.15 45.164 3542
+-68.024 45.164 3501
+-67.898 45.164 3502
+-67.772 45.164 3502
+-67.646 45.164 3503
+-67.52 45.164 3541
+-67.394 45.164 3542
+-67.268 45.164 3543
+-67.142 45.164 3495
+-67.016 45.164 3496
+-66.89 45.164 3496
+-66.764 45.164 3632
+-66.638 45.164 3633
+-66.512 45.164 3633
+-66.386 45.164 3633
+-66.26 45.164 3633
+-66.134 45.164 3566
+-66.008 45.164 3566
+-65.882 45.164 3566
+-65.756 45.164 3566
+-65.63 45.164 3566
+-65.504 45.164 3567
+-65.378 45.164 3567
+-65.252 45.164 3567
+-65.126 45.164 3567
+-128 45.112 4469
+-127.874 45.112 4486
+-127.748 45.112 4513
+-127.622 45.112 4557
+-127.496 45.112 4559
+-127.37 45.112 4539
+-127.244 45.112 4437
+-127.118 45.112 4633
+-126.992 45.112 4851
+-126.866 45.112 4967
+-126.74 45.112 4980
+-126.614 45.112 5079
+-126.488 45.112 5221
+-126.362 45.112 5366
+-126.236 45.112 5500
+-126.11 45.112 5624
+-125.984 45.112 5707
+-125.858 45.112 5799
+-125.732 45.112 5983
+-125.606 45.112 6101
+-125.48 45.112 6210
+-125.354 45.112 6342
+-125.228 45.112 6387
+-125.102 45.112 6483
+-124.976 45.112 6595
+-124.85 45.112 6674
+-124.724 45.112 6750
+-124.598 45.112 6883
+-124.472 45.112 6933
+-124.346 45.112 7048
+-124.22 45.112 7140
+-124.094 45.112 7237
+-123.968 45.112 7224
+-123.842 45.112 7289
+-123.716 45.112 7399
+-123.59 45.112 7384
+-123.464 45.112 7454
+-123.338 45.112 7511
+-123.212 45.112 7531
+-123.086 45.112 7537
+-122.96 45.112 7519
+-122.834 45.112 7517
+-122.708 45.112 7520
+-122.582 45.112 7484
+-122.456 45.112 7455
+-122.33 45.112 7425
+-122.204 45.112 7395
+-122.078 45.112 7316
+-121.952 45.112 7277
+-121.826 45.112 7199
+-121.7 45.112 7128
+-121.574 45.112 7000
+-121.448 45.112 6938
+-121.322 45.112 6856
+-121.196 45.112 6769
+-121.07 45.112 6677
+-120.944 45.112 6598
+-120.818 45.112 6429
+-120.692 45.112 6557
+-120.566 45.112 6670
+-120.44 45.112 6807
+-120.314 45.112 6878
+-120.188 45.112 6993
+-120.062 45.112 7170
+-119.936 45.112 7250
+-119.81 45.112 7421
+-119.684 45.112 7509
+-119.558 45.112 7635
+-119.432 45.112 7684
+-119.306 45.112 7768
+-119.18 45.112 7850
+-119.054 45.112 7952
+-118.928 45.112 8022
+-118.802 45.112 8120
+-118.676 45.112 8164
+-118.55 45.112 8168
+-118.424 45.112 8186
+-118.298 45.112 8182
+-118.172 45.112 8184
+-118.046 45.112 8131
+-117.92 45.112 8095
+-117.794 45.112 8043
+-117.668 45.112 7956
+-117.542 45.112 7913
+-117.416 45.112 7805
+-117.29 45.112 7713
+-117.164 45.112 7588
+-117.038 45.112 7511
+-116.912 45.112 7387
+-116.786 45.112 7322
+-116.66 45.112 7214
+-116.534 45.112 7077
+-116.408 45.112 6913
+-116.282 45.112 6814
+-116.156 45.112 6762
+-116.03 45.112 6542
+-115.904 45.112 6528
+-115.778 45.112 6358
+-115.652 45.112 6250
+-115.526 45.112 6084
+-115.4 45.112 5971
+-115.274 45.112 5882
+-115.148 45.112 5785
+-115.022 45.112 5597
+-114.896 45.112 5451
+-114.77 45.112 5325
+-114.644 45.112 5184
+-114.518 45.112 5070
+-114.392 45.112 4989
+-114.266 45.112 4843
+-114.14 45.112 4670
+-114.014 45.112 4488
+-113.888 45.112 4375
+-113.762 45.112 4349
+-113.636 45.112 4288
+-113.51 45.112 4261
+-113.384 45.112 4208
+-113.258 45.112 4130
+-113.132 45.112 3962
+-113.006 45.112 3697
+-112.88 45.112 3515
+-112.754 45.112 3556
+-112.628 45.112 3624
+-112.502 45.112 3633
+-112.376 45.112 3570
+-112.25 45.112 3458
+-112.124 45.112 3251
+-111.998 45.112 2932
+-111.872 45.112 2552
+-111.746 45.112 2198
+-111.62 45.112 2060
+-111.494 45.112 2171
+-111.368 45.112 2395
+-111.242 45.112 2595
+-111.116 45.112 2783
+-110.99 45.112 2932
+-110.864 45.112 3048
+-110.738 45.112 3115
+-110.612 45.112 3123
+-110.486 45.112 3179
+-110.36 45.112 3216
+-110.234 45.112 3254
+-110.108 45.112 3285
+-109.982 45.112 3312
+-109.856 45.112 3334
+-109.73 45.112 3354
+-109.604 45.112 3371
+-109.478 45.112 3386
+-109.352 45.112 3400
+-109.226 45.112 3270
+-109.1 45.112 3281
+-108.974 45.112 3291
+-108.848 45.112 3300
+-108.722 45.112 3308
+-108.596 45.112 3315
+-108.47 45.112 3322
+-108.344 45.112 3328
+-108.218 45.112 3334
+-108.092 45.112 3339
+-107.966 45.112 3344
+-107.84 45.112 3348
+-107.714 45.112 3352
+-107.588 45.112 3356
+-107.462 45.112 3258
+-107.336 45.112 3260
+-107.21 45.112 3196
+-107.084 45.112 3198
+-106.958 45.112 3199
+-106.832 45.112 3199
+-106.706 45.112 3200
+-106.58 45.112 3201
+-106.454 45.112 3201
+-106.328 45.112 3202
+-106.202 45.112 3202
+-106.076 45.112 3203
+-105.95 45.112 3203
+-105.824 45.112 3203
+-105.698 45.112 3204
+-105.572 45.112 3128
+-105.446 45.112 3128
+-105.32 45.112 3127
+-105.194 45.112 3057
+-105.068 45.112 3053
+-104.942 45.112 3048
+-104.816 45.112 3044
+-104.69 45.112 3039
+-104.564 45.112 3002
+-104.438 45.112 2786
+-104.312 45.112 2784
+-104.186 45.112 2591
+-104.06 45.112 2551
+-103.934 45.112 2551
+-103.808 45.112 2541
+-103.682 45.112 2517
+-103.556 45.112 2523
+-103.43 45.112 2538
+-103.304 45.112 2597
+-103.178 45.112 2740
+-103.052 45.112 2829
+-102.926 45.112 2832
+-102.8 45.112 2849
+-102.674 45.112 2834
+-102.548 45.112 2934
+-102.422 45.112 2934
+-102.296 45.112 2934
+-102.17 45.112 2934
+-102.044 45.112 3071
+-101.918 45.112 3070
+-101.792 45.112 3069
+-101.666 45.112 3069
+-101.54 45.112 3070
+-101.414 45.112 3090
+-101.288 45.112 3078
+-101.162 45.112 3040
+-101.036 45.112 3083
+-100.91 45.112 3331
+-100.784 45.112 3361
+-100.658 45.112 3359
+-100.532 45.112 3221
+-100.406 45.112 3219
+-100.28 45.112 3218
+-100.154 45.112 3217
+-100.028 45.112 3216
+-99.902 45.112 3215
+-99.776 45.112 3214
+-99.65 45.112 3191
+-99.524 45.112 3218
+-99.398 45.112 3218
+-99.272 45.112 3246
+-99.146 45.112 3223
+-99.02 45.112 3264
+-98.894 45.112 3180
+-98.768 45.112 3201
+-98.642 45.112 3204
+-98.516 45.112 3189
+-98.39 45.112 3206
+-98.264 45.112 3207
+-98.138 45.112 3210
+-98.012 45.112 3229
+-97.886 45.112 3230
+-97.76 45.112 3231
+-97.634 45.112 3323
+-97.508 45.112 3323
+-97.382 45.112 3324
+-97.256 45.112 3291
+-97.13 45.112 3379
+-97.004 45.112 3385
+-96.878 45.112 3384
+-96.752 45.112 3383
+-96.626 45.112 3382
+-96.5 45.112 3360
+-96.374 45.112 3357
+-96.248 45.112 3295
+-96.122 45.112 3412
+-95.996 45.112 3421
+-95.87 45.112 3387
+-95.744 45.112 3385
+-95.618 45.112 3383
+-95.492 45.112 3390
+-95.366 45.112 3349
+-95.24 45.112 3353
+-95.114 45.112 3348
+-94.988 45.112 3346
+-94.862 45.112 3344
+-94.736 45.112 3343
+-94.61 45.112 3341
+-94.484 45.112 3234
+-94.358 45.112 3253
+-94.232 45.112 3252
+-94.106 45.112 3252
+-93.98 45.112 3240
+-93.854 45.112 3275
+-93.728 45.112 3257
+-93.602 45.112 3257
+-93.476 45.112 3247
+-93.35 45.112 3248
+-93.224 45.112 3196
+-93.098 45.112 3220
+-92.972 45.112 3221
+-92.846 45.112 3222
+-92.72 45.112 3224
+-92.594 45.112 3219
+-92.468 45.112 3219
+-92.342 45.112 3220
+-92.216 45.112 3219
+-92.09 45.112 3218
+-91.964 45.112 3173
+-91.838 45.112 3160
+-91.712 45.112 3128
+-91.586 45.112 3164
+-91.46 45.112 3139
+-91.334 45.112 3126
+-91.208 45.112 3105
+-91.082 45.112 3086
+-90.956 45.112 3054
+-90.83 45.112 3026
+-90.704 45.112 2993
+-90.578 45.112 2967
+-90.452 45.112 2923
+-90.326 45.112 2878
+-90.2 45.112 2836
+-90.074 45.112 2814
+-89.948 45.112 2793
+-89.822 45.112 2786
+-89.696 45.112 2787
+-89.57 45.112 2771
+-89.444 45.112 2774
+-89.318 45.112 2772
+-89.192 45.112 2768
+-89.066 45.112 2762
+-88.94 45.112 2738
+-88.814 45.112 2722
+-88.688 45.112 2695
+-88.562 45.112 2696
+-88.436 45.112 2696
+-88.31 45.112 2694
+-88.184 45.112 2665
+-88.058 45.112 2653
+-87.932 45.112 2676
+-87.806 45.112 2623
+-87.68 45.112 2595
+-87.554 45.112 2561
+-87.428 45.112 2527
+-87.302 45.112 2489
+-87.176 45.112 2458
+-87.05 45.112 2428
+-86.924 45.112 2400
+-86.798 45.112 2381
+-86.672 45.112 2364
+-86.546 45.112 2355
+-86.42 45.112 2345
+-86.294 45.112 2337
+-86.168 45.112 2330
+-86.042 45.112 2329
+-85.916 45.112 2353
+-85.79 45.112 2352
+-85.664 45.112 2354
+-85.538 45.112 2357
+-85.412 45.112 2364
+-85.286 45.112 2372
+-85.16 45.112 2380
+-85.034 45.112 2389
+-84.908 45.112 2400
+-84.782 45.112 2410
+-84.656 45.112 2411
+-84.53 45.112 2425
+-84.404 45.112 2437
+-84.278 45.112 2508
+-84.152 45.112 2503
+-84.026 45.112 2516
+-83.9 45.112 2588
+-83.774 45.112 2602
+-83.648 45.112 2599
+-83.522 45.112 2636
+-83.396 45.112 2594
+-83.27 45.112 2618
+-83.144 45.112 2658
+-83.018 45.112 2614
+-82.892 45.112 2629
+-82.766 45.112 2579
+-82.64 45.112 2586
+-82.514 45.112 2602
+-82.388 45.112 2596
+-82.262 45.112 2606
+-82.136 45.112 2616
+-82.01 45.112 2583
+-81.884 45.112 2612
+-81.758 45.112 2616
+-81.632 45.112 2616
+-81.506 45.112 2624
+-81.38 45.112 2632
+-81.254 45.112 2639
+-81.128 45.112 2605
+-81.002 45.112 2606
+-80.876 45.112 2612
+-80.75 45.112 2618
+-80.624 45.112 2624
+-80.498 45.112 2627
+-80.372 45.112 2585
+-80.246 45.112 2678
+-80.12 45.112 2679
+-79.994 45.112 2687
+-79.868 45.112 2692
+-79.742 45.112 2696
+-79.616 45.112 2700
+-79.49 45.112 2722
+-79.364 45.112 2708
+-79.238 45.112 2762
+-79.112 45.112 2766
+-78.986 45.112 2762
+-78.86 45.112 2771
+-78.734 45.112 2775
+-78.608 45.112 2778
+-78.482 45.112 2771
+-78.356 45.112 2881
+-78.23 45.112 2884
+-78.104 45.112 2887
+-77.978 45.112 2891
+-77.852 45.112 2989
+-77.726 45.112 2950
+-77.6 45.112 3099
+-77.474 45.112 3101
+-77.348 45.112 3070
+-77.222 45.112 3071
+-77.096 45.112 3073
+-76.97 45.112 3075
+-76.844 45.112 3077
+-76.718 45.112 3078
+-76.592 45.112 3164
+-76.466 45.112 3161
+-76.34 45.112 3163
+-76.214 45.112 3165
+-76.088 45.112 3167
+-75.962 45.112 3116
+-75.836 45.112 3147
+-75.71 45.112 3149
+-75.584 45.112 3217
+-75.458 45.112 3136
+-75.332 45.112 3138
+-75.206 45.112 3140
+-75.08 45.112 3183
+-74.954 45.112 3142
+-74.828 45.112 3144
+-74.702 45.112 3146
+-74.576 45.112 3371
+-74.45 45.112 3321
+-74.324 45.112 3322
+-74.198 45.112 3450
+-74.072 45.112 3425
+-73.946 45.112 3427
+-73.82 45.112 3375
+-73.694 45.112 3448
+-73.568 45.112 3449
+-73.442 45.112 3450
+-73.316 45.112 3452
+-73.19 45.112 3453
+-73.064 45.112 3452
+-72.938 45.112 3453
+-72.812 45.112 3454
+-72.686 45.112 3443
+-72.56 45.112 3392
+-72.434 45.112 3387
+-72.308 45.112 3388
+-72.182 45.112 3389
+-72.056 45.112 3390
+-71.93 45.112 3391
+-71.804 45.112 3391
+-71.678 45.112 3392
+-71.552 45.112 3393
+-71.426 45.112 3394
+-71.3 45.112 3395
+-71.174 45.112 3395
+-71.048 45.112 3396
+-70.922 45.112 3397
+-70.796 45.112 3398
+-70.67 45.112 3398
+-70.544 45.112 3509
+-70.418 45.112 3510
+-70.292 45.112 3495
+-70.166 45.112 3496
+-70.04 45.112 3496
+-69.914 45.112 3497
+-69.788 45.112 3497
+-69.662 45.112 3498
+-69.536 45.112 3498
+-69.41 45.112 3499
+-69.284 45.112 3500
+-69.158 45.112 3500
+-69.032 45.112 3501
+-68.906 45.112 3538
+-68.78 45.112 3539
+-68.654 45.112 3540
+-68.528 45.112 3540
+-68.402 45.112 3541
+-68.276 45.112 3542
+-68.15 45.112 3501
+-68.024 45.112 3501
+-67.898 45.112 3502
+-67.772 45.112 3502
+-67.646 45.112 3541
+-67.52 45.112 3542
+-67.394 45.112 3542
+-67.268 45.112 3495
+-67.142 45.112 3495
+-67.016 45.112 3496
+-66.89 45.112 3632
+-66.764 45.112 3632
+-66.638 45.112 3633
+-66.512 45.112 3633
+-66.386 45.112 3633
+-66.26 45.112 3566
+-66.134 45.112 3566
+-66.008 45.112 3566
+-65.882 45.112 3566
+-65.756 45.112 3566
+-65.63 45.112 3566
+-65.504 45.112 3567
+-65.378 45.112 3567
+-65.252 45.112 3567
+-65.126 45.112 3567
+-128 45.06 4468
+-127.874 45.06 4502
+-127.748 45.06 4520
+-127.622 45.06 4558
+-127.496 45.06 4581
+-127.37 45.06 4570
+-127.244 45.06 4563
+-127.118 45.06 4683
+-126.992 45.06 4843
+-126.866 45.06 4943
+-126.74 45.06 4924
+-126.614 45.06 5081
+-126.488 45.06 5145
+-126.362 45.06 5321
+-126.236 45.06 5411
+-126.11 45.06 5552
+-125.984 45.06 5691
+-125.858 45.06 5797
+-125.732 45.06 5946
+-125.606 45.06 6033
+-125.48 45.06 6216
+-125.354 45.06 6285
+-125.228 45.06 6372
+-125.102 45.06 6462
+-124.976 45.06 6534
+-124.85 45.06 6635
+-124.724 45.06 6705
+-124.598 45.06 6804
+-124.472 45.06 6910
+-124.346 45.06 7011
+-124.22 45.06 7107
+-124.094 45.06 7146
+-123.968 45.06 7197
+-123.842 45.06 7233
+-123.716 45.06 7277
+-123.59 45.06 7314
+-123.464 45.06 7368
+-123.338 45.06 7419
+-123.212 45.06 7472
+-123.086 45.06 7467
+-122.96 45.06 7484
+-122.834 45.06 7467
+-122.708 45.06 7450
+-122.582 45.06 7462
+-122.456 45.06 7436
+-122.33 45.06 7368
+-122.204 45.06 7325
+-122.078 45.06 7245
+-121.952 45.06 7196
+-121.826 45.06 7150
+-121.7 45.06 7098
+-121.574 45.06 6975
+-121.448 45.06 6895
+-121.322 45.06 6818
+-121.196 45.06 6725
+-121.07 45.06 6653
+-120.944 45.06 6507
+-120.818 45.06 6365
+-120.692 45.06 6536
+-120.566 45.06 6605
+-120.44 45.06 6824
+-120.314 45.06 6857
+-120.188 45.06 6979
+-120.062 45.06 7110
+-119.936 45.06 7242
+-119.81 45.06 7349
+-119.684 45.06 7449
+-119.558 45.06 7570
+-119.432 45.06 7621
+-119.306 45.06 7738
+-119.18 45.06 7845
+-119.054 45.06 7881
+-118.928 45.06 7985
+-118.802 45.06 8024
+-118.676 45.06 8046
+-118.55 45.06 8100
+-118.424 45.06 8131
+-118.298 45.06 8130
+-118.172 45.06 8100
+-118.046 45.06 8085
+-117.92 45.06 8054
+-117.794 45.06 7980
+-117.668 45.06 7920
+-117.542 45.06 7875
+-117.416 45.06 7716
+-117.29 45.06 7679
+-117.164 45.06 7574
+-117.038 45.06 7491
+-116.912 45.06 7337
+-116.786 45.06 7249
+-116.66 45.06 7175
+-116.534 45.06 7021
+-116.408 45.06 6919
+-116.282 45.06 6844
+-116.156 45.06 6731
+-116.03 45.06 6604
+-115.904 45.06 6532
+-115.778 45.06 6338
+-115.652 45.06 6201
+-115.526 45.06 6085
+-115.4 45.06 5939
+-115.274 45.06 5824
+-115.148 45.06 5773
+-115.022 45.06 5600
+-114.896 45.06 5446
+-114.77 45.06 5277
+-114.644 45.06 5159
+-114.518 45.06 5015
+-114.392 45.06 4978
+-114.266 45.06 4846
+-114.14 45.06 4668
+-114.014 45.06 4502
+-113.888 45.06 4387
+-113.762 45.06 4294
+-113.636 45.06 4240
+-113.51 45.06 4223
+-113.384 45.06 4197
+-113.258 45.06 4125
+-113.132 45.06 4019
+-113.006 45.06 3870
+-112.88 45.06 3716
+-112.754 45.06 3692
+-112.628 45.06 3685
+-112.502 45.06 3660
+-112.376 45.06 3598
+-112.25 45.06 3483
+-112.124 45.06 3296
+-111.998 45.06 2996
+-111.872 45.06 2633
+-111.746 45.06 2316
+-111.62 45.06 2183
+-111.494 45.06 2268
+-111.368 45.06 2467
+-111.242 45.06 2668
+-111.116 45.06 2807
+-110.99 45.06 2948
+-110.864 45.06 3059
+-110.738 45.06 3147
+-110.612 45.06 3191
+-110.486 45.06 3182
+-110.36 45.06 3227
+-110.234 45.06 3255
+-110.108 45.06 3265
+-109.982 45.06 3290
+-109.856 45.06 3311
+-109.73 45.06 3330
+-109.604 45.06 3346
+-109.478 45.06 3360
+-109.352 45.06 3373
+-109.226 45.06 3384
+-109.1 45.06 3277
+-108.974 45.06 3287
+-108.848 45.06 3296
+-108.722 45.06 3304
+-108.596 45.06 3312
+-108.47 45.06 3318
+-108.344 45.06 3325
+-108.218 45.06 3330
+-108.092 45.06 3336
+-107.966 45.06 3341
+-107.84 45.06 3345
+-107.714 45.06 3349
+-107.588 45.06 3250
+-107.462 45.06 3253
+-107.336 45.06 3190
+-107.21 45.06 3191
+-107.084 45.06 3192
+-106.958 45.06 3193
+-106.832 45.06 3194
+-106.706 45.06 3195
+-106.58 45.06 3196
+-106.454 45.06 3196
+-106.328 45.06 3197
+-106.202 45.06 3198
+-106.076 45.06 3198
+-105.95 45.06 3198
+-105.824 45.06 3199
+-105.698 45.06 3199
+-105.572 45.06 3063
+-105.446 45.06 3124
+-105.32 45.06 3056
+-105.194 45.06 3051
+-105.068 45.06 3047
+-104.942 45.06 3043
+-104.816 45.06 3038
+-104.69 45.06 3034
+-104.564 45.06 2995
+-104.438 45.06 2780
+-104.312 45.06 2778
+-104.186 45.06 2586
+-104.06 45.06 2546
+-103.934 45.06 2547
+-103.808 45.06 2443
+-103.682 45.06 2514
+-103.556 45.06 2521
+-103.43 45.06 2538
+-103.304 45.06 2669
+-103.178 45.06 2740
+-103.052 45.06 2828
+-102.926 45.06 2898
+-102.8 45.06 2847
+-102.674 45.06 2930
+-102.548 45.06 2932
+-102.422 45.06 2932
+-102.296 45.06 2932
+-102.17 45.06 2932
+-102.044 45.06 2932
+-101.918 45.06 3068
+-101.792 45.06 3067
+-101.666 45.06 3066
+-101.54 45.06 3066
+-101.414 45.06 3076
+-101.288 45.06 3087
+-101.162 45.06 3076
+-101.036 45.06 3038
+-100.91 45.06 3080
+-100.784 45.06 3327
+-100.658 45.06 3357
+-100.532 45.06 3355
+-100.406 45.06 3218
+-100.28 45.06 3216
+-100.154 45.06 3215
+-100.028 45.06 3214
+-99.902 45.06 3213
+-99.776 45.06 3212
+-99.65 45.06 3211
+-99.524 45.06 3188
+-99.398 45.06 3215
+-99.272 45.06 3215
+-99.146 45.06 3243
+-99.02 45.06 3219
+-98.894 45.06 3261
+-98.768 45.06 3178
+-98.642 45.06 3198
+-98.516 45.06 3201
+-98.39 45.06 3187
+-98.264 45.06 3203
+-98.138 45.06 3204
+-98.012 45.06 3208
+-97.886 45.06 3227
+-97.76 45.06 3228
+-97.634 45.06 3229
+-97.508 45.06 3320
+-97.382 45.06 3320
+-97.256 45.06 3321
+-97.13 45.06 3289
+-97.004 45.06 3376
+-96.878 45.06 3382
+-96.752 45.06 3381
+-96.626 45.06 3379
+-96.5 45.06 3379
+-96.374 45.06 3357
+-96.248 45.06 3354
+-96.122 45.06 3293
+-95.996 45.06 3408
+-95.87 45.06 3417
+-95.744 45.06 3383
+-95.618 45.06 3381
+-95.492 45.06 3378
+-95.366 45.06 3385
+-95.24 45.06 3345
+-95.114 45.06 3348
+-94.988 45.06 3346
+-94.862 45.06 3341
+-94.736 45.06 3339
+-94.61 45.06 3337
+-94.484 45.06 3335
+-94.358 45.06 3307
+-94.232 45.06 3253
+-94.106 45.06 3252
+-93.98 45.06 3252
+-93.854 45.06 3314
+-93.728 45.06 3275
+-93.602 45.06 3258
+-93.476 45.06 3259
+-93.35 45.06 3249
+-93.224 45.06 3252
+-93.098 45.06 3259
+-92.972 45.06 3226
+-92.846 45.06 3228
+-92.72 45.06 3231
+-92.594 45.06 3233
+-92.468 45.06 3228
+-92.342 45.06 3230
+-92.216 45.06 3230
+-92.09 45.06 3230
+-91.964 45.06 3190
+-91.838 45.06 3241
+-91.712 45.06 3222
+-91.586 45.06 3184
+-91.46 45.06 3171
+-91.334 45.06 3147
+-91.208 45.06 3135
+-91.082 45.06 3115
+-90.956 45.06 3097
+-90.83 45.06 3066
+-90.704 45.06 3041
+-90.578 45.06 3024
+-90.452 45.06 2991
+-90.326 45.06 2957
+-90.2 45.06 2940
+-90.074 45.06 2910
+-89.948 45.06 2890
+-89.822 45.06 2878
+-89.696 45.06 2873
+-89.57 45.06 2867
+-89.444 45.06 2832
+-89.318 45.06 2821
+-89.192 45.06 2807
+-89.066 45.06 2792
+-88.94 45.06 2762
+-88.814 45.06 2761
+-88.688 45.06 2720
+-88.562 45.06 2721
+-88.436 45.06 2721
+-88.31 45.06 2721
+-88.184 45.06 2723
+-88.058 45.06 2710
+-87.932 45.06 2661
+-87.806 45.06 2632
+-87.68 45.06 2596
+-87.554 45.06 2556
+-87.428 45.06 2510
+-87.302 45.06 2469
+-87.176 45.06 2427
+-87.05 45.06 2389
+-86.924 45.06 2361
+-86.798 45.06 2340
+-86.672 45.06 2328
+-86.546 45.06 2318
+-86.42 45.06 2310
+-86.294 45.06 2303
+-86.168 45.06 2300
+-86.042 45.06 2320
+-85.916 45.06 2318
+-85.79 45.06 2318
+-85.664 45.06 2321
+-85.538 45.06 2327
+-85.412 45.06 2335
+-85.286 45.06 2344
+-85.16 45.06 2355
+-85.034 45.06 2366
+-84.908 45.06 2378
+-84.782 45.06 2381
+-84.656 45.06 2396
+-84.53 45.06 2409
+-84.404 45.06 2478
+-84.278 45.06 2476
+-84.152 45.06 2490
+-84.026 45.06 2560
+-83.9 45.06 2575
+-83.774 45.06 2574
+-83.648 45.06 2611
+-83.522 45.06 2573
+-83.396 45.06 2597
+-83.27 45.06 2638
+-83.144 45.06 2597
+-83.018 45.06 2612
+-82.892 45.06 2565
+-82.766 45.06 2573
+-82.64 45.06 2590
+-82.514 45.06 2586
+-82.388 45.06 2596
+-82.262 45.06 2606
+-82.136 45.06 2575
+-82.01 45.06 2604
+-81.884 45.06 2608
+-81.758 45.06 2609
+-81.632 45.06 2617
+-81.506 45.06 2625
+-81.38 45.06 2633
+-81.254 45.06 2600
+-81.128 45.06 2602
+-81.002 45.06 2608
+-80.876 45.06 2615
+-80.75 45.06 2621
+-80.624 45.06 2624
+-80.498 45.06 2582
+-80.372 45.06 2674
+-80.246 45.06 2676
+-80.12 45.06 2685
+-79.994 45.06 2689
+-79.868 45.06 2694
+-79.742 45.06 2698
+-79.616 45.06 2719
+-79.49 45.06 2706
+-79.364 45.06 2760
+-79.238 45.06 2764
+-79.112 45.06 2760
+-78.986 45.06 2769
+-78.86 45.06 2773
+-78.734 45.06 2777
+-78.608 45.06 2769
+-78.482 45.06 2879
+-78.356 45.06 2882
+-78.23 45.06 2886
+-78.104 45.06 2889
+-77.978 45.06 2988
+-77.852 45.06 2949
+-77.726 45.06 3097
+-77.6 45.06 3099
+-77.474 45.06 3068
+-77.348 45.06 3070
+-77.222 45.06 3072
+-77.096 45.06 3074
+-76.97 45.06 3075
+-76.844 45.06 3077
+-76.718 45.06 3162
+-76.592 45.06 3159
+-76.466 45.06 3161
+-76.34 45.06 3163
+-76.214 45.06 3165
+-76.088 45.06 3114
+-75.962 45.06 3146
+-75.836 45.06 3148
+-75.71 45.06 3215
+-75.584 45.06 3135
+-75.458 45.06 3137
+-75.332 45.06 3139
+-75.206 45.06 3182
+-75.08 45.06 3141
+-74.954 45.06 3143
+-74.828 45.06 3145
+-74.702 45.06 3370
+-74.576 45.06 3320
+-74.45 45.06 3321
+-74.324 45.06 3449
+-74.198 45.06 3424
+-74.072 45.06 3426
+-73.946 45.06 3375
+-73.82 45.06 3447
+-73.694 45.06 3448
+-73.568 45.06 3450
+-73.442 45.06 3451
+-73.316 45.06 3452
+-73.19 45.06 3451
+-73.064 45.06 3452
+-72.938 45.06 3453
+-72.812 45.06 3442
+-72.686 45.06 3392
+-72.56 45.06 3386
+-72.434 45.06 3387
+-72.308 45.06 3388
+-72.182 45.06 3389
+-72.056 45.06 3390
+-71.93 45.06 3391
+-71.804 45.06 3392
+-71.678 45.06 3392
+-71.552 45.06 3393
+-71.426 45.06 3394
+-71.3 45.06 3395
+-71.174 45.06 3396
+-71.048 45.06 3396
+-70.922 45.06 3397
+-70.796 45.06 3398
+-70.67 45.06 3509
+-70.544 45.06 3509
+-70.418 45.06 3494
+-70.292 45.06 3495
+-70.166 45.06 3496
+-70.04 45.06 3496
+-69.914 45.06 3497
+-69.788 45.06 3497
+-69.662 45.06 3498
+-69.536 45.06 3499
+-69.41 45.06 3499
+-69.284 45.06 3500
+-69.158 45.06 3500
+-69.032 45.06 3538
+-68.906 45.06 3539
+-68.78 45.06 3539
+-68.654 45.06 3540
+-68.528 45.06 3541
+-68.402 45.06 3541
+-68.276 45.06 3500
+-68.15 45.06 3501
+-68.024 45.06 3502
+-67.898 45.06 3502
+-67.772 45.06 3540
+-67.646 45.06 3541
+-67.52 45.06 3542
+-67.394 45.06 3494
+-67.268 45.06 3495
+-67.142 45.06 3496
+-67.016 45.06 3632
+-66.89 45.06 3632
+-66.764 45.06 3632
+-66.638 45.06 3633
+-66.512 45.06 3633
+-66.386 45.06 3565
+-66.26 45.06 3566
+-66.134 45.06 3566
+-66.008 45.06 3566
+-65.882 45.06 3566
+-65.756 45.06 3566
+-65.63 45.06 3566
+-65.504 45.06 3567
+-65.378 45.06 3567
+-65.252 45.06 3567
+-65.126 45.06 3549
+-128 45.008 4403
+-127.874 45.008 4426
+-127.748 45.008 4536
+-127.622 45.008 4549
+-127.496 45.008 4559
+-127.37 45.008 4580
+-127.244 45.008 4646
+-127.118 45.008 4701
+-126.992 45.008 4807
+-126.866 45.008 4912
+-126.74 45.008 4986
+-126.614 45.008 5124
+-126.488 45.008 5220
+-126.362 45.008 5290
+-126.236 45.008 5386
+-126.11 45.008 5517
+-125.984 45.008 5668
+-125.858 45.008 5807
+-125.732 45.008 5937
+-125.606 45.008 5950
+-125.48 45.008 6128
+-125.354 45.008 6253
+-125.228 45.008 6251
+-125.102 45.008 6420
+-124.976 45.008 6546
+-124.85 45.008 6602
+-124.724 45.008 6732
+-124.598 45.008 6738
+-124.472 45.008 6864
+-124.346 45.008 6942
+-124.22 45.008 7035
+-124.094 45.008 7059
+-123.968 45.008 7203
+-123.842 45.008 7213
+-123.716 45.008 7235
+-123.59 45.008 7325
+-123.464 45.008 7311
+-123.338 45.008 7390
+-123.212 45.008 7406
+-123.086 45.008 7426
+-122.96 45.008 7402
+-122.834 45.008 7415
+-122.708 45.008 7401
+-122.582 45.008 7375
+-122.456 45.008 7319
+-122.33 45.008 7308
+-122.204 45.008 7305
+-122.078 45.008 7230
+-121.952 45.008 7156
+-121.826 45.008 7134
+-121.7 45.008 7057
+-121.574 45.008 6963
+-121.448 45.008 6833
+-121.322 45.008 6793
+-121.196 45.008 6672
+-121.07 45.008 6513
+-120.944 45.008 6292
+-120.818 45.008 6437
+-120.692 45.008 6494
+-120.566 45.008 6626
+-120.44 45.008 6723
+-120.314 45.008 6811
+-120.188 45.008 6938
+-120.062 45.008 7028
+-119.936 45.008 7201
+-119.81 45.008 7316
+-119.684 45.008 7442
+-119.558 45.008 7520
+-119.432 45.008 7597
+-119.306 45.008 7723
+-119.18 45.008 7777
+-119.054 45.008 7857
+-118.928 45.008 7926
+-118.802 45.008 8022
+-118.676 45.008 7999
+-118.55 45.008 8042
+-118.424 45.008 8085
+-118.298 45.008 8093
+-118.172 45.008 8064
+-118.046 45.008 8023
+-117.92 45.008 7963
+-117.794 45.008 7923
+-117.668 45.008 7891
+-117.542 45.008 7818
+-117.416 45.008 7724
+-117.29 45.008 7640
+-117.164 45.008 7542
+-117.038 45.008 7440
+-116.912 45.008 7317
+-116.786 45.008 7206
+-116.66 45.008 7118
+-116.534 45.008 7061
+-116.408 45.008 6892
+-116.282 45.008 6794
+-116.156 45.008 6654
+-116.03 45.008 6648
+-115.904 45.008 6493
+-115.778 45.008 6349
+-115.652 45.008 6195
+-115.526 45.008 6010
+-115.4 45.008 5905
+-115.274 45.008 5820
+-115.148 45.008 5708
+-115.022 45.008 5561
+-114.896 45.008 5432
+-114.77 45.008 5264
+-114.644 45.008 5183
+-114.518 45.008 5085
+-114.392 45.008 4953
+-114.266 45.008 4815
+-114.14 45.008 4674
+-114.014 45.008 4505
+-113.888 45.008 4398
+-113.762 45.008 4279
+-113.636 45.008 4074
+-113.51 45.008 4165
+-113.384 45.008 4169
+-113.258 45.008 4120
+-113.132 45.008 4050
+-113.006 45.008 3977
+-112.88 45.008 3855
+-112.754 45.008 3783
+-112.628 45.008 3742
+-112.502 45.008 3699
+-112.376 45.008 3631
+-112.25 45.008 3523
+-112.124 45.008 3360
+-111.998 45.008 3131
+-111.872 45.008 2839
+-111.746 45.008 2584
+-111.62 45.008 2467
+-111.494 45.008 2503
+-111.368 45.008 2631
+-111.242 45.008 2788
+-111.116 45.008 2919
+-110.99 45.008 2992
+-110.864 45.008 3090
+-110.738 45.008 3169
+-110.612 45.008 3233
+-110.486 45.008 3259
+-110.36 45.008 3235
+-110.234 45.008 3241
+-110.108 45.008 3269
+-109.982 45.008 3293
+-109.856 45.008 3314
+-109.73 45.008 3332
+-109.604 45.008 3348
+-109.478 45.008 3362
+-109.352 45.008 3374
+-109.226 45.008 3385
+-109.1 45.008 3395
+-108.974 45.008 3284
+-108.848 45.008 3293
+-108.722 45.008 3301
+-108.596 45.008 3309
+-108.47 45.008 3316
+-108.344 45.008 3322
+-108.218 45.008 3328
+-108.092 45.008 3333
+-107.966 45.008 3338
+-107.84 45.008 3343
+-107.714 45.008 3347
+-107.588 45.008 3246
+-107.462 45.008 3183
+-107.336 45.008 3184
+-107.21 45.008 3186
+-107.084 45.008 3187
+-106.958 45.008 3188
+-106.832 45.008 3189
+-106.706 45.008 3190
+-106.58 45.008 3191
+-106.454 45.008 3192
+-106.328 45.008 3192
+-106.202 45.008 3193
+-106.076 45.008 3193
+-105.95 45.008 3194
+-105.824 45.008 3194
+-105.698 45.008 3061
+-105.572 45.008 3058
+-105.446 45.008 3054
+-105.32 45.008 3050
+-105.194 45.008 3046
+-105.068 45.008 3042
+-104.942 45.008 3037
+-104.816 45.008 3033
+-104.69 45.008 3028
+-104.564 45.008 2989
+-104.438 45.008 2774
+-104.312 45.008 2536
+-104.186 45.008 2580
+-104.06 45.008 2542
+-103.934 45.008 2543
+-103.808 45.008 2440
+-103.682 45.008 2512
+-103.556 45.008 2520
+-103.43 45.008 2537
+-103.304 45.008 2629
+-103.178 45.008 2802
+-103.052 45.008 2894
+-102.926 45.008 2896
+-102.8 45.008 2899
+-102.674 45.008 2927
+-102.548 45.008 2927
+-102.422 45.008 2929
+-102.296 45.008 2929
+-102.17 45.008 2929
+-102.044 45.008 2929
+-101.918 45.008 2930
+-101.792 45.008 3065
+-101.666 45.008 3064
+-101.54 45.008 3063
+-101.414 45.008 3063
+-101.288 45.008 3064
+-101.162 45.008 3084
+-101.036 45.008 3073
+-100.91 45.008 3036
+-100.784 45.008 3078
+-100.658 45.008 3324
+-100.532 45.008 3353
+-100.406 45.008 3351
+-100.28 45.008 3215
+-100.154 45.008 3213
+-100.028 45.008 3212
+-99.902 45.008 3211
+-99.776 45.008 3210
+-99.65 45.008 3208
+-99.524 45.008 3207
+-99.398 45.008 3185
+-99.272 45.008 3212
+-99.146 45.008 3211
+-99.02 45.008 3239
+-98.894 45.008 3216
+-98.768 45.008 3257
+-98.642 45.008 3175
+-98.516 45.008 3195
+-98.39 45.008 3198
+-98.264 45.008 3184
+-98.138 45.008 3201
+-98.012 45.008 3202
+-97.886 45.008 3205
+-97.76 45.008 3224
+-97.634 45.008 3226
+-97.508 45.008 3227
+-97.382 45.008 3317
+-97.256 45.008 3317
+-97.13 45.008 3318
+-97.004 45.008 3287
+-96.878 45.008 3373
+-96.752 45.008 3379
+-96.626 45.008 3378
+-96.5 45.008 3376
+-96.374 45.008 3376
+-96.248 45.008 3354
+-96.122 45.008 3352
+-95.996 45.008 3291
+-95.87 45.008 3404
+-95.744 45.008 3412
+-95.618 45.008 3379
+-95.492 45.008 3376
+-95.366 45.008 3373
+-95.24 45.008 3380
+-95.114 45.008 3340
+-94.988 45.008 3343
+-94.862 45.008 3337
+-94.736 45.008 3335
+-94.61 45.008 3333
+-94.484 45.008 3331
+-94.358 45.008 3329
+-94.232 45.008 3301
+-94.106 45.008 3318
+-93.98 45.008 3315
+-93.854 45.008 3314
+-93.728 45.008 3307
+-93.602 45.008 3274
+-93.476 45.008 3323
+-93.35 45.008 3313
+-93.224 45.008 3314
+-93.098 45.008 3317
+-92.972 45.008 3259
+-92.846 45.008 3262
+-92.72 45.008 3264
+-92.594 45.008 3267
+-92.468 45.008 3293
+-92.342 45.008 3294
+-92.216 45.008 3295
+-92.09 45.008 3295
+-91.964 45.008 3294
+-91.838 45.008 3251
+-91.712 45.008 3247
+-91.586 45.008 3228
+-91.46 45.008 3192
+-91.334 45.008 3179
+-91.208 45.008 3157
+-91.082 45.008 3146
+-90.956 45.008 3127
+-90.83 45.008 3112
+-90.704 45.008 3096
+-90.578 45.008 3074
+-90.452 45.008 3049
+-90.326 45.008 3038
+-90.2 45.008 3013
+-90.074 45.008 2988
+-89.948 45.008 2968
+-89.822 45.008 2952
+-89.696 45.008 2941
+-89.57 45.008 2925
+-89.444 45.008 2906
+-89.318 45.008 2856
+-89.192 45.008 2828
+-89.066 45.008 2799
+-88.94 45.008 2784
+-88.814 45.008 2760
+-88.688 45.008 2745
+-88.562 45.008 2731
+-88.436 45.008 2760
+-88.31 45.008 2748
+-88.184 45.008 2743
+-88.058 45.008 2736
+-87.932 45.008 2676
+-87.806 45.008 2640
+-87.68 45.008 2598
+-87.554 45.008 2546
+-87.428 45.008 2494
+-87.302 45.008 2439
+-87.176 45.008 2385
+-87.05 45.008 2342
+-86.924 45.008 2310
+-86.798 45.008 2294
+-86.672 45.008 2283
+-86.546 45.008 2276
+-86.42 45.008 2271
+-86.294 45.008 2269
+-86.168 45.008 2284
+-86.042 45.008 2281
+-85.916 45.008 2279
+-85.79 45.008 2280
+-85.664 45.008 2286
+-85.538 45.008 2293
+-85.412 45.008 2304
+-85.286 45.008 2315
+-85.16 45.008 2328
+-85.034 45.008 2342
+-84.908 45.008 2348
+-84.782 45.008 2364
+-84.656 45.008 2379
+-84.53 45.008 2445
+-84.404 45.008 2446
+-84.278 45.008 2462
+-84.152 45.008 2529
+-84.026 45.008 2546
+-83.9 45.008 2548
+-83.774 45.008 2585
+-83.648 45.008 2551
+-83.522 45.008 2575
+-83.396 45.008 2616
+-83.27 45.008 2578
+-83.144 45.008 2595
+-83.018 45.008 2551
+-82.892 45.008 2559
+-82.766 45.008 2577
+-82.64 45.008 2574
+-82.514 45.008 2585
+-82.388 45.008 2596
+-82.262 45.008 2567
+-82.136 45.008 2595
+-82.01 45.008 2600
+-81.884 45.008 2602
+-81.758 45.008 2610
+-81.632 45.008 2619
+-81.506 45.008 2627
+-81.38 45.008 2595
+-81.254 45.008 2597
+-81.128 45.008 2604
+-81.002 45.008 2611
+-80.876 45.008 2617
+-80.75 45.008 2620
+-80.624 45.008 2579
+-80.498 45.008 2671
+-80.372 45.008 2673
+-80.246 45.008 2682
+-80.12 45.008 2687
+-79.994 45.008 2691
+-79.868 45.008 2696
+-79.742 45.008 2717
+-79.616 45.008 2704
+-79.49 45.008 2757
+-79.364 45.008 2762
+-79.238 45.008 2758
+-79.112 45.008 2767
+-78.986 45.008 2771
+-78.86 45.008 2775
+-78.734 45.008 2768
+-78.608 45.008 2877
+-78.482 45.008 2881
+-78.356 45.008 2884
+-78.23 45.008 2888
+-78.104 45.008 2986
+-77.978 45.008 2947
+-77.852 45.008 3095
+-77.726 45.008 3097
+-77.6 45.008 3067
+-77.474 45.008 3069
+-77.348 45.008 3071
+-77.222 45.008 3072
+-77.096 45.008 3074
+-76.97 45.008 3076
+-76.844 45.008 3160
+-76.718 45.008 3158
+-76.592 45.008 3160
+-76.466 45.008 3162
+-76.34 45.008 3164
+-76.214 45.008 3113
+-76.088 45.008 3144
+-75.962 45.008 3146
+-75.836 45.008 3213
+-75.71 45.008 3134
+-75.584 45.008 3136
+-75.458 45.008 3138
+-75.332 45.008 3181
+-75.206 45.008 3140
+-75.08 45.008 3142
+-74.954 45.008 3144
+-74.828 45.008 3369
+-74.702 45.008 3319
+-74.576 45.008 3320
+-74.45 45.008 3448
+-74.324 45.008 3423
+-74.198 45.008 3424
+-74.072 45.008 3374
+-73.946 45.008 3446
+-73.82 45.008 3448
+-73.694 45.008 3449
+-73.568 45.008 3450
+-73.442 45.008 3451
+-73.316 45.008 3450
+-73.19 45.008 3451
+-73.064 45.008 3452
+-72.938 45.008 3441
+-72.812 45.008 3391
+-72.686 45.008 3386
+-72.56 45.008 3387
+-72.434 45.008 3388
+-72.308 45.008 3388
+-72.182 45.008 3389
+-72.056 45.008 3390
+-71.93 45.008 3391
+-71.804 45.008 3392
+-71.678 45.008 3393
+-71.552 45.008 3394
+-71.426 45.008 3394
+-71.3 45.008 3395
+-71.174 45.008 3396
+-71.048 45.008 3397
+-70.922 45.008 3397
+-70.796 45.008 3508
+-70.67 45.008 3509
+-70.544 45.008 3494
+-70.418 45.008 3495
+-70.292 45.008 3495
+-70.166 45.008 3496
+-70.04 45.008 3496
+-69.914 45.008 3497
+-69.788 45.008 3498
+-69.662 45.008 3498
+-69.536 45.008 3499
+-69.41 45.008 3499
+-69.284 45.008 3500
+-69.158 45.008 3537
+-69.032 45.008 3538
+-68.906 45.008 3539
+-68.78 45.008 3539
+-68.654 45.008 3540
+-68.528 45.008 3541
+-68.402 45.008 3500
+-68.276 45.008 3501
+-68.15 45.008 3501
+-68.024 45.008 3502
+-67.898 45.008 3540
+-67.772 45.008 3541
+-67.646 45.008 3541
+-67.52 45.008 3494
+-67.394 45.008 3495
+-67.268 45.008 3495
+-67.142 45.008 3631
+-67.016 45.008 3632
+-66.89 45.008 3632
+-66.764 45.008 3632
+-66.638 45.008 3633
+-66.512 45.008 3565
+-66.386 45.008 3565
+-66.26 45.008 3566
+-66.134 45.008 3566
+-66.008 45.008 3566
+-65.882 45.008 3566
+-65.756 45.008 3566
+-65.63 45.008 3566
+-65.504 45.008 3567
+-65.378 45.008 3567
+-65.252 45.008 3549
+-65.126 45.008 3535
+-128 44.956 4398
+-127.874 44.956 4415
+-127.748 44.956 4448
+-127.622 44.956 4533
+-127.496 44.956 4554
+-127.37 44.956 4600
+-127.244 44.956 4586
+-127.118 44.956 4594
+-126.992 44.956 4696
+-126.866 44.956 4866
+-126.74 44.956 5028
+-126.614 44.956 5131
+-126.488 44.956 5227
+-126.362 44.956 5297
+-126.236 44.956 5365
+-126.11 44.956 5488
+-125.984 44.956 5631
+-125.858 44.956 5768
+-125.732 44.956 5899
+-125.606 44.956 5955
+-125.48 44.956 6077
+-125.354 44.956 6208
+-125.228 44.956 6291
+-125.102 44.956 6389
+-124.976 44.956 6445
+-124.85 44.956 6545
+-124.724 44.956 6663
+-124.598 44.956 6735
+-124.472 44.956 6827
+-124.346 44.956 6897
+-124.22 44.956 6963
+-124.094 44.956 7067
+-123.968 44.956 7101
+-123.842 44.956 7206
+-123.716 44.956 7227
+-123.59 44.956 7277
+-123.464 44.956 7263
+-123.338 44.956 7305
+-123.212 44.956 7332
+-123.086 44.956 7363
+-122.96 44.956 7377
+-122.834 44.956 7358
+-122.708 44.956 7337
+-122.582 44.956 7319
+-122.456 44.956 7302
+-122.33 44.956 7269
+-122.204 44.956 7236
+-122.078 44.956 7142
+-121.952 44.956 7091
+-121.826 44.956 7036
+-121.7 44.956 7000
+-121.574 44.956 6928
+-121.448 44.956 6828
+-121.322 44.956 6729
+-121.196 44.956 6592
+-121.07 44.956 6453
+-120.944 44.956 6265
+-120.818 44.956 6296
+-120.692 44.956 6521
+-120.566 44.956 6625
+-120.44 44.956 6696
+-120.314 44.956 6826
+-120.188 44.956 6916
+-120.062 44.956 7029
+-119.936 44.956 7170
+-119.81 44.956 7293
+-119.684 44.956 7367
+-119.558 44.956 7467
+-119.432 44.956 7540
+-119.306 44.956 7649
+-119.18 44.956 7744
+-119.054 44.956 7776
+-118.928 44.956 7865
+-118.802 44.956 7917
+-118.676 44.956 7945
+-118.55 44.956 7964
+-118.424 44.956 8002
+-118.298 44.956 8028
+-118.172 44.956 7990
+-118.046 44.956 7979
+-117.92 44.956 7934
+-117.794 44.956 7901
+-117.668 44.956 7849
+-117.542 44.956 7731
+-117.416 44.956 7715
+-117.29 44.956 7601
+-117.164 44.956 7501
+-117.038 44.956 7433
+-116.912 44.956 7304
+-116.786 44.956 7157
+-116.66 44.956 7119
+-116.534 44.956 6970
+-116.408 44.956 6836
+-116.282 44.956 6761
+-116.156 44.956 6685
+-116.03 44.956 6634
+-115.904 44.956 6467
+-115.778 44.956 6293
+-115.652 44.956 6083
+-115.526 44.956 5962
+-115.4 44.956 5852
+-115.274 44.956 5801
+-115.148 44.956 5665
+-115.022 44.956 5538
+-114.896 44.956 5427
+-114.77 44.956 5239
+-114.644 44.956 5211
+-114.518 44.956 5095
+-114.392 44.956 4902
+-114.266 44.956 4796
+-114.14 44.956 4688
+-114.014 44.956 4495
+-113.888 44.956 4419
+-113.762 44.956 4328
+-113.636 44.956 4173
+-113.51 44.956 4103
+-113.384 44.956 4100
+-113.258 44.956 4110
+-113.132 44.956 4066
+-113.006 44.956 4023
+-112.88 44.956 3914
+-112.754 44.956 3837
+-112.628 44.956 3791
+-112.502 44.956 3731
+-112.376 44.956 3665
+-112.25 44.956 3571
+-112.124 44.956 3440
+-111.998 44.956 3268
+-111.872 44.956 3072
+-111.746 44.956 2880
+-111.62 44.956 2770
+-111.494 44.956 2767
+-111.368 44.956 2835
+-111.242 44.956 2929
+-111.116 44.956 3032
+-110.99 44.956 3107
+-110.864 44.956 3135
+-110.738 44.956 3202
+-110.612 44.956 3258
+-110.486 44.956 3305
+-110.36 44.956 3306
+-110.234 44.956 3250
+-110.108 44.956 3277
+-109.982 44.956 3299
+-109.856 44.956 3319
+-109.73 44.956 3336
+-109.604 44.956 3351
+-109.478 44.956 3365
+-109.352 44.956 3376
+-109.226 44.956 3387
+-109.1 44.956 3396
+-108.974 44.956 3405
+-108.848 44.956 3291
+-108.722 44.956 3299
+-108.596 44.956 3306
+-108.47 44.956 3313
+-108.344 44.956 3319
+-108.218 44.956 3325
+-108.092 44.956 3331
+-107.966 44.956 3336
+-107.84 44.956 3340
+-107.714 44.956 3345
+-107.588 44.956 3175
+-107.462 44.956 3177
+-107.336 44.956 3179
+-107.21 44.956 3180
+-107.084 44.956 3182
+-106.958 44.956 3183
+-106.832 44.956 3184
+-106.706 44.956 3185
+-106.58 44.956 3186
+-106.454 44.956 3187
+-106.328 44.956 3187
+-106.202 44.956 3188
+-106.076 44.956 3189
+-105.95 44.956 3189
+-105.824 44.956 3059
+-105.698 44.956 3056
+-105.572 44.956 3052
+-105.446 44.956 3048
+-105.32 44.956 3044
+-105.194 44.956 3040
+-105.068 44.956 3036
+-104.942 44.956 3032
+-104.816 44.956 3027
+-104.69 44.956 3022
+-104.564 44.956 2777
+-104.438 44.956 2768
+-104.312 44.956 2530
+-104.186 44.956 2575
+-104.06 44.956 2538
+-103.934 44.956 2538
+-103.808 44.956 2484
+-103.682 44.956 2474
+-103.556 44.956 2535
+-103.43 44.956 2555
+-103.304 44.956 2627
+-103.178 44.956 2771
+-103.052 44.956 2893
+-102.926 44.956 2895
+-102.8 44.956 2897
+-102.674 44.956 2925
+-102.548 44.956 2925
+-102.422 44.956 2924
+-102.296 44.956 2927
+-102.17 44.956 2927
+-102.044 44.956 2927
+-101.918 44.956 2927
+-101.792 44.956 2927
+-101.666 44.956 3062
+-101.54 44.956 3060
+-101.414 44.956 3060
+-101.288 44.956 3060
+-101.162 44.956 3070
+-101.036 44.956 3081
+-100.91 44.956 3070
+-100.784 44.956 3033
+-100.658 44.956 3075
+-100.532 44.956 3319
+-100.406 44.956 3348
+-100.28 44.956 3346
+-100.154 44.956 3211
+-100.028 44.956 3210
+-99.902 44.956 3209
+-99.776 44.956 3207
+-99.65 44.956 3206
+-99.524 44.956 3205
+-99.398 44.956 3204
+-99.272 44.956 3182
+-99.146 44.956 3209
+-99.02 44.956 3208
+-98.894 44.956 3235
+-98.768 44.956 3213
+-98.642 44.956 3253
+-98.516 44.956 3172
+-98.39 44.956 3192
+-98.264 44.956 3195
+-98.138 44.956 3182
+-98.012 44.956 3198
+-97.886 44.956 3199
+-97.76 44.956 3203
+-97.634 44.956 3222
+-97.508 44.956 3223
+-97.382 44.956 3225
+-97.256 44.956 3314
+-97.13 44.956 3314
+-97.004 44.956 3315
+-96.878 44.956 3285
+-96.752 44.956 3370
+-96.626 44.956 3375
+-96.5 44.956 3375
+-96.374 44.956 3373
+-96.248 44.956 3372
+-96.122 44.956 3351
+-95.996 44.956 3349
+-95.87 44.956 3289
+-95.744 44.956 3400
+-95.618 44.956 3406
+-95.492 44.956 3374
+-95.366 44.956 3371
+-95.24 44.956 3368
+-95.114 44.956 3374
+-94.988 44.956 3335
+-94.862 44.956 3337
+-94.736 44.956 3335
+-94.61 44.956 3329
+-94.484 44.956 3326
+-94.358 44.956 3324
+-94.232 44.956 3321
+-94.106 44.956 3295
+-93.98 44.956 3310
+-93.854 44.956 3307
+-93.728 44.956 3306
+-93.602 44.956 3300
+-93.476 44.956 3282
+-93.35 44.956 3316
+-93.224 44.956 3307
+-93.098 44.956 3309
+-92.972 44.956 3313
+-92.846 44.956 3260
+-92.72 44.956 3263
+-92.594 44.956 3267
+-92.468 44.956 3295
+-92.342 44.956 3295
+-92.216 44.956 3296
+-92.09 44.956 3297
+-91.964 44.956 3297
+-91.838 44.956 3295
+-91.712 44.956 3255
+-91.586 44.956 3251
+-91.46 44.956 3233
+-91.334 44.956 3199
+-91.208 44.956 3188
+-91.082 44.956 3168
+-90.956 44.956 3159
+-90.83 44.956 3149
+-90.704 44.956 3139
+-90.578 44.956 3116
+-90.452 44.956 3112
+-90.326 44.956 3093
+-90.2 44.956 3073
+-90.074 44.956 3050
+-89.948 44.956 3035
+-89.822 44.956 3016
+-89.696 44.956 2996
+-89.57 44.956 2972
+-89.444 44.956 2948
+-89.318 44.956 2881
+-89.192 44.956 2836
+-89.066 44.956 2795
+-88.94 44.956 2751
+-88.814 44.956 2722
+-88.688 44.956 2734
+-88.562 44.956 2743
+-88.436 44.956 2753
+-88.31 44.956 2763
+-88.184 44.956 2768
+-88.058 44.956 2753
+-87.932 44.956 2690
+-87.806 44.956 2650
+-87.68 44.956 2597
+-87.554 44.956 2539
+-87.428 44.956 2471
+-87.302 44.956 2399
+-87.176 44.956 2334
+-87.05 44.956 2281
+-86.924 44.956 2251
+-86.798 44.956 2235
+-86.672 44.956 2231
+-86.546 44.956 2231
+-86.42 44.956 2233
+-86.294 44.956 2247
+-86.168 44.956 2242
+-86.042 44.956 2238
+-85.916 44.956 2237
+-85.79 44.956 2240
+-85.664 44.956 2246
+-85.538 44.956 2257
+-85.412 44.956 2270
+-85.286 44.956 2285
+-85.16 44.956 2301
+-85.034 44.956 2309
+-84.908 44.956 2328
+-84.782 44.956 2344
+-84.656 44.956 2408
+-84.53 44.956 2413
+-84.404 44.956 2430
+-84.278 44.956 2496
+-84.152 44.956 2515
+-84.026 44.956 2519
+-83.9 44.956 2556
+-83.774 44.956 2527
+-83.648 44.956 2552
+-83.522 44.956 2592
+-83.396 44.956 2559
+-83.27 44.956 2576
+-83.144 44.956 2535
+-83.018 44.956 2545
+-82.892 44.956 2563
+-82.766 44.956 2561
+-82.64 44.956 2574
+-82.514 44.956 2585
+-82.388 44.956 2558
+-82.262 44.956 2586
+-82.136 44.956 2591
+-82.01 44.956 2594
+-81.884 44.956 2603
+-81.758 44.956 2612
+-81.632 44.956 2621
+-81.506 44.956 2590
+-81.38 44.956 2593
+-81.254 44.956 2600
+-81.128 44.956 2607
+-81.002 44.956 2613
+-80.876 44.956 2617
+-80.75 44.956 2577
+-80.624 44.956 2668
+-80.498 44.956 2670
+-80.372 44.956 2679
+-80.246 44.956 2684
+-80.12 44.956 2689
+-79.994 44.956 2694
+-79.868 44.956 2715
+-79.742 44.956 2702
+-79.616 44.956 2755
+-79.49 44.956 2760
+-79.364 44.956 2756
+-79.238 44.956 2765
+-79.112 44.956 2769
+-78.986 44.956 2773
+-78.86 44.956 2767
+-78.734 44.956 2875
+-78.608 44.956 2879
+-78.482 44.956 2883
+-78.356 44.956 2886
+-78.23 44.956 2985
+-78.104 44.956 2946
+-77.978 44.956 3093
+-77.852 44.956 3096
+-77.726 44.956 3065
+-77.6 44.956 3067
+-77.474 44.956 3069
+-77.348 44.956 3071
+-77.222 44.956 3073
+-77.096 44.956 3075
+-76.97 44.956 3159
+-76.844 44.956 3156
+-76.718 44.956 3158
+-76.592 44.956 3161
+-76.466 44.956 3163
+-76.34 44.956 3112
+-76.214 44.956 3143
+-76.088 44.956 3145
+-75.962 44.956 3212
+-75.836 44.956 3132
+-75.71 44.956 3135
+-75.584 44.956 3137
+-75.458 44.956 3179
+-75.332 44.956 3139
+-75.206 44.956 3141
+-75.08 44.956 3143
+-74.954 44.956 3368
+-74.828 44.956 3318
+-74.702 44.956 3319
+-74.576 44.956 3447
+-74.45 44.956 3422
+-74.324 44.956 3423
+-74.198 44.956 3373
+-74.072 44.956 3445
+-73.946 44.956 3447
+-73.82 44.956 3448
+-73.694 44.956 3449
+-73.568 44.956 3450
+-73.442 44.956 3449
+-73.316 44.956 3450
+-73.19 44.956 3451
+-73.064 44.956 3440
+-72.938 44.956 3390
+-72.812 44.956 3385
+-72.686 44.956 3386
+-72.56 44.956 3387
+-72.434 44.956 3388
+-72.308 44.956 3389
+-72.182 44.956 3390
+-72.056 44.956 3391
+-71.93 44.956 3391
+-71.804 44.956 3392
+-71.678 44.956 3393
+-71.552 44.956 3394
+-71.426 44.956 3395
+-71.3 44.956 3396
+-71.174 44.956 3396
+-71.048 44.956 3397
+-70.922 44.956 3508
+-70.796 44.956 3508
+-70.67 44.956 3494
+-70.544 44.956 3494
+-70.418 44.956 3495
+-70.292 44.956 3495
+-70.166 44.956 3496
+-70.04 44.956 3497
+-69.914 44.956 3497
+-69.788 44.956 3498
+-69.662 44.956 3498
+-69.536 44.956 3499
+-69.41 44.956 3500
+-69.284 44.956 3537
+-69.158 44.956 3538
+-69.032 44.956 3538
+-68.906 44.956 3539
+-68.78 44.956 3540
+-68.654 44.956 3540
+-68.528 44.956 3500
+-68.402 44.956 3500
+-68.276 44.956 3501
+-68.15 44.956 3502
+-68.024 44.956 3540
+-67.898 44.956 3540
+-67.772 44.956 3541
+-67.646 44.956 3494
+-67.52 44.956 3494
+-67.394 44.956 3495
+-67.268 44.956 3631
+-67.142 44.956 3631
+-67.016 44.956 3632
+-66.89 44.956 3632
+-66.764 44.956 3632
+-66.638 44.956 3565
+-66.512 44.956 3565
+-66.386 44.956 3565
+-66.26 44.956 3566
+-66.134 44.956 3566
+-66.008 44.956 3566
+-65.882 44.956 3566
+-65.756 44.956 3566
+-65.63 44.956 3566
+-65.504 44.956 3567
+-65.378 44.956 3548
+-65.252 44.956 3535
+-65.126 44.956 3535
+-128 44.904 4323
+-127.874 44.904 4378
+-127.748 44.904 4412
+-127.622 44.904 4478
+-127.496 44.904 4514
+-127.37 44.904 4569
+-127.244 44.904 4537
+-127.118 44.904 4473
+-126.992 44.904 4608
+-126.866 44.904 4830
+-126.74 44.904 4989
+-126.614 44.904 5124
+-126.488 44.904 5234
+-126.362 44.904 5283
+-126.236 44.904 5351
+-126.11 44.904 5441
+-125.984 44.904 5576
+-125.858 44.904 5742
+-125.732 44.904 5849
+-125.606 44.904 5852
+-125.48 44.904 6015
+-125.354 44.904 6157
+-125.228 44.904 6256
+-125.102 44.904 6347
+-124.976 44.904 6378
+-124.85 44.904 6496
+-124.724 44.904 6627
+-124.598 44.904 6634
+-124.472 44.904 6798
+-124.346 44.904 6879
+-124.22 44.904 6924
+-124.094 44.904 7014
+-123.968 44.904 7093
+-123.842 44.904 7110
+-123.716 44.904 7165
+-123.59 44.904 7214
+-123.464 44.904 7268
+-123.338 44.904 7251
+-123.212 44.904 7280
+-123.086 44.904 7305
+-122.96 44.904 7308
+-122.834 44.904 7307
+-122.708 44.904 7293
+-122.582 44.904 7269
+-122.456 44.904 7251
+-122.33 44.904 7217
+-122.204 44.904 7158
+-122.078 44.904 7129
+-121.952 44.904 7023
+-121.826 44.904 6998
+-121.7 44.904 6914
+-121.574 44.904 6852
+-121.448 44.904 6771
+-121.322 44.904 6675
+-121.196 44.904 6582
+-121.07 44.904 6473
+-120.944 44.904 6383
+-120.818 44.904 6313
+-120.692 44.904 6474
+-120.566 44.904 6575
+-120.44 44.904 6749
+-120.314 44.904 6813
+-120.188 44.904 6941
+-120.062 44.904 6985
+-119.936 44.904 7118
+-119.81 44.904 7254
+-119.684 44.904 7321
+-119.558 44.904 7438
+-119.432 44.904 7551
+-119.306 44.904 7620
+-119.18 44.904 7727
+-119.054 44.904 7755
+-118.928 44.904 7860
+-118.802 44.904 7881
+-118.676 44.904 7911
+-118.55 44.904 7938
+-118.424 44.904 7952
+-118.298 44.904 7948
+-118.172 44.904 7946
+-118.046 44.904 7943
+-117.92 44.904 7908
+-117.794 44.904 7842
+-117.668 44.904 7790
+-117.542 44.904 7712
+-117.416 44.904 7641
+-117.29 44.904 7580
+-117.164 44.904 7444
+-117.038 44.904 7364
+-116.912 44.904 7290
+-116.786 44.904 7186
+-116.66 44.904 7059
+-116.534 44.904 7006
+-116.408 44.904 6896
+-116.282 44.904 6733
+-116.156 44.904 6704
+-116.03 44.904 6578
+-115.904 44.904 6396
+-115.778 44.904 6214
+-115.652 44.904 6064
+-115.526 44.904 5965
+-115.4 44.904 5879
+-115.274 44.904 5797
+-115.148 44.904 5671
+-115.022 44.904 5580
+-114.896 44.904 5425
+-114.77 44.904 5308
+-114.644 44.904 5241
+-114.518 44.904 5056
+-114.392 44.904 4883
+-114.266 44.904 4767
+-114.14 44.904 4648
+-114.014 44.904 4519
+-113.888 44.904 4421
+-113.762 44.904 4331
+-113.636 44.904 4122
+-113.51 44.904 3940
+-113.384 44.904 4047
+-113.258 44.904 4094
+-113.132 44.904 4075
+-113.006 44.904 4020
+-112.88 44.904 3924
+-112.754 44.904 3875
+-112.628 44.904 3812
+-112.502 44.904 3763
+-112.376 44.904 3694
+-112.25 44.904 3617
+-112.124 44.904 3516
+-111.998 44.904 3392
+-111.872 44.904 3257
+-111.746 44.904 3135
+-111.62 44.904 3036
+-111.494 44.904 2999
+-111.368 44.904 3026
+-111.242 44.904 3080
+-111.116 44.904 3138
+-110.99 44.904 3204
+-110.864 44.904 3243
+-110.738 44.904 3242
+-110.612 44.904 3253
+-110.486 44.904 3291
+-110.36 44.904 3324
+-110.234 44.904 3352
+-110.108 44.904 3287
+-109.982 44.904 3308
+-109.856 44.904 3326
+-109.73 44.904 3342
+-109.604 44.904 3356
+-109.478 44.904 3368
+-109.352 44.904 3379
+-109.226 44.904 3389
+-109.1 44.904 3398
+-108.974 44.904 3261
+-108.848 44.904 3269
+-108.722 44.904 3277
+-108.596 44.904 3283
+-108.47 44.904 3290
+-108.344 44.904 3295
+-108.218 44.904 3301
+-108.092 44.904 3269
+-107.966 44.904 3273
+-107.84 44.904 3277
+-107.714 44.904 3168
+-107.588 44.904 3170
+-107.462 44.904 3172
+-107.336 44.904 3173
+-107.21 44.904 3175
+-107.084 44.904 3176
+-106.958 44.904 3178
+-106.832 44.904 3179
+-106.706 44.904 3180
+-106.58 44.904 3181
+-106.454 44.904 3182
+-106.328 44.904 3183
+-106.202 44.904 3183
+-106.076 44.904 3184
+-105.95 44.904 3185
+-105.824 44.904 3054
+-105.698 44.904 3050
+-105.572 44.904 3046
+-105.446 44.904 3043
+-105.32 44.904 3039
+-105.194 44.904 3035
+-105.068 44.904 3030
+-104.942 44.904 3026
+-104.816 44.904 3021
+-104.69 44.904 3016
+-104.564 44.904 2771
+-104.438 44.904 2761
+-104.312 44.904 2524
+-104.186 44.904 2570
+-104.06 44.904 2533
+-103.934 44.904 2534
+-103.808 44.904 2481
+-103.682 44.904 2472
+-103.556 44.904 2593
+-103.43 44.904 2622
+-103.304 44.904 2627
+-103.178 44.904 2770
+-103.052 44.904 2857
+-102.926 44.904 2894
+-102.8 44.904 3008
+-102.674 44.904 3007
+-102.548 44.904 2922
+-102.422 44.904 2922
+-102.296 44.904 2922
+-102.17 44.904 2924
+-102.044 44.904 2924
+-101.918 44.904 2924
+-101.792 44.904 2924
+-101.666 44.904 2925
+-101.54 44.904 3059
+-101.414 44.904 3057
+-101.288 44.904 3057
+-101.162 44.904 3057
+-101.036 44.904 3057
+-100.91 44.904 3077
+-100.784 44.904 3066
+-100.658 44.904 3030
+-100.532 44.904 3072
+-100.406 44.904 3315
+-100.28 44.904 3344
+-100.154 44.904 3341
+-100.028 44.904 3208
+-99.902 44.904 3207
+-99.776 44.904 3205
+-99.65 44.904 3204
+-99.524 44.904 3203
+-99.398 44.904 3201
+-99.272 44.904 3200
+-99.146 44.904 3179
+-99.02 44.904 3205
+-98.894 44.904 3204
+-98.768 44.904 3231
+-98.642 44.904 3209
+-98.516 44.904 3249
+-98.39 44.904 3169
+-98.264 44.904 3189
+-98.138 44.904 3192
+-98.012 44.904 3179
+-97.886 44.904 3195
+-97.76 44.904 3196
+-97.634 44.904 3200
+-97.508 44.904 3219
+-97.382 44.904 3221
+-97.256 44.904 3222
+-97.13 44.904 3311
+-97.004 44.904 3311
+-96.878 44.904 3312
+-96.752 44.904 3282
+-96.626 44.904 3366
+-96.5 44.904 3372
+-96.374 44.904 3371
+-96.248 44.904 3369
+-96.122 44.904 3369
+-95.996 44.904 3348
+-95.87 44.904 3346
+-95.744 44.904 3287
+-95.618 44.904 3395
+-95.492 44.904 3401
+-95.366 44.904 3369
+-95.24 44.904 3365
+-95.114 44.904 3362
+-94.988 44.904 3367
+-94.862 44.904 3329
+-94.736 44.904 3331
+-94.61 44.904 3324
+-94.484 44.904 3321
+-94.358 44.904 3318
+-94.232 44.904 3315
+-94.106 44.904 3313
+-93.98 44.904 3287
+-93.854 44.904 3301
+-93.728 44.904 3297
+-93.602 44.904 3297
+-93.476 44.904 3291
+-93.35 44.904 3275
+-93.224 44.904 3308
+-93.098 44.904 3301
+-92.972 44.904 3305
+-92.846 44.904 3310
+-92.72 44.904 3261
+-92.594 44.904 3266
+-92.468 44.904 3294
+-92.342 44.904 3297
+-92.216 44.904 3297
+-92.09 44.904 3299
+-91.964 44.904 3299
+-91.838 44.904 3298
+-91.712 44.904 3295
+-91.586 44.904 3292
+-91.46 44.904 3254
+-91.334 44.904 3237
+-91.208 44.904 3236
+-91.082 44.904 3198
+-90.956 44.904 3179
+-90.83 44.904 3184
+-90.704 44.904 3177
+-90.578 44.904 3164
+-90.452 44.904 3151
+-90.326 44.904 3137
+-90.2 44.904 3121
+-90.074 44.904 3101
+-89.948 44.904 3087
+-89.822 44.904 3066
+-89.696 44.904 3043
+-89.57 44.904 3019
+-89.444 44.904 2981
+-89.318 44.904 2930
+-89.192 44.904 2850
+-89.066 44.904 2774
+-88.94 44.904 2702
+-88.814 44.904 2669
+-88.688 44.904 2692
+-88.562 44.904 2739
+-88.436 44.904 2760
+-88.31 44.904 2785
+-88.184 44.904 2787
+-88.058 44.904 2772
+-87.932 44.904 2706
+-87.806 44.904 2660
+-87.68 44.904 2602
+-87.554 44.904 2529
+-87.428 44.904 2443
+-87.302 44.904 2355
+-87.176 44.904 2271
+-87.05 44.904 2210
+-86.924 44.904 2175
+-86.798 44.904 2168
+-86.672 44.904 2176
+-86.546 44.904 2188
+-86.42 44.904 2206
+-86.294 44.904 2203
+-86.168 44.904 2196
+-86.042 44.904 2190
+-85.916 44.904 2189
+-85.79 44.904 2192
+-85.664 44.904 2203
+-85.538 44.904 2217
+-85.412 44.904 2234
+-85.286 44.904 2252
+-85.16 44.904 2265
+-85.034 44.904 2286
+-84.908 44.904 2305
+-84.782 44.904 2368
+-84.656 44.904 2376
+-84.53 44.904 2396
+-84.404 44.904 2459
+-84.278 44.904 2480
+-84.152 44.904 2488
+-84.026 44.904 2525
+-83.9 44.904 2500
+-83.774 44.904 2526
+-83.648 44.904 2567
+-83.522 44.904 2537
+-83.396 44.904 2556
+-83.27 44.904 2518
+-83.144 44.904 2529
+-83.018 44.904 2548
+-82.892 44.904 2548
+-82.766 44.904 2562
+-82.64 44.904 2574
+-82.514 44.904 2548
+-82.388 44.904 2576
+-82.262 44.904 2583
+-82.136 44.904 2586
+-82.01 44.904 2596
+-81.884 44.904 2605
+-81.758 44.904 2614
+-81.632 44.904 2585
+-81.506 44.904 2588
+-81.38 44.904 2596
+-81.254 44.904 2603
+-81.128 44.904 2610
+-81.002 44.904 2614
+-80.876 44.904 2574
+-80.75 44.904 2665
+-80.624 44.904 2667
+-80.498 44.904 2676
+-80.372 44.904 2682
+-80.246 44.904 2687
+-80.12 44.904 2691
+-79.994 44.904 2712
+-79.868 44.904 2700
+-79.742 44.904 2753
+-79.616 44.904 2758
+-79.49 44.904 2754
+-79.364 44.904 2763
+-79.238 44.904 2768
+-79.112 44.904 2772
+-78.986 44.904 2765
+-78.86 44.904 2873
+-78.734 44.904 2877
+-78.608 44.904 2881
+-78.482 44.904 2885
+-78.356 44.904 2983
+-78.23 44.904 2945
+-78.104 44.904 3091
+-77.978 44.904 3094
+-77.852 44.904 3064
+-77.726 44.904 3066
+-77.6 44.904 3068
+-77.474 44.904 3070
+-77.348 44.904 3072
+-77.222 44.904 3074
+-77.096 44.904 3157
+-76.97 44.904 3155
+-76.844 44.904 3157
+-76.718 44.904 3159
+-76.592 44.904 3161
+-76.466 44.904 3111
+-76.34 44.904 3142
+-76.214 44.904 3144
+-76.088 44.904 3210
+-75.962 44.904 3131
+-75.836 44.904 3133
+-75.71 44.904 3136
+-75.584 44.904 3178
+-75.458 44.904 3138
+-75.332 44.904 3140
+-75.206 44.904 3142
+-75.08 44.904 3366
+-74.954 44.904 3317
+-74.828 44.904 3318
+-74.702 44.904 3446
+-74.576 44.904 3421
+-74.45 44.904 3422
+-74.324 44.904 3372
+-74.198 44.904 3444
+-74.072 44.904 3446
+-73.946 44.904 3447
+-73.82 44.904 3448
+-73.694 44.904 3449
+-73.568 44.904 3448
+-73.442 44.904 3450
+-73.316 44.904 3451
+-73.19 44.904 3440
+-73.064 44.904 3390
+-72.938 44.904 3384
+-72.812 44.904 3385
+-72.686 44.904 3386
+-72.56 44.904 3387
+-72.434 44.904 3388
+-72.308 44.904 3389
+-72.182 44.904 3390
+-72.056 44.904 3391
+-71.93 44.904 3392
+-71.804 44.904 3393
+-71.678 44.904 3393
+-71.552 44.904 3394
+-71.426 44.904 3395
+-71.3 44.904 3396
+-71.174 44.904 3397
+-71.048 44.904 3507
+-70.922 44.904 3508
+-70.796 44.904 3493
+-70.67 44.904 3494
+-70.544 44.904 3494
+-70.418 44.904 3495
+-70.292 44.904 3496
+-70.166 44.904 3496
+-70.04 44.904 3497
+-69.914 44.904 3497
+-69.788 44.904 3498
+-69.662 44.904 3499
+-69.536 44.904 3499
+-69.41 44.904 3536
+-69.284 44.904 3537
+-69.158 44.904 3538
+-69.032 44.904 3539
+-68.906 44.904 3539
+-68.78 44.904 3540
+-68.654 44.904 3499
+-68.528 44.904 3500
+-68.402 44.904 3501
+-68.276 44.904 3501
+-68.15 44.904 3539
+-68.024 44.904 3540
+-67.898 44.904 3541
+-67.772 44.904 3493
+-67.646 44.904 3494
+-67.52 44.904 3495
+-67.394 44.904 3631
+-67.268 44.904 3631
+-67.142 44.904 3631
+-67.016 44.904 3632
+-66.89 44.904 3632
+-66.764 44.904 3565
+-66.638 44.904 3565
+-66.512 44.904 3565
+-66.386 44.904 3565
+-66.26 44.904 3566
+-66.134 44.904 3566
+-66.008 44.904 3566
+-65.882 44.904 3566
+-65.756 44.904 3566
+-65.63 44.904 3566
+-65.504 44.904 3548
+-65.378 44.904 3535
+-65.252 44.904 3535
+-65.126 44.904 3535
+-128 44.852 4275
+-127.874 44.852 4307
+-127.748 44.852 4365
+-127.622 44.852 4424
+-127.496 44.852 4471
+-127.37 44.852 4498
+-127.244 44.852 4529
+-127.118 44.852 4531
+-126.992 44.852 4627
+-126.866 44.852 4805
+-126.74 44.852 4972
+-126.614 44.852 5085
+-126.488 44.852 5197
+-126.362 44.852 5265
+-126.236 44.852 5361
+-126.11 44.852 5458
+-125.984 44.852 5527
+-125.858 44.852 5700
+-125.732 44.852 5798
+-125.606 44.852 5860
+-125.48 44.852 5992
+-125.354 44.852 6060
+-125.228 44.852 6201
+-125.102 44.852 6324
+-124.976 44.852 6397
+-124.85 44.852 6437
+-124.724 44.852 6545
+-124.598 44.852 6650
+-124.472 44.852 6746
+-124.346 44.852 6760
+-124.22 44.852 6883
+-124.094 44.852 6989
+-123.968 44.852 7024
+-123.842 44.852 7082
+-123.716 44.852 7072
+-123.59 44.852 7150
+-123.464 44.852 7152
+-123.338 44.852 7204
+-123.212 44.852 7219
+-123.086 44.852 7238
+-122.96 44.852 7239
+-122.834 44.852 7247
+-122.708 44.852 7237
+-122.582 44.852 7246
+-122.456 44.852 7211
+-122.33 44.852 7158
+-122.204 44.852 7099
+-122.078 44.852 7058
+-121.952 44.852 7013
+-121.826 44.852 6899
+-121.7 44.852 6873
+-121.574 44.852 6858
+-121.448 44.852 6711
+-121.322 44.852 6632
+-121.196 44.852 6590
+-121.07 44.852 6486
+-120.944 44.852 6392
+-120.818 44.852 6370
+-120.692 44.852 6397
+-120.566 44.852 6601
+-120.44 44.852 6688
+-120.314 44.852 6841
+-120.188 44.852 6874
+-120.062 44.852 7000
+-119.936 44.852 7149
+-119.81 44.852 7196
+-119.684 44.852 7335
+-119.558 44.852 7379
+-119.432 44.852 7447
+-119.306 44.852 7587
+-119.18 44.852 7654
+-119.054 44.852 7695
+-118.928 44.852 7763
+-118.802 44.852 7845
+-118.676 44.852 7847
+-118.55 44.852 7902
+-118.424 44.852 7928
+-118.298 44.852 7897
+-118.172 44.852 7875
+-118.046 44.852 7871
+-117.92 44.852 7850
+-117.794 44.852 7778
+-117.668 44.852 7731
+-117.542 44.852 7665
+-117.416 44.852 7588
+-117.29 44.852 7483
+-117.164 44.852 7446
+-117.038 44.852 7297
+-116.912 44.852 7179
+-116.786 44.852 7174
+-116.66 44.852 7022
+-116.534 44.852 6914
+-116.408 44.852 6823
+-116.282 44.852 6692
+-116.156 44.852 6646
+-116.03 44.852 6487
+-115.904 44.852 6354
+-115.778 44.852 6170
+-115.652 44.852 6105
+-115.526 44.852 6021
+-115.4 44.852 5868
+-115.274 44.852 5806
+-115.148 44.852 5649
+-115.022 44.852 5529
+-114.896 44.852 5428
+-114.77 44.852 5338
+-114.644 44.852 5208
+-114.518 44.852 4994
+-114.392 44.852 4828
+-114.266 44.852 4734
+-114.14 44.852 4635
+-114.014 44.852 4540
+-113.888 44.852 4406
+-113.762 44.852 4298
+-113.636 44.852 4159
+-113.51 44.852 4071
+-113.384 44.852 4080
+-113.258 44.852 4086
+-113.132 44.852 4063
+-113.006 44.852 4035
+-112.88 44.852 3917
+-112.754 44.852 3873
+-112.628 44.852 3831
+-112.502 44.852 3772
+-112.376 44.852 3725
+-112.25 44.852 3654
+-112.124 44.852 3580
+-111.998 44.852 3492
+-111.872 44.852 3397
+-111.746 44.852 3311
+-111.62 44.852 3249
+-111.494 44.852 3196
+-111.368 44.852 3184
+-111.242 44.852 3210
+-111.116 44.852 3247
+-110.99 44.852 3281
+-110.864 44.852 3290
+-110.738 44.852 3273
+-110.612 44.852 3286
+-110.486 44.852 3317
+-110.36 44.852 3344
+-110.234 44.852 3368
+-110.108 44.852 3295
+-109.982 44.852 3317
+-109.856 44.852 3334
+-109.73 44.852 3348
+-109.604 44.852 3361
+-109.478 44.852 3373
+-109.352 44.852 3383
+-109.226 44.852 3393
+-109.1 44.852 3251
+-108.974 44.852 3260
+-108.848 44.852 3268
+-108.722 44.852 3275
+-108.596 44.852 3282
+-108.47 44.852 3288
+-108.344 44.852 3294
+-108.218 44.852 3262
+-108.092 44.852 3266
+-107.966 44.852 3270
+-107.84 44.852 3160
+-107.714 44.852 3162
+-107.588 44.852 3164
+-107.462 44.852 3166
+-107.336 44.852 3168
+-107.21 44.852 3170
+-107.084 44.852 3171
+-106.958 44.852 3172
+-106.832 44.852 3174
+-106.706 44.852 3175
+-106.58 44.852 3176
+-106.454 44.852 3177
+-106.328 44.852 3178
+-106.202 44.852 3179
+-106.076 44.852 3179
+-105.95 44.852 3180
+-105.824 44.852 3048
+-105.698 44.852 3044
+-105.572 44.852 3041
+-105.446 44.852 3037
+-105.32 44.852 3033
+-105.194 44.852 3029
+-105.068 44.852 3024
+-104.942 44.852 3020
+-104.816 44.852 3015
+-104.69 44.852 3010
+-104.564 44.852 2969
+-104.438 44.852 2755
+-104.312 44.852 2518
+-104.186 44.852 2465
+-104.06 44.852 2528
+-103.934 44.852 2572
+-103.808 44.852 2478
+-103.682 44.852 2470
+-103.556 44.852 2591
+-103.43 44.852 2621
+-103.304 44.852 2627
+-103.178 44.852 2769
+-103.052 44.852 2856
+-102.926 44.852 2858
+-102.8 44.852 3006
+-102.674 44.852 3005
+-102.548 44.852 3004
+-102.422 44.852 2920
+-102.296 44.852 2919
+-102.17 44.852 2919
+-102.044 44.852 2922
+-101.918 44.852 2922
+-101.792 44.852 2922
+-101.666 44.852 2922
+-101.54 44.852 2922
+-101.414 44.852 3055
+-101.288 44.852 3054
+-101.162 44.852 3053
+-101.036 44.852 3053
+-100.91 44.852 3063
+-100.784 44.852 3074
+-100.658 44.852 3063
+-100.532 44.852 3028
+-100.406 44.852 3069
+-100.28 44.852 3311
+-100.154 44.852 3339
+-100.028 44.852 3336
+-99.902 44.852 3204
+-99.776 44.852 3203
+-99.65 44.852 3202
+-99.524 44.852 3200
+-99.398 44.852 3199
+-99.272 44.852 3197
+-99.146 44.852 3196
+-99.02 44.852 3175
+-98.894 44.852 3201
+-98.768 44.852 3200
+-98.642 44.852 3227
+-98.516 44.852 3205
+-98.39 44.852 3245
+-98.264 44.852 3166
+-98.138 44.852 3185
+-98.012 44.852 3189
+-97.886 44.852 3176
+-97.76 44.852 3192
+-97.634 44.852 3194
+-97.508 44.852 3198
+-97.382 44.852 3217
+-97.256 44.852 3218
+-97.13 44.852 3220
+-97.004 44.852 3307
+-96.878 44.852 3308
+-96.752 44.852 3309
+-96.626 44.852 3280
+-96.5 44.852 3363
+-96.374 44.852 3368
+-96.248 44.852 3368
+-96.122 44.852 3366
+-95.996 44.852 3365
+-95.87 44.852 3345
+-95.744 44.852 3342
+-95.618 44.852 3285
+-95.492 44.852 3389
+-95.366 44.852 3395
+-95.24 44.852 3363
+-95.114 44.852 3359
+-94.988 44.852 3355
+-94.862 44.852 3360
+-94.736 44.852 3322
+-94.61 44.852 3323
+-94.484 44.852 3320
+-94.358 44.852 3313
+-94.232 44.852 3309
+-94.106 44.852 3306
+-93.98 44.852 3302
+-93.854 44.852 3277
+-93.728 44.852 3290
+-93.602 44.852 3286
+-93.476 44.852 3286
+-93.35 44.852 3282
+-93.224 44.852 3268
+-93.098 44.852 3300
+-92.972 44.852 3295
+-92.846 44.852 3301
+-92.72 44.852 3308
+-92.594 44.852 3265
+-92.468 44.852 3294
+-92.342 44.852 3298
+-92.216 44.852 3300
+-92.09 44.852 3300
+-91.964 44.852 3300
+-91.838 44.852 3299
+-91.712 44.852 3296
+-91.586 44.852 3292
+-91.46 44.852 3287
+-91.334 44.852 3272
+-91.208 44.852 3238
+-91.082 44.852 3237
+-90.956 44.852 3206
+-90.83 44.852 3201
+-90.704 44.852 3199
+-90.578 44.852 3199
+-90.452 44.852 3183
+-90.326 44.852 3174
+-90.2 44.852 3161
+-90.074 44.852 3148
+-89.948 44.852 3131
+-89.822 44.852 3110
+-89.696 44.852 3091
+-89.57 44.852 3058
+-89.444 44.852 3015
+-89.318 44.852 2966
+-89.192 44.852 2869
+-89.066 44.852 2774
+-88.94 44.852 2677
+-88.814 44.852 2634
+-88.688 44.852 2671
+-88.562 44.852 2740
+-88.436 44.852 2775
+-88.31 44.852 2807
+-88.184 44.852 2810
+-88.058 44.852 2794
+-87.932 44.852 2763
+-87.806 44.852 2677
+-87.68 44.852 2610
+-87.554 44.852 2520
+-87.428 44.852 2420
+-87.302 44.852 2309
+-87.176 44.852 2207
+-87.05 44.852 2126
+-86.924 44.852 2090
+-86.798 44.852 2096
+-86.672 44.852 2123
+-86.546 44.852 2156
+-86.42 44.852 2163
+-86.294 44.852 2157
+-86.168 44.852 2145
+-86.042 44.852 2135
+-85.916 44.852 2133
+-85.79 44.852 2141
+-85.664 44.852 2154
+-85.538 44.852 2174
+-85.412 44.852 2196
+-85.286 44.852 2213
+-85.16 44.852 2238
+-85.034 44.852 2261
+-84.908 44.852 2322
+-84.782 44.852 2334
+-84.656 44.852 2357
+-84.53 44.852 2419
+-84.404 44.852 2442
+-84.278 44.852 2453
+-84.152 44.852 2491
+-84.026 44.852 2471
+-83.9 44.852 2498
+-83.774 44.852 2539
+-83.648 44.852 2514
+-83.522 44.852 2535
+-83.396 44.852 2500
+-83.27 44.852 2513
+-83.144 44.852 2533
+-83.018 44.852 2534
+-82.892 44.852 2549
+-82.766 44.852 2562
+-82.64 44.852 2538
+-82.514 44.852 2566
+-82.388 44.852 2573
+-82.262 44.852 2577
+-82.136 44.852 2588
+-82.01 44.852 2598
+-81.884 44.852 2608
+-81.758 44.852 2579
+-81.632 44.852 2583
+-81.506 44.852 2591
+-81.38 44.852 2599
+-81.254 44.852 2606
+-81.128 44.852 2611
+-81.002 44.852 2571
+-80.876 44.852 2661
+-80.75 44.852 2664
+-80.624 44.852 2673
+-80.498 44.852 2679
+-80.372 44.852 2684
+-80.246 44.852 2689
+-80.12 44.852 2710
+-79.994 44.852 2698
+-79.868 44.852 2750
+-79.742 44.852 2756
+-79.616 44.852 2752
+-79.49 44.852 2761
+-79.364 44.852 2766
+-79.238 44.852 2770
+-79.112 44.852 2764
+-78.986 44.852 2872
+-78.86 44.852 2876
+-78.734 44.852 2880
+-78.608 44.852 2883
+-78.482 44.852 2981
+-78.356 44.852 2943
+-78.23 44.852 3090
+-78.104 44.852 3092
+-77.978 44.852 3062
+-77.852 44.852 3064
+-77.726 44.852 3066
+-77.6 44.852 3068
+-77.474 44.852 3070
+-77.348 44.852 3072
+-77.222 44.852 3155
+-77.096 44.852 3153
+-76.97 44.852 3155
+-76.844 44.852 3158
+-76.718 44.852 3160
+-76.592 44.852 3110
+-76.466 44.852 3140
+-76.34 44.852 3143
+-76.214 44.852 3209
+-76.088 44.852 3130
+-75.962 44.852 3132
+-75.836 44.852 3135
+-75.71 44.852 3177
+-75.584 44.852 3137
+-75.458 44.852 3139
+-75.332 44.852 3141
+-75.206 44.852 3365
+-75.08 44.852 3316
+-74.954 44.852 3317
+-74.828 44.852 3444
+-74.702 44.852 3420
+-74.576 44.852 3421
+-74.45 44.852 3371
+-74.324 44.852 3443
+-74.198 44.852 3445
+-74.072 44.852 3446
+-73.946 44.852 3447
+-73.82 44.852 3448
+-73.694 44.852 3447
+-73.568 44.852 3449
+-73.442 44.852 3450
+-73.316 44.852 3439
+-73.19 44.852 3389
+-73.064 44.852 3384
+-72.938 44.852 3385
+-72.812 44.852 3386
+-72.686 44.852 3387
+-72.56 44.852 3388
+-72.434 44.852 3389
+-72.308 44.852 3389
+-72.182 44.852 3390
+-72.056 44.852 3391
+-71.93 44.852 3392
+-71.804 44.852 3393
+-71.678 44.852 3394
+-71.552 44.852 3395
+-71.426 44.852 3395
+-71.3 44.852 3396
+-71.174 44.852 3507
+-71.048 44.852 3507
+-70.922 44.852 3493
+-70.796 44.852 3493
+-70.67 44.852 3494
+-70.544 44.852 3495
+-70.418 44.852 3495
+-70.292 44.852 3496
+-70.166 44.852 3496
+-70.04 44.852 3497
+-69.914 44.852 3498
+-69.788 44.852 3498
+-69.662 44.852 3499
+-69.536 44.852 3536
+-69.41 44.852 3537
+-69.284 44.852 3537
+-69.158 44.852 3538
+-69.032 44.852 3539
+-68.906 44.852 3540
+-68.78 44.852 3499
+-68.654 44.852 3500
+-68.528 44.852 3500
+-68.402 44.852 3501
+-68.276 44.852 3539
+-68.15 44.852 3539
+-68.024 44.852 3540
+-67.898 44.852 3493
+-67.772 44.852 3494
+-67.646 44.852 3494
+-67.52 44.852 3631
+-67.394 44.852 3631
+-67.268 44.852 3631
+-67.142 44.852 3631
+-67.016 44.852 3632
+-66.89 44.852 3565
+-66.764 44.852 3565
+-66.638 44.852 3565
+-66.512 44.852 3565
+-66.386 44.852 3565
+-66.26 44.852 3566
+-66.134 44.852 3566
+-66.008 44.852 3566
+-65.882 44.852 3566
+-65.756 44.852 3566
+-65.63 44.852 3548
+-65.504 44.852 3535
+-65.378 44.852 3535
+-65.252 44.852 3535
+-65.126 44.852 3535
+-128 44.8 4219
+-127.874 44.8 4271
+-127.748 44.8 4293
+-127.622 44.8 4341
+-127.496 44.8 4392
+-127.37 44.8 4450
+-127.244 44.8 4470
+-127.118 44.8 4494
+-126.992 44.8 4567
+-126.866 44.8 4727
+-126.74 44.8 4925
+-126.614 44.8 5040
+-126.488 44.8 5132
+-126.362 44.8 5214
+-126.236 44.8 5342
+-126.11 44.8 5424
+-125.984 44.8 5443
+-125.858 44.8 5600
+-125.732 44.8 5775
+-125.606 44.8 5898
+-125.48 44.8 5921
+-125.354 44.8 6062
+-125.228 44.8 6163
+-125.102 44.8 6277
+-124.976 44.8 6335
+-124.85 44.8 6393
+-124.724 44.8 6479
+-124.598 44.8 6560
+-124.472 44.8 6683
+-124.346 44.8 6758
+-124.22 44.8 6832
+-124.094 44.8 6886
+-123.968 44.8 6931
+-123.842 44.8 6996
+-123.716 44.8 7043
+-123.59 44.8 7084
+-123.464 44.8 7142
+-123.338 44.8 7133
+-123.212 44.8 7157
+-123.086 44.8 7178
+-122.96 44.8 7197
+-122.834 44.8 7184
+-122.708 44.8 7191
+-122.582 44.8 7177
+-122.456 44.8 7134
+-122.33 44.8 7097
+-122.204 44.8 7099
+-122.078 44.8 7011
+-121.952 44.8 6938
+-121.826 44.8 6882
+-121.7 44.8 6813
+-121.574 44.8 6753
+-121.448 44.8 6661
+-121.322 44.8 6591
+-121.196 44.8 6516
+-121.07 44.8 6436
+-120.944 44.8 6332
+-120.818 44.8 6259
+-120.692 44.8 6417
+-120.566 44.8 6548
+-120.44 44.8 6640
+-120.314 44.8 6753
+-120.188 44.8 6881
+-120.062 44.8 6939
+-119.936 44.8 7072
+-119.81 44.8 7156
+-119.684 44.8 7257
+-119.558 44.8 7363
+-119.432 44.8 7459
+-119.306 44.8 7502
+-119.18 44.8 7559
+-119.054 44.8 7670
+-118.928 44.8 7720
+-118.802 44.8 7765
+-118.676 44.8 7812
+-118.55 44.8 7852
+-118.424 44.8 7865
+-118.298 44.8 7833
+-118.172 44.8 7834
+-118.046 44.8 7796
+-117.92 44.8 7784
+-117.794 44.8 7713
+-117.668 44.8 7730
+-117.542 44.8 7600
+-117.416 44.8 7563
+-117.29 44.8 7441
+-117.164 44.8 7398
+-117.038 44.8 7330
+-116.912 44.8 7209
+-116.786 44.8 7108
+-116.66 44.8 7022
+-116.534 44.8 6874
+-116.408 44.8 6770
+-116.282 44.8 6675
+-116.156 44.8 6590
+-116.03 44.8 6441
+-115.904 44.8 6331
+-115.778 44.8 6162
+-115.652 44.8 6106
+-115.526 44.8 5987
+-115.4 44.8 5842
+-115.274 44.8 5711
+-115.148 44.8 5563
+-115.022 44.8 5425
+-114.896 44.8 5289
+-114.77 44.8 5365
+-114.644 44.8 5212
+-114.518 44.8 5023
+-114.392 44.8 4830
+-114.266 44.8 4706
+-114.14 44.8 4590
+-114.014 44.8 4553
+-113.888 44.8 4374
+-113.762 44.8 4241
+-113.636 44.8 4163
+-113.51 44.8 4128
+-113.384 44.8 4107
+-113.258 44.8 4084
+-113.132 44.8 4045
+-113.006 44.8 3996
+-112.88 44.8 3912
+-112.754 44.8 3850
+-112.628 44.8 3790
+-112.502 44.8 3763
+-112.376 44.8 3731
+-112.25 44.8 3689
+-112.124 44.8 3628
+-111.998 44.8 3566
+-111.872 44.8 3499
+-111.746 44.8 3437
+-111.62 44.8 3389
+-111.494 44.8 3361
+-111.368 44.8 3325
+-111.242 44.8 3318
+-111.116 44.8 3337
+-110.99 44.8 3334
+-110.864 44.8 3346
+-110.738 44.8 3373
+-110.612 44.8 3342
+-110.486 44.8 3344
+-110.36 44.8 3366
+-110.234 44.8 3386
+-110.108 44.8 3301
+-109.982 44.8 3324
+-109.856 44.8 3330
+-109.73 44.8 3343
+-109.604 44.8 3354
+-109.478 44.8 3378
+-109.352 44.8 3388
+-109.226 44.8 3242
+-109.1 44.8 3251
+-108.974 44.8 3259
+-108.848 44.8 3267
+-108.722 44.8 3274
+-108.596 44.8 3281
+-108.47 44.8 3287
+-108.344 44.8 3255
+-108.218 44.8 3259
+-108.092 44.8 3263
+-107.966 44.8 3152
+-107.84 44.8 3154
+-107.714 44.8 3157
+-107.588 44.8 3159
+-107.462 44.8 3161
+-107.336 44.8 3163
+-107.21 44.8 3164
+-107.084 44.8 3166
+-106.958 44.8 3167
+-106.832 44.8 3168
+-106.706 44.8 3170
+-106.58 44.8 3171
+-106.454 44.8 3172
+-106.328 44.8 3173
+-106.202 44.8 3174
+-106.076 44.8 3175
+-105.95 44.8 3176
+-105.824 44.8 3042
+-105.698 44.8 3039
+-105.572 44.8 3035
+-105.446 44.8 3031
+-105.32 44.8 3027
+-105.194 44.8 3023
+-105.068 44.8 3018
+-104.942 44.8 3014
+-104.816 44.8 3009
+-104.69 44.8 3004
+-104.564 44.8 2785
+-104.438 44.8 2734
+-104.312 44.8 2539
+-104.186 44.8 2559
+-104.06 44.8 2552
+-103.934 44.8 2582
+-103.808 44.8 2475
+-103.682 44.8 2468
+-103.556 44.8 2589
+-103.43 44.8 2637
+-103.304 44.8 2691
+-103.178 44.8 2805
+-103.052 44.8 2854
+-102.926 44.8 2856
+-102.8 44.8 2945
+-102.674 44.8 3002
+-102.548 44.8 3001
+-102.422 44.8 3000
+-102.296 44.8 2917
+-102.17 44.8 2916
+-102.044 44.8 2916
+-101.918 44.8 2919
+-101.792 44.8 2919
+-101.666 44.8 2919
+-101.54 44.8 2919
+-101.414 44.8 2919
+-101.288 44.8 3052
+-101.162 44.8 3050
+-101.036 44.8 3050
+-100.91 44.8 3050
+-100.784 44.8 3050
+-100.658 44.8 3070
+-100.532 44.8 3060
+-100.406 44.8 3025
+-100.28 44.8 3066
+-100.154 44.8 3306
+-100.028 44.8 3334
+-99.902 44.8 3331
+-99.776 44.8 3201
+-99.65 44.8 3199
+-99.524 44.8 3198
+-99.398 44.8 3196
+-99.272 44.8 3195
+-99.146 44.8 3193
+-99.02 44.8 3192
+-98.894 44.8 3172
+-98.768 44.8 3197
+-98.642 44.8 3196
+-98.516 44.8 3223
+-98.39 44.8 3201
+-98.264 44.8 3240
+-98.138 44.8 3163
+-98.012 44.8 3182
+-97.886 44.8 3185
+-97.76 44.8 3173
+-97.634 44.8 3189
+-97.508 44.8 3191
+-97.382 44.8 3195
+-97.256 44.8 3214
+-97.13 44.8 3216
+-97.004 44.8 3218
+-96.878 44.8 3304
+-96.752 44.8 3305
+-96.626 44.8 3306
+-96.5 44.8 3278
+-96.374 44.8 3360
+-96.248 44.8 3365
+-96.122 44.8 3364
+-95.996 44.8 3362
+-95.87 44.8 3361
+-95.744 44.8 3341
+-95.618 44.8 3339
+-95.492 44.8 3283
+-95.366 44.8 3383
+-95.24 44.8 3388
+-95.114 44.8 3357
+-94.988 44.8 3352
+-94.862 44.8 3348
+-94.736 44.8 3351
+-94.61 44.8 3314
+-94.484 44.8 3314
+-94.358 44.8 3307
+-94.232 44.8 3303
+-94.106 44.8 3298
+-93.98 44.8 3294
+-93.854 44.8 3290
+-93.728 44.8 3265
+-93.602 44.8 3276
+-93.476 44.8 3273
+-93.35 44.8 3274
+-93.224 44.8 3271
+-93.098 44.8 3260
+-92.972 44.8 3293
+-92.846 44.8 3291
+-92.72 44.8 3299
+-92.594 44.8 3308
+-92.468 44.8 3279
+-92.342 44.8 3297
+-92.216 44.8 3301
+-92.09 44.8 3303
+-91.964 44.8 3302
+-91.838 44.8 3300
+-91.712 44.8 3297
+-91.586 44.8 3291
+-91.46 44.8 3283
+-91.334 44.8 3275
+-91.208 44.8 3261
+-91.082 44.8 3234
+-90.956 44.8 3236
+-90.83 44.8 3220
+-90.704 44.8 3224
+-90.578 44.8 3219
+-90.452 44.8 3217
+-90.326 44.8 3204
+-90.2 44.8 3197
+-90.074 44.8 3185
+-89.948 44.8 3169
+-89.822 44.8 3156
+-89.696 44.8 3130
+-89.57 44.8 3097
+-89.444 44.8 3063
+-89.318 44.8 3013
+-89.192 44.8 2912
+-89.066 44.8 2821
+-88.94 44.8 2727
+-88.814 44.8 2684
+-88.688 44.8 2716
+-88.562 44.8 2790
+-88.436 44.8 2839
+-88.31 44.8 2839
+-88.184 44.8 2839
+-88.058 44.8 2824
+-87.932 44.8 2788
+-87.806 44.8 2699
+-87.68 44.8 2618
+-87.554 44.8 2523
+-87.428 44.8 2406
+-87.302 44.8 2279
+-87.176 44.8 2150
+-87.05 44.8 2051
+-86.924 44.8 2013
+-86.798 44.8 2035
+-86.672 44.8 2087
+-86.546 44.8 2120
+-86.42 44.8 2124
+-86.294 44.8 2108
+-86.168 44.8 2085
+-86.042 44.8 2069
+-85.916 44.8 2068
+-85.79 44.8 2079
+-85.664 44.8 2100
+-85.538 44.8 2127
+-85.412 44.8 2151
+-85.286 44.8 2181
+-85.16 44.8 2209
+-85.034 44.8 2270
+-84.908 44.8 2288
+-84.782 44.8 2314
+-84.656 44.8 2375
+-84.53 44.8 2401
+-84.404 44.8 2416
+-84.278 44.8 2454
+-84.152 44.8 2440
+-84.026 44.8 2468
+-83.9 44.8 2510
+-83.774 44.8 2489
+-83.648 44.8 2511
+-83.522 44.8 2481
+-83.396 44.8 2495
+-83.27 44.8 2516
+-83.144 44.8 2519
+-83.018 44.8 2535
+-82.892 44.8 2549
+-82.766 44.8 2527
+-82.64 44.8 2555
+-82.514 44.8 2564
+-82.388 44.8 2569
+-82.262 44.8 2580
+-82.136 44.8 2591
+-82.01 44.8 2601
+-81.884 44.8 2574
+-81.758 44.8 2578
+-81.632 44.8 2587
+-81.506 44.8 2595
+-81.38 44.8 2602
+-81.254 44.8 2607
+-81.128 44.8 2569
+-81.002 44.8 2658
+-80.876 44.8 2661
+-80.75 44.8 2671
+-80.624 44.8 2676
+-80.498 44.8 2682
+-80.372 44.8 2687
+-80.246 44.8 2708
+-80.12 44.8 2697
+-79.994 44.8 2748
+-79.868 44.8 2753
+-79.742 44.8 2751
+-79.616 44.8 2760
+-79.49 44.8 2764
+-79.364 44.8 2769
+-79.238 44.8 2762
+-79.112 44.8 2870
+-78.986 44.8 2874
+-78.86 44.8 2878
+-78.734 44.8 2882
+-78.608 44.8 2980
+-78.482 44.8 2942
+-78.356 44.8 3088
+-78.23 44.8 3090
+-78.104 44.8 3061
+-77.978 44.8 3063
+-77.852 44.8 3065
+-77.726 44.8 3067
+-77.6 44.8 3069
+-77.474 44.8 3071
+-77.348 44.8 3154
+-77.222 44.8 3151
+-77.096 44.8 3154
+-76.97 44.8 3156
+-76.844 44.8 3159
+-76.718 44.8 3109
+-76.592 44.8 3139
+-76.466 44.8 3141
+-76.34 44.8 3207
+-76.214 44.8 3129
+-76.088 44.8 3131
+-75.962 44.8 3133
+-75.836 44.8 3176
+-75.71 44.8 3136
+-75.584 44.8 3138
+-75.458 44.8 3140
+-75.332 44.8 3364
+-75.206 44.8 3315
+-75.08 44.8 3316
+-74.954 44.8 3443
+-74.828 44.8 3418
+-74.702 44.8 3420
+-74.576 44.8 3370
+-74.45 44.8 3442
+-74.324 44.8 3444
+-74.198 44.8 3445
+-74.072 44.8 3446
+-73.946 44.8 3447
+-73.82 44.8 3446
+-73.694 44.8 3448
+-73.568 44.8 3449
+-73.442 44.8 3438
+-73.316 44.8 3388
+-73.19 44.8 3383
+-73.064 44.8 3384
+-72.938 44.8 3385
+-72.812 44.8 3386
+-72.686 44.8 3387
+-72.56 44.8 3388
+-72.434 44.8 3389
+-72.308 44.8 3390
+-72.182 44.8 3391
+-72.056 44.8 3392
+-71.93 44.8 3392
+-71.804 44.8 3393
+-71.678 44.8 3394
+-71.552 44.8 3395
+-71.426 44.8 3396
+-71.3 44.8 3506
+-71.174 44.8 3507
+-71.048 44.8 3492
+-70.922 44.8 3493
+-70.796 44.8 3493
+-70.67 44.8 3494
+-70.544 44.8 3495
+-70.418 44.8 3495
+-70.292 44.8 3496
+-70.166 44.8 3497
+-70.04 44.8 3497
+-69.914 44.8 3498
+-69.788 44.8 3498
+-69.662 44.8 3535
+-69.536 44.8 3536
+-69.41 44.8 3537
+-69.284 44.8 3538
+-69.158 44.8 3538
+-69.032 44.8 3539
+-68.906 44.8 3499
+-68.78 44.8 3499
+-68.654 44.8 3500
+-68.528 44.8 3501
+-68.402 44.8 3538
+-68.276 44.8 3539
+-68.15 44.8 3540
+-68.024 44.8 3493
+-67.898 44.8 3493
+-67.772 44.8 3494
+-67.646 44.8 3630
+-67.52 44.8 3631
+-67.394 44.8 3631
+-67.268 44.8 3631
+-67.142 44.8 3631
+-67.016 44.8 3565
+-66.89 44.8 3565
+-66.764 44.8 3565
+-66.638 44.8 3565
+-66.512 44.8 3565
+-66.386 44.8 3565
+-66.26 44.8 3566
+-66.134 44.8 3566
+-66.008 44.8 3566
+-65.882 44.8 3566
+-65.756 44.8 3548
+-65.63 44.8 3535
+-65.504 44.8 3535
+-65.378 44.8 3535
+-65.252 44.8 3535
+-65.126 44.8 3535
+-128 44.748 4163
+-127.874 44.748 4178
+-127.748 44.748 4213
+-127.622 44.748 4268
+-127.496 44.748 4321
+-127.37 44.748 4377
+-127.244 44.748 4428
+-127.118 44.748 4427
+-126.992 44.748 4519
+-126.866 44.748 4689
+-126.74 44.748 4885
+-126.614 44.748 5013
+-126.488 44.748 5073
+-126.362 44.748 5152
+-126.236 44.748 5292
+-126.11 44.748 5390
+-125.984 44.748 5444
+-125.858 44.748 5554
+-125.732 44.748 5729
+-125.606 44.748 5883
+-125.48 44.748 5972
+-125.354 44.748 6014
+-125.228 44.748 6118
+-125.102 44.748 6229
+-124.976 44.748 6284
+-124.85 44.748 6399
+-124.724 44.748 6438
+-124.598 44.748 6536
+-124.472 44.748 6636
+-124.346 44.748 6723
+-124.22 44.748 6776
+-124.094 44.748 6837
+-123.968 44.748 6874
+-123.842 44.748 6951
+-123.716 44.748 7006
+-123.59 44.748 7015
+-123.464 44.748 7052
+-123.338 44.748 7064
+-123.212 44.748 7100
+-123.086 44.748 7163
+-122.96 44.748 7129
+-122.834 44.748 7138
+-122.708 44.748 7117
+-122.582 44.748 7090
+-122.456 44.748 7078
+-122.33 44.748 7016
+-122.204 44.748 6977
+-122.078 44.748 6975
+-121.952 44.748 6898
+-121.826 44.748 6870
+-121.7 44.748 6765
+-121.574 44.748 6706
+-121.448 44.748 6600
+-121.322 44.748 6534
+-121.196 44.748 6472
+-121.07 44.748 6356
+-120.944 44.748 6178
+-120.818 44.748 6321
+-120.692 44.748 6380
+-120.566 44.748 6476
+-120.44 44.748 6576
+-120.314 44.748 6704
+-120.188 44.748 6828
+-120.062 44.748 6933
+-119.936 44.748 7027
+-119.81 44.748 7139
+-119.684 44.748 7248
+-119.558 44.748 7304
+-119.432 44.748 7408
+-119.306 44.748 7478
+-119.18 44.748 7517
+-119.054 44.748 7612
+-118.928 44.748 7663
+-118.802 44.748 7701
+-118.676 44.748 7757
+-118.55 44.748 7794
+-118.424 44.748 7797
+-118.298 44.748 7788
+-118.172 44.748 7775
+-118.046 44.748 7770
+-117.92 44.748 7718
+-117.794 44.748 7657
+-117.668 44.748 7617
+-117.542 44.748 7547
+-117.416 44.748 7519
+-117.29 44.748 7413
+-117.164 44.748 7330
+-117.038 44.748 7273
+-116.912 44.748 7157
+-116.786 44.748 7097
+-116.66 44.748 6939
+-116.534 44.748 6845
+-116.408 44.748 6778
+-116.282 44.748 6647
+-116.156 44.748 6491
+-116.03 44.748 6423
+-115.904 44.748 6294
+-115.778 44.748 6167
+-115.652 44.748 6077
+-115.526 44.748 5937
+-115.4 44.748 5811
+-115.274 44.748 5709
+-115.148 44.748 5609
+-115.022 44.748 5512
+-114.896 44.748 5428
+-114.77 44.748 5374
+-114.644 44.748 5232
+-114.518 44.748 5020
+-114.392 44.748 4837
+-114.266 44.748 4700
+-114.14 44.748 4626
+-114.014 44.748 4505
+-113.888 44.748 4313
+-113.762 44.748 4179
+-113.636 44.748 4128
+-113.51 44.748 4130
+-113.384 44.748 4100
+-113.258 44.748 4057
+-113.132 44.748 3999
+-113.006 44.748 3935
+-112.88 44.748 3831
+-112.754 44.748 3804
+-112.628 44.748 3775
+-112.502 44.748 3742
+-112.376 44.748 3729
+-112.25 44.748 3706
+-112.124 44.748 3671
+-111.998 44.748 3619
+-111.872 44.748 3572
+-111.746 44.748 3527
+-111.62 44.748 3490
+-111.494 44.748 3464
+-111.368 44.748 3452
+-111.242 44.748 3383
+-111.116 44.748 3382
+-110.99 44.748 3395
+-110.864 44.748 3412
+-110.738 44.748 3415
+-110.612 44.748 3434
+-110.486 44.748 3365
+-110.36 44.748 3367
+-110.234 44.748 3296
+-110.108 44.748 3310
+-109.982 44.748 3329
+-109.856 44.748 3348
+-109.73 44.748 3351
+-109.604 44.748 3361
+-109.478 44.748 3370
+-109.352 44.748 3233
+-109.226 44.748 3243
+-109.1 44.748 3252
+-108.974 44.748 3259
+-108.848 44.748 3267
+-108.722 44.748 3274
+-108.596 44.748 3280
+-108.47 44.748 3247
+-108.344 44.748 3252
+-108.218 44.748 3172
+-108.092 44.748 3144
+-107.966 44.748 3146
+-107.84 44.748 3149
+-107.714 44.748 3151
+-107.588 44.748 3153
+-107.462 44.748 3155
+-107.336 44.748 3157
+-107.21 44.748 3159
+-107.084 44.748 3160
+-106.958 44.748 3162
+-106.832 44.748 3163
+-106.706 44.748 3165
+-106.58 44.748 3166
+-106.454 44.748 3167
+-106.328 44.748 3168
+-106.202 44.748 3169
+-106.076 44.748 3170
+-105.95 44.748 3171
+-105.824 44.748 3036
+-105.698 44.748 3033
+-105.572 44.748 3029
+-105.446 44.748 3025
+-105.32 44.748 3021
+-105.194 44.748 3017
+-105.068 44.748 3012
+-104.942 44.748 3008
+-104.816 44.748 3003
+-104.69 44.748 2998
+-104.564 44.748 2777
+-104.438 44.748 2726
+-104.312 44.748 2533
+-104.186 44.748 2552
+-104.06 44.748 2547
+-103.934 44.748 2577
+-103.808 44.748 2473
+-103.682 44.748 2466
+-103.556 44.748 2587
+-103.43 44.748 2619
+-103.304 44.748 2755
+-103.178 44.748 2766
+-103.052 44.748 2853
+-102.926 44.748 2855
+-102.8 44.748 2942
+-102.674 44.748 2942
+-102.548 44.748 2999
+-102.422 44.748 2998
+-102.296 44.748 2997
+-102.17 44.748 2914
+-102.044 44.748 2913
+-101.918 44.748 2913
+-101.792 44.748 2916
+-101.666 44.748 2916
+-101.54 44.748 2916
+-101.414 44.748 2916
+-101.288 44.748 2916
+-101.162 44.748 3048
+-101.036 44.748 3047
+-100.91 44.748 3046
+-100.784 44.748 3046
+-100.658 44.748 3056
+-100.532 44.748 3066
+-100.406 44.748 3056
+-100.28 44.748 3022
+-100.154 44.748 3062
+-100.028 44.748 3301
+-99.902 44.748 3328
+-99.776 44.748 3325
+-99.65 44.748 3197
+-99.524 44.748 3195
+-99.398 44.748 3193
+-99.272 44.748 3192
+-99.146 44.748 3190
+-99.02 44.748 3189
+-98.894 44.748 3187
+-98.768 44.748 3168
+-98.642 44.748 3193
+-98.516 44.748 3192
+-98.39 44.748 3218
+-98.264 44.748 3197
+-98.138 44.748 3235
+-98.012 44.748 3159
+-97.886 44.748 3178
+-97.76 44.748 3181
+-97.634 44.748 3170
+-97.508 44.748 3186
+-97.382 44.748 3188
+-97.256 44.748 3192
+-97.13 44.748 3211
+-97.004 44.748 3213
+-96.878 44.748 3215
+-96.752 44.748 3301
+-96.626 44.748 3302
+-96.5 44.748 3303
+-96.374 44.748 3276
+-96.248 44.748 3356
+-96.122 44.748 3361
+-95.996 44.748 3360
+-95.87 44.748 3358
+-95.744 44.748 3357
+-95.618 44.748 3338
+-95.492 44.748 3335
+-95.366 44.748 3280
+-95.24 44.748 3377
+-95.114 44.748 3380
+-94.988 44.748 3350
+-94.862 44.748 3345
+-94.736 44.748 3339
+-94.61 44.748 3342
+-94.484 44.748 3305
+-94.358 44.748 3304
+-94.232 44.748 3299
+-94.106 44.748 3290
+-93.98 44.748 3285
+-93.854 44.748 3279
+-93.728 44.748 3274
+-93.602 44.748 3250
+-93.476 44.748 3260
+-93.35 44.748 3258
+-93.224 44.748 3260
+-93.098 44.748 3260
+-92.972 44.748 3253
+-92.846 44.748 3287
+-92.72 44.748 3290
+-92.594 44.748 3300
+-92.468 44.748 3310
+-92.342 44.748 3309
+-92.216 44.748 3302
+-92.09 44.748 3304
+-91.964 44.748 3304
+-91.838 44.748 3301
+-91.712 44.748 3296
+-91.586 44.748 3288
+-91.46 44.748 3278
+-91.334 44.748 3264
+-91.208 44.748 3253
+-91.082 44.748 3242
+-90.956 44.748 3236
+-90.83 44.748 3242
+-90.704 44.748 3254
+-90.578 44.748 3241
+-90.452 44.748 3246
+-90.326 44.748 3262
+-90.2 44.748 3235
+-90.074 44.748 3224
+-89.948 44.748 3211
+-89.822 44.748 3192
+-89.696 44.748 3168
+-89.57 44.748 3145
+-89.444 44.748 3116
+-89.318 44.748 3067
+-89.192 44.748 3007
+-89.066 44.748 2911
+-88.94 44.748 2843
+-88.814 44.748 2813
+-88.688 44.748 2840
+-88.562 44.748 2871
+-88.436 44.748 2898
+-88.31 44.748 2883
+-88.184 44.748 2878
+-88.058 44.748 2856
+-87.932 44.748 2820
+-87.806 44.748 2721
+-87.68 44.748 2640
+-87.554 44.748 2537
+-87.428 44.748 2416
+-87.302 44.748 2273
+-87.176 44.748 2130
+-87.05 44.748 2019
+-86.924 44.748 1979
+-86.798 44.748 2011
+-86.672 44.748 2068
+-86.546 44.748 2097
+-86.42 44.748 2086
+-86.294 44.748 2051
+-86.168 44.748 2012
+-86.042 44.748 1990
+-85.916 44.748 1988
+-85.79 44.748 2008
+-85.664 44.748 2040
+-85.538 44.748 2074
+-85.412 44.748 2113
+-85.286 44.748 2149
+-85.16 44.748 2211
+-85.034 44.748 2236
+-84.908 44.748 2266
+-84.782 44.748 2326
+-84.656 44.748 2356
+-84.53 44.748 2375
+-84.404 44.748 2413
+-84.278 44.748 2405
+-84.152 44.748 2435
+-84.026 44.748 2477
+-83.9 44.748 2462
+-83.774 44.748 2486
+-83.648 44.748 2460
+-83.522 44.748 2476
+-83.396 44.748 2498
+-83.27 44.748 2503
+-83.144 44.748 2520
+-83.018 44.748 2536
+-82.892 44.748 2516
+-82.766 44.748 2544
+-82.64 44.748 2553
+-82.514 44.748 2560
+-82.388 44.748 2572
+-82.262 44.748 2583
+-82.136 44.748 2594
+-82.01 44.748 2568
+-81.884 44.748 2573
+-81.758 44.748 2582
+-81.632 44.748 2591
+-81.506 44.748 2599
+-81.38 44.748 2604
+-81.254 44.748 2566
+-81.128 44.748 2654
+-81.002 44.748 2658
+-80.876 44.748 2668
+-80.75 44.748 2674
+-80.624 44.748 2679
+-80.498 44.748 2685
+-80.372 44.748 2706
+-80.246 44.748 2695
+-80.12 44.748 2746
+-79.994 44.748 2751
+-79.868 44.748 2749
+-79.742 44.748 2758
+-79.616 44.748 2763
+-79.49 44.748 2767
+-79.364 44.748 2761
+-79.238 44.748 2868
+-79.112 44.748 2872
+-78.986 44.748 2877
+-78.86 44.748 2881
+-78.734 44.748 2978
+-78.608 44.748 2941
+-78.482 44.748 3086
+-78.356 44.748 3088
+-78.23 44.748 3059
+-78.104 44.748 3061
+-77.978 44.748 3064
+-77.852 44.748 3066
+-77.726 44.748 3068
+-77.6 44.748 3070
+-77.474 44.748 3152
+-77.348 44.748 3150
+-77.222 44.748 3152
+-77.096 44.748 3155
+-76.97 44.748 3157
+-76.844 44.748 3108
+-76.718 44.748 3138
+-76.592 44.748 3140
+-76.466 44.748 3205
+-76.34 44.748 3128
+-76.214 44.748 3130
+-76.088 44.748 3132
+-75.962 44.748 3174
+-75.836 44.748 3135
+-75.71 44.748 3137
+-75.584 44.748 3139
+-75.458 44.748 3362
+-75.332 44.748 3313
+-75.206 44.748 3315
+-75.08 44.748 3441
+-74.954 44.748 3417
+-74.828 44.748 3419
+-74.702 44.748 3369
+-74.576 44.748 3441
+-74.45 44.748 3443
+-74.324 44.748 3444
+-74.198 44.748 3445
+-74.072 44.748 3446
+-73.946 44.748 3446
+-73.82 44.748 3447
+-73.694 44.748 3448
+-73.568 44.748 3437
+-73.442 44.748 3388
+-73.316 44.748 3382
+-73.19 44.748 3383
+-73.064 44.748 3384
+-72.938 44.748 3385
+-72.812 44.748 3386
+-72.686 44.748 3387
+-72.56 44.748 3388
+-72.434 44.748 3389
+-72.308 44.748 3390
+-72.182 44.748 3391
+-72.056 44.748 3392
+-71.93 44.748 3393
+-71.804 44.748 3394
+-71.678 44.748 3395
+-71.552 44.748 3395
+-71.426 44.748 3506
+-71.3 44.748 3506
+-71.174 44.748 3492
+-71.048 44.748 3492
+-70.922 44.748 3493
+-70.796 44.748 3494
+-70.67 44.748 3494
+-70.544 44.748 3495
+-70.418 44.748 3496
+-70.292 44.748 3496
+-70.166 44.748 3497
+-70.04 44.748 3497
+-69.914 44.748 3498
+-69.788 44.748 3535
+-69.662 44.748 3536
+-69.536 44.748 3536
+-69.41 44.748 3537
+-69.284 44.748 3538
+-69.158 44.748 3539
+-69.032 44.748 3498
+-68.906 44.748 3499
+-68.78 44.748 3500
+-68.654 44.748 3500
+-68.528 44.748 3538
+-68.402 44.748 3538
+-68.276 44.748 3539
+-68.15 44.748 3492
+-68.024 44.748 3493
+-67.898 44.748 3494
+-67.772 44.748 3630
+-67.646 44.748 3630
+-67.52 44.748 3631
+-67.394 44.748 3631
+-67.268 44.748 3631
+-67.142 44.748 3564
+-67.016 44.748 3565
+-66.89 44.748 3565
+-66.764 44.748 3565
+-66.638 44.748 3565
+-66.512 44.748 3565
+-66.386 44.748 3565
+-66.26 44.748 3566
+-66.134 44.748 3566
+-66.008 44.748 3566
+-65.882 44.748 3548
+-65.756 44.748 3535
+-65.63 44.748 3535
+-65.504 44.748 3535
+-65.378 44.748 3535
+-65.252 44.748 3535
+-65.126 44.748 3535
+-128 44.696 4050
+-127.874 44.696 4050
+-127.748 44.696 4070
+-127.622 44.696 4165
+-127.496 44.696 4236
+-127.37 44.696 4264
+-127.244 44.696 4383
+-127.118 44.696 4433
+-126.992 44.696 4506
+-126.866 44.696 4666
+-126.74 44.696 4854
+-126.614 44.696 5010
+-126.488 44.696 5003
+-126.362 44.696 5049
+-126.236 44.696 5225
+-126.11 44.696 5349
+-125.984 44.696 5389
+-125.858 44.696 5509
+-125.732 44.696 5681
+-125.606 44.696 5836
+-125.48 44.696 5929
+-125.354 44.696 6051
+-125.228 44.696 6131
+-125.102 44.696 6193
+-124.976 44.696 6260
+-124.85 44.696 6340
+-124.724 44.696 6412
+-124.598 44.696 6551
+-124.472 44.696 6573
+-124.346 44.696 6640
+-124.22 44.696 6710
+-124.094 44.696 6798
+-123.968 44.696 6819
+-123.842 44.696 6885
+-123.716 44.696 6941
+-123.59 44.696 7002
+-123.464 44.696 6996
+-123.338 44.696 7004
+-123.212 44.696 7041
+-123.086 44.696 7087
+-122.96 44.696 7086
+-122.834 44.696 7073
+-122.708 44.696 7098
+-122.582 44.696 7033
+-122.456 44.696 7001
+-122.33 44.696 6951
+-122.204 44.696 6937
+-122.078 44.696 6888
+-121.952 44.696 6828
+-121.826 44.696 6829
+-121.7 44.696 6736
+-121.574 44.696 6672
+-121.448 44.696 6554
+-121.322 44.696 6481
+-121.196 44.696 6411
+-121.07 44.696 6301
+-120.944 44.696 6294
+-120.818 44.696 6255
+-120.692 44.696 6363
+-120.566 44.696 6433
+-120.44 44.696 6559
+-120.314 44.696 6678
+-120.188 44.696 6824
+-120.062 44.696 6938
+-119.936 44.696 7006
+-119.81 44.696 7071
+-119.684 44.696 7192
+-119.558 44.696 7258
+-119.432 44.696 7345
+-119.306 44.696 7396
+-119.18 44.696 7488
+-119.054 44.696 7548
+-118.928 44.696 7623
+-118.802 44.696 7687
+-118.676 44.696 7712
+-118.55 44.696 7727
+-118.424 44.696 7735
+-118.298 44.696 7761
+-118.172 44.696 7726
+-118.046 44.696 7744
+-117.92 44.696 7664
+-117.794 44.696 7619
+-117.668 44.696 7608
+-117.542 44.696 7506
+-117.416 44.696 7452
+-117.29 44.696 7355
+-117.164 44.696 7298
+-117.038 44.696 7229
+-116.912 44.696 7129
+-116.786 44.696 7029
+-116.66 44.696 6900
+-116.534 44.696 6806
+-116.408 44.696 6713
+-116.282 44.696 6606
+-116.156 44.696 6500
+-116.03 44.696 6428
+-115.904 44.696 6283
+-115.778 44.696 6151
+-115.652 44.696 6063
+-115.526 44.696 5947
+-115.4 44.696 5764
+-115.274 44.696 5654
+-115.148 44.696 5583
+-115.022 44.696 5483
+-114.896 44.696 5334
+-114.77 44.696 5335
+-114.644 44.696 5204
+-114.518 44.696 5028
+-114.392 44.696 4845
+-114.266 44.696 4672
+-114.14 44.696 4614
+-114.014 44.696 4457
+-113.888 44.696 4266
+-113.762 44.696 4152
+-113.636 44.696 4055
+-113.51 44.696 4105
+-113.384 44.696 4074
+-113.258 44.696 4002
+-113.132 44.696 3913
+-113.006 44.696 3794
+-112.88 44.696 3686
+-112.754 44.696 3683
+-112.628 44.696 3722
+-112.502 44.696 3734
+-112.376 44.696 3719
+-112.25 44.696 3714
+-112.124 44.696 3695
+-111.998 44.696 3647
+-111.872 44.696 3615
+-111.746 44.696 3582
+-111.62 44.696 3553
+-111.494 44.696 3531
+-111.368 44.696 3491
+-111.242 44.696 3485
+-111.116 44.696 3450
+-110.99 44.696 3448
+-110.864 44.696 3457
+-110.738 44.696 3439
+-110.612 44.696 3451
+-110.486 44.696 3366
+-110.36 44.696 3386
+-110.234 44.696 3400
+-110.108 44.696 3324
+-109.982 44.696 3335
+-109.856 44.696 3345
+-109.73 44.696 3354
+-109.604 44.696 3357
+-109.478 44.696 3365
+-109.352 44.696 3372
+-109.226 44.696 3244
+-109.1 44.696 3252
+-108.974 44.696 3260
+-108.848 44.696 3267
+-108.722 44.696 3273
+-108.596 44.696 3205
+-108.47 44.696 3209
+-108.344 44.696 3165
+-108.218 44.696 3167
+-108.092 44.696 3138
+-107.966 44.696 3141
+-107.84 44.696 3143
+-107.714 44.696 3146
+-107.588 44.696 3148
+-107.462 44.696 3150
+-107.336 44.696 3152
+-107.21 44.696 3153
+-107.084 44.696 3155
+-106.958 44.696 3157
+-106.832 44.696 3158
+-106.706 44.696 3159
+-106.58 44.696 3161
+-106.454 44.696 3162
+-106.328 44.696 3163
+-106.202 44.696 3164
+-106.076 44.696 3165
+-105.95 44.696 3166
+-105.824 44.696 3167
+-105.698 44.696 3027
+-105.572 44.696 3023
+-105.446 44.696 3019
+-105.32 44.696 3015
+-105.194 44.696 3011
+-105.068 44.696 3006
+-104.942 44.696 3001
+-104.816 44.696 2996
+-104.69 44.696 2991
+-104.564 44.696 2948
+-104.438 44.696 2718
+-104.312 44.696 2526
+-104.186 44.696 2545
+-104.06 44.696 2512
+-103.934 44.696 2572
+-103.808 44.696 2452
+-103.682 44.696 2527
+-103.556 44.696 2585
+-103.43 44.696 2703
+-103.304 44.696 2755
+-103.178 44.696 2869
+-103.052 44.696 2852
+-102.926 44.696 2854
+-102.8 44.696 2940
+-102.674 44.696 2939
+-102.548 44.696 2938
+-102.422 44.696 2995
+-102.296 44.696 2994
+-102.17 44.696 2993
+-102.044 44.696 2911
+-101.918 44.696 2910
+-101.792 44.696 2910
+-101.666 44.696 2913
+-101.54 44.696 2913
+-101.414 44.696 2913
+-101.288 44.696 2913
+-101.162 44.696 2913
+-101.036 44.696 3044
+-100.91 44.696 3043
+-100.784 44.696 3043
+-100.658 44.696 3042
+-100.532 44.696 3043
+-100.406 44.696 3062
+-100.28 44.696 3052
+-100.154 44.696 3019
+-100.028 44.696 3059
+-99.902 44.696 3296
+-99.776 44.696 3322
+-99.65 44.696 3319
+-99.524 44.696 3192
+-99.398 44.696 3191
+-99.272 44.696 3189
+-99.146 44.696 3187
+-99.02 44.696 3186
+-98.894 44.696 3184
+-98.768 44.696 3183
+-98.642 44.696 3164
+-98.516 44.696 3188
+-98.39 44.696 3187
+-98.264 44.696 3213
+-98.138 44.696 3193
+-98.012 44.696 3230
+-97.886 44.696 3155
+-97.76 44.696 3174
+-97.634 44.696 3177
+-97.508 44.696 3167
+-97.382 44.696 3183
+-97.256 44.696 3185
+-97.13 44.696 3189
+-97.004 44.696 3208
+-96.878 44.696 3210
+-96.752 44.696 3213
+-96.626 44.696 3298
+-96.5 44.696 3299
+-96.374 44.696 3300
+-96.248 44.696 3273
+-96.122 44.696 3352
+-95.996 44.696 3357
+-95.87 44.696 3356
+-95.744 44.696 3354
+-95.618 44.696 3353
+-95.492 44.696 3334
+-95.366 44.696 3331
+-95.24 44.696 3278
+-95.114 44.696 3369
+-94.988 44.696 3372
+-94.862 44.696 3342
+-94.736 44.696 3336
+-94.61 44.696 3330
+-94.484 44.696 3331
+-94.358 44.696 3294
+-94.232 44.696 3292
+-94.106 44.696 3282
+-93.98 44.696 3275
+-93.854 44.696 3268
+-93.728 44.696 3260
+-93.602 44.696 3253
+-93.476 44.696 3230
+-93.35 44.696 3239
+-93.224 44.696 3239
+-93.098 44.696 3244
+-92.972 44.696 3249
+-92.846 44.696 3248
+-92.72 44.696 3285
+-92.594 44.696 3291
+-92.468 44.696 3304
+-92.342 44.696 3314
+-92.216 44.696 3332
+-92.09 44.696 3335
+-91.964 44.696 3334
+-91.838 44.696 3314
+-91.712 44.696 3296
+-91.586 44.696 3286
+-91.46 44.696 3271
+-91.334 44.696 3249
+-91.208 44.696 3227
+-91.082 44.696 3216
+-90.956 44.696 3220
+-90.83 44.696 3239
+-90.704 44.696 3258
+-90.578 44.696 3271
+-90.452 44.696 3277
+-90.326 44.696 3287
+-90.2 44.696 3283
+-90.074 44.696 3280
+-89.948 44.696 3282
+-89.822 44.696 3268
+-89.696 44.696 3243
+-89.57 44.696 3185
+-89.444 44.696 3163
+-89.318 44.696 3127
+-89.192 44.696 3079
+-89.066 44.696 3029
+-88.94 44.696 2968
+-88.814 44.696 2955
+-88.688 44.696 2959
+-88.562 44.696 2983
+-88.436 44.696 2979
+-88.31 44.696 2963
+-88.184 44.696 2918
+-88.058 44.696 2896
+-87.932 44.696 2847
+-87.806 44.696 2752
+-87.68 44.696 2671
+-87.554 44.696 2570
+-87.428 44.696 2446
+-87.302 44.696 2305
+-87.176 44.696 2166
+-87.05 44.696 2062
+-86.924 44.696 2018
+-86.798 44.696 2040
+-86.672 44.696 2078
+-86.546 44.696 2083
+-86.42 44.696 2045
+-86.294 44.696 1982
+-86.168 44.696 1922
+-86.042 44.696 1887
+-85.916 44.696 1892
+-85.79 44.696 1927
+-85.664 44.696 1975
+-85.538 44.696 2027
+-85.412 44.696 2076
+-85.286 44.696 2143
+-85.16 44.696 2177
+-85.034 44.696 2213
+-84.908 44.696 2273
+-84.782 44.696 2307
+-84.656 44.696 2330
+-84.53 44.696 2370
+-84.404 44.696 2368
+-84.278 44.696 2399
+-84.152 44.696 2443
+-84.026 44.696 2433
+-83.9 44.696 2459
+-83.774 44.696 2437
+-83.648 44.696 2455
+-83.522 44.696 2478
+-83.396 44.696 2486
+-83.27 44.696 2504
+-83.144 44.696 2522
+-83.018 44.696 2504
+-82.892 44.696 2532
+-82.766 44.696 2543
+-82.64 44.696 2550
+-82.514 44.696 2563
+-82.388 44.696 2575
+-82.262 44.696 2587
+-82.136 44.696 2562
+-82.01 44.696 2568
+-81.884 44.696 2577
+-81.758 44.696 2586
+-81.632 44.696 2595
+-81.506 44.696 2600
+-81.38 44.696 2564
+-81.254 44.696 2651
+-81.128 44.696 2655
+-81.002 44.696 2665
+-80.876 44.696 2671
+-80.75 44.696 2677
+-80.624 44.696 2683
+-80.498 44.696 2703
+-80.372 44.696 2693
+-80.246 44.696 2744
+-80.12 44.696 2749
+-79.994 44.696 2747
+-79.868 44.696 2756
+-79.742 44.696 2761
+-79.616 44.696 2766
+-79.49 44.696 2760
+-79.364 44.696 2866
+-79.238 44.696 2871
+-79.112 44.696 2875
+-78.986 44.696 2879
+-78.86 44.696 2977
+-78.734 44.696 2939
+-78.608 44.696 3084
+-78.482 44.696 3086
+-78.356 44.696 3057
+-78.23 44.696 3060
+-78.104 44.696 3062
+-77.978 44.696 3064
+-77.852 44.696 3067
+-77.726 44.696 3069
+-77.6 44.696 3150
+-77.474 44.696 3148
+-77.348 44.696 3151
+-77.222 44.696 3153
+-77.096 44.696 3156
+-76.97 44.696 3106
+-76.844 44.696 3136
+-76.718 44.696 3139
+-76.592 44.696 3204
+-76.466 44.696 3127
+-76.34 44.696 3129
+-76.214 44.696 3131
+-76.088 44.696 3173
+-75.962 44.696 3134
+-75.836 44.696 3136
+-75.71 44.696 3138
+-75.584 44.696 3361
+-75.458 44.696 3312
+-75.332 44.696 3314
+-75.206 44.696 3440
+-75.08 44.696 3416
+-74.954 44.696 3418
+-74.828 44.696 3368
+-74.702 44.696 3440
+-74.576 44.696 3442
+-74.45 44.696 3443
+-74.324 44.696 3444
+-74.198 44.696 3446
+-74.072 44.696 3445
+-73.946 44.696 3446
+-73.82 44.696 3447
+-73.694 44.696 3436
+-73.568 44.696 3387
+-73.442 44.696 3381
+-73.316 44.696 3383
+-73.19 44.696 3384
+-73.064 44.696 3385
+-72.938 44.696 3386
+-72.812 44.696 3387
+-72.686 44.696 3388
+-72.56 44.696 3389
+-72.434 44.696 3390
+-72.308 44.696 3391
+-72.182 44.696 3392
+-72.056 44.696 3392
+-71.93 44.696 3393
+-71.804 44.696 3394
+-71.678 44.696 3395
+-71.552 44.696 3505
+-71.426 44.696 3506
+-71.3 44.696 3491
+-71.174 44.696 3492
+-71.048 44.696 3493
+-70.922 44.696 3493
+-70.796 44.696 3494
+-70.67 44.696 3495
+-70.544 44.696 3495
+-70.418 44.696 3496
+-70.292 44.696 3496
+-70.166 44.696 3497
+-70.04 44.696 3498
+-69.914 44.696 3534
+-69.788 44.696 3535
+-69.662 44.696 3536
+-69.536 44.696 3537
+-69.41 44.696 3537
+-69.284 44.696 3538
+-69.158 44.696 3498
+-69.032 44.696 3499
+-68.906 44.696 3499
+-68.78 44.696 3500
+-68.654 44.696 3537
+-68.528 44.696 3538
+-68.402 44.696 3539
+-68.276 44.696 3492
+-68.15 44.696 3493
+-68.024 44.696 3493
+-67.898 44.696 3630
+-67.772 44.696 3630
+-67.646 44.696 3630
+-67.52 44.696 3631
+-67.394 44.696 3631
+-67.268 44.696 3564
+-67.142 44.696 3564
+-67.016 44.696 3565
+-66.89 44.696 3565
+-66.764 44.696 3565
+-66.638 44.696 3565
+-66.512 44.696 3565
+-66.386 44.696 3565
+-66.26 44.696 3566
+-66.134 44.696 3566
+-66.008 44.696 3548
+-65.882 44.696 3534
+-65.756 44.696 3535
+-65.63 44.696 3535
+-65.504 44.696 3535
+-65.378 44.696 3535
+-65.252 44.696 3516
+-65.126 44.696 3516
+-128 44.644 3960
+-127.874 44.644 3907
+-127.748 44.644 3872
+-127.622 44.644 4019
+-127.496 44.644 4163
+-127.37 44.644 4150
+-127.244 44.644 4296
+-127.118 44.644 4427
+-126.992 44.644 4510
+-126.866 44.644 4664
+-126.74 44.644 4833
+-126.614 44.644 4982
+-126.488 44.644 5050
+-126.362 44.644 5127
+-126.236 44.644 5243
+-126.11 44.644 5356
+-125.984 44.644 5428
+-125.858 44.644 5542
+-125.732 44.644 5682
+-125.606 44.644 5776
+-125.48 44.644 5880
+-125.354 44.644 5976
+-125.228 44.644 6087
+-125.102 44.644 6128
+-124.976 44.644 6181
+-124.85 44.644 6310
+-124.724 44.644 6354
+-124.598 44.644 6480
+-124.472 44.644 6531
+-124.346 44.644 6630
+-124.22 44.644 6629
+-124.094 44.644 6731
+-123.968 44.644 6784
+-123.842 44.644 6839
+-123.716 44.644 6891
+-123.59 44.644 6919
+-123.464 44.644 6999
+-123.338 44.644 6974
+-123.212 44.644 6985
+-123.086 44.644 7013
+-122.96 44.644 7003
+-122.834 44.644 7047
+-122.708 44.644 7023
+-122.582 44.644 7009
+-122.456 44.644 6998
+-122.33 44.644 6912
+-122.204 44.644 6878
+-122.078 44.644 6882
+-121.952 44.644 6771
+-121.826 44.644 6763
+-121.7 44.644 6689
+-121.574 44.644 6624
+-121.448 44.644 6552
+-121.322 44.644 6473
+-121.196 44.644 6358
+-121.07 44.644 6271
+-120.944 44.644 6228
+-120.818 44.644 6167
+-120.692 44.644 6324
+-120.566 44.644 6460
+-120.44 44.644 6516
+-120.314 44.644 6645
+-120.188 44.644 6750
+-120.062 44.644 6887
+-119.936 44.644 7012
+-119.81 44.644 7092
+-119.684 44.644 7157
+-119.558 44.644 7247
+-119.432 44.644 7324
+-119.306 44.644 7423
+-119.18 44.644 7445
+-119.054 44.644 7532
+-118.928 44.644 7569
+-118.802 44.644 7587
+-118.676 44.644 7650
+-118.55 44.644 7658
+-118.424 44.644 7701
+-118.298 44.644 7677
+-118.172 44.644 7695
+-118.046 44.644 7680
+-117.92 44.644 7625
+-117.794 44.644 7581
+-117.668 44.644 7552
+-117.542 44.644 7489
+-117.416 44.644 7442
+-117.29 44.644 7299
+-117.164 44.644 7233
+-117.038 44.644 7187
+-116.912 44.644 7073
+-116.786 44.644 6991
+-116.66 44.644 6854
+-116.534 44.644 6765
+-116.408 44.644 6675
+-116.282 44.644 6578
+-116.156 44.644 6473
+-116.03 44.644 6378
+-115.904 44.644 6210
+-115.778 44.644 6098
+-115.652 44.644 5983
+-115.526 44.644 5938
+-115.4 44.644 5749
+-115.274 44.644 5616
+-115.148 44.644 5571
+-115.022 44.644 5450
+-114.896 44.644 5388
+-114.77 44.644 5277
+-114.644 44.644 5170
+-114.518 44.644 5017
+-114.392 44.644 4805
+-114.266 44.644 4598
+-114.14 44.644 4615
+-114.014 44.644 4477
+-113.888 44.644 4308
+-113.762 44.644 4183
+-113.636 44.644 4128
+-113.51 44.644 4096
+-113.384 44.644 4020
+-113.258 44.644 3910
+-113.132 44.644 3800
+-113.006 44.644 3611
+-112.88 44.644 3461
+-112.754 44.644 3524
+-112.628 44.644 3638
+-112.502 44.644 3718
+-112.376 44.644 3734
+-112.25 44.644 3717
+-112.124 44.644 3712
+-111.998 44.644 3696
+-111.872 44.644 3653
+-111.746 44.644 3629
+-111.62 44.644 3607
+-111.494 44.644 3548
+-111.368 44.644 3534
+-111.242 44.644 3525
+-111.116 44.644 3522
+-110.99 44.644 3499
+-110.864 44.644 3466
+-110.738 44.644 3472
+-110.612 44.644 3396
+-110.486 44.644 3404
+-110.36 44.644 3398
+-110.234 44.644 3406
+-110.108 44.644 3412
+-109.982 44.644 3347
+-109.856 44.644 3355
+-109.73 44.644 3363
+-109.604 44.644 3370
+-109.478 44.644 3377
+-109.352 44.644 3384
+-109.226 44.644 3366
+-109.1 44.644 3254
+-108.974 44.644 3261
+-108.848 44.644 3267
+-108.722 44.644 3199
+-108.596 44.644 3203
+-108.47 44.644 3135
+-108.344 44.644 3138
+-108.218 44.644 3140
+-108.092 44.644 3142
+-107.966 44.644 3136
+-107.84 44.644 3138
+-107.714 44.644 3140
+-107.588 44.644 3142
+-107.462 44.644 3144
+-107.336 44.644 3146
+-107.21 44.644 3148
+-107.084 44.644 3150
+-106.958 44.644 3151
+-106.832 44.644 3153
+-106.706 44.644 3154
+-106.58 44.644 3156
+-106.454 44.644 3157
+-106.328 44.644 3158
+-106.202 44.644 3159
+-106.076 44.644 3160
+-105.95 44.644 3161
+-105.824 44.644 3162
+-105.698 44.644 3163
+-105.572 44.644 3017
+-105.446 44.644 3013
+-105.32 44.644 3009
+-105.194 44.644 3004
+-105.068 44.644 3000
+-104.942 44.644 2995
+-104.816 44.644 2990
+-104.69 44.644 2985
+-104.564 44.644 2941
+-104.438 44.644 2724
+-104.312 44.644 2709
+-104.186 44.644 2539
+-104.06 44.644 2506
+-103.934 44.644 2567
+-103.808 44.644 2449
+-103.682 44.644 2525
+-103.556 44.644 2623
+-103.43 44.644 2703
+-103.304 44.644 2754
+-103.178 44.644 2868
+-103.052 44.644 2869
+-102.926 44.644 2852
+-102.8 44.644 2937
+-102.674 44.644 2936
+-102.548 44.644 2936
+-102.422 44.644 2935
+-102.296 44.644 2991
+-102.17 44.644 2990
+-102.044 44.644 2989
+-101.918 44.644 2907
+-101.792 44.644 2907
+-101.666 44.644 2907
+-101.54 44.644 2910
+-101.414 44.644 2910
+-101.288 44.644 2910
+-101.162 44.644 2910
+-101.036 44.644 2910
+-100.91 44.644 3040
+-100.784 44.644 3039
+-100.658 44.644 3039
+-100.532 44.644 3038
+-100.406 44.644 3048
+-100.28 44.644 3058
+-100.154 44.644 3049
+-100.028 44.644 3016
+-99.902 44.644 3055
+-99.776 44.644 3290
+-99.65 44.644 3316
+-99.524 44.644 3313
+-99.398 44.644 3188
+-99.272 44.644 3186
+-99.146 44.644 3184
+-99.02 44.644 3183
+-98.894 44.644 3181
+-98.768 44.644 3179
+-98.642 44.644 3178
+-98.516 44.644 3159
+-98.39 44.644 3183
+-98.264 44.644 3183
+-98.138 44.644 3207
+-98.012 44.644 3188
+-97.886 44.644 3225
+-97.76 44.644 3151
+-97.634 44.644 3170
+-97.508 44.644 3173
+-97.382 44.644 3163
+-97.256 44.644 3179
+-97.13 44.644 3181
+-97.004 44.644 3186
+-96.878 44.644 3205
+-96.752 44.644 3208
+-96.626 44.644 3211
+-96.5 44.644 3294
+-96.374 44.644 3296
+-96.248 44.644 3297
+-96.122 44.644 3271
+-95.996 44.644 3349
+-95.87 44.644 3353
+-95.744 44.644 3352
+-95.618 44.644 3350
+-95.492 44.644 3349
+-95.366 44.644 3330
+-95.24 44.644 3327
+-95.114 44.644 3275
+-94.988 44.644 3361
+-94.862 44.644 3363
+-94.736 44.644 3333
+-94.61 44.644 3326
+-94.484 44.644 3319
+-94.358 44.644 3318
+-94.232 44.644 3282
+-94.106 44.644 3277
+-93.98 44.644 3268
+-93.854 44.644 3255
+-93.728 44.644 3245
+-93.602 44.644 3235
+-93.476 44.644 3226
+-93.35 44.644 3205
+-93.224 44.644 3214
+-93.098 44.644 3218
+-92.972 44.644 3230
+-92.846 44.644 3242
+-92.72 44.644 3248
+-92.594 44.644 3289
+-92.468 44.644 3298
+-92.342 44.644 3311
+-92.216 44.644 3334
+-92.09 44.644 3333
+-91.964 44.644 3332
+-91.838 44.644 3334
+-91.712 44.644 3324
+-91.586 44.644 3284
+-91.46 44.644 3266
+-91.334 44.644 3234
+-91.208 44.644 3192
+-91.082 44.644 3168
+-90.956 44.644 3197
+-90.83 44.644 3229
+-90.704 44.644 3251
+-90.578 44.644 3279
+-90.452 44.644 3295
+-90.326 44.644 3311
+-90.2 44.644 3311
+-90.074 44.644 3312
+-89.948 44.644 3306
+-89.822 44.644 3294
+-89.696 44.644 3282
+-89.57 44.644 3268
+-89.444 44.644 3242
+-89.318 44.644 3215
+-89.192 44.644 3176
+-89.066 44.644 3139
+-88.94 44.644 3092
+-88.814 44.644 3073
+-88.688 44.644 3036
+-88.562 44.644 3044
+-88.436 44.644 3020
+-88.31 44.644 2996
+-88.184 44.644 2949
+-88.058 44.644 2925
+-87.932 44.644 2882
+-87.806 44.644 2815
+-87.68 44.644 2713
+-87.554 44.644 2613
+-87.428 44.644 2495
+-87.302 44.644 2367
+-87.176 44.644 2256
+-87.05 44.644 2159
+-86.924 44.644 2110
+-86.798 44.644 2104
+-86.672 44.644 2103
+-86.546 44.644 2071
+-86.42 44.644 2000
+-86.294 44.644 1905
+-86.168 44.644 1810
+-86.042 44.644 1761
+-85.916 44.644 1781
+-85.79 44.644 1843
+-85.664 44.644 1917
+-85.538 44.644 1986
+-85.412 44.644 2064
+-85.286 44.644 2110
+-85.16 44.644 2154
+-85.034 44.644 2215
+-84.908 44.644 2253
+-84.782 44.644 2281
+-84.656 44.644 2322
+-84.53 44.644 2327
+-84.404 44.644 2360
+-84.278 44.644 2405
+-84.152 44.644 2401
+-84.026 44.644 2429
+-83.9 44.644 2413
+-83.774 44.644 2432
+-83.648 44.644 2457
+-83.522 44.644 2468
+-83.396 44.644 2488
+-83.27 44.644 2506
+-83.144 44.644 2491
+-83.018 44.644 2520
+-82.892 44.644 2532
+-82.766 44.644 2540
+-82.64 44.644 2554
+-82.514 44.644 2567
+-82.388 44.644 2579
+-82.262 44.644 2557
+-82.136 44.644 2563
+-82.01 44.644 2573
+-81.884 44.644 2582
+-81.758 44.644 2591
+-81.632 44.644 2597
+-81.506 44.644 2561
+-81.38 44.644 2648
+-81.254 44.644 2652
+-81.128 44.644 2662
+-81.002 44.644 2669
+-80.876 44.644 2675
+-80.75 44.644 2681
+-80.624 44.644 2701
+-80.498 44.644 2691
+-80.372 44.644 2742
+-80.246 44.644 2747
+-80.12 44.644 2745
+-79.994 44.644 2755
+-79.868 44.644 2760
+-79.742 44.644 2765
+-79.616 44.644 2759
+-79.49 44.644 2865
+-79.364 44.644 2869
+-79.238 44.644 2874
+-79.112 44.644 2878
+-78.986 44.644 2975
+-78.86 44.644 2938
+-78.734 44.644 3082
+-78.608 44.644 3085
+-78.482 44.644 3056
+-78.356 44.644 3058
+-78.23 44.644 3061
+-78.104 44.644 3063
+-77.978 44.644 3065
+-77.852 44.644 3067
+-77.726 44.644 3148
+-77.6 44.644 3147
+-77.474 44.644 3149
+-77.348 44.644 3152
+-77.222 44.644 3154
+-77.096 44.644 3105
+-76.97 44.644 3135
+-76.844 44.644 3138
+-76.718 44.644 3202
+-76.592 44.644 3125
+-76.466 44.644 3128
+-76.34 44.644 3130
+-76.214 44.644 3172
+-76.088 44.644 3133
+-75.962 44.644 3135
+-75.836 44.644 3137
+-75.71 44.644 3359
+-75.584 44.644 3311
+-75.458 44.644 3313
+-75.332 44.644 3439
+-75.206 44.644 3415
+-75.08 44.644 3416
+-74.954 44.644 3367
+-74.828 44.644 3439
+-74.702 44.644 3440
+-74.576 44.644 3442
+-74.45 44.644 3443
+-74.324 44.644 3445
+-74.198 44.644 3444
+-74.072 44.644 3445
+-73.946 44.644 3446
+-73.82 44.644 3435
+-73.694 44.644 3386
+-73.568 44.644 3381
+-73.442 44.644 3382
+-73.316 44.644 3383
+-73.19 44.644 3384
+-73.064 44.644 3385
+-72.938 44.644 3386
+-72.812 44.644 3387
+-72.686 44.644 3388
+-72.56 44.644 3389
+-72.434 44.644 3390
+-72.308 44.644 3391
+-72.182 44.644 3392
+-72.056 44.644 3393
+-71.93 44.644 3394
+-71.804 44.644 3395
+-71.678 44.644 3504
+-71.552 44.644 3505
+-71.426 44.644 3491
+-71.3 44.644 3491
+-71.174 44.644 3492
+-71.048 44.644 3493
+-70.922 44.644 3493
+-70.796 44.644 3494
+-70.67 44.644 3495
+-70.544 44.644 3495
+-70.418 44.644 3496
+-70.292 44.644 3497
+-70.166 44.644 3497
+-70.04 44.644 3534
+-69.914 44.644 3534
+-69.788 44.644 3535
+-69.662 44.644 3536
+-69.536 44.644 3537
+-69.41 44.644 3538
+-69.284 44.644 3498
+-69.158 44.644 3498
+-69.032 44.644 3499
+-68.906 44.644 3500
+-68.78 44.644 3537
+-68.654 44.644 3537
+-68.528 44.644 3538
+-68.402 44.644 3492
+-68.276 44.644 3492
+-68.15 44.644 3493
+-68.024 44.644 3629
+-67.898 44.644 3630
+-67.772 44.644 3630
+-67.646 44.644 3630
+-67.52 44.644 3631
+-67.394 44.644 3564
+-67.268 44.644 3564
+-67.142 44.644 3564
+-67.016 44.644 3565
+-66.89 44.644 3565
+-66.764 44.644 3565
+-66.638 44.644 3565
+-66.512 44.644 3565
+-66.386 44.644 3565
+-66.26 44.644 3566
+-66.134 44.644 3547
+-66.008 44.644 3534
+-65.882 44.644 3534
+-65.756 44.644 3535
+-65.63 44.644 3535
+-65.504 44.644 3535
+-65.378 44.644 3535
+-65.252 44.644 3516
+-65.126 44.644 3516
+-128 44.592 3891
+-127.874 44.592 3825
+-127.748 44.592 3732
+-127.622 44.592 3896
+-127.496 44.592 4104
+-127.37 44.592 4195
+-127.244 44.592 4285
+-127.118 44.592 4402
+-126.992 44.592 4526
+-126.866 44.592 4652
+-126.74 44.592 4821
+-126.614 44.592 4920
+-126.488 44.592 5016
+-126.362 44.592 5141
+-126.236 44.592 5259
+-126.11 44.592 5341
+-125.984 44.592 5463
+-125.858 44.592 5558
+-125.732 44.592 5650
+-125.606 44.592 5743
+-125.48 44.592 5823
+-125.354 44.592 5926
+-125.228 44.592 6006
+-125.102 44.592 6090
+-124.976 44.592 6176
+-124.85 44.592 6278
+-124.724 44.592 6371
+-124.598 44.592 6437
+-124.472 44.592 6483
+-124.346 44.592 6554
+-124.22 44.592 6607
+-124.094 44.592 6679
+-123.968 44.592 6735
+-123.842 44.592 6793
+-123.716 44.592 6824
+-123.59 44.592 6899
+-123.464 44.592 6920
+-123.338 44.592 6944
+-123.212 44.592 6968
+-123.086 44.592 6981
+-122.96 44.592 6970
+-122.834 44.592 6968
+-122.708 44.592 6973
+-122.582 44.592 6947
+-122.456 44.592 6912
+-122.33 44.592 6875
+-122.204 44.592 6841
+-122.078 44.592 6831
+-121.952 44.592 6780
+-121.826 44.592 6712
+-121.7 44.592 6644
+-121.574 44.592 6562
+-121.448 44.592 6468
+-121.322 44.592 6449
+-121.196 44.592 6285
+-121.07 44.592 6130
+-120.944 44.592 6042
+-120.818 44.592 6208
+-120.692 44.592 6310
+-120.566 44.592 6411
+-120.44 44.592 6517
+-120.314 44.592 6642
+-120.188 44.592 6721
+-120.062 44.592 6832
+-119.936 44.592 6896
+-119.81 44.592 7032
+-119.684 44.592 7128
+-119.558 44.592 7227
+-119.432 44.592 7288
+-119.306 44.592 7379
+-119.18 44.592 7399
+-119.054 44.592 7486
+-118.928 44.592 7528
+-118.802 44.592 7593
+-118.676 44.592 7598
+-118.55 44.592 7642
+-118.424 44.592 7629
+-118.298 44.592 7648
+-118.172 44.592 7659
+-118.046 44.592 7610
+-117.92 44.592 7569
+-117.794 44.592 7519
+-117.668 44.592 7493
+-117.542 44.592 7448
+-117.416 44.592 7343
+-117.29 44.592 7273
+-117.164 44.592 7208
+-117.038 44.592 7133
+-116.912 44.592 7092
+-116.786 44.592 6955
+-116.66 44.592 6811
+-116.534 44.592 6731
+-116.408 44.592 6700
+-116.282 44.592 6560
+-116.156 44.592 6469
+-116.03 44.592 6366
+-115.904 44.592 6245
+-115.778 44.592 6113
+-115.652 44.592 5996
+-115.526 44.592 5905
+-115.4 44.592 5736
+-115.274 44.592 5582
+-115.148 44.592 5542
+-115.022 44.592 5431
+-114.896 44.592 5319
+-114.77 44.592 5185
+-114.644 44.592 5120
+-114.518 44.592 4979
+-114.392 44.592 4868
+-114.266 44.592 4716
+-114.14 44.592 4647
+-114.014 44.592 4510
+-113.888 44.592 4374
+-113.762 44.592 4225
+-113.636 44.592 4143
+-113.51 44.592 4054
+-113.384 44.592 3893
+-113.258 44.592 3752
+-113.132 44.592 3716
+-113.006 44.592 3503
+-112.88 44.592 3309
+-112.754 44.592 3432
+-112.628 44.592 3594
+-112.502 44.592 3697
+-112.376 44.592 3718
+-112.25 44.592 3743
+-112.124 44.592 3725
+-111.998 44.592 3718
+-111.872 44.592 3694
+-111.746 44.592 3665
+-111.62 44.592 3607
+-111.494 44.592 3590
+-111.368 44.592 3577
+-111.242 44.592 3567
+-111.116 44.592 3562
+-110.99 44.592 3509
+-110.864 44.592 3509
+-110.738 44.592 3500
+-110.612 44.592 3504
+-110.486 44.592 3426
+-110.36 44.592 3431
+-110.234 44.592 3422
+-110.108 44.592 3428
+-109.982 44.592 3434
+-109.856 44.592 3365
+-109.73 44.592 3372
+-109.604 44.592 3378
+-109.478 44.592 3384
+-109.352 44.592 3389
+-109.226 44.592 3394
+-109.1 44.592 3375
+-108.974 44.592 3262
+-108.848 44.592 3193
+-108.722 44.592 3198
+-108.596 44.592 3129
+-108.47 44.592 3131
+-108.344 44.592 3133
+-108.218 44.592 3135
+-108.092 44.592 3137
+-107.966 44.592 3139
+-107.84 44.592 3132
+-107.714 44.592 3135
+-107.588 44.592 3137
+-107.462 44.592 3139
+-107.336 44.592 3141
+-107.21 44.592 3143
+-107.084 44.592 3144
+-106.958 44.592 3146
+-106.832 44.592 3148
+-106.706 44.592 3149
+-106.58 44.592 3151
+-106.454 44.592 3152
+-106.328 44.592 3153
+-106.202 44.592 3154
+-106.076 44.592 3156
+-105.95 44.592 3157
+-105.824 44.592 3158
+-105.698 44.592 3159
+-105.572 44.592 2976
+-105.446 44.592 3007
+-105.32 44.592 3002
+-105.194 44.592 2998
+-105.068 44.592 2993
+-104.942 44.592 2988
+-104.816 44.592 2983
+-104.69 44.592 2960
+-104.564 44.592 2933
+-104.438 44.592 2715
+-104.312 44.592 2701
+-104.186 44.592 2532
+-104.06 44.592 2501
+-103.934 44.592 2562
+-103.808 44.592 2463
+-103.682 44.592 2541
+-103.556 44.592 2621
+-103.43 44.592 2625
+-103.304 44.592 2753
+-103.178 44.592 2867
+-103.052 44.592 2868
+-102.926 44.592 2850
+-102.8 44.592 2935
+-102.674 44.592 2934
+-102.548 44.592 2933
+-102.422 44.592 2932
+-102.296 44.592 2931
+-102.17 44.592 2987
+-102.044 44.592 2986
+-101.918 44.592 2985
+-101.792 44.592 2904
+-101.666 44.592 2904
+-101.54 44.592 2903
+-101.414 44.592 2907
+-101.288 44.592 2907
+-101.162 44.592 2907
+-101.036 44.592 2907
+-100.91 44.592 2907
+-100.784 44.592 3036
+-100.658 44.592 3035
+-100.532 44.592 3035
+-100.406 44.592 3034
+-100.28 44.592 3035
+-100.154 44.592 3054
+-100.028 44.592 3045
+-99.902 44.592 3012
+-99.776 44.592 3051
+-99.65 44.592 3284
+-99.524 44.592 3310
+-99.398 44.592 3306
+-99.272 44.592 3183
+-99.146 44.592 3181
+-99.02 44.592 3179
+-98.894 44.592 3177
+-98.768 44.592 3176
+-98.642 44.592 3174
+-98.516 44.592 3172
+-98.39 44.592 3154
+-98.264 44.592 3178
+-98.138 44.592 3177
+-98.012 44.592 3202
+-97.886 44.592 3183
+-97.76 44.592 3219
+-97.634 44.592 3147
+-97.508 44.592 3165
+-97.382 44.592 3169
+-97.256 44.592 3160
+-97.13 44.592 3176
+-97.004 44.592 3178
+-96.878 44.592 3183
+-96.752 44.592 3202
+-96.626 44.592 3205
+-96.5 44.592 3208
+-96.374 44.592 3291
+-96.248 44.592 3293
+-96.122 44.592 3294
+-95.996 44.592 3269
+-95.87 44.592 3345
+-95.744 44.592 3349
+-95.618 44.592 3348
+-95.492 44.592 3346
+-95.366 44.592 3344
+-95.24 44.592 3326
+-95.114 44.592 3322
+-94.988 44.592 3271
+-94.862 44.592 3353
+-94.736 44.592 3353
+-94.61 44.592 3323
+-94.484 44.592 3315
+-94.358 44.592 3306
+-94.232 44.592 3302
+-94.106 44.592 3266
+-93.98 44.592 3258
+-93.854 44.592 3243
+-93.728 44.592 3229
+-93.602 44.592 3214
+-93.476 44.592 3200
+-93.35 44.592 3189
+-93.224 44.592 3171
+-93.098 44.592 3184
+-92.972 44.592 3198
+-92.846 44.592 3220
+-92.72 44.592 3242
+-92.594 44.592 3270
+-92.468 44.592 3298
+-92.342 44.592 3308
+-92.216 44.592 3319
+-92.09 44.592 3336
+-91.964 44.592 3330
+-91.838 44.592 3329
+-91.712 44.592 3317
+-91.586 44.592 3305
+-91.46 44.592 3267
+-91.334 44.592 3233
+-91.208 44.592 3173
+-91.082 44.592 3130
+-90.956 44.592 3182
+-90.83 44.592 3216
+-90.704 44.592 3241
+-90.578 44.592 3284
+-90.452 44.592 3326
+-90.326 44.592 3349
+-90.2 44.592 3357
+-90.074 44.592 3354
+-89.948 44.592 3354
+-89.822 44.592 3354
+-89.696 44.592 3316
+-89.57 44.592 3302
+-89.444 44.592 3284
+-89.318 44.592 3251
+-89.192 44.592 3216
+-89.066 44.592 3183
+-88.94 44.592 3135
+-88.814 44.592 3116
+-88.688 44.592 3105
+-88.562 44.592 3092
+-88.436 44.592 3065
+-88.31 44.592 3041
+-88.184 44.592 3003
+-88.058 44.592 2985
+-87.932 44.592 2921
+-87.806 44.592 2867
+-87.68 44.592 2756
+-87.554 44.592 2662
+-87.428 44.592 2554
+-87.302 44.592 2459
+-87.176 44.592 2351
+-87.05 44.592 2261
+-86.924 44.592 2201
+-86.798 44.592 2163
+-86.672 44.592 2121
+-86.546 44.592 2057
+-86.42 44.592 1964
+-86.294 44.592 1836
+-86.168 44.592 1698
+-86.042 44.592 1631
+-85.916 44.592 1676
+-85.79 44.592 1776
+-85.664 44.592 1875
+-85.538 44.592 1972
+-85.412 44.592 2036
+-85.286 44.592 2090
+-85.16 44.592 2154
+-85.034 44.592 2196
+-84.908 44.592 2229
+-84.782 44.592 2271
+-84.656 44.592 2283
+-84.53 44.592 2318
+-84.404 44.592 2364
+-84.278 44.592 2366
+-84.152 44.592 2397
+-84.026 44.592 2386
+-83.9 44.592 2408
+-83.774 44.592 2435
+-83.648 44.592 2448
+-83.522 44.592 2470
+-83.396 44.592 2490
+-83.27 44.592 2478
+-83.144 44.592 2507
+-83.018 44.592 2520
+-82.892 44.592 2530
+-82.766 44.592 2545
+-82.64 44.592 2559
+-82.514 44.592 2572
+-82.388 44.592 2551
+-82.262 44.592 2557
+-82.136 44.592 2568
+-82.01 44.592 2578
+-81.884 44.592 2587
+-81.758 44.592 2594
+-81.632 44.592 2558
+-81.506 44.592 2644
+-81.38 44.592 2649
+-81.254 44.592 2659
+-81.128 44.592 2666
+-81.002 44.592 2673
+-80.876 44.592 2679
+-80.75 44.592 2699
+-80.624 44.592 2690
+-80.498 44.592 2740
+-80.372 44.592 2746
+-80.246 44.592 2744
+-80.12 44.592 2753
+-79.994 44.592 2758
+-79.868 44.592 2763
+-79.742 44.592 2758
+-79.616 44.592 2863
+-79.49 44.592 2868
+-79.364 44.592 2872
+-79.238 44.592 2877
+-79.112 44.592 2973
+-78.986 44.592 2937
+-78.86 44.592 3080
+-78.734 44.592 3083
+-78.608 44.592 3054
+-78.482 44.592 3057
+-78.356 44.592 3059
+-78.23 44.592 3062
+-78.104 44.592 3064
+-77.978 44.592 3066
+-77.852 44.592 3147
+-77.726 44.592 3145
+-77.6 44.592 3148
+-77.474 44.592 3150
+-77.348 44.592 3153
+-77.222 44.592 3104
+-77.096 44.592 3134
+-76.97 44.592 3136
+-76.844 44.592 3200
+-76.718 44.592 3124
+-76.592 44.592 3127
+-76.466 44.592 3129
+-76.34 44.592 3170
+-76.214 44.592 3132
+-76.088 44.592 3134
+-75.962 44.592 3136
+-75.836 44.592 3358
+-75.71 44.592 3310
+-75.584 44.592 3311
+-75.458 44.592 3437
+-75.332 44.592 3413
+-75.206 44.592 3415
+-75.08 44.592 3365
+-74.954 44.592 3438
+-74.828 44.592 3439
+-74.702 44.592 3441
+-74.576 44.592 3442
+-74.45 44.592 3444
+-74.324 44.592 3443
+-74.198 44.592 3444
+-74.072 44.592 3445
+-73.946 44.592 3434
+-73.82 44.592 3385
+-73.694 44.592 3380
+-73.568 44.592 3381
+-73.442 44.592 3382
+-73.316 44.592 3383
+-73.19 44.592 3384
+-73.064 44.592 3386
+-72.938 44.592 3387
+-72.812 44.592 3388
+-72.686 44.592 3389
+-72.56 44.592 3390
+-72.434 44.592 3391
+-72.308 44.592 3391
+-72.182 44.592 3392
+-72.056 44.592 3393
+-71.93 44.592 3394
+-71.804 44.592 3504
+-71.678 44.592 3505
+-71.552 44.592 3490
+-71.426 44.592 3491
+-71.3 44.592 3492
+-71.174 44.592 3492
+-71.048 44.592 3493
+-70.922 44.592 3494
+-70.796 44.592 3494
+-70.67 44.592 3495
+-70.544 44.592 3496
+-70.418 44.592 3496
+-70.292 44.592 3497
+-70.166 44.592 3533
+-70.04 44.592 3534
+-69.914 44.592 3535
+-69.788 44.592 3536
+-69.662 44.592 3536
+-69.536 44.592 3537
+-69.41 44.592 3497
+-69.284 44.592 3498
+-69.158 44.592 3499
+-69.032 44.592 3499
+-68.906 44.592 3536
+-68.78 44.592 3537
+-68.654 44.592 3538
+-68.528 44.592 3491
+-68.402 44.592 3492
+-68.276 44.592 3493
+-68.15 44.592 3629
+-68.024 44.592 3629
+-67.898 44.592 3630
+-67.772 44.592 3630
+-67.646 44.592 3630
+-67.52 44.592 3564
+-67.394 44.592 3564
+-67.268 44.592 3564
+-67.142 44.592 3564
+-67.016 44.592 3565
+-66.89 44.592 3565
+-66.764 44.592 3565
+-66.638 44.592 3565
+-66.512 44.592 3565
+-66.386 44.592 3565
+-66.26 44.592 3547
+-66.134 44.592 3534
+-66.008 44.592 3534
+-65.882 44.592 3534
+-65.756 44.592 3535
+-65.63 44.592 3535
+-65.504 44.592 3516
+-65.378 44.592 3516
+-65.252 44.592 3516
+-65.126 44.592 3516
+-128 44.54 3830
+-127.874 44.54 3809
+-127.748 44.54 3823
+-127.622 44.54 3929
+-127.496 44.54 4068
+-127.37 44.54 4150
+-127.244 44.54 4236
+-127.118 44.54 4345
+-126.992 44.54 4502
+-126.866 44.54 4620
+-126.74 44.54 4778
+-126.614 44.54 4811
+-126.488 44.54 4944
+-126.362 44.54 5102
+-126.236 44.54 5249
+-126.11 44.54 5337
+-125.984 44.54 5437
+-125.858 44.54 5549
+-125.732 44.54 5584
+-125.606 44.54 5693
+-125.48 44.54 5772
+-125.354 44.54 5872
+-125.228 44.54 5957
+-125.102 44.54 6030
+-124.976 44.54 6122
+-124.85 44.54 6216
+-124.724 44.54 6307
+-124.598 44.54 6371
+-124.472 44.54 6459
+-124.346 44.54 6492
+-124.22 44.54 6594
+-124.094 44.54 6661
+-123.968 44.54 6669
+-123.842 44.54 6752
+-123.716 44.54 6796
+-123.59 44.54 6828
+-123.464 44.54 6862
+-123.338 44.54 6874
+-123.212 44.54 6903
+-123.086 44.54 6905
+-122.96 44.54 6913
+-122.834 44.54 6921
+-122.708 44.54 6909
+-122.582 44.54 6885
+-122.456 44.54 6861
+-122.33 44.54 6833
+-122.204 44.54 6798
+-122.078 44.54 6756
+-121.952 44.54 6738
+-121.826 44.54 6651
+-121.7 44.54 6609
+-121.574 44.54 6466
+-121.448 44.54 6417
+-121.322 44.54 6350
+-121.196 44.54 6230
+-121.07 44.54 6184
+-120.944 44.54 6137
+-120.818 44.54 6131
+-120.692 44.54 6271
+-120.566 44.54 6431
+-120.44 44.54 6507
+-120.314 44.54 6570
+-120.188 44.54 6704
+-120.062 44.54 6791
+-119.936 44.54 6907
+-119.81 44.54 6931
+-119.684 44.54 7091
+-119.558 44.54 7169
+-119.432 44.54 7236
+-119.306 44.54 7314
+-119.18 44.54 7375
+-119.054 44.54 7433
+-118.928 44.54 7490
+-118.802 44.54 7508
+-118.676 44.54 7530
+-118.55 44.54 7552
+-118.424 44.54 7571
+-118.298 44.54 7577
+-118.172 44.54 7576
+-118.046 44.54 7548
+-117.92 44.54 7495
+-117.794 44.54 7490
+-117.668 44.54 7450
+-117.542 44.54 7383
+-117.416 44.54 7285
+-117.29 44.54 7240
+-117.164 44.54 7162
+-117.038 44.54 7088
+-116.912 44.54 7031
+-116.786 44.54 6917
+-116.66 44.54 6784
+-116.534 44.54 6680
+-116.408 44.54 6622
+-116.282 44.54 6514
+-116.156 44.54 6443
+-116.03 44.54 6321
+-115.904 44.54 6207
+-115.778 44.54 6061
+-115.652 44.54 5909
+-115.526 44.54 5847
+-115.4 44.54 5737
+-115.274 44.54 5591
+-115.148 44.54 5473
+-115.022 44.54 5386
+-114.896 44.54 5277
+-114.77 44.54 5158
+-114.644 44.54 5043
+-114.518 44.54 4890
+-114.392 44.54 4852
+-114.266 44.54 4778
+-114.14 44.54 4657
+-114.014 44.54 4524
+-113.888 44.54 4381
+-113.762 44.54 4229
+-113.636 44.54 4124
+-113.51 44.54 4011
+-113.384 44.54 3788
+-113.258 44.54 3606
+-113.132 44.54 3689
+-113.006 44.54 3601
+-112.88 44.54 3464
+-112.754 44.54 3510
+-112.628 44.54 3624
+-112.502 44.54 3710
+-112.376 44.54 3757
+-112.25 44.54 3752
+-112.124 44.54 3764
+-111.998 44.54 3728
+-111.872 44.54 3687
+-111.746 44.54 3650
+-111.62 44.54 3635
+-111.494 44.54 3621
+-111.368 44.54 3609
+-111.242 44.54 3600
+-111.116 44.54 3542
+-110.99 44.54 3537
+-110.864 44.54 3535
+-110.738 44.54 3532
+-110.612 44.54 3526
+-110.486 44.54 3529
+-110.36 44.54 3448
+-110.234 44.54 3452
+-110.108 44.54 3441
+-109.982 44.54 3446
+-109.856 44.54 3366
+-109.73 44.54 3353
+-109.604 44.54 3358
+-109.478 44.54 3362
+-109.352 44.54 3366
+-109.226 44.54 3370
+-109.1 44.54 3336
+-108.974 44.54 3200
+-108.848 44.54 3192
+-108.722 44.54 3123
+-108.596 44.54 3125
+-108.47 44.54 3127
+-108.344 44.54 3129
+-108.218 44.54 3131
+-108.092 44.54 3133
+-107.966 44.54 3135
+-107.84 44.54 3136
+-107.714 44.54 3129
+-107.588 44.54 3131
+-107.462 44.54 3133
+-107.336 44.54 3135
+-107.21 44.54 3137
+-107.084 44.54 3139
+-106.958 44.54 3141
+-106.832 44.54 3142
+-106.706 44.54 3144
+-106.58 44.54 3145
+-106.454 44.54 3147
+-106.328 44.54 3148
+-106.202 44.54 3149
+-106.076 44.54 3151
+-105.95 44.54 3152
+-105.824 44.54 3153
+-105.698 44.54 2972
+-105.572 44.54 2968
+-105.446 44.54 2964
+-105.32 44.54 2959
+-105.194 44.54 2954
+-105.068 44.54 2949
+-104.942 44.54 2944
+-104.816 44.54 2959
+-104.69 44.54 2952
+-104.564 44.54 2926
+-104.438 44.54 2707
+-104.312 44.54 2693
+-104.186 44.54 2525
+-104.06 44.54 2495
+-103.934 44.54 2557
+-103.808 44.54 2460
+-103.682 44.54 2539
+-103.556 44.54 2620
+-103.43 44.54 2719
+-103.304 44.54 2707
+-103.178 44.54 2814
+-103.052 44.54 2867
+-102.926 44.54 2972
+-102.8 44.54 2932
+-102.674 44.54 2931
+-102.548 44.54 2930
+-102.422 44.54 2929
+-102.296 44.54 2928
+-102.17 44.54 2928
+-102.044 44.54 2983
+-101.918 44.54 2982
+-101.792 44.54 2981
+-101.666 44.54 2901
+-101.54 44.54 2900
+-101.414 44.54 2900
+-101.288 44.54 2903
+-101.162 44.54 2904
+-101.036 44.54 2904
+-100.91 44.54 2904
+-100.784 44.54 2904
+-100.658 44.54 3031
+-100.532 44.54 3031
+-100.406 44.54 3030
+-100.28 44.54 3030
+-100.154 44.54 3040
+-100.028 44.54 3049
+-99.902 44.54 3040
+-99.776 44.54 3008
+-99.65 44.54 3047
+-99.524 44.54 3278
+-99.398 44.54 3303
+-99.272 44.54 3299
+-99.146 44.54 3178
+-99.02 44.54 3176
+-98.894 44.54 3174
+-98.768 44.54 3172
+-98.642 44.54 3170
+-98.516 44.54 3168
+-98.39 44.54 3167
+-98.264 44.54 3149
+-98.138 44.54 3173
+-98.012 44.54 3172
+-97.886 44.54 3196
+-97.76 44.54 3177
+-97.634 44.54 3213
+-97.508 44.54 3143
+-97.382 44.54 3160
+-97.256 44.54 3164
+-97.13 44.54 3156
+-97.004 44.54 3172
+-96.878 44.54 3175
+-96.752 44.54 3180
+-96.626 44.54 3199
+-96.5 44.54 3203
+-96.374 44.54 3206
+-96.248 44.54 3288
+-96.122 44.54 3290
+-95.996 44.54 3292
+-95.87 44.54 3267
+-95.744 44.54 3341
+-95.618 44.54 3345
+-95.492 44.54 3344
+-95.366 44.54 3341
+-95.24 44.54 3339
+-95.114 44.54 3321
+-94.988 44.54 3317
+-94.862 44.54 3267
+-94.736 44.54 3343
+-94.61 44.54 3341
+-94.484 44.54 3311
+-94.358 44.54 3302
+-94.232 44.54 3291
+-94.106 44.54 3284
+-93.98 44.54 3245
+-93.854 44.54 3233
+-93.728 44.54 3214
+-93.602 44.54 3191
+-93.476 44.54 3169
+-93.35 44.54 3149
+-93.224 44.54 3138
+-93.098 44.54 3129
+-92.972 44.54 3155
+-92.846 44.54 3186
+-92.72 44.54 3223
+-92.594 44.54 3254
+-92.468 44.54 3285
+-92.342 44.54 3312
+-92.216 44.54 3336
+-92.09 44.54 3336
+-91.964 44.54 3332
+-91.838 44.54 3322
+-91.712 44.54 3304
+-91.586 44.54 3292
+-91.46 44.54 3287
+-91.334 44.54 3267
+-91.208 44.54 3219
+-91.082 44.54 3191
+-90.956 44.54 3213
+-90.83 44.54 3199
+-90.704 44.54 3242
+-90.578 44.54 3301
+-90.452 44.54 3343
+-90.326 44.54 3356
+-90.2 44.54 3370
+-90.074 44.54 3373
+-89.948 44.54 3378
+-89.822 44.54 3385
+-89.696 44.54 3380
+-89.57 44.54 3366
+-89.444 44.54 3337
+-89.318 44.54 3301
+-89.192 44.54 3259
+-89.066 44.54 3218
+-88.94 44.54 3178
+-88.814 44.54 3128
+-88.688 44.54 3113
+-88.562 44.54 3088
+-88.436 44.54 3064
+-88.31 44.54 3052
+-88.184 44.54 3034
+-88.058 44.54 3028
+-87.932 44.54 3000
+-87.806 44.54 2891
+-87.68 44.54 2824
+-87.554 44.54 2736
+-87.428 44.54 2635
+-87.302 44.54 2534
+-87.176 44.54 2432
+-87.05 44.54 2342
+-86.924 44.54 2268
+-86.798 44.54 2201
+-86.672 44.54 2131
+-86.546 44.54 2051
+-86.42 44.54 1953
+-86.294 44.54 1821
+-86.168 44.54 1650
+-86.042 44.54 1562
+-85.916 44.54 1631
+-85.79 44.54 1760
+-85.664 44.54 1873
+-85.538 44.54 1958
+-85.412 44.54 2024
+-85.286 44.54 2091
+-85.16 44.54 2138
+-85.034 44.54 2175
+-84.908 44.54 2217
+-84.782 44.54 2234
+-84.656 44.54 2272
+-84.53 44.54 2319
+-84.404 44.54 2327
+-84.278 44.54 2361
+-84.152 44.54 2356
+-84.026 44.54 2381
+-83.9 44.54 2410
+-83.774 44.54 2426
+-83.648 44.54 2450
+-83.522 44.54 2473
+-83.396 44.54 2463
+-83.27 44.54 2493
+-83.144 44.54 2508
+-83.018 44.54 2519
+-82.892 44.54 2535
+-82.766 44.54 2550
+-82.64 44.54 2564
+-82.514 44.54 2544
+-82.388 44.54 2552
+-82.262 44.54 2563
+-82.136 44.54 2574
+-82.01 44.54 2584
+-81.884 44.54 2591
+-81.758 44.54 2556
+-81.632 44.54 2641
+-81.506 44.54 2646
+-81.38 44.54 2657
+-81.254 44.54 2664
+-81.128 44.54 2670
+-81.002 44.54 2677
+-80.876 44.54 2697
+-80.75 44.54 2688
+-80.624 44.54 2738
+-80.498 44.54 2744
+-80.372 44.54 2742
+-80.246 44.54 2752
+-80.12 44.54 2757
+-79.994 44.54 2762
+-79.868 44.54 2757
+-79.742 44.54 2862
+-79.616 44.54 2866
+-79.49 44.54 2871
+-79.364 44.54 2876
+-79.238 44.54 2972
+-79.112 44.54 2936
+-78.986 44.54 3078
+-78.86 44.54 3081
+-78.734 44.54 3053
+-78.608 44.54 3055
+-78.482 44.54 3058
+-78.356 44.54 3060
+-78.23 44.54 3063
+-78.104 44.54 3065
+-77.978 44.54 3145
+-77.852 44.54 3143
+-77.726 44.54 3146
+-77.6 44.54 3149
+-77.474 44.54 3151
+-77.348 44.54 3103
+-77.222 44.54 3132
+-77.096 44.54 3135
+-76.97 44.54 3199
+-76.844 44.54 3123
+-76.718 44.54 3125
+-76.592 44.54 3128
+-76.466 44.54 3169
+-76.34 44.54 3131
+-76.214 44.54 3133
+-76.088 44.54 3136
+-75.962 44.54 3356
+-75.836 44.54 3308
+-75.71 44.54 3310
+-75.584 44.54 3436
+-75.458 44.54 3412
+-75.332 44.54 3414
+-75.206 44.54 3364
+-75.08 44.54 3437
+-74.954 44.54 3438
+-74.828 44.54 3440
+-74.702 44.54 3441
+-74.576 44.54 3443
+-74.45 44.54 3442
+-74.324 44.54 3443
+-74.198 44.54 3444
+-74.072 44.54 3434
+-73.946 44.54 3384
+-73.82 44.54 3379
+-73.694 44.54 3380
+-73.568 44.54 3382
+-73.442 44.54 3383
+-73.316 44.54 3384
+-73.19 44.54 3385
+-73.064 44.54 3386
+-72.938 44.54 3387
+-72.812 44.54 3388
+-72.686 44.54 3389
+-72.56 44.54 3390
+-72.434 44.54 3391
+-72.308 44.54 3392
+-72.182 44.54 3393
+-72.056 44.54 3394
+-71.93 44.54 3503
+-71.804 44.54 3504
+-71.678 44.54 3490
+-71.552 44.54 3490
+-71.426 44.54 3491
+-71.3 44.54 3492
+-71.174 44.54 3493
+-71.048 44.54 3493
+-70.922 44.54 3494
+-70.796 44.54 3495
+-70.67 44.54 3495
+-70.544 44.54 3496
+-70.418 44.54 3497
+-70.292 44.54 3533
+-70.166 44.54 3533
+-70.04 44.54 3534
+-69.914 44.54 3535
+-69.788 44.54 3536
+-69.662 44.54 3537
+-69.536 44.54 3497
+-69.41 44.54 3498
+-69.284 44.54 3498
+-69.158 44.54 3499
+-69.032 44.54 3536
+-68.906 44.54 3537
+-68.78 44.54 3537
+-68.654 44.54 3491
+-68.528 44.54 3492
+-68.402 44.54 3492
+-68.276 44.54 3629
+-68.15 44.54 3629
+-68.024 44.54 3629
+-67.898 44.54 3630
+-67.772 44.54 3630
+-67.646 44.54 3564
+-67.52 44.54 3564
+-67.394 44.54 3564
+-67.268 44.54 3564
+-67.142 44.54 3564
+-67.016 44.54 3565
+-66.89 44.54 3565
+-66.764 44.54 3565
+-66.638 44.54 3565
+-66.512 44.54 3565
+-66.386 44.54 3547
+-66.26 44.54 3534
+-66.134 44.54 3534
+-66.008 44.54 3534
+-65.882 44.54 3534
+-65.756 44.54 3535
+-65.63 44.54 3535
+-65.504 44.54 3516
+-65.378 44.54 3516
+-65.252 44.54 3516
+-65.126 44.54 3516
+-128 44.488 3735
+-127.874 44.488 3693
+-127.748 44.488 3787
+-127.622 44.488 3918
+-127.496 44.488 4034
+-127.37 44.488 4077
+-127.244 44.488 4160
+-127.118 44.488 4294
+-126.992 44.488 4434
+-126.866 44.488 4594
+-126.74 44.488 4732
+-126.614 44.488 4709
+-126.488 44.488 4843
+-126.362 44.488 5060
+-126.236 44.488 5230
+-126.11 44.488 5323
+-125.984 44.488 5400
+-125.858 44.488 5470
+-125.732 44.488 5516
+-125.606 44.488 5630
+-125.48 44.488 5740
+-125.354 44.488 5818
+-125.228 44.488 5912
+-125.102 44.488 5980
+-124.976 44.488 6078
+-124.85 44.488 6167
+-124.724 44.488 6224
+-124.598 44.488 6330
+-124.472 44.488 6428
+-124.346 44.488 6496
+-124.22 44.488 6554
+-124.094 44.488 6619
+-123.968 44.488 6661
+-123.842 44.488 6689
+-123.716 44.488 6739
+-123.59 44.488 6762
+-123.464 44.488 6791
+-123.338 44.488 6828
+-123.212 44.488 6840
+-123.086 44.488 6860
+-122.96 44.488 6835
+-122.834 44.488 6869
+-122.708 44.488 6849
+-122.582 44.488 6823
+-122.456 44.488 6796
+-122.33 44.488 6770
+-122.204 44.488 6742
+-122.078 44.488 6646
+-121.952 44.488 6655
+-121.826 44.488 6570
+-121.7 44.488 6543
+-121.574 44.488 6454
+-121.448 44.488 6401
+-121.322 44.488 6317
+-121.196 44.488 6220
+-121.07 44.488 6175
+-120.944 44.488 6030
+-120.818 44.488 6113
+-120.692 44.488 6220
+-120.566 44.488 6356
+-120.44 44.488 6428
+-120.314 44.488 6503
+-120.188 44.488 6631
+-120.062 44.488 6754
+-119.936 44.488 6861
+-119.81 44.488 6947
+-119.684 44.488 7024
+-119.558 44.488 7121
+-119.432 44.488 7182
+-119.306 44.488 7231
+-119.18 44.488 7292
+-119.054 44.488 7360
+-118.928 44.488 7414
+-118.802 44.488 7477
+-118.676 44.488 7494
+-118.55 44.488 7480
+-118.424 44.488 7514
+-118.298 44.488 7509
+-118.172 44.488 7510
+-118.046 44.488 7506
+-117.92 44.488 7499
+-117.794 44.488 7410
+-117.668 44.488 7380
+-117.542 44.488 7301
+-117.416 44.488 7255
+-117.29 44.488 7245
+-117.164 44.488 7115
+-117.038 44.488 7014
+-116.912 44.488 6932
+-116.786 44.488 6882
+-116.66 44.488 6755
+-116.534 44.488 6700
+-116.408 44.488 6578
+-116.282 44.488 6513
+-116.156 44.488 6344
+-116.03 44.488 6270
+-115.904 44.488 6138
+-115.778 44.488 6037
+-115.652 44.488 5884
+-115.526 44.488 5799
+-115.4 44.488 5737
+-115.274 44.488 5603
+-115.148 44.488 5437
+-115.022 44.488 5334
+-114.896 44.488 5262
+-114.77 44.488 5063
+-114.644 44.488 4937
+-114.518 44.488 4932
+-114.392 44.488 4694
+-114.266 44.488 4769
+-114.14 44.488 4695
+-114.014 44.488 4547
+-113.888 44.488 4340
+-113.762 44.488 4164
+-113.636 44.488 4052
+-113.51 44.488 4011
+-113.384 44.488 3868
+-113.258 44.488 3742
+-113.132 44.488 3754
+-113.006 44.488 3735
+-112.88 44.488 3676
+-112.754 44.488 3678
+-112.628 44.488 3696
+-112.502 44.488 3748
+-112.376 44.488 3787
+-112.25 44.488 3811
+-112.124 44.488 3779
+-111.998 44.488 3740
+-111.872 44.488 3699
+-111.746 44.488 3668
+-111.62 44.488 3656
+-111.494 44.488 3645
+-111.368 44.488 3599
+-111.242 44.488 3573
+-111.116 44.488 3565
+-110.99 44.488 3560
+-110.864 44.488 3557
+-110.738 44.488 3551
+-110.612 44.488 3551
+-110.486 44.488 3545
+-110.36 44.488 3547
+-110.234 44.488 3432
+-110.108 44.488 3434
+-109.982 44.488 3437
+-109.856 44.488 3440
+-109.73 44.488 3378
+-109.604 44.488 3364
+-109.478 44.488 3368
+-109.352 44.488 3371
+-109.226 44.488 3313
+-109.1 44.488 3314
+-108.974 44.488 3199
+-108.848 44.488 3117
+-108.722 44.488 3119
+-108.596 44.488 3121
+-108.47 44.488 3123
+-108.344 44.488 3125
+-108.218 44.488 3127
+-108.092 44.488 3129
+-107.966 44.488 3130
+-107.84 44.488 3132
+-107.714 44.488 3133
+-107.588 44.488 3126
+-107.462 44.488 3128
+-107.336 44.488 3130
+-107.21 44.488 3132
+-107.084 44.488 3134
+-106.958 44.488 3135
+-106.832 44.488 3137
+-106.706 44.488 3139
+-106.58 44.488 3140
+-106.454 44.488 3142
+-106.328 44.488 3143
+-106.202 44.488 3144
+-106.076 44.488 3146
+-105.95 44.488 3147
+-105.824 44.488 2969
+-105.698 44.488 2965
+-105.572 44.488 2961
+-105.446 44.488 2956
+-105.32 44.488 2952
+-105.194 44.488 2947
+-105.068 44.488 2942
+-104.942 44.488 2937
+-104.816 44.488 2951
+-104.69 44.488 2945
+-104.564 44.488 2918
+-104.438 44.488 2699
+-104.312 44.488 2514
+-104.186 44.488 2518
+-104.06 44.488 2489
+-103.934 44.488 2584
+-103.808 44.488 2456
+-103.682 44.488 2515
+-103.556 44.488 2618
+-103.43 44.488 2718
+-103.304 44.488 2706
+-103.178 44.488 2813
+-103.052 44.488 2813
+-102.926 44.488 2970
+-102.8 44.488 2968
+-102.674 44.488 2928
+-102.548 44.488 2927
+-102.422 44.488 2926
+-102.296 44.488 2925
+-102.17 44.488 2925
+-102.044 44.488 2924
+-101.918 44.488 2979
+-101.792 44.488 2977
+-101.666 44.488 2976
+-101.54 44.488 2897
+-101.414 44.488 2897
+-101.288 44.488 2896
+-101.162 44.488 2900
+-101.036 44.488 2900
+-100.91 44.488 2900
+-100.784 44.488 2900
+-100.658 44.488 2901
+-100.532 44.488 3027
+-100.406 44.488 3026
+-100.28 44.488 3026
+-100.154 44.488 3025
+-100.028 44.488 3026
+-99.902 44.488 3045
+-99.776 44.488 3036
+-99.65 44.488 3005
+-99.524 44.488 3043
+-99.398 44.488 3271
+-99.272 44.488 3295
+-99.146 44.488 3292
+-99.02 44.488 3172
+-98.894 44.488 3170
+-98.768 44.488 3168
+-98.642 44.488 3166
+-98.516 44.488 3164
+-98.39 44.488 3162
+-98.264 44.488 3160
+-98.138 44.488 3143
+-98.012 44.488 3167
+-97.886 44.488 3166
+-97.76 44.488 3189
+-97.634 44.488 3172
+-97.508 44.488 3207
+-97.382 44.488 3138
+-97.256 44.488 3156
+-97.13 44.488 3159
+-97.004 44.488 3152
+-96.878 44.488 3168
+-96.752 44.488 3171
+-96.626 44.488 3177
+-96.5 44.488 3196
+-96.374 44.488 3200
+-96.248 44.488 3204
+-96.122 44.488 3284
+-95.996 44.488 3287
+-95.87 44.488 3289
+-95.744 44.488 3265
+-95.618 44.488 3338
+-95.492 44.488 3341
+-95.366 44.488 3340
+-95.24 44.488 3337
+-95.114 44.488 3334
+-94.988 44.488 3316
+-94.862 44.488 3312
+-94.736 44.488 3263
+-94.61 44.488 3332
+-94.484 44.488 3329
+-94.358 44.488 3298
+-94.232 44.488 3286
+-94.106 44.488 3273
+-93.98 44.488 3260
+-93.854 44.488 3219
+-93.728 44.488 3198
+-93.602 44.488 3167
+-93.476 44.488 3134
+-93.35 44.488 3100
+-93.224 44.488 3075
+-93.098 44.488 3072
+-92.972 44.488 3090
+-92.846 44.488 3144
+-92.72 44.488 3196
+-92.594 44.488 3243
+-92.468 44.488 3289
+-92.342 44.488 3323
+-92.216 44.488 3328
+-92.09 44.488 3343
+-91.964 44.488 3334
+-91.838 44.488 3313
+-91.712 44.488 3279
+-91.586 44.488 3256
+-91.46 44.488 3277
+-91.334 44.488 3294
+-91.208 44.488 3286
+-91.082 44.488 3271
+-90.956 44.488 3258
+-90.83 44.488 3247
+-90.704 44.488 3287
+-90.578 44.488 3341
+-90.452 44.488 3353
+-90.326 44.488 3354
+-90.2 44.488 3371
+-90.074 44.488 3391
+-89.948 44.488 3405
+-89.822 44.488 3416
+-89.696 44.488 3408
+-89.57 44.488 3388
+-89.444 44.488 3359
+-89.318 44.488 3321
+-89.192 44.488 3277
+-89.066 44.488 3218
+-88.94 44.488 3156
+-88.814 44.488 3117
+-88.688 44.488 3112
+-88.562 44.488 3057
+-88.436 44.488 3010
+-88.31 44.488 3024
+-88.184 44.488 3038
+-88.058 44.488 3047
+-87.932 44.488 3027
+-87.806 44.488 2972
+-87.68 44.488 2872
+-87.554 44.488 2814
+-87.428 44.488 2691
+-87.302 44.488 2597
+-87.176 44.488 2497
+-87.05 44.488 2402
+-86.924 44.488 2313
+-86.798 44.488 2225
+-86.672 44.488 2138
+-86.546 44.488 2049
+-86.42 44.488 1967
+-86.294 44.488 1881
+-86.168 44.488 1752
+-86.042 44.488 1655
+-85.916 44.488 1702
+-85.79 44.488 1802
+-85.664 44.488 1894
+-85.538 44.488 1966
+-85.412 44.488 2034
+-85.286 44.488 2082
+-85.16 44.488 2119
+-85.034 44.488 2161
+-84.908 44.488 2183
+-84.782 44.488 2221
+-84.656 44.488 2269
+-84.53 44.488 2285
+-84.404 44.488 2322
+-84.278 44.488 2323
+-84.152 44.488 2352
+-84.026 44.488 2383
+-83.9 44.488 2403
+-83.774 44.488 2429
+-83.648 44.488 2454
+-83.522 44.488 2448
+-83.396 44.488 2478
+-83.27 44.488 2495
+-83.144 44.488 2508
+-83.018 44.488 2525
+-82.892 44.488 2541
+-82.766 44.488 2556
+-82.64 44.488 2538
+-82.514 44.488 2547
+-82.388 44.488 2559
+-82.262 44.488 2570
+-82.136 44.488 2580
+-82.01 44.488 2588
+-81.884 44.488 2554
+-81.758 44.488 2638
+-81.632 44.488 2643
+-81.506 44.488 2654
+-81.38 44.488 2662
+-81.254 44.488 2668
+-81.128 44.488 2675
+-81.002 44.488 2696
+-80.876 44.488 2687
+-80.75 44.488 2736
+-80.624 44.488 2742
+-80.498 44.488 2741
+-80.372 44.488 2750
+-80.246 44.488 2756
+-80.12 44.488 2761
+-79.994 44.488 2756
+-79.868 44.488 2860
+-79.742 44.488 2865
+-79.616 44.488 2870
+-79.49 44.488 2875
+-79.364 44.488 2971
+-79.238 44.488 2935
+-79.112 44.488 3075
+-78.986 44.488 3079
+-78.86 44.488 3051
+-78.734 44.488 3054
+-78.608 44.488 3056
+-78.482 44.488 3059
+-78.356 44.488 3061
+-78.23 44.488 3064
+-78.104 44.488 3143
+-77.978 44.488 3141
+-77.852 44.488 3144
+-77.726 44.488 3147
+-77.6 44.488 3150
+-77.474 44.488 3102
+-77.348 44.488 3131
+-77.222 44.488 3134
+-77.096 44.488 3197
+-76.97 44.488 3122
+-76.844 44.488 3124
+-76.718 44.488 3127
+-76.592 44.488 3168
+-76.466 44.488 3130
+-76.34 44.488 3132
+-76.214 44.488 3135
+-76.088 44.488 3355
+-75.962 44.488 3307
+-75.836 44.488 3309
+-75.71 44.488 3434
+-75.584 44.488 3411
+-75.458 44.488 3412
+-75.332 44.488 3363
+-75.206 44.488 3436
+-75.08 44.488 3437
+-74.954 44.488 3439
+-74.828 44.488 3440
+-74.702 44.488 3442
+-74.576 44.488 3441
+-74.45 44.488 3442
+-74.324 44.488 3444
+-74.198 44.488 3433
+-74.072 44.488 3384
+-73.946 44.488 3378
+-73.82 44.488 3380
+-73.694 44.488 3381
+-73.568 44.488 3382
+-73.442 44.488 3383
+-73.316 44.488 3384
+-73.19 44.488 3385
+-73.064 44.488 3386
+-72.938 44.488 3387
+-72.812 44.488 3389
+-72.686 44.488 3389
+-72.56 44.488 3390
+-72.434 44.488 3391
+-72.308 44.488 3392
+-72.182 44.488 3393
+-72.056 44.488 3503
+-71.93 44.488 3504
+-71.804 44.488 3489
+-71.678 44.488 3490
+-71.552 44.488 3491
+-71.426 44.488 3491
+-71.3 44.488 3492
+-71.174 44.488 3493
+-71.048 44.488 3493
+-70.922 44.488 3494
+-70.796 44.488 3495
+-70.67 44.488 3495
+-70.544 44.488 3496
+-70.418 44.488 3532
+-70.292 44.488 3533
+-70.166 44.488 3534
+-70.04 44.488 3535
+-69.914 44.488 3535
+-69.788 44.488 3536
+-69.662 44.488 3496
+-69.536 44.488 3497
+-69.41 44.488 3498
+-69.284 44.488 3499
+-69.158 44.488 3535
+-69.032 44.488 3536
+-68.906 44.488 3537
+-68.78 44.488 3490
+-68.654 44.488 3491
+-68.528 44.488 3492
+-68.402 44.488 3628
+-68.276 44.488 3629
+-68.15 44.488 3629
+-68.024 44.488 3629
+-67.898 44.488 3630
+-67.772 44.488 3563
+-67.646 44.488 3564
+-67.52 44.488 3564
+-67.394 44.488 3564
+-67.268 44.488 3564
+-67.142 44.488 3564
+-67.016 44.488 3565
+-66.89 44.488 3565
+-66.764 44.488 3565
+-66.638 44.488 3565
+-66.512 44.488 3547
+-66.386 44.488 3534
+-66.26 44.488 3534
+-66.134 44.488 3534
+-66.008 44.488 3534
+-65.882 44.488 3534
+-65.756 44.488 3515
+-65.63 44.488 3516
+-65.504 44.488 3516
+-65.378 44.488 3516
+-65.252 44.488 3516
+-65.126 44.488 3516
+-128 44.436 3657
+-127.874 44.436 3558
+-127.748 44.436 3706
+-127.622 44.436 3879
+-127.496 44.436 3999
+-127.37 44.436 4019
+-127.244 44.436 4097
+-127.118 44.436 4251
+-126.992 44.436 4414
+-126.866 44.436 4583
+-126.74 44.436 4722
+-126.614 44.436 4779
+-126.488 44.436 4863
+-126.362 44.436 5045
+-126.236 44.436 5163
+-126.11 44.436 5294
+-125.984 44.436 5370
+-125.858 44.436 5334
+-125.732 44.436 5481
+-125.606 44.436 5578
+-125.48 44.436 5665
+-125.354 44.436 5772
+-125.228 44.436 5862
+-125.102 44.436 5927
+-124.976 44.436 5994
+-124.85 44.436 6120
+-124.724 44.436 6172
+-124.598 44.436 6245
+-124.472 44.436 6362
+-124.346 44.436 6451
+-124.22 44.436 6513
+-124.094 44.436 6527
+-123.968 44.436 6604
+-123.842 44.436 6663
+-123.716 44.436 6693
+-123.59 44.436 6714
+-123.464 44.436 6729
+-123.338 44.436 6759
+-123.212 44.436 6805
+-123.086 44.436 6802
+-122.96 44.436 6807
+-122.834 44.436 6796
+-122.708 44.436 6773
+-122.582 44.436 6753
+-122.456 44.436 6735
+-122.33 44.436 6727
+-122.204 44.436 6685
+-122.078 44.436 6634
+-121.952 44.436 6557
+-121.826 44.436 6494
+-121.7 44.436 6454
+-121.574 44.436 6394
+-121.448 44.436 6348
+-121.322 44.436 6278
+-121.196 44.436 6166
+-121.07 44.436 6115
+-120.944 44.436 6080
+-120.818 44.436 6106
+-120.692 44.436 6204
+-120.566 44.436 6326
+-120.44 44.436 6381
+-120.314 44.436 6531
+-120.188 44.436 6586
+-120.062 44.436 6721
+-119.936 44.436 6816
+-119.81 44.436 6906
+-119.684 44.436 6962
+-119.558 44.436 7059
+-119.432 44.436 7123
+-119.306 44.436 7197
+-119.18 44.436 7220
+-119.054 44.436 7304
+-118.928 44.436 7357
+-118.802 44.436 7372
+-118.676 44.436 7454
+-118.55 44.436 7439
+-118.424 44.436 7485
+-118.298 44.436 7454
+-118.172 44.436 7446
+-118.046 44.436 7439
+-117.92 44.436 7410
+-117.794 44.436 7384
+-117.668 44.436 7341
+-117.542 44.436 7272
+-117.416 44.436 7202
+-117.29 44.436 7127
+-117.164 44.436 7073
+-117.038 44.436 6979
+-116.912 44.436 6902
+-116.786 44.436 6816
+-116.66 44.436 6725
+-116.534 44.436 6638
+-116.408 44.436 6517
+-116.282 44.436 6433
+-116.156 44.436 6345
+-116.03 44.436 6205
+-115.904 44.436 6100
+-115.778 44.436 5949
+-115.652 44.436 5872
+-115.526 44.436 5719
+-115.4 44.436 5664
+-115.274 44.436 5582
+-115.148 44.436 5426
+-115.022 44.436 5337
+-114.896 44.436 5237
+-114.77 44.436 5111
+-114.644 44.436 5045
+-114.518 44.436 4959
+-114.392 44.436 4847
+-114.266 44.436 4804
+-114.14 44.436 4711
+-114.014 44.436 4548
+-113.888 44.436 4327
+-113.762 44.436 4095
+-113.636 44.436 3958
+-113.51 44.436 4013
+-113.384 44.436 3977
+-113.258 44.436 3895
+-113.132 44.436 3860
+-113.006 44.436 3835
+-112.88 44.436 3811
+-112.754 44.436 3816
+-112.628 44.436 3781
+-112.502 44.436 3781
+-112.376 44.436 3803
+-112.25 44.436 3779
+-112.124 44.436 3749
+-111.998 44.436 3752
+-111.872 44.436 3747
+-111.746 44.436 3704
+-111.62 44.436 3673
+-111.494 44.436 3627
+-111.368 44.436 3599
+-111.242 44.436 3590
+-111.116 44.436 3583
+-110.99 44.436 3577
+-110.864 44.436 3569
+-110.738 44.436 3567
+-110.612 44.436 3566
+-110.486 44.436 3566
+-110.36 44.436 3567
+-110.234 44.436 3443
+-110.108 44.436 3444
+-109.982 44.436 3446
+-109.856 44.436 3447
+-109.73 44.436 3450
+-109.604 44.436 3388
+-109.478 44.436 3373
+-109.352 44.436 3314
+-109.226 44.436 3315
+-109.1 44.436 3256
+-108.974 44.436 3244
+-108.848 44.436 3113
+-108.722 44.436 3115
+-108.596 44.436 3117
+-108.47 44.436 3119
+-108.344 44.436 3121
+-108.218 44.436 3122
+-108.092 44.436 3124
+-107.966 44.436 3126
+-107.84 44.436 3127
+-107.714 44.436 3128
+-107.588 44.436 3130
+-107.462 44.436 3122
+-107.336 44.436 3124
+-107.21 44.436 3126
+-107.084 44.436 3128
+-106.958 44.436 3130
+-106.832 44.436 3132
+-106.706 44.436 3133
+-106.58 44.436 3135
+-106.454 44.436 3136
+-106.328 44.436 3138
+-106.202 44.436 3139
+-106.076 44.436 3141
+-105.95 44.436 3142
+-105.824 44.436 2961
+-105.698 44.436 2957
+-105.572 44.436 2953
+-105.446 44.436 2949
+-105.32 44.436 2944
+-105.194 44.436 2939
+-105.068 44.436 2934
+-104.942 44.436 2929
+-104.816 44.436 2944
+-104.69 44.436 2937
+-104.564 44.436 2745
+-104.438 44.436 2690
+-104.312 44.436 2507
+-104.186 44.436 2512
+-104.06 44.436 2483
+-103.934 44.436 2436
+-103.808 44.436 2523
+-103.682 44.436 2524
+-103.556 44.436 2557
+-103.43 44.436 2681
+-103.304 44.436 2826
+-103.178 44.436 2812
+-103.052 44.436 2812
+-102.926 44.436 2916
+-102.8 44.436 2965
+-102.674 44.436 2963
+-102.548 44.436 2924
+-102.422 44.436 2923
+-102.296 44.436 2922
+-102.17 44.436 2922
+-102.044 44.436 2921
+-101.918 44.436 2920
+-101.792 44.436 2974
+-101.666 44.436 2973
+-101.54 44.436 2972
+-101.414 44.436 2893
+-101.288 44.436 2893
+-101.162 44.436 2893
+-101.036 44.436 2896
+-100.91 44.436 2896
+-100.784 44.436 2897
+-100.658 44.436 2897
+-100.532 44.436 2897
+-100.406 44.436 3022
+-100.28 44.436 3022
+-100.154 44.436 3021
+-100.028 44.436 3021
+-99.902 44.436 3030
+-99.776 44.436 3040
+-99.65 44.436 3031
+-99.524 44.436 3001
+-99.398 44.436 3039
+-99.272 44.436 3264
+-99.146 44.436 3288
+-99.02 44.436 3283
+-98.894 44.436 3166
+-98.768 44.436 3164
+-98.642 44.436 3162
+-98.516 44.436 3160
+-98.39 44.436 3158
+-98.264 44.436 3156
+-98.138 44.436 3154
+-98.012 44.436 3137
+-97.886 44.436 3160
+-97.76 44.436 3159
+-97.634 44.436 3182
+-97.508 44.436 3165
+-97.382 44.436 3200
+-97.256 44.436 3133
+-97.13 44.436 3150
+-97.004 44.436 3154
+-96.878 44.436 3148
+-96.752 44.436 3164
+-96.626 44.436 3168
+-96.5 44.436 3174
+-96.374 44.436 3194
+-96.248 44.436 3198
+-96.122 44.436 3202
+-95.996 44.436 3281
+-95.87 44.436 3284
+-95.744 44.436 3287
+-95.618 44.436 3264
+-95.492 44.436 3334
+-95.366 44.436 3337
+-95.24 44.436 3335
+-95.114 44.436 3332
+-94.988 44.436 3329
+-94.862 44.436 3311
+-94.736 44.436 3306
+-94.61 44.436 3258
+-94.484 44.436 3320
+-94.358 44.436 3315
+-94.232 44.436 3283
+-94.106 44.436 3269
+-93.98 44.436 3251
+-93.854 44.436 3231
+-93.728 44.436 3183
+-93.602 44.436 3148
+-93.476 44.436 3100
+-93.35 44.436 3043
+-93.224 44.436 2993
+-93.098 44.436 2977
+-92.972 44.436 3018
+-92.846 44.436 3088
+-92.72 44.436 3169
+-92.594 44.436 3229
+-92.468 44.436 3288
+-92.342 44.436 3331
+-92.216 44.436 3342
+-92.09 44.436 3343
+-91.964 44.436 3345
+-91.838 44.436 3317
+-91.712 44.436 3264
+-91.586 44.436 3219
+-91.46 44.436 3269
+-91.334 44.436 3328
+-91.208 44.436 3339
+-91.082 44.436 3337
+-90.956 44.436 3337
+-90.83 44.436 3338
+-90.704 44.436 3360
+-90.578 44.436 3383
+-90.452 44.436 3363
+-90.326 44.436 3338
+-90.2 44.436 3367
+-90.074 44.436 3412
+-89.948 44.436 3435
+-89.822 44.436 3440
+-89.696 44.436 3431
+-89.57 44.436 3411
+-89.444 44.436 3382
+-89.318 44.436 3348
+-89.192 44.436 3297
+-89.066 44.436 3228
+-88.94 44.436 3142
+-88.814 44.436 3091
+-88.688 44.436 3109
+-88.562 44.436 3038
+-88.436 44.436 2961
+-88.31 44.436 3006
+-88.184 44.436 3048
+-88.058 44.436 3068
+-87.932 44.436 3055
+-87.806 44.436 3027
+-87.68 44.436 2935
+-87.554 44.436 2859
+-87.428 44.436 2776
+-87.302 44.436 2679
+-87.176 44.436 2576
+-87.05 44.436 2472
+-86.924 44.436 2370
+-86.798 44.436 2247
+-86.672 44.436 2143
+-86.546 44.436 2045
+-86.42 44.436 1974
+-86.294 44.436 1944
+-86.168 44.436 1899
+-86.042 44.436 1839
+-85.916 44.436 1836
+-85.79 44.436 1881
+-85.664 44.436 1936
+-85.538 44.436 1994
+-85.412 44.436 2035
+-85.286 44.436 2067
+-85.16 44.436 2104
+-85.034 44.436 2127
+-84.908 44.436 2165
+-84.782 44.436 2214
+-84.656 44.436 2236
+-84.53 44.436 2277
+-84.404 44.436 2286
+-84.278 44.436 2318
+-84.152 44.436 2353
+-84.026 44.436 2377
+-83.9 44.436 2407
+-83.774 44.436 2434
+-83.648 44.436 2432
+-83.522 44.436 2463
+-83.396 44.436 2481
+-83.27 44.436 2496
+-83.144 44.436 2515
+-83.018 44.436 2532
+-82.892 44.436 2548
+-82.766 44.436 2532
+-82.64 44.436 2542
+-82.514 44.436 2554
+-82.388 44.436 2566
+-82.262 44.436 2577
+-82.136 44.436 2585
+-82.01 44.436 2552
+-81.884 44.436 2635
+-81.758 44.436 2640
+-81.632 44.436 2652
+-81.506 44.436 2660
+-81.38 44.436 2667
+-81.254 44.436 2673
+-81.128 44.436 2694
+-81.002 44.436 2685
+-80.876 44.436 2734
+-80.75 44.436 2741
+-80.624 44.436 2740
+-80.498 44.436 2749
+-80.372 44.436 2755
+-80.246 44.436 2760
+-80.12 44.436 2756
+-79.994 44.436 2859
+-79.868 44.436 2864
+-79.742 44.436 2869
+-79.616 44.436 2874
+-79.49 44.436 2969
+-79.364 44.436 2934
+-79.238 44.436 3073
+-79.112 44.436 3077
+-78.986 44.436 3049
+-78.86 44.436 3052
+-78.734 44.436 3055
+-78.608 44.436 3057
+-78.482 44.436 3060
+-78.356 44.436 3062
+-78.23 44.436 3141
+-78.104 44.436 3140
+-77.978 44.436 3143
+-77.852 44.436 3146
+-77.726 44.436 3148
+-77.6 44.436 3101
+-77.474 44.436 3130
+-77.348 44.436 3132
+-77.222 44.436 3195
+-77.096 44.436 3120
+-76.97 44.436 3123
+-76.844 44.436 3126
+-76.718 44.436 3167
+-76.592 44.436 3128
+-76.466 44.436 3131
+-76.34 44.436 3134
+-76.214 44.436 3353
+-76.088 44.436 3306
+-75.962 44.436 3308
+-75.836 44.436 3433
+-75.71 44.436 3409
+-75.584 44.436 3411
+-75.458 44.436 3362
+-75.332 44.436 3435
+-75.206 44.436 3436
+-75.08 44.436 3437
+-74.954 44.436 3439
+-74.828 44.436 3441
+-74.702 44.436 3440
+-74.576 44.436 3441
+-74.45 44.436 3443
+-74.324 44.436 3432
+-74.198 44.436 3383
+-74.072 44.436 3378
+-73.946 44.436 3379
+-73.82 44.436 3380
+-73.694 44.436 3381
+-73.568 44.436 3383
+-73.442 44.436 3384
+-73.316 44.436 3385
+-73.19 44.436 3386
+-73.064 44.436 3387
+-72.938 44.436 3388
+-72.812 44.436 3389
+-72.686 44.436 3390
+-72.56 44.436 3391
+-72.434 44.436 3392
+-72.308 44.436 3393
+-72.182 44.436 3502
+-72.056 44.436 3503
+-71.93 44.436 3489
+-71.804 44.436 3489
+-71.678 44.436 3490
+-71.552 44.436 3491
+-71.426 44.436 3492
+-71.3 44.436 3492
+-71.174 44.436 3493
+-71.048 44.436 3494
+-70.922 44.436 3494
+-70.796 44.436 3495
+-70.67 44.436 3496
+-70.544 44.436 3531
+-70.418 44.436 3532
+-70.292 44.436 3533
+-70.166 44.436 3534
+-70.04 44.436 3535
+-69.914 44.436 3536
+-69.788 44.436 3496
+-69.662 44.436 3497
+-69.536 44.436 3497
+-69.41 44.436 3498
+-69.284 44.436 3535
+-69.158 44.436 3536
+-69.032 44.436 3536
+-68.906 44.436 3490
+-68.78 44.436 3491
+-68.654 44.436 3492
+-68.528 44.436 3628
+-68.402 44.436 3629
+-68.276 44.436 3629
+-68.15 44.436 3629
+-68.024 44.436 3629
+-67.898 44.436 3563
+-67.772 44.436 3563
+-67.646 44.436 3564
+-67.52 44.436 3564
+-67.394 44.436 3564
+-67.268 44.436 3564
+-67.142 44.436 3564
+-67.016 44.436 3565
+-66.89 44.436 3565
+-66.764 44.436 3565
+-66.638 44.436 3546
+-66.512 44.436 3533
+-66.386 44.436 3534
+-66.26 44.436 3534
+-66.134 44.436 3534
+-66.008 44.436 3534
+-65.882 44.436 3534
+-65.756 44.436 3515
+-65.63 44.436 3516
+-65.504 44.436 3516
+-65.378 44.436 3516
+-65.252 44.436 3516
+-65.126 44.436 3516
+-128 44.384 3691
+-127.874 44.384 3661
+-127.748 44.384 3707
+-127.622 44.384 3809
+-127.496 44.384 3964
+-127.37 44.384 4031
+-127.244 44.384 4095
+-127.118 44.384 4206
+-126.992 44.384 4394
+-126.866 44.384 4526
+-126.74 44.384 4720
+-126.614 44.384 4785
+-126.488 44.384 4818
+-126.362 44.384 4952
+-126.236 44.384 5098
+-126.11 44.384 5238
+-125.984 44.384 5351
+-125.858 44.384 5416
+-125.732 44.384 5388
+-125.606 44.384 5535
+-125.48 44.384 5575
+-125.354 44.384 5714
+-125.228 44.384 5806
+-125.102 44.384 5881
+-124.976 44.384 5948
+-124.85 44.384 6039
+-124.724 44.384 6107
+-124.598 44.384 6183
+-124.472 44.384 6292
+-124.346 44.384 6373
+-124.22 44.384 6453
+-124.094 44.384 6509
+-123.968 44.384 6552
+-123.842 44.384 6596
+-123.716 44.384 6643
+-123.59 44.384 6653
+-123.464 44.384 6716
+-123.338 44.384 6690
+-123.212 44.384 6724
+-123.086 44.384 6737
+-122.96 44.384 6726
+-122.834 44.384 6710
+-122.708 44.384 6726
+-122.582 44.384 6697
+-122.456 44.384 6702
+-122.33 44.384 6666
+-122.204 44.384 6615
+-122.078 44.384 6546
+-121.952 44.384 6524
+-121.826 44.384 6461
+-121.7 44.384 6439
+-121.574 44.384 6369
+-121.448 44.384 6288
+-121.322 44.384 6226
+-121.196 44.384 6137
+-121.07 44.384 6077
+-120.944 44.384 6000
+-120.818 44.384 6089
+-120.692 44.384 6172
+-120.566 44.384 6245
+-120.44 44.384 6363
+-120.314 44.384 6426
+-120.188 44.384 6539
+-120.062 44.384 6663
+-119.936 44.384 6772
+-119.81 44.384 6878
+-119.684 44.384 6930
+-119.558 44.384 7030
+-119.432 44.384 7088
+-119.306 44.384 7159
+-119.18 44.384 7234
+-119.054 44.384 7257
+-118.928 44.384 7314
+-118.802 44.384 7342
+-118.676 44.384 7404
+-118.55 44.384 7390
+-118.424 44.384 7422
+-118.298 44.384 7417
+-118.172 44.384 7397
+-118.046 44.384 7377
+-117.92 44.384 7359
+-117.794 44.384 7338
+-117.668 44.384 7279
+-117.542 44.384 7228
+-117.416 44.384 7153
+-117.29 44.384 7073
+-117.164 44.384 7015
+-117.038 44.384 6930
+-116.912 44.384 6856
+-116.786 44.384 6805
+-116.66 44.384 6696
+-116.534 44.384 6612
+-116.408 44.384 6473
+-116.282 44.384 6408
+-116.156 44.384 6293
+-116.03 44.384 6235
+-115.904 44.384 6080
+-115.778 44.384 5969
+-115.652 44.384 5854
+-115.526 44.384 5730
+-115.4 44.384 5625
+-115.274 44.384 5537
+-115.148 44.384 5408
+-115.022 44.384 5256
+-114.896 44.384 5211
+-114.77 44.384 4999
+-114.644 44.384 5054
+-114.518 44.384 4996
+-114.392 44.384 4910
+-114.266 44.384 4817
+-114.14 44.384 4734
+-114.014 44.384 4551
+-113.888 44.384 4393
+-113.762 44.384 4181
+-113.636 44.384 4062
+-113.51 44.384 4062
+-113.384 44.384 4047
+-113.258 44.384 4000
+-113.132 44.384 3959
+-113.006 44.384 3930
+-112.88 44.384 3902
+-112.754 44.384 3903
+-112.628 44.384 3865
+-112.502 44.384 3858
+-112.376 44.384 3794
+-112.25 44.384 3761
+-112.124 44.384 3762
+-111.998 44.384 3760
+-111.872 44.384 3755
+-111.746 44.384 3722
+-111.62 44.384 3664
+-111.494 44.384 3639
+-111.368 44.384 3611
+-111.242 44.384 3575
+-111.116 44.384 3568
+-110.99 44.384 3562
+-110.864 44.384 3557
+-110.738 44.384 3554
+-110.612 44.384 3552
+-110.486 44.384 3551
+-110.36 44.384 3551
+-110.234 44.384 3551
+-110.108 44.384 3453
+-109.982 44.384 3453
+-109.856 44.384 3454
+-109.73 44.384 3456
+-109.604 44.384 3420
+-109.478 44.384 3327
+-109.352 44.384 3316
+-109.226 44.384 3256
+-109.1 44.384 3255
+-108.974 44.384 3255
+-108.848 44.384 3254
+-108.722 44.384 3111
+-108.596 44.384 3113
+-108.47 44.384 3114
+-108.344 44.384 3116
+-108.218 44.384 3118
+-108.092 44.384 3119
+-107.966 44.384 3121
+-107.84 44.384 3122
+-107.714 44.384 3124
+-107.588 44.384 3125
+-107.462 44.384 3126
+-107.336 44.384 3119
+-107.21 44.384 3121
+-107.084 44.384 3122
+-106.958 44.384 3124
+-106.832 44.384 3126
+-106.706 44.384 3128
+-106.58 44.384 3130
+-106.454 44.384 3131
+-106.328 44.384 3133
+-106.202 44.384 3134
+-106.076 44.384 3136
+-105.95 44.384 3137
+-105.824 44.384 2954
+-105.698 44.384 2950
+-105.572 44.384 2945
+-105.446 44.384 2941
+-105.32 44.384 2936
+-105.194 44.384 2931
+-105.068 44.384 2926
+-104.942 44.384 2921
+-104.816 44.384 2936
+-104.69 44.384 2929
+-104.564 44.384 2737
+-104.438 44.384 2681
+-104.312 44.384 2500
+-104.186 44.384 2464
+-104.06 44.384 2485
+-103.934 44.384 2432
+-103.808 44.384 2521
+-103.682 44.384 2522
+-103.556 44.384 2556
+-103.43 44.384 2681
+-103.304 44.384 2790
+-103.178 44.384 2825
+-103.052 44.384 2811
+-102.926 44.384 2913
+-102.8 44.384 2911
+-102.674 44.384 2960
+-102.548 44.384 2958
+-102.422 44.384 2920
+-102.296 44.384 2919
+-102.17 44.384 2918
+-102.044 44.384 2917
+-101.918 44.384 2917
+-101.792 44.384 2916
+-101.666 44.384 2969
+-101.54 44.384 2968
+-101.414 44.384 2967
+-101.288 44.384 2889
+-101.162 44.384 2889
+-101.036 44.384 2889
+-100.91 44.384 2893
+-100.784 44.384 2893
+-100.658 44.384 2893
+-100.532 44.384 2893
+-100.406 44.384 2893
+-100.28 44.384 3017
+-100.154 44.384 3017
+-100.028 44.384 3016
+-99.902 44.384 3016
+-99.776 44.384 3017
+-99.65 44.384 3035
+-99.524 44.384 3026
+-99.398 44.384 2996
+-99.272 44.384 3034
+-99.146 44.384 3257
+-99.02 44.384 3279
+-98.894 44.384 3275
+-98.768 44.384 3160
+-98.642 44.384 3158
+-98.516 44.384 3155
+-98.39 44.384 3153
+-98.264 44.384 3151
+-98.138 44.384 3149
+-98.012 44.384 3147
+-97.886 44.384 3131
+-97.76 44.384 3153
+-97.634 44.384 3152
+-97.508 44.384 3175
+-97.382 44.384 3159
+-97.256 44.384 3193
+-97.13 44.384 3127
+-97.004 44.384 3145
+-96.878 44.384 3149
+-96.752 44.384 3143
+-96.626 44.384 3160
+-96.5 44.384 3164
+-96.374 44.384 3171
+-96.248 44.384 3191
+-96.122 44.384 3196
+-95.996 44.384 3201
+-95.87 44.384 3279
+-95.744 44.384 3282
+-95.618 44.384 3284
+-95.492 44.384 3262
+-95.366 44.384 3330
+-95.24 44.384 3332
+-95.114 44.384 3330
+-94.988 44.384 3327
+-94.862 44.384 3323
+-94.736 44.384 3305
+-94.61 44.384 3299
+-94.484 44.384 3252
+-94.358 44.384 3308
+-94.232 44.384 3299
+-94.106 44.384 3267
+-93.98 44.384 3248
+-93.854 44.384 3224
+-93.728 44.384 3194
+-93.602 44.384 3133
+-93.476 44.384 3074
+-93.35 44.384 2992
+-93.224 44.384 2904
+-93.098 44.384 2861
+-92.972 44.384 2926
+-92.846 44.384 3049
+-92.72 44.384 3143
+-92.594 44.384 3220
+-92.468 44.384 3283
+-92.342 44.384 3321
+-92.216 44.384 3356
+-92.09 44.384 3360
+-91.964 44.384 3361
+-91.838 44.384 3347
+-91.712 44.384 3312
+-91.586 44.384 3289
+-91.46 44.384 3331
+-91.334 44.384 3368
+-91.208 44.384 3383
+-91.082 44.384 3397
+-90.956 44.384 3406
+-90.83 44.384 3414
+-90.704 44.384 3427
+-90.578 44.384 3430
+-90.452 44.384 3411
+-90.326 44.384 3386
+-90.2 44.384 3417
+-90.074 44.384 3459
+-89.948 44.384 3463
+-89.822 44.384 3466
+-89.696 44.384 3456
+-89.57 44.384 3435
+-89.444 44.384 3406
+-89.318 44.384 3374
+-89.192 44.384 3328
+-89.066 44.384 3271
+-88.94 44.384 3199
+-88.814 44.384 3147
+-88.688 44.384 3149
+-88.562 44.384 3097
+-88.436 44.384 3037
+-88.31 44.384 3064
+-88.184 44.384 3107
+-88.058 44.384 3098
+-87.932 44.384 3095
+-87.806 44.384 3063
+-87.68 44.384 2973
+-87.554 44.384 2908
+-87.428 44.384 2823
+-87.302 44.384 2728
+-87.176 44.384 2624
+-87.05 44.384 2517
+-86.924 44.384 2405
+-86.798 44.384 2289
+-86.672 44.384 2170
+-86.546 44.384 2058
+-86.42 44.384 1973
+-86.294 44.384 1945
+-86.168 44.384 1950
+-86.042 44.384 1941
+-85.916 44.384 1936
+-85.79 44.384 1952
+-85.664 44.384 1983
+-85.538 44.384 2005
+-85.412 44.384 2023
+-85.286 44.384 2046
+-85.16 44.384 2066
+-85.034 44.384 2102
+-84.908 44.384 2151
+-84.782 44.384 2180
+-84.656 44.384 2226
+-84.53 44.384 2243
+-84.404 44.384 2281
+-84.278 44.384 2319
+-84.152 44.384 2348
+-84.026 44.384 2382
+-83.9 44.384 2412
+-83.774 44.384 2414
+-83.648 44.384 2446
+-83.522 44.384 2467
+-83.396 44.384 2484
+-83.27 44.384 2504
+-83.144 44.384 2523
+-83.018 44.384 2540
+-82.892 44.384 2526
+-82.766 44.384 2536
+-82.64 44.384 2550
+-82.514 44.384 2562
+-82.388 44.384 2573
+-82.262 44.384 2582
+-82.136 44.384 2550
+-82.01 44.384 2632
+-81.884 44.384 2638
+-81.758 44.384 2650
+-81.632 44.384 2658
+-81.506 44.384 2665
+-81.38 44.384 2672
+-81.254 44.384 2692
+-81.128 44.384 2684
+-81.002 44.384 2733
+-80.876 44.384 2739
+-80.75 44.384 2739
+-80.624 44.384 2748
+-80.498 44.384 2754
+-80.372 44.384 2760
+-80.246 44.384 2755
+-80.12 44.384 2858
+-79.994 44.384 2863
+-79.868 44.384 2868
+-79.742 44.384 2873
+-79.616 44.384 2968
+-79.49 44.384 2933
+-79.364 44.384 3071
+-79.238 44.384 3075
+-79.112 44.384 3047
+-78.986 44.384 3050
+-78.86 44.384 3053
+-78.734 44.384 3056
+-78.608 44.384 3058
+-78.482 44.384 3061
+-78.356 44.384 3139
+-78.23 44.384 3138
+-78.104 44.384 3141
+-77.978 44.384 3144
+-77.852 44.384 3147
+-77.726 44.384 3099
+-77.6 44.384 3128
+-77.474 44.384 3131
+-77.348 44.384 3194
+-77.222 44.384 3119
+-77.096 44.384 3122
+-76.97 44.384 3125
+-76.844 44.384 3165
+-76.718 44.384 3127
+-76.592 44.384 3130
+-76.466 44.384 3133
+-76.34 44.384 3351
+-76.214 44.384 3304
+-76.088 44.384 3306
+-75.962 44.384 3431
+-75.836 44.384 3408
+-75.71 44.384 3410
+-75.584 44.384 3361
+-75.458 44.384 3433
+-75.332 44.384 3435
+-75.206 44.384 3436
+-75.08 44.384 3438
+-74.954 44.384 3439
+-74.828 44.384 3439
+-74.702 44.384 3440
+-74.576 44.384 3442
+-74.45 44.384 3431
+-74.324 44.384 3382
+-74.198 44.384 3377
+-74.072 44.384 3378
+-73.946 44.384 3379
+-73.82 44.384 3381
+-73.694 44.384 3382
+-73.568 44.384 3383
+-73.442 44.384 3384
+-73.316 44.384 3385
+-73.19 44.384 3386
+-73.064 44.384 3387
+-72.938 44.384 3388
+-72.812 44.384 3389
+-72.686 44.384 3390
+-72.56 44.384 3391
+-72.434 44.384 3392
+-72.308 44.384 3501
+-72.182 44.384 3502
+-72.056 44.384 3488
+-71.93 44.384 3489
+-71.804 44.384 3490
+-71.678 44.384 3490
+-71.552 44.384 3491
+-71.426 44.384 3492
+-71.3 44.384 3493
+-71.174 44.384 3493
+-71.048 44.384 3494
+-70.922 44.384 3495
+-70.796 44.384 3495
+-70.67 44.384 3531
+-70.544 44.384 3532
+-70.418 44.384 3533
+-70.292 44.384 3534
+-70.166 44.384 3534
+-70.04 44.384 3535
+-69.914 44.384 3496
+-69.788 44.384 3496
+-69.662 44.384 3497
+-69.536 44.384 3498
+-69.41 44.384 3534
+-69.284 44.384 3535
+-69.158 44.384 3536
+-69.032 44.384 3490
+-68.906 44.384 3490
+-68.78 44.384 3491
+-68.654 44.384 3628
+-68.528 44.384 3628
+-68.402 44.384 3629
+-68.276 44.384 3629
+-68.15 44.384 3629
+-68.024 44.384 3563
+-67.898 44.384 3563
+-67.772 44.384 3563
+-67.646 44.384 3564
+-67.52 44.384 3564
+-67.394 44.384 3564
+-67.268 44.384 3564
+-67.142 44.384 3564
+-67.016 44.384 3565
+-66.89 44.384 3565
+-66.764 44.384 3546
+-66.638 44.384 3533
+-66.512 44.384 3533
+-66.386 44.384 3534
+-66.26 44.384 3534
+-66.134 44.384 3534
+-66.008 44.384 3515
+-65.882 44.384 3515
+-65.756 44.384 3515
+-65.63 44.384 3516
+-65.504 44.384 3516
+-65.378 44.384 3516
+-65.252 44.384 3516
+-65.126 44.384 3516
+-128 44.332 3723
+-127.874 44.332 3698
+-127.748 44.332 3652
+-127.622 44.332 3747
+-127.496 44.332 3902
+-127.37 44.332 3994
+-127.244 44.332 4104
+-127.118 44.332 4196
+-126.992 44.332 4309
+-126.866 44.332 4473
+-126.74 44.332 4682
+-126.614 44.332 4766
+-126.488 44.332 4735
+-126.362 44.332 4870
+-126.236 44.332 5030
+-126.11 44.332 5182
+-125.984 44.332 5312
+-125.858 44.332 5408
+-125.732 44.332 5443
+-125.606 44.332 5518
+-125.48 44.332 5625
+-125.354 44.332 5695
+-125.228 44.332 5742
+-125.102 44.332 5823
+-124.976 44.332 5907
+-124.85 44.332 6065
+-124.724 44.332 6042
+-124.598 44.332 6105
+-124.472 44.332 6195
+-124.346 44.332 6300
+-124.22 44.332 6370
+-124.094 44.332 6440
+-123.968 44.332 6512
+-123.842 44.332 6526
+-123.716 44.332 6582
+-123.59 44.332 6630
+-123.464 44.332 6643
+-123.338 44.332 6666
+-123.212 44.332 6675
+-123.086 44.332 6691
+-122.96 44.332 6695
+-122.834 44.332 6672
+-122.708 44.332 6652
+-122.582 44.332 6643
+-122.456 44.332 6618
+-122.33 44.332 6610
+-122.204 44.332 6552
+-122.078 44.332 6566
+-121.952 44.332 6456
+-121.826 44.332 6406
+-121.7 44.332 6321
+-121.574 44.332 6292
+-121.448 44.332 6255
+-121.322 44.332 6220
+-121.196 44.332 6100
+-121.07 44.332 6078
+-120.944 44.332 5944
+-120.818 44.332 6050
+-120.692 44.332 6110
+-120.566 44.332 6267
+-120.44 44.332 6308
+-120.314 44.332 6396
+-120.188 44.332 6538
+-120.062 44.332 6617
+-119.936 44.332 6734
+-119.81 44.332 6823
+-119.684 44.332 6894
+-119.558 44.332 6974
+-119.432 44.332 7046
+-119.306 44.332 7116
+-119.18 44.332 7210
+-119.054 44.332 7245
+-118.928 44.332 7264
+-118.802 44.332 7295
+-118.676 44.332 7331
+-118.55 44.332 7343
+-118.424 44.332 7357
+-118.298 44.332 7363
+-118.172 44.332 7339
+-118.046 44.332 7314
+-117.92 44.332 7276
+-117.794 44.332 7256
+-117.668 44.332 7216
+-117.542 44.332 7174
+-117.416 44.332 7135
+-117.29 44.332 7048
+-117.164 44.332 6985
+-117.038 44.332 6882
+-116.912 44.332 6849
+-116.786 44.332 6721
+-116.66 44.332 6670
+-116.534 44.332 6620
+-116.408 44.332 6475
+-116.282 44.332 6376
+-116.156 44.332 6253
+-116.03 44.332 6166
+-115.904 44.332 6034
+-115.778 44.332 5900
+-115.652 44.332 5816
+-115.526 44.332 5779
+-115.4 44.332 5619
+-115.274 44.332 5514
+-115.148 44.332 5312
+-115.022 44.332 5305
+-114.896 44.332 5231
+-114.77 44.332 5116
+-114.644 44.332 5067
+-114.518 44.332 5019
+-114.392 44.332 4883
+-114.266 44.332 4805
+-114.14 44.332 4724
+-114.014 44.332 4571
+-113.888 44.332 4428
+-113.762 44.332 4288
+-113.636 44.332 4194
+-113.51 44.332 4162
+-113.384 44.332 4125
+-113.258 44.332 4084
+-113.132 44.332 4034
+-113.006 44.332 4005
+-112.88 44.332 3981
+-112.754 44.332 3969
+-112.628 44.332 3915
+-112.502 44.332 3906
+-112.376 44.332 3840
+-112.25 44.332 3815
+-112.124 44.332 3773
+-111.998 44.332 3770
+-111.872 44.332 3728
+-111.746 44.332 3720
+-111.62 44.332 3644
+-111.494 44.332 3637
+-111.368 44.332 3630
+-111.242 44.332 3583
+-111.116 44.332 3577
+-110.99 44.332 3571
+-110.864 44.332 3566
+-110.738 44.332 3563
+-110.612 44.332 3561
+-110.486 44.332 3559
+-110.36 44.332 3559
+-110.234 44.332 3559
+-110.108 44.332 3559
+-109.982 44.332 3459
+-109.856 44.332 3460
+-109.73 44.332 3422
+-109.604 44.332 3422
+-109.478 44.332 3422
+-109.352 44.332 3255
+-109.226 44.332 3254
+-109.1 44.332 3253
+-108.974 44.332 3252
+-108.848 44.332 3252
+-108.722 44.332 3239
+-108.596 44.332 3108
+-108.47 44.332 3110
+-108.344 44.332 3111
+-108.218 44.332 3113
+-108.092 44.332 3114
+-107.966 44.332 3116
+-107.84 44.332 3117
+-107.714 44.332 3119
+-107.588 44.332 3120
+-107.462 44.332 3122
+-107.336 44.332 3123
+-107.21 44.332 3115
+-107.084 44.332 3117
+-106.958 44.332 3119
+-106.832 44.332 3121
+-106.706 44.332 3123
+-106.58 44.332 3124
+-106.454 44.332 3126
+-106.328 44.332 3128
+-106.202 44.332 3129
+-106.076 44.332 3131
+-105.95 44.332 3133
+-105.824 44.332 2946
+-105.698 44.332 2942
+-105.572 44.332 2938
+-105.446 44.332 2933
+-105.32 44.332 2928
+-105.194 44.332 2923
+-105.068 44.332 2918
+-104.942 44.332 2913
+-104.816 44.332 2928
+-104.69 44.332 2922
+-104.564 44.332 2729
+-104.438 44.332 2672
+-104.312 44.332 2493
+-104.186 44.332 2458
+-104.06 44.332 2479
+-103.934 44.332 2429
+-103.808 44.332 2519
+-103.682 44.332 2520
+-103.556 44.332 2555
+-103.43 44.332 2680
+-103.304 44.332 2789
+-103.178 44.332 2790
+-103.052 44.332 2773
+-102.926 44.332 2903
+-102.8 44.332 2909
+-102.674 44.332 2907
+-102.548 44.332 2955
+-102.422 44.332 2953
+-102.296 44.332 2916
+-102.17 44.332 2915
+-102.044 44.332 2914
+-101.918 44.332 2913
+-101.792 44.332 2912
+-101.666 44.332 2911
+-101.54 44.332 2965
+-101.414 44.332 2963
+-101.288 44.332 2962
+-101.162 44.332 2885
+-101.036 44.332 2885
+-100.91 44.332 2885
+-100.784 44.332 2889
+-100.658 44.332 2889
+-100.532 44.332 2889
+-100.406 44.332 2889
+-100.28 44.332 2889
+-100.154 44.332 3012
+-100.028 44.332 3012
+-99.902 44.332 3011
+-99.776 44.332 3011
+-99.65 44.332 3020
+-99.524 44.332 3029
+-99.398 44.332 3021
+-99.272 44.332 2992
+-99.146 44.332 3029
+-99.02 44.332 3248
+-98.894 44.332 3270
+-98.768 44.332 3266
+-98.642 44.332 3153
+-98.516 44.332 3150
+-98.39 44.332 3148
+-98.264 44.332 3145
+-98.138 44.332 3143
+-98.012 44.332 3141
+-97.886 44.332 3139
+-97.76 44.332 3124
+-97.634 44.332 3145
+-97.508 44.332 3145
+-97.382 44.332 3167
+-97.256 44.332 3151
+-97.13 44.332 3185
+-97.004 44.332 3121
+-96.878 44.332 3139
+-96.752 44.332 3144
+-96.626 44.332 3139
+-96.5 44.332 3156
+-96.374 44.332 3161
+-96.248 44.332 3168
+-96.122 44.332 3188
+-95.996 44.332 3194
+-95.87 44.332 3200
+-95.744 44.332 3276
+-95.618 44.332 3279
+-95.492 44.332 3282
+-95.366 44.332 3261
+-95.24 44.332 3326
+-95.114 44.332 3328
+-94.988 44.332 3325
+-94.862 44.332 3321
+-94.736 44.332 3317
+-94.61 44.332 3299
+-94.484 44.332 3292
+-94.358 44.332 3246
+-94.232 44.332 3294
+-94.106 44.332 3284
+-93.98 44.332 3249
+-93.854 44.332 3225
+-93.728 44.332 3193
+-93.602 44.332 3149
+-93.476 44.332 3070
+-93.35 44.332 2978
+-93.224 44.332 2862
+-93.098 44.332 2793
+-92.972 44.332 2880
+-92.846 44.332 3040
+-92.72 44.332 3150
+-92.594 44.332 3220
+-92.468 44.332 3270
+-92.342 44.332 3323
+-92.216 44.332 3364
+-92.09 44.332 3377
+-91.964 44.332 3384
+-91.838 44.332 3388
+-91.712 44.332 3383
+-91.586 44.332 3387
+-91.46 44.332 3401
+-91.334 44.332 3407
+-91.208 44.332 3421
+-91.082 44.332 3449
+-90.956 44.332 3462
+-90.83 44.332 3474
+-90.704 44.332 3485
+-90.578 44.332 3489
+-90.452 44.332 3486
+-90.326 44.332 3478
+-90.2 44.332 3487
+-90.074 44.332 3501
+-89.948 44.332 3506
+-89.822 44.332 3491
+-89.696 44.332 3480
+-89.57 44.332 3459
+-89.444 44.332 3431
+-89.318 44.332 3408
+-89.192 44.332 3364
+-89.066 44.332 3330
+-88.94 44.332 3299
+-88.814 44.332 3261
+-88.688 44.332 3236
+-88.562 44.332 3203
+-88.436 44.332 3169
+-88.31 44.332 3160
+-88.184 44.332 3167
+-88.058 44.332 3149
+-87.932 44.332 3133
+-87.806 44.332 3103
+-87.68 44.332 3061
+-87.554 44.332 2950
+-87.428 44.332 2868
+-87.302 44.332 2773
+-87.176 44.332 2671
+-87.05 44.332 2562
+-86.924 44.332 2445
+-86.798 44.332 2324
+-86.672 44.332 2204
+-86.546 44.332 2094
+-86.42 44.332 2009
+-86.294 44.332 1974
+-86.168 44.332 1982
+-86.042 44.332 1993
+-85.916 44.332 1996
+-85.79 44.332 2003
+-85.664 44.332 2000
+-85.538 44.332 1992
+-85.412 44.332 1991
+-85.286 44.332 1996
+-85.16 44.332 2025
+-85.034 44.332 2073
+-84.908 44.332 2111
+-84.782 44.332 2163
+-84.656 44.332 2191
+-84.53 44.332 2236
+-84.404 44.332 2280
+-84.278 44.332 2316
+-84.152 44.332 2353
+-84.026 44.332 2388
+-83.9 44.332 2395
+-83.774 44.332 2429
+-83.648 44.332 2452
+-83.522 44.332 2471
+-83.396 44.332 2493
+-83.27 44.332 2514
+-83.144 44.332 2532
+-83.018 44.332 2520
+-82.892 44.332 2531
+-82.766 44.332 2546
+-82.64 44.332 2559
+-82.514 44.332 2571
+-82.388 44.332 2580
+-82.262 44.332 2549
+-82.136 44.332 2629
+-82.01 44.332 2636
+-81.884 44.332 2648
+-81.758 44.332 2656
+-81.632 44.332 2664
+-81.506 44.332 2671
+-81.38 44.332 2691
+-81.254 44.332 2684
+-81.128 44.332 2732
+-81.002 44.332 2738
+-80.876 44.332 2738
+-80.75 44.332 2748
+-80.624 44.332 2754
+-80.498 44.332 2759
+-80.372 44.332 2755
+-80.246 44.332 2856
+-80.12 44.332 2862
+-79.994 44.332 2867
+-79.868 44.332 2872
+-79.742 44.332 2967
+-79.616 44.332 2932
+-79.49 44.332 3069
+-79.364 44.332 3072
+-79.238 44.332 3046
+-79.112 44.332 3049
+-78.986 44.332 3052
+-78.86 44.332 3054
+-78.734 44.332 3057
+-78.608 44.332 3060
+-78.482 44.332 3138
+-78.356 44.332 3136
+-78.23 44.332 3139
+-78.104 44.332 3143
+-77.978 44.332 3145
+-77.852 44.332 3098
+-77.726 44.332 3127
+-77.6 44.332 3130
+-77.474 44.332 3192
+-77.348 44.332 3118
+-77.222 44.332 3121
+-77.096 44.332 3124
+-76.97 44.332 3164
+-76.844 44.332 3126
+-76.718 44.332 3129
+-76.592 44.332 3132
+-76.466 44.332 3350
+-76.34 44.332 3303
+-76.214 44.332 3305
+-76.088 44.332 3429
+-75.962 44.332 3406
+-75.836 44.332 3408
+-75.71 44.332 3360
+-75.584 44.332 3432
+-75.458 44.332 3433
+-75.332 44.332 3435
+-75.206 44.332 3437
+-75.08 44.332 3438
+-74.954 44.332 3437
+-74.828 44.332 3439
+-74.702 44.332 3441
+-74.576 44.332 3430
+-74.45 44.332 3381
+-74.324 44.332 3376
+-74.198 44.332 3377
+-74.072 44.332 3379
+-73.946 44.332 3380
+-73.82 44.332 3381
+-73.694 44.332 3382
+-73.568 44.332 3384
+-73.442 44.332 3385
+-73.316 44.332 3386
+-73.19 44.332 3387
+-73.064 44.332 3388
+-72.938 44.332 3389
+-72.812 44.332 3390
+-72.686 44.332 3391
+-72.56 44.332 3392
+-72.434 44.332 3501
+-72.308 44.332 3502
+-72.182 44.332 3487
+-72.056 44.332 3488
+-71.93 44.332 3489
+-71.804 44.332 3490
+-71.678 44.332 3491
+-71.552 44.332 3491
+-71.426 44.332 3492
+-71.3 44.332 3493
+-71.174 44.332 3494
+-71.048 44.332 3494
+-70.922 44.332 3495
+-70.796 44.332 3530
+-70.67 44.332 3531
+-70.544 44.332 3532
+-70.418 44.332 3533
+-70.292 44.332 3534
+-70.166 44.332 3535
+-70.04 44.332 3495
+-69.914 44.332 3496
+-69.788 44.332 3497
+-69.662 44.332 3497
+-69.536 44.332 3534
+-69.41 44.332 3535
+-69.284 44.332 3535
+-69.158 44.332 3489
+-69.032 44.332 3490
+-68.906 44.332 3491
+-68.78 44.332 3628
+-68.654 44.332 3628
+-68.528 44.332 3628
+-68.402 44.332 3629
+-68.276 44.332 3629
+-68.15 44.332 3563
+-68.024 44.332 3563
+-67.898 44.332 3563
+-67.772 44.332 3563
+-67.646 44.332 3564
+-67.52 44.332 3564
+-67.394 44.332 3564
+-67.268 44.332 3564
+-67.142 44.332 3564
+-67.016 44.332 3565
+-66.89 44.332 3546
+-66.764 44.332 3533
+-66.638 44.332 3533
+-66.512 44.332 3533
+-66.386 44.332 3534
+-66.26 44.332 3534
+-66.134 44.332 3534
+-66.008 44.332 3515
+-65.882 44.332 3515
+-65.756 44.332 3515
+-65.63 44.332 3516
+-65.504 44.332 3516
+-65.378 44.332 3516
+-65.252 44.332 3516
+-65.126 44.332 3516
+-128 44.28 3742
+-127.874 44.28 3727
+-127.748 44.28 3713
+-127.622 44.28 3782
+-127.496 44.28 3870
+-127.37 44.28 3970
+-127.244 44.28 4039
+-127.118 44.28 4114
+-126.992 44.28 4279
+-126.866 44.28 4412
+-126.74 44.28 4646
+-126.614 44.28 4769
+-126.488 44.28 4833
+-126.362 44.28 4859
+-126.236 44.28 4981
+-126.11 44.28 5107
+-125.984 44.28 5233
+-125.858 44.28 5371
+-125.732 44.28 5445
+-125.606 44.28 5531
+-125.48 44.28 5612
+-125.354 44.28 5627
+-125.228 44.28 5720
+-125.102 44.28 5793
+-124.976 44.28 5850
+-124.85 44.28 5936
+-124.724 44.28 6005
+-124.598 44.28 6079
+-124.472 44.28 6150
+-124.346 44.28 6248
+-124.22 44.28 6275
+-124.094 44.28 6373
+-123.968 44.28 6428
+-123.842 44.28 6470
+-123.716 44.28 6512
+-123.59 44.28 6537
+-123.464 44.28 6586
+-123.338 44.28 6615
+-123.212 44.28 6623
+-123.086 44.28 6625
+-122.96 44.28 6612
+-122.834 44.28 6595
+-122.708 44.28 6611
+-122.582 44.28 6571
+-122.456 44.28 6548
+-122.33 44.28 6505
+-122.204 44.28 6501
+-122.078 44.28 6465
+-121.952 44.28 6440
+-121.826 44.28 6355
+-121.7 44.28 6311
+-121.574 44.28 6250
+-121.448 44.28 6166
+-121.322 44.28 6128
+-121.196 44.28 6065
+-121.07 44.28 5998
+-120.944 44.28 5837
+-120.818 44.28 6005
+-120.692 44.28 6110
+-120.566 44.28 6215
+-120.44 44.28 6318
+-120.314 44.28 6427
+-120.188 44.28 6487
+-120.062 44.28 6572
+-119.936 44.28 6686
+-119.81 44.28 6761
+-119.684 44.28 6839
+-119.558 44.28 6944
+-119.432 44.28 6997
+-119.306 44.28 7055
+-119.18 44.28 7113
+-119.054 44.28 7146
+-118.928 44.28 7201
+-118.802 44.28 7276
+-118.676 44.28 7259
+-118.55 44.28 7315
+-118.424 44.28 7327
+-118.298 44.28 7295
+-118.172 44.28 7281
+-118.046 44.28 7269
+-117.92 44.28 7242
+-117.794 44.28 7261
+-117.668 44.28 7167
+-117.542 44.28 7120
+-117.416 44.28 7060
+-117.29 44.28 7012
+-117.164 44.28 6930
+-117.038 44.28 6840
+-116.912 44.28 6748
+-116.786 44.28 6693
+-116.66 44.28 6619
+-116.534 44.28 6606
+-116.408 44.28 6494
+-116.282 44.28 6364
+-116.156 44.28 6226
+-116.03 44.28 6110
+-115.904 44.28 6026
+-115.778 44.28 5885
+-115.652 44.28 5794
+-115.526 44.28 5693
+-115.4 44.28 5570
+-115.274 44.28 5449
+-115.148 44.28 5351
+-115.022 44.28 5285
+-114.896 44.28 5212
+-114.77 44.28 5151
+-114.644 44.28 5050
+-114.518 44.28 4965
+-114.392 44.28 4858
+-114.266 44.28 4723
+-114.14 44.28 4659
+-114.014 44.28 4568
+-113.888 44.28 4493
+-113.762 44.28 4374
+-113.636 44.28 4296
+-113.51 44.28 4241
+-113.384 44.28 4191
+-113.258 44.28 4141
+-113.132 44.28 4086
+-113.006 44.28 4051
+-112.88 44.28 3986
+-112.754 44.28 3967
+-112.628 44.28 3946
+-112.502 44.28 3927
+-112.376 44.28 3936
+-112.25 44.28 3855
+-112.124 44.28 3792
+-111.998 44.28 3715
+-111.872 44.28 3707
+-111.746 44.28 3653
+-111.62 44.28 3645
+-111.494 44.28 3638
+-111.368 44.28 3632
+-111.242 44.28 3627
+-111.116 44.28 3582
+-110.99 44.28 3577
+-110.864 44.28 3573
+-110.738 44.28 3569
+-110.612 44.28 3567
+-110.486 44.28 3566
+-110.36 44.28 3565
+-110.234 44.28 3565
+-110.108 44.28 3565
+-109.982 44.28 3566
+-109.856 44.28 3424
+-109.73 44.28 3423
+-109.604 44.28 3423
+-109.478 44.28 3329
+-109.352 44.28 3253
+-109.226 44.28 3252
+-109.1 44.28 3251
+-108.974 44.28 3250
+-108.848 44.28 3249
+-108.722 44.28 3248
+-108.596 44.28 3247
+-108.47 44.28 3105
+-108.344 44.28 3106
+-108.218 44.28 3108
+-108.092 44.28 3109
+-107.966 44.28 3111
+-107.84 44.28 3112
+-107.714 44.28 3114
+-107.588 44.28 3115
+-107.462 44.28 3117
+-107.336 44.28 3118
+-107.21 44.28 3119
+-107.084 44.28 3111
+-106.958 44.28 3113
+-106.832 44.28 3115
+-106.706 44.28 3117
+-106.58 44.28 3119
+-106.454 44.28 3121
+-106.328 44.28 3123
+-106.202 44.28 3124
+-106.076 44.28 3126
+-105.95 44.28 3128
+-105.824 44.28 2938
+-105.698 44.28 2934
+-105.572 44.28 2930
+-105.446 44.28 2925
+-105.32 44.28 2920
+-105.194 44.28 2915
+-105.068 44.28 2910
+-104.942 44.28 2904
+-104.816 44.28 2921
+-104.69 44.28 2832
+-104.564 44.28 2720
+-104.438 44.28 2671
+-104.312 44.28 2486
+-104.186 44.28 2452
+-104.06 44.28 2473
+-103.934 44.28 2425
+-103.808 44.28 2517
+-103.682 44.28 2518
+-103.556 44.28 2598
+-103.43 44.28 2679
+-103.304 44.28 2788
+-103.178 44.28 2789
+-103.052 44.28 2883
+-102.926 44.28 2866
+-102.8 44.28 2898
+-102.674 44.28 2904
+-102.548 44.28 2902
+-102.422 44.28 2950
+-102.296 44.28 2947
+-102.17 44.28 2912
+-102.044 44.28 2911
+-101.918 44.28 2910
+-101.792 44.28 2909
+-101.666 44.28 2908
+-101.54 44.28 2907
+-101.414 44.28 2960
+-101.288 44.28 2958
+-101.162 44.28 2957
+-101.036 44.28 2881
+-100.91 44.28 2881
+-100.784 44.28 2880
+-100.658 44.28 2885
+-100.532 44.28 2885
+-100.406 44.28 2885
+-100.28 44.28 2885
+-100.154 44.28 2885
+-100.028 44.28 3007
+-99.902 44.28 3007
+-99.776 44.28 3006
+-99.65 44.28 3005
+-99.524 44.28 3006
+-99.398 44.28 3023
+-99.272 44.28 3016
+-99.146 44.28 2987
+-99.02 44.28 3023
+-98.894 44.28 3240
+-98.768 44.28 3261
+-98.642 44.28 3256
+-98.516 44.28 3146
+-98.39 44.28 3143
+-98.264 44.28 3140
+-98.138 44.28 3137
+-98.012 44.28 3135
+-97.886 44.28 3132
+-97.76 44.28 3130
+-97.634 44.28 3116
+-97.508 44.28 3137
+-97.382 44.28 3136
+-97.256 44.28 3158
+-97.13 44.28 3143
+-97.004 44.28 3176
+-96.878 44.28 3115
+-96.752 44.28 3132
+-96.626 44.28 3138
+-96.5 44.28 3134
+-96.374 44.28 3152
+-96.248 44.28 3157
+-96.122 44.28 3166
+-95.996 44.28 3186
+-95.87 44.28 3193
+-95.744 44.28 3199
+-95.618 44.28 3274
+-95.492 44.28 3278
+-95.366 44.28 3281
+-95.24 44.28 3260
+-95.114 44.28 3322
+-94.988 44.28 3323
+-94.862 44.28 3320
+-94.736 44.28 3315
+-94.61 44.28 3310
+-94.484 44.28 3292
+-94.358 44.28 3284
+-94.232 44.28 3285
+-94.106 44.28 3282
+-93.98 44.28 3269
+-93.854 44.28 3233
+-93.728 44.28 3205
+-93.602 44.28 3164
+-93.476 44.28 3107
+-93.35 44.28 3018
+-93.224 44.28 2927
+-93.098 44.28 2881
+-92.972 44.28 2963
+-92.846 44.28 3088
+-92.72 44.28 3158
+-92.594 44.28 3210
+-92.468 44.28 3269
+-92.342 44.28 3325
+-92.216 44.28 3364
+-92.09 44.28 3380
+-91.964 44.28 3396
+-91.838 44.28 3417
+-91.712 44.28 3422
+-91.586 44.28 3422
+-91.46 44.28 3409
+-91.334 44.28 3424
+-91.208 44.28 3467
+-91.082 44.28 3495
+-90.956 44.28 3509
+-90.83 44.28 3525
+-90.704 44.28 3537
+-90.578 44.28 3547
+-90.452 44.28 3548
+-90.326 44.28 3545
+-90.2 44.28 3539
+-90.074 44.28 3531
+-89.948 44.28 3517
+-89.822 44.28 3518
+-89.696 44.28 3501
+-89.57 44.28 3483
+-89.444 44.28 3467
+-89.318 44.28 3433
+-89.192 44.28 3392
+-89.066 44.28 3370
+-88.94 44.28 3361
+-88.814 44.28 3347
+-88.688 44.28 3319
+-88.562 44.28 3309
+-88.436 44.28 3277
+-88.31 44.28 3276
+-88.184 44.28 3232
+-88.058 44.28 3197
+-87.932 44.28 3177
+-87.806 44.28 3149
+-87.68 44.28 3101
+-87.554 44.28 2991
+-87.428 44.28 2911
+-87.302 44.28 2819
+-87.176 44.28 2720
+-87.05 44.28 2609
+-86.924 44.28 2491
+-86.798 44.28 2368
+-86.672 44.28 2254
+-86.546 44.28 2155
+-86.42 44.28 2082
+-86.294 44.28 2046
+-86.168 44.28 2038
+-86.042 44.28 2038
+-85.916 44.28 2040
+-85.79 44.28 2021
+-85.664 44.28 1985
+-85.538 44.28 1945
+-85.412 44.28 1917
+-85.286 44.28 1926
+-85.16 44.28 1969
+-85.034 44.28 2019
+-84.908 44.28 2082
+-84.782 44.28 2126
+-84.656 44.28 2181
+-84.53 44.28 2234
+-84.404 44.28 2278
+-84.278 44.28 2322
+-84.152 44.28 2361
+-84.026 44.28 2374
+-83.9 44.28 2410
+-83.774 44.28 2437
+-83.648 44.28 2458
+-83.522 44.28 2483
+-83.396 44.28 2504
+-83.27 44.28 2524
+-83.144 44.28 2514
+-83.018 44.28 2527
+-82.892 44.28 2542
+-82.766 44.28 2556
+-82.64 44.28 2568
+-82.514 44.28 2578
+-82.388 44.28 2548
+-82.262 44.28 2627
+-82.136 44.28 2634
+-82.01 44.28 2647
+-81.884 44.28 2655
+-81.758 44.28 2663
+-81.632 44.28 2670
+-81.506 44.28 2690
+-81.38 44.28 2683
+-81.254 44.28 2731
+-81.128 44.28 2738
+-81.002 44.28 2737
+-80.876 44.28 2747
+-80.75 44.28 2753
+-80.624 44.28 2759
+-80.498 44.28 2755
+-80.372 44.28 2856
+-80.246 44.28 2861
+-80.12 44.28 2866
+-79.994 44.28 2871
+-79.868 44.28 2966
+-79.742 44.28 2931
+-79.616 44.28 3067
+-79.49 44.28 3070
+-79.364 44.28 3044
+-79.238 44.28 3047
+-79.112 44.28 3050
+-78.986 44.28 3053
+-78.86 44.28 3056
+-78.734 44.28 3058
+-78.608 44.28 3136
+-78.482 44.28 3135
+-78.356 44.28 3138
+-78.23 44.28 3141
+-78.104 44.28 3144
+-77.978 44.28 3097
+-77.852 44.28 3125
+-77.726 44.28 3129
+-77.6 44.28 3190
+-77.474 44.28 3117
+-77.348 44.28 3120
+-77.222 44.28 3123
+-77.096 44.28 3163
+-76.97 44.28 3125
+-76.844 44.28 3128
+-76.718 44.28 3131
+-76.592 44.28 3348
+-76.466 44.28 3301
+-76.34 44.28 3303
+-76.214 44.28 3428
+-76.088 44.28 3405
+-75.962 44.28 3407
+-75.836 44.28 3358
+-75.71 44.28 3431
+-75.584 44.28 3432
+-75.458 44.28 3434
+-75.332 44.28 3436
+-75.206 44.28 3437
+-75.08 44.28 3436
+-74.954 44.28 3438
+-74.828 44.28 3440
+-74.702 44.28 3429
+-74.576 44.28 3380
+-74.45 44.28 3375
+-74.324 44.28 3377
+-74.198 44.28 3378
+-74.072 44.28 3379
+-73.946 44.28 3381
+-73.82 44.28 3382
+-73.694 44.28 3383
+-73.568 44.28 3384
+-73.442 44.28 3385
+-73.316 44.28 3386
+-73.19 44.28 3387
+-73.064 44.28 3389
+-72.938 44.28 3390
+-72.812 44.28 3391
+-72.686 44.28 3392
+-72.56 44.28 3500
+-72.434 44.28 3501
+-72.308 44.28 3487
+-72.182 44.28 3488
+-72.056 44.28 3489
+-71.93 44.28 3489
+-71.804 44.28 3490
+-71.678 44.28 3491
+-71.552 44.28 3492
+-71.426 44.28 3492
+-71.3 44.28 3493
+-71.174 44.28 3494
+-71.048 44.28 3495
+-70.922 44.28 3530
+-70.796 44.28 3531
+-70.67 44.28 3532
+-70.544 44.28 3533
+-70.418 44.28 3533
+-70.292 44.28 3534
+-70.166 44.28 3495
+-70.04 44.28 3496
+-69.914 44.28 3496
+-69.788 44.28 3497
+-69.662 44.28 3533
+-69.536 44.28 3534
+-69.41 44.28 3535
+-69.284 44.28 3489
+-69.158 44.28 3490
+-69.032 44.28 3490
+-68.906 44.28 3627
+-68.78 44.28 3628
+-68.654 44.28 3628
+-68.528 44.28 3628
+-68.402 44.28 3629
+-68.276 44.28 3563
+-68.15 44.28 3563
+-68.024 44.28 3563
+-67.898 44.28 3563
+-67.772 44.28 3563
+-67.646 44.28 3564
+-67.52 44.28 3564
+-67.394 44.28 3564
+-67.268 44.28 3564
+-67.142 44.28 3564
+-67.016 44.28 3546
+-66.89 44.28 3533
+-66.764 44.28 3533
+-66.638 44.28 3533
+-66.512 44.28 3534
+-66.386 44.28 3534
+-66.26 44.28 3515
+-66.134 44.28 3515
+-66.008 44.28 3515
+-65.882 44.28 3515
+-65.756 44.28 3515
+-65.63 44.28 3516
+-65.504 44.28 3516
+-65.378 44.28 3516
+-65.252 44.28 3516
+-65.126 44.28 3464
+-128 44.228 3748
+-127.874 44.228 3756
+-127.748 44.228 3773
+-127.622 44.228 3806
+-127.496 44.228 3872
+-127.37 44.228 3922
+-127.244 44.228 3975
+-127.118 44.228 4038
+-126.992 44.228 4127
+-126.866 44.228 4338
+-126.74 44.228 4559
+-126.614 44.228 4724
+-126.488 44.228 4842
+-126.362 44.228 4910
+-126.236 44.228 5017
+-126.11 44.228 5031
+-125.984 44.228 5149
+-125.858 44.228 5298
+-125.732 44.228 5390
+-125.606 44.228 5512
+-125.48 44.228 5584
+-125.354 44.228 5667
+-125.228 44.228 5728
+-125.102 44.228 5806
+-124.976 44.228 5866
+-124.85 44.228 5908
+-124.724 44.228 6011
+-124.598 44.228 6061
+-124.472 44.228 6180
+-124.346 44.228 6206
+-124.22 44.228 6281
+-124.094 44.228 6346
+-123.968 44.228 6360
+-123.842 44.228 6399
+-123.716 44.228 6468
+-123.59 44.228 6499
+-123.464 44.228 6517
+-123.338 44.228 6545
+-123.212 44.228 6562
+-123.086 44.228 6555
+-122.96 44.228 6541
+-122.834 44.228 6536
+-122.708 44.228 6543
+-122.582 44.228 6507
+-122.456 44.228 6484
+-122.33 44.228 6472
+-122.204 44.228 6448
+-122.078 44.228 6437
+-121.952 44.228 6378
+-121.826 44.228 6340
+-121.7 44.228 6256
+-121.574 44.228 6212
+-121.448 44.228 6154
+-121.322 44.228 6063
+-121.196 44.228 6023
+-121.07 44.228 5949
+-120.944 44.228 5928
+-120.818 44.228 5988
+-120.692 44.228 6095
+-120.566 44.228 6178
+-120.44 44.228 6304
+-120.314 44.228 6351
+-120.188 44.228 6450
+-120.062 44.228 6533
+-119.936 44.228 6616
+-119.81 44.228 6723
+-119.684 44.228 6785
+-119.558 44.228 6875
+-119.432 44.228 6958
+-119.306 44.228 7027
+-119.18 44.228 7065
+-119.054 44.228 7108
+-118.928 44.228 7148
+-118.802 44.228 7214
+-118.676 44.228 7230
+-118.55 44.228 7244
+-118.424 44.228 7267
+-118.298 44.228 7227
+-118.172 44.228 7241
+-118.046 44.228 7193
+-117.92 44.228 7183
+-117.794 44.228 7160
+-117.668 44.228 7092
+-117.542 44.228 7073
+-117.416 44.228 7025
+-117.29 44.228 6956
+-117.164 44.228 6915
+-117.038 44.228 6813
+-116.912 44.228 6717
+-116.786 44.228 6672
+-116.66 44.228 6573
+-116.534 44.228 6576
+-116.408 44.228 6483
+-116.282 44.228 6334
+-116.156 44.228 6196
+-116.03 44.228 6082
+-115.904 44.228 5982
+-115.778 44.228 5868
+-115.652 44.228 5729
+-115.526 44.228 5612
+-115.4 44.228 5509
+-115.274 44.228 5408
+-115.148 44.228 5289
+-115.022 44.228 5224
+-114.896 44.228 5101
+-114.77 44.228 5139
+-114.644 44.228 5041
+-114.518 44.228 4906
+-114.392 44.228 4736
+-114.266 44.228 4578
+-114.14 44.228 4528
+-114.014 44.228 4530
+-113.888 44.228 4505
+-113.762 44.228 4422
+-113.636 44.228 4349
+-113.51 44.228 4286
+-113.384 44.228 4231
+-113.258 44.228 4168
+-113.132 44.228 4091
+-113.006 44.228 4057
+-112.88 44.228 4018
+-112.754 44.228 3988
+-112.628 44.228 3971
+-112.502 44.228 3944
+-112.376 44.228 3944
+-112.25 44.228 3881
+-112.124 44.228 3786
+-111.998 44.228 3720
+-111.872 44.228 3682
+-111.746 44.228 3650
+-111.62 44.228 3644
+-111.494 44.228 3638
+-111.368 44.228 3632
+-111.242 44.228 3627
+-111.116 44.228 3623
+-110.99 44.228 3580
+-110.864 44.228 3576
+-110.738 44.228 3574
+-110.612 44.228 3572
+-110.486 44.228 3570
+-110.36 44.228 3523
+-110.234 44.228 3522
+-110.108 44.228 3522
+-109.982 44.228 3425
+-109.856 44.228 3424
+-109.73 44.228 3330
+-109.604 44.228 3327
+-109.478 44.228 3325
+-109.352 44.228 3323
+-109.226 44.228 3249
+-109.1 44.228 3247
+-108.974 44.228 3246
+-108.848 44.228 3245
+-108.722 44.228 3244
+-108.596 44.228 3244
+-108.47 44.228 3243
+-108.344 44.228 3101
+-108.218 44.228 3103
+-108.092 44.228 3104
+-107.966 44.228 3106
+-107.84 44.228 3107
+-107.714 44.228 3109
+-107.588 44.228 3110
+-107.462 44.228 3111
+-107.336 44.228 3113
+-107.21 44.228 3114
+-107.084 44.228 3116
+-106.958 44.228 3107
+-106.832 44.228 3109
+-106.706 44.228 3111
+-106.58 44.228 3043
+-106.454 44.228 3044
+-106.328 44.228 3045
+-106.202 44.228 3046
+-106.076 44.228 3047
+-105.95 44.228 3047
+-105.824 44.228 2930
+-105.698 44.228 2926
+-105.572 44.228 2921
+-105.446 44.228 2917
+-105.32 44.228 2912
+-105.194 44.228 2907
+-105.068 44.228 2902
+-104.942 44.228 2896
+-104.816 44.228 2831
+-104.69 44.228 2824
+-104.564 44.228 2818
+-104.438 44.228 2662
+-104.312 44.228 2494
+-104.186 44.228 2445
+-104.06 44.228 2369
+-103.934 44.228 2324
+-103.808 44.228 2415
+-103.682 44.228 2416
+-103.556 44.228 2451
+-103.43 44.228 2533
+-103.304 44.228 2787
+-103.178 44.228 2787
+-103.052 44.228 2881
+-102.926 44.228 2879
+-102.8 44.228 2861
+-102.674 44.228 2893
+-102.548 44.228 2899
+-102.422 44.228 2897
+-102.296 44.228 2944
+-102.17 44.228 2942
+-102.044 44.228 2907
+-101.918 44.228 2906
+-101.792 44.228 2905
+-101.666 44.228 2904
+-101.54 44.228 2903
+-101.414 44.228 2902
+-101.288 44.228 2954
+-101.162 44.228 2953
+-101.036 44.228 2952
+-100.91 44.228 2877
+-100.784 44.228 2876
+-100.658 44.228 2876
+-100.532 44.228 2880
+-100.406 44.228 2880
+-100.28 44.228 2881
+-100.154 44.228 2881
+-100.028 44.228 2881
+-99.902 44.228 3001
+-99.776 44.228 3001
+-99.65 44.228 3000
+-99.524 44.228 3000
+-99.398 44.228 3009
+-99.272 44.228 3017
+-99.146 44.228 3010
+-99.02 44.228 2982
+-98.894 44.228 3018
+-98.768 44.228 3230
+-98.642 44.228 3250
+-98.516 44.228 3245
+-98.39 44.228 3137
+-98.264 44.228 3134
+-98.138 44.228 3131
+-98.012 44.228 3128
+-97.886 44.228 3126
+-97.76 44.228 3123
+-97.634 44.228 3121
+-97.508 44.228 3107
+-97.382 44.228 3128
+-97.256 44.228 3127
+-97.13 44.228 3149
+-97.004 44.228 3135
+-96.878 44.228 3167
+-96.752 44.228 3108
+-96.626 44.228 3126
+-96.5 44.228 3132
+-96.374 44.228 3130
+-96.248 44.228 3148
+-96.122 44.228 3154
+-95.996 44.228 3164
+-95.87 44.228 3185
+-95.744 44.228 3192
+-95.618 44.228 3199
+-95.492 44.228 3272
+-95.366 44.228 3276
+-95.24 44.228 3279
+-95.114 44.228 3260
+-94.988 44.228 3317
+-94.862 44.228 3318
+-94.736 44.228 3314
+-94.61 44.228 3308
+-94.484 44.228 3302
+-94.358 44.228 3285
+-94.232 44.228 3277
+-94.106 44.228 3274
+-93.98 44.228 3271
+-93.854 44.228 3257
+-93.728 44.228 3222
+-93.602 44.228 3192
+-93.476 44.228 3152
+-93.35 44.228 3104
+-93.224 44.228 3049
+-93.098 44.228 3042
+-92.972 44.228 3089
+-92.846 44.228 3132
+-92.72 44.228 3141
+-92.594 44.228 3185
+-92.468 44.228 3261
+-92.342 44.228 3322
+-92.216 44.228 3355
+-92.09 44.228 3357
+-91.964 44.228 3391
+-91.838 44.228 3431
+-91.712 44.228 3441
+-91.586 44.228 3437
+-91.46 44.228 3436
+-91.334 44.228 3455
+-91.208 44.228 3503
+-91.082 44.228 3538
+-90.956 44.228 3563
+-90.83 44.228 3572
+-90.704 44.228 3589
+-90.578 44.228 3602
+-90.452 44.228 3595
+-90.326 44.228 3567
+-90.2 44.228 3548
+-90.074 44.228 3537
+-89.948 44.228 3507
+-89.822 44.228 3522
+-89.696 44.228 3532
+-89.57 44.228 3534
+-89.444 44.228 3493
+-89.318 44.228 3458
+-89.192 44.228 3422
+-89.066 44.228 3384
+-88.94 44.228 3365
+-88.814 44.228 3374
+-88.688 44.228 3375
+-88.562 44.228 3359
+-88.436 44.228 3351
+-88.31 44.228 3344
+-88.184 44.228 3320
+-88.058 44.228 3281
+-87.932 44.228 3225
+-87.806 44.228 3189
+-87.68 44.228 3141
+-87.554 44.228 3028
+-87.428 44.228 2952
+-87.302 44.228 2868
+-87.176 44.228 2769
+-87.05 44.228 2659
+-86.924 44.228 2536
+-86.798 44.228 2419
+-86.672 44.228 2307
+-86.546 44.228 2210
+-86.42 44.228 2139
+-86.294 44.228 2093
+-86.168 44.228 2073
+-86.042 44.228 2072
+-85.916 44.228 2058
+-85.79 44.228 2016
+-85.664 44.228 1942
+-85.538 44.228 1855
+-85.412 44.228 1811
+-85.286 44.228 1832
+-85.16 44.228 1892
+-85.034 44.228 1972
+-84.908 44.228 2040
+-84.782 44.228 2111
+-84.656 44.228 2177
+-84.53 44.228 2232
+-84.404 44.228 2285
+-84.278 44.228 2331
+-84.152 44.228 2351
+-84.026 44.228 2390
+-83.9 44.228 2421
+-83.774 44.228 2445
+-83.648 44.228 2472
+-83.522 44.228 2495
+-83.396 44.228 2517
+-83.27 44.228 2509
+-83.144 44.228 2523
+-83.018 44.228 2538
+-82.892 44.228 2553
+-82.766 44.228 2566
+-82.64 44.228 2577
+-82.514 44.228 2547
+-82.388 44.228 2625
+-82.262 44.228 2633
+-82.136 44.228 2645
+-82.01 44.228 2654
+-81.884 44.228 2662
+-81.758 44.228 2670
+-81.632 44.228 2690
+-81.506 44.228 2683
+-81.38 44.228 2730
+-81.254 44.228 2737
+-81.128 44.228 2737
+-81.002 44.228 2747
+-80.876 44.228 2753
+-80.75 44.228 2759
+-80.624 44.228 2755
+-80.498 44.228 2855
+-80.372 44.228 2860
+-80.246 44.228 2866
+-80.12 44.228 2871
+-79.994 44.228 2965
+-79.868 44.228 2930
+-79.742 44.228 3065
+-79.616 44.228 3068
+-79.49 44.228 3042
+-79.364 44.228 3045
+-79.238 44.228 3049
+-79.112 44.228 3051
+-78.986 44.228 3054
+-78.86 44.228 3057
+-78.734 44.228 3134
+-78.608 44.228 3133
+-78.482 44.228 3136
+-78.356 44.228 3139
+-78.23 44.228 3143
+-78.104 44.228 3096
+-77.978 44.228 3124
+-77.852 44.228 3127
+-77.726 44.228 3188
+-77.6 44.228 3116
+-77.474 44.228 3119
+-77.348 44.228 3122
+-77.222 44.228 3161
+-77.096 44.228 3124
+-76.97 44.228 3127
+-76.844 44.228 3130
+-76.718 44.228 3346
+-76.592 44.228 3300
+-76.466 44.228 3302
+-76.34 44.228 3426
+-76.214 44.228 3403
+-76.088 44.228 3405
+-75.962 44.228 3357
+-75.836 44.228 3429
+-75.71 44.228 3431
+-75.584 44.228 3433
+-75.458 44.228 3434
+-75.332 44.228 3436
+-75.206 44.228 3435
+-75.08 44.228 3437
+-74.954 44.228 3439
+-74.828 44.228 3428
+-74.702 44.228 3379
+-74.576 44.228 3374
+-74.45 44.228 3376
+-74.324 44.228 3377
+-74.198 44.228 3379
+-74.072 44.228 3380
+-73.946 44.228 3381
+-73.82 44.228 3382
+-73.694 44.228 3384
+-73.568 44.228 3385
+-73.442 44.228 3386
+-73.316 44.228 3387
+-73.19 44.228 3388
+-73.064 44.228 3389
+-72.938 44.228 3390
+-72.812 44.228 3391
+-72.686 44.228 3500
+-72.56 44.228 3500
+-72.434 44.228 3486
+-72.308 44.228 3487
+-72.182 44.228 3488
+-72.056 44.228 3489
+-71.93 44.228 3490
+-71.804 44.228 3490
+-71.678 44.228 3491
+-71.552 44.228 3492
+-71.426 44.228 3493
+-71.3 44.228 3493
+-71.174 44.228 3494
+-71.048 44.228 3529
+-70.922 44.228 3530
+-70.796 44.228 3531
+-70.67 44.228 3532
+-70.544 44.228 3533
+-70.418 44.228 3534
+-70.292 44.228 3495
+-70.166 44.228 3495
+-70.04 44.228 3496
+-69.914 44.228 3497
+-69.788 44.228 3533
+-69.662 44.228 3534
+-69.536 44.228 3534
+-69.41 44.228 3489
+-69.284 44.228 3489
+-69.158 44.228 3490
+-69.032 44.228 3627
+-68.906 44.228 3627
+-68.78 44.228 3628
+-68.654 44.228 3628
+-68.528 44.228 3628
+-68.402 44.228 3562
+-68.276 44.228 3563
+-68.15 44.228 3563
+-68.024 44.228 3563
+-67.898 44.228 3563
+-67.772 44.228 3563
+-67.646 44.228 3564
+-67.52 44.228 3564
+-67.394 44.228 3564
+-67.268 44.228 3564
+-67.142 44.228 3546
+-67.016 44.228 3533
+-66.89 44.228 3533
+-66.764 44.228 3533
+-66.638 44.228 3533
+-66.512 44.228 3534
+-66.386 44.228 3534
+-66.26 44.228 3515
+-66.134 44.228 3515
+-66.008 44.228 3515
+-65.882 44.228 3515
+-65.756 44.228 3516
+-65.63 44.228 3516
+-65.504 44.228 3516
+-65.378 44.228 3516
+-65.252 44.228 3464
+-65.126 44.228 3464
+-128 44.176 3730
+-127.874 44.176 3748
+-127.748 44.176 3767
+-127.622 44.176 3792
+-127.496 44.176 3823
+-127.37 44.176 3886
+-127.244 44.176 3926
+-127.118 44.176 3982
+-126.992 44.176 4090
+-126.866 44.176 4233
+-126.74 44.176 4434
+-126.614 44.176 4643
+-126.488 44.176 4782
+-126.362 44.176 4914
+-126.236 44.176 5019
+-126.11 44.176 5069
+-125.984 44.176 5167
+-125.858 44.176 5279
+-125.732 44.176 5332
+-125.606 44.176 5416
+-125.48 44.176 5513
+-125.354 44.176 5633
+-125.228 44.176 5704
+-125.102 44.176 5760
+-124.976 44.176 5806
+-124.85 44.176 5872
+-124.724 44.176 5951
+-124.598 44.176 6019
+-124.472 44.176 6088
+-124.346 44.176 6155
+-124.22 44.176 6228
+-124.094 44.176 6293
+-123.968 44.176 6318
+-123.842 44.176 6351
+-123.716 44.176 6395
+-123.59 44.176 6438
+-123.464 44.176 6484
+-123.338 44.176 6478
+-123.212 44.176 6512
+-123.086 44.176 6508
+-122.96 44.176 6500
+-122.834 44.176 6489
+-122.708 44.176 6475
+-122.582 44.176 6473
+-122.456 44.176 6443
+-122.33 44.176 6402
+-122.204 44.176 6379
+-122.078 44.176 6361
+-121.952 44.176 6343
+-121.826 44.176 6276
+-121.7 44.176 6199
+-121.574 44.176 6139
+-121.448 44.176 6062
+-121.322 44.176 6039
+-121.196 44.176 5960
+-121.07 44.176 5911
+-120.944 44.176 5782
+-120.818 44.176 5908
+-120.692 44.176 6051
+-120.566 44.176 6151
+-120.44 44.176 6241
+-120.314 44.176 6349
+-120.188 44.176 6411
+-120.062 44.176 6543
+-119.936 44.176 6570
+-119.81 44.176 6665
+-119.684 44.176 6744
+-119.558 44.176 6845
+-119.432 44.176 6877
+-119.306 44.176 6937
+-119.18 44.176 6995
+-119.054 44.176 7057
+-118.928 44.176 7098
+-118.802 44.176 7145
+-118.676 44.176 7183
+-118.55 44.176 7170
+-118.424 44.176 7168
+-118.298 44.176 7169
+-118.172 44.176 7181
+-118.046 44.176 7162
+-117.92 44.176 7161
+-117.794 44.176 7096
+-117.668 44.176 7098
+-117.542 44.176 7037
+-117.416 44.176 7007
+-117.29 44.176 6940
+-117.164 44.176 6864
+-117.038 44.176 6773
+-116.912 44.176 6729
+-116.786 44.176 6573
+-116.66 44.176 6521
+-116.534 44.176 6519
+-116.408 44.176 6418
+-116.282 44.176 6261
+-116.156 44.176 6161
+-116.03 44.176 6029
+-115.904 44.176 5940
+-115.778 44.176 5863
+-115.652 44.176 5696
+-115.526 44.176 5548
+-115.4 44.176 5450
+-115.274 44.176 5413
+-115.148 44.176 5309
+-115.022 44.176 5225
+-114.896 44.176 5099
+-114.77 44.176 5110
+-114.644 44.176 5041
+-114.518 44.176 4876
+-114.392 44.176 4636
+-114.266 44.176 4479
+-114.14 44.176 4418
+-114.014 44.176 4489
+-113.888 44.176 4514
+-113.762 44.176 4468
+-113.636 44.176 4378
+-113.51 44.176 4322
+-113.384 44.176 4221
+-113.258 44.176 4184
+-113.132 44.176 4101
+-113.006 44.176 4065
+-112.88 44.176 4044
+-112.754 44.176 4008
+-112.628 44.176 3976
+-112.502 44.176 3917
+-112.376 44.176 3882
+-112.25 44.176 3836
+-112.124 44.176 3833
+-111.998 44.176 3742
+-111.872 44.176 3708
+-111.746 44.176 3671
+-111.62 44.176 3638
+-111.494 44.176 3634
+-111.368 44.176 3630
+-111.242 44.176 3585
+-111.116 44.176 3586
+-110.99 44.176 3583
+-110.864 44.176 3534
+-110.738 44.176 3531
+-110.612 44.176 3529
+-110.486 44.176 3527
+-110.36 44.176 3526
+-110.234 44.176 3438
+-110.108 44.176 3426
+-109.982 44.176 3424
+-109.856 44.176 3329
+-109.73 44.176 3326
+-109.604 44.176 3323
+-109.478 44.176 3321
+-109.352 44.176 3319
+-109.226 44.176 3317
+-109.1 44.176 3243
+-108.974 44.176 3242
+-108.848 44.176 3241
+-108.722 44.176 3240
+-108.596 44.176 3240
+-108.47 44.176 3239
+-108.344 44.176 3227
+-108.218 44.176 3097
+-108.092 44.176 3099
+-107.966 44.176 3100
+-107.84 44.176 3102
+-107.714 44.176 3103
+-107.588 44.176 3105
+-107.462 44.176 3106
+-107.336 44.176 3108
+-107.21 44.176 3109
+-107.084 44.176 3111
+-106.958 44.176 3112
+-106.832 44.176 3104
+-106.706 44.176 3035
+-106.58 44.176 3036
+-106.454 44.176 3037
+-106.328 44.176 3038
+-106.202 44.176 3039
+-106.076 44.176 3040
+-105.95 44.176 3041
+-105.824 44.176 2922
+-105.698 44.176 2918
+-105.572 44.176 2913
+-105.446 44.176 2909
+-105.32 44.176 2904
+-105.194 44.176 2899
+-105.068 44.176 2893
+-104.942 44.176 2888
+-104.816 44.176 2823
+-104.69 44.176 2815
+-104.564 44.176 2810
+-104.438 44.176 2557
+-104.312 44.176 2383
+-104.186 44.176 2348
+-104.06 44.176 2361
+-103.934 44.176 2320
+-103.808 44.176 2412
+-103.682 44.176 2413
+-103.556 44.176 2450
+-103.43 44.176 2532
+-103.304 44.176 2625
+-103.178 44.176 2786
+-103.052 44.176 2879
+-102.926 44.176 2876
+-102.8 44.176 2874
+-102.674 44.176 2857
+-102.548 44.176 2888
+-102.422 44.176 2894
+-102.296 44.176 2892
+-102.17 44.176 2939
+-102.044 44.176 2936
+-101.918 44.176 2903
+-101.792 44.176 2902
+-101.666 44.176 2900
+-101.54 44.176 2899
+-101.414 44.176 2898
+-101.288 44.176 2897
+-101.162 44.176 2949
+-101.036 44.176 2947
+-100.91 44.176 2946
+-100.784 44.176 2872
+-100.658 44.176 2872
+-100.532 44.176 2871
+-100.406 44.176 2876
+-100.28 44.176 2876
+-100.154 44.176 2876
+-100.028 44.176 2876
+-99.902 44.176 2876
+-99.776 44.176 2995
+-99.65 44.176 2995
+-99.524 44.176 2995
+-99.398 44.176 2994
+-99.272 44.176 2994
+-99.146 44.176 3011
+-99.02 44.176 3004
+-98.894 44.176 2976
+-98.768 44.176 3011
+-98.642 44.176 3220
+-98.516 44.176 3239
+-98.39 44.176 3233
+-98.264 44.176 3128
+-98.138 44.176 3125
+-98.012 44.176 3122
+-97.886 44.176 3118
+-97.76 44.176 3116
+-97.634 44.176 3113
+-97.508 44.176 3111
+-97.382 44.176 3097
+-97.256 44.176 3118
+-97.13 44.176 3118
+-97.004 44.176 3138
+-96.878 44.176 3126
+-96.752 44.176 3158
+-96.626 44.176 3101
+-96.5 44.176 3119
+-96.374 44.176 3125
+-96.248 44.176 3125
+-96.122 44.176 3144
+-95.996 44.176 3152
+-95.87 44.176 3162
+-95.744 44.176 3184
+-95.618 44.176 3192
+-95.492 44.176 3200
+-95.366 44.176 3271
+-95.24 44.176 3275
+-95.114 44.176 3278
+-94.988 44.176 3259
+-94.862 44.176 3312
+-94.736 44.176 3311
+-94.61 44.176 3306
+-94.484 44.176 3300
+-94.358 44.176 3294
+-94.232 44.176 3278
+-94.106 44.176 3270
+-93.98 44.176 3267
+-93.854 44.176 3264
+-93.728 44.176 3253
+-93.602 44.176 3222
+-93.476 44.176 3200
+-93.35 44.176 3175
+-93.224 44.176 3160
+-93.098 44.176 3157
+-92.972 44.176 3167
+-92.846 44.176 3146
+-92.72 44.176 3108
+-92.594 44.176 3166
+-92.468 44.176 3263
+-92.342 44.176 3330
+-92.216 44.176 3349
+-92.09 44.176 3325
+-91.964 44.176 3385
+-91.838 44.176 3453
+-91.712 44.176 3465
+-91.586 44.176 3461
+-91.46 44.176 3475
+-91.334 44.176 3520
+-91.208 44.176 3555
+-91.082 44.176 3589
+-90.956 44.176 3611
+-90.83 44.176 3625
+-90.704 44.176 3639
+-90.578 44.176 3643
+-90.452 44.176 3644
+-90.326 44.176 3612
+-90.2 44.176 3573
+-90.074 44.176 3557
+-89.948 44.176 3541
+-89.822 44.176 3553
+-89.696 44.176 3565
+-89.57 44.176 3562
+-89.444 44.176 3544
+-89.318 44.176 3506
+-89.192 44.176 3450
+-89.066 44.176 3412
+-88.94 44.176 3393
+-88.814 44.176 3398
+-88.688 44.176 3397
+-88.562 44.176 3395
+-88.436 44.176 3393
+-88.31 44.176 3394
+-88.184 44.176 3365
+-88.058 44.176 3322
+-87.932 44.176 3265
+-87.806 44.176 3226
+-87.68 44.176 3176
+-87.554 44.176 3121
+-87.428 44.176 3001
+-87.302 44.176 2916
+-87.176 44.176 2820
+-87.05 44.176 2703
+-86.924 44.176 2589
+-86.798 44.176 2470
+-86.672 44.176 2354
+-86.546 44.176 2248
+-86.42 44.176 2153
+-86.294 44.176 2086
+-86.168 44.176 2060
+-86.042 44.176 2067
+-85.916 44.176 2063
+-85.79 44.176 2007
+-85.664 44.176 1884
+-85.538 44.176 1753
+-85.412 44.176 1695
+-85.286 44.176 1734
+-85.16 44.176 1828
+-85.034 44.176 1926
+-84.908 44.176 2022
+-84.782 44.176 2107
+-84.656 44.176 2178
+-84.53 44.176 2242
+-84.404 44.176 2298
+-84.278 44.176 2325
+-84.152 44.176 2369
+-84.026 44.176 2404
+-83.9 44.176 2432
+-83.774 44.176 2461
+-83.648 44.176 2487
+-83.522 44.176 2510
+-83.396 44.176 2504
+-83.27 44.176 2519
+-83.144 44.176 2536
+-83.018 44.176 2551
+-82.892 44.176 2565
+-82.766 44.176 2576
+-82.64 44.176 2547
+-82.514 44.176 2624
+-82.388 44.176 2632
+-82.262 44.176 2645
+-82.136 44.176 2654
+-82.01 44.176 2662
+-81.884 44.176 2670
+-81.758 44.176 2690
+-81.632 44.176 2683
+-81.506 44.176 2730
+-81.38 44.176 2737
+-81.254 44.176 2737
+-81.128 44.176 2747
+-81.002 44.176 2753
+-80.876 44.176 2759
+-80.75 44.176 2755
+-80.624 44.176 2854
+-80.498 44.176 2860
+-80.372 44.176 2865
+-80.246 44.176 2871
+-80.12 44.176 2964
+-79.994 44.176 2930
+-79.868 44.176 3062
+-79.742 44.176 3066
+-79.616 44.176 3041
+-79.49 44.176 3044
+-79.364 44.176 3047
+-79.238 44.176 3050
+-79.112 44.176 3053
+-78.986 44.176 3056
+-78.86 44.176 3132
+-78.734 44.176 3131
+-78.608 44.176 3135
+-78.482 44.176 3138
+-78.356 44.176 3141
+-78.23 44.176 3095
+-78.104 44.176 3123
+-77.978 44.176 3126
+-77.852 44.176 3187
+-77.726 44.176 3114
+-77.6 44.176 3118
+-77.474 44.176 3121
+-77.348 44.176 3160
+-77.222 44.176 3123
+-77.096 44.176 3126
+-76.97 44.176 3129
+-76.844 44.176 3345
+-76.718 44.176 3298
+-76.592 44.176 3301
+-76.466 44.176 3424
+-76.34 44.176 3402
+-76.214 44.176 3404
+-76.088 44.176 3356
+-75.962 44.176 3428
+-75.836 44.176 3430
+-75.71 44.176 3431
+-75.584 44.176 3433
+-75.458 44.176 3435
+-75.332 44.176 3434
+-75.206 44.176 3436
+-75.08 44.176 3438
+-74.954 44.176 3427
+-74.828 44.176 3379
+-74.702 44.176 3374
+-74.576 44.176 3375
+-74.45 44.176 3376
+-74.324 44.176 3378
+-74.198 44.176 3379
+-74.072 44.176 3380
+-73.946 44.176 3382
+-73.82 44.176 3383
+-73.694 44.176 3384
+-73.568 44.176 3385
+-73.442 44.176 3386
+-73.316 44.176 3388
+-73.19 44.176 3389
+-73.064 44.176 3390
+-72.938 44.176 3391
+-72.812 44.176 3499
+-72.686 44.176 3500
+-72.56 44.176 3486
+-72.434 44.176 3487
+-72.308 44.176 3487
+-72.182 44.176 3488
+-72.056 44.176 3489
+-71.93 44.176 3490
+-71.804 44.176 3491
+-71.678 44.176 3492
+-71.552 44.176 3492
+-71.426 44.176 3493
+-71.3 44.176 3494
+-71.174 44.176 3529
+-71.048 44.176 3530
+-70.922 44.176 3531
+-70.796 44.176 3531
+-70.67 44.176 3532
+-70.544 44.176 3533
+-70.418 44.176 3494
+-70.292 44.176 3495
+-70.166 44.176 3496
+-70.04 44.176 3496
+-69.914 44.176 3532
+-69.788 44.176 3533
+-69.662 44.176 3534
+-69.536 44.176 3488
+-69.41 44.176 3489
+-69.284 44.176 3490
+-69.158 44.176 3627
+-69.032 44.176 3627
+-68.906 44.176 3627
+-68.78 44.176 3628
+-68.654 44.176 3628
+-68.528 44.176 3562
+-68.402 44.176 3562
+-68.276 44.176 3563
+-68.15 44.176 3563
+-68.024 44.176 3563
+-67.898 44.176 3563
+-67.772 44.176 3563
+-67.646 44.176 3564
+-67.52 44.176 3564
+-67.394 44.176 3564
+-67.268 44.176 3545
+-67.142 44.176 3532
+-67.016 44.176 3533
+-66.89 44.176 3533
+-66.764 44.176 3533
+-66.638 44.176 3533
+-66.512 44.176 3515
+-66.386 44.176 3515
+-66.26 44.176 3515
+-66.134 44.176 3515
+-66.008 44.176 3515
+-65.882 44.176 3515
+-65.756 44.176 3516
+-65.63 44.176 3516
+-65.504 44.176 3516
+-65.378 44.176 3464
+-65.252 44.176 3464
+-65.126 44.176 3464
+-128 44.124 3721
+-127.874 44.124 3731
+-127.748 44.124 3734
+-127.622 44.124 3732
+-127.496 44.124 3745
+-127.37 44.124 3847
+-127.244 44.124 3912
+-127.118 44.124 3971
+-126.992 44.124 4070
+-126.866 44.124 4154
+-126.74 44.124 4318
+-126.614 44.124 4543
+-126.488 44.124 4736
+-126.362 44.124 4861
+-126.236 44.124 4911
+-126.11 44.124 5031
+-125.984 44.124 5177
+-125.858 44.124 5264
+-125.732 44.124 5263
+-125.606 44.124 5355
+-125.48 44.124 5431
+-125.354 44.124 5541
+-125.228 44.124 5650
+-125.102 44.124 5652
+-124.976 44.124 5778
+-124.85 44.124 5849
+-124.724 44.124 5925
+-124.598 44.124 5974
+-124.472 44.124 6012
+-124.346 44.124 6098
+-124.22 44.124 6146
+-124.094 44.124 6245
+-123.968 44.124 6297
+-123.842 44.124 6307
+-123.716 44.124 6320
+-123.59 44.124 6351
+-123.464 44.124 6376
+-123.338 44.124 6382
+-123.212 44.124 6405
+-123.086 44.124 6447
+-122.96 44.124 6429
+-122.834 44.124 6444
+-122.708 44.124 6448
+-122.582 44.124 6421
+-122.456 44.124 6384
+-122.33 44.124 6346
+-122.204 44.124 6323
+-122.078 44.124 6298
+-121.952 44.124 6253
+-121.826 44.124 6203
+-121.7 44.124 6169
+-121.574 44.124 6102
+-121.448 44.124 6036
+-121.322 44.124 5986
+-121.196 44.124 5942
+-121.07 44.124 5858
+-120.944 44.124 5770
+-120.818 44.124 5904
+-120.692 44.124 5998
+-120.566 44.124 6106
+-120.44 44.124 6208
+-120.314 44.124 6280
+-120.188 44.124 6379
+-120.062 44.124 6491
+-119.936 44.124 6549
+-119.81 44.124 6614
+-119.684 44.124 6754
+-119.558 44.124 6770
+-119.432 44.124 6845
+-119.306 44.124 6925
+-119.18 44.124 6947
+-119.054 44.124 6989
+-118.928 44.124 7072
+-118.802 44.124 7072
+-118.676 44.124 7109
+-118.55 44.124 7115
+-118.424 44.124 7140
+-118.298 44.124 7143
+-118.172 44.124 7144
+-118.046 44.124 7130
+-117.92 44.124 7097
+-117.794 44.124 7065
+-117.668 44.124 7034
+-117.542 44.124 6984
+-117.416 44.124 6948
+-117.29 44.124 6885
+-117.164 44.124 6814
+-117.038 44.124 6685
+-116.912 44.124 6627
+-116.786 44.124 6570
+-116.66 44.124 6472
+-116.534 44.124 6449
+-116.408 44.124 6361
+-116.282 44.124 6194
+-116.156 44.124 6152
+-116.03 44.124 6043
+-115.904 44.124 5923
+-115.778 44.124 5811
+-115.652 44.124 5662
+-115.526 44.124 5522
+-115.4 44.124 5437
+-115.274 44.124 5385
+-115.148 44.124 5294
+-115.022 44.124 5144
+-114.896 44.124 5145
+-114.77 44.124 5072
+-114.644 44.124 4991
+-114.518 44.124 4836
+-114.392 44.124 4660
+-114.266 44.124 4546
+-114.14 44.124 4503
+-114.014 44.124 4514
+-113.888 44.124 4506
+-113.762 44.124 4481
+-113.636 44.124 4420
+-113.51 44.124 4322
+-113.384 44.124 4243
+-113.258 44.124 4184
+-113.132 44.124 4100
+-113.006 44.124 4051
+-112.88 44.124 4037
+-112.754 44.124 4001
+-112.628 44.124 3914
+-112.502 44.124 3859
+-112.376 44.124 3823
+-112.25 44.124 3817
+-112.124 44.124 3814
+-111.998 44.124 3812
+-111.872 44.124 3715
+-111.746 44.124 3694
+-111.62 44.124 3660
+-111.494 44.124 3627
+-111.368 44.124 3584
+-111.242 44.124 3584
+-111.116 44.124 3582
+-110.99 44.124 3580
+-110.864 44.124 3578
+-110.738 44.124 3531
+-110.612 44.124 3529
+-110.486 44.124 3527
+-110.36 44.124 3439
+-110.234 44.124 3426
+-110.108 44.124 3424
+-109.982 44.124 3327
+-109.856 44.124 3323
+-109.73 44.124 3320
+-109.604 44.124 3318
+-109.478 44.124 3315
+-109.352 44.124 3313
+-109.226 44.124 3312
+-109.1 44.124 3310
+-108.974 44.124 3237
+-108.848 44.124 3236
+-108.722 44.124 3236
+-108.596 44.124 3235
+-108.47 44.124 3234
+-108.344 44.124 3234
+-108.218 44.124 3234
+-108.092 44.124 3093
+-107.966 44.124 3094
+-107.84 44.124 3096
+-107.714 44.124 3098
+-107.588 44.124 3099
+-107.462 44.124 3101
+-107.336 44.124 3102
+-107.21 44.124 3104
+-107.084 44.124 3106
+-106.958 44.124 3107
+-106.832 44.124 3027
+-106.706 44.124 3028
+-106.58 44.124 3029
+-106.454 44.124 3031
+-106.328 44.124 3032
+-106.202 44.124 3033
+-106.076 44.124 3034
+-105.95 44.124 3035
+-105.824 44.124 2913
+-105.698 44.124 2909
+-105.572 44.124 2905
+-105.446 44.124 2900
+-105.32 44.124 2895
+-105.194 44.124 2890
+-105.068 44.124 2885
+-104.942 44.124 2879
+-104.816 44.124 2814
+-104.69 44.124 2806
+-104.564 44.124 2604
+-104.438 44.124 2546
+-104.312 44.124 2374
+-104.186 44.124 2341
+-104.06 44.124 2354
+-103.934 44.124 2316
+-103.808 44.124 2410
+-103.682 44.124 2410
+-103.556 44.124 2448
+-103.43 44.124 2530
+-103.304 44.124 2632
+-103.178 44.124 2623
+-103.052 44.124 2877
+-102.926 44.124 2874
+-102.8 44.124 2871
+-102.674 44.124 2869
+-102.548 44.124 2852
+-102.422 44.124 2883
+-102.296 44.124 2889
+-102.17 44.124 2887
+-102.044 44.124 2933
+-101.918 44.124 2930
+-101.792 44.124 2898
+-101.666 44.124 2897
+-101.54 44.124 2895
+-101.414 44.124 2894
+-101.288 44.124 2893
+-101.162 44.124 2892
+-101.036 44.124 2943
+-100.91 44.124 2942
+-100.784 44.124 2940
+-100.658 44.124 2867
+-100.532 44.124 2867
+-100.406 44.124 2867
+-100.28 44.124 2871
+-100.154 44.124 2871
+-100.028 44.124 2871
+-99.902 44.124 2872
+-99.776 44.124 2872
+-99.65 44.124 2989
+-99.524 44.124 2989
+-99.398 44.124 2988
+-99.272 44.124 2987
+-99.146 44.124 2996
+-99.02 44.124 3004
+-98.894 44.124 2997
+-98.768 44.124 2970
+-98.642 44.124 3005
+-98.516 44.124 3209
+-98.39 44.124 3227
+-98.264 44.124 3221
+-98.138 44.124 3118
+-98.012 44.124 3115
+-97.886 44.124 3111
+-97.76 44.124 3108
+-97.634 44.124 3104
+-97.508 44.124 3102
+-97.382 44.124 3099
+-97.256 44.124 3087
+-97.13 44.124 3107
+-97.004 44.124 3107
+-96.878 44.124 3127
+-96.752 44.124 3116
+-96.626 44.124 3147
+-96.5 44.124 3093
+-96.374 44.124 3111
+-96.248 44.124 3119
+-96.122 44.124 3120
+-95.996 44.124 3140
+-95.87 44.124 3149
+-95.744 44.124 3161
+-95.618 44.124 3183
+-95.492 44.124 3193
+-95.366 44.124 3201
+-95.24 44.124 3269
+-95.114 44.124 3273
+-94.988 44.124 3276
+-94.862 44.124 3257
+-94.736 44.124 3306
+-94.61 44.124 3303
+-94.484 44.124 3297
+-94.358 44.124 3291
+-94.232 44.124 3285
+-94.106 44.124 3270
+-93.98 44.124 3300
+-93.854 44.124 3263
+-93.728 44.124 3265
+-93.602 44.124 3260
+-93.476 44.124 3239
+-93.35 44.124 3231
+-93.224 44.124 3224
+-93.098 44.124 3225
+-92.972 44.124 3219
+-92.846 44.124 3199
+-92.72 44.124 3179
+-92.594 44.124 3224
+-92.468 44.124 3289
+-92.342 44.124 3355
+-92.216 44.124 3380
+-92.09 44.124 3382
+-91.964 44.124 3454
+-91.838 44.124 3513
+-91.712 44.124 3521
+-91.586 44.124 3519
+-91.46 44.124 3542
+-91.334 44.124 3588
+-91.208 44.124 3627
+-91.082 44.124 3648
+-90.956 44.124 3662
+-90.83 44.124 3684
+-90.704 44.124 3673
+-90.578 44.124 3668
+-90.452 44.124 3662
+-90.326 44.124 3655
+-90.2 44.124 3631
+-90.074 44.124 3611
+-89.948 44.124 3599
+-89.822 44.124 3599
+-89.696 44.124 3605
+-89.57 44.124 3608
+-89.444 44.124 3585
+-89.318 44.124 3553
+-89.192 44.124 3498
+-89.066 44.124 3458
+-88.94 44.124 3438
+-88.814 44.124 3424
+-88.688 44.124 3385
+-88.562 44.124 3415
+-88.436 44.124 3429
+-88.31 44.124 3425
+-88.184 44.124 3395
+-88.058 44.124 3349
+-87.932 44.124 3294
+-87.806 44.124 3257
+-87.68 44.124 3213
+-87.554 44.124 3167
+-87.428 44.124 3106
+-87.302 44.124 2966
+-87.176 44.124 2861
+-87.05 44.124 2759
+-86.924 44.124 2672
+-86.798 44.124 2549
+-86.672 44.124 2407
+-86.546 44.124 2290
+-86.42 44.124 2170
+-86.294 44.124 2074
+-86.168 44.124 2036
+-86.042 44.124 2058
+-85.916 44.124 2071
+-85.79 44.124 2005
+-85.664 44.124 1861
+-85.538 44.124 1704
+-85.412 44.124 1640
+-85.286 44.124 1692
+-85.16 44.124 1800
+-85.034 44.124 1919
+-84.908 44.124 2026
+-84.782 44.124 2116
+-84.656 44.124 2195
+-84.53 44.124 2261
+-84.404 44.124 2298
+-84.278 44.124 2347
+-84.152 44.124 2387
+-84.026 44.124 2419
+-83.9 44.124 2451
+-83.774 44.124 2479
+-83.648 44.124 2504
+-83.522 44.124 2501
+-83.396 44.124 2516
+-83.27 44.124 2534
+-83.144 44.124 2550
+-83.018 44.124 2564
+-82.892 44.124 2576
+-82.766 44.124 2548
+-82.64 44.124 2624
+-82.514 44.124 2632
+-82.388 44.124 2645
+-82.262 44.124 2654
+-82.136 44.124 2662
+-82.01 44.124 2670
+-81.884 44.124 2690
+-81.758 44.124 2684
+-81.632 44.124 2730
+-81.506 44.124 2737
+-81.38 44.124 2738
+-81.254 44.124 2747
+-81.128 44.124 2754
+-81.002 44.124 2760
+-80.876 44.124 2756
+-80.75 44.124 2854
+-80.624 44.124 2860
+-80.498 44.124 2865
+-80.372 44.124 2870
+-80.246 44.124 2963
+-80.12 44.124 2929
+-79.994 44.124 3060
+-79.868 44.124 3064
+-79.742 44.124 3039
+-79.616 44.124 3042
+-79.49 44.124 3045
+-79.364 44.124 3049
+-79.238 44.124 3052
+-79.112 44.124 3055
+-78.986 44.124 3130
+-78.86 44.124 3129
+-78.734 44.124 3133
+-78.608 44.124 3136
+-78.482 44.124 3140
+-78.356 44.124 3094
+-78.23 44.124 3121
+-78.104 44.124 3125
+-77.978 44.124 3185
+-77.852 44.124 3113
+-77.726 44.124 3116
+-77.6 44.124 3120
+-77.474 44.124 3159
+-77.348 44.124 3122
+-77.222 44.124 3126
+-77.096 44.124 3128
+-76.97 44.124 3343
+-76.844 44.124 3297
+-76.718 44.124 3299
+-76.592 44.124 3422
+-76.466 44.124 3400
+-76.34 44.124 3402
+-76.214 44.124 3355
+-76.088 44.124 3427
+-75.962 44.124 3428
+-75.836 44.124 3430
+-75.71 44.124 3432
+-75.584 44.124 3434
+-75.458 44.124 3433
+-75.332 44.124 3435
+-75.206 44.124 3436
+-75.08 44.124 3426
+-74.954 44.124 3378
+-74.828 44.124 3373
+-74.702 44.124 3374
+-74.576 44.124 3376
+-74.45 44.124 3377
+-74.324 44.124 3378
+-74.198 44.124 3380
+-74.072 44.124 3381
+-73.946 44.124 3382
+-73.82 44.124 3384
+-73.694 44.124 3385
+-73.568 44.124 3386
+-73.442 44.124 3387
+-73.316 44.124 3388
+-73.19 44.124 3389
+-73.064 44.124 3390
+-72.938 44.124 3498
+-72.812 44.124 3499
+-72.686 44.124 3485
+-72.56 44.124 3486
+-72.434 44.124 3487
+-72.308 44.124 3488
+-72.182 44.124 3489
+-72.056 44.124 3489
+-71.93 44.124 3490
+-71.804 44.124 3491
+-71.678 44.124 3492
+-71.552 44.124 3493
+-71.426 44.124 3493
+-71.3 44.124 3528
+-71.174 44.124 3529
+-71.048 44.124 3530
+-70.922 44.124 3531
+-70.796 44.124 3532
+-70.67 44.124 3533
+-70.544 44.124 3494
+-70.418 44.124 3495
+-70.292 44.124 3495
+-70.166 44.124 3496
+-70.04 44.124 3532
+-69.914 44.124 3533
+-69.788 44.124 3533
+-69.662 44.124 3488
+-69.536 44.124 3489
+-69.41 44.124 3489
+-69.284 44.124 3626
+-69.158 44.124 3627
+-69.032 44.124 3627
+-68.906 44.124 3627
+-68.78 44.124 3628
+-68.654 44.124 3562
+-68.528 44.124 3562
+-68.402 44.124 3562
+-68.276 44.124 3563
+-68.15 44.124 3563
+-68.024 44.124 3563
+-67.898 44.124 3563
+-67.772 44.124 3563
+-67.646 44.124 3564
+-67.52 44.124 3564
+-67.394 44.124 3545
+-67.268 44.124 3532
+-67.142 44.124 3532
+-67.016 44.124 3533
+-66.89 44.124 3533
+-66.764 44.124 3533
+-66.638 44.124 3533
+-66.512 44.124 3515
+-66.386 44.124 3515
+-66.26 44.124 3515
+-66.134 44.124 3515
+-66.008 44.124 3515
+-65.882 44.124 3515
+-65.756 44.124 3516
+-65.63 44.124 3516
+-65.504 44.124 3464
+-65.378 44.124 3464
+-65.252 44.124 3464
+-65.126 44.124 3464
+-128 44.072 3690
+-127.874 44.072 3696
+-127.748 44.072 3701
+-127.622 44.072 3703
+-127.496 44.072 3664
+-127.37 44.072 3776
+-127.244 44.072 3898
+-127.118 44.072 4007
+-126.992 44.072 4124
+-126.866 44.072 4097
+-126.74 44.072 4210
+-126.614 44.072 4430
+-126.488 44.072 4674
+-126.362 44.072 4816
+-126.236 44.072 4811
+-126.11 44.072 4962
+-125.984 44.072 5153
+-125.858 44.072 5259
+-125.732 44.072 5307
+-125.606 44.072 5329
+-125.48 44.072 5388
+-125.354 44.072 5466
+-125.228 44.072 5590
+-125.102 44.072 5669
+-124.976 44.072 5762
+-124.85 44.072 5777
+-124.724 44.072 5867
+-124.598 44.072 5929
+-124.472 44.072 5982
+-124.346 44.072 6038
+-124.22 44.072 6111
+-124.094 44.072 6177
+-123.968 44.072 6242
+-123.842 44.072 6214
+-123.716 44.072 6281
+-123.59 44.072 6304
+-123.464 44.072 6327
+-123.338 44.072 6347
+-123.212 44.072 6343
+-123.086 44.072 6383
+-122.96 44.072 6397
+-122.834 44.072 6393
+-122.708 44.072 6407
+-122.582 44.072 6369
+-122.456 44.072 6344
+-122.33 44.072 6315
+-122.204 44.072 6284
+-122.078 44.072 6231
+-121.952 44.072 6204
+-121.826 44.072 6120
+-121.7 44.072 6096
+-121.574 44.072 6053
+-121.448 44.072 5957
+-121.322 44.072 5885
+-121.196 44.072 5880
+-121.07 44.072 5805
+-120.944 44.072 5706
+-120.818 44.072 5853
+-120.692 44.072 5975
+-120.566 44.072 6071
+-120.44 44.072 6124
+-120.314 44.072 6202
+-120.188 44.072 6322
+-120.062 44.072 6470
+-119.936 44.072 6474
+-119.81 44.072 6567
+-119.684 44.072 6686
+-119.558 44.072 6724
+-119.432 44.072 6765
+-119.306 44.072 6858
+-119.18 44.072 6901
+-119.054 44.072 6933
+-118.928 44.072 6973
+-118.802 44.072 7007
+-118.676 44.072 7063
+-118.55 44.072 7062
+-118.424 44.072 7076
+-118.298 44.072 7066
+-118.172 44.072 7084
+-118.046 44.072 7084
+-117.92 44.072 7039
+-117.794 44.072 6980
+-117.668 44.072 6963
+-117.542 44.072 6934
+-117.416 44.072 6890
+-117.29 44.072 6830
+-117.164 44.072 6759
+-117.038 44.072 6680
+-116.912 44.072 6606
+-116.786 44.072 6534
+-116.66 44.072 6480
+-116.534 44.072 6395
+-116.408 44.072 6299
+-116.282 44.072 6155
+-116.156 44.072 6107
+-116.03 44.072 6004
+-115.904 44.072 5891
+-115.778 44.072 5789
+-115.652 44.072 5627
+-115.526 44.072 5528
+-115.4 44.072 5447
+-115.274 44.072 5338
+-115.148 44.072 5266
+-115.022 44.072 5170
+-114.896 44.072 5093
+-114.77 44.072 5004
+-114.644 44.072 4928
+-114.518 44.072 4750
+-114.392 44.072 4602
+-114.266 44.072 4584
+-114.14 44.072 4555
+-114.014 44.072 4524
+-113.888 44.072 4508
+-113.762 44.072 4469
+-113.636 44.072 4391
+-113.51 44.072 4304
+-113.384 44.072 4238
+-113.258 44.072 4190
+-113.132 44.072 4102
+-113.006 44.072 3969
+-112.88 44.072 3941
+-112.754 44.072 3908
+-112.628 44.072 3861
+-112.502 44.072 3833
+-112.376 44.072 3825
+-112.25 44.072 3801
+-112.124 44.072 3798
+-111.998 44.072 3798
+-111.872 44.072 3798
+-111.746 44.072 3703
+-111.62 44.072 3644
+-111.494 44.072 3611
+-111.368 44.072 3576
+-111.242 44.072 3576
+-111.116 44.072 3575
+-110.99 44.072 3574
+-110.864 44.072 3574
+-110.738 44.072 3574
+-110.612 44.072 3527
+-110.486 44.072 3437
+-110.36 44.072 3424
+-110.234 44.072 3422
+-110.108 44.072 3324
+-109.982 44.072 3320
+-109.856 44.072 3317
+-109.73 44.072 3314
+-109.604 44.072 3311
+-109.478 44.072 3309
+-109.352 44.072 3307
+-109.226 44.072 3306
+-109.1 44.072 3304
+-108.974 44.072 3303
+-108.848 44.072 3231
+-108.722 44.072 3230
+-108.596 44.072 3230
+-108.47 44.072 3229
+-108.344 44.072 3229
+-108.218 44.072 3229
+-108.092 44.072 3217
+-107.966 44.072 3088
+-107.84 44.072 3090
+-107.714 44.072 3092
+-107.588 44.072 3094
+-107.462 44.072 3095
+-107.336 44.072 3097
+-107.21 44.072 3099
+-107.084 44.072 3100
+-106.958 44.072 3018
+-106.832 44.072 3020
+-106.706 44.072 3021
+-106.58 44.072 3023
+-106.454 44.072 3024
+-106.328 44.072 3025
+-106.202 44.072 3027
+-106.076 44.072 3028
+-105.95 44.072 3029
+-105.824 44.072 2905
+-105.698 44.072 2901
+-105.572 44.072 2897
+-105.446 44.072 2892
+-105.32 44.072 2887
+-105.194 44.072 2882
+-105.068 44.072 2876
+-104.942 44.072 2870
+-104.816 44.072 2805
+-104.69 44.072 2797
+-104.564 44.072 2593
+-104.438 44.072 2535
+-104.312 44.072 2365
+-104.186 44.072 2333
+-104.06 44.072 2346
+-103.934 44.072 2311
+-103.808 44.072 2407
+-103.682 44.072 2407
+-103.556 44.072 2447
+-103.43 44.072 2528
+-103.304 44.072 2630
+-103.178 44.072 2630
+-103.052 44.072 2711
+-102.926 44.072 2871
+-102.8 44.072 2869
+-102.674 44.072 2866
+-102.548 44.072 2863
+-102.422 44.072 2847
+-102.296 44.072 2878
+-102.17 44.072 2883
+-102.044 44.072 2881
+-101.918 44.072 2927
+-101.792 44.072 2924
+-101.666 44.072 2893
+-101.54 44.072 2891
+-101.414 44.072 2890
+-101.288 44.072 2889
+-101.162 44.072 2888
+-101.036 44.072 2887
+-100.91 44.072 2937
+-100.784 44.072 2936
+-100.658 44.072 2934
+-100.532 44.072 2862
+-100.406 44.072 2862
+-100.28 44.072 2862
+-100.154 44.072 2866
+-100.028 44.072 2866
+-99.902 44.072 2866
+-99.776 44.072 2867
+-99.65 44.072 2867
+-99.524 44.072 2983
+-99.398 44.072 2983
+-99.272 44.072 2982
+-99.146 44.072 2981
+-99.02 44.072 2981
+-98.894 44.072 2997
+-98.768 44.072 2990
+-98.642 44.072 2964
+-98.516 44.072 2997
+-98.39 44.072 3197
+-98.264 44.072 3214
+-98.138 44.072 3207
+-98.012 44.072 3107
+-97.886 44.072 3103
+-97.76 44.072 3099
+-97.634 44.072 3095
+-97.508 44.072 3092
+-97.382 44.072 3089
+-97.256 44.072 3086
+-97.13 44.072 3075
+-97.004 44.072 3094
+-96.878 44.072 3094
+-96.752 44.072 3115
+-96.626 44.072 3104
+-96.5 44.072 3136
+-96.374 44.072 3085
+-96.248 44.072 3104
+-96.122 44.072 3113
+-95.996 44.072 3116
+-95.87 44.072 3137
+-95.744 44.072 3148
+-95.618 44.072 3160
+-95.492 44.072 3184
+-95.366 44.072 3194
+-95.24 44.072 3203
+-95.114 44.072 3268
+-94.988 44.072 3271
+-94.862 44.072 3273
+-94.736 44.072 3254
+-94.61 44.072 3296
+-94.484 44.072 3292
+-94.358 44.072 3285
+-94.232 44.072 3278
+-94.106 44.072 3273
+-93.98 44.072 3296
+-93.854 44.072 3292
+-93.728 44.072 3265
+-93.602 44.072 3276
+-93.476 44.072 3280
+-93.35 44.072 3269
+-93.224 44.072 3270
+-93.098 44.072 3269
+-92.972 44.072 3271
+-92.846 44.072 3270
+-92.72 44.072 3278
+-92.594 44.072 3291
+-92.468 44.072 3331
+-92.342 44.072 3394
+-92.216 44.072 3437
+-92.09 44.072 3460
+-91.964 44.072 3520
+-91.838 44.072 3550
+-91.712 44.072 3552
+-91.586 44.072 3571
+-91.46 44.072 3607
+-91.334 44.072 3659
+-91.208 44.072 3696
+-91.082 44.072 3725
+-90.956 44.072 3734
+-90.83 44.072 3739
+-90.704 44.072 3726
+-90.578 44.072 3702
+-90.452 44.072 3683
+-90.326 44.072 3693
+-90.2 44.072 3698
+-90.074 44.072 3684
+-89.948 44.072 3667
+-89.822 44.072 3656
+-89.696 44.072 3653
+-89.57 44.072 3661
+-89.444 44.072 3641
+-89.318 44.072 3593
+-89.192 44.072 3537
+-89.066 44.072 3485
+-88.94 44.072 3457
+-88.814 44.072 3448
+-88.688 44.072 3432
+-88.562 44.072 3440
+-88.436 44.072 3454
+-88.31 44.072 3477
+-88.184 44.072 3466
+-88.058 44.072 3442
+-87.932 44.072 3388
+-87.806 44.072 3315
+-87.68 44.072 3282
+-87.554 44.072 3189
+-87.428 44.072 3133
+-87.302 44.072 3002
+-87.176 44.072 2916
+-87.05 44.072 2848
+-86.924 44.072 2737
+-86.798 44.072 2597
+-86.672 44.072 2479
+-86.546 44.072 2346
+-86.42 44.072 2221
+-86.294 44.072 2116
+-86.168 44.072 2072
+-86.042 44.072 2087
+-85.916 44.072 2092
+-85.79 44.072 2033
+-85.664 44.072 1906
+-85.538 44.072 1761
+-85.412 44.072 1699
+-85.286 44.072 1739
+-85.16 44.072 1839
+-85.034 44.072 1952
+-84.908 44.072 2056
+-84.782 44.072 2147
+-84.656 44.072 2224
+-84.53 44.072 2272
+-84.404 44.072 2326
+-84.278 44.072 2371
+-84.152 44.072 2407
+-84.026 44.072 2442
+-83.9 44.072 2472
+-83.774 44.072 2499
+-83.648 44.072 2498
+-83.522 44.072 2515
+-83.396 44.072 2534
+-83.27 44.072 2550
+-83.144 44.072 2565
+-83.018 44.072 2577
+-82.892 44.072 2550
+-82.766 44.072 2624
+-82.64 44.072 2632
+-82.514 44.072 2646
+-82.388 44.072 2655
+-82.262 44.072 2663
+-82.136 44.072 2671
+-82.01 44.072 2691
+-81.884 44.072 2685
+-81.758 44.072 2730
+-81.632 44.072 2738
+-81.506 44.072 2738
+-81.38 44.072 2748
+-81.254 44.072 2755
+-81.128 44.072 2761
+-81.002 44.072 2757
+-80.876 44.072 2854
+-80.75 44.072 2860
+-80.624 44.072 2865
+-80.498 44.072 2871
+-80.372 44.072 2962
+-80.246 44.072 2929
+-80.12 44.072 3058
+-79.994 44.072 3062
+-79.868 44.072 3037
+-79.742 44.072 3041
+-79.616 44.072 3044
+-79.49 44.072 3047
+-79.364 44.072 3050
+-79.238 44.072 3053
+-79.112 44.072 3128
+-78.986 44.072 3128
+-78.86 44.072 3131
+-78.734 44.072 3135
+-78.608 44.072 3138
+-78.482 44.072 3093
+-78.356 44.072 3120
+-78.23 44.072 3123
+-78.104 44.072 3183
+-77.978 44.072 3112
+-77.852 44.072 3115
+-77.726 44.072 3119
+-77.6 44.072 3158
+-77.474 44.072 3122
+-77.348 44.072 3125
+-77.222 44.072 3128
+-77.096 44.072 3341
+-76.97 44.072 3295
+-76.844 44.072 3298
+-76.718 44.072 3421
+-76.592 44.072 3398
+-76.466 44.072 3401
+-76.34 44.072 3353
+-76.214 44.072 3425
+-76.088 44.072 3427
+-75.962 44.072 3429
+-75.836 44.072 3431
+-75.71 44.072 3433
+-75.584 44.072 3432
+-75.458 44.072 3434
+-75.332 44.072 3435
+-75.206 44.072 3425
+-75.08 44.072 3377
+-74.954 44.072 3372
+-74.828 44.072 3373
+-74.702 44.072 3375
+-74.576 44.072 3376
+-74.45 44.072 3378
+-74.324 44.072 3379
+-74.198 44.072 3380
+-74.072 44.072 3382
+-73.946 44.072 3383
+-73.82 44.072 3384
+-73.694 44.072 3385
+-73.568 44.072 3387
+-73.442 44.072 3388
+-73.316 44.072 3389
+-73.19 44.072 3390
+-73.064 44.072 3498
+-72.938 44.072 3499
+-72.812 44.072 3485
+-72.686 44.072 3485
+-72.56 44.072 3486
+-72.434 44.072 3487
+-72.308 44.072 3488
+-72.182 44.072 3489
+-72.056 44.072 3490
+-71.93 44.072 3491
+-71.804 44.072 3491
+-71.678 44.072 3492
+-71.552 44.072 3493
+-71.426 44.072 3527
+-71.3 44.072 3528
+-71.174 44.072 3529
+-71.048 44.072 3530
+-70.922 44.072 3531
+-70.796 44.072 3532
+-70.67 44.072 3493
+-70.544 44.072 3494
+-70.418 44.072 3495
+-70.292 44.072 3496
+-70.166 44.072 3531
+-70.04 44.072 3532
+-69.914 44.072 3533
+-69.788 44.072 3488
+-69.662 44.072 3488
+-69.536 44.072 3489
+-69.41 44.072 3626
+-69.284 44.072 3626
+-69.158 44.072 3627
+-69.032 44.072 3627
+-68.906 44.072 3627
+-68.78 44.072 3562
+-68.654 44.072 3562
+-68.528 44.072 3562
+-68.402 44.072 3562
+-68.276 44.072 3563
+-68.15 44.072 3563
+-68.024 44.072 3563
+-67.898 44.072 3563
+-67.772 44.072 3564
+-67.646 44.072 3564
+-67.52 44.072 3545
+-67.394 44.072 3532
+-67.268 44.072 3532
+-67.142 44.072 3533
+-67.016 44.072 3533
+-66.89 44.072 3533
+-66.764 44.072 3514
+-66.638 44.072 3514
+-66.512 44.072 3515
+-66.386 44.072 3515
+-66.26 44.072 3515
+-66.134 44.072 3515
+-66.008 44.072 3515
+-65.882 44.072 3515
+-65.756 44.072 3516
+-65.63 44.072 3464
+-65.504 44.072 3464
+-65.378 44.072 3464
+-65.252 44.072 3464
+-65.126 44.072 3464
+-128 44.02 3646
+-127.874 44.02 3677
+-127.748 44.02 3683
+-127.622 44.02 3692
+-127.496 44.02 3701
+-127.37 44.02 3764
+-127.244 44.02 3848
+-127.118 44.02 3942
+-126.992 44.02 4029
+-126.866 44.02 4053
+-126.74 44.02 4146
+-126.614 44.02 4362
+-126.488 44.02 4603
+-126.362 44.02 4781
+-126.236 44.02 4873
+-126.11 44.02 4981
+-125.984 44.02 5144
+-125.858 44.02 5229
+-125.732 44.02 5281
+-125.606 44.02 5317
+-125.48 44.02 5355
+-125.354 44.02 5434
+-125.228 44.02 5524
+-125.102 44.02 5631
+-124.976 44.02 5711
+-124.85 44.02 5777
+-124.724 44.02 5826
+-124.598 44.02 5892
+-124.472 44.02 5935
+-124.346 44.02 5984
+-124.22 44.02 6074
+-124.094 44.02 6101
+-123.968 44.02 6183
+-123.842 44.02 6230
+-123.716 44.02 6257
+-123.59 44.02 6293
+-123.464 44.02 6275
+-123.338 44.02 6280
+-123.212 44.02 6282
+-123.086 44.02 6304
+-122.96 44.02 6325
+-122.834 44.02 6318
+-122.708 44.02 6346
+-122.582 44.02 6323
+-122.456 44.02 6323
+-122.33 44.02 6286
+-122.204 44.02 6267
+-122.078 44.02 6182
+-121.952 44.02 6163
+-121.826 44.02 6105
+-121.7 44.02 6033
+-121.574 44.02 5972
+-121.448 44.02 5921
+-121.322 44.02 5854
+-121.196 44.02 5786
+-121.07 44.02 5756
+-120.944 44.02 5709
+-120.818 44.02 5810
+-120.692 44.02 5905
+-120.566 44.02 6008
+-120.44 44.02 6119
+-120.314 44.02 6152
+-120.188 44.02 6312
+-120.062 44.02 6390
+-119.936 44.02 6487
+-119.81 44.02 6542
+-119.684 44.02 6563
+-119.558 44.02 6665
+-119.432 44.02 6711
+-119.306 44.02 6768
+-119.18 44.02 6838
+-119.054 44.02 6878
+-118.928 44.02 6915
+-118.802 44.02 6971
+-118.676 44.02 6986
+-118.55 44.02 7017
+-118.424 44.02 7026
+-118.298 44.02 7033
+-118.172 44.02 7029
+-118.046 44.02 7025
+-117.92 44.02 6980
+-117.794 44.02 6965
+-117.668 44.02 6919
+-117.542 44.02 6867
+-117.416 44.02 6825
+-117.29 44.02 6770
+-117.164 44.02 6701
+-117.038 44.02 6651
+-116.912 44.02 6571
+-116.786 44.02 6451
+-116.66 44.02 6443
+-116.534 44.02 6318
+-116.408 44.02 6252
+-116.282 44.02 6160
+-116.156 44.02 6042
+-116.03 44.02 5958
+-115.904 44.02 5831
+-115.778 44.02 5763
+-115.652 44.02 5623
+-115.526 44.02 5500
+-115.4 44.02 5435
+-115.274 44.02 5299
+-115.148 44.02 5215
+-115.022 44.02 5110
+-114.896 44.02 5004
+-114.77 44.02 4920
+-114.644 44.02 4897
+-114.518 44.02 4664
+-114.392 44.02 4457
+-114.266 44.02 4543
+-114.14 44.02 4554
+-114.014 44.02 4503
+-113.888 44.02 4473
+-113.762 44.02 4412
+-113.636 44.02 4347
+-113.51 44.02 4290
+-113.384 44.02 4217
+-113.258 44.02 4085
+-113.132 44.02 4027
+-113.006 44.02 3911
+-112.88 44.02 3879
+-112.754 44.02 3853
+-112.628 44.02 3823
+-112.502 44.02 3809
+-112.376 44.02 3798
+-112.25 44.02 3795
+-112.124 44.02 3777
+-111.998 44.02 3778
+-111.872 44.02 3737
+-111.746 44.02 3739
+-111.62 44.02 3701
+-111.494 44.02 3630
+-111.368 44.02 3600
+-111.242 44.02 3545
+-111.116 44.02 3567
+-110.99 44.02 3567
+-110.864 44.02 3568
+-110.738 44.02 3569
+-110.612 44.02 3476
+-110.486 44.02 3431
+-110.36 44.02 3418
+-110.234 44.02 3318
+-110.108 44.02 3315
+-109.982 44.02 3311
+-109.856 44.02 3309
+-109.73 44.02 3306
+-109.604 44.02 3304
+-109.478 44.02 3302
+-109.352 44.02 3300
+-109.226 44.02 3299
+-109.1 44.02 3297
+-108.974 44.02 3296
+-108.848 44.02 3296
+-108.722 44.02 3225
+-108.596 44.02 3224
+-108.47 44.02 3224
+-108.344 44.02 3224
+-108.218 44.02 3224
+-108.092 44.02 3224
+-107.966 44.02 3224
+-107.84 44.02 3084
+-107.714 44.02 3086
+-107.588 44.02 3088
+-107.462 44.02 3090
+-107.336 44.02 3091
+-107.21 44.02 3093
+-107.084 44.02 3010
+-106.958 44.02 3011
+-106.832 44.02 3013
+-106.706 44.02 3014
+-106.58 44.02 3016
+-106.454 44.02 3017
+-106.328 44.02 3019
+-106.202 44.02 3020
+-106.076 44.02 3022
+-105.95 44.02 3023
+-105.824 44.02 2896
+-105.698 44.02 2892
+-105.572 44.02 2888
+-105.446 44.02 2883
+-105.32 44.02 2878
+-105.194 44.02 2873
+-105.068 44.02 2868
+-104.942 44.02 2743
+-104.816 44.02 2796
+-104.69 44.02 2662
+-104.564 44.02 2582
+-104.438 44.02 2524
+-104.312 44.02 2357
+-104.186 44.02 2326
+-104.06 44.02 2339
+-103.934 44.02 2307
+-103.808 44.02 2404
+-103.682 44.02 2404
+-103.556 44.02 2445
+-103.43 44.02 2527
+-103.304 44.02 2628
+-103.178 44.02 2628
+-103.052 44.02 2715
+-102.926 44.02 2707
+-102.8 44.02 2866
+-102.674 44.02 2863
+-102.548 44.02 2861
+-102.422 44.02 2858
+-102.296 44.02 2841
+-102.17 44.02 2872
+-102.044 44.02 2878
+-101.918 44.02 2875
+-101.792 44.02 2920
+-101.666 44.02 2917
+-101.54 44.02 2887
+-101.414 44.02 2886
+-101.288 44.02 2885
+-101.162 44.02 2884
+-101.036 44.02 2882
+-100.91 44.02 2881
+-100.784 44.02 2931
+-100.658 44.02 2929
+-100.532 44.02 2928
+-100.406 44.02 2857
+-100.28 44.02 2857
+-100.154 44.02 2856
+-100.028 44.02 2861
+-99.902 44.02 2861
+-99.776 44.02 2861
+-99.65 44.02 2861
+-99.524 44.02 2862
+-99.398 44.02 2976
+-99.272 44.02 2976
+-99.146 44.02 2975
+-99.02 44.02 2974
+-98.894 44.02 2982
+-98.768 44.02 2989
+-98.642 44.02 2982
+-98.516 44.02 2957
+-98.39 44.02 2989
+-98.264 44.02 3184
+-98.138 44.02 3199
+-98.012 44.02 3191
+-97.886 44.02 3095
+-97.76 44.02 3090
+-97.634 44.02 3086
+-97.508 44.02 3082
+-97.382 44.02 3078
+-97.256 44.02 3075
+-97.13 44.02 3072
+-97.004 44.02 3061
+-96.878 44.02 3080
+-96.752 44.02 3081
+-96.626 44.02 3101
+-96.5 44.02 3092
+-96.374 44.02 3124
+-96.248 44.02 3076
+-96.122 44.02 3096
+-95.996 44.02 3107
+-95.87 44.02 3112
+-95.744 44.02 3135
+-95.618 44.02 3147
+-95.492 44.02 3161
+-95.366 44.02 3186
+-95.24 44.02 3196
+-95.114 44.02 3206
+-94.988 44.02 3267
+-94.862 44.02 3268
+-94.736 44.02 3268
+-94.61 44.02 3248
+-94.484 44.02 3282
+-94.358 44.02 3275
+-94.232 44.02 3266
+-94.106 44.02 3259
+-93.98 44.02 3257
+-93.854 44.02 3282
+-93.728 44.02 3289
+-93.602 44.02 3275
+-93.476 44.02 3295
+-93.35 44.02 3307
+-93.224 44.02 3302
+-93.098 44.02 3305
+-92.972 44.02 3303
+-92.846 44.02 3298
+-92.72 44.02 3291
+-92.594 44.02 3310
+-92.468 44.02 3358
+-92.342 44.02 3426
+-92.216 44.02 3481
+-92.09 44.02 3517
+-91.964 44.02 3550
+-91.838 44.02 3563
+-91.712 44.02 3595
+-91.586 44.02 3641
+-91.46 44.02 3685
+-91.334 44.02 3736
+-91.208 44.02 3762
+-91.082 44.02 3770
+-90.956 44.02 3774
+-90.83 44.02 3783
+-90.704 44.02 3793
+-90.578 44.02 3775
+-90.452 44.02 3772
+-90.326 44.02 3782
+-90.2 44.02 3796
+-90.074 44.02 3781
+-89.948 44.02 3756
+-89.822 44.02 3723
+-89.696 44.02 3691
+-89.57 44.02 3690
+-89.444 44.02 3670
+-89.318 44.02 3625
+-89.192 44.02 3570
+-89.066 44.02 3531
+-88.94 44.02 3487
+-88.814 44.02 3456
+-88.688 44.02 3426
+-88.562 44.02 3459
+-88.436 44.02 3489
+-88.31 44.02 3503
+-88.184 44.02 3501
+-88.058 44.02 3452
+-87.932 44.02 3394
+-87.806 44.02 3366
+-87.68 44.02 3293
+-87.554 44.02 3252
+-87.428 44.02 3206
+-87.302 44.02 3083
+-87.176 44.02 3004
+-87.05 44.02 2914
+-86.924 44.02 2817
+-86.798 44.02 2684
+-86.672 44.02 2559
+-86.546 44.02 2443
+-86.42 44.02 2318
+-86.294 44.02 2217
+-86.168 44.02 2169
+-86.042 44.02 2154
+-85.916 44.02 2145
+-85.79 44.02 2100
+-85.664 44.02 1995
+-85.538 44.02 1893
+-85.412 44.02 1837
+-85.286 44.02 1859
+-85.16 44.02 1932
+-85.034 44.02 2023
+-84.908 44.02 2115
+-84.782 44.02 2196
+-84.656 44.02 2251
+-84.53 44.02 2309
+-84.404 44.02 2359
+-84.278 44.02 2399
+-84.152 44.02 2436
+-84.026 44.02 2469
+-83.9 44.02 2497
+-83.774 44.02 2497
+-83.648 44.02 2516
+-83.522 44.02 2535
+-83.396 44.02 2552
+-83.27 44.02 2567
+-83.144 44.02 2580
+-83.018 44.02 2553
+-82.892 44.02 2625
+-82.766 44.02 2634
+-82.64 44.02 2647
+-82.514 44.02 2656
+-82.388 44.02 2665
+-82.262 44.02 2673
+-82.136 44.02 2692
+-82.01 44.02 2687
+-81.884 44.02 2731
+-81.758 44.02 2739
+-81.632 44.02 2740
+-81.506 44.02 2749
+-81.38 44.02 2756
+-81.254 44.02 2762
+-81.128 44.02 2759
+-81.002 44.02 2854
+-80.876 44.02 2860
+-80.75 44.02 2865
+-80.624 44.02 2871
+-80.498 44.02 2962
+-80.372 44.02 2929
+-80.246 44.02 3056
+-80.12 44.02 3060
+-79.994 44.02 3035
+-79.868 44.02 3039
+-79.742 44.02 3042
+-79.616 44.02 3046
+-79.49 44.02 3049
+-79.364 44.02 3052
+-79.238 44.02 3126
+-79.112 44.02 3126
+-78.986 44.02 3130
+-78.86 44.02 3133
+-78.734 44.02 3137
+-78.608 44.02 3092
+-78.482 44.02 3119
+-78.356 44.02 3122
+-78.23 44.02 3181
+-78.104 44.02 3111
+-77.978 44.02 3114
+-77.852 44.02 3118
+-77.726 44.02 3157
+-77.6 44.02 3121
+-77.474 44.02 3124
+-77.348 44.02 3127
+-77.222 44.02 3339
+-77.096 44.02 3294
+-76.97 44.02 3296
+-76.844 44.02 3419
+-76.718 44.02 3397
+-76.592 44.02 3399
+-76.466 44.02 3352
+-76.34 44.02 3424
+-76.214 44.02 3426
+-76.088 44.02 3428
+-75.962 44.02 3430
+-75.836 44.02 3431
+-75.71 44.02 3431
+-75.584 44.02 3432
+-75.458 44.02 3434
+-75.332 44.02 3423
+-75.206 44.02 3376
+-75.08 44.02 3371
+-74.954 44.02 3373
+-74.828 44.02 3374
+-74.702 44.02 3376
+-74.576 44.02 3377
+-74.45 44.02 3378
+-74.324 44.02 3380
+-74.198 44.02 3381
+-74.072 44.02 3382
+-73.946 44.02 3384
+-73.82 44.02 3385
+-73.694 44.02 3386
+-73.568 44.02 3387
+-73.442 44.02 3388
+-73.316 44.02 3389
+-73.19 44.02 3497
+-73.064 44.02 3498
+-72.938 44.02 3484
+-72.812 44.02 3485
+-72.686 44.02 3486
+-72.56 44.02 3487
+-72.434 44.02 3488
+-72.308 44.02 3488
+-72.182 44.02 3489
+-72.056 44.02 3490
+-71.93 44.02 3491
+-71.804 44.02 3492
+-71.678 44.02 3493
+-71.552 44.02 3527
+-71.426 44.02 3528
+-71.3 44.02 3529
+-71.174 44.02 3530
+-71.048 44.02 3531
+-70.922 44.02 3532
+-70.796 44.02 3493
+-70.67 44.02 3494
+-70.544 44.02 3495
+-70.418 44.02 3495
+-70.292 44.02 3530
+-70.166 44.02 3532
+-70.04 44.02 3533
+-69.914 44.02 3487
+-69.788 44.02 3488
+-69.662 44.02 3489
+-69.536 44.02 3625
+-69.41 44.02 3626
+-69.284 44.02 3626
+-69.158 44.02 3627
+-69.032 44.02 3627
+-68.906 44.02 3562
+-68.78 44.02 3562
+-68.654 44.02 3562
+-68.528 44.02 3562
+-68.402 44.02 3562
+-68.276 44.02 3563
+-68.15 44.02 3563
+-68.024 44.02 3563
+-67.898 44.02 3563
+-67.772 44.02 3564
+-67.646 44.02 3545
+-67.52 44.02 3532
+-67.394 44.02 3532
+-67.268 44.02 3532
+-67.142 44.02 3533
+-67.016 44.02 3533
+-66.89 44.02 3533
+-66.764 44.02 3514
+-66.638 44.02 3514
+-66.512 44.02 3515
+-66.386 44.02 3515
+-66.26 44.02 3515
+-66.134 44.02 3515
+-66.008 44.02 3515
+-65.882 44.02 3515
+-65.756 44.02 3464
+-65.63 44.02 3464
+-65.504 44.02 3464
+-65.378 44.02 3464
+-65.252 44.02 3464
+-65.126 44.02 3464
+-128 43.968 3601
+-127.874 43.968 3635
+-127.748 43.968 3638
+-127.622 43.968 3642
+-127.496 43.968 3643
+-127.37 43.968 3727
+-127.244 43.968 3807
+-127.118 43.968 3863
+-126.992 43.968 3922
+-126.866 43.968 4016
+-126.74 43.968 4134
+-126.614 43.968 4287
+-126.488 43.968 4496
+-126.362 43.968 4705
+-126.236 43.968 4899
+-126.11 43.968 5021
+-125.984 43.968 5139
+-125.858 43.968 5171
+-125.732 43.968 5192
+-125.606 43.968 5271
+-125.48 43.968 5303
+-125.354 43.968 5356
+-125.228 43.968 5440
+-125.102 43.968 5543
+-124.976 43.968 5617
+-124.85 43.968 5689
+-124.724 43.968 5761
+-124.598 43.968 5830
+-124.472 43.968 5860
+-124.346 43.968 5905
+-124.22 43.968 5977
+-124.094 43.968 6019
+-123.968 43.968 6092
+-123.842 43.968 6161
+-123.716 43.968 6198
+-123.59 43.968 6212
+-123.464 43.968 6222
+-123.338 43.968 6252
+-123.212 43.968 6231
+-123.086 43.968 6229
+-122.96 43.968 6245
+-122.834 43.968 6273
+-122.708 43.968 6277
+-122.582 43.968 6264
+-122.456 43.968 6254
+-122.33 43.968 6219
+-122.204 43.968 6193
+-122.078 43.968 6137
+-121.952 43.968 6097
+-121.826 43.968 6028
+-121.7 43.968 5962
+-121.574 43.968 5894
+-121.448 43.968 5874
+-121.322 43.968 5780
+-121.196 43.968 5638
+-121.07 43.968 5714
+-120.944 43.968 5754
+-120.818 43.968 5781
+-120.692 43.968 5857
+-120.566 43.968 6036
+-120.44 43.968 6058
+-120.314 43.968 6155
+-120.188 43.968 6250
+-120.062 43.968 6333
+-119.936 43.968 6423
+-119.81 43.968 6521
+-119.684 43.968 6575
+-119.558 43.968 6629
+-119.432 43.968 6666
+-119.306 43.968 6742
+-119.18 43.968 6777
+-119.054 43.968 6833
+-118.928 43.968 6871
+-118.802 43.968 6931
+-118.676 43.968 6932
+-118.55 43.968 6965
+-118.424 43.968 6948
+-118.298 43.968 6990
+-118.172 43.968 6983
+-118.046 43.968 6972
+-117.92 43.968 6935
+-117.794 43.968 6896
+-117.668 43.968 6857
+-117.542 43.968 6834
+-117.416 43.968 6763
+-117.29 43.968 6700
+-117.164 43.968 6621
+-117.038 43.968 6592
+-116.912 43.968 6509
+-116.786 43.968 6497
+-116.66 43.968 6419
+-116.534 43.968 6325
+-116.408 43.968 6220
+-116.282 43.968 6086
+-116.156 43.968 5988
+-116.03 43.968 5951
+-115.904 43.968 5844
+-115.778 43.968 5727
+-115.652 43.968 5646
+-115.526 43.968 5540
+-115.4 43.968 5376
+-115.274 43.968 5274
+-115.148 43.968 5180
+-115.022 43.968 5056
+-114.896 43.968 4901
+-114.77 43.968 4930
+-114.644 43.968 4852
+-114.518 43.968 4696
+-114.392 43.968 4574
+-114.266 43.968 4553
+-114.14 43.968 4487
+-114.014 43.968 4419
+-113.888 43.968 4371
+-113.762 43.968 4336
+-113.636 43.968 4331
+-113.51 43.968 4199
+-113.384 43.968 4143
+-113.258 43.968 4012
+-113.132 43.968 3954
+-113.006 43.968 3904
+-112.88 43.968 3870
+-112.754 43.968 3815
+-112.628 43.968 3794
+-112.502 43.968 3773
+-112.376 43.968 3769
+-112.25 43.968 3763
+-112.124 43.968 3767
+-111.998 43.968 3712
+-111.872 43.968 3716
+-111.746 43.968 3720
+-111.62 43.968 3725
+-111.494 43.968 3687
+-111.368 43.968 3600
+-111.242 43.968 3591
+-111.116 43.968 3537
+-110.99 43.968 3559
+-110.864 43.968 3561
+-110.738 43.968 3467
+-110.612 43.968 3466
+-110.486 43.968 3362
+-110.36 43.968 3348
+-110.234 43.968 3308
+-110.108 43.968 3305
+-109.982 43.968 3302
+-109.856 43.968 3299
+-109.73 43.968 3297
+-109.604 43.968 3295
+-109.478 43.968 3293
+-109.352 43.968 3292
+-109.226 43.968 3291
+-109.1 43.968 3290
+-108.974 43.968 3289
+-108.848 43.968 3289
+-108.722 43.968 3288
+-108.596 43.968 3218
+-108.47 43.968 3218
+-108.344 43.968 3218
+-108.218 43.968 3218
+-108.092 43.968 3218
+-107.966 43.968 3218
+-107.84 43.968 3219
+-107.714 43.968 3080
+-107.588 43.968 3082
+-107.462 43.968 3084
+-107.336 43.968 3086
+-107.21 43.968 3000
+-107.084 43.968 3002
+-106.958 43.968 3004
+-106.832 43.968 3006
+-106.706 43.968 3007
+-106.58 43.968 3009
+-106.454 43.968 3011
+-106.328 43.968 3012
+-106.202 43.968 3014
+-106.076 43.968 3015
+-105.95 43.968 3017
+-105.824 43.968 2888
+-105.698 43.968 2884
+-105.572 43.968 2879
+-105.446 43.968 2875
+-105.32 43.968 2870
+-105.194 43.968 2864
+-105.068 43.968 2742
+-104.942 43.968 2733
+-104.816 43.968 2662
+-104.69 43.968 2651
+-104.564 43.968 2571
+-104.438 43.968 2512
+-104.312 43.968 2348
+-104.186 43.968 2318
+-104.06 43.968 2331
+-103.934 43.968 2303
+-103.808 43.968 2401
+-103.682 43.968 2401
+-103.556 43.968 2443
+-103.43 43.968 2525
+-103.304 43.968 2626
+-103.178 43.968 2626
+-103.052 43.968 2712
+-102.926 43.968 2710
+-102.8 43.968 2702
+-102.674 43.968 2861
+-102.548 43.968 2858
+-102.422 43.968 2855
+-102.296 43.968 2852
+-102.17 43.968 2836
+-102.044 43.968 2866
+-101.918 43.968 2872
+-101.792 43.968 2869
+-101.666 43.968 2913
+-101.54 43.968 2910
+-101.414 43.968 2882
+-101.288 43.968 2880
+-101.162 43.968 2879
+-101.036 43.968 2878
+-100.91 43.968 2877
+-100.784 43.968 2875
+-100.658 43.968 2925
+-100.532 43.968 2923
+-100.406 43.968 2922
+-100.28 43.968 2852
+-100.154 43.968 2851
+-100.028 43.968 2851
+-99.902 43.968 2856
+-99.776 43.968 2856
+-99.65 43.968 2856
+-99.524 43.968 2856
+-99.398 43.968 2856
+-99.272 43.968 2969
+-99.146 43.968 2969
+-99.02 43.968 2968
+-98.894 43.968 2966
+-98.768 43.968 2966
+-98.642 43.968 2981
+-98.516 43.968 2974
+-98.39 43.968 2949
+-98.264 43.968 2980
+-98.138 43.968 3169
+-98.012 43.968 3183
+-97.886 43.968 3175
+-97.76 43.968 3081
+-97.634 43.968 3076
+-97.508 43.968 3071
+-97.382 43.968 3066
+-97.256 43.968 3062
+-97.13 43.968 3059
+-97.004 43.968 3056
+-96.878 43.968 3046
+-96.752 43.968 3065
+-96.626 43.968 3066
+-96.5 43.968 3086
+-96.374 43.968 3079
+-96.248 43.968 3111
+-96.122 43.968 3067
+-95.996 43.968 3088
+-95.87 43.968 3101
+-95.744 43.968 3109
+-95.618 43.968 3134
+-95.492 43.968 3148
+-95.366 43.968 3163
+-95.24 43.968 3188
+-95.114 43.968 3199
+-94.988 43.968 3208
+-94.862 43.968 3263
+-94.736 43.968 3263
+-94.61 43.968 3258
+-94.484 43.968 3236
+-94.358 43.968 3259
+-94.232 43.968 3246
+-94.106 43.968 3235
+-93.98 43.968 3229
+-93.854 43.968 3254
+-93.728 43.968 3270
+-93.602 43.968 3294
+-93.476 43.968 3307
+-93.35 43.968 3322
+-93.224 43.968 3338
+-93.098 43.968 3345
+-92.972 43.968 3342
+-92.846 43.968 3325
+-92.72 43.968 3316
+-92.594 43.968 3342
+-92.468 43.968 3392
+-92.342 43.968 3459
+-92.216 43.968 3522
+-92.09 43.968 3560
+-91.964 43.968 3597
+-91.838 43.968 3623
+-91.712 43.968 3679
+-91.586 43.968 3723
+-91.46 43.968 3755
+-91.334 43.968 3799
+-91.208 43.968 3798
+-91.082 43.968 3776
+-90.956 43.968 3808
+-90.83 43.968 3847
+-90.704 43.968 3863
+-90.578 43.968 3863
+-90.452 43.968 3849
+-90.326 43.968 3861
+-90.2 43.968 3861
+-90.074 43.968 3847
+-89.948 43.968 3821
+-89.822 43.968 3763
+-89.696 43.968 3723
+-89.57 43.968 3696
+-89.444 43.968 3677
+-89.318 43.968 3649
+-89.192 43.968 3622
+-89.066 43.968 3582
+-88.94 43.968 3536
+-88.814 43.968 3498
+-88.688 43.968 3486
+-88.562 43.968 3517
+-88.436 43.968 3526
+-88.31 43.968 3523
+-88.184 43.968 3538
+-88.058 43.968 3537
+-87.932 43.968 3454
+-87.806 43.968 3412
+-87.68 43.968 3395
+-87.554 43.968 3324
+-87.428 43.968 3290
+-87.302 43.968 3246
+-87.176 43.968 3120
+-87.05 43.968 2955
+-86.924 43.968 2874
+-86.798 43.968 2767
+-86.672 43.968 2675
+-86.546 43.968 2554
+-86.42 43.968 2435
+-86.294 43.968 2352
+-86.168 43.968 2282
+-86.042 43.968 2254
+-85.916 43.968 2237
+-85.79 43.968 2180
+-85.664 43.968 2113
+-85.538 43.968 2034
+-85.412 43.968 1997
+-85.286 43.968 2006
+-85.16 43.968 2054
+-85.034 43.968 2121
+-84.908 43.968 2193
+-84.782 43.968 2245
+-84.656 43.968 2303
+-84.53 43.968 2354
+-84.404 43.968 2396
+-84.278 43.968 2435
+-84.152 43.968 2468
+-84.026 43.968 2498
+-83.9 43.968 2500
+-83.774 43.968 2518
+-83.648 43.968 2538
+-83.522 43.968 2555
+-83.396 43.968 2571
+-83.27 43.968 2584
+-83.144 43.968 2557
+-83.018 43.968 2628
+-82.892 43.968 2636
+-82.766 43.968 2650
+-82.64 43.968 2659
+-82.514 43.968 2667
+-82.388 43.968 2675
+-82.262 43.968 2694
+-82.136 43.968 2689
+-82.01 43.968 2733
+-81.884 43.968 2741
+-81.758 43.968 2741
+-81.632 43.968 2751
+-81.506 43.968 2757
+-81.38 43.968 2764
+-81.254 43.968 2760
+-81.128 43.968 2854
+-81.002 43.968 2860
+-80.876 43.968 2866
+-80.75 43.968 2871
+-80.624 43.968 2961
+-80.498 43.968 2929
+-80.372 43.968 3053
+-80.246 43.968 3058
+-80.12 43.968 3034
+-79.994 43.968 3037
+-79.868 43.968 3041
+-79.742 43.968 3044
+-79.616 43.968 3048
+-79.49 43.968 3051
+-79.364 43.968 3124
+-79.238 43.968 3124
+-79.112 43.968 3128
+-78.986 43.968 3132
+-78.86 43.968 3135
+-78.734 43.968 3090
+-78.608 43.968 3117
+-78.482 43.968 3121
+-78.356 43.968 3180
+-78.23 43.968 3110
+-78.104 43.968 3113
+-77.978 43.968 3117
+-77.852 43.968 3155
+-77.726 43.968 3120
+-77.6 43.968 3123
+-77.474 43.968 3126
+-77.348 43.968 3337
+-77.222 43.968 3292
+-77.096 43.968 3295
+-76.97 43.968 3417
+-76.844 43.968 3395
+-76.718 43.968 3397
+-76.592 43.968 3350
+-76.466 43.968 3423
+-76.34 43.968 3424
+-76.214 43.968 3426
+-76.088 43.968 3428
+-75.962 43.968 3430
+-75.836 43.968 3429
+-75.71 43.968 3431
+-75.584 43.968 3433
+-75.458 43.968 3422
+-75.332 43.968 3375
+-75.206 43.968 3370
+-75.08 43.968 3372
+-74.954 43.968 3373
+-74.828 43.968 3375
+-74.702 43.968 3376
+-74.576 43.968 3378
+-74.45 43.968 3379
+-74.324 43.968 3381
+-74.198 43.968 3382
+-74.072 43.968 3383
+-73.946 43.968 3384
+-73.82 43.968 3386
+-73.694 43.968 3387
+-73.568 43.968 3388
+-73.442 43.968 3389
+-73.316 43.968 3496
+-73.19 43.968 3497
+-73.064 43.968 3483
+-72.938 43.968 3484
+-72.812 43.968 3485
+-72.686 43.968 3486
+-72.56 43.968 3487
+-72.434 43.968 3488
+-72.308 43.968 3489
+-72.182 43.968 3490
+-72.056 43.968 3491
+-71.93 43.968 3491
+-71.804 43.968 3492
+-71.678 43.968 3526
+-71.552 43.968 3527
+-71.426 43.968 3528
+-71.3 43.968 3529
+-71.174 43.968 3530
+-71.048 43.968 3531
+-70.922 43.968 3493
+-70.796 43.968 3493
+-70.67 43.968 3494
+-70.544 43.968 3495
+-70.418 43.968 3530
+-70.292 43.968 3531
+-70.166 43.968 3532
+-70.04 43.968 3487
+-69.914 43.968 3488
+-69.788 43.968 3488
+-69.662 43.968 3625
+-69.536 43.968 3625
+-69.41 43.968 3626
+-69.284 43.968 3626
+-69.158 43.968 3627
+-69.032 43.968 3561
+-68.906 43.968 3562
+-68.78 43.968 3562
+-68.654 43.968 3562
+-68.528 43.968 3562
+-68.402 43.968 3562
+-68.276 43.968 3563
+-68.15 43.968 3563
+-68.024 43.968 3563
+-67.898 43.968 3563
+-67.772 43.968 3544
+-67.646 43.968 3532
+-67.52 43.968 3532
+-67.394 43.968 3532
+-67.268 43.968 3532
+-67.142 43.968 3533
+-67.016 43.968 3514
+-66.89 43.968 3514
+-66.764 43.968 3514
+-66.638 43.968 3514
+-66.512 43.968 3515
+-66.386 43.968 3515
+-66.26 43.968 3515
+-66.134 43.968 3515
+-66.008 43.968 3515
+-65.882 43.968 3463
+-65.756 43.968 3464
+-65.63 43.968 3464
+-65.504 43.968 3464
+-65.378 43.968 3464
+-65.252 43.968 3464
+-65.126 43.968 3464
+-128 43.916 3575
+-127.874 43.916 3575
+-127.748 43.916 3575
+-127.622 43.916 3581
+-127.496 43.916 3540
+-127.37 43.916 3702
+-127.244 43.916 3835
+-127.118 43.916 3835
+-126.992 43.916 3874
+-126.866 43.916 3949
+-126.74 43.916 4050
+-126.614 43.916 4224
+-126.488 43.916 4450
+-126.362 43.916 4645
+-126.236 43.916 4857
+-126.11 43.916 5023
+-125.984 43.916 5136
+-125.858 43.916 5129
+-125.732 43.916 5068
+-125.606 43.916 5192
+-125.48 43.916 5283
+-125.354 43.916 5341
+-125.228 43.916 5401
+-125.102 43.916 5476
+-124.976 43.916 5549
+-124.85 43.916 5646
+-124.724 43.916 5713
+-124.598 43.916 5769
+-124.472 43.916 5828
+-124.346 43.916 5864
+-124.22 43.916 5908
+-124.094 43.916 5943
+-123.968 43.916 6018
+-123.842 43.916 6087
+-123.716 43.916 6142
+-123.59 43.916 6160
+-123.464 43.916 6170
+-123.338 43.916 6223
+-123.212 43.916 6221
+-123.086 43.916 6187
+-122.96 43.916 6179
+-122.834 43.916 6187
+-122.708 43.916 6193
+-122.582 43.916 6208
+-122.456 43.916 6186
+-122.33 43.916 6140
+-122.204 43.916 6111
+-122.078 43.916 6081
+-121.952 43.916 6022
+-121.826 43.916 5963
+-121.7 43.916 5924
+-121.574 43.916 5901
+-121.448 43.916 5830
+-121.322 43.916 5761
+-121.196 43.916 5725
+-121.07 43.916 5656
+-120.944 43.916 5707
+-120.818 43.916 5785
+-120.692 43.916 5870
+-120.566 43.916 5929
+-120.44 43.916 6015
+-120.314 43.916 6165
+-120.188 43.916 6180
+-120.062 43.916 6259
+-119.936 43.916 6332
+-119.81 43.916 6448
+-119.684 43.916 6541
+-119.558 43.916 6570
+-119.432 43.916 6617
+-119.306 43.916 6706
+-119.18 43.916 6749
+-119.054 43.916 6786
+-118.928 43.916 6840
+-118.802 43.916 6876
+-118.676 43.916 6894
+-118.55 43.916 6904
+-118.424 43.916 6920
+-118.298 43.916 6918
+-118.172 43.916 6934
+-118.046 43.916 6907
+-117.92 43.916 6873
+-117.794 43.916 6849
+-117.668 43.916 6801
+-117.542 43.916 6755
+-117.416 43.916 6695
+-117.29 43.916 6661
+-117.164 43.916 6607
+-117.038 43.916 6545
+-116.912 43.916 6485
+-116.786 43.916 6433
+-116.66 43.916 6338
+-116.534 43.916 6251
+-116.408 43.916 6175
+-116.282 43.916 6046
+-116.156 43.916 5970
+-116.03 43.916 5911
+-115.904 43.916 5804
+-115.778 43.916 5637
+-115.652 43.916 5647
+-115.526 43.916 5529
+-115.4 43.916 5377
+-115.274 43.916 5243
+-115.148 43.916 5138
+-115.022 43.916 5063
+-114.896 43.916 4962
+-114.77 43.916 4904
+-114.644 43.916 4822
+-114.518 43.916 4711
+-114.392 43.916 4611
+-114.266 43.916 4498
+-114.14 43.916 4336
+-114.014 43.916 4214
+-113.888 43.916 4230
+-113.762 43.916 4288
+-113.636 43.916 4223
+-113.51 43.916 4154
+-113.384 43.916 4087
+-113.258 43.916 4004
+-113.132 43.916 3919
+-113.006 43.916 3856
+-112.88 43.916 3810
+-112.754 43.916 3783
+-112.628 43.916 3744
+-112.502 43.916 3734
+-112.376 43.916 3727
+-112.25 43.916 3687
+-112.124 43.916 3668
+-111.998 43.916 3676
+-111.872 43.916 3692
+-111.746 43.916 3700
+-111.62 43.916 3707
+-111.494 43.916 3714
+-111.368 43.916 3675
+-111.242 43.916 3591
+-111.116 43.916 3533
+-110.99 43.916 3444
+-110.864 43.916 3455
+-110.738 43.916 3455
+-110.612 43.916 3350
+-110.486 43.916 3347
+-110.36 43.916 3334
+-110.234 43.916 3332
+-110.108 43.916 3293
+-109.982 43.916 3291
+-109.856 43.916 3289
+-109.73 43.916 3287
+-109.604 43.916 3285
+-109.478 43.916 3284
+-109.352 43.916 3283
+-109.226 43.916 3282
+-109.1 43.916 3282
+-108.974 43.916 3281
+-108.848 43.916 3281
+-108.722 43.916 3281
+-108.596 43.916 3281
+-108.47 43.916 3211
+-108.344 43.916 3212
+-108.218 43.916 3212
+-108.092 43.916 3212
+-107.966 43.916 3213
+-107.84 43.916 3213
+-107.714 43.916 3214
+-107.588 43.916 3076
+-107.462 43.916 3078
+-107.336 43.916 3080
+-107.21 43.916 2993
+-107.084 43.916 2994
+-106.958 43.916 2996
+-106.832 43.916 2998
+-106.706 43.916 3000
+-106.58 43.916 3002
+-106.454 43.916 3004
+-106.328 43.916 3005
+-106.202 43.916 3007
+-106.076 43.916 3009
+-105.95 43.916 3010
+-105.824 43.916 2879
+-105.698 43.916 2875
+-105.572 43.916 2871
+-105.446 43.916 2866
+-105.32 43.916 2861
+-105.194 43.916 2741
+-105.068 43.916 2732
+-104.942 43.916 2722
+-104.816 43.916 2652
+-104.69 43.916 2640
+-104.564 43.916 2560
+-104.438 43.916 2501
+-104.312 43.916 2339
+-104.186 43.916 2310
+-104.06 43.916 2324
+-103.934 43.916 2298
+-103.808 43.916 2398
+-103.682 43.916 2398
+-103.556 43.916 2442
+-103.43 43.916 2523
+-103.304 43.916 2624
+-103.178 43.916 2623
+-103.052 43.916 2709
+-102.926 43.916 2706
+-102.8 43.916 2704
+-102.674 43.916 2697
+-102.548 43.916 2855
+-102.422 43.916 2852
+-102.296 43.916 2849
+-102.17 43.916 2846
+-102.044 43.916 2830
+-101.918 43.916 2860
+-101.792 43.916 2865
+-101.666 43.916 2862
+-101.54 43.916 2906
+-101.414 43.916 2903
+-101.288 43.916 2876
+-101.162 43.916 2874
+-101.036 43.916 2873
+-100.91 43.916 2872
+-100.784 43.916 2871
+-100.658 43.916 2869
+-100.532 43.916 2918
+-100.406 43.916 2916
+-100.28 43.916 2915
+-100.154 43.916 2846
+-100.028 43.916 2846
+-99.902 43.916 2845
+-99.776 43.916 2850
+-99.65 43.916 2850
+-99.524 43.916 2850
+-99.398 43.916 2850
+-99.272 43.916 2850
+-99.146 43.916 2961
+-99.02 43.916 2961
+-98.894 43.916 2960
+-98.768 43.916 2958
+-98.642 43.916 2965
+-98.516 43.916 2972
+-98.39 43.916 2965
+-98.264 43.916 2940
+-98.138 43.916 2970
+-98.012 43.916 3153
+-97.886 43.916 3165
+-97.76 43.916 3156
+-97.634 43.916 3065
+-97.508 43.916 3059
+-97.382 43.916 3054
+-97.256 43.916 3049
+-97.13 43.916 3044
+-97.004 43.916 3040
+-96.878 43.916 3037
+-96.752 43.916 3028
+-96.626 43.916 3047
+-96.5 43.916 3049
+-96.374 43.916 3069
+-96.248 43.916 3065
+-96.122 43.916 3097
+-95.996 43.916 3057
+-95.87 43.916 3081
+-95.744 43.916 3096
+-95.618 43.916 3107
+-95.492 43.916 3134
+-95.366 43.916 3150
+-95.24 43.916 3166
+-95.114 43.916 3192
+-94.988 43.916 3202
+-94.862 43.916 3209
+-94.736 43.916 3257
+-94.61 43.916 3252
+-94.484 43.916 3241
+-94.358 43.916 3212
+-94.232 43.916 3220
+-94.106 43.916 3198
+-93.98 43.916 3183
+-93.854 43.916 3207
+-93.728 43.916 3230
+-93.602 43.916 3274
+-93.476 43.916 3317
+-93.35 43.916 3337
+-93.224 43.916 3365
+-93.098 43.916 3369
+-92.972 43.916 3376
+-92.846 43.916 3385
+-92.72 43.916 3387
+-92.594 43.916 3400
+-92.468 43.916 3449
+-92.342 43.916 3518
+-92.216 43.916 3568
+-92.09 43.916 3610
+-91.964 43.916 3668
+-91.838 43.916 3700
+-91.712 43.916 3763
+-91.586 43.916 3800
+-91.46 43.916 3828
+-91.334 43.916 3856
+-91.208 43.916 3852
+-91.082 43.916 3833
+-90.956 43.916 3871
+-90.83 43.916 3912
+-90.704 43.916 3929
+-90.578 43.916 3921
+-90.452 43.916 3910
+-90.326 43.916 3886
+-90.2 43.916 3860
+-90.074 43.916 3887
+-89.948 43.916 3891
+-89.822 43.916 3845
+-89.696 43.916 3796
+-89.57 43.916 3762
+-89.444 43.916 3750
+-89.318 43.916 3721
+-89.192 43.916 3686
+-89.066 43.916 3662
+-88.94 43.916 3607
+-88.814 43.916 3568
+-88.688 43.916 3549
+-88.562 43.916 3555
+-88.436 43.916 3552
+-88.31 43.916 3559
+-88.184 43.916 3559
+-88.058 43.916 3549
+-87.932 43.916 3510
+-87.806 43.916 3416
+-87.68 43.916 3389
+-87.554 43.916 3333
+-87.428 43.916 3311
+-87.302 43.916 3256
+-87.176 43.916 3146
+-87.05 43.916 3089
+-86.924 43.916 3003
+-86.798 43.916 2851
+-86.672 43.916 2778
+-86.546 43.916 2660
+-86.42 43.916 2575
+-86.294 43.916 2468
+-86.168 43.916 2412
+-86.042 43.916 2383
+-85.916 43.916 2328
+-85.79 43.916 2288
+-85.664 43.916 2220
+-85.538 43.916 2176
+-85.412 43.916 2150
+-85.286 43.916 2153
+-85.16 43.916 2183
+-85.034 43.916 2229
+-84.908 43.916 2266
+-84.782 43.916 2316
+-84.656 43.916 2363
+-84.53 43.916 2403
+-84.404 43.916 2441
+-84.278 43.916 2474
+-84.152 43.916 2503
+-84.026 43.916 2506
+-83.9 43.916 2525
+-83.774 43.916 2544
+-83.648 43.916 2561
+-83.522 43.916 2577
+-83.396 43.916 2589
+-83.27 43.916 2563
+-83.144 43.916 2632
+-83.018 43.916 2640
+-82.892 43.916 2653
+-82.766 43.916 2662
+-82.64 43.916 2671
+-82.514 43.916 2679
+-82.388 43.916 2697
+-82.262 43.916 2692
+-82.136 43.916 2735
+-82.01 43.916 2743
+-81.884 43.916 2744
+-81.758 43.916 2753
+-81.632 43.916 2760
+-81.506 43.916 2766
+-81.38 43.916 2763
+-81.254 43.916 2855
+-81.128 43.916 2861
+-81.002 43.916 2867
+-80.876 43.916 2872
+-80.75 43.916 2961
+-80.624 43.916 2929
+-80.498 43.916 3051
+-80.372 43.916 3056
+-80.246 43.916 3032
+-80.12 43.916 3036
+-79.994 43.916 3040
+-79.868 43.916 3043
+-79.742 43.916 3046
+-79.616 43.916 3050
+-79.49 43.916 3123
+-79.364 43.916 3122
+-79.238 43.916 3126
+-79.112 43.916 3130
+-78.986 43.916 3134
+-78.86 43.916 3089
+-78.734 43.916 3116
+-78.608 43.916 3120
+-78.482 43.916 3178
+-78.356 43.916 3109
+-78.23 43.916 3112
+-78.104 43.916 3116
+-77.978 43.916 3154
+-77.852 43.916 3119
+-77.726 43.916 3122
+-77.6 43.916 3126
+-77.474 43.916 3335
+-77.348 43.916 3290
+-77.222 43.916 3293
+-77.096 43.916 3415
+-76.97 43.916 3393
+-76.844 43.916 3396
+-76.718 43.916 3349
+-76.592 43.916 3421
+-76.466 43.916 3423
+-76.34 43.916 3425
+-76.214 43.916 3427
+-76.088 43.916 3429
+-75.962 43.916 3428
+-75.836 43.916 3430
+-75.71 43.916 3432
+-75.584 43.916 3421
+-75.458 43.916 3374
+-75.332 43.916 3369
+-75.206 43.916 3371
+-75.08 43.916 3373
+-74.954 43.916 3374
+-74.828 43.916 3376
+-74.702 43.916 3377
+-74.576 43.916 3379
+-74.45 43.916 3380
+-74.324 43.916 3381
+-74.198 43.916 3383
+-74.072 43.916 3384
+-73.946 43.916 3385
+-73.82 43.916 3386
+-73.694 43.916 3387
+-73.568 43.916 3389
+-73.442 43.916 3496
+-73.316 43.916 3497
+-73.19 43.916 3483
+-73.064 43.916 3484
+-72.938 43.916 3485
+-72.812 43.916 3486
+-72.686 43.916 3487
+-72.56 43.916 3487
+-72.434 43.916 3488
+-72.308 43.916 3489
+-72.182 43.916 3490
+-72.056 43.916 3491
+-71.93 43.916 3492
+-71.804 43.916 3526
+-71.678 43.916 3527
+-71.552 43.916 3528
+-71.426 43.916 3529
+-71.3 43.916 3530
+-71.174 43.916 3531
+-71.048 43.916 3492
+-70.922 43.916 3493
+-70.796 43.916 3494
+-70.67 43.916 3495
+-70.544 43.916 3529
+-70.418 43.916 3530
+-70.292 43.916 3532
+-70.166 43.916 3486
+-70.04 43.916 3487
+-69.914 43.916 3488
+-69.788 43.916 3625
+-69.662 43.916 3625
+-69.536 43.916 3626
+-69.41 43.916 3626
+-69.284 43.916 3626
+-69.158 43.916 3561
+-69.032 43.916 3561
+-68.906 43.916 3562
+-68.78 43.916 3562
+-68.654 43.916 3562
+-68.528 43.916 3562
+-68.402 43.916 3562
+-68.276 43.916 3563
+-68.15 43.916 3563
+-68.024 43.916 3563
+-67.898 43.916 3544
+-67.772 43.916 3531
+-67.646 43.916 3532
+-67.52 43.916 3532
+-67.394 43.916 3532
+-67.268 43.916 3532
+-67.142 43.916 3533
+-67.016 43.916 3514
+-66.89 43.916 3514
+-66.764 43.916 3514
+-66.638 43.916 3514
+-66.512 43.916 3515
+-66.386 43.916 3515
+-66.26 43.916 3515
+-66.134 43.916 3515
+-66.008 43.916 3463
+-65.882 43.916 3463
+-65.756 43.916 3464
+-65.63 43.916 3464
+-65.504 43.916 3464
+-65.378 43.916 3464
+-65.252 43.916 3464
+-65.126 43.916 3464
+-128 43.864 3535
+-127.874 43.864 3524
+-127.748 43.864 3506
+-127.622 43.864 3503
+-127.496 43.864 3579
+-127.37 43.864 3695
+-127.244 43.864 3789
+-127.118 43.864 3836
+-126.992 43.864 3860
+-126.866 43.864 3906
+-126.74 43.864 3961
+-126.614 43.864 4116
+-126.488 43.864 4380
+-126.362 43.864 4592
+-126.236 43.864 4853
+-126.11 43.864 4945
+-125.984 43.864 5067
+-125.858 43.864 5117
+-125.732 43.864 5127
+-125.606 43.864 5181
+-125.48 43.864 5225
+-125.354 43.864 5310
+-125.228 43.864 5423
+-125.102 43.864 5427
+-124.976 43.864 5514
+-124.85 43.864 5614
+-124.724 43.864 5683
+-124.598 43.864 5696
+-124.472 43.864 5788
+-124.346 43.864 5856
+-124.22 43.864 5918
+-124.094 43.864 5957
+-123.968 43.864 5966
+-123.842 43.864 6047
+-123.716 43.864 6075
+-123.59 43.864 6137
+-123.464 43.864 6169
+-123.338 43.864 6166
+-123.212 43.864 6168
+-123.086 43.864 6195
+-122.96 43.864 6157
+-122.834 43.864 6130
+-122.708 43.864 6137
+-122.582 43.864 6173
+-122.456 43.864 6114
+-122.33 43.864 6067
+-122.204 43.864 6034
+-122.078 43.864 6039
+-121.952 43.864 5990
+-121.826 43.864 5970
+-121.7 43.864 5899
+-121.574 43.864 5820
+-121.448 43.864 5754
+-121.322 43.864 5721
+-121.196 43.864 5647
+-121.07 43.864 5490
+-120.944 43.864 5632
+-120.818 43.864 5737
+-120.692 43.864 5802
+-120.566 43.864 5843
+-120.44 43.864 5977
+-120.314 43.864 6129
+-120.188 43.864 6191
+-120.062 43.864 6282
+-119.936 43.864 6338
+-119.81 43.864 6364
+-119.684 43.864 6475
+-119.558 43.864 6563
+-119.432 43.864 6593
+-119.306 43.864 6655
+-119.18 43.864 6708
+-119.054 43.864 6739
+-118.928 43.864 6783
+-118.802 43.864 6808
+-118.676 43.864 6834
+-118.55 43.864 6855
+-118.424 43.864 6876
+-118.298 43.864 6872
+-118.172 43.864 6846
+-118.046 43.864 6844
+-117.92 43.864 6818
+-117.794 43.864 6776
+-117.668 43.864 6751
+-117.542 43.864 6734
+-117.416 43.864 6651
+-117.29 43.864 6611
+-117.164 43.864 6564
+-117.038 43.864 6501
+-116.912 43.864 6429
+-116.786 43.864 6361
+-116.66 43.864 6252
+-116.534 43.864 6201
+-116.408 43.864 6139
+-116.282 43.864 6029
+-116.156 43.864 5931
+-116.03 43.864 5867
+-115.904 43.864 5783
+-115.778 43.864 5685
+-115.652 43.864 5584
+-115.526 43.864 5491
+-115.4 43.864 5352
+-115.274 43.864 5207
+-115.148 43.864 5141
+-115.022 43.864 5024
+-114.896 43.864 4866
+-114.77 43.864 4870
+-114.644 43.864 4779
+-114.518 43.864 4669
+-114.392 43.864 4524
+-114.266 43.864 4416
+-114.14 43.864 4232
+-114.014 43.864 4051
+-113.888 43.864 4161
+-113.762 43.864 4195
+-113.636 43.864 4171
+-113.51 43.864 4118
+-113.384 43.864 4065
+-113.258 43.864 3977
+-113.132 43.864 3884
+-113.006 43.864 3792
+-112.88 43.864 3733
+-112.754 43.864 3702
+-112.628 43.864 3680
+-112.502 43.864 3638
+-112.376 43.864 3646
+-112.25 43.864 3612
+-112.124 43.864 3633
+-111.998 43.864 3647
+-111.872 43.864 3659
+-111.746 43.864 3653
+-111.62 43.864 3662
+-111.494 43.864 3670
+-111.368 43.864 3631
+-111.242 43.864 3578
+-111.116 43.864 3490
+-110.99 43.864 3431
+-110.864 43.864 3331
+-110.738 43.864 3309
+-110.612 43.864 3307
+-110.486 43.864 3304
+-110.36 43.864 3302
+-110.234 43.864 3317
+-110.108 43.864 3316
+-109.982 43.864 3279
+-109.856 43.864 3277
+-109.73 43.864 3276
+-109.604 43.864 3275
+-109.478 43.864 3274
+-109.352 43.864 3273
+-109.226 43.864 3273
+-109.1 43.864 3273
+-108.974 43.864 3273
+-108.848 43.864 3273
+-108.722 43.864 3273
+-108.596 43.864 3273
+-108.47 43.864 3274
+-108.344 43.864 3205
+-108.218 43.864 3205
+-108.092 43.864 3206
+-107.966 43.864 3207
+-107.84 43.864 3207
+-107.714 43.864 3208
+-107.588 43.864 3012
+-107.462 43.864 3004
+-107.336 43.864 3005
+-107.21 43.864 3006
+-107.084 43.864 2987
+-106.958 43.864 2989
+-106.832 43.864 2991
+-106.706 43.864 2993
+-106.58 43.864 2995
+-106.454 43.864 2997
+-106.328 43.864 2999
+-106.202 43.864 3000
+-106.076 43.864 3002
+-105.95 43.864 3004
+-105.824 43.864 2870
+-105.698 43.864 2866
+-105.572 43.864 2862
+-105.446 43.864 2857
+-105.32 43.864 2739
+-105.194 43.864 2730
+-105.068 43.864 2721
+-104.942 43.864 2711
+-104.816 43.864 2641
+-104.69 43.864 2629
+-104.564 43.864 2549
+-104.438 43.864 2490
+-104.312 43.864 2330
+-104.186 43.864 2302
+-104.06 43.864 2316
+-103.934 43.864 2294
+-103.808 43.864 2296
+-103.682 43.864 2435
+-103.556 43.864 2525
+-103.43 43.864 2521
+-103.304 43.864 2622
+-103.178 43.864 2621
+-103.052 43.864 2706
+-102.926 43.864 2703
+-102.8 43.864 2700
+-102.674 43.864 2698
+-102.548 43.864 2692
+-102.422 43.864 2849
+-102.296 43.864 2846
+-102.17 43.864 2843
+-102.044 43.864 2839
+-101.918 43.864 2824
+-101.792 43.864 2853
+-101.666 43.864 2859
+-101.54 43.864 2856
+-101.414 43.864 2899
+-101.288 43.864 2896
+-101.162 43.864 2869
+-101.036 43.864 2868
+-100.91 43.864 2867
+-100.784 43.864 2865
+-100.658 43.864 2864
+-100.532 43.864 2863
+-100.406 43.864 2911
+-100.28 43.864 2909
+-100.154 43.864 2908
+-100.028 43.864 2840
+-99.902 43.864 2840
+-99.776 43.864 2839
+-99.65 43.864 2844
+-99.524 43.864 2844
+-99.398 43.864 2844
+-99.272 43.864 2844
+-99.146 43.864 2844
+-99.02 43.864 2953
+-98.894 43.864 2953
+-98.768 43.864 2952
+-98.642 43.864 2949
+-98.516 43.864 2949
+-98.39 43.864 2962
+-98.264 43.864 2955
+-98.138 43.864 2930
+-98.012 43.864 2959
+-97.886 43.864 3135
+-97.76 43.864 3145
+-97.634 43.864 3135
+-97.508 43.864 3047
+-97.382 43.864 3041
+-97.256 43.864 3034
+-97.13 43.864 3028
+-97.004 43.864 3023
+-96.878 43.864 3019
+-96.752 43.864 3016
+-96.626 43.864 3008
+-96.5 43.864 3026
+-96.374 43.864 3029
+-96.248 43.864 3050
+-96.122 43.864 3049
+-95.996 43.864 3083
+-95.87 43.864 3048
+-95.744 43.864 3074
+-95.618 43.864 3093
+-95.492 43.864 3107
+-95.366 43.864 3136
+-95.24 43.864 3154
+-95.114 43.864 3171
+-94.988 43.864 3196
+-94.862 43.864 3205
+-94.736 43.864 3209
+-94.61 43.864 3246
+-94.484 43.864 3231
+-94.358 43.864 3209
+-94.232 43.864 3169
+-94.106 43.864 3151
+-93.98 43.864 3114
+-93.854 43.864 3119
+-93.728 43.864 3165
+-93.602 43.864 3238
+-93.476 43.864 3309
+-93.35 43.864 3354
+-93.224 43.864 3367
+-93.098 43.864 3386
+-92.972 43.864 3399
+-92.846 43.864 3431
+-92.72 43.864 3451
+-92.594 43.864 3484
+-92.468 43.864 3533
+-92.342 43.864 3582
+-92.216 43.864 3662
+-92.09 43.864 3671
+-91.964 43.864 3724
+-91.838 43.864 3786
+-91.712 43.864 3848
+-91.586 43.864 3879
+-91.46 43.864 3909
+-91.334 43.864 3929
+-91.208 43.864 3920
+-91.082 43.864 3922
+-90.956 43.864 3948
+-90.83 43.864 3950
+-90.704 43.864 3940
+-90.578 43.864 3944
+-90.452 43.864 3946
+-90.326 43.864 3932
+-90.2 43.864 3919
+-90.074 43.864 3953
+-89.948 43.864 3952
+-89.822 43.864 3914
+-89.696 43.864 3874
+-89.57 43.864 3821
+-89.444 43.864 3801
+-89.318 43.864 3778
+-89.192 43.864 3766
+-89.066 43.864 3758
+-88.94 43.864 3718
+-88.814 43.864 3654
+-88.688 43.864 3588
+-88.562 43.864 3571
+-88.436 43.864 3579
+-88.31 43.864 3586
+-88.184 43.864 3581
+-88.058 43.864 3556
+-87.932 43.864 3501
+-87.806 43.864 3417
+-87.68 43.864 3354
+-87.554 43.864 3337
+-87.428 43.864 3340
+-87.302 43.864 3288
+-87.176 43.864 3213
+-87.05 43.864 3146
+-86.924 43.864 3095
+-86.798 43.864 3023
+-86.672 43.864 2912
+-86.546 43.864 2777
+-86.42 43.864 2668
+-86.294 43.864 2601
+-86.168 43.864 2559
+-86.042 43.864 2483
+-85.916 43.864 2444
+-85.79 43.864 2379
+-85.664 43.864 2341
+-85.538 43.864 2308
+-85.412 43.864 2289
+-85.286 43.864 2289
+-85.16 43.864 2307
+-85.034 43.864 2319
+-84.908 43.864 2354
+-84.782 43.864 2391
+-84.656 43.864 2424
+-84.53 43.864 2458
+-84.404 43.864 2489
+-84.278 43.864 2516
+-84.152 43.864 2517
+-84.026 43.864 2535
+-83.9 43.864 2554
+-83.774 43.864 2571
+-83.648 43.864 2585
+-83.522 43.864 2598
+-83.396 43.864 2570
+-83.27 43.864 2637
+-83.144 43.864 2646
+-83.018 43.864 2658
+-82.892 43.864 2667
+-82.766 43.864 2675
+-82.64 43.864 2683
+-82.514 43.864 2701
+-82.388 43.864 2696
+-82.262 43.864 2738
+-82.136 43.864 2746
+-82.01 43.864 2747
+-81.884 43.864 2756
+-81.758 43.864 2762
+-81.632 43.864 2768
+-81.506 43.864 2765
+-81.38 43.864 2856
+-81.254 43.864 2862
+-81.128 43.864 2868
+-81.002 43.864 2873
+-80.876 43.864 2961
+-80.75 43.864 2929
+-80.624 43.864 3049
+-80.498 43.864 3054
+-80.372 43.864 3030
+-80.246 43.864 3034
+-80.12 43.864 3038
+-79.994 43.864 3042
+-79.868 43.864 3045
+-79.742 43.864 3049
+-79.616 43.864 3121
+-79.49 43.864 3121
+-79.364 43.864 3125
+-79.238 43.864 3129
+-79.112 43.864 3133
+-78.986 43.864 3088
+-78.86 43.864 3115
+-78.734 43.864 3119
+-78.608 43.864 3177
+-78.482 43.864 3108
+-78.356 43.864 3112
+-78.23 43.864 3115
+-78.104 43.864 3153
+-77.978 43.864 3118
+-77.852 43.864 3122
+-77.726 43.864 3125
+-77.6 43.864 3333
+-77.474 43.864 3289
+-77.348 43.864 3291
+-77.222 43.864 3413
+-77.096 43.864 3391
+-76.97 43.864 3394
+-76.844 43.864 3348
+-76.718 43.864 3420
+-76.592 43.864 3421
+-76.466 43.864 3423
+-76.34 43.864 3426
+-76.214 43.864 3428
+-76.088 43.864 3427
+-75.962 43.864 3429
+-75.836 43.864 3431
+-75.71 43.864 3420
+-75.584 43.864 3373
+-75.458 43.864 3369
+-75.332 43.864 3370
+-75.206 43.864 3372
+-75.08 43.864 3373
+-74.954 43.864 3375
+-74.828 43.864 3376
+-74.702 43.864 3378
+-74.576 43.864 3379
+-74.45 43.864 3381
+-74.324 43.864 3382
+-74.198 43.864 3383
+-74.072 43.864 3385
+-73.946 43.864 3386
+-73.82 43.864 3387
+-73.694 43.864 3388
+-73.568 43.864 3495
+-73.442 43.864 3496
+-73.316 43.864 3482
+-73.19 43.864 3483
+-73.064 43.864 3484
+-72.938 43.864 3485
+-72.812 43.864 3486
+-72.686 43.864 3487
+-72.56 43.864 3488
+-72.434 43.864 3489
+-72.308 43.864 3490
+-72.182 43.864 3490
+-72.056 43.864 3491
+-71.93 43.864 3525
+-71.804 43.864 3526
+-71.678 43.864 3527
+-71.552 43.864 3528
+-71.426 43.864 3529
+-71.3 43.864 3530
+-71.174 43.864 3492
+-71.048 43.864 3493
+-70.922 43.864 3493
+-70.796 43.864 3494
+-70.67 43.864 3529
+-70.544 43.864 3530
+-70.418 43.864 3531
+-70.292 43.864 3486
+-70.166 43.864 3487
+-70.04 43.864 3488
+-69.914 43.864 3624
+-69.788 43.864 3625
+-69.662 43.864 3625
+-69.536 43.864 3626
+-69.41 43.864 3626
+-69.284 43.864 3561
+-69.158 43.864 3561
+-69.032 43.864 3561
+-68.906 43.864 3562
+-68.78 43.864 3562
+-68.654 43.864 3562
+-68.528 43.864 3562
+-68.402 43.864 3563
+-68.276 43.864 3563
+-68.15 43.864 3563
+-68.024 43.864 3544
+-67.898 43.864 3531
+-67.772 43.864 3531
+-67.646 43.864 3532
+-67.52 43.864 3532
+-67.394 43.864 3532
+-67.268 43.864 3514
+-67.142 43.864 3514
+-67.016 43.864 3514
+-66.89 43.864 3514
+-66.764 43.864 3514
+-66.638 43.864 3515
+-66.512 43.864 3515
+-66.386 43.864 3515
+-66.26 43.864 3515
+-66.134 43.864 3463
+-66.008 43.864 3463
+-65.882 43.864 3463
+-65.756 43.864 3464
+-65.63 43.864 3464
+-65.504 43.864 3464
+-65.378 43.864 3464
+-65.252 43.864 3464
+-65.126 43.864 3464
+-128 43.812 3489
+-127.874 43.812 3469
+-127.748 43.812 3442
+-127.622 43.812 3378
+-127.496 43.812 3528
+-127.37 43.812 3674
+-127.244 43.812 3767
+-127.118 43.812 3895
+-126.992 43.812 3875
+-126.866 43.812 3889
+-126.74 43.812 3936
+-126.614 43.812 4073
+-126.488 43.812 4274
+-126.362 43.812 4520
+-126.236 43.812 4741
+-126.11 43.812 4909
+-125.984 43.812 5021
+-125.858 43.812 5082
+-125.732 43.812 5111
+-125.606 43.812 5145
+-125.48 43.812 5154
+-125.354 43.812 5248
+-125.228 43.812 5293
+-125.102 43.812 5360
+-124.976 43.812 5458
+-124.85 43.812 5535
+-124.724 43.812 5623
+-124.598 43.812 5705
+-124.472 43.812 5749
+-124.346 43.812 5803
+-124.22 43.812 5852
+-124.094 43.812 5912
+-123.968 43.812 5912
+-123.842 43.812 5967
+-123.716 43.812 6000
+-123.59 43.812 6053
+-123.464 43.812 6105
+-123.338 43.812 6128
+-123.212 43.812 6091
+-123.086 43.812 6121
+-122.96 43.812 6096
+-122.834 43.812 6085
+-122.708 43.812 6108
+-122.582 43.812 6097
+-122.456 43.812 6054
+-122.33 43.812 6032
+-122.204 43.812 6017
+-122.078 43.812 5962
+-121.952 43.812 5948
+-121.826 43.812 5919
+-121.7 43.812 5843
+-121.574 43.812 5745
+-121.448 43.812 5703
+-121.322 43.812 5690
+-121.196 43.812 5577
+-121.07 43.812 5513
+-120.944 43.812 5598
+-120.818 43.812 5667
+-120.692 43.812 5775
+-120.566 43.812 5878
+-120.44 43.812 5950
+-120.314 43.812 6030
+-120.188 43.812 6117
+-120.062 43.812 6177
+-119.936 43.812 6242
+-119.81 43.812 6327
+-119.684 43.812 6409
+-119.558 43.812 6528
+-119.432 43.812 6551
+-119.306 43.812 6603
+-119.18 43.812 6659
+-119.054 43.812 6691
+-118.928 43.812 6732
+-118.802 43.812 6752
+-118.676 43.812 6760
+-118.55 43.812 6798
+-118.424 43.812 6809
+-118.298 43.812 6786
+-118.172 43.812 6803
+-118.046 43.812 6774
+-117.92 43.812 6740
+-117.794 43.812 6713
+-117.668 43.812 6666
+-117.542 43.812 6653
+-117.416 43.812 6627
+-117.29 43.812 6596
+-117.164 43.812 6471
+-117.038 43.812 6469
+-116.912 43.812 6402
+-116.786 43.812 6290
+-116.66 43.812 6227
+-116.534 43.812 6173
+-116.408 43.812 6072
+-116.282 43.812 5957
+-116.156 43.812 5892
+-116.03 43.812 5841
+-115.904 43.812 5737
+-115.778 43.812 5606
+-115.652 43.812 5484
+-115.526 43.812 5456
+-115.4 43.812 5309
+-115.274 43.812 5203
+-115.148 43.812 5107
+-115.022 43.812 4985
+-114.896 43.812 4884
+-114.77 43.812 4787
+-114.644 43.812 4710
+-114.518 43.812 4597
+-114.392 43.812 4456
+-114.266 43.812 4358
+-114.14 43.812 4290
+-114.014 43.812 4189
+-113.888 43.812 4173
+-113.762 43.812 4167
+-113.636 43.812 4142
+-113.51 43.812 4089
+-113.384 43.812 4009
+-113.258 43.812 3928
+-113.132 43.812 3816
+-113.006 43.812 3714
+-112.88 43.812 3629
+-112.754 43.812 3546
+-112.628 43.812 3535
+-112.502 43.812 3548
+-112.376 43.812 3572
+-112.25 43.812 3589
+-112.124 43.812 3589
+-111.998 43.812 3600
+-111.872 43.812 3617
+-111.746 43.812 3631
+-111.62 43.812 3643
+-111.494 43.812 3582
+-111.368 43.812 3530
+-111.242 43.812 3527
+-111.116 43.812 3424
+-110.99 43.812 3400
+-110.864 43.812 3312
+-110.738 43.812 3318
+-110.612 43.812 3290
+-110.486 43.812 3288
+-110.36 43.812 3286
+-110.234 43.812 3285
+-110.108 43.812 3301
+-109.982 43.812 3301
+-109.856 43.812 3265
+-109.73 43.812 3264
+-109.604 43.812 3263
+-109.478 43.812 3263
+-109.352 43.812 3263
+-109.226 43.812 3263
+-109.1 43.812 3263
+-108.974 43.812 3263
+-108.848 43.812 3264
+-108.722 43.812 3264
+-108.596 43.812 3265
+-108.47 43.812 3266
+-108.344 43.812 3267
+-108.218 43.812 3199
+-108.092 43.812 3200
+-107.966 43.812 3200
+-107.84 43.812 3201
+-107.714 43.812 3202
+-107.588 43.812 3203
+-107.462 43.812 3006
+-107.336 43.812 2998
+-107.21 43.812 2999
+-107.084 43.812 3001
+-106.958 43.812 2981
+-106.832 43.812 2983
+-106.706 43.812 2985
+-106.58 43.812 2988
+-106.454 43.812 2990
+-106.328 43.812 2992
+-106.202 43.812 2994
+-106.076 43.812 2996
+-105.95 43.812 2998
+-105.824 43.812 2861
+-105.698 43.812 2857
+-105.572 43.812 2853
+-105.446 43.812 2737
+-105.32 43.812 2728
+-105.194 43.812 2719
+-105.068 43.812 2710
+-104.942 43.812 2700
+-104.816 43.812 2630
+-104.69 43.812 2618
+-104.564 43.812 2538
+-104.438 43.812 2322
+-104.312 43.812 2321
+-104.186 43.812 2295
+-104.06 43.812 2296
+-103.934 43.812 2290
+-103.808 43.812 2293
+-103.682 43.812 2434
+-103.556 43.812 2524
+-103.43 43.812 2519
+-103.304 43.812 2620
+-103.178 43.812 2619
+-103.052 43.812 2703
+-102.926 43.812 2700
+-102.8 43.812 2697
+-102.674 43.812 2694
+-102.548 43.812 2691
+-102.422 43.812 2686
+-102.296 43.812 2843
+-102.17 43.812 2839
+-102.044 43.812 2836
+-101.918 43.812 2833
+-101.792 43.812 2818
+-101.666 43.812 2846
+-101.54 43.812 2852
+-101.414 43.812 2849
+-101.288 43.812 2891
+-101.162 43.812 2888
+-101.036 43.812 2863
+-100.91 43.812 2862
+-100.784 43.812 2860
+-100.658 43.812 2859
+-100.532 43.812 2858
+-100.406 43.812 2857
+-100.28 43.812 2904
+-100.154 43.812 2902
+-100.028 43.812 2900
+-99.902 43.812 2834
+-99.776 43.812 2833
+-99.65 43.812 2833
+-99.524 43.812 2838
+-99.398 43.812 2838
+-99.272 43.812 2838
+-99.146 43.812 2838
+-99.02 43.812 2838
+-98.894 43.812 2945
+-98.768 43.812 2945
+-98.642 43.812 2943
+-98.516 43.812 2940
+-98.39 43.812 2946
+-98.264 43.812 2951
+-98.138 43.812 2944
+-98.012 43.812 2919
+-97.886 43.812 2947
+-97.76 43.812 3114
+-97.634 43.812 3123
+-97.508 43.812 3111
+-97.382 43.812 3027
+-97.256 43.812 3019
+-97.13 43.812 3011
+-97.004 43.812 3005
+-96.878 43.812 2999
+-96.752 43.812 2994
+-96.626 43.812 2991
+-96.5 43.812 2985
+-96.374 43.812 3003
+-96.248 43.812 3008
+-96.122 43.812 3030
+-95.996 43.812 3033
+-95.87 43.812 3069
+-95.744 43.812 3040
+-95.618 43.812 3070
+-95.492 43.812 3092
+-95.366 43.812 3110
+-95.24 43.812 3141
+-95.114 43.812 3160
+-94.988 43.812 3178
+-94.862 43.812 3200
+-94.736 43.812 3206
+-94.61 43.812 3204
+-94.484 43.812 3225
+-94.358 43.812 3198
+-94.232 43.812 3156
+-94.106 43.812 3106
+-93.98 43.812 3030
+-93.854 43.812 2994
+-93.728 43.812 3070
+-93.602 43.812 3202
+-93.476 43.812 3302
+-93.35 43.812 3359
+-93.224 43.812 3369
+-93.098 43.812 3363
+-92.972 43.812 3402
+-92.846 43.812 3465
+-92.72 43.812 3501
+-92.594 43.812 3541
+-92.468 43.812 3605
+-92.342 43.812 3659
+-92.216 43.812 3706
+-92.09 43.812 3750
+-91.964 43.812 3807
+-91.838 43.812 3851
+-91.712 43.812 3897
+-91.586 43.812 3918
+-91.46 43.812 3944
+-91.334 43.812 3963
+-91.208 43.812 3980
+-91.082 43.812 3990
+-90.956 43.812 4005
+-90.83 43.812 4013
+-90.704 43.812 3985
+-90.578 43.812 3987
+-90.452 43.812 3992
+-90.326 43.812 3987
+-90.2 43.812 3981
+-90.074 43.812 3991
+-89.948 43.812 3985
+-89.822 43.812 3973
+-89.696 43.812 3930
+-89.57 43.812 3880
+-89.444 43.812 3850
+-89.318 43.812 3820
+-89.192 43.812 3794
+-89.066 43.812 3785
+-88.94 43.812 3763
+-88.814 43.812 3712
+-88.688 43.812 3676
+-88.562 43.812 3652
+-88.436 43.812 3657
+-88.31 43.812 3646
+-88.184 43.812 3607
+-88.058 43.812 3563
+-87.932 43.812 3475
+-87.806 43.812 3366
+-87.68 43.812 3291
+-87.554 43.812 3301
+-87.428 43.812 3337
+-87.302 43.812 3371
+-87.176 43.812 3360
+-87.05 43.812 3220
+-86.924 43.812 3174
+-86.798 43.812 3079
+-86.672 43.812 3006
+-86.546 43.812 2928
+-86.42 43.812 2838
+-86.294 43.812 2793
+-86.168 43.812 2693
+-86.042 43.812 2602
+-85.916 43.812 2528
+-85.79 43.812 2490
+-85.664 43.812 2457
+-85.538 43.812 2429
+-85.412 43.812 2415
+-85.286 43.812 2412
+-85.16 43.812 2400
+-85.034 43.812 2417
+-84.908 43.812 2440
+-84.782 43.812 2462
+-84.656 43.812 2489
+-84.53 43.812 2514
+-84.404 43.812 2537
+-84.278 43.812 2535
+-84.152 43.812 2551
+-84.026 43.812 2568
+-83.9 43.812 2584
+-83.774 43.812 2597
+-83.648 43.812 2608
+-83.522 43.812 2581
+-83.396 43.812 2645
+-83.27 43.812 2653
+-83.144 43.812 2665
+-83.018 43.812 2673
+-82.892 43.812 2681
+-82.766 43.812 2688
+-82.64 43.812 2705
+-82.514 43.812 2700
+-82.388 43.812 2742
+-82.262 43.812 2750
+-82.136 43.812 2750
+-82.01 43.812 2759
+-81.884 43.812 2766
+-81.758 43.812 2772
+-81.632 43.812 2768
+-81.506 43.812 2857
+-81.38 43.812 2863
+-81.254 43.812 2869
+-81.128 43.812 2875
+-81.002 43.812 2961
+-80.876 43.812 2930
+-80.75 43.812 3047
+-80.624 43.812 3052
+-80.498 43.812 3029
+-80.372 43.812 3033
+-80.246 43.812 3037
+-80.12 43.812 3040
+-79.994 43.812 3044
+-79.868 43.812 3047
+-79.742 43.812 3119
+-79.616 43.812 3119
+-79.49 43.812 3123
+-79.364 43.812 3127
+-79.238 43.812 3131
+-79.112 43.812 3088
+-78.986 43.812 3114
+-78.86 43.812 3118
+-78.734 43.812 3175
+-78.608 43.812 3107
+-78.482 43.812 3111
+-78.356 43.812 3114
+-78.23 43.812 3152
+-78.104 43.812 3117
+-77.978 43.812 3121
+-77.852 43.812 3124
+-77.726 43.812 3331
+-77.6 43.812 3287
+-77.474 43.812 3290
+-77.348 43.812 3411
+-77.222 43.812 3389
+-77.096 43.812 3392
+-76.97 43.812 3346
+-76.844 43.812 3418
+-76.718 43.812 3420
+-76.592 43.812 3422
+-76.466 43.812 3424
+-76.34 43.812 3427
+-76.214 43.812 3426
+-76.088 43.812 3428
+-75.962 43.812 3430
+-75.836 43.812 3419
+-75.71 43.812 3372
+-75.584 43.812 3368
+-75.458 43.812 3369
+-75.332 43.812 3371
+-75.206 43.812 3373
+-75.08 43.812 3374
+-74.954 43.812 3376
+-74.828 43.812 3377
+-74.702 43.812 3379
+-74.576 43.812 3380
+-74.45 43.812 3382
+-74.324 43.812 3383
+-74.198 43.812 3384
+-74.072 43.812 3385
+-73.946 43.812 3387
+-73.82 43.812 3388
+-73.694 43.812 3494
+-73.568 43.812 3495
+-73.442 43.812 3482
+-73.316 43.812 3483
+-73.19 43.812 3484
+-73.064 43.812 3485
+-72.938 43.812 3486
+-72.812 43.812 3486
+-72.686 43.812 3487
+-72.56 43.812 3488
+-72.434 43.812 3489
+-72.308 43.812 3490
+-72.182 43.812 3491
+-72.056 43.812 3524
+-71.93 43.812 3525
+-71.804 43.812 3527
+-71.678 43.812 3528
+-71.552 43.812 3529
+-71.426 43.812 3530
+-71.3 43.812 3491
+-71.174 43.812 3492
+-71.048 43.812 3493
+-70.922 43.812 3494
+-70.796 43.812 3528
+-70.67 43.812 3529
+-70.544 43.812 3531
+-70.418 43.812 3486
+-70.292 43.812 3487
+-70.166 43.812 3487
+-70.04 43.812 3624
+-69.914 43.812 3624
+-69.788 43.812 3625
+-69.662 43.812 3625
+-69.536 43.812 3626
+-69.41 43.812 3561
+-69.284 43.812 3561
+-69.158 43.812 3561
+-69.032 43.812 3561
+-68.906 43.812 3562
+-68.78 43.812 3562
+-68.654 43.812 3562
+-68.528 43.812 3562
+-68.402 43.812 3563
+-68.276 43.812 3563
+-68.15 43.812 3544
+-68.024 43.812 3531
+-67.898 43.812 3531
+-67.772 43.812 3532
+-67.646 43.812 3532
+-67.52 43.812 3532
+-67.394 43.812 3532
+-67.268 43.812 3514
+-67.142 43.812 3514
+-67.016 43.812 3514
+-66.89 43.812 3514
+-66.764 43.812 3514
+-66.638 43.812 3515
+-66.512 43.812 3515
+-66.386 43.812 3515
+-66.26 43.812 3463
+-66.134 43.812 3463
+-66.008 43.812 3463
+-65.882 43.812 3463
+-65.756 43.812 3464
+-65.63 43.812 3464
+-65.504 43.812 3464
+-65.378 43.812 3464
+-65.252 43.812 3464
+-65.126 43.812 3464
+-128 43.76 3439
+-127.874 43.76 3400
+-127.748 43.76 3380
+-127.622 43.76 3435
+-127.496 43.76 3546
+-127.37 43.76 3668
+-127.244 43.76 3670
+-127.118 43.76 3815
+-126.992 43.76 3958
+-126.866 43.76 3899
+-126.74 43.76 3902
+-126.614 43.76 4020
+-126.488 43.76 4259
+-126.362 43.76 4486
+-126.236 43.76 4713
+-126.11 43.76 4880
+-125.984 43.76 4984
+-125.858 43.76 5020
+-125.732 43.76 5022
+-125.606 43.76 5091
+-125.48 43.76 5135
+-125.354 43.76 5178
+-125.228 43.76 5259
+-125.102 43.76 5333
+-124.976 43.76 5435
+-124.85 43.76 5492
+-124.724 43.76 5542
+-124.598 43.76 5641
+-124.472 43.76 5720
+-124.346 43.76 5749
+-124.22 43.76 5776
+-124.094 43.76 5838
+-123.968 43.76 5883
+-123.842 43.76 5893
+-123.716 43.76 5925
+-123.59 43.76 5958
+-123.464 43.76 6026
+-123.338 43.76 6068
+-123.212 43.76 6084
+-123.086 43.76 6077
+-122.96 43.76 6027
+-122.834 43.76 6046
+-122.708 43.76 6048
+-122.582 43.76 6028
+-122.456 43.76 5989
+-122.33 43.76 5968
+-122.204 43.76 5959
+-122.078 43.76 5930
+-121.952 43.76 5906
+-121.826 43.76 5860
+-121.7 43.76 5777
+-121.574 43.76 5717
+-121.448 43.76 5716
+-121.322 43.76 5588
+-121.196 43.76 5396
+-121.07 43.76 5445
+-120.944 43.76 5575
+-120.818 43.76 5642
+-120.692 43.76 5751
+-120.566 43.76 5813
+-120.44 43.76 5904
+-120.314 43.76 5946
+-120.188 43.76 6082
+-120.062 43.76 6143
+-119.936 43.76 6266
+-119.81 43.76 6285
+-119.684 43.76 6418
+-119.558 43.76 6422
+-119.432 43.76 6474
+-119.306 43.76 6537
+-119.18 43.76 6626
+-119.054 43.76 6630
+-118.928 43.76 6682
+-118.802 43.76 6715
+-118.676 43.76 6732
+-118.55 43.76 6776
+-118.424 43.76 6755
+-118.298 43.76 6744
+-118.172 43.76 6721
+-118.046 43.76 6698
+-117.92 43.76 6683
+-117.794 43.76 6683
+-117.668 43.76 6649
+-117.542 43.76 6625
+-117.416 43.76 6587
+-117.29 43.76 6509
+-117.164 43.76 6481
+-117.038 43.76 6374
+-116.912 43.76 6336
+-116.786 43.76 6243
+-116.66 43.76 6162
+-116.534 43.76 6107
+-116.408 43.76 6023
+-116.282 43.76 5902
+-116.156 43.76 5874
+-116.03 43.76 5802
+-115.904 43.76 5690
+-115.778 43.76 5569
+-115.652 43.76 5524
+-115.526 43.76 5395
+-115.4 43.76 5253
+-115.274 43.76 5209
+-115.148 43.76 5071
+-115.022 43.76 4938
+-114.896 43.76 4877
+-114.77 43.76 4743
+-114.644 43.76 4668
+-114.518 43.76 4531
+-114.392 43.76 4413
+-114.266 43.76 4290
+-114.14 43.76 4300
+-114.014 43.76 4254
+-113.888 43.76 4178
+-113.762 43.76 4147
+-113.636 43.76 4102
+-113.51 43.76 4037
+-113.384 43.76 3953
+-113.258 43.76 3830
+-113.132 43.76 3683
+-113.006 43.76 3541
+-112.88 43.76 3443
+-112.754 43.76 3420
+-112.628 43.76 3450
+-112.502 43.76 3474
+-112.376 43.76 3512
+-112.25 43.76 3551
+-112.124 43.76 3570
+-111.998 43.76 3581
+-111.872 43.76 3594
+-111.746 43.76 3612
+-111.62 43.76 3548
+-111.494 43.76 3563
+-111.368 43.76 3478
+-111.242 43.76 3414
+-111.116 43.76 3415
+-110.99 43.76 3401
+-110.864 43.76 3377
+-110.738 43.76 3293
+-110.612 43.76 3265
+-110.486 43.76 3270
+-110.36 43.76 3270
+-110.234 43.76 3269
+-110.108 43.76 3269
+-109.982 43.76 3286
+-109.856 43.76 3286
+-109.73 43.76 3251
+-109.604 43.76 3251
+-109.478 43.76 3251
+-109.352 43.76 3252
+-109.226 43.76 3252
+-109.1 43.76 3253
+-108.974 43.76 3254
+-108.848 43.76 3254
+-108.722 43.76 3255
+-108.596 43.76 3256
+-108.47 43.76 3258
+-108.344 43.76 3259
+-108.218 43.76 3260
+-108.092 43.76 3193
+-107.966 43.76 3127
+-107.84 43.76 3127
+-107.714 43.76 3127
+-107.588 43.76 3127
+-107.462 43.76 3127
+-107.336 43.76 3000
+-107.21 43.76 2992
+-107.084 43.76 2994
+-106.958 43.76 2995
+-106.832 43.76 2976
+-106.706 43.76 2978
+-106.58 43.76 2980
+-106.454 43.76 2983
+-106.328 43.76 2985
+-106.202 43.76 2987
+-106.076 43.76 2989
+-105.95 43.76 2991
+-105.824 43.76 2849
+-105.698 43.76 2848
+-105.572 43.76 2735
+-105.446 43.76 2726
+-105.32 43.76 2718
+-105.194 43.76 2709
+-105.068 43.76 2699
+-104.942 43.76 2689
+-104.816 43.76 2619
+-104.69 43.76 2607
+-104.564 43.76 2527
+-104.438 43.76 2313
+-104.312 43.76 2312
+-104.186 43.76 2287
+-104.06 43.76 2289
+-103.934 43.76 2285
+-103.808 43.76 2260
+-103.682 43.76 2403
+-103.556 43.76 2514
+-103.43 43.76 2618
+-103.304 43.76 2617
+-103.178 43.76 2616
+-103.052 43.76 2699
+-102.926 43.76 2696
+-102.8 43.76 2693
+-102.674 43.76 2691
+-102.548 43.76 2688
+-102.422 43.76 2685
+-102.296 43.76 2681
+-102.17 43.76 2836
+-102.044 43.76 2833
+-101.918 43.76 2829
+-101.792 43.76 2826
+-101.666 43.76 2811
+-101.54 43.76 2839
+-101.414 43.76 2844
+-101.288 43.76 2841
+-101.162 43.76 2883
+-101.036 43.76 2880
+-100.91 43.76 2856
+-100.784 43.76 2855
+-100.658 43.76 2853
+-100.532 43.76 2852
+-100.406 43.76 2851
+-100.28 43.76 2850
+-100.154 43.76 2896
+-100.028 43.76 2894
+-99.902 43.76 2893
+-99.776 43.76 2827
+-99.65 43.76 2827
+-99.524 43.76 2826
+-99.398 43.76 2832
+-99.272 43.76 2832
+-99.146 43.76 2832
+-99.02 43.76 2831
+-98.894 43.76 2831
+-98.768 43.76 2936
+-98.642 43.76 2936
+-98.516 43.76 2933
+-98.39 43.76 2930
+-98.264 43.76 2928
+-98.138 43.76 2939
+-98.012 43.76 2931
+-97.886 43.76 2907
+-97.76 43.76 2932
+-97.634 43.76 3091
+-97.508 43.76 3097
+-97.382 43.76 3084
+-97.256 43.76 3002
+-97.13 43.76 2993
+-97.004 43.76 2984
+-96.878 43.76 2976
+-96.752 43.76 2970
+-96.626 43.76 2964
+-96.5 43.76 2961
+-96.374 43.76 2957
+-96.248 43.76 2976
+-96.122 43.76 2983
+-95.996 43.76 3008
+-95.87 43.76 3016
+-95.744 43.76 3056
+-95.618 43.76 3033
+-95.492 43.76 3067
+-95.366 43.76 3094
+-95.24 43.76 3115
+-95.114 43.76 3149
+-94.988 43.76 3169
+-94.862 43.76 3185
+-94.736 43.76 3204
+-94.61 43.76 3204
+-94.484 43.76 3193
+-94.358 43.76 3195
+-94.232 43.76 3149
+-94.106 43.76 3082
+-93.98 43.76 2989
+-93.854 43.76 2904
+-93.728 43.76 3016
+-93.602 43.76 3186
+-93.476 43.76 3312
+-93.35 43.76 3370
+-93.224 43.76 3364
+-93.098 43.76 3322
+-92.972 43.76 3402
+-92.846 43.76 3502
+-92.72 43.76 3561
+-92.594 43.76 3606
+-92.468 43.76 3668
+-92.342 43.76 3704
+-92.216 43.76 3740
+-92.09 43.76 3794
+-91.964 43.76 3852
+-91.838 43.76 3898
+-91.712 43.76 3919
+-91.586 43.76 3902
+-91.46 43.76 3965
+-91.334 43.76 3993
+-91.208 43.76 4022
+-91.082 43.76 4034
+-90.956 43.76 4051
+-90.83 43.76 4056
+-90.704 43.76 4050
+-90.578 43.76 4045
+-90.452 43.76 4057
+-90.326 43.76 4047
+-90.2 43.76 4021
+-90.074 43.76 4009
+-89.948 43.76 4023
+-89.822 43.76 4030
+-89.696 43.76 4019
+-89.57 43.76 3969
+-89.444 43.76 3926
+-89.318 43.76 3887
+-89.192 43.76 3829
+-89.066 43.76 3797
+-88.94 43.76 3789
+-88.814 43.76 3765
+-88.688 43.76 3739
+-88.562 43.76 3727
+-88.436 43.76 3717
+-88.31 43.76 3704
+-88.184 43.76 3663
+-88.058 43.76 3612
+-87.932 43.76 3500
+-87.806 43.76 3333
+-87.68 43.76 3239
+-87.554 43.76 3300
+-87.428 43.76 3369
+-87.302 43.76 3403
+-87.176 43.76 3410
+-87.05 43.76 3329
+-86.924 43.76 3273
+-86.798 43.76 3147
+-86.672 43.76 3122
+-86.546 43.76 3036
+-86.42 43.76 2969
+-86.294 43.76 2858
+-86.168 43.76 2801
+-86.042 43.76 2717
+-85.916 43.76 2677
+-85.79 43.76 2634
+-85.664 43.76 2606
+-85.538 43.76 2516
+-85.412 43.76 2502
+-85.286 43.76 2496
+-85.16 43.76 2499
+-85.034 43.76 2507
+-84.908 43.76 2517
+-84.782 43.76 2534
+-84.656 43.76 2551
+-84.53 43.76 2568
+-84.404 43.76 2561
+-84.278 43.76 2573
+-84.152 43.76 2588
+-84.026 43.76 2601
+-83.9 43.76 2613
+-83.774 43.76 2622
+-83.648 43.76 2593
+-83.522 43.76 2655
+-83.396 43.76 2662
+-83.27 43.76 2673
+-83.144 43.76 2681
+-83.018 43.76 2688
+-82.892 43.76 2694
+-82.766 43.76 2711
+-82.64 43.76 2706
+-82.514 43.76 2747
+-82.388 43.76 2754
+-82.262 43.76 2755
+-82.136 43.76 2763
+-82.01 43.76 2769
+-81.884 43.76 2775
+-81.758 43.76 2772
+-81.632 43.76 2859
+-81.506 43.76 2865
+-81.38 43.76 2871
+-81.254 43.76 2876
+-81.128 43.76 2962
+-81.002 43.76 2931
+-80.876 43.76 3045
+-80.75 43.76 3050
+-80.624 43.76 3027
+-80.498 43.76 3031
+-80.372 43.76 3035
+-80.246 43.76 3039
+-80.12 43.76 3043
+-79.994 43.76 3046
+-79.868 43.76 3117
+-79.742 43.76 3118
+-79.616 43.76 3122
+-79.49 43.76 3126
+-79.364 43.76 3130
+-79.238 43.76 3087
+-79.112 43.76 3113
+-78.986 43.76 3117
+-78.86 43.76 3173
+-78.734 43.76 3106
+-78.608 43.76 3110
+-78.482 43.76 3114
+-78.356 43.76 3151
+-78.23 43.76 3117
+-78.104 43.76 3120
+-77.978 43.76 3124
+-77.852 43.76 3329
+-77.726 43.76 3285
+-77.6 43.76 3288
+-77.474 43.76 3409
+-77.348 43.76 3388
+-77.222 43.76 3391
+-77.096 43.76 3345
+-76.97 43.76 3416
+-76.844 43.76 3418
+-76.718 43.76 3421
+-76.592 43.76 3423
+-76.466 43.76 3425
+-76.34 43.76 3424
+-76.214 43.76 3426
+-76.088 43.76 3429
+-75.962 43.76 3418
+-75.836 43.76 3371
+-75.71 43.76 3367
+-75.584 43.76 3369
+-75.458 43.76 3370
+-75.332 43.76 3372
+-75.206 43.76 3374
+-75.08 43.76 3375
+-74.954 43.76 3377
+-74.828 43.76 3378
+-74.702 43.76 3380
+-74.576 43.76 3381
+-74.45 43.76 3382
+-74.324 43.76 3384
+-74.198 43.76 3385
+-74.072 43.76 3386
+-73.946 43.76 3387
+-73.82 43.76 3493
+-73.694 43.76 3495
+-73.568 43.76 3481
+-73.442 43.76 3482
+-73.316 43.76 3483
+-73.19 43.76 3484
+-73.064 43.76 3485
+-72.938 43.76 3486
+-72.812 43.76 3487
+-72.686 43.76 3488
+-72.56 43.76 3489
+-72.434 43.76 3490
+-72.308 43.76 3490
+-72.182 43.76 3524
+-72.056 43.76 3525
+-71.93 43.76 3526
+-71.804 43.76 3527
+-71.678 43.76 3528
+-71.552 43.76 3529
+-71.426 43.76 3491
+-71.3 43.76 3492
+-71.174 43.76 3493
+-71.048 43.76 3494
+-70.922 43.76 3528
+-70.796 43.76 3529
+-70.67 43.76 3530
+-70.544 43.76 3485
+-70.418 43.76 3486
+-70.292 43.76 3487
+-70.166 43.76 3624
+-70.04 43.76 3624
+-69.914 43.76 3624
+-69.788 43.76 3625
+-69.662 43.76 3625
+-69.536 43.76 3560
+-69.41 43.76 3561
+-69.284 43.76 3561
+-69.158 43.76 3561
+-69.032 43.76 3561
+-68.906 43.76 3562
+-68.78 43.76 3562
+-68.654 43.76 3562
+-68.528 43.76 3562
+-68.402 43.76 3563
+-68.276 43.76 3544
+-68.15 43.76 3531
+-68.024 43.76 3531
+-67.898 43.76 3531
+-67.772 43.76 3532
+-67.646 43.76 3532
+-67.52 43.76 3513
+-67.394 43.76 3513
+-67.268 43.76 3514
+-67.142 43.76 3514
+-67.016 43.76 3514
+-66.89 43.76 3514
+-66.764 43.76 3514
+-66.638 43.76 3515
+-66.512 43.76 3515
+-66.386 43.76 3463
+-66.26 43.76 3463
+-66.134 43.76 3463
+-66.008 43.76 3463
+-65.882 43.76 3463
+-65.756 43.76 3464
+-65.63 43.76 3464
+-65.504 43.76 3464
+-65.378 43.76 3464
+-65.252 43.76 3464
+-65.126 43.76 3464
+-128 43.708 3398
+-127.874 43.708 3334
+-127.748 43.708 3259
+-127.622 43.708 3386
+-127.496 43.708 3538
+-127.37 43.708 3653
+-127.244 43.708 3717
+-127.118 43.708 3785
+-126.992 43.708 3859
+-126.866 43.708 3876
+-126.74 43.708 3905
+-126.614 43.708 3997
+-126.488 43.708 4255
+-126.362 43.708 4438
+-126.236 43.708 4654
+-126.11 43.708 4820
+-125.984 43.708 4922
+-125.858 43.708 4954
+-125.732 43.708 4910
+-125.606 43.708 5031
+-125.48 43.708 5068
+-125.354 43.708 5114
+-125.228 43.708 5193
+-125.102 43.708 5291
+-124.976 43.708 5381
+-124.85 43.708 5418
+-124.724 43.708 5480
+-124.598 43.708 5596
+-124.472 43.708 5665
+-124.346 43.708 5723
+-124.22 43.708 5778
+-124.094 43.708 5809
+-123.968 43.708 5819
+-123.842 43.708 5862
+-123.716 43.708 5868
+-123.59 43.708 5961
+-123.464 43.708 5921
+-123.338 43.708 5964
+-123.212 43.708 5997
+-123.086 43.708 6021
+-122.96 43.708 6032
+-122.834 43.708 6025
+-122.708 43.708 5986
+-122.582 43.708 5981
+-122.456 43.708 5951
+-122.33 43.708 5929
+-122.204 43.708 5890
+-122.078 43.708 5873
+-121.952 43.708 5856
+-121.826 43.708 5804
+-121.7 43.708 5717
+-121.574 43.708 5659
+-121.448 43.708 5595
+-121.322 43.708 5539
+-121.196 43.708 5465
+-121.07 43.708 5470
+-120.944 43.708 5524
+-120.818 43.708 5588
+-120.692 43.708 5685
+-120.566 43.708 5778
+-120.44 43.708 5845
+-120.314 43.708 5944
+-120.188 43.708 6053
+-120.062 43.708 6131
+-119.936 43.708 6196
+-119.81 43.708 6230
+-119.684 43.708 6323
+-119.558 43.708 6367
+-119.432 43.708 6429
+-119.306 43.708 6502
+-119.18 43.708 6538
+-119.054 43.708 6589
+-118.928 43.708 6617
+-118.802 43.708 6670
+-118.676 43.708 6702
+-118.55 43.708 6705
+-118.424 43.708 6676
+-118.298 43.708 6672
+-118.172 43.708 6657
+-118.046 43.708 6700
+-117.92 43.708 6652
+-117.794 43.708 6634
+-117.668 43.708 6605
+-117.542 43.708 6543
+-117.416 43.708 6536
+-117.29 43.708 6499
+-117.164 43.708 6422
+-117.038 43.708 6331
+-116.912 43.708 6243
+-116.786 43.708 6166
+-116.66 43.708 6095
+-116.534 43.708 6054
+-116.408 43.708 5986
+-116.282 43.708 5893
+-116.156 43.708 5845
+-116.03 43.708 5786
+-115.904 43.708 5621
+-115.778 43.708 5495
+-115.652 43.708 5515
+-115.526 43.708 5402
+-115.4 43.708 5275
+-115.274 43.708 5152
+-115.148 43.708 5040
+-115.022 43.708 4893
+-114.896 43.708 4803
+-114.77 43.708 4719
+-114.644 43.708 4588
+-114.518 43.708 4461
+-114.392 43.708 4416
+-114.266 43.708 4305
+-114.14 43.708 4230
+-114.014 43.708 4220
+-113.888 43.708 4172
+-113.762 43.708 4122
+-113.636 43.708 4061
+-113.51 43.708 3981
+-113.384 43.708 3879
+-113.258 43.708 3712
+-113.132 43.708 3512
+-113.006 43.708 3349
+-112.88 43.708 3256
+-112.754 43.708 3255
+-112.628 43.708 3325
+-112.502 43.708 3411
+-112.376 43.708 3462
+-112.25 43.708 3509
+-112.124 43.708 3551
+-111.998 43.708 3571
+-111.872 43.708 3554
+-111.746 43.708 3518
+-111.62 43.708 3529
+-111.494 43.708 3449
+-111.368 43.708 3450
+-111.242 43.708 3389
+-111.116 43.708 3391
+-110.99 43.708 3378
+-110.864 43.708 3324
+-110.738 43.708 3325
+-110.612 43.708 3238
+-110.486 43.708 3246
+-110.36 43.708 3219
+-110.234 43.708 3219
+-110.108 43.708 3218
+-109.982 43.708 3218
+-109.856 43.708 3270
+-109.73 43.708 3272
+-109.604 43.708 3238
+-109.478 43.708 3239
+-109.352 43.708 3240
+-109.226 43.708 3241
+-109.1 43.708 3242
+-108.974 43.708 3243
+-108.848 43.708 3245
+-108.722 43.708 3246
+-108.596 43.708 3247
+-108.47 43.708 3249
+-108.344 43.708 3250
+-108.218 43.708 3252
+-108.092 43.708 3119
+-107.966 43.708 3119
+-107.84 43.708 3119
+-107.714 43.708 3120
+-107.588 43.708 3120
+-107.462 43.708 3120
+-107.336 43.708 3121
+-107.21 43.708 2994
+-107.084 43.708 2986
+-106.958 43.708 2988
+-106.832 43.708 2987
+-106.706 43.708 2971
+-106.58 43.708 2973
+-106.454 43.708 2975
+-106.328 43.708 2978
+-106.202 43.708 2980
+-106.076 43.708 2982
+-105.95 43.708 2985
+-105.824 43.708 2841
+-105.698 43.708 2732
+-105.572 43.708 2724
+-105.446 43.708 2716
+-105.32 43.708 2707
+-105.194 43.708 2698
+-105.068 43.708 2688
+-104.942 43.708 2678
+-104.816 43.708 2608
+-104.69 43.708 2596
+-104.564 43.708 2515
+-104.438 43.708 2303
+-104.312 43.708 2267
+-104.186 43.708 2279
+-104.06 43.708 2107
+-103.934 43.708 2196
+-103.808 43.708 2299
+-103.682 43.708 2344
+-103.556 43.708 2479
+-103.43 43.708 2582
+-103.304 43.708 2615
+-103.178 43.708 2614
+-103.052 43.708 2696
+-102.926 43.708 2693
+-102.8 43.708 2690
+-102.674 43.708 2687
+-102.548 43.708 2684
+-102.422 43.708 2681
+-102.296 43.708 2678
+-102.17 43.708 2675
+-102.044 43.708 2829
+-101.918 43.708 2825
+-101.792 43.708 2822
+-101.666 43.708 2818
+-101.54 43.708 2804
+-101.414 43.708 2832
+-101.288 43.708 2837
+-101.162 43.708 2834
+-101.036 43.708 2875
+-100.91 43.708 2871
+-100.784 43.708 2849
+-100.658 43.708 2848
+-100.532 43.708 2846
+-100.406 43.708 2845
+-100.28 43.708 2844
+-100.154 43.708 2842
+-100.028 43.708 2888
+-99.902 43.708 2886
+-99.776 43.708 2885
+-99.65 43.708 2821
+-99.524 43.708 2820
+-99.398 43.708 2820
+-99.272 43.708 2825
+-99.146 43.708 2825
+-99.02 43.708 2825
+-98.894 43.708 2824
+-98.768 43.708 2824
+-98.642 43.708 2926
+-98.516 43.708 2926
+-98.39 43.708 2922
+-98.264 43.708 2919
+-98.138 43.708 2923
+-98.012 43.708 2925
+-97.886 43.708 2917
+-97.76 43.708 2892
+-97.634 43.708 2915
+-97.508 43.708 3065
+-97.382 43.708 3068
+-97.256 43.708 3053
+-97.13 43.708 2974
+-97.004 43.708 2963
+-96.878 43.708 2952
+-96.752 43.708 2943
+-96.626 43.708 2935
+-96.5 43.708 2929
+-96.374 43.708 2926
+-96.248 43.708 2925
+-96.122 43.708 2945
+-95.996 43.708 2956
+-95.87 43.708 2985
+-95.744 43.708 3000
+-95.618 43.708 3045
+-95.492 43.708 3030
+-95.366 43.708 3070
+-95.24 43.708 3101
+-95.114 43.708 3125
+-94.988 43.708 3161
+-94.862 43.708 3180
+-94.736 43.708 3193
+-94.61 43.708 3207
+-94.484 43.708 3199
+-94.358 43.708 3177
+-94.232 43.708 3159
+-94.106 43.708 3102
+-93.98 43.708 3049
+-93.854 43.708 3022
+-93.728 43.708 3079
+-93.602 43.708 3210
+-93.476 43.708 3335
+-93.35 43.708 3395
+-93.224 43.708 3415
+-93.098 43.708 3408
+-92.972 43.708 3493
+-92.846 43.708 3575
+-92.72 43.708 3609
+-92.594 43.708 3649
+-92.468 43.708 3724
+-92.342 43.708 3772
+-92.216 43.708 3777
+-92.09 43.708 3832
+-91.964 43.708 3888
+-91.838 43.708 3934
+-91.712 43.708 3947
+-91.586 43.708 3956
+-91.46 43.708 3994
+-91.334 43.708 4036
+-91.208 43.708 4035
+-91.082 43.708 4065
+-90.956 43.708 4096
+-90.83 43.708 4082
+-90.704 43.708 4090
+-90.578 43.708 4103
+-90.452 43.708 4110
+-90.326 43.708 4117
+-90.2 43.708 4118
+-90.074 43.708 4105
+-89.948 43.708 4128
+-89.822 43.708 4141
+-89.696 43.708 4116
+-89.57 43.708 4090
+-89.444 43.708 4050
+-89.318 43.708 3997
+-89.192 43.708 3933
+-89.066 43.708 3887
+-88.94 43.708 3864
+-88.814 43.708 3814
+-88.688 43.708 3776
+-88.562 43.708 3765
+-88.436 43.708 3758
+-88.31 43.708 3751
+-88.184 43.708 3724
+-88.058 43.708 3652
+-87.932 43.708 3557
+-87.806 43.708 3408
+-87.68 43.708 3328
+-87.554 43.708 3366
+-87.428 43.708 3435
+-87.302 43.708 3439
+-87.176 43.708 3443
+-87.05 43.708 3382
+-86.924 43.708 3334
+-86.798 43.708 3309
+-86.672 43.708 3244
+-86.546 43.708 3129
+-86.42 43.708 3076
+-86.294 43.708 2946
+-86.168 43.708 2900
+-86.042 43.708 2814
+-85.916 43.708 2766
+-85.79 43.708 2735
+-85.664 43.708 2676
+-85.538 43.708 2655
+-85.412 43.708 2640
+-85.286 43.708 2630
+-85.16 43.708 2629
+-85.034 43.708 2585
+-84.908 43.708 2590
+-84.782 43.708 2599
+-84.656 43.708 2608
+-84.53 43.708 2635
+-84.404 43.708 2602
+-84.278 43.708 2613
+-84.152 43.708 2623
+-84.026 43.708 2632
+-83.9 43.708 2683
+-83.774 43.708 2654
+-83.648 43.708 2667
+-83.522 43.708 2673
+-83.396 43.708 2683
+-83.27 43.708 2690
+-83.144 43.708 2696
+-83.018 43.708 2702
+-82.892 43.708 2717
+-82.766 43.708 2712
+-82.64 43.708 2752
+-82.514 43.708 2759
+-82.388 43.708 2759
+-82.262 43.708 2768
+-82.136 43.708 2774
+-82.01 43.708 2779
+-81.884 43.708 2776
+-81.758 43.708 2861
+-81.632 43.708 2867
+-81.506 43.708 2873
+-81.38 43.708 2878
+-81.254 43.708 2962
+-81.128 43.708 2932
+-81.002 43.708 3042
+-80.876 43.708 3047
+-80.75 43.708 3026
+-80.624 43.708 3030
+-80.498 43.708 3034
+-80.372 43.708 3038
+-80.246 43.708 3042
+-80.12 43.708 3045
+-79.994 43.708 3115
+-79.868 43.708 3116
+-79.742 43.708 3120
+-79.616 43.708 3125
+-79.49 43.708 3129
+-79.364 43.708 3086
+-79.238 43.708 3112
+-79.112 43.708 3116
+-78.986 43.708 3172
+-78.86 43.708 3105
+-78.734 43.708 3109
+-78.608 43.708 3113
+-78.482 43.708 3150
+-78.356 43.708 3116
+-78.23 43.708 3120
+-78.104 43.708 3123
+-77.978 43.708 3326
+-77.852 43.708 3283
+-77.726 43.708 3286
+-77.6 43.708 3406
+-77.474 43.708 3386
+-77.348 43.708 3389
+-77.222 43.708 3343
+-77.096 43.708 3415
+-76.97 43.708 3417
+-76.844 43.708 3419
+-76.718 43.708 3422
+-76.592 43.708 3424
+-76.466 43.708 3423
+-76.34 43.708 3425
+-76.214 43.708 3427
+-76.088 43.708 3417
+-75.962 43.708 3370
+-75.836 43.708 3366
+-75.71 43.708 3368
+-75.584 43.708 3369
+-75.458 43.708 3371
+-75.332 43.708 3373
+-75.206 43.708 3374
+-75.08 43.708 3376
+-74.954 43.708 3378
+-74.828 43.708 3379
+-74.702 43.708 3380
+-74.576 43.708 3382
+-74.45 43.708 3383
+-74.324 43.708 3385
+-74.198 43.708 3386
+-74.072 43.708 3387
+-73.946 43.708 3493
+-73.82 43.708 3494
+-73.694 43.708 3480
+-73.568 43.708 3481
+-73.442 43.708 3482
+-73.316 43.708 3483
+-73.19 43.708 3484
+-73.064 43.708 3485
+-72.938 43.708 3486
+-72.812 43.708 3487
+-72.686 43.708 3488
+-72.56 43.708 3489
+-72.434 43.708 3490
+-72.308 43.708 3523
+-72.182 43.708 3524
+-72.056 43.708 3525
+-71.93 43.708 3527
+-71.804 43.708 3528
+-71.678 43.708 3529
+-71.552 43.708 3491
+-71.426 43.708 3492
+-71.3 43.708 3492
+-71.174 43.708 3493
+-71.048 43.708 3527
+-70.922 43.708 3528
+-70.796 43.708 3530
+-70.67 43.708 3485
+-70.544 43.708 3486
+-70.418 43.708 3487
+-70.292 43.708 3623
+-70.166 43.708 3624
+-70.04 43.708 3624
+-69.914 43.708 3624
+-69.788 43.708 3625
+-69.662 43.708 3560
+-69.536 43.708 3560
+-69.41 43.708 3561
+-69.284 43.708 3561
+-69.158 43.708 3561
+-69.032 43.708 3561
+-68.906 43.708 3562
+-68.78 43.708 3562
+-68.654 43.708 3562
+-68.528 43.708 3562
+-68.402 43.708 3543
+-68.276 43.708 3531
+-68.15 43.708 3531
+-68.024 43.708 3531
+-67.898 43.708 3531
+-67.772 43.708 3532
+-67.646 43.708 3532
+-67.52 43.708 3513
+-67.394 43.708 3514
+-67.268 43.708 3514
+-67.142 43.708 3514
+-67.016 43.708 3514
+-66.89 43.708 3514
+-66.764 43.708 3514
+-66.638 43.708 3515
+-66.512 43.708 3463
+-66.386 43.708 3463
+-66.26 43.708 3463
+-66.134 43.708 3463
+-66.008 43.708 3463
+-65.882 43.708 3463
+-65.756 43.708 3464
+-65.63 43.708 3464
+-65.504 43.708 3464
+-65.378 43.708 3464
+-65.252 43.708 3464
+-65.126 43.708 3464
+-128 43.656 3362
+-127.874 43.656 3305
+-127.748 43.656 3274
+-127.622 43.656 3358
+-127.496 43.656 3508
+-127.37 43.656 3628
+-127.244 43.656 3717
+-127.118 43.656 3741
+-126.992 43.656 3915
+-126.866 43.656 3856
+-126.74 43.656 3903
+-126.614 43.656 4010
+-126.488 43.656 4196
+-126.362 43.656 4411
+-126.236 43.656 4599
+-126.11 43.656 4767
+-125.984 43.656 4869
+-125.858 43.656 4914
+-125.732 43.656 4910
+-125.606 43.656 4998
+-125.48 43.656 5086
+-125.354 43.656 5135
+-125.228 43.656 5198
+-125.102 43.656 5223
+-124.976 43.656 5311
+-124.85 43.656 5400
+-124.724 43.656 5464
+-124.598 43.656 5525
+-124.472 43.656 5596
+-124.346 43.656 5653
+-124.22 43.656 5691
+-124.094 43.656 5744
+-123.968 43.656 5782
+-123.842 43.656 5833
+-123.716 43.656 5873
+-123.59 43.656 5859
+-123.464 43.656 5849
+-123.338 43.656 5868
+-123.212 43.656 5908
+-123.086 43.656 5914
+-122.96 43.656 5949
+-122.834 43.656 5975
+-122.708 43.656 5959
+-122.582 43.656 5929
+-122.456 43.656 5896
+-122.33 43.656 5895
+-122.204 43.656 5833
+-122.078 43.656 5833
+-121.952 43.656 5772
+-121.826 43.656 5745
+-121.7 43.656 5659
+-121.574 43.656 5600
+-121.448 43.656 5573
+-121.322 43.656 5563
+-121.196 43.656 5280
+-121.07 43.656 5423
+-120.944 43.656 5465
+-120.818 43.656 5521
+-120.692 43.656 5664
+-120.566 43.656 5749
+-120.44 43.656 5813
+-120.314 43.656 5931
+-120.188 43.656 6002
+-120.062 43.656 6100
+-119.936 43.656 6191
+-119.81 43.656 6228
+-119.684 43.656 6269
+-119.558 43.656 6366
+-119.432 43.656 6414
+-119.306 43.656 6494
+-119.18 43.656 6474
+-119.054 43.656 6521
+-118.928 43.656 6585
+-118.802 43.656 6600
+-118.676 43.656 6639
+-118.55 43.656 6640
+-118.424 43.656 6649
+-118.298 43.656 6658
+-118.172 43.656 6616
+-118.046 43.656 6623
+-117.92 43.656 6599
+-117.794 43.656 6586
+-117.668 43.656 6568
+-117.542 43.656 6524
+-117.416 43.656 6473
+-117.29 43.656 6430
+-117.164 43.656 6338
+-117.038 43.656 6257
+-116.912 43.656 6206
+-116.786 43.656 6121
+-116.66 43.656 6098
+-116.534 43.656 5999
+-116.408 43.656 5958
+-116.282 43.656 5862
+-116.156 43.656 5801
+-116.03 43.656 5731
+-115.904 43.656 5601
+-115.778 43.656 5514
+-115.652 43.656 5491
+-115.526 43.656 5388
+-115.4 43.656 5228
+-115.274 43.656 5100
+-115.148 43.656 4972
+-115.022 43.656 4838
+-114.896 43.656 4748
+-114.77 43.656 4677
+-114.644 43.656 4564
+-114.518 43.656 4475
+-114.392 43.656 4378
+-114.266 43.656 4245
+-114.14 43.656 4127
+-114.014 43.656 4166
+-113.888 43.656 4152
+-113.762 43.656 4084
+-113.636 43.656 4008
+-113.51 43.656 3915
+-113.384 43.656 3769
+-113.258 43.656 3584
+-113.132 43.656 3380
+-113.006 43.656 3138
+-112.88 43.656 3008
+-112.754 43.656 3081
+-112.628 43.656 3221
+-112.502 43.656 3341
+-112.376 43.656 3437
+-112.25 43.656 3483
+-112.124 43.656 3501
+-111.998 43.656 3489
+-111.872 43.656 3472
+-111.746 43.656 3479
+-111.62 43.656 3406
+-111.494 43.656 3407
+-111.368 43.656 3408
+-111.242 43.656 3344
+-111.116 43.656 3331
+-110.99 43.656 3332
+-110.864 43.656 3332
+-110.738 43.656 3302
+-110.612 43.656 3304
+-110.486 43.656 3220
+-110.36 43.656 3227
+-110.234 43.656 3202
+-110.108 43.656 3202
+-109.982 43.656 3203
+-109.856 43.656 3204
+-109.73 43.656 3256
+-109.604 43.656 3258
+-109.478 43.656 3226
+-109.352 43.656 3227
+-109.226 43.656 3229
+-109.1 43.656 3231
+-108.974 43.656 3232
+-108.848 43.656 3234
+-108.722 43.656 3236
+-108.596 43.656 3238
+-108.47 43.656 3240
+-108.344 43.656 3242
+-108.218 43.656 3109
+-108.092 43.656 3110
+-107.966 43.656 3111
+-107.84 43.656 3111
+-107.714 43.656 3112
+-107.588 43.656 3112
+-107.462 43.656 3113
+-107.336 43.656 3114
+-107.21 43.656 3114
+-107.084 43.656 2988
+-106.958 43.656 2981
+-106.832 43.656 2983
+-106.706 43.656 2896
+-106.58 43.656 2966
+-106.454 43.656 2968
+-106.328 43.656 2971
+-106.202 43.656 2973
+-106.076 43.656 2976
+-105.95 43.656 2978
+-105.824 43.656 2729
+-105.698 43.656 2721
+-105.572 43.656 2713
+-105.446 43.656 2705
+-105.32 43.656 2696
+-105.194 43.656 2687
+-105.068 43.656 2677
+-104.942 43.656 2667
+-104.816 43.656 2596
+-104.69 43.656 2446
+-104.564 43.656 2504
+-104.438 43.656 2294
+-104.312 43.656 2237
+-104.186 43.656 2271
+-104.06 43.656 2102
+-103.934 43.656 2193
+-103.808 43.656 2296
+-103.682 43.656 2342
+-103.556 43.656 2423
+-103.43 43.656 2572
+-103.304 43.656 2579
+-103.178 43.656 2571
+-103.052 43.656 2693
+-102.926 43.656 2689
+-102.8 43.656 2686
+-102.674 43.656 2683
+-102.548 43.656 2680
+-102.422 43.656 2677
+-102.296 43.656 2674
+-102.17 43.656 2670
+-102.044 43.656 2669
+-101.918 43.656 2822
+-101.792 43.656 2818
+-101.666 43.656 2814
+-101.54 43.656 2811
+-101.414 43.656 2796
+-101.288 43.656 2824
+-101.162 43.656 2829
+-101.036 43.656 2826
+-100.91 43.656 2866
+-100.784 43.656 2862
+-100.658 43.656 2841
+-100.532 43.656 2840
+-100.406 43.656 2839
+-100.28 43.656 2837
+-100.154 43.656 2836
+-100.028 43.656 2835
+-99.902 43.656 2880
+-99.776 43.656 2878
+-99.65 43.656 2876
+-99.524 43.656 2814
+-99.398 43.656 2813
+-99.272 43.656 2813
+-99.146 43.656 2818
+-99.02 43.656 2818
+-98.894 43.656 2818
+-98.768 43.656 2817
+-98.642 43.656 2816
+-98.516 43.656 2916
+-98.39 43.656 2915
+-98.264 43.656 2911
+-98.138 43.656 2906
+-98.012 43.656 2902
+-97.886 43.656 2910
+-97.76 43.656 2901
+-97.634 43.656 2876
+-97.508 43.656 2895
+-97.382 43.656 3035
+-97.256 43.656 3034
+-97.13 43.656 3016
+-97.004 43.656 2940
+-96.878 43.656 2926
+-96.752 43.656 2914
+-96.626 43.656 2902
+-96.5 43.656 2893
+-96.374 43.656 2887
+-96.248 43.656 2885
+-96.122 43.656 2886
+-95.996 43.656 2910
+-95.87 43.656 2927
+-95.744 43.656 2963
+-95.618 43.656 2986
+-95.492 43.656 3039
+-95.366 43.656 3032
+-95.24 43.656 3078
+-95.114 43.656 3113
+-94.988 43.656 3140
+-94.862 43.656 3176
+-94.736 43.656 3194
+-94.61 43.656 3204
+-94.484 43.656 3211
+-94.358 43.656 3195
+-94.232 43.656 3183
+-94.106 43.656 3134
+-93.98 43.656 3084
+-93.854 43.656 3042
+-93.728 43.656 3111
+-93.602 43.656 3262
+-93.476 43.656 3384
+-93.35 43.656 3441
+-93.224 43.656 3451
+-93.098 43.656 3486
+-92.972 43.656 3567
+-92.846 43.656 3600
+-92.72 43.656 3648
+-92.594 43.656 3722
+-92.468 43.656 3752
+-92.342 43.656 3814
+-92.216 43.656 3869
+-92.09 43.656 3924
+-91.964 43.656 3972
+-91.838 43.656 3999
+-91.712 43.656 4022
+-91.586 43.656 4030
+-91.46 43.656 4058
+-91.334 43.656 4094
+-91.208 43.656 4071
+-91.082 43.656 4101
+-90.956 43.656 4151
+-90.83 43.656 4132
+-90.704 43.656 4146
+-90.578 43.656 4168
+-90.452 43.656 4194
+-90.326 43.656 4208
+-90.2 43.656 4211
+-90.074 43.656 4204
+-89.948 43.656 4216
+-89.822 43.656 4199
+-89.696 43.656 4184
+-89.57 43.656 4152
+-89.444 43.656 4129
+-89.318 43.656 4094
+-89.192 43.656 4043
+-89.066 43.656 3991
+-88.94 43.656 3923
+-88.814 43.656 3862
+-88.688 43.656 3795
+-88.562 43.656 3763
+-88.436 43.656 3783
+-88.31 43.656 3793
+-88.184 43.656 3774
+-88.058 43.656 3720
+-87.932 43.656 3658
+-87.806 43.656 3563
+-87.68 43.656 3498
+-87.554 43.656 3481
+-87.428 43.656 3504
+-87.302 43.656 3521
+-87.176 43.656 3528
+-87.05 43.656 3519
+-86.924 43.656 3451
+-86.798 43.656 3324
+-86.672 43.656 3268
+-86.546 43.656 3186
+-86.42 43.656 3136
+-86.294 43.656 3094
+-86.168 43.656 3040
+-86.042 43.656 2957
+-85.916 43.656 2815
+-85.79 43.656 2787
+-85.664 43.656 2761
+-85.538 43.656 2739
+-85.412 43.656 2721
+-85.286 43.656 2714
+-85.16 43.656 2701
+-85.034 43.656 2698
+-84.908 43.656 2697
+-84.782 43.656 2656
+-84.656 43.656 2674
+-84.53 43.656 2680
+-84.404 43.656 2686
+-84.278 43.656 2649
+-84.152 43.656 2655
+-84.026 43.656 2702
+-83.9 43.656 2670
+-83.774 43.656 2682
+-83.648 43.656 2685
+-83.522 43.656 2694
+-83.396 43.656 2700
+-83.27 43.656 2705
+-83.144 43.656 2710
+-83.018 43.656 2725
+-82.892 43.656 2719
+-82.766 43.656 2758
+-82.64 43.656 2765
+-82.514 43.656 2765
+-82.388 43.656 2773
+-82.262 43.656 2778
+-82.136 43.656 2784
+-82.01 43.656 2780
+-81.884 43.656 2863
+-81.758 43.656 2869
+-81.632 43.656 2875
+-81.506 43.656 2880
+-81.38 43.656 2963
+-81.254 43.656 2932
+-81.128 43.656 3040
+-81.002 43.656 3045
+-80.876 43.656 3024
+-80.75 43.656 3029
+-80.624 43.656 3033
+-80.498 43.656 3037
+-80.372 43.656 3041
+-80.246 43.656 3044
+-80.12 43.656 3114
+-79.994 43.656 3114
+-79.868 43.656 3119
+-79.742 43.656 3123
+-79.616 43.656 3128
+-79.49 43.656 3085
+-79.364 43.656 3110
+-79.238 43.656 3115
+-79.112 43.656 3170
+-78.986 43.656 3104
+-78.86 43.656 3108
+-78.734 43.656 3112
+-78.608 43.656 3149
+-78.482 43.656 3116
+-78.356 43.656 3119
+-78.23 43.656 3123
+-78.104 43.656 3324
+-77.978 43.656 3282
+-77.852 43.656 3285
+-77.726 43.656 3404
+-77.6 43.656 3384
+-77.474 43.656 3387
+-77.348 43.656 3342
+-77.222 43.656 3413
+-77.096 43.656 3415
+-76.97 43.656 3418
+-76.844 43.656 3420
+-76.718 43.656 3423
+-76.592 43.656 3422
+-76.466 43.656 3424
+-76.34 43.656 3426
+-76.214 43.656 3416
+-76.088 43.656 3369
+-75.962 43.656 3365
+-75.836 43.656 3367
+-75.71 43.656 3369
+-75.584 43.656 3370
+-75.458 43.656 3372
+-75.332 43.656 3374
+-75.206 43.656 3375
+-75.08 43.656 3377
+-74.954 43.656 3378
+-74.828 43.656 3380
+-74.702 43.656 3381
+-74.576 43.656 3383
+-74.45 43.656 3384
+-74.324 43.656 3385
+-74.198 43.656 3387
+-74.072 43.656 3492
+-73.946 43.656 3493
+-73.82 43.656 3480
+-73.694 43.656 3481
+-73.568 43.656 3482
+-73.442 43.656 3483
+-73.316 43.656 3484
+-73.19 43.656 3485
+-73.064 43.656 3486
+-72.938 43.656 3487
+-72.812 43.656 3488
+-72.686 43.656 3489
+-72.56 43.656 3490
+-72.434 43.656 3522
+-72.308 43.656 3524
+-72.182 43.656 3525
+-72.056 43.656 3526
+-71.93 43.656 3527
+-71.804 43.656 3528
+-71.678 43.656 3490
+-71.552 43.656 3491
+-71.426 43.656 3492
+-71.3 43.656 3493
+-71.174 43.656 3527
+-71.048 43.656 3528
+-70.922 43.656 3529
+-70.796 43.656 3485
+-70.67 43.656 3485
+-70.544 43.656 3486
+-70.418 43.656 3623
+-70.292 43.656 3623
+-70.166 43.656 3624
+-70.04 43.656 3624
+-69.914 43.656 3625
+-69.788 43.656 3560
+-69.662 43.656 3560
+-69.536 43.656 3560
+-69.41 43.656 3561
+-69.284 43.656 3561
+-69.158 43.656 3561
+-69.032 43.656 3561
+-68.906 43.656 3562
+-68.78 43.656 3562
+-68.654 43.656 3562
+-68.528 43.656 3543
+-68.402 43.656 3530
+-68.276 43.656 3531
+-68.15 43.656 3531
+-68.024 43.656 3531
+-67.898 43.656 3531
+-67.772 43.656 3513
+-67.646 43.656 3513
+-67.52 43.656 3513
+-67.394 43.656 3514
+-67.268 43.656 3514
+-67.142 43.656 3514
+-67.016 43.656 3514
+-66.89 43.656 3514
+-66.764 43.656 3514
+-66.638 43.656 3463
+-66.512 43.656 3463
+-66.386 43.656 3463
+-66.26 43.656 3463
+-66.134 43.656 3463
+-66.008 43.656 3463
+-65.882 43.656 3463
+-65.756 43.656 3464
+-65.63 43.656 3464
+-65.504 43.656 3464
+-65.378 43.656 3464
+-65.252 43.656 3464
+-65.126 43.656 3464
+-128 43.604 3338
+-127.874 43.604 3246
+-127.748 43.604 3128
+-127.622 43.604 3291
+-127.496 43.604 3470
+-127.37 43.604 3580
+-127.244 43.604 3671
+-127.118 43.604 3741
+-126.992 43.604 3810
+-126.866 43.604 3831
+-126.74 43.604 3859
+-126.614 43.604 3986
+-126.488 43.604 4239
+-126.362 43.604 4357
+-126.236 43.604 4544
+-126.11 43.604 4726
+-125.984 43.604 4817
+-125.858 43.604 4854
+-125.732 43.604 4789
+-125.606 43.604 4910
+-125.48 43.604 5048
+-125.354 43.604 5121
+-125.228 43.604 5179
+-125.102 43.604 5214
+-124.976 43.604 5270
+-124.85 43.604 5327
+-124.724 43.604 5398
+-124.598 43.604 5456
+-124.472 43.604 5540
+-124.346 43.604 5593
+-124.22 43.604 5635
+-124.094 43.604 5687
+-123.968 43.604 5721
+-123.842 43.604 5723
+-123.716 43.604 5781
+-123.59 43.604 5815
+-123.464 43.604 5794
+-123.338 43.604 5798
+-123.212 43.604 5830
+-123.086 43.604 5857
+-122.96 43.604 5871
+-122.834 43.604 5881
+-122.708 43.604 5871
+-122.582 43.604 5835
+-122.456 43.604 5814
+-122.33 43.604 5812
+-122.204 43.604 5790
+-122.078 43.604 5781
+-121.952 43.604 5755
+-121.826 43.604 5697
+-121.7 43.604 5622
+-121.574 43.604 5559
+-121.448 43.604 5521
+-121.322 43.604 5498
+-121.196 43.604 5397
+-121.07 43.604 5368
+-120.944 43.604 5408
+-120.818 43.604 5522
+-120.692 43.604 5625
+-120.566 43.604 5714
+-120.44 43.604 5795
+-120.314 43.604 5912
+-120.188 43.604 5992
+-120.062 43.604 6025
+-119.936 43.604 6127
+-119.81 43.604 6170
+-119.684 43.604 6222
+-119.558 43.604 6297
+-119.432 43.604 6359
+-119.306 43.604 6383
+-119.18 43.604 6445
+-119.054 43.604 6483
+-118.928 43.604 6500
+-118.802 43.604 6537
+-118.676 43.604 6559
+-118.55 43.604 6585
+-118.424 43.604 6584
+-118.298 43.604 6584
+-118.172 43.604 6582
+-118.046 43.604 6567
+-117.92 43.604 6541
+-117.794 43.604 6551
+-117.668 43.604 6508
+-117.542 43.604 6466
+-117.416 43.604 6411
+-117.29 43.604 6347
+-117.164 43.604 6281
+-117.038 43.604 6241
+-116.912 43.604 6167
+-116.786 43.604 6123
+-116.66 43.604 6014
+-116.534 43.604 5974
+-116.408 43.604 5902
+-116.282 43.604 5813
+-116.156 43.604 5726
+-116.03 43.604 5678
+-115.904 43.604 5592
+-115.778 43.604 5520
+-115.652 43.604 5440
+-115.526 43.604 5320
+-115.4 43.604 5210
+-115.274 43.604 5085
+-115.148 43.604 4942
+-115.022 43.604 4782
+-114.896 43.604 4745
+-114.77 43.604 4661
+-114.644 43.604 4547
+-114.518 43.604 4409
+-114.392 43.604 4299
+-114.266 43.604 4209
+-114.14 43.604 4176
+-114.014 43.604 4153
+-113.888 43.604 4116
+-113.762 43.604 4027
+-113.636 43.604 3933
+-113.51 43.604 3777
+-113.384 43.604 3657
+-113.258 43.604 3521
+-113.132 43.604 3314
+-113.006 43.604 3031
+-112.88 43.604 2880
+-112.754 43.604 2993
+-112.628 43.604 3180
+-112.502 43.604 3305
+-112.376 43.604 3407
+-112.25 43.604 3429
+-112.124 43.604 3443
+-111.998 43.604 3471
+-111.872 43.604 3405
+-111.746 43.604 3382
+-111.62 43.604 3385
+-111.494 43.604 3387
+-111.368 43.604 3388
+-111.242 43.604 3320
+-111.116 43.604 3321
+-110.99 43.604 3309
+-110.864 43.604 3309
+-110.738 43.604 3310
+-110.612 43.604 3281
+-110.486 43.604 3283
+-110.36 43.604 3202
+-110.234 43.604 3209
+-110.108 43.604 3185
+-109.982 43.604 3187
+-109.856 43.604 3188
+-109.73 43.604 3190
+-109.604 43.604 3243
+-109.478 43.604 3246
+-109.352 43.604 3214
+-109.226 43.604 3216
+-109.1 43.604 3219
+-108.974 43.604 3221
+-108.848 43.604 3223
+-108.722 43.604 3226
+-108.596 43.604 3228
+-108.47 43.604 3231
+-108.344 43.604 3233
+-108.218 43.604 3235
+-108.092 43.604 3101
+-107.966 43.604 3102
+-107.84 43.604 3103
+-107.714 43.604 3104
+-107.588 43.604 3105
+-107.462 43.604 3106
+-107.336 43.604 3107
+-107.21 43.604 3107
+-107.084 43.604 3108
+-106.958 43.604 2983
+-106.832 43.604 2976
+-106.706 43.604 2888
+-106.58 43.604 2890
+-106.454 43.604 2892
+-106.328 43.604 2894
+-106.202 43.604 2896
+-106.076 43.604 2898
+-105.95 43.604 2900
+-105.824 43.604 2718
+-105.698 43.604 2710
+-105.572 43.604 2702
+-105.446 43.604 2694
+-105.32 43.604 2685
+-105.194 43.604 2676
+-105.068 43.604 2666
+-104.942 43.604 2655
+-104.816 43.604 2585
+-104.69 43.604 2412
+-104.564 43.604 2492
+-104.438 43.604 2284
+-104.312 43.604 2228
+-104.186 43.604 2263
+-104.06 43.604 2086
+-103.934 43.604 2081
+-103.808 43.604 2293
+-103.682 43.604 2408
+-103.556 43.604 2422
+-103.43 43.604 2512
+-103.304 43.604 2568
+-103.178 43.604 2649
+-103.052 43.604 2646
+-102.926 43.604 2686
+-102.8 43.604 2683
+-102.674 43.604 2679
+-102.548 43.604 2676
+-102.422 43.604 2673
+-102.296 43.604 2669
+-102.17 43.604 2666
+-102.044 43.604 2663
+-101.918 43.604 2662
+-101.792 43.604 2814
+-101.666 43.604 2810
+-101.54 43.604 2806
+-101.414 43.604 2802
+-101.288 43.604 2789
+-101.162 43.604 2815
+-101.036 43.604 2820
+-100.91 43.604 2817
+-100.784 43.604 2857
+-100.658 43.604 2853
+-100.532 43.604 2834
+-100.406 43.604 2832
+-100.28 43.604 2831
+-100.154 43.604 2829
+-100.028 43.604 2828
+-99.902 43.604 2827
+-99.776 43.604 2871
+-99.65 43.604 2870
+-99.524 43.604 2868
+-99.398 43.604 2806
+-99.272 43.604 2806
+-99.146 43.604 2805
+-99.02 43.604 2811
+-98.894 43.604 2810
+-98.768 43.604 2810
+-98.642 43.604 2809
+-98.516 43.604 2808
+-98.39 43.604 2905
+-98.264 43.604 2903
+-98.138 43.604 2898
+-98.012 43.604 2893
+-97.886 43.604 2894
+-97.76 43.604 2893
+-97.634 43.604 2882
+-97.508 43.604 2856
+-97.382 43.604 2872
+-97.256 43.604 3000
+-97.13 43.604 2994
+-97.004 43.604 2973
+-96.878 43.604 2899
+-96.752 43.604 2882
+-96.626 43.604 2866
+-96.5 43.604 2852
+-96.374 43.604 2841
+-96.248 43.604 2835
+-96.122 43.604 2835
+-95.996 43.604 2842
+-95.87 43.604 2872
+-95.744 43.604 2899
+-95.618 43.604 2944
+-95.492 43.604 2978
+-95.366 43.604 3040
+-95.24 43.604 3042
+-95.114 43.604 3093
+-94.988 43.604 3132
+-94.862 43.604 3184
+-94.736 43.604 3196
+-94.61 43.604 3212
+-94.484 43.604 3217
+-94.358 43.604 3221
+-94.232 43.604 3200
+-94.106 43.604 3181
+-93.98 43.604 3144
+-93.854 43.604 3119
+-93.728 43.604 3201
+-93.602 43.604 3336
+-93.476 43.604 3426
+-93.35 43.604 3458
+-93.224 43.604 3434
+-93.098 43.604 3501
+-92.972 43.604 3596
+-92.846 43.604 3631
+-92.72 43.604 3705
+-92.594 43.604 3754
+-92.468 43.604 3777
+-92.342 43.604 3846
+-92.216 43.604 3910
+-92.09 43.604 3970
+-91.964 43.604 4030
+-91.838 43.604 4058
+-91.712 43.604 4071
+-91.586 43.604 4075
+-91.46 43.604 4079
+-91.334 43.604 4090
+-91.208 43.604 4103
+-91.082 43.604 4126
+-90.956 43.604 4147
+-90.83 43.604 4169
+-90.704 43.604 4202
+-90.578 43.604 4244
+-90.452 43.604 4271
+-90.326 43.604 4292
+-90.2 43.604 4288
+-90.074 43.604 4289
+-89.948 43.604 4269
+-89.822 43.604 4268
+-89.696 43.604 4251
+-89.57 43.604 4212
+-89.444 43.604 4183
+-89.318 43.604 4172
+-89.192 43.604 4131
+-89.066 43.604 4083
+-88.94 43.604 4019
+-88.814 43.604 3940
+-88.688 43.604 3857
+-88.562 43.604 3814
+-88.436 43.604 3822
+-88.31 43.604 3818
+-88.184 43.604 3795
+-88.058 43.604 3754
+-87.932 43.604 3727
+-87.806 43.604 3672
+-87.68 43.604 3637
+-87.554 43.604 3613
+-87.428 43.604 3572
+-87.302 43.604 3567
+-87.176 43.604 3573
+-87.05 43.604 3555
+-86.924 43.604 3444
+-86.798 43.604 3402
+-86.672 43.604 3331
+-86.546 43.604 3288
+-86.42 43.604 3168
+-86.294 43.604 3134
+-86.168 43.604 3054
+-86.042 43.604 2980
+-85.916 43.604 2951
+-85.79 43.604 2923
+-85.664 43.604 2897
+-85.538 43.604 2874
+-85.412 43.604 2781
+-85.286 43.604 2776
+-85.16 43.604 2765
+-85.034 43.604 2757
+-84.908 43.604 2719
+-84.782 43.604 2718
+-84.656 43.604 2718
+-84.53 43.604 2719
+-84.404 43.604 2717
+-84.278 43.604 2720
+-84.152 43.604 2723
+-84.026 43.604 2689
+-83.9 43.604 2698
+-83.774 43.604 2700
+-83.648 43.604 2707
+-83.522 43.604 2711
+-83.396 43.604 2715
+-83.27 43.604 2720
+-83.144 43.604 2733
+-83.018 43.604 2727
+-82.892 43.604 2765
+-82.766 43.604 2771
+-82.64 43.604 2771
+-82.514 43.604 2778
+-82.388 43.604 2784
+-82.262 43.604 2789
+-82.136 43.604 2785
+-82.01 43.604 2866
+-81.884 43.604 2872
+-81.758 43.604 2877
+-81.632 43.604 2883
+-81.506 43.604 2964
+-81.38 43.604 2934
+-81.254 43.604 3038
+-81.128 43.604 3043
+-81.002 43.604 3023
+-80.876 43.604 3027
+-80.75 43.604 3031
+-80.624 43.604 3036
+-80.498 43.604 3040
+-80.372 43.604 3043
+-80.246 43.604 3112
+-80.12 43.604 3113
+-79.994 43.604 3118
+-79.868 43.604 3122
+-79.742 43.604 3126
+-79.616 43.604 3084
+-79.49 43.604 3109
+-79.364 43.604 3114
+-79.238 43.604 3169
+-79.112 43.604 3104
+-78.986 43.604 3108
+-78.86 43.604 3112
+-78.734 43.604 3148
+-78.608 43.604 3115
+-78.482 43.604 3119
+-78.356 43.604 3123
+-78.23 43.604 3322
+-78.104 43.604 3280
+-77.978 43.604 3283
+-77.852 43.604 3402
+-77.726 43.604 3382
+-77.6 43.604 3385
+-77.474 43.604 3340
+-77.348 43.604 3412
+-77.222 43.604 3414
+-77.096 43.604 3416
+-76.97 43.604 3419
+-76.844 43.604 3421
+-76.718 43.604 3420
+-76.592 43.604 3423
+-76.466 43.604 3425
+-76.34 43.604 3414
+-76.214 43.604 3368
+-76.088 43.604 3364
+-75.962 43.604 3366
+-75.836 43.604 3368
+-75.71 43.604 3370
+-75.584 43.604 3371
+-75.458 43.604 3373
+-75.332 43.604 3375
+-75.206 43.604 3376
+-75.08 43.604 3378
+-74.954 43.604 3379
+-74.828 43.604 3381
+-74.702 43.604 3382
+-74.576 43.604 3384
+-74.45 43.604 3385
+-74.324 43.604 3386
+-74.198 43.604 3491
+-74.072 43.604 3492
+-73.946 43.604 3479
+-73.82 43.604 3480
+-73.694 43.604 3481
+-73.568 43.604 3482
+-73.442 43.604 3483
+-73.316 43.604 3484
+-73.19 43.604 3485
+-73.064 43.604 3486
+-72.938 43.604 3487
+-72.812 43.604 3488
+-72.686 43.604 3489
+-72.56 43.604 3522
+-72.434 43.604 3523
+-72.308 43.604 3524
+-72.182 43.604 3525
+-72.056 43.604 3527
+-71.93 43.604 3528
+-71.804 43.604 3490
+-71.678 43.604 3491
+-71.552 43.604 3492
+-71.426 43.604 3493
+-71.3 43.604 3526
+-71.174 43.604 3527
+-71.048 43.604 3529
+-70.922 43.604 3484
+-70.796 43.604 3485
+-70.67 43.604 3486
+-70.544 43.604 3622
+-70.418 43.604 3623
+-70.292 43.604 3623
+-70.166 43.604 3624
+-70.04 43.604 3624
+-69.914 43.604 3560
+-69.788 43.604 3560
+-69.662 43.604 3560
+-69.536 43.604 3560
+-69.41 43.604 3561
+-69.284 43.604 3561
+-69.158 43.604 3561
+-69.032 43.604 3561
+-68.906 43.604 3562
+-68.78 43.604 3562
+-68.654 43.604 3543
+-68.528 43.604 3530
+-68.402 43.604 3530
+-68.276 43.604 3531
+-68.15 43.604 3531
+-68.024 43.604 3531
+-67.898 43.604 3531
+-67.772 43.604 3513
+-67.646 43.604 3513
+-67.52 43.604 3513
+-67.394 43.604 3514
+-67.268 43.604 3514
+-67.142 43.604 3514
+-67.016 43.604 3514
+-66.89 43.604 3514
+-66.764 43.604 3462
+-66.638 43.604 3463
+-66.512 43.604 3463
+-66.386 43.604 3463
+-66.26 43.604 3463
+-66.134 43.604 3463
+-66.008 43.604 3463
+-65.882 43.604 3463
+-65.756 43.604 3464
+-65.63 43.604 3464
+-65.504 43.604 3464
+-65.378 43.604 3464
+-65.252 43.604 3464
+-65.126 43.604 3382
+-128 43.552 3335
+-127.874 43.552 3285
+-127.748 43.552 3248
+-127.622 43.552 3334
+-127.496 43.552 3450
+-127.37 43.552 3526
+-127.244 43.552 3564
+-127.118 43.552 3638
+-126.992 43.552 3726
+-126.866 43.552 3803
+-126.74 43.552 3870
+-126.614 43.552 3988
+-126.488 43.552 4229
+-126.362 43.552 4359
+-126.236 43.552 4490
+-126.11 43.552 4646
+-125.984 43.552 4749
+-125.858 43.552 4811
+-125.732 43.552 4807
+-125.606 43.552 4874
+-125.48 43.552 4977
+-125.354 43.552 5106
+-125.228 43.552 5154
+-125.102 43.552 5152
+-124.976 43.552 5231
+-124.85 43.552 5265
+-124.724 43.552 5344
+-124.598 43.552 5442
+-124.472 43.552 5472
+-124.346 43.552 5549
+-124.22 43.552 5607
+-124.094 43.552 5622
+-123.968 43.552 5679
+-123.842 43.552 5702
+-123.716 43.552 5742
+-123.59 43.552 5750
+-123.464 43.552 5750
+-123.338 43.552 5745
+-123.212 43.552 5778
+-123.086 43.552 5814
+-122.96 43.552 5804
+-122.834 43.552 5788
+-122.708 43.552 5784
+-122.582 43.552 5759
+-122.456 43.552 5758
+-122.33 43.552 5728
+-122.204 43.552 5712
+-122.078 43.552 5704
+-121.952 43.552 5681
+-121.826 43.552 5626
+-121.7 43.552 5590
+-121.574 43.552 5526
+-121.448 43.552 5460
+-121.322 43.552 5404
+-121.196 43.552 5339
+-121.07 43.552 5301
+-120.944 43.552 5370
+-120.818 43.552 5452
+-120.692 43.552 5580
+-120.566 43.552 5639
+-120.44 43.552 5745
+-120.314 43.552 5869
+-120.188 43.552 5958
+-120.062 43.552 6017
+-119.936 43.552 6062
+-119.81 43.552 6125
+-119.684 43.552 6156
+-119.558 43.552 6227
+-119.432 43.552 6295
+-119.306 43.552 6359
+-119.18 43.552 6387
+-119.054 43.552 6463
+-118.928 43.552 6439
+-118.802 43.552 6463
+-118.676 43.552 6490
+-118.55 43.552 6521
+-118.424 43.552 6536
+-118.298 43.552 6552
+-118.172 43.552 6534
+-118.046 43.552 6526
+-117.92 43.552 6501
+-117.794 43.552 6470
+-117.668 43.552 6443
+-117.542 43.552 6403
+-117.416 43.552 6340
+-117.29 43.552 6317
+-117.164 43.552 6272
+-117.038 43.552 6205
+-116.912 43.552 6122
+-116.786 43.552 6054
+-116.66 43.552 5993
+-116.534 43.552 5914
+-116.408 43.552 5847
+-116.282 43.552 5813
+-116.156 43.552 5708
+-116.03 43.552 5592
+-115.904 43.552 5579
+-115.778 43.552 5475
+-115.652 43.552 5336
+-115.526 43.552 5220
+-115.4 43.552 5181
+-115.274 43.552 5069
+-115.148 43.552 4907
+-115.022 43.552 4773
+-114.896 43.552 4678
+-114.77 43.552 4580
+-114.644 43.552 4501
+-114.518 43.552 4350
+-114.392 43.552 4218
+-114.266 43.552 4134
+-114.14 43.552 4159
+-114.014 43.552 4120
+-113.888 43.552 4050
+-113.762 43.552 3946
+-113.636 43.552 3796
+-113.51 43.552 3695
+-113.384 43.552 3591
+-113.258 43.552 3477
+-113.132 43.552 3337
+-113.006 43.552 3137
+-112.88 43.552 3014
+-112.754 43.552 3085
+-112.628 43.552 3201
+-112.502 43.552 3285
+-112.376 43.552 3361
+-112.25 43.552 3415
+-112.124 43.552 3446
+-111.998 43.552 3405
+-111.872 43.552 3387
+-111.746 43.552 3362
+-111.62 43.552 3365
+-111.494 43.552 3366
+-111.368 43.552 3367
+-111.242 43.552 3366
+-111.116 43.552 3296
+-110.99 43.552 3298
+-110.864 43.552 3286
+-110.738 43.552 3287
+-110.612 43.552 3289
+-110.486 43.552 3260
+-110.36 43.552 3264
+-110.234 43.552 3185
+-110.108 43.552 3192
+-109.982 43.552 3170
+-109.856 43.552 3172
+-109.73 43.552 3175
+-109.604 43.552 3177
+-109.478 43.552 3230
+-109.352 43.552 3234
+-109.226 43.552 3203
+-109.1 43.552 3206
+-108.974 43.552 3209
+-108.848 43.552 3212
+-108.722 43.552 3215
+-108.596 43.552 3218
+-108.47 43.552 3221
+-108.344 43.552 3224
+-108.218 43.552 3226
+-108.092 43.552 3229
+-107.966 43.552 3093
+-107.84 43.552 3094
+-107.714 43.552 3095
+-107.588 43.552 3097
+-107.462 43.552 3098
+-107.336 43.552 3099
+-107.21 43.552 3100
+-107.084 43.552 3101
+-106.958 43.552 2915
+-106.832 43.552 2978
+-106.706 43.552 2971
+-106.58 43.552 2882
+-106.454 43.552 2884
+-106.328 43.552 2886
+-106.202 43.552 2888
+-106.076 43.552 2891
+-105.95 43.552 2893
+-105.824 43.552 2707
+-105.698 43.552 2700
+-105.572 43.552 2692
+-105.446 43.552 2683
+-105.32 43.552 2674
+-105.194 43.552 2664
+-105.068 43.552 2654
+-104.942 43.552 2644
+-104.816 43.552 2411
+-104.69 43.552 2399
+-104.564 43.552 2371
+-104.438 43.552 2264
+-104.312 43.552 2208
+-104.186 43.552 1991
+-104.06 43.552 2081
+-103.934 43.552 2076
+-103.808 43.552 2107
+-103.682 43.552 2304
+-103.556 43.552 2420
+-103.43 43.552 2510
+-103.304 43.552 2508
+-103.178 43.552 2587
+-103.052 43.552 2642
+-102.926 43.552 2639
+-102.8 43.552 2679
+-102.674 43.552 2675
+-102.548 43.552 2672
+-102.422 43.552 2668
+-102.296 43.552 2665
+-102.17 43.552 2661
+-102.044 43.552 2658
+-101.918 43.552 2655
+-101.792 43.552 2655
+-101.666 43.552 2806
+-101.54 43.552 2802
+-101.414 43.552 2798
+-101.288 43.552 2794
+-101.162 43.552 2780
+-101.036 43.552 2806
+-100.91 43.552 2811
+-100.784 43.552 2808
+-100.658 43.552 2847
+-100.532 43.552 2843
+-100.406 43.552 2825
+-100.28 43.552 2824
+-100.154 43.552 2822
+-100.028 43.552 2821
+-99.902 43.552 2820
+-99.776 43.552 2819
+-99.65 43.552 2862
+-99.524 43.552 2861
+-99.398 43.552 2859
+-99.272 43.552 2799
+-99.146 43.552 2798
+-99.02 43.552 2798
+-98.894 43.552 2803
+-98.768 43.552 2803
+-98.642 43.552 2802
+-98.516 43.552 2801
+-98.39 43.552 2799
+-98.264 43.552 2893
+-98.138 43.552 2891
+-98.012 43.552 2885
+-97.886 43.552 2877
+-97.76 43.552 2870
+-97.634 43.552 2874
+-97.508 43.552 2861
+-97.382 43.552 2833
+-97.256 43.552 2845
+-97.13 43.552 2958
+-97.004 43.552 2948
+-96.878 43.552 2921
+-96.752 43.552 2848
+-96.626 43.552 2827
+-96.5 43.552 2807
+-96.374 43.552 2789
+-96.248 43.552 2777
+-96.122 43.552 2772
+-95.996 43.552 2776
+-95.87 43.552 2793
+-95.744 43.552 2834
+-95.618 43.552 2874
+-95.492 43.552 2933
+-95.366 43.552 2979
+-95.24 43.552 3052
+-95.114 43.552 3061
+-94.988 43.552 3117
+-94.862 43.552 3158
+-94.736 43.552 3210
+-94.61 43.552 3222
+-94.484 43.552 3236
+-94.358 43.552 3264
+-94.232 43.552 3245
+-94.106 43.552 3251
+-93.98 43.552 3265
+-93.854 43.552 3280
+-93.728 43.552 3338
+-93.602 43.552 3423
+-93.476 43.552 3486
+-93.35 43.552 3509
+-93.224 43.552 3501
+-93.098 43.552 3561
+-92.972 43.552 3637
+-92.846 43.552 3692
+-92.72 43.552 3743
+-92.594 43.552 3779
+-92.468 43.552 3826
+-92.342 43.552 3898
+-92.216 43.552 3970
+-92.09 43.552 4052
+-91.964 43.552 4098
+-91.838 43.552 4132
+-91.712 43.552 4138
+-91.586 43.552 4128
+-91.46 43.552 4124
+-91.334 43.552 4125
+-91.208 43.552 4136
+-91.082 43.552 4155
+-90.956 43.552 4181
+-90.83 43.552 4221
+-90.704 43.552 4271
+-90.578 43.552 4298
+-90.452 43.552 4319
+-90.326 43.552 4329
+-90.2 43.552 4328
+-90.074 43.552 4325
+-89.948 43.552 4326
+-89.822 43.552 4316
+-89.696 43.552 4302
+-89.57 43.552 4237
+-89.444 43.552 4183
+-89.318 43.552 4210
+-89.192 43.552 4210
+-89.066 43.552 4169
+-88.94 43.552 4134
+-88.814 43.552 4057
+-88.688 43.552 3963
+-88.562 43.552 3919
+-88.436 43.552 3906
+-88.31 43.552 3876
+-88.184 43.552 3812
+-88.058 43.552 3758
+-87.932 43.552 3759
+-87.806 43.552 3743
+-87.68 43.552 3715
+-87.554 43.552 3694
+-87.428 43.552 3677
+-87.302 43.552 3617
+-87.176 43.552 3591
+-87.05 43.552 3562
+-86.924 43.552 3448
+-86.798 43.552 3381
+-86.672 43.552 3374
+-86.546 43.552 3291
+-86.42 43.552 3262
+-86.294 43.552 3189
+-86.168 43.552 3162
+-86.042 43.552 3093
+-85.916 43.552 3062
+-85.79 43.552 3035
+-85.664 43.552 2948
+-85.538 43.552 2919
+-85.412 43.552 2911
+-85.286 43.552 2894
+-85.16 43.552 2816
+-85.034 43.552 2771
+-84.908 43.552 2764
+-84.782 43.552 2758
+-84.656 43.552 2754
+-84.53 43.552 2748
+-84.404 43.552 2747
+-84.278 43.552 2747
+-84.152 43.552 2709
+-84.026 43.552 2716
+-83.9 43.552 2716
+-83.774 43.552 2721
+-83.648 43.552 2724
+-83.522 43.552 2726
+-83.396 43.552 2729
+-83.27 43.552 2742
+-83.144 43.552 2735
+-83.018 43.552 2772
+-82.892 43.552 2777
+-82.766 43.552 2777
+-82.64 43.552 2784
+-82.514 43.552 2789
+-82.388 43.552 2794
+-82.262 43.552 2791
+-82.136 43.552 2868
+-82.01 43.552 2874
+-81.884 43.552 2880
+-81.758 43.552 2885
+-81.632 43.552 2964
+-81.506 43.552 2935
+-81.38 43.552 3036
+-81.254 43.552 3041
+-81.128 43.552 3021
+-81.002 43.552 3026
+-80.876 43.552 3030
+-80.75 43.552 3034
+-80.624 43.552 3039
+-80.498 43.552 3042
+-80.372 43.552 3110
+-80.246 43.552 3111
+-80.12 43.552 3116
+-79.994 43.552 3121
+-79.868 43.552 3125
+-79.742 43.552 3083
+-79.616 43.552 3108
+-79.49 43.552 3113
+-79.364 43.552 3168
+-79.238 43.552 3103
+-79.112 43.552 3107
+-78.986 43.552 3111
+-78.86 43.552 3148
+-78.734 43.552 3115
+-78.608 43.552 3119
+-78.482 43.552 3122
+-78.356 43.552 3320
+-78.23 43.552 3278
+-78.104 43.552 3281
+-77.978 43.552 3400
+-77.852 43.552 3380
+-77.726 43.552 3383
+-77.6 43.552 3339
+-77.474 43.552 3410
+-77.348 43.552 3412
+-77.222 43.552 3415
+-77.096 43.552 3417
+-76.97 43.552 3420
+-76.844 43.552 3419
+-76.718 43.552 3422
+-76.592 43.552 3424
+-76.466 43.552 3413
+-76.34 43.552 3367
+-76.214 43.552 3363
+-76.088 43.552 3365
+-75.962 43.552 3367
+-75.836 43.552 3369
+-75.71 43.552 3371
+-75.584 43.552 3373
+-75.458 43.552 3374
+-75.332 43.552 3376
+-75.206 43.552 3377
+-75.08 43.552 3379
+-74.954 43.552 3380
+-74.828 43.552 3382
+-74.702 43.552 3383
+-74.576 43.552 3385
+-74.45 43.552 3386
+-74.324 43.552 3490
+-74.198 43.552 3492
+-74.072 43.552 3478
+-73.946 43.552 3480
+-73.82 43.552 3481
+-73.694 43.552 3482
+-73.568 43.552 3483
+-73.442 43.552 3484
+-73.316 43.552 3485
+-73.19 43.552 3486
+-73.064 43.552 3487
+-72.938 43.552 3488
+-72.812 43.552 3489
+-72.686 43.552 3521
+-72.56 43.552 3522
+-72.434 43.552 3524
+-72.308 43.552 3525
+-72.182 43.552 3526
+-72.056 43.552 3527
+-71.93 43.552 3489
+-71.804 43.552 3490
+-71.678 43.552 3491
+-71.552 43.552 3492
+-71.426 43.552 3526
+-71.3 43.552 3527
+-71.174 43.552 3528
+-71.048 43.552 3484
+-70.922 43.552 3485
+-70.796 43.552 3486
+-70.67 43.552 3622
+-70.544 43.552 3622
+-70.418 43.552 3623
+-70.292 43.552 3623
+-70.166 43.552 3624
+-70.04 43.552 3559
+-69.914 43.552 3560
+-69.788 43.552 3560
+-69.662 43.552 3560
+-69.536 43.552 3561
+-69.41 43.552 3561
+-69.284 43.552 3561
+-69.158 43.552 3561
+-69.032 43.552 3561
+-68.906 43.552 3562
+-68.78 43.552 3542
+-68.654 43.552 3530
+-68.528 43.552 3530
+-68.402 43.552 3530
+-68.276 43.552 3531
+-68.15 43.552 3531
+-68.024 43.552 3513
+-67.898 43.552 3513
+-67.772 43.552 3513
+-67.646 43.552 3513
+-67.52 43.552 3513
+-67.394 43.552 3514
+-67.268 43.552 3514
+-67.142 43.552 3514
+-67.016 43.552 3514
+-66.89 43.552 3462
+-66.764 43.552 3462
+-66.638 43.552 3463
+-66.512 43.552 3463
+-66.386 43.552 3463
+-66.26 43.552 3463
+-66.134 43.552 3463
+-66.008 43.552 3463
+-65.882 43.552 3464
+-65.756 43.552 3464
+-65.63 43.552 3464
+-65.504 43.552 3464
+-65.378 43.552 3464
+-65.252 43.552 3382
+-65.126 43.552 3382
+-128 43.5 3333
+-127.874 43.5 3309
+-127.748 43.5 3316
+-127.622 43.5 3352
+-127.496 43.5 3410
+-127.37 43.5 3485
+-127.244 43.5 3497
+-127.118 43.5 3564
+-126.992 43.5 3676
+-126.866 43.5 3762
+-126.74 43.5 3874
+-126.614 43.5 4016
+-126.488 43.5 4249
+-126.362 43.5 4344
+-126.236 43.5 4407
+-126.11 43.5 4540
+-125.984 43.5 4681
+-125.858 43.5 4753
+-125.732 43.5 4717
+-125.606 43.5 4823
+-125.48 43.5 4948
+-125.354 43.5 5073
+-125.228 43.5 5120
+-125.102 43.5 5090
+-124.976 43.5 5209
+-124.85 43.5 5250
+-124.724 43.5 5314
+-124.598 43.5 5378
+-124.472 43.5 5426
+-124.346 43.5 5506
+-124.22 43.5 5558
+-124.094 43.5 5569
+-123.968 43.5 5648
+-123.842 43.5 5683
+-123.716 43.5 5680
+-123.59 43.5 5698
+-123.464 43.5 5743
+-123.338 43.5 5728
+-123.212 43.5 5738
+-123.086 43.5 5771
+-122.96 43.5 5739
+-122.834 43.5 5729
+-122.708 43.5 5719
+-122.582 43.5 5710
+-122.456 43.5 5699
+-122.33 43.5 5688
+-122.204 43.5 5675
+-122.078 43.5 5668
+-121.952 43.5 5629
+-121.826 43.5 5542
+-121.7 43.5 5536
+-121.574 43.5 5437
+-121.448 43.5 5367
+-121.322 43.5 5299
+-121.196 43.5 5204
+-121.07 43.5 5295
+-120.944 43.5 5342
+-120.818 43.5 5402
+-120.692 43.5 5484
+-120.566 43.5 5608
+-120.44 43.5 5709
+-120.314 43.5 5808
+-120.188 43.5 5919
+-120.062 43.5 5931
+-119.936 43.5 6017
+-119.81 43.5 6077
+-119.684 43.5 6158
+-119.558 43.5 6182
+-119.432 43.5 6235
+-119.306 43.5 6316
+-119.18 43.5 6339
+-119.054 43.5 6370
+-118.928 43.5 6413
+-118.802 43.5 6436
+-118.676 43.5 6433
+-118.55 43.5 6465
+-118.424 43.5 6478
+-118.298 43.5 6484
+-118.172 43.5 6484
+-118.046 43.5 6460
+-117.92 43.5 6426
+-117.794 43.5 6409
+-117.668 43.5 6385
+-117.542 43.5 6337
+-117.416 43.5 6282
+-117.29 43.5 6233
+-117.164 43.5 6216
+-117.038 43.5 6166
+-116.912 43.5 6100
+-116.786 43.5 6018
+-116.66 43.5 5942
+-116.534 43.5 5876
+-116.408 43.5 5789
+-116.282 43.5 5782
+-116.156 43.5 5674
+-116.03 43.5 5571
+-115.904 43.5 5548
+-115.778 43.5 5410
+-115.652 43.5 5249
+-115.526 43.5 5141
+-115.4 43.5 5140
+-115.274 43.5 5045
+-115.148 43.5 4888
+-115.022 43.5 4752
+-114.896 43.5 4609
+-114.77 43.5 4508
+-114.644 43.5 4479
+-114.518 43.5 4287
+-114.392 43.5 4212
+-114.266 43.5 4082
+-114.14 43.5 4134
+-114.014 43.5 4060
+-113.888 43.5 3943
+-113.762 43.5 3798
+-113.636 43.5 3676
+-113.51 43.5 3590
+-113.384 43.5 3499
+-113.258 43.5 3414
+-113.132 43.5 3355
+-113.006 43.5 3286
+-112.88 43.5 3218
+-112.754 43.5 3211
+-112.628 43.5 3270
+-112.502 43.5 3289
+-112.376 43.5 3331
+-112.25 43.5 3362
+-112.124 43.5 3368
+-111.998 43.5 3382
+-111.872 43.5 3369
+-111.746 43.5 3340
+-111.62 43.5 3344
+-111.494 43.5 3344
+-111.368 43.5 3344
+-111.242 43.5 3344
+-111.116 43.5 3344
+-110.99 43.5 3272
+-110.864 43.5 3274
+-110.738 43.5 3263
+-110.612 43.5 3266
+-110.486 43.5 3269
+-110.36 43.5 3241
+-110.234 43.5 3245
+-110.108 43.5 3170
+-109.982 43.5 3177
+-109.856 43.5 3156
+-109.73 43.5 3159
+-109.604 43.5 3162
+-109.478 43.5 3166
+-109.352 43.5 3219
+-109.226 43.5 3223
+-109.1 43.5 3193
+-108.974 43.5 3197
+-108.848 43.5 3201
+-108.722 43.5 3204
+-108.596 43.5 3208
+-108.47 43.5 3211
+-108.344 43.5 3214
+-108.218 43.5 3217
+-108.092 43.5 3221
+-107.966 43.5 3130
+-107.84 43.5 3085
+-107.714 43.5 3087
+-107.588 43.5 3089
+-107.462 43.5 3090
+-107.336 43.5 3092
+-107.21 43.5 3093
+-107.084 43.5 3094
+-106.958 43.5 3096
+-106.832 43.5 2909
+-106.706 43.5 2911
+-106.58 43.5 2900
+-106.454 43.5 2876
+-106.328 43.5 2878
+-106.202 43.5 2881
+-106.076 43.5 2883
+-105.95 43.5 2885
+-105.824 43.5 2696
+-105.698 43.5 2689
+-105.572 43.5 2681
+-105.446 43.5 2577
+-105.32 43.5 2567
+-105.194 43.5 2557
+-105.068 43.5 2546
+-104.942 43.5 2535
+-104.816 43.5 2398
+-104.69 43.5 2324
+-104.564 43.5 2200
+-104.438 43.5 2169
+-104.312 43.5 2199
+-104.186 43.5 1985
+-104.06 43.5 2075
+-103.934 43.5 2071
+-103.808 43.5 2105
+-103.682 43.5 2302
+-103.556 43.5 2388
+-103.43 43.5 2508
+-103.304 43.5 2506
+-103.178 43.5 2576
+-103.052 43.5 2581
+-102.926 43.5 2635
+-102.8 43.5 2632
+-102.674 43.5 2672
+-102.548 43.5 2668
+-102.422 43.5 2664
+-102.296 43.5 2661
+-102.17 43.5 2657
+-102.044 43.5 2653
+-101.918 43.5 2650
+-101.792 43.5 2646
+-101.666 43.5 2647
+-101.54 43.5 2797
+-101.414 43.5 2793
+-101.288 43.5 2789
+-101.162 43.5 2785
+-101.036 43.5 2771
+-100.91 43.5 2797
+-100.784 43.5 2802
+-100.658 43.5 2798
+-100.532 43.5 2837
+-100.406 43.5 2833
+-100.28 43.5 2816
+-100.154 43.5 2815
+-100.028 43.5 2814
+-99.902 43.5 2813
+-99.776 43.5 2812
+-99.65 43.5 2811
+-99.524 43.5 2853
+-99.398 43.5 2852
+-99.272 43.5 2850
+-99.146 43.5 2791
+-99.02 43.5 2791
+-98.894 43.5 2790
+-98.768 43.5 2795
+-98.642 43.5 2795
+-98.516 43.5 2794
+-98.39 43.5 2792
+-98.264 43.5 2790
+-98.138 43.5 2880
+-98.012 43.5 2877
+-97.886 43.5 2869
+-97.76 43.5 2860
+-97.634 43.5 2857
+-97.508 43.5 2851
+-97.382 43.5 2835
+-97.256 43.5 2805
+-97.13 43.5 2811
+-97.004 43.5 2909
+-96.878 43.5 2891
+-96.752 43.5 2858
+-96.626 43.5 2785
+-96.5 43.5 2757
+-96.374 43.5 2731
+-96.248 43.5 2709
+-96.122 43.5 2696
+-95.996 43.5 2695
+-95.87 43.5 2710
+-95.744 43.5 2743
+-95.618 43.5 2802
+-95.492 43.5 2861
+-95.366 43.5 2935
+-95.24 43.5 2995
+-95.114 43.5 3076
+-94.988 43.5 3090
+-94.862 43.5 3149
+-94.736 43.5 3192
+-94.61 43.5 3249
+-94.484 43.5 3283
+-94.358 43.5 3297
+-94.232 43.5 3305
+-94.106 43.5 3351
+-93.98 43.5 3378
+-93.854 43.5 3415
+-93.728 43.5 3455
+-93.602 43.5 3521
+-93.476 43.5 3566
+-93.35 43.5 3590
+-93.224 43.5 3612
+-93.098 43.5 3655
+-92.972 43.5 3705
+-92.846 43.5 3764
+-92.72 43.5 3804
+-92.594 43.5 3874
+-92.468 43.5 3916
+-92.342 43.5 3982
+-92.216 43.5 4043
+-92.09 43.5 4107
+-91.964 43.5 4137
+-91.838 43.5 4155
+-91.712 43.5 4158
+-91.586 43.5 4164
+-91.46 43.5 4175
+-91.334 43.5 4184
+-91.208 43.5 4206
+-91.082 43.5 4231
+-90.956 43.5 4255
+-90.83 43.5 4290
+-90.704 43.5 4330
+-90.578 43.5 4343
+-90.452 43.5 4318
+-90.326 43.5 4354
+-90.2 43.5 4343
+-90.074 43.5 4319
+-89.948 43.5 4342
+-89.822 43.5 4350
+-89.696 43.5 4346
+-89.57 43.5 4294
+-89.444 43.5 4249
+-89.318 43.5 4250
+-89.192 43.5 4245
+-89.066 43.5 4219
+-88.94 43.5 4176
+-88.814 43.5 4138
+-88.688 43.5 4053
+-88.562 43.5 4018
+-88.436 43.5 3983
+-88.31 43.5 3922
+-88.184 43.5 3805
+-88.058 43.5 3710
+-87.932 43.5 3760
+-87.806 43.5 3802
+-87.68 43.5 3779
+-87.554 43.5 3725
+-87.428 43.5 3702
+-87.302 43.5 3672
+-87.176 43.5 3614
+-87.05 43.5 3559
+-86.924 43.5 3510
+-86.798 43.5 3453
+-86.672 43.5 3413
+-86.546 43.5 3304
+-86.42 43.5 3269
+-86.294 43.5 3213
+-86.168 43.5 3152
+-86.042 43.5 3122
+-85.916 43.5 3095
+-85.79 43.5 3065
+-85.664 43.5 3034
+-85.538 43.5 2956
+-85.412 43.5 2950
+-85.286 43.5 2931
+-85.16 43.5 2879
+-85.034 43.5 2867
+-84.908 43.5 2793
+-84.782 43.5 2786
+-84.656 43.5 2779
+-84.53 43.5 2774
+-84.404 43.5 2771
+-84.278 43.5 2730
+-84.152 43.5 2734
+-84.026 43.5 2732
+-83.9 43.5 2735
+-83.774 43.5 2736
+-83.648 43.5 2738
+-83.522 43.5 2740
+-83.396 43.5 2751
+-83.27 43.5 2744
+-83.144 43.5 2779
+-83.018 43.5 2784
+-82.892 43.5 2783
+-82.766 43.5 2790
+-82.64 43.5 2795
+-82.514 43.5 2800
+-82.388 43.5 2796
+-82.262 43.5 2871
+-82.136 43.5 2877
+-82.01 43.5 2883
+-81.884 43.5 2888
+-81.758 43.5 2965
+-81.632 43.5 2936
+-81.506 43.5 3034
+-81.38 43.5 3039
+-81.254 43.5 3020
+-81.128 43.5 3024
+-81.002 43.5 3029
+-80.876 43.5 3033
+-80.75 43.5 3038
+-80.624 43.5 3042
+-80.498 43.5 3108
+-80.372 43.5 3110
+-80.246 43.5 3115
+-80.12 43.5 3120
+-79.994 43.5 3124
+-79.868 43.5 3083
+-79.742 43.5 3108
+-79.616 43.5 3112
+-79.49 43.5 3166
+-79.364 43.5 3102
+-79.238 43.5 3107
+-79.112 43.5 3111
+-78.986 43.5 3147
+-78.86 43.5 3114
+-78.734 43.5 3118
+-78.608 43.5 3122
+-78.482 43.5 3317
+-78.356 43.5 3276
+-78.23 43.5 3279
+-78.104 43.5 3397
+-77.978 43.5 3378
+-77.852 43.5 3381
+-77.726 43.5 3337
+-77.6 43.5 3408
+-77.474 43.5 3410
+-77.348 43.5 3413
+-77.222 43.5 3416
+-77.096 43.5 3419
+-76.97 43.5 3418
+-76.844 43.5 3420
+-76.718 43.5 3423
+-76.592 43.5 3412
+-76.466 43.5 3367
+-76.34 43.5 3362
+-76.214 43.5 3364
+-76.088 43.5 3366
+-75.962 43.5 3368
+-75.836 43.5 3370
+-75.71 43.5 3372
+-75.584 43.5 3374
+-75.458 43.5 3375
+-75.332 43.5 3377
+-75.206 43.5 3379
+-75.08 43.5 3380
+-74.954 43.5 3382
+-74.828 43.5 3383
+-74.702 43.5 3384
+-74.576 43.5 3386
+-74.45 43.5 3490
+-74.324 43.5 3491
+-74.198 43.5 3478
+-74.072 43.5 3479
+-73.946 43.5 3480
+-73.82 43.5 3481
+-73.694 43.5 3482
+-73.568 43.5 3483
+-73.442 43.5 3484
+-73.316 43.5 3485
+-73.19 43.5 3486
+-73.064 43.5 3487
+-72.938 43.5 3488
+-72.812 43.5 3521
+-72.686 43.5 3522
+-72.56 43.5 3523
+-72.434 43.5 3524
+-72.308 43.5 3525
+-72.182 43.5 3527
+-72.056 43.5 3489
+-71.93 43.5 3490
+-71.804 43.5 3491
+-71.678 43.5 3492
+-71.552 43.5 3525
+-71.426 43.5 3526
+-71.3 43.5 3528
+-71.174 43.5 3483
+-71.048 43.5 3484
+-70.922 43.5 3485
+-70.796 43.5 3622
+-70.67 43.5 3622
+-70.544 43.5 3622
+-70.418 43.5 3623
+-70.292 43.5 3623
+-70.166 43.5 3559
+-70.04 43.5 3559
+-69.914 43.5 3560
+-69.788 43.5 3560
+-69.662 43.5 3560
+-69.536 43.5 3561
+-69.41 43.5 3561
+-69.284 43.5 3561
+-69.158 43.5 3561
+-69.032 43.5 3562
+-68.906 43.5 3542
+-68.78 43.5 3530
+-68.654 43.5 3530
+-68.528 43.5 3530
+-68.402 43.5 3531
+-68.276 43.5 3531
+-68.15 43.5 3531
+-68.024 43.5 3513
+-67.898 43.5 3513
+-67.772 43.5 3513
+-67.646 43.5 3513
+-67.52 43.5 3513
+-67.394 43.5 3514
+-67.268 43.5 3514
+-67.142 43.5 3514
+-67.016 43.5 3462
+-66.89 43.5 3462
+-66.764 43.5 3462
+-66.638 43.5 3463
+-66.512 43.5 3463
+-66.386 43.5 3463
+-66.26 43.5 3463
+-66.134 43.5 3463
+-66.008 43.5 3463
+-65.882 43.5 3464
+-65.756 43.5 3464
+-65.63 43.5 3464
+-65.504 43.5 3464
+-65.378 43.5 3382
+-65.252 43.5 3382
+-65.126 43.5 3382
+-128 43.448 3299
+-127.874 43.448 3262
+-127.748 43.448 3256
+-127.622 43.448 3277
+-127.496 43.448 3294
+-127.37 43.448 3398
+-127.244 43.448 3492
+-127.118 43.448 3564
+-126.992 43.448 3657
+-126.866 43.448 3752
+-126.74 43.448 3877
+-126.614 43.448 4031
+-126.488 43.448 4257
+-126.362 43.448 4343
+-126.236 43.448 4355
+-126.11 43.448 4444
+-125.984 43.448 4614
+-125.858 43.448 4722
+-125.732 43.448 4751
+-125.606 43.448 4821
+-125.48 43.448 4908
+-125.354 43.448 5030
+-125.228 43.448 5102
+-125.102 43.448 5131
+-124.976 43.448 5191
+-124.85 43.448 5176
+-124.724 43.448 5283
+-124.598 43.448 5332
+-124.472 43.448 5372
+-124.346 43.448 5445
+-124.22 43.448 5517
+-124.094 43.448 5548
+-123.968 43.448 5602
+-123.842 43.448 5642
+-123.716 43.448 5643
+-123.59 43.448 5636
+-123.464 43.448 5666
+-123.338 43.448 5679
+-123.212 43.448 5680
+-123.086 43.448 5700
+-122.96 43.448 5714
+-122.834 43.448 5682
+-122.708 43.448 5655
+-122.582 43.448 5662
+-122.456 43.448 5692
+-122.33 43.448 5620
+-122.204 43.448 5609
+-122.078 43.448 5627
+-121.952 43.448 5591
+-121.826 43.448 5534
+-121.7 43.448 5469
+-121.574 43.448 5382
+-121.448 43.448 5318
+-121.322 43.448 5314
+-121.196 43.448 5165
+-121.07 43.448 5260
+-120.944 43.448 5293
+-120.818 43.448 5381
+-120.692 43.448 5427
+-120.566 43.448 5539
+-120.44 43.448 5666
+-120.314 43.448 5769
+-120.188 43.448 5882
+-120.062 43.448 5905
+-119.936 43.448 5977
+-119.81 43.448 6000
+-119.684 43.448 6090
+-119.558 43.448 6154
+-119.432 43.448 6165
+-119.306 43.448 6239
+-119.18 43.448 6302
+-119.054 43.448 6332
+-118.928 43.448 6338
+-118.802 43.448 6400
+-118.676 43.448 6388
+-118.55 43.448 6416
+-118.424 43.448 6434
+-118.298 43.448 6437
+-118.172 43.448 6402
+-118.046 43.448 6374
+-117.92 43.448 6394
+-117.794 43.448 6363
+-117.668 43.448 6316
+-117.542 43.448 6284
+-117.416 43.448 6239
+-117.29 43.448 6203
+-117.164 43.448 6176
+-117.038 43.448 6122
+-116.912 43.448 6046
+-116.786 43.448 5956
+-116.66 43.448 5889
+-116.534 43.448 5845
+-116.408 43.448 5798
+-116.282 43.448 5723
+-116.156 43.448 5666
+-116.03 43.448 5562
+-115.904 43.448 5479
+-115.778 43.448 5358
+-115.652 43.448 5210
+-115.526 43.448 5132
+-115.4 43.448 5117
+-115.274 43.448 4998
+-115.148 43.448 4875
+-115.022 43.448 4781
+-114.896 43.448 4637
+-114.77 43.448 4543
+-114.644 43.448 4461
+-114.518 43.448 4304
+-114.392 43.448 4212
+-114.266 43.448 4138
+-114.14 43.448 4106
+-114.014 43.448 4004
+-113.888 43.448 3848
+-113.762 43.448 3658
+-113.636 43.448 3542
+-113.51 43.448 3494
+-113.384 43.448 3382
+-113.258 43.448 3272
+-113.132 43.448 3298
+-113.006 43.448 3328
+-112.88 43.448 3308
+-112.754 43.448 3314
+-112.628 43.448 3302
+-112.502 43.448 3318
+-112.376 43.448 3342
+-112.25 43.448 3361
+-112.124 43.448 3374
+-111.998 43.448 3366
+-111.872 43.448 3371
+-111.746 43.448 3352
+-111.62 43.448 3318
+-111.494 43.448 3321
+-111.368 43.448 3320
+-111.242 43.448 3320
+-111.116 43.448 3320
+-110.99 43.448 3320
+-110.864 43.448 3248
+-110.738 43.448 3251
+-110.612 43.448 3242
+-110.486 43.448 3245
+-110.36 43.448 3249
+-110.234 43.448 3223
+-110.108 43.448 3229
+-109.982 43.448 3155
+-109.856 43.448 3162
+-109.73 43.448 3142
+-109.604 43.448 3147
+-109.478 43.448 3151
+-109.352 43.448 3155
+-109.226 43.448 3208
+-109.1 43.448 3214
+-108.974 43.448 3184
+-108.848 43.448 3103
+-108.722 43.448 3106
+-108.596 43.448 3109
+-108.47 43.448 3111
+-108.344 43.448 3114
+-108.218 43.448 3116
+-108.092 43.448 3118
+-107.966 43.448 3120
+-107.84 43.448 3123
+-107.714 43.448 3078
+-107.588 43.448 3080
+-107.462 43.448 3082
+-107.336 43.448 3084
+-107.21 43.448 3086
+-107.084 43.448 3087
+-106.958 43.448 3089
+-106.832 43.448 3090
+-106.706 43.448 2903
+-106.58 43.448 2905
+-106.454 43.448 2894
+-106.328 43.448 2870
+-106.202 43.448 2873
+-106.076 43.448 2875
+-105.95 43.448 2878
+-105.824 43.448 2686
+-105.698 43.448 2678
+-105.572 43.448 2574
+-105.446 43.448 2564
+-105.32 43.448 2555
+-105.194 43.448 2545
+-105.068 43.448 2534
+-104.942 43.448 2511
+-104.816 43.448 2321
+-104.69 43.448 2309
+-104.564 43.448 2189
+-104.438 43.448 2159
+-104.312 43.448 2190
+-104.186 43.448 1979
+-104.06 43.448 2070
+-103.934 43.448 2067
+-103.808 43.448 2103
+-103.682 43.448 2300
+-103.556 43.448 2386
+-103.43 43.448 2385
+-103.304 43.448 2503
+-103.178 43.448 2573
+-103.052 43.448 2569
+-102.926 43.448 2574
+-102.8 43.448 2628
+-102.674 43.448 2625
+-102.548 43.448 2664
+-102.422 43.448 2660
+-102.296 43.448 2656
+-102.17 43.448 2652
+-102.044 43.448 2648
+-101.918 43.448 2645
+-101.792 43.448 2641
+-101.666 43.448 2637
+-101.54 43.448 2639
+-101.414 43.448 2788
+-101.288 43.448 2783
+-101.162 43.448 2779
+-101.036 43.448 2775
+-100.91 43.448 2762
+-100.784 43.448 2787
+-100.658 43.448 2792
+-100.532 43.448 2788
+-100.406 43.448 2826
+-100.28 43.448 2822
+-100.154 43.448 2807
+-100.028 43.448 2806
+-99.902 43.448 2805
+-99.776 43.448 2804
+-99.65 43.448 2803
+-99.524 43.448 2802
+-99.398 43.448 2844
+-99.272 43.448 2842
+-99.146 43.448 2841
+-99.02 43.448 2783
+-98.894 43.448 2783
+-98.768 43.448 2782
+-98.642 43.448 2787
+-98.516 43.448 2786
+-98.39 43.448 2785
+-98.264 43.448 2783
+-98.138 43.448 2780
+-98.012 43.448 2866
+-97.886 43.448 2862
+-97.76 43.448 2852
+-97.634 43.448 2841
+-97.508 43.448 2829
+-97.382 43.448 2825
+-97.256 43.448 2806
+-97.13 43.448 2772
+-97.004 43.448 2771
+-96.878 43.448 2850
+-96.752 43.448 2822
+-96.626 43.448 2781
+-96.5 43.448 2704
+-96.374 43.448 2667
+-96.248 43.448 2632
+-96.122 43.448 2607
+-95.996 43.448 2597
+-95.87 43.448 2608
+-95.744 43.448 2644
+-95.618 43.448 2727
+-95.492 43.448 2786
+-95.366 43.448 2867
+-95.24 43.448 2957
+-95.114 43.448 3025
+-94.988 43.448 3114
+-94.862 43.448 3160
+-94.736 43.448 3222
+-94.61 43.448 3265
+-94.484 43.448 3314
+-94.358 43.448 3329
+-94.232 43.448 3350
+-94.106 43.448 3369
+-93.98 43.448 3471
+-93.854 43.448 3518
+-93.728 43.448 3561
+-93.602 43.448 3597
+-93.476 43.448 3630
+-93.35 43.448 3664
+-93.224 43.448 3708
+-93.098 43.448 3748
+-92.972 43.448 3787
+-92.846 43.448 3822
+-92.72 43.448 3887
+-92.594 43.448 3958
+-92.468 43.448 3997
+-92.342 43.448 4045
+-92.216 43.448 4094
+-92.09 43.448 4147
+-91.964 43.448 4186
+-91.838 43.448 4185
+-91.712 43.448 4182
+-91.586 43.448 4188
+-91.46 43.448 4224
+-91.334 43.448 4244
+-91.208 43.448 4259
+-91.082 43.448 4292
+-90.956 43.448 4321
+-90.83 43.448 4358
+-90.704 43.448 4379
+-90.578 43.448 4382
+-90.452 43.448 4365
+-90.326 43.448 4367
+-90.2 43.448 4375
+-90.074 43.448 4367
+-89.948 43.448 4384
+-89.822 43.448 4378
+-89.696 43.448 4354
+-89.57 43.448 4343
+-89.444 43.448 4290
+-89.318 43.448 4243
+-89.192 43.448 4273
+-89.066 43.448 4280
+-88.94 43.448 4238
+-88.814 43.448 4200
+-88.688 43.448 4144
+-88.562 43.448 4088
+-88.436 43.448 4051
+-88.31 43.448 3984
+-88.184 43.448 3892
+-88.058 43.448 3803
+-87.932 43.448 3815
+-87.806 43.448 3818
+-87.68 43.448 3780
+-87.554 43.448 3734
+-87.428 43.448 3711
+-87.302 43.448 3671
+-87.176 43.448 3622
+-87.05 43.448 3550
+-86.924 43.448 3497
+-86.798 43.448 3451
+-86.672 43.448 3385
+-86.546 43.448 3341
+-86.42 43.448 3274
+-86.294 43.448 3231
+-86.168 43.448 3169
+-86.042 43.448 3143
+-85.916 43.448 3114
+-85.79 43.448 3082
+-85.664 43.448 3055
+-85.538 43.448 3029
+-85.412 43.448 2966
+-85.286 43.448 2920
+-85.16 43.448 2904
+-85.034 43.448 2882
+-84.908 43.448 2870
+-84.782 43.448 2861
+-84.656 43.448 2853
+-84.53 43.448 2847
+-84.404 43.448 2803
+-84.278 43.448 2799
+-84.152 43.448 2748
+-84.026 43.448 2749
+-83.9 43.448 2748
+-83.774 43.448 2748
+-83.648 43.448 2749
+-83.522 43.448 2759
+-83.396 43.448 2752
+-83.27 43.448 2786
+-83.144 43.448 2790
+-83.018 43.448 2790
+-82.892 43.448 2796
+-82.766 43.448 2800
+-82.64 43.448 2805
+-82.514 43.448 2801
+-82.388 43.448 2874
+-82.262 43.448 2880
+-82.136 43.448 2885
+-82.01 43.448 2891
+-81.884 43.448 2966
+-81.758 43.448 2937
+-81.632 43.448 3031
+-81.506 43.448 3037
+-81.38 43.448 3018
+-81.254 43.448 3023
+-81.128 43.448 3028
+-81.002 43.448 3032
+-80.876 43.448 3036
+-80.75 43.448 3041
+-80.624 43.448 3107
+-80.498 43.448 3108
+-80.372 43.448 3113
+-80.246 43.448 3118
+-80.12 43.448 3123
+-79.994 43.448 3082
+-79.868 43.448 3107
+-79.742 43.448 3111
+-79.616 43.448 3165
+-79.49 43.448 3102
+-79.364 43.448 3106
+-79.238 43.448 3110
+-79.112 43.448 3146
+-78.986 43.448 3114
+-78.86 43.448 3118
+-78.734 43.448 3122
+-78.608 43.448 3315
+-78.482 43.448 3274
+-78.356 43.448 3278
+-78.23 43.448 3395
+-78.104 43.448 3376
+-77.978 43.448 3379
+-77.852 43.448 3335
+-77.726 43.448 3406
+-77.6 43.448 3409
+-77.474 43.448 3412
+-77.348 43.448 3414
+-77.222 43.448 3417
+-77.096 43.448 3416
+-76.97 43.448 3419
+-76.844 43.448 3422
+-76.718 43.448 3411
+-76.592 43.448 3366
+-76.466 43.448 3361
+-76.34 43.448 3364
+-76.214 43.448 3366
+-76.088 43.448 3368
+-75.962 43.448 3369
+-75.836 43.448 3371
+-75.71 43.448 3373
+-75.584 43.448 3375
+-75.458 43.448 3376
+-75.332 43.448 3378
+-75.206 43.448 3380
+-75.08 43.448 3381
+-74.954 43.448 3383
+-74.828 43.448 3384
+-74.702 43.448 3385
+-74.576 43.448 3489
+-74.45 43.448 3490
+-74.324 43.448 3477
+-74.198 43.448 3478
+-74.072 43.448 3479
+-73.946 43.448 3481
+-73.82 43.448 3482
+-73.694 43.448 3483
+-73.568 43.448 3484
+-73.442 43.448 3485
+-73.316 43.448 3486
+-73.19 43.448 3487
+-73.064 43.448 3488
+-72.938 43.448 3520
+-72.812 43.448 3521
+-72.686 43.448 3523
+-72.56 43.448 3524
+-72.434 43.448 3525
+-72.308 43.448 3526
+-72.182 43.448 3489
+-72.056 43.448 3490
+-71.93 43.448 3491
+-71.804 43.448 3492
+-71.678 43.448 3525
+-71.552 43.448 3526
+-71.426 43.448 3527
+-71.3 43.448 3483
+-71.174 43.448 3484
+-71.048 43.448 3485
+-70.922 43.448 3621
+-70.796 43.448 3622
+-70.67 43.448 3622
+-70.544 43.448 3623
+-70.418 43.448 3623
+-70.292 43.448 3559
+-70.166 43.448 3559
+-70.04 43.448 3559
+-69.914 43.448 3560
+-69.788 43.448 3560
+-69.662 43.448 3560
+-69.536 43.448 3561
+-69.41 43.448 3561
+-69.284 43.448 3561
+-69.158 43.448 3561
+-69.032 43.448 3542
+-68.906 43.448 3529
+-68.78 43.448 3530
+-68.654 43.448 3530
+-68.528 43.448 3530
+-68.402 43.448 3531
+-68.276 43.448 3512
+-68.15 43.448 3512
+-68.024 43.448 3513
+-67.898 43.448 3513
+-67.772 43.448 3513
+-67.646 43.448 3513
+-67.52 43.448 3514
+-67.394 43.448 3514
+-67.268 43.448 3514
+-67.142 43.448 3462
+-67.016 43.448 3462
+-66.89 43.448 3462
+-66.764 43.448 3462
+-66.638 43.448 3463
+-66.512 43.448 3463
+-66.386 43.448 3463
+-66.26 43.448 3463
+-66.134 43.448 3463
+-66.008 43.448 3463
+-65.882 43.448 3464
+-65.756 43.448 3464
+-65.63 43.448 3464
+-65.504 43.448 3382
+-65.378 43.448 3382
+-65.252 43.448 3382
+-65.126 43.448 3382
+-128 43.396 3240
+-127.874 43.396 3142
+-127.748 43.396 3093
+-127.622 43.396 3191
+-127.496 43.396 3198
+-127.37 43.396 3303
+-127.244 43.396 3454
+-127.118 43.396 3547
+-126.992 43.396 3657
+-126.866 43.396 3776
+-126.74 43.396 3883
+-126.614 43.396 4022
+-126.488 43.396 4232
+-126.362 43.396 4323
+-126.236 43.396 4368
+-126.11 43.396 4449
+-125.984 43.396 4540
+-125.858 43.396 4653
+-125.732 43.396 4718
+-125.606 43.396 4772
+-125.48 43.396 4850
+-125.354 43.396 4969
+-125.228 43.396 5054
+-125.102 43.396 5087
+-124.976 43.396 5120
+-124.85 43.396 5189
+-124.724 43.396 5259
+-124.598 43.396 5300
+-124.472 43.396 5311
+-124.346 43.396 5385
+-124.22 43.396 5467
+-124.094 43.396 5467
+-123.968 43.396 5554
+-123.842 43.396 5588
+-123.716 43.396 5576
+-123.59 43.396 5598
+-123.464 43.396 5620
+-123.338 43.396 5623
+-123.212 43.396 5656
+-123.086 43.396 5637
+-122.96 43.396 5654
+-122.834 43.396 5639
+-122.708 43.396 5617
+-122.582 43.396 5618
+-122.456 43.396 5614
+-122.33 43.396 5608
+-122.204 43.396 5590
+-122.078 43.396 5568
+-121.952 43.396 5518
+-121.826 43.396 5487
+-121.7 43.396 5407
+-121.574 43.396 5405
+-121.448 43.396 5288
+-121.322 43.396 5222
+-121.196 43.396 5190
+-121.07 43.396 5229
+-120.944 43.396 5225
+-120.818 43.396 5333
+-120.692 43.396 5434
+-120.566 43.396 5483
+-120.44 43.396 5594
+-120.314 43.396 5707
+-120.188 43.396 5814
+-120.062 43.396 5874
+-119.936 43.396 5958
+-119.81 43.396 6003
+-119.684 43.396 6045
+-119.558 43.396 6091
+-119.432 43.396 6140
+-119.306 43.396 6181
+-119.18 43.396 6230
+-119.054 43.396 6285
+-118.928 43.396 6317
+-118.802 43.396 6341
+-118.676 43.396 6335
+-118.55 43.396 6355
+-118.424 43.396 6379
+-118.298 43.396 6379
+-118.172 43.396 6345
+-118.046 43.396 6318
+-117.92 43.396 6324
+-117.794 43.396 6303
+-117.668 43.396 6296
+-117.542 43.396 6254
+-117.416 43.396 6201
+-117.29 43.396 6164
+-117.164 43.396 6096
+-117.038 43.396 6030
+-116.912 43.396 5983
+-116.786 43.396 5878
+-116.66 43.396 5867
+-116.534 43.396 5822
+-116.408 43.396 5743
+-116.282 43.396 5626
+-116.156 43.396 5610
+-116.03 43.396 5497
+-115.904 43.396 5377
+-115.778 43.396 5276
+-115.652 43.396 5205
+-115.526 43.396 5134
+-115.4 43.396 5092
+-115.274 43.396 4941
+-115.148 43.396 4813
+-115.022 43.396 4807
+-114.896 43.396 4684
+-114.77 43.396 4552
+-114.644 43.396 4446
+-114.518 43.396 4330
+-114.392 43.396 4230
+-114.266 43.396 4137
+-114.14 43.396 4074
+-114.014 43.396 3942
+-113.888 43.396 3771
+-113.762 43.396 3564
+-113.636 43.396 3476
+-113.51 43.396 3426
+-113.384 43.396 3308
+-113.258 43.396 3139
+-113.132 43.396 3240
+-113.006 43.396 3316
+-112.88 43.396 3352
+-112.754 43.396 3333
+-112.628 43.396 3329
+-112.502 43.396 3339
+-112.376 43.396 3349
+-112.25 43.396 3357
+-112.124 43.396 3331
+-111.998 43.396 3332
+-111.872 43.396 3332
+-111.746 43.396 3331
+-111.62 43.396 3308
+-111.494 43.396 3291
+-111.368 43.396 3259
+-111.242 43.396 3257
+-111.116 43.396 3257
+-110.99 43.396 3257
+-110.864 43.396 3258
+-110.738 43.396 3224
+-110.612 43.396 3229
+-110.486 43.396 3221
+-110.36 43.396 3226
+-110.234 43.396 3231
+-110.108 43.396 3207
+-109.982 43.396 3213
+-109.856 43.396 3175
+-109.73 43.396 3150
+-109.604 43.396 3131
+-109.478 43.396 3136
+-109.352 43.396 3141
+-109.226 43.396 3146
+-109.1 43.396 3199
+-108.974 43.396 3120
+-108.848 43.396 3090
+-108.722 43.396 3093
+-108.596 43.396 3096
+-108.47 43.396 3099
+-108.344 43.396 3102
+-108.218 43.396 3105
+-108.092 43.396 3108
+-107.966 43.396 3111
+-107.84 43.396 3113
+-107.714 43.396 3116
+-107.588 43.396 3072
+-107.462 43.396 3074
+-107.336 43.396 3076
+-107.21 43.396 3078
+-107.084 43.396 3080
+-106.958 43.396 3082
+-106.832 43.396 3084
+-106.706 43.396 3085
+-106.58 43.396 2897
+-106.454 43.396 2899
+-106.328 43.396 2889
+-106.202 43.396 2865
+-106.076 43.396 2868
+-105.95 43.396 2870
+-105.824 43.396 2675
+-105.698 43.396 2570
+-105.572 43.396 2562
+-105.446 43.396 2552
+-105.32 43.396 2543
+-105.194 43.396 2532
+-105.068 43.396 2412
+-104.942 43.396 2327
+-104.816 43.396 2307
+-104.69 43.396 2247
+-104.564 43.396 2178
+-104.438 43.396 2149
+-104.312 43.396 2099
+-104.186 43.396 1973
+-104.06 43.396 1986
+-103.934 43.396 2063
+-103.808 43.396 2101
+-103.682 43.396 2298
+-103.556 43.396 2384
+-103.43 43.396 2383
+-103.304 43.396 2501
+-103.178 43.396 2570
+-103.052 43.396 2566
+-102.926 43.396 2562
+-102.8 43.396 2567
+-102.674 43.396 2620
+-102.548 43.396 2617
+-102.422 43.396 2655
+-102.296 43.396 2651
+-102.17 43.396 2647
+-102.044 43.396 2643
+-101.918 43.396 2639
+-101.792 43.396 2635
+-101.666 43.396 2631
+-101.54 43.396 2627
+-101.414 43.396 2631
+-101.288 43.396 2778
+-101.162 43.396 2773
+-101.036 43.396 2769
+-100.91 43.396 2764
+-100.784 43.396 2752
+-100.658 43.396 2777
+-100.532 43.396 2781
+-100.406 43.396 2778
+-100.28 43.396 2815
+-100.154 43.396 2811
+-100.028 43.396 2797
+-99.902 43.396 2796
+-99.776 43.396 2795
+-99.65 43.396 2794
+-99.524 43.396 2793
+-99.398 43.396 2793
+-99.272 43.396 2834
+-99.146 43.396 2833
+-99.02 43.396 2831
+-98.894 43.396 2775
+-98.768 43.396 2774
+-98.642 43.396 2774
+-98.516 43.396 2779
+-98.39 43.396 2778
+-98.264 43.396 2776
+-98.138 43.396 2773
+-98.012 43.396 2769
+-97.886 43.396 2851
+-97.76 43.396 2845
+-97.634 43.396 2833
+-97.508 43.396 2819
+-97.382 43.396 2809
+-97.256 43.396 2794
+-97.13 43.396 2770
+-97.004 43.396 2731
+-96.878 43.396 2721
+-96.752 43.396 2778
+-96.626 43.396 2737
+-96.5 43.396 2682
+-96.374 43.396 2599
+-96.248 43.396 2547
+-96.122 43.396 2504
+-95.996 43.396 2479
+-95.87 43.396 2484
+-95.744 43.396 2525
+-95.618 43.396 2597
+-95.492 43.396 2714
+-95.366 43.396 2824
+-95.24 43.396 2924
+-95.114 43.396 3006
+-94.988 43.396 3100
+-94.862 43.396 3151
+-94.736 43.396 3234
+-94.61 43.396 3298
+-94.484 43.396 3330
+-94.358 43.396 3367
+-94.232 43.396 3397
+-94.106 43.396 3425
+-93.98 43.396 3521
+-93.854 43.396 3582
+-93.728 43.396 3623
+-93.602 43.396 3650
+-93.476 43.396 3689
+-93.35 43.396 3715
+-93.224 43.396 3753
+-93.098 43.396 3793
+-92.972 43.396 3819
+-92.846 43.396 3857
+-92.72 43.396 3950
+-92.594 43.396 4020
+-92.468 43.396 4069
+-92.342 43.396 4113
+-92.216 43.396 4164
+-92.09 43.396 4205
+-91.964 43.396 4234
+-91.838 43.396 4238
+-91.712 43.396 4244
+-91.586 43.396 4264
+-91.46 43.396 4283
+-91.334 43.396 4299
+-91.208 43.396 4330
+-91.082 43.396 4360
+-90.956 43.396 4397
+-90.83 43.396 4426
+-90.704 43.396 4444
+-90.578 43.396 4418
+-90.452 43.396 4421
+-90.326 43.396 4428
+-90.2 43.396 4427
+-90.074 43.396 4420
+-89.948 43.396 4397
+-89.822 43.396 4411
+-89.696 43.396 4393
+-89.57 43.396 4388
+-89.444 43.396 4348
+-89.318 43.396 4312
+-89.192 43.396 4329
+-89.066 43.396 4319
+-88.94 43.396 4281
+-88.814 43.396 4246
+-88.688 43.396 4199
+-88.562 43.396 4130
+-88.436 43.396 4092
+-88.31 43.396 4058
+-88.184 43.396 4008
+-88.058 43.396 3948
+-87.932 43.396 3886
+-87.806 43.396 3811
+-87.68 43.396 3732
+-87.554 43.396 3730
+-87.428 43.396 3714
+-87.302 43.396 3667
+-87.176 43.396 3589
+-87.05 43.396 3480
+-86.924 43.396 3428
+-86.798 43.396 3409
+-86.672 43.396 3367
+-86.546 43.396 3336
+-86.42 43.396 3324
+-86.294 43.396 3323
+-86.168 43.396 3280
+-86.042 43.396 3149
+-85.916 43.396 3122
+-85.79 43.396 3095
+-85.664 43.396 3067
+-85.538 43.396 3017
+-85.412 43.396 2998
+-85.286 43.396 2978
+-85.16 43.396 2951
+-85.034 43.396 2937
+-84.908 43.396 2925
+-84.782 43.396 2878
+-84.656 43.396 2868
+-84.53 43.396 2860
+-84.404 43.396 2851
+-84.278 43.396 2813
+-84.152 43.396 2810
+-84.026 43.396 2809
+-83.9 43.396 2757
+-83.774 43.396 2757
+-83.648 43.396 2766
+-83.522 43.396 2758
+-83.396 43.396 2791
+-83.27 43.396 2796
+-83.144 43.396 2795
+-83.018 43.396 2801
+-82.892 43.396 2806
+-82.766 43.396 2810
+-82.64 43.396 2807
+-82.514 43.396 2876
+-82.388 43.396 2882
+-82.262 43.396 2888
+-82.136 43.396 2893
+-82.01 43.396 2966
+-81.884 43.396 2938
+-81.758 43.396 3028
+-81.632 43.396 3035
+-81.506 43.396 3016
+-81.38 43.396 3021
+-81.254 43.396 3026
+-81.128 43.396 3031
+-81.002 43.396 3035
+-80.876 43.396 3040
+-80.75 43.396 3105
+-80.624 43.396 3107
+-80.498 43.396 3112
+-80.372 43.396 3117
+-80.246 43.396 3122
+-80.12 43.396 3082
+-79.994 43.396 3106
+-79.868 43.396 3111
+-79.742 43.396 3164
+-79.616 43.396 3101
+-79.49 43.396 3106
+-79.364 43.396 3110
+-79.238 43.396 3146
+-79.112 43.396 3114
+-78.986 43.396 3118
+-78.86 43.396 3122
+-78.734 43.396 3312
+-78.608 43.396 3272
+-78.482 43.396 3276
+-78.356 43.396 3393
+-78.23 43.396 3374
+-78.104 43.396 3377
+-77.978 43.396 3334
+-77.852 43.396 3405
+-77.726 43.396 3407
+-77.6 43.396 3410
+-77.474 43.396 3413
+-77.348 43.396 3416
+-77.222 43.396 3415
+-77.096 43.396 3418
+-76.97 43.396 3420
+-76.844 43.396 3410
+-76.718 43.396 3365
+-76.592 43.396 3361
+-76.466 43.396 3363
+-76.34 43.396 3365
+-76.214 43.396 3367
+-76.088 43.396 3369
+-75.962 43.396 3371
+-75.836 43.396 3373
+-75.71 43.396 3374
+-75.584 43.396 3376
+-75.458 43.396 3378
+-75.332 43.396 3379
+-75.206 43.396 3381
+-75.08 43.396 3382
+-74.954 43.396 3384
+-74.828 43.396 3385
+-74.702 43.396 3488
+-74.576 43.396 3489
+-74.45 43.396 3476
+-74.324 43.396 3478
+-74.198 43.396 3479
+-74.072 43.396 3480
+-73.946 43.396 3481
+-73.82 43.396 3482
+-73.694 43.396 3483
+-73.568 43.396 3484
+-73.442 43.396 3486
+-73.316 43.396 3487
+-73.19 43.396 3488
+-73.064 43.396 3519
+-72.938 43.396 3521
+-72.812 43.396 3522
+-72.686 43.396 3523
+-72.56 43.396 3524
+-72.434 43.396 3526
+-72.308 43.396 3488
+-72.182 43.396 3489
+-72.056 43.396 3490
+-71.93 43.396 3491
+-71.804 43.396 3524
+-71.678 43.396 3525
+-71.552 43.396 3527
+-71.426 43.396 3483
+-71.3 43.396 3484
+-71.174 43.396 3485
+-71.048 43.396 3621
+-70.922 43.396 3621
+-70.796 43.396 3622
+-70.67 43.396 3622
+-70.544 43.396 3623
+-70.418 43.396 3559
+-70.292 43.396 3559
+-70.166 43.396 3559
+-70.04 43.396 3560
+-69.914 43.396 3560
+-69.788 43.396 3560
+-69.662 43.396 3560
+-69.536 43.396 3561
+-69.41 43.396 3561
+-69.284 43.396 3561
+-69.158 43.396 3542
+-69.032 43.396 3529
+-68.906 43.396 3530
+-68.78 43.396 3530
+-68.654 43.396 3530
+-68.528 43.396 3530
+-68.402 43.396 3531
+-68.276 43.396 3512
+-68.15 43.396 3513
+-68.024 43.396 3513
+-67.898 43.396 3513
+-67.772 43.396 3513
+-67.646 43.396 3513
+-67.52 43.396 3514
+-67.394 43.396 3514
+-67.268 43.396 3462
+-67.142 43.396 3462
+-67.016 43.396 3462
+-66.89 43.396 3462
+-66.764 43.396 3462
+-66.638 43.396 3463
+-66.512 43.396 3463
+-66.386 43.396 3463
+-66.26 43.396 3463
+-66.134 43.396 3463
+-66.008 43.396 3463
+-65.882 43.396 3464
+-65.756 43.396 3464
+-65.63 43.396 3382
+-65.504 43.396 3382
+-65.378 43.396 3382
+-65.252 43.396 3382
+-65.126 43.396 3382
+-128 43.344 3194
+-127.874 43.344 3057
+-127.748 43.344 2943
+-127.622 43.344 3108
+-127.496 43.344 3230
+-127.37 43.344 3317
+-127.244 43.344 3430
+-127.118 43.344 3547
+-126.992 43.344 3660
+-126.866 43.344 3768
+-126.74 43.344 3889
+-126.614 43.344 4021
+-126.488 43.344 4201
+-126.362 43.344 4281
+-126.236 43.344 4367
+-126.11 43.344 4402
+-125.984 43.344 4412
+-125.858 43.344 4541
+-125.732 43.344 4651
+-125.606 43.344 4686
+-125.48 43.344 4773
+-125.354 43.344 4889
+-125.228 43.344 4960
+-125.102 43.344 5016
+-124.976 43.344 4981
+-124.85 43.344 5114
+-124.724 43.344 5216
+-124.598 43.344 5249
+-124.472 43.344 5297
+-124.346 43.344 5340
+-124.22 43.344 5418
+-124.094 43.344 5466
+-123.968 43.344 5526
+-123.842 43.344 5549
+-123.716 43.344 5528
+-123.59 43.344 5544
+-123.464 43.344 5580
+-123.338 43.344 5569
+-123.212 43.344 5594
+-123.086 43.344 5589
+-122.96 43.344 5595
+-122.834 43.344 5589
+-122.708 43.344 5579
+-122.582 43.344 5604
+-122.456 43.344 5554
+-122.33 43.344 5550
+-122.204 43.344 5544
+-122.078 43.344 5520
+-121.952 43.344 5470
+-121.826 43.344 5420
+-121.7 43.344 5338
+-121.574 43.344 5287
+-121.448 43.344 5214
+-121.322 43.344 5160
+-121.196 43.344 5049
+-121.07 43.344 5165
+-120.944 43.344 5241
+-120.818 43.344 5304
+-120.692 43.344 5432
+-120.566 43.344 5471
+-120.44 43.344 5607
+-120.314 43.344 5651
+-120.188 43.344 5752
+-120.062 43.344 5815
+-119.936 43.344 5900
+-119.81 43.344 5974
+-119.684 43.344 5957
+-119.558 43.344 6036
+-119.432 43.344 6088
+-119.306 43.344 6132
+-119.18 43.344 6187
+-119.054 43.344 6216
+-118.928 43.344 6259
+-118.802 43.344 6282
+-118.676 43.344 6266
+-118.55 43.344 6301
+-118.424 43.344 6315
+-118.298 43.344 6320
+-118.172 43.344 6309
+-118.046 43.344 6289
+-117.92 43.344 6302
+-117.794 43.344 6273
+-117.668 43.344 6233
+-117.542 43.344 6188
+-117.416 43.344 6175
+-117.29 43.344 6095
+-117.164 43.344 6024
+-117.038 43.344 5985
+-116.912 43.344 5938
+-116.786 43.344 5842
+-116.66 43.344 5774
+-116.534 43.344 5776
+-116.408 43.344 5712
+-116.282 43.344 5636
+-116.156 43.344 5552
+-116.03 43.344 5419
+-115.904 43.344 5310
+-115.778 43.344 5221
+-115.652 43.344 5181
+-115.526 43.344 5084
+-115.4 43.344 5080
+-115.274 43.344 4974
+-115.148 43.344 4864
+-115.022 43.344 4803
+-114.896 43.344 4688
+-114.77 43.344 4569
+-114.644 43.344 4448
+-114.518 43.344 4333
+-114.392 43.344 4214
+-114.266 43.344 4111
+-114.14 43.344 4022
+-114.014 43.344 3895
+-113.888 43.344 3742
+-113.762 43.344 3572
+-113.636 43.344 3452
+-113.51 43.344 3324
+-113.384 43.344 3345
+-113.258 43.344 3259
+-113.132 43.344 3286
+-113.006 43.344 3343
+-112.88 43.344 3344
+-112.754 43.344 3351
+-112.628 43.344 3344
+-112.502 43.344 3346
+-112.376 43.344 3326
+-112.25 43.344 3317
+-112.124 43.344 3314
+-111.998 43.344 3310
+-111.872 43.344 3306
+-111.746 43.344 3303
+-111.62 43.344 3300
+-111.494 43.344 3277
+-111.368 43.344 3260
+-111.242 43.344 3229
+-111.116 43.344 3229
+-110.99 43.344 3230
+-110.864 43.344 3232
+-110.738 43.344 3235
+-110.612 43.344 3202
+-110.486 43.344 3209
+-110.36 43.344 3202
+-110.234 43.344 3209
+-110.108 43.344 3148
+-109.982 43.344 3146
+-109.856 43.344 3200
+-109.73 43.344 3162
+-109.604 43.344 3093
+-109.478 43.344 3121
+-109.352 43.344 3126
+-109.226 43.344 3043
+-109.1 43.344 3100
+-108.974 43.344 3105
+-108.848 43.344 3109
+-108.722 43.344 3080
+-108.596 43.344 3084
+-108.47 43.344 3087
+-108.344 43.344 3091
+-108.218 43.344 3094
+-108.092 43.344 3097
+-107.966 43.344 3100
+-107.84 43.344 3103
+-107.714 43.344 3018
+-107.588 43.344 3020
+-107.462 43.344 3066
+-107.336 43.344 3068
+-107.21 43.344 3070
+-107.084 43.344 3073
+-106.958 43.344 3075
+-106.832 43.344 3077
+-106.706 43.344 3079
+-106.58 43.344 3081
+-106.454 43.344 2891
+-106.328 43.344 2894
+-106.202 43.344 2884
+-106.076 43.344 2860
+-105.95 43.344 2660
+-105.824 43.344 2567
+-105.698 43.344 2558
+-105.572 43.344 2550
+-105.446 43.344 2540
+-105.32 43.344 2530
+-105.194 43.344 2410
+-105.068 43.344 2398
+-104.942 43.344 2312
+-104.816 43.344 2245
+-104.69 43.344 2233
+-104.564 43.344 2167
+-104.438 43.344 2139
+-104.312 43.344 2090
+-104.186 43.344 1967
+-104.06 43.344 1981
+-103.934 43.344 2059
+-103.808 43.344 2099
+-103.682 43.344 2296
+-103.556 43.344 2382
+-103.43 43.344 2381
+-103.304 43.344 2498
+-103.178 43.344 2567
+-103.052 43.344 2563
+-102.926 43.344 2559
+-102.8 43.344 2555
+-102.674 43.344 2559
+-102.548 43.344 2611
+-102.422 43.344 2609
+-102.296 43.344 2647
+-102.17 43.344 2643
+-102.044 43.344 2638
+-101.918 43.344 2634
+-101.792 43.344 2630
+-101.666 43.344 2625
+-101.54 43.344 2621
+-101.414 43.344 2617
+-101.288 43.344 2622
+-101.162 43.344 2768
+-101.036 43.344 2763
+-100.91 43.344 2758
+-100.784 43.344 2753
+-100.658 43.344 2742
+-100.532 43.344 2765
+-100.406 43.344 2770
+-100.28 43.344 2766
+-100.154 43.344 2803
+-100.028 43.344 2799
+-99.902 43.344 2787
+-99.776 43.344 2786
+-99.65 43.344 2785
+-99.524 43.344 2784
+-99.398 43.344 2784
+-99.272 43.344 2784
+-99.146 43.344 2824
+-99.02 43.344 2823
+-98.894 43.344 2822
+-98.768 43.344 2766
+-98.642 43.344 2766
+-98.516 43.344 2766
+-98.39 43.344 2770
+-98.264 43.344 2769
+-98.138 43.344 2766
+-98.012 43.344 2763
+-97.886 43.344 2758
+-97.76 43.344 2835
+-97.634 43.344 2827
+-97.508 43.344 2812
+-97.382 43.344 2794
+-97.256 43.344 2774
+-97.13 43.344 2759
+-97.004 43.344 2728
+-96.878 43.344 2682
+-96.752 43.344 2660
+-96.626 43.344 2690
+-96.5 43.344 2630
+-96.374 43.344 2556
+-96.248 43.344 2476
+-96.122 43.344 2404
+-95.996 43.344 2353
+-95.87 43.344 2345
+-95.744 43.344 2395
+-95.618 43.344 2478
+-95.492 43.344 2597
+-95.366 43.344 2744
+-95.24 43.344 2871
+-95.114 43.344 2979
+-94.988 43.344 3063
+-94.862 43.344 3158
+-94.736 43.344 3231
+-94.61 43.344 3292
+-94.484 43.344 3357
+-94.358 43.344 3409
+-94.232 43.344 3427
+-94.106 43.344 3510
+-93.98 43.344 3531
+-93.854 43.344 3620
+-93.728 43.344 3639
+-93.602 43.344 3676
+-93.476 43.344 3701
+-93.35 43.344 3709
+-93.224 43.344 3756
+-93.098 43.344 3808
+-92.972 43.344 3812
+-92.846 43.344 3873
+-92.72 43.344 3984
+-92.594 43.344 4046
+-92.468 43.344 4104
+-92.342 43.344 4143
+-92.216 43.344 4197
+-92.09 43.344 4253
+-91.964 43.344 4279
+-91.838 43.344 4298
+-91.712 43.344 4318
+-91.586 43.344 4325
+-91.46 43.344 4346
+-91.334 43.344 4402
+-91.208 43.344 4419
+-91.082 43.344 4468
+-90.956 43.344 4465
+-90.83 43.344 4481
+-90.704 43.344 4490
+-90.578 43.344 4480
+-90.452 43.344 4488
+-90.326 43.344 4496
+-90.2 43.344 4490
+-90.074 43.344 4472
+-89.948 43.344 4456
+-89.822 43.344 4465
+-89.696 43.344 4464
+-89.57 43.344 4440
+-89.444 43.344 4413
+-89.318 43.344 4368
+-89.192 43.344 4350
+-89.066 43.344 4346
+-88.94 43.344 4319
+-88.814 43.344 4270
+-88.688 43.344 4226
+-88.562 43.344 4131
+-88.436 43.344 4059
+-88.31 43.344 4092
+-88.184 43.344 4080
+-88.058 43.344 4020
+-87.932 43.344 3929
+-87.806 43.344 3777
+-87.68 43.344 3671
+-87.554 43.344 3711
+-87.428 43.344 3718
+-87.302 43.344 3660
+-87.176 43.344 3543
+-87.05 43.344 3400
+-86.924 43.344 3327
+-86.798 43.344 3335
+-86.672 43.344 3328
+-86.546 43.344 3298
+-86.42 43.344 3296
+-86.294 43.344 3291
+-86.168 43.344 3257
+-86.042 43.344 3246
+-85.916 43.344 3229
+-85.79 43.344 3117
+-85.664 43.344 3049
+-85.538 43.344 3026
+-85.412 43.344 3002
+-85.286 43.344 2974
+-85.16 43.344 2955
+-85.034 43.344 2939
+-84.908 43.344 2893
+-84.782 43.344 2879
+-84.656 43.344 2868
+-84.53 43.344 2856
+-84.404 43.344 2848
+-84.278 43.344 2814
+-84.152 43.344 2811
+-84.026 43.344 2810
+-83.9 43.344 2813
+-83.774 43.344 2807
+-83.648 43.344 2817
+-83.522 43.344 2795
+-83.396 43.344 2799
+-83.27 43.344 2799
+-83.144 43.344 2805
+-83.018 43.344 2810
+-82.892 43.344 2814
+-82.766 43.344 2811
+-82.64 43.344 2878
+-82.514 43.344 2884
+-82.388 43.344 2890
+-82.262 43.344 2896
+-82.136 43.344 2966
+-82.01 43.344 2939
+-81.884 43.344 3025
+-81.758 43.344 3032
+-81.632 43.344 3014
+-81.506 43.344 3020
+-81.38 43.344 3025
+-81.254 43.344 3030
+-81.128 43.344 3034
+-81.002 43.344 3039
+-80.876 43.344 3103
+-80.75 43.344 3105
+-80.624 43.344 3111
+-80.498 43.344 3116
+-80.372 43.344 3121
+-80.246 43.344 3081
+-80.12 43.344 3105
+-79.994 43.344 3110
+-79.868 43.344 3163
+-79.742 43.344 3101
+-79.616 43.344 3105
+-79.49 43.344 3110
+-79.364 43.344 3145
+-79.238 43.344 3114
+-79.112 43.344 3118
+-78.986 43.344 3122
+-78.86 43.344 3310
+-78.734 43.344 3270
+-78.608 43.344 3274
+-78.482 43.344 3390
+-78.356 43.344 3371
+-78.23 43.344 3375
+-78.104 43.344 3332
+-77.978 43.344 3403
+-77.852 43.344 3405
+-77.726 43.344 3408
+-77.6 43.344 3411
+-77.474 43.344 3414
+-77.348 43.344 3414
+-77.222 43.344 3416
+-77.096 43.344 3419
+-76.97 43.344 3409
+-76.844 43.344 3364
+-76.718 43.344 3360
+-76.592 43.344 3362
+-76.466 43.344 3364
+-76.34 43.344 3366
+-76.214 43.344 3368
+-76.088 43.344 3370
+-75.962 43.344 3372
+-75.836 43.344 3374
+-75.71 43.344 3376
+-75.584 43.344 3377
+-75.458 43.344 3379
+-75.332 43.344 3380
+-75.206 43.344 3382
+-75.08 43.344 3383
+-74.954 43.344 3385
+-74.828 43.344 3487
+-74.702 43.344 3489
+-74.576 43.344 3476
+-74.45 43.344 3477
+-74.324 43.344 3478
+-74.198 43.344 3480
+-74.072 43.344 3481
+-73.946 43.344 3482
+-73.82 43.344 3483
+-73.694 43.344 3484
+-73.568 43.344 3485
+-73.442 43.344 3486
+-73.316 43.344 3487
+-73.19 43.344 3519
+-73.064 43.344 3520
+-72.938 43.344 3521
+-72.812 43.344 3523
+-72.686 43.344 3524
+-72.56 43.344 3525
+-72.434 43.344 3488
+-72.308 43.344 3489
+-72.182 43.344 3490
+-72.056 43.344 3491
+-71.93 43.344 3524
+-71.804 43.344 3525
+-71.678 43.344 3526
+-71.552 43.344 3482
+-71.426 43.344 3483
+-71.3 43.344 3484
+-71.174 43.344 3620
+-71.048 43.344 3621
+-70.922 43.344 3621
+-70.796 43.344 3622
+-70.67 43.344 3622
+-70.544 43.344 3558
+-70.418 43.344 3559
+-70.292 43.344 3559
+-70.166 43.344 3559
+-70.04 43.344 3560
+-69.914 43.344 3560
+-69.788 43.344 3560
+-69.662 43.344 3560
+-69.536 43.344 3561
+-69.41 43.344 3561
+-69.284 43.344 3541
+-69.158 43.344 3529
+-69.032 43.344 3529
+-68.906 43.344 3530
+-68.78 43.344 3530
+-68.654 43.344 3530
+-68.528 43.344 3512
+-68.402 43.344 3512
+-68.276 43.344 3512
+-68.15 43.344 3513
+-68.024 43.344 3513
+-67.898 43.344 3513
+-67.772 43.344 3513
+-67.646 43.344 3513
+-67.52 43.344 3514
+-67.394 43.344 3462
+-67.268 43.344 3462
+-67.142 43.344 3462
+-67.016 43.344 3462
+-66.89 43.344 3462
+-66.764 43.344 3462
+-66.638 43.344 3463
+-66.512 43.344 3463
+-66.386 43.344 3463
+-66.26 43.344 3463
+-66.134 43.344 3463
+-66.008 43.344 3463
+-65.882 43.344 3464
+-65.756 43.344 3382
+-65.63 43.344 3382
+-65.504 43.344 3382
+-65.378 43.344 3382
+-65.252 43.344 3382
+-65.126 43.344 3382
+-128 43.292 3204
+-127.874 43.292 3115
+-127.748 43.292 3060
+-127.622 43.292 3151
+-127.496 43.292 3263
+-127.37 43.292 3347
+-127.244 43.292 3448
+-127.118 43.292 3564
+-126.992 43.292 3670
+-126.866 43.292 3771
+-126.74 43.292 3874
+-126.614 43.292 4000
+-126.488 43.292 4143
+-126.362 43.292 4224
+-126.236 43.292 4339
+-126.11 43.292 4354
+-125.984 43.292 4307
+-125.858 43.292 4436
+-125.732 43.292 4605
+-125.606 43.292 4627
+-125.48 43.292 4706
+-125.354 43.292 4830
+-125.228 43.292 4882
+-125.102 43.292 4951
+-124.976 43.292 5019
+-124.85 43.292 5083
+-124.724 43.292 5161
+-124.598 43.292 5197
+-124.472 43.292 5251
+-124.346 43.292 5311
+-124.22 43.292 5352
+-124.094 43.292 5438
+-123.968 43.292 5479
+-123.842 43.292 5519
+-123.716 43.292 5529
+-123.59 43.292 5525
+-123.464 43.292 5525
+-123.338 43.292 5541
+-123.212 43.292 5535
+-123.086 43.292 5541
+-122.96 43.292 5536
+-122.834 43.292 5530
+-122.708 43.292 5525
+-122.582 43.292 5551
+-122.456 43.292 5537
+-122.33 43.292 5495
+-122.204 43.292 5500
+-122.078 43.292 5458
+-121.952 43.292 5401
+-121.826 43.292 5336
+-121.7 43.292 5313
+-121.574 43.292 5227
+-121.448 43.292 5179
+-121.322 43.292 5168
+-121.196 43.292 5105
+-121.07 43.292 5093
+-120.944 43.292 5196
+-120.818 43.292 5282
+-120.692 43.292 5345
+-120.566 43.292 5434
+-120.44 43.292 5543
+-120.314 43.292 5593
+-120.188 43.292 5664
+-120.062 43.292 5732
+-119.936 43.292 5802
+-119.81 43.292 5903
+-119.684 43.292 5966
+-119.558 43.292 6017
+-119.432 43.292 6064
+-119.306 43.292 6100
+-119.18 43.292 6140
+-119.054 43.292 6195
+-118.928 43.292 6203
+-118.802 43.292 6224
+-118.676 43.292 6256
+-118.55 43.292 6270
+-118.424 43.292 6278
+-118.298 43.292 6275
+-118.172 43.292 6257
+-118.046 43.292 6242
+-117.92 43.292 6212
+-117.794 43.292 6209
+-117.668 43.292 6178
+-117.542 43.292 6155
+-117.416 43.292 6110
+-117.29 43.292 6033
+-117.164 43.292 5987
+-117.038 43.292 5958
+-116.912 43.292 5910
+-116.786 43.292 5817
+-116.66 43.292 5764
+-116.534 43.292 5694
+-116.408 43.292 5696
+-116.282 43.292 5598
+-116.156 43.292 5476
+-116.03 43.292 5341
+-115.904 43.292 5310
+-115.778 43.292 5244
+-115.652 43.292 5179
+-115.526 43.292 5105
+-115.4 43.292 5060
+-115.274 43.292 4964
+-115.148 43.292 4845
+-115.022 43.292 4778
+-114.896 43.292 4683
+-114.77 43.292 4568
+-114.644 43.292 4449
+-114.518 43.292 4306
+-114.392 43.292 4152
+-114.266 43.292 4060
+-114.14 43.292 3984
+-114.014 43.292 3866
+-113.888 43.292 3746
+-113.762 43.292 3594
+-113.636 43.292 3478
+-113.51 43.292 3403
+-113.384 43.292 3385
+-113.258 43.292 3365
+-113.132 43.292 3365
+-113.006 43.292 3352
+-112.88 43.292 3360
+-112.754 43.292 3361
+-112.628 43.292 3334
+-112.502 43.292 3322
+-112.376 43.292 3314
+-112.25 43.292 3298
+-112.124 43.292 3290
+-111.998 43.292 3282
+-111.872 43.292 3275
+-111.746 43.292 3270
+-111.62 43.292 3266
+-111.494 43.292 3264
+-111.368 43.292 3242
+-111.242 43.292 3227
+-111.116 43.292 3199
+-110.99 43.292 3202
+-110.864 43.292 3205
+-110.738 43.292 3209
+-110.612 43.292 3214
+-110.486 43.292 3182
+-110.36 43.292 3145
+-110.234 43.292 3185
+-110.108 43.292 3193
+-109.982 43.292 3133
+-109.856 43.292 3133
+-109.73 43.292 3140
+-109.604 43.292 3150
+-109.478 43.292 3082
+-109.352 43.292 2981
+-109.226 43.292 3078
+-109.1 43.292 3084
+-108.974 43.292 3089
+-108.848 43.292 3095
+-108.722 43.292 3100
+-108.596 43.292 3071
+-108.47 43.292 3075
+-108.344 43.292 3079
+-108.218 43.292 3083
+-108.092 43.292 3087
+-107.966 43.292 3090
+-107.84 43.292 3006
+-107.714 43.292 3008
+-107.588 43.292 3010
+-107.462 43.292 3013
+-107.336 43.292 3060
+-107.21 43.292 3063
+-107.084 43.292 3065
+-106.958 43.292 3067
+-106.832 43.292 3070
+-106.706 43.292 3072
+-106.58 43.292 3074
+-106.454 43.292 3076
+-106.328 43.292 2886
+-106.202 43.292 2798
+-106.076 43.292 2770
+-105.95 43.292 2649
+-105.824 43.292 2555
+-105.698 43.292 2546
+-105.572 43.292 2537
+-105.446 43.292 2528
+-105.32 43.292 2407
+-105.194 43.292 2396
+-105.068 43.292 2385
+-104.942 43.292 2298
+-104.816 43.292 2231
+-104.69 43.292 2219
+-104.564 43.292 2156
+-104.438 43.292 2129
+-104.312 43.292 2082
+-104.186 43.292 1932
+-104.06 43.292 1977
+-103.934 43.292 2009
+-103.808 43.292 2051
+-103.682 43.292 2238
+-103.556 43.292 2379
+-103.43 43.292 2378
+-103.304 43.292 2496
+-103.178 43.292 2563
+-103.052 43.292 2559
+-102.926 43.292 2555
+-102.8 43.292 2551
+-102.674 43.292 2547
+-102.548 43.292 2551
+-102.422 43.292 2603
+-102.296 43.292 2601
+-102.17 43.292 2638
+-102.044 43.292 2633
+-101.918 43.292 2629
+-101.792 43.292 2624
+-101.666 43.292 2619
+-101.54 43.292 2615
+-101.414 43.292 2611
+-101.288 43.292 2606
+-101.162 43.292 2612
+-101.036 43.292 2756
+-100.91 43.292 2751
+-100.784 43.292 2746
+-100.658 43.292 2742
+-100.532 43.292 2730
+-100.406 43.292 2753
+-100.28 43.292 2758
+-100.154 43.292 2754
+-100.028 43.292 2790
+-99.902 43.292 2786
+-99.776 43.292 2776
+-99.65 43.292 2775
+-99.524 43.292 2775
+-99.398 43.292 2774
+-99.272 43.292 2774
+-99.146 43.292 2774
+-99.02 43.292 2814
+-98.894 43.292 2813
+-98.768 43.292 2812
+-98.642 43.292 2758
+-98.516 43.292 2758
+-98.39 43.292 2757
+-98.264 43.292 2762
+-98.138 43.292 2760
+-98.012 43.292 2757
+-97.886 43.292 2752
+-97.76 43.292 2745
+-97.634 43.292 2818
+-97.508 43.292 2806
+-97.382 43.292 2788
+-97.256 43.292 2766
+-97.13 43.292 2745
+-97.004 43.292 2717
+-96.878 43.292 2678
+-96.752 43.292 2623
+-96.626 43.292 2585
+-96.5 43.292 2581
+-96.374 43.292 2496
+-96.248 43.292 2392
+-96.122 43.292 2285
+-95.996 43.292 2197
+-95.87 43.292 2169
+-95.744 43.292 2231
+-95.618 43.292 2365
+-95.492 43.292 2522
+-95.366 43.292 2676
+-95.24 43.292 2811
+-95.114 43.292 2943
+-94.988 43.292 3050
+-94.862 43.292 3131
+-94.736 43.292 3225
+-94.61 43.292 3296
+-94.484 43.292 3380
+-94.358 43.292 3413
+-94.232 43.292 3469
+-94.106 43.292 3553
+-93.98 43.292 3593
+-93.854 43.292 3620
+-93.728 43.292 3632
+-93.602 43.292 3673
+-93.476 43.292 3693
+-93.35 43.292 3674
+-93.224 43.292 3750
+-93.098 43.292 3815
+-92.972 43.292 3846
+-92.846 43.292 3924
+-92.72 43.292 4023
+-92.594 43.292 4034
+-92.468 43.292 4109
+-92.342 43.292 4121
+-92.216 43.292 4210
+-92.09 43.292 4283
+-91.964 43.292 4281
+-91.838 43.292 4330
+-91.712 43.292 4373
+-91.586 43.292 4427
+-91.46 43.292 4444
+-91.334 43.292 4489
+-91.208 43.292 4525
+-91.082 43.292 4546
+-90.956 43.292 4545
+-90.83 43.292 4527
+-90.704 43.292 4524
+-90.578 43.292 4544
+-90.452 43.292 4564
+-90.326 43.292 4581
+-90.2 43.292 4564
+-90.074 43.292 4550
+-89.948 43.292 4543
+-89.822 43.292 4531
+-89.696 43.292 4523
+-89.57 43.292 4499
+-89.444 43.292 4466
+-89.318 43.292 4419
+-89.192 43.292 4389
+-89.066 43.292 4381
+-88.94 43.292 4341
+-88.814 43.292 4301
+-88.688 43.292 4269
+-88.562 43.292 4198
+-88.436 43.292 4126
+-88.31 43.292 4109
+-88.184 43.292 4094
+-88.058 43.292 4075
+-87.932 43.292 3987
+-87.806 43.292 3872
+-87.68 43.292 3765
+-87.554 43.292 3763
+-87.428 43.292 3744
+-87.302 43.292 3658
+-87.176 43.292 3532
+-87.05 43.292 3356
+-86.924 43.292 3265
+-86.798 43.292 3302
+-86.672 43.292 3286
+-86.546 43.292 3259
+-86.42 43.292 3243
+-86.294 43.292 3259
+-86.168 43.292 3241
+-86.042 43.292 3234
+-85.916 43.292 3215
+-85.79 43.292 3163
+-85.664 43.292 3141
+-85.538 43.292 3018
+-85.412 43.292 2991
+-85.286 43.292 2968
+-85.16 43.292 2950
+-85.034 43.292 2904
+-84.908 43.292 2888
+-84.782 43.292 2874
+-84.656 43.292 2858
+-84.53 43.292 2847
+-84.404 43.292 2839
+-84.278 43.292 2834
+-84.152 43.292 2844
+-84.026 43.292 2809
+-83.9 43.292 2842
+-83.774 43.292 2856
+-83.648 43.292 2862
+-83.522 43.292 2865
+-83.396 43.292 2858
+-83.27 43.292 2807
+-83.144 43.292 2812
+-83.018 43.292 2817
+-82.892 43.292 2873
+-82.766 43.292 2879
+-82.64 43.292 2885
+-82.514 43.292 2892
+-82.388 43.292 2898
+-82.262 43.292 2966
+-82.136 43.292 2939
+-82.01 43.292 3022
+-81.884 43.292 3029
+-81.758 43.292 3012
+-81.632 43.292 3018
+-81.506 43.292 3023
+-81.38 43.292 3028
+-81.254 43.292 3033
+-81.128 43.292 3038
+-81.002 43.292 3102
+-80.876 43.292 3104
+-80.75 43.292 3110
+-80.624 43.292 3115
+-80.498 43.292 3120
+-80.372 43.292 3081
+-80.246 43.292 3105
+-80.12 43.292 3110
+-79.994 43.292 3161
+-79.868 43.292 3101
+-79.742 43.292 3105
+-79.616 43.292 3110
+-79.49 43.292 3145
+-79.364 43.292 3114
+-79.238 43.292 3118
+-79.112 43.292 3122
+-78.986 43.292 3308
+-78.86 43.292 3268
+-78.734 43.292 3272
+-78.608 43.292 3388
+-78.482 43.292 3369
+-78.356 43.292 3374
+-78.23 43.292 3331
+-78.104 43.292 3401
+-77.978 43.292 3404
+-77.852 43.292 3407
+-77.726 43.292 3410
+-77.6 43.292 3413
+-77.474 43.292 3412
+-77.348 43.292 3415
+-77.222 43.292 3418
+-77.096 43.292 3408
+-76.97 43.292 3363
+-76.844 43.292 3359
+-76.718 43.292 3361
+-76.592 43.292 3363
+-76.466 43.292 3366
+-76.34 43.292 3368
+-76.214 43.292 3370
+-76.088 43.292 3371
+-75.962 43.292 3373
+-75.836 43.292 3375
+-75.71 43.292 3377
+-75.584 43.292 3378
+-75.458 43.292 3380
+-75.332 43.292 3382
+-75.206 43.292 3383
+-75.08 43.292 3385
+-74.954 43.292 3487
+-74.828 43.292 3488
+-74.702 43.292 3475
+-74.576 43.292 3476
+-74.45 43.292 3478
+-74.324 43.292 3479
+-74.198 43.292 3480
+-74.072 43.292 3481
+-73.946 43.292 3482
+-73.82 43.292 3484
+-73.694 43.292 3485
+-73.568 43.292 3486
+-73.442 43.292 3487
+-73.316 43.292 3518
+-73.19 43.292 3519
+-73.064 43.292 3521
+-72.938 43.292 3522
+-72.812 43.292 3523
+-72.686 43.292 3525
+-72.56 43.292 3488
+-72.434 43.292 3489
+-72.308 43.292 3490
+-72.182 43.292 3491
+-72.056 43.292 3523
+-71.93 43.292 3524
+-71.804 43.292 3526
+-71.678 43.292 3482
+-71.552 43.292 3483
+-71.426 43.292 3484
+-71.3 43.292 3620
+-71.174 43.292 3620
+-71.048 43.292 3621
+-70.922 43.292 3621
+-70.796 43.292 3622
+-70.67 43.292 3558
+-70.544 43.292 3558
+-70.418 43.292 3559
+-70.292 43.292 3559
+-70.166 43.292 3559
+-70.04 43.292 3560
+-69.914 43.292 3560
+-69.788 43.292 3560
+-69.662 43.292 3560
+-69.536 43.292 3561
+-69.41 43.292 3541
+-69.284 43.292 3529
+-69.158 43.292 3529
+-69.032 43.292 3529
+-68.906 43.292 3530
+-68.78 43.292 3530
+-68.654 43.292 3530
+-68.528 43.292 3512
+-68.402 43.292 3512
+-68.276 43.292 3512
+-68.15 43.292 3513
+-68.024 43.292 3513
+-67.898 43.292 3513
+-67.772 43.292 3513
+-67.646 43.292 3513
+-67.52 43.292 3462
+-67.394 43.292 3462
+-67.268 43.292 3462
+-67.142 43.292 3462
+-67.016 43.292 3462
+-66.89 43.292 3462
+-66.764 43.292 3463
+-66.638 43.292 3463
+-66.512 43.292 3463
+-66.386 43.292 3463
+-66.26 43.292 3463
+-66.134 43.292 3463
+-66.008 43.292 3463
+-65.882 43.292 3382
+-65.756 43.292 3382
+-65.63 43.292 3382
+-65.504 43.292 3382
+-65.378 43.292 3382
+-65.252 43.292 3382
+-65.126 43.292 3381
+-128 43.24 3261
+-127.874 43.24 3215
+-127.748 43.24 3202
+-127.622 43.24 3246
+-127.496 43.24 3316
+-127.37 43.24 3386
+-127.244 43.24 3485
+-127.118 43.24 3558
+-126.992 43.24 3629
+-126.866 43.24 3763
+-126.74 43.24 3859
+-126.614 43.24 3932
+-126.488 43.24 4045
+-126.362 43.24 4154
+-126.236 43.24 4249
+-126.11 43.24 4323
+-125.984 43.24 4359
+-125.858 43.24 4461
+-125.732 43.24 4587
+-125.606 43.24 4642
+-125.48 43.24 4690
+-125.354 43.24 4797
+-125.228 43.24 4798
+-125.102 43.24 4881
+-124.976 43.24 4970
+-124.85 43.24 5024
+-124.724 43.24 5094
+-124.598 43.24 5118
+-124.472 43.24 5173
+-124.346 43.24 5249
+-124.22 43.24 5277
+-124.094 43.24 5342
+-123.968 43.24 5398
+-123.842 43.24 5423
+-123.716 43.24 5444
+-123.59 43.24 5449
+-123.464 43.24 5462
+-123.338 43.24 5481
+-123.212 43.24 5448
+-123.086 43.24 5511
+-122.96 43.24 5484
+-122.834 43.24 5502
+-122.708 43.24 5507
+-122.582 43.24 5496
+-122.456 43.24 5483
+-122.33 43.24 5462
+-122.204 43.24 5411
+-122.078 43.24 5368
+-121.952 43.24 5373
+-121.826 43.24 5274
+-121.7 43.24 5228
+-121.574 43.24 5182
+-121.448 43.24 5137
+-121.322 43.24 5108
+-121.196 43.24 4982
+-121.07 43.24 5085
+-120.944 43.24 5177
+-120.818 43.24 5231
+-120.692 43.24 5289
+-120.566 43.24 5380
+-120.44 43.24 5495
+-120.314 43.24 5545
+-120.188 43.24 5615
+-120.062 43.24 5670
+-119.936 43.24 5732
+-119.81 43.24 5808
+-119.684 43.24 5895
+-119.558 43.24 5934
+-119.432 43.24 5980
+-119.306 43.24 6037
+-119.18 43.24 6067
+-119.054 43.24 6118
+-118.928 43.24 6162
+-118.802 43.24 6150
+-118.676 43.24 6177
+-118.55 43.24 6209
+-118.424 43.24 6221
+-118.298 43.24 6220
+-118.172 43.24 6205
+-118.046 43.24 6182
+-117.92 43.24 6168
+-117.794 43.24 6147
+-117.668 43.24 6136
+-117.542 43.24 6115
+-117.416 43.24 6066
+-117.29 43.24 6005
+-117.164 43.24 5956
+-117.038 43.24 5910
+-116.912 43.24 5857
+-116.786 43.24 5783
+-116.66 43.24 5733
+-116.534 43.24 5699
+-116.408 43.24 5647
+-116.282 43.24 5527
+-116.156 43.24 5414
+-116.03 43.24 5301
+-115.904 43.24 5234
+-115.778 43.24 5210
+-115.652 43.24 5157
+-115.526 43.24 5074
+-115.4 43.24 4990
+-115.274 43.24 4855
+-115.148 43.24 4730
+-115.022 43.24 4718
+-114.896 43.24 4665
+-114.77 43.24 4556
+-114.644 43.24 4437
+-114.518 43.24 4251
+-114.392 43.24 4122
+-114.266 43.24 3997
+-114.14 43.24 3925
+-114.014 43.24 3822
+-113.888 43.24 3733
+-113.762 43.24 3636
+-113.636 43.24 3521
+-113.51 43.24 3463
+-113.384 43.24 3429
+-113.258 43.24 3412
+-113.132 43.24 3373
+-113.006 43.24 3369
+-112.88 43.24 3346
+-112.754 43.24 3337
+-112.628 43.24 3326
+-112.502 43.24 3312
+-112.376 43.24 3291
+-112.25 43.24 3278
+-112.124 43.24 3257
+-111.998 43.24 3246
+-111.872 43.24 3237
+-111.746 43.24 3230
+-111.62 43.24 3226
+-111.494 43.24 3224
+-111.368 43.24 3225
+-111.242 43.24 3207
+-111.116 43.24 3194
+-110.99 43.24 3170
+-110.864 43.24 3175
+-110.738 43.24 3181
+-110.612 43.24 3188
+-110.486 43.24 3111
+-110.36 43.24 3120
+-110.234 43.24 3128
+-110.108 43.24 3137
+-109.982 43.24 3145
+-109.856 43.24 3121
+-109.73 43.24 3121
+-109.604 43.24 3055
+-109.478 43.24 3055
+-109.352 43.24 2985
+-109.226 43.24 2970
+-109.1 43.24 3067
+-108.974 43.24 3073
+-108.848 43.24 3080
+-108.722 43.24 3086
+-108.596 43.24 3091
+-108.47 43.24 3063
+-108.344 43.24 3067
+-108.218 43.24 3072
+-108.092 43.24 3076
+-107.966 43.24 2992
+-107.84 43.24 2995
+-107.714 43.24 2998
+-107.588 43.24 3000
+-107.462 43.24 3003
+-107.336 43.24 3005
+-107.21 43.24 3055
+-107.084 43.24 3058
+-106.958 43.24 3060
+-106.832 43.24 3063
+-106.706 43.24 3065
+-106.58 43.24 3068
+-106.454 43.24 3070
+-106.328 43.24 2788
+-106.202 43.24 2789
+-106.076 43.24 2674
+-105.95 43.24 2652
+-105.824 43.24 2468
+-105.698 43.24 2534
+-105.572 43.24 2525
+-105.446 43.24 2404
+-105.32 43.24 2394
+-105.194 43.24 2383
+-105.068 43.24 2371
+-104.942 43.24 2284
+-104.816 43.24 2218
+-104.69 43.24 2206
+-104.564 43.24 2145
+-104.438 43.24 2119
+-104.312 43.24 2060
+-104.186 43.24 1927
+-104.06 43.24 1972
+-103.934 43.24 2004
+-103.808 43.24 2049
+-103.682 43.24 2215
+-103.556 43.24 2329
+-103.43 43.24 2376
+-103.304 43.24 2493
+-103.178 43.24 2560
+-103.052 43.24 2556
+-102.926 43.24 2552
+-102.8 43.24 2548
+-102.674 43.24 2543
+-102.548 43.24 2539
+-102.422 43.24 2543
+-102.296 43.24 2593
+-102.17 43.24 2591
+-102.044 43.24 2628
+-101.918 43.24 2623
+-101.792 43.24 2618
+-101.666 43.24 2613
+-101.54 43.24 2609
+-101.414 43.24 2604
+-101.288 43.24 2599
+-101.162 43.24 2594
+-101.036 43.24 2602
+-100.91 43.24 2744
+-100.784 43.24 2739
+-100.658 43.24 2734
+-100.532 43.24 2729
+-100.406 43.24 2718
+-100.28 43.24 2741
+-100.154 43.24 2745
+-100.028 43.24 2742
+-99.902 43.24 2776
+-99.776 43.24 2773
+-99.65 43.24 2764
+-99.524 43.24 2764
+-99.398 43.24 2764
+-99.272 43.24 2764
+-99.146 43.24 2764
+-99.02 43.24 2764
+-98.894 43.24 2804
+-98.768 43.24 2803
+-98.642 43.24 2803
+-98.516 43.24 2750
+-98.39 43.24 2750
+-98.264 43.24 2749
+-98.138 43.24 2753
+-98.012 43.24 2751
+-97.886 43.24 2747
+-97.76 43.24 2741
+-97.634 43.24 2732
+-97.508 43.24 2799
+-97.382 43.24 2784
+-97.256 43.24 2762
+-97.13 43.24 2734
+-97.004 43.24 2702
+-96.878 43.24 2670
+-96.752 43.24 2621
+-96.626 43.24 2554
+-96.5 43.24 2495
+-96.374 43.24 2451
+-96.248 43.24 2332
+-96.122 43.24 2191
+-95.996 43.24 2059
+-95.87 43.24 2000
+-95.744 43.24 2081
+-95.618 43.24 2260
+-95.492 43.24 2452
+-95.366 43.24 2620
+-95.24 43.24 2769
+-95.114 43.24 2900
+-94.988 43.24 3028
+-94.862 43.24 3132
+-94.736 43.24 3205
+-94.61 43.24 3297
+-94.484 43.24 3363
+-94.358 43.24 3444
+-94.232 43.24 3471
+-94.106 43.24 3567
+-93.98 43.24 3586
+-93.854 43.24 3592
+-93.728 43.24 3575
+-93.602 43.24 3631
+-93.476 43.24 3708
+-93.35 43.24 3728
+-93.224 43.24 3798
+-93.098 43.24 3818
+-92.972 43.24 3877
+-92.846 43.24 3969
+-92.72 43.24 4050
+-92.594 43.24 4090
+-92.468 43.24 4154
+-92.342 43.24 4203
+-92.216 43.24 4274
+-92.09 43.24 4319
+-91.964 43.24 4342
+-91.838 43.24 4396
+-91.712 43.24 4436
+-91.586 43.24 4486
+-91.46 43.24 4532
+-91.334 43.24 4584
+-91.208 43.24 4634
+-91.082 43.24 4649
+-90.956 43.24 4659
+-90.83 43.24 4636
+-90.704 43.24 4627
+-90.578 43.24 4637
+-90.452 43.24 4647
+-90.326 43.24 4642
+-90.2 43.24 4635
+-90.074 43.24 4600
+-89.948 43.24 4573
+-89.822 43.24 4570
+-89.696 43.24 4540
+-89.57 43.24 4540
+-89.444 43.24 4515
+-89.318 43.24 4471
+-89.192 43.24 4458
+-89.066 43.24 4422
+-88.94 43.24 4371
+-88.814 43.24 4280
+-88.688 43.24 4308
+-88.562 43.24 4252
+-88.436 43.24 4164
+-88.31 43.24 4087
+-88.184 43.24 4066
+-88.058 43.24 4089
+-87.932 43.24 4046
+-87.806 43.24 3984
+-87.68 43.24 3903
+-87.554 43.24 3838
+-87.428 43.24 3795
+-87.302 43.24 3707
+-87.176 43.24 3575
+-87.05 43.24 3427
+-86.924 43.24 3331
+-86.798 43.24 3320
+-86.672 43.24 3219
+-86.546 43.24 3150
+-86.42 43.24 3177
+-86.294 43.24 3230
+-86.168 43.24 3254
+-86.042 43.24 3223
+-85.916 43.24 3177
+-85.79 43.24 3153
+-85.664 43.24 3109
+-85.538 43.24 3077
+-85.412 43.24 3048
+-85.286 43.24 3001
+-85.16 43.24 2939
+-85.034 43.24 2923
+-84.908 43.24 2908
+-84.782 43.24 2893
+-84.656 43.24 2879
+-84.53 43.24 2867
+-84.404 43.24 2859
+-84.278 43.24 2830
+-84.152 43.24 2822
+-84.026 43.24 2828
+-83.9 43.24 2842
+-83.774 43.24 2850
+-83.648 43.24 2854
+-83.522 43.24 2851
+-83.396 43.24 2860
+-83.27 43.24 2868
+-83.144 43.24 2818
+-83.018 43.24 2923
+-82.892 43.24 2878
+-82.766 43.24 2885
+-82.64 43.24 2892
+-82.514 43.24 2899
+-82.388 43.24 2965
+-82.262 43.24 3008
+-82.136 43.24 3018
+-82.01 43.24 3026
+-81.884 43.24 3010
+-81.758 43.24 3016
+-81.632 43.24 3021
+-81.506 43.24 3027
+-81.38 43.24 3032
+-81.254 43.24 3037
+-81.128 43.24 3100
+-81.002 43.24 3102
+-80.876 43.24 3108
+-80.75 43.24 3114
+-80.624 43.24 3119
+-80.498 43.24 3080
+-80.372 43.24 3104
+-80.246 43.24 3109
+-80.12 43.24 3160
+-79.994 43.24 3100
+-79.868 43.24 3105
+-79.742 43.24 3110
+-79.616 43.24 3145
+-79.49 43.24 3114
+-79.364 43.24 3118
+-79.238 43.24 3123
+-79.112 43.24 3305
+-78.986 43.24 3266
+-78.86 43.24 3270
+-78.734 43.24 3385
+-78.608 43.24 3367
+-78.482 43.24 3372
+-78.356 43.24 3329
+-78.23 43.24 3399
+-78.104 43.24 3402
+-77.978 43.24 3405
+-77.852 43.24 3409
+-77.726 43.24 3412
+-77.6 43.24 3411
+-77.474 43.24 3414
+-77.348 43.24 3417
+-77.222 43.24 3406
+-77.096 43.24 3362
+-76.97 43.24 3358
+-76.844 43.24 3361
+-76.718 43.24 3363
+-76.592 43.24 3365
+-76.466 43.24 3367
+-76.34 43.24 3369
+-76.214 43.24 3371
+-76.088 43.24 3373
+-75.962 43.24 3375
+-75.836 43.24 3376
+-75.71 43.24 3378
+-75.584 43.24 3380
+-75.458 43.24 3381
+-75.332 43.24 3383
+-75.206 43.24 3384
+-75.08 43.24 3486
+-74.954 43.24 3487
+-74.828 43.24 3475
+-74.702 43.24 3476
+-74.576 43.24 3477
+-74.45 43.24 3478
+-74.324 43.24 3480
+-74.198 43.24 3481
+-74.072 43.24 3482
+-73.946 43.24 3483
+-73.82 43.24 3484
+-73.694 43.24 3485
+-73.568 43.24 3486
+-73.442 43.24 3517
+-73.316 43.24 3519
+-73.19 43.24 3520
+-73.064 43.24 3522
+-72.938 43.24 3523
+-72.812 43.24 3524
+-72.686 43.24 3487
+-72.56 43.24 3488
+-72.434 43.24 3489
+-72.308 43.24 3490
+-72.182 43.24 3522
+-72.056 43.24 3524
+-71.93 43.24 3525
+-71.804 43.24 3482
+-71.678 43.24 3483
+-71.552 43.24 3484
+-71.426 43.24 3619
+-71.3 43.24 3620
+-71.174 43.24 3620
+-71.048 43.24 3621
+-70.922 43.24 3621
+-70.796 43.24 3558
+-70.67 43.24 3558
+-70.544 43.24 3558
+-70.418 43.24 3559
+-70.292 43.24 3559
+-70.166 43.24 3559
+-70.04 43.24 3560
+-69.914 43.24 3560
+-69.788 43.24 3560
+-69.662 43.24 3560
+-69.536 43.24 3541
+-69.41 43.24 3529
+-69.284 43.24 3529
+-69.158 43.24 3529
+-69.032 43.24 3529
+-68.906 43.24 3530
+-68.78 43.24 3512
+-68.654 43.24 3512
+-68.528 43.24 3512
+-68.402 43.24 3512
+-68.276 43.24 3512
+-68.15 43.24 3513
+-68.024 43.24 3513
+-67.898 43.24 3513
+-67.772 43.24 3513
+-67.646 43.24 3461
+-67.52 43.24 3462
+-67.394 43.24 3462
+-67.268 43.24 3462
+-67.142 43.24 3462
+-67.016 43.24 3462
+-66.89 43.24 3462
+-66.764 43.24 3463
+-66.638 43.24 3463
+-66.512 43.24 3463
+-66.386 43.24 3463
+-66.26 43.24 3463
+-66.134 43.24 3463
+-66.008 43.24 3382
+-65.882 43.24 3382
+-65.756 43.24 3382
+-65.63 43.24 3382
+-65.504 43.24 3382
+-65.378 43.24 3382
+-65.252 43.24 3381
+-65.126 43.24 3381
+-128 43.188 3278
+-127.874 43.188 3295
+-127.748 43.188 3296
+-127.622 43.188 3323
+-127.496 43.188 3369
+-127.37 43.188 3444
+-127.244 43.188 3502
+-127.118 43.188 3595
+-126.992 43.188 3658
+-126.866 43.188 3735
+-126.74 43.188 3806
+-126.614 43.188 3907
+-126.488 43.188 3995
+-126.362 43.188 4034
+-126.236 43.188 4137
+-126.11 43.188 4267
+-125.984 43.188 4389
+-125.858 43.188 4486
+-125.732 43.188 4553
+-125.606 43.188 4632
+-125.48 43.188 4681
+-125.354 43.188 4750
+-125.228 43.188 4785
+-125.102 43.188 4854
+-124.976 43.188 4906
+-124.85 43.188 4952
+-124.724 43.188 5016
+-124.598 43.188 5068
+-124.472 43.188 5099
+-124.346 43.188 5164
+-124.22 43.188 5191
+-124.094 43.188 5234
+-123.968 43.188 5290
+-123.842 43.188 5320
+-123.716 43.188 5359
+-123.59 43.188 5335
+-123.464 43.188 5410
+-123.338 43.188 5449
+-123.212 43.188 5457
+-123.086 43.188 5474
+-122.96 43.188 5470
+-122.834 43.188 5462
+-122.708 43.188 5454
+-122.582 43.188 5425
+-122.456 43.188 5394
+-122.33 43.188 5355
+-122.204 43.188 5322
+-122.078 43.188 5301
+-121.952 43.188 5269
+-121.826 43.188 5222
+-121.7 43.188 5169
+-121.574 43.188 5146
+-121.448 43.188 5089
+-121.322 43.188 5043
+-121.196 43.188 4914
+-121.07 43.188 5050
+-120.944 43.188 5130
+-120.818 43.188 5218
+-120.692 43.188 5305
+-120.566 43.188 5376
+-120.44 43.188 5439
+-120.314 43.188 5537
+-120.188 43.188 5593
+-120.062 43.188 5648
+-119.936 43.188 5735
+-119.81 43.188 5764
+-119.684 43.188 5832
+-119.558 43.188 5896
+-119.432 43.188 5945
+-119.306 43.188 5956
+-119.18 43.188 6000
+-119.054 43.188 6056
+-118.928 43.188 6070
+-118.802 43.188 6091
+-118.676 43.188 6130
+-118.55 43.188 6124
+-118.424 43.188 6139
+-118.298 43.188 6136
+-118.172 43.188 6118
+-118.046 43.188 6100
+-117.92 43.188 6099
+-117.794 43.188 6079
+-117.668 43.188 6076
+-117.542 43.188 6046
+-117.416 43.188 5998
+-117.29 43.188 5923
+-117.164 43.188 5917
+-117.038 43.188 5859
+-116.912 43.188 5787
+-116.786 43.188 5737
+-116.66 43.188 5654
+-116.534 43.188 5650
+-116.408 43.188 5577
+-116.282 43.188 5478
+-116.156 43.188 5352
+-116.03 43.188 5266
+-115.904 43.188 5195
+-115.778 43.188 5124
+-115.652 43.188 5084
+-115.526 43.188 5032
+-115.4 43.188 4931
+-115.274 43.188 4777
+-115.148 43.188 4633
+-115.022 43.188 4684
+-114.896 43.188 4656
+-114.77 43.188 4546
+-114.644 43.188 4414
+-114.518 43.188 4195
+-114.392 43.188 4025
+-114.266 43.188 3947
+-114.14 43.188 3859
+-114.014 43.188 3796
+-113.888 43.188 3731
+-113.762 43.188 3653
+-113.636 43.188 3539
+-113.51 43.188 3475
+-113.384 43.188 3406
+-113.258 43.188 3378
+-113.132 43.188 3367
+-113.006 43.188 3344
+-112.88 43.188 3335
+-112.754 43.188 3323
+-112.628 43.188 3306
+-112.502 43.188 3286
+-112.376 43.188 3266
+-112.25 43.188 3238
+-112.124 43.188 3221
+-111.998 43.188 3199
+-111.872 43.188 3189
+-111.746 43.188 3182
+-111.62 43.188 3179
+-111.494 43.188 3179
+-111.368 43.188 3181
+-111.242 43.188 3186
+-111.116 43.188 3172
+-110.99 43.188 3163
+-110.864 43.188 3143
+-110.738 43.188 3152
+-110.612 43.188 3160
+-110.486 43.188 3053
+-110.36 43.188 3094
+-110.234 43.188 3104
+-110.108 43.188 3114
+-109.982 43.188 3124
+-109.856 43.188 3100
+-109.73 43.188 3029
+-109.604 43.188 3036
+-109.478 43.188 3036
+-109.352 43.188 3044
+-109.226 43.188 2975
+-109.1 43.188 2961
+-108.974 43.188 3058
+-108.848 43.188 3064
+-108.722 43.188 3071
+-108.596 43.188 3077
+-108.47 43.188 3083
+-108.344 43.188 3055
+-108.218 43.188 3060
+-108.092 43.188 2977
+-107.966 43.188 2981
+-107.84 43.188 2984
+-107.714 43.188 2987
+-107.588 43.188 2990
+-107.462 43.188 2993
+-107.336 43.188 2996
+-107.21 43.188 2999
+-107.084 43.188 3001
+-106.958 43.188 3003
+-106.832 43.188 3006
+-106.706 43.188 3008
+-106.58 43.188 3010
+-106.454 43.188 3012
+-106.328 43.188 2779
+-106.202 43.188 2780
+-106.076 43.188 2664
+-105.95 43.188 2641
+-105.824 43.188 2481
+-105.698 43.188 2353
+-105.572 43.188 2404
+-105.446 43.188 2391
+-105.32 43.188 2380
+-105.194 43.188 2369
+-105.068 43.188 2357
+-104.942 43.188 2269
+-104.816 43.188 2204
+-104.69 43.188 2169
+-104.564 43.188 2092
+-104.438 43.188 2079
+-104.312 43.188 2053
+-104.186 43.188 1922
+-104.06 43.188 1967
+-103.934 43.188 2000
+-103.808 43.188 2047
+-103.682 43.188 2213
+-103.556 43.188 2327
+-103.43 43.188 2428
+-103.304 43.188 2437
+-103.178 43.188 2557
+-103.052 43.188 2553
+-102.926 43.188 2548
+-102.8 43.188 2544
+-102.674 43.188 2539
+-102.548 43.188 2535
+-102.422 43.188 2530
+-102.296 43.188 2534
+-102.17 43.188 2583
+-102.044 43.188 2582
+-101.918 43.188 2617
+-101.792 43.188 2612
+-101.666 43.188 2607
+-101.54 43.188 2602
+-101.414 43.188 2597
+-101.288 43.188 2592
+-101.162 43.188 2587
+-101.036 43.188 2582
+-100.91 43.188 2590
+-100.784 43.188 2731
+-100.658 43.188 2726
+-100.532 43.188 2720
+-100.406 43.188 2715
+-100.28 43.188 2705
+-100.154 43.188 2727
+-100.028 43.188 2731
+-99.902 43.188 2728
+-99.776 43.188 2762
+-99.65 43.188 2759
+-99.524 43.188 2752
+-99.398 43.188 2752
+-99.272 43.188 2752
+-99.146 43.188 2753
+-99.02 43.188 2754
+-98.894 43.188 2755
+-98.768 43.188 2794
+-98.642 43.188 2794
+-98.516 43.188 2794
+-98.39 43.188 2742
+-98.264 43.188 2742
+-98.138 43.188 2742
+-98.012 43.188 2745
+-97.886 43.188 2742
+-97.76 43.188 2737
+-97.634 43.188 2729
+-97.508 43.188 2719
+-97.382 43.188 2779
+-97.256 43.188 2761
+-97.13 43.188 2734
+-97.004 43.188 2700
+-96.878 43.188 2665
+-96.752 43.188 2619
+-96.626 43.188 2558
+-96.5 43.188 2477
+-96.374 43.188 2396
+-96.248 43.188 2311
+-96.122 43.188 2159
+-95.996 43.188 2000
+-95.87 43.188 1919
+-95.744 43.188 2016
+-95.618 43.188 2226
+-95.492 43.188 2424
+-95.366 43.188 2589
+-95.24 43.188 2737
+-95.114 43.188 2874
+-94.988 43.188 2997
+-94.862 43.188 3121
+-94.736 43.188 3218
+-94.61 43.188 3282
+-94.484 43.188 3368
+-94.358 43.188 3428
+-94.232 43.188 3565
+-94.106 43.188 3564
+-93.98 43.188 3619
+-93.854 43.188 3565
+-93.728 43.188 3522
+-93.602 43.188 3593
+-93.476 43.188 3729
+-93.35 43.188 3798
+-93.224 43.188 3843
+-93.098 43.188 3861
+-92.972 43.188 3925
+-92.846 43.188 4021
+-92.72 43.188 4093
+-92.594 43.188 4162
+-92.468 43.188 4234
+-92.342 43.188 4286
+-92.216 43.188 4274
+-92.09 43.188 4343
+-91.964 43.188 4396
+-91.838 43.188 4434
+-91.712 43.188 4462
+-91.586 43.188 4517
+-91.46 43.188 4583
+-91.334 43.188 4637
+-91.208 43.188 4691
+-91.082 43.188 4722
+-90.956 43.188 4743
+-90.83 43.188 4731
+-90.704 43.188 4692
+-90.578 43.188 4693
+-90.452 43.188 4694
+-90.326 43.188 4679
+-90.2 43.188 4680
+-90.074 43.188 4655
+-89.948 43.188 4626
+-89.822 43.188 4633
+-89.696 43.188 4603
+-89.57 43.188 4587
+-89.444 43.188 4562
+-89.318 43.188 4527
+-89.192 43.188 4494
+-89.066 43.188 4457
+-88.94 43.188 4421
+-88.814 43.188 4371
+-88.688 43.188 4339
+-88.562 43.188 4300
+-88.436 43.188 4219
+-88.31 43.188 4162
+-88.184 43.188 4130
+-88.058 43.188 4124
+-87.932 43.188 4102
+-87.806 43.188 4040
+-87.68 43.188 3999
+-87.554 43.188 3910
+-87.428 43.188 3818
+-87.302 43.188 3754
+-87.176 43.188 3631
+-87.05 43.188 3513
+-86.924 43.188 3422
+-86.798 43.188 3341
+-86.672 43.188 3174
+-86.546 43.188 3058
+-86.42 43.188 3143
+-86.294 43.188 3219
+-86.168 43.188 3247
+-86.042 43.188 3193
+-85.916 43.188 3173
+-85.79 43.188 3125
+-85.664 43.188 3084
+-85.538 43.188 3043
+-85.412 43.188 2989
+-85.286 43.188 2964
+-85.16 43.188 2949
+-85.034 43.188 2936
+-84.908 43.188 2887
+-84.782 43.188 2869
+-84.656 43.188 2852
+-84.53 43.188 2838
+-84.404 43.188 2808
+-84.278 43.188 2799
+-84.152 43.188 2804
+-84.026 43.188 2818
+-83.9 43.188 2829
+-83.774 43.188 2836
+-83.648 43.188 2848
+-83.522 43.188 2849
+-83.396 43.188 2860
+-83.27 43.188 2903
+-83.144 43.188 2915
+-83.018 43.188 2933
+-82.892 43.188 2884
+-82.766 43.188 2892
+-82.64 43.188 2960
+-82.514 43.188 2963
+-82.388 43.188 3003
+-82.262 43.188 3014
+-82.136 43.188 3022
+-82.01 43.188 3007
+-81.884 43.188 3013
+-81.758 43.188 3019
+-81.632 43.188 3025
+-81.506 43.188 3030
+-81.38 43.188 3036
+-81.254 43.188 3098
+-81.128 43.188 3101
+-81.002 43.188 3107
+-80.876 43.188 3113
+-80.75 43.188 3118
+-80.624 43.188 3080
+-80.498 43.188 3103
+-80.372 43.188 3109
+-80.246 43.188 3159
+-80.12 43.188 3100
+-79.994 43.188 3105
+-79.868 43.188 3110
+-79.742 43.188 3144
+-79.616 43.188 3114
+-79.49 43.188 3119
+-79.364 43.188 3123
+-79.238 43.188 3303
+-79.112 43.188 3264
+-78.986 43.188 3269
+-78.86 43.188 3383
+-78.734 43.188 3365
+-78.608 43.188 3370
+-78.482 43.188 3327
+-78.356 43.188 3398
+-78.23 43.188 3400
+-78.104 43.188 3404
+-77.978 43.188 3407
+-77.852 43.188 3410
+-77.726 43.188 3410
+-77.6 43.188 3413
+-77.474 43.188 3416
+-77.348 43.188 3405
+-77.222 43.188 3361
+-77.096 43.188 3357
+-76.97 43.188 3360
+-76.844 43.188 3362
+-76.718 43.188 3364
+-76.592 43.188 3366
+-76.466 43.188 3369
+-76.34 43.188 3371
+-76.214 43.188 3372
+-76.088 43.188 3374
+-75.962 43.188 3376
+-75.836 43.188 3378
+-75.71 43.188 3380
+-75.584 43.188 3381
+-75.458 43.188 3383
+-75.332 43.188 3384
+-75.206 43.188 3485
+-75.08 43.188 3487
+-74.954 43.188 3474
+-74.828 43.188 3475
+-74.702 43.188 3477
+-74.576 43.188 3478
+-74.45 43.188 3479
+-74.324 43.188 3480
+-74.198 43.188 3481
+-74.072 43.188 3483
+-73.946 43.188 3484
+-73.82 43.188 3485
+-73.694 43.188 3486
+-73.568 43.188 3517
+-73.442 43.188 3518
+-73.316 43.188 3520
+-73.19 43.188 3521
+-73.064 43.188 3522
+-72.938 43.188 3524
+-72.812 43.188 3487
+-72.686 43.188 3488
+-72.56 43.188 3489
+-72.434 43.188 3490
+-72.308 43.188 3522
+-72.182 43.188 3523
+-72.056 43.188 3525
+-71.93 43.188 3481
+-71.804 43.188 3482
+-71.678 43.188 3484
+-71.552 43.188 3619
+-71.426 43.188 3619
+-71.3 43.188 3620
+-71.174 43.188 3620
+-71.048 43.188 3621
+-70.922 43.188 3558
+-70.796 43.188 3558
+-70.67 43.188 3558
+-70.544 43.188 3559
+-70.418 43.188 3559
+-70.292 43.188 3559
+-70.166 43.188 3559
+-70.04 43.188 3560
+-69.914 43.188 3560
+-69.788 43.188 3560
+-69.662 43.188 3541
+-69.536 43.188 3528
+-69.41 43.188 3529
+-69.284 43.188 3529
+-69.158 43.188 3529
+-69.032 43.188 3530
+-68.906 43.188 3530
+-68.78 43.188 3512
+-68.654 43.188 3512
+-68.528 43.188 3512
+-68.402 43.188 3512
+-68.276 43.188 3513
+-68.15 43.188 3513
+-68.024 43.188 3513
+-67.898 43.188 3513
+-67.772 43.188 3461
+-67.646 43.188 3461
+-67.52 43.188 3462
+-67.394 43.188 3462
+-67.268 43.188 3462
+-67.142 43.188 3462
+-67.016 43.188 3462
+-66.89 43.188 3462
+-66.764 43.188 3463
+-66.638 43.188 3463
+-66.512 43.188 3463
+-66.386 43.188 3463
+-66.26 43.188 3463
+-66.134 43.188 3382
+-66.008 43.188 3382
+-65.882 43.188 3382
+-65.756 43.188 3382
+-65.63 43.188 3382
+-65.504 43.188 3382
+-65.378 43.188 3381
+-65.252 43.188 3381
+-65.126 43.188 3381
+-128 43.136 3310
+-127.874 43.136 3316
+-127.748 43.136 3325
+-127.622 43.136 3376
+-127.496 43.136 3432
+-127.37 43.136 3473
+-127.244 43.136 3550
+-127.118 43.136 3599
+-126.992 43.136 3636
+-126.866 43.136 3695
+-126.74 43.136 3756
+-126.614 43.136 3863
+-126.488 43.136 3970
+-126.362 43.136 4001
+-126.236 43.136 4064
+-126.11 43.136 4214
+-125.984 43.136 4347
+-125.858 43.136 4484
+-125.732 43.136 4542
+-125.606 43.136 4605
+-125.48 43.136 4638
+-125.354 43.136 4657
+-125.228 43.136 4713
+-125.102 43.136 4781
+-124.976 43.136 4831
+-124.85 43.136 4874
+-124.724 43.136 4926
+-124.598 43.136 4967
+-124.472 43.136 5007
+-124.346 43.136 5062
+-124.22 43.136 5134
+-124.094 43.136 5188
+-123.968 43.136 5241
+-123.842 43.136 5265
+-123.716 43.136 5295
+-123.59 43.136 5332
+-123.464 43.136 5358
+-123.338 43.136 5371
+-123.212 43.136 5398
+-123.086 43.136 5399
+-122.96 43.136 5392
+-122.834 43.136 5393
+-122.708 43.136 5375
+-122.582 43.136 5350
+-122.456 43.136 5329
+-122.33 43.136 5349
+-122.204 43.136 5297
+-122.078 43.136 5228
+-121.952 43.136 5198
+-121.826 43.136 5171
+-121.7 43.136 5134
+-121.574 43.136 5076
+-121.448 43.136 5035
+-121.322 43.136 5013
+-121.196 43.136 4996
+-121.07 43.136 5037
+-120.944 43.136 5115
+-120.818 43.136 5154
+-120.692 43.136 5279
+-120.566 43.136 5323
+-120.44 43.136 5405
+-120.314 43.136 5516
+-120.188 43.136 5582
+-120.062 43.136 5612
+-119.936 43.136 5676
+-119.81 43.136 5755
+-119.684 43.136 5782
+-119.558 43.136 5841
+-119.432 43.136 5891
+-119.306 43.136 5895
+-119.18 43.136 5943
+-119.054 43.136 5991
+-118.928 43.136 6026
+-118.802 43.136 6057
+-118.676 43.136 6061
+-118.55 43.136 6060
+-118.424 43.136 6057
+-118.298 43.136 6058
+-118.172 43.136 6081
+-118.046 43.136 6050
+-117.92 43.136 6053
+-117.794 43.136 6067
+-117.668 43.136 6034
+-117.542 43.136 5973
+-117.416 43.136 5947
+-117.29 43.136 5920
+-117.164 43.136 5864
+-117.038 43.136 5807
+-116.912 43.136 5752
+-116.786 43.136 5701
+-116.66 43.136 5643
+-116.534 43.136 5582
+-116.408 43.136 5493
+-116.282 43.136 5425
+-116.156 43.136 5310
+-116.03 43.136 5227
+-115.904 43.136 5134
+-115.778 43.136 5053
+-115.652 43.136 5012
+-115.526 43.136 4971
+-115.4 43.136 4914
+-115.274 43.136 4808
+-115.148 43.136 4712
+-115.022 43.136 4697
+-114.896 43.136 4623
+-114.77 43.136 4503
+-114.644 43.136 4350
+-114.518 43.136 4094
+-114.392 43.136 3956
+-114.266 43.136 3898
+-114.14 43.136 3853
+-114.014 43.136 3769
+-113.888 43.136 3711
+-113.762 43.136 3615
+-113.636 43.136 3519
+-113.51 43.136 3388
+-113.384 43.136 3326
+-113.258 43.136 3306
+-113.132 43.136 3316
+-113.006 43.136 3317
+-112.88 43.136 3311
+-112.754 43.136 3296
+-112.628 43.136 3273
+-112.502 43.136 3247
+-112.376 43.136 3220
+-112.25 43.136 3195
+-112.124 43.136 3164
+-111.998 43.136 3149
+-111.872 43.136 3130
+-111.746 43.136 3125
+-111.62 43.136 3124
+-111.494 43.136 3126
+-111.368 43.136 3132
+-111.242 43.136 3140
+-111.116 43.136 3150
+-110.99 43.136 3141
+-110.864 43.136 3136
+-110.738 43.136 3120
+-110.612 43.136 3131
+-110.486 43.136 3143
+-110.36 43.136 3037
+-110.234 43.136 3079
+-110.108 43.136 3091
+-109.982 43.136 3029
+-109.856 43.136 3037
+-109.73 43.136 3009
+-109.604 43.136 3017
+-109.478 43.136 3025
+-109.352 43.136 3025
+-109.226 43.136 3034
+-109.1 43.136 2966
+-108.974 43.136 2952
+-108.848 43.136 3049
+-108.722 43.136 3057
+-108.596 43.136 3064
+-108.47 43.136 3070
+-108.344 43.136 3077
+-108.218 43.136 3049
+-108.092 43.136 2966
+-107.966 43.136 2970
+-107.84 43.136 2973
+-107.714 43.136 2977
+-107.588 43.136 2980
+-107.462 43.136 2983
+-107.336 43.136 2987
+-107.21 43.136 2989
+-107.084 43.136 2992
+-106.958 43.136 2995
+-106.832 43.136 2997
+-106.706 43.136 3000
+-106.58 43.136 3002
+-106.454 43.136 3005
+-106.328 43.136 3007
+-106.202 43.136 2771
+-106.076 43.136 2654
+-105.95 43.136 2402
+-105.824 43.136 2350
+-105.698 43.136 2340
+-105.572 43.136 2400
+-105.446 43.136 2380
+-105.32 43.136 2366
+-105.194 43.136 2355
+-105.068 43.136 2302
+-104.942 43.136 2255
+-104.816 43.136 2190
+-104.69 43.136 2116
+-104.564 43.136 2082
+-104.438 43.136 2070
+-104.312 43.136 2046
+-104.186 43.136 1918
+-104.06 43.136 1963
+-103.934 43.136 1996
+-103.808 43.136 2044
+-103.682 43.136 2211
+-103.556 43.136 2324
+-103.43 43.136 2425
+-103.304 43.136 2487
+-103.178 43.136 2497
+-103.052 43.136 2549
+-102.926 43.136 2545
+-102.8 43.136 2540
+-102.674 43.136 2535
+-102.548 43.136 2531
+-102.422 43.136 2526
+-102.296 43.136 2521
+-102.17 43.136 2524
+-102.044 43.136 2573
+-101.918 43.136 2571
+-101.792 43.136 2606
+-101.666 43.136 2600
+-101.54 43.136 2595
+-101.414 43.136 2590
+-101.288 43.136 2584
+-101.162 43.136 2579
+-101.036 43.136 2573
+-100.91 43.136 2568
+-100.784 43.136 2578
+-100.658 43.136 2717
+-100.532 43.136 2711
+-100.406 43.136 2706
+-100.28 43.136 2700
+-100.154 43.136 2690
+-100.028 43.136 2712
+-99.902 43.136 2717
+-99.776 43.136 2713
+-99.65 43.136 2747
+-99.524 43.136 2744
+-99.398 43.136 2739
+-99.272 43.136 2740
+-99.146 43.136 2741
+-99.02 43.136 2742
+-98.894 43.136 2744
+-98.768 43.136 2745
+-98.642 43.136 2784
+-98.516 43.136 2785
+-98.39 43.136 2785
+-98.264 43.136 2735
+-98.138 43.136 2735
+-98.012 43.136 2735
+-97.886 43.136 2737
+-97.76 43.136 2733
+-97.634 43.136 2727
+-97.508 43.136 2718
+-97.382 43.136 2706
+-97.256 43.136 2759
+-97.13 43.136 2737
+-97.004 43.136 2705
+-96.878 43.136 2665
+-96.752 43.136 2619
+-96.626 43.136 2568
+-96.5 43.136 2497
+-96.374 43.136 2406
+-96.248 43.136 2339
+-96.122 43.136 2211
+-95.996 43.136 2079
+-95.87 43.136 2018
+-95.744 43.136 2112
+-95.618 43.136 2282
+-95.492 43.136 2432
+-95.366 43.136 2571
+-95.24 43.136 2713
+-95.114 43.136 2854
+-94.988 43.136 3003
+-94.862 43.136 3122
+-94.736 43.136 3217
+-94.61 43.136 3303
+-94.484 43.136 3375
+-94.358 43.136 3435
+-94.232 43.136 3548
+-94.106 43.136 3589
+-93.98 43.136 3635
+-93.854 43.136 3606
+-93.728 43.136 3593
+-93.602 43.136 3663
+-93.476 43.136 3776
+-93.35 43.136 3855
+-93.224 43.136 3912
+-93.098 43.136 3968
+-92.972 43.136 4011
+-92.846 43.136 4095
+-92.72 43.136 4160
+-92.594 43.136 4236
+-92.468 43.136 4291
+-92.342 43.136 4340
+-92.216 43.136 4348
+-92.09 43.136 4391
+-91.964 43.136 4434
+-91.838 43.136 4472
+-91.712 43.136 4531
+-91.586 43.136 4571
+-91.46 43.136 4644
+-91.334 43.136 4706
+-91.208 43.136 4728
+-91.082 43.136 4773
+-90.956 43.136 4789
+-90.83 43.136 4793
+-90.704 43.136 4775
+-90.578 43.136 4746
+-90.452 43.136 4723
+-90.326 43.136 4720
+-90.2 43.136 4705
+-90.074 43.136 4705
+-89.948 43.136 4697
+-89.822 43.136 4695
+-89.696 43.136 4679
+-89.57 43.136 4646
+-89.444 43.136 4617
+-89.318 43.136 4562
+-89.192 43.136 4526
+-89.066 43.136 4494
+-88.94 43.136 4468
+-88.814 43.136 4424
+-88.688 43.136 4368
+-88.562 43.136 4316
+-88.436 43.136 4262
+-88.31 43.136 4178
+-88.184 43.136 4186
+-88.058 43.136 4152
+-87.932 43.136 4120
+-87.806 43.136 4070
+-87.68 43.136 4019
+-87.554 43.136 3944
+-87.428 43.136 3860
+-87.302 43.136 3802
+-87.176 43.136 3698
+-87.05 43.136 3581
+-86.924 43.136 3479
+-86.798 43.136 3380
+-86.672 43.136 3257
+-86.546 43.136 3175
+-86.42 43.136 3203
+-86.294 43.136 3233
+-86.168 43.136 3232
+-86.042 43.136 3197
+-85.916 43.136 3153
+-85.79 43.136 3108
+-85.664 43.136 3054
+-85.538 43.136 2982
+-85.412 43.136 2943
+-85.286 43.136 2922
+-85.16 43.136 2912
+-85.034 43.136 2903
+-84.908 43.136 2889
+-84.782 43.136 2870
+-84.656 43.136 2848
+-84.53 43.136 2793
+-84.404 43.136 2791
+-84.278 43.136 2795
+-84.152 43.136 2782
+-84.026 43.136 2797
+-83.9 43.136 2809
+-83.774 43.136 2825
+-83.648 43.136 2840
+-83.522 43.136 2890
+-83.396 43.136 2889
+-83.27 43.136 2904
+-83.144 43.136 2924
+-83.018 43.136 2936
+-82.892 43.136 2947
+-82.766 43.136 2955
+-82.64 43.136 2959
+-82.514 43.136 2997
+-82.388 43.136 3009
+-82.262 43.136 3017
+-82.136 43.136 3003
+-82.01 43.136 3010
+-81.884 43.136 3017
+-81.758 43.136 3023
+-81.632 43.136 3029
+-81.506 43.136 3034
+-81.38 43.136 3096
+-81.254 43.136 3099
+-81.128 43.136 3106
+-81.002 43.136 3112
+-80.876 43.136 3117
+-80.75 43.136 3080
+-80.624 43.136 3103
+-80.498 43.136 3108
+-80.372 43.136 3159
+-80.246 43.136 3100
+-80.12 43.136 3105
+-79.994 43.136 3110
+-79.868 43.136 3144
+-79.742 43.136 3115
+-79.616 43.136 3119
+-79.49 43.136 3124
+-79.364 43.136 3300
+-79.238 43.136 3262
+-79.112 43.136 3267
+-78.986 43.136 3380
+-78.86 43.136 3363
+-78.734 43.136 3368
+-78.608 43.136 3326
+-78.482 43.136 3396
+-78.356 43.136 3398
+-78.23 43.136 3402
+-78.104 43.136 3406
+-77.978 43.136 3409
+-77.852 43.136 3408
+-77.726 43.136 3412
+-77.6 43.136 3415
+-77.474 43.136 3404
+-77.348 43.136 3360
+-77.222 43.136 3357
+-77.096 43.136 3359
+-76.97 43.136 3361
+-76.844 43.136 3364
+-76.718 43.136 3366
+-76.592 43.136 3368
+-76.466 43.136 3370
+-76.34 43.136 3372
+-76.214 43.136 3374
+-76.088 43.136 3376
+-75.962 43.136 3378
+-75.836 43.136 3379
+-75.71 43.136 3381
+-75.584 43.136 3383
+-75.458 43.136 3384
+-75.332 43.136 3484
+-75.206 43.136 3486
+-75.08 43.136 3473
+-74.954 43.136 3475
+-74.828 43.136 3476
+-74.702 43.136 3477
+-74.576 43.136 3479
+-74.45 43.136 3480
+-74.324 43.136 3481
+-74.198 43.136 3482
+-74.072 43.136 3483
+-73.946 43.136 3484
+-73.82 43.136 3486
+-73.694 43.136 3516
+-73.568 43.136 3518
+-73.442 43.136 3519
+-73.316 43.136 3520
+-73.19 43.136 3522
+-73.064 43.136 3523
+-72.938 43.136 3486
+-72.812 43.136 3488
+-72.686 43.136 3489
+-72.56 43.136 3490
+-72.434 43.136 3521
+-72.308 43.136 3523
+-72.182 43.136 3524
+-72.056 43.136 3481
+-71.93 43.136 3482
+-71.804 43.136 3483
+-71.678 43.136 3618
+-71.552 43.136 3619
+-71.426 43.136 3620
+-71.3 43.136 3620
+-71.174 43.136 3621
+-71.048 43.136 3557
+-70.922 43.136 3558
+-70.796 43.136 3558
+-70.67 43.136 3558
+-70.544 43.136 3559
+-70.418 43.136 3559
+-70.292 43.136 3559
+-70.166 43.136 3559
+-70.04 43.136 3560
+-69.914 43.136 3560
+-69.788 43.136 3540
+-69.662 43.136 3528
+-69.536 43.136 3528
+-69.41 43.136 3529
+-69.284 43.136 3529
+-69.158 43.136 3529
+-69.032 43.136 3511
+-68.906 43.136 3511
+-68.78 43.136 3512
+-68.654 43.136 3512
+-68.528 43.136 3512
+-68.402 43.136 3512
+-68.276 43.136 3513
+-68.15 43.136 3513
+-68.024 43.136 3513
+-67.898 43.136 3461
+-67.772 43.136 3461
+-67.646 43.136 3461
+-67.52 43.136 3462
+-67.394 43.136 3462
+-67.268 43.136 3462
+-67.142 43.136 3462
+-67.016 43.136 3462
+-66.89 43.136 3462
+-66.764 43.136 3463
+-66.638 43.136 3463
+-66.512 43.136 3463
+-66.386 43.136 3463
+-66.26 43.136 3382
+-66.134 43.136 3382
+-66.008 43.136 3382
+-65.882 43.136 3382
+-65.756 43.136 3382
+-65.63 43.136 3382
+-65.504 43.136 3381
+-65.378 43.136 3381
+-65.252 43.136 3381
+-65.126 43.136 3381
+-128 43.084 3339
+-127.874 43.084 3343
+-127.748 43.084 3354
+-127.622 43.084 3384
+-127.496 43.084 3410
+-127.37 43.084 3516
+-127.244 43.084 3552
+-127.118 43.084 3582
+-126.992 43.084 3630
+-126.866 43.084 3636
+-126.74 43.084 3643
+-126.614 43.084 3749
+-126.488 43.084 3923
+-126.362 43.084 4005
+-126.236 43.084 4060
+-126.11 43.084 4180
+-125.984 43.084 4300
+-125.858 43.084 4406
+-125.732 43.084 4492
+-125.606 43.084 4577
+-125.48 43.084 4602
+-125.354 43.084 4584
+-125.228 43.084 4661
+-125.102 43.084 4708
+-124.976 43.084 4791
+-124.85 43.084 4827
+-124.724 43.084 4903
+-124.598 43.084 4950
+-124.472 43.084 4962
+-124.346 43.084 5019
+-124.22 43.084 5088
+-124.094 43.084 5122
+-123.968 43.084 5163
+-123.842 43.084 5214
+-123.716 43.084 5243
+-123.59 43.084 5256
+-123.464 43.084 5270
+-123.338 43.084 5294
+-123.212 43.084 5313
+-123.086 43.084 5307
+-122.96 43.084 5305
+-122.834 43.084 5320
+-122.708 43.084 5303
+-122.582 43.084 5296
+-122.456 43.084 5279
+-122.33 43.084 5272
+-122.204 43.084 5226
+-122.078 43.084 5172
+-121.952 43.084 5132
+-121.826 43.084 5098
+-121.7 43.084 5068
+-121.574 43.084 5024
+-121.448 43.084 5001
+-121.322 43.084 4959
+-121.196 43.084 4956
+-121.07 43.084 4947
+-120.944 43.084 5063
+-120.818 43.084 5106
+-120.692 43.084 5223
+-120.566 43.084 5309
+-120.44 43.084 5389
+-120.314 43.084 5461
+-120.188 43.084 5544
+-120.062 43.084 5577
+-119.936 43.084 5646
+-119.81 43.084 5684
+-119.684 43.084 5725
+-119.558 43.084 5776
+-119.432 43.084 5837
+-119.306 43.084 5841
+-119.18 43.084 5890
+-119.054 43.084 5937
+-118.928 43.084 5990
+-118.802 43.084 5996
+-118.676 43.084 6034
+-118.55 43.084 6007
+-118.424 43.084 5990
+-118.298 43.084 6003
+-118.172 43.084 6015
+-118.046 43.084 6003
+-117.92 43.084 5989
+-117.794 43.084 5996
+-117.668 43.084 5969
+-117.542 43.084 5924
+-117.416 43.084 5899
+-117.29 43.084 5858
+-117.164 43.084 5776
+-117.038 43.084 5733
+-116.912 43.084 5669
+-116.786 43.084 5624
+-116.66 43.084 5556
+-116.534 43.084 5501
+-116.408 43.084 5435
+-116.282 43.084 5403
+-116.156 43.084 5261
+-116.03 43.084 5202
+-115.904 43.084 5130
+-115.778 43.084 5025
+-115.652 43.084 4931
+-115.526 43.084 4914
+-115.4 43.084 4884
+-115.274 43.084 4816
+-115.148 43.084 4759
+-115.022 43.084 4686
+-114.896 43.084 4603
+-114.77 43.084 4449
+-114.644 43.084 4283
+-114.518 43.084 4067
+-114.392 43.084 3924
+-114.266 43.084 3888
+-114.14 43.084 3823
+-114.014 43.084 3705
+-113.888 43.084 3672
+-113.762 43.084 3607
+-113.636 43.084 3448
+-113.51 43.084 3279
+-113.384 43.084 3170
+-113.258 43.084 3205
+-113.132 43.084 3261
+-113.006 43.084 3286
+-112.88 43.084 3278
+-112.754 43.084 3258
+-112.628 43.084 3227
+-112.502 43.084 3193
+-112.376 43.084 3158
+-112.25 43.084 3128
+-112.124 43.084 3103
+-111.998 43.084 3075
+-111.872 43.084 3066
+-111.746 43.084 3056
+-111.62 43.084 3059
+-111.494 43.084 3066
+-111.368 43.084 3076
+-111.242 43.084 3089
+-111.116 43.084 3104
+-110.99 43.084 3062
+-110.864 43.084 3076
+-110.738 43.084 3114
+-110.612 43.084 3101
+-110.486 43.084 3115
+-110.36 43.084 3129
+-110.234 43.084 3024
+-110.108 43.084 2964
+-109.982 43.084 2973
+-109.856 43.084 2982
+-109.73 43.084 2991
+-109.604 43.084 2999
+-109.478 43.084 3008
+-109.352 43.084 3016
+-109.226 43.084 3016
+-109.1 43.084 3025
+-108.974 43.084 2958
+-108.848 43.084 2945
+-108.722 43.084 3042
+-108.596 43.084 3050
+-108.47 43.084 3057
+-108.344 43.084 3064
+-108.218 43.084 2992
+-108.092 43.084 3043
+-107.966 43.084 2958
+-107.84 43.084 2962
+-107.714 43.084 2966
+-107.588 43.084 2970
+-107.462 43.084 2974
+-107.336 43.084 2977
+-107.21 43.084 2980
+-107.084 43.084 2983
+-106.958 43.084 2986
+-106.832 43.084 2989
+-106.706 43.084 2992
+-106.58 43.084 2995
+-106.454 43.084 2997
+-106.328 43.084 2999
+-106.202 43.084 3002
+-106.076 43.084 2533
+-105.95 43.084 2509
+-105.824 43.084 2337
+-105.698 43.084 2328
+-105.572 43.084 2318
+-105.446 43.084 2376
+-105.32 43.084 2356
+-105.194 43.084 2341
+-105.068 43.084 2289
+-104.942 43.084 2196
+-104.816 43.084 2133
+-104.69 43.084 2104
+-104.564 43.084 2072
+-104.438 43.084 2061
+-104.312 43.084 2038
+-104.186 43.084 1913
+-104.06 43.084 1934
+-103.934 43.084 1991
+-103.808 43.084 2042
+-103.682 43.084 2209
+-103.556 43.084 2322
+-103.43 43.084 2423
+-103.304 43.084 2484
+-103.178 43.084 2479
+-103.052 43.084 2490
+-102.926 43.084 2541
+-102.8 43.084 2536
+-102.674 43.084 2531
+-102.548 43.084 2526
+-102.422 43.084 2521
+-102.296 43.084 2516
+-102.17 43.084 2511
+-102.044 43.084 2513
+-101.918 43.084 2561
+-101.792 43.084 2560
+-101.666 43.084 2594
+-101.54 43.084 2588
+-101.414 43.084 2582
+-101.288 43.084 2576
+-101.162 43.084 2570
+-101.036 43.084 2565
+-100.91 43.084 2559
+-100.784 43.084 2553
+-100.658 43.084 2564
+-100.532 43.084 2701
+-100.406 43.084 2695
+-100.28 43.084 2690
+-100.154 43.084 2684
+-100.028 43.084 2675
+-99.902 43.084 2696
+-99.776 43.084 2701
+-99.65 43.084 2698
+-99.524 43.084 2731
+-99.398 43.084 2728
+-99.272 43.084 2726
+-99.146 43.084 2727
+-99.02 43.084 2729
+-98.894 43.084 2731
+-98.768 43.084 2733
+-98.642 43.084 2736
+-98.516 43.084 2775
+-98.39 43.084 2776
+-98.264 43.084 2777
+-98.138 43.084 2729
+-98.012 43.084 2729
+-97.886 43.084 2728
+-97.76 43.084 2730
+-97.634 43.084 2726
+-97.508 43.084 2719
+-97.382 43.084 2708
+-97.256 43.084 2693
+-97.13 43.084 2740
+-97.004 43.084 2714
+-96.878 43.084 2677
+-96.752 43.084 2633
+-96.626 43.084 2585
+-96.5 43.084 2525
+-96.374 43.084 2452
+-96.248 43.084 2397
+-96.122 43.084 2312
+-95.996 43.084 2241
+-95.87 43.084 2224
+-95.744 43.084 2278
+-95.618 43.084 2349
+-95.492 43.084 2431
+-95.366 43.084 2548
+-95.24 43.084 2690
+-95.114 43.084 2840
+-94.988 43.084 2981
+-94.862 43.084 3122
+-94.736 43.084 3228
+-94.61 43.084 3310
+-94.484 43.084 3409
+-94.358 43.084 3487
+-94.232 43.084 3621
+-94.106 43.084 3634
+-93.98 43.084 3725
+-93.854 43.084 3707
+-93.728 43.084 3718
+-93.602 43.084 3772
+-93.476 43.084 3866
+-93.35 43.084 3936
+-93.224 43.084 4013
+-93.098 43.084 4047
+-92.972 43.084 4074
+-92.846 43.084 4115
+-92.72 43.084 4202
+-92.594 43.084 4276
+-92.468 43.084 4331
+-92.342 43.084 4385
+-92.216 43.084 4412
+-92.09 43.084 4475
+-91.964 43.084 4490
+-91.838 43.084 4539
+-91.712 43.084 4562
+-91.586 43.084 4603
+-91.46 43.084 4680
+-91.334 43.084 4734
+-91.208 43.084 4697
+-91.082 43.084 4777
+-90.956 43.084 4821
+-90.83 43.084 4839
+-90.704 43.084 4837
+-90.578 43.084 4817
+-90.452 43.084 4803
+-90.326 43.084 4776
+-90.2 43.084 4750
+-90.074 43.084 4739
+-89.948 43.084 4738
+-89.822 43.084 4751
+-89.696 43.084 4722
+-89.57 43.084 4693
+-89.444 43.084 4654
+-89.318 43.084 4610
+-89.192 43.084 4564
+-89.066 43.084 4553
+-88.94 43.084 4522
+-88.814 43.084 4470
+-88.688 43.084 4421
+-88.562 43.084 4359
+-88.436 43.084 4281
+-88.31 43.084 4196
+-88.184 43.084 4206
+-88.058 43.084 4181
+-87.932 43.084 4151
+-87.806 43.084 4113
+-87.68 43.084 4043
+-87.554 43.084 3971
+-87.428 43.084 3884
+-87.302 43.084 3840
+-87.176 43.084 3746
+-87.05 43.084 3651
+-86.924 43.084 3524
+-86.798 43.084 3416
+-86.672 43.084 3310
+-86.546 43.084 3246
+-86.42 43.084 3243
+-86.294 43.084 3257
+-86.168 43.084 3245
+-86.042 43.084 3211
+-85.916 43.084 3147
+-85.79 43.084 3092
+-85.664 43.084 3004
+-85.538 43.084 2929
+-85.412 43.084 2882
+-85.286 43.084 2869
+-85.16 43.084 2871
+-85.034 43.084 2869
+-84.908 43.084 2855
+-84.782 43.084 2826
+-84.656 43.084 2787
+-84.53 43.084 2768
+-84.404 43.084 2762
+-84.278 43.084 2742
+-84.152 43.084 2764
+-84.026 43.084 2797
+-83.9 43.084 2824
+-83.774 43.084 2848
+-83.648 43.084 2864
+-83.522 43.084 2912
+-83.396 43.084 2889
+-83.27 43.084 2910
+-83.144 43.084 2925
+-83.018 43.084 2938
+-82.892 43.084 2947
+-82.766 43.084 2930
+-82.64 43.084 2990
+-82.514 43.084 3002
+-82.388 43.084 3012
+-82.262 43.084 2999
+-82.136 43.084 3007
+-82.01 43.084 3014
+-81.884 43.084 3021
+-81.758 43.084 3027
+-81.632 43.084 3033
+-81.506 43.084 3093
+-81.38 43.084 3097
+-81.254 43.084 3104
+-81.128 43.084 3111
+-81.002 43.084 3117
+-80.876 43.084 3079
+-80.75 43.084 3102
+-80.624 43.084 3108
+-80.498 43.084 3158
+-80.372 43.084 3100
+-80.246 43.084 3106
+-80.12 43.084 3111
+-79.994 43.084 3145
+-79.868 43.084 3115
+-79.742 43.084 3120
+-79.616 43.084 3125
+-79.49 43.084 3298
+-79.364 43.084 3260
+-79.238 43.084 3265
+-79.112 43.084 3378
+-78.986 43.084 3361
+-78.86 43.084 3366
+-78.734 43.084 3324
+-78.608 43.084 3394
+-78.482 43.084 3397
+-78.356 43.084 3401
+-78.23 43.084 3404
+-78.104 43.084 3408
+-77.978 43.084 3407
+-77.852 43.084 3410
+-77.726 43.084 3414
+-77.6 43.084 3403
+-77.474 43.084 3360
+-77.348 43.084 3356
+-77.222 43.084 3358
+-77.096 43.084 3361
+-76.97 43.084 3363
+-76.844 43.084 3366
+-76.718 43.084 3368
+-76.592 43.084 3370
+-76.466 43.084 3372
+-76.34 43.084 3374
+-76.214 43.084 3376
+-76.088 43.084 3377
+-75.962 43.084 3379
+-75.836 43.084 3381
+-75.71 43.084 3382
+-75.584 43.084 3384
+-75.458 43.084 3483
+-75.332 43.084 3485
+-75.206 43.084 3473
+-75.08 43.084 3474
+-74.954 43.084 3475
+-74.828 43.084 3477
+-74.702 43.084 3478
+-74.576 43.084 3479
+-74.45 43.084 3481
+-74.324 43.084 3482
+-74.198 43.084 3483
+-74.072 43.084 3484
+-73.946 43.084 3485
+-73.82 43.084 3516
+-73.694 43.084 3517
+-73.568 43.084 3519
+-73.442 43.084 3520
+-73.316 43.084 3521
+-73.19 43.084 3523
+-73.064 43.084 3486
+-72.938 43.084 3487
+-72.812 43.084 3488
+-72.686 43.084 3489
+-72.56 43.084 3521
+-72.434 43.084 3522
+-72.308 43.084 3524
+-72.182 43.084 3481
+-72.056 43.084 3482
+-71.93 43.084 3483
+-71.804 43.084 3618
+-71.678 43.084 3619
+-71.552 43.084 3619
+-71.426 43.084 3620
+-71.3 43.084 3620
+-71.174 43.084 3557
+-71.048 43.084 3557
+-70.922 43.084 3558
+-70.796 43.084 3558
+-70.67 43.084 3558
+-70.544 43.084 3559
+-70.418 43.084 3559
+-70.292 43.084 3559
+-70.166 43.084 3559
+-70.04 43.084 3560
+-69.914 43.084 3540
+-69.788 43.084 3528
+-69.662 43.084 3528
+-69.536 43.084 3528
+-69.41 43.084 3529
+-69.284 43.084 3529
+-69.158 43.084 3529
+-69.032 43.084 3511
+-68.906 43.084 3511
+-68.78 43.084 3512
+-68.654 43.084 3512
+-68.528 43.084 3512
+-68.402 43.084 3512
+-68.276 43.084 3513
+-68.15 43.084 3513
+-68.024 43.084 3461
+-67.898 43.084 3461
+-67.772 43.084 3461
+-67.646 43.084 3461
+-67.52 43.084 3462
+-67.394 43.084 3462
+-67.268 43.084 3462
+-67.142 43.084 3462
+-67.016 43.084 3462
+-66.89 43.084 3462
+-66.764 43.084 3463
+-66.638 43.084 3463
+-66.512 43.084 3463
+-66.386 43.084 3382
+-66.26 43.084 3382
+-66.134 43.084 3382
+-66.008 43.084 3382
+-65.882 43.084 3382
+-65.756 43.084 3382
+-65.63 43.084 3381
+-65.504 43.084 3381
+-65.378 43.084 3381
+-65.252 43.084 3381
+-65.126 43.084 3381
+-128 43.032 3348
+-127.874 43.032 3354
+-127.748 43.032 3378
+-127.622 43.032 3393
+-127.496 43.032 3444
+-127.37 43.032 3468
+-127.244 43.032 3514
+-127.118 43.032 3542
+-126.992 43.032 3597
+-126.866 43.032 3603
+-126.74 43.032 3575
+-126.614 43.032 3664
+-126.488 43.032 3842
+-126.362 43.032 3979
+-126.236 43.032 4064
+-126.11 43.032 4176
+-125.984 43.032 4281
+-125.858 43.032 4348
+-125.732 43.032 4451
+-125.606 43.032 4528
+-125.48 43.032 4562
+-125.354 43.032 4601
+-125.228 43.032 4649
+-125.102 43.032 4646
+-124.976 43.032 4731
+-124.85 43.032 4827
+-124.724 43.032 4892
+-124.598 43.032 4926
+-124.472 43.032 4939
+-124.346 43.032 4992
+-124.22 43.032 5039
+-124.094 43.032 5054
+-123.968 43.032 5076
+-123.842 43.032 5120
+-123.716 43.032 5176
+-123.59 43.032 5202
+-123.464 43.032 5230
+-123.338 43.032 5238
+-123.212 43.032 5259
+-123.086 43.032 5261
+-122.96 43.032 5257
+-122.834 43.032 5273
+-122.708 43.032 5271
+-122.582 43.032 5255
+-122.456 43.032 5247
+-122.33 43.032 5205
+-122.204 43.032 5146
+-122.078 43.032 5109
+-121.952 43.032 5092
+-121.826 43.032 5060
+-121.7 43.032 5015
+-121.574 43.032 5009
+-121.448 43.032 4945
+-121.322 43.032 4896
+-121.196 43.032 4891
+-121.07 43.032 4943
+-120.944 43.032 5012
+-120.818 43.032 5076
+-120.692 43.032 5184
+-120.566 43.032 5236
+-120.44 43.032 5310
+-120.314 43.032 5416
+-120.188 43.032 5509
+-120.062 43.032 5567
+-119.936 43.032 5580
+-119.81 43.032 5630
+-119.684 43.032 5688
+-119.558 43.032 5756
+-119.432 43.032 5748
+-119.306 43.032 5792
+-119.18 43.032 5846
+-119.054 43.032 5917
+-118.928 43.032 5909
+-118.802 43.032 5936
+-118.676 43.032 5957
+-118.55 43.032 5954
+-118.424 43.032 5971
+-118.298 43.032 5946
+-118.172 43.032 5948
+-118.046 43.032 5993
+-117.92 43.032 5921
+-117.794 43.032 5934
+-117.668 43.032 5899
+-117.542 43.032 5864
+-117.416 43.032 5848
+-117.29 43.032 5773
+-117.164 43.032 5730
+-117.038 43.032 5683
+-116.912 43.032 5647
+-116.786 43.032 5575
+-116.66 43.032 5530
+-116.534 43.032 5467
+-116.408 43.032 5426
+-116.282 43.032 5372
+-116.156 43.032 5253
+-116.03 43.032 5177
+-115.904 43.032 5084
+-115.778 43.032 5001
+-115.652 43.032 4919
+-115.526 43.032 4861
+-115.4 43.032 4863
+-115.274 43.032 4795
+-115.148 43.032 4739
+-115.022 43.032 4656
+-114.896 43.032 4566
+-114.77 43.032 4406
+-114.644 43.032 4278
+-114.518 43.032 4078
+-114.392 43.032 3944
+-114.266 43.032 3875
+-114.14 43.032 3745
+-114.014 43.032 3633
+-113.888 43.032 3652
+-113.762 43.032 3573
+-113.636 43.032 3414
+-113.51 43.032 3185
+-113.384 43.032 3081
+-113.258 43.032 3146
+-113.132 43.032 3225
+-113.006 43.032 3253
+-112.88 43.032 3245
+-112.754 43.032 3208
+-112.628 43.032 3165
+-112.502 43.032 3119
+-112.376 43.032 3075
+-112.25 43.032 3039
+-112.124 43.032 3013
+-111.998 43.032 2997
+-111.872 43.032 2979
+-111.746 43.032 2982
+-111.62 43.032 2984
+-111.494 43.032 2998
+-111.368 43.032 3015
+-111.242 43.032 3034
+-111.116 43.032 2977
+-110.99 43.032 2995
+-110.864 43.032 3037
+-110.738 43.032 3056
+-110.612 43.032 3053
+-110.486 43.032 3054
+-110.36 43.032 3038
+-110.234 43.032 3050
+-110.108 43.032 2941
+-109.982 43.032 2952
+-109.856 43.032 2963
+-109.73 43.032 2972
+-109.604 43.032 2981
+-109.478 43.032 2990
+-109.352 43.032 3000
+-109.226 43.032 3008
+-109.1 43.032 3009
+-108.974 43.032 3018
+-108.848 43.032 2952
+-108.722 43.032 2939
+-108.596 43.032 2961
+-108.47 43.032 2967
+-108.344 43.032 2973
+-108.218 43.032 2979
+-108.092 43.032 2985
+-107.966 43.032 2952
+-107.84 43.032 2951
+-107.714 43.032 2956
+-107.588 43.032 2960
+-107.462 43.032 2964
+-107.336 43.032 2968
+-107.21 43.032 2971
+-107.084 43.032 2975
+-106.958 43.032 2978
+-106.832 43.032 2981
+-106.706 43.032 2984
+-106.58 43.032 2987
+-106.454 43.032 2989
+-106.328 43.032 2992
+-106.202 43.032 2995
+-106.076 43.032 2534
+-105.95 43.032 2379
+-105.824 43.032 2325
+-105.698 43.032 2315
+-105.572 43.032 2305
+-105.446 43.032 2295
+-105.32 43.032 2351
+-105.194 43.032 2331
+-105.068 43.032 2276
+-104.942 43.032 2182
+-104.816 43.032 2120
+-104.69 43.032 2093
+-104.564 43.032 2062
+-104.438 43.032 2053
+-104.312 43.032 2031
+-104.186 43.032 1909
+-104.06 43.032 1930
+-103.934 43.032 1987
+-103.808 43.032 2040
+-103.682 43.032 2207
+-103.556 43.032 2320
+-103.43 43.032 2421
+-103.304 43.032 2482
+-103.178 43.032 2476
+-103.052 43.032 2471
+-102.926 43.032 2482
+-102.8 43.032 2532
+-102.674 43.032 2527
+-102.548 43.032 2522
+-102.422 43.032 2517
+-102.296 43.032 2511
+-102.17 43.032 2506
+-102.044 43.032 2500
+-101.918 43.032 2502
+-101.792 43.032 2549
+-101.666 43.032 2548
+-101.54 43.032 2581
+-101.414 43.032 2574
+-101.288 43.032 2568
+-101.162 43.032 2562
+-101.036 43.032 2556
+-100.91 43.032 2549
+-100.784 43.032 2543
+-100.658 43.032 2537
+-100.532 43.032 2550
+-100.406 43.032 2685
+-100.28 43.032 2678
+-100.154 43.032 2672
+-100.028 43.032 2667
+-99.902 43.032 2658
+-99.776 43.032 2678
+-99.65 43.032 2683
+-99.524 43.032 2681
+-99.398 43.032 2713
+-99.272 43.032 2711
+-99.146 43.032 2711
+-99.02 43.032 2714
+-98.894 43.032 2716
+-98.768 43.032 2720
+-98.642 43.032 2723
+-98.516 43.032 2727
+-98.39 43.032 2766
+-98.264 43.032 2769
+-98.138 43.032 2770
+-98.012 43.032 2723
+-97.886 43.032 2724
+-97.76 43.032 2724
+-97.634 43.032 2725
+-97.508 43.032 2720
+-97.382 43.032 2711
+-97.256 43.032 2699
+-97.13 43.032 2682
+-97.004 43.032 2723
+-96.878 43.032 2694
+-96.752 43.032 2654
+-96.626 43.032 2608
+-96.5 43.032 2556
+-96.374 43.032 2502
+-96.248 43.032 2440
+-96.122 43.032 2405
+-95.996 43.032 2365
+-95.87 43.032 2348
+-95.744 43.032 2339
+-95.618 43.032 2332
+-95.492 43.032 2389
+-95.366 43.032 2520
+-95.24 43.032 2682
+-95.114 43.032 2847
+-94.988 43.032 3001
+-94.862 43.032 3116
+-94.736 43.032 3239
+-94.61 43.032 3328
+-94.484 43.032 3436
+-94.358 43.032 3495
+-94.232 43.032 3628
+-94.106 43.032 3647
+-93.98 43.032 3783
+-93.854 43.032 3790
+-93.728 43.032 3815
+-93.602 43.032 3905
+-93.476 43.032 3954
+-93.35 43.032 4014
+-93.224 43.032 4048
+-93.098 43.032 4080
+-92.972 43.032 4064
+-92.846 43.032 4114
+-92.72 43.032 4224
+-92.594 43.032 4321
+-92.468 43.032 4386
+-92.342 43.032 4441
+-92.216 43.032 4477
+-92.09 43.032 4505
+-91.964 43.032 4554
+-91.838 43.032 4605
+-91.712 43.032 4609
+-91.586 43.032 4655
+-91.46 43.032 4763
+-91.334 43.032 4796
+-91.208 43.032 4799
+-91.082 43.032 4833
+-90.956 43.032 4801
+-90.83 43.032 4858
+-90.704 43.032 4877
+-90.578 43.032 4853
+-90.452 43.032 4834
+-90.326 43.032 4830
+-90.2 43.032 4807
+-90.074 43.032 4786
+-89.948 43.032 4784
+-89.822 43.032 4760
+-89.696 43.032 4757
+-89.57 43.032 4736
+-89.444 43.032 4689
+-89.318 43.032 4654
+-89.192 43.032 4628
+-89.066 43.032 4582
+-88.94 43.032 4553
+-88.814 43.032 4519
+-88.688 43.032 4449
+-88.562 43.032 4419
+-88.436 43.032 4347
+-88.31 43.032 4270
+-88.184 43.032 4255
+-88.058 43.032 4207
+-87.932 43.032 4163
+-87.806 43.032 4103
+-87.68 43.032 4025
+-87.554 43.032 3962
+-87.428 43.032 3871
+-87.302 43.032 3849
+-87.176 43.032 3784
+-87.05 43.032 3672
+-86.924 43.032 3547
+-86.798 43.032 3418
+-86.672 43.032 3312
+-86.546 43.032 3191
+-86.42 43.032 3248
+-86.294 43.032 3268
+-86.168 43.032 3243
+-86.042 43.032 3204
+-85.916 43.032 3142
+-85.79 43.032 3083
+-85.664 43.032 2977
+-85.538 43.032 2864
+-85.412 43.032 2802
+-85.286 43.032 2812
+-85.16 43.032 2831
+-85.034 43.032 2839
+-84.908 43.032 2821
+-84.782 43.032 2770
+-84.656 43.032 2715
+-84.53 43.032 2674
+-84.404 43.032 2669
+-84.278 43.032 2702
+-84.152 43.032 2747
+-84.026 43.032 2757
+-83.9 43.032 2802
+-83.774 43.032 2828
+-83.648 43.032 2881
+-83.522 43.032 2905
+-83.396 43.032 2893
+-83.27 43.032 2911
+-83.144 43.032 2927
+-83.018 43.032 2938
+-82.892 43.032 2970
+-82.766 43.032 2982
+-82.64 43.032 2995
+-82.514 43.032 3006
+-82.388 43.032 2995
+-82.262 43.032 3003
+-82.136 43.032 3011
+-82.01 43.032 3018
+-81.884 43.032 3025
+-81.758 43.032 3031
+-81.632 43.032 3091
+-81.506 43.032 3095
+-81.38 43.032 3103
+-81.254 43.032 3109
+-81.128 43.032 3116
+-81.002 43.032 3079
+-80.876 43.032 3102
+-80.75 43.032 3108
+-80.624 43.032 3157
+-80.498 43.032 3100
+-80.372 43.032 3106
+-80.246 43.032 3111
+-80.12 43.032 3145
+-79.994 43.032 3116
+-79.868 43.032 3121
+-79.742 43.032 3125
+-79.616 43.032 3295
+-79.49 43.032 3259
+-79.364 43.032 3264
+-79.238 43.032 3375
+-79.112 43.032 3359
+-78.986 43.032 3364
+-78.86 43.032 3323
+-78.734 43.032 3392
+-78.608 43.032 3395
+-78.482 43.032 3399
+-78.356 43.032 3403
+-78.23 43.032 3406
+-78.104 43.032 3406
+-77.978 43.032 3409
+-77.852 43.032 3413
+-77.726 43.032 3402
+-77.6 43.032 3359
+-77.474 43.032 3355
+-77.348 43.032 3358
+-77.222 43.032 3360
+-77.096 43.032 3363
+-76.97 43.032 3365
+-76.844 43.032 3367
+-76.718 43.032 3369
+-76.592 43.032 3371
+-76.466 43.032 3373
+-76.34 43.032 3375
+-76.214 43.032 3377
+-76.088 43.032 3379
+-75.962 43.032 3381
+-75.836 43.032 3382
+-75.71 43.032 3384
+-75.584 43.032 3483
+-75.458 43.032 3484
+-75.332 43.032 3472
+-75.206 43.032 3473
+-75.08 43.032 3475
+-74.954 43.032 3476
+-74.828 43.032 3477
+-74.702 43.032 3479
+-74.576 43.032 3480
+-74.45 43.032 3481
+-74.324 43.032 3482
+-74.198 43.032 3484
+-74.072 43.032 3485
+-73.946 43.032 3515
+-73.82 43.032 3516
+-73.694 43.032 3518
+-73.568 43.032 3519
+-73.442 43.032 3521
+-73.316 43.032 3522
+-73.19 43.032 3486
+-73.064 43.032 3487
+-72.938 43.032 3488
+-72.812 43.032 3489
+-72.686 43.032 3520
+-72.56 43.032 3522
+-72.434 43.032 3523
+-72.308 43.032 3480
+-72.182 43.032 3482
+-72.056 43.032 3483
+-71.93 43.032 3617
+-71.804 43.032 3618
+-71.678 43.032 3619
+-71.552 43.032 3619
+-71.426 43.032 3620
+-71.3 43.032 3557
+-71.174 43.032 3557
+-71.048 43.032 3557
+-70.922 43.032 3558
+-70.796 43.032 3558
+-70.67 43.032 3558
+-70.544 43.032 3559
+-70.418 43.032 3559
+-70.292 43.032 3559
+-70.166 43.032 3560
+-70.04 43.032 3540
+-69.914 43.032 3528
+-69.788 43.032 3528
+-69.662 43.032 3528
+-69.536 43.032 3529
+-69.41 43.032 3529
+-69.284 43.032 3511
+-69.158 43.032 3511
+-69.032 43.032 3511
+-68.906 43.032 3512
+-68.78 43.032 3512
+-68.654 43.032 3512
+-68.528 43.032 3512
+-68.402 43.032 3512
+-68.276 43.032 3513
+-68.15 43.032 3461
+-68.024 43.032 3461
+-67.898 43.032 3461
+-67.772 43.032 3461
+-67.646 43.032 3461
+-67.52 43.032 3462
+-67.394 43.032 3462
+-67.268 43.032 3462
+-67.142 43.032 3462
+-67.016 43.032 3462
+-66.89 43.032 3462
+-66.764 43.032 3463
+-66.638 43.032 3463
+-66.512 43.032 3382
+-66.386 43.032 3382
+-66.26 43.032 3382
+-66.134 43.032 3382
+-66.008 43.032 3382
+-65.882 43.032 3382
+-65.756 43.032 3381
+-65.63 43.032 3381
+-65.504 43.032 3381
+-65.378 43.032 3381
+-65.252 43.032 3381
+-65.126 43.032 3381
+-128 42.98 3333
+-127.874 42.98 3367
+-127.748 42.98 3376
+-127.622 42.98 3419
+-127.496 42.98 3432
+-127.37 42.98 3450
+-127.244 42.98 3472
+-127.118 42.98 3493
+-126.992 42.98 3534
+-126.866 42.98 3570
+-126.74 42.98 3606
+-126.614 42.98 3683
+-126.488 42.98 3808
+-126.362 42.98 3925
+-126.236 42.98 4050
+-126.11 42.98 4186
+-125.984 42.98 4252
+-125.858 42.98 4306
+-125.732 42.98 4388
+-125.606 42.98 4436
+-125.48 42.98 4460
+-125.354 42.98 4543
+-125.228 42.98 4631
+-125.102 42.98 4653
+-124.976 42.98 4697
+-124.85 42.98 4784
+-124.724 42.98 4858
+-124.598 42.98 4897
+-124.472 42.98 4919
+-124.346 42.98 4959
+-124.22 42.98 4980
+-124.094 42.98 5033
+-123.968 42.98 5033
+-123.842 42.98 5062
+-123.716 42.98 5128
+-123.59 42.98 5167
+-123.464 42.98 5178
+-123.338 42.98 5179
+-123.212 42.98 5199
+-123.086 42.98 5227
+-122.96 42.98 5238
+-122.834 42.98 5238
+-122.708 42.98 5234
+-122.582 42.98 5211
+-122.456 42.98 5180
+-122.33 42.98 5135
+-122.204 42.98 5082
+-122.078 42.98 5084
+-121.952 42.98 5057
+-121.826 42.98 5019
+-121.7 42.98 4975
+-121.574 42.98 4931
+-121.448 42.98 4874
+-121.322 42.98 4845
+-121.196 42.98 4779
+-121.07 42.98 4875
+-120.944 42.98 4950
+-120.818 42.98 5014
+-120.692 42.98 5118
+-120.566 42.98 5213
+-120.44 42.98 5242
+-120.314 42.98 5337
+-120.188 42.98 5453
+-120.062 42.98 5511
+-119.936 42.98 5543
+-119.81 42.98 5581
+-119.684 42.98 5666
+-119.558 42.98 5662
+-119.432 42.98 5723
+-119.306 42.98 5760
+-119.18 42.98 5806
+-119.054 42.98 5852
+-118.928 42.98 5877
+-118.802 42.98 5899
+-118.676 42.98 5928
+-118.55 42.98 5905
+-118.424 42.98 5893
+-118.298 42.98 5882
+-118.172 42.98 5888
+-118.046 42.98 5900
+-117.92 42.98 5891
+-117.794 42.98 5868
+-117.668 42.98 5834
+-117.542 42.98 5809
+-117.416 42.98 5774
+-117.29 42.98 5724
+-117.164 42.98 5711
+-117.038 42.98 5660
+-116.912 42.98 5581
+-116.786 42.98 5525
+-116.66 42.98 5497
+-116.534 42.98 5436
+-116.408 42.98 5343
+-116.282 42.98 5328
+-116.156 42.98 5211
+-116.03 42.98 5108
+-115.904 42.98 5025
+-115.778 42.98 4961
+-115.652 42.98 4890
+-115.526 42.98 4850
+-115.4 42.98 4817
+-115.274 42.98 4746
+-115.148 42.98 4667
+-115.022 42.98 4589
+-114.896 42.98 4460
+-114.77 42.98 4375
+-114.644 42.98 4263
+-114.518 42.98 4113
+-114.392 42.98 3957
+-114.266 42.98 3862
+-114.14 42.98 3755
+-114.014 42.98 3685
+-113.888 42.98 3639
+-113.762 42.98 3568
+-113.636 42.98 3404
+-113.51 42.98 3241
+-113.384 42.98 3157
+-113.258 42.98 3178
+-113.132 42.98 3217
+-113.006 42.98 3229
+-112.88 42.98 3200
+-112.754 42.98 3150
+-112.628 42.98 3082
+-112.502 42.98 3019
+-112.376 42.98 2964
+-112.25 42.98 2923
+-112.124 42.98 2898
+-111.998 42.98 2888
+-111.872 42.98 2889
+-111.746 42.98 2887
+-111.62 42.98 2906
+-111.494 42.98 2922
+-111.368 42.98 2916
+-111.242 42.98 2903
+-111.116 42.98 2927
+-110.99 42.98 2951
+-110.864 42.98 2974
+-110.738 42.98 2995
+-110.612 42.98 3004
+-110.486 42.98 2978
+-110.36 42.98 2965
+-110.234 42.98 2979
+-110.108 42.98 2991
+-109.982 42.98 2931
+-109.856 42.98 2943
+-109.73 42.98 2954
+-109.604 42.98 2964
+-109.478 42.98 2973
+-109.352 42.98 2983
+-109.226 42.98 2993
+-109.1 42.98 3002
+-108.974 42.98 3003
+-108.848 42.98 2935
+-108.722 42.98 2876
+-108.596 42.98 2934
+-108.47 42.98 2953
+-108.344 42.98 2960
+-108.218 42.98 2966
+-108.092 42.98 2972
+-107.966 42.98 2978
+-107.84 42.98 2946
+-107.714 42.98 2945
+-107.588 42.98 2950
+-107.462 42.98 2954
+-107.336 42.98 2958
+-107.21 42.98 2962
+-107.084 42.98 2966
+-106.958 42.98 2859
+-106.832 42.98 2861
+-106.706 42.98 2863
+-106.58 42.98 2864
+-106.454 42.98 2866
+-106.328 42.98 2868
+-106.202 42.98 2858
+-106.076 42.98 2859
+-105.95 42.98 2367
+-105.824 42.98 2330
+-105.698 42.98 2302
+-105.572 42.98 2292
+-105.446 42.98 2282
+-105.32 42.98 2271
+-105.194 42.98 2326
+-105.068 42.98 2262
+-104.942 42.98 2169
+-104.816 42.98 2108
+-104.69 42.98 2081
+-104.564 42.98 2052
+-104.438 42.98 2044
+-104.312 42.98 1999
+-104.186 42.98 1904
+-104.06 42.98 1927
+-103.934 42.98 1983
+-103.808 42.98 2037
+-103.682 42.98 2205
+-103.556 42.98 2317
+-103.43 42.98 2419
+-103.304 42.98 2479
+-103.178 42.98 2473
+-103.052 42.98 2468
+-102.926 42.98 2462
+-102.8 42.98 2473
+-102.674 42.98 2523
+-102.548 42.98 2518
+-102.422 42.98 2512
+-102.296 42.98 2506
+-102.17 42.98 2500
+-102.044 42.98 2494
+-101.918 42.98 2488
+-101.792 42.98 2490
+-101.666 42.98 2536
+-101.54 42.98 2534
+-101.414 42.98 2566
+-101.288 42.98 2560
+-101.162 42.98 2553
+-101.036 42.98 2546
+-100.91 42.98 2539
+-100.784 42.98 2533
+-100.658 42.98 2526
+-100.532 42.98 2519
+-100.406 42.98 2533
+-100.28 42.98 2666
+-100.154 42.98 2659
+-100.028 42.98 2653
+-99.902 42.98 2647
+-99.776 42.98 2639
+-99.65 42.98 2659
+-99.524 42.98 2665
+-99.398 42.98 2662
+-99.272 42.98 2695
+-99.146 42.98 2694
+-99.02 42.98 2696
+-98.894 42.98 2700
+-98.768 42.98 2704
+-98.642 42.98 2709
+-98.516 42.98 2714
+-98.39 42.98 2719
+-98.264 42.98 2759
+-98.138 42.98 2762
+-98.012 42.98 2765
+-97.886 42.98 2720
+-97.76 42.98 2721
+-97.634 42.98 2721
+-97.508 42.98 2722
+-97.382 42.98 2716
+-97.256 42.98 2707
+-97.13 42.98 2693
+-97.004 42.98 2675
+-96.878 42.98 2710
+-96.752 42.98 2680
+-96.626 42.98 2640
+-96.5 42.98 2594
+-96.374 42.98 2549
+-96.248 42.98 2501
+-96.122 42.98 2480
+-95.996 42.98 2429
+-95.87 42.98 2389
+-95.744 42.98 2333
+-95.618 42.98 2290
+-95.492 42.98 2354
+-95.366 42.98 2503
+-95.24 42.98 2678
+-95.114 42.98 2855
+-94.988 42.98 3017
+-94.862 42.98 3182
+-94.736 42.98 3286
+-94.61 42.98 3376
+-94.484 42.98 3448
+-94.358 42.98 3526
+-94.232 42.98 3642
+-94.106 42.98 3691
+-93.98 42.98 3801
+-93.854 42.98 3828
+-93.728 42.98 3895
+-93.602 42.98 3969
+-93.476 42.98 4010
+-93.35 42.98 4046
+-93.224 42.98 4098
+-93.098 42.98 4116
+-92.972 42.98 4114
+-92.846 42.98 4158
+-92.72 42.98 4263
+-92.594 42.98 4359
+-92.468 42.98 4429
+-92.342 42.98 4497
+-92.216 42.98 4507
+-92.09 42.98 4566
+-91.964 42.98 4629
+-91.838 42.98 4664
+-91.712 42.98 4681
+-91.586 42.98 4756
+-91.46 42.98 4838
+-91.334 42.98 4864
+-91.208 42.98 4880
+-91.082 42.98 4896
+-90.956 42.98 4894
+-90.83 42.98 4915
+-90.704 42.98 4923
+-90.578 42.98 4916
+-90.452 42.98 4889
+-90.326 42.98 4882
+-90.2 42.98 4875
+-90.074 42.98 4865
+-89.948 42.98 4859
+-89.822 42.98 4835
+-89.696 42.98 4781
+-89.57 42.98 4762
+-89.444 42.98 4732
+-89.318 42.98 4693
+-89.192 42.98 4702
+-89.066 42.98 4654
+-88.94 42.98 4605
+-88.814 42.98 4584
+-88.688 42.98 4496
+-88.562 42.98 4421
+-88.436 42.98 4395
+-88.31 42.98 4318
+-88.184 42.98 4288
+-88.058 42.98 4228
+-87.932 42.98 4173
+-87.806 42.98 4103
+-87.68 42.98 4005
+-87.554 42.98 3951
+-87.428 42.98 3801
+-87.302 42.98 3855
+-87.176 42.98 3819
+-87.05 42.98 3727
+-86.924 42.98 3575
+-86.798 42.98 3420
+-86.672 42.98 3339
+-86.546 42.98 3305
+-86.42 42.98 3297
+-86.294 42.98 3294
+-86.168 42.98 3249
+-86.042 42.98 3187
+-85.916 42.98 3133
+-85.79 42.98 3095
+-85.664 42.98 2976
+-85.538 42.98 2825
+-85.412 42.98 2743
+-85.286 42.98 2771
+-85.16 42.98 2797
+-85.034 42.98 2816
+-84.908 42.98 2787
+-84.782 42.98 2713
+-84.656 42.98 2602
+-84.53 42.98 2532
+-84.404 42.98 2548
+-84.278 42.98 2615
+-84.152 42.98 2691
+-84.026 42.98 2753
+-83.9 42.98 2810
+-83.774 42.98 2880
+-83.648 42.98 2918
+-83.522 42.98 2901
+-83.396 42.98 2893
+-83.27 42.98 2912
+-83.144 42.98 2971
+-83.018 42.98 2958
+-82.892 42.98 2972
+-82.766 42.98 2986
+-82.64 42.98 2998
+-82.514 42.98 2989
+-82.388 42.98 2999
+-82.262 42.98 3007
+-82.136 42.98 3015
+-82.01 42.98 3022
+-81.884 42.98 3029
+-81.758 42.98 3088
+-81.632 42.98 3093
+-81.506 42.98 3101
+-81.38 42.98 3108
+-81.254 42.98 3115
+-81.128 42.98 3079
+-81.002 42.98 3102
+-80.876 42.98 3108
+-80.75 42.98 3156
+-80.624 42.98 3101
+-80.498 42.98 3106
+-80.372 42.98 3112
+-80.246 42.98 3145
+-80.12 42.98 3117
+-79.994 42.98 3122
+-79.868 42.98 3126
+-79.742 42.98 3293
+-79.616 42.98 3257
+-79.49 42.98 3262
+-79.364 42.98 3373
+-79.238 42.98 3357
+-79.112 42.98 3362
+-78.986 42.98 3321
+-78.86 42.98 3391
+-78.734 42.98 3394
+-78.608 42.98 3398
+-78.482 42.98 3402
+-78.356 42.98 3405
+-78.23 42.98 3405
+-78.104 42.98 3408
+-77.978 42.98 3412
+-77.852 42.98 3401
+-77.726 42.98 3358
+-77.6 42.98 3355
+-77.474 42.98 3357
+-77.348 42.98 3360
+-77.222 42.98 3362
+-77.096 42.98 3365
+-76.97 42.98 3367
+-76.844 42.98 3369
+-76.718 42.98 3371
+-76.592 42.98 3373
+-76.466 42.98 3375
+-76.34 42.98 3377
+-76.214 42.98 3379
+-76.088 42.98 3381
+-75.962 42.98 3382
+-75.836 42.98 3384
+-75.71 42.98 3482
+-75.584 42.98 3484
+-75.458 42.98 3471
+-75.332 42.98 3473
+-75.206 42.98 3474
+-75.08 42.98 3476
+-74.954 42.98 3477
+-74.828 42.98 3478
+-74.702 42.98 3480
+-74.576 42.98 3481
+-74.45 42.98 3482
+-74.324 42.98 3483
+-74.198 42.98 3484
+-74.072 42.98 3514
+-73.946 42.98 3516
+-73.82 42.98 3517
+-73.694 42.98 3519
+-73.568 42.98 3520
+-73.442 42.98 3522
+-73.316 42.98 3485
+-73.19 42.98 3487
+-73.064 42.98 3488
+-72.938 42.98 3489
+-72.812 42.98 3520
+-72.686 42.98 3521
+-72.56 42.98 3523
+-72.434 42.98 3480
+-72.308 42.98 3481
+-72.182 42.98 3482
+-72.056 42.98 3617
+-71.93 42.98 3618
+-71.804 42.98 3618
+-71.678 42.98 3619
+-71.552 42.98 3619
+-71.426 42.98 3556
+-71.3 42.98 3557
+-71.174 42.98 3557
+-71.048 42.98 3557
+-70.922 42.98 3558
+-70.796 42.98 3558
+-70.67 42.98 3558
+-70.544 42.98 3559
+-70.418 42.98 3559
+-70.292 42.98 3559
+-70.166 42.98 3539
+-70.04 42.98 3527
+-69.914 42.98 3528
+-69.788 42.98 3528
+-69.662 42.98 3528
+-69.536 42.98 3529
+-69.41 42.98 3529
+-69.284 42.98 3511
+-69.158 42.98 3511
+-69.032 42.98 3511
+-68.906 42.98 3512
+-68.78 42.98 3512
+-68.654 42.98 3512
+-68.528 42.98 3512
+-68.402 42.98 3513
+-68.276 42.98 3461
+-68.15 42.98 3461
+-68.024 42.98 3461
+-67.898 42.98 3461
+-67.772 42.98 3461
+-67.646 42.98 3461
+-67.52 42.98 3462
+-67.394 42.98 3462
+-67.268 42.98 3462
+-67.142 42.98 3462
+-67.016 42.98 3462
+-66.89 42.98 3462
+-66.764 42.98 3463
+-66.638 42.98 3382
+-66.512 42.98 3382
+-66.386 42.98 3382
+-66.26 42.98 3382
+-66.134 42.98 3382
+-66.008 42.98 3382
+-65.882 42.98 3381
+-65.756 42.98 3381
+-65.63 42.98 3381
+-65.504 42.98 3381
+-65.378 42.98 3381
+-65.252 42.98 3381
+-65.126 42.98 3381
+-128 42.928 3320
+-127.874 42.928 3357
+-127.748 42.928 3367
+-127.622 42.928 3375
+-127.496 42.928 3415
+-127.37 42.928 3412
+-127.244 42.928 3417
+-127.118 42.928 3408
+-126.992 42.928 3425
+-126.866 42.928 3490
+-126.74 42.928 3567
+-126.614 42.928 3639
+-126.488 42.928 3772
+-126.362 42.928 3891
+-126.236 42.928 4042
+-126.11 42.928 4151
+-125.984 42.928 4221
+-125.858 42.928 4257
+-125.732 42.928 4286
+-125.606 42.928 4368
+-125.48 42.928 4357
+-125.354 42.928 4468
+-125.228 42.928 4583
+-125.102 42.928 4641
+-124.976 42.928 4680
+-124.85 42.928 4746
+-124.724 42.928 4814
+-124.598 42.928 4862
+-124.472 42.928 4899
+-124.346 42.928 4931
+-124.22 42.928 4910
+-124.094 42.928 4995
+-123.968 42.928 5022
+-123.842 42.928 5017
+-123.716 42.928 5074
+-123.59 42.928 5124
+-123.464 42.928 5115
+-123.338 42.928 5096
+-123.212 42.928 5122
+-123.086 42.928 5150
+-122.96 42.928 5173
+-122.834 42.928 5164
+-122.708 42.928 5152
+-122.582 42.928 5120
+-122.456 42.928 5101
+-122.33 42.928 5060
+-122.204 42.928 5031
+-122.078 42.928 5020
+-121.952 42.928 5000
+-121.826 42.928 4959
+-121.7 42.928 4920
+-121.574 42.928 4865
+-121.448 42.928 4812
+-121.322 42.928 4776
+-121.196 42.928 4788
+-121.07 42.928 4859
+-120.944 42.928 4934
+-120.818 42.928 4956
+-120.692 42.928 5048
+-120.566 42.928 5150
+-120.44 42.928 5222
+-120.314 42.928 5304
+-120.188 42.928 5409
+-120.062 42.928 5407
+-119.936 42.928 5492
+-119.81 42.928 5559
+-119.684 42.928 5612
+-119.558 42.928 5646
+-119.432 42.928 5684
+-119.306 42.928 5723
+-119.18 42.928 5752
+-119.054 42.928 5781
+-118.928 42.928 5825
+-118.802 42.928 5853
+-118.676 42.928 5865
+-118.55 42.928 5873
+-118.424 42.928 5847
+-118.298 42.928 5866
+-118.172 42.928 5848
+-118.046 42.928 5874
+-117.92 42.928 5839
+-117.794 42.928 5818
+-117.668 42.928 5821
+-117.542 42.928 5749
+-117.416 42.928 5730
+-117.29 42.928 5675
+-117.164 42.928 5643
+-117.038 42.928 5581
+-116.912 42.928 5517
+-116.786 42.928 5491
+-116.66 42.928 5462
+-116.534 42.928 5400
+-116.408 42.928 5350
+-116.282 42.928 5292
+-116.156 42.928 5167
+-116.03 42.928 5035
+-115.904 42.928 4979
+-115.778 42.928 4929
+-115.652 42.928 4828
+-115.526 42.928 4753
+-115.4 42.928 4736
+-115.274 42.928 4674
+-115.148 42.928 4606
+-115.022 42.928 4498
+-114.896 42.928 4361
+-114.77 42.928 4266
+-114.644 42.928 4219
+-114.518 42.928 4133
+-114.392 42.928 4001
+-114.266 42.928 3877
+-114.14 42.928 3792
+-114.014 42.928 3723
+-113.888 42.928 3647
+-113.762 42.928 3527
+-113.636 42.928 3432
+-113.51 42.928 3330
+-113.384 42.928 3263
+-113.258 42.928 3226
+-113.132 42.928 3215
+-113.006 42.928 3194
+-112.88 42.928 3145
+-112.754 42.928 3065
+-112.628 42.928 2977
+-112.502 42.928 2888
+-112.376 42.928 2820
+-112.25 42.928 2777
+-112.124 42.928 2757
+-111.998 42.928 2757
+-111.872 42.928 2740
+-111.746 42.928 2763
+-111.62 42.928 2786
+-111.494 42.928 2788
+-111.368 42.928 2821
+-111.242 42.928 2843
+-111.116 42.928 2875
+-110.99 42.928 2905
+-110.864 42.928 2934
+-110.738 42.928 2960
+-110.612 42.928 2912
+-110.486 42.928 2931
+-110.36 42.928 2948
+-110.234 42.928 2936
+-110.108 42.928 2950
+-109.982 42.928 2963
+-109.856 42.928 2924
+-109.73 42.928 2936
+-109.604 42.928 2947
+-109.478 42.928 2958
+-109.352 42.928 2968
+-109.226 42.928 2978
+-109.1 42.928 2988
+-108.974 42.928 2920
+-108.848 42.928 2920
+-108.722 42.928 2928
+-108.596 42.928 2870
+-108.47 42.928 2875
+-108.344 42.928 2947
+-108.218 42.928 2954
+-108.092 42.928 2960
+-107.966 42.928 2966
+-107.84 42.928 2972
+-107.714 42.928 2940
+-107.588 42.928 2940
+-107.462 42.928 2944
+-107.336 42.928 2949
+-107.21 42.928 2844
+-107.084 42.928 2846
+-106.958 42.928 2849
+-106.832 42.928 2851
+-106.706 42.928 2853
+-106.58 42.928 2855
+-106.454 42.928 2731
+-106.328 42.928 2731
+-106.202 42.928 2732
+-106.076 42.928 2732
+-105.95 42.928 2355
+-105.824 42.928 2345
+-105.698 42.928 2307
+-105.572 42.928 2280
+-105.446 42.928 2269
+-105.32 42.928 2258
+-105.194 42.928 2246
+-105.068 42.928 2220
+-104.942 42.928 2208
+-104.816 42.928 2095
+-104.69 42.928 2070
+-104.564 42.928 2043
+-104.438 42.928 2036
+-104.312 42.928 1993
+-104.186 42.928 1900
+-104.06 42.928 1939
+-103.934 42.928 2005
+-103.808 42.928 2035
+-103.682 42.928 2203
+-103.556 42.928 2315
+-103.43 42.928 2417
+-103.304 42.928 2476
+-103.178 42.928 2471
+-103.052 42.928 2465
+-102.926 42.928 2459
+-102.8 42.928 2453
+-102.674 42.928 2464
+-102.548 42.928 2513
+-102.422 42.928 2507
+-102.296 42.928 2501
+-102.17 42.928 2495
+-102.044 42.928 2489
+-101.918 42.928 2482
+-101.792 42.928 2476
+-101.666 42.928 2477
+-101.54 42.928 2521
+-101.414 42.928 2520
+-101.288 42.928 2551
+-101.162 42.928 2544
+-101.036 42.928 2536
+-100.91 42.928 2529
+-100.784 42.928 2521
+-100.658 42.928 2514
+-100.532 42.928 2507
+-100.406 42.928 2500
+-100.28 42.928 2515
+-100.154 42.928 2645
+-100.028 42.928 2638
+-99.902 42.928 2632
+-99.776 42.928 2626
+-99.65 42.928 2618
+-99.524 42.928 2638
+-99.398 42.928 2644
+-99.272 42.928 2643
+-99.146 42.928 2675
+-99.02 42.928 2675
+-98.894 42.928 2681
+-98.768 42.928 2686
+-98.642 42.928 2691
+-98.516 42.928 2698
+-98.39 42.928 2705
+-98.264 42.928 2712
+-98.138 42.928 2753
+-98.012 42.928 2758
+-97.886 42.928 2762
+-97.76 42.928 2718
+-97.634 42.928 2721
+-97.508 42.928 2721
+-97.382 42.928 2721
+-97.256 42.928 2715
+-97.13 42.928 2705
+-97.004 42.928 2691
+-96.878 42.928 2672
+-96.752 42.928 2704
+-96.626 42.928 2673
+-96.5 42.928 2634
+-96.374 42.928 2590
+-96.248 42.928 2546
+-96.122 42.928 2504
+-95.996 42.928 2476
+-95.87 42.928 2422
+-95.744 42.928 2368
+-95.618 42.928 2344
+-95.492 42.928 2398
+-95.366 42.928 2525
+-95.24 42.928 2697
+-95.114 42.928 2880
+-94.988 42.928 3070
+-94.862 42.928 3213
+-94.736 42.928 3311
+-94.61 42.928 3423
+-94.484 42.928 3508
+-94.358 42.928 3563
+-94.232 42.928 3655
+-94.106 42.928 3697
+-93.98 42.928 3823
+-93.854 42.928 3868
+-93.728 42.928 3906
+-93.602 42.928 3979
+-93.476 42.928 4051
+-93.35 42.928 4082
+-93.224 42.928 4104
+-93.098 42.928 4165
+-92.972 42.928 4189
+-92.846 42.928 4260
+-92.72 42.928 4371
+-92.594 42.928 4415
+-92.468 42.928 4520
+-92.342 42.928 4562
+-92.216 42.928 4567
+-92.09 42.928 4633
+-91.964 42.928 4660
+-91.838 42.928 4690
+-91.712 42.928 4757
+-91.586 42.928 4822
+-91.46 42.928 4873
+-91.334 42.928 4849
+-91.208 42.928 4911
+-91.082 42.928 4918
+-90.956 42.928 4950
+-90.83 42.928 4925
+-90.704 42.928 4969
+-90.578 42.928 4983
+-90.452 42.928 4979
+-90.326 42.928 4965
+-90.2 42.928 4955
+-90.074 42.928 4932
+-89.948 42.928 4913
+-89.822 42.928 4907
+-89.696 42.928 4877
+-89.57 42.928 4847
+-89.444 42.928 4803
+-89.318 42.928 4751
+-89.192 42.928 4708
+-89.066 42.928 4706
+-88.94 42.928 4701
+-88.814 42.928 4623
+-88.688 42.928 4550
+-88.562 42.928 4482
+-88.436 42.928 4444
+-88.31 42.928 4371
+-88.184 42.928 4299
+-88.058 42.928 4250
+-87.932 42.928 4192
+-87.806 42.928 4128
+-87.68 42.928 4048
+-87.554 42.928 3993
+-87.428 42.928 3937
+-87.302 42.928 3914
+-87.176 42.928 3857
+-87.05 42.928 3773
+-86.924 42.928 3639
+-86.798 42.928 3491
+-86.672 42.928 3403
+-86.546 42.928 3379
+-86.42 42.928 3350
+-86.294 42.928 3318
+-86.168 42.928 3269
+-86.042 42.928 3174
+-85.916 42.928 3122
+-85.79 42.928 3111
+-85.664 42.928 3005
+-85.538 42.928 2869
+-85.412 42.928 2784
+-85.286 42.928 2730
+-85.16 42.928 2778
+-85.034 42.928 2805
+-84.908 42.928 2773
+-84.782 42.928 2647
+-84.656 42.928 2457
+-84.53 42.928 2354
+-84.404 42.928 2412
+-84.278 42.928 2535
+-84.152 42.928 2643
+-84.026 42.928 2736
+-83.9 42.928 2819
+-83.774 42.928 2870
+-83.648 42.928 2912
+-83.522 42.928 2946
+-83.396 42.928 2924
+-83.27 42.928 2953
+-83.144 42.928 2944
+-83.018 42.928 2960
+-82.892 42.928 2976
+-82.766 42.928 2990
+-82.64 42.928 2983
+-82.514 42.928 2993
+-82.388 42.928 3003
+-82.262 42.928 3011
+-82.136 42.928 3019
+-82.01 42.928 3027
+-81.884 42.928 3086
+-81.758 42.928 3091
+-81.632 42.928 3099
+-81.506 42.928 3107
+-81.38 42.928 3114
+-81.254 42.928 3078
+-81.128 42.928 3101
+-81.002 42.928 3108
+-80.876 42.928 3156
+-80.75 42.928 3101
+-80.624 42.928 3107
+-80.498 42.928 3112
+-80.372 42.928 3146
+-80.246 42.928 3118
+-80.12 42.928 3123
+-79.994 42.928 3128
+-79.868 42.928 3291
+-79.742 42.928 3255
+-79.616 42.928 3260
+-79.49 42.928 3371
+-79.364 42.928 3355
+-79.238 42.928 3360
+-79.112 42.928 3320
+-78.986 42.928 3389
+-78.86 42.928 3392
+-78.734 42.928 3396
+-78.608 42.928 3400
+-78.482 42.928 3404
+-78.356 42.928 3403
+-78.23 42.928 3407
+-78.104 42.928 3411
+-77.978 42.928 3400
+-77.852 42.928 3357
+-77.726 42.928 3354
+-77.6 42.928 3357
+-77.474 42.928 3359
+-77.348 42.928 3362
+-77.222 42.928 3364
+-77.096 42.928 3367
+-76.97 42.928 3369
+-76.844 42.928 3371
+-76.718 42.928 3373
+-76.592 42.928 3375
+-76.466 42.928 3377
+-76.34 42.928 3379
+-76.214 42.928 3381
+-76.088 42.928 3382
+-75.962 42.928 3384
+-75.836 42.928 3481
+-75.71 42.928 3483
+-75.584 42.928 3471
+-75.458 42.928 3472
+-75.332 42.928 3474
+-75.206 42.928 3475
+-75.08 42.928 3476
+-74.954 42.928 3478
+-74.828 42.928 3479
+-74.702 42.928 3480
+-74.576 42.928 3482
+-74.45 42.928 3483
+-74.324 42.928 3484
+-74.198 42.928 3514
+-74.072 42.928 3515
+-73.946 42.928 3517
+-73.82 42.928 3518
+-73.694 42.928 3520
+-73.568 42.928 3521
+-73.442 42.928 3485
+-73.316 42.928 3486
+-73.19 42.928 3488
+-73.064 42.928 3489
+-72.938 42.928 3519
+-72.812 42.928 3521
+-72.686 42.928 3522
+-72.56 42.928 3480
+-72.434 42.928 3481
+-72.308 42.928 3482
+-72.182 42.928 3616
+-72.056 42.928 3617
+-71.93 42.928 3618
+-71.804 42.928 3618
+-71.678 42.928 3619
+-71.552 42.928 3556
+-71.426 42.928 3556
+-71.3 42.928 3557
+-71.174 42.928 3557
+-71.048 42.928 3557
+-70.922 42.928 3558
+-70.796 42.928 3558
+-70.67 42.928 3558
+-70.544 42.928 3559
+-70.418 42.928 3559
+-70.292 42.928 3539
+-70.166 42.928 3527
+-70.04 42.928 3527
+-69.914 42.928 3528
+-69.788 42.928 3528
+-69.662 42.928 3528
+-69.536 42.928 3510
+-69.41 42.928 3511
+-69.284 42.928 3511
+-69.158 42.928 3511
+-69.032 42.928 3511
+-68.906 42.928 3512
+-68.78 42.928 3512
+-68.654 42.928 3512
+-68.528 42.928 3512
+-68.402 42.928 3460
+-68.276 42.928 3461
+-68.15 42.928 3461
+-68.024 42.928 3461
+-67.898 42.928 3461
+-67.772 42.928 3461
+-67.646 42.928 3461
+-67.52 42.928 3462
+-67.394 42.928 3462
+-67.268 42.928 3462
+-67.142 42.928 3462
+-67.016 42.928 3462
+-66.89 42.928 3462
+-66.764 42.928 3382
+-66.638 42.928 3382
+-66.512 42.928 3382
+-66.386 42.928 3382
+-66.26 42.928 3382
+-66.134 42.928 3382
+-66.008 42.928 3381
+-65.882 42.928 3381
+-65.756 42.928 3381
+-65.63 42.928 3381
+-65.504 42.928 3381
+-65.378 42.928 3381
+-65.252 42.928 3381
+-65.126 42.928 3381
+-128 42.876 3307
+-127.874 42.876 3338
+-127.748 42.876 3367
+-127.622 42.876 3362
+-127.496 42.876 3378
+-127.37 42.876 3366
+-127.244 42.876 3339
+-127.118 42.876 3310
+-126.992 42.876 3287
+-126.866 42.876 3361
+-126.74 42.876 3479
+-126.614 42.876 3622
+-126.488 42.876 3724
+-126.362 42.876 3834
+-126.236 42.876 3997
+-126.11 42.876 4107
+-125.984 42.876 4179
+-125.858 42.876 4213
+-125.732 42.876 4184
+-125.606 42.876 4300
+-125.48 42.876 4392
+-125.354 42.876 4450
+-125.228 42.876 4478
+-125.102 42.876 4552
+-124.976 42.876 4635
+-124.85 42.876 4699
+-124.724 42.876 4748
+-124.598 42.876 4815
+-124.472 42.876 4872
+-124.346 42.876 4913
+-124.22 42.876 4938
+-124.094 42.876 4974
+-123.968 42.876 5010
+-123.842 42.876 5028
+-123.716 42.876 5047
+-123.59 42.876 5060
+-123.464 42.876 5052
+-123.338 42.876 5037
+-123.212 42.876 5058
+-123.086 42.876 5076
+-122.96 42.876 5068
+-122.834 42.876 5061
+-122.708 42.876 5053
+-122.582 42.876 5051
+-122.456 42.876 5022
+-122.33 42.876 4998
+-122.204 42.876 4977
+-122.078 42.876 4976
+-121.952 42.876 4945
+-121.826 42.876 4912
+-121.7 42.876 4912
+-121.574 42.876 4838
+-121.448 42.876 4762
+-121.322 42.876 4604
+-121.196 42.876 4704
+-121.07 42.876 4828
+-120.944 42.876 4866
+-120.818 42.876 4920
+-120.692 42.876 5001
+-120.566 42.876 5117
+-120.44 42.876 5207
+-120.314 42.876 5239
+-120.188 42.876 5351
+-120.062 42.876 5414
+-119.936 42.876 5470
+-119.81 42.876 5515
+-119.684 42.876 5536
+-119.558 42.876 5582
+-119.432 42.876 5634
+-119.306 42.876 5693
+-119.18 42.876 5694
+-119.054 42.876 5758
+-118.928 42.876 5750
+-118.802 42.876 5775
+-118.676 42.876 5807
+-118.55 42.876 5834
+-118.424 42.876 5807
+-118.298 42.876 5802
+-118.172 42.876 5798
+-118.046 42.876 5777
+-117.92 42.876 5795
+-117.794 42.876 5774
+-117.668 42.876 5750
+-117.542 42.876 5728
+-117.416 42.876 5674
+-117.29 42.876 5639
+-117.164 42.876 5586
+-117.038 42.876 5505
+-116.912 42.876 5478
+-116.786 42.876 5449
+-116.66 42.876 5385
+-116.534 42.876 5331
+-116.408 42.876 5300
+-116.282 42.876 5243
+-116.156 42.876 5122
+-116.03 42.876 5010
+-115.904 42.876 4939
+-115.778 42.876 4867
+-115.652 42.876 4769
+-115.526 42.876 4664
+-115.4 42.876 4663
+-115.274 42.876 4571
+-115.148 42.876 4542
+-115.022 42.876 4460
+-114.896 42.876 4285
+-114.77 42.876 4178
+-114.644 42.876 4210
+-114.518 42.876 4145
+-114.392 42.876 4047
+-114.266 42.876 3898
+-114.14 42.876 3788
+-114.014 42.876 3699
+-113.888 42.876 3609
+-113.762 42.876 3509
+-113.636 42.876 3452
+-113.51 42.876 3378
+-113.384 42.876 3313
+-113.258 42.876 3265
+-113.132 42.876 3206
+-113.006 42.876 3143
+-112.88 42.876 3051
+-112.754 42.876 2947
+-112.628 42.876 2832
+-112.502 42.876 2720
+-112.376 42.876 2637
+-112.25 42.876 2597
+-112.124 42.876 2591
+-111.998 42.876 2607
+-111.872 42.876 2587
+-111.746 42.876 2625
+-111.62 42.876 2644
+-111.494 42.876 2686
+-111.368 42.876 2729
+-111.242 42.876 2769
+-111.116 42.876 2823
+-110.99 42.876 2860
+-110.864 42.876 2894
+-110.738 42.876 2857
+-110.612 42.876 2881
+-110.486 42.876 2904
+-110.36 42.876 2924
+-110.234 42.876 2942
+-110.108 42.876 2930
+-109.982 42.876 2944
+-109.856 42.876 2957
+-109.73 42.876 2919
+-109.604 42.876 2931
+-109.478 42.876 2943
+-109.352 42.876 2953
+-109.226 42.876 2902
+-109.1 42.876 2910
+-108.974 42.876 2918
+-108.848 42.876 2914
+-108.722 42.876 2914
+-108.596 42.876 2922
+-108.47 42.876 2864
+-108.344 42.876 2869
+-108.218 42.876 2941
+-108.092 42.876 2948
+-107.966 42.876 2955
+-107.84 42.876 2961
+-107.714 42.876 2967
+-107.588 42.876 2934
+-107.462 42.876 2934
+-107.336 42.876 2830
+-107.21 42.876 2833
+-107.084 42.876 2836
+-106.958 42.876 2838
+-106.832 42.876 2841
+-106.706 42.876 2718
+-106.58 42.876 2719
+-106.454 42.876 2720
+-106.328 42.876 2721
+-106.202 42.876 2721
+-106.076 42.876 2722
+-105.95 42.876 2553
+-105.824 42.876 2333
+-105.698 42.876 2322
+-105.572 42.876 2284
+-105.446 42.876 2256
+-105.32 42.876 2245
+-105.194 42.876 2234
+-105.068 42.876 2208
+-104.942 42.876 2195
+-104.816 42.876 2095
+-104.69 42.876 2038
+-104.564 42.876 2013
+-104.438 42.876 2003
+-104.312 42.876 1918
+-104.186 42.876 1896
+-104.06 42.876 1935
+-103.934 42.876 2002
+-103.808 42.876 2033
+-103.682 42.876 2156
+-103.556 42.876 2312
+-103.43 42.876 2414
+-103.304 42.876 2474
+-103.178 42.876 2468
+-103.052 42.876 2462
+-102.926 42.876 2456
+-102.8 42.876 2449
+-102.674 42.876 2443
+-102.548 42.876 2455
+-102.422 42.876 2503
+-102.296 42.876 2497
+-102.17 42.876 2490
+-102.044 42.876 2483
+-101.918 42.876 2476
+-101.792 42.876 2469
+-101.666 42.876 2462
+-101.54 42.876 2463
+-101.414 42.876 2506
+-101.288 42.876 2504
+-101.162 42.876 2534
+-101.036 42.876 2526
+-100.91 42.876 2518
+-100.784 42.876 2510
+-100.658 42.876 2502
+-100.532 42.876 2493
+-100.406 42.876 2486
+-100.28 42.876 2478
+-100.154 42.876 2494
+-100.028 42.876 2622
+-99.902 42.876 2614
+-99.776 42.876 2608
+-99.65 42.876 2602
+-99.524 42.876 2595
+-99.398 42.876 2615
+-99.272 42.876 2622
+-99.146 42.876 2621
+-99.02 42.876 2654
+-98.894 42.876 2655
+-98.768 42.876 2664
+-98.642 42.876 2671
+-98.516 42.876 2679
+-98.39 42.876 2688
+-98.264 42.876 2698
+-98.138 42.876 2707
+-98.012 42.876 2749
+-97.886 42.876 2756
+-97.76 42.876 2762
+-97.634 42.876 2720
+-97.508 42.876 2723
+-97.382 42.876 2724
+-97.256 42.876 2724
+-97.13 42.876 2718
+-97.004 42.876 2708
+-96.878 42.876 2694
+-96.752 42.876 2674
+-96.626 42.876 2704
+-96.5 42.876 2674
+-96.374 42.876 2634
+-96.248 42.876 2590
+-96.122 42.876 2578
+-95.996 42.876 2491
+-95.87 42.876 2443
+-95.744 42.876 2378
+-95.618 42.876 2348
+-95.492 42.876 2407
+-95.366 42.876 2547
+-95.24 42.876 2754
+-95.114 42.876 2949
+-94.988 42.876 3126
+-94.862 42.876 3274
+-94.736 42.876 3383
+-94.61 42.876 3462
+-94.484 42.876 3517
+-94.358 42.876 3560
+-94.232 42.876 3633
+-94.106 42.876 3676
+-93.98 42.876 3801
+-93.854 42.876 3864
+-93.728 42.876 3932
+-93.602 42.876 3997
+-93.476 42.876 4070
+-93.35 42.876 4099
+-93.224 42.876 4111
+-93.098 42.876 4171
+-92.972 42.876 4272
+-92.846 42.876 4376
+-92.72 42.876 4448
+-92.594 42.876 4516
+-92.468 42.876 4562
+-92.342 42.876 4623
+-92.216 42.876 4654
+-92.09 42.876 4694
+-91.964 42.876 4718
+-91.838 42.876 4779
+-91.712 42.876 4842
+-91.586 42.876 4880
+-91.46 42.876 4903
+-91.334 42.876 4923
+-91.208 42.876 4956
+-91.082 42.876 4981
+-90.956 42.876 4963
+-90.83 42.876 4990
+-90.704 42.876 5004
+-90.578 42.876 5015
+-90.452 42.876 4998
+-90.326 42.876 5043
+-90.2 42.876 5046
+-90.074 42.876 5010
+-89.948 42.876 4979
+-89.822 42.876 4981
+-89.696 42.876 4965
+-89.57 42.876 4922
+-89.444 42.876 4894
+-89.318 42.876 4854
+-89.192 42.876 4784
+-89.066 42.876 4729
+-88.94 42.876 4709
+-88.814 42.876 4681
+-88.688 42.876 4631
+-88.562 42.876 4558
+-88.436 42.876 4500
+-88.31 42.876 4420
+-88.184 42.876 4355
+-88.058 42.876 4305
+-87.932 42.876 4255
+-87.806 42.876 4181
+-87.68 42.876 4075
+-87.554 42.876 3976
+-87.428 42.876 3959
+-87.302 42.876 3967
+-87.176 42.876 3897
+-87.05 42.876 3817
+-86.924 42.876 3698
+-86.798 42.876 3611
+-86.672 42.876 3519
+-86.546 42.876 3454
+-86.42 42.876 3389
+-86.294 42.876 3362
+-86.168 42.876 3314
+-86.042 42.876 3223
+-85.916 42.876 3153
+-85.79 42.876 3126
+-85.664 42.876 3039
+-85.538 42.876 2934
+-85.412 42.876 2844
+-85.286 42.876 2795
+-85.16 42.876 2809
+-85.034 42.876 2817
+-84.908 42.876 2773
+-84.782 42.876 2621
+-84.656 42.876 2378
+-84.53 42.876 2251
+-84.404 42.876 2345
+-84.278 42.876 2502
+-84.152 42.876 2636
+-84.026 42.876 2746
+-83.9 42.876 2816
+-83.774 42.876 2869
+-83.648 42.876 2910
+-83.522 42.876 2942
+-83.396 42.876 2948
+-83.27 42.876 2980
+-83.144 42.876 3001
+-83.018 42.876 2963
+-82.892 42.876 2980
+-82.766 42.876 2975
+-82.64 42.876 2987
+-82.514 42.876 2997
+-82.388 42.876 3007
+-82.262 42.876 3016
+-82.136 42.876 3024
+-82.01 42.876 3082
+-81.884 42.876 3089
+-81.758 42.876 3097
+-81.632 42.876 3105
+-81.506 42.876 3113
+-81.38 42.876 3078
+-81.254 42.876 3101
+-81.128 42.876 3108
+-81.002 42.876 3155
+-80.876 42.876 3102
+-80.75 42.876 3108
+-80.624 42.876 3113
+-80.498 42.876 3146
+-80.372 42.876 3119
+-80.246 42.876 3124
+-80.12 42.876 3129
+-79.994 42.876 3289
+-79.868 42.876 3253
+-79.742 42.876 3259
+-79.616 42.876 3368
+-79.49 42.876 3353
+-79.364 42.876 3359
+-79.238 42.876 3319
+-79.112 42.876 3387
+-78.986 42.876 3390
+-78.86 42.876 3395
+-78.734 42.876 3399
+-78.608 42.876 3403
+-78.482 42.876 3402
+-78.356 42.876 3406
+-78.23 42.876 3410
+-78.104 42.876 3400
+-77.978 42.876 3357
+-77.852 42.876 3354
+-77.726 42.876 3356
+-77.6 42.876 3359
+-77.474 42.876 3362
+-77.348 42.876 3364
+-77.222 42.876 3366
+-77.096 42.876 3369
+-76.97 42.876 3371
+-76.844 42.876 3373
+-76.718 42.876 3375
+-76.592 42.876 3377
+-76.466 42.876 3379
+-76.34 42.876 3381
+-76.214 42.876 3382
+-76.088 42.876 3384
+-75.962 42.876 3480
+-75.836 42.876 3482
+-75.71 42.876 3470
+-75.584 42.876 3472
+-75.458 42.876 3473
+-75.332 42.876 3475
+-75.206 42.876 3476
+-75.08 42.876 3477
+-74.954 42.876 3479
+-74.828 42.876 3480
+-74.702 42.876 3481
+-74.576 42.876 3483
+-74.45 42.876 3484
+-74.324 42.876 3513
+-74.198 42.876 3515
+-74.072 42.876 3516
+-73.946 42.876 3518
+-73.82 42.876 3519
+-73.694 42.876 3521
+-73.568 42.876 3485
+-73.442 42.876 3486
+-73.316 42.876 3487
+-73.19 42.876 3488
+-73.064 42.876 3519
+-72.938 42.876 3520
+-72.812 42.876 3522
+-72.686 42.876 3480
+-72.56 42.876 3481
+-72.434 42.876 3482
+-72.308 42.876 3616
+-72.182 42.876 3617
+-72.056 42.876 3617
+-71.93 42.876 3618
+-71.804 42.876 3618
+-71.678 42.876 3556
+-71.552 42.876 3556
+-71.426 42.876 3557
+-71.3 42.876 3557
+-71.174 42.876 3557
+-71.048 42.876 3558
+-70.922 42.876 3558
+-70.796 42.876 3558
+-70.67 42.876 3559
+-70.544 42.876 3559
+-70.418 42.876 3539
+-70.292 42.876 3527
+-70.166 42.876 3527
+-70.04 42.876 3527
+-69.914 42.876 3528
+-69.788 42.876 3528
+-69.662 42.876 3528
+-69.536 42.876 3511
+-69.41 42.876 3511
+-69.284 42.876 3511
+-69.158 42.876 3511
+-69.032 42.876 3512
+-68.906 42.876 3512
+-68.78 42.876 3512
+-68.654 42.876 3512
+-68.528 42.876 3460
+-68.402 42.876 3460
+-68.276 42.876 3461
+-68.15 42.876 3461
+-68.024 42.876 3461
+-67.898 42.876 3461
+-67.772 42.876 3461
+-67.646 42.876 3461
+-67.52 42.876 3462
+-67.394 42.876 3462
+-67.268 42.876 3462
+-67.142 42.876 3462
+-67.016 42.876 3462
+-66.89 42.876 3382
+-66.764 42.876 3382
+-66.638 42.876 3382
+-66.512 42.876 3382
+-66.386 42.876 3382
+-66.26 42.876 3382
+-66.134 42.876 3381
+-66.008 42.876 3381
+-65.882 42.876 3381
+-65.756 42.876 3381
+-65.63 42.876 3381
+-65.504 42.876 3381
+-65.378 42.876 3381
+-65.252 42.876 3381
+-65.126 42.876 3381
+-128 42.824 3300
+-127.874 42.824 3331
+-127.748 42.824 3330
+-127.622 42.824 3354
+-127.496 42.824 3349
+-127.37 42.824 3331
+-127.244 42.824 3301
+-127.118 42.824 3250
+-126.992 42.824 3209
+-126.866 42.824 3282
+-126.74 42.824 3410
+-126.614 42.824 3535
+-126.488 42.824 3664
+-126.362 42.824 3784
+-126.236 42.824 3935
+-126.11 42.824 4069
+-125.984 42.824 4156
+-125.858 42.824 4203
+-125.732 42.824 4240
+-125.606 42.824 4312
+-125.48 42.824 4381
+-125.354 42.824 4421
+-125.228 42.824 4382
+-125.102 42.824 4469
+-124.976 42.824 4579
+-124.85 42.824 4635
+-124.724 42.824 4673
+-124.598 42.824 4754
+-124.472 42.824 4800
+-124.346 42.824 4865
+-124.22 42.824 4913
+-124.094 42.824 4949
+-123.968 42.824 4976
+-123.842 42.824 4990
+-123.716 42.824 4986
+-123.59 42.824 4977
+-123.464 42.824 5005
+-123.338 42.824 5027
+-123.212 42.824 5043
+-123.086 42.824 5022
+-122.96 42.824 5001
+-122.834 42.824 4969
+-122.708 42.824 4963
+-122.582 42.824 4964
+-122.456 42.824 4942
+-122.33 42.824 4920
+-122.204 42.824 4925
+-122.078 42.824 4919
+-121.952 42.824 4903
+-121.826 42.824 4881
+-121.7 42.824 4802
+-121.574 42.824 4790
+-121.448 42.824 4700
+-121.322 42.824 4716
+-121.196 42.824 4748
+-121.07 42.824 4820
+-120.944 42.824 4881
+-120.818 42.824 4903
+-120.692 42.824 4966
+-120.566 42.824 5066
+-120.44 42.824 5124
+-120.314 42.824 5163
+-120.188 42.824 5258
+-120.062 42.824 5310
+-119.936 42.824 5391
+-119.81 42.824 5469
+-119.684 42.824 5482
+-119.558 42.824 5525
+-119.432 42.824 5606
+-119.306 42.824 5598
+-119.18 42.824 5638
+-119.054 42.824 5666
+-118.928 42.824 5697
+-118.802 42.824 5712
+-118.676 42.824 5740
+-118.55 42.824 5730
+-118.424 42.824 5756
+-118.298 42.824 5740
+-118.172 42.824 5760
+-118.046 42.824 5769
+-117.92 42.824 5747
+-117.794 42.824 5703
+-117.668 42.824 5701
+-117.542 42.824 5658
+-117.416 42.824 5611
+-117.29 42.824 5587
+-117.164 42.824 5534
+-117.038 42.824 5477
+-116.912 42.824 5413
+-116.786 42.824 5403
+-116.66 42.824 5327
+-116.534 42.824 5307
+-116.408 42.824 5255
+-116.282 42.824 5190
+-116.156 42.824 5093
+-116.03 42.824 4987
+-115.904 42.824 4875
+-115.778 42.824 4830
+-115.652 42.824 4786
+-115.526 42.824 4701
+-115.4 42.824 4599
+-115.274 42.824 4467
+-115.148 42.824 4493
+-115.022 42.824 4425
+-114.896 42.824 4324
+-114.77 42.824 4240
+-114.644 42.824 4215
+-114.518 42.824 4146
+-114.392 42.824 4023
+-114.266 42.824 3861
+-114.14 42.824 3731
+-114.014 42.824 3610
+-113.888 42.824 3507
+-113.762 42.824 3451
+-113.636 42.824 3430
+-113.51 42.824 3388
+-113.384 42.824 3340
+-113.258 42.824 3259
+-113.132 42.824 3196
+-113.006 42.824 3086
+-112.88 42.824 2963
+-112.754 42.824 2808
+-112.628 42.824 2643
+-112.502 42.824 2509
+-112.376 42.824 2421
+-112.25 42.824 2392
+-112.124 42.824 2392
+-111.998 42.824 2406
+-111.872 42.824 2453
+-111.746 42.824 2490
+-111.62 42.824 2548
+-111.494 42.824 2605
+-111.368 42.824 2660
+-111.242 42.824 2712
+-111.116 42.824 2758
+-110.99 42.824 2816
+-110.864 42.824 2792
+-110.738 42.824 2824
+-110.612 42.824 2852
+-110.486 42.824 2877
+-110.36 42.824 2900
+-110.234 42.824 2920
+-110.108 42.824 2938
+-109.982 42.824 2927
+-109.856 42.824 2941
+-109.73 42.824 2954
+-109.604 42.824 2916
+-109.478 42.824 2865
+-109.352 42.824 2877
+-109.226 42.824 2887
+-109.1 42.824 2896
+-108.974 42.824 2905
+-108.848 42.824 2913
+-108.722 42.824 2908
+-108.596 42.824 2908
+-108.47 42.824 2916
+-108.344 42.824 2859
+-108.218 42.824 2865
+-108.092 42.824 2936
+-107.966 42.824 2943
+-107.84 42.824 2950
+-107.714 42.824 2956
+-107.588 42.824 2851
+-107.462 42.824 2849
+-107.336 42.824 2819
+-107.21 42.824 2822
+-107.084 42.824 2825
+-106.958 42.824 2828
+-106.832 42.824 2706
+-106.706 42.824 2707
+-106.58 42.824 2708
+-106.454 42.824 2709
+-106.328 42.824 2710
+-106.202 42.824 2711
+-106.076 42.824 2711
+-105.95 42.824 2574
+-105.824 42.824 2430
+-105.698 42.824 2310
+-105.572 42.824 2300
+-105.446 42.824 2261
+-105.32 42.824 2233
+-105.194 42.824 2221
+-105.068 42.824 2195
+-104.942 42.824 2182
+-104.816 42.824 2053
+-104.69 42.824 2028
+-104.564 42.824 2005
+-104.438 42.824 1996
+-104.312 42.824 1981
+-104.186 42.824 1876
+-104.06 42.824 1931
+-103.934 42.824 1999
+-103.808 42.824 2031
+-103.682 42.824 2154
+-103.556 42.824 2239
+-103.43 42.824 2412
+-103.304 42.824 2471
+-103.178 42.824 2465
+-103.052 42.824 2459
+-102.926 42.824 2453
+-102.8 42.824 2446
+-102.674 42.824 2439
+-102.548 42.824 2432
+-102.422 42.824 2445
+-102.296 42.824 2492
+-102.17 42.824 2485
+-102.044 42.824 2478
+-101.918 42.824 2470
+-101.792 42.824 2463
+-101.666 42.824 2455
+-101.54 42.824 2447
+-101.414 42.824 2448
+-101.288 42.824 2489
+-101.162 42.824 2487
+-101.036 42.824 2515
+-100.91 42.824 2506
+-100.784 42.824 2497
+-100.658 42.824 2488
+-100.532 42.824 2479
+-100.406 42.824 2470
+-100.28 42.824 2462
+-100.154 42.824 2453
+-100.028 42.824 2471
+-99.902 42.824 2596
+-99.776 42.824 2588
+-99.65 42.824 2581
+-99.524 42.824 2575
+-99.398 42.824 2570
+-99.272 42.824 2589
+-99.146 42.824 2597
+-99.02 42.824 2598
+-98.894 42.824 2631
+-98.768 42.824 2635
+-98.642 42.824 2647
+-98.516 42.824 2657
+-98.39 42.824 2668
+-98.264 42.824 2680
+-98.138 42.824 2692
+-98.012 42.824 2704
+-97.886 42.824 2748
+-97.76 42.824 2757
+-97.634 42.824 2765
+-97.508 42.824 2725
+-97.382 42.824 2729
+-97.256 42.824 2731
+-97.13 42.824 2764
+-97.004 42.824 2758
+-96.878 42.824 2747
+-96.752 42.824 2731
+-96.626 42.824 2710
+-96.5 42.824 2711
+-96.374 42.824 2679
+-96.248 42.824 2637
+-96.122 42.824 2586
+-95.996 42.824 2552
+-95.87 42.824 2465
+-95.744 42.824 2351
+-95.618 42.824 2283
+-95.492 42.824 2374
+-95.366 42.824 2576
+-95.24 42.824 2800
+-95.114 42.824 3008
+-94.988 42.824 3197
+-94.862 42.824 3331
+-94.736 42.824 3422
+-94.61 42.824 3483
+-94.484 42.824 3528
+-94.358 42.824 3564
+-94.232 42.824 3599
+-94.106 42.824 3696
+-93.98 42.824 3781
+-93.854 42.824 3846
+-93.728 42.824 3933
+-93.602 42.824 4035
+-93.476 42.824 4106
+-93.35 42.824 4111
+-93.224 42.824 4073
+-93.098 42.824 4173
+-92.972 42.824 4354
+-92.846 42.824 4463
+-92.72 42.824 4516
+-92.594 42.824 4565
+-92.468 42.824 4608
+-92.342 42.824 4685
+-92.216 42.824 4723
+-92.09 42.824 4775
+-91.964 42.824 4816
+-91.838 42.824 4864
+-91.712 42.824 4889
+-91.586 42.824 4890
+-91.46 42.824 4934
+-91.334 42.824 4965
+-91.208 42.824 5009
+-91.082 42.824 5034
+-90.956 42.824 5045
+-90.83 42.824 5034
+-90.704 42.824 5046
+-90.578 42.824 5068
+-90.452 42.824 5075
+-90.326 42.824 5107
+-90.2 42.824 5118
+-90.074 42.824 5109
+-89.948 42.824 5088
+-89.822 42.824 5072
+-89.696 42.824 5035
+-89.57 42.824 4974
+-89.444 42.824 4932
+-89.318 42.824 4902
+-89.192 42.824 4864
+-89.066 42.824 4791
+-88.94 42.824 4750
+-88.814 42.824 4713
+-88.688 42.824 4697
+-88.562 42.824 4667
+-88.436 42.824 4573
+-88.31 42.824 4484
+-88.184 42.824 4385
+-88.058 42.824 4349
+-87.932 42.824 4310
+-87.806 42.824 4243
+-87.68 42.824 4144
+-87.554 42.824 4078
+-87.428 42.824 4030
+-87.302 42.824 3989
+-87.176 42.824 3915
+-87.05 42.824 3807
+-86.924 42.824 3727
+-86.798 42.824 3677
+-86.672 42.824 3610
+-86.546 42.824 3516
+-86.42 42.824 3404
+-86.294 42.824 3382
+-86.168 42.824 3355
+-86.042 42.824 3285
+-85.916 42.824 3210
+-85.79 42.824 3160
+-85.664 42.824 3095
+-85.538 42.824 2996
+-85.412 42.824 2914
+-85.286 42.824 2850
+-85.16 42.824 2815
+-85.034 42.824 2821
+-84.908 42.824 2794
+-84.782 42.824 2676
+-84.656 42.824 2478
+-84.53 42.824 2364
+-84.404 42.824 2425
+-84.278 42.824 2553
+-84.152 42.824 2678
+-84.026 42.824 2763
+-83.9 42.824 2826
+-83.774 42.824 2874
+-83.648 42.824 2911
+-83.522 42.824 2922
+-83.396 42.824 2956
+-83.27 42.824 2980
+-83.144 42.824 3003
+-83.018 42.824 3005
+-82.892 42.824 3025
+-82.766 42.824 3041
+-82.64 42.824 3055
+-82.514 42.824 3002
+-82.388 42.824 3012
+-82.262 42.824 3021
+-82.136 42.824 3079
+-82.01 42.824 3086
+-81.884 42.824 3095
+-81.758 42.824 3104
+-81.632 42.824 3112
+-81.506 42.824 3078
+-81.38 42.824 3101
+-81.254 42.824 3108
+-81.128 42.824 3155
+-81.002 42.824 3102
+-80.876 42.824 3109
+-80.75 42.824 3115
+-80.624 42.824 3147
+-80.498 42.824 3120
+-80.372 42.824 3126
+-80.246 42.824 3131
+-80.12 42.824 3286
+-79.994 42.824 3252
+-79.868 42.824 3258
+-79.742 42.824 3366
+-79.616 42.824 3351
+-79.49 42.824 3357
+-79.364 42.824 3318
+-79.238 42.824 3386
+-79.112 42.824 3389
+-78.986 42.824 3394
+-78.86 42.824 3398
+-78.734 42.824 3402
+-78.608 42.824 3401
+-78.482 42.824 3405
+-78.356 42.824 3409
+-78.23 42.824 3399
+-78.104 42.824 3356
+-77.978 42.824 3353
+-77.852 42.824 3356
+-77.726 42.824 3359
+-77.6 42.824 3361
+-77.474 42.824 3364
+-77.348 42.824 3366
+-77.222 42.824 3369
+-77.096 42.824 3371
+-76.97 42.824 3373
+-76.844 42.824 3375
+-76.718 42.824 3377
+-76.592 42.824 3379
+-76.466 42.824 3381
+-76.34 42.824 3382
+-76.214 42.824 3384
+-76.088 42.824 3480
+-75.962 42.824 3481
+-75.836 42.824 3469
+-75.71 42.824 3471
+-75.584 42.824 3473
+-75.458 42.824 3474
+-75.332 42.824 3476
+-75.206 42.824 3477
+-75.08 42.824 3478
+-74.954 42.824 3480
+-74.828 42.824 3481
+-74.702 42.824 3482
+-74.576 42.824 3483
+-74.45 42.824 3513
+-74.324 42.824 3514
+-74.198 42.824 3516
+-74.072 42.824 3517
+-73.946 42.824 3519
+-73.82 42.824 3520
+-73.694 42.824 3485
+-73.568 42.824 3486
+-73.442 42.824 3487
+-73.316 42.824 3488
+-73.19 42.824 3519
+-73.064 42.824 3520
+-72.938 42.824 3522
+-72.812 42.824 3479
+-72.686 42.824 3481
+-72.56 42.824 3482
+-72.434 42.824 3615
+-72.308 42.824 3616
+-72.182 42.824 3617
+-72.056 42.824 3617
+-71.93 42.824 3618
+-71.804 42.824 3556
+-71.678 42.824 3556
+-71.552 42.824 3556
+-71.426 42.824 3557
+-71.3 42.824 3557
+-71.174 42.824 3557
+-71.048 42.824 3558
+-70.922 42.824 3558
+-70.796 42.824 3558
+-70.67 42.824 3559
+-70.544 42.824 3539
+-70.418 42.824 3526
+-70.292 42.824 3527
+-70.166 42.824 3527
+-70.04 42.824 3528
+-69.914 42.824 3528
+-69.788 42.824 3510
+-69.662 42.824 3510
+-69.536 42.824 3511
+-69.41 42.824 3511
+-69.284 42.824 3511
+-69.158 42.824 3511
+-69.032 42.824 3512
+-68.906 42.824 3512
+-68.78 42.824 3512
+-68.654 42.824 3460
+-68.528 42.824 3460
+-68.402 42.824 3460
+-68.276 42.824 3461
+-68.15 42.824 3461
+-68.024 42.824 3461
+-67.898 42.824 3461
+-67.772 42.824 3461
+-67.646 42.824 3462
+-67.52 42.824 3462
+-67.394 42.824 3462
+-67.268 42.824 3462
+-67.142 42.824 3462
+-67.016 42.824 3382
+-66.89 42.824 3382
+-66.764 42.824 3382
+-66.638 42.824 3382
+-66.512 42.824 3382
+-66.386 42.824 3382
+-66.26 42.824 3381
+-66.134 42.824 3381
+-66.008 42.824 3381
+-65.882 42.824 3381
+-65.756 42.824 3381
+-65.63 42.824 3381
+-65.504 42.824 3381
+-65.378 42.824 3381
+-65.252 42.824 3381
+-65.126 42.824 3381
+-128 42.772 3279
+-127.874 42.772 3284
+-127.748 42.772 3317
+-127.622 42.772 3326
+-127.496 42.772 3324
+-127.37 42.772 3312
+-127.244 42.772 3276
+-127.118 42.772 3236
+-126.992 42.772 3214
+-126.866 42.772 3263
+-126.74 42.772 3372
+-126.614 42.772 3473
+-126.488 42.772 3565
+-126.362 42.772 3723
+-126.236 42.772 3886
+-126.11 42.772 4026
+-125.984 42.772 4122
+-125.858 42.772 4180
+-125.732 42.772 4289
+-125.606 42.772 4322
+-125.48 42.772 4373
+-125.354 42.772 4414
+-125.228 42.772 4422
+-125.102 42.772 4459
+-124.976 42.772 4510
+-124.85 42.772 4558
+-124.724 42.772 4577
+-124.598 42.772 4638
+-124.472 42.772 4714
+-124.346 42.772 4784
+-124.22 42.772 4850
+-124.094 42.772 4896
+-123.968 42.772 4937
+-123.842 42.772 4952
+-123.716 42.772 4940
+-123.59 42.772 4912
+-123.464 42.772 4951
+-123.338 42.772 4979
+-123.212 42.772 4994
+-123.086 42.772 4970
+-122.96 42.772 4940
+-122.834 42.772 4913
+-122.708 42.772 4911
+-122.582 42.772 4907
+-122.456 42.772 4899
+-122.33 42.772 4889
+-122.204 42.772 4878
+-122.078 42.772 4882
+-121.952 42.772 4868
+-121.826 42.772 4844
+-121.7 42.772 4807
+-121.574 42.772 4747
+-121.448 42.772 4664
+-121.322 42.772 4701
+-121.196 42.772 4735
+-121.07 42.772 4776
+-120.944 42.772 4851
+-120.818 42.772 4886
+-120.692 42.772 4938
+-120.566 42.772 4994
+-120.44 42.772 5038
+-120.314 42.772 5091
+-120.188 42.772 5179
+-120.062 42.772 5228
+-119.936 42.772 5316
+-119.81 42.772 5393
+-119.684 42.772 5451
+-119.558 42.772 5479
+-119.432 42.772 5553
+-119.306 42.772 5550
+-119.18 42.772 5586
+-119.054 42.772 5627
+-118.928 42.772 5663
+-118.802 42.772 5664
+-118.676 42.772 5685
+-118.55 42.772 5700
+-118.424 42.772 5716
+-118.298 42.772 5736
+-118.172 42.772 5734
+-118.046 42.772 5720
+-117.92 42.772 5691
+-117.794 42.772 5677
+-117.668 42.772 5658
+-117.542 42.772 5607
+-117.416 42.772 5554
+-117.29 42.772 5543
+-117.164 42.772 5494
+-117.038 42.772 5441
+-116.912 42.772 5382
+-116.786 42.772 5336
+-116.66 42.772 5275
+-116.534 42.772 5219
+-116.408 42.772 5180
+-116.282 42.772 5140
+-116.156 42.772 5053
+-116.03 42.772 4952
+-115.904 42.772 4843
+-115.778 42.772 4795
+-115.652 42.772 4768
+-115.526 42.772 4701
+-115.4 42.772 4592
+-115.274 42.772 4496
+-115.148 42.772 4416
+-115.022 42.772 4388
+-114.896 42.772 4357
+-114.77 42.772 4289
+-114.644 42.772 4214
+-114.518 42.772 4120
+-114.392 42.772 4011
+-114.266 42.772 3831
+-114.14 42.772 3643
+-114.014 42.772 3461
+-113.888 42.772 3384
+-113.762 42.772 3388
+-113.636 42.772 3401
+-113.51 42.772 3385
+-113.384 42.772 3336
+-113.258 42.772 3270
+-113.132 42.772 3156
+-113.006 42.772 3031
+-112.88 42.772 2865
+-112.754 42.772 2668
+-112.628 42.772 2455
+-112.502 42.772 2275
+-112.376 42.772 2181
+-112.25 42.772 2172
+-112.124 42.772 2197
+-111.998 42.772 2248
+-111.872 42.772 2307
+-111.746 42.772 2377
+-111.62 42.772 2452
+-111.494 42.772 2526
+-111.368 42.772 2594
+-111.242 42.772 2657
+-111.116 42.772 2678
+-110.99 42.772 2724
+-110.864 42.772 2757
+-110.738 42.772 2793
+-110.612 42.772 2825
+-110.486 42.772 2853
+-110.36 42.772 2878
+-110.234 42.772 2900
+-110.108 42.772 2920
+-109.982 42.772 2938
+-109.856 42.772 2926
+-109.73 42.772 2940
+-109.604 42.772 2840
+-109.478 42.772 2851
+-109.352 42.772 2861
+-109.226 42.772 2873
+-109.1 42.772 2883
+-108.974 42.772 2892
+-108.848 42.772 2901
+-108.722 42.772 2909
+-108.596 42.772 2904
+-108.47 42.772 2904
+-108.344 42.772 2912
+-108.218 42.772 2854
+-108.092 42.772 2860
+-107.966 42.772 2932
+-107.84 42.772 2939
+-107.714 42.772 2834
+-107.588 42.772 2833
+-107.462 42.772 2837
+-107.336 42.772 2842
+-107.21 42.772 2811
+-107.084 42.772 2815
+-106.958 42.772 2693
+-106.832 42.772 2694
+-106.706 42.772 2695
+-106.58 42.772 2697
+-106.454 42.772 2698
+-106.328 42.772 2699
+-106.202 42.772 2700
+-106.076 42.772 2701
+-105.95 42.772 2429
+-105.824 42.772 2418
+-105.698 42.772 2407
+-105.572 42.772 2287
+-105.446 42.772 2276
+-105.32 42.772 2237
+-105.194 42.772 2208
+-105.068 42.772 2182
+-104.942 42.772 2133
+-104.816 42.772 2071
+-104.69 42.772 2018
+-104.564 42.772 1996
+-104.438 42.772 1989
+-104.312 42.772 1975
+-104.186 42.772 1873
+-104.06 42.772 1927
+-103.934 42.772 1996
+-103.808 42.772 2028
+-103.682 42.772 2152
+-103.556 42.772 2237
+-103.43 42.772 2235
+-103.304 42.772 2424
+-103.178 42.772 2462
+-103.052 42.772 2456
+-102.926 42.772 2449
+-102.8 42.772 2443
+-102.674 42.772 2436
+-102.548 42.772 2428
+-102.422 42.772 2421
+-102.296 42.772 2434
+-102.17 42.772 2480
+-102.044 42.772 2472
+-101.918 42.772 2464
+-101.792 42.772 2456
+-101.666 42.772 2448
+-101.54 42.772 2440
+-101.414 42.772 2431
+-101.288 42.772 2430
+-101.162 42.772 2470
+-101.036 42.772 2468
+-100.91 42.772 2495
+-100.784 42.772 2485
+-100.658 42.772 2475
+-100.532 42.772 2465
+-100.406 42.772 2455
+-100.28 42.772 2445
+-100.154 42.772 2435
+-100.028 42.772 2426
+-99.902 42.772 2444
+-99.776 42.772 2566
+-99.65 42.772 2557
+-99.524 42.772 2550
+-99.398 42.772 2545
+-99.272 42.772 2540
+-99.146 42.772 2560
+-99.02 42.772 2569
+-98.894 42.772 2572
+-98.768 42.772 2607
+-98.642 42.772 2613
+-98.516 42.772 2630
+-98.39 42.772 2643
+-98.264 42.772 2657
+-98.138 42.772 2673
+-98.012 42.772 2688
+-97.886 42.772 2704
+-97.76 42.772 2750
+-97.634 42.772 2762
+-97.508 42.772 2772
+-97.382 42.772 2754
+-97.256 42.772 2760
+-97.13 42.772 2743
+-97.004 42.772 2789
+-96.878 42.772 2771
+-96.752 42.772 2760
+-96.626 42.772 2745
+-96.5 42.772 2724
+-96.374 42.772 2723
+-96.248 42.772 2690
+-96.122 42.772 2641
+-95.996 42.772 2579
+-95.87 42.772 2522
+-95.744 42.772 2423
+-95.618 42.772 2375
+-95.492 42.772 2469
+-95.366 42.772 2668
+-95.24 42.772 2902
+-95.114 42.772 3096
+-94.988 42.772 3257
+-94.862 42.772 3370
+-94.736 42.772 3455
+-94.61 42.772 3507
+-94.484 42.772 3544
+-94.358 42.772 3561
+-94.232 42.772 3557
+-94.106 42.772 3632
+-93.98 42.772 3733
+-93.854 42.772 3847
+-93.728 42.772 3956
+-93.602 42.772 4049
+-93.476 42.772 4152
+-93.35 42.772 4175
+-93.224 42.772 4171
+-93.098 42.772 4268
+-92.972 42.772 4421
+-92.846 42.772 4508
+-92.72 42.772 4526
+-92.594 42.772 4572
+-92.468 42.772 4629
+-92.342 42.772 4719
+-92.216 42.772 4795
+-92.09 42.772 4838
+-91.964 42.772 4866
+-91.838 42.772 4886
+-91.712 42.772 4890
+-91.586 42.772 4938
+-91.46 42.772 4965
+-91.334 42.772 5021
+-91.208 42.772 5053
+-91.082 42.772 5049
+-90.956 42.772 5068
+-90.83 42.772 5095
+-90.704 42.772 5123
+-90.578 42.772 5137
+-90.452 42.772 5142
+-90.326 42.772 5116
+-90.2 42.772 5157
+-90.074 42.772 5163
+-89.948 42.772 5149
+-89.822 42.772 5130
+-89.696 42.772 5106
+-89.57 42.772 5046
+-89.444 42.772 4976
+-89.318 42.772 4945
+-89.192 42.772 4912
+-89.066 42.772 4876
+-88.94 42.772 4826
+-88.814 42.772 4767
+-88.688 42.772 4686
+-88.562 42.772 4704
+-88.436 42.772 4645
+-88.31 42.772 4560
+-88.184 42.772 4460
+-88.058 42.772 4378
+-87.932 42.772 4339
+-87.806 42.772 4306
+-87.68 42.772 4208
+-87.554 42.772 4148
+-87.428 42.772 4106
+-87.302 42.772 4013
+-87.176 42.772 3926
+-87.05 42.772 3807
+-86.924 42.772 3670
+-86.798 42.772 3705
+-86.672 42.772 3656
+-86.546 42.772 3556
+-86.42 42.772 3461
+-86.294 42.772 3394
+-86.168 42.772 3374
+-86.042 42.772 3336
+-85.916 42.772 3268
+-85.79 42.772 3208
+-85.664 42.772 3150
+-85.538 42.772 3057
+-85.412 42.772 2964
+-85.286 42.772 2848
+-85.16 42.772 2772
+-85.034 42.772 2816
+-84.908 42.772 2831
+-84.782 42.772 2765
+-84.656 42.772 2651
+-84.53 42.772 2574
+-84.404 42.772 2593
+-84.278 42.772 2665
+-84.152 42.772 2735
+-84.026 42.772 2796
+-83.9 42.772 2844
+-83.774 42.772 2882
+-83.648 42.772 2895
+-83.522 42.772 2931
+-83.396 42.772 2958
+-83.27 42.772 2982
+-83.144 42.772 2988
+-83.018 42.772 3009
+-82.892 42.772 3027
+-82.766 42.772 3044
+-82.64 42.772 3059
+-82.514 42.772 3072
+-82.388 42.772 3085
+-82.262 42.772 3075
+-82.136 42.772 3083
+-82.01 42.772 3093
+-81.884 42.772 3102
+-81.758 42.772 3111
+-81.632 42.772 3078
+-81.506 42.772 3101
+-81.38 42.772 3108
+-81.254 42.772 3155
+-81.128 42.772 3103
+-81.002 42.772 3110
+-80.876 42.772 3116
+-80.75 42.772 3148
+-80.624 42.772 3122
+-80.498 42.772 3127
+-80.372 42.772 3133
+-80.246 42.772 3285
+-80.12 42.772 3251
+-79.994 42.772 3257
+-79.868 42.772 3364
+-79.742 42.772 3350
+-79.616 42.772 3356
+-79.49 42.772 3317
+-79.364 42.772 3384
+-79.238 42.772 3388
+-79.112 42.772 3392
+-78.986 42.772 3397
+-78.86 42.772 3401
+-78.734 42.772 3400
+-78.608 42.772 3404
+-78.482 42.772 3408
+-78.356 42.772 3398
+-78.23 42.772 3356
+-78.104 42.772 3353
+-77.978 42.772 3356
+-77.852 42.772 3359
+-77.726 42.772 3361
+-77.6 42.772 3364
+-77.474 42.772 3366
+-77.348 42.772 3369
+-77.222 42.772 3371
+-77.096 42.772 3373
+-76.97 42.772 3375
+-76.844 42.772 3377
+-76.718 42.772 3379
+-76.592 42.772 3381
+-76.466 42.772 3383
+-76.34 42.772 3384
+-76.214 42.772 3479
+-76.088 42.772 3481
+-75.962 42.772 3469
+-75.836 42.772 3470
+-75.71 42.772 3472
+-75.584 42.772 3474
+-75.458 42.772 3475
+-75.332 42.772 3477
+-75.206 42.772 3478
+-75.08 42.772 3479
+-74.954 42.772 3481
+-74.828 42.772 3482
+-74.702 42.772 3483
+-74.576 42.772 3512
+-74.45 42.772 3514
+-74.324 42.772 3515
+-74.198 42.772 3517
+-74.072 42.772 3518
+-73.946 42.772 3520
+-73.82 42.772 3484
+-73.694 42.772 3486
+-73.568 42.772 3487
+-73.442 42.772 3488
+-73.316 42.772 3518
+-73.19 42.772 3520
+-73.064 42.772 3521
+-72.938 42.772 3479
+-72.812 42.772 3480
+-72.686 42.772 3482
+-72.56 42.772 3615
+-72.434 42.772 3616
+-72.308 42.772 3616
+-72.182 42.772 3617
+-72.056 42.772 3617
+-71.93 42.772 3555
+-71.804 42.772 3556
+-71.678 42.772 3556
+-71.552 42.772 3556
+-71.426 42.772 3557
+-71.3 42.772 3557
+-71.174 42.772 3557
+-71.048 42.772 3558
+-70.922 42.772 3558
+-70.796 42.772 3558
+-70.67 42.772 3538
+-70.544 42.772 3526
+-70.418 42.772 3527
+-70.292 42.772 3527
+-70.166 42.772 3527
+-70.04 42.772 3528
+-69.914 42.772 3528
+-69.788 42.772 3510
+-69.662 42.772 3510
+-69.536 42.772 3511
+-69.41 42.772 3511
+-69.284 42.772 3511
+-69.158 42.772 3511
+-69.032 42.772 3512
+-68.906 42.772 3512
+-68.78 42.772 3460
+-68.654 42.772 3460
+-68.528 42.772 3460
+-68.402 42.772 3460
+-68.276 42.772 3461
+-68.15 42.772 3461
+-68.024 42.772 3461
+-67.898 42.772 3461
+-67.772 42.772 3461
+-67.646 42.772 3462
+-67.52 42.772 3462
+-67.394 42.772 3462
+-67.268 42.772 3462
+-67.142 42.772 3382
+-67.016 42.772 3382
+-66.89 42.772 3382
+-66.764 42.772 3382
+-66.638 42.772 3382
+-66.512 42.772 3382
+-66.386 42.772 3381
+-66.26 42.772 3381
+-66.134 42.772 3381
+-66.008 42.772 3381
+-65.882 42.772 3381
+-65.756 42.772 3381
+-65.63 42.772 3381
+-65.504 42.772 3381
+-65.378 42.772 3381
+-65.252 42.772 3381
+-65.126 42.772 3381
+-128 42.72 3213
+-127.874 42.72 3253
+-127.748 42.72 3276
+-127.622 42.72 3283
+-127.496 42.72 3308
+-127.37 42.72 3296
+-127.244 42.72 3270
+-127.118 42.72 3200
+-126.992 42.72 3135
+-126.866 42.72 3234
+-126.74 42.72 3364
+-126.614 42.72 3415
+-126.488 42.72 3485
+-126.362 42.72 3647
+-126.236 42.72 3812
+-126.11 42.72 3962
+-125.984 42.72 4076
+-125.858 42.72 4143
+-125.732 42.72 4217
+-125.606 42.72 4304
+-125.48 42.72 4350
+-125.354 42.72 4399
+-125.228 42.72 4429
+-125.102 42.72 4451
+-124.976 42.72 4487
+-124.85 42.72 4498
+-124.724 42.72 4506
+-124.598 42.72 4542
+-124.472 42.72 4603
+-124.346 42.72 4686
+-124.22 42.72 4759
+-124.094 42.72 4830
+-123.968 42.72 4870
+-123.842 42.72 4895
+-123.716 42.72 4905
+-123.59 42.72 4907
+-123.464 42.72 4903
+-123.338 42.72 4901
+-123.212 42.72 4891
+-123.086 42.72 4893
+-122.96 42.72 4885
+-122.834 42.72 4881
+-122.708 42.72 4917
+-122.582 42.72 4877
+-122.456 42.72 4857
+-122.33 42.72 4846
+-122.204 42.72 4871
+-122.078 42.72 4819
+-121.952 42.72 4817
+-121.826 42.72 4795
+-121.7 42.72 4746
+-121.574 42.72 4701
+-121.448 42.72 4677
+-121.322 42.72 4676
+-121.196 42.72 4691
+-121.07 42.72 4744
+-120.944 42.72 4787
+-120.818 42.72 4822
+-120.692 42.72 4874
+-120.566 42.72 4925
+-120.44 42.72 4998
+-120.314 42.72 5078
+-120.188 42.72 5103
+-120.062 42.72 5191
+-119.936 42.72 5293
+-119.81 42.72 5333
+-119.684 42.72 5409
+-119.558 42.72 5434
+-119.432 42.72 5458
+-119.306 42.72 5498
+-119.18 42.72 5549
+-119.054 42.72 5605
+-118.928 42.72 5594
+-118.802 42.72 5617
+-118.676 42.72 5635
+-118.55 42.72 5647
+-118.424 42.72 5670
+-118.298 42.72 5690
+-118.172 42.72 5681
+-118.046 42.72 5660
+-117.92 42.72 5634
+-117.794 42.72 5628
+-117.668 42.72 5597
+-117.542 42.72 5586
+-117.416 42.72 5518
+-117.29 42.72 5464
+-117.164 42.72 5426
+-117.038 42.72 5394
+-116.912 42.72 5319
+-116.786 42.72 5315
+-116.66 42.72 5254
+-116.534 42.72 5183
+-116.408 42.72 5096
+-116.282 42.72 5067
+-116.156 42.72 5028
+-116.03 42.72 4939
+-115.904 42.72 4805
+-115.778 42.72 4707
+-115.652 42.72 4725
+-115.526 42.72 4680
+-115.4 42.72 4590
+-115.274 42.72 4433
+-115.148 42.72 4294
+-115.022 42.72 4343
+-114.896 42.72 4346
+-114.77 42.72 4281
+-114.644 42.72 4187
+-114.518 42.72 4099
+-114.392 42.72 3984
+-114.266 42.72 3809
+-114.14 42.72 3606
+-114.014 42.72 3392
+-113.888 42.72 3313
+-113.762 42.72 3352
+-113.636 42.72 3386
+-113.51 42.72 3371
+-113.384 42.72 3329
+-113.258 42.72 3252
+-113.132 42.72 3146
+-113.006 42.72 2979
+-112.88 42.72 2787
+-112.754 42.72 2533
+-112.628 42.72 2285
+-112.502 42.72 2072
+-112.376 42.72 1987
+-112.25 42.72 2016
+-112.124 42.72 2060
+-111.998 42.72 2110
+-111.872 42.72 2183
+-111.746 42.72 2269
+-111.62 42.72 2363
+-111.494 42.72 2453
+-111.368 42.72 2535
+-111.242 42.72 2555
+-111.116 42.72 2613
+-110.99 42.72 2663
+-110.864 42.72 2707
+-110.738 42.72 2765
+-110.612 42.72 2800
+-110.486 42.72 2830
+-110.36 42.72 2857
+-110.234 42.72 2881
+-110.108 42.72 2902
+-109.982 42.72 2921
+-109.856 42.72 2939
+-109.73 42.72 2926
+-109.604 42.72 2825
+-109.478 42.72 2837
+-109.352 42.72 2848
+-109.226 42.72 2858
+-109.1 42.72 2870
+-108.974 42.72 2879
+-108.848 42.72 2888
+-108.722 42.72 2897
+-108.596 42.72 2905
+-108.47 42.72 2900
+-108.344 42.72 2900
+-108.218 42.72 2908
+-108.092 42.72 2851
+-107.966 42.72 2759
+-107.84 42.72 2816
+-107.714 42.72 2816
+-107.588 42.72 2821
+-107.462 42.72 2826
+-107.336 42.72 2830
+-107.21 42.72 2834
+-107.084 42.72 2679
+-106.958 42.72 2680
+-106.832 42.72 2682
+-106.706 42.72 2684
+-106.58 42.72 2685
+-106.454 42.72 2686
+-106.328 42.72 2688
+-106.202 42.72 2689
+-106.076 42.72 2590
+-105.95 42.72 2416
+-105.824 42.72 2406
+-105.698 42.72 2395
+-105.572 42.72 2383
+-105.446 42.72 2264
+-105.32 42.72 2252
+-105.194 42.72 2212
+-105.068 42.72 2110
+-104.942 42.72 2121
+-104.816 42.72 2061
+-104.69 42.72 2008
+-104.564 42.72 1988
+-104.438 42.72 1982
+-104.312 42.72 1969
+-104.186 42.72 1870
+-104.06 42.72 1923
+-103.934 42.72 1993
+-103.808 42.72 2026
+-103.682 42.72 2150
+-103.556 42.72 2235
+-103.43 42.72 2232
+-103.304 42.72 2421
+-103.178 42.72 2415
+-103.052 42.72 2453
+-102.926 42.72 2447
+-102.8 42.72 2439
+-102.674 42.72 2432
+-102.548 42.72 2425
+-102.422 42.72 2417
+-102.296 42.72 2409
+-102.17 42.72 2422
+-102.044 42.72 2467
+-101.918 42.72 2458
+-101.792 42.72 2450
+-101.666 42.72 2441
+-101.54 42.72 2432
+-101.414 42.72 2423
+-101.288 42.72 2413
+-101.162 42.72 2412
+-101.036 42.72 2449
+-100.91 42.72 2447
+-100.784 42.72 2472
+-100.658 42.72 2460
+-100.532 42.72 2449
+-100.406 42.72 2438
+-100.28 42.72 2426
+-100.154 42.72 2415
+-100.028 42.72 2404
+-99.902 42.72 2394
+-99.776 42.72 2414
+-99.65 42.72 2531
+-99.524 42.72 2523
+-99.398 42.72 2515
+-99.272 42.72 2510
+-99.146 42.72 2507
+-99.02 42.72 2528
+-98.894 42.72 2539
+-98.768 42.72 2544
+-98.642 42.72 2581
+-98.516 42.72 2591
+-98.39 42.72 2613
+-98.264 42.72 2630
+-98.138 42.72 2649
+-98.012 42.72 2669
+-97.886 42.72 2688
+-97.76 42.72 2707
+-97.634 42.72 2756
+-97.508 42.72 2772
+-97.382 42.72 2784
+-97.256 42.72 2768
+-97.13 42.72 2775
+-97.004 42.72 2760
+-96.878 42.72 2807
+-96.752 42.72 2790
+-96.626 42.72 2781
+-96.5 42.72 2767
+-96.374 42.72 2747
+-96.248 42.72 2745
+-96.122 42.72 2711
+-95.996 42.72 2676
+-95.87 42.72 2648
+-95.744 42.72 2585
+-95.618 42.72 2570
+-95.492 42.72 2668
+-95.366 42.72 2826
+-95.24 42.72 3018
+-95.114 42.72 3180
+-94.988 42.72 3316
+-94.862 42.72 3404
+-94.736 42.72 3471
+-94.61 42.72 3523
+-94.484 42.72 3548
+-94.358 42.72 3557
+-94.232 42.72 3508
+-94.106 42.72 3591
+-93.98 42.72 3713
+-93.854 42.72 3848
+-93.728 42.72 3977
+-93.602 42.72 4108
+-93.476 42.72 4217
+-93.35 42.72 4270
+-93.224 42.72 4314
+-93.098 42.72 4390
+-92.972 42.72 4497
+-92.846 42.72 4527
+-92.72 42.72 4480
+-92.594 42.72 4579
+-92.468 42.72 4640
+-92.342 42.72 4744
+-92.216 42.72 4837
+-92.09 42.72 4865
+-91.964 42.72 4847
+-91.838 42.72 4913
+-91.712 42.72 4931
+-91.586 42.72 4956
+-91.46 42.72 5016
+-91.334 42.72 5054
+-91.208 42.72 5110
+-91.082 42.72 5108
+-90.956 42.72 5137
+-90.83 42.72 5162
+-90.704 42.72 5154
+-90.578 42.72 5187
+-90.452 42.72 5190
+-90.326 42.72 5181
+-90.2 42.72 5162
+-90.074 42.72 5164
+-89.948 42.72 5133
+-89.822 42.72 5149
+-89.696 42.72 5106
+-89.57 42.72 5114
+-89.444 42.72 5068
+-89.318 42.72 5009
+-89.192 42.72 4973
+-89.066 42.72 4947
+-88.94 42.72 4913
+-88.814 42.72 4864
+-88.688 42.72 4804
+-88.562 42.72 4775
+-88.436 42.72 4709
+-88.31 42.72 4600
+-88.184 42.72 4513
+-88.058 42.72 4450
+-87.932 42.72 4357
+-87.806 42.72 4354
+-87.68 42.72 4277
+-87.554 42.72 4190
+-87.428 42.72 4132
+-87.302 42.72 4014
+-87.176 42.72 3902
+-87.05 42.72 3861
+-86.924 42.72 3758
+-86.798 42.72 3713
+-86.672 42.72 3701
+-86.546 42.72 3623
+-86.42 42.72 3523
+-86.294 42.72 3439
+-86.168 42.72 3405
+-86.042 42.72 3375
+-85.916 42.72 3338
+-85.79 42.72 3272
+-85.664 42.72 3222
+-85.538 42.72 3148
+-85.412 42.72 3041
+-85.286 42.72 2924
+-85.16 42.72 2852
+-85.034 42.72 2869
+-84.908 42.72 2883
+-84.782 42.72 2849
+-84.656 42.72 2793
+-84.53 42.72 2748
+-84.404 42.72 2744
+-84.278 42.72 2762
+-84.152 42.72 2794
+-84.026 42.72 2828
+-83.9 42.72 2858
+-83.774 42.72 2870
+-83.648 42.72 2905
+-83.522 42.72 2933
+-83.396 42.72 2959
+-83.27 42.72 2968
+-83.144 42.72 2992
+-83.018 42.72 3012
+-82.892 42.72 3031
+-82.766 42.72 3047
+-82.64 42.72 3062
+-82.514 42.72 3076
+-82.388 42.72 3071
+-82.262 42.72 3080
+-82.136 42.72 3159
+-82.01 42.72 3171
+-81.884 42.72 3182
+-81.758 42.72 3156
+-81.632 42.72 3101
+-81.506 42.72 3109
+-81.38 42.72 3155
+-81.254 42.72 3104
+-81.128 42.72 3111
+-81.002 42.72 3118
+-80.876 42.72 3150
+-80.75 42.72 3124
+-80.624 42.72 3129
+-80.498 42.72 3135
+-80.372 42.72 3283
+-80.246 42.72 3250
+-80.12 42.72 3256
+-79.994 42.72 3362
+-79.868 42.72 3348
+-79.742 42.72 3354
+-79.616 42.72 3316
+-79.49 42.72 3383
+-79.364 42.72 3386
+-79.238 42.72 3391
+-79.112 42.72 3396
+-78.986 42.72 3400
+-78.86 42.72 3400
+-78.734 42.72 3404
+-78.608 42.72 3408
+-78.482 42.72 3398
+-78.356 42.72 3356
+-78.23 42.72 3353
+-78.104 42.72 3356
+-77.978 42.72 3358
+-77.852 42.72 3361
+-77.726 42.72 3364
+-77.6 42.72 3366
+-77.474 42.72 3369
+-77.348 42.72 3371
+-77.222 42.72 3373
+-77.096 42.72 3375
+-76.97 42.72 3377
+-76.844 42.72 3379
+-76.718 42.72 3381
+-76.592 42.72 3383
+-76.466 42.72 3385
+-76.34 42.72 3478
+-76.214 42.72 3480
+-76.088 42.72 3468
+-75.962 42.72 3470
+-75.836 42.72 3472
+-75.71 42.72 3473
+-75.584 42.72 3475
+-75.458 42.72 3476
+-75.332 42.72 3478
+-75.206 42.72 3479
+-75.08 42.72 3480
+-74.954 42.72 3482
+-74.828 42.72 3483
+-74.702 42.72 3512
+-74.576 42.72 3513
+-74.45 42.72 3515
+-74.324 42.72 3516
+-74.198 42.72 3518
+-74.072 42.72 3520
+-73.946 42.72 3484
+-73.82 42.72 3485
+-73.694 42.72 3487
+-73.568 42.72 3488
+-73.442 42.72 3518
+-73.316 42.72 3519
+-73.19 42.72 3521
+-73.064 42.72 3479
+-72.938 42.72 3480
+-72.812 42.72 3481
+-72.686 42.72 3614
+-72.56 42.72 3615
+-72.434 42.72 3616
+-72.308 42.72 3616
+-72.182 42.72 3617
+-72.056 42.72 3555
+-71.93 42.72 3555
+-71.804 42.72 3556
+-71.678 42.72 3556
+-71.552 42.72 3556
+-71.426 42.72 3557
+-71.3 42.72 3557
+-71.174 42.72 3557
+-71.048 42.72 3558
+-70.922 42.72 3558
+-70.796 42.72 3538
+-70.67 42.72 3526
+-70.544 42.72 3526
+-70.418 42.72 3527
+-70.292 42.72 3527
+-70.166 42.72 3527
+-70.04 42.72 3510
+-69.914 42.72 3510
+-69.788 42.72 3510
+-69.662 42.72 3511
+-69.536 42.72 3511
+-69.41 42.72 3511
+-69.284 42.72 3511
+-69.158 42.72 3512
+-69.032 42.72 3512
+-68.906 42.72 3460
+-68.78 42.72 3460
+-68.654 42.72 3460
+-68.528 42.72 3460
+-68.402 42.72 3460
+-68.276 42.72 3461
+-68.15 42.72 3461
+-68.024 42.72 3461
+-67.898 42.72 3461
+-67.772 42.72 3461
+-67.646 42.72 3462
+-67.52 42.72 3462
+-67.394 42.72 3462
+-67.268 42.72 3382
+-67.142 42.72 3382
+-67.016 42.72 3382
+-66.89 42.72 3382
+-66.764 42.72 3382
+-66.638 42.72 3382
+-66.512 42.72 3381
+-66.386 42.72 3381
+-66.26 42.72 3381
+-66.134 42.72 3381
+-66.008 42.72 3381
+-65.882 42.72 3381
+-65.756 42.72 3381
+-65.63 42.72 3381
+-65.504 42.72 3381
+-65.378 42.72 3381
+-65.252 42.72 3381
+-65.126 42.72 3380
+-128 42.668 3151
+-127.874 42.668 3182
+-127.748 42.668 3213
+-127.622 42.668 3262
+-127.496 42.668 3284
+-127.37 42.668 3301
+-127.244 42.668 3278
+-127.118 42.668 3231
+-126.992 42.668 3210
+-126.866 42.668 3285
+-126.74 42.668 3380
+-126.614 42.668 3382
+-126.488 42.668 3439
+-126.362 42.668 3604
+-126.236 42.668 3758
+-126.11 42.668 3895
+-125.984 42.668 3990
+-125.858 42.668 4106
+-125.732 42.668 4149
+-125.606 42.668 4276
+-125.48 42.668 4302
+-125.354 42.668 4361
+-125.228 42.668 4381
+-125.102 42.668 4426
+-124.976 42.668 4451
+-124.85 42.668 4470
+-124.724 42.668 4474
+-124.598 42.668 4495
+-124.472 42.668 4532
+-124.346 42.668 4579
+-124.22 42.668 4649
+-124.094 42.668 4736
+-123.968 42.668 4783
+-123.842 42.668 4815
+-123.716 42.668 4822
+-123.59 42.668 4837
+-123.464 42.668 4817
+-123.338 42.668 4841
+-123.212 42.668 4837
+-123.086 42.668 4844
+-122.96 42.668 4837
+-122.834 42.668 4847
+-122.708 42.668 4838
+-122.582 42.668 4827
+-122.456 42.668 4799
+-122.33 42.668 4794
+-122.204 42.668 4798
+-122.078 42.668 4784
+-121.952 42.668 4736
+-121.826 42.668 4714
+-121.7 42.668 4665
+-121.574 42.668 4632
+-121.448 42.668 4595
+-121.322 42.668 4583
+-121.196 42.668 4622
+-121.07 42.668 4675
+-120.944 42.668 4750
+-120.818 42.668 4749
+-120.692 42.668 4838
+-120.566 42.668 4896
+-120.44 42.668 4942
+-120.314 42.668 5026
+-120.188 42.668 5090
+-120.062 42.668 5112
+-119.936 42.668 5225
+-119.81 42.668 5324
+-119.684 42.668 5350
+-119.558 42.668 5394
+-119.432 42.668 5390
+-119.306 42.668 5444
+-119.18 42.668 5486
+-119.054 42.668 5532
+-118.928 42.668 5526
+-118.802 42.668 5566
+-118.676 42.668 5585
+-118.55 42.668 5600
+-118.424 42.668 5598
+-118.298 42.668 5593
+-118.172 42.668 5607
+-118.046 42.668 5617
+-117.92 42.668 5610
+-117.794 42.668 5574
+-117.668 42.668 5527
+-117.542 42.668 5527
+-117.416 42.668 5460
+-117.29 42.668 5452
+-117.164 42.668 5433
+-117.038 42.668 5379
+-116.912 42.668 5310
+-116.786 42.668 5272
+-116.66 42.668 5214
+-116.534 42.668 5157
+-116.408 42.668 5076
+-116.282 42.668 4997
+-116.156 42.668 4997
+-116.03 42.668 4923
+-115.904 42.668 4815
+-115.778 42.668 4723
+-115.652 42.668 4678
+-115.526 42.668 4655
+-115.4 42.668 4570
+-115.274 42.668 4457
+-115.148 42.668 4379
+-115.022 42.668 4340
+-114.896 42.668 4325
+-114.77 42.668 4271
+-114.644 42.668 4169
+-114.518 42.668 4076
+-114.392 42.668 3960
+-114.266 42.668 3817
+-114.14 42.668 3630
+-114.014 42.668 3447
+-113.888 42.668 3358
+-113.762 42.668 3370
+-113.636 42.668 3385
+-113.51 42.668 3366
+-113.384 42.668 3313
+-113.258 42.668 3238
+-113.132 42.668 3101
+-113.006 42.668 2939
+-112.88 42.668 2689
+-112.754 42.668 2436
+-112.628 42.668 2190
+-112.502 42.668 1991
+-112.376 42.668 1918
+-112.25 42.668 1946
+-112.124 42.668 1946
+-111.998 42.668 1973
+-111.872 42.668 2061
+-111.746 42.668 2174
+-111.62 42.668 2286
+-111.494 42.668 2392
+-111.368 42.668 2445
+-111.242 42.668 2516
+-111.116 42.668 2580
+-110.99 42.668 2635
+-110.864 42.668 2682
+-110.738 42.668 2722
+-110.612 42.668 2778
+-110.486 42.668 2810
+-110.36 42.668 2839
+-110.234 42.668 2864
+-110.108 42.668 2887
+-109.982 42.668 2839
+-109.856 42.668 2855
+-109.73 42.668 2869
+-109.604 42.668 2928
+-109.478 42.668 2824
+-109.352 42.668 2835
+-109.226 42.668 2846
+-109.1 42.668 2855
+-108.974 42.668 2867
+-108.848 42.668 2877
+-108.722 42.668 2885
+-108.596 42.668 2894
+-108.47 42.668 2901
+-108.344 42.668 2897
+-108.218 42.668 2897
+-108.092 42.668 2805
+-107.966 42.668 2749
+-107.84 42.668 2829
+-107.714 42.668 2809
+-107.588 42.668 2809
+-107.462 42.668 2814
+-107.336 42.668 2819
+-107.21 42.668 2695
+-107.084 42.668 2698
+-106.958 42.668 2668
+-106.832 42.668 2670
+-106.706 42.668 2672
+-106.58 42.668 2673
+-106.454 42.668 2675
+-106.328 42.668 2677
+-106.202 42.668 2678
+-106.076 42.668 2578
+-105.95 42.668 2404
+-105.824 42.668 2394
+-105.698 42.668 2383
+-105.572 42.668 2371
+-105.446 42.668 2359
+-105.32 42.668 2240
+-105.194 42.668 2187
+-105.068 42.668 2099
+-104.942 42.668 2120
+-104.816 42.668 2061
+-104.69 42.668 1998
+-104.564 42.668 1980
+-104.438 42.668 1975
+-104.312 42.668 1963
+-104.186 42.668 1867
+-104.06 42.668 1919
+-103.934 42.668 1953
+-103.808 42.668 2123
+-103.682 42.668 2149
+-103.556 42.668 2233
+-103.43 42.668 2230
+-103.304 42.668 2419
+-103.178 42.668 2413
+-103.052 42.668 2406
+-102.926 42.668 2444
+-102.8 42.668 2436
+-102.674 42.668 2429
+-102.548 42.668 2421
+-102.422 42.668 2413
+-102.296 42.668 2405
+-102.17 42.668 2396
+-102.044 42.668 2409
+-101.918 42.668 2452
+-101.792 42.668 2444
+-101.666 42.668 2434
+-101.54 42.668 2425
+-101.414 42.668 2415
+-101.288 42.668 2404
+-101.162 42.668 2394
+-101.036 42.668 2391
+-100.91 42.668 2426
+-100.784 42.668 2423
+-100.658 42.668 2446
+-100.532 42.668 2433
+-100.406 42.668 2420
+-100.28 42.668 2407
+-100.154 42.668 2394
+-100.028 42.668 2381
+-99.902 42.668 2369
+-99.776 42.668 2357
+-99.65 42.668 2378
+-99.524 42.668 2492
+-99.398 42.668 2482
+-99.272 42.668 2475
+-99.146 42.668 2470
+-99.02 42.668 2470
+-98.894 42.668 2491
+-98.768 42.668 2505
+-98.642 42.668 2514
+-98.516 42.668 2554
+-98.39 42.668 2569
+-98.264 42.668 2597
+-98.138 42.668 2619
+-98.012 42.668 2643
+-97.886 42.668 2668
+-97.76 42.668 2692
+-97.634 42.668 2715
+-97.508 42.668 2768
+-97.382 42.668 2786
+-97.256 42.668 2801
+-97.13 42.668 2787
+-97.004 42.668 2797
+-96.878 42.668 2783
+-96.752 42.668 2832
+-96.626 42.668 2816
+-96.5 42.668 2810
+-96.374 42.668 2798
+-96.248 42.668 2782
+-96.122 42.668 2783
+-95.996 42.668 2779
+-95.87 42.668 2792
+-95.744 42.668 2781
+-95.618 42.668 2791
+-95.492 42.668 2866
+-95.366 42.668 2997
+-95.24 42.668 3125
+-95.114 42.668 3259
+-94.988 42.668 3362
+-94.862 42.668 3436
+-94.736 42.668 3482
+-94.61 42.668 3537
+-94.484 42.668 3571
+-94.358 42.668 3584
+-94.232 42.668 3583
+-94.106 42.668 3621
+-93.98 42.668 3726
+-93.854 42.668 3865
+-93.728 42.668 4007
+-93.602 42.668 4157
+-93.476 42.668 4278
+-93.35 42.668 4346
+-93.224 42.668 4390
+-93.098 42.668 4408
+-92.972 42.668 4492
+-92.846 42.668 4557
+-92.72 42.668 4587
+-92.594 42.668 4620
+-92.468 42.668 4657
+-92.342 42.668 4758
+-92.216 42.668 4862
+-92.09 42.668 4906
+-91.964 42.668 4939
+-91.838 42.668 4973
+-91.712 42.668 4985
+-91.586 42.668 5018
+-91.46 42.668 5059
+-91.334 42.668 5097
+-91.208 42.668 5133
+-91.082 42.668 5149
+-90.956 42.668 5187
+-90.83 42.668 5236
+-90.704 42.668 5192
+-90.578 42.668 5251
+-90.452 42.668 5234
+-90.326 42.668 5232
+-90.2 42.668 5230
+-90.074 42.668 5209
+-89.948 42.668 5189
+-89.822 42.668 5180
+-89.696 42.668 5136
+-89.57 42.668 5137
+-89.444 42.668 5108
+-89.318 42.668 5080
+-89.192 42.668 5026
+-89.066 42.668 4976
+-88.94 42.668 4927
+-88.814 42.668 4901
+-88.688 42.668 4884
+-88.562 42.668 4830
+-88.436 42.668 4753
+-88.31 42.668 4677
+-88.184 42.668 4579
+-88.058 42.668 4508
+-87.932 42.668 4414
+-87.806 42.668 4362
+-87.68 42.668 4323
+-87.554 42.668 4257
+-87.428 42.668 4178
+-87.302 42.668 4084
+-87.176 42.668 3983
+-87.05 42.668 3912
+-86.924 42.668 3782
+-86.798 42.668 3668
+-86.672 42.668 3699
+-86.546 42.668 3666
+-86.42 42.668 3623
+-86.294 42.668 3500
+-86.168 42.668 3467
+-86.042 42.668 3409
+-85.916 42.668 3366
+-85.79 42.668 3312
+-85.664 42.668 3274
+-85.538 42.668 3228
+-85.412 42.668 3140
+-85.286 42.668 3063
+-85.16 42.668 2991
+-85.034 42.668 2967
+-84.908 42.668 2953
+-84.782 42.668 2936
+-84.656 42.668 2893
+-84.53 42.668 2862
+-84.404 42.668 2835
+-84.278 42.668 2826
+-84.152 42.668 2829
+-84.026 42.668 2840
+-83.9 42.668 2843
+-83.774 42.668 2874
+-83.648 42.668 2902
+-83.522 42.668 2931
+-83.396 42.668 2945
+-83.27 42.668 2971
+-83.144 42.668 2994
+-83.018 42.668 3016
+-82.892 42.668 3035
+-82.766 42.668 3052
+-82.64 42.668 3067
+-82.514 42.668 3081
+-82.388 42.668 3138
+-82.262 42.668 3152
+-82.136 42.668 3166
+-82.01 42.668 3178
+-81.884 42.668 3152
+-81.758 42.668 3101
+-81.632 42.668 3109
+-81.506 42.668 3155
+-81.38 42.668 3106
+-81.254 42.668 3113
+-81.128 42.668 3119
+-81.002 42.668 3152
+-80.876 42.668 3126
+-80.75 42.668 3132
+-80.624 42.668 3137
+-80.498 42.668 3281
+-80.372 42.668 3249
+-80.246 42.668 3255
+-80.12 42.668 3360
+-79.994 42.668 3347
+-79.868 42.668 3353
+-79.742 42.668 3315
+-79.616 42.668 3382
+-79.49 42.668 3385
+-79.364 42.668 3390
+-79.238 42.668 3395
+-79.112 42.668 3400
+-78.986 42.668 3399
+-78.86 42.668 3403
+-78.734 42.668 3407
+-78.608 42.668 3397
+-78.482 42.668 3355
+-78.356 42.668 3352
+-78.23 42.668 3355
+-78.104 42.668 3358
+-77.978 42.668 3361
+-77.852 42.668 3364
+-77.726 42.668 3366
+-77.6 42.668 3369
+-77.474 42.668 3371
+-77.348 42.668 3373
+-77.222 42.668 3375
+-77.096 42.668 3377
+-76.97 42.668 3379
+-76.844 42.668 3381
+-76.718 42.668 3383
+-76.592 42.668 3385
+-76.466 42.668 3478
+-76.34 42.668 3479
+-76.214 42.668 3468
+-76.088 42.668 3469
+-75.962 42.668 3471
+-75.836 42.668 3473
+-75.71 42.668 3474
+-75.584 42.668 3476
+-75.458 42.668 3477
+-75.332 42.668 3479
+-75.206 42.668 3480
+-75.08 42.668 3481
+-74.954 42.668 3483
+-74.828 42.668 3511
+-74.702 42.668 3513
+-74.576 42.668 3514
+-74.45 42.668 3516
+-74.324 42.668 3518
+-74.198 42.668 3519
+-74.072 42.668 3484
+-73.946 42.668 3485
+-73.82 42.668 3486
+-73.694 42.668 3488
+-73.568 42.668 3517
+-73.442 42.668 3519
+-73.316 42.668 3520
+-73.19 42.668 3479
+-73.064 42.668 3480
+-72.938 42.668 3481
+-72.812 42.668 3614
+-72.686 42.668 3615
+-72.56 42.668 3615
+-72.434 42.668 3616
+-72.308 42.668 3616
+-72.182 42.668 3555
+-72.056 42.668 3555
+-71.93 42.668 3555
+-71.804 42.668 3556
+-71.678 42.668 3556
+-71.552 42.668 3556
+-71.426 42.668 3557
+-71.3 42.668 3557
+-71.174 42.668 3558
+-71.048 42.668 3558
+-70.922 42.668 3538
+-70.796 42.668 3526
+-70.67 42.668 3526
+-70.544 42.668 3526
+-70.418 42.668 3527
+-70.292 42.668 3527
+-70.166 42.668 3528
+-70.04 42.668 3510
+-69.914 42.668 3510
+-69.788 42.668 3510
+-69.662 42.668 3511
+-69.536 42.668 3511
+-69.41 42.668 3511
+-69.284 42.668 3511
+-69.158 42.668 3512
+-69.032 42.668 3459
+-68.906 42.668 3460
+-68.78 42.668 3460
+-68.654 42.668 3460
+-68.528 42.668 3460
+-68.402 42.668 3460
+-68.276 42.668 3461
+-68.15 42.668 3461
+-68.024 42.668 3461
+-67.898 42.668 3461
+-67.772 42.668 3461
+-67.646 42.668 3462
+-67.52 42.668 3462
+-67.394 42.668 3382
+-67.268 42.668 3382
+-67.142 42.668 3382
+-67.016 42.668 3382
+-66.89 42.668 3382
+-66.764 42.668 3382
+-66.638 42.668 3381
+-66.512 42.668 3381
+-66.386 42.668 3381
+-66.26 42.668 3381
+-66.134 42.668 3381
+-66.008 42.668 3381
+-65.882 42.668 3381
+-65.756 42.668 3381
+-65.63 42.668 3381
+-65.504 42.668 3381
+-65.378 42.668 3380
+-65.252 42.668 3380
+-65.126 42.668 3380
+-128 42.616 3036
+-127.874 42.616 3072
+-127.748 42.616 3146
+-127.622 42.616 3204
+-127.496 42.616 3249
+-127.37 42.616 3292
+-127.244 42.616 3293
+-127.118 42.616 3295
+-126.992 42.616 3299
+-126.866 42.616 3354
+-126.74 42.616 3407
+-126.614 42.616 3417
+-126.488 42.616 3472
+-126.362 42.616 3584
+-126.236 42.616 3756
+-126.11 42.616 3867
+-125.984 42.616 3957
+-125.858 42.616 4022
+-125.732 42.616 4091
+-125.606 42.616 4217
+-125.48 42.616 4248
+-125.354 42.616 4305
+-125.228 42.616 4327
+-125.102 42.616 4355
+-124.976 42.616 4382
+-124.85 42.616 4432
+-124.724 42.616 4461
+-124.598 42.616 4484
+-124.472 42.616 4480
+-124.346 42.616 4519
+-124.22 42.616 4585
+-124.094 42.616 4653
+-123.968 42.616 4711
+-123.842 42.616 4750
+-123.716 42.616 4758
+-123.59 42.616 4769
+-123.464 42.616 4745
+-123.338 42.616 4783
+-123.212 42.616 4811
+-123.086 42.616 4801
+-122.96 42.616 4794
+-122.834 42.616 4804
+-122.708 42.616 4795
+-122.582 42.616 4771
+-122.456 42.616 4758
+-122.33 42.616 4749
+-122.204 42.616 4740
+-122.078 42.616 4719
+-121.952 42.616 4665
+-121.826 42.616 4644
+-121.7 42.616 4587
+-121.574 42.616 4524
+-121.448 42.616 4451
+-121.322 42.616 4470
+-121.196 42.616 4534
+-121.07 42.616 4616
+-120.944 42.616 4701
+-120.818 42.616 4766
+-120.692 42.616 4811
+-120.566 42.616 4824
+-120.44 42.616 4901
+-120.314 42.616 4993
+-120.188 42.616 5035
+-120.062 42.616 5103
+-119.936 42.616 5154
+-119.81 42.616 5261
+-119.684 42.616 5336
+-119.558 42.616 5380
+-119.432 42.616 5412
+-119.306 42.616 5416
+-119.18 42.616 5433
+-119.054 42.616 5479
+-118.928 42.616 5508
+-118.802 42.616 5513
+-118.676 42.616 5525
+-118.55 42.616 5548
+-118.424 42.616 5540
+-118.298 42.616 5551
+-118.172 42.616 5516
+-118.046 42.616 5531
+-117.92 42.616 5539
+-117.794 42.616 5529
+-117.668 42.616 5512
+-117.542 42.616 5490
+-117.416 42.616 5453
+-117.29 42.616 5395
+-117.164 42.616 5397
+-117.038 42.616 5338
+-116.912 42.616 5269
+-116.786 42.616 5208
+-116.66 42.616 5156
+-116.534 42.616 5117
+-116.408 42.616 5021
+-116.282 42.616 4933
+-116.156 42.616 4965
+-116.03 42.616 4905
+-115.904 42.616 4789
+-115.778 42.616 4692
+-115.652 42.616 4627
+-115.526 42.616 4627
+-115.4 42.616 4563
+-115.274 42.616 4499
+-115.148 42.616 4435
+-115.022 42.616 4349
+-114.896 42.616 4300
+-114.77 42.616 4245
+-114.644 42.616 4149
+-114.518 42.616 4053
+-114.392 42.616 3938
+-114.266 42.616 3806
+-114.14 42.616 3668
+-114.014 42.616 3506
+-113.888 42.616 3422
+-113.762 42.616 3383
+-113.636 42.616 3379
+-113.51 42.616 3342
+-113.384 42.616 3242
+-113.258 42.616 3152
+-113.132 42.616 3038
+-113.006 42.616 2875
+-112.88 42.616 2673
+-112.754 42.616 2439
+-112.628 42.616 2209
+-112.502 42.616 2028
+-112.376 42.616 1949
+-112.25 42.616 1876
+-112.124 42.616 1777
+-111.998 42.616 1830
+-111.872 42.616 1956
+-111.746 42.616 2099
+-111.62 42.616 2205
+-111.494 42.616 2316
+-111.368 42.616 2410
+-111.242 42.616 2491
+-111.116 42.616 2555
+-110.99 42.616 2613
+-110.864 42.616 2662
+-110.738 42.616 2704
+-110.612 42.616 2740
+-110.486 42.616 2794
+-110.36 42.616 2823
+-110.234 42.616 2849
+-110.108 42.616 2807
+-109.982 42.616 2825
+-109.856 42.616 2842
+-109.73 42.616 2856
+-109.604 42.616 2869
+-109.478 42.616 2881
+-109.352 42.616 2823
+-109.226 42.616 2834
+-109.1 42.616 2844
+-108.974 42.616 2853
+-108.848 42.616 2865
+-108.722 42.616 2874
+-108.596 42.616 2883
+-108.47 42.616 2891
+-108.344 42.616 2799
+-108.218 42.616 2788
+-108.092 42.616 2793
+-107.966 42.616 2799
+-107.84 42.616 2743
+-107.714 42.616 2822
+-107.588 42.616 2803
+-107.462 42.616 2802
+-107.336 42.616 2679
+-107.21 42.616 2682
+-107.084 42.616 2685
+-106.958 42.616 2687
+-106.832 42.616 2658
+-106.706 42.616 2660
+-106.58 42.616 2662
+-106.454 42.616 2664
+-106.328 42.616 2665
+-106.202 42.616 2667
+-106.076 42.616 2566
+-105.95 42.616 2391
+-105.824 42.616 2381
+-105.698 42.616 2370
+-105.572 42.616 2359
+-105.446 42.616 2347
+-105.32 42.616 2334
+-105.194 42.616 2175
+-105.068 42.616 2055
+-104.942 42.616 2032
+-104.816 42.616 2051
+-104.69 42.616 2031
+-104.564 42.616 1974
+-104.438 42.616 1968
+-104.312 42.616 1905
+-104.186 42.616 1864
+-104.06 42.616 1915
+-103.934 42.616 1941
+-103.808 42.616 2111
+-103.682 42.616 2147
+-103.556 42.616 2231
+-103.43 42.616 2228
+-103.304 42.616 2416
+-103.178 42.616 2410
+-103.052 42.616 2404
+-102.926 42.616 2397
+-102.8 42.616 2433
+-102.674 42.616 2426
+-102.548 42.616 2418
+-102.422 42.616 2409
+-102.296 42.616 2400
+-102.17 42.616 2391
+-102.044 42.616 2382
+-101.918 42.616 2395
+-101.792 42.616 2437
+-101.666 42.616 2427
+-101.54 42.616 2417
+-101.414 42.616 2407
+-101.288 42.616 2395
+-101.162 42.616 2384
+-101.036 42.616 2372
+-100.91 42.616 2368
+-100.784 42.616 2400
+-100.658 42.616 2396
+-100.532 42.616 2416
+-100.406 42.616 2402
+-100.28 42.616 2387
+-100.154 42.616 2372
+-100.028 42.616 2357
+-99.902 42.616 2342
+-99.776 42.616 2328
+-99.65 42.616 2314
+-99.524 42.616 2336
+-99.398 42.616 2445
+-99.272 42.616 2435
+-99.146 42.616 2428
+-99.02 42.616 2424
+-98.894 42.616 2426
+-98.768 42.616 2450
+-98.642 42.616 2468
+-98.516 42.616 2481
+-98.39 42.616 2526
+-98.264 42.616 2547
+-98.138 42.616 2582
+-98.012 42.616 2611
+-97.886 42.616 2641
+-97.76 42.616 2671
+-97.634 42.616 2701
+-97.508 42.616 2728
+-97.382 42.616 2784
+-97.256 42.616 2806
+-97.13 42.616 2824
+-97.004 42.616 2812
+-96.878 42.616 2824
+-96.752 42.616 2813
+-96.626 42.616 2864
+-96.5 42.616 2878
+-96.374 42.616 2874
+-96.248 42.616 2867
+-96.122 42.616 2857
+-95.996 42.616 2854
+-95.87 42.616 2945
+-95.744 42.616 2952
+-95.618 42.616 2982
+-95.492 42.616 3037
+-95.366 42.616 3125
+-95.24 42.616 3231
+-95.114 42.616 3319
+-94.988 42.616 3378
+-94.862 42.616 3418
+-94.736 42.616 3454
+-94.61 42.616 3514
+-94.484 42.616 3585
+-94.358 42.616 3609
+-94.232 42.616 3626
+-94.106 42.616 3665
+-93.98 42.616 3767
+-93.854 42.616 3902
+-93.728 42.616 4052
+-93.602 42.616 4183
+-93.476 42.616 4310
+-93.35 42.616 4385
+-93.224 42.616 4401
+-93.098 42.616 4354
+-92.972 42.616 4487
+-92.846 42.616 4577
+-92.72 42.616 4602
+-92.594 42.616 4641
+-92.468 42.616 4702
+-92.342 42.616 4815
+-92.216 42.616 4907
+-92.09 42.616 4952
+-91.964 42.616 4963
+-91.838 42.616 4994
+-91.712 42.616 5035
+-91.586 42.616 5079
+-91.46 42.616 5121
+-91.334 42.616 5165
+-91.208 42.616 5188
+-91.082 42.616 5186
+-90.956 42.616 5200
+-90.83 42.616 5218
+-90.704 42.616 5223
+-90.578 42.616 5248
+-90.452 42.616 5274
+-90.326 42.616 5273
+-90.2 42.616 5260
+-90.074 42.616 5282
+-89.948 42.616 5239
+-89.822 42.616 5233
+-89.696 42.616 5197
+-89.57 42.616 5161
+-89.444 42.616 5106
+-89.318 42.616 5113
+-89.192 42.616 5093
+-89.066 42.616 5004
+-88.94 42.616 4972
+-88.814 42.616 4938
+-88.688 42.616 4866
+-88.562 42.616 4881
+-88.436 42.616 4777
+-88.31 42.616 4690
+-88.184 42.616 4653
+-88.058 42.616 4551
+-87.932 42.616 4480
+-87.806 42.616 4407
+-87.68 42.616 4316
+-87.554 42.616 4315
+-87.428 42.616 4255
+-87.302 42.616 4197
+-87.176 42.616 4115
+-87.05 42.616 3988
+-86.924 42.616 3873
+-86.798 42.616 3756
+-86.672 42.616 3763
+-86.546 42.616 3702
+-86.42 42.616 3667
+-86.294 42.616 3599
+-86.168 42.616 3500
+-86.042 42.616 3458
+-85.916 42.616 3413
+-85.79 42.616 3378
+-85.664 42.616 3326
+-85.538 42.616 3285
+-85.412 42.616 3228
+-85.286 42.616 3163
+-85.16 42.616 3106
+-85.034 42.616 3062
+-84.908 42.616 3040
+-84.782 42.616 3013
+-84.656 42.616 2969
+-84.53 42.616 2921
+-84.404 42.616 2877
+-84.278 42.616 2842
+-84.152 42.616 2821
+-84.026 42.616 2807
+-83.9 42.616 2830
+-83.774 42.616 2858
+-83.648 42.616 2892
+-83.522 42.616 2913
+-83.396 42.616 2944
+-83.27 42.616 2973
+-83.144 42.616 2998
+-83.018 42.616 3020
+-82.892 42.616 3040
+-82.766 42.616 3057
+-82.64 42.616 3073
+-82.514 42.616 3130
+-82.388 42.616 3146
+-82.262 42.616 3160
+-82.136 42.616 3173
+-82.01 42.616 3149
+-81.884 42.616 3101
+-81.758 42.616 3110
+-81.632 42.616 3156
+-81.506 42.616 3107
+-81.38 42.616 3115
+-81.254 42.616 3122
+-81.128 42.616 3154
+-81.002 42.616 3128
+-80.876 42.616 3134
+-80.75 42.616 3217
+-80.624 42.616 3280
+-80.498 42.616 3248
+-80.372 42.616 3255
+-80.246 42.616 3359
+-80.12 42.616 3346
+-79.994 42.616 3352
+-79.868 42.616 3315
+-79.742 42.616 3381
+-79.616 42.616 3384
+-79.49 42.616 3390
+-79.364 42.616 3394
+-79.238 42.616 3399
+-79.112 42.616 3398
+-78.986 42.616 3403
+-78.86 42.616 3407
+-78.734 42.616 3397
+-78.608 42.616 3355
+-78.482 42.616 3352
+-78.356 42.616 3356
+-78.23 42.616 3359
+-78.104 42.616 3361
+-77.978 42.616 3364
+-77.852 42.616 3367
+-77.726 42.616 3369
+-77.6 42.616 3371
+-77.474 42.616 3374
+-77.348 42.616 3376
+-77.222 42.616 3378
+-77.096 42.616 3380
+-76.97 42.616 3382
+-76.844 42.616 3384
+-76.718 42.616 3385
+-76.592 42.616 3477
+-76.466 42.616 3479
+-76.34 42.616 3467
+-76.214 42.616 3469
+-76.088 42.616 3471
+-75.962 42.616 3472
+-75.836 42.616 3474
+-75.71 42.616 3475
+-75.584 42.616 3477
+-75.458 42.616 3478
+-75.332 42.616 3480
+-75.206 42.616 3481
+-75.08 42.616 3482
+-74.954 42.616 3510
+-74.828 42.616 3512
+-74.702 42.616 3514
+-74.576 42.616 3516
+-74.45 42.616 3517
+-74.324 42.616 3519
+-74.198 42.616 3484
+-74.072 42.616 3485
+-73.946 42.616 3486
+-73.82 42.616 3487
+-73.694 42.616 3517
+-73.568 42.616 3518
+-73.442 42.616 3520
+-73.316 42.616 3479
+-73.19 42.616 3480
+-73.064 42.616 3481
+-72.938 42.616 3613
+-72.812 42.616 3614
+-72.686 42.616 3615
+-72.56 42.616 3615
+-72.434 42.616 3616
+-72.308 42.616 3554
+-72.182 42.616 3555
+-72.056 42.616 3555
+-71.93 42.616 3555
+-71.804 42.616 3556
+-71.678 42.616 3556
+-71.552 42.616 3557
+-71.426 42.616 3557
+-71.3 42.616 3557
+-71.174 42.616 3558
+-71.048 42.616 3537
+-70.922 42.616 3525
+-70.796 42.616 3526
+-70.67 42.616 3526
+-70.544 42.616 3527
+-70.418 42.616 3527
+-70.292 42.616 3509
+-70.166 42.616 3510
+-70.04 42.616 3510
+-69.914 42.616 3510
+-69.788 42.616 3510
+-69.662 42.616 3511
+-69.536 42.616 3511
+-69.41 42.616 3511
+-69.284 42.616 3511
+-69.158 42.616 3459
+-69.032 42.616 3459
+-68.906 42.616 3460
+-68.78 42.616 3460
+-68.654 42.616 3460
+-68.528 42.616 3460
+-68.402 42.616 3461
+-68.276 42.616 3461
+-68.15 42.616 3461
+-68.024 42.616 3461
+-67.898 42.616 3461
+-67.772 42.616 3461
+-67.646 42.616 3462
+-67.52 42.616 3382
+-67.394 42.616 3382
+-67.268 42.616 3382
+-67.142 42.616 3382
+-67.016 42.616 3382
+-66.89 42.616 3382
+-66.764 42.616 3381
+-66.638 42.616 3381
+-66.512 42.616 3381
+-66.386 42.616 3381
+-66.26 42.616 3381
+-66.134 42.616 3381
+-66.008 42.616 3381
+-65.882 42.616 3381
+-65.756 42.616 3381
+-65.63 42.616 3381
+-65.504 42.616 3380
+-65.378 42.616 3380
+-65.252 42.616 3380
+-65.126 42.616 3380
+-128 42.564 2866
+-127.874 42.564 2922
+-127.748 42.564 3025
+-127.622 42.564 3119
+-127.496 42.564 3199
+-127.37 42.564 3267
+-127.244 42.564 3304
+-127.118 42.564 3327
+-126.992 42.564 3365
+-126.866 42.564 3414
+-126.74 42.564 3446
+-126.614 42.564 3477
+-126.488 42.564 3531
+-126.362 42.564 3622
+-126.236 42.564 3764
+-126.11 42.564 3857
+-125.984 42.564 3928
+-125.858 42.564 3997
+-125.732 42.564 4018
+-125.606 42.564 4123
+-125.48 42.564 4165
+-125.354 42.564 4186
+-125.228 42.564 4227
+-125.102 42.564 4265
+-124.976 42.564 4313
+-124.85 42.564 4367
+-124.724 42.564 4417
+-124.598 42.564 4441
+-124.472 42.564 4438
+-124.346 42.564 4439
+-124.22 42.564 4508
+-124.094 42.564 4545
+-123.968 42.564 4614
+-123.842 42.564 4679
+-123.716 42.564 4700
+-123.59 42.564 4728
+-123.464 42.564 4746
+-123.338 42.564 4753
+-123.212 42.564 4755
+-123.086 42.564 4746
+-122.96 42.564 4730
+-122.834 42.564 4719
+-122.708 42.564 4735
+-122.582 42.564 4739
+-122.456 42.564 4719
+-122.33 42.564 4703
+-122.204 42.564 4703
+-122.078 42.564 4676
+-121.952 42.564 4643
+-121.826 42.564 4591
+-121.7 42.564 4535
+-121.574 42.564 4457
+-121.448 42.564 4304
+-121.322 42.564 4372
+-121.196 42.564 4432
+-121.07 42.564 4523
+-120.944 42.564 4628
+-120.818 42.564 4727
+-120.692 42.564 4786
+-120.566 42.564 4828
+-120.44 42.564 4897
+-120.314 42.564 4956
+-120.188 42.564 5008
+-120.062 42.564 5073
+-119.936 42.564 5109
+-119.81 42.564 5191
+-119.684 42.564 5243
+-119.558 42.564 5306
+-119.432 42.564 5347
+-119.306 42.564 5391
+-119.18 42.564 5426
+-119.054 42.564 5446
+-118.928 42.564 5454
+-118.802 42.564 5451
+-118.676 42.564 5475
+-118.55 42.564 5483
+-118.424 42.564 5491
+-118.298 42.564 5508
+-118.172 42.564 5458
+-118.046 42.564 5469
+-117.92 42.564 5464
+-117.794 42.564 5469
+-117.668 42.564 5456
+-117.542 42.564 5429
+-117.416 42.564 5408
+-117.29 42.564 5383
+-117.164 42.564 5350
+-117.038 42.564 5273
+-116.912 42.564 5201
+-116.786 42.564 5155
+-116.66 42.564 5087
+-116.534 42.564 5071
+-116.408 42.564 4967
+-116.282 42.564 4974
+-116.156 42.564 4946
+-116.03 42.564 4873
+-115.904 42.564 4767
+-115.778 42.564 4694
+-115.652 42.564 4634
+-115.526 42.564 4599
+-115.4 42.564 4543
+-115.274 42.564 4504
+-115.148 42.564 4433
+-115.022 42.564 4317
+-114.896 42.564 4259
+-114.77 42.564 4200
+-114.644 42.564 4104
+-114.518 42.564 4028
+-114.392 42.564 3914
+-114.266 42.564 3779
+-114.14 42.564 3637
+-114.014 42.564 3481
+-113.888 42.564 3381
+-113.762 42.564 3358
+-113.636 42.564 3354
+-113.51 42.564 3271
+-113.384 42.564 3223
+-113.258 42.564 3147
+-113.132 42.564 3036
+-113.006 42.564 2884
+-112.88 42.564 2692
+-112.754 42.564 2480
+-112.628 42.564 2270
+-112.502 42.564 2100
+-112.376 42.564 1959
+-112.25 42.564 1780
+-112.124 42.564 1668
+-111.998 42.564 1750
+-111.872 42.564 1897
+-111.746 42.564 2047
+-111.62 42.564 2181
+-111.494 42.564 2295
+-111.368 42.564 2392
+-111.242 42.564 2474
+-111.116 42.564 2539
+-110.99 42.564 2598
+-110.864 42.564 2648
+-110.738 42.564 2690
+-110.612 42.564 2727
+-110.486 42.564 2759
+-110.36 42.564 2810
+-110.234 42.564 2773
+-110.108 42.564 2794
+-109.982 42.564 2813
+-109.856 42.564 2829
+-109.73 42.564 2844
+-109.604 42.564 2858
+-109.478 42.564 2870
+-109.352 42.564 2881
+-109.226 42.564 2823
+-109.1 42.564 2833
+-108.974 42.564 2843
+-108.848 42.564 2851
+-108.722 42.564 2864
+-108.596 42.564 2873
+-108.47 42.564 2782
+-108.344 42.564 2787
+-108.218 42.564 2775
+-108.092 42.564 2782
+-107.966 42.564 2787
+-107.84 42.564 2793
+-107.714 42.564 2615
+-107.588 42.564 2686
+-107.462 42.564 2669
+-107.336 42.564 2665
+-107.21 42.564 2669
+-107.084 42.564 2672
+-106.958 42.564 2675
+-106.832 42.564 2677
+-106.706 42.564 2648
+-106.58 42.564 2650
+-106.454 42.564 2652
+-106.328 42.564 2654
+-106.202 42.564 2656
+-106.076 42.564 2553
+-105.95 42.564 2379
+-105.824 42.564 2369
+-105.698 42.564 2358
+-105.572 42.564 2346
+-105.446 42.564 2334
+-105.32 42.564 2321
+-105.194 42.564 2141
+-105.068 42.564 2045
+-104.942 42.564 2021
+-104.816 42.564 2040
+-104.69 42.564 2023
+-104.564 42.564 1967
+-104.438 42.564 1961
+-104.312 42.564 1902
+-104.186 42.564 1861
+-104.06 42.564 1924
+-103.934 42.564 1939
+-103.808 42.564 2109
+-103.682 42.564 2184
+-103.556 42.564 2230
+-103.43 42.564 2227
+-103.304 42.564 2384
+-103.178 42.564 2408
+-103.052 42.564 2401
+-102.926 42.564 2394
+-102.8 42.564 2387
+-102.674 42.564 2423
+-102.548 42.564 2414
+-102.422 42.564 2406
+-102.296 42.564 2396
+-102.17 42.564 2387
+-102.044 42.564 2377
+-101.918 42.564 2367
+-101.792 42.564 2380
+-101.666 42.564 2421
+-101.54 42.564 2410
+-101.414 42.564 2398
+-101.288 42.564 2386
+-101.162 42.564 2374
+-101.036 42.564 2361
+-100.91 42.564 2347
+-100.784 42.564 2341
+-100.658 42.564 2371
+-100.532 42.564 2365
+-100.406 42.564 2383
+-100.28 42.564 2366
+-100.154 42.564 2349
+-100.028 42.564 2331
+-99.902 42.564 2314
+-99.776 42.564 2296
+-99.65 42.564 2280
+-99.524 42.564 2264
+-99.398 42.564 2287
+-99.272 42.564 2390
+-99.146 42.564 2379
+-99.02 42.564 2373
+-98.894 42.564 2371
+-98.768 42.564 2377
+-98.642 42.564 2403
+-98.516 42.564 2427
+-98.39 42.564 2447
+-98.264 42.564 2499
+-98.138 42.564 2528
+-98.012 42.564 2571
+-97.886 42.564 2607
+-97.76 42.564 2644
+-97.634 42.564 2680
+-97.508 42.564 2715
+-97.382 42.564 2747
+-97.256 42.564 2807
+-97.13 42.564 2832
+-97.004 42.564 2853
+-96.878 42.564 2870
+-96.752 42.564 2858
+-96.626 42.564 2898
+-96.5 42.564 2906
+-96.374 42.564 2925
+-96.248 42.564 2929
+-96.122 42.564 2932
+-95.996 42.564 2944
+-95.87 42.564 3014
+-95.744 42.564 3085
+-95.618 42.564 3125
+-95.492 42.564 3178
+-95.366 42.564 3243
+-95.24 42.564 3296
+-95.114 42.564 3357
+-94.988 42.564 3385
+-94.862 42.564 3376
+-94.736 42.564 3374
+-94.61 42.564 3465
+-94.484 42.564 3563
+-94.358 42.564 3629
+-94.232 42.564 3647
+-94.106 42.564 3693
+-93.98 42.564 3809
+-93.854 42.564 3953
+-93.728 42.564 4094
+-93.602 42.564 4266
+-93.476 42.564 4384
+-93.35 42.564 4451
+-93.224 42.564 4454
+-93.098 42.564 4471
+-92.972 42.564 4544
+-92.846 42.564 4599
+-92.72 42.564 4627
+-92.594 42.564 4692
+-92.468 42.564 4788
+-92.342 42.564 4874
+-92.216 42.564 4943
+-92.09 42.564 4983
+-91.964 42.564 5009
+-91.838 42.564 5040
+-91.712 42.564 5098
+-91.586 42.564 5146
+-91.46 42.564 5192
+-91.334 42.564 5228
+-91.208 42.564 5226
+-91.082 42.564 5253
+-90.956 42.564 5260
+-90.83 42.564 5279
+-90.704 42.564 5275
+-90.578 42.564 5278
+-90.452 42.564 5293
+-90.326 42.564 5356
+-90.2 42.564 5297
+-90.074 42.564 5337
+-89.948 42.564 5281
+-89.822 42.564 5265
+-89.696 42.564 5254
+-89.57 42.564 5234
+-89.444 42.564 5179
+-89.318 42.564 5133
+-89.192 42.564 5091
+-89.066 42.564 5046
+-88.94 42.564 4997
+-88.814 42.564 4996
+-88.688 42.564 4925
+-88.562 42.564 4907
+-88.436 42.564 4833
+-88.31 42.564 4759
+-88.184 42.564 4689
+-88.058 42.564 4571
+-87.932 42.564 4521
+-87.806 42.564 4469
+-87.68 42.564 4402
+-87.554 42.564 4352
+-87.428 42.564 4287
+-87.302 42.564 4249
+-87.176 42.564 4198
+-87.05 42.564 4119
+-86.924 42.564 4014
+-86.798 42.564 3906
+-86.672 42.564 3830
+-86.546 42.564 3764
+-86.42 42.564 3728
+-86.294 42.564 3640
+-86.168 42.564 3552
+-86.042 42.564 3487
+-85.916 42.564 3431
+-85.79 42.564 3391
+-85.664 42.564 3337
+-85.538 42.564 3288
+-85.412 42.564 3263
+-85.286 42.564 3234
+-85.16 42.564 3182
+-85.034 42.564 3160
+-84.908 42.564 3117
+-84.782 42.564 3069
+-84.656 42.564 3011
+-84.53 42.564 2943
+-84.404 42.564 2868
+-84.278 42.564 2798
+-84.152 42.564 2745
+-84.026 42.564 2749
+-83.9 42.564 2781
+-83.774 42.564 2827
+-83.648 42.564 2863
+-83.522 42.564 2905
+-83.396 42.564 2942
+-83.27 42.564 2974
+-83.144 42.564 3002
+-83.018 42.564 3026
+-82.892 42.564 3046
+-82.766 42.564 3064
+-82.64 42.564 3122
+-82.514 42.564 3139
+-82.388 42.564 3155
+-82.262 42.564 3169
+-82.136 42.564 3139
+-82.01 42.564 3171
+-81.884 42.564 3183
+-81.758 42.564 3157
+-81.632 42.564 3187
+-81.506 42.564 3117
+-81.38 42.564 3195
+-81.254 42.564 3156
+-81.128 42.564 3207
+-81.002 42.564 3210
+-80.876 42.564 3217
+-80.75 42.564 3279
+-80.624 42.564 3248
+-80.498 42.564 3255
+-80.372 42.564 3358
+-80.246 42.564 3345
+-80.12 42.564 3352
+-79.994 42.564 3315
+-79.868 42.564 3380
+-79.742 42.564 3384
+-79.616 42.564 3389
+-79.49 42.564 3394
+-79.364 42.564 3399
+-79.238 42.564 3398
+-79.112 42.564 3402
+-78.986 42.564 3407
+-78.86 42.564 3397
+-78.734 42.564 3355
+-78.608 42.564 3353
+-78.482 42.564 3356
+-78.356 42.564 3359
+-78.23 42.564 3362
+-78.104 42.564 3364
+-77.978 42.564 3367
+-77.852 42.564 3369
+-77.726 42.564 3372
+-77.6 42.564 3374
+-77.474 42.564 3376
+-77.348 42.564 3378
+-77.222 42.564 3380
+-77.096 42.564 3382
+-76.97 42.564 3384
+-76.844 42.564 3386
+-76.718 42.564 3476
+-76.592 42.564 3478
+-76.466 42.564 3467
+-76.34 42.564 3468
+-76.214 42.564 3470
+-76.088 42.564 3472
+-75.962 42.564 3473
+-75.836 42.564 3475
+-75.71 42.564 3477
+-75.584 42.564 3478
+-75.458 42.564 3479
+-75.332 42.564 3481
+-75.206 42.564 3482
+-75.08 42.564 3510
+-74.954 42.564 3512
+-74.828 42.564 3514
+-74.702 42.564 3515
+-74.576 42.564 3517
+-74.45 42.564 3518
+-74.324 42.564 3483
+-74.198 42.564 3485
+-74.072 42.564 3486
+-73.946 42.564 3487
+-73.82 42.564 3516
+-73.694 42.564 3518
+-73.568 42.564 3520
+-73.442 42.564 3478
+-73.316 42.564 3480
+-73.19 42.564 3481
+-73.064 42.564 3613
+-72.938 42.564 3613
+-72.812 42.564 3614
+-72.686 42.564 3615
+-72.56 42.564 3616
+-72.434 42.564 3554
+-72.308 42.564 3554
+-72.182 42.564 3555
+-72.056 42.564 3555
+-71.93 42.564 3556
+-71.804 42.564 3556
+-71.678 42.564 3556
+-71.552 42.564 3557
+-71.426 42.564 3557
+-71.3 42.564 3557
+-71.174 42.564 3537
+-71.048 42.564 3525
+-70.922 42.564 3526
+-70.796 42.564 3526
+-70.67 42.564 3526
+-70.544 42.564 3527
+-70.418 42.564 3527
+-70.292 42.564 3509
+-70.166 42.564 3510
+-70.04 42.564 3510
+-69.914 42.564 3510
+-69.788 42.564 3511
+-69.662 42.564 3511
+-69.536 42.564 3511
+-69.41 42.564 3511
+-69.284 42.564 3459
+-69.158 42.564 3459
+-69.032 42.564 3460
+-68.906 42.564 3460
+-68.78 42.564 3460
+-68.654 42.564 3460
+-68.528 42.564 3460
+-68.402 42.564 3461
+-68.276 42.564 3461
+-68.15 42.564 3461
+-68.024 42.564 3461
+-67.898 42.564 3461
+-67.772 42.564 3462
+-67.646 42.564 3382
+-67.52 42.564 3382
+-67.394 42.564 3382
+-67.268 42.564 3382
+-67.142 42.564 3382
+-67.016 42.564 3382
+-66.89 42.564 3381
+-66.764 42.564 3381
+-66.638 42.564 3381
+-66.512 42.564 3381
+-66.386 42.564 3381
+-66.26 42.564 3381
+-66.134 42.564 3381
+-66.008 42.564 3381
+-65.882 42.564 3381
+-65.756 42.564 3381
+-65.63 42.564 3380
+-65.504 42.564 3380
+-65.378 42.564 3380
+-65.252 42.564 3380
+-65.126 42.564 3380
+-128 42.512 2649
+-127.874 42.512 2732
+-127.748 42.512 2861
+-127.622 42.512 3007
+-127.496 42.512 3142
+-127.37 42.512 3216
+-127.244 42.512 3280
+-127.118 42.512 3341
+-126.992 42.512 3396
+-126.866 42.512 3429
+-126.74 42.512 3464
+-126.614 42.512 3506
+-126.488 42.512 3559
+-126.362 42.512 3651
+-126.236 42.512 3778
+-126.11 42.512 3848
+-125.984 42.512 3916
+-125.858 42.512 3928
+-125.732 42.512 3954
+-125.606 42.512 4009
+-125.48 42.512 4043
+-125.354 42.512 4080
+-125.228 42.512 4138
+-125.102 42.512 4168
+-124.976 42.512 4222
+-124.85 42.512 4287
+-124.724 42.512 4335
+-124.598 42.512 4361
+-124.472 42.512 4362
+-124.346 42.512 4377
+-124.22 42.512 4406
+-124.094 42.512 4471
+-123.968 42.512 4515
+-123.842 42.512 4557
+-123.716 42.512 4617
+-123.59 42.512 4662
+-123.464 42.512 4675
+-123.338 42.512 4680
+-123.212 42.512 4684
+-123.086 42.512 4686
+-122.96 42.512 4683
+-122.834 42.512 4666
+-122.708 42.512 4688
+-122.582 42.512 4702
+-122.456 42.512 4675
+-122.33 42.512 4641
+-122.204 42.512 4612
+-122.078 42.512 4610
+-121.952 42.512 4568
+-121.826 42.512 4522
+-121.7 42.512 4503
+-121.574 42.512 4440
+-121.448 42.512 4359
+-121.322 42.512 4262
+-121.196 42.512 4382
+-121.07 42.512 4476
+-120.944 42.512 4572
+-120.818 42.512 4669
+-120.692 42.512 4710
+-120.566 42.512 4804
+-120.44 42.512 4865
+-120.314 42.512 4932
+-120.188 42.512 4971
+-120.062 42.512 5020
+-119.936 42.512 5073
+-119.81 42.512 5158
+-119.684 42.512 5183
+-119.558 42.512 5243
+-119.432 42.512 5265
+-119.306 42.512 5318
+-119.18 42.512 5382
+-119.054 42.512 5407
+-118.928 42.512 5419
+-118.802 42.512 5414
+-118.676 42.512 5412
+-118.55 42.512 5415
+-118.424 42.512 5425
+-118.298 42.512 5436
+-118.172 42.512 5400
+-118.046 42.512 5412
+-117.92 42.512 5397
+-117.794 42.512 5391
+-117.668 42.512 5382
+-117.542 42.512 5351
+-117.416 42.512 5324
+-117.29 42.512 5309
+-117.164 42.512 5290
+-117.038 42.512 5209
+-116.912 42.512 5139
+-116.786 42.512 5118
+-116.66 42.512 5062
+-116.534 42.512 5041
+-116.408 42.512 4986
+-116.282 42.512 4951
+-116.156 42.512 4891
+-116.03 42.512 4826
+-115.904 42.512 4735
+-115.778 42.512 4668
+-115.652 42.512 4589
+-115.526 42.512 4540
+-115.4 42.512 4505
+-115.274 42.512 4468
+-115.148 42.512 4401
+-115.022 42.512 4277
+-114.896 42.512 4226
+-114.77 42.512 4164
+-114.644 42.512 4096
+-114.518 42.512 3987
+-114.392 42.512 3879
+-114.266 42.512 3742
+-114.14 42.512 3550
+-114.014 42.512 3345
+-113.888 42.512 3252
+-113.762 42.512 3263
+-113.636 42.512 3292
+-113.51 42.512 3289
+-113.384 42.512 3215
+-113.258 42.512 3126
+-113.132 42.512 3039
+-113.006 42.512 2904
+-112.88 42.512 2717
+-112.754 42.512 2542
+-112.628 42.512 2351
+-112.502 42.512 2174
+-112.376 42.512 2010
+-112.25 42.512 1835
+-112.124 42.512 1752
+-111.998 42.512 1807
+-111.872 42.512 1934
+-111.746 42.512 2065
+-111.62 42.512 2190
+-111.494 42.512 2298
+-111.368 42.512 2391
+-111.242 42.512 2470
+-111.116 42.512 2538
+-110.99 42.512 2595
+-110.864 42.512 2639
+-110.738 42.512 2681
+-110.612 42.512 2718
+-110.486 42.512 2750
+-110.36 42.512 2738
+-110.234 42.512 2762
+-110.108 42.512 2783
+-109.982 42.512 2802
+-109.856 42.512 2818
+-109.73 42.512 2833
+-109.604 42.512 2847
+-109.478 42.512 2860
+-109.352 42.512 2871
+-109.226 42.512 2882
+-109.1 42.512 2823
+-108.974 42.512 2833
+-108.848 42.512 2842
+-108.722 42.512 2757
+-108.596 42.512 2765
+-108.47 42.512 2771
+-108.344 42.512 2776
+-108.218 42.512 2782
+-108.092 42.512 2770
+-107.966 42.512 2776
+-107.84 42.512 2667
+-107.714 42.512 2670
+-107.588 42.512 2742
+-107.462 42.512 2675
+-107.336 42.512 2659
+-107.21 42.512 2655
+-107.084 42.512 2658
+-106.958 42.512 2662
+-106.832 42.512 2665
+-106.706 42.512 2667
+-106.58 42.512 2638
+-106.454 42.512 2640
+-106.328 42.512 2643
+-106.202 42.512 2645
+-106.076 42.512 2541
+-105.95 42.512 2366
+-105.824 42.512 2356
+-105.698 42.512 2345
+-105.572 42.512 2334
+-105.446 42.512 2322
+-105.32 42.512 2309
+-105.194 42.512 2130
+-105.068 42.512 2035
+-104.942 42.512 1997
+-104.816 42.512 2003
+-104.69 42.512 2015
+-104.564 42.512 1961
+-104.438 42.512 1955
+-104.312 42.512 1899
+-104.186 42.512 1859
+-104.06 42.512 1921
+-103.934 42.512 1938
+-103.808 42.512 2108
+-103.682 42.512 2182
+-103.556 42.512 2179
+-103.43 42.512 2225
+-103.304 42.512 2367
+-103.178 42.512 2374
+-103.052 42.512 2399
+-102.926 42.512 2392
+-102.8 42.512 2384
+-102.674 42.512 2377
+-102.548 42.512 2411
+-102.422 42.512 2402
+-102.296 42.512 2393
+-102.17 42.512 2383
+-102.044 42.512 2373
+-101.918 42.512 2362
+-101.792 42.512 2351
+-101.666 42.512 2364
+-101.54 42.512 2402
+-101.414 42.512 2390
+-101.288 42.512 2378
+-101.162 42.512 2364
+-101.036 42.512 2350
+-100.91 42.512 2335
+-100.784 42.512 2320
+-100.658 42.512 2312
+-100.532 42.512 2338
+-100.406 42.512 2330
+-100.28 42.512 2344
+-100.154 42.512 2324
+-100.028 42.512 2304
+-99.902 42.512 2283
+-99.776 42.512 2262
+-99.65 42.512 2242
+-99.524 42.512 2222
+-99.398 42.512 2204
+-99.272 42.512 2227
+-99.146 42.512 2324
+-99.02 42.512 2313
+-98.894 42.512 2308
+-98.768 42.512 2309
+-98.642 42.512 2320
+-98.516 42.512 2352
+-98.39 42.512 2384
+-98.264 42.512 2413
+-98.138 42.512 2473
+-98.012 42.512 2513
+-97.886 42.512 2564
+-97.76 42.512 2609
+-97.634 42.512 2654
+-97.508 42.512 2696
+-97.382 42.512 2736
+-97.256 42.512 2772
+-97.13 42.512 2836
+-97.004 42.512 2864
+-96.878 42.512 2888
+-96.752 42.512 2908
+-96.626 42.512 2900
+-96.5 42.512 2950
+-96.374 42.512 2957
+-96.248 42.512 2985
+-96.122 42.512 2998
+-95.996 42.512 3088
+-95.87 42.512 3109
+-95.744 42.512 3133
+-95.618 42.512 3228
+-95.492 42.512 3276
+-95.366 42.512 3323
+-95.24 42.512 3365
+-95.114 42.512 3405
+-94.988 42.512 3401
+-94.862 42.512 3346
+-94.736 42.512 3276
+-94.61 42.512 3427
+-94.484 42.512 3544
+-94.358 42.512 3609
+-94.232 42.512 3666
+-94.106 42.512 3747
+-93.98 42.512 3870
+-93.854 42.512 4004
+-93.728 42.512 4147
+-93.602 42.512 4297
+-93.476 42.512 4406
+-93.35 42.512 4485
+-93.224 42.512 4505
+-93.098 42.512 4462
+-92.972 42.512 4549
+-92.846 42.512 4615
+-92.72 42.512 4675
+-92.594 42.512 4768
+-92.468 42.512 4851
+-92.342 42.512 4923
+-92.216 42.512 4937
+-92.09 42.512 5001
+-91.964 42.512 5062
+-91.838 42.512 5120
+-91.712 42.512 5177
+-91.586 42.512 5241
+-91.46 42.512 5273
+-91.334 42.512 5285
+-91.208 42.512 5297
+-91.082 42.512 5333
+-90.956 42.512 5320
+-90.83 42.512 5372
+-90.704 42.512 5342
+-90.578 42.512 5333
+-90.452 42.512 5333
+-90.326 42.512 5334
+-90.2 42.512 5337
+-90.074 42.512 5327
+-89.948 42.512 5332
+-89.822 42.512 5318
+-89.696 42.512 5309
+-89.57 42.512 5287
+-89.444 42.512 5263
+-89.318 42.512 5202
+-89.192 42.512 5146
+-89.066 42.512 5111
+-88.94 42.512 5043
+-88.814 42.512 5026
+-88.688 42.512 4971
+-88.562 42.512 4926
+-88.436 42.512 4843
+-88.31 42.512 4755
+-88.184 42.512 4732
+-88.058 42.512 4612
+-87.932 42.512 4534
+-87.806 42.512 4519
+-87.68 42.512 4408
+-87.554 42.512 4366
+-87.428 42.512 4207
+-87.302 42.512 4271
+-87.176 42.512 4252
+-87.05 42.512 4181
+-86.924 42.512 4105
+-86.798 42.512 4001
+-86.672 42.512 3884
+-86.546 42.512 3819
+-86.42 42.512 3783
+-86.294 42.512 3714
+-86.168 42.512 3604
+-86.042 42.512 3516
+-85.916 42.512 3463
+-85.79 42.512 3399
+-85.664 42.512 3334
+-85.538 42.512 3220
+-85.412 42.512 3272
+-85.286 42.512 3277
+-85.16 42.512 3254
+-85.034 42.512 3216
+-84.908 42.512 3169
+-84.782 42.512 3111
+-84.656 42.512 3036
+-84.53 42.512 2937
+-84.404 42.512 2811
+-84.278 42.512 2680
+-84.152 42.512 2622
+-84.026 42.512 2640
+-83.9 42.512 2707
+-83.774 42.512 2775
+-83.648 42.512 2842
+-83.522 42.512 2897
+-83.396 42.512 2942
+-83.27 42.512 2978
+-83.144 42.512 3008
+-83.018 42.512 3033
+-82.892 42.512 3054
+-82.766 42.512 3113
+-82.64 42.512 3132
+-82.514 42.512 3149
+-82.388 42.512 3164
+-82.262 42.512 3136
+-82.136 42.512 3168
+-82.01 42.512 3181
+-81.884 42.512 3137
+-81.758 42.512 3186
+-81.632 42.512 3196
+-81.506 42.512 3195
+-81.38 42.512 3241
+-81.254 42.512 3207
+-81.128 42.512 3210
+-81.002 42.512 3218
+-80.876 42.512 3279
+-80.75 42.512 3248
+-80.624 42.512 3255
+-80.498 42.512 3357
+-80.372 42.512 3344
+-80.246 42.512 3351
+-80.12 42.512 3315
+-79.994 42.512 3379
+-79.868 42.512 3383
+-79.742 42.512 3389
+-79.616 42.512 3394
+-79.49 42.512 3398
+-79.364 42.512 3398
+-79.238 42.512 3402
+-79.112 42.512 3407
+-78.986 42.512 3397
+-78.86 42.512 3356
+-78.734 42.512 3353
+-78.608 42.512 3356
+-78.482 42.512 3359
+-78.356 42.512 3362
+-78.23 42.512 3365
+-78.104 42.512 3367
+-77.978 42.512 3370
+-77.852 42.512 3372
+-77.726 42.512 3375
+-77.6 42.512 3377
+-77.474 42.512 3379
+-77.348 42.512 3381
+-77.222 42.512 3383
+-77.096 42.512 3385
+-76.97 42.512 3386
+-76.844 42.512 3476
+-76.718 42.512 3478
+-76.592 42.512 3466
+-76.466 42.512 3468
+-76.34 42.512 3470
+-76.214 42.512 3472
+-76.088 42.512 3473
+-75.962 42.512 3475
+-75.836 42.512 3476
+-75.71 42.512 3478
+-75.584 42.512 3479
+-75.458 42.512 3481
+-75.332 42.512 3482
+-75.206 42.512 3510
+-75.08 42.512 3511
+-74.954 42.512 3513
+-74.828 42.512 3515
+-74.702 42.512 3517
+-74.576 42.512 3518
+-74.45 42.512 3483
+-74.324 42.512 3485
+-74.198 42.512 3486
+-74.072 42.512 3487
+-73.946 42.512 3516
+-73.82 42.512 3518
+-73.694 42.512 3519
+-73.568 42.512 3478
+-73.442 42.512 3480
+-73.316 42.512 3481
+-73.19 42.512 3612
+-73.064 42.512 3613
+-72.938 42.512 3614
+-72.812 42.512 3614
+-72.686 42.512 3615
+-72.56 42.512 3554
+-72.434 42.512 3554
+-72.308 42.512 3554
+-72.182 42.512 3555
+-72.056 42.512 3555
+-71.93 42.512 3556
+-71.804 42.512 3556
+-71.678 42.512 3556
+-71.552 42.512 3557
+-71.426 42.512 3557
+-71.3 42.512 3537
+-71.174 42.512 3525
+-71.048 42.512 3525
+-70.922 42.512 3526
+-70.796 42.512 3526
+-70.67 42.512 3526
+-70.544 42.512 3509
+-70.418 42.512 3509
+-70.292 42.512 3509
+-70.166 42.512 3510
+-70.04 42.512 3510
+-69.914 42.512 3510
+-69.788 42.512 3511
+-69.662 42.512 3511
+-69.536 42.512 3511
+-69.41 42.512 3459
+-69.284 42.512 3459
+-69.158 42.512 3459
+-69.032 42.512 3460
+-68.906 42.512 3460
+-68.78 42.512 3460
+-68.654 42.512 3460
+-68.528 42.512 3460
+-68.402 42.512 3461
+-68.276 42.512 3461
+-68.15 42.512 3461
+-68.024 42.512 3461
+-67.898 42.512 3461
+-67.772 42.512 3382
+-67.646 42.512 3382
+-67.52 42.512 3382
+-67.394 42.512 3382
+-67.268 42.512 3382
+-67.142 42.512 3382
+-67.016 42.512 3381
+-66.89 42.512 3381
+-66.764 42.512 3381
+-66.638 42.512 3381
+-66.512 42.512 3381
+-66.386 42.512 3381
+-66.26 42.512 3381
+-66.134 42.512 3381
+-66.008 42.512 3381
+-65.882 42.512 3381
+-65.756 42.512 3380
+-65.63 42.512 3380
+-65.504 42.512 3380
+-65.378 42.512 3380
+-65.252 42.512 3380
+-65.126 42.512 3380
+-128 42.46 2392
+-127.874 42.46 2475
+-127.748 42.46 2652
+-127.622 42.46 2884
+-127.496 42.46 3047
+-127.37 42.46 3174
+-127.244 42.46 3278
+-127.118 42.46 3360
+-126.992 42.46 3403
+-126.866 42.46 3440
+-126.74 42.46 3481
+-126.614 42.46 3525
+-126.488 42.46 3576
+-126.362 42.46 3635
+-126.236 42.46 3752
+-126.11 42.46 3849
+-125.984 42.46 3869
+-125.858 42.46 3892
+-125.732 42.46 3899
+-125.606 42.46 3917
+-125.48 42.46 3973
+-125.354 42.46 4011
+-125.228 42.46 4055
+-125.102 42.46 4078
+-124.976 42.46 4135
+-124.85 42.46 4221
+-124.724 42.46 4285
+-124.598 42.46 4322
+-124.472 42.46 4352
+-124.346 42.46 4343
+-124.22 42.46 4351
+-124.094 42.46 4385
+-123.968 42.46 4436
+-123.842 42.46 4484
+-123.716 42.46 4523
+-123.59 42.46 4563
+-123.464 42.46 4586
+-123.338 42.46 4604
+-123.212 42.46 4627
+-123.086 42.46 4620
+-122.96 42.46 4631
+-122.834 42.46 4641
+-122.708 42.46 4632
+-122.582 42.46 4627
+-122.456 42.46 4611
+-122.33 42.46 4578
+-122.204 42.46 4548
+-122.078 42.46 4555
+-121.952 42.46 4507
+-121.826 42.46 4456
+-121.7 42.46 4470
+-121.574 42.46 4431
+-121.448 42.46 4380
+-121.322 42.46 4366
+-121.196 42.46 4406
+-121.07 42.46 4468
+-120.944 42.46 4552
+-120.818 42.46 4592
+-120.692 42.46 4675
+-120.566 42.46 4743
+-120.44 42.46 4813
+-120.314 42.46 4886
+-120.188 42.46 4953
+-120.062 42.46 4984
+-119.936 42.46 5030
+-119.81 42.46 5098
+-119.684 42.46 5133
+-119.558 42.46 5184
+-119.432 42.46 5230
+-119.306 42.46 5263
+-119.18 42.46 5311
+-119.054 42.46 5335
+-118.928 42.46 5367
+-118.802 42.46 5372
+-118.676 42.46 5362
+-118.55 42.46 5351
+-118.424 42.46 5350
+-118.298 42.46 5362
+-118.172 42.46 5368
+-118.046 42.46 5359
+-117.92 42.46 5335
+-117.794 42.46 5325
+-117.668 42.46 5313
+-117.542 42.46 5277
+-117.416 42.46 5261
+-117.29 42.46 5252
+-117.164 42.46 5226
+-117.038 42.46 5189
+-116.912 42.46 5139
+-116.786 42.46 5059
+-116.66 42.46 4974
+-116.534 42.46 4995
+-116.408 42.46 4934
+-116.282 42.46 4862
+-116.156 42.46 4802
+-116.03 42.46 4751
+-115.904 42.46 4675
+-115.778 42.46 4593
+-115.652 42.46 4500
+-115.526 42.46 4463
+-115.4 42.46 4437
+-115.274 42.46 4403
+-115.148 42.46 4348
+-115.022 42.46 4221
+-114.896 42.46 4170
+-114.77 42.46 4112
+-114.644 42.46 4033
+-114.518 42.46 3977
+-114.392 42.46 3844
+-114.266 42.46 3671
+-114.14 42.46 3488
+-114.014 42.46 3257
+-113.888 42.46 3181
+-113.762 42.46 3220
+-113.636 42.46 3271
+-113.51 42.46 3283
+-113.384 42.46 3249
+-113.258 42.46 3127
+-113.132 42.46 3033
+-113.006 42.46 2913
+-112.88 42.46 2761
+-112.754 42.46 2602
+-112.628 42.46 2412
+-112.502 42.46 2247
+-112.376 42.46 2103
+-112.25 42.46 1980
+-112.124 42.46 1918
+-111.998 42.46 1941
+-111.872 42.46 2026
+-111.746 42.46 2131
+-111.62 42.46 2228
+-111.494 42.46 2323
+-111.368 42.46 2406
+-111.242 42.46 2478
+-111.116 42.46 2540
+-110.99 42.46 2594
+-110.864 42.46 2636
+-110.738 42.46 2677
+-110.612 42.46 2657
+-110.486 42.46 2703
+-110.36 42.46 2729
+-110.234 42.46 2752
+-110.108 42.46 2773
+-109.982 42.46 2792
+-109.856 42.46 2808
+-109.73 42.46 2824
+-109.604 42.46 2837
+-109.478 42.46 2850
+-109.352 42.46 2862
+-109.226 42.46 2872
+-109.1 42.46 2882
+-108.974 42.46 2823
+-108.848 42.46 2739
+-108.722 42.46 2746
+-108.596 42.46 2753
+-108.47 42.46 2759
+-108.344 42.46 2766
+-108.218 42.46 2771
+-108.092 42.46 2660
+-107.966 42.46 2650
+-107.84 42.46 2653
+-107.714 42.46 2657
+-107.588 42.46 2660
+-107.462 42.46 2731
+-107.336 42.46 2665
+-107.21 42.46 2649
+-107.084 42.46 2645
+-106.958 42.46 2649
+-106.832 42.46 2652
+-106.706 42.46 2655
+-106.58 42.46 2658
+-106.454 42.46 2629
+-106.328 42.46 2631
+-106.202 42.46 2634
+-106.076 42.46 2528
+-105.95 42.46 2354
+-105.824 42.46 2344
+-105.698 42.46 2333
+-105.572 42.46 2321
+-105.446 42.46 2309
+-105.32 42.46 2297
+-105.194 42.46 2119
+-105.068 42.46 2025
+-104.942 42.46 1987
+-104.816 42.46 1994
+-104.69 42.46 2007
+-104.564 42.46 1954
+-104.438 42.46 1948
+-104.312 42.46 1896
+-104.186 42.46 1856
+-104.06 42.46 1919
+-103.934 42.46 1937
+-103.808 42.46 2108
+-103.682 42.46 2181
+-103.556 42.46 2178
+-103.43 42.46 2223
+-103.304 42.46 2355
+-103.178 42.46 2358
+-103.052 42.46 2365
+-102.926 42.46 2389
+-102.8 42.46 2382
+-102.674 42.46 2374
+-102.548 42.46 2365
+-102.422 42.46 2399
+-102.296 42.46 2389
+-102.17 42.46 2379
+-102.044 42.46 2368
+-101.918 42.46 2357
+-101.792 42.46 2345
+-101.666 42.46 2333
+-101.54 42.46 2346
+-101.414 42.46 2383
+-101.288 42.46 2369
+-101.162 42.46 2355
+-101.036 42.46 2340
+-100.91 42.46 2324
+-100.784 42.46 2307
+-100.658 42.46 2289
+-100.532 42.46 2278
+-100.406 42.46 2300
+-100.28 42.46 2290
+-100.154 42.46 2299
+-100.028 42.46 2276
+-99.902 42.46 2251
+-99.776 42.46 2226
+-99.65 42.46 2201
+-99.524 42.46 2177
+-99.398 42.46 2153
+-99.272 42.46 2131
+-99.146 42.46 2155
+-99.02 42.46 2244
+-98.894 42.46 2235
+-98.768 42.46 2232
+-98.642 42.46 2237
+-98.516 42.46 2257
+-98.39 42.46 2297
+-98.264 42.46 2340
+-98.138 42.46 2382
+-98.012 42.46 2453
+-97.886 42.46 2505
+-97.76 42.46 2566
+-97.634 42.46 2620
+-97.508 42.46 2671
+-97.382 42.46 2720
+-97.256 42.46 2764
+-97.13 42.46 2804
+-97.004 42.46 2871
+-96.878 42.46 2902
+-96.752 42.46 2929
+-96.626 42.46 2953
+-96.5 42.46 2984
+-96.374 42.46 3005
+-96.248 42.46 3018
+-96.122 42.46 3054
+-95.996 42.46 3159
+-95.87 42.46 3177
+-95.744 42.46 3210
+-95.618 42.46 3244
+-95.492 42.46 3344
+-95.366 42.46 3384
+-95.24 42.46 3413
+-95.114 42.46 3429
+-94.988 42.46 3435
+-94.862 42.46 3415
+-94.736 42.46 3397
+-94.61 42.46 3491
+-94.484 42.46 3526
+-94.358 42.46 3584
+-94.232 42.46 3702
+-94.106 42.46 3812
+-93.98 42.46 3951
+-93.854 42.46 4088
+-93.728 42.46 4209
+-93.602 42.46 4352
+-93.476 42.46 4480
+-93.35 42.46 4536
+-93.224 42.46 4569
+-93.098 42.46 4553
+-92.972 42.46 4604
+-92.846 42.46 4680
+-92.72 42.46 4754
+-92.594 42.46 4850
+-92.468 42.46 4914
+-92.342 42.46 4955
+-92.216 42.46 4993
+-92.09 42.46 5075
+-91.964 42.46 5144
+-91.838 42.46 5159
+-91.712 42.46 5235
+-91.586 42.46 5278
+-91.46 42.46 5313
+-91.334 42.46 5320
+-91.208 42.46 5337
+-91.082 42.46 5356
+-90.956 42.46 5369
+-90.83 42.46 5387
+-90.704 42.46 5416
+-90.578 42.46 5442
+-90.452 42.46 5425
+-90.326 42.46 5403
+-90.2 42.46 5413
+-90.074 42.46 5415
+-89.948 42.46 5416
+-89.822 42.46 5395
+-89.696 42.46 5359
+-89.57 42.46 5306
+-89.444 42.46 5327
+-89.318 42.46 5294
+-89.192 42.46 5211
+-89.066 42.46 5175
+-88.94 42.46 5120
+-88.814 42.46 5051
+-88.688 42.46 5002
+-88.562 42.46 4948
+-88.436 42.46 4865
+-88.31 42.46 4835
+-88.184 42.46 4768
+-88.058 42.46 4658
+-87.932 42.46 4582
+-87.806 42.46 4521
+-87.68 42.46 4456
+-87.554 42.46 4414
+-87.428 42.46 4331
+-87.302 42.46 4248
+-87.176 42.46 4269
+-87.05 42.46 4231
+-86.924 42.46 4192
+-86.798 42.46 4056
+-86.672 42.46 3931
+-86.546 42.46 3827
+-86.42 42.46 3803
+-86.294 42.46 3765
+-86.168 42.46 3640
+-86.042 42.46 3550
+-85.916 42.46 3534
+-85.79 42.46 3453
+-85.664 42.46 3374
+-85.538 42.46 3319
+-85.412 42.46 3311
+-85.286 42.46 3313
+-85.16 42.46 3294
+-85.034 42.46 3259
+-84.908 42.46 3212
+-84.782 42.46 3147
+-84.656 42.46 3054
+-84.53 42.46 2918
+-84.404 42.46 2724
+-84.278 42.46 2546
+-84.152 42.46 2462
+-84.026 42.46 2515
+-83.9 42.46 2628
+-83.774 42.46 2738
+-83.648 42.46 2827
+-83.522 42.46 2895
+-83.396 42.46 2946
+-83.27 42.46 2985
+-83.144 42.46 3017
+-83.018 42.46 3042
+-82.892 42.46 3104
+-82.766 42.46 3126
+-82.64 42.46 3144
+-82.514 42.46 3161
+-82.388 42.46 3133
+-82.262 42.46 3166
+-82.136 42.46 3179
+-82.01 42.46 3137
+-81.884 42.46 3185
+-81.758 42.46 3196
+-81.632 42.46 3195
+-81.506 42.46 3242
+-81.38 42.46 3208
+-81.254 42.46 3211
+-81.128 42.46 3219
+-81.002 42.46 3279
+-80.876 42.46 3248
+-80.75 42.46 3255
+-80.624 42.46 3356
+-80.498 42.46 3344
+-80.372 42.46 3351
+-80.246 42.46 3315
+-80.12 42.46 3379
+-79.994 42.46 3383
+-79.868 42.46 3388
+-79.742 42.46 3394
+-79.616 42.46 3399
+-79.49 42.46 3398
+-79.364 42.46 3402
+-79.238 42.46 3407
+-79.112 42.46 3397
+-78.986 42.46 3356
+-78.86 42.46 3353
+-78.734 42.46 3357
+-78.608 42.46 3360
+-78.482 42.46 3363
+-78.356 42.46 3365
+-78.23 42.46 3368
+-78.104 42.46 3371
+-77.978 42.46 3373
+-77.852 42.46 3375
+-77.726 42.46 3377
+-77.6 42.46 3380
+-77.474 42.46 3382
+-77.348 42.46 3383
+-77.222 42.46 3385
+-77.096 42.46 3387
+-76.97 42.46 3475
+-76.844 42.46 3477
+-76.718 42.46 3466
+-76.592 42.46 3468
+-76.466 42.46 3469
+-76.34 42.46 3471
+-76.214 42.46 3473
+-76.088 42.46 3474
+-75.962 42.46 3476
+-75.836 42.46 3478
+-75.71 42.46 3479
+-75.584 42.46 3480
+-75.458 42.46 3482
+-75.332 42.46 3509
+-75.206 42.46 3511
+-75.08 42.46 3513
+-74.954 42.46 3515
+-74.828 42.46 3516
+-74.702 42.46 3518
+-74.576 42.46 3483
+-74.45 42.46 3485
+-74.324 42.46 3486
+-74.198 42.46 3487
+-74.072 42.46 3516
+-73.946 42.46 3517
+-73.82 42.46 3519
+-73.694 42.46 3478
+-73.568 42.46 3479
+-73.442 42.46 3481
+-73.316 42.46 3612
+-73.19 42.46 3612
+-73.064 42.46 3613
+-72.938 42.46 3614
+-72.812 42.46 3615
+-72.686 42.46 3553
+-72.56 42.46 3554
+-72.434 42.46 3554
+-72.308 42.46 3555
+-72.182 42.46 3555
+-72.056 42.46 3555
+-71.93 42.46 3556
+-71.804 42.46 3556
+-71.678 42.46 3556
+-71.552 42.46 3557
+-71.426 42.46 3536
+-71.3 42.46 3525
+-71.174 42.46 3525
+-71.048 42.46 3525
+-70.922 42.46 3526
+-70.796 42.46 3526
+-70.67 42.46 3527
+-70.544 42.46 3509
+-70.418 42.46 3509
+-70.292 42.46 3510
+-70.166 42.46 3510
+-70.04 42.46 3510
+-69.914 42.46 3510
+-69.788 42.46 3511
+-69.662 42.46 3511
+-69.536 42.46 3459
+-69.41 42.46 3459
+-69.284 42.46 3459
+-69.158 42.46 3459
+-69.032 42.46 3460
+-68.906 42.46 3460
+-68.78 42.46 3460
+-68.654 42.46 3460
+-68.528 42.46 3460
+-68.402 42.46 3461
+-68.276 42.46 3461
+-68.15 42.46 3461
+-68.024 42.46 3461
+-67.898 42.46 3382
+-67.772 42.46 3382
+-67.646 42.46 3382
+-67.52 42.46 3382
+-67.394 42.46 3382
+-67.268 42.46 3382
+-67.142 42.46 3381
+-67.016 42.46 3381
+-66.89 42.46 3381
+-66.764 42.46 3381
+-66.638 42.46 3381
+-66.512 42.46 3381
+-66.386 42.46 3381
+-66.26 42.46 3381
+-66.134 42.46 3381
+-66.008 42.46 3381
+-65.882 42.46 3380
+-65.756 42.46 3380
+-65.63 42.46 3380
+-65.504 42.46 3380
+-65.378 42.46 3380
+-65.252 42.46 3380
+-65.126 42.46 3380
+-128 42.408 2179
+-127.874 42.408 2268
+-127.748 42.408 2490
+-127.622 42.408 2744
+-127.496 42.408 2948
+-127.37 42.408 3148
+-127.244 42.408 3275
+-127.118 42.408 3344
+-126.992 42.408 3392
+-126.866 42.408 3436
+-126.74 42.408 3475
+-126.614 42.408 3518
+-126.488 42.408 3567
+-126.362 42.408 3633
+-126.236 42.408 3733
+-126.11 42.408 3783
+-125.984 42.408 3823
+-125.858 42.408 3838
+-125.732 42.408 3832
+-125.606 42.408 3823
+-125.48 42.408 3894
+-125.354 42.408 3936
+-125.228 42.408 4003
+-125.102 42.408 4036
+-124.976 42.408 4078
+-124.85 42.408 4160
+-124.724 42.408 4242
+-124.598 42.408 4279
+-124.472 42.408 4295
+-124.346 42.408 4293
+-124.22 42.408 4302
+-124.094 42.408 4319
+-123.968 42.408 4352
+-123.842 42.408 4424
+-123.716 42.408 4468
+-123.59 42.408 4498
+-123.464 42.408 4511
+-123.338 42.408 4542
+-123.212 42.408 4555
+-123.086 42.408 4553
+-122.96 42.408 4550
+-122.834 42.408 4566
+-122.708 42.408 4569
+-122.582 42.408 4552
+-122.456 42.408 4532
+-122.33 42.408 4528
+-122.204 42.408 4517
+-122.078 42.408 4510
+-121.952 42.408 4483
+-121.826 42.408 4462
+-121.7 42.408 4438
+-121.574 42.408 4393
+-121.448 42.408 4372
+-121.322 42.408 4376
+-121.196 42.408 4406
+-121.07 42.408 4376
+-120.944 42.408 4503
+-120.818 42.408 4537
+-120.692 42.408 4590
+-120.566 42.408 4667
+-120.44 42.408 4723
+-120.314 42.408 4808
+-120.188 42.408 4904
+-120.062 42.408 4948
+-119.936 42.408 4987
+-119.81 42.408 5021
+-119.684 42.408 5054
+-119.558 42.408 5091
+-119.432 42.408 5143
+-119.306 42.408 5182
+-119.18 42.408 5210
+-119.054 42.408 5248
+-118.928 42.408 5266
+-118.802 42.408 5299
+-118.676 42.408 5308
+-118.55 42.408 5316
+-118.424 42.408 5310
+-118.298 42.408 5322
+-118.172 42.408 5340
+-118.046 42.408 5312
+-117.92 42.408 5312
+-117.794 42.408 5279
+-117.668 42.408 5250
+-117.542 42.408 5235
+-117.416 42.408 5217
+-117.29 42.408 5190
+-117.164 42.408 5151
+-117.038 42.408 5141
+-116.912 42.408 5091
+-116.786 42.408 5052
+-116.66 42.408 4990
+-116.534 42.408 4964
+-116.408 42.408 4858
+-116.282 42.408 4734
+-116.156 42.408 4666
+-116.03 42.408 4648
+-115.904 42.408 4591
+-115.778 42.408 4482
+-115.652 42.408 4410
+-115.526 42.408 4390
+-115.4 42.408 4373
+-115.274 42.408 4336
+-115.148 42.408 4271
+-115.022 42.408 4140
+-114.896 42.408 4085
+-114.77 42.408 4041
+-114.644 42.408 3981
+-114.518 42.408 3917
+-114.392 42.408 3810
+-114.266 42.408 3628
+-114.14 42.408 3473
+-114.014 42.408 3302
+-113.888 42.408 3228
+-113.762 42.408 3241
+-113.636 42.408 3267
+-113.51 42.408 3267
+-113.384 42.408 3237
+-113.258 42.408 3176
+-113.132 42.408 3047
+-113.006 42.408 2902
+-112.88 42.408 2780
+-112.754 42.408 2626
+-112.628 42.408 2490
+-112.502 42.408 2361
+-112.376 42.408 2234
+-112.25 42.408 2141
+-112.124 42.408 2094
+-111.998 42.408 2096
+-111.872 42.408 2142
+-111.746 42.408 2214
+-111.62 42.408 2294
+-111.494 42.408 2362
+-111.368 42.408 2433
+-111.242 42.408 2495
+-111.116 42.408 2550
+-110.99 42.408 2599
+-110.864 42.408 2643
+-110.738 42.408 2623
+-110.612 42.408 2668
+-110.486 42.408 2696
+-110.36 42.408 2721
+-110.234 42.408 2744
+-110.108 42.408 2764
+-109.982 42.408 2783
+-109.856 42.408 2799
+-109.73 42.408 2814
+-109.604 42.408 2828
+-109.478 42.408 2841
+-109.352 42.408 2853
+-109.226 42.408 2863
+-109.1 42.408 2770
+-108.974 42.408 2738
+-108.848 42.408 2729
+-108.722 42.408 2735
+-108.596 42.408 2741
+-108.47 42.408 2748
+-108.344 42.408 2755
+-108.218 42.408 2644
+-108.092 42.408 2632
+-107.966 42.408 2636
+-107.84 42.408 2640
+-107.714 42.408 2644
+-107.588 42.408 2647
+-107.462 42.408 2650
+-107.336 42.408 2721
+-107.21 42.408 2655
+-107.084 42.408 2639
+-106.958 42.408 2635
+-106.832 42.408 2639
+-106.706 42.408 2642
+-106.58 42.408 2645
+-106.454 42.408 2649
+-106.328 42.408 2620
+-106.202 42.408 2622
+-106.076 42.408 2516
+-105.95 42.408 2341
+-105.824 42.408 2331
+-105.698 42.408 2320
+-105.572 42.408 2309
+-105.446 42.408 2297
+-105.32 42.408 2284
+-105.194 42.408 2108
+-105.068 42.408 2096
+-104.942 42.408 1978
+-104.816 42.408 1985
+-104.69 42.408 2000
+-104.564 42.408 1948
+-104.438 42.408 1942
+-104.312 42.408 1893
+-104.186 42.408 1854
+-104.06 42.408 1917
+-103.934 42.408 1936
+-103.808 42.408 2107
+-103.682 42.408 2181
+-103.556 42.408 2177
+-103.43 42.408 2222
+-103.304 42.408 2354
+-103.178 42.408 2346
+-103.052 42.408 2348
+-102.926 42.408 2354
+-102.8 42.408 2379
+-102.674 42.408 2371
+-102.548 42.408 2362
+-102.422 42.408 2353
+-102.296 42.408 2386
+-102.17 42.408 2375
+-102.044 42.408 2364
+-101.918 42.408 2353
+-101.792 42.408 2340
+-101.666 42.408 2327
+-101.54 42.408 2314
+-101.414 42.408 2326
+-101.288 42.408 2361
+-101.162 42.408 2346
+-101.036 42.408 2329
+-100.91 42.408 2312
+-100.784 42.408 2294
+-100.658 42.408 2274
+-100.532 42.408 2253
+-100.406 42.408 2239
+-100.28 42.408 2256
+-100.154 42.408 2243
+-100.028 42.408 2246
+-99.902 42.408 2218
+-99.776 42.408 2189
+-99.65 42.408 2158
+-99.524 42.408 2128
+-99.398 42.408 2098
+-99.272 42.408 2069
+-99.146 42.408 2043
+-99.02 42.408 2066
+-98.894 42.408 2148
+-98.768 42.408 2141
+-98.642 42.408 2143
+-98.516 42.408 2157
+-98.39 42.408 2188
+-98.264 42.408 2241
+-98.138 42.408 2299
+-98.012 42.408 2356
+-97.886 42.408 2442
+-97.76 42.408 2507
+-97.634 42.408 2577
+-97.508 42.408 2640
+-97.382 42.408 2698
+-97.256 42.408 2751
+-97.13 42.408 2798
+-97.004 42.408 2841
+-96.878 42.408 2912
+-96.752 42.408 2945
+-96.626 42.408 2976
+-96.5 42.408 3003
+-96.374 42.408 3039
+-96.248 42.408 3066
+-96.122 42.408 3106
+-95.996 42.408 3216
+-95.87 42.408 3237
+-95.744 42.408 3263
+-95.618 42.408 3319
+-95.492 42.408 3352
+-95.366 42.408 3389
+-95.24 42.408 3511
+-95.114 42.408 3513
+-94.988 42.408 3505
+-94.862 42.408 3496
+-94.736 42.408 3504
+-94.61 42.408 3532
+-94.484 42.408 3557
+-94.358 42.408 3622
+-94.232 42.408 3749
+-94.106 42.408 3885
+-93.98 42.408 4016
+-93.854 42.408 4170
+-93.728 42.408 4286
+-93.602 42.408 4452
+-93.476 42.408 4538
+-93.35 42.408 4619
+-93.224 42.408 4651
+-93.098 42.408 4660
+-92.972 42.408 4688
+-92.846 42.408 4750
+-92.72 42.408 4817
+-92.594 42.408 4900
+-92.468 42.408 4947
+-92.342 42.408 4997
+-92.216 42.408 5091
+-92.09 42.408 5177
+-91.964 42.408 5219
+-91.838 42.408 5244
+-91.712 42.408 5279
+-91.586 42.408 5323
+-91.46 42.408 5377
+-91.334 42.408 5383
+-91.208 42.408 5428
+-91.082 42.408 5449
+-90.956 42.408 5471
+-90.83 42.408 5503
+-90.704 42.408 5508
+-90.578 42.408 5521
+-90.452 42.408 5522
+-90.326 42.408 5513
+-90.2 42.408 5500
+-90.074 42.408 5487
+-89.948 42.408 5496
+-89.822 42.408 5450
+-89.696 42.408 5440
+-89.57 42.408 5388
+-89.444 42.408 5372
+-89.318 42.408 5316
+-89.192 42.408 5282
+-89.066 42.408 5209
+-88.94 42.408 5190
+-88.814 42.408 5130
+-88.688 42.408 5073
+-88.562 42.408 5022
+-88.436 42.408 4942
+-88.31 42.408 4880
+-88.184 42.408 4782
+-88.058 42.408 4705
+-87.932 42.408 4622
+-87.806 42.408 4574
+-87.68 42.408 4514
+-87.554 42.408 4435
+-87.428 42.408 4341
+-87.302 42.408 4329
+-87.176 42.408 4309
+-87.05 42.408 4286
+-86.924 42.408 4227
+-86.798 42.408 4114
+-86.672 42.408 4008
+-86.546 42.408 3864
+-86.42 42.408 3819
+-86.294 42.408 3769
+-86.168 42.408 3679
+-86.042 42.408 3609
+-85.916 42.408 3582
+-85.79 42.408 3533
+-85.664 42.408 3466
+-85.538 42.408 3427
+-85.412 42.408 3383
+-85.286 42.408 3374
+-85.16 42.408 3356
+-85.034 42.408 3298
+-84.908 42.408 3253
+-84.782 42.408 3184
+-84.656 42.408 3078
+-84.53 42.408 2915
+-84.404 42.408 2699
+-84.278 42.408 2476
+-84.152 42.408 2380
+-84.026 42.408 2455
+-83.9 42.408 2598
+-83.774 42.408 2730
+-83.648 42.408 2830
+-83.522 42.408 2903
+-83.396 42.408 2957
+-83.27 42.408 2997
+-83.144 42.408 3029
+-83.018 42.408 3094
+-82.892 42.408 3119
+-82.766 42.408 3140
+-82.64 42.408 3158
+-82.514 42.408 3132
+-82.388 42.408 3165
+-82.262 42.408 3179
+-82.136 42.408 3137
+-82.01 42.408 3186
+-81.884 42.408 3197
+-81.758 42.408 3196
+-81.632 42.408 3242
+-81.506 42.408 3209
+-81.38 42.408 3213
+-81.254 42.408 3221
+-81.128 42.408 3280
+-81.002 42.408 3249
+-80.876 42.408 3257
+-80.75 42.408 3356
+-80.624 42.408 3345
+-80.498 42.408 3352
+-80.372 42.408 3316
+-80.246 42.408 3379
+-80.12 42.408 3383
+-79.994 42.408 3389
+-79.868 42.408 3394
+-79.742 42.408 3399
+-79.616 42.408 3398
+-79.49 42.408 3403
+-79.364 42.408 3407
+-79.238 42.408 3397
+-79.112 42.408 3357
+-78.986 42.408 3354
+-78.86 42.408 3357
+-78.734 42.408 3360
+-78.608 42.408 3363
+-78.482 42.408 3366
+-78.356 42.408 3369
+-78.23 42.408 3371
+-78.104 42.408 3374
+-77.978 42.408 3376
+-77.852 42.408 3378
+-77.726 42.408 3380
+-77.6 42.408 3382
+-77.474 42.408 3384
+-77.348 42.408 3386
+-77.222 42.408 3388
+-77.096 42.408 3474
+-76.97 42.408 3477
+-76.844 42.408 3465
+-76.718 42.408 3467
+-76.592 42.408 3469
+-76.466 42.408 3471
+-76.34 42.408 3473
+-76.214 42.408 3474
+-76.088 42.408 3476
+-75.962 42.408 3477
+-75.836 42.408 3479
+-75.71 42.408 3480
+-75.584 42.408 3482
+-75.458 42.408 3509
+-75.332 42.408 3511
+-75.206 42.408 3512
+-75.08 42.408 3514
+-74.954 42.408 3516
+-74.828 42.408 3518
+-74.702 42.408 3483
+-74.576 42.408 3484
+-74.45 42.408 3486
+-74.324 42.408 3487
+-74.198 42.408 3515
+-74.072 42.408 3517
+-73.946 42.408 3519
+-73.82 42.408 3478
+-73.694 42.408 3479
+-73.568 42.408 3481
+-73.442 42.408 3611
+-73.316 42.408 3612
+-73.19 42.408 3613
+-73.064 42.408 3613
+-72.938 42.408 3614
+-72.812 42.408 3553
+-72.686 42.408 3553
+-72.56 42.408 3554
+-72.434 42.408 3554
+-72.308 42.408 3555
+-72.182 42.408 3555
+-72.056 42.408 3555
+-71.93 42.408 3556
+-71.804 42.408 3556
+-71.678 42.408 3557
+-71.552 42.408 3536
+-71.426 42.408 3524
+-71.3 42.408 3525
+-71.174 42.408 3525
+-71.048 42.408 3526
+-70.922 42.408 3526
+-70.796 42.408 3508
+-70.67 42.408 3509
+-70.544 42.408 3509
+-70.418 42.408 3509
+-70.292 42.408 3510
+-70.166 42.408 3510
+-70.04 42.408 3510
+-69.914 42.408 3511
+-69.788 42.408 3511
+-69.662 42.408 3459
+-69.536 42.408 3459
+-69.41 42.408 3459
+-69.284 42.408 3459
+-69.158 42.408 3459
+-69.032 42.408 3460
+-68.906 42.408 3460
+-68.78 42.408 3460
+-68.654 42.408 3460
+-68.528 42.408 3460
+-68.402 42.408 3461
+-68.276 42.408 3461
+-68.15 42.408 3461
+-68.024 42.408 3382
+-67.898 42.408 3382
+-67.772 42.408 3382
+-67.646 42.408 3382
+-67.52 42.408 3382
+-67.394 42.408 3382
+-67.268 42.408 3381
+-67.142 42.408 3381
+-67.016 42.408 3381
+-66.89 42.408 3381
+-66.764 42.408 3381
+-66.638 42.408 3381
+-66.512 42.408 3381
+-66.386 42.408 3381
+-66.26 42.408 3381
+-66.134 42.408 3381
+-66.008 42.408 3380
+-65.882 42.408 3380
+-65.756 42.408 3380
+-65.63 42.408 3380
+-65.504 42.408 3380
+-65.378 42.408 3380
+-65.252 42.408 3380
+-65.126 42.408 3380
+-128 42.356 2095
+-127.874 42.356 2179
+-127.748 42.356 2413
+-127.622 42.356 2679
+-127.496 42.356 2919
+-127.37 42.356 3106
+-127.244 42.356 3215
+-127.118 42.356 3286
+-126.992 42.356 3371
+-126.866 42.356 3408
+-126.74 42.356 3442
+-126.614 42.356 3481
+-126.488 42.356 3538
+-126.362 42.356 3586
+-126.236 42.356 3655
+-126.11 42.356 3764
+-125.984 42.356 3804
+-125.858 42.356 3816
+-125.732 42.356 3795
+-125.606 42.356 3757
+-125.48 42.356 3855
+-125.354 42.356 3898
+-125.228 42.356 3951
+-125.102 42.356 4019
+-124.976 42.356 4062
+-124.85 42.356 4122
+-124.724 42.356 4200
+-124.598 42.356 4243
+-124.472 42.356 4243
+-124.346 42.356 4253
+-124.22 42.356 4260
+-124.094 42.356 4277
+-123.968 42.356 4311
+-123.842 42.356 4372
+-123.716 42.356 4425
+-123.59 42.356 4472
+-123.464 42.356 4485
+-123.338 42.356 4495
+-123.212 42.356 4510
+-123.086 42.356 4508
+-122.96 42.356 4506
+-122.834 42.356 4510
+-122.708 42.356 4513
+-122.582 42.356 4508
+-122.456 42.356 4470
+-122.33 42.356 4481
+-122.204 42.356 4430
+-122.078 42.356 4456
+-121.952 42.356 4437
+-121.826 42.356 4407
+-121.7 42.356 4360
+-121.574 42.356 4311
+-121.448 42.356 4290
+-121.322 42.356 4263
+-121.196 42.356 4346
+-121.07 42.356 4410
+-120.944 42.356 4481
+-120.818 42.356 4537
+-120.692 42.356 4527
+-120.566 42.356 4613
+-120.44 42.356 4653
+-120.314 42.356 4736
+-120.188 42.356 4837
+-120.062 42.356 4896
+-119.936 42.356 4962
+-119.81 42.356 5000
+-119.684 42.356 5029
+-119.558 42.356 5015
+-119.432 42.356 5056
+-119.306 42.356 5127
+-119.18 42.356 5154
+-119.054 42.356 5194
+-118.928 42.356 5217
+-118.802 42.356 5240
+-118.676 42.356 5227
+-118.55 42.356 5274
+-118.424 42.356 5284
+-118.298 42.356 5283
+-118.172 42.356 5284
+-118.046 42.356 5261
+-117.92 42.356 5258
+-117.794 42.356 5230
+-117.668 42.356 5236
+-117.542 42.356 5181
+-117.416 42.356 5132
+-117.29 42.356 5089
+-117.164 42.356 5053
+-117.038 42.356 5047
+-116.912 42.356 5010
+-116.786 42.356 4963
+-116.66 42.356 4911
+-116.534 42.356 4823
+-116.408 42.356 4737
+-116.282 42.356 4649
+-116.156 42.356 4621
+-116.03 42.356 4603
+-115.904 42.356 4543
+-115.778 42.356 4427
+-115.652 42.356 4372
+-115.526 42.356 4330
+-115.4 42.356 4314
+-115.274 42.356 4283
+-115.148 42.356 4166
+-115.022 42.356 4053
+-114.896 42.356 3979
+-114.77 42.356 3938
+-114.644 42.356 3926
+-114.518 42.356 3842
+-114.392 42.356 3782
+-114.266 42.356 3642
+-114.14 42.356 3530
+-114.014 42.356 3390
+-113.888 42.356 3312
+-113.762 42.356 3277
+-113.636 42.356 3273
+-113.51 42.356 3258
+-113.384 42.356 3222
+-113.258 42.356 3128
+-113.132 42.356 3019
+-113.006 42.356 2926
+-112.88 42.356 2821
+-112.754 42.356 2693
+-112.628 42.356 2574
+-112.502 42.356 2464
+-112.376 42.356 2362
+-112.25 42.356 2289
+-112.124 42.356 2249
+-111.998 42.356 2245
+-111.872 42.356 2263
+-111.746 42.356 2304
+-111.62 42.356 2359
+-111.494 42.356 2418
+-111.368 42.356 2466
+-111.242 42.356 2519
+-111.116 42.356 2566
+-110.99 42.356 2609
+-110.864 42.356 2592
+-110.738 42.356 2624
+-110.612 42.356 2665
+-110.486 42.356 2692
+-110.36 42.356 2716
+-110.234 42.356 2737
+-110.108 42.356 2757
+-109.982 42.356 2775
+-109.856 42.356 2791
+-109.73 42.356 2806
+-109.604 42.356 2820
+-109.478 42.356 2832
+-109.352 42.356 2844
+-109.226 42.356 2752
+-109.1 42.356 2760
+-108.974 42.356 2766
+-108.848 42.356 2735
+-108.722 42.356 2725
+-108.596 42.356 2731
+-108.47 42.356 2612
+-108.344 42.356 2627
+-108.218 42.356 2631
+-108.092 42.356 2619
+-107.966 42.356 2623
+-107.84 42.356 2627
+-107.714 42.356 2631
+-107.588 42.356 2634
+-107.462 42.356 2638
+-107.336 42.356 2641
+-107.21 42.356 2711
+-107.084 42.356 2645
+-106.958 42.356 2629
+-106.832 42.356 2626
+-106.706 42.356 2630
+-106.58 42.356 2633
+-106.454 42.356 2636
+-106.328 42.356 2640
+-106.202 42.356 2611
+-106.076 42.356 2503
+-105.95 42.356 2328
+-105.824 42.356 2318
+-105.698 42.356 2308
+-105.572 42.356 2296
+-105.446 42.356 2284
+-105.32 42.356 2272
+-105.194 42.356 2098
+-105.068 42.356 2085
+-104.942 42.356 1969
+-104.816 42.356 1976
+-104.69 42.356 1992
+-104.564 42.356 1942
+-104.438 42.356 1942
+-104.312 42.356 1898
+-104.186 42.356 1851
+-104.06 42.356 1915
+-103.934 42.356 1935
+-103.808 42.356 2106
+-103.682 42.356 2180
+-103.556 42.356 2176
+-103.43 42.356 2220
+-103.304 42.356 2353
+-103.178 42.356 2344
+-103.052 42.356 2336
+-102.926 42.356 2338
+-102.8 42.356 2343
+-102.674 42.356 2369
+-102.548 42.356 2360
+-102.422 42.356 2350
+-102.296 42.356 2341
+-102.17 42.356 2372
+-102.044 42.356 2360
+-101.918 42.356 2348
+-101.792 42.356 2336
+-101.666 42.356 2322
+-101.54 42.356 2308
+-101.414 42.356 2293
+-101.288 42.356 2305
+-101.162 42.356 2337
+-101.036 42.356 2320
+-100.91 42.356 2301
+-100.784 42.356 2281
+-100.658 42.356 2260
+-100.532 42.356 2237
+-100.406 42.356 2213
+-100.28 42.356 2195
+-100.154 42.356 2206
+-100.028 42.356 2187
+-99.902 42.356 2184
+-99.776 42.356 2149
+-99.65 42.356 2113
+-99.524 42.356 2076
+-99.398 42.356 2038
+-99.272 42.356 2001
+-99.146 42.356 1966
+-99.02 42.356 1935
+-98.894 42.356 1958
+-98.768 42.356 2033
+-98.642 42.356 2029
+-98.516 42.356 2041
+-98.39 42.356 2068
+-98.264 42.356 2117
+-98.138 42.356 2188
+-98.012 42.356 2267
+-97.886 42.356 2343
+-97.76 42.356 2445
+-97.634 42.356 2523
+-97.508 42.356 2600
+-97.382 42.356 2670
+-97.256 42.356 2732
+-97.13 42.356 2788
+-97.004 42.356 2838
+-96.878 42.356 2883
+-96.752 42.356 2957
+-96.626 42.356 2993
+-96.5 42.356 3027
+-96.374 42.356 3058
+-96.248 42.356 3098
+-96.122 42.356 3130
+-95.996 42.356 3267
+-95.87 42.356 3284
+-95.744 42.356 3328
+-95.618 42.356 3365
+-95.492 42.356 3451
+-95.366 42.356 3472
+-95.24 42.356 3492
+-95.114 42.356 3554
+-94.988 42.356 3551
+-94.862 42.356 3549
+-94.736 42.356 3533
+-94.61 42.356 3516
+-94.484 42.356 3578
+-94.358 42.356 3685
+-94.232 42.356 3815
+-94.106 42.356 3960
+-93.98 42.356 4117
+-93.854 42.356 4244
+-93.728 42.356 4375
+-93.602 42.356 4503
+-93.476 42.356 4591
+-93.35 42.356 4662
+-93.224 42.356 4680
+-93.098 42.356 4699
+-92.972 42.356 4736
+-92.846 42.356 4804
+-92.72 42.356 4877
+-92.594 42.356 4944
+-92.468 42.356 4985
+-92.342 42.356 5044
+-92.216 42.356 5170
+-92.09 42.356 5243
+-91.964 42.356 5282
+-91.838 42.356 5271
+-91.712 42.356 5331
+-91.586 42.356 5385
+-91.46 42.356 5411
+-91.334 42.356 5457
+-91.208 42.356 5517
+-91.082 42.356 5544
+-90.956 42.356 5567
+-90.83 42.356 5593
+-90.704 42.356 5592
+-90.578 42.356 5583
+-90.452 42.356 5582
+-90.326 42.356 5592
+-90.2 42.356 5590
+-90.074 42.356 5559
+-89.948 42.356 5541
+-89.822 42.356 5518
+-89.696 42.356 5481
+-89.57 42.356 5470
+-89.444 42.356 5419
+-89.318 42.356 5380
+-89.192 42.356 5341
+-89.066 42.356 5278
+-88.94 42.356 5253
+-88.814 42.356 5173
+-88.688 42.356 5101
+-88.562 42.356 5073
+-88.436 42.356 5035
+-88.31 42.356 4912
+-88.184 42.356 4816
+-88.058 42.356 4808
+-87.932 42.356 4691
+-87.806 42.356 4610
+-87.68 42.356 4546
+-87.554 42.356 4499
+-87.428 42.356 4425
+-87.302 42.356 4399
+-87.176 42.356 4357
+-87.05 42.356 4323
+-86.924 42.356 4276
+-86.798 42.356 4172
+-86.672 42.356 4074
+-86.546 42.356 3951
+-86.42 42.356 3879
+-86.294 42.356 3814
+-86.168 42.356 3734
+-86.042 42.356 3666
+-85.916 42.356 3665
+-85.79 42.356 3616
+-85.664 42.356 3558
+-85.538 42.356 3487
+-85.412 42.356 3463
+-85.286 42.356 3418
+-85.16 42.356 3396
+-85.034 42.356 3365
+-84.908 42.356 3323
+-84.782 42.356 3240
+-84.656 42.356 3112
+-84.53 42.356 2963
+-84.404 42.356 2762
+-84.278 42.356 2561
+-84.152 42.356 2467
+-84.026 42.356 2523
+-83.9 42.356 2646
+-83.774 42.356 2765
+-83.648 42.356 2858
+-83.522 42.356 2927
+-83.396 42.356 2977
+-83.27 42.356 3016
+-83.144 42.356 3085
+-83.018 42.356 3113
+-82.892 42.356 3136
+-82.766 42.356 3156
+-82.64 42.356 3131
+-82.514 42.356 3165
+-82.388 42.356 3179
+-82.262 42.356 3139
+-82.136 42.356 3187
+-82.01 42.356 3198
+-81.884 42.356 3198
+-81.758 42.356 3244
+-81.632 42.356 3212
+-81.506 42.356 3215
+-81.38 42.356 3223
+-81.254 42.356 3281
+-81.128 42.356 3251
+-81.002 42.356 3258
+-80.876 42.356 3357
+-80.75 42.356 3345
+-80.624 42.356 3353
+-80.498 42.356 3317
+-80.372 42.356 3379
+-80.246 42.356 3383
+-80.12 42.356 3389
+-79.994 42.356 3394
+-79.868 42.356 3399
+-79.742 42.356 3399
+-79.616 42.356 3403
+-79.49 42.356 3408
+-79.364 42.356 3398
+-79.238 42.356 3357
+-79.112 42.356 3355
+-78.986 42.356 3358
+-78.86 42.356 3361
+-78.734 42.356 3364
+-78.608 42.356 3367
+-78.482 42.356 3370
+-78.356 42.356 3372
+-78.23 42.356 3375
+-78.104 42.356 3377
+-77.978 42.356 3379
+-77.852 42.356 3381
+-77.726 42.356 3383
+-77.6 42.356 3385
+-77.474 42.356 3387
+-77.348 42.356 3389
+-77.222 42.356 3474
+-77.096 42.356 3476
+-76.97 42.356 3465
+-76.844 42.356 3467
+-76.718 42.356 3469
+-76.592 42.356 3471
+-76.466 42.356 3472
+-76.34 42.356 3474
+-76.214 42.356 3476
+-76.088 42.356 3477
+-75.962 42.356 3479
+-75.836 42.356 3480
+-75.71 42.356 3482
+-75.584 42.356 3508
+-75.458 42.356 3510
+-75.332 42.356 3512
+-75.206 42.356 3514
+-75.08 42.356 3516
+-74.954 42.356 3517
+-74.828 42.356 3483
+-74.702 42.356 3484
+-74.576 42.356 3486
+-74.45 42.356 3487
+-74.324 42.356 3515
+-74.198 42.356 3517
+-74.072 42.356 3519
+-73.946 42.356 3478
+-73.82 42.356 3479
+-73.694 42.356 3481
+-73.568 42.356 3610
+-73.442 42.356 3611
+-73.316 42.356 3612
+-73.19 42.356 3613
+-73.064 42.356 3613
+-72.938 42.356 3553
+-72.812 42.356 3553
+-72.686 42.356 3553
+-72.56 42.356 3554
+-72.434 42.356 3554
+-72.308 42.356 3555
+-72.182 42.356 3555
+-72.056 42.356 3556
+-71.93 42.356 3556
+-71.804 42.356 3556
+-71.678 42.356 3536
+-71.552 42.356 3524
+-71.426 42.356 3524
+-71.3 42.356 3525
+-71.174 42.356 3525
+-71.048 42.356 3526
+-70.922 42.356 3526
+-70.796 42.356 3509
+-70.67 42.356 3509
+-70.544 42.356 3509
+-70.418 42.356 3510
+-70.292 42.356 3510
+-70.166 42.356 3510
+-70.04 42.356 3510
+-69.914 42.356 3511
+-69.788 42.356 3458
+-69.662 42.356 3459
+-69.536 42.356 3459
+-69.41 42.356 3459
+-69.284 42.356 3459
+-69.158 42.356 3459
+-69.032 42.356 3460
+-68.906 42.356 3460
+-68.78 42.356 3460
+-68.654 42.356 3460
+-68.528 42.356 3461
+-68.402 42.356 3461
+-68.276 42.356 3461
+-68.15 42.356 3382
+-68.024 42.356 3382
+-67.898 42.356 3382
+-67.772 42.356 3382
+-67.646 42.356 3382
+-67.52 42.356 3382
+-67.394 42.356 3381
+-67.268 42.356 3381
+-67.142 42.356 3381
+-67.016 42.356 3381
+-66.89 42.356 3381
+-66.764 42.356 3381
+-66.638 42.356 3381
+-66.512 42.356 3381
+-66.386 42.356 3381
+-66.26 42.356 3381
+-66.134 42.356 3380
+-66.008 42.356 3380
+-65.882 42.356 3380
+-65.756 42.356 3380
+-65.63 42.356 3380
+-65.504 42.356 3380
+-65.378 42.356 3380
+-65.252 42.356 3380
+-65.126 42.356 3380
+-128 42.304 2168
+-127.874 42.304 2246
+-127.748 42.304 2446
+-127.622 42.304 2681
+-127.496 42.304 2933
+-127.37 42.304 3092
+-127.244 42.304 3195
+-127.118 42.304 3259
+-126.992 42.304 3297
+-126.866 42.304 3321
+-126.74 42.304 3375
+-126.614 42.304 3412
+-126.488 42.304 3455
+-126.362 42.304 3527
+-126.236 42.304 3596
+-126.11 42.304 3718
+-125.984 42.304 3782
+-125.858 42.304 3808
+-125.732 42.304 3808
+-125.606 42.304 3805
+-125.48 42.304 3860
+-125.354 42.304 3906
+-125.228 42.304 3934
+-125.102 42.304 3966
+-124.976 42.304 4026
+-124.85 42.304 4089
+-124.724 42.304 4156
+-124.598 42.304 4203
+-124.472 42.304 4229
+-124.346 42.304 4238
+-124.22 42.304 4243
+-124.094 42.304 4273
+-123.968 42.304 4277
+-123.842 42.304 4330
+-123.716 42.304 4380
+-123.59 42.304 4435
+-123.464 42.304 4462
+-123.338 42.304 4470
+-123.212 42.304 4476
+-123.086 42.304 4477
+-122.96 42.304 4454
+-122.834 42.304 4481
+-122.708 42.304 4470
+-122.582 42.304 4480
+-122.456 42.304 4475
+-122.33 42.304 4462
+-122.204 42.304 4434
+-122.078 42.304 4422
+-121.952 42.304 4383
+-121.826 42.304 4344
+-121.7 42.304 4305
+-121.574 42.304 4258
+-121.448 42.304 4198
+-121.322 42.304 4134
+-121.196 42.304 4244
+-121.07 42.304 4369
+-120.944 42.304 4465
+-120.818 42.304 4524
+-120.692 42.304 4552
+-120.566 42.304 4565
+-120.44 42.304 4643
+-120.314 42.304 4718
+-120.188 42.304 4771
+-120.062 42.304 4829
+-119.936 42.304 4919
+-119.81 42.304 4957
+-119.684 42.304 4955
+-119.558 42.304 4968
+-119.432 42.304 5009
+-119.306 42.304 5056
+-119.18 42.304 5074
+-119.054 42.304 5122
+-118.928 42.304 5171
+-118.802 42.304 5201
+-118.676 42.304 5204
+-118.55 42.304 5200
+-118.424 42.304 5200
+-118.298 42.304 5213
+-118.172 42.304 5215
+-118.046 42.304 5222
+-117.92 42.304 5197
+-117.794 42.304 5174
+-117.668 42.304 5160
+-117.542 42.304 5112
+-117.416 42.304 5116
+-117.29 42.304 5043
+-117.164 42.304 5003
+-117.038 42.304 4990
+-116.912 42.304 4950
+-116.786 42.304 4876
+-116.66 42.304 4816
+-116.534 42.304 4735
+-116.408 42.304 4657
+-116.282 42.304 4607
+-116.156 42.304 4616
+-116.03 42.304 4559
+-115.904 42.304 4519
+-115.778 42.304 4426
+-115.652 42.304 4340
+-115.526 42.304 4240
+-115.4 42.304 4271
+-115.274 42.304 4232
+-115.148 42.304 4083
+-115.022 42.304 3930
+-114.896 42.304 3854
+-114.77 42.304 3851
+-114.644 42.304 3841
+-114.518 42.304 3812
+-114.392 42.304 3759
+-114.266 42.304 3692
+-114.14 42.304 3567
+-114.014 42.304 3465
+-113.888 42.304 3368
+-113.762 42.304 3300
+-113.636 42.304 3288
+-113.51 42.304 3263
+-113.384 42.304 3163
+-113.258 42.304 3095
+-113.132 42.304 3027
+-113.006 42.304 2948
+-112.88 42.304 2842
+-112.754 42.304 2764
+-112.628 42.304 2654
+-112.502 42.304 2559
+-112.376 42.304 2481
+-112.25 42.304 2415
+-112.124 42.304 2379
+-111.998 42.304 2369
+-111.872 42.304 2381
+-111.746 42.304 2396
+-111.62 42.304 2427
+-111.494 42.304 2467
+-111.368 42.304 2473
+-111.242 42.304 2514
+-111.116 42.304 2533
+-110.99 42.304 2567
+-110.864 42.304 2598
+-110.738 42.304 2626
+-110.612 42.304 2651
+-110.486 42.304 2689
+-110.36 42.304 2711
+-110.234 42.304 2732
+-110.108 42.304 2751
+-109.982 42.304 2768
+-109.856 42.304 2784
+-109.73 42.304 2798
+-109.604 42.304 2812
+-109.478 42.304 2824
+-109.352 42.304 2734
+-109.226 42.304 2742
+-109.1 42.304 2749
+-108.974 42.304 2756
+-108.848 42.304 2763
+-108.722 42.304 2731
+-108.596 42.304 2597
+-108.47 42.304 2600
+-108.344 42.304 2603
+-108.218 42.304 2618
+-108.092 42.304 2621
+-107.966 42.304 2609
+-107.84 42.304 2613
+-107.714 42.304 2617
+-107.588 42.304 2621
+-107.462 42.304 2625
+-107.336 42.304 2628
+-107.21 42.304 2632
+-107.084 42.304 2702
+-106.958 42.304 2636
+-106.832 42.304 2620
+-106.706 42.304 2617
+-106.58 42.304 2621
+-106.454 42.304 2624
+-106.328 42.304 2628
+-106.202 42.304 2631
+-106.076 42.304 2490
+-105.95 42.304 2316
+-105.824 42.304 2306
+-105.698 42.304 2295
+-105.572 42.304 2284
+-105.446 42.304 2272
+-105.32 42.304 2259
+-105.194 42.304 2087
+-105.068 42.304 2074
+-104.942 42.304 1961
+-104.816 42.304 1953
+-104.69 42.304 1985
+-104.564 42.304 1942
+-104.438 42.304 1937
+-104.312 42.304 1897
+-104.186 42.304 1849
+-104.06 42.304 1913
+-103.934 42.304 1934
+-103.808 42.304 2073
+-103.682 42.304 2179
+-103.556 42.304 2175
+-103.43 42.304 2219
+-103.304 42.304 2352
+-103.178 42.304 2344
+-103.052 42.304 2335
+-102.926 42.304 2326
+-102.8 42.304 2327
+-102.674 42.304 2332
+-102.548 42.304 2357
+-102.422 42.304 2348
+-102.296 42.304 2338
+-102.17 42.304 2327
+-102.044 42.304 2357
+-101.918 42.304 2345
+-101.792 42.304 2331
+-101.666 42.304 2318
+-101.54 42.304 2303
+-101.414 42.304 2287
+-101.288 42.304 2270
+-101.162 42.304 2281
+-101.036 42.304 2310
+-100.91 42.304 2291
+-100.784 42.304 2269
+-100.658 42.304 2247
+-100.532 42.304 2222
+-100.406 42.304 2195
+-100.28 42.304 2166
+-100.154 42.304 2143
+-100.028 42.304 2146
+-99.902 42.304 2121
+-99.776 42.304 2109
+-99.65 42.304 2067
+-99.524 42.304 2021
+-99.398 42.304 1975
+-99.272 42.304 1927
+-99.146 42.304 1881
+-99.02 42.304 1839
+-98.894 42.304 1802
+-98.768 42.304 1825
+-98.642 42.304 1894
+-98.516 42.304 1901
+-98.39 42.304 1929
+-98.264 42.304 1978
+-98.138 42.304 2052
+-98.012 42.304 2148
+-97.886 42.304 2251
+-97.76 42.304 2348
+-97.634 42.304 2465
+-97.508 42.304 2555
+-97.382 42.304 2636
+-97.256 42.304 2709
+-97.13 42.304 2774
+-97.004 42.304 2832
+-96.878 42.304 2883
+-96.752 42.304 2928
+-96.626 42.304 3005
+-96.5 42.304 3044
+-96.374 42.304 3080
+-96.248 42.304 3115
+-96.122 42.304 3159
+-95.996 42.304 3289
+-95.87 42.304 3326
+-95.744 42.304 3356
+-95.618 42.304 3461
+-95.492 42.304 3483
+-95.366 42.304 3503
+-95.24 42.304 3520
+-95.114 42.304 3572
+-94.988 42.304 3574
+-94.862 42.304 3576
+-94.736 42.304 3586
+-94.61 42.304 3570
+-94.484 42.304 3616
+-94.358 42.304 3751
+-94.232 42.304 3902
+-94.106 42.304 4043
+-93.98 42.304 4203
+-93.854 42.304 4312
+-93.728 42.304 4457
+-93.602 42.304 4535
+-93.476 42.304 4553
+-93.35 42.304 4632
+-93.224 42.304 4682
+-93.098 42.304 4689
+-92.972 42.304 4757
+-92.846 42.304 4853
+-92.72 42.304 4918
+-92.594 42.304 4940
+-92.468 42.304 5024
+-92.342 42.304 5134
+-92.216 42.304 5227
+-92.09 42.304 5293
+-91.964 42.304 5330
+-91.838 42.304 5326
+-91.712 42.304 5379
+-91.586 42.304 5432
+-91.46 42.304 5475
+-91.334 42.304 5525
+-91.208 42.304 5560
+-91.082 42.304 5589
+-90.956 42.304 5616
+-90.83 42.304 5637
+-90.704 42.304 5639
+-90.578 42.304 5609
+-90.452 42.304 5646
+-90.326 42.304 5644
+-90.2 42.304 5604
+-90.074 42.304 5618
+-89.948 42.304 5604
+-89.822 42.304 5590
+-89.696 42.304 5540
+-89.57 42.304 5517
+-89.444 42.304 5490
+-89.318 42.304 5429
+-89.192 42.304 5392
+-89.066 42.304 5320
+-88.94 42.304 5279
+-88.814 42.304 5202
+-88.688 42.304 5166
+-88.562 42.304 5144
+-88.436 42.304 5091
+-88.31 42.304 4986
+-88.184 42.304 4867
+-88.058 42.304 4812
+-87.932 42.304 4729
+-87.806 42.304 4690
+-87.68 42.304 4569
+-87.554 42.304 4548
+-87.428 42.304 4485
+-87.302 42.304 4443
+-87.176 42.304 4388
+-87.05 42.304 4338
+-86.924 42.304 4301
+-86.798 42.304 4234
+-86.672 42.304 4164
+-86.546 42.304 4047
+-86.42 42.304 3959
+-86.294 42.304 3888
+-86.168 42.304 3807
+-86.042 42.304 3733
+-85.916 42.304 3675
+-85.79 42.304 3650
+-85.664 42.304 3609
+-85.538 42.304 3566
+-85.412 42.304 3529
+-85.286 42.304 3480
+-85.16 42.304 3458
+-85.034 42.304 3433
+-84.908 42.304 3370
+-84.782 42.304 3314
+-84.656 42.304 3201
+-84.53 42.304 3067
+-84.404 42.304 2892
+-84.278 42.304 2748
+-84.152 42.304 2660
+-84.026 42.304 2679
+-83.9 42.304 2753
+-83.774 42.304 2836
+-83.648 42.304 2908
+-83.522 42.304 2963
+-83.396 42.304 3006
+-83.27 42.304 3079
+-83.144 42.304 3110
+-83.018 42.304 3135
+-82.892 42.304 3155
+-82.766 42.304 3132
+-82.64 42.304 3166
+-82.514 42.304 3181
+-82.388 42.304 3141
+-82.262 42.304 3190
+-82.136 42.304 3201
+-82.01 42.304 3201
+-81.884 42.304 3247
+-81.758 42.304 3215
+-81.632 42.304 3219
+-81.506 42.304 3226
+-81.38 42.304 3283
+-81.254 42.304 3253
+-81.128 42.304 3261
+-81.002 42.304 3358
+-80.876 42.304 3347
+-80.75 42.304 3354
+-80.624 42.304 3319
+-80.498 42.304 3380
+-80.372 42.304 3384
+-80.246 42.304 3390
+-80.12 42.304 3395
+-79.994 42.304 3400
+-79.868 42.304 3400
+-79.742 42.304 3404
+-79.616 42.304 3409
+-79.49 42.304 3399
+-79.364 42.304 3359
+-79.238 42.304 3356
+-79.112 42.304 3359
+-78.986 42.304 3362
+-78.86 42.304 3365
+-78.734 42.304 3368
+-78.608 42.304 3371
+-78.482 42.304 3373
+-78.356 42.304 3376
+-78.23 42.304 3378
+-78.104 42.304 3380
+-77.978 42.304 3382
+-77.852 42.304 3384
+-77.726 42.304 3386
+-77.6 42.304 3388
+-77.474 42.304 3390
+-77.348 42.304 3474
+-77.222 42.304 3476
+-77.096 42.304 3465
+-76.97 42.304 3467
+-76.844 42.304 3469
+-76.718 42.304 3470
+-76.592 42.304 3472
+-76.466 42.304 3474
+-76.34 42.304 3475
+-76.214 42.304 3477
+-76.088 42.304 3479
+-75.962 42.304 3480
+-75.836 42.304 3481
+-75.71 42.304 3508
+-75.584 42.304 3510
+-75.458 42.304 3512
+-75.332 42.304 3514
+-75.206 42.304 3515
+-75.08 42.304 3517
+-74.954 42.304 3483
+-74.828 42.304 3484
+-74.702 42.304 3486
+-74.576 42.304 3487
+-74.45 42.304 3515
+-74.324 42.304 3517
+-74.198 42.304 3518
+-74.072 42.304 3478
+-73.946 42.304 3479
+-73.82 42.304 3481
+-73.694 42.304 3610
+-73.568 42.304 3611
+-73.442 42.304 3611
+-73.316 42.304 3612
+-73.19 42.304 3613
+-73.064 42.304 3552
+-72.938 42.304 3553
+-72.812 42.304 3553
+-72.686 42.304 3554
+-72.56 42.304 3554
+-72.434 42.304 3554
+-72.308 42.304 3555
+-72.182 42.304 3555
+-72.056 42.304 3556
+-71.93 42.304 3556
+-71.804 42.304 3535
+-71.678 42.304 3524
+-71.552 42.304 3524
+-71.426 42.304 3525
+-71.3 42.304 3525
+-71.174 42.304 3525
+-71.048 42.304 3508
+-70.922 42.304 3508
+-70.796 42.304 3509
+-70.67 42.304 3509
+-70.544 42.304 3509
+-70.418 42.304 3510
+-70.292 42.304 3510
+-70.166 42.304 3510
+-70.04 42.304 3511
+-69.914 42.304 3458
+-69.788 42.304 3458
+-69.662 42.304 3459
+-69.536 42.304 3459
+-69.41 42.304 3459
+-69.284 42.304 3459
+-69.158 42.304 3460
+-69.032 42.304 3460
+-68.906 42.304 3460
+-68.78 42.304 3460
+-68.654 42.304 3460
+-68.528 42.304 3461
+-68.402 42.304 3461
+-68.276 42.304 3382
+-68.15 42.304 3382
+-68.024 42.304 3382
+-67.898 42.304 3382
+-67.772 42.304 3382
+-67.646 42.304 3382
+-67.52 42.304 3381
+-67.394 42.304 3381
+-67.268 42.304 3381
+-67.142 42.304 3381
+-67.016 42.304 3381
+-66.89 42.304 3381
+-66.764 42.304 3381
+-66.638 42.304 3381
+-66.512 42.304 3381
+-66.386 42.304 3380
+-66.26 42.304 3380
+-66.134 42.304 3380
+-66.008 42.304 3380
+-65.882 42.304 3380
+-65.756 42.304 3380
+-65.63 42.304 3380
+-65.504 42.304 3380
+-65.378 42.304 3380
+-65.252 42.304 3380
+-65.126 42.304 3066
+-128 42.252 2336
+-127.874 42.252 2408
+-127.748 42.252 2561
+-127.622 42.252 2762
+-127.496 42.252 2935
+-127.37 42.252 3063
+-127.244 42.252 3148
+-127.118 42.252 3229
+-126.992 42.252 3247
+-126.866 42.252 3246
+-126.74 42.252 3244
+-126.614 42.252 3253
+-126.488 42.252 3340
+-126.362 42.252 3430
+-126.236 42.252 3553
+-126.11 42.252 3644
+-125.984 42.252 3756
+-125.858 42.252 3785
+-125.732 42.252 3819
+-125.606 42.252 3845
+-125.48 42.252 3865
+-125.354 42.252 3902
+-125.228 42.252 3896
+-125.102 42.252 3878
+-124.976 42.252 3947
+-124.85 42.252 4038
+-124.724 42.252 4107
+-124.598 42.252 4160
+-124.472 42.252 4180
+-124.346 42.252 4206
+-124.22 42.252 4238
+-124.094 42.252 4249
+-123.968 42.252 4255
+-123.842 42.252 4282
+-123.716 42.252 4320
+-123.59 42.252 4380
+-123.464 42.252 4401
+-123.338 42.252 4410
+-123.212 42.252 4430
+-123.086 42.252 4446
+-122.96 42.252 4456
+-122.834 42.252 4461
+-122.708 42.252 4461
+-122.582 42.252 4457
+-122.456 42.252 4460
+-122.33 42.252 4431
+-122.204 42.252 4405
+-122.078 42.252 4377
+-121.952 42.252 4332
+-121.826 42.252 4288
+-121.7 42.252 4250
+-121.574 42.252 4204
+-121.448 42.252 4163
+-121.322 42.252 4141
+-121.196 42.252 4199
+-121.07 42.252 4306
+-120.944 42.252 4401
+-120.818 42.252 4485
+-120.692 42.252 4537
+-120.566 42.252 4575
+-120.44 42.252 4649
+-120.314 42.252 4721
+-120.188 42.252 4740
+-120.062 42.252 4779
+-119.936 42.252 4853
+-119.81 42.252 4908
+-119.684 42.252 4906
+-119.558 42.252 4939
+-119.432 42.252 4967
+-119.306 42.252 5007
+-119.18 42.252 5042
+-119.054 42.252 5061
+-118.928 42.252 5102
+-118.802 42.252 5141
+-118.676 42.252 5150
+-118.55 42.252 5155
+-118.424 42.252 5145
+-118.298 42.252 5157
+-118.172 42.252 5165
+-118.046 42.252 5145
+-117.92 42.252 5151
+-117.794 42.252 5117
+-117.668 42.252 5063
+-117.542 42.252 5039
+-117.416 42.252 5028
+-117.29 42.252 4991
+-117.164 42.252 4961
+-117.038 42.252 4936
+-116.912 42.252 4894
+-116.786 42.252 4797
+-116.66 42.252 4745
+-116.534 42.252 4655
+-116.408 42.252 4600
+-116.282 42.252 4568
+-116.156 42.252 4545
+-116.03 42.252 4486
+-115.904 42.252 4478
+-115.778 42.252 4411
+-115.652 42.252 4346
+-115.526 42.252 4279
+-115.4 42.252 4251
+-115.274 42.252 4174
+-115.148 42.252 4010
+-115.022 42.252 3843
+-114.896 42.252 3801
+-114.77 42.252 3807
+-114.644 42.252 3801
+-114.518 42.252 3773
+-114.392 42.252 3731
+-114.266 42.252 3655
+-114.14 42.252 3609
+-114.014 42.252 3504
+-113.888 42.252 3401
+-113.762 42.252 3341
+-113.636 42.252 3286
+-113.51 42.252 3199
+-113.384 42.252 3155
+-113.258 42.252 3104
+-113.132 42.252 3032
+-113.006 42.252 2965
+-112.88 42.252 2891
+-112.754 42.252 2796
+-112.628 42.252 2733
+-112.502 42.252 2643
+-112.376 42.252 2574
+-112.25 42.252 2524
+-112.124 42.252 2484
+-111.998 42.252 2469
+-111.872 42.252 2473
+-111.746 42.252 2487
+-111.62 42.252 2477
+-111.494 42.252 2469
+-111.368 42.252 2460
+-111.242 42.252 2489
+-111.116 42.252 2549
+-110.99 42.252 2578
+-110.864 42.252 2605
+-110.738 42.252 2629
+-110.612 42.252 2652
+-110.486 42.252 2673
+-110.36 42.252 2707
+-110.234 42.252 2727
+-110.108 42.252 2745
+-109.982 42.252 2761
+-109.856 42.252 2777
+-109.73 42.252 2791
+-109.604 42.252 2804
+-109.478 42.252 2715
+-109.352 42.252 2724
+-109.226 42.252 2732
+-109.1 42.252 2739
+-108.974 42.252 2746
+-108.848 42.252 2638
+-108.722 42.252 2619
+-108.596 42.252 2614
+-108.47 42.252 2588
+-108.344 42.252 2591
+-108.218 42.252 2594
+-108.092 42.252 2608
+-107.966 42.252 2612
+-107.84 42.252 2600
+-107.714 42.252 2604
+-107.588 42.252 2608
+-107.462 42.252 2612
+-107.336 42.252 2616
+-107.21 42.252 2619
+-107.084 42.252 2623
+-106.958 42.252 2692
+-106.832 42.252 2626
+-106.706 42.252 2611
+-106.58 42.252 2608
+-106.454 42.252 2612
+-106.328 42.252 2616
+-106.202 42.252 2619
+-106.076 42.252 2477
+-105.95 42.252 2303
+-105.824 42.252 2293
+-105.698 42.252 2283
+-105.572 42.252 2271
+-105.446 42.252 2260
+-105.32 42.252 2247
+-105.194 42.252 2076
+-105.068 42.252 2064
+-104.942 42.252 1952
+-104.816 42.252 1892
+-104.69 42.252 1935
+-104.564 42.252 1892
+-104.438 42.252 1932
+-104.312 42.252 1895
+-104.186 42.252 1809
+-104.06 42.252 1933
+-103.934 42.252 1934
+-103.808 42.252 2073
+-103.682 42.252 2143
+-103.556 42.252 2175
+-103.43 42.252 2260
+-103.304 42.252 2351
+-103.178 42.252 2343
+-103.052 42.252 2334
+-102.926 42.252 2325
+-102.8 42.252 2316
+-102.674 42.252 2316
+-102.548 42.252 2320
+-102.422 42.252 2345
+-102.296 42.252 2335
+-102.17 42.252 2324
+-102.044 42.252 2313
+-101.918 42.252 2341
+-101.792 42.252 2328
+-101.666 42.252 2313
+-101.54 42.252 2298
+-101.414 42.252 2282
+-101.288 42.252 2264
+-101.162 42.252 2245
+-101.036 42.252 2255
+-100.91 42.252 2281
+-100.784 42.252 2258
+-100.658 42.252 2234
+-100.532 42.252 2207
+-100.406 42.252 2178
+-100.28 42.252 2147
+-100.154 42.252 2112
+-100.028 42.252 2082
+-99.902 42.252 2076
+-99.776 42.252 2043
+-99.65 42.252 2020
+-99.524 42.252 1966
+-99.398 42.252 1908
+-99.272 42.252 1849
+-99.146 42.252 1789
+-99.02 42.252 1732
+-98.894 42.252 1680
+-98.768 42.252 1639
+-98.642 42.252 1664
+-98.516 42.252 1733
+-98.39 42.252 1760
+-98.264 42.252 1815
+-98.138 42.252 1897
+-98.012 42.252 2005
+-97.886 42.252 2132
+-97.76 42.252 2260
+-97.634 42.252 2376
+-97.508 42.252 2506
+-97.382 42.252 2603
+-97.256 42.252 2682
+-97.13 42.252 2756
+-97.004 42.252 2821
+-96.878 42.252 2878
+-96.752 42.252 2929
+-96.626 42.252 2975
+-96.5 42.252 3055
+-96.374 42.252 3095
+-96.248 42.252 3134
+-96.122 42.252 3171
+-95.996 42.252 3315
+-95.87 42.252 3403
+-95.744 42.252 3437
+-95.618 42.252 3465
+-95.492 42.252 3507
+-95.366 42.252 3528
+-95.24 42.252 3594
+-95.114 42.252 3608
+-94.988 42.252 3648
+-94.862 42.252 3646
+-94.736 42.252 3647
+-94.61 42.252 3698
+-94.484 42.252 3755
+-94.358 42.252 3846
+-94.232 42.252 3978
+-94.106 42.252 4146
+-93.98 42.252 4293
+-93.854 42.252 4386
+-93.728 42.252 4512
+-93.602 42.252 4529
+-93.476 42.252 4465
+-93.35 42.252 4620
+-93.224 42.252 4618
+-93.098 42.252 4738
+-92.972 42.252 4805
+-92.846 42.252 4890
+-92.72 42.252 4959
+-92.594 42.252 5012
+-92.468 42.252 5085
+-92.342 42.252 5172
+-92.216 42.252 5275
+-92.09 42.252 5336
+-91.964 42.252 5375
+-91.838 42.252 5383
+-91.712 42.252 5429
+-91.586 42.252 5457
+-91.46 42.252 5514
+-91.334 42.252 5535
+-91.208 42.252 5599
+-91.082 42.252 5604
+-90.956 42.252 5642
+-90.83 42.252 5625
+-90.704 42.252 5685
+-90.578 42.252 5686
+-90.452 42.252 5688
+-90.326 42.252 5656
+-90.2 42.252 5665
+-90.074 42.252 5659
+-89.948 42.252 5645
+-89.822 42.252 5641
+-89.696 42.252 5600
+-89.57 42.252 5535
+-89.444 42.252 5531
+-89.318 42.252 5473
+-89.192 42.252 5426
+-89.066 42.252 5388
+-88.94 42.252 5342
+-88.814 42.252 5286
+-88.688 42.252 5219
+-88.562 42.252 5166
+-88.436 42.252 5111
+-88.31 42.252 5029
+-88.184 42.252 4922
+-88.058 42.252 4876
+-87.932 42.252 4799
+-87.806 42.252 4691
+-87.68 42.252 4621
+-87.554 42.252 4578
+-87.428 42.252 4511
+-87.302 42.252 4462
+-87.176 42.252 4391
+-87.05 42.252 4345
+-86.924 42.252 4312
+-86.798 42.252 4276
+-86.672 42.252 4215
+-86.546 42.252 4102
+-86.42 42.252 3999
+-86.294 42.252 3960
+-86.168 42.252 3891
+-86.042 42.252 3818
+-85.916 42.252 3759
+-85.79 42.252 3703
+-85.664 42.252 3666
+-85.538 42.252 3608
+-85.412 42.252 3551
+-85.286 42.252 3519
+-85.16 42.252 3494
+-85.034 42.252 3484
+-84.908 42.252 3437
+-84.782 42.252 3378
+-84.656 42.252 3271
+-84.53 42.252 3176
+-84.404 42.252 3061
+-84.278 42.252 2937
+-84.152 42.252 2869
+-84.026 42.252 2862
+-83.9 42.252 2896
+-83.774 42.252 2944
+-83.648 42.252 2992
+-83.522 42.252 3034
+-83.396 42.252 3082
+-83.27 42.252 3112
+-83.144 42.252 3137
+-83.018 42.252 3158
+-82.892 42.252 3135
+-82.766 42.252 3170
+-82.64 42.252 3185
+-82.514 42.252 3145
+-82.388 42.252 3194
+-82.262 42.252 3205
+-82.136 42.252 3206
+-82.01 42.252 3251
+-81.884 42.252 3219
+-81.758 42.252 3223
+-81.632 42.252 3230
+-81.506 42.252 3285
+-81.38 42.252 3257
+-81.254 42.252 3264
+-81.128 42.252 3359
+-81.002 42.252 3349
+-80.876 42.252 3356
+-80.75 42.252 3321
+-80.624 42.252 3381
+-80.498 42.252 3385
+-80.372 42.252 3391
+-80.246 42.252 3397
+-80.12 42.252 3402
+-79.994 42.252 3401
+-79.868 42.252 3405
+-79.742 42.252 3410
+-79.616 42.252 3400
+-79.49 42.252 3360
+-79.364 42.252 3357
+-79.238 42.252 3360
+-79.112 42.252 3364
+-78.986 42.252 3367
+-78.86 42.252 3369
+-78.734 42.252 3372
+-78.608 42.252 3375
+-78.482 42.252 3377
+-78.356 42.252 3379
+-78.23 42.252 3381
+-78.104 42.252 3384
+-77.978 42.252 3386
+-77.852 42.252 3387
+-77.726 42.252 3389
+-77.6 42.252 3391
+-77.474 42.252 3473
+-77.348 42.252 3475
+-77.222 42.252 3465
+-77.096 42.252 3466
+-76.97 42.252 3468
+-76.844 42.252 3470
+-76.718 42.252 3472
+-76.592 42.252 3474
+-76.466 42.252 3475
+-76.34 42.252 3477
+-76.214 42.252 3479
+-76.088 42.252 3480
+-75.962 42.252 3481
+-75.836 42.252 3508
+-75.71 42.252 3510
+-75.584 42.252 3512
+-75.458 42.252 3513
+-75.332 42.252 3515
+-75.206 42.252 3517
+-75.08 42.252 3483
+-74.954 42.252 3484
+-74.828 42.252 3486
+-74.702 42.252 3487
+-74.576 42.252 3515
+-74.45 42.252 3516
+-74.324 42.252 3518
+-74.198 42.252 3478
+-74.072 42.252 3479
+-73.946 42.252 3481
+-73.82 42.252 3609
+-73.694 42.252 3610
+-73.568 42.252 3611
+-73.442 42.252 3612
+-73.316 42.252 3612
+-73.19 42.252 3552
+-73.064 42.252 3552
+-72.938 42.252 3553
+-72.812 42.252 3553
+-72.686 42.252 3554
+-72.56 42.252 3554
+-72.434 42.252 3555
+-72.308 42.252 3555
+-72.182 42.252 3555
+-72.056 42.252 3556
+-71.93 42.252 3535
+-71.804 42.252 3523
+-71.678 42.252 3524
+-71.552 42.252 3524
+-71.426 42.252 3525
+-71.3 42.252 3525
+-71.174 42.252 3526
+-71.048 42.252 3508
+-70.922 42.252 3509
+-70.796 42.252 3509
+-70.67 42.252 3509
+-70.544 42.252 3510
+-70.418 42.252 3510
+-70.292 42.252 3510
+-70.166 42.252 3510
+-70.04 42.252 3458
+-69.914 42.252 3458
+-69.788 42.252 3458
+-69.662 42.252 3459
+-69.536 42.252 3459
+-69.41 42.252 3459
+-69.284 42.252 3459
+-69.158 42.252 3460
+-69.032 42.252 3460
+-68.906 42.252 3460
+-68.78 42.252 3460
+-68.654 42.252 3460
+-68.528 42.252 3461
+-68.402 42.252 3382
+-68.276 42.252 3382
+-68.15 42.252 3382
+-68.024 42.252 3382
+-67.898 42.252 3382
+-67.772 42.252 3382
+-67.646 42.252 3381
+-67.52 42.252 3381
+-67.394 42.252 3381
+-67.268 42.252 3381
+-67.142 42.252 3381
+-67.016 42.252 3381
+-66.89 42.252 3381
+-66.764 42.252 3381
+-66.638 42.252 3381
+-66.512 42.252 3380
+-66.386 42.252 3380
+-66.26 42.252 3380
+-66.134 42.252 3380
+-66.008 42.252 3380
+-65.882 42.252 3380
+-65.756 42.252 3380
+-65.63 42.252 3380
+-65.504 42.252 3380
+-65.378 42.252 3380
+-65.252 42.252 3067
+-65.126 42.252 3066
+-128 42.2 2528
+-127.874 42.2 2584
+-127.748 42.2 2712
+-127.622 42.2 2851
+-127.496 42.2 2977
+-127.37 42.2 3075
+-127.244 42.2 3139
+-127.118 42.2 3167
+-126.992 42.2 3163
+-126.866 42.2 3157
+-126.74 42.2 3106
+-126.614 42.2 3097
+-126.488 42.2 3158
+-126.362 42.2 3296
+-126.236 42.2 3438
+-126.11 42.2 3599
+-125.984 42.2 3705
+-125.858 42.2 3775
+-125.732 42.2 3802
+-125.606 42.2 3837
+-125.48 42.2 3857
+-125.354 42.2 3875
+-125.228 42.2 3850
+-125.102 42.2 3811
+-124.976 42.2 3886
+-124.85 42.2 3997
+-124.724 42.2 4067
+-124.598 42.2 4090
+-124.472 42.2 4098
+-124.346 42.2 4138
+-124.22 42.2 4192
+-124.094 42.2 4205
+-123.968 42.2 4204
+-123.842 42.2 4228
+-123.716 42.2 4261
+-123.59 42.2 4295
+-123.464 42.2 4332
+-123.338 42.2 4341
+-123.212 42.2 4357
+-123.086 42.2 4364
+-122.96 42.2 4392
+-122.834 42.2 4403
+-122.708 42.2 4407
+-122.582 42.2 4394
+-122.456 42.2 4384
+-122.33 42.2 4342
+-122.204 42.2 4319
+-122.078 42.2 4264
+-121.952 42.2 4214
+-121.826 42.2 4173
+-121.7 42.2 4134
+-121.574 42.2 4138
+-121.448 42.2 4093
+-121.322 42.2 4032
+-121.196 42.2 4121
+-121.07 42.2 4228
+-120.944 42.2 4318
+-120.818 42.2 4425
+-120.692 42.2 4478
+-120.566 42.2 4531
+-120.44 42.2 4621
+-120.314 42.2 4683
+-120.188 42.2 4715
+-120.062 42.2 4721
+-119.936 42.2 4771
+-119.81 42.2 4859
+-119.684 42.2 4900
+-119.558 42.2 4922
+-119.432 42.2 4958
+-119.306 42.2 4984
+-119.18 42.2 5000
+-119.054 42.2 5018
+-118.928 42.2 5028
+-118.802 42.2 5067
+-118.676 42.2 5114
+-118.55 42.2 5117
+-118.424 42.2 5084
+-118.298 42.2 5116
+-118.172 42.2 5118
+-118.046 42.2 5125
+-117.92 42.2 5098
+-117.794 42.2 5049
+-117.668 42.2 5007
+-117.542 42.2 5003
+-117.416 42.2 4958
+-117.29 42.2 4934
+-117.164 42.2 4927
+-117.038 42.2 4894
+-116.912 42.2 4831
+-116.786 42.2 4752
+-116.66 42.2 4689
+-116.534 42.2 4598
+-116.408 42.2 4557
+-116.282 42.2 4504
+-116.156 42.2 4471
+-116.03 42.2 4457
+-115.904 42.2 4419
+-115.778 42.2 4372
+-115.652 42.2 4320
+-115.526 42.2 4280
+-115.4 42.2 4215
+-115.274 42.2 4124
+-115.148 42.2 3966
+-115.022 42.2 3809
+-114.896 42.2 3728
+-114.77 42.2 3777
+-114.644 42.2 3769
+-114.518 42.2 3733
+-114.392 42.2 3687
+-114.266 42.2 3630
+-114.14 42.2 3602
+-114.014 42.2 3506
+-113.888 42.2 3404
+-113.762 42.2 3305
+-113.636 42.2 3236
+-113.51 42.2 3175
+-113.384 42.2 3143
+-113.258 42.2 3097
+-113.132 42.2 3045
+-113.006 42.2 2975
+-112.88 42.2 2914
+-112.754 42.2 2850
+-112.628 42.2 2773
+-112.502 42.2 2722
+-112.376 42.2 2632
+-112.25 42.2 2603
+-112.124 42.2 2573
+-111.998 42.2 2508
+-111.872 42.2 2474
+-111.746 42.2 2479
+-111.62 42.2 2480
+-111.494 42.2 2497
+-111.368 42.2 2498
+-111.242 42.2 2509
+-111.116 42.2 2532
+-110.99 42.2 2554
+-110.864 42.2 2611
+-110.738 42.2 2633
+-110.612 42.2 2653
+-110.486 42.2 2673
+-110.36 42.2 2691
+-110.234 42.2 2723
+-110.108 42.2 2740
+-109.982 42.2 2755
+-109.856 42.2 2770
+-109.73 42.2 2784
+-109.604 42.2 2695
+-109.478 42.2 2705
+-109.352 42.2 2714
+-109.226 42.2 2722
+-109.1 42.2 2729
+-108.974 42.2 2622
+-108.848 42.2 2625
+-108.722 42.2 2606
+-108.596 42.2 2610
+-108.47 42.2 2605
+-108.344 42.2 2579
+-108.218 42.2 2582
+-108.092 42.2 2584
+-107.966 42.2 2599
+-107.84 42.2 2603
+-107.714 42.2 2591
+-107.588 42.2 2595
+-107.462 42.2 2599
+-107.336 42.2 2603
+-107.21 42.2 2607
+-107.084 42.2 2611
+-106.958 42.2 2614
+-106.832 42.2 2683
+-106.706 42.2 2618
+-106.58 42.2 2602
+-106.454 42.2 2599
+-106.328 42.2 2603
+-106.202 42.2 2607
+-106.076 42.2 2465
+-105.95 42.2 2290
+-105.824 42.2 2280
+-105.698 42.2 2270
+-105.572 42.2 2259
+-105.446 42.2 2247
+-105.32 42.2 2235
+-105.194 42.2 2065
+-105.068 42.2 2009
+-104.942 42.2 1901
+-104.816 42.2 1885
+-104.69 42.2 1928
+-104.564 42.2 1879
+-104.438 42.2 1882
+-104.312 42.2 1849
+-104.186 42.2 1909
+-104.06 42.2 1873
+-103.934 42.2 1873
+-103.808 42.2 2073
+-103.682 42.2 2143
+-103.556 42.2 2138
+-103.43 42.2 2309
+-103.304 42.2 2351
+-103.178 42.2 2342
+-103.052 42.2 2333
+-102.926 42.2 2324
+-102.8 42.2 2315
+-102.674 42.2 2304
+-102.548 42.2 2304
+-102.422 42.2 2307
+-102.296 42.2 2333
+-102.17 42.2 2322
+-102.044 42.2 2310
+-101.918 42.2 2298
+-101.792 42.2 2324
+-101.666 42.2 2310
+-101.54 42.2 2294
+-101.414 42.2 2277
+-101.288 42.2 2259
+-101.162 42.2 2239
+-101.036 42.2 2218
+-100.91 42.2 2226
+-100.784 42.2 2248
+-100.658 42.2 2223
+-100.532 42.2 2194
+-100.406 42.2 2163
+-100.28 42.2 2129
+-100.154 42.2 2091
+-100.028 42.2 2049
+-99.902 42.2 2011
+-99.776 42.2 1992
+-99.65 42.2 1949
+-99.524 42.2 1910
+-99.398 42.2 1842
+-99.272 42.2 1768
+-99.146 42.2 1692
+-99.02 42.2 1617
+-98.894 42.2 1545
+-98.768 42.2 1485
+-98.642 42.2 1443
+-98.516 42.2 1477
+-98.39 42.2 1558
+-98.264 42.2 1620
+-98.138 42.2 1719
+-98.012 42.2 1845
+-97.886 42.2 1993
+-97.76 42.2 2151
+-97.634 42.2 2301
+-97.508 42.2 2429
+-97.382 42.2 2565
+-97.256 42.2 2663
+-97.13 42.2 2735
+-97.004 42.2 2807
+-96.878 42.2 2869
+-96.752 42.2 2925
+-96.626 42.2 2975
+-96.5 42.2 3088
+-96.374 42.2 3133
+-96.248 42.2 3173
+-96.122 42.2 3212
+-95.996 42.2 3356
+-95.87 42.2 3419
+-95.744 42.2 3440
+-95.618 42.2 3475
+-95.492 42.2 3503
+-95.366 42.2 3595
+-95.24 42.2 3612
+-95.114 42.2 3628
+-94.988 42.2 3682
+-94.862 42.2 3735
+-94.736 42.2 3745
+-94.61 42.2 3774
+-94.484 42.2 3848
+-94.358 42.2 3931
+-94.232 42.2 4097
+-94.106 42.2 4231
+-93.98 42.2 4363
+-93.854 42.2 4460
+-93.728 42.2 4530
+-93.602 42.2 4576
+-93.476 42.2 4606
+-93.35 42.2 4684
+-93.224 42.2 4743
+-93.098 42.2 4805
+-92.972 42.2 4853
+-92.846 42.2 4929
+-92.72 42.2 5010
+-92.594 42.2 5071
+-92.468 42.2 5123
+-92.342 42.2 5195
+-92.216 42.2 5314
+-92.09 42.2 5347
+-91.964 42.2 5419
+-91.838 42.2 5463
+-91.712 42.2 5480
+-91.586 42.2 5504
+-91.46 42.2 5562
+-91.334 42.2 5610
+-91.208 42.2 5651
+-91.082 42.2 5659
+-90.956 42.2 5685
+-90.83 42.2 5720
+-90.704 42.2 5744
+-90.578 42.2 5711
+-90.452 42.2 5735
+-90.326 42.2 5733
+-90.2 42.2 5731
+-90.074 42.2 5724
+-89.948 42.2 5687
+-89.822 42.2 5679
+-89.696 42.2 5638
+-89.57 42.2 5620
+-89.444 42.2 5584
+-89.318 42.2 5535
+-89.192 42.2 5498
+-89.066 42.2 5452
+-88.94 42.2 5403
+-88.814 42.2 5366
+-88.688 42.2 5310
+-88.562 42.2 5238
+-88.436 42.2 5175
+-88.31 42.2 5084
+-88.184 42.2 5004
+-88.058 42.2 4937
+-87.932 42.2 4857
+-87.806 42.2 4768
+-87.68 42.2 4697
+-87.554 42.2 4644
+-87.428 42.2 4539
+-87.302 42.2 4471
+-87.176 42.2 4393
+-87.05 42.2 4319
+-86.924 42.2 4309
+-86.798 42.2 4273
+-86.672 42.2 4242
+-86.546 42.2 4131
+-86.42 42.2 4022
+-86.294 42.2 4003
+-86.168 42.2 3940
+-86.042 42.2 3879
+-85.916 42.2 3828
+-85.79 42.2 3775
+-85.664 42.2 3726
+-85.538 42.2 3654
+-85.412 42.2 3536
+-85.286 42.2 3473
+-85.16 42.2 3483
+-85.034 42.2 3507
+-84.908 42.2 3486
+-84.782 42.2 3463
+-84.656 42.2 3365
+-84.53 42.2 3293
+-84.404 42.2 3181
+-84.278 42.2 3106
+-84.152 42.2 3033
+-84.026 42.2 3007
+-83.9 42.2 3012
+-83.774 42.2 3033
+-83.648 42.2 3058
+-83.522 42.2 3099
+-83.396 42.2 3125
+-83.27 42.2 3147
+-83.144 42.2 3167
+-83.018 42.2 3142
+-82.892 42.2 3176
+-82.766 42.2 3191
+-82.64 42.2 3151
+-82.514 42.2 3200
+-82.388 42.2 3211
+-82.262 42.2 3211
+-82.136 42.2 3256
+-82.01 42.2 3225
+-81.884 42.2 3228
+-81.758 42.2 3236
+-81.632 42.2 3289
+-81.506 42.2 3260
+-81.38 42.2 3268
+-81.254 42.2 3362
+-81.128 42.2 3351
+-81.002 42.2 3359
+-80.876 42.2 3324
+-80.75 42.2 3383
+-80.624 42.2 3387
+-80.498 42.2 3393
+-80.372 42.2 3398
+-80.246 42.2 3403
+-80.12 42.2 3402
+-79.994 42.2 3407
+-79.868 42.2 3412
+-79.742 42.2 3401
+-79.616 42.2 3361
+-79.49 42.2 3359
+-79.364 42.2 3362
+-79.238 42.2 3365
+-79.112 42.2 3368
+-78.986 42.2 3371
+-78.86 42.2 3374
+-78.734 42.2 3376
+-78.608 42.2 3378
+-78.482 42.2 3381
+-78.356 42.2 3383
+-78.23 42.2 3385
+-78.104 42.2 3387
+-77.978 42.2 3389
+-77.852 42.2 3391
+-77.726 42.2 3392
+-77.6 42.2 3473
+-77.474 42.2 3475
+-77.348 42.2 3464
+-77.222 42.2 3466
+-77.096 42.2 3468
+-76.97 42.2 3470
+-76.844 42.2 3472
+-76.718 42.2 3474
+-76.592 42.2 3475
+-76.466 42.2 3477
+-76.34 42.2 3479
+-76.214 42.2 3480
+-76.088 42.2 3481
+-75.962 42.2 3507
+-75.836 42.2 3509
+-75.71 42.2 3511
+-75.584 42.2 3513
+-75.458 42.2 3515
+-75.332 42.2 3517
+-75.206 42.2 3483
+-75.08 42.2 3484
+-74.954 42.2 3486
+-74.828 42.2 3487
+-74.702 42.2 3514
+-74.576 42.2 3516
+-74.45 42.2 3518
+-74.324 42.2 3478
+-74.198 42.2 3479
+-74.072 42.2 3481
+-73.946 42.2 3609
+-73.82 42.2 3609
+-73.694 42.2 3610
+-73.568 42.2 3611
+-73.442 42.2 3612
+-73.316 42.2 3552
+-73.19 42.2 3552
+-73.064 42.2 3553
+-72.938 42.2 3553
+-72.812 42.2 3553
+-72.686 42.2 3554
+-72.56 42.2 3554
+-72.434 42.2 3555
+-72.308 42.2 3555
+-72.182 42.2 3556
+-72.056 42.2 3535
+-71.93 42.2 3523
+-71.804 42.2 3524
+-71.678 42.2 3524
+-71.552 42.2 3525
+-71.426 42.2 3525
+-71.3 42.2 3508
+-71.174 42.2 3508
+-71.048 42.2 3508
+-70.922 42.2 3509
+-70.796 42.2 3509
+-70.67 42.2 3509
+-70.544 42.2 3510
+-70.418 42.2 3510
+-70.292 42.2 3510
+-70.166 42.2 3458
+-70.04 42.2 3458
+-69.914 42.2 3458
+-69.788 42.2 3458
+-69.662 42.2 3459
+-69.536 42.2 3459
+-69.41 42.2 3459
+-69.284 42.2 3459
+-69.158 42.2 3460
+-69.032 42.2 3460
+-68.906 42.2 3460
+-68.78 42.2 3460
+-68.654 42.2 3460
+-68.528 42.2 3382
+-68.402 42.2 3382
+-68.276 42.2 3382
+-68.15 42.2 3382
+-68.024 42.2 3382
+-67.898 42.2 3382
+-67.772 42.2 3381
+-67.646 42.2 3381
+-67.52 42.2 3381
+-67.394 42.2 3381
+-67.268 42.2 3381
+-67.142 42.2 3381
+-67.016 42.2 3381
+-66.89 42.2 3381
+-66.764 42.2 3381
+-66.638 42.2 3380
+-66.512 42.2 3380
+-66.386 42.2 3380
+-66.26 42.2 3380
+-66.134 42.2 3380
+-66.008 42.2 3380
+-65.882 42.2 3380
+-65.756 42.2 3380
+-65.63 42.2 3380
+-65.504 42.2 3380
+-65.378 42.2 3067
+-65.252 42.2 3066
+-65.126 42.2 3066
+-128 42.148 2666
+-127.874 42.148 2711
+-127.748 42.148 2837
+-127.622 42.148 2932
+-127.496 42.148 3022
+-127.37 42.148 3091
+-127.244 42.148 3133
+-127.118 42.148 3146
+-126.992 42.148 3121
+-126.866 42.148 3052
+-126.74 42.148 2972
+-126.614 42.148 2932
+-126.488 42.148 3015
+-126.362 42.148 3183
+-126.236 42.148 3360
+-126.11 42.148 3500
+-125.984 42.148 3628
+-125.858 42.148 3711
+-125.732 42.148 3774
+-125.606 42.148 3816
+-125.48 42.148 3842
+-125.354 42.148 3859
+-125.228 42.148 3854
+-125.102 42.148 3851
+-124.976 42.148 3899
+-124.85 42.148 3979
+-124.724 42.148 4048
+-124.598 42.148 4062
+-124.472 42.148 4056
+-124.346 42.148 4085
+-124.22 42.148 4139
+-124.094 42.148 4133
+-123.968 42.148 4123
+-123.842 42.148 4145
+-123.716 42.148 4210
+-123.59 42.148 4247
+-123.464 42.148 4266
+-123.338 42.148 4282
+-123.212 42.148 4273
+-123.086 42.148 4255
+-122.96 42.148 4280
+-122.834 42.148 4309
+-122.708 42.148 4323
+-122.582 42.148 4320
+-122.456 42.148 4310
+-122.33 42.148 4264
+-122.204 42.148 4214
+-122.078 42.148 4169
+-121.952 42.148 4127
+-121.826 42.148 4075
+-121.7 42.148 4054
+-121.574 42.148 4058
+-121.448 42.148 4066
+-121.322 42.148 4067
+-121.196 42.148 4095
+-121.07 42.148 4155
+-120.944 42.148 4249
+-120.818 42.148 4325
+-120.692 42.148 4378
+-120.566 42.148 4420
+-120.44 42.148 4557
+-120.314 42.148 4628
+-120.188 42.148 4657
+-120.062 42.148 4660
+-119.936 42.148 4699
+-119.81 42.148 4773
+-119.684 42.148 4833
+-119.558 42.148 4893
+-119.432 42.148 4928
+-119.306 42.148 4946
+-119.18 42.148 4966
+-119.054 42.148 4986
+-118.928 42.148 4995
+-118.802 42.148 5009
+-118.676 42.148 5047
+-118.55 42.148 5066
+-118.424 42.148 5069
+-118.298 42.148 5063
+-118.172 42.148 5046
+-118.046 42.148 5030
+-117.92 42.148 5018
+-117.794 42.148 4983
+-117.668 42.148 4964
+-117.542 42.148 4945
+-117.416 42.148 4918
+-117.29 42.148 4886
+-117.164 42.148 4867
+-117.038 42.148 4832
+-116.912 42.148 4757
+-116.786 42.148 4707
+-116.66 42.148 4625
+-116.534 42.148 4558
+-116.408 42.148 4502
+-116.282 42.148 4440
+-116.156 42.148 4428
+-116.03 42.148 4406
+-115.904 42.148 4358
+-115.778 42.148 4328
+-115.652 42.148 4302
+-115.526 42.148 4243
+-115.4 42.148 4166
+-115.274 42.148 4091
+-115.148 42.148 3962
+-115.022 42.148 3829
+-114.896 42.148 3776
+-114.77 42.148 3772
+-114.644 42.148 3738
+-114.518 42.148 3700
+-114.392 42.148 3657
+-114.266 42.148 3605
+-114.14 42.148 3553
+-114.014 42.148 3424
+-113.888 42.148 3322
+-113.762 42.148 3281
+-113.636 42.148 3244
+-113.51 42.148 3158
+-113.384 42.148 3117
+-113.258 42.148 3066
+-113.132 42.148 3022
+-113.006 42.148 2973
+-112.88 42.148 2901
+-112.754 42.148 2861
+-112.628 42.148 2808
+-112.502 42.148 2758
+-112.376 42.148 2689
+-112.25 42.148 2635
+-112.124 42.148 2581
+-111.998 42.148 2564
+-111.872 42.148 2555
+-111.746 42.148 2523
+-111.62 42.148 2529
+-111.494 42.148 2529
+-111.368 42.148 2542
+-111.242 42.148 2538
+-111.116 42.148 2545
+-110.99 42.148 2563
+-110.864 42.148 2581
+-110.738 42.148 2636
+-110.612 42.148 2654
+-110.486 42.148 2672
+-110.36 42.148 2689
+-110.234 42.148 2704
+-110.108 42.148 2735
+-109.982 42.148 2750
+-109.856 42.148 2764
+-109.73 42.148 2676
+-109.604 42.148 2686
+-109.478 42.148 2695
+-109.352 42.148 2704
+-109.226 42.148 2712
+-109.1 42.148 2605
+-108.974 42.148 2609
+-108.848 42.148 2613
+-108.722 42.148 2616
+-108.596 42.148 2597
+-108.47 42.148 2601
+-108.344 42.148 2596
+-108.218 42.148 2569
+-108.092 42.148 2572
+-107.966 42.148 2575
+-107.84 42.148 2590
+-107.714 42.148 2593
+-107.588 42.148 2582
+-107.462 42.148 2586
+-107.336 42.148 2590
+-107.21 42.148 2594
+-107.084 42.148 2598
+-106.958 42.148 2602
+-106.832 42.148 2606
+-106.706 42.148 2674
+-106.58 42.148 2609
+-106.454 42.148 2594
+-106.328 42.148 2591
+-106.202 42.148 2595
+-106.076 42.148 2452
+-105.95 42.148 2277
+-105.824 42.148 2268
+-105.698 42.148 2257
+-105.572 42.148 2246
+-105.446 42.148 2235
+-105.32 42.148 2168
+-105.194 42.148 2011
+-105.068 42.148 1928
+-104.942 42.148 1893
+-104.816 42.148 1879
+-104.69 42.148 1922
+-104.564 42.148 1874
+-104.438 42.148 1878
+-104.312 42.148 1848
+-104.186 42.148 1908
+-104.06 42.148 1872
+-103.934 42.148 2009
+-103.808 42.148 2027
+-103.682 42.148 2144
+-103.556 42.148 2139
+-103.43 42.148 2309
+-103.304 42.148 2300
+-103.178 42.148 2342
+-103.052 42.148 2333
+-102.926 42.148 2324
+-102.8 42.148 2314
+-102.674 42.148 2304
+-102.548 42.148 2293
+-102.422 42.148 2292
+-102.296 42.148 2294
+-102.17 42.148 2320
+-102.044 42.148 2308
+-101.918 42.148 2295
+-101.792 42.148 2282
+-101.666 42.148 2306
+-101.54 42.148 2290
+-101.414 42.148 2273
+-101.288 42.148 2254
+-101.162 42.148 2234
+-101.036 42.148 2213
+-100.91 42.148 2189
+-100.784 42.148 2195
+-100.658 42.148 2212
+-100.532 42.148 2183
+-100.406 42.148 2150
+-100.28 42.148 2113
+-100.154 42.148 2072
+-100.028 42.148 2026
+-99.902 42.148 1975
+-99.776 42.148 1926
+-99.65 42.148 1892
+-99.524 42.148 1834
+-99.398 42.148 1776
+-99.272 42.148 1688
+-99.146 42.148 1594
+-99.02 42.148 1497
+-98.894 42.148 1401
+-98.768 42.148 1315
+-98.642 42.148 1250
+-98.516 42.148 1218
+-98.39 42.148 1274
+-98.264 42.148 1390
+-98.138 42.148 1509
+-98.012 42.148 1667
+-97.886 42.148 1845
+-97.76 42.148 2029
+-97.634 42.148 2211
+-97.508 42.148 2372
+-97.382 42.148 2503
+-97.256 42.148 2637
+-97.13 42.148 2729
+-97.004 42.148 2790
+-96.878 42.148 2857
+-96.752 42.148 2916
+-96.626 42.148 3033
+-96.5 42.148 3082
+-96.374 42.148 3127
+-96.248 42.148 3173
+-96.122 42.148 3322
+-95.996 42.148 3346
+-95.87 42.148 3385
+-95.744 42.148 3449
+-95.618 42.148 3522
+-95.492 42.148 3544
+-95.366 42.148 3581
+-95.24 42.148 3619
+-95.114 42.148 3686
+-94.988 42.148 3748
+-94.862 42.148 3768
+-94.736 42.148 3794
+-94.61 42.148 3833
+-94.484 42.148 3942
+-94.358 42.148 4019
+-94.232 42.148 4180
+-94.106 42.148 4285
+-93.98 42.148 4405
+-93.854 42.148 4504
+-93.728 42.148 4542
+-93.602 42.148 4577
+-93.476 42.148 4654
+-93.35 42.148 4754
+-93.224 42.148 4805
+-93.098 42.148 4843
+-92.972 42.148 4900
+-92.846 42.148 4914
+-92.72 42.148 5032
+-92.594 42.148 5093
+-92.468 42.148 5137
+-92.342 42.148 5230
+-92.216 42.148 5337
+-92.09 42.148 5401
+-91.964 42.148 5472
+-91.838 42.148 5506
+-91.712 42.148 5514
+-91.586 42.148 5539
+-91.46 42.148 5618
+-91.334 42.148 5634
+-91.208 42.148 5715
+-91.082 42.148 5713
+-90.956 42.148 5732
+-90.83 42.148 5755
+-90.704 42.148 5763
+-90.578 42.148 5768
+-90.452 42.148 5784
+-90.326 42.148 5769
+-90.2 42.148 5791
+-90.074 42.148 5782
+-89.948 42.148 5747
+-89.822 42.148 5742
+-89.696 42.148 5697
+-89.57 42.148 5670
+-89.444 42.148 5647
+-89.318 42.148 5614
+-89.192 42.148 5558
+-89.066 42.148 5489
+-88.94 42.148 5429
+-88.814 42.148 5377
+-88.688 42.148 5359
+-88.562 42.148 5291
+-88.436 42.148 5229
+-88.31 42.148 5126
+-88.184 42.148 5050
+-88.058 42.148 5016
+-87.932 42.148 4920
+-87.806 42.148 4836
+-87.68 42.148 4781
+-87.554 42.148 4700
+-87.428 42.148 4558
+-87.302 42.148 4479
+-87.176 42.148 4394
+-87.05 42.148 4232
+-86.924 42.148 4309
+-86.798 42.148 4296
+-86.672 42.148 4254
+-86.546 42.148 4163
+-86.42 42.148 4046
+-86.294 42.148 3996
+-86.168 42.148 3920
+-86.042 42.148 3897
+-85.916 42.148 3864
+-85.79 42.148 3803
+-85.664 42.148 3751
+-85.538 42.148 3677
+-85.412 42.148 3515
+-85.286 42.148 3400
+-85.16 42.148 3472
+-85.034 42.148 3526
+-84.908 42.148 3549
+-84.782 42.148 3500
+-84.656 42.148 3463
+-84.53 42.148 3411
+-84.404 42.148 3302
+-84.278 42.148 3245
+-84.152 42.148 3168
+-84.026 42.148 3121
+-83.9 42.148 3134
+-83.774 42.148 3136
+-83.648 42.148 3136
+-83.522 42.148 3151
+-83.396 42.148 3167
+-83.27 42.148 3182
+-83.144 42.148 3198
+-83.018 42.148 3187
+-82.892 42.148 3200
+-82.766 42.148 3160
+-82.64 42.148 3208
+-82.514 42.148 3219
+-82.388 42.148 3219
+-82.262 42.148 3263
+-82.136 42.148 3231
+-82.01 42.148 3235
+-81.884 42.148 3242
+-81.758 42.148 3294
+-81.632 42.148 3265
+-81.506 42.148 3272
+-81.38 42.148 3365
+-81.254 42.148 3355
+-81.128 42.148 3362
+-81.002 42.148 3327
+-80.876 42.148 3385
+-80.75 42.148 3389
+-80.624 42.148 3395
+-80.498 42.148 3400
+-80.372 42.148 3405
+-80.246 42.148 3404
+-80.12 42.148 3409
+-79.994 42.148 3413
+-79.868 42.148 3403
+-79.742 42.148 3363
+-79.616 42.148 3361
+-79.49 42.148 3364
+-79.364 42.148 3367
+-79.238 42.148 3370
+-79.112 42.148 3373
+-78.986 42.148 3375
+-78.86 42.148 3378
+-78.734 42.148 3380
+-78.608 42.148 3382
+-78.482 42.148 3384
+-78.356 42.148 3386
+-78.23 42.148 3388
+-78.104 42.148 3390
+-77.978 42.148 3392
+-77.852 42.148 3394
+-77.726 42.148 3472
+-77.6 42.148 3475
+-77.474 42.148 3464
+-77.348 42.148 3466
+-77.222 42.148 3468
+-77.096 42.148 3470
+-76.97 42.148 3472
+-76.844 42.148 3474
+-76.718 42.148 3475
+-76.592 42.148 3477
+-76.466 42.148 3479
+-76.34 42.148 3480
+-76.214 42.148 3482
+-76.088 42.148 3507
+-75.962 42.148 3509
+-75.836 42.148 3511
+-75.71 42.148 3513
+-75.584 42.148 3515
+-75.458 42.148 3517
+-75.332 42.148 3483
+-75.206 42.148 3485
+-75.08 42.148 3486
+-74.954 42.148 3487
+-74.828 42.148 3514
+-74.702 42.148 3516
+-74.576 42.148 3518
+-74.45 42.148 3478
+-74.324 42.148 3479
+-74.198 42.148 3481
+-74.072 42.148 3608
+-73.946 42.148 3609
+-73.82 42.148 3610
+-73.694 42.148 3611
+-73.568 42.148 3611
+-73.442 42.148 3551
+-73.316 42.148 3552
+-73.19 42.148 3552
+-73.064 42.148 3553
+-72.938 42.148 3553
+-72.812 42.148 3554
+-72.686 42.148 3554
+-72.56 42.148 3554
+-72.434 42.148 3555
+-72.308 42.148 3555
+-72.182 42.148 3534
+-72.056 42.148 3523
+-71.93 42.148 3523
+-71.804 42.148 3524
+-71.678 42.148 3524
+-71.552 42.148 3525
+-71.426 42.148 3525
+-71.3 42.148 3508
+-71.174 42.148 3508
+-71.048 42.148 3509
+-70.922 42.148 3509
+-70.796 42.148 3509
+-70.67 42.148 3509
+-70.544 42.148 3510
+-70.418 42.148 3510
+-70.292 42.148 3458
+-70.166 42.148 3458
+-70.04 42.148 3458
+-69.914 42.148 3458
+-69.788 42.148 3459
+-69.662 42.148 3459
+-69.536 42.148 3459
+-69.41 42.148 3459
+-69.284 42.148 3459
+-69.158 42.148 3460
+-69.032 42.148 3460
+-68.906 42.148 3460
+-68.78 42.148 3460
+-68.654 42.148 3382
+-68.528 42.148 3382
+-68.402 42.148 3382
+-68.276 42.148 3382
+-68.15 42.148 3382
+-68.024 42.148 3382
+-67.898 42.148 3381
+-67.772 42.148 3381
+-67.646 42.148 3381
+-67.52 42.148 3381
+-67.394 42.148 3381
+-67.268 42.148 3381
+-67.142 42.148 3381
+-67.016 42.148 3381
+-66.89 42.148 3381
+-66.764 42.148 3380
+-66.638 42.148 3380
+-66.512 42.148 3380
+-66.386 42.148 3380
+-66.26 42.148 3380
+-66.134 42.148 3380
+-66.008 42.148 3380
+-65.882 42.148 3380
+-65.756 42.148 3380
+-65.63 42.148 3380
+-65.504 42.148 3067
+-65.378 42.148 3066
+-65.252 42.148 3066
+-65.126 42.148 3066
+-128 42.096 2783
+-127.874 42.096 2823
+-127.748 42.096 2878
+-127.622 42.096 2999
+-127.496 42.096 3061
+-127.37 42.096 3107
+-127.244 42.096 3135
+-127.118 42.096 3134
+-126.992 42.096 3089
+-126.866 42.096 3016
+-126.74 42.096 2920
+-126.614 42.096 2870
+-126.488 42.096 2938
+-126.362 42.096 3113
+-126.236 42.096 3294
+-126.11 42.096 3456
+-125.984 42.096 3566
+-125.858 42.096 3657
+-125.732 42.096 3724
+-125.606 42.096 3752
+-125.48 42.096 3803
+-125.354 42.096 3819
+-125.228 42.096 3840
+-125.102 42.096 3873
+-124.976 42.096 3913
+-124.85 42.096 3975
+-124.724 42.096 4016
+-124.598 42.096 4038
+-124.472 42.096 4058
+-124.346 42.096 4066
+-124.22 42.096 4096
+-124.094 42.096 4092
+-123.968 42.096 4078
+-123.842 42.096 4102
+-123.716 42.096 4150
+-123.59 42.096 4175
+-123.464 42.096 4190
+-123.338 42.096 4213
+-123.212 42.096 4221
+-123.086 42.096 4209
+-122.96 42.096 4219
+-122.834 42.096 4232
+-122.708 42.096 4240
+-122.582 42.096 4243
+-122.456 42.096 4223
+-122.33 42.096 4182
+-122.204 42.096 4146
+-122.078 42.096 4085
+-121.952 42.096 4040
+-121.826 42.096 3997
+-121.7 42.096 3978
+-121.574 42.096 3998
+-121.448 42.096 4016
+-121.322 42.096 4032
+-121.196 42.096 4039
+-121.07 42.096 4095
+-120.944 42.096 4193
+-120.818 42.096 4314
+-120.692 42.096 4350
+-120.566 42.096 4366
+-120.44 42.096 4478
+-120.314 42.096 4561
+-120.188 42.096 4634
+-120.062 42.096 4665
+-119.936 42.096 4676
+-119.81 42.096 4721
+-119.684 42.096 4787
+-119.558 42.096 4824
+-119.432 42.096 4876
+-119.306 42.096 4927
+-119.18 42.096 4947
+-119.054 42.096 4948
+-118.928 42.096 4943
+-118.802 42.096 4955
+-118.676 42.096 4986
+-118.55 42.096 5007
+-118.424 42.096 5003
+-118.298 42.096 4981
+-118.172 42.096 4986
+-118.046 42.096 4970
+-117.92 42.096 4961
+-117.794 42.096 4933
+-117.668 42.096 4907
+-117.542 42.096 4887
+-117.416 42.096 4874
+-117.29 42.096 4854
+-117.164 42.096 4805
+-117.038 42.096 4760
+-116.912 42.096 4711
+-116.786 42.096 4661
+-116.66 42.096 4595
+-116.534 42.096 4524
+-116.408 42.096 4468
+-116.282 42.096 4405
+-116.156 42.096 4375
+-116.03 42.096 4343
+-115.904 42.096 4288
+-115.778 42.096 4269
+-115.652 42.096 4234
+-115.526 42.096 4188
+-115.4 42.096 4125
+-115.274 42.096 4051
+-115.148 42.096 3949
+-115.022 42.096 3850
+-114.896 42.096 3787
+-114.77 42.096 3759
+-114.644 42.096 3719
+-114.518 42.096 3657
+-114.392 42.096 3590
+-114.266 42.096 3538
+-114.14 42.096 3490
+-114.014 42.096 3360
+-113.888 42.096 3265
+-113.762 42.096 3242
+-113.636 42.096 3209
+-113.51 42.096 3177
+-113.384 42.096 3098
+-113.258 42.096 3060
+-113.132 42.096 3012
+-113.006 42.096 2947
+-112.88 42.096 2905
+-112.754 42.096 2861
+-112.628 42.096 2829
+-112.502 42.096 2752
+-112.376 42.096 2684
+-112.25 42.096 2632
+-112.124 42.096 2592
+-111.998 42.096 2602
+-111.872 42.096 2592
+-111.746 42.096 2589
+-111.62 42.096 2558
+-111.494 42.096 2564
+-111.368 42.096 2563
+-111.242 42.096 2574
+-111.116 42.096 2566
+-110.99 42.096 2570
+-110.864 42.096 2585
+-110.738 42.096 2601
+-110.612 42.096 2655
+-110.486 42.096 2671
+-110.36 42.096 2686
+-110.234 42.096 2701
+-110.108 42.096 2680
+-109.982 42.096 2744
+-109.856 42.096 2656
+-109.73 42.096 2666
+-109.604 42.096 2676
+-109.478 42.096 2685
+-109.352 42.096 2694
+-109.226 42.096 2587
+-109.1 42.096 2591
+-108.974 42.096 2596
+-108.848 42.096 2600
+-108.722 42.096 2604
+-108.596 42.096 2607
+-108.47 42.096 2588
+-108.344 42.096 2592
+-108.218 42.096 2587
+-108.092 42.096 2560
+-107.966 42.096 2563
+-107.84 42.096 2566
+-107.714 42.096 2580
+-107.588 42.096 2584
+-107.462 42.096 2573
+-107.336 42.096 2578
+-107.21 42.096 2582
+-107.084 42.096 2586
+-106.958 42.096 2590
+-106.832 42.096 2594
+-106.706 42.096 2598
+-106.58 42.096 2666
+-106.454 42.096 2601
+-106.328 42.096 2585
+-106.202 42.096 2583
+-106.076 42.096 2439
+-105.95 42.096 2264
+-105.824 42.096 2255
+-105.698 42.096 2245
+-105.572 42.096 2234
+-105.446 42.096 2168
+-105.32 42.096 2155
+-105.194 42.096 2001
+-105.068 42.096 1919
+-104.942 42.096 1885
+-104.816 42.096 1882
+-104.69 42.096 1916
+-104.564 42.096 1844
+-104.438 42.096 1854
+-104.312 42.096 1829
+-104.186 42.096 1908
+-104.06 42.096 1871
+-103.934 42.096 2010
+-103.808 42.096 2028
+-103.682 42.096 2081
+-103.556 42.096 2139
+-103.43 42.096 2310
+-103.304 42.096 2301
+-103.178 42.096 2291
+-103.052 42.096 2333
+-102.926 42.096 2323
+-102.8 42.096 2314
+-102.674 42.096 2303
+-102.548 42.096 2292
+-102.422 42.096 2281
+-102.296 42.096 2279
+-102.17 42.096 2280
+-102.044 42.096 2306
+-101.918 42.096 2293
+-101.792 42.096 2279
+-101.666 42.096 2264
+-101.54 42.096 2287
+-101.414 42.096 2270
+-101.288 42.096 2251
+-101.162 42.096 2230
+-101.036 42.096 2208
+-100.91 42.096 2183
+-100.784 42.096 2157
+-100.658 42.096 2160
+-100.532 42.096 2173
+-100.406 42.096 2138
+-100.28 42.096 2099
+-100.154 42.096 2056
+-100.028 42.096 2007
+-99.902 42.096 1952
+-99.776 42.096 1889
+-99.65 42.096 1827
+-99.524 42.096 1773
+-99.398 42.096 1696
+-99.272 42.096 1613
+-99.146 42.096 1499
+-99.02 42.096 1378
+-98.894 42.096 1255
+-98.768 42.096 1138
+-98.642 42.096 1043
+-98.516 42.096 986
+-98.39 42.096 986
+-98.264 42.096 1092
+-98.138 42.096 1272
+-98.012 42.096 1468
+-97.886 42.096 1690
+-97.76 42.096 1912
+-97.634 42.096 2117
+-97.508 42.096 2307
+-97.382 42.096 2465
+-97.256 42.096 2587
+-97.13 42.096 2711
+-97.004 42.096 2793
+-96.878 42.096 2840
+-96.752 42.096 2951
+-96.626 42.096 3013
+-96.5 42.096 3068
+-96.374 42.096 3117
+-96.248 42.096 3164
+-96.122 42.096 3373
+-95.996 42.096 3398
+-95.87 42.096 3421
+-95.744 42.096 3462
+-95.618 42.096 3515
+-95.492 42.096 3535
+-95.366 42.096 3557
+-95.24 42.096 3638
+-95.114 42.096 3677
+-94.988 42.096 3745
+-94.862 42.096 3795
+-94.736 42.096 3835
+-94.61 42.096 3898
+-94.484 42.096 3965
+-94.358 42.096 4074
+-94.232 42.096 4172
+-94.106 42.096 4335
+-93.98 42.096 4473
+-93.854 42.096 4502
+-93.728 42.096 4525
+-93.602 42.096 4477
+-93.476 42.096 4633
+-93.35 42.096 4780
+-93.224 42.096 4793
+-93.098 42.096 4883
+-92.972 42.096 4929
+-92.846 42.096 4983
+-92.72 42.096 5041
+-92.594 42.096 5124
+-92.468 42.096 5210
+-92.342 42.096 5292
+-92.216 42.096 5394
+-92.09 42.096 5473
+-91.964 42.096 5524
+-91.838 42.096 5576
+-91.712 42.096 5565
+-91.586 42.096 5618
+-91.46 42.096 5665
+-91.334 42.096 5701
+-91.208 42.096 5747
+-91.082 42.096 5774
+-90.956 42.096 5803
+-90.83 42.096 5797
+-90.704 42.096 5826
+-90.578 42.096 5839
+-90.452 42.096 5833
+-90.326 42.096 5830
+-90.2 42.096 5830
+-90.074 42.096 5841
+-89.948 42.096 5827
+-89.822 42.096 5794
+-89.696 42.096 5760
+-89.57 42.096 5714
+-89.444 42.096 5705
+-89.318 42.096 5660
+-89.192 42.096 5598
+-89.066 42.096 5553
+-88.94 42.096 5491
+-88.814 42.096 5441
+-88.688 42.096 5328
+-88.562 42.096 5330
+-88.436 42.096 5271
+-88.31 42.096 5173
+-88.184 42.096 5046
+-88.058 42.096 5066
+-87.932 42.096 4944
+-87.806 42.096 4858
+-87.68 42.096 4796
+-87.554 42.096 4744
+-87.428 42.096 4567
+-87.302 42.096 4469
+-87.176 42.096 4433
+-87.05 42.096 4388
+-86.924 42.096 4372
+-86.798 42.096 4355
+-86.672 42.096 4287
+-86.546 42.096 4208
+-86.42 42.096 4131
+-86.294 42.096 4048
+-86.168 42.096 3955
+-86.042 42.096 3892
+-85.916 42.096 3861
+-85.79 42.096 3802
+-85.664 42.096 3758
+-85.538 42.096 3719
+-85.412 42.096 3602
+-85.286 42.096 3505
+-85.16 42.096 3525
+-85.034 42.096 3571
+-84.908 42.096 3580
+-84.782 42.096 3565
+-84.656 42.096 3499
+-84.53 42.096 3461
+-84.404 42.096 3414
+-84.278 42.096 3318
+-84.152 42.096 3275
+-84.026 42.096 3253
+-83.9 42.096 3234
+-83.774 42.096 3221
+-83.648 42.096 3225
+-83.522 42.096 3233
+-83.396 42.096 3243
+-83.27 42.096 3214
+-83.144 42.096 3201
+-83.018 42.096 3213
+-82.892 42.096 3217
+-82.766 42.096 3219
+-82.64 42.096 3229
+-82.514 42.096 3228
+-82.388 42.096 3271
+-82.262 42.096 3239
+-82.136 42.096 3242
+-82.01 42.096 3249
+-81.884 42.096 3300
+-81.758 42.096 3271
+-81.632 42.096 3278
+-81.506 42.096 3369
+-81.38 42.096 3359
+-81.254 42.096 3366
+-81.128 42.096 3331
+-81.002 42.096 3388
+-80.876 42.096 3392
+-80.75 42.096 3397
+-80.624 42.096 3403
+-80.498 42.096 3408
+-80.372 42.096 3406
+-80.246 42.096 3411
+-80.12 42.096 3416
+-79.994 42.096 3405
+-79.868 42.096 3366
+-79.742 42.096 3363
+-79.616 42.096 3366
+-79.49 42.096 3369
+-79.364 42.096 3372
+-79.238 42.096 3375
+-79.112 42.096 3377
+-78.986 42.096 3380
+-78.86 42.096 3382
+-78.734 42.096 3384
+-78.608 42.096 3386
+-78.482 42.096 3388
+-78.356 42.096 3390
+-78.23 42.096 3392
+-78.104 42.096 3394
+-77.978 42.096 3395
+-77.852 42.096 3472
+-77.726 42.096 3475
+-77.6 42.096 3464
+-77.474 42.096 3466
+-77.348 42.096 3468
+-77.222 42.096 3470
+-77.096 42.096 3472
+-76.97 42.096 3474
+-76.844 42.096 3475
+-76.718 42.096 3477
+-76.592 42.096 3479
+-76.466 42.096 3480
+-76.34 42.096 3482
+-76.214 42.096 3507
+-76.088 42.096 3509
+-75.962 42.096 3511
+-75.836 42.096 3513
+-75.71 42.096 3515
+-75.584 42.096 3517
+-75.458 42.096 3483
+-75.332 42.096 3485
+-75.206 42.096 3486
+-75.08 42.096 3488
+-74.954 42.096 3514
+-74.828 42.096 3516
+-74.702 42.096 3518
+-74.576 42.096 3478
+-74.45 42.096 3480
+-74.324 42.096 3481
+-74.198 42.096 3607
+-74.072 42.096 3608
+-73.946 42.096 3609
+-73.82 42.096 3610
+-73.694 42.096 3611
+-73.568 42.096 3551
+-73.442 42.096 3551
+-73.316 42.096 3552
+-73.19 42.096 3552
+-73.064 42.096 3553
+-72.938 42.096 3553
+-72.812 42.096 3554
+-72.686 42.096 3554
+-72.56 42.096 3555
+-72.434 42.096 3555
+-72.308 42.096 3534
+-72.182 42.096 3523
+-72.056 42.096 3523
+-71.93 42.096 3524
+-71.804 42.096 3524
+-71.678 42.096 3524
+-71.552 42.096 3507
+-71.426 42.096 3508
+-71.3 42.096 3508
+-71.174 42.096 3508
+-71.048 42.096 3509
+-70.922 42.096 3509
+-70.796 42.096 3509
+-70.67 42.096 3510
+-70.544 42.096 3510
+-70.418 42.096 3457
+-70.292 42.096 3458
+-70.166 42.096 3458
+-70.04 42.096 3458
+-69.914 42.096 3458
+-69.788 42.096 3459
+-69.662 42.096 3459
+-69.536 42.096 3459
+-69.41 42.096 3459
+-69.284 42.096 3460
+-69.158 42.096 3460
+-69.032 42.096 3460
+-68.906 42.096 3460
+-68.78 42.096 3382
+-68.654 42.096 3382
+-68.528 42.096 3382
+-68.402 42.096 3382
+-68.276 42.096 3382
+-68.15 42.096 3382
+-68.024 42.096 3381
+-67.898 42.096 3381
+-67.772 42.096 3381
+-67.646 42.096 3381
+-67.52 42.096 3381
+-67.394 42.096 3381
+-67.268 42.096 3381
+-67.142 42.096 3381
+-67.016 42.096 3381
+-66.89 42.096 3380
+-66.764 42.096 3380
+-66.638 42.096 3380
+-66.512 42.096 3380
+-66.386 42.096 3380
+-66.26 42.096 3380
+-66.134 42.096 3380
+-66.008 42.096 3380
+-65.882 42.096 3380
+-65.756 42.096 3380
+-65.63 42.096 3067
+-65.504 42.096 3066
+-65.378 42.096 3066
+-65.252 42.096 3066
+-65.126 42.096 3065
+-128 42.044 2872
+-127.874 42.044 2900
+-127.748 42.044 2939
+-127.622 42.044 2987
+-127.496 42.044 3030
+-127.37 42.044 3064
+-127.244 42.044 3085
+-127.118 42.044 3076
+-126.992 42.044 3076
+-126.866 42.044 3026
+-126.74 42.044 2960
+-126.614 42.044 2925
+-126.488 42.044 2985
+-126.362 42.044 3111
+-126.236 42.044 3254
+-126.11 42.044 3393
+-125.984 42.044 3528
+-125.858 42.044 3609
+-125.732 42.044 3658
+-125.606 42.044 3698
+-125.48 42.044 3742
+-125.354 42.044 3779
+-125.228 42.044 3812
+-125.102 42.044 3840
+-124.976 42.044 3904
+-124.85 42.044 3933
+-124.724 42.044 3980
+-124.598 42.044 3995
+-124.472 42.044 4009
+-124.346 42.044 4026
+-124.22 42.044 4065
+-124.094 42.044 4076
+-123.968 42.044 4083
+-123.842 42.044 4096
+-123.716 42.044 4113
+-123.59 42.044 4140
+-123.464 42.044 4140
+-123.338 42.044 4159
+-123.212 42.044 4174
+-123.086 42.044 4177
+-122.96 42.044 4167
+-122.834 42.044 4159
+-122.708 42.044 4161
+-122.582 42.044 4145
+-122.456 42.044 4126
+-122.33 42.044 4091
+-122.204 42.044 4061
+-122.078 42.044 4017
+-121.952 42.044 3976
+-121.826 42.044 3964
+-121.7 42.044 3956
+-121.574 42.044 3936
+-121.448 42.044 3950
+-121.322 42.044 3988
+-121.196 42.044 4007
+-121.07 42.044 4036
+-120.944 42.044 4118
+-120.818 42.044 4240
+-120.692 42.044 4309
+-120.566 42.044 4329
+-120.44 42.044 4410
+-120.314 42.044 4491
+-120.188 42.044 4568
+-120.062 42.044 4596
+-119.936 42.044 4650
+-119.81 42.044 4702
+-119.684 42.044 4768
+-119.558 42.044 4771
+-119.432 42.044 4824
+-119.306 42.044 4879
+-119.18 42.044 4908
+-119.054 42.044 4896
+-118.928 42.044 4869
+-118.802 42.044 4887
+-118.676 42.044 4915
+-118.55 42.044 4934
+-118.424 42.044 4935
+-118.298 42.044 4920
+-118.172 42.044 4930
+-118.046 42.044 4939
+-117.92 42.044 4926
+-117.794 42.044 4921
+-117.668 42.044 4882
+-117.542 42.044 4862
+-117.416 42.044 4831
+-117.29 42.044 4794
+-117.164 42.044 4783
+-117.038 42.044 4717
+-116.912 42.044 4684
+-116.786 42.044 4634
+-116.66 42.044 4581
+-116.534 42.044 4501
+-116.408 42.044 4478
+-116.282 42.044 4395
+-116.156 42.044 4317
+-116.03 42.044 4288
+-115.904 42.044 4249
+-115.778 42.044 4231
+-115.652 42.044 4194
+-115.526 42.044 4156
+-115.4 42.044 4086
+-115.274 42.044 4022
+-115.148 42.044 3933
+-115.022 42.044 3850
+-114.896 42.044 3776
+-114.77 42.044 3729
+-114.644 42.044 3677
+-114.518 42.044 3611
+-114.392 42.044 3533
+-114.266 42.044 3421
+-114.14 42.044 3371
+-114.014 42.044 3331
+-113.888 42.044 3209
+-113.762 42.044 3177
+-113.636 42.044 3148
+-113.51 42.044 3122
+-113.384 42.044 3095
+-113.258 42.044 3047
+-113.132 42.044 3005
+-113.006 42.044 2960
+-112.88 42.044 2899
+-112.754 42.044 2852
+-112.628 42.044 2800
+-112.502 42.044 2730
+-112.376 42.044 2678
+-112.25 42.044 2651
+-112.124 42.044 2630
+-111.998 42.044 2598
+-111.872 42.044 2616
+-111.746 42.044 2547
+-111.62 42.044 2547
+-111.494 42.044 2550
+-111.368 42.044 2588
+-111.242 42.044 2587
+-111.116 42.044 2596
+-110.99 42.044 2585
+-110.864 42.044 2588
+-110.738 42.044 2602
+-110.612 42.044 2616
+-110.486 42.044 2669
+-110.36 42.044 2684
+-110.234 42.044 2698
+-110.108 42.044 2675
+-109.982 42.044 2585
+-109.856 42.044 2595
+-109.73 42.044 2603
+-109.604 42.044 2611
+-109.478 42.044 2619
+-109.352 42.044 2568
+-109.226 42.044 2573
+-109.1 42.044 2578
+-108.974 42.044 2582
+-108.848 42.044 2587
+-108.722 42.044 2591
+-108.596 42.044 2594
+-108.47 42.044 2598
+-108.344 42.044 2579
+-108.218 42.044 2583
+-108.092 42.044 2578
+-107.966 42.044 2551
+-107.84 42.044 2554
+-107.714 42.044 2557
+-107.588 42.044 2571
+-107.462 42.044 2575
+-107.336 42.044 2565
+-107.21 42.044 2569
+-107.084 42.044 2573
+-106.958 42.044 2578
+-106.832 42.044 2582
+-106.706 42.044 2586
+-106.58 42.044 2590
+-106.454 42.044 2658
+-106.328 42.044 2593
+-106.202 42.044 2453
+-106.076 42.044 2426
+-105.95 42.044 2269
+-105.824 42.044 2242
+-105.698 42.044 2232
+-105.572 42.044 2167
+-105.446 42.044 2156
+-105.32 42.044 2143
+-105.194 42.044 1991
+-105.068 42.044 1911
+-104.942 42.044 1877
+-104.816 42.044 1874
+-104.69 42.044 1910
+-104.564 42.044 1839
+-104.438 42.044 1849
+-104.312 42.044 1829
+-104.186 42.044 1890
+-104.06 42.044 1891
+-103.934 42.044 1983
+-103.808 42.044 1981
+-103.682 42.044 2082
+-103.556 42.044 2078
+-103.43 42.044 2250
+-103.304 42.044 2302
+-103.178 42.044 2292
+-103.052 42.044 2282
+-102.926 42.044 2323
+-102.8 42.044 2313
+-102.674 42.044 2303
+-102.548 42.044 2292
+-102.422 42.044 2281
+-102.296 42.044 2268
+-102.17 42.044 2266
+-102.044 42.044 2265
+-101.918 42.044 2291
+-101.792 42.044 2277
+-101.666 42.044 2262
+-101.54 42.044 2246
+-101.414 42.044 2267
+-101.288 42.044 2248
+-101.162 42.044 2227
+-101.036 42.044 2204
+-100.91 42.044 2179
+-100.784 42.044 2152
+-100.658 42.044 2122
+-100.532 42.044 2123
+-100.406 42.044 2129
+-100.28 42.044 2089
+-100.154 42.044 2043
+-100.028 42.044 1992
+-99.902 42.044 1933
+-99.776 42.044 1866
+-99.65 42.044 1789
+-99.524 42.044 1709
+-99.398 42.044 1632
+-99.272 42.044 1529
+-99.146 42.044 1415
+-99.02 42.044 1269
+-98.894 42.044 1116
+-98.768 42.044 966
+-98.642 42.044 835
+-98.516 42.044 748
+-98.39 42.044 731
+-98.264 42.044 800
+-98.138 42.044 992
+-98.012 42.044 1263
+-97.886 42.044 1534
+-97.76 42.044 1802
+-97.634 42.044 2042
+-97.508 42.044 2244
+-97.382 42.044 2422
+-97.256 42.044 2564
+-97.13 42.044 2669
+-97.004 42.044 2745
+-96.878 42.044 2868
+-96.752 42.044 2927
+-96.626 42.044 2981
+-96.5 42.044 3045
+-96.374 42.044 3146
+-96.248 42.044 3203
+-96.122 42.044 3355
+-95.996 42.044 3385
+-95.87 42.044 3412
+-95.744 42.044 3435
+-95.618 42.044 3472
+-95.492 42.044 3561
+-95.366 42.044 3572
+-95.24 42.044 3613
+-95.114 42.044 3649
+-94.988 42.044 3717
+-94.862 42.044 3792
+-94.736 42.044 3839
+-94.61 42.044 3882
+-94.484 42.044 3950
+-94.358 42.044 4095
+-94.232 42.044 4243
+-94.106 42.044 4380
+-93.98 42.044 4499
+-93.854 42.044 4515
+-93.728 42.044 4459
+-93.602 42.044 4560
+-93.476 42.044 4690
+-93.35 42.044 4798
+-93.224 42.044 4858
+-93.098 42.044 4915
+-92.972 42.044 4980
+-92.846 42.044 5043
+-92.72 42.044 5115
+-92.594 42.044 5205
+-92.468 42.044 5232
+-92.342 42.044 5329
+-92.216 42.044 5455
+-92.09 42.044 5506
+-91.964 42.044 5560
+-91.838 42.044 5609
+-91.712 42.044 5651
+-91.586 42.044 5700
+-91.46 42.044 5729
+-91.334 42.044 5780
+-91.208 42.044 5809
+-91.082 42.044 5841
+-90.956 42.044 5855
+-90.83 42.044 5885
+-90.704 42.044 5882
+-90.578 42.044 5886
+-90.452 42.044 5897
+-90.326 42.044 5903
+-90.2 42.044 5891
+-90.074 42.044 5889
+-89.948 42.044 5869
+-89.822 42.044 5841
+-89.696 42.044 5793
+-89.57 42.044 5783
+-89.444 42.044 5738
+-89.318 42.044 5688
+-89.192 42.044 5641
+-89.066 42.044 5616
+-88.94 42.044 5551
+-88.814 42.044 5498
+-88.688 42.044 5426
+-88.562 42.044 5370
+-88.436 42.044 5313
+-88.31 42.044 5221
+-88.184 42.044 5193
+-88.058 42.044 5141
+-87.932 42.044 5014
+-87.806 42.044 4902
+-87.68 42.044 4832
+-87.554 42.044 4769
+-87.428 42.044 4635
+-87.302 42.044 4547
+-87.176 42.044 4509
+-87.05 42.044 4491
+-86.924 42.044 4465
+-86.798 42.044 4444
+-86.672 42.044 4379
+-86.546 42.044 4296
+-86.42 42.044 4218
+-86.294 42.044 4132
+-86.168 42.044 4043
+-86.042 42.044 3966
+-85.916 42.044 3897
+-85.79 42.044 3799
+-85.664 42.044 3737
+-85.538 42.044 3752
+-85.412 42.044 3707
+-85.286 42.044 3653
+-85.16 42.044 3624
+-85.034 42.044 3624
+-84.908 42.044 3615
+-84.782 42.044 3594
+-84.656 42.044 3563
+-84.53 42.044 3488
+-84.404 42.044 3447
+-84.278 42.044 3407
+-84.152 42.044 3368
+-84.026 42.044 3349
+-83.9 42.044 3282
+-83.774 42.044 3273
+-83.648 42.044 3266
+-83.522 42.044 3269
+-83.396 42.044 3274
+-83.27 42.044 3220
+-83.144 42.044 3228
+-83.018 42.044 3229
+-82.892 42.044 3232
+-82.766 42.044 3240
+-82.64 42.044 3239
+-82.514 42.044 3281
+-82.388 42.044 3249
+-82.262 42.044 3251
+-82.136 42.044 3258
+-82.01 42.044 3307
+-81.884 42.044 3278
+-81.758 42.044 3285
+-81.632 42.044 3374
+-81.506 42.044 3364
+-81.38 42.044 3371
+-81.254 42.044 3336
+-81.128 42.044 3391
+-81.002 42.044 3395
+-80.876 42.044 3400
+-80.75 42.044 3406
+-80.624 42.044 3411
+-80.498 42.044 3409
+-80.372 42.044 3414
+-80.246 42.044 3418
+-80.12 42.044 3408
+-79.994 42.044 3368
+-79.868 42.044 3365
+-79.742 42.044 3368
+-79.616 42.044 3371
+-79.49 42.044 3374
+-79.364 42.044 3377
+-79.238 42.044 3379
+-79.112 42.044 3382
+-78.986 42.044 3384
+-78.86 42.044 3386
+-78.734 42.044 3388
+-78.608 42.044 3390
+-78.482 42.044 3392
+-78.356 42.044 3394
+-78.23 42.044 3395
+-78.104 42.044 3397
+-77.978 42.044 3472
+-77.852 42.044 3474
+-77.726 42.044 3464
+-77.6 42.044 3466
+-77.474 42.044 3468
+-77.348 42.044 3470
+-77.222 42.044 3472
+-77.096 42.044 3474
+-76.97 42.044 3476
+-76.844 42.044 3477
+-76.718 42.044 3479
+-76.592 42.044 3480
+-76.466 42.044 3482
+-76.34 42.044 3507
+-76.214 42.044 3509
+-76.088 42.044 3511
+-75.962 42.044 3513
+-75.836 42.044 3515
+-75.71 42.044 3517
+-75.584 42.044 3483
+-75.458 42.044 3485
+-75.332 42.044 3486
+-75.206 42.044 3488
+-75.08 42.044 3514
+-74.954 42.044 3516
+-74.828 42.044 3518
+-74.702 42.044 3478
+-74.576 42.044 3480
+-74.45 42.044 3481
+-74.324 42.044 3607
+-74.198 42.044 3608
+-74.072 42.044 3608
+-73.946 42.044 3609
+-73.82 42.044 3610
+-73.694 42.044 3550
+-73.568 42.044 3551
+-73.442 42.044 3552
+-73.316 42.044 3552
+-73.19 42.044 3553
+-73.064 42.044 3553
+-72.938 42.044 3553
+-72.812 42.044 3554
+-72.686 42.044 3554
+-72.56 42.044 3555
+-72.434 42.044 3534
+-72.308 42.044 3522
+-72.182 42.044 3523
+-72.056 42.044 3523
+-71.93 42.044 3524
+-71.804 42.044 3524
+-71.678 42.044 3525
+-71.552 42.044 3507
+-71.426 42.044 3508
+-71.3 42.044 3508
+-71.174 42.044 3509
+-71.048 42.044 3509
+-70.922 42.044 3509
+-70.796 42.044 3509
+-70.67 42.044 3510
+-70.544 42.044 3457
+-70.418 42.044 3457
+-70.292 42.044 3458
+-70.166 42.044 3458
+-70.04 42.044 3458
+-69.914 42.044 3458
+-69.788 42.044 3459
+-69.662 42.044 3459
+-69.536 42.044 3459
+-69.41 42.044 3459
+-69.284 42.044 3460
+-69.158 42.044 3460
+-69.032 42.044 3460
+-68.906 42.044 3382
+-68.78 42.044 3382
+-68.654 42.044 3382
+-68.528 42.044 3382
+-68.402 42.044 3382
+-68.276 42.044 3382
+-68.15 42.044 3381
+-68.024 42.044 3381
+-67.898 42.044 3381
+-67.772 42.044 3381
+-67.646 42.044 3381
+-67.52 42.044 3381
+-67.394 42.044 3381
+-67.268 42.044 3381
+-67.142 42.044 3381
+-67.016 42.044 3380
+-66.89 42.044 3380
+-66.764 42.044 3380
+-66.638 42.044 3380
+-66.512 42.044 3380
+-66.386 42.044 3380
+-66.26 42.044 3380
+-66.134 42.044 3380
+-66.008 42.044 3380
+-65.882 42.044 3380
+-65.756 42.044 3067
+-65.63 42.044 3066
+-65.504 42.044 3066
+-65.378 42.044 3066
+-65.252 42.044 3065
+-65.126 42.044 3065
+-128 41.992 2930
+-127.874 41.992 2951
+-127.748 41.992 2983
+-127.622 41.992 3015
+-127.496 41.992 3045
+-127.37 41.992 3070
+-127.244 41.992 3084
+-127.118 41.992 3078
+-126.992 41.992 3058
+-126.866 41.992 3044
+-126.74 41.992 3041
+-126.614 41.992 3023
+-126.488 41.992 3070
+-126.362 41.992 3162
+-126.236 41.992 3264
+-126.11 41.992 3358
+-125.984 41.992 3463
+-125.858 41.992 3508
+-125.732 41.992 3562
+-125.606 41.992 3621
+-125.48 41.992 3664
+-125.354 41.992 3711
+-125.228 41.992 3755
+-125.102 41.992 3820
+-124.976 41.992 3845
+-124.85 41.992 3865
+-124.724 41.992 3898
+-124.598 41.992 3909
+-124.472 41.992 3932
+-124.346 41.992 3965
+-124.22 41.992 4009
+-124.094 41.992 4037
+-123.968 41.992 4055
+-123.842 41.992 4062
+-123.716 41.992 4066
+-123.59 41.992 4091
+-123.464 41.992 4095
+-123.338 41.992 4105
+-123.212 41.992 4100
+-123.086 41.992 4100
+-122.96 41.992 4091
+-122.834 41.992 4093
+-122.708 41.992 4104
+-122.582 41.992 4091
+-122.456 41.992 4069
+-122.33 41.992 4016
+-122.204 41.992 3988
+-122.078 41.992 3960
+-121.952 41.992 3951
+-121.826 41.992 3977
+-121.7 41.992 3931
+-121.574 41.992 3880
+-121.448 41.992 3909
+-121.322 41.992 3944
+-121.196 41.992 3984
+-121.07 41.992 3998
+-120.944 41.992 4046
+-120.818 41.992 4129
+-120.692 41.992 4214
+-120.566 41.992 4254
+-120.44 41.992 4334
+-120.314 41.992 4411
+-120.188 41.992 4512
+-120.062 41.992 4531
+-119.936 41.992 4588
+-119.81 41.992 4678
+-119.684 41.992 4751
+-119.558 41.992 4775
+-119.432 41.992 4810
+-119.306 41.992 4840
+-119.18 41.992 4851
+-119.054 41.992 4864
+-118.928 41.992 4860
+-118.802 41.992 4855
+-118.676 41.992 4865
+-118.55 41.992 4889
+-118.424 41.992 4897
+-118.298 41.992 4898
+-118.172 41.992 4886
+-118.046 41.992 4877
+-117.92 41.992 4871
+-117.794 41.992 4867
+-117.668 41.992 4851
+-117.542 41.992 4821
+-117.416 41.992 4780
+-117.29 41.992 4730
+-117.164 41.992 4731
+-117.038 41.992 4691
+-116.912 41.992 4663
+-116.786 41.992 4622
+-116.66 41.992 4545
+-116.534 41.992 4496
+-116.408 41.992 4461
+-116.282 41.992 4384
+-116.156 41.992 4317
+-116.03 41.992 4241
+-115.904 41.992 4165
+-115.778 41.992 4186
+-115.652 41.992 4154
+-115.526 41.992 4088
+-115.4 41.992 4030
+-115.274 41.992 3975
+-115.148 41.992 3901
+-115.022 41.992 3809
+-114.896 41.992 3746
+-114.77 41.992 3658
+-114.644 41.992 3589
+-114.518 41.992 3517
+-114.392 41.992 3410
+-114.266 41.992 3371
+-114.14 41.992 3285
+-114.014 41.992 3247
+-113.888 41.992 3125
+-113.762 41.992 3099
+-113.636 41.992 3096
+-113.51 41.992 3077
+-113.384 41.992 3039
+-113.258 41.992 3017
+-113.132 41.992 2990
+-113.006 41.992 2913
+-112.88 41.992 2853
+-112.754 41.992 2775
+-112.628 41.992 2726
+-112.502 41.992 2696
+-112.376 41.992 2669
+-112.25 41.992 2655
+-112.124 41.992 2637
+-111.998 41.992 2589
+-111.872 41.992 2599
+-111.746 41.992 2600
+-111.62 41.992 2556
+-111.494 41.992 2559
+-111.368 41.992 2564
+-111.242 41.992 2603
+-111.116 41.992 2603
+-110.99 41.992 2611
+-110.864 41.992 2599
+-110.738 41.992 2601
+-110.612 41.992 2614
+-110.486 41.992 2616
+-110.36 41.992 2629
+-110.234 41.992 2597
+-110.108 41.992 2566
+-109.982 41.992 2576
+-109.856 41.992 2585
+-109.73 41.992 2593
+-109.604 41.992 2601
+-109.478 41.992 2549
+-109.352 41.992 2555
+-109.226 41.992 2560
+-109.1 41.992 2564
+-108.974 41.992 2569
+-108.848 41.992 2573
+-108.722 41.992 2577
+-108.596 41.992 2581
+-108.47 41.992 2585
+-108.344 41.992 2588
+-108.218 41.992 2570
+-108.092 41.992 2574
+-107.966 41.992 2569
+-107.84 41.992 2542
+-107.714 41.992 2545
+-107.588 41.992 2548
+-107.462 41.992 2563
+-107.336 41.992 2566
+-107.21 41.992 2556
+-107.084 41.992 2561
+-106.958 41.992 2565
+-106.832 41.992 2570
+-106.706 41.992 2574
+-106.58 41.992 2578
+-106.454 41.992 2582
+-106.328 41.992 2650
+-106.202 41.992 2440
+-106.076 41.992 2432
+-105.95 41.992 2256
+-105.824 41.992 2230
+-105.698 41.992 2166
+-105.572 41.992 2155
+-105.446 41.992 2144
+-105.32 41.992 2131
+-105.194 41.992 1981
+-105.068 41.992 1902
+-104.942 41.992 1870
+-104.816 41.992 1867
+-104.69 41.992 1904
+-104.564 41.992 1843
+-104.438 41.992 1847
+-104.312 41.992 1829
+-104.186 41.992 1891
+-104.06 41.992 1892
+-103.934 41.992 1984
+-103.808 41.992 2038
+-103.682 41.992 2094
+-103.556 41.992 2078
+-103.43 41.992 2251
+-103.304 41.992 2243
+-103.178 41.992 2293
+-103.052 41.992 2283
+-102.926 41.992 2272
+-102.8 41.992 2314
+-102.674 41.992 2303
+-102.548 41.992 2292
+-102.422 41.992 2281
+-102.296 41.992 2268
+-102.17 41.992 2255
+-102.044 41.992 2252
+-101.918 41.992 2250
+-101.792 41.992 2276
+-101.666 41.992 2261
+-101.54 41.992 2245
+-101.414 41.992 2227
+-101.288 41.992 2246
+-101.162 41.992 2225
+-101.036 41.992 2202
+-100.91 41.992 2177
+-100.784 41.992 2149
+-100.658 41.992 2119
+-100.532 41.992 2085
+-100.406 41.992 2082
+-100.28 41.992 2082
+-100.154 41.992 2035
+-100.028 41.992 1981
+-99.902 41.992 1920
+-99.776 41.992 1850
+-99.65 41.992 1769
+-99.524 41.992 1675
+-99.398 41.992 1573
+-99.272 41.992 1467
+-99.146 41.992 1333
+-99.02 41.992 1181
+-98.894 41.992 1001
+-98.768 41.992 818
+-98.642 41.992 651
+-98.516 41.992 532
+-98.39 41.992 494
+-98.264 41.992 565
+-98.138 41.992 745
+-98.012 41.992 1043
+-97.886 41.992 1398
+-97.76 41.992 1709
+-97.634 41.992 1983
+-97.508 41.992 2209
+-97.382 41.992 2384
+-97.256 41.992 2522
+-97.13 41.992 2700
+-97.004 41.992 2785
+-96.878 41.992 2844
+-96.752 41.992 2932
+-96.626 41.992 2984
+-96.5 41.992 3067
+-96.374 41.992 3134
+-96.248 41.992 3287
+-96.122 41.992 3325
+-95.996 41.992 3362
+-95.87 41.992 3445
+-95.744 41.992 3465
+-95.618 41.992 3508
+-95.492 41.992 3513
+-95.366 41.992 3544
+-95.24 41.992 3575
+-95.114 41.992 3598
+-94.988 41.992 3666
+-94.862 41.992 3735
+-94.736 41.992 3817
+-94.61 41.992 3837
+-94.484 41.992 3931
+-94.358 41.992 4095
+-94.232 41.992 4253
+-94.106 41.992 4399
+-93.98 41.992 4507
+-93.854 41.992 4550
+-93.728 41.992 4560
+-93.602 41.992 4645
+-93.476 41.992 4763
+-93.35 41.992 4853
+-93.224 41.992 4913
+-93.098 41.992 4973
+-92.972 41.992 5043
+-92.846 41.992 5076
+-92.72 41.992 5157
+-92.594 41.992 5253
+-92.468 41.992 5316
+-92.342 41.992 5415
+-92.216 41.992 5483
+-92.09 41.992 5535
+-91.964 41.992 5603
+-91.838 41.992 5690
+-91.712 41.992 5720
+-91.586 41.992 5769
+-91.46 41.992 5820
+-91.334 41.992 5859
+-91.208 41.992 5877
+-91.082 41.992 5899
+-90.956 41.992 5910
+-90.83 41.992 5908
+-90.704 41.992 5939
+-90.578 41.992 5933
+-90.452 41.992 5943
+-90.326 41.992 5959
+-90.2 41.992 5927
+-90.074 41.992 5945
+-89.948 41.992 5906
+-89.822 41.992 5886
+-89.696 41.992 5858
+-89.57 41.992 5811
+-89.444 41.992 5799
+-89.318 41.992 5757
+-89.192 41.992 5707
+-89.066 41.992 5650
+-88.94 41.992 5587
+-88.814 41.992 5533
+-88.688 41.992 5486
+-88.562 41.992 5405
+-88.436 41.992 5365
+-88.31 41.992 5278
+-88.184 41.992 5172
+-88.058 41.992 5182
+-87.932 41.992 5113
+-87.806 41.992 5004
+-87.68 41.992 4899
+-87.554 41.992 4813
+-87.428 41.992 4705
+-87.302 41.992 4654
+-87.176 41.992 4624
+-87.05 41.992 4581
+-86.924 41.992 4558
+-86.798 41.992 4514
+-86.672 41.992 4454
+-86.546 41.992 4377
+-86.42 41.992 4276
+-86.294 41.992 4186
+-86.168 41.992 4106
+-86.042 41.992 4044
+-85.916 41.992 3981
+-85.79 41.992 3890
+-85.664 41.992 3823
+-85.538 41.992 3810
+-85.412 41.992 3782
+-85.286 41.992 3735
+-85.16 41.992 3682
+-85.034 41.992 3666
+-84.908 41.992 3646
+-84.782 41.992 3618
+-84.656 41.992 3575
+-84.53 41.992 3544
+-84.404 41.992 3493
+-84.278 41.992 3453
+-84.152 41.992 3429
+-84.026 41.992 3370
+-83.9 41.992 3357
+-83.774 41.992 3316
+-83.648 41.992 3330
+-83.522 41.992 3316
+-83.396 41.992 3322
+-83.27 41.992 3285
+-83.144 41.992 3243
+-83.018 41.992 3246
+-82.892 41.992 3254
+-82.766 41.992 3298
+-82.64 41.992 3293
+-82.514 41.992 3305
+-82.388 41.992 3304
+-82.262 41.992 3311
+-82.136 41.992 3315
+-82.01 41.992 3286
+-81.884 41.992 3292
+-81.758 41.992 3380
+-81.632 41.992 3370
+-81.506 41.992 3377
+-81.38 41.992 3342
+-81.254 41.992 3395
+-81.128 41.992 3399
+-81.002 41.992 3404
+-80.876 41.992 3409
+-80.75 41.992 3414
+-80.624 41.992 3412
+-80.498 41.992 3417
+-80.372 41.992 3421
+-80.246 41.992 3410
+-80.12 41.992 3371
+-79.994 41.992 3368
+-79.868 41.992 3371
+-79.742 41.992 3374
+-79.616 41.992 3377
+-79.49 41.992 3379
+-79.364 41.992 3382
+-79.238 41.992 3384
+-79.112 41.992 3386
+-78.986 41.992 3389
+-78.86 41.992 3390
+-78.734 41.992 3392
+-78.608 41.992 3394
+-78.482 41.992 3396
+-78.356 41.992 3397
+-78.23 41.992 3399
+-78.104 41.992 3472
+-77.978 41.992 3474
+-77.852 41.992 3464
+-77.726 41.992 3466
+-77.6 41.992 3468
+-77.474 41.992 3470
+-77.348 41.992 3472
+-77.222 41.992 3474
+-77.096 41.992 3476
+-76.97 41.992 3477
+-76.844 41.992 3479
+-76.718 41.992 3481
+-76.592 41.992 3482
+-76.466 41.992 3507
+-76.34 41.992 3509
+-76.214 41.992 3511
+-76.088 41.992 3513
+-75.962 41.992 3515
+-75.836 41.992 3517
+-75.71 41.992 3484
+-75.584 41.992 3485
+-75.458 41.992 3487
+-75.332 41.992 3488
+-75.206 41.992 3514
+-75.08 41.992 3516
+-74.954 41.992 3518
+-74.828 41.992 3478
+-74.702 41.992 3480
+-74.576 41.992 3481
+-74.45 41.992 3606
+-74.324 41.992 3607
+-74.198 41.992 3608
+-74.072 41.992 3609
+-73.946 41.992 3610
+-73.82 41.992 3550
+-73.694 41.992 3551
+-73.568 41.992 3551
+-73.442 41.992 3552
+-73.316 41.992 3552
+-73.19 41.992 3553
+-73.064 41.992 3553
+-72.938 41.992 3554
+-72.812 41.992 3554
+-72.686 41.992 3555
+-72.56 41.992 3533
+-72.434 41.992 3522
+-72.308 41.992 3523
+-72.182 41.992 3523
+-72.056 41.992 3524
+-71.93 41.992 3524
+-71.804 41.992 3507
+-71.678 41.992 3507
+-71.552 41.992 3508
+-71.426 41.992 3508
+-71.3 41.992 3508
+-71.174 41.992 3509
+-71.048 41.992 3509
+-70.922 41.992 3509
+-70.796 41.992 3510
+-70.67 41.992 3457
+-70.544 41.992 3457
+-70.418 41.992 3457
+-70.292 41.992 3458
+-70.166 41.992 3458
+-70.04 41.992 3458
+-69.914 41.992 3458
+-69.788 41.992 3459
+-69.662 41.992 3459
+-69.536 41.992 3459
+-69.41 41.992 3459
+-69.284 41.992 3460
+-69.158 41.992 3460
+-69.032 41.992 3382
+-68.906 41.992 3382
+-68.78 41.992 3382
+-68.654 41.992 3382
+-68.528 41.992 3382
+-68.402 41.992 3382
+-68.276 41.992 3381
+-68.15 41.992 3381
+-68.024 41.992 3381
+-67.898 41.992 3381
+-67.772 41.992 3381
+-67.646 41.992 3381
+-67.52 41.992 3381
+-67.394 41.992 3381
+-67.268 41.992 3381
+-67.142 41.992 3380
+-67.016 41.992 3380
+-66.89 41.992 3380
+-66.764 41.992 3380
+-66.638 41.992 3380
+-66.512 41.992 3380
+-66.386 41.992 3380
+-66.26 41.992 3380
+-66.134 41.992 3380
+-66.008 41.992 3379
+-65.882 41.992 3067
+-65.756 41.992 3067
+-65.63 41.992 3066
+-65.504 41.992 3066
+-65.378 41.992 3065
+-65.252 41.992 3065
+-65.126 41.992 3065
+-128 41.94 2967
+-127.874 41.94 2987
+-127.748 41.94 3007
+-127.622 41.94 3030
+-127.496 41.94 3053
+-127.37 41.94 3071
+-127.244 41.94 3052
+-127.118 41.94 3071
+-126.992 41.94 3069
+-126.866 41.94 3061
+-126.74 41.94 3057
+-126.614 41.94 3108
+-126.488 41.94 3145
+-126.362 41.94 3191
+-126.236 41.94 3278
+-126.11 41.94 3338
+-125.984 41.94 3417
+-125.858 41.94 3440
+-125.732 41.94 3453
+-125.606 41.94 3477
+-125.48 41.94 3525
+-125.354 41.94 3591
+-125.228 41.94 3655
+-125.102 41.94 3706
+-124.976 41.94 3769
+-124.85 41.94 3783
+-124.724 41.94 3812
+-124.598 41.94 3806
+-124.472 41.94 3834
+-124.346 41.94 3880
+-124.22 41.94 3952
+-124.094 41.94 3987
+-123.968 41.94 4011
+-123.842 41.94 4022
+-123.716 41.94 4028
+-123.59 41.94 4036
+-123.464 41.94 4040
+-123.338 41.94 4047
+-123.212 41.94 4031
+-123.086 41.94 4034
+-122.96 41.94 4084
+-122.834 41.94 4061
+-122.708 41.94 4053
+-122.582 41.94 4045
+-122.456 41.94 4011
+-122.33 41.94 3979
+-122.204 41.94 3935
+-122.078 41.94 3910
+-121.952 41.94 3915
+-121.826 41.94 3923
+-121.7 41.94 3897
+-121.574 41.94 3873
+-121.448 41.94 3865
+-121.322 41.94 3894
+-121.196 41.94 3925
+-121.07 41.94 3949
+-120.944 41.94 4003
+-120.818 41.94 4074
+-120.692 41.94 4141
+-120.566 41.94 4204
+-120.44 41.94 4253
+-120.314 41.94 4318
+-120.188 41.94 4429
+-120.062 41.94 4514
+-119.936 41.94 4565
+-119.81 41.94 4637
+-119.684 41.94 4700
+-119.558 41.94 4748
+-119.432 41.94 4758
+-119.306 41.94 4807
+-119.18 41.94 4809
+-119.054 41.94 4811
+-118.928 41.94 4802
+-118.802 41.94 4815
+-118.676 41.94 4826
+-118.55 41.94 4837
+-118.424 41.94 4845
+-118.298 41.94 4828
+-118.172 41.94 4806
+-118.046 41.94 4804
+-117.92 41.94 4793
+-117.794 41.94 4789
+-117.668 41.94 4774
+-117.542 41.94 4767
+-117.416 41.94 4751
+-117.29 41.94 4721
+-117.164 41.94 4676
+-117.038 41.94 4612
+-116.912 41.94 4617
+-116.786 41.94 4586
+-116.66 41.94 4507
+-116.534 41.94 4472
+-116.408 41.94 4419
+-116.282 41.94 4332
+-116.156 41.94 4277
+-116.03 41.94 4202
+-115.904 41.94 4167
+-115.778 41.94 4128
+-115.652 41.94 4064
+-115.526 41.94 4013
+-115.4 41.94 3956
+-115.274 41.94 3916
+-115.148 41.94 3848
+-115.022 41.94 3746
+-114.896 41.94 3684
+-114.77 41.94 3594
+-114.644 41.94 3506
+-114.518 41.94 3416
+-114.392 41.94 3306
+-114.266 41.94 3249
+-114.14 41.94 3179
+-114.014 41.94 3151
+-113.888 41.94 3048
+-113.762 41.94 3029
+-113.636 41.94 3015
+-113.51 41.94 3008
+-113.384 41.94 2992
+-113.258 41.94 2981
+-113.132 41.94 2925
+-113.006 41.94 2835
+-112.88 41.94 2791
+-112.754 41.94 2732
+-112.628 41.94 2713
+-112.502 41.94 2678
+-112.376 41.94 2656
+-112.25 41.94 2637
+-112.124 41.94 2597
+-111.998 41.94 2587
+-111.872 41.94 2580
+-111.746 41.94 2597
+-111.62 41.94 2602
+-111.494 41.94 2560
+-111.368 41.94 2566
+-111.242 41.94 2573
+-111.116 41.94 2581
+-110.99 41.94 2564
+-110.864 41.94 2575
+-110.738 41.94 2575
+-110.612 41.94 2587
+-110.486 41.94 2475
+-110.36 41.94 2524
+-110.234 41.94 2532
+-110.108 41.94 2556
+-109.982 41.94 2565
+-109.856 41.94 2574
+-109.73 41.94 2582
+-109.604 41.94 2470
+-109.478 41.94 2474
+-109.352 41.94 2479
+-109.226 41.94 2483
+-109.1 41.94 2486
+-108.974 41.94 2490
+-108.848 41.94 2494
+-108.722 41.94 2497
+-108.596 41.94 2500
+-108.47 41.94 2503
+-108.344 41.94 2506
+-108.218 41.94 2509
+-108.092 41.94 2561
+-107.966 41.94 2565
+-107.84 41.94 2560
+-107.714 41.94 2533
+-107.588 41.94 2536
+-107.462 41.94 2540
+-107.336 41.94 2554
+-107.21 41.94 2558
+-107.084 41.94 2548
+-106.958 41.94 2553
+-106.832 41.94 2558
+-106.706 41.94 2562
+-106.58 41.94 2566
+-106.454 41.94 2571
+-106.328 41.94 2575
+-106.202 41.94 2489
+-106.076 41.94 2260
+-105.95 41.94 2243
+-105.824 41.94 2163
+-105.698 41.94 2154
+-105.572 41.94 2143
+-105.446 41.94 2132
+-105.32 41.94 2119
+-105.194 41.94 1972
+-105.068 41.94 1873
+-104.942 41.94 1863
+-104.816 41.94 1860
+-104.69 41.94 1871
+-104.564 41.94 1840
+-104.438 41.94 1845
+-104.312 41.94 1829
+-104.186 41.94 1892
+-104.06 41.94 1892
+-103.934 41.94 2022
+-103.808 41.94 2039
+-103.682 41.94 2036
+-103.556 41.94 2090
+-103.43 41.94 2226
+-103.304 41.94 2244
+-103.178 41.94 2235
+-103.052 41.94 2284
+-102.926 41.94 2274
+-102.8 41.94 2262
+-102.674 41.94 2304
+-102.548 41.94 2293
+-102.422 41.94 2281
+-102.296 41.94 2269
+-102.17 41.94 2256
+-102.044 41.94 2242
+-101.918 41.94 2237
+-101.792 41.94 2234
+-101.666 41.94 2260
+-101.54 41.94 2244
+-101.414 41.94 2226
+-101.288 41.94 2207
+-101.162 41.94 2224
+-101.036 41.94 2201
+-100.91 41.94 2176
+-100.784 41.94 2148
+-100.658 41.94 2117
+-100.532 41.94 2083
+-100.406 41.94 2045
+-100.28 41.94 2038
+-100.154 41.94 2030
+-100.028 41.94 1976
+-99.902 41.94 1914
+-99.776 41.94 1842
+-99.65 41.94 1758
+-99.524 41.94 1660
+-99.398 41.94 1546
+-99.272 41.94 1420
+-99.146 41.94 1282
+-99.02 41.94 1115
+-98.894 41.94 925
+-98.768 41.94 717
+-98.642 41.94 522
+-98.516 41.94 375
+-98.39 41.94 320
+-98.264 41.94 391
+-98.138 41.94 591
+-98.012 41.94 887
+-97.886 41.94 1262
+-97.76 41.94 1651
+-97.634 41.94 1950
+-97.508 41.94 2186
+-97.382 41.94 2415
+-97.256 41.94 2555
+-97.13 41.94 2668
+-97.004 41.94 2759
+-96.878 41.94 2819
+-96.752 41.94 2876
+-96.626 41.94 2984
+-96.5 41.94 3035
+-96.374 41.94 3093
+-96.248 41.94 3158
+-96.122 41.94 3338
+-95.996 41.94 3383
+-95.87 41.94 3418
+-95.744 41.94 3441
+-95.618 41.94 3489
+-95.492 41.94 3486
+-95.366 41.94 3472
+-95.24 41.94 3492
+-95.114 41.94 3534
+-94.988 41.94 3563
+-94.862 41.94 3667
+-94.736 41.94 3796
+-94.61 41.94 3781
+-94.484 41.94 3892
+-94.358 41.94 4094
+-94.232 41.94 4246
+-94.106 41.94 4407
+-93.98 41.94 4530
+-93.854 41.94 4604
+-93.728 41.94 4662
+-93.602 41.94 4748
+-93.476 41.94 4825
+-93.35 41.94 4906
+-93.224 41.94 4951
+-93.098 41.94 5012
+-92.972 41.94 5080
+-92.846 41.94 5132
+-92.72 41.94 5222
+-92.594 41.94 5251
+-92.468 41.94 5395
+-92.342 41.94 5460
+-92.216 41.94 5480
+-92.09 41.94 5573
+-91.964 41.94 5673
+-91.838 41.94 5737
+-91.712 41.94 5755
+-91.586 41.94 5825
+-91.46 41.94 5815
+-91.334 41.94 5888
+-91.208 41.94 5922
+-91.082 41.94 5943
+-90.956 41.94 5962
+-90.83 41.94 5987
+-90.704 41.94 5996
+-90.578 41.94 6006
+-90.452 41.94 6008
+-90.326 41.94 5995
+-90.2 41.94 5989
+-90.074 41.94 5975
+-89.948 41.94 5936
+-89.822 41.94 5938
+-89.696 41.94 5914
+-89.57 41.94 5895
+-89.444 41.94 5843
+-89.318 41.94 5808
+-89.192 41.94 5753
+-89.066 41.94 5727
+-88.94 41.94 5613
+-88.814 41.94 5574
+-88.688 41.94 5505
+-88.562 41.94 5409
+-88.436 41.94 5370
+-88.31 41.94 5347
+-88.184 41.94 5264
+-88.058 41.94 5209
+-87.932 41.94 5143
+-87.806 41.94 5031
+-87.68 41.94 4930
+-87.554 41.94 4849
+-87.428 41.94 4747
+-87.302 41.94 4661
+-87.176 41.94 4684
+-87.05 41.94 4674
+-86.924 41.94 4633
+-86.798 41.94 4572
+-86.672 41.94 4527
+-86.546 41.94 4435
+-86.42 41.94 4328
+-86.294 41.94 4228
+-86.168 41.94 4175
+-86.042 41.94 4112
+-85.916 41.94 4026
+-85.79 41.94 3972
+-85.664 41.94 3920
+-85.538 41.94 3836
+-85.412 41.94 3771
+-85.286 41.94 3726
+-85.16 41.94 3728
+-85.034 41.94 3717
+-84.908 41.94 3686
+-84.782 41.94 3648
+-84.656 41.94 3594
+-84.53 41.94 3557
+-84.404 41.94 3489
+-84.278 41.94 3454
+-84.152 41.94 3419
+-84.026 41.94 3398
+-83.9 41.94 3354
+-83.774 41.94 3369
+-83.648 41.94 3354
+-83.522 41.94 3331
+-83.396 41.94 3336
+-83.27 41.94 3295
+-83.144 41.94 3301
+-83.018 41.94 3310
+-82.892 41.94 3309
+-82.766 41.94 3305
+-82.64 41.94 3315
+-82.514 41.94 3360
+-82.388 41.94 3368
+-82.262 41.94 3324
+-82.136 41.94 3295
+-82.01 41.94 3301
+-81.884 41.94 3387
+-81.758 41.94 3377
+-81.632 41.94 3383
+-81.506 41.94 3348
+-81.38 41.94 3400
+-81.254 41.94 3403
+-81.128 41.94 3409
+-81.002 41.94 3414
+-80.876 41.94 3418
+-80.75 41.94 3416
+-80.624 41.94 3421
+-80.498 41.94 3425
+-80.372 41.94 3414
+-80.246 41.94 3375
+-80.12 41.94 3371
+-79.994 41.94 3374
+-79.868 41.94 3377
+-79.742 41.94 3380
+-79.616 41.94 3382
+-79.49 41.94 3385
+-79.364 41.94 3387
+-79.238 41.94 3389
+-79.112 41.94 3391
+-78.986 41.94 3393
+-78.86 41.94 3395
+-78.734 41.94 3396
+-78.608 41.94 3398
+-78.482 41.94 3400
+-78.356 41.94 3401
+-78.23 41.94 3472
+-78.104 41.94 3475
+-77.978 41.94 3464
+-77.852 41.94 3466
+-77.726 41.94 3469
+-77.6 41.94 3470
+-77.474 41.94 3472
+-77.348 41.94 3474
+-77.222 41.94 3476
+-77.096 41.94 3478
+-76.97 41.94 3479
+-76.844 41.94 3481
+-76.718 41.94 3482
+-76.592 41.94 3507
+-76.466 41.94 3509
+-76.34 41.94 3511
+-76.214 41.94 3513
+-76.088 41.94 3515
+-75.962 41.94 3517
+-75.836 41.94 3484
+-75.71 41.94 3485
+-75.584 41.94 3487
+-75.458 41.94 3488
+-75.332 41.94 3514
+-75.206 41.94 3516
+-75.08 41.94 3518
+-74.954 41.94 3479
+-74.828 41.94 3480
+-74.702 41.94 3482
+-74.576 41.94 3605
+-74.45 41.94 3606
+-74.324 41.94 3607
+-74.198 41.94 3608
+-74.072 41.94 3609
+-73.946 41.94 3550
+-73.82 41.94 3550
+-73.694 41.94 3551
+-73.568 41.94 3551
+-73.442 41.94 3552
+-73.316 41.94 3552
+-73.19 41.94 3553
+-73.064 41.94 3553
+-72.938 41.94 3554
+-72.812 41.94 3554
+-72.686 41.94 3533
+-72.56 41.94 3522
+-72.434 41.94 3522
+-72.308 41.94 3523
+-72.182 41.94 3523
+-72.056 41.94 3524
+-71.93 41.94 3524
+-71.804 41.94 3507
+-71.678 41.94 3507
+-71.552 41.94 3508
+-71.426 41.94 3508
+-71.3 41.94 3509
+-71.174 41.94 3509
+-71.048 41.94 3509
+-70.922 41.94 3509
+-70.796 41.94 3457
+-70.67 41.94 3457
+-70.544 41.94 3457
+-70.418 41.94 3458
+-70.292 41.94 3458
+-70.166 41.94 3458
+-70.04 41.94 3458
+-69.914 41.94 3459
+-69.788 41.94 3459
+-69.662 41.94 3459
+-69.536 41.94 3459
+-69.41 41.94 3459
+-69.284 41.94 3460
+-69.158 41.94 3382
+-69.032 41.94 3382
+-68.906 41.94 3382
+-68.78 41.94 3382
+-68.654 41.94 3382
+-68.528 41.94 3382
+-68.402 41.94 3381
+-68.276 41.94 3381
+-68.15 41.94 3381
+-68.024 41.94 3381
+-67.898 41.94 3381
+-67.772 41.94 3381
+-67.646 41.94 3381
+-67.52 41.94 3381
+-67.394 41.94 3380
+-67.268 41.94 3380
+-67.142 41.94 3380
+-67.016 41.94 3380
+-66.89 41.94 3380
+-66.764 41.94 3380
+-66.638 41.94 3380
+-66.512 41.94 3380
+-66.386 41.94 3380
+-66.26 41.94 3380
+-66.134 41.94 3379
+-66.008 41.94 3067
+-65.882 41.94 3067
+-65.756 41.94 3066
+-65.63 41.94 3066
+-65.504 41.94 3065
+-65.378 41.94 3065
+-65.252 41.94 3065
+-65.126 41.94 3064
+-128 41.888 2992
+-127.874 41.888 3004
+-127.748 41.888 3018
+-127.622 41.888 3035
+-127.496 41.888 3051
+-127.37 41.888 3033
+-127.244 41.888 3058
+-127.118 41.888 3066
+-126.992 41.888 3069
+-126.866 41.888 3074
+-126.74 41.888 3085
+-126.614 41.888 3102
+-126.488 41.888 3118
+-126.362 41.888 3179
+-126.236 41.888 3275
+-126.11 41.888 3310
+-125.984 41.888 3370
+-125.858 41.888 3348
+-125.732 41.888 3341
+-125.606 41.888 3341
+-125.48 41.888 3396
+-125.354 41.888 3489
+-125.228 41.888 3581
+-125.102 41.888 3647
+-124.976 41.888 3692
+-124.85 41.888 3758
+-124.724 41.888 3729
+-124.598 41.888 3710
+-124.472 41.888 3744
+-124.346 41.888 3807
+-124.22 41.888 3865
+-124.094 41.888 3903
+-123.968 41.888 3931
+-123.842 41.888 3935
+-123.716 41.888 3963
+-123.59 41.888 3997
+-123.464 41.888 4004
+-123.338 41.888 4011
+-123.212 41.888 3995
+-123.086 41.888 3975
+-122.96 41.888 4007
+-122.834 41.888 4013
+-122.708 41.888 4010
+-122.582 41.888 3997
+-122.456 41.888 3961
+-122.33 41.888 3929
+-122.204 41.888 3874
+-122.078 41.888 3845
+-121.952 41.888 3840
+-121.826 41.888 3848
+-121.7 41.888 3842
+-121.574 41.888 3798
+-121.448 41.888 3758
+-121.322 41.888 3813
+-121.196 41.888 3875
+-121.07 41.888 3910
+-120.944 41.888 3951
+-120.818 41.888 4018
+-120.692 41.888 4116
+-120.566 41.888 4183
+-120.44 41.888 4242
+-120.314 41.888 4255
+-120.188 41.888 4333
+-120.062 41.888 4422
+-119.936 41.888 4503
+-119.81 41.888 4584
+-119.684 41.888 4656
+-119.558 41.888 4690
+-119.432 41.888 4701
+-119.306 41.888 4749
+-119.18 41.888 4750
+-119.054 41.888 4761
+-118.928 41.888 4750
+-118.802 41.888 4771
+-118.676 41.888 4783
+-118.55 41.888 4780
+-118.424 41.888 4774
+-118.298 41.888 4762
+-118.172 41.888 4761
+-118.046 41.888 4752
+-117.92 41.888 4744
+-117.794 41.888 4728
+-117.668 41.888 4700
+-117.542 41.888 4714
+-117.416 41.888 4711
+-117.29 41.888 4682
+-117.164 41.888 4635
+-117.038 41.888 4602
+-116.912 41.888 4572
+-116.786 41.888 4541
+-116.66 41.888 4478
+-116.534 41.888 4410
+-116.408 41.888 4335
+-116.282 41.888 4272
+-116.156 41.888 4206
+-116.03 41.888 4147
+-115.904 41.888 4105
+-115.778 41.888 4049
+-115.652 41.888 3961
+-115.526 41.888 3890
+-115.4 41.888 3868
+-115.274 41.888 3849
+-115.148 41.888 3783
+-115.022 41.888 3701
+-114.896 41.888 3632
+-114.77 41.888 3541
+-114.644 41.888 3407
+-114.518 41.888 3302
+-114.392 41.888 3190
+-114.266 41.888 3143
+-114.14 41.888 3086
+-114.014 41.888 3028
+-113.888 41.888 3004
+-113.762 41.888 2934
+-113.636 41.888 2936
+-113.51 41.888 2940
+-113.384 41.888 2924
+-113.258 41.888 2857
+-113.132 41.888 2833
+-113.006 41.888 2800
+-112.88 41.888 2733
+-112.754 41.888 2699
+-112.628 41.888 2669
+-112.502 41.888 2654
+-112.376 41.888 2628
+-112.25 41.888 2587
+-112.124 41.888 2578
+-111.998 41.888 2573
+-111.872 41.888 2570
+-111.746 41.888 2571
+-111.62 41.888 2593
+-111.494 41.888 2571
+-111.368 41.888 2562
+-111.242 41.888 2570
+-111.116 41.888 2578
+-110.99 41.888 2538
+-110.864 41.888 2481
+-110.738 41.888 2478
+-110.612 41.888 2486
+-110.486 41.888 2495
+-110.36 41.888 2543
+-110.234 41.888 2523
+-110.108 41.888 2531
+-109.982 41.888 2554
+-109.856 41.888 2563
+-109.73 41.888 2450
+-109.604 41.888 2455
+-109.478 41.888 2460
+-109.352 41.888 2464
+-109.226 41.888 2468
+-109.1 41.888 2472
+-108.974 41.888 2476
+-108.848 41.888 2480
+-108.722 41.888 2483
+-108.596 41.888 2486
+-108.47 41.888 2490
+-108.344 41.888 2493
+-108.218 41.888 2496
+-108.092 41.888 2499
+-107.966 41.888 2552
+-107.84 41.888 2556
+-107.714 41.888 2551
+-107.588 41.888 2524
+-107.462 41.888 2528
+-107.336 41.888 2531
+-107.21 41.888 2546
+-107.084 41.888 2550
+-106.958 41.888 2541
+-106.832 41.888 2545
+-106.706 41.888 2550
+-106.58 41.888 2555
+-106.454 41.888 2559
+-106.328 41.888 2564
+-106.202 41.888 2474
+-106.076 41.888 2233
+-105.95 41.888 2217
+-105.824 41.888 2151
+-105.698 41.888 2141
+-105.572 41.888 2131
+-105.446 41.888 2120
+-105.32 41.888 2107
+-105.194 41.888 1962
+-105.068 41.888 1866
+-104.942 41.888 1855
+-104.816 41.888 1844
+-104.69 41.888 1866
+-104.564 41.888 1837
+-104.438 41.888 1843
+-104.312 41.888 1830
+-104.186 41.888 1892
+-104.06 41.888 2019
+-103.934 41.888 2017
+-103.808 41.888 2040
+-103.682 41.888 2074
+-103.556 41.888 2091
+-103.43 41.888 2195
+-103.304 41.888 2264
+-103.178 41.888 2237
+-103.052 41.888 2228
+-102.926 41.888 2275
+-102.8 41.888 2264
+-102.674 41.888 2252
+-102.548 41.888 2293
+-102.422 41.888 2282
+-102.296 41.888 2269
+-102.17 41.888 2256
+-102.044 41.888 2242
+-101.918 41.888 2228
+-101.792 41.888 2222
+-101.666 41.888 2218
+-101.54 41.888 2243
+-101.414 41.888 2226
+-101.288 41.888 2207
+-101.162 41.888 2187
+-101.036 41.888 2201
+-100.91 41.888 2176
+-100.784 41.888 2148
+-100.658 41.888 2118
+-100.532 41.888 2084
+-100.406 41.888 2046
+-100.28 41.888 2004
+-100.154 41.888 1992
+-100.028 41.888 1977
+-99.902 41.888 1914
+-99.776 41.888 1842
+-99.65 41.888 1758
+-99.524 41.888 1660
+-99.398 41.888 1545
+-99.272 41.888 1410
+-99.146 41.888 1259
+-99.02 41.888 1090
+-98.894 41.888 895
+-98.768 41.888 684
+-98.642 41.888 476
+-98.516 41.888 317
+-98.39 41.888 255
+-98.264 41.888 326
+-98.138 41.888 537
+-98.012 41.888 850
+-97.886 41.888 1203
+-97.76 41.888 1585
+-97.634 41.888 1981
+-97.508 41.888 2230
+-97.382 41.888 2415
+-97.256 41.888 2551
+-97.13 41.888 2645
+-97.004 41.888 2718
+-96.878 41.888 2813
+-96.752 41.888 2846
+-96.626 41.888 2898
+-96.5 41.888 2957
+-96.374 41.888 3046
+-96.248 41.888 3204
+-96.122 41.888 3293
+-95.996 41.888 3364
+-95.87 41.888 3410
+-95.744 41.888 3437
+-95.618 41.888 3453
+-95.492 41.888 3448
+-95.366 41.888 3394
+-95.24 41.888 3366
+-95.114 41.888 3472
+-94.988 41.888 3480
+-94.862 41.888 3617
+-94.736 41.888 3802
+-94.61 41.888 3859
+-94.484 41.888 3966
+-94.358 41.888 4138
+-94.232 41.888 4249
+-94.106 41.888 4357
+-93.98 41.888 4543
+-93.854 41.888 4650
+-93.728 41.888 4758
+-93.602 41.888 4796
+-93.476 41.888 4862
+-93.35 41.888 4924
+-93.224 41.888 4889
+-93.098 41.888 5046
+-92.972 41.888 5109
+-92.846 41.888 5198
+-92.72 41.888 5277
+-92.594 41.888 5361
+-92.468 41.888 5448
+-92.342 41.888 5501
+-92.216 41.888 5551
+-92.09 41.888 5613
+-91.964 41.888 5702
+-91.838 41.888 5777
+-91.712 41.888 5821
+-91.586 41.888 5880
+-91.46 41.888 5886
+-91.334 41.888 5930
+-91.208 41.888 5979
+-91.082 41.888 5981
+-90.956 41.888 6015
+-90.83 41.888 6027
+-90.704 41.888 6045
+-90.578 41.888 6055
+-90.452 41.888 6066
+-90.326 41.888 6049
+-90.2 41.888 6044
+-90.074 41.888 6060
+-89.948 41.888 6023
+-89.822 41.888 6003
+-89.696 41.888 5977
+-89.57 41.888 5947
+-89.444 41.888 5904
+-89.318 41.888 5857
+-89.192 41.888 5792
+-89.066 41.888 5740
+-88.94 41.888 5672
+-88.814 41.888 5607
+-88.688 41.888 5551
+-88.562 41.888 5535
+-88.436 41.888 5444
+-88.31 41.888 5368
+-88.184 41.888 5331
+-88.058 41.888 5231
+-87.932 41.888 5154
+-87.806 41.888 5063
+-87.68 41.888 4896
+-87.554 41.888 4859
+-87.428 41.888 4756
+-87.302 41.888 4747
+-87.176 41.888 4728
+-87.05 41.888 4700
+-86.924 41.888 4691
+-86.798 41.888 4651
+-86.672 41.888 4594
+-86.546 41.888 4492
+-86.42 41.888 4372
+-86.294 41.888 4255
+-86.168 41.888 4192
+-86.042 41.888 4161
+-85.916 41.888 4048
+-85.79 41.888 3974
+-85.664 41.888 3959
+-85.538 41.888 3834
+-85.412 41.888 3726
+-85.286 41.888 3667
+-85.16 41.888 3724
+-85.034 41.888 3753
+-84.908 41.888 3731
+-84.782 41.888 3693
+-84.656 41.888 3622
+-84.53 41.888 3545
+-84.404 41.888 3472
+-84.278 41.888 3416
+-84.152 41.888 3376
+-84.026 41.888 3357
+-83.9 41.888 3339
+-83.774 41.888 3364
+-83.648 41.888 3348
+-83.522 41.888 3377
+-83.396 41.888 3354
+-83.27 41.888 3309
+-83.144 41.888 3361
+-83.018 41.888 3358
+-82.892 41.888 3359
+-82.766 41.888 3374
+-82.64 41.888 3368
+-82.514 41.888 3376
+-82.388 41.888 3334
+-82.262 41.888 3305
+-82.136 41.888 3350
+-82.01 41.888 3395
+-81.884 41.888 3384
+-81.758 41.888 3391
+-81.632 41.888 3356
+-81.506 41.888 3405
+-81.38 41.888 3408
+-81.254 41.888 3413
+-81.128 41.888 3418
+-81.002 41.888 3423
+-80.876 41.888 3420
+-80.75 41.888 3425
+-80.624 41.888 3429
+-80.498 41.888 3417
+-80.372 41.888 3378
+-80.246 41.888 3375
+-80.12 41.888 3378
+-79.994 41.888 3381
+-79.868 41.888 3383
+-79.742 41.888 3385
+-79.616 41.888 3388
+-79.49 41.888 3390
+-79.364 41.888 3392
+-79.238 41.888 3394
+-79.112 41.888 3396
+-78.986 41.888 3397
+-78.86 41.888 3399
+-78.734 41.888 3401
+-78.608 41.888 3402
+-78.482 41.888 3403
+-78.356 41.888 3472
+-78.23 41.888 3475
+-78.104 41.888 3465
+-77.978 41.888 3467
+-77.852 41.888 3469
+-77.726 41.888 3471
+-77.6 41.888 3473
+-77.474 41.888 3475
+-77.348 41.888 3476
+-77.222 41.888 3478
+-77.096 41.888 3480
+-76.97 41.888 3481
+-76.844 41.888 3483
+-76.718 41.888 3507
+-76.592 41.888 3509
+-76.466 41.888 3511
+-76.34 41.888 3513
+-76.214 41.888 3515
+-76.088 41.888 3517
+-75.962 41.888 3484
+-75.836 41.888 3486
+-75.71 41.888 3487
+-75.584 41.888 3489
+-75.458 41.888 3514
+-75.332 41.888 3516
+-75.206 41.888 3518
+-75.08 41.888 3479
+-74.954 41.888 3480
+-74.828 41.888 3482
+-74.702 41.888 3605
+-74.576 41.888 3606
+-74.45 41.888 3607
+-74.324 41.888 3608
+-74.198 41.888 3609
+-74.072 41.888 3549
+-73.946 41.888 3550
+-73.82 41.888 3551
+-73.694 41.888 3551
+-73.568 41.888 3552
+-73.442 41.888 3552
+-73.316 41.888 3553
+-73.19 41.888 3553
+-73.064 41.888 3554
+-72.938 41.888 3554
+-72.812 41.888 3533
+-72.686 41.888 3521
+-72.56 41.888 3522
+-72.434 41.888 3523
+-72.308 41.888 3523
+-72.182 41.888 3524
+-72.056 41.888 3507
+-71.93 41.888 3507
+-71.804 41.888 3507
+-71.678 41.888 3508
+-71.552 41.888 3508
+-71.426 41.888 3508
+-71.3 41.888 3509
+-71.174 41.888 3509
+-71.048 41.888 3509
+-70.922 41.888 3457
+-70.796 41.888 3457
+-70.67 41.888 3457
+-70.544 41.888 3457
+-70.418 41.888 3458
+-70.292 41.888 3458
+-70.166 41.888 3458
+-70.04 41.888 3458
+-69.914 41.888 3459
+-69.788 41.888 3459
+-69.662 41.888 3459
+-69.536 41.888 3459
+-69.41 41.888 3460
+-69.284 41.888 3382
+-69.158 41.888 3382
+-69.032 41.888 3382
+-68.906 41.888 3382
+-68.78 41.888 3382
+-68.654 41.888 3382
+-68.528 41.888 3381
+-68.402 41.888 3381
+-68.276 41.888 3381
+-68.15 41.888 3381
+-68.024 41.888 3381
+-67.898 41.888 3381
+-67.772 41.888 3381
+-67.646 41.888 3381
+-67.52 41.888 3380
+-67.394 41.888 3380
+-67.268 41.888 3380
+-67.142 41.888 3380
+-67.016 41.888 3380
+-66.89 41.888 3380
+-66.764 41.888 3380
+-66.638 41.888 3380
+-66.512 41.888 3380
+-66.386 41.888 3380
+-66.26 41.888 3379
+-66.134 41.888 3067
+-66.008 41.888 3067
+-65.882 41.888 3066
+-65.756 41.888 3066
+-65.63 41.888 3065
+-65.504 41.888 3065
+-65.378 41.888 3065
+-65.252 41.888 3064
+-65.126 41.888 3064
+-128 41.836 3000
+-127.874 41.836 3008
+-127.748 41.836 3019
+-127.622 41.836 3031
+-127.496 41.836 3009
+-127.37 41.836 3034
+-127.244 41.836 3045
+-127.118 41.836 3051
+-126.992 41.836 3060
+-126.866 41.836 3071
+-126.74 41.836 3084
+-126.614 41.836 3088
+-126.488 41.836 3134
+-126.362 41.836 3167
+-126.236 41.836 3224
+-126.11 41.836 3252
+-125.984 41.836 3308
+-125.858 41.836 3292
+-125.732 41.836 3235
+-125.606 41.836 3203
+-125.48 41.836 3265
+-125.354 41.836 3393
+-125.228 41.836 3511
+-125.102 41.836 3598
+-124.976 41.836 3652
+-124.85 41.836 3687
+-124.724 41.836 3693
+-124.598 41.836 3668
+-124.472 41.836 3699
+-124.346 41.836 3751
+-124.22 41.836 3813
+-124.094 41.836 3837
+-123.968 41.836 3866
+-123.842 41.836 3876
+-123.716 41.836 3912
+-123.59 41.836 3935
+-123.464 41.836 3952
+-123.338 41.836 3973
+-123.212 41.836 3972
+-123.086 41.836 3969
+-122.96 41.836 3965
+-122.834 41.836 3974
+-122.708 41.836 3976
+-122.582 41.836 3950
+-122.456 41.836 3932
+-122.33 41.836 3873
+-122.204 41.836 3838
+-122.078 41.836 3818
+-121.952 41.836 3813
+-121.826 41.836 3813
+-121.7 41.836 3795
+-121.574 41.836 3727
+-121.448 41.836 3624
+-121.322 41.836 3754
+-121.196 41.836 3856
+-121.07 41.836 3888
+-120.944 41.836 3959
+-120.818 41.836 3983
+-120.692 41.836 4090
+-120.566 41.836 4157
+-120.44 41.836 4235
+-120.314 41.836 4228
+-120.188 41.836 4277
+-120.062 41.836 4355
+-119.936 41.836 4446
+-119.81 41.836 4512
+-119.684 41.836 4576
+-119.558 41.836 4623
+-119.432 41.836 4635
+-119.306 41.836 4649
+-119.18 41.836 4677
+-119.054 41.836 4717
+-118.928 41.836 4739
+-118.802 41.836 4745
+-118.676 41.836 4730
+-118.55 41.836 4712
+-118.424 41.836 4706
+-118.298 41.836 4708
+-118.172 41.836 4721
+-118.046 41.836 4713
+-117.92 41.836 4706
+-117.794 41.836 4678
+-117.668 41.836 4643
+-117.542 41.836 4656
+-117.416 41.836 4658
+-117.29 41.836 4635
+-117.164 41.836 4607
+-117.038 41.836 4567
+-116.912 41.836 4476
+-116.786 41.836 4494
+-116.66 41.836 4424
+-116.534 41.836 4353
+-116.408 41.836 4255
+-116.282 41.836 4205
+-116.156 41.836 4127
+-116.03 41.836 4056
+-115.904 41.836 4022
+-115.778 41.836 3990
+-115.652 41.836 3896
+-115.526 41.836 3823
+-115.4 41.836 3828
+-115.274 41.836 3774
+-115.148 41.836 3730
+-115.022 41.836 3648
+-114.896 41.836 3578
+-114.77 41.836 3477
+-114.644 41.836 3338
+-114.518 41.836 3178
+-114.392 41.836 3102
+-114.266 41.836 3067
+-114.14 41.836 2993
+-114.014 41.836 2927
+-113.888 41.836 2879
+-113.762 41.836 2876
+-113.636 41.836 2853
+-113.51 41.836 2870
+-113.384 41.836 2841
+-113.258 41.836 2821
+-113.132 41.836 2794
+-113.006 41.836 2756
+-112.88 41.836 2685
+-112.754 41.836 2650
+-112.628 41.836 2621
+-112.502 41.836 2572
+-112.376 41.836 2558
+-112.25 41.836 2578
+-112.124 41.836 2547
+-111.998 41.836 2548
+-111.872 41.836 2551
+-111.746 41.836 2556
+-111.62 41.836 2562
+-111.494 41.836 2589
+-111.368 41.836 2504
+-111.242 41.836 2515
+-111.116 41.836 2522
+-110.99 41.836 2529
+-110.864 41.836 2537
+-110.738 41.836 2478
+-110.612 41.836 2476
+-110.486 41.836 2484
+-110.36 41.836 2493
+-110.234 41.836 2542
+-110.108 41.836 2520
+-109.982 41.836 2411
+-109.856 41.836 2430
+-109.73 41.836 2435
+-109.604 41.836 2440
+-109.478 41.836 2444
+-109.352 41.836 2449
+-109.226 41.836 2453
+-109.1 41.836 2457
+-108.974 41.836 2461
+-108.848 41.836 2465
+-108.722 41.836 2469
+-108.596 41.836 2472
+-108.47 41.836 2476
+-108.344 41.836 2479
+-108.218 41.836 2483
+-108.092 41.836 2486
+-107.966 41.836 2489
+-107.84 41.836 2543
+-107.714 41.836 2547
+-107.588 41.836 2542
+-107.462 41.836 2516
+-107.336 41.836 2519
+-107.21 41.836 2523
+-107.084 41.836 2538
+-106.958 41.836 2542
+-106.832 41.836 2533
+-106.706 41.836 2538
+-106.58 41.836 2543
+-106.454 41.836 2548
+-106.328 41.836 2473
+-106.202 41.836 2384
+-106.076 41.836 2220
+-105.95 41.836 2204
+-105.824 41.836 2195
+-105.698 41.836 2129
+-105.572 41.836 2119
+-105.446 41.836 2108
+-105.32 41.836 2096
+-105.194 41.836 1953
+-105.068 41.836 1859
+-104.942 41.836 1821
+-104.816 41.836 1839
+-104.69 41.836 1862
+-104.564 41.836 1820
+-104.438 41.836 1842
+-104.312 41.836 1884
+-104.186 41.836 1893
+-104.06 41.836 2021
+-103.934 41.836 2019
+-103.808 41.836 2079
+-103.682 41.836 2075
+-103.556 41.836 2093
+-103.43 41.836 2197
+-103.304 41.836 2188
+-103.178 41.836 2256
+-103.052 41.836 2229
+-102.926 41.836 2277
+-102.8 41.836 2266
+-102.674 41.836 2254
+-102.548 41.836 2242
+-102.422 41.836 2283
+-102.296 41.836 2270
+-102.17 41.836 2257
+-102.044 41.836 2243
+-101.918 41.836 2229
+-101.792 41.836 2213
+-101.666 41.836 2206
+-101.54 41.836 2201
+-101.414 41.836 2226
+-101.288 41.836 2208
+-101.162 41.836 2188
+-101.036 41.836 2166
+-100.91 41.836 2178
+-100.784 41.836 2150
+-100.658 41.836 2120
+-100.532 41.836 2087
+-100.406 41.836 2050
+-100.28 41.836 2009
+-100.154 41.836 1962
+-100.028 41.836 1945
+-99.902 41.836 1922
+-99.776 41.836 1852
+-99.65 41.836 1770
+-99.524 41.836 1674
+-99.398 41.836 1562
+-99.272 41.836 1431
+-99.146 41.836 1279
+-99.02 41.836 1110
+-98.894 41.836 924
+-98.768 41.836 724
+-98.642 41.836 531
+-98.516 41.836 380
+-98.39 41.836 323
+-98.264 41.836 397
+-98.138 41.836 606
+-98.012 41.836 913
+-97.886 41.836 1278
+-97.76 41.836 1658
+-97.634 41.836 1952
+-97.508 41.836 2256
+-97.382 41.836 2433
+-97.256 41.836 2553
+-97.13 41.836 2642
+-97.004 41.836 2723
+-96.878 41.836 2743
+-96.752 41.836 2767
+-96.626 41.836 2797
+-96.5 41.836 2855
+-96.374 41.836 2948
+-96.248 41.836 3119
+-96.122 41.836 3238
+-95.996 41.836 3329
+-95.87 41.836 3391
+-95.744 41.836 3433
+-95.618 41.836 3437
+-95.492 41.836 3423
+-95.366 41.836 3337
+-95.24 41.836 3249
+-95.114 41.836 3413
+-94.988 41.836 3555
+-94.862 41.836 3690
+-94.736 41.836 3845
+-94.61 41.836 3917
+-94.484 41.836 4015
+-94.358 41.836 4176
+-94.232 41.836 4213
+-94.106 41.836 4338
+-93.98 41.836 4562
+-93.854 41.836 4675
+-93.728 41.836 4762
+-93.602 41.836 4771
+-93.476 41.836 4857
+-93.35 41.836 4935
+-93.224 41.836 5002
+-93.098 41.836 5051
+-92.972 41.836 5097
+-92.846 41.836 5264
+-92.72 41.836 5298
+-92.594 41.836 5394
+-92.468 41.836 5495
+-92.342 41.836 5576
+-92.216 41.836 5586
+-92.09 41.836 5661
+-91.964 41.836 5776
+-91.838 41.836 5810
+-91.712 41.836 5893
+-91.586 41.836 5912
+-91.46 41.836 5952
+-91.334 41.836 6001
+-91.208 41.836 6013
+-91.082 41.836 6052
+-90.956 41.836 6095
+-90.83 41.836 6119
+-90.704 41.836 6104
+-90.578 41.836 6129
+-90.452 41.836 6127
+-90.326 41.836 6113
+-90.2 41.836 6110
+-90.074 41.836 6087
+-89.948 41.836 6105
+-89.822 41.836 6067
+-89.696 41.836 6041
+-89.57 41.836 5990
+-89.444 41.836 5918
+-89.318 41.836 5927
+-89.192 41.836 5850
+-89.066 41.836 5778
+-88.94 41.836 5749
+-88.814 41.836 5643
+-88.688 41.836 5614
+-88.562 41.836 5574
+-88.436 41.836 5505
+-88.31 41.836 5425
+-88.184 41.836 5350
+-88.058 41.836 5240
+-87.932 41.836 5112
+-87.806 41.836 5108
+-87.68 41.836 4997
+-87.554 41.836 4909
+-87.428 41.836 4837
+-87.302 41.836 4806
+-87.176 41.836 4787
+-87.05 41.836 4758
+-86.924 41.836 4730
+-86.798 41.836 4704
+-86.672 41.836 4681
+-86.546 41.836 4599
+-86.42 41.836 4468
+-86.294 41.836 4339
+-86.168 41.836 4249
+-86.042 41.836 4199
+-85.916 41.836 4112
+-85.79 41.836 4038
+-85.664 41.836 4003
+-85.538 41.836 3904
+-85.412 41.836 3811
+-85.286 41.836 3761
+-85.16 41.836 3775
+-85.034 41.836 3800
+-84.908 41.836 3756
+-84.782 41.836 3712
+-84.656 41.836 3634
+-84.53 41.836 3552
+-84.404 41.836 3429
+-84.278 41.836 3340
+-84.152 41.836 3288
+-84.026 41.836 3282
+-83.9 41.836 3296
+-83.774 41.836 3330
+-83.648 41.836 3343
+-83.522 41.836 3370
+-83.396 41.836 3358
+-83.27 41.836 3368
+-83.144 41.836 3423
+-83.018 41.836 3336
+-82.892 41.836 3381
+-82.766 41.836 3376
+-82.64 41.836 3385
+-82.514 41.836 3344
+-82.388 41.836 3362
+-82.262 41.836 3358
+-82.136 41.836 3403
+-82.01 41.836 3393
+-81.884 41.836 3399
+-81.758 41.836 3364
+-81.632 41.836 3411
+-81.506 41.836 3414
+-81.38 41.836 3419
+-81.254 41.836 3424
+-81.128 41.836 3428
+-81.002 41.836 3425
+-80.876 41.836 3430
+-80.75 41.836 3433
+-80.624 41.836 3422
+-80.498 41.836 3382
+-80.372 41.836 3379
+-80.246 41.836 3382
+-80.12 41.836 3384
+-79.994 41.836 3387
+-79.868 41.836 3389
+-79.742 41.836 3391
+-79.616 41.836 3393
+-79.49 41.836 3395
+-79.364 41.836 3397
+-79.238 41.836 3399
+-79.112 41.836 3400
+-78.986 41.836 3402
+-78.86 41.836 3403
+-78.734 41.836 3405
+-78.608 41.836 3406
+-78.482 41.836 3473
+-78.356 41.836 3475
+-78.23 41.836 3465
+-78.104 41.836 3467
+-77.978 41.836 3469
+-77.852 41.836 3471
+-77.726 41.836 3473
+-77.6 41.836 3475
+-77.474 41.836 3477
+-77.348 41.836 3478
+-77.222 41.836 3480
+-77.096 41.836 3482
+-76.97 41.836 3483
+-76.844 41.836 3507
+-76.718 41.836 3509
+-76.592 41.836 3511
+-76.466 41.836 3513
+-76.34 41.836 3515
+-76.214 41.836 3517
+-76.088 41.836 3485
+-75.962 41.836 3486
+-75.836 41.836 3488
+-75.71 41.836 3489
+-75.584 41.836 3514
+-75.458 41.836 3516
+-75.332 41.836 3518
+-75.206 41.836 3479
+-75.08 41.836 3481
+-74.954 41.836 3482
+-74.828 41.836 3604
+-74.702 41.836 3605
+-74.576 41.836 3606
+-74.45 41.836 3607
+-74.324 41.836 3608
+-74.198 41.836 3549
+-74.072 41.836 3550
+-73.946 41.836 3550
+-73.82 41.836 3551
+-73.694 41.836 3551
+-73.568 41.836 3552
+-73.442 41.836 3552
+-73.316 41.836 3553
+-73.19 41.836 3553
+-73.064 41.836 3554
+-72.938 41.836 3532
+-72.812 41.836 3521
+-72.686 41.836 3522
+-72.56 41.836 3522
+-72.434 41.836 3523
+-72.308 41.836 3523
+-72.182 41.836 3524
+-72.056 41.836 3507
+-71.93 41.836 3507
+-71.804 41.836 3507
+-71.678 41.836 3508
+-71.552 41.836 3508
+-71.426 41.836 3509
+-71.3 41.836 3509
+-71.174 41.836 3509
+-71.048 41.836 3456
+-70.922 41.836 3457
+-70.796 41.836 3457
+-70.67 41.836 3457
+-70.544 41.836 3457
+-70.418 41.836 3458
+-70.292 41.836 3458
+-70.166 41.836 3458
+-70.04 41.836 3458
+-69.914 41.836 3459
+-69.788 41.836 3459
+-69.662 41.836 3459
+-69.536 41.836 3459
+-69.41 41.836 3382
+-69.284 41.836 3382
+-69.158 41.836 3382
+-69.032 41.836 3382
+-68.906 41.836 3382
+-68.78 41.836 3382
+-68.654 41.836 3381
+-68.528 41.836 3381
+-68.402 41.836 3381
+-68.276 41.836 3381
+-68.15 41.836 3381
+-68.024 41.836 3381
+-67.898 41.836 3381
+-67.772 41.836 3381
+-67.646 41.836 3380
+-67.52 41.836 3380
+-67.394 41.836 3380
+-67.268 41.836 3380
+-67.142 41.836 3380
+-67.016 41.836 3380
+-66.89 41.836 3380
+-66.764 41.836 3380
+-66.638 41.836 3380
+-66.512 41.836 3379
+-66.386 41.836 3379
+-66.26 41.836 3067
+-66.134 41.836 3067
+-66.008 41.836 3066
+-65.882 41.836 3066
+-65.756 41.836 3066
+-65.63 41.836 3065
+-65.504 41.836 3065
+-65.378 41.836 3064
+-65.252 41.836 3064
+-65.126 41.836 3063
+-128 41.784 2998
+-127.874 41.784 3003
+-127.748 41.784 3010
+-127.622 41.784 2984
+-127.496 41.784 3006
+-127.37 41.784 3015
+-127.244 41.784 3020
+-127.118 41.784 3029
+-126.992 41.784 3039
+-126.866 41.784 3048
+-126.74 41.784 3046
+-126.614 41.784 3082
+-126.488 41.784 3105
+-126.362 41.784 3154
+-126.236 41.784 3184
+-126.11 41.784 3222
+-125.984 41.784 3246
+-125.858 41.784 3228
+-125.732 41.784 3179
+-125.606 41.784 3144
+-125.48 41.784 3196
+-125.354 41.784 3337
+-125.228 41.784 3465
+-125.102 41.784 3557
+-124.976 41.784 3617
+-124.85 41.784 3657
+-124.724 41.784 3681
+-124.598 41.784 3678
+-124.472 41.784 3699
+-124.346 41.784 3724
+-124.22 41.784 3739
+-124.094 41.784 3763
+-123.968 41.784 3768
+-123.842 41.784 3792
+-123.716 41.784 3836
+-123.59 41.784 3874
+-123.464 41.784 3900
+-123.338 41.784 3917
+-123.212 41.784 3901
+-123.086 41.784 3898
+-122.96 41.784 3931
+-122.834 41.784 3932
+-122.708 41.784 3917
+-122.582 41.784 3887
+-122.456 41.784 3851
+-122.33 41.784 3822
+-122.204 41.784 3811
+-122.078 41.784 3803
+-121.952 41.784 3798
+-121.826 41.784 3784
+-121.7 41.784 3766
+-121.574 41.784 3736
+-121.448 41.784 3712
+-121.322 41.784 3760
+-121.196 41.784 3822
+-121.07 41.784 3866
+-120.944 41.784 3911
+-120.818 41.784 3950
+-120.692 41.784 4031
+-120.566 41.784 4122
+-120.44 41.784 4172
+-120.314 41.784 4186
+-120.188 41.784 4227
+-120.062 41.784 4286
+-119.936 41.784 4374
+-119.81 41.784 4449
+-119.684 41.784 4494
+-119.558 41.784 4543
+-119.432 41.784 4550
+-119.306 41.784 4550
+-119.18 41.784 4588
+-119.054 41.784 4628
+-118.928 41.784 4661
+-118.802 41.784 4666
+-118.676 41.784 4654
+-118.55 41.784 4644
+-118.424 41.784 4639
+-118.298 41.784 4636
+-118.172 41.784 4641
+-118.046 41.784 4643
+-117.92 41.784 4641
+-117.794 41.784 4638
+-117.668 41.784 4624
+-117.542 41.784 4607
+-117.416 41.784 4609
+-117.29 41.784 4579
+-117.164 41.784 4572
+-117.038 41.784 4538
+-116.912 41.784 4489
+-116.786 41.784 4450
+-116.66 41.784 4355
+-116.534 41.784 4290
+-116.408 41.784 4210
+-116.282 41.784 4192
+-116.156 41.784 4102
+-116.03 41.784 4039
+-115.904 41.784 3968
+-115.778 41.784 3966
+-115.652 41.784 3891
+-115.526 41.784 3824
+-115.4 41.784 3768
+-115.274 41.784 3690
+-115.148 41.784 3654
+-115.022 41.784 3594
+-114.896 41.784 3534
+-114.77 41.784 3419
+-114.644 41.784 3287
+-114.518 41.784 3126
+-114.392 41.784 3070
+-114.266 41.784 3019
+-114.14 41.784 2908
+-114.014 41.784 2832
+-113.888 41.784 2729
+-113.762 41.784 2757
+-113.636 41.784 2782
+-113.51 41.784 2807
+-113.384 41.784 2806
+-113.258 41.784 2764
+-113.132 41.784 2725
+-113.006 41.784 2678
+-112.88 41.784 2654
+-112.754 41.784 2554
+-112.628 41.784 2528
+-112.502 41.784 2510
+-112.376 41.784 2501
+-112.25 41.784 2501
+-112.124 41.784 2533
+-111.998 41.784 2513
+-111.872 41.784 2524
+-111.746 41.784 2534
+-111.62 41.784 2545
+-111.494 41.784 2509
+-111.368 41.784 2495
+-111.242 41.784 2448
+-111.116 41.784 2455
+-110.99 41.784 2518
+-110.864 41.784 2526
+-110.738 41.784 2534
+-110.612 41.784 2475
+-110.486 41.784 2473
+-110.36 41.784 2482
+-110.234 41.784 2375
+-110.108 41.784 2418
+-109.982 41.784 2390
+-109.856 41.784 2413
+-109.73 41.784 2418
+-109.604 41.784 2424
+-109.478 41.784 2428
+-109.352 41.784 2433
+-109.226 41.784 2438
+-109.1 41.784 2442
+-108.974 41.784 2446
+-108.848 41.784 2450
+-108.722 41.784 2454
+-108.596 41.784 2458
+-108.47 41.784 2462
+-108.344 41.784 2466
+-108.218 41.784 2469
+-108.092 41.784 2473
+-107.966 41.784 2476
+-107.84 41.784 2479
+-107.714 41.784 2534
+-107.588 41.784 2539
+-107.462 41.784 2534
+-107.336 41.784 2508
+-107.21 41.784 2511
+-107.084 41.784 2515
+-106.958 41.784 2530
+-106.832 41.784 2534
+-106.706 41.784 2526
+-106.58 41.784 2531
+-106.454 41.784 2458
+-106.328 41.784 2461
+-106.202 41.784 2369
+-106.076 41.784 2206
+-105.95 41.784 2190
+-105.824 41.784 2182
+-105.698 41.784 2172
+-105.572 41.784 2107
+-105.446 41.784 2096
+-105.32 41.784 2084
+-105.194 41.784 1943
+-105.068 41.784 1852
+-104.942 41.784 1815
+-104.816 41.784 1833
+-104.69 41.784 1853
+-104.564 41.784 1818
+-104.438 41.784 1840
+-104.312 41.784 1886
+-104.186 41.784 1886
+-104.06 41.784 2010
+-103.934 41.784 2044
+-103.808 41.784 2080
+-103.682 41.784 2077
+-103.556 41.784 2165
+-103.43 41.784 2199
+-103.304 41.784 2190
+-103.178 41.784 2181
+-103.052 41.784 2249
+-102.926 41.784 2279
+-102.8 41.784 2268
+-102.674 41.784 2256
+-102.548 41.784 2244
+-102.422 41.784 2231
+-102.296 41.784 2272
+-102.17 41.784 2259
+-102.044 41.784 2245
+-101.918 41.784 2231
+-101.792 41.784 2215
+-101.666 41.784 2199
+-101.54 41.784 2191
+-101.414 41.784 2184
+-101.288 41.784 2209
+-101.162 41.784 2189
+-101.036 41.784 2168
+-100.91 41.784 2144
+-100.784 41.784 2154
+-100.658 41.784 2125
+-100.532 41.784 2093
+-100.406 41.784 2057
+-100.28 41.784 2017
+-100.154 41.784 1972
+-100.028 41.784 1920
+-99.902 41.784 1899
+-99.776 41.784 1869
+-99.65 41.784 1792
+-99.524 41.784 1702
+-99.398 41.784 1597
+-99.272 41.784 1476
+-99.146 41.784 1335
+-99.02 41.784 1176
+-98.894 41.784 1007
+-98.768 41.784 834
+-98.642 41.784 671
+-98.516 41.784 552
+-98.39 41.784 513
+-98.264 41.784 591
+-98.138 41.784 786
+-98.012 41.784 1082
+-97.886 41.784 1403
+-97.76 41.784 1711
+-97.634 41.784 2015
+-97.508 41.784 2229
+-97.382 41.784 2377
+-97.256 41.784 2592
+-97.13 41.784 2654
+-97.004 41.784 2689
+-96.878 41.784 2681
+-96.752 41.784 2681
+-96.626 41.784 2668
+-96.5 41.784 2700
+-96.374 41.784 2785
+-96.248 41.784 2928
+-96.122 41.784 3169
+-95.996 41.784 3293
+-95.87 41.784 3380
+-95.744 41.784 3424
+-95.618 41.784 3434
+-95.492 41.784 3445
+-95.366 41.784 3393
+-95.24 41.784 3366
+-95.114 41.784 3466
+-94.988 41.784 3643
+-94.862 41.784 3785
+-94.736 41.784 3887
+-94.61 41.784 3885
+-94.484 41.784 3990
+-94.358 41.784 4171
+-94.232 41.784 4285
+-94.106 41.784 4423
+-93.98 41.784 4617
+-93.854 41.784 4713
+-93.728 41.784 4762
+-93.602 41.784 4686
+-93.476 41.784 4835
+-93.35 41.784 4953
+-93.224 41.784 5037
+-93.098 41.784 5087
+-92.972 41.784 5148
+-92.846 41.784 5244
+-92.72 41.784 5326
+-92.594 41.784 5423
+-92.468 41.784 5530
+-92.342 41.784 5592
+-92.216 41.784 5667
+-92.09 41.784 5724
+-91.964 41.784 5768
+-91.838 41.784 5847
+-91.712 41.784 5910
+-91.586 41.784 5939
+-91.46 41.784 6024
+-91.334 41.784 6037
+-91.208 41.784 6097
+-91.082 41.784 6122
+-90.956 41.784 6151
+-90.83 41.784 6177
+-90.704 41.784 6148
+-90.578 41.784 6161
+-90.452 41.784 6181
+-90.326 41.784 6183
+-90.2 41.784 6153
+-90.074 41.784 6140
+-89.948 41.784 6145
+-89.822 41.784 6121
+-89.696 41.784 6098
+-89.57 41.784 6060
+-89.444 41.784 5999
+-89.318 41.784 5970
+-89.192 41.784 5919
+-89.066 41.784 5846
+-88.94 41.784 5849
+-88.814 41.784 5707
+-88.688 41.784 5646
+-88.562 41.784 5569
+-88.436 41.784 5487
+-88.31 41.784 5424
+-88.184 41.784 5385
+-88.058 41.784 5263
+-87.932 41.784 5208
+-87.806 41.784 5146
+-87.68 41.784 5039
+-87.554 41.784 4960
+-87.428 41.784 4889
+-87.302 41.784 4737
+-87.176 41.784 4836
+-87.05 41.784 4830
+-86.924 41.784 4781
+-86.798 41.784 4748
+-86.672 41.784 4717
+-86.546 41.784 4642
+-86.42 41.784 4574
+-86.294 41.784 4462
+-86.168 41.784 4369
+-86.042 41.784 4301
+-85.916 41.784 4206
+-85.79 41.784 4129
+-85.664 41.784 4059
+-85.538 41.784 3989
+-85.412 41.784 3942
+-85.286 41.784 3875
+-85.16 41.784 3854
+-85.034 41.784 3832
+-84.908 41.784 3789
+-84.782 41.784 3742
+-84.656 41.784 3623
+-84.53 41.784 3521
+-84.404 41.784 3381
+-84.278 41.784 3230
+-84.152 41.784 3162
+-84.026 41.784 3172
+-83.9 41.784 3234
+-83.774 41.784 3288
+-83.648 41.784 3322
+-83.522 41.784 3365
+-83.396 41.784 3411
+-83.27 41.784 3454
+-83.144 41.784 3434
+-83.018 41.784 3445
+-82.892 41.784 3483
+-82.766 41.784 3430
+-82.64 41.784 3410
+-82.514 41.784 3371
+-82.388 41.784 3367
+-82.262 41.784 3412
+-82.136 41.784 3402
+-82.01 41.784 3408
+-81.884 41.784 3414
+-81.758 41.784 3418
+-81.632 41.784 3420
+-81.506 41.784 3425
+-81.38 41.784 3429
+-81.254 41.784 3434
+-81.128 41.784 3431
+-81.002 41.784 3435
+-80.876 41.784 3438
+-80.75 41.784 3426
+-80.624 41.784 3387
+-80.498 41.784 3384
+-80.372 41.784 3386
+-80.246 41.784 3388
+-80.12 41.784 3391
+-79.994 41.784 3393
+-79.868 41.784 3395
+-79.742 41.784 3397
+-79.616 41.784 3398
+-79.49 41.784 3400
+-79.364 41.784 3402
+-79.238 41.784 3403
+-79.112 41.784 3405
+-78.986 41.784 3406
+-78.86 41.784 3407
+-78.734 41.784 3409
+-78.608 41.784 3473
+-78.482 41.784 3475
+-78.356 41.784 3465
+-78.23 41.784 3468
+-78.104 41.784 3470
+-77.978 41.784 3472
+-77.852 41.784 3474
+-77.726 41.784 3475
+-77.6 41.784 3477
+-77.474 41.784 3479
+-77.348 41.784 3481
+-77.222 41.784 3482
+-77.096 41.784 3484
+-76.97 41.784 3507
+-76.844 41.784 3510
+-76.718 41.784 3512
+-76.592 41.784 3514
+-76.466 41.784 3516
+-76.34 41.784 3518
+-76.214 41.784 3485
+-76.088 41.784 3487
+-75.962 41.784 3488
+-75.836 41.784 3490
+-75.71 41.784 3515
+-75.584 41.784 3517
+-75.458 41.784 3518
+-75.332 41.784 3480
+-75.206 41.784 3481
+-75.08 41.784 3483
+-74.954 41.784 3603
+-74.828 41.784 3604
+-74.702 41.784 3605
+-74.576 41.784 3606
+-74.45 41.784 3607
+-74.324 41.784 3549
+-74.198 41.784 3549
+-74.072 41.784 3550
+-73.946 41.784 3550
+-73.82 41.784 3551
+-73.694 41.784 3551
+-73.568 41.784 3552
+-73.442 41.784 3552
+-73.316 41.784 3553
+-73.19 41.784 3553
+-73.064 41.784 3532
+-72.938 41.784 3521
+-72.812 41.784 3521
+-72.686 41.784 3522
+-72.56 41.784 3523
+-72.434 41.784 3523
+-72.308 41.784 3506
+-72.182 41.784 3507
+-72.056 41.784 3507
+-71.93 41.784 3507
+-71.804 41.784 3508
+-71.678 41.784 3508
+-71.552 41.784 3508
+-71.426 41.784 3509
+-71.3 41.784 3509
+-71.174 41.784 3456
+-71.048 41.784 3456
+-70.922 41.784 3457
+-70.796 41.784 3457
+-70.67 41.784 3457
+-70.544 41.784 3457
+-70.418 41.784 3458
+-70.292 41.784 3458
+-70.166 41.784 3458
+-70.04 41.784 3459
+-69.914 41.784 3459
+-69.788 41.784 3459
+-69.662 41.784 3459
+-69.536 41.784 3382
+-69.41 41.784 3382
+-69.284 41.784 3382
+-69.158 41.784 3382
+-69.032 41.784 3382
+-68.906 41.784 3382
+-68.78 41.784 3381
+-68.654 41.784 3381
+-68.528 41.784 3381
+-68.402 41.784 3381
+-68.276 41.784 3381
+-68.15 41.784 3381
+-68.024 41.784 3381
+-67.898 41.784 3381
+-67.772 41.784 3380
+-67.646 41.784 3380
+-67.52 41.784 3380
+-67.394 41.784 3380
+-67.268 41.784 3380
+-67.142 41.784 3380
+-67.016 41.784 3380
+-66.89 41.784 3380
+-66.764 41.784 3380
+-66.638 41.784 3379
+-66.512 41.784 3379
+-66.386 41.784 3067
+-66.26 41.784 3067
+-66.134 41.784 3066
+-66.008 41.784 3066
+-65.882 41.784 3066
+-65.756 41.784 3065
+-65.63 41.784 3065
+-65.504 41.784 3064
+-65.378 41.784 3064
+-65.252 41.784 3064
+-65.126 41.784 3063
+-128 41.732 2987
+-127.874 41.732 2988
+-127.748 41.732 2958
+-127.622 41.732 2977
+-127.496 41.732 2982
+-127.37 41.732 2985
+-127.244 41.732 2991
+-127.118 41.732 2998
+-126.992 41.732 3003
+-126.866 41.732 2995
+-126.74 41.732 3022
+-126.614 41.732 3034
+-126.488 41.732 3071
+-126.362 41.732 3095
+-126.236 41.732 3103
+-126.11 41.732 3154
+-125.984 41.732 3211
+-125.858 41.732 3214
+-125.732 41.732 3194
+-125.606 41.732 3179
+-125.48 41.732 3222
+-125.354 41.732 3338
+-125.228 41.732 3443
+-125.102 41.732 3525
+-124.976 41.732 3582
+-124.85 41.732 3626
+-124.724 41.732 3642
+-124.598 41.732 3679
+-124.472 41.732 3681
+-124.346 41.732 3675
+-124.22 41.732 3667
+-124.094 41.732 3673
+-123.968 41.732 3683
+-123.842 41.732 3709
+-123.716 41.732 3751
+-123.59 41.732 3807
+-123.464 41.732 3837
+-123.338 41.732 3854
+-123.212 41.732 3844
+-123.086 41.732 3824
+-122.96 41.732 3858
+-122.834 41.732 3865
+-122.708 41.732 3831
+-122.582 41.732 3804
+-122.456 41.732 3798
+-122.33 41.732 3786
+-122.204 41.732 3776
+-122.078 41.732 3761
+-121.952 41.732 3746
+-121.826 41.732 3725
+-121.7 41.732 3729
+-121.574 41.732 3728
+-121.448 41.732 3712
+-121.322 41.732 3707
+-121.196 41.732 3767
+-121.07 41.732 3830
+-120.944 41.732 3873
+-120.818 41.732 3912
+-120.692 41.732 3966
+-120.566 41.732 4050
+-120.44 41.732 4107
+-120.314 41.732 4143
+-120.188 41.732 4197
+-120.062 41.732 4197
+-119.936 41.732 4318
+-119.81 41.732 4389
+-119.684 41.732 4441
+-119.558 41.732 4475
+-119.432 41.732 4508
+-119.306 41.732 4515
+-119.18 41.732 4530
+-119.054 41.732 4536
+-118.928 41.732 4545
+-118.802 41.732 4555
+-118.676 41.732 4565
+-118.55 41.732 4577
+-118.424 41.732 4597
+-118.298 41.732 4626
+-118.172 41.732 4589
+-118.046 41.732 4579
+-117.92 41.732 4575
+-117.794 41.732 4566
+-117.668 41.732 4548
+-117.542 41.732 4526
+-117.416 41.732 4535
+-117.29 41.732 4535
+-117.164 41.732 4505
+-117.038 41.732 4475
+-116.912 41.732 4429
+-116.786 41.732 4363
+-116.66 41.732 4288
+-116.534 41.732 4222
+-116.408 41.732 4159
+-116.282 41.732 4130
+-116.156 41.732 4066
+-116.03 41.732 4018
+-115.904 41.732 3977
+-115.778 41.732 3934
+-115.652 41.732 3854
+-115.526 41.732 3766
+-115.4 41.732 3654
+-115.274 41.732 3573
+-115.148 41.732 3574
+-115.022 41.732 3546
+-114.896 41.732 3502
+-114.77 41.732 3416
+-114.644 41.732 3275
+-114.518 41.732 3151
+-114.392 41.732 3068
+-114.266 41.732 2952
+-114.14 41.732 2854
+-114.014 41.732 2783
+-113.888 41.732 2620
+-113.762 41.732 2696
+-113.636 41.732 2759
+-113.51 41.732 2790
+-113.384 41.732 2774
+-113.258 41.732 2726
+-113.132 41.732 2667
+-113.006 41.732 2581
+-112.88 41.732 2522
+-112.754 41.732 2467
+-112.628 41.732 2437
+-112.502 41.732 2426
+-112.376 41.732 2428
+-112.25 41.732 2438
+-112.124 41.732 2426
+-111.998 41.732 2442
+-111.872 41.732 2489
+-111.746 41.732 2458
+-111.62 41.732 2395
+-111.494 41.732 2398
+-111.368 41.732 2406
+-111.242 41.732 2414
+-111.116 41.732 2440
+-110.99 41.732 2448
+-110.864 41.732 2429
+-110.738 41.732 2420
+-110.612 41.732 2358
+-110.486 41.732 2311
+-110.36 41.732 2315
+-110.234 41.732 2318
+-110.108 41.732 2359
+-109.982 41.732 2363
+-109.856 41.732 2378
+-109.73 41.732 2355
+-109.604 41.732 2360
+-109.478 41.732 2364
+-109.352 41.732 2368
+-109.226 41.732 2372
+-109.1 41.732 2376
+-108.974 41.732 2379
+-108.848 41.732 2383
+-108.722 41.732 2387
+-108.596 41.732 2390
+-108.47 41.732 2393
+-108.344 41.732 2397
+-108.218 41.732 2400
+-108.092 41.732 2403
+-107.966 41.732 2406
+-107.84 41.732 2409
+-107.714 41.732 2412
+-107.588 41.732 2526
+-107.462 41.732 2531
+-107.336 41.732 2526
+-107.21 41.732 2500
+-107.084 41.732 2504
+-106.958 41.732 2508
+-106.832 41.732 2522
+-106.706 41.732 2454
+-106.58 41.732 2442
+-106.454 41.732 2446
+-106.328 41.732 2450
+-106.202 41.732 2336
+-106.076 41.732 2192
+-105.95 41.732 2177
+-105.824 41.732 2169
+-105.698 41.732 2160
+-105.572 41.732 2150
+-105.446 41.732 2084
+-105.32 41.732 2072
+-105.194 41.732 1907
+-105.068 41.732 1845
+-104.942 41.732 1806
+-104.816 41.732 1813
+-104.69 41.732 1774
+-104.564 41.732 1801
+-104.438 41.732 1807
+-104.312 41.732 1887
+-104.186 41.732 1888
+-104.06 41.732 2049
+-103.934 41.732 2047
+-103.808 41.732 2107
+-103.682 41.732 2079
+-103.556 41.732 2167
+-103.43 41.732 2159
+-103.304 41.732 2193
+-103.178 41.732 2184
+-103.052 41.732 2174
+-102.926 41.732 2241
+-102.8 41.732 2271
+-102.674 41.732 2259
+-102.548 41.732 2247
+-102.422 41.732 2234
+-102.296 41.732 2220
+-102.17 41.732 2261
+-102.044 41.732 2247
+-101.918 41.732 2233
+-101.792 41.732 2217
+-101.666 41.732 2201
+-101.54 41.732 2184
+-101.414 41.732 2175
+-101.288 41.732 2167
+-101.162 41.732 2192
+-101.036 41.732 2171
+-100.91 41.732 2148
+-100.784 41.732 2123
+-100.658 41.732 2131
+-100.532 41.732 2100
+-100.406 41.732 2066
+-100.28 41.732 2028
+-100.154 41.732 1985
+-100.028 41.732 1937
+-99.902 41.732 1883
+-99.776 41.732 1857
+-99.65 41.732 1822
+-99.524 41.732 1740
+-99.398 41.732 1647
+-99.272 41.732 1539
+-99.146 41.732 1416
+-99.02 41.732 1279
+-98.894 41.732 1133
+-98.768 41.732 992
+-98.642 41.732 871
+-98.516 41.732 790
+-98.39 41.732 781
+-98.264 41.732 860
+-98.138 41.732 1051
+-98.012 41.732 1296
+-97.886 41.732 1571
+-97.76 41.732 1836
+-97.634 41.732 2096
+-97.508 41.732 2314
+-97.382 41.732 2454
+-97.256 41.732 2539
+-97.13 41.732 2648
+-97.004 41.732 2658
+-96.878 41.732 2642
+-96.752 41.732 2564
+-96.626 41.732 2487
+-96.5 41.732 2475
+-96.374 41.732 2584
+-96.248 41.732 2831
+-96.122 41.732 3053
+-95.996 41.732 3247
+-95.87 41.732 3359
+-95.744 41.732 3427
+-95.618 41.732 3438
+-95.492 41.732 3443
+-95.366 41.732 3436
+-95.24 41.732 3471
+-95.114 41.732 3560
+-94.988 41.732 3706
+-94.862 41.732 3846
+-94.736 41.732 3919
+-94.61 41.732 3946
+-94.484 41.732 4053
+-94.358 41.732 4231
+-94.232 41.732 4387
+-94.106 41.732 4542
+-93.98 41.732 4674
+-93.854 41.732 4739
+-93.728 41.732 4774
+-93.602 41.732 4785
+-93.476 41.732 4882
+-93.35 41.732 4966
+-93.224 41.732 5051
+-93.098 41.732 5110
+-92.972 41.732 5177
+-92.846 41.732 5291
+-92.72 41.732 5398
+-92.594 41.732 5520
+-92.468 41.732 5608
+-92.342 41.732 5678
+-92.216 41.732 5755
+-92.09 41.732 5753
+-91.964 41.732 5822
+-91.838 41.732 5906
+-91.712 41.732 5958
+-91.586 41.732 5995
+-91.46 41.732 6057
+-91.334 41.732 6079
+-91.208 41.732 6099
+-91.082 41.732 6182
+-90.956 41.732 6177
+-90.83 41.732 6217
+-90.704 41.732 6227
+-90.578 41.732 6221
+-90.452 41.732 6214
+-90.326 41.732 6202
+-90.2 41.732 6189
+-90.074 41.732 6184
+-89.948 41.732 6192
+-89.822 41.732 6167
+-89.696 41.732 6106
+-89.57 41.732 6126
+-89.444 41.732 6092
+-89.318 41.732 6031
+-89.192 41.732 6005
+-89.066 41.732 5922
+-88.94 41.732 5842
+-88.814 41.732 5749
+-88.688 41.732 5662
+-88.562 41.732 5604
+-88.436 41.732 5539
+-88.31 41.732 5478
+-88.184 41.732 5430
+-88.058 41.732 5317
+-87.932 41.732 5245
+-87.806 41.732 5164
+-87.68 41.732 5058
+-87.554 41.732 4933
+-87.428 41.732 4936
+-87.302 41.732 4945
+-87.176 41.732 4898
+-87.05 41.732 4868
+-86.924 41.732 4802
+-86.798 41.732 4754
+-86.672 41.732 4716
+-86.546 41.732 4646
+-86.42 41.732 4593
+-86.294 41.732 4558
+-86.168 41.732 4486
+-86.042 41.732 4383
+-85.916 41.732 4289
+-85.79 41.732 4210
+-85.664 41.732 4094
+-85.538 41.732 3978
+-85.412 41.732 4000
+-85.286 41.732 3949
+-85.16 41.732 3901
+-85.034 41.732 3862
+-84.908 41.732 3818
+-84.782 41.732 3735
+-84.656 41.732 3617
+-84.53 41.732 3451
+-84.404 41.732 3296
+-84.278 41.732 3094
+-84.152 41.732 2987
+-84.026 41.732 3049
+-83.9 41.732 3162
+-83.774 41.732 3251
+-83.648 41.732 3330
+-83.522 41.732 3400
+-83.396 41.732 3431
+-83.27 41.732 3453
+-83.144 41.732 3463
+-83.018 41.732 3480
+-82.892 41.732 3495
+-82.766 41.732 3467
+-82.64 41.732 3443
+-82.514 41.732 3417
+-82.388 41.732 3421
+-82.262 41.732 3457
+-82.136 41.732 3464
+-82.01 41.732 3422
+-81.884 41.732 3425
+-81.758 41.732 3427
+-81.632 41.732 3432
+-81.506 41.732 3436
+-81.38 41.732 3440
+-81.254 41.732 3436
+-81.128 41.732 3440
+-81.002 41.732 3444
+-80.876 41.732 3431
+-80.75 41.732 3392
+-80.624 41.732 3388
+-80.498 41.732 3391
+-80.372 41.732 3393
+-80.246 41.732 3395
+-80.12 41.732 3397
+-79.994 41.732 3399
+-79.868 41.732 3400
+-79.742 41.732 3402
+-79.616 41.732 3404
+-79.49 41.732 3405
+-79.364 41.732 3407
+-79.238 41.732 3408
+-79.112 41.732 3409
+-78.986 41.732 3410
+-78.86 41.732 3412
+-78.734 41.732 3473
+-78.608 41.732 3476
+-78.482 41.732 3466
+-78.356 41.732 3468
+-78.23 41.732 3470
+-78.104 41.732 3472
+-77.978 41.732 3474
+-77.852 41.732 3476
+-77.726 41.732 3478
+-77.6 41.732 3480
+-77.474 41.732 3481
+-77.348 41.732 3483
+-77.222 41.732 3484
+-77.096 41.732 3508
+-76.97 41.732 3510
+-76.844 41.732 3512
+-76.718 41.732 3514
+-76.592 41.732 3516
+-76.466 41.732 3518
+-76.34 41.732 3486
+-76.214 41.732 3487
+-76.088 41.732 3489
+-75.962 41.732 3490
+-75.836 41.732 3515
+-75.71 41.732 3517
+-75.584 41.732 3519
+-75.458 41.732 3480
+-75.332 41.732 3482
+-75.206 41.732 3483
+-75.08 41.732 3603
+-74.954 41.732 3604
+-74.828 41.732 3605
+-74.702 41.732 3606
+-74.576 41.732 3607
+-74.45 41.732 3548
+-74.324 41.732 3549
+-74.198 41.732 3550
+-74.072 41.732 3550
+-73.946 41.732 3551
+-73.82 41.732 3551
+-73.694 41.732 3552
+-73.568 41.732 3552
+-73.442 41.732 3553
+-73.316 41.732 3553
+-73.19 41.732 3532
+-73.064 41.732 3521
+-72.938 41.732 3521
+-72.812 41.732 3522
+-72.686 41.732 3522
+-72.56 41.732 3523
+-72.434 41.732 3523
+-72.308 41.732 3506
+-72.182 41.732 3507
+-72.056 41.732 3507
+-71.93 41.732 3508
+-71.804 41.732 3508
+-71.678 41.732 3508
+-71.552 41.732 3509
+-71.426 41.732 3509
+-71.3 41.732 3456
+-71.174 41.732 3456
+-71.048 41.732 3456
+-70.922 41.732 3457
+-70.796 41.732 3457
+-70.67 41.732 3457
+-70.544 41.732 3458
+-70.418 41.732 3458
+-70.292 41.732 3458
+-70.166 41.732 3458
+-70.04 41.732 3459
+-69.914 41.732 3459
+-69.788 41.732 3459
+-69.662 41.732 3382
+-69.536 41.732 3382
+-69.41 41.732 3382
+-69.284 41.732 3382
+-69.158 41.732 3382
+-69.032 41.732 3382
+-68.906 41.732 3381
+-68.78 41.732 3381
+-68.654 41.732 3381
+-68.528 41.732 3381
+-68.402 41.732 3381
+-68.276 41.732 3381
+-68.15 41.732 3381
+-68.024 41.732 3381
+-67.898 41.732 3380
+-67.772 41.732 3380
+-67.646 41.732 3380
+-67.52 41.732 3380
+-67.394 41.732 3380
+-67.268 41.732 3380
+-67.142 41.732 3380
+-67.016 41.732 3380
+-66.89 41.732 3380
+-66.764 41.732 3379
+-66.638 41.732 3379
+-66.512 41.732 3067
+-66.386 41.732 3067
+-66.26 41.732 3066
+-66.134 41.732 3066
+-66.008 41.732 3066
+-65.882 41.732 3065
+-65.756 41.732 3065
+-65.63 41.732 3064
+-65.504 41.732 3064
+-65.378 41.732 3064
+-65.252 41.732 3063
+-65.126 41.732 3063
+-128 41.68 2967
+-127.874 41.68 2932
+-127.748 41.68 2947
+-127.622 41.68 2949
+-127.496 41.68 2949
+-127.37 41.68 2951
+-127.244 41.68 2956
+-127.118 41.68 2956
+-126.992 41.68 2944
+-126.866 41.68 2962
+-126.74 41.68 2962
+-126.614 41.68 2982
+-126.488 41.68 2992
+-126.362 41.68 2993
+-126.236 41.68 3043
+-126.11 41.68 3089
+-125.984 41.68 3163
+-125.858 41.68 3195
+-125.732 41.68 3210
+-125.606 41.68 3225
+-125.48 41.68 3264
+-125.354 41.68 3330
+-125.228 41.68 3435
+-125.102 41.68 3499
+-124.976 41.68 3539
+-124.85 41.68 3584
+-124.724 41.68 3606
+-124.598 41.68 3628
+-124.472 41.68 3629
+-124.346 41.68 3617
+-124.22 41.68 3610
+-124.094 41.68 3616
+-123.968 41.68 3629
+-123.842 41.68 3652
+-123.716 41.68 3698
+-123.59 41.68 3749
+-123.464 41.68 3794
+-123.338 41.68 3813
+-123.212 41.68 3828
+-123.086 41.68 3830
+-122.96 41.68 3835
+-122.834 41.68 3813
+-122.708 41.68 3758
+-122.582 41.68 3725
+-122.456 41.68 3738
+-122.33 41.68 3746
+-122.204 41.68 3747
+-122.078 41.68 3717
+-121.952 41.68 3665
+-121.826 41.68 3633
+-121.7 41.68 3670
+-121.574 41.68 3698
+-121.448 41.68 3670
+-121.322 41.68 3592
+-121.196 41.68 3704
+-121.07 41.68 3783
+-120.944 41.68 3847
+-120.818 41.68 3901
+-120.692 41.68 3945
+-120.566 41.68 3996
+-120.44 41.68 4033
+-120.314 41.68 4083
+-120.188 41.68 4126
+-120.062 41.68 4156
+-119.936 41.68 4224
+-119.81 41.68 4289
+-119.684 41.68 4348
+-119.558 41.68 4398
+-119.432 41.68 4454
+-119.306 41.68 4474
+-119.18 41.68 4473
+-119.054 41.68 4466
+-118.928 41.68 4464
+-118.802 41.68 4484
+-118.676 41.68 4498
+-118.55 41.68 4518
+-118.424 41.68 4550
+-118.298 41.68 4568
+-118.172 41.68 4572
+-118.046 41.68 4531
+-117.92 41.68 4512
+-117.794 41.68 4493
+-117.668 41.68 4487
+-117.542 41.68 4481
+-117.416 41.68 4471
+-117.29 41.68 4460
+-117.164 41.68 4451
+-117.038 41.68 4401
+-116.912 41.68 4348
+-116.786 41.68 4269
+-116.66 41.68 4190
+-116.534 41.68 4144
+-116.408 41.68 4101
+-116.282 41.68 4029
+-116.156 41.68 3981
+-116.03 41.68 3961
+-115.904 41.68 3935
+-115.778 41.68 3881
+-115.652 41.68 3792
+-115.526 41.68 3655
+-115.4 41.68 3566
+-115.274 41.68 3485
+-115.148 41.68 3525
+-115.022 41.68 3518
+-114.896 41.68 3475
+-114.77 41.68 3409
+-114.644 41.68 3308
+-114.518 41.68 3198
+-114.392 41.68 3080
+-114.266 41.68 2965
+-114.14 41.68 2887
+-114.014 41.68 2806
+-113.888 41.68 2713
+-113.762 41.68 2737
+-113.636 41.68 2764
+-113.51 41.68 2776
+-113.384 41.68 2754
+-113.258 41.68 2667
+-113.132 41.68 2600
+-113.006 41.68 2487
+-112.88 41.68 2412
+-112.754 41.68 2357
+-112.628 41.68 2321
+-112.502 41.68 2319
+-112.376 41.68 2336
+-112.25 41.68 2363
+-112.124 41.68 2355
+-111.998 41.68 2356
+-111.872 41.68 2412
+-111.746 41.68 2354
+-111.62 41.68 2370
+-111.494 41.68 2384
+-111.368 41.68 2395
+-111.242 41.68 2399
+-111.116 41.68 2404
+-110.99 41.68 2413
+-110.864 41.68 2333
+-110.738 41.68 2287
+-110.612 41.68 2340
+-110.486 41.68 2294
+-110.36 41.68 2298
+-110.234 41.68 2302
+-110.108 41.68 2306
+-109.982 41.68 2347
+-109.856 41.68 2351
+-109.73 41.68 2366
+-109.604 41.68 2343
+-109.478 41.68 2347
+-109.352 41.68 2352
+-109.226 41.68 2356
+-109.1 41.68 2360
+-108.974 41.68 2364
+-108.848 41.68 2368
+-108.722 41.68 2372
+-108.596 41.68 2376
+-108.47 41.68 2380
+-108.344 41.68 2383
+-108.218 41.68 2387
+-108.092 41.68 2390
+-107.966 41.68 2394
+-107.84 41.68 2397
+-107.714 41.68 2400
+-107.588 41.68 2403
+-107.462 41.68 2518
+-107.336 41.68 2523
+-107.21 41.68 2518
+-107.084 41.68 2492
+-106.958 41.68 2436
+-106.832 41.68 2438
+-106.706 41.68 2442
+-106.58 41.68 2430
+-106.454 41.68 2434
+-106.328 41.68 2438
+-106.202 41.68 2323
+-106.076 41.68 2179
+-105.95 41.68 2172
+-105.824 41.68 2156
+-105.698 41.68 2147
+-105.572 41.68 2137
+-105.446 41.68 2127
+-105.32 41.68 2007
+-105.194 41.68 1853
+-105.068 41.68 1809
+-104.942 41.68 1800
+-104.816 41.68 1794
+-104.69 41.68 1771
+-104.564 41.68 1800
+-104.438 41.68 1784
+-104.312 41.68 1859
+-104.186 41.68 1902
+-104.06 41.68 2051
+-103.934 41.68 2049
+-103.808 41.68 2109
+-103.682 41.68 2105
+-103.556 41.68 2157
+-103.43 41.68 2162
+-103.304 41.68 2153
+-103.178 41.68 2187
+-103.052 41.68 2177
+-102.926 41.68 2167
+-102.8 41.68 2233
+-102.674 41.68 2262
+-102.548 41.68 2250
+-102.422 41.68 2237
+-102.296 41.68 2223
+-102.17 41.68 2209
+-102.044 41.68 2249
+-101.918 41.68 2235
+-101.792 41.68 2220
+-101.666 41.68 2204
+-101.54 41.68 2187
+-101.414 41.68 2169
+-101.288 41.68 2159
+-101.162 41.68 2150
+-101.036 41.68 2174
+-100.91 41.68 2152
+-100.784 41.68 2129
+-100.658 41.68 2103
+-100.532 41.68 2108
+-100.406 41.68 2076
+-100.28 41.68 2040
+-100.154 41.68 2001
+-100.028 41.68 1957
+-99.902 41.68 1907
+-99.776 41.68 1851
+-99.65 41.68 1824
+-99.524 41.68 1787
+-99.398 41.68 1706
+-99.272 41.68 1614
+-99.146 41.68 1512
+-99.02 41.68 1402
+-98.894 41.68 1287
+-98.768 41.68 1178
+-98.642 41.68 1093
+-98.516 41.68 1052
+-98.39 41.68 1064
+-98.264 41.68 1175
+-98.138 41.68 1326
+-98.012 41.68 1529
+-97.886 41.68 1754
+-97.76 41.68 2023
+-97.634 41.68 2219
+-97.508 41.68 2376
+-97.382 41.68 2493
+-97.256 41.68 2599
+-97.13 41.68 2619
+-97.004 41.68 2627
+-96.878 41.68 2588
+-96.752 41.68 2461
+-96.626 41.68 2321
+-96.5 41.68 2257
+-96.374 41.68 2371
+-96.248 41.68 2679
+-96.122 41.68 2983
+-95.996 41.68 3205
+-95.87 41.68 3351
+-95.744 41.68 3412
+-95.618 41.68 3434
+-95.492 41.68 3389
+-95.366 41.68 3361
+-95.24 41.68 3448
+-95.114 41.68 3586
+-94.988 41.68 3742
+-94.862 41.68 3889
+-94.736 41.68 3972
+-94.61 41.68 4039
+-94.484 41.68 4145
+-94.358 41.68 4316
+-94.232 41.68 4478
+-94.106 41.68 4626
+-93.98 41.68 4719
+-93.854 41.68 4761
+-93.728 41.68 4672
+-93.602 41.68 4842
+-93.476 41.68 4935
+-93.35 41.68 4980
+-93.224 41.68 5060
+-93.098 41.68 5143
+-92.972 41.68 5233
+-92.846 41.68 5373
+-92.72 41.68 5474
+-92.594 41.68 5578
+-92.468 41.68 5628
+-92.342 41.68 5717
+-92.216 41.68 5769
+-92.09 41.68 5818
+-91.964 41.68 5892
+-91.838 41.68 5965
+-91.712 41.68 6039
+-91.586 41.68 6084
+-91.46 41.68 6114
+-91.334 41.68 6141
+-91.208 41.68 6182
+-91.082 41.68 6225
+-90.956 41.68 6252
+-90.83 41.68 6264
+-90.704 41.68 6300
+-90.578 41.68 6285
+-90.452 41.68 6285
+-90.326 41.68 6285
+-90.2 41.68 6264
+-90.074 41.68 6256
+-89.948 41.68 6236
+-89.822 41.68 6211
+-89.696 41.68 6187
+-89.57 41.68 6188
+-89.444 41.68 6110
+-89.318 41.68 6079
+-89.192 41.68 6018
+-89.066 41.68 5992
+-88.94 41.68 5925
+-88.814 41.68 5834
+-88.688 41.68 5741
+-88.562 41.68 5661
+-88.436 41.68 5627
+-88.31 41.68 5509
+-88.184 41.68 5493
+-88.058 41.68 5378
+-87.932 41.68 5278
+-87.806 41.68 5241
+-87.68 41.68 5042
+-87.554 41.68 5036
+-87.428 41.68 4970
+-87.302 41.68 4841
+-87.176 41.68 4929
+-87.05 41.68 4932
+-86.924 41.68 4859
+-86.798 41.68 4780
+-86.672 41.68 4697
+-86.546 41.68 4599
+-86.42 41.68 4555
+-86.294 41.68 4591
+-86.168 41.68 4549
+-86.042 41.68 4428
+-85.916 41.68 4299
+-85.79 41.68 4233
+-85.664 41.68 4191
+-85.538 41.68 4076
+-85.412 41.68 4069
+-85.286 41.68 4011
+-85.16 41.68 3954
+-85.034 41.68 3897
+-84.908 41.68 3813
+-84.782 41.68 3698
+-84.656 41.68 3547
+-84.53 41.68 3432
+-84.404 41.68 3288
+-84.278 41.68 3028
+-84.152 41.68 2872
+-84.026 41.68 2972
+-83.9 41.68 3133
+-83.774 41.68 3255
+-83.648 41.68 3345
+-83.522 41.68 3421
+-83.396 41.68 3433
+-83.27 41.68 3452
+-83.144 41.68 3474
+-83.018 41.68 3493
+-82.892 41.68 3467
+-82.766 41.68 3478
+-82.64 41.68 3483
+-82.514 41.68 3494
+-82.388 41.68 3529
+-82.262 41.68 3471
+-82.136 41.68 3492
+-82.01 41.68 3433
+-81.884 41.68 3434
+-81.758 41.68 3439
+-81.632 41.68 3443
+-81.506 41.68 3446
+-81.38 41.68 3443
+-81.254 41.68 3446
+-81.128 41.68 3450
+-81.002 41.68 3437
+-80.876 41.68 3397
+-80.75 41.68 3394
+-80.624 41.68 3396
+-80.498 41.68 3398
+-80.372 41.68 3400
+-80.246 41.68 3401
+-80.12 41.68 3403
+-79.994 41.68 3405
+-79.868 41.68 3406
+-79.742 41.68 3408
+-79.616 41.68 3409
+-79.49 41.68 3410
+-79.364 41.68 3411
+-79.238 41.68 3413
+-79.112 41.68 3414
+-78.986 41.68 3375
+-78.86 41.68 3474
+-78.734 41.68 3477
+-78.608 41.68 3467
+-78.482 41.68 3469
+-78.356 41.68 3471
+-78.23 41.68 3473
+-78.104 41.68 3475
+-77.978 41.68 3477
+-77.852 41.68 3478
+-77.726 41.68 3480
+-77.6 41.68 3482
+-77.474 41.68 3483
+-77.348 41.68 3485
+-77.222 41.68 3508
+-77.096 41.68 3510
+-76.97 41.68 3512
+-76.844 41.68 3515
+-76.718 41.68 3517
+-76.592 41.68 3519
+-76.466 41.68 3486
+-76.34 41.68 3488
+-76.214 41.68 3489
+-76.088 41.68 3491
+-75.962 41.68 3515
+-75.836 41.68 3517
+-75.71 41.68 3519
+-75.584 41.68 3481
+-75.458 41.68 3482
+-75.332 41.68 3484
+-75.206 41.68 3602
+-75.08 41.68 3603
+-74.954 41.68 3604
+-74.828 41.68 3605
+-74.702 41.68 3606
+-74.576 41.68 3548
+-74.45 41.68 3549
+-74.324 41.68 3549
+-74.198 41.68 3550
+-74.072 41.68 3550
+-73.946 41.68 3551
+-73.82 41.68 3551
+-73.694 41.68 3552
+-73.568 41.68 3552
+-73.442 41.68 3553
+-73.316 41.68 3531
+-73.19 41.68 3520
+-73.064 41.68 3521
+-72.938 41.68 3521
+-72.812 41.68 3522
+-72.686 41.68 3523
+-72.56 41.68 3506
+-72.434 41.68 3506
+-72.308 41.68 3507
+-72.182 41.68 3507
+-72.056 41.68 3507
+-71.93 41.68 3508
+-71.804 41.68 3508
+-71.678 41.68 3508
+-71.552 41.68 3509
+-71.426 41.68 3456
+-71.3 41.68 3456
+-71.174 41.68 3456
+-71.048 41.68 3457
+-70.922 41.68 3457
+-70.796 41.68 3457
+-70.67 41.68 3457
+-70.544 41.68 3458
+-70.418 41.68 3458
+-70.292 41.68 3458
+-70.166 41.68 3458
+-70.04 41.68 3459
+-69.914 41.68 3459
+-69.788 41.68 3382
+-69.662 41.68 3382
+-69.536 41.68 3382
+-69.41 41.68 3382
+-69.284 41.68 3382
+-69.158 41.68 3382
+-69.032 41.68 3381
+-68.906 41.68 3381
+-68.78 41.68 3381
+-68.654 41.68 3381
+-68.528 41.68 3381
+-68.402 41.68 3381
+-68.276 41.68 3381
+-68.15 41.68 3381
+-68.024 41.68 3380
+-67.898 41.68 3380
+-67.772 41.68 3380
+-67.646 41.68 3380
+-67.52 41.68 3380
+-67.394 41.68 3380
+-67.268 41.68 3380
+-67.142 41.68 3380
+-67.016 41.68 3380
+-66.89 41.68 3379
+-66.764 41.68 3379
+-66.638 41.68 3067
+-66.512 41.68 3067
+-66.386 41.68 3067
+-66.26 41.68 3066
+-66.134 41.68 3066
+-66.008 41.68 3065
+-65.882 41.68 3065
+-65.756 41.68 3064
+-65.63 41.68 3064
+-65.504 41.68 3064
+-65.378 41.68 3063
+-65.252 41.68 3063
+-65.126 41.68 3062
+-128 41.628 2907
+-127.874 41.628 2917
+-127.748 41.628 2915
+-127.622 41.628 2911
+-127.496 41.628 2911
+-127.37 41.628 2912
+-127.244 41.628 2911
+-127.118 41.628 2896
+-126.992 41.628 2908
+-126.866 41.628 2899
+-126.74 41.628 2903
+-126.614 41.628 2892
+-126.488 41.628 2874
+-126.362 41.628 2902
+-126.236 41.628 2942
+-126.11 41.628 2999
+-125.984 41.628 3092
+-125.858 41.628 3149
+-125.732 41.628 3194
+-125.606 41.628 3233
+-125.48 41.628 3277
+-125.354 41.628 3328
+-125.228 41.628 3423
+-125.102 41.628 3466
+-124.976 41.628 3498
+-124.85 41.628 3525
+-124.724 41.628 3556
+-124.598 41.628 3569
+-124.472 41.628 3567
+-124.346 41.628 3562
+-124.22 41.628 3551
+-124.094 41.628 3589
+-123.968 41.628 3615
+-123.842 41.628 3622
+-123.716 41.628 3659
+-123.59 41.628 3708
+-123.464 41.628 3745
+-123.338 41.628 3776
+-123.212 41.628 3798
+-123.086 41.628 3795
+-122.96 41.628 3797
+-122.834 41.628 3761
+-122.708 41.628 3717
+-122.582 41.628 3694
+-122.456 41.628 3713
+-122.33 41.628 3726
+-122.204 41.628 3714
+-122.078 41.628 3676
+-121.952 41.628 3615
+-121.826 41.628 3557
+-121.7 41.628 3619
+-121.574 41.628 3667
+-121.448 41.628 3664
+-121.322 41.628 3659
+-121.196 41.628 3703
+-121.07 41.628 3758
+-120.944 41.628 3820
+-120.818 41.628 3871
+-120.692 41.628 3916
+-120.566 41.628 3960
+-120.44 41.628 4007
+-120.314 41.628 4038
+-120.188 41.628 4059
+-120.062 41.628 4103
+-119.936 41.628 4140
+-119.81 41.628 4200
+-119.684 41.628 4280
+-119.558 41.628 4322
+-119.432 41.628 4373
+-119.306 41.628 4397
+-119.18 41.628 4406
+-119.054 41.628 4424
+-118.928 41.628 4425
+-118.802 41.628 4433
+-118.676 41.628 4440
+-118.55 41.628 4455
+-118.424 41.628 4473
+-118.298 41.628 4494
+-118.172 41.628 4496
+-118.046 41.628 4461
+-117.92 41.628 4446
+-117.794 41.628 4426
+-117.668 41.628 4437
+-117.542 41.628 4442
+-117.416 41.628 4411
+-117.29 41.628 4367
+-117.164 41.628 4339
+-117.038 41.628 4260
+-116.912 41.628 4230
+-116.786 41.628 4160
+-116.66 41.628 4120
+-116.534 41.628 4126
+-116.408 41.628 4065
+-116.282 41.628 3977
+-116.156 41.628 3935
+-116.03 41.628 3933
+-115.904 41.628 3885
+-115.778 41.628 3820
+-115.652 41.628 3731
+-115.526 41.628 3617
+-115.4 41.628 3538
+-115.274 41.628 3523
+-115.148 41.628 3472
+-115.022 41.628 3473
+-114.896 41.628 3465
+-114.77 41.628 3425
+-114.644 41.628 3344
+-114.518 41.628 3227
+-114.392 41.628 3105
+-114.266 41.628 2998
+-114.14 41.628 2929
+-114.014 41.628 2869
+-113.888 41.628 2816
+-113.762 41.628 2805
+-113.636 41.628 2790
+-113.51 41.628 2776
+-113.384 41.628 2693
+-113.258 41.628 2611
+-113.132 41.628 2471
+-113.006 41.628 2370
+-112.88 41.628 2263
+-112.754 41.628 2200
+-112.628 41.628 2181
+-112.502 41.628 2190
+-112.376 41.628 2202
+-112.25 41.628 2245
+-112.124 41.628 2291
+-111.998 41.628 2264
+-111.872 41.628 2278
+-111.746 41.628 2321
+-111.62 41.628 2343
+-111.494 41.628 2361
+-111.368 41.628 2376
+-111.242 41.628 2375
+-111.116 41.628 2387
+-110.99 41.628 2330
+-110.864 41.628 2336
+-110.738 41.628 2319
+-110.612 41.628 2274
+-110.486 41.628 2327
+-110.36 41.628 2281
+-110.234 41.628 2286
+-110.108 41.628 2289
+-109.982 41.628 2293
+-109.856 41.628 2334
+-109.73 41.628 2338
+-109.604 41.628 2353
+-109.478 41.628 2330
+-109.352 41.628 2335
+-109.226 41.628 2340
+-109.1 41.628 2344
+-108.974 41.628 2349
+-108.848 41.628 2353
+-108.722 41.628 2357
+-108.596 41.628 2361
+-108.47 41.628 2365
+-108.344 41.628 2369
+-108.218 41.628 2373
+-108.092 41.628 2377
+-107.966 41.628 2381
+-107.84 41.628 2384
+-107.714 41.628 2388
+-107.588 41.628 2391
+-107.462 41.628 2395
+-107.336 41.628 2510
+-107.21 41.628 2515
+-107.084 41.628 2450
+-106.958 41.628 2424
+-106.832 41.628 2426
+-106.706 41.628 2430
+-106.58 41.628 2434
+-106.454 41.628 2400
+-106.328 41.628 2404
+-106.202 41.628 2310
+-106.076 41.628 2142
+-105.95 41.628 2135
+-105.824 41.628 2127
+-105.698 41.628 2116
+-105.572 41.628 2106
+-105.446 41.628 2067
+-105.32 41.628 2056
+-105.194 41.628 1880
+-105.068 41.628 1837
+-104.942 41.628 1758
+-104.816 41.628 1790
+-104.69 41.628 1763
+-104.564 41.628 1800
+-104.438 41.628 1807
+-104.312 41.628 1897
+-104.186 41.628 1898
+-104.06 41.628 2022
+-103.934 41.628 2020
+-103.808 41.628 2112
+-103.682 41.628 2108
+-103.556 41.628 2160
+-103.43 41.628 2152
+-103.304 41.628 2156
+-103.178 41.628 2147
+-103.052 41.628 2180
+-102.926 41.628 2170
+-102.8 41.628 2203
+-102.674 41.628 2224
+-102.548 41.628 2253
+-102.422 41.628 2240
+-102.296 41.628 2227
+-102.17 41.628 2213
+-102.044 41.628 2198
+-101.918 41.628 2238
+-101.792 41.628 2223
+-101.666 41.628 2207
+-101.54 41.628 2191
+-101.414 41.628 2173
+-101.288 41.628 2154
+-101.162 41.628 2143
+-101.036 41.628 2133
+-100.91 41.628 2157
+-100.784 41.628 2135
+-100.658 41.628 2110
+-100.532 41.628 2083
+-100.406 41.628 2088
+-100.28 41.628 2055
+-100.154 41.628 2019
+-100.028 41.628 1979
+-99.902 41.628 1934
+-99.776 41.628 1885
+-99.65 41.628 1830
+-99.524 41.628 1805
+-99.398 41.628 1771
+-99.272 41.628 1696
+-99.146 41.628 1615
+-99.02 41.628 1531
+-98.894 41.628 1447
+-98.768 41.628 1371
+-98.642 41.628 1322
+-98.516 41.628 1321
+-98.39 41.628 1348
+-98.264 41.628 1445
+-98.138 41.628 1586
+-98.012 41.628 1750
+-97.886 41.628 1957
+-97.76 41.628 2152
+-97.634 41.628 2310
+-97.508 41.628 2440
+-97.382 41.628 2570
+-97.256 41.628 2626
+-97.13 41.628 2643
+-97.004 41.628 2605
+-96.878 41.628 2580
+-96.752 41.628 2426
+-96.626 41.628 2249
+-96.5 41.628 2155
+-96.374 41.628 2278
+-96.248 41.628 2626
+-96.122 41.628 2956
+-95.996 41.628 3205
+-95.87 41.628 3344
+-95.744 41.628 3414
+-95.618 41.628 3414
+-95.492 41.628 3350
+-95.366 41.628 3271
+-95.24 41.628 3396
+-95.114 41.628 3591
+-94.988 41.628 3778
+-94.862 41.628 3880
+-94.736 41.628 4022
+-94.61 41.628 4119
+-94.484 41.628 4222
+-94.358 41.628 4385
+-94.232 41.628 4567
+-94.106 41.628 4705
+-93.98 41.628 4767
+-93.854 41.628 4806
+-93.728 41.628 4812
+-93.602 41.628 4893
+-93.476 41.628 4946
+-93.35 41.628 5027
+-93.224 41.628 5127
+-93.098 41.628 5223
+-92.972 41.628 5305
+-92.846 41.628 5436
+-92.72 41.628 5472
+-92.594 41.628 5595
+-92.468 41.628 5710
+-92.342 41.628 5757
+-92.216 41.628 5824
+-92.09 41.628 5902
+-91.964 41.628 5936
+-91.838 41.628 6008
+-91.712 41.628 6097
+-91.586 41.628 6089
+-91.46 41.628 6152
+-91.334 41.628 6219
+-91.208 41.628 6264
+-91.082 41.628 6286
+-90.956 41.628 6311
+-90.83 41.628 6348
+-90.704 41.628 6309
+-90.578 41.628 6334
+-90.452 41.628 6340
+-90.326 41.628 6332
+-90.2 41.628 6326
+-90.074 41.628 6307
+-89.948 41.628 6314
+-89.822 41.628 6272
+-89.696 41.628 6217
+-89.57 41.628 6206
+-89.444 41.628 6175
+-89.318 41.628 6143
+-89.192 41.628 6083
+-89.066 41.628 6017
+-88.94 41.628 5946
+-88.814 41.628 5893
+-88.688 41.628 5777
+-88.562 41.628 5732
+-88.436 41.628 5637
+-88.31 41.628 5552
+-88.184 41.628 5487
+-88.058 41.628 5396
+-87.932 41.628 5319
+-87.806 41.628 5215
+-87.68 41.628 5161
+-87.554 41.628 5107
+-87.428 41.628 5046
+-87.302 41.628 5015
+-87.176 41.628 5023
+-87.05 41.628 5007
+-86.924 41.628 4924
+-86.798 41.628 4832
+-86.672 41.628 4750
+-86.546 41.628 4688
+-86.42 41.628 4646
+-86.294 41.628 4593
+-86.168 41.628 4580
+-86.042 41.628 4491
+-85.916 41.628 4358
+-85.79 41.628 4287
+-85.664 41.628 4257
+-85.538 41.628 4179
+-85.412 41.628 4144
+-85.286 41.628 4080
+-85.16 41.628 4003
+-85.034 41.628 3932
+-84.908 41.628 3809
+-84.782 41.628 3629
+-84.656 41.628 3462
+-84.53 41.628 3379
+-84.404 41.628 3334
+-84.278 41.628 3144
+-84.152 41.628 3006
+-84.026 41.628 3071
+-83.9 41.628 3179
+-83.774 41.628 3289
+-83.648 41.628 3382
+-83.522 41.628 3411
+-83.396 41.628 3439
+-83.27 41.628 3467
+-83.144 41.628 3489
+-83.018 41.628 3467
+-82.892 41.628 3479
+-82.766 41.628 3485
+-82.64 41.628 3476
+-82.514 41.628 3532
+-82.388 41.628 3541
+-82.262 41.628 3495
+-82.136 41.628 3503
+-82.01 41.628 3509
+-81.884 41.628 3446
+-81.758 41.628 3450
+-81.632 41.628 3453
+-81.506 41.628 3449
+-81.38 41.628 3453
+-81.254 41.628 3456
+-81.128 41.628 3443
+-81.002 41.628 3403
+-80.876 41.628 3399
+-80.75 41.628 3401
+-80.624 41.628 3403
+-80.498 41.628 3405
+-80.372 41.628 3406
+-80.246 41.628 3408
+-80.12 41.628 3409
+-79.994 41.628 3410
+-79.868 41.628 3412
+-79.742 41.628 3413
+-79.616 41.628 3414
+-79.49 41.628 3415
+-79.364 41.628 3416
+-79.238 41.628 3417
+-79.112 41.628 3378
+-78.986 41.628 3475
+-78.86 41.628 3477
+-78.734 41.628 3468
+-78.608 41.628 3470
+-78.482 41.628 3472
+-78.356 41.628 3474
+-78.23 41.628 3476
+-78.104 41.628 3477
+-77.978 41.628 3479
+-77.852 41.628 3481
+-77.726 41.628 3483
+-77.6 41.628 3484
+-77.474 41.628 3486
+-77.348 41.628 3508
+-77.222 41.628 3511
+-77.096 41.628 3513
+-76.97 41.628 3515
+-76.844 41.628 3517
+-76.718 41.628 3519
+-76.592 41.628 3487
+-76.466 41.628 3488
+-76.34 41.628 3490
+-76.214 41.628 3491
+-76.088 41.628 3515
+-75.962 41.628 3518
+-75.836 41.628 3519
+-75.71 41.628 3481
+-75.584 41.628 3483
+-75.458 41.628 3484
+-75.332 41.628 3601
+-75.206 41.628 3602
+-75.08 41.628 3603
+-74.954 41.628 3605
+-74.828 41.628 3606
+-74.702 41.628 3548
+-74.576 41.628 3548
+-74.45 41.628 3549
+-74.324 41.628 3549
+-74.198 41.628 3550
+-74.072 41.628 3551
+-73.946 41.628 3551
+-73.82 41.628 3552
+-73.694 41.628 3552
+-73.568 41.628 3553
+-73.442 41.628 3531
+-73.316 41.628 3520
+-73.19 41.628 3521
+-73.064 41.628 3521
+-72.938 41.628 3522
+-72.812 41.628 3522
+-72.686 41.628 3523
+-72.56 41.628 3506
+-72.434 41.628 3506
+-72.308 41.628 3507
+-72.182 41.628 3507
+-72.056 41.628 3508
+-71.93 41.628 3508
+-71.804 41.628 3508
+-71.678 41.628 3509
+-71.552 41.628 3455
+-71.426 41.628 3456
+-71.3 41.628 3456
+-71.174 41.628 3456
+-71.048 41.628 3457
+-70.922 41.628 3457
+-70.796 41.628 3457
+-70.67 41.628 3457
+-70.544 41.628 3458
+-70.418 41.628 3458
+-70.292 41.628 3458
+-70.166 41.628 3459
+-70.04 41.628 3459
+-69.914 41.628 3382
+-69.788 41.628 3382
+-69.662 41.628 3382
+-69.536 41.628 3382
+-69.41 41.628 3382
+-69.284 41.628 3382
+-69.158 41.628 3381
+-69.032 41.628 3381
+-68.906 41.628 3381
+-68.78 41.628 3381
+-68.654 41.628 3381
+-68.528 41.628 3381
+-68.402 41.628 3381
+-68.276 41.628 3381
+-68.15 41.628 3380
+-68.024 41.628 3380
+-67.898 41.628 3380
+-67.772 41.628 3380
+-67.646 41.628 3380
+-67.52 41.628 3380
+-67.394 41.628 3380
+-67.268 41.628 3380
+-67.142 41.628 3379
+-67.016 41.628 3379
+-66.89 41.628 3379
+-66.764 41.628 3068
+-66.638 41.628 3067
+-66.512 41.628 3067
+-66.386 41.628 3066
+-66.26 41.628 3066
+-66.134 41.628 3065
+-66.008 41.628 3065
+-65.882 41.628 3064
+-65.756 41.628 3064
+-65.63 41.628 3064
+-65.504 41.628 3063
+-65.378 41.628 3063
+-65.252 41.628 3062
+-65.126 41.628 3062
+-128 41.576 2888
+-127.874 41.576 2881
+-127.748 41.576 2873
+-127.622 41.576 2869
+-127.496 41.576 2868
+-127.37 41.576 2865
+-127.244 41.576 2849
+-127.118 41.576 2860
+-126.992 41.576 2848
+-126.866 41.576 2845
+-126.74 41.576 2818
+-126.614 41.576 2777
+-126.488 41.576 2767
+-126.362 41.576 2773
+-126.236 41.576 2815
+-126.11 41.576 2886
+-125.984 41.576 2969
+-125.858 41.576 3076
+-125.732 41.576 3146
+-125.606 41.576 3205
+-125.48 41.576 3258
+-125.354 41.576 3311
+-125.228 41.576 3362
+-125.102 41.576 3431
+-124.976 41.576 3461
+-124.85 41.576 3495
+-124.724 41.576 3501
+-124.598 41.576 3505
+-124.472 41.576 3532
+-124.346 41.576 3526
+-124.22 41.576 3515
+-124.094 41.576 3548
+-123.968 41.576 3583
+-123.842 41.576 3590
+-123.716 41.576 3614
+-123.59 41.576 3644
+-123.464 41.576 3673
+-123.338 41.576 3706
+-123.212 41.576 3728
+-123.086 41.576 3751
+-122.96 41.576 3733
+-122.834 41.576 3732
+-122.708 41.576 3711
+-122.582 41.576 3700
+-122.456 41.576 3711
+-122.33 41.576 3713
+-122.204 41.576 3697
+-122.078 41.576 3669
+-121.952 41.576 3634
+-121.826 41.576 3599
+-121.7 41.576 3622
+-121.574 41.576 3631
+-121.448 41.576 3597
+-121.322 41.576 3560
+-121.196 41.576 3636
+-121.07 41.576 3721
+-120.944 41.576 3795
+-120.818 41.576 3850
+-120.692 41.576 3884
+-120.566 41.576 3921
+-120.44 41.576 3955
+-120.314 41.576 3983
+-120.188 41.576 3993
+-120.062 41.576 4028
+-119.936 41.576 4070
+-119.81 41.576 4131
+-119.684 41.576 4184
+-119.558 41.576 4233
+-119.432 41.576 4291
+-119.306 41.576 4324
+-119.18 41.576 4332
+-119.054 41.576 4369
+-118.928 41.576 4400
+-118.802 41.576 4406
+-118.676 41.576 4396
+-118.55 41.576 4403
+-118.424 41.576 4419
+-118.298 41.576 4430
+-118.172 41.576 4425
+-118.046 41.576 4438
+-117.92 41.576 4414
+-117.794 41.576 4398
+-117.668 41.576 4390
+-117.542 41.576 4356
+-117.416 41.576 4313
+-117.29 41.576 4305
+-117.164 41.576 4259
+-117.038 41.576 4201
+-116.912 41.576 4153
+-116.786 41.576 4107
+-116.66 41.576 4092
+-116.534 41.576 4071
+-116.408 41.576 4019
+-116.282 41.576 3950
+-116.156 41.576 3931
+-116.03 41.576 3908
+-115.904 41.576 3846
+-115.778 41.576 3772
+-115.652 41.576 3685
+-115.526 41.576 3610
+-115.4 41.576 3561
+-115.274 41.576 3492
+-115.148 41.576 3401
+-115.022 41.576 3445
+-114.896 41.576 3460
+-114.77 41.576 3403
+-114.644 41.576 3347
+-114.518 41.576 3266
+-114.392 41.576 3116
+-114.266 41.576 3043
+-114.14 41.576 2965
+-114.014 41.576 2913
+-113.888 41.576 2873
+-113.762 41.576 2835
+-113.636 41.576 2794
+-113.51 41.576 2751
+-113.384 41.576 2677
+-113.258 41.576 2531
+-113.132 41.576 2386
+-113.006 41.576 2202
+-112.88 41.576 2077
+-112.754 41.576 2002
+-112.628 41.576 1980
+-112.502 41.576 2022
+-112.376 41.576 2090
+-112.25 41.576 2160
+-112.124 41.576 2170
+-111.998 41.576 2217
+-111.872 41.576 2256
+-111.746 41.576 2272
+-111.62 41.576 2316
+-111.494 41.576 2338
+-111.368 41.576 2340
+-111.242 41.576 2356
+-111.116 41.576 2302
+-110.99 41.576 2310
+-110.864 41.576 2317
+-110.738 41.576 2322
+-110.612 41.576 2306
+-110.486 41.576 2260
+-110.36 41.576 2283
+-110.234 41.576 2268
+-110.108 41.576 2272
+-109.982 41.576 2276
+-109.856 41.576 2280
+-109.73 41.576 2321
+-109.604 41.576 2326
+-109.478 41.576 2341
+-109.352 41.576 2318
+-109.226 41.576 2323
+-109.1 41.576 2328
+-108.974 41.576 2333
+-108.848 41.576 2337
+-108.722 41.576 2342
+-108.596 41.576 2346
+-108.47 41.576 2351
+-108.344 41.576 2355
+-108.218 41.576 2359
+-108.092 41.576 2363
+-107.966 41.576 2368
+-107.84 41.576 2372
+-107.714 41.576 2375
+-107.588 41.576 2379
+-107.462 41.576 2383
+-107.336 41.576 2308
+-107.21 41.576 2434
+-107.084 41.576 2438
+-106.958 41.576 2442
+-106.832 41.576 2411
+-106.706 41.576 2418
+-106.58 41.576 2422
+-106.454 41.576 2426
+-106.328 41.576 2394
+-106.202 41.576 2255
+-106.076 41.576 2130
+-105.95 41.576 2099
+-105.824 41.576 2113
+-105.698 41.576 2104
+-105.572 41.576 2042
+-105.446 41.576 2032
+-105.32 41.576 2021
+-105.194 41.576 1874
+-105.068 41.576 1832
+-104.942 41.576 1755
+-104.816 41.576 1776
+-104.69 41.576 1747
+-104.564 41.576 1773
+-104.438 41.576 1817
+-104.312 41.576 1900
+-104.186 41.576 1901
+-104.06 41.576 2024
+-103.934 41.576 2079
+-103.808 41.576 2076
+-103.682 41.576 2111
+-103.556 41.576 2162
+-103.43 41.576 2155
+-103.304 41.576 2146
+-103.178 41.576 2150
+-103.052 41.576 2141
+-102.926 41.576 2218
+-102.8 41.576 2207
+-102.674 41.576 2195
+-102.548 41.576 2216
+-102.422 41.576 2244
+-102.296 41.576 2231
+-102.17 41.576 2217
+-102.044 41.576 2202
+-101.918 41.576 2187
+-101.792 41.576 2226
+-101.666 41.576 2211
+-101.54 41.576 2194
+-101.414 41.576 2177
+-101.288 41.576 2159
+-101.162 41.576 2139
+-101.036 41.576 2127
+-100.91 41.576 2117
+-100.784 41.576 2141
+-100.658 41.576 2118
+-100.532 41.576 2093
+-100.406 41.576 2066
+-100.28 41.576 2070
+-100.154 41.576 2037
+-100.028 41.576 2001
+-99.902 41.576 1962
+-99.776 41.576 1920
+-99.65 41.576 1873
+-99.524 41.576 1822
+-99.398 41.576 1802
+-99.272 41.576 1778
+-99.146 41.576 1717
+-99.02 41.576 1656
+-98.894 41.576 1599
+-98.768 41.576 1578
+-98.642 41.576 1547
+-98.516 41.576 1556
+-98.39 41.576 1587
+-98.264 41.576 1691
+-98.138 41.576 1793
+-98.012 41.576 1971
+-97.886 41.576 2115
+-97.76 41.576 2261
+-97.634 41.576 2415
+-97.508 41.576 2538
+-97.382 41.576 2616
+-97.256 41.576 2661
+-97.13 41.576 2672
+-97.004 41.576 2643
+-96.878 41.576 2569
+-96.752 41.576 2495
+-96.626 41.576 2340
+-96.5 41.576 2269
+-96.374 41.576 2399
+-96.248 41.576 2709
+-96.122 41.576 2993
+-95.996 41.576 3220
+-95.87 41.576 3366
+-95.744 41.576 3439
+-95.618 41.576 3453
+-95.492 41.576 3413
+-95.366 41.576 3388
+-95.24 41.576 3494
+-95.114 41.576 3648
+-94.988 41.576 3802
+-94.862 41.576 3919
+-94.736 41.576 4064
+-94.61 41.576 4163
+-94.484 41.576 4275
+-94.358 41.576 4478
+-94.232 41.576 4648
+-94.106 41.576 4756
+-93.98 41.576 4795
+-93.854 41.576 4824
+-93.728 41.576 4786
+-93.602 41.576 4900
+-93.476 41.576 4989
+-93.35 41.576 5056
+-93.224 41.576 5174
+-93.098 41.576 5292
+-92.972 41.576 5342
+-92.846 41.576 5468
+-92.72 41.576 5556
+-92.594 41.576 5632
+-92.468 41.576 5740
+-92.342 41.576 5790
+-92.216 41.576 5857
+-92.09 41.576 5946
+-91.964 41.576 5987
+-91.838 41.576 6037
+-91.712 41.576 6119
+-91.586 41.576 6154
+-91.46 41.576 6223
+-91.334 41.576 6282
+-91.208 41.576 6317
+-91.082 41.576 6318
+-90.956 41.576 6344
+-90.83 41.576 6369
+-90.704 41.576 6390
+-90.578 41.576 6375
+-90.452 41.576 6389
+-90.326 41.576 6393
+-90.2 41.576 6396
+-90.074 41.576 6360
+-89.948 41.576 6336
+-89.822 41.576 6351
+-89.696 41.576 6327
+-89.57 41.576 6260
+-89.444 41.576 6226
+-89.318 41.576 6183
+-89.192 41.576 6168
+-89.066 41.576 6055
+-88.94 41.576 6000
+-88.814 41.576 5951
+-88.688 41.576 5871
+-88.562 41.576 5805
+-88.436 41.576 5719
+-88.31 41.576 5616
+-88.184 41.576 5536
+-88.058 41.576 5464
+-87.932 41.576 5337
+-87.806 41.576 5237
+-87.68 41.576 5146
+-87.554 41.576 5138
+-87.428 41.576 5109
+-87.302 41.576 5111
+-87.176 41.576 5093
+-87.05 41.576 5026
+-86.924 41.576 4943
+-86.798 41.576 4870
+-86.672 41.576 4796
+-86.546 41.576 4772
+-86.42 41.576 4653
+-86.294 41.576 4653
+-86.168 41.576 4614
+-86.042 41.576 4548
+-85.916 41.576 4394
+-85.79 41.576 4285
+-85.664 41.576 4297
+-85.538 41.576 4282
+-85.412 41.576 4221
+-85.286 41.576 4121
+-85.16 41.576 4068
+-85.034 41.576 3988
+-84.908 41.576 3813
+-84.782 41.576 3622
+-84.656 41.576 3419
+-84.53 41.576 3324
+-84.404 41.576 3352
+-84.278 41.576 3305
+-84.152 41.576 3233
+-84.026 41.576 3240
+-83.9 41.576 3313
+-83.774 41.576 3365
+-83.648 41.576 3444
+-83.522 41.576 3430
+-83.396 41.576 3462
+-83.27 41.576 3487
+-83.144 41.576 3468
+-83.018 41.576 3481
+-82.892 41.576 3488
+-82.766 41.576 3479
+-82.64 41.576 3535
+-82.514 41.576 3544
+-82.388 41.576 3499
+-82.262 41.576 3507
+-82.136 41.576 3512
+-82.01 41.576 3511
+-81.884 41.576 3516
+-81.758 41.576 3521
+-81.632 41.576 3456
+-81.506 41.576 3460
+-81.38 41.576 3463
+-81.254 41.576 3449
+-81.128 41.576 3409
+-81.002 41.576 3405
+-80.876 41.576 3407
+-80.75 41.576 3408
+-80.624 41.576 3410
+-80.498 41.576 3411
+-80.372 41.576 3413
+-80.246 41.576 3414
+-80.12 41.576 3415
+-79.994 41.576 3416
+-79.868 41.576 3417
+-79.742 41.576 3418
+-79.616 41.576 3419
+-79.49 41.576 3420
+-79.364 41.576 3421
+-79.238 41.576 3382
+-79.112 41.576 3476
+-78.986 41.576 3478
+-78.86 41.576 3469
+-78.734 41.576 3471
+-78.608 41.576 3473
+-78.482 41.576 3475
+-78.356 41.576 3477
+-78.23 41.576 3478
+-78.104 41.576 3480
+-77.978 41.576 3482
+-77.852 41.576 3483
+-77.726 41.576 3485
+-77.6 41.576 3487
+-77.474 41.576 3509
+-77.348 41.576 3511
+-77.222 41.576 3514
+-77.096 41.576 3516
+-76.97 41.576 3518
+-76.844 41.576 3520
+-76.718 41.576 3488
+-76.592 41.576 3489
+-76.466 41.576 3491
+-76.34 41.576 3492
+-76.214 41.576 3516
+-76.088 41.576 3518
+-75.962 41.576 3520
+-75.836 41.576 3482
+-75.71 41.576 3483
+-75.584 41.576 3485
+-75.458 41.576 3601
+-75.332 41.576 3602
+-75.206 41.576 3603
+-75.08 41.576 3604
+-74.954 41.576 3605
+-74.828 41.576 3547
+-74.702 41.576 3548
+-74.576 41.576 3549
+-74.45 41.576 3549
+-74.324 41.576 3550
+-74.198 41.576 3550
+-74.072 41.576 3551
+-73.946 41.576 3551
+-73.82 41.576 3552
+-73.694 41.576 3552
+-73.568 41.576 3531
+-73.442 41.576 3520
+-73.316 41.576 3520
+-73.19 41.576 3521
+-73.064 41.576 3522
+-72.938 41.576 3522
+-72.812 41.576 3505
+-72.686 41.576 3506
+-72.56 41.576 3506
+-72.434 41.576 3507
+-72.308 41.576 3507
+-72.182 41.576 3507
+-72.056 41.576 3508
+-71.93 41.576 3508
+-71.804 41.576 3509
+-71.678 41.576 3455
+-71.552 41.576 3456
+-71.426 41.576 3456
+-71.3 41.576 3456
+-71.174 41.576 3456
+-71.048 41.576 3457
+-70.922 41.576 3457
+-70.796 41.576 3457
+-70.67 41.576 3458
+-70.544 41.576 3458
+-70.418 41.576 3458
+-70.292 41.576 3458
+-70.166 41.576 3459
+-70.04 41.576 3382
+-69.914 41.576 3382
+-69.788 41.576 3382
+-69.662 41.576 3382
+-69.536 41.576 3382
+-69.41 41.576 3382
+-69.284 41.576 3381
+-69.158 41.576 3381
+-69.032 41.576 3381
+-68.906 41.576 3381
+-68.78 41.576 3381
+-68.654 41.576 3381
+-68.528 41.576 3381
+-68.402 41.576 3381
+-68.276 41.576 3380
+-68.15 41.576 3380
+-68.024 41.576 3380
+-67.898 41.576 3380
+-67.772 41.576 3380
+-67.646 41.576 3380
+-67.52 41.576 3380
+-67.394 41.576 3380
+-67.268 41.576 3379
+-67.142 41.576 3379
+-67.016 41.576 3379
+-66.89 41.576 3068
+-66.764 41.576 3067
+-66.638 41.576 3067
+-66.512 41.576 3066
+-66.386 41.576 3066
+-66.26 41.576 3065
+-66.134 41.576 3065
+-66.008 41.576 3064
+-65.882 41.576 3064
+-65.756 41.576 3064
+-65.63 41.576 3063
+-65.504 41.576 3063
+-65.378 41.576 3062
+-65.252 41.576 3062
+-65.126 41.576 3062
+-128 41.524 2849
+-127.874 41.524 2836
+-127.748 41.524 2827
+-127.622 41.524 2821
+-127.496 41.524 2816
+-127.37 41.524 2800
+-127.244 41.524 2812
+-127.118 41.524 2803
+-126.992 41.524 2802
+-126.866 41.524 2775
+-126.74 41.524 2726
+-126.614 41.524 2688
+-126.488 41.524 2646
+-126.362 41.524 2634
+-126.236 41.524 2677
+-126.11 41.524 2763
+-125.984 41.524 2864
+-125.858 41.524 2962
+-125.732 41.524 3056
+-125.606 41.524 3133
+-125.48 41.524 3199
+-125.354 41.524 3259
+-125.228 41.524 3309
+-125.102 41.524 3399
+-124.976 41.524 3417
+-124.85 41.524 3419
+-124.724 41.524 3430
+-124.598 41.524 3446
+-124.472 41.524 3473
+-124.346 41.524 3509
+-124.22 41.524 3515
+-124.094 41.524 3507
+-123.968 41.524 3486
+-123.842 41.524 3515
+-123.716 41.524 3565
+-123.59 41.524 3599
+-123.464 41.524 3633
+-123.338 41.524 3661
+-123.212 41.524 3677
+-123.086 41.524 3682
+-122.96 41.524 3695
+-122.834 41.524 3678
+-122.708 41.524 3689
+-122.582 41.524 3684
+-122.456 41.524 3690
+-122.33 41.524 3679
+-122.204 41.524 3668
+-122.078 41.524 3651
+-121.952 41.524 3632
+-121.826 41.524 3621
+-121.7 41.524 3631
+-121.574 41.524 3599
+-121.448 41.524 3521
+-121.322 41.524 3411
+-121.196 41.524 3538
+-121.07 41.524 3669
+-120.944 41.524 3745
+-120.818 41.524 3798
+-120.692 41.524 3865
+-120.566 41.524 3892
+-120.44 41.524 3943
+-120.314 41.524 3972
+-120.188 41.524 3987
+-120.062 41.524 4007
+-119.936 41.524 4023
+-119.81 41.524 4054
+-119.684 41.524 4106
+-119.558 41.524 4175
+-119.432 41.524 4229
+-119.306 41.524 4282
+-119.18 41.524 4306
+-119.054 41.524 4319
+-118.928 41.524 4340
+-118.802 41.524 4363
+-118.676 41.524 4386
+-118.55 41.524 4374
+-118.424 41.524 4379
+-118.298 41.524 4386
+-118.172 41.524 4404
+-118.046 41.524 4393
+-117.92 41.524 4385
+-117.794 41.524 4380
+-117.668 41.524 4359
+-117.542 41.524 4308
+-117.416 41.524 4277
+-117.29 41.524 4272
+-117.164 41.524 4210
+-117.038 41.524 4157
+-116.912 41.524 4117
+-116.786 41.524 4074
+-116.66 41.524 4054
+-116.534 41.524 4033
+-116.408 41.524 3969
+-116.282 41.524 3922
+-116.156 41.524 3907
+-116.03 41.524 3861
+-115.904 41.524 3791
+-115.778 41.524 3686
+-115.652 41.524 3620
+-115.526 41.524 3607
+-115.4 41.524 3578
+-115.274 41.524 3512
+-115.148 41.524 3455
+-115.022 41.524 3461
+-114.896 41.524 3440
+-114.77 41.524 3407
+-114.644 41.524 3331
+-114.518 41.524 3278
+-114.392 41.524 3123
+-114.266 41.524 3054
+-114.14 41.524 2998
+-114.014 41.524 2948
+-113.888 41.524 2883
+-113.762 41.524 2828
+-113.636 41.524 2780
+-113.51 41.524 2712
+-113.384 41.524 2602
+-113.258 41.524 2458
+-113.132 41.524 2254
+-113.006 41.524 2046
+-112.88 41.524 1859
+-112.754 41.524 1775
+-112.628 41.524 1795
+-112.502 41.524 1878
+-112.376 41.524 1950
+-112.25 41.524 2037
+-112.124 41.524 2114
+-111.998 41.524 2176
+-111.872 41.524 2224
+-111.746 41.524 2261
+-111.62 41.524 2286
+-111.494 41.524 2227
+-111.368 41.524 2224
+-111.242 41.524 2236
+-111.116 41.524 2246
+-110.99 41.524 2246
+-110.864 41.524 2253
+-110.738 41.524 2258
+-110.612 41.524 2262
+-110.486 41.524 2266
+-110.36 41.524 2247
+-110.234 41.524 2270
+-110.108 41.524 2254
+-109.982 41.524 2259
+-109.856 41.524 2263
+-109.73 41.524 2267
+-109.604 41.524 2308
+-109.478 41.524 2313
+-109.352 41.524 2328
+-109.226 41.524 2306
+-109.1 41.524 2311
+-108.974 41.524 2316
+-108.848 41.524 2321
+-108.722 41.524 2326
+-108.596 41.524 2331
+-108.47 41.524 2336
+-108.344 41.524 2341
+-108.218 41.524 2345
+-108.092 41.524 2350
+-107.966 41.524 2354
+-107.84 41.524 2359
+-107.714 41.524 2363
+-107.588 41.524 2367
+-107.462 41.524 2293
+-107.336 41.524 2416
+-107.21 41.524 2421
+-107.084 41.524 2425
+-106.958 41.524 2430
+-106.832 41.524 2411
+-106.706 41.524 2404
+-106.58 41.524 2410
+-106.454 41.524 2415
+-106.328 41.524 2282
+-106.202 41.524 2244
+-106.076 41.524 2096
+-105.95 41.524 2089
+-105.824 41.524 2102
+-105.698 41.524 2042
+-105.572 41.524 2032
+-105.446 41.524 2022
+-105.32 41.524 1929
+-105.194 41.524 1834
+-105.068 41.524 1760
+-104.942 41.524 1726
+-104.816 41.524 1773
+-104.69 41.524 1747
+-104.564 41.524 1743
+-104.438 41.524 1764
+-104.312 41.524 1833
+-104.186 41.524 1903
+-104.06 41.524 2027
+-103.934 41.524 2082
+-103.808 41.524 2079
+-103.682 41.524 2075
+-103.556 41.524 2166
+-103.43 41.524 2158
+-103.304 41.524 2150
+-103.178 41.524 2141
+-103.052 41.524 2145
+-102.926 41.524 2135
+-102.8 41.524 2211
+-102.674 41.524 2199
+-102.548 41.524 2187
+-102.422 41.524 2208
+-102.296 41.524 2235
+-102.17 41.524 2221
+-102.044 41.524 2207
+-101.918 41.524 2192
+-101.792 41.524 2176
+-101.666 41.524 2215
+-101.54 41.524 2199
+-101.414 41.524 2182
+-101.288 41.524 2164
+-101.162 41.524 2145
+-101.036 41.524 2125
+-100.91 41.524 2112
+-100.784 41.524 2101
+-100.658 41.524 2126
+-100.532 41.524 2102
+-100.406 41.524 2078
+-100.28 41.524 2051
+-100.154 41.524 2055
+-100.028 41.524 2024
+-99.902 41.524 1990
+-99.776 41.524 1953
+-99.65 41.524 1915
+-99.524 41.524 1874
+-99.398 41.524 1830
+-99.272 41.524 1865
+-99.146 41.524 1847
+-99.02 41.524 1804
+-98.894 41.524 1767
+-98.768 41.524 1740
+-98.642 41.524 1729
+-98.516 41.524 1739
+-98.39 41.524 1790
+-98.264 41.524 1891
+-98.138 41.524 1980
+-98.012 41.524 2122
+-97.886 41.524 2253
+-97.76 41.524 2402
+-97.634 41.524 2533
+-97.508 41.524 2620
+-97.382 41.524 2684
+-97.256 41.524 2722
+-97.13 41.524 2732
+-97.004 41.524 2711
+-96.878 41.524 2659
+-96.752 41.524 2581
+-96.626 41.524 2544
+-96.5 41.524 2524
+-96.374 41.524 2627
+-96.248 41.524 2881
+-96.122 41.524 3096
+-95.996 41.524 3252
+-95.87 41.524 3364
+-95.744 41.524 3457
+-95.618 41.524 3502
+-95.492 41.524 3520
+-95.366 41.524 3550
+-95.24 41.524 3636
+-95.114 41.524 3715
+-94.988 41.524 3824
+-94.862 41.524 3919
+-94.736 41.524 4080
+-94.61 41.524 4200
+-94.484 41.524 4347
+-94.358 41.524 4575
+-94.232 41.524 4696
+-94.106 41.524 4771
+-93.98 41.524 4824
+-93.854 41.524 4834
+-93.728 41.524 4757
+-93.602 41.524 4921
+-93.476 41.524 5005
+-93.35 41.524 5112
+-93.224 41.524 5224
+-93.098 41.524 5319
+-92.972 41.524 5387
+-92.846 41.524 5498
+-92.72 41.524 5575
+-92.594 41.524 5666
+-92.468 41.524 5772
+-92.342 41.524 5848
+-92.216 41.524 5874
+-92.09 41.524 5966
+-91.964 41.524 6045
+-91.838 41.524 6079
+-91.712 41.524 6179
+-91.586 41.524 6235
+-91.46 41.524 6299
+-91.334 41.524 6295
+-91.208 41.524 6363
+-91.082 41.524 6401
+-90.956 41.524 6403
+-90.83 41.524 6457
+-90.704 41.524 6419
+-90.578 41.524 6438
+-90.452 41.524 6489
+-90.326 41.524 6460
+-90.2 41.524 6444
+-90.074 41.524 6424
+-89.948 41.524 6396
+-89.822 41.524 6382
+-89.696 41.524 6358
+-89.57 41.524 6317
+-89.444 41.524 6278
+-89.318 41.524 6228
+-89.192 41.524 6158
+-89.066 41.524 6099
+-88.94 41.524 6032
+-88.814 41.524 5976
+-88.688 41.524 5934
+-88.562 41.524 5799
+-88.436 41.524 5774
+-88.31 41.524 5644
+-88.184 41.524 5578
+-88.058 41.524 5516
+-87.932 41.524 5406
+-87.806 41.524 5279
+-87.68 41.524 5213
+-87.554 41.524 5182
+-87.428 41.524 5120
+-87.302 41.524 5122
+-87.176 41.524 5101
+-87.05 41.524 5056
+-86.924 41.524 4987
+-86.798 41.524 4931
+-86.672 41.524 4845
+-86.546 41.524 4773
+-86.42 41.524 4749
+-86.294 41.524 4692
+-86.168 41.524 4591
+-86.042 41.524 4596
+-85.916 41.524 4494
+-85.79 41.524 4391
+-85.664 41.524 4349
+-85.538 41.524 4326
+-85.412 41.524 4272
+-85.286 41.524 4228
+-85.16 41.524 4126
+-85.034 41.524 4009
+-84.908 41.524 3866
+-84.782 41.524 3700
+-84.656 41.524 3500
+-84.53 41.524 3402
+-84.404 41.524 3416
+-84.278 41.524 3419
+-84.152 41.524 3391
+-84.026 41.524 3393
+-83.9 41.524 3410
+-83.774 41.524 3452
+-83.648 41.524 3498
+-83.522 41.524 3515
+-83.396 41.524 3544
+-83.27 41.524 3501
+-83.144 41.524 3515
+-83.018 41.524 3492
+-82.892 41.524 3484
+-82.766 41.524 3538
+-82.64 41.524 3547
+-82.514 41.524 3504
+-82.388 41.524 3511
+-82.262 41.524 3517
+-82.136 41.524 3515
+-82.01 41.524 3520
+-81.884 41.524 3525
+-81.758 41.524 3529
+-81.632 41.524 3525
+-81.506 41.524 3521
+-81.38 41.524 3456
+-81.254 41.524 3474
+-81.128 41.524 3411
+-81.002 41.524 3413
+-80.876 41.524 3414
+-80.75 41.524 3415
+-80.624 41.524 3417
+-80.498 41.524 3418
+-80.372 41.524 3419
+-80.246 41.524 3420
+-80.12 41.524 3421
+-79.994 41.524 3422
+-79.868 41.524 3454
+-79.742 41.524 3455
+-79.616 41.524 3456
+-79.49 41.524 3457
+-79.364 41.524 3458
+-79.238 41.524 3477
+-79.112 41.524 3479
+-78.986 41.524 3470
+-78.86 41.524 3472
+-78.734 41.524 3474
+-78.608 41.524 3476
+-78.482 41.524 3478
+-78.356 41.524 3479
+-78.23 41.524 3481
+-78.104 41.524 3483
+-77.978 41.524 3484
+-77.852 41.524 3486
+-77.726 41.524 3488
+-77.6 41.524 3510
+-77.474 41.524 3512
+-77.348 41.524 3514
+-77.222 41.524 3516
+-77.096 41.524 3518
+-76.97 41.524 3520
+-76.844 41.524 3489
+-76.718 41.524 3490
+-76.592 41.524 3492
+-76.466 41.524 3493
+-76.34 41.524 3516
+-76.214 41.524 3519
+-76.088 41.524 3521
+-75.962 41.524 3483
+-75.836 41.524 3484
+-75.71 41.524 3486
+-75.584 41.524 3600
+-75.458 41.524 3601
+-75.332 41.524 3602
+-75.206 41.524 3603
+-75.08 41.524 3604
+-74.954 41.524 3547
+-74.828 41.524 3548
+-74.702 41.524 3548
+-74.576 41.524 3549
+-74.45 41.524 3549
+-74.324 41.524 3550
+-74.198 41.524 3551
+-74.072 41.524 3551
+-73.946 41.524 3552
+-73.82 41.524 3552
+-73.694 41.524 3530
+-73.568 41.524 3520
+-73.442 41.524 3520
+-73.316 41.524 3521
+-73.19 41.524 3521
+-73.064 41.524 3522
+-72.938 41.524 3522
+-72.812 41.524 3506
+-72.686 41.524 3506
+-72.56 41.524 3507
+-72.434 41.524 3507
+-72.308 41.524 3507
+-72.182 41.524 3508
+-72.056 41.524 3508
+-71.93 41.524 3508
+-71.804 41.524 3455
+-71.678 41.524 3455
+-71.552 41.524 3456
+-71.426 41.524 3456
+-71.3 41.524 3456
+-71.174 41.524 3457
+-71.048 41.524 3457
+-70.922 41.524 3457
+-70.796 41.524 3457
+-70.67 41.524 3458
+-70.544 41.524 3458
+-70.418 41.524 3458
+-70.292 41.524 3458
+-70.166 41.524 3382
+-70.04 41.524 3382
+-69.914 41.524 3382
+-69.788 41.524 3382
+-69.662 41.524 3382
+-69.536 41.524 3382
+-69.41 41.524 3381
+-69.284 41.524 3381
+-69.158 41.524 3381
+-69.032 41.524 3381
+-68.906 41.524 3381
+-68.78 41.524 3381
+-68.654 41.524 3381
+-68.528 41.524 3380
+-68.402 41.524 3380
+-68.276 41.524 3380
+-68.15 41.524 3380
+-68.024 41.524 3380
+-67.898 41.524 3380
+-67.772 41.524 3380
+-67.646 41.524 3380
+-67.52 41.524 3380
+-67.394 41.524 3379
+-67.268 41.524 3379
+-67.142 41.524 3379
+-67.016 41.524 3068
+-66.89 41.524 3067
+-66.764 41.524 3067
+-66.638 41.524 3066
+-66.512 41.524 3066
+-66.386 41.524 3065
+-66.26 41.524 3065
+-66.134 41.524 3065
+-66.008 41.524 3064
+-65.882 41.524 3064
+-65.756 41.524 3063
+-65.63 41.524 3063
+-65.504 41.524 3062
+-65.378 41.524 3062
+-65.252 41.524 3062
+-65.126 41.524 3061
+-128 41.472 2800
+-127.874 41.472 2785
+-127.748 41.472 2773
+-127.622 41.472 2762
+-127.496 41.472 2745
+-127.37 41.472 2756
+-127.244 41.472 2751
+-127.118 41.472 2758
+-126.992 41.472 2742
+-126.866 41.472 2704
+-126.74 41.472 2670
+-126.614 41.472 2611
+-126.488 41.472 2547
+-126.362 41.472 2517
+-126.236 41.472 2562
+-126.11 41.472 2659
+-125.984 41.472 2766
+-125.858 41.472 2877
+-125.732 41.472 2979
+-125.606 41.472 3070
+-125.48 41.472 3152
+-125.354 41.472 3221
+-125.228 41.472 3291
+-125.102 41.472 3352
+-124.976 41.472 3347
+-124.85 41.472 3348
+-124.724 41.472 3321
+-124.598 41.472 3329
+-124.472 41.472 3384
+-124.346 41.472 3446
+-124.22 41.472 3472
+-124.094 41.472 3459
+-123.968 41.472 3421
+-123.842 41.472 3460
+-123.716 41.472 3512
+-123.59 41.472 3569
+-123.464 41.472 3599
+-123.338 41.472 3616
+-123.212 41.472 3622
+-123.086 41.472 3621
+-122.96 41.472 3607
+-122.834 41.472 3618
+-122.708 41.472 3621
+-122.582 41.472 3615
+-122.456 41.472 3631
+-122.33 41.472 3631
+-122.204 41.472 3627
+-122.078 41.472 3642
+-121.952 41.472 3633
+-121.826 41.472 3616
+-121.7 41.472 3611
+-121.574 41.472 3591
+-121.448 41.472 3544
+-121.322 41.472 3505
+-121.196 41.472 3569
+-121.07 41.472 3657
+-120.944 41.472 3732
+-120.818 41.472 3782
+-120.692 41.472 3823
+-120.566 41.472 3859
+-120.44 41.472 3905
+-120.314 41.472 3956
+-120.188 41.472 3985
+-120.062 41.472 3991
+-119.936 41.472 4030
+-119.81 41.472 4025
+-119.684 41.472 4052
+-119.558 41.472 4115
+-119.432 41.472 4183
+-119.306 41.472 4238
+-119.18 41.472 4259
+-119.054 41.472 4271
+-118.928 41.472 4290
+-118.802 41.472 4327
+-118.676 41.472 4341
+-118.55 41.472 4352
+-118.424 41.472 4338
+-118.298 41.472 4336
+-118.172 41.472 4339
+-118.046 41.472 4346
+-117.92 41.472 4342
+-117.794 41.472 4331
+-117.668 41.472 4306
+-117.542 41.472 4271
+-117.416 41.472 4255
+-117.29 41.472 4211
+-117.164 41.472 4158
+-117.038 41.472 4098
+-116.912 41.472 4058
+-116.786 41.472 4049
+-116.66 41.472 4064
+-116.534 41.472 4003
+-116.408 41.472 3917
+-116.282 41.472 3863
+-116.156 41.472 3829
+-116.03 41.472 3792
+-115.904 41.472 3720
+-115.778 41.472 3627
+-115.652 41.472 3560
+-115.526 41.472 3587
+-115.4 41.472 3574
+-115.274 41.472 3526
+-115.148 41.472 3478
+-115.022 41.472 3459
+-114.896 41.472 3437
+-114.77 41.472 3379
+-114.644 41.472 3305
+-114.518 41.472 3250
+-114.392 41.472 3129
+-114.266 41.472 3073
+-114.14 41.472 2998
+-114.014 41.472 2937
+-113.888 41.472 2889
+-113.762 41.472 2838
+-113.636 41.472 2759
+-113.51 41.472 2675
+-113.384 41.472 2555
+-113.258 41.472 2377
+-113.132 41.472 2153
+-113.006 41.472 1878
+-112.88 41.472 1677
+-112.754 41.472 1596
+-112.628 41.472 1638
+-112.502 41.472 1743
+-112.376 41.472 1874
+-112.25 41.472 1981
+-112.124 41.472 2071
+-111.998 41.472 2142
+-111.872 41.472 2197
+-111.746 41.472 2230
+-111.62 41.472 2147
+-111.494 41.472 2195
+-111.368 41.472 2193
+-111.242 41.472 2180
+-111.116 41.472 2225
+-110.99 41.472 2196
+-110.864 41.472 2240
+-110.738 41.472 2239
+-110.612 41.472 2244
+-110.486 41.472 2207
+-110.36 41.472 2211
+-110.234 41.472 2233
+-110.108 41.472 2255
+-109.982 41.472 2241
+-109.856 41.472 2245
+-109.73 41.472 2250
+-109.604 41.472 2254
+-109.478 41.472 2295
+-109.352 41.472 2300
+-109.226 41.472 2316
+-109.1 41.472 2294
+-108.974 41.472 2299
+-108.848 41.472 2305
+-108.722 41.472 2310
+-108.596 41.472 2316
+-108.47 41.472 2321
+-108.344 41.472 2326
+-108.218 41.472 2331
+-108.092 41.472 2336
+-107.966 41.472 2341
+-107.84 41.472 2345
+-107.714 41.472 2350
+-107.588 41.472 2278
+-107.462 41.472 2398
+-107.336 41.472 2403
+-107.21 41.472 2379
+-107.084 41.472 2383
+-106.958 41.472 2387
+-106.832 41.472 2392
+-106.706 41.472 2389
+-106.58 41.472 2398
+-106.454 41.472 2385
+-106.328 41.472 2353
+-106.202 41.472 2234
+-106.076 41.472 2050
+-105.95 41.472 2030
+-105.824 41.472 2040
+-105.698 41.472 2032
+-105.572 41.472 2007
+-105.446 41.472 1931
+-105.32 41.472 1881
+-105.194 41.472 1794
+-105.068 41.472 1757
+-104.942 41.472 1730
+-104.816 41.472 1743
+-104.69 41.472 1728
+-104.564 41.472 1743
+-104.438 41.472 1767
+-104.312 41.472 1826
+-104.186 41.472 1835
+-104.06 41.472 1971
+-103.934 41.472 2085
+-103.808 41.472 2082
+-103.682 41.472 2078
+-103.556 41.472 2180
+-103.43 41.472 2161
+-103.304 41.472 2153
+-103.178 41.472 2145
+-103.052 41.472 2136
+-102.926 41.472 2139
+-102.8 41.472 2216
+-102.674 41.472 2204
+-102.548 41.472 2191
+-102.422 41.472 2178
+-102.296 41.472 2199
+-102.17 41.472 2225
+-102.044 41.472 2211
+-101.918 41.472 2196
+-101.792 41.472 2181
+-101.666 41.472 2164
+-101.54 41.472 2203
+-101.414 41.472 2186
+-101.288 41.472 2169
+-101.162 41.472 2151
+-101.036 41.472 2131
+-100.91 41.472 2111
+-100.784 41.472 2098
+-100.658 41.472 2086
+-100.532 41.472 2112
+-100.406 41.472 2089
+-100.28 41.472 2064
+-100.154 41.472 2039
+-100.028 41.472 2044
+-99.902 41.472 2015
+-99.776 41.472 1985
+-99.65 41.472 1953
+-99.524 41.472 1921
+-99.398 41.472 1888
+-99.272 41.472 1856
+-99.146 41.472 1904
+-99.02 41.472 1905
+-98.894 41.472 1885
+-98.768 41.472 1875
+-98.642 41.472 1878
+-98.516 41.472 1939
+-98.39 41.472 1978
+-98.264 41.472 2036
+-98.138 41.472 2183
+-98.012 41.472 2271
+-97.886 41.472 2383
+-97.76 41.472 2493
+-97.634 41.472 2584
+-97.508 41.472 2695
+-97.382 41.472 2750
+-97.256 41.472 2785
+-97.13 41.472 2799
+-97.004 41.472 2792
+-96.878 41.472 2766
+-96.752 41.472 2721
+-96.626 41.472 2698
+-96.5 41.472 2778
+-96.374 41.472 2863
+-96.248 41.472 3034
+-96.122 41.472 3153
+-95.996 41.472 3271
+-95.87 41.472 3366
+-95.744 41.472 3450
+-95.618 41.472 3539
+-95.492 41.472 3597
+-95.366 41.472 3648
+-95.24 41.472 3701
+-95.114 41.472 3731
+-94.988 41.472 3801
+-94.862 41.472 3936
+-94.736 41.472 4095
+-94.61 41.472 4306
+-94.484 41.472 4451
+-94.358 41.472 4583
+-94.232 41.472 4705
+-94.106 41.472 4812
+-93.98 41.472 4855
+-93.854 41.472 4874
+-93.728 41.472 4899
+-93.602 41.472 4964
+-93.476 41.472 5046
+-93.35 41.472 5169
+-93.224 41.472 5269
+-93.098 41.472 5360
+-92.972 41.472 5444
+-92.846 41.472 5564
+-92.72 41.472 5603
+-92.594 41.472 5707
+-92.468 41.472 5793
+-92.342 41.472 5852
+-92.216 41.472 5944
+-92.09 41.472 6016
+-91.964 41.472 6075
+-91.838 41.472 6152
+-91.712 41.472 6241
+-91.586 41.472 6308
+-91.46 41.472 6319
+-91.334 41.472 6364
+-91.208 41.472 6411
+-91.082 41.472 6467
+-90.956 41.472 6477
+-90.83 41.472 6482
+-90.704 41.472 6489
+-90.578 41.472 6516
+-90.452 41.472 6500
+-90.326 41.472 6508
+-90.2 41.472 6531
+-90.074 41.472 6479
+-89.948 41.472 6470
+-89.822 41.472 6438
+-89.696 41.472 6427
+-89.57 41.472 6401
+-89.444 41.472 6351
+-89.318 41.472 6266
+-89.192 41.472 6207
+-89.066 41.472 6142
+-88.94 41.472 6075
+-88.814 41.472 6015
+-88.688 41.472 5924
+-88.562 41.472 5900
+-88.436 41.472 5821
+-88.31 41.472 5741
+-88.184 41.472 5638
+-88.058 41.472 5520
+-87.932 41.472 5429
+-87.806 41.472 5325
+-87.68 41.472 5261
+-87.554 41.472 5183
+-87.428 41.472 5187
+-87.302 41.472 5174
+-87.176 41.472 5158
+-87.05 41.472 5106
+-86.924 41.472 5018
+-86.798 41.472 4991
+-86.672 41.472 4932
+-86.546 41.472 4846
+-86.42 41.472 4838
+-86.294 41.472 4761
+-86.168 41.472 4680
+-86.042 41.472 4623
+-85.916 41.472 4571
+-85.79 41.472 4495
+-85.664 41.472 4459
+-85.538 41.472 4439
+-85.412 41.472 4297
+-85.286 41.472 4241
+-85.16 41.472 4156
+-85.034 41.472 4048
+-84.908 41.472 3931
+-84.782 41.472 3804
+-84.656 41.472 3651
+-84.53 41.472 3565
+-84.404 41.472 3542
+-84.278 41.472 3537
+-84.152 41.472 3519
+-84.026 41.472 3507
+-83.9 41.472 3517
+-83.774 41.472 3521
+-83.648 41.472 3527
+-83.522 41.472 3549
+-83.396 41.472 3534
+-83.27 41.472 3565
+-83.144 41.472 3552
+-83.018 41.472 3490
+-82.892 41.472 3543
+-82.766 41.472 3552
+-82.64 41.472 3509
+-82.514 41.472 3516
+-82.388 41.472 3521
+-82.262 41.472 3519
+-82.136 41.472 3524
+-82.01 41.472 3529
+-81.884 41.472 3533
+-81.758 41.472 3529
+-81.632 41.472 3525
+-81.506 41.472 3521
+-81.38 41.472 3478
+-81.254 41.472 3480
+-81.128 41.472 3419
+-81.002 41.472 3420
+-80.876 41.472 3421
+-80.75 41.472 3422
+-80.624 41.472 3423
+-80.498 41.472 3424
+-80.372 41.472 3425
+-80.246 41.472 3426
+-80.12 41.472 3426
+-79.994 41.472 3456
+-79.868 41.472 3457
+-79.742 41.472 3458
+-79.616 41.472 3459
+-79.49 41.472 3460
+-79.364 41.472 3478
+-79.238 41.472 3480
+-79.112 41.472 3471
+-78.986 41.472 3473
+-78.86 41.472 3475
+-78.734 41.472 3477
+-78.608 41.472 3479
+-78.482 41.472 3481
+-78.356 41.472 3482
+-78.23 41.472 3484
+-78.104 41.472 3486
+-77.978 41.472 3487
+-77.852 41.472 3489
+-77.726 41.472 3510
+-77.6 41.472 3513
+-77.474 41.472 3515
+-77.348 41.472 3517
+-77.222 41.472 3519
+-77.096 41.472 3521
+-76.97 41.472 3489
+-76.844 41.472 3491
+-76.718 41.472 3493
+-76.592 41.472 3494
+-76.466 41.472 3517
+-76.34 41.472 3519
+-76.214 41.472 3521
+-76.088 41.472 3483
+-75.962 41.472 3485
+-75.836 41.472 3486
+-75.71 41.472 3599
+-75.584 41.472 3600
+-75.458 41.472 3602
+-75.332 41.472 3603
+-75.206 41.472 3604
+-75.08 41.472 3546
+-74.954 41.472 3547
+-74.828 41.472 3548
+-74.702 41.472 3548
+-74.576 41.472 3549
+-74.45 41.472 3550
+-74.324 41.472 3550
+-74.198 41.472 3551
+-74.072 41.472 3551
+-73.946 41.472 3552
+-73.82 41.472 3530
+-73.694 41.472 3519
+-73.568 41.472 3520
+-73.442 41.472 3520
+-73.316 41.472 3521
+-73.19 41.472 3522
+-73.064 41.472 3505
+-72.938 41.472 3506
+-72.812 41.472 3506
+-72.686 41.472 3506
+-72.56 41.472 3507
+-72.434 41.472 3507
+-72.308 41.472 3508
+-72.182 41.472 3508
+-72.056 41.472 3508
+-71.93 41.472 3455
+-71.804 41.472 3455
+-71.678 41.472 3455
+-71.552 41.472 3456
+-71.426 41.472 3456
+-71.3 41.472 3456
+-71.174 41.472 3457
+-71.048 41.472 3457
+-70.922 41.472 3457
+-70.796 41.472 3458
+-70.67 41.472 3458
+-70.544 41.472 3458
+-70.418 41.472 3458
+-70.292 41.472 3382
+-70.166 41.472 3382
+-70.04 41.472 3382
+-69.914 41.472 3382
+-69.788 41.472 3382
+-69.662 41.472 3382
+-69.536 41.472 3381
+-69.41 41.472 3381
+-69.284 41.472 3381
+-69.158 41.472 3381
+-69.032 41.472 3381
+-68.906 41.472 3381
+-68.78 41.472 3381
+-68.654 41.472 3380
+-68.528 41.472 3380
+-68.402 41.472 3380
+-68.276 41.472 3380
+-68.15 41.472 3380
+-68.024 41.472 3380
+-67.898 41.472 3380
+-67.772 41.472 3380
+-67.646 41.472 3379
+-67.52 41.472 3379
+-67.394 41.472 3379
+-67.268 41.472 3379
+-67.142 41.472 3068
+-67.016 41.472 3067
+-66.89 41.472 3067
+-66.764 41.472 3066
+-66.638 41.472 3066
+-66.512 41.472 3065
+-66.386 41.472 3065
+-66.26 41.472 3065
+-66.134 41.472 3064
+-66.008 41.472 3064
+-65.882 41.472 3063
+-65.756 41.472 3063
+-65.63 41.472 3062
+-65.504 41.472 3062
+-65.378 41.472 3062
+-65.252 41.472 3061
+-65.126 41.472 3061
+-128 41.42 2747
+-127.874 41.42 2728
+-127.748 41.42 2708
+-127.622 41.42 2684
+-127.496 41.42 2689
+-127.37 41.42 2684
+-127.244 41.42 2696
+-127.118 41.42 2692
+-126.992 41.42 2673
+-126.866 41.42 2664
+-126.74 41.42 2629
+-126.614 41.42 2572
+-126.488 41.42 2507
+-126.362 41.42 2472
+-126.236 41.42 2513
+-126.11 41.42 2596
+-125.984 41.42 2688
+-125.858 41.42 2771
+-125.732 41.42 2879
+-125.606 41.42 3007
+-125.48 41.42 3103
+-125.354 41.42 3178
+-125.228 41.42 3221
+-125.102 41.42 3264
+-124.976 41.42 3301
+-124.85 41.42 3278
+-124.724 41.42 3237
+-124.598 41.42 3213
+-124.472 41.42 3277
+-124.346 41.42 3380
+-124.22 41.42 3438
+-124.094 41.42 3448
+-123.968 41.42 3446
+-123.842 41.42 3466
+-123.716 41.42 3499
+-123.59 41.42 3532
+-123.464 41.42 3547
+-123.338 41.42 3551
+-123.212 41.42 3563
+-123.086 41.42 3548
+-122.96 41.42 3514
+-122.834 41.42 3517
+-122.708 41.42 3525
+-122.582 41.42 3549
+-122.456 41.42 3565
+-122.33 41.42 3592
+-122.204 41.42 3597
+-122.078 41.42 3596
+-121.952 41.42 3585
+-121.826 41.42 3583
+-121.7 41.42 3588
+-121.574 41.42 3593
+-121.448 41.42 3570
+-121.322 41.42 3576
+-121.196 41.42 3617
+-121.07 41.42 3666
+-120.944 41.42 3717
+-120.818 41.42 3747
+-120.692 41.42 3797
+-120.566 41.42 3833
+-120.44 41.42 3871
+-120.314 41.42 3921
+-120.188 41.42 3949
+-120.062 41.42 3947
+-119.936 41.42 3974
+-119.81 41.42 3982
+-119.684 41.42 4000
+-119.558 41.42 4045
+-119.432 41.42 4108
+-119.306 41.42 4169
+-119.18 41.42 4222
+-119.054 41.42 4245
+-118.928 41.42 4249
+-118.802 41.42 4256
+-118.676 41.42 4267
+-118.55 41.42 4299
+-118.424 41.42 4307
+-118.298 41.42 4294
+-118.172 41.42 4253
+-118.046 41.42 4307
+-117.92 41.42 4309
+-117.794 41.42 4285
+-117.668 41.42 4251
+-117.542 41.42 4197
+-117.416 41.42 4152
+-117.29 41.42 4137
+-117.164 41.42 4097
+-117.038 41.42 4066
+-116.912 41.42 4038
+-116.786 41.42 4020
+-116.66 41.42 4005
+-116.534 41.42 3946
+-116.408 41.42 3853
+-116.282 41.42 3799
+-116.156 41.42 3776
+-116.03 41.42 3738
+-115.904 41.42 3676
+-115.778 41.42 3622
+-115.652 41.42 3585
+-115.526 41.42 3576
+-115.4 41.42 3553
+-115.274 41.42 3507
+-115.148 41.42 3457
+-115.022 41.42 3429
+-114.896 41.42 3400
+-114.77 41.42 3366
+-114.644 41.42 3289
+-114.518 41.42 3220
+-114.392 41.42 3109
+-114.266 41.42 3022
+-114.14 41.42 2969
+-114.014 41.42 2914
+-113.888 41.42 2859
+-113.762 41.42 2801
+-113.636 41.42 2731
+-113.51 41.42 2639
+-113.384 41.42 2511
+-113.258 41.42 2333
+-113.132 41.42 2075
+-113.006 41.42 1818
+-112.88 41.42 1601
+-112.754 41.42 1525
+-112.628 41.42 1585
+-112.502 41.42 1709
+-112.376 41.42 1832
+-112.25 41.42 1957
+-112.124 41.42 2047
+-111.998 41.42 2099
+-111.872 41.42 2109
+-111.746 41.42 2104
+-111.62 41.42 2128
+-111.494 41.42 2147
+-111.368 41.42 2160
+-111.242 41.42 2185
+-111.116 41.42 2169
+-110.99 41.42 2177
+-110.864 41.42 2183
+-110.738 41.42 2188
+-110.612 41.42 2183
+-110.486 41.42 2188
+-110.36 41.42 2193
+-110.234 41.42 2198
+-110.108 41.42 2219
+-109.982 41.42 2197
+-109.856 41.42 2227
+-109.73 41.42 2232
+-109.604 41.42 2237
+-109.478 41.42 2242
+-109.352 41.42 2282
+-109.226 41.42 2288
+-109.1 41.42 2304
+-108.974 41.42 2282
+-108.848 41.42 2288
+-108.722 41.42 2294
+-108.596 41.42 2300
+-108.47 41.42 2305
+-108.344 41.42 2311
+-108.218 41.42 2317
+-108.092 41.42 2322
+-107.966 41.42 2327
+-107.84 41.42 2332
+-107.714 41.42 2262
+-107.588 41.42 2266
+-107.462 41.42 2384
+-107.336 41.42 2362
+-107.21 41.42 2367
+-107.084 41.42 2372
+-106.958 41.42 2376
+-106.832 41.42 2381
+-106.706 41.42 2379
+-106.58 41.42 2377
+-106.454 41.42 2372
+-106.328 41.42 2220
+-106.202 41.42 2164
+-106.076 41.42 2028
+-105.95 41.42 2022
+-105.824 41.42 2015
+-105.698 41.42 2008
+-105.572 41.42 1913
+-105.446 41.42 1886
+-105.32 41.42 1876
+-105.194 41.42 1771
+-105.068 41.42 1736
+-104.942 41.42 1781
+-104.816 41.42 1721
+-104.69 41.42 1717
+-104.564 41.42 1727
+-104.438 41.42 1762
+-104.312 41.42 1829
+-104.186 41.42 1838
+-104.06 41.42 1971
+-103.934 41.42 2013
+-103.808 41.42 2085
+-103.682 41.42 2082
+-103.556 41.42 2184
+-103.43 41.42 2176
+-103.304 41.42 2157
+-103.178 41.42 2149
+-103.052 41.42 2140
+-102.926 41.42 2130
+-102.8 41.42 2221
+-102.674 41.42 2209
+-102.548 41.42 2196
+-102.422 41.42 2184
+-102.296 41.42 2170
+-102.17 41.42 2191
+-102.044 41.42 2216
+-101.918 41.42 2201
+-101.792 41.42 2186
+-101.666 41.42 2170
+-101.54 41.42 2153
+-101.414 41.42 2191
+-101.288 41.42 2174
+-101.162 41.42 2156
+-101.036 41.42 2137
+-100.91 41.42 2118
+-100.784 41.42 2097
+-100.658 41.42 2084
+-100.532 41.42 2072
+-100.406 41.42 2098
+-100.28 41.42 2076
+-100.154 41.42 2053
+-100.028 41.42 2030
+-99.902 41.42 2037
+-99.776 41.42 2012
+-99.65 41.42 1986
+-99.524 41.42 1961
+-99.398 41.42 1937
+-99.272 41.42 2025
+-99.146 41.42 2005
+-99.02 41.42 1991
+-98.894 41.42 1980
+-98.768 41.42 1982
+-98.642 41.42 2040
+-98.516 41.42 2066
+-98.39 41.42 2106
+-98.264 41.42 2161
+-98.138 41.42 2261
+-98.012 41.42 2378
+-97.886 41.42 2457
+-97.76 41.42 2572
+-97.634 41.42 2646
+-97.508 41.42 2714
+-97.382 41.42 2800
+-97.256 41.42 2835
+-97.13 41.42 2856
+-97.004 41.42 2863
+-96.878 41.42 2860
+-96.752 41.42 2855
+-96.626 41.42 2861
+-96.5 41.42 2953
+-96.374 41.42 3002
+-96.248 41.42 3121
+-96.122 41.42 3174
+-95.996 41.42 3233
+-95.87 41.42 3331
+-95.744 41.42 3434
+-95.618 41.42 3534
+-95.492 41.42 3634
+-95.366 41.42 3692
+-95.24 41.42 3703
+-95.114 41.42 3662
+-94.988 41.42 3793
+-94.862 41.42 3911
+-94.736 41.42 4119
+-94.61 41.42 4326
+-94.484 41.42 4468
+-94.358 41.42 4603
+-94.232 41.42 4708
+-94.106 41.42 4785
+-93.98 41.42 4864
+-93.854 41.42 4910
+-93.728 41.42 4955
+-93.602 41.42 4974
+-93.476 41.42 5085
+-93.35 41.42 5210
+-93.224 41.42 5274
+-93.098 41.42 5363
+-92.972 41.42 5465
+-92.846 41.42 5550
+-92.72 41.42 5644
+-92.594 41.42 5798
+-92.468 41.42 5821
+-92.342 41.42 5912
+-92.216 41.42 6013
+-92.09 41.42 6070
+-91.964 41.42 6144
+-91.838 41.42 6240
+-91.712 41.42 6264
+-91.586 41.42 6321
+-91.46 41.42 6389
+-91.334 41.42 6425
+-91.208 41.42 6463
+-91.082 41.42 6498
+-90.956 41.42 6546
+-90.83 41.42 6564
+-90.704 41.42 6554
+-90.578 41.42 6558
+-90.452 41.42 6570
+-90.326 41.42 6576
+-90.2 41.42 6555
+-90.074 41.42 6553
+-89.948 41.42 6515
+-89.822 41.42 6500
+-89.696 41.42 6465
+-89.57 41.42 6456
+-89.444 41.42 6392
+-89.318 41.42 6353
+-89.192 41.42 6259
+-89.066 41.42 6160
+-88.94 41.42 6103
+-88.814 41.42 6072
+-88.688 41.42 6000
+-88.562 41.42 5966
+-88.436 41.42 5876
+-88.31 41.42 5785
+-88.184 41.42 5675
+-88.058 41.42 5550
+-87.932 41.42 5473
+-87.806 41.42 5394
+-87.68 41.42 5308
+-87.554 41.42 5194
+-87.428 41.42 5260
+-87.302 41.42 5251
+-87.176 41.42 5234
+-87.05 41.42 5187
+-86.924 41.42 5092
+-86.798 41.42 5037
+-86.672 41.42 5021
+-86.546 41.42 4927
+-86.42 41.42 4848
+-86.294 41.42 4802
+-86.168 41.42 4757
+-86.042 41.42 4687
+-85.916 41.42 4650
+-85.79 41.42 4563
+-85.664 41.42 4498
+-85.538 41.42 4433
+-85.412 41.42 4348
+-85.286 41.42 4279
+-85.16 41.42 4215
+-85.034 41.42 4108
+-84.908 41.42 4013
+-84.782 41.42 3887
+-84.656 41.42 3772
+-84.53 41.42 3698
+-84.404 41.42 3655
+-84.278 41.42 3593
+-84.152 41.42 3591
+-84.026 41.42 3581
+-83.9 41.42 3564
+-83.774 41.42 3571
+-83.648 41.42 3587
+-83.522 41.42 3568
+-83.396 41.42 3568
+-83.27 41.42 3554
+-83.144 41.42 3573
+-83.018 41.42 3605
+-82.892 41.42 3616
+-82.766 41.42 3515
+-82.64 41.42 3521
+-82.514 41.42 3526
+-82.388 41.42 3524
+-82.262 41.42 3529
+-82.136 41.42 3533
+-82.01 41.42 3537
+-81.884 41.42 3532
+-81.758 41.42 3529
+-81.632 41.42 3525
+-81.506 41.42 3482
+-81.38 41.42 3484
+-81.254 41.42 3486
+-81.128 41.42 3488
+-81.002 41.42 3427
+-80.876 41.42 3428
+-80.75 41.42 3429
+-80.624 41.42 3429
+-80.498 41.42 3430
+-80.372 41.42 3431
+-80.246 41.42 3479
+-80.12 41.42 3459
+-79.994 41.42 3459
+-79.868 41.42 3460
+-79.742 41.42 3461
+-79.616 41.42 3462
+-79.49 41.42 3479
+-79.364 41.42 3482
+-79.238 41.42 3472
+-79.112 41.42 3474
+-78.986 41.42 3476
+-78.86 41.42 3478
+-78.734 41.42 3480
+-78.608 41.42 3482
+-78.482 41.42 3483
+-78.356 41.42 3485
+-78.23 41.42 3487
+-78.104 41.42 3488
+-77.978 41.42 3490
+-77.852 41.42 3511
+-77.726 41.42 3514
+-77.6 41.42 3516
+-77.474 41.42 3518
+-77.348 41.42 3520
+-77.222 41.42 3522
+-77.096 41.42 3491
+-76.97 41.42 3492
+-76.844 41.42 3494
+-76.718 41.42 3495
+-76.592 41.42 3518
+-76.466 41.42 3520
+-76.34 41.42 3522
+-76.214 41.42 3484
+-76.088 41.42 3486
+-75.962 41.42 3487
+-75.836 41.42 3598
+-75.71 41.42 3600
+-75.584 41.42 3601
+-75.458 41.42 3602
+-75.332 41.42 3603
+-75.206 41.42 3546
+-75.08 41.42 3547
+-74.954 41.42 3548
+-74.828 41.42 3548
+-74.702 41.42 3549
+-74.576 41.42 3549
+-74.45 41.42 3550
+-74.324 41.42 3551
+-74.198 41.42 3551
+-74.072 41.42 3552
+-73.946 41.42 3530
+-73.82 41.42 3519
+-73.694 41.42 3520
+-73.568 41.42 3520
+-73.442 41.42 3521
+-73.316 41.42 3521
+-73.19 41.42 3522
+-73.064 41.42 3505
+-72.938 41.42 3506
+-72.812 41.42 3506
+-72.686 41.42 3507
+-72.56 41.42 3507
+-72.434 41.42 3507
+-72.308 41.42 3508
+-72.182 41.42 3508
+-72.056 41.42 3455
+-71.93 41.42 3455
+-71.804 41.42 3455
+-71.678 41.42 3456
+-71.552 41.42 3456
+-71.426 41.42 3456
+-71.3 41.42 3457
+-71.174 41.42 3457
+-71.048 41.42 3457
+-70.922 41.42 3457
+-70.796 41.42 3458
+-70.67 41.42 3458
+-70.544 41.42 3458
+-70.418 41.42 3382
+-70.292 41.42 3382
+-70.166 41.42 3382
+-70.04 41.42 3382
+-69.914 41.42 3382
+-69.788 41.42 3382
+-69.662 41.42 3381
+-69.536 41.42 3381
+-69.41 41.42 3381
+-69.284 41.42 3381
+-69.158 41.42 3381
+-69.032 41.42 3381
+-68.906 41.42 3381
+-68.78 41.42 3380
+-68.654 41.42 3380
+-68.528 41.42 3380
+-68.402 41.42 3380
+-68.276 41.42 3380
+-68.15 41.42 3380
+-68.024 41.42 3380
+-67.898 41.42 3380
+-67.772 41.42 3379
+-67.646 41.42 3379
+-67.52 41.42 3379
+-67.394 41.42 3379
+-67.268 41.42 3068
+-67.142 41.42 3067
+-67.016 41.42 3067
+-66.89 41.42 3066
+-66.764 41.42 3066
+-66.638 41.42 3065
+-66.512 41.42 3065
+-66.386 41.42 3065
+-66.26 41.42 3064
+-66.134 41.42 3064
+-66.008 41.42 3063
+-65.882 41.42 3063
+-65.756 41.42 3062
+-65.63 41.42 3062
+-65.504 41.42 3062
+-65.378 41.42 3061
+-65.252 41.42 3061
+-65.126 41.42 3060
+-128 41.368 2689
+-127.874 41.368 2659
+-127.748 41.368 2623
+-127.622 41.368 2616
+-127.496 41.368 2601
+-127.37 41.368 2609
+-127.244 41.368 2610
+-127.118 41.368 2607
+-126.992 41.368 2623
+-126.866 41.368 2622
+-126.74 41.368 2604
+-126.614 41.368 2567
+-126.488 41.368 2523
+-126.362 41.368 2502
+-126.236 41.368 2520
+-126.11 41.368 2550
+-125.984 41.368 2594
+-125.858 41.368 2689
+-125.732 41.368 2809
+-125.606 41.368 2928
+-125.48 41.368 3054
+-125.354 41.368 3116
+-125.228 41.368 3194
+-125.102 41.368 3232
+-124.976 41.368 3272
+-124.85 41.368 3249
+-124.724 41.368 3195
+-124.598 41.368 3157
+-124.472 41.368 3213
+-124.346 41.368 3320
+-124.22 41.368 3409
+-124.094 41.368 3441
+-123.968 41.368 3463
+-123.842 41.368 3474
+-123.716 41.368 3490
+-123.59 41.368 3510
+-123.464 41.368 3510
+-123.338 41.368 3502
+-123.212 41.368 3480
+-123.086 41.368 3447
+-122.96 41.368 3411
+-122.834 41.368 3409
+-122.708 41.368 3438
+-122.582 41.368 3477
+-122.456 41.368 3510
+-122.33 41.368 3548
+-122.204 41.368 3545
+-122.078 41.368 3552
+-121.952 41.368 3540
+-121.826 41.368 3544
+-121.7 41.368 3549
+-121.574 41.368 3556
+-121.448 41.368 3578
+-121.322 41.368 3576
+-121.196 41.368 3601
+-121.07 41.368 3646
+-120.944 41.368 3682
+-120.818 41.368 3719
+-120.692 41.368 3752
+-120.566 41.368 3793
+-120.44 41.368 3831
+-120.314 41.368 3872
+-120.188 41.368 3905
+-120.062 41.368 3902
+-119.936 41.368 3915
+-119.81 41.368 3933
+-119.684 41.368 3951
+-119.558 41.368 4003
+-119.432 41.368 4060
+-119.306 41.368 4119
+-119.18 41.368 4174
+-119.054 41.368 4204
+-118.928 41.368 4203
+-118.802 41.368 4213
+-118.676 41.368 4210
+-118.55 41.368 4229
+-118.424 41.368 4251
+-118.298 41.368 4265
+-118.172 41.368 4272
+-118.046 41.368 4272
+-117.92 41.368 4252
+-117.794 41.368 4221
+-117.668 41.368 4192
+-117.542 41.368 4135
+-117.416 41.368 4099
+-117.29 41.368 4090
+-117.164 41.368 4054
+-117.038 41.368 4064
+-116.912 41.368 4010
+-116.786 41.368 3971
+-116.66 41.368 3924
+-116.534 41.368 3864
+-116.408 41.368 3794
+-116.282 41.368 3769
+-116.156 41.368 3748
+-116.03 41.368 3672
+-115.904 41.368 3604
+-115.778 41.368 3595
+-115.652 41.368 3575
+-115.526 41.368 3560
+-115.4 41.368 3524
+-115.274 41.368 3480
+-115.148 41.368 3428
+-115.022 41.368 3399
+-114.896 41.368 3371
+-114.77 41.368 3317
+-114.644 41.368 3238
+-114.518 41.368 3161
+-114.392 41.368 3052
+-114.266 41.368 3001
+-114.14 41.368 2951
+-114.014 41.368 2900
+-113.888 41.368 2841
+-113.762 41.368 2776
+-113.636 41.368 2702
+-113.51 41.368 2592
+-113.384 41.368 2454
+-113.258 41.368 2294
+-113.132 41.368 2089
+-113.006 41.368 1844
+-112.88 41.368 1658
+-112.754 41.368 1589
+-112.628 41.368 1635
+-112.502 41.368 1749
+-112.376 41.368 1860
+-112.25 41.368 1949
+-112.124 41.368 2002
+-111.998 41.368 2051
+-111.872 41.368 2058
+-111.746 41.368 2089
+-111.62 41.368 2113
+-111.494 41.368 2130
+-111.368 41.368 2144
+-111.242 41.368 2154
+-111.116 41.368 2176
+-110.99 41.368 2157
+-110.864 41.368 2164
+-110.738 41.368 2169
+-110.612 41.368 2164
+-110.486 41.368 2169
+-110.36 41.368 2175
+-110.234 41.368 2180
+-110.108 41.368 2185
+-109.982 41.368 2205
+-109.856 41.368 2184
+-109.73 41.368 2213
+-109.604 41.368 2219
+-109.478 41.368 2224
+-109.352 41.368 2229
+-109.226 41.368 2270
+-109.1 41.368 2276
+-108.974 41.368 2292
+-108.848 41.368 2271
+-108.722 41.368 2277
+-108.596 41.368 2284
+-108.47 41.368 2290
+-108.344 41.368 2296
+-108.218 41.368 2302
+-108.092 41.368 2308
+-107.966 41.368 2313
+-107.84 41.368 2245
+-107.714 41.368 2249
+-107.588 41.368 2253
+-107.462 41.368 2345
+-107.336 41.368 2350
+-107.21 41.368 2355
+-107.084 41.368 2360
+-106.958 41.368 2365
+-106.832 41.368 2370
+-106.706 41.368 2351
+-106.58 41.368 2367
+-106.454 41.368 2323
+-106.328 41.368 2210
+-106.202 41.368 2163
+-106.076 41.368 2022
+-105.95 41.368 2013
+-105.824 41.368 2007
+-105.698 41.368 1914
+-105.572 41.368 1890
+-105.446 41.368 1881
+-105.32 41.368 1850
+-105.194 41.368 1768
+-105.068 41.368 1735
+-104.942 41.368 1779
+-104.816 41.368 1722
+-104.69 41.368 1718
+-104.564 41.368 1729
+-104.438 41.368 1765
+-104.312 41.368 1810
+-104.186 41.368 1831
+-104.06 41.368 1975
+-103.934 41.368 2021
+-103.808 41.368 2076
+-103.682 41.368 2181
+-103.556 41.368 2188
+-103.43 41.368 2180
+-103.304 41.368 2161
+-103.178 41.368 2153
+-103.052 41.368 2144
+-102.926 41.368 2135
+-102.8 41.368 2167
+-102.674 41.368 2214
+-102.548 41.368 2202
+-102.422 41.368 2189
+-102.296 41.368 2176
+-102.17 41.368 2162
+-102.044 41.368 2182
+-101.918 41.368 2207
+-101.792 41.368 2191
+-101.666 41.368 2175
+-101.54 41.368 2159
+-101.414 41.368 2141
+-101.288 41.368 2179
+-101.162 41.368 2162
+-101.036 41.368 2143
+-100.91 41.368 2124
+-100.784 41.368 2104
+-100.658 41.368 2084
+-100.532 41.368 2071
+-100.406 41.368 2059
+-100.28 41.368 2086
+-100.154 41.368 2065
+-100.028 41.368 2044
+-99.902 41.368 2023
+-99.776 41.368 2034
+-99.65 41.368 2013
+-99.524 41.368 1993
+-99.398 41.368 2085
+-99.272 41.368 2070
+-99.146 41.368 2060
+-99.02 41.368 2054
+-98.894 41.368 2056
+-98.768 41.368 2093
+-98.642 41.368 2130
+-98.516 41.368 2160
+-98.39 41.368 2201
+-98.264 41.368 2290
+-98.138 41.368 2350
+-98.012 41.368 2417
+-97.886 41.368 2529
+-97.76 41.368 2598
+-97.634 41.368 2702
+-97.508 41.368 2784
+-97.382 41.368 2845
+-97.256 41.368 2883
+-97.13 41.368 2909
+-97.004 41.368 2927
+-96.878 41.368 2939
+-96.752 41.368 2950
+-96.626 41.368 2966
+-96.5 41.368 3037
+-96.374 41.368 3078
+-96.248 41.368 3128
+-96.122 41.368 3124
+-95.996 41.368 3137
+-95.87 41.368 3224
+-95.744 41.368 3387
+-95.618 41.368 3529
+-95.492 41.368 3637
+-95.366 41.368 3720
+-95.24 41.368 3751
+-95.114 41.368 3778
+-94.988 41.368 3823
+-94.862 41.368 3915
+-94.736 41.368 4181
+-94.61 41.368 4368
+-94.484 41.368 4494
+-94.358 41.368 4600
+-94.232 41.368 4642
+-94.106 41.368 4728
+-93.98 41.368 4842
+-93.854 41.368 4920
+-93.728 41.368 4912
+-93.602 41.368 5036
+-93.476 41.368 5082
+-93.35 41.368 5216
+-93.224 41.368 5298
+-93.098 41.368 5408
+-92.972 41.368 5514
+-92.846 41.368 5573
+-92.72 41.368 5686
+-92.594 41.368 5795
+-92.468 41.368 5859
+-92.342 41.368 5959
+-92.216 41.368 6074
+-92.09 41.368 6124
+-91.964 41.368 6217
+-91.838 41.368 6278
+-91.712 41.368 6316
+-91.586 41.368 6368
+-91.46 41.368 6424
+-91.334 41.368 6445
+-91.208 41.368 6497
+-91.082 41.368 6547
+-90.956 41.368 6574
+-90.83 41.368 6596
+-90.704 41.368 6607
+-90.578 41.368 6626
+-90.452 41.368 6658
+-90.326 41.368 6623
+-90.2 41.368 6618
+-90.074 41.368 6610
+-89.948 41.368 6587
+-89.822 41.368 6541
+-89.696 41.368 6531
+-89.57 41.368 6466
+-89.444 41.368 6464
+-89.318 41.368 6413
+-89.192 41.368 6328
+-89.066 41.368 6234
+-88.94 41.368 6198
+-88.814 41.368 6132
+-88.688 41.368 6059
+-88.562 41.368 5960
+-88.436 41.368 5905
+-88.31 41.368 5751
+-88.184 41.368 5730
+-88.058 41.368 5580
+-87.932 41.368 5504
+-87.806 41.368 5431
+-87.68 41.368 5327
+-87.554 41.368 5331
+-87.428 41.368 5346
+-87.302 41.368 5314
+-87.176 41.368 5279
+-87.05 41.368 5185
+-86.924 41.368 5153
+-86.798 41.368 5100
+-86.672 41.368 5033
+-86.546 41.368 4965
+-86.42 41.368 4908
+-86.294 41.368 4866
+-86.168 41.368 4814
+-86.042 41.368 4727
+-85.916 41.368 4650
+-85.79 41.368 4602
+-85.664 41.368 4521
+-85.538 41.368 4385
+-85.412 41.368 4288
+-85.286 41.368 4269
+-85.16 41.368 4233
+-85.034 41.368 4152
+-84.908 41.368 4076
+-84.782 41.368 3977
+-84.656 41.368 3896
+-84.53 41.368 3803
+-84.404 41.368 3716
+-84.278 41.368 3685
+-84.152 41.368 3643
+-84.026 41.368 3630
+-83.9 41.368 3624
+-83.774 41.368 3610
+-83.648 41.368 3583
+-83.522 41.368 3588
+-83.396 41.368 3584
+-83.27 41.368 3575
+-83.144 41.368 3604
+-83.018 41.368 3614
+-82.892 41.368 3572
+-82.766 41.368 3579
+-82.64 41.368 3584
+-82.514 41.368 3536
+-82.388 41.368 3534
+-82.262 41.368 3538
+-82.136 41.368 3541
+-82.01 41.368 3537
+-81.884 41.368 3533
+-81.758 41.368 3529
+-81.632 41.368 3486
+-81.506 41.368 3488
+-81.38 41.368 3490
+-81.254 41.368 3492
+-81.128 41.368 3494
+-81.002 41.368 3496
+-80.876 41.368 3435
+-80.75 41.368 3435
+-80.624 41.368 3436
+-80.498 41.368 3436
+-80.372 41.368 3482
+-80.246 41.368 3461
+-80.12 41.368 3462
+-79.994 41.368 3463
+-79.868 41.368 3463
+-79.742 41.368 3464
+-79.616 41.368 3481
+-79.49 41.368 3483
+-79.364 41.368 3474
+-79.238 41.368 3476
+-79.112 41.368 3478
+-78.986 41.368 3480
+-78.86 41.368 3481
+-78.734 41.368 3483
+-78.608 41.368 3485
+-78.482 41.368 3486
+-78.356 41.368 3488
+-78.23 41.368 3489
+-78.104 41.368 3491
+-77.978 41.368 3512
+-77.852 41.368 3515
+-77.726 41.368 3517
+-77.6 41.368 3519
+-77.474 41.368 3521
+-77.348 41.368 3523
+-77.222 41.368 3492
+-77.096 41.368 3493
+-76.97 41.368 3495
+-76.844 41.368 3496
+-76.718 41.368 3519
+-76.592 41.368 3521
+-76.466 41.368 3523
+-76.34 41.368 3485
+-76.214 41.368 3487
+-76.088 41.368 3488
+-75.962 41.368 3598
+-75.836 41.368 3599
+-75.71 41.368 3600
+-75.584 41.368 3602
+-75.458 41.368 3603
+-75.332 41.368 3546
+-75.206 41.368 3547
+-75.08 41.368 3547
+-74.954 41.368 3548
+-74.828 41.368 3549
+-74.702 41.368 3549
+-74.576 41.368 3550
+-74.45 41.368 3550
+-74.324 41.368 3551
+-74.198 41.368 3552
+-74.072 41.368 3529
+-73.946 41.368 3519
+-73.82 41.368 3519
+-73.694 41.368 3520
+-73.568 41.368 3521
+-73.442 41.368 3521
+-73.316 41.368 3505
+-73.19 41.368 3505
+-73.064 41.368 3506
+-72.938 41.368 3506
+-72.812 41.368 3507
+-72.686 41.368 3507
+-72.56 41.368 3507
+-72.434 41.368 3508
+-72.308 41.368 3508
+-72.182 41.368 3454
+-72.056 41.368 3455
+-71.93 41.368 3455
+-71.804 41.368 3455
+-71.678 41.368 3456
+-71.552 41.368 3456
+-71.426 41.368 3456
+-71.3 41.368 3457
+-71.174 41.368 3457
+-71.048 41.368 3457
+-70.922 41.368 3457
+-70.796 41.368 3458
+-70.67 41.368 3458
+-70.544 41.368 3382
+-70.418 41.368 3382
+-70.292 41.368 3382
+-70.166 41.368 3382
+-70.04 41.368 3382
+-69.914 41.368 3382
+-69.788 41.368 3381
+-69.662 41.368 3381
+-69.536 41.368 3381
+-69.41 41.368 3381
+-69.284 41.368 3381
+-69.158 41.368 3381
+-69.032 41.368 3381
+-68.906 41.368 3380
+-68.78 41.368 3380
+-68.654 41.368 3380
+-68.528 41.368 3380
+-68.402 41.368 3380
+-68.276 41.368 3380
+-68.15 41.368 3380
+-68.024 41.368 3380
+-67.898 41.368 3379
+-67.772 41.368 3379
+-67.646 41.368 3379
+-67.52 41.368 3379
+-67.394 41.368 3068
+-67.268 41.368 3067
+-67.142 41.368 3067
+-67.016 41.368 3067
+-66.89 41.368 3066
+-66.764 41.368 3066
+-66.638 41.368 3065
+-66.512 41.368 3065
+-66.386 41.368 3064
+-66.26 41.368 3064
+-66.134 41.368 3063
+-66.008 41.368 3063
+-65.882 41.368 3062
+-65.756 41.368 3062
+-65.63 41.368 3062
+-65.504 41.368 3061
+-65.378 41.368 3061
+-65.252 41.368 3060
+-65.126 41.368 2933
+-128 41.316 2622
+-127.874 41.316 2573
+-127.748 41.316 2549
+-127.622 41.316 2516
+-127.496 41.316 2505
+-127.37 41.316 2495
+-127.244 41.316 2493
+-127.118 41.316 2524
+-126.992 41.316 2552
+-126.866 41.316 2573
+-126.74 41.316 2579
+-126.614 41.316 2568
+-126.488 41.316 2545
+-126.362 41.316 2522
+-126.236 41.316 2486
+-126.11 41.316 2459
+-125.984 41.316 2505
+-125.858 41.316 2615
+-125.732 41.316 2749
+-125.606 41.316 2897
+-125.48 41.316 2989
+-125.354 41.316 3096
+-125.228 41.316 3138
+-125.102 41.316 3190
+-124.976 41.316 3242
+-124.85 41.316 3234
+-124.724 41.316 3210
+-124.598 41.316 3195
+-124.472 41.316 3235
+-124.346 41.316 3313
+-124.22 41.316 3378
+-124.094 41.316 3413
+-123.968 41.316 3431
+-123.842 41.316 3469
+-123.716 41.316 3473
+-123.59 41.316 3482
+-123.464 41.316 3474
+-123.338 41.316 3452
+-123.212 41.316 3414
+-123.086 41.316 3369
+-122.96 41.316 3344
+-122.834 41.316 3331
+-122.708 41.316 3354
+-122.582 41.316 3398
+-122.456 41.316 3438
+-122.33 41.316 3487
+-122.204 41.316 3508
+-122.078 41.316 3505
+-121.952 41.316 3509
+-121.826 41.316 3513
+-121.7 41.316 3517
+-121.574 41.316 3488
+-121.448 41.316 3529
+-121.322 41.316 3554
+-121.196 41.316 3578
+-121.07 41.316 3584
+-120.944 41.316 3624
+-120.818 41.316 3653
+-120.692 41.316 3699
+-120.566 41.316 3731
+-120.44 41.316 3773
+-120.314 41.316 3828
+-120.188 41.316 3860
+-120.062 41.316 3886
+-119.936 41.316 3881
+-119.81 41.316 3897
+-119.684 41.316 3914
+-119.558 41.316 3961
+-119.432 41.316 3999
+-119.306 41.316 4044
+-119.18 41.316 4104
+-119.054 41.316 4131
+-118.928 41.316 4150
+-118.802 41.316 4149
+-118.676 41.316 4160
+-118.55 41.316 4172
+-118.424 41.316 4200
+-118.298 41.316 4216
+-118.172 41.316 4225
+-118.046 41.316 4216
+-117.92 41.316 4172
+-117.794 41.316 4129
+-117.668 41.316 4139
+-117.542 41.316 4119
+-117.416 41.316 4092
+-117.29 41.316 4062
+-117.164 41.316 4014
+-117.038 41.316 3985
+-116.912 41.316 3951
+-116.786 41.316 3923
+-116.66 41.316 3889
+-116.534 41.316 3832
+-116.408 41.316 3772
+-116.282 41.316 3731
+-116.156 41.316 3723
+-116.03 41.316 3618
+-115.904 41.316 3533
+-115.778 41.316 3548
+-115.652 41.316 3514
+-115.526 41.316 3494
+-115.4 41.316 3484
+-115.274 41.316 3433
+-115.148 41.316 3379
+-115.022 41.316 3350
+-114.896 41.316 3302
+-114.77 41.316 3240
+-114.644 41.316 3160
+-114.518 41.316 3122
+-114.392 41.316 3017
+-114.266 41.316 2971
+-114.14 41.316 2921
+-114.014 41.316 2870
+-113.888 41.316 2814
+-113.762 41.316 2747
+-113.636 41.316 2635
+-113.51 41.316 2523
+-113.384 41.316 2418
+-113.258 41.316 2287
+-113.132 41.316 2108
+-113.006 41.316 1942
+-112.88 41.316 1808
+-112.754 41.316 1737
+-112.628 41.316 1761
+-112.502 41.316 1824
+-112.376 41.316 1899
+-112.25 41.316 1953
+-112.124 41.316 1994
+-111.998 41.316 2033
+-111.872 41.316 2088
+-111.746 41.316 2078
+-111.62 41.316 2099
+-111.494 41.316 2115
+-111.368 41.316 2127
+-111.242 41.316 2137
+-111.116 41.316 2128
+-110.99 41.316 2135
+-110.864 41.316 2141
+-110.738 41.316 2150
+-110.612 41.316 2155
+-110.486 41.316 2150
+-110.36 41.316 2155
+-110.234 41.316 2161
+-110.108 41.316 2166
+-109.982 41.316 2171
+-109.856 41.316 2155
+-109.73 41.316 2171
+-109.604 41.316 2182
+-109.478 41.316 2206
+-109.352 41.316 2212
+-109.226 41.316 2217
+-109.1 41.316 2258
+-108.974 41.316 2265
+-108.848 41.316 2281
+-108.722 41.316 2260
+-108.596 41.316 2267
+-108.47 41.316 2274
+-108.344 41.316 2280
+-108.218 41.316 2287
+-108.092 41.316 2293
+-107.966 41.316 2226
+-107.84 41.316 2231
+-107.714 41.316 2236
+-107.588 41.316 2326
+-107.462 41.316 2332
+-107.336 41.316 2337
+-107.21 41.316 2343
+-107.084 41.316 2348
+-106.958 41.316 2354
+-106.832 41.316 2337
+-106.706 41.316 2342
+-106.58 41.316 2309
+-106.454 41.316 2314
+-106.328 41.316 2289
+-106.202 41.316 2152
+-106.076 41.316 1952
+-105.95 41.316 1921
+-105.824 41.316 1919
+-105.698 41.316 1904
+-105.572 41.316 1885
+-105.446 41.316 1854
+-105.32 41.316 1845
+-105.194 41.316 1766
+-105.068 41.316 1735
+-104.942 41.316 1778
+-104.816 41.316 1723
+-104.69 41.316 1719
+-104.564 41.316 1731
+-104.438 41.316 1768
+-104.312 41.316 1813
+-104.186 41.316 1937
+-104.06 41.316 1953
+-103.934 41.316 2025
+-103.808 41.316 2021
+-103.682 41.316 2152
+-103.556 41.316 2178
+-103.43 41.316 2210
+-103.304 41.316 2165
+-103.178 41.316 2157
+-103.052 41.316 2148
+-102.926 41.316 2139
+-102.8 41.316 2172
+-102.674 41.316 2161
+-102.548 41.316 2208
+-102.422 41.316 2195
+-102.296 41.316 2182
+-102.17 41.316 2168
+-102.044 41.316 2154
+-101.918 41.316 2173
+-101.792 41.316 2197
+-101.666 41.316 2181
+-101.54 41.316 2165
+-101.414 41.316 2147
+-101.288 41.316 2130
+-101.162 41.316 2167
+-101.036 41.316 2149
+-100.91 41.316 2130
+-100.784 41.316 2111
+-100.658 41.316 2091
+-100.532 41.316 2070
+-100.406 41.316 2057
+-100.28 41.316 2045
+-100.154 41.316 2126
+-100.028 41.316 2106
+-99.902 41.316 2085
+-99.776 41.316 2066
+-99.65 41.316 2031
+-99.524 41.316 2124
+-99.398 41.316 2111
+-99.272 41.316 2101
+-99.146 41.316 2097
+-99.02 41.316 2098
+-98.894 41.316 2105
+-98.768 41.316 2121
+-98.642 41.316 2174
+-98.516 41.316 2225
+-98.39 41.316 2307
+-98.264 41.316 2358
+-98.138 41.316 2415
+-98.012 41.316 2477
+-97.886 41.316 2541
+-97.76 41.316 2647
+-97.634 41.316 2708
+-97.508 41.316 2804
+-97.382 41.316 2877
+-97.256 41.316 2925
+-97.13 41.316 2956
+-97.004 41.316 2981
+-96.878 41.316 3000
+-96.752 41.316 3018
+-96.626 41.316 3035
+-96.5 41.316 3099
+-96.374 41.316 3157
+-96.248 41.316 3103
+-96.122 41.316 3019
+-95.996 41.316 2975
+-95.87 41.316 3080
+-95.744 41.316 3291
+-95.618 41.316 3513
+-95.492 41.316 3651
+-95.366 41.316 3749
+-95.24 41.316 3805
+-95.114 41.316 3856
+-94.988 41.316 3901
+-94.862 41.316 4025
+-94.736 41.316 4252
+-94.61 41.316 4408
+-94.484 41.316 4493
+-94.358 41.316 4557
+-94.232 41.316 4573
+-94.106 41.316 4671
+-93.98 41.316 4789
+-93.854 41.316 4915
+-93.728 41.316 5000
+-93.602 41.316 5094
+-93.476 41.316 5146
+-93.35 41.316 5254
+-93.224 41.316 5371
+-93.098 41.316 5465
+-92.972 41.316 5542
+-92.846 41.316 5631
+-92.72 41.316 5717
+-92.594 41.316 5842
+-92.468 41.316 5904
+-92.342 41.316 5999
+-92.216 41.316 6129
+-92.09 41.316 6164
+-91.964 41.316 6238
+-91.838 41.316 6314
+-91.712 41.316 6369
+-91.586 41.316 6428
+-91.46 41.316 6468
+-91.334 41.316 6519
+-91.208 41.316 6563
+-91.082 41.316 6575
+-90.956 41.316 6640
+-90.83 41.316 6678
+-90.704 41.316 6664
+-90.578 41.316 6671
+-90.452 41.316 6682
+-90.326 41.316 6690
+-90.2 41.316 6681
+-90.074 41.316 6678
+-89.948 41.316 6644
+-89.822 41.316 6608
+-89.696 41.316 6560
+-89.57 41.316 6529
+-89.444 41.316 6526
+-89.318 41.316 6458
+-89.192 41.316 6358
+-89.066 41.316 6286
+-88.94 41.316 6224
+-88.814 41.316 6185
+-88.688 41.316 6125
+-88.562 41.316 6032
+-88.436 41.316 5940
+-88.31 41.316 5862
+-88.184 41.316 5762
+-88.058 41.316 5623
+-87.932 41.316 5634
+-87.806 41.316 5456
+-87.68 41.316 5433
+-87.554 41.316 5418
+-87.428 41.316 5436
+-87.302 41.316 5366
+-87.176 41.316 5333
+-87.05 41.316 5276
+-86.924 41.316 5203
+-86.798 41.316 5128
+-86.672 41.316 5063
+-86.546 41.316 4973
+-86.42 41.316 4924
+-86.294 41.316 4900
+-86.168 41.316 4841
+-86.042 41.316 4737
+-85.916 41.316 4621
+-85.79 41.316 4626
+-85.664 41.316 4524
+-85.538 41.316 4348
+-85.412 41.316 4203
+-85.286 41.316 4244
+-85.16 41.316 4170
+-85.034 41.316 4150
+-84.908 41.316 4111
+-84.782 41.316 4019
+-84.656 41.316 3931
+-84.53 41.316 3827
+-84.404 41.316 3773
+-84.278 41.316 3727
+-84.152 41.316 3687
+-84.026 41.316 3670
+-83.9 41.316 3631
+-83.774 41.316 3612
+-83.648 41.316 3615
+-83.522 41.316 3589
+-83.396 41.316 3578
+-83.27 41.316 3604
+-83.144 41.316 3613
+-83.018 41.316 3571
+-82.892 41.316 3578
+-82.766 41.316 3583
+-82.64 41.316 3590
+-82.514 41.316 3596
+-82.388 41.316 3594
+-82.262 41.316 3546
+-82.136 41.316 3541
+-82.01 41.316 3537
+-81.884 41.316 3533
+-81.758 41.316 3490
+-81.632 41.316 3492
+-81.506 41.316 3494
+-81.38 41.316 3496
+-81.254 41.316 3497
+-81.128 41.316 3499
+-81.002 41.316 3501
+-80.876 41.316 3502
+-80.75 41.316 3441
+-80.624 41.316 3441
+-80.498 41.316 3484
+-80.372 41.316 3464
+-80.246 41.316 3465
+-80.12 41.316 3465
+-79.994 41.316 3466
+-79.868 41.316 3466
+-79.742 41.316 3482
+-79.616 41.316 3485
+-79.49 41.316 3475
+-79.364 41.316 3477
+-79.238 41.316 3479
+-79.112 41.316 3481
+-78.986 41.316 3483
+-78.86 41.316 3485
+-78.734 41.316 3486
+-78.608 41.316 3488
+-78.482 41.316 3489
+-78.356 41.316 3491
+-78.23 41.316 3492
+-78.104 41.316 3513
+-77.978 41.316 3516
+-77.852 41.316 3518
+-77.726 41.316 3520
+-77.6 41.316 3522
+-77.474 41.316 3524
+-77.348 41.316 3493
+-77.222 41.316 3494
+-77.096 41.316 3496
+-76.97 41.316 3497
+-76.844 41.316 3519
+-76.718 41.316 3521
+-76.592 41.316 3524
+-76.466 41.316 3486
+-76.34 41.316 3488
+-76.214 41.316 3489
+-76.088 41.316 3597
+-75.962 41.316 3598
+-75.836 41.316 3600
+-75.71 41.316 3601
+-75.584 41.316 3602
+-75.458 41.316 3545
+-75.332 41.316 3546
+-75.206 41.316 3547
+-75.08 41.316 3548
+-74.954 41.316 3548
+-74.828 41.316 3549
+-74.702 41.316 3550
+-74.576 41.316 3550
+-74.45 41.316 3551
+-74.324 41.316 3551
+-74.198 41.316 3529
+-74.072 41.316 3519
+-73.946 41.316 3519
+-73.82 41.316 3520
+-73.694 41.316 3520
+-73.568 41.316 3521
+-73.442 41.316 3522
+-73.316 41.316 3505
+-73.19 41.316 3506
+-73.064 41.316 3506
+-72.938 41.316 3506
+-72.812 41.316 3507
+-72.686 41.316 3507
+-72.56 41.316 3508
+-72.434 41.316 3508
+-72.308 41.316 3454
+-72.182 41.316 3455
+-72.056 41.316 3455
+-71.93 41.316 3455
+-71.804 41.316 3456
+-71.678 41.316 3456
+-71.552 41.316 3456
+-71.426 41.316 3456
+-71.3 41.316 3457
+-71.174 41.316 3457
+-71.048 41.316 3457
+-70.922 41.316 3458
+-70.796 41.316 3458
+-70.67 41.316 3382
+-70.544 41.316 3382
+-70.418 41.316 3382
+-70.292 41.316 3382
+-70.166 41.316 3382
+-70.04 41.316 3382
+-69.914 41.316 3381
+-69.788 41.316 3381
+-69.662 41.316 3381
+-69.536 41.316 3381
+-69.41 41.316 3381
+-69.284 41.316 3381
+-69.158 41.316 3381
+-69.032 41.316 3380
+-68.906 41.316 3380
+-68.78 41.316 3380
+-68.654 41.316 3380
+-68.528 41.316 3380
+-68.402 41.316 3380
+-68.276 41.316 3380
+-68.15 41.316 3380
+-68.024 41.316 3379
+-67.898 41.316 3379
+-67.772 41.316 3379
+-67.646 41.316 3379
+-67.52 41.316 3068
+-67.394 41.316 3068
+-67.268 41.316 3067
+-67.142 41.316 3067
+-67.016 41.316 3066
+-66.89 41.316 3066
+-66.764 41.316 3065
+-66.638 41.316 3065
+-66.512 41.316 3064
+-66.386 41.316 3064
+-66.26 41.316 3063
+-66.134 41.316 3063
+-66.008 41.316 3062
+-65.882 41.316 3062
+-65.756 41.316 3062
+-65.63 41.316 3061
+-65.504 41.316 3061
+-65.378 41.316 3060
+-65.252 41.316 2933
+-65.126 41.316 2932
+-128 41.264 2542
+-127.874 41.264 2501
+-127.748 41.264 2446
+-127.622 41.264 2407
+-127.496 41.264 2368
+-127.37 41.264 2344
+-127.244 41.264 2362
+-127.118 41.264 2401
+-126.992 41.264 2455
+-126.866 41.264 2508
+-126.74 41.264 2544
+-126.614 41.264 2557
+-126.488 41.264 2547
+-126.362 41.264 2509
+-126.236 41.264 2450
+-126.11 41.264 2411
+-125.984 41.264 2459
+-125.858 41.264 2577
+-125.732 41.264 2728
+-125.606 41.264 2843
+-125.48 41.264 2952
+-125.354 41.264 3040
+-125.228 41.264 3116
+-125.102 41.264 3172
+-124.976 41.264 3236
+-124.85 41.264 3242
+-124.724 41.264 3226
+-124.598 41.264 3236
+-124.472 41.264 3262
+-124.346 41.264 3304
+-124.22 41.264 3345
+-124.094 41.264 3394
+-123.968 41.264 3410
+-123.842 41.264 3429
+-123.716 41.264 3429
+-123.59 41.264 3422
+-123.464 41.264 3416
+-123.338 41.264 3398
+-123.212 41.264 3352
+-123.086 41.264 3325
+-122.96 41.264 3310
+-122.834 41.264 3304
+-122.708 41.264 3320
+-122.582 41.264 3357
+-122.456 41.264 3393
+-122.33 41.264 3421
+-122.204 41.264 3443
+-122.078 41.264 3470
+-121.952 41.264 3476
+-121.826 41.264 3474
+-121.7 41.264 3455
+-121.574 41.264 3439
+-121.448 41.264 3451
+-121.322 41.264 3493
+-121.196 41.264 3514
+-121.07 41.264 3541
+-120.944 41.264 3581
+-120.818 41.264 3607
+-120.692 41.264 3642
+-120.566 41.264 3653
+-120.44 41.264 3708
+-120.314 41.264 3762
+-120.188 41.264 3816
+-120.062 41.264 3839
+-119.936 41.264 3843
+-119.81 41.264 3905
+-119.684 41.264 3889
+-119.558 41.264 3904
+-119.432 41.264 3958
+-119.306 41.264 3992
+-119.18 41.264 4031
+-119.054 41.264 4055
+-118.928 41.264 4076
+-118.802 41.264 4095
+-118.676 41.264 4095
+-118.55 41.264 4117
+-118.424 41.264 4147
+-118.298 41.264 4163
+-118.172 41.264 4165
+-118.046 41.264 4158
+-117.92 41.264 4106
+-117.794 41.264 4070
+-117.668 41.264 4101
+-117.542 41.264 4095
+-117.416 41.264 4055
+-117.29 41.264 4026
+-117.164 41.264 3972
+-117.038 41.264 3945
+-116.912 41.264 3893
+-116.786 41.264 3899
+-116.66 41.264 3867
+-116.534 41.264 3810
+-116.408 41.264 3768
+-116.282 41.264 3734
+-116.156 41.264 3687
+-116.03 41.264 3614
+-115.904 41.264 3554
+-115.778 41.264 3488
+-115.652 41.264 3419
+-115.526 41.264 3411
+-115.4 41.264 3400
+-115.274 41.264 3347
+-115.148 41.264 3285
+-115.022 41.264 3258
+-114.896 41.264 3206
+-114.77 41.264 3137
+-114.644 41.264 3105
+-114.518 41.264 3071
+-114.392 41.264 2974
+-114.266 41.264 2928
+-114.14 41.264 2883
+-114.014 41.264 2831
+-113.888 41.264 2774
+-113.762 41.264 2669
+-113.636 41.264 2595
+-113.51 41.264 2468
+-113.384 41.264 2381
+-113.258 41.264 2273
+-113.132 41.264 2162
+-113.006 41.264 2048
+-112.88 41.264 1954
+-112.754 41.264 1899
+-112.628 41.264 1887
+-112.502 41.264 1907
+-112.376 41.264 1944
+-112.25 41.264 1986
+-112.124 41.264 2010
+-111.998 41.264 2048
+-111.872 41.264 2066
+-111.746 41.264 2088
+-111.62 41.264 2086
+-111.494 41.264 2100
+-111.368 41.264 2111
+-111.242 41.264 2120
+-111.116 41.264 2109
+-110.99 41.264 2116
+-110.864 41.264 2122
+-110.738 41.264 2127
+-110.612 41.264 2134
+-110.486 41.264 2139
+-110.36 41.264 2135
+-110.234 41.264 2141
+-110.108 41.264 2147
+-109.982 41.264 2152
+-109.856 41.264 2158
+-109.73 41.264 2142
+-109.604 41.264 2129
+-109.478 41.264 2169
+-109.352 41.264 2193
+-109.226 41.264 2200
+-109.1 41.264 2206
+-108.974 41.264 2247
+-108.848 41.264 2254
+-108.722 41.264 2271
+-108.596 41.264 2251
+-108.47 41.264 2258
+-108.344 41.264 2265
+-108.218 41.264 2272
+-108.092 41.264 2207
+-107.966 41.264 2212
+-107.84 41.264 2218
+-107.714 41.264 2306
+-107.588 41.264 2313
+-107.462 41.264 2319
+-107.336 41.264 2325
+-107.21 41.264 2331
+-107.084 41.264 2337
+-106.958 41.264 2322
+-106.832 41.264 2328
+-106.706 41.264 2295
+-106.58 41.264 2300
+-106.454 41.264 2305
+-106.328 41.264 2097
+-106.202 41.264 2074
+-106.076 41.264 1923
+-105.95 41.264 1929
+-105.824 41.264 1922
+-105.698 41.264 1882
+-105.572 41.264 1863
+-105.446 41.264 1848
+-105.32 41.264 1839
+-105.194 41.264 1764
+-105.068 41.264 1734
+-104.942 41.264 1776
+-104.816 41.264 1724
+-104.69 41.264 1720
+-104.564 41.264 1734
+-104.438 41.264 1771
+-104.312 41.264 1817
+-104.186 41.264 1942
+-104.06 41.264 1956
+-103.934 41.264 2010
+-103.808 41.264 2025
+-103.682 41.264 2156
+-103.556 41.264 2150
+-103.43 41.264 2175
+-103.304 41.264 2207
+-103.178 41.264 2161
+-103.052 41.264 2153
+-102.926 41.264 2144
+-102.8 41.264 2178
+-102.674 41.264 2167
+-102.548 41.264 2155
+-102.422 41.264 2201
+-102.296 41.264 2188
+-102.17 41.264 2174
+-102.044 41.264 2160
+-101.918 41.264 2145
+-101.792 41.264 2164
+-101.666 41.264 2187
+-101.54 41.264 2171
+-101.414 41.264 2154
+-101.288 41.264 2136
+-101.162 41.264 2117
+-101.036 41.264 2154
+-100.91 41.264 2135
+-100.784 41.264 2116
+-100.658 41.264 2096
+-100.532 41.264 2076
+-100.406 41.264 2055
+-100.28 41.264 2042
+-100.154 41.264 2031
+-100.028 41.264 2112
+-99.902 41.264 2093
+-99.776 41.264 2074
+-99.65 41.264 2058
+-99.524 41.264 2142
+-99.398 41.264 2124
+-99.272 41.264 2117
+-99.146 41.264 2116
+-99.02 41.264 2121
+-98.894 41.264 2132
+-98.768 41.264 2152
+-98.642 41.264 2212
+-98.516 41.264 2266
+-98.39 41.264 2349
+-98.264 41.264 2400
+-98.138 41.264 2457
+-98.012 41.264 2517
+-97.886 41.264 2579
+-97.76 41.264 2640
+-97.634 41.264 2743
+-97.508 41.264 2798
+-97.382 41.264 2889
+-97.256 41.264 2957
+-97.13 41.264 2996
+-97.004 41.264 3024
+-96.878 41.264 3048
+-96.752 41.264 3067
+-96.626 41.264 3082
+-96.5 41.264 3141
+-96.374 41.264 3159
+-96.248 41.264 3091
+-96.122 41.264 2961
+-95.996 41.264 2875
+-95.87 41.264 3000
+-95.744 41.264 3276
+-95.618 41.264 3507
+-95.492 41.264 3673
+-95.366 41.264 3786
+-95.24 41.264 3890
+-95.114 41.264 3963
+-94.988 41.264 4060
+-94.862 41.264 4169
+-94.736 41.264 4317
+-94.61 41.264 4412
+-94.484 41.264 4490
+-94.358 41.264 4454
+-94.232 41.264 4601
+-94.106 41.264 4619
+-93.98 41.264 4761
+-93.854 41.264 4899
+-93.728 41.264 5024
+-93.602 41.264 5129
+-93.476 41.264 5181
+-93.35 41.264 5278
+-93.224 41.264 5428
+-93.098 41.264 5519
+-92.972 41.264 5613
+-92.846 41.264 5685
+-92.72 41.264 5773
+-92.594 41.264 5891
+-92.468 41.264 5994
+-92.342 41.264 6060
+-92.216 41.264 6173
+-92.09 41.264 6218
+-91.964 41.264 6289
+-91.838 41.264 6368
+-91.712 41.264 6434
+-91.586 41.264 6468
+-91.46 41.264 6527
+-91.334 41.264 6588
+-91.208 41.264 6615
+-91.082 41.264 6637
+-90.956 41.264 6671
+-90.83 41.264 6690
+-90.704 41.264 6720
+-90.578 41.264 6721
+-90.452 41.264 6740
+-90.326 41.264 6746
+-90.2 41.264 6700
+-90.074 41.264 6722
+-89.948 41.264 6687
+-89.822 41.264 6658
+-89.696 41.264 6619
+-89.57 41.264 6579
+-89.444 41.264 6517
+-89.318 41.264 6501
+-89.192 41.264 6421
+-89.066 41.264 6395
+-88.94 41.264 6289
+-88.814 41.264 6200
+-88.688 41.264 6116
+-88.562 41.264 6072
+-88.436 41.264 5954
+-88.31 41.264 5875
+-88.184 41.264 5740
+-88.058 41.264 5664
+-87.932 41.264 5560
+-87.806 41.264 5528
+-87.68 41.264 5508
+-87.554 41.264 5520
+-87.428 41.264 5484
+-87.302 41.264 5434
+-87.176 41.264 5375
+-87.05 41.264 5344
+-86.924 41.264 5281
+-86.798 41.264 5205
+-86.672 41.264 5126
+-86.546 41.264 5009
+-86.42 41.264 4938
+-86.294 41.264 4911
+-86.168 41.264 4797
+-86.042 41.264 4796
+-85.916 41.264 4708
+-85.79 41.264 4650
+-85.664 41.264 4549
+-85.538 41.264 4395
+-85.412 41.264 4320
+-85.286 41.264 4242
+-85.16 41.264 4060
+-85.034 41.264 4134
+-84.908 41.264 4098
+-84.782 41.264 4027
+-84.656 41.264 3918
+-84.53 41.264 3830
+-84.404 41.264 3764
+-84.278 41.264 3709
+-84.152 41.264 3693
+-84.026 41.264 3653
+-83.9 41.264 3619
+-83.774 41.264 3618
+-83.648 41.264 3591
+-83.522 41.264 3578
+-83.396 41.264 3601
+-83.27 41.264 3609
+-83.144 41.264 3570
+-83.018 41.264 3576
+-82.892 41.264 3582
+-82.766 41.264 3588
+-82.64 41.264 3595
+-82.514 41.264 3593
+-82.388 41.264 3599
+-82.262 41.264 3604
+-82.136 41.264 3592
+-82.01 41.264 3557
+-81.884 41.264 3494
+-81.758 41.264 3496
+-81.632 41.264 3498
+-81.506 41.264 3500
+-81.38 41.264 3501
+-81.254 41.264 3503
+-81.128 41.264 3504
+-81.002 41.264 3505
+-80.876 41.264 3507
+-80.75 41.264 3508
+-80.624 41.264 3487
+-80.498 41.264 3467
+-80.372 41.264 3467
+-80.246 41.264 3468
+-80.12 41.264 3468
+-79.994 41.264 3468
+-79.868 41.264 3484
+-79.742 41.264 3486
+-79.616 41.264 3477
+-79.49 41.264 3479
+-79.364 41.264 3481
+-79.238 41.264 3483
+-79.112 41.264 3484
+-78.986 41.264 3486
+-78.86 41.264 3488
+-78.734 41.264 3489
+-78.608 41.264 3491
+-78.482 41.264 3492
+-78.356 41.264 3494
+-78.23 41.264 3515
+-78.104 41.264 3517
+-77.978 41.264 3519
+-77.852 41.264 3521
+-77.726 41.264 3523
+-77.6 41.264 3525
+-77.474 41.264 3494
+-77.348 41.264 3496
+-77.222 41.264 3497
+-77.096 41.264 3499
+-76.97 41.264 3520
+-76.844 41.264 3522
+-76.718 41.264 3525
+-76.592 41.264 3487
+-76.466 41.264 3489
+-76.34 41.264 3490
+-76.214 41.264 3596
+-76.088 41.264 3598
+-75.962 41.264 3599
+-75.836 41.264 3600
+-75.71 41.264 3602
+-75.584 41.264 3545
+-75.458 41.264 3546
+-75.332 41.264 3547
+-75.206 41.264 3547
+-75.08 41.264 3548
+-74.954 41.264 3549
+-74.828 41.264 3549
+-74.702 41.264 3550
+-74.576 41.264 3551
+-74.45 41.264 3551
+-74.324 41.264 3529
+-74.198 41.264 3518
+-74.072 41.264 3519
+-73.946 41.264 3520
+-73.82 41.264 3520
+-73.694 41.264 3521
+-73.568 41.264 3505
+-73.442 41.264 3505
+-73.316 41.264 3505
+-73.19 41.264 3506
+-73.064 41.264 3506
+-72.938 41.264 3507
+-72.812 41.264 3507
+-72.686 41.264 3508
+-72.56 41.264 3508
+-72.434 41.264 3454
+-72.308 41.264 3454
+-72.182 41.264 3455
+-72.056 41.264 3455
+-71.93 41.264 3455
+-71.804 41.264 3456
+-71.678 41.264 3456
+-71.552 41.264 3456
+-71.426 41.264 3457
+-71.3 41.264 3457
+-71.174 41.264 3457
+-71.048 41.264 3457
+-70.922 41.264 3458
+-70.796 41.264 3382
+-70.67 41.264 3382
+-70.544 41.264 3382
+-70.418 41.264 3382
+-70.292 41.264 3382
+-70.166 41.264 3382
+-70.04 41.264 3381
+-69.914 41.264 3381
+-69.788 41.264 3381
+-69.662 41.264 3381
+-69.536 41.264 3381
+-69.41 41.264 3381
+-69.284 41.264 3381
+-69.158 41.264 3380
+-69.032 41.264 3380
+-68.906 41.264 3380
+-68.78 41.264 3380
+-68.654 41.264 3380
+-68.528 41.264 3380
+-68.402 41.264 3380
+-68.276 41.264 3379
+-68.15 41.264 3379
+-68.024 41.264 3379
+-67.898 41.264 3379
+-67.772 41.264 3379
+-67.646 41.264 3068
+-67.52 41.264 3068
+-67.394 41.264 3067
+-67.268 41.264 3067
+-67.142 41.264 3066
+-67.016 41.264 3066
+-66.89 41.264 3065
+-66.764 41.264 3065
+-66.638 41.264 3064
+-66.512 41.264 3064
+-66.386 41.264 3063
+-66.26 41.264 3063
+-66.134 41.264 3062
+-66.008 41.264 3062
+-65.882 41.264 3062
+-65.756 41.264 3061
+-65.63 41.264 3061
+-65.504 41.264 3060
+-65.378 41.264 2933
+-65.252 41.264 2932
+-65.126 41.264 2901
+-128 41.212 2482
+-127.874 41.212 2409
+-127.748 41.212 2343
+-127.622 41.212 2268
+-127.496 41.212 2201
+-127.37 41.212 2173
+-127.244 41.212 2181
+-127.118 41.212 2234
+-126.992 41.212 2321
+-126.866 41.212 2414
+-126.74 41.212 2489
+-126.614 41.212 2516
+-126.488 41.212 2529
+-126.362 41.212 2515
+-126.236 41.212 2469
+-126.11 41.212 2450
+-125.984 41.212 2492
+-125.858 41.212 2590
+-125.732 41.212 2695
+-125.606 41.212 2828
+-125.48 41.212 2931
+-125.354 41.212 3023
+-125.228 41.212 3097
+-125.102 41.212 3144
+-124.976 41.212 3183
+-124.85 41.212 3227
+-124.724 41.212 3249
+-124.598 41.212 3260
+-124.472 41.212 3280
+-124.346 41.212 3306
+-124.22 41.212 3331
+-124.094 41.212 3369
+-123.968 41.212 3377
+-123.842 41.212 3402
+-123.716 41.212 3386
+-123.59 41.212 3377
+-123.464 41.212 3366
+-123.338 41.212 3342
+-123.212 41.212 3302
+-123.086 41.212 3280
+-122.96 41.212 3268
+-122.834 41.212 3291
+-122.708 41.212 3308
+-122.582 41.212 3330
+-122.456 41.212 3350
+-122.33 41.212 3372
+-122.204 41.212 3397
+-122.078 41.212 3408
+-121.952 41.212 3438
+-121.826 41.212 3416
+-121.7 41.212 3395
+-121.574 41.212 3373
+-121.448 41.212 3355
+-121.322 41.212 3395
+-121.196 41.212 3435
+-121.07 41.212 3479
+-120.944 41.212 3529
+-120.818 41.212 3541
+-120.692 41.212 3559
+-120.566 41.212 3578
+-120.44 41.212 3632
+-120.314 41.212 3697
+-120.188 41.212 3755
+-120.062 41.212 3805
+-119.936 41.212 3831
+-119.81 41.212 3840
+-119.684 41.212 3853
+-119.558 41.212 3867
+-119.432 41.212 3905
+-119.306 41.212 3946
+-119.18 41.212 3967
+-119.054 41.212 3989
+-118.928 41.212 4010
+-118.802 41.212 4035
+-118.676 41.212 4059
+-118.55 41.212 4064
+-118.424 41.212 4085
+-118.298 41.212 4116
+-118.172 41.212 4109
+-118.046 41.212 4105
+-117.92 41.212 4089
+-117.794 41.212 4079
+-117.668 41.212 4071
+-117.542 41.212 4049
+-117.416 41.212 4014
+-117.29 41.212 3987
+-117.164 41.212 3951
+-117.038 41.212 3929
+-116.912 41.212 3905
+-116.786 41.212 3867
+-116.66 41.212 3825
+-116.534 41.212 3779
+-116.408 41.212 3737
+-116.282 41.212 3696
+-116.156 41.212 3651
+-116.03 41.212 3593
+-115.904 41.212 3525
+-115.778 41.212 3421
+-115.652 41.212 3343
+-115.526 41.212 3358
+-115.4 41.212 3311
+-115.274 41.212 3244
+-115.148 41.212 3171
+-115.022 41.212 3140
+-114.896 41.212 3136
+-114.77 41.212 3074
+-114.644 41.212 3041
+-114.518 41.212 3007
+-114.392 41.212 2918
+-114.266 41.212 2878
+-114.14 41.212 2834
+-114.014 41.212 2744
+-113.888 41.212 2660
+-113.762 41.212 2593
+-113.636 41.212 2494
+-113.51 41.212 2372
+-113.384 41.212 2300
+-113.258 41.212 2247
+-113.132 41.212 2192
+-113.006 41.212 2122
+-112.88 41.212 2063
+-112.754 41.212 2004
+-112.628 41.212 1959
+-112.502 41.212 1957
+-112.376 41.212 1997
+-112.25 41.212 2032
+-112.124 41.212 2049
+-111.998 41.212 2053
+-111.872 41.212 2075
+-111.746 41.212 2080
+-111.62 41.212 2094
+-111.494 41.212 2085
+-111.368 41.212 2094
+-111.242 41.212 2102
+-111.116 41.212 2108
+-110.99 41.212 2096
+-110.864 41.212 2102
+-110.738 41.212 2107
+-110.612 41.212 2112
+-110.486 41.212 2099
+-110.36 41.212 2103
+-110.234 41.212 2120
+-110.108 41.212 2127
+-109.982 41.212 2133
+-109.856 41.212 2139
+-109.73 41.212 2145
+-109.604 41.212 2130
+-109.478 41.212 2151
+-109.352 41.212 2158
+-109.226 41.212 2182
+-109.1 41.212 2188
+-108.974 41.212 2195
+-108.848 41.212 2236
+-108.722 41.212 2244
+-108.596 41.212 2262
+-108.47 41.212 2241
+-108.344 41.212 2249
+-108.218 41.212 2187
+-108.092 41.212 2193
+-107.966 41.212 2198
+-107.84 41.212 2204
+-107.714 41.212 2293
+-107.588 41.212 2300
+-107.462 41.212 2306
+-107.336 41.212 2313
+-107.21 41.212 2298
+-107.084 41.212 2306
+-106.958 41.212 2312
+-106.832 41.212 2280
+-106.706 41.212 2285
+-106.58 41.212 2291
+-106.454 41.212 2202
+-106.328 41.212 2184
+-106.202 41.212 2066
+-106.076 41.212 1919
+-105.95 41.212 1891
+-105.824 41.212 1885
+-105.698 41.212 1879
+-105.572 41.212 1871
+-105.446 41.212 1852
+-105.32 41.212 1837
+-105.194 41.212 1762
+-105.068 41.212 1734
+-104.942 41.212 1775
+-104.816 41.212 1725
+-104.69 41.212 1722
+-104.564 41.212 1736
+-104.438 41.212 1774
+-104.312 41.212 1820
+-104.186 41.212 1946
+-104.06 41.212 1960
+-103.934 41.212 2014
+-103.808 41.212 2010
+-103.682 41.212 2160
+-103.556 41.212 2154
+-103.43 41.212 2167
+-103.304 41.212 2174
+-103.178 41.212 2203
+-103.052 41.212 2157
+-102.926 41.212 2149
+-102.8 41.212 2183
+-102.674 41.212 2172
+-102.548 41.212 2161
+-102.422 41.212 2149
+-102.296 41.212 2194
+-102.17 41.212 2181
+-102.044 41.212 2167
+-101.918 41.212 2152
+-101.792 41.212 2136
+-101.666 41.212 2155
+-101.54 41.212 2177
+-101.414 41.212 2160
+-101.288 41.212 2142
+-101.162 41.212 2123
+-101.036 41.212 2104
+-100.91 41.212 2140
+-100.784 41.212 2120
+-100.658 41.212 2100
+-100.532 41.212 2080
+-100.406 41.212 2059
+-100.28 41.212 2038
+-100.154 41.212 2024
+-100.028 41.212 2013
+-99.902 41.212 2094
+-99.776 41.212 2076
+-99.65 41.212 2059
+-99.524 41.212 2045
+-99.398 41.212 2131
+-99.272 41.212 2155
+-99.146 41.212 2154
+-99.02 41.212 2160
+-98.894 41.212 2173
+-98.768 41.212 2194
+-98.642 41.212 2224
+-98.516 41.212 2262
+-98.39 41.212 2327
+-98.264 41.212 2420
+-98.138 41.212 2479
+-98.012 41.212 2540
+-97.886 41.212 2603
+-97.76 41.212 2665
+-97.634 41.212 2724
+-97.508 41.212 2824
+-97.382 41.212 2875
+-97.256 41.212 2963
+-97.13 41.212 3028
+-97.004 41.212 3066
+-96.878 41.212 3091
+-96.752 41.212 3105
+-96.626 41.212 3118
+-96.5 41.212 3175
+-96.374 41.212 3194
+-96.248 41.212 3122
+-96.122 41.212 3038
+-95.996 41.212 2983
+-95.87 41.212 3096
+-95.744 41.212 3322
+-95.618 41.212 3550
+-95.492 41.212 3718
+-95.366 41.212 3834
+-95.24 41.212 3955
+-95.114 41.212 4027
+-94.988 41.212 4110
+-94.862 41.212 4251
+-94.736 41.212 4344
+-94.61 41.212 4381
+-94.484 41.212 4470
+-94.358 41.212 4541
+-94.232 41.212 4655
+-94.106 41.212 4728
+-93.98 41.212 4760
+-93.854 41.212 4901
+-93.728 41.212 5034
+-93.602 41.212 5173
+-93.476 41.212 5295
+-93.35 41.212 5338
+-93.224 41.212 5482
+-93.098 41.212 5568
+-92.972 41.212 5657
+-92.846 41.212 5745
+-92.72 41.212 5829
+-92.594 41.212 5908
+-92.468 41.212 6001
+-92.342 41.212 6098
+-92.216 41.212 6181
+-92.09 41.212 6255
+-91.964 41.212 6322
+-91.838 41.212 6363
+-91.712 41.212 6509
+-91.586 41.212 6510
+-91.46 41.212 6576
+-91.334 41.212 6635
+-91.208 41.212 6649
+-91.082 41.212 6714
+-90.956 41.212 6750
+-90.83 41.212 6762
+-90.704 41.212 6771
+-90.578 41.212 6793
+-90.452 41.212 6806
+-90.326 41.212 6810
+-90.2 41.212 6783
+-90.074 41.212 6762
+-89.948 41.212 6779
+-89.822 41.212 6716
+-89.696 41.212 6693
+-89.57 41.212 6605
+-89.444 41.212 6592
+-89.318 41.212 6560
+-89.192 41.212 6468
+-89.066 41.212 6376
+-88.94 41.212 6368
+-88.814 41.212 6262
+-88.688 41.212 6150
+-88.562 41.212 6116
+-88.436 41.212 6038
+-88.31 41.212 5947
+-88.184 41.212 5817
+-88.058 41.212 5707
+-87.932 41.212 5624
+-87.806 41.212 5571
+-87.68 41.212 5496
+-87.554 41.212 5643
+-87.428 41.212 5577
+-87.302 41.212 5501
+-87.176 41.212 5439
+-87.05 41.212 5399
+-86.924 41.212 5326
+-86.798 41.212 5231
+-86.672 41.212 5173
+-86.546 41.212 5065
+-86.42 41.212 5056
+-86.294 41.212 4954
+-86.168 41.212 4881
+-86.042 41.212 4849
+-85.916 41.212 4789
+-85.79 41.212 4711
+-85.664 41.212 4622
+-85.538 41.212 4483
+-85.412 41.212 4379
+-85.286 41.212 4300
+-85.16 41.212 4186
+-85.034 41.212 4172
+-84.908 41.212 4105
+-84.782 41.212 4030
+-84.656 41.212 3920
+-84.53 41.212 3794
+-84.404 41.212 3729
+-84.278 41.212 3684
+-84.152 41.212 3643
+-84.026 41.212 3625
+-83.9 41.212 3609
+-83.774 41.212 3590
+-83.648 41.212 3587
+-83.522 41.212 3592
+-83.396 41.212 3601
+-83.27 41.212 3566
+-83.144 41.212 3572
+-83.018 41.212 3579
+-82.892 41.212 3586
+-82.766 41.212 3593
+-82.64 41.212 3591
+-82.514 41.212 3597
+-82.388 41.212 3603
+-82.262 41.212 3591
+-82.136 41.212 3556
+-82.01 41.212 3552
+-81.884 41.212 3556
+-81.758 41.212 3502
+-81.632 41.212 3504
+-81.506 41.212 3505
+-81.38 41.212 3506
+-81.254 41.212 3508
+-81.128 41.212 3509
+-81.002 41.212 3510
+-80.876 41.212 3511
+-80.75 41.212 3490
+-80.624 41.212 3470
+-80.498 41.212 3470
+-80.372 41.212 3470
+-80.246 41.212 3471
+-80.12 41.212 3471
+-79.994 41.212 3486
+-79.868 41.212 3488
+-79.742 41.212 3479
+-79.616 41.212 3481
+-79.49 41.212 3483
+-79.364 41.212 3484
+-79.238 41.212 3486
+-79.112 41.212 3488
+-78.986 41.212 3489
+-78.86 41.212 3491
+-78.734 41.212 3492
+-78.608 41.212 3494
+-78.482 41.212 3495
+-78.356 41.212 3516
+-78.23 41.212 3518
+-78.104 41.212 3520
+-77.978 41.212 3523
+-77.852 41.212 3525
+-77.726 41.212 3527
+-77.6 41.212 3496
+-77.474 41.212 3497
+-77.348 41.212 3499
+-77.222 41.212 3500
+-77.096 41.212 3521
+-76.97 41.212 3524
+-76.844 41.212 3526
+-76.718 41.212 3488
+-76.592 41.212 3490
+-76.466 41.212 3491
+-76.34 41.212 3596
+-76.214 41.212 3597
+-76.088 41.212 3598
+-75.962 41.212 3600
+-75.836 41.212 3601
+-75.71 41.212 3545
+-75.584 41.212 3546
+-75.458 41.212 3546
+-75.332 41.212 3547
+-75.206 41.212 3548
+-75.08 41.212 3548
+-74.954 41.212 3549
+-74.828 41.212 3550
+-74.702 41.212 3550
+-74.576 41.212 3551
+-74.45 41.212 3529
+-74.324 41.212 3518
+-74.198 41.212 3519
+-74.072 41.212 3519
+-73.946 41.212 3520
+-73.82 41.212 3521
+-73.694 41.212 3521
+-73.568 41.212 3505
+-73.442 41.212 3505
+-73.316 41.212 3506
+-73.19 41.212 3506
+-73.064 41.212 3507
+-72.938 41.212 3507
+-72.812 41.212 3507
+-72.686 41.212 3508
+-72.56 41.212 3454
+-72.434 41.212 3454
+-72.308 41.212 3454
+-72.182 41.212 3455
+-72.056 41.212 3455
+-71.93 41.212 3455
+-71.804 41.212 3456
+-71.678 41.212 3456
+-71.552 41.212 3456
+-71.426 41.212 3457
+-71.3 41.212 3457
+-71.174 41.212 3457
+-71.048 41.212 3458
+-70.922 41.212 3382
+-70.796 41.212 3382
+-70.67 41.212 3382
+-70.544 41.212 3382
+-70.418 41.212 3382
+-70.292 41.212 3382
+-70.166 41.212 3381
+-70.04 41.212 3381
+-69.914 41.212 3381
+-69.788 41.212 3381
+-69.662 41.212 3381
+-69.536 41.212 3381
+-69.41 41.212 3381
+-69.284 41.212 3380
+-69.158 41.212 3380
+-69.032 41.212 3380
+-68.906 41.212 3380
+-68.78 41.212 3380
+-68.654 41.212 3380
+-68.528 41.212 3380
+-68.402 41.212 3379
+-68.276 41.212 3379
+-68.15 41.212 3379
+-68.024 41.212 3379
+-67.898 41.212 3379
+-67.772 41.212 3068
+-67.646 41.212 3068
+-67.52 41.212 3067
+-67.394 41.212 3067
+-67.268 41.212 3066
+-67.142 41.212 3066
+-67.016 41.212 3065
+-66.89 41.212 3065
+-66.764 41.212 3064
+-66.638 41.212 3064
+-66.512 41.212 3063
+-66.386 41.212 3063
+-66.26 41.212 3062
+-66.134 41.212 3062
+-66.008 41.212 3062
+-65.882 41.212 3061
+-65.756 41.212 3061
+-65.63 41.212 3060
+-65.504 41.212 2933
+-65.378 41.212 2932
+-65.252 41.212 2901
+-65.126 41.212 2854
+-128 41.16 2409
+-127.874 41.16 2328
+-127.748 41.16 2226
+-127.622 41.16 2117
+-127.496 41.16 2028
+-127.37 41.16 1966
+-127.244 41.16 1960
+-127.118 41.16 2024
+-126.992 41.16 2148
+-126.866 41.16 2292
+-126.74 41.16 2395
+-126.614 41.16 2479
+-126.488 41.16 2511
+-126.362 41.16 2524
+-126.236 41.16 2515
+-126.11 41.16 2515
+-125.984 41.16 2561
+-125.858 41.16 2622
+-125.732 41.16 2710
+-125.606 41.16 2805
+-125.48 41.16 2899
+-125.354 41.16 3011
+-125.228 41.16 3072
+-125.102 41.16 3123
+-124.976 41.16 3145
+-124.85 41.16 3234
+-124.724 41.16 3251
+-124.598 41.16 3265
+-124.472 41.16 3281
+-124.346 41.16 3298
+-124.22 41.16 3313
+-124.094 41.16 3325
+-123.968 41.16 3335
+-123.842 41.16 3340
+-123.716 41.16 3334
+-123.59 41.16 3325
+-123.464 41.16 3316
+-123.338 41.16 3298
+-123.212 41.16 3275
+-123.086 41.16 3244
+-122.96 41.16 3227
+-122.834 41.16 3248
+-122.708 41.16 3275
+-122.582 41.16 3302
+-122.456 41.16 3315
+-122.33 41.16 3335
+-122.204 41.16 3359
+-122.078 41.16 3371
+-121.952 41.16 3387
+-121.826 41.16 3367
+-121.7 41.16 3338
+-121.574 41.16 3294
+-121.448 41.16 3242
+-121.322 41.16 3249
+-121.196 41.16 3289
+-121.07 41.16 3379
+-120.944 41.16 3448
+-120.818 41.16 3484
+-120.692 41.16 3498
+-120.566 41.16 3491
+-120.44 41.16 3542
+-120.314 41.16 3624
+-120.188 41.16 3690
+-120.062 41.16 3747
+-119.936 41.16 3784
+-119.81 41.16 3773
+-119.684 41.16 3805
+-119.558 41.16 3826
+-119.432 41.16 3868
+-119.306 41.16 3882
+-119.18 41.16 3907
+-119.054 41.16 3914
+-118.928 41.16 3939
+-118.802 41.16 3949
+-118.676 41.16 3965
+-118.55 41.16 3988
+-118.424 41.16 4017
+-118.298 41.16 4043
+-118.172 41.16 4065
+-118.046 41.16 4071
+-117.92 41.16 4067
+-117.794 41.16 4063
+-117.668 41.16 4026
+-117.542 41.16 3999
+-117.416 41.16 3972
+-117.29 41.16 3944
+-117.164 41.16 3923
+-117.038 41.16 3893
+-116.912 41.16 3861
+-116.786 41.16 3799
+-116.66 41.16 3743
+-116.534 41.16 3720
+-116.408 41.16 3702
+-116.282 41.16 3663
+-116.156 41.16 3620
+-116.03 41.16 3559
+-115.904 41.16 3496
+-115.778 41.16 3414
+-115.652 41.16 3361
+-115.526 41.16 3334
+-115.4 41.16 3242
+-115.274 41.16 3117
+-115.148 41.16 3043
+-115.022 41.16 3050
+-114.896 41.16 3038
+-114.77 41.16 3011
+-114.644 41.16 2968
+-114.518 41.16 2927
+-114.392 41.16 2848
+-114.266 41.16 2778
+-114.14 41.16 2716
+-114.014 41.16 2667
+-113.888 41.16 2604
+-113.762 41.16 2480
+-113.636 41.16 2378
+-113.51 41.16 2305
+-113.384 41.16 2242
+-113.258 41.16 2192
+-113.132 41.16 2168
+-113.006 41.16 2132
+-112.88 41.16 2058
+-112.754 41.16 2011
+-112.628 41.16 2002
+-112.502 41.16 2008
+-112.376 41.16 2023
+-112.25 41.16 2035
+-112.124 41.16 2078
+-111.998 41.16 2056
+-111.872 41.16 2071
+-111.746 41.16 2084
+-111.62 41.16 2067
+-111.494 41.16 2055
+-111.368 41.16 2076
+-111.242 41.16 2082
+-111.116 41.16 2088
+-110.99 41.16 2092
+-110.864 41.16 2080
+-110.738 41.16 2086
+-110.612 41.16 2091
+-110.486 41.16 2097
+-110.36 41.16 2083
+-110.234 41.16 2088
+-110.108 41.16 2106
+-109.982 41.16 2113
+-109.856 41.16 2120
+-109.73 41.16 2126
+-109.604 41.16 2124
+-109.478 41.16 2131
+-109.352 41.16 2142
+-109.226 41.16 2147
+-109.1 41.16 2171
+-108.974 41.16 2178
+-108.848 41.16 2185
+-108.722 41.16 2227
+-108.596 41.16 2235
+-108.47 41.16 2253
+-108.344 41.16 2165
+-108.218 41.16 2171
+-108.092 41.16 2178
+-107.966 41.16 2184
+-107.84 41.16 2190
+-107.714 41.16 2196
+-107.588 41.16 2274
+-107.462 41.16 2293
+-107.336 41.16 2280
+-107.21 41.16 2289
+-107.084 41.16 2296
+-106.958 41.16 2264
+-106.832 41.16 2270
+-106.706 41.16 2276
+-106.58 41.16 2189
+-106.454 41.16 2172
+-106.328 41.16 2177
+-106.202 41.16 2035
+-106.076 41.16 1893
+-105.95 41.16 1888
+-105.824 41.16 1882
+-105.698 41.16 1876
+-105.572 41.16 1868
+-105.446 41.16 1860
+-105.32 41.16 1841
+-105.194 41.16 1761
+-105.068 41.16 1734
+-104.942 41.16 1774
+-104.816 41.16 1727
+-104.69 41.16 1723
+-104.564 41.16 1739
+-104.438 41.16 1778
+-104.312 41.16 1824
+-104.186 41.16 1951
+-104.06 41.16 1964
+-103.934 41.16 2018
+-103.808 41.16 2014
+-103.682 41.16 2108
+-103.556 41.16 2158
+-103.43 41.16 2172
+-103.304 41.16 2164
+-103.178 41.16 2171
+-103.052 41.16 2200
+-102.926 41.16 2154
+-102.8 41.16 2189
+-102.674 41.16 2178
+-102.548 41.16 2167
+-102.422 41.16 2155
+-102.296 41.16 2143
+-102.17 41.16 2187
+-102.044 41.16 2173
+-101.918 41.16 2159
+-101.792 41.16 2143
+-101.666 41.16 2127
+-101.54 41.16 2145
+-101.414 41.16 2166
+-101.288 41.16 2148
+-101.162 41.16 2129
+-101.036 41.16 2109
+-100.91 41.16 2089
+-100.784 41.16 2124
+-100.658 41.16 2103
+-100.532 41.16 2082
+-100.406 41.16 2061
+-100.28 41.16 2039
+-100.154 41.16 2017
+-100.028 41.16 2047
+-99.902 41.16 2089
+-99.776 41.16 2069
+-99.65 41.16 2051
+-99.524 41.16 2036
+-99.398 41.16 2117
+-99.272 41.16 2109
+-99.146 41.16 2138
+-99.02 41.16 2143
+-98.894 41.16 2156
+-98.768 41.16 2178
+-98.642 41.16 2210
+-98.516 41.16 2251
+-98.39 41.16 2301
+-98.264 41.16 2377
+-98.138 41.16 2481
+-98.012 41.16 2547
+-97.886 41.16 2613
+-97.76 41.16 2678
+-97.634 41.16 2741
+-97.508 41.16 2798
+-97.382 41.16 2896
+-97.256 41.16 2943
+-97.13 41.16 3029
+-97.004 41.16 3091
+-96.878 41.16 3121
+-96.752 41.16 3140
+-96.626 41.16 3160
+-96.5 41.16 3210
+-96.374 41.16 3251
+-96.248 41.16 3208
+-96.122 41.16 3180
+-95.996 41.16 3188
+-95.87 41.16 3278
+-95.744 41.16 3448
+-95.618 41.16 3632
+-95.492 41.16 3772
+-95.366 41.16 3868
+-95.24 41.16 3965
+-95.114 41.16 4030
+-94.988 41.16 4109
+-94.862 41.16 4263
+-94.736 41.16 4349
+-94.61 41.16 4291
+-94.484 41.16 4436
+-94.358 41.16 4581
+-94.232 41.16 4723
+-94.106 41.16 4792
+-93.98 41.16 4857
+-93.854 41.16 4971
+-93.728 41.16 5038
+-93.602 41.16 5162
+-93.476 41.16 5303
+-93.35 41.16 5413
+-93.224 41.16 5549
+-93.098 41.16 5609
+-92.972 41.16 5702
+-92.846 41.16 5820
+-92.72 41.16 5834
+-92.594 41.16 5932
+-92.468 41.16 6037
+-92.342 41.16 6163
+-92.216 41.16 6198
+-92.09 41.16 6290
+-91.964 41.16 6376
+-91.838 41.16 6450
+-91.712 41.16 6516
+-91.586 41.16 6573
+-91.46 41.16 6668
+-91.334 41.16 6711
+-91.208 41.16 6742
+-91.082 41.16 6780
+-90.956 41.16 6814
+-90.83 41.16 6834
+-90.704 41.16 6847
+-90.578 41.16 6866
+-90.452 41.16 6858
+-90.326 41.16 6845
+-90.2 41.16 6826
+-90.074 41.16 6818
+-89.948 41.16 6781
+-89.822 41.16 6773
+-89.696 41.16 6732
+-89.57 41.16 6688
+-89.444 41.16 6637
+-89.318 41.16 6605
+-89.192 41.16 6527
+-89.066 41.16 6446
+-88.94 41.16 6406
+-88.814 41.16 6286
+-88.688 41.16 6204
+-88.562 41.16 6154
+-88.436 41.16 6036
+-88.31 41.16 6010
+-88.184 41.16 5902
+-88.058 41.16 5793
+-87.932 41.16 5695
+-87.806 41.16 5641
+-87.68 41.16 5606
+-87.554 41.16 5608
+-87.428 41.16 5578
+-87.302 41.16 5542
+-87.176 41.16 5490
+-87.05 41.16 5413
+-86.924 41.16 5375
+-86.798 41.16 5290
+-86.672 41.16 5200
+-86.546 41.16 5110
+-86.42 41.16 5053
+-86.294 41.16 4989
+-86.168 41.16 4929
+-86.042 41.16 4872
+-85.916 41.16 4813
+-85.79 41.16 4730
+-85.664 41.16 4664
+-85.538 41.16 4572
+-85.412 41.16 4490
+-85.286 41.16 4405
+-85.16 41.16 4326
+-85.034 41.16 4224
+-84.908 41.16 4112
+-84.782 41.16 3992
+-84.656 41.16 3874
+-84.53 41.16 3762
+-84.404 41.16 3680
+-84.278 41.16 3607
+-84.152 41.16 3592
+-84.026 41.16 3584
+-83.9 41.16 3568
+-83.774 41.16 3565
+-83.648 41.16 3570
+-83.522 41.16 3581
+-83.396 41.16 3554
+-83.27 41.16 3563
+-83.144 41.16 3572
+-83.018 41.16 3581
+-82.892 41.16 3589
+-82.766 41.16 3588
+-82.64 41.16 3595
+-82.514 41.16 3601
+-82.388 41.16 3590
+-82.262 41.16 3556
+-82.136 41.16 3552
+-82.01 41.16 3556
+-81.884 41.16 3559
+-81.758 41.16 3563
+-81.632 41.16 3566
+-81.506 41.16 3569
+-81.38 41.16 3571
+-81.254 41.16 3574
+-81.128 41.16 3576
+-81.002 41.16 3579
+-80.876 41.16 3494
+-80.75 41.16 3473
+-80.624 41.16 3473
+-80.498 41.16 3473
+-80.372 41.16 3473
+-80.246 41.16 3474
+-80.12 41.16 3488
+-79.994 41.16 3490
+-79.868 41.16 3481
+-79.742 41.16 3483
+-79.616 41.16 3485
+-79.49 41.16 3486
+-79.364 41.16 3488
+-79.238 41.16 3490
+-79.112 41.16 3491
+-78.986 41.16 3493
+-78.86 41.16 3494
+-78.734 41.16 3496
+-78.608 41.16 3497
+-78.482 41.16 3517
+-78.356 41.16 3520
+-78.23 41.16 3522
+-78.104 41.16 3524
+-77.978 41.16 3526
+-77.852 41.16 3528
+-77.726 41.16 3497
+-77.6 41.16 3499
+-77.474 41.16 3500
+-77.348 41.16 3501
+-77.222 41.16 3523
+-77.096 41.16 3525
+-76.97 41.16 3527
+-76.844 41.16 3490
+-76.718 41.16 3491
+-76.592 41.16 3493
+-76.466 41.16 3595
+-76.34 41.16 3596
+-76.214 41.16 3598
+-76.088 41.16 3599
+-75.962 41.16 3601
+-75.836 41.16 3544
+-75.71 41.16 3545
+-75.584 41.16 3546
+-75.458 41.16 3547
+-75.332 41.16 3547
+-75.206 41.16 3548
+-75.08 41.16 3549
+-74.954 41.16 3549
+-74.828 41.16 3550
+-74.702 41.16 3551
+-74.576 41.16 3528
+-74.45 41.16 3518
+-74.324 41.16 3519
+-74.198 41.16 3519
+-74.072 41.16 3520
+-73.946 41.16 3520
+-73.82 41.16 3504
+-73.694 41.16 3505
+-73.568 41.16 3505
+-73.442 41.16 3506
+-73.316 41.16 3506
+-73.19 41.16 3507
+-73.064 41.16 3507
+-72.938 41.16 3507
+-72.812 41.16 3508
+-72.686 41.16 3454
+-72.56 41.16 3454
+-72.434 41.16 3454
+-72.308 41.16 3455
+-72.182 41.16 3455
+-72.056 41.16 3455
+-71.93 41.16 3456
+-71.804 41.16 3456
+-71.678 41.16 3456
+-71.552 41.16 3457
+-71.426 41.16 3457
+-71.3 41.16 3457
+-71.174 41.16 3457
+-71.048 41.16 3382
+-70.922 41.16 3382
+-70.796 41.16 3382
+-70.67 41.16 3382
+-70.544 41.16 3382
+-70.418 41.16 3382
+-70.292 41.16 3381
+-70.166 41.16 3381
+-70.04 41.16 3381
+-69.914 41.16 3381
+-69.788 41.16 3381
+-69.662 41.16 3381
+-69.536 41.16 3381
+-69.41 41.16 3380
+-69.284 41.16 3380
+-69.158 41.16 3380
+-69.032 41.16 3380
+-68.906 41.16 3380
+-68.78 41.16 3380
+-68.654 41.16 3380
+-68.528 41.16 3379
+-68.402 41.16 3379
+-68.276 41.16 3379
+-68.15 41.16 3379
+-68.024 41.16 3379
+-67.898 41.16 3068
+-67.772 41.16 3068
+-67.646 41.16 3067
+-67.52 41.16 3067
+-67.394 41.16 3066
+-67.268 41.16 3066
+-67.142 41.16 3065
+-67.016 41.16 3065
+-66.89 41.16 3064
+-66.764 41.16 3064
+-66.638 41.16 3063
+-66.512 41.16 3063
+-66.386 41.16 3062
+-66.26 41.16 3062
+-66.134 41.16 3061
+-66.008 41.16 3061
+-65.882 41.16 3061
+-65.756 41.16 3060
+-65.63 41.16 2933
+-65.504 41.16 2932
+-65.378 41.16 2901
+-65.252 41.16 2854
+-65.126 41.16 2854
+-128 41.108 2357
+-127.874 41.108 2245
+-127.748 41.108 2115
+-127.622 41.108 1987
+-127.496 41.108 1858
+-127.37 41.108 1759
+-127.244 41.108 1729
+-127.118 41.108 1799
+-126.992 41.108 1947
+-126.866 41.108 2136
+-126.74 41.108 2308
+-126.614 41.108 2419
+-126.488 41.108 2479
+-126.362 41.108 2520
+-126.236 41.108 2540
+-126.11 41.108 2573
+-125.984 41.108 2610
+-125.858 41.108 2664
+-125.732 41.108 2737
+-125.606 41.108 2819
+-125.48 41.108 2897
+-125.354 41.108 2964
+-125.228 41.108 3017
+-125.102 41.108 3048
+-124.976 41.108 3103
+-124.85 41.108 3135
+-124.724 41.108 3206
+-124.598 41.108 3221
+-124.472 41.108 3233
+-124.346 41.108 3244
+-124.22 41.108 3252
+-124.094 41.108 3277
+-123.968 41.108 3301
+-123.842 41.108 3302
+-123.716 41.108 3295
+-123.59 41.108 3286
+-123.464 41.108 3284
+-123.338 41.108 3271
+-123.212 41.108 3240
+-123.086 41.108 3233
+-122.96 41.108 3231
+-122.834 41.108 3233
+-122.708 41.108 3240
+-122.582 41.108 3238
+-122.456 41.108 3248
+-122.33 41.108 3264
+-122.204 41.108 3286
+-122.078 41.108 3326
+-121.952 41.108 3316
+-121.826 41.108 3329
+-121.7 41.108 3289
+-121.574 41.108 3214
+-121.448 41.108 3129
+-121.322 41.108 3090
+-121.196 41.108 3163
+-121.07 41.108 3302
+-120.944 41.108 3402
+-120.818 41.108 3452
+-120.692 41.108 3460
+-120.566 41.108 3443
+-120.44 41.108 3488
+-120.314 41.108 3548
+-120.188 41.108 3605
+-120.062 41.108 3664
+-119.936 41.108 3745
+-119.81 41.108 3771
+-119.684 41.108 3794
+-119.558 41.108 3800
+-119.432 41.108 3806
+-119.306 41.108 3843
+-119.18 41.108 3882
+-119.054 41.108 3871
+-118.928 41.108 3909
+-118.802 41.108 3911
+-118.676 41.108 3928
+-118.55 41.108 3925
+-118.424 41.108 3944
+-118.298 41.108 3972
+-118.172 41.108 4007
+-118.046 41.108 4020
+-117.92 41.108 4020
+-117.794 41.108 4008
+-117.668 41.108 3968
+-117.542 41.108 3949
+-117.416 41.108 3919
+-117.29 41.108 3885
+-117.164 41.108 3855
+-117.038 41.108 3839
+-116.912 41.108 3776
+-116.786 41.108 3685
+-116.66 41.108 3635
+-116.534 41.108 3653
+-116.408 41.108 3649
+-116.282 41.108 3639
+-116.156 41.108 3602
+-116.03 41.108 3549
+-115.904 41.108 3477
+-115.778 41.108 3397
+-115.652 41.108 3342
+-115.526 41.108 3285
+-115.4 41.108 3185
+-115.274 41.108 3043
+-115.148 41.108 2974
+-115.022 41.108 2997
+-114.896 41.108 2990
+-114.77 41.108 2942
+-114.644 41.108 2877
+-114.518 41.108 2764
+-114.392 41.108 2713
+-114.266 41.108 2690
+-114.14 41.108 2661
+-114.014 41.108 2590
+-113.888 41.108 2520
+-113.762 41.108 2383
+-113.636 41.108 2290
+-113.51 41.108 2207
+-113.384 41.108 2148
+-113.258 41.108 2117
+-113.132 41.108 2105
+-113.006 41.108 2053
+-112.88 41.108 2038
+-112.754 41.108 2034
+-112.628 41.108 2031
+-112.502 41.108 2036
+-112.376 41.108 2045
+-112.25 41.108 2056
+-112.124 41.108 2060
+-111.998 41.108 2072
+-111.872 41.108 2086
+-111.746 41.108 2072
+-111.62 41.108 2052
+-111.494 41.108 2059
+-111.368 41.108 2043
+-111.242 41.108 2061
+-111.116 41.108 2066
+-110.99 41.108 2070
+-110.864 41.108 2075
+-110.738 41.108 2063
+-110.612 41.108 2069
+-110.486 41.108 2075
+-110.36 41.108 2081
+-110.234 41.108 2068
+-110.108 41.108 2073
+-109.982 41.108 2092
+-109.856 41.108 2099
+-109.73 41.108 2099
+-109.604 41.108 2107
+-109.478 41.108 2115
+-109.352 41.108 2122
+-109.226 41.108 2132
+-109.1 41.108 2137
+-108.974 41.108 2160
+-108.848 41.108 2168
+-108.722 41.108 2124
+-108.596 41.108 2153
+-108.47 41.108 2168
+-108.344 41.108 2176
+-108.218 41.108 2156
+-108.092 41.108 2163
+-107.966 41.108 2170
+-107.84 41.108 2177
+-107.714 41.108 2254
+-107.588 41.108 2262
+-107.462 41.108 2262
+-107.336 41.108 2272
+-107.21 41.108 2280
+-107.084 41.108 2236
+-106.958 41.108 2242
+-106.832 41.108 2248
+-106.706 41.108 2175
+-106.58 41.108 2161
+-106.454 41.108 2165
+-106.328 41.108 2146
+-106.202 41.108 2019
+-106.076 41.108 1889
+-105.95 41.108 1885
+-105.824 41.108 1879
+-105.698 41.108 1873
+-105.572 41.108 1866
+-105.446 41.108 1858
+-105.32 41.108 1824
+-105.194 41.108 1777
+-105.068 41.108 1750
+-104.942 41.108 1758
+-104.816 41.108 1727
+-104.69 41.108 1724
+-104.564 41.108 1744
+-104.438 41.108 1781
+-104.312 41.108 1828
+-104.186 41.108 1955
+-104.06 41.108 1968
+-103.934 41.108 2022
+-103.808 41.108 2019
+-103.682 41.108 2113
+-103.556 41.108 2105
+-103.43 41.108 2156
+-103.304 41.108 2170
+-103.178 41.108 2162
+-103.052 41.108 2169
+-102.926 41.108 2196
+-102.8 41.108 2195
+-102.674 41.108 2184
+-102.548 41.108 2173
+-102.422 41.108 2161
+-102.296 41.108 2149
+-102.17 41.108 2137
+-102.044 41.108 2180
+-101.918 41.108 2166
+-101.792 41.108 2150
+-101.666 41.108 2134
+-101.54 41.108 2117
+-101.414 41.108 2134
+-101.288 41.108 2153
+-101.162 41.108 2134
+-101.036 41.108 2115
+-100.91 41.108 2094
+-100.784 41.108 2072
+-100.658 41.108 2105
+-100.532 41.108 2129
+-100.406 41.108 2105
+-100.28 41.108 2080
+-100.154 41.108 2055
+-100.028 41.108 2029
+-99.902 41.108 2016
+-99.776 41.108 2056
+-99.65 41.108 2034
+-99.524 41.108 2046
+-99.398 41.108 2030
+-99.272 41.108 2077
+-99.146 41.108 2072
+-99.02 41.108 2104
+-98.894 41.108 2115
+-98.768 41.108 2137
+-98.642 41.108 2171
+-98.516 41.108 2215
+-98.39 41.108 2270
+-98.264 41.108 2332
+-98.138 41.108 2421
+-98.012 41.108 2536
+-97.886 41.108 2609
+-97.76 41.108 2680
+-97.634 41.108 2747
+-97.508 41.108 2810
+-97.382 41.108 2866
+-97.256 41.108 2961
+-97.13 41.108 3005
+-97.004 41.108 3087
+-96.878 41.108 3144
+-96.752 41.108 3169
+-96.626 41.108 3176
+-96.5 41.108 3247
+-96.374 41.108 3287
+-96.248 41.108 3280
+-96.122 41.108 3300
+-95.996 41.108 3345
+-95.87 41.108 3426
+-95.744 41.108 3541
+-95.618 41.108 3680
+-95.492 41.108 3795
+-95.366 41.108 3912
+-95.24 41.108 3923
+-95.114 41.108 3947
+-94.988 41.108 4067
+-94.862 41.108 4250
+-94.736 41.108 4373
+-94.61 41.108 4398
+-94.484 41.108 4495
+-94.358 41.108 4628
+-94.232 41.108 4760
+-94.106 41.108 4800
+-93.98 41.108 4872
+-93.854 41.108 4995
+-93.728 41.108 5087
+-93.602 41.108 5168
+-93.476 41.108 5356
+-93.35 41.108 5482
+-93.224 41.108 5582
+-93.098 41.108 5662
+-92.972 41.108 5725
+-92.846 41.108 5786
+-92.72 41.108 5876
+-92.594 41.108 5981
+-92.468 41.108 6113
+-92.342 41.108 6215
+-92.216 41.108 6286
+-92.09 41.108 6356
+-91.964 41.108 6443
+-91.838 41.108 6465
+-91.712 41.108 6539
+-91.586 41.108 6630
+-91.46 41.108 6723
+-91.334 41.108 6760
+-91.208 41.108 6797
+-91.082 41.108 6804
+-90.956 41.108 6846
+-90.83 41.108 6878
+-90.704 41.108 6922
+-90.578 41.108 6931
+-90.452 41.108 6903
+-90.326 41.108 6909
+-90.2 41.108 6895
+-90.074 41.108 6865
+-89.948 41.108 6837
+-89.822 41.108 6787
+-89.696 41.108 6788
+-89.57 41.108 6722
+-89.444 41.108 6706
+-89.318 41.108 6624
+-89.192 41.108 6590
+-89.066 41.108 6526
+-88.94 41.108 6445
+-88.814 41.108 6367
+-88.688 41.108 6281
+-88.562 41.108 6195
+-88.436 41.108 6158
+-88.31 41.108 6058
+-88.184 41.108 5897
+-88.058 41.108 5848
+-87.932 41.108 5754
+-87.806 41.108 5671
+-87.68 41.108 5545
+-87.554 41.108 5675
+-87.428 41.108 5640
+-87.302 41.108 5565
+-87.176 41.108 5535
+-87.05 41.108 5492
+-86.924 41.108 5416
+-86.798 41.108 5337
+-86.672 41.108 5243
+-86.546 41.108 5142
+-86.42 41.108 5089
+-86.294 41.108 5030
+-86.168 41.108 4936
+-86.042 41.108 4882
+-85.916 41.108 4809
+-85.79 41.108 4716
+-85.664 41.108 4671
+-85.538 41.108 4578
+-85.412 41.108 4542
+-85.286 41.108 4477
+-85.16 41.108 4362
+-85.034 41.108 4241
+-84.908 41.108 4148
+-84.782 41.108 3994
+-84.656 41.108 3851
+-84.53 41.108 3690
+-84.404 41.108 3588
+-84.278 41.108 3528
+-84.152 41.108 3543
+-84.026 41.108 3536
+-83.9 41.108 3528
+-83.774 41.108 3527
+-83.648 41.108 3542
+-83.522 41.108 3528
+-83.396 41.108 3545
+-83.27 41.108 3560
+-83.144 41.108 3572
+-83.018 41.108 3582
+-82.892 41.108 3584
+-82.766 41.108 3592
+-82.64 41.108 3599
+-82.514 41.108 3588
+-82.388 41.108 3556
+-82.262 41.108 3551
+-82.136 41.108 3555
+-82.01 41.108 3559
+-81.884 41.108 3562
+-81.758 41.108 3566
+-81.632 41.108 3569
+-81.506 41.108 3571
+-81.38 41.108 3574
+-81.254 41.108 3576
+-81.128 41.108 3579
+-81.002 41.108 3497
+-80.876 41.108 3476
+-80.75 41.108 3476
+-80.624 41.108 3522
+-80.498 41.108 3523
+-80.372 41.108 3524
+-80.246 41.108 3490
+-80.12 41.108 3492
+-79.994 41.108 3483
+-79.868 41.108 3485
+-79.742 41.108 3487
+-79.616 41.108 3488
+-79.49 41.108 3490
+-79.364 41.108 3492
+-79.238 41.108 3493
+-79.112 41.108 3495
+-78.986 41.108 3496
+-78.86 41.108 3497
+-78.734 41.108 3499
+-78.608 41.108 3519
+-78.482 41.108 3521
+-78.356 41.108 3523
+-78.23 41.108 3526
+-78.104 41.108 3528
+-77.978 41.108 3530
+-77.852 41.108 3499
+-77.726 41.108 3500
+-77.6 41.108 3502
+-77.474 41.108 3503
+-77.348 41.108 3524
+-77.222 41.108 3526
+-77.096 41.108 3528
+-76.97 41.108 3491
+-76.844 41.108 3493
+-76.718 41.108 3494
+-76.592 41.108 3594
+-76.466 41.108 3596
+-76.34 41.108 3597
+-76.214 41.108 3599
+-76.088 41.108 3600
+-75.962 41.108 3544
+-75.836 41.108 3545
+-75.71 41.108 3546
+-75.584 41.108 3547
+-75.458 41.108 3547
+-75.332 41.108 3548
+-75.206 41.108 3549
+-75.08 41.108 3549
+-74.954 41.108 3550
+-74.828 41.108 3551
+-74.702 41.108 3528
+-74.576 41.108 3518
+-74.45 41.108 3518
+-74.324 41.108 3519
+-74.198 41.108 3520
+-74.072 41.108 3520
+-73.946 41.108 3521
+-73.82 41.108 3505
+-73.694 41.108 3505
+-73.568 41.108 3506
+-73.442 41.108 3506
+-73.316 41.108 3506
+-73.19 41.108 3507
+-73.064 41.108 3507
+-72.938 41.108 3508
+-72.812 41.108 3453
+-72.686 41.108 3454
+-72.56 41.108 3454
+-72.434 41.108 3454
+-72.308 41.108 3455
+-72.182 41.108 3455
+-72.056 41.108 3455
+-71.93 41.108 3456
+-71.804 41.108 3456
+-71.678 41.108 3456
+-71.552 41.108 3457
+-71.426 41.108 3457
+-71.3 41.108 3457
+-71.174 41.108 3382
+-71.048 41.108 3382
+-70.922 41.108 3382
+-70.796 41.108 3382
+-70.67 41.108 3382
+-70.544 41.108 3382
+-70.418 41.108 3381
+-70.292 41.108 3381
+-70.166 41.108 3381
+-70.04 41.108 3381
+-69.914 41.108 3381
+-69.788 41.108 3381
+-69.662 41.108 3381
+-69.536 41.108 3380
+-69.41 41.108 3380
+-69.284 41.108 3380
+-69.158 41.108 3380
+-69.032 41.108 3380
+-68.906 41.108 3380
+-68.78 41.108 3380
+-68.654 41.108 3379
+-68.528 41.108 3379
+-68.402 41.108 3379
+-68.276 41.108 3379
+-68.15 41.108 3379
+-68.024 41.108 3068
+-67.898 41.108 3068
+-67.772 41.108 3067
+-67.646 41.108 3067
+-67.52 41.108 3066
+-67.394 41.108 3066
+-67.268 41.108 3065
+-67.142 41.108 3065
+-67.016 41.108 3064
+-66.89 41.108 3064
+-66.764 41.108 3063
+-66.638 41.108 3063
+-66.512 41.108 3062
+-66.386 41.108 3062
+-66.26 41.108 3061
+-66.134 41.108 3061
+-66.008 41.108 3061
+-65.882 41.108 3060
+-65.756 41.108 2933
+-65.63 41.108 2932
+-65.504 41.108 2901
+-65.378 41.108 2854
+-65.252 41.108 2854
+-65.126 41.108 2853
+-128 41.056 2307
+-127.874 41.056 2177
+-127.748 41.056 2042
+-127.622 41.056 1887
+-127.496 41.056 1731
+-127.37 41.056 1603
+-127.244 41.056 1553
+-127.118 41.056 1618
+-126.992 41.056 1794
+-126.866 41.056 2019
+-126.74 41.056 2216
+-126.614 41.056 2354
+-126.488 41.056 2457
+-126.362 41.056 2521
+-126.236 41.056 2580
+-126.11 41.056 2614
+-125.984 41.056 2633
+-125.858 41.056 2685
+-125.732 41.056 2765
+-125.606 41.056 2831
+-125.48 41.056 2894
+-125.354 41.056 2948
+-125.228 41.056 2982
+-125.102 41.056 3043
+-124.976 41.056 3077
+-124.85 41.056 3107
+-124.724 41.056 3132
+-124.598 41.056 3198
+-124.472 41.056 3207
+-124.346 41.056 3204
+-124.22 41.056 3207
+-124.094 41.056 3205
+-123.968 41.056 3226
+-123.842 41.056 3222
+-123.716 41.056 3217
+-123.59 41.056 3238
+-123.464 41.056 3227
+-123.338 41.056 3212
+-123.212 41.056 3202
+-123.086 41.056 3199
+-122.96 41.056 3192
+-122.834 41.056 3175
+-122.708 41.056 3153
+-122.582 41.056 3153
+-122.456 41.056 3165
+-122.33 41.056 3189
+-122.204 41.056 3204
+-122.078 41.056 3212
+-121.952 41.056 3235
+-121.826 41.056 3228
+-121.7 41.056 3217
+-121.574 41.056 3176
+-121.448 41.056 3073
+-121.322 41.056 3010
+-121.196 41.056 3094
+-121.07 41.056 3257
+-120.944 41.056 3348
+-120.818 41.056 3409
+-120.692 41.056 3446
+-120.566 41.056 3457
+-120.44 41.056 3478
+-120.314 41.056 3495
+-120.188 41.056 3503
+-120.062 41.056 3563
+-119.936 41.056 3656
+-119.81 41.056 3727
+-119.684 41.056 3760
+-119.558 41.056 3775
+-119.432 41.056 3768
+-119.306 41.056 3800
+-119.18 41.056 3848
+-119.054 41.056 3873
+-118.928 41.056 3886
+-118.802 41.056 3891
+-118.676 41.056 3877
+-118.55 41.056 3864
+-118.424 41.056 3879
+-118.298 41.056 3899
+-118.172 41.056 3920
+-118.046 41.056 3918
+-117.92 41.056 3907
+-117.794 41.056 3889
+-117.668 41.056 3874
+-117.542 41.056 3847
+-117.416 41.056 3814
+-117.29 41.056 3777
+-117.164 41.056 3767
+-117.038 41.056 3749
+-116.912 41.056 3682
+-116.786 41.056 3611
+-116.66 41.056 3571
+-116.534 41.056 3592
+-116.408 41.056 3596
+-116.282 41.056 3585
+-116.156 41.056 3530
+-116.03 41.056 3503
+-115.904 41.056 3419
+-115.778 41.056 3360
+-115.652 41.056 3303
+-115.526 41.056 3228
+-115.4 41.056 3146
+-115.274 41.056 3049
+-115.148 41.056 2999
+-115.022 41.056 2977
+-114.896 41.056 2916
+-114.77 41.056 2829
+-114.644 41.056 2728
+-114.518 41.056 2637
+-114.392 41.056 2612
+-114.266 41.056 2610
+-114.14 41.056 2591
+-114.014 41.056 2541
+-113.888 41.056 2410
+-113.762 41.056 2298
+-113.636 41.056 2176
+-113.51 41.056 2070
+-113.384 41.056 2009
+-113.258 41.056 1986
+-113.132 41.056 2006
+-113.006 41.056 2009
+-112.88 41.056 2029
+-112.754 41.056 2031
+-112.628 41.056 2040
+-112.502 41.056 2044
+-112.376 41.056 2051
+-112.25 41.056 2059
+-112.124 41.056 2066
+-111.998 41.056 2058
+-111.872 41.056 2074
+-111.746 41.056 2081
+-111.62 41.056 2061
+-111.494 41.056 2040
+-111.368 41.056 2045
+-111.242 41.056 2026
+-111.116 41.056 2030
+-110.99 41.056 2034
+-110.864 41.056 2038
+-110.738 41.056 2042
+-110.612 41.056 2045
+-110.486 41.056 2051
+-110.36 41.056 2058
+-110.234 41.056 2065
+-110.108 41.056 2053
+-109.982 41.056 2057
+-109.856 41.056 2078
+-109.73 41.056 2081
+-109.604 41.056 2090
+-109.478 41.056 2098
+-109.352 41.056 2107
+-109.226 41.056 2115
+-109.1 41.056 2124
+-108.974 41.056 2067
+-108.848 41.056 2101
+-108.722 41.056 2129
+-108.596 41.056 2137
+-108.47 41.056 2144
+-108.344 41.056 2143
+-108.218 41.056 2151
+-108.092 41.056 2148
+-107.966 41.056 2156
+-107.84 41.056 2234
+-107.714 41.056 2242
+-107.588 41.056 2229
+-107.462 41.056 2236
+-107.336 41.056 2206
+-107.21 41.056 2220
+-107.084 41.056 2227
+-106.958 41.056 2234
+-106.832 41.056 2161
+-106.706 41.056 2148
+-106.58 41.056 2153
+-106.454 41.056 2135
+-106.328 41.056 2139
+-106.202 41.056 2015
+-106.076 41.056 1886
+-105.95 41.056 1882
+-105.824 41.056 1877
+-105.698 41.056 1871
+-105.572 41.056 1864
+-105.446 41.056 1831
+-105.32 41.056 1813
+-105.194 41.056 1776
+-105.068 41.056 1751
+-104.942 41.056 1765
+-104.816 41.056 1733
+-104.69 41.056 1727
+-104.564 41.056 1719
+-104.438 41.056 1787
+-104.312 41.056 1832
+-104.186 41.056 1960
+-104.06 41.056 1972
+-103.934 41.056 2026
+-103.808 41.056 2023
+-103.682 41.056 2118
+-103.556 41.056 2111
+-103.43 41.056 2161
+-103.304 41.056 2154
+-103.178 41.056 2168
+-103.052 41.056 2160
+-102.926 41.056 2166
+-102.8 41.056 2158
+-102.674 41.056 2191
+-102.548 41.056 2180
+-102.422 41.056 2168
+-102.296 41.056 2156
+-102.17 41.056 2143
+-102.044 41.056 2130
+-101.918 41.056 2173
+-101.792 41.056 2158
+-101.666 41.056 2142
+-101.54 41.056 2125
+-101.414 41.056 2107
+-101.288 41.056 2122
+-101.162 41.056 2140
+-101.036 41.056 2120
+-100.91 41.056 2098
+-100.784 41.056 2076
+-100.658 41.056 2052
+-100.532 41.056 2129
+-100.406 41.056 2103
+-100.28 41.056 2076
+-100.154 41.056 2049
+-100.028 41.056 2020
+-99.902 41.056 1991
+-99.776 41.056 2007
+-99.65 41.056 2035
+-99.524 41.056 2015
+-99.398 41.056 1991
+-99.272 41.056 2028
+-99.146 41.056 2016
+-99.02 41.056 2013
+-98.894 41.056 2049
+-98.768 41.056 2069
+-98.642 41.056 2103
+-98.516 41.056 2152
+-98.39 41.056 2213
+-98.264 41.056 2284
+-98.138 41.056 2362
+-98.012 41.056 2464
+-97.886 41.056 2591
+-97.76 41.056 2671
+-97.634 41.056 2746
+-97.508 41.056 2814
+-97.382 41.056 2875
+-97.256 41.056 2928
+-97.13 41.056 3037
+-97.004 41.056 3075
+-96.878 41.056 3135
+-96.752 41.056 3182
+-96.626 41.056 3281
+-96.5 41.056 3333
+-96.374 41.056 3306
+-96.248 41.056 3297
+-96.122 41.056 3327
+-95.996 41.056 3375
+-95.87 41.056 3461
+-95.744 41.056 3575
+-95.618 41.056 3693
+-95.492 41.056 3849
+-95.366 41.056 3918
+-95.24 41.056 3928
+-95.114 41.056 3878
+-94.988 41.056 3995
+-94.862 41.056 4243
+-94.736 41.056 4412
+-94.61 41.056 4479
+-94.484 41.056 4555
+-94.358 41.056 4599
+-94.232 41.056 4729
+-94.106 41.056 4815
+-93.98 41.056 4908
+-93.854 41.056 5055
+-93.728 41.056 5125
+-93.602 41.056 5254
+-93.476 41.056 5407
+-93.35 41.056 5502
+-93.224 41.056 5519
+-93.098 41.056 5671
+-92.972 41.056 5755
+-92.846 41.056 5829
+-92.72 41.056 5956
+-92.594 41.056 6065
+-92.468 41.056 6136
+-92.342 41.056 6250
+-92.216 41.056 6281
+-92.09 41.056 6419
+-91.964 41.056 6442
+-91.838 41.056 6530
+-91.712 41.056 6610
+-91.586 41.056 6699
+-91.46 41.056 6713
+-91.334 41.056 6797
+-91.208 41.056 6828
+-91.082 41.056 6884
+-90.956 41.056 6905
+-90.83 41.056 6943
+-90.704 41.056 6963
+-90.578 41.056 6962
+-90.452 41.056 6952
+-90.326 41.056 6965
+-90.2 41.056 6960
+-90.074 41.056 6919
+-89.948 41.056 6898
+-89.822 41.056 6886
+-89.696 41.056 6864
+-89.57 41.056 6796
+-89.444 41.056 6752
+-89.318 41.056 6731
+-89.192 41.056 6624
+-89.066 41.056 6531
+-88.94 41.056 6506
+-88.814 41.056 6435
+-88.688 41.056 6326
+-88.562 41.056 6222
+-88.436 41.056 6137
+-88.31 41.056 6083
+-88.184 41.056 5959
+-88.058 41.056 5860
+-87.932 41.056 5781
+-87.806 41.056 5755
+-87.68 41.056 5827
+-87.554 41.056 5751
+-87.428 41.056 5720
+-87.302 41.056 5655
+-87.176 41.056 5598
+-87.05 41.056 5546
+-86.924 41.056 5461
+-86.798 41.056 5363
+-86.672 41.056 5300
+-86.546 41.056 5186
+-86.42 41.056 5191
+-86.294 41.056 5078
+-86.168 41.056 4979
+-86.042 41.056 4918
+-85.916 41.056 4830
+-85.79 41.056 4735
+-85.664 41.056 4647
+-85.538 41.056 4519
+-85.412 41.056 4548
+-85.286 41.056 4513
+-85.16 41.056 4395
+-85.034 41.056 4283
+-84.908 41.056 4152
+-84.782 41.056 3987
+-84.656 41.056 3830
+-84.53 41.056 3651
+-84.404 41.056 3567
+-84.278 41.056 3406
+-84.152 41.056 3499
+-84.026 41.056 3507
+-83.9 41.056 3471
+-83.774 41.056 3439
+-83.648 41.056 3472
+-83.522 41.056 3507
+-83.396 41.056 3535
+-83.27 41.056 3556
+-83.144 41.056 3571
+-83.018 41.056 3576
+-82.892 41.056 3586
+-82.766 41.056 3595
+-82.64 41.056 3586
+-82.514 41.056 3555
+-82.388 41.056 3551
+-82.262 41.056 3555
+-82.136 41.056 3559
+-82.01 41.056 3562
+-81.884 41.056 3566
+-81.758 41.056 3569
+-81.632 41.056 3571
+-81.506 41.056 3574
+-81.38 41.056 3577
+-81.254 41.056 3579
+-81.128 41.056 3500
+-81.002 41.056 3520
+-80.876 41.056 3521
+-80.75 41.056 3522
+-80.624 41.056 3523
+-80.498 41.056 3524
+-80.372 41.056 3492
+-80.246 41.056 3494
+-80.12 41.056 3485
+-79.994 41.056 3487
+-79.868 41.056 3489
+-79.742 41.056 3490
+-79.616 41.056 3492
+-79.49 41.056 3493
+-79.364 41.056 3495
+-79.238 41.056 3496
+-79.112 41.056 3498
+-78.986 41.056 3499
+-78.86 41.056 3501
+-78.734 41.056 3521
+-78.608 41.056 3523
+-78.482 41.056 3525
+-78.356 41.056 3527
+-78.23 41.056 3529
+-78.104 41.056 3531
+-77.978 41.056 3501
+-77.852 41.056 3502
+-77.726 41.056 3503
+-77.6 41.056 3505
+-77.474 41.056 3525
+-77.348 41.056 3527
+-77.222 41.056 3529
+-77.096 41.056 3493
+-76.97 41.056 3494
+-76.844 41.056 3496
+-76.718 41.056 3593
+-76.592 41.056 3595
+-76.466 41.056 3597
+-76.34 41.056 3598
+-76.214 41.056 3599
+-76.088 41.056 3544
+-75.962 41.056 3545
+-75.836 41.056 3546
+-75.71 41.056 3546
+-75.584 41.056 3547
+-75.458 41.056 3548
+-75.332 41.056 3548
+-75.206 41.056 3549
+-75.08 41.056 3550
+-74.954 41.056 3550
+-74.828 41.056 3528
+-74.702 41.056 3517
+-74.576 41.056 3518
+-74.45 41.056 3519
+-74.324 41.056 3520
+-74.198 41.056 3520
+-74.072 41.056 3504
+-73.946 41.056 3505
+-73.82 41.056 3505
+-73.694 41.056 3506
+-73.568 41.056 3506
+-73.442 41.056 3506
+-73.316 41.056 3507
+-73.19 41.056 3507
+-73.064 41.056 3508
+-72.938 41.056 3453
+-72.812 41.056 3454
+-72.686 41.056 3454
+-72.56 41.056 3454
+-72.434 41.056 3455
+-72.308 41.056 3455
+-72.182 41.056 3455
+-72.056 41.056 3456
+-71.93 41.056 3456
+-71.804 41.056 3456
+-71.678 41.056 3457
+-71.552 41.056 3457
+-71.426 41.056 3457
+-71.3 41.056 3382
+-71.174 41.056 3382
+-71.048 41.056 3382
+-70.922 41.056 3382
+-70.796 41.056 3382
+-70.67 41.056 3382
+-70.544 41.056 3381
+-70.418 41.056 3381
+-70.292 41.056 3381
+-70.166 41.056 3381
+-70.04 41.056 3381
+-69.914 41.056 3381
+-69.788 41.056 3381
+-69.662 41.056 3380
+-69.536 41.056 3380
+-69.41 41.056 3380
+-69.284 41.056 3380
+-69.158 41.056 3380
+-69.032 41.056 3380
+-68.906 41.056 3379
+-68.78 41.056 3379
+-68.654 41.056 3379
+-68.528 41.056 3379
+-68.402 41.056 3379
+-68.276 41.056 3379
+-68.15 41.056 3069
+-68.024 41.056 3068
+-67.898 41.056 3067
+-67.772 41.056 3067
+-67.646 41.056 3066
+-67.52 41.056 3066
+-67.394 41.056 3065
+-67.268 41.056 3065
+-67.142 41.056 3064
+-67.016 41.056 3064
+-66.89 41.056 3063
+-66.764 41.056 3063
+-66.638 41.056 3062
+-66.512 41.056 3062
+-66.386 41.056 3061
+-66.26 41.056 3061
+-66.134 41.056 3061
+-66.008 41.056 3060
+-65.882 41.056 2933
+-65.756 41.056 2932
+-65.63 41.056 2901
+-65.504 41.056 2854
+-65.378 41.056 2854
+-65.252 41.056 2853
+-65.126 41.056 2870
+-128 41.004 2270
+-127.874 41.004 2151
+-127.748 41.004 2005
+-127.622 41.004 1842
+-127.496 41.004 1679
+-127.37 41.004 1544
+-127.244 41.004 1489
+-127.118 41.004 1551
+-126.992 41.004 1726
+-126.866 41.004 1950
+-126.74 41.004 2151
+-126.614 41.004 2318
+-126.488 41.004 2437
+-126.362 41.004 2514
+-126.236 41.004 2594
+-126.11 41.004 2614
+-125.984 41.004 2661
+-125.858 41.004 2730
+-125.732 41.004 2784
+-125.606 41.004 2806
+-125.48 41.004 2888
+-125.354 41.004 2921
+-125.228 41.004 2968
+-125.102 41.004 3021
+-124.976 41.004 3055
+-124.85 41.004 3081
+-124.724 41.004 3101
+-124.598 41.004 3117
+-124.472 41.004 3165
+-124.346 41.004 3167
+-124.22 41.004 3165
+-124.094 41.004 3158
+-123.968 41.004 3149
+-123.842 41.004 3142
+-123.716 41.004 3158
+-123.59 41.004 3144
+-123.464 41.004 3140
+-123.338 41.004 3156
+-123.212 41.004 3154
+-123.086 41.004 3143
+-122.96 41.004 3116
+-122.834 41.004 3072
+-122.708 41.004 3039
+-122.582 41.004 3057
+-122.456 41.004 3088
+-122.33 41.004 3125
+-122.204 41.004 3146
+-122.078 41.004 3167
+-121.952 41.004 3180
+-121.826 41.004 3208
+-121.7 41.004 3206
+-121.574 41.004 3158
+-121.448 41.004 3096
+-121.322 41.004 3066
+-121.196 41.004 3125
+-121.07 41.004 3229
+-120.944 41.004 3305
+-120.818 41.004 3355
+-120.692 41.004 3407
+-120.566 41.004 3441
+-120.44 41.004 3450
+-120.314 41.004 3447
+-120.188 41.004 3455
+-120.062 41.004 3498
+-119.936 41.004 3590
+-119.81 41.004 3653
+-119.684 41.004 3710
+-119.558 41.004 3752
+-119.432 41.004 3768
+-119.306 41.004 3782
+-119.18 41.004 3817
+-119.054 41.004 3831
+-118.928 41.004 3848
+-118.802 41.004 3843
+-118.676 41.004 3819
+-118.55 41.004 3811
+-118.424 41.004 3831
+-118.298 41.004 3830
+-118.172 41.004 3832
+-118.046 41.004 3826
+-117.92 41.004 3830
+-117.794 41.004 3790
+-117.668 41.004 3774
+-117.542 41.004 3739
+-117.416 41.004 3711
+-117.29 41.004 3703
+-117.164 41.004 3707
+-117.038 41.004 3705
+-116.912 41.004 3636
+-116.786 41.004 3576
+-116.66 41.004 3550
+-116.534 41.004 3558
+-116.408 41.004 3564
+-116.282 41.004 3534
+-116.156 41.004 3496
+-116.03 41.004 3447
+-115.904 41.004 3358
+-115.778 41.004 3283
+-115.652 41.004 3215
+-115.526 41.004 3148
+-115.4 41.004 3084
+-115.274 41.004 3016
+-115.148 41.004 2979
+-115.022 41.004 2919
+-114.896 41.004 2857
+-114.77 41.004 2726
+-114.644 41.004 2594
+-114.518 41.004 2518
+-114.392 41.004 2537
+-114.266 41.004 2562
+-114.14 41.004 2521
+-114.014 41.004 2459
+-113.888 41.004 2355
+-113.762 41.004 2209
+-113.636 41.004 2044
+-113.51 41.004 1902
+-113.384 41.004 1828
+-113.258 41.004 1844
+-113.132 41.004 1907
+-113.006 41.004 1949
+-112.88 41.004 1996
+-112.754 41.004 2025
+-112.628 41.004 2031
+-112.502 41.004 2042
+-112.376 41.004 2045
+-112.25 41.004 2034
+-112.124 41.004 2040
+-111.998 41.004 2045
+-111.872 41.004 2048
+-111.746 41.004 2060
+-111.62 41.004 2064
+-111.494 41.004 2021
+-111.368 41.004 2021
+-111.242 41.004 2025
+-111.116 41.004 2005
+-110.99 41.004 2009
+-110.864 41.004 2013
+-110.738 41.004 2018
+-110.612 41.004 2023
+-110.486 41.004 2011
+-110.36 41.004 2018
+-110.234 41.004 2025
+-110.108 41.004 2033
+-109.982 41.004 2038
+-109.856 41.004 2028
+-109.73 41.004 2036
+-109.604 41.004 2072
+-109.478 41.004 2081
+-109.352 41.004 2091
+-109.226 41.004 2100
+-109.1 41.004 2050
+-108.974 41.004 2057
+-108.848 41.004 2089
+-108.722 41.004 2078
+-108.596 41.004 2120
+-108.47 41.004 2120
+-108.344 41.004 2128
+-108.218 41.004 2137
+-108.092 41.004 2145
+-107.966 41.004 2141
+-107.84 41.004 2149
+-107.714 41.004 2211
+-107.588 41.004 2219
+-107.462 41.004 2189
+-107.336 41.004 2204
+-107.21 41.004 2212
+-107.084 41.004 2219
+-106.958 41.004 2147
+-106.832 41.004 2136
+-106.706 41.004 2141
+-106.58 41.004 2123
+-106.454 41.004 2128
+-106.328 41.004 2132
+-106.202 41.004 2011
+-106.076 41.004 1883
+-105.95 41.004 1880
+-105.824 41.004 1875
+-105.698 41.004 1869
+-105.572 41.004 1836
+-105.446 41.004 1821
+-105.32 41.004 1808
+-105.194 41.004 1781
+-105.068 41.004 1776
+-104.942 41.004 1759
+-104.816 41.004 1754
+-104.69 41.004 1731
+-104.564 41.004 1729
+-104.438 41.004 1796
+-104.312 41.004 1800
+-104.186 41.004 1958
+-104.06 41.004 1976
+-103.934 41.004 2030
+-103.808 41.004 2028
+-103.682 41.004 2123
+-103.556 41.004 2116
+-103.43 41.004 2166
+-103.304 41.004 2160
+-103.178 41.004 2152
+-103.052 41.004 2166
+-102.926 41.004 2172
+-102.8 41.004 2202
+-102.674 41.004 2155
+-102.548 41.004 2186
+-102.422 41.004 2175
+-102.296 41.004 2163
+-102.17 41.004 2150
+-102.044 41.004 2137
+-101.918 41.004 2123
+-101.792 41.004 2165
+-101.666 41.004 2149
+-101.54 41.004 2132
+-101.414 41.004 2114
+-101.288 41.004 2095
+-101.162 41.004 2109
+-101.036 41.004 2124
+-100.91 41.004 2102
+-100.784 41.004 2079
+-100.658 41.004 2054
+-100.532 41.004 2172
+-100.406 41.004 2143
+-100.28 41.004 2112
+-100.154 41.004 2080
+-100.028 41.004 2046
+-99.902 41.004 2010
+-99.776 41.004 1974
+-99.65 41.004 1946
+-99.524 41.004 1966
+-99.398 41.004 1970
+-99.272 41.004 1939
+-99.146 41.004 1940
+-99.02 41.004 1927
+-98.894 41.004 1927
+-98.768 41.004 1970
+-98.642 41.004 2004
+-98.516 41.004 2057
+-98.39 41.004 2127
+-98.264 41.004 2211
+-98.138 41.004 2303
+-98.012 41.004 2399
+-97.886 41.004 2514
+-97.76 41.004 2650
+-97.634 41.004 2735
+-97.508 41.004 2811
+-97.382 41.004 2878
+-97.256 41.004 2936
+-97.13 41.004 2986
+-97.004 41.004 3089
+-96.878 41.004 3120
+-96.752 41.004 3219
+-96.626 41.004 3258
+-96.5 41.004 3296
+-96.374 41.004 3280
+-96.248 41.004 3231
+-96.122 41.004 3228
+-95.996 41.004 3302
+-95.87 41.004 3424
+-95.744 41.004 3560
+-95.618 41.004 3736
+-95.492 41.004 3873
+-95.366 41.004 3946
+-95.24 41.004 3964
+-95.114 41.004 3960
+-94.988 41.004 4057
+-94.862 41.004 4273
+-94.736 41.004 4412
+-94.61 41.004 4526
+-94.484 41.004 4557
+-94.358 41.004 4507
+-94.232 41.004 4675
+-94.106 41.004 4846
+-93.98 41.004 4981
+-93.854 41.004 5109
+-93.728 41.004 5202
+-93.602 41.004 5301
+-93.476 41.004 5433
+-93.35 41.004 5438
+-93.224 41.004 5596
+-93.098 41.004 5683
+-92.972 41.004 5801
+-92.846 41.004 5917
+-92.72 41.004 6036
+-92.594 41.004 6101
+-92.468 41.004 6219
+-92.342 41.004 6324
+-92.216 41.004 6404
+-92.09 41.004 6470
+-91.964 41.004 6508
+-91.838 41.004 6589
+-91.712 41.004 6677
+-91.586 41.004 6706
+-91.46 41.004 6834
+-91.334 41.004 6880
+-91.208 41.004 6875
+-91.082 41.004 6915
+-90.956 41.004 6952
+-90.83 41.004 6996
+-90.704 41.004 7005
+-90.578 41.004 7040
+-90.452 41.004 7024
+-90.326 41.004 7024
+-90.2 41.004 7012
+-90.074 41.004 6984
+-89.948 41.004 6964
+-89.822 41.004 6925
+-89.696 41.004 6900
+-89.57 41.004 6853
+-89.444 41.004 6803
+-89.318 41.004 6741
+-89.192 41.004 6647
+-89.066 41.004 6588
+-88.94 41.004 6569
+-88.814 41.004 6450
+-88.688 41.004 6388
+-88.562 41.004 6253
+-88.436 41.004 6205
+-88.31 41.004 6051
+-88.184 41.004 6032
+-88.058 41.004 5881
+-87.932 41.004 5754
+-87.806 41.004 5810
+-87.68 41.004 5810
+-87.554 41.004 5804
+-87.428 41.004 5776
+-87.302 41.004 5727
+-87.176 41.004 5676
+-87.05 41.004 5603
+-86.924 41.004 5515
+-86.798 41.004 5419
+-86.672 41.004 5373
+-86.546 41.004 5270
+-86.42 41.004 5185
+-86.294 41.004 5139
+-86.168 41.004 5052
+-86.042 41.004 4982
+-85.916 41.004 4880
+-85.79 41.004 4746
+-85.664 41.004 4694
+-85.538 41.004 4606
+-85.412 41.004 4522
+-85.286 41.004 4531
+-85.16 41.004 4415
+-85.034 41.004 4290
+-84.908 41.004 4161
+-84.782 41.004 4001
+-84.656 41.004 3852
+-84.53 41.004 3704
+-84.404 41.004 3619
+-84.278 41.004 3555
+-84.152 41.004 3534
+-84.026 41.004 3433
+-83.9 41.004 3295
+-83.774 41.004 3349
+-83.648 41.004 3446
+-83.522 41.004 3487
+-83.396 41.004 3528
+-83.27 41.004 3553
+-83.144 41.004 3564
+-83.018 41.004 3578
+-82.892 41.004 3589
+-82.766 41.004 3582
+-82.64 41.004 3553
+-82.514 41.004 3549
+-82.388 41.004 3554
+-82.262 41.004 3558
+-82.136 41.004 3562
+-82.01 41.004 3566
+-81.884 41.004 3569
+-81.758 41.004 3571
+-81.632 41.004 3574
+-81.506 41.004 3577
+-81.38 41.004 3579
+-81.254 41.004 3554
+-81.128 41.004 3521
+-81.002 41.004 3522
+-80.876 41.004 3522
+-80.75 41.004 3523
+-80.624 41.004 3524
+-80.498 41.004 3494
+-80.372 41.004 3496
+-80.246 41.004 3487
+-80.12 41.004 3489
+-79.994 41.004 3491
+-79.868 41.004 3492
+-79.742 41.004 3494
+-79.616 41.004 3496
+-79.49 41.004 3497
+-79.364 41.004 3499
+-79.238 41.004 3500
+-79.112 41.004 3501
+-78.986 41.004 3502
+-78.86 41.004 3522
+-78.734 41.004 3525
+-78.608 41.004 3527
+-78.482 41.004 3529
+-78.356 41.004 3531
+-78.23 41.004 3533
+-78.104 41.004 3502
+-77.978 41.004 3504
+-77.852 41.004 3505
+-77.726 41.004 3506
+-77.6 41.004 3527
+-77.474 41.004 3529
+-77.348 41.004 3531
+-77.222 41.004 3494
+-77.096 41.004 3496
+-76.97 41.004 3497
+-76.844 41.004 3593
+-76.718 41.004 3594
+-76.592 41.004 3596
+-76.466 41.004 3598
+-76.34 41.004 3599
+-76.214 41.004 3544
+-76.088 41.004 3544
+-75.962 41.004 3545
+-75.836 41.004 3546
+-75.71 41.004 3547
+-75.584 41.004 3548
+-75.458 41.004 3548
+-75.332 41.004 3549
+-75.206 41.004 3550
+-75.08 41.004 3550
+-74.954 41.004 3528
+-74.828 41.004 3517
+-74.702 41.004 3518
+-74.576 41.004 3519
+-74.45 41.004 3519
+-74.324 41.004 3520
+-74.198 41.004 3521
+-74.072 41.004 3505
+-73.946 41.004 3505
+-73.82 41.004 3505
+-73.694 41.004 3506
+-73.568 41.004 3506
+-73.442 41.004 3507
+-73.316 41.004 3507
+-73.19 41.004 3508
+-73.064 41.004 3453
+-72.938 41.004 3453
+-72.812 41.004 3454
+-72.686 41.004 3454
+-72.56 41.004 3454
+-72.434 41.004 3455
+-72.308 41.004 3455
+-72.182 41.004 3455
+-72.056 41.004 3456
+-71.93 41.004 3456
+-71.804 41.004 3456
+-71.678 41.004 3457
+-71.552 41.004 3457
+-71.426 41.004 3382
+-71.3 41.004 3382
+-71.174 41.004 3382
+-71.048 41.004 3382
+-70.922 41.004 3382
+-70.796 41.004 3382
+-70.67 41.004 3381
+-70.544 41.004 3381
+-70.418 41.004 3381
+-70.292 41.004 3381
+-70.166 41.004 3381
+-70.04 41.004 3381
+-69.914 41.004 3380
+-69.788 41.004 3380
+-69.662 41.004 3380
+-69.536 41.004 3380
+-69.41 41.004 3380
+-69.284 41.004 3380
+-69.158 41.004 3380
+-69.032 41.004 3379
+-68.906 41.004 3379
+-68.78 41.004 3379
+-68.654 41.004 3379
+-68.528 41.004 3379
+-68.402 41.004 3379
+-68.276 41.004 3069
+-68.15 41.004 3068
+-68.024 41.004 3067
+-67.898 41.004 3067
+-67.772 41.004 3066
+-67.646 41.004 3066
+-67.52 41.004 3065
+-67.394 41.004 3065
+-67.268 41.004 3064
+-67.142 41.004 3064
+-67.016 41.004 3063
+-66.89 41.004 3063
+-66.764 41.004 3062
+-66.638 41.004 3062
+-66.512 41.004 3061
+-66.386 41.004 3061
+-66.26 41.004 3061
+-66.134 41.004 3060
+-66.008 41.004 2933
+-65.882 41.004 2932
+-65.756 41.004 2901
+-65.63 41.004 2854
+-65.504 41.004 2854
+-65.378 41.004 2853
+-65.252 41.004 2869
+-65.126 41.004 2869
+-128 40.952 2272
+-127.874 40.952 2150
+-127.748 40.952 2010
+-127.622 40.952 1858
+-127.496 40.952 1709
+-127.37 40.952 1588
+-127.244 40.952 1543
+-127.118 40.952 1601
+-126.992 40.952 1752
+-126.866 40.952 1946
+-126.74 40.952 2142
+-126.614 40.952 2305
+-126.488 40.952 2424
+-126.362 40.952 2537
+-126.236 40.952 2574
+-126.11 40.952 2629
+-125.984 40.952 2700
+-125.858 40.952 2718
+-125.732 40.952 2761
+-125.606 40.952 2804
+-125.48 40.952 2869
+-125.354 40.952 2892
+-125.228 40.952 2932
+-125.102 40.952 3003
+-124.976 40.952 3031
+-124.85 40.952 3054
+-124.724 40.952 3070
+-124.598 40.952 3095
+-124.472 40.952 3096
+-124.346 40.952 3125
+-124.22 40.952 3115
+-124.094 40.952 3097
+-123.968 40.952 3080
+-123.842 40.952 3068
+-123.716 40.952 3077
+-123.59 40.952 3071
+-123.464 40.952 3066
+-123.338 40.952 3073
+-123.212 40.952 3074
+-123.086 40.952 3061
+-122.96 40.952 3017
+-122.834 40.952 2955
+-122.708 40.952 2926
+-122.582 40.952 2948
+-122.456 40.952 3022
+-122.33 40.952 3078
+-122.204 40.952 3110
+-122.078 40.952 3129
+-121.952 40.952 3157
+-121.826 40.952 3193
+-121.7 40.952 3182
+-121.574 40.952 3177
+-121.448 40.952 3155
+-121.322 40.952 3149
+-121.196 40.952 3179
+-121.07 40.952 3220
+-120.944 40.952 3249
+-120.818 40.952 3274
+-120.692 40.952 3327
+-120.566 40.952 3392
+-120.44 40.952 3422
+-120.314 40.952 3402
+-120.188 40.952 3446
+-120.062 40.952 3483
+-119.936 40.952 3548
+-119.81 40.952 3599
+-119.684 40.952 3637
+-119.558 40.952 3682
+-119.432 40.952 3725
+-119.306 40.952 3741
+-119.18 40.952 3765
+-119.054 40.952 3790
+-118.928 40.952 3813
+-118.802 40.952 3816
+-118.676 40.952 3814
+-118.55 40.952 3810
+-118.424 40.952 3806
+-118.298 40.952 3793
+-118.172 40.952 3780
+-118.046 40.952 3738
+-117.92 40.952 3720
+-117.794 40.952 3712
+-117.668 40.952 3700
+-117.542 40.952 3696
+-117.416 40.952 3686
+-117.29 40.952 3679
+-117.164 40.952 3679
+-117.038 40.952 3643
+-116.912 40.952 3608
+-116.786 40.952 3533
+-116.66 40.952 3478
+-116.534 40.952 3515
+-116.408 40.952 3509
+-116.282 40.952 3486
+-116.156 40.952 3419
+-116.03 40.952 3358
+-115.904 40.952 3260
+-115.778 40.952 3177
+-115.652 40.952 3100
+-115.526 40.952 3036
+-115.4 40.952 2952
+-115.274 40.952 2917
+-115.148 40.952 2895
+-115.022 40.952 2859
+-114.896 40.952 2781
+-114.77 40.952 2679
+-114.644 40.952 2534
+-114.518 40.952 2464
+-114.392 40.952 2501
+-114.266 40.952 2540
+-114.14 40.952 2496
+-114.014 40.952 2427
+-113.888 40.952 2306
+-113.762 40.952 2134
+-113.636 40.952 1918
+-113.51 40.952 1741
+-113.384 40.952 1668
+-113.258 40.952 1714
+-113.132 40.952 1796
+-113.006 40.952 1884
+-112.88 40.952 1948
+-112.754 40.952 1988
+-112.628 40.952 2010
+-112.502 40.952 2015
+-112.376 40.952 2017
+-112.25 40.952 2020
+-112.124 40.952 2023
+-111.998 40.952 2025
+-111.872 40.952 2026
+-111.746 40.952 2028
+-111.62 40.952 2036
+-111.494 40.952 2039
+-111.368 40.952 1996
+-111.242 40.952 1997
+-111.116 40.952 2001
+-110.99 40.952 1981
+-110.864 40.952 1986
+-110.738 40.952 1992
+-110.612 40.952 1979
+-110.486 40.952 1987
+-110.36 40.952 1995
+-110.234 40.952 2003
+-110.108 40.952 2011
+-109.982 40.952 2020
+-109.856 40.952 2025
+-109.73 40.952 2019
+-109.604 40.952 2028
+-109.478 40.952 2064
+-109.352 40.952 2074
+-109.226 40.952 2028
+-109.1 40.952 2036
+-108.974 40.952 2044
+-108.848 40.952 2073
+-108.722 40.952 2082
+-108.596 40.952 2108
+-108.47 40.952 2108
+-108.344 40.952 2114
+-108.218 40.952 2123
+-108.092 40.952 2132
+-107.966 40.952 2140
+-107.84 40.952 2131
+-107.714 40.952 2200
+-107.588 40.952 2171
+-107.462 40.952 2187
+-107.336 40.952 2195
+-107.21 40.952 2203
+-107.084 40.952 2131
+-106.958 40.952 2122
+-106.832 40.952 2128
+-106.706 40.952 2110
+-106.58 40.952 2116
+-106.454 40.952 2121
+-106.328 40.952 2126
+-106.202 40.952 2008
+-106.076 40.952 1881
+-105.95 40.952 1878
+-105.824 40.952 1873
+-105.698 40.952 1841
+-105.572 40.952 1828
+-105.446 40.952 1816
+-105.32 40.952 1791
+-105.194 40.952 1783
+-105.068 40.952 1779
+-104.942 40.952 1761
+-104.816 40.952 1759
+-104.69 40.952 1751
+-104.564 40.952 1781
+-104.438 40.952 1776
+-104.312 40.952 1798
+-104.186 40.952 1963
+-104.06 40.952 2009
+-103.934 40.952 2035
+-103.808 40.952 2033
+-103.682 40.952 2128
+-103.556 40.952 2121
+-103.43 40.952 2172
+-103.304 40.952 2165
+-103.178 40.952 2158
+-103.052 40.952 2151
+-102.926 40.952 2143
+-102.8 40.952 2209
+-102.674 40.952 2199
+-102.548 40.952 2151
+-102.422 40.952 2182
+-102.296 40.952 2170
+-102.17 40.952 2158
+-102.044 40.952 2144
+-101.918 40.952 2130
+-101.792 40.952 2116
+-101.666 40.952 2157
+-101.54 40.952 2140
+-101.414 40.952 2121
+-101.288 40.952 2102
+-101.162 40.952 2081
+-101.036 40.952 2093
+-100.91 40.952 2106
+-100.784 40.952 2082
+-100.658 40.952 2200
+-100.532 40.952 2171
+-100.406 40.952 2139
+-100.28 40.952 2106
+-100.154 40.952 2069
+-100.028 40.952 2031
+-99.902 40.952 1989
+-99.776 40.952 1945
+-99.65 40.952 1932
+-99.524 40.952 1891
+-99.398 40.952 1899
+-99.272 40.952 1861
+-99.146 40.952 1821
+-99.02 40.952 1816
+-98.894 40.952 1804
+-98.768 40.952 1812
+-98.642 40.952 1869
+-98.516 40.952 1927
+-98.39 40.952 2010
+-98.264 40.952 2110
+-98.138 40.952 2221
+-98.012 40.952 2335
+-97.886 40.952 2447
+-97.76 40.952 2573
+-97.634 40.952 2716
+-97.508 40.952 2802
+-97.382 40.952 2876
+-97.256 40.952 2940
+-97.13 40.952 2993
+-97.004 40.952 3114
+-96.878 40.952 3229
+-96.752 40.952 3242
+-96.626 40.952 3238
+-96.5 40.952 3264
+-96.374 40.952 3209
+-96.248 40.952 3110
+-96.122 40.952 3054
+-95.996 40.952 3162
+-95.87 40.952 3388
+-95.744 40.952 3563
+-95.618 40.952 3723
+-95.492 40.952 3863
+-95.366 40.952 3960
+-95.24 40.952 4019
+-95.114 40.952 4067
+-94.988 40.952 4180
+-94.862 40.952 4324
+-94.736 40.952 4429
+-94.61 40.952 4527
+-94.484 40.952 4583
+-94.358 40.952 4604
+-94.232 40.952 4712
+-94.106 40.952 4904
+-93.98 40.952 5063
+-93.854 40.952 5144
+-93.728 40.952 5220
+-93.602 40.952 5309
+-93.476 40.952 5430
+-93.35 40.952 5523
+-93.224 40.952 5598
+-93.098 40.952 5727
+-92.972 40.952 5859
+-92.846 40.952 5944
+-92.72 40.952 6064
+-92.594 40.952 6142
+-92.468 40.952 6258
+-92.342 40.952 6348
+-92.216 40.952 6410
+-92.09 40.952 6470
+-91.964 40.952 6558
+-91.838 40.952 6645
+-91.712 40.952 6735
+-91.586 40.952 6780
+-91.46 40.952 6840
+-91.334 40.952 6898
+-91.208 40.952 6938
+-91.082 40.952 6968
+-90.956 40.952 7029
+-90.83 40.952 7046
+-90.704 40.952 7032
+-90.578 40.952 7055
+-90.452 40.952 7103
+-90.326 40.952 7102
+-90.2 40.952 7046
+-90.074 40.952 7063
+-89.948 40.952 6999
+-89.822 40.952 6995
+-89.696 40.952 6931
+-89.57 40.952 6870
+-89.444 40.952 6844
+-89.318 40.952 6819
+-89.192 40.952 6693
+-89.066 40.952 6659
+-88.94 40.952 6579
+-88.814 40.952 6485
+-88.688 40.952 6429
+-88.562 40.952 6349
+-88.436 40.952 6218
+-88.31 40.952 6102
+-88.184 40.952 6074
+-88.058 40.952 5932
+-87.932 40.952 5874
+-87.806 40.952 5868
+-87.68 40.952 5942
+-87.554 40.952 5851
+-87.428 40.952 5802
+-87.302 40.952 5764
+-87.176 40.952 5684
+-87.05 40.952 5679
+-86.924 40.952 5591
+-86.798 40.952 5475
+-86.672 40.952 5404
+-86.546 40.952 5352
+-86.42 40.952 5252
+-86.294 40.952 5167
+-86.168 40.952 5100
+-86.042 40.952 5060
+-85.916 40.952 4950
+-85.79 40.952 4792
+-85.664 40.952 4689
+-85.538 40.952 4629
+-85.412 40.952 4587
+-85.286 40.952 4540
+-85.16 40.952 4410
+-85.034 40.952 4292
+-84.908 40.952 4183
+-84.782 40.952 4040
+-84.656 40.952 3894
+-84.53 40.952 3731
+-84.404 40.952 3653
+-84.278 40.952 3642
+-84.152 40.952 3566
+-84.026 40.952 3346
+-83.9 40.952 3134
+-83.774 40.952 3281
+-83.648 40.952 3434
+-83.522 40.952 3518
+-83.396 40.952 3549
+-83.27 40.952 3554
+-83.144 40.952 3567
+-83.018 40.952 3581
+-82.892 40.952 3577
+-82.766 40.952 3551
+-82.64 40.952 3548
+-82.514 40.952 3553
+-82.388 40.952 3558
+-82.262 40.952 3562
+-82.136 40.952 3565
+-82.01 40.952 3568
+-81.884 40.952 3571
+-81.758 40.952 3574
+-81.632 40.952 3577
+-81.506 40.952 3579
+-81.38 40.952 3554
+-81.254 40.952 3521
+-81.128 40.952 3522
+-81.002 40.952 3523
+-80.876 40.952 3524
+-80.75 40.952 3524
+-80.624 40.952 3496
+-80.498 40.952 3498
+-80.372 40.952 3489
+-80.246 40.952 3491
+-80.12 40.952 3493
+-79.994 40.952 3495
+-79.868 40.952 3496
+-79.742 40.952 3498
+-79.616 40.952 3499
+-79.49 40.952 3501
+-79.364 40.952 3502
+-79.238 40.952 3503
+-79.112 40.952 3505
+-78.986 40.952 3524
+-78.86 40.952 3527
+-78.734 40.952 3529
+-78.608 40.952 3531
+-78.482 40.952 3533
+-78.356 40.952 3535
+-78.23 40.952 3504
+-78.104 40.952 3506
+-77.978 40.952 3507
+-77.852 40.952 3508
+-77.726 40.952 3528
+-77.6 40.952 3530
+-77.474 40.952 3532
+-77.348 40.952 3496
+-77.222 40.952 3497
+-77.096 40.952 3499
+-76.97 40.952 3592
+-76.844 40.952 3594
+-76.718 40.952 3595
+-76.592 40.952 3597
+-76.466 40.952 3598
+-76.34 40.952 3543
+-76.214 40.952 3544
+-76.088 40.952 3545
+-75.962 40.952 3546
+-75.836 40.952 3547
+-75.71 40.952 3547
+-75.584 40.952 3548
+-75.458 40.952 3549
+-75.332 40.952 3549
+-75.206 40.952 3550
+-75.08 40.952 3527
+-74.954 40.952 3517
+-74.828 40.952 3518
+-74.702 40.952 3519
+-74.576 40.952 3519
+-74.45 40.952 3520
+-74.324 40.952 3504
+-74.198 40.952 3504
+-74.072 40.952 3505
+-73.946 40.952 3505
+-73.82 40.952 3506
+-73.694 40.952 3506
+-73.568 40.952 3507
+-73.442 40.952 3507
+-73.316 40.952 3508
+-73.19 40.952 3453
+-73.064 40.952 3453
+-72.938 40.952 3454
+-72.812 40.952 3454
+-72.686 40.952 3454
+-72.56 40.952 3455
+-72.434 40.952 3455
+-72.308 40.952 3455
+-72.182 40.952 3456
+-72.056 40.952 3456
+-71.93 40.952 3456
+-71.804 40.952 3457
+-71.678 40.952 3457
+-71.552 40.952 3382
+-71.426 40.952 3382
+-71.3 40.952 3382
+-71.174 40.952 3382
+-71.048 40.952 3382
+-70.922 40.952 3382
+-70.796 40.952 3381
+-70.67 40.952 3381
+-70.544 40.952 3381
+-70.418 40.952 3381
+-70.292 40.952 3381
+-70.166 40.952 3381
+-70.04 40.952 3380
+-69.914 40.952 3380
+-69.788 40.952 3380
+-69.662 40.952 3380
+-69.536 40.952 3380
+-69.41 40.952 3380
+-69.284 40.952 3380
+-69.158 40.952 3379
+-69.032 40.952 3379
+-68.906 40.952 3379
+-68.78 40.952 3379
+-68.654 40.952 3379
+-68.528 40.952 3379
+-68.402 40.952 3069
+-68.276 40.952 3068
+-68.15 40.952 3068
+-68.024 40.952 3067
+-67.898 40.952 3066
+-67.772 40.952 3066
+-67.646 40.952 3065
+-67.52 40.952 3065
+-67.394 40.952 3064
+-67.268 40.952 3064
+-67.142 40.952 3063
+-67.016 40.952 3063
+-66.89 40.952 3062
+-66.764 40.952 3062
+-66.638 40.952 3061
+-66.512 40.952 3061
+-66.386 40.952 3060
+-66.26 40.952 3060
+-66.134 40.952 2933
+-66.008 40.952 2932
+-65.882 40.952 2901
+-65.756 40.952 2854
+-65.63 40.952 2854
+-65.504 40.952 2853
+-65.378 40.952 2869
+-65.252 40.952 2869
+-65.126 40.952 2881
+-128 40.9 2289
+-127.874 40.9 2176
+-127.748 40.9 2052
+-127.622 40.9 1922
+-127.496 40.9 1790
+-127.37 40.9 1702
+-127.244 40.9 1674
+-127.118 40.9 1723
+-126.992 40.9 1840
+-126.866 40.9 2003
+-126.74 40.9 2169
+-126.614 40.9 2311
+-126.488 40.9 2451
+-126.362 40.9 2511
+-126.236 40.9 2582
+-126.11 40.9 2633
+-125.984 40.9 2680
+-125.858 40.9 2722
+-125.732 40.9 2761
+-125.606 40.9 2786
+-125.48 40.9 2843
+-125.354 40.9 2882
+-125.228 40.9 2916
+-125.102 40.9 2939
+-124.976 40.9 2963
+-124.85 40.9 2980
+-124.724 40.9 2993
+-124.598 40.9 3057
+-124.472 40.9 3053
+-124.346 40.9 3037
+-124.22 40.9 3022
+-124.094 40.9 2983
+-123.968 40.9 2966
+-123.842 40.9 2965
+-123.716 40.9 2952
+-123.59 40.9 2975
+-123.464 40.9 2989
+-123.338 40.9 3005
+-123.212 40.9 3015
+-123.086 40.9 3003
+-122.96 40.9 2964
+-122.834 40.9 2911
+-122.708 40.9 2881
+-122.582 40.9 2910
+-122.456 40.9 2971
+-122.33 40.9 3036
+-122.204 40.9 3076
+-122.078 40.9 3099
+-121.952 40.9 3106
+-121.826 40.9 3148
+-121.7 40.9 3169
+-121.574 40.9 3198
+-121.448 40.9 3192
+-121.322 40.9 3188
+-121.196 40.9 3195
+-121.07 40.9 3203
+-120.944 40.9 3168
+-120.818 40.9 3147
+-120.692 40.9 3226
+-120.566 40.9 3340
+-120.44 40.9 3402
+-120.314 40.9 3420
+-120.188 40.9 3442
+-120.062 40.9 3471
+-119.936 40.9 3507
+-119.81 40.9 3535
+-119.684 40.9 3564
+-119.558 40.9 3606
+-119.432 40.9 3648
+-119.306 40.9 3682
+-119.18 40.9 3699
+-119.054 40.9 3724
+-118.928 40.9 3741
+-118.802 40.9 3745
+-118.676 40.9 3754
+-118.55 40.9 3760
+-118.424 40.9 3742
+-118.298 40.9 3750
+-118.172 40.9 3712
+-118.046 40.9 3690
+-117.92 40.9 3670
+-117.794 40.9 3634
+-117.668 40.9 3648
+-117.542 40.9 3657
+-117.416 40.9 3667
+-117.29 40.9 3664
+-117.164 40.9 3652
+-117.038 40.9 3613
+-116.912 40.9 3566
+-116.786 40.9 3527
+-116.66 40.9 3504
+-116.534 40.9 3496
+-116.408 40.9 3483
+-116.282 40.9 3420
+-116.156 40.9 3341
+-116.03 40.9 3269
+-115.904 40.9 3160
+-115.778 40.9 3093
+-115.652 40.9 3026
+-115.526 40.9 2922
+-115.4 40.9 2851
+-115.274 40.9 2807
+-115.148 40.9 2816
+-115.022 40.9 2791
+-114.896 40.9 2751
+-114.77 40.9 2663
+-114.644 40.9 2560
+-114.518 40.9 2511
+-114.392 40.9 2529
+-114.266 40.9 2527
+-114.14 40.9 2471
+-114.014 40.9 2394
+-113.888 40.9 2268
+-113.762 40.9 2070
+-113.636 40.9 1858
+-113.51 40.9 1672
+-113.384 40.9 1600
+-113.258 40.9 1652
+-113.132 40.9 1755
+-113.006 40.9 1849
+-112.88 40.9 1916
+-112.754 40.9 1956
+-112.628 40.9 1987
+-112.502 40.9 1985
+-112.376 40.9 1988
+-112.25 40.9 1987
+-112.124 40.9 1985
+-111.998 40.9 1998
+-111.872 40.9 1997
+-111.746 40.9 1998
+-111.62 40.9 1999
+-111.494 40.9 1991
+-111.368 40.9 1995
+-111.242 40.9 1967
+-111.116 40.9 1970
+-110.99 40.9 1976
+-110.864 40.9 1940
+-110.738 40.9 1946
+-110.612 40.9 1952
+-110.486 40.9 1961
+-110.36 40.9 1970
+-110.234 40.9 1980
+-110.108 40.9 1990
+-109.982 40.9 1999
+-109.856 40.9 2009
+-109.73 40.9 2013
+-109.604 40.9 2011
+-109.478 40.9 2040
+-109.352 40.9 2004
+-109.226 40.9 2013
+-109.1 40.9 2022
+-108.974 40.9 2049
+-108.848 40.9 2059
+-108.722 40.9 2068
+-108.596 40.9 2063
+-108.47 40.9 2104
+-108.344 40.9 2111
+-108.218 40.9 2109
+-108.092 40.9 2113
+-107.966 40.9 2122
+-107.84 40.9 2083
+-107.714 40.9 2171
+-107.588 40.9 2161
+-107.462 40.9 2178
+-107.336 40.9 2187
+-107.21 40.9 2110
+-107.084 40.9 2108
+-106.958 40.9 2115
+-106.832 40.9 2092
+-106.706 40.9 2098
+-106.58 40.9 2103
+-106.454 40.9 2109
+-106.328 40.9 2114
+-106.202 40.9 2005
+-106.076 40.9 1879
+-105.95 40.9 1876
+-105.824 40.9 1839
+-105.698 40.9 1834
+-105.572 40.9 1807
+-105.446 40.9 1801
+-105.32 40.9 1794
+-105.194 40.9 1786
+-105.068 40.9 1780
+-104.942 40.9 1766
+-104.816 40.9 1762
+-104.69 40.9 1757
+-104.564 40.9 1787
+-104.438 40.9 1782
+-104.312 40.9 1803
+-104.186 40.9 1914
+-104.06 40.9 2014
+-103.934 40.9 2011
+-103.808 40.9 2038
+-103.682 40.9 2134
+-103.556 40.9 2127
+-103.43 40.9 2177
+-103.304 40.9 2171
+-103.178 40.9 2164
+-103.052 40.9 2157
+-102.926 40.9 2189
+-102.8 40.9 2195
+-102.674 40.9 2206
+-102.548 40.9 2196
+-102.422 40.9 2190
+-102.296 40.9 2178
+-102.17 40.9 2165
+-102.044 40.9 2152
+-101.918 40.9 2138
+-101.792 40.9 2123
+-101.666 40.9 2108
+-101.54 40.9 2172
+-101.414 40.9 2129
+-101.288 40.9 2110
+-101.162 40.9 2089
+-101.036 40.9 2066
+-100.91 40.9 2123
+-100.784 40.9 2211
+-100.658 40.9 2226
+-100.532 40.9 2194
+-100.406 40.9 2159
+-100.28 40.9 2121
+-100.154 40.9 2079
+-100.028 40.9 2051
+-99.902 40.9 2001
+-99.776 40.9 1947
+-99.65 40.9 1889
+-99.524 40.9 1828
+-99.398 40.9 1772
+-99.272 40.9 1762
+-99.146 40.9 1709
+-99.02 40.9 1660
+-98.894 40.9 1661
+-98.768 40.9 1656
+-98.642 40.9 1684
+-98.516 40.9 1759
+-98.39 40.9 1856
+-98.264 40.9 1979
+-98.138 40.9 2115
+-98.012 40.9 2254
+-97.886 40.9 2388
+-97.76 40.9 2511
+-97.634 40.9 2665
+-97.508 40.9 2788
+-97.382 40.9 2871
+-97.256 40.9 2940
+-97.13 40.9 3078
+-97.004 40.9 3217
+-96.878 40.9 3237
+-96.752 40.9 3242
+-96.626 40.9 3243
+-96.5 40.9 3259
+-96.374 40.9 3166
+-96.248 40.9 3040
+-96.122 40.9 2941
+-95.996 40.9 3100
+-95.87 40.9 3328
+-95.744 40.9 3500
+-95.618 40.9 3680
+-95.492 40.9 3846
+-95.366 40.9 3974
+-95.24 40.9 4079
+-95.114 40.9 4148
+-94.988 40.9 4275
+-94.862 40.9 4357
+-94.736 40.9 4395
+-94.61 40.9 4485
+-94.484 40.9 4585
+-94.358 40.9 4580
+-94.232 40.9 4721
+-94.106 40.9 4975
+-93.98 40.9 5099
+-93.854 40.9 5053
+-93.728 40.9 5256
+-93.602 40.9 5268
+-93.476 40.9 5415
+-93.35 40.9 5514
+-93.224 40.9 5618
+-93.098 40.9 5767
+-92.972 40.9 5885
+-92.846 40.9 5993
+-92.72 40.9 6112
+-92.594 40.9 6167
+-92.468 40.9 6227
+-92.342 40.9 6320
+-92.216 40.9 6441
+-92.09 40.9 6534
+-91.964 40.9 6626
+-91.838 40.9 6679
+-91.712 40.9 6739
+-91.586 40.9 6823
+-91.46 40.9 6890
+-91.334 40.9 6933
+-91.208 40.9 7010
+-91.082 40.9 7047
+-90.956 40.9 7070
+-90.83 40.9 7089
+-90.704 40.9 7110
+-90.578 40.9 7125
+-90.452 40.9 7149
+-90.326 40.9 7156
+-90.2 40.9 7108
+-90.074 40.9 7101
+-89.948 40.9 7072
+-89.822 40.9 7061
+-89.696 40.9 6976
+-89.57 40.9 6925
+-89.444 40.9 6920
+-89.318 40.9 6838
+-89.192 40.9 6740
+-89.066 40.9 6687
+-88.94 40.9 6596
+-88.814 40.9 6546
+-88.688 40.9 6477
+-88.562 40.9 6388
+-88.436 40.9 6301
+-88.31 40.9 6225
+-88.184 40.9 6142
+-88.058 40.9 6030
+-87.932 40.9 5946
+-87.806 40.9 5917
+-87.68 40.9 5916
+-87.554 40.9 5933
+-87.428 40.9 5871
+-87.302 40.9 5827
+-87.176 40.9 5763
+-87.05 40.9 5736
+-86.924 40.9 5677
+-86.798 40.9 5553
+-86.672 40.9 5442
+-86.546 40.9 5351
+-86.42 40.9 5333
+-86.294 40.9 5240
+-86.168 40.9 5147
+-86.042 40.9 5057
+-85.916 40.9 4949
+-85.79 40.9 4841
+-85.664 40.9 4738
+-85.538 40.9 4663
+-85.412 40.9 4604
+-85.286 40.9 4537
+-85.16 40.9 4385
+-85.034 40.9 4279
+-84.908 40.9 4186
+-84.782 40.9 4082
+-84.656 40.9 3957
+-84.53 40.9 3811
+-84.404 40.9 3720
+-84.278 40.9 3679
+-84.152 40.9 3585
+-84.026 40.9 3451
+-83.9 40.9 3320
+-83.774 40.9 3376
+-83.648 40.9 3469
+-83.522 40.9 3534
+-83.396 40.9 3555
+-83.27 40.9 3577
+-83.144 40.9 3593
+-83.018 40.9 3601
+-82.892 40.9 3547
+-82.766 40.9 3545
+-82.64 40.9 3551
+-82.514 40.9 3556
+-82.388 40.9 3561
+-82.262 40.9 3565
+-82.136 40.9 3568
+-82.01 40.9 3571
+-81.884 40.9 3574
+-81.758 40.9 3577
+-81.632 40.9 3579
+-81.506 40.9 3554
+-81.38 40.9 3521
+-81.254 40.9 3522
+-81.128 40.9 3523
+-81.002 40.9 3524
+-80.876 40.9 3524
+-80.75 40.9 3498
+-80.624 40.9 3500
+-80.498 40.9 3492
+-80.372 40.9 3493
+-80.246 40.9 3495
+-80.12 40.9 3497
+-79.994 40.9 3498
+-79.868 40.9 3500
+-79.742 40.9 3501
+-79.616 40.9 3503
+-79.49 40.9 3504
+-79.364 40.9 3505
+-79.238 40.9 3507
+-79.112 40.9 3526
+-78.986 40.9 3529
+-78.86 40.9 3531
+-78.734 40.9 3533
+-78.608 40.9 3535
+-78.482 40.9 3537
+-78.356 40.9 3506
+-78.23 40.9 3508
+-78.104 40.9 3509
+-77.978 40.9 3510
+-77.852 40.9 3530
+-77.726 40.9 3532
+-77.6 40.9 3534
+-77.474 40.9 3498
+-77.348 40.9 3499
+-77.222 40.9 3500
+-77.096 40.9 3592
+-76.97 40.9 3593
+-76.844 40.9 3595
+-76.718 40.9 3597
+-76.592 40.9 3598
+-76.466 40.9 3543
+-76.34 40.9 3544
+-76.214 40.9 3545
+-76.088 40.9 3546
+-75.962 40.9 3546
+-75.836 40.9 3547
+-75.71 40.9 3548
+-75.584 40.9 3549
+-75.458 40.9 3549
+-75.332 40.9 3550
+-75.206 40.9 3527
+-75.08 40.9 3517
+-74.954 40.9 3518
+-74.828 40.9 3518
+-74.702 40.9 3519
+-74.576 40.9 3520
+-74.45 40.9 3520
+-74.324 40.9 3504
+-74.198 40.9 3505
+-74.072 40.9 3505
+-73.946 40.9 3506
+-73.82 40.9 3506
+-73.694 40.9 3507
+-73.568 40.9 3507
+-73.442 40.9 3508
+-73.316 40.9 3453
+-73.19 40.9 3453
+-73.064 40.9 3453
+-72.938 40.9 3454
+-72.812 40.9 3454
+-72.686 40.9 3454
+-72.56 40.9 3455
+-72.434 40.9 3455
+-72.308 40.9 3455
+-72.182 40.9 3456
+-72.056 40.9 3456
+-71.93 40.9 3456
+-71.804 40.9 3457
+-71.678 40.9 3383
+-71.552 40.9 3382
+-71.426 40.9 3382
+-71.3 40.9 3382
+-71.174 40.9 3382
+-71.048 40.9 3382
+-70.922 40.9 3381
+-70.796 40.9 3381
+-70.67 40.9 3381
+-70.544 40.9 3381
+-70.418 40.9 3381
+-70.292 40.9 3381
+-70.166 40.9 3380
+-70.04 40.9 3380
+-69.914 40.9 3380
+-69.788 40.9 3380
+-69.662 40.9 3380
+-69.536 40.9 3380
+-69.41 40.9 3380
+-69.284 40.9 3379
+-69.158 40.9 3379
+-69.032 40.9 3379
+-68.906 40.9 3379
+-68.78 40.9 3379
+-68.654 40.9 3379
+-68.528 40.9 3069
+-68.402 40.9 3068
+-68.276 40.9 3068
+-68.15 40.9 3067
+-68.024 40.9 3066
+-67.898 40.9 3066
+-67.772 40.9 3065
+-67.646 40.9 3065
+-67.52 40.9 3064
+-67.394 40.9 3064
+-67.268 40.9 3063
+-67.142 40.9 3063
+-67.016 40.9 3062
+-66.89 40.9 3062
+-66.764 40.9 3061
+-66.638 40.9 3061
+-66.512 40.9 3060
+-66.386 40.9 3060
+-66.26 40.9 2933
+-66.134 40.9 2932
+-66.008 40.9 2901
+-65.882 40.9 2854
+-65.756 40.9 2854
+-65.63 40.9 2853
+-65.504 40.9 2869
+-65.378 40.9 2869
+-65.252 40.9 2880
+-65.126 40.9 2880
+-128 40.848 2322
+-127.874 40.848 2224
+-127.748 40.848 2120
+-127.622 40.848 1998
+-127.496 40.848 1908
+-127.37 40.848 1847
+-127.244 40.848 1829
+-127.118 40.848 1864
+-126.992 40.848 1960
+-126.866 40.848 2087
+-126.74 40.848 2217
+-126.614 40.848 2335
+-126.488 40.848 2436
+-126.362 40.848 2522
+-126.236 40.848 2585
+-126.11 40.848 2638
+-125.984 40.848 2683
+-125.858 40.848 2721
+-125.732 40.848 2745
+-125.606 40.848 2800
+-125.48 40.848 2837
+-125.354 40.848 2870
+-125.228 40.848 2893
+-125.102 40.848 2917
+-124.976 40.848 2936
+-124.85 40.848 2949
+-124.724 40.848 2957
+-124.598 40.848 2960
+-124.472 40.848 3001
+-124.346 40.848 2986
+-124.22 40.848 2961
+-124.094 40.848 2915
+-123.968 40.848 2891
+-123.842 40.848 2881
+-123.716 40.848 2857
+-123.59 40.848 2865
+-123.464 40.848 2866
+-123.338 40.848 2899
+-123.212 40.848 2926
+-123.086 40.848 2935
+-122.96 40.848 2945
+-122.834 40.848 2919
+-122.708 40.848 2902
+-122.582 40.848 2921
+-122.456 40.848 2958
+-122.33 40.848 2990
+-122.204 40.848 3027
+-122.078 40.848 3084
+-121.952 40.848 3113
+-121.826 40.848 3115
+-121.7 40.848 3138
+-121.574 40.848 3172
+-121.448 40.848 3197
+-121.322 40.848 3197
+-121.196 40.848 3203
+-121.07 40.848 3180
+-120.944 40.848 3123
+-120.818 40.848 3068
+-120.692 40.848 3153
+-120.566 40.848 3287
+-120.44 40.848 3366
+-120.314 40.848 3414
+-120.188 40.848 3434
+-120.062 40.848 3446
+-119.936 40.848 3466
+-119.81 40.848 3474
+-119.684 40.848 3492
+-119.558 40.848 3547
+-119.432 40.848 3580
+-119.306 40.848 3604
+-119.18 40.848 3621
+-119.054 40.848 3655
+-118.928 40.848 3660
+-118.802 40.848 3666
+-118.676 40.848 3672
+-118.55 40.848 3675
+-118.424 40.848 3675
+-118.298 40.848 3650
+-118.172 40.848 3658
+-118.046 40.848 3644
+-117.92 40.848 3611
+-117.794 40.848 3597
+-117.668 40.848 3590
+-117.542 40.848 3602
+-117.416 40.848 3618
+-117.29 40.848 3624
+-117.164 40.848 3600
+-117.038 40.848 3564
+-116.912 40.848 3528
+-116.786 40.848 3507
+-116.66 40.848 3495
+-116.534 40.848 3478
+-116.408 40.848 3409
+-116.282 40.848 3323
+-116.156 40.848 3261
+-116.03 40.848 3182
+-115.904 40.848 3073
+-115.778 40.848 2998
+-115.652 40.848 2932
+-115.526 40.848 2882
+-115.4 40.848 2806
+-115.274 40.848 2762
+-115.148 40.848 2772
+-115.022 40.848 2746
+-114.896 40.848 2706
+-114.77 40.848 2656
+-114.644 40.848 2602
+-114.518 40.848 2561
+-114.392 40.848 2558
+-114.266 40.848 2505
+-114.14 40.848 2451
+-114.014 40.848 2374
+-113.888 40.848 2254
+-113.762 40.848 2087
+-113.636 40.848 1896
+-113.51 40.848 1731
+-113.384 40.848 1657
+-113.258 40.848 1694
+-113.132 40.848 1778
+-113.006 40.848 1857
+-112.88 40.848 1913
+-112.754 40.848 1943
+-112.628 40.848 1960
+-112.502 40.848 1966
+-112.376 40.848 1965
+-112.25 40.848 1961
+-112.124 40.848 1956
+-111.998 40.848 1951
+-111.872 40.848 1962
+-111.746 40.848 1961
+-111.62 40.848 1962
+-111.494 40.848 1964
+-111.368 40.848 1958
+-111.242 40.848 1963
+-111.116 40.848 1924
+-110.99 40.848 1943
+-110.864 40.848 1950
+-110.738 40.848 1917
+-110.612 40.848 1922
+-110.486 40.848 1932
+-110.36 40.848 1945
+-110.234 40.848 1956
+-110.108 40.848 1967
+-109.982 40.848 1978
+-109.856 40.848 1988
+-109.73 40.848 1999
+-109.604 40.848 1956
+-109.478 40.848 1958
+-109.352 40.848 1988
+-109.226 40.848 1991
+-109.1 40.848 2024
+-108.974 40.848 2034
+-108.848 40.848 2045
+-108.722 40.848 2055
+-108.596 40.848 2086
+-108.47 40.848 2097
+-108.344 40.848 2093
+-108.218 40.848 2102
+-108.092 40.848 2101
+-107.966 40.848 2066
+-107.84 40.848 2152
+-107.714 40.848 2161
+-107.588 40.848 2177
+-107.462 40.848 2186
+-107.336 40.848 2095
+-107.21 40.848 2094
+-107.084 40.848 2101
+-106.958 40.848 2080
+-106.832 40.848 2087
+-106.706 40.848 2093
+-106.58 40.848 2098
+-106.454 40.848 2104
+-106.328 40.848 2109
+-106.202 40.848 2002
+-106.076 40.848 1849
+-105.95 40.848 1844
+-105.824 40.848 1840
+-105.698 40.848 1827
+-105.572 40.848 1822
+-105.446 40.848 1816
+-105.32 40.848 1809
+-105.194 40.848 1824
+-105.068 40.848 1808
+-104.942 40.848 1772
+-104.816 40.848 1768
+-104.69 40.848 1763
+-104.564 40.848 1793
+-104.438 40.848 1788
+-104.312 40.848 1809
+-104.186 40.848 1921
+-104.06 40.848 1951
+-103.934 40.848 2017
+-103.808 40.848 2103
+-103.682 40.848 2139
+-103.556 40.848 2133
+-103.43 40.848 2183
+-103.304 40.848 2177
+-103.178 40.848 2170
+-103.052 40.848 2163
+-102.926 40.848 2196
+-102.8 40.848 2187
+-102.674 40.848 2214
+-102.548 40.848 2204
+-102.422 40.848 2192
+-102.296 40.848 2186
+-102.17 40.848 2173
+-102.044 40.848 2160
+-101.918 40.848 2146
+-101.792 40.848 2132
+-101.666 40.848 2116
+-101.54 40.848 2099
+-101.414 40.848 2188
+-101.288 40.848 2152
+-101.162 40.848 2130
+-101.036 40.848 2179
+-100.91 40.848 2154
+-100.784 40.848 2126
+-100.658 40.848 2184
+-100.532 40.848 2194
+-100.406 40.848 2156
+-100.28 40.848 2115
+-100.154 40.848 2069
+-100.028 40.848 2018
+-99.902 40.848 1978
+-99.776 40.848 1915
+-99.65 40.848 1845
+-99.524 40.848 1769
+-99.398 40.848 1688
+-99.272 40.848 1610
+-99.146 40.848 1576
+-99.02 40.848 1506
+-98.894 40.848 1449
+-98.768 40.848 1453
+-98.642 40.848 1472
+-98.516 40.848 1540
+-98.39 40.848 1665
+-98.264 40.848 1817
+-98.138 40.848 1987
+-98.012 40.848 2158
+-97.886 40.848 2319
+-97.76 40.848 2463
+-97.634 40.848 2589
+-97.508 40.848 2744
+-97.382 40.848 2877
+-97.256 40.848 3020
+-97.13 40.848 3183
+-97.004 40.848 3221
+-96.878 40.848 3245
+-96.752 40.848 3254
+-96.626 40.848 3324
+-96.5 40.848 3294
+-96.374 40.848 3220
+-96.248 40.848 3131
+-96.122 40.848 3084
+-95.996 40.848 3200
+-95.87 40.848 3288
+-95.744 40.848 3410
+-95.618 40.848 3630
+-95.492 40.848 3856
+-95.366 40.848 4013
+-95.24 40.848 4131
+-95.114 40.848 4210
+-94.988 40.848 4292
+-94.862 40.848 4351
+-94.736 40.848 4321
+-94.61 40.848 4441
+-94.484 40.848 4591
+-94.358 40.848 4652
+-94.232 40.848 4783
+-94.106 40.848 5043
+-93.98 40.848 5143
+-93.854 40.848 5189
+-93.728 40.848 5188
+-93.602 40.848 5323
+-93.476 40.848 5446
+-93.35 40.848 5542
+-93.224 40.848 5651
+-93.098 40.848 5826
+-92.972 40.848 5926
+-92.846 40.848 6042
+-92.72 40.848 6158
+-92.594 40.848 6223
+-92.468 40.848 6287
+-92.342 40.848 6429
+-92.216 40.848 6485
+-92.09 40.848 6612
+-91.964 40.848 6677
+-91.838 40.848 6727
+-91.712 40.848 6831
+-91.586 40.848 6871
+-91.46 40.848 6926
+-91.334 40.848 6995
+-91.208 40.848 7057
+-91.082 40.848 7069
+-90.956 40.848 7119
+-90.83 40.848 7157
+-90.704 40.848 7173
+-90.578 40.848 7193
+-90.452 40.848 7208
+-90.326 40.848 7192
+-90.2 40.848 7167
+-90.074 40.848 7145
+-89.948 40.848 7127
+-89.822 40.848 7091
+-89.696 40.848 7078
+-89.57 40.848 6981
+-89.444 40.848 6927
+-89.318 40.848 6915
+-89.192 40.848 6848
+-89.066 40.848 6757
+-88.94 40.848 6654
+-88.814 40.848 6601
+-88.688 40.848 6490
+-88.562 40.848 6421
+-88.436 40.848 6318
+-88.31 40.848 6258
+-88.184 40.848 6194
+-88.058 40.848 6111
+-87.932 40.848 6037
+-87.806 40.848 6034
+-87.68 40.848 6007
+-87.554 40.848 5952
+-87.428 40.848 5897
+-87.302 40.848 5896
+-87.176 40.848 5832
+-87.05 40.848 5761
+-86.924 40.848 5734
+-86.798 40.848 5657
+-86.672 40.848 5533
+-86.546 40.848 5454
+-86.42 40.848 5404
+-86.294 40.848 5336
+-86.168 40.848 5236
+-86.042 40.848 5116
+-85.916 40.848 4979
+-85.79 40.848 4871
+-85.664 40.848 4801
+-85.538 40.848 4678
+-85.412 40.848 4557
+-85.286 40.848 4544
+-85.16 40.848 4385
+-85.034 40.848 4308
+-84.908 40.848 4126
+-84.782 40.848 4114
+-84.656 40.848 3971
+-84.53 40.848 3866
+-84.404 40.848 3797
+-84.278 40.848 3675
+-84.152 40.848 3564
+-84.026 40.848 3542
+-83.9 40.848 3506
+-83.774 40.848 3498
+-83.648 40.848 3524
+-83.522 40.848 3550
+-83.396 40.848 3575
+-83.27 40.848 3591
+-83.144 40.848 3607
+-83.018 40.848 3588
+-82.892 40.848 3600
+-82.766 40.848 3611
+-82.64 40.848 3555
+-82.514 40.848 3560
+-82.388 40.848 3564
+-82.262 40.848 3568
+-82.136 40.848 3571
+-82.01 40.848 3574
+-81.884 40.848 3577
+-81.758 40.848 3579
+-81.632 40.848 3554
+-81.506 40.848 3521
+-81.38 40.848 3522
+-81.254 40.848 3523
+-81.128 40.848 3524
+-81.002 40.848 3525
+-80.876 40.848 3557
+-80.75 40.848 3561
+-80.624 40.848 3552
+-80.498 40.848 3555
+-80.372 40.848 3558
+-80.246 40.848 3561
+-80.12 40.848 3564
+-79.994 40.848 3567
+-79.868 40.848 3570
+-79.742 40.848 3572
+-79.616 40.848 3574
+-79.49 40.848 3577
+-79.364 40.848 3579
+-79.238 40.848 3529
+-79.112 40.848 3531
+-78.986 40.848 3533
+-78.86 40.848 3535
+-78.734 40.848 3537
+-78.608 40.848 3539
+-78.482 40.848 3509
+-78.356 40.848 3510
+-78.23 40.848 3511
+-78.104 40.848 3512
+-77.978 40.848 3532
+-77.852 40.848 3534
+-77.726 40.848 3536
+-77.6 40.848 3500
+-77.474 40.848 3501
+-77.348 40.848 3502
+-77.222 40.848 3591
+-77.096 40.848 3593
+-76.97 40.848 3594
+-76.844 40.848 3596
+-76.718 40.848 3598
+-76.592 40.848 3543
+-76.466 40.848 3544
+-76.34 40.848 3545
+-76.214 40.848 3546
+-76.088 40.848 3546
+-75.962 40.848 3547
+-75.836 40.848 3548
+-75.71 40.848 3549
+-75.584 40.848 3549
+-75.458 40.848 3550
+-75.332 40.848 3527
+-75.206 40.848 3517
+-75.08 40.848 3518
+-74.954 40.848 3518
+-74.828 40.848 3519
+-74.702 40.848 3520
+-74.576 40.848 3504
+-74.45 40.848 3504
+-74.324 40.848 3505
+-74.198 40.848 3505
+-74.072 40.848 3506
+-73.946 40.848 3506
+-73.82 40.848 3507
+-73.694 40.848 3507
+-73.568 40.848 3508
+-73.442 40.848 3452
+-73.316 40.848 3453
+-73.19 40.848 3453
+-73.064 40.848 3454
+-72.938 40.848 3454
+-72.812 40.848 3454
+-72.686 40.848 3455
+-72.56 40.848 3455
+-72.434 40.848 3455
+-72.308 40.848 3456
+-72.182 40.848 3456
+-72.056 40.848 3456
+-71.93 40.848 3457
+-71.804 40.848 3383
+-71.678 40.848 3382
+-71.552 40.848 3382
+-71.426 40.848 3382
+-71.3 40.848 3382
+-71.174 40.848 3382
+-71.048 40.848 3381
+-70.922 40.848 3381
+-70.796 40.848 3381
+-70.67 40.848 3381
+-70.544 40.848 3381
+-70.418 40.848 3381
+-70.292 40.848 3380
+-70.166 40.848 3380
+-70.04 40.848 3380
+-69.914 40.848 3380
+-69.788 40.848 3380
+-69.662 40.848 3380
+-69.536 40.848 3379
+-69.41 40.848 3379
+-69.284 40.848 3379
+-69.158 40.848 3379
+-69.032 40.848 3379
+-68.906 40.848 3379
+-68.78 40.848 3379
+-68.654 40.848 3069
+-68.528 40.848 3068
+-68.402 40.848 3068
+-68.276 40.848 3067
+-68.15 40.848 3067
+-68.024 40.848 3066
+-67.898 40.848 3065
+-67.772 40.848 3065
+-67.646 40.848 3064
+-67.52 40.848 3064
+-67.394 40.848 3063
+-67.268 40.848 3063
+-67.142 40.848 3062
+-67.016 40.848 3062
+-66.89 40.848 3061
+-66.764 40.848 3061
+-66.638 40.848 3060
+-66.512 40.848 3060
+-66.386 40.848 2933
+-66.26 40.848 2932
+-66.134 40.848 2901
+-66.008 40.848 2854
+-65.882 40.848 2854
+-65.756 40.848 2853
+-65.63 40.848 2869
+-65.504 40.848 2869
+-65.378 40.848 2880
+-65.252 40.848 2880
+-65.126 40.848 2838
+-128 40.796 2365
+-127.874 40.796 2284
+-127.748 40.796 2175
+-127.622 40.796 2097
+-127.496 40.796 2034
+-127.37 40.796 1986
+-127.244 40.796 1970
+-127.118 40.796 2008
+-126.992 40.796 2081
+-126.866 40.796 2154
+-126.74 40.796 2274
+-126.614 40.796 2372
+-126.488 40.796 2462
+-126.362 40.796 2532
+-126.236 40.796 2592
+-126.11 40.796 2641
+-125.984 40.796 2682
+-125.858 40.796 2707
+-125.732 40.796 2761
+-125.606 40.796 2796
+-125.48 40.796 2828
+-125.354 40.796 2851
+-125.228 40.796 2875
+-125.102 40.796 2894
+-124.976 40.796 2908
+-124.85 40.796 2918
+-124.724 40.796 2922
+-124.598 40.796 2921
+-124.472 40.796 2956
+-124.346 40.796 2931
+-124.22 40.796 2885
+-124.094 40.796 2859
+-123.968 40.796 2830
+-123.842 40.796 2797
+-123.716 40.796 2766
+-123.59 40.796 2764
+-123.464 40.796 2782
+-123.338 40.796 2825
+-123.212 40.796 2867
+-123.086 40.796 2893
+-122.96 40.796 2908
+-122.834 40.796 2910
+-122.708 40.796 2909
+-122.582 40.796 2918
+-122.456 40.796 2932
+-122.33 40.796 2951
+-122.204 40.796 2983
+-122.078 40.796 3007
+-121.952 40.796 3034
+-121.826 40.796 3102
+-121.7 40.796 3100
+-121.574 40.796 3144
+-121.448 40.796 3173
+-121.322 40.796 3189
+-121.196 40.796 3190
+-121.07 40.796 3183
+-120.944 40.796 3149
+-120.818 40.796 3128
+-120.692 40.796 3181
+-120.566 40.796 3273
+-120.44 40.796 3337
+-120.314 40.796 3371
+-120.188 40.796 3407
+-120.062 40.796 3416
+-119.936 40.796 3413
+-119.81 40.796 3402
+-119.684 40.796 3429
+-119.558 40.796 3479
+-119.432 40.796 3524
+-119.306 40.796 3547
+-119.18 40.796 3561
+-119.054 40.796 3561
+-118.928 40.796 3584
+-118.802 40.796 3588
+-118.676 40.796 3592
+-118.55 40.796 3589
+-118.424 40.796 3593
+-118.298 40.796 3584
+-118.172 40.796 3588
+-118.046 40.796 3594
+-117.92 40.796 3576
+-117.794 40.796 3576
+-117.668 40.796 3579
+-117.542 40.796 3571
+-117.416 40.796 3571
+-117.29 40.796 3567
+-117.164 40.796 3552
+-117.038 40.796 3519
+-116.912 40.796 3488
+-116.786 40.796 3473
+-116.66 40.796 3433
+-116.534 40.796 3392
+-116.408 40.796 3339
+-116.282 40.796 3265
+-116.156 40.796 3201
+-116.03 40.796 3120
+-115.904 40.796 3011
+-115.778 40.796 2929
+-115.652 40.796 2891
+-115.526 40.796 2868
+-115.4 40.796 2816
+-115.274 40.796 2781
+-115.148 40.796 2747
+-115.022 40.796 2689
+-114.896 40.796 2626
+-114.77 40.796 2608
+-114.644 40.796 2585
+-114.518 40.796 2558
+-114.392 40.796 2549
+-114.266 40.796 2489
+-114.14 40.796 2441
+-114.014 40.796 2369
+-113.888 40.796 2269
+-113.762 40.796 2138
+-113.636 40.796 1960
+-113.51 40.796 1840
+-113.384 40.796 1782
+-113.258 40.796 1792
+-113.132 40.796 1838
+-113.006 40.796 1878
+-112.88 40.796 1917
+-112.754 40.796 1937
+-112.628 40.796 1943
+-112.502 40.796 1941
+-112.376 40.796 1934
+-112.25 40.796 1925
+-112.124 40.796 1917
+-111.998 40.796 1911
+-111.872 40.796 1906
+-111.746 40.796 1917
+-111.62 40.796 1918
+-111.494 40.796 1921
+-111.368 40.796 1926
+-111.242 40.796 1923
+-111.116 40.796 1930
+-110.99 40.796 1940
+-110.864 40.796 1915
+-110.738 40.796 1925
+-110.612 40.796 1895
+-110.486 40.796 1905
+-110.36 40.796 1917
+-110.234 40.796 1930
+-110.108 40.796 1942
+-109.982 40.796 1955
+-109.856 40.796 1926
+-109.73 40.796 1930
+-109.604 40.796 1941
+-109.478 40.796 1947
+-109.352 40.796 1977
+-109.226 40.796 1978
+-109.1 40.796 2003
+-108.974 40.796 2015
+-108.848 40.796 2026
+-108.722 40.796 2063
+-108.596 40.796 2074
+-108.47 40.796 2072
+-108.344 40.796 2090
+-108.218 40.796 2101
+-108.092 40.796 2058
+-107.966 40.796 2063
+-107.84 40.796 2143
+-107.714 40.796 2159
+-107.588 40.796 2169
+-107.462 40.796 2100
+-107.336 40.796 2097
+-107.21 40.796 2104
+-107.084 40.796 2068
+-106.958 40.796 2075
+-106.832 40.796 2081
+-106.706 40.796 2088
+-106.58 40.796 2094
+-106.454 40.796 2099
+-106.328 40.796 2094
+-106.202 40.796 1969
+-106.076 40.796 1972
+-105.95 40.796 1845
+-105.824 40.796 1836
+-105.698 40.796 1831
+-105.572 40.796 1826
+-105.446 40.796 1820
+-105.32 40.796 1837
+-105.194 40.796 1823
+-105.068 40.796 1815
+-104.942 40.796 1806
+-104.816 40.796 1773
+-104.69 40.796 1818
+-104.564 40.796 1812
+-104.438 40.796 1794
+-104.312 40.796 1894
+-104.186 40.796 1927
+-104.06 40.796 1957
+-103.934 40.796 1950
+-103.808 40.796 2113
+-103.682 40.796 2145
+-103.556 40.796 2139
+-103.43 40.796 2188
+-103.304 40.796 2183
+-103.178 40.796 2176
+-103.052 40.796 2170
+-102.926 40.796 2204
+-102.8 40.796 2195
+-102.674 40.796 2185
+-102.548 40.796 2212
+-102.422 40.796 2201
+-102.296 40.796 2189
+-102.17 40.796 2182
+-102.044 40.796 2169
+-101.918 40.796 2155
+-101.792 40.796 2140
+-101.666 40.796 2124
+-101.54 40.796 2108
+-101.414 40.796 2090
+-101.288 40.796 2176
+-101.162 40.796 2139
+-101.036 40.796 2114
+-100.91 40.796 2160
+-100.784 40.796 2131
+-100.658 40.796 2099
+-100.532 40.796 2152
+-100.406 40.796 2155
+-100.28 40.796 2110
+-100.154 40.796 2060
+-100.028 40.796 2004
+-99.902 40.796 1940
+-99.776 40.796 1884
+-99.65 40.796 1802
+-99.524 40.796 1711
+-99.398 40.796 1611
+-99.272 40.796 1503
+-99.146 40.796 1396
+-99.02 40.796 1332
+-98.894 40.796 1247
+-98.768 40.796 1195
+-98.642 40.796 1222
+-98.516 40.796 1296
+-98.39 40.796 1435
+-98.264 40.796 1630
+-98.138 40.796 1841
+-98.012 40.796 2051
+-97.886 40.796 2244
+-97.76 40.796 2413
+-97.634 40.796 2555
+-97.508 40.796 2744
+-97.382 40.796 2923
+-97.256 40.796 3063
+-97.13 40.796 3181
+-97.004 40.796 3224
+-96.878 40.796 3253
+-96.752 40.796 3270
+-96.626 40.796 3293
+-96.5 40.796 3381
+-96.374 40.796 3318
+-96.248 40.796 3275
+-96.122 40.796 3257
+-95.996 40.796 3270
+-95.87 40.796 3222
+-95.744 40.796 3354
+-95.618 40.796 3641
+-95.492 40.796 3884
+-95.366 40.796 4054
+-95.24 40.796 4154
+-95.114 40.796 4233
+-94.988 40.796 4277
+-94.862 40.796 4353
+-94.736 40.796 4393
+-94.61 40.796 4478
+-94.484 40.796 4613
+-94.358 40.796 4724
+-94.232 40.796 4863
+-94.106 40.796 5078
+-93.98 40.796 5170
+-93.854 40.796 5194
+-93.728 40.796 5267
+-93.602 40.796 5378
+-93.476 40.796 5492
+-93.35 40.796 5580
+-93.224 40.796 5685
+-93.098 40.796 5868
+-92.972 40.796 5982
+-92.846 40.796 6029
+-92.72 40.796 6171
+-92.594 40.796 6248
+-92.468 40.796 6354
+-92.342 40.796 6456
+-92.216 40.796 6522
+-92.09 40.796 6588
+-91.964 40.796 6687
+-91.838 40.796 6774
+-91.712 40.796 6842
+-91.586 40.796 6935
+-91.46 40.796 6988
+-91.334 40.796 7042
+-91.208 40.796 7099
+-91.082 40.796 7163
+-90.956 40.796 7158
+-90.83 40.796 7216
+-90.704 40.796 7222
+-90.578 40.796 7238
+-90.452 40.796 7229
+-90.326 40.796 7228
+-90.2 40.796 7225
+-90.074 40.796 7208
+-89.948 40.796 7187
+-89.822 40.796 7138
+-89.696 40.796 7136
+-89.57 40.796 7059
+-89.444 40.796 6987
+-89.318 40.796 6911
+-89.192 40.796 6858
+-89.066 40.796 6814
+-88.94 40.796 6707
+-88.814 40.796 6619
+-88.688 40.796 6504
+-88.562 40.796 6455
+-88.436 40.796 6326
+-88.31 40.796 6295
+-88.184 40.796 6150
+-88.058 40.796 6134
+-87.932 40.796 5943
+-87.806 40.796 6105
+-87.68 40.796 6073
+-87.554 40.796 6051
+-87.428 40.796 5967
+-87.302 40.796 5924
+-87.176 40.796 5863
+-87.05 40.796 5785
+-86.924 40.796 5754
+-86.798 40.796 5705
+-86.672 40.796 5617
+-86.546 40.796 5549
+-86.42 40.796 5455
+-86.294 40.796 5328
+-86.168 40.796 5322
+-86.042 40.796 5179
+-85.916 40.796 5061
+-85.79 40.796 4921
+-85.664 40.796 4845
+-85.538 40.796 4759
+-85.412 40.796 4639
+-85.286 40.796 4567
+-85.16 40.796 4427
+-85.034 40.796 4301
+-84.908 40.796 4192
+-84.782 40.796 4114
+-84.656 40.796 3971
+-84.53 40.796 3820
+-84.404 40.796 3831
+-84.278 40.796 3652
+-84.152 40.796 3458
+-84.026 40.796 3545
+-83.9 40.796 3559
+-83.774 40.796 3544
+-83.648 40.796 3540
+-83.522 40.796 3554
+-83.396 40.796 3570
+-83.27 40.796 3589
+-83.144 40.796 3576
+-83.018 40.796 3590
+-82.892 40.796 3601
+-82.766 40.796 3583
+-82.64 40.796 3592
+-82.514 40.796 3563
+-82.388 40.796 3567
+-82.262 40.796 3570
+-82.136 40.796 3573
+-82.01 40.796 3576
+-81.884 40.796 3579
+-81.758 40.796 3553
+-81.632 40.796 3521
+-81.506 40.796 3522
+-81.38 40.796 3523
+-81.254 40.796 3524
+-81.128 40.796 3525
+-81.002 40.796 3556
+-80.876 40.796 3560
+-80.75 40.796 3551
+-80.624 40.796 3555
+-80.498 40.796 3558
+-80.372 40.796 3561
+-80.246 40.796 3564
+-80.12 40.796 3567
+-79.994 40.796 3570
+-79.868 40.796 3572
+-79.742 40.796 3575
+-79.616 40.796 3577
+-79.49 40.796 3579
+-79.364 40.796 3531
+-79.238 40.796 3533
+-79.112 40.796 3535
+-78.986 40.796 3537
+-78.86 40.796 3539
+-78.734 40.796 3541
+-78.608 40.796 3511
+-78.482 40.796 3512
+-78.356 40.796 3514
+-78.23 40.796 3515
+-78.104 40.796 3534
+-77.978 40.796 3536
+-77.852 40.796 3538
+-77.726 40.796 3502
+-77.6 40.796 3503
+-77.474 40.796 3504
+-77.348 40.796 3590
+-77.222 40.796 3592
+-77.096 40.796 3594
+-76.97 40.796 3596
+-76.844 40.796 3597
+-76.718 40.796 3543
+-76.592 40.796 3544
+-76.466 40.796 3545
+-76.34 40.796 3545
+-76.214 40.796 3546
+-76.088 40.796 3547
+-75.962 40.796 3548
+-75.836 40.796 3548
+-75.71 40.796 3549
+-75.584 40.796 3550
+-75.458 40.796 3527
+-75.332 40.796 3517
+-75.206 40.796 3518
+-75.08 40.796 3518
+-74.954 40.796 3519
+-74.828 40.796 3520
+-74.702 40.796 3520
+-74.576 40.796 3504
+-74.45 40.796 3505
+-74.324 40.796 3505
+-74.198 40.796 3506
+-74.072 40.796 3506
+-73.946 40.796 3507
+-73.82 40.796 3507
+-73.694 40.796 3508
+-73.568 40.796 3452
+-73.442 40.796 3453
+-73.316 40.796 3453
+-73.19 40.796 3453
+-73.064 40.796 3454
+-72.938 40.796 3454
+-72.812 40.796 3454
+-72.686 40.796 3455
+-72.56 40.796 3455
+-72.434 40.796 3455
+-72.308 40.796 3456
+-72.182 40.796 3456
+-72.056 40.796 3456
+-71.93 40.796 3383
+-71.804 40.796 3382
+-71.678 40.796 3382
+-71.552 40.796 3382
+-71.426 40.796 3382
+-71.3 40.796 3382
+-71.174 40.796 3381
+-71.048 40.796 3381
+-70.922 40.796 3381
+-70.796 40.796 3381
+-70.67 40.796 3381
+-70.544 40.796 3381
+-70.418 40.796 3380
+-70.292 40.796 3380
+-70.166 40.796 3380
+-70.04 40.796 3380
+-69.914 40.796 3380
+-69.788 40.796 3380
+-69.662 40.796 3379
+-69.536 40.796 3379
+-69.41 40.796 3379
+-69.284 40.796 3379
+-69.158 40.796 3379
+-69.032 40.796 3379
+-68.906 40.796 3379
+-68.78 40.796 3069
+-68.654 40.796 3068
+-68.528 40.796 3068
+-68.402 40.796 3067
+-68.276 40.796 3067
+-68.15 40.796 3066
+-68.024 40.796 3065
+-67.898 40.796 3065
+-67.772 40.796 3064
+-67.646 40.796 3064
+-67.52 40.796 3063
+-67.394 40.796 3063
+-67.268 40.796 3062
+-67.142 40.796 3062
+-67.016 40.796 3061
+-66.89 40.796 3061
+-66.764 40.796 3060
+-66.638 40.796 3060
+-66.512 40.796 2933
+-66.386 40.796 2932
+-66.26 40.796 2901
+-66.134 40.796 2854
+-66.008 40.796 2854
+-65.882 40.796 2853
+-65.756 40.796 2869
+-65.63 40.796 2869
+-65.504 40.796 2880
+-65.378 40.796 2880
+-65.252 40.796 2838
+-65.126 40.796 2802
+-128 40.744 2417
+-127.874 40.744 2317
+-127.748 40.744 2254
+-127.622 40.744 2197
+-127.496 40.744 2140
+-127.37 40.744 2100
+-127.244 40.744 2103
+-127.118 40.744 2135
+-126.992 40.744 2165
+-126.866 40.744 2256
+-126.74 40.744 2335
+-126.614 40.744 2417
+-126.488 40.744 2486
+-126.362 40.744 2548
+-126.236 40.744 2600
+-126.11 40.744 2644
+-125.984 40.744 2670
+-125.858 40.744 2724
+-125.732 40.744 2759
+-125.606 40.744 2791
+-125.48 40.744 2813
+-125.354 40.744 2836
+-125.228 40.744 2856
+-125.102 40.744 2870
+-124.976 40.744 2881
+-124.85 40.744 2886
+-124.724 40.744 2887
+-124.598 40.744 2874
+-124.472 40.744 2906
+-124.346 40.744 2861
+-124.22 40.744 2838
+-124.094 40.744 2811
+-123.968 40.744 2775
+-123.842 40.744 2735
+-123.716 40.744 2711
+-123.59 40.744 2698
+-123.464 40.744 2720
+-123.338 40.744 2764
+-123.212 40.744 2807
+-123.086 40.744 2846
+-122.96 40.744 2872
+-122.834 40.744 2885
+-122.708 40.744 2896
+-122.582 40.744 2898
+-122.456 40.744 2906
+-122.33 40.744 2907
+-122.204 40.744 2922
+-122.078 40.744 2941
+-121.952 40.744 2960
+-121.826 40.744 3008
+-121.7 40.744 3070
+-121.574 40.744 3118
+-121.448 40.744 3153
+-121.322 40.744 3149
+-121.196 40.744 3168
+-121.07 40.744 3180
+-120.944 40.744 3175
+-120.818 40.744 3191
+-120.692 40.744 3211
+-120.566 40.744 3254
+-120.44 40.744 3307
+-120.314 40.744 3333
+-120.188 40.744 3375
+-120.062 40.744 3387
+-119.936 40.744 3385
+-119.81 40.744 3372
+-119.684 40.744 3391
+-119.558 40.744 3431
+-119.432 40.744 3465
+-119.306 40.744 3495
+-119.18 40.744 3504
+-119.054 40.744 3493
+-118.928 40.744 3506
+-118.802 40.744 3518
+-118.676 40.744 3524
+-118.55 40.744 3522
+-118.424 40.744 3519
+-118.298 40.744 3530
+-118.172 40.744 3543
+-118.046 40.744 3522
+-117.92 40.744 3539
+-117.794 40.744 3548
+-117.668 40.744 3555
+-117.542 40.744 3536
+-117.416 40.744 3504
+-117.29 40.744 3481
+-117.164 40.744 3458
+-117.038 40.744 3400
+-116.912 40.744 3422
+-116.786 40.744 3353
+-116.66 40.744 3327
+-116.534 40.744 3281
+-116.408 40.744 3244
+-116.282 40.744 3182
+-116.156 40.744 3122
+-116.03 40.744 3033
+-115.904 40.744 2962
+-115.778 40.744 2891
+-115.652 40.744 2876
+-115.526 40.744 2869
+-115.4 40.744 2819
+-115.274 40.744 2768
+-115.148 40.744 2690
+-115.022 40.744 2580
+-114.896 40.744 2519
+-114.77 40.744 2535
+-114.644 40.744 2545
+-114.518 40.744 2561
+-114.392 40.744 2498
+-114.266 40.744 2476
+-114.14 40.744 2429
+-114.014 40.744 2367
+-113.888 40.744 2287
+-113.762 40.744 2154
+-113.636 40.744 2051
+-113.51 40.744 1960
+-113.384 40.744 1905
+-113.258 40.744 1893
+-113.132 40.744 1895
+-113.006 40.744 1914
+-112.88 40.744 1925
+-112.754 40.744 1927
+-112.628 40.744 1920
+-112.502 40.744 1908
+-112.376 40.744 1893
+-112.25 40.744 1880
+-112.124 40.744 1869
+-111.998 40.744 1861
+-111.872 40.744 1857
+-111.746 40.744 1855
+-111.62 40.744 1868
+-111.494 40.744 1873
+-111.368 40.744 1879
+-111.242 40.744 1887
+-111.116 40.744 1888
+-110.99 40.744 1899
+-110.864 40.744 1903
+-110.738 40.744 1880
+-110.612 40.744 1894
+-110.486 40.744 1876
+-110.36 40.744 1890
+-110.234 40.744 1904
+-110.108 40.744 1919
+-109.982 40.744 1883
+-109.856 40.744 1900
+-109.73 40.744 1913
+-109.604 40.744 1921
+-109.478 40.744 1952
+-109.352 40.744 1965
+-109.226 40.744 1977
+-109.1 40.744 1977
+-108.974 40.744 2001
+-108.848 40.744 2013
+-108.722 40.744 2050
+-108.596 40.744 2052
+-108.47 40.744 2069
+-108.344 40.744 2081
+-108.218 40.744 2051
+-108.092 40.744 2061
+-107.966 40.744 2071
+-107.84 40.744 1998
+-107.714 40.744 2084
+-107.588 40.744 2090
+-107.462 40.744 2082
+-107.336 40.744 2091
+-107.21 40.744 2074
+-107.084 40.744 2082
+-106.958 40.744 2089
+-106.832 40.744 2096
+-106.706 40.744 2102
+-106.58 40.744 2108
+-106.454 40.744 2087
+-106.328 40.744 2091
+-106.202 40.744 2097
+-106.076 40.744 1972
+-105.95 40.744 1844
+-105.824 40.744 1840
+-105.698 40.744 1836
+-105.572 40.744 1825
+-105.446 40.744 1848
+-105.32 40.744 1837
+-105.194 40.744 1829
+-105.068 40.744 1821
+-104.942 40.744 1812
+-104.816 40.744 1780
+-104.69 40.744 1821
+-104.564 40.744 1818
+-104.438 40.744 1801
+-104.312 40.744 1901
+-104.186 40.744 1933
+-104.06 40.744 1964
+-103.934 40.744 1957
+-103.808 40.744 2120
+-103.682 40.744 2112
+-103.556 40.744 2145
+-103.43 40.744 2155
+-103.304 40.744 2226
+-103.178 40.744 2220
+-103.052 40.744 2213
+-102.926 40.744 2211
+-102.8 40.744 2202
+-102.674 40.744 2193
+-102.548 40.744 2183
+-102.422 40.744 2210
+-102.296 40.744 2198
+-102.17 40.744 2186
+-102.044 40.744 2224
+-101.918 40.744 2209
+-101.792 40.744 2194
+-101.666 40.744 2177
+-101.54 40.744 2159
+-101.414 40.744 2140
+-101.288 40.744 2119
+-101.162 40.744 2163
+-101.036 40.744 2123
+-100.91 40.744 2096
+-100.784 40.744 2161
+-100.658 40.744 2105
+-100.532 40.744 2068
+-100.406 40.744 2114
+-100.28 40.744 2108
+-100.154 40.744 2054
+-100.028 40.744 1993
+-99.902 40.744 1923
+-99.776 40.744 1843
+-99.65 40.744 1765
+-99.524 40.744 1659
+-99.398 40.744 1539
+-99.272 40.744 1407
+-99.146 40.744 1266
+-99.02 40.744 1128
+-98.894 40.744 1035
+-98.768 40.744 952
+-98.642 40.744 936
+-98.516 40.744 1029
+-98.39 40.744 1196
+-98.264 40.744 1426
+-98.138 40.744 1690
+-98.012 40.744 1943
+-97.886 40.744 2170
+-97.76 40.744 2363
+-97.634 40.744 2593
+-97.508 40.744 2803
+-97.382 40.744 3001
+-97.256 40.744 3084
+-97.13 40.744 3149
+-97.004 40.744 3253
+-96.878 40.744 3287
+-96.752 40.744 3366
+-96.626 40.744 3374
+-96.5 40.744 3437
+-96.374 40.744 3402
+-96.248 40.744 3373
+-96.122 40.744 3382
+-95.996 40.744 3345
+-95.87 40.744 3334
+-95.744 40.744 3459
+-95.618 40.744 3723
+-95.492 40.744 3940
+-95.366 40.744 4085
+-95.24 40.744 4190
+-95.114 40.744 4192
+-94.988 40.744 4194
+-94.862 40.744 4299
+-94.736 40.744 4425
+-94.61 40.744 4525
+-94.484 40.744 4645
+-94.358 40.744 4769
+-94.232 40.744 4881
+-94.106 40.744 5068
+-93.98 40.744 5188
+-93.854 40.744 5136
+-93.728 40.744 5287
+-93.602 40.744 5408
+-93.476 40.744 5557
+-93.35 40.744 5676
+-93.224 40.744 5711
+-93.098 40.744 5860
+-92.972 40.744 6026
+-92.846 40.744 6100
+-92.72 40.744 6211
+-92.594 40.744 6298
+-92.468 40.744 6444
+-92.342 40.744 6487
+-92.216 40.744 6575
+-92.09 40.744 6636
+-91.964 40.744 6698
+-91.838 40.744 6795
+-91.712 40.744 6898
+-91.586 40.744 6984
+-91.46 40.744 7020
+-91.334 40.744 7097
+-91.208 40.744 7140
+-91.082 40.744 7210
+-90.956 40.744 7213
+-90.83 40.744 7250
+-90.704 40.744 7302
+-90.578 40.744 7323
+-90.452 40.744 7297
+-90.326 40.744 7299
+-90.2 40.744 7258
+-90.074 40.744 7246
+-89.948 40.744 7235
+-89.822 40.744 7204
+-89.696 40.744 7139
+-89.57 40.744 7133
+-89.444 40.744 6998
+-89.318 40.744 6977
+-89.192 40.744 6915
+-89.066 40.744 6857
+-88.94 40.744 6766
+-88.814 40.744 6723
+-88.688 40.744 6602
+-88.562 40.744 6499
+-88.436 40.744 6400
+-88.31 40.744 6344
+-88.184 40.744 6228
+-88.058 40.744 6096
+-87.932 40.744 6128
+-87.806 40.744 6197
+-87.68 40.744 6167
+-87.554 40.744 6134
+-87.428 40.744 6070
+-87.302 40.744 5965
+-87.176 40.744 5912
+-87.05 40.744 5835
+-86.924 40.744 5762
+-86.798 40.744 5705
+-86.672 40.744 5637
+-86.546 40.744 5571
+-86.42 40.744 5511
+-86.294 40.744 5416
+-86.168 40.744 5332
+-86.042 40.744 5208
+-85.916 40.744 5100
+-85.79 40.744 4996
+-85.664 40.744 4898
+-85.538 40.744 4820
+-85.412 40.744 4707
+-85.286 40.744 4582
+-85.16 40.744 4469
+-85.034 40.744 4380
+-84.908 40.744 4215
+-84.782 40.744 4108
+-84.656 40.744 4023
+-84.53 40.744 3956
+-84.404 40.744 3881
+-84.278 40.744 3736
+-84.152 40.744 3603
+-84.026 40.744 3589
+-83.9 40.744 3555
+-83.774 40.744 3505
+-83.648 40.744 3504
+-83.522 40.744 3529
+-83.396 40.744 3559
+-83.27 40.744 3557
+-83.144 40.744 3576
+-83.018 40.744 3591
+-82.892 40.744 3602
+-82.766 40.744 3612
+-82.64 40.744 3594
+-82.514 40.744 3601
+-82.388 40.744 3595
+-82.262 40.744 3600
+-82.136 40.744 3604
+-82.01 40.744 3590
+-81.884 40.744 3553
+-81.758 40.744 3521
+-81.632 40.744 3522
+-81.506 40.744 3523
+-81.38 40.744 3523
+-81.254 40.744 3524
+-81.128 40.744 3555
+-81.002 40.744 3559
+-80.876 40.744 3551
+-80.75 40.744 3554
+-80.624 40.744 3558
+-80.498 40.744 3561
+-80.372 40.744 3564
+-80.246 40.744 3567
+-80.12 40.744 3570
+-79.994 40.744 3572
+-79.868 40.744 3575
+-79.742 40.744 3577
+-79.616 40.744 3580
+-79.49 40.744 3533
+-79.364 40.744 3535
+-79.238 40.744 3538
+-79.112 40.744 3540
+-78.986 40.744 3542
+-78.86 40.744 3544
+-78.734 40.744 3513
+-78.608 40.744 3515
+-78.482 40.744 3516
+-78.356 40.744 3517
+-78.23 40.744 3536
+-78.104 40.744 3538
+-77.978 40.744 3540
+-77.852 40.744 3504
+-77.726 40.744 3505
+-77.6 40.744 3506
+-77.474 40.744 3590
+-77.348 40.744 3592
+-77.222 40.744 3594
+-77.096 40.744 3595
+-76.97 40.744 3597
+-76.844 40.744 3543
+-76.718 40.744 3544
+-76.592 40.744 3545
+-76.466 40.744 3545
+-76.34 40.744 3546
+-76.214 40.744 3547
+-76.088 40.744 3548
+-75.962 40.744 3548
+-75.836 40.744 3549
+-75.71 40.744 3550
+-75.584 40.744 3527
+-75.458 40.744 3517
+-75.332 40.744 3518
+-75.206 40.744 3518
+-75.08 40.744 3519
+-74.954 40.744 3520
+-74.828 40.744 3504
+-74.702 40.744 3504
+-74.576 40.744 3505
+-74.45 40.744 3505
+-74.324 40.744 3506
+-74.198 40.744 3506
+-74.072 40.744 3507
+-73.946 40.744 3507
+-73.82 40.744 3508
+-73.694 40.744 3452
+-73.568 40.744 3452
+-73.442 40.744 3453
+-73.316 40.744 3453
+-73.19 40.744 3454
+-73.064 40.744 3454
+-72.938 40.744 3454
+-72.812 40.744 3455
+-72.686 40.744 3455
+-72.56 40.744 3455
+-72.434 40.744 3456
+-72.308 40.744 3456
+-72.182 40.744 3456
+-72.056 40.744 3383
+-71.93 40.744 3382
+-71.804 40.744 3382
+-71.678 40.744 3382
+-71.552 40.744 3382
+-71.426 40.744 3382
+-71.3 40.744 3381
+-71.174 40.744 3381
+-71.048 40.744 3381
+-70.922 40.744 3381
+-70.796 40.744 3381
+-70.67 40.744 3381
+-70.544 40.744 3380
+-70.418 40.744 3380
+-70.292 40.744 3380
+-70.166 40.744 3380
+-70.04 40.744 3380
+-69.914 40.744 3380
+-69.788 40.744 3379
+-69.662 40.744 3379
+-69.536 40.744 3379
+-69.41 40.744 3379
+-69.284 40.744 3379
+-69.158 40.744 3379
+-69.032 40.744 3379
+-68.906 40.744 3069
+-68.78 40.744 3068
+-68.654 40.744 3068
+-68.528 40.744 3067
+-68.402 40.744 3067
+-68.276 40.744 3066
+-68.15 40.744 3065
+-68.024 40.744 3065
+-67.898 40.744 3064
+-67.772 40.744 3064
+-67.646 40.744 3063
+-67.52 40.744 3063
+-67.394 40.744 3062
+-67.268 40.744 3062
+-67.142 40.744 3061
+-67.016 40.744 3061
+-66.89 40.744 3060
+-66.764 40.744 3060
+-66.638 40.744 2933
+-66.512 40.744 2932
+-66.386 40.744 2901
+-66.26 40.744 2854
+-66.134 40.744 2854
+-66.008 40.744 2853
+-65.882 40.744 2869
+-65.756 40.744 2869
+-65.63 40.744 2880
+-65.504 40.744 2880
+-65.378 40.744 2837
+-65.252 40.744 2802
+-65.126 40.744 2802
+-128 40.692 2431
+-127.874 40.692 2380
+-127.748 40.692 2332
+-127.622 40.692 2274
+-127.496 40.692 2222
+-127.37 40.692 2210
+-127.244 40.692 2217
+-127.118 40.692 2213
+-126.992 40.692 2277
+-126.866 40.692 2331
+-126.74 40.692 2396
+-126.614 40.692 2455
+-126.488 40.692 2513
+-126.362 40.692 2564
+-126.236 40.692 2608
+-126.11 40.692 2636
+-125.984 40.692 2690
+-125.858 40.692 2725
+-125.732 40.692 2756
+-125.606 40.692 2779
+-125.48 40.692 2802
+-125.354 40.692 2821
+-125.228 40.692 2836
+-125.102 40.692 2846
+-124.976 40.692 2853
+-124.85 40.692 2854
+-124.724 40.692 2843
+-124.598 40.692 2834
+-124.472 40.692 2799
+-124.346 40.692 2819
+-124.22 40.692 2796
+-124.094 40.692 2765
+-123.968 40.692 2729
+-123.842 40.692 2708
+-123.716 40.692 2690
+-123.59 40.692 2681
+-123.464 40.692 2693
+-123.338 40.692 2723
+-123.212 40.692 2760
+-123.086 40.692 2796
+-122.96 40.692 2823
+-122.834 40.692 2847
+-122.708 40.692 2856
+-122.582 40.692 2867
+-122.456 40.692 2861
+-122.33 40.692 2848
+-122.204 40.692 2860
+-122.078 40.692 2867
+-121.952 40.692 2914
+-121.826 40.692 2925
+-121.7 40.692 2992
+-121.574 40.692 3045
+-121.448 40.692 3093
+-121.322 40.692 3133
+-121.196 40.692 3152
+-121.07 40.692 3175
+-120.944 40.692 3192
+-120.818 40.692 3190
+-120.692 40.692 3217
+-120.566 40.692 3232
+-120.44 40.692 3246
+-120.314 40.692 3261
+-120.188 40.692 3306
+-120.062 40.692 3355
+-119.936 40.692 3374
+-119.81 40.692 3375
+-119.684 40.692 3379
+-119.558 40.692 3391
+-119.432 40.692 3415
+-119.306 40.692 3448
+-119.18 40.692 3448
+-119.054 40.692 3441
+-118.928 40.692 3449
+-118.802 40.692 3461
+-118.676 40.692 3473
+-118.55 40.692 3473
+-118.424 40.692 3474
+-118.298 40.692 3485
+-118.172 40.692 3489
+-118.046 40.692 3482
+-117.92 40.692 3464
+-117.794 40.692 3461
+-117.668 40.692 3473
+-117.542 40.692 3465
+-117.416 40.692 3451
+-117.29 40.692 3429
+-117.164 40.692 3367
+-117.038 40.692 3341
+-116.912 40.692 3304
+-116.786 40.692 3276
+-116.66 40.692 3246
+-116.534 40.692 3210
+-116.408 40.692 3173
+-116.282 40.692 3106
+-116.156 40.692 3055
+-116.03 40.692 2980
+-115.904 40.692 2931
+-115.778 40.692 2880
+-115.652 40.692 2869
+-115.526 40.692 2849
+-115.4 40.692 2799
+-115.274 40.692 2731
+-115.148 40.692 2646
+-115.022 40.692 2520
+-114.896 40.692 2464
+-114.77 40.692 2500
+-114.644 40.692 2525
+-114.518 40.692 2524
+-114.392 40.692 2479
+-114.266 40.692 2447
+-114.14 40.692 2412
+-114.014 40.692 2353
+-113.888 40.692 2262
+-113.762 40.692 2191
+-113.636 40.692 2117
+-113.51 40.692 2042
+-113.384 40.692 1987
+-113.258 40.692 1966
+-113.132 40.692 1940
+-113.006 40.692 1933
+-112.88 40.692 1925
+-112.754 40.692 1907
+-112.628 40.692 1885
+-112.502 40.692 1862
+-112.376 40.692 1840
+-112.25 40.692 1821
+-112.124 40.692 1808
+-111.998 40.692 1801
+-111.872 40.692 1798
+-111.746 40.692 1798
+-111.62 40.692 1802
+-111.494 40.692 1812
+-111.368 40.692 1816
+-111.242 40.692 1831
+-111.116 40.692 1844
+-110.99 40.692 1858
+-110.864 40.692 1864
+-110.738 40.692 1880
+-110.612 40.692 1853
+-110.486 40.692 1869
+-110.36 40.692 1894
+-110.234 40.692 1912
+-110.108 40.692 1848
+-109.982 40.692 1862
+-109.856 40.692 1882
+-109.73 40.692 1891
+-109.604 40.692 1924
+-109.478 40.692 1939
+-109.352 40.692 1953
+-109.226 40.692 1966
+-109.1 40.692 1979
+-108.974 40.692 1977
+-108.848 40.692 1997
+-108.722 40.692 2029
+-108.596 40.692 2042
+-108.47 40.692 2060
+-108.344 40.692 2033
+-108.218 40.692 2041
+-108.092 40.692 2052
+-107.966 40.692 1986
+-107.84 40.692 2070
+-107.714 40.692 2080
+-107.588 40.692 2090
+-107.462 40.692 2079
+-107.336 40.692 2062
+-107.21 40.692 2070
+-107.084 40.692 2078
+-106.958 40.692 2085
+-106.832 40.692 2092
+-106.706 40.692 2099
+-106.58 40.692 2091
+-106.454 40.692 2084
+-106.328 40.692 2088
+-106.202 40.692 2076
+-106.076 40.692 1971
+-105.95 40.692 1952
+-105.824 40.692 1844
+-105.698 40.692 1836
+-105.572 40.692 1859
+-105.446 40.692 1850
+-105.32 40.692 1843
+-105.194 40.692 1836
+-105.068 40.692 1828
+-104.942 40.692 1824
+-104.816 40.692 1787
+-104.69 40.692 1828
+-104.564 40.692 1826
+-104.438 40.692 1807
+-104.312 40.692 1908
+-104.186 40.692 1935
+-104.06 40.692 1971
+-103.934 40.692 1964
+-103.808 40.692 2126
+-103.682 40.692 2118
+-103.556 40.692 2151
+-103.43 40.692 2162
+-103.304 40.692 2167
+-103.178 40.692 2226
+-103.052 40.692 2220
+-102.926 40.692 2219
+-102.8 40.692 2210
+-102.674 40.692 2201
+-102.548 40.692 2192
+-102.422 40.692 2182
+-102.296 40.692 2208
+-102.17 40.692 2196
+-102.044 40.692 2183
+-101.918 40.692 2242
+-101.792 40.692 2204
+-101.666 40.692 2187
+-101.54 40.692 2170
+-101.414 40.692 2151
+-101.288 40.692 2130
+-101.162 40.692 2107
+-101.036 40.692 2148
+-100.91 40.692 2190
+-100.784 40.692 2170
+-100.658 40.692 2135
+-100.532 40.692 2074
+-100.406 40.692 2117
+-100.28 40.692 2069
+-100.154 40.692 2053
+-100.028 40.692 1988
+-99.902 40.692 1912
+-99.776 40.692 1825
+-99.65 40.692 1724
+-99.524 40.692 1619
+-99.398 40.692 1482
+-99.272 40.692 1328
+-99.146 40.692 1159
+-99.02 40.692 984
+-98.894 40.692 825
+-98.768 40.692 724
+-98.642 40.692 687
+-98.516 40.692 762
+-98.39 40.692 968
+-98.264 40.692 1244
+-98.138 40.692 1549
+-98.012 40.692 1848
+-97.886 40.692 2107
+-97.76 40.692 2392
+-97.634 40.692 2641
+-97.508 40.692 2872
+-97.382 40.692 2983
+-97.256 40.692 3071
+-97.13 40.692 3140
+-97.004 40.692 3196
+-96.878 40.692 3355
+-96.752 40.692 3381
+-96.626 40.692 3416
+-96.5 40.692 3489
+-96.374 40.692 3490
+-96.248 40.692 3477
+-96.122 40.692 3497
+-95.996 40.692 3489
+-95.87 40.692 3519
+-95.744 40.692 3655
+-95.618 40.692 3860
+-95.492 40.692 4021
+-95.366 40.692 4158
+-95.24 40.692 4202
+-95.114 40.692 4160
+-94.988 40.692 4049
+-94.862 40.692 4253
+-94.736 40.692 4433
+-94.61 40.692 4527
+-94.484 40.692 4653
+-94.358 40.692 4756
+-94.232 40.692 4862
+-94.106 40.692 5072
+-93.98 40.692 5221
+-93.854 40.692 5256
+-93.728 40.692 5355
+-93.602 40.692 5471
+-93.476 40.692 5595
+-93.35 40.692 5688
+-93.224 40.692 5785
+-93.098 40.692 5931
+-92.972 40.692 5999
+-92.846 40.692 6139
+-92.72 40.692 6226
+-92.594 40.692 6317
+-92.468 40.692 6447
+-92.342 40.692 6501
+-92.216 40.692 6633
+-92.09 40.692 6674
+-91.964 40.692 6772
+-91.838 40.692 6832
+-91.712 40.692 6955
+-91.586 40.692 7040
+-91.46 40.692 7071
+-91.334 40.692 7171
+-91.208 40.692 7180
+-91.082 40.692 7238
+-90.956 40.692 7279
+-90.83 40.692 7305
+-90.704 40.692 7337
+-90.578 40.692 7355
+-90.452 40.692 7347
+-90.326 40.692 7347
+-90.2 40.692 7329
+-90.074 40.692 7303
+-89.948 40.692 7280
+-89.822 40.692 7262
+-89.696 40.692 7216
+-89.57 40.692 7132
+-89.444 40.692 7095
+-89.318 40.692 7045
+-89.192 40.692 6959
+-89.066 40.692 6886
+-88.94 40.692 6797
+-88.814 40.692 6712
+-88.688 40.692 6645
+-88.562 40.692 6549
+-88.436 40.692 6439
+-88.31 40.692 6354
+-88.184 40.692 6282
+-88.058 40.692 6149
+-87.932 40.692 6277
+-87.806 40.692 6263
+-87.68 40.692 6230
+-87.554 40.692 6175
+-87.428 40.692 6104
+-87.302 40.692 6028
+-87.176 40.692 5930
+-87.05 40.692 5874
+-86.924 40.692 5796
+-86.798 40.692 5737
+-86.672 40.692 5648
+-86.546 40.692 5530
+-86.42 40.692 5489
+-86.294 40.692 5473
+-86.168 40.692 5352
+-86.042 40.692 5220
+-85.916 40.692 5080
+-85.79 40.692 5034
+-85.664 40.692 4957
+-85.538 40.692 4857
+-85.412 40.692 4744
+-85.286 40.692 4606
+-85.16 40.692 4476
+-85.034 40.692 4430
+-84.908 40.692 4264
+-84.782 40.692 4172
+-84.656 40.692 4079
+-84.53 40.692 3993
+-84.404 40.692 3904
+-84.278 40.692 3809
+-84.152 40.692 3706
+-84.026 40.692 3617
+-83.9 40.692 3474
+-83.774 40.692 3352
+-83.648 40.692 3403
+-83.522 40.692 3489
+-83.396 40.692 3523
+-83.27 40.692 3555
+-83.144 40.692 3577
+-83.018 40.692 3592
+-82.892 40.692 3603
+-82.766 40.692 3612
+-82.64 40.692 3619
+-82.514 40.692 3602
+-82.388 40.692 3608
+-82.262 40.692 3602
+-82.136 40.692 3628
+-82.01 40.692 3552
+-81.884 40.692 3520
+-81.758 40.692 3521
+-81.632 40.692 3522
+-81.506 40.692 3523
+-81.38 40.692 3524
+-81.254 40.692 3554
+-81.128 40.692 3559
+-81.002 40.692 3550
+-80.876 40.692 3554
+-80.75 40.692 3557
+-80.624 40.692 3561
+-80.498 40.692 3564
+-80.372 40.692 3567
+-80.246 40.692 3570
+-80.12 40.692 3573
+-79.994 40.692 3575
+-79.868 40.692 3578
+-79.742 40.692 3580
+-79.616 40.692 3536
+-79.49 40.692 3538
+-79.364 40.692 3540
+-79.238 40.692 3542
+-79.112 40.692 3544
+-78.986 40.692 3546
+-78.86 40.692 3516
+-78.734 40.692 3517
+-78.608 40.692 3518
+-78.482 40.692 3520
+-78.356 40.692 3538
+-78.23 40.692 3540
+-78.104 40.692 3542
+-77.978 40.692 3506
+-77.852 40.692 3507
+-77.726 40.692 3509
+-77.6 40.692 3589
+-77.474 40.692 3591
+-77.348 40.692 3593
+-77.222 40.692 3595
+-77.096 40.692 3597
+-76.97 40.692 3543
+-76.844 40.692 3544
+-76.718 40.692 3544
+-76.592 40.692 3545
+-76.466 40.692 3546
+-76.34 40.692 3547
+-76.214 40.692 3548
+-76.088 40.692 3548
+-75.962 40.692 3549
+-75.836 40.692 3550
+-75.71 40.692 3527
+-75.584 40.692 3517
+-75.458 40.692 3517
+-75.332 40.692 3518
+-75.206 40.692 3519
+-75.08 40.692 3520
+-74.954 40.692 3520
+-74.828 40.692 3504
+-74.702 40.692 3505
+-74.576 40.692 3505
+-74.45 40.692 3506
+-74.324 40.692 3506
+-74.198 40.692 3507
+-74.072 40.692 3507
+-73.946 40.692 3508
+-73.82 40.692 3452
+-73.694 40.692 3452
+-73.568 40.692 3453
+-73.442 40.692 3453
+-73.316 40.692 3453
+-73.19 40.692 3454
+-73.064 40.692 3454
+-72.938 40.692 3455
+-72.812 40.692 3455
+-72.686 40.692 3455
+-72.56 40.692 3456
+-72.434 40.692 3456
+-72.308 40.692 3456
+-72.182 40.692 3383
+-72.056 40.692 3382
+-71.93 40.692 3382
+-71.804 40.692 3382
+-71.678 40.692 3382
+-71.552 40.692 3382
+-71.426 40.692 3382
+-71.3 40.692 3381
+-71.174 40.692 3381
+-71.048 40.692 3381
+-70.922 40.692 3381
+-70.796 40.692 3381
+-70.67 40.692 3380
+-70.544 40.692 3380
+-70.418 40.692 3380
+-70.292 40.692 3380
+-70.166 40.692 3380
+-70.04 40.692 3380
+-69.914 40.692 3379
+-69.788 40.692 3379
+-69.662 40.692 3379
+-69.536 40.692 3379
+-69.41 40.692 3379
+-69.284 40.692 3379
+-69.158 40.692 3378
+-69.032 40.692 3069
+-68.906 40.692 3068
+-68.78 40.692 3068
+-68.654 40.692 3067
+-68.528 40.692 3067
+-68.402 40.692 3066
+-68.276 40.692 3065
+-68.15 40.692 3065
+-68.024 40.692 3064
+-67.898 40.692 3064
+-67.772 40.692 3063
+-67.646 40.692 3063
+-67.52 40.692 3062
+-67.394 40.692 3062
+-67.268 40.692 3061
+-67.142 40.692 3061
+-67.016 40.692 3060
+-66.89 40.692 3060
+-66.764 40.692 2933
+-66.638 40.692 2932
+-66.512 40.692 2901
+-66.386 40.692 2854
+-66.26 40.692 2854
+-66.134 40.692 2853
+-66.008 40.692 2869
+-65.882 40.692 2868
+-65.756 40.692 2880
+-65.63 40.692 2879
+-65.504 40.692 2837
+-65.378 40.692 2802
+-65.252 40.692 2802
+-65.126 40.692 2801
+-128 40.64 2480
+-127.874 40.64 2441
+-127.748 40.64 2383
+-127.622 40.64 2328
+-127.496 40.64 2310
+-127.37 40.64 2303
+-127.244 40.64 2276
+-127.118 40.64 2322
+-126.992 40.64 2354
+-126.866 40.64 2399
+-126.74 40.64 2444
+-126.614 40.64 2492
+-126.488 40.64 2538
+-126.362 40.64 2579
+-126.236 40.64 2606
+-126.11 40.64 2659
+-125.984 40.64 2694
+-125.858 40.64 2725
+-125.732 40.64 2747
+-125.606 40.64 2770
+-125.48 40.64 2789
+-125.354 40.64 2804
+-125.228 40.64 2815
+-125.102 40.64 2822
+-124.976 40.64 2824
+-124.85 40.64 2814
+-124.724 40.64 2807
+-124.598 40.64 2771
+-124.472 40.64 2759
+-124.346 40.64 2745
+-124.22 40.64 2749
+-124.094 40.64 2716
+-123.968 40.64 2700
+-123.842 40.64 2686
+-123.716 40.64 2680
+-123.59 40.64 2680
+-123.464 40.64 2679
+-123.338 40.64 2682
+-123.212 40.64 2701
+-123.086 40.64 2740
+-122.96 40.64 2749
+-122.834 40.64 2774
+-122.708 40.64 2814
+-122.582 40.64 2811
+-122.456 40.64 2792
+-122.33 40.64 2800
+-122.204 40.64 2813
+-122.078 40.64 2814
+-121.952 40.64 2833
+-121.826 40.64 2841
+-121.7 40.64 2899
+-121.574 40.64 2916
+-121.448 40.64 3002
+-121.322 40.64 3058
+-121.196 40.64 3091
+-121.07 40.64 3131
+-120.944 40.64 3158
+-120.818 40.64 3179
+-120.692 40.64 3187
+-120.566 40.64 3192
+-120.44 40.64 3178
+-120.314 40.64 3177
+-120.188 40.64 3214
+-120.062 40.64 3282
+-119.936 40.64 3323
+-119.81 40.64 3347
+-119.684 40.64 3341
+-119.558 40.64 3337
+-119.432 40.64 3360
+-119.306 40.64 3391
+-119.18 40.64 3411
+-119.054 40.64 3419
+-118.928 40.64 3441
+-118.802 40.64 3430
+-118.676 40.64 3454
+-118.55 40.64 3455
+-118.424 40.64 3468
+-118.298 40.64 3463
+-118.172 40.64 3460
+-118.046 40.64 3431
+-117.92 40.64 3400
+-117.794 40.64 3379
+-117.668 40.64 3388
+-117.542 40.64 3399
+-117.416 40.64 3389
+-117.29 40.64 3361
+-117.164 40.64 3301
+-117.038 40.64 3268
+-116.912 40.64 3235
+-116.786 40.64 3209
+-116.66 40.64 3183
+-116.534 40.64 3137
+-116.408 40.64 3090
+-116.282 40.64 3050
+-116.156 40.64 2998
+-116.03 40.64 2951
+-115.904 40.64 2871
+-115.778 40.64 2851
+-115.652 40.64 2821
+-115.526 40.64 2795
+-115.4 40.64 2756
+-115.274 40.64 2707
+-115.148 40.64 2619
+-115.022 40.64 2542
+-114.896 40.64 2501
+-114.77 40.64 2511
+-114.644 40.64 2511
+-114.518 40.64 2516
+-114.392 40.64 2447
+-114.266 40.64 2414
+-114.14 40.64 2377
+-114.014 40.64 2330
+-113.888 40.64 2290
+-113.762 40.64 2197
+-113.636 40.64 2143
+-113.51 40.64 2091
+-113.384 40.64 2045
+-113.258 40.64 2014
+-113.132 40.64 1982
+-113.006 40.64 1937
+-112.88 40.64 1907
+-112.754 40.64 1870
+-112.628 40.64 1835
+-112.502 40.64 1799
+-112.376 40.64 1769
+-112.25 40.64 1747
+-112.124 40.64 1734
+-111.998 40.64 1728
+-111.872 40.64 1729
+-111.746 40.64 1733
+-111.62 40.64 1740
+-111.494 40.64 1751
+-111.368 40.64 1763
+-111.242 40.64 1779
+-111.116 40.64 1795
+-110.99 40.64 1812
+-110.864 40.64 1831
+-110.738 40.64 1841
+-110.612 40.64 1861
+-110.486 40.64 1807
+-110.36 40.64 1828
+-110.234 40.64 1846
+-110.108 40.64 1865
+-109.982 40.64 1832
+-109.856 40.64 1865
+-109.73 40.64 1875
+-109.604 40.64 1909
+-109.478 40.64 1925
+-109.352 40.64 1941
+-109.226 40.64 1955
+-109.1 40.64 1960
+-108.974 40.64 1987
+-108.848 40.64 2000
+-108.722 40.64 1966
+-108.596 40.64 2002
+-108.47 40.64 2015
+-108.344 40.64 2025
+-108.218 40.64 2037
+-108.092 40.64 1972
+-107.966 40.64 2055
+-107.84 40.64 2066
+-107.714 40.64 2047
+-107.588 40.64 2067
+-107.462 40.64 2076
+-107.336 40.64 2085
+-107.21 40.64 2067
+-107.084 40.64 2075
+-106.958 40.64 2082
+-106.832 40.64 2089
+-106.706 40.64 2085
+-106.58 40.64 2077
+-106.454 40.64 2080
+-106.328 40.64 2084
+-106.202 40.64 2078
+-106.076 40.64 1974
+-105.95 40.64 1954
+-105.824 40.64 1846
+-105.698 40.64 1869
+-105.572 40.64 1862
+-105.446 40.64 1857
+-105.32 40.64 1850
+-105.194 40.64 1849
+-105.068 40.64 1841
+-104.942 40.64 1833
+-104.816 40.64 1795
+-104.69 40.64 1836
+-104.564 40.64 1833
+-104.438 40.64 1814
+-104.312 40.64 1915
+-104.186 40.64 1943
+-104.06 40.64 1934
+-103.934 40.64 1971
+-103.808 40.64 2133
+-103.682 40.64 2125
+-103.556 40.64 2157
+-103.43 40.64 2169
+-103.304 40.64 2174
+-103.178 40.64 2233
+-103.052 40.64 2227
+-102.926 40.64 2227
+-102.8 40.64 2218
+-102.674 40.64 2210
+-102.548 40.64 2200
+-102.422 40.64 2191
+-102.296 40.64 2217
+-102.17 40.64 2206
+-102.044 40.64 2193
+-101.918 40.64 2180
+-101.792 40.64 2237
+-101.666 40.64 2220
+-101.54 40.64 2219
+-101.414 40.64 2199
+-101.288 40.64 2177
+-101.162 40.64 2154
+-101.036 40.64 2192
+-100.91 40.64 2132
+-100.784 40.64 2170
+-100.658 40.64 2145
+-100.532 40.64 2106
+-100.406 40.64 2123
+-100.28 40.64 2074
+-100.154 40.64 2017
+-100.028 40.64 1989
+-99.902 40.64 1910
+-99.776 40.64 1818
+-99.65 40.64 1711
+-99.524 40.64 1585
+-99.398 40.64 1448
+-99.272 40.64 1278
+-99.146 40.64 1087
+-99.02 40.64 887
+-98.894 40.64 696
+-98.768 40.64 552
+-98.642 40.64 501
+-98.516 40.64 577
+-98.39 40.64 788
+-98.264 40.64 1111
+-98.138 40.64 1455
+-98.012 40.64 1780
+-97.886 40.64 2121
+-97.76 40.64 2431
+-97.634 40.64 2733
+-97.508 40.64 2882
+-97.382 40.64 3007
+-97.256 40.64 3097
+-97.13 40.64 3169
+-97.004 40.64 3267
+-96.878 40.64 3317
+-96.752 40.64 3389
+-96.626 40.64 3454
+-96.5 40.64 3549
+-96.374 40.64 3551
+-96.248 40.64 3569
+-96.122 40.64 3579
+-95.996 40.64 3634
+-95.87 40.64 3715
+-95.744 40.64 3845
+-95.618 40.64 3984
+-95.492 40.64 4097
+-95.366 40.64 4186
+-95.24 40.64 4253
+-95.114 40.64 4241
+-94.988 40.64 4246
+-94.862 40.64 4337
+-94.736 40.64 4424
+-94.61 40.64 4532
+-94.484 40.64 4649
+-94.358 40.64 4755
+-94.232 40.64 4916
+-94.106 40.64 5084
+-93.98 40.64 5266
+-93.854 40.64 5336
+-93.728 40.64 5431
+-93.602 40.64 5549
+-93.476 40.64 5643
+-93.35 40.64 5723
+-93.224 40.64 5838
+-93.098 40.64 5974
+-92.972 40.64 6071
+-92.846 40.64 6159
+-92.72 40.64 6215
+-92.594 40.64 6355
+-92.468 40.64 6503
+-92.342 40.64 6612
+-92.216 40.64 6674
+-92.09 40.64 6733
+-91.964 40.64 6824
+-91.838 40.64 6901
+-91.712 40.64 6997
+-91.586 40.64 7039
+-91.46 40.64 7118
+-91.334 40.64 7192
+-91.208 40.64 7269
+-91.082 40.64 7307
+-90.956 40.64 7338
+-90.83 40.64 7363
+-90.704 40.64 7396
+-90.578 40.64 7408
+-90.452 40.64 7419
+-90.326 40.64 7417
+-90.2 40.64 7418
+-90.074 40.64 7415
+-89.948 40.64 7343
+-89.822 40.64 7327
+-89.696 40.64 7246
+-89.57 40.64 7217
+-89.444 40.64 7132
+-89.318 40.64 7042
+-89.192 40.64 7011
+-89.066 40.64 6923
+-88.94 40.64 6830
+-88.814 40.64 6757
+-88.688 40.64 6625
+-88.562 40.64 6565
+-88.436 40.64 6467
+-88.31 40.64 6399
+-88.184 40.64 6286
+-88.058 40.64 6324
+-87.932 40.64 6365
+-87.806 40.64 6348
+-87.68 40.64 6291
+-87.554 40.64 6227
+-87.428 40.64 6149
+-87.302 40.64 6098
+-87.176 40.64 5996
+-87.05 40.64 5901
+-86.924 40.64 5836
+-86.798 40.64 5749
+-86.672 40.64 5702
+-86.546 40.64 5605
+-86.42 40.64 5476
+-86.294 40.64 5493
+-86.168 40.64 5374
+-86.042 40.64 5264
+-85.916 40.64 5167
+-85.79 40.64 5106
+-85.664 40.64 5004
+-85.538 40.64 4866
+-85.412 40.64 4725
+-85.286 40.64 4662
+-85.16 40.64 4551
+-85.034 40.64 4441
+-84.908 40.64 4336
+-84.782 40.64 4240
+-84.656 40.64 4145
+-84.53 40.64 4041
+-84.404 40.64 3962
+-84.278 40.64 3864
+-84.152 40.64 3737
+-84.026 40.64 3622
+-83.9 40.64 3397
+-83.774 40.64 3188
+-83.648 40.64 3331
+-83.522 40.64 3454
+-83.396 40.64 3521
+-83.27 40.64 3556
+-83.144 40.64 3578
+-83.018 40.64 3593
+-82.892 40.64 3603
+-82.766 40.64 3612
+-82.64 40.64 3619
+-82.514 40.64 3626
+-82.388 40.64 3608
+-82.262 40.64 3623
+-82.136 40.64 3590
+-82.01 40.64 3543
+-81.884 40.64 3545
+-81.758 40.64 3547
+-81.632 40.64 3549
+-81.506 40.64 3551
+-81.38 40.64 3553
+-81.254 40.64 3558
+-81.128 40.64 3550
+-81.002 40.64 3554
+-80.876 40.64 3557
+-80.75 40.64 3561
+-80.624 40.64 3564
+-80.498 40.64 3567
+-80.372 40.64 3570
+-80.246 40.64 3573
+-80.12 40.64 3576
+-79.994 40.64 3578
+-79.868 40.64 3581
+-79.742 40.64 3538
+-79.616 40.64 3540
+-79.49 40.64 3543
+-79.364 40.64 3545
+-79.238 40.64 3547
+-79.112 40.64 3549
+-78.986 40.64 3519
+-78.86 40.64 3520
+-78.734 40.64 3521
+-78.608 40.64 3522
+-78.482 40.64 3540
+-78.356 40.64 3542
+-78.23 40.64 3544
+-78.104 40.64 3508
+-77.978 40.64 3510
+-77.852 40.64 3511
+-77.726 40.64 3589
+-77.6 40.64 3591
+-77.474 40.64 3593
+-77.348 40.64 3595
+-77.222 40.64 3596
+-77.096 40.64 3543
+-76.97 40.64 3543
+-76.844 40.64 3544
+-76.718 40.64 3545
+-76.592 40.64 3546
+-76.466 40.64 3547
+-76.34 40.64 3548
+-76.214 40.64 3548
+-76.088 40.64 3549
+-75.962 40.64 3550
+-75.836 40.64 3527
+-75.71 40.64 3517
+-75.584 40.64 3517
+-75.458 40.64 3518
+-75.332 40.64 3519
+-75.206 40.64 3520
+-75.08 40.64 3504
+-74.954 40.64 3504
+-74.828 40.64 3505
+-74.702 40.64 3505
+-74.576 40.64 3506
+-74.45 40.64 3506
+-74.324 40.64 3507
+-74.198 40.64 3507
+-74.072 40.64 3508
+-73.946 40.64 3452
+-73.82 40.64 3452
+-73.694 40.64 3452
+-73.568 40.64 3453
+-73.442 40.64 3453
+-73.316 40.64 3454
+-73.19 40.64 3454
+-73.064 40.64 3454
+-72.938 40.64 3455
+-72.812 40.64 3455
+-72.686 40.64 3455
+-72.56 40.64 3456
+-72.434 40.64 3456
+-72.308 40.64 3383
+-72.182 40.64 3383
+-72.056 40.64 3382
+-71.93 40.64 3382
+-71.804 40.64 3382
+-71.678 40.64 3382
+-71.552 40.64 3382
+-71.426 40.64 3381
+-71.3 40.64 3381
+-71.174 40.64 3381
+-71.048 40.64 3381
+-70.922 40.64 3381
+-70.796 40.64 3380
+-70.67 40.64 3380
+-70.544 40.64 3380
+-70.418 40.64 3380
+-70.292 40.64 3380
+-70.166 40.64 3380
+-70.04 40.64 3379
+-69.914 40.64 3379
+-69.788 40.64 3379
+-69.662 40.64 3379
+-69.536 40.64 3379
+-69.41 40.64 3379
+-69.284 40.64 3378
+-69.158 40.64 3069
+-69.032 40.64 3069
+-68.906 40.64 3068
+-68.78 40.64 3067
+-68.654 40.64 3067
+-68.528 40.64 3066
+-68.402 40.64 3066
+-68.276 40.64 3065
+-68.15 40.64 3064
+-68.024 40.64 3064
+-67.898 40.64 3063
+-67.772 40.64 3063
+-67.646 40.64 3062
+-67.52 40.64 3062
+-67.394 40.64 3061
+-67.268 40.64 3061
+-67.142 40.64 3060
+-67.016 40.64 3060
+-66.89 40.64 2933
+-66.764 40.64 2932
+-66.638 40.64 2901
+-66.512 40.64 2854
+-66.386 40.64 2854
+-66.26 40.64 2853
+-66.134 40.64 2869
+-66.008 40.64 2868
+-65.882 40.64 2880
+-65.756 40.64 2879
+-65.63 40.64 2837
+-65.504 40.64 2802
+-65.378 40.64 2801
+-65.252 40.64 2801
+-65.126 40.64 2801
+-128 40.588 2528
+-127.874 40.588 2473
+-127.748 40.588 2415
+-127.622 40.588 2396
+-127.496 40.588 2384
+-127.37 40.588 2342
+-127.244 40.588 2377
+-127.118 40.588 2392
+-126.992 40.588 2421
+-126.866 40.588 2450
+-126.74 40.588 2487
+-126.614 40.588 2524
+-126.488 40.588 2559
+-126.362 40.588 2582
+-126.236 40.588 2633
+-126.11 40.588 2668
+-125.984 40.588 2698
+-125.858 40.588 2720
+-125.732 40.588 2742
+-125.606 40.588 2761
+-125.48 40.588 2776
+-125.354 40.588 2787
+-125.228 40.588 2794
+-125.102 40.588 2797
+-124.976 40.588 2787
+-124.85 40.588 2780
+-124.724 40.588 2745
+-124.598 40.588 2734
+-124.472 40.588 2720
+-124.346 40.588 2690
+-124.22 40.588 2695
+-124.094 40.588 2678
+-123.968 40.588 2662
+-123.842 40.588 2644
+-123.716 40.588 2637
+-123.59 40.588 2631
+-123.464 40.588 2621
+-123.338 40.588 2621
+-123.212 40.588 2640
+-123.086 40.588 2662
+-122.96 40.588 2695
+-122.834 40.588 2744
+-122.708 40.588 2712
+-122.582 40.588 2724
+-122.456 40.588 2729
+-122.33 40.588 2728
+-122.204 40.588 2734
+-122.078 40.588 2755
+-121.952 40.588 2756
+-121.826 40.588 2761
+-121.7 40.588 2813
+-121.574 40.588 2835
+-121.448 40.588 2888
+-121.322 40.588 3006
+-121.196 40.588 3049
+-121.07 40.588 3084
+-120.944 40.588 3120
+-120.818 40.588 3133
+-120.692 40.588 3149
+-120.566 40.588 3134
+-120.44 40.588 3091
+-120.314 40.588 3068
+-120.188 40.588 3118
+-120.062 40.588 3217
+-119.936 40.588 3272
+-119.81 40.588 3289
+-119.684 40.588 3268
+-119.558 40.588 3249
+-119.432 40.588 3281
+-119.306 40.588 3335
+-119.18 40.588 3382
+-119.054 40.588 3391
+-118.928 40.588 3356
+-118.802 40.588 3404
+-118.676 40.588 3441
+-118.55 40.588 3455
+-118.424 40.588 3458
+-118.298 40.588 3449
+-118.172 40.588 3431
+-118.046 40.588 3401
+-117.92 40.588 3367
+-117.794 40.588 3360
+-117.668 40.588 3358
+-117.542 40.588 3357
+-117.416 40.588 3331
+-117.29 40.588 3289
+-117.164 40.588 3221
+-117.038 40.588 3197
+-116.912 40.588 3189
+-116.786 40.588 3163
+-116.66 40.588 3121
+-116.534 40.588 3075
+-116.408 40.588 3040
+-116.282 40.588 2966
+-116.156 40.588 2969
+-116.03 40.588 2900
+-115.904 40.588 2838
+-115.778 40.588 2793
+-115.652 40.588 2771
+-115.526 40.588 2747
+-115.4 40.588 2717
+-115.274 40.588 2678
+-115.148 40.588 2616
+-115.022 40.588 2571
+-114.896 40.588 2540
+-114.77 40.588 2525
+-114.644 40.588 2506
+-114.518 40.588 2462
+-114.392 40.588 2393
+-114.266 40.588 2346
+-114.14 40.588 2320
+-114.014 40.588 2298
+-113.888 40.588 2241
+-113.762 40.588 2207
+-113.636 40.588 2167
+-113.51 40.588 2122
+-113.384 40.588 2076
+-113.258 40.588 2033
+-113.132 40.588 1987
+-113.006 40.588 1938
+-112.88 40.588 1873
+-112.754 40.588 1819
+-112.628 40.588 1763
+-112.502 40.588 1711
+-112.376 40.588 1674
+-112.25 40.588 1650
+-112.124 40.588 1640
+-111.998 40.588 1640
+-111.872 40.588 1646
+-111.746 40.588 1656
+-111.62 40.588 1675
+-111.494 40.588 1689
+-111.368 40.588 1705
+-111.242 40.588 1722
+-111.116 40.588 1742
+-110.99 40.588 1763
+-110.864 40.588 1785
+-110.738 40.588 1808
+-110.612 40.588 1786
+-110.486 40.588 1813
+-110.36 40.588 1837
+-110.234 40.588 1860
+-110.108 40.588 1832
+-109.982 40.588 1868
+-109.856 40.588 1885
+-109.73 40.588 1867
+-109.604 40.588 1902
+-109.478 40.588 1912
+-109.352 40.588 1929
+-109.226 40.588 1936
+-109.1 40.588 1963
+-108.974 40.588 1979
+-108.848 40.588 1959
+-108.722 40.588 1972
+-108.596 40.588 2006
+-108.47 40.588 2027
+-108.344 40.588 2021
+-108.218 40.588 1975
+-108.092 40.588 2040
+-107.966 40.588 2051
+-107.84 40.588 2036
+-107.714 40.588 2055
+-107.588 40.588 2065
+-107.462 40.588 2074
+-107.336 40.588 2083
+-107.21 40.588 2091
+-107.084 40.588 2072
+-106.958 40.588 2079
+-106.832 40.588 2078
+-106.706 40.588 2086
+-106.58 40.588 2080
+-106.454 40.588 2079
+-106.328 40.588 2086
+-106.202 40.588 2092
+-106.076 40.588 1976
+-105.95 40.588 1959
+-105.824 40.588 1886
+-105.698 40.588 1874
+-105.572 40.588 1869
+-105.446 40.588 1864
+-105.32 40.588 1864
+-105.194 40.588 1857
+-105.068 40.588 1850
+-104.942 40.588 1841
+-104.816 40.588 1819
+-104.69 40.588 1843
+-104.564 40.588 1840
+-104.438 40.588 1835
+-104.312 40.588 1923
+-104.186 40.588 1950
+-104.06 40.588 1941
+-103.934 40.588 1978
+-103.808 40.588 2139
+-103.682 40.588 2132
+-103.556 40.588 2164
+-103.43 40.588 2176
+-103.304 40.588 2181
+-103.178 40.588 2240
+-103.052 40.588 2234
+-102.926 40.588 2235
+-102.8 40.588 2227
+-102.674 40.588 2218
+-102.548 40.588 2209
+-102.422 40.588 2200
+-102.296 40.588 2227
+-102.17 40.588 2216
+-102.044 40.588 2204
+-101.918 40.588 2265
+-101.792 40.588 2249
+-101.666 40.588 2233
+-101.54 40.588 2215
+-101.414 40.588 2212
+-101.288 40.588 2190
+-101.162 40.588 2167
+-101.036 40.588 2142
+-100.91 40.588 2177
+-100.784 40.588 2145
+-100.658 40.588 2148
+-100.532 40.588 2119
+-100.406 40.588 2074
+-100.28 40.588 2084
+-100.154 40.588 2027
+-100.028 40.588 1960
+-99.902 40.588 1918
+-99.776 40.588 1824
+-99.65 40.588 1714
+-99.524 40.588 1585
+-99.398 40.588 1433
+-99.272 40.588 1266
+-99.146 40.588 1067
+-99.02 40.588 855
+-98.894 40.588 651
+-98.768 40.588 494
+-98.642 40.588 432
+-98.516 40.588 507
+-98.39 40.588 729
+-98.264 40.588 1050
+-98.138 40.588 1425
+-98.012 40.588 1819
+-97.886 40.588 2172
+-97.76 40.588 2413
+-97.634 40.588 2627
+-97.508 40.588 2873
+-97.382 40.588 2986
+-97.256 40.588 3074
+-97.13 40.588 3207
+-97.004 40.588 3265
+-96.878 40.588 3315
+-96.752 40.588 3359
+-96.626 40.588 3416
+-96.5 40.588 3582
+-96.374 40.588 3609
+-96.248 40.588 3631
+-96.122 40.588 3700
+-95.996 40.588 3775
+-95.87 40.588 3835
+-95.744 40.588 3915
+-95.618 40.588 4047
+-95.492 40.588 4154
+-95.366 40.588 4222
+-95.24 40.588 4292
+-95.114 40.588 4338
+-94.988 40.588 4359
+-94.862 40.588 4310
+-94.736 40.588 4412
+-94.61 40.588 4526
+-94.484 40.588 4665
+-94.358 40.588 4751
+-94.232 40.588 4907
+-94.106 40.588 5113
+-93.98 40.588 5242
+-93.854 40.588 5358
+-93.728 40.588 5497
+-93.602 40.588 5576
+-93.476 40.588 5585
+-93.35 40.588 5789
+-93.224 40.588 5833
+-93.098 40.588 5952
+-92.972 40.588 6064
+-92.846 40.588 6196
+-92.72 40.588 6311
+-92.594 40.588 6365
+-92.468 40.588 6530
+-92.342 40.588 6562
+-92.216 40.588 6678
+-92.09 40.588 6773
+-91.964 40.588 6817
+-91.838 40.588 6949
+-91.712 40.588 7045
+-91.586 40.588 7127
+-91.46 40.588 7135
+-91.334 40.588 7252
+-91.208 40.588 7324
+-91.082 40.588 7366
+-90.956 40.588 7404
+-90.83 40.588 7439
+-90.704 40.588 7444
+-90.578 40.588 7442
+-90.452 40.588 7485
+-90.326 40.588 7467
+-90.2 40.588 7436
+-90.074 40.588 7426
+-89.948 40.588 7385
+-89.822 40.588 7338
+-89.696 40.588 7322
+-89.57 40.588 7256
+-89.444 40.588 7179
+-89.318 40.588 7131
+-89.192 40.588 7091
+-89.066 40.588 6968
+-88.94 40.588 6868
+-88.814 40.588 6800
+-88.688 40.588 6679
+-88.562 40.588 6594
+-88.436 40.588 6470
+-88.31 40.588 6434
+-88.184 40.588 6270
+-88.058 40.588 6470
+-87.932 40.588 6431
+-87.806 40.588 6381
+-87.68 40.588 6307
+-87.554 40.588 6233
+-87.428 40.588 6199
+-87.302 40.588 6118
+-87.176 40.588 6079
+-87.05 40.588 5978
+-86.924 40.588 5944
+-86.798 40.588 5790
+-86.672 40.588 5698
+-86.546 40.588 5629
+-86.42 40.588 5593
+-86.294 40.588 5528
+-86.168 40.588 5422
+-86.042 40.588 5319
+-85.916 40.588 5226
+-85.79 40.588 5121
+-85.664 40.588 5028
+-85.538 40.588 4899
+-85.412 40.588 4747
+-85.286 40.588 4658
+-85.16 40.588 4597
+-85.034 40.588 4458
+-84.908 40.588 4348
+-84.782 40.588 4233
+-84.656 40.588 4166
+-84.53 40.588 4023
+-84.404 40.588 3991
+-84.278 40.588 3846
+-84.152 40.588 3739
+-84.026 40.588 3672
+-83.9 40.588 3521
+-83.774 40.588 3368
+-83.648 40.588 3408
+-83.522 40.588 3485
+-83.396 40.588 3533
+-83.27 40.588 3563
+-83.144 40.588 3581
+-83.018 40.588 3594
+-82.892 40.588 3603
+-82.766 40.588 3611
+-82.64 40.588 3619
+-82.514 40.588 3627
+-82.388 40.588 3617
+-82.262 40.588 3585
+-82.136 40.588 3550
+-82.01 40.588 3553
+-81.884 40.588 3545
+-81.758 40.588 3547
+-81.632 40.588 3549
+-81.506 40.588 3551
+-81.38 40.588 3556
+-81.254 40.588 3549
+-81.128 40.588 3553
+-81.002 40.588 3557
+-80.876 40.588 3561
+-80.75 40.588 3564
+-80.624 40.588 3567
+-80.498 40.588 3570
+-80.372 40.588 3573
+-80.246 40.588 3576
+-80.12 40.588 3579
+-79.994 40.588 3581
+-79.868 40.588 3541
+-79.742 40.588 3543
+-79.616 40.588 3545
+-79.49 40.588 3548
+-79.364 40.588 3550
+-79.238 40.588 3552
+-79.112 40.588 3521
+-78.986 40.588 3523
+-78.86 40.588 3524
+-78.734 40.588 3525
+-78.608 40.588 3543
+-78.482 40.588 3545
+-78.356 40.588 3547
+-78.23 40.588 3511
+-78.104 40.588 3512
+-77.978 40.588 3513
+-77.852 40.588 3589
+-77.726 40.588 3591
+-77.6 40.588 3593
+-77.474 40.588 3594
+-77.348 40.588 3596
+-77.222 40.588 3543
+-77.096 40.588 3543
+-76.97 40.588 3544
+-76.844 40.588 3545
+-76.718 40.588 3546
+-76.592 40.588 3547
+-76.466 40.588 3548
+-76.34 40.588 3548
+-76.214 40.588 3549
+-76.088 40.588 3550
+-75.962 40.588 3527
+-75.836 40.588 3517
+-75.71 40.588 3517
+-75.584 40.588 3518
+-75.458 40.588 3519
+-75.332 40.588 3520
+-75.206 40.588 3520
+-75.08 40.588 3505
+-74.954 40.588 3505
+-74.828 40.588 3506
+-74.702 40.588 3506
+-74.576 40.588 3506
+-74.45 40.588 3507
+-74.324 40.588 3507
+-74.198 40.588 3508
+-74.072 40.588 3452
+-73.946 40.588 3452
+-73.82 40.588 3452
+-73.694 40.588 3453
+-73.568 40.588 3453
+-73.442 40.588 3454
+-73.316 40.588 3454
+-73.19 40.588 3454
+-73.064 40.588 3455
+-72.938 40.588 3455
+-72.812 40.588 3455
+-72.686 40.588 3456
+-72.56 40.588 3456
+-72.434 40.588 3383
+-72.308 40.588 3383
+-72.182 40.588 3382
+-72.056 40.588 3382
+-71.93 40.588 3382
+-71.804 40.588 3382
+-71.678 40.588 3382
+-71.552 40.588 3381
+-71.426 40.588 3381
+-71.3 40.588 3381
+-71.174 40.588 3381
+-71.048 40.588 3381
+-70.922 40.588 3380
+-70.796 40.588 3380
+-70.67 40.588 3380
+-70.544 40.588 3380
+-70.418 40.588 3380
+-70.292 40.588 3379
+-70.166 40.588 3379
+-70.04 40.588 3379
+-69.914 40.588 3379
+-69.788 40.588 3379
+-69.662 40.588 3379
+-69.536 40.588 3378
+-69.41 40.588 3378
+-69.284 40.588 3069
+-69.158 40.588 3069
+-69.032 40.588 3068
+-68.906 40.588 3067
+-68.78 40.588 3067
+-68.654 40.588 3066
+-68.528 40.588 3066
+-68.402 40.588 3065
+-68.276 40.588 3064
+-68.15 40.588 3064
+-68.024 40.588 3063
+-67.898 40.588 3063
+-67.772 40.588 3062
+-67.646 40.588 3062
+-67.52 40.588 3061
+-67.394 40.588 3061
+-67.268 40.588 3060
+-67.142 40.588 3060
+-67.016 40.588 2933
+-66.89 40.588 2932
+-66.764 40.588 2901
+-66.638 40.588 2854
+-66.512 40.588 2853
+-66.386 40.588 2853
+-66.26 40.588 2869
+-66.134 40.588 2868
+-66.008 40.588 2880
+-65.882 40.588 2879
+-65.756 40.588 2837
+-65.63 40.588 2801
+-65.504 40.588 2801
+-65.378 40.588 2801
+-65.252 40.588 2801
+-65.126 40.588 2823
+-128 40.536 2545
+-127.874 40.536 2486
+-127.748 40.536 2468
+-127.622 40.536 2455
+-127.496 40.536 2403
+-127.37 40.536 2434
+-127.244 40.536 2438
+-127.118 40.536 2454
+-126.992 40.536 2470
+-126.866 40.536 2495
+-126.74 40.536 2522
+-126.614 40.536 2549
+-126.488 40.536 2567
+-126.362 40.536 2614
+-126.236 40.536 2646
+-126.11 40.536 2675
+-125.984 40.536 2696
+-125.858 40.536 2718
+-125.732 40.536 2737
+-125.606 40.536 2751
+-125.48 40.536 2763
+-125.354 40.536 2770
+-125.228 40.536 2773
+-125.102 40.536 2763
+-124.976 40.536 2757
+-124.85 40.536 2721
+-124.724 40.536 2710
+-124.598 40.536 2696
+-124.472 40.536 2665
+-124.346 40.536 2643
+-124.22 40.536 2653
+-124.094 40.536 2633
+-123.968 40.536 2607
+-123.842 40.536 2586
+-123.716 40.536 2559
+-123.59 40.536 2522
+-123.464 40.536 2506
+-123.338 40.536 2519
+-123.212 40.536 2557
+-123.086 40.536 2600
+-122.96 40.536 2659
+-122.834 40.536 2644
+-122.708 40.536 2665
+-122.582 40.536 2678
+-122.456 40.536 2684
+-122.33 40.536 2679
+-122.204 40.536 2676
+-122.078 40.536 2662
+-121.952 40.536 2644
+-121.826 40.536 2656
+-121.7 40.536 2696
+-121.574 40.536 2725
+-121.448 40.536 2792
+-121.322 40.536 2890
+-121.196 40.536 2954
+-121.07 40.536 3033
+-120.944 40.536 3070
+-120.818 40.536 3103
+-120.692 40.536 3109
+-120.566 40.536 3090
+-120.44 40.536 3045
+-120.314 40.536 3011
+-120.188 40.536 3062
+-120.062 40.536 3170
+-119.936 40.536 3237
+-119.81 40.536 3251
+-119.684 40.536 3230
+-119.558 40.536 3205
+-119.432 40.536 3235
+-119.306 40.536 3287
+-119.18 40.536 3345
+-119.054 40.536 3375
+-118.928 40.536 3379
+-118.802 40.536 3400
+-118.676 40.536 3425
+-118.55 40.536 3439
+-118.424 40.536 3437
+-118.298 40.536 3432
+-118.172 40.536 3413
+-118.046 40.536 3381
+-117.92 40.536 3350
+-117.794 40.536 3328
+-117.668 40.536 3339
+-117.542 40.536 3333
+-117.416 40.536 3306
+-117.29 40.536 3259
+-117.164 40.536 3199
+-117.038 40.536 3188
+-116.912 40.536 3170
+-116.786 40.536 3114
+-116.66 40.536 3052
+-116.534 40.536 2999
+-116.408 40.536 2968
+-116.282 40.536 2940
+-116.156 40.536 2902
+-116.03 40.536 2862
+-115.904 40.536 2770
+-115.778 40.536 2735
+-115.652 40.536 2708
+-115.526 40.536 2689
+-115.4 40.536 2673
+-115.274 40.536 2654
+-115.148 40.536 2609
+-115.022 40.536 2580
+-114.896 40.536 2551
+-114.77 40.536 2519
+-114.644 40.536 2465
+-114.518 40.536 2415
+-114.392 40.536 2329
+-114.266 40.536 2291
+-114.14 40.536 2257
+-114.014 40.536 2254
+-113.888 40.536 2219
+-113.762 40.536 2201
+-113.636 40.536 2173
+-113.51 40.536 2134
+-113.384 40.536 2088
+-113.258 40.536 2035
+-113.132 40.536 1980
+-113.006 40.536 1913
+-112.88 40.536 1836
+-112.754 40.536 1745
+-112.628 40.536 1670
+-112.502 40.536 1605
+-112.376 40.536 1559
+-112.25 40.536 1537
+-112.124 40.536 1535
+-111.998 40.536 1545
+-111.872 40.536 1559
+-111.746 40.536 1584
+-111.62 40.536 1603
+-111.494 40.536 1622
+-111.368 40.536 1642
+-111.242 40.536 1662
+-111.116 40.536 1684
+-110.99 40.536 1710
+-110.864 40.536 1735
+-110.738 40.536 1731
+-110.612 40.536 1757
+-110.486 40.536 1777
+-110.36 40.536 1800
+-110.234 40.536 1826
+-110.108 40.536 1852
+-109.982 40.536 1894
+-109.856 40.536 1869
+-109.73 40.536 1891
+-109.604 40.536 1927
+-109.478 40.536 1909
+-109.352 40.536 1920
+-109.226 40.536 1938
+-109.1 40.536 1955
+-108.974 40.536 1947
+-108.848 40.536 1962
+-108.722 40.536 1987
+-108.596 40.536 2010
+-108.47 40.536 2024
+-108.344 40.536 1961
+-108.218 40.536 1972
+-108.092 40.536 2035
+-107.966 40.536 2023
+-107.84 40.536 2042
+-107.714 40.536 2053
+-107.588 40.536 2063
+-107.462 40.536 2072
+-107.336 40.536 2081
+-107.21 40.536 2089
+-107.084 40.536 2080
+-106.958 40.536 2071
+-106.832 40.536 2078
+-106.706 40.536 2076
+-106.58 40.536 2074
+-106.454 40.536 2081
+-106.328 40.536 2088
+-106.202 40.536 2085
+-106.076 40.536 2076
+-105.95 40.536 1964
+-105.824 40.536 1892
+-105.698 40.536 1889
+-105.572 40.536 1884
+-105.446 40.536 1879
+-105.32 40.536 1873
+-105.194 40.536 1866
+-105.068 40.536 1858
+-104.942 40.536 1868
+-104.816 40.536 1912
+-104.69 40.536 1871
+-104.564 40.536 1865
+-104.438 40.536 1971
+-104.312 40.536 1947
+-104.186 40.536 1978
+-104.06 40.536 1949
+-103.934 40.536 1985
+-103.808 40.536 2146
+-103.682 40.536 2139
+-103.556 40.536 2129
+-103.43 40.536 2183
+-103.304 40.536 2189
+-103.178 40.536 2247
+-103.052 40.536 2242
+-102.926 40.536 2243
+-102.8 40.536 2235
+-102.674 40.536 2227
+-102.548 40.536 2219
+-102.422 40.536 2209
+-102.296 40.536 2250
+-102.17 40.536 2227
+-102.044 40.536 2280
+-101.918 40.536 2318
+-101.792 40.536 2303
+-101.666 40.536 2286
+-101.54 40.536 2267
+-101.414 40.536 2248
+-101.288 40.536 2205
+-101.162 40.536 2182
+-101.036 40.536 2222
+-100.91 40.536 2194
+-100.784 40.536 2162
+-100.658 40.536 2127
+-100.532 40.536 2125
+-100.406 40.536 2091
+-100.28 40.536 2041
+-100.154 40.536 2066
+-100.028 40.536 1999
+-99.902 40.536 1921
+-99.776 40.536 1844
+-99.65 40.536 1736
+-99.524 40.536 1609
+-99.398 40.536 1460
+-99.272 40.536 1289
+-99.146 40.536 1104
+-99.02 40.536 899
+-98.894 40.536 705
+-98.768 40.536 556
+-98.642 40.536 500
+-98.516 40.536 573
+-98.39 40.536 798
+-98.264 40.536 1137
+-98.138 40.536 1523
+-98.012 40.536 1864
+-97.886 40.536 2193
+-97.76 40.536 2424
+-97.634 40.536 2602
+-97.508 40.536 2768
+-97.382 40.536 2976
+-97.256 40.536 3118
+-97.13 40.536 3185
+-97.004 40.536 3243
+-96.878 40.536 3294
+-96.752 40.536 3343
+-96.626 40.536 3497
+-96.5 40.536 3540
+-96.374 40.536 3628
+-96.248 40.536 3709
+-96.122 40.536 3751
+-95.996 40.536 3840
+-95.87 40.536 3905
+-95.744 40.536 3980
+-95.618 40.536 4112
+-95.492 40.536 4194
+-95.366 40.536 4252
+-95.24 40.536 4330
+-95.114 40.536 4388
+-94.988 40.536 4418
+-94.862 40.536 4434
+-94.736 40.536 4448
+-94.61 40.536 4579
+-94.484 40.536 4709
+-94.358 40.536 4755
+-94.232 40.536 4954
+-94.106 40.536 5110
+-93.98 40.536 5202
+-93.854 40.536 5354
+-93.728 40.536 5498
+-93.602 40.536 5579
+-93.476 40.536 5675
+-93.35 40.536 5725
+-93.224 40.536 5859
+-93.098 40.536 5966
+-92.972 40.536 6083
+-92.846 40.536 6239
+-92.72 40.536 6400
+-92.594 40.536 6476
+-92.468 40.536 6556
+-92.342 40.536 6651
+-92.216 40.536 6726
+-92.09 40.536 6802
+-91.964 40.536 6907
+-91.838 40.536 7018
+-91.712 40.536 7116
+-91.586 40.536 7185
+-91.46 40.536 7258
+-91.334 40.536 7298
+-91.208 40.536 7363
+-91.082 40.536 7386
+-90.956 40.536 7440
+-90.83 40.536 7481
+-90.704 40.536 7507
+-90.578 40.536 7532
+-90.452 40.536 7527
+-90.326 40.536 7533
+-90.2 40.536 7506
+-90.074 40.536 7496
+-89.948 40.536 7442
+-89.822 40.536 7408
+-89.696 40.536 7351
+-89.57 40.536 7323
+-89.444 40.536 7234
+-89.318 40.536 7136
+-89.192 40.536 7088
+-89.066 40.536 7019
+-88.94 40.536 6917
+-88.814 40.536 6866
+-88.688 40.536 6746
+-88.562 40.536 6645
+-88.436 40.536 6511
+-88.31 40.536 6421
+-88.184 40.536 6332
+-88.058 40.536 6521
+-87.932 40.536 6457
+-87.806 40.536 6414
+-87.68 40.536 6363
+-87.554 40.536 6306
+-87.428 40.536 6260
+-87.302 40.536 6177
+-87.176 40.536 6073
+-87.05 40.536 6063
+-86.924 40.536 5945
+-86.798 40.536 5810
+-86.672 40.536 5721
+-86.546 40.536 5682
+-86.42 40.536 5652
+-86.294 40.536 5541
+-86.168 40.536 5382
+-86.042 40.536 5384
+-85.916 40.536 5249
+-85.79 40.536 5167
+-85.664 40.536 5083
+-85.538 40.536 4931
+-85.412 40.536 4750
+-85.286 40.536 4650
+-85.16 40.536 4644
+-85.034 40.536 4533
+-84.908 40.536 4377
+-84.782 40.536 4294
+-84.656 40.536 4194
+-84.53 40.536 4077
+-84.404 40.536 3993
+-84.278 40.536 3822
+-84.152 40.536 3694
+-84.026 40.536 3696
+-83.9 40.536 3608
+-83.774 40.536 3535
+-83.648 40.536 3513
+-83.522 40.536 3524
+-83.396 40.536 3551
+-83.27 40.536 3571
+-83.144 40.536 3584
+-83.018 40.536 3594
+-82.892 40.536 3601
+-82.766 40.536 3611
+-82.64 40.536 3618
+-82.514 40.536 3610
+-82.388 40.536 3578
+-82.262 40.536 3582
+-82.136 40.536 3585
+-82.01 40.536 3551
+-81.884 40.536 3555
+-81.758 40.536 3576
+-81.632 40.536 3549
+-81.506 40.536 3555
+-81.38 40.536 3548
+-81.254 40.536 3552
+-81.128 40.536 3556
+-81.002 40.536 3560
+-80.876 40.536 3564
+-80.75 40.536 3568
+-80.624 40.536 3571
+-80.498 40.536 3574
+-80.372 40.536 3577
+-80.246 40.536 3579
+-80.12 40.536 3582
+-79.994 40.536 3584
+-79.868 40.536 3587
+-79.742 40.536 3548
+-79.616 40.536 3550
+-79.49 40.536 3553
+-79.364 40.536 3607
+-79.238 40.536 3590
+-79.112 40.536 3592
+-78.986 40.536 3594
+-78.86 40.536 3596
+-78.734 40.536 3545
+-78.608 40.536 3547
+-78.482 40.536 3549
+-78.356 40.536 3514
+-78.23 40.536 3515
+-78.104 40.536 3516
+-77.978 40.536 3588
+-77.852 40.536 3590
+-77.726 40.536 3592
+-77.6 40.536 3594
+-77.474 40.536 3596
+-77.348 40.536 3543
+-77.222 40.536 3544
+-77.096 40.536 3544
+-76.97 40.536 3545
+-76.844 40.536 3546
+-76.718 40.536 3547
+-76.592 40.536 3548
+-76.466 40.536 3549
+-76.34 40.536 3549
+-76.214 40.536 3550
+-76.088 40.536 3527
+-75.962 40.536 3517
+-75.836 40.536 3518
+-75.71 40.536 3518
+-75.584 40.536 3519
+-75.458 40.536 3520
+-75.332 40.536 3504
+-75.206 40.536 3505
+-75.08 40.536 3505
+-74.954 40.536 3506
+-74.828 40.536 3506
+-74.702 40.536 3507
+-74.576 40.536 3507
+-74.45 40.536 3507
+-74.324 40.536 3508
+-74.198 40.536 3451
+-74.072 40.536 3452
+-73.946 40.536 3452
+-73.82 40.536 3453
+-73.694 40.536 3453
+-73.568 40.536 3453
+-73.442 40.536 3454
+-73.316 40.536 3454
+-73.19 40.536 3454
+-73.064 40.536 3455
+-72.938 40.536 3455
+-72.812 40.536 3456
+-72.686 40.536 3456
+-72.56 40.536 3383
+-72.434 40.536 3383
+-72.308 40.536 3382
+-72.182 40.536 3382
+-72.056 40.536 3382
+-71.93 40.536 3382
+-71.804 40.536 3382
+-71.678 40.536 3381
+-71.552 40.536 3381
+-71.426 40.536 3381
+-71.3 40.536 3381
+-71.174 40.536 3381
+-71.048 40.536 3380
+-70.922 40.536 3380
+-70.796 40.536 3380
+-70.67 40.536 3380
+-70.544 40.536 3380
+-70.418 40.536 3379
+-70.292 40.536 3379
+-70.166 40.536 3379
+-70.04 40.536 3379
+-69.914 40.536 3379
+-69.788 40.536 3379
+-69.662 40.536 3378
+-69.536 40.536 3378
+-69.41 40.536 3069
+-69.284 40.536 3069
+-69.158 40.536 3068
+-69.032 40.536 3067
+-68.906 40.536 3067
+-68.78 40.536 3066
+-68.654 40.536 3066
+-68.528 40.536 3065
+-68.402 40.536 3064
+-68.276 40.536 3064
+-68.15 40.536 3063
+-68.024 40.536 3063
+-67.898 40.536 3062
+-67.772 40.536 3062
+-67.646 40.536 3061
+-67.52 40.536 3060
+-67.394 40.536 3060
+-67.268 40.536 3059
+-67.142 40.536 2933
+-67.016 40.536 2932
+-66.89 40.536 2901
+-66.764 40.536 2854
+-66.638 40.536 2853
+-66.512 40.536 2853
+-66.386 40.536 2869
+-66.26 40.536 2868
+-66.134 40.536 2880
+-66.008 40.536 2879
+-65.882 40.536 2837
+-65.756 40.536 2801
+-65.63 40.536 2801
+-65.504 40.536 2801
+-65.378 40.536 2800
+-65.252 40.536 2822
+-65.126 40.536 2828
+-128 40.484 2545
+-127.874 40.484 2529
+-127.748 40.484 2515
+-127.622 40.484 2457
+-127.496 40.484 2486
+-127.37 40.484 2484
+-127.244 40.484 2492
+-127.118 40.484 2497
+-126.992 40.484 2512
+-126.866 40.484 2530
+-126.74 40.484 2549
+-126.614 40.484 2560
+-126.488 40.484 2602
+-126.362 40.484 2631
+-126.236 40.484 2657
+-126.11 40.484 2676
+-125.984 40.484 2697
+-125.858 40.484 2715
+-125.732 40.484 2730
+-125.606 40.484 2741
+-125.48 40.484 2748
+-125.354 40.484 2752
+-125.228 40.484 2743
+-125.102 40.484 2736
+-124.976 40.484 2700
+-124.85 40.484 2688
+-124.724 40.484 2673
+-124.598 40.484 2641
+-124.472 40.484 2617
+-124.346 40.484 2600
+-124.22 40.484 2583
+-124.094 40.484 2577
+-123.968 40.484 2554
+-123.842 40.484 2525
+-123.716 40.484 2477
+-123.59 40.484 2427
+-123.464 40.484 2401
+-123.338 40.484 2429
+-123.212 40.484 2487
+-123.086 40.484 2541
+-122.96 40.484 2568
+-122.834 40.484 2599
+-122.708 40.484 2621
+-122.582 40.484 2636
+-122.456 40.484 2637
+-122.33 40.484 2626
+-122.204 40.484 2616
+-122.078 40.484 2582
+-121.952 40.484 2541
+-121.826 40.484 2508
+-121.7 40.484 2533
+-121.574 40.484 2564
+-121.448 40.484 2651
+-121.322 40.484 2788
+-121.196 40.484 2877
+-121.07 40.484 2970
+-120.944 40.484 3025
+-120.818 40.484 3060
+-120.692 40.484 3076
+-120.566 40.484 3072
+-120.44 40.484 3056
+-120.314 40.484 3042
+-120.188 40.484 3074
+-120.062 40.484 3166
+-119.936 40.484 3213
+-119.81 40.484 3237
+-119.684 40.484 3222
+-119.558 40.484 3210
+-119.432 40.484 3199
+-119.306 40.484 3232
+-119.18 40.484 3279
+-119.054 40.484 3335
+-118.928 40.484 3358
+-118.802 40.484 3383
+-118.676 40.484 3406
+-118.55 40.484 3407
+-118.424 40.484 3404
+-118.298 40.484 3396
+-118.172 40.484 3376
+-118.046 40.484 3355
+-117.92 40.484 3337
+-117.794 40.484 3329
+-117.668 40.484 3323
+-117.542 40.484 3313
+-117.416 40.484 3277
+-117.29 40.484 3238
+-117.164 40.484 3188
+-117.038 40.484 3177
+-116.912 40.484 3141
+-116.786 40.484 3067
+-116.66 40.484 2993
+-116.534 40.484 2945
+-116.408 40.484 2919
+-116.282 40.484 2898
+-116.156 40.484 2866
+-116.03 40.484 2807
+-115.904 40.484 2740
+-115.778 40.484 2675
+-115.652 40.484 2643
+-115.526 40.484 2632
+-115.4 40.484 2624
+-115.274 40.484 2619
+-115.148 40.484 2601
+-115.022 40.484 2562
+-114.896 40.484 2532
+-114.77 40.484 2489
+-114.644 40.484 2424
+-114.518 40.484 2338
+-114.392 40.484 2222
+-114.266 40.484 2169
+-114.14 40.484 2180
+-114.014 40.484 2200
+-113.888 40.484 2192
+-113.762 40.484 2194
+-113.636 40.484 2176
+-113.51 40.484 2141
+-113.384 40.484 2093
+-113.258 40.484 2033
+-113.132 40.484 1959
+-113.006 40.484 1874
+-112.88 40.484 1774
+-112.754 40.484 1665
+-112.628 40.484 1552
+-112.502 40.484 1470
+-112.376 40.484 1420
+-112.25 40.484 1404
+-112.124 40.484 1416
+-111.998 40.484 1442
+-111.872 40.484 1474
+-111.746 40.484 1503
+-111.62 40.484 1528
+-111.494 40.484 1551
+-111.368 40.484 1574
+-111.242 40.484 1598
+-111.116 40.484 1625
+-110.99 40.484 1655
+-110.864 40.484 1658
+-110.738 40.484 1688
+-110.612 40.484 1715
+-110.486 40.484 1747
+-110.36 40.484 1779
+-110.234 40.484 1808
+-110.108 40.484 1828
+-109.982 40.484 1876
+-109.856 40.484 1897
+-109.73 40.484 1878
+-109.604 40.484 1916
+-109.478 40.484 1933
+-109.352 40.484 1911
+-109.226 40.484 1895
+-109.1 40.484 1925
+-108.974 40.484 1942
+-108.848 40.484 1966
+-108.722 40.484 1992
+-108.596 40.484 2008
+-108.47 40.484 1953
+-108.344 40.484 1965
+-108.218 40.484 1953
+-108.092 40.484 1964
+-107.966 40.484 2021
+-107.84 40.484 2052
+-107.714 40.484 2051
+-107.588 40.484 2061
+-107.462 40.484 2071
+-107.336 40.484 2080
+-107.21 40.484 2074
+-107.084 40.484 2064
+-106.958 40.484 2065
+-106.832 40.484 2076
+-106.706 40.484 2079
+-106.58 40.484 2076
+-106.454 40.484 2083
+-106.328 40.484 2083
+-106.202 40.484 2074
+-106.076 40.484 2080
+-105.95 40.484 2008
+-105.824 40.484 1901
+-105.698 40.484 1897
+-105.572 40.484 1893
+-105.446 40.484 1888
+-105.32 40.484 1882
+-105.194 40.484 1875
+-105.068 40.484 1886
+-104.942 40.484 1931
+-104.816 40.484 1922
+-104.69 40.484 1895
+-104.564 40.484 1873
+-104.438 40.484 1997
+-104.312 40.484 1954
+-104.186 40.484 1986
+-104.06 40.484 1977
+-103.934 40.484 2010
+-103.808 40.484 2164
+-103.682 40.484 2146
+-103.556 40.484 2137
+-103.43 40.484 2190
+-103.304 40.484 2197
+-103.178 40.484 2255
+-103.052 40.484 2249
+-102.926 40.484 2251
+-102.8 40.484 2244
+-102.674 40.484 2236
+-102.548 40.484 2228
+-102.422 40.484 2219
+-102.296 40.484 2260
+-102.17 40.484 2278
+-102.044 40.484 2266
+-101.918 40.484 2332
+-101.792 40.484 2317
+-101.666 40.484 2300
+-101.54 40.484 2282
+-101.414 40.484 2263
+-101.288 40.484 2242
+-101.162 40.484 2265
+-101.036 40.484 2240
+-100.91 40.484 2212
+-100.784 40.484 2182
+-100.658 40.484 2147
+-100.532 40.484 2109
+-100.406 40.484 2102
+-100.28 40.484 2064
+-100.154 40.484 2008
+-100.028 40.484 2025
+-99.902 40.484 1951
+-99.776 40.484 1864
+-99.65 40.484 1792
+-99.524 40.484 1671
+-99.398 40.484 1531
+-99.272 40.484 1372
+-99.146 40.484 1197
+-99.02 40.484 1022
+-98.894 40.484 852
+-98.768 40.484 729
+-98.642 40.484 690
+-98.516 40.484 778
+-98.39 40.484 1001
+-98.264 40.484 1297
+-98.138 40.484 1635
+-98.012 40.484 1945
+-97.886 40.484 2205
+-97.76 40.484 2454
+-97.634 40.484 2616
+-97.508 40.484 2878
+-97.382 40.484 2973
+-97.256 40.484 3095
+-97.13 40.484 3155
+-97.004 40.484 3208
+-96.878 40.484 3259
+-96.752 40.484 3311
+-96.626 40.484 3467
+-96.5 40.484 3519
+-96.374 40.484 3606
+-96.248 40.484 3713
+-96.122 40.484 3800
+-95.996 40.484 3867
+-95.87 40.484 3939
+-95.744 40.484 4030
+-95.618 40.484 4160
+-95.492 40.484 4216
+-95.366 40.484 4265
+-95.24 40.484 4356
+-95.114 40.484 4423
+-94.988 40.484 4475
+-94.862 40.484 4498
+-94.736 40.484 4543
+-94.61 40.484 4626
+-94.484 40.484 4688
+-94.358 40.484 4772
+-94.232 40.484 4967
+-94.106 40.484 5061
+-93.98 40.484 5210
+-93.854 40.484 5389
+-93.728 40.484 5425
+-93.602 40.484 5533
+-93.476 40.484 5667
+-93.35 40.484 5776
+-93.224 40.484 5962
+-93.098 40.484 6003
+-92.972 40.484 6154
+-92.846 40.484 6328
+-92.72 40.484 6435
+-92.594 40.484 6480
+-92.468 40.484 6549
+-92.342 40.484 6682
+-92.216 40.484 6725
+-92.09 40.484 6863
+-91.964 40.484 6994
+-91.838 40.484 7043
+-91.712 40.484 7119
+-91.586 40.484 7220
+-91.46 40.484 7270
+-91.334 40.484 7338
+-91.208 40.484 7385
+-91.082 40.484 7459
+-90.956 40.484 7522
+-90.83 40.484 7520
+-90.704 40.484 7562
+-90.578 40.484 7577
+-90.452 40.484 7575
+-90.326 40.484 7573
+-90.2 40.484 7570
+-90.074 40.484 7526
+-89.948 40.484 7493
+-89.822 40.484 7451
+-89.696 40.484 7393
+-89.57 40.484 7335
+-89.444 40.484 7275
+-89.318 40.484 7220
+-89.192 40.484 7146
+-89.066 40.484 7080
+-88.94 40.484 7015
+-88.814 40.484 6928
+-88.688 40.484 6795
+-88.562 40.484 6701
+-88.436 40.484 6583
+-88.31 40.484 6507
+-88.184 40.484 6491
+-88.058 40.484 6572
+-87.932 40.484 6534
+-87.806 40.484 6486
+-87.68 40.484 6420
+-87.554 40.484 6367
+-87.428 40.484 6274
+-87.302 40.484 6258
+-87.176 40.484 6223
+-87.05 40.484 6143
+-86.924 40.484 6038
+-86.798 40.484 5904
+-86.672 40.484 5777
+-86.546 40.484 5800
+-86.42 40.484 5698
+-86.294 40.484 5623
+-86.168 40.484 5482
+-86.042 40.484 5422
+-85.916 40.484 5323
+-85.79 40.484 5197
+-85.664 40.484 5108
+-85.538 40.484 4961
+-85.412 40.484 4817
+-85.286 40.484 4703
+-85.16 40.484 4648
+-85.034 40.484 4581
+-84.908 40.484 4453
+-84.782 40.484 4353
+-84.656 40.484 4254
+-84.53 40.484 4154
+-84.404 40.484 4003
+-84.278 40.484 3866
+-84.152 40.484 3753
+-84.026 40.484 3692
+-83.9 40.484 3613
+-83.774 40.484 3494
+-83.648 40.484 3513
+-83.522 40.484 3559
+-83.396 40.484 3577
+-83.27 40.484 3594
+-83.144 40.484 3605
+-83.018 40.484 3613
+-82.892 40.484 3601
+-82.766 40.484 3608
+-82.64 40.484 3600
+-82.514 40.484 3569
+-82.388 40.484 3573
+-82.262 40.484 3577
+-82.136 40.484 3582
+-82.01 40.484 3572
+-81.884 40.484 3570
+-81.758 40.484 3575
+-81.632 40.484 3579
+-81.506 40.484 3546
+-81.38 40.484 3551
+-81.254 40.484 3556
+-81.128 40.484 3560
+-81.002 40.484 3564
+-80.876 40.484 3568
+-80.75 40.484 3571
+-80.624 40.484 3574
+-80.498 40.484 3577
+-80.372 40.484 3580
+-80.246 40.484 3583
+-80.12 40.484 3585
+-79.994 40.484 3588
+-79.868 40.484 3590
+-79.742 40.484 3592
+-79.616 40.484 3605
+-79.49 40.484 3608
+-79.364 40.484 3591
+-79.238 40.484 3593
+-79.112 40.484 3596
+-78.986 40.484 3598
+-78.86 40.484 3548
+-78.734 40.484 3550
+-78.608 40.484 3552
+-78.482 40.484 3516
+-78.356 40.484 3544
+-78.23 40.484 3546
+-78.104 40.484 3588
+-77.978 40.484 3590
+-77.852 40.484 3592
+-77.726 40.484 3594
+-77.6 40.484 3596
+-77.474 40.484 3543
+-77.348 40.484 3544
+-77.222 40.484 3545
+-77.096 40.484 3545
+-76.97 40.484 3546
+-76.844 40.484 3547
+-76.718 40.484 3548
+-76.592 40.484 3549
+-76.466 40.484 3549
+-76.34 40.484 3550
+-76.214 40.484 3527
+-76.088 40.484 3517
+-75.962 40.484 3518
+-75.836 40.484 3518
+-75.71 40.484 3519
+-75.584 40.484 3520
+-75.458 40.484 3521
+-75.332 40.484 3505
+-75.206 40.484 3505
+-75.08 40.484 3506
+-74.954 40.484 3506
+-74.828 40.484 3507
+-74.702 40.484 3507
+-74.576 40.484 3508
+-74.45 40.484 3508
+-74.324 40.484 3451
+-74.198 40.484 3452
+-74.072 40.484 3452
+-73.946 40.484 3452
+-73.82 40.484 3453
+-73.694 40.484 3453
+-73.568 40.484 3454
+-73.442 40.484 3454
+-73.316 40.484 3454
+-73.19 40.484 3455
+-73.064 40.484 3455
+-72.938 40.484 3455
+-72.812 40.484 3456
+-72.686 40.484 3383
+-72.56 40.484 3383
+-72.434 40.484 3382
+-72.308 40.484 3382
+-72.182 40.484 3382
+-72.056 40.484 3382
+-71.93 40.484 3382
+-71.804 40.484 3381
+-71.678 40.484 3381
+-71.552 40.484 3381
+-71.426 40.484 3381
+-71.3 40.484 3381
+-71.174 40.484 3380
+-71.048 40.484 3380
+-70.922 40.484 3380
+-70.796 40.484 3380
+-70.67 40.484 3380
+-70.544 40.484 3379
+-70.418 40.484 3379
+-70.292 40.484 3379
+-70.166 40.484 3379
+-70.04 40.484 3379
+-69.914 40.484 3379
+-69.788 40.484 3378
+-69.662 40.484 3378
+-69.536 40.484 3069
+-69.41 40.484 3069
+-69.284 40.484 3068
+-69.158 40.484 3067
+-69.032 40.484 3067
+-68.906 40.484 3066
+-68.78 40.484 3066
+-68.654 40.484 3065
+-68.528 40.484 3064
+-68.402 40.484 3064
+-68.276 40.484 3063
+-68.15 40.484 3063
+-68.024 40.484 3062
+-67.898 40.484 3061
+-67.772 40.484 3061
+-67.646 40.484 3060
+-67.52 40.484 3060
+-67.394 40.484 3059
+-67.268 40.484 2933
+-67.142 40.484 2932
+-67.016 40.484 2901
+-66.89 40.484 2854
+-66.764 40.484 2853
+-66.638 40.484 2853
+-66.512 40.484 2869
+-66.386 40.484 2868
+-66.26 40.484 2879
+-66.134 40.484 2879
+-66.008 40.484 2837
+-65.882 40.484 2801
+-65.756 40.484 2801
+-65.63 40.484 2800
+-65.504 40.484 2800
+-65.378 40.484 2822
+-65.252 40.484 2828
+-65.126 40.484 2837
+-128 40.432 2579
+-127.874 40.432 2566
+-127.748 40.432 2503
+-127.622 40.432 2534
+-127.496 40.432 2527
+-127.37 40.432 2529
+-127.244 40.432 2527
+-127.118 40.432 2535
+-126.992 40.432 2545
+-126.866 40.432 2556
+-126.74 40.432 2560
+-126.614 40.432 2598
+-126.488 40.432 2622
+-126.362 40.432 2645
+-126.236 40.432 2661
+-126.11 40.432 2681
+-125.984 40.432 2698
+-125.858 40.432 2712
+-125.732 40.432 2723
+-125.606 40.432 2730
+-125.48 40.432 2734
+-125.354 40.432 2725
+-125.228 40.432 2719
+-125.102 40.432 2682
+-124.976 40.432 2671
+-124.85 40.432 2655
+-124.724 40.432 2621
+-124.598 40.432 2594
+-124.472 40.432 2574
+-124.346 40.432 2544
+-124.22 40.432 2524
+-124.094 40.432 2524
+-123.968 40.432 2502
+-123.842 40.432 2468
+-123.716 40.432 2432
+-123.59 40.432 2388
+-123.464 40.432 2365
+-123.338 40.432 2391
+-123.212 40.432 2442
+-123.086 40.432 2488
+-122.96 40.432 2529
+-122.834 40.432 2559
+-122.708 40.432 2583
+-122.582 40.432 2594
+-122.456 40.432 2593
+-122.33 40.432 2581
+-122.204 40.432 2544
+-122.078 40.432 2492
+-121.952 40.432 2425
+-121.826 40.432 2362
+-121.7 40.432 2352
+-121.574 40.432 2399
+-121.448 40.432 2512
+-121.322 40.432 2664
+-121.196 40.432 2788
+-121.07 40.432 2875
+-120.944 40.432 2957
+-120.818 40.432 2984
+-120.692 40.432 3026
+-120.566 40.432 3060
+-120.44 40.432 3063
+-120.314 40.432 3075
+-120.188 40.432 3096
+-120.062 40.432 3131
+-119.936 40.432 3187
+-119.81 40.432 3204
+-119.684 40.432 3203
+-119.558 40.432 3181
+-119.432 40.432 3149
+-119.306 40.432 3187
+-119.18 40.432 3249
+-119.054 40.432 3292
+-118.928 40.432 3320
+-118.802 40.432 3341
+-118.676 40.432 3367
+-118.55 40.432 3382
+-118.424 40.432 3376
+-118.298 40.432 3368
+-118.172 40.432 3341
+-118.046 40.432 3320
+-117.92 40.432 3308
+-117.794 40.432 3306
+-117.668 40.432 3295
+-117.542 40.432 3278
+-117.416 40.432 3252
+-117.29 40.432 3195
+-117.164 40.432 3166
+-117.038 40.432 3140
+-116.912 40.432 3082
+-116.786 40.432 3005
+-116.66 40.432 2932
+-116.534 40.432 2897
+-116.408 40.432 2889
+-116.282 40.432 2873
+-116.156 40.432 2843
+-116.03 40.432 2781
+-115.904 40.432 2684
+-115.778 40.432 2612
+-115.652 40.432 2570
+-115.526 40.432 2574
+-115.4 40.432 2575
+-115.274 40.432 2578
+-115.148 40.432 2566
+-115.022 40.432 2553
+-114.896 40.432 2523
+-114.77 40.432 2470
+-114.644 40.432 2384
+-114.518 40.432 2239
+-114.392 40.432 2102
+-114.266 40.432 2034
+-114.14 40.432 2077
+-114.014 40.432 2159
+-113.888 40.432 2191
+-113.762 40.432 2186
+-113.636 40.432 2177
+-113.51 40.432 2144
+-113.384 40.432 2093
+-113.258 40.432 2024
+-113.132 40.432 1937
+-113.006 40.432 1828
+-112.88 40.432 1700
+-112.754 40.432 1560
+-112.628 40.432 1425
+-112.502 40.432 1315
+-112.376 40.432 1261
+-112.25 40.432 1259
+-112.124 40.432 1293
+-111.998 40.432 1340
+-111.872 40.432 1384
+-111.746 40.432 1420
+-111.62 40.432 1449
+-111.494 40.432 1475
+-111.368 40.432 1501
+-111.242 40.432 1529
+-111.116 40.432 1564
+-110.99 40.432 1573
+-110.864 40.432 1608
+-110.738 40.432 1641
+-110.612 40.432 1680
+-110.486 40.432 1717
+-110.36 40.432 1754
+-110.234 40.432 1788
+-110.108 40.432 1815
+-109.982 40.432 1867
+-109.856 40.432 1882
+-109.73 40.432 1914
+-109.604 40.432 1949
+-109.478 40.432 1934
+-109.352 40.432 1924
+-109.226 40.432 1902
+-109.1 40.432 1920
+-108.974 40.432 1958
+-108.848 40.432 1962
+-108.722 40.432 1990
+-108.596 40.432 1939
+-108.47 40.432 1952
+-108.344 40.432 1942
+-108.218 40.432 1953
+-108.092 40.432 2032
+-107.966 40.432 2044
+-107.84 40.432 2076
+-107.714 40.432 2063
+-107.588 40.432 2073
+-107.462 40.432 2083
+-107.336 40.432 2068
+-107.21 40.432 2057
+-107.084 40.432 2061
+-106.958 40.432 2069
+-106.832 40.432 2060
+-106.706 40.432 2081
+-106.58 40.432 2074
+-106.454 40.432 2081
+-106.328 40.432 2072
+-106.202 40.432 2079
+-106.076 40.432 2085
+-105.95 40.432 2014
+-105.824 40.432 1910
+-105.698 40.432 1906
+-105.572 40.432 1901
+-105.446 40.432 1896
+-105.32 40.432 1890
+-105.194 40.432 1902
+-105.068 40.432 1949
+-104.942 40.432 1941
+-104.816 40.432 1948
+-104.69 40.432 1938
+-104.564 40.432 2014
+-104.438 40.432 2006
+-104.312 40.432 1962
+-104.186 40.432 2010
+-104.06 40.432 1985
+-103.934 40.432 2018
+-103.808 40.432 2105
+-103.682 40.432 2165
+-103.556 40.432 2144
+-103.43 40.432 2197
+-103.304 40.432 2204
+-103.178 40.432 2208
+-103.052 40.432 2257
+-102.926 40.432 2297
+-102.8 40.432 2290
+-102.674 40.432 2282
+-102.548 40.432 2274
+-102.422 40.432 2281
+-102.296 40.432 2271
+-102.17 40.432 2290
+-102.044 40.432 2279
+-101.918 40.432 2266
+-101.792 40.432 2331
+-101.666 40.432 2315
+-101.54 40.432 2298
+-101.414 40.432 2279
+-101.288 40.432 2259
+-101.162 40.432 2237
+-101.036 40.432 2259
+-100.91 40.432 2233
+-100.784 40.432 2203
+-100.658 40.432 2170
+-100.532 40.432 2134
+-100.406 40.432 2092
+-100.28 40.432 2081
+-100.154 40.432 2039
+-100.028 40.432 1979
+-99.902 40.432 1990
+-99.776 40.432 1910
+-99.65 40.432 1817
+-99.524 40.432 1740
+-99.398 40.432 1617
+-99.272 40.432 1479
+-99.146 40.432 1332
+-99.02 40.432 1184
+-98.894 40.432 1060
+-98.768 40.432 972
+-98.642 40.432 975
+-98.516 40.432 1078
+-98.39 40.432 1258
+-98.264 40.432 1503
+-98.138 40.432 1780
+-98.012 40.432 2050
+-97.886 40.432 2278
+-97.76 40.432 2513
+-97.634 40.432 2689
+-97.508 40.432 2799
+-97.382 40.432 2963
+-97.256 40.432 3024
+-97.13 40.432 3111
+-97.004 40.432 3157
+-96.878 40.432 3206
+-96.752 40.432 3260
+-96.626 40.432 3328
+-96.5 40.432 3510
+-96.374 40.432 3564
+-96.248 40.432 3626
+-96.122 40.432 3752
+-95.996 40.432 3866
+-95.87 40.432 3961
+-95.744 40.432 4040
+-95.618 40.432 4162
+-95.492 40.432 4218
+-95.366 40.432 4298
+-95.24 40.432 4337
+-95.114 40.432 4445
+-94.988 40.432 4497
+-94.862 40.432 4542
+-94.736 40.432 4597
+-94.61 40.432 4605
+-94.484 40.432 4701
+-94.358 40.432 4797
+-94.232 40.432 4962
+-94.106 40.432 5086
+-93.98 40.432 5259
+-93.854 40.432 5421
+-93.728 40.432 5514
+-93.602 40.432 5607
+-93.476 40.432 5705
+-93.35 40.432 5791
+-93.224 40.432 5906
+-93.098 40.432 6060
+-92.972 40.432 6156
+-92.846 40.432 6364
+-92.72 40.432 6419
+-92.594 40.432 6539
+-92.468 40.432 6602
+-92.342 40.432 6758
+-92.216 40.432 6851
+-92.09 40.432 6879
+-91.964 40.432 6989
+-91.838 40.432 7090
+-91.712 40.432 7183
+-91.586 40.432 7238
+-91.46 40.432 7322
+-91.334 40.432 7417
+-91.208 40.432 7458
+-91.082 40.432 7541
+-90.956 40.432 7554
+-90.83 40.432 7575
+-90.704 40.432 7627
+-90.578 40.432 7645
+-90.452 40.432 7647
+-90.326 40.432 7642
+-90.2 40.432 7625
+-90.074 40.432 7589
+-89.948 40.432 7557
+-89.822 40.432 7511
+-89.696 40.432 7461
+-89.57 40.432 7426
+-89.444 40.432 7328
+-89.318 40.432 7260
+-89.192 40.432 7189
+-89.066 40.432 7128
+-88.94 40.432 7055
+-88.814 40.432 6945
+-88.688 40.432 6832
+-88.562 40.432 6710
+-88.436 40.432 6571
+-88.31 40.432 6575
+-88.184 40.432 6461
+-88.058 40.432 6577
+-87.932 40.432 6602
+-87.806 40.432 6542
+-87.68 40.432 6463
+-87.554 40.432 6431
+-87.428 40.432 6358
+-87.302 40.432 6285
+-87.176 40.432 6265
+-87.05 40.432 6208
+-86.924 40.432 6125
+-86.798 40.432 6010
+-86.672 40.432 5869
+-86.546 40.432 5766
+-86.42 40.432 5738
+-86.294 40.432 5676
+-86.168 40.432 5577
+-86.042 40.432 5479
+-85.916 40.432 5372
+-85.79 40.432 5272
+-85.664 40.432 5168
+-85.538 40.432 5013
+-85.412 40.432 4902
+-85.286 40.432 4758
+-85.16 40.432 4647
+-85.034 40.432 4618
+-84.908 40.432 4511
+-84.782 40.432 4373
+-84.656 40.432 4292
+-84.53 40.432 4221
+-84.404 40.432 4099
+-84.278 40.432 3924
+-84.152 40.432 3756
+-84.026 40.432 3658
+-83.9 40.432 3581
+-83.774 40.432 3364
+-83.648 40.432 3479
+-83.522 40.432 3560
+-83.396 40.432 3598
+-83.27 40.432 3613
+-83.144 40.432 3621
+-83.018 40.432 3587
+-82.892 40.432 3593
+-82.766 40.432 3585
+-82.64 40.432 3578
+-82.514 40.432 3585
+-82.388 40.432 3591
+-82.262 40.432 3598
+-82.136 40.432 3564
+-82.01 40.432 3563
+-81.884 40.432 3568
+-81.758 40.432 3573
+-81.632 40.432 3587
+-81.506 40.432 3594
+-81.38 40.432 3600
+-81.254 40.432 3606
+-81.128 40.432 3612
+-81.002 40.432 3618
+-80.876 40.432 3622
+-80.75 40.432 3627
+-80.624 40.432 3631
+-80.498 40.432 3635
+-80.372 40.432 3639
+-80.246 40.432 3643
+-80.12 40.432 3646
+-79.994 40.432 3649
+-79.868 40.432 3652
+-79.742 40.432 3606
+-79.616 40.432 3609
+-79.49 40.432 3592
+-79.364 40.432 3595
+-79.238 40.432 3597
+-79.112 40.432 3599
+-78.986 40.432 3551
+-78.86 40.432 3553
+-78.734 40.432 3555
+-78.608 40.432 3519
+-78.482 40.432 3546
+-78.356 40.432 3547
+-78.23 40.432 3588
+-78.104 40.432 3590
+-77.978 40.432 3592
+-77.852 40.432 3594
+-77.726 40.432 3596
+-77.6 40.432 3543
+-77.474 40.432 3544
+-77.348 40.432 3545
+-77.222 40.432 3546
+-77.096 40.432 3547
+-76.97 40.432 3547
+-76.844 40.432 3548
+-76.718 40.432 3549
+-76.592 40.432 3550
+-76.466 40.432 3550
+-76.34 40.432 3527
+-76.214 40.432 3517
+-76.088 40.432 3518
+-75.962 40.432 3519
+-75.836 40.432 3519
+-75.71 40.432 3520
+-75.584 40.432 3504
+-75.458 40.432 3505
+-75.332 40.432 3505
+-75.206 40.432 3506
+-75.08 40.432 3506
+-74.954 40.432 3507
+-74.828 40.432 3507
+-74.702 40.432 3508
+-74.576 40.432 3508
+-74.45 40.432 3451
+-74.324 40.432 3451
+-74.198 40.432 3452
+-74.072 40.432 3452
+-73.946 40.432 3453
+-73.82 40.432 3453
+-73.694 40.432 3454
+-73.568 40.432 3454
+-73.442 40.432 3454
+-73.316 40.432 3455
+-73.19 40.432 3455
+-73.064 40.432 3455
+-72.938 40.432 3456
+-72.812 40.432 3383
+-72.686 40.432 3383
+-72.56 40.432 3382
+-72.434 40.432 3382
+-72.308 40.432 3382
+-72.182 40.432 3382
+-72.056 40.432 3382
+-71.93 40.432 3381
+-71.804 40.432 3381
+-71.678 40.432 3381
+-71.552 40.432 3381
+-71.426 40.432 3381
+-71.3 40.432 3380
+-71.174 40.432 3380
+-71.048 40.432 3380
+-70.922 40.432 3380
+-70.796 40.432 3380
+-70.67 40.432 3379
+-70.544 40.432 3379
+-70.418 40.432 3379
+-70.292 40.432 3379
+-70.166 40.432 3379
+-70.04 40.432 3378
+-69.914 40.432 3378
+-69.788 40.432 3378
+-69.662 40.432 3070
+-69.536 40.432 3069
+-69.41 40.432 3068
+-69.284 40.432 3067
+-69.158 40.432 3067
+-69.032 40.432 3066
+-68.906 40.432 3066
+-68.78 40.432 3065
+-68.654 40.432 3064
+-68.528 40.432 3064
+-68.402 40.432 3063
+-68.276 40.432 3063
+-68.15 40.432 3062
+-68.024 40.432 3061
+-67.898 40.432 3061
+-67.772 40.432 3060
+-67.646 40.432 3060
+-67.52 40.432 3059
+-67.394 40.432 2933
+-67.268 40.432 2932
+-67.142 40.432 2901
+-67.016 40.432 2854
+-66.89 40.432 2853
+-66.764 40.432 2853
+-66.638 40.432 2868
+-66.512 40.432 2868
+-66.386 40.432 2879
+-66.26 40.432 2879
+-66.134 40.432 2837
+-66.008 40.432 2801
+-65.882 40.432 2800
+-65.756 40.432 2800
+-65.63 40.432 2800
+-65.504 40.432 2821
+-65.378 40.432 2827
+-65.252 40.432 2837
+-65.126 40.432 2834
+-128 40.38 2609
+-127.874 40.38 2542
+-127.748 40.38 2575
+-127.622 40.38 2566
+-127.496 40.38 2565
+-127.37 40.38 2557
+-127.244 40.38 2559
+-127.118 40.38 2564
+-126.992 40.38 2568
+-126.866 40.38 2556
+-126.74 40.38 2575
+-126.614 40.38 2618
+-126.488 40.38 2638
+-126.362 40.38 2610
+-126.236 40.38 2668
+-126.11 40.38 2638
+-125.984 40.38 2651
+-125.858 40.38 2661
+-125.732 40.38 2669
+-125.606 40.38 2673
+-125.48 40.38 2674
+-125.354 40.38 2672
+-125.228 40.38 2668
+-125.102 40.38 2657
+-124.976 40.38 2642
+-124.85 40.38 2607
+-124.724 40.38 2577
+-124.598 40.38 2554
+-124.472 40.38 2518
+-124.346 40.38 2493
+-124.22 40.38 2468
+-124.094 40.38 2447
+-123.968 40.38 2436
+-123.842 40.38 2423
+-123.716 40.38 2408
+-123.59 40.38 2390
+-123.464 40.38 2380
+-123.338 40.38 2395
+-123.212 40.38 2426
+-123.086 40.38 2463
+-122.96 40.38 2496
+-122.834 40.38 2525
+-122.708 40.38 2545
+-122.582 40.38 2555
+-122.456 40.38 2557
+-122.33 40.38 2539
+-122.204 40.38 2496
+-122.078 40.38 2430
+-121.952 40.38 2339
+-121.826 40.38 2246
+-121.7 40.38 2204
+-121.574 40.38 2263
+-121.448 40.38 2407
+-121.322 40.38 2562
+-121.196 40.38 2711
+-121.07 40.38 2797
+-120.944 40.38 2901
+-120.818 40.38 2947
+-120.692 40.38 2993
+-120.566 40.38 3012
+-120.44 40.38 3029
+-120.314 40.38 3044
+-120.188 40.38 3061
+-120.062 40.38 3110
+-119.936 40.38 3154
+-119.81 40.38 3173
+-119.684 40.38 3183
+-119.558 40.38 3177
+-119.432 40.38 3171
+-119.306 40.38 3189
+-119.18 40.38 3236
+-119.054 40.38 3271
+-118.928 40.38 3294
+-118.802 40.38 3309
+-118.676 40.38 3318
+-118.55 40.38 3334
+-118.424 40.38 3329
+-118.298 40.38 3317
+-118.172 40.38 3292
+-118.046 40.38 3281
+-117.92 40.38 3263
+-117.794 40.38 3254
+-117.668 40.38 3245
+-117.542 40.38 3231
+-117.416 40.38 3209
+-117.29 40.38 3166
+-117.164 40.38 3134
+-117.038 40.38 3082
+-116.912 40.38 3031
+-116.786 40.38 2961
+-116.66 40.38 2900
+-116.534 40.38 2880
+-116.408 40.38 2868
+-116.282 40.38 2848
+-116.156 40.38 2827
+-116.03 40.38 2762
+-115.904 40.38 2666
+-115.778 40.38 2579
+-115.652 40.38 2536
+-115.526 40.38 2545
+-115.4 40.38 2522
+-115.274 40.38 2539
+-115.148 40.38 2550
+-115.022 40.38 2547
+-114.896 40.38 2519
+-114.77 40.38 2464
+-114.644 40.38 2371
+-114.518 40.38 2206
+-114.392 40.38 2043
+-114.266 40.38 1965
+-114.14 40.38 2028
+-114.014 40.38 2136
+-113.888 40.38 2184
+-113.762 40.38 2211
+-113.636 40.38 2180
+-113.51 40.38 2148
+-113.384 40.38 2093
+-113.258 40.38 2016
+-113.132 40.38 1914
+-113.006 40.38 1785
+-112.88 40.38 1630
+-112.754 40.38 1454
+-112.628 40.38 1286
+-112.502 40.38 1159
+-112.376 40.38 1102
+-112.25 40.38 1120
+-112.124 40.38 1179
+-111.998 40.38 1247
+-111.872 40.38 1301
+-111.746 40.38 1341
+-111.62 40.38 1369
+-111.494 40.38 1394
+-111.368 40.38 1422
+-111.242 40.38 1458
+-111.116 40.38 1474
+-110.99 40.38 1514
+-110.864 40.38 1553
+-110.738 40.38 1602
+-110.612 40.38 1645
+-110.486 40.38 1688
+-110.36 40.38 1728
+-110.234 40.38 1762
+-110.108 40.38 1818
+-109.982 40.38 1853
+-109.856 40.38 1875
+-109.73 40.38 1905
+-109.604 40.38 1940
+-109.478 40.38 1948
+-109.352 40.38 1919
+-109.226 40.38 1936
+-109.1 40.38 1956
+-108.974 40.38 1874
+-108.848 40.38 1911
+-108.722 40.38 1924
+-108.596 40.38 1939
+-108.47 40.38 1939
+-108.344 40.38 1952
+-108.218 40.38 2020
+-108.092 40.38 2033
+-107.966 40.38 2066
+-107.84 40.38 2078
+-107.714 40.38 2090
+-107.588 40.38 2075
+-107.462 40.38 2061
+-107.336 40.38 2050
+-107.21 40.38 2057
+-107.084 40.38 2065
+-106.958 40.38 2067
+-106.832 40.38 2080
+-106.706 40.38 2073
+-106.58 40.38 2081
+-106.454 40.38 2071
+-106.328 40.38 2078
+-106.202 40.38 2085
+-106.076 40.38 2091
+-105.95 40.38 2020
+-105.824 40.38 1936
+-105.698 40.38 1915
+-105.572 40.38 1910
+-105.446 40.38 1905
+-105.32 40.38 1918
+-105.194 40.38 1966
+-105.068 40.38 1959
+-104.942 40.38 1967
+-104.816 40.38 1958
+-104.69 40.38 1960
+-104.564 40.38 2037
+-104.438 40.38 2014
+-104.312 40.38 2058
+-104.186 40.38 2018
+-104.06 40.38 2009
+-103.934 40.38 2098
+-103.808 40.38 2129
+-103.682 40.38 2104
+-103.556 40.38 2166
+-103.43 40.38 2215
+-103.304 40.38 2212
+-103.178 40.38 2217
+-103.052 40.38 2211
+-102.926 40.38 2306
+-102.8 40.38 2299
+-102.674 40.38 2292
+-102.548 40.38 2284
+-102.422 40.38 2275
+-102.296 40.38 2283
+-102.17 40.38 2303
+-102.044 40.38 2292
+-101.918 40.38 2280
+-101.792 40.38 2267
+-101.666 40.38 2331
+-101.54 40.38 2315
+-101.414 40.38 2297
+-101.288 40.38 2278
+-101.162 40.38 2257
+-101.036 40.38 2234
+-100.91 40.38 2255
+-100.784 40.38 2227
+-100.658 40.38 2196
+-100.532 40.38 2161
+-100.406 40.38 2123
+-100.28 40.38 2079
+-100.154 40.38 2065
+-100.028 40.38 2019
+-99.902 40.38 1957
+-99.776 40.38 1985
+-99.65 40.38 1902
+-99.524 40.38 1809
+-99.398 40.38 1720
+-99.272 40.38 1607
+-99.146 40.38 1491
+-99.02 40.38 1380
+-98.894 40.38 1288
+-98.768 40.38 1272
+-98.642 40.38 1312
+-98.516 40.38 1393
+-98.39 40.38 1544
+-98.264 40.38 1744
+-98.138 40.38 1962
+-98.012 40.38 2207
+-97.886 40.38 2401
+-97.76 40.38 2598
+-97.634 40.38 2712
+-97.508 40.38 2796
+-97.382 40.38 2859
+-97.256 40.38 2983
+-97.13 40.38 3016
+-97.004 40.38 3085
+-96.878 40.38 3129
+-96.752 40.38 3215
+-96.626 40.38 3361
+-96.5 40.38 3449
+-96.374 40.38 3508
+-96.248 40.38 3577
+-96.122 40.38 3663
+-95.996 40.38 3835
+-95.87 40.38 3938
+-95.744 40.38 4032
+-95.618 40.38 4122
+-95.492 40.38 4235
+-95.366 40.38 4270
+-95.24 40.38 4297
+-95.114 40.38 4407
+-94.988 40.38 4484
+-94.862 40.38 4553
+-94.736 40.38 4603
+-94.61 40.38 4666
+-94.484 40.38 4776
+-94.358 40.38 4824
+-94.232 40.38 4988
+-94.106 40.38 5128
+-93.98 40.38 5302
+-93.854 40.38 5451
+-93.728 40.38 5459
+-93.602 40.38 5639
+-93.476 40.38 5772
+-93.35 40.38 5812
+-93.224 40.38 5938
+-93.098 40.38 6134
+-92.972 40.38 6269
+-92.846 40.38 6398
+-92.72 40.38 6477
+-92.594 40.38 6554
+-92.468 40.38 6627
+-92.342 40.38 6733
+-92.216 40.38 6845
+-92.09 40.38 6954
+-91.964 40.38 7051
+-91.838 40.38 7173
+-91.712 40.38 7234
+-91.586 40.38 7291
+-91.46 40.38 7377
+-91.334 40.38 7428
+-91.208 40.38 7500
+-91.082 40.38 7567
+-90.956 40.38 7588
+-90.83 40.38 7632
+-90.704 40.38 7659
+-90.578 40.38 7686
+-90.452 40.38 7710
+-90.326 40.38 7678
+-90.2 40.38 7695
+-90.074 40.38 7644
+-89.948 40.38 7613
+-89.822 40.38 7587
+-89.696 40.38 7514
+-89.57 40.38 7441
+-89.444 40.38 7358
+-89.318 40.38 7326
+-89.192 40.38 7188
+-89.066 40.38 7132
+-88.94 40.38 7081
+-88.814 40.38 6960
+-88.688 40.38 6844
+-88.562 40.38 6778
+-88.436 40.38 6628
+-88.31 40.38 6645
+-88.184 40.38 6713
+-88.058 40.38 6675
+-87.932 40.38 6635
+-87.806 40.38 6556
+-87.68 40.38 6541
+-87.554 40.38 6483
+-87.428 40.38 6415
+-87.302 40.38 6355
+-87.176 40.38 6254
+-87.05 40.38 6240
+-86.924 40.38 6161
+-86.798 40.38 6012
+-86.672 40.38 5963
+-86.546 40.38 5815
+-86.42 40.38 5724
+-86.294 40.38 5670
+-86.168 40.38 5635
+-86.042 40.38 5489
+-85.916 40.38 5358
+-85.79 40.38 5294
+-85.664 40.38 5241
+-85.538 40.38 5052
+-85.412 40.38 4991
+-85.286 40.38 4830
+-85.16 40.38 4718
+-85.034 40.38 4647
+-84.908 40.38 4506
+-84.782 40.38 4359
+-84.656 40.38 4274
+-84.53 40.38 4251
+-84.404 40.38 4158
+-84.278 40.38 4038
+-84.152 40.38 3852
+-84.026 40.38 3727
+-83.9 40.38 3643
+-83.774 40.38 3526
+-83.648 40.38 3558
+-83.522 40.38 3604
+-83.396 40.38 3619
+-83.27 40.38 3623
+-83.144 40.38 3624
+-83.018 40.38 3569
+-82.892 40.38 3562
+-82.766 40.38 3557
+-82.64 40.38 3566
+-82.514 40.38 3575
+-82.388 40.38 3584
+-82.262 40.38 3552
+-82.136 40.38 3553
+-82.01 40.38 3560
+-81.884 40.38 3566
+-81.758 40.38 3582
+-81.632 40.38 3590
+-81.506 40.38 3597
+-81.38 40.38 3604
+-81.254 40.38 3610
+-81.128 40.38 3616
+-81.002 40.38 3621
+-80.876 40.38 3626
+-80.75 40.38 3631
+-80.624 40.38 3635
+-80.498 40.38 3639
+-80.372 40.38 3643
+-80.246 40.38 3646
+-80.12 40.38 3649
+-79.994 40.38 3652
+-79.868 40.38 3607
+-79.742 40.38 3610
+-79.616 40.38 3594
+-79.49 40.38 3596
+-79.364 40.38 3598
+-79.238 40.38 3601
+-79.112 40.38 3554
+-78.986 40.38 3556
+-78.86 40.38 3558
+-78.734 40.38 3522
+-78.608 40.38 3547
+-78.482 40.38 3548
+-78.356 40.38 3588
+-78.23 40.38 3590
+-78.104 40.38 3592
+-77.978 40.38 3594
+-77.852 40.38 3596
+-77.726 40.38 3543
+-77.6 40.38 3544
+-77.474 40.38 3545
+-77.348 40.38 3546
+-77.222 40.38 3547
+-77.096 40.38 3548
+-76.97 40.38 3548
+-76.844 40.38 3549
+-76.718 40.38 3550
+-76.592 40.38 3550
+-76.466 40.38 3527
+-76.34 40.38 3517
+-76.214 40.38 3518
+-76.088 40.38 3519
+-75.962 40.38 3519
+-75.836 40.38 3520
+-75.71 40.38 3521
+-75.584 40.38 3505
+-75.458 40.38 3506
+-75.332 40.38 3506
+-75.206 40.38 3507
+-75.08 40.38 3507
+-74.954 40.38 3507
+-74.828 40.38 3508
+-74.702 40.38 3508
+-74.576 40.38 3451
+-74.45 40.38 3451
+-74.324 40.38 3452
+-74.198 40.38 3452
+-74.072 40.38 3453
+-73.946 40.38 3453
+-73.82 40.38 3453
+-73.694 40.38 3454
+-73.568 40.38 3454
+-73.442 40.38 3455
+-73.316 40.38 3455
+-73.19 40.38 3455
+-73.064 40.38 3456
+-72.938 40.38 3383
+-72.812 40.38 3383
+-72.686 40.38 3383
+-72.56 40.38 3382
+-72.434 40.38 3382
+-72.308 40.38 3382
+-72.182 40.38 3382
+-72.056 40.38 3381
+-71.93 40.38 3381
+-71.804 40.38 3381
+-71.678 40.38 3381
+-71.552 40.38 3381
+-71.426 40.38 3380
+-71.3 40.38 3380
+-71.174 40.38 3380
+-71.048 40.38 3380
+-70.922 40.38 3380
+-70.796 40.38 3379
+-70.67 40.38 3379
+-70.544 40.38 3379
+-70.418 40.38 3379
+-70.292 40.38 3379
+-70.166 40.38 3378
+-70.04 40.38 3378
+-69.914 40.38 3378
+-69.788 40.38 3070
+-69.662 40.38 3069
+-69.536 40.38 3068
+-69.41 40.38 3068
+-69.284 40.38 3067
+-69.158 40.38 3066
+-69.032 40.38 3066
+-68.906 40.38 3065
+-68.78 40.38 3064
+-68.654 40.38 3064
+-68.528 40.38 3063
+-68.402 40.38 3063
+-68.276 40.38 3062
+-68.15 40.38 3061
+-68.024 40.38 3061
+-67.898 40.38 3060
+-67.772 40.38 3060
+-67.646 40.38 3059
+-67.52 40.38 2932
+-67.394 40.38 2932
+-67.268 40.38 2901
+-67.142 40.38 2854
+-67.016 40.38 2853
+-66.89 40.38 2852
+-66.764 40.38 2868
+-66.638 40.38 2868
+-66.512 40.38 2879
+-66.386 40.38 2878
+-66.26 40.38 2837
+-66.134 40.38 2800
+-66.008 40.38 2800
+-65.882 40.38 2800
+-65.756 40.38 2799
+-65.63 40.38 2821
+-65.504 40.38 2827
+-65.378 40.38 2836
+-65.252 40.38 2834
+-65.126 40.38 2877
+-128 40.328 2576
+-127.874 40.328 2612
+-127.748 40.328 2601
+-127.622 40.328 2598
+-127.496 40.328 2586
+-127.37 40.328 2585
+-127.244 40.328 2584
+-127.118 40.328 2584
+-126.992 40.328 2565
+-126.866 40.328 2579
+-126.74 40.328 2594
+-126.614 40.328 2588
+-126.488 40.328 2603
+-126.362 40.328 2612
+-126.236 40.328 2626
+-126.11 40.328 2638
+-125.984 40.328 2648
+-125.858 40.328 2655
+-125.732 40.328 2659
+-125.606 40.328 2661
+-125.48 40.328 2658
+-125.354 40.328 2613
+-125.228 40.328 2592
+-125.102 40.328 2580
+-124.976 40.328 2565
+-124.85 40.328 2538
+-124.724 40.328 2517
+-124.598 40.328 2494
+-124.472 40.328 2471
+-124.346 40.328 2437
+-124.22 40.328 2404
+-124.094 40.328 2368
+-123.968 40.328 2364
+-123.842 40.328 2360
+-123.716 40.328 2368
+-123.59 40.328 2377
+-123.464 40.328 2384
+-123.338 40.328 2394
+-123.212 40.328 2407
+-123.086 40.328 2438
+-122.96 40.328 2465
+-122.834 40.328 2489
+-122.708 40.328 2508
+-122.582 40.328 2513
+-122.456 40.328 2514
+-122.33 40.328 2503
+-122.204 40.328 2465
+-122.078 40.328 2396
+-121.952 40.328 2299
+-121.826 40.328 2197
+-121.7 40.328 2150
+-121.574 40.328 2208
+-121.448 40.328 2356
+-121.322 40.328 2518
+-121.196 40.328 2661
+-121.07 40.328 2766
+-120.944 40.328 2862
+-120.818 40.328 2904
+-120.692 40.328 2948
+-120.566 40.328 2971
+-120.44 40.328 2989
+-120.314 40.328 3009
+-120.188 40.328 3031
+-120.062 40.328 3060
+-119.936 40.328 3091
+-119.81 40.328 3135
+-119.684 40.328 3152
+-119.558 40.328 3164
+-119.432 40.328 3174
+-119.306 40.328 3190
+-119.18 40.328 3212
+-119.054 40.328 3245
+-118.928 40.328 3262
+-118.802 40.328 3275
+-118.676 40.328 3273
+-118.55 40.328 3296
+-118.424 40.328 3292
+-118.298 40.328 3268
+-118.172 40.328 3247
+-118.046 40.328 3216
+-117.92 40.328 3195
+-117.794 40.328 3184
+-117.668 40.328 3181
+-117.542 40.328 3181
+-117.416 40.328 3163
+-117.29 40.328 3125
+-117.164 40.328 3102
+-117.038 40.328 3046
+-116.912 40.328 2990
+-116.786 40.328 2935
+-116.66 40.328 2893
+-116.534 40.328 2854
+-116.408 40.328 2804
+-116.282 40.328 2805
+-116.156 40.328 2807
+-116.03 40.328 2762
+-115.904 40.328 2687
+-115.778 40.328 2606
+-115.652 40.328 2564
+-115.526 40.328 2530
+-115.4 40.328 2479
+-115.274 40.328 2517
+-115.148 40.328 2548
+-115.022 40.328 2552
+-114.896 40.328 2527
+-114.77 40.328 2475
+-114.644 40.328 2391
+-114.518 40.328 2246
+-114.392 40.328 2109
+-114.266 40.328 2038
+-114.14 40.328 2082
+-114.014 40.328 2147
+-113.888 40.328 2203
+-113.762 40.328 2223
+-113.636 40.328 2215
+-113.51 40.328 2154
+-113.384 40.328 2095
+-113.258 40.328 2011
+-113.132 40.328 1899
+-113.006 40.328 1753
+-112.88 40.328 1578
+-112.754 40.328 1375
+-112.628 40.328 1178
+-112.502 40.328 1029
+-112.376 40.328 972
+-112.25 40.328 1009
+-112.124 40.328 1096
+-111.998 40.328 1178
+-111.872 40.328 1234
+-111.746 40.328 1264
+-111.62 40.328 1285
+-111.494 40.328 1308
+-111.368 40.328 1339
+-111.242 40.328 1358
+-111.116 40.328 1402
+-110.99 40.328 1448
+-110.864 40.328 1506
+-110.738 40.328 1558
+-110.612 40.328 1609
+-110.486 40.328 1658
+-110.36 40.328 1699
+-110.234 40.328 1761
+-110.108 40.328 1802
+-109.982 40.328 1830
+-109.856 40.328 1865
+-109.73 40.328 1867
+-109.604 40.328 1916
+-109.478 40.328 1943
+-109.352 40.328 1962
+-109.226 40.328 1987
+-109.1 40.328 1901
+-108.974 40.328 1926
+-108.848 40.328 1958
+-108.722 40.328 1975
+-108.596 40.328 1928
+-108.47 40.328 1942
+-108.344 40.328 2007
+-108.218 40.328 2021
+-108.092 40.328 2056
+-107.966 40.328 2069
+-107.84 40.328 2081
+-107.714 40.328 2093
+-107.588 40.328 2054
+-107.462 40.328 2058
+-107.336 40.328 2053
+-107.21 40.328 2062
+-107.084 40.328 2065
+-106.958 40.328 2079
+-106.832 40.328 2072
+-106.706 40.328 2080
+-106.58 40.328 2069
+-106.454 40.328 2078
+-106.328 40.328 2085
+-106.202 40.328 2091
+-106.076 40.328 2113
+-105.95 40.328 2047
+-105.824 40.328 2048
+-105.698 40.328 1942
+-105.572 40.328 1919
+-105.446 40.328 1933
+-105.32 40.328 1983
+-105.194 40.328 1976
+-105.068 40.328 1985
+-104.942 40.328 1977
+-104.816 40.328 1980
+-104.69 40.328 1970
+-104.564 40.328 2046
+-104.438 40.328 2023
+-104.312 40.328 2067
+-104.186 40.328 2057
+-104.06 40.328 2017
+-103.934 40.328 2106
+-103.808 40.328 2137
+-103.682 40.328 2124
+-103.556 40.328 2173
+-103.43 40.328 2184
+-103.304 40.328 2217
+-103.178 40.328 2225
+-103.052 40.328 2220
+-102.926 40.328 2259
+-102.8 40.328 2309
+-102.674 40.328 2302
+-102.548 40.328 2294
+-102.422 40.328 2286
+-102.296 40.328 2294
+-102.17 40.328 2315
+-102.044 40.328 2305
+-101.918 40.328 2294
+-101.792 40.328 2281
+-101.666 40.328 2347
+-101.54 40.328 2332
+-101.414 40.328 2315
+-101.288 40.328 2297
+-101.162 40.328 2277
+-101.036 40.328 2255
+-100.91 40.328 2232
+-100.784 40.328 2252
+-100.658 40.328 2224
+-100.532 40.328 2192
+-100.406 40.328 2156
+-100.28 40.328 2116
+-100.154 40.328 2072
+-100.028 40.328 2055
+-99.902 40.328 2010
+-99.776 40.328 1948
+-99.65 40.328 1979
+-99.524 40.328 1902
+-99.398 40.328 1819
+-99.272 40.328 1761
+-99.146 40.328 1673
+-99.02 40.328 1594
+-98.894 40.328 1579
+-98.768 40.328 1550
+-98.642 40.328 1612
+-98.516 40.328 1687
+-98.39 40.328 1812
+-98.264 40.328 1970
+-98.138 40.328 2171
+-98.012 40.328 2336
+-97.886 40.328 2479
+-97.76 40.328 2608
+-97.634 40.328 2741
+-97.508 40.328 2814
+-97.382 40.328 2845
+-97.256 40.328 2928
+-97.13 40.328 2939
+-97.004 40.328 2955
+-96.878 40.328 3046
+-96.752 40.328 3109
+-96.626 40.328 3255
+-96.5 40.328 3318
+-96.374 40.328 3402
+-96.248 40.328 3466
+-96.122 40.328 3566
+-95.996 40.328 3698
+-95.87 40.328 3898
+-95.744 40.328 4052
+-95.618 40.328 4181
+-95.492 40.328 4201
+-95.366 40.328 4215
+-95.24 40.328 4189
+-95.114 40.328 4307
+-94.988 40.328 4441
+-94.862 40.328 4539
+-94.736 40.328 4551
+-94.61 40.328 4660
+-94.484 40.328 4780
+-94.358 40.328 4885
+-94.232 40.328 4960
+-94.106 40.328 5121
+-93.98 40.328 5317
+-93.854 40.328 5468
+-93.728 40.328 5564
+-93.602 40.328 5629
+-93.476 40.328 5765
+-93.35 40.328 5822
+-93.224 40.328 5965
+-93.098 40.328 6192
+-92.972 40.328 6275
+-92.846 40.328 6402
+-92.72 40.328 6525
+-92.594 40.328 6600
+-92.468 40.328 6673
+-92.342 40.328 6753
+-92.216 40.328 6846
+-92.09 40.328 6976
+-91.964 40.328 7147
+-91.838 40.328 7149
+-91.712 40.328 7267
+-91.586 40.328 7355
+-91.46 40.328 7424
+-91.334 40.328 7494
+-91.208 40.328 7561
+-91.082 40.328 7593
+-90.956 40.328 7630
+-90.83 40.328 7708
+-90.704 40.328 7714
+-90.578 40.328 7744
+-90.452 40.328 7723
+-90.326 40.328 7754
+-90.2 40.328 7731
+-90.074 40.328 7696
+-89.948 40.328 7680
+-89.822 40.328 7626
+-89.696 40.328 7547
+-89.57 40.328 7473
+-89.444 40.328 7445
+-89.318 40.328 7363
+-89.192 40.328 7265
+-89.066 40.328 7145
+-88.94 40.328 7077
+-88.814 40.328 6943
+-88.688 40.328 6879
+-88.562 40.328 6796
+-88.436 40.328 6735
+-88.31 40.328 6701
+-88.184 40.328 6718
+-88.058 40.328 6697
+-87.932 40.328 6663
+-87.806 40.328 6619
+-87.68 40.328 6571
+-87.554 40.328 6525
+-87.428 40.328 6413
+-87.302 40.328 6423
+-87.176 40.328 6370
+-87.05 40.328 6229
+-86.924 40.328 6213
+-86.798 40.328 6094
+-86.672 40.328 6014
+-86.546 40.328 5907
+-86.42 40.328 5799
+-86.294 40.328 5726
+-86.168 40.328 5666
+-86.042 40.328 5552
+-85.916 40.328 5418
+-85.79 40.328 5296
+-85.664 40.328 5271
+-85.538 40.328 5112
+-85.412 40.328 4957
+-85.286 40.328 4824
+-85.16 40.328 4783
+-85.034 40.328 4682
+-84.908 40.328 4536
+-84.782 40.328 4396
+-84.656 40.328 4318
+-84.53 40.328 4263
+-84.404 40.328 4207
+-84.278 40.328 4122
+-84.152 40.328 3990
+-84.026 40.328 3873
+-83.9 40.328 3777
+-83.774 40.328 3691
+-83.648 40.328 3667
+-83.522 40.328 3651
+-83.396 40.328 3634
+-83.27 40.328 3592
+-83.144 40.328 3577
+-83.018 40.328 3554
+-82.892 40.328 3537
+-82.766 40.328 3554
+-82.64 40.328 3570
+-82.514 40.328 3586
+-82.388 40.328 3535
+-82.262 40.328 3540
+-82.136 40.328 3549
+-82.01 40.328 3557
+-81.884 40.328 3576
+-81.758 40.328 3585
+-81.632 40.328 3593
+-81.506 40.328 3601
+-81.38 40.328 3608
+-81.254 40.328 3614
+-81.128 40.328 3620
+-81.002 40.328 3625
+-80.876 40.328 3630
+-80.75 40.328 3634
+-80.624 40.328 3639
+-80.498 40.328 3643
+-80.372 40.328 3646
+-80.246 40.328 3650
+-80.12 40.328 3653
+-79.994 40.328 3609
+-79.868 40.328 3612
+-79.742 40.328 3595
+-79.616 40.328 3598
+-79.49 40.328 3600
+-79.364 40.328 3602
+-79.238 40.328 3604
+-79.112 40.328 3619
+-78.986 40.328 3561
+-78.86 40.328 3587
+-78.734 40.328 3549
+-78.608 40.328 3550
+-78.482 40.328 3588
+-78.356 40.328 3590
+-78.23 40.328 3592
+-78.104 40.328 3594
+-77.978 40.328 3596
+-77.852 40.328 3543
+-77.726 40.328 3544
+-77.6 40.328 3545
+-77.474 40.328 3546
+-77.348 40.328 3547
+-77.222 40.328 3548
+-77.096 40.328 3549
+-76.97 40.328 3549
+-76.844 40.328 3550
+-76.718 40.328 3551
+-76.592 40.328 3527
+-76.466 40.328 3517
+-76.34 40.328 3518
+-76.214 40.328 3519
+-76.088 40.328 3520
+-75.962 40.328 3520
+-75.836 40.328 3505
+-75.71 40.328 3505
+-75.584 40.328 3506
+-75.458 40.328 3506
+-75.332 40.328 3507
+-75.206 40.328 3507
+-75.08 40.328 3508
+-74.954 40.328 3508
+-74.828 40.328 3508
+-74.702 40.328 3451
+-74.576 40.328 3451
+-74.45 40.328 3452
+-74.324 40.328 3452
+-74.198 40.328 3453
+-74.072 40.328 3453
+-73.946 40.328 3453
+-73.82 40.328 3454
+-73.694 40.328 3454
+-73.568 40.328 3454
+-73.442 40.328 3455
+-73.316 40.328 3455
+-73.19 40.328 3455
+-73.064 40.328 3383
+-72.938 40.328 3383
+-72.812 40.328 3383
+-72.686 40.328 3382
+-72.56 40.328 3382
+-72.434 40.328 3382
+-72.308 40.328 3382
+-72.182 40.328 3381
+-72.056 40.328 3381
+-71.93 40.328 3381
+-71.804 40.328 3381
+-71.678 40.328 3381
+-71.552 40.328 3380
+-71.426 40.328 3380
+-71.3 40.328 3380
+-71.174 40.328 3380
+-71.048 40.328 3379
+-70.922 40.328 3379
+-70.796 40.328 3379
+-70.67 40.328 3379
+-70.544 40.328 3379
+-70.418 40.328 3379
+-70.292 40.328 3378
+-70.166 40.328 3378
+-70.04 40.328 3378
+-69.914 40.328 3070
+-69.788 40.328 3069
+-69.662 40.328 3068
+-69.536 40.328 3068
+-69.41 40.328 3067
+-69.284 40.328 3066
+-69.158 40.328 3066
+-69.032 40.328 3065
+-68.906 40.328 3064
+-68.78 40.328 3064
+-68.654 40.328 3063
+-68.528 40.328 3062
+-68.402 40.328 3062
+-68.276 40.328 3061
+-68.15 40.328 3061
+-68.024 40.328 3060
+-67.898 40.328 3060
+-67.772 40.328 3059
+-67.646 40.328 2932
+-67.52 40.328 2932
+-67.394 40.328 2901
+-67.268 40.328 2854
+-67.142 40.328 2853
+-67.016 40.328 2852
+-66.89 40.328 2868
+-66.764 40.328 2868
+-66.638 40.328 2879
+-66.512 40.328 2878
+-66.386 40.328 2837
+-66.26 40.328 2800
+-66.134 40.328 2800
+-66.008 40.328 2799
+-65.882 40.328 2799
+-65.756 40.328 2821
+-65.63 40.328 2826
+-65.504 40.328 2836
+-65.378 40.328 2833
+-65.252 40.328 2876
+-65.126 40.328 2887
+-128 40.276 2644
+-127.874 40.276 2632
+-127.748 40.276 2628
+-127.622 40.276 2612
+-127.496 40.276 2609
+-127.37 40.276 2605
+-127.244 40.276 2600
+-127.118 40.276 2576
+-126.992 40.276 2586
+-126.866 40.276 2597
+-126.74 40.276 2587
+-126.614 40.276 2552
+-126.488 40.276 2564
+-126.362 40.276 2570
+-126.236 40.276 2580
+-126.11 40.276 2589
+-125.984 40.276 2596
+-125.858 40.276 2601
+-125.732 40.276 2603
+-125.606 40.276 2602
+-125.48 40.276 2585
+-125.354 40.276 2550
+-125.228 40.276 2540
+-125.102 40.276 2527
+-124.976 40.276 2532
+-124.85 40.276 2510
+-124.724 40.276 2472
+-124.598 40.276 2440
+-124.472 40.276 2403
+-124.346 40.276 2363
+-124.22 40.276 2319
+-124.094 40.276 2272
+-123.968 40.276 2246
+-123.842 40.276 2248
+-123.716 40.276 2271
+-123.59 40.276 2306
+-123.464 40.276 2338
+-123.338 40.276 2358
+-123.212 40.276 2384
+-123.086 40.276 2406
+-122.96 40.276 2428
+-122.834 40.276 2444
+-122.708 40.276 2464
+-122.582 40.276 2479
+-122.456 40.276 2482
+-122.33 40.276 2473
+-122.204 40.276 2444
+-122.078 40.276 2388
+-121.952 40.276 2311
+-121.826 40.276 2232
+-121.7 40.276 2196
+-121.574 40.276 2249
+-121.448 40.276 2367
+-121.322 40.276 2516
+-121.196 40.276 2644
+-121.07 40.276 2722
+-120.944 40.276 2824
+-120.818 40.276 2862
+-120.692 40.276 2887
+-120.566 40.276 2915
+-120.44 40.276 2931
+-120.314 40.276 2951
+-120.188 40.276 2968
+-120.062 40.276 3009
+-119.936 40.276 3045
+-119.81 40.276 3098
+-119.684 40.276 3124
+-119.558 40.276 3138
+-119.432 40.276 3139
+-119.306 40.276 3165
+-119.18 40.276 3178
+-119.054 40.276 3210
+-118.928 40.276 3207
+-118.802 40.276 3239
+-118.676 40.276 3225
+-118.55 40.276 3236
+-118.424 40.276 3242
+-118.298 40.276 3223
+-118.172 40.276 3179
+-118.046 40.276 3153
+-117.92 40.276 3111
+-117.794 40.276 3082
+-117.668 40.276 3094
+-117.542 40.276 3115
+-117.416 40.276 3108
+-117.29 40.276 3096
+-117.164 40.276 3055
+-117.038 40.276 3017
+-116.912 40.276 2970
+-116.786 40.276 2928
+-116.66 40.276 2883
+-116.534 40.276 2806
+-116.408 40.276 2733
+-116.282 40.276 2778
+-116.156 40.276 2808
+-116.03 40.276 2765
+-115.904 40.276 2711
+-115.778 40.276 2656
+-115.652 40.276 2610
+-115.526 40.276 2561
+-115.4 40.276 2526
+-115.274 40.276 2545
+-115.148 40.276 2561
+-115.022 40.276 2561
+-114.896 40.276 2539
+-114.77 40.276 2498
+-114.644 40.276 2435
+-114.518 40.276 2327
+-114.392 40.276 2238
+-114.266 40.276 2187
+-114.14 40.276 2196
+-114.014 40.276 2212
+-113.888 40.276 2236
+-113.762 40.276 2246
+-113.636 40.276 2230
+-113.51 40.276 2193
+-113.384 40.276 2105
+-113.258 40.276 2017
+-113.132 40.276 1898
+-113.006 40.276 1746
+-112.88 40.276 1557
+-112.754 40.276 1344
+-112.628 40.276 1134
+-112.502 40.276 977
+-112.376 40.276 922
+-112.25 40.276 966
+-112.124 40.276 1059
+-111.998 40.276 1140
+-111.872 40.276 1181
+-111.746 40.276 1188
+-111.62 40.276 1193
+-111.494 40.276 1209
+-111.368 40.276 1225
+-111.242 40.276 1270
+-111.116 40.276 1327
+-110.99 40.276 1389
+-110.864 40.276 1453
+-110.738 40.276 1515
+-110.612 40.276 1574
+-110.486 40.276 1626
+-110.36 40.276 1694
+-110.234 40.276 1743
+-110.108 40.276 1779
+-109.982 40.276 1820
+-109.856 40.276 1830
+-109.73 40.276 1881
+-109.604 40.276 1912
+-109.478 40.276 1940
+-109.352 40.276 1893
+-109.226 40.276 1928
+-109.1 40.276 1961
+-108.974 40.276 1983
+-108.848 40.276 1933
+-108.722 40.276 1947
+-108.596 40.276 1963
+-108.47 40.276 1946
+-108.344 40.276 2029
+-108.218 40.276 2043
+-108.092 40.276 2060
+-107.966 40.276 2073
+-107.84 40.276 2085
+-107.714 40.276 2068
+-107.588 40.276 2055
+-107.462 40.276 2049
+-107.336 40.276 2058
+-107.21 40.276 2063
+-107.084 40.276 2078
+-106.958 40.276 2071
+-106.832 40.276 2079
+-106.706 40.276 2068
+-106.58 40.276 2078
+-106.454 40.276 2085
+-106.328 40.276 2091
+-106.202 40.276 2113
+-106.076 40.276 2134
+-105.95 40.276 2070
+-105.824 40.276 2055
+-105.698 40.276 2055
+-105.572 40.276 1948
+-105.446 40.276 1998
+-105.32 40.276 1992
+-105.194 40.276 2003
+-105.068 40.276 1995
+-104.942 40.276 2000
+-104.816 40.276 1991
+-104.69 40.276 1981
+-104.564 40.276 2055
+-104.438 40.276 2032
+-104.312 40.276 2076
+-104.186 40.276 2066
+-104.06 40.276 2026
+-103.934 40.276 2115
+-103.808 40.276 2116
+-103.682 40.276 2132
+-103.556 40.276 2181
+-103.43 40.276 2192
+-103.304 40.276 2188
+-103.178 40.276 2245
+-103.052 40.276 2229
+-102.926 40.276 2269
+-102.8 40.276 2263
+-102.674 40.276 2312
+-102.548 40.276 2305
+-102.422 40.276 2298
+-102.296 40.276 2306
+-102.17 40.276 2329
+-102.044 40.276 2319
+-101.918 40.276 2308
+-101.792 40.276 2297
+-101.666 40.276 2364
+-101.54 40.276 2350
+-101.414 40.276 2334
+-101.288 40.276 2317
+-101.162 40.276 2298
+-101.036 40.276 2278
+-100.91 40.276 2256
+-100.784 40.276 2232
+-100.658 40.276 2253
+-100.532 40.276 2224
+-100.406 40.276 2192
+-100.28 40.276 2156
+-100.154 40.276 2117
+-100.028 40.276 2073
+-99.902 40.276 2057
+-99.776 40.276 2014
+-99.65 40.276 1957
+-99.524 40.276 1998
+-99.398 40.276 1934
+-99.272 40.276 1869
+-99.146 40.276 1839
+-99.02 40.276 1853
+-98.894 40.276 1815
+-98.768 40.276 1797
+-98.642 40.276 1824
+-98.516 40.276 1938
+-98.39 40.276 2039
+-98.264 40.276 2195
+-98.138 40.276 2326
+-98.012 40.276 2452
+-97.886 40.276 2561
+-97.76 40.276 2656
+-97.634 40.276 2727
+-97.508 40.276 2797
+-97.382 40.276 2821
+-97.256 40.276 2873
+-97.13 40.276 2850
+-97.004 40.276 2851
+-96.878 40.276 2873
+-96.752 40.276 2967
+-96.626 40.276 3132
+-96.5 40.276 3242
+-96.374 40.276 3274
+-96.248 40.276 3309
+-96.122 40.276 3423
+-95.996 40.276 3630
+-95.87 40.276 3884
+-95.744 40.276 4022
+-95.618 40.276 4160
+-95.492 40.276 4204
+-95.366 40.276 4150
+-95.24 40.276 4051
+-95.114 40.276 4219
+-94.988 40.276 4384
+-94.862 40.276 4525
+-94.736 40.276 4592
+-94.61 40.276 4699
+-94.484 40.276 4849
+-94.358 40.276 4951
+-94.232 40.276 5016
+-94.106 40.276 5123
+-93.98 40.276 5324
+-93.854 40.276 5452
+-93.728 40.276 5584
+-93.602 40.276 5729
+-93.476 40.276 5775
+-93.35 40.276 5899
+-93.224 40.276 6048
+-93.098 40.276 6208
+-92.972 40.276 6297
+-92.846 40.276 6421
+-92.72 40.276 6534
+-92.594 40.276 6606
+-92.468 40.276 6714
+-92.342 40.276 6814
+-92.216 40.276 6974
+-92.09 40.276 7048
+-91.964 40.276 7121
+-91.838 40.276 7204
+-91.712 40.276 7328
+-91.586 40.276 7406
+-91.46 40.276 7445
+-91.334 40.276 7554
+-91.208 40.276 7570
+-91.082 40.276 7639
+-90.956 40.276 7694
+-90.83 40.276 7758
+-90.704 40.276 7790
+-90.578 40.276 7788
+-90.452 40.276 7807
+-90.326 40.276 7786
+-90.2 40.276 7780
+-90.074 40.276 7757
+-89.948 40.276 7712
+-89.822 40.276 7661
+-89.696 40.276 7601
+-89.57 40.276 7520
+-89.444 40.276 7475
+-89.318 40.276 7382
+-89.192 40.276 7335
+-89.066 40.276 7217
+-88.94 40.276 7131
+-88.814 40.276 7019
+-88.688 40.276 6914
+-88.562 40.276 6814
+-88.436 40.276 6697
+-88.31 40.276 6555
+-88.184 40.276 6859
+-88.058 40.276 6767
+-87.932 40.276 6741
+-87.806 40.276 6670
+-87.68 40.276 6664
+-87.554 40.276 6574
+-87.428 40.276 6507
+-87.302 40.276 6449
+-87.176 40.276 6381
+-87.05 40.276 6308
+-86.924 40.276 6258
+-86.798 40.276 6142
+-86.672 40.276 6048
+-86.546 40.276 5977
+-86.42 40.276 5888
+-86.294 40.276 5795
+-86.168 40.276 5694
+-86.042 40.276 5582
+-85.916 40.276 5516
+-85.79 40.276 5397
+-85.664 40.276 5309
+-85.538 40.276 5165
+-85.412 40.276 5032
+-85.286 40.276 4850
+-85.16 40.276 4762
+-85.034 40.276 4657
+-84.908 40.276 4573
+-84.782 40.276 4460
+-84.656 40.276 4329
+-84.53 40.276 4234
+-84.404 40.276 4231
+-84.278 40.276 4158
+-84.152 40.276 4067
+-84.026 40.276 3989
+-83.9 40.276 3896
+-83.774 40.276 3812
+-83.648 40.276 3741
+-83.522 40.276 3651
+-83.396 40.276 3582
+-83.27 40.276 3523
+-83.144 40.276 3480
+-83.018 40.276 3478
+-82.892 40.276 3510
+-82.766 40.276 3543
+-82.64 40.276 3572
+-82.514 40.276 3510
+-82.388 40.276 3520
+-82.262 40.276 3552
+-82.136 40.276 3564
+-82.01 40.276 3568
+-81.884 40.276 3579
+-81.758 40.276 3589
+-81.632 40.276 3597
+-81.506 40.276 3605
+-81.38 40.276 3612
+-81.254 40.276 3618
+-81.128 40.276 3624
+-81.002 40.276 3629
+-80.876 40.276 3634
+-80.75 40.276 3639
+-80.624 40.276 3643
+-80.498 40.276 3646
+-80.372 40.276 3650
+-80.246 40.276 3653
+-80.12 40.276 3610
+-79.994 40.276 3614
+-79.868 40.276 3597
+-79.742 40.276 3600
+-79.616 40.276 3602
+-79.49 40.276 3604
+-79.364 40.276 3606
+-79.238 40.276 3621
+-79.112 40.276 3624
+-78.986 40.276 3589
+-78.86 40.276 3550
+-78.734 40.276 3552
+-78.608 40.276 3588
+-78.482 40.276 3591
+-78.356 40.276 3593
+-78.23 40.276 3595
+-78.104 40.276 3596
+-77.978 40.276 3544
+-77.852 40.276 3545
+-77.726 40.276 3546
+-77.6 40.276 3547
+-77.474 40.276 3547
+-77.348 40.276 3548
+-77.222 40.276 3549
+-77.096 40.276 3550
+-76.97 40.276 3550
+-76.844 40.276 3551
+-76.718 40.276 3527
+-76.592 40.276 3518
+-76.466 40.276 3518
+-76.34 40.276 3519
+-76.214 40.276 3520
+-76.088 40.276 3521
+-75.962 40.276 3521
+-75.836 40.276 3506
+-75.71 40.276 3506
+-75.584 40.276 3507
+-75.458 40.276 3507
+-75.332 40.276 3507
+-75.206 40.276 3508
+-75.08 40.276 3508
+-74.954 40.276 3509
+-74.828 40.276 3451
+-74.702 40.276 3451
+-74.576 40.276 3452
+-74.45 40.276 3452
+-74.324 40.276 3452
+-74.198 40.276 3453
+-74.072 40.276 3453
+-73.946 40.276 3454
+-73.82 40.276 3454
+-73.694 40.276 3454
+-73.568 40.276 3455
+-73.442 40.276 3455
+-73.316 40.276 3455
+-73.19 40.276 3383
+-73.064 40.276 3383
+-72.938 40.276 3383
+-72.812 40.276 3382
+-72.686 40.276 3382
+-72.56 40.276 3382
+-72.434 40.276 3382
+-72.308 40.276 3381
+-72.182 40.276 3381
+-72.056 40.276 3381
+-71.93 40.276 3381
+-71.804 40.276 3381
+-71.678 40.276 3380
+-71.552 40.276 3380
+-71.426 40.276 3380
+-71.3 40.276 3380
+-71.174 40.276 3379
+-71.048 40.276 3379
+-70.922 40.276 3379
+-70.796 40.276 3379
+-70.67 40.276 3379
+-70.544 40.276 3378
+-70.418 40.276 3378
+-70.292 40.276 3378
+-70.166 40.276 3378
+-70.04 40.276 3070
+-69.914 40.276 3069
+-69.788 40.276 3068
+-69.662 40.276 3068
+-69.536 40.276 3067
+-69.41 40.276 3066
+-69.284 40.276 3066
+-69.158 40.276 3065
+-69.032 40.276 3064
+-68.906 40.276 3064
+-68.78 40.276 3063
+-68.654 40.276 3062
+-68.528 40.276 3062
+-68.402 40.276 3061
+-68.276 40.276 3061
+-68.15 40.276 3060
+-68.024 40.276 3059
+-67.898 40.276 3059
+-67.772 40.276 2932
+-67.646 40.276 2932
+-67.52 40.276 2901
+-67.394 40.276 2854
+-67.268 40.276 2853
+-67.142 40.276 2852
+-67.016 40.276 2868
+-66.89 40.276 2867
+-66.764 40.276 2879
+-66.638 40.276 2878
+-66.512 40.276 2836
+-66.386 40.276 2800
+-66.26 40.276 2799
+-66.134 40.276 2799
+-66.008 40.276 2799
+-65.882 40.276 2820
+-65.756 40.276 2826
+-65.63 40.276 2835
+-65.504 40.276 2833
+-65.378 40.276 2875
+-65.252 40.276 2887
+-65.126 40.276 2887
+-128 40.224 2660
+-127.874 40.224 2654
+-127.748 40.224 2637
+-127.622 40.224 2632
+-127.496 40.224 2626
+-127.37 40.224 2568
+-127.244 40.224 2589
+-127.118 40.224 2596
+-126.992 40.224 2603
+-126.866 40.224 2540
+-126.74 40.224 2549
+-126.614 40.224 2559
+-126.488 40.224 2563
+-126.362 40.224 2522
+-126.236 40.224 2530
+-126.11 40.224 2537
+-125.984 40.224 2542
+-125.858 40.224 2545
+-125.732 40.224 2546
+-125.606 40.224 2544
+-125.48 40.224 2539
+-125.354 40.224 2503
+-125.228 40.224 2492
+-125.102 40.224 2478
+-124.976 40.224 2479
+-124.85 40.224 2447
+-124.724 40.224 2433
+-124.598 40.224 2397
+-124.472 40.224 2354
+-124.346 40.224 2304
+-124.22 40.224 2244
+-124.094 40.224 2176
+-123.968 40.224 2133
+-123.842 40.224 2123
+-123.716 40.224 2150
+-123.59 40.224 2206
+-123.464 40.224 2259
+-123.338 40.224 2301
+-123.212 40.224 2332
+-123.086 40.224 2351
+-122.96 40.224 2371
+-122.834 40.224 2397
+-122.708 40.224 2421
+-122.582 40.224 2441
+-122.456 40.224 2455
+-122.33 40.224 2457
+-122.204 40.224 2441
+-122.078 40.224 2407
+-121.952 40.224 2358
+-121.826 40.224 2310
+-121.7 40.224 2296
+-121.574 40.224 2346
+-121.448 40.224 2432
+-121.322 40.224 2524
+-121.196 40.224 2643
+-121.07 40.224 2706
+-120.944 40.224 2751
+-120.818 40.224 2808
+-120.692 40.224 2822
+-120.566 40.224 2841
+-120.44 40.224 2848
+-120.314 40.224 2866
+-120.188 40.224 2900
+-120.062 40.224 2942
+-119.936 40.224 2981
+-119.81 40.224 3024
+-119.684 40.224 3066
+-119.558 40.224 3091
+-119.432 40.224 3110
+-119.306 40.224 3127
+-119.18 40.224 3140
+-119.054 40.224 3155
+-118.928 40.224 3178
+-118.802 40.224 3180
+-118.676 40.224 3193
+-118.55 40.224 3191
+-118.424 40.224 3192
+-118.298 40.224 3167
+-118.172 40.224 3129
+-118.046 40.224 3088
+-117.92 40.224 3017
+-117.794 40.224 2975
+-117.668 40.224 3011
+-117.542 40.224 3064
+-117.416 40.224 3081
+-117.29 40.224 3080
+-117.164 40.224 3043
+-117.038 40.224 3009
+-116.912 40.224 2968
+-116.786 40.224 2933
+-116.66 40.224 2910
+-116.534 40.224 2855
+-116.408 40.224 2795
+-116.282 40.224 2804
+-116.156 40.224 2819
+-116.03 40.224 2782
+-115.904 40.224 2751
+-115.778 40.224 2712
+-115.652 40.224 2670
+-115.526 40.224 2629
+-115.4 40.224 2602
+-115.274 40.224 2599
+-115.148 40.224 2588
+-115.022 40.224 2576
+-114.896 40.224 2551
+-114.77 40.224 2520
+-114.644 40.224 2479
+-114.518 40.224 2402
+-114.392 40.224 2347
+-114.266 40.224 2309
+-114.14 40.224 2299
+-114.014 40.224 2279
+-113.888 40.224 2280
+-113.762 40.224 2277
+-113.636 40.224 2254
+-113.51 40.224 2212
+-113.384 40.224 2151
+-113.258 40.224 2062
+-113.132 40.224 1941
+-113.006 40.224 1791
+-112.88 40.224 1598
+-112.754 40.224 1374
+-112.628 40.224 1174
+-112.502 40.224 1027
+-112.376 40.224 971
+-112.25 40.224 1004
+-112.124 40.224 1075
+-111.998 40.224 1125
+-111.872 40.224 1129
+-111.746 40.224 1090
+-111.62 40.224 1072
+-111.494 40.224 1083
+-111.368 40.224 1116
+-111.242 40.224 1177
+-111.116 40.224 1248
+-110.99 40.224 1325
+-110.864 40.224 1402
+-110.738 40.224 1475
+-110.612 40.224 1539
+-110.486 40.224 1617
+-110.36 40.224 1676
+-110.234 40.224 1721
+-110.108 40.224 1769
+-109.982 40.224 1787
+-109.856 40.224 1842
+-109.73 40.224 1877
+-109.604 40.224 1910
+-109.478 40.224 1868
+-109.352 40.224 1904
+-109.226 40.224 1929
+-109.1 40.224 1928
+-108.974 40.224 1973
+-108.848 40.224 1990
+-108.722 40.224 2009
+-108.596 40.224 1987
+-108.47 40.224 2002
+-108.344 40.224 1964
+-108.218 40.224 2047
+-108.092 40.224 2061
+-107.966 40.224 2077
+-107.84 40.224 2063
+-107.714 40.224 2052
+-107.588 40.224 2045
+-107.462 40.224 2055
+-107.336 40.224 2061
+-107.21 40.224 2077
+-107.084 40.224 2071
+-106.958 40.224 2079
+-106.832 40.224 2087
+-106.706 40.224 2078
+-106.58 40.224 2085
+-106.454 40.224 2092
+-106.328 40.224 2114
+-106.202 40.224 2135
+-106.076 40.224 2184
+-105.95 40.224 2190
+-105.824 40.224 2079
+-105.698 40.224 2063
+-105.572 40.224 1974
+-105.446 40.224 2007
+-105.32 40.224 2019
+-105.194 40.224 2012
+-105.068 40.224 2018
+-104.942 40.224 2010
+-104.816 40.224 2001
+-104.69 40.224 1992
+-104.564 40.224 2064
+-104.438 40.224 2041
+-104.312 40.224 2085
+-104.186 40.224 2075
+-104.06 40.224 2035
+-103.934 40.224 2124
+-103.808 40.224 2126
+-103.682 40.224 2141
+-103.556 40.224 2189
+-103.43 40.224 2200
+-103.304 40.224 2197
+-103.178 40.224 2253
+-103.052 40.224 2238
+-102.926 40.224 2280
+-102.8 40.224 2273
+-102.674 40.224 2267
+-102.548 40.224 2316
+-102.422 40.224 2309
+-102.296 40.224 2319
+-102.17 40.224 2342
+-102.044 40.224 2333
+-101.918 40.224 2323
+-101.792 40.224 2312
+-101.666 40.224 2382
+-101.54 40.224 2368
+-101.414 40.224 2353
+-101.288 40.224 2338
+-101.162 40.224 2320
+-101.036 40.224 2302
+-100.91 40.224 2282
+-100.784 40.224 2260
+-100.658 40.224 2236
+-100.532 40.224 2257
+-100.406 40.224 2229
+-100.28 40.224 2197
+-100.154 40.224 2163
+-100.028 40.224 2126
+-99.902 40.224 2085
+-99.776 40.224 2073
+-99.65 40.224 2036
+-99.524 40.224 1989
+-99.398 40.224 2045
+-99.272 40.224 1999
+-99.146 40.224 2045
+-99.02 40.224 2035
+-98.894 40.224 2017
+-98.768 40.224 2020
+-98.642 40.224 2050
+-98.516 40.224 2130
+-98.39 40.224 2247
+-98.264 40.224 2357
+-98.138 40.224 2456
+-98.012 40.224 2550
+-97.886 40.224 2630
+-97.76 40.224 2691
+-97.634 40.224 2737
+-97.508 40.224 2761
+-97.382 40.224 2779
+-97.256 40.224 2800
+-97.13 40.224 2746
+-97.004 40.224 2677
+-96.878 40.224 2667
+-96.752 40.224 2771
+-96.626 40.224 3003
+-96.5 40.224 3146
+-96.374 40.224 3144
+-96.248 40.224 3117
+-96.122 40.224 3253
+-95.996 40.224 3529
+-95.87 40.224 3781
+-95.744 40.224 4021
+-95.618 40.224 4119
+-95.492 40.224 4185
+-95.366 40.224 4191
+-95.24 40.224 4180
+-95.114 40.224 4184
+-94.988 40.224 4337
+-94.862 40.224 4511
+-94.736 40.224 4609
+-94.61 40.224 4723
+-94.484 40.224 4862
+-94.358 40.224 4980
+-94.232 40.224 5072
+-94.106 40.224 5123
+-93.98 40.224 5339
+-93.854 40.224 5408
+-93.728 40.224 5578
+-93.602 40.224 5753
+-93.476 40.224 5883
+-93.35 40.224 5981
+-93.224 40.224 6013
+-93.098 40.224 6207
+-92.972 40.224 6271
+-92.846 40.224 6460
+-92.72 40.224 6529
+-92.594 40.224 6635
+-92.468 40.224 6705
+-92.342 40.224 6850
+-92.216 40.224 6963
+-92.09 40.224 7058
+-91.964 40.224 7226
+-91.838 40.224 7264
+-91.712 40.224 7367
+-91.586 40.224 7460
+-91.46 40.224 7516
+-91.334 40.224 7588
+-91.208 40.224 7651
+-91.082 40.224 7715
+-90.956 40.224 7754
+-90.83 40.224 7848
+-90.704 40.224 7822
+-90.578 40.224 7867
+-90.452 40.224 7860
+-90.326 40.224 7876
+-90.2 40.224 7853
+-90.074 40.224 7817
+-89.948 40.224 7761
+-89.822 40.224 7696
+-89.696 40.224 7627
+-89.57 40.224 7604
+-89.444 40.224 7495
+-89.318 40.224 7470
+-89.192 40.224 7354
+-89.066 40.224 7210
+-88.94 40.224 7160
+-88.814 40.224 7045
+-88.688 40.224 6921
+-88.562 40.224 6858
+-88.436 40.224 6824
+-88.31 40.224 6907
+-88.184 40.224 6883
+-88.058 40.224 6841
+-87.932 40.224 6796
+-87.806 40.224 6735
+-87.68 40.224 6674
+-87.554 40.224 6623
+-87.428 40.224 6569
+-87.302 40.224 6523
+-87.176 40.224 6444
+-87.05 40.224 6337
+-86.924 40.224 6285
+-86.798 40.224 6201
+-86.672 40.224 6099
+-86.546 40.224 5962
+-86.42 40.224 5907
+-86.294 40.224 5787
+-86.168 40.224 5753
+-86.042 40.224 5661
+-85.916 40.224 5586
+-85.79 40.224 5484
+-85.664 40.224 5332
+-85.538 40.224 5217
+-85.412 40.224 5098
+-85.286 40.224 4900
+-85.16 40.224 4754
+-85.034 40.224 4667
+-84.908 40.224 4625
+-84.782 40.224 4496
+-84.656 40.224 4314
+-84.53 40.224 4287
+-84.404 40.224 4196
+-84.278 40.224 4129
+-84.152 40.224 4091
+-84.026 40.224 4044
+-83.9 40.224 3976
+-83.774 40.224 3887
+-83.648 40.224 3786
+-83.522 40.224 3620
+-83.396 40.224 3452
+-83.27 40.224 3341
+-83.144 40.224 3353
+-83.018 40.224 3405
+-82.892 40.224 3454
+-82.766 40.224 3509
+-82.64 40.224 3551
+-82.514 40.224 3529
+-82.388 40.224 3530
+-82.262 40.224 3564
+-82.136 40.224 3558
+-82.01 40.224 3572
+-81.884 40.224 3583
+-81.758 40.224 3593
+-81.632 40.224 3602
+-81.506 40.224 3610
+-81.38 40.224 3617
+-81.254 40.224 3623
+-81.128 40.224 3629
+-81.002 40.224 3634
+-80.876 40.224 3638
+-80.75 40.224 3643
+-80.624 40.224 3647
+-80.498 40.224 3650
+-80.372 40.224 3654
+-80.246 40.224 3612
+-80.12 40.224 3616
+-79.994 40.224 3599
+-79.868 40.224 3602
+-79.742 40.224 3604
+-79.616 40.224 3606
+-79.49 40.224 3608
+-79.364 40.224 3622
+-79.238 40.224 3626
+-79.112 40.224 3591
+-78.986 40.224 3552
+-78.86 40.224 3553
+-78.734 40.224 3589
+-78.608 40.224 3591
+-78.482 40.224 3593
+-78.356 40.224 3595
+-78.23 40.224 3597
+-78.104 40.224 3544
+-77.978 40.224 3545
+-77.852 40.224 3546
+-77.726 40.224 3547
+-77.6 40.224 3548
+-77.474 40.224 3549
+-77.348 40.224 3549
+-77.222 40.224 3550
+-77.096 40.224 3551
+-76.97 40.224 3551
+-76.844 40.224 3528
+-76.718 40.224 3518
+-76.592 40.224 3519
+-76.466 40.224 3520
+-76.34 40.224 3520
+-76.214 40.224 3521
+-76.088 40.224 3505
+-75.962 40.224 3506
+-75.836 40.224 3506
+-75.71 40.224 3507
+-75.584 40.224 3507
+-75.458 40.224 3508
+-75.332 40.224 3508
+-75.206 40.224 3508
+-75.08 40.224 3509
+-74.954 40.224 3451
+-74.828 40.224 3451
+-74.702 40.224 3451
+-74.576 40.224 3452
+-74.45 40.224 3452
+-74.324 40.224 3453
+-74.198 40.224 3453
+-74.072 40.224 3454
+-73.946 40.224 3454
+-73.82 40.224 3454
+-73.694 40.224 3455
+-73.568 40.224 3455
+-73.442 40.224 3455
+-73.316 40.224 3383
+-73.19 40.224 3383
+-73.064 40.224 3383
+-72.938 40.224 3382
+-72.812 40.224 3382
+-72.686 40.224 3382
+-72.56 40.224 3382
+-72.434 40.224 3381
+-72.308 40.224 3381
+-72.182 40.224 3381
+-72.056 40.224 3381
+-71.93 40.224 3381
+-71.804 40.224 3380
+-71.678 40.224 3380
+-71.552 40.224 3380
+-71.426 40.224 3380
+-71.3 40.224 3379
+-71.174 40.224 3379
+-71.048 40.224 3379
+-70.922 40.224 3379
+-70.796 40.224 3379
+-70.67 40.224 3378
+-70.544 40.224 3378
+-70.418 40.224 3378
+-70.292 40.224 3378
+-70.166 40.224 3070
+-70.04 40.224 3069
+-69.914 40.224 3068
+-69.788 40.224 3068
+-69.662 40.224 3067
+-69.536 40.224 3066
+-69.41 40.224 3066
+-69.284 40.224 3065
+-69.158 40.224 3064
+-69.032 40.224 3064
+-68.906 40.224 3063
+-68.78 40.224 3062
+-68.654 40.224 3062
+-68.528 40.224 3061
+-68.402 40.224 3061
+-68.276 40.224 3060
+-68.15 40.224 3059
+-68.024 40.224 3059
+-67.898 40.224 2932
+-67.772 40.224 2932
+-67.646 40.224 2901
+-67.52 40.224 2854
+-67.394 40.224 2853
+-67.268 40.224 2852
+-67.142 40.224 2868
+-67.016 40.224 2867
+-66.89 40.224 2878
+-66.764 40.224 2878
+-66.638 40.224 2836
+-66.512 40.224 2799
+-66.386 40.224 2799
+-66.26 40.224 2799
+-66.134 40.224 2798
+-66.008 40.224 2820
+-65.882 40.224 2825
+-65.756 40.224 2835
+-65.63 40.224 2832
+-65.504 40.224 2875
+-65.378 40.224 2886
+-65.252 40.224 2887
+-65.126 40.224 2950
+-128 40.172 2678
+-127.874 40.172 2659
+-127.748 40.172 2653
+-127.622 40.172 2646
+-127.496 40.172 2583
+-127.37 40.172 2602
+-127.244 40.172 2606
+-127.118 40.172 2611
+-126.992 40.172 2542
+-126.866 40.172 2549
+-126.74 40.172 2556
+-126.614 40.172 2558
+-126.488 40.172 2515
+-126.362 40.172 2522
+-126.236 40.172 2527
+-126.11 40.172 2532
+-125.984 40.172 2535
+-125.858 40.172 2536
+-125.732 40.172 2534
+-125.606 40.172 2530
+-125.48 40.172 2494
+-125.354 40.172 2475
+-125.228 40.172 2463
+-125.102 40.172 2448
+-124.976 40.172 2429
+-124.85 40.172 2399
+-124.724 40.172 2370
+-124.598 40.172 2321
+-124.472 40.172 2280
+-124.346 40.172 2230
+-124.22 40.172 2169
+-124.094 40.172 2107
+-123.968 40.172 2049
+-123.842 40.172 2025
+-123.716 40.172 2057
+-123.59 40.172 2125
+-123.464 40.172 2196
+-123.338 40.172 2225
+-123.212 40.172 2258
+-123.086 40.172 2283
+-122.96 40.172 2304
+-122.834 40.172 2331
+-122.708 40.172 2365
+-122.582 40.172 2402
+-122.456 40.172 2428
+-122.33 40.172 2441
+-122.204 40.172 2443
+-122.078 40.172 2430
+-121.952 40.172 2407
+-121.826 40.172 2390
+-121.7 40.172 2389
+-121.574 40.172 2420
+-121.448 40.172 2493
+-121.322 40.172 2557
+-121.196 40.172 2628
+-121.07 40.172 2695
+-120.944 40.172 2725
+-120.818 40.172 2767
+-120.692 40.172 2775
+-120.566 40.172 2769
+-120.44 40.172 2759
+-120.314 40.172 2762
+-120.188 40.172 2796
+-120.062 40.172 2847
+-119.936 40.172 2909
+-119.81 40.172 2964
+-119.684 40.172 3018
+-119.558 40.172 3055
+-119.432 40.172 3079
+-119.306 40.172 3097
+-119.18 40.172 3110
+-119.054 40.172 3121
+-118.928 40.172 3149
+-118.802 40.172 3153
+-118.676 40.172 3153
+-118.55 40.172 3151
+-118.424 40.172 3138
+-118.298 40.172 3126
+-118.172 40.172 3104
+-118.046 40.172 3057
+-117.92 40.172 2975
+-117.794 40.172 2919
+-117.668 40.172 2967
+-117.542 40.172 3031
+-117.416 40.172 3054
+-117.29 40.172 3056
+-117.164 40.172 3029
+-117.038 40.172 2989
+-116.912 40.172 2955
+-116.786 40.172 2927
+-116.66 40.172 2923
+-116.534 40.172 2902
+-116.408 40.172 2862
+-116.282 40.172 2848
+-116.156 40.172 2849
+-116.03 40.172 2816
+-115.904 40.172 2801
+-115.778 40.172 2773
+-115.652 40.172 2740
+-115.526 40.172 2702
+-115.4 40.172 2670
+-115.274 40.172 2649
+-115.148 40.172 2628
+-115.022 40.172 2588
+-114.896 40.172 2558
+-114.77 40.172 2534
+-114.644 40.172 2508
+-114.518 40.172 2452
+-114.392 40.172 2408
+-114.266 40.172 2377
+-114.14 40.172 2365
+-114.014 40.172 2333
+-113.888 40.172 2321
+-113.762 40.172 2313
+-113.636 40.172 2284
+-113.51 40.172 2237
+-113.384 40.172 2173
+-113.258 40.172 2084
+-113.132 40.172 1975
+-113.006 40.172 1825
+-112.88 40.172 1652
+-112.754 40.172 1463
+-112.628 40.172 1275
+-112.502 40.172 1146
+-112.376 40.172 1088
+-112.25 40.172 1092
+-112.124 40.172 1117
+-111.998 40.172 1108
+-111.872 40.172 1046
+-111.746 40.172 980
+-111.62 40.172 938
+-111.494 40.172 948
+-111.368 40.172 1003
+-111.242 40.172 1083
+-111.116 40.172 1171
+-110.99 40.172 1265
+-110.864 40.172 1355
+-110.738 40.172 1436
+-110.612 40.172 1527
+-110.486 40.172 1598
+-110.36 40.172 1655
+-110.234 40.172 1711
+-110.108 40.172 1750
+-109.982 40.172 1798
+-109.856 40.172 1840
+-109.73 40.172 1877
+-109.604 40.172 1856
+-109.478 40.172 1879
+-109.352 40.172 1906
+-109.226 40.172 1919
+-109.1 40.172 1956
+-108.974 40.172 1978
+-108.848 40.172 2015
+-108.722 40.172 2034
+-108.596 40.172 2052
+-108.47 40.172 2007
+-108.344 40.172 2021
+-108.218 40.172 1992
+-108.092 40.172 2019
+-107.966 40.172 2057
+-107.84 40.172 2048
+-107.714 40.172 2041
+-107.588 40.172 2051
+-107.462 40.172 2059
+-107.336 40.172 2076
+-107.21 40.172 2070
+-107.084 40.172 2079
+-106.958 40.172 2086
+-106.832 40.172 2078
+-106.706 40.172 2085
+-106.58 40.172 2092
+-106.454 40.172 2115
+-106.328 40.172 2136
+-106.202 40.172 2185
+-106.076 40.172 2191
+-105.95 40.172 2197
+-105.824 40.172 2203
+-105.698 40.172 2088
+-105.572 40.172 2144
+-105.446 40.172 2034
+-105.32 40.172 2029
+-105.194 40.172 2035
+-105.068 40.172 2028
+-104.942 40.172 2020
+-104.816 40.172 2012
+-104.69 40.172 2002
+-104.564 40.172 2073
+-104.438 40.172 2049
+-104.312 40.172 2094
+-104.186 40.172 2084
+-104.06 40.172 2044
+-103.934 40.172 2132
+-103.808 40.172 2135
+-103.682 40.172 2150
+-103.556 40.172 2197
+-103.43 40.172 2209
+-103.304 40.172 2206
+-103.178 40.172 2262
+-103.052 40.172 2248
+-102.926 40.172 2287
+-102.8 40.172 2284
+-102.674 40.172 2278
+-102.548 40.172 2271
+-102.422 40.172 2321
+-102.296 40.172 2331
+-102.17 40.172 2355
+-102.044 40.172 2347
+-101.918 40.172 2338
+-101.792 40.172 2328
+-101.666 40.172 2359
+-101.54 40.172 2387
+-101.414 40.172 2373
+-101.288 40.172 2359
+-101.162 40.172 2343
+-101.036 40.172 2326
+-100.91 40.172 2308
+-100.784 40.172 2288
+-100.658 40.172 2267
+-100.532 40.172 2244
+-100.406 40.172 2267
+-100.28 40.172 2240
+-100.154 40.172 2210
+-100.028 40.172 2179
+-99.902 40.172 2146
+-99.776 40.172 2110
+-99.65 40.172 2106
+-99.524 40.172 2077
+-99.398 40.172 2150
+-99.272 40.172 2215
+-99.146 40.172 2186
+-99.02 40.172 2166
+-98.894 40.172 2188
+-98.768 40.172 2199
+-98.642 40.172 2254
+-98.516 40.172 2336
+-98.39 40.172 2399
+-98.264 40.172 2471
+-98.138 40.172 2563
+-98.012 40.172 2631
+-97.886 40.172 2688
+-97.76 40.172 2729
+-97.634 40.172 2754
+-97.508 40.172 2772
+-97.382 40.172 2773
+-97.256 40.172 2707
+-97.13 40.172 2640
+-97.004 40.172 2505
+-96.878 40.172 2442
+-96.752 40.172 2569
+-96.626 40.172 2863
+-96.5 40.172 3070
+-96.374 40.172 3081
+-96.248 40.172 3014
+-96.122 40.172 3151
+-95.996 40.172 3479
+-95.87 40.172 3778
+-95.744 40.172 3960
+-95.618 40.172 4093
+-95.492 40.172 4164
+-95.366 40.172 4190
+-95.24 40.172 4230
+-95.114 40.172 4285
+-94.988 40.172 4401
+-94.862 40.172 4538
+-94.736 40.172 4607
+-94.61 40.172 4699
+-94.484 40.172 4867
+-94.358 40.172 5016
+-94.232 40.172 5108
+-94.106 40.172 5146
+-93.98 40.172 5362
+-93.854 40.172 5492
+-93.728 40.172 5657
+-93.602 40.172 5827
+-93.476 40.172 5954
+-93.35 40.172 5935
+-93.224 40.172 6106
+-93.098 40.172 6202
+-92.972 40.172 6369
+-92.846 40.172 6434
+-92.72 40.172 6552
+-92.594 40.172 6678
+-92.468 40.172 6757
+-92.342 40.172 6907
+-92.216 40.172 6997
+-92.09 40.172 7083
+-91.964 40.172 7208
+-91.838 40.172 7274
+-91.712 40.172 7396
+-91.586 40.172 7499
+-91.46 40.172 7586
+-91.334 40.172 7662
+-91.208 40.172 7716
+-91.082 40.172 7753
+-90.956 40.172 7848
+-90.83 40.172 7829
+-90.704 40.172 7891
+-90.578 40.172 7920
+-90.452 40.172 7916
+-90.326 40.172 7893
+-90.2 40.172 7893
+-90.074 40.172 7856
+-89.948 40.172 7813
+-89.822 40.172 7770
+-89.696 40.172 7692
+-89.57 40.172 7624
+-89.444 40.172 7540
+-89.318 40.172 7481
+-89.192 40.172 7421
+-89.066 40.172 7304
+-88.94 40.172 7196
+-88.814 40.172 7115
+-88.688 40.172 6964
+-88.562 40.172 6872
+-88.436 40.172 6840
+-88.31 40.172 6702
+-88.184 40.172 6971
+-88.058 40.172 6891
+-87.932 40.172 6864
+-87.806 40.172 6836
+-87.68 40.172 6760
+-87.554 40.172 6681
+-87.428 40.172 6609
+-87.302 40.172 6561
+-87.176 40.172 6467
+-87.05 40.172 6409
+-86.924 40.172 6320
+-86.798 40.172 6251
+-86.672 40.172 6150
+-86.546 40.172 6042
+-86.42 40.172 5926
+-86.294 40.172 5795
+-86.168 40.172 5744
+-86.042 40.172 5699
+-85.916 40.172 5634
+-85.79 40.172 5527
+-85.664 40.172 5327
+-85.538 40.172 5182
+-85.412 40.172 5143
+-85.286 40.172 4944
+-85.16 40.172 4784
+-85.034 40.172 4763
+-84.908 40.172 4618
+-84.782 40.172 4515
+-84.656 40.172 4427
+-84.53 40.172 4283
+-84.404 40.172 4139
+-84.278 40.172 4007
+-84.152 40.172 4091
+-84.026 40.172 4096
+-83.9 40.172 4022
+-83.774 40.172 3916
+-83.648 40.172 3767
+-83.522 40.172 3524
+-83.396 40.172 3247
+-83.27 40.172 3100
+-83.144 40.172 3178
+-83.018 40.172 3332
+-82.892 40.172 3420
+-82.766 40.172 3486
+-82.64 40.172 3484
+-82.514 40.172 3522
+-82.388 40.172 3560
+-82.262 40.172 3566
+-82.136 40.172 3562
+-82.01 40.172 3576
+-81.884 40.172 3588
+-81.758 40.172 3598
+-81.632 40.172 3607
+-81.506 40.172 3615
+-81.38 40.172 3622
+-81.254 40.172 3628
+-81.128 40.172 3634
+-81.002 40.172 3639
+-80.876 40.172 3643
+-80.75 40.172 3647
+-80.624 40.172 3651
+-80.498 40.172 3655
+-80.372 40.172 3614
+-80.246 40.172 3618
+-80.12 40.172 3640
+-79.994 40.172 3643
+-79.868 40.172 3647
+-79.742 40.172 3650
+-79.616 40.172 3653
+-79.49 40.172 3624
+-79.364 40.172 3628
+-79.238 40.172 3593
+-79.112 40.172 3554
+-78.986 40.172 3555
+-78.86 40.172 3589
+-78.734 40.172 3591
+-78.608 40.172 3593
+-78.482 40.172 3595
+-78.356 40.172 3597
+-78.23 40.172 3545
+-78.104 40.172 3546
+-77.978 40.172 3547
+-77.852 40.172 3548
+-77.726 40.172 3548
+-77.6 40.172 3549
+-77.474 40.172 3550
+-77.348 40.172 3551
+-77.222 40.172 3551
+-77.096 40.172 3552
+-76.97 40.172 3528
+-76.844 40.172 3518
+-76.718 40.172 3519
+-76.592 40.172 3520
+-76.466 40.172 3521
+-76.34 40.172 3521
+-76.214 40.172 3522
+-76.088 40.172 3506
+-75.962 40.172 3507
+-75.836 40.172 3507
+-75.71 40.172 3508
+-75.584 40.172 3508
+-75.458 40.172 3508
+-75.332 40.172 3509
+-75.206 40.172 3509
+-75.08 40.172 3451
+-74.954 40.172 3451
+-74.828 40.172 3451
+-74.702 40.172 3452
+-74.576 40.172 3452
+-74.45 40.172 3453
+-74.324 40.172 3453
+-74.198 40.172 3453
+-74.072 40.172 3454
+-73.946 40.172 3454
+-73.82 40.172 3455
+-73.694 40.172 3455
+-73.568 40.172 3455
+-73.442 40.172 3383
+-73.316 40.172 3383
+-73.19 40.172 3383
+-73.064 40.172 3382
+-72.938 40.172 3382
+-72.812 40.172 3382
+-72.686 40.172 3382
+-72.56 40.172 3381
+-72.434 40.172 3381
+-72.308 40.172 3381
+-72.182 40.172 3381
+-72.056 40.172 3380
+-71.93 40.172 3380
+-71.804 40.172 3380
+-71.678 40.172 3380
+-71.552 40.172 3380
+-71.426 40.172 3379
+-71.3 40.172 3379
+-71.174 40.172 3379
+-71.048 40.172 3379
+-70.922 40.172 3379
+-70.796 40.172 3378
+-70.67 40.172 3378
+-70.544 40.172 3378
+-70.418 40.172 3378
+-70.292 40.172 3070
+-70.166 40.172 3069
+-70.04 40.172 3068
+-69.914 40.172 3068
+-69.788 40.172 3067
+-69.662 40.172 3066
+-69.536 40.172 3066
+-69.41 40.172 3065
+-69.284 40.172 3064
+-69.158 40.172 3064
+-69.032 40.172 3063
+-68.906 40.172 3062
+-68.78 40.172 3062
+-68.654 40.172 3061
+-68.528 40.172 3060
+-68.402 40.172 3060
+-68.276 40.172 3059
+-68.15 40.172 3059
+-68.024 40.172 2932
+-67.898 40.172 2931
+-67.772 40.172 2900
+-67.646 40.172 2854
+-67.52 40.172 2853
+-67.394 40.172 2852
+-67.268 40.172 2868
+-67.142 40.172 2867
+-67.016 40.172 2878
+-66.89 40.172 2878
+-66.764 40.172 2836
+-66.638 40.172 2799
+-66.512 40.172 2799
+-66.386 40.172 2798
+-66.26 40.172 2798
+-66.134 40.172 2819
+-66.008 40.172 2825
+-65.882 40.172 2834
+-65.756 40.172 2832
+-65.63 40.172 2874
+-65.504 40.172 2885
+-65.378 40.172 2886
+-65.252 40.172 2949
+-65.126 40.172 2972
+-128 40.12 2679
+-127.874 40.12 2672
+-127.748 40.12 2664
+-127.622 40.12 2596
+-127.496 40.12 2615
+-127.37 40.12 2617
+-127.244 40.12 2620
+-127.118 40.12 2545
+-126.992 40.12 2550
+-126.866 40.12 2556
+-126.74 40.12 2514
+-126.614 40.12 2509
+-126.488 40.12 2515
+-126.362 40.12 2520
+-126.236 40.12 2523
+-126.11 40.12 2526
+-125.984 40.12 2527
+-125.858 40.12 2526
+-125.732 40.12 2522
+-125.606 40.12 2487
+-125.48 40.12 2469
+-125.354 40.12 2459
+-125.228 40.12 2446
+-125.102 40.12 2430
+-124.976 40.12 2404
+-124.85 40.12 2349
+-124.724 40.12 2316
+-124.598 40.12 2273
+-124.472 40.12 2234
+-124.346 40.12 2188
+-124.22 40.12 2131
+-124.094 40.12 2073
+-123.968 40.12 2017
+-123.842 40.12 1992
+-123.716 40.12 2020
+-123.59 40.12 2083
+-123.464 40.12 2144
+-123.338 40.12 2170
+-123.212 40.12 2173
+-123.086 40.12 2189
+-122.96 40.12 2208
+-122.834 40.12 2243
+-122.708 40.12 2305
+-122.582 40.12 2349
+-122.456 40.12 2396
+-122.33 40.12 2426
+-122.204 40.12 2443
+-122.078 40.12 2447
+-121.952 40.12 2445
+-121.826 40.12 2446
+-121.7 40.12 2454
+-121.574 40.12 2480
+-121.448 40.12 2543
+-121.322 40.12 2581
+-121.196 40.12 2633
+-121.07 40.12 2681
+-120.944 40.12 2703
+-120.818 40.12 2731
+-120.692 40.12 2714
+-120.566 40.12 2690
+-120.44 40.12 2653
+-120.314 40.12 2640
+-120.188 40.12 2683
+-120.062 40.12 2758
+-119.936 40.12 2844
+-119.81 40.12 2907
+-119.684 40.12 2981
+-119.558 40.12 3026
+-119.432 40.12 3054
+-119.306 40.12 3073
+-119.18 40.12 3085
+-119.054 40.12 3096
+-118.928 40.12 3121
+-118.802 40.12 3127
+-118.676 40.12 3137
+-118.55 40.12 3133
+-118.424 40.12 3124
+-118.298 40.12 3109
+-118.172 40.12 3098
+-118.046 40.12 3072
+-117.92 40.12 3015
+-117.794 40.12 2972
+-117.668 40.12 3000
+-117.542 40.12 3042
+-117.416 40.12 3062
+-117.29 40.12 3055
+-117.164 40.12 3030
+-117.038 40.12 2995
+-116.912 40.12 2967
+-116.786 40.12 2940
+-116.66 40.12 2926
+-116.534 40.12 2914
+-116.408 40.12 2898
+-116.282 40.12 2884
+-116.156 40.12 2883
+-116.03 40.12 2854
+-115.904 40.12 2851
+-115.778 40.12 2848
+-115.652 40.12 2812
+-115.526 40.12 2769
+-115.4 40.12 2727
+-115.274 40.12 2686
+-115.148 40.12 2650
+-115.022 40.12 2592
+-114.896 40.12 2550
+-114.77 40.12 2529
+-114.644 40.12 2511
+-114.518 40.12 2472
+-114.392 40.12 2426
+-114.266 40.12 2395
+-114.14 40.12 2386
+-114.014 40.12 2363
+-113.888 40.12 2360
+-113.762 40.12 2341
+-113.636 40.12 2310
+-113.51 40.12 2270
+-113.384 40.12 2207
+-113.258 40.12 2123
+-113.132 40.12 2015
+-113.006 40.12 1877
+-112.88 40.12 1724
+-112.754 40.12 1562
+-112.628 40.12 1410
+-112.502 40.12 1283
+-112.376 40.12 1214
+-112.25 40.12 1185
+-112.124 40.12 1147
+-111.998 40.12 1060
+-111.872 40.12 945
+-111.746 40.12 838
+-111.62 40.12 790
+-111.494 40.12 815
+-111.368 40.12 895
+-111.242 40.12 992
+-111.116 40.12 1109
+-110.99 40.12 1221
+-110.864 40.12 1327
+-110.738 40.12 1423
+-110.612 40.12 1509
+-110.486 40.12 1579
+-110.36 40.12 1647
+-110.234 40.12 1697
+-110.108 40.12 1751
+-109.982 40.12 1809
+-109.856 40.12 1852
+-109.73 40.12 1827
+-109.604 40.12 1852
+-109.478 40.12 1883
+-109.352 40.12 1900
+-109.226 40.12 1937
+-109.1 40.12 1961
+-108.974 40.12 2002
+-108.848 40.12 2022
+-108.722 40.12 2041
+-108.596 40.12 2058
+-108.47 40.12 2074
+-108.344 40.12 1986
+-108.218 40.12 2091
+-108.092 40.12 2108
+-107.966 40.12 2100
+-107.84 40.12 2056
+-107.714 40.12 2048
+-107.588 40.12 2058
+-107.462 40.12 2075
+-107.336 40.12 2070
+-107.21 40.12 2078
+-107.084 40.12 2087
+-106.958 40.12 2078
+-106.832 40.12 2086
+-106.706 40.12 2093
+-106.58 40.12 2115
+-106.454 40.12 2137
+-106.328 40.12 2185
+-106.202 40.12 2192
+-106.076 40.12 2198
+-105.95 40.12 2204
+-105.824 40.12 2209
+-105.698 40.12 2108
+-105.572 40.12 2151
+-105.446 40.12 2057
+-105.32 40.12 2051
+-105.194 40.12 2045
+-105.068 40.12 2038
+-104.942 40.12 2031
+-104.816 40.12 2076
+-104.69 40.12 2175
+-104.564 40.12 2083
+-104.438 40.12 2133
+-104.312 40.12 2103
+-104.186 40.12 2093
+-104.06 40.12 2052
+-103.934 40.12 2141
+-103.808 40.12 2144
+-103.682 40.12 2158
+-103.556 40.12 2205
+-103.43 40.12 2217
+-103.304 40.12 2215
+-103.178 40.12 2271
+-103.052 40.12 2257
+-102.926 40.12 2298
+-102.8 40.12 2295
+-102.674 40.12 2290
+-102.548 40.12 2284
+-102.422 40.12 2277
+-102.296 40.12 2337
+-102.17 40.12 2369
+-102.044 40.12 2362
+-101.918 40.12 2353
+-101.792 40.12 2344
+-101.666 40.12 2371
+-101.54 40.12 2365
+-101.414 40.12 2394
+-101.288 40.12 2381
+-101.162 40.12 2366
+-101.036 40.12 2351
+-100.91 40.12 2335
+-100.784 40.12 2317
+-100.658 40.12 2299
+-100.532 40.12 2278
+-100.406 40.12 2257
+-100.28 40.12 2282
+-100.154 40.12 2258
+-100.028 40.12 2232
+-99.902 40.12 2205
+-99.776 40.12 2177
+-99.65 40.12 2180
+-99.524 40.12 2234
+-99.398 40.12 2350
+-99.272 40.12 2326
+-99.146 40.12 2308
+-99.02 40.12 2299
+-98.894 40.12 2301
+-98.768 40.12 2374
+-98.642 40.12 2441
+-98.516 40.12 2481
+-98.39 40.12 2531
+-98.264 40.12 2585
+-98.138 40.12 2639
+-98.012 40.12 2697
+-97.886 40.12 2736
+-97.76 40.12 2770
+-97.634 40.12 2793
+-97.508 40.12 2777
+-97.382 40.12 2736
+-97.256 40.12 2685
+-97.13 40.12 2565
+-97.004 40.12 2425
+-96.878 40.12 2330
+-96.752 40.12 2462
+-96.626 40.12 2795
+-96.5 40.12 3046
+-96.374 40.12 3121
+-96.248 40.12 3117
+-96.122 40.12 3257
+-95.996 40.12 3532
+-95.87 40.12 3791
+-95.744 40.12 3965
+-95.618 40.12 4077
+-95.492 40.12 4078
+-95.366 40.12 4055
+-95.24 40.12 4193
+-95.114 40.12 4365
+-94.988 40.12 4478
+-94.862 40.12 4548
+-94.736 40.12 4587
+-94.61 40.12 4662
+-94.484 40.12 4800
+-94.358 40.12 4968
+-94.232 40.12 5093
+-94.106 40.12 5206
+-93.98 40.12 5385
+-93.854 40.12 5590
+-93.728 40.12 5757
+-93.602 40.12 5897
+-93.476 40.12 5994
+-93.35 40.12 5999
+-93.224 40.12 6128
+-93.098 40.12 6233
+-92.972 40.12 6346
+-92.846 40.12 6439
+-92.72 40.12 6573
+-92.594 40.12 6740
+-92.468 40.12 6806
+-92.342 40.12 6936
+-92.216 40.12 7047
+-92.09 40.12 7124
+-91.964 40.12 7228
+-91.838 40.12 7315
+-91.712 40.12 7453
+-91.586 40.12 7562
+-91.46 40.12 7614
+-91.334 40.12 7698
+-91.208 40.12 7777
+-91.082 40.12 7815
+-90.956 40.12 7833
+-90.83 40.12 7912
+-90.704 40.12 7966
+-90.578 40.12 7952
+-90.452 40.12 7967
+-90.326 40.12 7949
+-90.2 40.12 7956
+-90.074 40.12 7904
+-89.948 40.12 7870
+-89.822 40.12 7792
+-89.696 40.12 7787
+-89.57 40.12 7680
+-89.444 40.12 7600
+-89.318 40.12 7558
+-89.192 40.12 7443
+-89.066 40.12 7334
+-88.94 40.12 7245
+-88.814 40.12 7122
+-88.688 40.12 7095
+-88.562 40.12 6897
+-88.436 40.12 6831
+-88.31 40.12 7032
+-88.184 40.12 6950
+-88.058 40.12 6961
+-87.932 40.12 6892
+-87.806 40.12 6837
+-87.68 40.12 6816
+-87.554 40.12 6748
+-87.428 40.12 6649
+-87.302 40.12 6579
+-87.176 40.12 6507
+-87.05 40.12 6446
+-86.924 40.12 6353
+-86.798 40.12 6281
+-86.672 40.12 6143
+-86.546 40.12 6082
+-86.42 40.12 5975
+-86.294 40.12 5883
+-86.168 40.12 5789
+-86.042 40.12 5634
+-85.916 40.12 5641
+-85.79 40.12 5560
+-85.664 40.12 5410
+-85.538 40.12 5265
+-85.412 40.12 5160
+-85.286 40.12 4970
+-85.16 40.12 4809
+-85.034 40.12 4712
+-84.908 40.12 4629
+-84.782 40.12 4549
+-84.656 40.12 4480
+-84.53 40.12 4361
+-84.404 40.12 4229
+-84.278 40.12 4145
+-84.152 40.12 4148
+-84.026 40.12 4117
+-83.9 40.12 4065
+-83.774 40.12 3952
+-83.648 40.12 3745
+-83.522 40.12 3456
+-83.396 40.12 3124
+-83.27 40.12 2955
+-83.144 40.12 3080
+-83.018 40.12 3253
+-82.892 40.12 3400
+-82.766 40.12 3505
+-82.64 40.12 3543
+-82.514 40.12 3547
+-82.388 40.12 3578
+-82.262 40.12 3602
+-82.136 40.12 3592
+-82.01 40.12 3608
+-81.884 40.12 3621
+-81.758 40.12 3632
+-81.632 40.12 3642
+-81.506 40.12 3650
+-81.38 40.12 3658
+-81.254 40.12 3664
+-81.128 40.12 3670
+-81.002 40.12 3676
+-80.876 40.12 3681
+-80.75 40.12 3705
+-80.624 40.12 3710
+-80.498 40.12 3617
+-80.372 40.12 3658
+-80.246 40.12 3641
+-80.12 40.12 3645
+-79.994 40.12 3648
+-79.868 40.12 3651
+-79.742 40.12 3654
+-79.616 40.12 3627
+-79.49 40.12 3630
+-79.364 40.12 3595
+-79.238 40.12 3556
+-79.112 40.12 3559
+-78.986 40.12 3590
+-78.86 40.12 3592
+-78.734 40.12 3594
+-78.608 40.12 3596
+-78.482 40.12 3598
+-78.356 40.12 3546
+-78.23 40.12 3547
+-78.104 40.12 3547
+-77.978 40.12 3548
+-77.852 40.12 3549
+-77.726 40.12 3550
+-77.6 40.12 3550
+-77.474 40.12 3551
+-77.348 40.12 3552
+-77.222 40.12 3552
+-77.096 40.12 3528
+-76.97 40.12 3519
+-76.844 40.12 3520
+-76.718 40.12 3520
+-76.592 40.12 3521
+-76.466 40.12 3522
+-76.34 40.12 3506
+-76.214 40.12 3507
+-76.088 40.12 3507
+-75.962 40.12 3508
+-75.836 40.12 3508
+-75.71 40.12 3508
+-75.584 40.12 3509
+-75.458 40.12 3509
+-75.332 40.12 3509
+-75.206 40.12 3450
+-75.08 40.12 3451
+-74.954 40.12 3451
+-74.828 40.12 3452
+-74.702 40.12 3452
+-74.576 40.12 3453
+-74.45 40.12 3453
+-74.324 40.12 3453
+-74.198 40.12 3454
+-74.072 40.12 3454
+-73.946 40.12 3454
+-73.82 40.12 3455
+-73.694 40.12 3455
+-73.568 40.12 3383
+-73.442 40.12 3383
+-73.316 40.12 3383
+-73.19 40.12 3383
+-73.064 40.12 3382
+-72.938 40.12 3382
+-72.812 40.12 3382
+-72.686 40.12 3381
+-72.56 40.12 3381
+-72.434 40.12 3381
+-72.308 40.12 3381
+-72.182 40.12 3380
+-72.056 40.12 3380
+-71.93 40.12 3380
+-71.804 40.12 3380
+-71.678 40.12 3380
+-71.552 40.12 3379
+-71.426 40.12 3379
+-71.3 40.12 3379
+-71.174 40.12 3379
+-71.048 40.12 3378
+-70.922 40.12 3378
+-70.796 40.12 3378
+-70.67 40.12 3378
+-70.544 40.12 3378
+-70.418 40.12 3070
+-70.292 40.12 3069
+-70.166 40.12 3068
+-70.04 40.12 3068
+-69.914 40.12 3067
+-69.788 40.12 3066
+-69.662 40.12 3066
+-69.536 40.12 3065
+-69.41 40.12 3064
+-69.284 40.12 3063
+-69.158 40.12 3063
+-69.032 40.12 3062
+-68.906 40.12 3062
+-68.78 40.12 3061
+-68.654 40.12 3060
+-68.528 40.12 3060
+-68.402 40.12 3059
+-68.276 40.12 3059
+-68.15 40.12 2932
+-68.024 40.12 2931
+-67.898 40.12 2900
+-67.772 40.12 2853
+-67.646 40.12 2853
+-67.52 40.12 2852
+-67.394 40.12 2867
+-67.268 40.12 2867
+-67.142 40.12 2878
+-67.016 40.12 2877
+-66.89 40.12 2836
+-66.764 40.12 2799
+-66.638 40.12 2798
+-66.512 40.12 2798
+-66.386 40.12 2798
+-66.26 40.12 2819
+-66.134 40.12 2824
+-66.008 40.12 2834
+-65.882 40.12 2832
+-65.756 40.12 2873
+-65.63 40.12 2885
+-65.504 40.12 2885
+-65.378 40.12 2948
+-65.252 40.12 2971
+-65.126 40.12 2946
+-128 40.068 2690
+-127.874 40.068 2681
+-127.748 40.068 2609
+-127.622 40.068 2627
+-127.496 40.068 2628
+-127.37 40.068 2629
+-127.244 40.068 2549
+-127.118 40.068 2553
+-126.992 40.068 2556
+-126.866 40.068 2511
+-126.74 40.068 2506
+-126.614 40.068 2510
+-126.488 40.068 2514
+-126.362 40.068 2517
+-126.236 40.068 2519
+-126.11 40.068 2519
+-125.984 40.068 2519
+-125.858 40.068 2515
+-125.732 40.068 2480
+-125.606 40.068 2463
+-125.48 40.068 2456
+-125.354 40.068 2445
+-125.228 40.068 2431
+-125.102 40.068 2408
+-124.976 40.068 2357
+-124.85 40.068 2328
+-124.724 40.068 2290
+-124.598 40.068 2259
+-124.472 40.068 2223
+-124.346 40.068 2177
+-124.22 40.068 2127
+-124.094 40.068 2071
+-123.968 40.068 2029
+-123.842 40.068 2013
+-123.716 40.068 2035
+-123.59 40.068 2076
+-123.464 40.068 2104
+-123.338 40.068 2110
+-123.212 40.068 2093
+-123.086 40.068 2087
+-122.96 40.068 2108
+-122.834 40.068 2155
+-122.708 40.068 2215
+-122.582 40.068 2300
+-122.456 40.068 2356
+-122.33 40.068 2399
+-122.204 40.068 2427
+-122.078 40.068 2458
+-121.952 40.068 2471
+-121.826 40.068 2482
+-121.7 40.068 2499
+-121.574 40.068 2526
+-121.448 40.068 2544
+-121.322 40.068 2606
+-121.196 40.068 2641
+-121.07 40.068 2676
+-120.944 40.068 2680
+-120.818 40.068 2697
+-120.692 40.068 2669
+-120.566 40.068 2625
+-120.44 40.068 2556
+-120.314 40.068 2519
+-120.188 40.068 2573
+-120.062 40.068 2686
+-119.936 40.068 2793
+-119.81 40.068 2879
+-119.684 40.068 2959
+-119.558 40.068 2998
+-119.432 40.068 3029
+-119.306 40.068 3047
+-119.18 40.068 3059
+-119.054 40.068 3067
+-118.928 40.068 3092
+-118.802 40.068 3103
+-118.676 40.068 3117
+-118.55 40.068 3106
+-118.424 40.068 3096
+-118.298 40.068 3079
+-118.172 40.068 3092
+-118.046 40.068 3108
+-117.92 40.068 3088
+-117.794 40.068 3062
+-117.668 40.068 3065
+-117.542 40.068 3081
+-117.416 40.068 3081
+-117.29 40.068 3080
+-117.164 40.068 3055
+-117.038 40.068 3026
+-116.912 40.068 2994
+-116.786 40.068 2972
+-116.66 40.068 2958
+-116.534 40.068 2947
+-116.408 40.068 2934
+-116.282 40.068 2932
+-116.156 40.068 2931
+-116.03 40.068 2901
+-115.904 40.068 2899
+-115.778 40.068 2905
+-115.652 40.068 2881
+-115.526 40.068 2828
+-115.4 40.068 2772
+-115.274 40.068 2722
+-115.148 40.068 2669
+-115.022 40.068 2613
+-114.896 40.068 2542
+-114.77 40.068 2519
+-114.644 40.068 2523
+-114.518 40.068 2475
+-114.392 40.068 2401
+-114.266 40.068 2364
+-114.14 40.068 2378
+-114.014 40.068 2407
+-113.888 40.068 2386
+-113.762 40.068 2374
+-113.636 40.068 2347
+-113.51 40.068 2298
+-113.384 40.068 2238
+-113.258 40.068 2159
+-113.132 40.068 2060
+-113.006 40.068 1941
+-112.88 40.068 1802
+-112.754 40.068 1661
+-112.628 40.068 1536
+-112.502 40.068 1424
+-112.376 40.068 1318
+-112.25 40.068 1239
+-112.124 40.068 1146
+-111.998 40.068 1013
+-111.872 40.068 850
+-111.746 40.068 715
+-111.62 40.068 663
+-111.494 40.068 703
+-111.368 40.068 806
+-111.242 40.068 938
+-111.116 40.068 1065
+-110.99 40.068 1190
+-110.864 40.068 1306
+-110.738 40.068 1404
+-110.612 40.068 1510
+-110.486 40.068 1592
+-110.36 40.068 1638
+-110.234 40.068 1699
+-110.108 40.068 1766
+-109.982 40.068 1815
+-109.856 40.068 1818
+-109.73 40.068 1824
+-109.604 40.068 1858
+-109.478 40.068 1880
+-109.352 40.068 1918
+-109.226 40.068 1945
+-109.1 40.068 1988
+-108.974 40.068 2010
+-108.848 40.068 2030
+-108.722 40.068 2049
+-108.596 40.068 2065
+-108.47 40.068 2037
+-108.344 40.068 2122
+-108.218 40.068 2164
+-108.092 40.068 2159
+-107.966 40.068 2109
+-107.84 40.068 2096
+-107.714 40.068 2086
+-107.588 40.068 2107
+-107.462 40.068 2117
+-107.336 40.068 2078
+-107.21 40.068 2120
+-107.084 40.068 2079
+-106.958 40.068 2087
+-106.832 40.068 2094
+-106.706 40.068 2151
+-106.58 40.068 2173
+-106.454 40.068 2186
+-106.328 40.068 2193
+-106.202 40.068 2199
+-106.076 40.068 2205
+-105.95 40.068 2210
+-105.824 40.068 2228
+-105.698 40.068 2291
+-105.572 40.068 2171
+-105.446 40.068 2170
+-105.32 40.068 2062
+-105.194 40.068 2056
+-105.068 40.068 2049
+-104.942 40.068 2095
+-104.816 40.068 2196
+-104.69 40.068 2191
+-104.564 40.068 2199
+-104.438 40.068 2145
+-104.312 40.068 2132
+-104.186 40.068 2102
+-104.06 40.068 2233
+-103.934 40.068 2185
+-103.808 40.068 2153
+-103.682 40.068 2167
+-103.556 40.068 2213
+-103.43 40.068 2226
+-103.304 40.068 2224
+-103.178 40.068 2280
+-103.052 40.068 2277
+-102.926 40.068 2308
+-102.8 40.068 2307
+-102.674 40.068 2301
+-102.548 40.068 2296
+-102.422 40.068 2290
+-102.296 40.068 2350
+-102.17 40.068 2344
+-102.044 40.068 2376
+-101.918 40.068 2369
+-101.792 40.068 2361
+-101.666 40.068 2390
+-101.54 40.068 2379
+-101.414 40.068 2373
+-101.288 40.068 2403
+-101.162 40.068 2390
+-101.036 40.068 2376
+-100.91 40.068 2362
+-100.784 40.068 2347
+-100.658 40.068 2330
+-100.532 40.068 2313
+-100.406 40.068 2294
+-100.28 40.068 2275
+-100.154 40.068 2304
+-100.028 40.068 2283
+-99.902 40.068 2262
+-99.776 40.068 2342
+-99.65 40.068 2317
+-99.524 40.068 2320
+-99.398 40.068 2300
+-99.272 40.068 2423
+-99.146 40.068 2414
+-99.02 40.068 2411
+-98.894 40.068 2457
+-98.768 40.068 2472
+-98.642 40.068 2518
+-98.516 40.068 2592
+-98.39 40.068 2631
+-98.264 40.068 2671
+-98.138 40.068 2710
+-98.012 40.068 2744
+-97.886 40.068 2801
+-97.76 40.068 2812
+-97.634 40.068 2812
+-97.508 40.068 2791
+-97.382 40.068 2749
+-97.256 40.068 2704
+-97.13 40.068 2600
+-97.004 40.068 2484
+-96.878 40.068 2438
+-96.752 40.068 2555
+-96.626 40.068 2843
+-96.5 40.068 3066
+-96.374 40.068 3203
+-96.248 40.068 3283
+-96.122 40.068 3438
+-95.996 40.068 3655
+-95.87 40.068 3850
+-95.744 40.068 3988
+-95.618 40.068 4040
+-95.492 40.068 4010
+-95.366 40.068 3879
+-95.24 40.068 4106
+-95.114 40.068 4392
+-94.988 40.068 4507
+-94.862 40.068 4497
+-94.736 40.068 4607
+-94.61 40.068 4689
+-94.484 40.068 4802
+-94.358 40.068 4963
+-94.232 40.068 5104
+-94.106 40.068 5284
+-93.98 40.068 5480
+-93.854 40.068 5662
+-93.728 40.068 5785
+-93.602 40.068 5951
+-93.476 40.068 6002
+-93.35 40.068 6059
+-93.224 40.068 6083
+-93.098 40.068 6233
+-92.972 40.068 6343
+-92.846 40.068 6464
+-92.72 40.068 6638
+-92.594 40.068 6711
+-92.468 40.068 6846
+-92.342 40.068 6979
+-92.216 40.068 7030
+-92.09 40.068 7158
+-91.964 40.068 7282
+-91.838 40.068 7429
+-91.712 40.068 7498
+-91.586 40.068 7567
+-91.46 40.068 7642
+-91.334 40.068 7722
+-91.208 40.068 7784
+-91.082 40.068 7881
+-90.956 40.068 7962
+-90.83 40.068 7978
+-90.704 40.068 8013
+-90.578 40.068 8008
+-90.452 40.068 8052
+-90.326 40.068 8019
+-90.2 40.068 7992
+-90.074 40.068 7972
+-89.948 40.068 7939
+-89.822 40.068 7874
+-89.696 40.068 7808
+-89.57 40.068 7702
+-89.444 40.068 7645
+-89.318 40.068 7546
+-89.192 40.068 7484
+-89.066 40.068 7431
+-88.94 40.068 7297
+-88.814 40.068 7216
+-88.688 40.068 7070
+-88.562 40.068 7019
+-88.436 40.068 7001
+-88.31 40.068 7025
+-88.184 40.068 7025
+-88.058 40.068 7000
+-87.932 40.068 6973
+-87.806 40.068 6922
+-87.68 40.068 6853
+-87.554 40.068 6814
+-87.428 40.068 6695
+-87.302 40.068 6642
+-87.176 40.068 6563
+-87.05 40.068 6500
+-86.924 40.068 6382
+-86.798 40.068 6291
+-86.672 40.068 6245
+-86.546 40.068 6093
+-86.42 40.068 6005
+-86.294 40.068 5912
+-86.168 40.068 5810
+-86.042 40.068 5702
+-85.916 40.068 5553
+-85.79 40.068 5557
+-85.664 40.068 5470
+-85.538 40.068 5324
+-85.412 40.068 5197
+-85.286 40.068 5051
+-85.16 40.068 4921
+-85.034 40.068 4761
+-84.908 40.068 4653
+-84.782 40.068 4588
+-84.656 40.068 4506
+-84.53 40.068 4448
+-84.404 40.068 4353
+-84.278 40.068 4271
+-84.152 40.068 4217
+-84.026 40.068 4166
+-83.9 40.068 4074
+-83.774 40.068 3971
+-83.648 40.068 3794
+-83.522 40.068 3539
+-83.396 40.068 3241
+-83.27 40.068 3100
+-83.144 40.068 3180
+-83.018 40.068 3319
+-82.892 40.068 3432
+-82.766 40.068 3531
+-82.64 40.068 3542
+-82.514 40.068 3586
+-82.388 40.068 3585
+-82.262 40.068 3608
+-82.136 40.068 3626
+-82.01 40.068 3616
+-81.884 40.068 3629
+-81.758 40.068 3639
+-81.632 40.068 3665
+-81.506 40.068 3673
+-81.38 40.068 3681
+-81.254 40.068 3688
+-81.128 40.068 3695
+-81.002 40.068 3711
+-80.876 40.068 3717
+-80.75 40.068 3722
+-80.624 40.068 3726
+-80.498 40.068 3660
+-80.372 40.068 3643
+-80.246 40.068 3646
+-80.12 40.068 3650
+-79.994 40.068 3653
+-79.868 40.068 3656
+-79.742 40.068 3629
+-79.616 40.068 3633
+-79.49 40.068 3597
+-79.364 40.068 3559
+-79.238 40.068 3560
+-79.112 40.068 3591
+-78.986 40.068 3593
+-78.86 40.068 3595
+-78.734 40.068 3597
+-78.608 40.068 3599
+-78.482 40.068 3547
+-78.356 40.068 3547
+-78.23 40.068 3548
+-78.104 40.068 3549
+-77.978 40.068 3550
+-77.852 40.068 3550
+-77.726 40.068 3551
+-77.6 40.068 3552
+-77.474 40.068 3552
+-77.348 40.068 3553
+-77.222 40.068 3529
+-77.096 40.068 3519
+-76.97 40.068 3520
+-76.844 40.068 3521
+-76.718 40.068 3521
+-76.592 40.068 3522
+-76.466 40.068 3507
+-76.34 40.068 3507
+-76.214 40.068 3508
+-76.088 40.068 3508
+-75.962 40.068 3508
+-75.836 40.068 3509
+-75.71 40.068 3509
+-75.584 40.068 3509
+-75.458 40.068 3510
+-75.332 40.068 3450
+-75.206 40.068 3451
+-75.08 40.068 3451
+-74.954 40.068 3452
+-74.828 40.068 3452
+-74.702 40.068 3453
+-74.576 40.068 3453
+-74.45 40.068 3453
+-74.324 40.068 3454
+-74.198 40.068 3454
+-74.072 40.068 3454
+-73.946 40.068 3455
+-73.82 40.068 3455
+-73.694 40.068 3383
+-73.568 40.068 3383
+-73.442 40.068 3383
+-73.316 40.068 3383
+-73.19 40.068 3382
+-73.064 40.068 3382
+-72.938 40.068 3382
+-72.812 40.068 3381
+-72.686 40.068 3381
+-72.56 40.068 3381
+-72.434 40.068 3381
+-72.308 40.068 3380
+-72.182 40.068 3380
+-72.056 40.068 3380
+-71.93 40.068 3380
+-71.804 40.068 3379
+-71.678 40.068 3379
+-71.552 40.068 3379
+-71.426 40.068 3379
+-71.3 40.068 3379
+-71.174 40.068 3378
+-71.048 40.068 3378
+-70.922 40.068 3378
+-70.796 40.068 3378
+-70.67 40.068 3378
+-70.544 40.068 3070
+-70.418 40.068 3069
+-70.292 40.068 3068
+-70.166 40.068 3068
+-70.04 40.068 3067
+-69.914 40.068 3066
+-69.788 40.068 3066
+-69.662 40.068 3065
+-69.536 40.068 3064
+-69.41 40.068 3063
+-69.284 40.068 3063
+-69.158 40.068 3062
+-69.032 40.068 3061
+-68.906 40.068 3061
+-68.78 40.068 3060
+-68.654 40.068 3060
+-68.528 40.068 3059
+-68.402 40.068 3058
+-68.276 40.068 2932
+-68.15 40.068 2931
+-68.024 40.068 2900
+-67.898 40.068 2853
+-67.772 40.068 2852
+-67.646 40.068 2852
+-67.52 40.068 2867
+-67.394 40.068 2867
+-67.268 40.068 2878
+-67.142 40.068 2877
+-67.016 40.068 2836
+-66.89 40.068 2798
+-66.764 40.068 2798
+-66.638 40.068 2798
+-66.512 40.068 2797
+-66.386 40.068 2818
+-66.26 40.068 2824
+-66.134 40.068 2833
+-66.008 40.068 2831
+-65.882 40.068 2873
+-65.756 40.068 2884
+-65.63 40.068 2884
+-65.504 40.068 2947
+-65.378 40.068 2970
+-65.252 40.068 2945
+-65.126 40.068 2932
+-128 40.016 2697
+-127.874 40.016 2621
+-127.748 40.016 2639
+-127.622 40.016 2638
+-127.496 40.016 2638
+-127.37 40.016 2554
+-127.244 40.016 2556
+-127.118 40.016 2558
+-126.992 40.016 2510
+-126.866 40.016 2504
+-126.74 40.016 2507
+-126.614 40.016 2509
+-126.488 40.016 2511
+-126.362 40.016 2513
+-126.236 40.016 2513
+-126.11 40.016 2513
+-125.984 40.016 2509
+-125.858 40.016 2475
+-125.732 40.016 2459
+-125.606 40.016 2452
+-125.48 40.016 2443
+-125.354 40.016 2432
+-125.228 40.016 2393
+-125.102 40.016 2363
+-124.976 40.016 2338
+-124.85 40.016 2304
+-124.724 40.016 2281
+-124.598 40.016 2250
+-124.472 40.016 2217
+-124.346 40.016 2177
+-124.22 40.016 2130
+-124.094 40.016 2095
+-123.968 40.016 2064
+-123.842 40.016 2055
+-123.716 40.016 2061
+-123.59 40.016 2079
+-123.464 40.016 2071
+-123.338 40.016 2036
+-123.212 40.016 1989
+-123.086 40.016 1972
+-122.96 40.016 1999
+-122.834 40.016 2066
+-122.708 40.016 2147
+-122.582 40.016 2228
+-122.456 40.016 2294
+-122.33 40.016 2379
+-122.204 40.016 2422
+-122.078 40.016 2452
+-121.952 40.016 2472
+-121.826 40.016 2492
+-121.7 40.016 2532
+-121.574 40.016 2553
+-121.448 40.016 2568
+-121.322 40.016 2628
+-121.196 40.016 2639
+-121.07 40.016 2664
+-120.944 40.016 2661
+-120.818 40.016 2654
+-120.692 40.016 2639
+-120.566 40.016 2592
+-120.44 40.016 2513
+-120.314 40.016 2461
+-120.188 40.016 2523
+-120.062 40.016 2650
+-119.936 40.016 2774
+-119.81 40.016 2867
+-119.684 40.016 2946
+-119.558 40.016 2993
+-119.432 40.016 3024
+-119.306 40.016 3032
+-119.18 40.016 3037
+-119.054 40.016 3056
+-118.928 40.016 3070
+-118.802 40.016 3090
+-118.676 40.016 3111
+-118.55 40.016 3107
+-118.424 40.016 3080
+-118.298 40.016 3052
+-118.172 40.016 3095
+-118.046 40.016 3143
+-117.92 40.016 3137
+-117.794 40.016 3120
+-117.668 40.016 3114
+-117.542 40.016 3115
+-117.416 40.016 3105
+-117.29 40.016 3102
+-117.164 40.016 3079
+-117.038 40.016 3050
+-116.912 40.016 3020
+-116.786 40.016 3004
+-116.66 40.016 2986
+-116.534 40.016 2974
+-116.408 40.016 2974
+-116.282 40.016 2978
+-116.156 40.016 2963
+-116.03 40.016 2936
+-115.904 40.016 2922
+-115.778 40.016 2925
+-115.652 40.016 2910
+-115.526 40.016 2871
+-115.4 40.016 2825
+-115.274 40.016 2777
+-115.148 40.016 2721
+-115.022 40.016 2656
+-114.896 40.016 2585
+-114.77 40.016 2549
+-114.644 40.016 2540
+-114.518 40.016 2478
+-114.392 40.016 2383
+-114.266 40.016 2333
+-114.14 40.016 2364
+-114.014 40.016 2413
+-113.888 40.016 2406
+-113.762 40.016 2399
+-113.636 40.016 2374
+-113.51 40.016 2334
+-113.384 40.016 2271
+-113.258 40.016 2198
+-113.132 40.016 2108
+-113.006 40.016 2001
+-112.88 40.016 1883
+-112.754 40.016 1763
+-112.628 40.016 1641
+-112.502 40.016 1528
+-112.376 40.016 1420
+-112.25 40.016 1310
+-112.124 40.016 1176
+-111.998 40.016 997
+-111.872 40.016 810
+-111.746 40.016 666
+-111.62 40.016 614
+-111.494 40.016 660
+-111.368 40.016 773
+-111.242 40.016 915
+-111.116 40.016 1058
+-110.99 40.016 1203
+-110.864 40.016 1314
+-110.738 40.016 1422
+-110.612 40.016 1516
+-110.486 40.016 1596
+-110.36 40.016 1645
+-110.234 40.016 1720
+-110.108 40.016 1776
+-109.982 40.016 1808
+-109.856 40.016 1814
+-109.73 40.016 1852
+-109.604 40.016 1860
+-109.478 40.016 1899
+-109.352 40.016 1928
+-109.226 40.016 1974
+-109.1 40.016 1998
+-108.974 40.016 2019
+-108.848 40.016 2039
+-108.722 40.016 2057
+-108.596 40.016 2030
+-108.47 40.016 2139
+-108.344 40.016 2112
+-108.218 40.016 2155
+-108.092 40.016 2168
+-107.966 40.016 2130
+-107.84 40.016 2123
+-107.714 40.016 2095
+-107.588 40.016 2116
+-107.462 40.016 2111
+-107.336 40.016 2120
+-107.21 40.016 2129
+-107.084 40.016 2136
+-106.958 40.016 2095
+-106.832 40.016 2151
+-106.706 40.016 2174
+-106.58 40.016 2187
+-106.454 40.016 2194
+-106.328 40.016 2200
+-106.202 40.016 2206
+-106.076 40.016 2212
+-105.95 40.016 2264
+-105.824 40.016 2291
+-105.698 40.016 2296
+-105.572 40.016 2214
+-105.446 40.016 2178
+-105.32 40.016 2107
+-105.194 40.016 2101
+-105.068 40.016 2113
+-104.942 40.016 2215
+-104.816 40.016 2211
+-104.69 40.016 2221
+-104.564 40.016 2263
+-104.438 40.016 2251
+-104.312 40.016 2144
+-104.186 40.016 2111
+-104.06 40.016 2247
+-103.934 40.016 2197
+-103.808 40.016 2196
+-103.682 40.016 2175
+-103.556 40.016 2220
+-103.43 40.016 2234
+-103.304 40.016 2233
+-103.178 40.016 2289
+-103.052 40.016 2286
+-102.926 40.016 2319
+-102.8 40.016 2318
+-102.674 40.016 2313
+-102.548 40.016 2308
+-102.422 40.016 2303
+-102.296 40.016 2363
+-102.17 40.016 2357
+-102.044 40.016 2352
+-101.918 40.016 2384
+-101.792 40.016 2377
+-101.666 40.016 2408
+-101.54 40.016 2398
+-101.414 40.016 2388
+-101.288 40.016 2383
+-101.162 40.016 2413
+-101.036 40.016 2402
+-100.91 40.016 2389
+-100.784 40.016 2376
+-100.658 40.016 2362
+-100.532 40.016 2347
+-100.406 40.016 2332
+-100.28 40.016 2316
+-100.154 40.016 2299
+-100.028 40.016 2333
+-99.902 40.016 2423
+-99.776 40.016 2402
+-99.65 40.016 2383
+-99.524 40.016 2366
+-99.398 40.016 2378
+-99.272 40.016 2368
+-99.146 40.016 2549
+-99.02 40.016 2549
+-98.894 40.016 2557
+-98.768 40.016 2571
+-98.642 40.016 2592
+-98.516 40.016 2671
+-98.39 40.016 2711
+-98.264 40.016 2741
+-98.138 40.016 2769
+-98.012 40.016 2812
+-97.886 40.016 2826
+-97.76 40.016 2841
+-97.634 40.016 2832
+-97.508 40.016 2816
+-97.382 40.016 2779
+-97.256 40.016 2748
+-97.13 40.016 2682
+-97.004 40.016 2622
+-96.878 40.016 2621
+-96.752 40.016 2736
+-96.626 40.016 2942
+-96.5 40.016 3127
+-96.374 40.016 3302
+-96.248 40.016 3421
+-96.122 40.016 3555
+-95.996 40.016 3744
+-95.87 40.016 3914
+-95.744 40.016 4021
+-95.618 40.016 4071
+-95.492 40.016 4107
+-95.366 40.016 4058
+-95.24 40.016 4206
+-95.114 40.016 4423
+-94.988 40.016 4527
+-94.862 40.016 4572
+-94.736 40.016 4676
+-94.61 40.016 4682
+-94.484 40.016 4804
+-94.358 40.016 4975
+-94.232 40.016 5154
+-94.106 40.016 5314
+-93.98 40.016 5532
+-93.854 40.016 5724
+-93.728 40.016 5842
+-93.602 40.016 5943
+-93.476 40.016 5985
+-93.35 40.016 6000
+-93.224 40.016 6114
+-93.098 40.016 6237
+-92.972 40.016 6379
+-92.846 40.016 6517
+-92.72 40.016 6640
+-92.594 40.016 6780
+-92.468 40.016 6852
+-92.342 40.016 7027
+-92.216 40.016 7096
+-92.09 40.016 7191
+-91.964 40.016 7340
+-91.838 40.016 7449
+-91.712 40.016 7538
+-91.586 40.016 7597
+-91.46 40.016 7691
+-91.334 40.016 7791
+-91.208 40.016 7876
+-91.082 40.016 7932
+-90.956 40.016 7964
+-90.83 40.016 8053
+-90.704 40.016 8031
+-90.578 40.016 8081
+-90.452 40.016 8094
+-90.326 40.016 8062
+-90.2 40.016 8055
+-90.074 40.016 8023
+-89.948 40.016 7989
+-89.822 40.016 7935
+-89.696 40.016 7878
+-89.57 40.016 7784
+-89.444 40.016 7707
+-89.318 40.016 7610
+-89.192 40.016 7521
+-89.066 40.016 7420
+-88.94 40.016 7289
+-88.814 40.016 7232
+-88.688 40.016 7125
+-88.562 40.016 7108
+-88.436 40.016 7126
+-88.31 40.016 7140
+-88.184 40.016 7114
+-88.058 40.016 7056
+-87.932 40.016 7038
+-87.806 40.016 6969
+-87.68 40.016 6923
+-87.554 40.016 6832
+-87.428 40.016 6789
+-87.302 40.016 6680
+-87.176 40.016 6614
+-87.05 40.016 6500
+-86.924 40.016 6423
+-86.798 40.016 6338
+-86.672 40.016 6272
+-86.546 40.016 6170
+-86.42 40.016 6047
+-86.294 40.016 5966
+-86.168 40.016 5874
+-86.042 40.016 5764
+-85.916 40.016 5650
+-85.79 40.016 5504
+-85.664 40.016 5486
+-85.538 40.016 5346
+-85.412 40.016 5207
+-85.286 40.016 5086
+-85.16 40.016 4972
+-85.034 40.016 4826
+-84.908 40.016 4703
+-84.782 40.016 4635
+-84.656 40.016 4409
+-84.53 40.016 4484
+-84.404 40.016 4452
+-84.278 40.016 4357
+-84.152 40.016 4271
+-84.026 40.016 4193
+-83.9 40.016 4125
+-83.774 40.016 4000
+-83.648 40.016 3864
+-83.522 40.016 3685
+-83.396 40.016 3482
+-83.27 40.016 3362
+-83.144 40.016 3352
+-83.018 40.016 3429
+-82.892 40.016 3511
+-82.766 40.016 3576
+-82.64 40.016 3564
+-82.514 40.016 3601
+-82.388 40.016 3629
+-82.262 40.016 3632
+-82.136 40.016 3650
+-82.01 40.016 3664
+-81.884 40.016 3637
+-81.758 40.016 3663
+-81.632 40.016 3682
+-81.506 40.016 3690
+-81.38 40.016 3698
+-81.254 40.016 3706
+-81.128 40.016 3712
+-81.002 40.016 3718
+-80.876 40.016 3723
+-80.75 40.016 3728
+-80.624 40.016 3661
+-80.498 40.016 3644
+-80.372 40.016 3648
+-80.246 40.016 3652
+-80.12 40.016 3655
+-79.994 40.016 3658
+-79.868 40.016 3632
+-79.742 40.016 3635
+-79.616 40.016 3600
+-79.49 40.016 3561
+-79.364 40.016 3562
+-79.238 40.016 3592
+-79.112 40.016 3594
+-78.986 40.016 3596
+-78.86 40.016 3598
+-78.734 40.016 3600
+-78.608 40.016 3548
+-78.482 40.016 3548
+-78.356 40.016 3549
+-78.23 40.016 3550
+-78.104 40.016 3551
+-77.978 40.016 3551
+-77.852 40.016 3552
+-77.726 40.016 3552
+-77.6 40.016 3553
+-77.474 40.016 3553
+-77.348 40.016 3529
+-77.222 40.016 3520
+-77.096 40.016 3521
+-76.97 40.016 3521
+-76.844 40.016 3522
+-76.718 40.016 3523
+-76.592 40.016 3523
+-76.466 40.016 3508
+-76.34 40.016 3508
+-76.214 40.016 3508
+-76.088 40.016 3509
+-75.962 40.016 3509
+-75.836 40.016 3509
+-75.71 40.016 3510
+-75.584 40.016 3510
+-75.458 40.016 3450
+-75.332 40.016 3451
+-75.206 40.016 3451
+-75.08 40.016 3452
+-74.954 40.016 3452
+-74.828 40.016 3452
+-74.702 40.016 3453
+-74.576 40.016 3453
+-74.45 40.016 3454
+-74.324 40.016 3454
+-74.198 40.016 3454
+-74.072 40.016 3455
+-73.946 40.016 3455
+-73.82 40.016 3384
+-73.694 40.016 3383
+-73.568 40.016 3383
+-73.442 40.016 3383
+-73.316 40.016 3382
+-73.19 40.016 3382
+-73.064 40.016 3382
+-72.938 40.016 3382
+-72.812 40.016 3381
+-72.686 40.016 3381
+-72.56 40.016 3381
+-72.434 40.016 3380
+-72.308 40.016 3380
+-72.182 40.016 3380
+-72.056 40.016 3380
+-71.93 40.016 3379
+-71.804 40.016 3379
+-71.678 40.016 3379
+-71.552 40.016 3379
+-71.426 40.016 3379
+-71.3 40.016 3378
+-71.174 40.016 3378
+-71.048 40.016 3378
+-70.922 40.016 3378
+-70.796 40.016 3377
+-70.67 40.016 3070
+-70.544 40.016 3069
+-70.418 40.016 3069
+-70.292 40.016 3068
+-70.166 40.016 3067
+-70.04 40.016 3066
+-69.914 40.016 3065
+-69.788 40.016 3065
+-69.662 40.016 3064
+-69.536 40.016 3063
+-69.41 40.016 3063
+-69.284 40.016 3062
+-69.158 40.016 3061
+-69.032 40.016 3061
+-68.906 40.016 3060
+-68.78 40.016 3059
+-68.654 40.016 3059
+-68.528 40.016 3058
+-68.402 40.016 2932
+-68.276 40.016 2931
+-68.15 40.016 2900
+-68.024 40.016 2853
+-67.898 40.016 2852
+-67.772 40.016 2851
+-67.646 40.016 2867
+-67.52 40.016 2866
+-67.394 40.016 2878
+-67.268 40.016 2877
+-67.142 40.016 2835
+-67.016 40.016 2798
+-66.89 40.016 2798
+-66.764 40.016 2797
+-66.638 40.016 2797
+-66.512 40.016 2818
+-66.386 40.016 2823
+-66.26 40.016 2833
+-66.134 40.016 2831
+-66.008 40.016 2872
+-65.882 40.016 2883
+-65.756 40.016 2884
+-65.63 40.016 2946
+-65.504 40.016 2970
+-65.378 40.016 2944
+-65.252 40.016 2931
+-65.126 40.016 3096
+-128 39.964 2632
+-127.874 39.964 2650
+-127.748 39.964 2648
+-127.622 39.964 2648
+-127.496 39.964 2559
+-127.37 39.964 2560
+-127.244 39.964 2561
+-127.118 39.964 2510
+-126.992 39.964 2502
+-126.866 39.964 2504
+-126.74 39.964 2506
+-126.614 39.964 2507
+-126.488 39.964 2508
+-126.362 39.964 2508
+-126.236 39.964 2490
+-126.11 39.964 2489
+-125.984 39.964 2475
+-125.858 39.964 2454
+-125.732 39.964 2449
+-125.606 39.964 2442
+-125.48 39.964 2432
+-125.354 39.964 2395
+-125.228 39.964 2367
+-125.102 39.964 2346
+-124.976 39.964 2316
+-124.85 39.964 2297
+-124.724 39.964 2273
+-124.598 39.964 2248
+-124.472 39.964 2209
+-124.346 39.964 2174
+-124.22 39.964 2149
+-124.094 39.964 2120
+-123.968 39.964 2095
+-123.842 39.964 2089
+-123.716 39.964 2083
+-123.59 39.964 2073
+-123.464 39.964 2036
+-123.338 39.964 1969
+-123.212 39.964 1904
+-123.086 39.964 1873
+-122.96 39.964 1905
+-122.834 39.964 1985
+-122.708 39.964 2094
+-122.582 39.964 2190
+-122.456 39.964 2267
+-122.33 39.964 2340
+-122.204 39.964 2390
+-122.078 39.964 2426
+-121.952 39.964 2495
+-121.826 39.964 2516
+-121.7 39.964 2536
+-121.574 39.964 2555
+-121.448 39.964 2579
+-121.322 39.964 2620
+-121.196 39.964 2635
+-121.07 39.964 2647
+-120.944 39.964 2641
+-120.818 39.964 2630
+-120.692 39.964 2621
+-120.566 39.964 2590
+-120.44 39.964 2547
+-120.314 39.964 2518
+-120.188 39.964 2570
+-120.062 39.964 2678
+-119.936 39.964 2783
+-119.81 39.964 2867
+-119.684 39.964 2941
+-119.558 39.964 2981
+-119.432 39.964 3012
+-119.306 39.964 3026
+-119.18 39.964 3022
+-119.054 39.964 3020
+-118.928 39.964 3038
+-118.802 39.964 3087
+-118.676 39.964 3112
+-118.55 39.964 3127
+-118.424 39.964 3102
+-118.298 39.964 3090
+-118.172 39.964 3135
+-118.046 39.964 3169
+-117.92 39.964 3159
+-117.794 39.964 3148
+-117.668 39.964 3149
+-117.542 39.964 3143
+-117.416 39.964 3145
+-117.29 39.964 3134
+-117.164 39.964 3106
+-117.038 39.964 3091
+-116.912 39.964 3066
+-116.786 39.964 3052
+-116.66 39.964 3035
+-116.534 39.964 3031
+-116.408 39.964 3035
+-116.282 39.964 3051
+-116.156 39.964 3032
+-116.03 39.964 2991
+-115.904 39.964 2948
+-115.778 39.964 2931
+-115.652 39.964 2922
+-115.526 39.964 2901
+-115.4 39.964 2870
+-115.274 39.964 2833
+-115.148 39.964 2785
+-115.022 39.964 2726
+-114.896 39.964 2666
+-114.77 39.964 2618
+-114.644 39.964 2591
+-114.518 39.964 2518
+-114.392 39.964 2433
+-114.266 39.964 2384
+-114.14 39.964 2402
+-114.014 39.964 2451
+-113.888 39.964 2444
+-113.762 39.964 2426
+-113.636 39.964 2403
+-113.51 39.964 2371
+-113.384 39.964 2319
+-113.258 39.964 2252
+-113.132 39.964 2170
+-113.006 39.964 2075
+-112.88 39.964 1961
+-112.754 39.964 1848
+-112.628 39.964 1733
+-112.502 39.964 1616
+-112.376 39.964 1499
+-112.25 39.964 1371
+-112.124 39.964 1226
+-111.998 39.964 1040
+-111.872 39.964 857
+-111.746 39.964 717
+-111.62 39.964 663
+-111.494 39.964 703
+-111.368 39.964 809
+-111.242 39.964 943
+-111.116 39.964 1091
+-110.99 39.964 1228
+-110.864 39.964 1350
+-110.738 39.964 1444
+-110.612 39.964 1553
+-110.486 39.964 1633
+-110.36 39.964 1675
+-110.234 39.964 1737
+-110.108 39.964 1778
+-109.982 39.964 1786
+-109.856 39.964 1828
+-109.73 39.964 1840
+-109.604 39.964 1880
+-109.478 39.964 1911
+-109.352 39.964 1961
+-109.226 39.964 1986
+-109.1 39.964 2009
+-108.974 39.964 2030
+-108.848 39.964 2049
+-108.722 39.964 2024
+-108.596 39.964 2132
+-108.47 39.964 2107
+-108.344 39.964 2150
+-108.218 39.964 2164
+-108.092 39.964 2127
+-107.966 39.964 2121
+-107.84 39.964 2132
+-107.714 39.964 2155
+-107.588 39.964 2165
+-107.462 39.964 2180
+-107.336 39.964 2129
+-107.21 39.964 2137
+-107.084 39.964 2200
+-106.958 39.964 2152
+-106.832 39.964 2216
+-106.706 39.964 2188
+-106.58 39.964 2195
+-106.454 39.964 2201
+-106.328 39.964 2207
+-106.202 39.964 2213
+-106.076 39.964 2265
+-105.95 39.964 2292
+-105.824 39.964 2297
+-105.698 39.964 2302
+-105.572 39.964 2222
+-105.446 39.964 2185
+-105.32 39.964 2117
+-105.194 39.964 2190
+-105.068 39.964 2233
+-104.942 39.964 2291
+-104.816 39.964 2241
+-104.69 39.964 2284
+-104.564 39.964 2274
+-104.438 39.964 2265
+-104.312 39.964 2170
+-104.186 39.964 2291
+-104.06 39.964 2276
+-103.934 39.964 2262
+-103.808 39.964 2210
+-103.682 39.964 2191
+-103.556 39.964 2217
+-103.43 39.964 2243
+-103.304 39.964 2242
+-103.178 39.964 2298
+-103.052 39.964 2296
+-102.926 39.964 2329
+-102.8 39.964 2329
+-102.674 39.964 2325
+-102.548 39.964 2320
+-102.422 39.964 2316
+-102.296 39.964 2376
+-102.17 39.964 2371
+-102.044 39.964 2366
+-101.918 39.964 2360
+-101.792 39.964 2394
+-101.666 39.964 2427
+-101.54 39.964 2418
+-101.414 39.964 2409
+-101.288 39.964 2399
+-101.162 39.964 2395
+-101.036 39.964 2427
+-100.91 39.964 2416
+-100.784 39.964 2405
+-100.658 39.964 2393
+-100.532 39.964 2381
+-100.406 39.964 2368
+-100.28 39.964 2355
+-100.154 39.964 2393
+-100.028 39.964 2473
+-99.902 39.964 2457
+-99.776 39.964 2458
+-99.65 39.964 2444
+-99.524 39.964 2432
+-99.398 39.964 2447
+-99.272 39.964 2477
+-99.146 39.964 2628
+-99.02 39.964 2631
+-98.894 39.964 2639
+-98.768 39.964 2653
+-98.642 39.964 2670
+-98.516 39.964 2691
+-98.39 39.964 2767
+-98.264 39.964 2824
+-98.138 39.964 2841
+-98.012 39.964 2854
+-97.886 39.964 2860
+-97.76 39.964 2857
+-97.634 39.964 2848
+-97.508 39.964 2837
+-97.382 39.964 2803
+-97.256 39.964 2765
+-97.13 39.964 2748
+-97.004 39.964 2737
+-96.878 39.964 2749
+-96.752 39.964 2887
+-96.626 39.964 3025
+-96.5 39.964 3176
+-96.374 39.964 3356
+-96.248 39.964 3499
+-96.122 39.964 3638
+-95.996 39.964 3792
+-95.87 39.964 3928
+-95.744 39.964 4059
+-95.618 39.964 4130
+-95.492 39.964 4239
+-95.366 39.964 4258
+-95.24 39.964 4337
+-95.114 39.964 4477
+-94.988 39.964 4566
+-94.862 39.964 4650
+-94.736 39.964 4735
+-94.61 39.964 4818
+-94.484 39.964 4862
+-94.358 39.964 5062
+-94.232 39.964 5178
+-94.106 39.964 5337
+-93.98 39.964 5557
+-93.854 39.964 5686
+-93.728 39.964 5828
+-93.602 39.964 5927
+-93.476 39.964 5896
+-93.35 39.964 6038
+-93.224 39.964 6136
+-93.098 39.964 6245
+-92.972 39.964 6423
+-92.846 39.964 6595
+-92.72 39.964 6715
+-92.594 39.964 6826
+-92.468 39.964 6936
+-92.342 39.964 7041
+-92.216 39.964 7140
+-92.09 39.964 7182
+-91.964 39.964 7314
+-91.838 39.964 7445
+-91.712 39.964 7514
+-91.586 39.964 7597
+-91.46 39.964 7755
+-91.334 39.964 7829
+-91.208 39.964 7952
+-91.082 39.964 7958
+-90.956 39.964 8028
+-90.83 39.964 8092
+-90.704 39.964 8125
+-90.578 39.964 8152
+-90.452 39.964 8156
+-90.326 39.964 8122
+-90.2 39.964 8117
+-90.074 39.964 8069
+-89.948 39.964 8036
+-89.822 39.964 7982
+-89.696 39.964 7929
+-89.57 39.964 7827
+-89.444 39.964 7772
+-89.318 39.964 7622
+-89.192 39.964 7524
+-89.066 39.964 7449
+-88.94 39.964 7371
+-88.814 39.964 7250
+-88.688 39.964 7126
+-88.562 39.964 7046
+-88.436 39.964 7207
+-88.31 39.964 7189
+-88.184 39.964 7177
+-88.058 39.964 7116
+-87.932 39.964 7082
+-87.806 39.964 7066
+-87.68 39.964 6963
+-87.554 39.964 6873
+-87.428 39.964 6838
+-87.302 39.964 6759
+-87.176 39.964 6681
+-87.05 39.964 6583
+-86.924 39.964 6473
+-86.798 39.964 6407
+-86.672 39.964 6336
+-86.546 39.964 6189
+-86.42 39.964 6061
+-86.294 39.964 5990
+-86.168 39.964 5930
+-86.042 39.964 5761
+-85.916 39.964 5716
+-85.79 39.964 5569
+-85.664 39.964 5457
+-85.538 39.964 5372
+-85.412 39.964 5186
+-85.286 39.964 5048
+-85.16 39.964 5030
+-85.034 39.964 4856
+-84.908 39.964 4764
+-84.782 39.964 4666
+-84.656 39.964 4564
+-84.53 39.964 4537
+-84.404 39.964 4513
+-84.278 39.964 4435
+-84.152 39.964 4338
+-84.026 39.964 4217
+-83.9 39.964 4146
+-83.774 39.964 4059
+-83.648 39.964 3940
+-83.522 39.964 3782
+-83.396 39.964 3659
+-83.27 39.964 3587
+-83.144 39.964 3541
+-83.018 39.964 3541
+-82.892 39.964 3579
+-82.766 39.964 3617
+-82.64 39.964 3650
+-82.514 39.964 3618
+-82.388 39.964 3642
+-82.262 39.964 3662
+-82.136 39.964 3659
+-82.01 39.964 3673
+-81.884 39.964 3661
+-81.758 39.964 3681
+-81.632 39.964 3690
+-81.506 39.964 3699
+-81.38 39.964 3706
+-81.254 39.964 3713
+-81.128 39.964 3719
+-81.002 39.964 3725
+-80.876 39.964 3730
+-80.75 39.964 3664
+-80.624 39.964 3647
+-80.498 39.964 3650
+-80.372 39.964 3654
+-80.246 39.964 3657
+-80.12 39.964 3660
+-79.994 39.964 3635
+-79.868 39.964 3639
+-79.742 39.964 3603
+-79.616 39.964 3612
+-79.49 39.964 3563
+-79.364 39.964 3593
+-79.238 39.964 3595
+-79.112 39.964 3597
+-78.986 39.964 3599
+-78.86 39.964 3601
+-78.734 39.964 3549
+-78.608 39.964 3549
+-78.482 39.964 3550
+-78.356 39.964 3551
+-78.23 39.964 3552
+-78.104 39.964 3552
+-77.978 39.964 3553
+-77.852 39.964 3553
+-77.726 39.964 3554
+-77.6 39.964 3554
+-77.474 39.964 3530
+-77.348 39.964 3521
+-77.222 39.964 3521
+-77.096 39.964 3522
+-76.97 39.964 3523
+-76.844 39.964 3523
+-76.718 39.964 3508
+-76.592 39.964 3508
+-76.466 39.964 3509
+-76.34 39.964 3509
+-76.214 39.964 3509
+-76.088 39.964 3510
+-75.962 39.964 3510
+-75.836 39.964 3510
+-75.71 39.964 3510
+-75.584 39.964 3450
+-75.458 39.964 3451
+-75.332 39.964 3451
+-75.206 39.964 3452
+-75.08 39.964 3452
+-74.954 39.964 3452
+-74.828 39.964 3453
+-74.702 39.964 3453
+-74.576 39.964 3454
+-74.45 39.964 3454
+-74.324 39.964 3454
+-74.198 39.964 3455
+-74.072 39.964 3455
+-73.946 39.964 3384
+-73.82 39.964 3383
+-73.694 39.964 3383
+-73.568 39.964 3383
+-73.442 39.964 3382
+-73.316 39.964 3382
+-73.19 39.964 3382
+-73.064 39.964 3382
+-72.938 39.964 3381
+-72.812 39.964 3381
+-72.686 39.964 3381
+-72.56 39.964 3380
+-72.434 39.964 3380
+-72.308 39.964 3380
+-72.182 39.964 3380
+-72.056 39.964 3379
+-71.93 39.964 3379
+-71.804 39.964 3379
+-71.678 39.964 3379
+-71.552 39.964 3378
+-71.426 39.964 3378
+-71.3 39.964 3378
+-71.174 39.964 3378
+-71.048 39.964 3378
+-70.922 39.964 3377
+-70.796 39.964 3070
+-70.67 39.964 3069
+-70.544 39.964 3069
+-70.418 39.964 3068
+-70.292 39.964 3067
+-70.166 39.964 3066
+-70.04 39.964 3065
+-69.914 39.964 3065
+-69.788 39.964 3064
+-69.662 39.964 3063
+-69.536 39.964 3063
+-69.41 39.964 3062
+-69.284 39.964 3061
+-69.158 39.964 3061
+-69.032 39.964 3060
+-68.906 39.964 3059
+-68.78 39.964 3059
+-68.654 39.964 3058
+-68.528 39.964 2932
+-68.402 39.964 2931
+-68.276 39.964 2900
+-68.15 39.964 2853
+-68.024 39.964 2852
+-67.898 39.964 2851
+-67.772 39.964 2867
+-67.646 39.964 2866
+-67.52 39.964 2877
+-67.394 39.964 2877
+-67.268 39.964 2835
+-67.142 39.964 2797
+-67.016 39.964 2797
+-66.89 39.964 2797
+-66.764 39.964 2797
+-66.638 39.964 2817
+-66.512 39.964 2823
+-66.386 39.964 2832
+-66.26 39.964 2830
+-66.134 39.964 2871
+-66.008 39.964 2882
+-65.882 39.964 2883
+-65.756 39.964 2945
+-65.63 39.964 2969
+-65.504 39.964 2943
+-65.378 39.964 2931
+-65.252 39.964 3095
+-65.126 39.964 3096
+-128 39.912 2660
+-127.874 39.912 2658
+-127.748 39.912 2657
+-127.622 39.912 2564
+-127.496 39.912 2564
+-127.37 39.912 2564
+-127.244 39.912 2510
+-127.118 39.912 2502
+-126.992 39.912 2503
+-126.866 39.912 2504
+-126.74 39.912 2505
+-126.614 39.912 2505
+-126.488 39.912 2505
+-126.362 39.912 2486
+-126.236 39.912 2485
+-126.11 39.912 2471
+-125.984 39.912 2467
+-125.858 39.912 2431
+-125.732 39.912 2425
+-125.606 39.912 2418
+-125.48 39.912 2396
+-125.354 39.912 2360
+-125.228 39.912 2352
+-125.102 39.912 2324
+-124.976 39.912 2309
+-124.85 39.912 2290
+-124.724 39.912 2270
+-124.598 39.912 2238
+-124.472 39.912 2206
+-124.346 39.912 2190
+-124.22 39.912 2160
+-124.094 39.912 2138
+-123.968 39.912 2120
+-123.842 39.912 2113
+-123.716 39.912 2099
+-123.59 39.912 2071
+-123.464 39.912 2020
+-123.338 39.912 1943
+-123.212 39.912 1868
+-123.086 39.912 1837
+-122.96 39.912 1871
+-122.834 39.912 1955
+-122.708 39.912 2057
+-122.582 39.912 2177
+-122.456 39.912 2262
+-122.33 39.912 2331
+-122.204 39.912 2385
+-122.078 39.912 2422
+-121.952 39.912 2469
+-121.826 39.912 2491
+-121.7 39.912 2513
+-121.574 39.912 2582
+-121.448 39.912 2590
+-121.322 39.912 2621
+-121.196 39.912 2628
+-121.07 39.912 2635
+-120.944 39.912 2618
+-120.818 39.912 2595
+-120.692 39.912 2582
+-120.566 39.912 2574
+-120.44 39.912 2581
+-120.314 39.912 2600
+-120.188 39.912 2650
+-120.062 39.912 2731
+-119.936 39.912 2815
+-119.81 39.912 2900
+-119.684 39.912 2956
+-119.558 39.912 2991
+-119.432 39.912 3020
+-119.306 39.912 3029
+-119.18 39.912 3016
+-119.054 39.912 3002
+-118.928 39.912 3027
+-118.802 39.912 3077
+-118.676 39.912 3130
+-118.55 39.912 3140
+-118.424 39.912 3151
+-118.298 39.912 3148
+-118.172 39.912 3160
+-118.046 39.912 3167
+-117.92 39.912 3172
+-117.794 39.912 3180
+-117.668 39.912 3190
+-117.542 39.912 3192
+-117.416 39.912 3199
+-117.29 39.912 3183
+-117.164 39.912 3165
+-117.038 39.912 3153
+-116.912 39.912 3129
+-116.786 39.912 3116
+-116.66 39.912 3106
+-116.534 39.912 3086
+-116.408 39.912 3093
+-116.282 39.912 3115
+-116.156 39.912 3127
+-116.03 39.912 3079
+-115.904 39.912 3019
+-115.778 39.912 2974
+-115.652 39.912 2954
+-115.526 39.912 2933
+-115.4 39.912 2912
+-115.274 39.912 2884
+-115.148 39.912 2847
+-115.022 39.912 2793
+-114.896 39.912 2745
+-114.77 39.912 2706
+-114.644 39.912 2667
+-114.518 39.912 2594
+-114.392 39.912 2537
+-114.266 39.912 2489
+-114.14 39.912 2495
+-114.014 39.912 2467
+-113.888 39.912 2482
+-113.762 39.912 2475
+-113.636 39.912 2459
+-113.51 39.912 2405
+-113.384 39.912 2356
+-113.258 39.912 2294
+-113.132 39.912 2220
+-113.006 39.912 2132
+-112.88 39.912 2047
+-112.754 39.912 1942
+-112.628 39.912 1816
+-112.502 39.912 1702
+-112.376 39.912 1581
+-112.25 39.912 1458
+-112.124 39.912 1299
+-111.998 39.912 1131
+-111.872 39.912 973
+-111.746 39.912 849
+-111.62 39.912 798
+-111.494 39.912 823
+-111.368 39.912 909
+-111.242 39.912 1027
+-111.116 39.912 1156
+-110.99 39.912 1279
+-110.864 39.912 1381
+-110.738 39.912 1497
+-110.612 39.912 1585
+-110.486 39.912 1664
+-110.36 39.912 1678
+-110.234 39.912 1750
+-110.108 39.912 1759
+-109.982 39.912 1806
+-109.856 39.912 1845
+-109.73 39.912 1862
+-109.604 39.912 1918
+-109.478 39.912 1948
+-109.352 39.912 1975
+-109.226 39.912 2000
+-109.1 39.912 2022
+-108.974 39.912 2041
+-108.848 39.912 2046
+-108.722 39.912 2125
+-108.596 39.912 2102
+-108.47 39.912 2146
+-108.344 39.912 2161
+-108.218 39.912 2125
+-108.092 39.912 2119
+-107.966 39.912 2143
+-107.84 39.912 2154
+-107.714 39.912 2164
+-107.588 39.912 2179
+-107.462 39.912 2188
+-107.336 39.912 2192
+-107.21 39.912 2200
+-107.084 39.912 2222
+-106.958 39.912 2216
+-106.832 39.912 2232
+-106.706 39.912 2239
+-106.58 39.912 2246
+-106.454 39.912 2252
+-106.328 39.912 2260
+-106.202 39.912 2266
+-106.076 39.912 2272
+-105.95 39.912 2297
+-105.824 39.912 2302
+-105.698 39.912 2307
+-105.572 39.912 2229
+-105.446 39.912 2193
+-105.32 39.912 2205
+-105.194 39.912 2250
+-105.068 39.912 2308
+-104.942 39.912 2259
+-104.816 39.912 2303
+-104.69 39.912 2294
+-104.564 39.912 2287
+-104.438 39.912 2276
+-104.312 39.912 2265
+-104.186 39.912 2291
+-104.06 39.912 2278
+-103.934 39.912 2265
+-103.808 39.912 2219
+-103.682 39.912 2204
+-103.556 39.912 2234
+-103.43 39.912 2268
+-103.304 39.912 2250
+-103.178 39.912 2307
+-103.052 39.912 2305
+-102.926 39.912 2340
+-102.8 39.912 2340
+-102.674 39.912 2337
+-102.548 39.912 2333
+-102.422 39.912 2329
+-102.296 39.912 2341
+-102.17 39.912 2385
+-102.044 39.912 2380
+-101.918 39.912 2375
+-101.792 39.912 2370
+-101.666 39.912 2445
+-101.54 39.912 2437
+-101.414 39.912 2429
+-101.288 39.912 2421
+-101.162 39.912 2412
+-101.036 39.912 2409
+-100.91 39.912 2442
+-100.784 39.912 2433
+-100.658 39.912 2423
+-100.532 39.912 2413
+-100.406 39.912 2403
+-100.28 39.912 2503
+-100.154 39.912 2529
+-100.028 39.912 2517
+-99.902 39.912 2504
+-99.776 39.912 2493
+-99.65 39.912 2499
+-99.524 39.912 2513
+-99.398 39.912 2546
+-99.272 39.912 2543
+-99.146 39.912 2543
+-99.02 39.912 2715
+-98.894 39.912 2723
+-98.768 39.912 2734
+-98.642 39.912 2748
+-98.516 39.912 2764
+-98.39 39.912 2781
+-98.264 39.912 2837
+-98.138 39.912 2885
+-98.012 39.912 2891
+-97.886 39.912 2891
+-97.76 39.912 2882
+-97.634 39.912 2865
+-97.508 39.912 2840
+-97.382 39.912 2817
+-97.256 39.912 2791
+-97.13 39.912 2773
+-97.004 39.912 2748
+-96.878 39.912 2765
+-96.752 39.912 2826
+-96.626 39.912 3024
+-96.5 39.912 3180
+-96.374 39.912 3338
+-96.248 39.912 3538
+-96.122 39.912 3686
+-95.996 39.912 3834
+-95.87 39.912 3956
+-95.744 39.912 4058
+-95.618 39.912 4178
+-95.492 39.912 4314
+-95.366 39.912 4328
+-95.24 39.912 4373
+-95.114 39.912 4487
+-94.988 39.912 4591
+-94.862 39.912 4686
+-94.736 39.912 4759
+-94.61 39.912 4824
+-94.484 39.912 4943
+-94.358 39.912 5119
+-94.232 39.912 5185
+-94.106 39.912 5347
+-93.98 39.912 5581
+-93.854 39.912 5587
+-93.728 39.912 5764
+-93.602 39.912 5902
+-93.476 39.912 5979
+-93.35 39.912 6111
+-93.224 39.912 6235
+-93.098 39.912 6248
+-92.972 39.912 6477
+-92.846 39.912 6584
+-92.72 39.912 6714
+-92.594 39.912 6857
+-92.468 39.912 6913
+-92.342 39.912 7069
+-92.216 39.912 7184
+-92.09 39.912 7248
+-91.964 39.912 7399
+-91.838 39.912 7484
+-91.712 39.912 7603
+-91.586 39.912 7705
+-91.46 39.912 7793
+-91.334 39.912 7870
+-91.208 39.912 7925
+-91.082 39.912 7988
+-90.956 39.912 8070
+-90.83 39.912 8126
+-90.704 39.912 8176
+-90.578 39.912 8185
+-90.452 39.912 8187
+-90.326 39.912 8180
+-90.2 39.912 8150
+-90.074 39.912 8130
+-89.948 39.912 8118
+-89.822 39.912 8017
+-89.696 39.912 7955
+-89.57 39.912 7924
+-89.444 39.912 7806
+-89.318 39.912 7694
+-89.192 39.912 7574
+-89.066 39.912 7479
+-88.94 39.912 7360
+-88.814 39.912 7254
+-88.688 39.912 7195
+-88.562 39.912 7040
+-88.436 39.912 7299
+-88.31 39.912 7257
+-88.184 39.912 7206
+-88.058 39.912 7172
+-87.932 39.912 7141
+-87.806 39.912 7090
+-87.68 39.912 7003
+-87.554 39.912 6906
+-87.428 39.912 6891
+-87.302 39.912 6833
+-87.176 39.912 6746
+-87.05 39.912 6650
+-86.924 39.912 6492
+-86.798 39.912 6489
+-86.672 39.912 6358
+-86.546 39.912 6244
+-86.42 39.912 6113
+-86.294 39.912 6041
+-86.168 39.912 5963
+-86.042 39.912 5844
+-85.916 39.912 5761
+-85.79 39.912 5615
+-85.664 39.912 5486
+-85.538 39.912 5353
+-85.412 39.912 5218
+-85.286 39.912 5150
+-85.16 39.912 5074
+-85.034 39.912 4928
+-84.908 39.912 4788
+-84.782 39.912 4721
+-84.656 39.912 4653
+-84.53 39.912 4595
+-84.404 39.912 4562
+-84.278 39.912 4522
+-84.152 39.912 4375
+-84.026 39.912 4315
+-83.9 39.912 4217
+-83.774 39.912 4055
+-83.648 39.912 3962
+-83.522 39.912 3861
+-83.396 39.912 3784
+-83.27 39.912 3722
+-83.144 39.912 3649
+-83.018 39.912 3647
+-82.892 39.912 3631
+-82.766 39.912 3650
+-82.64 39.912 3671
+-82.514 39.912 3661
+-82.388 39.912 3672
+-82.262 39.912 3691
+-82.136 39.912 3689
+-82.01 39.912 3704
+-81.884 39.912 3680
+-81.758 39.912 3690
+-81.632 39.912 3700
+-81.506 39.912 3708
+-81.38 39.912 3715
+-81.254 39.912 3721
+-81.128 39.912 3727
+-81.002 39.912 3732
+-80.876 39.912 3666
+-80.75 39.912 3649
+-80.624 39.912 3653
+-80.498 39.912 3657
+-80.372 39.912 3660
+-80.246 39.912 3663
+-80.12 39.912 3665
+-79.994 39.912 3668
+-79.868 39.912 3653
+-79.742 39.912 3614
+-79.616 39.912 3565
+-79.49 39.912 3595
+-79.364 39.912 3597
+-79.238 39.912 3599
+-79.112 39.912 3601
+-78.986 39.912 3602
+-78.86 39.912 3550
+-78.734 39.912 3551
+-78.608 39.912 3551
+-78.482 39.912 3552
+-78.356 39.912 3553
+-78.23 39.912 3553
+-78.104 39.912 3554
+-77.978 39.912 3554
+-77.852 39.912 3555
+-77.726 39.912 3555
+-77.6 39.912 3531
+-77.474 39.912 3521
+-77.348 39.912 3522
+-77.222 39.912 3523
+-77.096 39.912 3523
+-76.97 39.912 3524
+-76.844 39.912 3524
+-76.718 39.912 3509
+-76.592 39.912 3509
+-76.466 39.912 3509
+-76.34 39.912 3510
+-76.214 39.912 3510
+-76.088 39.912 3510
+-75.962 39.912 3511
+-75.836 39.912 3511
+-75.71 39.912 3450
+-75.584 39.912 3451
+-75.458 39.912 3451
+-75.332 39.912 3452
+-75.206 39.912 3452
+-75.08 39.912 3452
+-74.954 39.912 3453
+-74.828 39.912 3453
+-74.702 39.912 3454
+-74.576 39.912 3454
+-74.45 39.912 3454
+-74.324 39.912 3455
+-74.198 39.912 3455
+-74.072 39.912 3384
+-73.946 39.912 3383
+-73.82 39.912 3383
+-73.694 39.912 3383
+-73.568 39.912 3382
+-73.442 39.912 3382
+-73.316 39.912 3382
+-73.19 39.912 3382
+-73.064 39.912 3381
+-72.938 39.912 3381
+-72.812 39.912 3381
+-72.686 39.912 3380
+-72.56 39.912 3380
+-72.434 39.912 3380
+-72.308 39.912 3380
+-72.182 39.912 3379
+-72.056 39.912 3379
+-71.93 39.912 3379
+-71.804 39.912 3379
+-71.678 39.912 3378
+-71.552 39.912 3378
+-71.426 39.912 3378
+-71.3 39.912 3378
+-71.174 39.912 3377
+-71.048 39.912 3377
+-70.922 39.912 3070
+-70.796 39.912 3069
+-70.67 39.912 3069
+-70.544 39.912 3068
+-70.418 39.912 3067
+-70.292 39.912 3066
+-70.166 39.912 3065
+-70.04 39.912 3065
+-69.914 39.912 3064
+-69.788 39.912 3063
+-69.662 39.912 3063
+-69.536 39.912 3062
+-69.41 39.912 3061
+-69.284 39.912 3060
+-69.158 39.912 3060
+-69.032 39.912 3059
+-68.906 39.912 3059
+-68.78 39.912 3058
+-68.654 39.912 2932
+-68.528 39.912 2931
+-68.402 39.912 2900
+-68.276 39.912 2853
+-68.15 39.912 2852
+-68.024 39.912 2851
+-67.898 39.912 2867
+-67.772 39.912 2866
+-67.646 39.912 2877
+-67.52 39.912 2876
+-67.394 39.912 2835
+-67.268 39.912 2797
+-67.142 39.912 2797
+-67.016 39.912 2796
+-66.89 39.912 2796
+-66.764 39.912 2817
+-66.638 39.912 2822
+-66.512 39.912 2832
+-66.386 39.912 2829
+-66.26 39.912 2870
+-66.134 39.912 2882
+-66.008 39.912 2882
+-65.882 39.912 2945
+-65.756 39.912 2968
+-65.63 39.912 2942
+-65.504 39.912 2930
+-65.378 39.912 3094
+-65.252 39.912 3095
+-65.126 39.912 3164
+-128 39.86 2667
+-127.874 39.86 2665
+-127.748 39.86 2569
+-127.622 39.86 2568
+-127.496 39.86 2567
+-127.37 39.86 2511
+-127.244 39.86 2502
+-127.118 39.86 2502
+-126.992 39.86 2502
+-126.866 39.86 2502
+-126.74 39.86 2502
+-126.614 39.86 2501
+-126.488 39.86 2483
+-126.362 39.86 2482
+-126.236 39.86 2467
+-126.11 39.86 2464
+-125.984 39.86 2428
+-125.858 39.86 2423
+-125.732 39.86 2417
+-125.606 39.86 2396
+-125.48 39.86 2362
+-125.354 39.86 2336
+-125.228 39.86 2321
+-125.102 39.86 2309
+-124.976 39.86 2296
+-124.85 39.86 2287
+-124.724 39.86 2259
+-124.598 39.86 2229
+-124.472 39.86 2219
+-124.346 39.86 2194
+-124.22 39.86 2175
+-124.094 39.86 2156
+-123.968 39.86 2150
+-123.842 39.86 2135
+-123.716 39.86 2112
+-123.59 39.86 2078
+-123.464 39.86 2022
+-123.338 39.86 1954
+-123.212 39.86 1893
+-123.086 39.86 1867
+-122.96 39.86 1896
+-122.834 39.86 1967
+-122.708 39.86 2058
+-122.582 39.86 2164
+-122.456 39.86 2239
+-122.33 39.86 2340
+-122.204 39.86 2395
+-122.078 39.86 2438
+-121.952 39.86 2480
+-121.826 39.86 2505
+-121.7 39.86 2527
+-121.574 39.86 2561
+-121.448 39.86 2564
+-121.322 39.86 2597
+-121.196 39.86 2600
+-121.07 39.86 2604
+-120.944 39.86 2598
+-120.818 39.86 2580
+-120.692 39.86 2534
+-120.566 39.86 2508
+-120.44 39.86 2547
+-120.314 39.86 2624
+-120.188 39.86 2701
+-120.062 39.86 2779
+-119.936 39.86 2847
+-119.81 39.86 2900
+-119.684 39.86 2951
+-119.558 39.86 3001
+-119.432 39.86 3033
+-119.306 39.86 3046
+-119.18 39.86 3035
+-119.054 39.86 3025
+-118.928 39.86 3056
+-118.802 39.86 3106
+-118.676 39.86 3165
+-118.55 39.86 3191
+-118.424 39.86 3195
+-118.298 39.86 3196
+-118.172 39.86 3190
+-118.046 39.86 3191
+-117.92 39.86 3199
+-117.794 39.86 3221
+-117.668 39.86 3246
+-117.542 39.86 3251
+-117.416 39.86 3261
+-117.29 39.86 3240
+-117.164 39.86 3244
+-117.038 39.86 3210
+-116.912 39.86 3182
+-116.786 39.86 3169
+-116.66 39.86 3156
+-116.534 39.86 3130
+-116.408 39.86 3129
+-116.282 39.86 3146
+-116.156 39.86 3162
+-116.03 39.86 3129
+-115.904 39.86 3069
+-115.778 39.86 3026
+-115.652 39.86 3002
+-115.526 39.86 2986
+-115.4 39.86 2970
+-115.274 39.86 2953
+-115.148 39.86 2920
+-115.022 39.86 2875
+-114.896 39.86 2828
+-114.77 39.86 2778
+-114.644 39.86 2740
+-114.518 39.86 2685
+-114.392 39.86 2639
+-114.266 39.86 2603
+-114.14 39.86 2599
+-114.014 39.86 2615
+-113.888 39.86 2573
+-113.762 39.86 2551
+-113.636 39.86 2491
+-113.51 39.86 2466
+-113.384 39.86 2421
+-113.258 39.86 2364
+-113.132 39.86 2289
+-113.006 39.86 2203
+-112.88 39.86 2114
+-112.754 39.86 2017
+-112.628 39.86 1928
+-112.502 39.86 1802
+-112.376 39.86 1683
+-112.25 39.86 1548
+-112.124 39.86 1420
+-111.998 39.86 1270
+-111.872 39.86 1131
+-111.746 39.86 1033
+-111.62 39.86 986
+-111.494 39.86 1000
+-111.368 39.86 1049
+-111.242 39.86 1144
+-111.116 39.86 1249
+-110.99 39.86 1344
+-110.864 39.86 1459
+-110.738 39.86 1549
+-110.612 39.86 1632
+-110.486 39.86 1683
+-110.36 39.86 1726
+-110.234 39.86 1781
+-110.108 39.86 1807
+-109.982 39.86 1829
+-109.856 39.86 1867
+-109.73 39.86 1905
+-109.604 39.86 1937
+-109.478 39.86 1966
+-109.352 39.86 1991
+-109.226 39.86 2014
+-109.1 39.86 2035
+-108.974 39.86 2041
+-108.848 39.86 2120
+-108.722 39.86 2098
+-108.596 39.86 2143
+-108.47 39.86 2158
+-108.344 39.86 2136
+-108.218 39.86 2118
+-108.092 39.86 2142
+-107.966 39.86 2153
+-107.84 39.86 2164
+-107.714 39.86 2178
+-107.588 39.86 2188
+-107.462 39.86 2192
+-107.336 39.86 2200
+-107.21 39.86 2223
+-107.084 39.86 2216
+-106.958 39.86 2235
+-106.832 39.86 2291
+-106.706 39.86 2298
+-106.58 39.86 2305
+-106.454 39.86 2312
+-106.328 39.86 2267
+-106.202 39.86 2273
+-106.076 39.86 2278
+-105.95 39.86 2284
+-105.824 39.86 2308
+-105.698 39.86 2313
+-105.572 39.86 2313
+-105.446 39.86 2312
+-105.32 39.86 2265
+-105.194 39.86 2323
+-105.068 39.86 2277
+-104.942 39.86 2321
+-104.816 39.86 2313
+-104.69 39.86 2306
+-104.564 39.86 2297
+-104.438 39.86 2287
+-104.312 39.86 2432
+-104.186 39.86 2255
+-104.06 39.86 2313
+-103.934 39.86 2295
+-103.808 39.86 2183
+-103.682 39.86 2187
+-103.556 39.86 2243
+-103.43 39.86 2248
+-103.304 39.86 2272
+-103.178 39.86 2303
+-103.052 39.86 2315
+-102.926 39.86 2350
+-102.8 39.86 2351
+-102.674 39.86 2348
+-102.548 39.86 2345
+-102.422 39.86 2342
+-102.296 39.86 2355
+-102.17 39.86 2351
+-102.044 39.86 2394
+-101.918 39.86 2390
+-101.792 39.86 2386
+-101.666 39.86 2420
+-101.54 39.86 2457
+-101.414 39.86 2450
+-101.288 39.86 2443
+-101.162 39.86 2435
+-101.036 39.86 2427
+-100.91 39.86 2425
+-100.784 39.86 2461
+-100.658 39.86 2453
+-100.532 39.86 2445
+-100.406 39.86 2549
+-100.28 39.86 2538
+-100.154 39.86 2527
+-100.028 39.86 2557
+-99.902 39.86 2548
+-99.776 39.86 2540
+-99.65 39.86 2575
+-99.524 39.86 2589
+-99.398 39.86 2602
+-99.272 39.86 2600
+-99.146 39.86 2602
+-99.02 39.86 2606
+-98.894 39.86 2783
+-98.768 39.86 2792
+-98.642 39.86 2804
+-98.516 39.86 2816
+-98.39 39.86 2828
+-98.264 39.86 2839
+-98.138 39.86 2886
+-98.012 39.86 2924
+-97.886 39.86 2919
+-97.76 39.86 2906
+-97.634 39.86 2884
+-97.508 39.86 2871
+-97.382 39.86 2824
+-97.256 39.86 2775
+-97.13 39.86 2714
+-97.004 39.86 2663
+-96.878 39.86 2650
+-96.752 39.86 2780
+-96.626 39.86 2946
+-96.5 39.86 3135
+-96.374 39.86 3332
+-96.248 39.86 3539
+-96.122 39.86 3709
+-95.996 39.86 3847
+-95.87 39.86 3981
+-95.744 39.86 4082
+-95.618 39.86 4167
+-95.492 39.86 4325
+-95.366 39.86 4298
+-95.24 39.86 4276
+-95.114 39.86 4415
+-94.988 39.86 4585
+-94.862 39.86 4701
+-94.736 39.86 4788
+-94.61 39.86 4882
+-94.484 39.86 5005
+-94.358 39.86 5146
+-94.232 39.86 5245
+-94.106 39.86 5418
+-93.98 39.86 5603
+-93.854 39.86 5685
+-93.728 39.86 5668
+-93.602 39.86 5865
+-93.476 39.86 5990
+-93.35 39.86 6083
+-93.224 39.86 6170
+-93.098 39.86 6267
+-92.972 39.86 6494
+-92.846 39.86 6625
+-92.72 39.86 6741
+-92.594 39.86 6767
+-92.468 39.86 6942
+-92.342 39.86 7097
+-92.216 39.86 7154
+-92.09 39.86 7359
+-91.964 39.86 7396
+-91.838 39.86 7504
+-91.712 39.86 7650
+-91.586 39.86 7731
+-91.46 39.86 7784
+-91.334 39.86 7891
+-91.208 39.86 7966
+-91.082 39.86 8119
+-90.956 39.86 8155
+-90.83 39.86 8193
+-90.704 39.86 8227
+-90.578 39.86 8252
+-90.452 39.86 8253
+-90.326 39.86 8224
+-90.2 39.86 8219
+-90.074 39.86 8203
+-89.948 39.86 8162
+-89.822 39.86 8056
+-89.696 39.86 8019
+-89.57 39.86 7918
+-89.444 39.86 7840
+-89.318 39.86 7733
+-89.192 39.86 7673
+-89.066 39.86 7514
+-88.94 39.86 7421
+-88.814 39.86 7255
+-88.688 39.86 7195
+-88.562 39.86 7082
+-88.436 39.86 7326
+-88.31 39.86 7281
+-88.184 39.86 7277
+-88.058 39.86 7218
+-87.932 39.86 7166
+-87.806 39.86 7078
+-87.68 39.86 7064
+-87.554 39.86 6985
+-87.428 39.86 6905
+-87.302 39.86 6817
+-87.176 39.86 6795
+-87.05 39.86 6666
+-86.924 39.86 6598
+-86.798 39.86 6494
+-86.672 39.86 6392
+-86.546 39.86 6283
+-86.42 39.86 6166
+-86.294 39.86 6122
+-86.168 39.86 6026
+-86.042 39.86 5921
+-85.916 39.86 5786
+-85.79 39.86 5661
+-85.664 39.86 5545
+-85.538 39.86 5406
+-85.412 39.86 5282
+-85.286 39.86 5174
+-85.16 39.86 5077
+-85.034 39.86 4977
+-84.908 39.86 4818
+-84.782 39.86 4752
+-84.656 39.86 4696
+-84.53 39.86 4637
+-84.404 39.86 4596
+-84.278 39.86 4532
+-84.152 39.86 4369
+-84.026 39.86 4300
+-83.9 39.86 4188
+-83.774 39.86 4106
+-83.648 39.86 4042
+-83.522 39.86 3958
+-83.396 39.86 3828
+-83.27 39.86 3753
+-83.144 39.86 3720
+-83.018 39.86 3694
+-82.892 39.86 3696
+-82.766 39.86 3672
+-82.64 39.86 3689
+-82.514 39.86 3708
+-82.388 39.86 3693
+-82.262 39.86 3713
+-82.136 39.86 3711
+-82.01 39.86 3726
+-81.884 39.86 3739
+-81.758 39.86 3700
+-81.632 39.86 3709
+-81.506 39.86 3717
+-81.38 39.86 3723
+-81.254 39.86 3729
+-81.128 39.86 3735
+-81.002 39.86 3669
+-80.876 39.86 3677
+-80.75 39.86 3681
+-80.624 39.86 3685
+-80.498 39.86 3689
+-80.372 39.86 3693
+-80.246 39.86 3696
+-80.12 39.86 3699
+-79.994 39.86 3656
+-79.868 39.86 3617
+-79.742 39.86 3567
+-79.616 39.86 3596
+-79.49 39.86 3599
+-79.364 39.86 3600
+-79.238 39.86 3602
+-79.112 39.86 3604
+-78.986 39.86 3551
+-78.86 39.86 3552
+-78.734 39.86 3553
+-78.608 39.86 3553
+-78.482 39.86 3554
+-78.356 39.86 3554
+-78.23 39.86 3555
+-78.104 39.86 3555
+-77.978 39.86 3555
+-77.852 39.86 3556
+-77.726 39.86 3532
+-77.6 39.86 3522
+-77.474 39.86 3523
+-77.348 39.86 3523
+-77.222 39.86 3524
+-77.096 39.86 3524
+-76.97 39.86 3509
+-76.844 39.86 3509
+-76.718 39.86 3510
+-76.592 39.86 3510
+-76.466 39.86 3510
+-76.34 39.86 3511
+-76.214 39.86 3511
+-76.088 39.86 3511
+-75.962 39.86 3511
+-75.836 39.86 3450
+-75.71 39.86 3451
+-75.584 39.86 3451
+-75.458 39.86 3452
+-75.332 39.86 3452
+-75.206 39.86 3452
+-75.08 39.86 3453
+-74.954 39.86 3453
+-74.828 39.86 3454
+-74.702 39.86 3454
+-74.576 39.86 3454
+-74.45 39.86 3455
+-74.324 39.86 3455
+-74.198 39.86 3384
+-74.072 39.86 3383
+-73.946 39.86 3383
+-73.82 39.86 3383
+-73.694 39.86 3383
+-73.568 39.86 3382
+-73.442 39.86 3382
+-73.316 39.86 3382
+-73.19 39.86 3381
+-73.064 39.86 3381
+-72.938 39.86 3381
+-72.812 39.86 3380
+-72.686 39.86 3380
+-72.56 39.86 3380
+-72.434 39.86 3380
+-72.308 39.86 3379
+-72.182 39.86 3379
+-72.056 39.86 3379
+-71.93 39.86 3379
+-71.804 39.86 3378
+-71.678 39.86 3378
+-71.552 39.86 3378
+-71.426 39.86 3378
+-71.3 39.86 3377
+-71.174 39.86 3377
+-71.048 39.86 3070
+-70.922 39.86 3069
+-70.796 39.86 3069
+-70.67 39.86 3068
+-70.544 39.86 3067
+-70.418 39.86 3066
+-70.292 39.86 3065
+-70.166 39.86 3065
+-70.04 39.86 3064
+-69.914 39.86 3063
+-69.788 39.86 3062
+-69.662 39.86 3062
+-69.536 39.86 3061
+-69.41 39.86 3060
+-69.284 39.86 3060
+-69.158 39.86 3059
+-69.032 39.86 3058
+-68.906 39.86 3058
+-68.78 39.86 2931
+-68.654 39.86 2931
+-68.528 39.86 2900
+-68.402 39.86 2853
+-68.276 39.86 2852
+-68.15 39.86 2851
+-68.024 39.86 2866
+-67.898 39.86 2866
+-67.772 39.86 2877
+-67.646 39.86 2876
+-67.52 39.86 2835
+-67.394 39.86 2797
+-67.268 39.86 2796
+-67.142 39.86 2796
+-67.016 39.86 2796
+-66.89 39.86 2816
+-66.764 39.86 2822
+-66.638 39.86 2831
+-66.512 39.86 2829
+-66.386 39.86 2870
+-66.26 39.86 2881
+-66.134 39.86 2882
+-66.008 39.86 2944
+-65.882 39.86 2967
+-65.756 39.86 2942
+-65.63 39.86 2929
+-65.504 39.86 3093
+-65.378 39.86 3094
+-65.252 39.86 3163
+-65.126 39.86 3164
+-128 39.808 2673
+-127.874 39.808 2573
+-127.748 39.808 2572
+-127.622 39.808 2571
+-127.496 39.808 2512
+-127.37 39.808 2503
+-127.244 39.808 2502
+-127.118 39.808 2502
+-126.992 39.808 2501
+-126.866 39.808 2500
+-126.74 39.808 2499
+-126.614 39.808 2480
+-126.488 39.808 2479
+-126.362 39.808 2465
+-126.236 39.808 2462
+-126.11 39.808 2426
+-125.984 39.808 2421
+-125.858 39.808 2415
+-125.732 39.808 2390
+-125.606 39.808 2362
+-125.48 39.808 2338
+-125.354 39.808 2325
+-125.228 39.808 2315
+-125.102 39.808 2304
+-124.976 39.808 2299
+-124.85 39.808 2266
+-124.724 39.808 2264
+-124.598 39.808 2241
+-124.472 39.808 2220
+-124.346 39.808 2203
+-124.22 39.808 2187
+-124.094 39.808 2184
+-123.968 39.808 2173
+-123.842 39.808 2153
+-123.716 39.808 2124
+-123.59 39.808 2092
+-123.464 39.808 2044
+-123.338 39.808 1995
+-123.212 39.808 1953
+-123.086 39.808 1937
+-122.96 39.808 1960
+-122.834 39.808 2017
+-122.708 39.808 2092
+-122.582 39.808 2167
+-122.456 39.808 2268
+-122.33 39.808 2325
+-122.204 39.808 2377
+-122.078 39.808 2419
+-121.952 39.808 2501
+-121.826 39.808 2530
+-121.7 39.808 2548
+-121.574 39.808 2581
+-121.448 39.808 2613
+-121.322 39.808 2604
+-121.196 39.808 2605
+-121.07 39.808 2604
+-120.944 39.808 2563
+-120.818 39.808 2548
+-120.692 39.808 2500
+-120.566 39.808 2462
+-120.44 39.808 2518
+-120.314 39.808 2630
+-120.188 39.808 2733
+-120.062 39.808 2820
+-119.936 39.808 2883
+-119.81 39.808 2916
+-119.684 39.808 2955
+-119.558 39.808 2997
+-119.432 39.808 3039
+-119.306 39.808 3065
+-119.18 39.808 3072
+-119.054 39.808 3077
+-118.928 39.808 3115
+-118.802 39.808 3153
+-118.676 39.808 3210
+-118.55 39.808 3230
+-118.424 39.808 3245
+-118.298 39.808 3244
+-118.172 39.808 3239
+-118.046 39.808 3240
+-117.92 39.808 3254
+-117.794 39.808 3275
+-117.668 39.808 3305
+-117.542 39.808 3310
+-117.416 39.808 3323
+-117.29 39.808 3332
+-117.164 39.808 3313
+-117.038 39.808 3303
+-116.912 39.808 3249
+-116.786 39.808 3255
+-116.66 39.808 3210
+-116.534 39.808 3177
+-116.408 39.808 3158
+-116.282 39.808 3153
+-116.156 39.808 3153
+-116.03 39.808 3132
+-115.904 39.808 3092
+-115.778 39.808 3062
+-115.652 39.808 3045
+-115.526 39.808 3032
+-115.4 39.808 3018
+-115.274 39.808 2998
+-115.148 39.808 2980
+-115.022 39.808 2943
+-114.896 39.808 2882
+-114.77 39.808 2828
+-114.644 39.808 2796
+-114.518 39.808 2752
+-114.392 39.808 2730
+-114.266 39.808 2711
+-114.14 39.808 2705
+-114.014 39.808 2687
+-113.888 39.808 2628
+-113.762 39.808 2615
+-113.636 39.808 2590
+-113.51 39.808 2554
+-113.384 39.808 2515
+-113.258 39.808 2465
+-113.132 39.808 2347
+-113.006 39.808 2268
+-112.88 39.808 2179
+-112.754 39.808 2131
+-112.628 39.808 2036
+-112.502 39.808 1914
+-112.376 39.808 1799
+-112.25 39.808 1676
+-112.124 39.808 1549
+-111.998 39.808 1421
+-111.872 39.808 1318
+-111.746 39.808 1231
+-111.62 39.808 1186
+-111.494 39.808 1189
+-111.368 39.808 1232
+-111.242 39.808 1293
+-111.116 39.808 1377
+-110.99 39.808 1430
+-110.864 39.808 1536
+-110.738 39.808 1616
+-110.612 39.808 1666
+-110.486 39.808 1711
+-110.36 39.808 1767
+-110.234 39.808 1819
+-110.108 39.808 1863
+-109.982 39.808 1886
+-109.856 39.808 1922
+-109.73 39.808 1955
+-109.604 39.808 1985
+-109.478 39.808 2012
+-109.352 39.808 2037
+-109.226 39.808 2059
+-109.1 39.808 2038
+-108.974 39.808 2115
+-108.848 39.808 2124
+-108.722 39.808 2140
+-108.596 39.808 2156
+-108.47 39.808 2135
+-108.344 39.808 2117
+-108.218 39.808 2142
+-108.092 39.808 2153
+-107.966 39.808 2164
+-107.84 39.808 2178
+-107.714 39.808 2188
+-107.588 39.808 2192
+-107.462 39.808 2201
+-107.336 39.808 2223
+-107.21 39.808 2217
+-107.084 39.808 2236
+-106.958 39.808 2290
+-106.832 39.808 2298
+-106.706 39.808 2305
+-106.58 39.808 2312
+-106.454 39.808 2318
+-106.328 39.808 2324
+-106.202 39.808 2280
+-106.076 39.808 2285
+-105.95 39.808 2364
+-105.824 39.808 2422
+-105.698 39.808 2427
+-105.572 39.808 2391
+-105.446 39.808 2340
+-105.32 39.808 2338
+-105.194 39.808 2344
+-105.068 39.808 2337
+-104.942 39.808 2330
+-104.816 39.808 2324
+-104.69 39.808 2316
+-104.564 39.808 2308
+-104.438 39.808 2454
+-104.312 39.808 2395
+-104.186 39.808 2405
+-104.06 39.808 2283
+-103.934 39.808 2266
+-103.808 39.808 2273
+-103.682 39.808 2243
+-103.556 39.808 2205
+-103.43 39.808 2216
+-103.304 39.808 2240
+-103.178 39.808 2289
+-103.052 39.808 2310
+-102.926 39.808 2361
+-102.8 39.808 2362
+-102.674 39.808 2360
+-102.548 39.808 2357
+-102.422 39.808 2354
+-102.296 39.808 2369
+-102.17 39.808 2366
+-102.044 39.808 2362
+-101.918 39.808 2405
+-101.792 39.808 2402
+-101.666 39.808 2438
+-101.54 39.808 2432
+-101.414 39.808 2470
+-101.288 39.808 2464
+-101.162 39.808 2458
+-101.036 39.808 2451
+-100.91 39.808 2445
+-100.784 39.808 2444
+-100.658 39.808 2482
+-100.532 39.808 2589
+-100.406 39.808 2580
+-100.28 39.808 2571
+-100.154 39.808 2562
+-100.028 39.808 2554
+-99.902 39.808 2633
+-99.776 39.808 2627
+-99.65 39.808 2622
+-99.524 39.808 2618
+-99.398 39.808 2634
+-99.272 39.808 2651
+-99.146 39.808 2654
+-99.02 39.808 2658
+-98.894 39.808 2665
+-98.768 39.808 2842
+-98.642 39.808 2852
+-98.516 39.808 2861
+-98.39 39.808 2870
+-98.264 39.808 2877
+-98.138 39.808 2881
+-98.012 39.808 2917
+-97.886 39.808 2946
+-97.76 39.808 2929
+-97.634 39.808 2926
+-97.508 39.808 2883
+-97.382 39.808 2824
+-97.256 39.808 2753
+-97.13 39.808 2645
+-97.004 39.808 2531
+-96.878 39.808 2469
+-96.752 39.808 2564
+-96.626 39.808 2837
+-96.5 39.808 3090
+-96.374 39.808 3305
+-96.248 39.808 3502
+-96.122 39.808 3706
+-95.996 39.808 3862
+-95.87 39.808 3995
+-95.744 39.808 4096
+-95.618 39.808 4185
+-95.492 39.808 4326
+-95.366 39.808 4256
+-95.24 39.808 4155
+-95.114 39.808 4350
+-94.988 39.808 4607
+-94.862 39.808 4724
+-94.736 39.808 4762
+-94.61 39.808 4873
+-94.484 39.808 5017
+-94.358 39.808 5178
+-94.232 39.808 5311
+-94.106 39.808 5472
+-93.98 39.808 5571
+-93.854 39.808 5678
+-93.728 39.808 5653
+-93.602 39.808 5878
+-93.476 39.808 6030
+-93.35 39.808 6075
+-93.224 39.808 6175
+-93.098 39.808 6322
+-92.972 39.808 6514
+-92.846 39.808 6572
+-92.72 39.808 6736
+-92.594 39.808 6831
+-92.468 39.808 6930
+-92.342 39.808 7105
+-92.216 39.808 7182
+-92.09 39.808 7298
+-91.964 39.808 7384
+-91.838 39.808 7523
+-91.712 39.808 7644
+-91.586 39.808 7788
+-91.46 39.808 7846
+-91.334 39.808 7963
+-91.208 39.808 7991
+-91.082 39.808 8112
+-90.956 39.808 8168
+-90.83 39.808 8239
+-90.704 39.808 8279
+-90.578 39.808 8290
+-90.452 39.808 8301
+-90.326 39.808 8308
+-90.2 39.808 8284
+-90.074 39.808 8229
+-89.948 39.808 8187
+-89.822 39.808 8132
+-89.696 39.808 8094
+-89.57 39.808 7973
+-89.444 39.808 7881
+-89.318 39.808 7776
+-89.192 39.808 7686
+-89.066 39.808 7551
+-88.94 39.808 7427
+-88.814 39.808 7300
+-88.688 39.808 7293
+-88.562 39.808 7274
+-88.436 39.808 7374
+-88.31 39.808 7376
+-88.184 39.808 7339
+-88.058 39.808 7288
+-87.932 39.808 7238
+-87.806 39.808 7164
+-87.68 39.808 7129
+-87.554 39.808 7090
+-87.428 39.808 6990
+-87.302 39.808 6889
+-87.176 39.808 6805
+-87.05 39.808 6746
+-86.924 39.808 6658
+-86.798 39.808 6534
+-86.672 39.808 6407
+-86.546 39.808 6338
+-86.42 39.808 6213
+-86.294 39.808 6103
+-86.168 39.808 5999
+-86.042 39.808 5945
+-85.916 39.808 5794
+-85.79 39.808 5703
+-85.664 39.808 5567
+-85.538 39.808 5388
+-85.412 39.808 5341
+-85.286 39.808 5220
+-85.16 39.808 5105
+-85.034 39.808 4979
+-84.908 39.808 4840
+-84.782 39.808 4711
+-84.656 39.808 4691
+-84.53 39.808 4647
+-84.404 39.808 4606
+-84.278 39.808 4513
+-84.152 39.808 4383
+-84.026 39.808 4263
+-83.9 39.808 4157
+-83.774 39.808 4078
+-83.648 39.808 4010
+-83.522 39.808 3947
+-83.396 39.808 3887
+-83.27 39.808 3782
+-83.144 39.808 3711
+-83.018 39.808 3693
+-82.892 39.808 3687
+-82.766 39.808 3704
+-82.64 39.808 3715
+-82.514 39.808 3739
+-82.388 39.808 3702
+-82.262 39.808 3722
+-82.136 39.808 3739
+-82.01 39.808 3755
+-81.884 39.808 3734
+-81.758 39.808 3746
+-81.632 39.808 3719
+-81.506 39.808 3726
+-81.38 39.808 3732
+-81.254 39.808 3738
+-81.128 39.808 3673
+-81.002 39.808 3680
+-80.876 39.808 3684
+-80.75 39.808 3689
+-80.624 39.808 3693
+-80.498 39.808 3696
+-80.372 39.808 3699
+-80.246 39.808 3702
+-80.12 39.808 3659
+-79.994 39.808 3620
+-79.868 39.808 3570
+-79.742 39.808 3599
+-79.616 39.808 3601
+-79.49 39.808 3602
+-79.364 39.808 3604
+-79.238 39.808 3606
+-79.112 39.808 3553
+-78.986 39.808 3554
+-78.86 39.808 3554
+-78.734 39.808 3555
+-78.608 39.808 3555
+-78.482 39.808 3555
+-78.356 39.808 3556
+-78.23 39.808 3556
+-78.104 39.808 3557
+-77.978 39.808 3557
+-77.852 39.808 3533
+-77.726 39.808 3523
+-77.6 39.808 3524
+-77.474 39.808 3524
+-77.348 39.808 3525
+-77.222 39.808 3525
+-77.096 39.808 3526
+-76.97 39.808 3510
+-76.844 39.808 3510
+-76.718 39.808 3511
+-76.592 39.808 3511
+-76.466 39.808 3511
+-76.34 39.808 3511
+-76.214 39.808 3512
+-76.088 39.808 3512
+-75.962 39.808 3450
+-75.836 39.808 3451
+-75.71 39.808 3451
+-75.584 39.808 3452
+-75.458 39.808 3452
+-75.332 39.808 3452
+-75.206 39.808 3453
+-75.08 39.808 3453
+-74.954 39.808 3454
+-74.828 39.808 3454
+-74.702 39.808 3454
+-74.576 39.808 3455
+-74.45 39.808 3455
+-74.324 39.808 3384
+-74.198 39.808 3384
+-74.072 39.808 3383
+-73.946 39.808 3383
+-73.82 39.808 3383
+-73.694 39.808 3382
+-73.568 39.808 3382
+-73.442 39.808 3382
+-73.316 39.808 3381
+-73.19 39.808 3381
+-73.064 39.808 3381
+-72.938 39.808 3380
+-72.812 39.808 3380
+-72.686 39.808 3380
+-72.56 39.808 3380
+-72.434 39.808 3379
+-72.308 39.808 3379
+-72.182 39.808 3379
+-72.056 39.808 3378
+-71.93 39.808 3378
+-71.804 39.808 3378
+-71.678 39.808 3378
+-71.552 39.808 3377
+-71.426 39.808 3377
+-71.3 39.808 3377
+-71.174 39.808 3070
+-71.048 39.808 3069
+-70.922 39.808 3069
+-70.796 39.808 3068
+-70.67 39.808 3067
+-70.544 39.808 3066
+-70.418 39.808 3065
+-70.292 39.808 3065
+-70.166 39.808 3064
+-70.04 39.808 3063
+-69.914 39.808 3062
+-69.788 39.808 3062
+-69.662 39.808 3061
+-69.536 39.808 3060
+-69.41 39.808 3059
+-69.284 39.808 3059
+-69.158 39.808 3058
+-69.032 39.808 3058
+-68.906 39.808 2931
+-68.78 39.808 2930
+-68.654 39.808 2900
+-68.528 39.808 2852
+-68.402 39.808 2852
+-68.276 39.808 2851
+-68.15 39.808 2866
+-68.024 39.808 2865
+-67.898 39.808 2876
+-67.772 39.808 2876
+-67.646 39.808 2834
+-67.52 39.808 2796
+-67.394 39.808 2796
+-67.268 39.808 2796
+-67.142 39.808 2795
+-67.016 39.808 2815
+-66.89 39.808 2821
+-66.764 39.808 2831
+-66.638 39.808 2828
+-66.512 39.808 2869
+-66.386 39.808 2880
+-66.26 39.808 2881
+-66.134 39.808 2943
+-66.008 39.808 2966
+-65.882 39.808 2941
+-65.756 39.808 2928
+-65.63 39.808 3092
+-65.504 39.808 3093
+-65.378 39.808 3162
+-65.252 39.808 3163
+-65.126 39.808 3164
+-128 39.756 2578
+-127.874 39.756 2576
+-127.748 39.756 2574
+-127.622 39.756 2514
+-127.496 39.756 2504
+-127.37 39.756 2502
+-127.244 39.756 2501
+-127.118 39.756 2500
+-126.992 39.756 2499
+-126.866 39.756 2475
+-126.74 39.756 2479
+-126.614 39.756 2477
+-126.488 39.756 2463
+-126.362 39.756 2460
+-126.236 39.756 2423
+-126.11 39.756 2419
+-125.984 39.756 2414
+-125.858 39.756 2389
+-125.732 39.756 2362
+-125.606 39.756 2339
+-125.48 39.756 2327
+-125.354 39.756 2319
+-125.228 39.756 2310
+-125.102 39.756 2303
+-124.976 39.756 2277
+-124.85 39.756 2279
+-124.724 39.756 2252
+-124.598 39.756 2230
+-124.472 39.756 2217
+-124.346 39.756 2203
+-124.22 39.756 2190
+-124.094 39.756 2207
+-123.968 39.756 2191
+-123.842 39.756 2167
+-123.716 39.756 2145
+-123.59 39.756 2110
+-123.464 39.756 2079
+-123.338 39.756 2049
+-123.212 39.756 2024
+-123.086 39.756 2018
+-122.96 39.756 2038
+-122.834 39.756 2081
+-122.708 39.756 2138
+-122.582 39.756 2205
+-122.456 39.756 2272
+-122.33 39.756 2320
+-122.204 39.756 2405
+-122.078 39.756 2446
+-121.952 39.756 2481
+-121.826 39.756 2529
+-121.7 39.756 2562
+-121.574 39.756 2593
+-121.448 39.756 2609
+-121.322 39.756 2605
+-121.196 39.756 2584
+-121.07 39.756 2562
+-120.944 39.756 2536
+-120.818 39.756 2535
+-120.692 39.756 2522
+-120.566 39.756 2511
+-120.44 39.756 2560
+-120.314 39.756 2667
+-120.188 39.756 2773
+-120.062 39.756 2857
+-119.936 39.756 2893
+-119.81 39.756 2907
+-119.684 39.756 2935
+-119.558 39.756 2990
+-119.432 39.756 3055
+-119.306 39.756 3112
+-119.18 39.756 3137
+-119.054 39.756 3157
+-118.928 39.756 3187
+-118.802 39.756 3239
+-118.676 39.756 3285
+-118.55 39.756 3321
+-118.424 39.756 3332
+-118.298 39.756 3343
+-118.172 39.756 3315
+-118.046 39.756 3331
+-117.92 39.756 3347
+-117.794 39.756 3374
+-117.668 39.756 3386
+-117.542 39.756 3396
+-117.416 39.756 3393
+-117.29 39.756 3401
+-117.164 39.756 3410
+-117.038 39.756 3372
+-116.912 39.756 3344
+-116.786 39.756 3322
+-116.66 39.756 3293
+-116.534 39.756 3239
+-116.408 39.756 3204
+-116.282 39.756 3176
+-116.156 39.756 3164
+-116.03 39.756 3138
+-115.904 39.756 3113
+-115.778 39.756 3097
+-115.652 39.756 3086
+-115.526 39.756 3077
+-115.4 39.756 3061
+-115.274 39.756 3040
+-115.148 39.756 3026
+-115.022 39.756 2997
+-114.896 39.756 2921
+-114.77 39.756 2838
+-114.644 39.756 2798
+-114.518 39.756 2805
+-114.392 39.756 2797
+-114.266 39.756 2788
+-114.14 39.756 2759
+-114.014 39.756 2767
+-113.888 39.756 2700
+-113.762 39.756 2681
+-113.636 39.756 2651
+-113.51 39.756 2621
+-113.384 39.756 2583
+-113.258 39.756 2513
+-113.132 39.756 2457
+-113.006 39.756 2377
+-112.88 39.756 2321
+-112.754 39.756 2223
+-112.628 39.756 2133
+-112.502 39.756 2004
+-112.376 39.756 1902
+-112.25 39.756 1795
+-112.124 39.756 1703
+-111.998 39.756 1595
+-111.872 39.756 1499
+-111.746 39.756 1423
+-111.62 39.756 1383
+-111.494 39.756 1377
+-111.368 39.756 1390
+-111.242 39.756 1438
+-111.116 39.756 1501
+-110.99 39.756 1590
+-110.864 39.756 1662
+-110.738 39.756 1667
+-110.612 39.756 1709
+-110.486 39.756 1764
+-110.36 39.756 1814
+-110.234 39.756 1859
+-110.108 39.756 1881
+-109.982 39.756 1918
+-109.856 39.756 1951
+-109.73 39.756 1980
+-109.604 39.756 2009
+-109.478 39.756 2034
+-109.352 39.756 2056
+-109.226 39.756 2070
+-109.1 39.756 2111
+-108.974 39.756 2122
+-108.848 39.756 2139
+-108.722 39.756 2154
+-108.596 39.756 2135
+-108.47 39.756 2117
+-108.344 39.756 2142
+-108.218 39.756 2154
+-108.092 39.756 2164
+-107.966 39.756 2179
+-107.84 39.756 2188
+-107.714 39.756 2193
+-107.588 39.756 2202
+-107.462 39.756 2224
+-107.336 39.756 2218
+-107.21 39.756 2237
+-107.084 39.756 2290
+-106.958 39.756 2298
+-106.832 39.756 2305
+-106.706 39.756 2312
+-106.58 39.756 2318
+-106.454 39.756 2324
+-106.328 39.756 2330
+-106.202 39.756 2358
+-106.076 39.756 2364
+-105.95 39.756 2420
+-105.824 39.756 2426
+-105.698 39.756 2452
+-105.572 39.756 2458
+-105.446 39.756 2449
+-105.32 39.756 2410
+-105.194 39.756 2352
+-105.068 39.756 2346
+-104.942 39.756 2341
+-104.816 39.756 2334
+-104.69 39.756 2326
+-104.564 39.756 2474
+-104.438 39.756 2416
+-104.312 39.756 2428
+-104.186 39.756 2415
+-104.06 39.756 2427
+-103.934 39.756 2323
+-103.808 39.756 2330
+-103.682 39.756 2317
+-103.556 39.756 2262
+-103.43 39.756 2228
+-103.304 39.756 2235
+-103.178 39.756 2271
+-103.052 39.756 2341
+-102.926 39.756 2362
+-102.8 39.756 2373
+-102.674 39.756 2371
+-102.548 39.756 2369
+-102.422 39.756 2367
+-102.296 39.756 2383
+-102.17 39.756 2380
+-102.044 39.756 2377
+-101.918 39.756 2374
+-101.792 39.756 2417
+-101.666 39.756 2455
+-101.54 39.756 2450
+-101.414 39.756 2446
+-101.288 39.756 2485
+-101.162 39.756 2480
+-101.036 39.756 2475
+-100.91 39.756 2469
+-100.784 39.756 2578
+-100.658 39.756 2625
+-100.532 39.756 2617
+-100.406 39.756 2609
+-100.28 39.756 2602
+-100.154 39.756 2596
+-100.028 39.756 2677
+-99.902 39.756 2671
+-99.776 39.756 2667
+-99.65 39.756 2663
+-99.524 39.756 2661
+-99.398 39.756 2661
+-99.272 39.756 2679
+-99.146 39.756 2699
+-99.02 39.756 2704
+-98.894 39.756 2878
+-98.768 39.756 2885
+-98.642 39.756 2893
+-98.516 39.756 2900
+-98.39 39.756 2906
+-98.264 39.756 2911
+-98.138 39.756 2912
+-98.012 39.756 2909
+-97.886 39.756 2959
+-97.76 39.756 2980
+-97.634 39.756 2948
+-97.508 39.756 2901
+-97.382 39.756 2850
+-97.256 39.756 2750
+-97.13 39.756 2613
+-97.004 39.756 2460
+-96.878 39.756 2374
+-96.752 39.756 2491
+-96.626 39.756 2785
+-96.5 39.756 3074
+-96.374 39.756 3308
+-96.248 39.756 3494
+-96.122 39.756 3668
+-95.996 39.756 3841
+-95.87 39.756 3987
+-95.744 39.756 4106
+-95.618 39.756 4242
+-95.492 39.756 4358
+-95.366 39.756 4332
+-95.24 39.756 4312
+-95.114 39.756 4467
+-94.988 39.756 4656
+-94.862 39.756 4725
+-94.736 39.756 4669
+-94.61 39.756 4861
+-94.484 39.756 5023
+-94.358 39.756 5167
+-94.232 39.756 5322
+-94.106 39.756 5436
+-93.98 39.756 5477
+-93.854 39.756 5639
+-93.728 39.756 5757
+-93.602 39.756 5893
+-93.476 39.756 5967
+-93.35 39.756 6092
+-93.224 39.756 6262
+-93.098 39.756 6370
+-92.972 39.756 6486
+-92.846 39.756 6560
+-92.72 39.756 6787
+-92.594 39.756 6857
+-92.468 39.756 7017
+-92.342 39.756 7115
+-92.216 39.756 7238
+-92.09 39.756 7322
+-91.964 39.756 7450
+-91.838 39.756 7577
+-91.712 39.756 7672
+-91.586 39.756 7801
+-91.46 39.756 7920
+-91.334 39.756 7990
+-91.208 39.756 8070
+-91.082 39.756 8187
+-90.956 39.756 8253
+-90.83 39.756 8292
+-90.704 39.756 8324
+-90.578 39.756 8339
+-90.452 39.756 8383
+-90.326 39.756 8355
+-90.2 39.756 8334
+-90.074 39.756 8284
+-89.948 39.756 8232
+-89.822 39.756 8180
+-89.696 39.756 8083
+-89.57 39.756 7995
+-89.444 39.756 7904
+-89.318 39.756 7763
+-89.192 39.756 7725
+-89.066 39.756 7590
+-88.94 39.756 7552
+-88.814 39.756 7416
+-88.688 39.756 7380
+-88.562 39.756 7467
+-88.436 39.756 7412
+-88.31 39.756 7439
+-88.184 39.756 7395
+-88.058 39.756 7368
+-87.932 39.756 7277
+-87.806 39.756 7226
+-87.68 39.756 7187
+-87.554 39.756 7083
+-87.428 39.756 7022
+-87.302 39.756 6949
+-87.176 39.756 6863
+-87.05 39.756 6761
+-86.924 39.756 6694
+-86.798 39.756 6562
+-86.672 39.756 6445
+-86.546 39.756 6375
+-86.42 39.756 6255
+-86.294 39.756 6169
+-86.168 39.756 6073
+-86.042 39.756 5961
+-85.916 39.756 5815
+-85.79 39.756 5651
+-85.664 39.756 5616
+-85.538 39.756 5464
+-85.412 39.756 5333
+-85.286 39.756 5266
+-85.16 39.756 5101
+-85.034 39.756 4928
+-84.908 39.756 4890
+-84.782 39.756 4742
+-84.656 39.756 4589
+-84.53 39.756 4637
+-84.404 39.756 4582
+-84.278 39.756 4477
+-84.152 39.756 4379
+-84.026 39.756 4250
+-83.9 39.756 4112
+-83.774 39.756 4003
+-83.648 39.756 3956
+-83.522 39.756 3915
+-83.396 39.756 3845
+-83.27 39.756 3759
+-83.144 39.756 3672
+-83.018 39.756 3631
+-82.892 39.756 3655
+-82.766 39.756 3694
+-82.64 39.756 3718
+-82.514 39.756 3712
+-82.388 39.756 3707
+-82.262 39.756 3729
+-82.136 39.756 3748
+-82.01 39.756 3764
+-81.884 39.756 3745
+-81.758 39.756 3756
+-81.632 39.756 3766
+-81.506 39.756 3774
+-81.38 39.756 3782
+-81.254 39.756 3757
+-81.128 39.756 3683
+-81.002 39.756 3688
+-80.876 39.756 3693
+-80.75 39.756 3696
+-80.624 39.756 3700
+-80.498 39.756 3703
+-80.372 39.756 3706
+-80.246 39.756 3662
+-80.12 39.756 3623
+-79.994 39.756 3573
+-79.868 39.756 3601
+-79.742 39.756 3603
+-79.616 39.756 3605
+-79.49 39.756 3606
+-79.364 39.756 3608
+-79.238 39.756 3555
+-79.112 39.756 3555
+-78.986 39.756 3556
+-78.86 39.756 3556
+-78.734 39.756 3557
+-78.608 39.756 3557
+-78.482 39.756 3557
+-78.356 39.756 3557
+-78.23 39.756 3558
+-78.104 39.756 3558
+-77.978 39.756 3534
+-77.852 39.756 3524
+-77.726 39.756 3525
+-77.6 39.756 3525
+-77.474 39.756 3526
+-77.348 39.756 3526
+-77.222 39.756 3511
+-77.096 39.756 3511
+-76.97 39.756 3511
+-76.844 39.756 3511
+-76.718 39.756 3511
+-76.592 39.756 3512
+-76.466 39.756 3512
+-76.34 39.756 3512
+-76.214 39.756 3512
+-76.088 39.756 3450
+-75.962 39.756 3451
+-75.836 39.756 3451
+-75.71 39.756 3452
+-75.584 39.756 3452
+-75.458 39.756 3452
+-75.332 39.756 3453
+-75.206 39.756 3453
+-75.08 39.756 3454
+-74.954 39.756 3454
+-74.828 39.756 3454
+-74.702 39.756 3455
+-74.576 39.756 3455
+-74.45 39.756 3384
+-74.324 39.756 3384
+-74.198 39.756 3383
+-74.072 39.756 3383
+-73.946 39.756 3383
+-73.82 39.756 3382
+-73.694 39.756 3382
+-73.568 39.756 3382
+-73.442 39.756 3381
+-73.316 39.756 3381
+-73.19 39.756 3381
+-73.064 39.756 3380
+-72.938 39.756 3380
+-72.812 39.756 3380
+-72.686 39.756 3379
+-72.56 39.756 3379
+-72.434 39.756 3379
+-72.308 39.756 3379
+-72.182 39.756 3378
+-72.056 39.756 3378
+-71.93 39.756 3378
+-71.804 39.756 3378
+-71.678 39.756 3377
+-71.552 39.756 3377
+-71.426 39.756 3377
+-71.3 39.756 3070
+-71.174 39.756 3069
+-71.048 39.756 3069
+-70.922 39.756 3068
+-70.796 39.756 3067
+-70.67 39.756 3066
+-70.544 39.756 3065
+-70.418 39.756 3064
+-70.292 39.756 3064
+-70.166 39.756 3063
+-70.04 39.756 3062
+-69.914 39.756 3061
+-69.788 39.756 3061
+-69.662 39.756 3060
+-69.536 39.756 3059
+-69.41 39.756 3059
+-69.284 39.756 3058
+-69.158 39.756 3057
+-69.032 39.756 2931
+-68.906 39.756 2930
+-68.78 39.756 2899
+-68.654 39.756 2852
+-68.528 39.756 2851
+-68.402 39.756 2850
+-68.276 39.756 2866
+-68.15 39.756 2865
+-68.024 39.756 2876
+-67.898 39.756 2875
+-67.772 39.756 2834
+-67.646 39.756 2796
+-67.52 39.756 2795
+-67.394 39.756 2795
+-67.268 39.756 2795
+-67.142 39.756 2815
+-67.016 39.756 2821
+-66.89 39.756 2830
+-66.764 39.756 2828
+-66.638 39.756 2868
+-66.512 39.756 2879
+-66.386 39.756 2880
+-66.26 39.756 2942
+-66.134 39.756 2965
+-66.008 39.756 2940
+-65.882 39.756 2928
+-65.756 39.756 3091
+-65.63 39.756 3092
+-65.504 39.756 3161
+-65.378 39.756 3162
+-65.252 39.756 3163
+-65.126 39.756 3164
+-128 39.704 2580
+-127.874 39.704 2578
+-127.748 39.704 2515
+-127.622 39.704 2505
+-127.496 39.704 2503
+-127.37 39.704 2502
+-127.244 39.704 2500
+-127.118 39.704 2498
+-126.992 39.704 2474
+-126.866 39.704 2477
+-126.74 39.704 2475
+-126.614 39.704 2461
+-126.488 39.704 2458
+-126.362 39.704 2421
+-126.236 39.704 2417
+-126.11 39.704 2412
+-125.984 39.704 2388
+-125.858 39.704 2362
+-125.732 39.704 2342
+-125.606 39.704 2329
+-125.48 39.704 2322
+-125.354 39.704 2314
+-125.228 39.704 2309
+-125.102 39.704 2291
+-124.976 39.704 2291
+-124.85 39.704 2270
+-124.724 39.704 2249
+-124.598 39.704 2238
+-124.472 39.704 2226
+-124.346 39.704 2207
+-124.22 39.704 2209
+-124.094 39.704 2219
+-123.968 39.704 2179
+-123.842 39.704 2165
+-123.716 39.704 2161
+-123.59 39.704 2142
+-123.464 39.704 2121
+-123.338 39.704 2101
+-123.212 39.704 2089
+-123.086 39.704 2092
+-122.96 39.704 2110
+-122.834 39.704 2144
+-122.708 39.704 2197
+-122.582 39.704 2252
+-122.456 39.704 2303
+-122.33 39.704 2351
+-122.204 39.704 2385
+-122.078 39.704 2423
+-121.952 39.704 2477
+-121.826 39.704 2547
+-121.7 39.704 2566
+-121.574 39.704 2577
+-121.448 39.704 2624
+-121.322 39.704 2626
+-121.196 39.704 2591
+-121.07 39.704 2538
+-120.944 39.704 2487
+-120.818 39.704 2464
+-120.692 39.704 2504
+-120.566 39.704 2571
+-120.44 39.704 2638
+-120.314 39.704 2731
+-120.188 39.704 2822
+-120.062 39.704 2893
+-119.936 39.704 2905
+-119.81 39.704 2893
+-119.684 39.704 2929
+-119.558 39.704 3012
+-119.432 39.704 3092
+-119.306 39.704 3151
+-119.18 39.704 3205
+-119.054 39.704 3238
+-118.928 39.704 3294
+-118.802 39.704 3324
+-118.676 39.704 3373
+-118.55 39.704 3392
+-118.424 39.704 3413
+-118.298 39.704 3419
+-118.172 39.704 3413
+-118.046 39.704 3429
+-117.92 39.704 3445
+-117.794 39.704 3464
+-117.668 39.704 3478
+-117.542 39.704 3479
+-117.416 39.704 3491
+-117.29 39.704 3501
+-117.164 39.704 3511
+-117.038 39.704 3478
+-116.912 39.704 3445
+-116.786 39.704 3400
+-116.66 39.704 3369
+-116.534 39.704 3304
+-116.408 39.704 3260
+-116.282 39.704 3220
+-116.156 39.704 3201
+-116.03 39.704 3165
+-115.904 39.704 3143
+-115.778 39.704 3133
+-115.652 39.704 3131
+-115.526 39.704 3131
+-115.4 39.704 3113
+-115.274 39.704 3066
+-115.148 39.704 3039
+-115.022 39.704 3026
+-114.896 39.704 2940
+-114.77 39.704 2823
+-114.644 39.704 2772
+-114.518 39.704 2801
+-114.392 39.704 2823
+-114.266 39.704 2833
+-114.14 39.704 2848
+-114.014 39.704 2845
+-113.888 39.704 2777
+-113.762 39.704 2731
+-113.636 39.704 2721
+-113.51 39.704 2692
+-113.384 39.704 2634
+-113.258 39.704 2590
+-113.132 39.704 2556
+-113.006 39.704 2493
+-112.88 39.704 2450
+-112.754 39.704 2360
+-112.628 39.704 2277
+-112.502 39.704 2130
+-112.376 39.704 2030
+-112.25 39.704 1937
+-112.124 39.704 1841
+-111.998 39.704 1750
+-111.872 39.704 1665
+-111.746 39.704 1604
+-111.62 39.704 1567
+-111.494 39.704 1538
+-111.368 39.704 1549
+-111.242 39.704 1580
+-111.116 39.704 1647
+-110.99 39.704 1701
+-110.864 39.704 1738
+-110.738 39.704 1770
+-110.612 39.704 1822
+-110.486 39.704 1821
+-110.36 39.704 1863
+-110.234 39.704 1883
+-110.108 39.704 1919
+-109.982 39.704 1952
+-109.856 39.704 1981
+-109.73 39.704 2006
+-109.604 39.704 2066
+-109.478 39.704 2088
+-109.352 39.704 2070
+-109.226 39.704 2109
+-109.1 39.704 2122
+-108.974 39.704 2138
+-108.848 39.704 2154
+-108.722 39.704 2136
+-108.596 39.704 2117
+-108.47 39.704 2143
+-108.344 39.704 2155
+-108.218 39.704 2165
+-108.092 39.704 2179
+-107.966 39.704 2189
+-107.84 39.704 2194
+-107.714 39.704 2203
+-107.588 39.704 2225
+-107.462 39.704 2220
+-107.336 39.704 2238
+-107.21 39.704 2290
+-107.084 39.704 2298
+-106.958 39.704 2305
+-106.832 39.704 2312
+-106.706 39.704 2318
+-106.58 39.704 2324
+-106.454 39.704 2330
+-106.328 39.704 2358
+-106.202 39.704 2364
+-106.076 39.704 2419
+-105.95 39.704 2424
+-105.824 39.704 2450
+-105.698 39.704 2456
+-105.572 39.704 2487
+-105.446 39.704 2472
+-105.32 39.704 2471
+-105.194 39.704 2361
+-105.068 39.704 2356
+-104.942 39.704 2350
+-104.816 39.704 2344
+-104.69 39.704 2492
+-104.564 39.704 2435
+-104.438 39.704 2448
+-104.312 39.704 2437
+-104.186 39.704 2451
+-104.06 39.704 2438
+-103.934 39.704 2333
+-103.808 39.704 2340
+-103.682 39.704 2327
+-103.556 39.704 2273
+-103.43 39.704 2239
+-103.304 39.704 2245
+-103.178 39.704 2240
+-103.052 39.704 2318
+-102.926 39.704 2347
+-102.8 39.704 2371
+-102.674 39.704 2382
+-102.548 39.704 2381
+-102.422 39.704 2380
+-102.296 39.704 2397
+-102.17 39.704 2395
+-102.044 39.704 2392
+-101.918 39.704 2390
+-101.792 39.704 2432
+-101.666 39.704 2472
+-101.54 39.704 2468
+-101.414 39.704 2464
+-101.288 39.704 2460
+-101.162 39.704 2501
+-101.036 39.704 2497
+-100.91 39.704 2608
+-100.784 39.704 2601
+-100.658 39.704 2594
+-100.532 39.704 2643
+-100.406 39.704 2637
+-100.28 39.704 2632
+-100.154 39.704 2663
+-100.028 39.704 2658
+-99.902 39.704 2706
+-99.776 39.704 2703
+-99.65 39.704 2702
+-99.524 39.704 2701
+-99.398 39.704 2701
+-99.272 39.704 2703
+-99.146 39.704 2747
+-99.02 39.704 2912
+-98.894 39.704 2917
+-98.768 39.704 2912
+-98.642 39.704 2927
+-98.516 39.704 2933
+-98.39 39.704 2937
+-98.264 39.704 2942
+-98.138 39.704 2950
+-98.012 39.704 3001
+-97.886 39.704 2989
+-97.76 39.704 2969
+-97.634 39.704 2959
+-97.508 39.704 2950
+-97.382 39.704 2882
+-97.256 39.704 2789
+-97.13 39.704 2665
+-97.004 39.704 2547
+-96.878 39.704 2481
+-96.752 39.704 2592
+-96.626 39.704 2830
+-96.5 39.704 3114
+-96.374 39.704 3334
+-96.248 39.704 3513
+-96.122 39.704 3661
+-95.996 39.704 3825
+-95.87 39.704 3972
+-95.744 39.704 4142
+-95.618 39.704 4289
+-95.492 39.704 4402
+-95.366 39.704 4444
+-95.24 39.704 4502
+-95.114 39.704 4597
+-94.988 39.704 4692
+-94.862 39.704 4762
+-94.736 39.704 4809
+-94.61 39.704 4929
+-94.484 39.704 4972
+-94.358 39.704 5139
+-94.232 39.704 5305
+-94.106 39.704 5328
+-93.98 39.704 5534
+-93.854 39.704 5619
+-93.728 39.704 5750
+-93.602 39.704 5880
+-93.476 39.704 5958
+-93.35 39.704 6106
+-93.224 39.704 6218
+-93.098 39.704 6405
+-92.972 39.704 6500
+-92.846 39.704 6641
+-92.72 39.704 6771
+-92.594 39.704 6951
+-92.468 39.704 7030
+-92.342 39.704 7166
+-92.216 39.704 7263
+-92.09 39.704 7354
+-91.964 39.704 7485
+-91.838 39.704 7612
+-91.712 39.704 7696
+-91.586 39.704 7850
+-91.46 39.704 7926
+-91.334 39.704 7992
+-91.208 39.704 8168
+-91.082 39.704 8202
+-90.956 39.704 8273
+-90.83 39.704 8336
+-90.704 39.704 8372
+-90.578 39.704 8418
+-90.452 39.704 8411
+-90.326 39.704 8404
+-90.2 39.704 8381
+-90.074 39.704 8391
+-89.948 39.704 8287
+-89.822 39.704 8196
+-89.696 39.704 8148
+-89.57 39.704 8039
+-89.444 39.704 7947
+-89.318 39.704 7866
+-89.192 39.704 7782
+-89.066 39.704 7653
+-88.94 39.704 7515
+-88.814 39.704 7418
+-88.688 39.704 7298
+-88.562 39.704 7464
+-88.436 39.704 7501
+-88.31 39.704 7484
+-88.184 39.704 7439
+-88.058 39.704 7382
+-87.932 39.704 7335
+-87.806 39.704 7276
+-87.68 39.704 7180
+-87.554 39.704 7123
+-87.428 39.704 7089
+-87.302 39.704 7000
+-87.176 39.704 6906
+-87.05 39.704 6805
+-86.924 39.704 6695
+-86.798 39.704 6601
+-86.672 39.704 6503
+-86.546 39.704 6359
+-86.42 39.704 6241
+-86.294 39.704 6228
+-86.168 39.704 6111
+-86.042 39.704 5968
+-85.916 39.704 5800
+-85.79 39.704 5778
+-85.664 39.704 5693
+-85.538 39.704 5506
+-85.412 39.704 5390
+-85.286 39.704 5267
+-85.16 39.704 5140
+-85.034 39.704 5020
+-84.908 39.704 4951
+-84.782 39.704 4803
+-84.656 39.704 4700
+-84.53 39.704 4637
+-84.404 39.704 4510
+-84.278 39.704 4401
+-84.152 39.704 4347
+-84.026 39.704 4246
+-83.9 39.704 4005
+-83.774 39.704 3866
+-83.648 39.704 3884
+-83.522 39.704 3882
+-83.396 39.704 3782
+-83.27 39.704 3635
+-83.144 39.704 3534
+-83.018 39.704 3519
+-82.892 39.704 3570
+-82.766 39.704 3642
+-82.64 39.704 3700
+-82.514 39.704 3709
+-82.388 39.704 3745
+-82.262 39.704 3737
+-82.136 39.704 3757
+-82.01 39.704 3774
+-81.884 39.704 3788
+-81.758 39.704 3767
+-81.632 39.704 3795
+-81.506 39.704 3803
+-81.38 39.704 3791
+-81.254 39.704 3688
+-81.128 39.704 3693
+-81.002 39.704 3697
+-80.876 39.704 3701
+-80.75 39.704 3704
+-80.624 39.704 3707
+-80.498 39.704 3714
+-80.372 39.704 3667
+-80.246 39.704 3627
+-80.12 39.704 3576
+-79.994 39.704 3604
+-79.868 39.704 3606
+-79.742 39.704 3607
+-79.616 39.704 3609
+-79.49 39.704 3610
+-79.364 39.704 3557
+-79.238 39.704 3557
+-79.112 39.704 3558
+-78.986 39.704 3558
+-78.86 39.704 3558
+-78.734 39.704 3558
+-78.608 39.704 3559
+-78.482 39.704 3559
+-78.356 39.704 3559
+-78.23 39.704 3559
+-78.104 39.704 3535
+-77.978 39.704 3525
+-77.852 39.704 3526
+-77.726 39.704 3526
+-77.6 39.704 3527
+-77.474 39.704 3527
+-77.348 39.704 3511
+-77.222 39.704 3512
+-77.096 39.704 3512
+-76.97 39.704 3512
+-76.844 39.704 3512
+-76.718 39.704 3512
+-76.592 39.704 3513
+-76.466 39.704 3513
+-76.34 39.704 3513
+-76.214 39.704 3450
+-76.088 39.704 3451
+-75.962 39.704 3451
+-75.836 39.704 3452
+-75.71 39.704 3452
+-75.584 39.704 3453
+-75.458 39.704 3453
+-75.332 39.704 3453
+-75.206 39.704 3454
+-75.08 39.704 3454
+-74.954 39.704 3454
+-74.828 39.704 3455
+-74.702 39.704 3455
+-74.576 39.704 3384
+-74.45 39.704 3384
+-74.324 39.704 3383
+-74.198 39.704 3383
+-74.072 39.704 3383
+-73.946 39.704 3382
+-73.82 39.704 3382
+-73.694 39.704 3382
+-73.568 39.704 3381
+-73.442 39.704 3381
+-73.316 39.704 3381
+-73.19 39.704 3380
+-73.064 39.704 3380
+-72.938 39.704 3380
+-72.812 39.704 3379
+-72.686 39.704 3379
+-72.56 39.704 3379
+-72.434 39.704 3379
+-72.308 39.704 3378
+-72.182 39.704 3378
+-72.056 39.704 3378
+-71.93 39.704 3378
+-71.804 39.704 3377
+-71.678 39.704 3377
+-71.552 39.704 3377
+-71.426 39.704 3070
+-71.3 39.704 3070
+-71.174 39.704 3069
+-71.048 39.704 3068
+-70.922 39.704 3067
+-70.796 39.704 3066
+-70.67 39.704 3065
+-70.544 39.704 3064
+-70.418 39.704 3064
+-70.292 39.704 3063
+-70.166 39.704 3062
+-70.04 39.704 3061
+-69.914 39.704 3061
+-69.788 39.704 3060
+-69.662 39.704 3059
+-69.536 39.704 3058
+-69.41 39.704 3058
+-69.284 39.704 3057
+-69.158 39.704 2931
+-69.032 39.704 2930
+-68.906 39.704 2899
+-68.78 39.704 2852
+-68.654 39.704 2851
+-68.528 39.704 2850
+-68.402 39.704 2865
+-68.276 39.704 2865
+-68.15 39.704 2876
+-68.024 39.704 2875
+-67.898 39.704 2834
+-67.772 39.704 2795
+-67.646 39.704 2795
+-67.52 39.704 2795
+-67.394 39.704 2794
+-67.268 39.704 2814
+-67.142 39.704 2820
+-67.016 39.704 2830
+-66.89 39.704 2827
+-66.764 39.704 2867
+-66.638 39.704 2879
+-66.512 39.704 2879
+-66.386 39.704 2941
+-66.26 39.704 2964
+-66.134 39.704 2939
+-66.008 39.704 2927
+-65.882 39.704 3090
+-65.756 39.704 3091
+-65.63 39.704 3160
+-65.504 39.704 3161
+-65.378 39.704 3162
+-65.252 39.704 3163
+-65.126 39.704 3164
+-128 39.652 2581
+-127.874 39.652 2517
+-127.748 39.652 2506
+-127.622 39.652 2504
+-127.496 39.652 2502
+-127.37 39.652 2500
+-127.244 39.652 2498
+-127.118 39.652 2473
+-126.992 39.652 2477
+-126.866 39.652 2474
+-126.74 39.652 2460
+-126.614 39.652 2457
+-126.488 39.652 2420
+-126.362 39.652 2416
+-126.236 39.652 2411
+-126.11 39.652 2387
+-125.984 39.652 2361
+-125.858 39.652 2343
+-125.732 39.652 2338
+-125.606 39.652 2324
+-125.48 39.652 2307
+-125.354 39.652 2299
+-125.228 39.652 2298
+-125.102 39.652 2300
+-124.976 39.652 2280
+-124.85 39.652 2261
+-124.724 39.652 2251
+-124.598 39.652 2242
+-124.472 39.652 2223
+-124.346 39.652 2230
+-124.22 39.652 2220
+-124.094 39.652 2225
+-123.968 39.652 2213
+-123.842 39.652 2200
+-123.716 39.652 2181
+-123.59 39.652 2170
+-123.464 39.652 2157
+-123.338 39.652 2147
+-123.212 39.652 2148
+-123.086 39.652 2153
+-122.96 39.652 2171
+-122.834 39.652 2205
+-122.708 39.652 2243
+-122.582 39.652 2285
+-122.456 39.652 2333
+-122.33 39.652 2364
+-122.204 39.652 2424
+-122.078 39.652 2461
+-121.952 39.652 2493
+-121.826 39.652 2521
+-121.7 39.652 2584
+-121.574 39.652 2618
+-121.448 39.652 2639
+-121.322 39.652 2620
+-121.196 39.652 2597
+-121.07 39.652 2535
+-120.944 39.652 2462
+-120.818 39.652 2412
+-120.692 39.652 2478
+-120.566 39.652 2596
+-120.44 39.652 2701
+-120.314 39.652 2797
+-120.188 39.652 2876
+-120.062 39.652 2922
+-119.936 39.652 2934
+-119.81 39.652 2933
+-119.684 39.652 2975
+-119.558 39.652 3062
+-119.432 39.652 3147
+-119.306 39.652 3214
+-119.18 39.652 3266
+-119.054 39.652 3308
+-118.928 39.652 3385
+-118.802 39.652 3415
+-118.676 39.652 3463
+-118.55 39.652 3481
+-118.424 39.652 3504
+-118.298 39.652 3514
+-118.172 39.652 3511
+-118.046 39.652 3534
+-117.92 39.652 3550
+-117.794 39.652 3568
+-117.668 39.652 3580
+-117.542 39.652 3592
+-117.416 39.652 3589
+-117.29 39.652 3597
+-117.164 39.652 3614
+-117.038 39.652 3579
+-116.912 39.652 3572
+-116.786 39.652 3534
+-116.66 39.652 3515
+-116.534 39.652 3496
+-116.408 39.652 3432
+-116.282 39.652 3347
+-116.156 39.652 3318
+-116.03 39.652 3294
+-115.904 39.652 3249
+-115.778 39.652 3230
+-115.652 39.652 3209
+-115.526 39.652 3214
+-115.4 39.652 3214
+-115.274 39.652 3143
+-115.148 39.652 3066
+-115.022 39.652 3041
+-114.896 39.652 2974
+-114.77 39.652 2877
+-114.644 39.652 2818
+-114.518 39.652 2842
+-114.392 39.652 2859
+-114.266 39.652 2890
+-114.14 39.652 2898
+-114.014 39.652 2900
+-113.888 39.652 2829
+-113.762 39.652 2825
+-113.636 39.652 2805
+-113.51 39.652 2735
+-113.384 39.652 2702
+-113.258 39.652 2661
+-113.132 39.652 2638
+-113.006 39.652 2583
+-112.88 39.652 2523
+-112.754 39.652 2439
+-112.628 39.652 2364
+-112.502 39.652 2277
+-112.376 39.652 2170
+-112.25 39.652 2060
+-112.124 39.652 1997
+-111.998 39.652 1919
+-111.872 39.652 1850
+-111.746 39.652 1770
+-111.62 39.652 1711
+-111.494 39.652 1694
+-111.368 39.652 1696
+-111.242 39.652 1740
+-111.116 39.652 1771
+-110.99 39.652 1789
+-110.864 39.652 1807
+-110.738 39.652 1849
+-110.612 39.652 1861
+-110.486 39.652 1899
+-110.36 39.652 1913
+-110.234 39.652 1928
+-110.108 39.652 1958
+-109.982 39.652 1986
+-109.856 39.652 2010
+-109.73 39.652 2069
+-109.604 39.652 2091
+-109.478 39.652 2073
+-109.352 39.652 2054
+-109.226 39.652 2156
+-109.1 39.652 2173
+-108.974 39.652 2189
+-108.848 39.652 2137
+-108.722 39.652 2118
+-108.596 39.652 2145
+-108.47 39.652 2156
+-108.344 39.652 2167
+-108.218 39.652 2181
+-108.092 39.652 2190
+-107.966 39.652 2196
+-107.84 39.652 2205
+-107.714 39.652 2227
+-107.588 39.652 2221
+-107.462 39.652 2240
+-107.336 39.652 2290
+-107.21 39.652 2298
+-107.084 39.652 2305
+-106.958 39.652 2312
+-106.832 39.652 2318
+-106.706 39.652 2325
+-106.58 39.652 2330
+-106.454 39.652 2358
+-106.328 39.652 2364
+-106.202 39.652 2417
+-106.076 39.652 2423
+-105.95 39.652 2449
+-105.824 39.652 2454
+-105.698 39.652 2485
+-105.572 39.652 2578
+-105.446 39.652 2602
+-105.32 39.652 2476
+-105.194 39.652 2475
+-105.068 39.652 2365
+-104.942 39.652 2359
+-104.816 39.652 2509
+-104.69 39.652 2452
+-104.564 39.652 2466
+-104.438 39.652 2456
+-104.312 39.652 2472
+-104.186 39.652 2460
+-104.06 39.652 2448
+-103.934 39.652 2343
+-103.808 39.652 2350
+-103.682 39.652 2338
+-103.556 39.652 2284
+-103.43 39.652 2250
+-103.304 39.652 2255
+-103.178 39.652 2250
+-103.052 39.652 2308
+-102.926 39.652 2324
+-102.8 39.652 2355
+-102.674 39.652 2380
+-102.548 39.652 2393
+-102.422 39.652 2392
+-102.296 39.652 2410
+-102.17 39.652 2409
+-102.044 39.652 2407
+-101.918 39.652 2405
+-101.792 39.652 2447
+-101.666 39.652 2489
+-101.54 39.652 2486
+-101.414 39.652 2483
+-101.288 39.652 2480
+-101.162 39.652 2522
+-101.036 39.652 2613
+-100.91 39.652 2629
+-100.784 39.652 2623
+-100.658 39.652 2618
+-100.532 39.652 2612
+-100.406 39.652 2664
+-100.28 39.652 2697
+-100.154 39.652 2693
+-100.028 39.652 2689
+-99.902 39.652 2686
+-99.776 39.652 2737
+-99.65 39.652 2736
+-99.524 39.652 2737
+-99.398 39.652 2738
+-99.272 39.652 2765
+-99.146 39.652 2768
+-99.02 39.652 2788
+-98.894 39.652 2952
+-98.768 39.652 2958
+-98.642 39.652 2963
+-98.516 39.652 2967
+-98.39 39.652 2970
+-98.264 39.652 2971
+-98.138 39.652 2978
+-98.012 39.652 2972
+-97.886 39.652 3016
+-97.76 39.652 2997
+-97.634 39.652 2971
+-97.508 39.652 2951
+-97.382 39.652 2932
+-97.256 39.652 2860
+-97.13 39.652 2815
+-97.004 39.652 2727
+-96.878 39.652 2701
+-96.752 39.652 2789
+-96.626 39.652 2968
+-96.5 39.652 3156
+-96.374 39.652 3372
+-96.248 39.652 3536
+-96.122 39.652 3692
+-95.996 39.652 3838
+-95.87 39.652 3958
+-95.744 39.652 4122
+-95.618 39.652 4252
+-95.492 39.652 4430
+-95.366 39.652 4488
+-95.24 39.652 4557
+-95.114 39.652 4657
+-94.988 39.652 4739
+-94.862 39.652 4787
+-94.736 39.652 4809
+-94.61 39.652 4893
+-94.484 39.652 5048
+-94.358 39.652 5170
+-94.232 39.652 5277
+-94.106 39.652 5428
+-93.98 39.652 5582
+-93.854 39.652 5611
+-93.728 39.652 5731
+-93.602 39.652 5864
+-93.476 39.652 6005
+-93.35 39.652 6167
+-93.224 39.652 6279
+-93.098 39.652 6429
+-92.972 39.652 6559
+-92.846 39.652 6638
+-92.72 39.652 6804
+-92.594 39.652 6901
+-92.468 39.652 6984
+-92.342 39.652 7144
+-92.216 39.652 7239
+-92.09 39.652 7397
+-91.964 39.652 7565
+-91.838 39.652 7666
+-91.712 39.652 7800
+-91.586 39.652 7881
+-91.46 39.652 7964
+-91.334 39.652 8068
+-91.208 39.652 8168
+-91.082 39.652 8244
+-90.956 39.652 8324
+-90.83 39.652 8393
+-90.704 39.652 8453
+-90.578 39.652 8454
+-90.452 39.652 8482
+-90.326 39.652 8473
+-90.2 39.652 8434
+-90.074 39.652 8371
+-89.948 39.652 8338
+-89.822 39.652 8238
+-89.696 39.652 8172
+-89.57 39.652 8091
+-89.444 39.652 8030
+-89.318 39.652 7883
+-89.192 39.652 7716
+-89.066 39.652 7662
+-88.94 39.652 7586
+-88.814 39.652 7466
+-88.688 39.652 7350
+-88.562 39.652 7608
+-88.436 39.652 7572
+-88.31 39.652 7502
+-88.184 39.652 7484
+-88.058 39.652 7479
+-87.932 39.652 7388
+-87.806 39.652 7336
+-87.68 39.652 7260
+-87.554 39.652 7185
+-87.428 39.652 7111
+-87.302 39.652 7077
+-87.176 39.652 6989
+-87.05 39.652 6865
+-86.924 39.652 6744
+-86.798 39.652 6657
+-86.672 39.652 6565
+-86.546 39.652 6421
+-86.42 39.652 6294
+-86.294 39.652 6198
+-86.168 39.652 6102
+-86.042 39.652 6039
+-85.916 39.652 5906
+-85.79 39.652 5855
+-85.664 39.652 5730
+-85.538 39.652 5541
+-85.412 39.652 5432
+-85.286 39.652 5318
+-85.16 39.652 5174
+-85.034 39.652 5072
+-84.908 39.652 5002
+-84.782 39.652 4907
+-84.656 39.652 4779
+-84.53 39.652 4637
+-84.404 39.652 4440
+-84.278 39.652 4297
+-84.152 39.652 4343
+-84.026 39.652 4223
+-83.9 39.652 3949
+-83.774 39.652 3748
+-83.648 39.652 3838
+-83.522 39.652 3858
+-83.396 39.652 3704
+-83.27 39.652 3433
+-83.144 39.652 3277
+-83.018 39.652 3353
+-82.892 39.652 3494
+-82.766 39.652 3597
+-82.64 39.652 3685
+-82.514 39.652 3747
+-82.388 39.652 3751
+-82.262 39.652 3784
+-82.136 39.652 3768
+-82.01 39.652 3785
+-81.884 39.652 3799
+-81.758 39.652 3796
+-81.632 39.652 3806
+-81.506 39.652 3794
+-81.38 39.652 3800
+-81.254 39.652 3805
+-81.128 39.652 3702
+-81.002 39.652 3706
+-80.876 39.652 3709
+-80.75 39.652 3713
+-80.624 39.652 3718
+-80.498 39.652 3672
+-80.372 39.652 3631
+-80.246 39.652 3579
+-80.12 39.652 3607
+-79.994 39.652 3609
+-79.868 39.652 3610
+-79.742 39.652 3612
+-79.616 39.652 3613
+-79.49 39.652 3559
+-79.364 39.652 3560
+-79.238 39.652 3560
+-79.112 39.652 3560
+-78.986 39.652 3560
+-78.86 39.652 3560
+-78.734 39.652 3560
+-78.608 39.652 3560
+-78.482 39.652 3560
+-78.356 39.652 3560
+-78.23 39.652 3536
+-78.104 39.652 3527
+-77.978 39.652 3527
+-77.852 39.652 3527
+-77.726 39.652 3528
+-77.6 39.652 3528
+-77.474 39.652 3528
+-77.348 39.652 3512
+-77.222 39.652 3513
+-77.096 39.652 3513
+-76.97 39.652 3513
+-76.844 39.652 3513
+-76.718 39.652 3513
+-76.592 39.652 3513
+-76.466 39.652 3513
+-76.34 39.652 3451
+-76.214 39.652 3451
+-76.088 39.652 3451
+-75.962 39.652 3452
+-75.836 39.652 3452
+-75.71 39.652 3453
+-75.584 39.652 3453
+-75.458 39.652 3453
+-75.332 39.652 3454
+-75.206 39.652 3454
+-75.08 39.652 3454
+-74.954 39.652 3455
+-74.828 39.652 3455
+-74.702 39.652 3384
+-74.576 39.652 3384
+-74.45 39.652 3383
+-74.324 39.652 3383
+-74.198 39.652 3383
+-74.072 39.652 3382
+-73.946 39.652 3382
+-73.82 39.652 3382
+-73.694 39.652 3381
+-73.568 39.652 3381
+-73.442 39.652 3381
+-73.316 39.652 3380
+-73.19 39.652 3380
+-73.064 39.652 3380
+-72.938 39.652 3379
+-72.812 39.652 3379
+-72.686 39.652 3379
+-72.56 39.652 3378
+-72.434 39.652 3378
+-72.308 39.652 3378
+-72.182 39.652 3378
+-72.056 39.652 3377
+-71.93 39.652 3377
+-71.804 39.652 3377
+-71.678 39.652 3377
+-71.552 39.652 3070
+-71.426 39.652 3070
+-71.3 39.652 3069
+-71.174 39.652 3068
+-71.048 39.652 3067
+-70.922 39.652 3066
+-70.796 39.652 3065
+-70.67 39.652 3064
+-70.544 39.652 3063
+-70.418 39.652 3063
+-70.292 39.652 3062
+-70.166 39.652 3061
+-70.04 39.652 3060
+-69.914 39.652 3060
+-69.788 39.652 3059
+-69.662 39.652 3058
+-69.536 39.652 3058
+-69.41 39.652 3057
+-69.284 39.652 2931
+-69.158 39.652 2930
+-69.032 39.652 2899
+-68.906 39.652 2852
+-68.78 39.652 2851
+-68.654 39.652 2850
+-68.528 39.652 2865
+-68.402 39.652 2864
+-68.276 39.652 2875
+-68.15 39.652 2875
+-68.024 39.652 2834
+-67.898 39.652 2795
+-67.772 39.652 2794
+-67.646 39.652 2794
+-67.52 39.652 2794
+-67.394 39.652 2814
+-67.268 39.652 2819
+-67.142 39.652 2829
+-67.016 39.652 2827
+-66.89 39.652 2866
+-66.764 39.652 2878
+-66.638 39.652 2878
+-66.512 39.652 2940
+-66.386 39.652 2963
+-66.26 39.652 2938
+-66.134 39.652 2926
+-66.008 39.652 3089
+-65.882 39.652 3090
+-65.756 39.652 3159
+-65.63 39.652 3160
+-65.504 39.652 3161
+-65.378 39.652 3162
+-65.252 39.652 3163
+-65.126 39.652 3066
+-128 39.6 2518
+-127.874 39.6 2507
+-127.748 39.6 2505
+-127.622 39.6 2503
+-127.496 39.6 2500
+-127.37 39.6 2498
+-127.244 39.6 2473
+-127.118 39.6 2476
+-126.992 39.6 2474
+-126.866 39.6 2459
+-126.74 39.6 2456
+-126.614 39.6 2418
+-126.488 39.6 2415
+-126.362 39.6 2410
+-126.236 39.6 2387
+-126.11 39.6 2361
+-125.984 39.6 2345
+-125.858 39.6 2339
+-125.732 39.6 2325
+-125.606 39.6 2310
+-125.48 39.6 2304
+-125.354 39.6 2304
+-125.228 39.6 2307
+-125.102 39.6 2296
+-124.976 39.6 2270
+-124.85 39.6 2262
+-124.724 39.6 2253
+-124.598 39.6 2235
+-124.472 39.6 2247
+-124.346 39.6 2239
+-124.22 39.6 2222
+-124.094 39.6 2238
+-123.968 39.6 2206
+-123.842 39.6 2197
+-123.716 39.6 2201
+-123.59 39.6 2193
+-123.464 39.6 2198
+-123.338 39.6 2191
+-123.212 39.6 2193
+-123.086 39.6 2201
+-122.96 39.6 2224
+-122.834 39.6 2249
+-122.708 39.6 2292
+-122.582 39.6 2329
+-122.456 39.6 2372
+-122.33 39.6 2417
+-122.204 39.6 2443
+-122.078 39.6 2478
+-121.952 39.6 2509
+-121.826 39.6 2553
+-121.7 39.6 2574
+-121.574 39.6 2610
+-121.448 39.6 2626
+-121.322 39.6 2624
+-121.196 39.6 2595
+-121.07 39.6 2557
+-120.944 39.6 2503
+-120.818 39.6 2473
+-120.692 39.6 2540
+-120.566 39.6 2658
+-120.44 39.6 2768
+-120.314 39.6 2859
+-120.188 39.6 2936
+-120.062 39.6 2984
+-119.936 39.6 3006
+-119.81 39.6 3017
+-119.684 39.6 3066
+-119.558 39.6 3146
+-119.432 39.6 3209
+-119.306 39.6 3274
+-119.18 39.6 3329
+-119.054 39.6 3407
+-118.928 39.6 3444
+-118.802 39.6 3484
+-118.676 39.6 3528
+-118.55 39.6 3560
+-118.424 39.6 3593
+-118.298 39.6 3581
+-118.172 39.6 3609
+-118.046 39.6 3636
+-117.92 39.6 3641
+-117.794 39.6 3661
+-117.668 39.6 3672
+-117.542 39.6 3666
+-117.416 39.6 3673
+-117.29 39.6 3675
+-117.164 39.6 3674
+-117.038 39.6 3672
+-116.912 39.6 3667
+-116.786 39.6 3646
+-116.66 39.6 3624
+-116.534 39.6 3591
+-116.408 39.6 3557
+-116.282 39.6 3466
+-116.156 39.6 3422
+-116.03 39.6 3410
+-115.904 39.6 3347
+-115.778 39.6 3311
+-115.652 39.6 3277
+-115.526 39.6 3258
+-115.4 39.6 3262
+-115.274 39.6 3223
+-115.148 39.6 3150
+-115.022 39.6 3105
+-114.896 39.6 3053
+-114.77 39.6 2965
+-114.644 39.6 2923
+-114.518 39.6 2923
+-114.392 39.6 2958
+-114.266 39.6 2944
+-114.14 39.6 2952
+-114.014 39.6 2955
+-113.888 39.6 2881
+-113.762 39.6 2880
+-113.636 39.6 2848
+-113.51 39.6 2823
+-113.384 39.6 2792
+-113.258 39.6 2788
+-113.132 39.6 2735
+-113.006 39.6 2648
+-112.88 39.6 2624
+-112.754 39.6 2515
+-112.628 39.6 2480
+-112.502 39.6 2409
+-112.376 39.6 2320
+-112.25 39.6 2252
+-112.124 39.6 2123
+-111.998 39.6 2055
+-111.872 39.6 1999
+-111.746 39.6 1888
+-111.62 39.6 1854
+-111.494 39.6 1862
+-111.368 39.6 1859
+-111.242 39.6 1868
+-111.116 39.6 1893
+-110.99 39.6 1865
+-110.864 39.6 1895
+-110.738 39.6 1927
+-110.612 39.6 1958
+-110.486 39.6 1988
+-110.36 39.6 1998
+-110.234 39.6 2027
+-110.108 39.6 1996
+-109.982 39.6 2019
+-109.856 39.6 2076
+-109.73 39.6 2096
+-109.604 39.6 2078
+-109.478 39.6 2058
+-109.352 39.6 2159
+-109.226 39.6 2175
+-109.1 39.6 2190
+-108.974 39.6 2140
+-108.848 39.6 2152
+-108.722 39.6 2147
+-108.596 39.6 2158
+-108.47 39.6 2169
+-108.344 39.6 2182
+-108.218 39.6 2192
+-108.092 39.6 2198
+-107.966 39.6 2206
+-107.84 39.6 2229
+-107.714 39.6 2223
+-107.588 39.6 2241
+-107.462 39.6 2291
+-107.336 39.6 2298
+-107.21 39.6 2305
+-107.084 39.6 2312
+-106.958 39.6 2319
+-106.832 39.6 2325
+-106.706 39.6 2331
+-106.58 39.6 2358
+-106.454 39.6 2364
+-106.328 39.6 2416
+-106.202 39.6 2422
+-106.076 39.6 2447
+-105.95 39.6 2453
+-105.824 39.6 2484
+-105.698 39.6 2574
+-105.572 39.6 2598
+-105.446 39.6 2604
+-105.32 39.6 2609
+-105.194 39.6 2481
+-105.068 39.6 2480
+-104.942 39.6 2523
+-104.816 39.6 2467
+-104.69 39.6 2483
+-104.564 39.6 2474
+-104.438 39.6 2491
+-104.312 39.6 2481
+-104.186 39.6 2470
+-104.06 39.6 2422
+-103.934 39.6 2316
+-103.808 39.6 2324
+-103.682 39.6 2312
+-103.556 39.6 2260
+-103.43 39.6 2224
+-103.304 39.6 2230
+-103.178 39.6 2260
+-103.052 39.6 2320
+-102.926 39.6 2334
+-102.8 39.6 2326
+-102.674 39.6 2362
+-102.548 39.6 2390
+-102.422 39.6 2404
+-102.296 39.6 2423
+-102.17 39.6 2423
+-102.044 39.6 2422
+-101.918 39.6 2421
+-101.792 39.6 2462
+-101.666 39.6 2505
+-101.54 39.6 2503
+-101.414 39.6 2501
+-101.288 39.6 2545
+-101.162 39.6 2636
+-101.036 39.6 2631
+-100.91 39.6 2627
+-100.784 39.6 2644
+-100.658 39.6 2640
+-100.532 39.6 2731
+-100.406 39.6 2727
+-100.28 39.6 2724
+-100.154 39.6 2720
+-100.028 39.6 2718
+-99.902 39.6 2716
+-99.776 39.6 2715
+-99.65 39.6 2768
+-99.524 39.6 2769
+-99.398 39.6 2798
+-99.272 39.6 2800
+-99.146 39.6 2803
+-99.02 39.6 2806
+-98.894 39.6 2825
+-98.768 39.6 2988
+-98.642 39.6 2992
+-98.516 39.6 2996
+-98.39 39.6 2998
+-98.264 39.6 2999
+-98.138 39.6 2997
+-98.012 39.6 3034
+-97.886 39.6 3043
+-97.76 39.6 3026
+-97.634 39.6 3003
+-97.508 39.6 2973
+-97.382 39.6 2951
+-97.256 39.6 2995
+-97.13 39.6 2934
+-97.004 39.6 2891
+-96.878 39.6 2890
+-96.752 39.6 2944
+-96.626 39.6 3064
+-96.5 39.6 3220
+-96.374 39.6 3410
+-96.248 39.6 3563
+-96.122 39.6 3716
+-95.996 39.6 3863
+-95.87 39.6 4014
+-95.744 39.6 4162
+-95.618 39.6 4257
+-95.492 39.6 4415
+-95.366 39.6 4464
+-95.24 39.6 4546
+-95.114 39.6 4644
+-94.988 39.6 4734
+-94.862 39.6 4758
+-94.736 39.6 4681
+-94.61 39.6 4793
+-94.484 39.6 5011
+-94.358 39.6 5180
+-94.232 39.6 5311
+-94.106 39.6 5472
+-93.98 39.6 5584
+-93.854 39.6 5618
+-93.728 39.6 5731
+-93.602 39.6 5885
+-93.476 39.6 6036
+-93.35 39.6 6128
+-93.224 39.6 6313
+-93.098 39.6 6473
+-92.972 39.6 6591
+-92.846 39.6 6724
+-92.72 39.6 6798
+-92.594 39.6 6883
+-92.468 39.6 7024
+-92.342 39.6 7126
+-92.216 39.6 7370
+-92.09 39.6 7421
+-91.964 39.6 7582
+-91.838 39.6 7726
+-91.712 39.6 7801
+-91.586 39.6 7920
+-91.46 39.6 8019
+-91.334 39.6 8107
+-91.208 39.6 8212
+-91.082 39.6 8293
+-90.956 39.6 8348
+-90.83 39.6 8467
+-90.704 39.6 8493
+-90.578 39.6 8537
+-90.452 39.6 8542
+-90.326 39.6 8513
+-90.2 39.6 8481
+-90.074 39.6 8450
+-89.948 39.6 8383
+-89.822 39.6 8310
+-89.696 39.6 8240
+-89.57 39.6 8160
+-89.444 39.6 8029
+-89.318 39.6 7899
+-89.192 39.6 7828
+-89.066 39.6 7683
+-88.94 39.6 7636
+-88.814 39.6 7506
+-88.688 39.6 7681
+-88.562 39.6 7663
+-88.436 39.6 7625
+-88.31 39.6 7591
+-88.184 39.6 7574
+-88.058 39.6 7524
+-87.932 39.6 7465
+-87.806 39.6 7379
+-87.68 39.6 7312
+-87.554 39.6 7239
+-87.428 39.6 7207
+-87.302 39.6 7108
+-87.176 39.6 7004
+-87.05 39.6 6899
+-86.924 39.6 6795
+-86.798 39.6 6705
+-86.672 39.6 6602
+-86.546 39.6 6494
+-86.42 39.6 6362
+-86.294 39.6 6224
+-86.168 39.6 6086
+-86.042 39.6 6044
+-85.916 39.6 5958
+-85.79 39.6 5875
+-85.664 39.6 5726
+-85.538 39.6 5547
+-85.412 39.6 5378
+-85.286 39.6 5366
+-85.16 39.6 5182
+-85.034 39.6 5047
+-84.908 39.6 5035
+-84.782 39.6 4919
+-84.656 39.6 4805
+-84.53 39.6 4640
+-84.404 39.6 4507
+-84.278 39.6 4399
+-84.152 39.6 4382
+-84.026 39.6 4263
+-83.9 39.6 4070
+-83.774 39.6 3905
+-83.648 39.6 3916
+-83.522 39.6 3871
+-83.396 39.6 3666
+-83.27 39.6 3312
+-83.144 39.6 3122
+-83.018 39.6 3249
+-82.892 39.6 3453
+-82.766 39.6 3612
+-82.64 39.6 3687
+-82.514 39.6 3733
+-82.388 39.6 3781
+-82.262 39.6 3816
+-82.136 39.6 3843
+-82.01 39.6 3864
+-81.884 39.6 3797
+-81.758 39.6 3808
+-81.632 39.6 3797
+-81.506 39.6 3818
+-81.38 39.6 3824
+-81.254 39.6 3829
+-81.128 39.6 3748
+-81.002 39.6 3715
+-80.876 39.6 3718
+-80.75 39.6 3722
+-80.624 39.6 3677
+-80.498 39.6 3636
+-80.372 39.6 3583
+-80.246 39.6 3611
+-80.12 39.6 3613
+-79.994 39.6 3614
+-79.868 39.6 3615
+-79.742 39.6 3616
+-79.616 39.6 3562
+-79.49 39.6 3562
+-79.364 39.6 3562
+-79.238 39.6 3562
+-79.112 39.6 3562
+-78.986 39.6 3562
+-78.86 39.6 3562
+-78.734 39.6 3562
+-78.608 39.6 3562
+-78.482 39.6 3562
+-78.356 39.6 3537
+-78.23 39.6 3528
+-78.104 39.6 3528
+-77.978 39.6 3528
+-77.852 39.6 3529
+-77.726 39.6 3529
+-77.6 39.6 3513
+-77.474 39.6 3513
+-77.348 39.6 3513
+-77.222 39.6 3514
+-77.096 39.6 3514
+-76.97 39.6 3514
+-76.844 39.6 3514
+-76.718 39.6 3514
+-76.592 39.6 3514
+-76.466 39.6 3451
+-76.34 39.6 3451
+-76.214 39.6 3451
+-76.088 39.6 3452
+-75.962 39.6 3452
+-75.836 39.6 3453
+-75.71 39.6 3453
+-75.584 39.6 3453
+-75.458 39.6 3454
+-75.332 39.6 3454
+-75.206 39.6 3454
+-75.08 39.6 3455
+-74.954 39.6 3455
+-74.828 39.6 3384
+-74.702 39.6 3384
+-74.576 39.6 3384
+-74.45 39.6 3383
+-74.324 39.6 3383
+-74.198 39.6 3382
+-74.072 39.6 3382
+-73.946 39.6 3382
+-73.82 39.6 3381
+-73.694 39.6 3381
+-73.568 39.6 3381
+-73.442 39.6 3380
+-73.316 39.6 3380
+-73.19 39.6 3380
+-73.064 39.6 3379
+-72.938 39.6 3379
+-72.812 39.6 3379
+-72.686 39.6 3378
+-72.56 39.6 3378
+-72.434 39.6 3378
+-72.308 39.6 3378
+-72.182 39.6 3377
+-72.056 39.6 3377
+-71.93 39.6 3377
+-71.804 39.6 3377
+-71.678 39.6 3070
+-71.552 39.6 3070
+-71.426 39.6 3069
+-71.3 39.6 3068
+-71.174 39.6 3067
+-71.048 39.6 3066
+-70.922 39.6 3065
+-70.796 39.6 3064
+-70.67 39.6 3063
+-70.544 39.6 3063
+-70.418 39.6 3062
+-70.292 39.6 3061
+-70.166 39.6 3060
+-70.04 39.6 3059
+-69.914 39.6 3059
+-69.788 39.6 3058
+-69.662 39.6 3057
+-69.536 39.6 3057
+-69.41 39.6 2930
+-69.284 39.6 2930
+-69.158 39.6 2899
+-69.032 39.6 2851
+-68.906 39.6 2851
+-68.78 39.6 2850
+-68.654 39.6 2865
+-68.528 39.6 2864
+-68.402 39.6 2875
+-68.276 39.6 2874
+-68.15 39.6 2833
+-68.024 39.6 2794
+-67.898 39.6 2794
+-67.772 39.6 2794
+-67.646 39.6 2793
+-67.52 39.6 2813
+-67.394 39.6 2819
+-67.268 39.6 2828
+-67.142 39.6 2826
+-67.016 39.6 2865
+-66.89 39.6 2877
+-66.764 39.6 2878
+-66.638 39.6 2939
+-66.512 39.6 2962
+-66.386 39.6 2937
+-66.26 39.6 2925
+-66.134 39.6 3088
+-66.008 39.6 3089
+-65.882 39.6 3157
+-65.756 39.6 3158
+-65.63 39.6 3159
+-65.504 39.6 3161
+-65.378 39.6 3162
+-65.252 39.6 3066
+-65.126 39.6 3088
+-128 39.548 2509
+-127.874 39.548 2506
+-127.748 39.548 2504
+-127.622 39.548 2501
+-127.496 39.548 2498
+-127.37 39.548 2473
+-127.244 39.548 2476
+-127.118 39.548 2474
+-126.992 39.548 2459
+-126.866 39.548 2455
+-126.74 39.548 2417
+-126.614 39.548 2414
+-126.488 39.548 2409
+-126.362 39.548 2386
+-126.236 39.548 2360
+-126.11 39.548 2346
+-125.984 39.548 2341
+-125.858 39.548 2326
+-125.732 39.548 2313
+-125.606 39.548 2307
+-125.48 39.548 2309
+-125.354 39.548 2313
+-125.228 39.548 2304
+-125.102 39.548 2297
+-124.976 39.548 2270
+-124.85 39.548 2272
+-124.724 39.548 2265
+-124.598 39.548 2261
+-124.472 39.548 2254
+-124.346 39.548 2238
+-124.22 39.548 2231
+-124.094 39.548 2224
+-123.968 39.548 2217
+-123.842 39.548 2237
+-123.716 39.548 2231
+-123.59 39.548 2225
+-123.464 39.548 2220
+-123.338 39.548 2220
+-123.212 39.548 2224
+-123.086 39.548 2246
+-122.96 39.548 2262
+-122.834 39.548 2293
+-122.708 39.548 2322
+-122.582 39.548 2374
+-122.456 39.548 2410
+-122.33 39.548 2447
+-122.204 39.548 2469
+-122.078 39.548 2510
+-121.952 39.548 2541
+-121.826 39.548 2570
+-121.7 39.548 2593
+-121.574 39.548 2631
+-121.448 39.548 2662
+-121.322 39.548 2656
+-121.196 39.548 2637
+-121.07 39.548 2607
+-120.944 39.548 2593
+-120.818 39.548 2598
+-120.692 39.548 2658
+-120.566 39.548 2764
+-120.44 39.548 2860
+-120.314 39.548 2942
+-120.188 39.548 3013
+-120.062 39.548 3054
+-119.936 39.548 3079
+-119.81 39.548 3121
+-119.684 39.548 3143
+-119.558 39.548 3225
+-119.432 39.548 3287
+-119.306 39.548 3337
+-119.18 39.548 3402
+-119.054 39.548 3468
+-118.928 39.548 3511
+-118.802 39.548 3570
+-118.676 39.548 3592
+-118.55 39.548 3628
+-118.424 39.548 3647
+-118.298 39.548 3665
+-118.172 39.548 3692
+-118.046 39.548 3730
+-117.92 39.548 3736
+-117.794 39.548 3736
+-117.668 39.548 3738
+-117.542 39.548 3743
+-117.416 39.548 3765
+-117.29 39.548 3739
+-117.164 39.548 3732
+-117.038 39.548 3713
+-116.912 39.548 3697
+-116.786 39.548 3703
+-116.66 39.548 3688
+-116.534 39.548 3672
+-116.408 39.548 3684
+-116.282 39.548 3601
+-116.156 39.548 3554
+-116.03 39.548 3515
+-115.904 39.548 3469
+-115.778 39.548 3384
+-115.652 39.548 3331
+-115.526 39.548 3287
+-115.4 39.548 3267
+-115.274 39.548 3254
+-115.148 39.548 3224
+-115.022 39.548 3180
+-114.896 39.548 3141
+-114.77 39.548 3107
+-114.644 39.548 3079
+-114.518 39.548 3061
+-114.392 39.548 3038
+-114.266 39.548 3052
+-114.14 39.548 3012
+-114.014 39.548 3011
+-113.888 39.548 3028
+-113.762 39.548 2957
+-113.636 39.548 2903
+-113.51 39.548 2878
+-113.384 39.548 2880
+-113.258 39.548 2836
+-113.132 39.548 2797
+-113.006 39.548 2745
+-112.88 39.548 2694
+-112.754 39.548 2622
+-112.628 39.548 2562
+-112.502 39.548 2524
+-112.376 39.548 2429
+-112.25 39.548 2362
+-112.124 39.548 2297
+-111.998 39.548 2196
+-111.872 39.548 2151
+-111.746 39.548 2079
+-111.62 39.548 2011
+-111.494 39.548 2026
+-111.368 39.548 2017
+-111.242 39.548 1989
+-111.116 39.548 1942
+-110.99 39.548 1957
+-110.864 39.548 1978
+-110.738 39.548 1999
+-110.612 39.548 2021
+-110.486 39.548 2024
+-110.36 39.548 2047
+-110.234 39.548 2069
+-110.108 39.548 2089
+-109.982 39.548 2145
+-109.856 39.548 2069
+-109.73 39.548 2085
+-109.604 39.548 2065
+-109.478 39.548 2163
+-109.352 39.548 2178
+-109.226 39.548 2193
+-109.1 39.548 2143
+-108.974 39.548 2155
+-108.848 39.548 2150
+-108.722 39.548 2161
+-108.596 39.548 2171
+-108.47 39.548 2184
+-108.344 39.548 2194
+-108.218 39.548 2200
+-108.092 39.548 2209
+-107.966 39.548 2231
+-107.84 39.548 2225
+-107.714 39.548 2243
+-107.588 39.548 2291
+-107.462 39.548 2299
+-107.336 39.548 2306
+-107.21 39.548 2313
+-107.084 39.548 2319
+-106.958 39.548 2325
+-106.832 39.548 2331
+-106.706 39.548 2358
+-106.58 39.548 2364
+-106.454 39.548 2414
+-106.328 39.548 2420
+-106.202 39.548 2446
+-106.076 39.548 2451
+-105.95 39.548 2482
+-105.824 39.548 2570
+-105.698 39.548 2594
+-105.572 39.548 2600
+-105.446 39.548 2606
+-105.32 39.548 2611
+-105.194 39.548 2616
+-105.068 39.548 2434
+-104.942 39.548 2587
+-104.816 39.548 2498
+-104.69 39.548 2490
+-104.564 39.548 2508
+-104.438 39.548 2499
+-104.312 39.548 2489
+-104.186 39.548 2443
+-104.06 39.548 2460
+-103.934 39.548 2325
+-103.808 39.548 2362
+-103.682 39.548 2322
+-103.556 39.548 2270
+-103.43 39.548 2234
+-103.304 39.548 2239
+-103.178 39.548 2236
+-103.052 39.548 2331
+-102.926 39.548 2344
+-102.8 39.548 2336
+-102.674 39.548 2335
+-102.548 39.548 2372
+-102.422 39.548 2401
+-102.296 39.548 2436
+-102.17 39.548 2436
+-102.044 39.548 2436
+-101.918 39.548 2436
+-101.792 39.548 2476
+-101.666 39.548 2521
+-101.54 39.548 2519
+-101.414 39.548 2619
+-101.288 39.548 2616
+-101.162 39.548 2653
+-101.036 39.548 2650
+-100.91 39.548 2646
+-100.784 39.548 2643
+-100.658 39.548 2757
+-100.532 39.548 2754
+-100.406 39.548 2751
+-100.28 39.548 2748
+-100.154 39.548 2746
+-100.028 39.548 2745
+-99.902 39.548 2744
+-99.776 39.548 2743
+-99.65 39.548 2826
+-99.524 39.548 2827
+-99.398 39.548 2829
+-99.272 39.548 2831
+-99.146 39.548 2834
+-99.02 39.548 2838
+-98.894 39.548 2842
+-98.768 39.548 2858
+-98.642 39.548 3019
+-98.516 39.548 3022
+-98.39 39.548 3024
+-98.264 39.548 3024
+-98.138 39.548 3022
+-98.012 39.548 3018
+-97.886 39.548 3023
+-97.76 39.548 3046
+-97.634 39.548 3027
+-97.508 39.548 3090
+-97.382 39.548 3047
+-97.256 39.548 3017
+-97.13 39.548 3008
+-97.004 39.548 2973
+-96.878 39.548 2962
+-96.752 39.548 2991
+-96.626 39.548 3092
+-96.5 39.548 3222
+-96.374 39.548 3397
+-96.248 39.548 3592
+-96.122 39.548 3773
+-95.996 39.548 3904
+-95.87 39.548 4061
+-95.744 39.548 4146
+-95.618 39.548 4241
+-95.492 39.548 4367
+-95.366 39.548 4475
+-95.24 39.548 4527
+-95.114 39.548 4620
+-94.988 39.548 4686
+-94.862 39.548 4758
+-94.736 39.548 4792
+-94.61 39.548 4907
+-94.484 39.548 5069
+-94.358 39.548 5212
+-94.232 39.548 5331
+-94.106 39.548 5474
+-93.98 39.548 5587
+-93.854 39.548 5651
+-93.728 39.548 5779
+-93.602 39.548 5885
+-93.476 39.548 6011
+-93.35 39.548 6173
+-93.224 39.548 6338
+-93.098 39.548 6503
+-92.972 39.548 6574
+-92.846 39.548 6740
+-92.72 39.548 6799
+-92.594 39.548 6951
+-92.468 39.548 7069
+-92.342 39.548 7169
+-92.216 39.548 7303
+-92.09 39.548 7478
+-91.964 39.548 7622
+-91.838 39.548 7723
+-91.712 39.548 7801
+-91.586 39.548 7931
+-91.46 39.548 8057
+-91.334 39.548 8182
+-91.208 39.548 8262
+-91.082 39.548 8333
+-90.956 39.548 8427
+-90.83 39.548 8497
+-90.704 39.548 8532
+-90.578 39.548 8556
+-90.452 39.548 8589
+-90.326 39.548 8547
+-90.2 39.548 8570
+-90.074 39.548 8468
+-89.948 39.548 8438
+-89.822 39.548 8321
+-89.696 39.548 8239
+-89.57 39.548 8170
+-89.444 39.548 8058
+-89.318 39.548 7925
+-89.192 39.548 7865
+-89.066 39.548 7718
+-88.94 39.548 7639
+-88.814 39.548 7485
+-88.688 39.548 7724
+-88.562 39.548 7683
+-88.436 39.548 7703
+-88.31 39.548 7652
+-88.184 39.548 7643
+-88.058 39.548 7569
+-87.932 39.548 7489
+-87.806 39.548 7421
+-87.68 39.548 7366
+-87.554 39.548 7313
+-87.428 39.548 7229
+-87.302 39.548 7101
+-87.176 39.548 7072
+-87.05 39.548 6943
+-86.924 39.548 6829
+-86.798 39.548 6691
+-86.672 39.548 6579
+-86.546 39.548 6515
+-86.42 39.548 6417
+-86.294 39.548 6254
+-86.168 39.548 6170
+-86.042 39.548 6037
+-85.916 39.548 5901
+-85.79 39.548 5883
+-85.664 39.548 5724
+-85.538 39.548 5607
+-85.412 39.548 5481
+-85.286 39.548 5374
+-85.16 39.548 5231
+-85.034 39.548 5112
+-84.908 39.548 5017
+-84.782 39.548 4910
+-84.656 39.548 4816
+-84.53 39.548 4655
+-84.404 39.548 4553
+-84.278 39.548 4480
+-84.152 39.548 4392
+-84.026 39.548 4311
+-83.9 39.548 4214
+-83.774 39.548 4126
+-83.648 39.548 4054
+-83.522 39.548 3947
+-83.396 39.548 3741
+-83.27 39.548 3450
+-83.144 39.548 3285
+-83.018 39.548 3354
+-82.892 39.548 3514
+-82.766 39.548 3655
+-82.64 39.548 3754
+-82.514 39.548 3800
+-82.388 39.548 3802
+-82.262 39.548 3835
+-82.136 39.548 3859
+-82.01 39.548 3877
+-81.884 39.548 3839
+-81.758 39.548 3844
+-81.632 39.548 3853
+-81.506 39.548 3860
+-81.38 39.548 3867
+-81.254 39.548 3754
+-81.128 39.548 3758
+-81.002 39.548 3762
+-80.876 39.548 3756
+-80.75 39.548 3683
+-80.624 39.548 3641
+-80.498 39.548 3630
+-80.372 39.548 3615
+-80.246 39.548 3617
+-80.12 39.548 3618
+-79.994 39.548 3619
+-79.868 39.548 3620
+-79.742 39.548 3565
+-79.616 39.548 3565
+-79.49 39.548 3564
+-79.364 39.548 3564
+-79.238 39.548 3564
+-79.112 39.548 3564
+-78.986 39.548 3564
+-78.86 39.548 3563
+-78.734 39.548 3563
+-78.608 39.548 3563
+-78.482 39.548 3539
+-78.356 39.548 3529
+-78.23 39.548 3529
+-78.104 39.548 3530
+-77.978 39.548 3530
+-77.852 39.548 3530
+-77.726 39.548 3514
+-77.6 39.548 3514
+-77.474 39.548 3514
+-77.348 39.548 3514
+-77.222 39.548 3514
+-77.096 39.548 3515
+-76.97 39.548 3515
+-76.844 39.548 3515
+-76.718 39.548 3515
+-76.592 39.548 3451
+-76.466 39.548 3451
+-76.34 39.548 3452
+-76.214 39.548 3452
+-76.088 39.548 3452
+-75.962 39.548 3453
+-75.836 39.548 3453
+-75.71 39.548 3453
+-75.584 39.548 3454
+-75.458 39.548 3454
+-75.332 39.548 3454
+-75.206 39.548 3455
+-75.08 39.548 3455
+-74.954 39.548 3384
+-74.828 39.548 3384
+-74.702 39.548 3384
+-74.576 39.548 3383
+-74.45 39.548 3383
+-74.324 39.548 3382
+-74.198 39.548 3382
+-74.072 39.548 3382
+-73.946 39.548 3381
+-73.82 39.548 3381
+-73.694 39.548 3381
+-73.568 39.548 3380
+-73.442 39.548 3380
+-73.316 39.548 3379
+-73.19 39.548 3379
+-73.064 39.548 3379
+-72.938 39.548 3379
+-72.812 39.548 3378
+-72.686 39.548 3378
+-72.56 39.548 3378
+-72.434 39.548 3377
+-72.308 39.548 3377
+-72.182 39.548 3377
+-72.056 39.548 3377
+-71.93 39.548 3376
+-71.804 39.548 3071
+-71.678 39.548 3070
+-71.552 39.548 3069
+-71.426 39.548 3068
+-71.3 39.548 3067
+-71.174 39.548 3066
+-71.048 39.548 3065
+-70.922 39.548 3064
+-70.796 39.548 3063
+-70.67 39.548 3062
+-70.544 39.548 3062
+-70.418 39.548 3061
+-70.292 39.548 3060
+-70.166 39.548 3059
+-70.04 39.548 3059
+-69.914 39.548 3058
+-69.788 39.548 3057
+-69.662 39.548 3056
+-69.536 39.548 2930
+-69.41 39.548 2929
+-69.284 39.548 2899
+-69.158 39.548 2851
+-69.032 39.548 2850
+-68.906 39.548 2849
+-68.78 39.548 2864
+-68.654 39.548 2864
+-68.528 39.548 2875
+-68.402 39.548 2874
+-68.276 39.548 2833
+-68.15 39.548 2794
+-68.024 39.548 2793
+-67.898 39.548 2793
+-67.772 39.548 2793
+-67.646 39.548 2812
+-67.52 39.548 2818
+-67.394 39.548 2828
+-67.268 39.548 2825
+-67.142 39.548 2865
+-67.016 39.548 2876
+-66.89 39.548 2877
+-66.764 39.548 2938
+-66.638 39.548 2961
+-66.512 39.548 2936
+-66.386 39.548 2924
+-66.26 39.548 3086
+-66.134 39.548 3088
+-66.008 39.548 3156
+-65.882 39.548 3157
+-65.756 39.548 3158
+-65.63 39.548 3159
+-65.504 39.548 3160
+-65.378 39.548 3065
+-65.252 39.548 3087
+-65.126 39.548 3088
+-128 39.496 2507
+-127.874 39.496 2505
+-127.748 39.496 2502
+-127.622 39.496 2499
+-127.496 39.496 2474
+-127.37 39.496 2477
+-127.244 39.496 2474
+-127.118 39.496 2459
+-126.992 39.496 2455
+-126.866 39.496 2417
+-126.74 39.496 2413
+-126.614 39.496 2405
+-126.488 39.496 2386
+-126.362 39.496 2372
+-126.236 39.496 2347
+-126.11 39.496 2343
+-125.984 39.496 2333
+-125.858 39.496 2316
+-125.732 39.496 2311
+-125.606 39.496 2313
+-125.48 39.496 2329
+-125.354 39.496 2311
+-125.228 39.496 2305
+-125.102 39.496 2276
+-124.976 39.496 2282
+-124.85 39.496 2275
+-124.724 39.496 2267
+-124.598 39.496 2265
+-124.472 39.496 2251
+-124.346 39.496 2244
+-124.22 39.496 2238
+-124.094 39.496 2232
+-123.968 39.496 2256
+-123.842 39.496 2250
+-123.716 39.496 2245
+-123.59 39.496 2239
+-123.464 39.496 2239
+-123.338 39.496 2240
+-123.212 39.496 2246
+-123.086 39.496 2256
+-122.96 39.496 2284
+-122.834 39.496 2314
+-122.708 39.496 2361
+-122.582 39.496 2393
+-122.456 39.496 2427
+-122.33 39.496 2463
+-122.204 39.496 2499
+-122.078 39.496 2517
+-121.952 39.496 2583
+-121.826 39.496 2611
+-121.7 39.496 2644
+-121.574 39.496 2689
+-121.448 39.496 2706
+-121.322 39.496 2708
+-121.196 39.496 2722
+-121.07 39.496 2677
+-120.944 39.496 2695
+-120.818 39.496 2725
+-120.692 39.496 2786
+-120.566 39.496 2875
+-120.44 39.496 2948
+-120.314 39.496 3036
+-120.188 39.496 3089
+-120.062 39.496 3115
+-119.936 39.496 3139
+-119.81 39.496 3183
+-119.684 39.496 3222
+-119.558 39.496 3292
+-119.432 39.496 3349
+-119.306 39.496 3404
+-119.18 39.496 3483
+-119.054 39.496 3529
+-118.928 39.496 3576
+-118.802 39.496 3631
+-118.676 39.496 3645
+-118.55 39.496 3674
+-118.424 39.496 3704
+-118.298 39.496 3724
+-118.172 39.496 3766
+-118.046 39.496 3807
+-117.92 39.496 3816
+-117.794 39.496 3860
+-117.668 39.496 3855
+-117.542 39.496 3853
+-117.416 39.496 3863
+-117.29 39.496 3841
+-117.164 39.496 3805
+-117.038 39.496 3730
+-116.912 39.496 3690
+-116.786 39.496 3722
+-116.66 39.496 3751
+-116.534 39.496 3766
+-116.408 39.496 3760
+-116.282 39.496 3699
+-116.156 39.496 3667
+-116.03 39.496 3610
+-115.904 39.496 3537
+-115.778 39.496 3475
+-115.652 39.496 3414
+-115.526 39.496 3358
+-115.4 39.496 3328
+-115.274 39.496 3310
+-115.148 39.496 3284
+-115.022 39.496 3273
+-114.896 39.496 3248
+-114.77 39.496 3223
+-114.644 39.496 3206
+-114.518 39.496 3201
+-114.392 39.496 3181
+-114.266 39.496 3192
+-114.14 39.496 3151
+-114.014 39.496 3149
+-113.888 39.496 3105
+-113.762 39.496 3015
+-113.636 39.496 2994
+-113.51 39.496 2964
+-113.384 39.496 2926
+-113.258 39.496 2894
+-113.132 39.496 2888
+-113.006 39.496 2848
+-112.88 39.496 2804
+-112.754 39.496 2693
+-112.628 39.496 2665
+-112.502 39.496 2607
+-112.376 39.496 2521
+-112.25 39.496 2462
+-112.124 39.496 2398
+-111.998 39.496 2317
+-111.872 39.496 2299
+-111.746 39.496 2218
+-111.62 39.496 2224
+-111.494 39.496 2201
+-111.368 39.496 2096
+-111.242 39.496 2091
+-111.116 39.496 2033
+-110.99 39.496 2041
+-110.864 39.496 2052
+-110.738 39.496 2064
+-110.612 39.496 2060
+-110.486 39.496 2076
+-110.36 39.496 2092
+-110.234 39.496 2108
+-110.108 39.496 2160
+-109.982 39.496 2137
+-109.856 39.496 2152
+-109.73 39.496 2130
+-109.604 39.496 2087
+-109.478 39.496 2183
+-109.352 39.496 2196
+-109.226 39.496 2147
+-109.1 39.496 2196
+-108.974 39.496 2153
+-108.848 39.496 2164
+-108.722 39.496 2174
+-108.596 39.496 2186
+-108.47 39.496 2196
+-108.344 39.496 2202
+-108.218 39.496 2211
+-108.092 39.496 2273
+-107.966 39.496 2228
+-107.84 39.496 2286
+-107.714 39.496 2292
+-107.588 39.496 2299
+-107.462 39.496 2307
+-107.336 39.496 2313
+-107.21 39.496 2320
+-107.084 39.496 2326
+-106.958 39.496 2332
+-106.832 39.496 2401
+-106.706 39.496 2407
+-106.58 39.496 2413
+-106.454 39.496 2419
+-106.328 39.496 2444
+-106.202 39.496 2450
+-106.076 39.496 2480
+-105.95 39.496 2566
+-105.824 39.496 2590
+-105.698 39.496 2596
+-105.572 39.496 2602
+-105.446 39.496 2607
+-105.32 39.496 2613
+-105.194 39.496 2568
+-105.068 39.496 2592
+-104.942 39.496 2620
+-104.816 39.496 2617
+-104.69 39.496 2523
+-104.564 39.496 2515
+-104.438 39.496 2507
+-104.312 39.496 2461
+-104.186 39.496 2480
+-104.06 39.496 2470
+-103.934 39.496 2344
+-103.808 39.496 2372
+-103.682 39.496 2342
+-103.556 39.496 2283
+-103.43 39.496 2259
+-103.304 39.496 2248
+-103.178 39.496 2245
+-103.052 39.496 2307
+-102.926 39.496 2330
+-102.8 39.496 2346
+-102.674 39.496 2345
+-102.548 39.496 2345
+-102.422 39.496 2384
+-102.296 39.496 2449
+-102.17 39.496 2450
+-102.044 39.496 2450
+-101.918 39.496 2450
+-101.792 39.496 2490
+-101.666 39.496 2536
+-101.54 39.496 2637
+-101.414 39.496 2634
+-101.288 39.496 2631
+-101.162 39.496 2628
+-101.036 39.496 2710
+-100.91 39.496 2707
+-100.784 39.496 2704
+-100.658 39.496 2701
+-100.532 39.496 2775
+-100.406 39.496 2773
+-100.28 39.496 2772
+-100.154 39.496 2771
+-100.028 39.496 2770
+-99.902 39.496 2770
+-99.776 39.496 2852
+-99.65 39.496 2853
+-99.524 39.496 2855
+-99.398 39.496 2857
+-99.272 39.496 2860
+-99.146 39.496 2863
+-99.02 39.496 2867
+-98.894 39.496 2871
+-98.768 39.496 2885
+-98.642 39.496 2911
+-98.516 39.496 3046
+-98.39 39.496 3048
+-98.264 39.496 3048
+-98.138 39.496 3047
+-98.012 39.496 3043
+-97.886 39.496 3036
+-97.76 39.496 3040
+-97.634 39.496 3140
+-97.508 39.496 3106
+-97.382 39.496 3081
+-97.256 39.496 3034
+-97.13 39.496 2999
+-97.004 39.496 2966
+-96.878 39.496 2909
+-96.752 39.496 2904
+-96.626 39.496 3004
+-96.5 39.496 3174
+-96.374 39.496 3383
+-96.248 39.496 3598
+-96.122 39.496 3838
+-95.996 39.496 3965
+-95.87 39.496 4070
+-95.744 39.496 4147
+-95.618 39.496 4279
+-95.492 39.496 4381
+-95.366 39.496 4423
+-95.24 39.496 4488
+-95.114 39.496 4581
+-94.988 39.496 4617
+-94.862 39.496 4659
+-94.736 39.496 4780
+-94.61 39.496 4976
+-94.484 39.496 5125
+-94.358 39.496 5230
+-94.232 39.496 5263
+-94.106 39.496 5412
+-93.98 39.496 5546
+-93.854 39.496 5646
+-93.728 39.496 5804
+-93.602 39.496 5944
+-93.476 39.496 6034
+-93.35 39.496 6244
+-93.224 39.496 6293
+-93.098 39.496 6495
+-92.972 39.496 6640
+-92.846 39.496 6704
+-92.72 39.496 6878
+-92.594 39.496 6964
+-92.468 39.496 7035
+-92.342 39.496 7174
+-92.216 39.496 7339
+-92.09 39.496 7495
+-91.964 39.496 7582
+-91.838 39.496 7717
+-91.712 39.496 7855
+-91.586 39.496 7909
+-91.46 39.496 8084
+-91.334 39.496 8179
+-91.208 39.496 8336
+-91.082 39.496 8362
+-90.956 39.496 8465
+-90.83 39.496 8515
+-90.704 39.496 8590
+-90.578 39.496 8645
+-90.452 39.496 8634
+-90.326 39.496 8614
+-90.2 39.496 8565
+-90.074 39.496 8515
+-89.948 39.496 8479
+-89.822 39.496 8377
+-89.696 39.496 8308
+-89.57 39.496 8237
+-89.444 39.496 8142
+-89.318 39.496 7996
+-89.192 39.496 7920
+-89.066 39.496 7705
+-88.94 39.496 7637
+-88.814 39.496 7520
+-88.688 39.496 7790
+-88.562 39.496 7752
+-88.436 39.496 7749
+-88.31 39.496 7669
+-88.184 39.496 7667
+-88.058 39.496 7620
+-87.932 39.496 7562
+-87.806 39.496 7477
+-87.68 39.496 7420
+-87.554 39.496 7347
+-87.428 39.496 7246
+-87.302 39.496 7201
+-87.176 39.496 7105
+-87.05 39.496 6964
+-86.924 39.496 6900
+-86.798 39.496 6748
+-86.672 39.496 6645
+-86.546 39.496 6563
+-86.42 39.496 6415
+-86.294 39.496 6323
+-86.168 39.496 6244
+-86.042 39.496 6108
+-85.916 39.496 6016
+-85.79 39.496 5893
+-85.664 39.496 5755
+-85.538 39.496 5616
+-85.412 39.496 5505
+-85.286 39.496 5351
+-85.16 39.496 5253
+-85.034 39.496 5088
+-84.908 39.496 5029
+-84.782 39.496 4871
+-84.656 39.496 4815
+-84.53 39.496 4630
+-84.404 39.496 4515
+-84.278 39.496 4467
+-84.152 39.496 4400
+-84.026 39.496 4312
+-83.9 39.496 4263
+-83.774 39.496 4219
+-83.648 39.496 4151
+-83.522 39.496 4045
+-83.396 39.496 3876
+-83.27 39.496 3698
+-83.144 39.496 3585
+-83.018 39.496 3597
+-82.892 39.496 3646
+-82.766 39.496 3733
+-82.64 39.496 3805
+-82.514 39.496 3840
+-82.388 39.496 3883
+-82.262 39.496 3857
+-82.136 39.496 3879
+-82.01 39.496 3890
+-81.884 39.496 3847
+-81.758 39.496 3856
+-81.632 39.496 3864
+-81.506 39.496 3871
+-81.38 39.496 3876
+-81.254 39.496 3792
+-81.128 39.496 3797
+-81.002 39.496 3762
+-80.876 39.496 3722
+-80.75 39.496 3707
+-80.624 39.496 3654
+-80.498 39.496 3620
+-80.372 39.496 3621
+-80.246 39.496 3622
+-80.12 39.496 3623
+-79.994 39.496 3623
+-79.868 39.496 3568
+-79.742 39.496 3567
+-79.616 39.496 3567
+-79.49 39.496 3567
+-79.364 39.496 3566
+-79.238 39.496 3566
+-79.112 39.496 3566
+-78.986 39.496 3565
+-78.86 39.496 3565
+-78.734 39.496 3565
+-78.608 39.496 3540
+-78.482 39.496 3531
+-78.356 39.496 3531
+-78.23 39.496 3531
+-78.104 39.496 3531
+-77.978 39.496 3531
+-77.852 39.496 3531
+-77.726 39.496 3515
+-77.6 39.496 3515
+-77.474 39.496 3515
+-77.348 39.496 3515
+-77.222 39.496 3515
+-77.096 39.496 3515
+-76.97 39.496 3515
+-76.844 39.496 3515
+-76.718 39.496 3451
+-76.592 39.496 3451
+-76.466 39.496 3452
+-76.34 39.496 3452
+-76.214 39.496 3452
+-76.088 39.496 3453
+-75.962 39.496 3453
+-75.836 39.496 3453
+-75.71 39.496 3454
+-75.584 39.496 3454
+-75.458 39.496 3454
+-75.332 39.496 3455
+-75.206 39.496 3455
+-75.08 39.496 3385
+-74.954 39.496 3384
+-74.828 39.496 3384
+-74.702 39.496 3383
+-74.576 39.496 3383
+-74.45 39.496 3382
+-74.324 39.496 3382
+-74.198 39.496 3382
+-74.072 39.496 3381
+-73.946 39.496 3381
+-73.82 39.496 3380
+-73.694 39.496 3380
+-73.568 39.496 3380
+-73.442 39.496 3379
+-73.316 39.496 3379
+-73.19 39.496 3379
+-73.064 39.496 3378
+-72.938 39.496 3378
+-72.812 39.496 3378
+-72.686 39.496 3378
+-72.56 39.496 3377
+-72.434 39.496 3377
+-72.308 39.496 3377
+-72.182 39.496 3376
+-72.056 39.496 3376
+-71.93 39.496 3071
+-71.804 39.496 3070
+-71.678 39.496 3069
+-71.552 39.496 3068
+-71.426 39.496 3067
+-71.3 39.496 3066
+-71.174 39.496 3065
+-71.048 39.496 3064
+-70.922 39.496 3063
+-70.796 39.496 3062
+-70.67 39.496 3061
+-70.544 39.496 3061
+-70.418 39.496 3060
+-70.292 39.496 3059
+-70.166 39.496 3058
+-70.04 39.496 3058
+-69.914 39.496 3057
+-69.788 39.496 3056
+-69.662 39.496 2930
+-69.536 39.496 2929
+-69.41 39.496 2898
+-69.284 39.496 2851
+-69.158 39.496 2850
+-69.032 39.496 2849
+-68.906 39.496 2864
+-68.78 39.496 2863
+-68.654 39.496 2874
+-68.528 39.496 2873
+-68.402 39.496 2832
+-68.276 39.496 2793
+-68.15 39.496 2793
+-68.024 39.496 2793
+-67.898 39.496 2792
+-67.772 39.496 2812
+-67.646 39.496 2818
+-67.52 39.496 2827
+-67.394 39.496 2825
+-67.268 39.496 2864
+-67.142 39.496 2875
+-67.016 39.496 2876
+-66.89 39.496 2937
+-66.764 39.496 2960
+-66.638 39.496 2935
+-66.512 39.496 2923
+-66.386 39.496 3085
+-66.26 39.496 3086
+-66.134 39.496 3155
+-66.008 39.496 3156
+-65.882 39.496 3157
+-65.756 39.496 3158
+-65.63 39.496 3159
+-65.504 39.496 3064
+-65.378 39.496 3086
+-65.252 39.496 3087
+-65.126 39.496 3074
+-128 39.444 2506
+-127.874 39.444 2503
+-127.748 39.444 2500
+-127.622 39.444 2474
+-127.496 39.444 2478
+-127.37 39.444 2474
+-127.244 39.444 2459
+-127.118 39.444 2456
+-126.992 39.444 2417
+-126.866 39.444 2413
+-126.74 39.444 2406
+-126.614 39.444 2386
+-126.488 39.444 2374
+-126.362 39.444 2349
+-126.236 39.444 2345
+-126.11 39.444 2337
+-125.984 39.444 2319
+-125.858 39.444 2340
+-125.732 39.444 2334
+-125.606 39.444 2335
+-125.48 39.444 2318
+-125.354 39.444 2312
+-125.228 39.444 2294
+-125.102 39.444 2290
+-124.976 39.444 2283
+-124.85 39.444 2276
+-124.724 39.444 2275
+-124.598 39.444 2270
+-124.472 39.444 2264
+-124.346 39.444 2258
+-124.22 39.444 2278
+-124.094 39.444 2269
+-123.968 39.444 2263
+-123.842 39.444 2258
+-123.716 39.444 2252
+-123.59 39.444 2250
+-123.464 39.444 2249
+-123.338 39.444 2252
+-123.212 39.444 2257
+-123.086 39.444 2267
+-122.96 39.444 2297
+-122.834 39.444 2326
+-122.708 39.444 2371
+-122.582 39.444 2401
+-122.456 39.444 2435
+-122.33 39.444 2472
+-122.204 39.444 2491
+-122.078 39.444 2562
+-121.952 39.444 2597
+-121.826 39.444 2628
+-121.7 39.444 2696
+-121.574 39.444 2716
+-121.448 39.444 2729
+-121.322 39.444 2740
+-121.196 39.444 2786
+-121.07 39.444 2774
+-120.944 39.444 2812
+-120.818 39.444 2856
+-120.692 39.444 2916
+-120.566 39.444 2993
+-120.44 39.444 3045
+-120.314 39.444 3099
+-120.188 39.444 3137
+-120.062 39.444 3156
+-119.936 39.444 3161
+-119.81 39.444 3188
+-119.684 39.444 3273
+-119.558 39.444 3345
+-119.432 39.444 3404
+-119.306 39.444 3454
+-119.18 39.444 3523
+-119.054 39.444 3565
+-118.928 39.444 3616
+-118.802 39.444 3630
+-118.676 39.444 3655
+-118.55 39.444 3712
+-118.424 39.444 3757
+-118.298 39.444 3804
+-118.172 39.444 3851
+-118.046 39.444 3873
+-117.92 39.444 3901
+-117.794 39.444 3908
+-117.668 39.444 3920
+-117.542 39.444 3902
+-117.416 39.444 3887
+-117.29 39.444 3874
+-117.164 39.444 3845
+-117.038 39.444 3787
+-116.912 39.444 3741
+-116.786 39.444 3769
+-116.66 39.444 3804
+-116.534 39.444 3829
+-116.408 39.444 3841
+-116.282 39.444 3831
+-116.156 39.444 3760
+-116.03 39.444 3709
+-115.904 39.444 3665
+-115.778 39.444 3579
+-115.652 39.444 3524
+-115.526 39.444 3450
+-115.4 39.444 3413
+-115.274 39.444 3381
+-115.148 39.444 3369
+-115.022 39.444 3349
+-114.896 39.444 3328
+-114.77 39.444 3310
+-114.644 39.444 3295
+-114.518 39.444 3290
+-114.392 39.444 3288
+-114.266 39.444 3273
+-114.14 39.444 3284
+-114.014 39.444 3253
+-113.888 39.444 3244
+-113.762 39.444 3159
+-113.636 39.444 3104
+-113.51 39.444 3019
+-113.384 39.444 2983
+-113.258 39.444 2981
+-113.132 39.444 2948
+-113.006 39.444 2911
+-112.88 39.444 2870
+-112.754 39.444 2786
+-112.628 39.444 2737
+-112.502 39.444 2703
+-112.376 39.444 2650
+-112.25 39.444 2544
+-112.124 39.444 2482
+-111.998 39.444 2449
+-111.872 39.444 2402
+-111.746 39.444 2363
+-111.62 39.444 2332
+-111.494 39.444 2269
+-111.368 39.444 2251
+-111.242 39.444 2141
+-111.116 39.444 2114
+-110.99 39.444 2114
+-110.864 39.444 2116
+-110.738 39.444 2104
+-110.612 39.444 2113
+-110.486 39.444 2122
+-110.36 39.444 2132
+-110.234 39.444 2179
+-110.108 39.444 2153
+-109.982 39.444 2164
+-109.856 39.444 2139
+-109.73 39.444 2150
+-109.604 39.444 2141
+-109.478 39.444 2195
+-109.352 39.444 2207
+-109.226 39.444 2198
+-109.1 39.444 2156
+-108.974 39.444 2167
+-108.848 39.444 2177
+-108.722 39.444 2189
+-108.596 39.444 2198
+-108.47 39.444 2204
+-108.344 39.444 2213
+-108.218 39.444 2273
+-108.092 39.444 2230
+-107.966 39.444 2287
+-107.84 39.444 2293
+-107.714 39.444 2300
+-107.588 39.444 2307
+-107.462 39.444 2314
+-107.336 39.444 2321
+-107.21 39.444 2327
+-107.084 39.444 2332
+-106.958 39.444 2400
+-106.832 39.444 2406
+-106.706 39.444 2412
+-106.58 39.444 2417
+-106.454 39.444 2442
+-106.328 39.444 2448
+-106.202 39.444 2479
+-106.076 39.444 2562
+-105.95 39.444 2586
+-105.824 39.444 2592
+-105.698 39.444 2598
+-105.572 39.444 2603
+-105.446 39.444 2609
+-105.32 39.444 2565
+-105.194 39.444 2727
+-105.068 39.444 2755
+-104.942 39.444 2623
+-104.816 39.444 2638
+-104.69 39.444 2529
+-104.564 39.444 2522
+-104.438 39.444 2478
+-104.312 39.444 2498
+-104.186 39.444 2489
+-104.06 39.444 2489
+-103.934 39.444 2354
+-103.808 39.444 2389
+-103.682 39.444 2374
+-103.556 39.444 2317
+-103.43 39.444 2286
+-103.304 39.444 2300
+-103.178 39.444 2254
+-103.052 39.444 2318
+-102.926 39.444 2312
+-102.8 39.444 2338
+-102.674 39.444 2356
+-102.548 39.444 2355
+-102.422 39.444 2417
+-102.296 39.444 2427
+-102.17 39.444 2463
+-102.044 39.444 2463
+-101.918 39.444 2464
+-101.792 39.444 2503
+-101.666 39.444 2653
+-101.54 39.444 2650
+-101.414 39.444 2648
+-101.288 39.444 2646
+-101.162 39.444 2644
+-101.036 39.444 2727
+-100.91 39.444 2724
+-100.784 39.444 2722
+-100.658 39.444 2720
+-100.532 39.444 2718
+-100.406 39.444 2808
+-100.28 39.444 2807
+-100.154 39.444 2806
+-100.028 39.444 2806
+-99.902 39.444 2806
+-99.776 39.444 2813
+-99.65 39.444 2879
+-99.524 39.444 2881
+-99.398 39.444 2884
+-99.272 39.444 2887
+-99.146 39.444 2890
+-99.02 39.444 2894
+-98.894 39.444 2905
+-98.768 39.444 2933
+-98.642 39.444 2936
+-98.516 39.444 3059
+-98.39 39.444 3061
+-98.264 39.444 3062
+-98.138 39.444 3061
+-98.012 39.444 3058
+-97.886 39.444 3151
+-97.76 39.444 3130
+-97.634 39.444 3143
+-97.508 39.444 3134
+-97.382 39.444 3094
+-97.256 39.444 3052
+-97.13 39.444 2979
+-97.004 39.444 2894
+-96.878 39.444 2786
+-96.752 39.444 2726
+-96.626 39.444 2842
+-96.5 39.444 3107
+-96.374 39.444 3405
+-96.248 39.444 3649
+-96.122 39.444 3819
+-95.996 39.444 3933
+-95.87 39.444 4063
+-95.744 39.444 4126
+-95.618 39.444 4226
+-95.492 39.444 4324
+-95.366 39.444 4368
+-95.24 39.444 4409
+-95.114 39.444 4472
+-94.988 39.444 4565
+-94.862 39.444 4548
+-94.736 39.444 4725
+-94.61 39.444 4970
+-94.484 39.444 5156
+-94.358 39.444 5117
+-94.232 39.444 5317
+-94.106 39.444 5394
+-93.98 39.444 5524
+-93.854 39.444 5657
+-93.728 39.444 5803
+-93.602 39.444 5950
+-93.476 39.444 6116
+-93.35 39.444 6251
+-93.224 39.444 6372
+-93.098 39.444 6459
+-92.972 39.444 6600
+-92.846 39.444 6761
+-92.72 39.444 6837
+-92.594 39.444 6948
+-92.468 39.444 7143
+-92.342 39.444 7200
+-92.216 39.444 7408
+-92.09 39.444 7464
+-91.964 39.444 7565
+-91.838 39.444 7741
+-91.712 39.444 7902
+-91.586 39.444 8000
+-91.46 39.444 8147
+-91.334 39.444 8204
+-91.208 39.444 8327
+-91.082 39.444 8412
+-90.956 39.444 8565
+-90.83 39.444 8572
+-90.704 39.444 8651
+-90.578 39.444 8673
+-90.452 39.444 8688
+-90.326 39.444 8709
+-90.2 39.444 8626
+-90.074 39.444 8600
+-89.948 39.444 8528
+-89.822 39.444 8440
+-89.696 39.444 8362
+-89.57 39.444 8268
+-89.444 39.444 8145
+-89.318 39.444 8011
+-89.192 39.444 7902
+-89.066 39.444 7806
+-88.94 39.444 7656
+-88.814 39.444 7830
+-88.688 39.444 7853
+-88.562 39.444 7824
+-88.436 39.444 7829
+-88.31 39.444 7748
+-88.184 39.444 7735
+-88.058 39.444 7627
+-87.932 39.444 7596
+-87.806 39.444 7531
+-87.68 39.444 7494
+-87.554 39.444 7411
+-87.428 39.444 7325
+-87.302 39.444 7246
+-87.176 39.444 7122
+-87.05 39.444 6984
+-86.924 39.444 6892
+-86.798 39.444 6807
+-86.672 39.444 6714
+-86.546 39.444 6595
+-86.42 39.444 6526
+-86.294 39.444 6355
+-86.168 39.444 6228
+-86.042 39.444 6148
+-85.916 39.444 6028
+-85.79 39.444 5916
+-85.664 39.444 5780
+-85.538 39.444 5634
+-85.412 39.444 5564
+-85.286 39.444 5434
+-85.16 39.444 5256
+-85.034 39.444 5149
+-84.908 39.444 5075
+-84.782 39.444 4898
+-84.656 39.444 4784
+-84.53 39.444 4597
+-84.404 39.444 4420
+-84.278 39.444 4442
+-84.152 39.444 4332
+-84.026 39.444 4230
+-83.9 39.444 4231
+-83.774 39.444 4228
+-83.648 39.444 4188
+-83.522 39.444 4108
+-83.396 39.444 4013
+-83.27 39.444 3915
+-83.144 39.444 3817
+-83.018 39.444 3799
+-82.892 39.444 3781
+-82.766 39.444 3823
+-82.64 39.444 3866
+-82.514 39.444 3886
+-82.388 39.444 3918
+-82.262 39.444 3932
+-82.136 39.444 3918
+-82.01 39.444 3852
+-81.884 39.444 3861
+-81.758 39.444 3869
+-81.632 39.444 3876
+-81.506 39.444 3881
+-81.38 39.444 3799
+-81.254 39.444 3804
+-81.128 39.444 3768
+-81.002 39.444 3727
+-80.876 39.444 3712
+-80.75 39.444 3658
+-80.624 39.444 3658
+-80.498 39.444 3658
+-80.372 39.444 3627
+-80.246 39.444 3627
+-80.12 39.444 3627
+-79.994 39.444 3613
+-79.868 39.444 3613
+-79.742 39.444 3613
+-79.616 39.444 3613
+-79.49 39.444 3613
+-79.364 39.444 3613
+-79.238 39.444 3613
+-79.112 39.444 3613
+-78.986 39.444 3613
+-78.86 39.444 3614
+-78.734 39.444 3542
+-78.608 39.444 3532
+-78.482 39.444 3532
+-78.356 39.444 3532
+-78.23 39.444 3532
+-78.104 39.444 3532
+-77.978 39.444 3517
+-77.852 39.444 3516
+-77.726 39.444 3516
+-77.6 39.444 3516
+-77.474 39.444 3516
+-77.348 39.444 3516
+-77.222 39.444 3516
+-77.096 39.444 3516
+-76.97 39.444 3516
+-76.844 39.444 3451
+-76.718 39.444 3451
+-76.592 39.444 3452
+-76.466 39.444 3452
+-76.34 39.444 3453
+-76.214 39.444 3453
+-76.088 39.444 3453
+-75.962 39.444 3454
+-75.836 39.444 3454
+-75.71 39.444 3454
+-75.584 39.444 3455
+-75.458 39.444 3455
+-75.332 39.444 3455
+-75.206 39.444 3385
+-75.08 39.444 3384
+-74.954 39.444 3384
+-74.828 39.444 3383
+-74.702 39.444 3383
+-74.576 39.444 3382
+-74.45 39.444 3382
+-74.324 39.444 3382
+-74.198 39.444 3381
+-74.072 39.444 3381
+-73.946 39.444 3380
+-73.82 39.444 3380
+-73.694 39.444 3380
+-73.568 39.444 3379
+-73.442 39.444 3379
+-73.316 39.444 3379
+-73.19 39.444 3378
+-73.064 39.444 3378
+-72.938 39.444 3378
+-72.812 39.444 3377
+-72.686 39.444 3377
+-72.56 39.444 3377
+-72.434 39.444 3377
+-72.308 39.444 3376
+-72.182 39.444 3376
+-72.056 39.444 3071
+-71.93 39.444 3070
+-71.804 39.444 3069
+-71.678 39.444 3068
+-71.552 39.444 3067
+-71.426 39.444 3066
+-71.3 39.444 3065
+-71.174 39.444 3064
+-71.048 39.444 3063
+-70.922 39.444 3062
+-70.796 39.444 3061
+-70.67 39.444 3060
+-70.544 39.444 3060
+-70.418 39.444 3059
+-70.292 39.444 3058
+-70.166 39.444 3057
+-70.04 39.444 3057
+-69.914 39.444 3056
+-69.788 39.444 2930
+-69.662 39.444 2929
+-69.536 39.444 2898
+-69.41 39.444 2851
+-69.284 39.444 2850
+-69.158 39.444 2849
+-69.032 39.444 2864
+-68.906 39.444 2863
+-68.78 39.444 2874
+-68.654 39.444 2873
+-68.528 39.444 2832
+-68.402 39.444 2793
+-68.276 39.444 2792
+-68.15 39.444 2792
+-68.024 39.444 2792
+-67.898 39.444 2811
+-67.772 39.444 2817
+-67.646 39.444 2826
+-67.52 39.444 2824
+-67.394 39.444 2863
+-67.268 39.444 2874
+-67.142 39.444 2875
+-67.016 39.444 2936
+-66.89 39.444 2959
+-66.764 39.444 2934
+-66.638 39.444 2922
+-66.512 39.444 3084
+-66.386 39.444 3085
+-66.26 39.444 3154
+-66.134 39.444 3155
+-66.008 39.444 3156
+-65.882 39.444 3157
+-65.756 39.444 3158
+-65.63 39.444 3063
+-65.504 39.444 3085
+-65.378 39.444 3086
+-65.252 39.444 3073
+-65.126 39.444 3372
+-128 39.392 2504
+-127.874 39.392 2500
+-127.748 39.392 2475
+-127.622 39.392 2478
+-127.496 39.392 2475
+-127.37 39.392 2462
+-127.244 39.392 2458
+-127.118 39.392 2417
+-126.992 39.392 2413
+-126.866 39.392 2408
+-126.74 39.392 2393
+-126.614 39.392 2376
+-126.488 39.392 2351
+-126.362 39.392 2347
+-126.236 39.392 2342
+-126.11 39.392 2322
+-125.984 39.392 2345
+-125.858 39.392 2339
+-125.732 39.392 2341
+-125.606 39.392 2324
+-125.48 39.392 2319
+-125.354 39.392 2301
+-125.228 39.392 2297
+-125.102 39.392 2291
+-124.976 39.392 2285
+-124.85 39.392 2283
+-124.724 39.392 2281
+-124.598 39.392 2275
+-124.472 39.392 2269
+-124.346 39.392 2290
+-124.22 39.392 2282
+-124.094 39.392 2274
+-123.968 39.392 2267
+-123.842 39.392 2260
+-123.716 39.392 2256
+-123.59 39.392 2253
+-123.464 39.392 2252
+-123.338 39.392 2253
+-123.212 39.392 2258
+-123.086 39.392 2283
+-122.96 39.392 2296
+-122.834 39.392 2314
+-122.708 39.392 2348
+-122.582 39.392 2398
+-122.456 39.392 2434
+-122.33 39.392 2453
+-122.204 39.392 2527
+-122.078 39.392 2568
+-121.952 39.392 2607
+-121.826 39.392 2682
+-121.7 39.392 2716
+-121.574 39.392 2740
+-121.448 39.392 2796
+-121.322 39.392 2813
+-121.196 39.392 2828
+-121.07 39.392 2842
+-120.944 39.392 2877
+-120.818 39.392 2961
+-120.692 39.392 3024
+-120.566 39.392 3060
+-120.44 39.392 3110
+-120.314 39.392 3144
+-120.188 39.392 3169
+-120.062 39.392 3164
+-119.936 39.392 3146
+-119.81 39.392 3187
+-119.684 39.392 3293
+-119.558 39.392 3394
+-119.432 39.392 3475
+-119.306 39.392 3520
+-119.18 39.392 3562
+-119.054 39.392 3599
+-118.928 39.392 3629
+-118.802 39.392 3610
+-118.676 39.392 3658
+-118.55 39.392 3745
+-118.424 39.392 3790
+-118.298 39.392 3851
+-118.172 39.392 3882
+-118.046 39.392 3908
+-117.92 39.392 3956
+-117.794 39.392 3972
+-117.668 39.392 3991
+-117.542 39.392 3974
+-117.416 39.392 3944
+-117.29 39.392 3904
+-117.164 39.392 3885
+-117.038 39.392 3880
+-116.912 39.392 3862
+-116.786 39.392 3867
+-116.66 39.392 3897
+-116.534 39.392 3903
+-116.408 39.392 3889
+-116.282 39.392 3884
+-116.156 39.392 3831
+-116.03 39.392 3793
+-115.904 39.392 3733
+-115.778 39.392 3689
+-115.652 39.392 3642
+-115.526 39.392 3593
+-115.4 39.392 3557
+-115.274 39.392 3506
+-115.148 39.392 3480
+-115.022 39.392 3456
+-114.896 39.392 3400
+-114.77 39.392 3380
+-114.644 39.392 3368
+-114.518 39.392 3358
+-114.392 39.392 3333
+-114.266 39.392 3336
+-114.14 39.392 3328
+-114.014 39.392 3356
+-113.888 39.392 3295
+-113.762 39.392 3212
+-113.636 39.392 3194
+-113.51 39.392 3162
+-113.384 39.392 3075
+-113.258 39.392 3037
+-113.132 39.392 3005
+-113.006 39.392 2970
+-112.88 39.392 2957
+-112.754 39.392 2849
+-112.628 39.392 2826
+-112.502 39.392 2779
+-112.376 39.392 2674
+-112.25 39.392 2612
+-112.124 39.392 2585
+-111.998 39.392 2536
+-111.872 39.392 2495
+-111.746 39.392 2457
+-111.62 39.392 2382
+-111.494 39.392 2356
+-111.368 39.392 2291
+-111.242 39.392 2275
+-111.116 39.392 2242
+-110.99 39.392 2176
+-110.864 39.392 2172
+-110.738 39.392 2194
+-110.612 39.392 2159
+-110.486 39.392 2197
+-110.36 39.392 2204
+-110.234 39.392 2171
+-110.108 39.392 2178
+-109.982 39.392 2150
+-109.856 39.392 2158
+-109.73 39.392 2147
+-109.604 39.392 2199
+-109.478 39.392 2209
+-109.352 39.392 2200
+-109.226 39.392 2210
+-109.1 39.392 2219
+-108.974 39.392 2229
+-108.848 39.392 2188
+-108.722 39.392 2200
+-108.596 39.392 2206
+-108.47 39.392 2215
+-108.344 39.392 2274
+-108.218 39.392 2232
+-108.092 39.392 2287
+-107.966 39.392 2293
+-107.84 39.392 2301
+-107.714 39.392 2308
+-107.588 39.392 2315
+-107.462 39.392 2321
+-107.336 39.392 2327
+-107.21 39.392 2333
+-107.084 39.392 2398
+-106.958 39.392 2404
+-106.832 39.392 2410
+-106.706 39.392 2416
+-106.58 39.392 2440
+-106.454 39.392 2446
+-106.328 39.392 2476
+-106.202 39.392 2557
+-106.076 39.392 2581
+-105.95 39.392 2587
+-105.824 39.392 2593
+-105.698 39.392 2599
+-105.572 39.392 2605
+-105.446 39.392 2562
+-105.32 39.392 2721
+-105.194 39.392 2748
+-105.068 39.392 2753
+-104.942 39.392 2625
+-104.816 39.392 2641
+-104.69 39.392 2638
+-104.564 39.392 2492
+-104.438 39.392 2513
+-104.312 39.392 2505
+-104.186 39.392 2507
+-104.06 39.392 2498
+-103.934 39.392 2366
+-103.808 39.392 2399
+-103.682 39.392 2384
+-103.556 39.392 2327
+-103.43 39.392 2297
+-103.304 39.392 2288
+-103.178 39.392 2325
+-103.052 39.392 2328
+-102.926 39.392 2323
+-102.8 39.392 2376
+-102.674 39.392 2377
+-102.548 39.392 2365
+-102.422 39.392 2427
+-102.296 39.392 2467
+-102.17 39.392 2469
+-102.044 39.392 2477
+-101.918 39.392 2551
+-101.792 39.392 2653
+-101.666 39.392 2665
+-101.54 39.392 2663
+-101.414 39.392 2662
+-101.288 39.392 2660
+-101.162 39.392 2745
+-101.036 39.392 2743
+-100.91 39.392 2741
+-100.784 39.392 2740
+-100.658 39.392 2738
+-100.532 39.392 2737
+-100.406 39.392 2736
+-100.28 39.392 2828
+-100.154 39.392 2828
+-100.028 39.392 2828
+-99.902 39.392 2829
+-99.776 39.392 2830
+-99.65 39.392 2838
+-99.524 39.392 2905
+-99.398 39.392 2908
+-99.272 39.392 2911
+-99.146 39.392 2914
+-99.02 39.392 2938
+-98.894 39.392 2941
+-98.768 39.392 2957
+-98.642 39.392 3077
+-98.516 39.392 3080
+-98.39 39.392 3083
+-98.264 39.392 3084
+-98.138 39.392 3084
+-98.012 39.392 3181
+-97.886 39.392 3166
+-97.76 39.392 3152
+-97.634 39.392 3130
+-97.508 39.392 3140
+-97.382 39.392 3121
+-97.256 39.392 3065
+-97.13 39.392 3001
+-97.004 39.392 2875
+-96.878 39.392 2710
+-96.752 39.392 2615
+-96.626 39.392 2756
+-96.5 39.392 3097
+-96.374 39.392 3450
+-96.248 39.392 3678
+-96.122 39.392 3826
+-95.996 39.392 3926
+-95.87 39.392 4004
+-95.744 39.392 4106
+-95.618 39.392 4192
+-95.492 39.392 4266
+-95.366 39.392 4298
+-95.24 39.392 4327
+-95.114 39.392 4371
+-94.988 39.392 4495
+-94.862 39.392 4620
+-94.736 39.392 4780
+-94.61 39.392 5009
+-94.484 39.392 5192
+-94.358 39.392 5275
+-94.232 39.392 5387
+-94.106 39.392 5408
+-93.98 39.392 5550
+-93.854 39.392 5682
+-93.728 39.392 5819
+-93.602 39.392 5998
+-93.476 39.392 6156
+-93.35 39.392 6257
+-93.224 39.392 6362
+-93.098 39.392 6460
+-92.972 39.392 6586
+-92.846 39.392 6791
+-92.72 39.392 6834
+-92.594 39.392 6977
+-92.468 39.392 7152
+-92.342 39.392 7223
+-92.216 39.392 7445
+-92.09 39.392 7568
+-91.964 39.392 7674
+-91.838 39.392 7797
+-91.712 39.392 7895
+-91.586 39.392 8047
+-91.46 39.392 8160
+-91.334 39.392 8299
+-91.208 39.392 8366
+-91.082 39.392 8441
+-90.956 39.392 8554
+-90.83 39.392 8631
+-90.704 39.392 8715
+-90.578 39.392 8746
+-90.452 39.392 8751
+-90.326 39.392 8723
+-90.2 39.392 8684
+-90.074 39.392 8672
+-89.948 39.392 8565
+-89.822 39.392 8482
+-89.696 39.392 8408
+-89.57 39.392 8309
+-89.444 39.392 8181
+-89.318 39.392 8046
+-89.192 39.392 7897
+-89.066 39.392 7791
+-88.94 39.392 7806
+-88.814 39.392 7912
+-88.688 39.392 7906
+-88.562 39.392 7875
+-88.436 39.392 7843
+-88.31 39.392 7802
+-88.184 39.392 7745
+-88.058 39.392 7704
+-87.932 39.392 7661
+-87.806 39.392 7583
+-87.68 39.392 7516
+-87.554 39.392 7415
+-87.428 39.392 7397
+-87.302 39.392 7222
+-87.176 39.392 7166
+-87.05 39.392 7078
+-86.924 39.392 6959
+-86.798 39.392 6843
+-86.672 39.392 6753
+-86.546 39.392 6647
+-86.42 39.392 6520
+-86.294 39.392 6403
+-86.168 39.392 6317
+-86.042 39.392 6207
+-85.916 39.392 6036
+-85.79 39.392 5881
+-85.664 39.392 5828
+-85.538 39.392 5692
+-85.412 39.392 5593
+-85.286 39.392 5462
+-85.16 39.392 5255
+-85.034 39.392 5103
+-84.908 39.392 5072
+-84.782 39.392 4890
+-84.656 39.392 4785
+-84.53 39.392 4641
+-84.404 39.392 4528
+-84.278 39.392 4434
+-84.152 39.392 4279
+-84.026 39.392 4058
+-83.9 39.392 4178
+-83.774 39.392 4207
+-83.648 39.392 4205
+-83.522 39.392 4159
+-83.396 39.392 4111
+-83.27 39.392 4039
+-83.144 39.392 3991
+-83.018 39.392 3939
+-82.892 39.392 3914
+-82.766 39.392 3918
+-82.64 39.392 3936
+-82.514 39.392 3935
+-82.388 39.392 3945
+-82.262 39.392 3944
+-82.136 39.392 3958
+-82.01 39.392 3970
+-81.884 39.392 3876
+-81.758 39.392 3882
+-81.632 39.392 3887
+-81.506 39.392 3892
+-81.38 39.392 3881
+-81.254 39.392 3798
+-81.128 39.392 3757
+-81.002 39.392 3719
+-80.876 39.392 3663
+-80.75 39.392 3663
+-80.624 39.392 3663
+-80.498 39.392 3662
+-80.372 39.392 3662
+-80.246 39.392 3632
+-80.12 39.392 3616
+-79.994 39.392 3616
+-79.868 39.392 3616
+-79.742 39.392 3615
+-79.616 39.392 3615
+-79.49 39.392 3615
+-79.364 39.392 3615
+-79.238 39.392 3615
+-79.112 39.392 3615
+-78.986 39.392 3615
+-78.86 39.392 3544
+-78.734 39.392 3534
+-78.608 39.392 3534
+-78.482 39.392 3534
+-78.356 39.392 3534
+-78.23 39.392 3534
+-78.104 39.392 3534
+-77.978 39.392 3517
+-77.852 39.392 3517
+-77.726 39.392 3517
+-77.6 39.392 3517
+-77.474 39.392 3517
+-77.348 39.392 3517
+-77.222 39.392 3517
+-77.096 39.392 3517
+-76.97 39.392 3451
+-76.844 39.392 3452
+-76.718 39.392 3452
+-76.592 39.392 3452
+-76.466 39.392 3453
+-76.34 39.392 3453
+-76.214 39.392 3453
+-76.088 39.392 3454
+-75.962 39.392 3454
+-75.836 39.392 3454
+-75.71 39.392 3455
+-75.584 39.392 3455
+-75.458 39.392 3455
+-75.332 39.392 3385
+-75.206 39.392 3384
+-75.08 39.392 3384
+-74.954 39.392 3383
+-74.828 39.392 3383
+-74.702 39.392 3382
+-74.576 39.392 3382
+-74.45 39.392 3382
+-74.324 39.392 3381
+-74.198 39.392 3381
+-74.072 39.392 3380
+-73.946 39.392 3380
+-73.82 39.392 3380
+-73.694 39.392 3379
+-73.568 39.392 3379
+-73.442 39.392 3379
+-73.316 39.392 3378
+-73.19 39.392 3378
+-73.064 39.392 3378
+-72.938 39.392 3377
+-72.812 39.392 3377
+-72.686 39.392 3377
+-72.56 39.392 3376
+-72.434 39.392 3376
+-72.308 39.392 3376
+-72.182 39.392 3071
+-72.056 39.392 3069
+-71.93 39.392 3068
+-71.804 39.392 3067
+-71.678 39.392 3067
+-71.552 39.392 3066
+-71.426 39.392 3065
+-71.3 39.392 3064
+-71.174 39.392 3063
+-71.048 39.392 3062
+-70.922 39.392 3061
+-70.796 39.392 3060
+-70.67 39.392 3059
+-70.544 39.392 3059
+-70.418 39.392 3058
+-70.292 39.392 3057
+-70.166 39.392 3056
+-70.04 39.392 3056
+-69.914 39.392 2929
+-69.788 39.392 2928
+-69.662 39.392 2898
+-69.536 39.392 2850
+-69.41 39.392 2849
+-69.284 39.392 2848
+-69.158 39.392 2863
+-69.032 39.392 2862
+-68.906 39.392 2873
+-68.78 39.392 2873
+-68.654 39.392 2832
+-68.528 39.392 2792
+-68.402 39.392 2792
+-68.276 39.392 2791
+-68.15 39.392 2791
+-68.024 39.392 2810
+-67.898 39.392 2816
+-67.772 39.392 2826
+-67.646 39.392 2824
+-67.52 39.392 2862
+-67.394 39.392 2873
+-67.268 39.392 2874
+-67.142 39.392 2935
+-67.016 39.392 2958
+-66.89 39.392 2933
+-66.764 39.392 2921
+-66.638 39.392 3083
+-66.512 39.392 3084
+-66.386 39.392 3153
+-66.26 39.392 3154
+-66.134 39.392 3155
+-66.008 39.392 3156
+-65.882 39.392 3157
+-65.756 39.392 3062
+-65.63 39.392 3084
+-65.504 39.392 3085
+-65.378 39.392 3072
+-65.252 39.392 3371
+-65.126 39.392 3404
+-128 39.34 2476
+-127.874 39.34 2473
+-127.748 39.34 2448
+-127.622 39.34 2445
+-127.496 39.34 2464
+-127.37 39.34 2461
+-127.244 39.34 2417
+-127.118 39.34 2413
+-126.992 39.34 2399
+-126.866 39.34 2396
+-126.74 39.34 2386
+-126.614 39.34 2353
+-126.488 39.34 2349
+-126.362 39.34 2346
+-126.236 39.34 2325
+-126.11 39.34 2350
+-125.984 39.34 2345
+-125.858 39.34 2347
+-125.732 39.34 2330
+-125.606 39.34 2325
+-125.48 39.34 2308
+-125.354 39.34 2304
+-125.228 39.34 2298
+-125.102 39.34 2298
+-124.976 39.34 2291
+-124.85 39.34 2288
+-124.724 39.34 2284
+-124.598 39.34 2278
+-124.472 39.34 2300
+-124.346 39.34 2292
+-124.22 39.34 2283
+-124.094 39.34 2274
+-123.968 39.34 2277
+-123.842 39.34 2270
+-123.716 39.34 2254
+-123.59 39.34 2249
+-123.464 39.34 2246
+-123.338 39.34 2262
+-123.212 39.34 2266
+-123.086 39.34 2272
+-122.96 39.34 2283
+-122.834 39.34 2310
+-122.708 39.34 2335
+-122.582 39.34 2365
+-122.456 39.34 2449
+-122.33 39.34 2492
+-122.204 39.34 2523
+-122.078 39.34 2569
+-121.952 39.34 2651
+-121.826 39.34 2692
+-121.7 39.34 2730
+-121.574 39.34 2792
+-121.448 39.34 2820
+-121.322 39.34 2844
+-121.196 39.34 2867
+-121.07 39.34 2890
+-120.944 39.34 2932
+-120.818 39.34 2995
+-120.692 39.34 3059
+-120.566 39.34 3118
+-120.44 39.34 3150
+-120.314 39.34 3187
+-120.188 39.34 3199
+-120.062 39.34 3195
+-119.936 39.34 3188
+-119.81 39.34 3240
+-119.684 39.34 3359
+-119.558 39.34 3452
+-119.432 39.34 3514
+-119.306 39.34 3532
+-119.18 39.34 3567
+-119.054 39.34 3631
+-118.928 39.34 3669
+-118.802 39.34 3667
+-118.676 39.34 3726
+-118.55 39.34 3802
+-118.424 39.34 3833
+-118.298 39.34 3878
+-118.172 39.34 3932
+-118.046 39.34 3985
+-117.92 39.34 4024
+-117.794 39.34 4049
+-117.668 39.34 4047
+-117.542 39.34 4024
+-117.416 39.34 3980
+-117.29 39.34 3916
+-117.164 39.34 3873
+-117.038 39.34 3908
+-116.912 39.34 3942
+-116.786 39.34 3966
+-116.66 39.34 3956
+-116.534 39.34 3972
+-116.408 39.34 3958
+-116.282 39.34 3948
+-116.156 39.34 3939
+-116.03 39.34 3879
+-115.904 39.34 3826
+-115.778 39.34 3785
+-115.652 39.34 3738
+-115.526 39.34 3697
+-115.4 39.34 3661
+-115.274 39.34 3641
+-115.148 39.34 3609
+-115.022 39.34 3577
+-114.896 39.34 3489
+-114.77 39.34 3464
+-114.644 39.34 3433
+-114.518 39.34 3425
+-114.392 39.34 3384
+-114.266 39.34 3391
+-114.14 39.34 3395
+-114.014 39.34 3397
+-113.888 39.34 3387
+-113.762 39.34 3317
+-113.636 39.34 3309
+-113.51 39.34 3209
+-113.384 39.34 3195
+-113.258 39.34 3172
+-113.132 39.34 3101
+-113.006 39.34 3070
+-112.88 39.34 3013
+-112.754 39.34 3009
+-112.628 39.34 2892
+-112.502 39.34 2789
+-112.376 39.34 2729
+-112.25 39.34 2707
+-112.124 39.34 2659
+-111.998 39.34 2616
+-111.872 39.34 2575
+-111.746 39.34 2492
+-111.62 39.34 2459
+-111.494 39.34 2429
+-111.368 39.34 2359
+-111.242 39.34 2339
+-111.116 39.34 2301
+-110.99 39.34 2287
+-110.864 39.34 2218
+-110.738 39.34 2238
+-110.612 39.34 2232
+-110.486 39.34 2232
+-110.36 39.34 2193
+-110.234 39.34 2195
+-110.108 39.34 2163
+-109.982 39.34 2167
+-109.856 39.34 2185
+-109.73 39.34 2202
+-109.604 39.34 2210
+-109.478 39.34 2200
+-109.352 39.34 2210
+-109.226 39.34 2218
+-109.1 39.34 2228
+-108.974 39.34 2238
+-108.848 39.34 2244
+-108.722 39.34 2257
+-108.596 39.34 2264
+-108.47 39.34 2274
+-108.344 39.34 2234
+-108.218 39.34 2288
+-108.092 39.34 2294
+-107.966 39.34 2302
+-107.84 39.34 2309
+-107.714 39.34 2316
+-107.588 39.34 2322
+-107.462 39.34 2328
+-107.336 39.34 2333
+-107.21 39.34 2397
+-107.084 39.34 2403
+-106.958 39.34 2408
+-106.832 39.34 2414
+-106.706 39.34 2438
+-106.58 39.34 2444
+-106.454 39.34 2474
+-106.328 39.34 2553
+-106.202 39.34 2576
+-106.076 39.34 2582
+-105.95 39.34 2589
+-105.824 39.34 2595
+-105.698 39.34 2600
+-105.572 39.34 2559
+-105.446 39.34 2714
+-105.32 39.34 2741
+-105.194 39.34 2746
+-105.068 39.34 2750
+-104.942 39.34 2779
+-104.816 39.34 2643
+-104.69 39.34 2604
+-104.564 39.34 2527
+-104.438 39.34 2520
+-104.312 39.34 2523
+-104.186 39.34 2515
+-104.06 39.34 2520
+-103.934 39.34 2572
+-103.808 39.34 2419
+-103.682 39.34 2401
+-103.556 39.34 2392
+-103.43 39.34 2361
+-103.304 39.34 2299
+-103.178 39.34 2336
+-103.052 39.34 2327
+-102.926 39.34 2333
+-102.8 39.34 2391
+-102.674 39.34 2386
+-102.548 39.34 2386
+-102.422 39.34 2424
+-102.296 39.34 2477
+-102.17 39.34 2481
+-102.044 39.34 2558
+-101.918 39.34 2586
+-101.792 39.34 2663
+-101.666 39.34 2677
+-101.54 39.34 2676
+-101.414 39.34 2675
+-101.288 39.34 2775
+-101.162 39.34 2774
+-101.036 39.34 2772
+-100.91 39.34 2770
+-100.784 39.34 2769
+-100.658 39.34 2768
+-100.532 39.34 2768
+-100.406 39.34 2767
+-100.28 39.34 2767
+-100.154 39.34 2848
+-100.028 39.34 2849
+-99.902 39.34 2850
+-99.776 39.34 2852
+-99.65 39.34 2854
+-99.524 39.34 2862
+-99.398 39.34 2930
+-99.272 39.34 2955
+-99.146 39.34 2959
+-99.02 39.34 2962
+-98.894 39.34 2989
+-98.768 39.34 2992
+-98.642 39.34 2994
+-98.516 39.34 3100
+-98.39 39.34 3103
+-98.264 39.34 3104
+-98.138 39.34 3192
+-98.012 39.34 3198
+-97.886 39.34 3186
+-97.76 39.34 3170
+-97.634 39.34 3152
+-97.508 39.34 3129
+-97.382 39.34 3134
+-97.256 39.34 3102
+-97.13 39.34 3048
+-97.004 39.34 2931
+-96.878 39.34 2805
+-96.752 39.34 2739
+-96.626 39.34 2878
+-96.5 39.34 3179
+-96.374 39.34 3513
+-96.248 39.34 3713
+-96.122 39.34 3839
+-95.996 39.34 3922
+-95.87 39.34 3983
+-95.744 39.34 4070
+-95.618 39.34 4119
+-95.492 39.34 4229
+-95.366 39.34 4267
+-95.24 39.34 4287
+-95.114 39.34 4297
+-94.988 39.34 4400
+-94.862 39.34 4614
+-94.736 39.34 4839
+-94.61 39.34 5009
+-94.484 39.34 5239
+-94.358 39.34 5363
+-94.232 39.34 5471
+-94.106 39.34 5496
+-93.98 39.34 5569
+-93.854 39.34 5725
+-93.728 39.34 5870
+-93.602 39.34 5973
+-93.476 39.34 6132
+-93.35 39.34 6276
+-93.224 39.34 6325
+-93.098 39.34 6464
+-92.972 39.34 6611
+-92.846 39.34 6820
+-92.72 39.34 6967
+-92.594 39.34 6982
+-92.468 39.34 7129
+-92.342 39.34 7321
+-92.216 39.34 7440
+-92.09 39.34 7599
+-91.964 39.34 7732
+-91.838 39.34 7859
+-91.712 39.34 7947
+-91.586 39.34 8016
+-91.46 39.34 8192
+-91.334 39.34 8316
+-91.208 39.34 8396
+-91.082 39.34 8499
+-90.956 39.34 8579
+-90.83 39.34 8661
+-90.704 39.34 8749
+-90.578 39.34 8800
+-90.452 39.34 8798
+-90.326 39.34 8770
+-90.2 39.34 8747
+-90.074 39.34 8668
+-89.948 39.34 8606
+-89.822 39.34 8547
+-89.696 39.34 8441
+-89.57 39.34 8266
+-89.444 39.34 8185
+-89.318 39.34 8068
+-89.192 39.34 7938
+-89.066 39.34 7818
+-88.94 39.34 7743
+-88.814 39.34 7960
+-88.688 39.34 7929
+-88.562 39.34 7942
+-88.436 39.34 7939
+-88.31 39.34 7866
+-88.184 39.34 7819
+-88.058 39.34 7793
+-87.932 39.34 7705
+-87.806 39.34 7632
+-87.68 39.34 7597
+-87.554 39.34 7488
+-87.428 39.34 7368
+-87.302 39.34 7296
+-87.176 39.34 7176
+-87.05 39.34 7096
+-86.924 39.34 6985
+-86.798 39.34 6835
+-86.672 39.34 6767
+-86.546 39.34 6649
+-86.42 39.34 6601
+-86.294 39.34 6483
+-86.168 39.34 6349
+-86.042 39.34 6227
+-85.916 39.34 6024
+-85.79 39.34 5900
+-85.664 39.34 5792
+-85.538 39.34 5667
+-85.412 39.34 5626
+-85.286 39.34 5507
+-85.16 39.34 5316
+-85.034 39.34 5181
+-84.908 39.34 5042
+-84.782 39.34 4915
+-84.656 39.34 4801
+-84.53 39.34 4664
+-84.404 39.34 4553
+-84.278 39.34 4465
+-84.152 39.34 4325
+-84.026 39.34 4206
+-83.9 39.34 4151
+-83.774 39.34 4176
+-83.648 39.34 4203
+-83.522 39.34 4186
+-83.396 39.34 4163
+-83.27 39.34 4120
+-83.144 39.34 4090
+-83.018 39.34 4071
+-82.892 39.34 4012
+-82.766 39.34 3999
+-82.64 39.34 3996
+-82.514 39.34 3985
+-82.388 39.34 3981
+-82.262 39.34 3992
+-82.136 39.34 4002
+-82.01 39.34 4011
+-81.884 39.34 3948
+-81.758 39.34 3925
+-81.632 39.34 3929
+-81.506 39.34 3886
+-81.38 39.34 3820
+-81.254 39.34 3802
+-81.128 39.34 3762
+-81.002 39.34 3695
+-80.876 39.34 3695
+-80.75 39.34 3694
+-80.624 39.34 3694
+-80.498 39.34 3694
+-80.372 39.34 3679
+-80.246 39.34 3619
+-80.12 39.34 3619
+-79.994 39.34 3618
+-79.868 39.34 3618
+-79.742 39.34 3617
+-79.616 39.34 3617
+-79.49 39.34 3617
+-79.364 39.34 3616
+-79.238 39.34 3616
+-79.112 39.34 3616
+-78.986 39.34 3546
+-78.86 39.34 3536
+-78.734 39.34 3535
+-78.608 39.34 3535
+-78.482 39.34 3535
+-78.356 39.34 3535
+-78.23 39.34 3535
+-78.104 39.34 3519
+-77.978 39.34 3518
+-77.852 39.34 3518
+-77.726 39.34 3518
+-77.6 39.34 3518
+-77.474 39.34 3518
+-77.348 39.34 3518
+-77.222 39.34 3518
+-77.096 39.34 3451
+-76.97 39.34 3452
+-76.844 39.34 3452
+-76.718 39.34 3452
+-76.592 39.34 3453
+-76.466 39.34 3453
+-76.34 39.34 3453
+-76.214 39.34 3454
+-76.088 39.34 3454
+-75.962 39.34 3454
+-75.836 39.34 3455
+-75.71 39.34 3455
+-75.584 39.34 3455
+-75.458 39.34 3385
+-75.332 39.34 3384
+-75.206 39.34 3384
+-75.08 39.34 3383
+-74.954 39.34 3383
+-74.828 39.34 3382
+-74.702 39.34 3382
+-74.576 39.34 3382
+-74.45 39.34 3381
+-74.324 39.34 3381
+-74.198 39.34 3380
+-74.072 39.34 3380
+-73.946 39.34 3379
+-73.82 39.34 3379
+-73.694 39.34 3379
+-73.568 39.34 3378
+-73.442 39.34 3378
+-73.316 39.34 3378
+-73.19 39.34 3377
+-73.064 39.34 3377
+-72.938 39.34 3377
+-72.812 39.34 3376
+-72.686 39.34 3376
+-72.56 39.34 3376
+-72.434 39.34 3376
+-72.308 39.34 3071
+-72.182 39.34 3069
+-72.056 39.34 3068
+-71.93 39.34 3067
+-71.804 39.34 3066
+-71.678 39.34 3065
+-71.552 39.34 3064
+-71.426 39.34 3064
+-71.3 39.34 3063
+-71.174 39.34 3062
+-71.048 39.34 3061
+-70.922 39.34 3060
+-70.796 39.34 3059
+-70.67 39.34 3058
+-70.544 39.34 3058
+-70.418 39.34 3057
+-70.292 39.34 3056
+-70.166 39.34 3055
+-70.04 39.34 2929
+-69.914 39.34 2928
+-69.788 39.34 2897
+-69.662 39.34 2850
+-69.536 39.34 2849
+-69.41 39.34 2848
+-69.284 39.34 2863
+-69.158 39.34 2862
+-69.032 39.34 2873
+-68.906 39.34 2872
+-68.78 39.34 2831
+-68.654 39.34 2792
+-68.528 39.34 2791
+-68.402 39.34 2791
+-68.276 39.34 2791
+-68.15 39.34 2810
+-68.024 39.34 2815
+-67.898 39.34 2825
+-67.772 39.34 2823
+-67.646 39.34 2861
+-67.52 39.34 2873
+-67.394 39.34 2873
+-67.268 39.34 2934
+-67.142 39.34 2957
+-67.016 39.34 2932
+-66.89 39.34 2920
+-66.764 39.34 3082
+-66.638 39.34 3083
+-66.512 39.34 3151
+-66.386 39.34 3152
+-66.26 39.34 3154
+-66.134 39.34 3155
+-66.008 39.34 3156
+-65.882 39.34 3061
+-65.756 39.34 3083
+-65.63 39.34 3084
+-65.504 39.34 3071
+-65.378 39.34 3370
+-65.252 39.34 3403
+-65.126 39.34 3404
+-128 39.288 2474
+-127.874 39.288 2449
+-127.748 39.288 2441
+-127.622 39.288 2438
+-127.496 39.288 2435
+-127.37 39.288 2388
+-127.244 39.288 2385
+-127.118 39.288 2403
+-126.992 39.288 2400
+-126.866 39.288 2392
+-126.74 39.288 2387
+-126.614 39.288 2373
+-126.488 39.288 2350
+-126.362 39.288 2371
+-126.236 39.288 2356
+-126.11 39.288 2358
+-125.984 39.288 2353
+-125.858 39.288 2356
+-125.732 39.288 2351
+-125.606 39.288 2314
+-125.48 39.288 2329
+-125.354 39.288 2323
+-125.228 39.288 2308
+-125.102 39.288 2301
+-124.976 39.288 2294
+-124.85 39.288 2307
+-124.724 39.288 2287
+-124.598 39.288 2310
+-124.472 39.288 2301
+-124.346 39.288 2292
+-124.22 39.288 2298
+-124.094 39.288 2284
+-123.968 39.288 2275
+-123.842 39.288 2267
+-123.716 39.288 2259
+-123.59 39.288 2251
+-123.464 39.288 2244
+-123.338 39.288 2248
+-123.212 39.288 2246
+-123.086 39.288 2248
+-122.96 39.288 2271
+-122.834 39.288 2286
+-122.708 39.288 2328
+-122.582 39.288 2364
+-122.456 39.288 2407
+-122.33 39.288 2456
+-122.204 39.288 2544
+-122.078 39.288 2599
+-121.952 39.288 2651
+-121.826 39.288 2698
+-121.7 39.288 2741
+-121.574 39.288 2805
+-121.448 39.288 2837
+-121.322 39.288 2867
+-121.196 39.288 2896
+-121.07 39.288 2926
+-120.944 39.288 2972
+-120.818 39.288 3041
+-120.692 39.288 3105
+-120.566 39.288 3165
+-120.44 39.288 3192
+-120.314 39.288 3217
+-120.188 39.288 3243
+-120.062 39.288 3274
+-119.936 39.288 3292
+-119.81 39.288 3351
+-119.684 39.288 3440
+-119.558 39.288 3501
+-119.432 39.288 3528
+-119.306 39.288 3525
+-119.18 39.288 3563
+-119.054 39.288 3652
+-118.928 39.288 3719
+-118.802 39.288 3766
+-118.676 39.288 3807
+-118.55 39.288 3831
+-118.424 39.288 3824
+-118.298 39.288 3879
+-118.172 39.288 3963
+-118.046 39.288 4018
+-117.92 39.288 4039
+-117.794 39.288 4057
+-117.668 39.288 4070
+-117.542 39.288 4054
+-117.416 39.288 4025
+-117.29 39.288 3969
+-117.164 39.288 3929
+-117.038 39.288 3963
+-116.912 39.288 4007
+-116.786 39.288 4037
+-116.66 39.288 4043
+-116.534 39.288 4028
+-116.408 39.288 3998
+-116.282 39.288 3983
+-116.156 39.288 3974
+-116.03 39.288 3960
+-115.904 39.288 3906
+-115.778 39.288 3857
+-115.652 39.288 3811
+-115.526 39.288 3747
+-115.4 39.288 3725
+-115.274 39.288 3691
+-115.148 39.288 3654
+-115.022 39.288 3613
+-114.896 39.288 3563
+-114.77 39.288 3513
+-114.644 39.288 3490
+-114.518 39.288 3459
+-114.392 39.288 3449
+-114.266 39.288 3440
+-114.14 39.288 3426
+-114.014 39.288 3441
+-113.888 39.288 3420
+-113.762 39.288 3423
+-113.636 39.288 3347
+-113.51 39.288 3343
+-113.384 39.288 3331
+-113.258 39.288 3214
+-113.132 39.288 3190
+-113.006 39.288 3163
+-112.88 39.288 3170
+-112.754 39.288 3078
+-112.628 39.288 2960
+-112.502 39.288 2896
+-112.376 39.288 2817
+-112.25 39.288 2770
+-112.124 39.288 2728
+-111.998 39.288 2686
+-111.872 39.288 2595
+-111.746 39.288 2558
+-111.62 39.288 2523
+-111.494 39.288 2491
+-111.368 39.288 2416
+-111.242 39.288 2422
+-111.116 39.288 2349
+-110.99 39.288 2330
+-110.864 39.288 2312
+-110.738 39.288 2328
+-110.612 39.288 2220
+-110.486 39.288 2218
+-110.36 39.288 2213
+-110.234 39.288 2227
+-110.108 39.288 2227
+-109.982 39.288 2213
+-109.856 39.288 2204
+-109.73 39.288 2210
+-109.604 39.288 2199
+-109.478 39.288 2208
+-109.352 39.288 2215
+-109.226 39.288 2225
+-109.1 39.288 2235
+-108.974 39.288 2242
+-108.848 39.288 2255
+-108.722 39.288 2263
+-108.596 39.288 2273
+-108.47 39.288 2276
+-108.344 39.288 2288
+-108.218 39.288 2296
+-108.092 39.288 2302
+-107.966 39.288 2309
+-107.84 39.288 2316
+-107.714 39.288 2322
+-107.588 39.288 2328
+-107.462 39.288 2334
+-107.336 39.288 2395
+-107.21 39.288 2401
+-107.084 39.288 2407
+-106.958 39.288 2412
+-106.832 39.288 2436
+-106.706 39.288 2442
+-106.58 39.288 2472
+-106.454 39.288 2547
+-106.328 39.288 2571
+-106.202 39.288 2577
+-106.076 39.288 2583
+-105.95 39.288 2590
+-105.824 39.288 2596
+-105.698 39.288 2555
+-105.572 39.288 2707
+-105.446 39.288 2734
+-105.32 39.288 2739
+-105.194 39.288 2743
+-105.068 39.288 2772
+-104.942 39.288 2777
+-104.816 39.288 2609
+-104.69 39.288 2539
+-104.564 39.288 2533
+-104.438 39.288 2537
+-104.312 39.288 2531
+-104.186 39.288 2537
+-104.06 39.288 2590
+-103.934 39.288 2582
+-103.808 39.288 2429
+-103.682 39.288 2449
+-103.556 39.288 2465
+-103.43 39.288 2400
+-103.304 39.288 2363
+-103.178 39.288 2401
+-103.052 39.288 2338
+-102.926 39.288 2343
+-102.8 39.288 2342
+-102.674 39.288 2395
+-102.548 39.288 2396
+-102.422 39.288 2389
+-102.296 39.288 2469
+-102.17 39.288 2587
+-102.044 39.288 2588
+-101.918 39.288 2569
+-101.792 39.288 2646
+-101.666 39.288 2689
+-101.54 39.288 2688
+-101.414 39.288 2791
+-101.288 39.288 2790
+-101.162 39.288 2788
+-101.036 39.288 2787
+-100.91 39.288 2786
+-100.784 39.288 2786
+-100.658 39.288 2785
+-100.532 39.288 2785
+-100.406 39.288 2785
+-100.28 39.288 2786
+-100.154 39.288 2786
+-100.028 39.288 2869
+-99.902 39.288 2870
+-99.776 39.288 2872
+-99.65 39.288 2874
+-99.524 39.288 2877
+-99.398 39.288 2983
+-99.272 39.288 2986
+-99.146 39.288 2989
+-99.02 39.288 2993
+-98.894 39.288 2996
+-98.768 39.288 3013
+-98.642 39.288 3015
+-98.516 39.288 3018
+-98.39 39.288 3100
+-98.264 39.288 3212
+-98.138 39.288 3205
+-98.012 39.288 3197
+-97.886 39.288 3204
+-97.76 39.288 3192
+-97.634 39.288 3177
+-97.508 39.288 3158
+-97.382 39.288 3169
+-97.256 39.288 3131
+-97.13 39.288 3125
+-97.004 39.288 3073
+-96.878 39.288 3014
+-96.752 39.288 3011
+-96.626 39.288 3125
+-96.5 39.288 3345
+-96.374 39.288 3543
+-96.248 39.288 3752
+-96.122 39.288 3842
+-95.996 39.288 3899
+-95.87 39.288 3950
+-95.744 39.288 4017
+-95.618 39.288 4063
+-95.492 39.288 4153
+-95.366 39.288 4228
+-95.24 39.288 4243
+-95.114 39.288 4292
+-94.988 39.288 4397
+-94.862 39.288 4575
+-94.736 39.288 4846
+-94.61 39.288 5032
+-94.484 39.288 5264
+-94.358 39.288 5389
+-94.232 39.288 5474
+-94.106 39.288 5508
+-93.98 39.288 5556
+-93.854 39.288 5725
+-93.728 39.288 5824
+-93.602 39.288 5991
+-93.476 39.288 6148
+-93.35 39.288 6243
+-93.224 39.288 6381
+-93.098 39.288 6454
+-92.972 39.288 6606
+-92.846 39.288 6793
+-92.72 39.288 6882
+-92.594 39.288 7076
+-92.468 39.288 7185
+-92.342 39.288 7346
+-92.216 39.288 7454
+-92.09 39.288 7594
+-91.964 39.288 7717
+-91.838 39.288 7802
+-91.712 39.288 7974
+-91.586 39.288 8068
+-91.46 39.288 8186
+-91.334 39.288 8327
+-91.208 39.288 8438
+-91.082 39.288 8524
+-90.956 39.288 8647
+-90.83 39.288 8734
+-90.704 39.288 8835
+-90.578 39.288 8858
+-90.452 39.288 8888
+-90.326 39.288 8829
+-90.2 39.288 8810
+-90.074 39.288 8737
+-89.948 39.288 8706
+-89.822 39.288 8572
+-89.696 39.288 8458
+-89.57 39.288 8290
+-89.444 39.288 8271
+-89.318 39.288 8089
+-89.192 39.288 7949
+-89.066 39.288 7866
+-88.94 39.288 7711
+-88.814 39.288 8047
+-88.688 39.288 8029
+-88.562 39.288 7998
+-88.436 39.288 7989
+-88.31 39.288 7931
+-88.184 39.288 7865
+-88.058 39.288 7808
+-87.932 39.288 7766
+-87.806 39.288 7676
+-87.68 39.288 7600
+-87.554 39.288 7513
+-87.428 39.288 7438
+-87.302 39.288 7315
+-87.176 39.288 7229
+-87.05 39.288 7171
+-86.924 39.288 7025
+-86.798 39.288 6867
+-86.672 39.288 6742
+-86.546 39.288 6719
+-86.42 39.288 6567
+-86.294 39.288 6452
+-86.168 39.288 6402
+-86.042 39.288 6226
+-85.916 39.288 6065
+-85.79 39.288 6017
+-85.664 39.288 5823
+-85.538 39.288 5692
+-85.412 39.288 5567
+-85.286 39.288 5546
+-85.16 39.288 5376
+-85.034 39.288 5188
+-84.908 39.288 5038
+-84.782 39.288 4889
+-84.656 39.288 4840
+-84.53 39.288 4668
+-84.404 39.288 4521
+-84.278 39.288 4505
+-84.152 39.288 4390
+-84.026 39.288 4198
+-83.9 39.288 4031
+-83.774 39.288 4132
+-83.648 39.288 4189
+-83.522 39.288 4206
+-83.396 39.288 4185
+-83.27 39.288 4169
+-83.144 39.288 4149
+-83.018 39.288 4123
+-82.892 39.288 4091
+-82.766 39.288 4089
+-82.64 39.288 4008
+-82.514 39.288 4009
+-82.388 39.288 4014
+-82.262 39.288 4019
+-82.136 39.288 4025
+-82.01 39.288 3959
+-81.884 39.288 3964
+-81.758 39.288 3968
+-81.632 39.288 3943
+-81.506 39.288 3903
+-81.38 39.288 3821
+-81.254 39.288 3766
+-81.128 39.288 3737
+-81.002 39.288 3737
+-80.876 39.288 3737
+-80.75 39.288 3737
+-80.624 39.288 3737
+-80.498 39.288 3682
+-80.372 39.288 3623
+-80.246 39.288 3622
+-80.12 39.288 3621
+-79.994 39.288 3620
+-79.868 39.288 3619
+-79.742 39.288 3619
+-79.616 39.288 3618
+-79.49 39.288 3618
+-79.364 39.288 3618
+-79.238 39.288 3617
+-79.112 39.288 3548
+-78.986 39.288 3537
+-78.86 39.288 3537
+-78.734 39.288 3537
+-78.608 39.288 3536
+-78.482 39.288 3536
+-78.356 39.288 3520
+-78.23 39.288 3520
+-78.104 39.288 3519
+-77.978 39.288 3519
+-77.852 39.288 3519
+-77.726 39.288 3519
+-77.6 39.288 3519
+-77.474 39.288 3518
+-77.348 39.288 3518
+-77.222 39.288 3452
+-77.096 39.288 3452
+-76.97 39.288 3452
+-76.844 39.288 3453
+-76.718 39.288 3453
+-76.592 39.288 3453
+-76.466 39.288 3454
+-76.34 39.288 3454
+-76.214 39.288 3454
+-76.088 39.288 3454
+-75.962 39.288 3455
+-75.836 39.288 3455
+-75.71 39.288 3455
+-75.584 39.288 3385
+-75.458 39.288 3384
+-75.332 39.288 3384
+-75.206 39.288 3383
+-75.08 39.288 3383
+-74.954 39.288 3382
+-74.828 39.288 3382
+-74.702 39.288 3381
+-74.576 39.288 3381
+-74.45 39.288 3381
+-74.324 39.288 3380
+-74.198 39.288 3380
+-74.072 39.288 3379
+-73.946 39.288 3379
+-73.82 39.288 3379
+-73.694 39.288 3378
+-73.568 39.288 3378
+-73.442 39.288 3378
+-73.316 39.288 3377
+-73.19 39.288 3377
+-73.064 39.288 3377
+-72.938 39.288 3376
+-72.812 39.288 3376
+-72.686 39.288 3376
+-72.56 39.288 3375
+-72.434 39.288 3071
+-72.308 39.288 3069
+-72.182 39.288 3068
+-72.056 39.288 3067
+-71.93 39.288 3066
+-71.804 39.288 3065
+-71.678 39.288 3064
+-71.552 39.288 3063
+-71.426 39.288 3062
+-71.3 39.288 3062
+-71.174 39.288 3061
+-71.048 39.288 3060
+-70.922 39.288 3059
+-70.796 39.288 3058
+-70.67 39.288 3057
+-70.544 39.288 3056
+-70.418 39.288 3056
+-70.292 39.288 3055
+-70.166 39.288 2929
+-70.04 39.288 2928
+-69.914 39.288 2897
+-69.788 39.288 2849
+-69.662 39.288 2848
+-69.536 39.288 2847
+-69.41 39.288 2862
+-69.284 39.288 2861
+-69.158 39.288 2872
+-69.032 39.288 2872
+-68.906 39.288 2831
+-68.78 39.288 2791
+-68.654 39.288 2791
+-68.528 39.288 2790
+-68.402 39.288 2790
+-68.276 39.288 2809
+-68.15 39.288 2815
+-68.024 39.288 2824
+-67.898 39.288 2822
+-67.772 39.288 2860
+-67.646 39.288 2872
+-67.52 39.288 2872
+-67.394 39.288 2933
+-67.268 39.288 2956
+-67.142 39.288 2931
+-67.016 39.288 2919
+-66.89 39.288 3081
+-66.764 39.288 3082
+-66.638 39.288 3150
+-66.512 39.288 3151
+-66.386 39.288 3152
+-66.26 39.288 3153
+-66.134 39.288 3155
+-66.008 39.288 3060
+-65.882 39.288 3082
+-65.756 39.288 3083
+-65.63 39.288 3070
+-65.504 39.288 3369
+-65.378 39.288 3402
+-65.252 39.288 3403
+-65.126 39.288 3397
+-128 39.236 2451
+-127.874 39.236 2443
+-127.748 39.236 2439
+-127.622 39.236 2435
+-127.496 39.236 2389
+-127.37 39.236 2379
+-127.244 39.236 2375
+-127.118 39.236 2369
+-126.992 39.236 2366
+-126.866 39.236 2393
+-126.74 39.236 2377
+-126.614 39.236 2371
+-126.488 39.236 2378
+-126.362 39.236 2378
+-126.236 39.236 2358
+-126.11 39.236 2354
+-125.984 39.236 2348
+-125.858 39.236 2359
+-125.732 39.236 2376
+-125.606 39.236 2338
+-125.48 39.236 2332
+-125.354 39.236 2317
+-125.228 39.236 2311
+-125.102 39.236 2326
+-124.976 39.236 2319
+-124.85 39.236 2364
+-124.724 39.236 2336
+-124.598 39.236 2326
+-124.472 39.236 2318
+-124.346 39.236 2309
+-124.22 39.236 2292
+-124.094 39.236 2282
+-123.968 39.236 2271
+-123.842 39.236 2260
+-123.716 39.236 2249
+-123.59 39.236 2238
+-123.464 39.236 2227
+-123.338 39.236 2235
+-123.212 39.236 2233
+-123.086 39.236 2229
+-122.96 39.236 2231
+-122.834 39.236 2257
+-122.708 39.236 2283
+-122.582 39.236 2320
+-122.456 39.236 2397
+-122.33 39.236 2456
+-122.204 39.236 2504
+-122.078 39.236 2586
+-121.952 39.236 2648
+-121.826 39.236 2703
+-121.7 39.236 2779
+-121.574 39.236 2818
+-121.448 39.236 2849
+-121.322 39.236 2881
+-121.196 39.236 2915
+-121.07 39.236 2951
+-120.944 39.236 3001
+-120.818 39.236 3073
+-120.692 39.236 3139
+-120.566 39.236 3197
+-120.44 39.236 3254
+-120.314 39.236 3281
+-120.188 39.236 3305
+-120.062 39.236 3341
+-119.936 39.236 3372
+-119.81 39.236 3438
+-119.684 39.236 3506
+-119.558 39.236 3538
+-119.432 39.236 3554
+-119.306 39.236 3555
+-119.18 39.236 3605
+-119.054 39.236 3697
+-118.928 39.236 3778
+-118.802 39.236 3824
+-118.676 39.236 3845
+-118.55 39.236 3863
+-118.424 39.236 3882
+-118.298 39.236 3933
+-118.172 39.236 4009
+-118.046 39.236 4035
+-117.92 39.236 4038
+-117.794 39.236 4062
+-117.668 39.236 4085
+-117.542 39.236 4099
+-117.416 39.236 4094
+-117.29 39.236 4057
+-117.164 39.236 4042
+-117.038 39.236 4053
+-116.912 39.236 4075
+-116.786 39.236 4091
+-116.66 39.236 4087
+-116.534 39.236 4040
+-116.408 39.236 4006
+-116.282 39.236 3978
+-116.156 39.236 3991
+-116.03 39.236 3992
+-115.904 39.236 3968
+-115.778 39.236 3928
+-115.652 39.236 3866
+-115.526 39.236 3798
+-115.4 39.236 3759
+-115.274 39.236 3735
+-115.148 39.236 3700
+-115.022 39.236 3640
+-114.896 39.236 3548
+-114.77 39.236 3490
+-114.644 39.236 3462
+-114.518 39.236 3461
+-114.392 39.236 3470
+-114.266 39.236 3465
+-114.14 39.236 3484
+-114.014 39.236 3464
+-113.888 39.236 3473
+-113.762 39.236 3453
+-113.636 39.236 3385
+-113.51 39.236 3376
+-113.384 39.236 3363
+-113.258 39.236 3350
+-113.132 39.236 3336
+-113.006 39.236 3320
+-112.88 39.236 3286
+-112.754 39.236 3261
+-112.628 39.236 2989
+-112.502 39.236 2983
+-112.376 39.236 2941
+-112.25 39.236 2846
+-112.124 39.236 2735
+-111.998 39.236 2693
+-111.872 39.236 2653
+-111.746 39.236 2614
+-111.62 39.236 2577
+-111.494 39.236 2542
+-111.368 39.236 2496
+-111.242 39.236 2467
+-111.116 39.236 2440
+-110.99 39.236 2362
+-110.864 39.236 2372
+-110.738 39.236 2309
+-110.612 39.236 2296
+-110.486 39.236 2284
+-110.36 39.236 2240
+-110.234 39.236 2234
+-110.108 39.236 2216
+-109.982 39.236 2250
+-109.856 39.236 2253
+-109.73 39.236 2242
+-109.604 39.236 2249
+-109.478 39.236 2209
+-109.352 39.236 2220
+-109.226 39.236 2230
+-109.1 39.236 2237
+-108.974 39.236 2251
+-108.848 39.236 2260
+-108.722 39.236 2270
+-108.596 39.236 2274
+-108.47 39.236 2287
+-108.344 39.236 2295
+-108.218 39.236 2303
+-108.092 39.236 2352
+-107.966 39.236 2359
+-107.84 39.236 2366
+-107.714 39.236 2329
+-107.588 39.236 2334
+-107.462 39.236 2394
+-107.336 39.236 2399
+-107.21 39.236 2405
+-107.084 39.236 2410
+-106.958 39.236 2434
+-106.832 39.236 2439
+-106.706 39.236 2469
+-106.58 39.236 2542
+-106.454 39.236 2565
+-106.328 39.236 2571
+-106.202 39.236 2578
+-106.076 39.236 2584
+-105.95 39.236 2590
+-105.824 39.236 2551
+-105.698 39.236 2699
+-105.572 39.236 2726
+-105.446 39.236 2731
+-105.32 39.236 2736
+-105.194 39.236 2765
+-105.068 39.236 2770
+-104.942 39.236 2730
+-104.816 39.236 2611
+-104.69 39.236 2622
+-104.564 39.236 2649
+-104.438 39.236 2657
+-104.312 39.236 2653
+-104.186 39.236 2606
+-104.06 39.236 2599
+-103.934 39.236 2595
+-103.808 39.236 2633
+-103.682 39.236 2464
+-103.556 39.236 2479
+-103.43 39.236 2411
+-103.304 39.236 2374
+-103.178 39.236 2389
+-103.052 39.236 2402
+-102.926 39.236 2356
+-102.8 39.236 2352
+-102.674 39.236 2314
+-102.548 39.236 2405
+-102.422 39.236 2443
+-102.296 39.236 2579
+-102.17 39.236 2582
+-102.044 39.236 2597
+-101.918 39.236 2599
+-101.792 39.236 2618
+-101.666 39.236 2695
+-101.54 39.236 2805
+-101.414 39.236 2804
+-101.288 39.236 2803
+-101.162 39.236 2803
+-101.036 39.236 2802
+-100.91 39.236 2802
+-100.784 39.236 2801
+-100.658 39.236 2801
+-100.532 39.236 2802
+-100.406 39.236 2802
+-100.28 39.236 2803
+-100.154 39.236 2804
+-100.028 39.236 2806
+-99.902 39.236 2889
+-99.776 39.236 2910
+-99.65 39.236 2912
+-99.524 39.236 2914
+-99.398 39.236 2917
+-99.272 39.236 3007
+-99.146 39.236 3010
+-99.02 39.236 3013
+-98.894 39.236 3016
+-98.768 39.236 3019
+-98.642 39.236 3035
+-98.516 39.236 3113
+-98.39 39.236 3228
+-98.264 39.236 3223
+-98.138 39.236 3217
+-98.012 39.236 3211
+-97.886 39.236 3204
+-97.76 39.236 3212
+-97.634 39.236 3201
+-97.508 39.236 3188
+-97.382 39.236 3192
+-97.256 39.236 3203
+-97.13 39.236 3212
+-97.004 39.236 3219
+-96.878 39.236 3206
+-96.752 39.236 3249
+-96.626 39.236 3335
+-96.5 39.236 3475
+-96.374 39.236 3629
+-96.248 39.236 3725
+-96.122 39.236 3827
+-95.996 39.236 3851
+-95.87 39.236 3896
+-95.744 39.236 3937
+-95.618 39.236 3973
+-95.492 39.236 4063
+-95.366 39.236 4179
+-95.24 39.236 4183
+-95.114 39.236 4288
+-94.988 39.236 4436
+-94.862 39.236 4584
+-94.736 39.236 4815
+-94.61 39.236 5010
+-94.484 39.236 5251
+-94.358 39.236 5347
+-94.232 39.236 5410
+-94.106 39.236 5497
+-93.98 39.236 5603
+-93.854 39.236 5703
+-93.728 39.236 5884
+-93.602 39.236 5995
+-93.476 39.236 6098
+-93.35 39.236 6212
+-93.224 39.236 6323
+-93.098 39.236 6474
+-92.972 39.236 6584
+-92.846 39.236 6787
+-92.72 39.236 6940
+-92.594 39.236 7087
+-92.468 39.236 7236
+-92.342 39.236 7373
+-92.216 39.236 7451
+-92.09 39.236 7651
+-91.964 39.236 7722
+-91.838 39.236 7875
+-91.712 39.236 7931
+-91.586 39.236 8045
+-91.46 39.236 8177
+-91.334 39.236 8327
+-91.208 39.236 8419
+-91.082 39.236 8584
+-90.956 39.236 8660
+-90.83 39.236 8801
+-90.704 39.236 8836
+-90.578 39.236 8946
+-90.452 39.236 8924
+-90.326 39.236 8900
+-90.2 39.236 8823
+-90.074 39.236 8761
+-89.948 39.236 8695
+-89.822 39.236 8588
+-89.696 39.236 8461
+-89.57 39.236 8377
+-89.444 39.236 8282
+-89.318 39.236 8119
+-89.192 39.236 8002
+-89.066 39.236 7852
+-88.94 39.236 7886
+-88.814 39.236 7993
+-88.688 39.236 8032
+-88.562 39.236 8043
+-88.436 39.236 8049
+-88.31 39.236 7982
+-88.184 39.236 7919
+-88.058 39.236 7865
+-87.932 39.236 7862
+-87.806 39.236 7693
+-87.68 39.236 7664
+-87.554 39.236 7544
+-87.428 39.236 7460
+-87.302 39.236 7354
+-87.176 39.236 7257
+-87.05 39.236 7171
+-86.924 39.236 7071
+-86.798 39.236 6997
+-86.672 39.236 6851
+-86.546 39.236 6713
+-86.42 39.236 6579
+-86.294 39.236 6534
+-86.168 39.236 6394
+-86.042 39.236 6201
+-85.916 39.236 6128
+-85.79 39.236 6007
+-85.664 39.236 5839
+-85.538 39.236 5686
+-85.412 39.236 5653
+-85.286 39.236 5558
+-85.16 39.236 5403
+-85.034 39.236 5198
+-84.908 39.236 5089
+-84.782 39.236 4993
+-84.656 39.236 4856
+-84.53 39.236 4726
+-84.404 39.236 4608
+-84.278 39.236 4553
+-84.152 39.236 4429
+-84.026 39.236 4266
+-83.9 39.236 4158
+-83.774 39.236 4185
+-83.648 39.236 4214
+-83.522 39.236 4218
+-83.396 39.236 4212
+-83.27 39.236 4201
+-83.144 39.236 4180
+-83.018 39.236 4156
+-82.892 39.236 4132
+-82.766 39.236 4099
+-82.64 39.236 4089
+-82.514 39.236 4091
+-82.388 39.236 4042
+-82.262 39.236 4044
+-82.136 39.236 3972
+-82.01 39.236 3985
+-81.884 39.236 3988
+-81.758 39.236 3965
+-81.632 39.236 3923
+-81.506 39.236 3857
+-81.38 39.236 3806
+-81.254 39.236 3743
+-81.128 39.236 3743
+-81.002 39.236 3742
+-80.876 39.236 3765
+-80.75 39.236 3741
+-80.624 39.236 3709
+-80.498 39.236 3627
+-80.372 39.236 3625
+-80.246 39.236 3624
+-80.12 39.236 3623
+-79.994 39.236 3622
+-79.868 39.236 3621
+-79.742 39.236 3620
+-79.616 39.236 3620
+-79.49 39.236 3619
+-79.364 39.236 3619
+-79.238 39.236 3549
+-79.112 39.236 3539
+-78.986 39.236 3539
+-78.86 39.236 3538
+-78.734 39.236 3544
+-78.608 39.236 3544
+-78.482 39.236 3544
+-78.356 39.236 3544
+-78.23 39.236 3544
+-78.104 39.236 3543
+-77.978 39.236 3543
+-77.852 39.236 3543
+-77.726 39.236 3543
+-77.6 39.236 3543
+-77.474 39.236 3543
+-77.348 39.236 3452
+-77.222 39.236 3452
+-77.096 39.236 3452
+-76.97 39.236 3453
+-76.844 39.236 3453
+-76.718 39.236 3453
+-76.592 39.236 3454
+-76.466 39.236 3454
+-76.34 39.236 3454
+-76.214 39.236 3455
+-76.088 39.236 3455
+-75.962 39.236 3455
+-75.836 39.236 3455
+-75.71 39.236 3385
+-75.584 39.236 3384
+-75.458 39.236 3384
+-75.332 39.236 3383
+-75.206 39.236 3383
+-75.08 39.236 3382
+-74.954 39.236 3382
+-74.828 39.236 3381
+-74.702 39.236 3381
+-74.576 39.236 3381
+-74.45 39.236 3380
+-74.324 39.236 3380
+-74.198 39.236 3379
+-74.072 39.236 3379
+-73.946 39.236 3378
+-73.82 39.236 3378
+-73.694 39.236 3378
+-73.568 39.236 3377
+-73.442 39.236 3377
+-73.316 39.236 3377
+-73.19 39.236 3376
+-73.064 39.236 3376
+-72.938 39.236 3376
+-72.812 39.236 3375
+-72.686 39.236 3375
+-72.56 39.236 3070
+-72.434 39.236 3069
+-72.308 39.236 3068
+-72.182 39.236 3067
+-72.056 39.236 3066
+-71.93 39.236 3065
+-71.804 39.236 3064
+-71.678 39.236 3063
+-71.552 39.236 3062
+-71.426 39.236 3061
+-71.3 39.236 3060
+-71.174 39.236 3059
+-71.048 39.236 3059
+-70.922 39.236 3058
+-70.796 39.236 3057
+-70.67 39.236 3056
+-70.544 39.236 3055
+-70.418 39.236 3055
+-70.292 39.236 2928
+-70.166 39.236 2927
+-70.04 39.236 2897
+-69.914 39.236 2849
+-69.788 39.236 2848
+-69.662 39.236 2847
+-69.536 39.236 2862
+-69.41 39.236 2861
+-69.284 39.236 2872
+-69.158 39.236 2871
+-69.032 39.236 2830
+-68.906 39.236 2790
+-68.78 39.236 2790
+-68.654 39.236 2790
+-68.528 39.236 2789
+-68.402 39.236 2808
+-68.276 39.236 2814
+-68.15 39.236 2823
+-68.024 39.236 2821
+-67.898 39.236 2859
+-67.772 39.236 2871
+-67.646 39.236 2871
+-67.52 39.236 2931
+-67.394 39.236 2954
+-67.268 39.236 2930
+-67.142 39.236 2919
+-67.016 39.236 3079
+-66.89 39.236 3081
+-66.764 39.236 3149
+-66.638 39.236 3150
+-66.512 39.236 3151
+-66.386 39.236 3152
+-66.26 39.236 3153
+-66.134 39.236 3059
+-66.008 39.236 3081
+-65.882 39.236 3082
+-65.756 39.236 3069
+-65.63 39.236 3368
+-65.504 39.236 3401
+-65.378 39.236 3402
+-65.252 39.236 3396
+-65.126 39.236 3396
+-128 39.184 2444
+-127.874 39.184 2441
+-127.748 39.184 2437
+-127.622 39.184 2390
+-127.496 39.184 2381
+-127.37 39.184 2378
+-127.244 39.184 2373
+-127.118 39.184 2370
+-126.992 39.184 2366
+-126.866 39.184 2364
+-126.74 39.184 2348
+-126.614 39.184 2385
+-126.488 39.184 2387
+-126.362 39.184 2382
+-126.236 39.184 2362
+-126.11 39.184 2402
+-125.984 39.184 2396
+-125.858 39.184 2380
+-125.732 39.184 2374
+-125.606 39.184 2356
+-125.48 39.184 2327
+-125.354 39.184 2321
+-125.228 39.184 2338
+-125.102 39.184 2391
+-124.976 39.184 2380
+-124.85 39.184 2368
+-124.724 39.184 2338
+-124.598 39.184 2347
+-124.472 39.184 2335
+-124.346 39.184 2324
+-124.22 39.184 2314
+-124.094 39.184 2278
+-123.968 39.184 2265
+-123.842 39.184 2268
+-123.716 39.184 2236
+-123.59 39.184 2220
+-123.464 39.184 2204
+-123.338 39.184 2205
+-123.212 39.184 2190
+-123.086 39.184 2182
+-122.96 39.184 2188
+-122.834 39.184 2195
+-122.708 39.184 2217
+-122.582 39.184 2281
+-122.456 39.184 2340
+-122.33 39.184 2411
+-122.204 39.184 2489
+-122.078 39.184 2581
+-121.952 39.184 2652
+-121.826 39.184 2711
+-121.7 39.184 2782
+-121.574 39.184 2823
+-121.448 39.184 2857
+-121.322 39.184 2913
+-121.196 39.184 2948
+-121.07 39.184 2989
+-120.944 39.184 3034
+-120.818 39.184 3120
+-120.692 39.184 3188
+-120.566 39.184 3247
+-120.44 39.184 3279
+-120.314 39.184 3328
+-120.188 39.184 3361
+-120.062 39.184 3394
+-119.936 39.184 3437
+-119.81 39.184 3481
+-119.684 39.184 3534
+-119.558 39.184 3551
+-119.432 39.184 3573
+-119.306 39.184 3609
+-119.18 39.184 3658
+-119.054 39.184 3748
+-118.928 39.184 3816
+-118.802 39.184 3848
+-118.676 39.184 3848
+-118.55 39.184 3884
+-118.424 39.184 3954
+-118.298 39.184 4009
+-118.172 39.184 4050
+-118.046 39.184 4048
+-117.92 39.184 4006
+-117.794 39.184 4056
+-117.668 39.184 4113
+-117.542 39.184 4158
+-117.416 39.184 4168
+-117.29 39.184 4147
+-117.164 39.184 4146
+-117.038 39.184 4145
+-116.912 39.184 4151
+-116.786 39.184 4157
+-116.66 39.184 4142
+-116.534 39.184 4079
+-116.408 39.184 4001
+-116.282 39.184 3936
+-116.156 39.184 3977
+-116.03 39.184 4005
+-115.904 39.184 4002
+-115.778 39.184 3989
+-115.652 39.184 3903
+-115.526 39.184 3793
+-115.4 39.184 3733
+-115.274 39.184 3734
+-115.148 39.184 3709
+-115.022 39.184 3636
+-114.896 39.184 3538
+-114.77 39.184 3444
+-114.644 39.184 3396
+-114.518 39.184 3412
+-114.392 39.184 3448
+-114.266 39.184 3483
+-114.14 39.184 3521
+-114.014 39.184 3493
+-113.888 39.184 3507
+-113.762 39.184 3517
+-113.636 39.184 3479
+-113.51 39.184 3483
+-113.384 39.184 3393
+-113.258 39.184 3381
+-113.132 39.184 3368
+-113.006 39.184 3341
+-112.88 39.184 3319
+-112.754 39.184 3268
+-112.628 39.184 3157
+-112.502 39.184 3164
+-112.376 39.184 2938
+-112.25 39.184 2894
+-112.124 39.184 2851
+-111.998 39.184 2808
+-111.872 39.184 2702
+-111.746 39.184 2720
+-111.62 39.184 2680
+-111.494 39.184 2571
+-111.368 39.184 2535
+-111.242 39.184 2501
+-111.116 39.184 2469
+-110.99 39.184 2421
+-110.864 39.184 2347
+-110.738 39.184 2328
+-110.612 39.184 2306
+-110.486 39.184 2297
+-110.36 39.184 2282
+-110.234 39.184 2217
+-110.108 39.184 2245
+-109.982 39.184 2243
+-109.856 39.184 2230
+-109.73 39.184 2236
+-109.604 39.184 2199
+-109.478 39.184 2209
+-109.352 39.184 2220
+-109.226 39.184 2229
+-109.1 39.184 2243
+-108.974 39.184 2254
+-108.848 39.184 2266
+-108.722 39.184 2271
+-108.596 39.184 2321
+-108.47 39.184 2331
+-108.344 39.184 2340
+-108.218 39.184 2349
+-108.092 39.184 2357
+-107.966 39.184 2364
+-107.84 39.184 2371
+-107.714 39.184 2386
+-107.588 39.184 2392
+-107.462 39.184 2397
+-107.336 39.184 2403
+-107.21 39.184 2408
+-107.084 39.184 2431
+-106.958 39.184 2436
+-106.832 39.184 2466
+-106.706 39.184 2535
+-106.58 39.184 2558
+-106.454 39.184 2565
+-106.328 39.184 2572
+-106.202 39.184 2578
+-106.076 39.184 2585
+-105.95 39.184 2547
+-105.824 39.184 2690
+-105.698 39.184 2717
+-105.572 39.184 2722
+-105.446 39.184 2728
+-105.32 39.184 2757
+-105.194 39.184 2762
+-105.068 39.184 2723
+-104.942 39.184 2728
+-104.816 39.184 2626
+-104.69 39.184 2654
+-104.564 39.184 2662
+-104.438 39.184 2659
+-104.312 39.184 2735
+-104.186 39.184 2614
+-104.06 39.184 2611
+-103.934 39.184 2651
+-103.808 39.184 2635
+-103.682 39.184 2465
+-103.556 39.184 2532
+-103.43 39.184 2424
+-103.304 39.184 2435
+-103.178 39.184 2400
+-103.052 39.184 2414
+-102.926 39.184 2356
+-102.8 39.184 2362
+-102.674 39.184 2412
+-102.548 39.184 2484
+-102.422 39.184 2480
+-102.296 39.184 2587
+-102.17 39.184 2590
+-102.044 39.184 2593
+-101.918 39.184 2608
+-101.792 39.184 2664
+-101.666 39.184 2704
+-101.54 39.184 2705
+-101.414 39.184 2817
+-101.288 39.184 2816
+-101.162 39.184 2816
+-101.036 39.184 2816
+-100.91 39.184 2816
+-100.784 39.184 2816
+-100.658 39.184 2817
+-100.532 39.184 2817
+-100.406 39.184 2818
+-100.28 39.184 2820
+-100.154 39.184 2821
+-100.028 39.184 2823
+-99.902 39.184 2825
+-99.776 39.184 2918
+-99.65 39.184 2931
+-99.524 39.184 2933
+-99.398 39.184 3022
+-99.272 39.184 3026
+-99.146 39.184 3029
+-99.02 39.184 3032
+-98.894 39.184 3035
+-98.768 39.184 3050
+-98.642 39.184 3165
+-98.516 39.184 3160
+-98.39 39.184 3237
+-98.264 39.184 3232
+-98.138 39.184 3228
+-98.012 39.184 3223
+-97.886 39.184 3218
+-97.76 39.184 3213
+-97.634 39.184 3223
+-97.508 39.184 3239
+-97.382 39.184 3264
+-97.256 39.184 3294
+-97.13 39.184 3281
+-97.004 39.184 3319
+-96.878 39.184 3328
+-96.752 39.184 3382
+-96.626 39.184 3472
+-96.5 39.184 3556
+-96.374 39.184 3652
+-96.248 39.184 3738
+-96.122 39.184 3788
+-95.996 39.184 3757
+-95.87 39.184 3732
+-95.744 39.184 3856
+-95.618 39.184 3825
+-95.492 39.184 3986
+-95.366 39.184 4153
+-95.24 39.184 4253
+-95.114 39.184 4308
+-94.988 39.184 4475
+-94.862 39.184 4651
+-94.736 39.184 4797
+-94.61 39.184 4956
+-94.484 39.184 5206
+-94.358 39.184 5323
+-94.232 39.184 5278
+-94.106 39.184 5391
+-93.98 39.184 5560
+-93.854 39.184 5751
+-93.728 39.184 5925
+-93.602 39.184 6003
+-93.476 39.184 6099
+-93.35 39.184 6190
+-93.224 39.184 6348
+-93.098 39.184 6480
+-92.972 39.184 6623
+-92.846 39.184 6790
+-92.72 39.184 6954
+-92.594 39.184 7110
+-92.468 39.184 7242
+-92.342 39.184 7379
+-92.216 39.184 7509
+-92.09 39.184 7612
+-91.964 39.184 7772
+-91.838 39.184 7866
+-91.712 39.184 7957
+-91.586 39.184 8163
+-91.46 39.184 8208
+-91.334 39.184 8367
+-91.208 39.184 8471
+-91.082 39.184 8621
+-90.956 39.184 8690
+-90.83 39.184 8779
+-90.704 39.184 8893
+-90.578 39.184 8964
+-90.452 39.184 8978
+-90.326 39.184 8926
+-90.2 39.184 8888
+-90.074 39.184 8807
+-89.948 39.184 8735
+-89.822 39.184 8605
+-89.696 39.184 8494
+-89.57 39.184 8400
+-89.444 39.184 8299
+-89.318 39.184 8130
+-89.192 39.184 8039
+-89.066 39.184 7935
+-88.94 39.184 8159
+-88.814 39.184 8151
+-88.688 39.184 8118
+-88.562 39.184 8088
+-88.436 39.184 8086
+-88.31 39.184 8048
+-88.184 39.184 7986
+-88.058 39.184 7921
+-87.932 39.184 7877
+-87.806 39.184 7760
+-87.68 39.184 7649
+-87.554 39.184 7610
+-87.428 39.184 7495
+-87.302 39.184 7369
+-87.176 39.184 7296
+-87.05 39.184 7202
+-86.924 39.184 7096
+-86.798 39.184 7027
+-86.672 39.184 6912
+-86.546 39.184 6741
+-86.42 39.184 6661
+-86.294 39.184 6518
+-86.168 39.184 6346
+-86.042 39.184 6258
+-85.916 39.184 6089
+-85.79 39.184 6082
+-85.664 39.184 5932
+-85.538 39.184 5773
+-85.412 39.184 5680
+-85.286 39.184 5556
+-85.16 39.184 5440
+-85.034 39.184 5293
+-84.908 39.184 5148
+-84.782 39.184 5031
+-84.656 39.184 4887
+-84.53 39.184 4781
+-84.404 39.184 4683
+-84.278 39.184 4607
+-84.152 39.184 4512
+-84.026 39.184 4381
+-83.9 39.184 4275
+-83.774 39.184 4252
+-83.648 39.184 4249
+-83.522 39.184 4242
+-83.396 39.184 4238
+-83.27 39.184 4214
+-83.144 39.184 4192
+-83.018 39.184 4169
+-82.892 39.184 4133
+-82.766 39.184 4119
+-82.64 39.184 4116
+-82.514 39.184 4115
+-82.388 39.184 4117
+-82.262 39.184 4064
+-82.136 39.184 4064
+-82.01 39.184 4001
+-81.884 39.184 3975
+-81.758 39.184 3931
+-81.632 39.184 3865
+-81.506 39.184 3823
+-81.38 39.184 3821
+-81.254 39.184 3820
+-81.128 39.184 3771
+-81.002 39.184 3770
+-80.876 39.184 3769
+-80.75 39.184 3712
+-80.624 39.184 3658
+-80.498 39.184 3657
+-80.372 39.184 3656
+-80.246 39.184 3655
+-80.12 39.184 3654
+-79.994 39.184 3654
+-79.868 39.184 3653
+-79.742 39.184 3653
+-79.616 39.184 3653
+-79.49 39.184 3653
+-79.364 39.184 3551
+-79.238 39.184 3565
+-79.112 39.184 3565
+-78.986 39.184 3545
+-78.86 39.184 3545
+-78.734 39.184 3545
+-78.608 39.184 3544
+-78.482 39.184 3544
+-78.356 39.184 3544
+-78.23 39.184 3544
+-78.104 39.184 3544
+-77.978 39.184 3544
+-77.852 39.184 3544
+-77.726 39.184 3544
+-77.6 39.184 3544
+-77.474 39.184 3452
+-77.348 39.184 3452
+-77.222 39.184 3453
+-77.096 39.184 3453
+-76.97 39.184 3453
+-76.844 39.184 3453
+-76.718 39.184 3454
+-76.592 39.184 3454
+-76.466 39.184 3454
+-76.34 39.184 3455
+-76.214 39.184 3455
+-76.088 39.184 3455
+-75.962 39.184 3456
+-75.836 39.184 3385
+-75.71 39.184 3384
+-75.584 39.184 3384
+-75.458 39.184 3383
+-75.332 39.184 3383
+-75.206 39.184 3382
+-75.08 39.184 3382
+-74.954 39.184 3381
+-74.828 39.184 3381
+-74.702 39.184 3380
+-74.576 39.184 3380
+-74.45 39.184 3380
+-74.324 39.184 3379
+-74.198 39.184 3379
+-74.072 39.184 3378
+-73.946 39.184 3378
+-73.82 39.184 3378
+-73.694 39.184 3377
+-73.568 39.184 3377
+-73.442 39.184 3376
+-73.316 39.184 3376
+-73.19 39.184 3376
+-73.064 39.184 3376
+-72.938 39.184 3375
+-72.812 39.184 3375
+-72.686 39.184 3070
+-72.56 39.184 3069
+-72.434 39.184 3068
+-72.308 39.184 3067
+-72.182 39.184 3066
+-72.056 39.184 3065
+-71.93 39.184 3064
+-71.804 39.184 3063
+-71.678 39.184 3062
+-71.552 39.184 3061
+-71.426 39.184 3060
+-71.3 39.184 3059
+-71.174 39.184 3058
+-71.048 39.184 3057
+-70.922 39.184 3057
+-70.796 39.184 3056
+-70.67 39.184 3055
+-70.544 39.184 3054
+-70.418 39.184 2928
+-70.292 39.184 2927
+-70.166 39.184 2896
+-70.04 39.184 2849
+-69.914 39.184 2847
+-69.788 39.184 2846
+-69.662 39.184 2861
+-69.536 39.184 2860
+-69.41 39.184 2871
+-69.284 39.184 2870
+-69.158 39.184 2830
+-69.032 39.184 2790
+-68.906 39.184 2789
+-68.78 39.184 2789
+-68.654 39.184 2789
+-68.528 39.184 2807
+-68.402 39.184 2813
+-68.276 39.184 2823
+-68.15 39.184 2821
+-68.024 39.184 2858
+-67.898 39.184 2870
+-67.772 39.184 2870
+-67.646 39.184 2930
+-67.52 39.184 2953
+-67.394 39.184 2929
+-67.268 39.184 2918
+-67.142 39.184 3078
+-67.016 39.184 3079
+-66.89 39.184 3147
+-66.764 39.184 3149
+-66.638 39.184 3150
+-66.512 39.184 3151
+-66.386 39.184 3152
+-66.26 39.184 3058
+-66.134 39.184 3080
+-66.008 39.184 3081
+-65.882 39.184 3068
+-65.756 39.184 3367
+-65.63 39.184 3401
+-65.504 39.184 3401
+-65.378 39.184 3395
+-65.252 39.184 3395
+-65.126 39.184 3399
+-128 39.132 2442
+-127.874 39.132 2440
+-127.748 39.132 2391
+-127.622 39.132 2384
+-127.496 39.132 2381
+-127.37 39.132 2378
+-127.244 39.132 2375
+-127.118 39.132 2371
+-126.992 39.132 2371
+-126.866 39.132 2354
+-126.74 39.132 2381
+-126.614 39.132 2385
+-126.488 39.132 2392
+-126.362 39.132 2391
+-126.236 39.132 2415
+-126.11 39.132 2409
+-125.984 39.132 2403
+-125.858 39.132 2404
+-125.732 39.132 2412
+-125.606 39.132 2386
+-125.48 39.132 2371
+-125.354 39.132 2371
+-125.228 39.132 2407
+-125.102 39.132 2396
+-124.976 39.132 2409
+-124.85 39.132 2395
+-124.724 39.132 2362
+-124.598 39.132 2350
+-124.472 39.132 2337
+-124.346 39.132 2323
+-124.22 39.132 2309
+-124.094 39.132 2272
+-123.968 39.132 2276
+-123.842 39.132 2257
+-123.716 39.132 2237
+-123.59 39.132 2215
+-123.464 39.132 2191
+-123.338 39.132 2170
+-123.212 39.132 2145
+-123.086 39.132 2139
+-122.96 39.132 2129
+-122.834 39.132 2113
+-122.708 39.132 2149
+-122.582 39.132 2194
+-122.456 39.132 2265
+-122.33 39.132 2354
+-122.204 39.132 2463
+-122.078 39.132 2557
+-121.952 39.132 2642
+-121.826 39.132 2713
+-121.7 39.132 2787
+-121.574 39.132 2826
+-121.448 39.132 2868
+-121.322 39.132 2892
+-121.196 39.132 2931
+-121.07 39.132 3003
+-120.944 39.132 3049
+-120.818 39.132 3146
+-120.692 39.132 3214
+-120.566 39.132 3270
+-120.44 39.132 3307
+-120.314 39.132 3348
+-120.188 39.132 3392
+-120.062 39.132 3454
+-119.936 39.132 3480
+-119.81 39.132 3507
+-119.684 39.132 3554
+-119.558 39.132 3564
+-119.432 39.132 3593
+-119.306 39.132 3650
+-119.18 39.132 3717
+-119.054 39.132 3806
+-118.928 39.132 3868
+-118.802 39.132 3883
+-118.676 39.132 3885
+-118.55 39.132 3951
+-118.424 39.132 4016
+-118.298 39.132 4066
+-118.172 39.132 4083
+-118.046 39.132 4063
+-117.92 39.132 4072
+-117.794 39.132 4104
+-117.668 39.132 4166
+-117.542 39.132 4210
+-117.416 39.132 4231
+-117.29 39.132 4234
+-117.164 39.132 4214
+-117.038 39.132 4220
+-116.912 39.132 4218
+-116.786 39.132 4214
+-116.66 39.132 4183
+-116.534 39.132 4134
+-116.408 39.132 4054
+-116.282 39.132 3998
+-116.156 39.132 3960
+-116.03 39.132 4012
+-115.904 39.132 4045
+-115.778 39.132 4020
+-115.652 39.132 3913
+-115.526 39.132 3777
+-115.4 39.132 3695
+-115.274 39.132 3742
+-115.148 39.132 3725
+-115.022 39.132 3654
+-114.896 39.132 3535
+-114.77 39.132 3412
+-114.644 39.132 3342
+-114.518 39.132 3385
+-114.392 39.132 3423
+-114.266 39.132 3476
+-114.14 39.132 3508
+-114.014 39.132 3541
+-113.888 39.132 3560
+-113.762 39.132 3577
+-113.636 39.132 3592
+-113.51 39.132 3546
+-113.384 39.132 3466
+-113.258 39.132 3457
+-113.132 39.132 3438
+-113.006 39.132 3394
+-112.88 39.132 3320
+-112.754 39.132 3350
+-112.628 39.132 3189
+-112.502 39.132 3143
+-112.376 39.132 3105
+-112.25 39.132 3067
+-112.124 39.132 3026
+-111.998 39.132 2851
+-111.872 39.132 2803
+-111.746 39.132 2803
+-111.62 39.132 2646
+-111.494 39.132 2606
+-111.368 39.132 2566
+-111.242 39.132 2528
+-111.116 39.132 2475
+-110.99 39.132 2391
+-110.864 39.132 2364
+-110.738 39.132 2334
+-110.612 39.132 2315
+-110.486 39.132 2291
+-110.36 39.132 2219
+-110.234 39.132 2238
+-110.108 39.132 2230
+-109.982 39.132 2212
+-109.856 39.132 2215
+-109.73 39.132 2223
+-109.604 39.132 2192
+-109.478 39.132 2204
+-109.352 39.132 2215
+-109.226 39.132 2231
+-109.1 39.132 2277
+-108.974 39.132 2291
+-108.848 39.132 2265
+-108.722 39.132 2315
+-108.596 39.132 2326
+-108.47 39.132 2336
+-108.344 39.132 2346
+-108.218 39.132 2354
+-108.092 39.132 2362
+-107.966 39.132 2368
+-107.84 39.132 2384
+-107.714 39.132 2389
+-107.588 39.132 2395
+-107.462 39.132 2400
+-107.336 39.132 2405
+-107.21 39.132 2428
+-107.084 39.132 2433
+-106.958 39.132 2462
+-106.832 39.132 2528
+-106.706 39.132 2551
+-106.58 39.132 2558
+-106.454 39.132 2565
+-106.328 39.132 2571
+-106.202 39.132 2578
+-106.076 39.132 2542
+-105.95 39.132 2681
+-105.824 39.132 2708
+-105.698 39.132 2713
+-105.572 39.132 2719
+-105.446 39.132 2748
+-105.32 39.132 2754
+-105.194 39.132 2716
+-105.068 39.132 2721
+-104.942 39.132 2739
+-104.816 39.132 2657
+-104.69 39.132 2666
+-104.564 39.132 2664
+-104.438 39.132 2741
+-104.312 39.132 2739
+-104.186 39.132 2739
+-104.06 39.132 2729
+-103.934 39.132 2652
+-103.808 39.132 2653
+-103.682 39.132 2552
+-103.556 39.132 2538
+-103.43 39.132 2486
+-103.304 39.132 2503
+-103.178 39.132 2461
+-103.052 39.132 2475
+-102.926 39.132 2496
+-102.8 39.132 2493
+-102.674 39.132 2454
+-102.548 39.132 2490
+-102.422 39.132 2486
+-102.296 39.132 2488
+-102.17 39.132 2597
+-102.044 39.132 2601
+-101.918 39.132 2604
+-101.792 39.132 2673
+-101.666 39.132 2714
+-101.54 39.132 2715
+-101.414 39.132 2717
+-101.288 39.132 2823
+-101.162 39.132 2823
+-101.036 39.132 2823
+-100.91 39.132 2824
+-100.784 39.132 2825
+-100.658 39.132 2826
+-100.532 39.132 2827
+-100.406 39.132 2828
+-100.28 39.132 2830
+-100.154 39.132 2837
+-100.028 39.132 2839
+-99.902 39.132 2857
+-99.776 39.132 2859
+-99.65 39.132 2938
+-99.524 39.132 3037
+-99.398 39.132 3040
+-99.272 39.132 3043
+-99.146 39.132 3046
+-99.02 39.132 3050
+-98.894 39.132 3173
+-98.768 39.132 3179
+-98.642 39.132 3174
+-98.516 39.132 3169
+-98.39 39.132 3165
+-98.264 39.132 3240
+-98.138 39.132 3236
+-98.012 39.132 3233
+-97.886 39.132 3230
+-97.76 39.132 3227
+-97.634 39.132 3251
+-97.508 39.132 3273
+-97.382 39.132 3336
+-97.256 39.132 3333
+-97.13 39.132 3334
+-97.004 39.132 3343
+-96.878 39.132 3413
+-96.752 39.132 3451
+-96.626 39.132 3521
+-96.5 39.132 3605
+-96.374 39.132 3680
+-96.248 39.132 3758
+-96.122 39.132 3763
+-95.996 39.132 3666
+-95.87 39.132 3527
+-95.744 39.132 3782
+-95.618 39.132 3951
+-95.492 39.132 4051
+-95.366 39.132 4180
+-95.24 39.132 4286
+-95.114 39.132 4377
+-94.988 39.132 4530
+-94.862 39.132 4684
+-94.736 39.132 4761
+-94.61 39.132 4919
+-94.484 39.132 5180
+-94.358 39.132 5307
+-94.232 39.132 5328
+-94.106 39.132 5505
+-93.98 39.132 5565
+-93.854 39.132 5744
+-93.728 39.132 5875
+-93.602 39.132 6006
+-93.476 39.132 6093
+-93.35 39.132 6215
+-93.224 39.132 6416
+-93.098 39.132 6551
+-92.972 39.132 6663
+-92.846 39.132 6792
+-92.72 39.132 6972
+-92.594 39.132 7088
+-92.468 39.132 7201
+-92.342 39.132 7319
+-92.216 39.132 7480
+-92.09 39.132 7624
+-91.964 39.132 7800
+-91.838 39.132 7919
+-91.712 39.132 7999
+-91.586 39.132 8106
+-91.46 39.132 8236
+-91.334 39.132 8400
+-91.208 39.132 8463
+-91.082 39.132 8624
+-90.956 39.132 8784
+-90.83 39.132 8838
+-90.704 39.132 8942
+-90.578 39.132 8999
+-90.452 39.132 9012
+-90.326 39.132 9041
+-90.2 39.132 8988
+-90.074 39.132 8854
+-89.948 39.132 8746
+-89.822 39.132 8675
+-89.696 39.132 8528
+-89.57 39.132 8377
+-89.444 39.132 8237
+-89.318 39.132 8172
+-89.192 39.132 7996
+-89.066 39.132 7929
+-88.94 39.132 8176
+-88.814 39.132 8173
+-88.688 39.132 8163
+-88.562 39.132 8160
+-88.436 39.132 8136
+-88.31 39.132 8116
+-88.184 39.132 8032
+-88.058 39.132 7957
+-87.932 39.132 7905
+-87.806 39.132 7830
+-87.68 39.132 7756
+-87.554 39.132 7675
+-87.428 39.132 7516
+-87.302 39.132 7414
+-87.176 39.132 7330
+-87.05 39.132 7255
+-86.924 39.132 7165
+-86.798 39.132 7004
+-86.672 39.132 6859
+-86.546 39.132 6794
+-86.42 39.132 6709
+-86.294 39.132 6566
+-86.168 39.132 6423
+-86.042 39.132 6292
+-85.916 39.132 6215
+-85.79 39.132 6095
+-85.664 39.132 5999
+-85.538 39.132 5837
+-85.412 39.132 5672
+-85.286 39.132 5561
+-85.16 39.132 5343
+-85.034 39.132 5382
+-84.908 39.132 5239
+-84.782 39.132 5083
+-84.656 39.132 4895
+-84.53 39.132 4758
+-84.404 39.132 4737
+-84.278 39.132 4645
+-84.152 39.132 4539
+-84.026 39.132 4455
+-83.9 39.132 4392
+-83.774 39.132 4292
+-83.648 39.132 4264
+-83.522 39.132 4251
+-83.396 39.132 4229
+-83.27 39.132 4211
+-83.144 39.132 4193
+-83.018 39.132 4158
+-82.892 39.132 4145
+-82.766 39.132 4140
+-82.64 39.132 4136
+-82.514 39.132 4134
+-82.388 39.132 4134
+-82.262 39.132 4134
+-82.136 39.132 4028
+-82.01 39.132 3986
+-81.884 39.132 3940
+-81.758 39.132 3873
+-81.632 39.132 3830
+-81.506 39.132 3827
+-81.38 39.132 3825
+-81.254 39.132 3823
+-81.128 39.132 3821
+-81.002 39.132 3774
+-80.876 39.132 3749
+-80.75 39.132 3661
+-80.624 39.132 3660
+-80.498 39.132 3658
+-80.372 39.132 3657
+-80.246 39.132 3656
+-80.12 39.132 3655
+-79.994 39.132 3654
+-79.868 39.132 3654
+-79.742 39.132 3653
+-79.616 39.132 3653
+-79.49 39.132 3553
+-79.364 39.132 3566
+-79.238 39.132 3566
+-79.112 39.132 3546
+-78.986 39.132 3546
+-78.86 39.132 3545
+-78.734 39.132 3545
+-78.608 39.132 3545
+-78.482 39.132 3544
+-78.356 39.132 3544
+-78.23 39.132 3544
+-78.104 39.132 3544
+-77.978 39.132 3544
+-77.852 39.132 3544
+-77.726 39.132 3544
+-77.6 39.132 3452
+-77.474 39.132 3452
+-77.348 39.132 3453
+-77.222 39.132 3453
+-77.096 39.132 3453
+-76.97 39.132 3454
+-76.844 39.132 3454
+-76.718 39.132 3454
+-76.592 39.132 3454
+-76.466 39.132 3455
+-76.34 39.132 3455
+-76.214 39.132 3455
+-76.088 39.132 3456
+-75.962 39.132 3385
+-75.836 39.132 3384
+-75.71 39.132 3384
+-75.584 39.132 3383
+-75.458 39.132 3383
+-75.332 39.132 3382
+-75.206 39.132 3382
+-75.08 39.132 3381
+-74.954 39.132 3381
+-74.828 39.132 3380
+-74.702 39.132 3380
+-74.576 39.132 3379
+-74.45 39.132 3379
+-74.324 39.132 3379
+-74.198 39.132 3378
+-74.072 39.132 3378
+-73.946 39.132 3377
+-73.82 39.132 3377
+-73.694 39.132 3377
+-73.568 39.132 3376
+-73.442 39.132 3376
+-73.316 39.132 3376
+-73.19 39.132 3375
+-73.064 39.132 3375
+-72.938 39.132 3375
+-72.812 39.132 3070
+-72.686 39.132 3069
+-72.56 39.132 3068
+-72.434 39.132 3067
+-72.308 39.132 3066
+-72.182 39.132 3065
+-72.056 39.132 3064
+-71.93 39.132 3063
+-71.804 39.132 3062
+-71.678 39.132 3061
+-71.552 39.132 3060
+-71.426 39.132 3059
+-71.3 39.132 3058
+-71.174 39.132 3057
+-71.048 39.132 3056
+-70.922 39.132 3055
+-70.796 39.132 3055
+-70.67 39.132 3054
+-70.544 39.132 2927
+-70.418 39.132 2927
+-70.292 39.132 2896
+-70.166 39.132 2848
+-70.04 39.132 2847
+-69.914 39.132 2846
+-69.788 39.132 2861
+-69.662 39.132 2860
+-69.536 39.132 2871
+-69.41 39.132 2870
+-69.284 39.132 2829
+-69.158 39.132 2789
+-69.032 39.132 2789
+-68.906 39.132 2788
+-68.78 39.132 2788
+-68.654 39.132 2806
+-68.528 39.132 2812
+-68.402 39.132 2822
+-68.276 39.132 2820
+-68.15 39.132 2857
+-68.024 39.132 2869
+-67.898 39.132 2869
+-67.772 39.132 2929
+-67.646 39.132 2952
+-67.52 39.132 2928
+-67.394 39.132 2917
+-67.268 39.132 3077
+-67.142 39.132 3078
+-67.016 39.132 3146
+-66.89 39.132 3147
+-66.764 39.132 3148
+-66.638 39.132 3150
+-66.512 39.132 3151
+-66.386 39.132 3057
+-66.26 39.132 3079
+-66.134 39.132 3080
+-66.008 39.132 3067
+-65.882 39.132 3367
+-65.756 39.132 3400
+-65.63 39.132 3400
+-65.504 39.132 3394
+-65.378 39.132 3395
+-65.252 39.132 3399
+-65.126 39.132 3416
+-128 39.08 2443
+-127.874 39.08 2393
+-127.748 39.08 2387
+-127.622 39.08 2384
+-127.496 39.08 2383
+-127.37 39.08 2380
+-127.244 39.08 2376
+-127.118 39.08 2378
+-126.992 39.08 2412
+-126.866 39.08 2388
+-126.74 39.08 2395
+-126.614 39.08 2391
+-126.488 39.08 2367
+-126.362 39.08 2417
+-126.236 39.08 2423
+-126.11 39.08 2433
+-125.984 39.08 2426
+-125.858 39.08 2419
+-125.732 39.08 2421
+-125.606 39.08 2413
+-125.48 39.08 2379
+-125.354 39.08 2434
+-125.228 39.08 2435
+-125.102 39.08 2428
+-124.976 39.08 2415
+-124.85 39.08 2425
+-124.724 39.08 2366
+-124.598 39.08 2353
+-124.472 39.08 2338
+-124.346 39.08 2343
+-124.22 39.08 2328
+-124.094 39.08 2308
+-123.968 39.08 2264
+-123.842 39.08 2246
+-123.716 39.08 2221
+-123.59 39.08 2193
+-123.464 39.08 2181
+-123.338 39.08 2146
+-123.212 39.08 2114
+-123.086 39.08 2076
+-122.96 39.08 2047
+-122.834 39.08 2038
+-122.708 39.08 2035
+-122.582 39.08 2084
+-122.456 39.08 2173
+-122.33 39.08 2306
+-122.204 39.08 2428
+-122.078 39.08 2529
+-121.952 39.08 2629
+-121.826 39.08 2727
+-121.7 39.08 2785
+-121.574 39.08 2820
+-121.448 39.08 2835
+-121.322 39.08 2861
+-121.196 39.08 2913
+-121.07 39.08 2983
+-120.944 39.08 3060
+-120.818 39.08 3154
+-120.692 39.08 3221
+-120.566 39.08 3267
+-120.44 39.08 3304
+-120.314 39.08 3358
+-120.188 39.08 3438
+-120.062 39.08 3484
+-119.936 39.08 3507
+-119.81 39.08 3557
+-119.684 39.08 3589
+-119.558 39.08 3634
+-119.432 39.08 3679
+-119.306 39.08 3721
+-119.18 39.08 3810
+-119.054 39.08 3882
+-118.928 39.08 3917
+-118.802 39.08 3938
+-118.676 39.08 3986
+-118.55 39.08 4036
+-118.424 39.08 4086
+-118.298 39.08 4128
+-118.172 39.08 4139
+-118.046 39.08 4124
+-117.92 39.08 4138
+-117.794 39.08 4174
+-117.668 39.08 4222
+-117.542 39.08 4261
+-117.416 39.08 4280
+-117.29 39.08 4321
+-117.164 39.08 4314
+-117.038 39.08 4308
+-116.912 39.08 4307
+-116.786 39.08 4284
+-116.66 39.08 4243
+-116.534 39.08 4193
+-116.408 39.08 4135
+-116.282 39.08 4079
+-116.156 39.08 4039
+-116.03 39.08 4065
+-115.904 39.08 4090
+-115.778 39.08 4067
+-115.652 39.08 3974
+-115.526 39.08 3857
+-115.4 39.08 3772
+-115.274 39.08 3788
+-115.148 39.08 3782
+-115.022 39.08 3713
+-114.896 39.08 3570
+-114.77 39.08 3459
+-114.644 39.08 3395
+-114.518 39.08 3367
+-114.392 39.08 3413
+-114.266 39.08 3472
+-114.14 39.08 3523
+-114.014 39.08 3553
+-113.888 39.08 3577
+-113.762 39.08 3594
+-113.636 39.08 3603
+-113.51 39.08 3612
+-113.384 39.08 3583
+-113.258 39.08 3586
+-113.132 39.08 3638
+-113.006 39.08 3584
+-112.88 39.08 3394
+-112.754 39.08 3375
+-112.628 39.08 3295
+-112.502 39.08 3171
+-112.376 39.08 3135
+-112.25 39.08 3096
+-112.124 39.08 3055
+-111.998 39.08 3007
+-111.872 39.08 2882
+-111.746 39.08 2837
+-111.62 39.08 2734
+-111.494 39.08 2634
+-111.368 39.08 2590
+-111.242 39.08 2590
+-111.116 39.08 2441
+-110.99 39.08 2407
+-110.864 39.08 2369
+-110.738 39.08 2340
+-110.612 39.08 2305
+-110.486 39.08 2254
+-110.36 39.08 2231
+-110.234 39.08 2214
+-110.108 39.08 2190
+-109.982 39.08 2187
+-109.856 39.08 2192
+-109.73 39.08 2195
+-109.604 39.08 2208
+-109.478 39.08 2226
+-109.352 39.08 2243
+-109.226 39.08 2258
+-109.1 39.08 2276
+-108.974 39.08 2255
+-108.848 39.08 2305
+-108.722 39.08 2318
+-108.596 39.08 2330
+-108.47 39.08 2341
+-108.344 39.08 2350
+-108.218 39.08 2358
+-108.092 39.08 2366
+-107.966 39.08 2381
+-107.84 39.08 2387
+-107.714 39.08 2393
+-107.588 39.08 2398
+-107.462 39.08 2402
+-107.336 39.08 2424
+-107.21 39.08 2429
+-107.084 39.08 2458
+-106.958 39.08 2521
+-106.832 39.08 2543
+-106.706 39.08 2550
+-106.58 39.08 2557
+-106.454 39.08 2564
+-106.328 39.08 2571
+-106.202 39.08 2536
+-106.076 39.08 2670
+-105.95 39.08 2697
+-105.824 39.08 2704
+-105.698 39.08 2710
+-105.572 39.08 2738
+-105.446 39.08 2744
+-105.32 39.08 2708
+-105.194 39.08 2714
+-105.068 39.08 2732
+-104.942 39.08 2737
+-104.816 39.08 2669
+-104.69 39.08 2668
+-104.564 39.08 2745
+-104.438 39.08 2744
+-104.312 39.08 2745
+-104.186 39.08 2736
+-104.06 39.08 2781
+-103.934 39.08 2788
+-103.808 39.08 2735
+-103.682 39.08 2562
+-103.556 39.08 2625
+-103.43 39.08 2575
+-103.304 39.08 2596
+-103.178 39.08 2554
+-103.052 39.08 2539
+-102.926 39.08 2496
+-102.8 39.08 2496
+-102.674 39.08 2461
+-102.548 39.08 2459
+-102.422 39.08 2492
+-102.296 39.08 2495
+-102.17 39.08 2605
+-102.044 39.08 2609
+-101.918 39.08 2613
+-101.792 39.08 2657
+-101.666 39.08 2711
+-101.54 39.08 2725
+-101.414 39.08 2727
+-101.288 39.08 2728
+-101.162 39.08 2855
+-101.036 39.08 2855
+-100.91 39.08 2856
+-100.784 39.08 2857
+-100.658 39.08 2858
+-100.532 39.08 2859
+-100.406 39.08 2860
+-100.28 39.08 2862
+-100.154 39.08 2864
+-100.028 39.08 2866
+-99.902 39.08 2873
+-99.776 39.08 2951
+-99.65 39.08 2954
+-99.524 39.08 2957
+-99.398 39.08 3056
+-99.272 39.08 3059
+-99.146 39.08 3062
+-99.02 39.08 3179
+-98.894 39.08 3176
+-98.768 39.08 3178
+-98.642 39.08 3182
+-98.516 39.08 3178
+-98.39 39.08 3174
+-98.264 39.08 3169
+-98.138 39.08 3243
+-98.012 39.08 3240
+-97.886 39.08 3237
+-97.76 39.08 3264
+-97.634 39.08 3304
+-97.508 39.08 3301
+-97.382 39.08 3331
+-97.256 39.08 3356
+-97.13 39.08 3364
+-97.004 39.08 3380
+-96.878 39.08 3405
+-96.752 39.08 3492
+-96.626 39.08 3535
+-96.5 39.08 3581
+-96.374 39.08 3689
+-96.248 39.08 3749
+-96.122 39.08 3752
+-95.996 39.08 3727
+-95.87 39.08 3698
+-95.744 39.08 3850
+-95.618 39.08 4035
+-95.492 39.08 4141
+-95.366 39.08 4246
+-95.24 39.08 4366
+-95.114 39.08 4462
+-94.988 39.08 4550
+-94.862 39.08 4675
+-94.736 39.08 4795
+-94.61 39.08 4958
+-94.484 39.08 5128
+-94.358 39.08 5260
+-94.232 39.08 5381
+-94.106 39.08 5527
+-93.98 39.08 5591
+-93.854 39.08 5752
+-93.728 39.08 5907
+-93.602 39.08 6001
+-93.476 39.08 6105
+-93.35 39.08 6239
+-93.224 39.08 6438
+-93.098 39.08 6503
+-92.972 39.08 6646
+-92.846 39.08 6812
+-92.72 39.08 6963
+-92.594 39.08 7119
+-92.468 39.08 7157
+-92.342 39.08 7349
+-92.216 39.08 7532
+-92.09 39.08 7646
+-91.964 39.08 7810
+-91.838 39.08 7910
+-91.712 39.08 7975
+-91.586 39.08 8156
+-91.46 39.08 8272
+-91.334 39.08 8414
+-91.208 39.08 8493
+-91.082 39.08 8625
+-90.956 39.08 8758
+-90.83 39.08 8907
+-90.704 39.08 9017
+-90.578 39.08 9081
+-90.452 39.08 9090
+-90.326 39.08 9045
+-90.2 39.08 9004
+-90.074 39.08 8901
+-89.948 39.08 8785
+-89.822 39.08 8674
+-89.696 39.08 8555
+-89.57 39.08 8399
+-89.444 39.08 8301
+-89.318 39.08 8180
+-89.192 39.08 8042
+-89.066 39.08 8253
+-88.94 39.08 8245
+-88.814 39.08 8239
+-88.688 39.08 8259
+-88.562 39.08 8215
+-88.436 39.08 8198
+-88.31 39.08 8143
+-88.184 39.08 8096
+-88.058 39.08 8038
+-87.932 39.08 7958
+-87.806 39.08 7896
+-87.68 39.08 7747
+-87.554 39.08 7712
+-87.428 39.08 7566
+-87.302 39.08 7502
+-87.176 39.08 7421
+-87.05 39.08 7277
+-86.924 39.08 7191
+-86.798 39.08 7008
+-86.672 39.08 6945
+-86.546 39.08 6833
+-86.42 39.08 6700
+-86.294 39.08 6581
+-86.168 39.08 6510
+-86.042 39.08 6331
+-85.916 39.08 6202
+-85.79 39.08 6115
+-85.664 39.08 5911
+-85.538 39.08 5880
+-85.412 39.08 5679
+-85.286 39.08 5509
+-85.16 39.08 5474
+-85.034 39.08 5419
+-84.908 39.08 5330
+-84.782 39.08 5190
+-84.656 39.08 4997
+-84.53 39.08 4842
+-84.404 39.08 4759
+-84.278 39.08 4668
+-84.152 39.08 4554
+-84.026 39.08 4466
+-83.9 39.08 4391
+-83.774 39.08 4295
+-83.648 39.08 4266
+-83.522 39.08 4227
+-83.396 39.08 4211
+-83.27 39.08 4191
+-83.144 39.08 4172
+-83.018 39.08 4163
+-82.892 39.08 4158
+-82.766 39.08 4154
+-82.64 39.08 4150
+-82.514 39.08 4148
+-82.388 39.08 4147
+-82.262 39.08 4097
+-82.136 39.08 4038
+-82.01 39.08 3997
+-81.884 39.08 3888
+-81.758 39.08 3837
+-81.632 39.08 3833
+-81.506 39.08 3830
+-81.38 39.08 3827
+-81.254 39.08 3824
+-81.128 39.08 3768
+-81.002 39.08 3751
+-80.876 39.08 3749
+-80.75 39.08 3662
+-80.624 39.08 3660
+-80.498 39.08 3659
+-80.372 39.08 3657
+-80.246 39.08 3656
+-80.12 39.08 3655
+-79.994 39.08 3655
+-79.868 39.08 3654
+-79.742 39.08 3654
+-79.616 39.08 3653
+-79.49 39.08 3567
+-79.364 39.08 3567
+-79.238 39.08 3547
+-79.112 39.08 3546
+-78.986 39.08 3546
+-78.86 39.08 3545
+-78.734 39.08 3545
+-78.608 39.08 3545
+-78.482 39.08 3545
+-78.356 39.08 3544
+-78.23 39.08 3544
+-78.104 39.08 3544
+-77.978 39.08 3544
+-77.852 39.08 3544
+-77.726 39.08 3452
+-77.6 39.08 3452
+-77.474 39.08 3453
+-77.348 39.08 3453
+-77.222 39.08 3453
+-77.096 39.08 3454
+-76.97 39.08 3454
+-76.844 39.08 3454
+-76.718 39.08 3455
+-76.592 39.08 3455
+-76.466 39.08 3455
+-76.34 39.08 3455
+-76.214 39.08 3456
+-76.088 39.08 3385
+-75.962 39.08 3384
+-75.836 39.08 3384
+-75.71 39.08 3383
+-75.584 39.08 3383
+-75.458 39.08 3382
+-75.332 39.08 3382
+-75.206 39.08 3381
+-75.08 39.08 3381
+-74.954 39.08 3380
+-74.828 39.08 3380
+-74.702 39.08 3379
+-74.576 39.08 3379
+-74.45 39.08 3378
+-74.324 39.08 3378
+-74.198 39.08 3377
+-74.072 39.08 3377
+-73.946 39.08 3377
+-73.82 39.08 3376
+-73.694 39.08 3376
+-73.568 39.08 3376
+-73.442 39.08 3375
+-73.316 39.08 3375
+-73.19 39.08 3375
+-73.064 39.08 3374
+-72.938 39.08 3070
+-72.812 39.08 3069
+-72.686 39.08 3068
+-72.56 39.08 3067
+-72.434 39.08 3066
+-72.308 39.08 3065
+-72.182 39.08 3064
+-72.056 39.08 3062
+-71.93 39.08 3061
+-71.804 39.08 3060
+-71.678 39.08 3060
+-71.552 39.08 3059
+-71.426 39.08 3058
+-71.3 39.08 3057
+-71.174 39.08 3056
+-71.048 39.08 3055
+-70.922 39.08 3054
+-70.796 39.08 3053
+-70.67 39.08 2927
+-70.544 39.08 2926
+-70.418 39.08 2895
+-70.292 39.08 2848
+-70.166 39.08 2846
+-70.04 39.08 2845
+-69.914 39.08 2860
+-69.788 39.08 2859
+-69.662 39.08 2870
+-69.536 39.08 2869
+-69.41 39.08 2828
+-69.284 39.08 2788
+-69.158 39.08 2788
+-69.032 39.08 2787
+-68.906 39.08 2787
+-68.78 39.08 2806
+-68.654 39.08 2812
+-68.528 39.08 2821
+-68.402 39.08 2819
+-68.276 39.08 2856
+-68.15 39.08 2868
+-68.024 39.08 2868
+-67.898 39.08 2928
+-67.772 39.08 2951
+-67.646 39.08 2927
+-67.52 39.08 2915
+-67.394 39.08 3075
+-67.268 39.08 3077
+-67.142 39.08 3145
+-67.016 39.08 3146
+-66.89 39.08 3147
+-66.764 39.08 3148
+-66.638 39.08 3150
+-66.512 39.08 3056
+-66.386 39.08 3078
+-66.26 39.08 3079
+-66.134 39.08 3066
+-66.008 39.08 3366
+-65.882 39.08 3399
+-65.756 39.08 3399
+-65.63 39.08 3393
+-65.504 39.08 3394
+-65.378 39.08 3398
+-65.252 39.08 3415
+-65.126 39.08 3416
+-128 39.028 2434
+-127.874 39.028 2390
+-127.748 39.028 2379
+-127.622 39.028 2388
+-127.496 39.028 2385
+-127.37 39.028 2381
+-127.244 39.028 2385
+-127.118 39.028 2422
+-126.992 39.028 2395
+-126.866 39.028 2405
+-126.74 39.028 2401
+-126.614 39.028 2376
+-126.488 39.028 2430
+-126.362 39.028 2425
+-126.236 39.028 2439
+-126.11 39.028 2443
+-125.984 39.028 2436
+-125.858 39.028 2437
+-125.732 39.028 2430
+-125.606 39.028 2492
+-125.48 39.028 2447
+-125.354 39.028 2436
+-125.228 39.028 2458
+-125.102 39.028 2451
+-124.976 39.028 2444
+-124.85 39.028 2433
+-124.724 39.028 2416
+-124.598 39.028 2356
+-124.472 39.028 2363
+-124.346 39.028 2345
+-124.22 39.028 2324
+-124.094 39.028 2305
+-123.968 39.028 2279
+-123.842 39.028 2231
+-123.716 39.028 2205
+-123.59 39.028 2192
+-123.464 39.028 2153
+-123.338 39.028 2109
+-123.212 39.028 2067
+-123.086 39.028 2026
+-122.96 39.028 1973
+-122.834 39.028 1921
+-122.708 39.028 1907
+-122.582 39.028 1957
+-122.456 39.028 2085
+-122.33 39.028 2230
+-122.204 39.028 2382
+-122.078 39.028 2519
+-121.952 39.028 2636
+-121.826 39.028 2727
+-121.7 39.028 2785
+-121.574 39.028 2812
+-121.448 39.028 2814
+-121.322 39.028 2800
+-121.196 39.028 2852
+-121.07 39.028 2947
+-120.944 39.028 3045
+-120.818 39.028 3151
+-120.692 39.028 3226
+-120.566 39.028 3248
+-120.44 39.028 3295
+-120.314 39.028 3376
+-120.188 39.028 3456
+-120.062 39.028 3514
+-119.936 39.028 3544
+-119.81 39.028 3564
+-119.684 39.028 3624
+-119.558 39.028 3674
+-119.432 39.028 3734
+-119.306 39.028 3790
+-119.18 39.028 3882
+-119.054 39.028 3946
+-118.928 39.028 3978
+-118.802 39.028 4003
+-118.676 39.028 4079
+-118.55 39.028 4106
+-118.424 39.028 4137
+-118.298 39.028 4170
+-118.172 39.028 4174
+-118.046 39.028 4187
+-117.92 39.028 4219
+-117.794 39.028 4247
+-117.668 39.028 4287
+-117.542 39.028 4322
+-117.416 39.028 4342
+-117.29 39.028 4353
+-117.164 39.028 4348
+-117.038 39.028 4341
+-116.912 39.028 4337
+-116.786 39.028 4314
+-116.66 39.028 4279
+-116.534 39.028 4252
+-116.408 39.028 4210
+-116.282 39.028 4177
+-116.156 39.028 4148
+-116.03 39.028 4141
+-115.904 39.028 4137
+-115.778 39.028 4106
+-115.652 39.028 4040
+-115.526 39.028 3966
+-115.4 39.028 3898
+-115.274 39.028 3883
+-115.148 39.028 3828
+-115.022 39.028 3760
+-114.896 39.028 3662
+-114.77 39.028 3563
+-114.644 39.028 3472
+-114.518 39.028 3426
+-114.392 39.028 3461
+-114.266 39.028 3508
+-114.14 39.028 3548
+-114.014 39.028 3578
+-113.888 39.028 3598
+-113.762 39.028 3608
+-113.636 39.028 3616
+-113.51 39.028 3588
+-113.384 39.028 3590
+-113.258 39.028 3638
+-113.132 39.028 3642
+-113.006 39.028 3588
+-112.88 39.028 3584
+-112.754 39.028 3397
+-112.628 39.028 3369
+-112.502 39.028 3247
+-112.376 39.028 3160
+-112.25 39.028 3121
+-112.124 39.028 3124
+-111.998 39.028 3074
+-111.872 39.028 3028
+-111.746 39.028 2864
+-111.62 39.028 2759
+-111.494 39.028 2710
+-111.368 39.028 2598
+-111.242 39.028 2596
+-111.116 39.028 2509
+-110.99 39.028 2456
+-110.864 39.028 2374
+-110.738 39.028 2329
+-110.612 39.028 2266
+-110.486 39.028 2231
+-110.36 39.028 2200
+-110.234 39.028 2165
+-110.108 39.028 2153
+-109.982 39.028 2151
+-109.856 39.028 2152
+-109.73 39.028 2167
+-109.604 39.028 2188
+-109.478 39.028 2210
+-109.352 39.028 2230
+-109.226 39.028 2253
+-109.1 39.028 2276
+-108.974 39.028 2290
+-108.848 39.028 2307
+-108.722 39.028 2321
+-108.596 39.028 2334
+-108.47 39.028 2345
+-108.344 39.028 2354
+-108.218 39.028 2362
+-108.092 39.028 2378
+-107.966 39.028 2384
+-107.84 39.028 2390
+-107.714 39.028 2395
+-107.588 39.028 2399
+-107.462 39.028 2420
+-107.336 39.028 2425
+-107.21 39.028 2453
+-107.084 39.028 2513
+-106.958 39.028 2535
+-106.832 39.028 2541
+-106.706 39.028 2548
+-106.58 39.028 2556
+-106.454 39.028 2563
+-106.328 39.028 2530
+-106.202 39.028 2659
+-106.076 39.028 2686
+-105.95 39.028 2693
+-105.824 39.028 2699
+-105.698 39.028 2728
+-105.572 39.028 2735
+-105.446 39.028 2700
+-105.32 39.028 2706
+-105.194 39.028 2725
+-105.068 39.028 2730
+-104.942 39.028 2778
+-104.816 39.028 2671
+-104.69 39.028 2747
+-104.564 39.028 2748
+-104.438 39.028 2750
+-104.312 39.028 2742
+-104.186 39.028 2788
+-104.06 39.028 2796
+-103.934 39.028 2744
+-103.808 39.028 2719
+-103.682 39.028 2790
+-103.556 39.028 2609
+-103.43 39.028 2565
+-103.304 39.028 2603
+-103.178 39.028 2594
+-103.052 39.028 2561
+-102.926 39.028 2519
+-102.8 39.028 2518
+-102.674 39.028 2515
+-102.548 39.028 2466
+-102.422 39.028 2545
+-102.296 39.028 2546
+-102.17 39.028 2612
+-102.044 39.028 2616
+-101.918 39.028 2621
+-101.792 39.028 2665
+-101.666 39.028 2667
+-101.54 39.028 2722
+-101.414 39.028 2736
+-101.288 39.028 2738
+-101.162 39.028 2868
+-101.036 39.028 2868
+-100.91 39.028 2869
+-100.784 39.028 2870
+-100.658 39.028 2872
+-100.532 39.028 2873
+-100.406 39.028 2875
+-100.28 39.028 2877
+-100.154 39.028 2879
+-100.028 39.028 2881
+-99.902 39.028 2883
+-99.776 39.028 2966
+-99.65 39.028 2969
+-99.524 39.028 2972
+-99.398 39.028 2976
+-99.272 39.028 3074
+-99.146 39.028 3190
+-99.02 39.028 3187
+-98.894 39.028 3183
+-98.768 39.028 3180
+-98.642 39.028 3182
+-98.516 39.028 3185
+-98.39 39.028 3181
+-98.264 39.028 3177
+-98.138 39.028 3173
+-98.012 39.028 3246
+-97.886 39.028 3267
+-97.76 39.028 3311
+-97.634 39.028 3306
+-97.508 39.028 3304
+-97.382 39.028 3305
+-97.256 39.028 3342
+-97.13 39.028 3372
+-97.004 39.028 3390
+-96.878 39.028 3467
+-96.752 39.028 3500
+-96.626 39.028 3569
+-96.5 39.028 3599
+-96.374 39.028 3635
+-96.248 39.028 3716
+-96.122 39.028 3739
+-95.996 39.028 3772
+-95.87 39.028 3836
+-95.744 39.028 3953
+-95.618 39.028 4092
+-95.492 39.028 4191
+-95.366 39.028 4313
+-95.24 39.028 4404
+-95.114 39.028 4475
+-94.988 39.028 4486
+-94.862 39.028 4667
+-94.736 39.028 4772
+-94.61 39.028 4940
+-94.484 39.028 5002
+-94.358 39.028 5183
+-94.232 39.028 5369
+-94.106 39.028 5533
+-93.98 39.028 5594
+-93.854 39.028 5699
+-93.728 39.028 5891
+-93.602 39.028 6042
+-93.476 39.028 6112
+-93.35 39.028 6274
+-93.224 39.028 6416
+-93.098 39.028 6574
+-92.972 39.028 6704
+-92.846 39.028 6828
+-92.72 39.028 6961
+-92.594 39.028 7035
+-92.468 39.028 7282
+-92.342 39.028 7320
+-92.216 39.028 7526
+-92.09 39.028 7637
+-91.964 39.028 7703
+-91.838 39.028 7904
+-91.712 39.028 8041
+-91.586 39.028 8134
+-91.46 39.028 8317
+-91.334 39.028 8440
+-91.208 39.028 8540
+-91.082 39.028 8691
+-90.956 39.028 8803
+-90.83 39.028 8903
+-90.704 39.028 9006
+-90.578 39.028 9123
+-90.452 39.028 9143
+-90.326 39.028 9090
+-90.2 39.028 9100
+-90.074 39.028 8917
+-89.948 39.028 8806
+-89.822 39.028 8721
+-89.696 39.028 8511
+-89.57 39.028 8399
+-89.444 39.028 8286
+-89.318 39.028 8170
+-89.192 39.028 8074
+-89.066 39.028 8127
+-88.94 39.028 8304
+-88.814 39.028 8323
+-88.688 39.028 8307
+-88.562 39.028 8290
+-88.436 39.028 8235
+-88.31 39.028 8225
+-88.184 39.028 8142
+-88.058 39.028 8083
+-87.932 39.028 8005
+-87.806 39.028 7973
+-87.68 39.028 7851
+-87.554 39.028 7699
+-87.428 39.028 7632
+-87.302 39.028 7492
+-87.176 39.028 7447
+-87.05 39.028 7360
+-86.924 39.028 7218
+-86.798 39.028 7090
+-86.672 39.028 6993
+-86.546 39.028 6882
+-86.42 39.028 6743
+-86.294 39.028 6589
+-86.168 39.028 6459
+-86.042 39.028 6360
+-85.916 39.028 6198
+-85.79 39.028 6130
+-85.664 39.028 5960
+-85.538 39.028 5895
+-85.412 39.028 5743
+-85.286 39.028 5568
+-85.16 39.028 5414
+-85.034 39.028 5445
+-84.908 39.028 5377
+-84.782 39.028 5235
+-84.656 39.028 5098
+-84.53 39.028 4948
+-84.404 39.028 4825
+-84.278 39.028 4694
+-84.152 39.028 4556
+-84.026 39.028 4431
+-83.9 39.028 4308
+-83.774 39.028 4226
+-83.648 39.028 4214
+-83.522 39.028 4185
+-83.396 39.028 4202
+-83.27 39.028 4184
+-83.144 39.028 4182
+-83.018 39.028 4169
+-82.892 39.028 4166
+-82.766 39.028 4163
+-82.64 39.028 4160
+-82.514 39.028 4158
+-82.388 39.028 4105
+-82.262 39.028 4061
+-82.136 39.028 4002
+-82.01 39.028 3940
+-81.884 39.028 3889
+-81.758 39.028 3886
+-81.632 39.028 3835
+-81.506 39.028 3831
+-81.38 39.028 3827
+-81.254 39.028 3769
+-81.128 39.028 3754
+-81.002 39.028 3751
+-80.876 39.028 3748
+-80.75 39.028 3746
+-80.624 39.028 3660
+-80.498 39.028 3659
+-80.372 39.028 3657
+-80.246 39.028 3656
+-80.12 39.028 3655
+-79.994 39.028 3654
+-79.868 39.028 3654
+-79.742 39.028 3653
+-79.616 39.028 3568
+-79.49 39.028 3567
+-79.364 39.028 3547
+-79.238 39.028 3547
+-79.112 39.028 3546
+-78.986 39.028 3546
+-78.86 39.028 3545
+-78.734 39.028 3545
+-78.608 39.028 3545
+-78.482 39.028 3545
+-78.356 39.028 3544
+-78.23 39.028 3544
+-78.104 39.028 3544
+-77.978 39.028 3544
+-77.852 39.028 3452
+-77.726 39.028 3453
+-77.6 39.028 3453
+-77.474 39.028 3453
+-77.348 39.028 3453
+-77.222 39.028 3454
+-77.096 39.028 3454
+-76.97 39.028 3454
+-76.844 39.028 3455
+-76.718 39.028 3455
+-76.592 39.028 3455
+-76.466 39.028 3455
+-76.34 39.028 3456
+-76.214 39.028 3385
+-76.088 39.028 3384
+-75.962 39.028 3384
+-75.836 39.028 3383
+-75.71 39.028 3383
+-75.584 39.028 3382
+-75.458 39.028 3382
+-75.332 39.028 3381
+-75.206 39.028 3380
+-75.08 39.028 3380
+-74.954 39.028 3379
+-74.828 39.028 3379
+-74.702 39.028 3379
+-74.576 39.028 3378
+-74.45 39.028 3378
+-74.324 39.028 3377
+-74.198 39.028 3377
+-74.072 39.028 3376
+-73.946 39.028 3376
+-73.82 39.028 3376
+-73.694 39.028 3375
+-73.568 39.028 3375
+-73.442 39.028 3375
+-73.316 39.028 3374
+-73.19 39.028 3374
+-73.064 39.028 3070
+-72.938 39.028 3069
+-72.812 39.028 3068
+-72.686 39.028 3067
+-72.56 39.028 3066
+-72.434 39.028 3064
+-72.308 39.028 3063
+-72.182 39.028 3062
+-72.056 39.028 3061
+-71.93 39.028 3060
+-71.804 39.028 3059
+-71.678 39.028 3058
+-71.552 39.028 3057
+-71.426 39.028 3056
+-71.3 39.028 3055
+-71.174 39.028 3055
+-71.048 39.028 3054
+-70.922 39.028 3053
+-70.796 39.028 2927
+-70.67 39.028 2926
+-70.544 39.028 2895
+-70.418 39.028 2847
+-70.292 39.028 2846
+-70.166 39.028 2845
+-70.04 39.028 2860
+-69.914 39.028 2859
+-69.788 39.028 2869
+-69.662 39.028 2869
+-69.536 39.028 2828
+-69.41 39.028 2787
+-69.284 39.028 2787
+-69.158 39.028 2787
+-69.032 39.028 2786
+-68.906 39.028 2805
+-68.78 39.028 2811
+-68.654 39.028 2820
+-68.528 39.028 2818
+-68.402 39.028 2855
+-68.276 39.028 2867
+-68.15 39.028 2867
+-68.024 39.028 2927
+-67.898 39.028 2950
+-67.772 39.028 2926
+-67.646 39.028 2914
+-67.52 39.028 3074
+-67.394 39.028 3075
+-67.268 39.028 3143
+-67.142 39.028 3144
+-67.016 39.028 3146
+-66.89 39.028 3147
+-66.764 39.028 3148
+-66.638 39.028 3055
+-66.512 39.028 3077
+-66.386 39.028 3078
+-66.26 39.028 3065
+-66.134 39.028 3365
+-66.008 39.028 3398
+-65.882 39.028 3398
+-65.756 39.028 3392
+-65.63 39.028 3393
+-65.504 39.028 3397
+-65.378 39.028 3415
+-65.252 39.028 3415
+-65.126 39.028 3401
+-128 38.976 2394
+-127.874 38.976 2384
+-127.748 38.976 2380
+-127.622 38.976 2390
+-127.496 38.976 2383
+-127.37 38.976 2392
+-127.244 38.976 2432
+-127.118 38.976 2445
+-126.992 38.976 2441
+-126.866 38.976 2411
+-126.74 38.976 2439
+-126.614 38.976 2434
+-126.488 38.976 2439
+-126.362 38.976 2455
+-126.236 38.976 2449
+-126.11 38.976 2443
+-125.984 38.976 2436
+-125.858 38.976 2407
+-125.732 38.976 2513
+-125.606 38.976 2502
+-125.48 38.976 2455
+-125.354 38.976 2470
+-125.228 38.976 2457
+-125.102 38.976 2454
+-124.976 38.976 2441
+-124.85 38.976 2437
+-124.724 38.976 2452
+-124.598 38.976 2385
+-124.472 38.976 2367
+-124.346 38.976 2347
+-124.22 38.976 2325
+-124.094 38.976 2300
+-123.968 38.976 2275
+-123.842 38.976 2266
+-123.716 38.976 2211
+-123.59 38.976 2173
+-123.464 38.976 2129
+-123.338 38.976 2083
+-123.212 38.976 2040
+-123.086 38.976 1973
+-122.96 38.976 1895
+-122.834 38.976 1814
+-122.708 38.976 1770
+-122.582 38.976 1844
+-122.456 38.976 1992
+-122.33 38.976 2168
+-122.204 38.976 2337
+-122.078 38.976 2491
+-121.952 38.976 2622
+-121.826 38.976 2733
+-121.7 38.976 2806
+-121.574 38.976 2824
+-121.448 38.976 2794
+-121.322 38.976 2751
+-121.196 38.976 2827
+-121.07 38.976 2943
+-120.944 38.976 3053
+-120.818 38.976 3168
+-120.692 38.976 3234
+-120.566 38.976 3228
+-120.44 38.976 3277
+-120.314 38.976 3391
+-120.188 38.976 3485
+-120.062 38.976 3548
+-119.936 38.976 3551
+-119.81 38.976 3575
+-119.684 38.976 3634
+-119.558 38.976 3702
+-119.432 38.976 3788
+-119.306 38.976 3847
+-119.18 38.976 3962
+-119.054 38.976 4011
+-118.928 38.976 4047
+-118.802 38.976 4094
+-118.676 38.976 4149
+-118.55 38.976 4162
+-118.424 38.976 4193
+-118.298 38.976 4207
+-118.172 38.976 4206
+-118.046 38.976 4234
+-117.92 38.976 4227
+-117.794 38.976 4281
+-117.668 38.976 4337
+-117.542 38.976 4356
+-117.416 38.976 4369
+-117.29 38.976 4383
+-117.164 38.976 4391
+-117.038 38.976 4378
+-116.912 38.976 4363
+-116.786 38.976 4339
+-116.66 38.976 4307
+-116.534 38.976 4273
+-116.408 38.976 4251
+-116.282 38.976 4220
+-116.156 38.976 4195
+-116.03 38.976 4173
+-115.904 38.976 4155
+-115.778 38.976 4131
+-115.652 38.976 4091
+-115.526 38.976 4038
+-115.4 38.976 3986
+-115.274 38.976 3944
+-115.148 38.976 3886
+-115.022 38.976 3832
+-114.896 38.976 3754
+-114.77 38.976 3677
+-114.644 38.976 3606
+-114.518 38.976 3565
+-114.392 38.976 3594
+-114.266 38.976 3605
+-114.14 38.976 3636
+-114.014 38.976 3605
+-113.888 38.976 3617
+-113.762 38.976 3622
+-113.636 38.976 3646
+-113.51 38.976 3620
+-113.384 38.976 3638
+-113.258 38.976 3641
+-113.132 38.976 3644
+-113.006 38.976 3590
+-112.88 38.976 3586
+-112.754 38.976 3582
+-112.628 38.976 3397
+-112.502 38.976 3318
+-112.376 38.976 3226
+-112.25 38.976 3186
+-112.124 38.976 3138
+-111.998 38.976 3092
+-111.872 38.976 3044
+-111.746 38.976 2993
+-111.62 38.976 2881
+-111.494 38.976 2707
+-111.368 38.976 2658
+-111.242 38.976 2615
+-111.116 38.976 2560
+-110.99 38.976 2418
+-110.864 38.976 2366
+-110.738 38.976 2292
+-110.612 38.976 2243
+-110.486 38.976 2196
+-110.36 38.976 2145
+-110.234 38.976 2116
+-110.108 38.976 2102
+-109.982 38.976 2097
+-109.856 38.976 2109
+-109.73 38.976 2133
+-109.604 38.976 2161
+-109.478 38.976 2188
+-109.352 38.976 2219
+-109.226 38.976 2249
+-109.1 38.976 2269
+-108.974 38.976 2291
+-108.848 38.976 2309
+-108.722 38.976 2325
+-108.596 38.976 2338
+-108.47 38.976 2349
+-108.344 38.976 2358
+-108.218 38.976 2375
+-108.092 38.976 2381
+-107.966 38.976 2387
+-107.84 38.976 2392
+-107.714 38.976 2396
+-107.588 38.976 2416
+-107.462 38.976 2420
+-107.336 38.976 2447
+-107.21 38.976 2504
+-107.084 38.976 2525
+-106.958 38.976 2532
+-106.832 38.976 2539
+-106.706 38.976 2546
+-106.58 38.976 2553
+-106.454 38.976 2522
+-106.328 38.976 2647
+-106.202 38.976 2673
+-106.076 38.976 2681
+-105.95 38.976 2688
+-105.824 38.976 2716
+-105.698 38.976 2724
+-105.572 38.976 2691
+-105.446 38.976 2697
+-105.32 38.976 2716
+-105.194 38.976 2722
+-105.068 38.976 2770
+-104.942 38.976 2784
+-104.816 38.976 2690
+-104.69 38.976 2750
+-104.564 38.976 2753
+-104.438 38.976 2746
+-104.312 38.976 2793
+-104.186 38.976 2801
+-104.06 38.976 2751
+-103.934 38.976 2727
+-103.808 38.976 2799
+-103.682 38.976 2796
+-103.556 38.976 2617
+-103.43 38.976 2702
+-103.304 38.976 2645
+-103.178 38.976 2637
+-103.052 38.976 2604
+-102.926 38.976 2566
+-102.8 38.976 2510
+-102.674 38.976 2486
+-102.548 38.976 2519
+-102.422 38.976 2547
+-102.296 38.976 2553
+-102.17 38.976 2618
+-102.044 38.976 2623
+-101.918 38.976 2628
+-101.792 38.976 2653
+-101.666 38.976 2676
+-101.54 38.976 2730
+-101.414 38.976 2733
+-101.288 38.976 2879
+-101.162 38.976 2880
+-101.036 38.976 2881
+-100.91 38.976 2882
+-100.784 38.976 2884
+-100.658 38.976 2885
+-100.532 38.976 2887
+-100.406 38.976 2889
+-100.28 38.976 2891
+-100.154 38.976 2893
+-100.028 38.976 2895
+-99.902 38.976 2898
+-99.776 38.976 2901
+-99.65 38.976 2984
+-99.524 38.976 2987
+-99.398 38.976 3109
+-99.272 38.976 3106
+-99.146 38.976 3197
+-99.02 38.976 3194
+-98.894 38.976 3190
+-98.768 38.976 3187
+-98.642 38.976 3183
+-98.516 38.976 3186
+-98.39 38.976 3181
+-98.264 38.976 3183
+-98.138 38.976 3277
+-98.012 38.976 3272
+-97.886 38.976 3306
+-97.76 38.976 3299
+-97.634 38.976 3301
+-97.508 38.976 3298
+-97.382 38.976 3297
+-97.256 38.976 3302
+-97.13 38.976 3343
+-97.004 38.976 3417
+-96.878 38.976 3443
+-96.752 38.976 3518
+-96.626 38.976 3546
+-96.5 38.976 3567
+-96.374 38.976 3577
+-96.248 38.976 3583
+-96.122 38.976 3637
+-95.996 38.976 3729
+-95.87 38.976 3839
+-95.744 38.976 3980
+-95.618 38.976 4121
+-95.492 38.976 4202
+-95.366 38.976 4305
+-95.24 38.976 4413
+-95.114 38.976 4389
+-94.988 38.976 4576
+-94.862 38.976 4702
+-94.736 38.976 4831
+-94.61 38.976 4942
+-94.484 38.976 5033
+-94.358 38.976 5163
+-94.232 38.976 5368
+-94.106 38.976 5536
+-93.98 38.976 5643
+-93.854 38.976 5753
+-93.728 38.976 5919
+-93.602 38.976 5964
+-93.476 38.976 6144
+-93.35 38.976 6297
+-93.224 38.976 6412
+-93.098 38.976 6553
+-92.972 38.976 6703
+-92.846 38.976 6834
+-92.72 38.976 6918
+-92.594 38.976 7063
+-92.468 38.976 7202
+-92.342 38.976 7351
+-92.216 38.976 7545
+-92.09 38.976 7579
+-91.964 38.976 7823
+-91.838 38.976 7896
+-91.712 38.976 8045
+-91.586 38.976 8153
+-91.46 38.976 8334
+-91.334 38.976 8439
+-91.208 38.976 8581
+-91.082 38.976 8697
+-90.956 38.976 8828
+-90.83 38.976 8980
+-90.704 38.976 9041
+-90.578 38.976 9149
+-90.452 38.976 9201
+-90.326 38.976 9173
+-90.2 38.976 9064
+-90.074 38.976 8918
+-89.948 38.976 8842
+-89.822 38.976 8774
+-89.696 38.976 8578
+-89.57 38.976 8457
+-89.444 38.976 8348
+-89.318 38.976 8245
+-89.192 38.976 8230
+-89.066 38.976 8351
+-88.94 38.976 8380
+-88.814 38.976 8374
+-88.688 38.976 8359
+-88.562 38.976 8338
+-88.436 38.976 8303
+-88.31 38.976 8273
+-88.184 38.976 8188
+-88.058 38.976 8131
+-87.932 38.976 8029
+-87.806 38.976 7991
+-87.68 38.976 7891
+-87.554 38.976 7783
+-87.428 38.976 7718
+-87.302 38.976 7533
+-87.176 38.976 7485
+-87.05 38.976 7399
+-86.924 38.976 7251
+-86.798 38.976 7097
+-86.672 38.976 6979
+-86.546 38.976 6870
+-86.42 38.976 6760
+-86.294 38.976 6661
+-86.168 38.976 6495
+-86.042 38.976 6398
+-85.916 38.976 6177
+-85.79 38.976 6169
+-85.664 38.976 6012
+-85.538 38.976 5819
+-85.412 38.976 5754
+-85.286 38.976 5599
+-85.16 38.976 5500
+-85.034 38.976 5423
+-84.908 38.976 5386
+-84.782 38.976 5260
+-84.656 38.976 5058
+-84.53 38.976 4904
+-84.404 38.976 4846
+-84.278 38.976 4772
+-84.152 38.976 4549
+-84.026 38.976 4361
+-83.9 38.976 4177
+-83.774 38.976 4080
+-83.648 38.976 4100
+-83.522 38.976 4159
+-83.396 38.976 4208
+-83.27 38.976 4201
+-83.144 38.976 4188
+-83.018 38.976 4183
+-82.892 38.976 4175
+-82.766 38.976 4173
+-82.64 38.976 4171
+-82.514 38.976 4127
+-82.388 38.976 4067
+-82.262 38.976 4005
+-82.136 38.976 3948
+-82.01 38.976 3893
+-81.884 38.976 3888
+-81.758 38.976 3884
+-81.632 38.976 3880
+-81.506 38.976 3830
+-81.38 38.976 3771
+-81.254 38.976 3755
+-81.128 38.976 3752
+-81.002 38.976 3749
+-80.876 38.976 3747
+-80.75 38.976 3745
+-80.624 38.976 3743
+-80.498 38.976 3658
+-80.372 38.976 3656
+-80.246 38.976 3655
+-80.12 38.976 3658
+-79.994 38.976 3658
+-79.868 38.976 3657
+-79.742 38.976 3568
+-79.616 38.976 3568
+-79.49 38.976 3571
+-79.364 38.976 3571
+-79.238 38.976 3570
+-79.112 38.976 3570
+-78.986 38.976 3570
+-78.86 38.976 3570
+-78.734 38.976 3570
+-78.608 38.976 3570
+-78.482 38.976 3571
+-78.356 38.976 3571
+-78.23 38.976 3571
+-78.104 38.976 3571
+-77.978 38.976 3452
+-77.852 38.976 3453
+-77.726 38.976 3453
+-77.6 38.976 3453
+-77.474 38.976 3453
+-77.348 38.976 3454
+-77.222 38.976 3454
+-77.096 38.976 3454
+-76.97 38.976 3455
+-76.844 38.976 3455
+-76.718 38.976 3455
+-76.592 38.976 3455
+-76.466 38.976 3456
+-76.34 38.976 3385
+-76.214 38.976 3384
+-76.088 38.976 3384
+-75.962 38.976 3383
+-75.836 38.976 3383
+-75.71 38.976 3382
+-75.584 38.976 3381
+-75.458 38.976 3381
+-75.332 38.976 3380
+-75.206 38.976 3380
+-75.08 38.976 3379
+-74.954 38.976 3379
+-74.828 38.976 3378
+-74.702 38.976 3378
+-74.576 38.976 3377
+-74.45 38.976 3377
+-74.324 38.976 3377
+-74.198 38.976 3376
+-74.072 38.976 3376
+-73.946 38.976 3375
+-73.82 38.976 3375
+-73.694 38.976 3375
+-73.568 38.976 3374
+-73.442 38.976 3374
+-73.316 38.976 3374
+-73.19 38.976 3070
+-73.064 38.976 3069
+-72.938 38.976 3068
+-72.812 38.976 3066
+-72.686 38.976 3065
+-72.56 38.976 3064
+-72.434 38.976 3063
+-72.308 38.976 3062
+-72.182 38.976 3061
+-72.056 38.976 3060
+-71.93 38.976 3059
+-71.804 38.976 3058
+-71.678 38.976 3057
+-71.552 38.976 3056
+-71.426 38.976 3055
+-71.3 38.976 3054
+-71.174 38.976 3053
+-71.048 38.976 3052
+-70.922 38.976 2926
+-70.796 38.976 2925
+-70.67 38.976 2894
+-70.544 38.976 2846
+-70.418 38.976 2845
+-70.292 38.976 2844
+-70.166 38.976 2859
+-70.04 38.976 2858
+-69.914 38.976 2869
+-69.788 38.976 2868
+-69.662 38.976 2827
+-69.536 38.976 2787
+-69.41 38.976 2786
+-69.284 38.976 2786
+-69.158 38.976 2786
+-69.032 38.976 2804
+-68.906 38.976 2810
+-68.78 38.976 2819
+-68.654 38.976 2817
+-68.528 38.976 2854
+-68.402 38.976 2866
+-68.276 38.976 2866
+-68.15 38.976 2926
+-68.024 38.976 2949
+-67.898 38.976 2925
+-67.772 38.976 2913
+-67.646 38.976 3073
+-67.52 38.976 3074
+-67.394 38.976 3142
+-67.268 38.976 3143
+-67.142 38.976 3144
+-67.016 38.976 3146
+-66.89 38.976 3147
+-66.764 38.976 3054
+-66.638 38.976 3076
+-66.512 38.976 3077
+-66.386 38.976 3064
+-66.26 38.976 3364
+-66.134 38.976 3397
+-66.008 38.976 3397
+-65.882 38.976 3391
+-65.756 38.976 3392
+-65.63 38.976 3396
+-65.504 38.976 3414
+-65.378 38.976 3414
+-65.252 38.976 3400
+-65.126 38.976 3400
+-128 38.924 2389
+-127.874 38.924 2386
+-127.748 38.924 2396
+-127.622 38.924 2390
+-127.496 38.924 2399
+-127.37 38.924 2425
+-127.244 38.924 2440
+-127.118 38.924 2453
+-126.992 38.924 2421
+-126.866 38.924 2452
+-126.74 38.924 2448
+-126.614 38.924 2452
+-126.488 38.924 2471
+-126.362 38.924 2466
+-126.236 38.924 2460
+-126.11 38.924 2454
+-125.984 38.924 2422
+-125.858 38.924 2493
+-125.732 38.924 2484
+-125.606 38.924 2441
+-125.48 38.924 2492
+-125.354 38.924 2480
+-125.228 38.924 2468
+-125.102 38.924 2454
+-124.976 38.924 2445
+-124.85 38.924 2466
+-124.724 38.924 2459
+-124.598 38.924 2441
+-124.472 38.924 2373
+-124.346 38.924 2351
+-124.22 38.924 2327
+-124.094 38.924 2328
+-123.968 38.924 2298
+-123.842 38.924 2260
+-123.716 38.924 2202
+-123.59 38.924 2179
+-123.464 38.924 2128
+-123.338 38.924 2069
+-123.212 38.924 2010
+-123.086 38.924 1940
+-122.96 38.924 1862
+-122.834 38.924 1766
+-122.708 38.924 1699
+-122.582 38.924 1784
+-122.456 38.924 1957
+-122.33 38.924 2137
+-122.204 38.924 2304
+-122.078 38.924 2468
+-121.952 38.924 2620
+-121.826 38.924 2741
+-121.7 38.924 2811
+-121.574 38.924 2839
+-121.448 38.924 2835
+-121.322 38.924 2824
+-121.196 38.924 2867
+-121.07 38.924 2942
+-120.944 38.924 3059
+-120.818 38.924 3175
+-120.692 38.924 3258
+-120.566 38.924 3267
+-120.44 38.924 3322
+-120.314 38.924 3419
+-120.188 38.924 3516
+-120.062 38.924 3569
+-119.936 38.924 3586
+-119.81 38.924 3601
+-119.684 38.924 3650
+-119.558 38.924 3758
+-119.432 38.924 3833
+-119.306 38.924 3902
+-119.18 38.924 4027
+-119.054 38.924 4100
+-118.928 38.924 4129
+-118.802 38.924 4148
+-118.676 38.924 4202
+-118.55 38.924 4259
+-118.424 38.924 4279
+-118.298 38.924 4278
+-118.172 38.924 4272
+-118.046 38.924 4281
+-117.92 38.924 4292
+-117.794 38.924 4343
+-117.668 38.924 4381
+-117.542 38.924 4348
+-117.416 38.924 4389
+-117.29 38.924 4419
+-117.164 38.924 4445
+-117.038 38.924 4436
+-116.912 38.924 4404
+-116.786 38.924 4372
+-116.66 38.924 4319
+-116.534 38.924 4253
+-116.408 38.924 4267
+-116.282 38.924 4203
+-116.156 38.924 4203
+-116.03 38.924 4156
+-115.904 38.924 4161
+-115.778 38.924 4115
+-115.652 38.924 4119
+-115.526 38.924 4075
+-115.4 38.924 4024
+-115.274 38.924 3970
+-115.148 38.924 3922
+-115.022 38.924 3870
+-114.896 38.924 3816
+-114.77 38.924 3756
+-114.644 38.924 3725
+-114.518 38.924 3697
+-114.392 38.924 3679
+-114.266 38.924 3683
+-114.14 38.924 3694
+-114.014 38.924 3685
+-113.888 38.924 3680
+-113.762 38.924 3660
+-113.636 38.924 3660
+-113.51 38.924 3648
+-113.384 38.924 3637
+-113.258 38.924 3669
+-113.132 38.924 3642
+-113.006 38.924 3623
+-112.88 38.924 3620
+-112.754 38.924 3609
+-112.628 38.924 3511
+-112.502 38.924 3444
+-112.376 38.924 3290
+-112.25 38.924 3254
+-112.124 38.924 3210
+-111.998 38.924 3163
+-111.872 38.924 3112
+-111.746 38.924 2945
+-111.62 38.924 2817
+-111.494 38.924 2818
+-111.368 38.924 2771
+-111.242 38.924 2656
+-111.116 38.924 2595
+-110.99 38.924 2416
+-110.864 38.924 2333
+-110.738 38.924 2275
+-110.612 38.924 2213
+-110.486 38.924 2142
+-110.36 38.924 2091
+-110.234 38.924 2054
+-110.108 38.924 2033
+-109.982 38.924 2036
+-109.856 38.924 2058
+-109.73 38.924 2093
+-109.604 38.924 2129
+-109.478 38.924 2169
+-109.352 38.924 2210
+-109.226 38.924 2239
+-109.1 38.924 2268
+-108.974 38.924 2292
+-108.848 38.924 2312
+-108.722 38.924 2328
+-108.596 38.924 2342
+-108.47 38.924 2353
+-108.344 38.924 2371
+-108.218 38.924 2378
+-108.092 38.924 2384
+-107.966 38.924 2388
+-107.84 38.924 2392
+-107.714 38.924 2412
+-107.588 38.924 2416
+-107.462 38.924 2488
+-107.336 38.924 2494
+-107.21 38.924 2514
+-107.084 38.924 2521
+-106.958 38.924 2528
+-106.832 38.924 2535
+-106.706 38.924 2543
+-106.58 38.924 2513
+-106.454 38.924 2633
+-106.328 38.924 2659
+-106.202 38.924 2667
+-106.076 38.924 2675
+-105.95 38.924 2704
+-105.824 38.924 2712
+-105.698 38.924 2680
+-105.572 38.924 2687
+-105.446 38.924 2707
+-105.32 38.924 2714
+-105.194 38.924 2761
+-105.068 38.924 2776
+-104.942 38.924 2786
+-104.816 38.924 2870
+-104.69 38.924 2755
+-104.564 38.924 2749
+-104.438 38.924 2796
+-104.312 38.924 2806
+-104.186 38.924 2756
+-104.06 38.924 2734
+-103.934 38.924 2806
+-103.808 38.924 2804
+-103.682 38.924 2810
+-103.556 38.924 2807
+-103.43 38.924 2709
+-103.304 38.924 2701
+-103.178 38.924 2594
+-103.052 38.924 2585
+-102.926 38.924 2554
+-102.8 38.924 2534
+-102.674 38.924 2479
+-102.548 38.924 2491
+-102.422 38.924 2523
+-102.296 38.924 2555
+-102.17 38.924 2633
+-102.044 38.924 2630
+-101.918 38.924 2635
+-101.792 38.924 2660
+-101.666 38.924 2663
+-101.54 38.924 2738
+-101.414 38.924 2742
+-101.288 38.924 2745
+-101.162 38.924 2892
+-101.036 38.924 2893
+-100.91 38.924 2894
+-100.784 38.924 2896
+-100.658 38.924 2898
+-100.532 38.924 2900
+-100.406 38.924 2902
+-100.28 38.924 2904
+-100.154 38.924 2906
+-100.028 38.924 2909
+-99.902 38.924 2912
+-99.776 38.924 2914
+-99.65 38.924 2997
+-99.524 38.924 3118
+-99.398 38.924 3116
+-99.272 38.924 3113
+-99.146 38.924 3110
+-99.02 38.924 3200
+-98.894 38.924 3197
+-98.768 38.924 3193
+-98.642 38.924 3190
+-98.516 38.924 3186
+-98.39 38.924 3182
+-98.264 38.924 3201
+-98.138 38.924 3278
+-98.012 38.924 3310
+-97.886 38.924 3301
+-97.76 38.924 3292
+-97.634 38.924 3283
+-97.508 38.924 3276
+-97.382 38.924 3277
+-97.256 38.924 3304
+-97.13 38.924 3311
+-97.004 38.924 3362
+-96.878 38.924 3424
+-96.752 38.924 3478
+-96.626 38.924 3508
+-96.5 38.924 3526
+-96.374 38.924 3517
+-96.248 38.924 3470
+-96.122 38.924 3439
+-95.996 38.924 3600
+-95.87 38.924 3791
+-95.744 38.924 3973
+-95.618 38.924 4080
+-95.492 38.924 4123
+-95.366 38.924 4248
+-95.24 38.924 4415
+-95.114 38.924 4492
+-94.988 38.924 4587
+-94.862 38.924 4718
+-94.736 38.924 4843
+-94.61 38.924 4954
+-94.484 38.924 5064
+-94.358 38.924 5224
+-94.232 38.924 5394
+-94.106 38.924 5468
+-93.98 38.924 5610
+-93.854 38.924 5812
+-93.728 38.924 5895
+-93.602 38.924 6040
+-93.476 38.924 6155
+-93.35 38.924 6316
+-93.224 38.924 6455
+-93.098 38.924 6531
+-92.972 38.924 6720
+-92.846 38.924 6852
+-92.72 38.924 6992
+-92.594 38.924 7067
+-92.468 38.924 7237
+-92.342 38.924 7374
+-92.216 38.924 7518
+-92.09 38.924 7593
+-91.964 38.924 7843
+-91.838 38.924 7892
+-91.712 38.924 8075
+-91.586 38.924 8223
+-91.46 38.924 8295
+-91.334 38.924 8427
+-91.208 38.924 8595
+-91.082 38.924 8745
+-90.956 38.924 8869
+-90.83 38.924 8991
+-90.704 38.924 9111
+-90.578 38.924 9197
+-90.452 38.924 9282
+-90.326 38.924 9185
+-90.2 38.924 9097
+-90.074 38.924 8980
+-89.948 38.924 8923
+-89.822 38.924 8742
+-89.696 38.924 8564
+-89.57 38.924 8455
+-89.444 38.924 8329
+-89.318 38.924 8172
+-89.192 38.924 8364
+-89.066 38.924 8425
+-88.94 38.924 8421
+-88.814 38.924 8431
+-88.688 38.924 8433
+-88.562 38.924 8396
+-88.436 38.924 8355
+-88.31 38.924 8314
+-88.184 38.924 8248
+-88.058 38.924 8199
+-87.932 38.924 8097
+-87.806 38.924 8051
+-87.68 38.924 7895
+-87.554 38.924 7837
+-87.428 38.924 7684
+-87.302 38.924 7559
+-87.176 38.924 7449
+-87.05 38.924 7401
+-86.924 38.924 7289
+-86.798 38.924 7118
+-86.672 38.924 6989
+-86.546 38.924 6895
+-86.42 38.924 6782
+-86.294 38.924 6646
+-86.168 38.924 6483
+-86.042 38.924 6397
+-85.916 38.924 6235
+-85.79 38.924 6202
+-85.664 38.924 6014
+-85.538 38.924 5894
+-85.412 38.924 5747
+-85.286 38.924 5606
+-85.16 38.924 5400
+-85.034 38.924 5316
+-84.908 38.924 5374
+-84.782 38.924 5247
+-84.656 38.924 5031
+-84.53 38.924 4832
+-84.404 38.924 4867
+-84.278 38.924 4742
+-84.152 38.924 4579
+-84.026 38.924 4330
+-83.9 38.924 4092
+-83.774 38.924 3963
+-83.648 38.924 4039
+-83.522 38.924 4123
+-83.396 38.924 4186
+-83.27 38.924 4222
+-83.144 38.924 4202
+-83.018 38.924 4194
+-82.892 38.924 4196
+-82.766 38.924 4176
+-82.64 38.924 4133
+-82.514 38.924 4081
+-82.388 38.924 4001
+-82.262 38.924 3949
+-82.136 38.924 3895
+-82.01 38.924 3889
+-81.884 38.924 3884
+-81.758 38.924 3880
+-81.632 38.924 3876
+-81.506 38.924 3816
+-81.38 38.924 3793
+-81.254 38.924 3753
+-81.128 38.924 3749
+-81.002 38.924 3746
+-80.876 38.924 3744
+-80.75 38.924 3742
+-80.624 38.924 3741
+-80.498 38.924 3740
+-80.372 38.924 3655
+-80.246 38.924 3658
+-80.12 38.924 3657
+-79.994 38.924 3664
+-79.868 38.924 3664
+-79.742 38.924 3568
+-79.616 38.924 3570
+-79.49 38.924 3570
+-79.364 38.924 3570
+-79.238 38.924 3570
+-79.112 38.924 3570
+-78.986 38.924 3570
+-78.86 38.924 3570
+-78.734 38.924 3570
+-78.608 38.924 3570
+-78.482 38.924 3570
+-78.356 38.924 3570
+-78.23 38.924 3571
+-78.104 38.924 3452
+-77.978 38.924 3453
+-77.852 38.924 3453
+-77.726 38.924 3453
+-77.6 38.924 3453
+-77.474 38.924 3454
+-77.348 38.924 3454
+-77.222 38.924 3454
+-77.096 38.924 3455
+-76.97 38.924 3455
+-76.844 38.924 3455
+-76.718 38.924 3455
+-76.592 38.924 3456
+-76.466 38.924 3385
+-76.34 38.924 3384
+-76.214 38.924 3384
+-76.088 38.924 3383
+-75.962 38.924 3382
+-75.836 38.924 3382
+-75.71 38.924 3381
+-75.584 38.924 3381
+-75.458 38.924 3380
+-75.332 38.924 3380
+-75.206 38.924 3379
+-75.08 38.924 3379
+-74.954 38.924 3378
+-74.828 38.924 3378
+-74.702 38.924 3377
+-74.576 38.924 3377
+-74.45 38.924 3376
+-74.324 38.924 3376
+-74.198 38.924 3375
+-74.072 38.924 3375
+-73.946 38.924 3375
+-73.82 38.924 3374
+-73.694 38.924 3374
+-73.568 38.924 3374
+-73.442 38.924 3373
+-73.316 38.924 3070
+-73.19 38.924 3069
+-73.064 38.924 3067
+-72.938 38.924 3066
+-72.812 38.924 3065
+-72.686 38.924 3064
+-72.56 38.924 3063
+-72.434 38.924 3062
+-72.308 38.924 3061
+-72.182 38.924 3059
+-72.056 38.924 3058
+-71.93 38.924 3057
+-71.804 38.924 3056
+-71.678 38.924 3056
+-71.552 38.924 3055
+-71.426 38.924 3054
+-71.3 38.924 3053
+-71.174 38.924 3052
+-71.048 38.924 2925
+-70.922 38.924 2924
+-70.796 38.924 2894
+-70.67 38.924 2846
+-70.544 38.924 2845
+-70.418 38.924 2844
+-70.292 38.924 2858
+-70.166 38.924 2857
+-70.04 38.924 2868
+-69.914 38.924 2867
+-69.788 38.924 2827
+-69.662 38.924 2786
+-69.536 38.924 2786
+-69.41 38.924 2785
+-69.284 38.924 2785
+-69.158 38.924 2803
+-69.032 38.924 2809
+-68.906 38.924 2818
+-68.78 38.924 2817
+-68.654 38.924 2853
+-68.528 38.924 2864
+-68.402 38.924 2865
+-68.276 38.924 2924
+-68.15 38.924 2947
+-68.024 38.924 2924
+-67.898 38.924 2912
+-67.772 38.924 3071
+-67.646 38.924 3073
+-67.52 38.924 3140
+-67.394 38.924 3142
+-67.268 38.924 3143
+-67.142 38.924 3144
+-67.016 38.924 3146
+-66.89 38.924 3053
+-66.764 38.924 3075
+-66.638 38.924 3076
+-66.512 38.924 3063
+-66.386 38.924 3363
+-66.26 38.924 3396
+-66.134 38.924 3396
+-66.008 38.924 3390
+-65.882 38.924 3391
+-65.756 38.924 3395
+-65.63 38.924 3413
+-65.504 38.924 3413
+-65.378 38.924 3399
+-65.252 38.924 3399
+-65.126 38.924 3349
+-128 38.872 2391
+-127.874 38.872 2401
+-127.748 38.872 2397
+-127.622 38.872 2406
+-127.496 38.872 2434
+-127.37 38.872 2452
+-127.244 38.872 2448
+-127.118 38.872 2431
+-126.992 38.872 2481
+-126.866 38.872 2494
+-126.74 38.872 2478
+-126.614 38.872 2473
+-126.488 38.872 2482
+-126.362 38.872 2477
+-126.236 38.872 2555
+-126.11 38.872 2545
+-125.984 38.872 2510
+-125.858 38.872 2502
+-125.732 38.872 2523
+-125.606 38.872 2513
+-125.48 38.872 2464
+-125.354 38.872 2491
+-125.228 38.872 2479
+-125.102 38.872 2501
+-124.976 38.872 2485
+-124.85 38.872 2468
+-124.724 38.872 2459
+-124.598 38.872 2449
+-124.472 38.872 2427
+-124.346 38.872 2357
+-124.22 38.872 2363
+-124.094 38.872 2332
+-123.968 38.872 2300
+-123.842 38.872 2288
+-123.716 38.872 2240
+-123.59 38.872 2192
+-123.464 38.872 2131
+-123.338 38.872 2053
+-123.212 38.872 1985
+-123.086 38.872 1927
+-122.96 38.872 1863
+-122.834 38.872 1807
+-122.708 38.872 1778
+-122.582 38.872 1845
+-122.456 38.872 1975
+-122.33 38.872 2127
+-122.204 38.872 2300
+-122.078 38.872 2469
+-121.952 38.872 2628
+-121.826 38.872 2739
+-121.7 38.872 2835
+-121.574 38.872 2876
+-121.448 38.872 2885
+-121.322 38.872 2878
+-121.196 38.872 2844
+-121.07 38.872 2941
+-120.944 38.872 3075
+-120.818 38.872 3185
+-120.692 38.872 3298
+-120.566 38.872 3339
+-120.44 38.872 3385
+-120.314 38.872 3458
+-120.188 38.872 3539
+-120.062 38.872 3597
+-119.936 38.872 3629
+-119.81 38.872 3629
+-119.684 38.872 3673
+-119.558 38.872 3787
+-119.432 38.872 3867
+-119.306 38.872 3955
+-119.18 38.872 4126
+-119.054 38.872 4161
+-118.928 38.872 4162
+-118.802 38.872 4200
+-118.676 38.872 4269
+-118.55 38.872 4321
+-118.424 38.872 4344
+-118.298 38.872 4345
+-118.172 38.872 4352
+-118.046 38.872 4369
+-117.92 38.872 4379
+-117.794 38.872 4405
+-117.668 38.872 4406
+-117.542 38.872 4416
+-117.416 38.872 4436
+-117.29 38.872 4461
+-117.164 38.872 4471
+-117.038 38.872 4457
+-116.912 38.872 4425
+-116.786 38.872 4374
+-116.66 38.872 4356
+-116.534 38.872 4320
+-116.408 38.872 4308
+-116.282 38.872 4269
+-116.156 38.872 4242
+-116.03 38.872 4206
+-115.904 38.872 4191
+-115.778 38.872 4166
+-115.652 38.872 4153
+-115.526 38.872 4096
+-115.4 38.872 4040
+-115.274 38.872 3973
+-115.148 38.872 3938
+-115.022 38.872 3909
+-114.896 38.872 3862
+-114.77 38.872 3811
+-114.644 38.872 3772
+-114.518 38.872 3746
+-114.392 38.872 3735
+-114.266 38.872 3730
+-114.14 38.872 3697
+-114.014 38.872 3692
+-113.888 38.872 3683
+-113.762 38.872 3675
+-113.636 38.872 3650
+-113.51 38.872 3670
+-113.384 38.872 3674
+-113.258 38.872 3661
+-113.132 38.872 3638
+-113.006 38.872 3619
+-112.88 38.872 3610
+-112.754 38.872 3599
+-112.628 38.872 3552
+-112.502 38.872 3445
+-112.376 38.872 3419
+-112.25 38.872 3387
+-112.124 38.872 3349
+-111.998 38.872 3172
+-111.872 38.872 3058
+-111.746 38.872 2923
+-111.62 38.872 2881
+-111.494 38.872 2836
+-111.368 38.872 2717
+-111.242 38.872 2656
+-111.116 38.872 2590
+-110.99 38.872 2453
+-110.864 38.872 2382
+-110.738 38.872 2305
+-110.612 38.872 2170
+-110.486 38.872 2096
+-110.36 38.872 2029
+-110.234 38.872 1977
+-110.108 38.872 1956
+-109.982 38.872 1966
+-109.856 38.872 2001
+-109.73 38.872 2047
+-109.604 38.872 2100
+-109.478 38.872 2154
+-109.352 38.872 2195
+-109.226 38.872 2235
+-109.1 38.872 2268
+-108.974 38.872 2294
+-108.848 38.872 2316
+-108.722 38.872 2333
+-108.596 38.872 2346
+-108.47 38.872 2366
+-108.344 38.872 2374
+-108.218 38.872 2381
+-108.092 38.872 2385
+-107.966 38.872 2389
+-107.84 38.872 2407
+-107.714 38.872 2410
+-107.588 38.872 2478
+-107.462 38.872 2483
+-107.336 38.872 2503
+-107.21 38.872 2509
+-107.084 38.872 2516
+-106.958 38.872 2523
+-106.832 38.872 2531
+-106.706 38.872 2503
+-106.58 38.872 2617
+-106.454 38.872 2644
+-106.328 38.872 2652
+-106.202 38.872 2661
+-106.076 38.872 2689
+-105.95 38.872 2698
+-105.824 38.872 2669
+-105.698 38.872 2677
+-105.572 38.872 2697
+-105.446 38.872 2704
+-105.32 38.872 2751
+-105.194 38.872 2767
+-105.068 38.872 2778
+-104.942 38.872 2861
+-104.816 38.872 2868
+-104.69 38.872 2750
+-104.564 38.872 2798
+-104.438 38.872 2808
+-104.312 38.872 2760
+-104.186 38.872 2739
+-104.06 38.872 2812
+-103.934 38.872 2811
+-103.808 38.872 2818
+-103.682 38.872 2816
+-103.556 38.872 2770
+-103.43 38.872 2685
+-103.304 38.872 2709
+-103.178 38.872 2601
+-103.052 38.872 2593
+-102.926 38.872 2562
+-102.8 38.872 2542
+-102.674 38.872 2536
+-102.548 38.872 2484
+-102.422 38.872 2539
+-102.296 38.872 2531
+-102.17 38.872 2563
+-102.044 38.872 2612
+-101.918 38.872 2617
+-101.792 38.872 2667
+-101.666 38.872 2671
+-101.54 38.872 2713
+-101.414 38.872 2750
+-101.288 38.872 2753
+-101.162 38.872 2757
+-101.036 38.872 2904
+-100.91 38.872 2906
+-100.784 38.872 2908
+-100.658 38.872 2910
+-100.532 38.872 2912
+-100.406 38.872 2914
+-100.28 38.872 2917
+-100.154 38.872 2919
+-100.028 38.872 2922
+-99.902 38.872 2925
+-99.776 38.872 3006
+-99.65 38.872 3126
+-99.524 38.872 3124
+-99.398 38.872 3122
+-99.272 38.872 3120
+-99.146 38.872 3117
+-99.02 38.872 3114
+-98.894 38.872 3203
+-98.768 38.872 3199
+-98.642 38.872 3195
+-98.516 38.872 3206
+-98.39 38.872 3201
+-98.264 38.872 3234
+-98.138 38.872 3315
+-98.012 38.872 3304
+-97.886 38.872 3293
+-97.76 38.872 3280
+-97.634 38.872 3267
+-97.508 38.872 3253
+-97.382 38.872 3240
+-97.256 38.872 3260
+-97.13 38.872 3292
+-97.004 38.872 3299
+-96.878 38.872 3322
+-96.752 38.872 3395
+-96.626 38.872 3456
+-96.5 38.872 3484
+-96.374 38.872 3475
+-96.248 38.872 3405
+-96.122 38.872 3326
+-95.996 38.872 3474
+-95.87 38.872 3735
+-95.744 38.872 3948
+-95.618 38.872 4049
+-95.492 38.872 4016
+-95.366 38.872 4177
+-95.24 38.872 4395
+-95.114 38.872 4541
+-94.988 38.872 4610
+-94.862 38.872 4735
+-94.736 38.872 4888
+-94.61 38.872 4970
+-94.484 38.872 5078
+-94.358 38.872 5246
+-94.232 38.872 5352
+-94.106 38.872 5471
+-93.98 38.872 5661
+-93.854 38.872 5820
+-93.728 38.872 5953
+-93.602 38.872 6079
+-93.476 38.872 6124
+-93.35 38.872 6243
+-93.224 38.872 6397
+-93.098 38.872 6555
+-92.972 38.872 6757
+-92.846 38.872 6863
+-92.72 38.872 7000
+-92.594 38.872 7104
+-92.468 38.872 7211
+-92.342 38.872 7388
+-92.216 38.872 7578
+-92.09 38.872 7645
+-91.964 38.872 7778
+-91.838 38.872 7909
+-91.712 38.872 8015
+-91.586 38.872 8123
+-91.46 38.872 8320
+-91.334 38.872 8456
+-91.208 38.872 8620
+-91.082 38.872 8733
+-90.956 38.872 8867
+-90.83 38.872 8995
+-90.704 38.872 9133
+-90.578 38.872 9225
+-90.452 38.872 9314
+-90.326 38.872 9260
+-90.2 38.872 9172
+-90.074 38.872 8999
+-89.948 38.872 8907
+-89.822 38.872 8738
+-89.696 38.872 8615
+-89.57 38.872 8446
+-89.444 38.872 8335
+-89.318 38.872 8217
+-89.192 38.872 8278
+-89.066 38.872 8452
+-88.94 38.872 8505
+-88.814 38.872 8487
+-88.688 38.872 8475
+-88.562 38.872 8475
+-88.436 38.872 8425
+-88.31 38.872 8403
+-88.184 38.872 8291
+-88.058 38.872 8220
+-87.932 38.872 8135
+-87.806 38.872 8061
+-87.68 38.872 7942
+-87.554 38.872 7875
+-87.428 38.872 7746
+-87.302 38.872 7605
+-87.176 38.872 7511
+-87.05 38.872 7426
+-86.924 38.872 7274
+-86.798 38.872 7164
+-86.672 38.872 7022
+-86.546 38.872 6897
+-86.42 38.872 6826
+-86.294 38.872 6668
+-86.168 38.872 6595
+-86.042 38.872 6457
+-85.916 38.872 6283
+-85.79 38.872 6142
+-85.664 38.872 6031
+-85.538 38.872 5863
+-85.412 38.872 5783
+-85.286 38.872 5634
+-85.16 38.872 5519
+-85.034 38.872 5431
+-84.908 38.872 5389
+-84.782 38.872 5259
+-84.656 38.872 5103
+-84.53 38.872 4927
+-84.404 38.872 4863
+-84.278 38.872 4729
+-84.152 38.872 4584
+-84.026 38.872 4338
+-83.9 38.872 4105
+-83.774 38.872 3972
+-83.648 38.872 4046
+-83.522 38.872 4131
+-83.396 38.872 4181
+-83.27 38.872 4211
+-83.144 38.872 4221
+-83.018 38.872 4234
+-82.892 38.872 4158
+-82.766 38.872 4154
+-82.64 38.872 4104
+-82.514 38.872 4001
+-82.388 38.872 3938
+-82.262 38.872 3896
+-82.136 38.872 3888
+-82.01 38.872 3882
+-81.884 38.872 3877
+-81.758 38.872 3873
+-81.632 38.872 3818
+-81.506 38.872 3790
+-81.38 38.872 3787
+-81.254 38.872 3784
+-81.128 38.872 3745
+-81.002 38.872 3743
+-80.876 38.872 3741
+-80.75 38.872 3739
+-80.624 38.872 3738
+-80.498 38.872 3737
+-80.372 38.872 3736
+-80.246 38.872 3672
+-80.12 38.872 3662
+-79.994 38.872 3662
+-79.868 38.872 3662
+-79.742 38.872 3569
+-79.616 38.872 3569
+-79.49 38.872 3569
+-79.364 38.872 3569
+-79.238 38.872 3569
+-79.112 38.872 3569
+-78.986 38.872 3569
+-78.86 38.872 3569
+-78.734 38.872 3569
+-78.608 38.872 3569
+-78.482 38.872 3570
+-78.356 38.872 3570
+-78.23 38.872 3452
+-78.104 38.872 3453
+-77.978 38.872 3453
+-77.852 38.872 3453
+-77.726 38.872 3453
+-77.6 38.872 3454
+-77.474 38.872 3454
+-77.348 38.872 3454
+-77.222 38.872 3455
+-77.096 38.872 3455
+-76.97 38.872 3455
+-76.844 38.872 3455
+-76.718 38.872 3456
+-76.592 38.872 3385
+-76.466 38.872 3384
+-76.34 38.872 3383
+-76.214 38.872 3383
+-76.088 38.872 3382
+-75.962 38.872 3382
+-75.836 38.872 3381
+-75.71 38.872 3380
+-75.584 38.872 3380
+-75.458 38.872 3379
+-75.332 38.872 3379
+-75.206 38.872 3378
+-75.08 38.872 3378
+-74.954 38.872 3377
+-74.828 38.872 3377
+-74.702 38.872 3376
+-74.576 38.872 3376
+-74.45 38.872 3375
+-74.324 38.872 3375
+-74.198 38.872 3375
+-74.072 38.872 3374
+-73.946 38.872 3374
+-73.82 38.872 3374
+-73.694 38.872 3373
+-73.568 38.872 3373
+-73.442 38.872 3070
+-73.316 38.872 3069
+-73.19 38.872 3067
+-73.064 38.872 3066
+-72.938 38.872 3065
+-72.812 38.872 3064
+-72.686 38.872 3062
+-72.56 38.872 3061
+-72.434 38.872 3060
+-72.308 38.872 3059
+-72.182 38.872 3058
+-72.056 38.872 3057
+-71.93 38.872 3056
+-71.804 38.872 3055
+-71.678 38.872 3054
+-71.552 38.872 3053
+-71.426 38.872 3052
+-71.3 38.872 3051
+-71.174 38.872 2925
+-71.048 38.872 2924
+-70.922 38.872 2893
+-70.796 38.872 2845
+-70.67 38.872 2844
+-70.544 38.872 2843
+-70.418 38.872 2857
+-70.292 38.872 2857
+-70.166 38.872 2867
+-70.04 38.872 2866
+-69.914 38.872 2826
+-69.788 38.872 2785
+-69.662 38.872 2785
+-69.536 38.872 2784
+-69.41 38.872 2784
+-69.284 38.872 2802
+-69.158 38.872 2808
+-69.032 38.872 2818
+-68.906 38.872 2816
+-68.78 38.872 2852
+-68.654 38.872 2863
+-68.528 38.872 2864
+-68.402 38.872 2923
+-68.276 38.872 2946
+-68.15 38.872 2922
+-68.024 38.872 2911
+-67.898 38.872 3070
+-67.772 38.872 3071
+-67.646 38.872 3139
+-67.52 38.872 3140
+-67.394 38.872 3141
+-67.268 38.872 3143
+-67.142 38.872 3144
+-67.016 38.872 3052
+-66.89 38.872 3074
+-66.764 38.872 3075
+-66.638 38.872 3062
+-66.512 38.872 3362
+-66.386 38.872 3395
+-66.26 38.872 3395
+-66.134 38.872 3389
+-66.008 38.872 3390
+-65.882 38.872 3394
+-65.756 38.872 3412
+-65.63 38.872 3412
+-65.504 38.872 3398
+-65.378 38.872 3399
+-65.252 38.872 3348
+-65.126 38.872 3348
+-128 38.82 2407
+-127.874 38.82 2405
+-127.748 38.82 2413
+-127.622 38.82 2442
+-127.496 38.82 2463
+-127.37 38.82 2460
+-127.244 38.82 2440
+-127.118 38.82 2495
+-126.992 38.82 2491
+-126.866 38.82 2511
+-126.74 38.82 2489
+-126.614 38.82 2498
+-126.488 38.82 2493
+-126.362 38.82 2575
+-126.236 38.82 2566
+-126.11 38.82 2557
+-125.984 38.82 2520
+-125.858 38.82 2544
+-125.732 38.82 2535
+-125.606 38.82 2525
+-125.48 38.82 2513
+-125.354 38.82 2464
+-125.228 38.82 2530
+-125.102 38.82 2515
+-124.976 38.82 2498
+-124.85 38.82 2480
+-124.724 38.82 2462
+-124.598 38.82 2450
+-124.472 38.82 2474
+-124.346 38.82 2400
+-124.22 38.82 2372
+-124.094 38.82 2374
+-123.968 38.82 2335
+-123.842 38.82 2293
+-123.716 38.82 2244
+-123.59 38.82 2187
+-123.464 38.82 2129
+-123.338 38.82 2074
+-123.212 38.82 1984
+-123.086 38.82 1913
+-122.96 38.82 1837
+-122.834 38.82 1801
+-122.708 38.82 1841
+-122.582 38.82 1911
+-122.456 38.82 2005
+-122.33 38.82 2132
+-122.204 38.82 2286
+-122.078 38.82 2457
+-121.952 38.82 2623
+-121.826 38.82 2753
+-121.7 38.82 2848
+-121.574 38.82 2914
+-121.448 38.82 2935
+-121.322 38.82 2927
+-121.196 38.82 2932
+-121.07 38.82 3033
+-120.944 38.82 3122
+-120.818 38.82 3212
+-120.692 38.82 3332
+-120.566 38.82 3387
+-120.44 38.82 3418
+-120.314 38.82 3482
+-120.188 38.82 3550
+-120.062 38.82 3600
+-119.936 38.82 3619
+-119.81 38.82 3647
+-119.684 38.82 3730
+-119.558 38.82 3880
+-119.432 38.82 3977
+-119.306 38.82 4115
+-119.18 38.82 4161
+-119.054 38.82 4170
+-118.928 38.82 4143
+-118.802 38.82 4227
+-118.676 38.82 4340
+-118.55 38.82 4363
+-118.424 38.82 4376
+-118.298 38.82 4423
+-118.172 38.82 4439
+-118.046 38.82 4428
+-117.92 38.82 4441
+-117.794 38.82 4445
+-117.668 38.82 4446
+-117.542 38.82 4451
+-117.416 38.82 4475
+-117.29 38.82 4495
+-117.164 38.82 4493
+-117.038 38.82 4474
+-116.912 38.82 4462
+-116.786 38.82 4432
+-116.66 38.82 4406
+-116.534 38.82 4383
+-116.408 38.82 4367
+-116.282 38.82 4336
+-116.156 38.82 4303
+-116.03 38.82 4270
+-115.904 38.82 4244
+-115.778 38.82 4224
+-115.652 38.82 4196
+-115.526 38.82 4156
+-115.4 38.82 4064
+-115.274 38.82 3967
+-115.148 38.82 3921
+-115.022 38.82 3936
+-114.896 38.82 3880
+-114.77 38.82 3801
+-114.644 38.82 3745
+-114.518 38.82 3762
+-114.392 38.82 3762
+-114.266 38.82 3745
+-114.14 38.82 3716
+-114.014 38.82 3694
+-113.888 38.82 3671
+-113.762 38.82 3653
+-113.636 38.82 3646
+-113.51 38.82 3648
+-113.384 38.82 3656
+-113.258 38.82 3659
+-113.132 38.82 3685
+-113.006 38.82 3643
+-112.88 38.82 3638
+-112.754 38.82 3560
+-112.628 38.82 3550
+-112.502 38.82 3449
+-112.376 38.82 3420
+-112.25 38.82 3386
+-112.124 38.82 3345
+-111.998 38.82 3254
+-111.872 38.82 3152
+-111.746 38.82 3169
+-111.62 38.82 2864
+-111.494 38.82 2821
+-111.368 38.82 2758
+-111.242 38.82 2692
+-111.116 38.82 2560
+-110.99 38.82 2471
+-110.864 38.82 2372
+-110.738 38.82 2274
+-110.612 38.82 2179
+-110.486 38.82 2052
+-110.36 38.82 1963
+-110.234 38.82 1901
+-110.108 38.82 1877
+-109.982 38.82 1895
+-109.856 38.82 1942
+-109.73 38.82 2007
+-109.604 38.82 2077
+-109.478 38.82 2136
+-109.352 38.82 2190
+-109.226 38.82 2235
+-109.1 38.82 2270
+-108.974 38.82 2299
+-108.848 38.82 2321
+-108.722 38.82 2339
+-108.596 38.82 2361
+-108.47 38.82 2370
+-108.344 38.82 2377
+-108.218 38.82 2382
+-108.092 38.82 2386
+-107.966 38.82 2445
+-107.84 38.82 2405
+-107.714 38.82 2468
+-107.588 38.82 2472
+-107.462 38.82 2490
+-107.336 38.82 2496
+-107.21 38.82 2502
+-107.084 38.82 2509
+-106.958 38.82 2517
+-106.832 38.82 2491
+-106.706 38.82 2600
+-106.58 38.82 2626
+-106.454 38.82 2636
+-106.328 38.82 2645
+-106.202 38.82 2674
+-106.076 38.82 2683
+-105.95 38.82 2656
+-105.824 38.82 2665
+-105.698 38.82 2686
+-105.572 38.82 2694
+-105.446 38.82 2740
+-105.32 38.82 2757
+-105.194 38.82 2769
+-105.068 38.82 2851
+-104.942 38.82 2859
+-104.816 38.82 2857
+-104.69 38.82 2913
+-104.564 38.82 2810
+-104.438 38.82 2763
+-104.312 38.82 2743
+-104.186 38.82 2816
+-104.06 38.82 2817
+-103.934 38.82 2824
+-103.808 38.82 2823
+-103.682 38.82 2778
+-103.556 38.82 2875
+-103.43 38.82 2872
+-103.304 38.82 2686
+-103.178 38.82 2722
+-103.052 38.82 2612
+-102.926 38.82 2597
+-102.8 38.82 2523
+-102.674 38.82 2544
+-102.548 38.82 2490
+-102.422 38.82 2535
+-102.296 38.82 2547
+-102.17 38.82 2539
+-102.044 38.82 2632
+-101.918 38.82 2624
+-101.792 38.82 2674
+-101.666 38.82 2678
+-101.54 38.82 2720
+-101.414 38.82 2725
+-101.288 38.82 2729
+-101.162 38.82 2765
+-101.036 38.82 2915
+-100.91 38.82 2917
+-100.784 38.82 2919
+-100.658 38.82 2921
+-100.532 38.82 2924
+-100.406 38.82 2926
+-100.28 38.82 2929
+-100.154 38.82 2931
+-100.028 38.82 2934
+-99.902 38.82 3015
+-99.776 38.82 3134
+-99.65 38.82 3132
+-99.524 38.82 3130
+-99.398 38.82 3128
+-99.272 38.82 3126
+-99.146 38.82 3123
+-99.02 38.82 3121
+-98.894 38.82 3118
+-98.768 38.82 3221
+-98.642 38.82 3217
+-98.516 38.82 3211
+-98.39 38.82 3244
+-98.264 38.82 3322
+-98.138 38.82 3311
+-98.012 38.82 3298
+-97.886 38.82 3282
+-97.76 38.82 3265
+-97.634 38.82 3245
+-97.508 38.82 3223
+-97.382 38.82 3217
+-97.256 38.82 3230
+-97.13 38.82 3208
+-97.004 38.82 3203
+-96.878 38.82 3224
+-96.752 38.82 3273
+-96.626 38.82 3370
+-96.5 38.82 3442
+-96.374 38.82 3463
+-96.248 38.82 3453
+-96.122 38.82 3425
+-95.996 38.82 3537
+-95.87 38.82 3716
+-95.744 38.82 3939
+-95.618 38.82 4037
+-95.492 38.82 4089
+-95.366 38.82 4216
+-95.24 38.82 4423
+-95.114 38.82 4550
+-94.988 38.82 4548
+-94.862 38.82 4718
+-94.736 38.82 4905
+-94.61 38.82 4944
+-94.484 38.82 5067
+-94.358 38.82 5258
+-94.232 38.82 5285
+-94.106 38.82 5460
+-93.98 38.82 5649
+-93.854 38.82 5803
+-93.728 38.82 5966
+-93.602 38.82 6096
+-93.476 38.82 6104
+-93.35 38.82 6234
+-93.224 38.82 6418
+-93.098 38.82 6597
+-92.972 38.82 6762
+-92.846 38.82 6847
+-92.72 38.82 6966
+-92.594 38.82 7088
+-92.468 38.82 7217
+-92.342 38.82 7438
+-92.216 38.82 7567
+-92.09 38.82 7696
+-91.964 38.82 7733
+-91.838 38.82 7988
+-91.712 38.82 8115
+-91.586 38.82 8169
+-91.46 38.82 8301
+-91.334 38.82 8444
+-91.208 38.82 8603
+-91.082 38.82 8742
+-90.956 38.82 8880
+-90.83 38.82 9060
+-90.704 38.82 9102
+-90.578 38.82 9225
+-90.452 38.82 9373
+-90.326 38.82 9267
+-90.2 38.82 9109
+-90.074 38.82 9029
+-89.948 38.82 8945
+-89.822 38.82 8712
+-89.696 38.82 8628
+-89.57 38.82 8500
+-89.444 38.82 8386
+-89.318 38.82 8193
+-89.192 38.82 8494
+-89.066 38.82 8525
+-88.94 38.82 8554
+-88.814 38.82 8539
+-88.688 38.82 8550
+-88.562 38.82 8504
+-88.436 38.82 8471
+-88.31 38.82 8392
+-88.184 38.82 8351
+-88.058 38.82 8290
+-87.932 38.82 8152
+-87.806 38.82 8129
+-87.68 38.82 8046
+-87.554 38.82 7877
+-87.428 38.82 7781
+-87.302 38.82 7683
+-87.176 38.82 7549
+-87.05 38.82 7465
+-86.924 38.82 7318
+-86.798 38.82 7156
+-86.672 38.82 7083
+-86.546 38.82 6961
+-86.42 38.82 6857
+-86.294 38.82 6721
+-86.168 38.82 6613
+-86.042 38.82 6512
+-85.916 38.82 6345
+-85.79 38.82 6158
+-85.664 38.82 6005
+-85.538 38.82 5831
+-85.412 38.82 5717
+-85.286 38.82 5640
+-85.16 38.82 5497
+-85.034 38.82 5371
+-84.908 38.82 5375
+-84.782 38.82 5257
+-84.656 38.82 5127
+-84.53 38.82 4934
+-84.404 38.82 4782
+-84.278 38.82 4661
+-84.152 38.82 4616
+-84.026 38.82 4435
+-83.9 38.82 4221
+-83.774 38.82 4102
+-83.648 38.82 4129
+-83.522 38.82 4164
+-83.396 38.82 4204
+-83.27 38.82 4228
+-83.144 38.82 4215
+-83.018 38.82 4182
+-82.892 38.82 4183
+-82.766 38.82 4129
+-82.64 38.82 4036
+-82.514 38.82 3953
+-82.388 38.82 3921
+-82.262 38.82 3897
+-82.136 38.82 3879
+-82.01 38.82 3873
+-81.884 38.82 3869
+-81.758 38.82 3814
+-81.632 38.82 3785
+-81.506 38.82 3782
+-81.38 38.82 3779
+-81.254 38.82 3777
+-81.128 38.82 3775
+-81.002 38.82 3774
+-80.876 38.82 3774
+-80.75 38.82 3773
+-80.624 38.82 3773
+-80.498 38.82 3773
+-80.372 38.82 3670
+-80.246 38.82 3660
+-80.12 38.82 3660
+-79.994 38.82 3660
+-79.868 38.82 3568
+-79.742 38.82 3568
+-79.616 38.82 3568
+-79.49 38.82 3568
+-79.364 38.82 3568
+-79.238 38.82 3568
+-79.112 38.82 3568
+-78.986 38.82 3568
+-78.86 38.82 3568
+-78.734 38.82 3568
+-78.608 38.82 3569
+-78.482 38.82 3569
+-78.356 38.82 3452
+-78.23 38.82 3452
+-78.104 38.82 3453
+-77.978 38.82 3453
+-77.852 38.82 3453
+-77.726 38.82 3454
+-77.6 38.82 3454
+-77.474 38.82 3454
+-77.348 38.82 3455
+-77.222 38.82 3455
+-77.096 38.82 3455
+-76.97 38.82 3455
+-76.844 38.82 3456
+-76.718 38.82 3385
+-76.592 38.82 3384
+-76.466 38.82 3383
+-76.34 38.82 3383
+-76.214 38.82 3382
+-76.088 38.82 3381
+-75.962 38.82 3381
+-75.836 38.82 3380
+-75.71 38.82 3380
+-75.584 38.82 3379
+-75.458 38.82 3378
+-75.332 38.82 3378
+-75.206 38.82 3377
+-75.08 38.82 3377
+-74.954 38.82 3376
+-74.828 38.82 3376
+-74.702 38.82 3376
+-74.576 38.82 3375
+-74.45 38.82 3375
+-74.324 38.82 3374
+-74.198 38.82 3374
+-74.072 38.82 3374
+-73.946 38.82 3373
+-73.82 38.82 3373
+-73.694 38.82 3373
+-73.568 38.82 3070
+-73.442 38.82 3068
+-73.316 38.82 3067
+-73.19 38.82 3066
+-73.064 38.82 3065
+-72.938 38.82 3063
+-72.812 38.82 3062
+-72.686 38.82 3061
+-72.56 38.82 3060
+-72.434 38.82 3059
+-72.308 38.82 3058
+-72.182 38.82 3057
+-72.056 38.82 3056
+-71.93 38.82 3055
+-71.804 38.82 3054
+-71.678 38.82 3053
+-71.552 38.82 3052
+-71.426 38.82 3051
+-71.3 38.82 2924
+-71.174 38.82 2923
+-71.048 38.82 2892
+-70.922 38.82 2844
+-70.796 38.82 2843
+-70.67 38.82 2842
+-70.544 38.82 2857
+-70.418 38.82 2856
+-70.292 38.82 2866
+-70.166 38.82 2866
+-70.04 38.82 2825
+-69.914 38.82 2784
+-69.788 38.82 2784
+-69.662 38.82 2783
+-69.536 38.82 2783
+-69.41 38.82 2801
+-69.284 38.82 2807
+-69.158 38.82 2817
+-69.032 38.82 2815
+-68.906 38.82 2851
+-68.78 38.82 2862
+-68.654 38.82 2863
+-68.528 38.82 2922
+-68.402 38.82 2945
+-68.276 38.82 2921
+-68.15 38.82 2910
+-68.024 38.82 3069
+-67.898 38.82 3070
+-67.772 38.82 3137
+-67.646 38.82 3139
+-67.52 38.82 3140
+-67.394 38.82 3141
+-67.268 38.82 3143
+-67.142 38.82 3050
+-67.016 38.82 3072
+-66.89 38.82 3074
+-66.764 38.82 3061
+-66.638 38.82 3361
+-66.512 38.82 3394
+-66.386 38.82 3394
+-66.26 38.82 3388
+-66.134 38.82 3389
+-66.008 38.82 3393
+-65.882 38.82 3411
+-65.756 38.82 3411
+-65.63 38.82 3397
+-65.504 38.82 3398
+-65.378 38.82 3347
+-65.252 38.82 3348
+-65.126 38.82 3348
+-128 38.768 2412
+-127.874 38.768 2428
+-127.748 38.768 2451
+-127.622 38.768 2475
+-127.496 38.768 2472
+-127.37 38.768 2458
+-127.244 38.768 2509
+-127.118 38.768 2505
+-126.992 38.768 2528
+-126.866 38.768 2524
+-126.74 38.768 2519
+-126.614 38.768 2510
+-126.488 38.768 2595
+-126.362 38.768 2587
+-126.236 38.768 2611
+-126.11 38.768 2601
+-125.984 38.768 2565
+-125.858 38.768 2556
+-125.732 38.768 2547
+-125.606 38.768 2537
+-125.48 38.768 2485
+-125.354 38.768 2511
+-125.228 38.768 2499
+-125.102 38.768 2530
+-124.976 38.768 2513
+-124.85 38.768 2496
+-124.724 38.768 2477
+-124.598 38.768 2498
+-124.472 38.768 2481
+-124.346 38.768 2402
+-124.22 38.768 2418
+-124.094 38.768 2387
+-123.968 38.768 2347
+-123.842 38.768 2303
+-123.716 38.768 2255
+-123.59 38.768 2223
+-123.464 38.768 2159
+-123.338 38.768 2082
+-123.212 38.768 1997
+-123.086 38.768 1903
+-122.96 38.768 1805
+-122.834 38.768 1741
+-122.708 38.768 1838
+-122.582 38.768 1925
+-122.456 38.768 1986
+-122.33 38.768 2122
+-122.204 38.768 2298
+-122.078 38.768 2481
+-121.952 38.768 2641
+-121.826 38.768 2774
+-121.7 38.768 2871
+-121.574 38.768 2937
+-121.448 38.768 2997
+-121.322 38.768 3020
+-121.196 38.768 3051
+-121.07 38.768 3111
+-120.944 38.768 3123
+-120.818 38.768 3203
+-120.692 38.768 3359
+-120.566 38.768 3401
+-120.44 38.768 3428
+-120.314 38.768 3504
+-120.188 38.768 3574
+-120.062 38.768 3615
+-119.936 38.768 3656
+-119.81 38.768 3717
+-119.684 38.768 3807
+-119.558 38.768 3955
+-119.432 38.768 4034
+-119.306 38.768 4204
+-119.18 38.768 4246
+-119.054 38.768 4251
+-118.928 38.768 4227
+-118.802 38.768 4313
+-118.676 38.768 4370
+-118.55 38.768 4344
+-118.424 38.768 4407
+-118.298 38.768 4473
+-118.172 38.768 4489
+-118.046 38.768 4495
+-117.92 38.768 4500
+-117.794 38.768 4489
+-117.668 38.768 4482
+-117.542 38.768 4491
+-117.416 38.768 4514
+-117.29 38.768 4506
+-117.164 38.768 4524
+-117.038 38.768 4509
+-116.912 38.768 4485
+-116.786 38.768 4487
+-116.66 38.768 4463
+-116.534 38.768 4433
+-116.408 38.768 4424
+-116.282 38.768 4390
+-116.156 38.768 4353
+-116.03 38.768 4310
+-115.904 38.768 4235
+-115.778 38.768 4259
+-115.652 38.768 4247
+-115.526 38.768 4199
+-115.4 38.768 4113
+-115.274 38.768 4019
+-115.148 38.768 3967
+-115.022 38.768 3955
+-114.896 38.768 3894
+-114.77 38.768 3786
+-114.644 38.768 3696
+-114.518 38.768 3746
+-114.392 38.768 3768
+-114.266 38.768 3747
+-114.14 38.768 3718
+-114.014 38.768 3680
+-113.888 38.768 3638
+-113.762 38.768 3610
+-113.636 38.768 3603
+-113.51 38.768 3614
+-113.384 38.768 3638
+-113.258 38.768 3656
+-113.132 38.768 3665
+-113.006 38.768 3627
+-112.88 38.768 3630
+-112.754 38.768 3592
+-112.628 38.768 3551
+-112.502 38.768 3540
+-112.376 38.768 3420
+-112.25 38.768 3422
+-112.124 38.768 3296
+-111.998 38.768 3238
+-111.872 38.768 3219
+-111.746 38.768 3081
+-111.62 38.768 2991
+-111.494 38.768 2926
+-111.368 38.768 2684
+-111.242 38.768 2624
+-111.116 38.768 2540
+-110.99 38.768 2472
+-110.864 38.768 2357
+-110.738 38.768 2266
+-110.612 38.768 2160
+-110.486 38.768 2038
+-110.36 38.768 1926
+-110.234 38.768 1839
+-110.108 38.768 1810
+-109.982 38.768 1835
+-109.856 38.768 1898
+-109.73 38.768 1981
+-109.604 38.768 2060
+-109.478 38.768 2132
+-109.352 38.768 2192
+-109.226 38.768 2239
+-109.1 38.768 2277
+-108.974 38.768 2307
+-108.848 38.768 2329
+-108.722 38.768 2354
+-108.596 38.768 2366
+-108.47 38.768 2375
+-108.344 38.768 2380
+-108.218 38.768 2383
+-108.092 38.768 2439
+-107.966 38.768 2400
+-107.84 38.768 2458
+-107.714 38.768 2461
+-107.588 38.768 2477
+-107.462 38.768 2481
+-107.336 38.768 2487
+-107.21 38.768 2493
+-107.084 38.768 2501
+-106.958 38.768 2477
+-106.832 38.768 2580
+-106.706 38.768 2606
+-106.58 38.768 2616
+-106.454 38.768 2627
+-106.328 38.768 2655
+-106.202 38.768 2666
+-106.076 38.768 2642
+-105.95 38.768 2651
+-105.824 38.768 2674
+-105.698 38.768 2683
+-105.572 38.768 2728
+-105.446 38.768 2746
+-105.32 38.768 2759
+-105.194 38.768 2840
+-105.068 38.768 2849
+-104.942 38.768 2848
+-104.816 38.768 2904
+-104.69 38.768 2863
+-104.564 38.768 2765
+-104.438 38.768 2746
+-104.312 38.768 2819
+-104.186 38.768 2821
+-104.06 38.768 2829
+-103.934 38.768 2829
+-103.808 38.768 2785
+-103.682 38.768 2882
+-103.556 38.768 2880
+-103.43 38.768 2877
+-103.304 38.768 2888
+-103.178 38.768 2687
+-103.052 38.768 2641
+-102.926 38.768 2596
+-102.8 38.768 2617
+-102.674 38.768 2526
+-102.548 38.768 2532
+-102.422 38.768 2542
+-102.296 38.768 2540
+-102.17 38.768 2555
+-102.044 38.768 2557
+-101.918 38.768 2644
+-101.792 38.768 2681
+-101.666 38.768 2685
+-101.54 38.768 2727
+-101.414 38.768 2731
+-101.288 38.768 2736
+-101.162 38.768 2741
+-101.036 38.768 2926
+-100.91 38.768 2928
+-100.784 38.768 2930
+-100.658 38.768 2932
+-100.532 38.768 2935
+-100.406 38.768 2937
+-100.28 38.768 2940
+-100.154 38.768 2943
+-100.028 38.768 3023
+-99.902 38.768 3141
+-99.776 38.768 3139
+-99.65 38.768 3138
+-99.524 38.768 3136
+-99.398 38.768 3134
+-99.272 38.768 3132
+-99.146 38.768 3129
+-99.02 38.768 3127
+-98.894 38.768 3137
+-98.768 38.768 3227
+-98.642 38.768 3238
+-98.516 38.768 3231
+-98.39 38.768 3331
+-98.264 38.768 3320
+-98.138 38.768 3306
+-98.012 38.768 3290
+-97.886 38.768 3272
+-97.76 38.768 3249
+-97.634 38.768 3222
+-97.508 38.768 3215
+-97.382 38.768 3171
+-97.256 38.768 3140
+-97.13 38.768 3089
+-97.004 38.768 3062
+-96.878 38.768 3074
+-96.752 38.768 3144
+-96.626 38.768 3246
+-96.5 38.768 3371
+-96.374 38.768 3473
+-96.248 38.768 3498
+-96.122 38.768 3523
+-95.996 38.768 3601
+-95.87 38.768 3706
+-95.744 38.768 3845
+-95.618 38.768 3995
+-95.492 38.768 4113
+-95.366 38.768 4219
+-95.24 38.768 4454
+-95.114 38.768 4584
+-94.988 38.768 4657
+-94.862 38.768 4792
+-94.736 38.768 4940
+-94.61 38.768 5025
+-94.484 38.768 5125
+-94.358 38.768 5233
+-94.232 38.768 5363
+-94.106 38.768 5511
+-93.98 38.768 5658
+-93.854 38.768 5780
+-93.728 38.768 5955
+-93.602 38.768 6076
+-93.476 38.768 6169
+-93.35 38.768 6271
+-93.224 38.768 6428
+-93.098 38.768 6612
+-92.972 38.768 6737
+-92.846 38.768 6785
+-92.72 38.768 6957
+-92.594 38.768 7095
+-92.468 38.768 7197
+-92.342 38.768 7379
+-92.216 38.768 7563
+-92.09 38.768 7708
+-91.964 38.768 7823
+-91.838 38.768 7894
+-91.712 38.768 8066
+-91.586 38.768 8225
+-91.46 38.768 8364
+-91.334 38.768 8440
+-91.208 38.768 8599
+-91.082 38.768 8747
+-90.956 38.768 8886
+-90.83 38.768 9026
+-90.704 38.768 9193
+-90.578 38.768 9224
+-90.452 38.768 9383
+-90.326 38.768 9263
+-90.2 38.768 9130
+-90.074 38.768 9006
+-89.948 38.768 8907
+-89.822 38.768 8790
+-89.696 38.768 8632
+-89.57 38.768 8495
+-89.444 38.768 8331
+-89.318 38.768 8512
+-89.192 38.768 8549
+-89.066 38.768 8560
+-88.94 38.768 8619
+-88.814 38.768 8599
+-88.688 38.768 8568
+-88.562 38.768 8562
+-88.436 38.768 8544
+-88.31 38.768 8467
+-88.184 38.768 8417
+-88.058 38.768 8331
+-87.932 38.768 8285
+-87.806 38.768 8164
+-87.68 38.768 8093
+-87.554 38.768 7978
+-87.428 38.768 7879
+-87.302 38.768 7742
+-87.176 38.768 7607
+-87.05 38.768 7524
+-86.924 38.768 7370
+-86.798 38.768 7240
+-86.672 38.768 7123
+-86.546 38.768 7009
+-86.42 38.768 6875
+-86.294 38.768 6727
+-86.168 38.768 6642
+-86.042 38.768 6517
+-85.916 38.768 6367
+-85.79 38.768 6229
+-85.664 38.768 6094
+-85.538 38.768 5822
+-85.412 38.768 5758
+-85.286 38.768 5590
+-85.16 38.768 5499
+-85.034 38.768 5454
+-84.908 38.768 5334
+-84.782 38.768 5182
+-84.656 38.768 5065
+-84.53 38.768 4888
+-84.404 38.768 4738
+-84.278 38.768 4555
+-84.152 38.768 4599
+-84.026 38.768 4517
+-83.9 38.768 4378
+-83.774 38.768 4265
+-83.648 38.768 4238
+-83.522 38.768 4250
+-83.396 38.768 4203
+-83.27 38.768 4203
+-83.144 38.768 4172
+-83.018 38.768 4119
+-82.892 38.768 4112
+-82.766 38.768 4053
+-82.64 38.768 3983
+-82.514 38.768 3976
+-82.388 38.768 3926
+-82.262 38.768 3918
+-82.136 38.768 3879
+-82.01 38.768 3875
+-81.884 38.768 3808
+-81.758 38.768 3779
+-81.632 38.768 3775
+-81.506 38.768 3772
+-81.38 38.768 3770
+-81.254 38.768 3768
+-81.128 38.768 3767
+-81.002 38.768 3767
+-80.876 38.768 3767
+-80.75 38.768 3767
+-80.624 38.768 3767
+-80.498 38.768 3666
+-80.372 38.768 3657
+-80.246 38.768 3657
+-80.12 38.768 3657
+-79.994 38.768 3589
+-79.868 38.768 3566
+-79.742 38.768 3566
+-79.616 38.768 3566
+-79.49 38.768 3566
+-79.364 38.768 3566
+-79.238 38.768 3566
+-79.112 38.768 3567
+-78.986 38.768 3567
+-78.86 38.768 3567
+-78.734 38.768 3551
+-78.608 38.768 3551
+-78.482 38.768 3452
+-78.356 38.768 3452
+-78.23 38.768 3452
+-78.104 38.768 3453
+-77.978 38.768 3453
+-77.852 38.768 3453
+-77.726 38.768 3454
+-77.6 38.768 3454
+-77.474 38.768 3454
+-77.348 38.768 3455
+-77.222 38.768 3455
+-77.096 38.768 3455
+-76.97 38.768 3456
+-76.844 38.768 3384
+-76.718 38.768 3384
+-76.592 38.768 3383
+-76.466 38.768 3382
+-76.34 38.768 3382
+-76.214 38.768 3381
+-76.088 38.768 3380
+-75.962 38.768 3380
+-75.836 38.768 3379
+-75.71 38.768 3379
+-75.584 38.768 3378
+-75.458 38.768 3378
+-75.332 38.768 3377
+-75.206 38.768 3377
+-75.08 38.768 3376
+-74.954 38.768 3376
+-74.828 38.768 3375
+-74.702 38.768 3375
+-74.576 38.768 3374
+-74.45 38.768 3374
+-74.324 38.768 3373
+-74.198 38.768 3373
+-74.072 38.768 3373
+-73.946 38.768 3372
+-73.82 38.768 3372
+-73.694 38.768 3070
+-73.568 38.768 3068
+-73.442 38.768 3067
+-73.316 38.768 3066
+-73.19 38.768 3064
+-73.064 38.768 3063
+-72.938 38.768 3062
+-72.812 38.768 3061
+-72.686 38.768 3059
+-72.56 38.768 3058
+-72.434 38.768 3057
+-72.308 38.768 3056
+-72.182 38.768 3055
+-72.056 38.768 3054
+-71.93 38.768 3053
+-71.804 38.768 3052
+-71.678 38.768 3051
+-71.552 38.768 3050
+-71.426 38.768 2924
+-71.3 38.768 2923
+-71.174 38.768 2892
+-71.048 38.768 2844
+-70.922 38.768 2842
+-70.796 38.768 2841
+-70.67 38.768 2856
+-70.544 38.768 2855
+-70.418 38.768 2865
+-70.292 38.768 2865
+-70.166 38.768 2824
+-70.04 38.768 2783
+-69.914 38.768 2783
+-69.788 38.768 2783
+-69.662 38.768 2782
+-69.536 38.768 2800
+-69.41 38.768 2806
+-69.284 38.768 2816
+-69.158 38.768 2814
+-69.032 38.768 2849
+-68.906 38.768 2861
+-68.78 38.768 2862
+-68.654 38.768 2920
+-68.528 38.768 2943
+-68.402 38.768 2920
+-68.276 38.768 2909
+-68.15 38.768 3067
+-68.024 38.768 3069
+-67.898 38.768 3136
+-67.772 38.768 3137
+-67.646 38.768 3139
+-67.52 38.768 3140
+-67.394 38.768 3141
+-67.268 38.768 3049
+-67.142 38.768 3071
+-67.016 38.768 3073
+-66.89 38.768 3060
+-66.764 38.768 3360
+-66.638 38.768 3392
+-66.512 38.768 3393
+-66.386 38.768 3387
+-66.26 38.768 3388
+-66.134 38.768 3392
+-66.008 38.768 3410
+-65.882 38.768 3410
+-65.756 38.768 3396
+-65.63 38.768 3397
+-65.504 38.768 3346
+-65.378 38.768 3347
+-65.252 38.768 3347
+-65.126 38.768 3417
+-128 38.716 2443
+-127.874 38.716 2488
+-127.748 38.716 2486
+-127.622 38.716 2483
+-127.496 38.716 2469
+-127.37 38.716 2522
+-127.244 38.716 2519
+-127.118 38.716 2545
+-126.992 38.716 2541
+-126.866 38.716 2537
+-126.74 38.716 2525
+-126.614 38.716 2596
+-126.488 38.716 2589
+-126.362 38.716 2634
+-126.236 38.716 2625
+-126.11 38.716 2616
+-125.984 38.716 2606
+-125.858 38.716 2569
+-125.732 38.716 2560
+-125.606 38.716 2584
+-125.48 38.716 2536
+-125.354 38.716 2525
+-125.228 38.716 2513
+-125.102 38.716 2500
+-124.976 38.716 2530
+-124.85 38.716 2554
+-124.724 38.716 2532
+-124.598 38.716 2516
+-124.472 38.716 2536
+-124.346 38.716 2512
+-124.22 38.716 2429
+-124.094 38.716 2400
+-123.968 38.716 2366
+-123.842 38.716 2357
+-123.716 38.716 2307
+-123.59 38.716 2247
+-123.464 38.716 2179
+-123.338 38.716 2110
+-123.212 38.716 2027
+-123.086 38.716 1940
+-122.96 38.716 1862
+-122.834 38.716 1827
+-122.708 38.716 1899
+-122.582 38.716 1914
+-122.456 38.716 1969
+-122.33 38.716 2119
+-122.204 38.716 2308
+-122.078 38.716 2496
+-121.952 38.716 2661
+-121.826 38.716 2787
+-121.7 38.716 2910
+-121.574 38.716 2986
+-121.448 38.716 3039
+-121.322 38.716 3086
+-121.196 38.716 3125
+-121.07 38.716 3151
+-120.944 38.716 3173
+-120.818 38.716 3254
+-120.692 38.716 3370
+-120.566 38.716 3420
+-120.44 38.716 3488
+-120.314 38.716 3583
+-120.188 38.716 3626
+-120.062 38.716 3660
+-119.936 38.716 3705
+-119.81 38.716 3782
+-119.684 38.716 3879
+-119.558 38.716 4047
+-119.432 38.716 4128
+-119.306 38.716 4253
+-119.18 38.716 4286
+-119.054 38.716 4362
+-118.928 38.716 4374
+-118.802 38.716 4426
+-118.676 38.716 4433
+-118.55 38.716 4433
+-118.424 38.716 4479
+-118.298 38.716 4506
+-118.172 38.716 4532
+-118.046 38.716 4546
+-117.92 38.716 4542
+-117.794 38.716 4529
+-117.668 38.716 4526
+-117.542 38.716 4538
+-117.416 38.716 4554
+-117.29 38.716 4540
+-117.164 38.716 4582
+-117.038 38.716 4542
+-116.912 38.716 4528
+-116.786 38.716 4552
+-116.66 38.716 4496
+-116.534 38.716 4467
+-116.408 38.716 4450
+-116.282 38.716 4428
+-116.156 38.716 4385
+-116.03 38.716 4371
+-115.904 38.716 4315
+-115.778 38.716 4303
+-115.652 38.716 4292
+-115.526 38.716 4251
+-115.4 38.716 4194
+-115.274 38.716 4078
+-115.148 38.716 4031
+-115.022 38.716 3999
+-114.896 38.716 3958
+-114.77 38.716 3866
+-114.644 38.716 3793
+-114.518 38.716 3798
+-114.392 38.716 3778
+-114.266 38.716 3751
+-114.14 38.716 3709
+-114.014 38.716 3649
+-113.888 38.716 3578
+-113.762 38.716 3531
+-113.636 38.716 3536
+-113.51 38.716 3574
+-113.384 38.716 3609
+-113.258 38.716 3630
+-113.132 38.716 3651
+-113.006 38.716 3618
+-112.88 38.716 3630
+-112.754 38.716 3587
+-112.628 38.716 3580
+-112.502 38.716 3486
+-112.376 38.716 3456
+-112.25 38.716 3336
+-112.124 38.716 3283
+-111.998 38.716 3269
+-111.872 38.716 3130
+-111.746 38.716 3070
+-111.62 38.716 2979
+-111.494 38.716 2830
+-111.368 38.716 2769
+-111.242 38.716 2685
+-111.116 38.716 2542
+-110.99 38.716 2477
+-110.864 38.716 2365
+-110.738 38.716 2273
+-110.612 38.716 2156
+-110.486 38.716 2032
+-110.36 38.716 1909
+-110.234 38.716 1816
+-110.108 38.716 1782
+-109.982 38.716 1814
+-109.856 38.716 1894
+-109.73 38.716 1979
+-109.604 38.716 2065
+-109.478 38.716 2141
+-109.352 38.716 2202
+-109.226 38.716 2251
+-109.1 38.716 2289
+-108.974 38.716 2318
+-108.848 38.716 2348
+-108.722 38.716 2363
+-108.596 38.716 2373
+-108.47 38.716 2379
+-108.344 38.716 2382
+-108.218 38.716 2433
+-108.092 38.716 2396
+-107.966 38.716 2448
+-107.84 38.716 2449
+-107.714 38.716 2463
+-107.588 38.716 2466
+-107.462 38.716 2470
+-107.336 38.716 2475
+-107.21 38.716 2482
+-107.084 38.716 2461
+-106.958 38.716 2557
+-106.832 38.716 2583
+-106.706 38.716 2594
+-106.58 38.716 2606
+-106.454 38.716 2635
+-106.328 38.716 2647
+-106.202 38.716 2625
+-106.076 38.716 2636
+-105.95 38.716 2659
+-105.824 38.716 2669
+-105.698 38.716 2715
+-105.572 38.716 2734
+-105.446 38.716 2748
+-105.32 38.716 2828
+-105.194 38.716 2838
+-105.068 38.716 2839
+-104.942 38.716 2894
+-104.816 38.716 2854
+-104.69 38.716 2871
+-104.564 38.716 2748
+-104.438 38.716 2821
+-104.312 38.716 2823
+-104.186 38.716 2832
+-104.06 38.716 2833
+-103.934 38.716 2791
+-103.808 38.716 2888
+-103.682 38.716 2887
+-103.556 38.716 2885
+-103.43 38.716 2896
+-103.304 38.716 2880
+-103.178 38.716 2692
+-103.052 38.716 2647
+-102.926 38.716 2604
+-102.8 38.716 2597
+-102.674 38.716 2563
+-102.548 38.716 2578
+-102.422 38.716 2532
+-102.296 38.716 2547
+-102.17 38.716 2545
+-102.044 38.716 2554
+-101.918 38.716 2566
+-101.792 38.716 2676
+-101.666 38.716 2691
+-101.54 38.716 2733
+-101.414 38.716 2738
+-101.288 38.716 2743
+-101.162 38.716 2755
+-101.036 38.716 2936
+-100.91 38.716 2938
+-100.784 38.716 2940
+-100.658 38.716 2943
+-100.532 38.716 2945
+-100.406 38.716 2948
+-100.28 38.716 2951
+-100.154 38.716 3041
+-100.028 38.716 3148
+-99.902 38.716 3147
+-99.776 38.716 3145
+-99.65 38.716 3144
+-99.524 38.716 3142
+-99.398 38.716 3140
+-99.272 38.716 3138
+-99.146 38.716 3136
+-99.02 38.716 3133
+-98.894 38.716 3212
+-98.768 38.716 3247
+-98.642 38.716 3240
+-98.516 38.716 3233
+-98.39 38.716 3225
+-98.264 38.716 3299
+-98.138 38.716 3285
+-98.012 38.716 3268
+-97.886 38.716 3246
+-97.76 38.716 3220
+-97.634 38.716 3228
+-97.508 38.716 3179
+-97.382 38.716 3117
+-97.256 38.716 3037
+-97.13 38.716 2957
+-97.004 38.716 2869
+-96.878 38.716 2850
+-96.752 38.716 2956
+-96.626 38.716 3151
+-96.5 38.716 3323
+-96.374 38.716 3417
+-96.248 38.716 3470
+-96.122 38.716 3508
+-95.996 38.716 3575
+-95.87 38.716 3653
+-95.744 38.716 3772
+-95.618 38.716 3938
+-95.492 38.716 4098
+-95.366 38.716 4268
+-95.24 38.716 4416
+-95.114 38.716 4598
+-94.988 38.716 4719
+-94.862 38.716 4869
+-94.736 38.716 4994
+-94.61 38.716 5105
+-94.484 38.716 5175
+-94.358 38.716 5141
+-94.232 38.716 5362
+-94.106 38.716 5447
+-93.98 38.716 5612
+-93.854 38.716 5790
+-93.728 38.716 5828
+-93.602 38.716 6030
+-93.476 38.716 6212
+-93.35 38.716 6227
+-93.224 38.716 6420
+-93.098 38.716 6508
+-92.972 38.716 6764
+-92.846 38.716 6855
+-92.72 38.716 7004
+-92.594 38.716 7091
+-92.468 38.716 7207
+-92.342 38.716 7382
+-92.216 38.716 7545
+-92.09 38.716 7593
+-91.964 38.716 7765
+-91.838 38.716 7916
+-91.712 38.716 8074
+-91.586 38.716 8230
+-91.46 38.716 8321
+-91.334 38.716 8469
+-91.208 38.716 8633
+-91.082 38.716 8747
+-90.956 38.716 8871
+-90.83 38.716 9068
+-90.704 38.716 9194
+-90.578 38.716 9237
+-90.452 38.716 9363
+-90.326 38.716 9273
+-90.2 38.716 9086
+-90.074 38.716 9036
+-89.948 38.716 8844
+-89.822 38.716 8751
+-89.696 38.716 8611
+-89.57 38.716 8490
+-89.444 38.716 8357
+-89.318 38.716 8379
+-89.192 38.716 8578
+-89.066 38.716 8658
+-88.94 38.716 8663
+-88.814 38.716 8682
+-88.688 38.716 8649
+-88.562 38.716 8625
+-88.436 38.716 8604
+-88.31 38.716 8538
+-88.184 38.716 8444
+-88.058 38.716 8401
+-87.932 38.716 8230
+-87.806 38.716 8191
+-87.68 38.716 8091
+-87.554 38.716 7976
+-87.428 38.716 7862
+-87.302 38.716 7762
+-87.176 38.716 7625
+-87.05 38.716 7537
+-86.924 38.716 7393
+-86.798 38.716 7268
+-86.672 38.716 7128
+-86.546 38.716 7056
+-86.42 38.716 6887
+-86.294 38.716 6727
+-86.168 38.716 6602
+-86.042 38.716 6423
+-85.916 38.716 6395
+-85.79 38.716 6269
+-85.664 38.716 6110
+-85.538 38.716 5891
+-85.412 38.716 5736
+-85.286 38.716 5626
+-85.16 38.716 5541
+-85.034 38.716 5447
+-84.908 38.716 5251
+-84.782 38.716 5069
+-84.656 38.716 4997
+-84.53 38.716 4818
+-84.404 38.716 4795
+-84.278 38.716 4685
+-84.152 38.716 4637
+-84.026 38.716 4532
+-83.9 38.716 4436
+-83.774 38.716 4375
+-83.648 38.716 4324
+-83.522 38.716 4262
+-83.396 38.716 4228
+-83.27 38.716 4161
+-83.144 38.716 4119
+-83.018 38.716 4107
+-82.892 38.716 4044
+-82.766 38.716 3969
+-82.64 38.716 3956
+-82.514 38.716 3955
+-82.388 38.716 3951
+-82.262 38.716 3901
+-82.136 38.716 3841
+-82.01 38.716 3809
+-81.884 38.716 3770
+-81.758 38.716 3766
+-81.632 38.716 3763
+-81.506 38.716 3761
+-81.38 38.716 3759
+-81.254 38.716 3759
+-81.128 38.716 3758
+-81.002 38.716 3758
+-80.876 38.716 3759
+-80.75 38.716 3760
+-80.624 38.716 3662
+-80.498 38.716 3653
+-80.372 38.716 3653
+-80.246 38.716 3653
+-80.12 38.716 3586
+-79.994 38.716 3586
+-79.868 38.716 3587
+-79.742 38.716 3588
+-79.616 38.716 3588
+-79.49 38.716 3589
+-79.364 38.716 3590
+-79.238 38.716 3591
+-79.112 38.716 3592
+-78.986 38.716 3549
+-78.86 38.716 3549
+-78.734 38.716 3549
+-78.608 38.716 3451
+-78.482 38.716 3452
+-78.356 38.716 3452
+-78.23 38.716 3452
+-78.104 38.716 3453
+-77.978 38.716 3453
+-77.852 38.716 3453
+-77.726 38.716 3454
+-77.6 38.716 3454
+-77.474 38.716 3455
+-77.348 38.716 3455
+-77.222 38.716 3455
+-77.096 38.716 3456
+-76.97 38.716 3384
+-76.844 38.716 3383
+-76.718 38.716 3383
+-76.592 38.716 3382
+-76.466 38.716 3381
+-76.34 38.716 3381
+-76.214 38.716 3380
+-76.088 38.716 3379
+-75.962 38.716 3379
+-75.836 38.716 3378
+-75.71 38.716 3378
+-75.584 38.716 3377
+-75.458 38.716 3377
+-75.332 38.716 3376
+-75.206 38.716 3376
+-75.08 38.716 3375
+-74.954 38.716 3375
+-74.828 38.716 3374
+-74.702 38.716 3374
+-74.576 38.716 3373
+-74.45 38.716 3373
+-74.324 38.716 3373
+-74.198 38.716 3372
+-74.072 38.716 3372
+-73.946 38.716 3372
+-73.82 38.716 3069
+-73.694 38.716 3068
+-73.568 38.716 3067
+-73.442 38.716 3065
+-73.316 38.716 3064
+-73.19 38.716 3063
+-73.064 38.716 3061
+-72.938 38.716 3060
+-72.812 38.716 3059
+-72.686 38.716 3058
+-72.56 38.716 3057
+-72.434 38.716 3056
+-72.308 38.716 3055
+-72.182 38.716 3053
+-72.056 38.716 3052
+-71.93 38.716 3052
+-71.804 38.716 3051
+-71.678 38.716 3050
+-71.552 38.716 2923
+-71.426 38.716 2922
+-71.3 38.716 2891
+-71.174 38.716 2843
+-71.048 38.716 2842
+-70.922 38.716 2841
+-70.796 38.716 2855
+-70.67 38.716 2854
+-70.544 38.716 2865
+-70.418 38.716 2864
+-70.292 38.716 2823
+-70.166 38.716 2782
+-70.04 38.716 2782
+-69.914 38.716 2782
+-69.788 38.716 2781
+-69.662 38.716 2799
+-69.536 38.716 2805
+-69.41 38.716 2815
+-69.284 38.716 2813
+-69.158 38.716 2848
+-69.032 38.716 2860
+-68.906 38.716 2861
+-68.78 38.716 2919
+-68.654 38.716 2942
+-68.528 38.716 2919
+-68.402 38.716 2908
+-68.276 38.716 3066
+-68.15 38.716 3067
+-68.024 38.716 3134
+-67.898 38.716 3136
+-67.772 38.716 3137
+-67.646 38.716 3138
+-67.52 38.716 3140
+-67.394 38.716 3048
+-67.268 38.716 3070
+-67.142 38.716 3071
+-67.016 38.716 3059
+-66.89 38.716 3359
+-66.764 38.716 3391
+-66.638 38.716 3392
+-66.512 38.716 3386
+-66.386 38.716 3387
+-66.26 38.716 3391
+-66.134 38.716 3409
+-66.008 38.716 3409
+-65.882 38.716 3395
+-65.756 38.716 3396
+-65.63 38.716 3345
+-65.504 38.716 3346
+-65.378 38.716 3346
+-65.252 38.716 3416
+-65.126 38.716 3410
+-128 38.664 2378
+-127.874 38.664 2461
+-127.748 38.664 2525
+-127.622 38.664 2567
+-127.496 38.664 2535
+-127.37 38.664 2532
+-127.244 38.664 2561
+-127.118 38.664 2557
+-126.992 38.664 2554
+-126.866 38.664 2540
+-126.74 38.664 2614
+-126.614 38.664 2608
+-126.488 38.664 2638
+-126.362 38.664 2631
+-126.236 38.664 2640
+-126.11 38.664 2631
+-125.984 38.664 2621
+-125.858 38.664 2582
+-125.732 38.664 2610
+-125.606 38.664 2599
+-125.48 38.664 2588
+-125.354 38.664 2540
+-125.228 38.664 2586
+-125.102 38.664 2572
+-124.976 38.664 2553
+-124.85 38.664 2573
+-124.724 38.664 2560
+-124.598 38.664 2587
+-124.472 38.664 2559
+-124.346 38.664 2528
+-124.22 38.664 2502
+-124.094 38.664 2446
+-123.968 38.664 2427
+-123.842 38.664 2385
+-123.716 38.664 2334
+-123.59 38.664 2282
+-123.464 38.664 2219
+-123.338 38.664 2156
+-123.212 38.664 2101
+-123.086 38.664 2026
+-122.96 38.664 1966
+-122.834 38.664 1952
+-122.708 38.664 1959
+-122.582 38.664 1961
+-122.456 38.664 2028
+-122.33 38.664 2173
+-122.204 38.664 2355
+-122.078 38.664 2533
+-121.952 38.664 2689
+-121.826 38.664 2831
+-121.7 38.664 2932
+-121.574 38.664 3013
+-121.448 38.664 3079
+-121.322 38.664 3131
+-121.196 38.664 3184
+-121.07 38.664 3220
+-120.944 38.664 3260
+-120.818 38.664 3321
+-120.692 38.664 3414
+-120.566 38.664 3497
+-120.44 38.664 3603
+-120.314 38.664 3686
+-120.188 38.664 3694
+-120.062 38.664 3727
+-119.936 38.664 3771
+-119.81 38.664 3861
+-119.684 38.664 3951
+-119.558 38.664 4118
+-119.432 38.664 4205
+-119.306 38.664 4350
+-119.18 38.664 4390
+-119.054 38.664 4425
+-118.928 38.664 4454
+-118.802 38.664 4498
+-118.676 38.664 4517
+-118.55 38.664 4526
+-118.424 38.664 4529
+-118.298 38.664 4486
+-118.172 38.664 4567
+-118.046 38.664 4597
+-117.92 38.664 4591
+-117.794 38.664 4587
+-117.668 38.664 4601
+-117.542 38.664 4607
+-117.416 38.664 4584
+-117.29 38.664 4577
+-117.164 38.664 4577
+-117.038 38.664 4566
+-116.912 38.664 4569
+-116.786 38.664 4554
+-116.66 38.664 4531
+-116.534 38.664 4512
+-116.408 38.664 4475
+-116.282 38.664 4452
+-116.156 38.664 4422
+-116.03 38.664 4388
+-115.904 38.664 4364
+-115.778 38.664 4323
+-115.652 38.664 4289
+-115.526 38.664 4284
+-115.4 38.664 4240
+-115.274 38.664 4149
+-115.148 38.664 4088
+-115.022 38.664 4056
+-114.896 38.664 4010
+-114.77 38.664 3964
+-114.644 38.664 3916
+-114.518 38.664 3858
+-114.392 38.664 3787
+-114.266 38.664 3739
+-114.14 38.664 3693
+-114.014 38.664 3615
+-113.888 38.664 3489
+-113.762 38.664 3406
+-113.636 38.664 3451
+-113.51 38.664 3528
+-113.384 38.664 3578
+-113.258 38.664 3613
+-113.132 38.664 3637
+-113.006 38.664 3614
+-112.88 38.664 3622
+-112.754 38.664 3582
+-112.628 38.664 3576
+-112.502 38.664 3566
+-112.376 38.664 3409
+-112.25 38.664 3326
+-112.124 38.664 3318
+-111.998 38.664 3181
+-111.872 38.664 3121
+-111.746 38.664 2962
+-111.62 38.664 2878
+-111.494 38.664 2818
+-111.368 38.664 2736
+-111.242 38.664 2676
+-111.116 38.664 2612
+-110.99 38.664 2544
+-110.864 38.664 2436
+-110.738 38.664 2287
+-110.612 38.664 2183
+-110.486 38.664 2065
+-110.36 38.664 1947
+-110.234 38.664 1854
+-110.108 38.664 1818
+-109.982 38.664 1849
+-109.856 38.664 1927
+-109.73 38.664 2022
+-109.604 38.664 2112
+-109.478 38.664 2166
+-109.352 38.664 2224
+-109.226 38.664 2271
+-109.1 38.664 2306
+-108.974 38.664 2341
+-108.848 38.664 2359
+-108.722 38.664 2372
+-108.596 38.664 2379
+-108.47 38.664 2382
+-108.344 38.664 2429
+-108.218 38.664 2432
+-108.092 38.664 2440
+-107.966 38.664 2439
+-107.84 38.664 2450
+-107.714 38.664 2450
+-107.588 38.664 2451
+-107.462 38.664 2455
+-107.336 38.664 2461
+-107.21 38.664 2441
+-107.084 38.664 2530
+-106.958 38.664 2556
+-106.832 38.664 2568
+-106.706 38.664 2581
+-106.58 38.664 2611
+-106.454 38.664 2625
+-106.328 38.664 2606
+-106.202 38.664 2618
+-106.076 38.664 2643
+-105.95 38.664 2655
+-105.824 38.664 2700
+-105.698 38.664 2721
+-105.572 38.664 2735
+-105.446 38.664 2815
+-105.32 38.664 2826
+-105.194 38.664 2828
+-105.068 38.664 2883
+-104.942 38.664 2845
+-104.816 38.664 2862
+-104.69 38.664 2848
+-104.564 38.664 2928
+-104.438 38.664 2825
+-104.312 38.664 2834
+-104.186 38.664 2836
+-104.06 38.664 2796
+-103.934 38.664 2892
+-103.808 38.664 2892
+-103.682 38.664 2891
+-103.556 38.664 2903
+-103.43 38.664 2888
+-103.304 38.664 2886
+-103.178 38.664 2704
+-103.052 38.664 2725
+-102.926 38.664 2668
+-102.8 38.664 2605
+-102.674 38.664 2569
+-102.548 38.664 2585
+-102.422 38.664 2580
+-102.296 38.664 2537
+-102.17 38.664 2552
+-102.044 38.664 2578
+-101.918 38.664 2563
+-101.792 38.664 2682
+-101.666 38.664 2687
+-101.54 38.664 2728
+-101.414 38.664 2743
+-101.288 38.664 2756
+-101.162 38.664 2762
+-101.036 38.664 2945
+-100.91 38.664 2947
+-100.784 38.664 2950
+-100.658 38.664 2953
+-100.532 38.664 2955
+-100.406 38.664 2958
+-100.28 38.664 3048
+-100.154 38.664 3153
+-100.028 38.664 3152
+-99.902 38.664 3151
+-99.776 38.664 3150
+-99.65 38.664 3149
+-99.524 38.664 3147
+-99.398 38.664 3145
+-99.272 38.664 3144
+-99.146 38.664 3141
+-99.02 38.664 3175
+-98.894 38.664 3171
+-98.768 38.664 3250
+-98.642 38.664 3243
+-98.516 38.664 3236
+-98.39 38.664 3227
+-98.264 38.664 3216
+-98.138 38.664 3284
+-98.012 38.664 3265
+-97.886 38.664 3241
+-97.76 38.664 3254
+-97.634 38.664 3210
+-97.508 38.664 3152
+-97.382 38.664 3075
+-97.256 38.664 2968
+-97.13 38.664 2823
+-97.004 38.664 2659
+-96.878 38.664 2578
+-96.752 38.664 2735
+-96.626 38.664 3042
+-96.5 38.664 3260
+-96.374 38.664 3383
+-96.248 38.664 3445
+-96.122 38.664 3465
+-95.996 38.664 3469
+-95.87 38.664 3543
+-95.744 38.664 3694
+-95.618 38.664 3920
+-95.492 38.664 4072
+-95.366 38.664 4268
+-95.24 38.664 4373
+-95.114 38.664 4549
+-94.988 38.664 4720
+-94.862 38.664 4893
+-94.736 38.664 5020
+-94.61 38.664 5144
+-94.484 38.664 5221
+-94.358 38.664 5157
+-94.232 38.664 5375
+-94.106 38.664 5438
+-93.98 38.664 5607
+-93.854 38.664 5774
+-93.728 38.664 5938
+-93.602 38.664 6027
+-93.476 38.664 6171
+-93.35 38.664 6302
+-93.224 38.664 6440
+-93.098 38.664 6569
+-92.972 38.664 6684
+-92.846 38.664 6858
+-92.72 38.664 7000
+-92.594 38.664 7161
+-92.468 38.664 7231
+-92.342 38.664 7398
+-92.216 38.664 7469
+-92.09 38.664 7711
+-91.964 38.664 7730
+-91.838 38.664 7917
+-91.712 38.664 7994
+-91.586 38.664 8152
+-91.46 38.664 8336
+-91.334 38.664 8491
+-91.208 38.664 8631
+-91.082 38.664 8696
+-90.956 38.664 8879
+-90.83 38.664 8990
+-90.704 38.664 9122
+-90.578 38.664 9220
+-90.452 38.664 9303
+-90.326 38.664 9228
+-90.2 38.664 9123
+-90.074 38.664 9024
+-89.948 38.664 8929
+-89.822 38.664 8741
+-89.696 38.664 8554
+-89.57 38.664 8431
+-89.444 38.664 8341
+-89.318 38.664 8436
+-89.192 38.664 8619
+-89.066 38.664 8698
+-88.94 38.664 8707
+-88.814 38.664 8730
+-88.688 38.664 8726
+-88.562 38.664 8680
+-88.436 38.664 8646
+-88.31 38.664 8548
+-88.184 38.664 8480
+-88.058 38.664 8423
+-87.932 38.664 8331
+-87.806 38.664 8204
+-87.68 38.664 8124
+-87.554 38.664 8015
+-87.428 38.664 7930
+-87.302 38.664 7737
+-87.176 38.664 7627
+-87.05 38.664 7539
+-86.924 38.664 7481
+-86.798 38.664 7236
+-86.672 38.664 7174
+-86.546 38.664 7055
+-86.42 38.664 6939
+-86.294 38.664 6812
+-86.168 38.664 6665
+-86.042 38.664 6523
+-85.916 38.664 6387
+-85.79 38.664 6181
+-85.664 38.664 6174
+-85.538 38.664 6000
+-85.412 38.664 5808
+-85.286 38.664 5634
+-85.16 38.664 5506
+-85.034 38.664 5453
+-84.908 38.664 5278
+-84.782 38.664 5129
+-84.656 38.664 4981
+-84.53 38.664 4811
+-84.404 38.664 4823
+-84.278 38.664 4748
+-84.152 38.664 4616
+-84.026 38.664 4500
+-83.9 38.664 4409
+-83.774 38.664 4372
+-83.648 38.664 4314
+-83.522 38.664 4224
+-83.396 38.664 4172
+-83.27 38.664 4084
+-83.144 38.664 4028
+-83.018 38.664 4011
+-82.892 38.664 4002
+-82.766 38.664 3997
+-82.64 38.664 3931
+-82.514 38.664 3928
+-82.388 38.664 3925
+-82.262 38.664 3871
+-82.136 38.664 3841
+-82.01 38.664 3790
+-81.884 38.664 3773
+-81.758 38.664 3751
+-81.632 38.664 3749
+-81.506 38.664 3748
+-81.38 38.664 3748
+-81.254 38.664 3748
+-81.128 38.664 3748
+-81.002 38.664 3749
+-80.876 38.664 3751
+-80.75 38.664 3752
+-80.624 38.664 3675
+-80.498 38.664 3648
+-80.372 38.664 3660
+-80.246 38.664 3582
+-80.12 38.664 3582
+-79.994 38.664 3583
+-79.868 38.664 3584
+-79.742 38.664 3585
+-79.616 38.664 3586
+-79.49 38.664 3587
+-79.364 38.664 3588
+-79.238 38.664 3589
+-79.112 38.664 3547
+-78.986 38.664 3547
+-78.86 38.664 3547
+-78.734 38.664 3451
+-78.608 38.664 3451
+-78.482 38.664 3451
+-78.356 38.664 3452
+-78.23 38.664 3452
+-78.104 38.664 3453
+-77.978 38.664 3453
+-77.852 38.664 3454
+-77.726 38.664 3454
+-77.6 38.664 3454
+-77.474 38.664 3455
+-77.348 38.664 3455
+-77.222 38.664 3455
+-77.096 38.664 3384
+-76.97 38.664 3383
+-76.844 38.664 3382
+-76.718 38.664 3382
+-76.592 38.664 3381
+-76.466 38.664 3380
+-76.34 38.664 3380
+-76.214 38.664 3379
+-76.088 38.664 3378
+-75.962 38.664 3378
+-75.836 38.664 3377
+-75.71 38.664 3377
+-75.584 38.664 3376
+-75.458 38.664 3376
+-75.332 38.664 3375
+-75.206 38.664 3375
+-75.08 38.664 3374
+-74.954 38.664 3374
+-74.828 38.664 3373
+-74.702 38.664 3373
+-74.576 38.664 3373
+-74.45 38.664 3372
+-74.324 38.664 3372
+-74.198 38.664 3371
+-74.072 38.664 3371
+-73.946 38.664 3069
+-73.82 38.664 3068
+-73.694 38.664 3066
+-73.568 38.664 3065
+-73.442 38.664 3064
+-73.316 38.664 3062
+-73.19 38.664 3061
+-73.064 38.664 3060
+-72.938 38.664 3058
+-72.812 38.664 3057
+-72.686 38.664 3056
+-72.56 38.664 3055
+-72.434 38.664 3054
+-72.308 38.664 3053
+-72.182 38.664 3052
+-72.056 38.664 3051
+-71.93 38.664 3050
+-71.804 38.664 3049
+-71.678 38.664 2922
+-71.552 38.664 2921
+-71.426 38.664 2890
+-71.3 38.664 2842
+-71.174 38.664 2841
+-71.048 38.664 2840
+-70.922 38.664 2854
+-70.796 38.664 2853
+-70.67 38.664 2864
+-70.544 38.664 2863
+-70.418 38.664 2822
+-70.292 38.664 2781
+-70.166 38.664 2781
+-70.04 38.664 2781
+-69.914 38.664 2780
+-69.788 38.664 2798
+-69.662 38.664 2804
+-69.536 38.664 2814
+-69.41 38.664 2812
+-69.284 38.664 2847
+-69.158 38.664 2859
+-69.032 38.664 2860
+-68.906 38.664 2918
+-68.78 38.664 2941
+-68.654 38.664 2918
+-68.528 38.664 2907
+-68.402 38.664 3064
+-68.276 38.664 3066
+-68.15 38.664 3132
+-68.024 38.664 3134
+-67.898 38.664 3135
+-67.772 38.664 3137
+-67.646 38.664 3138
+-67.52 38.664 3047
+-67.394 38.664 3069
+-67.268 38.664 3070
+-67.142 38.664 3058
+-67.016 38.664 3358
+-66.89 38.664 3390
+-66.764 38.664 3391
+-66.638 38.664 3385
+-66.512 38.664 3386
+-66.386 38.664 3390
+-66.26 38.664 3407
+-66.134 38.664 3408
+-66.008 38.664 3394
+-65.882 38.664 3395
+-65.756 38.664 3344
+-65.63 38.664 3345
+-65.504 38.664 3346
+-65.378 38.664 3415
+-65.252 38.664 3409
+-65.126 38.664 3419
+-128 38.612 2383
+-127.874 38.612 2434
+-127.748 38.612 2494
+-127.622 38.612 2565
+-127.496 38.612 2579
+-127.37 38.612 2576
+-127.244 38.612 2573
+-127.118 38.612 2570
+-126.992 38.612 2577
+-126.866 38.612 2631
+-126.74 38.612 2626
+-126.614 38.612 2659
+-126.488 38.612 2652
+-126.362 38.612 2645
+-126.236 38.612 2637
+-126.11 38.612 2629
+-125.984 38.612 2683
+-125.858 38.612 2634
+-125.732 38.612 2625
+-125.606 38.612 2615
+-125.48 38.612 2605
+-125.354 38.612 2593
+-125.228 38.612 2604
+-125.102 38.612 2638
+-124.976 38.612 2621
+-124.85 38.612 2603
+-124.724 38.612 2590
+-124.598 38.612 2612
+-124.472 38.612 2585
+-124.346 38.612 2556
+-124.22 38.612 2575
+-124.094 38.612 2512
+-123.968 38.612 2481
+-123.842 38.612 2446
+-123.716 38.612 2373
+-123.59 38.612 2350
+-123.464 38.612 2302
+-123.338 38.612 2238
+-123.212 38.612 2195
+-123.086 38.612 2134
+-122.96 38.612 2087
+-122.834 38.612 2064
+-122.708 38.612 2065
+-122.582 38.612 2085
+-122.456 38.612 2164
+-122.33 38.612 2291
+-122.204 38.612 2452
+-122.078 38.612 2611
+-121.952 38.612 2752
+-121.826 38.612 2860
+-121.7 38.612 2957
+-121.574 38.612 3038
+-121.448 38.612 3108
+-121.322 38.612 3186
+-121.196 38.612 3239
+-121.07 38.612 3283
+-120.944 38.612 3314
+-120.818 38.612 3359
+-120.692 38.612 3454
+-120.566 38.612 3566
+-120.44 38.612 3683
+-120.314 38.612 3740
+-120.188 38.612 3734
+-120.062 38.612 3769
+-119.936 38.612 3853
+-119.81 38.612 3958
+-119.684 38.612 4063
+-119.558 38.612 4204
+-119.432 38.612 4271
+-119.306 38.612 4390
+-119.18 38.612 4443
+-119.054 38.612 4469
+-118.928 38.612 4472
+-118.802 38.612 4521
+-118.676 38.612 4568
+-118.55 38.612 4595
+-118.424 38.612 4602
+-118.298 38.612 4600
+-118.172 38.612 4620
+-118.046 38.612 4592
+-117.92 38.612 4631
+-117.794 38.612 4652
+-117.668 38.612 4664
+-117.542 38.612 4659
+-117.416 38.612 4655
+-117.29 38.612 4635
+-117.164 38.612 4628
+-117.038 38.612 4636
+-116.912 38.612 4656
+-116.786 38.612 4640
+-116.66 38.612 4617
+-116.534 38.612 4598
+-116.408 38.612 4566
+-116.282 38.612 4556
+-116.156 38.612 4511
+-116.03 38.612 4451
+-115.904 38.612 4412
+-115.778 38.612 4370
+-115.652 38.612 4331
+-115.526 38.612 4317
+-115.4 38.612 4280
+-115.274 38.612 4205
+-115.148 38.612 4116
+-115.022 38.612 4055
+-114.896 38.612 4038
+-114.77 38.612 3982
+-114.644 38.612 3973
+-114.518 38.612 3893
+-114.392 38.612 3766
+-114.266 38.612 3703
+-114.14 38.612 3685
+-114.014 38.612 3604
+-113.888 38.612 3435
+-113.762 38.612 3315
+-113.636 38.612 3401
+-113.51 38.612 3504
+-113.384 38.612 3565
+-113.258 38.612 3599
+-113.132 38.612 3622
+-113.006 38.612 3604
+-112.88 38.612 3610
+-112.754 38.612 3622
+-112.628 38.612 3573
+-112.502 38.612 3517
+-112.376 38.612 3367
+-112.25 38.612 3366
+-112.124 38.612 3233
+-111.998 38.612 3174
+-111.872 38.612 3011
+-111.746 38.612 2970
+-111.62 38.612 2907
+-111.494 38.612 2782
+-111.368 38.612 2723
+-111.242 38.612 2664
+-111.116 38.612 2607
+-110.99 38.612 2548
+-110.864 38.612 2442
+-110.738 38.612 2362
+-110.612 38.612 2266
+-110.486 38.612 2163
+-110.36 38.612 2037
+-110.234 38.612 1955
+-110.108 38.612 1921
+-109.982 38.612 1943
+-109.856 38.612 2006
+-109.73 38.612 2084
+-109.604 38.612 2162
+-109.478 38.612 2236
+-109.352 38.612 2291
+-109.226 38.612 2334
+-109.1 38.612 2367
+-108.974 38.612 2391
+-108.848 38.612 2414
+-108.722 38.612 2424
+-108.596 38.612 2428
+-108.47 38.612 2429
+-108.344 38.612 2430
+-108.218 38.612 2435
+-108.092 38.612 2431
+-107.966 38.612 2437
+-107.84 38.612 2434
+-107.714 38.612 2432
+-107.588 38.612 2433
+-107.462 38.612 2436
+-107.336 38.612 2474
+-107.21 38.612 2499
+-107.084 38.612 2524
+-106.958 38.612 2537
+-106.832 38.612 2552
+-106.706 38.612 2582
+-106.58 38.612 2598
+-106.454 38.612 2584
+-106.328 38.612 2598
+-106.202 38.612 2624
+-106.076 38.612 2637
+-105.95 38.612 2683
+-105.824 38.612 2705
+-105.698 38.612 2721
+-105.572 38.612 2800
+-105.446 38.612 2812
+-105.32 38.612 2816
+-105.194 38.612 2871
+-105.068 38.612 2835
+-104.942 38.612 2852
+-104.816 38.612 2840
+-104.69 38.612 2920
+-104.564 38.612 2928
+-104.438 38.612 2835
+-104.312 38.612 2838
+-104.186 38.612 2799
+-104.06 38.612 2895
+-103.934 38.612 2896
+-103.808 38.612 2896
+-103.682 38.612 2908
+-103.556 38.612 2895
+-103.43 38.612 2893
+-103.304 38.612 2892
+-103.178 38.612 2908
+-103.052 38.612 2733
+-102.926 38.612 2727
+-102.8 38.612 2670
+-102.674 38.612 2666
+-102.548 38.612 2623
+-102.422 38.612 2587
+-102.296 38.612 2544
+-102.17 38.612 2543
+-102.044 38.612 2572
+-101.918 38.612 2587
+-101.792 38.612 2687
+-101.666 38.612 2692
+-101.54 38.612 2700
+-101.414 38.612 2739
+-101.288 38.612 2762
+-101.162 38.612 2767
+-101.036 38.612 2954
+-100.91 38.612 2957
+-100.784 38.612 2959
+-100.658 38.612 2962
+-100.532 38.612 2965
+-100.406 38.612 3054
+-100.28 38.612 3159
+-100.154 38.612 3158
+-100.028 38.612 3157
+-99.902 38.612 3156
+-99.776 38.612 3155
+-99.65 38.612 3154
+-99.524 38.612 3152
+-99.398 38.612 3151
+-99.272 38.612 3149
+-99.146 38.612 3183
+-99.02 38.612 3180
+-98.894 38.612 3175
+-98.768 38.612 3170
+-98.642 38.612 3247
+-98.516 38.612 3239
+-98.39 38.612 3230
+-98.264 38.612 3219
+-98.138 38.612 3206
+-98.012 38.612 3244
+-97.886 38.612 3251
+-97.76 38.612 3229
+-97.634 38.612 3185
+-97.508 38.612 3126
+-97.382 38.612 3057
+-97.256 38.612 2939
+-97.13 38.612 2771
+-97.004 38.612 2559
+-96.878 38.612 2425
+-96.752 38.612 2611
+-96.626 38.612 2975
+-96.5 38.612 3217
+-96.374 38.612 3350
+-96.248 38.612 3412
+-96.122 38.612 3432
+-95.996 38.612 3415
+-95.87 38.612 3497
+-95.744 38.612 3662
+-95.618 38.612 3850
+-95.492 38.612 4031
+-95.366 38.612 4225
+-95.24 38.612 4343
+-95.114 38.612 4517
+-94.988 38.612 4688
+-94.862 38.612 4873
+-94.736 38.612 5058
+-94.61 38.612 5193
+-94.484 38.612 5265
+-94.358 38.612 5315
+-94.232 38.612 5452
+-94.106 38.612 5549
+-93.98 38.612 5660
+-93.854 38.612 5703
+-93.728 38.612 5900
+-93.602 38.612 6051
+-93.476 38.612 6183
+-93.35 38.612 6271
+-93.224 38.612 6410
+-93.098 38.612 6533
+-92.972 38.612 6677
+-92.846 38.612 6863
+-92.72 38.612 7002
+-92.594 38.612 7093
+-92.468 38.612 7242
+-92.342 38.612 7403
+-92.216 38.612 7463
+-92.09 38.612 7651
+-91.964 38.612 7827
+-91.838 38.612 7880
+-91.712 38.612 8049
+-91.586 38.612 8128
+-91.46 38.612 8264
+-91.334 38.612 8440
+-91.208 38.612 8610
+-91.082 38.612 8702
+-90.956 38.612 8824
+-90.83 38.612 8952
+-90.704 38.612 9096
+-90.578 38.612 9196
+-90.452 38.612 9190
+-90.326 38.612 9199
+-90.2 38.612 9081
+-90.074 38.612 8929
+-89.948 38.612 8895
+-89.822 38.612 8740
+-89.696 38.612 8577
+-89.57 38.612 8461
+-89.444 38.612 8361
+-89.318 38.612 8650
+-89.192 38.612 8695
+-89.066 38.612 8748
+-88.94 38.612 8777
+-88.814 38.612 8781
+-88.688 38.612 8773
+-88.562 38.612 8750
+-88.436 38.612 8671
+-88.31 38.612 8609
+-88.184 38.612 8561
+-88.058 38.612 8476
+-87.932 38.612 8363
+-87.806 38.612 8235
+-87.68 38.612 8191
+-87.554 38.612 8037
+-87.428 38.612 7963
+-87.302 38.612 7765
+-87.176 38.612 7654
+-87.05 38.612 7568
+-86.924 38.612 7439
+-86.798 38.612 7309
+-86.672 38.612 7201
+-86.546 38.612 7101
+-86.42 38.612 6977
+-86.294 38.612 6844
+-86.168 38.612 6707
+-86.042 38.612 6528
+-85.916 38.612 6390
+-85.79 38.612 6282
+-85.664 38.612 6227
+-85.538 38.612 6080
+-85.412 38.612 5866
+-85.286 38.612 5678
+-85.16 38.612 5573
+-85.034 38.612 5471
+-84.908 38.612 5323
+-84.782 38.612 5211
+-84.656 38.612 5017
+-84.53 38.612 4904
+-84.404 38.612 4849
+-84.278 38.612 4739
+-84.152 38.612 4570
+-84.026 38.612 4405
+-83.9 38.612 4296
+-83.774 38.612 4295
+-83.648 38.612 4251
+-83.522 38.612 4182
+-83.396 38.612 4076
+-83.27 38.612 3995
+-83.144 38.612 3963
+-83.018 38.612 3959
+-82.892 38.612 3951
+-82.766 38.612 3923
+-82.64 38.612 3925
+-82.514 38.612 3910
+-82.388 38.612 3863
+-82.262 38.612 3819
+-82.136 38.612 3816
+-82.01 38.612 3814
+-81.884 38.612 3780
+-81.758 38.612 3754
+-81.632 38.612 3755
+-81.506 38.612 3755
+-81.38 38.612 3757
+-81.254 38.612 3759
+-81.128 38.612 3761
+-81.002 38.612 3763
+-80.876 38.612 3741
+-80.75 38.612 3667
+-80.624 38.612 3669
+-80.498 38.612 3652
+-80.372 38.612 3654
+-80.246 38.612 3578
+-80.12 38.612 3579
+-79.994 38.612 3580
+-79.868 38.612 3582
+-79.742 38.612 3583
+-79.616 38.612 3584
+-79.49 38.612 3585
+-79.364 38.612 3587
+-79.238 38.612 3545
+-79.112 38.612 3545
+-78.986 38.612 3545
+-78.86 38.612 3450
+-78.734 38.612 3450
+-78.608 38.612 3451
+-78.482 38.612 3451
+-78.356 38.612 3452
+-78.23 38.612 3452
+-78.104 38.612 3453
+-77.978 38.612 3453
+-77.852 38.612 3454
+-77.726 38.612 3454
+-77.6 38.612 3454
+-77.474 38.612 3455
+-77.348 38.612 3455
+-77.222 38.612 3408
+-77.096 38.612 3408
+-76.97 38.612 3407
+-76.844 38.612 3407
+-76.718 38.612 3406
+-76.592 38.612 3406
+-76.466 38.612 3405
+-76.34 38.612 3405
+-76.214 38.612 3404
+-76.088 38.612 3404
+-75.962 38.612 3404
+-75.836 38.612 3403
+-75.71 38.612 3403
+-75.584 38.612 3403
+-75.458 38.612 3402
+-75.332 38.612 3402
+-75.206 38.612 3402
+-75.08 38.612 3401
+-74.954 38.612 3401
+-74.828 38.612 3401
+-74.702 38.612 3401
+-74.576 38.612 3400
+-74.45 38.612 3400
+-74.324 38.612 3400
+-74.198 38.612 3400
+-74.072 38.612 3069
+-73.946 38.612 3067
+-73.82 38.612 3066
+-73.694 38.612 3065
+-73.568 38.612 3063
+-73.442 38.612 3062
+-73.316 38.612 3060
+-73.19 38.612 3059
+-73.064 38.612 3058
+-72.938 38.612 3057
+-72.812 38.612 3056
+-72.686 38.612 3054
+-72.56 38.612 3053
+-72.434 38.612 3052
+-72.308 38.612 3051
+-72.182 38.612 3050
+-72.056 38.612 3049
+-71.93 38.612 3048
+-71.804 38.612 2921
+-71.678 38.612 2920
+-71.552 38.612 2889
+-71.426 38.612 2841
+-71.3 38.612 2840
+-71.174 38.612 2839
+-71.048 38.612 2853
+-70.922 38.612 2852
+-70.796 38.612 2863
+-70.67 38.612 2862
+-70.544 38.612 2821
+-70.418 38.612 2780
+-70.292 38.612 2780
+-70.166 38.612 2780
+-70.04 38.612 2779
+-69.914 38.612 2797
+-69.788 38.612 2803
+-69.662 38.612 2812
+-69.536 38.612 2811
+-69.41 38.612 2846
+-69.284 38.612 2857
+-69.158 38.612 2858
+-69.032 38.612 2916
+-68.906 38.612 2939
+-68.78 38.612 2916
+-68.654 38.612 2905
+-68.528 38.612 3063
+-68.402 38.612 3064
+-68.276 38.612 3131
+-68.15 38.612 3132
+-68.024 38.612 3134
+-67.898 38.612 3135
+-67.772 38.612 3137
+-67.646 38.612 3046
+-67.52 38.612 3068
+-67.394 38.612 3069
+-67.268 38.612 3057
+-67.142 38.612 3357
+-67.016 38.612 3389
+-66.89 38.612 3390
+-66.764 38.612 3384
+-66.638 38.612 3385
+-66.512 38.612 3389
+-66.386 38.612 3406
+-66.26 38.612 3407
+-66.134 38.612 3393
+-66.008 38.612 3394
+-65.882 38.612 3343
+-65.756 38.612 3344
+-65.63 38.612 3345
+-65.504 38.612 3414
+-65.378 38.612 3408
+-65.252 38.612 3418
+-65.126 38.612 3419
+-128 38.56 2478
+-127.874 38.56 2504
+-127.748 38.56 2502
+-127.622 38.56 2506
+-127.496 38.56 2593
+-127.37 38.56 2589
+-127.244 38.56 2586
+-127.118 38.56 2592
+-126.992 38.56 2690
+-126.866 38.56 2685
+-126.74 38.56 2679
+-126.614 38.56 2673
+-126.488 38.56 2666
+-126.362 38.56 2660
+-126.236 38.56 2697
+-126.11 38.56 2688
+-125.984 38.56 2679
+-125.858 38.56 2691
+-125.732 38.56 2641
+-125.606 38.56 2632
+-125.48 38.56 2622
+-125.354 38.56 2634
+-125.228 38.56 2673
+-125.102 38.56 2658
+-124.976 38.56 2643
+-124.85 38.56 2625
+-124.724 38.56 2607
+-124.598 38.56 2594
+-124.472 38.56 2614
+-124.346 38.56 2639
+-124.22 38.56 2605
+-124.094 38.56 2573
+-123.968 38.56 2510
+-123.842 38.56 2479
+-123.716 38.56 2487
+-123.59 38.56 2411
+-123.464 38.56 2390
+-123.338 38.56 2335
+-123.212 38.56 2288
+-123.086 38.56 2242
+-122.96 38.56 2209
+-122.834 38.56 2192
+-122.708 38.56 2204
+-122.582 38.56 2250
+-122.456 38.56 2319
+-122.33 38.56 2432
+-122.204 38.56 2553
+-122.078 38.56 2683
+-121.952 38.56 2800
+-121.826 38.56 2903
+-121.7 38.56 3001
+-121.574 38.56 3080
+-121.448 38.56 3149
+-121.322 38.56 3224
+-121.196 38.56 3271
+-121.07 38.56 3309
+-120.944 38.56 3317
+-120.818 38.56 3356
+-120.692 38.56 3476
+-120.566 38.56 3584
+-120.44 38.56 3686
+-120.314 38.56 3736
+-120.188 38.56 3774
+-120.062 38.56 3839
+-119.936 38.56 3942
+-119.81 38.56 4049
+-119.684 38.56 4121
+-119.558 38.56 4292
+-119.432 38.56 4346
+-119.306 38.56 4434
+-119.18 38.56 4467
+-119.054 38.56 4475
+-118.928 38.56 4420
+-118.802 38.56 4521
+-118.676 38.56 4588
+-118.55 38.56 4625
+-118.424 38.56 4646
+-118.298 38.56 4644
+-118.172 38.56 4673
+-118.046 38.56 4684
+-117.92 38.56 4702
+-117.794 38.56 4717
+-117.668 38.56 4710
+-117.542 38.56 4731
+-117.416 38.56 4711
+-117.29 38.56 4706
+-117.164 38.56 4706
+-117.038 38.56 4703
+-116.912 38.56 4707
+-116.786 38.56 4667
+-116.66 38.56 4672
+-116.534 38.56 4675
+-116.408 38.56 4669
+-116.282 38.56 4645
+-116.156 38.56 4605
+-116.03 38.56 4555
+-115.904 38.56 4503
+-115.778 38.56 4476
+-115.652 38.56 4430
+-115.526 38.56 4398
+-115.4 38.56 4320
+-115.274 38.56 4267
+-115.148 38.56 4179
+-115.022 38.56 4113
+-114.896 38.56 4079
+-114.77 38.56 4027
+-114.644 38.56 4006
+-114.518 38.56 3898
+-114.392 38.56 3752
+-114.266 38.56 3655
+-114.14 38.56 3676
+-114.014 38.56 3629
+-113.888 38.56 3518
+-113.762 38.56 3426
+-113.636 38.56 3469
+-113.51 38.56 3524
+-113.384 38.56 3561
+-113.258 38.56 3583
+-113.132 38.56 3604
+-113.006 38.56 3588
+-112.88 38.56 3607
+-112.754 38.56 3617
+-112.628 38.56 3529
+-112.502 38.56 3478
+-112.376 38.56 3289
+-112.25 38.56 3283
+-112.124 38.56 3228
+-111.998 38.56 3061
+-111.872 38.56 3022
+-111.746 38.56 2956
+-111.62 38.56 2866
+-111.494 38.56 2764
+-111.368 38.56 2704
+-111.242 38.56 2648
+-111.116 38.56 2596
+-110.99 38.56 2537
+-110.864 38.56 2451
+-110.738 38.56 2391
+-110.612 38.56 2327
+-110.486 38.56 2251
+-110.36 38.56 2174
+-110.234 38.56 2109
+-110.108 38.56 2060
+-109.982 38.56 2070
+-109.856 38.56 2110
+-109.73 38.56 2167
+-109.604 38.56 2232
+-109.478 38.56 2285
+-109.352 38.56 2329
+-109.226 38.56 2364
+-109.1 38.56 2390
+-108.974 38.56 2415
+-108.848 38.56 2426
+-108.722 38.56 2431
+-108.596 38.56 2431
+-108.47 38.56 2431
+-108.344 38.56 2483
+-108.218 38.56 2475
+-108.092 38.56 2428
+-107.966 38.56 2420
+-107.84 38.56 2413
+-107.714 38.56 2409
+-107.588 38.56 2409
+-107.462 38.56 2441
+-107.336 38.56 2463
+-107.21 38.56 2486
+-107.084 38.56 2501
+-106.958 38.56 2517
+-106.832 38.56 2548
+-106.706 38.56 2566
+-106.58 38.56 2557
+-106.454 38.56 2573
+-106.328 38.56 2602
+-106.202 38.56 2617
+-106.076 38.56 2664
+-105.95 38.56 2688
+-105.824 38.56 2706
+-105.698 38.56 2784
+-105.572 38.56 2798
+-105.446 38.56 2803
+-105.32 38.56 2858
+-105.194 38.56 2825
+-105.068 38.56 2842
+-104.942 38.56 2832
+-104.816 38.56 2910
+-104.69 38.56 2919
+-104.564 38.56 2933
+-104.438 38.56 2948
+-104.312 38.56 2801
+-104.186 38.56 2897
+-104.06 38.56 2898
+-103.934 38.56 2899
+-103.808 38.56 2912
+-103.682 38.56 2900
+-103.556 38.56 2899
+-103.43 38.56 2898
+-103.304 38.56 2916
+-103.178 38.56 2866
+-103.052 38.56 2701
+-102.926 38.56 2736
+-102.8 38.56 2678
+-102.674 38.56 2675
+-102.548 38.56 2632
+-102.422 38.56 2625
+-102.296 38.56 2589
+-102.17 38.56 2549
+-102.044 38.56 2555
+-101.918 38.56 2581
+-101.792 38.56 2692
+-101.666 38.56 2697
+-101.54 38.56 2714
+-101.414 38.56 2744
+-101.288 38.56 2750
+-101.162 38.56 2960
+-101.036 38.56 2963
+-100.91 38.56 2965
+-100.784 38.56 2968
+-100.658 38.56 2971
+-100.532 38.56 3054
+-100.406 38.56 3163
+-100.28 38.56 3163
+-100.154 38.56 3162
+-100.028 38.56 3161
+-99.902 38.56 3160
+-99.776 38.56 3159
+-99.65 38.56 3158
+-99.524 38.56 3196
+-99.398 38.56 3194
+-99.272 38.56 3191
+-99.146 38.56 3188
+-99.02 38.56 3184
+-98.894 38.56 3180
+-98.768 38.56 3175
+-98.642 38.56 3170
+-98.516 38.56 3243
+-98.39 38.56 3234
+-98.264 38.56 3251
+-98.138 38.56 3235
+-98.012 38.56 3217
+-97.886 38.56 3254
+-97.76 38.56 3221
+-97.634 38.56 3179
+-97.508 38.56 3124
+-97.382 38.56 3051
+-97.256 38.56 2958
+-97.13 38.56 2824
+-97.004 38.56 2672
+-96.878 38.56 2588
+-96.752 38.56 2743
+-96.626 38.56 3014
+-96.5 38.56 3202
+-96.374 38.56 3315
+-96.248 38.56 3375
+-96.122 38.56 3388
+-95.996 38.56 3439
+-95.87 38.56 3534
+-95.744 38.56 3665
+-95.618 38.56 3831
+-95.492 38.56 3952
+-95.366 38.56 4167
+-95.24 38.56 4272
+-95.114 38.56 4444
+-94.988 38.56 4655
+-94.862 38.56 4859
+-94.736 38.56 5082
+-94.61 38.56 5239
+-94.484 38.56 5312
+-94.358 38.56 5459
+-94.232 38.56 5532
+-94.106 38.56 5617
+-93.98 38.56 5606
+-93.854 38.56 5772
+-93.728 38.56 5917
+-93.602 38.56 6060
+-93.476 38.56 6131
+-93.35 38.56 6267
+-93.224 38.56 6404
+-93.098 38.56 6533
+-92.972 38.56 6630
+-92.846 38.56 6828
+-92.72 38.56 6984
+-92.594 38.56 7107
+-92.468 38.56 7278
+-92.342 38.56 7372
+-92.216 38.56 7527
+-92.09 38.56 7583
+-91.964 38.56 7752
+-91.838 38.56 7890
+-91.712 38.56 8048
+-91.586 38.56 8166
+-91.46 38.56 8339
+-91.334 38.56 8454
+-91.208 38.56 8554
+-91.082 38.56 8690
+-90.956 38.56 8855
+-90.83 38.56 8926
+-90.704 38.56 9074
+-90.578 38.56 9164
+-90.452 38.56 9187
+-90.326 38.56 9123
+-90.2 38.56 9064
+-90.074 38.56 8934
+-89.948 38.56 8807
+-89.822 38.56 8742
+-89.696 38.56 8573
+-89.57 38.56 8442
+-89.444 38.56 8358
+-89.318 38.56 8661
+-89.192 38.56 8772
+-89.066 38.56 8817
+-88.94 38.56 8848
+-88.814 38.56 8834
+-88.688 38.56 8837
+-88.562 38.56 8774
+-88.436 38.56 8719
+-88.31 38.56 8666
+-88.184 38.56 8606
+-88.058 38.56 8530
+-87.932 38.56 8410
+-87.806 38.56 8327
+-87.68 38.56 8186
+-87.554 38.56 8093
+-87.428 38.56 7945
+-87.302 38.56 7866
+-87.176 38.56 7679
+-87.05 38.56 7613
+-86.924 38.56 7469
+-86.798 38.56 7347
+-86.672 38.56 7237
+-86.546 38.56 7123
+-86.42 38.56 6961
+-86.294 38.56 6864
+-86.168 38.56 6648
+-86.042 38.56 6515
+-85.916 38.56 6417
+-85.79 38.56 6318
+-85.664 38.56 6164
+-85.538 38.56 6124
+-85.412 38.56 5873
+-85.286 38.56 5657
+-85.16 38.56 5621
+-85.034 38.56 5478
+-84.908 38.56 5378
+-84.782 38.56 5272
+-84.656 38.56 5088
+-84.53 38.56 4963
+-84.404 38.56 4880
+-84.278 38.56 4730
+-84.152 38.56 4538
+-84.026 38.56 4323
+-83.9 38.56 4168
+-83.774 38.56 4237
+-83.648 38.56 4218
+-83.522 38.56 4100
+-83.396 38.56 3954
+-83.27 38.56 3860
+-83.144 38.56 3847
+-83.018 38.56 3877
+-82.892 38.56 3905
+-82.766 38.56 3921
+-82.64 38.56 3888
+-82.514 38.56 3835
+-82.388 38.56 3832
+-82.262 38.56 3795
+-82.136 38.56 3794
+-82.01 38.56 3794
+-81.884 38.56 3770
+-81.758 38.56 3773
+-81.632 38.56 3738
+-81.506 38.56 3740
+-81.38 38.56 3743
+-81.254 38.56 3746
+-81.128 38.56 3750
+-81.002 38.56 3753
+-80.876 38.56 3656
+-80.75 38.56 3659
+-80.624 38.56 3643
+-80.498 38.56 3645
+-80.372 38.56 3647
+-80.246 38.56 3649
+-80.12 38.56 3575
+-79.994 38.56 3577
+-79.868 38.56 3579
+-79.742 38.56 3580
+-79.616 38.56 3582
+-79.49 38.56 3583
+-79.364 38.56 3542
+-79.238 38.56 3542
+-79.112 38.56 3543
+-78.986 38.56 3543
+-78.86 38.56 3543
+-78.734 38.56 3450
+-78.608 38.56 3450
+-78.482 38.56 3451
+-78.356 38.56 3452
+-78.23 38.56 3452
+-78.104 38.56 3453
+-77.978 38.56 3453
+-77.852 38.56 3454
+-77.726 38.56 3454
+-77.6 38.56 3454
+-77.474 38.56 3455
+-77.348 38.56 3407
+-77.222 38.56 3407
+-77.096 38.56 3406
+-76.97 38.56 3406
+-76.844 38.56 3405
+-76.718 38.56 3405
+-76.592 38.56 3405
+-76.466 38.56 3404
+-76.34 38.56 3404
+-76.214 38.56 3403
+-76.088 38.56 3403
+-75.962 38.56 3403
+-75.836 38.56 3402
+-75.71 38.56 3402
+-75.584 38.56 3402
+-75.458 38.56 3401
+-75.332 38.56 3401
+-75.206 38.56 3401
+-75.08 38.56 3400
+-74.954 38.56 3400
+-74.828 38.56 3400
+-74.702 38.56 3400
+-74.576 38.56 3399
+-74.45 38.56 3399
+-74.324 38.56 3399
+-74.198 38.56 3069
+-74.072 38.56 3067
+-73.946 38.56 3066
+-73.82 38.56 3064
+-73.694 38.56 3063
+-73.568 38.56 3061
+-73.442 38.56 3060
+-73.316 38.56 3059
+-73.19 38.56 3057
+-73.064 38.56 3056
+-72.938 38.56 3055
+-72.812 38.56 3054
+-72.686 38.56 3053
+-72.56 38.56 3052
+-72.434 38.56 3051
+-72.308 38.56 3049
+-72.182 38.56 3048
+-72.056 38.56 3048
+-71.93 38.56 2921
+-71.804 38.56 2919
+-71.678 38.56 2888
+-71.552 38.56 2840
+-71.426 38.56 2839
+-71.3 38.56 2838
+-71.174 38.56 2852
+-71.048 38.56 2851
+-70.922 38.56 2862
+-70.796 38.56 2861
+-70.67 38.56 2820
+-70.544 38.56 2779
+-70.418 38.56 2779
+-70.292 38.56 2778
+-70.166 38.56 2778
+-70.04 38.56 2796
+-69.914 38.56 2802
+-69.788 38.56 2811
+-69.662 38.56 2810
+-69.536 38.56 2844
+-69.41 38.56 2856
+-69.284 38.56 2857
+-69.158 38.56 2915
+-69.032 38.56 2938
+-68.906 38.56 2915
+-68.78 38.56 2904
+-68.654 38.56 3061
+-68.528 38.56 3063
+-68.402 38.56 3129
+-68.276 38.56 3131
+-68.15 38.56 3132
+-68.024 38.56 3134
+-67.898 38.56 3135
+-67.772 38.56 3044
+-67.646 38.56 3066
+-67.52 38.56 3068
+-67.394 38.56 3056
+-67.268 38.56 3355
+-67.142 38.56 3388
+-67.016 38.56 3389
+-66.89 38.56 3383
+-66.764 38.56 3384
+-66.638 38.56 3388
+-66.512 38.56 3405
+-66.386 38.56 3406
+-66.26 38.56 3392
+-66.134 38.56 3393
+-66.008 38.56 3342
+-65.882 38.56 3343
+-65.756 38.56 3344
+-65.63 38.56 3413
+-65.504 38.56 3407
+-65.378 38.56 3417
+-65.252 38.56 3418
+-65.126 38.56 3395
+-128 38.508 2520
+-127.874 38.508 2519
+-127.748 38.508 2518
+-127.622 38.508 2516
+-127.496 38.508 2515
+-127.37 38.508 2713
+-127.244 38.508 2676
+-127.118 38.508 2684
+-126.992 38.508 2703
+-126.866 38.508 2698
+-126.74 38.508 2693
+-126.614 38.508 2687
+-126.488 38.508 2681
+-126.362 38.508 2722
+-126.236 38.508 2714
+-126.11 38.508 2706
+-125.984 38.508 2697
+-125.858 38.508 2688
+-125.732 38.508 2700
+-125.606 38.508 2649
+-125.48 38.508 2690
+-125.354 38.508 2678
+-125.228 38.508 2693
+-125.102 38.508 2680
+-124.976 38.508 2665
+-124.85 38.508 2650
+-124.724 38.508 2632
+-124.598 38.508 2621
+-124.472 38.508 2663
+-124.346 38.508 2674
+-124.22 38.508 2644
+-124.094 38.508 2611
+-123.968 38.508 2634
+-123.842 38.508 2568
+-123.716 38.508 2536
+-123.59 38.508 2500
+-123.464 38.508 2462
+-123.338 38.508 2422
+-123.212 38.508 2382
+-123.086 38.508 2375
+-122.96 38.508 2353
+-122.834 38.508 2346
+-122.708 38.508 2361
+-122.582 38.508 2411
+-122.456 38.508 2481
+-122.33 38.508 2564
+-122.204 38.508 2667
+-122.078 38.508 2754
+-121.952 38.508 2847
+-121.826 38.508 2950
+-121.7 38.508 3034
+-121.574 38.508 3098
+-121.448 38.508 3168
+-121.322 38.508 3230
+-121.196 38.508 3293
+-121.07 38.508 3335
+-120.944 38.508 3342
+-120.818 38.508 3400
+-120.692 38.508 3517
+-120.566 38.508 3626
+-120.44 38.508 3707
+-120.314 38.508 3796
+-120.188 38.508 3854
+-120.062 38.508 3922
+-119.936 38.508 4018
+-119.81 38.508 4114
+-119.684 38.508 4213
+-119.558 38.508 4355
+-119.432 38.508 4416
+-119.306 38.508 4478
+-119.18 38.508 4525
+-119.054 38.508 4525
+-118.928 38.508 4510
+-118.802 38.508 4566
+-118.676 38.508 4569
+-118.55 38.508 4638
+-118.424 38.508 4633
+-118.298 38.508 4694
+-118.172 38.508 4731
+-118.046 38.508 4737
+-117.92 38.508 4759
+-117.794 38.508 4767
+-117.668 38.508 4774
+-117.542 38.508 4763
+-117.416 38.508 4770
+-117.29 38.508 4793
+-117.164 38.508 4790
+-117.038 38.508 4759
+-116.912 38.508 4738
+-116.786 38.508 4733
+-116.66 38.508 4738
+-116.534 38.508 4730
+-116.408 38.508 4687
+-116.282 38.508 4700
+-116.156 38.508 4668
+-116.03 38.508 4611
+-115.904 38.508 4547
+-115.778 38.508 4503
+-115.652 38.508 4496
+-115.526 38.508 4452
+-115.4 38.508 4394
+-115.274 38.508 4356
+-115.148 38.508 4286
+-115.022 38.508 4225
+-114.896 38.508 4168
+-114.77 38.508 4099
+-114.644 38.508 4051
+-114.518 38.508 3947
+-114.392 38.508 3810
+-114.266 38.508 3723
+-114.14 38.508 3676
+-114.014 38.508 3621
+-113.888 38.508 3600
+-113.762 38.508 3566
+-113.636 38.508 3544
+-113.51 38.508 3545
+-113.384 38.508 3544
+-113.258 38.508 3554
+-113.132 38.508 3580
+-113.006 38.508 3570
+-112.88 38.508 3597
+-112.754 38.508 3572
+-112.628 38.508 3544
+-112.502 38.508 3439
+-112.376 38.508 3413
+-112.25 38.508 3282
+-112.124 38.508 3113
+-111.998 38.508 3076
+-111.872 38.508 3011
+-111.746 38.508 2916
+-111.62 38.508 2847
+-111.494 38.508 2744
+-111.368 38.508 2681
+-111.242 38.508 2624
+-111.116 38.508 2564
+-110.99 38.508 2518
+-110.864 38.508 2475
+-110.738 38.508 2420
+-110.612 38.508 2379
+-110.486 38.508 2335
+-110.36 38.508 2286
+-110.234 38.508 2243
+-110.108 38.508 2218
+-109.982 38.508 2221
+-109.856 38.508 2252
+-109.73 38.508 2260
+-109.604 38.508 2300
+-109.478 38.508 2338
+-109.352 38.508 2370
+-109.226 38.508 2395
+-109.1 38.508 2420
+-108.974 38.508 2432
+-108.848 38.508 2438
+-108.722 38.508 2438
+-108.596 38.508 2437
+-108.47 38.508 2482
+-108.344 38.508 2472
+-108.218 38.508 2424
+-108.092 38.508 2410
+-107.966 38.508 2397
+-107.84 38.508 2386
+-107.714 38.508 2380
+-107.588 38.508 2403
+-107.462 38.508 2421
+-107.336 38.508 2442
+-107.21 38.508 2456
+-107.084 38.508 2474
+-106.958 38.508 2506
+-106.832 38.508 2528
+-106.706 38.508 2524
+-106.58 38.508 2544
+-106.454 38.508 2575
+-106.328 38.508 2594
+-106.202 38.508 2641
+-106.076 38.508 2668
+-105.95 38.508 2688
+-105.824 38.508 2766
+-105.698 38.508 2781
+-105.572 38.508 2789
+-105.446 38.508 2844
+-105.32 38.508 2813
+-105.194 38.508 2832
+-105.068 38.508 2823
+-104.942 38.508 2901
+-104.816 38.508 2910
+-104.69 38.508 2924
+-104.564 38.508 2940
+-104.438 38.508 2906
+-104.312 38.508 2897
+-104.186 38.508 2899
+-104.06 38.508 2901
+-103.934 38.508 2915
+-103.808 38.508 2904
+-103.682 38.508 2904
+-103.556 38.508 2904
+-103.43 38.508 2921
+-103.304 38.508 2873
+-103.178 38.508 2903
+-103.052 38.508 2902
+-102.926 38.508 2703
+-102.8 38.508 2654
+-102.674 38.508 2644
+-102.548 38.508 2608
+-102.422 38.508 2633
+-102.296 38.508 2597
+-102.17 38.508 2555
+-102.044 38.508 2561
+-101.918 38.508 2585
+-101.792 38.508 2653
+-101.666 38.508 2702
+-101.54 38.508 2719
+-101.414 38.508 2749
+-101.288 38.508 2755
+-101.162 38.508 2761
+-101.036 38.508 2971
+-100.91 38.508 2974
+-100.784 38.508 2977
+-100.658 38.508 3057
+-100.532 38.508 3057
+-100.406 38.508 3057
+-100.28 38.508 3166
+-100.154 38.508 3209
+-100.028 38.508 3208
+-99.902 38.508 3206
+-99.776 38.508 3204
+-99.65 38.508 3202
+-99.524 38.508 3200
+-99.398 38.508 3198
+-99.272 38.508 3195
+-99.146 38.508 3192
+-99.02 38.508 3189
+-98.894 38.508 3185
+-98.768 38.508 3181
+-98.642 38.508 3175
+-98.516 38.508 3247
+-98.39 38.508 3267
+-98.264 38.508 3255
+-98.138 38.508 3240
+-98.012 38.508 3222
+-97.886 38.508 3201
+-97.76 38.508 3201
+-97.634 38.508 3194
+-97.508 38.508 3147
+-97.382 38.508 3087
+-97.256 38.508 3033
+-97.13 38.508 2948
+-97.004 38.508 2874
+-96.878 38.508 2862
+-96.752 38.508 2946
+-96.626 38.508 3063
+-96.5 38.508 3154
+-96.374 38.508 3266
+-96.248 38.508 3345
+-96.122 38.508 3316
+-95.996 38.508 3423
+-95.87 38.508 3572
+-95.744 38.508 3688
+-95.618 38.508 3832
+-95.492 38.508 3953
+-95.366 38.508 4129
+-95.24 38.508 4276
+-95.114 38.508 4437
+-94.988 38.508 4607
+-94.862 38.508 4808
+-94.736 38.508 5015
+-94.61 38.508 5202
+-94.484 38.508 5328
+-94.358 38.508 5476
+-94.232 38.508 5606
+-94.106 38.508 5655
+-93.98 38.508 5713
+-93.854 38.508 5846
+-93.728 38.508 5905
+-93.602 38.508 6004
+-93.476 38.508 6147
+-93.35 38.508 6270
+-93.224 38.508 6395
+-93.098 38.508 6535
+-92.972 38.508 6714
+-92.846 38.508 6875
+-92.72 38.508 7004
+-92.594 38.508 7153
+-92.468 38.508 7207
+-92.342 38.508 7371
+-92.216 38.508 7468
+-92.09 38.508 7637
+-91.964 38.508 7810
+-91.838 38.508 7853
+-91.712 38.508 8025
+-91.586 38.508 8138
+-91.46 38.508 8295
+-91.334 38.508 8438
+-91.208 38.508 8512
+-91.082 38.508 8635
+-90.956 38.508 8778
+-90.83 38.508 8948
+-90.704 38.508 9014
+-90.578 38.508 9100
+-90.452 38.508 9133
+-90.326 38.508 9096
+-90.2 38.508 9018
+-90.074 38.508 8922
+-89.948 38.508 8792
+-89.822 38.508 8689
+-89.696 38.508 8577
+-89.57 38.508 8423
+-89.444 38.508 8391
+-89.318 38.508 8725
+-89.192 38.508 8807
+-89.066 38.508 8850
+-88.94 38.508 8894
+-88.814 38.508 8893
+-88.688 38.508 8899
+-88.562 38.508 8830
+-88.436 38.508 8796
+-88.31 38.508 8742
+-88.184 38.508 8633
+-88.058 38.508 8575
+-87.932 38.508 8400
+-87.806 38.508 8380
+-87.68 38.508 8227
+-87.554 38.508 8121
+-87.428 38.508 7993
+-87.302 38.508 7889
+-87.176 38.508 7782
+-87.05 38.508 7660
+-86.924 38.508 7508
+-86.798 38.508 7372
+-86.672 38.508 7212
+-86.546 38.508 7107
+-86.42 38.508 7035
+-86.294 38.508 6883
+-86.168 38.508 6662
+-86.042 38.508 6516
+-85.916 38.508 6466
+-85.79 38.508 6333
+-85.664 38.508 6231
+-85.538 38.508 6145
+-85.412 38.508 5954
+-85.286 38.508 5769
+-85.16 38.508 5617
+-85.034 38.508 5467
+-84.908 38.508 5394
+-84.782 38.508 5300
+-84.656 38.508 5149
+-84.53 38.508 4972
+-84.404 38.508 4846
+-84.278 38.508 4768
+-84.152 38.508 4579
+-84.026 38.508 4333
+-83.9 38.508 4232
+-83.774 38.508 4239
+-83.648 38.508 4196
+-83.522 38.508 4018
+-83.396 38.508 3790
+-83.27 38.508 3647
+-83.144 38.508 3701
+-83.018 38.508 3794
+-82.892 38.508 3849
+-82.766 38.508 3833
+-82.64 38.508 3814
+-82.514 38.508 3798
+-82.388 38.508 3796
+-82.262 38.508 3796
+-82.136 38.508 3764
+-82.01 38.508 3741
+-81.884 38.508 3746
+-81.758 38.508 3751
+-81.632 38.508 3757
+-81.506 38.508 3724
+-81.38 38.508 3728
+-81.254 38.508 3720
+-81.128 38.508 3725
+-81.002 38.508 3644
+-80.876 38.508 3647
+-80.75 38.508 3638
+-80.624 38.508 3641
+-80.498 38.508 3644
+-80.372 38.508 3647
+-80.246 38.508 3650
+-80.12 38.508 3652
+-79.994 38.508 3574
+-79.868 38.508 3576
+-79.742 38.508 3578
+-79.616 38.508 3580
+-79.49 38.508 3538
+-79.364 38.508 3539
+-79.238 38.508 3539
+-79.112 38.508 3540
+-78.986 38.508 3541
+-78.86 38.508 3541
+-78.734 38.508 3542
+-78.608 38.508 3450
+-78.482 38.508 3451
+-78.356 38.508 3451
+-78.23 38.508 3452
+-78.104 38.508 3452
+-77.978 38.508 3453
+-77.852 38.508 3454
+-77.726 38.508 3454
+-77.6 38.508 3454
+-77.474 38.508 3407
+-77.348 38.508 3406
+-77.222 38.508 3406
+-77.096 38.508 3405
+-76.97 38.508 3405
+-76.844 38.508 3404
+-76.718 38.508 3404
+-76.592 38.508 3403
+-76.466 38.508 3403
+-76.34 38.508 3403
+-76.214 38.508 3402
+-76.088 38.508 3402
+-75.962 38.508 3401
+-75.836 38.508 3401
+-75.71 38.508 3401
+-75.584 38.508 3400
+-75.458 38.508 3400
+-75.332 38.508 3400
+-75.206 38.508 3400
+-75.08 38.508 3399
+-74.954 38.508 3399
+-74.828 38.508 3399
+-74.702 38.508 3399
+-74.576 38.508 3398
+-74.45 38.508 3398
+-74.324 38.508 3068
+-74.198 38.508 3067
+-74.072 38.508 3065
+-73.946 38.508 3064
+-73.82 38.508 3062
+-73.694 38.508 3061
+-73.568 38.508 3059
+-73.442 38.508 3058
+-73.316 38.508 3057
+-73.19 38.508 3056
+-73.064 38.508 3054
+-72.938 38.508 3053
+-72.812 38.508 3052
+-72.686 38.508 3051
+-72.56 38.508 3050
+-72.434 38.508 3049
+-72.308 38.508 3048
+-72.182 38.508 3047
+-72.056 38.508 2920
+-71.93 38.508 2918
+-71.804 38.508 2888
+-71.678 38.508 2839
+-71.552 38.508 2838
+-71.426 38.508 2837
+-71.3 38.508 2851
+-71.174 38.508 2850
+-71.048 38.508 2861
+-70.922 38.508 2860
+-70.796 38.508 2819
+-70.67 38.508 2778
+-70.544 38.508 2778
+-70.418 38.508 2777
+-70.292 38.508 2777
+-70.166 38.508 2795
+-70.04 38.508 2801
+-69.914 38.508 2810
+-69.788 38.508 2809
+-69.662 38.508 2843
+-69.536 38.508 2855
+-69.41 38.508 2856
+-69.284 38.508 2914
+-69.158 38.508 2936
+-69.032 38.508 2914
+-68.906 38.508 2903
+-68.78 38.508 3059
+-68.654 38.508 3061
+-68.528 38.508 3127
+-68.402 38.508 3129
+-68.276 38.508 3131
+-68.15 38.508 3132
+-68.024 38.508 3134
+-67.898 38.508 3043
+-67.772 38.508 3065
+-67.646 38.508 3066
+-67.52 38.508 3055
+-67.394 38.508 3354
+-67.268 38.508 3387
+-67.142 38.508 3387
+-67.016 38.508 3382
+-66.89 38.508 3383
+-66.764 38.508 3387
+-66.638 38.508 3404
+-66.512 38.508 3405
+-66.386 38.508 3391
+-66.26 38.508 3392
+-66.134 38.508 3341
+-66.008 38.508 3342
+-65.882 38.508 3343
+-65.756 38.508 3412
+-65.63 38.508 3406
+-65.504 38.508 3416
+-65.378 38.508 3417
+-65.252 38.508 3394
+-65.126 38.508 3417
+-128 38.456 2501
+-127.874 38.456 2529
+-127.748 38.456 2528
+-127.622 38.456 2527
+-127.496 38.456 2620
+-127.37 38.456 2617
+-127.244 38.456 2627
+-127.118 38.456 2714
+-126.992 38.456 2738
+-126.866 38.456 2711
+-126.74 38.456 2706
+-126.614 38.456 2701
+-126.488 38.456 2745
+-126.362 38.456 2738
+-126.236 38.456 2731
+-126.11 38.456 2724
+-125.984 38.456 2716
+-125.858 38.456 2708
+-125.732 38.456 2759
+-125.606 38.456 2758
+-125.48 38.456 2710
+-125.354 38.456 2726
+-125.228 38.456 2715
+-125.102 38.456 2703
+-124.976 38.456 2689
+-124.85 38.456 2675
+-124.724 38.456 2712
+-124.598 38.456 2761
+-124.472 38.456 2738
+-124.346 38.456 2713
+-124.22 38.456 2685
+-124.094 38.456 2718
+-123.968 38.456 2683
+-123.842 38.456 2649
+-123.716 38.456 2623
+-123.59 38.456 2561
+-123.464 38.456 2534
+-123.338 38.456 2537
+-123.212 38.456 2508
+-123.086 38.456 2491
+-122.96 38.456 2480
+-122.834 38.456 2484
+-122.708 38.456 2506
+-122.582 38.456 2548
+-122.456 38.456 2620
+-122.33 38.456 2694
+-122.204 38.456 2756
+-122.078 38.456 2828
+-121.952 38.456 2896
+-121.826 38.456 2969
+-121.7 38.456 3043
+-121.574 38.456 3121
+-121.448 38.456 3196
+-121.322 38.456 3259
+-121.196 38.456 3308
+-121.07 38.456 3379
+-120.944 38.456 3428
+-120.818 38.456 3508
+-120.692 38.456 3594
+-120.566 38.456 3695
+-120.44 38.456 3776
+-120.314 38.456 3887
+-120.188 38.456 3956
+-120.062 38.456 4034
+-119.936 38.456 4110
+-119.81 38.456 4179
+-119.684 38.456 4310
+-119.558 38.456 4424
+-119.432 38.456 4481
+-119.306 38.456 4532
+-119.18 38.456 4581
+-119.054 38.456 4591
+-118.928 38.456 4594
+-118.802 38.456 4609
+-118.676 38.456 4631
+-118.55 38.456 4688
+-118.424 38.456 4715
+-118.298 38.456 4734
+-118.172 38.456 4777
+-118.046 38.456 4801
+-117.92 38.456 4802
+-117.794 38.456 4833
+-117.668 38.456 4852
+-117.542 38.456 4868
+-117.416 38.456 4876
+-117.29 38.456 4895
+-117.164 38.456 4890
+-117.038 38.456 4858
+-116.912 38.456 4837
+-116.786 38.456 4833
+-116.66 38.456 4817
+-116.534 38.456 4784
+-116.408 38.456 4766
+-116.282 38.456 4752
+-116.156 38.456 4723
+-116.03 38.456 4665
+-115.904 38.456 4599
+-115.778 38.456 4544
+-115.652 38.456 4540
+-115.526 38.456 4500
+-115.4 38.456 4432
+-115.274 38.456 4406
+-115.148 38.456 4371
+-115.022 38.456 4326
+-114.896 38.456 4243
+-114.77 38.456 4199
+-114.644 38.456 4116
+-114.518 38.456 4000
+-114.392 38.456 3897
+-114.266 38.456 3788
+-114.14 38.456 3661
+-114.014 38.456 3567
+-113.888 38.456 3610
+-113.762 38.456 3625
+-113.636 38.456 3581
+-113.51 38.456 3529
+-113.384 38.456 3495
+-113.258 38.456 3508
+-113.132 38.456 3551
+-113.006 38.456 3589
+-112.88 38.456 3575
+-112.754 38.456 3591
+-112.628 38.456 3509
+-112.502 38.456 3444
+-112.376 38.456 3411
+-112.25 38.456 3192
+-112.124 38.456 3133
+-111.998 38.456 3069
+-111.872 38.456 2972
+-111.746 38.456 2901
+-111.62 38.456 2824
+-111.494 38.456 2719
+-111.368 38.456 2649
+-111.242 38.456 2576
+-111.116 38.456 2521
+-110.99 38.456 2481
+-110.864 38.456 2462
+-110.738 38.456 2430
+-110.612 38.456 2419
+-110.486 38.456 2398
+-110.36 38.456 2372
+-110.234 38.456 2346
+-110.108 38.456 2331
+-109.982 38.456 2336
+-109.856 38.456 2347
+-109.73 38.456 2370
+-109.604 38.456 2397
+-109.478 38.456 2423
+-109.352 38.456 2450
+-109.226 38.456 2468
+-109.1 38.456 2480
+-108.974 38.456 2485
+-108.848 38.456 2486
+-108.722 38.456 2495
+-108.596 38.456 2487
+-108.47 38.456 2474
+-108.344 38.456 2426
+-108.218 38.456 2407
+-108.092 38.456 2386
+-107.966 38.456 2366
+-107.84 38.456 2351
+-107.714 38.456 2363
+-107.588 38.456 2373
+-107.462 38.456 2389
+-107.336 38.456 2403
+-107.21 38.456 2422
+-107.084 38.456 2455
+-106.958 38.456 2480
+-106.832 38.456 2484
+-106.706 38.456 2508
+-106.58 38.456 2543
+-106.454 38.456 2565
+-106.328 38.456 2614
+-106.202 38.456 2644
+-106.076 38.456 2667
+-105.95 38.456 2745
+-105.824 38.456 2763
+-105.698 38.456 2773
+-105.572 38.456 2828
+-105.446 38.456 2801
+-105.32 38.456 2820
+-105.194 38.456 2813
+-105.068 38.456 2890
+-104.942 38.456 2900
+-104.816 38.456 2915
+-104.69 38.456 2932
+-104.564 38.456 2899
+-104.438 38.456 2998
+-104.312 38.456 3005
+-104.186 38.456 2902
+-104.06 38.456 2917
+-103.934 38.456 2906
+-103.808 38.456 2907
+-103.682 38.456 2908
+-103.556 38.456 2926
+-103.43 38.456 2879
+-103.304 38.456 2909
+-103.178 38.456 2909
+-103.052 38.456 2908
+-102.926 38.456 2906
+-102.8 38.456 2778
+-102.674 38.456 2652
+-102.548 38.456 2645
+-102.422 38.456 2610
+-102.296 38.456 2575
+-102.17 38.456 2536
+-102.044 38.456 2567
+-101.918 38.456 2589
+-101.792 38.456 2657
+-101.666 38.456 2706
+-101.54 38.456 2723
+-101.414 38.456 2753
+-101.288 38.456 2759
+-101.162 38.456 2765
+-101.036 38.456 2950
+-100.91 38.456 2953
+-100.784 38.456 3059
+-100.658 38.456 3060
+-100.532 38.456 3060
+-100.406 38.456 3061
+-100.28 38.456 3061
+-100.154 38.456 3212
+-100.028 38.456 3211
+-99.902 38.456 3209
+-99.776 38.456 3208
+-99.65 38.456 3206
+-99.524 38.456 3204
+-99.398 38.456 3202
+-99.272 38.456 3200
+-99.146 38.456 3197
+-99.02 38.456 3194
+-98.894 38.456 3190
+-98.768 38.456 3186
+-98.642 38.456 3239
+-98.516 38.456 3281
+-98.39 38.456 3271
+-98.264 38.456 3260
+-98.138 38.456 3247
+-98.012 38.456 3231
+-97.886 38.456 3212
+-97.76 38.456 3189
+-97.634 38.456 3188
+-97.508 38.456 3177
+-97.382 38.456 3159
+-97.256 38.456 3105
+-97.13 38.456 3052
+-97.004 38.456 3029
+-96.878 38.456 3027
+-96.752 38.456 3052
+-96.626 38.456 3025
+-96.5 38.456 2999
+-96.374 38.456 3148
+-96.248 38.456 3326
+-96.122 38.456 3383
+-95.996 38.456 3494
+-95.87 38.456 3635
+-95.744 38.456 3705
+-95.618 38.456 3809
+-95.492 38.456 3933
+-95.366 38.456 4125
+-95.24 38.456 4260
+-95.114 38.456 4393
+-94.988 38.456 4611
+-94.862 38.456 4745
+-94.736 38.456 4956
+-94.61 38.456 5133
+-94.484 38.456 5261
+-94.358 38.456 5460
+-94.232 38.456 5591
+-94.106 38.456 5685
+-93.98 38.456 5764
+-93.854 38.456 5842
+-93.728 38.456 5958
+-93.602 38.456 6059
+-93.476 38.456 6146
+-93.35 38.456 6301
+-93.224 38.456 6398
+-93.098 38.456 6531
+-92.972 38.456 6746
+-92.846 38.456 6846
+-92.72 38.456 6964
+-92.594 38.456 7080
+-92.468 38.456 7247
+-92.342 38.456 7399
+-92.216 38.456 7499
+-92.09 38.456 7612
+-91.964 38.456 7766
+-91.838 38.456 7942
+-91.712 38.456 7995
+-91.586 38.456 8113
+-91.46 38.456 8252
+-91.334 38.456 8396
+-91.208 38.456 8598
+-91.082 38.456 8646
+-90.956 38.456 8765
+-90.83 38.456 8868
+-90.704 38.456 8950
+-90.578 38.456 9030
+-90.452 38.456 9072
+-90.326 38.456 9071
+-90.2 38.456 9017
+-90.074 38.456 8843
+-89.948 38.456 8788
+-89.822 38.456 8699
+-89.696 38.456 8560
+-89.57 38.456 8465
+-89.444 38.456 8708
+-89.318 38.456 8822
+-89.192 38.456 8856
+-89.066 38.456 8917
+-88.94 38.456 8947
+-88.814 38.456 8933
+-88.688 38.456 8925
+-88.562 38.456 8897
+-88.436 38.456 8824
+-88.31 38.456 8802
+-88.184 38.456 8663
+-88.058 38.456 8602
+-87.932 38.456 8489
+-87.806 38.456 8429
+-87.68 38.456 8231
+-87.554 38.456 8106
+-87.428 38.456 8012
+-87.302 38.456 7871
+-87.176 38.456 7792
+-87.05 38.456 7703
+-86.924 38.456 7530
+-86.798 38.456 7387
+-86.672 38.456 7263
+-86.546 38.456 7152
+-86.42 38.456 7020
+-86.294 38.456 6907
+-86.168 38.456 6665
+-86.042 38.456 6553
+-85.916 38.456 6437
+-85.79 38.456 6315
+-85.664 38.456 6189
+-85.538 38.456 6122
+-85.412 38.456 5965
+-85.286 38.456 5805
+-85.16 38.456 5600
+-85.034 38.456 5433
+-84.908 38.456 5388
+-84.782 38.456 5320
+-84.656 38.456 5179
+-84.53 38.456 4945
+-84.404 38.456 4769
+-84.278 38.456 4765
+-84.152 38.456 4611
+-84.026 38.456 4420
+-83.9 38.456 4319
+-83.774 38.456 4268
+-83.648 38.456 4183
+-83.522 38.456 3971
+-83.396 38.456 3680
+-83.27 38.456 3507
+-83.144 38.456 3619
+-83.018 38.456 3749
+-82.892 38.456 3774
+-82.766 38.456 3771
+-82.64 38.456 3773
+-82.514 38.456 3773
+-82.388 38.456 3774
+-82.262 38.456 3736
+-82.136 38.456 3741
+-82.01 38.456 3748
+-81.884 38.456 3719
+-81.758 38.456 3727
+-81.632 38.456 3736
+-81.506 38.456 3734
+-81.38 38.456 3716
+-81.254 38.456 3696
+-81.128 38.456 3628
+-81.002 38.456 3633
+-80.876 38.456 3626
+-80.75 38.456 3630
+-80.624 38.456 3634
+-80.498 38.456 3637
+-80.372 38.456 3641
+-80.246 38.456 3644
+-80.12 38.456 3647
+-79.994 38.456 3650
+-79.868 38.456 3573
+-79.742 38.456 3575
+-79.616 38.456 3573
+-79.49 38.456 3575
+-79.364 38.456 3577
+-79.238 38.456 3578
+-79.112 38.456 3580
+-78.986 38.456 3581
+-78.86 38.456 3583
+-78.734 38.456 3584
+-78.608 38.456 3585
+-78.482 38.456 3450
+-78.356 38.456 3451
+-78.23 38.456 3452
+-78.104 38.456 3452
+-77.978 38.456 3452
+-77.852 38.456 3452
+-77.726 38.456 3453
+-77.6 38.456 3406
+-77.474 38.456 3405
+-77.348 38.456 3405
+-77.222 38.456 3404
+-77.096 38.456 3404
+-76.97 38.456 3403
+-76.844 38.456 3403
+-76.718 38.456 3403
+-76.592 38.456 3402
+-76.466 38.456 3402
+-76.34 38.456 3401
+-76.214 38.456 3401
+-76.088 38.456 3401
+-75.962 38.456 3400
+-75.836 38.456 3400
+-75.71 38.456 3400
+-75.584 38.456 3399
+-75.458 38.456 3399
+-75.332 38.456 3399
+-75.206 38.456 3399
+-75.08 38.456 3398
+-74.954 38.456 3390
+-74.828 38.456 3390
+-74.702 38.456 3390
+-74.576 38.456 3323
+-74.45 38.456 3068
+-74.324 38.456 3066
+-74.198 38.456 3065
+-74.072 38.456 3063
+-73.946 38.456 3062
+-73.82 38.456 3060
+-73.694 38.456 3059
+-73.568 38.456 3057
+-73.442 38.456 3056
+-73.316 38.456 3055
+-73.19 38.456 3054
+-73.064 38.456 3052
+-72.938 38.456 3051
+-72.812 38.456 3050
+-72.686 38.456 3049
+-72.56 38.456 3048
+-72.434 38.456 3047
+-72.308 38.456 3046
+-72.182 38.456 2919
+-72.056 38.456 2918
+-71.93 38.456 2887
+-71.804 38.456 2838
+-71.678 38.456 2837
+-71.552 38.456 2836
+-71.426 38.456 2850
+-71.3 38.456 2849
+-71.174 38.456 2859
+-71.048 38.456 2859
+-70.922 38.456 2818
+-70.796 38.456 2777
+-70.67 38.456 2777
+-70.544 38.456 2776
+-70.418 38.456 2776
+-70.292 38.456 2793
+-70.166 38.456 2799
+-70.04 38.456 2809
+-69.914 38.456 2807
+-69.788 38.456 2842
+-69.662 38.456 2853
+-69.536 38.456 2854
+-69.41 38.456 2912
+-69.284 38.456 2935
+-69.158 38.456 2912
+-69.032 38.456 2902
+-68.906 38.456 3058
+-68.78 38.456 3059
+-68.654 38.456 3126
+-68.528 38.456 3127
+-68.402 38.456 3129
+-68.276 38.456 3131
+-68.15 38.456 3132
+-68.024 38.456 3042
+-67.898 38.456 3064
+-67.772 38.456 3065
+-67.646 38.456 3053
+-67.52 38.456 3353
+-67.394 38.456 3385
+-67.268 38.456 3386
+-67.142 38.456 3381
+-67.016 38.456 3381
+-66.89 38.456 3386
+-66.764 38.456 3403
+-66.638 38.456 3404
+-66.512 38.456 3390
+-66.386 38.456 3391
+-66.26 38.456 3341
+-66.134 38.456 3341
+-66.008 38.456 3342
+-65.882 38.456 3411
+-65.756 38.456 3405
+-65.63 38.456 3415
+-65.504 38.456 3416
+-65.378 38.456 3393
+-65.252 38.456 3416
+-65.126 38.456 3465
+-128 38.404 2427
+-127.874 38.404 2510
+-127.748 38.404 2538
+-127.622 38.404 2633
+-127.496 38.404 2630
+-127.37 38.404 2673
+-127.244 38.404 2669
+-127.118 38.404 2634
+-126.992 38.404 2722
+-126.866 38.404 2747
+-126.74 38.404 2788
+-126.614 38.404 2767
+-126.488 38.404 2762
+-126.362 38.404 2756
+-126.236 38.404 2749
+-126.11 38.404 2742
+-125.984 38.404 2735
+-125.858 38.404 2791
+-125.732 38.404 2781
+-125.606 38.404 2778
+-125.48 38.404 2768
+-125.354 38.404 2778
+-125.228 38.404 2737
+-125.102 38.404 2726
+-124.976 38.404 2714
+-124.85 38.404 2763
+-124.724 38.404 2746
+-124.598 38.404 2794
+-124.472 38.404 2774
+-124.346 38.404 2752
+-124.22 38.404 2795
+-124.094 38.404 2767
+-123.968 38.404 2738
+-123.842 38.404 2707
+-123.716 38.404 2679
+-123.59 38.404 2658
+-123.464 38.404 2637
+-123.338 38.404 2619
+-123.212 38.404 2609
+-123.086 38.404 2598
+-122.96 38.404 2600
+-122.834 38.404 2610
+-122.708 38.404 2635
+-122.582 38.404 2674
+-122.456 38.404 2724
+-122.33 38.404 2788
+-122.204 38.404 2837
+-122.078 38.404 2871
+-121.952 38.404 2905
+-121.826 38.404 2960
+-121.7 38.404 3037
+-121.574 38.404 3119
+-121.448 38.404 3201
+-121.322 38.404 3274
+-121.196 38.404 3331
+-121.07 38.404 3468
+-120.944 38.404 3507
+-120.818 38.404 3603
+-120.692 38.404 3677
+-120.566 38.404 3761
+-120.44 38.404 3873
+-120.314 38.404 3992
+-120.188 38.404 4051
+-120.062 38.404 4083
+-119.936 38.404 4156
+-119.81 38.404 4261
+-119.684 38.404 4404
+-119.558 38.404 4492
+-119.432 38.404 4538
+-119.306 38.404 4564
+-119.18 38.404 4626
+-119.054 38.404 4665
+-118.928 38.404 4684
+-118.802 38.404 4679
+-118.676 38.404 4706
+-118.55 38.404 4740
+-118.424 38.404 4741
+-118.298 38.404 4792
+-118.172 38.404 4832
+-118.046 38.404 4825
+-117.92 38.404 4856
+-117.794 38.404 4891
+-117.668 38.404 4914
+-117.542 38.404 4943
+-117.416 38.404 4956
+-117.29 38.404 4953
+-117.164 38.404 4945
+-117.038 38.404 4934
+-116.912 38.404 4902
+-116.786 38.404 4867
+-116.66 38.404 4864
+-116.534 38.404 4837
+-116.408 38.404 4793
+-116.282 38.404 4798
+-116.156 38.404 4767
+-116.03 38.404 4730
+-115.904 38.404 4670
+-115.778 38.404 4623
+-115.652 38.404 4600
+-115.526 38.404 4544
+-115.4 38.404 4466
+-115.274 38.404 4410
+-115.148 38.404 4406
+-115.022 38.404 4372
+-114.896 38.404 4309
+-114.77 38.404 4265
+-114.644 38.404 4186
+-114.518 38.404 4082
+-114.392 38.404 3976
+-114.266 38.404 3849
+-114.14 38.404 3731
+-114.014 38.404 3650
+-113.888 38.404 3660
+-113.762 38.404 3649
+-113.636 38.404 3576
+-113.51 38.404 3453
+-113.384 38.404 3364
+-113.258 38.404 3418
+-113.132 38.404 3507
+-113.006 38.404 3587
+-112.88 38.404 3588
+-112.754 38.404 3536
+-112.628 38.404 3520
+-112.502 38.404 3446
+-112.376 38.404 3317
+-112.25 38.404 3190
+-112.124 38.404 3129
+-111.998 38.404 3032
+-111.872 38.404 2962
+-111.746 38.404 2886
+-111.62 38.404 2805
+-111.494 38.404 2693
+-111.368 38.404 2611
+-111.242 38.404 2525
+-111.116 38.404 2459
+-110.99 38.404 2431
+-110.864 38.404 2430
+-110.738 38.404 2424
+-110.612 38.404 2436
+-110.486 38.404 2437
+-110.36 38.404 2428
+-110.234 38.404 2419
+-110.108 38.404 2417
+-109.982 38.404 2416
+-109.856 38.404 2424
+-109.73 38.404 2436
+-109.604 38.404 2452
+-109.478 38.404 2471
+-109.352 38.404 2484
+-109.226 38.404 2493
+-109.1 38.404 2497
+-108.974 38.404 2497
+-108.848 38.404 2504
+-108.722 38.404 2496
+-108.596 38.404 2483
+-108.47 38.404 2468
+-108.344 38.404 2444
+-108.218 38.404 2416
+-108.092 38.404 2375
+-107.966 38.404 2347
+-107.84 38.404 2325
+-107.714 38.404 2322
+-107.588 38.404 2328
+-107.462 38.404 2338
+-107.336 38.404 2357
+-107.21 38.404 2391
+-107.084 38.404 2421
+-106.958 38.404 2433
+-106.832 38.404 2463
+-106.706 38.404 2503
+-106.58 38.404 2531
+-106.454 38.404 2582
+-106.328 38.404 2616
+-106.202 38.404 2643
+-106.076 38.404 2722
+-105.95 38.404 2742
+-105.824 38.404 2756
+-105.698 38.404 2811
+-105.572 38.404 2787
+-105.446 38.404 2807
+-105.32 38.404 2803
+-105.194 38.404 2879
+-105.068 38.404 2890
+-104.942 38.404 2906
+-104.816 38.404 2923
+-104.69 38.404 2892
+-104.564 38.404 2989
+-104.438 38.404 2997
+-104.312 38.404 3004
+-104.186 38.404 2998
+-104.06 38.404 3017
+-103.934 38.404 2910
+-103.808 38.404 2911
+-103.682 38.404 2929
+-103.556 38.404 2884
+-103.43 38.404 2914
+-103.304 38.404 2914
+-103.178 38.404 2914
+-103.052 38.404 2913
+-102.926 38.404 2910
+-102.8 38.404 2785
+-102.674 38.404 2782
+-102.548 38.404 2653
+-102.422 38.404 2617
+-102.296 38.404 2611
+-102.17 38.404 2541
+-102.044 38.404 2553
+-101.918 38.404 2582
+-101.792 38.404 2662
+-101.666 38.404 2710
+-101.54 38.404 2725
+-101.414 38.404 2731
+-101.288 38.404 2763
+-101.162 38.404 2769
+-101.036 38.404 2956
+-100.91 38.404 3030
+-100.784 38.404 3062
+-100.658 38.404 3063
+-100.532 38.404 3063
+-100.406 38.404 3064
+-100.28 38.404 3064
+-100.154 38.404 3065
+-100.028 38.404 3214
+-99.902 38.404 3213
+-99.776 38.404 3211
+-99.65 38.404 3210
+-99.524 38.404 3208
+-99.398 38.404 3206
+-99.272 38.404 3204
+-99.146 38.404 3202
+-99.02 38.404 3199
+-98.894 38.404 3196
+-98.768 38.404 3269
+-98.642 38.404 3264
+-98.516 38.404 3257
+-98.39 38.404 3249
+-98.264 38.404 3240
+-98.138 38.404 3255
+-98.012 38.404 3241
+-97.886 38.404 3225
+-97.76 38.404 3230
+-97.634 38.404 3206
+-97.508 38.404 3201
+-97.382 38.404 3204
+-97.256 38.404 3168
+-97.13 38.404 3155
+-97.004 38.404 3136
+-96.878 38.404 3113
+-96.752 38.404 3077
+-96.626 38.404 2969
+-96.5 38.404 2852
+-96.374 38.404 3038
+-96.248 38.404 3309
+-96.122 38.404 3455
+-95.996 38.404 3574
+-95.87 38.404 3675
+-95.744 38.404 3673
+-95.618 38.404 3807
+-95.492 38.404 3953
+-95.366 38.404 4145
+-95.24 38.404 4250
+-95.114 38.404 4341
+-94.988 38.404 4540
+-94.862 38.404 4722
+-94.736 38.404 4950
+-94.61 38.404 5085
+-94.484 38.404 5183
+-94.358 38.404 5365
+-94.232 38.404 5557
+-94.106 38.404 5670
+-93.98 38.404 5761
+-93.854 38.404 5697
+-93.728 38.404 5889
+-93.602 38.404 6038
+-93.476 38.404 6117
+-93.35 38.404 6318
+-93.224 38.404 6473
+-93.098 38.404 6562
+-92.972 38.404 6713
+-92.846 38.404 6797
+-92.72 38.404 6984
+-92.594 38.404 7047
+-92.468 38.404 7240
+-92.342 38.404 7349
+-92.216 38.404 7523
+-92.09 38.404 7594
+-91.964 38.404 7726
+-91.838 38.404 7930
+-91.712 38.404 7958
+-91.586 38.404 8073
+-91.46 38.404 8238
+-91.334 38.404 8375
+-91.208 38.404 8514
+-91.082 38.404 8616
+-90.956 38.404 8712
+-90.83 38.404 8803
+-90.704 38.404 8926
+-90.578 38.404 8989
+-90.452 38.404 9017
+-90.326 38.404 8978
+-90.2 38.404 8910
+-90.074 38.404 8888
+-89.948 38.404 8776
+-89.822 38.404 8658
+-89.696 38.404 8516
+-89.57 38.404 8417
+-89.444 38.404 8754
+-89.318 38.404 8823
+-89.192 38.404 8944
+-89.066 38.404 8984
+-88.94 38.404 9010
+-88.814 38.404 9016
+-88.688 38.404 9002
+-88.562 38.404 8995
+-88.436 38.404 8883
+-88.31 38.404 8817
+-88.184 38.404 8728
+-88.058 38.404 8640
+-87.932 38.404 8551
+-87.806 38.404 8409
+-87.68 38.404 8294
+-87.554 38.404 8173
+-87.428 38.404 8055
+-87.302 38.404 7948
+-87.176 38.404 7802
+-87.05 38.404 7720
+-86.924 38.404 7525
+-86.798 38.404 7457
+-86.672 38.404 7274
+-86.546 38.404 7066
+-86.42 38.404 7045
+-86.294 38.404 6883
+-86.168 38.404 6701
+-86.042 38.404 6542
+-85.916 38.404 6428
+-85.79 38.404 6341
+-85.664 38.404 6213
+-85.538 38.404 6084
+-85.412 38.404 5863
+-85.286 38.404 5817
+-85.16 38.404 5638
+-85.034 38.404 5465
+-84.908 38.404 5315
+-84.782 38.404 5225
+-84.656 38.404 5211
+-84.53 38.404 5022
+-84.404 38.404 4855
+-84.278 38.404 4771
+-84.152 38.404 4618
+-84.026 38.404 4514
+-83.9 38.404 4413
+-83.774 38.404 4315
+-83.648 38.404 4177
+-83.522 38.404 4006
+-83.396 38.404 3782
+-83.27 38.404 3641
+-83.144 38.404 3684
+-83.018 38.404 3712
+-82.892 38.404 3727
+-82.766 38.404 3726
+-82.64 38.404 3724
+-82.514 38.404 3724
+-82.388 38.404 3728
+-82.262 38.404 3729
+-82.136 38.404 3706
+-82.01 38.404 3717
+-81.884 38.404 3728
+-81.758 38.404 3703
+-81.632 38.404 3705
+-81.506 38.404 3713
+-81.38 38.404 3715
+-81.254 38.404 3683
+-81.128 38.404 3690
+-81.002 38.404 3611
+-80.876 38.404 3617
+-80.75 38.404 3622
+-80.624 38.404 3626
+-80.498 38.404 3631
+-80.372 38.404 3635
+-80.246 38.404 3639
+-80.12 38.404 3642
+-79.994 38.404 3646
+-79.868 38.404 3649
+-79.742 38.404 3567
+-79.616 38.404 3569
+-79.49 38.404 3571
+-79.364 38.404 3573
+-79.238 38.404 3575
+-79.112 38.404 3577
+-78.986 38.404 3579
+-78.86 38.404 3580
+-78.734 38.404 3582
+-78.608 38.404 3583
+-78.482 38.404 3584
+-78.356 38.404 3469
+-78.23 38.404 3452
+-78.104 38.404 3451
+-77.978 38.404 3451
+-77.852 38.404 3452
+-77.726 38.404 3405
+-77.6 38.404 3404
+-77.474 38.404 3404
+-77.348 38.404 3403
+-77.222 38.404 3403
+-77.096 38.404 3396
+-76.97 38.404 3395
+-76.844 38.404 3395
+-76.718 38.404 3394
+-76.592 38.404 3394
+-76.466 38.404 3393
+-76.34 38.404 3393
+-76.214 38.404 3392
+-76.088 38.404 3392
+-75.962 38.404 3392
+-75.836 38.404 3391
+-75.71 38.404 3391
+-75.584 38.404 3391
+-75.458 38.404 3390
+-75.332 38.404 3390
+-75.206 38.404 3390
+-75.08 38.404 3389
+-74.954 38.404 3389
+-74.828 38.404 3389
+-74.702 38.404 3322
+-74.576 38.404 3067
+-74.45 38.404 3066
+-74.324 38.404 3064
+-74.198 38.404 3063
+-74.072 38.404 3061
+-73.946 38.404 3060
+-73.82 38.404 3058
+-73.694 38.404 3057
+-73.568 38.404 3055
+-73.442 38.404 3054
+-73.316 38.404 3053
+-73.19 38.404 3052
+-73.064 38.404 3050
+-72.938 38.404 3049
+-72.812 38.404 3048
+-72.686 38.404 3047
+-72.56 38.404 3046
+-72.434 38.404 3045
+-72.308 38.404 2918
+-72.182 38.404 2916
+-72.056 38.404 2885
+-71.93 38.404 2837
+-71.804 38.404 2836
+-71.678 38.404 2835
+-71.552 38.404 2849
+-71.426 38.404 2848
+-71.3 38.404 2858
+-71.174 38.404 2857
+-71.048 38.404 2817
+-70.922 38.404 2776
+-70.796 38.404 2775
+-70.67 38.404 2775
+-70.544 38.404 2775
+-70.418 38.404 2792
+-70.292 38.404 2798
+-70.166 38.404 2808
+-70.04 38.404 2806
+-69.914 38.404 2840
+-69.788 38.404 2852
+-69.662 38.404 2853
+-69.536 38.404 2911
+-69.41 38.404 2933
+-69.284 38.404 2911
+-69.158 38.404 2900
+-69.032 38.404 3056
+-68.906 38.404 3058
+-68.78 38.404 3124
+-68.654 38.404 3126
+-68.528 38.404 3127
+-68.402 38.404 3129
+-68.276 38.404 3131
+-68.15 38.404 3041
+-68.024 38.404 3062
+-67.898 38.404 3064
+-67.772 38.404 3052
+-67.646 38.404 3352
+-67.52 38.404 3384
+-67.394 38.404 3385
+-67.268 38.404 3379
+-67.142 38.404 3380
+-67.016 38.404 3384
+-66.89 38.404 3402
+-66.764 38.404 3403
+-66.638 38.404 3389
+-66.512 38.404 3390
+-66.386 38.404 3340
+-66.26 38.404 3340
+-66.134 38.404 3341
+-66.008 38.404 3410
+-65.882 38.404 3404
+-65.756 38.404 3414
+-65.63 38.404 3415
+-65.504 38.404 3392
+-65.378 38.404 3415
+-65.252 38.404 3464
+-65.126 38.404 3476
+-128 38.352 2435
+-127.874 38.352 2520
+-127.748 38.352 2616
+-127.622 38.352 2643
+-127.496 38.352 2688
+-127.37 38.352 2685
+-127.244 38.352 2681
+-127.118 38.352 2677
+-126.992 38.352 2642
+-126.866 38.352 2783
+-126.74 38.352 2826
+-126.614 38.352 2783
+-126.488 38.352 2778
+-126.362 38.352 2773
+-126.236 38.352 2767
+-126.11 38.352 2761
+-125.984 38.352 2820
+-125.858 38.352 2812
+-125.732 38.352 2807
+-125.606 38.352 2799
+-125.48 38.352 2790
+-125.354 38.352 2780
+-125.228 38.352 2791
+-125.102 38.352 2798
+-124.976 38.352 2805
+-124.85 38.352 2791
+-124.724 38.352 2777
+-124.598 38.352 2761
+-124.472 38.352 2811
+-124.346 38.352 2863
+-124.22 38.352 2841
+-124.094 38.352 2817
+-123.968 38.352 2838
+-123.842 38.352 2811
+-123.716 38.352 2784
+-123.59 38.352 2731
+-123.464 38.352 2710
+-123.338 38.352 2700
+-123.212 38.352 2695
+-123.086 38.352 2701
+-122.96 38.352 2706
+-122.834 38.352 2722
+-122.708 38.352 2746
+-122.582 38.352 2778
+-122.456 38.352 2813
+-122.33 38.352 2844
+-122.204 38.352 2870
+-122.078 38.352 2875
+-121.952 38.352 2880
+-121.826 38.352 2930
+-121.7 38.352 3016
+-121.574 38.352 3109
+-121.448 38.352 3203
+-121.322 38.352 3287
+-121.196 38.352 3358
+-121.07 38.352 3525
+-120.944 38.352 3578
+-120.818 38.352 3685
+-120.692 38.352 3758
+-120.566 38.352 3874
+-120.44 38.352 3950
+-120.314 38.352 4077
+-120.188 38.352 4087
+-120.062 38.352 4066
+-119.936 38.352 4142
+-119.81 38.352 4319
+-119.684 38.352 4446
+-119.558 38.352 4501
+-119.432 38.352 4518
+-119.306 38.352 4579
+-119.18 38.352 4638
+-119.054 38.352 4715
+-118.928 38.352 4729
+-118.802 38.352 4742
+-118.676 38.352 4764
+-118.55 38.352 4778
+-118.424 38.352 4802
+-118.298 38.352 4862
+-118.172 38.352 4867
+-118.046 38.352 4871
+-117.92 38.352 4914
+-117.794 38.352 4913
+-117.668 38.352 4960
+-117.542 38.352 4977
+-117.416 38.352 4970
+-117.29 38.352 4979
+-117.164 38.352 4939
+-117.038 38.352 4941
+-116.912 38.352 4937
+-116.786 38.352 4903
+-116.66 38.352 4888
+-116.534 38.352 4867
+-116.408 38.352 4854
+-116.282 38.352 4850
+-116.156 38.352 4837
+-116.03 38.352 4806
+-115.904 38.352 4733
+-115.778 38.352 4652
+-115.652 38.352 4610
+-115.526 38.352 4597
+-115.4 38.352 4527
+-115.274 38.352 4467
+-115.148 38.352 4433
+-115.022 38.352 4395
+-114.896 38.352 4335
+-114.77 38.352 4269
+-114.644 38.352 4235
+-114.518 38.352 4150
+-114.392 38.352 4031
+-114.266 38.352 3929
+-114.14 38.352 3847
+-114.014 38.352 3778
+-113.888 38.352 3729
+-113.762 38.352 3673
+-113.636 38.352 3568
+-113.51 38.352 3390
+-113.384 38.352 3268
+-113.258 38.352 3364
+-113.132 38.352 3500
+-113.006 38.352 3600
+-112.88 38.352 3576
+-112.754 38.352 3544
+-112.628 38.352 3526
+-112.502 38.352 3356
+-112.376 38.352 3313
+-112.25 38.352 3262
+-112.124 38.352 3092
+-111.998 38.352 3026
+-111.872 38.352 2955
+-111.746 38.352 2876
+-111.62 38.352 2772
+-111.494 38.352 2679
+-111.368 38.352 2558
+-111.242 38.352 2456
+-111.116 38.352 2389
+-110.99 38.352 2360
+-110.864 38.352 2376
+-110.738 38.352 2416
+-110.612 38.352 2438
+-110.486 38.352 2456
+-110.36 38.352 2464
+-110.234 38.352 2471
+-110.108 38.352 2472
+-109.982 38.352 2475
+-109.856 38.352 2480
+-109.73 38.352 2488
+-109.604 38.352 2500
+-109.478 38.352 2508
+-109.352 38.352 2512
+-109.226 38.352 2513
+-109.1 38.352 2511
+-108.974 38.352 2516
+-108.848 38.352 2507
+-108.722 38.352 2495
+-108.596 38.352 2481
+-108.47 38.352 2456
+-108.344 38.352 2424
+-108.218 38.352 2377
+-108.092 38.352 2336
+-107.966 38.352 2297
+-107.84 38.352 2275
+-107.714 38.352 2264
+-107.588 38.352 2263
+-107.462 38.352 2278
+-107.336 38.352 2312
+-107.21 38.352 2347
+-107.084 38.352 2369
+-106.958 38.352 2407
+-106.832 38.352 2453
+-106.706 38.352 2488
+-106.58 38.352 2543
+-106.454 38.352 2583
+-106.328 38.352 2614
+-106.202 38.352 2694
+-106.076 38.352 2719
+-105.95 38.352 2736
+-105.824 38.352 2792
+-105.698 38.352 2772
+-105.572 38.352 2794
+-105.446 38.352 2792
+-105.32 38.352 2867
+-105.194 38.352 2880
+-105.068 38.352 2896
+-104.942 38.352 2914
+-104.816 38.352 2884
+-104.69 38.352 2980
+-104.564 38.352 2988
+-104.438 38.352 2996
+-104.312 38.352 2991
+-104.186 38.352 3010
+-104.06 38.352 3016
+-103.934 38.352 3023
+-103.808 38.352 2932
+-103.682 38.352 2887
+-103.556 38.352 2918
+-103.43 38.352 2919
+-103.304 38.352 2919
+-103.178 38.352 2919
+-103.052 38.352 2917
+-102.926 38.352 2896
+-102.8 38.352 2777
+-102.674 38.352 2787
+-102.548 38.352 2661
+-102.422 38.352 2659
+-102.296 38.352 2619
+-102.17 38.352 2567
+-102.044 38.352 2558
+-101.918 38.352 2632
+-101.792 38.352 2647
+-101.666 38.352 2713
+-101.54 38.352 2729
+-101.414 38.352 2735
+-101.288 38.352 2766
+-101.162 38.352 2953
+-101.036 38.352 3028
+-100.91 38.352 3031
+-100.784 38.352 3065
+-100.658 38.352 3065
+-100.532 38.352 3066
+-100.406 38.352 3067
+-100.28 38.352 3067
+-100.154 38.352 3068
+-100.028 38.352 3217
+-99.902 38.352 3216
+-99.776 38.352 3215
+-99.65 38.352 3213
+-99.524 38.352 3212
+-99.398 38.352 3210
+-99.272 38.352 3208
+-99.146 38.352 3206
+-99.02 38.352 3204
+-98.894 38.352 3268
+-98.768 38.352 3264
+-98.642 38.352 3259
+-98.516 38.352 3253
+-98.39 38.352 3247
+-98.264 38.352 3239
+-98.138 38.352 3231
+-98.012 38.352 3221
+-97.886 38.352 3265
+-97.76 38.352 3248
+-97.634 38.352 3229
+-97.508 38.352 3209
+-97.382 38.352 3203
+-97.256 38.352 3229
+-97.13 38.352 3231
+-97.004 38.352 3207
+-96.878 38.352 3186
+-96.752 38.352 3143
+-96.626 38.352 3052
+-96.5 38.352 3001
+-96.374 38.352 3139
+-96.248 38.352 3350
+-96.122 38.352 3501
+-95.996 38.352 3619
+-95.87 38.352 3718
+-95.744 38.352 3778
+-95.618 38.352 3863
+-95.492 38.352 3953
+-95.366 38.352 4165
+-95.24 38.352 4215
+-95.114 38.352 4336
+-94.988 38.352 4515
+-94.862 38.352 4650
+-94.736 38.352 4887
+-94.61 38.352 5069
+-94.484 38.352 5133
+-94.358 38.352 5266
+-94.232 38.352 5484
+-94.106 38.352 5648
+-93.98 38.352 5744
+-93.854 38.352 5723
+-93.728 38.352 5876
+-93.602 38.352 5993
+-93.476 38.352 6161
+-93.35 38.352 6242
+-93.224 38.352 6408
+-93.098 38.352 6561
+-92.972 38.352 6732
+-92.846 38.352 6840
+-92.72 38.352 6866
+-92.594 38.352 7038
+-92.468 38.352 7188
+-92.342 38.352 7289
+-92.216 38.352 7461
+-92.09 38.352 7653
+-91.964 38.352 7736
+-91.838 38.352 7826
+-91.712 38.352 7981
+-91.586 38.352 8093
+-91.46 38.352 8276
+-91.334 38.352 8342
+-91.208 38.352 8482
+-91.082 38.352 8593
+-90.956 38.352 8722
+-90.83 38.352 8795
+-90.704 38.352 8864
+-90.578 38.352 8966
+-90.452 38.352 8955
+-90.326 38.352 8957
+-90.2 38.352 8908
+-90.074 38.352 8820
+-89.948 38.352 8721
+-89.822 38.352 8586
+-89.696 38.352 8598
+-89.57 38.352 8736
+-89.444 38.352 8792
+-89.318 38.352 8882
+-89.192 38.352 8965
+-89.066 38.352 9041
+-88.94 38.352 9045
+-88.814 38.352 9059
+-88.688 38.352 9096
+-88.562 38.352 9027
+-88.436 38.352 8963
+-88.31 38.352 8880
+-88.184 38.352 8780
+-88.058 38.352 8679
+-87.932 38.352 8632
+-87.806 38.352 8434
+-87.68 38.352 8358
+-87.554 38.352 8183
+-87.428 38.352 8070
+-87.302 38.352 7951
+-87.176 38.352 7844
+-87.05 38.352 7716
+-86.924 38.352 7611
+-86.798 38.352 7377
+-86.672 38.352 7238
+-86.546 38.352 7085
+-86.42 38.352 7039
+-86.294 38.352 6884
+-86.168 38.352 6769
+-86.042 38.352 6577
+-85.916 38.352 6436
+-85.79 38.352 6307
+-85.664 38.352 6216
+-85.538 38.352 6114
+-85.412 38.352 5980
+-85.286 38.352 5783
+-85.16 38.352 5644
+-85.034 38.352 5445
+-84.908 38.352 5414
+-84.782 38.352 5325
+-84.656 38.352 5247
+-84.53 38.352 5054
+-84.404 38.352 4851
+-84.278 38.352 4698
+-84.152 38.352 4587
+-84.026 38.352 4535
+-83.9 38.352 4471
+-83.774 38.352 4352
+-83.648 38.352 4206
+-83.522 38.352 4076
+-83.396 38.352 3928
+-83.27 38.352 3810
+-83.144 38.352 3725
+-83.018 38.352 3700
+-82.892 38.352 3680
+-82.766 38.352 3666
+-82.64 38.352 3661
+-82.514 38.352 3665
+-82.388 38.352 3669
+-82.262 38.352 3682
+-82.136 38.352 3698
+-82.01 38.352 3683
+-81.884 38.352 3695
+-81.758 38.352 3710
+-81.632 38.352 3682
+-81.506 38.352 3687
+-81.38 38.352 3697
+-81.254 38.352 3691
+-81.128 38.352 3621
+-81.002 38.352 3601
+-80.876 38.352 3607
+-80.75 38.352 3613
+-80.624 38.352 3619
+-80.498 38.352 3624
+-80.372 38.352 3629
+-80.246 38.352 3633
+-80.12 38.352 3637
+-79.994 38.352 3641
+-79.868 38.352 3560
+-79.742 38.352 3563
+-79.616 38.352 3566
+-79.49 38.352 3568
+-79.364 38.352 3570
+-79.238 38.352 3572
+-79.112 38.352 3574
+-78.986 38.352 3576
+-78.86 38.352 3578
+-78.734 38.352 3579
+-78.608 38.352 3581
+-78.482 38.352 3468
+-78.356 38.352 3469
+-78.23 38.352 3450
+-78.104 38.352 3450
+-77.978 38.352 3451
+-77.852 38.352 3397
+-77.726 38.352 3397
+-77.6 38.352 3396
+-77.474 38.352 3396
+-77.348 38.352 3395
+-77.222 38.352 3395
+-77.096 38.352 3394
+-76.97 38.352 3394
+-76.844 38.352 3393
+-76.718 38.352 3393
+-76.592 38.352 3392
+-76.466 38.352 3392
+-76.34 38.352 3391
+-76.214 38.352 3391
+-76.088 38.352 3391
+-75.962 38.352 3390
+-75.836 38.352 3390
+-75.71 38.352 3390
+-75.584 38.352 3389
+-75.458 38.352 3389
+-75.332 38.352 3389
+-75.206 38.352 3388
+-75.08 38.352 3388
+-74.954 38.352 3327
+-74.828 38.352 3320
+-74.702 38.352 3067
+-74.576 38.352 3065
+-74.45 38.352 3064
+-74.324 38.352 3062
+-74.198 38.352 3060
+-74.072 38.352 3059
+-73.946 38.352 3058
+-73.82 38.352 3056
+-73.694 38.352 3055
+-73.568 38.352 3053
+-73.442 38.352 3052
+-73.316 38.352 3051
+-73.19 38.352 3050
+-73.064 38.352 3048
+-72.938 38.352 3047
+-72.812 38.352 3046
+-72.686 38.352 3045
+-72.56 38.352 3044
+-72.434 38.352 2917
+-72.308 38.352 2915
+-72.182 38.352 2884
+-72.056 38.352 2836
+-71.93 38.352 2835
+-71.804 38.352 2833
+-71.678 38.352 2848
+-71.552 38.352 2847
+-71.426 38.352 2857
+-71.3 38.352 2856
+-71.174 38.352 2816
+-71.048 38.352 2774
+-70.922 38.352 2774
+-70.796 38.352 2774
+-70.67 38.352 2773
+-70.544 38.352 2791
+-70.418 38.352 2797
+-70.292 38.352 2807
+-70.166 38.352 2805
+-70.04 38.352 2839
+-69.914 38.352 2851
+-69.788 38.352 2852
+-69.662 38.352 2909
+-69.536 38.352 2932
+-69.41 38.352 2909
+-69.284 38.352 2899
+-69.158 38.352 3054
+-69.032 38.352 3056
+-68.906 38.352 3122
+-68.78 38.352 3124
+-68.654 38.352 3126
+-68.528 38.352 3127
+-68.402 38.352 3129
+-68.276 38.352 3039
+-68.15 38.352 3061
+-68.024 38.352 3063
+-67.898 38.352 3051
+-67.772 38.352 3351
+-67.646 38.352 3383
+-67.52 38.352 3384
+-67.394 38.352 3378
+-67.268 38.352 3379
+-67.142 38.352 3383
+-67.016 38.352 3401
+-66.89 38.352 3401
+-66.764 38.352 3388
+-66.638 38.352 3388
+-66.512 38.352 3339
+-66.386 38.352 3339
+-66.26 38.352 3340
+-66.134 38.352 3409
+-66.008 38.352 3403
+-65.882 38.352 3413
+-65.756 38.352 3414
+-65.63 38.352 3391
+-65.504 38.352 3414
+-65.378 38.352 3463
+-65.252 38.352 3475
+-65.126 38.352 3474
+-128 38.3 2546
+-127.874 38.3 2543
+-127.748 38.3 2625
+-127.622 38.3 2623
+-127.496 38.3 2699
+-127.37 38.3 2696
+-127.244 38.3 2693
+-127.118 38.3 2744
+-126.992 38.3 2739
+-126.866 38.3 2689
+-126.74 38.3 2794
+-126.614 38.3 2837
+-126.488 38.3 2795
+-126.362 38.3 2791
+-126.236 38.3 2848
+-126.11 38.3 2848
+-125.984 38.3 2841
+-125.858 38.3 2898
+-125.732 38.3 2889
+-125.606 38.3 2820
+-125.48 38.3 2812
+-125.354 38.3 2803
+-125.228 38.3 2869
+-125.102 38.3 2879
+-124.976 38.3 2879
+-124.85 38.3 2866
+-124.724 38.3 2808
+-124.598 38.3 2863
+-124.472 38.3 2923
+-124.346 38.3 2905
+-124.22 38.3 2887
+-124.094 38.3 2868
+-123.968 38.3 2848
+-123.842 38.3 2875
+-123.716 38.3 2855
+-123.59 38.3 2835
+-123.464 38.3 2787
+-123.338 38.3 2776
+-123.212 38.3 2778
+-123.086 38.3 2785
+-122.96 38.3 2804
+-122.834 38.3 2819
+-122.708 38.3 2839
+-122.582 38.3 2862
+-122.456 38.3 2881
+-122.33 38.3 2887
+-122.204 38.3 2871
+-122.078 38.3 2837
+-121.952 38.3 2816
+-121.826 38.3 2867
+-121.7 38.3 2979
+-121.574 38.3 3109
+-121.448 38.3 3212
+-121.322 38.3 3304
+-121.196 38.3 3469
+-121.07 38.3 3596
+-120.944 38.3 3716
+-120.818 38.3 3777
+-120.692 38.3 3931
+-120.566 38.3 4000
+-120.44 38.3 4062
+-120.314 38.3 4127
+-120.188 38.3 4151
+-120.062 38.3 4144
+-119.936 38.3 4240
+-119.81 38.3 4391
+-119.684 38.3 4506
+-119.558 38.3 4519
+-119.432 38.3 4464
+-119.306 38.3 4562
+-119.18 38.3 4664
+-119.054 38.3 4744
+-118.928 38.3 4766
+-118.802 38.3 4786
+-118.676 38.3 4809
+-118.55 38.3 4824
+-118.424 38.3 4852
+-118.298 38.3 4875
+-118.172 38.3 4897
+-118.046 38.3 4927
+-117.92 38.3 4978
+-117.794 38.3 4975
+-117.668 38.3 5007
+-117.542 38.3 4992
+-117.416 38.3 5011
+-117.29 38.3 5012
+-117.164 38.3 5001
+-117.038 38.3 5007
+-116.912 38.3 4996
+-116.786 38.3 4947
+-116.66 38.3 4924
+-116.534 38.3 4921
+-116.408 38.3 4915
+-116.282 38.3 4904
+-116.156 38.3 4875
+-116.03 38.3 4841
+-115.904 38.3 4780
+-115.778 38.3 4716
+-115.652 38.3 4672
+-115.526 38.3 4647
+-115.4 38.3 4594
+-115.274 38.3 4497
+-115.148 38.3 4454
+-115.022 38.3 4363
+-114.896 38.3 4331
+-114.77 38.3 4216
+-114.644 38.3 4249
+-114.518 38.3 4188
+-114.392 38.3 4079
+-114.266 38.3 3991
+-114.14 38.3 3929
+-114.014 38.3 3865
+-113.888 38.3 3794
+-113.762 38.3 3705
+-113.636 38.3 3594
+-113.51 38.3 3472
+-113.384 38.3 3389
+-113.258 38.3 3442
+-113.132 38.3 3540
+-113.006 38.3 3601
+-112.88 38.3 3597
+-112.754 38.3 3509
+-112.628 38.3 3479
+-112.502 38.3 3413
+-112.376 38.3 3310
+-112.25 38.3 3220
+-112.124 38.3 3089
+-111.998 38.3 3026
+-111.872 38.3 2954
+-111.746 38.3 2873
+-111.62 38.3 2765
+-111.494 38.3 2662
+-111.368 38.3 2516
+-111.242 38.3 2408
+-111.116 38.3 2317
+-110.99 38.3 2278
+-110.864 38.3 2314
+-110.738 38.3 2387
+-110.612 38.3 2435
+-110.486 38.3 2469
+-110.36 38.3 2490
+-110.234 38.3 2500
+-110.108 38.3 2509
+-109.982 38.3 2516
+-109.856 38.3 2522
+-109.73 38.3 2531
+-109.604 38.3 2535
+-109.478 38.3 2536
+-109.352 38.3 2534
+-109.226 38.3 2528
+-109.1 38.3 2529
+-108.974 38.3 2519
+-108.848 38.3 2507
+-108.722 38.3 2495
+-108.596 38.3 2474
+-108.47 38.3 2444
+-108.344 38.3 2417
+-108.218 38.3 2346
+-108.092 38.3 2290
+-107.966 38.3 2244
+-107.84 38.3 2206
+-107.714 38.3 2185
+-107.588 38.3 2187
+-107.462 38.3 2215
+-107.336 38.3 2253
+-107.21 38.3 2287
+-107.084 38.3 2335
+-106.958 38.3 2390
+-106.832 38.3 2435
+-106.706 38.3 2496
+-106.58 38.3 2543
+-106.454 38.3 2580
+-106.328 38.3 2662
+-106.202 38.3 2691
+-106.076 38.3 2713
+-105.95 38.3 2771
+-105.824 38.3 2755
+-105.698 38.3 2779
+-105.572 38.3 2779
+-105.446 38.3 2855
+-105.32 38.3 2868
+-105.194 38.3 2886
+-105.068 38.3 2904
+-104.942 38.3 2877
+-104.816 38.3 2971
+-104.69 38.3 2979
+-104.564 38.3 2987
+-104.438 38.3 2983
+-104.312 38.3 3002
+-104.186 38.3 3009
+-104.06 38.3 3016
+-103.934 38.3 2980
+-103.808 38.3 2999
+-103.682 38.3 2921
+-103.556 38.3 2923
+-103.43 38.3 2924
+-103.304 38.3 2924
+-103.178 38.3 2922
+-103.052 38.3 2902
+-102.926 38.3 2984
+-102.8 38.3 2983
+-102.674 38.3 2780
+-102.548 38.3 2669
+-102.422 38.3 2667
+-102.296 38.3 2626
+-102.17 38.3 2603
+-102.044 38.3 2563
+-101.918 38.3 2638
+-101.792 38.3 2651
+-101.666 38.3 2716
+-101.54 38.3 2723
+-101.414 38.3 2762
+-101.288 38.3 2946
+-101.162 38.3 3026
+-101.036 38.3 3029
+-100.91 38.3 3033
+-100.784 38.3 3067
+-100.658 38.3 3068
+-100.532 38.3 3069
+-100.406 38.3 3070
+-100.28 38.3 3070
+-100.154 38.3 3221
+-100.028 38.3 3220
+-99.902 38.3 3219
+-99.776 38.3 3218
+-99.65 38.3 3217
+-99.524 38.3 3216
+-99.398 38.3 3214
+-99.272 38.3 3213
+-99.146 38.3 3211
+-99.02 38.3 3276
+-98.894 38.3 3273
+-98.768 38.3 3269
+-98.642 38.3 3264
+-98.516 38.3 3260
+-98.39 38.3 3254
+-98.264 38.3 3248
+-98.138 38.3 3241
+-98.012 38.3 3267
+-97.886 38.3 3256
+-97.76 38.3 3265
+-97.634 38.3 3251
+-97.508 38.3 3237
+-97.382 38.3 3238
+-97.256 38.3 3273
+-97.13 38.3 3259
+-97.004 38.3 3266
+-96.878 38.3 3268
+-96.752 38.3 3235
+-96.626 38.3 3200
+-96.5 38.3 3203
+-96.374 38.3 3288
+-96.248 38.3 3405
+-96.122 38.3 3519
+-95.996 38.3 3660
+-95.87 38.3 3759
+-95.744 38.3 3828
+-95.618 38.3 3889
+-95.492 38.3 3990
+-95.366 38.3 4176
+-95.24 38.3 4275
+-95.114 38.3 4437
+-94.988 38.3 4495
+-94.862 38.3 4609
+-94.736 38.3 4845
+-94.61 38.3 5040
+-94.484 38.3 5074
+-94.358 38.3 5205
+-94.232 38.3 5404
+-94.106 38.3 5573
+-93.98 38.3 5687
+-93.854 38.3 5791
+-93.728 38.3 5834
+-93.602 38.3 5979
+-93.476 38.3 6130
+-93.35 38.3 6287
+-93.224 38.3 6441
+-93.098 38.3 6509
+-92.972 38.3 6682
+-92.846 38.3 6742
+-92.72 38.3 6962
+-92.594 38.3 7036
+-92.468 38.3 7148
+-92.342 38.3 7311
+-92.216 38.3 7443
+-92.09 38.3 7647
+-91.964 38.3 7689
+-91.838 38.3 7892
+-91.712 38.3 7953
+-91.586 38.3 8078
+-91.46 38.3 8243
+-91.334 38.3 8335
+-91.208 38.3 8451
+-91.082 38.3 8585
+-90.956 38.3 8666
+-90.83 38.3 8759
+-90.704 38.3 8835
+-90.578 38.3 8876
+-90.452 38.3 8909
+-90.326 38.3 8907
+-90.2 38.3 8868
+-90.074 38.3 8761
+-89.948 38.3 8694
+-89.822 38.3 8536
+-89.696 38.3 8450
+-89.57 38.3 8693
+-89.444 38.3 8861
+-89.318 38.3 8983
+-89.192 38.3 9040
+-89.066 38.3 9123
+-88.94 38.3 9090
+-88.814 38.3 9118
+-88.688 38.3 9113
+-88.562 38.3 9053
+-88.436 38.3 8957
+-88.31 38.3 8929
+-88.184 38.3 8801
+-88.058 38.3 8736
+-87.932 38.3 8540
+-87.806 38.3 8517
+-87.68 38.3 8394
+-87.554 38.3 8238
+-87.428 38.3 8125
+-87.302 38.3 7955
+-87.176 38.3 7836
+-87.05 38.3 7707
+-86.924 38.3 7555
+-86.798 38.3 7392
+-86.672 38.3 7273
+-86.546 38.3 7201
+-86.42 38.3 7050
+-86.294 38.3 6891
+-86.168 38.3 6768
+-86.042 38.3 6601
+-85.916 38.3 6506
+-85.79 38.3 6338
+-85.664 38.3 6215
+-85.538 38.3 6090
+-85.412 38.3 6012
+-85.286 38.3 5824
+-85.16 38.3 5650
+-85.034 38.3 5524
+-84.908 38.3 5442
+-84.782 38.3 5343
+-84.656 38.3 5226
+-84.53 38.3 5066
+-84.404 38.3 4836
+-84.278 38.3 4616
+-84.152 38.3 4483
+-84.026 38.3 4526
+-83.9 38.3 4495
+-83.774 38.3 4350
+-83.648 38.3 4253
+-83.522 38.3 4112
+-83.396 38.3 3985
+-83.27 38.3 3827
+-83.144 38.3 3723
+-83.018 38.3 3641
+-82.892 38.3 3595
+-82.766 38.3 3581
+-82.64 38.3 3583
+-82.514 38.3 3596
+-82.388 38.3 3615
+-82.262 38.3 3632
+-82.136 38.3 3655
+-82.01 38.3 3645
+-81.884 38.3 3666
+-81.758 38.3 3645
+-81.632 38.3 3654
+-81.506 38.3 3668
+-81.38 38.3 3666
+-81.254 38.3 3598
+-81.128 38.3 3609
+-81.002 38.3 3618
+-80.876 38.3 3603
+-80.75 38.3 3610
+-80.624 38.3 3616
+-80.498 38.3 3622
+-80.372 38.3 3628
+-80.246 38.3 3633
+-80.12 38.3 3638
+-79.994 38.3 3553
+-79.868 38.3 3556
+-79.742 38.3 3559
+-79.616 38.3 3562
+-79.49 38.3 3565
+-79.364 38.3 3567
+-79.238 38.3 3569
+-79.112 38.3 3571
+-78.986 38.3 3573
+-78.86 38.3 3575
+-78.734 38.3 3577
+-78.608 38.3 3466
+-78.482 38.3 3468
+-78.356 38.3 3448
+-78.23 38.3 3449
+-78.104 38.3 3450
+-77.978 38.3 3396
+-77.852 38.3 3395
+-77.726 38.3 3395
+-77.6 38.3 3394
+-77.474 38.3 3394
+-77.348 38.3 3393
+-77.222 38.3 3393
+-77.096 38.3 3392
+-76.97 38.3 3392
+-76.844 38.3 3391
+-76.718 38.3 3391
+-76.592 38.3 3391
+-76.466 38.3 3390
+-76.34 38.3 3390
+-76.214 38.3 3389
+-76.088 38.3 3389
+-75.962 38.3 3389
+-75.836 38.3 3388
+-75.71 38.3 3388
+-75.584 38.3 3388
+-75.458 38.3 3388
+-75.332 38.3 3387
+-75.206 38.3 3387
+-75.08 38.3 3325
+-74.954 38.3 3324
+-74.828 38.3 3066
+-74.702 38.3 3065
+-74.576 38.3 3063
+-74.45 38.3 3061
+-74.324 38.3 3060
+-74.198 38.3 3058
+-74.072 38.3 3057
+-73.946 38.3 3055
+-73.82 38.3 3054
+-73.694 38.3 3053
+-73.568 38.3 3051
+-73.442 38.3 3050
+-73.316 38.3 3049
+-73.19 38.3 3047
+-73.064 38.3 3046
+-72.938 38.3 3045
+-72.812 38.3 3044
+-72.686 38.3 3043
+-72.56 38.3 2915
+-72.434 38.3 2914
+-72.308 38.3 2883
+-72.182 38.3 2835
+-72.056 38.3 2833
+-71.93 38.3 2832
+-71.804 38.3 2846
+-71.678 38.3 2845
+-71.552 38.3 2856
+-71.426 38.3 2855
+-71.3 38.3 2815
+-71.174 38.3 2773
+-71.048 38.3 2773
+-70.922 38.3 2772
+-70.796 38.3 2772
+-70.67 38.3 2789
+-70.544 38.3 2796
+-70.418 38.3 2805
+-70.292 38.3 2804
+-70.166 38.3 2837
+-70.04 38.3 2849
+-69.914 38.3 2850
+-69.788 38.3 2907
+-69.662 38.3 2930
+-69.536 38.3 2908
+-69.41 38.3 2898
+-69.284 38.3 3053
+-69.158 38.3 3055
+-69.032 38.3 3120
+-68.906 38.3 3122
+-68.78 38.3 3124
+-68.654 38.3 3125
+-68.528 38.3 3127
+-68.402 38.3 3038
+-68.276 38.3 3060
+-68.15 38.3 3061
+-68.024 38.3 3050
+-67.898 38.3 3349
+-67.772 38.3 3382
+-67.646 38.3 3382
+-67.52 38.3 3377
+-67.394 38.3 3378
+-67.268 38.3 3382
+-67.142 38.3 3399
+-67.016 38.3 3400
+-66.89 38.3 3386
+-66.764 38.3 3387
+-66.638 38.3 3338
+-66.512 38.3 3338
+-66.386 38.3 3339
+-66.26 38.3 3408
+-66.134 38.3 3402
+-66.008 38.3 3412
+-65.882 38.3 3413
+-65.756 38.3 3390
+-65.63 38.3 3413
+-65.504 38.3 3462
+-65.378 38.3 3474
+-65.252 38.3 3473
+-65.126 38.3 3471
+-128 38.248 2535
+-127.874 38.248 2635
+-127.748 38.248 2634
+-127.622 38.248 2632
+-127.496 38.248 2630
+-127.37 38.248 2708
+-127.244 38.248 2762
+-127.118 38.248 2758
+-126.992 38.248 2754
+-126.866 38.248 2750
+-126.74 38.248 2699
+-126.614 38.248 2806
+-126.488 38.248 2849
+-126.362 38.248 2856
+-126.236 38.248 2867
+-126.11 38.248 2869
+-125.984 38.248 2929
+-125.858 38.248 2921
+-125.732 38.248 2913
+-125.606 38.248 2904
+-125.48 38.248 2834
+-125.354 38.248 2905
+-125.228 38.248 2894
+-125.102 38.248 2883
+-124.976 38.248 2895
+-124.85 38.248 2897
+-124.724 38.248 2909
+-124.598 38.248 2895
+-124.472 38.248 2961
+-124.346 38.248 2947
+-124.22 38.248 2932
+-124.094 38.248 2917
+-123.968 38.248 2903
+-123.842 38.248 2889
+-123.716 38.248 2924
+-123.59 38.248 2910
+-123.464 38.248 2899
+-123.338 38.248 2855
+-123.212 38.248 2853
+-123.086 38.248 2864
+-122.96 38.248 2880
+-122.834 38.248 2905
+-122.708 38.248 2922
+-122.582 38.248 2933
+-122.456 38.248 2938
+-122.33 38.248 2924
+-122.204 38.248 2880
+-122.078 38.248 2813
+-121.952 38.248 2772
+-121.826 38.248 2831
+-121.7 38.248 2977
+-121.574 38.248 3134
+-121.448 38.248 3314
+-121.322 38.248 3423
+-121.196 38.248 3638
+-121.07 38.248 3736
+-120.944 38.248 3836
+-120.818 38.248 3926
+-120.692 38.248 3989
+-120.566 38.248 4092
+-120.44 38.248 4166
+-120.314 38.248 4233
+-120.188 38.248 4246
+-120.062 38.248 4278
+-119.936 38.248 4342
+-119.81 38.248 4450
+-119.684 38.248 4553
+-119.558 38.248 4575
+-119.432 38.248 4578
+-119.306 38.248 4629
+-119.18 38.248 4709
+-119.054 38.248 4761
+-118.928 38.248 4790
+-118.802 38.248 4833
+-118.676 38.248 4857
+-118.55 38.248 4906
+-118.424 38.248 4924
+-118.298 38.248 4932
+-118.172 38.248 4967
+-118.046 38.248 4965
+-117.92 38.248 4989
+-117.794 38.248 5027
+-117.668 38.248 5019
+-117.542 38.248 5042
+-117.416 38.248 5072
+-117.29 38.248 5065
+-117.164 38.248 5061
+-117.038 38.248 5072
+-116.912 38.248 5061
+-116.786 38.248 5024
+-116.66 38.248 4981
+-116.534 38.248 4990
+-116.408 38.248 4926
+-116.282 38.248 4946
+-116.156 38.248 4921
+-116.03 38.248 4883
+-115.904 38.248 4820
+-115.778 38.248 4771
+-115.652 38.248 4737
+-115.526 38.248 4673
+-115.4 38.248 4651
+-115.274 38.248 4530
+-115.148 38.248 4460
+-115.022 38.248 4423
+-114.896 38.248 4357
+-114.77 38.248 4301
+-114.644 38.248 4284
+-114.518 38.248 4213
+-114.392 38.248 4073
+-114.266 38.248 4004
+-114.14 38.248 3981
+-114.014 38.248 3933
+-113.888 38.248 3846
+-113.762 38.248 3722
+-113.636 38.248 3600
+-113.51 38.248 3528
+-113.384 38.248 3526
+-113.258 38.248 3553
+-113.132 38.248 3609
+-113.006 38.248 3631
+-112.88 38.248 3576
+-112.754 38.248 3505
+-112.628 38.248 3482
+-112.502 38.248 3409
+-112.376 38.248 3267
+-112.25 38.248 3213
+-112.124 38.248 3092
+-111.998 38.248 3028
+-111.872 38.248 2957
+-111.746 38.248 2854
+-111.62 38.248 2768
+-111.494 38.248 2657
+-111.368 38.248 2515
+-111.242 38.248 2395
+-111.116 38.248 2284
+-110.99 38.248 2234
+-110.864 38.248 2284
+-110.738 38.248 2383
+-110.612 38.248 2444
+-110.486 38.248 2481
+-110.36 38.248 2500
+-110.234 38.248 2517
+-110.108 38.248 2532
+-109.982 38.248 2544
+-109.856 38.248 2556
+-109.73 38.248 2561
+-109.604 38.248 2562
+-109.478 38.248 2558
+-109.352 38.248 2549
+-109.226 38.248 2549
+-109.1 38.248 2532
+-108.974 38.248 2517
+-108.848 38.248 2505
+-108.722 38.248 2488
+-108.596 38.248 2466
+-108.47 38.248 2443
+-108.344 38.248 2398
+-108.218 38.248 2315
+-108.092 38.248 2247
+-107.966 38.248 2178
+-107.84 38.248 2121
+-107.714 38.248 2095
+-107.588 38.248 2105
+-107.462 38.248 2141
+-107.336 38.248 2185
+-107.21 38.248 2244
+-107.084 38.248 2311
+-106.958 38.248 2368
+-106.832 38.248 2437
+-106.706 38.248 2494
+-106.58 38.248 2540
+-106.454 38.248 2625
+-106.328 38.248 2660
+-106.202 38.248 2687
+-106.076 38.248 2747
+-105.95 38.248 2736
+-105.824 38.248 2763
+-105.698 38.248 2766
+-105.572 38.248 2841
+-105.446 38.248 2856
+-105.32 38.248 2875
+-105.194 38.248 2894
+-105.068 38.248 2869
+-104.942 38.248 2961
+-104.816 38.248 2970
+-104.69 38.248 2979
+-104.564 38.248 2975
+-104.438 38.248 2995
+-104.312 38.248 3002
+-104.186 38.248 3009
+-104.06 38.248 2974
+-103.934 38.248 2993
+-103.808 38.248 3030
+-103.682 38.248 3036
+-103.556 38.248 3038
+-103.43 38.248 3044
+-103.304 38.248 3049
+-103.178 38.248 2908
+-103.052 38.248 2989
+-102.926 38.248 2989
+-102.8 38.248 2988
+-102.674 38.248 2787
+-102.548 38.248 2788
+-102.422 38.248 2665
+-102.296 38.248 2629
+-102.17 38.248 2642
+-102.044 38.248 2606
+-101.918 38.248 2643
+-101.792 38.248 2654
+-101.666 38.248 2714
+-101.54 38.248 2836
+-101.414 38.248 2841
+-101.288 38.248 2868
+-101.162 38.248 3026
+-101.036 38.248 3030
+-100.91 38.248 3034
+-100.784 38.248 3069
+-100.658 38.248 3070
+-100.532 38.248 3071
+-100.406 38.248 3072
+-100.28 38.248 3225
+-100.154 38.248 3224
+-100.028 38.248 3223
+-99.902 38.248 3222
+-99.776 38.248 3222
+-99.65 38.248 3221
+-99.524 38.248 3220
+-99.398 38.248 3218
+-99.272 38.248 3217
+-99.146 38.248 3283
+-99.02 38.248 3280
+-98.894 38.248 3277
+-98.768 38.248 3274
+-98.642 38.248 3270
+-98.516 38.248 3266
+-98.39 38.248 3262
+-98.264 38.248 3257
+-98.138 38.248 3285
+-98.012 38.248 3278
+-97.886 38.248 3269
+-97.76 38.248 3261
+-97.634 38.248 3252
+-97.508 38.248 3263
+-97.382 38.248 3325
+-97.256 38.248 3314
+-97.13 38.248 3305
+-97.004 38.248 3295
+-96.878 38.248 3307
+-96.752 38.248 3319
+-96.626 38.248 3310
+-96.5 38.248 3318
+-96.374 38.248 3351
+-96.248 38.248 3406
+-96.122 38.248 3505
+-95.996 38.248 3647
+-95.87 38.248 3764
+-95.744 38.248 3885
+-95.618 38.248 3949
+-95.492 38.248 4044
+-95.366 38.248 4204
+-95.24 38.248 4335
+-95.114 38.248 4461
+-94.988 38.248 4544
+-94.862 38.248 4664
+-94.736 38.248 4842
+-94.61 38.248 4988
+-94.484 38.248 5073
+-94.358 38.248 5194
+-94.232 38.248 5360
+-94.106 38.248 5534
+-93.98 38.248 5608
+-93.854 38.248 5703
+-93.728 38.248 5879
+-93.602 38.248 6029
+-93.476 38.248 6129
+-93.35 38.248 6273
+-93.224 38.248 6334
+-93.098 38.248 6516
+-92.972 38.248 6680
+-92.846 38.248 6817
+-92.72 38.248 6951
+-92.594 38.248 7043
+-92.468 38.248 7169
+-92.342 38.248 7298
+-92.216 38.248 7457
+-92.09 38.248 7534
+-91.964 38.248 7695
+-91.838 38.248 7853
+-91.712 38.248 7917
+-91.586 38.248 8053
+-91.46 38.248 8245
+-91.334 38.248 8301
+-91.208 38.248 8404
+-91.082 38.248 8532
+-90.956 38.248 8644
+-90.83 38.248 8709
+-90.704 38.248 8788
+-90.578 38.248 8832
+-90.452 38.248 8841
+-90.326 38.248 8833
+-90.2 38.248 8808
+-90.074 38.248 8718
+-89.948 38.248 8611
+-89.822 38.248 8563
+-89.696 38.248 8449
+-89.57 38.248 8738
+-89.444 38.248 8861
+-89.318 38.248 9000
+-89.192 38.248 9071
+-89.066 38.248 9138
+-88.94 38.248 9166
+-88.814 38.248 9193
+-88.688 38.248 9150
+-88.562 38.248 9116
+-88.436 38.248 9023
+-88.31 38.248 8946
+-88.184 38.248 8867
+-88.058 38.248 8766
+-87.932 38.248 8660
+-87.806 38.248 8449
+-87.68 38.248 8395
+-87.554 38.248 8235
+-87.428 38.248 8171
+-87.302 38.248 8001
+-87.176 38.248 7872
+-87.05 38.248 7678
+-86.924 38.248 7617
+-86.798 38.248 7496
+-86.672 38.248 7338
+-86.546 38.248 7222
+-86.42 38.248 6994
+-86.294 38.248 6860
+-86.168 38.248 6823
+-86.042 38.248 6595
+-85.916 38.248 6501
+-85.79 38.248 6346
+-85.664 38.248 6188
+-85.538 38.248 6030
+-85.412 38.248 5982
+-85.286 38.248 5848
+-85.16 38.248 5645
+-85.034 38.248 5576
+-84.908 38.248 5308
+-84.782 38.248 5330
+-84.656 38.248 5236
+-84.53 38.248 5054
+-84.404 38.248 4857
+-84.278 38.248 4632
+-84.152 38.248 4511
+-84.026 38.248 4536
+-83.9 38.248 4464
+-83.774 38.248 4350
+-83.648 38.248 4249
+-83.522 38.248 4114
+-83.396 38.248 3944
+-83.27 38.248 3784
+-83.144 38.248 3631
+-83.018 38.248 3531
+-82.892 38.248 3482
+-82.766 38.248 3477
+-82.64 38.248 3493
+-82.514 38.248 3519
+-82.388 38.248 3551
+-82.262 38.248 3585
+-82.136 38.248 3582
+-82.01 38.248 3611
+-81.884 38.248 3637
+-81.758 38.248 3615
+-81.632 38.248 3635
+-81.506 38.248 3637
+-81.38 38.248 3652
+-81.254 38.248 3586
+-81.128 38.248 3597
+-81.002 38.248 3608
+-80.876 38.248 3618
+-80.75 38.248 3603
+-80.624 38.248 3611
+-80.498 38.248 3617
+-80.372 38.248 3623
+-80.246 38.248 3629
+-80.12 38.248 3545
+-79.994 38.248 3549
+-79.868 38.248 3552
+-79.742 38.248 3556
+-79.616 38.248 3559
+-79.49 38.248 3561
+-79.364 38.248 3564
+-79.238 38.248 3567
+-79.112 38.248 3569
+-78.986 38.248 3571
+-78.86 38.248 3573
+-78.734 38.248 3575
+-78.608 38.248 3576
+-78.482 38.248 3461
+-78.356 38.248 3462
+-78.23 38.248 3463
+-78.104 38.248 3394
+-77.978 38.248 3394
+-77.852 38.248 3393
+-77.726 38.248 3393
+-77.6 38.248 3392
+-77.474 38.248 3392
+-77.348 38.248 3392
+-77.222 38.248 3391
+-77.096 38.248 3391
+-76.97 38.248 3390
+-76.844 38.248 3390
+-76.718 38.248 3389
+-76.592 38.248 3389
+-76.466 38.248 3389
+-76.34 38.248 3388
+-76.214 38.248 3388
+-76.088 38.248 3388
+-75.962 38.248 3387
+-75.836 38.248 3387
+-75.71 38.248 3387
+-75.584 38.248 3386
+-75.458 38.248 3386
+-75.332 38.248 3386
+-75.206 38.248 3324
+-75.08 38.248 3323
+-74.954 38.248 3066
+-74.828 38.248 3064
+-74.702 38.248 3062
+-74.576 38.248 3061
+-74.45 38.248 3059
+-74.324 38.248 3057
+-74.198 38.248 3056
+-74.072 38.248 3054
+-73.946 38.248 3053
+-73.82 38.248 3052
+-73.694 38.248 3050
+-73.568 38.248 3049
+-73.442 38.248 3048
+-73.316 38.248 3046
+-73.19 38.248 3045
+-73.064 38.248 3044
+-72.938 38.248 3043
+-72.812 38.248 3042
+-72.686 38.248 2914
+-72.56 38.248 2913
+-72.434 38.248 2882
+-72.308 38.248 2833
+-72.182 38.248 2832
+-72.056 38.248 2831
+-71.93 38.248 2845
+-71.804 38.248 2844
+-71.678 38.248 2854
+-71.552 38.248 2853
+-71.426 38.248 2813
+-71.3 38.248 2772
+-71.174 38.248 2771
+-71.048 38.248 2771
+-70.922 38.248 2771
+-70.796 38.248 2788
+-70.67 38.248 2794
+-70.544 38.248 2804
+-70.418 38.248 2802
+-70.292 38.248 2836
+-70.166 38.248 2848
+-70.04 38.248 2849
+-69.914 38.248 2906
+-69.788 38.248 2929
+-69.662 38.248 2906
+-69.536 38.248 2896
+-69.41 38.248 3051
+-69.284 38.248 3053
+-69.158 38.248 3118
+-69.032 38.248 3120
+-68.906 38.248 3122
+-68.78 38.248 3124
+-68.654 38.248 3125
+-68.528 38.248 3037
+-68.402 38.248 3058
+-68.276 38.248 3060
+-68.15 38.248 3048
+-68.024 38.248 3348
+-67.898 38.248 3380
+-67.772 38.248 3381
+-67.646 38.248 3376
+-67.52 38.248 3377
+-67.394 38.248 3381
+-67.268 38.248 3398
+-67.142 38.248 3399
+-67.016 38.248 3385
+-66.89 38.248 3386
+-66.764 38.248 3336
+-66.638 38.248 3337
+-66.512 38.248 3338
+-66.386 38.248 3407
+-66.26 38.248 3401
+-66.134 38.248 3411
+-66.008 38.248 3412
+-65.882 38.248 3389
+-65.756 38.248 3412
+-65.63 38.248 3461
+-65.504 38.248 3473
+-65.378 38.248 3472
+-65.252 38.248 3470
+-65.126 38.248 3526
+-128 38.196 2564
+-127.874 38.196 2570
+-127.748 38.196 2691
+-127.622 38.196 2641
+-127.496 38.196 2640
+-127.37 38.196 2669
+-127.244 38.196 2775
+-127.118 38.196 2772
+-126.992 38.196 2768
+-126.866 38.196 2765
+-126.74 38.196 2712
+-126.614 38.196 2774
+-126.488 38.196 2888
+-126.362 38.196 2911
+-126.236 38.196 2936
+-126.11 38.196 2937
+-125.984 38.196 2951
+-125.858 38.196 2944
+-125.732 38.196 2937
+-125.606 38.196 2863
+-125.48 38.196 2937
+-125.354 38.196 2929
+-125.228 38.196 2920
+-125.102 38.196 2911
+-124.976 38.196 2982
+-124.85 38.196 2981
+-124.724 38.196 2941
+-124.598 38.196 2930
+-124.472 38.196 2919
+-124.346 38.196 2988
+-124.22 38.196 2977
+-124.094 38.196 2966
+-123.968 38.196 2956
+-123.842 38.196 2946
+-123.716 38.196 2938
+-123.59 38.196 2982
+-123.464 38.196 2975
+-123.338 38.196 2971
+-123.212 38.196 2930
+-123.086 38.196 2935
+-122.96 38.196 2952
+-122.834 38.196 2998
+-122.708 38.196 2996
+-122.582 38.196 3004
+-122.456 38.196 2996
+-122.33 38.196 2974
+-122.204 38.196 2925
+-122.078 38.196 2860
+-121.952 38.196 2832
+-121.826 38.196 2909
+-121.7 38.196 3069
+-121.574 38.196 3269
+-121.448 38.196 3435
+-121.322 38.196 3546
+-121.196 38.196 3702
+-121.07 38.196 3846
+-120.944 38.196 3970
+-120.818 38.196 4030
+-120.692 38.196 4086
+-120.566 38.196 4173
+-120.44 38.196 4258
+-120.314 38.196 4281
+-120.188 38.196 4326
+-120.062 38.196 4330
+-119.936 38.196 4386
+-119.81 38.196 4509
+-119.684 38.196 4578
+-119.558 38.196 4616
+-119.432 38.196 4608
+-119.306 38.196 4674
+-119.18 38.196 4746
+-119.054 38.196 4735
+-118.928 38.196 4821
+-118.802 38.196 4907
+-118.676 38.196 4971
+-118.55 38.196 4997
+-118.424 38.196 4994
+-118.298 38.196 5003
+-118.172 38.196 4997
+-118.046 38.196 5015
+-117.92 38.196 5034
+-117.794 38.196 5043
+-117.668 38.196 5067
+-117.542 38.196 5103
+-117.416 38.196 5127
+-117.29 38.196 5114
+-117.164 38.196 5123
+-117.038 38.196 5103
+-116.912 38.196 5126
+-116.786 38.196 5084
+-116.66 38.196 5027
+-116.534 38.196 4998
+-116.408 38.196 4975
+-116.282 38.196 4983
+-116.156 38.196 4973
+-116.03 38.196 4938
+-115.904 38.196 4870
+-115.778 38.196 4817
+-115.652 38.196 4821
+-115.526 38.196 4762
+-115.4 38.196 4702
+-115.274 38.196 4604
+-115.148 38.196 4514
+-115.022 38.196 4469
+-114.896 38.196 4388
+-114.77 38.196 4312
+-114.644 38.196 4321
+-114.518 38.196 4233
+-114.392 38.196 4058
+-114.266 38.196 3966
+-114.14 38.196 3992
+-114.014 38.196 3965
+-113.888 38.196 3898
+-113.762 38.196 3760
+-113.636 38.196 3582
+-113.51 38.196 3479
+-113.384 38.196 3546
+-113.258 38.196 3616
+-113.132 38.196 3648
+-113.006 38.196 3615
+-112.88 38.196 3617
+-112.754 38.196 3517
+-112.628 38.196 3450
+-112.502 38.196 3370
+-112.376 38.196 3261
+-112.25 38.196 3207
+-112.124 38.196 3094
+-111.998 38.196 3031
+-111.872 38.196 2953
+-111.746 38.196 2866
+-111.62 38.196 2773
+-111.494 38.196 2668
+-111.368 38.196 2550
+-111.242 38.196 2439
+-111.116 38.196 2337
+-110.99 38.196 2290
+-110.864 38.196 2337
+-110.738 38.196 2423
+-110.612 38.196 2465
+-110.486 38.196 2482
+-110.36 38.196 2498
+-110.234 38.196 2521
+-110.108 38.196 2545
+-109.982 38.196 2567
+-109.856 38.196 2580
+-109.73 38.196 2586
+-109.604 38.196 2584
+-109.478 38.196 2575
+-109.352 38.196 2571
+-109.226 38.196 2551
+-109.1 38.196 2527
+-108.974 38.196 2510
+-108.848 38.196 2493
+-108.722 38.196 2478
+-108.596 38.196 2467
+-108.47 38.196 2437
+-108.344 38.196 2384
+-108.218 38.196 2296
+-108.092 38.196 2203
+-107.966 38.196 2106
+-107.84 38.196 2032
+-107.714 38.196 2003
+-107.588 38.196 2019
+-107.462 38.196 2066
+-107.336 38.196 2134
+-107.21 38.196 2214
+-107.084 38.196 2286
+-106.958 38.196 2367
+-106.832 38.196 2435
+-106.706 38.196 2492
+-106.58 38.196 2582
+-106.454 38.196 2625
+-106.328 38.196 2659
+-106.202 38.196 2721
+-106.076 38.196 2716
+-105.95 38.196 2745
+-105.824 38.196 2753
+-105.698 38.196 2827
+-105.572 38.196 2844
+-105.446 38.196 2864
+-105.32 38.196 2884
+-105.194 38.196 2861
+-105.068 38.196 2951
+-104.942 38.196 2961
+-104.816 38.196 2970
+-104.69 38.196 2968
+-104.564 38.196 2987
+-104.438 38.196 2994
+-104.312 38.196 3001
+-104.186 38.196 2968
+-104.06 38.196 2987
+-103.934 38.196 3023
+-103.808 38.196 3030
+-103.682 38.196 3032
+-103.556 38.196 3038
+-103.43 38.196 3044
+-103.304 38.196 3028
+-103.178 38.196 3118
+-103.052 38.196 3123
+-102.926 38.196 2955
+-102.8 38.196 2954
+-102.674 38.196 2822
+-102.548 38.196 2706
+-102.422 38.196 2811
+-102.296 38.196 2615
+-102.17 38.196 2597
+-102.044 38.196 2752
+-101.918 38.196 2780
+-101.792 38.196 2780
+-101.666 38.196 2824
+-101.54 38.196 2836
+-101.414 38.196 2841
+-101.288 38.196 2867
+-101.162 38.196 2873
+-101.036 38.196 3031
+-100.91 38.196 3035
+-100.784 38.196 3071
+-100.658 38.196 3072
+-100.532 38.196 3074
+-100.406 38.196 3167
+-100.28 38.196 3228
+-100.154 38.196 3227
+-100.028 38.196 3226
+-99.902 38.196 3226
+-99.776 38.196 3225
+-99.65 38.196 3224
+-99.524 38.196 3223
+-99.398 38.196 3222
+-99.272 38.196 3288
+-99.146 38.196 3286
+-99.02 38.196 3284
+-98.894 38.196 3281
+-98.768 38.196 3279
+-98.642 38.196 3276
+-98.516 38.196 3273
+-98.39 38.196 3269
+-98.264 38.196 3299
+-98.138 38.196 3294
+-98.012 38.196 3288
+-97.886 38.196 3282
+-97.76 38.196 3276
+-97.634 38.196 3290
+-97.508 38.196 3284
+-97.382 38.196 3345
+-97.256 38.196 3339
+-97.13 38.196 3335
+-97.004 38.196 3330
+-96.878 38.196 3327
+-96.752 38.196 3343
+-96.626 38.196 3370
+-96.5 38.196 3359
+-96.374 38.196 3317
+-96.248 38.196 3285
+-96.122 38.196 3406
+-95.996 38.196 3599
+-95.87 38.196 3767
+-95.744 38.196 3902
+-95.618 38.196 3982
+-95.492 38.196 4043
+-95.366 38.196 4167
+-95.24 38.196 4357
+-95.114 38.196 4471
+-94.988 38.196 4604
+-94.862 38.196 4667
+-94.736 38.196 4821
+-94.61 38.196 4951
+-94.484 38.196 5023
+-94.358 38.196 5151
+-94.232 38.196 5319
+-94.106 38.196 5461
+-93.98 38.196 5662
+-93.854 38.196 5790
+-93.728 38.196 5860
+-93.602 38.196 5997
+-93.476 38.196 6146
+-93.35 38.196 6212
+-93.224 38.196 6366
+-93.098 38.196 6521
+-92.972 38.196 6583
+-92.846 38.196 6735
+-92.72 38.196 6899
+-92.594 38.196 7034
+-92.468 38.196 7193
+-92.342 38.196 7330
+-92.216 38.196 7408
+-92.09 38.196 7551
+-91.964 38.196 7685
+-91.838 38.196 7811
+-91.712 38.196 7880
+-91.586 38.196 8000
+-91.46 38.196 8195
+-91.334 38.196 8246
+-91.208 38.196 8390
+-91.082 38.196 8482
+-90.956 38.196 8629
+-90.83 38.196 8685
+-90.704 38.196 8734
+-90.578 38.196 8790
+-90.452 38.196 8817
+-90.326 38.196 8777
+-90.2 38.196 8772
+-90.074 38.196 8702
+-89.948 38.196 8579
+-89.822 38.196 8531
+-89.696 38.196 8438
+-89.57 38.196 8747
+-89.444 38.196 8911
+-89.318 38.196 8995
+-89.192 38.196 9108
+-89.066 38.196 9202
+-88.94 38.196 9234
+-88.814 38.196 9270
+-88.688 38.196 9219
+-88.562 38.196 9174
+-88.436 38.196 9063
+-88.31 38.196 8998
+-88.184 38.196 8881
+-88.058 38.196 8803
+-87.932 38.196 8609
+-87.806 38.196 8504
+-87.68 38.196 8389
+-87.554 38.196 8220
+-87.428 38.196 8081
+-87.302 38.196 8022
+-87.176 38.196 7839
+-87.05 38.196 7710
+-86.924 38.196 7557
+-86.798 38.196 7414
+-86.672 38.196 7345
+-86.546 38.196 7239
+-86.42 38.196 7070
+-86.294 38.196 6912
+-86.168 38.196 6709
+-86.042 38.196 6670
+-85.916 38.196 6510
+-85.79 38.196 6377
+-85.664 38.196 6209
+-85.538 38.196 6059
+-85.412 38.196 5926
+-85.286 38.196 5850
+-85.16 38.196 5673
+-85.034 38.196 5553
+-84.908 38.196 5430
+-84.782 38.196 5325
+-84.656 38.196 5189
+-84.53 38.196 5037
+-84.404 38.196 4874
+-84.278 38.196 4720
+-84.152 38.196 4590
+-84.026 38.196 4537
+-83.9 38.196 4437
+-83.774 38.196 4302
+-83.648 38.196 4195
+-83.522 38.196 4086
+-83.396 38.196 3922
+-83.27 38.196 3707
+-83.144 38.196 3483
+-83.018 38.196 3354
+-82.892 38.196 3356
+-82.766 38.196 3371
+-82.64 38.196 3401
+-82.514 38.196 3444
+-82.388 38.196 3494
+-82.262 38.196 3502
+-82.136 38.196 3543
+-82.01 38.196 3561
+-81.884 38.196 3569
+-81.758 38.196 3595
+-81.632 38.196 3603
+-81.506 38.196 3622
+-81.38 38.196 3639
+-81.254 38.196 3635
+-81.128 38.196 3587
+-81.002 38.196 3599
+-80.876 38.196 3610
+-80.75 38.196 3620
+-80.624 38.196 3605
+-80.498 38.196 3612
+-80.372 38.196 3585
+-80.246 38.196 3536
+-80.12 38.196 3540
+-79.994 38.196 3545
+-79.868 38.196 3549
+-79.742 38.196 3552
+-79.616 38.196 3555
+-79.49 38.196 3558
+-79.364 38.196 3561
+-79.238 38.196 3564
+-79.112 38.196 3566
+-78.986 38.196 3568
+-78.86 38.196 3571
+-78.734 38.196 3573
+-78.608 38.196 3459
+-78.482 38.196 3461
+-78.356 38.196 3462
+-78.23 38.196 3393
+-78.104 38.196 3392
+-77.978 38.196 3392
+-77.852 38.196 3391
+-77.726 38.196 3391
+-77.6 38.196 3391
+-77.474 38.196 3390
+-77.348 38.196 3390
+-77.222 38.196 3389
+-77.096 38.196 3389
+-76.97 38.196 3389
+-76.844 38.196 3388
+-76.718 38.196 3388
+-76.592 38.196 3387
+-76.466 38.196 3387
+-76.34 38.196 3387
+-76.214 38.196 3386
+-76.088 38.196 3386
+-75.962 38.196 3386
+-75.836 38.196 3386
+-75.71 38.196 3385
+-75.584 38.196 3385
+-75.458 38.196 3385
+-75.332 38.196 3322
+-75.206 38.196 3321
+-75.08 38.196 3065
+-74.954 38.196 3063
+-74.828 38.196 3062
+-74.702 38.196 3060
+-74.576 38.196 3058
+-74.45 38.196 3057
+-74.324 38.196 3055
+-74.198 38.196 3054
+-74.072 38.196 3052
+-73.946 38.196 3051
+-73.82 38.196 3049
+-73.694 38.196 3048
+-73.568 38.196 3047
+-73.442 38.196 3045
+-73.316 38.196 3044
+-73.19 38.196 3043
+-73.064 38.196 3042
+-72.938 38.196 3041
+-72.812 38.196 2913
+-72.686 38.196 2912
+-72.56 38.196 2881
+-72.434 38.196 2832
+-72.308 38.196 2830
+-72.182 38.196 2829
+-72.056 38.196 2843
+-71.93 38.196 2842
+-71.804 38.196 2853
+-71.678 38.196 2852
+-71.552 38.196 2812
+-71.426 38.196 2770
+-71.3 38.196 2770
+-71.174 38.196 2770
+-71.048 38.196 2769
+-70.922 38.196 2787
+-70.796 38.196 2793
+-70.67 38.196 2802
+-70.544 38.196 2801
+-70.418 38.196 2834
+-70.292 38.196 2846
+-70.166 38.196 2847
+-70.04 38.196 2904
+-69.914 38.196 2927
+-69.788 38.196 2905
+-69.662 38.196 2895
+-69.536 38.196 3049
+-69.41 38.196 3051
+-69.284 38.196 3116
+-69.158 38.196 3118
+-69.032 38.196 3120
+-68.906 38.196 3122
+-68.78 38.196 3124
+-68.654 38.196 3035
+-68.528 38.196 3057
+-68.402 38.196 3058
+-68.276 38.196 3047
+-68.15 38.196 3347
+-68.024 38.196 3379
+-67.898 38.196 3380
+-67.772 38.196 3374
+-67.646 38.196 3375
+-67.52 38.196 3380
+-67.394 38.196 3397
+-67.268 38.196 3398
+-67.142 38.196 3384
+-67.016 38.196 3385
+-66.89 38.196 3335
+-66.764 38.196 3336
+-66.638 38.196 3337
+-66.512 38.196 3405
+-66.386 38.196 3400
+-66.26 38.196 3410
+-66.134 38.196 3411
+-66.008 38.196 3388
+-65.882 38.196 3411
+-65.756 38.196 3460
+-65.63 38.196 3472
+-65.504 38.196 3470
+-65.378 38.196 3469
+-65.252 38.196 3525
+-65.126 38.196 3526
+-128 38.144 2558
+-127.874 38.144 2570
+-127.748 38.144 2576
+-127.622 38.144 2698
+-127.496 38.144 2680
+-127.37 38.144 2679
+-127.244 38.144 2678
+-127.118 38.144 2785
+-126.992 38.144 2782
+-126.866 38.144 2727
+-126.74 38.144 2791
+-126.614 38.144 2788
+-126.488 38.144 2856
+-126.362 38.144 2831
+-126.236 38.144 2925
+-126.11 38.144 2950
+-125.984 38.144 2953
+-125.858 38.144 2967
+-125.732 38.144 3042
+-125.606 38.144 2967
+-125.48 38.144 2960
+-125.354 38.144 2953
+-125.228 38.144 2946
+-125.102 38.144 3022
+-124.976 38.144 3011
+-124.85 38.144 3000
+-124.724 38.144 3002
+-124.598 38.144 3015
+-124.472 38.144 3007
+-124.346 38.144 2997
+-124.22 38.144 3021
+-124.094 38.144 3014
+-123.968 38.144 3007
+-123.842 38.144 3001
+-123.716 38.144 2997
+-123.59 38.144 2995
+-123.464 38.144 3048
+-123.338 38.144 3047
+-123.212 38.144 3049
+-123.086 38.144 3039
+-122.96 38.144 3047
+-122.834 38.144 3037
+-122.708 38.144 3083
+-122.582 38.144 3098
+-122.456 38.144 3070
+-122.33 38.144 3067
+-122.204 38.144 3029
+-122.078 38.144 3007
+-121.952 38.144 3001
+-121.826 38.144 3101
+-121.7 38.144 3237
+-121.574 38.144 3379
+-121.448 38.144 3545
+-121.322 38.144 3704
+-121.196 38.144 3795
+-121.07 38.144 3938
+-120.944 38.144 3992
+-120.818 38.144 4053
+-120.692 38.144 4220
+-120.566 38.144 4262
+-120.44 38.144 4351
+-120.314 38.144 4351
+-120.188 38.144 4324
+-120.062 38.144 4282
+-119.936 38.144 4380
+-119.81 38.144 4538
+-119.684 38.144 4628
+-119.558 38.144 4666
+-119.432 38.144 4677
+-119.306 38.144 4742
+-119.18 38.144 4798
+-119.054 38.144 4837
+-118.928 38.144 4890
+-118.802 38.144 4953
+-118.676 38.144 5014
+-118.55 38.144 5042
+-118.424 38.144 5056
+-118.298 38.144 5077
+-118.172 38.144 5088
+-118.046 38.144 5116
+-117.92 38.144 5138
+-117.794 38.144 5123
+-117.668 38.144 5120
+-117.542 38.144 5148
+-117.416 38.144 5194
+-117.29 38.144 5155
+-117.164 38.144 5137
+-117.038 38.144 5136
+-116.912 38.144 5172
+-116.786 38.144 5121
+-116.66 38.144 5088
+-116.534 38.144 5080
+-116.408 38.144 5041
+-116.282 38.144 5015
+-116.156 38.144 5014
+-116.03 38.144 5007
+-115.904 38.144 4955
+-115.778 38.144 4873
+-115.652 38.144 4840
+-115.526 38.144 4784
+-115.4 38.144 4739
+-115.274 38.144 4680
+-115.148 38.144 4590
+-115.022 38.144 4507
+-114.896 38.144 4440
+-114.77 38.144 4393
+-114.644 38.144 4370
+-114.518 38.144 4282
+-114.392 38.144 4132
+-114.266 38.144 4048
+-114.14 38.144 4057
+-114.014 38.144 4015
+-113.888 38.144 3946
+-113.762 38.144 3832
+-113.636 38.144 3678
+-113.51 38.144 3582
+-113.384 38.144 3623
+-113.258 38.144 3665
+-113.132 38.144 3671
+-113.006 38.144 3642
+-112.88 38.144 3643
+-112.754 38.144 3553
+-112.628 38.144 3447
+-112.502 38.144 3401
+-112.376 38.144 3253
+-112.25 38.144 3208
+-112.124 38.144 3095
+-111.998 38.144 3024
+-111.872 38.144 2964
+-111.746 38.144 2868
+-111.62 38.144 2784
+-111.494 38.144 2712
+-111.368 38.144 2629
+-111.242 38.144 2530
+-111.116 38.144 2453
+-110.99 38.144 2420
+-110.864 38.144 2441
+-110.738 38.144 2476
+-110.612 38.144 2477
+-110.486 38.144 2465
+-110.36 38.144 2482
+-110.234 38.144 2518
+-110.108 38.144 2557
+-109.982 38.144 2585
+-109.856 38.144 2602
+-109.73 38.144 2607
+-109.604 38.144 2603
+-109.478 38.144 2599
+-109.352 38.144 2577
+-109.226 38.144 2544
+-109.1 38.144 2516
+-108.974 38.144 2489
+-108.848 38.144 2472
+-108.722 38.144 2469
+-108.596 38.144 2460
+-108.47 38.144 2434
+-108.344 38.144 2384
+-108.218 38.144 2285
+-108.092 38.144 2169
+-107.966 38.144 2049
+-107.84 38.144 1960
+-107.714 38.144 1927
+-107.588 38.144 1951
+-107.462 38.144 2016
+-107.336 38.144 2103
+-107.21 38.144 2191
+-107.084 38.144 2284
+-106.958 38.144 2367
+-106.832 38.144 2436
+-106.706 38.144 2533
+-106.58 38.144 2585
+-106.454 38.144 2627
+-106.328 38.144 2693
+-106.202 38.144 2695
+-106.076 38.144 2727
+-105.95 38.144 2738
+-105.824 38.144 2813
+-105.698 38.144 2832
+-105.572 38.144 2853
+-105.446 38.144 2874
+-105.32 38.144 2853
+-105.194 38.144 2941
+-105.068 38.144 2951
+-104.942 38.144 2961
+-104.816 38.144 2960
+-104.69 38.144 2979
+-104.564 38.144 2987
+-104.438 38.144 2994
+-104.312 38.144 2961
+-104.186 38.144 2980
+-104.06 38.144 3016
+-103.934 38.144 3023
+-103.808 38.144 3026
+-103.682 38.144 3032
+-103.556 38.144 3038
+-103.43 38.144 3023
+-103.304 38.144 3112
+-103.178 38.144 3117
+-103.052 38.144 3084
+-102.926 38.144 3089
+-102.8 38.144 3093
+-102.674 38.144 2901
+-102.548 38.144 2906
+-102.422 38.144 2784
+-102.296 38.144 2748
+-102.17 38.144 2766
+-102.044 38.144 2728
+-101.918 38.144 2762
+-101.792 38.144 2781
+-101.666 38.144 2824
+-101.54 38.144 2843
+-101.414 38.144 2840
+-101.288 38.144 2866
+-101.162 38.144 2872
+-101.036 38.144 3032
+-100.91 38.144 3036
+-100.784 38.144 3073
+-100.658 38.144 3075
+-100.532 38.144 3168
+-100.406 38.144 3169
+-100.28 38.144 3169
+-100.154 38.144 3170
+-100.028 38.144 3171
+-99.902 38.144 3171
+-99.776 38.144 3221
+-99.65 38.144 3220
+-99.524 38.144 3220
+-99.398 38.144 3219
+-99.272 38.144 3291
+-99.146 38.144 3289
+-99.02 38.144 3287
+-98.894 38.144 3285
+-98.768 38.144 3283
+-98.642 38.144 3281
+-98.516 38.144 3279
+-98.39 38.144 3310
+-98.264 38.144 3306
+-98.138 38.144 3301
+-98.012 38.144 3297
+-97.886 38.144 3290
+-97.76 38.144 3286
+-97.634 38.144 3305
+-97.508 38.144 3340
+-97.382 38.144 3338
+-97.256 38.144 3370
+-97.13 38.144 3368
+-97.004 38.144 3367
+-96.878 38.144 3367
+-96.752 38.144 3384
+-96.626 38.144 3390
+-96.5 38.144 3364
+-96.374 38.144 3259
+-96.248 38.144 3162
+-96.122 38.144 3323
+-95.996 38.144 3609
+-95.87 38.144 3783
+-95.744 38.144 3895
+-95.618 38.144 3989
+-95.492 38.144 3984
+-95.366 38.144 4115
+-95.24 38.144 4322
+-95.114 38.144 4501
+-94.988 38.144 4575
+-94.862 38.144 4557
+-94.736 38.144 4793
+-94.61 38.144 4871
+-94.484 38.144 4983
+-94.358 38.144 5114
+-94.232 38.144 5287
+-94.106 38.144 5423
+-93.98 38.144 5612
+-93.854 38.144 5808
+-93.728 38.144 5841
+-93.602 38.144 5986
+-93.476 38.144 6145
+-93.35 38.144 6191
+-93.224 38.144 6375
+-93.098 38.144 6430
+-92.972 38.144 6636
+-92.846 38.144 6726
+-92.72 38.144 6880
+-92.594 38.144 7006
+-92.468 38.144 7172
+-92.342 38.144 7234
+-92.216 38.144 7402
+-92.09 38.144 7579
+-91.964 38.144 7648
+-91.838 38.144 7818
+-91.712 38.144 7839
+-91.586 38.144 8011
+-91.46 38.144 8160
+-91.334 38.144 8303
+-91.208 38.144 8327
+-91.082 38.144 8453
+-90.956 38.144 8524
+-90.83 38.144 8623
+-90.704 38.144 8705
+-90.578 38.144 8746
+-90.452 38.144 8742
+-90.326 38.144 8752
+-90.2 38.144 8699
+-90.074 38.144 8633
+-89.948 38.144 8546
+-89.822 38.144 8470
+-89.696 38.144 8629
+-89.57 38.144 8863
+-89.444 38.144 8955
+-89.318 38.144 9059
+-89.192 38.144 9194
+-89.066 38.144 9259
+-88.94 38.144 9280
+-88.814 38.144 9316
+-88.688 38.144 9266
+-88.562 38.144 9240
+-88.436 38.144 9123
+-88.31 38.144 9020
+-88.184 38.144 8952
+-88.058 38.144 8811
+-87.932 38.144 8681
+-87.806 38.144 8550
+-87.68 38.144 8443
+-87.554 38.144 8276
+-87.428 38.144 8162
+-87.302 38.144 8052
+-87.176 38.144 7840
+-87.05 38.144 7734
+-86.924 38.144 7651
+-86.798 38.144 7449
+-86.672 38.144 7376
+-86.546 38.144 7225
+-86.42 38.144 6999
+-86.294 38.144 6962
+-86.168 38.144 6837
+-86.042 38.144 6658
+-85.916 38.144 6484
+-85.79 38.144 6380
+-85.664 38.144 6235
+-85.538 38.144 6088
+-85.412 38.144 5961
+-85.286 38.144 5819
+-85.16 38.144 5664
+-85.034 38.144 5589
+-84.908 38.144 5454
+-84.782 38.144 5267
+-84.656 38.144 5167
+-84.53 38.144 5025
+-84.404 38.144 4908
+-84.278 38.144 4768
+-84.152 38.144 4609
+-84.026 38.144 4478
+-83.9 38.144 4357
+-83.774 38.144 4214
+-83.648 38.144 4169
+-83.522 38.144 4087
+-83.396 38.144 3910
+-83.27 38.144 3658
+-83.144 38.144 3389
+-83.018 38.144 3258
+-82.892 38.144 3263
+-82.766 38.144 3265
+-82.64 38.144 3297
+-82.514 38.144 3360
+-82.388 38.144 3398
+-82.262 38.144 3450
+-82.136 38.144 3493
+-82.01 38.144 3513
+-81.884 38.144 3547
+-81.758 38.144 3562
+-81.632 38.144 3586
+-81.506 38.144 3607
+-81.38 38.144 3626
+-81.254 38.144 3624
+-81.128 38.144 3638
+-81.002 38.144 3591
+-80.876 38.144 3603
+-80.75 38.144 3613
+-80.624 38.144 3623
+-80.498 38.144 3599
+-80.372 38.144 3606
+-80.246 38.144 3531
+-80.12 38.144 3536
+-79.994 38.144 3541
+-79.868 38.144 3550
+-79.742 38.144 3553
+-79.616 38.144 3557
+-79.49 38.144 3560
+-79.364 38.144 3563
+-79.238 38.144 3566
+-79.112 38.144 3569
+-78.986 38.144 3572
+-78.86 38.144 3574
+-78.734 38.144 3458
+-78.608 38.144 3459
+-78.482 38.144 3460
+-78.356 38.144 3391
+-78.23 38.144 3391
+-78.104 38.144 3390
+-77.978 38.144 3390
+-77.852 38.144 3389
+-77.726 38.144 3389
+-77.6 38.144 3389
+-77.474 38.144 3388
+-77.348 38.144 3388
+-77.222 38.144 3387
+-77.096 38.144 3387
+-76.97 38.144 3387
+-76.844 38.144 3386
+-76.718 38.144 3386
+-76.592 38.144 3386
+-76.466 38.144 3385
+-76.34 38.144 3385
+-76.214 38.144 3385
+-76.088 38.144 3384
+-75.962 38.144 3384
+-75.836 38.144 3384
+-75.71 38.144 3384
+-75.584 38.144 3384
+-75.458 38.144 3321
+-75.332 38.144 3320
+-75.206 38.144 3065
+-75.08 38.144 3063
+-74.954 38.144 3061
+-74.828 38.144 3059
+-74.702 38.144 3057
+-74.576 38.144 3056
+-74.45 38.144 3054
+-74.324 38.144 3053
+-74.198 38.144 3051
+-74.072 38.144 3050
+-73.946 38.144 3048
+-73.82 38.144 3047
+-73.694 38.144 3046
+-73.568 38.144 3044
+-73.442 38.144 3043
+-73.316 38.144 3042
+-73.19 38.144 3041
+-73.064 38.144 3040
+-72.938 38.144 2911
+-72.812 38.144 2910
+-72.686 38.144 2879
+-72.56 38.144 2830
+-72.434 38.144 2829
+-72.308 38.144 2828
+-72.182 38.144 2842
+-72.056 38.144 2841
+-71.93 38.144 2851
+-71.804 38.144 2850
+-71.678 38.144 2810
+-71.552 38.144 2769
+-71.426 38.144 2768
+-71.3 38.144 2768
+-71.174 38.144 2768
+-71.048 38.144 2785
+-70.922 38.144 2791
+-70.796 38.144 2801
+-70.67 38.144 2800
+-70.544 38.144 2833
+-70.418 38.144 2845
+-70.292 38.144 2846
+-70.166 38.144 2902
+-70.04 38.144 2925
+-69.914 38.144 2903
+-69.788 38.144 2893
+-69.662 38.144 3047
+-69.536 38.144 3049
+-69.41 38.144 3115
+-69.284 38.144 3116
+-69.158 38.144 3118
+-69.032 38.144 3120
+-68.906 38.144 3122
+-68.78 38.144 3034
+-68.654 38.144 3055
+-68.528 38.144 3057
+-68.402 38.144 3046
+-68.276 38.144 3346
+-68.15 38.144 3377
+-68.024 38.144 3378
+-67.898 38.144 3373
+-67.772 38.144 3374
+-67.646 38.144 3378
+-67.52 38.144 3395
+-67.394 38.144 3396
+-67.268 38.144 3383
+-67.142 38.144 3384
+-67.016 38.144 3334
+-66.89 38.144 3335
+-66.764 38.144 3336
+-66.638 38.144 3404
+-66.512 38.144 3398
+-66.386 38.144 3409
+-66.26 38.144 3410
+-66.134 38.144 3387
+-66.008 38.144 3410
+-65.882 38.144 3459
+-65.756 38.144 3471
+-65.63 38.144 3469
+-65.504 38.144 3467
+-65.378 38.144 3524
+-65.252 38.144 3525
+-65.126 38.144 3461
+-128 38.092 2566
+-127.874 38.092 2614
+-127.748 38.092 2620
+-127.622 38.092 2632
+-127.496 38.092 2734
+-127.37 38.092 2764
+-127.244 38.092 2762
+-127.118 38.092 2760
+-126.992 38.092 2730
+-126.866 38.092 2880
+-126.74 38.092 2877
+-126.614 38.092 2874
+-126.488 38.092 2871
+-126.362 38.092 2868
+-126.236 38.092 2844
+-126.11 38.092 2940
+-125.984 38.092 3051
+-125.858 38.092 3056
+-125.732 38.092 3065
+-125.606 38.092 3058
+-125.48 38.092 2983
+-125.354 38.092 2977
+-125.228 38.092 3057
+-125.102 38.092 3049
+-124.976 38.092 3040
+-124.85 38.092 3031
+-124.724 38.092 3022
+-124.598 38.092 3026
+-124.472 38.092 3043
+-124.346 38.092 3038
+-124.22 38.092 3031
+-124.094 38.092 3059
+-123.968 38.092 3056
+-123.842 38.092 3054
+-123.716 38.092 3053
+-123.59 38.092 3054
+-123.464 38.092 3057
+-123.338 38.092 3119
+-123.212 38.092 3123
+-123.086 38.092 3129
+-122.96 38.092 3121
+-122.834 38.092 3129
+-122.708 38.092 3118
+-122.582 38.092 3162
+-122.456 38.092 3170
+-122.33 38.092 3189
+-122.204 38.092 3229
+-122.078 38.092 3213
+-121.952 38.092 3225
+-121.826 38.092 3317
+-121.7 38.092 3416
+-121.574 38.092 3520
+-121.448 38.092 3662
+-121.322 38.092 3741
+-121.196 38.092 3901
+-121.07 38.092 4044
+-120.944 38.092 4125
+-120.818 38.092 4173
+-120.692 38.092 4225
+-120.566 38.092 4294
+-120.44 38.092 4368
+-120.314 38.092 4383
+-120.188 38.092 4396
+-120.062 38.092 4372
+-119.936 38.092 4471
+-119.81 38.092 4611
+-119.684 38.092 4688
+-119.558 38.092 4735
+-119.432 38.092 4770
+-119.306 38.092 4811
+-119.18 38.092 4857
+-119.054 38.092 4829
+-118.928 38.092 4903
+-118.802 38.092 4993
+-118.676 38.092 5050
+-118.55 38.092 5044
+-118.424 38.092 5097
+-118.298 38.092 5149
+-118.172 38.092 5166
+-118.046 38.092 5180
+-117.92 38.092 5225
+-117.794 38.092 5194
+-117.668 38.092 5176
+-117.542 38.092 5192
+-117.416 38.092 5219
+-117.29 38.092 5205
+-117.164 38.092 5216
+-117.038 38.092 5195
+-116.912 38.092 5169
+-116.786 38.092 5154
+-116.66 38.092 5133
+-116.534 38.092 5143
+-116.408 38.092 5119
+-116.282 38.092 5084
+-116.156 38.092 5061
+-116.03 38.092 5057
+-115.904 38.092 5024
+-115.778 38.092 4947
+-115.652 38.092 4870
+-115.526 38.092 4820
+-115.4 38.092 4771
+-115.274 38.092 4730
+-115.148 38.092 4653
+-115.022 38.092 4547
+-114.896 38.092 4472
+-114.77 38.092 4433
+-114.644 38.092 4419
+-114.518 38.092 4353
+-114.392 38.092 4241
+-114.266 38.092 4160
+-114.14 38.092 4133
+-114.014 38.092 4087
+-113.888 38.092 4051
+-113.762 38.092 3948
+-113.636 38.092 3842
+-113.51 38.092 3771
+-113.384 38.092 3752
+-113.258 38.092 3751
+-113.132 38.092 3746
+-113.006 38.092 3679
+-112.88 38.092 3660
+-112.754 38.092 3553
+-112.628 38.092 3441
+-112.502 38.092 3373
+-112.376 38.092 3260
+-112.25 38.092 3203
+-112.124 38.092 3082
+-111.998 38.092 3029
+-111.872 38.092 2959
+-111.746 38.092 2889
+-111.62 38.092 2820
+-111.494 38.092 2764
+-111.368 38.092 2699
+-111.242 38.092 2626
+-111.116 38.092 2573
+-110.99 38.092 2542
+-110.864 38.092 2531
+-110.738 38.092 2514
+-110.612 38.092 2474
+-110.486 38.092 2447
+-110.36 38.092 2472
+-110.234 38.092 2524
+-110.108 38.092 2572
+-109.982 38.092 2606
+-109.856 38.092 2625
+-109.73 38.092 2630
+-109.604 38.092 2631
+-109.478 38.092 2613
+-109.352 38.092 2578
+-109.226 38.092 2539
+-109.1 38.092 2495
+-108.974 38.092 2459
+-108.848 38.092 2446
+-108.722 38.092 2447
+-108.596 38.092 2450
+-108.47 38.092 2440
+-108.344 38.092 2382
+-108.218 38.092 2289
+-108.092 38.092 2163
+-107.966 38.092 2031
+-107.84 38.092 1931
+-107.714 38.092 1897
+-107.588 38.092 1926
+-107.462 38.092 2001
+-107.336 38.092 2094
+-107.21 38.092 2196
+-107.084 38.092 2293
+-106.958 38.092 2376
+-106.832 38.092 2479
+-106.706 38.092 2542
+-106.58 38.092 2592
+-106.454 38.092 2664
+-106.328 38.092 2672
+-106.202 38.092 2708
+-106.076 38.092 2723
+-105.95 38.092 2798
+-105.824 38.092 2819
+-105.698 38.092 2842
+-105.572 38.092 2864
+-105.446 38.092 2845
+-105.32 38.092 2931
+-105.194 38.092 2942
+-105.068 38.092 2952
+-104.942 38.092 2952
+-104.816 38.092 2971
+-104.69 38.092 2979
+-104.564 38.092 2987
+-104.438 38.092 2955
+-104.312 38.092 2974
+-104.186 38.092 3009
+-104.06 38.092 3016
+-103.934 38.092 3020
+-103.808 38.092 3026
+-103.682 38.092 3032
+-103.556 38.092 3018
+-103.43 38.092 3106
+-103.304 38.092 3111
+-103.178 38.092 3078
+-103.052 38.092 3083
+-102.926 38.092 3088
+-102.8 38.092 3093
+-102.674 38.092 2885
+-102.548 38.092 2909
+-102.422 38.092 2844
+-102.296 38.092 2744
+-102.17 38.092 2769
+-102.044 38.092 2731
+-101.918 38.092 2786
+-101.792 38.092 2759
+-101.666 38.092 2792
+-101.54 38.092 2843
+-101.414 38.092 2839
+-101.288 38.092 2865
+-101.162 38.092 2871
+-101.036 38.092 3036
+-100.91 38.092 3037
+-100.784 38.092 3075
+-100.658 38.092 3169
+-100.532 38.092 3170
+-100.406 38.092 3170
+-100.28 38.092 3171
+-100.154 38.092 3172
+-100.028 38.092 3172
+-99.902 38.092 3221
+-99.776 38.092 3221
+-99.65 38.092 3221
+-99.524 38.092 3221
+-99.398 38.092 3220
+-99.272 38.092 3220
+-99.146 38.092 3293
+-99.02 38.092 3291
+-98.894 38.092 3289
+-98.768 38.092 3288
+-98.642 38.092 3286
+-98.516 38.092 3315
+-98.39 38.092 3312
+-98.264 38.092 3309
+-98.138 38.092 3306
+-98.012 38.092 3303
+-97.886 38.092 3300
+-97.76 38.092 3320
+-97.634 38.092 3321
+-97.508 38.092 3321
+-97.382 38.092 3358
+-97.256 38.092 3386
+-97.13 38.092 3388
+-97.004 38.092 3390
+-96.878 38.092 3424
+-96.752 38.092 3421
+-96.626 38.092 3426
+-96.5 38.092 3390
+-96.374 38.092 3333
+-96.248 38.092 3288
+-96.122 38.092 3427
+-95.996 38.092 3655
+-95.87 38.092 3810
+-95.744 38.092 3902
+-95.618 38.092 3998
+-95.492 38.092 4046
+-95.366 38.092 4167
+-95.24 38.092 4358
+-95.114 38.092 4478
+-94.988 38.092 4581
+-94.862 38.092 4674
+-94.736 38.092 4805
+-94.61 38.092 4914
+-94.484 38.092 4981
+-94.358 38.092 5113
+-94.232 38.092 5304
+-94.106 38.092 5407
+-93.98 38.092 5575
+-93.854 38.092 5788
+-93.728 38.092 5891
+-93.602 38.092 5962
+-93.476 38.092 6071
+-93.35 38.092 6195
+-93.224 38.092 6347
+-93.098 38.092 6483
+-92.972 38.092 6592
+-92.846 38.092 6717
+-92.72 38.092 6878
+-92.594 38.092 6970
+-92.468 38.092 7168
+-92.342 38.092 7270
+-92.216 38.092 7366
+-92.09 38.092 7506
+-91.964 38.092 7604
+-91.838 38.092 7716
+-91.712 38.092 7840
+-91.586 38.092 7998
+-91.46 38.092 8070
+-91.334 38.092 8252
+-91.208 38.092 8304
+-91.082 38.092 8421
+-90.956 38.092 8455
+-90.83 38.092 8558
+-90.704 38.092 8638
+-90.578 38.092 8646
+-90.452 38.092 8676
+-90.326 38.092 8687
+-90.2 38.092 8621
+-90.074 38.092 8604
+-89.948 38.092 8488
+-89.822 38.092 8418
+-89.696 38.092 8677
+-89.57 38.092 8862
+-89.444 38.092 8993
+-89.318 38.092 9112
+-89.192 38.092 9181
+-89.066 38.092 9295
+-88.94 38.092 9318
+-88.814 38.092 9371
+-88.688 38.092 9322
+-88.562 38.092 9266
+-88.436 38.092 9190
+-88.31 38.092 9074
+-88.184 38.092 8981
+-88.058 38.092 8817
+-87.932 38.092 8699
+-87.806 38.092 8598
+-87.68 38.092 8439
+-87.554 38.092 8340
+-87.428 38.092 8205
+-87.302 38.092 8067
+-87.176 38.092 7947
+-87.05 38.092 7830
+-86.924 38.092 7596
+-86.798 38.092 7453
+-86.672 38.092 7415
+-86.546 38.092 7256
+-86.42 38.092 7103
+-86.294 38.092 6987
+-86.168 38.092 6872
+-86.042 38.092 6694
+-85.916 38.092 6516
+-85.79 38.092 6351
+-85.664 38.092 6213
+-85.538 38.092 6115
+-85.412 38.092 5965
+-85.286 38.092 5819
+-85.16 38.092 5672
+-85.034 38.092 5526
+-84.908 38.092 5453
+-84.782 38.092 5305
+-84.656 38.092 5105
+-84.53 38.092 4989
+-84.404 38.092 4897
+-84.278 38.092 4776
+-84.152 38.092 4571
+-84.026 38.092 4394
+-83.9 38.092 4333
+-83.774 38.092 4068
+-83.648 38.092 4161
+-83.522 38.092 4093
+-83.396 38.092 3921
+-83.27 38.092 3673
+-83.144 38.092 3429
+-83.018 38.092 3280
+-82.892 38.092 3186
+-82.766 38.092 3141
+-82.64 38.092 3177
+-82.514 38.092 3285
+-82.388 38.092 3350
+-82.262 38.092 3411
+-82.136 38.092 3447
+-82.01 38.092 3491
+-81.884 38.092 3516
+-81.758 38.092 3546
+-81.632 38.092 3573
+-81.506 38.092 3596
+-81.38 38.092 3616
+-81.254 38.092 3634
+-81.128 38.092 3650
+-81.002 38.092 3665
+-80.876 38.092 3596
+-80.75 38.092 3608
+-80.624 38.092 3586
+-80.498 38.092 3594
+-80.372 38.092 3601
+-80.246 38.092 3532
+-80.12 38.092 3537
+-79.994 38.092 3542
+-79.868 38.092 3547
+-79.742 38.092 3551
+-79.616 38.092 3555
+-79.49 38.092 3558
+-79.364 38.092 3561
+-79.238 38.092 3564
+-79.112 38.092 3567
+-78.986 38.092 3570
+-78.86 38.092 3456
+-78.734 38.092 3457
+-78.608 38.092 3459
+-78.482 38.092 3389
+-78.356 38.092 3389
+-78.23 38.092 3388
+-78.104 38.092 3388
+-77.978 38.092 3388
+-77.852 38.092 3387
+-77.726 38.092 3387
+-77.6 38.092 3387
+-77.474 38.092 3386
+-77.348 38.092 3386
+-77.222 38.092 3386
+-77.096 38.092 3385
+-76.97 38.092 3385
+-76.844 38.092 3384
+-76.718 38.092 3384
+-76.592 38.092 3384
+-76.466 38.092 3384
+-76.34 38.092 3332
+-76.214 38.092 3331
+-76.088 38.092 3330
+-75.962 38.092 3329
+-75.836 38.092 3328
+-75.71 38.092 3327
+-75.584 38.092 3327
+-75.458 38.092 3234
+-75.332 38.092 3064
+-75.206 38.092 3062
+-75.08 38.092 3060
+-74.954 38.092 3058
+-74.828 38.092 3056
+-74.702 38.092 3055
+-74.576 38.092 3053
+-74.45 38.092 3052
+-74.324 38.092 3050
+-74.198 38.092 3049
+-74.072 38.092 3047
+-73.946 38.092 3046
+-73.82 38.092 3044
+-73.694 38.092 3043
+-73.568 38.092 3042
+-73.442 38.092 3041
+-73.316 38.092 3039
+-73.19 38.092 3038
+-73.064 38.092 2910
+-72.938 38.092 2909
+-72.812 38.092 2878
+-72.686 38.092 2829
+-72.56 38.092 2827
+-72.434 38.092 2826
+-72.308 38.092 2840
+-72.182 38.092 2839
+-72.056 38.092 2850
+-71.93 38.092 2849
+-71.804 38.092 2809
+-71.678 38.092 2767
+-71.552 38.092 2767
+-71.426 38.092 2767
+-71.3 38.092 2766
+-71.174 38.092 2783
+-71.048 38.092 2790
+-70.922 38.092 2799
+-70.796 38.092 2798
+-70.67 38.092 2831
+-70.544 38.092 2843
+-70.418 38.092 2844
+-70.292 38.092 2901
+-70.166 38.092 2924
+-70.04 38.092 2902
+-69.914 38.092 2892
+-69.788 38.092 3046
+-69.662 38.092 3047
+-69.536 38.092 3113
+-69.41 38.092 3114
+-69.284 38.092 3116
+-69.158 38.092 3118
+-69.032 38.092 3120
+-68.906 38.092 3032
+-68.78 38.092 3054
+-68.654 38.092 3056
+-68.528 38.092 3044
+-68.402 38.092 3344
+-68.276 38.092 3376
+-68.15 38.092 3377
+-68.024 38.092 3372
+-67.898 38.092 3373
+-67.772 38.092 3377
+-67.646 38.092 3394
+-67.52 38.092 3395
+-67.394 38.092 3382
+-67.268 38.092 3383
+-67.142 38.092 3333
+-67.016 38.092 3334
+-66.89 38.092 3335
+-66.764 38.092 3403
+-66.638 38.092 3397
+-66.512 38.092 3408
+-66.386 38.092 3408
+-66.26 38.092 3386
+-66.134 38.092 3409
+-66.008 38.092 3458
+-65.882 38.092 3470
+-65.756 38.092 3468
+-65.63 38.092 3466
+-65.504 38.092 3523
+-65.378 38.092 3524
+-65.252 38.092 3459
+-65.126 38.092 3485
+-128 38.04 2627
+-127.874 38.04 2624
+-127.748 38.04 2621
+-127.622 38.04 2693
+-127.496 38.04 2640
+-127.37 38.04 2743
+-127.244 38.04 2773
+-127.118 38.04 2843
+-126.992 38.04 2841
+-126.866 38.04 2781
+-126.74 38.04 2891
+-126.614 38.04 2889
+-126.488 38.04 2887
+-126.362 38.04 2884
+-126.236 38.04 2966
+-126.11 38.04 2924
+-125.984 38.04 3039
+-125.858 38.04 3066
+-125.732 38.04 3072
+-125.606 38.04 3083
+-125.48 38.04 3006
+-125.354 38.04 3089
+-125.228 38.04 3083
+-125.102 38.04 3076
+-124.976 38.04 3069
+-124.85 38.04 3062
+-124.724 38.04 3055
+-124.598 38.04 3048
+-124.472 38.04 3055
+-124.346 38.04 3074
+-124.22 38.04 3073
+-124.094 38.04 3069
+-123.968 38.04 3102
+-123.842 38.04 3103
+-123.716 38.04 3106
+-123.59 38.04 3110
+-123.464 38.04 3116
+-123.338 38.04 3123
+-123.212 38.04 3194
+-123.086 38.04 3201
+-122.96 38.04 3210
+-122.834 38.04 3224
+-122.708 38.04 3254
+-122.582 38.04 3297
+-122.456 38.04 3303
+-122.33 38.04 3367
+-122.204 38.04 3390
+-122.078 38.04 3396
+-121.952 38.04 3428
+-121.826 38.04 3492
+-121.7 38.04 3580
+-121.574 38.04 3657
+-121.448 38.04 3742
+-121.322 38.04 3857
+-121.196 38.04 3949
+-121.07 38.04 4042
+-120.944 38.04 4137
+-120.818 38.04 4247
+-120.692 38.04 4285
+-120.566 38.04 4380
+-120.44 38.04 4427
+-120.314 38.04 4477
+-120.188 38.04 4491
+-120.062 38.04 4515
+-119.936 38.04 4596
+-119.81 38.04 4680
+-119.684 38.04 4738
+-119.558 38.04 4761
+-119.432 38.04 4808
+-119.306 38.04 4865
+-119.18 38.04 4895
+-119.054 38.04 4915
+-118.928 38.04 4972
+-118.802 38.04 5029
+-118.676 38.04 5073
+-118.55 38.04 5101
+-118.424 38.04 5156
+-118.298 38.04 5202
+-118.172 38.04 5169
+-118.046 38.04 5220
+-117.92 38.04 5232
+-117.794 38.04 5249
+-117.668 38.04 5255
+-117.542 38.04 5267
+-117.416 38.04 5265
+-117.29 38.04 5272
+-117.164 38.04 5306
+-117.038 38.04 5280
+-116.912 38.04 5256
+-116.786 38.04 5228
+-116.66 38.04 5201
+-116.534 38.04 5180
+-116.408 38.04 5176
+-116.282 38.04 5143
+-116.156 38.04 5101
+-116.03 38.04 5116
+-115.904 38.04 5033
+-115.778 38.04 5023
+-115.652 38.04 4953
+-115.526 38.04 4880
+-115.4 38.04 4825
+-115.274 38.04 4773
+-115.148 38.04 4715
+-115.022 38.04 4642
+-114.896 38.04 4541
+-114.77 38.04 4465
+-114.644 38.04 4448
+-114.518 38.04 4408
+-114.392 38.04 4321
+-114.266 38.04 4269
+-114.14 38.04 4180
+-114.014 38.04 4148
+-113.888 38.04 4105
+-113.762 38.04 4062
+-113.636 38.04 4010
+-113.51 38.04 3933
+-113.384 38.04 3878
+-113.258 38.04 3817
+-113.132 38.04 3806
+-113.006 38.04 3744
+-112.88 38.04 3675
+-112.754 38.04 3595
+-112.628 38.04 3435
+-112.502 38.04 3363
+-112.376 38.04 3228
+-112.25 38.04 3182
+-112.124 38.04 3110
+-111.998 38.04 3064
+-111.872 38.04 3013
+-111.746 38.04 2910
+-111.62 38.04 2850
+-111.494 38.04 2809
+-111.368 38.04 2773
+-111.242 38.04 2710
+-111.116 38.04 2669
+-110.99 38.04 2637
+-110.864 38.04 2607
+-110.738 38.04 2567
+-110.612 38.04 2512
+-110.486 38.04 2483
+-110.36 38.04 2505
+-110.234 38.04 2556
+-110.108 38.04 2603
+-109.982 38.04 2635
+-109.856 38.04 2652
+-109.73 38.04 2663
+-109.604 38.04 2654
+-109.478 38.04 2625
+-109.352 38.04 2588
+-109.226 38.04 2533
+-109.1 38.04 2475
+-108.974 38.04 2430
+-108.848 38.04 2411
+-108.722 38.04 2422
+-108.596 38.04 2444
+-108.47 38.04 2439
+-108.344 38.04 2400
+-108.218 38.04 2315
+-108.092 38.04 2197
+-107.966 38.04 2066
+-107.84 38.04 1965
+-107.714 38.04 1930
+-107.588 38.04 1958
+-107.462 38.04 2029
+-107.336 38.04 2125
+-107.21 38.04 2226
+-107.084 38.04 2318
+-106.958 38.04 2427
+-106.832 38.04 2499
+-106.706 38.04 2558
+-106.58 38.04 2634
+-106.454 38.04 2650
+-106.328 38.04 2689
+-106.202 38.04 2709
+-106.076 38.04 2784
+-105.95 38.04 2807
+-105.824 38.04 2832
+-105.698 38.04 2854
+-105.572 38.04 2837
+-105.446 38.04 2921
+-105.32 38.04 2933
+-105.194 38.04 2943
+-105.068 38.04 2944
+-104.942 38.04 2963
+-104.816 38.04 2971
+-104.69 38.04 2979
+-104.564 38.04 2948
+-104.438 38.04 2967
+-104.312 38.04 3002
+-104.186 38.04 3009
+-104.06 38.04 3013
+-103.934 38.04 3019
+-103.808 38.04 3026
+-103.682 38.04 3013
+-103.556 38.04 3099
+-103.43 38.04 3105
+-103.304 38.04 3073
+-103.178 38.04 3078
+-103.052 38.04 3083
+-102.926 38.04 3088
+-102.8 38.04 3004
+-102.674 38.04 3008
+-102.548 38.04 2890
+-102.422 38.04 2778
+-102.296 38.04 2798
+-102.17 38.04 2759
+-102.044 38.04 2678
+-101.918 38.04 2733
+-101.792 38.04 2760
+-101.666 38.04 2792
+-101.54 38.04 2842
+-101.414 38.04 2839
+-101.288 38.04 2863
+-101.162 38.04 2870
+-101.036 38.04 3036
+-100.91 38.04 3037
+-100.784 38.04 3169
+-100.658 38.04 3170
+-100.532 38.04 3171
+-100.406 38.04 3171
+-100.28 38.04 3172
+-100.154 38.04 3173
+-100.028 38.04 3222
+-99.902 38.04 3222
+-99.776 38.04 3221
+-99.65 38.04 3221
+-99.524 38.04 3221
+-99.398 38.04 3221
+-99.272 38.04 3221
+-99.146 38.04 3221
+-99.02 38.04 3294
+-98.894 38.04 3293
+-98.768 38.04 3296
+-98.642 38.04 3322
+-98.516 38.04 3319
+-98.39 38.04 3317
+-98.264 38.04 3315
+-98.138 38.04 3313
+-98.012 38.04 3311
+-97.886 38.04 3334
+-97.76 38.04 3333
+-97.634 38.04 3333
+-97.508 38.04 3333
+-97.382 38.04 3335
+-97.256 38.04 3405
+-97.13 38.04 3408
+-97.004 38.04 3413
+-96.878 38.04 3417
+-96.752 38.04 3453
+-96.626 38.04 3448
+-96.5 38.04 3437
+-96.374 38.04 3437
+-96.248 38.04 3480
+-96.122 38.04 3560
+-95.996 38.04 3733
+-95.87 38.04 3817
+-95.744 38.04 3881
+-95.618 38.04 3909
+-95.492 38.04 4017
+-95.366 38.04 4204
+-95.24 38.04 4379
+-95.114 38.04 4438
+-94.988 38.04 4550
+-94.862 38.04 4691
+-94.736 38.04 4807
+-94.61 38.04 4882
+-94.484 38.04 4970
+-94.358 38.04 5083
+-94.232 38.04 5253
+-94.106 38.04 5392
+-93.98 38.04 5595
+-93.854 38.04 5736
+-93.728 38.04 5872
+-93.602 38.04 5972
+-93.476 38.04 6108
+-93.35 38.04 6201
+-93.224 38.04 6286
+-93.098 38.04 6483
+-92.972 38.04 6571
+-92.846 38.04 6730
+-92.72 38.04 6875
+-92.594 38.04 7011
+-92.468 38.04 7125
+-92.342 38.04 7254
+-92.216 38.04 7338
+-92.09 38.04 7471
+-91.964 38.04 7615
+-91.838 38.04 7695
+-91.712 38.04 7847
+-91.586 38.04 7962
+-91.46 38.04 8118
+-91.334 38.04 8161
+-91.208 38.04 8245
+-91.082 38.04 8381
+-90.956 38.04 8427
+-90.83 38.04 8498
+-90.704 38.04 8606
+-90.578 38.04 8643
+-90.452 38.04 8615
+-90.326 38.04 8611
+-90.2 38.04 8584
+-90.074 38.04 8528
+-89.948 38.04 8475
+-89.822 38.04 8434
+-89.696 38.04 8738
+-89.57 38.04 8900
+-89.444 38.04 9016
+-89.318 38.04 9102
+-89.192 38.04 9268
+-89.066 38.04 9321
+-88.94 38.04 9421
+-88.814 38.04 9438
+-88.688 38.04 9361
+-88.562 38.04 9321
+-88.436 38.04 9245
+-88.31 38.04 9117
+-88.184 38.04 9021
+-88.058 38.04 8799
+-87.932 38.04 8679
+-87.806 38.04 8642
+-87.68 38.04 8424
+-87.554 38.04 8294
+-87.428 38.04 8252
+-87.302 38.04 8090
+-87.176 38.04 7971
+-87.05 38.04 7769
+-86.924 38.04 7606
+-86.798 38.04 7525
+-86.672 38.04 7345
+-86.546 38.04 7217
+-86.42 38.04 7116
+-86.294 38.04 6977
+-86.168 38.04 6860
+-86.042 38.04 6697
+-85.916 38.04 6528
+-85.79 38.04 6340
+-85.664 38.04 6264
+-85.538 38.04 6129
+-85.412 38.04 5976
+-85.286 38.04 5827
+-85.16 38.04 5700
+-85.034 38.04 5550
+-84.908 38.04 5449
+-84.782 38.04 5320
+-84.656 38.04 5103
+-84.53 38.04 4948
+-84.404 38.04 4813
+-84.278 38.04 4774
+-84.152 38.04 4610
+-84.026 38.04 4440
+-83.9 38.04 4409
+-83.774 38.04 4242
+-83.648 38.04 4195
+-83.522 38.04 4115
+-83.396 38.04 3955
+-83.27 38.04 3728
+-83.144 38.04 3503
+-83.018 38.04 3316
+-82.892 38.04 3154
+-82.766 38.04 2933
+-82.64 38.04 3087
+-82.514 38.04 3237
+-82.388 38.04 3321
+-82.262 38.04 3389
+-82.136 38.04 3433
+-82.01 38.04 3463
+-81.884 38.04 3501
+-81.758 38.04 3534
+-81.632 38.04 3562
+-81.506 38.04 3587
+-81.38 38.04 3609
+-81.254 38.04 3628
+-81.128 38.04 3644
+-81.002 38.04 3659
+-80.876 38.04 3673
+-80.75 38.04 3572
+-80.624 38.04 3581
+-80.498 38.04 3589
+-80.372 38.04 3596
+-80.246 38.04 3603
+-80.12 38.04 3535
+-79.994 38.04 3540
+-79.868 38.04 3544
+-79.742 38.04 3549
+-79.616 38.04 3553
+-79.49 38.04 3556
+-79.364 38.04 3559
+-79.238 38.04 3563
+-79.112 38.04 3565
+-78.986 38.04 3568
+-78.86 38.04 3571
+-78.734 38.04 3457
+-78.608 38.04 3387
+-78.482 38.04 3387
+-78.356 38.04 3386
+-78.23 38.04 3386
+-78.104 38.04 3386
+-77.978 38.04 3386
+-77.852 38.04 3385
+-77.726 38.04 3385
+-77.6 38.04 3384
+-77.474 38.04 3384
+-77.348 38.04 3338
+-77.222 38.04 3336
+-77.096 38.04 3335
+-76.97 38.04 3334
+-76.844 38.04 3333
+-76.718 38.04 3332
+-76.592 38.04 3331
+-76.466 38.04 3330
+-76.34 38.04 3329
+-76.214 38.04 3328
+-76.088 38.04 3327
+-75.962 38.04 3326
+-75.836 38.04 3325
+-75.71 38.04 3324
+-75.584 38.04 3232
+-75.458 38.04 3063
+-75.332 38.04 3061
+-75.206 38.04 3059
+-75.08 38.04 3057
+-74.954 38.04 3055
+-74.828 38.04 3054
+-74.702 38.04 3052
+-74.576 38.04 3050
+-74.45 38.04 3049
+-74.324 38.04 3047
+-74.198 38.04 3046
+-74.072 38.04 3044
+-73.946 38.04 3043
+-73.82 38.04 3042
+-73.694 38.04 3041
+-73.568 38.04 3039
+-73.442 38.04 3038
+-73.316 38.04 3037
+-73.19 38.04 2908
+-73.064 38.04 2907
+-72.938 38.04 2876
+-72.812 38.04 2827
+-72.686 38.04 2826
+-72.56 38.04 2824
+-72.434 38.04 2839
+-72.308 38.04 2837
+-72.182 38.04 2848
+-72.056 38.04 2847
+-71.93 38.04 2807
+-71.804 38.04 2766
+-71.678 38.04 2765
+-71.552 38.04 2765
+-71.426 38.04 2765
+-71.3 38.04 2782
+-71.174 38.04 2788
+-71.048 38.04 2798
+-70.922 38.04 2797
+-70.796 38.04 2829
+-70.67 38.04 2841
+-70.544 38.04 2843
+-70.418 38.04 2899
+-70.292 38.04 2922
+-70.166 38.04 2900
+-70.04 38.04 2890
+-69.914 38.04 3044
+-69.788 38.04 3046
+-69.662 38.04 3110
+-69.536 38.04 3112
+-69.41 38.04 3114
+-69.284 38.04 3116
+-69.158 38.04 3118
+-69.032 38.04 3031
+-68.906 38.04 3052
+-68.78 38.04 3054
+-68.654 38.04 3043
+-68.528 38.04 3343
+-68.402 38.04 3375
+-68.276 38.04 3375
+-68.15 38.04 3370
+-68.024 38.04 3371
+-67.898 38.04 3376
+-67.772 38.04 3393
+-67.646 38.04 3394
+-67.52 38.04 3380
+-67.394 38.04 3381
+-67.268 38.04 3332
+-67.142 38.04 3333
+-67.016 38.04 3334
+-66.89 38.04 3402
+-66.764 38.04 3396
+-66.638 38.04 3406
+-66.512 38.04 3407
+-66.386 38.04 3385
+-66.26 38.04 3408
+-66.134 38.04 3456
+-66.008 38.04 3468
+-65.882 38.04 3467
+-65.756 38.04 3465
+-65.63 38.04 3521
+-65.504 38.04 3522
+-65.378 38.04 3458
+-65.252 38.04 3484
+-65.126 38.04 3476
+-128 37.988 2636
+-127.874 37.988 2634
+-127.748 37.988 2631
+-127.622 37.988 2629
+-127.496 37.988 2701
+-127.37 37.988 2752
+-127.244 37.988 2824
+-127.118 37.988 2855
+-126.992 37.988 2853
+-126.866 37.988 2851
+-126.74 37.988 2791
+-126.614 37.988 2903
+-126.488 37.988 2901
+-126.362 37.988 2985
+-126.236 37.988 2982
+-126.11 37.988 2979
+-125.984 37.988 2938
+-125.858 37.988 3055
+-125.732 37.988 3059
+-125.606 37.988 3176
+-125.48 37.988 3093
+-125.354 37.988 3113
+-125.228 37.988 3107
+-125.102 37.988 3102
+-124.976 37.988 3096
+-124.85 37.988 3091
+-124.724 37.988 3086
+-124.598 37.988 3081
+-124.472 37.988 3077
+-124.346 37.988 3087
+-124.22 37.988 3110
+-124.094 37.988 3111
+-123.968 37.988 3112
+-123.842 37.988 3149
+-123.716 37.988 3154
+-123.59 37.988 3161
+-123.464 37.988 3170
+-123.338 37.988 3180
+-123.212 37.988 3192
+-123.086 37.988 3270
+-122.96 37.988 3284
+-122.834 37.988 3343
+-122.708 37.988 3416
+-122.582 37.988 3456
+-122.456 37.988 3477
+-122.33 37.988 3491
+-122.204 37.988 3486
+-122.078 37.988 3528
+-121.952 37.988 3584
+-121.826 37.988 3663
+-121.7 37.988 3678
+-121.574 37.988 3717
+-121.448 37.988 3728
+-121.322 37.988 3797
+-121.196 37.988 3917
+-121.07 37.988 4057
+-120.944 37.988 4168
+-120.818 37.988 4299
+-120.692 37.988 4334
+-120.566 37.988 4429
+-120.44 37.988 4453
+-120.314 37.988 4498
+-120.188 37.988 4557
+-120.062 37.988 4590
+-119.936 37.988 4660
+-119.81 37.988 4722
+-119.684 37.988 4762
+-119.558 37.988 4757
+-119.432 37.988 4823
+-119.306 37.988 4897
+-119.18 37.988 4940
+-119.054 37.988 4977
+-118.928 37.988 5023
+-118.802 37.988 5078
+-118.676 37.988 5103
+-118.55 37.988 5156
+-118.424 37.988 5224
+-118.298 37.988 5262
+-118.172 37.988 5259
+-118.046 37.988 5277
+-117.92 37.988 5304
+-117.794 37.988 5325
+-117.668 37.988 5352
+-117.542 37.988 5350
+-117.416 37.988 5333
+-117.29 37.988 5339
+-117.164 37.988 5333
+-117.038 37.988 5345
+-116.912 37.988 5363
+-116.786 37.988 5341
+-116.66 37.988 5304
+-116.534 37.988 5281
+-116.408 37.988 5259
+-116.282 37.988 5219
+-116.156 37.988 5165
+-116.03 37.988 5121
+-115.904 37.988 5087
+-115.778 37.988 5068
+-115.652 37.988 5016
+-115.526 37.988 4974
+-115.4 37.988 4931
+-115.274 37.988 4875
+-115.148 37.988 4826
+-115.022 37.988 4709
+-114.896 37.988 4615
+-114.77 37.988 4524
+-114.644 37.988 4492
+-114.518 37.988 4434
+-114.392 37.988 4361
+-114.266 37.988 4293
+-114.14 37.988 4195
+-114.014 37.988 4141
+-113.888 37.988 4141
+-113.762 37.988 4139
+-113.636 37.988 4091
+-113.51 37.988 4053
+-113.384 37.988 3973
+-113.258 37.988 3930
+-113.132 37.988 3903
+-113.006 37.988 3808
+-112.88 37.988 3716
+-112.754 37.988 3616
+-112.628 37.988 3449
+-112.502 37.988 3359
+-112.376 37.988 3274
+-112.25 37.988 3171
+-112.124 37.988 3106
+-111.998 37.988 3063
+-111.872 37.988 2962
+-111.746 37.988 2924
+-111.62 37.988 2892
+-111.494 37.988 2859
+-111.368 37.988 2827
+-111.242 37.988 2774
+-111.116 37.988 2746
+-110.99 37.988 2718
+-110.864 37.988 2687
+-110.738 37.988 2647
+-110.612 37.988 2602
+-110.486 37.988 2578
+-110.36 37.988 2592
+-110.234 37.988 2616
+-110.108 37.988 2650
+-109.982 37.988 2674
+-109.856 37.988 2693
+-109.73 37.988 2694
+-109.604 37.988 2683
+-109.478 37.988 2650
+-109.352 37.988 2603
+-109.226 37.988 2539
+-109.1 37.988 2479
+-108.974 37.988 2416
+-108.848 37.988 2395
+-108.722 37.988 2412
+-108.596 37.988 2441
+-108.47 37.988 2452
+-108.344 37.988 2427
+-108.218 37.988 2363
+-108.092 37.988 2260
+-107.966 37.988 2142
+-107.84 37.988 2057
+-107.714 37.988 2024
+-107.588 37.988 2042
+-107.462 37.988 2105
+-107.336 37.988 2190
+-107.21 37.988 2278
+-107.084 37.988 2386
+-106.958 37.988 2463
+-106.832 37.988 2528
+-106.706 37.988 2607
+-106.58 37.988 2630
+-106.454 37.988 2673
+-106.328 37.988 2696
+-106.202 37.988 2772
+-106.076 37.988 2796
+-105.95 37.988 2822
+-105.824 37.988 2846
+-105.698 37.988 2831
+-105.572 37.988 2912
+-105.446 37.988 2924
+-105.32 37.988 2935
+-105.194 37.988 2936
+-105.068 37.988 2955
+-104.942 37.988 2963
+-104.816 37.988 2971
+-104.69 37.988 2942
+-104.564 37.988 2960
+-104.438 37.988 2995
+-104.312 37.988 3002
+-104.186 37.988 3006
+-104.06 37.988 3013
+-103.934 37.988 3019
+-103.808 37.988 3007
+-103.682 37.988 3092
+-103.556 37.988 3098
+-103.43 37.988 3067
+-103.304 37.988 3072
+-103.178 37.988 3077
+-103.052 37.988 3083
+-102.926 37.988 3000
+-102.8 37.988 3004
+-102.674 37.988 3008
+-102.548 37.988 2940
+-102.422 37.988 2786
+-102.296 37.988 2801
+-102.17 37.988 2742
+-102.044 37.988 2804
+-101.918 37.988 2687
+-101.792 37.988 2733
+-101.666 37.988 2764
+-101.54 37.988 2841
+-101.414 37.988 2839
+-101.288 37.988 2838
+-101.162 37.988 2868
+-101.036 37.988 3035
+-100.91 37.988 3038
+-100.784 37.988 3170
+-100.658 37.988 3171
+-100.532 37.988 3171
+-100.406 37.988 3172
+-100.28 37.988 3173
+-100.154 37.988 3222
+-100.028 37.988 3221
+-99.902 37.988 3221
+-99.776 37.988 3221
+-99.65 37.988 3221
+-99.524 37.988 3221
+-99.398 37.988 3221
+-99.272 37.988 3221
+-99.146 37.988 3222
+-99.02 37.988 3222
+-98.894 37.988 3244
+-98.768 37.988 3327
+-98.642 37.988 3325
+-98.516 37.988 3323
+-98.39 37.988 3321
+-98.264 37.988 3320
+-98.138 37.988 3319
+-98.012 37.988 3318
+-97.886 37.988 3341
+-97.76 37.988 3341
+-97.634 37.988 3341
+-97.508 37.988 3342
+-97.382 37.988 3345
+-97.256 37.988 3418
+-97.13 37.988 3423
+-97.004 37.988 3429
+-96.878 37.988 3436
+-96.752 37.988 3443
+-96.626 37.988 3484
+-96.5 37.988 3490
+-96.374 37.988 3541
+-96.248 37.988 3587
+-96.122 37.988 3638
+-95.996 37.988 3729
+-95.87 37.988 3806
+-95.744 37.988 3845
+-95.618 37.988 3793
+-95.492 37.988 3967
+-95.366 37.988 4236
+-95.24 37.988 4361
+-95.114 37.988 4366
+-94.988 37.988 4496
+-94.862 37.988 4695
+-94.736 37.988 4786
+-94.61 37.988 4827
+-94.484 37.988 4933
+-94.358 37.988 5051
+-94.232 37.988 5215
+-94.106 37.988 5374
+-93.98 37.988 5587
+-93.854 37.988 5642
+-93.728 37.988 5783
+-93.602 37.988 5930
+-93.476 37.988 6073
+-93.35 37.988 6147
+-93.224 37.988 6357
+-93.098 37.988 6451
+-92.972 37.988 6527
+-92.846 37.988 6731
+-92.72 37.988 6841
+-92.594 37.988 6997
+-92.468 37.988 7113
+-92.342 37.988 7224
+-92.216 37.988 7351
+-92.09 37.988 7477
+-91.964 37.988 7598
+-91.838 37.988 7681
+-91.712 37.988 7802
+-91.586 37.988 7946
+-91.46 37.988 8063
+-91.334 37.988 8200
+-91.208 37.988 8237
+-91.082 37.988 8353
+-90.956 37.988 8379
+-90.83 37.988 8484
+-90.704 37.988 8535
+-90.578 37.988 8590
+-90.452 37.988 8575
+-90.326 37.988 8554
+-90.2 37.988 8515
+-90.074 37.988 8502
+-89.948 37.988 8408
+-89.822 37.988 8529
+-89.696 37.988 8829
+-89.57 37.988 8911
+-89.444 37.988 9037
+-89.318 37.988 9189
+-89.192 37.988 9301
+-89.066 37.988 9397
+-88.94 37.988 9481
+-88.814 37.988 9467
+-88.688 37.988 9469
+-88.562 37.988 9365
+-88.436 37.988 9311
+-88.31 37.988 9126
+-88.184 37.988 9011
+-88.058 37.988 8861
+-87.932 37.988 8709
+-87.806 37.988 8632
+-87.68 37.988 8470
+-87.554 37.988 8354
+-87.428 37.988 8231
+-87.302 37.988 8058
+-87.176 37.988 7947
+-87.05 37.988 7814
+-86.924 37.988 7680
+-86.798 37.988 7488
+-86.672 37.988 7407
+-86.546 37.988 7240
+-86.42 37.988 7105
+-86.294 37.988 6912
+-86.168 37.988 6781
+-86.042 37.988 6685
+-85.916 37.988 6531
+-85.79 37.988 6410
+-85.664 37.988 6258
+-85.538 37.988 6112
+-85.412 37.988 5971
+-85.286 37.988 5854
+-85.16 37.988 5708
+-85.034 37.988 5544
+-84.908 37.988 5448
+-84.782 37.988 5359
+-84.656 37.988 5087
+-84.53 37.988 4931
+-84.404 37.988 4855
+-84.278 37.988 4745
+-84.152 37.988 4690
+-84.026 37.988 4561
+-83.9 37.988 4475
+-83.774 37.988 4364
+-83.648 37.988 4249
+-83.522 37.988 4145
+-83.396 37.988 3988
+-83.27 37.988 3798
+-83.144 37.988 3587
+-83.018 37.988 3394
+-82.892 37.988 3212
+-82.766 37.988 3096
+-82.64 37.988 3152
+-82.514 37.988 3254
+-82.388 37.988 3316
+-82.262 37.988 3369
+-82.136 37.988 3407
+-82.01 37.988 3453
+-81.884 37.988 3494
+-81.758 37.988 3529
+-81.632 37.988 3554
+-81.506 37.988 3580
+-81.38 37.988 3603
+-81.254 37.988 3623
+-81.128 37.988 3640
+-81.002 37.988 3655
+-80.876 37.988 3557
+-80.75 37.988 3568
+-80.624 37.988 3577
+-80.498 37.988 3585
+-80.372 37.988 3590
+-80.246 37.988 3597
+-80.12 37.988 3603
+-79.994 37.988 3538
+-79.868 37.988 3542
+-79.742 37.988 3547
+-79.616 37.988 3551
+-79.49 37.988 3554
+-79.364 37.988 3558
+-79.238 37.988 3561
+-79.112 37.988 3564
+-78.986 37.988 3567
+-78.86 37.988 3474
+-78.734 37.988 3411
+-78.608 37.988 3411
+-78.482 37.988 3411
+-78.356 37.988 3412
+-78.23 37.988 3412
+-78.104 37.988 3412
+-77.978 37.988 3412
+-77.852 37.988 3412
+-77.726 37.988 3413
+-77.6 37.988 3336
+-77.474 37.988 3335
+-77.348 37.988 3334
+-77.222 37.988 3333
+-77.096 37.988 3332
+-76.97 37.988 3330
+-76.844 37.988 3329
+-76.718 37.988 3328
+-76.592 37.988 3327
+-76.466 37.988 3326
+-76.34 37.988 3325
+-76.214 37.988 3324
+-76.088 37.988 3324
+-75.962 37.988 3323
+-75.836 37.988 3322
+-75.71 37.988 3229
+-75.584 37.988 3062
+-75.458 37.988 3060
+-75.332 37.988 3058
+-75.206 37.988 3056
+-75.08 37.988 3054
+-74.954 37.988 3053
+-74.828 37.988 3051
+-74.702 37.988 3049
+-74.576 37.988 3048
+-74.45 37.988 3046
+-74.324 37.988 3045
+-74.198 37.988 3043
+-74.072 37.988 3042
+-73.946 37.988 3040
+-73.82 37.988 3039
+-73.694 37.988 3038
+-73.568 37.988 3037
+-73.442 37.988 3036
+-73.316 37.988 2907
+-73.19 37.988 2905
+-73.064 37.988 2874
+-72.938 37.988 2825
+-72.812 37.988 2824
+-72.686 37.988 2823
+-72.56 37.988 2837
+-72.434 37.988 2836
+-72.308 37.988 2846
+-72.182 37.988 2845
+-72.056 37.988 2805
+-71.93 37.988 2764
+-71.804 37.988 2764
+-71.678 37.988 2763
+-71.552 37.988 2763
+-71.426 37.988 2780
+-71.3 37.988 2787
+-71.174 37.988 2796
+-71.048 37.988 2795
+-70.922 37.988 2828
+-70.796 37.988 2840
+-70.67 37.988 2841
+-70.544 37.988 2897
+-70.418 37.988 2920
+-70.292 37.988 2899
+-70.166 37.988 2889
+-70.04 37.988 3042
+-69.914 37.988 3044
+-69.788 37.988 3108
+-69.662 37.988 3110
+-69.536 37.988 3112
+-69.41 37.988 3114
+-69.284 37.988 3116
+-69.158 37.988 3029
+-69.032 37.988 3051
+-68.906 37.988 3053
+-68.78 37.988 3042
+-68.654 37.988 3341
+-68.528 37.988 3373
+-68.402 37.988 3374
+-68.276 37.988 3369
+-68.15 37.988 3370
+-68.024 37.988 3374
+-67.898 37.988 3391
+-67.772 37.988 3392
+-67.646 37.988 3379
+-67.52 37.988 3380
+-67.394 37.988 3331
+-67.268 37.988 3332
+-67.142 37.988 3333
+-67.016 37.988 3401
+-66.89 37.988 3395
+-66.764 37.988 3405
+-66.638 37.988 3406
+-66.512 37.988 3384
+-66.386 37.988 3407
+-66.26 37.988 3455
+-66.134 37.988 3467
+-66.008 37.988 3466
+-65.882 37.988 3464
+-65.756 37.988 3520
+-65.63 37.988 3521
+-65.504 37.988 3457
+-65.378 37.988 3483
+-65.252 37.988 3475
+-65.126 37.988 3389
+-128 37.936 2714
+-127.874 37.936 2643
+-127.748 37.936 2641
+-127.622 37.936 2714
+-127.496 37.936 2708
+-127.37 37.936 2706
+-127.244 37.936 2834
+-127.118 37.936 2833
+-126.992 37.936 2865
+-126.866 37.936 2864
+-126.74 37.936 2862
+-126.614 37.936 2802
+-126.488 37.936 3003
+-126.362 37.936 3000
+-126.236 37.936 2998
+-126.11 37.936 2995
+-125.984 37.936 2953
+-125.858 37.936 3039
+-125.732 37.936 3159
+-125.606 37.936 3166
+-125.48 37.936 3193
+-125.354 37.936 3110
+-125.228 37.936 3131
+-125.102 37.936 3127
+-124.976 37.936 3123
+-124.85 37.936 3120
+-124.724 37.936 3116
+-124.598 37.936 3114
+-124.472 37.936 3111
+-124.346 37.936 3109
+-124.22 37.936 3122
+-124.094 37.936 3149
+-123.968 37.936 3154
+-123.842 37.936 3158
+-123.716 37.936 3199
+-123.59 37.936 3209
+-123.464 37.936 3220
+-123.338 37.936 3233
+-123.212 37.936 3247
+-123.086 37.936 3314
+-122.96 37.936 3332
+-122.834 37.936 3478
+-122.708 37.936 3522
+-122.582 37.936 3573
+-122.456 37.936 3578
+-122.33 37.936 3589
+-122.204 37.936 3694
+-122.078 37.936 3719
+-121.952 37.936 3706
+-121.826 37.936 3746
+-121.7 37.936 3718
+-121.574 37.936 3647
+-121.448 37.936 3610
+-121.322 37.936 3703
+-121.196 37.936 3884
+-121.07 37.936 4088
+-120.944 37.936 4208
+-120.818 37.936 4298
+-120.692 37.936 4386
+-120.566 37.936 4427
+-120.44 37.936 4450
+-120.314 37.936 4513
+-120.188 37.936 4569
+-120.062 37.936 4630
+-119.936 37.936 4702
+-119.81 37.936 4768
+-119.684 37.936 4796
+-119.558 37.936 4814
+-119.432 37.936 4871
+-119.306 37.936 4929
+-119.18 37.936 4927
+-119.054 37.936 4998
+-118.928 37.936 5073
+-118.802 37.936 5130
+-118.676 37.936 5155
+-118.55 37.936 5218
+-118.424 37.936 5230
+-118.298 37.936 5306
+-118.172 37.936 5311
+-118.046 37.936 5330
+-117.92 37.936 5374
+-117.794 37.936 5420
+-117.668 37.936 5440
+-117.542 37.936 5439
+-117.416 37.936 5410
+-117.29 37.936 5415
+-117.164 37.936 5426
+-117.038 37.936 5418
+-116.912 37.936 5408
+-116.786 37.936 5418
+-116.66 37.936 5386
+-116.534 37.936 5363
+-116.408 37.936 5338
+-116.282 37.936 5296
+-116.156 37.936 5251
+-116.03 37.936 5214
+-115.904 37.936 5163
+-115.778 37.936 5119
+-115.652 37.936 5081
+-115.526 37.936 5034
+-115.4 37.936 4984
+-115.274 37.936 4948
+-115.148 37.936 4875
+-115.022 37.936 4810
+-114.896 37.936 4720
+-114.77 37.936 4608
+-114.644 37.936 4543
+-114.518 37.936 4487
+-114.392 37.936 4394
+-114.266 37.936 4306
+-114.14 37.936 4189
+-114.014 37.936 4089
+-113.888 37.936 4148
+-113.762 37.936 4183
+-113.636 37.936 4189
+-113.51 37.936 4149
+-113.384 37.936 4023
+-113.258 37.936 3981
+-113.132 37.936 3943
+-113.006 37.936 3853
+-112.88 37.936 3744
+-112.754 37.936 3639
+-112.628 37.936 3443
+-112.502 37.936 3351
+-112.376 37.936 3236
+-112.25 37.936 3141
+-112.124 37.936 3099
+-111.998 37.936 3001
+-111.872 37.936 2965
+-111.746 37.936 2937
+-111.62 37.936 2911
+-111.494 37.936 2887
+-111.368 37.936 2863
+-111.242 37.936 2840
+-111.116 37.936 2808
+-110.99 37.936 2790
+-110.864 37.936 2765
+-110.738 37.936 2736
+-110.612 37.936 2706
+-110.486 37.936 2688
+-110.36 37.936 2692
+-110.234 37.936 2693
+-110.108 37.936 2706
+-109.982 37.936 2726
+-109.856 37.936 2732
+-109.73 37.936 2732
+-109.604 37.936 2713
+-109.478 37.936 2680
+-109.352 37.936 2630
+-109.226 37.936 2585
+-109.1 37.936 2506
+-108.974 37.936 2441
+-108.848 37.936 2417
+-108.722 37.936 2433
+-108.596 37.936 2461
+-108.47 37.936 2477
+-108.344 37.936 2468
+-108.218 37.936 2418
+-108.092 37.936 2330
+-107.966 37.936 2246
+-107.84 37.936 2183
+-107.714 37.936 2150
+-107.588 37.936 2164
+-107.462 37.936 2212
+-107.336 37.936 2277
+-107.21 37.936 2373
+-107.084 37.936 2445
+-106.958 37.936 2510
+-106.832 37.936 2589
+-106.706 37.936 2615
+-106.58 37.936 2660
+-106.454 37.936 2686
+-106.328 37.936 2762
+-106.202 37.936 2788
+-106.076 37.936 2815
+-105.95 37.936 2839
+-105.824 37.936 2825
+-105.698 37.936 2904
+-105.572 37.936 2916
+-105.446 37.936 2927
+-105.32 37.936 2929
+-105.194 37.936 2947
+-105.068 37.936 2956
+-104.942 37.936 2964
+-104.816 37.936 2935
+-104.69 37.936 2953
+-104.564 37.936 2987
+-104.438 37.936 2994
+-104.312 37.936 2999
+-104.186 37.936 3006
+-104.06 37.936 3012
+-103.934 37.936 3001
+-103.808 37.936 3084
+-103.682 37.936 3091
+-103.556 37.936 3060
+-103.43 37.936 3066
+-103.304 37.936 3072
+-103.178 37.936 3077
+-103.052 37.936 2996
+-102.926 37.936 3000
+-102.8 37.936 3004
+-102.674 37.936 3013
+-102.548 37.936 3017
+-102.422 37.936 2846
+-102.296 37.936 2787
+-102.17 37.936 2767
+-102.044 37.936 2725
+-101.918 37.936 2689
+-101.792 37.936 2735
+-101.666 37.936 2671
+-101.54 37.936 2708
+-101.414 37.936 2831
+-101.288 37.936 2823
+-101.162 37.936 2853
+-101.036 37.936 3034
+-100.91 37.936 3046
+-100.784 37.936 3158
+-100.658 37.936 3171
+-100.532 37.936 3172
+-100.406 37.936 3173
+-100.28 37.936 3221
+-100.154 37.936 3221
+-100.028 37.936 3221
+-99.902 37.936 3221
+-99.776 37.936 3221
+-99.65 37.936 3221
+-99.524 37.936 3221
+-99.398 37.936 3221
+-99.272 37.936 3222
+-99.146 37.936 3222
+-99.02 37.936 3245
+-98.894 37.936 3288
+-98.768 37.936 3288
+-98.642 37.936 3328
+-98.516 37.936 3327
+-98.39 37.936 3325
+-98.264 37.936 3325
+-98.138 37.936 3324
+-98.012 37.936 3324
+-97.886 37.936 3323
+-97.76 37.936 3346
+-97.634 37.936 3347
+-97.508 37.936 3349
+-97.382 37.936 3423
+-97.256 37.936 3427
+-97.13 37.936 3432
+-97.004 37.936 3439
+-96.878 37.936 3447
+-96.752 37.936 3457
+-96.626 37.936 3497
+-96.5 37.936 3553
+-96.374 37.936 3573
+-96.248 37.936 3626
+-96.122 37.936 3666
+-95.996 37.936 3716
+-95.87 37.936 3732
+-95.744 37.936 3740
+-95.618 37.936 3851
+-95.492 37.936 4017
+-95.366 37.936 4248
+-95.24 37.936 4347
+-95.114 37.936 4300
+-94.988 37.936 4477
+-94.862 37.936 4678
+-94.736 37.936 4748
+-94.61 37.936 4824
+-94.484 37.936 4924
+-94.358 37.936 5071
+-94.232 37.936 5199
+-94.106 37.936 5338
+-93.98 37.936 5572
+-93.854 37.936 5658
+-93.728 37.936 5758
+-93.602 37.936 5895
+-93.476 37.936 6048
+-93.35 37.936 6213
+-93.224 37.936 6338
+-93.098 37.936 6452
+-92.972 37.936 6510
+-92.846 37.936 6672
+-92.72 37.936 6845
+-92.594 37.936 6993
+-92.468 37.936 7103
+-92.342 37.936 7230
+-92.216 37.936 7277
+-92.09 37.936 7462
+-91.964 37.936 7575
+-91.838 37.936 7669
+-91.712 37.936 7828
+-91.586 37.936 7913
+-91.46 37.936 8014
+-91.334 37.936 8110
+-91.208 37.936 8162
+-91.082 37.936 8303
+-90.956 37.936 8360
+-90.83 37.936 8417
+-90.704 37.936 8480
+-90.578 37.936 8527
+-90.452 37.936 8517
+-90.326 37.936 8513
+-90.2 37.936 8478
+-90.074 37.936 8402
+-89.948 37.936 8387
+-89.822 37.936 8662
+-89.696 37.936 8808
+-89.57 37.936 8979
+-89.444 37.936 9063
+-89.318 37.936 9195
+-89.192 37.936 9345
+-89.066 37.936 9408
+-88.94 37.936 9500
+-88.814 37.936 9544
+-88.688 37.936 9499
+-88.562 37.936 9437
+-88.436 37.936 9314
+-88.31 37.936 9201
+-88.184 37.936 9063
+-88.058 37.936 8892
+-87.932 37.936 8772
+-87.806 37.936 8687
+-87.68 37.936 8467
+-87.554 37.936 8301
+-87.428 37.936 8233
+-87.302 37.936 8049
+-87.176 37.936 7912
+-87.05 37.936 7811
+-86.924 37.936 7725
+-86.798 37.936 7581
+-86.672 37.936 7404
+-86.546 37.936 7295
+-86.42 37.936 7082
+-86.294 37.936 6932
+-86.168 37.936 6801
+-86.042 37.936 6659
+-85.916 37.936 6519
+-85.79 37.936 6379
+-85.664 37.936 6235
+-85.538 37.936 6082
+-85.412 37.936 5978
+-85.286 37.936 5884
+-85.16 37.936 5725
+-85.034 37.936 5535
+-84.908 37.936 5485
+-84.782 37.936 5363
+-84.656 37.936 5137
+-84.53 37.936 4971
+-84.404 37.936 4859
+-84.278 37.936 4806
+-84.152 37.936 4725
+-84.026 37.936 4643
+-83.9 37.936 4519
+-83.774 37.936 4386
+-83.648 37.936 4296
+-83.522 37.936 4179
+-83.396 37.936 4010
+-83.27 37.936 3845
+-83.144 37.936 3665
+-83.018 37.936 3491
+-82.892 37.936 3333
+-82.766 37.936 3249
+-82.64 37.936 3240
+-82.514 37.936 3257
+-82.388 37.936 3299
+-82.262 37.936 3341
+-82.136 37.936 3395
+-82.01 37.936 3444
+-81.884 37.936 3487
+-81.758 37.936 3524
+-81.632 37.936 3555
+-81.506 37.936 3583
+-81.38 37.936 3606
+-81.254 37.936 3627
+-81.128 37.936 3645
+-81.002 37.936 3661
+-80.876 37.936 3634
+-80.75 37.936 3562
+-80.624 37.936 3572
+-80.498 37.936 3580
+-80.372 37.936 3587
+-80.246 37.936 3594
+-80.12 37.936 3600
+-79.994 37.936 3606
+-79.868 37.936 3541
+-79.742 37.936 3545
+-79.616 37.936 3549
+-79.49 37.936 3553
+-79.364 37.936 3556
+-79.238 37.936 3559
+-79.112 37.936 3562
+-78.986 37.936 3471
+-78.86 37.936 3408
+-78.734 37.936 3408
+-78.608 37.936 3409
+-78.482 37.936 3409
+-78.356 37.936 3409
+-78.23 37.936 3409
+-78.104 37.936 3410
+-77.978 37.936 3410
+-77.852 37.936 3410
+-77.726 37.936 3334
+-77.6 37.936 3332
+-77.474 37.936 3331
+-77.348 37.936 3330
+-77.222 37.936 3329
+-77.096 37.936 3328
+-76.97 37.936 3327
+-76.844 37.936 3326
+-76.718 37.936 3325
+-76.592 37.936 3324
+-76.466 37.936 3323
+-76.34 37.936 3322
+-76.214 37.936 3321
+-76.088 37.936 3320
+-75.962 37.936 3319
+-75.836 37.936 3227
+-75.71 37.936 3061
+-75.584 37.936 3059
+-75.458 37.936 3057
+-75.332 37.936 3055
+-75.206 37.936 3053
+-75.08 37.936 3051
+-74.954 37.936 3050
+-74.828 37.936 3048
+-74.702 37.936 3046
+-74.576 37.936 3045
+-74.45 37.936 3043
+-74.324 37.936 3042
+-74.198 37.936 3040
+-74.072 37.936 3039
+-73.946 37.936 3038
+-73.82 37.936 3036
+-73.694 37.936 3035
+-73.568 37.936 3034
+-73.442 37.936 2905
+-73.316 37.936 2904
+-73.19 37.936 2872
+-73.064 37.936 2823
+-72.938 37.936 2822
+-72.812 37.936 2821
+-72.686 37.936 2835
+-72.56 37.936 2834
+-72.434 37.936 2844
+-72.308 37.936 2843
+-72.182 37.936 2803
+-72.056 37.936 2762
+-71.93 37.936 2762
+-71.804 37.936 2762
+-71.678 37.936 2761
+-71.552 37.936 2778
+-71.426 37.936 2785
+-71.3 37.936 2795
+-71.174 37.936 2793
+-71.048 37.936 2826
+-70.922 37.936 2838
+-70.796 37.936 2839
+-70.67 37.936 2895
+-70.544 37.936 2918
+-70.418 37.936 2897
+-70.292 37.936 2887
+-70.166 37.936 3040
+-70.04 37.936 3042
+-69.914 37.936 3106
+-69.788 37.936 3108
+-69.662 37.936 3110
+-69.536 37.936 3112
+-69.41 37.936 3114
+-69.284 37.936 3028
+-69.158 37.936 3049
+-69.032 37.936 3051
+-68.906 37.936 3040
+-68.78 37.936 3340
+-68.654 37.936 3371
+-68.528 37.936 3372
+-68.402 37.936 3367
+-68.276 37.936 3368
+-68.15 37.936 3373
+-68.024 37.936 3390
+-67.898 37.936 3391
+-67.772 37.936 3378
+-67.646 37.936 3379
+-67.52 37.936 3330
+-67.394 37.936 3331
+-67.268 37.936 3331
+-67.142 37.936 3399
+-67.016 37.936 3394
+-66.89 37.936 3404
+-66.764 37.936 3405
+-66.638 37.936 3383
+-66.512 37.936 3406
+-66.386 37.936 3454
+-66.26 37.936 3466
+-66.134 37.936 3465
+-66.008 37.936 3463
+-65.882 37.936 3519
+-65.756 37.936 3520
+-65.63 37.936 3456
+-65.504 37.936 3481
+-65.378 37.936 3474
+-65.252 37.936 3392
+-65.126 37.936 3299
+-128 37.884 2724
+-127.874 37.884 2721
+-127.748 37.884 2715
+-127.622 37.884 2720
+-127.496 37.884 2718
+-127.37 37.884 2844
+-127.244 37.884 2844
+-127.118 37.884 2843
+-126.992 37.884 2843
+-126.866 37.884 2875
+-126.74 37.884 2951
+-126.614 37.884 2898
+-126.488 37.884 2898
+-126.362 37.884 3014
+-126.236 37.884 3012
+-126.11 37.884 2966
+-125.984 37.884 3055
+-125.858 37.884 3054
+-125.732 37.884 3053
+-125.606 37.884 3175
+-125.48 37.884 3183
+-125.354 37.884 3212
+-125.228 37.884 3129
+-125.102 37.884 3152
+-124.976 37.884 3149
+-124.85 37.884 3147
+-124.724 37.884 3145
+-124.598 37.884 3144
+-124.472 37.884 3143
+-124.346 37.884 3143
+-124.22 37.884 3144
+-124.094 37.884 3160
+-123.968 37.884 3191
+-123.842 37.884 3199
+-123.716 37.884 3206
+-123.59 37.884 3341
+-123.464 37.884 3321
+-123.338 37.884 3335
+-123.212 37.884 3350
+-123.086 37.884 3468
+-122.96 37.884 3486
+-122.834 37.884 3514
+-122.708 37.884 3602
+-122.582 37.884 3639
+-122.456 37.884 3686
+-122.33 37.884 3776
+-122.204 37.884 3830
+-122.078 37.884 3829
+-121.952 37.884 3835
+-121.826 37.884 3792
+-121.7 37.884 3723
+-121.574 37.884 3605
+-121.448 37.884 3523
+-121.322 37.884 3647
+-121.196 37.884 3888
+-121.07 37.884 4092
+-120.944 37.884 4228
+-120.818 37.884 4345
+-120.692 37.884 4392
+-120.566 37.884 4411
+-120.44 37.884 4434
+-120.314 37.884 4498
+-120.188 37.884 4571
+-120.062 37.884 4661
+-119.936 37.884 4742
+-119.81 37.884 4802
+-119.684 37.884 4851
+-119.558 37.884 4869
+-119.432 37.884 4915
+-119.306 37.884 4970
+-119.18 37.884 4994
+-119.054 37.884 5079
+-118.928 37.884 5136
+-118.802 37.884 5170
+-118.676 37.884 5219
+-118.55 37.884 5285
+-118.424 37.884 5313
+-118.298 37.884 5341
+-118.172 37.884 5365
+-118.046 37.884 5399
+-117.92 37.884 5443
+-117.794 37.884 5490
+-117.668 37.884 5500
+-117.542 37.884 5503
+-117.416 37.884 5515
+-117.29 37.884 5520
+-117.164 37.884 5514
+-117.038 37.884 5499
+-116.912 37.884 5469
+-116.786 37.884 5460
+-116.66 37.884 5431
+-116.534 37.884 5394
+-116.408 37.884 5347
+-116.282 37.884 5334
+-116.156 37.884 5294
+-116.03 37.884 5269
+-115.904 37.884 5214
+-115.778 37.884 5161
+-115.652 37.884 5126
+-115.526 37.884 5058
+-115.4 37.884 4968
+-115.274 37.884 4969
+-115.148 37.884 4901
+-115.022 37.884 4840
+-114.896 37.884 4738
+-114.77 37.884 4651
+-114.644 37.884 4570
+-114.518 37.884 4497
+-114.392 37.884 4453
+-114.266 37.884 4354
+-114.14 37.884 4222
+-114.014 37.884 4125
+-113.888 37.884 4180
+-113.762 37.884 4234
+-113.636 37.884 4232
+-113.51 37.884 4197
+-113.384 37.884 4090
+-113.258 37.884 4043
+-113.132 37.884 3995
+-113.006 37.884 3863
+-112.88 37.884 3738
+-112.754 37.884 3594
+-112.628 37.884 3445
+-112.502 37.884 3332
+-112.376 37.884 3242
+-112.25 37.884 3150
+-112.124 37.884 3097
+-111.998 37.884 3033
+-111.872 37.884 3001
+-111.746 37.884 2943
+-111.62 37.884 2922
+-111.494 37.884 2905
+-111.368 37.884 2884
+-111.242 37.884 2877
+-111.116 37.884 2856
+-110.99 37.884 2844
+-110.864 37.884 2829
+-110.738 37.884 2812
+-110.612 37.884 2793
+-110.486 37.884 2781
+-110.36 37.884 2777
+-110.234 37.884 2782
+-110.108 37.884 2769
+-109.982 37.884 2778
+-109.856 37.884 2779
+-109.73 37.884 2769
+-109.604 37.884 2750
+-109.478 37.884 2719
+-109.352 37.884 2700
+-109.226 37.884 2637
+-109.1 37.884 2567
+-108.974 37.884 2509
+-108.848 37.884 2483
+-108.722 37.884 2493
+-108.596 37.884 2517
+-108.47 37.884 2523
+-108.344 37.884 2515
+-108.218 37.884 2466
+-108.092 37.884 2412
+-107.966 37.884 2360
+-107.84 37.884 2309
+-107.714 37.884 2291
+-107.588 37.884 2299
+-107.462 37.884 2329
+-107.336 37.884 2401
+-107.21 37.884 2457
+-107.084 37.884 2512
+-106.958 37.884 2587
+-106.832 37.884 2611
+-106.706 37.884 2655
+-106.58 37.884 2682
+-106.454 37.884 2757
+-106.328 37.884 2783
+-106.202 37.884 2810
+-106.076 37.884 2834
+-105.95 37.884 2822
+-105.824 37.884 2897
+-105.698 37.884 2909
+-105.572 37.884 2920
+-105.446 37.884 2922
+-105.32 37.884 2940
+-105.194 37.884 2948
+-105.068 37.884 2956
+-104.942 37.884 2928
+-104.816 37.884 2946
+-104.69 37.884 2979
+-104.564 37.884 2987
+-104.438 37.884 2991
+-104.312 37.884 2998
+-104.186 37.884 3005
+-104.06 37.884 2994
+-103.934 37.884 3076
+-103.808 37.884 3083
+-103.682 37.884 3054
+-103.556 37.884 3060
+-103.43 37.884 3065
+-103.304 37.884 3071
+-103.178 37.884 2991
+-103.052 37.884 2996
+-102.926 37.884 3000
+-102.8 37.884 3009
+-102.674 37.884 3013
+-102.548 37.884 3015
+-102.422 37.884 2925
+-102.296 37.884 2847
+-102.17 37.884 2770
+-102.044 37.884 2784
+-101.918 37.884 2690
+-101.792 37.884 2710
+-101.666 37.884 2738
+-101.54 37.884 2707
+-101.414 37.884 2805
+-101.288 37.884 2806
+-101.162 37.884 2835
+-101.036 37.884 3032
+-100.91 37.884 3045
+-100.784 37.884 3157
+-100.658 37.884 3172
+-100.532 37.884 3172
+-100.406 37.884 3221
+-100.28 37.884 3220
+-100.154 37.884 3220
+-100.028 37.884 3220
+-99.902 37.884 3220
+-99.776 37.884 3221
+-99.65 37.884 3221
+-99.524 37.884 3221
+-99.398 37.884 3221
+-99.272 37.884 3222
+-99.146 37.884 3246
+-99.02 37.884 3288
+-98.894 37.884 3288
+-98.768 37.884 3288
+-98.642 37.884 3289
+-98.516 37.884 3332
+-98.39 37.884 3330
+-98.264 37.884 3329
+-98.138 37.884 3328
+-98.012 37.884 3328
+-97.886 37.884 3328
+-97.76 37.884 3328
+-97.634 37.884 3342
+-97.508 37.884 3424
+-97.382 37.884 3426
+-97.256 37.884 3430
+-97.13 37.884 3435
+-97.004 37.884 3442
+-96.878 37.884 3450
+-96.752 37.884 3489
+-96.626 37.884 3546
+-96.5 37.884 3558
+-96.374 37.884 3578
+-96.248 37.884 3621
+-96.122 37.884 3663
+-95.996 37.884 3691
+-95.87 37.884 3676
+-95.744 37.884 3586
+-95.618 37.884 3781
+-95.492 37.884 4036
+-95.366 37.884 4256
+-95.24 37.884 4348
+-95.114 37.884 4290
+-94.988 37.884 4466
+-94.862 37.884 4653
+-94.736 37.884 4700
+-94.61 37.884 4844
+-94.484 37.884 4983
+-94.358 37.884 5127
+-94.232 37.884 5188
+-94.106 37.884 5349
+-93.98 37.884 5505
+-93.854 37.884 5615
+-93.728 37.884 5768
+-93.602 37.884 5935
+-93.476 37.884 5999
+-93.35 37.884 6208
+-93.224 37.884 6292
+-93.098 37.884 6420
+-92.972 37.884 6528
+-92.846 37.884 6661
+-92.72 37.884 6806
+-92.594 37.884 6955
+-92.468 37.884 7038
+-92.342 37.884 7209
+-92.216 37.884 7235
+-92.09 37.884 7438
+-91.964 37.884 7525
+-91.838 37.884 7632
+-91.712 37.884 7736
+-91.586 37.884 7833
+-91.46 37.884 7927
+-91.334 37.884 8048
+-91.208 37.884 8191
+-91.082 37.884 8228
+-90.956 37.884 8307
+-90.83 37.884 8391
+-90.704 37.884 8436
+-90.578 37.884 8459
+-90.452 37.884 8485
+-90.326 37.884 8442
+-90.2 37.884 8414
+-90.074 37.884 8383
+-89.948 37.884 8312
+-89.822 37.884 8667
+-89.696 37.884 8797
+-89.57 37.884 8951
+-89.444 37.884 9080
+-89.318 37.884 9275
+-89.192 37.884 9384
+-89.066 37.884 9465
+-88.94 37.884 9572
+-88.814 37.884 9621
+-88.688 37.884 9537
+-88.562 37.884 9392
+-88.436 37.884 9345
+-88.31 37.884 9192
+-88.184 37.884 9013
+-88.058 37.884 8894
+-87.932 37.884 8788
+-87.806 37.884 8615
+-87.68 37.884 8531
+-87.554 37.884 8407
+-87.428 37.884 8236
+-87.302 37.884 8042
+-87.176 37.884 7912
+-87.05 37.884 7756
+-86.924 37.884 7696
+-86.798 37.884 7655
+-86.672 37.884 7459
+-86.546 37.884 7275
+-86.42 37.884 7082
+-86.294 37.884 6906
+-86.168 37.884 6777
+-86.042 37.884 6662
+-85.916 37.884 6484
+-85.79 37.884 6373
+-85.664 37.884 6198
+-85.538 37.884 6132
+-85.412 37.884 5993
+-85.286 37.884 5838
+-85.16 37.884 5734
+-85.034 37.884 5614
+-84.908 37.884 5491
+-84.782 37.884 5383
+-84.656 37.884 5220
+-84.53 37.884 5020
+-84.404 37.884 4881
+-84.278 37.884 4819
+-84.152 37.884 4731
+-84.026 37.884 4646
+-83.9 37.884 4506
+-83.774 37.884 4360
+-83.648 37.884 4276
+-83.522 37.884 4197
+-83.396 37.884 4035
+-83.27 37.884 3890
+-83.144 37.884 3725
+-83.018 37.884 3538
+-82.892 37.884 3378
+-82.766 37.884 3260
+-82.64 37.884 3182
+-82.514 37.884 3193
+-82.388 37.884 3246
+-82.262 37.884 3317
+-82.136 37.884 3382
+-82.01 37.884 3437
+-81.884 37.884 3483
+-81.758 37.884 3522
+-81.632 37.884 3554
+-81.506 37.884 3582
+-81.38 37.884 3606
+-81.254 37.884 3627
+-81.128 37.884 3645
+-81.002 37.884 3620
+-80.876 37.884 3550
+-80.75 37.884 3561
+-80.624 37.884 3570
+-80.498 37.884 3578
+-80.372 37.884 3585
+-80.246 37.884 3592
+-80.12 37.884 3598
+-79.994 37.884 3604
+-79.868 37.884 3609
+-79.742 37.884 3544
+-79.616 37.884 3548
+-79.49 37.884 3551
+-79.364 37.884 3555
+-79.238 37.884 3558
+-79.112 37.884 3468
+-78.986 37.884 3405
+-78.86 37.884 3405
+-78.734 37.884 3406
+-78.608 37.884 3406
+-78.482 37.884 3406
+-78.356 37.884 3407
+-78.23 37.884 3407
+-78.104 37.884 3407
+-77.978 37.884 3407
+-77.852 37.884 3336
+-77.726 37.884 3335
+-77.6 37.884 3333
+-77.474 37.884 3332
+-77.348 37.884 3331
+-77.222 37.884 3330
+-77.096 37.884 3329
+-76.97 37.884 3328
+-76.844 37.884 3327
+-76.718 37.884 3305
+-76.592 37.884 3304
+-76.466 37.884 3303
+-76.34 37.884 3302
+-76.214 37.884 3301
+-76.088 37.884 3300
+-75.962 37.884 3224
+-75.836 37.884 3060
+-75.71 37.884 3058
+-75.584 37.884 3056
+-75.458 37.884 3054
+-75.332 37.884 3052
+-75.206 37.884 3050
+-75.08 37.884 3048
+-74.954 37.884 3046
+-74.828 37.884 3045
+-74.702 37.884 3043
+-74.576 37.884 3042
+-74.45 37.884 3040
+-74.324 37.884 3039
+-74.198 37.884 3037
+-74.072 37.884 3036
+-73.946 37.884 3035
+-73.82 37.884 3033
+-73.694 37.884 3032
+-73.568 37.884 2903
+-73.442 37.884 2902
+-73.316 37.884 2870
+-73.19 37.884 2821
+-73.064 37.884 2820
+-72.938 37.884 2819
+-72.812 37.884 2833
+-72.686 37.884 2832
+-72.56 37.884 2842
+-72.434 37.884 2841
+-72.308 37.884 2801
+-72.182 37.884 2760
+-72.056 37.884 2760
+-71.93 37.884 2760
+-71.804 37.884 2759
+-71.678 37.884 2777
+-71.552 37.884 2783
+-71.426 37.884 2793
+-71.3 37.884 2792
+-71.174 37.884 2824
+-71.048 37.884 2836
+-70.922 37.884 2838
+-70.796 37.884 2893
+-70.67 37.884 2916
+-70.544 37.884 2895
+-70.418 37.884 2885
+-70.292 37.884 3038
+-70.166 37.884 3040
+-70.04 37.884 3104
+-69.914 37.884 3106
+-69.788 37.884 3108
+-69.662 37.884 3110
+-69.536 37.884 3112
+-69.41 37.884 3026
+-69.284 37.884 3048
+-69.158 37.884 3049
+-69.032 37.884 3039
+-68.906 37.884 3338
+-68.78 37.884 3370
+-68.654 37.884 3371
+-68.528 37.884 3366
+-68.402 37.884 3367
+-68.276 37.884 3371
+-68.15 37.884 3388
+-68.024 37.884 3389
+-67.898 37.884 3376
+-67.772 37.884 3377
+-67.646 37.884 3328
+-67.52 37.884 3329
+-67.394 37.884 3330
+-67.268 37.884 3398
+-67.142 37.884 3392
+-67.016 37.884 3403
+-66.89 37.884 3404
+-66.764 37.884 3382
+-66.638 37.884 3404
+-66.512 37.884 3453
+-66.386 37.884 3465
+-66.26 37.884 3463
+-66.134 37.884 3462
+-66.008 37.884 3517
+-65.882 37.884 3519
+-65.756 37.884 3455
+-65.63 37.884 3480
+-65.504 37.884 3473
+-65.378 37.884 3387
+-65.252 37.884 3298
+-65.126 37.884 3323
+-128 37.832 2718
+-127.874 37.832 2728
+-127.748 37.832 2725
+-127.622 37.832 2796
+-127.496 37.832 2794
+-127.37 37.832 2853
+-127.244 37.832 2853
+-127.118 37.832 2853
+-126.992 37.832 2853
+-126.866 37.832 2943
+-126.74 37.832 2962
+-126.614 37.832 2960
+-126.488 37.832 2908
+-126.362 37.832 2909
+-126.236 37.832 2981
+-126.11 37.832 3067
+-125.984 37.832 3067
+-125.858 37.832 3067
+-125.732 37.832 3067
+-125.606 37.832 3068
+-125.48 37.832 3193
+-125.354 37.832 3202
+-125.228 37.832 3232
+-125.102 37.832 3150
+-124.976 37.832 3174
+-124.85 37.832 3173
+-124.724 37.832 3173
+-124.598 37.832 3173
+-124.472 37.832 3174
+-124.346 37.832 3175
+-124.22 37.832 3178
+-124.094 37.832 3181
+-123.968 37.832 3200
+-123.842 37.832 3234
+-123.716 37.832 3246
+-123.59 37.832 3257
+-123.464 37.832 3395
+-123.338 37.832 3418
+-123.212 37.832 3486
+-123.086 37.832 3552
+-122.96 37.832 3578
+-122.834 37.832 3593
+-122.708 37.832 3652
+-122.582 37.832 3756
+-122.456 37.832 3765
+-122.33 37.832 3911
+-122.204 37.832 3903
+-122.078 37.832 3893
+-121.952 37.832 3877
+-121.826 37.832 3872
+-121.7 37.832 3795
+-121.574 37.832 3694
+-121.448 37.832 3639
+-121.322 37.832 3757
+-121.196 37.832 3961
+-121.07 37.832 4138
+-120.944 37.832 4260
+-120.818 37.832 4354
+-120.692 37.832 4393
+-120.566 37.832 4396
+-120.44 37.832 4385
+-120.314 37.832 4427
+-120.188 37.832 4524
+-120.062 37.832 4651
+-119.936 37.832 4767
+-119.81 37.832 4841
+-119.684 37.832 4866
+-119.558 37.832 4848
+-119.432 37.832 4941
+-119.306 37.832 5027
+-119.18 37.832 5070
+-119.054 37.832 5136
+-118.928 37.832 5138
+-118.802 37.832 5182
+-118.676 37.832 5266
+-118.55 37.832 5351
+-118.424 37.832 5358
+-118.298 37.832 5392
+-118.172 37.832 5430
+-118.046 37.832 5461
+-117.92 37.832 5523
+-117.794 37.832 5538
+-117.668 37.832 5502
+-117.542 37.832 5550
+-117.416 37.832 5505
+-117.29 37.832 5567
+-117.164 37.832 5563
+-117.038 37.832 5528
+-116.912 37.832 5540
+-116.786 37.832 5524
+-116.66 37.832 5489
+-116.534 37.832 5449
+-116.408 37.832 5404
+-116.282 37.832 5357
+-116.156 37.832 5306
+-116.03 37.832 5262
+-115.904 37.832 5227
+-115.778 37.832 5143
+-115.652 37.832 5151
+-115.526 37.832 5102
+-115.4 37.832 5001
+-115.274 37.832 4966
+-115.148 37.832 4849
+-115.022 37.832 4862
+-114.896 37.832 4756
+-114.77 37.832 4669
+-114.644 37.832 4583
+-114.518 37.832 4458
+-114.392 37.832 4474
+-114.266 37.832 4425
+-114.14 37.832 4316
+-114.014 37.832 4238
+-113.888 37.832 4251
+-113.762 37.832 4287
+-113.636 37.832 4308
+-113.51 37.832 4269
+-113.384 37.832 4160
+-113.258 37.832 4065
+-113.132 37.832 3972
+-113.006 37.832 3856
+-112.88 37.832 3718
+-112.754 37.832 3590
+-112.628 37.832 3471
+-112.502 37.832 3324
+-112.376 37.832 3216
+-112.25 37.832 3145
+-112.124 37.832 3087
+-111.998 37.832 3029
+-111.872 37.832 2993
+-111.746 37.832 2964
+-111.62 37.832 2939
+-111.494 37.832 2917
+-111.368 37.832 2907
+-111.242 37.832 2894
+-111.116 37.832 2896
+-110.99 37.832 2881
+-110.864 37.832 2874
+-110.738 37.832 2865
+-110.612 37.832 2857
+-110.486 37.832 2848
+-110.36 37.832 2842
+-110.234 37.832 2842
+-110.108 37.832 2845
+-109.982 37.832 2825
+-109.856 37.832 2847
+-109.73 37.832 2843
+-109.604 37.832 2793
+-109.478 37.832 2798
+-109.352 37.832 2757
+-109.226 37.832 2704
+-109.1 37.832 2646
+-108.974 37.832 2599
+-108.848 37.832 2580
+-108.722 37.832 2576
+-108.596 37.832 2585
+-108.47 37.832 2580
+-108.344 37.832 2556
+-108.218 37.832 2531
+-108.092 37.832 2502
+-107.966 37.832 2461
+-107.84 37.832 2439
+-107.714 37.832 2424
+-107.588 37.832 2425
+-107.462 37.832 2472
+-107.336 37.832 2503
+-107.21 37.832 2541
+-107.084 37.832 2605
+-106.958 37.832 2622
+-106.832 37.832 2662
+-106.706 37.832 2686
+-106.58 37.832 2758
+-106.454 37.832 2784
+-106.328 37.832 2810
+-106.202 37.832 2833
+-106.076 37.832 2821
+-105.95 37.832 2893
+-105.824 37.832 2905
+-105.698 37.832 2914
+-105.572 37.832 2917
+-105.446 37.832 2934
+-105.32 37.832 2942
+-105.194 37.832 2949
+-105.068 37.832 2922
+-104.942 37.832 2939
+-104.816 37.832 2971
+-104.69 37.832 2979
+-104.564 37.832 2984
+-104.438 37.832 2991
+-104.312 37.832 2998
+-104.186 37.832 2988
+-104.06 37.832 3068
+-103.934 37.832 3075
+-103.808 37.832 3046
+-103.682 37.832 3053
+-103.556 37.832 3059
+-103.43 37.832 3065
+-103.304 37.832 2987
+-103.178 37.832 2991
+-103.052 37.832 2996
+-102.926 37.832 3005
+-102.8 37.832 3009
+-102.674 37.832 3011
+-102.548 37.832 2987
+-102.422 37.832 2898
+-102.296 37.832 2848
+-102.17 37.832 2828
+-102.044 37.832 2758
+-101.918 37.832 2720
+-101.792 37.832 2764
+-101.666 37.832 2736
+-101.54 37.832 2712
+-101.414 37.832 2802
+-101.288 37.832 2803
+-101.162 37.832 2810
+-101.036 37.832 2844
+-100.91 37.832 3013
+-100.784 37.832 3155
+-100.658 37.832 3172
+-100.532 37.832 3220
+-100.406 37.832 3220
+-100.28 37.832 3220
+-100.154 37.832 3220
+-100.028 37.832 3220
+-99.902 37.832 3220
+-99.776 37.832 3220
+-99.65 37.832 3220
+-99.524 37.832 3220
+-99.398 37.832 3221
+-99.272 37.832 3275
+-99.146 37.832 3276
+-99.02 37.832 3276
+-98.894 37.832 3276
+-98.768 37.832 3277
+-98.642 37.832 3277
+-98.516 37.832 3278
+-98.39 37.832 3333
+-98.264 37.832 3332
+-98.138 37.832 3331
+-98.012 37.832 3331
+-97.886 37.832 3331
+-97.76 37.832 3343
+-97.634 37.832 3351
+-97.508 37.832 3424
+-97.382 37.832 3426
+-97.256 37.832 3429
+-97.13 37.832 3432
+-97.004 37.832 3437
+-96.878 37.832 3488
+-96.752 37.832 3493
+-96.626 37.832 3533
+-96.5 37.832 3546
+-96.374 37.832 3579
+-96.248 37.832 3593
+-96.122 37.832 3638
+-95.996 37.832 3672
+-95.87 37.832 3696
+-95.744 37.832 3698
+-95.618 37.832 3805
+-95.492 37.832 4007
+-95.366 37.832 4234
+-95.24 37.832 4351
+-95.114 37.832 4425
+-94.988 37.832 4547
+-94.862 37.832 4698
+-94.736 37.832 4802
+-94.61 37.832 4877
+-94.484 37.832 4992
+-94.358 37.832 5106
+-94.232 37.832 5165
+-94.106 37.832 5303
+-93.98 37.832 5429
+-93.854 37.832 5600
+-93.728 37.832 5757
+-93.602 37.832 5922
+-93.476 37.832 5974
+-93.35 37.832 6190
+-93.224 37.832 6263
+-93.098 37.832 6381
+-92.972 37.832 6501
+-92.846 37.832 6622
+-92.72 37.832 6792
+-92.594 37.832 6952
+-92.468 37.832 6982
+-92.342 37.832 7076
+-92.216 37.832 7316
+-92.09 37.832 7337
+-91.964 37.832 7531
+-91.838 37.832 7565
+-91.712 37.832 7689
+-91.586 37.832 7806
+-91.46 37.832 7953
+-91.334 37.832 8024
+-91.208 37.832 8108
+-91.082 37.832 8199
+-90.956 37.832 8286
+-90.83 37.832 8293
+-90.704 37.832 8382
+-90.578 37.832 8397
+-90.452 37.832 8392
+-90.326 37.832 8398
+-90.2 37.832 8377
+-90.074 37.832 8322
+-89.948 37.832 8481
+-89.822 37.832 8692
+-89.696 37.832 8835
+-89.57 37.832 8954
+-89.444 37.832 9103
+-89.318 37.832 9254
+-89.192 37.832 9353
+-89.066 37.832 9515
+-88.94 37.832 9632
+-88.814 37.832 9632
+-88.688 37.832 9648
+-88.562 37.832 9483
+-88.436 37.832 9358
+-88.31 37.832 9211
+-88.184 37.832 9107
+-88.058 37.832 8984
+-87.932 37.832 8805
+-87.806 37.832 8610
+-87.68 37.832 8549
+-87.554 37.832 8320
+-87.428 37.832 8253
+-87.302 37.832 8076
+-87.176 37.832 7980
+-87.05 37.832 7866
+-86.924 37.832 7760
+-86.798 37.832 7646
+-86.672 37.832 7482
+-86.546 37.832 7275
+-86.42 37.832 7075
+-86.294 37.832 6918
+-86.168 37.832 6749
+-86.042 37.832 6616
+-85.916 37.832 6500
+-85.79 37.832 6343
+-85.664 37.832 6290
+-85.538 37.832 6134
+-85.412 37.832 5976
+-85.286 37.832 5850
+-85.16 37.832 5713
+-85.034 37.832 5548
+-84.908 37.832 5384
+-84.782 37.832 5413
+-84.656 37.832 5263
+-84.53 37.832 5088
+-84.404 37.832 4926
+-84.278 37.832 4761
+-84.152 37.832 4655
+-84.026 37.832 4608
+-83.9 37.832 4425
+-83.774 37.832 4246
+-83.648 37.832 4231
+-83.522 37.832 4181
+-83.396 37.832 4081
+-83.27 37.832 3948
+-83.144 37.832 3766
+-83.018 37.832 3559
+-82.892 37.832 3343
+-82.766 37.832 3114
+-82.64 37.832 2986
+-82.514 37.832 3051
+-82.388 37.832 3178
+-82.262 37.832 3288
+-82.136 37.832 3371
+-82.01 37.832 3434
+-81.884 37.832 3484
+-81.758 37.832 3524
+-81.632 37.832 3557
+-81.506 37.832 3584
+-81.38 37.832 3608
+-81.254 37.832 3592
+-81.128 37.832 3607
+-81.002 37.832 3538
+-80.876 37.832 3549
+-80.75 37.832 3560
+-80.624 37.832 3569
+-80.498 37.832 3577
+-80.372 37.832 3584
+-80.246 37.832 3591
+-80.12 37.832 3597
+-79.994 37.832 3602
+-79.868 37.832 3557
+-79.742 37.832 3562
+-79.616 37.832 3547
+-79.49 37.832 3526
+-79.364 37.832 3529
+-79.238 37.832 3465
+-79.112 37.832 3400
+-78.986 37.832 3390
+-78.86 37.832 3390
+-78.734 37.832 3390
+-78.608 37.832 3390
+-78.482 37.832 3390
+-78.356 37.832 3390
+-78.23 37.832 3390
+-78.104 37.832 3390
+-77.978 37.832 3333
+-77.852 37.832 3332
+-77.726 37.832 3331
+-77.6 37.832 3330
+-77.474 37.832 3329
+-77.348 37.832 3328
+-77.222 37.832 3326
+-77.096 37.832 3326
+-76.97 37.832 3325
+-76.844 37.832 3302
+-76.718 37.832 3301
+-76.592 37.832 3300
+-76.466 37.832 3299
+-76.34 37.832 3298
+-76.214 37.832 3297
+-76.088 37.832 3221
+-75.962 37.832 3059
+-75.836 37.832 3056
+-75.71 37.832 3054
+-75.584 37.832 3052
+-75.458 37.832 3050
+-75.332 37.832 3048
+-75.206 37.832 3047
+-75.08 37.832 3045
+-74.954 37.832 3043
+-74.828 37.832 3042
+-74.702 37.832 3040
+-74.576 37.832 3038
+-74.45 37.832 3037
+-74.324 37.832 3036
+-74.198 37.832 3034
+-74.072 37.832 3033
+-73.946 37.832 3032
+-73.82 37.832 3031
+-73.694 37.832 2901
+-73.568 37.832 2900
+-73.442 37.832 2868
+-73.316 37.832 2819
+-73.19 37.832 2818
+-73.064 37.832 2817
+-72.938 37.832 2831
+-72.812 37.832 2830
+-72.686 37.832 2840
+-72.56 37.832 2839
+-72.434 37.832 2799
+-72.308 37.832 2758
+-72.182 37.832 2758
+-72.056 37.832 2758
+-71.93 37.832 2758
+-71.804 37.832 2775
+-71.678 37.832 2781
+-71.552 37.832 2791
+-71.426 37.832 2790
+-71.3 37.832 2822
+-71.174 37.832 2834
+-71.048 37.832 2836
+-70.922 37.832 2892
+-70.796 37.832 2914
+-70.67 37.832 2893
+-70.544 37.832 2884
+-70.418 37.832 3036
+-70.292 37.832 3038
+-70.166 37.832 3102
+-70.04 37.832 3104
+-69.914 37.832 3106
+-69.788 37.832 3108
+-69.662 37.832 3110
+-69.536 37.832 3024
+-69.41 37.832 3046
+-69.284 37.832 3048
+-69.158 37.832 3037
+-69.032 37.832 3337
+-68.906 37.832 3368
+-68.78 37.832 3369
+-68.654 37.832 3364
+-68.528 37.832 3365
+-68.402 37.832 3370
+-68.276 37.832 3387
+-68.15 37.832 3388
+-68.024 37.832 3375
+-67.898 37.832 3376
+-67.772 37.832 3327
+-67.646 37.832 3328
+-67.52 37.832 3329
+-67.394 37.832 3397
+-67.268 37.832 3391
+-67.142 37.832 3401
+-67.016 37.832 3402
+-66.89 37.832 3380
+-66.764 37.832 3403
+-66.638 37.832 3451
+-66.512 37.832 3463
+-66.386 37.832 3462
+-66.26 37.832 3460
+-66.134 37.832 3516
+-66.008 37.832 3517
+-65.882 37.832 3454
+-65.756 37.832 3479
+-65.63 37.832 3472
+-65.504 37.832 3390
+-65.378 37.832 3297
+-65.252 37.832 3322
+-65.126 37.832 3323
+-128 37.78 2793
+-127.874 37.78 2791
+-127.748 37.78 2792
+-127.622 37.78 2805
+-127.496 37.78 2804
+-127.37 37.78 2802
+-127.244 37.78 2862
+-127.118 37.78 2862
+-126.992 37.78 2954
+-126.866 37.78 2953
+-126.74 37.78 2952
+-126.614 37.78 2971
+-126.488 37.78 2918
+-126.362 37.78 3012
+-126.236 37.78 3012
+-126.11 37.78 2991
+-125.984 37.78 3079
+-125.858 37.78 3080
+-125.732 37.78 3081
+-125.606 37.78 3082
+-125.48 37.78 3084
+-125.354 37.78 3211
+-125.228 37.78 3222
+-125.102 37.78 3254
+-124.976 37.78 3171
+-124.85 37.78 3198
+-124.724 37.78 3199
+-124.598 37.78 3200
+-124.472 37.78 3202
+-124.346 37.78 3205
+-124.22 37.78 3208
+-124.094 37.78 3213
+-123.968 37.78 3219
+-123.842 37.78 3240
+-123.716 37.78 3279
+-123.59 37.78 3346
+-123.464 37.78 3473
+-123.338 37.78 3591
+-123.212 37.78 3572
+-123.086 37.78 3587
+-122.96 37.78 3646
+-122.834 37.78 3674
+-122.708 37.78 3782
+-122.582 37.78 3878
+-122.456 37.78 3886
+-122.33 37.78 3890
+-122.204 37.78 3946
+-122.078 37.78 3940
+-121.952 37.78 3957
+-121.826 37.78 3931
+-121.7 37.78 3899
+-121.574 37.78 3851
+-121.448 37.78 3850
+-121.322 37.78 3939
+-121.196 37.78 4058
+-121.07 37.78 4187
+-120.944 37.78 4303
+-120.818 37.78 4365
+-120.692 37.78 4384
+-120.566 37.78 4371
+-120.44 37.78 4313
+-120.314 37.78 4389
+-120.188 37.78 4494
+-120.062 37.78 4663
+-119.936 37.78 4809
+-119.81 37.78 4883
+-119.684 37.78 4914
+-119.558 37.78 4947
+-119.432 37.78 5027
+-119.306 37.78 5069
+-119.18 37.78 5124
+-119.054 37.78 5188
+-118.928 37.78 5215
+-118.802 37.78 5253
+-118.676 37.78 5343
+-118.55 37.78 5400
+-118.424 37.78 5416
+-118.298 37.78 5450
+-118.172 37.78 5484
+-118.046 37.78 5519
+-117.92 37.78 5555
+-117.794 37.78 5575
+-117.668 37.78 5581
+-117.542 37.78 5606
+-117.416 37.78 5584
+-117.29 37.78 5608
+-117.164 37.78 5604
+-117.038 37.78 5590
+-116.912 37.78 5597
+-116.786 37.78 5569
+-116.66 37.78 5505
+-116.534 37.78 5522
+-116.408 37.78 5470
+-116.282 37.78 5395
+-116.156 37.78 5361
+-116.03 37.78 5309
+-115.904 37.78 5255
+-115.778 37.78 5212
+-115.652 37.78 5226
+-115.526 37.78 5125
+-115.4 37.78 5072
+-115.274 37.78 4993
+-115.148 37.78 4933
+-115.022 37.78 4901
+-114.896 37.78 4806
+-114.77 37.78 4700
+-114.644 37.78 4600
+-114.518 37.78 4526
+-114.392 37.78 4495
+-114.266 37.78 4446
+-114.14 37.78 4413
+-114.014 37.78 4369
+-113.888 37.78 4360
+-113.762 37.78 4350
+-113.636 37.78 4343
+-113.51 37.78 4299
+-113.384 37.78 4177
+-113.258 37.78 4100
+-113.132 37.78 4012
+-113.006 37.78 3854
+-112.88 37.78 3702
+-112.754 37.78 3562
+-112.628 37.78 3422
+-112.502 37.78 3305
+-112.376 37.78 3202
+-112.25 37.78 3129
+-112.124 37.78 3077
+-111.998 37.78 3021
+-111.872 37.78 2987
+-111.746 37.78 2950
+-111.62 37.78 2917
+-111.494 37.78 2897
+-111.368 37.78 2901
+-111.242 37.78 2915
+-111.116 37.78 2921
+-110.99 37.78 2922
+-110.864 37.78 2910
+-110.738 37.78 2906
+-110.612 37.78 2895
+-110.486 37.78 2894
+-110.36 37.78 2894
+-110.234 37.78 2906
+-110.108 37.78 2911
+-109.982 37.78 2894
+-109.856 37.78 2896
+-109.73 37.78 2889
+-109.604 37.78 2875
+-109.478 37.78 2851
+-109.352 37.78 2819
+-109.226 37.78 2775
+-109.1 37.78 2732
+-108.974 37.78 2706
+-108.848 37.78 2680
+-108.722 37.78 2667
+-108.596 37.78 2664
+-108.47 37.78 2630
+-108.344 37.78 2619
+-108.218 37.78 2609
+-108.092 37.78 2582
+-107.966 37.78 2570
+-107.84 37.78 2553
+-107.714 37.78 2539
+-107.588 37.78 2570
+-107.462 37.78 2580
+-107.336 37.78 2597
+-107.21 37.78 2646
+-107.084 37.78 2651
+-106.958 37.78 2683
+-106.832 37.78 2701
+-106.706 37.78 2769
+-106.58 37.78 2791
+-106.454 37.78 2815
+-106.328 37.78 2836
+-106.202 37.78 2823
+-106.076 37.78 2892
+-105.95 37.78 2902
+-105.824 37.78 2911
+-105.698 37.78 2912
+-105.572 37.78 2928
+-105.446 37.78 2935
+-105.32 37.78 2942
+-105.194 37.78 2915
+-105.068 37.78 2932
+-104.942 37.78 2963
+-104.816 37.78 2970
+-104.69 37.78 2975
+-104.564 37.78 2983
+-104.438 37.78 2990
+-104.312 37.78 2980
+-104.186 37.78 3058
+-104.06 37.78 3066
+-103.934 37.78 3039
+-103.808 37.78 3045
+-103.682 37.78 3051
+-103.556 37.78 3058
+-103.43 37.78 2981
+-103.304 37.78 2986
+-103.178 37.78 2991
+-103.052 37.78 3000
+-102.926 37.78 3005
+-102.8 37.78 3007
+-102.674 37.78 2984
+-102.548 37.78 3022
+-102.422 37.78 2941
+-102.296 37.78 2902
+-102.17 37.78 2802
+-102.044 37.78 2759
+-101.918 37.78 2757
+-101.792 37.78 2765
+-101.666 37.78 2735
+-101.54 37.78 2730
+-101.414 37.78 2799
+-101.288 37.78 2800
+-101.162 37.78 2804
+-101.036 37.78 2841
+-100.91 37.78 3010
+-100.784 37.78 3041
+-100.658 37.78 3219
+-100.532 37.78 3219
+-100.406 37.78 3219
+-100.28 37.78 3219
+-100.154 37.78 3218
+-100.028 37.78 3218
+-99.902 37.78 3219
+-99.776 37.78 3219
+-99.65 37.78 3219
+-99.524 37.78 3219
+-99.398 37.78 3275
+-99.272 37.78 3275
+-99.146 37.78 3275
+-99.02 37.78 3276
+-98.894 37.78 3276
+-98.768 37.78 3277
+-98.642 37.78 3277
+-98.516 37.78 3278
+-98.39 37.78 3279
+-98.264 37.78 3334
+-98.138 37.78 3334
+-98.012 37.78 3326
+-97.886 37.78 3344
+-97.76 37.78 3352
+-97.634 37.78 3351
+-97.508 37.78 3351
+-97.382 37.78 3409
+-97.256 37.78 3410
+-97.13 37.78 3412
+-97.004 37.78 3472
+-96.878 37.78 3471
+-96.752 37.78 3489
+-96.626 37.78 3513
+-96.5 37.78 3520
+-96.374 37.78 3531
+-96.248 37.78 3576
+-96.122 37.78 3594
+-95.996 37.78 3611
+-95.87 37.78 3646
+-95.744 37.78 3680
+-95.618 37.78 3782
+-95.492 37.78 3948
+-95.366 37.78 4191
+-95.24 37.78 4335
+-95.114 37.78 4512
+-94.988 37.78 4646
+-94.862 37.78 4760
+-94.736 37.78 4847
+-94.61 37.78 4944
+-94.484 37.78 4982
+-94.358 37.78 5125
+-94.232 37.78 5211
+-94.106 37.78 5402
+-93.98 37.78 5480
+-93.854 37.78 5620
+-93.728 37.78 5726
+-93.602 37.78 5843
+-93.476 37.78 5978
+-93.35 37.78 6154
+-93.224 37.78 6241
+-93.098 37.78 6365
+-92.972 37.78 6477
+-92.846 37.78 6630
+-92.72 37.78 6756
+-92.594 37.78 6876
+-92.468 37.78 6990
+-92.342 37.78 7137
+-92.216 37.78 7279
+-92.09 37.78 7363
+-91.964 37.78 7503
+-91.838 37.78 7565
+-91.712 37.78 7676
+-91.586 37.78 7801
+-91.46 37.78 7902
+-91.334 37.78 7974
+-91.208 37.78 8066
+-91.082 37.78 8193
+-90.956 37.78 8191
+-90.83 37.78 8254
+-90.704 37.78 8311
+-90.578 37.78 8339
+-90.452 37.78 8340
+-90.326 37.78 8343
+-90.2 37.78 8333
+-90.074 37.78 8288
+-89.948 37.78 8515
+-89.822 37.78 8644
+-89.696 37.78 8816
+-89.57 37.78 8980
+-89.444 37.78 9071
+-89.318 37.78 9269
+-89.192 37.78 9368
+-89.066 37.78 9558
+-88.94 37.78 9614
+-88.814 37.78 9695
+-88.688 37.78 9650
+-88.562 37.78 9486
+-88.436 37.78 9361
+-88.31 37.78 9211
+-88.184 37.78 9076
+-88.058 37.78 8944
+-87.932 37.78 8789
+-87.806 37.78 8718
+-87.68 37.78 8501
+-87.554 37.78 8433
+-87.428 37.78 8248
+-87.302 37.78 8056
+-87.176 37.78 7987
+-87.05 37.78 7852
+-86.924 37.78 7712
+-86.798 37.78 7553
+-86.672 37.78 7471
+-86.546 37.78 7236
+-86.42 37.78 7060
+-86.294 37.78 7004
+-86.168 37.78 6826
+-86.042 37.78 6672
+-85.916 37.78 6480
+-85.79 37.78 6355
+-85.664 37.78 6243
+-85.538 37.78 6075
+-85.412 37.78 5934
+-85.286 37.78 5863
+-85.16 37.78 5755
+-85.034 37.78 5641
+-84.908 37.78 5519
+-84.782 37.78 5437
+-84.656 37.78 5331
+-84.53 37.78 5118
+-84.404 37.78 4928
+-84.278 37.78 4693
+-84.152 37.78 4543
+-84.026 37.78 4568
+-83.9 37.78 4345
+-83.774 37.78 4134
+-83.648 37.78 4190
+-83.522 37.78 4181
+-83.396 37.78 4070
+-83.27 37.78 3948
+-83.144 37.78 3792
+-83.018 37.78 3575
+-82.892 37.78 3305
+-82.766 37.78 3008
+-82.64 37.78 2857
+-82.514 37.78 2968
+-82.388 37.78 3146
+-82.262 37.78 3284
+-82.136 37.78 3380
+-82.01 37.78 3448
+-81.884 37.78 3499
+-81.758 37.78 3540
+-81.632 37.78 3572
+-81.506 37.78 3557
+-81.38 37.78 3577
+-81.254 37.78 3594
+-81.128 37.78 3526
+-81.002 37.78 3538
+-80.876 37.78 3549
+-80.75 37.78 3559
+-80.624 37.78 3568
+-80.498 37.78 3576
+-80.372 37.78 3583
+-80.246 37.78 3590
+-80.12 37.78 3596
+-79.994 37.78 3551
+-79.868 37.78 3556
+-79.742 37.78 3542
+-79.616 37.78 3546
+-79.49 37.78 3550
+-79.364 37.78 3463
+-79.238 37.78 3397
+-79.112 37.78 3387
+-78.986 37.78 3387
+-78.86 37.78 3387
+-78.734 37.78 3388
+-78.608 37.78 3388
+-78.482 37.78 3388
+-78.356 37.78 3388
+-78.23 37.78 3388
+-78.104 37.78 3330
+-77.978 37.78 3329
+-77.852 37.78 3328
+-77.726 37.78 3327
+-77.6 37.78 3326
+-77.474 37.78 3325
+-77.348 37.78 3324
+-77.222 37.78 3323
+-77.096 37.78 3300
+-76.97 37.78 3299
+-76.844 37.78 3298
+-76.718 37.78 3297
+-76.592 37.78 3296
+-76.466 37.78 3295
+-76.34 37.78 3295
+-76.214 37.78 3218
+-76.088 37.78 3057
+-75.962 37.78 3055
+-75.836 37.78 3053
+-75.71 37.78 3051
+-75.584 37.78 3049
+-75.458 37.78 3047
+-75.332 37.78 3045
+-75.206 37.78 3043
+-75.08 37.78 3041
+-74.954 37.78 3040
+-74.828 37.78 3038
+-74.702 37.78 3037
+-74.576 37.78 3035
+-74.45 37.78 3034
+-74.324 37.78 3032
+-74.198 37.78 3031
+-74.072 37.78 3030
+-73.946 37.78 3029
+-73.82 37.78 2899
+-73.694 37.78 2898
+-73.568 37.78 2866
+-73.442 37.78 2817
+-73.316 37.78 2816
+-73.19 37.78 2814
+-73.064 37.78 2828
+-72.938 37.78 2827
+-72.812 37.78 2838
+-72.686 37.78 2837
+-72.56 37.78 2797
+-72.434 37.78 2756
+-72.308 37.78 2756
+-72.182 37.78 2756
+-72.056 37.78 2756
+-71.93 37.78 2773
+-71.804 37.78 2779
+-71.678 37.78 2789
+-71.552 37.78 2788
+-71.426 37.78 2820
+-71.3 37.78 2833
+-71.174 37.78 2834
+-71.048 37.78 2890
+-70.922 37.78 2912
+-70.796 37.78 2891
+-70.67 37.78 2882
+-70.544 37.78 3033
+-70.418 37.78 3036
+-70.292 37.78 3100
+-70.166 37.78 3102
+-70.04 37.78 3104
+-69.914 37.78 3106
+-69.788 37.78 3108
+-69.662 37.78 3023
+-69.536 37.78 3044
+-69.41 37.78 3046
+-69.284 37.78 3036
+-69.158 37.78 3335
+-69.032 37.78 3367
+-68.906 37.78 3368
+-68.78 37.78 3363
+-68.654 37.78 3364
+-68.528 37.78 3368
+-68.402 37.78 3385
+-68.276 37.78 3386
+-68.15 37.78 3374
+-68.024 37.78 3375
+-67.898 37.78 3326
+-67.772 37.78 3327
+-67.646 37.78 3328
+-67.52 37.78 3395
+-67.394 37.78 3390
+-67.268 37.78 3400
+-67.142 37.78 3401
+-67.016 37.78 3379
+-66.89 37.78 3402
+-66.764 37.78 3450
+-66.638 37.78 3462
+-66.512 37.78 3461
+-66.386 37.78 3459
+-66.26 37.78 3515
+-66.134 37.78 3516
+-66.008 37.78 3453
+-65.882 37.78 3478
+-65.756 37.78 3470
+-65.63 37.78 3385
+-65.504 37.78 3296
+-65.378 37.78 3321
+-65.252 37.78 3322
+-65.126 37.78 3357
+-128 37.728 2802
+-127.874 37.728 2800
+-127.748 37.728 2798
+-127.622 37.728 2799
+-127.496 37.728 2813
+-127.37 37.728 2812
+-127.244 37.728 2870
+-127.118 37.728 2962
+-126.992 37.728 2962
+-126.866 37.728 2962
+-126.74 37.728 2962
+-126.614 37.728 3029
+-126.488 37.728 2984
+-126.362 37.728 3020
+-126.236 37.728 3021
+-126.11 37.728 3021
+-125.984 37.728 3002
+-125.858 37.728 3092
+-125.732 37.728 3094
+-125.606 37.728 3096
+-125.48 37.728 3098
+-125.354 37.728 3101
+-125.228 37.728 3231
+-125.102 37.728 3243
+-124.976 37.728 3276
+-124.85 37.728 3194
+-124.724 37.728 3223
+-124.598 37.728 3225
+-124.472 37.728 3228
+-124.346 37.728 3232
+-124.22 37.728 3236
+-124.094 37.728 3242
+-123.968 37.728 3249
+-123.842 37.728 3321
+-123.716 37.728 3332
+-123.59 37.728 3479
+-123.464 37.728 3605
+-123.338 37.728 3618
+-123.212 37.728 3633
+-123.086 37.728 3649
+-122.96 37.728 3777
+-122.834 37.728 3882
+-122.708 37.728 3883
+-122.582 37.728 3902
+-122.456 37.728 3908
+-122.33 37.728 3918
+-122.204 37.728 3958
+-122.078 37.728 3961
+-121.952 37.728 4003
+-121.826 37.728 3991
+-121.7 37.728 3978
+-121.574 37.728 3978
+-121.448 37.728 3985
+-121.322 37.728 4041
+-121.196 37.728 4124
+-121.07 37.728 4233
+-120.944 37.728 4315
+-120.818 37.728 4361
+-120.692 37.728 4384
+-120.566 37.728 4400
+-120.44 37.728 4412
+-120.314 37.728 4463
+-120.188 37.728 4575
+-120.062 37.728 4720
+-119.936 37.728 4840
+-119.81 37.728 4902
+-119.684 37.728 4949
+-119.558 37.728 5028
+-119.432 37.728 5074
+-119.306 37.728 5069
+-119.18 37.728 5161
+-119.054 37.728 5257
+-118.928 37.728 5325
+-118.802 37.728 5347
+-118.676 37.728 5405
+-118.55 37.728 5447
+-118.424 37.728 5459
+-118.298 37.728 5475
+-118.172 37.728 5554
+-118.046 37.728 5565
+-117.92 37.728 5608
+-117.794 37.728 5611
+-117.668 37.728 5642
+-117.542 37.728 5667
+-117.416 37.728 5620
+-117.29 37.728 5622
+-117.164 37.728 5638
+-117.038 37.728 5647
+-116.912 37.728 5636
+-116.786 37.728 5611
+-116.66 37.728 5605
+-116.534 37.728 5574
+-116.408 37.728 5533
+-116.282 37.728 5471
+-116.156 37.728 5419
+-116.03 37.728 5373
+-115.904 37.728 5308
+-115.778 37.728 5288
+-115.652 37.728 5221
+-115.526 37.728 5165
+-115.4 37.728 5101
+-115.274 37.728 5017
+-115.148 37.728 4963
+-115.022 37.728 4922
+-114.896 37.728 4842
+-114.77 37.728 4746
+-114.644 37.728 4633
+-114.518 37.728 4568
+-114.392 37.728 4499
+-114.266 37.728 4379
+-114.14 37.728 4420
+-114.014 37.728 4378
+-113.888 37.728 4384
+-113.762 37.728 4407
+-113.636 37.728 4422
+-113.51 37.728 4334
+-113.384 37.728 4167
+-113.258 37.728 4083
+-113.132 37.728 3998
+-113.006 37.728 3858
+-112.88 37.728 3691
+-112.754 37.728 3495
+-112.628 37.728 3342
+-112.502 37.728 3241
+-112.376 37.728 3175
+-112.25 37.728 3113
+-112.124 37.728 3050
+-111.998 37.728 3020
+-111.872 37.728 2982
+-111.746 37.728 2934
+-111.62 37.728 2880
+-111.494 37.728 2852
+-111.368 37.728 2881
+-111.242 37.728 2913
+-111.116 37.728 2924
+-110.99 37.728 2926
+-110.864 37.728 2914
+-110.738 37.728 2908
+-110.612 37.728 2915
+-110.486 37.728 2932
+-110.36 37.728 2948
+-110.234 37.728 2966
+-110.108 37.728 2980
+-109.982 37.728 2997
+-109.856 37.728 2973
+-109.73 37.728 2969
+-109.604 37.728 2967
+-109.478 37.728 2931
+-109.352 37.728 2923
+-109.226 37.728 2889
+-109.1 37.728 2816
+-108.974 37.728 2800
+-108.848 37.728 2774
+-108.722 37.728 2757
+-108.596 37.728 2738
+-108.47 37.728 2700
+-108.344 37.728 2696
+-108.218 37.728 2678
+-108.092 37.728 2679
+-107.966 37.728 2665
+-107.84 37.728 2649
+-107.714 37.728 2676
+-107.588 37.728 2671
+-107.462 37.728 2671
+-107.336 37.728 2707
+-107.21 37.728 2697
+-107.084 37.728 2718
+-106.958 37.728 2728
+-106.832 37.728 2790
+-106.706 37.728 2807
+-106.58 37.728 2827
+-106.454 37.728 2845
+-106.328 37.728 2830
+-106.202 37.728 2894
+-106.076 37.728 2902
+-105.95 37.728 2909
+-105.824 37.728 2910
+-105.698 37.728 2924
+-105.572 37.728 2930
+-105.446 37.728 2935
+-105.32 37.728 2909
+-105.194 37.728 2924
+-105.068 37.728 2954
+-104.942 37.728 2961
+-104.816 37.728 2967
+-104.69 37.728 2974
+-104.564 37.728 2981
+-104.438 37.728 2972
+-104.312 37.728 3048
+-104.186 37.728 3056
+-104.06 37.728 3030
+-103.934 37.728 3037
+-103.808 37.728 3044
+-103.682 37.728 3050
+-103.556 37.728 2976
+-103.43 37.728 2981
+-103.304 37.728 2986
+-103.178 37.728 2995
+-103.052 37.728 3000
+-102.926 37.728 3003
+-102.8 37.728 2980
+-102.674 37.728 3018
+-102.548 37.728 3018
+-102.422 37.728 2942
+-102.296 37.728 2880
+-102.17 37.728 2804
+-102.044 37.728 2816
+-101.918 37.728 2759
+-101.792 37.728 2738
+-101.666 37.728 2733
+-101.54 37.728 2728
+-101.414 37.728 2706
+-101.288 37.728 2797
+-101.162 37.728 2801
+-101.036 37.728 2837
+-100.91 37.728 3007
+-100.784 37.728 3039
+-100.658 37.728 3041
+-100.532 37.728 3149
+-100.406 37.728 3217
+-100.28 37.728 3217
+-100.154 37.728 3217
+-100.028 37.728 3217
+-99.902 37.728 3217
+-99.776 37.728 3217
+-99.65 37.728 3217
+-99.524 37.728 3274
+-99.398 37.728 3274
+-99.272 37.728 3274
+-99.146 37.728 3275
+-99.02 37.728 3275
+-98.894 37.728 3275
+-98.768 37.728 3276
+-98.642 37.728 3277
+-98.516 37.728 3278
+-98.39 37.728 3279
+-98.264 37.728 3280
+-98.138 37.728 3281
+-98.012 37.728 3309
+-97.886 37.728 3353
+-97.76 37.728 3351
+-97.634 37.728 3350
+-97.508 37.728 3348
+-97.382 37.728 3347
+-97.256 37.728 3402
+-97.13 37.728 3458
+-97.004 37.728 3452
+-96.878 37.728 3460
+-96.752 37.728 3470
+-96.626 37.728 3468
+-96.5 37.728 3484
+-96.374 37.728 3516
+-96.248 37.728 3512
+-96.122 37.728 3497
+-95.996 37.728 3481
+-95.87 37.728 3585
+-95.744 37.728 3617
+-95.618 37.728 3714
+-95.492 37.728 3940
+-95.366 37.728 4168
+-95.24 37.728 4373
+-95.114 37.728 4558
+-94.988 37.728 4706
+-94.862 37.728 4793
+-94.736 37.728 4879
+-94.61 37.728 4959
+-94.484 37.728 4987
+-94.358 37.728 5099
+-94.232 37.728 5172
+-94.106 37.728 5339
+-93.98 37.728 5502
+-93.854 37.728 5614
+-93.728 37.728 5719
+-93.602 37.728 5862
+-93.476 37.728 5916
+-93.35 37.728 6126
+-93.224 37.728 6191
+-93.098 37.728 6344
+-92.972 37.728 6508
+-92.846 37.728 6616
+-92.72 37.728 6743
+-92.594 37.728 6850
+-92.468 37.728 6906
+-92.342 37.728 7068
+-92.216 37.728 7215
+-92.09 37.728 7332
+-91.964 37.728 7431
+-91.838 37.728 7557
+-91.712 37.728 7663
+-91.586 37.728 7754
+-91.46 37.728 7841
+-91.334 37.728 7981
+-91.208 37.728 8042
+-91.082 37.728 8102
+-90.956 37.728 8157
+-90.83 37.728 8225
+-90.704 37.728 8282
+-90.578 37.728 8287
+-90.452 37.728 8319
+-90.326 37.728 8281
+-90.2 37.728 8263
+-90.074 37.728 8231
+-89.948 37.728 8589
+-89.822 37.728 8630
+-89.696 37.728 8829
+-89.57 37.728 9010
+-89.444 37.728 9105
+-89.318 37.728 9297
+-89.192 37.728 9360
+-89.066 37.728 9568
+-88.94 37.728 9675
+-88.814 37.728 9748
+-88.688 37.728 9611
+-88.562 37.728 9502
+-88.436 37.728 9381
+-88.31 37.728 9215
+-88.184 37.728 9096
+-88.058 37.728 8948
+-87.932 37.728 8875
+-87.806 37.728 8716
+-87.68 37.728 8569
+-87.554 37.728 8347
+-87.428 37.728 8237
+-87.302 37.728 8082
+-87.176 37.728 8015
+-87.05 37.728 7805
+-86.924 37.728 7634
+-86.798 37.728 7580
+-86.672 37.728 7400
+-86.546 37.728 7240
+-86.42 37.728 7074
+-86.294 37.728 7008
+-86.168 37.728 6885
+-86.042 37.728 6751
+-85.916 37.728 6513
+-85.79 37.728 6466
+-85.664 37.728 6273
+-85.538 37.728 6067
+-85.412 37.728 5979
+-85.286 37.728 5824
+-85.16 37.728 5781
+-85.034 37.728 5651
+-84.908 37.728 5529
+-84.782 37.728 5447
+-84.656 37.728 5355
+-84.53 37.728 5164
+-84.404 37.728 4979
+-84.278 37.728 4764
+-84.152 37.728 4640
+-84.026 37.728 4574
+-83.9 37.728 4433
+-83.774 37.728 4246
+-83.648 37.728 4209
+-83.522 37.728 4171
+-83.396 37.728 4085
+-83.27 37.728 3965
+-83.144 37.728 3783
+-83.018 37.728 3596
+-82.892 37.728 3369
+-82.766 37.728 3109
+-82.64 37.728 2986
+-82.514 37.728 3058
+-82.388 37.728 3197
+-82.262 37.728 3319
+-82.136 37.728 3408
+-82.01 37.728 3473
+-81.884 37.728 3521
+-81.758 37.728 3559
+-81.632 37.728 3550
+-81.506 37.728 3573
+-81.38 37.728 3592
+-81.254 37.728 3608
+-81.128 37.728 3528
+-81.002 37.728 3540
+-80.876 37.728 3550
+-80.75 37.728 3560
+-80.624 37.728 3568
+-80.498 37.728 3576
+-80.372 37.728 3583
+-80.246 37.728 3589
+-80.12 37.728 3545
+-79.994 37.728 3550
+-79.868 37.728 3533
+-79.742 37.728 3537
+-79.616 37.728 3541
+-79.49 37.728 3475
+-79.364 37.728 3411
+-79.238 37.728 3384
+-79.112 37.728 3384
+-78.986 37.728 3385
+-78.86 37.728 3385
+-78.734 37.728 3385
+-78.608 37.728 3385
+-78.482 37.728 3385
+-78.356 37.728 3385
+-78.23 37.728 3328
+-78.104 37.728 3326
+-77.978 37.728 3325
+-77.852 37.728 3324
+-77.726 37.728 3323
+-77.6 37.728 3322
+-77.474 37.728 3321
+-77.348 37.728 3320
+-77.222 37.728 3297
+-77.096 37.728 3296
+-76.97 37.728 3295
+-76.844 37.728 3294
+-76.718 37.728 3293
+-76.592 37.728 3292
+-76.466 37.728 3292
+-76.34 37.728 3215
+-76.214 37.728 3056
+-76.088 37.728 3054
+-75.962 37.728 3051
+-75.836 37.728 3049
+-75.71 37.728 3047
+-75.584 37.728 3045
+-75.458 37.728 3043
+-75.332 37.728 3041
+-75.206 37.728 3040
+-75.08 37.728 3038
+-74.954 37.728 3036
+-74.828 37.728 3035
+-74.702 37.728 3033
+-74.576 37.728 3032
+-74.45 37.728 3030
+-74.324 37.728 3029
+-74.198 37.728 3028
+-74.072 37.728 3027
+-73.946 37.728 2896
+-73.82 37.728 2895
+-73.694 37.728 2864
+-73.568 37.728 2815
+-73.442 37.728 2813
+-73.316 37.728 2812
+-73.19 37.728 2826
+-73.064 37.728 2825
+-72.938 37.728 2836
+-72.812 37.728 2835
+-72.686 37.728 2794
+-72.56 37.728 2754
+-72.434 37.728 2754
+-72.308 37.728 2754
+-72.182 37.728 2753
+-72.056 37.728 2771
+-71.93 37.728 2777
+-71.804 37.728 2787
+-71.678 37.728 2786
+-71.552 37.728 2818
+-71.426 37.728 2831
+-71.3 37.728 2832
+-71.174 37.728 2887
+-71.048 37.728 2910
+-70.922 37.728 2890
+-70.796 37.728 2880
+-70.67 37.728 3031
+-70.544 37.728 3034
+-70.418 37.728 3097
+-70.292 37.728 3099
+-70.166 37.728 3102
+-70.04 37.728 3104
+-69.914 37.728 3106
+-69.788 37.728 3021
+-69.662 37.728 3043
+-69.536 37.728 3045
+-69.41 37.728 3034
+-69.284 37.728 3333
+-69.158 37.728 3365
+-69.032 37.728 3366
+-68.906 37.728 3361
+-68.78 37.728 3362
+-68.654 37.728 3367
+-68.528 37.728 3384
+-68.402 37.728 3385
+-68.276 37.728 3372
+-68.15 37.728 3373
+-68.024 37.728 3325
+-67.898 37.728 3326
+-67.772 37.728 3327
+-67.646 37.728 3394
+-67.52 37.728 3388
+-67.394 37.728 3399
+-67.268 37.728 3400
+-67.142 37.728 3378
+-67.016 37.728 3401
+-66.89 37.728 3449
+-66.764 37.728 3461
+-66.638 37.728 3460
+-66.512 37.728 3458
+-66.386 37.728 3513
+-66.26 37.728 3515
+-66.134 37.728 3451
+-66.008 37.728 3476
+-65.882 37.728 3469
+-65.756 37.728 3388
+-65.63 37.728 3295
+-65.504 37.728 3320
+-65.378 37.728 3321
+-65.252 37.728 3356
+-65.126 37.728 3327
+-128 37.676 2725
+-127.874 37.676 2809
+-127.748 37.676 2807
+-127.622 37.676 2805
+-127.496 37.676 2807
+-127.37 37.676 2877
+-127.244 37.676 2943
+-127.118 37.676 2943
+-126.992 37.676 2970
+-126.866 37.676 2970
+-126.74 37.676 3037
+-126.614 37.676 3037
+-126.488 37.676 3036
+-126.362 37.676 2992
+-126.236 37.676 3029
+-126.11 37.676 3030
+-125.984 37.676 3032
+-125.858 37.676 3013
+-125.732 37.676 3105
+-125.606 37.676 3108
+-125.48 37.676 3111
+-125.354 37.676 3114
+-125.228 37.676 3118
+-125.102 37.676 3251
+-124.976 37.676 3265
+-124.85 37.676 3299
+-124.724 37.676 3280
+-124.598 37.676 3248
+-124.472 37.676 3251
+-124.346 37.676 3256
+-124.22 37.676 3261
+-124.094 37.676 3268
+-123.968 37.676 3382
+-123.842 37.676 3392
+-123.716 37.676 3511
+-123.59 37.676 3520
+-123.464 37.676 3565
+-123.338 37.676 3639
+-123.212 37.676 3759
+-123.086 37.676 3866
+-122.96 37.676 3875
+-122.834 37.676 3895
+-122.708 37.676 3903
+-122.582 37.676 3906
+-122.456 37.676 3963
+-122.33 37.676 3970
+-122.204 37.676 3981
+-122.078 37.676 3988
+-121.952 37.676 4039
+-121.826 37.676 4034
+-121.7 37.676 4029
+-121.574 37.676 4025
+-121.448 37.676 4025
+-121.322 37.676 4069
+-121.196 37.676 4144
+-121.07 37.676 4226
+-120.944 37.676 4298
+-120.818 37.676 4343
+-120.692 37.676 4346
+-120.566 37.676 4408
+-120.44 37.676 4480
+-120.314 37.676 4554
+-120.188 37.676 4654
+-120.062 37.676 4783
+-119.936 37.676 4869
+-119.81 37.676 4865
+-119.684 37.676 4973
+-119.558 37.676 5053
+-119.432 37.676 5113
+-119.306 37.676 5157
+-119.18 37.676 5173
+-119.054 37.676 5282
+-118.928 37.676 5346
+-118.802 37.676 5360
+-118.676 37.676 5440
+-118.55 37.676 5502
+-118.424 37.676 5524
+-118.298 37.676 5594
+-118.172 37.676 5617
+-118.046 37.676 5605
+-117.92 37.676 5638
+-117.794 37.676 5676
+-117.668 37.676 5691
+-117.542 37.676 5675
+-117.416 37.676 5668
+-117.29 37.676 5684
+-117.164 37.676 5690
+-117.038 37.676 5690
+-116.912 37.676 5690
+-116.786 37.676 5654
+-116.66 37.676 5619
+-116.534 37.676 5591
+-116.408 37.676 5562
+-116.282 37.676 5552
+-116.156 37.676 5510
+-116.03 37.676 5456
+-115.904 37.676 5382
+-115.778 37.676 5314
+-115.652 37.676 5263
+-115.526 37.676 5213
+-115.4 37.676 5130
+-115.274 37.676 5062
+-115.148 37.676 4996
+-115.022 37.676 4925
+-114.896 37.676 4847
+-114.77 37.676 4756
+-114.644 37.676 4689
+-114.518 37.676 4626
+-114.392 37.676 4534
+-114.266 37.676 4460
+-114.14 37.676 4426
+-114.014 37.676 4285
+-113.888 37.676 4375
+-113.762 37.676 4424
+-113.636 37.676 4431
+-113.51 37.676 4351
+-113.384 37.676 4208
+-113.258 37.676 4101
+-113.132 37.676 3992
+-113.006 37.676 3849
+-112.88 37.676 3621
+-112.754 37.676 3458
+-112.628 37.676 3307
+-112.502 37.676 3227
+-112.376 37.676 3141
+-112.25 37.676 3095
+-112.124 37.676 3046
+-111.998 37.676 3020
+-111.872 37.676 2983
+-111.746 37.676 2929
+-111.62 37.676 2859
+-111.494 37.676 2802
+-111.368 37.676 2872
+-111.242 37.676 2914
+-111.116 37.676 2924
+-110.99 37.676 2928
+-110.864 37.676 2914
+-110.738 37.676 2896
+-110.612 37.676 2914
+-110.486 37.676 2946
+-110.36 37.676 2977
+-110.234 37.676 3003
+-110.108 37.676 3023
+-109.982 37.676 3036
+-109.856 37.676 3022
+-109.73 37.676 3021
+-109.604 37.676 3015
+-109.478 37.676 3002
+-109.352 37.676 2982
+-109.226 37.676 2958
+-109.1 37.676 2931
+-108.974 37.676 2866
+-108.848 37.676 2860
+-108.722 37.676 2840
+-108.596 37.676 2815
+-108.47 37.676 2809
+-108.344 37.676 2764
+-108.218 37.676 2772
+-108.092 37.676 2762
+-107.966 37.676 2747
+-107.84 37.676 2776
+-107.714 37.676 2763
+-107.588 37.676 2753
+-107.462 37.676 2779
+-107.336 37.676 2755
+-107.21 37.676 2766
+-107.084 37.676 2765
+-106.958 37.676 2821
+-106.832 37.676 2831
+-106.706 37.676 2846
+-106.58 37.676 2860
+-106.454 37.676 2841
+-106.328 37.676 2900
+-106.202 37.676 2905
+-106.076 37.676 2910
+-105.95 37.676 2909
+-105.824 37.676 2921
+-105.698 37.676 2925
+-105.572 37.676 2929
+-105.446 37.676 2903
+-105.32 37.676 2917
+-105.194 37.676 2945
+-105.068 37.676 2952
+-104.942 37.676 2957
+-104.816 37.676 2964
+-104.69 37.676 2971
+-104.564 37.676 2963
+-104.438 37.676 3038
+-104.312 37.676 3045
+-104.186 37.676 3021
+-104.06 37.676 3028
+-103.934 37.676 3035
+-103.808 37.676 3042
+-103.682 37.676 2970
+-103.556 37.676 2975
+-103.43 37.676 2981
+-103.304 37.676 2990
+-103.178 37.676 2995
+-103.052 37.676 2998
+-102.926 37.676 2976
+-102.8 37.676 3014
+-102.674 37.676 3014
+-102.548 37.676 3019
+-102.422 37.676 3024
+-102.296 37.676 2882
+-102.17 37.676 2861
+-102.044 37.676 2817
+-101.918 37.676 2761
+-101.792 37.676 2738
+-101.666 37.676 2758
+-101.54 37.676 2726
+-101.414 37.676 2704
+-101.288 37.676 2707
+-101.162 37.676 2797
+-101.036 37.676 2832
+-100.91 37.676 3004
+-100.784 37.676 3036
+-100.658 37.676 3144
+-100.532 37.676 3145
+-100.406 37.676 3147
+-100.28 37.676 3216
+-100.154 37.676 3216
+-100.028 37.676 3216
+-99.902 37.676 3216
+-99.776 37.676 3216
+-99.65 37.676 3273
+-99.524 37.676 3273
+-99.398 37.676 3273
+-99.272 37.676 3273
+-99.146 37.676 3273
+-99.02 37.676 3274
+-98.894 37.676 3274
+-98.768 37.676 3275
+-98.642 37.676 3275
+-98.516 37.676 3276
+-98.39 37.676 3277
+-98.264 37.676 3288
+-98.138 37.676 3289
+-98.012 37.676 3290
+-97.886 37.676 3306
+-97.76 37.676 3350
+-97.634 37.676 3347
+-97.508 37.676 3344
+-97.382 37.676 3411
+-97.256 37.676 3436
+-97.13 37.676 3426
+-97.004 37.676 3432
+-96.878 37.676 3425
+-96.752 37.676 3427
+-96.626 37.676 3424
+-96.5 37.676 3457
+-96.374 37.676 3464
+-96.248 37.676 3479
+-96.122 37.676 3430
+-95.996 37.676 3353
+-95.87 37.676 3502
+-95.744 37.676 3628
+-95.618 37.676 3734
+-95.492 37.676 3882
+-95.366 37.676 4134
+-95.24 37.676 4288
+-95.114 37.676 4562
+-94.988 37.676 4706
+-94.862 37.676 4759
+-94.736 37.676 4795
+-94.61 37.676 4928
+-94.484 37.676 5031
+-94.358 37.676 5031
+-94.232 37.676 5149
+-94.106 37.676 5335
+-93.98 37.676 5472
+-93.854 37.676 5597
+-93.728 37.676 5735
+-93.602 37.676 5819
+-93.476 37.676 5965
+-93.35 37.676 6126
+-93.224 37.676 6185
+-93.098 37.676 6350
+-92.972 37.676 6475
+-92.846 37.676 6556
+-92.72 37.676 6678
+-92.594 37.676 6852
+-92.468 37.676 6894
+-92.342 37.676 7067
+-92.216 37.676 7193
+-92.09 37.676 7268
+-91.964 37.676 7420
+-91.838 37.676 7500
+-91.712 37.676 7636
+-91.586 37.676 7718
+-91.46 37.676 7799
+-91.334 37.676 7931
+-91.208 37.676 8000
+-91.082 37.676 8030
+-90.956 37.676 8106
+-90.83 37.676 8189
+-90.704 37.676 8211
+-90.578 37.676 8220
+-90.452 37.676 8223
+-90.326 37.676 8234
+-90.2 37.676 8222
+-90.074 37.676 8153
+-89.948 37.676 8573
+-89.822 37.676 8701
+-89.696 37.676 8814
+-89.57 37.676 9033
+-89.444 37.676 9142
+-89.318 37.676 9303
+-89.192 37.676 9376
+-89.066 37.676 9573
+-88.94 37.676 9749
+-88.814 37.676 9762
+-88.688 37.676 9675
+-88.562 37.676 9478
+-88.436 37.676 9315
+-88.31 37.676 9224
+-88.184 37.676 9113
+-88.058 37.676 9000
+-87.932 37.676 8844
+-87.806 37.676 8666
+-87.68 37.676 8540
+-87.554 37.676 8355
+-87.428 37.676 8245
+-87.302 37.676 8153
+-87.176 37.676 7948
+-87.05 37.676 7779
+-86.924 37.676 7688
+-86.798 37.676 7561
+-86.672 37.676 7368
+-86.546 37.676 7275
+-86.42 37.676 7152
+-86.294 37.676 6921
+-86.168 37.676 6928
+-86.042 37.676 6781
+-85.916 37.676 6560
+-85.79 37.676 6429
+-85.664 37.676 6288
+-85.538 37.676 6118
+-85.412 37.676 5975
+-85.286 37.676 5871
+-85.16 37.676 5753
+-85.034 37.676 5603
+-84.908 37.676 5454
+-84.782 37.676 5414
+-84.656 37.676 5348
+-84.53 37.676 5202
+-84.404 37.676 5015
+-84.278 37.676 4803
+-84.152 37.676 4672
+-84.026 37.676 4621
+-83.9 37.676 4518
+-83.774 37.676 4395
+-83.648 37.676 4262
+-83.522 37.676 4163
+-83.396 37.676 4087
+-83.27 37.676 3934
+-83.144 37.676 3817
+-83.018 37.676 3664
+-82.892 37.676 3497
+-82.766 37.676 3316
+-82.64 37.676 3227
+-82.514 37.676 3246
+-82.388 37.676 3314
+-82.262 37.676 3387
+-82.136 37.676 3454
+-82.01 37.676 3506
+-81.884 37.676 3547
+-81.758 37.676 3541
+-81.632 37.676 3565
+-81.506 37.676 3584
+-81.38 37.676 3601
+-81.254 37.676 3615
+-81.128 37.676 3628
+-81.002 37.676 3543
+-80.876 37.676 3552
+-80.75 37.676 3561
+-80.624 37.676 3569
+-80.498 37.676 3576
+-80.372 37.676 3583
+-80.246 37.676 3589
+-80.12 37.676 3594
+-79.994 37.676 3528
+-79.868 37.676 3533
+-79.742 37.676 3537
+-79.616 37.676 3470
+-79.49 37.676 3408
+-79.364 37.676 3396
+-79.238 37.676 3397
+-79.112 37.676 3398
+-78.986 37.676 3398
+-78.86 37.676 3382
+-78.734 37.676 3382
+-78.608 37.676 3383
+-78.482 37.676 3383
+-78.356 37.676 3330
+-78.23 37.676 3329
+-78.104 37.676 3328
+-77.978 37.676 3327
+-77.852 37.676 3325
+-77.726 37.676 3325
+-77.6 37.676 3324
+-77.474 37.676 3323
+-77.348 37.676 3322
+-77.222 37.676 3321
+-77.096 37.676 3320
+-76.97 37.676 3320
+-76.844 37.676 3319
+-76.718 37.676 3289
+-76.592 37.676 3288
+-76.466 37.676 3218
+-76.34 37.676 3054
+-76.214 37.676 3052
+-76.088 37.676 3050
+-75.962 37.676 3047
+-75.836 37.676 3045
+-75.71 37.676 3043
+-75.584 37.676 3041
+-75.458 37.676 3039
+-75.332 37.676 3038
+-75.206 37.676 3036
+-75.08 37.676 3034
+-74.954 37.676 3033
+-74.828 37.676 3031
+-74.702 37.676 3030
+-74.576 37.676 3028
+-74.45 37.676 3027
+-74.324 37.676 3026
+-74.198 37.676 3025
+-74.072 37.676 2894
+-73.946 37.676 2893
+-73.82 37.676 2861
+-73.694 37.676 2812
+-73.568 37.676 2811
+-73.442 37.676 2809
+-73.316 37.676 2824
+-73.19 37.676 2823
+-73.064 37.676 2833
+-72.938 37.676 2832
+-72.812 37.676 2792
+-72.686 37.676 2752
+-72.56 37.676 2752
+-72.434 37.676 2751
+-72.308 37.676 2751
+-72.182 37.676 2768
+-72.056 37.676 2775
+-71.93 37.676 2785
+-71.804 37.676 2784
+-71.678 37.676 2816
+-71.552 37.676 2829
+-71.426 37.676 2830
+-71.3 37.676 2885
+-71.174 37.676 2908
+-71.048 37.676 2888
+-70.922 37.676 2879
+-70.796 37.676 3029
+-70.67 37.676 3031
+-70.544 37.676 3095
+-70.418 37.676 3097
+-70.292 37.676 3099
+-70.166 37.676 3102
+-70.04 37.676 3104
+-69.914 37.676 3019
+-69.788 37.676 3041
+-69.662 37.676 3043
+-69.536 37.676 3033
+-69.41 37.676 3332
+-69.284 37.676 3363
+-69.158 37.676 3364
+-69.032 37.676 3360
+-68.906 37.676 3361
+-68.78 37.676 3365
+-68.654 37.676 3382
+-68.528 37.676 3383
+-68.402 37.676 3371
+-68.276 37.676 3372
+-68.15 37.676 3323
+-68.024 37.676 3324
+-67.898 37.676 3325
+-67.772 37.676 3392
+-67.646 37.676 3387
+-67.52 37.676 3397
+-67.394 37.676 3398
+-67.268 37.676 3377
+-67.142 37.676 3399
+-67.016 37.676 3448
+-66.89 37.676 3459
+-66.764 37.676 3458
+-66.638 37.676 3457
+-66.512 37.676 3512
+-66.386 37.676 3513
+-66.26 37.676 3450
+-66.134 37.676 3475
+-66.008 37.676 3468
+-65.882 37.676 3383
+-65.756 37.676 3294
+-65.63 37.676 3319
+-65.504 37.676 3320
+-65.378 37.676 3355
+-65.252 37.676 3326
+-65.126 37.676 3339
+-128 37.624 2732
+-127.874 37.624 2731
+-127.748 37.624 2730
+-127.622 37.624 2898
+-127.496 37.624 2896
+-127.37 37.624 2894
+-127.244 37.624 2950
+-127.118 37.624 2950
+-126.992 37.624 3016
+-126.866 37.624 3044
+-126.74 37.624 3044
+-126.614 37.624 3044
+-126.488 37.624 3044
+-126.362 37.624 3044
+-126.236 37.624 3000
+-126.11 37.624 3038
+-125.984 37.624 3040
+-125.858 37.624 3043
+-125.732 37.624 3025
+-125.606 37.624 3118
+-125.48 37.624 3122
+-125.354 37.624 3126
+-125.228 37.624 3131
+-125.102 37.624 3136
+-124.976 37.624 3271
+-124.85 37.624 3286
+-124.724 37.624 3322
+-124.598 37.624 3303
+-124.472 37.624 3272
+-124.346 37.624 3277
+-124.22 37.624 3336
+-124.094 37.624 3342
+-123.968 37.624 3455
+-123.842 37.624 3565
+-123.716 37.624 3572
+-123.59 37.624 3581
+-123.464 37.624 3699
+-123.338 37.624 3718
+-123.212 37.624 3860
+-123.086 37.624 3868
+-122.96 37.624 3878
+-122.834 37.624 3926
+-122.708 37.624 3926
+-122.582 37.624 3949
+-122.456 37.624 3961
+-122.33 37.624 3985
+-122.204 37.624 3995
+-122.078 37.624 4008
+-121.952 37.624 4017
+-121.826 37.624 4062
+-121.7 37.624 4054
+-121.574 37.624 4062
+-121.448 37.624 4006
+-121.322 37.624 3972
+-121.196 37.624 4072
+-121.07 37.624 4217
+-120.944 37.624 4303
+-120.818 37.624 4317
+-120.692 37.624 4276
+-120.566 37.624 4403
+-120.44 37.624 4503
+-120.314 37.624 4586
+-120.188 37.624 4698
+-120.062 37.624 4816
+-119.936 37.624 4892
+-119.81 37.624 4957
+-119.684 37.624 4988
+-119.558 37.624 5065
+-119.432 37.624 5153
+-119.306 37.624 5213
+-119.18 37.624 5259
+-119.054 37.624 5331
+-118.928 37.624 5390
+-118.802 37.624 5429
+-118.676 37.624 5497
+-118.55 37.624 5565
+-118.424 37.624 5581
+-118.298 37.624 5599
+-118.172 37.624 5624
+-118.046 37.624 5655
+-117.92 37.624 5701
+-117.794 37.624 5740
+-117.668 37.624 5733
+-117.542 37.624 5729
+-117.416 37.624 5749
+-117.29 37.624 5760
+-117.164 37.624 5750
+-117.038 37.624 5725
+-116.912 37.624 5719
+-116.786 37.624 5701
+-116.66 37.624 5683
+-116.534 37.624 5652
+-116.408 37.624 5624
+-116.282 37.624 5595
+-116.156 37.624 5567
+-116.03 37.624 5538
+-115.904 37.624 5464
+-115.778 37.624 5382
+-115.652 37.624 5311
+-115.526 37.624 5269
+-115.4 37.624 5162
+-115.274 37.624 5090
+-115.148 37.624 5042
+-115.022 37.624 4943
+-114.896 37.624 4834
+-114.77 37.624 4778
+-114.644 37.624 4776
+-114.518 37.624 4676
+-114.392 37.624 4596
+-114.266 37.624 4527
+-114.14 37.624 4482
+-114.014 37.624 4415
+-113.888 37.624 4429
+-113.762 37.624 4441
+-113.636 37.624 4444
+-113.51 37.624 4355
+-113.384 37.624 4202
+-113.258 37.624 4119
+-113.132 37.624 3984
+-113.006 37.624 3840
+-112.88 37.624 3599
+-112.754 37.624 3411
+-112.628 37.624 3239
+-112.502 37.624 3165
+-112.376 37.624 3115
+-112.25 37.624 3069
+-112.124 37.624 3052
+-111.998 37.624 3030
+-111.872 37.624 2986
+-111.746 37.624 2950
+-111.62 37.624 2904
+-111.494 37.624 2873
+-111.368 37.624 2905
+-111.242 37.624 2913
+-111.116 37.624 2922
+-110.99 37.624 2932
+-110.864 37.624 2935
+-110.738 37.624 2920
+-110.612 37.624 2937
+-110.486 37.624 2975
+-110.36 37.624 3012
+-110.234 37.624 3045
+-110.108 37.624 3073
+-109.982 37.624 3083
+-109.856 37.624 3093
+-109.73 37.624 3065
+-109.604 37.624 3061
+-109.478 37.624 3053
+-109.352 37.624 3039
+-109.226 37.624 3021
+-109.1 37.624 3000
+-108.974 37.624 2981
+-108.848 37.624 2979
+-108.722 37.624 2960
+-108.596 37.624 2935
+-108.47 37.624 2878
+-108.344 37.624 2858
+-108.218 37.624 2848
+-108.092 37.624 2834
+-107.966 37.624 2866
+-107.84 37.624 2850
+-107.714 37.624 2833
+-107.588 37.624 2854
+-107.462 37.624 2820
+-107.336 37.624 2821
+-107.21 37.624 2811
+-107.084 37.624 2860
+-106.958 37.624 2864
+-106.832 37.624 2873
+-106.706 37.624 2881
+-106.58 37.624 2857
+-106.454 37.624 2910
+-106.328 37.624 2912
+-106.202 37.624 2914
+-106.076 37.624 2910
+-105.95 37.624 2919
+-105.824 37.624 2921
+-105.698 37.624 2924
+-105.572 37.624 2896
+-105.446 37.624 2909
+-105.32 37.624 2935
+-105.194 37.624 2941
+-105.068 37.624 2947
+-104.942 37.624 2953
+-104.816 37.624 2960
+-104.69 37.624 2954
+-104.564 37.624 3025
+-104.438 37.624 3034
+-104.312 37.624 3010
+-104.186 37.624 3018
+-104.06 37.624 3026
+-103.934 37.624 3033
+-103.808 37.624 2963
+-103.682 37.624 2969
+-103.556 37.624 2975
+-103.43 37.624 2984
+-103.304 37.624 2990
+-103.178 37.624 2993
+-103.052 37.624 2972
+-102.926 37.624 3009
+-102.8 37.624 3009
+-102.674 37.624 3015
+-102.548 37.624 3020
+-102.422 37.624 3025
+-102.296 37.624 2884
+-102.17 37.624 2862
+-102.044 37.624 2819
+-101.918 37.624 2762
+-101.792 37.624 2738
+-101.666 37.624 2756
+-101.54 37.624 2724
+-101.414 37.624 2701
+-101.288 37.624 2704
+-101.162 37.624 2816
+-101.036 37.624 2828
+-100.91 37.624 3006
+-100.784 37.624 3048
+-100.658 37.624 3141
+-100.532 37.624 3142
+-100.406 37.624 3143
+-100.28 37.624 3145
+-100.154 37.624 3214
+-100.028 37.624 3214
+-99.902 37.624 3214
+-99.776 37.624 3272
+-99.65 37.624 3272
+-99.524 37.624 3272
+-99.398 37.624 3272
+-99.272 37.624 3272
+-99.146 37.624 3272
+-99.02 37.624 3272
+-98.894 37.624 3272
+-98.768 37.624 3273
+-98.642 37.624 3273
+-98.516 37.624 3274
+-98.39 37.624 3286
+-98.264 37.624 3286
+-98.138 37.624 3287
+-98.012 37.624 3287
+-97.886 37.624 3288
+-97.76 37.624 3288
+-97.634 37.624 3344
+-97.508 37.624 3410
+-97.382 37.624 3434
+-97.256 37.624 3421
+-97.13 37.624 3423
+-97.004 37.624 3403
+-96.878 37.624 3391
+-96.752 37.624 3391
+-96.626 37.624 3379
+-96.5 37.624 3373
+-96.374 37.624 3395
+-96.248 37.624 3420
+-96.122 37.624 3432
+-95.996 37.624 3431
+-95.87 37.624 3518
+-95.744 37.624 3626
+-95.618 37.624 3742
+-95.492 37.624 3865
+-95.366 37.624 4118
+-95.24 37.624 4323
+-95.114 37.624 4568
+-94.988 37.624 4672
+-94.862 37.624 4710
+-94.736 37.624 4602
+-94.61 37.624 4852
+-94.484 37.624 5034
+-94.358 37.624 5061
+-94.232 37.624 5156
+-94.106 37.624 5345
+-93.98 37.624 5413
+-93.854 37.624 5579
+-93.728 37.624 5702
+-93.602 37.624 5803
+-93.476 37.624 5948
+-93.35 37.624 6121
+-93.224 37.624 6210
+-93.098 37.624 6314
+-92.972 37.624 6470
+-92.846 37.624 6531
+-92.72 37.624 6679
+-92.594 37.624 6770
+-92.468 37.624 6914
+-92.342 37.624 7045
+-92.216 37.624 7109
+-92.09 37.624 7262
+-91.964 37.624 7380
+-91.838 37.624 7488
+-91.712 37.624 7625
+-91.586 37.624 7667
+-91.46 37.624 7760
+-91.334 37.624 7850
+-91.208 37.624 7965
+-91.082 37.624 8022
+-90.956 37.624 8080
+-90.83 37.624 8118
+-90.704 37.624 8148
+-90.578 37.624 8166
+-90.452 37.624 8173
+-90.326 37.624 8181
+-90.2 37.624 8168
+-90.074 37.624 8301
+-89.948 37.624 8496
+-89.822 37.624 8716
+-89.696 37.624 8837
+-89.57 37.624 9000
+-89.444 37.624 9129
+-89.318 37.624 9273
+-89.192 37.624 9420
+-89.066 37.624 9525
+-88.94 37.624 9639
+-88.814 37.624 9705
+-88.688 37.624 9645
+-88.562 37.624 9494
+-88.436 37.624 9370
+-88.31 37.624 9280
+-88.184 37.624 9023
+-88.058 37.624 8964
+-87.932 37.624 8827
+-87.806 37.624 8681
+-87.68 37.624 8545
+-87.554 37.624 8380
+-87.428 37.624 8231
+-87.302 37.624 8090
+-87.176 37.624 7971
+-87.05 37.624 7830
+-86.924 37.624 7715
+-86.798 37.624 7558
+-86.672 37.624 7377
+-86.546 37.624 7279
+-86.42 37.624 7166
+-86.294 37.624 7029
+-86.168 37.624 6963
+-86.042 37.624 6738
+-85.916 37.624 6538
+-85.79 37.624 6459
+-85.664 37.624 6296
+-85.538 37.624 6163
+-85.412 37.624 6009
+-85.286 37.624 5865
+-85.16 37.624 5716
+-85.034 37.624 5571
+-84.908 37.624 5485
+-84.782 37.624 5340
+-84.656 37.624 5360
+-84.53 37.624 5217
+-84.404 37.624 5025
+-84.278 37.624 4748
+-84.152 37.624 4618
+-84.026 37.624 4645
+-83.9 37.624 4586
+-83.774 37.624 4459
+-83.648 37.624 4302
+-83.522 37.624 4136
+-83.396 37.624 4065
+-83.27 37.624 3943
+-83.144 37.624 3839
+-83.018 37.624 3735
+-82.892 37.624 3621
+-82.766 37.624 3515
+-82.64 37.624 3430
+-82.514 37.624 3419
+-82.388 37.624 3448
+-82.262 37.624 3477
+-82.136 37.624 3510
+-82.01 37.624 3546
+-81.884 37.624 3539
+-81.758 37.624 3562
+-81.632 37.624 3582
+-81.506 37.624 3598
+-81.38 37.624 3612
+-81.254 37.624 3624
+-81.128 37.624 3635
+-81.002 37.624 3552
+-80.876 37.624 3554
+-80.75 37.624 3563
+-80.624 37.624 3570
+-80.498 37.624 3577
+-80.372 37.624 3583
+-80.246 37.624 3589
+-80.12 37.624 3524
+-79.994 37.624 3529
+-79.868 37.624 3533
+-79.742 37.624 3465
+-79.616 37.624 3405
+-79.49 37.624 3393
+-79.364 37.624 3394
+-79.238 37.624 3394
+-79.112 37.624 3395
+-78.986 37.624 3395
+-78.86 37.624 3396
+-78.734 37.624 3396
+-78.608 37.624 3397
+-78.482 37.624 3326
+-78.356 37.624 3325
+-78.23 37.624 3324
+-78.104 37.624 3323
+-77.978 37.624 3322
+-77.852 37.624 3321
+-77.726 37.624 3320
+-77.6 37.624 3319
+-77.474 37.624 3318
+-77.348 37.624 3317
+-77.222 37.624 3317
+-77.096 37.624 3316
+-76.97 37.624 3315
+-76.844 37.624 3315
+-76.718 37.624 3314
+-76.592 37.624 3214
+-76.466 37.624 3052
+-76.34 37.624 3050
+-76.214 37.624 3048
+-76.088 37.624 3045
+-75.962 37.624 3043
+-75.836 37.624 3041
+-75.71 37.624 3039
+-75.584 37.624 3037
+-75.458 37.624 3036
+-75.332 37.624 3034
+-75.206 37.624 3032
+-75.08 37.624 3030
+-74.954 37.624 3029
+-74.828 37.624 3027
+-74.702 37.624 3026
+-74.576 37.624 3025
+-74.45 37.624 3023
+-74.324 37.624 3022
+-74.198 37.624 2891
+-74.072 37.624 2890
+-73.946 37.624 2859
+-73.82 37.624 2809
+-73.694 37.624 2808
+-73.568 37.624 2807
+-73.442 37.624 2821
+-73.316 37.624 2820
+-73.19 37.624 2831
+-73.064 37.624 2830
+-72.938 37.624 2789
+-72.812 37.624 2749
+-72.686 37.624 2749
+-72.56 37.624 2749
+-72.434 37.624 2749
+-72.308 37.624 2766
+-72.182 37.624 2773
+-72.056 37.624 2783
+-71.93 37.624 2782
+-71.804 37.624 2814
+-71.678 37.624 2826
+-71.552 37.624 2828
+-71.426 37.624 2883
+-71.3 37.624 2906
+-71.174 37.624 2886
+-71.048 37.624 2877
+-70.922 37.624 3027
+-70.796 37.624 3029
+-70.67 37.624 3092
+-70.544 37.624 3095
+-70.418 37.624 3097
+-70.292 37.624 3099
+-70.166 37.624 3102
+-70.04 37.624 3018
+-69.914 37.624 3039
+-69.788 37.624 3041
+-69.662 37.624 3031
+-69.536 37.624 3330
+-69.41 37.624 3361
+-69.284 37.624 3362
+-69.158 37.624 3358
+-69.032 37.624 3359
+-68.906 37.624 3364
+-68.78 37.624 3380
+-68.654 37.624 3382
+-68.528 37.624 3369
+-68.402 37.624 3370
+-68.276 37.624 3322
+-68.15 37.624 3323
+-68.024 37.624 3324
+-67.898 37.624 3391
+-67.772 37.624 3386
+-67.646 37.624 3396
+-67.52 37.624 3397
+-67.394 37.624 3376
+-67.268 37.624 3398
+-67.142 37.624 3446
+-67.016 37.624 3458
+-66.89 37.624 3457
+-66.764 37.624 3455
+-66.638 37.624 3511
+-66.512 37.624 3512
+-66.386 37.624 3449
+-66.26 37.624 3474
+-66.134 37.624 3467
+-66.008 37.624 3385
+-65.882 37.624 3293
+-65.756 37.624 3318
+-65.63 37.624 3319
+-65.504 37.624 3354
+-65.378 37.624 3325
+-65.252 37.624 3338
+-65.126 37.624 3339
+-128 37.572 2800
+-127.874 37.572 2799
+-127.748 37.572 2820
+-127.622 37.572 2818
+-127.496 37.572 2903
+-127.37 37.572 2902
+-127.244 37.572 2900
+-127.118 37.572 3021
+-126.992 37.572 3021
+-126.866 37.572 3021
+-126.74 37.572 3050
+-126.614 37.572 3050
+-126.488 37.572 3050
+-126.362 37.572 3051
+-126.236 37.572 3052
+-126.11 37.572 3008
+-125.984 37.572 3047
+-125.858 37.572 3050
+-125.732 37.572 3054
+-125.606 37.572 3065
+-125.48 37.572 3132
+-125.354 37.572 3137
+-125.228 37.572 3142
+-125.102 37.572 3148
+-124.976 37.572 3154
+-124.85 37.572 3291
+-124.724 37.572 3307
+-124.598 37.572 3344
+-124.472 37.572 3371
+-124.346 37.572 3350
+-124.22 37.572 3355
+-124.094 37.572 3463
+-123.968 37.572 3570
+-123.842 37.572 3575
+-123.716 37.572 3582
+-123.59 37.572 3695
+-123.464 37.572 3747
+-123.338 37.572 3844
+-123.212 37.572 3856
+-123.086 37.572 3898
+-122.96 37.572 3912
+-122.834 37.572 3926
+-122.708 37.572 3939
+-122.582 37.572 3941
+-122.456 37.572 3966
+-122.33 37.572 3980
+-122.204 37.572 4006
+-122.078 37.572 4017
+-121.952 37.572 4030
+-121.826 37.572 4079
+-121.7 37.572 4104
+-121.574 37.572 4061
+-121.448 37.572 3962
+-121.322 37.572 3863
+-121.196 37.572 4017
+-121.07 37.572 4209
+-120.944 37.572 4297
+-120.818 37.572 4311
+-120.692 37.572 4359
+-120.566 37.572 4451
+-120.44 37.572 4491
+-120.314 37.572 4594
+-120.188 37.572 4703
+-120.062 37.572 4823
+-119.936 37.572 4868
+-119.81 37.572 4988
+-119.684 37.572 5062
+-119.558 37.572 5098
+-119.432 37.572 5186
+-119.306 37.572 5283
+-119.18 37.572 5342
+-119.054 37.572 5397
+-118.928 37.572 5461
+-118.802 37.572 5489
+-118.676 37.572 5534
+-118.55 37.572 5585
+-118.424 37.572 5630
+-118.298 37.572 5664
+-118.172 37.572 5706
+-118.046 37.572 5724
+-117.92 37.572 5762
+-117.794 37.572 5781
+-117.668 37.572 5795
+-117.542 37.572 5802
+-117.416 37.572 5816
+-117.29 37.572 5789
+-117.164 37.572 5836
+-117.038 37.572 5777
+-116.912 37.572 5774
+-116.786 37.572 5735
+-116.66 37.572 5723
+-116.534 37.572 5704
+-116.408 37.572 5696
+-116.282 37.572 5655
+-116.156 37.572 5614
+-116.03 37.572 5566
+-115.904 37.572 5511
+-115.778 37.572 5457
+-115.652 37.572 5399
+-115.526 37.572 5335
+-115.4 37.572 5232
+-115.274 37.572 5127
+-115.148 37.572 5060
+-115.022 37.572 4984
+-114.896 37.572 4889
+-114.77 37.572 4822
+-114.644 37.572 4785
+-114.518 37.572 4727
+-114.392 37.572 4647
+-114.266 37.572 4595
+-114.14 37.572 4564
+-114.014 37.572 4515
+-113.888 37.572 4495
+-113.762 37.572 4471
+-113.636 37.572 4441
+-113.51 37.572 4335
+-113.384 37.572 4199
+-113.258 37.572 4088
+-113.132 37.572 3966
+-113.006 37.572 3814
+-112.88 37.572 3558
+-112.754 37.572 3343
+-112.628 37.572 3177
+-112.502 37.572 3106
+-112.376 37.572 3074
+-112.25 37.572 3022
+-112.124 37.572 3038
+-111.998 37.572 3041
+-111.872 37.572 3000
+-111.746 37.572 2964
+-111.62 37.572 2942
+-111.494 37.572 2936
+-111.368 37.572 2934
+-111.242 37.572 2932
+-111.116 37.572 2936
+-110.99 37.572 2951
+-110.864 37.572 2968
+-110.738 37.572 2978
+-110.612 37.572 2992
+-110.486 37.572 3025
+-110.36 37.572 3062
+-110.234 37.572 3095
+-110.108 37.572 3114
+-109.982 37.572 3123
+-109.856 37.572 3132
+-109.73 37.572 3107
+-109.604 37.572 3105
+-109.478 37.572 3100
+-109.352 37.572 3091
+-109.226 37.572 3077
+-109.1 37.572 3063
+-108.974 37.572 3064
+-108.848 37.572 3044
+-108.722 37.572 3019
+-108.596 37.572 3032
+-108.47 37.572 2986
+-108.344 37.572 2976
+-108.218 37.572 2961
+-108.092 37.572 2947
+-107.966 37.572 2930
+-107.84 37.572 2956
+-107.714 37.572 2928
+-107.588 37.572 2886
+-107.462 37.572 2881
+-107.336 37.572 2907
+-107.21 37.572 2905
+-107.084 37.572 2902
+-106.958 37.572 2905
+-106.832 37.572 2908
+-106.706 37.572 2923
+-106.58 37.572 2925
+-106.454 37.572 2923
+-106.328 37.572 2921
+-106.202 37.572 2914
+-106.076 37.572 2920
+-105.95 37.572 2919
+-105.824 37.572 2919
+-105.698 37.572 2890
+-105.572 37.572 2901
+-105.446 37.572 2925
+-105.32 37.572 2930
+-105.194 37.572 2935
+-105.068 37.572 2941
+-104.942 37.572 2948
+-104.816 37.572 2942
+-104.69 37.572 3011
+-104.564 37.572 3020
+-104.438 37.572 2998
+-104.312 37.572 3007
+-104.186 37.572 3015
+-104.06 37.572 3023
+-103.934 37.572 2955
+-103.808 37.572 2962
+-103.682 37.572 2968
+-103.556 37.572 2977
+-103.43 37.572 2984
+-103.304 37.572 2988
+-103.178 37.572 2967
+-103.052 37.572 3004
+-102.926 37.572 3005
+-102.8 37.572 3010
+-102.674 37.572 3016
+-102.548 37.572 3021
+-102.422 37.572 3026
+-102.296 37.572 2886
+-102.17 37.572 2863
+-102.044 37.572 2820
+-101.918 37.572 2764
+-101.792 37.572 2737
+-101.666 37.572 2754
+-101.54 37.572 2727
+-101.414 37.572 2699
+-101.288 37.572 2806
+-101.162 37.572 2812
+-101.036 37.572 2843
+-100.91 37.572 3001
+-100.784 37.572 3044
+-100.658 37.572 3137
+-100.532 37.572 3138
+-100.406 37.572 3140
+-100.28 37.572 3141
+-100.154 37.572 3142
+-100.028 37.572 3175
+-99.902 37.572 3211
+-99.776 37.572 3270
+-99.65 37.572 3270
+-99.524 37.572 3270
+-99.398 37.572 3270
+-99.272 37.572 3270
+-99.146 37.572 3270
+-99.02 37.572 3270
+-98.894 37.572 3270
+-98.768 37.572 3270
+-98.642 37.572 3271
+-98.516 37.572 3283
+-98.39 37.572 3283
+-98.264 37.572 3284
+-98.138 37.572 3284
+-98.012 37.572 3284
+-97.886 37.572 3283
+-97.76 37.572 3283
+-97.634 37.572 3340
+-97.508 37.572 3392
+-97.382 37.572 3423
+-97.256 37.572 3414
+-97.13 37.572 3393
+-97.004 37.572 3399
+-96.878 37.572 3371
+-96.752 37.572 3329
+-96.626 37.572 3292
+-96.5 37.572 3240
+-96.374 37.572 3242
+-96.248 37.572 3323
+-96.122 37.572 3398
+-95.996 37.572 3461
+-95.87 37.572 3521
+-95.744 37.572 3593
+-95.618 37.572 3685
+-95.492 37.572 3807
+-95.366 37.572 4078
+-95.24 37.572 4336
+-95.114 37.572 4500
+-94.988 37.572 4659
+-94.862 37.572 4768
+-94.736 37.572 4756
+-94.61 37.572 4895
+-94.484 37.572 5027
+-94.358 37.572 5108
+-94.232 37.572 5205
+-94.106 37.572 5368
+-93.98 37.572 5487
+-93.854 37.572 5576
+-93.728 37.572 5659
+-93.602 37.572 5759
+-93.476 37.572 5946
+-93.35 37.572 6064
+-93.224 37.572 6181
+-93.098 37.572 6304
+-92.972 37.572 6429
+-92.846 37.572 6511
+-92.72 37.572 6610
+-92.594 37.572 6753
+-92.468 37.572 6884
+-92.342 37.572 7007
+-92.216 37.572 7119
+-92.09 37.572 7226
+-91.964 37.572 7361
+-91.838 37.572 7481
+-91.712 37.572 7540
+-91.586 37.572 7618
+-91.46 37.572 7686
+-91.334 37.572 7800
+-91.208 37.572 7871
+-91.082 37.572 7941
+-90.956 37.572 8045
+-90.83 37.572 8065
+-90.704 37.572 8091
+-90.578 37.572 8101
+-90.452 37.572 8115
+-90.326 37.572 8121
+-90.2 37.572 8087
+-90.074 37.572 8157
+-89.948 37.572 8592
+-89.822 37.572 8691
+-89.696 37.572 8844
+-89.57 37.572 8980
+-89.444 37.572 9114
+-89.318 37.572 9267
+-89.192 37.572 9366
+-89.066 37.572 9500
+-88.94 37.572 9681
+-88.814 37.572 9682
+-88.688 37.572 9614
+-88.562 37.572 9516
+-88.436 37.572 9337
+-88.31 37.572 9194
+-88.184 37.572 9088
+-88.058 37.572 8926
+-87.932 37.572 8867
+-87.806 37.572 8683
+-87.68 37.572 8508
+-87.554 37.572 8368
+-87.428 37.572 8170
+-87.302 37.572 8092
+-87.176 37.572 7934
+-87.05 37.572 7821
+-86.924 37.572 7694
+-86.798 37.572 7474
+-86.672 37.572 7410
+-86.546 37.572 7282
+-86.42 37.572 7149
+-86.294 37.572 7095
+-86.168 37.572 6930
+-86.042 37.572 6735
+-85.916 37.572 6593
+-85.79 37.572 6445
+-85.664 37.572 6263
+-85.538 37.572 6156
+-85.412 37.572 6059
+-85.286 37.572 5890
+-85.16 37.572 5663
+-85.034 37.572 5516
+-84.908 37.572 5505
+-84.782 37.572 5412
+-84.656 37.572 5359
+-84.53 37.572 5201
+-84.404 37.572 5065
+-84.278 37.572 4820
+-84.152 37.572 4694
+-84.026 37.572 4653
+-83.9 37.572 4590
+-83.774 37.572 4444
+-83.648 37.572 4305
+-83.522 37.572 4170
+-83.396 37.572 4040
+-83.27 37.572 3970
+-83.144 37.572 3869
+-83.018 37.572 3787
+-82.892 37.572 3711
+-82.766 37.572 3640
+-82.64 37.572 3589
+-82.514 37.572 3549
+-82.388 37.572 3552
+-82.262 37.572 3569
+-82.136 37.572 3540
+-82.01 37.572 3550
+-81.884 37.572 3568
+-81.758 37.572 3585
+-81.632 37.572 3599
+-81.506 37.572 3612
+-81.38 37.572 3624
+-81.254 37.572 3634
+-81.128 37.572 3643
+-81.002 37.572 3652
+-80.876 37.572 3564
+-80.75 37.572 3572
+-80.624 37.572 3579
+-80.498 37.572 3586
+-80.372 37.572 3563
+-80.246 37.572 3520
+-80.12 37.572 3525
+-79.994 37.572 3529
+-79.868 37.572 3461
+-79.742 37.572 3401
+-79.616 37.572 3390
+-79.49 37.572 3390
+-79.364 37.572 3391
+-79.238 37.572 3391
+-79.112 37.572 3392
+-78.986 37.572 3392
+-78.86 37.572 3393
+-78.734 37.572 3393
+-78.608 37.572 3322
+-78.482 37.572 3321
+-78.356 37.572 3320
+-78.23 37.572 3319
+-78.104 37.572 3318
+-77.978 37.572 3317
+-77.852 37.572 3316
+-77.726 37.572 3315
+-77.6 37.572 3314
+-77.474 37.572 3314
+-77.348 37.572 3313
+-77.222 37.572 3312
+-77.096 37.572 3312
+-76.97 37.572 3311
+-76.844 37.572 3311
+-76.718 37.572 3210
+-76.592 37.572 3050
+-76.466 37.572 3048
+-76.34 37.572 3046
+-76.214 37.572 3043
+-76.088 37.572 3041
+-75.962 37.572 3039
+-75.836 37.572 3037
+-75.71 37.572 3035
+-75.584 37.572 3033
+-75.458 37.572 3031
+-75.332 37.572 3030
+-75.206 37.572 3028
+-75.08 37.572 3027
+-74.954 37.572 3025
+-74.828 37.572 3024
+-74.702 37.572 3022
+-74.576 37.572 3021
+-74.45 37.572 3020
+-74.324 37.572 2889
+-74.198 37.572 2887
+-74.072 37.572 2856
+-73.946 37.572 2806
+-73.82 37.572 2805
+-73.694 37.572 2804
+-73.568 37.572 2818
+-73.442 37.572 2817
+-73.316 37.572 2828
+-73.19 37.572 2827
+-73.064 37.572 2787
+-72.938 37.572 2747
+-72.812 37.572 2747
+-72.686 37.572 2747
+-72.56 37.572 2747
+-72.434 37.572 2764
+-72.308 37.572 2771
+-72.182 37.572 2781
+-72.056 37.572 2780
+-71.93 37.572 2812
+-71.804 37.572 2824
+-71.678 37.572 2826
+-71.552 37.572 2881
+-71.426 37.572 2904
+-71.3 37.572 2884
+-71.174 37.572 2875
+-71.048 37.572 3024
+-70.922 37.572 3027
+-70.796 37.572 3090
+-70.67 37.572 3092
+-70.544 37.572 3095
+-70.418 37.572 3097
+-70.292 37.572 3099
+-70.166 37.572 3016
+-70.04 37.572 3037
+-69.914 37.572 3039
+-69.788 37.572 3029
+-69.662 37.572 3328
+-69.536 37.572 3359
+-69.41 37.572 3361
+-69.284 37.572 3356
+-69.158 37.572 3357
+-69.032 37.572 3362
+-68.906 37.572 3379
+-68.78 37.572 3380
+-68.654 37.572 3367
+-68.528 37.572 3369
+-68.402 37.572 3320
+-68.276 37.572 3322
+-68.15 37.572 3323
+-68.024 37.572 3390
+-67.898 37.572 3384
+-67.772 37.572 3394
+-67.646 37.572 3396
+-67.52 37.572 3374
+-67.394 37.572 3397
+-67.268 37.572 3445
+-67.142 37.572 3457
+-67.016 37.572 3455
+-66.89 37.572 3454
+-66.764 37.572 3509
+-66.638 37.572 3510
+-66.512 37.572 3448
+-66.386 37.572 3472
+-66.26 37.572 3465
+-66.134 37.572 3381
+-66.008 37.572 3292
+-65.882 37.572 3317
+-65.756 37.572 3318
+-65.63 37.572 3352
+-65.504 37.572 3324
+-65.378 37.572 3337
+-65.252 37.572 3338
+-65.126 37.572 3316
+-128 37.52 2736
+-127.874 37.52 2804
+-127.748 37.52 2804
+-127.622 37.52 2824
+-127.496 37.52 2823
+-127.37 37.52 2824
+-127.244 37.52 2991
+-127.118 37.52 2993
+-126.992 37.52 3025
+-126.866 37.52 3025
+-126.74 37.52 3026
+-126.614 37.52 3055
+-126.488 37.52 3056
+-126.362 37.52 3057
+-126.236 37.52 3058
+-126.11 37.52 3060
+-125.984 37.52 3080
+-125.858 37.52 3116
+-125.732 37.52 3119
+-125.606 37.52 3122
+-125.48 37.52 3132
+-125.354 37.52 3256
+-125.228 37.52 3260
+-125.102 37.52 3264
+-124.976 37.52 3268
+-124.85 37.52 3273
+-124.724 37.52 3359
+-124.598 37.52 3428
+-124.472 37.52 3414
+-124.346 37.52 3437
+-124.22 37.52 3464
+-124.094 37.52 3616
+-123.968 37.52 3618
+-123.842 37.52 3621
+-123.716 37.52 3686
+-123.59 37.52 3779
+-123.464 37.52 3822
+-123.338 37.52 3829
+-123.212 37.52 3840
+-123.086 37.52 3853
+-122.96 37.52 3901
+-122.834 37.52 3919
+-122.708 37.52 3936
+-122.582 37.52 3952
+-122.456 37.52 3955
+-122.33 37.52 3981
+-122.204 37.52 3995
+-122.078 37.52 4006
+-121.952 37.52 4077
+-121.826 37.52 4084
+-121.7 37.52 4083
+-121.574 37.52 4091
+-121.448 37.52 4034
+-121.322 37.52 3997
+-121.196 37.52 4111
+-121.07 37.52 4245
+-120.944 37.52 4291
+-120.818 37.52 4225
+-120.692 37.52 4367
+-120.566 37.52 4465
+-120.44 37.52 4531
+-120.314 37.52 4642
+-120.188 37.52 4709
+-120.062 37.52 4804
+-119.936 37.52 4925
+-119.81 37.52 5033
+-119.684 37.52 5040
+-119.558 37.52 5104
+-119.432 37.52 5234
+-119.306 37.52 5331
+-119.18 37.52 5366
+-119.054 37.52 5440
+-118.928 37.52 5504
+-118.802 37.52 5539
+-118.676 37.52 5566
+-118.55 37.52 5615
+-118.424 37.52 5671
+-118.298 37.52 5733
+-118.172 37.52 5761
+-118.046 37.52 5789
+-117.92 37.52 5817
+-117.794 37.52 5853
+-117.668 37.52 5881
+-117.542 37.52 5855
+-117.416 37.52 5840
+-117.29 37.52 5834
+-117.164 37.52 5829
+-117.038 37.52 5838
+-116.912 37.52 5796
+-116.786 37.52 5767
+-116.66 37.52 5748
+-116.534 37.52 5748
+-116.408 37.52 5723
+-116.282 37.52 5676
+-116.156 37.52 5685
+-116.03 37.52 5625
+-115.904 37.52 5587
+-115.778 37.52 5524
+-115.652 37.52 5480
+-115.526 37.52 5419
+-115.4 37.52 5335
+-115.274 37.52 5231
+-115.148 37.52 5124
+-115.022 37.52 5046
+-114.896 37.52 4967
+-114.77 37.52 4870
+-114.644 37.52 4848
+-114.518 37.52 4765
+-114.392 37.52 4672
+-114.266 37.52 4536
+-114.14 37.52 4590
+-114.014 37.52 4574
+-113.888 37.52 4532
+-113.762 37.52 4464
+-113.636 37.52 4389
+-113.51 37.52 4313
+-113.384 37.52 4219
+-113.258 37.52 4086
+-113.132 37.52 3963
+-113.006 37.52 3801
+-112.88 37.52 3543
+-112.754 37.52 3327
+-112.628 37.52 3142
+-112.502 37.52 3072
+-112.376 37.52 3057
+-112.25 37.52 2958
+-112.124 37.52 3020
+-111.998 37.52 3055
+-111.872 37.52 3020
+-111.746 37.52 2968
+-111.62 37.52 2933
+-111.494 37.52 2959
+-111.368 37.52 2978
+-111.242 37.52 2980
+-111.116 37.52 2979
+-110.99 37.52 3004
+-110.864 37.52 3029
+-110.738 37.52 3040
+-110.612 37.52 3071
+-110.486 37.52 3091
+-110.36 37.52 3124
+-110.234 37.52 3144
+-110.108 37.52 3159
+-109.982 37.52 3164
+-109.856 37.52 3170
+-109.73 37.52 3146
+-109.604 37.52 3145
+-109.478 37.52 3155
+-109.352 37.52 3135
+-109.226 37.52 3126
+-109.1 37.52 3132
+-108.974 37.52 3116
+-108.848 37.52 3104
+-108.722 37.52 3105
+-108.596 37.52 3132
+-108.47 37.52 3083
+-108.344 37.52 3076
+-108.218 37.52 3062
+-108.092 37.52 3042
+-107.966 37.52 3025
+-107.84 37.52 2976
+-107.714 37.52 2995
+-107.588 37.52 2941
+-107.462 37.52 2960
+-107.336 37.52 2954
+-107.21 37.52 2944
+-107.084 37.52 2990
+-106.958 37.52 2939
+-106.832 37.52 2947
+-106.706 37.52 2944
+-106.58 37.52 2938
+-106.454 37.52 2931
+-106.328 37.52 2921
+-106.202 37.52 2922
+-106.076 37.52 2918
+-105.95 37.52 2915
+-105.824 37.52 2884
+-105.698 37.52 2892
+-105.572 37.52 2914
+-105.446 37.52 2917
+-105.32 37.52 2921
+-105.194 37.52 2927
+-105.068 37.52 2934
+-104.942 37.52 2929
+-104.816 37.52 2995
+-104.69 37.52 3005
+-104.564 37.52 2985
+-104.438 37.52 2994
+-104.312 37.52 3003
+-104.186 37.52 3012
+-104.06 37.52 2947
+-103.934 37.52 2954
+-103.808 37.52 2960
+-103.682 37.52 2970
+-103.556 37.52 2977
+-103.43 37.52 2982
+-103.304 37.52 2962
+-103.178 37.52 2998
+-103.052 37.52 3000
+-102.926 37.52 3006
+-102.8 37.52 3011
+-102.674 37.52 3017
+-102.548 37.52 3022
+-102.422 37.52 3027
+-102.296 37.52 2888
+-102.17 37.52 2914
+-102.044 37.52 2821
+-101.918 37.52 2766
+-101.792 37.52 2776
+-101.666 37.52 2752
+-101.54 37.52 2725
+-101.414 37.52 2818
+-101.288 37.52 2802
+-101.162 37.52 2808
+-101.036 37.52 2838
+-100.91 37.52 2996
+-100.784 37.52 3040
+-100.658 37.52 3101
+-100.532 37.52 3103
+-100.406 37.52 3104
+-100.28 37.52 3106
+-100.154 37.52 3108
+-100.028 37.52 3138
+-99.902 37.52 3208
+-99.776 37.52 3207
+-99.65 37.52 3268
+-99.524 37.52 3268
+-99.398 37.52 3268
+-99.272 37.52 3267
+-99.146 37.52 3267
+-99.02 37.52 3267
+-98.894 37.52 3267
+-98.768 37.52 3267
+-98.642 37.52 3280
+-98.516 37.52 3280
+-98.39 37.52 3280
+-98.264 37.52 3280
+-98.138 37.52 3280
+-98.012 37.52 3279
+-97.886 37.52 3279
+-97.76 37.52 3337
+-97.634 37.52 3331
+-97.508 37.52 3391
+-97.382 37.52 3384
+-97.256 37.52 3411
+-97.13 37.52 3405
+-97.004 37.52 3384
+-96.878 37.52 3335
+-96.752 37.52 3295
+-96.626 37.52 3199
+-96.5 37.52 3075
+-96.374 37.52 3009
+-96.248 37.52 3163
+-96.122 37.52 3338
+-95.996 37.52 3389
+-95.87 37.52 3476
+-95.744 37.52 3548
+-95.618 37.52 3633
+-95.492 37.52 3789
+-95.366 37.52 3978
+-95.24 37.52 4291
+-95.114 37.52 4415
+-94.988 37.52 4612
+-94.862 37.52 4696
+-94.736 37.52 4852
+-94.61 37.52 4928
+-94.484 37.52 5014
+-94.358 37.52 5062
+-94.232 37.52 5194
+-94.106 37.52 5375
+-93.98 37.52 5500
+-93.854 37.52 5584
+-93.728 37.52 5600
+-93.602 37.52 5720
+-93.476 37.52 5902
+-93.35 37.52 6003
+-93.224 37.52 6140
+-93.098 37.52 6202
+-92.972 37.52 6426
+-92.846 37.52 6507
+-92.72 37.52 6610
+-92.594 37.52 6744
+-92.468 37.52 6908
+-92.342 37.52 6949
+-92.216 37.52 7061
+-92.09 37.52 7199
+-91.964 37.52 7251
+-91.838 37.52 7445
+-91.712 37.52 7506
+-91.586 37.52 7639
+-91.46 37.52 7658
+-91.334 37.52 7759
+-91.208 37.52 7828
+-91.082 37.52 7906
+-90.956 37.52 7954
+-90.83 37.52 8014
+-90.704 37.52 8029
+-90.578 37.52 8059
+-90.452 37.52 8063
+-90.326 37.52 8093
+-90.2 37.52 8066
+-90.074 37.52 8417
+-89.948 37.52 8513
+-89.822 37.52 8685
+-89.696 37.52 8823
+-89.57 37.52 8933
+-89.444 37.52 9118
+-89.318 37.52 9195
+-89.192 37.52 9386
+-89.066 37.52 9464
+-88.94 37.52 9538
+-88.814 37.52 9608
+-88.688 37.52 9577
+-88.562 37.52 9457
+-88.436 37.52 9347
+-88.31 37.52 9191
+-88.184 37.52 9078
+-88.058 37.52 8885
+-87.932 37.52 8820
+-87.806 37.52 8587
+-87.68 37.52 8460
+-87.554 37.52 8351
+-87.428 37.52 8273
+-87.302 37.52 8099
+-87.176 37.52 7942
+-87.05 37.52 7776
+-86.924 37.52 7700
+-86.798 37.52 7521
+-86.672 37.52 7384
+-86.546 37.52 7264
+-86.42 37.52 7148
+-86.294 37.52 7066
+-86.168 37.52 6864
+-86.042 37.52 6666
+-85.916 37.52 6583
+-85.79 37.52 6442
+-85.664 37.52 6292
+-85.538 37.52 6176
+-85.412 37.52 6041
+-85.286 37.52 5875
+-85.16 37.52 5726
+-85.034 37.52 5549
+-84.908 37.52 5466
+-84.782 37.52 5399
+-84.656 37.52 5332
+-84.53 37.52 5208
+-84.404 37.52 5042
+-84.278 37.52 4894
+-84.152 37.52 4762
+-84.026 37.52 4656
+-83.9 37.52 4526
+-83.774 37.52 4412
+-83.648 37.52 4250
+-83.522 37.52 4170
+-83.396 37.52 4066
+-83.27 37.52 3975
+-83.144 37.52 3904
+-83.018 37.52 3825
+-82.892 37.52 3763
+-82.766 37.52 3715
+-82.64 37.52 3678
+-82.514 37.52 3655
+-82.388 37.52 3628
+-82.262 37.52 3597
+-82.136 37.52 3593
+-82.01 37.52 3604
+-81.884 37.52 3596
+-81.758 37.52 3593
+-81.632 37.52 3603
+-81.506 37.52 3612
+-81.38 37.52 3620
+-81.254 37.52 3628
+-81.128 37.52 3635
+-81.002 37.52 3642
+-80.876 37.52 3648
+-80.75 37.52 3573
+-80.624 37.52 3582
+-80.498 37.52 3567
+-80.372 37.52 3516
+-80.246 37.52 3521
+-80.12 37.52 3525
+-79.994 37.52 3454
+-79.868 37.52 3398
+-79.742 37.52 3386
+-79.616 37.52 3387
+-79.49 37.52 3388
+-79.364 37.52 3388
+-79.238 37.52 3389
+-79.112 37.52 3389
+-78.986 37.52 3389
+-78.86 37.52 3390
+-78.734 37.52 3318
+-78.608 37.52 3317
+-78.482 37.52 3316
+-78.356 37.52 3315
+-78.23 37.52 3314
+-78.104 37.52 3313
+-77.978 37.52 3312
+-77.852 37.52 3311
+-77.726 37.52 3310
+-77.6 37.52 3310
+-77.474 37.52 3309
+-77.348 37.52 3308
+-77.222 37.52 3308
+-77.096 37.52 3307
+-76.97 37.52 3307
+-76.844 37.52 3203
+-76.718 37.52 3048
+-76.592 37.52 3046
+-76.466 37.52 3043
+-76.34 37.52 3041
+-76.214 37.52 3039
+-76.088 37.52 3037
+-75.962 37.52 3035
+-75.836 37.52 3033
+-75.71 37.52 3031
+-75.584 37.52 3029
+-75.458 37.52 3027
+-75.332 37.52 3026
+-75.206 37.52 3024
+-75.08 37.52 3022
+-74.954 37.52 3021
+-74.828 37.52 3020
+-74.702 37.52 3018
+-74.576 37.52 3017
+-74.45 37.52 2886
+-74.324 37.52 2884
+-74.198 37.52 2853
+-74.072 37.52 2803
+-73.946 37.52 2802
+-73.82 37.52 2801
+-73.694 37.52 2815
+-73.568 37.52 2814
+-73.442 37.52 2825
+-73.316 37.52 2824
+-73.19 37.52 2784
+-73.064 37.52 2744
+-72.938 37.52 2744
+-72.812 37.52 2744
+-72.686 37.52 2744
+-72.56 37.52 2761
+-72.434 37.52 2768
+-72.308 37.52 2778
+-72.182 37.52 2778
+-72.056 37.52 2809
+-71.93 37.52 2822
+-71.804 37.52 2824
+-71.678 37.52 2879
+-71.552 37.52 2902
+-71.426 37.52 2882
+-71.3 37.52 2873
+-71.174 37.52 3022
+-71.048 37.52 3025
+-70.922 37.52 3087
+-70.796 37.52 3090
+-70.67 37.52 3092
+-70.544 37.52 3095
+-70.418 37.52 3097
+-70.292 37.52 3014
+-70.166 37.52 3035
+-70.04 37.52 3038
+-69.914 37.52 3028
+-69.788 37.52 3326
+-69.662 37.52 3358
+-69.536 37.52 3359
+-69.41 37.52 3354
+-69.284 37.52 3356
+-69.158 37.52 3360
+-69.032 37.52 3377
+-68.906 37.52 3378
+-68.78 37.52 3366
+-68.654 37.52 3367
+-68.528 37.52 3319
+-68.402 37.52 3320
+-68.276 37.52 3321
+-68.15 37.52 3388
+-68.024 37.52 3383
+-67.898 37.52 3393
+-67.772 37.52 3394
+-67.646 37.52 3373
+-67.52 37.52 3395
+-67.394 37.52 3443
+-67.268 37.52 3455
+-67.142 37.52 3454
+-67.016 37.52 3453
+-66.89 37.52 3508
+-66.764 37.52 3509
+-66.638 37.52 3446
+-66.512 37.52 3471
+-66.386 37.52 3464
+-66.26 37.52 3383
+-66.134 37.52 3291
+-66.008 37.52 3315
+-65.882 37.52 3317
+-65.756 37.52 3351
+-65.63 37.52 3323
+-65.504 37.52 3336
+-65.378 37.52 3337
+-65.252 37.52 3315
+-65.126 37.52 3316
+-128 37.468 2767
+-127.874 37.468 2740
+-127.748 37.468 2890
+-127.622 37.468 2894
+-127.496 37.468 2892
+-127.37 37.468 2912
+-127.244 37.468 2911
+-127.118 37.468 2994
+-126.992 37.468 2996
+-126.866 37.468 3029
+-126.74 37.468 3030
+-126.614 37.468 3031
+-126.488 37.468 3061
+-126.362 37.468 3062
+-126.236 37.468 3063
+-126.11 37.468 3065
+-125.984 37.468 3067
+-125.858 37.468 3088
+-125.732 37.468 3124
+-125.606 37.468 3128
+-125.48 37.468 3132
+-125.354 37.468 3143
+-125.228 37.468 3268
+-125.102 37.468 3272
+-124.976 37.468 3277
+-124.85 37.468 3282
+-124.724 37.468 3287
+-124.598 37.468 3311
+-124.472 37.468 3534
+-124.346 37.468 3507
+-124.22 37.468 3539
+-124.094 37.468 3592
+-123.968 37.468 3618
+-123.842 37.468 3712
+-123.716 37.468 3762
+-123.59 37.468 3760
+-123.464 37.468 3762
+-123.338 37.468 3807
+-123.212 37.468 3819
+-123.086 37.468 3834
+-122.96 37.468 3854
+-122.834 37.468 3904
+-122.708 37.468 3926
+-122.582 37.468 3945
+-122.456 37.468 3962
+-122.33 37.468 3964
+-122.204 37.468 4035
+-122.078 37.468 4043
+-121.952 37.468 4051
+-121.826 37.468 4079
+-121.7 37.468 4123
+-121.574 37.468 4130
+-121.448 37.468 4130
+-121.322 37.468 4152
+-121.196 37.468 4218
+-121.07 37.468 4293
+-120.944 37.468 4354
+-120.818 37.468 4359
+-120.692 37.468 4425
+-120.566 37.468 4460
+-120.44 37.468 4540
+-120.314 37.468 4651
+-120.188 37.468 4750
+-120.062 37.468 4869
+-119.936 37.468 5003
+-119.81 37.468 5077
+-119.684 37.468 5142
+-119.558 37.468 5212
+-119.432 37.468 5311
+-119.306 37.468 5319
+-119.18 37.468 5450
+-119.054 37.468 5485
+-118.928 37.468 5508
+-118.802 37.468 5603
+-118.676 37.468 5606
+-118.55 37.468 5676
+-118.424 37.468 5735
+-118.298 37.468 5770
+-118.172 37.468 5811
+-118.046 37.468 5805
+-117.92 37.468 5862
+-117.794 37.468 5891
+-117.668 37.468 5914
+-117.542 37.468 5925
+-117.416 37.468 5935
+-117.29 37.468 5937
+-117.164 37.468 5904
+-117.038 37.468 5878
+-116.912 37.468 5860
+-116.786 37.468 5840
+-116.66 37.468 5833
+-116.534 37.468 5795
+-116.408 37.468 5770
+-116.282 37.468 5746
+-116.156 37.468 5726
+-116.03 37.468 5664
+-115.904 37.468 5612
+-115.778 37.468 5606
+-115.652 37.468 5557
+-115.526 37.468 5476
+-115.4 37.468 5399
+-115.274 37.468 5309
+-115.148 37.468 5174
+-115.022 37.468 5096
+-114.896 37.468 5058
+-114.77 37.468 4920
+-114.644 37.468 4858
+-114.518 37.468 4747
+-114.392 37.468 4706
+-114.266 37.468 4646
+-114.14 37.468 4603
+-114.014 37.468 4579
+-113.888 37.468 4523
+-113.762 37.468 4412
+-113.636 37.468 4283
+-113.51 37.468 4277
+-113.384 37.468 4225
+-113.258 37.468 4099
+-113.132 37.468 3959
+-113.006 37.468 3805
+-112.88 37.468 3603
+-112.754 37.468 3363
+-112.628 37.468 3186
+-112.502 37.468 3105
+-112.376 37.468 3071
+-112.25 37.468 3048
+-112.124 37.468 3058
+-111.998 37.468 3069
+-111.872 37.468 3056
+-111.746 37.468 3011
+-111.62 37.468 2975
+-111.494 37.468 2996
+-111.368 37.468 3026
+-111.242 37.468 3042
+-111.116 37.468 3056
+-110.99 37.468 3074
+-110.864 37.468 3099
+-110.738 37.468 3132
+-110.612 37.468 3159
+-110.486 37.468 3177
+-110.36 37.468 3177
+-110.234 37.468 3201
+-110.108 37.468 3209
+-109.982 37.468 3204
+-109.856 37.468 3210
+-109.73 37.468 3208
+-109.604 37.468 3191
+-109.478 37.468 3186
+-109.352 37.468 3191
+-109.226 37.468 3178
+-109.1 37.468 3169
+-108.974 37.468 3187
+-108.848 37.468 3166
+-108.722 37.468 3191
+-108.596 37.468 3153
+-108.47 37.468 3142
+-108.344 37.468 3129
+-108.218 37.468 3107
+-108.092 37.468 3089
+-107.966 37.468 3071
+-107.84 37.468 3056
+-107.714 37.468 3021
+-107.588 37.468 3011
+-107.462 37.468 3002
+-107.336 37.468 3040
+-107.21 37.468 3027
+-107.084 37.468 2973
+-106.958 37.468 2974
+-106.832 37.468 2967
+-106.706 37.468 2956
+-106.58 37.468 2945
+-106.454 37.468 2930
+-106.328 37.468 2927
+-106.202 37.468 2919
+-106.076 37.468 2911
+-105.95 37.468 2879
+-105.824 37.468 2883
+-105.698 37.468 2901
+-105.572 37.468 2903
+-105.446 37.468 2906
+-105.32 37.468 2911
+-105.194 37.468 2917
+-105.068 37.468 2913
+-104.942 37.468 2977
+-104.816 37.468 2987
+-104.69 37.468 2969
+-104.564 37.468 2979
+-104.438 37.468 2989
+-104.312 37.468 2998
+-104.186 37.468 2936
+-104.06 37.468 2944
+-103.934 37.468 2952
+-103.808 37.468 2962
+-103.682 37.468 2969
+-103.556 37.468 2975
+-103.43 37.468 2956
+-103.304 37.468 2992
+-103.178 37.468 2994
+-103.052 37.468 3001
+-102.926 37.468 3007
+-102.8 37.468 3013
+-102.674 37.468 3018
+-102.548 37.468 3024
+-102.422 37.468 3029
+-102.296 37.468 2891
+-102.17 37.468 2915
+-102.044 37.468 2869
+-101.918 37.468 2783
+-101.792 37.468 2776
+-101.666 37.468 2789
+-101.54 37.468 2722
+-101.414 37.468 2814
+-101.288 37.468 2798
+-101.162 37.468 2804
+-101.036 37.468 2816
+-100.91 37.468 2991
+-100.784 37.468 3035
+-100.658 37.468 3096
+-100.532 37.468 3098
+-100.406 37.468 3099
+-100.28 37.468 3101
+-100.154 37.468 3130
+-100.028 37.468 3132
+-99.902 37.468 3133
+-99.776 37.468 3203
+-99.65 37.468 3266
+-99.524 37.468 3266
+-99.398 37.468 3265
+-99.272 37.468 3265
+-99.146 37.468 3264
+-99.02 37.468 3264
+-98.894 37.468 3264
+-98.768 37.468 3277
+-98.642 37.468 3277
+-98.516 37.468 3277
+-98.39 37.468 3276
+-98.264 37.468 3276
+-98.138 37.468 3275
+-98.012 37.468 3287
+-97.886 37.468 3335
+-97.76 37.468 3329
+-97.634 37.468 3397
+-97.508 37.468 3387
+-97.382 37.468 3374
+-97.256 37.468 3380
+-97.13 37.468 3370
+-97.004 37.468 3368
+-96.878 37.468 3314
+-96.752 37.468 3240
+-96.626 37.468 3147
+-96.5 37.468 2976
+-96.374 37.468 2831
+-96.248 37.468 3059
+-96.122 37.468 3303
+-95.996 37.468 3316
+-95.87 37.468 3447
+-95.744 37.468 3525
+-95.618 37.468 3596
+-95.492 37.468 3772
+-95.366 37.468 3974
+-95.24 37.468 4309
+-95.114 37.468 4427
+-94.988 37.468 4578
+-94.862 37.468 4687
+-94.736 37.468 4777
+-94.61 37.468 4894
+-94.484 37.468 4974
+-94.358 37.468 4930
+-94.232 37.468 5147
+-94.106 37.468 5334
+-93.98 37.468 5468
+-93.854 37.468 5575
+-93.728 37.468 5587
+-93.602 37.468 5703
+-93.476 37.468 5848
+-93.35 37.468 5971
+-93.224 37.468 6102
+-93.098 37.468 6227
+-92.972 37.468 6350
+-92.846 37.468 6466
+-92.72 37.468 6583
+-92.594 37.468 6659
+-92.468 37.468 6849
+-92.342 37.468 6972
+-92.216 37.468 7082
+-92.09 37.468 7183
+-91.964 37.468 7288
+-91.838 37.468 7366
+-91.712 37.468 7458
+-91.586 37.468 7530
+-91.46 37.468 7650
+-91.334 37.468 7696
+-91.208 37.468 7796
+-91.082 37.468 7844
+-90.956 37.468 7896
+-90.83 37.468 7943
+-90.704 37.468 7972
+-90.578 37.468 7999
+-90.452 37.468 8017
+-90.326 37.468 8031
+-90.2 37.468 7960
+-90.074 37.468 8369
+-89.948 37.468 8556
+-89.822 37.468 8678
+-89.696 37.468 8810
+-89.57 37.468 8982
+-89.444 37.468 9085
+-89.318 37.468 9209
+-89.192 37.468 9329
+-89.066 37.468 9471
+-88.94 37.468 9491
+-88.814 37.468 9556
+-88.688 37.468 9480
+-88.562 37.468 9425
+-88.436 37.468 9294
+-88.31 37.468 9171
+-88.184 37.468 8992
+-88.058 37.468 8884
+-87.932 37.468 8816
+-87.806 37.468 8690
+-87.68 37.468 8523
+-87.554 37.468 8354
+-87.428 37.468 8273
+-87.302 37.468 8108
+-87.176 37.468 7931
+-87.05 37.468 7772
+-86.924 37.468 7702
+-86.798 37.468 7531
+-86.672 37.468 7437
+-86.546 37.468 7195
+-86.42 37.468 7115
+-86.294 37.468 7008
+-86.168 37.468 6852
+-86.042 37.468 6610
+-85.916 37.468 6594
+-85.79 37.468 6378
+-85.664 37.468 6234
+-85.538 37.468 6134
+-85.412 37.468 5993
+-85.286 37.468 5880
+-85.16 37.468 5769
+-85.034 37.468 5532
+-84.908 37.468 5338
+-84.782 37.468 5373
+-84.656 37.468 5282
+-84.53 37.468 5164
+-84.404 37.468 5009
+-84.278 37.468 4907
+-84.152 37.468 4765
+-84.026 37.468 4651
+-83.9 37.468 4472
+-83.774 37.468 4290
+-83.648 37.468 4163
+-83.522 37.468 4064
+-83.396 37.468 4012
+-83.27 37.468 3978
+-83.144 37.468 3917
+-83.018 37.468 3855
+-82.892 37.468 3795
+-82.766 37.468 3752
+-82.64 37.468 3726
+-82.514 37.468 3666
+-82.388 37.468 3643
+-82.262 37.468 3638
+-82.136 37.468 3628
+-82.01 37.468 3623
+-81.884 37.468 3628
+-81.758 37.468 3613
+-81.632 37.468 3619
+-81.506 37.468 3625
+-81.38 37.468 3631
+-81.254 37.468 3638
+-81.128 37.468 3643
+-81.002 37.468 3649
+-80.876 37.468 3571
+-80.75 37.468 3577
+-80.624 37.468 3564
+-80.498 37.468 3569
+-80.372 37.468 3518
+-80.246 37.468 3522
+-80.12 37.468 3451
+-79.994 37.468 3395
+-79.868 37.468 3383
+-79.742 37.468 3384
+-79.616 37.468 3384
+-79.49 37.468 3385
+-79.364 37.468 3385
+-79.238 37.468 3385
+-79.112 37.468 3386
+-78.986 37.468 3386
+-78.86 37.468 3305
+-78.734 37.468 3304
+-78.608 37.468 3302
+-78.482 37.468 3301
+-78.356 37.468 3300
+-78.23 37.468 3299
+-78.104 37.468 3298
+-77.978 37.468 3297
+-77.852 37.468 3296
+-77.726 37.468 3295
+-77.6 37.468 3261
+-77.474 37.468 3260
+-77.348 37.468 3259
+-77.222 37.468 3258
+-77.096 37.468 3257
+-76.97 37.468 3154
+-76.844 37.468 3046
+-76.718 37.468 3043
+-76.592 37.468 3041
+-76.466 37.468 3038
+-76.34 37.468 3036
+-76.214 37.468 3034
+-76.088 37.468 3032
+-75.962 37.468 3030
+-75.836 37.468 3028
+-75.71 37.468 3026
+-75.584 37.468 3024
+-75.458 37.468 3023
+-75.332 37.468 3021
+-75.206 37.468 3020
+-75.08 37.468 3018
+-74.954 37.468 3017
+-74.828 37.468 3016
+-74.702 37.468 3014
+-74.576 37.468 2883
+-74.45 37.468 2881
+-74.324 37.468 2850
+-74.198 37.468 2800
+-74.072 37.468 2799
+-73.946 37.468 2798
+-73.82 37.468 2812
+-73.694 37.468 2811
+-73.568 37.468 2822
+-73.442 37.468 2821
+-73.316 37.468 2781
+-73.19 37.468 2742
+-73.064 37.468 2742
+-72.938 37.468 2742
+-72.812 37.468 2742
+-72.686 37.468 2759
+-72.56 37.468 2766
+-72.434 37.468 2776
+-72.308 37.468 2775
+-72.182 37.468 2807
+-72.056 37.468 2820
+-71.93 37.468 2821
+-71.804 37.468 2876
+-71.678 37.468 2899
+-71.552 37.468 2879
+-71.426 37.468 2871
+-71.3 37.468 3020
+-71.174 37.468 3022
+-71.048 37.468 3085
+-70.922 37.468 3087
+-70.796 37.468 3090
+-70.67 37.468 3092
+-70.544 37.468 3095
+-70.418 37.468 3012
+-70.292 37.468 3033
+-70.166 37.468 3036
+-70.04 37.468 3026
+-69.914 37.468 3325
+-69.788 37.468 3356
+-69.662 37.468 3357
+-69.536 37.468 3352
+-69.41 37.468 3354
+-69.284 37.468 3358
+-69.158 37.468 3375
+-69.032 37.468 3376
+-68.906 37.468 3364
+-68.78 37.468 3365
+-68.654 37.468 3318
+-68.528 37.468 3319
+-68.402 37.468 3320
+-68.276 37.468 3386
+-68.15 37.468 3381
+-68.024 37.468 3391
+-67.898 37.468 3393
+-67.772 37.468 3371
+-67.646 37.468 3394
+-67.52 37.468 3442
+-67.394 37.468 3454
+-67.268 37.468 3453
+-67.142 37.468 3451
+-67.016 37.468 3506
+-66.89 37.468 3508
+-66.764 37.468 3445
+-66.638 37.468 3470
+-66.512 37.468 3463
+-66.386 37.468 3378
+-66.26 37.468 3290
+-66.134 37.468 3314
+-66.008 37.468 3315
+-65.882 37.468 3350
+-65.756 37.468 3322
+-65.63 37.468 3335
+-65.504 37.468 3336
+-65.378 37.468 3314
+-65.252 37.468 3315
+-65.126 37.468 3316
+-128 37.416 2831
+-127.874 37.416 2801
+-127.748 37.416 2811
+-127.622 37.416 2892
+-127.496 37.416 2897
+-127.37 37.416 2895
+-127.244 37.416 2915
+-127.118 37.416 2914
+-126.992 37.416 2997
+-126.866 37.416 3000
+-126.74 37.416 3033
+-126.614 37.416 3034
+-126.488 37.416 3035
+-126.362 37.416 3066
+-126.236 37.416 3068
+-126.11 37.416 3070
+-125.984 37.416 3072
+-125.858 37.416 3075
+-125.732 37.416 3096
+-125.606 37.416 3133
+-125.48 37.416 3137
+-125.354 37.416 3142
+-125.228 37.416 3153
+-125.102 37.416 3279
+-124.976 37.416 3284
+-124.85 37.416 3288
+-124.724 37.416 3386
+-124.598 37.416 3388
+-124.472 37.416 3412
+-124.346 37.416 3535
+-124.22 37.416 3543
+-124.094 37.416 3546
+-123.968 37.416 3682
+-123.842 37.416 3777
+-123.716 37.416 3769
+-123.59 37.416 3735
+-123.464 37.416 3767
+-123.338 37.416 3775
+-123.212 37.416 3788
+-123.086 37.416 3806
+-122.96 37.416 3828
+-122.834 37.416 3854
+-122.708 37.416 3908
+-122.582 37.416 3933
+-122.456 37.416 4000
+-122.33 37.416 4009
+-122.204 37.416 4004
+-122.078 37.416 4019
+-121.952 37.416 4028
+-121.826 37.416 4053
+-121.7 37.416 4114
+-121.574 37.416 4140
+-121.448 37.416 4180
+-121.322 37.416 4218
+-121.196 37.416 4285
+-121.07 37.416 4340
+-120.944 37.416 4386
+-120.818 37.416 4383
+-120.692 37.416 4458
+-120.566 37.416 4502
+-120.44 37.416 4594
+-120.314 37.416 4705
+-120.188 37.416 4805
+-120.062 37.416 4947
+-119.936 37.416 5050
+-119.81 37.416 5126
+-119.684 37.416 5202
+-119.558 37.416 5237
+-119.432 37.416 5309
+-119.306 37.416 5376
+-119.18 37.416 5457
+-119.054 37.416 5506
+-118.928 37.416 5539
+-118.802 37.416 5602
+-118.676 37.416 5674
+-118.55 37.416 5732
+-118.424 37.416 5776
+-118.298 37.416 5827
+-118.172 37.416 5858
+-118.046 37.416 5888
+-117.92 37.416 5938
+-117.794 37.416 5962
+-117.668 37.416 5957
+-117.542 37.416 5984
+-117.416 37.416 6001
+-117.29 37.416 5979
+-117.164 37.416 5977
+-117.038 37.416 5959
+-116.912 37.416 5938
+-116.786 37.416 5909
+-116.66 37.416 5930
+-116.534 37.416 5877
+-116.408 37.416 5824
+-116.282 37.416 5796
+-116.156 37.416 5742
+-116.03 37.416 5706
+-115.904 37.416 5631
+-115.778 37.416 5634
+-115.652 37.416 5590
+-115.526 37.416 5511
+-115.4 37.416 5391
+-115.274 37.416 5365
+-115.148 37.416 5221
+-115.022 37.416 5201
+-114.896 37.416 5045
+-114.77 37.416 4979
+-114.644 37.416 4883
+-114.518 37.416 4797
+-114.392 37.416 4750
+-114.266 37.416 4662
+-114.14 37.416 4513
+-114.014 37.416 4574
+-113.888 37.416 4527
+-113.762 37.416 4339
+-113.636 37.416 4160
+-113.51 37.416 4241
+-113.384 37.416 4234
+-113.258 37.416 4111
+-113.132 37.416 3968
+-113.006 37.416 3817
+-112.88 37.416 3639
+-112.754 37.416 3446
+-112.628 37.416 3282
+-112.502 37.416 3169
+-112.376 37.416 3115
+-112.25 37.416 3109
+-112.124 37.416 3115
+-111.998 37.416 3110
+-111.872 37.416 3102
+-111.746 37.416 3080
+-111.62 37.416 3066
+-111.494 37.416 3081
+-111.368 37.416 3094
+-111.242 37.416 3116
+-111.116 37.416 3135
+-110.99 37.416 3152
+-110.864 37.416 3174
+-110.738 37.416 3206
+-110.612 37.416 3231
+-110.486 37.416 3259
+-110.36 37.416 3265
+-110.234 37.416 3270
+-110.108 37.416 3271
+-109.982 37.416 3265
+-109.856 37.416 3242
+-109.73 37.416 3235
+-109.604 37.416 3224
+-109.478 37.416 3204
+-109.352 37.416 3199
+-109.226 37.416 3196
+-109.1 37.416 3215
+-108.974 37.416 3207
+-108.848 37.416 3233
+-108.722 37.416 3228
+-108.596 37.416 3233
+-108.47 37.416 3217
+-108.344 37.416 3165
+-108.218 37.416 3147
+-108.092 37.416 3128
+-107.966 37.416 3112
+-107.84 37.416 3073
+-107.714 37.416 3061
+-107.588 37.416 3048
+-107.462 37.416 3082
+-107.336 37.416 3065
+-107.21 37.416 3019
+-107.084 37.416 3003
+-106.958 37.416 2992
+-106.832 37.416 2977
+-106.706 37.416 2961
+-106.58 37.416 2943
+-106.454 37.416 2935
+-106.328 37.416 2922
+-106.202 37.416 2910
+-106.076 37.416 2874
+-105.95 37.416 2874
+-105.824 37.416 2887
+-105.698 37.416 2886
+-105.572 37.416 2887
+-105.446 37.416 2891
+-105.32 37.416 2897
+-105.194 37.416 2894
+-105.068 37.416 2955
+-104.942 37.416 2965
+-104.816 37.416 2950
+-104.69 37.416 2961
+-104.564 37.416 2972
+-104.438 37.416 2983
+-104.312 37.416 2925
+-104.186 37.416 2934
+-104.06 37.416 2942
+-103.934 37.416 2953
+-103.808 37.416 2961
+-103.682 37.416 2967
+-103.556 37.416 2950
+-103.43 37.416 2985
+-103.304 37.416 2988
+-103.178 37.416 2995
+-103.052 37.416 3002
+-102.926 37.416 3008
+-102.8 37.416 3014
+-102.674 37.416 3020
+-102.548 37.416 3025
+-102.422 37.416 3030
+-102.296 37.416 2893
+-102.17 37.416 2916
+-102.044 37.416 2870
+-101.918 37.416 2784
+-101.792 37.416 2776
+-101.666 37.416 2787
+-101.54 37.416 2720
+-101.414 37.416 2810
+-101.288 37.416 2791
+-101.162 37.416 2797
+-101.036 37.416 2811
+-100.91 37.416 2963
+-100.784 37.416 3030
+-100.658 37.416 3091
+-100.532 37.416 3093
+-100.406 37.416 3094
+-100.28 37.416 3123
+-100.154 37.416 3124
+-100.028 37.416 3125
+-99.902 37.416 3126
+-99.776 37.416 3127
+-99.65 37.416 3207
+-99.524 37.416 3263
+-99.398 37.416 3262
+-99.272 37.416 3262
+-99.146 37.416 3261
+-99.02 37.416 3260
+-98.894 37.416 3275
+-98.768 37.416 3274
+-98.642 37.416 3273
+-98.516 37.416 3273
+-98.39 37.416 3272
+-98.264 37.416 3271
+-98.138 37.416 3284
+-98.012 37.416 3333
+-97.886 37.416 3328
+-97.76 37.416 3398
+-97.634 37.416 3390
+-97.508 37.416 3380
+-97.382 37.416 3391
+-97.256 37.416 3372
+-97.13 37.416 3347
+-97.004 37.416 3327
+-96.878 37.416 3311
+-96.752 37.416 3243
+-96.626 37.416 3171
+-96.5 37.416 3061
+-96.374 37.416 3002
+-96.248 37.416 3127
+-96.122 37.416 3287
+-95.996 37.416 3364
+-95.87 37.416 3460
+-95.744 37.416 3545
+-95.618 37.416 3634
+-95.492 37.416 3803
+-95.366 37.416 4037
+-95.24 37.416 4251
+-95.114 37.416 4416
+-94.988 37.416 4525
+-94.862 37.416 4543
+-94.736 37.416 4682
+-94.61 37.416 4833
+-94.484 37.416 4959
+-94.358 37.416 5031
+-94.232 37.416 5196
+-94.106 37.416 5267
+-93.98 37.416 5444
+-93.854 37.416 5526
+-93.728 37.416 5568
+-93.602 37.416 5686
+-93.476 37.416 5818
+-93.35 37.416 5932
+-93.224 37.416 6087
+-93.098 37.416 6239
+-92.972 37.416 6312
+-92.846 37.416 6423
+-92.72 37.416 6563
+-92.594 37.416 6683
+-92.468 37.416 6748
+-92.342 37.416 6931
+-92.216 37.416 7046
+-92.09 37.416 7157
+-91.964 37.416 7215
+-91.838 37.416 7328
+-91.712 37.416 7420
+-91.586 37.416 7551
+-91.46 37.416 7541
+-91.334 37.416 7711
+-91.208 37.416 7747
+-91.082 37.416 7791
+-90.956 37.416 7859
+-90.83 37.416 7904
+-90.704 37.416 7924
+-90.578 37.416 7929
+-90.452 37.416 7977
+-90.326 37.416 7945
+-90.2 37.416 8208
+-90.074 37.416 8415
+-89.948 37.416 8522
+-89.822 37.416 8719
+-89.696 37.416 8737
+-89.57 37.416 8937
+-89.444 37.416 9017
+-89.318 37.416 9166
+-89.192 37.416 9289
+-89.066 37.416 9428
+-88.94 37.416 9446
+-88.814 37.416 9501
+-88.688 37.416 9466
+-88.562 37.416 9343
+-88.436 37.416 9294
+-88.31 37.416 9171
+-88.184 37.416 8993
+-88.058 37.416 8852
+-87.932 37.416 8708
+-87.806 37.416 8621
+-87.68 37.416 8498
+-87.554 37.416 8365
+-87.428 37.416 8237
+-87.302 37.416 8019
+-87.176 37.416 7951
+-87.05 37.416 7813
+-86.924 37.416 7706
+-86.798 37.416 7518
+-86.672 37.416 7339
+-86.546 37.416 7270
+-86.42 37.416 7141
+-86.294 37.416 6935
+-86.168 37.416 6834
+-86.042 37.416 6700
+-85.916 37.416 6600
+-85.79 37.416 6366
+-85.664 37.416 6201
+-85.538 37.416 6073
+-85.412 37.416 5899
+-85.286 37.416 5843
+-85.16 37.416 5790
+-85.034 37.416 5558
+-84.908 37.416 5414
+-84.782 37.416 5316
+-84.656 37.416 5216
+-84.53 37.416 5100
+-84.404 37.416 5022
+-84.278 37.416 4919
+-84.152 37.416 4763
+-84.026 37.416 4620
+-83.9 37.416 4402
+-83.774 37.416 4196
+-83.648 37.416 4026
+-83.522 37.416 3922
+-83.396 37.416 3935
+-83.27 37.416 3934
+-83.144 37.416 3909
+-83.018 37.416 3864
+-82.892 37.416 3813
+-82.766 37.416 3741
+-82.64 37.416 3706
+-82.514 37.416 3691
+-82.388 37.416 3662
+-82.262 37.416 3656
+-82.136 37.416 3644
+-82.01 37.416 3644
+-81.884 37.416 3647
+-81.758 37.416 3651
+-81.632 37.416 3633
+-81.506 37.416 3637
+-81.38 37.416 3641
+-81.254 37.416 3646
+-81.128 37.416 3651
+-81.002 37.416 3570
+-80.876 37.416 3576
+-80.75 37.416 3561
+-80.624 37.416 3566
+-80.498 37.416 3570
+-80.372 37.416 3513
+-80.246 37.416 3440
+-80.12 37.416 3392
+-79.994 37.416 3375
+-79.868 37.416 3375
+-79.742 37.416 3375
+-79.616 37.416 3376
+-79.49 37.416 3376
+-79.364 37.416 3376
+-79.238 37.416 3376
+-79.112 37.416 3377
+-78.986 37.416 3301
+-78.86 37.416 3300
+-78.734 37.416 3299
+-78.608 37.416 3257
+-78.482 37.416 3256
+-78.356 37.416 3254
+-78.23 37.416 3252
+-78.104 37.416 3251
+-77.978 37.416 3250
+-77.852 37.416 3248
+-77.726 37.416 3247
+-77.6 37.416 3246
+-77.474 37.416 3245
+-77.348 37.416 3244
+-77.222 37.416 3243
+-77.096 37.416 3150
+-76.97 37.416 3043
+-76.844 37.416 3041
+-76.718 37.416 3038
+-76.592 37.416 3036
+-76.466 37.416 3033
+-76.34 37.416 3031
+-76.214 37.416 3029
+-76.088 37.416 3027
+-75.962 37.416 3025
+-75.836 37.416 3023
+-75.71 37.416 3021
+-75.584 37.416 3020
+-75.458 37.416 3018
+-75.332 37.416 3017
+-75.206 37.416 3015
+-75.08 37.416 3014
+-74.954 37.416 3013
+-74.828 37.416 3011
+-74.702 37.416 2879
+-74.576 37.416 2878
+-74.45 37.416 2846
+-74.324 37.416 2797
+-74.198 37.416 2796
+-74.072 37.416 2794
+-73.946 37.416 2809
+-73.82 37.416 2808
+-73.694 37.416 2819
+-73.568 37.416 2818
+-73.442 37.416 2778
+-73.316 37.416 2739
+-73.19 37.416 2739
+-73.064 37.416 2739
+-72.938 37.416 2739
+-72.812 37.416 2756
+-72.686 37.416 2763
+-72.56 37.416 2773
+-72.434 37.416 2773
+-72.308 37.416 2805
+-72.182 37.416 2817
+-72.056 37.416 2819
+-71.93 37.416 2874
+-71.804 37.416 2897
+-71.678 37.416 2877
+-71.552 37.416 2869
+-71.426 37.416 3017
+-71.3 37.416 3020
+-71.174 37.416 3082
+-71.048 37.416 3085
+-70.922 37.416 3087
+-70.796 37.416 3090
+-70.67 37.416 3092
+-70.544 37.416 3010
+-70.418 37.416 3032
+-70.292 37.416 3034
+-70.166 37.416 3024
+-70.04 37.416 3323
+-69.914 37.416 3354
+-69.788 37.416 3355
+-69.662 37.416 3351
+-69.536 37.416 3352
+-69.41 37.416 3357
+-69.284 37.416 3373
+-69.158 37.416 3375
+-69.032 37.416 3362
+-68.906 37.416 3364
+-68.78 37.416 3316
+-68.654 37.416 3317
+-68.528 37.416 3318
+-68.402 37.416 3385
+-68.276 37.416 3380
+-68.15 37.416 3390
+-68.024 37.416 3391
+-67.898 37.416 3370
+-67.772 37.416 3393
+-67.646 37.416 3440
+-67.52 37.416 3452
+-67.394 37.416 3451
+-67.268 37.416 3450
+-67.142 37.416 3504
+-67.016 37.416 3506
+-66.89 37.416 3443
+-66.764 37.416 3468
+-66.638 37.416 3461
+-66.512 37.416 3380
+-66.386 37.416 3289
+-66.26 37.416 3313
+-66.134 37.416 3314
+-66.008 37.416 3349
+-65.882 37.416 3321
+-65.756 37.416 3334
+-65.63 37.416 3335
+-65.504 37.416 3313
+-65.378 37.416 3314
+-65.252 37.416 3315
+-65.126 37.416 3290
+-128 37.364 2835
+-127.874 37.364 2832
+-127.748 37.364 2803
+-127.622 37.364 2813
+-127.496 37.364 2894
+-127.37 37.364 2899
+-127.244 37.364 2897
+-127.118 37.364 2917
+-126.992 37.364 2916
+-126.866 37.364 3000
+-126.74 37.364 3003
+-126.614 37.364 3037
+-126.488 37.364 3038
+-126.362 37.364 3040
+-126.236 37.364 3071
+-126.11 37.364 3073
+-125.984 37.364 3076
+-125.858 37.364 3079
+-125.732 37.364 3082
+-125.606 37.364 3103
+-125.48 37.364 3141
+-125.354 37.364 3146
+-125.228 37.364 3151
+-125.102 37.364 3162
+-124.976 37.364 3288
+-124.85 37.364 3384
+-124.724 37.364 3386
+-124.598 37.364 3388
+-124.472 37.364 3406
+-124.346 37.364 3500
+-124.22 37.364 3511
+-124.094 37.364 3665
+-123.968 37.364 3708
+-123.842 37.364 3732
+-123.716 37.364 3737
+-123.59 37.364 3728
+-123.464 37.364 3725
+-123.338 37.364 3731
+-123.212 37.364 3744
+-123.086 37.364 3765
+-122.96 37.364 3792
+-122.834 37.364 3822
+-122.708 37.364 3905
+-122.582 37.364 3961
+-122.456 37.364 3979
+-122.33 37.364 3987
+-122.204 37.364 3987
+-122.078 37.364 3972
+-121.952 37.364 3979
+-121.826 37.364 3995
+-121.7 37.364 4071
+-121.574 37.364 4130
+-121.448 37.364 4192
+-121.322 37.364 4240
+-121.196 37.364 4277
+-121.07 37.364 4344
+-120.944 37.364 4404
+-120.818 37.364 4457
+-120.692 37.364 4506
+-120.566 37.364 4541
+-120.44 37.364 4670
+-120.314 37.364 4777
+-120.188 37.364 4839
+-120.062 37.364 4998
+-119.936 37.364 5070
+-119.81 37.364 5138
+-119.684 37.364 5225
+-119.558 37.364 5301
+-119.432 37.364 5330
+-119.306 37.364 5435
+-119.18 37.364 5516
+-119.054 37.364 5565
+-118.928 37.364 5611
+-118.802 37.364 5668
+-118.676 37.364 5715
+-118.55 37.364 5791
+-118.424 37.364 5839
+-118.298 37.364 5867
+-118.172 37.364 5920
+-118.046 37.364 5971
+-117.92 37.364 5992
+-117.794 37.364 6030
+-117.668 37.364 6028
+-117.542 37.364 6047
+-117.416 37.364 6062
+-117.29 37.364 6043
+-117.164 37.364 6052
+-117.038 37.364 6053
+-116.912 37.364 6019
+-116.786 37.364 5983
+-116.66 37.364 5942
+-116.534 37.364 5933
+-116.408 37.364 5891
+-116.282 37.364 5840
+-116.156 37.364 5802
+-116.03 37.364 5748
+-115.904 37.364 5695
+-115.778 37.364 5614
+-115.652 37.364 5590
+-115.526 37.364 5562
+-115.4 37.364 5481
+-115.274 37.364 5419
+-115.148 37.364 5284
+-115.022 37.364 5182
+-114.896 37.364 5059
+-114.77 37.364 4966
+-114.644 37.364 4956
+-114.518 37.364 4867
+-114.392 37.364 4770
+-114.266 37.364 4670
+-114.14 37.364 4568
+-114.014 37.364 4583
+-113.888 37.364 4545
+-113.762 37.364 4419
+-113.636 37.364 4300
+-113.51 37.364 4305
+-113.384 37.364 4229
+-113.258 37.364 4095
+-113.132 37.364 3948
+-113.006 37.364 3816
+-112.88 37.364 3673
+-112.754 37.364 3548
+-112.628 37.364 3409
+-112.502 37.364 3279
+-112.376 37.364 3214
+-112.25 37.364 3199
+-112.124 37.364 3168
+-111.998 37.364 3171
+-111.872 37.364 3159
+-111.746 37.364 3151
+-111.62 37.364 3151
+-111.494 37.364 3164
+-111.368 37.364 3189
+-111.242 37.364 3215
+-111.116 37.364 3235
+-110.99 37.364 3247
+-110.864 37.364 3263
+-110.738 37.364 3290
+-110.612 37.364 3298
+-110.486 37.364 3315
+-110.36 37.364 3315
+-110.234 37.364 3312
+-110.108 37.364 3314
+-109.982 37.364 3297
+-109.856 37.364 3292
+-109.73 37.364 3273
+-109.604 37.364 3254
+-109.478 37.364 3213
+-109.352 37.364 3199
+-109.226 37.364 3207
+-109.1 37.364 3222
+-108.974 37.364 3251
+-108.848 37.364 3259
+-108.722 37.364 3300
+-108.596 37.364 3289
+-108.47 37.364 3262
+-108.344 37.364 3200
+-108.218 37.364 3181
+-108.092 37.364 3165
+-107.966 37.364 3155
+-107.84 37.364 3108
+-107.714 37.364 3126
+-107.588 37.364 3123
+-107.462 37.364 3102
+-107.336 37.364 3052
+-107.21 37.364 3033
+-107.084 37.364 3019
+-106.958 37.364 3000
+-106.832 37.364 2981
+-106.706 37.364 2959
+-106.58 37.364 2946
+-106.454 37.364 2928
+-106.328 37.364 2911
+-106.202 37.364 2870
+-106.076 37.364 2865
+-105.95 37.364 2872
+-105.824 37.364 2867
+-105.698 37.364 2866
+-105.572 37.364 2867
+-105.446 37.364 2872
+-105.32 37.364 2870
+-105.194 37.364 2928
+-105.068 37.364 2940
+-104.942 37.364 2927
+-104.816 37.364 2940
+-104.69 37.364 2952
+-104.564 37.364 2965
+-104.438 37.364 2911
+-104.312 37.364 2921
+-104.186 37.364 2931
+-104.06 37.364 2942
+-103.934 37.364 2951
+-103.808 37.364 2958
+-103.682 37.364 2943
+-103.556 37.364 2977
+-103.43 37.364 2981
+-103.304 37.364 2989
+-103.178 37.364 2996
+-103.052 37.364 3003
+-102.926 37.364 3009
+-102.8 37.364 3015
+-102.674 37.364 3021
+-102.548 37.364 3027
+-102.422 37.364 3032
+-102.296 37.364 2896
+-102.17 37.364 2917
+-102.044 37.364 2872
+-101.918 37.364 2785
+-101.792 37.364 2776
+-101.666 37.364 2785
+-101.54 37.364 2718
+-101.414 37.364 2799
+-101.288 37.364 2786
+-101.162 37.364 2792
+-101.036 37.364 2807
+-100.91 37.364 2957
+-100.784 37.364 3025
+-100.658 37.364 3086
+-100.532 37.364 3087
+-100.406 37.364 3116
+-100.28 37.364 3117
+-100.154 37.364 3117
+-100.028 37.364 3118
+-99.902 37.364 3119
+-99.776 37.364 3201
+-99.65 37.364 3202
+-99.524 37.364 3202
+-99.398 37.364 3259
+-99.272 37.364 3258
+-99.146 37.364 3257
+-99.02 37.364 3272
+-98.894 37.364 3271
+-98.768 37.364 3270
+-98.642 37.364 3269
+-98.516 37.364 3268
+-98.39 37.364 3267
+-98.264 37.364 3281
+-98.138 37.364 3330
+-98.012 37.364 3325
+-97.886 37.364 3385
+-97.76 37.364 3379
+-97.634 37.364 3371
+-97.508 37.364 3400
+-97.382 37.364 3386
+-97.256 37.364 3368
+-97.13 37.364 3345
+-97.004 37.364 3316
+-96.878 37.364 3287
+-96.752 37.364 3250
+-96.626 37.364 3229
+-96.5 37.364 3164
+-96.374 37.364 3126
+-96.248 37.364 3129
+-96.122 37.364 3237
+-95.996 37.364 3376
+-95.87 37.364 3484
+-95.744 37.364 3579
+-95.618 37.364 3708
+-95.492 37.364 3859
+-95.366 37.364 4047
+-95.24 37.364 4239
+-95.114 37.364 4401
+-94.988 37.364 4484
+-94.862 37.364 4452
+-94.736 37.364 4573
+-94.61 37.364 4784
+-94.484 37.364 4930
+-94.358 37.364 5054
+-94.232 37.364 5198
+-94.106 37.364 5316
+-93.98 37.364 5435
+-93.854 37.364 5545
+-93.728 37.364 5654
+-93.602 37.364 5739
+-93.476 37.364 5800
+-93.35 37.364 5926
+-93.224 37.364 6087
+-93.098 37.364 6189
+-92.972 37.364 6275
+-92.846 37.364 6436
+-92.72 37.364 6529
+-92.594 37.364 6645
+-92.468 37.364 6782
+-92.342 37.364 6926
+-92.216 37.364 7003
+-92.09 37.364 7119
+-91.964 37.364 7174
+-91.838 37.364 7288
+-91.712 37.364 7376
+-91.586 37.364 7481
+-91.46 37.364 7557
+-91.334 37.364 7603
+-91.208 37.364 7677
+-91.082 37.364 7745
+-90.956 37.364 7812
+-90.83 37.364 7838
+-90.704 37.364 7875
+-90.578 37.364 7884
+-90.452 37.364 7890
+-90.326 37.364 7875
+-90.2 37.364 8253
+-90.074 37.364 8363
+-89.948 37.364 8536
+-89.822 37.364 8620
+-89.696 37.364 8801
+-89.57 37.364 8868
+-89.444 37.364 9045
+-89.318 37.364 9148
+-89.192 37.364 9292
+-89.066 37.364 9361
+-88.94 37.364 9428
+-88.814 37.364 9452
+-88.688 37.364 9426
+-88.562 37.364 9326
+-88.436 37.364 9263
+-88.31 37.364 9158
+-88.184 37.364 8988
+-88.058 37.364 8887
+-87.932 37.364 8739
+-87.806 37.364 8550
+-87.68 37.364 8463
+-87.554 37.364 8316
+-87.428 37.364 8214
+-87.302 37.364 8063
+-87.176 37.364 7984
+-87.05 37.364 7777
+-86.924 37.364 7618
+-86.798 37.364 7539
+-86.672 37.364 7399
+-86.546 37.364 7275
+-86.42 37.364 7108
+-86.294 37.364 6943
+-86.168 37.364 6813
+-86.042 37.364 6703
+-85.916 37.364 6609
+-85.79 37.364 6355
+-85.664 37.364 6230
+-85.538 37.364 6068
+-85.412 37.364 5924
+-85.286 37.364 5901
+-85.16 37.364 5789
+-85.034 37.364 5585
+-84.908 37.364 5390
+-84.782 37.364 5239
+-84.656 37.364 5174
+-84.53 37.364 4972
+-84.404 37.364 5020
+-84.278 37.364 4935
+-84.152 37.364 4768
+-84.026 37.364 4588
+-83.9 37.364 4354
+-83.774 37.364 4125
+-83.648 37.364 3950
+-83.522 37.364 3796
+-83.396 37.364 3878
+-83.27 37.364 3878
+-83.144 37.364 3859
+-83.018 37.364 3818
+-82.892 37.364 3784
+-82.766 37.364 3744
+-82.64 37.364 3727
+-82.514 37.364 3680
+-82.388 37.364 3675
+-82.262 37.364 3671
+-82.136 37.364 3668
+-82.01 37.364 3659
+-81.884 37.364 3660
+-81.758 37.364 3662
+-81.632 37.364 3666
+-81.506 37.364 3646
+-81.38 37.364 3650
+-81.254 37.364 3653
+-81.128 37.364 3570
+-81.002 37.364 3575
+-80.876 37.364 3553
+-80.75 37.364 3557
+-80.624 37.364 3561
+-80.498 37.364 3507
+-80.372 37.364 3437
+-80.246 37.364 3427
+-80.12 37.364 3373
+-79.994 37.364 3373
+-79.868 37.364 3373
+-79.742 37.364 3373
+-79.616 37.364 3373
+-79.49 37.364 3373
+-79.364 37.364 3337
+-79.238 37.364 3337
+-79.112 37.364 3292
+-78.986 37.364 3290
+-78.86 37.364 3256
+-78.734 37.364 3254
+-78.608 37.364 3252
+-78.482 37.364 3251
+-78.356 37.364 3249
+-78.23 37.364 3248
+-78.104 37.364 3246
+-77.978 37.364 3245
+-77.852 37.364 3244
+-77.726 37.364 3243
+-77.6 37.364 3242
+-77.474 37.364 3241
+-77.348 37.364 3240
+-77.222 37.364 3146
+-77.096 37.364 3144
+-76.97 37.364 3038
+-76.844 37.364 3035
+-76.718 37.364 3033
+-76.592 37.364 3030
+-76.466 37.364 3028
+-76.34 37.364 3026
+-76.214 37.364 3024
+-76.088 37.364 3022
+-75.962 37.364 3020
+-75.836 37.364 3018
+-75.71 37.364 3017
+-75.584 37.364 3015
+-75.458 37.364 3013
+-75.332 37.364 3012
+-75.206 37.364 3011
+-75.08 37.364 3009
+-74.954 37.364 3008
+-74.828 37.364 2876
+-74.702 37.364 2874
+-74.576 37.364 2843
+-74.45 37.364 2793
+-74.324 37.364 2792
+-74.198 37.364 2791
+-74.072 37.364 2805
+-73.946 37.364 2804
+-73.82 37.364 2815
+-73.694 37.364 2815
+-73.568 37.364 2774
+-73.442 37.364 2736
+-73.316 37.364 2736
+-73.19 37.364 2736
+-73.064 37.364 2736
+-72.938 37.364 2753
+-72.812 37.364 2761
+-72.686 37.364 2771
+-72.56 37.364 2770
+-72.434 37.364 2802
+-72.308 37.364 2815
+-72.182 37.364 2817
+-72.056 37.364 2872
+-71.93 37.364 2895
+-71.804 37.364 2875
+-71.678 37.364 2867
+-71.552 37.364 3015
+-71.426 37.364 3017
+-71.3 37.364 3079
+-71.174 37.364 3082
+-71.048 37.364 3085
+-70.922 37.364 3087
+-70.796 37.364 3090
+-70.67 37.364 3008
+-70.544 37.364 3030
+-70.418 37.364 3032
+-70.292 37.364 3022
+-70.166 37.364 3321
+-70.04 37.364 3351
+-69.914 37.364 3353
+-69.788 37.364 3349
+-69.662 37.364 3350
+-69.536 37.364 3355
+-69.41 37.364 3371
+-69.284 37.364 3373
+-69.158 37.364 3361
+-69.032 37.364 3362
+-68.906 37.364 3314
+-68.78 37.364 3316
+-68.654 37.364 3317
+-68.528 37.364 3383
+-68.402 37.364 3378
+-68.276 37.364 3388
+-68.15 37.364 3390
+-68.024 37.364 3369
+-67.898 37.364 3391
+-67.772 37.364 3439
+-67.646 37.364 3451
+-67.52 37.364 3450
+-67.394 37.364 3448
+-67.268 37.364 3503
+-67.142 37.364 3504
+-67.016 37.364 3442
+-66.89 37.364 3467
+-66.764 37.364 3460
+-66.638 37.364 3376
+-66.512 37.364 3288
+-66.386 37.364 3312
+-66.26 37.364 3313
+-66.134 37.364 3348
+-66.008 37.364 3320
+-65.882 37.364 3333
+-65.756 37.364 3334
+-65.63 37.364 3312
+-65.504 37.364 3313
+-65.378 37.364 3315
+-65.252 37.364 3289
+-65.126 37.364 3270
+-128 37.312 2839
+-127.874 37.312 2836
+-127.748 37.312 2834
+-127.622 37.312 2804
+-127.496 37.312 2815
+-127.37 37.312 2895
+-127.244 37.312 2901
+-127.118 37.312 2899
+-126.992 37.312 2919
+-126.866 37.312 2919
+-126.74 37.312 3003
+-126.614 37.312 3005
+-126.488 37.312 3040
+-126.362 37.312 3041
+-126.236 37.312 3043
+-126.11 37.312 3075
+-125.984 37.312 3078
+-125.858 37.312 3081
+-125.732 37.312 3084
+-125.606 37.312 3088
+-125.48 37.312 3109
+-125.354 37.312 3147
+-125.228 37.312 3153
+-125.102 37.312 3161
+-124.976 37.312 3258
+-124.85 37.312 3384
+-124.724 37.312 3385
+-124.598 37.312 3402
+-124.472 37.312 3494
+-124.346 37.312 3570
+-124.22 37.312 3561
+-124.094 37.312 3564
+-123.968 37.312 3663
+-123.842 37.312 3664
+-123.716 37.312 3682
+-123.59 37.312 3682
+-123.464 37.312 3672
+-123.338 37.312 3671
+-123.212 37.312 3684
+-123.086 37.312 3707
+-122.96 37.312 3740
+-122.834 37.312 3829
+-122.708 37.312 3868
+-122.582 37.312 3902
+-122.456 37.312 3954
+-122.33 37.312 3963
+-122.204 37.312 3954
+-122.078 37.312 3930
+-121.952 37.312 3901
+-121.826 37.312 3909
+-121.7 37.312 3996
+-121.574 37.312 4097
+-121.448 37.312 4162
+-121.322 37.312 4210
+-121.196 37.312 4219
+-121.07 37.312 4306
+-120.944 37.312 4412
+-120.818 37.312 4481
+-120.692 37.312 4483
+-120.566 37.312 4563
+-120.44 37.312 4734
+-120.314 37.312 4811
+-120.188 37.312 4890
+-120.062 37.312 5002
+-119.936 37.312 5106
+-119.81 37.312 5191
+-119.684 37.312 5313
+-119.558 37.312 5381
+-119.432 37.312 5433
+-119.306 37.312 5485
+-119.18 37.312 5595
+-119.054 37.312 5631
+-118.928 37.312 5678
+-118.802 37.312 5741
+-118.676 37.312 5790
+-118.55 37.312 5866
+-118.424 37.312 5896
+-118.298 37.312 5939
+-118.172 37.312 5992
+-118.046 37.312 6019
+-117.92 37.312 6043
+-117.794 37.312 6068
+-117.668 37.312 6088
+-117.542 37.312 6100
+-117.416 37.312 6076
+-117.29 37.312 6111
+-117.164 37.312 6115
+-117.038 37.312 6087
+-116.912 37.312 6094
+-116.786 37.312 6063
+-116.66 37.312 6015
+-116.534 37.312 5974
+-116.408 37.312 5916
+-116.282 37.312 5899
+-116.156 37.312 5852
+-116.03 37.312 5798
+-115.904 37.312 5754
+-115.778 37.312 5682
+-115.652 37.312 5644
+-115.526 37.312 5591
+-115.4 37.312 5506
+-115.274 37.312 5479
+-115.148 37.312 5377
+-115.022 37.312 5260
+-114.896 37.312 5146
+-114.77 37.312 5014
+-114.644 37.312 4941
+-114.518 37.312 4955
+-114.392 37.312 4841
+-114.266 37.312 4723
+-114.14 37.312 4641
+-114.014 37.312 4598
+-113.888 37.312 4531
+-113.762 37.312 4470
+-113.636 37.312 4414
+-113.51 37.312 4370
+-113.384 37.312 4227
+-113.258 37.312 4079
+-113.132 37.312 3929
+-113.006 37.312 3761
+-112.88 37.312 3645
+-112.754 37.312 3612
+-112.628 37.312 3528
+-112.502 37.312 3400
+-112.376 37.312 3325
+-112.25 37.312 3293
+-112.124 37.312 3238
+-111.998 37.312 3234
+-111.872 37.312 3227
+-111.746 37.312 3217
+-111.62 37.312 3225
+-111.494 37.312 3243
+-111.368 37.312 3268
+-111.242 37.312 3293
+-111.116 37.312 3312
+-110.99 37.312 3320
+-110.864 37.312 3328
+-110.738 37.312 3337
+-110.612 37.312 3350
+-110.486 37.312 3352
+-110.36 37.312 3354
+-110.234 37.312 3360
+-110.108 37.312 3365
+-109.982 37.312 3345
+-109.856 37.312 3344
+-109.73 37.312 3301
+-109.604 37.312 3266
+-109.478 37.312 3209
+-109.352 37.312 3186
+-109.226 37.312 3212
+-109.1 37.312 3258
+-108.974 37.312 3294
+-108.848 37.312 3320
+-108.722 37.312 3321
+-108.596 37.312 3303
+-108.47 37.312 3292
+-108.344 37.312 3229
+-108.218 37.312 3214
+-108.092 37.312 3205
+-107.966 37.312 3154
+-107.84 37.312 3168
+-107.714 37.312 3163
+-107.588 37.312 3138
+-107.462 37.312 3084
+-107.336 37.312 3063
+-107.21 37.312 3045
+-107.084 37.312 3024
+-106.958 37.312 3003
+-106.832 37.312 2977
+-106.706 37.312 2961
+-106.58 37.312 2938
+-106.454 37.312 2916
+-106.328 37.312 2870
+-106.202 37.312 2857
+-106.076 37.312 2858
+-105.95 37.312 2846
+-105.824 37.312 2840
+-105.698 37.312 2839
+-105.572 37.312 2842
+-105.446 37.312 2840
+-105.32 37.312 2894
+-105.194 37.312 2908
+-105.068 37.312 2899
+-104.942 37.312 2914
+-104.816 37.312 2928
+-104.69 37.312 2943
+-104.564 37.312 2894
+-104.438 37.312 2906
+-104.312 37.312 2917
+-104.186 37.312 2930
+-104.06 37.312 2940
+-103.934 37.312 2948
+-103.808 37.312 2934
+-103.682 37.312 2969
+-103.556 37.312 2974
+-103.43 37.312 2982
+-103.304 37.312 2990
+-103.178 37.312 2997
+-103.052 37.312 3004
+-102.926 37.312 3011
+-102.8 37.312 3017
+-102.674 37.312 3023
+-102.548 37.312 3028
+-102.422 37.312 3034
+-102.296 37.312 2898
+-102.17 37.312 2919
+-102.044 37.312 2860
+-101.918 37.312 2817
+-101.792 37.312 2824
+-101.666 37.312 2774
+-101.54 37.312 2715
+-101.414 37.312 2795
+-101.288 37.312 2782
+-101.162 37.312 2787
+-101.036 37.312 2802
+-100.91 37.312 2963
+-100.784 37.312 3020
+-100.658 37.312 3080
+-100.532 37.312 3109
+-100.406 37.312 3109
+-100.28 37.312 3110
+-100.154 37.312 3110
+-100.028 37.312 3111
+-99.902 37.312 3194
+-99.776 37.312 3195
+-99.65 37.312 3195
+-99.524 37.312 3196
+-99.398 37.312 3197
+-99.272 37.312 3231
+-99.146 37.312 3230
+-99.02 37.312 3268
+-98.894 37.312 3267
+-98.768 37.312 3265
+-98.642 37.312 3264
+-98.516 37.312 3263
+-98.39 37.312 3277
+-98.264 37.312 3306
+-98.138 37.312 3303
+-98.012 37.312 3319
+-97.886 37.312 3314
+-97.76 37.312 3373
+-97.634 37.312 3406
+-97.508 37.312 3395
+-97.382 37.312 3382
+-97.256 37.312 3366
+-97.13 37.312 3347
+-97.004 37.312 3332
+-96.878 37.312 3316
+-96.752 37.312 3294
+-96.626 37.312 3247
+-96.5 37.312 3209
+-96.374 37.312 3120
+-96.248 37.312 3033
+-96.122 37.312 3168
+-95.996 37.312 3372
+-95.87 37.312 3529
+-95.744 37.312 3648
+-95.618 37.312 3748
+-95.492 37.312 3870
+-95.366 37.312 4008
+-95.24 37.312 4208
+-95.114 37.312 4374
+-94.988 37.312 4471
+-94.862 37.312 4459
+-94.736 37.312 4559
+-94.61 37.312 4760
+-94.484 37.312 4891
+-94.358 37.312 5008
+-94.232 37.312 5118
+-94.106 37.312 5264
+-93.98 37.312 5411
+-93.854 37.312 5483
+-93.728 37.312 5654
+-93.602 37.312 5686
+-93.476 37.312 5776
+-93.35 37.312 5903
+-93.224 37.312 6013
+-93.098 37.312 6159
+-92.972 37.312 6341
+-92.846 37.312 6419
+-92.72 37.312 6540
+-92.594 37.312 6623
+-92.468 37.312 6785
+-92.342 37.312 6827
+-92.216 37.312 6963
+-92.09 37.312 7072
+-91.964 37.312 7157
+-91.838 37.312 7255
+-91.712 37.312 7334
+-91.586 37.312 7431
+-91.46 37.312 7524
+-91.334 37.312 7599
+-91.208 37.312 7666
+-91.082 37.312 7700
+-90.956 37.312 7761
+-90.83 37.312 7807
+-90.704 37.312 7813
+-90.578 37.312 7843
+-90.452 37.312 7844
+-90.326 37.312 7986
+-90.2 37.312 8233
+-90.074 37.312 8343
+-89.948 37.312 8511
+-89.822 37.312 8695
+-89.696 37.312 8767
+-89.57 37.312 8849
+-89.444 37.312 8984
+-89.318 37.312 9165
+-89.192 37.312 9245
+-89.066 37.312 9289
+-88.94 37.312 9352
+-88.814 37.312 9385
+-88.688 37.312 9357
+-88.562 37.312 9286
+-88.436 37.312 9198
+-88.31 37.312 9093
+-88.184 37.312 8937
+-88.058 37.312 8894
+-87.932 37.312 8736
+-87.806 37.312 8594
+-87.68 37.312 8466
+-87.554 37.312 8295
+-87.428 37.312 8160
+-87.302 37.312 8061
+-87.176 37.312 7930
+-87.05 37.312 7756
+-86.924 37.312 7625
+-86.798 37.312 7450
+-86.672 37.312 7330
+-86.546 37.312 7216
+-86.42 37.312 7059
+-86.294 37.312 6916
+-86.168 37.312 6828
+-86.042 37.312 6626
+-85.916 37.312 6599
+-85.79 37.312 6402
+-85.664 37.312 6208
+-85.538 37.312 6076
+-85.412 37.312 5968
+-85.286 37.312 5900
+-85.16 37.312 5746
+-85.034 37.312 5572
+-84.908 37.312 5436
+-84.782 37.312 5259
+-84.656 37.312 5167
+-84.53 37.312 5117
+-84.404 37.312 5028
+-84.278 37.312 4884
+-84.152 37.312 4723
+-84.026 37.312 4554
+-83.9 37.312 4340
+-83.774 37.312 4084
+-83.648 37.312 3941
+-83.522 37.312 3915
+-83.396 37.312 3843
+-83.27 37.312 3735
+-83.144 37.312 3743
+-83.018 37.312 3768
+-82.892 37.312 3750
+-82.766 37.312 3727
+-82.64 37.312 3726
+-82.514 37.312 3701
+-82.388 37.312 3675
+-82.262 37.312 3676
+-82.136 37.312 3676
+-82.01 37.312 3676
+-81.884 37.312 3665
+-81.758 37.312 3666
+-81.632 37.312 3669
+-81.506 37.312 3672
+-81.38 37.312 3656
+-81.254 37.312 3659
+-81.128 37.312 3662
+-81.002 37.312 3553
+-80.876 37.312 3557
+-80.75 37.312 3560
+-80.624 37.312 3506
+-80.498 37.312 3435
+-80.372 37.312 3411
+-80.246 37.312 3410
+-80.12 37.312 3410
+-79.994 37.312 3370
+-79.868 37.312 3370
+-79.742 37.312 3370
+-79.616 37.312 3370
+-79.49 37.312 3335
+-79.364 37.312 3334
+-79.238 37.312 3289
+-79.112 37.312 3287
+-78.986 37.312 3252
+-78.86 37.312 3250
+-78.734 37.312 3249
+-78.608 37.312 3247
+-78.482 37.312 3245
+-78.356 37.312 3244
+-78.23 37.312 3242
+-78.104 37.312 3241
+-77.978 37.312 3240
+-77.852 37.312 3239
+-77.726 37.312 3238
+-77.6 37.312 3237
+-77.474 37.312 3236
+-77.348 37.312 3142
+-77.222 37.312 3139
+-77.096 37.312 3137
+-76.97 37.312 3134
+-76.844 37.312 3029
+-76.718 37.312 3027
+-76.592 37.312 3025
+-76.466 37.312 3023
+-76.34 37.312 3020
+-76.214 37.312 3018
+-76.088 37.312 3017
+-75.962 37.312 3015
+-75.836 37.312 3013
+-75.71 37.312 3012
+-75.584 37.312 3010
+-75.458 37.312 3009
+-75.332 37.312 3007
+-75.206 37.312 3006
+-75.08 37.312 3005
+-74.954 37.312 2872
+-74.828 37.312 2871
+-74.702 37.312 2839
+-74.576 37.312 2789
+-74.45 37.312 2788
+-74.324 37.312 2787
+-74.198 37.312 2801
+-74.072 37.312 2801
+-73.946 37.312 2812
+-73.82 37.312 2811
+-73.694 37.312 2771
+-73.568 37.312 2733
+-73.442 37.312 2733
+-73.316 37.312 2733
+-73.19 37.312 2733
+-73.064 37.312 2750
+-72.938 37.312 2758
+-72.812 37.312 2768
+-72.686 37.312 2768
+-72.56 37.312 2800
+-72.434 37.312 2812
+-72.308 37.312 2814
+-72.182 37.312 2869
+-72.056 37.312 2892
+-71.93 37.312 2873
+-71.804 37.312 2864
+-71.678 37.312 3012
+-71.552 37.312 3015
+-71.426 37.312 3076
+-71.3 37.312 3079
+-71.174 37.312 3082
+-71.048 37.312 3085
+-70.922 37.312 3087
+-70.796 37.312 3006
+-70.67 37.312 3027
+-70.544 37.312 3030
+-70.418 37.312 3021
+-70.292 37.312 3319
+-70.166 37.312 3349
+-70.04 37.312 3351
+-69.914 37.312 3347
+-69.788 37.312 3348
+-69.662 37.312 3353
+-69.536 37.312 3369
+-69.41 37.312 3371
+-69.284 37.312 3359
+-69.158 37.312 3360
+-69.032 37.312 3313
+-68.906 37.312 3314
+-68.78 37.312 3315
+-68.654 37.312 3381
+-68.528 37.312 3377
+-68.402 37.312 3387
+-68.276 37.312 3388
+-68.15 37.312 3367
+-68.024 37.312 3390
+-67.898 37.312 3437
+-67.772 37.312 3449
+-67.646 37.312 3448
+-67.52 37.312 3447
+-67.394 37.312 3501
+-67.268 37.312 3503
+-67.142 37.312 3441
+-67.016 37.312 3465
+-66.89 37.312 3458
+-66.764 37.312 3378
+-66.638 37.312 3287
+-66.512 37.312 3311
+-66.386 37.312 3312
+-66.26 37.312 3347
+-66.134 37.312 3319
+-66.008 37.312 3331
+-65.882 37.312 3333
+-65.756 37.312 3311
+-65.63 37.312 3312
+-65.504 37.312 3314
+-65.378 37.312 3288
+-65.252 37.312 3269
+-65.126 37.312 3307
+-128 37.26 2824
+-127.874 37.26 2839
+-127.748 37.26 2837
+-127.622 37.26 2835
+-127.496 37.26 2806
+-127.37 37.26 2816
+-127.244 37.26 2897
+-127.118 37.26 2902
+-126.992 37.26 2901
+-126.866 37.26 2921
+-126.74 37.26 2920
+-126.614 37.26 3004
+-126.488 37.26 3007
+-126.362 37.26 3042
+-126.236 37.26 3044
+-126.11 37.26 3046
+-125.984 37.26 3078
+-125.858 37.26 3082
+-125.732 37.26 3085
+-125.606 37.26 3089
+-125.48 37.26 3094
+-125.354 37.26 3114
+-125.228 37.26 3233
+-125.102 37.26 3236
+-124.976 37.26 3253
+-124.85 37.26 3258
+-124.724 37.26 3280
+-124.598 37.26 3488
+-124.472 37.26 3563
+-124.346 37.26 3554
+-124.22 37.26 3542
+-124.094 37.26 3528
+-123.968 37.26 3525
+-123.842 37.26 3608
+-123.716 37.26 3601
+-123.59 37.26 3610
+-123.464 37.26 3604
+-123.338 37.26 3594
+-123.212 37.26 3600
+-123.086 37.26 3625
+-122.96 37.26 3714
+-122.834 37.26 3766
+-122.708 37.26 3821
+-122.582 37.26 3868
+-122.456 37.26 3902
+-122.33 37.26 3941
+-122.204 37.26 3925
+-122.078 37.26 3876
+-121.952 37.26 3795
+-121.826 37.26 3758
+-121.7 37.26 3880
+-121.574 37.26 4022
+-121.448 37.26 4124
+-121.322 37.26 4173
+-121.196 37.26 4134
+-121.07 37.26 4255
+-120.944 37.26 4404
+-120.818 37.26 4498
+-120.692 37.26 4553
+-120.566 37.26 4637
+-120.44 37.26 4760
+-120.314 37.26 4864
+-120.188 37.26 4951
+-120.062 37.26 5017
+-119.936 37.26 5188
+-119.81 37.26 5280
+-119.684 37.26 5357
+-119.558 37.26 5441
+-119.432 37.26 5501
+-119.306 37.26 5545
+-119.18 37.26 5615
+-119.054 37.26 5686
+-118.928 37.26 5755
+-118.802 37.26 5822
+-118.676 37.26 5850
+-118.55 37.26 5913
+-118.424 37.26 5972
+-118.298 37.26 5996
+-118.172 37.26 6037
+-118.046 37.26 6079
+-117.92 37.26 6104
+-117.794 37.26 6123
+-117.668 37.26 6133
+-117.542 37.26 6164
+-117.416 37.26 6144
+-117.29 37.26 6147
+-117.164 37.26 6136
+-117.038 37.26 6143
+-116.912 37.26 6137
+-116.786 37.26 6122
+-116.66 37.26 6096
+-116.534 37.26 6080
+-116.408 37.26 5991
+-116.282 37.26 6002
+-116.156 37.26 5906
+-116.03 37.26 5877
+-115.904 37.26 5827
+-115.778 37.26 5759
+-115.652 37.26 5685
+-115.526 37.26 5631
+-115.4 37.26 5556
+-115.274 37.26 5512
+-115.148 37.26 5437
+-115.022 37.26 5353
+-114.896 37.26 5234
+-114.77 37.26 5103
+-114.644 37.26 5003
+-114.518 37.26 4936
+-114.392 37.26 4870
+-114.266 37.26 4795
+-114.14 37.26 4702
+-114.014 37.26 4578
+-113.888 37.26 4447
+-113.762 37.26 4483
+-113.636 37.26 4441
+-113.51 37.26 4374
+-113.384 37.26 4248
+-113.258 37.26 4079
+-113.132 37.26 3920
+-113.006 37.26 3713
+-112.88 37.26 3599
+-112.754 37.26 3632
+-112.628 37.26 3608
+-112.502 37.26 3494
+-112.376 37.26 3420
+-112.25 37.26 3380
+-112.124 37.26 3325
+-111.998 37.26 3299
+-111.872 37.26 3289
+-111.746 37.26 3280
+-111.62 37.26 3291
+-111.494 37.26 3308
+-111.368 37.26 3329
+-111.242 37.26 3350
+-111.116 37.26 3359
+-110.99 37.26 3363
+-110.864 37.26 3369
+-110.738 37.26 3376
+-110.612 37.26 3364
+-110.486 37.26 3352
+-110.36 37.26 3366
+-110.234 37.26 3395
+-110.108 37.26 3415
+-109.982 37.26 3405
+-109.856 37.26 3383
+-109.73 37.26 3366
+-109.604 37.26 3315
+-109.478 37.26 3257
+-109.352 37.26 3223
+-109.226 37.26 3251
+-109.1 37.26 3304
+-108.974 37.26 3329
+-108.848 37.26 3372
+-108.722 37.26 3364
+-108.596 37.26 3331
+-108.47 37.26 3318
+-108.344 37.26 3283
+-108.218 37.26 3278
+-108.092 37.26 3229
+-107.966 37.26 3208
+-107.84 37.26 3201
+-107.714 37.26 3173
+-107.588 37.26 3116
+-107.462 37.26 3091
+-107.336 37.26 3070
+-107.21 37.26 3047
+-107.084 37.26 3024
+-106.958 37.26 2997
+-106.832 37.26 2979
+-106.706 37.26 2953
+-106.58 37.26 2925
+-106.454 37.26 2875
+-106.328 37.26 2854
+-106.202 37.26 2845
+-106.076 37.26 2826
+-105.95 37.26 2813
+-105.824 37.26 2806
+-105.698 37.26 2805
+-105.572 37.26 2803
+-105.446 37.26 2853
+-105.32 37.26 2868
+-105.194 37.26 2863
+-105.068 37.26 2881
+-104.942 37.26 2899
+-104.816 37.26 2916
+-104.69 37.26 2873
+-104.564 37.26 2887
+-104.438 37.26 2901
+-104.312 37.26 2915
+-104.186 37.26 2927
+-104.06 37.26 2937
+-103.934 37.26 2925
+-103.808 37.26 2959
+-103.682 37.26 2965
+-103.556 37.26 2974
+-103.43 37.26 2983
+-103.304 37.26 2991
+-103.178 37.26 2999
+-103.052 37.26 3006
+-102.926 37.26 3013
+-102.8 37.26 3019
+-102.674 37.26 3025
+-102.548 37.26 3030
+-102.422 37.26 3023
+-102.296 37.26 3043
+-102.17 37.26 2992
+-102.044 37.26 2911
+-101.918 37.26 2849
+-101.792 37.26 2808
+-101.666 37.26 2759
+-101.54 37.26 2713
+-101.414 37.26 2726
+-101.288 37.26 2770
+-101.162 37.26 2782
+-101.036 37.26 2815
+-100.91 37.26 2957
+-100.784 37.26 3039
+-100.658 37.26 3102
+-100.532 37.26 3102
+-100.406 37.26 3102
+-100.28 37.26 3102
+-100.154 37.26 3103
+-100.028 37.26 3188
+-99.902 37.26 3188
+-99.776 37.26 3189
+-99.65 37.26 3189
+-99.524 37.26 3189
+-99.398 37.26 3189
+-99.272 37.26 3190
+-99.146 37.26 3225
+-99.02 37.26 3224
+-98.894 37.26 3261
+-98.768 37.26 3260
+-98.642 37.26 3258
+-98.516 37.26 3274
+-98.39 37.26 3303
+-98.264 37.26 3299
+-98.138 37.26 3316
+-98.012 37.26 3311
+-97.886 37.26 3373
+-97.76 37.26 3408
+-97.634 37.26 3399
+-97.508 37.26 3390
+-97.382 37.26 3379
+-97.256 37.26 3366
+-97.13 37.26 3360
+-97.004 37.26 3361
+-96.878 37.26 3357
+-96.752 37.26 3326
+-96.626 37.26 3289
+-96.5 37.26 3242
+-96.374 37.26 3181
+-96.248 37.26 3147
+-96.122 37.26 3254
+-95.996 37.26 3437
+-95.87 37.26 3579
+-95.744 37.26 3692
+-95.618 37.26 3779
+-95.492 37.26 3861
+-95.366 37.26 3982
+-95.24 37.26 4160
+-95.114 37.26 4299
+-94.988 37.26 4418
+-94.862 37.26 4496
+-94.736 37.26 4581
+-94.61 37.26 4738
+-94.484 37.26 4844
+-94.358 37.26 4938
+-94.232 37.26 5074
+-94.106 37.26 5193
+-93.98 37.26 5316
+-93.854 37.26 5491
+-93.728 37.26 5651
+-93.602 37.26 5748
+-93.476 37.26 5777
+-93.35 37.26 5890
+-93.224 37.26 6010
+-93.098 37.26 6130
+-92.972 37.26 6266
+-92.846 37.26 6421
+-92.72 37.26 6469
+-92.594 37.26 6587
+-92.468 37.26 6732
+-92.342 37.26 6822
+-92.216 37.26 6901
+-92.09 37.26 7016
+-91.964 37.26 7096
+-91.838 37.26 7204
+-91.712 37.26 7264
+-91.586 37.26 7362
+-91.46 37.26 7487
+-91.334 37.26 7536
+-91.208 37.26 7591
+-91.082 37.26 7669
+-90.956 37.26 7706
+-90.83 37.26 7747
+-90.704 37.26 7754
+-90.578 37.26 7784
+-90.452 37.26 7770
+-90.326 37.26 7761
+-90.2 37.26 8223
+-90.074 37.26 8338
+-89.948 37.26 8451
+-89.822 37.26 8599
+-89.696 37.26 8726
+-89.57 37.26 8858
+-89.444 37.26 8977
+-89.318 37.26 9046
+-89.192 37.26 9214
+-89.066 37.26 9277
+-88.94 37.26 9321
+-88.814 37.26 9308
+-88.688 37.26 9309
+-88.562 37.26 9231
+-88.436 37.26 9163
+-88.31 37.26 9053
+-88.184 37.26 8943
+-88.058 37.26 8807
+-87.932 37.26 8651
+-87.806 37.26 8634
+-87.68 37.26 8449
+-87.554 37.26 8303
+-87.428 37.26 8174
+-87.302 37.26 8092
+-87.176 37.26 7942
+-87.05 37.26 7780
+-86.924 37.26 7627
+-86.798 37.26 7450
+-86.672 37.26 7359
+-86.546 37.26 7194
+-86.42 37.26 7044
+-86.294 37.26 6910
+-86.168 37.26 6770
+-86.042 37.26 6658
+-85.916 37.26 6565
+-85.79 37.26 6448
+-85.664 37.26 6213
+-85.538 37.26 6036
+-85.412 37.26 5987
+-85.286 37.26 5870
+-85.16 37.26 5711
+-85.034 37.26 5567
+-84.908 37.26 5480
+-84.782 37.26 5268
+-84.656 37.26 5174
+-84.53 37.26 5141
+-84.404 37.26 5001
+-84.278 37.26 4799
+-84.152 37.26 4628
+-84.026 37.26 4528
+-83.9 37.26 4382
+-83.774 37.26 4182
+-83.648 37.26 4036
+-83.522 37.26 3956
+-83.396 37.26 3768
+-83.27 37.26 3606
+-83.144 37.26 3668
+-83.018 37.26 3666
+-82.892 37.26 3678
+-82.766 37.26 3692
+-82.64 37.26 3707
+-82.514 37.26 3719
+-82.388 37.26 3702
+-82.262 37.26 3673
+-82.136 37.26 3677
+-82.01 37.26 3669
+-81.884 37.26 3670
+-81.758 37.26 3672
+-81.632 37.26 3674
+-81.506 37.26 3677
+-81.38 37.26 3680
+-81.254 37.26 3653
+-81.128 37.26 3656
+-81.002 37.26 3556
+-80.876 37.26 3546
+-80.75 37.26 3506
+-80.624 37.26 3423
+-80.498 37.26 3397
+-80.372 37.26 3395
+-80.246 37.26 3394
+-80.12 37.26 3393
+-79.994 37.26 3392
+-79.868 37.26 3367
+-79.742 37.26 3367
+-79.616 37.26 3332
+-79.49 37.26 3332
+-79.364 37.26 3285
+-79.238 37.26 3283
+-79.112 37.26 3248
+-78.986 37.26 3246
+-78.86 37.26 3244
+-78.734 37.26 3243
+-78.608 37.26 3241
+-78.482 37.26 3240
+-78.356 37.26 3238
+-78.23 37.26 3237
+-78.104 37.26 3236
+-77.978 37.26 3235
+-77.852 37.26 3234
+-77.726 37.26 3233
+-77.6 37.26 3232
+-77.474 37.26 3138
+-77.348 37.26 3135
+-77.222 37.26 3132
+-77.096 37.26 3130
+-76.97 37.26 3127
+-76.844 37.26 3125
+-76.718 37.26 3021
+-76.592 37.26 3019
+-76.466 37.26 3017
+-76.34 37.26 3015
+-76.214 37.26 3013
+-76.088 37.26 3011
+-75.962 37.26 3009
+-75.836 37.26 3008
+-75.71 37.26 3006
+-75.584 37.26 3005
+-75.458 37.26 3004
+-75.332 37.26 3002
+-75.206 37.26 3001
+-75.08 37.26 2868
+-74.954 37.26 2867
+-74.828 37.26 2835
+-74.702 37.26 2785
+-74.576 37.26 2784
+-74.45 37.26 2783
+-74.324 37.26 2797
+-74.198 37.26 2797
+-74.072 37.26 2808
+-73.946 37.26 2807
+-73.82 37.26 2767
+-73.694 37.26 2729
+-73.568 37.26 2729
+-73.442 37.26 2730
+-73.316 37.26 2730
+-73.19 37.26 2747
+-73.064 37.26 2755
+-72.938 37.26 2765
+-72.812 37.26 2765
+-72.686 37.26 2797
+-72.56 37.26 2810
+-72.434 37.26 2812
+-72.308 37.26 2866
+-72.182 37.26 2890
+-72.056 37.26 2870
+-71.93 37.26 2862
+-71.804 37.26 3009
+-71.678 37.26 3012
+-71.552 37.26 3073
+-71.426 37.26 3076
+-71.3 37.26 3079
+-71.174 37.26 3082
+-71.048 37.26 3085
+-70.922 37.26 3004
+-70.796 37.26 3025
+-70.67 37.26 3028
+-70.544 37.26 3019
+-70.418 37.26 3317
+-70.292 37.26 3347
+-70.166 37.26 3349
+-70.04 37.26 3345
+-69.914 37.26 3346
+-69.788 37.26 3351
+-69.662 37.26 3367
+-69.536 37.26 3369
+-69.41 37.26 3357
+-69.284 37.26 3359
+-69.158 37.26 3311
+-69.032 37.26 3312
+-68.906 37.26 3314
+-68.78 37.26 3380
+-68.654 37.26 3375
+-68.528 37.26 3385
+-68.402 37.26 3386
+-68.276 37.26 3366
+-68.15 37.26 3388
+-68.024 37.26 3436
+-67.898 37.26 3447
+-67.772 37.26 3447
+-67.646 37.26 3445
+-67.52 37.26 3500
+-67.394 37.26 3501
+-67.268 37.26 3439
+-67.142 37.26 3464
+-67.016 37.26 3457
+-66.89 37.26 3373
+-66.764 37.26 3286
+-66.638 37.26 3310
+-66.512 37.26 3311
+-66.386 37.26 3345
+-66.26 37.26 3317
+-66.134 37.26 3330
+-66.008 37.26 3332
+-65.882 37.26 3310
+-65.756 37.26 3311
+-65.63 37.26 3313
+-65.504 37.26 3287
+-65.378 37.26 3268
+-65.252 37.26 3306
+-65.126 37.26 3300
+-128 37.208 2827
+-127.874 37.208 2824
+-127.748 37.208 2840
+-127.622 37.208 2838
+-127.496 37.208 2835
+-127.37 37.208 2807
+-127.244 37.208 2817
+-127.118 37.208 2897
+-126.992 37.208 2903
+-126.866 37.208 2902
+-126.74 37.208 2922
+-126.614 37.208 2921
+-126.488 37.208 3005
+-126.362 37.208 3009
+-126.236 37.208 3043
+-126.11 37.208 3046
+-125.984 37.208 3048
+-125.858 37.208 3052
+-125.732 37.208 3085
+-125.606 37.208 3089
+-125.48 37.208 3160
+-125.354 37.208 3178
+-125.228 37.208 3209
+-125.102 37.208 3232
+-124.976 37.208 3246
+-124.85 37.208 3344
+-124.724 37.208 3426
+-124.598 37.208 3439
+-124.472 37.208 3549
+-124.346 37.208 3537
+-124.22 37.208 3523
+-124.094 37.208 3504
+-123.968 37.208 3482
+-123.842 37.208 3469
+-123.716 37.208 3528
+-123.59 37.208 3510
+-123.464 37.208 3505
+-123.338 37.208 3492
+-123.212 37.208 3525
+-123.086 37.208 3551
+-122.96 37.208 3605
+-122.834 37.208 3679
+-122.708 37.208 3758
+-122.582 37.208 3828
+-122.456 37.208 3877
+-122.33 37.208 3900
+-122.204 37.208 3931
+-122.078 37.208 3863
+-121.952 37.208 3740
+-121.826 37.208 3630
+-121.7 37.208 3806
+-121.574 37.208 3933
+-121.448 37.208 4056
+-121.322 37.208 4173
+-121.196 37.208 4212
+-121.07 37.208 4307
+-120.944 37.208 4434
+-120.818 37.208 4564
+-120.692 37.208 4629
+-120.566 37.208 4695
+-120.44 37.208 4815
+-120.314 37.208 4907
+-120.188 37.208 4973
+-120.062 37.208 5085
+-119.936 37.208 5253
+-119.81 37.208 5265
+-119.684 37.208 5382
+-119.558 37.208 5470
+-119.432 37.208 5532
+-119.306 37.208 5608
+-119.18 37.208 5679
+-119.054 37.208 5699
+-118.928 37.208 5768
+-118.802 37.208 5844
+-118.676 37.208 5914
+-118.55 37.208 5943
+-118.424 37.208 6029
+-118.298 37.208 6040
+-118.172 37.208 6072
+-118.046 37.208 6123
+-117.92 37.208 6134
+-117.794 37.208 6163
+-117.668 37.208 6188
+-117.542 37.208 6201
+-117.416 37.208 6222
+-117.29 37.208 6214
+-117.164 37.208 6199
+-117.038 37.208 6202
+-116.912 37.208 6181
+-116.786 37.208 6144
+-116.66 37.208 6144
+-116.534 37.208 6101
+-116.408 37.208 6058
+-116.282 37.208 6011
+-116.156 37.208 5966
+-116.03 37.208 5902
+-115.904 37.208 5869
+-115.778 37.208 5827
+-115.652 37.208 5759
+-115.526 37.208 5669
+-115.4 37.208 5581
+-115.274 37.208 5499
+-115.148 37.208 5471
+-115.022 37.208 5407
+-114.896 37.208 5340
+-114.77 37.208 5214
+-114.644 37.208 5125
+-114.518 37.208 5030
+-114.392 37.208 4954
+-114.266 37.208 4877
+-114.14 37.208 4761
+-114.014 37.208 4656
+-113.888 37.208 4562
+-113.762 37.208 4490
+-113.636 37.208 4400
+-113.51 37.208 4368
+-113.384 37.208 4310
+-113.258 37.208 4118
+-113.132 37.208 3953
+-113.006 37.208 3786
+-112.88 37.208 3694
+-112.754 37.208 3701
+-112.628 37.208 3673
+-112.502 37.208 3594
+-112.376 37.208 3498
+-112.25 37.208 3458
+-112.124 37.208 3395
+-111.998 37.208 3381
+-111.872 37.208 3370
+-111.746 37.208 3359
+-111.62 37.208 3347
+-111.494 37.208 3361
+-111.368 37.208 3376
+-111.242 37.208 3375
+-111.116 37.208 3363
+-110.99 37.208 3383
+-110.864 37.208 3414
+-110.738 37.208 3415
+-110.612 37.208 3398
+-110.486 37.208 3378
+-110.36 37.208 3397
+-110.234 37.208 3427
+-110.108 37.208 3453
+-109.982 37.208 3461
+-109.856 37.208 3453
+-109.73 37.208 3443
+-109.604 37.208 3398
+-109.478 37.208 3349
+-109.352 37.208 3322
+-109.226 37.208 3333
+-109.1 37.208 3364
+-108.974 37.208 3424
+-108.848 37.208 3408
+-108.722 37.208 3395
+-108.596 37.208 3382
+-108.47 37.208 3347
+-108.344 37.208 3331
+-108.218 37.208 3269
+-108.092 37.208 3279
+-107.966 37.208 3238
+-107.84 37.208 3208
+-107.714 37.208 3148
+-107.588 37.208 3119
+-107.462 37.208 3094
+-107.336 37.208 3067
+-107.21 37.208 3042
+-107.084 37.208 3016
+-106.958 37.208 2997
+-106.832 37.208 2970
+-106.706 37.208 2940
+-106.58 37.208 2886
+-106.454 37.208 2858
+-106.328 37.208 2839
+-106.202 37.208 2809
+-106.076 37.208 2785
+-105.95 37.208 2768
+-105.824 37.208 2761
+-105.698 37.208 2756
+-105.572 37.208 2800
+-105.446 37.208 2817
+-105.32 37.208 2818
+-105.194 37.208 2839
+-105.068 37.208 2861
+-104.942 37.208 2883
+-104.816 37.208 2848
+-104.69 37.208 2865
+-104.564 37.208 2881
+-104.438 37.208 2897
+-104.312 37.208 2912
+-104.186 37.208 2923
+-104.06 37.208 2914
+-103.934 37.208 2948
+-103.808 37.208 2956
+-103.682 37.208 2966
+-103.556 37.208 2976
+-103.43 37.208 2985
+-103.304 37.208 2993
+-103.178 37.208 3001
+-103.052 37.208 3008
+-102.926 37.208 3015
+-102.8 37.208 3021
+-102.674 37.208 3027
+-102.548 37.208 3020
+-102.422 37.208 3119
+-102.296 37.208 3023
+-102.17 37.208 2973
+-102.044 37.208 2895
+-101.918 37.208 2903
+-101.792 37.208 2863
+-101.666 37.208 2760
+-101.54 37.208 2741
+-101.414 37.208 2717
+-101.288 37.208 2767
+-101.162 37.208 2770
+-101.036 37.208 2810
+-100.91 37.208 2950
+-100.784 37.208 3032
+-100.658 37.208 3095
+-100.532 37.208 3095
+-100.406 37.208 3095
+-100.28 37.208 3095
+-100.154 37.208 3150
+-100.028 37.208 3150
+-99.902 37.208 3150
+-99.776 37.208 3151
+-99.65 37.208 3151
+-99.524 37.208 3152
+-99.398 37.208 3152
+-99.272 37.208 3153
+-99.146 37.208 3154
+-99.02 37.208 3217
+-98.894 37.208 3216
+-98.768 37.208 3254
+-98.642 37.208 3257
+-98.516 37.208 3300
+-98.39 37.208 3296
+-98.264 37.208 3313
+-98.138 37.208 3308
+-98.012 37.208 3372
+-97.886 37.208 3407
+-97.76 37.208 3400
+-97.634 37.208 3392
+-97.508 37.208 3383
+-97.382 37.208 3375
+-97.256 37.208 3375
+-97.13 37.208 3387
+-97.004 37.208 3396
+-96.878 37.208 3379
+-96.752 37.208 3359
+-96.626 37.208 3341
+-96.5 37.208 3330
+-96.374 37.208 3301
+-96.248 37.208 3313
+-96.122 37.208 3389
+-95.996 37.208 3534
+-95.87 37.208 3644
+-95.744 37.208 3735
+-95.618 37.208 3766
+-95.492 37.208 3784
+-95.366 37.208 3912
+-95.24 37.208 4097
+-95.114 37.208 4165
+-94.988 37.208 4326
+-94.862 37.208 4474
+-94.736 37.208 4551
+-94.61 37.208 4684
+-94.484 37.208 4696
+-94.358 37.208 4930
+-94.232 37.208 5074
+-94.106 37.208 5142
+-93.98 37.208 5286
+-93.854 37.208 5452
+-93.728 37.208 5627
+-93.602 37.208 5742
+-93.476 37.208 5806
+-93.35 37.208 5838
+-93.224 37.208 5960
+-93.098 37.208 6095
+-92.972 37.208 6219
+-92.846 37.208 6342
+-92.72 37.208 6497
+-92.594 37.208 6614
+-92.468 37.208 6684
+-92.342 37.208 6790
+-92.216 37.208 6911
+-92.09 37.208 6975
+-91.964 37.208 7065
+-91.838 37.208 7220
+-91.712 37.208 7214
+-91.586 37.208 7344
+-91.46 37.208 7416
+-91.334 37.208 7474
+-91.208 37.208 7534
+-91.082 37.208 7611
+-90.956 37.208 7656
+-90.83 37.208 7684
+-90.704 37.208 7710
+-90.578 37.208 7702
+-90.452 37.208 7736
+-90.326 37.208 8061
+-90.2 37.208 8170
+-90.074 37.208 8274
+-89.948 37.208 8457
+-89.822 37.208 8558
+-89.696 37.208 8715
+-89.57 37.208 8858
+-89.444 37.208 8930
+-89.318 37.208 9068
+-89.192 37.208 9194
+-89.066 37.208 9213
+-88.94 37.208 9235
+-88.814 37.208 9272
+-88.688 37.208 9275
+-88.562 37.208 9195
+-88.436 37.208 9125
+-88.31 37.208 9017
+-88.184 37.208 8888
+-88.058 37.208 8787
+-87.932 37.208 8701
+-87.806 37.208 8511
+-87.68 37.208 8376
+-87.554 37.208 8281
+-87.428 37.208 8118
+-87.302 37.208 7955
+-87.176 37.208 7887
+-87.05 37.208 7756
+-86.924 37.208 7626
+-86.798 37.208 7457
+-86.672 37.208 7354
+-86.546 37.208 7197
+-86.42 37.208 7041
+-86.294 37.208 6901
+-86.168 37.208 6765
+-86.042 37.208 6653
+-85.916 37.208 6506
+-85.79 37.208 6423
+-85.664 37.208 6217
+-85.538 37.208 6126
+-85.412 37.208 5954
+-85.286 37.208 5853
+-85.16 37.208 5722
+-85.034 37.208 5591
+-84.908 37.208 5492
+-84.782 37.208 5280
+-84.656 37.208 5115
+-84.53 37.208 5140
+-84.404 37.208 4972
+-84.278 37.208 4696
+-84.152 37.208 4541
+-84.026 37.208 4493
+-83.9 37.208 4344
+-83.774 37.208 4272
+-83.648 37.208 4169
+-83.522 37.208 4014
+-83.396 37.208 3821
+-83.27 37.208 3690
+-83.144 37.208 3605
+-83.018 37.208 3484
+-82.892 37.208 3539
+-82.766 37.208 3619
+-82.64 37.208 3700
+-82.514 37.208 3723
+-82.388 37.208 3720
+-82.262 37.208 3697
+-82.136 37.208 3697
+-82.01 37.208 3669
+-81.884 37.208 3672
+-81.758 37.208 3675
+-81.632 37.208 3677
+-81.506 37.208 3680
+-81.38 37.208 3650
+-81.254 37.208 3652
+-81.128 37.208 3655
+-81.002 37.208 3546
+-80.876 37.208 3476
+-80.75 37.208 3421
+-80.624 37.208 3396
+-80.498 37.208 3394
+-80.372 37.208 3393
+-80.246 37.208 3391
+-80.12 37.208 3390
+-79.994 37.208 3389
+-79.868 37.208 3388
+-79.742 37.208 3329
+-79.616 37.208 3328
+-79.49 37.208 3281
+-79.364 37.208 3279
+-79.238 37.208 3244
+-79.112 37.208 3242
+-78.986 37.208 3240
+-78.86 37.208 3238
+-78.734 37.208 3236
+-78.608 37.208 3235
+-78.482 37.208 3234
+-78.356 37.208 3232
+-78.23 37.208 3231
+-78.104 37.208 3230
+-77.978 37.208 3229
+-77.852 37.208 3229
+-77.726 37.208 3228
+-77.6 37.208 3133
+-77.474 37.208 3130
+-77.348 37.208 3127
+-77.222 37.208 3125
+-77.096 37.208 3122
+-76.97 37.208 3120
+-76.844 37.208 3118
+-76.718 37.208 3116
+-76.592 37.208 3013
+-76.466 37.208 3011
+-76.34 37.208 3009
+-76.214 37.208 3000
+-76.088 37.208 2998
+-75.962 37.208 2997
+-75.836 37.208 2995
+-75.71 37.208 2993
+-75.584 37.208 2992
+-75.458 37.208 2991
+-75.332 37.208 2989
+-75.206 37.208 2863
+-75.08 37.208 2862
+-74.954 37.208 2830
+-74.828 37.208 2781
+-74.702 37.208 2780
+-74.576 37.208 2779
+-74.45 37.208 2793
+-74.324 37.208 2793
+-74.198 37.208 2804
+-74.072 37.208 2803
+-73.946 37.208 2763
+-73.82 37.208 2726
+-73.694 37.208 2726
+-73.568 37.208 2726
+-73.442 37.208 2726
+-73.316 37.208 2744
+-73.19 37.208 2752
+-73.064 37.208 2762
+-72.938 37.208 2762
+-72.812 37.208 2794
+-72.686 37.208 2807
+-72.56 37.208 2809
+-72.434 37.208 2864
+-72.308 37.208 2887
+-72.182 37.208 2868
+-72.056 37.208 2860
+-71.93 37.208 3006
+-71.804 37.208 3009
+-71.678 37.208 3070
+-71.552 37.208 3073
+-71.426 37.208 3076
+-71.3 37.208 3079
+-71.174 37.208 3082
+-71.048 37.208 3002
+-70.922 37.208 3023
+-70.796 37.208 3026
+-70.67 37.208 3017
+-70.544 37.208 3314
+-70.418 37.208 3345
+-70.292 37.208 3346
+-70.166 37.208 3342
+-70.04 37.208 3344
+-69.914 37.208 3349
+-69.788 37.208 3365
+-69.662 37.208 3367
+-69.536 37.208 3355
+-69.41 37.208 3357
+-69.284 37.208 3310
+-69.158 37.208 3311
+-69.032 37.208 3312
+-68.906 37.208 3378
+-68.78 37.208 3373
+-68.654 37.208 3383
+-68.528 37.208 3385
+-68.402 37.208 3364
+-68.276 37.208 3386
+-68.15 37.208 3434
+-68.024 37.208 3446
+-67.898 37.208 3445
+-67.772 37.208 3444
+-67.646 37.208 3498
+-67.52 37.208 3500
+-67.394 37.208 3438
+-67.268 37.208 3462
+-67.142 37.208 3455
+-67.016 37.208 3375
+-66.89 37.208 3284
+-66.764 37.208 3309
+-66.638 37.208 3310
+-66.512 37.208 3344
+-66.386 37.208 3316
+-66.26 37.208 3329
+-66.134 37.208 3330
+-66.008 37.208 3309
+-65.882 37.208 3310
+-65.756 37.208 3312
+-65.63 37.208 3286
+-65.504 37.208 3267
+-65.378 37.208 3305
+-65.252 37.208 3299
+-65.126 37.208 3301
+-128 37.156 2830
+-127.874 37.156 2827
+-127.748 37.156 2823
+-127.622 37.156 2840
+-127.496 37.156 2838
+-127.37 37.156 2835
+-127.244 37.156 2807
+-127.118 37.156 2818
+-126.992 37.156 2897
+-126.866 37.156 2903
+-126.74 37.156 2902
+-126.614 37.156 2922
+-126.488 37.156 2922
+-126.362 37.156 3005
+-126.236 37.156 3009
+-126.11 37.156 3144
+-125.984 37.156 3146
+-125.858 37.156 3147
+-125.732 37.156 3150
+-125.606 37.156 3153
+-125.48 37.156 3156
+-125.354 37.156 3159
+-125.228 37.156 3203
+-125.102 37.156 3274
+-124.976 37.156 3380
+-124.85 37.156 3412
+-124.724 37.156 3411
+-124.598 37.156 3409
+-124.472 37.156 3419
+-124.346 37.156 3521
+-124.22 37.156 3503
+-124.094 37.156 3481
+-123.968 37.156 3452
+-123.842 37.156 3417
+-123.716 37.156 3387
+-123.59 37.156 3413
+-123.464 37.156 3375
+-123.338 37.156 3381
+-123.212 37.156 3366
+-123.086 37.156 3382
+-122.96 37.156 3464
+-122.834 37.156 3571
+-122.708 37.156 3688
+-122.582 37.156 3790
+-122.456 37.156 3864
+-122.33 37.156 3929
+-122.204 37.156 3927
+-122.078 37.156 3894
+-121.952 37.156 3812
+-121.826 37.156 3770
+-121.7 37.156 3871
+-121.574 37.156 3849
+-121.448 37.156 4005
+-121.322 37.156 4190
+-121.196 37.156 4256
+-121.07 37.156 4347
+-120.944 37.156 4475
+-120.818 37.156 4606
+-120.692 37.156 4617
+-120.566 37.156 4720
+-120.44 37.156 4898
+-120.314 37.156 4906
+-120.188 37.156 5007
+-120.062 37.156 5179
+-119.936 37.156 5286
+-119.81 37.156 5329
+-119.684 37.156 5410
+-119.558 37.156 5513
+-119.432 37.156 5571
+-119.306 37.156 5650
+-119.18 37.156 5689
+-119.054 37.156 5751
+-118.928 37.156 5831
+-118.802 37.156 5905
+-118.676 37.156 5947
+-118.55 37.156 6028
+-118.424 37.156 6032
+-118.298 37.156 6075
+-118.172 37.156 6141
+-118.046 37.156 6190
+-117.92 37.156 6203
+-117.794 37.156 6236
+-117.668 37.156 6263
+-117.542 37.156 6273
+-117.416 37.156 6265
+-117.29 37.156 6288
+-117.164 37.156 6277
+-117.038 37.156 6281
+-116.912 37.156 6245
+-116.786 37.156 6226
+-116.66 37.156 6176
+-116.534 37.156 6158
+-116.408 37.156 6115
+-116.282 37.156 6072
+-116.156 37.156 6040
+-116.03 37.156 5995
+-115.904 37.156 5937
+-115.778 37.156 5872
+-115.652 37.156 5799
+-115.526 37.156 5709
+-115.4 37.156 5606
+-115.274 37.156 5538
+-115.148 37.156 5458
+-115.022 37.156 5380
+-114.896 37.156 5389
+-114.77 37.156 5265
+-114.644 37.156 5171
+-114.518 37.156 5100
+-114.392 37.156 5005
+-114.266 37.156 4925
+-114.14 37.156 4824
+-114.014 37.156 4731
+-113.888 37.156 4650
+-113.762 37.156 4491
+-113.636 37.156 4340
+-113.51 37.156 4364
+-113.384 37.156 4277
+-113.258 37.156 4127
+-113.132 37.156 3959
+-113.006 37.156 3863
+-112.88 37.156 3828
+-112.754 37.156 3781
+-112.628 37.156 3741
+-112.502 37.156 3652
+-112.376 37.156 3594
+-112.25 37.156 3498
+-112.124 37.156 3452
+-111.998 37.156 3428
+-111.872 37.156 3423
+-111.746 37.156 3409
+-111.62 37.156 3415
+-111.494 37.156 3428
+-111.368 37.156 3423
+-111.242 37.156 3416
+-111.116 37.156 3407
+-110.99 37.156 3436
+-110.864 37.156 3470
+-110.738 37.156 3476
+-110.612 37.156 3461
+-110.486 37.156 3452
+-110.36 37.156 3461
+-110.234 37.156 3480
+-110.108 37.156 3495
+-109.982 37.156 3510
+-109.856 37.156 3523
+-109.73 37.156 3528
+-109.604 37.156 3497
+-109.478 37.156 3472
+-109.352 37.156 3456
+-109.226 37.156 3454
+-109.1 37.156 3454
+-108.974 37.156 3477
+-108.848 37.156 3479
+-108.722 37.156 3474
+-108.596 37.156 3444
+-108.47 37.156 3414
+-108.344 37.156 3378
+-108.218 37.156 3313
+-108.092 37.156 3272
+-107.966 37.156 3242
+-107.84 37.156 3182
+-107.714 37.156 3148
+-107.588 37.156 3117
+-107.462 37.156 3084
+-107.336 37.156 3055
+-107.21 37.156 3028
+-107.084 37.156 3011
+-106.958 37.156 2987
+-106.832 37.156 2959
+-106.706 37.156 2904
+-106.58 37.156 2871
+-106.454 37.156 2843
+-106.328 37.156 2801
+-106.202 37.156 2763
+-106.076 37.156 2731
+-105.95 37.156 2711
+-105.824 37.156 2699
+-105.698 37.156 2734
+-105.572 37.156 2751
+-105.446 37.156 2759
+-105.32 37.156 2785
+-105.194 37.156 2813
+-105.068 37.156 2841
+-104.942 37.156 2815
+-104.816 37.156 2837
+-104.69 37.156 2857
+-104.564 37.156 2876
+-104.438 37.156 2893
+-104.312 37.156 2908
+-104.186 37.156 2901
+-104.06 37.156 2936
+-103.934 37.156 2945
+-103.808 37.156 2957
+-103.682 37.156 2967
+-103.556 37.156 2977
+-103.43 37.156 2986
+-103.304 37.156 2995
+-103.178 37.156 3003
+-103.052 37.156 3010
+-102.926 37.156 3017
+-102.8 37.156 3023
+-102.674 37.156 3017
+-102.548 37.156 3113
+-102.422 37.156 3104
+-102.296 37.156 3120
+-102.17 37.156 3036
+-102.044 37.156 2897
+-101.918 37.156 2959
+-101.792 37.156 2862
+-101.666 37.156 2807
+-101.54 37.156 2739
+-101.414 37.156 2752
+-101.288 37.156 2752
+-101.162 37.156 2766
+-101.036 37.156 2805
+-100.91 37.156 2944
+-100.784 37.156 3007
+-100.658 37.156 3088
+-100.532 37.156 3088
+-100.406 37.156 3087
+-100.28 37.156 3143
+-100.154 37.156 3143
+-100.028 37.156 3143
+-99.902 37.156 3143
+-99.776 37.156 3143
+-99.65 37.156 3143
+-99.524 37.156 3143
+-99.398 37.156 3143
+-99.272 37.156 3143
+-99.146 37.156 3144
+-99.02 37.156 3144
+-98.894 37.156 3138
+-98.768 37.156 3255
+-98.642 37.156 3252
+-98.516 37.156 3260
+-98.39 37.156 3309
+-98.264 37.156 3304
+-98.138 37.156 3369
+-98.012 37.156 3379
+-97.886 37.156 3373
+-97.76 37.156 3366
+-97.634 37.156 3360
+-97.508 37.156 3354
+-97.382 37.156 3359
+-97.256 37.156 3377
+-97.13 37.156 3415
+-97.004 37.156 3407
+-96.878 37.156 3401
+-96.752 37.156 3398
+-96.626 37.156 3410
+-96.5 37.156 3403
+-96.374 37.156 3419
+-96.248 37.156 3445
+-96.122 37.156 3504
+-95.996 37.156 3588
+-95.87 37.156 3716
+-95.744 37.156 3766
+-95.618 37.156 3752
+-95.492 37.156 3674
+-95.366 37.156 3854
+-95.24 37.156 4080
+-95.114 37.156 4052
+-94.988 37.156 4228
+-94.862 37.156 4435
+-94.736 37.156 4461
+-94.61 37.156 4617
+-94.484 37.156 4767
+-94.358 37.156 4931
+-94.232 37.156 5007
+-94.106 37.156 5107
+-93.98 37.156 5246
+-93.854 37.156 5407
+-93.728 37.156 5546
+-93.602 37.156 5716
+-93.476 37.156 5731
+-93.35 37.156 5854
+-93.224 37.156 5913
+-93.098 37.156 6047
+-92.972 37.156 6145
+-92.846 37.156 6257
+-92.72 37.156 6442
+-92.594 37.156 6574
+-92.468 37.156 6615
+-92.342 37.156 6744
+-92.216 37.156 6831
+-92.09 37.156 6929
+-91.964 37.156 7047
+-91.838 37.156 7123
+-91.712 37.156 7217
+-91.586 37.156 7305
+-91.46 37.156 7323
+-91.334 37.156 7407
+-91.208 37.156 7504
+-91.082 37.156 7555
+-90.956 37.156 7582
+-90.83 37.156 7655
+-90.704 37.156 7649
+-90.578 37.156 7672
+-90.452 37.156 7675
+-90.326 37.156 7844
+-90.2 37.156 8139
+-90.074 37.156 8239
+-89.948 37.156 8426
+-89.822 37.156 8531
+-89.696 37.156 8657
+-89.57 37.156 8774
+-89.444 37.156 8836
+-89.318 37.156 9001
+-89.192 37.156 9075
+-89.066 37.156 9161
+-88.94 37.156 9204
+-88.814 37.156 9206
+-88.688 37.156 9171
+-88.562 37.156 9154
+-88.436 37.156 9078
+-88.31 37.156 8968
+-88.184 37.156 8876
+-88.058 37.156 8750
+-87.932 37.156 8667
+-87.806 37.156 8516
+-87.68 37.156 8358
+-87.554 37.156 8247
+-87.428 37.156 8124
+-87.302 37.156 7962
+-87.176 37.156 7863
+-87.05 37.156 7691
+-86.924 37.156 7598
+-86.798 37.156 7484
+-86.672 37.156 7306
+-86.546 37.156 7194
+-86.42 37.156 7067
+-86.294 37.156 6909
+-86.168 37.156 6743
+-86.042 37.156 6647
+-85.916 37.156 6560
+-85.79 37.156 6429
+-85.664 37.156 6238
+-85.538 37.156 6089
+-85.412 37.156 5946
+-85.286 37.156 5839
+-85.16 37.156 5700
+-85.034 37.156 5575
+-84.908 37.156 5486
+-84.782 37.156 5340
+-84.656 37.156 5206
+-84.53 37.156 5143
+-84.404 37.156 4940
+-84.278 37.156 4707
+-84.152 37.156 4560
+-84.026 37.156 4429
+-83.9 37.156 4225
+-83.774 37.156 4286
+-83.648 37.156 4219
+-83.522 37.156 4083
+-83.396 37.156 3920
+-83.27 37.156 3751
+-83.144 37.156 3502
+-83.018 37.156 3326
+-82.892 37.156 3437
+-82.766 37.156 3583
+-82.64 37.156 3677
+-82.514 37.156 3737
+-82.388 37.156 3752
+-82.262 37.156 3734
+-82.136 37.156 3708
+-82.01 37.156 3698
+-81.884 37.156 3660
+-81.758 37.156 3663
+-81.632 37.156 3666
+-81.506 37.156 3635
+-81.38 37.156 3637
+-81.254 37.156 3639
+-81.128 37.156 3552
+-81.002 37.156 3478
+-80.876 37.156 3466
+-80.75 37.156 3395
+-80.624 37.156 3393
+-80.498 37.156 3391
+-80.372 37.156 3389
+-80.246 37.156 3388
+-80.12 37.156 3387
+-79.994 37.156 3386
+-79.868 37.156 3326
+-79.742 37.156 3325
+-79.616 37.156 3277
+-79.49 37.156 3275
+-79.364 37.156 3239
+-79.238 37.156 3237
+-79.112 37.156 3235
+-78.986 37.156 3233
+-78.86 37.156 3231
+-78.734 37.156 3230
+-78.608 37.156 3228
+-78.482 37.156 3227
+-78.356 37.156 3226
+-78.23 37.156 3225
+-78.104 37.156 3224
+-77.978 37.156 3224
+-77.852 37.156 3223
+-77.726 37.156 3127
+-77.6 37.156 3125
+-77.474 37.156 3122
+-77.348 37.156 3119
+-77.222 37.156 3117
+-77.096 37.156 3115
+-76.97 37.156 3113
+-76.844 37.156 3110
+-76.718 37.156 3108
+-76.592 37.156 3107
+-76.466 37.156 3005
+-76.34 37.156 2996
+-76.214 37.156 2994
+-76.088 37.156 2992
+-75.962 37.156 2991
+-75.836 37.156 2989
+-75.71 37.156 2988
+-75.584 37.156 2986
+-75.458 37.156 2985
+-75.332 37.156 2859
+-75.206 37.156 2858
+-75.08 37.156 2826
+-74.954 37.156 2776
+-74.828 37.156 2775
+-74.702 37.156 2774
+-74.576 37.156 2789
+-74.45 37.156 2788
+-74.324 37.156 2799
+-74.198 37.156 2799
+-74.072 37.156 2774
+-73.946 37.156 2722
+-73.82 37.156 2722
+-73.694 37.156 2723
+-73.568 37.156 2723
+-73.442 37.156 2741
+-73.316 37.156 2748
+-73.19 37.156 2759
+-73.064 37.156 2759
+-72.938 37.156 2791
+-72.812 37.156 2804
+-72.686 37.156 2806
+-72.56 37.156 2861
+-72.434 37.156 2884
+-72.308 37.156 2865
+-72.182 37.156 2858
+-72.056 37.156 3004
+-71.93 37.156 3007
+-71.804 37.156 3067
+-71.678 37.156 3070
+-71.552 37.156 3073
+-71.426 37.156 3076
+-71.3 37.156 3079
+-71.174 37.156 3000
+-71.048 37.156 3021
+-70.922 37.156 3024
+-70.796 37.156 3015
+-70.67 37.156 3312
+-70.544 37.156 3343
+-70.418 37.156 3344
+-70.292 37.156 3340
+-70.166 37.156 3342
+-70.04 37.156 3347
+-69.914 37.156 3363
+-69.788 37.156 3365
+-69.662 37.156 3353
+-69.536 37.156 3355
+-69.41 37.156 3308
+-69.284 37.156 3309
+-69.158 37.156 3311
+-69.032 37.156 3376
+-68.906 37.156 3371
+-68.78 37.156 3382
+-68.654 37.156 3383
+-68.528 37.156 3363
+-68.402 37.156 3385
+-68.276 37.156 3432
+-68.15 37.156 3444
+-68.024 37.156 3443
+-67.898 37.156 3442
+-67.772 37.156 3496
+-67.646 37.156 3498
+-67.52 37.156 3436
+-67.394 37.156 3461
+-67.268 37.156 3454
+-67.142 37.156 3370
+-67.016 37.156 3283
+-66.89 37.156 3307
+-66.764 37.156 3309
+-66.638 37.156 3343
+-66.512 37.156 3315
+-66.386 37.156 3328
+-66.26 37.156 3329
+-66.134 37.156 3308
+-66.008 37.156 3309
+-65.882 37.156 3310
+-65.756 37.156 3285
+-65.63 37.156 3267
+-65.504 37.156 3304
+-65.378 37.156 3298
+-65.252 37.156 3300
+-65.126 37.156 3301
+-128 37.104 2824
+-127.874 37.104 2829
+-127.748 37.104 2826
+-127.622 37.104 2823
+-127.496 37.104 2839
+-127.37 37.104 2837
+-127.244 37.104 2834
+-127.118 37.104 2807
+-126.992 37.104 2817
+-126.866 37.104 2897
+-126.74 37.104 2903
+-126.614 37.104 2901
+-126.488 37.104 2921
+-126.362 37.104 2921
+-126.236 37.104 3004
+-126.11 37.104 3008
+-125.984 37.104 3140
+-125.858 37.104 3141
+-125.732 37.104 3143
+-125.606 37.104 3146
+-125.48 37.104 3149
+-125.354 37.104 3233
+-125.228 37.104 3319
+-125.102 37.104 3320
+-124.976 37.104 3334
+-124.85 37.104 3365
+-124.724 37.104 3396
+-124.598 37.104 3393
+-124.472 37.104 3388
+-124.346 37.104 3394
+-124.22 37.104 3486
+-124.094 37.104 3459
+-123.968 37.104 3424
+-123.842 37.104 3379
+-123.716 37.104 3333
+-123.59 37.104 3295
+-123.464 37.104 3232
+-123.338 37.104 3201
+-123.212 37.104 3153
+-123.086 37.104 3160
+-122.96 37.104 3246
+-122.834 37.104 3435
+-122.708 37.104 3612
+-122.582 37.104 3762
+-122.456 37.104 3867
+-122.33 37.104 3929
+-122.204 37.104 3951
+-122.078 37.104 3942
+-121.952 37.104 3935
+-121.826 37.104 3931
+-121.7 37.104 3965
+-121.574 37.104 3963
+-121.448 37.104 4088
+-121.322 37.104 4218
+-121.196 37.104 4223
+-121.07 37.104 4326
+-120.944 37.104 4507
+-120.818 37.104 4632
+-120.692 37.104 4691
+-120.566 37.104 4790
+-120.44 37.104 4951
+-120.314 37.104 5003
+-120.188 37.104 5110
+-120.062 37.104 5241
+-119.936 37.104 5323
+-119.81 37.104 5368
+-119.684 37.104 5456
+-119.558 37.104 5548
+-119.432 37.104 5545
+-119.306 37.104 5636
+-119.18 37.104 5734
+-119.054 37.104 5796
+-118.928 37.104 5891
+-118.802 37.104 5915
+-118.676 37.104 5979
+-118.55 37.104 6040
+-118.424 37.104 6082
+-118.298 37.104 6140
+-118.172 37.104 6201
+-118.046 37.104 6212
+-117.92 37.104 6274
+-117.794 37.104 6307
+-117.668 37.104 6281
+-117.542 37.104 6316
+-117.416 37.104 6331
+-117.29 37.104 6322
+-117.164 37.104 6333
+-117.038 37.104 6320
+-116.912 37.104 6309
+-116.786 37.104 6279
+-116.66 37.104 6281
+-116.534 37.104 6205
+-116.408 37.104 6151
+-116.282 37.104 6116
+-116.156 37.104 6088
+-116.03 37.104 6024
+-115.904 37.104 5983
+-115.778 37.104 5905
+-115.652 37.104 5848
+-115.526 37.104 5751
+-115.4 37.104 5650
+-115.274 37.104 5564
+-115.148 37.104 5523
+-115.022 37.104 5484
+-114.896 37.104 5443
+-114.77 37.104 5327
+-114.644 37.104 5248
+-114.518 37.104 5164
+-114.392 37.104 5028
+-114.266 37.104 4886
+-114.14 37.104 4842
+-114.014 37.104 4714
+-113.888 37.104 4695
+-113.762 37.104 4552
+-113.636 37.104 4414
+-113.51 37.104 4387
+-113.384 37.104 4310
+-113.258 37.104 4151
+-113.132 37.104 3949
+-113.006 37.104 3843
+-112.88 37.104 3861
+-112.754 37.104 3833
+-112.628 37.104 3792
+-112.502 37.104 3716
+-112.376 37.104 3656
+-112.25 37.104 3563
+-112.124 37.104 3538
+-111.998 37.104 3517
+-111.872 37.104 3505
+-111.746 37.104 3493
+-111.62 37.104 3481
+-111.494 37.104 3495
+-111.368 37.104 3502
+-111.242 37.104 3508
+-111.116 37.104 3515
+-110.99 37.104 3535
+-110.864 37.104 3547
+-110.738 37.104 3554
+-110.612 37.104 3548
+-110.486 37.104 3530
+-110.36 37.104 3532
+-110.234 37.104 3534
+-110.108 37.104 3565
+-109.982 37.104 3572
+-109.856 37.104 3601
+-109.73 37.104 3585
+-109.604 37.104 3571
+-109.478 37.104 3577
+-109.352 37.104 3564
+-109.226 37.104 3536
+-109.1 37.104 3562
+-108.974 37.104 3555
+-108.848 37.104 3549
+-108.722 37.104 3528
+-108.596 37.104 3511
+-108.47 37.104 3455
+-108.344 37.104 3400
+-108.218 37.104 3340
+-108.092 37.104 3308
+-107.966 37.104 3252
+-107.84 37.104 3223
+-107.714 37.104 3140
+-107.588 37.104 3099
+-107.462 37.104 3061
+-107.336 37.104 3031
+-107.21 37.104 3013
+-107.084 37.104 2995
+-106.958 37.104 2974
+-106.832 37.104 2926
+-106.706 37.104 2894
+-106.58 37.104 2861
+-106.454 37.104 2808
+-106.328 37.104 2755
+-106.202 37.104 2703
+-106.076 37.104 2661
+-105.95 37.104 2633
+-105.824 37.104 2652
+-105.698 37.104 2666
+-105.572 37.104 2680
+-105.446 37.104 2713
+-105.32 37.104 2750
+-105.194 37.104 2786
+-105.068 37.104 2773
+-104.942 37.104 2802
+-104.816 37.104 2827
+-104.69 37.104 2851
+-104.564 37.104 2872
+-104.438 37.104 2889
+-104.312 37.104 2886
+-104.186 37.104 2922
+-104.06 37.104 2933
+-103.934 37.104 2946
+-103.808 37.104 2958
+-103.682 37.104 2969
+-103.556 37.104 2979
+-103.43 37.104 2989
+-103.304 37.104 2997
+-103.178 37.104 3005
+-103.052 37.104 3012
+-102.926 37.104 3019
+-102.8 37.104 3013
+-102.674 37.104 3107
+-102.548 37.104 3098
+-102.422 37.104 3114
+-102.296 37.104 3122
+-102.17 37.104 3036
+-102.044 37.104 2900
+-101.918 37.104 2962
+-101.792 37.104 2865
+-101.666 37.104 2808
+-101.54 37.104 2738
+-101.414 37.104 2751
+-101.288 37.104 2750
+-101.162 37.104 2762
+-101.036 37.104 2800
+-100.91 37.104 2930
+-100.784 37.104 3000
+-100.658 37.104 3081
+-100.532 37.104 3080
+-100.406 37.104 3136
+-100.28 37.104 3135
+-100.154 37.104 3135
+-100.028 37.104 3135
+-99.902 37.104 3134
+-99.776 37.104 3134
+-99.65 37.104 3134
+-99.524 37.104 3134
+-99.398 37.104 3133
+-99.272 37.104 3133
+-99.146 37.104 3133
+-99.02 37.104 3159
+-98.894 37.104 3158
+-98.768 37.104 3173
+-98.642 37.104 3239
+-98.516 37.104 3235
+-98.39 37.104 3257
+-98.264 37.104 3349
+-98.138 37.104 3376
+-98.012 37.104 3369
+-97.886 37.104 3362
+-97.76 37.104 3355
+-97.634 37.104 3349
+-97.508 37.104 3354
+-97.382 37.104 3375
+-97.256 37.104 3369
+-97.13 37.104 3365
+-97.004 37.104 3395
+-96.878 37.104 3421
+-96.752 37.104 3449
+-96.626 37.104 3454
+-96.5 37.104 3479
+-96.374 37.104 3498
+-96.248 37.104 3532
+-96.122 37.104 3587
+-95.996 37.104 3667
+-95.87 37.104 3744
+-95.744 37.104 3815
+-95.618 37.104 3803
+-95.492 37.104 3791
+-95.366 37.104 3923
+-95.24 37.104 4072
+-95.114 37.104 4154
+-94.988 37.104 4281
+-94.862 37.104 4408
+-94.736 37.104 4507
+-94.61 37.104 4611
+-94.484 37.104 4745
+-94.358 37.104 4903
+-94.232 37.104 4991
+-94.106 37.104 5075
+-93.98 37.104 5219
+-93.854 37.104 5353
+-93.728 37.104 5501
+-93.602 37.104 5642
+-93.476 37.104 5744
+-93.35 37.104 5785
+-93.224 37.104 5929
+-93.098 37.104 6055
+-92.972 37.104 6120
+-92.846 37.104 6255
+-92.72 37.104 6398
+-92.594 37.104 6515
+-92.468 37.104 6587
+-92.342 37.104 6709
+-92.216 37.104 6792
+-92.09 37.104 6896
+-91.964 37.104 7017
+-91.838 37.104 7075
+-91.712 37.104 7164
+-91.586 37.104 7217
+-91.46 37.104 7293
+-91.334 37.104 7386
+-91.208 37.104 7464
+-91.082 37.104 7496
+-90.956 37.104 7533
+-90.83 37.104 7581
+-90.704 37.104 7609
+-90.578 37.104 7630
+-90.452 37.104 7639
+-90.326 37.104 8011
+-90.2 37.104 8102
+-90.074 37.104 8241
+-89.948 37.104 8402
+-89.822 37.104 8484
+-89.696 37.104 8596
+-89.57 37.104 8798
+-89.444 37.104 8851
+-89.318 37.104 8937
+-89.192 37.104 9049
+-89.066 37.104 9115
+-88.94 37.104 9148
+-88.814 37.104 9132
+-88.688 37.104 9104
+-88.562 37.104 9093
+-88.436 37.104 9005
+-88.31 37.104 8960
+-88.184 37.104 8826
+-88.058 37.104 8747
+-87.932 37.104 8629
+-87.806 37.104 8485
+-87.68 37.104 8359
+-87.554 37.104 8225
+-87.428 37.104 8113
+-87.302 37.104 7991
+-87.176 37.104 7834
+-87.05 37.104 7728
+-86.924 37.104 7591
+-86.798 37.104 7410
+-86.672 37.104 7296
+-86.546 37.104 7111
+-86.42 37.104 6981
+-86.294 37.104 6963
+-86.168 37.104 6781
+-86.042 37.104 6611
+-85.916 37.104 6540
+-85.79 37.104 6378
+-85.664 37.104 6215
+-85.538 37.104 6048
+-85.412 37.104 5951
+-85.286 37.104 5760
+-85.16 37.104 5701
+-85.034 37.104 5571
+-84.908 37.104 5366
+-84.782 37.104 5379
+-84.656 37.104 5259
+-84.53 37.104 5144
+-84.404 37.104 4932
+-84.278 37.104 4652
+-84.152 37.104 4484
+-84.026 37.104 4475
+-83.9 37.104 4362
+-83.774 37.104 4320
+-83.648 37.104 4247
+-83.522 37.104 4128
+-83.396 37.104 3981
+-83.27 37.104 3814
+-83.144 37.104 3605
+-83.018 37.104 3463
+-82.892 37.104 3505
+-82.766 37.104 3607
+-82.64 37.104 3686
+-82.514 37.104 3739
+-82.388 37.104 3774
+-82.262 37.104 3772
+-82.136 37.104 3736
+-82.01 37.104 3729
+-81.884 37.104 3682
+-81.758 37.104 3688
+-81.632 37.104 3632
+-81.506 37.104 3635
+-81.38 37.104 3637
+-81.254 37.104 3550
+-81.128 37.104 3474
+-81.002 37.104 3442
+-80.876 37.104 3440
+-80.75 37.104 3438
+-80.624 37.104 3388
+-80.498 37.104 3386
+-80.372 37.104 3385
+-80.246 37.104 3383
+-80.12 37.104 3382
+-79.994 37.104 3322
+-79.868 37.104 3321
+-79.742 37.104 3272
+-79.616 37.104 3270
+-79.49 37.104 3233
+-79.364 37.104 3231
+-79.238 37.104 3229
+-79.112 37.104 3227
+-78.986 37.104 3225
+-78.86 37.104 3224
+-78.734 37.104 3223
+-78.608 37.104 3222
+-78.482 37.104 3221
+-78.356 37.104 3220
+-78.23 37.104 3219
+-78.104 37.104 3218
+-77.978 37.104 3218
+-77.852 37.104 3122
+-77.726 37.104 3119
+-77.6 37.104 3116
+-77.474 37.104 3114
+-77.348 37.104 3111
+-77.222 37.104 3109
+-77.096 37.104 3107
+-76.97 37.104 3105
+-76.844 37.104 3103
+-76.718 37.104 3101
+-76.592 37.104 3099
+-76.466 37.104 2991
+-76.34 37.104 2989
+-76.214 37.104 2987
+-76.088 37.104 2986
+-75.962 37.104 2984
+-75.836 37.104 2983
+-75.71 37.104 2982
+-75.584 37.104 2981
+-75.458 37.104 2854
+-75.332 37.104 2853
+-75.206 37.104 2821
+-75.08 37.104 2772
+-74.954 37.104 2771
+-74.828 37.104 2770
+-74.702 37.104 2784
+-74.576 37.104 2784
+-74.45 37.104 2795
+-74.324 37.104 2795
+-74.198 37.104 2770
+-74.072 37.104 2718
+-73.946 37.104 2719
+-73.82 37.104 2719
+-73.694 37.104 2719
+-73.568 37.104 2737
+-73.442 37.104 2745
+-73.316 37.104 2756
+-73.19 37.104 2756
+-73.064 37.104 2788
+-72.938 37.104 2801
+-72.812 37.104 2803
+-72.686 37.104 2858
+-72.56 37.104 2881
+-72.434 37.104 2863
+-72.308 37.104 2855
+-72.182 37.104 3001
+-72.056 37.104 3004
+-71.93 37.104 3064
+-71.804 37.104 3067
+-71.678 37.104 3070
+-71.552 37.104 3074
+-71.426 37.104 3076
+-71.3 37.104 2997
+-71.174 37.104 3019
+-71.048 37.104 3021
+-70.922 37.104 3013
+-70.796 37.104 3310
+-70.67 37.104 3340
+-70.544 37.104 3342
+-70.418 37.104 3338
+-70.292 37.104 3340
+-70.166 37.104 3345
+-70.04 37.104 3361
+-69.914 37.104 3363
+-69.788 37.104 3351
+-69.662 37.104 3353
+-69.536 37.104 3306
+-69.41 37.104 3307
+-69.284 37.104 3309
+-69.158 37.104 3374
+-69.032 37.104 3370
+-68.906 37.104 3380
+-68.78 37.104 3381
+-68.654 37.104 3361
+-68.528 37.104 3383
+-68.402 37.104 3430
+-68.276 37.104 3442
+-68.15 37.104 3442
+-68.024 37.104 3441
+-67.898 37.104 3494
+-67.772 37.104 3496
+-67.646 37.104 3435
+-67.52 37.104 3459
+-67.394 37.104 3452
+-67.268 37.104 3373
+-67.142 37.104 3282
+-67.016 37.104 3306
+-66.89 37.104 3307
+-66.764 37.104 3342
+-66.638 37.104 3314
+-66.512 37.104 3327
+-66.386 37.104 3328
+-66.26 37.104 3307
+-66.134 37.104 3308
+-66.008 37.104 3309
+-65.882 37.104 3284
+-65.756 37.104 3266
+-65.63 37.104 3303
+-65.504 37.104 3297
+-65.378 37.104 3299
+-65.252 37.104 3300
+-65.126 37.104 3218
+-128 37.052 2826
+-127.874 37.052 2823
+-127.748 37.052 2828
+-127.622 37.052 2825
+-127.496 37.052 2821
+-127.37 37.052 2838
+-127.244 37.052 2836
+-127.118 37.052 2833
+-126.992 37.052 2806
+-126.866 37.052 2816
+-126.74 37.052 2895
+-126.614 37.052 2901
+-126.488 37.052 2900
+-126.362 37.052 2919
+-126.236 37.052 2919
+-126.11 37.052 3002
+-125.984 37.052 3211
+-125.858 37.052 3211
+-125.732 37.052 3212
+-125.606 37.052 3213
+-125.48 37.052 3221
+-125.354 37.052 3303
+-125.228 37.052 3304
+-125.102 37.052 3305
+-124.976 37.052 3306
+-124.85 37.052 3320
+-124.724 37.052 3349
+-124.598 37.052 3378
+-124.472 37.052 3373
+-124.346 37.052 3364
+-124.22 37.052 3363
+-124.094 37.052 3441
+-123.968 37.052 3401
+-123.842 37.052 3358
+-123.716 37.052 3320
+-123.59 37.052 3223
+-123.464 37.052 3105
+-123.338 37.052 3029
+-123.212 37.052 2911
+-123.086 37.052 2885
+-122.96 37.052 2994
+-122.834 37.052 3213
+-122.708 37.052 3504
+-122.582 37.052 3700
+-122.456 37.052 3844
+-122.33 37.052 3932
+-122.204 37.052 3992
+-122.078 37.052 3999
+-121.952 37.052 4017
+-121.826 37.052 4031
+-121.7 37.052 4099
+-121.574 37.052 4138
+-121.448 37.052 4210
+-121.322 37.052 4282
+-121.196 37.052 4304
+-121.07 37.052 4406
+-120.944 37.052 4564
+-120.818 37.052 4688
+-120.692 37.052 4796
+-120.566 37.052 4879
+-120.44 37.052 5019
+-120.314 37.052 5105
+-120.188 37.052 5163
+-120.062 37.052 5286
+-119.936 37.052 5305
+-119.81 37.052 5373
+-119.684 37.052 5465
+-119.558 37.052 5568
+-119.432 37.052 5641
+-119.306 37.052 5716
+-119.18 37.052 5783
+-119.054 37.052 5844
+-118.928 37.052 5915
+-118.802 37.052 5976
+-118.676 37.052 6040
+-118.55 37.052 6103
+-118.424 37.052 6120
+-118.298 37.052 6192
+-118.172 37.052 6272
+-118.046 37.052 6299
+-117.92 37.052 6299
+-117.794 37.052 6375
+-117.668 37.052 6383
+-117.542 37.052 6355
+-117.416 37.052 6374
+-117.29 37.052 6379
+-117.164 37.052 6360
+-117.038 37.052 6382
+-116.912 37.052 6352
+-116.786 37.052 6346
+-116.66 37.052 6303
+-116.534 37.052 6259
+-116.408 37.052 6199
+-116.282 37.052 6157
+-116.156 37.052 6141
+-116.03 37.052 6081
+-115.904 37.052 6031
+-115.778 37.052 5986
+-115.652 37.052 5881
+-115.526 37.052 5813
+-115.4 37.052 5710
+-115.274 37.052 5609
+-115.148 37.052 5574
+-115.022 37.052 5487
+-114.896 37.052 5473
+-114.77 37.052 5370
+-114.644 37.052 5260
+-114.518 37.052 5226
+-114.392 37.052 5102
+-114.266 37.052 4979
+-114.14 37.052 4905
+-114.014 37.052 4806
+-113.888 37.052 4738
+-113.762 37.052 4573
+-113.636 37.052 4459
+-113.51 37.052 4416
+-113.384 37.052 4330
+-113.258 37.052 4193
+-113.132 37.052 4016
+-113.006 37.052 3900
+-112.88 37.052 3892
+-112.754 37.052 3866
+-112.628 37.052 3828
+-112.502 37.052 3765
+-112.376 37.052 3685
+-112.25 37.052 3608
+-112.124 37.052 3576
+-111.998 37.052 3543
+-111.872 37.052 3535
+-111.746 37.052 3556
+-111.62 37.052 3547
+-111.494 37.052 3546
+-111.368 37.052 3558
+-111.242 37.052 3568
+-111.116 37.052 3581
+-110.99 37.052 3599
+-110.864 37.052 3608
+-110.738 37.052 3618
+-110.612 37.052 3620
+-110.486 37.052 3621
+-110.36 37.052 3606
+-110.234 37.052 3624
+-110.108 37.052 3634
+-109.982 37.052 3640
+-109.856 37.052 3643
+-109.73 37.052 3644
+-109.604 37.052 3659
+-109.478 37.052 3639
+-109.352 37.052 3629
+-109.226 37.052 3608
+-109.1 37.052 3608
+-108.974 37.052 3595
+-108.848 37.052 3606
+-108.722 37.052 3567
+-108.596 37.052 3540
+-108.47 37.052 3471
+-108.344 37.052 3408
+-108.218 37.052 3354
+-108.092 37.052 3291
+-107.966 37.052 3240
+-107.84 37.052 3209
+-107.714 37.052 3164
+-107.588 37.052 3108
+-107.462 37.052 3055
+-107.336 37.052 3023
+-107.21 37.052 3009
+-107.084 37.052 3004
+-106.958 37.052 2967
+-106.832 37.052 2919
+-106.706 37.052 2889
+-106.58 37.052 2834
+-106.454 37.052 2769
+-106.328 37.052 2698
+-106.202 37.052 2629
+-106.076 37.052 2590
+-105.95 37.052 2558
+-105.824 37.052 2558
+-105.698 37.052 2574
+-105.572 37.052 2616
+-105.446 37.052 2664
+-105.32 37.052 2713
+-105.194 37.052 2719
+-105.068 37.052 2756
+-104.942 37.052 2790
+-104.816 37.052 2819
+-104.69 37.052 2845
+-104.564 37.052 2867
+-104.438 37.052 2868
+-104.312 37.052 2905
+-104.186 37.052 2919
+-104.06 37.052 2934
+-103.934 37.052 2948
+-103.808 37.052 2960
+-103.682 37.052 2972
+-103.556 37.052 2982
+-103.43 37.052 2991
+-103.304 37.052 3000
+-103.178 37.052 3008
+-103.052 37.052 3015
+-102.926 37.052 3010
+-102.8 37.052 3101
+-102.674 37.052 3093
+-102.548 37.052 3108
+-102.422 37.052 3116
+-102.296 37.052 3124
+-102.17 37.052 3038
+-102.044 37.052 2903
+-101.918 37.052 2965
+-101.792 37.052 2868
+-101.666 37.052 2809
+-101.54 37.052 2753
+-101.414 37.052 2750
+-101.288 37.052 2748
+-101.162 37.052 2758
+-101.036 37.052 2795
+-100.91 37.052 2924
+-100.784 37.052 2992
+-100.658 37.052 3073
+-100.532 37.052 3129
+-100.406 37.052 3128
+-100.28 37.052 3128
+-100.154 37.052 3127
+-100.028 37.052 3127
+-99.902 37.052 3126
+-99.776 37.052 3125
+-99.65 37.052 3124
+-99.524 37.052 3124
+-99.398 37.052 3123
+-99.272 37.052 3122
+-99.146 37.052 3148
+-99.02 37.052 3146
+-98.894 37.052 3157
+-98.768 37.052 3170
+-98.642 37.052 3155
+-98.516 37.052 3163
+-98.39 37.052 3268
+-98.264 37.052 3332
+-98.138 37.052 3326
+-98.012 37.052 3357
+-97.886 37.052 3349
+-97.76 37.052 3350
+-97.634 37.052 3346
+-97.508 37.052 3365
+-97.382 37.052 3359
+-97.256 37.052 3354
+-97.13 37.052 3387
+-97.004 37.052 3401
+-96.878 37.052 3407
+-96.752 37.052 3465
+-96.626 37.052 3498
+-96.5 37.052 3519
+-96.374 37.052 3548
+-96.248 37.052 3593
+-96.122 37.052 3659
+-95.996 37.052 3727
+-95.87 37.052 3769
+-95.744 37.052 3800
+-95.618 37.052 3858
+-95.492 37.052 3906
+-95.366 37.052 3983
+-95.24 37.052 4128
+-95.114 37.052 4198
+-94.988 37.052 4286
+-94.862 37.052 4397
+-94.736 37.052 4483
+-94.61 37.052 4574
+-94.484 37.052 4700
+-94.358 37.052 4874
+-94.232 37.052 4990
+-94.106 37.052 5018
+-93.98 37.052 5196
+-93.854 37.052 5319
+-93.728 37.052 5460
+-93.602 37.052 5596
+-93.476 37.052 5628
+-93.35 37.052 5802
+-93.224 37.052 5891
+-93.098 37.052 6025
+-92.972 37.052 6086
+-92.846 37.052 6189
+-92.72 37.052 6352
+-92.594 37.052 6519
+-92.468 37.052 6552
+-92.342 37.052 6636
+-92.216 37.052 6781
+-92.09 37.052 6891
+-91.964 37.052 6934
+-91.838 37.052 7066
+-91.712 37.052 7130
+-91.586 37.052 7219
+-91.46 37.052 7249
+-91.334 37.052 7321
+-91.208 37.052 7397
+-91.082 37.052 7429
+-90.956 37.052 7486
+-90.83 37.052 7518
+-90.704 37.052 7563
+-90.578 37.052 7533
+-90.452 37.052 7812
+-90.326 37.052 7955
+-90.2 37.052 8128
+-90.074 37.052 8195
+-89.948 37.052 8409
+-89.822 37.052 8435
+-89.696 37.052 8589
+-89.57 37.052 8702
+-89.444 37.052 8774
+-89.318 37.052 8916
+-89.192 37.052 9031
+-89.066 37.052 9097
+-88.94 37.052 9075
+-88.814 37.052 9094
+-88.688 37.052 9096
+-88.562 37.052 9035
+-88.436 37.052 8962
+-88.31 37.052 8913
+-88.184 37.052 8742
+-88.058 37.052 8709
+-87.932 37.052 8574
+-87.806 37.052 8422
+-87.68 37.052 8359
+-87.554 37.052 8203
+-87.428 37.052 8058
+-87.302 37.052 8005
+-87.176 37.052 7800
+-87.05 37.052 7717
+-86.924 37.052 7543
+-86.798 37.052 7456
+-86.672 37.052 7273
+-86.546 37.052 7197
+-86.42 37.052 7050
+-86.294 37.052 6930
+-86.168 37.052 6773
+-86.042 37.052 6626
+-85.916 37.052 6483
+-85.79 37.052 6312
+-85.664 37.052 6234
+-85.538 37.052 6116
+-85.412 37.052 5981
+-85.286 37.052 5834
+-85.16 37.052 5637
+-85.034 37.052 5609
+-84.908 37.052 5492
+-84.782 37.052 5387
+-84.656 37.052 5276
+-84.53 37.052 5131
+-84.404 37.052 4970
+-84.278 37.052 4726
+-84.152 37.052 4583
+-84.026 37.052 4526
+-83.9 37.052 4462
+-83.774 37.052 4394
+-83.648 37.052 4272
+-83.522 37.052 4176
+-83.396 37.052 4048
+-83.27 37.052 3911
+-83.144 37.052 3773
+-83.018 37.052 3688
+-82.892 37.052 3669
+-82.766 37.052 3671
+-82.64 37.052 3713
+-82.514 37.052 3747
+-82.388 37.052 3773
+-82.262 37.052 3746
+-82.136 37.052 3767
+-82.01 37.052 3724
+-81.884 37.052 3680
+-81.758 37.052 3652
+-81.632 37.052 3657
+-81.506 37.052 3632
+-81.38 37.052 3545
+-81.254 37.052 3453
+-81.128 37.052 3420
+-81.002 37.052 3418
+-80.876 37.052 3415
+-80.75 37.052 3413
+-80.624 37.052 3411
+-80.498 37.052 3381
+-80.372 37.052 3379
+-80.246 37.052 3355
+-80.12 37.052 3317
+-79.994 37.052 3316
+-79.868 37.052 3241
+-79.742 37.052 3238
+-79.616 37.052 3236
+-79.49 37.052 3234
+-79.364 37.052 3232
+-79.238 37.052 3230
+-79.112 37.052 3228
+-78.986 37.052 3218
+-78.86 37.052 3216
+-78.734 37.052 3215
+-78.608 37.052 3214
+-78.482 37.052 3214
+-78.356 37.052 3213
+-78.23 37.052 3212
+-78.104 37.052 3212
+-77.978 37.052 3100
+-77.852 37.052 3098
+-77.726 37.052 3095
+-77.6 37.052 3092
+-77.474 37.052 3090
+-77.348 37.052 3088
+-77.222 37.052 3086
+-77.096 37.052 3083
+-76.97 37.052 3082
+-76.844 37.052 3080
+-76.718 37.052 3078
+-76.592 37.052 2986
+-76.466 37.052 2984
+-76.34 37.052 2982
+-76.214 37.052 2981
+-76.088 37.052 2979
+-75.962 37.052 2978
+-75.836 37.052 2977
+-75.71 37.052 2976
+-75.584 37.052 2848
+-75.458 37.052 2847
+-75.332 37.052 2816
+-75.206 37.052 2766
+-75.08 37.052 2766
+-74.954 37.052 2765
+-74.828 37.052 2779
+-74.702 37.052 2779
+-74.576 37.052 2790
+-74.45 37.052 2790
+-74.324 37.052 2766
+-74.198 37.052 2714
+-74.072 37.052 2715
+-73.946 37.052 2715
+-73.82 37.052 2716
+-73.694 37.052 2734
+-73.568 37.052 2741
+-73.442 37.052 2752
+-73.316 37.052 2752
+-73.19 37.052 2785
+-73.064 37.052 2798
+-72.938 37.052 2801
+-72.812 37.052 2855
+-72.686 37.052 2878
+-72.56 37.052 2860
+-72.434 37.052 2853
+-72.308 37.052 2998
+-72.182 37.052 3001
+-72.056 37.052 3061
+-71.93 37.052 3064
+-71.804 37.052 3067
+-71.678 37.052 3071
+-71.552 37.052 3074
+-71.426 37.052 2995
+-71.3 37.052 3017
+-71.174 37.052 3019
+-71.048 37.052 3011
+-70.922 37.052 3307
+-70.796 37.052 3338
+-70.67 37.052 3339
+-70.544 37.052 3336
+-70.418 37.052 3337
+-70.292 37.052 3342
+-70.166 37.052 3359
+-70.04 37.052 3361
+-69.914 37.052 3349
+-69.788 37.052 3351
+-69.662 37.052 3304
+-69.536 37.052 3306
+-69.41 37.052 3307
+-69.284 37.052 3372
+-69.158 37.052 3368
+-69.032 37.052 3378
+-68.906 37.052 3380
+-68.78 37.052 3359
+-68.654 37.052 3382
+-68.528 37.052 3429
+-68.402 37.052 3441
+-68.276 37.052 3440
+-68.15 37.052 3439
+-68.024 37.052 3493
+-67.898 37.052 3494
+-67.772 37.052 3433
+-67.646 37.052 3457
+-67.52 37.052 3451
+-67.394 37.052 3368
+-67.268 37.052 3281
+-67.142 37.052 3305
+-67.016 37.052 3306
+-66.89 37.052 3340
+-66.764 37.052 3313
+-66.638 37.052 3325
+-66.512 37.052 3327
+-66.386 37.052 3306
+-66.26 37.052 3307
+-66.134 37.052 3308
+-66.008 37.052 3284
+-65.882 37.052 3265
+-65.756 37.052 3302
+-65.63 37.052 3296
+-65.504 37.052 3298
+-65.378 37.052 3299
+-65.252 37.052 3217
+-65.126 37.052 3259
+-128 37 2828
+-127.874 37 2825
+-127.748 37 2821
+-127.622 37 2826
+-127.496 37 2822
+-127.37 37 2819
+-127.244 37 2836
+-127.118 37 2833
+-126.992 37 2831
+-126.866 37 2804
+-126.74 37 2814
+-126.614 37 2892
+-126.488 37 2898
+-126.362 37 2896
+-126.236 37 2914
+-126.11 37 2995
+-125.984 37 3081
+-125.858 37 3200
+-125.732 37 3200
+-125.606 37 3207
+-125.48 37 3277
+-125.354 37 3277
+-125.228 37 3287
+-125.102 37 3289
+-124.976 37 3290
+-124.85 37 3291
+-124.724 37 3304
+-124.598 37 3385
+-124.472 37 3358
+-124.346 37 3350
+-124.22 37 3335
+-124.094 37 3374
+-123.968 37 3344
+-123.842 37 3373
+-123.716 37 3287
+-123.59 37 3172
+-123.464 37 3025
+-123.338 37 2851
+-123.212 37 2711
+-123.086 37 2632
+-122.96 37 2751
+-122.834 37 3064
+-122.708 37 3402
+-122.582 37 3665
+-122.456 37 3843
+-122.33 37 3954
+-122.204 37 4021
+-122.078 37 4061
+-121.952 37 4110
+-121.826 37 4189
+-121.7 37 4208
+-121.574 37 4263
+-121.448 37 4312
+-121.322 37 4358
+-121.196 37 4414
+-121.07 37 4519
+-120.944 37 4657
+-120.818 37 4749
+-120.692 37 4817
+-120.566 37 4918
+-120.44 37 5066
+-120.314 37 5134
+-120.188 37 5105
+-120.062 37 5280
+-119.936 37 5377
+-119.81 37 5412
+-119.684 37 5503
+-119.558 37 5610
+-119.432 37 5696
+-119.306 37 5795
+-119.18 37 5846
+-119.054 37 5879
+-118.928 37 5966
+-118.802 37 6022
+-118.676 37 6060
+-118.55 37 6140
+-118.424 37 6186
+-118.298 37 6260
+-118.172 37 6301
+-118.046 37 6310
+-117.92 37 6373
+-117.794 37 6364
+-117.668 37 6387
+-117.542 37 6406
+-117.416 37 6446
+-117.29 37 6412
+-117.164 37 6420
+-117.038 37 6411
+-116.912 37 6407
+-116.786 37 6382
+-116.66 37 6361
+-116.534 37 6320
+-116.408 37 6255
+-116.282 37 6230
+-116.156 37 6183
+-116.03 37 6156
+-115.904 37 6096
+-115.778 37 6049
+-115.652 37 5945
+-115.526 37 5822
+-115.4 37 5756
+-115.274 37 5677
+-115.148 37 5597
+-115.022 37 5542
+-114.896 37 5440
+-114.77 37 5436
+-114.644 37 5318
+-114.518 37 5242
+-114.392 37 5144
+-114.266 37 4976
+-114.14 37 4969
+-114.014 37 4871
+-113.888 37 4744
+-113.762 37 4550
+-113.636 37 4423
+-113.51 37 4432
+-113.384 37 4347
+-113.258 37 4225
+-113.132 37 4090
+-113.006 37 3957
+-112.88 37 3913
+-112.754 37 3894
+-112.628 37 3862
+-112.502 37 3804
+-112.376 37 3719
+-112.25 37 3641
+-112.124 37 3594
+-111.998 37 3539
+-111.872 37 3515
+-111.746 37 3549
+-111.62 37 3571
+-111.494 37 3589
+-111.368 37 3598
+-111.242 37 3595
+-111.116 37 3573
+-110.99 37 3612
+-110.864 37 3640
+-110.738 37 3672
+-110.612 37 3679
+-110.486 37 3689
+-110.36 37 3697
+-110.234 37 3701
+-110.108 37 3711
+-109.982 37 3714
+-109.856 37 3702
+-109.73 37 3700
+-109.604 37 3692
+-109.478 37 3688
+-109.352 37 3677
+-109.226 37 3679
+-109.1 37 3673
+-108.974 37 3654
+-108.848 37 3618
+-108.722 37 3591
+-108.596 37 3535
+-108.47 37 3459
+-108.344 37 3386
+-108.218 37 3309
+-108.092 37 3268
+-107.966 37 3241
+-107.84 37 3221
+-107.714 37 3167
+-107.588 37 3086
+-107.462 37 3007
+-107.336 37 2966
+-107.21 37 2967
+-107.084 37 2975
+-106.958 37 2962
+-106.832 37 2950
+-106.706 37 2903
+-106.58 37 2837
+-106.454 37 2743
+-106.328 37 2651
+-106.202 37 2556
+-106.076 37 2475
+-105.95 37 2433
+-105.824 37 2435
+-105.698 37 2482
+-105.572 37 2547
+-105.446 37 2615
+-105.32 37 2645
+-105.194 37 2697
+-105.068 37 2742
+-104.942 37 2780
+-104.816 37 2814
+-104.69 37 2841
+-104.564 37 2848
+-104.438 37 2887
+-104.312 37 2903
+-104.186 37 2921
+-104.06 37 2937
+-103.934 37 2951
+-103.808 37 2963
+-103.682 37 2975
+-103.556 37 2985
+-103.43 37 2995
+-103.304 37 3003
+-103.178 37 3011
+-103.052 37 3006
+-102.926 37 3095
+-102.8 37 3088
+-102.674 37 3103
+-102.548 37 3111
+-102.422 37 3119
+-102.296 37 3126
+-102.17 37 3041
+-102.044 37 2906
+-101.918 37 2969
+-101.792 37 2925
+-101.666 37 2811
+-101.54 37 2753
+-101.414 37 2749
+-101.288 37 2747
+-101.162 37 2754
+-101.036 37 2791
+-100.91 37 2918
+-100.784 37 2968
+-100.658 37 3098
+-100.532 37 3097
+-100.406 37 3096
+-100.28 37 3096
+-100.154 37 3095
+-100.028 37 3094
+-99.902 37 3093
+-99.776 37 3093
+-99.65 37 3092
+-99.524 37 3091
+-99.398 37 3090
+-99.272 37 3137
+-99.146 37 3134
+-99.02 37 3131
+-98.894 37 3145
+-98.768 37 3143
+-98.642 37 3152
+-98.516 37 3177
+-98.39 37 3238
+-98.264 37 3235
+-98.138 37 3313
+-98.012 37 3305
+-97.886 37 3342
+-97.76 37 3336
+-97.634 37 3353
+-97.508 37 3343
+-97.382 37 3334
+-97.256 37 3366
+-97.13 37 3377
+-97.004 37 3382
+-96.878 37 3440
+-96.752 37 3459
+-96.626 37 3484
+-96.5 37 3529
+-96.374 37 3582
+-96.248 37 3645
+-96.122 37 3711
+-95.996 37 3751
+-95.87 37 3782
+-95.744 37 3802
+-95.618 37 3867
+-95.492 37 3888
+-95.366 37 3992
+-95.24 37 4094
+-95.114 37 4141
+-94.988 37 4256
+-94.862 37 4381
+-94.736 37 4424
+-94.61 37 4522
+-94.484 37 4643
+-94.358 37 4821
+-94.232 37 4958
+-94.106 37 5084
+-93.98 37 5216
+-93.854 37 5290
+-93.728 37 5414
+-93.602 37 5578
+-93.476 37 5670
+-93.35 37 5786
+-93.224 37 5918
+-93.098 37 5991
+-92.972 37 6100
+-92.846 37 6140
+-92.72 37 6302
+-92.594 37 6480
+-92.468 37 6555
+-92.342 37 6646
+-92.216 37 6750
+-92.09 37 6795
+-91.964 37 6892
+-91.838 37 7010
+-91.712 37 7092
+-91.586 37 7172
+-91.46 37 7229
+-91.334 37 7274
+-91.208 37 7333
+-91.082 37 7436
+-90.956 37 7436
+-90.83 37 7453
+-90.704 37 7481
+-90.578 37 7620
+-90.452 37 7849
+-90.326 37 7988
+-90.2 37 8039
+-90.074 37 8250
+-89.948 37 8359
+-89.822 37 8437
+-89.696 37 8557
+-89.57 37 8728
+-89.444 37 8766
+-89.318 37 8830
+-89.192 37 8953
+-89.066 37 9002
+-88.94 37 9023
+-88.814 37 9026
+-88.688 37 8996
+-88.562 37 8979
+-88.436 37 8899
+-88.31 37 8805
+-88.184 37 8743
+-88.058 37 8614
+-87.932 37 8526
+-87.806 37 8417
+-87.68 37 8326
+-87.554 37 8163
+-87.428 37 8016
+-87.302 37 7952
+-87.176 37 7822
+-87.05 37 7720
+-86.924 37 7580
+-86.798 37 7351
+-86.672 37 7307
+-86.546 37 7214
+-86.42 37 7044
+-86.294 37 6854
+-86.168 37 6748
+-86.042 37 6624
+-85.916 37 6476
+-85.79 37 6372
+-85.664 37 6235
+-85.538 37 6134
+-85.412 37 5937
+-85.286 37 5808
+-85.16 37 5743
+-85.034 37 5625
+-84.908 37 5493
+-84.782 37 5360
+-84.656 37 5252
+-84.53 37 5129
+-84.404 37 5002
+-84.278 37 4847
+-84.152 37 4725
+-84.026 37 4600
+-83.9 37 4499
+-83.774 37 4378
+-83.648 37 4295
+-83.522 37 4208
+-83.396 37 4107
+-83.27 37 4000
+-83.144 37 3900
+-83.018 37 3831
+-82.892 37 3791
+-82.766 37 3757
+-82.64 37 3730
+-82.514 37 3746
+-82.388 37 3714
+-82.262 37 3733
+-82.136 37 3723
+-82.01 37 3739
+-81.884 37 3712
+-81.758 37 3649
+-81.632 37 3658
+-81.506 37 3558
+-81.38 37 3475
+-81.254 37 3416
+-81.128 37 3414
+-81.002 37 3411
+-80.876 37 3409
+-80.75 37 3407
+-80.624 37 3406
+-80.498 37 3404
+-80.372 37 3350
+-80.246 37 3311
+-80.12 37 3310
+-79.994 37 3235
+-79.868 37 3232
+-79.742 37 3229
+-79.616 37 3227
+-79.49 37 3225
+-79.364 37 3223
+-79.238 37 3222
+-79.112 37 3220
+-78.986 37 3219
+-78.86 37 3218
+-78.734 37 3218
+-78.608 37 3217
+-78.482 37 3216
+-78.356 37 3216
+-78.23 37 3216
+-78.104 37 3105
+-77.978 37 3102
+-77.852 37 3099
+-77.726 37 3097
+-77.6 37 3094
+-77.474 37 3082
+-77.348 37 3080
+-77.222 37 3078
+-77.096 37 3076
+-76.97 37 3074
+-76.844 37 3072
+-76.718 37 2980
+-76.592 37 2979
+-76.466 37 2977
+-76.34 37 2975
+-76.214 37 2974
+-76.088 37 2973
+-75.962 37 2972
+-75.836 37 2970
+-75.71 37 2843
+-75.584 37 2842
+-75.458 37 2810
+-75.332 37 2761
+-75.206 37 2760
+-75.08 37 2759
+-74.954 37 2774
+-74.828 37 2774
+-74.702 37 2789
+-74.576 37 2803
+-74.45 37 2761
+-74.324 37 2710
+-74.198 37 2711
+-74.072 37 2711
+-73.946 37 2712
+-73.82 37 2730
+-73.694 37 2738
+-73.568 37 2749
+-73.442 37 2749
+-73.316 37 2782
+-73.19 37 2795
+-73.064 37 2797
+-72.938 37 2852
+-72.812 37 2875
+-72.686 37 2857
+-72.56 37 2850
+-72.434 37 2995
+-72.308 37 2998
+-72.182 37 3058
+-72.056 37 3061
+-71.93 37 3064
+-71.804 37 3068
+-71.678 37 3071
+-71.552 37 2993
+-71.426 37 3014
+-71.3 37 3017
+-71.174 37 3009
+-71.048 37 3305
+-70.922 37 3335
+-70.796 37 3337
+-70.67 37 3333
+-70.544 37 3335
+-70.418 37 3340
+-70.292 37 3357
+-70.166 37 3358
+-70.04 37 3347
+-69.914 37 3349
+-69.788 37 3302
+-69.662 37 3304
+-69.536 37 3305
+-69.41 37 3370
+-69.284 37 3366
+-69.158 37 3376
+-69.032 37 3378
+-68.906 37 3358
+-68.78 37 3380
+-68.654 37 3427
+-68.528 37 3439
+-68.402 37 3438
+-68.276 37 3437
+-68.15 37 3491
+-68.024 37 3493
+-67.898 37 3431
+-67.772 37 3456
+-67.646 37 3449
+-67.52 37 3370
+-67.394 37 3280
+-67.268 37 3303
+-67.142 37 3305
+-67.016 37 3339
+-66.89 37 3311
+-66.764 37 3324
+-66.638 37 3326
+-66.512 37 3305
+-66.386 37 3306
+-66.26 37 3307
+-66.134 37 3283
+-66.008 37 3264
+-65.882 37 3301
+-65.756 37 3295
+-65.63 37 3297
+-65.504 37 3298
+-65.378 37 3216
+-65.252 37 3258
+-65.126 37 3254
+-128 36.948 2830
+-127.874 36.948 2826
+-127.748 36.948 2823
+-127.622 36.948 2819
+-127.496 36.948 2823
+-127.37 36.948 2820
+-127.244 36.948 2816
+-127.118 36.948 2833
+-126.992 36.948 2830
+-126.866 36.948 2827
+-126.74 36.948 2801
+-126.614 36.948 2888
+-126.488 36.948 2902
+-126.362 36.948 2967
+-126.236 36.948 2964
+-126.11 36.948 2968
+-125.984 36.948 2986
+-125.858 36.948 3183
+-125.732 36.948 3192
+-125.606 36.948 3247
+-125.48 36.948 3260
+-125.354 36.948 3260
+-125.228 36.948 3260
+-125.102 36.948 3316
+-124.976 36.948 3317
+-124.85 36.948 3318
+-124.724 36.948 3318
+-124.598 36.948 3289
+-124.472 36.948 3364
+-124.346 36.948 3373
+-124.22 36.948 3359
+-124.094 36.948 3364
+-123.968 36.948 3354
+-123.842 36.948 3308
+-123.716 36.948 3278
+-123.59 36.948 3157
+-123.464 36.948 2998
+-123.338 36.948 2803
+-123.212 36.948 2611
+-123.086 36.948 2520
+-122.96 36.948 2647
+-122.834 36.948 2978
+-122.708 36.948 3363
+-122.582 36.948 3668
+-122.456 36.948 3863
+-122.33 36.948 3987
+-122.204 36.948 4067
+-122.078 36.948 4133
+-121.952 36.948 4167
+-121.826 36.948 4263
+-121.7 36.948 4295
+-121.574 36.948 4321
+-121.448 36.948 4398
+-121.322 36.948 4446
+-121.196 36.948 4509
+-121.07 36.948 4629
+-120.944 36.948 4713
+-120.818 36.948 4785
+-120.692 36.948 4754
+-120.566 36.948 4911
+-120.44 36.948 5047
+-120.314 36.948 5152
+-120.188 36.948 5233
+-120.062 36.948 5333
+-119.936 36.948 5413
+-119.81 36.948 5414
+-119.684 36.948 5582
+-119.558 36.948 5681
+-119.432 36.948 5746
+-119.306 36.948 5829
+-119.18 36.948 5876
+-119.054 36.948 5942
+-118.928 36.948 6036
+-118.802 36.948 6114
+-118.676 36.948 6150
+-118.55 36.948 6217
+-118.424 36.948 6253
+-118.298 36.948 6308
+-118.172 36.948 6360
+-118.046 36.948 6411
+-117.92 36.948 6407
+-117.794 36.948 6437
+-117.668 36.948 6444
+-117.542 36.948 6483
+-117.416 36.948 6492
+-117.29 36.948 6486
+-117.164 36.948 6469
+-117.038 36.948 6483
+-116.912 36.948 6497
+-116.786 36.948 6464
+-116.66 36.948 6424
+-116.534 36.948 6382
+-116.408 36.948 6342
+-116.282 36.948 6257
+-116.156 36.948 6221
+-116.03 36.948 6186
+-115.904 36.948 6161
+-115.778 36.948 6106
+-115.652 36.948 6037
+-115.526 36.948 5879
+-115.4 36.948 5870
+-115.274 36.948 5737
+-115.148 36.948 5661
+-115.022 36.948 5633
+-114.896 36.948 5517
+-114.77 36.948 5478
+-114.644 36.948 5378
+-114.518 36.948 5279
+-114.392 36.948 5169
+-114.266 36.948 5035
+-114.14 36.948 5003
+-114.014 36.948 4930
+-113.888 36.948 4817
+-113.762 36.948 4616
+-113.636 36.948 4491
+-113.51 36.948 4457
+-113.384 36.948 4372
+-113.258 36.948 4249
+-113.132 36.948 4082
+-113.006 36.948 3958
+-112.88 36.948 3847
+-112.754 36.948 3910
+-112.628 36.948 3909
+-112.502 36.948 3857
+-112.376 36.948 3765
+-112.25 36.948 3677
+-112.124 36.948 3613
+-111.998 36.948 3537
+-111.872 36.948 3474
+-111.746 36.948 3537
+-111.62 36.948 3608
+-111.494 36.948 3625
+-111.368 36.948 3636
+-111.242 36.948 3631
+-111.116 36.948 3621
+-110.99 36.948 3637
+-110.864 36.948 3676
+-110.738 36.948 3686
+-110.612 36.948 3706
+-110.486 36.948 3732
+-110.36 36.948 3737
+-110.234 36.948 3750
+-110.108 36.948 3757
+-109.982 36.948 3755
+-109.856 36.948 3746
+-109.73 36.948 3729
+-109.604 36.948 3712
+-109.478 36.948 3698
+-109.352 36.948 3706
+-109.226 36.948 3718
+-109.1 36.948 3711
+-108.974 36.948 3698
+-108.848 36.948 3649
+-108.722 36.948 3601
+-108.596 36.948 3564
+-108.47 36.948 3475
+-108.344 36.948 3362
+-108.218 36.948 3263
+-108.092 36.948 3220
+-107.966 36.948 3220
+-107.84 36.948 3214
+-107.714 36.948 3153
+-107.588 36.948 3043
+-107.462 36.948 2930
+-107.336 36.948 2879
+-107.21 36.948 2901
+-107.084 36.948 2946
+-106.958 36.948 2965
+-106.832 36.948 2956
+-106.706 36.948 2903
+-106.58 36.948 2823
+-106.454 36.948 2725
+-106.328 36.948 2608
+-106.202 36.948 2474
+-106.076 36.948 2335
+-105.95 36.948 2279
+-105.824 36.948 2305
+-105.698 36.948 2384
+-105.572 36.948 2481
+-105.446 36.948 2546
+-105.32 36.948 2620
+-105.194 36.948 2682
+-105.068 36.948 2732
+-104.942 36.948 2775
+-104.816 36.948 2810
+-104.69 36.948 2824
+-104.564 36.948 2865
+-104.438 36.948 2886
+-104.312 36.948 2907
+-104.186 36.948 2924
+-104.06 36.948 2940
+-103.934 36.948 2954
+-103.808 36.948 2967
+-103.682 36.948 2979
+-103.556 36.948 2989
+-103.43 36.948 2998
+-103.304 36.948 3007
+-103.178 36.948 3003
+-103.052 36.948 3089
+-102.926 36.948 3082
+-102.8 36.948 3097
+-102.674 36.948 3106
+-102.548 36.948 3114
+-102.422 36.948 3122
+-102.296 36.948 3129
+-102.17 36.948 3043
+-102.044 36.948 3057
+-101.918 36.948 2973
+-101.792 36.948 2929
+-101.666 36.948 2794
+-101.54 36.948 2753
+-101.414 36.948 2748
+-101.288 36.948 2746
+-101.162 36.948 2751
+-101.036 36.948 2786
+-100.91 36.948 2911
+-100.784 36.948 2960
+-100.658 36.948 3061
+-100.532 36.948 3090
+-100.406 36.948 3089
+-100.28 36.948 3088
+-100.154 36.948 3087
+-100.028 36.948 3086
+-99.902 36.948 3085
+-99.776 36.948 3083
+-99.65 36.948 3082
+-99.524 36.948 3081
+-99.398 36.948 3127
+-99.272 36.948 3124
+-99.146 36.948 3121
+-99.02 36.948 3134
+-98.894 36.948 3132
+-98.768 36.948 3141
+-98.642 36.948 3165
+-98.516 36.948 3227
+-98.39 36.948 3223
+-98.264 36.948 3218
+-98.138 36.948 3214
+-98.012 36.948 3261
+-97.886 36.948 3279
+-97.76 36.948 3268
+-97.634 36.948 3327
+-97.508 36.948 3313
+-97.382 36.948 3339
+-97.256 36.948 3343
+-97.13 36.948 3340
+-97.004 36.948 3394
+-96.878 36.948 3408
+-96.752 36.948 3433
+-96.626 36.948 3467
+-96.5 36.948 3518
+-96.374 36.948 3608
+-96.248 36.948 3680
+-96.122 36.948 3724
+-95.996 36.948 3761
+-95.87 36.948 3783
+-95.744 36.948 3807
+-95.618 36.948 3785
+-95.492 36.948 3758
+-95.366 36.948 3903
+-95.24 36.948 4050
+-95.114 36.948 4061
+-94.988 36.948 4215
+-94.862 36.948 4347
+-94.736 36.948 4439
+-94.61 36.948 4480
+-94.484 36.948 4597
+-94.358 36.948 4792
+-94.232 36.948 4919
+-94.106 36.948 5044
+-93.98 36.948 5192
+-93.854 36.948 5266
+-93.728 36.948 5367
+-93.602 36.948 5519
+-93.476 36.948 5669
+-93.35 36.948 5773
+-93.224 36.948 5877
+-93.098 36.948 5954
+-92.972 36.948 6036
+-92.846 36.948 6103
+-92.72 36.948 6286
+-92.594 36.948 6362
+-92.468 36.948 6527
+-92.342 36.948 6625
+-92.216 36.948 6731
+-92.09 36.948 6800
+-91.964 36.948 6835
+-91.838 36.948 6937
+-91.712 36.948 7051
+-91.586 36.948 7091
+-91.46 36.948 7130
+-91.334 36.948 7233
+-91.208 36.948 7302
+-91.082 36.948 7342
+-90.956 36.948 7370
+-90.83 36.948 7397
+-90.704 36.948 7443
+-90.578 36.948 7448
+-90.452 36.948 7767
+-90.326 36.948 7943
+-90.2 36.948 8082
+-90.074 36.948 8170
+-89.948 36.948 8345
+-89.822 36.948 8426
+-89.696 36.948 8517
+-89.57 36.948 8625
+-89.444 36.948 8706
+-89.318 36.948 8825
+-89.192 36.948 8866
+-89.066 36.948 8937
+-88.94 36.948 8977
+-88.814 36.948 8963
+-88.688 36.948 8964
+-88.562 36.948 8904
+-88.436 36.948 8873
+-88.31 36.948 8761
+-88.184 36.948 8702
+-88.058 36.948 8585
+-87.932 36.948 8472
+-87.806 36.948 8395
+-87.68 36.948 8311
+-87.554 36.948 8168
+-87.428 36.948 7989
+-87.302 36.948 7869
+-87.176 36.948 7819
+-87.05 36.948 7655
+-86.924 36.948 7548
+-86.798 36.948 7396
+-86.672 36.948 7307
+-86.546 36.948 7215
+-86.42 36.948 7026
+-86.294 36.948 6849
+-86.168 36.948 6692
+-86.042 36.948 6528
+-85.916 36.948 6476
+-85.79 36.948 6348
+-85.664 36.948 6229
+-85.538 36.948 6091
+-85.412 36.948 5954
+-85.286 36.948 5847
+-85.16 36.948 5718
+-85.034 36.948 5580
+-84.908 36.948 5416
+-84.782 36.948 5286
+-84.656 36.948 5146
+-84.53 36.948 5097
+-84.404 36.948 5023
+-84.278 36.948 4945
+-84.152 36.948 4805
+-84.026 36.948 4651
+-83.9 36.948 4540
+-83.774 36.948 4396
+-83.648 36.948 4322
+-83.522 36.948 4229
+-83.396 36.948 4139
+-83.27 36.948 4032
+-83.144 36.948 3946
+-83.018 36.948 3875
+-82.892 36.948 3826
+-82.766 36.948 3796
+-82.64 36.948 3740
+-82.514 36.948 3717
+-82.388 36.948 3687
+-82.262 36.948 3681
+-82.136 36.948 3702
+-82.01 36.948 3705
+-81.884 36.948 3663
+-81.758 36.948 3596
+-81.632 36.948 3528
+-81.506 36.948 3529
+-81.38 36.948 3511
+-81.254 36.948 3437
+-81.128 36.948 3406
+-81.002 36.948 3404
+-80.876 36.948 3402
+-80.75 36.948 3401
+-80.624 36.948 3360
+-80.498 36.948 3344
+-80.372 36.948 3342
+-80.246 36.948 3250
+-80.12 36.948 3227
+-79.994 36.948 3224
+-79.868 36.948 3222
+-79.742 36.948 3219
+-79.616 36.948 3217
+-79.49 36.948 3216
+-79.364 36.948 3214
+-79.238 36.948 3213
+-79.112 36.948 3212
+-78.986 36.948 3211
+-78.86 36.948 3211
+-78.734 36.948 3210
+-78.608 36.948 3210
+-78.482 36.948 3209
+-78.356 36.948 3209
+-78.23 36.948 3099
+-78.104 36.948 3096
+-77.978 36.948 3093
+-77.852 36.948 3091
+-77.726 36.948 3089
+-77.6 36.948 3086
+-77.474 36.948 3084
+-77.348 36.948 3082
+-77.222 36.948 3080
+-77.096 36.948 3078
+-76.97 36.948 3077
+-76.844 36.948 2974
+-76.718 36.948 2973
+-76.592 36.948 2971
+-76.466 36.948 2970
+-76.34 36.948 2968
+-76.214 36.948 2967
+-76.088 36.948 2966
+-75.962 36.948 2965
+-75.836 36.948 2837
+-75.71 36.948 2836
+-75.584 36.948 2803
+-75.458 36.948 2755
+-75.332 36.948 2754
+-75.206 36.948 2754
+-75.08 36.948 2767
+-74.954 36.948 2768
+-74.828 36.948 2784
+-74.702 36.948 2798
+-74.576 36.948 2756
+-74.45 36.948 2706
+-74.324 36.948 2706
+-74.198 36.948 2707
+-74.072 36.948 2707
+-73.946 36.948 2726
+-73.82 36.948 2734
+-73.694 36.948 2745
+-73.568 36.948 2745
+-73.442 36.948 2778
+-73.316 36.948 2792
+-73.19 36.948 2794
+-73.064 36.948 2849
+-72.938 36.948 2872
+-72.812 36.948 2854
+-72.686 36.948 2847
+-72.56 36.948 2991
+-72.434 36.948 2995
+-72.308 36.948 3054
+-72.182 36.948 3058
+-72.056 36.948 3061
+-71.93 36.948 3064
+-71.804 36.948 3068
+-71.678 36.948 2990
+-71.552 36.948 3012
+-71.426 36.948 3015
+-71.3 36.948 3007
+-71.174 36.948 3302
+-71.048 36.948 3333
+-70.922 36.948 3334
+-70.796 36.948 3331
+-70.67 36.948 3333
+-70.544 36.948 3338
+-70.418 36.948 3354
+-70.292 36.948 3356
+-70.166 36.948 3345
+-70.04 36.948 3347
+-69.914 36.948 3300
+-69.788 36.948 3302
+-69.662 36.948 3303
+-69.536 36.948 3368
+-69.41 36.948 3364
+-69.284 36.948 3374
+-69.158 36.948 3376
+-69.032 36.948 3356
+-68.906 36.948 3378
+-68.78 36.948 3425
+-68.654 36.948 3437
+-68.528 36.948 3436
+-68.402 36.948 3435
+-68.276 36.948 3489
+-68.15 36.948 3491
+-68.024 36.948 3430
+-67.898 36.948 3454
+-67.772 36.948 3448
+-67.646 36.948 3365
+-67.52 36.948 3278
+-67.394 36.948 3302
+-67.268 36.948 3304
+-67.142 36.948 3338
+-67.016 36.948 3310
+-66.89 36.948 3323
+-66.764 36.948 3324
+-66.638 36.948 3303
+-66.512 36.948 3305
+-66.386 36.948 3306
+-66.26 36.948 3281
+-66.134 36.948 3263
+-66.008 36.948 3300
+-65.882 36.948 3294
+-65.756 36.948 3296
+-65.63 36.948 3297
+-65.504 36.948 3215
+-65.378 36.948 3257
+-65.252 36.948 3253
+-65.126 36.948 3254
+-128 36.896 2832
+-127.874 36.896 2828
+-127.748 36.896 2824
+-127.622 36.896 2820
+-127.496 36.896 2816
+-127.37 36.896 2820
+-127.244 36.896 2815
+-127.118 36.896 2811
+-126.992 36.896 2829
+-126.866 36.896 2899
+-126.74 36.896 2866
+-126.614 36.896 2862
+-126.488 36.896 2880
+-126.362 36.896 2893
+-126.236 36.896 3032
+-126.11 36.896 3028
+-125.984 36.896 3027
+-125.858 36.896 3164
+-125.732 36.896 3164
+-125.606 36.896 3228
+-125.48 36.896 3227
+-125.354 36.896 3240
+-125.228 36.896 3241
+-125.102 36.896 3243
+-124.976 36.896 3297
+-124.85 36.896 3299
+-124.724 36.896 3301
+-124.598 36.896 3301
+-124.472 36.896 3358
+-124.346 36.896 3353
+-124.22 36.896 3350
+-124.094 36.896 3331
+-123.968 36.896 3355
+-123.842 36.896 3306
+-123.716 36.896 3244
+-123.59 36.896 3185
+-123.464 36.896 3039
+-123.338 36.896 2864
+-123.212 36.896 2701
+-123.086 36.896 2627
+-122.96 36.896 2764
+-122.834 36.896 3060
+-122.708 36.896 3390
+-122.582 36.896 3690
+-122.456 36.896 3895
+-122.33 36.896 4033
+-122.204 36.896 4119
+-122.078 36.896 4181
+-121.952 36.896 4229
+-121.826 36.896 4278
+-121.7 36.896 4348
+-121.574 36.896 4358
+-121.448 36.896 4394
+-121.322 36.896 4466
+-121.196 36.896 4557
+-121.07 36.896 4683
+-120.944 36.896 4774
+-120.818 36.896 4831
+-120.692 36.896 4863
+-120.566 36.896 4857
+-120.44 36.896 5047
+-120.314 36.896 5169
+-120.188 36.896 5285
+-120.062 36.896 5266
+-119.936 36.896 5413
+-119.81 36.896 5520
+-119.684 36.896 5574
+-119.558 36.896 5681
+-119.432 36.896 5785
+-119.306 36.896 5866
+-119.18 36.896 5939
+-119.054 36.896 6019
+-118.928 36.896 6101
+-118.802 36.896 6176
+-118.676 36.896 6213
+-118.55 36.896 6285
+-118.424 36.896 6304
+-118.298 36.896 6349
+-118.172 36.896 6402
+-118.046 36.896 6455
+-117.92 36.896 6474
+-117.794 36.896 6480
+-117.668 36.896 6528
+-117.542 36.896 6569
+-117.416 36.896 6539
+-117.29 36.896 6564
+-117.164 36.896 6562
+-117.038 36.896 6540
+-116.912 36.896 6515
+-116.786 36.896 6465
+-116.66 36.896 6484
+-116.534 36.896 6438
+-116.408 36.896 6411
+-116.282 36.896 6332
+-116.156 36.896 6277
+-116.03 36.896 6235
+-115.904 36.896 6152
+-115.778 36.896 6159
+-115.652 36.896 6080
+-115.526 36.896 5955
+-115.4 36.896 5845
+-115.274 36.896 5756
+-115.148 36.896 5698
+-115.022 36.896 5645
+-114.896 36.896 5588
+-114.77 36.896 5468
+-114.644 36.896 5370
+-114.518 36.896 5344
+-114.392 36.896 5164
+-114.266 36.896 5002
+-114.14 36.896 5016
+-114.014 36.896 4945
+-113.888 36.896 4876
+-113.762 36.896 4728
+-113.636 36.896 4614
+-113.51 36.896 4491
+-113.384 36.896 4385
+-113.258 36.896 4257
+-113.132 36.896 4070
+-113.006 36.896 3967
+-112.88 36.896 3950
+-112.754 36.896 3953
+-112.628 36.896 3932
+-112.502 36.896 3878
+-112.376 36.896 3797
+-112.25 36.896 3685
+-112.124 36.896 3612
+-111.998 36.896 3561
+-111.872 36.896 3546
+-111.746 36.896 3590
+-111.62 36.896 3647
+-111.494 36.896 3693
+-111.368 36.896 3704
+-111.242 36.896 3700
+-111.116 36.896 3699
+-110.99 36.896 3707
+-110.864 36.896 3717
+-110.738 36.896 3728
+-110.612 36.896 3766
+-110.486 36.896 3779
+-110.36 36.896 3780
+-110.234 36.896 3782
+-110.108 36.896 3781
+-109.982 36.896 3771
+-109.856 36.896 3763
+-109.73 36.896 3745
+-109.604 36.896 3714
+-109.478 36.896 3687
+-109.352 36.896 3709
+-109.226 36.896 3730
+-109.1 36.896 3731
+-108.974 36.896 3723
+-108.848 36.896 3693
+-108.722 36.896 3646
+-108.596 36.896 3577
+-108.47 36.896 3484
+-108.344 36.896 3363
+-108.218 36.896 3239
+-108.092 36.896 3188
+-107.966 36.896 3210
+-107.84 36.896 3218
+-107.714 36.896 3157
+-107.588 36.896 3032
+-107.462 36.896 2892
+-107.336 36.896 2833
+-107.21 36.896 2874
+-107.084 36.896 2937
+-106.958 36.896 2971
+-106.832 36.896 2947
+-106.706 36.896 2882
+-106.58 36.896 2794
+-106.454 36.896 2687
+-106.328 36.896 2556
+-106.202 36.896 2384
+-106.076 36.896 2211
+-105.95 36.896 2131
+-105.824 36.896 2182
+-105.698 36.896 2305
+-105.572 36.896 2434
+-105.446 36.896 2545
+-105.32 36.896 2636
+-105.194 36.896 2675
+-105.068 36.896 2730
+-104.942 36.896 2775
+-104.816 36.896 2838
+-104.69 36.896 2842
+-104.564 36.896 2867
+-104.438 36.896 2891
+-104.312 36.896 2911
+-104.186 36.896 2929
+-104.06 36.896 2945
+-103.934 36.896 2959
+-103.808 36.896 2972
+-103.682 36.896 2983
+-103.556 36.896 2993
+-103.43 36.896 3002
+-103.304 36.896 2999
+-103.178 36.896 3082
+-103.052 36.896 3077
+-102.926 36.896 3091
+-102.8 36.896 3100
+-102.674 36.896 3109
+-102.548 36.896 3117
+-102.422 36.896 3125
+-102.296 36.896 3133
+-102.17 36.896 3046
+-102.044 36.896 3061
+-101.918 36.896 2953
+-101.792 36.896 2913
+-101.666 36.896 2880
+-101.54 36.896 2812
+-101.414 36.896 2755
+-101.288 36.896 2745
+-101.162 36.896 2747
+-101.036 36.896 2781
+-100.91 36.896 2904
+-100.784 36.896 2952
+-100.658 36.896 3054
+-100.532 36.896 3083
+-100.406 36.896 3082
+-100.28 36.896 3080
+-100.154 36.896 3079
+-100.028 36.896 3077
+-99.902 36.896 3076
+-99.776 36.896 3074
+-99.65 36.896 3072
+-99.524 36.896 3117
+-99.398 36.896 3114
+-99.272 36.896 3112
+-99.146 36.896 3125
+-99.02 36.896 3121
+-98.894 36.896 3131
+-98.768 36.896 3155
+-98.642 36.896 3184
+-98.516 36.896 3180
+-98.39 36.896 3176
+-98.264 36.896 3171
+-98.138 36.896 3165
+-98.012 36.896 3186
+-97.886 36.896 3257
+-97.76 36.896 3242
+-97.634 36.896 3227
+-97.508 36.896 3275
+-97.382 36.896 3297
+-97.256 36.896 3282
+-97.13 36.896 3333
+-97.004 36.896 3333
+-96.878 36.896 3346
+-96.752 36.896 3375
+-96.626 36.896 3429
+-96.5 36.896 3506
+-96.374 36.896 3614
+-96.248 36.896 3673
+-96.122 36.896 3725
+-95.996 36.896 3763
+-95.87 36.896 3785
+-95.744 36.896 3811
+-95.618 36.896 3713
+-95.492 36.896 3584
+-95.366 36.896 3777
+-95.24 36.896 3976
+-95.114 36.896 4117
+-94.988 36.896 4256
+-94.862 36.896 4314
+-94.736 36.896 4422
+-94.61 36.896 4524
+-94.484 36.896 4567
+-94.358 36.896 4719
+-94.232 36.896 4892
+-94.106 36.896 5028
+-93.98 36.896 5148
+-93.854 36.896 5258
+-93.728 36.896 5355
+-93.602 36.896 5500
+-93.476 36.896 5655
+-93.35 36.896 5780
+-93.224 36.896 5772
+-93.098 36.896 5887
+-92.972 36.896 5997
+-92.846 36.896 6081
+-92.72 36.896 6222
+-92.594 36.896 6374
+-92.468 36.896 6487
+-92.342 36.896 6587
+-92.216 36.896 6643
+-92.09 36.896 6732
+-91.964 36.896 6810
+-91.838 36.896 6884
+-91.712 36.896 6981
+-91.586 36.896 7023
+-91.46 36.896 7098
+-91.334 36.896 7180
+-91.208 36.896 7241
+-91.082 36.896 7287
+-90.956 36.896 7321
+-90.83 36.896 7365
+-90.704 36.896 7412
+-90.578 36.896 7578
+-90.452 36.896 7821
+-90.326 36.896 7938
+-90.2 36.896 8088
+-90.074 36.896 8100
+-89.948 36.896 8308
+-89.822 36.896 8388
+-89.696 36.896 8530
+-89.57 36.896 8604
+-89.444 36.896 8678
+-89.318 36.896 8766
+-89.192 36.896 8825
+-89.066 36.896 8862
+-88.94 36.896 8902
+-88.814 36.896 8895
+-88.688 36.896 8916
+-88.562 36.896 8878
+-88.436 36.896 8786
+-88.31 36.896 8734
+-88.184 36.896 8696
+-88.058 36.896 8595
+-87.932 36.896 8497
+-87.806 36.896 8421
+-87.68 36.896 8209
+-87.554 36.896 8137
+-87.428 36.896 7972
+-87.302 36.896 7873
+-87.176 36.896 7764
+-87.05 36.896 7629
+-86.924 36.896 7504
+-86.798 36.896 7437
+-86.672 36.896 7300
+-86.546 36.896 7132
+-86.42 36.896 7004
+-86.294 36.896 6789
+-86.168 36.896 6678
+-86.042 36.896 6584
+-85.916 36.896 6446
+-85.79 36.896 6302
+-85.664 36.896 6185
+-85.538 36.896 5989
+-85.412 36.896 5960
+-85.286 36.896 5846
+-85.16 36.896 5660
+-85.034 36.896 5481
+-84.908 36.896 5360
+-84.782 36.896 5244
+-84.656 36.896 5031
+-84.53 36.896 5065
+-84.404 36.896 5004
+-84.278 36.896 4962
+-84.152 36.896 4865
+-84.026 36.896 4719
+-83.9 36.896 4601
+-83.774 36.896 4431
+-83.648 36.896 4337
+-83.522 36.896 4256
+-83.396 36.896 4149
+-83.27 36.896 4056
+-83.144 36.896 3961
+-83.018 36.896 3868
+-82.892 36.896 3768
+-82.766 36.896 3684
+-82.64 36.896 3670
+-82.514 36.896 3662
+-82.388 36.896 3655
+-82.262 36.896 3643
+-82.136 36.896 3658
+-82.01 36.896 3628
+-81.884 36.896 3620
+-81.758 36.896 3546
+-81.632 36.896 3553
+-81.506 36.896 3557
+-81.38 36.896 3515
+-81.254 36.896 3472
+-81.128 36.896 3425
+-81.002 36.896 3395
+-80.876 36.896 3394
+-80.75 36.896 3354
+-80.624 36.896 3336
+-80.498 36.896 3334
+-80.372 36.896 3242
+-80.246 36.896 3218
+-80.12 36.896 3215
+-79.994 36.896 3213
+-79.868 36.896 3211
+-79.742 36.896 3209
+-79.616 36.896 3207
+-79.49 36.896 3206
+-79.364 36.896 3205
+-79.238 36.896 3204
+-79.112 36.896 3203
+-78.986 36.896 3203
+-78.86 36.896 3202
+-78.734 36.896 3202
+-78.608 36.896 3202
+-78.482 36.896 3202
+-78.356 36.896 3093
+-78.23 36.896 3090
+-78.104 36.896 3087
+-77.978 36.896 3085
+-77.852 36.896 3082
+-77.726 36.896 3080
+-77.6 36.896 3078
+-77.474 36.896 3076
+-77.348 36.896 3074
+-77.222 36.896 3072
+-77.096 36.896 3071
+-76.97 36.896 2968
+-76.844 36.896 2966
+-76.718 36.896 2965
+-76.592 36.896 2963
+-76.466 36.896 2962
+-76.34 36.896 2961
+-76.214 36.896 2960
+-76.088 36.896 2959
+-75.962 36.896 2958
+-75.836 36.896 2920
+-75.71 36.896 2796
+-75.584 36.896 2749
+-75.458 36.896 2748
+-75.332 36.896 2748
+-75.206 36.896 2761
+-75.08 36.896 2762
+-74.954 36.896 2779
+-74.828 36.896 2793
+-74.702 36.896 2751
+-74.576 36.896 2701
+-74.45 36.896 2702
+-74.324 36.896 2702
+-74.198 36.896 2703
+-74.072 36.896 2722
+-73.946 36.896 2730
+-73.82 36.896 2741
+-73.694 36.896 2742
+-73.568 36.896 2775
+-73.442 36.896 2789
+-73.316 36.896 2791
+-73.19 36.896 2846
+-73.064 36.896 2869
+-72.938 36.896 2851
+-72.812 36.896 2844
+-72.686 36.896 2988
+-72.56 36.896 2992
+-72.434 36.896 3051
+-72.308 36.896 3054
+-72.182 36.896 3058
+-72.056 36.896 3061
+-71.93 36.896 3065
+-71.804 36.896 2988
+-71.678 36.896 3009
+-71.552 36.896 3012
+-71.426 36.896 3004
+-71.3 36.896 3300
+-71.174 36.896 3330
+-71.048 36.896 3332
+-70.922 36.896 3328
+-70.796 36.896 3330
+-70.67 36.896 3335
+-70.544 36.896 3352
+-70.418 36.896 3354
+-70.292 36.896 3343
+-70.166 36.896 3344
+-70.04 36.896 3298
+-69.914 36.896 3300
+-69.788 36.896 3302
+-69.662 36.896 3366
+-69.536 36.896 3362
+-69.41 36.896 3372
+-69.284 36.896 3374
+-69.158 36.896 3354
+-69.032 36.896 3376
+-68.906 36.896 3423
+-68.78 36.896 3435
+-68.654 36.896 3434
+-68.528 36.896 3434
+-68.402 36.896 3487
+-68.276 36.896 3489
+-68.15 36.896 3428
+-68.024 36.896 3452
+-67.898 36.896 3446
+-67.772 36.896 3367
+-67.646 36.896 3277
+-67.52 36.896 3301
+-67.394 36.896 3302
+-67.268 36.896 3336
+-67.142 36.896 3309
+-67.016 36.896 3322
+-66.89 36.896 3323
+-66.764 36.896 3302
+-66.638 36.896 3304
+-66.512 36.896 3305
+-66.386 36.896 3280
+-66.26 36.896 3262
+-66.134 36.896 3299
+-66.008 36.896 3293
+-65.882 36.896 3295
+-65.756 36.896 3296
+-65.63 36.896 3214
+-65.504 36.896 3256
+-65.378 36.896 3252
+-65.252 36.896 3253
+-65.126 36.896 3255
+-128 36.844 2833
+-127.874 36.844 2829
+-127.748 36.844 2825
+-127.622 36.844 2820
+-127.496 36.844 2816
+-127.37 36.844 2811
+-127.244 36.844 2815
+-127.118 36.844 2831
+-126.992 36.844 2900
+-126.866 36.844 2895
+-126.74 36.844 2890
+-126.614 36.844 2857
+-126.488 36.844 2928
+-126.362 36.844 2937
+-126.236 36.844 3010
+-126.11 36.844 3084
+-125.984 36.844 3083
+-125.858 36.844 3079
+-125.732 36.844 3142
+-125.606 36.844 3142
+-125.48 36.844 3205
+-125.354 36.844 3205
+-125.228 36.844 3219
+-125.102 36.844 3221
+-124.976 36.844 3224
+-124.85 36.844 3278
+-124.724 36.844 3281
+-124.598 36.844 3284
+-124.472 36.844 3286
+-124.346 36.844 3341
+-124.22 36.844 3335
+-124.094 36.844 3330
+-123.968 36.844 3308
+-123.842 36.844 3325
+-123.716 36.844 3270
+-123.59 36.844 3200
+-123.464 36.844 3153
+-123.338 36.844 3023
+-123.212 36.844 2912
+-123.086 36.844 2882
+-122.96 36.844 2984
+-122.834 36.844 3255
+-122.708 36.844 3498
+-122.582 36.844 3725
+-122.456 36.844 3930
+-122.33 36.844 4059
+-122.204 36.844 4144
+-122.078 36.844 4206
+-121.952 36.844 4258
+-121.826 36.844 4307
+-121.7 36.844 4363
+-121.574 36.844 4338
+-121.448 36.844 4316
+-121.322 36.844 4408
+-121.196 36.844 4581
+-121.07 36.844 4725
+-120.944 36.844 4798
+-120.818 36.844 4861
+-120.692 36.844 4908
+-120.566 36.844 4962
+-120.44 36.844 5077
+-120.314 36.844 5213
+-120.188 36.844 5292
+-120.062 36.844 5378
+-119.936 36.844 5471
+-119.81 36.844 5558
+-119.684 36.844 5619
+-119.558 36.844 5758
+-119.432 36.844 5823
+-119.306 36.844 5915
+-119.18 36.844 5990
+-119.054 36.844 6074
+-118.928 36.844 6089
+-118.802 36.844 6204
+-118.676 36.844 6271
+-118.55 36.844 6305
+-118.424 36.844 6390
+-118.298 36.844 6396
+-118.172 36.844 6448
+-118.046 36.844 6487
+-117.92 36.844 6507
+-117.794 36.844 6553
+-117.668 36.844 6596
+-117.542 36.844 6614
+-117.416 36.844 6633
+-117.29 36.844 6619
+-117.164 36.844 6619
+-117.038 36.844 6613
+-116.912 36.844 6581
+-116.786 36.844 6559
+-116.66 36.844 6537
+-116.534 36.844 6459
+-116.408 36.844 6450
+-116.282 36.844 6390
+-116.156 36.844 6315
+-116.03 36.844 6248
+-115.904 36.844 6235
+-115.778 36.844 6211
+-115.652 36.844 6103
+-115.526 36.844 5992
+-115.4 36.844 5942
+-115.274 36.844 5812
+-115.148 36.844 5819
+-115.022 36.844 5645
+-114.896 36.844 5616
+-114.77 36.844 5528
+-114.644 36.844 5445
+-114.518 36.844 5383
+-114.392 36.844 5222
+-114.266 36.844 5104
+-114.14 36.844 5057
+-114.014 36.844 4960
+-113.888 36.844 4880
+-113.762 36.844 4788
+-113.636 36.844 4682
+-113.51 36.844 4551
+-113.384 36.844 4402
+-113.258 36.844 4271
+-113.132 36.844 4170
+-113.006 36.844 4053
+-112.88 36.844 4022
+-112.754 36.844 4002
+-112.628 36.844 3941
+-112.502 36.844 3893
+-112.376 36.844 3798
+-112.25 36.844 3698
+-112.124 36.844 3595
+-111.998 36.844 3526
+-111.872 36.844 3584
+-111.746 36.844 3653
+-111.62 36.844 3699
+-111.494 36.844 3736
+-111.368 36.844 3751
+-111.242 36.844 3759
+-111.116 36.844 3769
+-110.99 36.844 3778
+-110.864 36.844 3770
+-110.738 36.844 3787
+-110.612 36.844 3816
+-110.486 36.844 3805
+-110.36 36.844 3807
+-110.234 36.844 3809
+-110.108 36.844 3806
+-109.982 36.844 3794
+-109.856 36.844 3765
+-109.73 36.844 3746
+-109.604 36.844 3740
+-109.478 36.844 3720
+-109.352 36.844 3734
+-109.226 36.844 3762
+-109.1 36.844 3755
+-108.974 36.844 3741
+-108.848 36.844 3717
+-108.722 36.844 3670
+-108.596 36.844 3610
+-108.47 36.844 3524
+-108.344 36.844 3426
+-108.218 36.844 3288
+-108.092 36.844 3232
+-107.966 36.844 3250
+-107.84 36.844 3240
+-107.714 36.844 3188
+-107.588 36.844 3074
+-107.462 36.844 2943
+-107.336 36.844 2886
+-107.21 36.844 2915
+-107.084 36.844 2970
+-106.958 36.844 2982
+-106.832 36.844 2942
+-106.706 36.844 2866
+-106.58 36.844 2766
+-106.454 36.844 2658
+-106.328 36.844 2531
+-106.202 36.844 2364
+-106.076 36.844 2151
+-105.95 36.844 2050
+-105.824 36.844 2128
+-105.698 36.844 2279
+-105.572 36.844 2424
+-105.446 36.844 2544
+-105.32 36.844 2636
+-105.194 36.844 2710
+-105.068 36.844 2770
+-104.942 36.844 2804
+-104.816 36.844 2817
+-104.69 36.844 2847
+-104.564 36.844 2874
+-104.438 36.844 2898
+-104.312 36.844 2918
+-104.186 36.844 2935
+-104.06 36.844 2951
+-103.934 36.844 2965
+-103.808 36.844 2977
+-103.682 36.844 2988
+-103.556 36.844 2998
+-103.43 36.844 2996
+-103.304 36.844 3076
+-103.178 36.844 3071
+-103.052 36.844 3085
+-102.926 36.844 3095
+-102.8 36.844 3104
+-102.674 36.844 3113
+-102.548 36.844 3121
+-102.422 36.844 3129
+-102.296 36.844 3136
+-102.17 36.844 3028
+-102.044 36.844 3044
+-101.918 36.844 2966
+-101.792 36.844 2917
+-101.666 36.844 2881
+-101.54 36.844 2811
+-101.414 36.844 2756
+-101.288 36.844 2752
+-101.162 36.844 2748
+-101.036 36.844 2785
+-100.91 36.844 2898
+-100.784 36.844 2945
+-100.658 36.844 3047
+-100.532 36.844 3076
+-100.406 36.844 3074
+-100.28 36.844 3072
+-100.154 36.844 3070
+-100.028 36.844 3068
+-99.902 36.844 3066
+-99.776 36.844 3064
+-99.65 36.844 3109
+-99.524 36.844 3105
+-99.398 36.844 3104
+-99.272 36.844 3116
+-99.146 36.844 3112
+-99.02 36.844 3121
+-98.894 36.844 3145
+-98.768 36.844 3174
+-98.642 36.844 3170
+-98.516 36.844 3165
+-98.39 36.844 3160
+-98.264 36.844 3153
+-98.138 36.844 3173
+-98.012 36.844 3163
+-97.886 36.844 3151
+-97.76 36.844 3137
+-97.634 36.844 3203
+-97.508 36.844 3220
+-97.382 36.844 3195
+-97.256 36.844 3277
+-97.13 36.844 3253
+-97.004 36.844 3232
+-96.878 36.844 3255
+-96.752 36.844 3285
+-96.626 36.844 3352
+-96.5 36.844 3428
+-96.374 36.844 3511
+-96.248 36.844 3624
+-96.122 36.844 3690
+-95.996 36.844 3765
+-95.87 36.844 3846
+-95.744 36.844 3822
+-95.618 36.844 3764
+-95.492 36.844 3732
+-95.366 36.844 3692
+-95.24 36.844 3891
+-95.114 36.844 4102
+-94.988 36.844 4259
+-94.862 36.844 4357
+-94.736 36.844 4439
+-94.61 36.844 4537
+-94.484 36.844 4601
+-94.358 36.844 4735
+-94.232 36.844 4867
+-94.106 36.844 4989
+-93.98 36.844 5080
+-93.854 36.844 5184
+-93.728 36.844 5303
+-93.602 36.844 5423
+-93.476 36.844 5587
+-93.35 36.844 5756
+-93.224 36.844 5800
+-93.098 36.844 5908
+-92.972 36.844 6048
+-92.846 36.844 6087
+-92.72 36.844 6190
+-92.594 36.844 6302
+-92.468 36.844 6427
+-92.342 36.844 6533
+-92.216 36.844 6606
+-92.09 36.844 6712
+-91.964 36.844 6740
+-91.838 36.844 6846
+-91.712 36.844 6970
+-91.586 36.844 6980
+-91.46 36.844 7041
+-91.334 36.844 7121
+-91.208 36.844 7175
+-91.082 36.844 7226
+-90.956 36.844 7266
+-90.83 36.844 7320
+-90.704 36.844 7310
+-90.578 36.844 7699
+-90.452 36.844 7741
+-90.326 36.844 7893
+-90.2 36.844 7969
+-90.074 36.844 8130
+-89.948 36.844 8282
+-89.822 36.844 8346
+-89.696 36.844 8441
+-89.57 36.844 8542
+-89.444 36.844 8626
+-89.318 36.844 8760
+-89.192 36.844 8788
+-89.066 36.844 8832
+-88.94 36.844 8828
+-88.814 36.844 8876
+-88.688 36.844 8839
+-88.562 36.844 8810
+-88.436 36.844 8769
+-88.31 36.844 8688
+-88.184 36.844 8597
+-88.058 36.844 8546
+-87.932 36.844 8452
+-87.806 36.844 8365
+-87.68 36.844 8256
+-87.554 36.844 8094
+-87.428 36.844 7963
+-87.302 36.844 7827
+-87.176 36.844 7727
+-87.05 36.844 7570
+-86.924 36.844 7417
+-86.798 36.844 7410
+-86.672 36.844 7259
+-86.546 36.844 7112
+-86.42 36.844 6963
+-86.294 36.844 6767
+-86.168 36.844 6666
+-86.042 36.844 6582
+-85.916 36.844 6456
+-85.79 36.844 6297
+-85.664 36.844 6156
+-85.538 36.844 6051
+-85.412 36.844 5913
+-85.286 36.844 5783
+-85.16 36.844 5590
+-85.034 36.844 5459
+-84.908 36.844 5370
+-84.782 36.844 5241
+-84.656 36.844 5102
+-84.53 36.844 5047
+-84.404 36.844 4980
+-84.278 36.844 4909
+-84.152 36.844 4857
+-84.026 36.844 4813
+-83.9 36.844 4607
+-83.774 36.844 4459
+-83.648 36.844 4360
+-83.522 36.844 4279
+-83.396 36.844 4155
+-83.27 36.844 4051
+-83.144 36.844 3928
+-83.018 36.844 3770
+-82.892 36.844 3644
+-82.766 36.844 3537
+-82.64 36.844 3509
+-82.514 36.844 3552
+-82.388 36.844 3598
+-82.262 36.844 3608
+-82.136 36.844 3547
+-82.01 36.844 3562
+-81.884 36.844 3510
+-81.758 36.844 3523
+-81.632 36.844 3532
+-81.506 36.844 3539
+-81.38 36.844 3543
+-81.254 36.844 3501
+-81.128 36.844 3459
+-81.002 36.844 3403
+-80.876 36.844 3347
+-80.75 36.844 3326
+-80.624 36.844 3325
+-80.498 36.844 3233
+-80.372 36.844 3208
+-80.246 36.844 3205
+-80.12 36.844 3202
+-79.994 36.844 3200
+-79.868 36.844 3199
+-79.742 36.844 3197
+-79.616 36.844 3196
+-79.49 36.844 3195
+-79.364 36.844 3194
+-79.238 36.844 3194
+-79.112 36.844 3194
+-78.986 36.844 3194
+-78.86 36.844 3194
+-78.734 36.844 3194
+-78.608 36.844 3194
+-78.482 36.844 3085
+-78.356 36.844 3083
+-78.23 36.844 3080
+-78.104 36.844 3078
+-77.978 36.844 3075
+-77.852 36.844 3073
+-77.726 36.844 3071
+-77.6 36.844 3069
+-77.474 36.844 3067
+-77.348 36.844 3066
+-77.222 36.844 3064
+-77.096 36.844 3063
+-76.97 36.844 2959
+-76.844 36.844 2958
+-76.718 36.844 2956
+-76.592 36.844 2955
+-76.466 36.844 2954
+-76.34 36.844 2953
+-76.214 36.844 2952
+-76.088 36.844 2951
+-75.962 36.844 2913
+-75.836 36.844 2790
+-75.71 36.844 2789
+-75.584 36.844 2788
+-75.458 36.844 2741
+-75.332 36.844 2755
+-75.206 36.844 2756
+-75.08 36.844 2773
+-74.954 36.844 2787
+-74.828 36.844 2745
+-74.702 36.844 2696
+-74.576 36.844 2697
+-74.45 36.844 2698
+-74.324 36.844 2698
+-74.198 36.844 2717
+-74.072 36.844 2726
+-73.946 36.844 2737
+-73.82 36.844 2738
+-73.694 36.844 2771
+-73.568 36.844 2785
+-73.442 36.844 2788
+-73.316 36.844 2842
+-73.19 36.844 2866
+-73.064 36.844 2848
+-72.938 36.844 2842
+-72.812 36.844 2985
+-72.686 36.844 2988
+-72.56 36.844 3047
+-72.434 36.844 3051
+-72.308 36.844 3054
+-72.182 36.844 3058
+-72.056 36.844 3061
+-71.93 36.844 2985
+-71.804 36.844 3007
+-71.678 36.844 3010
+-71.552 36.844 3002
+-71.426 36.844 3297
+-71.3 36.844 3327
+-71.174 36.844 3329
+-71.048 36.844 3326
+-70.922 36.844 3328
+-70.796 36.844 3333
+-70.67 36.844 3349
+-70.544 36.844 3351
+-70.418 36.844 3340
+-70.292 36.844 3342
+-70.166 36.844 3296
+-70.04 36.844 3298
+-69.914 36.844 3300
+-69.788 36.844 3364
+-69.662 36.844 3360
+-69.536 36.844 3370
+-69.41 36.844 3372
+-69.284 36.844 3352
+-69.158 36.844 3374
+-69.032 36.844 3421
+-68.906 36.844 3433
+-68.78 36.844 3433
+-68.654 36.844 3432
+-68.528 36.844 3485
+-68.402 36.844 3487
+-68.276 36.844 3426
+-68.15 36.844 3450
+-68.024 36.844 3444
+-67.898 36.844 3362
+-67.772 36.844 3276
+-67.646 36.844 3299
+-67.52 36.844 3301
+-67.394 36.844 3335
+-67.268 36.844 3308
+-67.142 36.844 3320
+-67.016 36.844 3322
+-66.89 36.844 3301
+-66.764 36.844 3302
+-66.638 36.844 3304
+-66.512 36.844 3279
+-66.386 36.844 3261
+-66.26 36.844 3298
+-66.134 36.844 3292
+-66.008 36.844 3294
+-65.882 36.844 3295
+-65.756 36.844 3214
+-65.63 36.844 3255
+-65.504 36.844 3251
+-65.378 36.844 3253
+-65.252 36.844 3254
+-65.126 36.844 3487
+-128 36.792 2834
+-127.874 36.792 2830
+-127.748 36.792 2825
+-127.622 36.792 2821
+-127.496 36.792 2816
+-127.37 36.792 2811
+-127.244 36.792 2878
+-127.118 36.792 2902
+-126.992 36.792 2896
+-126.866 36.792 2890
+-126.74 36.792 2953
+-126.614 36.792 2925
+-126.488 36.792 2988
+-126.362 36.792 2980
+-126.236 36.792 2975
+-126.11 36.792 2989
+-125.984 36.792 3061
+-125.858 36.792 3059
+-125.732 36.792 3054
+-125.606 36.792 3148
+-125.48 36.792 3148
+-125.354 36.792 3223
+-125.228 36.792 3223
+-125.102 36.792 3196
+-124.976 36.792 3199
+-124.85 36.792 3249
+-124.724 36.792 3258
+-124.598 36.792 3265
+-124.472 36.792 3270
+-124.346 36.792 3274
+-124.22 36.792 3328
+-124.094 36.792 3323
+-123.968 36.792 3318
+-123.842 36.792 3296
+-123.716 36.792 3314
+-123.59 36.792 3264
+-123.464 36.792 3224
+-123.338 36.792 3202
+-123.212 36.792 3150
+-123.086 36.792 3156
+-122.96 36.792 3242
+-122.834 36.792 3387
+-122.708 36.792 3640
+-122.582 36.792 3790
+-122.456 36.792 3923
+-122.33 36.792 4054
+-122.204 36.792 4151
+-122.078 36.792 4222
+-121.952 36.792 4275
+-121.826 36.792 4335
+-121.7 36.792 4366
+-121.574 36.792 4306
+-121.448 36.792 4210
+-121.322 36.792 4367
+-121.196 36.792 4604
+-121.07 36.792 4739
+-120.944 36.792 4843
+-120.818 36.792 4879
+-120.692 36.792 4886
+-120.566 36.792 4973
+-120.44 36.792 5105
+-120.314 36.792 5232
+-120.188 36.792 5337
+-120.062 36.792 5449
+-119.936 36.792 5506
+-119.81 36.792 5573
+-119.684 36.792 5673
+-119.558 36.792 5770
+-119.432 36.792 5872
+-119.306 36.792 5909
+-119.18 36.792 6000
+-119.054 36.792 6097
+-118.928 36.792 6196
+-118.802 36.792 6248
+-118.676 36.792 6350
+-118.55 36.792 6359
+-118.424 36.792 6438
+-118.298 36.792 6442
+-118.172 36.792 6498
+-118.046 36.792 6544
+-117.92 36.792 6564
+-117.794 36.792 6633
+-117.668 36.792 6647
+-117.542 36.792 6654
+-117.416 36.792 6662
+-117.29 36.792 6672
+-117.164 36.792 6670
+-117.038 36.792 6671
+-116.912 36.792 6637
+-116.786 36.792 6602
+-116.66 36.792 6592
+-116.534 36.792 6539
+-116.408 36.792 6498
+-116.282 36.792 6470
+-116.156 36.792 6380
+-116.03 36.792 6360
+-115.904 36.792 6278
+-115.778 36.792 6251
+-115.652 36.792 6160
+-115.526 36.792 6056
+-115.4 36.792 6010
+-115.274 36.792 5908
+-115.148 36.792 5802
+-115.022 36.792 5732
+-114.896 36.792 5684
+-114.77 36.792 5586
+-114.644 36.792 5476
+-114.518 36.792 5412
+-114.392 36.792 5274
+-114.266 36.792 5189
+-114.14 36.792 5107
+-114.014 36.792 4945
+-113.888 36.792 4845
+-113.762 36.792 4817
+-113.636 36.792 4758
+-113.51 36.792 4598
+-113.384 36.792 4375
+-113.258 36.792 4255
+-113.132 36.792 4258
+-113.006 36.792 4165
+-112.88 36.792 4090
+-112.754 36.792 4031
+-112.628 36.792 3962
+-112.502 36.792 3901
+-112.376 36.792 3835
+-112.25 36.792 3739
+-112.124 36.792 3667
+-111.998 36.792 3609
+-111.872 36.792 3656
+-111.746 36.792 3719
+-111.62 36.792 3765
+-111.494 36.792 3785
+-111.368 36.792 3796
+-111.242 36.792 3800
+-111.116 36.792 3803
+-110.99 36.792 3809
+-110.864 36.792 3803
+-110.738 36.792 3805
+-110.612 36.792 3816
+-110.486 36.792 3823
+-110.36 36.792 3837
+-110.234 36.792 3861
+-110.108 36.792 3847
+-109.982 36.792 3832
+-109.856 36.792 3795
+-109.73 36.792 3770
+-109.604 36.792 3771
+-109.478 36.792 3773
+-109.352 36.792 3780
+-109.226 36.792 3799
+-109.1 36.792 3789
+-108.974 36.792 3767
+-108.848 36.792 3778
+-108.722 36.792 3747
+-108.596 36.792 3676
+-108.47 36.792 3609
+-108.344 36.792 3507
+-108.218 36.792 3413
+-108.092 36.792 3352
+-107.966 36.792 3328
+-107.84 36.792 3322
+-107.714 36.792 3241
+-107.588 36.792 3159
+-107.462 36.792 3059
+-107.336 36.792 3008
+-107.21 36.792 3014
+-107.084 36.792 3025
+-106.958 36.792 3005
+-106.832 36.792 2946
+-106.706 36.792 2850
+-106.58 36.792 2733
+-106.454 36.792 2618
+-106.328 36.792 2536
+-106.202 36.792 2430
+-106.076 36.792 2249
+-105.95 36.792 2148
+-105.824 36.792 2205
+-105.698 36.792 2333
+-105.572 36.792 2463
+-105.446 36.792 2570
+-105.32 36.792 2657
+-105.194 36.792 2727
+-105.068 36.792 2770
+-104.942 36.792 2815
+-104.816 36.792 2827
+-104.69 36.792 2858
+-104.564 36.792 2884
+-104.438 36.792 2906
+-104.312 36.792 2926
+-104.186 36.792 2943
+-104.06 36.792 2958
+-103.934 36.792 2971
+-103.808 36.792 2983
+-103.682 36.792 2994
+-103.556 36.792 3052
+-103.43 36.792 3070
+-103.304 36.792 3066
+-103.178 36.792 3080
+-103.052 36.792 3090
+-102.926 36.792 3100
+-102.8 36.792 3109
+-102.674 36.792 3117
+-102.548 36.792 3125
+-102.422 36.792 3133
+-102.296 36.792 3116
+-102.17 36.792 3195
+-102.044 36.792 3049
+-101.918 36.792 2971
+-101.792 36.792 2922
+-101.666 36.792 2872
+-101.54 36.792 2805
+-101.414 36.792 2757
+-101.288 36.792 2752
+-101.162 36.792 2745
+-101.036 36.792 2781
+-100.91 36.792 2891
+-100.784 36.792 2937
+-100.658 36.792 3040
+-100.532 36.792 3068
+-100.406 36.792 3066
+-100.28 36.792 3064
+-100.154 36.792 3061
+-100.028 36.792 3059
+-99.902 36.792 3056
+-99.776 36.792 3101
+-99.65 36.792 3097
+-99.524 36.792 3096
+-99.398 36.792 3108
+-99.272 36.792 3103
+-99.146 36.792 3113
+-99.02 36.792 3136
+-98.894 36.792 3165
+-98.768 36.792 3161
+-98.642 36.792 3156
+-98.516 36.792 3150
+-98.39 36.792 3143
+-98.264 36.792 3162
+-98.138 36.792 3151
+-98.012 36.792 3138
+-97.886 36.792 3131
+-97.76 36.792 3111
+-97.634 36.792 3091
+-97.508 36.792 3116
+-97.382 36.792 3138
+-97.256 36.792 3095
+-97.13 36.792 3117
+-97.004 36.792 3116
+-96.878 36.792 3099
+-96.752 36.792 3134
+-96.626 36.792 3207
+-96.5 36.792 3316
+-96.374 36.792 3434
+-96.248 36.792 3573
+-96.122 36.792 3733
+-95.996 36.792 3804
+-95.87 36.792 3834
+-95.744 36.792 3851
+-95.618 36.792 3833
+-95.492 36.792 3831
+-95.366 36.792 3836
+-95.24 36.792 3910
+-95.114 36.792 4053
+-94.988 36.792 4235
+-94.862 36.792 4365
+-94.736 36.792 4382
+-94.61 36.792 4503
+-94.484 36.792 4630
+-94.358 36.792 4762
+-94.232 36.792 4874
+-94.106 36.792 4955
+-93.98 36.792 5008
+-93.854 36.792 5136
+-93.728 36.792 5272
+-93.602 36.792 5382
+-93.476 36.792 5506
+-93.35 36.792 5720
+-93.224 36.792 5804
+-93.098 36.792 5890
+-92.972 36.792 5987
+-92.846 36.792 6001
+-92.72 36.792 6156
+-92.594 36.792 6298
+-92.468 36.792 6385
+-92.342 36.792 6480
+-92.216 36.792 6587
+-92.09 36.792 6638
+-91.964 36.792 6759
+-91.838 36.792 6810
+-91.712 36.792 6869
+-91.586 36.792 6983
+-91.46 36.792 6994
+-91.334 36.792 7058
+-91.208 36.792 7099
+-91.082 36.792 7166
+-90.956 36.792 7201
+-90.83 36.792 7254
+-90.704 36.792 7282
+-90.578 36.792 7555
+-90.452 36.792 7713
+-90.326 36.792 7847
+-90.2 36.792 7988
+-90.074 36.792 8112
+-89.948 36.792 8205
+-89.822 36.792 8343
+-89.696 36.792 8399
+-89.57 36.792 8489
+-89.444 36.792 8597
+-89.318 36.792 8672
+-89.192 36.792 8706
+-89.066 36.792 8755
+-88.94 36.792 8804
+-88.814 36.792 8786
+-88.688 36.792 8785
+-88.562 36.792 8770
+-88.436 36.792 8671
+-88.31 36.792 8638
+-88.184 36.792 8539
+-88.058 36.792 8482
+-87.932 36.792 8376
+-87.806 36.792 8304
+-87.68 36.792 8198
+-87.554 36.792 8094
+-87.428 36.792 7949
+-87.302 36.792 7828
+-87.176 36.792 7745
+-87.05 36.792 7558
+-86.924 36.792 7476
+-86.798 36.792 7381
+-86.672 36.792 7247
+-86.546 36.792 7066
+-86.42 36.792 6903
+-86.294 36.792 6845
+-86.168 36.792 6681
+-86.042 36.792 6597
+-85.916 36.792 6426
+-85.79 36.792 6323
+-85.664 36.792 6158
+-85.538 36.792 5998
+-85.412 36.792 5870
+-85.286 36.792 5743
+-85.16 36.792 5541
+-85.034 36.792 5394
+-84.908 36.792 5359
+-84.782 36.792 5187
+-84.656 36.792 5045
+-84.53 36.792 4966
+-84.404 36.792 4928
+-84.278 36.792 4906
+-84.152 36.792 4826
+-84.026 36.792 4777
+-83.9 36.792 4622
+-83.774 36.792 4477
+-83.648 36.792 4366
+-83.522 36.792 4266
+-83.396 36.792 4173
+-83.27 36.792 4025
+-83.144 36.792 3840
+-83.018 36.792 3634
+-82.892 36.792 3401
+-82.766 36.792 3275
+-82.64 36.792 3302
+-82.514 36.792 3382
+-82.388 36.792 3464
+-82.262 36.792 3493
+-82.136 36.792 3524
+-82.01 36.792 3537
+-81.884 36.792 3485
+-81.758 36.792 3501
+-81.632 36.792 3512
+-81.506 36.792 3506
+-81.38 36.792 3510
+-81.254 36.792 3513
+-81.128 36.792 3433
+-81.002 36.792 3374
+-80.876 36.792 3354
+-80.75 36.792 3267
+-80.624 36.792 3222
+-80.498 36.792 3196
+-80.372 36.792 3193
+-80.246 36.792 3190
+-80.12 36.792 3189
+-79.994 36.792 3187
+-79.868 36.792 3186
+-79.742 36.792 3185
+-79.616 36.792 3184
+-79.49 36.792 3184
+-79.364 36.792 3184
+-79.238 36.792 3184
+-79.112 36.792 3184
+-78.986 36.792 3184
+-78.86 36.792 3185
+-78.734 36.792 3185
+-78.608 36.792 3078
+-78.482 36.792 3075
+-78.356 36.792 3073
+-78.23 36.792 3070
+-78.104 36.792 3068
+-77.978 36.792 3066
+-77.852 36.792 3064
+-77.726 36.792 3062
+-77.6 36.792 3060
+-77.474 36.792 3058
+-77.348 36.792 3057
+-77.222 36.792 3056
+-77.096 36.792 3054
+-76.97 36.792 3053
+-76.844 36.792 2949
+-76.718 36.792 2948
+-76.592 36.792 2947
+-76.466 36.792 2946
+-76.34 36.792 2945
+-76.214 36.792 2944
+-76.088 36.792 2907
+-75.962 36.792 2783
+-75.836 36.792 2782
+-75.71 36.792 2781
+-75.584 36.792 2796
+-75.458 36.792 2749
+-75.332 36.792 2767
+-75.206 36.792 2767
+-75.08 36.792 2781
+-74.954 36.792 2748
+-74.828 36.792 2691
+-74.702 36.792 2692
+-74.576 36.792 2693
+-74.45 36.792 2694
+-74.324 36.792 2712
+-74.198 36.792 2721
+-74.072 36.792 2732
+-73.946 36.792 2733
+-73.82 36.792 2767
+-73.694 36.792 2781
+-73.568 36.792 2784
+-73.442 36.792 2839
+-73.316 36.792 2862
+-73.19 36.792 2845
+-73.064 36.792 2839
+-72.938 36.792 2981
+-72.812 36.792 2985
+-72.686 36.792 3044
+-72.56 36.792 3047
+-72.434 36.792 3051
+-72.308 36.792 3055
+-72.182 36.792 3058
+-72.056 36.792 2983
+-71.93 36.792 3004
+-71.804 36.792 3007
+-71.678 36.792 3000
+-71.552 36.792 3294
+-71.426 36.792 3324
+-71.3 36.792 3326
+-71.174 36.792 3323
+-71.048 36.792 3325
+-70.922 36.792 3330
+-70.796 36.792 3347
+-70.67 36.792 3349
+-70.544 36.792 3338
+-70.418 36.792 3340
+-70.292 36.792 3294
+-70.166 36.792 3296
+-70.04 36.792 3298
+-69.914 36.792 3362
+-69.788 36.792 3358
+-69.662 36.792 3368
+-69.536 36.792 3370
+-69.41 36.792 3350
+-69.284 36.792 3372
+-69.158 36.792 3419
+-69.032 36.792 3431
+-68.906 36.792 3431
+-68.78 36.792 3430
+-68.654 36.792 3483
+-68.528 36.792 3485
+-68.402 36.792 3425
+-68.276 36.792 3449
+-68.15 36.792 3442
+-68.024 36.792 3364
+-67.898 36.792 3274
+-67.772 36.792 3298
+-67.646 36.792 3300
+-67.52 36.792 3333
+-67.394 36.792 3306
+-67.268 36.792 3319
+-67.142 36.792 3320
+-67.016 36.792 3300
+-66.89 36.792 3301
+-66.764 36.792 3303
+-66.638 36.792 3278
+-66.512 36.792 3260
+-66.386 36.792 3297
+-66.26 36.792 3291
+-66.134 36.792 3293
+-66.008 36.792 3294
+-65.882 36.792 3213
+-65.756 36.792 3254
+-65.63 36.792 3250
+-65.504 36.792 3252
+-65.378 36.792 3253
+-65.252 36.792 3486
+-65.126 36.792 3409
+-128 36.74 2913
+-127.874 36.74 2907
+-127.748 36.74 2901
+-127.622 36.74 2895
+-127.496 36.74 2889
+-127.37 36.74 2882
+-127.244 36.74 2876
+-127.118 36.74 2869
+-126.992 36.74 2892
+-126.866 36.74 2953
+-126.74 36.74 2993
+-126.614 36.74 2984
+-126.488 36.74 2976
+-126.362 36.74 2967
+-126.236 36.74 2959
+-126.11 36.74 2953
+-125.984 36.74 2965
+-125.858 36.74 3034
+-125.732 36.74 3031
+-125.606 36.74 3026
+-125.48 36.74 3118
+-125.354 36.74 3118
+-125.228 36.74 3192
+-125.102 36.74 3194
+-124.976 36.74 3215
+-124.85 36.74 3220
+-124.724 36.74 3227
+-124.598 36.74 3240
+-124.472 36.74 3250
+-124.346 36.74 3260
+-124.22 36.74 3267
+-124.094 36.74 3333
+-123.968 36.74 3332
+-123.842 36.74 3370
+-123.716 36.74 3368
+-123.59 36.74 3343
+-123.464 36.74 3307
+-123.338 36.74 3307
+-123.212 36.74 3352
+-123.086 36.74 3377
+-122.96 36.74 3446
+-122.834 36.74 3640
+-122.708 36.74 3743
+-122.582 36.74 3832
+-122.456 36.74 3913
+-122.33 36.74 4001
+-122.204 36.74 4117
+-122.078 36.74 4214
+-121.952 36.74 4285
+-121.826 36.74 4359
+-121.7 36.74 4389
+-121.574 36.74 4354
+-121.448 36.74 4339
+-121.322 36.74 4441
+-121.196 36.74 4643
+-121.07 36.74 4785
+-120.944 36.74 4858
+-120.818 36.74 4877
+-120.692 36.74 4913
+-120.566 36.74 5008
+-120.44 36.74 5126
+-120.314 36.74 5268
+-120.188 36.74 5401
+-120.062 36.74 5507
+-119.936 36.74 5524
+-119.81 36.74 5594
+-119.684 36.74 5737
+-119.558 36.74 5816
+-119.432 36.74 5892
+-119.306 36.74 5983
+-119.18 36.74 6051
+-119.054 36.74 6130
+-118.928 36.74 6223
+-118.802 36.74 6289
+-118.676 36.74 6365
+-118.55 36.74 6418
+-118.424 36.74 6465
+-118.298 36.74 6501
+-118.172 36.74 6568
+-118.046 36.74 6595
+-117.92 36.74 6640
+-117.794 36.74 6667
+-117.668 36.74 6682
+-117.542 36.74 6704
+-117.416 36.74 6706
+-117.29 36.74 6729
+-117.164 36.74 6738
+-117.038 36.74 6717
+-116.912 36.74 6668
+-116.786 36.74 6682
+-116.66 36.74 6634
+-116.534 36.74 6598
+-116.408 36.74 6562
+-116.282 36.74 6521
+-116.156 36.74 6447
+-116.03 36.74 6402
+-115.904 36.74 6313
+-115.778 36.74 6295
+-115.652 36.74 6225
+-115.526 36.74 6128
+-115.4 36.74 6015
+-115.274 36.74 5963
+-115.148 36.74 5870
+-115.022 36.74 5809
+-114.896 36.74 5734
+-114.77 36.74 5594
+-114.644 36.74 5409
+-114.518 36.74 5446
+-114.392 36.74 5290
+-114.266 36.74 5186
+-114.14 36.74 5142
+-114.014 36.74 4995
+-113.888 36.74 4870
+-113.762 36.74 4766
+-113.636 36.74 4782
+-113.51 36.74 4642
+-113.384 36.74 4463
+-113.258 36.74 4317
+-113.132 36.74 4283
+-113.006 36.74 4182
+-112.88 36.74 4134
+-112.754 36.74 4075
+-112.628 36.74 4009
+-112.502 36.74 3946
+-112.376 36.74 3879
+-112.25 36.74 3812
+-112.124 36.74 3758
+-111.998 36.74 3743
+-111.872 36.74 3749
+-111.746 36.74 3783
+-111.62 36.74 3820
+-111.494 36.74 3834
+-111.368 36.74 3843
+-111.242 36.74 3847
+-111.116 36.74 3838
+-110.99 36.74 3828
+-110.864 36.74 3830
+-110.738 36.74 3842
+-110.612 36.74 3853
+-110.486 36.74 3876
+-110.36 36.74 3897
+-110.234 36.74 3919
+-110.108 36.74 3924
+-109.982 36.74 3905
+-109.856 36.74 3870
+-109.73 36.74 3844
+-109.604 36.74 3848
+-109.478 36.74 3834
+-109.352 36.74 3847
+-109.226 36.74 3850
+-109.1 36.74 3849
+-108.974 36.74 3824
+-108.848 36.74 3807
+-108.722 36.74 3782
+-108.596 36.74 3744
+-108.47 36.74 3662
+-108.344 36.74 3615
+-108.218 36.74 3542
+-108.092 36.74 3468
+-107.966 36.74 3441
+-107.84 36.74 3397
+-107.714 36.74 3313
+-107.588 36.74 3239
+-107.462 36.74 3188
+-107.336 36.74 3139
+-107.21 36.74 3111
+-107.084 36.74 3083
+-106.958 36.74 3038
+-106.832 36.74 2959
+-106.706 36.74 2842
+-106.58 36.74 2692
+-106.454 36.74 2567
+-106.328 36.74 2509
+-106.202 36.74 2489
+-106.076 36.74 2421
+-105.95 36.74 2353
+-105.824 36.74 2369
+-105.698 36.74 2446
+-105.572 36.74 2536
+-105.446 36.74 2621
+-105.32 36.74 2694
+-105.194 36.74 2742
+-105.068 36.74 2791
+-104.942 36.74 2846
+-104.816 36.74 2883
+-104.69 36.74 2915
+-104.564 36.74 2896
+-104.438 36.74 2917
+-104.312 36.74 2936
+-104.186 36.74 2952
+-104.06 36.74 2966
+-103.934 36.74 2978
+-103.808 36.74 2990
+-103.682 36.74 3046
+-103.556 36.74 3064
+-103.43 36.74 3061
+-103.304 36.74 3074
+-103.178 36.74 3085
+-103.052 36.74 3095
+-102.926 36.74 3105
+-102.8 36.74 3114
+-102.674 36.74 3122
+-102.548 36.74 3130
+-102.422 36.74 3114
+-102.296 36.74 3192
+-102.17 36.74 3197
+-102.044 36.74 3110
+-101.918 36.74 2962
+-101.792 36.74 2973
+-101.666 36.74 2876
+-101.54 36.74 2808
+-101.414 36.74 2824
+-101.288 36.74 2753
+-101.162 36.74 2743
+-101.036 36.74 2778
+-100.91 36.74 2884
+-100.784 36.74 2929
+-100.658 36.74 3033
+-100.532 36.74 3060
+-100.406 36.74 3058
+-100.28 36.74 3055
+-100.154 36.74 3052
+-100.028 36.74 3049
+-99.902 36.74 3093
+-99.776 36.74 3089
+-99.65 36.74 3088
+-99.524 36.74 3100
+-99.398 36.74 3096
+-99.272 36.74 3105
+-99.146 36.74 3128
+-99.02 36.74 3157
+-98.894 36.74 3152
+-98.768 36.74 3147
+-98.642 36.74 3141
+-98.516 36.74 3133
+-98.39 36.74 3153
+-98.264 36.74 3142
+-98.138 36.74 3129
+-98.012 36.74 3122
+-97.886 36.74 3086
+-97.76 36.74 3062
+-97.634 36.74 3103
+-97.508 36.74 3065
+-97.382 36.74 3016
+-97.256 36.74 3005
+-97.13 36.74 2989
+-97.004 36.74 2909
+-96.878 36.74 2889
+-96.752 36.74 2895
+-96.626 36.74 2988
+-96.5 36.74 3148
+-96.374 36.74 3356
+-96.248 36.74 3580
+-96.122 36.74 3696
+-95.996 36.74 3790
+-95.87 36.74 3835
+-95.744 36.74 3880
+-95.618 36.74 3883
+-95.492 36.74 3894
+-95.366 36.74 3901
+-95.24 36.74 3837
+-95.114 36.74 3998
+-94.988 36.74 4225
+-94.862 36.74 4361
+-94.736 36.74 4418
+-94.61 36.74 4500
+-94.484 36.74 4641
+-94.358 36.74 4788
+-94.232 36.74 4796
+-94.106 36.74 4921
+-93.98 36.74 5027
+-93.854 36.74 5107
+-93.728 36.74 5307
+-93.602 36.74 5327
+-93.476 36.74 5484
+-93.35 36.74 5684
+-93.224 36.74 5757
+-93.098 36.74 5854
+-92.972 36.74 5949
+-92.846 36.74 6042
+-92.72 36.74 6151
+-92.594 36.74 6210
+-92.468 36.74 6325
+-92.342 36.74 6430
+-92.216 36.74 6539
+-92.09 36.74 6622
+-91.964 36.74 6645
+-91.838 36.74 6794
+-91.712 36.74 6828
+-91.586 36.74 6924
+-91.46 36.74 6966
+-91.334 36.74 7038
+-91.208 36.74 7073
+-91.082 36.74 7137
+-90.956 36.74 7165
+-90.83 36.74 7210
+-90.704 36.74 7219
+-90.578 36.74 7489
+-90.452 36.74 7687
+-90.326 36.74 7848
+-90.2 36.74 7916
+-90.074 36.74 8043
+-89.948 36.74 8146
+-89.822 36.74 8267
+-89.696 36.74 8356
+-89.57 36.74 8466
+-89.444 36.74 8560
+-89.318 36.74 8669
+-89.192 36.74 8674
+-89.066 36.74 8713
+-88.94 36.74 8729
+-88.814 36.74 8736
+-88.688 36.74 8733
+-88.562 36.74 8706
+-88.436 36.74 8658
+-88.31 36.74 8617
+-88.184 36.74 8556
+-88.058 36.74 8430
+-87.932 36.74 8337
+-87.806 36.74 8239
+-87.68 36.74 8130
+-87.554 36.74 8057
+-87.428 36.74 7908
+-87.302 36.74 7801
+-87.176 36.74 7643
+-87.05 36.74 7534
+-86.924 36.74 7390
+-86.798 36.74 7325
+-86.672 36.74 7207
+-86.546 36.74 7072
+-86.42 36.74 6908
+-86.294 36.74 6747
+-86.168 36.74 6647
+-86.042 36.74 6534
+-85.916 36.74 6416
+-85.79 36.74 6259
+-85.664 36.74 6142
+-85.538 36.74 5964
+-85.412 36.74 5777
+-85.286 36.74 5744
+-85.16 36.74 5570
+-85.034 36.74 5447
+-84.908 36.74 5327
+-84.782 36.74 5123
+-84.656 36.74 4985
+-84.53 36.74 4852
+-84.404 36.74 4881
+-84.278 36.74 4852
+-84.152 36.74 4821
+-84.026 36.74 4732
+-83.9 36.74 4591
+-83.774 36.74 4457
+-83.648 36.74 4342
+-83.522 36.74 4220
+-83.396 36.74 4117
+-83.27 36.74 3990
+-83.144 36.74 3765
+-83.018 36.74 3456
+-82.892 36.74 3134
+-82.766 36.74 2990
+-82.64 36.74 3070
+-82.514 36.74 3227
+-82.388 36.74 3345
+-82.262 36.74 3426
+-82.136 36.74 3493
+-82.01 36.74 3538
+-81.884 36.74 3542
+-81.758 36.74 3469
+-81.632 36.74 3480
+-81.506 36.74 3487
+-81.38 36.74 3492
+-81.254 36.74 3461
+-81.128 36.74 3463
+-81.002 36.74 3327
+-80.876 36.74 3276
+-80.75 36.74 3250
+-80.624 36.74 3224
+-80.498 36.74 3201
+-80.372 36.74 3176
+-80.246 36.74 3175
+-80.12 36.74 3173
+-79.994 36.74 3173
+-79.868 36.74 3172
+-79.742 36.74 3172
+-79.616 36.74 3172
+-79.49 36.74 3172
+-79.364 36.74 3172
+-79.238 36.74 3173
+-79.112 36.74 3174
+-78.986 36.74 3174
+-78.86 36.74 3175
+-78.734 36.74 3069
+-78.608 36.74 3066
+-78.482 36.74 3064
+-78.356 36.74 3062
+-78.23 36.74 3060
+-78.104 36.74 3058
+-77.978 36.74 3056
+-77.852 36.74 3054
+-77.726 36.74 3052
+-77.6 36.74 3051
+-77.474 36.74 3049
+-77.348 36.74 3048
+-77.222 36.74 3047
+-77.096 36.74 3045
+-76.97 36.74 3044
+-76.844 36.74 3043
+-76.718 36.74 2939
+-76.592 36.74 2938
+-76.466 36.74 2938
+-76.34 36.74 2937
+-76.214 36.74 2899
+-76.088 36.74 2775
+-75.962 36.74 2774
+-75.836 36.74 2774
+-75.71 36.74 2788
+-75.584 36.74 2742
+-75.458 36.74 2760
+-75.332 36.74 2760
+-75.206 36.74 2775
+-75.08 36.74 2742
+-74.954 36.74 2686
+-74.828 36.74 2686
+-74.702 36.74 2687
+-74.576 36.74 2688
+-74.45 36.74 2708
+-74.324 36.74 2716
+-74.198 36.74 2728
+-74.072 36.74 2729
+-73.946 36.74 2763
+-73.82 36.74 2778
+-73.694 36.74 2780
+-73.568 36.74 2835
+-73.442 36.74 2859
+-73.316 36.74 2842
+-73.19 36.74 2835
+-73.064 36.74 2978
+-72.938 36.74 2981
+-72.812 36.74 3040
+-72.686 36.74 3044
+-72.56 36.74 3047
+-72.434 36.74 3051
+-72.308 36.74 3055
+-72.182 36.74 2980
+-72.056 36.74 3002
+-71.93 36.74 3005
+-71.804 36.74 2997
+-71.678 36.74 3291
+-71.552 36.74 3321
+-71.426 36.74 3323
+-71.3 36.74 3320
+-71.174 36.74 3322
+-71.048 36.74 3328
+-70.922 36.74 3344
+-70.796 36.74 3346
+-70.67 36.74 3336
+-70.544 36.74 3338
+-70.418 36.74 3292
+-70.292 36.74 3294
+-70.166 36.74 3296
+-70.04 36.74 3360
+-69.914 36.74 3356
+-69.788 36.74 3366
+-69.662 36.74 3368
+-69.536 36.74 3348
+-69.41 36.74 3370
+-69.284 36.74 3417
+-69.158 36.74 3429
+-69.032 36.74 3429
+-68.906 36.74 3428
+-68.78 36.74 3481
+-68.654 36.74 3483
+-68.528 36.74 3423
+-68.402 36.74 3447
+-68.276 36.74 3441
+-68.15 36.74 3359
+-68.024 36.74 3273
+-67.898 36.74 3297
+-67.772 36.74 3298
+-67.646 36.74 3332
+-67.52 36.74 3305
+-67.394 36.74 3318
+-67.268 36.74 3319
+-67.142 36.74 3299
+-67.016 36.74 3300
+-66.89 36.74 3302
+-66.764 36.74 3277
+-66.638 36.74 3259
+-66.512 36.74 3296
+-66.386 36.74 3290
+-66.26 36.74 3292
+-66.134 36.74 3293
+-66.008 36.74 3212
+-65.882 36.74 3253
+-65.756 36.74 3249
+-65.63 36.74 3251
+-65.504 36.74 3252
+-65.378 36.74 3485
+-65.252 36.74 3405
+-65.126 36.74 3419
+-128 36.688 2912
+-127.874 36.688 2907
+-127.748 36.688 2900
+-127.622 36.688 2894
+-127.496 36.688 2887
+-127.37 36.688 2880
+-127.244 36.688 2873
+-127.118 36.688 3019
+-126.992 36.688 3009
+-126.866 36.688 2999
+-126.74 36.688 2983
+-126.614 36.688 2973
+-126.488 36.688 2963
+-126.362 36.688 2954
+-126.236 36.688 2944
+-126.11 36.688 2934
+-125.984 36.688 2966
+-125.858 36.688 2937
+-125.732 36.688 3003
+-125.606 36.688 2999
+-125.48 36.688 2993
+-125.354 36.688 3108
+-125.228 36.688 3108
+-125.102 36.688 3158
+-124.976 36.688 3161
+-124.85 36.688 3185
+-124.724 36.688 3195
+-124.598 36.688 3207
+-124.472 36.688 3245
+-124.346 36.688 3240
+-124.22 36.688 3255
+-124.094 36.688 3329
+-123.968 36.688 3339
+-123.842 36.688 3345
+-123.716 36.688 3392
+-123.59 36.688 3405
+-123.464 36.688 3402
+-123.338 36.688 3395
+-123.212 36.688 3439
+-123.086 36.688 3533
+-122.96 36.688 3604
+-122.834 36.688 3668
+-122.708 36.688 3804
+-122.582 36.688 3845
+-122.456 36.688 3878
+-122.33 36.688 3931
+-122.204 36.688 4042
+-122.078 36.688 4176
+-121.952 36.688 4294
+-121.826 36.688 4369
+-121.7 36.688 4439
+-121.574 36.688 4382
+-121.448 36.688 4294
+-121.322 36.688 4474
+-121.196 36.688 4702
+-121.07 36.688 4814
+-120.944 36.688 4854
+-120.818 36.688 4813
+-120.692 36.688 4927
+-120.566 36.688 5032
+-120.44 36.688 5170
+-120.314 36.688 5302
+-120.188 36.688 5351
+-120.062 36.688 5510
+-119.936 36.688 5586
+-119.81 36.688 5679
+-119.684 36.688 5777
+-119.558 36.688 5869
+-119.432 36.688 5936
+-119.306 36.688 5999
+-119.18 36.688 6152
+-119.054 36.688 6166
+-118.928 36.688 6270
+-118.802 36.688 6382
+-118.676 36.688 6415
+-118.55 36.688 6486
+-118.424 36.688 6523
+-118.298 36.688 6560
+-118.172 36.688 6636
+-118.046 36.688 6662
+-117.92 36.688 6717
+-117.794 36.688 6719
+-117.668 36.688 6751
+-117.542 36.688 6769
+-117.416 36.688 6773
+-117.29 36.688 6796
+-117.164 36.688 6792
+-117.038 36.688 6735
+-116.912 36.688 6749
+-116.786 36.688 6718
+-116.66 36.688 6686
+-116.534 36.688 6646
+-116.408 36.688 6641
+-116.282 36.688 6576
+-116.156 36.688 6515
+-116.03 36.688 6438
+-115.904 36.688 6354
+-115.778 36.688 6300
+-115.652 36.688 6265
+-115.526 36.688 6189
+-115.4 36.688 6082
+-115.274 36.688 5971
+-115.148 36.688 5944
+-115.022 36.688 5825
+-114.896 36.688 5753
+-114.77 36.688 5620
+-114.644 36.688 5548
+-114.518 36.688 5452
+-114.392 36.688 5332
+-114.266 36.688 5246
+-114.14 36.688 5175
+-114.014 36.688 5014
+-113.888 36.688 4828
+-113.762 36.688 4849
+-113.636 36.688 4799
+-113.51 36.688 4671
+-113.384 36.688 4524
+-113.258 36.688 4387
+-113.132 36.688 4253
+-113.006 36.688 4148
+-112.88 36.688 4121
+-112.754 36.688 4093
+-112.628 36.688 4034
+-112.502 36.688 3965
+-112.376 36.688 3898
+-112.25 36.688 3857
+-112.124 36.688 3811
+-111.998 36.688 3799
+-111.872 36.688 3809
+-111.746 36.688 3835
+-111.62 36.688 3851
+-111.494 36.688 3834
+-111.368 36.688 3866
+-111.242 36.688 3896
+-111.116 36.688 3896
+-110.99 36.688 3890
+-110.864 36.688 3891
+-110.738 36.688 3910
+-110.612 36.688 3934
+-110.486 36.688 3965
+-110.36 36.688 3993
+-110.234 36.688 4013
+-110.108 36.688 4005
+-109.982 36.688 3990
+-109.856 36.688 3964
+-109.73 36.688 3941
+-109.604 36.688 3940
+-109.478 36.688 3934
+-109.352 36.688 3930
+-109.226 36.688 3910
+-109.1 36.688 3887
+-108.974 36.688 3863
+-108.848 36.688 3835
+-108.722 36.688 3808
+-108.596 36.688 3771
+-108.47 36.688 3730
+-108.344 36.688 3695
+-108.218 36.688 3654
+-108.092 36.688 3615
+-107.966 36.688 3555
+-107.84 36.688 3490
+-107.714 36.688 3418
+-107.588 36.688 3340
+-107.462 36.688 3286
+-107.336 36.688 3237
+-107.21 36.688 3187
+-107.084 36.688 3142
+-106.958 36.688 3079
+-106.832 36.688 2986
+-106.706 36.688 2845
+-106.58 36.688 2688
+-106.454 36.688 2536
+-106.328 36.688 2473
+-106.202 36.688 2505
+-106.076 36.688 2523
+-105.95 36.688 2513
+-105.824 36.688 2523
+-105.698 36.688 2564
+-105.572 36.688 2622
+-105.446 36.688 2684
+-105.32 36.688 2729
+-105.194 36.688 2777
+-105.068 36.688 2831
+-104.942 36.688 2869
+-104.816 36.688 2902
+-104.69 36.688 2930
+-104.564 36.688 2955
+-104.438 36.688 2929
+-104.312 36.688 2946
+-104.186 36.688 2961
+-104.06 36.688 2975
+-103.934 36.688 2987
+-103.808 36.688 3041
+-103.682 36.688 3059
+-103.556 36.688 3057
+-103.43 36.688 3070
+-103.304 36.688 3081
+-103.178 36.688 3091
+-103.052 36.688 3101
+-102.926 36.688 3110
+-102.8 36.688 3119
+-102.674 36.688 3127
+-102.548 36.688 3112
+-102.422 36.688 3188
+-102.296 36.688 3194
+-102.17 36.688 3212
+-102.044 36.688 3103
+-101.918 36.688 3020
+-101.792 36.688 2979
+-101.666 36.688 2881
+-101.54 36.688 2811
+-101.414 36.688 2827
+-101.288 36.688 2753
+-101.162 36.688 2741
+-101.036 36.688 2779
+-100.91 36.688 2878
+-100.784 36.688 2921
+-100.658 36.688 3026
+-100.532 36.688 3053
+-100.406 36.688 3050
+-100.28 36.688 3047
+-100.154 36.688 3043
+-100.028 36.688 3087
+-99.902 36.688 3082
+-99.776 36.688 3082
+-99.65 36.688 3093
+-99.524 36.688 3088
+-99.398 36.688 3098
+-99.272 36.688 3120
+-99.146 36.688 3150
+-99.02 36.688 3145
+-98.894 36.688 3139
+-98.768 36.688 3133
+-98.642 36.688 3125
+-98.516 36.688 3145
+-98.39 36.688 3134
+-98.264 36.688 3122
+-98.138 36.688 3116
+-98.012 36.688 3064
+-97.886 36.688 3043
+-97.76 36.688 3102
+-97.634 36.688 3065
+-97.508 36.688 3016
+-97.382 36.688 2952
+-97.256 36.688 2872
+-97.13 36.688 2807
+-97.004 36.688 2710
+-96.878 36.688 2605
+-96.752 36.688 2587
+-96.626 36.688 2702
+-96.5 36.688 2962
+-96.374 36.688 3267
+-96.248 36.688 3498
+-96.122 36.688 3663
+-95.996 36.688 3764
+-95.87 36.688 3854
+-95.744 36.688 3888
+-95.618 36.688 3907
+-95.492 36.688 3939
+-95.366 36.688 3951
+-95.24 36.688 3944
+-95.114 36.688 4075
+-94.988 36.688 4246
+-94.862 36.688 4357
+-94.736 36.688 4412
+-94.61 36.688 4480
+-94.484 36.688 4611
+-94.358 36.688 4778
+-94.232 36.688 4874
+-94.106 36.688 4950
+-93.98 36.688 5038
+-93.854 36.688 5128
+-93.728 36.688 5194
+-93.602 36.688 5266
+-93.476 36.688 5412
+-93.35 36.688 5629
+-93.224 36.688 5734
+-93.098 36.688 5841
+-92.972 36.688 5920
+-92.846 36.688 6042
+-92.72 36.688 6108
+-92.594 36.688 6178
+-92.468 36.688 6339
+-92.342 36.688 6379
+-92.216 36.688 6495
+-92.09 36.688 6593
+-91.964 36.688 6670
+-91.838 36.688 6726
+-91.712 36.688 6809
+-91.586 36.688 6878
+-91.46 36.688 6908
+-91.334 36.688 6984
+-91.208 36.688 7019
+-91.082 36.688 7063
+-90.956 36.688 7128
+-90.83 36.688 7161
+-90.704 36.688 7162
+-90.578 36.688 7600
+-90.452 36.688 7720
+-90.326 36.688 7793
+-90.2 36.688 7854
+-90.074 36.688 8028
+-89.948 36.688 8122
+-89.822 36.688 8227
+-89.696 36.688 8306
+-89.57 36.688 8403
+-89.444 36.688 8490
+-89.318 36.688 8556
+-89.192 36.688 8607
+-89.066 36.688 8665
+-88.94 36.688 8667
+-88.814 36.688 8706
+-88.688 36.688 8673
+-88.562 36.688 8665
+-88.436 36.688 8600
+-88.31 36.688 8559
+-88.184 36.688 8490
+-88.058 36.688 8352
+-87.932 36.688 8304
+-87.806 36.688 8191
+-87.68 36.688 8126
+-87.554 36.688 8017
+-87.428 36.688 7891
+-87.302 36.688 7764
+-87.176 36.688 7589
+-87.05 36.688 7509
+-86.924 36.688 7354
+-86.798 36.688 7240
+-86.672 36.688 7170
+-86.546 36.688 6970
+-86.42 36.688 6849
+-86.294 36.688 6709
+-86.168 36.688 6673
+-86.042 36.688 6501
+-85.916 36.688 6333
+-85.79 36.688 6275
+-85.664 36.688 6123
+-85.538 36.688 5987
+-85.412 36.688 5833
+-85.286 36.688 5738
+-85.16 36.688 5557
+-85.034 36.688 5352
+-84.908 36.688 5319
+-84.782 36.688 5145
+-84.656 36.688 4981
+-84.53 36.688 4867
+-84.404 36.688 4821
+-84.278 36.688 4800
+-84.152 36.688 4787
+-84.026 36.688 4726
+-83.9 36.688 4543
+-83.774 36.688 4367
+-83.648 36.688 4232
+-83.522 36.688 4166
+-83.396 36.688 4111
+-83.27 36.688 3997
+-83.144 36.688 3730
+-83.018 36.688 3387
+-82.892 36.688 3009
+-82.766 36.688 2848
+-82.64 36.688 2963
+-82.514 36.688 3149
+-82.388 36.688 3296
+-82.262 36.688 3405
+-82.136 36.688 3476
+-82.01 36.688 3521
+-81.884 36.688 3551
+-81.758 36.688 3570
+-81.632 36.688 3461
+-81.506 36.688 3468
+-81.38 36.688 3423
+-81.254 36.688 3424
+-81.128 36.688 3338
+-81.002 36.688 3287
+-80.876 36.688 3284
+-80.75 36.688 3253
+-80.624 36.688 3222
+-80.498 36.688 3202
+-80.372 36.688 3181
+-80.246 36.688 3158
+-80.12 36.688 3157
+-79.994 36.688 3157
+-79.868 36.688 3157
+-79.742 36.688 3158
+-79.616 36.688 3158
+-79.49 36.688 3159
+-79.364 36.688 3160
+-79.238 36.688 3161
+-79.112 36.688 3163
+-78.986 36.688 3164
+-78.86 36.688 3059
+-78.734 36.688 3057
+-78.608 36.688 3055
+-78.482 36.688 3052
+-78.356 36.688 3051
+-78.23 36.688 3049
+-78.104 36.688 3047
+-77.978 36.688 3045
+-77.852 36.688 3044
+-77.726 36.688 3042
+-77.6 36.688 3041
+-77.474 36.688 3040
+-77.348 36.688 3038
+-77.222 36.688 3037
+-77.096 36.688 3036
+-76.97 36.688 3036
+-76.844 36.688 2926
+-76.718 36.688 2925
+-76.592 36.688 2929
+-76.466 36.688 2928
+-76.34 36.688 2892
+-76.214 36.688 2767
+-76.088 36.688 2766
+-75.962 36.688 2766
+-75.836 36.688 2781
+-75.71 36.688 2735
+-75.584 36.688 2753
+-75.458 36.688 2753
+-75.332 36.688 2768
+-75.206 36.688 2736
+-75.08 36.688 2680
+-74.954 36.688 2681
+-74.828 36.688 2682
+-74.702 36.688 2683
+-74.576 36.688 2702
+-74.45 36.688 2711
+-74.324 36.688 2723
+-74.198 36.688 2724
+-74.072 36.688 2759
+-73.946 36.688 2774
+-73.82 36.688 2776
+-73.694 36.688 2831
+-73.568 36.688 2855
+-73.442 36.688 2839
+-73.316 36.688 2832
+-73.19 36.688 2974
+-73.064 36.688 2978
+-72.938 36.688 3036
+-72.812 36.688 3040
+-72.686 36.688 3044
+-72.56 36.688 3048
+-72.434 36.688 3051
+-72.308 36.688 2977
+-72.182 36.688 2999
+-72.056 36.688 3002
+-71.93 36.688 2995
+-71.804 36.688 3288
+-71.678 36.688 3318
+-71.552 36.688 3320
+-71.426 36.688 3317
+-71.3 36.688 3320
+-71.174 36.688 3325
+-71.048 36.688 3341
+-70.922 36.688 3343
+-70.796 36.688 3333
+-70.67 36.688 3335
+-70.544 36.688 3290
+-70.418 36.688 3292
+-70.292 36.688 3293
+-70.166 36.688 3358
+-70.04 36.688 3354
+-69.914 36.688 3364
+-69.788 36.688 3366
+-69.662 36.688 3346
+-69.536 36.688 3368
+-69.41 36.688 3415
+-69.284 36.688 3427
+-69.158 36.688 3427
+-69.032 36.688 3426
+-68.906 36.688 3479
+-68.78 36.688 3481
+-68.654 36.688 3421
+-68.528 36.688 3445
+-68.402 36.688 3439
+-68.276 36.688 3360
+-68.15 36.688 3272
+-68.024 36.688 3295
+-67.898 36.688 3297
+-67.772 36.688 3330
+-67.646 36.688 3304
+-67.52 36.688 3316
+-67.394 36.688 3318
+-67.268 36.688 3297
+-67.142 36.688 3299
+-67.016 36.688 3300
+-66.89 36.688 3276
+-66.764 36.688 3258
+-66.638 36.688 3295
+-66.512 36.688 3289
+-66.386 36.688 3291
+-66.26 36.688 3292
+-66.134 36.688 3211
+-66.008 36.688 3253
+-65.882 36.688 3248
+-65.756 36.688 3250
+-65.63 36.688 3251
+-65.504 36.688 3484
+-65.378 36.688 3408
+-65.252 36.688 3418
+-65.126 36.688 3419
+-128 36.636 2912
+-127.874 36.636 2906
+-127.748 36.636 2899
+-127.622 36.636 2892
+-127.496 36.636 2885
+-127.37 36.636 2878
+-127.244 36.636 3021
+-127.118 36.636 3011
+-126.992 36.636 3001
+-126.866 36.636 2990
+-126.74 36.636 2979
+-126.614 36.636 3001
+-126.488 36.636 2989
+-126.362 36.636 2977
+-126.236 36.636 2964
+-126.11 36.636 2952
+-125.984 36.636 2905
+-125.858 36.636 2934
+-125.732 36.636 2942
+-125.606 36.636 2932
+-125.48 36.636 2999
+-125.354 36.636 2990
+-125.228 36.636 3067
+-125.102 36.636 3068
+-124.976 36.636 3119
+-124.85 36.636 3126
+-124.724 36.636 3154
+-124.598 36.636 3169
+-124.472 36.636 3188
+-124.346 36.636 3233
+-124.22 36.636 3288
+-124.094 36.636 3310
+-123.968 36.636 3331
+-123.842 36.636 3349
+-123.716 36.636 3374
+-123.59 36.636 3438
+-123.464 36.636 3466
+-123.338 36.636 3485
+-123.212 36.636 3519
+-123.086 36.636 3569
+-122.96 36.636 3696
+-122.834 36.636 3734
+-122.708 36.636 3827
+-122.582 36.636 3835
+-122.456 36.636 3812
+-122.33 36.636 3820
+-122.204 36.636 3912
+-122.078 36.636 4078
+-121.952 36.636 4280
+-121.826 36.636 4420
+-121.7 36.636 4496
+-121.574 36.636 4467
+-121.448 36.636 4453
+-121.322 36.636 4591
+-121.196 36.636 4749
+-121.07 36.636 4804
+-120.944 36.636 4857
+-120.818 36.636 4888
+-120.692 36.636 4969
+-120.566 36.636 5066
+-120.44 36.636 5191
+-120.314 36.636 5350
+-120.188 36.636 5461
+-120.062 36.636 5569
+-119.936 36.636 5662
+-119.81 36.636 5740
+-119.684 36.636 5796
+-119.558 36.636 5891
+-119.432 36.636 5971
+-119.306 36.636 6045
+-119.18 36.636 6139
+-119.054 36.636 6227
+-118.928 36.636 6292
+-118.802 36.636 6414
+-118.676 36.636 6453
+-118.55 36.636 6520
+-118.424 36.636 6556
+-118.298 36.636 6612
+-118.172 36.636 6673
+-118.046 36.636 6730
+-117.92 36.636 6776
+-117.794 36.636 6773
+-117.668 36.636 6809
+-117.542 36.636 6829
+-117.416 36.636 6838
+-117.29 36.636 6809
+-117.164 36.636 6832
+-117.038 36.636 6817
+-116.912 36.636 6790
+-116.786 36.636 6772
+-116.66 36.636 6713
+-116.534 36.636 6690
+-116.408 36.636 6631
+-116.282 36.636 6605
+-116.156 36.636 6546
+-116.03 36.636 6519
+-115.904 36.636 6413
+-115.778 36.636 6330
+-115.652 36.636 6258
+-115.526 36.636 6215
+-115.4 36.636 6137
+-115.274 36.636 6034
+-115.148 36.636 5940
+-115.022 36.636 5826
+-114.896 36.636 5793
+-114.77 36.636 5692
+-114.644 36.636 5593
+-114.518 36.636 5470
+-114.392 36.636 5366
+-114.266 36.636 5240
+-114.14 36.636 5202
+-114.014 36.636 5088
+-113.888 36.636 4982
+-113.762 36.636 4930
+-113.636 36.636 4866
+-113.51 36.636 4722
+-113.384 36.636 4559
+-113.258 36.636 4403
+-113.132 36.636 4204
+-113.006 36.636 4051
+-112.88 36.636 4112
+-112.754 36.636 4125
+-112.628 36.636 4060
+-112.502 36.636 3994
+-112.376 36.636 3928
+-112.25 36.636 3886
+-112.124 36.636 3828
+-111.998 36.636 3785
+-111.872 36.636 3830
+-111.746 36.636 3883
+-111.62 36.636 3893
+-111.494 36.636 3890
+-111.368 36.636 3921
+-111.242 36.636 3950
+-111.116 36.636 3946
+-110.99 36.636 3944
+-110.864 36.636 3964
+-110.738 36.636 3989
+-110.612 36.636 4010
+-110.486 36.636 4031
+-110.36 36.636 4059
+-110.234 36.636 4073
+-110.108 36.636 4077
+-109.982 36.636 4061
+-109.856 36.636 4067
+-109.73 36.636 4048
+-109.604 36.636 4034
+-109.478 36.636 4017
+-109.352 36.636 4005
+-109.226 36.636 3977
+-109.1 36.636 3924
+-108.974 36.636 3874
+-108.848 36.636 3833
+-108.722 36.636 3839
+-108.596 36.636 3826
+-108.47 36.636 3792
+-108.344 36.636 3764
+-108.218 36.636 3716
+-108.092 36.636 3693
+-107.966 36.636 3621
+-107.84 36.636 3552
+-107.714 36.636 3501
+-107.588 36.636 3412
+-107.462 36.636 3362
+-107.336 36.636 3303
+-107.21 36.636 3254
+-107.084 36.636 3197
+-106.958 36.636 3126
+-106.832 36.636 3016
+-106.706 36.636 2897
+-106.58 36.636 2748
+-106.454 36.636 2594
+-106.328 36.636 2531
+-106.202 36.636 2558
+-106.076 36.636 2599
+-105.95 36.636 2620
+-105.824 36.636 2636
+-105.698 36.636 2665
+-105.572 36.636 2704
+-105.446 36.636 2736
+-105.32 36.636 2776
+-105.194 36.636 2826
+-105.068 36.636 2862
+-104.942 36.636 2894
+-104.816 36.636 2922
+-104.69 36.636 2947
+-104.564 36.636 2969
+-104.438 36.636 2987
+-104.312 36.636 2958
+-104.186 36.636 2972
+-104.06 36.636 2984
+-103.934 36.636 3036
+-103.808 36.636 3055
+-103.682 36.636 3053
+-103.556 36.636 3065
+-103.43 36.636 3077
+-103.304 36.636 3088
+-103.178 36.636 3098
+-103.052 36.636 3107
+-102.926 36.636 3116
+-102.8 36.636 3124
+-102.674 36.636 3110
+-102.548 36.636 3185
+-102.422 36.636 3191
+-102.296 36.636 3209
+-102.17 36.636 3200
+-102.044 36.636 3108
+-101.918 36.636 3025
+-101.792 36.636 2985
+-101.666 36.636 2886
+-101.54 36.636 2814
+-101.414 36.636 2831
+-101.288 36.636 2754
+-101.162 36.636 2747
+-101.036 36.636 2777
+-100.91 36.636 2871
+-100.784 36.636 2912
+-100.658 36.636 3018
+-100.532 36.636 3045
+-100.406 36.636 3041
+-100.28 36.636 3038
+-100.154 36.636 3081
+-100.028 36.636 3076
+-99.902 36.636 3076
+-99.776 36.636 3087
+-99.65 36.636 3082
+-99.524 36.636 3091
+-99.398 36.636 3114
+-99.272 36.636 3143
+-99.146 36.636 3137
+-99.02 36.636 3132
+-98.894 36.636 3125
+-98.768 36.636 3118
+-98.642 36.636 3138
+-98.516 36.636 3128
+-98.39 36.636 3116
+-98.264 36.636 3112
+-98.138 36.636 3062
+-98.012 36.636 3044
+-97.886 36.636 3092
+-97.76 36.636 3061
+-97.634 36.636 3019
+-97.508 36.636 2982
+-97.382 36.636 2906
+-97.256 36.636 2801
+-97.13 36.636 2696
+-97.004 36.636 2524
+-96.878 36.636 2368
+-96.752 36.636 2287
+-96.626 36.636 2425
+-96.5 36.636 2779
+-96.374 36.636 3136
+-96.248 36.636 3413
+-96.122 36.636 3621
+-95.996 36.636 3776
+-95.87 36.636 3850
+-95.744 36.636 3896
+-95.618 36.636 3927
+-95.492 36.636 3958
+-95.366 36.636 4018
+-95.24 36.636 4069
+-95.114 36.636 4147
+-94.988 36.636 4251
+-94.862 36.636 4353
+-94.736 36.636 4405
+-94.61 36.636 4385
+-94.484 36.636 4537
+-94.358 36.636 4749
+-94.232 36.636 4867
+-94.106 36.636 4952
+-93.98 36.636 5021
+-93.854 36.636 5101
+-93.728 36.636 5174
+-93.602 36.636 5212
+-93.476 36.636 5362
+-93.35 36.636 5567
+-93.224 36.636 5612
+-93.098 36.636 5797
+-92.972 36.636 5863
+-92.846 36.636 5979
+-92.72 36.636 6043
+-92.594 36.636 6146
+-92.468 36.636 6263
+-92.342 36.636 6336
+-92.216 36.636 6422
+-92.09 36.636 6510
+-91.964 36.636 6642
+-91.838 36.636 6695
+-91.712 36.636 6794
+-91.586 36.636 6827
+-91.46 36.636 6866
+-91.334 36.636 6927
+-91.208 36.636 7008
+-91.082 36.636 7011
+-90.956 36.636 7042
+-90.83 36.636 7081
+-90.704 36.636 7077
+-90.578 36.636 7456
+-90.452 36.636 7683
+-90.326 36.636 7760
+-90.2 36.636 7822
+-90.074 36.636 7956
+-89.948 36.636 8075
+-89.822 36.636 8190
+-89.696 36.636 8308
+-89.57 36.636 8402
+-89.444 36.636 8433
+-89.318 36.636 8512
+-89.192 36.636 8517
+-89.066 36.636 8591
+-88.94 36.636 8617
+-88.814 36.636 8618
+-88.688 36.636 8607
+-88.562 36.636 8579
+-88.436 36.636 8552
+-88.31 36.636 8495
+-88.184 36.636 8421
+-88.058 36.636 8360
+-87.932 36.636 8239
+-87.806 36.636 8193
+-87.68 36.636 8064
+-87.554 36.636 7915
+-87.428 36.636 7784
+-87.302 36.636 7752
+-87.176 36.636 7569
+-87.05 36.636 7443
+-86.924 36.636 7385
+-86.798 36.636 7256
+-86.672 36.636 7092
+-86.546 36.636 6921
+-86.42 36.636 6804
+-86.294 36.636 6684
+-86.168 36.636 6577
+-86.042 36.636 6478
+-85.916 36.636 6357
+-85.79 36.636 6253
+-85.664 36.636 6082
+-85.538 36.636 5954
+-85.412 36.636 5818
+-85.286 36.636 5723
+-85.16 36.636 5568
+-85.034 36.636 5413
+-84.908 36.636 5342
+-84.782 36.636 5170
+-84.656 36.636 4984
+-84.53 36.636 4822
+-84.404 36.636 4654
+-84.278 36.636 4743
+-84.152 36.636 4746
+-84.026 36.636 4670
+-83.9 36.636 4475
+-83.774 36.636 4226
+-83.648 36.636 4049
+-83.522 36.636 4066
+-83.396 36.636 4072
+-83.27 36.636 3992
+-83.144 36.636 3779
+-83.018 36.636 3461
+-82.892 36.636 3130
+-82.766 36.636 2984
+-82.64 36.636 3042
+-82.514 36.636 3183
+-82.388 36.636 3316
+-82.262 36.636 3410
+-82.136 36.636 3472
+-82.01 36.636 3512
+-81.884 36.636 3538
+-81.758 36.636 3554
+-81.632 36.636 3434
+-81.506 36.636 3440
+-81.38 36.636 3397
+-81.254 36.636 3317
+-81.128 36.636 3268
+-81.002 36.636 3265
+-80.876 36.636 3262
+-80.75 36.636 3260
+-80.624 36.636 3230
+-80.498 36.636 3202
+-80.372 36.636 3180
+-80.246 36.636 3161
+-80.12 36.636 3140
+-79.994 36.636 3141
+-79.868 36.636 3142
+-79.742 36.636 3143
+-79.616 36.636 3144
+-79.49 36.636 3146
+-79.364 36.636 3148
+-79.238 36.636 3150
+-79.112 36.636 3151
+-78.986 36.636 3048
+-78.86 36.636 3046
+-78.734 36.636 3044
+-78.608 36.636 3042
+-78.482 36.636 3040
+-78.356 36.636 3039
+-78.23 36.636 3037
+-78.104 36.636 3036
+-77.978 36.636 3034
+-77.852 36.636 3033
+-77.726 36.636 3032
+-77.6 36.636 3031
+-77.474 36.636 3030
+-77.348 36.636 3029
+-77.222 36.636 3028
+-77.096 36.636 3027
+-76.97 36.636 2917
+-76.844 36.636 2916
+-76.718 36.636 2920
+-76.592 36.636 2920
+-76.466 36.636 2883
+-76.34 36.636 2758
+-76.214 36.636 2758
+-76.088 36.636 2758
+-75.962 36.636 2767
+-75.836 36.636 2727
+-75.71 36.636 2740
+-75.584 36.636 2746
+-75.458 36.636 2761
+-75.332 36.636 2729
+-75.206 36.636 2674
+-75.08 36.636 2675
+-74.954 36.636 2676
+-74.828 36.636 2677
+-74.702 36.636 2697
+-74.576 36.636 2706
+-74.45 36.636 2718
+-74.324 36.636 2720
+-74.198 36.636 2755
+-74.072 36.636 2769
+-73.946 36.636 2772
+-73.82 36.636 2828
+-73.694 36.636 2851
+-73.568 36.636 2835
+-73.442 36.636 2829
+-73.316 36.636 2970
+-73.19 36.636 2974
+-73.064 36.636 3032
+-72.938 36.636 3036
+-72.812 36.636 3040
+-72.686 36.636 3044
+-72.56 36.636 3048
+-72.434 36.636 2975
+-72.308 36.636 2996
+-72.182 36.636 2999
+-72.056 36.636 2993
+-71.93 36.636 3285
+-71.804 36.636 3315
+-71.678 36.636 3317
+-71.552 36.636 3314
+-71.426 36.636 3317
+-71.3 36.636 3322
+-71.174 36.636 3338
+-71.048 36.636 3341
+-70.922 36.636 3330
+-70.796 36.636 3333
+-70.67 36.636 3288
+-70.544 36.636 3289
+-70.418 36.636 3291
+-70.292 36.636 3355
+-70.166 36.636 3351
+-70.04 36.636 3362
+-69.914 36.636 3364
+-69.788 36.636 3344
+-69.662 36.636 3366
+-69.536 36.636 3413
+-69.41 36.636 3425
+-69.284 36.636 3425
+-69.158 36.636 3424
+-69.032 36.636 3477
+-68.906 36.636 3479
+-68.78 36.636 3419
+-68.654 36.636 3443
+-68.528 36.636 3437
+-68.402 36.636 3355
+-68.276 36.636 3270
+-68.15 36.636 3294
+-68.024 36.636 3295
+-67.898 36.636 3329
+-67.772 36.636 3302
+-67.646 36.636 3315
+-67.52 36.636 3316
+-67.394 36.636 3296
+-67.268 36.636 3298
+-67.142 36.636 3299
+-67.016 36.636 3275
+-66.89 36.636 3257
+-66.764 36.636 3293
+-66.638 36.636 3288
+-66.512 36.636 3290
+-66.386 36.636 3291
+-66.26 36.636 3210
+-66.134 36.636 3252
+-66.008 36.636 3247
+-65.882 36.636 3249
+-65.756 36.636 3250
+-65.63 36.636 3483
+-65.504 36.636 3403
+-65.378 36.636 3418
+-65.252 36.636 3418
+-65.126 36.636 3311
+-128 36.584 2814
+-127.874 36.584 2905
+-127.748 36.584 2898
+-127.622 36.584 2891
+-127.496 36.584 2883
+-127.37 36.584 3025
+-127.244 36.584 3015
+-127.118 36.584 3004
+-126.992 36.584 2993
+-126.866 36.584 2981
+-126.74 36.584 2968
+-126.614 36.584 2955
+-126.488 36.584 2975
+-126.362 36.584 2962
+-126.236 36.584 2947
+-126.11 36.584 2933
+-125.984 36.584 2918
+-125.858 36.584 2909
+-125.732 36.584 2896
+-125.606 36.584 2901
+-125.48 36.584 2890
+-125.354 36.584 2952
+-125.228 36.584 2942
+-125.102 36.584 3019
+-124.976 36.584 3023
+-124.85 36.584 3102
+-124.724 36.584 3115
+-124.598 36.584 3147
+-124.472 36.584 3170
+-124.346 36.584 3197
+-124.22 36.584 3228
+-124.094 36.584 3292
+-123.968 36.584 3323
+-123.842 36.584 3354
+-123.716 36.584 3382
+-123.59 36.584 3416
+-123.464 36.584 3497
+-123.338 36.584 3539
+-123.212 36.584 3572
+-123.086 36.584 3616
+-122.96 36.584 3684
+-122.834 36.584 3772
+-122.708 36.584 3847
+-122.582 36.584 3787
+-122.456 36.584 3694
+-122.33 36.584 3643
+-122.204 36.584 3764
+-122.078 36.584 4011
+-121.952 36.584 4235
+-121.826 36.584 4444
+-121.7 36.584 4528
+-121.574 36.584 4566
+-121.448 36.584 4619
+-121.322 36.584 4720
+-121.196 36.584 4769
+-121.07 36.584 4720
+-120.944 36.584 4816
+-120.818 36.584 4887
+-120.692 36.584 5024
+-120.566 36.584 5095
+-120.44 36.584 5195
+-120.314 36.584 5386
+-120.188 36.584 5457
+-120.062 36.584 5594
+-119.936 36.584 5652
+-119.81 36.584 5761
+-119.684 36.584 5888
+-119.558 36.584 5933
+-119.432 36.584 6020
+-119.306 36.584 6114
+-119.18 36.584 6188
+-119.054 36.584 6272
+-118.928 36.584 6383
+-118.802 36.584 6427
+-118.676 36.584 6512
+-118.55 36.584 6584
+-118.424 36.584 6621
+-118.298 36.584 6706
+-118.172 36.584 6719
+-118.046 36.584 6740
+-117.92 36.584 6821
+-117.794 36.584 6843
+-117.668 36.584 6855
+-117.542 36.584 6862
+-117.416 36.584 6862
+-117.29 36.584 6871
+-117.164 36.584 6899
+-117.038 36.584 6879
+-116.912 36.584 6846
+-116.786 36.584 6822
+-116.66 36.584 6814
+-116.534 36.584 6763
+-116.408 36.584 6726
+-116.282 36.584 6656
+-116.156 36.584 6591
+-116.03 36.584 6543
+-115.904 36.584 6490
+-115.778 36.584 6370
+-115.652 36.584 6311
+-115.526 36.584 6250
+-115.4 36.584 6156
+-115.274 36.584 6025
+-115.148 36.584 6032
+-115.022 36.584 5913
+-114.896 36.584 5827
+-114.77 36.584 5727
+-114.644 36.584 5642
+-114.518 36.584 5501
+-114.392 36.584 5404
+-114.266 36.584 5328
+-114.14 36.584 5195
+-114.014 36.584 5092
+-113.888 36.584 5044
+-113.762 36.584 4980
+-113.636 36.584 4866
+-113.51 36.584 4765
+-113.384 36.584 4598
+-113.258 36.584 4453
+-113.132 36.584 4288
+-113.006 36.584 4185
+-112.88 36.584 4161
+-112.754 36.584 4163
+-112.628 36.584 4073
+-112.502 36.584 4009
+-112.376 36.584 3962
+-112.25 36.584 3915
+-112.124 36.584 3877
+-111.998 36.584 3847
+-111.872 36.584 3881
+-111.746 36.584 3930
+-111.62 36.584 3954
+-111.494 36.584 3964
+-111.368 36.584 3968
+-111.242 36.584 3977
+-111.116 36.584 3978
+-110.99 36.584 4005
+-110.864 36.584 4033
+-110.738 36.584 4051
+-110.612 36.584 4076
+-110.486 36.584 4082
+-110.36 36.584 4107
+-110.234 36.584 4125
+-110.108 36.584 4131
+-109.982 36.584 4127
+-109.856 36.584 4122
+-109.73 36.584 4120
+-109.604 36.584 4102
+-109.478 36.584 4084
+-109.352 36.584 4055
+-109.226 36.584 4022
+-109.1 36.584 3949
+-108.974 36.584 3857
+-108.848 36.584 3807
+-108.722 36.584 3828
+-108.596 36.584 3844
+-108.47 36.584 3809
+-108.344 36.584 3788
+-108.218 36.584 3763
+-108.092 36.584 3732
+-107.966 36.584 3700
+-107.84 36.584 3592
+-107.714 36.584 3551
+-107.588 36.584 3457
+-107.462 36.584 3411
+-107.336 36.584 3362
+-107.21 36.584 3308
+-107.084 36.584 3249
+-106.958 36.584 3159
+-106.832 36.584 3077
+-106.706 36.584 2972
+-106.58 36.584 2827
+-106.454 36.584 2724
+-106.328 36.584 2668
+-106.202 36.584 2667
+-106.076 36.584 2688
+-105.95 36.584 2705
+-105.824 36.584 2724
+-105.698 36.584 2746
+-105.572 36.584 2762
+-105.446 36.584 2791
+-105.32 36.584 2833
+-105.194 36.584 2864
+-105.068 36.584 2893
+-104.942 36.584 2920
+-104.816 36.584 2944
+-104.69 36.584 2965
+-104.564 36.584 2983
+-104.438 36.584 3000
+-104.312 36.584 3016
+-104.186 36.584 3020
+-104.06 36.584 3033
+-103.934 36.584 3051
+-103.808 36.584 3050
+-103.682 36.584 3062
+-103.556 36.584 3074
+-103.43 36.584 3085
+-103.304 36.584 3095
+-103.178 36.584 3105
+-103.052 36.584 3114
+-102.926 36.584 3122
+-102.8 36.584 3108
+-102.674 36.584 3182
+-102.548 36.584 3188
+-102.422 36.584 3206
+-102.296 36.584 3198
+-102.17 36.584 3206
+-102.044 36.584 3114
+-101.918 36.584 3030
+-101.792 36.584 2991
+-101.666 36.584 2951
+-101.54 36.584 2817
+-101.414 36.584 2834
+-101.288 36.584 2772
+-101.162 36.584 2747
+-101.036 36.584 2775
+-100.91 36.584 2870
+-100.784 36.584 2904
+-100.658 36.584 3011
+-100.532 36.584 3036
+-100.406 36.584 3033
+-100.28 36.584 3076
+-100.154 36.584 3071
+-100.028 36.584 3071
+-99.902 36.584 3081
+-99.776 36.584 3076
+-99.65 36.584 3086
+-99.524 36.584 3108
+-99.398 36.584 3137
+-99.272 36.584 3131
+-99.146 36.584 3125
+-99.02 36.584 3118
+-98.894 36.584 3111
+-98.768 36.584 3131
+-98.642 36.584 3122
+-98.516 36.584 3111
+-98.39 36.584 3108
+-98.264 36.584 3061
+-98.138 36.584 3045
+-98.012 36.584 3098
+-97.886 36.584 3072
+-97.76 36.584 3040
+-97.634 36.584 3015
+-97.508 36.584 2956
+-97.382 36.584 2875
+-97.256 36.584 2766
+-97.13 36.584 2619
+-97.004 36.584 2459
+-96.878 36.584 2265
+-96.752 36.584 2171
+-96.626 36.584 2302
+-96.5 36.584 2650
+-96.374 36.584 3067
+-96.248 36.584 3392
+-96.122 36.584 3617
+-95.996 36.584 3747
+-95.87 36.584 3830
+-95.744 36.584 3884
+-95.618 36.584 3947
+-95.492 36.584 3979
+-95.366 36.584 4097
+-95.24 36.584 4128
+-95.114 36.584 4177
+-94.988 36.584 4263
+-94.862 36.584 4358
+-94.736 36.584 4435
+-94.61 36.584 4470
+-94.484 36.584 4597
+-94.358 36.584 4752
+-94.232 36.584 4865
+-94.106 36.584 4953
+-93.98 36.584 4918
+-93.854 36.584 5090
+-93.728 36.584 5121
+-93.602 36.584 5191
+-93.476 36.584 5316
+-93.35 36.584 5495
+-93.224 36.584 5658
+-93.098 36.584 5802
+-92.972 36.584 5887
+-92.846 36.584 5929
+-92.72 36.584 6027
+-92.594 36.584 6106
+-92.468 36.584 6191
+-92.342 36.584 6298
+-92.216 36.584 6365
+-92.09 36.584 6450
+-91.964 36.584 6565
+-91.838 36.584 6640
+-91.712 36.584 6681
+-91.586 36.584 6763
+-91.46 36.584 6843
+-91.334 36.584 6870
+-91.208 36.584 6924
+-91.082 36.584 6957
+-90.956 36.584 6989
+-90.83 36.584 7109
+-90.704 36.584 7433
+-90.578 36.584 7500
+-90.452 36.584 7579
+-90.326 36.584 7733
+-90.2 36.584 7875
+-90.074 36.584 7905
+-89.948 36.584 8072
+-89.822 36.584 8143
+-89.696 36.584 8272
+-89.57 36.584 8314
+-89.444 36.584 8356
+-89.318 36.584 8439
+-89.192 36.584 8492
+-89.066 36.584 8526
+-88.94 36.584 8576
+-88.814 36.584 8549
+-88.688 36.584 8548
+-88.562 36.584 8524
+-88.436 36.584 8472
+-88.31 36.584 8430
+-88.184 36.584 8383
+-88.058 36.584 8304
+-87.932 36.584 8218
+-87.806 36.584 8155
+-87.68 36.584 7962
+-87.554 36.584 7941
+-87.428 36.584 7806
+-87.302 36.584 7716
+-87.176 36.584 7574
+-87.05 36.584 7476
+-86.924 36.584 7344
+-86.798 36.584 7176
+-86.672 36.584 7077
+-86.546 36.584 6916
+-86.42 36.584 6804
+-86.294 36.584 6654
+-86.168 36.584 6550
+-86.042 36.584 6436
+-85.916 36.584 6250
+-85.79 36.584 6181
+-85.664 36.584 6013
+-85.538 36.584 5925
+-85.412 36.584 5797
+-85.286 36.584 5655
+-85.16 36.584 5573
+-85.034 36.584 5509
+-84.908 36.584 5352
+-84.782 36.584 5180
+-84.656 36.584 4967
+-84.53 36.584 4777
+-84.404 36.584 4682
+-84.278 36.584 4720
+-84.152 36.584 4708
+-84.026 36.584 4646
+-83.9 36.584 4430
+-83.774 36.584 4107
+-83.648 36.584 3918
+-83.522 36.584 4009
+-83.396 36.584 4036
+-83.27 36.584 3981
+-83.144 36.584 3840
+-83.018 36.584 3616
+-82.892 36.584 3352
+-82.766 36.584 3229
+-82.64 36.584 3222
+-82.514 36.584 3291
+-82.388 36.584 3372
+-82.262 36.584 3436
+-82.136 36.584 3480
+-82.01 36.584 3508
+-81.884 36.584 3479
+-81.758 36.584 3394
+-81.632 36.584 3411
+-81.506 36.584 3415
+-81.38 36.584 3322
+-81.254 36.584 3289
+-81.128 36.584 3243
+-81.002 36.584 3240
+-80.876 36.584 3238
+-80.75 36.584 3237
+-80.624 36.584 3237
+-80.498 36.584 3204
+-80.372 36.584 3204
+-80.246 36.584 3160
+-80.12 36.584 3142
+-79.994 36.584 3123
+-79.868 36.584 3125
+-79.742 36.584 3127
+-79.616 36.584 3130
+-79.49 36.584 3132
+-79.364 36.584 3135
+-79.238 36.584 3137
+-79.112 36.584 3036
+-78.986 36.584 3034
+-78.86 36.584 3032
+-78.734 36.584 3031
+-78.608 36.584 3029
+-78.482 36.584 3028
+-78.356 36.584 3027
+-78.23 36.584 3025
+-78.104 36.584 3024
+-77.978 36.584 3023
+-77.852 36.584 3022
+-77.726 36.584 3021
+-77.6 36.584 3020
+-77.474 36.584 3019
+-77.348 36.584 3018
+-77.222 36.584 3018
+-77.096 36.584 2907
+-76.97 36.584 2907
+-76.844 36.584 2911
+-76.718 36.584 2911
+-76.592 36.584 2874
+-76.466 36.584 2874
+-76.34 36.584 2873
+-76.214 36.584 2749
+-76.088 36.584 2758
+-75.962 36.584 2719
+-75.836 36.584 2732
+-75.71 36.584 2738
+-75.584 36.584 2754
+-75.458 36.584 2722
+-75.332 36.584 2667
+-75.206 36.584 2669
+-75.08 36.584 2670
+-74.954 36.584 2671
+-74.828 36.584 2691
+-74.702 36.584 2701
+-74.576 36.584 2713
+-74.45 36.584 2715
+-74.324 36.584 2750
+-74.198 36.584 2765
+-74.072 36.584 2768
+-73.946 36.584 2823
+-73.82 36.584 2847
+-73.694 36.584 2831
+-73.568 36.584 2826
+-73.442 36.584 2966
+-73.316 36.584 2970
+-73.19 36.584 3028
+-73.064 36.584 3032
+-72.938 36.584 3036
+-72.812 36.584 3040
+-72.686 36.584 3044
+-72.56 36.584 2972
+-72.434 36.584 2993
+-72.308 36.584 2997
+-72.182 36.584 2990
+-72.056 36.584 3282
+-71.93 36.584 3311
+-71.804 36.584 3314
+-71.678 36.584 3311
+-71.552 36.584 3314
+-71.426 36.584 3319
+-71.3 36.584 3335
+-71.174 36.584 3338
+-71.048 36.584 3328
+-70.922 36.584 3330
+-70.796 36.584 3285
+-70.67 36.584 3287
+-70.544 36.584 3289
+-70.418 36.584 3353
+-70.292 36.584 3349
+-70.166 36.584 3359
+-70.04 36.584 3361
+-69.914 36.584 3342
+-69.788 36.584 3364
+-69.662 36.584 3411
+-69.536 36.584 3423
+-69.41 36.584 3422
+-69.284 36.584 3422
+-69.158 36.584 3474
+-69.032 36.584 3477
+-68.906 36.584 3417
+-68.78 36.584 3441
+-68.654 36.584 3435
+-68.528 36.584 3357
+-68.402 36.584 3269
+-68.276 36.584 3292
+-68.15 36.584 3294
+-68.024 36.584 3327
+-67.898 36.584 3301
+-67.772 36.584 3313
+-67.646 36.584 3315
+-67.52 36.584 3295
+-67.394 36.584 3296
+-67.268 36.584 3298
+-67.142 36.584 3274
+-67.016 36.584 3256
+-66.89 36.584 3292
+-66.764 36.584 3287
+-66.638 36.584 3288
+-66.512 36.584 3290
+-66.386 36.584 3209
+-66.26 36.584 3251
+-66.134 36.584 3247
+-66.008 36.584 3248
+-65.882 36.584 3249
+-65.756 36.584 3482
+-65.63 36.584 3406
+-65.504 36.584 3417
+-65.378 36.584 3418
+-65.252 36.584 3311
+-65.126 36.584 3297
+-128 36.532 2912
+-127.874 36.532 2905
+-127.748 36.532 2897
+-127.622 36.532 2890
+-127.496 36.532 3030
+-127.37 36.532 3019
+-127.244 36.532 3008
+-127.118 36.532 2997
+-126.992 36.532 2985
+-126.866 36.532 2972
+-126.74 36.532 2958
+-126.614 36.532 2944
+-126.488 36.532 2929
+-126.362 36.532 2946
+-126.236 36.532 2930
+-126.11 36.532 2913
+-125.984 36.532 2896
+-125.858 36.532 2878
+-125.732 36.532 2866
+-125.606 36.532 2850
+-125.48 36.532 2851
+-125.354 36.532 2838
+-125.228 36.532 2895
+-125.102 36.532 2885
+-124.976 36.532 2962
+-124.85 36.532 2970
+-124.724 36.532 3052
+-124.598 36.532 3073
+-124.472 36.532 3116
+-124.346 36.532 3150
+-124.22 36.532 3189
+-124.094 36.532 3231
+-123.968 36.532 3305
+-123.842 36.532 3347
+-123.716 36.532 3387
+-123.59 36.532 3425
+-123.464 36.532 3468
+-123.338 36.532 3551
+-123.212 36.532 3609
+-123.086 36.532 3645
+-122.96 36.532 3686
+-122.834 36.532 3737
+-122.708 36.532 3844
+-122.582 36.532 3767
+-122.456 36.532 3630
+-122.33 36.532 3539
+-122.204 36.532 3679
+-122.078 36.532 3984
+-121.952 36.532 4279
+-121.826 36.532 4439
+-121.7 36.532 4563
+-121.574 36.532 4616
+-121.448 36.532 4692
+-121.322 36.532 4786
+-121.196 36.532 4811
+-121.07 36.532 4824
+-120.944 36.532 4874
+-120.818 36.532 4955
+-120.692 36.532 4988
+-120.566 36.532 5101
+-120.44 36.532 5272
+-120.314 36.532 5425
+-120.188 36.532 5531
+-120.062 36.532 5564
+-119.936 36.532 5699
+-119.81 36.532 5768
+-119.684 36.532 5881
+-119.558 36.532 6016
+-119.432 36.532 6086
+-119.306 36.532 6120
+-119.18 36.532 6236
+-119.054 36.532 6321
+-118.928 36.532 6418
+-118.802 36.532 6504
+-118.676 36.532 6567
+-118.55 36.532 6624
+-118.424 36.532 6682
+-118.298 36.532 6715
+-118.172 36.532 6750
+-118.046 36.532 6808
+-117.92 36.532 6877
+-117.794 36.532 6914
+-117.668 36.532 6914
+-117.542 36.532 6927
+-117.416 36.532 6941
+-117.29 36.532 6945
+-117.164 36.532 6927
+-117.038 36.532 6933
+-116.912 36.532 6896
+-116.786 36.532 6867
+-116.66 36.532 6843
+-116.534 36.532 6803
+-116.408 36.532 6750
+-116.282 36.532 6679
+-116.156 36.532 6628
+-116.03 36.532 6620
+-115.904 36.532 6547
+-115.778 36.532 6422
+-115.652 36.532 6373
+-115.526 36.532 6291
+-115.4 36.532 6226
+-115.274 36.532 6111
+-115.148 36.532 6040
+-115.022 36.532 5963
+-114.896 36.532 5832
+-114.77 36.532 5724
+-114.644 36.532 5617
+-114.518 36.532 5518
+-114.392 36.532 5434
+-114.266 36.532 5352
+-114.14 36.532 5243
+-114.014 36.532 5108
+-113.888 36.532 4979
+-113.762 36.532 4956
+-113.636 36.532 4867
+-113.51 36.532 4760
+-113.384 36.532 4633
+-113.258 36.532 4504
+-113.132 36.532 4390
+-113.006 36.532 4307
+-112.88 36.532 4218
+-112.754 36.532 4154
+-112.628 36.532 4090
+-112.502 36.532 4045
+-112.376 36.532 3983
+-112.25 36.532 3950
+-112.124 36.532 3932
+-111.998 36.532 3937
+-111.872 36.532 3946
+-111.746 36.532 3972
+-111.62 36.532 3982
+-111.494 36.532 3999
+-111.368 36.532 3995
+-111.242 36.532 3999
+-111.116 36.532 4034
+-110.99 36.532 4083
+-110.864 36.532 4105
+-110.738 36.532 4124
+-110.612 36.532 4126
+-110.486 36.532 4142
+-110.36 36.532 4137
+-110.234 36.532 4128
+-110.108 36.532 4154
+-109.982 36.532 4160
+-109.856 36.532 4161
+-109.73 36.532 4157
+-109.604 36.532 4151
+-109.478 36.532 4146
+-109.352 36.532 4109
+-109.226 36.532 4081
+-109.1 36.532 3996
+-108.974 36.532 3909
+-108.848 36.532 3860
+-108.722 36.532 3872
+-108.596 36.532 3860
+-108.47 36.532 3815
+-108.344 36.532 3786
+-108.218 36.532 3777
+-108.092 36.532 3756
+-107.966 36.532 3717
+-107.84 36.532 3653
+-107.714 36.532 3592
+-107.588 36.532 3537
+-107.462 36.532 3459
+-107.336 36.532 3407
+-107.21 36.532 3352
+-107.084 36.532 3293
+-106.958 36.532 3213
+-106.832 36.532 3136
+-106.706 36.532 3032
+-106.58 36.532 2923
+-106.454 36.532 2843
+-106.328 36.532 2791
+-106.202 36.532 2769
+-106.076 36.532 2767
+-105.95 36.532 2776
+-105.824 36.532 2790
+-105.698 36.532 2797
+-105.572 36.532 2817
+-105.446 36.532 2850
+-105.32 36.532 2875
+-105.194 36.532 2900
+-105.068 36.532 2923
+-104.942 36.532 2945
+-104.816 36.532 2965
+-104.69 36.532 2982
+-104.564 36.532 2999
+-104.438 36.532 3014
+-104.312 36.532 3018
+-104.186 36.532 3031
+-104.06 36.532 3049
+-103.934 36.532 3048
+-103.808 36.532 3059
+-103.682 36.532 3071
+-103.556 36.532 3083
+-103.43 36.532 3093
+-103.304 36.532 3103
+-103.178 36.532 3112
+-103.052 36.532 3121
+-102.926 36.532 3107
+-102.8 36.532 3180
+-102.674 36.532 3186
+-102.548 36.532 3204
+-102.422 36.532 3196
+-102.296 36.532 3205
+-102.17 36.532 3213
+-102.044 36.532 3119
+-101.918 36.532 3036
+-101.792 36.532 2998
+-101.666 36.532 3001
+-101.54 36.532 2875
+-101.414 36.532 2838
+-101.288 36.532 2775
+-101.162 36.532 2746
+-101.036 36.532 2774
+-100.91 36.532 2865
+-100.784 36.532 2887
+-100.658 36.532 3003
+-100.532 36.532 3028
+-100.406 36.532 3071
+-100.28 36.532 3066
+-100.154 36.532 3066
+-100.028 36.532 3077
+-99.902 36.532 3071
+-99.776 36.532 3081
+-99.65 36.532 3102
+-99.524 36.532 3131
+-99.398 36.532 3125
+-99.272 36.532 3119
+-99.146 36.532 3112
+-99.02 36.532 3105
+-98.894 36.532 3125
+-98.768 36.532 3116
+-98.642 36.532 3106
+-98.516 36.532 3103
+-98.39 36.532 3059
+-98.264 36.532 3045
+-98.138 36.532 3102
+-98.012 36.532 3081
+-97.886 36.532 3052
+-97.76 36.532 3020
+-97.634 36.532 2979
+-97.508 36.532 2945
+-97.382 36.532 2869
+-97.256 36.532 2768
+-97.13 36.532 2635
+-97.004 36.532 2506
+-96.878 36.532 2353
+-96.752 36.532 2278
+-96.626 36.532 2399
+-96.5 36.532 2714
+-96.374 36.532 3062
+-96.248 36.532 3336
+-96.122 36.532 3612
+-95.996 36.532 3739
+-95.87 36.532 3822
+-95.744 36.532 3898
+-95.618 36.532 3967
+-95.492 36.532 4003
+-95.366 36.532 4101
+-95.24 36.532 4153
+-95.114 36.532 4199
+-94.988 36.532 4255
+-94.862 36.532 4304
+-94.736 36.532 4387
+-94.61 36.532 4463
+-94.484 36.532 4600
+-94.358 36.532 4726
+-94.232 36.532 4847
+-94.106 36.532 4916
+-93.98 36.532 4887
+-93.854 36.532 5024
+-93.728 36.532 5103
+-93.602 36.532 5194
+-93.476 36.532 5285
+-93.35 36.532 5441
+-93.224 36.532 5627
+-93.098 36.532 5782
+-92.972 36.532 5836
+-92.846 36.532 5905
+-92.72 36.532 5985
+-92.594 36.532 6066
+-92.468 36.532 6204
+-92.342 36.532 6271
+-92.216 36.532 6336
+-92.09 36.532 6413
+-91.964 36.532 6511
+-91.838 36.532 6629
+-91.712 36.532 6610
+-91.586 36.532 6715
+-91.46 36.532 6799
+-91.334 36.532 6815
+-91.208 36.532 6859
+-91.082 36.532 6895
+-90.956 36.532 6939
+-90.83 36.532 6964
+-90.704 36.532 7235
+-90.578 36.532 7425
+-90.452 36.532 7573
+-90.326 36.532 7703
+-90.2 36.532 7781
+-90.074 36.532 7913
+-89.948 36.532 8071
+-89.822 36.532 8110
+-89.696 36.532 8181
+-89.57 36.532 8259
+-89.444 36.532 8374
+-89.318 36.532 8403
+-89.192 36.532 8457
+-89.066 36.532 8480
+-88.94 36.532 8497
+-88.814 36.532 8512
+-88.688 36.532 8507
+-88.562 36.532 8488
+-88.436 36.532 8425
+-88.31 36.532 8376
+-88.184 36.532 8333
+-88.058 36.532 8269
+-87.932 36.532 8154
+-87.806 36.532 8095
+-87.68 36.532 7971
+-87.554 36.532 7892
+-87.428 36.532 7791
+-87.302 36.532 7689
+-87.176 36.532 7558
+-87.05 36.532 7437
+-86.924 36.532 7283
+-86.798 36.532 7149
+-86.672 36.532 7046
+-86.546 36.532 6902
+-86.42 36.532 6828
+-86.294 36.532 6675
+-86.168 36.532 6547
+-86.042 36.532 6394
+-85.916 36.532 6295
+-85.79 36.532 6128
+-85.664 36.532 6013
+-85.538 36.532 5858
+-85.412 36.532 5738
+-85.286 36.532 5729
+-85.16 36.532 5657
+-85.034 36.532 5553
+-84.908 36.532 5326
+-84.782 36.532 5161
+-84.656 36.532 4950
+-84.53 36.532 4766
+-84.404 36.532 4655
+-84.278 36.532 4694
+-84.152 36.532 4674
+-84.026 36.532 4604
+-83.9 36.532 4438
+-83.774 36.532 4209
+-83.648 36.532 4047
+-83.522 36.532 4064
+-83.396 36.532 4059
+-83.27 36.532 4015
+-83.144 36.532 3915
+-83.018 36.532 3750
+-82.892 36.532 3545
+-82.766 36.532 3446
+-82.64 36.532 3424
+-82.514 36.532 3415
+-82.388 36.532 3437
+-82.262 36.532 3469
+-82.136 36.532 3492
+-82.01 36.532 3459
+-81.884 36.532 3371
+-81.758 36.532 3374
+-81.632 36.532 3375
+-81.506 36.532 3295
+-81.38 36.532 3290
+-81.254 36.532 3287
+-81.128 36.532 3255
+-81.002 36.532 3205
+-80.876 36.532 3204
+-80.75 36.532 3204
+-80.624 36.532 3205
+-80.498 36.532 3207
+-80.372 36.532 3185
+-80.246 36.532 3187
+-80.12 36.532 3141
+-79.994 36.532 3125
+-79.868 36.532 3108
+-79.742 36.532 3111
+-79.616 36.532 3114
+-79.49 36.532 3118
+-79.364 36.532 3121
+-79.238 36.532 3022
+-79.112 36.532 3021
+-78.986 36.532 3019
+-78.86 36.532 3018
+-78.734 36.532 3017
+-78.608 36.532 3016
+-78.482 36.532 3015
+-78.356 36.532 3014
+-78.23 36.532 3013
+-78.104 36.532 3012
+-77.978 36.532 3011
+-77.852 36.532 3010
+-77.726 36.532 3009
+-77.6 36.532 3009
+-77.474 36.532 3008
+-77.348 36.532 3008
+-77.222 36.532 2897
+-77.096 36.532 2897
+-76.97 36.532 2901
+-76.844 36.532 2901
+-76.718 36.532 2865
+-76.592 36.532 2864
+-76.466 36.532 2864
+-76.34 36.532 2863
+-76.214 36.532 2750
+-76.088 36.532 2767
+-75.962 36.532 2724
+-75.836 36.532 2730
+-75.71 36.532 2746
+-75.584 36.532 2715
+-75.458 36.532 2661
+-75.332 36.532 2662
+-75.206 36.532 2678
+-75.08 36.532 2680
+-74.954 36.532 2685
+-74.828 36.532 2695
+-74.702 36.532 2707
+-74.576 36.532 2709
+-74.45 36.532 2746
+-74.324 36.532 2761
+-74.198 36.532 2764
+-74.072 36.532 2819
+-73.946 36.532 2843
+-73.82 36.532 2827
+-73.694 36.532 2822
+-73.568 36.532 2962
+-73.442 36.532 2966
+-73.316 36.532 3023
+-73.19 36.532 3028
+-73.064 36.532 3032
+-72.938 36.532 3036
+-72.812 36.532 3041
+-72.686 36.532 2969
+-72.56 36.532 2990
+-72.434 36.532 2994
+-72.308 36.532 2987
+-72.182 36.532 3279
+-72.056 36.532 3308
+-71.93 36.532 3310
+-71.804 36.532 3308
+-71.678 36.532 3311
+-71.552 36.532 3316
+-71.426 36.532 3332
+-71.3 36.532 3335
+-71.174 36.532 3325
+-71.048 36.532 3327
+-70.922 36.532 3283
+-70.796 36.532 3285
+-70.67 36.532 3287
+-70.544 36.532 3350
+-70.418 36.532 3347
+-70.292 36.532 3357
+-70.166 36.532 3359
+-70.04 36.532 3340
+-69.914 36.532 3362
+-69.788 36.532 3408
+-69.662 36.532 3420
+-69.536 36.532 3420
+-69.41 36.532 3420
+-69.284 36.532 3472
+-69.158 36.532 3474
+-69.032 36.532 3415
+-68.906 36.532 3439
+-68.78 36.532 3433
+-68.654 36.532 3352
+-68.528 36.532 3267
+-68.402 36.532 3291
+-68.276 36.532 3292
+-68.15 36.532 3326
+-68.024 36.532 3299
+-67.898 36.532 3312
+-67.772 36.532 3314
+-67.646 36.532 3293
+-67.52 36.532 3295
+-67.394 36.532 3297
+-67.268 36.532 3273
+-67.142 36.532 3255
+-67.016 36.532 3291
+-66.89 36.532 3286
+-66.764 36.532 3287
+-66.638 36.532 3289
+-66.512 36.532 3208
+-66.386 36.532 3250
+-66.26 36.532 3246
+-66.134 36.532 3247
+-66.008 36.532 3248
+-65.882 36.532 3481
+-65.756 36.532 3401
+-65.63 36.532 3416
+-65.504 36.532 3417
+-65.378 36.532 3310
+-65.252 36.532 3296
+-65.126 36.532 3297
+-128 36.48 2960
+-127.874 36.48 2951
+-127.748 36.48 2943
+-127.622 36.48 2939
+-127.496 36.48 3025
+-127.37 36.48 3014
+-127.244 36.48 3002
+-127.118 36.48 2990
+-126.992 36.48 2977
+-126.866 36.48 2963
+-126.74 36.48 2948
+-126.614 36.48 2932
+-126.488 36.48 2916
+-126.362 36.48 2898
+-126.236 36.48 2912
+-126.11 36.48 2893
+-125.984 36.48 2872
+-125.858 36.48 2851
+-125.732 36.48 2829
+-125.606 36.48 2813
+-125.48 36.48 2793
+-125.354 36.48 2790
+-125.228 36.48 2774
+-125.102 36.48 2825
+-124.976 36.48 2815
+-124.85 36.48 2894
+-124.724 36.48 2909
+-124.598 36.48 2998
+-124.472 36.48 3032
+-124.346 36.48 3088
+-124.22 36.48 3137
+-124.094 36.48 3208
+-123.968 36.48 3262
+-123.842 36.48 3328
+-123.716 36.48 3380
+-123.59 36.48 3429
+-123.464 36.48 3475
+-123.338 36.48 3523
+-123.212 36.48 3611
+-123.086 36.48 3668
+-122.96 36.48 3700
+-122.834 36.48 3760
+-122.708 36.48 3810
+-122.582 36.48 3819
+-122.456 36.48 3716
+-122.33 36.48 3660
+-122.204 36.48 3788
+-122.078 36.48 4043
+-121.952 36.48 4306
+-121.826 36.48 4451
+-121.7 36.48 4551
+-121.574 36.48 4653
+-121.448 36.48 4713
+-121.322 36.48 4808
+-121.196 36.48 4849
+-121.07 36.48 4869
+-120.944 36.48 4936
+-120.818 36.48 5005
+-120.692 36.48 5064
+-120.566 36.48 5199
+-120.44 36.48 5372
+-120.314 36.48 5465
+-120.188 36.48 5542
+-120.062 36.48 5650
+-119.936 36.48 5707
+-119.81 36.48 5797
+-119.684 36.48 5880
+-119.558 36.48 6021
+-119.432 36.48 6153
+-119.306 36.48 6223
+-119.18 36.48 6315
+-119.054 36.48 6387
+-118.928 36.48 6488
+-118.802 36.48 6548
+-118.676 36.48 6613
+-118.55 36.48 6687
+-118.424 36.48 6707
+-118.298 36.48 6764
+-118.172 36.48 6833
+-118.046 36.48 6898
+-117.92 36.48 6942
+-117.794 36.48 6969
+-117.668 36.48 6969
+-117.542 36.48 7000
+-117.416 36.48 7011
+-117.29 36.48 6995
+-117.164 36.48 6983
+-117.038 36.48 6964
+-116.912 36.48 6954
+-116.786 36.48 6942
+-116.66 36.48 6865
+-116.534 36.48 6845
+-116.408 36.48 6834
+-116.282 36.48 6785
+-116.156 36.48 6704
+-116.03 36.48 6665
+-115.904 36.48 6548
+-115.778 36.48 6492
+-115.652 36.48 6378
+-115.526 36.48 6356
+-115.4 36.48 6245
+-115.274 36.48 6154
+-115.148 36.48 6063
+-115.022 36.48 5989
+-114.896 36.48 5874
+-114.77 36.48 5766
+-114.644 36.48 5612
+-114.518 36.48 5518
+-114.392 36.48 5459
+-114.266 36.48 5380
+-114.14 36.48 5272
+-114.014 36.48 5094
+-113.888 36.48 5036
+-113.762 36.48 4890
+-113.636 36.48 4849
+-113.51 36.48 4736
+-113.384 36.48 4637
+-113.258 36.48 4497
+-113.132 36.48 4386
+-113.006 36.48 4301
+-112.88 36.48 4193
+-112.754 36.48 4146
+-112.628 36.48 4094
+-112.502 36.48 4037
+-112.376 36.48 4002
+-112.25 36.48 3979
+-112.124 36.48 3965
+-111.998 36.48 3952
+-111.872 36.48 3972
+-111.746 36.48 3987
+-111.62 36.48 3993
+-111.494 36.48 4003
+-111.368 36.48 4027
+-111.242 36.48 4060
+-111.116 36.48 4103
+-110.99 36.48 4158
+-110.864 36.48 4187
+-110.738 36.48 4190
+-110.612 36.48 4179
+-110.486 36.48 4181
+-110.36 36.48 4171
+-110.234 36.48 4169
+-110.108 36.48 4175
+-109.982 36.48 4181
+-109.856 36.48 4187
+-109.73 36.48 4205
+-109.604 36.48 4182
+-109.478 36.48 4170
+-109.352 36.48 4160
+-109.226 36.48 4129
+-109.1 36.48 4079
+-108.974 36.48 4000
+-108.848 36.48 3949
+-108.722 36.48 3929
+-108.596 36.48 3885
+-108.47 36.48 3813
+-108.344 36.48 3775
+-108.218 36.48 3789
+-108.092 36.48 3763
+-107.966 36.48 3727
+-107.84 36.48 3683
+-107.714 36.48 3607
+-107.588 36.48 3564
+-107.462 36.48 3495
+-107.336 36.48 3440
+-107.21 36.48 3383
+-107.084 36.48 3314
+-106.958 36.48 3254
+-106.832 36.48 3169
+-106.706 36.48 3072
+-106.58 36.48 2989
+-106.454 36.48 2911
+-106.328 36.48 2850
+-106.202 36.48 2815
+-106.076 36.48 2807
+-105.95 36.48 2816
+-105.824 36.48 2822
+-105.698 36.48 2840
+-105.572 36.48 2870
+-105.446 36.48 2891
+-105.32 36.48 2912
+-105.194 36.48 2932
+-105.068 36.48 2951
+-104.942 36.48 2969
+-104.816 36.48 2984
+-104.69 36.48 3000
+-104.564 36.48 3014
+-104.438 36.48 3018
+-104.312 36.48 3030
+-104.186 36.48 3048
+-104.06 36.48 3048
+-103.934 36.48 3058
+-103.808 36.48 3070
+-103.682 36.48 3081
+-103.556 36.48 3092
+-103.43 36.48 3102
+-103.304 36.48 3111
+-103.178 36.48 3120
+-103.052 36.48 3107
+-102.926 36.48 3178
+-102.8 36.48 3185
+-102.674 36.48 3202
+-102.548 36.48 3195
+-102.422 36.48 3203
+-102.296 36.48 3212
+-102.17 36.48 3219
+-102.044 36.48 3125
+-101.918 36.48 3042
+-101.792 36.48 3052
+-101.666 36.48 2940
+-101.54 36.48 2923
+-101.414 36.48 2842
+-101.288 36.48 2777
+-101.162 36.48 2745
+-101.036 36.48 2789
+-100.91 36.48 2859
+-100.784 36.48 2880
+-100.658 36.48 2996
+-100.532 36.48 3067
+-100.406 36.48 3062
+-100.28 36.48 3062
+-100.154 36.48 3073
+-100.028 36.48 3067
+-99.902 36.48 3076
+-99.776 36.48 3098
+-99.65 36.48 3126
+-99.524 36.48 3120
+-99.398 36.48 3113
+-99.272 36.48 3107
+-99.146 36.48 3099
+-99.02 36.48 3120
+-98.894 36.48 3110
+-98.768 36.48 3100
+-98.642 36.48 3099
+-98.516 36.48 3056
+-98.39 36.48 3044
+-98.264 36.48 3071
+-98.138 36.48 3055
+-98.012 36.48 3037
+-97.886 36.48 3014
+-97.76 36.48 2986
+-97.634 36.48 2974
+-97.508 36.48 2926
+-97.382 36.48 2864
+-97.256 36.48 2784
+-97.13 36.48 2742
+-97.004 36.48 2641
+-96.878 36.48 2535
+-96.752 36.48 2506
+-96.626 36.48 2623
+-96.5 36.48 2850
+-96.374 36.48 3146
+-96.248 36.48 3361
+-96.122 36.48 3542
+-95.996 36.48 3655
+-95.87 36.48 3735
+-95.744 36.48 3912
+-95.618 36.48 3951
+-95.492 36.48 3987
+-95.366 36.48 4099
+-95.24 36.48 4133
+-95.114 36.48 4190
+-94.988 36.48 4249
+-94.862 36.48 4260
+-94.736 36.48 4253
+-94.61 36.48 4400
+-94.484 36.48 4559
+-94.358 36.48 4682
+-94.232 36.48 4796
+-94.106 36.48 4865
+-93.98 36.48 4928
+-93.854 36.48 5015
+-93.728 36.48 5047
+-93.602 36.48 5182
+-93.476 36.48 5347
+-93.35 36.48 5402
+-93.224 36.48 5608
+-93.098 36.48 5718
+-92.972 36.48 5744
+-92.846 36.48 5816
+-92.72 36.48 5962
+-92.594 36.48 6050
+-92.468 36.48 6110
+-92.342 36.48 6216
+-92.216 36.48 6294
+-92.09 36.48 6383
+-91.964 36.48 6451
+-91.838 36.48 6522
+-91.712 36.48 6585
+-91.586 36.48 6657
+-91.46 36.48 6720
+-91.334 36.48 6758
+-91.208 36.48 6811
+-91.082 36.48 6881
+-90.956 36.48 6880
+-90.83 36.48 7068
+-90.704 36.48 7316
+-90.578 36.48 7450
+-90.452 36.48 7541
+-90.326 36.48 7626
+-90.2 36.48 7751
+-90.074 36.48 7849
+-89.948 36.48 7958
+-89.822 36.48 8082
+-89.696 36.48 8145
+-89.57 36.48 8161
+-89.444 36.48 8285
+-89.318 36.48 8338
+-89.192 36.48 8392
+-89.066 36.48 8395
+-88.94 36.48 8441
+-88.814 36.48 8475
+-88.688 36.48 8449
+-88.562 36.48 8401
+-88.436 36.48 8391
+-88.31 36.48 8344
+-88.184 36.48 8277
+-88.058 36.48 8202
+-87.932 36.48 8100
+-87.806 36.48 8065
+-87.68 36.48 7936
+-87.554 36.48 7811
+-87.428 36.48 7722
+-87.302 36.48 7632
+-87.176 36.48 7543
+-87.05 36.48 7413
+-86.924 36.48 7316
+-86.798 36.48 7118
+-86.672 36.48 7034
+-86.546 36.48 6971
+-86.42 36.48 6807
+-86.294 36.48 6661
+-86.168 36.48 6522
+-86.042 36.48 6331
+-85.916 36.48 6235
+-85.79 36.48 6120
+-85.664 36.48 6017
+-85.538 36.48 5908
+-85.412 36.48 5797
+-85.286 36.48 5758
+-85.16 36.48 5692
+-85.034 36.48 5547
+-84.908 36.48 5322
+-84.782 36.48 5165
+-84.656 36.48 4936
+-84.53 36.48 4759
+-84.404 36.48 4684
+-84.278 36.48 4684
+-84.152 36.48 4629
+-84.026 36.48 4552
+-83.9 36.48 4451
+-83.774 36.48 4287
+-83.648 36.48 4193
+-83.522 36.48 4160
+-83.396 36.48 4109
+-83.27 36.48 4049
+-83.144 36.48 3919
+-83.018 36.48 3781
+-82.892 36.48 3681
+-82.766 36.48 3589
+-82.64 36.48 3546
+-82.514 36.48 3499
+-82.388 36.48 3492
+-82.262 36.48 3494
+-82.136 36.48 3471
+-82.01 36.48 3353
+-81.884 36.48 3351
+-81.758 36.48 3349
+-81.632 36.48 3265
+-81.506 36.48 3258
+-81.38 36.48 3253
+-81.254 36.48 3250
+-81.128 36.48 3249
+-81.002 36.48 3219
+-80.876 36.48 3177
+-80.75 36.48 3178
+-80.624 36.48 3181
+-80.498 36.48 3184
+-80.372 36.48 3188
+-80.246 36.48 3167
+-80.12 36.48 3171
+-79.994 36.48 3124
+-79.868 36.48 3110
+-79.742 36.48 3094
+-79.616 36.48 3099
+-79.49 36.48 3103
+-79.364 36.48 3006
+-79.238 36.48 3006
+-79.112 36.48 3005
+-78.986 36.48 3004
+-78.86 36.48 3004
+-78.734 36.48 3003
+-78.608 36.48 3002
+-78.482 36.48 3001
+-78.356 36.48 3001
+-78.23 36.48 3000
+-78.104 36.48 2999
+-77.978 36.48 2999
+-77.852 36.48 2998
+-77.726 36.48 2998
+-77.6 36.48 2997
+-77.474 36.48 2997
+-77.348 36.48 2886
+-77.222 36.48 2886
+-77.096 36.48 2891
+-76.97 36.48 2891
+-76.844 36.48 2855
+-76.718 36.48 2854
+-76.592 36.48 2854
+-76.466 36.48 2853
+-76.34 36.48 2740
+-76.214 36.48 2758
+-76.088 36.48 2716
+-75.962 36.48 2737
+-75.836 36.48 2738
+-75.71 36.48 2707
+-75.584 36.48 2653
+-75.458 36.48 2670
+-75.332 36.48 2672
+-75.206 36.48 2674
+-75.08 36.48 2679
+-74.954 36.48 2689
+-74.828 36.48 2702
+-74.702 36.48 2704
+-74.576 36.48 2741
+-74.45 36.48 2756
+-74.324 36.48 2759
+-74.198 36.48 2815
+-74.072 36.48 2839
+-73.946 36.48 2824
+-73.82 36.48 2818
+-73.694 36.48 2958
+-73.568 36.48 2962
+-73.442 36.48 3019
+-73.316 36.48 3024
+-73.19 36.48 3028
+-73.064 36.48 3032
+-72.938 36.48 3037
+-72.812 36.48 2966
+-72.686 36.48 2987
+-72.56 36.48 2991
+-72.434 36.48 2985
+-72.308 36.48 3275
+-72.182 36.48 3304
+-72.056 36.48 3307
+-71.93 36.48 3305
+-71.804 36.48 3307
+-71.678 36.48 3313
+-71.552 36.48 3329
+-71.426 36.48 3332
+-71.3 36.48 3322
+-71.174 36.48 3325
+-71.048 36.48 3280
+-70.922 36.48 3282
+-70.796 36.48 3284
+-70.67 36.48 3348
+-70.544 36.48 3344
+-70.418 36.48 3354
+-70.292 36.48 3357
+-70.166 36.48 3338
+-70.04 36.48 3360
+-69.914 36.48 3406
+-69.788 36.48 3418
+-69.662 36.48 3418
+-69.536 36.48 3418
+-69.41 36.48 3470
+-69.284 36.48 3472
+-69.158 36.48 3413
+-69.032 36.48 3437
+-68.906 36.48 3431
+-68.78 36.48 3354
+-68.654 36.48 3266
+-68.528 36.48 3289
+-68.402 36.48 3291
+-68.276 36.48 3324
+-68.15 36.48 3298
+-68.024 36.48 3310
+-67.898 36.48 3312
+-67.772 36.48 3292
+-67.646 36.48 3294
+-67.52 36.48 3295
+-67.394 36.48 3272
+-67.268 36.48 3254
+-67.142 36.48 3290
+-67.016 36.48 3284
+-66.89 36.48 3286
+-66.764 36.48 3288
+-66.638 36.48 3207
+-66.512 36.48 3249
+-66.386 36.48 3245
+-66.26 36.48 3246
+-66.134 36.48 3248
+-66.008 36.48 3481
+-65.882 36.48 3405
+-65.756 36.48 3415
+-65.63 36.48 3416
+-65.504 36.48 3309
+-65.378 36.48 3295
+-65.252 36.48 3296
+-65.126 36.48 3297
+-128 36.428 2959
+-127.874 36.428 2950
+-127.748 36.428 2946
+-127.622 36.428 2994
+-127.496 36.428 2982
+-127.37 36.428 3009
+-127.244 36.428 2997
+-127.118 36.428 2984
+-126.992 36.428 2970
+-126.866 36.428 2955
+-126.74 36.428 2939
+-126.614 36.428 2922
+-126.488 36.428 2903
+-126.362 36.428 2883
+-126.236 36.428 2862
+-126.11 36.428 2872
+-125.984 36.428 2848
+-125.858 36.428 2823
+-125.732 36.428 2797
+-125.606 36.428 2769
+-125.48 36.428 2747
+-125.354 36.428 2721
+-125.228 36.428 2712
+-125.102 36.428 2693
+-124.976 36.428 2738
+-124.85 36.428 2732
+-124.724 36.428 2814
+-124.598 36.428 2841
+-124.472 36.428 2942
+-124.346 36.428 2995
+-124.22 36.428 3069
+-124.094 36.428 3136
+-123.968 36.428 3222
+-123.842 36.428 3288
+-123.716 36.428 3363
+-123.59 36.428 3422
+-123.464 36.428 3476
+-123.338 36.428 3526
+-123.212 36.428 3575
+-123.086 36.428 3663
+-122.96 36.428 3731
+-122.834 36.428 3780
+-122.708 36.428 3862
+-122.582 36.428 3913
+-122.456 36.428 3878
+-122.33 36.428 3892
+-122.204 36.428 3986
+-122.078 36.428 4143
+-121.952 36.428 4355
+-121.826 36.428 4475
+-121.7 36.428 4565
+-121.574 36.428 4669
+-121.448 36.428 4734
+-121.322 36.428 4840
+-121.196 36.428 4862
+-121.07 36.428 4869
+-120.944 36.428 4939
+-120.818 36.428 5032
+-120.692 36.428 5145
+-120.566 36.428 5302
+-120.44 36.428 5402
+-120.314 36.428 5476
+-120.188 36.428 5588
+-120.062 36.428 5692
+-119.936 36.428 5753
+-119.81 36.428 5845
+-119.684 36.428 5947
+-119.558 36.428 6061
+-119.432 36.428 6171
+-119.306 36.428 6247
+-119.18 36.428 6344
+-119.054 36.428 6432
+-118.928 36.428 6511
+-118.802 36.428 6578
+-118.676 36.428 6627
+-118.55 36.428 6758
+-118.424 36.428 6778
+-118.298 36.428 6858
+-118.172 36.428 6912
+-118.046 36.428 6955
+-117.92 36.428 6980
+-117.794 36.428 7010
+-117.668 36.428 7037
+-117.542 36.428 7046
+-117.416 36.428 7068
+-117.29 36.428 7071
+-117.164 36.428 7059
+-117.038 36.428 7042
+-116.912 36.428 7027
+-116.786 36.428 6989
+-116.66 36.428 6936
+-116.534 36.428 6915
+-116.408 36.428 6844
+-116.282 36.428 6779
+-116.156 36.428 6743
+-116.03 36.428 6732
+-115.904 36.428 6656
+-115.778 36.428 6561
+-115.652 36.428 6433
+-115.526 36.428 6329
+-115.4 36.428 6258
+-115.274 36.428 6194
+-115.148 36.428 6088
+-115.022 36.428 5949
+-114.896 36.428 5882
+-114.77 36.428 5810
+-114.644 36.428 5666
+-114.518 36.428 5563
+-114.392 36.428 5480
+-114.266 36.428 5332
+-114.14 36.428 5330
+-114.014 36.428 5192
+-113.888 36.428 5067
+-113.762 36.428 4934
+-113.636 36.428 4815
+-113.51 36.428 4691
+-113.384 36.428 4641
+-113.258 36.428 4475
+-113.132 36.428 4333
+-113.006 36.428 4280
+-112.88 36.428 4100
+-112.754 36.428 4127
+-112.628 36.428 4047
+-112.502 36.428 3957
+-112.376 36.428 3971
+-112.25 36.428 3994
+-112.124 36.428 3992
+-111.998 36.428 3980
+-111.872 36.428 4002
+-111.746 36.428 4038
+-111.62 36.428 4044
+-111.494 36.428 4057
+-111.368 36.428 4084
+-111.242 36.428 4133
+-111.116 36.428 4161
+-110.99 36.428 4205
+-110.864 36.428 4209
+-110.738 36.428 4232
+-110.612 36.428 4246
+-110.486 36.428 4245
+-110.36 36.428 4242
+-110.234 36.428 4238
+-110.108 36.428 4213
+-109.982 36.428 4215
+-109.856 36.428 4234
+-109.73 36.428 4228
+-109.604 36.428 4193
+-109.478 36.428 4158
+-109.352 36.428 4179
+-109.226 36.428 4187
+-109.1 36.428 4154
+-108.974 36.428 4104
+-108.848 36.428 4043
+-108.722 36.428 3995
+-108.596 36.428 3937
+-108.47 36.428 3852
+-108.344 36.428 3816
+-108.218 36.428 3810
+-108.092 36.428 3775
+-107.966 36.428 3726
+-107.84 36.428 3659
+-107.714 36.428 3600
+-107.588 36.428 3579
+-107.462 36.428 3519
+-107.336 36.428 3458
+-107.21 36.428 3388
+-107.084 36.428 3334
+-106.958 36.428 3283
+-106.832 36.428 3207
+-106.706 36.428 3114
+-106.58 36.428 3023
+-106.454 36.428 2924
+-106.328 36.428 2833
+-106.202 36.428 2785
+-106.076 36.428 2789
+-105.95 36.428 2811
+-105.824 36.428 2842
+-105.698 36.428 2879
+-105.572 36.428 2903
+-105.446 36.428 2924
+-105.32 36.428 2942
+-105.194 36.428 2960
+-105.068 36.428 2976
+-104.942 36.428 2989
+-104.816 36.428 3003
+-104.69 36.428 3017
+-104.564 36.428 3020
+-104.438 36.428 3032
+-104.312 36.428 3049
+-104.186 36.428 3049
+-104.06 36.428 3058
+-103.934 36.428 3070
+-103.808 36.428 3081
+-103.682 36.428 3091
+-103.556 36.428 3101
+-103.43 36.428 3111
+-103.304 36.428 3120
+-103.178 36.428 3107
+-103.052 36.428 3177
+-102.926 36.428 3184
+-102.8 36.428 3200
+-102.674 36.428 3194
+-102.548 36.428 3203
+-102.422 36.428 3211
+-102.296 36.428 3219
+-102.17 36.428 3226
+-102.044 36.428 3132
+-101.918 36.428 3049
+-101.792 36.428 3059
+-101.666 36.428 3013
+-101.54 36.428 2928
+-101.414 36.428 2897
+-101.288 36.428 2830
+-101.162 36.428 2791
+-101.036 36.428 2817
+-100.91 36.428 2861
+-100.784 36.428 2920
+-100.658 36.428 3029
+-100.532 36.428 3058
+-100.406 36.428 3059
+-100.28 36.428 3069
+-100.154 36.428 3063
+-100.028 36.428 3072
+-99.902 36.428 3094
+-99.776 36.428 3122
+-99.65 36.428 3115
+-99.524 36.428 3109
+-99.398 36.428 3102
+-99.272 36.428 3094
+-99.146 36.428 3114
+-99.02 36.428 3105
+-98.894 36.428 3095
+-98.768 36.428 3094
+-98.642 36.428 3052
+-98.516 36.428 3041
+-98.39 36.428 3071
+-98.264 36.428 3057
+-98.138 36.428 3042
+-98.012 36.428 3025
+-97.886 36.428 3004
+-97.76 36.428 3004
+-97.634 36.428 2973
+-97.508 36.428 2934
+-97.382 36.428 2886
+-97.256 36.428 2897
+-97.13 36.428 2840
+-97.004 36.428 2769
+-96.878 36.428 2720
+-96.752 36.428 2739
+-96.626 36.428 2864
+-96.5 36.428 3012
+-96.374 36.428 3181
+-96.248 36.428 3358
+-96.122 36.428 3577
+-95.996 36.428 3671
+-95.87 36.428 3739
+-95.744 36.428 3796
+-95.618 36.428 3917
+-95.492 36.428 3958
+-95.366 36.428 4057
+-95.24 36.428 4107
+-95.114 36.428 4175
+-94.988 36.428 4226
+-94.862 36.428 4204
+-94.736 36.428 4110
+-94.61 36.428 4312
+-94.484 36.428 4481
+-94.358 36.428 4606
+-94.232 36.428 4717
+-94.106 36.428 4774
+-93.98 36.428 4883
+-93.854 36.428 4979
+-93.728 36.428 5075
+-93.602 36.428 5166
+-93.476 36.428 5277
+-93.35 36.428 5413
+-93.224 36.428 5560
+-93.098 36.428 5604
+-92.972 36.428 5758
+-92.846 36.428 5870
+-92.72 36.428 5943
+-92.594 36.428 5981
+-92.468 36.428 6070
+-92.342 36.428 6189
+-92.216 36.428 6238
+-92.09 36.428 6341
+-91.964 36.428 6415
+-91.838 36.428 6479
+-91.712 36.428 6532
+-91.586 36.428 6578
+-91.46 36.428 6643
+-91.334 36.428 6739
+-91.208 36.428 6766
+-91.082 36.428 6812
+-90.956 36.428 6818
+-90.83 36.428 7187
+-90.704 36.428 7264
+-90.578 36.428 7373
+-90.452 36.428 7513
+-90.326 36.428 7605
+-90.2 36.428 7725
+-90.074 36.428 7825
+-89.948 36.428 7929
+-89.822 36.428 7964
+-89.696 36.428 8084
+-89.57 36.428 8149
+-89.444 36.428 8237
+-89.318 36.428 8279
+-89.192 36.428 8335
+-89.066 36.428 8356
+-88.94 36.428 8392
+-88.814 36.428 8380
+-88.688 36.428 8382
+-88.562 36.428 8339
+-88.436 36.428 8344
+-88.31 36.428 8269
+-88.184 36.428 8261
+-88.058 36.428 8164
+-87.932 36.428 8082
+-87.806 36.428 7970
+-87.68 36.428 7860
+-87.554 36.428 7833
+-87.428 36.428 7705
+-87.302 36.428 7601
+-87.176 36.428 7496
+-87.05 36.428 7366
+-86.924 36.428 7284
+-86.798 36.428 7146
+-86.672 36.428 7027
+-86.546 36.428 6872
+-86.42 36.428 6810
+-86.294 36.428 6647
+-86.168 36.428 6529
+-86.042 36.428 6370
+-85.916 36.428 6235
+-85.79 36.428 6085
+-85.664 36.428 6010
+-85.538 36.428 5901
+-85.412 36.428 5798
+-85.286 36.428 5736
+-85.16 36.428 5645
+-85.034 36.428 5503
+-84.908 36.428 5303
+-84.782 36.428 5125
+-84.656 36.428 4932
+-84.53 36.428 4808
+-84.404 36.428 4707
+-84.278 36.428 4662
+-84.152 36.428 4537
+-84.026 36.428 4405
+-83.9 36.428 4378
+-83.774 36.428 4310
+-83.648 36.428 4253
+-83.522 36.428 4173
+-83.396 36.428 4126
+-83.27 36.428 4013
+-83.144 36.428 3923
+-83.018 36.428 3839
+-82.892 36.428 3744
+-82.766 36.428 3660
+-82.64 36.428 3619
+-82.514 36.428 3562
+-82.388 36.428 3532
+-82.262 36.428 3478
+-82.136 36.428 3464
+-82.01 36.428 3334
+-81.884 36.428 3324
+-81.758 36.428 3235
+-81.632 36.428 3223
+-81.506 36.428 3215
+-81.38 36.428 3210
+-81.254 36.428 3208
+-81.128 36.428 3208
+-81.002 36.428 3211
+-80.876 36.428 3166
+-80.75 36.428 3149
+-80.624 36.428 3154
+-80.498 36.428 3159
+-80.372 36.428 3165
+-80.246 36.428 3171
+-80.12 36.428 3176
+-79.994 36.428 3182
+-79.868 36.428 3109
+-79.742 36.428 3096
+-79.616 36.428 3082
+-79.49 36.428 2988
+-79.364 36.428 2989
+-79.238 36.428 2989
+-79.112 36.428 2989
+-78.986 36.428 2989
+-78.86 36.428 2988
+-78.734 36.428 2988
+-78.608 36.428 2988
+-78.482 36.428 2987
+-78.356 36.428 2987
+-78.23 36.428 2987
+-78.104 36.428 2986
+-77.978 36.428 2986
+-77.852 36.428 2986
+-77.726 36.428 2985
+-77.6 36.428 2985
+-77.474 36.428 2874
+-77.348 36.428 2874
+-77.222 36.428 2879
+-77.096 36.428 2880
+-76.97 36.428 2844
+-76.844 36.428 2843
+-76.718 36.428 2843
+-76.592 36.428 2843
+-76.466 36.428 2730
+-76.34 36.428 2748
+-76.214 36.428 2707
+-76.088 36.428 2728
+-75.962 36.428 2729
+-75.836 36.428 2699
+-75.71 36.428 2700
+-75.584 36.428 2663
+-75.458 36.428 2665
+-75.332 36.428 2667
+-75.206 36.428 2672
+-75.08 36.428 2683
+-74.954 36.428 2695
+-74.828 36.428 2698
+-74.702 36.428 2736
+-74.576 36.428 2751
+-74.45 36.428 2755
+-74.324 36.428 2810
+-74.198 36.428 2834
+-74.072 36.428 2819
+-73.946 36.428 2814
+-73.82 36.428 2953
+-73.694 36.428 2958
+-73.568 36.428 3014
+-73.442 36.428 3019
+-73.316 36.428 3024
+-73.19 36.428 3028
+-73.064 36.428 3033
+-72.938 36.428 2963
+-72.812 36.428 2984
+-72.686 36.428 2988
+-72.56 36.428 2982
+-72.434 36.428 3271
+-72.308 36.428 3301
+-72.182 36.428 3303
+-72.056 36.428 3301
+-71.93 36.428 3304
+-71.804 36.428 3310
+-71.678 36.428 3326
+-71.552 36.428 3329
+-71.426 36.428 3319
+-71.3 36.428 3322
+-71.174 36.428 3278
+-71.048 36.428 3280
+-70.922 36.428 3282
+-70.796 36.428 3345
+-70.67 36.428 3342
+-70.544 36.428 3352
+-70.418 36.428 3354
+-70.292 36.428 3336
+-70.166 36.428 3358
+-70.04 36.428 3404
+-69.914 36.428 3416
+-69.788 36.428 3416
+-69.662 36.428 3416
+-69.536 36.428 3467
+-69.41 36.428 3470
+-69.284 36.428 3411
+-69.158 36.428 3435
+-69.032 36.428 3429
+-68.906 36.428 3349
+-68.78 36.428 3264
+-68.654 36.428 3288
+-68.528 36.428 3289
+-68.402 36.428 3322
+-68.276 36.428 3296
+-68.15 36.428 3309
+-68.024 36.428 3311
+-67.898 36.428 3291
+-67.772 36.428 3292
+-67.646 36.428 3294
+-67.52 36.428 3270
+-67.394 36.428 3252
+-67.268 36.428 3289
+-67.142 36.428 3283
+-67.016 36.428 3285
+-66.89 36.428 3287
+-66.764 36.428 3206
+-66.638 36.428 3247
+-66.512 36.428 3244
+-66.386 36.428 3245
+-66.26 36.428 3247
+-66.134 36.428 3480
+-66.008 36.428 3400
+-65.882 36.428 3414
+-65.756 36.428 3415
+-65.63 36.428 3308
+-65.504 36.428 3295
+-65.378 36.428 3295
+-65.252 36.428 3296
+-65.126 36.428 3273
+-128 36.376 3023
+-127.874 36.376 3013
+-127.748 36.376 3002
+-127.622 36.376 2991
+-127.496 36.376 2979
+-127.37 36.376 2966
+-127.244 36.376 2992
+-127.118 36.376 2978
+-126.992 36.376 2963
+-126.866 36.376 2947
+-126.74 36.376 2930
+-126.614 36.376 2911
+-126.488 36.376 2891
+-126.362 36.376 2869
+-126.236 36.376 2846
+-126.11 36.376 2820
+-125.984 36.376 2825
+-125.858 36.376 2795
+-125.732 36.376 2763
+-125.606 36.376 2729
+-125.48 36.376 2694
+-125.354 36.376 2663
+-125.228 36.376 2630
+-125.102 36.376 2613
+-124.976 36.376 2591
+-124.85 36.376 2631
+-124.724 36.376 2632
+-124.598 36.376 2724
+-124.472 36.376 2771
+-124.346 36.376 2893
+-124.22 36.376 2970
+-124.094 36.376 3066
+-123.968 36.376 3151
+-123.842 36.376 3251
+-123.716 36.376 3327
+-123.59 36.376 3405
+-123.464 36.376 3469
+-123.338 36.376 3525
+-123.212 36.376 3574
+-123.086 36.376 3667
+-122.96 36.376 3731
+-122.834 36.376 3792
+-122.708 36.376 3914
+-122.582 36.376 3985
+-122.456 36.376 3988
+-122.33 36.376 4031
+-122.204 36.376 4129
+-122.078 36.376 4285
+-121.952 36.376 4395
+-121.826 36.376 4493
+-121.7 36.376 4576
+-121.574 36.376 4680
+-121.448 36.376 4756
+-121.322 36.376 4854
+-121.196 36.376 4843
+-121.07 36.376 4780
+-120.944 36.376 4913
+-120.818 36.376 5083
+-120.692 36.376 5206
+-120.566 36.376 5322
+-120.44 36.376 5429
+-120.314 36.376 5536
+-120.188 36.376 5612
+-120.062 36.376 5712
+-119.936 36.376 5811
+-119.81 36.376 5908
+-119.684 36.376 6006
+-119.558 36.376 6078
+-119.432 36.376 6202
+-119.306 36.376 6311
+-119.18 36.376 6366
+-119.054 36.376 6486
+-118.928 36.376 6549
+-118.802 36.376 6650
+-118.676 36.376 6682
+-118.55 36.376 6771
+-118.424 36.376 6822
+-118.298 36.376 6931
+-118.172 36.376 6959
+-118.046 36.376 7016
+-117.92 36.376 7053
+-117.794 36.376 7081
+-117.668 36.376 7104
+-117.542 36.376 7108
+-117.416 36.376 7118
+-117.29 36.376 7126
+-117.164 36.376 7106
+-117.038 36.376 7128
+-116.912 36.376 7090
+-116.786 36.376 7048
+-116.66 36.376 7013
+-116.534 36.376 6958
+-116.408 36.376 6937
+-116.282 36.376 6840
+-116.156 36.376 6791
+-116.03 36.376 6764
+-115.904 36.376 6709
+-115.778 36.376 6638
+-115.652 36.376 6523
+-115.526 36.376 6415
+-115.4 36.376 6320
+-115.274 36.376 6225
+-115.148 36.376 6171
+-115.022 36.376 6054
+-114.896 36.376 5923
+-114.77 36.376 5813
+-114.644 36.376 5704
+-114.518 36.376 5605
+-114.392 36.376 5474
+-114.266 36.376 5468
+-114.14 36.376 5394
+-114.014 36.376 5261
+-113.888 36.376 5084
+-113.762 36.376 4955
+-113.636 36.376 4822
+-113.51 36.376 4652
+-113.384 36.376 4638
+-113.258 36.376 4512
+-113.132 36.376 4418
+-113.006 36.376 4334
+-112.88 36.376 4207
+-112.754 36.376 4106
+-112.628 36.376 3972
+-112.502 36.376 3851
+-112.376 36.376 3953
+-112.25 36.376 4023
+-112.124 36.376 4052
+-111.998 36.376 4068
+-111.872 36.376 4085
+-111.746 36.376 4107
+-111.62 36.376 4113
+-111.494 36.376 4143
+-111.368 36.376 4184
+-111.242 36.376 4213
+-111.116 36.376 4241
+-110.99 36.376 4264
+-110.864 36.376 4274
+-110.738 36.376 4279
+-110.612 36.376 4280
+-110.486 36.376 4282
+-110.36 36.376 4280
+-110.234 36.376 4280
+-110.108 36.376 4273
+-109.982 36.376 4274
+-109.856 36.376 4289
+-109.73 36.376 4289
+-109.604 36.376 4239
+-109.478 36.376 4213
+-109.352 36.376 4227
+-109.226 36.376 4247
+-109.1 36.376 4226
+-108.974 36.376 4175
+-108.848 36.376 4119
+-108.722 36.376 4057
+-108.596 36.376 4002
+-108.47 36.376 3943
+-108.344 36.376 3882
+-108.218 36.376 3858
+-108.092 36.376 3792
+-107.966 36.376 3738
+-107.84 36.376 3642
+-107.714 36.376 3583
+-107.588 36.376 3579
+-107.462 36.376 3537
+-107.336 36.376 3453
+-107.21 36.376 3384
+-107.084 36.376 3333
+-106.958 36.376 3284
+-106.832 36.376 3234
+-106.706 36.376 3144
+-106.58 36.376 3041
+-106.454 36.376 2904
+-106.328 36.376 2758
+-106.202 36.376 2684
+-106.076 36.376 2724
+-105.95 36.376 2800
+-105.824 36.376 2858
+-105.698 36.376 2900
+-105.572 36.376 2929
+-105.446 36.376 2951
+-105.32 36.376 2969
+-105.194 36.376 2984
+-105.068 36.376 2996
+-104.942 36.376 3009
+-104.816 36.376 3022
+-104.69 36.376 3024
+-104.564 36.376 3035
+-104.438 36.376 3051
+-104.312 36.376 3051
+-104.186 36.376 3059
+-104.06 36.376 3071
+-103.934 36.376 3082
+-103.808 36.376 3092
+-103.682 36.376 3102
+-103.556 36.376 3111
+-103.43 36.376 3120
+-103.304 36.376 3107
+-103.178 36.376 3176
+-103.052 36.376 3183
+-102.926 36.376 3200
+-102.8 36.376 3193
+-102.674 36.376 3202
+-102.548 36.376 3211
+-102.422 36.376 3219
+-102.296 36.376 3226
+-102.17 36.376 3234
+-102.044 36.376 3138
+-101.918 36.376 3055
+-101.792 36.376 3066
+-101.666 36.376 3020
+-101.54 36.376 2933
+-101.414 36.376 2901
+-101.288 36.376 2833
+-101.162 36.376 2791
+-101.036 36.376 2816
+-100.91 36.376 2850
+-100.784 36.376 2913
+-100.658 36.376 3020
+-100.532 36.376 3056
+-100.406 36.376 3066
+-100.28 36.376 3060
+-100.154 36.376 3069
+-100.028 36.376 3091
+-99.902 36.376 3118
+-99.776 36.376 3112
+-99.65 36.376 3105
+-99.524 36.376 3097
+-99.398 36.376 3090
+-99.272 36.376 3110
+-99.146 36.376 3100
+-99.02 36.376 3090
+-98.894 36.376 3089
+-98.768 36.376 3049
+-98.642 36.376 3038
+-98.516 36.376 3069
+-98.39 36.376 3057
+-98.264 36.376 3043
+-98.138 36.376 3029
+-98.012 36.376 3012
+-97.886 36.376 3019
+-97.76 36.376 2997
+-97.634 36.376 2972
+-97.508 36.376 2943
+-97.382 36.376 2962
+-97.256 36.376 2962
+-97.13 36.376 2922
+-97.004 36.376 2888
+-96.878 36.376 2895
+-96.752 36.376 2915
+-96.626 36.376 2977
+-96.5 36.376 3123
+-96.374 36.376 3276
+-96.248 36.376 3410
+-96.122 36.376 3511
+-95.996 36.376 3662
+-95.87 36.376 3714
+-95.744 36.376 3756
+-95.618 36.376 3776
+-95.492 36.376 3813
+-95.366 36.376 3976
+-95.24 36.376 4045
+-95.114 36.376 4153
+-94.988 36.376 4218
+-94.862 36.376 4242
+-94.736 36.376 4245
+-94.61 36.376 4373
+-94.484 36.376 4424
+-94.358 36.376 4540
+-94.232 36.376 4676
+-94.106 36.376 4657
+-93.98 36.376 4826
+-93.854 36.376 4904
+-93.728 36.376 5038
+-93.602 36.376 5120
+-93.476 36.376 5251
+-93.35 36.376 5420
+-93.224 36.376 5527
+-93.098 36.376 5607
+-92.972 36.376 5749
+-92.846 36.376 5831
+-92.72 36.376 5867
+-92.594 36.376 5975
+-92.468 36.376 6048
+-92.342 36.376 6119
+-92.216 36.376 6185
+-92.09 36.376 6269
+-91.964 36.376 6363
+-91.838 36.376 6434
+-91.712 36.376 6493
+-91.586 36.376 6564
+-91.46 36.376 6610
+-91.334 36.376 6649
+-91.208 36.376 6689
+-91.082 36.376 6774
+-90.956 36.376 6903
+-90.83 36.376 7111
+-90.704 36.376 7270
+-90.578 36.376 7370
+-90.452 36.376 7436
+-90.326 36.376 7621
+-90.2 36.376 7732
+-90.074 36.376 7777
+-89.948 36.376 7891
+-89.822 36.376 7966
+-89.696 36.376 8060
+-89.57 36.376 8090
+-89.444 36.376 8171
+-89.318 36.376 8230
+-89.192 36.376 8304
+-89.066 36.376 8315
+-88.94 36.376 8327
+-88.814 36.376 8313
+-88.688 36.376 8316
+-88.562 36.376 8297
+-88.436 36.376 8264
+-88.31 36.376 8212
+-88.184 36.376 8161
+-88.058 36.376 8115
+-87.932 36.376 7999
+-87.806 36.376 7882
+-87.68 36.376 7820
+-87.554 36.376 7748
+-87.428 36.376 7644
+-87.302 36.376 7579
+-87.176 36.376 7437
+-87.05 36.376 7336
+-86.924 36.376 7221
+-86.798 36.376 7122
+-86.672 36.376 7000
+-86.546 36.376 6887
+-86.42 36.376 6768
+-86.294 36.376 6630
+-86.168 36.376 6502
+-86.042 36.376 6319
+-85.916 36.376 6248
+-85.79 36.376 6088
+-85.664 36.376 5949
+-85.538 36.376 5866
+-85.412 36.376 5724
+-85.286 36.376 5696
+-85.16 36.376 5542
+-85.034 36.376 5365
+-84.908 36.376 5260
+-84.782 36.376 5162
+-84.656 36.376 5011
+-84.53 36.376 4874
+-84.404 36.376 4730
+-84.278 36.376 4632
+-84.152 36.376 4418
+-84.026 36.376 4279
+-83.9 36.376 4333
+-83.774 36.376 4305
+-83.648 36.376 4222
+-83.522 36.376 4167
+-83.396 36.376 4114
+-83.27 36.376 3976
+-83.144 36.376 3910
+-83.018 36.376 3849
+-82.892 36.376 3793
+-82.766 36.376 3711
+-82.64 36.376 3643
+-82.514 36.376 3571
+-82.388 36.376 3503
+-82.262 36.376 3468
+-82.136 36.376 3364
+-82.01 36.376 3231
+-81.884 36.376 3208
+-81.758 36.376 3185
+-81.632 36.376 3171
+-81.506 36.376 3162
+-81.38 36.376 3158
+-81.254 36.376 3159
+-81.128 36.376 3162
+-81.002 36.376 3124
+-80.876 36.376 3131
+-80.75 36.376 3138
+-80.624 36.376 3125
+-80.498 36.376 3133
+-80.372 36.376 3141
+-80.246 36.376 3149
+-80.12 36.376 3156
+-79.994 36.376 3164
+-79.868 36.376 3085
+-79.742 36.376 3004
+-79.616 36.376 2986
+-79.49 36.376 2970
+-79.364 36.376 2971
+-79.238 36.376 2971
+-79.112 36.376 2972
+-78.986 36.376 2972
+-78.86 36.376 2973
+-78.734 36.376 2973
+-78.608 36.376 2973
+-78.482 36.376 2973
+-78.356 36.376 2973
+-78.23 36.376 2973
+-78.104 36.376 2973
+-77.978 36.376 2973
+-77.852 36.376 2973
+-77.726 36.376 2973
+-77.6 36.376 2862
+-77.474 36.376 2862
+-77.348 36.376 2867
+-77.222 36.376 2868
+-77.096 36.376 2832
+-76.97 36.376 2832
+-76.844 36.376 2831
+-76.718 36.376 2831
+-76.592 36.376 2719
+-76.466 36.376 2738
+-76.34 36.376 2697
+-76.214 36.376 2719
+-76.088 36.376 2720
+-75.962 36.376 2690
+-75.836 36.376 2691
+-75.71 36.376 2656
+-75.584 36.376 2658
+-75.458 36.376 2660
+-75.332 36.376 2665
+-75.206 36.376 2676
+-75.08 36.376 2689
+-74.954 36.376 2692
+-74.828 36.376 2730
+-74.702 36.376 2746
+-74.576 36.376 2750
+-74.45 36.376 2805
+-74.324 36.376 2830
+-74.198 36.376 2815
+-74.072 36.376 2810
+-73.946 36.376 2949
+-73.82 36.376 2954
+-73.694 36.376 3010
+-73.568 36.376 3015
+-73.442 36.376 3019
+-73.316 36.376 3024
+-73.19 36.376 3029
+-73.064 36.376 2959
+-72.938 36.376 2981
+-72.812 36.376 2985
+-72.686 36.376 2979
+-72.56 36.376 3268
+-72.434 36.376 3297
+-72.308 36.376 3300
+-72.182 36.376 3298
+-72.056 36.376 3301
+-71.93 36.376 3306
+-71.804 36.376 3323
+-71.678 36.376 3325
+-71.552 36.376 3316
+-71.426 36.376 3319
+-71.3 36.376 3275
+-71.174 36.376 3277
+-71.048 36.376 3279
+-70.922 36.376 3342
+-70.796 36.376 3339
+-70.67 36.376 3349
+-70.544 36.376 3352
+-70.418 36.376 3333
+-70.292 36.376 3355
+-70.166 36.376 3401
+-70.04 36.376 3413
+-69.914 36.376 3413
+-69.788 36.376 3413
+-69.662 36.376 3465
+-69.536 36.376 3468
+-69.41 36.376 3409
+-69.284 36.376 3432
+-69.158 36.376 3427
+-69.032 36.376 3350
+-68.906 36.376 3263
+-68.78 36.376 3286
+-68.654 36.376 3288
+-68.528 36.376 3321
+-68.402 36.376 3295
+-68.276 36.376 3307
+-68.15 36.376 3309
+-68.024 36.376 3289
+-67.898 36.376 3291
+-67.772 36.376 3293
+-67.646 36.376 3269
+-67.52 36.376 3251
+-67.394 36.376 3287
+-67.268 36.376 3282
+-67.142 36.376 3284
+-67.016 36.376 3286
+-66.89 36.376 3205
+-66.764 36.376 3246
+-66.638 36.376 3243
+-66.512 36.376 3244
+-66.386 36.376 3246
+-66.26 36.376 3479
+-66.134 36.376 3403
+-66.008 36.376 3413
+-65.882 36.376 3414
+-65.756 36.376 3308
+-65.63 36.376 3294
+-65.504 36.376 3295
+-65.378 36.376 3295
+-65.252 36.376 3272
+-65.126 36.376 3273
+-128 36.324 3022
+-127.874 36.324 3011
+-127.748 36.324 3000
+-127.622 36.324 2989
+-127.496 36.324 2976
+-127.37 36.324 2963
+-127.244 36.324 2949
+-127.118 36.324 2973
+-126.992 36.324 2957
+-126.866 36.324 2940
+-126.74 36.324 2922
+-126.614 36.324 2902
+-126.488 36.324 2880
+-126.362 36.324 2856
+-126.236 36.324 2830
+-126.11 36.324 2801
+-125.984 36.324 2770
+-125.858 36.324 2767
+-125.732 36.324 2729
+-125.606 36.324 2688
+-125.48 36.324 2644
+-125.354 36.324 2597
+-125.228 36.324 2554
+-125.102 36.324 2511
+-124.976 36.324 2485
+-124.85 36.324 2462
+-124.724 36.324 2502
+-124.598 36.324 2519
+-124.472 36.324 2633
+-124.346 36.324 2712
+-124.22 36.324 2863
+-124.094 36.324 2968
+-123.968 36.324 3085
+-123.842 36.324 3185
+-123.716 36.324 3294
+-123.59 36.324 3375
+-123.464 36.324 3461
+-123.338 36.324 3517
+-123.212 36.324 3595
+-123.086 36.324 3691
+-122.96 36.324 3728
+-122.834 36.324 3782
+-122.708 36.324 3892
+-122.582 36.324 3960
+-122.456 36.324 4045
+-122.33 36.324 4088
+-122.204 36.324 4206
+-122.078 36.324 4293
+-121.952 36.324 4412
+-121.826 36.324 4503
+-121.7 36.324 4601
+-121.574 36.324 4718
+-121.448 36.324 4765
+-121.322 36.324 4828
+-121.196 36.324 4873
+-121.07 36.324 4879
+-120.944 36.324 4999
+-120.818 36.324 5113
+-120.692 36.324 5244
+-120.566 36.324 5376
+-120.44 36.324 5474
+-120.314 36.324 5580
+-120.188 36.324 5687
+-120.062 36.324 5739
+-119.936 36.324 5850
+-119.81 36.324 5898
+-119.684 36.324 5999
+-119.558 36.324 6133
+-119.432 36.324 6273
+-119.306 36.324 6380
+-119.18 36.324 6437
+-119.054 36.324 6544
+-118.928 36.324 6646
+-118.802 36.324 6677
+-118.676 36.324 6750
+-118.55 36.324 6839
+-118.424 36.324 6882
+-118.298 36.324 6966
+-118.172 36.324 7025
+-118.046 36.324 7068
+-117.92 36.324 7079
+-117.794 36.324 7099
+-117.668 36.324 7138
+-117.542 36.324 7182
+-117.416 36.324 7167
+-117.29 36.324 7164
+-117.164 36.324 7195
+-117.038 36.324 7159
+-116.912 36.324 7121
+-116.786 36.324 7112
+-116.66 36.324 7073
+-116.534 36.324 7034
+-116.408 36.324 6975
+-116.282 36.324 6912
+-116.156 36.324 6844
+-116.03 36.324 6796
+-115.904 36.324 6690
+-115.778 36.324 6676
+-115.652 36.324 6538
+-115.526 36.324 6490
+-115.4 36.324 6400
+-115.274 36.324 6265
+-115.148 36.324 6150
+-115.022 36.324 6071
+-114.896 36.324 5997
+-114.77 36.324 5916
+-114.644 36.324 5752
+-114.518 36.324 5628
+-114.392 36.324 5590
+-114.266 36.324 5514
+-114.14 36.324 5385
+-114.014 36.324 5350
+-113.888 36.324 5129
+-113.762 36.324 4991
+-113.636 36.324 4842
+-113.51 36.324 4711
+-113.384 36.324 4665
+-113.258 36.324 4455
+-113.132 36.324 4454
+-113.006 36.324 4363
+-112.88 36.324 4268
+-112.754 36.324 4076
+-112.628 36.324 3898
+-112.502 36.324 3951
+-112.376 36.324 4003
+-112.25 36.324 4069
+-112.124 36.324 4108
+-111.998 36.324 4137
+-111.872 36.324 4171
+-111.746 36.324 4178
+-111.62 36.324 4201
+-111.494 36.324 4226
+-111.368 36.324 4276
+-111.242 36.324 4303
+-111.116 36.324 4315
+-110.99 36.324 4331
+-110.864 36.324 4322
+-110.738 36.324 4336
+-110.612 36.324 4345
+-110.486 36.324 4341
+-110.36 36.324 4316
+-110.234 36.324 4309
+-110.108 36.324 4326
+-109.982 36.324 4338
+-109.856 36.324 4346
+-109.73 36.324 4339
+-109.604 36.324 4327
+-109.478 36.324 4318
+-109.352 36.324 4306
+-109.226 36.324 4305
+-109.1 36.324 4288
+-108.974 36.324 4242
+-108.848 36.324 4190
+-108.722 36.324 4142
+-108.596 36.324 4072
+-108.47 36.324 4012
+-108.344 36.324 3941
+-108.218 36.324 3871
+-108.092 36.324 3817
+-107.966 36.324 3775
+-107.84 36.324 3692
+-107.714 36.324 3625
+-107.588 36.324 3584
+-107.462 36.324 3536
+-107.336 36.324 3447
+-107.21 36.324 3357
+-107.084 36.324 3297
+-106.958 36.324 3285
+-106.832 36.324 3238
+-106.706 36.324 3180
+-106.58 36.324 3074
+-106.454 36.324 2906
+-106.328 36.324 2708
+-106.202 36.324 2609
+-106.076 36.324 2683
+-105.95 36.324 2794
+-105.824 36.324 2872
+-105.698 36.324 2921
+-105.572 36.324 2953
+-105.446 36.324 2975
+-105.32 36.324 2992
+-105.194 36.324 3003
+-105.068 36.324 3016
+-104.942 36.324 3027
+-104.816 36.324 3030
+-104.69 36.324 3039
+-104.564 36.324 3055
+-104.438 36.324 3054
+-104.312 36.324 3062
+-104.186 36.324 3073
+-104.06 36.324 3083
+-103.934 36.324 3094
+-103.808 36.324 3103
+-103.682 36.324 3112
+-103.556 36.324 3121
+-103.43 36.324 3109
+-103.304 36.324 3176
+-103.178 36.324 3183
+-103.052 36.324 3199
+-102.926 36.324 3194
+-102.8 36.324 3203
+-102.674 36.324 3211
+-102.548 36.324 3219
+-102.422 36.324 3227
+-102.296 36.324 3234
+-102.17 36.324 3241
+-102.044 36.324 3145
+-101.918 36.324 3062
+-101.792 36.324 3074
+-101.666 36.324 3026
+-101.54 36.324 2967
+-101.414 36.324 2906
+-101.288 36.324 2837
+-101.162 36.324 2792
+-101.036 36.324 2822
+-100.91 36.324 2846
+-100.784 36.324 2937
+-100.658 36.324 3028
+-100.532 36.324 3064
+-100.406 36.324 3058
+-100.28 36.324 3067
+-100.154 36.324 3088
+-100.028 36.324 3115
+-99.902 36.324 3109
+-99.776 36.324 3102
+-99.65 36.324 3094
+-99.524 36.324 3086
+-99.398 36.324 3106
+-99.272 36.324 3097
+-99.146 36.324 3086
+-99.02 36.324 3085
+-98.894 36.324 3045
+-98.768 36.324 3034
+-98.642 36.324 3067
+-98.516 36.324 3055
+-98.39 36.324 3042
+-98.264 36.324 3028
+-98.138 36.324 3014
+-98.012 36.324 2999
+-97.886 36.324 2983
+-97.76 36.324 2965
+-97.634 36.324 2946
+-97.508 36.324 3005
+-97.382 36.324 3022
+-97.256 36.324 3000
+-97.13 36.324 2981
+-97.004 36.324 2995
+-96.878 36.324 3000
+-96.752 36.324 3027
+-96.626 36.324 3105
+-96.5 36.324 3194
+-96.374 36.324 3280
+-96.248 36.324 3386
+-96.122 36.324 3487
+-95.996 36.324 3577
+-95.87 36.324 3615
+-95.744 36.324 3699
+-95.618 36.324 3692
+-95.492 36.324 3703
+-95.366 36.324 3767
+-95.24 36.324 3907
+-95.114 36.324 4047
+-94.988 36.324 4204
+-94.862 36.324 4259
+-94.736 36.324 4310
+-94.61 36.324 4373
+-94.484 36.324 4403
+-94.358 36.324 4509
+-94.232 36.324 4663
+-94.106 36.324 4705
+-93.98 36.324 4811
+-93.854 36.324 4936
+-93.728 36.324 5062
+-93.602 36.324 5139
+-93.476 36.324 5255
+-93.35 36.324 5308
+-93.224 36.324 5470
+-93.098 36.324 5564
+-92.972 36.324 5717
+-92.846 36.324 5714
+-92.72 36.324 5868
+-92.594 36.324 5953
+-92.468 36.324 6006
+-92.342 36.324 6050
+-92.216 36.324 6156
+-92.09 36.324 6276
+-91.964 36.324 6301
+-91.838 36.324 6374
+-91.712 36.324 6442
+-91.586 36.324 6511
+-91.46 36.324 6558
+-91.334 36.324 6571
+-91.208 36.324 6647
+-91.082 36.324 6699
+-90.956 36.324 6860
+-90.83 36.324 7063
+-90.704 36.324 7238
+-90.578 36.324 7310
+-90.452 36.324 7428
+-90.326 36.324 7546
+-90.2 36.324 7626
+-90.074 36.324 7754
+-89.948 36.324 7831
+-89.822 36.324 7922
+-89.696 36.324 7981
+-89.57 36.324 8063
+-89.444 36.324 8111
+-89.318 36.324 8188
+-89.192 36.324 8238
+-89.066 36.324 8249
+-88.94 36.324 8275
+-88.814 36.324 8296
+-88.688 36.324 8248
+-88.562 36.324 8248
+-88.436 36.324 8197
+-88.31 36.324 8182
+-88.184 36.324 8135
+-88.058 36.324 8039
+-87.932 36.324 7958
+-87.806 36.324 7924
+-87.68 36.324 7786
+-87.554 36.324 7694
+-87.428 36.324 7621
+-87.302 36.324 7528
+-87.176 36.324 7418
+-87.05 36.324 7248
+-86.924 36.324 7137
+-86.798 36.324 7115
+-86.672 36.324 6925
+-86.546 36.324 6871
+-86.42 36.324 6752
+-86.294 36.324 6617
+-86.168 36.324 6442
+-86.042 36.324 6368
+-85.916 36.324 6248
+-85.79 36.324 6083
+-85.664 36.324 5947
+-85.538 36.324 5822
+-85.412 36.324 5725
+-85.286 36.324 5626
+-85.16 36.324 5440
+-85.034 36.324 5232
+-84.908 36.324 5212
+-84.782 36.324 5143
+-84.656 36.324 5043
+-84.53 36.324 4896
+-84.404 36.324 4736
+-84.278 36.324 4597
+-84.152 36.324 4457
+-84.026 36.324 4347
+-83.9 36.324 4331
+-83.774 36.324 4235
+-83.648 36.324 4178
+-83.522 36.324 4107
+-83.396 36.324 4041
+-83.27 36.324 3927
+-83.144 36.324 3860
+-83.018 36.324 3807
+-82.892 36.324 3754
+-82.766 36.324 3686
+-82.64 36.324 3614
+-82.514 36.324 3541
+-82.388 36.324 3485
+-82.262 36.324 3372
+-82.136 36.324 3316
+-82.01 36.324 3177
+-81.884 36.324 3146
+-81.758 36.324 3112
+-81.632 36.324 3097
+-81.506 36.324 3089
+-81.38 36.324 3088
+-81.254 36.324 3092
+-81.128 36.324 3072
+-81.002 36.324 3081
+-80.876 36.324 3092
+-80.75 36.324 3104
+-80.624 36.324 3115
+-80.498 36.324 3105
+-80.372 36.324 3116
+-80.246 36.324 3126
+-80.12 36.324 3136
+-79.994 36.324 3061
+-79.868 36.324 3064
+-79.742 36.324 3067
+-79.616 36.324 2985
+-79.49 36.324 2968
+-79.364 36.324 2952
+-79.238 36.324 2954
+-79.112 36.324 2955
+-78.986 36.324 2956
+-78.86 36.324 2956
+-78.734 36.324 2957
+-78.608 36.324 2957
+-78.482 36.324 2958
+-78.356 36.324 2958
+-78.23 36.324 2958
+-78.104 36.324 2958
+-77.978 36.324 2959
+-77.852 36.324 2959
+-77.726 36.324 2848
+-77.6 36.324 2848
+-77.474 36.324 2854
+-77.348 36.324 2855
+-77.222 36.324 2819
+-77.096 36.324 2819
+-76.97 36.324 2819
+-76.844 36.324 2819
+-76.718 36.324 2708
+-76.592 36.324 2727
+-76.466 36.324 2687
+-76.34 36.324 2709
+-76.214 36.324 2711
+-76.088 36.324 2681
+-75.962 36.324 2682
+-75.836 36.324 2648
+-75.71 36.324 2651
+-75.584 36.324 2653
+-75.458 36.324 2658
+-75.332 36.324 2669
+-75.206 36.324 2682
+-75.08 36.324 2685
+-74.954 36.324 2725
+-74.828 36.324 2740
+-74.702 36.324 2744
+-74.576 36.324 2800
+-74.45 36.324 2825
+-74.324 36.324 2811
+-74.198 36.324 2806
+-74.072 36.324 2944
+-73.946 36.324 2949
+-73.82 36.324 3005
+-73.694 36.324 3010
+-73.568 36.324 3015
+-73.442 36.324 3020
+-73.316 36.324 3024
+-73.19 36.324 2956
+-73.064 36.324 2977
+-72.938 36.324 2982
+-72.812 36.324 2976
+-72.686 36.324 3264
+-72.56 36.324 3293
+-72.434 36.324 3296
+-72.308 36.324 3294
+-72.182 36.324 3297
+-72.056 36.324 3303
+-71.93 36.324 3319
+-71.804 36.324 3322
+-71.678 36.324 3313
+-71.552 36.324 3316
+-71.426 36.324 3272
+-71.3 36.324 3275
+-71.174 36.324 3277
+-71.048 36.324 3339
+-70.922 36.324 3336
+-70.796 36.324 3347
+-70.67 36.324 3349
+-70.544 36.324 3331
+-70.418 36.324 3353
+-70.292 36.324 3399
+-70.166 36.324 3411
+-70.04 36.324 3411
+-69.914 36.324 3411
+-69.788 36.324 3463
+-69.662 36.324 3465
+-69.536 36.324 3407
+-69.41 36.324 3430
+-69.284 36.324 3425
+-69.158 36.324 3345
+-69.032 36.324 3261
+-68.906 36.324 3284
+-68.78 36.324 3286
+-68.654 36.324 3319
+-68.528 36.324 3293
+-68.402 36.324 3306
+-68.276 36.324 3308
+-68.15 36.324 3288
+-68.024 36.324 3290
+-67.898 36.324 3291
+-67.772 36.324 3268
+-67.646 36.324 3250
+-67.52 36.324 3286
+-67.394 36.324 3281
+-67.268 36.324 3283
+-67.142 36.324 3284
+-67.016 36.324 3204
+-66.89 36.324 3245
+-66.764 36.324 3242
+-66.638 36.324 3243
+-66.512 36.324 3245
+-66.386 36.324 3478
+-66.26 36.324 3398
+-66.134 36.324 3412
+-66.008 36.324 3413
+-65.882 36.324 3307
+-65.756 36.324 3293
+-65.63 36.324 3294
+-65.504 36.324 3295
+-65.378 36.324 3272
+-65.252 36.324 3272
+-65.126 36.324 3273
+-128 36.272 3021
+-127.874 36.272 3010
+-127.748 36.272 2999
+-127.622 36.272 2987
+-127.496 36.272 2974
+-127.37 36.272 2961
+-127.244 36.272 2946
+-127.118 36.272 2930
+-126.992 36.272 2952
+-126.866 36.272 2934
+-126.74 36.272 2915
+-126.614 36.272 2894
+-126.488 36.272 2870
+-126.362 36.272 2845
+-126.236 36.272 2816
+-126.11 36.272 2784
+-125.984 36.272 2749
+-125.858 36.272 2709
+-125.732 36.272 2696
+-125.606 36.272 2647
+-125.48 36.272 2593
+-125.354 36.272 2533
+-125.228 36.272 2471
+-125.102 36.272 2411
+-124.976 36.272 2354
+-124.85 36.272 2320
+-124.724 36.272 2302
+-124.598 36.272 2355
+-124.472 36.272 2407
+-124.346 36.272 2559
+-124.22 36.272 2681
+-124.094 36.272 2866
+-123.968 36.272 2996
+-123.842 36.272 3129
+-123.716 36.272 3236
+-123.59 36.272 3349
+-123.464 36.272 3453
+-123.338 36.272 3537
+-123.212 36.272 3636
+-123.086 36.272 3681
+-122.96 36.272 3716
+-122.834 36.272 3745
+-122.708 36.272 3859
+-122.582 36.272 3898
+-122.456 36.272 3995
+-122.33 36.272 4132
+-122.204 36.272 4186
+-122.078 36.272 4265
+-121.952 36.272 4367
+-121.826 36.272 4517
+-121.7 36.272 4610
+-121.574 36.272 4737
+-121.448 36.272 4775
+-121.322 36.272 4815
+-121.196 36.272 4822
+-121.07 36.272 4919
+-120.944 36.272 5055
+-120.818 36.272 5164
+-120.692 36.272 5269
+-120.566 36.272 5402
+-120.44 36.272 5492
+-120.314 36.272 5603
+-120.188 36.272 5726
+-120.062 36.272 5717
+-119.936 36.272 5886
+-119.81 36.272 6007
+-119.684 36.272 6096
+-119.558 36.272 6180
+-119.432 36.272 6298
+-119.306 36.272 6359
+-119.18 36.272 6483
+-119.054 36.272 6570
+-118.928 36.272 6670
+-118.802 36.272 6751
+-118.676 36.272 6793
+-118.55 36.272 6867
+-118.424 36.272 6961
+-118.298 36.272 7016
+-118.172 36.272 7052
+-118.046 36.272 7115
+-117.92 36.272 7148
+-117.794 36.272 7187
+-117.668 36.272 7211
+-117.542 36.272 7210
+-117.416 36.272 7213
+-117.29 36.272 7225
+-117.164 36.272 7234
+-117.038 36.272 7208
+-116.912 36.272 7178
+-116.786 36.272 7153
+-116.66 36.272 7119
+-116.534 36.272 7092
+-116.408 36.272 7014
+-116.282 36.272 6988
+-116.156 36.272 6900
+-116.03 36.272 6835
+-115.904 36.272 6786
+-115.778 36.272 6647
+-115.652 36.272 6536
+-115.526 36.272 6543
+-115.4 36.272 6410
+-115.274 36.272 6302
+-115.148 36.272 6200
+-115.022 36.272 6164
+-114.896 36.272 5989
+-114.77 36.272 5924
+-114.644 36.272 5773
+-114.518 36.272 5725
+-114.392 36.272 5614
+-114.266 36.272 5494
+-114.14 36.272 5458
+-114.014 36.272 5383
+-113.888 36.272 5198
+-113.762 36.272 5023
+-113.636 36.272 4916
+-113.51 36.272 4803
+-113.384 36.272 4673
+-113.258 36.272 4562
+-113.132 36.272 4444
+-113.006 36.272 4333
+-112.88 36.272 4317
+-112.754 36.272 4165
+-112.628 36.272 4042
+-112.502 36.272 4057
+-112.376 36.272 4090
+-112.25 36.272 4136
+-112.124 36.272 4182
+-111.998 36.272 4211
+-111.872 36.272 4228
+-111.746 36.272 4237
+-111.62 36.272 4266
+-111.494 36.272 4319
+-111.368 36.272 4366
+-111.242 36.272 4388
+-111.116 36.272 4397
+-110.99 36.272 4407
+-110.864 36.272 4386
+-110.738 36.272 4386
+-110.612 36.272 4390
+-110.486 36.272 4386
+-110.36 36.272 4393
+-110.234 36.272 4377
+-110.108 36.272 4387
+-109.982 36.272 4404
+-109.856 36.272 4405
+-109.73 36.272 4404
+-109.604 36.272 4405
+-109.478 36.272 4382
+-109.352 36.272 4360
+-109.226 36.272 4346
+-109.1 36.272 4326
+-108.974 36.272 4291
+-108.848 36.272 4248
+-108.722 36.272 4198
+-108.596 36.272 4138
+-108.47 36.272 4074
+-108.344 36.272 3971
+-108.218 36.272 3865
+-108.092 36.272 3810
+-107.966 36.272 3818
+-107.84 36.272 3777
+-107.714 36.272 3679
+-107.588 36.272 3623
+-107.462 36.272 3549
+-107.336 36.272 3465
+-107.21 36.272 3348
+-107.084 36.272 3264
+-106.958 36.272 3283
+-106.832 36.272 3249
+-106.706 36.272 3198
+-106.58 36.272 3106
+-106.454 36.272 2966
+-106.328 36.272 2796
+-106.202 36.272 2704
+-106.076 36.272 2751
+-105.95 36.272 2839
+-105.824 36.272 2905
+-105.698 36.272 2948
+-105.572 36.272 2977
+-105.446 36.272 2997
+-105.32 36.272 3010
+-105.194 36.272 3023
+-105.068 36.272 3034
+-104.942 36.272 3036
+-104.816 36.272 3045
+-104.69 36.272 3060
+-104.564 36.272 3059
+-104.438 36.272 3065
+-104.312 36.272 3076
+-104.186 36.272 3086
+-104.06 36.272 3096
+-103.934 36.272 3106
+-103.808 36.272 3115
+-103.682 36.272 3123
+-103.556 36.272 3111
+-103.43 36.272 3177
+-103.304 36.272 3184
+-103.178 36.272 3200
+-103.052 36.272 3194
+-102.926 36.272 3203
+-102.8 36.272 3212
+-102.674 36.272 3220
+-102.548 36.272 3228
+-102.422 36.272 3235
+-102.296 36.272 3242
+-102.17 36.272 3249
+-102.044 36.272 3152
+-101.918 36.272 3171
+-101.792 36.272 3081
+-101.666 36.272 3024
+-101.54 36.272 2973
+-101.414 36.272 2912
+-101.288 36.272 2841
+-101.162 36.272 2792
+-101.036 36.272 2829
+-100.91 36.272 2843
+-100.784 36.272 2932
+-100.658 36.272 3020
+-100.532 36.272 3056
+-100.406 36.272 3065
+-100.28 36.272 3087
+-100.154 36.272 3113
+-100.028 36.272 3106
+-99.902 36.272 3099
+-99.776 36.272 3092
+-99.65 36.272 3083
+-99.524 36.272 3104
+-99.398 36.272 3094
+-99.272 36.272 3083
+-99.146 36.272 3082
+-99.02 36.272 3043
+-98.894 36.272 3031
+-98.768 36.272 3064
+-98.642 36.272 3052
+-98.516 36.272 3039
+-98.39 36.272 3027
+-98.264 36.272 3013
+-98.138 36.272 2999
+-98.012 36.272 2983
+-97.886 36.272 2968
+-97.76 36.272 2953
+-97.634 36.272 3018
+-97.508 36.272 3043
+-97.382 36.272 3029
+-97.256 36.272 3018
+-97.13 36.272 3021
+-97.004 36.272 3024
+-96.878 36.272 3039
+-96.752 36.272 3112
+-96.626 36.272 3173
+-96.5 36.272 3232
+-96.374 36.272 3297
+-96.248 36.272 3389
+-96.122 36.272 3453
+-95.996 36.272 3529
+-95.87 36.272 3570
+-95.744 36.272 3593
+-95.618 36.272 3629
+-95.492 36.272 3568
+-95.366 36.272 3530
+-95.24 36.272 3687
+-95.114 36.272 3957
+-94.988 36.272 4122
+-94.862 36.272 4205
+-94.736 36.272 4276
+-94.61 36.272 4326
+-94.484 36.272 4289
+-94.358 36.272 4441
+-94.232 36.272 4624
+-94.106 36.272 4717
+-93.98 36.272 4815
+-93.854 36.272 4945
+-93.728 36.272 5074
+-93.602 36.272 5097
+-93.476 36.272 5220
+-93.35 36.272 5345
+-93.224 36.272 5449
+-93.098 36.272 5547
+-92.972 36.272 5679
+-92.846 36.272 5752
+-92.72 36.272 5776
+-92.594 36.272 5907
+-92.468 36.272 5919
+-92.342 36.272 6000
+-92.216 36.272 6112
+-92.09 36.272 6191
+-91.964 36.272 6248
+-91.838 36.272 6342
+-91.712 36.272 6390
+-91.586 36.272 6467
+-91.46 36.272 6526
+-91.334 36.272 6601
+-91.208 36.272 6579
+-91.082 36.272 6642
+-90.956 36.272 6669
+-90.83 36.272 7042
+-90.704 36.272 7199
+-90.578 36.272 7286
+-90.452 36.272 7399
+-90.326 36.272 7508
+-90.2 36.272 7599
+-90.074 36.272 7713
+-89.948 36.272 7760
+-89.822 36.272 7852
+-89.696 36.272 7967
+-89.57 36.272 8029
+-89.444 36.272 8089
+-89.318 36.272 8125
+-89.192 36.272 8201
+-89.066 36.272 8170
+-88.94 36.272 8230
+-88.814 36.272 8239
+-88.688 36.272 8221
+-88.562 36.272 8203
+-88.436 36.272 8160
+-88.31 36.272 8100
+-88.184 36.272 8077
+-88.058 36.272 8040
+-87.932 36.272 7930
+-87.806 36.272 7845
+-87.68 36.272 7732
+-87.554 36.272 7705
+-87.428 36.272 7609
+-87.302 36.272 7444
+-87.176 36.272 7352
+-87.05 36.272 7233
+-86.924 36.272 7133
+-86.798 36.272 7030
+-86.672 36.272 6933
+-86.546 36.272 6835
+-86.42 36.272 6720
+-86.294 36.272 6548
+-86.168 36.272 6397
+-86.042 36.272 6287
+-85.916 36.272 6241
+-85.79 36.272 6081
+-85.664 36.272 5905
+-85.538 36.272 5737
+-85.412 36.272 5693
+-85.286 36.272 5574
+-85.16 36.272 5475
+-85.034 36.272 5268
+-84.908 36.272 5126
+-84.782 36.272 5128
+-84.656 36.272 5008
+-84.53 36.272 4889
+-84.404 36.272 4705
+-84.278 36.272 4613
+-84.152 36.272 4478
+-84.026 36.272 4353
+-83.9 36.272 4255
+-83.774 36.272 4140
+-83.648 36.272 4083
+-83.522 36.272 4044
+-83.396 36.272 3970
+-83.27 36.272 3851
+-83.144 36.272 3790
+-83.018 36.272 3729
+-82.892 36.272 3661
+-82.766 36.272 3618
+-82.64 36.272 3585
+-82.514 36.272 3480
+-82.388 36.272 3399
+-82.262 36.272 3329
+-82.136 36.272 3273
+-82.01 36.272 3205
+-81.884 36.272 3070
+-81.758 36.272 3043
+-81.632 36.272 3019
+-81.506 36.272 3016
+-81.38 36.272 3006
+-81.254 36.272 3005
+-81.128 36.272 3019
+-81.002 36.272 3035
+-80.876 36.272 3051
+-80.75 36.272 3067
+-80.624 36.272 3083
+-80.498 36.272 3098
+-80.372 36.272 3090
+-80.246 36.272 3102
+-80.12 36.272 3061
+-79.994 36.272 3067
+-79.868 36.272 3043
+-79.742 36.272 3047
+-79.616 36.272 3050
+-79.49 36.272 2967
+-79.364 36.272 2951
+-79.238 36.272 2935
+-79.112 36.272 2937
+-78.986 36.272 2938
+-78.86 36.272 2939
+-78.734 36.272 2940
+-78.608 36.272 2941
+-78.482 36.272 2942
+-78.356 36.272 2943
+-78.23 36.272 2943
+-78.104 36.272 2944
+-77.978 36.272 2944
+-77.852 36.272 2833
+-77.726 36.272 2834
+-77.6 36.272 2840
+-77.474 36.272 2841
+-77.348 36.272 2805
+-77.222 36.272 2806
+-77.096 36.272 2806
+-76.97 36.272 2806
+-76.844 36.272 2696
+-76.718 36.272 2715
+-76.592 36.272 2676
+-76.466 36.272 2698
+-76.34 36.272 2701
+-76.214 36.272 2671
+-76.088 36.272 2673
+-75.962 36.272 2640
+-75.836 36.272 2643
+-75.71 36.272 2645
+-75.584 36.272 2650
+-75.458 36.272 2661
+-75.332 36.272 2675
+-75.206 36.272 2678
+-75.08 36.272 2719
+-74.954 36.272 2735
+-74.828 36.272 2739
+-74.702 36.272 2795
+-74.576 36.272 2820
+-74.45 36.272 2806
+-74.324 36.272 2802
+-74.198 36.272 2939
+-74.072 36.272 2944
+-73.946 36.272 3000
+-73.82 36.272 3005
+-73.694 36.272 3010
+-73.568 36.272 3015
+-73.442 36.272 3020
+-73.316 36.272 2953
+-73.19 36.272 2974
+-73.064 36.272 2978
+-72.938 36.272 2973
+-72.812 36.272 3260
+-72.686 36.272 3289
+-72.56 36.272 3292
+-72.434 36.272 3290
+-72.308 36.272 3293
+-72.182 36.272 3299
+-72.056 36.272 3316
+-71.93 36.272 3318
+-71.804 36.272 3310
+-71.678 36.272 3312
+-71.552 36.272 3269
+-71.426 36.272 3272
+-71.3 36.272 3274
+-71.174 36.272 3337
+-71.048 36.272 3333
+-70.922 36.272 3344
+-70.796 36.272 3347
+-70.67 36.272 3329
+-70.544 36.272 3350
+-70.418 36.272 3396
+-70.292 36.272 3408
+-70.166 36.272 3409
+-70.04 36.272 3409
+-69.914 36.272 3460
+-69.788 36.272 3463
+-69.662 36.272 3405
+-69.536 36.272 3428
+-69.41 36.272 3423
+-69.284 36.272 3346
+-69.158 36.272 3260
+-69.032 36.272 3283
+-68.906 36.272 3284
+-68.78 36.272 3317
+-68.654 36.272 3292
+-68.528 36.272 3304
+-68.402 36.272 3306
+-68.276 36.272 3286
+-68.15 36.272 3288
+-68.024 36.272 3290
+-67.898 36.272 3267
+-67.772 36.272 3249
+-67.646 36.272 3285
+-67.52 36.272 3280
+-67.394 36.272 3281
+-67.268 36.272 3283
+-67.142 36.272 3203
+-67.016 36.272 3244
+-66.89 36.272 3240
+-66.764 36.272 3242
+-66.638 36.272 3244
+-66.512 36.272 3476
+-66.386 36.272 3401
+-66.26 36.272 3411
+-66.134 36.272 3412
+-66.008 36.272 3306
+-65.882 36.272 3292
+-65.756 36.272 3293
+-65.63 36.272 3294
+-65.504 36.272 3271
+-65.378 36.272 3272
+-65.252 36.272 3272
+-65.126 36.272 3273
+-128 36.22 3020
+-127.874 36.22 3009
+-127.748 36.22 2998
+-127.622 36.22 2986
+-127.496 36.22 2973
+-127.37 36.22 2959
+-127.244 36.22 2944
+-127.118 36.22 2927
+-126.992 36.22 2910
+-126.866 36.22 2930
+-126.74 36.22 2909
+-126.614 36.22 2887
+-126.488 36.22 2862
+-126.362 36.22 2835
+-126.236 36.22 2804
+-126.11 36.22 2770
+-125.984 36.22 2731
+-125.858 36.22 2687
+-125.732 36.22 2636
+-125.606 36.22 2609
+-125.48 36.22 2544
+-125.354 36.22 2471
+-125.228 36.22 2389
+-125.102 36.22 2303
+-124.976 36.22 2221
+-124.85 36.22 2150
+-124.724 36.22 2115
+-124.598 36.22 2121
+-124.472 36.22 2215
+-124.346 36.22 2329
+-124.22 36.22 2535
+-124.094 36.22 2715
+-123.968 36.22 2910
+-123.842 36.22 3054
+-123.716 36.22 3213
+-123.59 36.22 3338
+-123.464 36.22 3450
+-123.338 36.22 3540
+-123.212 36.22 3600
+-123.086 36.22 3664
+-122.96 36.22 3694
+-122.834 36.22 3712
+-122.708 36.22 3823
+-122.582 36.22 3853
+-122.456 36.22 3928
+-122.33 36.22 4043
+-122.204 36.22 4127
+-122.078 36.22 4183
+-121.952 36.22 4291
+-121.826 36.22 4457
+-121.7 36.22 4618
+-121.574 36.22 4707
+-121.448 36.22 4768
+-121.322 36.22 4787
+-121.196 36.22 4699
+-121.07 36.22 4893
+-120.944 36.22 5104
+-120.818 36.22 5145
+-120.692 36.22 5201
+-120.566 36.22 5370
+-120.44 36.22 5510
+-120.314 36.22 5642
+-120.188 36.22 5785
+-120.062 36.22 5844
+-119.936 36.22 5946
+-119.81 36.22 6028
+-119.684 36.22 6127
+-119.558 36.22 6187
+-119.432 36.22 6332
+-119.306 36.22 6412
+-119.18 36.22 6475
+-119.054 36.22 6615
+-118.928 36.22 6692
+-118.802 36.22 6786
+-118.676 36.22 6845
+-118.55 36.22 6937
+-118.424 36.22 7010
+-118.298 36.22 7052
+-118.172 36.22 7088
+-118.046 36.22 7155
+-117.92 36.22 7215
+-117.794 36.22 7232
+-117.668 36.22 7274
+-117.542 36.22 7275
+-117.416 36.22 7313
+-117.29 36.22 7298
+-117.164 36.22 7288
+-117.038 36.22 7271
+-116.912 36.22 7238
+-116.786 36.22 7224
+-116.66 36.22 7169
+-116.534 36.22 7149
+-116.408 36.22 7073
+-116.282 36.22 7018
+-116.156 36.22 6955
+-116.03 36.22 6874
+-115.904 36.22 6853
+-115.778 36.22 6724
+-115.652 36.22 6613
+-115.526 36.22 6581
+-115.4 36.22 6497
+-115.274 36.22 6354
+-115.148 36.22 6242
+-115.022 36.22 6175
+-114.896 36.22 6066
+-114.77 36.22 5951
+-114.644 36.22 5802
+-114.518 36.22 5689
+-114.392 36.22 5619
+-114.266 36.22 5540
+-114.14 36.22 5472
+-114.014 36.22 5357
+-113.888 36.22 5235
+-113.762 36.22 5054
+-113.636 36.22 4967
+-113.51 36.22 4872
+-113.384 36.22 4758
+-113.258 36.22 4612
+-113.132 36.22 4467
+-113.006 36.22 4381
+-112.88 36.22 4328
+-112.754 36.22 4242
+-112.628 36.22 4160
+-112.502 36.22 4151
+-112.376 36.22 4177
+-112.25 36.22 4211
+-112.124 36.22 4246
+-111.998 36.22 4251
+-111.872 36.22 4232
+-111.746 36.22 4271
+-111.62 36.22 4335
+-111.494 36.22 4385
+-111.368 36.22 4411
+-111.242 36.22 4431
+-111.116 36.22 4439
+-110.99 36.22 4444
+-110.864 36.22 4466
+-110.738 36.22 4463
+-110.612 36.22 4454
+-110.486 36.22 4453
+-110.36 36.22 4456
+-110.234 36.22 4465
+-110.108 36.22 4460
+-109.982 36.22 4457
+-109.856 36.22 4441
+-109.73 36.22 4429
+-109.604 36.22 4432
+-109.478 36.22 4400
+-109.352 36.22 4360
+-109.226 36.22 4370
+-109.1 36.22 4361
+-108.974 36.22 4335
+-108.848 36.22 4285
+-108.722 36.22 4241
+-108.596 36.22 4202
+-108.47 36.22 4126
+-108.344 36.22 4036
+-108.218 36.22 3927
+-108.092 36.22 3857
+-107.966 36.22 3848
+-107.84 36.22 3807
+-107.714 36.22 3754
+-107.588 36.22 3653
+-107.462 36.22 3567
+-107.336 36.22 3504
+-107.21 36.22 3417
+-107.084 36.22 3327
+-106.958 36.22 3287
+-106.832 36.22 3227
+-106.706 36.22 3215
+-106.58 36.22 3167
+-106.454 36.22 3048
+-106.328 36.22 2939
+-106.202 36.22 2873
+-106.076 36.22 2876
+-105.95 36.22 2913
+-105.824 36.22 2950
+-105.698 36.22 2980
+-105.572 36.22 3001
+-105.446 36.22 3015
+-105.32 36.22 3029
+-105.194 36.22 3040
+-105.068 36.22 3042
+-104.942 36.22 3051
+-104.816 36.22 3065
+-104.69 36.22 3064
+-104.564 36.22 3070
+-104.438 36.22 3080
+-104.312 36.22 3090
+-104.186 36.22 3099
+-104.06 36.22 3109
+-103.934 36.22 3117
+-103.808 36.22 3126
+-103.682 36.22 3114
+-103.556 36.22 3178
+-103.43 36.22 3185
+-103.304 36.22 3201
+-103.178 36.22 3196
+-103.052 36.22 3205
+-102.926 36.22 3214
+-102.8 36.22 3222
+-102.674 36.22 3230
+-102.548 36.22 3237
+-102.422 36.22 3244
+-102.296 36.22 3251
+-102.17 36.22 3257
+-102.044 36.22 3160
+-101.918 36.22 3175
+-101.792 36.22 3089
+-101.666 36.22 3076
+-101.54 36.22 2980
+-101.414 36.22 2963
+-101.288 36.22 2876
+-101.162 36.22 2832
+-101.036 36.22 2828
+-100.91 36.22 2864
+-100.784 36.22 2927
+-100.658 36.22 2945
+-100.532 36.22 3026
+-100.406 36.22 3085
+-100.28 36.22 3112
+-100.154 36.22 3105
+-100.028 36.22 3098
+-99.902 36.22 3090
+-99.776 36.22 3081
+-99.65 36.22 3102
+-99.524 36.22 3092
+-99.398 36.22 3081
+-99.272 36.22 3080
+-99.146 36.22 3041
+-99.02 36.22 3029
+-98.894 36.22 3065
+-98.768 36.22 3052
+-98.642 36.22 3039
+-98.516 36.22 3025
+-98.39 36.22 3011
+-98.264 36.22 2995
+-98.138 36.22 2980
+-98.012 36.22 2964
+-97.886 36.22 2949
+-97.76 36.22 3015
+-97.634 36.22 3016
+-97.508 36.22 3005
+-97.382 36.22 2997
+-97.256 36.22 3024
+-97.13 36.22 3027
+-97.004 36.22 3037
+-96.878 36.22 3078
+-96.752 36.22 3123
+-96.626 36.22 3168
+-96.5 36.22 3218
+-96.374 36.22 3305
+-96.248 36.22 3363
+-96.122 36.22 3429
+-95.996 36.22 3480
+-95.87 36.22 3522
+-95.744 36.22 3545
+-95.618 36.22 3585
+-95.492 36.22 3481
+-95.366 36.22 3383
+-95.24 36.22 3557
+-95.114 36.22 3859
+-94.988 36.22 4067
+-94.862 36.22 4116
+-94.736 36.22 4136
+-94.61 36.22 4258
+-94.484 36.22 4347
+-94.358 36.22 4466
+-94.232 36.22 4588
+-94.106 36.22 4683
+-93.98 36.22 4809
+-93.854 36.22 4931
+-93.728 36.22 5058
+-93.602 36.22 5121
+-93.476 36.22 5230
+-93.35 36.22 5321
+-93.224 36.22 5394
+-93.098 36.22 5495
+-92.972 36.22 5612
+-92.846 36.22 5674
+-92.72 36.22 5797
+-92.594 36.22 5871
+-92.468 36.22 5917
+-92.342 36.22 5998
+-92.216 36.22 6035
+-92.09 36.22 6148
+-91.964 36.22 6229
+-91.838 36.22 6320
+-91.712 36.22 6363
+-91.586 36.22 6400
+-91.46 36.22 6492
+-91.334 36.22 6505
+-91.208 36.22 6524
+-91.082 36.22 6584
+-90.956 36.22 6931
+-90.83 36.22 6963
+-90.704 36.22 7139
+-90.578 36.22 7259
+-90.452 36.22 7344
+-90.326 36.22 7445
+-90.2 36.22 7557
+-90.074 36.22 7599
+-89.948 36.22 7709
+-89.822 36.22 7809
+-89.696 36.22 7889
+-89.57 36.22 7939
+-89.444 36.22 8032
+-89.318 36.22 8090
+-89.192 36.22 8130
+-89.066 36.22 8147
+-88.94 36.22 8134
+-88.814 36.22 8161
+-88.688 36.22 8163
+-88.562 36.22 8132
+-88.436 36.22 8110
+-88.31 36.22 8051
+-88.184 36.22 8033
+-88.058 36.22 7951
+-87.932 36.22 7902
+-87.806 36.22 7828
+-87.68 36.22 7755
+-87.554 36.22 7642
+-87.428 36.22 7557
+-87.302 36.22 7420
+-87.176 36.22 7289
+-87.05 36.22 7187
+-86.924 36.22 7132
+-86.798 36.22 6996
+-86.672 36.22 6852
+-86.546 36.22 6783
+-86.42 36.22 6619
+-86.294 36.22 6495
+-86.168 36.22 6381
+-86.042 36.22 6275
+-85.916 36.22 6163
+-85.79 36.22 6016
+-85.664 36.22 5902
+-85.538 36.22 5696
+-85.412 36.22 5705
+-85.286 36.22 5592
+-85.16 36.22 5452
+-85.034 36.22 5262
+-84.908 36.22 5162
+-84.782 36.22 5097
+-84.656 36.22 4975
+-84.53 36.22 4785
+-84.404 36.22 4649
+-84.278 36.22 4601
+-84.152 36.22 4455
+-84.026 36.22 4284
+-83.9 36.22 4114
+-83.774 36.22 4002
+-83.648 36.22 3985
+-83.522 36.22 3953
+-83.396 36.22 3890
+-83.27 36.22 3754
+-83.144 36.22 3671
+-83.018 36.22 3602
+-82.892 36.22 3581
+-82.766 36.22 3553
+-82.64 36.22 3476
+-82.514 36.22 3411
+-82.388 36.22 3349
+-82.262 36.22 3278
+-82.136 36.22 3191
+-82.01 36.22 3116
+-81.884 36.22 3064
+-81.758 36.22 2941
+-81.632 36.22 2930
+-81.506 36.22 2927
+-81.38 36.22 2928
+-81.254 36.22 2938
+-81.128 36.22 2961
+-81.002 36.22 2984
+-80.876 36.22 3007
+-80.75 36.22 3029
+-80.624 36.22 3049
+-80.498 36.22 3068
+-80.372 36.22 3085
+-80.246 36.22 3027
+-80.12 36.22 3036
+-79.994 36.22 3044
+-79.868 36.22 3051
+-79.742 36.22 3057
+-79.616 36.22 3018
+-79.49 36.22 3021
+-79.364 36.22 2950
+-79.238 36.22 2934
+-79.112 36.22 2919
+-78.986 36.22 2920
+-78.86 36.22 2922
+-78.734 36.22 2923
+-78.608 36.22 2925
+-78.482 36.22 2926
+-78.356 36.22 2927
+-78.23 36.22 2928
+-78.104 36.22 2929
+-77.978 36.22 2817
+-77.852 36.22 2818
+-77.726 36.22 2824
+-77.6 36.22 2826
+-77.474 36.22 2791
+-77.348 36.22 2791
+-77.222 36.22 2792
+-77.096 36.22 2789
+-76.97 36.22 2683
+-76.844 36.22 2703
+-76.718 36.22 2665
+-76.592 36.22 2687
+-76.466 36.22 2690
+-76.34 36.22 2662
+-76.214 36.22 2664
+-76.088 36.22 2631
+-75.962 36.22 2634
+-75.836 36.22 2637
+-75.71 36.22 2642
+-75.584 36.22 2654
+-75.458 36.22 2668
+-75.332 36.22 2671
+-75.206 36.22 2712
+-75.08 36.22 2729
+-74.954 36.22 2733
+-74.828 36.22 2790
+-74.702 36.22 2814
+-74.576 36.22 2801
+-74.45 36.22 2797
+-74.324 36.22 2934
+-74.198 36.22 2939
+-74.072 36.22 2994
+-73.946 36.22 3000
+-73.82 36.22 3005
+-73.694 36.22 3011
+-73.568 36.22 3016
+-73.442 36.22 2949
+-73.316 36.22 2971
+-73.19 36.22 2975
+-73.064 36.22 2970
+-72.938 36.22 3255
+-72.812 36.22 3284
+-72.686 36.22 3288
+-72.56 36.22 3286
+-72.434 36.22 3289
+-72.308 36.22 3296
+-72.182 36.22 3312
+-72.056 36.22 3315
+-71.93 36.22 3306
+-71.804 36.22 3309
+-71.678 36.22 3266
+-71.552 36.22 3269
+-71.426 36.22 3271
+-71.3 36.22 3334
+-71.174 36.22 3331
+-71.048 36.22 3341
+-70.922 36.22 3344
+-70.796 36.22 3326
+-70.67 36.22 3348
+-70.544 36.22 3394
+-70.418 36.22 3405
+-70.292 36.22 3406
+-70.166 36.22 3406
+-70.04 36.22 3457
+-69.914 36.22 3460
+-69.788 36.22 3402
+-69.662 36.22 3426
+-69.536 36.22 3421
+-69.41 36.22 3341
+-69.284 36.22 3258
+-69.158 36.22 3281
+-69.032 36.22 3283
+-68.906 36.22 3316
+-68.78 36.22 3290
+-68.654 36.22 3302
+-68.528 36.22 3304
+-68.402 36.22 3285
+-68.276 36.22 3287
+-68.15 36.22 3289
+-68.024 36.22 3265
+-67.898 36.22 3248
+-67.772 36.22 3283
+-67.646 36.22 3278
+-67.52 36.22 3280
+-67.394 36.22 3282
+-67.268 36.22 3202
+-67.142 36.22 3243
+-67.016 36.22 3239
+-66.89 36.22 3241
+-66.764 36.22 3243
+-66.638 36.22 3475
+-66.512 36.22 3396
+-66.386 36.22 3410
+-66.26 36.22 3411
+-66.134 36.22 3305
+-66.008 36.22 3292
+-65.882 36.22 3292
+-65.756 36.22 3293
+-65.63 36.22 3270
+-65.504 36.22 3271
+-65.378 36.22 3272
+-65.252 36.22 3272
+-65.126 36.22 3273
+-128 36.168 3020
+-127.874 36.168 3009
+-127.748 36.168 2998
+-127.622 36.168 2985
+-127.496 36.168 2972
+-127.37 36.168 2958
+-127.244 36.168 2942
+-127.118 36.168 2926
+-126.992 36.168 2907
+-126.866 36.168 2888
+-126.74 36.168 2905
+-126.614 36.168 2882
+-126.488 36.168 2856
+-126.362 36.168 2827
+-126.236 36.168 2795
+-126.11 36.168 2758
+-125.984 36.168 2716
+-125.858 36.168 2668
+-125.732 36.168 2612
+-125.606 36.168 2548
+-125.48 36.168 2501
+-125.354 36.168 2413
+-125.228 36.168 2312
+-125.102 36.168 2199
+-124.976 36.168 2080
+-124.85 36.168 1978
+-124.724 36.168 1901
+-124.598 36.168 1889
+-124.472 36.168 1964
+-124.346 36.168 2140
+-124.22 36.168 2342
+-124.094 36.168 2602
+-123.968 36.168 2806
+-123.842 36.168 3025
+-123.716 36.168 3169
+-123.59 36.168 3309
+-123.464 36.168 3428
+-123.338 36.168 3511
+-123.212 36.168 3588
+-123.086 36.168 3630
+-122.96 36.168 3665
+-122.834 36.168 3699
+-122.708 36.168 3715
+-122.582 36.168 3716
+-122.456 36.168 3817
+-122.33 36.168 3977
+-122.204 36.168 4026
+-122.078 36.168 4037
+-121.952 36.168 4171
+-121.826 36.168 4416
+-121.7 36.168 4588
+-121.574 36.168 4704
+-121.448 36.168 4777
+-121.322 36.168 4785
+-121.196 36.168 4825
+-121.07 36.168 4970
+-120.944 36.168 5114
+-120.818 36.168 5187
+-120.692 36.168 5295
+-120.566 36.168 5391
+-120.44 36.168 5518
+-120.314 36.168 5700
+-120.188 36.168 5824
+-120.062 36.168 5829
+-119.936 36.168 5970
+-119.81 36.168 6080
+-119.684 36.168 6186
+-119.558 36.168 6276
+-119.432 36.168 6379
+-119.306 36.168 6477
+-119.18 36.168 6568
+-119.054 36.168 6669
+-118.928 36.168 6760
+-118.802 36.168 6776
+-118.676 36.168 6921
+-118.55 36.168 6993
+-118.424 36.168 7040
+-118.298 36.168 7106
+-118.172 36.168 7152
+-118.046 36.168 7214
+-117.92 36.168 7289
+-117.794 36.168 7294
+-117.668 36.168 7308
+-117.542 36.168 7342
+-117.416 36.168 7363
+-117.29 36.168 7361
+-117.164 36.168 7356
+-117.038 36.168 7338
+-116.912 36.168 7306
+-116.786 36.168 7261
+-116.66 36.168 7261
+-116.534 36.168 7188
+-116.408 36.168 7127
+-116.282 36.168 7056
+-116.156 36.168 6989
+-116.03 36.168 6894
+-115.904 36.168 6859
+-115.778 36.168 6770
+-115.652 36.168 6699
+-115.526 36.168 6631
+-115.4 36.168 6556
+-115.274 36.168 6411
+-115.148 36.168 6359
+-115.022 36.168 6172
+-114.896 36.168 6104
+-114.77 36.168 5962
+-114.644 36.168 5839
+-114.518 36.168 5741
+-114.392 36.168 5615
+-114.266 36.168 5545
+-114.14 36.168 5436
+-114.014 36.168 5309
+-113.888 36.168 5243
+-113.762 36.168 5100
+-113.636 36.168 4976
+-113.51 36.168 4856
+-113.384 36.168 4835
+-113.258 36.168 4673
+-113.132 36.168 4490
+-113.006 36.168 4390
+-112.88 36.168 4315
+-112.754 36.168 4235
+-112.628 36.168 4210
+-112.502 36.168 4216
+-112.376 36.168 4229
+-112.25 36.168 4261
+-112.124 36.168 4286
+-111.998 36.168 4283
+-111.872 36.168 4279
+-111.746 36.168 4315
+-111.62 36.168 4369
+-111.494 36.168 4440
+-111.368 36.168 4463
+-111.242 36.168 4479
+-111.116 36.168 4480
+-110.99 36.168 4490
+-110.864 36.168 4528
+-110.738 36.168 4511
+-110.612 36.168 4500
+-110.486 36.168 4505
+-110.36 36.168 4517
+-110.234 36.168 4536
+-110.108 36.168 4532
+-109.982 36.168 4515
+-109.856 36.168 4480
+-109.73 36.168 4470
+-109.604 36.168 4447
+-109.478 36.168 4433
+-109.352 36.168 4403
+-109.226 36.168 4406
+-109.1 36.168 4394
+-108.974 36.168 4364
+-108.848 36.168 4306
+-108.722 36.168 4254
+-108.596 36.168 4233
+-108.47 36.168 4182
+-108.344 36.168 4119
+-108.218 36.168 4023
+-108.092 36.168 3943
+-107.966 36.168 3891
+-107.84 36.168 3834
+-107.714 36.168 3769
+-107.588 36.168 3707
+-107.462 36.168 3585
+-107.336 36.168 3490
+-107.21 36.168 3486
+-107.084 36.168 3396
+-106.958 36.168 3266
+-106.832 36.168 3183
+-106.706 36.168 3214
+-106.58 36.168 3201
+-106.454 36.168 3110
+-106.328 36.168 3023
+-106.202 36.168 2976
+-106.076 36.168 2963
+-105.95 36.168 2972
+-105.824 36.168 2990
+-105.698 36.168 3008
+-105.572 36.168 3021
+-105.446 36.168 3034
+-105.32 36.168 3045
+-105.194 36.168 3048
+-105.068 36.168 3056
+-104.942 36.168 3070
+-104.816 36.168 3069
+-104.69 36.168 3074
+-104.564 36.168 3084
+-104.438 36.168 3094
+-104.312 36.168 3103
+-104.186 36.168 3112
+-104.06 36.168 3121
+-103.934 36.168 3129
+-103.808 36.168 3117
+-103.682 36.168 3180
+-103.556 36.168 3188
+-103.43 36.168 3203
+-103.304 36.168 3198
+-103.178 36.168 3207
+-103.052 36.168 3216
+-102.926 36.168 3224
+-102.8 36.168 3232
+-102.674 36.168 3239
+-102.548 36.168 3246
+-102.422 36.168 3253
+-102.296 36.168 3259
+-102.17 36.168 3265
+-102.044 36.168 3294
+-101.918 36.168 3183
+-101.792 36.168 3091
+-101.666 36.168 3073
+-101.54 36.168 3048
+-101.414 36.168 2958
+-101.288 36.168 2884
+-101.162 36.168 2835
+-101.036 36.168 2828
+-100.91 36.168 2862
+-100.784 36.168 2922
+-100.658 36.168 2940
+-100.532 36.168 3053
+-100.406 36.168 3111
+-100.28 36.168 3104
+-100.154 36.168 3097
+-100.028 36.168 3089
+-99.902 36.168 3081
+-99.776 36.168 3101
+-99.65 36.168 3091
+-99.524 36.168 3080
+-99.398 36.168 3079
+-99.272 36.168 3040
+-99.146 36.168 3029
+-99.02 36.168 3065
+-98.894 36.168 3052
+-98.768 36.168 3038
+-98.642 36.168 3024
+-98.516 36.168 3008
+-98.39 36.168 2992
+-98.264 36.168 2975
+-98.138 36.168 2958
+-98.012 36.168 2940
+-97.886 36.168 2988
+-97.76 36.168 2992
+-97.634 36.168 2979
+-97.508 36.168 2968
+-97.382 36.168 2984
+-97.256 36.168 2984
+-97.13 36.168 2998
+-97.004 36.168 3020
+-96.878 36.168 3062
+-96.752 36.168 3094
+-96.626 36.168 3132
+-96.5 36.168 3176
+-96.374 36.168 3280
+-96.248 36.168 3340
+-96.122 36.168 3385
+-95.996 36.168 3449
+-95.87 36.168 3489
+-95.744 36.168 3533
+-95.618 36.168 3597
+-95.492 36.168 3535
+-95.366 36.168 3511
+-95.24 36.168 3640
+-95.114 36.168 3872
+-94.988 36.168 4029
+-94.862 36.168 4064
+-94.736 36.168 4013
+-94.61 36.168 4153
+-94.484 36.168 4338
+-94.358 36.168 4482
+-94.232 36.168 4565
+-94.106 36.168 4644
+-93.98 36.168 4776
+-93.854 36.168 4901
+-93.728 36.168 5030
+-93.602 36.168 5088
+-93.476 36.168 5201
+-93.35 36.168 5278
+-93.224 36.168 5342
+-93.098 36.168 5417
+-92.972 36.168 5533
+-92.846 36.168 5621
+-92.72 36.168 5730
+-92.594 36.168 5842
+-92.468 36.168 5903
+-92.342 36.168 5956
+-92.216 36.168 6050
+-92.09 36.168 6101
+-91.964 36.168 6174
+-91.838 36.168 6227
+-91.712 36.168 6311
+-91.586 36.168 6380
+-91.46 36.168 6420
+-91.334 36.168 6488
+-91.208 36.168 6493
+-91.082 36.168 6506
+-90.956 36.168 6891
+-90.83 36.168 6987
+-90.704 36.168 7080
+-90.578 36.168 7188
+-90.452 36.168 7297
+-90.326 36.168 7412
+-90.2 36.168 7515
+-90.074 36.168 7578
+-89.948 36.168 7678
+-89.822 36.168 7772
+-89.696 36.168 7831
+-89.57 36.168 7916
+-89.444 36.168 7986
+-89.318 36.168 8003
+-89.192 36.168 8058
+-89.066 36.168 8093
+-88.94 36.168 8127
+-88.814 36.168 8127
+-88.688 36.168 8089
+-88.562 36.168 8054
+-88.436 36.168 8035
+-88.31 36.168 7994
+-88.184 36.168 7940
+-88.058 36.168 7882
+-87.932 36.168 7816
+-87.806 36.168 7744
+-87.68 36.168 7657
+-87.554 36.168 7602
+-87.428 36.168 7471
+-87.302 36.168 7382
+-87.176 36.168 7264
+-87.05 36.168 7150
+-86.924 36.168 7083
+-86.798 36.168 6945
+-86.672 36.168 6828
+-86.546 36.168 6737
+-86.42 36.168 6606
+-86.294 36.168 6507
+-86.168 36.168 6374
+-86.042 36.168 6257
+-85.916 36.168 6139
+-85.79 36.168 6020
+-85.664 36.168 5871
+-85.538 36.168 5800
+-85.412 36.168 5686
+-85.286 36.168 5568
+-85.16 36.168 5403
+-85.034 36.168 5228
+-84.908 36.168 5110
+-84.782 36.168 5031
+-84.656 36.168 4899
+-84.53 36.168 4733
+-84.404 36.168 4532
+-84.278 36.168 4556
+-84.152 36.168 4419
+-84.026 36.168 4228
+-83.9 36.168 4016
+-83.774 36.168 3894
+-83.648 36.168 3930
+-83.522 36.168 3898
+-83.396 36.168 3784
+-83.27 36.168 3607
+-83.144 36.168 3484
+-83.018 36.168 3467
+-82.892 36.168 3489
+-82.766 36.168 3445
+-82.64 36.168 3416
+-82.514 36.168 3362
+-82.388 36.168 3286
+-82.262 36.168 3193
+-82.136 36.168 3095
+-82.01 36.168 2985
+-81.884 36.168 2922
+-81.758 36.168 2807
+-81.632 36.168 2806
+-81.506 36.168 2816
+-81.38 36.168 2851
+-81.254 36.168 2874
+-81.128 36.168 2898
+-81.002 36.168 2931
+-80.876 36.168 2962
+-80.75 36.168 2990
+-80.624 36.168 3015
+-80.498 36.168 3038
+-80.372 36.168 2988
+-80.246 36.168 3001
+-80.12 36.168 3012
+-79.994 36.168 3021
+-79.868 36.168 3029
+-79.742 36.168 3036
+-79.616 36.168 3041
+-79.49 36.168 3003
+-79.364 36.168 3007
+-79.238 36.168 2933
+-79.112 36.168 2917
+-78.986 36.168 2902
+-78.86 36.168 2889
+-78.734 36.168 2890
+-78.608 36.168 2892
+-78.482 36.168 2893
+-78.356 36.168 2894
+-78.23 36.168 2869
+-78.104 36.168 2800
+-77.978 36.168 2801
+-77.852 36.168 2808
+-77.726 36.168 2809
+-77.6 36.168 2775
+-77.474 36.168 2764
+-77.348 36.168 2765
+-77.222 36.168 2775
+-77.096 36.168 2669
+-76.97 36.168 2689
+-76.844 36.168 2652
+-76.718 36.168 2675
+-76.592 36.168 2678
+-76.466 36.168 2652
+-76.34 36.168 2654
+-76.214 36.168 2622
+-76.088 36.168 2625
+-75.962 36.168 2629
+-75.836 36.168 2634
+-75.71 36.168 2645
+-75.584 36.168 2660
+-75.458 36.168 2664
+-75.332 36.168 2706
+-75.206 36.168 2722
+-75.08 36.168 2727
+-74.954 36.168 2784
+-74.828 36.168 2809
+-74.702 36.168 2796
+-74.576 36.168 2792
+-74.45 36.168 2929
+-74.324 36.168 2934
+-74.198 36.168 2989
+-74.072 36.168 2995
+-73.946 36.168 3000
+-73.82 36.168 3006
+-73.694 36.168 3011
+-73.568 36.168 2945
+-73.442 36.168 2967
+-73.316 36.168 2972
+-73.19 36.168 2967
+-73.064 36.168 3251
+-72.938 36.168 3280
+-72.812 36.168 3283
+-72.686 36.168 3282
+-72.56 36.168 3285
+-72.434 36.168 3292
+-72.308 36.168 3308
+-72.182 36.168 3311
+-72.056 36.168 3303
+-71.93 36.168 3306
+-71.804 36.168 3263
+-71.678 36.168 3266
+-71.552 36.168 3269
+-71.426 36.168 3330
+-71.3 36.168 3328
+-71.174 36.168 3338
+-71.048 36.168 3341
+-70.922 36.168 3323
+-70.796 36.168 3345
+-70.67 36.168 3391
+-70.544 36.168 3403
+-70.418 36.168 3403
+-70.292 36.168 3404
+-70.166 36.168 3455
+-70.04 36.168 3458
+-69.914 36.168 3400
+-69.788 36.168 3423
+-69.662 36.168 3418
+-69.536 36.168 3342
+-69.41 36.168 3256
+-69.284 36.168 3279
+-69.158 36.168 3281
+-69.032 36.168 3314
+-68.906 36.168 3289
+-68.78 36.168 3301
+-68.654 36.168 3303
+-68.528 36.168 3283
+-68.402 36.168 3285
+-68.276 36.168 3287
+-68.15 36.168 3264
+-68.024 36.168 3247
+-67.898 36.168 3282
+-67.772 36.168 3277
+-67.646 36.168 3279
+-67.52 36.168 3281
+-67.394 36.168 3201
+-67.268 36.168 3242
+-67.142 36.168 3238
+-67.016 36.168 3240
+-66.89 36.168 3242
+-66.764 36.168 3474
+-66.638 36.168 3399
+-66.512 36.168 3409
+-66.386 36.168 3410
+-66.26 36.168 3305
+-66.134 36.168 3291
+-66.008 36.168 3292
+-65.882 36.168 3292
+-65.756 36.168 3270
+-65.63 36.168 3270
+-65.504 36.168 3271
+-65.378 36.168 3272
+-65.252 36.168 3272
+-65.126 36.168 3299
+-128 36.116 3020
+-127.874 36.116 3010
+-127.748 36.116 2998
+-127.622 36.116 2985
+-127.496 36.116 2972
+-127.37 36.116 2957
+-127.244 36.116 2942
+-127.118 36.116 2925
+-126.992 36.116 2906
+-126.866 36.116 2886
+-126.74 36.116 2864
+-126.614 36.116 2878
+-126.488 36.116 2852
+-126.362 36.116 2822
+-126.236 36.116 2788
+-126.11 36.116 2750
+-125.984 36.116 2706
+-125.858 36.116 2655
+-125.732 36.116 2595
+-125.606 36.116 2524
+-125.48 36.116 2441
+-125.354 36.116 2368
+-125.228 36.116 2248
+-125.102 36.116 2109
+-124.976 36.116 1953
+-124.85 36.116 1796
+-124.724 36.116 1678
+-124.598 36.116 1640
+-124.472 36.116 1729
+-124.346 36.116 1931
+-124.22 36.116 2180
+-124.094 36.116 2456
+-123.968 36.116 2713
+-123.842 36.116 2910
+-123.716 36.116 3121
+-123.59 36.116 3257
+-123.464 36.116 3386
+-123.338 36.116 3495
+-123.212 36.116 3612
+-123.086 36.116 3661
+-122.96 36.116 3663
+-122.834 36.116 3640
+-122.708 36.116 3580
+-122.582 36.116 3530
+-122.456 36.116 3666
+-122.33 36.116 3902
+-122.204 36.116 3977
+-122.078 36.116 3926
+-121.952 36.116 4090
+-121.826 36.116 4402
+-121.7 36.116 4593
+-121.574 36.116 4681
+-121.448 36.116 4719
+-121.322 36.116 4735
+-121.196 36.116 4851
+-121.07 36.116 5024
+-120.944 36.116 5118
+-120.818 36.116 5204
+-120.692 36.116 5356
+-120.566 36.116 5464
+-120.44 36.116 5570
+-120.314 36.116 5727
+-120.188 36.116 5839
+-120.062 36.116 5878
+-119.936 36.116 5996
+-119.81 36.116 6056
+-119.684 36.116 6202
+-119.558 36.116 6295
+-119.432 36.116 6369
+-119.306 36.116 6494
+-119.18 36.116 6605
+-119.054 36.116 6669
+-118.928 36.116 6768
+-118.802 36.116 6824
+-118.676 36.116 6937
+-118.55 36.116 7052
+-118.424 36.116 7123
+-118.298 36.116 7144
+-118.172 36.116 7209
+-118.046 36.116 7259
+-117.92 36.116 7319
+-117.794 36.116 7333
+-117.668 36.116 7348
+-117.542 36.116 7407
+-117.416 36.116 7390
+-117.29 36.116 7410
+-117.164 36.116 7401
+-117.038 36.116 7381
+-116.912 36.116 7351
+-116.786 36.116 7307
+-116.66 36.116 7269
+-116.534 36.116 7198
+-116.408 36.116 7213
+-116.282 36.116 7143
+-116.156 36.116 7038
+-116.03 36.116 6979
+-115.904 36.116 6882
+-115.778 36.116 6829
+-115.652 36.116 6741
+-115.526 36.116 6669
+-115.4 36.116 6576
+-115.274 36.116 6481
+-115.148 36.116 6355
+-115.022 36.116 6228
+-114.896 36.116 6109
+-114.77 36.116 5971
+-114.644 36.116 5917
+-114.518 36.116 5778
+-114.392 36.116 5633
+-114.266 36.116 5562
+-114.14 36.116 5417
+-114.014 36.116 5298
+-113.888 36.116 5177
+-113.762 36.116 5147
+-113.636 36.116 4992
+-113.51 36.116 4909
+-113.384 36.116 4833
+-113.258 36.116 4700
+-113.132 36.116 4491
+-113.006 36.116 4369
+-112.88 36.116 4301
+-112.754 36.116 4161
+-112.628 36.116 4215
+-112.502 36.116 4244
+-112.376 36.116 4280
+-112.25 36.116 4309
+-112.124 36.116 4308
+-111.998 36.116 4277
+-111.872 36.116 4318
+-111.746 36.116 4374
+-111.62 36.116 4440
+-111.494 36.116 4490
+-111.368 36.116 4507
+-111.242 36.116 4492
+-111.116 36.116 4520
+-110.99 36.116 4540
+-110.864 36.116 4543
+-110.738 36.116 4558
+-110.612 36.116 4571
+-110.486 36.116 4586
+-110.36 36.116 4604
+-110.234 36.116 4614
+-110.108 36.116 4628
+-109.982 36.116 4596
+-109.856 36.116 4554
+-109.73 36.116 4520
+-109.604 36.116 4511
+-109.478 36.116 4512
+-109.352 36.116 4486
+-109.226 36.116 4453
+-109.1 36.116 4425
+-108.974 36.116 4396
+-108.848 36.116 4314
+-108.722 36.116 4239
+-108.596 36.116 4250
+-108.47 36.116 4224
+-108.344 36.116 4189
+-108.218 36.116 4110
+-108.092 36.116 4044
+-107.966 36.116 3955
+-107.84 36.116 3864
+-107.714 36.116 3778
+-107.588 36.116 3742
+-107.462 36.116 3668
+-107.336 36.116 3562
+-107.21 36.116 3526
+-107.084 36.116 3445
+-106.958 36.116 3317
+-106.832 36.116 3244
+-106.706 36.116 3241
+-106.58 36.116 3213
+-106.454 36.116 3142
+-106.328 36.116 3042
+-106.202 36.116 2995
+-106.076 36.116 2982
+-105.95 36.116 2995
+-105.824 36.116 3012
+-105.698 36.116 3025
+-105.572 36.116 3038
+-105.446 36.116 3049
+-105.32 36.116 3052
+-105.194 36.116 3060
+-105.068 36.116 3075
+-104.942 36.116 3073
+-104.816 36.116 3079
+-104.69 36.116 3089
+-104.564 36.116 3098
+-104.438 36.116 3107
+-104.312 36.116 3116
+-104.186 36.116 3125
+-104.06 36.116 3133
+-103.934 36.116 3121
+-103.808 36.116 3183
+-103.682 36.116 3190
+-103.556 36.116 3205
+-103.43 36.116 3201
+-103.304 36.116 3210
+-103.178 36.116 3219
+-103.052 36.116 3227
+-102.926 36.116 3235
+-102.8 36.116 3242
+-102.674 36.116 3249
+-102.548 36.116 3256
+-102.422 36.116 3262
+-102.296 36.116 3268
+-102.17 36.116 3296
+-102.044 36.116 3300
+-101.918 36.116 3180
+-101.792 36.116 3088
+-101.666 36.116 3081
+-101.54 36.116 3057
+-101.414 36.116 3004
+-101.288 36.116 2889
+-101.162 36.116 2837
+-101.036 36.116 2828
+-100.91 36.116 2861
+-100.784 36.116 2917
+-100.658 36.116 2935
+-100.532 36.116 3046
+-100.406 36.116 3104
+-100.28 36.116 3097
+-100.154 36.116 3089
+-100.028 36.116 3080
+-99.902 36.116 3101
+-99.776 36.116 3091
+-99.65 36.116 3080
+-99.524 36.116 3079
+-99.398 36.116 3041
+-99.272 36.116 3029
+-99.146 36.116 3066
+-99.02 36.116 3053
+-98.894 36.116 3039
+-98.768 36.116 3024
+-98.642 36.116 3008
+-98.516 36.116 2991
+-98.39 36.116 2972
+-98.264 36.116 2953
+-98.138 36.116 2933
+-98.012 36.116 2957
+-97.886 36.116 2978
+-97.76 36.116 2959
+-97.634 36.116 2942
+-97.508 36.116 2950
+-97.382 36.116 2941
+-97.256 36.116 2947
+-97.13 36.116 2961
+-97.004 36.116 2995
+-96.878 36.116 3021
+-96.752 36.116 3054
+-96.626 36.116 3092
+-96.5 36.116 3158
+-96.374 36.116 3205
+-96.248 36.116 3269
+-96.122 36.116 3331
+-95.996 36.116 3384
+-95.87 36.116 3450
+-95.744 36.116 3541
+-95.618 36.116 3620
+-95.492 36.116 3653
+-95.366 36.116 3672
+-95.24 36.116 3766
+-95.114 36.116 3877
+-94.988 36.116 3987
+-94.862 36.116 4040
+-94.736 36.116 4064
+-94.61 36.116 4164
+-94.484 36.116 4314
+-94.358 36.116 4452
+-94.232 36.116 4539
+-94.106 36.116 4593
+-93.98 36.116 4687
+-93.854 36.116 4847
+-93.728 36.116 4982
+-93.602 36.116 5067
+-93.476 36.116 5130
+-93.35 36.116 5221
+-93.224 36.116 5307
+-93.098 36.116 5377
+-92.972 36.116 5493
+-92.846 36.116 5531
+-92.72 36.116 5638
+-92.594 36.116 5783
+-92.468 36.116 5858
+-92.342 36.116 5900
+-92.216 36.116 5982
+-92.09 36.116 6053
+-91.964 36.116 6090
+-91.838 36.116 6199
+-91.712 36.116 6265
+-91.586 36.116 6327
+-91.46 36.116 6346
+-91.334 36.116 6412
+-91.208 36.116 6547
+-91.082 36.116 6487
+-90.956 36.116 6910
+-90.83 36.116 6941
+-90.704 36.116 7046
+-90.578 36.116 7154
+-90.452 36.116 7320
+-90.326 36.116 7379
+-90.2 36.116 7458
+-90.074 36.116 7547
+-89.948 36.116 7603
+-89.822 36.116 7708
+-89.696 36.116 7798
+-89.57 36.116 7904
+-89.444 36.116 7903
+-89.318 36.116 7929
+-89.192 36.116 7996
+-89.066 36.116 8013
+-88.94 36.116 8042
+-88.814 36.116 8037
+-88.688 36.116 8025
+-88.562 36.116 7995
+-88.436 36.116 7984
+-88.31 36.116 7932
+-88.184 36.116 7867
+-88.058 36.116 7840
+-87.932 36.116 7773
+-87.806 36.116 7674
+-87.68 36.116 7604
+-87.554 36.116 7553
+-87.428 36.116 7454
+-87.302 36.116 7407
+-87.176 36.116 7254
+-87.05 36.116 7132
+-86.924 36.116 7043
+-86.798 36.116 6947
+-86.672 36.116 6794
+-86.546 36.116 6679
+-86.42 36.116 6542
+-86.294 36.116 6444
+-86.168 36.116 6374
+-86.042 36.116 6273
+-85.916 36.116 6093
+-85.79 36.116 5974
+-85.664 36.116 5852
+-85.538 36.116 5747
+-85.412 36.116 5579
+-85.286 36.116 5560
+-85.16 36.116 5358
+-85.034 36.116 5192
+-84.908 36.116 5108
+-84.782 36.116 4916
+-84.656 36.116 4789
+-84.53 36.116 4777
+-84.404 36.116 4636
+-84.278 36.116 4563
+-84.152 36.116 4399
+-84.026 36.116 4205
+-83.9 36.116 4039
+-83.774 36.116 3947
+-83.648 36.116 3916
+-83.522 36.116 3830
+-83.396 36.116 3657
+-83.27 36.116 3415
+-83.144 36.116 3283
+-83.018 36.116 3331
+-82.892 36.116 3379
+-82.766 36.116 3400
+-82.64 36.116 3361
+-82.514 36.116 3295
+-82.388 36.116 3197
+-82.262 36.116 3073
+-82.136 36.116 2938
+-82.01 36.116 2817
+-81.884 36.116 2739
+-81.758 36.116 2694
+-81.632 36.116 2658
+-81.506 36.116 2703
+-81.38 36.116 2749
+-81.254 36.116 2803
+-81.128 36.116 2844
+-81.002 36.116 2878
+-80.876 36.116 2917
+-80.75 36.116 2951
+-80.624 36.116 2981
+-80.498 36.116 2937
+-80.372 36.116 2954
+-80.246 36.116 2974
+-80.12 36.116 2987
+-79.994 36.116 2998
+-79.868 36.116 3007
+-79.742 36.116 3015
+-79.616 36.116 3021
+-79.49 36.116 3027
+-79.364 36.116 3031
+-79.238 36.116 2992
+-79.112 36.116 2879
+-78.986 36.116 2869
+-78.86 36.116 2871
+-78.734 36.116 2872
+-78.608 36.116 2874
+-78.482 36.116 2875
+-78.356 36.116 2877
+-78.23 36.116 2878
+-78.104 36.116 2854
+-77.978 36.116 2775
+-77.852 36.116 2777
+-77.726 36.116 2748
+-77.6 36.116 2749
+-77.474 36.116 2750
+-77.348 36.116 2760
+-77.222 36.116 2654
+-77.096 36.116 2658
+-76.97 36.116 2639
+-76.844 36.116 2645
+-76.718 36.116 2666
+-76.592 36.116 2641
+-76.466 36.116 2643
+-76.34 36.116 2612
+-76.214 36.116 2616
+-76.088 36.116 2619
+-75.962 36.116 2624
+-75.836 36.116 2637
+-75.71 36.116 2651
+-75.584 36.116 2656
+-75.458 36.116 2699
+-75.332 36.116 2716
+-75.206 36.116 2721
+-75.08 36.116 2778
+-74.954 36.116 2803
+-74.828 36.116 2790
+-74.702 36.116 2787
+-74.576 36.116 2923
+-74.45 36.116 2929
+-74.324 36.116 2983
+-74.198 36.116 2989
+-74.072 36.116 2995
+-73.946 36.116 3001
+-73.82 36.116 3006
+-73.694 36.116 2942
+-73.568 36.116 2963
+-73.442 36.116 2968
+-73.316 36.116 2964
+-73.19 36.116 3246
+-73.064 36.116 3275
+-72.938 36.116 3279
+-72.812 36.116 3278
+-72.686 36.116 3281
+-72.56 36.116 3288
+-72.434 36.116 3304
+-72.308 36.116 3307
+-72.182 36.116 3299
+-72.056 36.116 3302
+-71.93 36.116 3260
+-71.804 36.116 3263
+-71.678 36.116 3266
+-71.552 36.116 3327
+-71.426 36.116 3325
+-71.3 36.116 3335
+-71.174 36.116 3338
+-71.048 36.116 3321
+-70.922 36.116 3343
+-70.796 36.116 3388
+-70.67 36.116 3400
+-70.544 36.116 3401
+-70.418 36.116 3401
+-70.292 36.116 3452
+-70.166 36.116 3455
+-70.04 36.116 3398
+-69.914 36.116 3421
+-69.788 36.116 3416
+-69.662 36.116 3337
+-69.536 36.116 3255
+-69.41 36.116 3277
+-69.284 36.116 3279
+-69.158 36.116 3312
+-69.032 36.116 3287
+-68.906 36.116 3299
+-68.78 36.116 3301
+-68.654 36.116 3282
+-68.528 36.116 3284
+-68.402 36.116 3286
+-68.276 36.116 3263
+-68.15 36.116 3245
+-68.024 36.116 3281
+-67.898 36.116 3276
+-67.772 36.116 3278
+-67.646 36.116 3280
+-67.52 36.116 3200
+-67.394 36.116 3241
+-67.268 36.116 3237
+-67.142 36.116 3239
+-67.016 36.116 3241
+-66.89 36.116 3473
+-66.764 36.116 3394
+-66.638 36.116 3408
+-66.512 36.116 3410
+-66.386 36.116 3304
+-66.26 36.116 3290
+-66.134 36.116 3291
+-66.008 36.116 3292
+-65.882 36.116 3269
+-65.756 36.116 3270
+-65.63 36.116 3270
+-65.504 36.116 3271
+-65.378 36.116 3272
+-65.252 36.116 3298
+-65.126 36.116 3299
+-128 36.064 3021
+-127.874 36.064 3010
+-127.748 36.064 2999
+-127.622 36.064 2986
+-127.496 36.064 2973
+-127.37 36.064 2958
+-127.244 36.064 2942
+-127.118 36.064 2925
+-126.992 36.064 2907
+-126.866 36.064 2886
+-126.74 36.064 2864
+-126.614 36.064 2839
+-126.488 36.064 2850
+-126.362 36.064 2820
+-126.236 36.064 2785
+-126.11 36.064 2746
+-125.984 36.064 2701
+-125.858 36.064 2648
+-125.732 36.064 2586
+-125.606 36.064 2512
+-125.48 36.064 2423
+-125.354 36.064 2315
+-125.228 36.064 2208
+-125.102 36.064 2048
+-124.976 36.064 1861
+-124.85 36.064 1662
+-124.724 36.064 1490
+-124.598 36.064 1421
+-124.472 36.064 1521
+-124.346 36.064 1773
+-124.22 36.064 2078
+-124.094 36.064 2351
+-123.968 36.064 2613
+-123.842 36.064 2838
+-123.716 36.064 3017
+-123.59 36.064 3218
+-123.464 36.064 3358
+-123.338 36.064 3511
+-123.212 36.064 3599
+-123.086 36.064 3640
+-122.96 36.064 3651
+-122.834 36.064 3616
+-122.708 36.064 3511
+-122.582 36.064 3405
+-122.456 36.064 3569
+-122.33 36.064 3872
+-122.204 36.064 4000
+-122.078 36.064 4027
+-121.952 36.064 4175
+-121.826 36.064 4434
+-121.7 36.064 4624
+-121.574 36.064 4667
+-121.448 36.064 4594
+-121.322 36.064 4746
+-121.196 36.064 4892
+-121.07 36.064 5059
+-120.944 36.064 5077
+-120.818 36.064 5221
+-120.692 36.064 5367
+-120.566 36.064 5508
+-120.44 36.064 5580
+-120.314 36.064 5728
+-120.188 36.064 5780
+-120.062 36.064 5925
+-119.936 36.064 6030
+-119.81 36.064 6102
+-119.684 36.064 6260
+-119.558 36.064 6325
+-119.432 36.064 6438
+-119.306 36.064 6575
+-119.18 36.064 6639
+-119.054 36.064 6737
+-118.928 36.064 6871
+-118.802 36.064 6863
+-118.676 36.064 6986
+-118.55 36.064 7091
+-118.424 36.064 7123
+-118.298 36.064 7222
+-118.172 36.064 7255
+-118.046 36.064 7304
+-117.92 36.064 7350
+-117.794 36.064 7410
+-117.668 36.064 7438
+-117.542 36.064 7431
+-117.416 36.064 7441
+-117.29 36.064 7437
+-117.164 36.064 7473
+-117.038 36.064 7453
+-116.912 36.064 7424
+-116.786 36.064 7340
+-116.66 36.064 7316
+-116.534 36.064 7282
+-116.408 36.064 7223
+-116.282 36.064 7157
+-116.156 36.064 7083
+-116.03 36.064 7042
+-115.904 36.064 6918
+-115.778 36.064 6837
+-115.652 36.064 6776
+-115.526 36.064 6637
+-115.4 36.064 6600
+-115.274 36.064 6462
+-115.148 36.064 6407
+-115.022 36.064 6298
+-114.896 36.064 6157
+-114.77 36.064 6104
+-114.644 36.064 5908
+-114.518 36.064 5877
+-114.392 36.064 5691
+-114.266 36.064 5588
+-114.14 36.064 5415
+-114.014 36.064 5287
+-113.888 36.064 5290
+-113.762 36.064 5153
+-113.636 36.064 4971
+-113.51 36.064 4883
+-113.384 36.064 4849
+-113.258 36.064 4717
+-113.132 36.064 4532
+-113.006 36.064 4419
+-112.88 36.064 4346
+-112.754 36.064 4267
+-112.628 36.064 4266
+-112.502 36.064 4274
+-112.376 36.064 4318
+-112.25 36.064 4335
+-112.124 36.064 4354
+-111.998 36.064 4357
+-111.872 36.064 4399
+-111.746 36.064 4459
+-111.62 36.064 4500
+-111.494 36.064 4533
+-111.368 36.064 4542
+-111.242 36.064 4539
+-111.116 36.064 4570
+-110.99 36.064 4601
+-110.864 36.064 4624
+-110.738 36.064 4645
+-110.612 36.064 4651
+-110.486 36.064 4662
+-110.36 36.064 4666
+-110.234 36.064 4673
+-110.108 36.064 4661
+-109.982 36.064 4647
+-109.856 36.064 4614
+-109.73 36.064 4573
+-109.604 36.064 4554
+-109.478 36.064 4558
+-109.352 36.064 4530
+-109.226 36.064 4482
+-109.1 36.064 4416
+-108.974 36.064 4433
+-108.848 36.064 4372
+-108.722 36.064 4307
+-108.596 36.064 4283
+-108.47 36.064 4256
+-108.344 36.064 4214
+-108.218 36.064 4168
+-108.092 36.064 4099
+-107.966 36.064 4008
+-107.84 36.064 3917
+-107.714 36.064 3828
+-107.588 36.064 3773
+-107.462 36.064 3707
+-107.336 36.064 3648
+-107.21 36.064 3586
+-107.084 36.064 3502
+-106.958 36.064 3419
+-106.832 36.064 3350
+-106.706 36.064 3304
+-106.58 36.064 3220
+-106.454 36.064 3120
+-106.328 36.064 2998
+-106.202 36.064 2924
+-106.076 36.064 2951
+-105.95 36.064 2991
+-105.824 36.064 3018
+-105.698 36.064 3036
+-105.572 36.064 3049
+-105.446 36.064 3053
+-105.32 36.064 3062
+-105.194 36.064 3077
+-105.068 36.064 3076
+-104.942 36.064 3082
+-104.816 36.064 3092
+-104.69 36.064 3102
+-104.564 36.064 3111
+-104.438 36.064 3120
+-104.312 36.064 3129
+-104.186 36.064 3137
+-104.06 36.064 3125
+-103.934 36.064 3186
+-103.808 36.064 3194
+-103.682 36.064 3208
+-103.556 36.064 3204
+-103.43 36.064 3214
+-103.304 36.064 3222
+-103.178 36.064 3230
+-103.052 36.064 3238
+-102.926 36.064 3246
+-102.8 36.064 3253
+-102.674 36.064 3259
+-102.548 36.064 3266
+-102.422 36.064 3272
+-102.296 36.064 3299
+-102.17 36.064 3303
+-102.044 36.064 3297
+-101.918 36.064 3184
+-101.792 36.064 3097
+-101.666 36.064 3090
+-101.54 36.064 3066
+-101.414 36.064 3012
+-101.288 36.064 2895
+-101.162 36.064 2867
+-101.036 36.064 2829
+-100.91 36.064 2860
+-100.784 36.064 2913
+-100.658 36.064 2931
+-100.532 36.064 3039
+-100.406 36.064 3097
+-100.28 36.064 3089
+-100.154 36.064 3081
+-100.028 36.064 3102
+-99.902 36.064 3092
+-99.776 36.064 3081
+-99.65 36.064 3080
+-99.524 36.064 3042
+-99.398 36.064 3031
+-99.272 36.064 3068
+-99.146 36.064 3055
+-99.02 36.064 3041
+-98.894 36.064 3026
+-98.768 36.064 3009
+-98.642 36.064 2991
+-98.516 36.064 2972
+-98.39 36.064 2951
+-98.264 36.064 2929
+-98.138 36.064 2951
+-98.012 36.064 2967
+-97.886 36.064 2941
+-97.76 36.064 2916
+-97.634 36.064 2913
+-97.508 36.064 2892
+-97.382 36.064 2877
+-97.256 36.064 2885
+-97.13 36.064 2907
+-97.004 36.064 2924
+-96.878 36.064 2953
+-96.752 36.064 2990
+-96.626 36.064 3056
+-96.5 36.064 3099
+-96.374 36.064 3154
+-96.248 36.064 3193
+-96.122 36.064 3257
+-95.996 36.064 3318
+-95.87 36.064 3382
+-95.744 36.064 3498
+-95.618 36.064 3608
+-95.492 36.064 3693
+-95.366 36.064 3739
+-95.24 36.064 3805
+-95.114 36.064 3886
+-94.988 36.064 3924
+-94.862 36.064 3929
+-94.736 36.064 4007
+-94.61 36.064 4143
+-94.484 36.064 4298
+-94.358 36.064 4447
+-94.232 36.064 4528
+-94.106 36.064 4551
+-93.98 36.064 4614
+-93.854 36.064 4794
+-93.728 36.064 4948
+-93.602 36.064 5052
+-93.476 36.064 5043
+-93.35 36.064 5172
+-93.224 36.064 5259
+-93.098 36.064 5308
+-92.972 36.064 5412
+-92.846 36.064 5509
+-92.72 36.064 5603
+-92.594 36.064 5704
+-92.468 36.064 5742
+-92.342 36.064 5859
+-92.216 36.064 5956
+-92.09 36.064 6003
+-91.964 36.064 6074
+-91.838 36.064 6149
+-91.712 36.064 6221
+-91.586 36.064 6256
+-91.46 36.064 6291
+-91.334 36.064 6343
+-91.208 36.064 6496
+-91.082 36.064 6710
+-90.956 36.064 6836
+-90.83 36.064 6945
+-90.704 36.064 7049
+-90.578 36.064 7191
+-90.452 36.064 7231
+-90.326 36.064 7327
+-90.2 36.064 7414
+-90.074 36.064 7506
+-89.948 36.064 7581
+-89.822 36.064 7664
+-89.696 36.064 7782
+-89.57 36.064 7799
+-89.444 36.064 7846
+-89.318 36.064 7877
+-89.192 36.064 7953
+-89.066 36.064 7954
+-88.94 36.064 7965
+-88.814 36.064 7981
+-88.688 36.064 7979
+-88.562 36.064 7972
+-88.436 36.064 7944
+-88.31 36.064 7894
+-88.184 36.064 7841
+-88.058 36.064 7785
+-87.932 36.064 7712
+-87.806 36.064 7666
+-87.68 36.064 7625
+-87.554 36.064 7506
+-87.428 36.064 7399
+-87.302 36.064 7290
+-87.176 36.064 7222
+-87.05 36.064 7148
+-86.924 36.064 7001
+-86.798 36.064 6895
+-86.672 36.064 6765
+-86.546 36.064 6599
+-86.42 36.064 6543
+-86.294 36.064 6419
+-86.168 36.064 6337
+-86.042 36.064 6188
+-85.916 36.064 6123
+-85.79 36.064 6015
+-85.664 36.064 5898
+-85.538 36.064 5795
+-85.412 36.064 5674
+-85.286 36.064 5545
+-85.16 36.064 5390
+-85.034 36.064 5235
+-84.908 36.064 5132
+-84.782 36.064 4985
+-84.656 36.064 4872
+-84.53 36.064 4795
+-84.404 36.064 4695
+-84.278 36.064 4557
+-84.152 36.064 4334
+-84.026 36.064 4165
+-83.9 36.064 4019
+-83.774 36.064 3912
+-83.648 36.064 3834
+-83.522 36.064 3771
+-83.396 36.064 3603
+-83.27 36.064 3318
+-83.144 36.064 3157
+-83.018 36.064 3245
+-82.892 36.064 3337
+-82.766 36.064 3360
+-82.64 36.064 3326
+-82.514 36.064 3245
+-82.388 36.064 3117
+-82.262 36.064 2948
+-82.136 36.064 2759
+-82.01 36.064 2591
+-81.884 36.064 2496
+-81.758 36.064 2490
+-81.632 36.064 2534
+-81.506 36.064 2569
+-81.38 36.064 2655
+-81.254 36.064 2725
+-81.128 36.064 2791
+-81.002 36.064 2839
+-80.876 36.064 2874
+-80.75 36.064 2914
+-80.624 36.064 2887
+-80.498 36.064 2911
+-80.372 36.064 2928
+-80.246 36.064 2944
+-80.12 36.064 2958
+-79.994 36.064 2970
+-79.868 36.064 2980
+-79.742 36.064 2989
+-79.616 36.064 2996
+-79.49 36.064 2993
+-79.364 36.064 2998
+-79.238 36.064 3002
+-79.112 36.064 2883
+-78.986 36.064 2862
+-78.86 36.064 2852
+-78.734 36.064 2854
+-78.608 36.064 2856
+-78.482 36.064 2857
+-78.356 36.064 2859
+-78.23 36.064 2861
+-78.104 36.064 2757
+-77.978 36.064 2759
+-77.852 36.064 2731
+-77.726 36.064 2732
+-77.6 36.064 2733
+-77.474 36.064 2744
+-77.348 36.064 2638
+-77.222 36.064 2644
+-77.096 36.064 2625
+-76.97 36.064 2633
+-76.844 36.064 2652
+-76.718 36.064 2629
+-76.592 36.064 2632
+-76.466 36.064 2602
+-76.34 36.064 2606
+-76.214 36.064 2610
+-76.088 36.064 2615
+-75.962 36.064 2627
+-75.836 36.064 2642
+-75.71 36.064 2647
+-75.584 36.064 2692
+-75.458 36.064 2709
+-75.332 36.064 2714
+-75.206 36.064 2771
+-75.08 36.064 2797
+-74.954 36.064 2785
+-74.828 36.064 2782
+-74.702 36.064 2917
+-74.576 36.064 2923
+-74.45 36.064 2977
+-74.324 36.064 2984
+-74.198 36.064 2990
+-74.072 36.064 2995
+-73.946 36.064 3001
+-73.82 36.064 2938
+-73.694 36.064 2959
+-73.568 36.064 2964
+-73.442 36.064 2960
+-73.316 36.064 3242
+-73.19 36.064 3270
+-73.064 36.064 3274
+-72.938 36.064 3273
+-72.812 36.064 3277
+-72.686 36.064 3284
+-72.56 36.064 3300
+-72.434 36.064 3303
+-72.308 36.064 3296
+-72.182 36.064 3299
+-72.056 36.064 3257
+-71.93 36.064 3260
+-71.804 36.064 3263
+-71.678 36.064 3324
+-71.552 36.064 3322
+-71.426 36.064 3332
+-71.3 36.064 3335
+-71.174 36.064 3318
+-71.048 36.064 3340
+-70.922 36.064 3385
+-70.796 36.064 3397
+-70.67 36.064 3398
+-70.544 36.064 3399
+-70.418 36.064 3449
+-70.292 36.064 3452
+-70.166 36.064 3395
+-70.04 36.064 3418
+-69.914 36.064 3414
+-69.788 36.064 3338
+-69.662 36.064 3253
+-69.536 36.064 3275
+-69.41 36.064 3278
+-69.284 36.064 3310
+-69.158 36.064 3285
+-69.032 36.064 3297
+-68.906 36.064 3299
+-68.78 36.064 3280
+-68.654 36.064 3282
+-68.528 36.064 3285
+-68.402 36.064 3262
+-68.276 36.064 3244
+-68.15 36.064 3279
+-68.024 36.064 3274
+-67.898 36.064 3277
+-67.772 36.064 3279
+-67.646 36.064 3199
+-67.52 36.064 3240
+-67.394 36.064 3236
+-67.268 36.064 3238
+-67.142 36.064 3240
+-67.016 36.064 3472
+-66.89 36.064 3397
+-66.764 36.064 3407
+-66.638 36.064 3409
+-66.512 36.064 3303
+-66.386 36.064 3290
+-66.26 36.064 3290
+-66.134 36.064 3291
+-66.008 36.064 3268
+-65.882 36.064 3269
+-65.756 36.064 3270
+-65.63 36.064 3270
+-65.504 36.064 3271
+-65.378 36.064 3297
+-65.252 36.064 3298
+-65.126 36.064 3282
+-128 36.012 3023
+-127.874 36.012 3012
+-127.748 36.012 3000
+-127.622 36.012 2988
+-127.496 36.012 2974
+-127.37 36.012 2960
+-127.244 36.012 2944
+-127.118 36.012 2927
+-126.992 36.012 2908
+-126.866 36.012 2888
+-126.74 36.012 2865
+-126.614 36.012 2840
+-126.488 36.012 2813
+-126.362 36.012 2820
+-126.236 36.012 2786
+-126.11 36.012 2746
+-125.984 36.012 2701
+-125.858 36.012 2648
+-125.732 36.012 2586
+-125.606 36.012 2511
+-125.48 36.012 2421
+-125.354 36.012 2311
+-125.228 36.012 2177
+-125.102 36.012 2032
+-124.976 36.012 1834
+-124.85 36.012 1614
+-124.724 36.012 1417
+-124.598 36.012 1328
+-124.472 36.012 1436
+-124.346 36.012 1718
+-124.22 36.012 2047
+-124.094 36.012 2323
+-123.968 36.012 2533
+-123.842 36.012 2750
+-123.716 36.012 2948
+-123.59 36.012 3164
+-123.464 36.012 3352
+-123.338 36.012 3498
+-123.212 36.012 3584
+-123.086 36.012 3643
+-122.96 36.012 3670
+-122.834 36.012 3679
+-122.708 36.012 3595
+-122.582 36.012 3536
+-122.456 36.012 3667
+-122.33 36.012 3913
+-122.204 36.012 4056
+-122.078 36.012 4154
+-121.952 36.012 4297
+-121.826 36.012 4480
+-121.7 36.012 4642
+-121.574 36.012 4685
+-121.448 36.012 4653
+-121.322 36.012 4760
+-121.196 36.012 4958
+-121.07 36.012 5098
+-120.944 36.012 5162
+-120.818 36.012 5266
+-120.692 36.012 5328
+-120.566 36.012 5475
+-120.44 36.012 5620
+-120.314 36.012 5763
+-120.188 36.012 5882
+-120.062 36.012 5974
+-119.936 36.012 6062
+-119.81 36.012 6148
+-119.684 36.012 6317
+-119.558 36.012 6344
+-119.432 36.012 6468
+-119.306 36.012 6561
+-119.18 36.012 6685
+-119.054 36.012 6817
+-118.928 36.012 6888
+-118.802 36.012 6936
+-118.676 36.012 7055
+-118.55 36.012 7147
+-118.424 36.012 7197
+-118.298 36.012 7261
+-118.172 36.012 7355
+-118.046 36.012 7355
+-117.92 36.012 7392
+-117.794 36.012 7427
+-117.668 36.012 7469
+-117.542 36.012 7499
+-117.416 36.012 7500
+-117.29 36.012 7534
+-117.164 36.012 7521
+-117.038 36.012 7493
+-116.912 36.012 7455
+-116.786 36.012 7397
+-116.66 36.012 7389
+-116.534 36.012 7338
+-116.408 36.012 7279
+-116.282 36.012 7211
+-116.156 36.012 7149
+-116.03 36.012 7083
+-115.904 36.012 6975
+-115.778 36.012 6888
+-115.652 36.012 6769
+-115.526 36.012 6709
+-115.4 36.012 6589
+-115.274 36.012 6525
+-115.148 36.012 6368
+-115.022 36.012 6333
+-114.896 36.012 6215
+-114.77 36.012 6076
+-114.644 36.012 6002
+-114.518 36.012 5957
+-114.392 36.012 5777
+-114.266 36.012 5601
+-114.14 36.012 5421
+-114.014 36.012 5313
+-113.888 36.012 5257
+-113.762 36.012 5167
+-113.636 36.012 5062
+-113.51 36.012 4948
+-113.384 36.012 4843
+-113.258 36.012 4731
+-113.132 36.012 4554
+-113.006 36.012 4440
+-112.88 36.012 4396
+-112.754 36.012 4330
+-112.628 36.012 4298
+-112.502 36.012 4279
+-112.376 36.012 4329
+-112.25 36.012 4372
+-112.124 36.012 4410
+-111.998 36.012 4447
+-111.872 36.012 4486
+-111.746 36.012 4527
+-111.62 36.012 4549
+-111.494 36.012 4569
+-111.368 36.012 4596
+-111.242 36.012 4625
+-111.116 36.012 4657
+-110.99 36.012 4699
+-110.864 36.012 4703
+-110.738 36.012 4713
+-110.612 36.012 4714
+-110.486 36.012 4716
+-110.36 36.012 4734
+-110.234 36.012 4734
+-110.108 36.012 4700
+-109.982 36.012 4679
+-109.856 36.012 4658
+-109.73 36.012 4613
+-109.604 36.012 4588
+-109.478 36.012 4569
+-109.352 36.012 4558
+-109.226 36.012 4526
+-109.1 36.012 4500
+-108.974 36.012 4486
+-108.848 36.012 4442
+-108.722 36.012 4384
+-108.596 36.012 4306
+-108.47 36.012 4277
+-108.344 36.012 4194
+-108.218 36.012 4186
+-108.092 36.012 4138
+-107.966 36.012 4084
+-107.84 36.012 3987
+-107.714 36.012 3901
+-107.588 36.012 3853
+-107.462 36.012 3784
+-107.336 36.012 3710
+-107.21 36.012 3654
+-107.084 36.012 3585
+-106.958 36.012 3498
+-106.832 36.012 3421
+-106.706 36.012 3345
+-106.58 36.012 3252
+-106.454 36.012 3105
+-106.328 36.012 2950
+-106.202 36.012 2861
+-106.076 36.012 2928
+-105.95 36.012 2997
+-105.824 36.012 3026
+-105.698 36.012 3043
+-105.572 36.012 3066
+-105.446 36.012 3077
+-105.32 36.012 3095
+-105.194 36.012 3097
+-105.068 36.012 3083
+-104.942 36.012 3094
+-104.816 36.012 3104
+-104.69 36.012 3114
+-104.564 36.012 3124
+-104.438 36.012 3133
+-104.312 36.012 3141
+-104.186 36.012 3168
+-104.06 36.012 3190
+-103.934 36.012 3197
+-103.808 36.012 3212
+-103.682 36.012 3208
+-103.556 36.012 3218
+-103.43 36.012 3226
+-103.304 36.012 3235
+-103.178 36.012 3243
+-103.052 36.012 3250
+-102.926 36.012 3257
+-102.8 36.012 3264
+-102.674 36.012 3270
+-102.548 36.012 3276
+-102.422 36.012 3303
+-102.296 36.012 3306
+-102.17 36.012 3301
+-102.044 36.012 3307
+-101.918 36.012 3194
+-101.792 36.012 3107
+-101.666 36.012 3099
+-101.54 36.012 3076
+-101.414 36.012 3020
+-101.288 36.012 2901
+-101.162 36.012 2871
+-101.036 36.012 2847
+-100.91 36.012 2860
+-100.784 36.012 2909
+-100.658 36.012 2926
+-100.532 36.012 3032
+-100.406 36.012 3091
+-100.28 36.012 3082
+-100.154 36.012 3104
+-100.028 36.012 3094
+-99.902 36.012 3083
+-99.776 36.012 3083
+-99.65 36.012 3045
+-99.524 36.012 3033
+-99.398 36.012 3072
+-99.272 36.012 3059
+-99.146 36.012 3045
+-99.02 36.012 3030
+-98.894 36.012 3013
+-98.768 36.012 2995
+-98.642 36.012 2975
+-98.516 36.012 2953
+-98.39 36.012 2929
+-98.264 36.012 2950
+-98.138 36.012 2962
+-98.012 36.012 2931
+-97.886 36.012 2899
+-97.76 36.012 2885
+-97.634 36.012 2850
+-97.508 36.012 2818
+-97.382 36.012 2805
+-97.256 36.012 2805
+-97.13 36.012 2805
+-97.004 36.012 2823
+-96.878 36.012 2858
+-96.752 36.012 2929
+-96.626 36.012 2978
+-96.5 36.012 3022
+-96.374 36.012 3067
+-96.248 36.012 3104
+-96.122 36.012 3154
+-95.996 36.012 3234
+-95.87 36.012 3308
+-95.744 36.012 3432
+-95.618 36.012 3539
+-95.492 36.012 3653
+-95.366 36.012 3728
+-95.24 36.012 3797
+-95.114 36.012 3855
+-94.988 36.012 3884
+-94.862 36.012 3836
+-94.736 36.012 3950
+-94.61 36.012 4112
+-94.484 36.012 4263
+-94.358 36.012 4418
+-94.232 36.012 4505
+-94.106 36.012 4513
+-93.98 36.012 4607
+-93.854 36.012 4747
+-93.728 36.012 4876
+-93.602 36.012 5004
+-93.476 36.012 5025
+-93.35 36.012 5151
+-93.224 36.012 5248
+-93.098 36.012 5314
+-92.972 36.012 5385
+-92.846 36.012 5462
+-92.72 36.012 5526
+-92.594 36.012 5649
+-92.468 36.012 5768
+-92.342 36.012 5809
+-92.216 36.012 5850
+-92.09 36.012 5937
+-91.964 36.012 6022
+-91.838 36.012 6065
+-91.712 36.012 6151
+-91.586 36.012 6181
+-91.46 36.012 6236
+-91.334 36.012 6261
+-91.208 36.012 6355
+-91.082 36.012 6371
+-90.956 36.012 6738
+-90.83 36.012 6943
+-90.704 36.012 7038
+-90.578 36.012 7071
+-90.452 36.012 7244
+-90.326 36.012 7317
+-90.2 36.012 7417
+-90.074 36.012 7473
+-89.948 36.012 7530
+-89.822 36.012 7638
+-89.696 36.012 7705
+-89.57 36.012 7720
+-89.444 36.012 7805
+-89.318 36.012 7833
+-89.192 36.012 7895
+-89.066 36.012 7925
+-88.94 36.012 7929
+-88.814 36.012 7907
+-88.688 36.012 7926
+-88.562 36.012 7881
+-88.436 36.012 7874
+-88.31 36.012 7859
+-88.184 36.012 7802
+-88.058 36.012 7774
+-87.932 36.012 7693
+-87.806 36.012 7624
+-87.68 36.012 7551
+-87.554 36.012 7435
+-87.428 36.012 7361
+-87.302 36.012 7259
+-87.176 36.012 7118
+-87.05 36.012 7085
+-86.924 36.012 6939
+-86.798 36.012 6865
+-86.672 36.012 6780
+-86.546 36.012 6658
+-86.42 36.012 6522
+-86.294 36.012 6394
+-86.168 36.012 6291
+-86.042 36.012 6185
+-85.916 36.012 6001
+-85.79 36.012 6004
+-85.664 36.012 5920
+-85.538 36.012 5794
+-85.412 36.012 5630
+-85.286 36.012 5468
+-85.16 36.012 5389
+-85.034 36.012 5278
+-84.908 36.012 5173
+-84.782 36.012 5039
+-84.656 36.012 4922
+-84.53 36.012 4794
+-84.404 36.012 4673
+-84.278 36.012 4504
+-84.152 36.012 4265
+-84.026 36.012 4087
+-83.9 36.012 3919
+-83.774 36.012 3814
+-83.648 36.012 3751
+-83.522 36.012 3725
+-83.396 36.012 3618
+-83.27 36.012 3397
+-83.144 36.012 3279
+-83.018 36.012 3310
+-82.892 36.012 3364
+-82.766 36.012 3347
+-82.64 36.012 3297
+-82.514 36.012 3196
+-82.388 36.012 3035
+-82.262 36.012 2813
+-82.136 36.012 2551
+-82.01 36.012 2319
+-81.884 36.012 2206
+-81.758 36.012 2238
+-81.632 36.012 2357
+-81.506 36.012 2484
+-81.38 36.012 2560
+-81.254 36.012 2651
+-81.128 36.012 2736
+-81.002 36.012 2802
+-80.876 36.012 2797
+-80.75 36.012 2825
+-80.624 36.012 2857
+-80.498 36.012 2883
+-80.372 36.012 2902
+-80.246 36.012 2921
+-80.12 36.012 2936
+-79.994 36.012 2949
+-79.868 36.012 2960
+-79.742 36.012 2969
+-79.616 36.012 2977
+-79.49 36.012 2983
+-79.364 36.012 2988
+-79.238 36.012 2984
+-79.112 36.012 2987
+-78.986 36.012 2865
+-78.86 36.012 2844
+-78.734 36.012 2835
+-78.608 36.012 2837
+-78.482 36.012 2839
+-78.356 36.012 2841
+-78.23 36.012 2738
+-78.104 36.012 2740
+-77.978 36.012 2712
+-77.852 36.012 2714
+-77.726 36.012 2715
+-77.6 36.012 2726
+-77.474 36.012 2622
+-77.348 36.012 2628
+-77.222 36.012 2611
+-77.096 36.012 2619
+-76.97 36.012 2638
+-76.844 36.012 2617
+-76.718 36.012 2620
+-76.592 36.012 2591
+-76.466 36.012 2595
+-76.34 36.012 2599
+-76.214 36.012 2604
+-76.088 36.012 2618
+-75.962 36.012 2633
+-75.836 36.012 2638
+-75.71 36.012 2684
+-75.584 36.012 2702
+-75.458 36.012 2707
+-75.332 36.012 2765
+-75.206 36.012 2790
+-75.08 36.012 2779
+-74.954 36.012 2776
+-74.828 36.012 2911
+-74.702 36.012 2918
+-74.576 36.012 2971
+-74.45 36.012 2978
+-74.324 36.012 2984
+-74.198 36.012 2990
+-74.072 36.012 2996
+-73.946 36.012 2933
+-73.82 36.012 2955
+-73.694 36.012 2960
+-73.568 36.012 2957
+-73.442 36.012 3237
+-73.316 36.012 3265
+-73.19 36.012 3269
+-73.064 36.012 3269
+-72.938 36.012 3272
+-72.812 36.012 3279
+-72.686 36.012 3295
+-72.56 36.012 3299
+-72.434 36.012 3292
+-72.308 36.012 3295
+-72.182 36.012 3254
+-72.056 36.012 3257
+-71.93 36.012 3259
+-71.804 36.012 3321
+-71.678 36.012 3318
+-71.552 36.012 3329
+-71.426 36.012 3332
+-71.3 36.012 3315
+-71.174 36.012 3337
+-71.048 36.012 3382
+-70.922 36.012 3394
+-70.796 36.012 3395
+-70.67 36.012 3396
+-70.544 36.012 3446
+-70.418 36.012 3449
+-70.292 36.012 3393
+-70.166 36.012 3416
+-70.04 36.012 3411
+-69.914 36.012 3333
+-69.788 36.012 3251
+-69.662 36.012 3274
+-69.536 36.012 3276
+-69.41 36.012 3308
+-69.284 36.012 3283
+-69.158 36.012 3295
+-69.032 36.012 3298
+-68.906 36.012 3279
+-68.78 36.012 3281
+-68.654 36.012 3283
+-68.528 36.012 3260
+-68.402 36.012 3243
+-68.276 36.012 3278
+-68.15 36.012 3273
+-68.024 36.012 3275
+-67.898 36.012 3277
+-67.772 36.012 3198
+-67.646 36.012 3239
+-67.52 36.012 3235
+-67.394 36.012 3237
+-67.268 36.012 3239
+-67.142 36.012 3471
+-67.016 36.012 3392
+-66.89 36.012 3406
+-66.764 36.012 3408
+-66.638 36.012 3302
+-66.512 36.012 3289
+-66.386 36.012 3289
+-66.26 36.012 3290
+-66.134 36.012 3268
+-66.008 36.012 3268
+-65.882 36.012 3269
+-65.756 36.012 3270
+-65.63 36.012 3270
+-65.504 36.012 3296
+-65.378 36.012 3297
+-65.252 36.012 3282
+-65.126 36.012 3283
+-128 35.96 3025
+-127.874 35.96 3014
+-127.748 35.96 3002
+-127.622 35.96 2990
+-127.496 35.96 2976
+-127.37 35.96 2962
+-127.244 35.96 2946
+-127.118 35.96 2929
+-126.992 35.96 2911
+-126.866 35.96 2891
+-126.74 35.96 2868
+-126.614 35.96 2844
+-126.488 35.96 2817
+-126.362 35.96 2786
+-126.236 35.96 2790
+-126.11 35.96 2751
+-125.984 35.96 2707
+-125.858 35.96 2655
+-125.732 35.96 2595
+-125.606 35.96 2522
+-125.48 35.96 2436
+-125.354 35.96 2331
+-125.228 35.96 2203
+-125.102 35.96 2049
+-124.976 35.96 1883
+-124.85 35.96 1682
+-124.724 35.96 1504
+-124.598 35.96 1430
+-124.472 35.96 1539
+-124.346 35.96 1808
+-124.22 35.96 2097
+-124.094 35.96 2320
+-123.968 35.96 2517
+-123.842 35.96 2676
+-123.716 35.96 2878
+-123.59 35.96 3093
+-123.464 35.96 3269
+-123.338 35.96 3458
+-123.212 35.96 3583
+-123.086 35.96 3653
+-122.96 35.96 3691
+-122.834 35.96 3753
+-122.708 35.96 3735
+-122.582 35.96 3736
+-122.456 35.96 3845
+-122.33 35.96 3977
+-122.204 35.96 4126
+-122.078 35.96 4248
+-121.952 35.96 4364
+-121.826 35.96 4485
+-121.7 35.96 4616
+-121.574 35.96 4736
+-121.448 35.96 4756
+-121.322 35.96 4853
+-121.196 35.96 5036
+-121.07 35.96 5132
+-120.944 35.96 5193
+-120.818 35.96 5284
+-120.692 35.96 5399
+-120.566 35.96 5520
+-120.44 35.96 5665
+-120.314 35.96 5797
+-120.188 35.96 5897
+-120.062 35.96 5996
+-119.936 35.96 6095
+-119.81 35.96 6213
+-119.684 35.96 6356
+-119.558 35.96 6397
+-119.432 35.96 6514
+-119.306 35.96 6667
+-119.18 35.96 6691
+-119.054 35.96 6796
+-118.928 35.96 6921
+-118.802 35.96 7025
+-118.676 35.96 7100
+-118.55 35.96 7189
+-118.424 35.96 7261
+-118.298 35.96 7294
+-118.172 35.96 7377
+-118.046 35.96 7429
+-117.92 35.96 7465
+-117.794 35.96 7510
+-117.668 35.96 7538
+-117.542 35.96 7550
+-117.416 35.96 7574
+-117.29 35.96 7579
+-117.164 35.96 7588
+-117.038 35.96 7534
+-116.912 35.96 7533
+-116.786 35.96 7466
+-116.66 35.96 7441
+-116.534 35.96 7384
+-116.408 35.96 7317
+-116.282 35.96 7235
+-116.156 35.96 7170
+-116.03 35.96 7135
+-115.904 35.96 7030
+-115.778 35.96 6954
+-115.652 35.96 6839
+-115.526 35.96 6754
+-115.4 35.96 6665
+-115.274 35.96 6574
+-115.148 35.96 6480
+-115.022 35.96 6360
+-114.896 35.96 6262
+-114.77 35.96 6137
+-114.644 35.96 6002
+-114.518 35.96 5994
+-114.392 35.96 5831
+-114.266 35.96 5610
+-114.14 35.96 5483
+-114.014 35.96 5388
+-113.888 35.96 5285
+-113.762 35.96 5186
+-113.636 35.96 5073
+-113.51 35.96 4952
+-113.384 35.96 4752
+-113.258 35.96 4704
+-113.132 35.96 4533
+-113.006 35.96 4373
+-112.88 35.96 4378
+-112.754 35.96 4359
+-112.628 35.96 4300
+-112.502 35.96 4199
+-112.376 35.96 4327
+-112.25 35.96 4352
+-112.124 35.96 4422
+-111.998 35.96 4460
+-111.872 35.96 4520
+-111.746 35.96 4556
+-111.62 35.96 4585
+-111.494 35.96 4607
+-111.368 35.96 4655
+-111.242 35.96 4692
+-111.116 35.96 4721
+-110.99 35.96 4744
+-110.864 35.96 4730
+-110.738 35.96 4726
+-110.612 35.96 4749
+-110.486 35.96 4773
+-110.36 35.96 4780
+-110.234 35.96 4784
+-110.108 35.96 4762
+-109.982 35.96 4739
+-109.856 35.96 4724
+-109.73 35.96 4685
+-109.604 35.96 4632
+-109.478 35.96 4606
+-109.352 35.96 4583
+-109.226 35.96 4577
+-109.1 35.96 4548
+-108.974 35.96 4523
+-108.848 35.96 4499
+-108.722 35.96 4440
+-108.596 35.96 4368
+-108.47 35.96 4289
+-108.344 35.96 4249
+-108.218 35.96 4189
+-108.092 35.96 4123
+-107.966 35.96 4109
+-107.84 35.96 4023
+-107.714 35.96 3952
+-107.588 35.96 3922
+-107.462 35.96 3847
+-107.336 35.96 3747
+-107.21 35.96 3689
+-107.084 35.96 3645
+-106.958 35.96 3560
+-106.832 35.96 3471
+-106.706 35.96 3377
+-106.58 35.96 3271
+-106.454 35.96 3149
+-106.328 35.96 3011
+-106.202 35.96 2944
+-106.076 35.96 2980
+-105.95 35.96 3034
+-105.824 35.96 3043
+-105.698 35.96 3055
+-105.572 35.96 3067
+-105.446 35.96 3086
+-105.32 35.96 3090
+-105.194 35.96 3080
+-105.068 35.96 3093
+-104.942 35.96 3104
+-104.816 35.96 3116
+-104.69 35.96 3126
+-104.564 35.96 3136
+-104.438 35.96 3145
+-104.312 35.96 3171
+-104.186 35.96 3193
+-104.06 35.96 3201
+-103.934 35.96 3216
+-103.808 35.96 3213
+-103.682 35.96 3222
+-103.556 35.96 3231
+-103.43 35.96 3240
+-103.304 35.96 3247
+-103.178 35.96 3255
+-103.052 35.96 3262
+-102.926 35.96 3268
+-102.8 35.96 3275
+-102.674 35.96 3280
+-102.548 35.96 3307
+-102.422 35.96 3310
+-102.296 35.96 3305
+-102.17 35.96 3311
+-102.044 35.96 3317
+-101.918 35.96 3204
+-101.792 35.96 3116
+-101.666 35.96 3108
+-101.54 35.96 3085
+-101.414 35.96 3028
+-101.288 35.96 2945
+-101.162 35.96 2876
+-101.036 35.96 2849
+-100.91 35.96 2860
+-100.784 35.96 2914
+-100.658 35.96 2922
+-100.532 35.96 3026
+-100.406 35.96 3084
+-100.28 35.96 3106
+-100.154 35.96 3097
+-100.028 35.96 3086
+-99.902 35.96 3086
+-99.776 35.96 3049
+-99.65 35.96 3037
+-99.524 35.96 3077
+-99.398 35.96 3064
+-99.272 35.96 3051
+-99.146 35.96 3035
+-99.02 35.96 3019
+-98.894 35.96 3001
+-98.768 35.96 2981
+-98.642 35.96 2959
+-98.516 35.96 2934
+-98.39 35.96 2955
+-98.264 35.96 2965
+-98.138 35.96 2931
+-98.012 35.96 2893
+-97.886 35.96 2872
+-97.76 35.96 2825
+-97.634 35.96 2776
+-97.508 35.96 2741
+-97.382 35.96 2710
+-97.256 35.96 2678
+-97.13 35.96 2668
+-97.004 35.96 2685
+-96.878 35.96 2749
+-96.752 35.96 2813
+-96.626 35.96 2886
+-96.5 35.96 2943
+-96.374 35.96 2969
+-96.248 35.96 2988
+-96.122 35.96 3028
+-95.996 35.96 3114
+-95.87 35.96 3219
+-95.744 35.96 3309
+-95.618 35.96 3451
+-95.492 35.96 3561
+-95.366 35.96 3652
+-95.24 35.96 3759
+-95.114 35.96 3840
+-94.988 35.96 3875
+-94.862 35.96 3905
+-94.736 35.96 3980
+-94.61 35.96 4098
+-94.484 35.96 4236
+-94.358 35.96 4399
+-94.232 35.96 4466
+-94.106 35.96 4511
+-93.98 35.96 4620
+-93.854 35.96 4690
+-93.728 35.96 4809
+-93.602 35.96 4923
+-93.476 35.96 5023
+-93.35 35.96 5117
+-93.224 35.96 5210
+-93.098 35.96 5299
+-92.972 35.96 5388
+-92.846 35.96 5439
+-92.72 35.96 5523
+-92.594 35.96 5609
+-92.468 35.96 5720
+-92.342 35.96 5760
+-92.216 35.96 5811
+-92.09 35.96 5870
+-91.964 35.96 5956
+-91.838 35.96 6055
+-91.712 35.96 6072
+-91.586 35.96 6164
+-91.46 35.96 6215
+-91.334 35.96 6228
+-91.208 35.96 6294
+-91.082 35.96 6643
+-90.956 35.96 6695
+-90.83 35.96 6797
+-90.704 35.96 6965
+-90.578 35.96 7055
+-90.452 35.96 7128
+-90.326 35.96 7238
+-90.2 35.96 7298
+-90.074 35.96 7384
+-89.948 35.96 7498
+-89.822 35.96 7543
+-89.696 35.96 7621
+-89.57 35.96 7721
+-89.444 35.96 7761
+-89.318 35.96 7795
+-89.192 35.96 7807
+-89.066 35.96 7871
+-88.94 35.96 7859
+-88.814 35.96 7892
+-88.688 35.96 7866
+-88.562 35.96 7830
+-88.436 35.96 7816
+-88.31 35.96 7795
+-88.184 35.96 7720
+-88.058 35.96 7684
+-87.932 35.96 7607
+-87.806 35.96 7532
+-87.68 35.96 7474
+-87.554 35.96 7380
+-87.428 35.96 7319
+-87.302 35.96 7217
+-87.176 35.96 7129
+-87.05 35.96 6993
+-86.924 35.96 6897
+-86.798 35.96 6797
+-86.672 35.96 6718
+-86.546 35.96 6621
+-86.42 35.96 6491
+-86.294 35.96 6377
+-86.168 35.96 6209
+-86.042 35.96 6152
+-85.916 35.96 6064
+-85.79 35.96 5915
+-85.664 35.96 5861
+-85.538 35.96 5751
+-85.412 35.96 5527
+-85.286 35.96 5346
+-85.16 35.96 5379
+-85.034 35.96 5268
+-84.908 35.96 5178
+-84.782 35.96 5070
+-84.656 35.96 4929
+-84.53 35.96 4765
+-84.404 35.96 4606
+-84.278 35.96 4425
+-84.152 35.96 4223
+-84.026 35.96 4047
+-83.9 35.96 3847
+-83.774 35.96 3763
+-83.648 35.96 3680
+-83.522 35.96 3706
+-83.396 35.96 3604
+-83.27 35.96 3471
+-83.144 35.96 3406
+-83.018 35.96 3393
+-82.892 35.96 3386
+-82.766 35.96 3363
+-82.64 35.96 3273
+-82.514 35.96 3153
+-82.388 35.96 2965
+-82.262 35.96 2696
+-82.136 35.96 2363
+-82.01 35.96 2062
+-81.884 35.96 1936
+-81.758 35.96 2013
+-81.632 35.96 2194
+-81.506 35.96 2382
+-81.38 35.96 2480
+-81.254 35.96 2597
+-81.128 35.96 2689
+-81.002 35.96 2712
+-80.876 35.96 2765
+-80.75 35.96 2794
+-80.624 35.96 2829
+-80.498 35.96 2858
+-80.372 35.96 2881
+-80.246 35.96 2898
+-80.12 35.96 2915
+-79.994 35.96 2929
+-79.868 35.96 2940
+-79.742 35.96 2950
+-79.616 35.96 2957
+-79.49 35.96 2964
+-79.364 35.96 2969
+-79.238 35.96 2973
+-79.112 35.96 2969
+-78.986 35.96 2972
+-78.86 35.96 2847
+-78.734 35.96 2807
+-78.608 35.96 2817
+-78.482 35.96 2819
+-78.356 35.96 2717
+-78.23 35.96 2720
+-78.104 35.96 2692
+-77.978 35.96 2694
+-77.852 35.96 2696
+-77.726 35.96 2708
+-77.6 35.96 2717
+-77.474 35.96 2612
+-77.348 35.96 2595
+-77.222 35.96 2605
+-77.096 35.96 2623
+-76.97 35.96 2603
+-76.844 35.96 2607
+-76.718 35.96 2579
+-76.592 35.96 2584
+-76.466 35.96 2588
+-76.34 35.96 2594
+-76.214 35.96 2607
+-76.088 35.96 2623
+-75.962 35.96 2629
+-75.836 35.96 2676
+-75.71 35.96 2694
+-75.584 35.96 2700
+-75.458 35.96 2758
+-75.332 35.96 2783
+-75.206 35.96 2772
+-75.08 35.96 2770
+-74.954 35.96 2905
+-74.828 35.96 2911
+-74.702 35.96 2965
+-74.576 35.96 2972
+-74.45 35.96 2978
+-74.324 35.96 2984
+-74.198 35.96 2991
+-74.072 35.96 2929
+-73.946 35.96 2951
+-73.82 35.96 2956
+-73.694 35.96 2953
+-73.568 35.96 3231
+-73.442 35.96 3260
+-73.316 35.96 3264
+-73.19 35.96 3264
+-73.064 35.96 3268
+-72.938 35.96 3275
+-72.812 35.96 3291
+-72.686 35.96 3295
+-72.56 35.96 3288
+-72.434 35.96 3291
+-72.308 35.96 3250
+-72.182 35.96 3253
+-72.056 35.96 3256
+-71.93 35.96 3317
+-71.804 35.96 3315
+-71.678 35.96 3326
+-71.552 35.96 3329
+-71.426 35.96 3312
+-71.3 35.96 3334
+-71.174 35.96 3379
+-71.048 35.96 3391
+-70.922 35.96 3392
+-70.796 35.96 3393
+-70.67 35.96 3443
+-70.544 35.96 3447
+-70.418 35.96 3390
+-70.292 35.96 3413
+-70.166 35.96 3409
+-70.04 35.96 3334
+-69.914 35.96 3249
+-69.788 35.96 3272
+-69.662 35.96 3274
+-69.536 35.96 3306
+-69.41 35.96 3282
+-69.284 35.96 3294
+-69.158 35.96 3296
+-69.032 35.96 3277
+-68.906 35.96 3279
+-68.78 35.96 3282
+-68.654 35.96 3259
+-68.528 35.96 3242
+-68.402 35.96 3277
+-68.276 35.96 3272
+-68.15 35.96 3274
+-68.024 35.96 3276
+-67.898 35.96 3197
+-67.772 35.96 3238
+-67.646 35.96 3234
+-67.52 35.96 3236
+-67.394 35.96 3238
+-67.268 35.96 3470
+-67.142 35.96 3395
+-67.016 35.96 3405
+-66.89 35.96 3407
+-66.764 35.96 3301
+-66.638 35.96 3288
+-66.512 35.96 3289
+-66.386 35.96 3289
+-66.26 35.96 3267
+-66.134 35.96 3268
+-66.008 35.96 3268
+-65.882 35.96 3269
+-65.756 35.96 3270
+-65.63 35.96 3296
+-65.504 35.96 3297
+-65.378 35.96 3281
+-65.252 35.96 3282
+-65.126 35.96 3283
+-128 35.908 3027
+-127.874 35.908 3016
+-127.748 35.908 3005
+-127.622 35.908 2992
+-127.496 35.908 2979
+-127.37 35.908 2965
+-127.244 35.908 2949
+-127.118 35.908 2933
+-126.992 35.908 2915
+-126.866 35.908 2895
+-126.74 35.908 2873
+-126.614 35.908 2849
+-126.488 35.908 2823
+-126.362 35.908 2793
+-126.236 35.908 2760
+-126.11 35.908 2760
+-125.984 35.908 2717
+-125.858 35.908 2669
+-125.732 35.908 2612
+-125.606 35.908 2545
+-125.48 35.908 2466
+-125.354 35.908 2371
+-125.228 35.908 2259
+-125.102 35.908 2128
+-124.976 35.908 1979
+-124.85 35.908 1843
+-124.724 35.908 1719
+-124.598 35.908 1685
+-124.472 35.908 1786
+-124.346 35.908 1992
+-124.22 35.908 2201
+-124.094 35.908 2339
+-123.968 35.908 2443
+-123.842 35.908 2573
+-123.716 35.908 2747
+-123.59 35.908 2984
+-123.464 35.908 3215
+-123.338 35.908 3396
+-123.212 35.908 3534
+-123.086 35.908 3659
+-122.96 35.908 3709
+-122.834 35.908 3794
+-122.708 35.908 3807
+-122.582 35.908 3842
+-122.456 35.908 3943
+-122.33 35.908 4020
+-122.204 35.908 4132
+-122.078 35.908 4249
+-121.952 35.908 4381
+-121.826 35.908 4492
+-121.7 35.908 4653
+-121.574 35.908 4803
+-121.448 35.908 4876
+-121.322 35.908 4962
+-121.196 35.908 5103
+-121.07 35.908 5155
+-120.944 35.908 5107
+-120.818 35.908 5237
+-120.692 35.908 5413
+-120.566 35.908 5577
+-120.44 35.908 5686
+-120.314 35.908 5828
+-120.188 35.908 5860
+-120.062 35.908 6019
+-119.936 35.908 6167
+-119.81 35.908 6269
+-119.684 35.908 6397
+-119.558 35.908 6443
+-119.432 35.908 6571
+-119.306 35.908 6630
+-119.18 35.908 6728
+-119.054 35.908 6822
+-118.928 35.908 6954
+-118.802 35.908 7053
+-118.676 35.908 7102
+-118.55 35.908 7190
+-118.424 35.908 7299
+-118.298 35.908 7340
+-118.172 35.908 7422
+-118.046 35.908 7483
+-117.92 35.908 7522
+-117.794 35.908 7553
+-117.668 35.908 7580
+-117.542 35.908 7625
+-117.416 35.908 7641
+-117.29 35.908 7618
+-117.164 35.908 7642
+-117.038 35.908 7608
+-116.912 35.908 7565
+-116.786 35.908 7533
+-116.66 35.908 7500
+-116.534 35.908 7442
+-116.408 35.908 7365
+-116.282 35.908 7326
+-116.156 35.908 7225
+-116.03 35.908 7202
+-115.904 35.908 7090
+-115.778 35.908 7001
+-115.652 35.908 6879
+-115.526 35.908 6811
+-115.4 35.908 6670
+-115.274 35.908 6579
+-115.148 35.908 6517
+-115.022 35.908 6385
+-114.896 35.908 6271
+-114.77 35.908 6182
+-114.644 35.908 6112
+-114.518 35.908 5997
+-114.392 35.908 5883
+-114.266 35.908 5634
+-114.14 35.908 5535
+-114.014 35.908 5467
+-113.888 35.908 5319
+-113.762 35.908 5237
+-113.636 35.908 5141
+-113.51 35.908 4963
+-113.384 35.908 4795
+-113.258 35.908 4739
+-113.132 35.908 4557
+-113.006 35.908 4405
+-112.88 35.908 4284
+-112.754 35.908 4354
+-112.628 35.908 4336
+-112.502 35.908 4321
+-112.376 35.908 4363
+-112.25 35.908 4386
+-112.124 35.908 4451
+-111.998 35.908 4509
+-111.872 35.908 4557
+-111.746 35.908 4591
+-111.62 35.908 4628
+-111.494 35.908 4639
+-111.368 35.908 4698
+-111.242 35.908 4735
+-111.116 35.908 4736
+-110.99 35.908 4744
+-110.864 35.908 4751
+-110.738 35.908 4762
+-110.612 35.908 4794
+-110.486 35.908 4829
+-110.36 35.908 4821
+-110.234 35.908 4823
+-110.108 35.908 4824
+-109.982 35.908 4815
+-109.856 35.908 4780
+-109.73 35.908 4748
+-109.604 35.908 4703
+-109.478 35.908 4640
+-109.352 35.908 4617
+-109.226 35.908 4621
+-109.1 35.908 4593
+-108.974 35.908 4569
+-108.848 35.908 4550
+-108.722 35.908 4514
+-108.596 35.908 4457
+-108.47 35.908 4375
+-108.344 35.908 4309
+-108.218 35.908 4245
+-108.092 35.908 4166
+-107.966 35.908 4144
+-107.84 35.908 4051
+-107.714 35.908 3965
+-107.588 35.908 3942
+-107.462 35.908 3888
+-107.336 35.908 3757
+-107.21 35.908 3682
+-107.084 35.908 3675
+-106.958 35.908 3598
+-106.832 35.908 3506
+-106.706 35.908 3402
+-106.58 35.908 3292
+-106.454 35.908 3186
+-106.328 35.908 3102
+-106.202 35.908 3052
+-106.076 35.908 3047
+-105.95 35.908 3053
+-105.824 35.908 3061
+-105.698 35.908 3072
+-105.572 35.908 3094
+-105.446 35.908 3105
+-105.32 35.908 3090
+-105.194 35.908 3107
+-105.068 35.908 3124
+-104.942 35.908 3139
+-104.816 35.908 3154
+-104.69 35.908 3164
+-104.564 35.908 3177
+-104.438 35.908 3174
+-104.312 35.908 3196
+-104.186 35.908 3205
+-104.06 35.908 3220
+-103.934 35.908 3218
+-103.808 35.908 3228
+-103.682 35.908 3237
+-103.556 35.908 3245
+-103.43 35.908 3253
+-103.304 35.908 3260
+-103.178 35.908 3267
+-103.052 35.908 3274
+-102.926 35.908 3280
+-102.8 35.908 3286
+-102.674 35.908 3312
+-102.548 35.908 3315
+-102.422 35.908 3310
+-102.296 35.908 3316
+-102.17 35.908 3322
+-102.044 35.908 3327
+-101.918 35.908 3214
+-101.792 35.908 3126
+-101.666 35.908 3154
+-101.54 35.908 3145
+-101.414 35.908 3037
+-101.288 35.908 2940
+-101.162 35.908 2881
+-101.036 35.908 2913
+-100.91 35.908 2876
+-100.784 35.908 2931
+-100.658 35.908 2937
+-100.532 35.908 2989
+-100.406 35.908 3109
+-100.28 35.908 3100
+-100.154 35.908 3089
+-100.028 35.908 3090
+-99.902 35.908 3053
+-99.776 35.908 3042
+-99.65 35.908 3083
+-99.524 35.908 3070
+-99.398 35.908 3057
+-99.272 35.908 3042
+-99.146 35.908 3026
+-99.02 35.908 3009
+-98.894 35.908 2989
+-98.768 35.908 2967
+-98.642 35.908 2943
+-98.516 35.908 2965
+-98.39 35.908 2975
+-98.264 35.908 2940
+-98.138 35.908 2900
+-98.012 35.908 2875
+-97.886 35.908 2821
+-97.76 35.908 2762
+-97.634 35.908 2707
+-97.508 35.908 2649
+-97.382 35.908 2578
+-97.256 35.908 2519
+-97.13 35.908 2488
+-97.004 35.908 2522
+-96.878 35.908 2586
+-96.752 35.908 2690
+-96.626 35.908 2787
+-96.5 35.908 2854
+-96.374 35.908 2863
+-96.248 35.908 2845
+-96.122 35.908 2858
+-95.996 35.908 2958
+-95.87 35.908 3112
+-95.744 35.908 3260
+-95.618 35.908 3361
+-95.492 35.908 3442
+-95.366 35.908 3531
+-95.24 35.908 3677
+-95.114 35.908 3785
+-94.988 35.908 3862
+-94.862 35.908 3946
+-94.736 35.908 4011
+-94.61 35.908 4114
+-94.484 35.908 4213
+-94.358 35.908 4333
+-94.232 35.908 4396
+-94.106 35.908 4475
+-93.98 35.908 4600
+-93.854 35.908 4650
+-93.728 35.908 4769
+-93.602 35.908 4823
+-93.476 35.908 4949
+-93.35 35.908 5078
+-93.224 35.908 5170
+-93.098 35.908 5237
+-92.972 35.908 5330
+-92.846 35.908 5416
+-92.72 35.908 5464
+-92.594 35.908 5564
+-92.468 35.908 5673
+-92.342 35.908 5686
+-92.216 35.908 5780
+-92.09 35.908 5823
+-91.964 35.908 5896
+-91.838 35.908 5978
+-91.712 35.908 6043
+-91.586 35.908 6112
+-91.46 35.908 6159
+-91.334 35.908 6189
+-91.208 35.908 6395
+-91.082 35.908 6598
+-90.956 35.908 6680
+-90.83 35.908 6816
+-90.704 35.908 6925
+-90.578 35.908 7028
+-90.452 35.908 7059
+-90.326 35.908 7187
+-90.2 35.908 7244
+-90.074 35.908 7363
+-89.948 35.908 7469
+-89.822 35.908 7538
+-89.696 35.908 7565
+-89.57 35.908 7637
+-89.444 35.908 7699
+-89.318 35.908 7743
+-89.192 35.908 7766
+-89.066 35.908 7787
+-88.94 35.908 7826
+-88.814 35.908 7795
+-88.688 35.908 7811
+-88.562 35.908 7793
+-88.436 35.908 7773
+-88.31 35.908 7739
+-88.184 35.908 7669
+-88.058 35.908 7601
+-87.932 35.908 7571
+-87.806 35.908 7511
+-87.68 35.908 7427
+-87.554 35.908 7321
+-87.428 35.908 7230
+-87.302 35.908 7180
+-87.176 35.908 7077
+-87.05 35.908 6987
+-86.924 35.908 6853
+-86.798 35.908 6757
+-86.672 35.908 6687
+-86.546 35.908 6568
+-86.42 35.908 6504
+-86.294 35.908 6366
+-86.168 35.908 6235
+-86.042 35.908 6143
+-85.916 35.908 6005
+-85.79 35.908 5876
+-85.664 35.908 5784
+-85.538 35.908 5702
+-85.412 35.908 5540
+-85.286 35.908 5436
+-85.16 35.908 5372
+-85.034 35.908 5291
+-84.908 35.908 5196
+-84.782 35.908 5077
+-84.656 35.908 4885
+-84.53 35.908 4698
+-84.404 35.908 4579
+-84.278 35.908 4398
+-84.152 35.908 4178
+-84.026 35.908 4036
+-83.9 35.908 3877
+-83.774 35.908 3792
+-83.648 35.908 3740
+-83.522 35.908 3692
+-83.396 35.908 3529
+-83.27 35.908 3393
+-83.144 35.908 3400
+-83.018 35.908 3410
+-82.892 35.908 3399
+-82.766 35.908 3351
+-82.64 35.908 3274
+-82.514 35.908 3110
+-82.388 35.908 2913
+-82.262 35.908 2630
+-82.136 35.908 2274
+-82.01 35.908 1948
+-81.884 35.908 1819
+-81.758 35.908 1921
+-81.632 35.908 2130
+-81.506 35.908 2335
+-81.38 35.908 2502
+-81.254 35.908 2530
+-81.128 35.908 2617
+-81.002 35.908 2684
+-80.876 35.908 2729
+-80.75 35.908 2772
+-80.624 35.908 2804
+-80.498 35.908 2834
+-80.372 35.908 2859
+-80.246 35.908 2880
+-80.12 35.908 2897
+-79.994 35.908 2909
+-79.868 35.908 2920
+-79.742 35.908 2930
+-79.616 35.908 2938
+-79.49 35.908 2945
+-79.364 35.908 2950
+-79.238 35.908 2912
+-79.112 35.908 2915
+-78.986 35.908 2821
+-78.86 35.908 2824
+-78.734 35.908 2803
+-78.608 35.908 2764
+-78.482 35.908 2773
+-78.356 35.908 2739
+-78.23 35.908 2662
+-78.104 35.908 2664
+-77.978 35.908 2666
+-77.852 35.908 2683
+-77.726 35.908 2698
+-77.6 35.908 2595
+-77.474 35.908 2609
+-77.348 35.908 2589
+-77.222 35.908 2581
+-77.096 35.908 2585
+-76.97 35.908 2589
+-76.844 35.908 2567
+-76.718 35.908 2572
+-76.592 35.908 2576
+-76.466 35.908 2582
+-76.34 35.908 2596
+-76.214 35.908 2613
+-76.088 35.908 2637
+-75.962 35.908 2667
+-75.836 35.908 2686
+-75.71 35.908 2692
+-75.584 35.908 2750
+-75.458 35.908 2776
+-75.332 35.908 2766
+-75.206 35.908 2764
+-75.08 35.908 2898
+-74.954 35.908 2905
+-74.828 35.908 2958
+-74.702 35.908 2965
+-74.576 35.908 2972
+-74.45 35.908 2979
+-74.324 35.908 2985
+-74.198 35.908 2925
+-74.072 35.908 2947
+-73.946 35.908 2952
+-73.82 35.908 2949
+-73.694 35.908 3226
+-73.568 35.908 3254
+-73.442 35.908 3259
+-73.316 35.908 3259
+-73.19 35.908 3263
+-73.064 35.908 3270
+-72.938 35.908 3286
+-72.812 35.908 3290
+-72.686 35.908 3283
+-72.56 35.908 3287
+-72.434 35.908 3246
+-72.308 35.908 3250
+-72.182 35.908 3253
+-72.056 35.908 3314
+-71.93 35.908 3312
+-71.804 35.908 3322
+-71.678 35.908 3326
+-71.552 35.908 3309
+-71.426 35.908 3331
+-71.3 35.908 3376
+-71.174 35.908 3388
+-71.048 35.908 3389
+-70.922 35.908 3390
+-70.796 35.908 3440
+-70.67 35.908 3444
+-70.544 35.908 3388
+-70.418 35.908 3411
+-70.292 35.908 3406
+-70.166 35.908 3328
+-70.04 35.908 3247
+-69.914 35.908 3270
+-69.788 35.908 3272
+-69.662 35.908 3304
+-69.536 35.908 3280
+-69.41 35.908 3292
+-69.284 35.908 3294
+-69.158 35.908 3276
+-69.032 35.908 3278
+-68.906 35.908 3280
+-68.78 35.908 3258
+-68.654 35.908 3241
+-68.528 35.908 3275
+-68.402 35.908 3270
+-68.276 35.908 3273
+-68.15 35.908 3275
+-68.024 35.908 3196
+-67.898 35.908 3237
+-67.772 35.908 3233
+-67.646 35.908 3235
+-67.52 35.908 3237
+-67.394 35.908 3469
+-67.268 35.908 3390
+-67.142 35.908 3404
+-67.016 35.908 3405
+-66.89 35.908 3300
+-66.764 35.908 3287
+-66.638 35.908 3288
+-66.512 35.908 3289
+-66.386 35.908 3266
+-66.26 35.908 3267
+-66.134 35.908 3268
+-66.008 35.908 3268
+-65.882 35.908 3269
+-65.756 35.908 3295
+-65.63 35.908 3296
+-65.504 35.908 3280
+-65.378 35.908 3281
+-65.252 35.908 3282
+-65.126 35.908 3220
+-128 35.856 3030
+-127.874 35.856 3019
+-127.748 35.856 3008
+-127.622 35.856 2996
+-127.496 35.856 2983
+-127.37 35.856 2969
+-127.244 35.856 2954
+-127.118 35.856 2937
+-126.992 35.856 2920
+-126.866 35.856 2900
+-126.74 35.856 2879
+-126.614 35.856 2856
+-126.488 35.856 2831
+-126.362 35.856 2803
+-126.236 35.856 2771
+-126.11 35.856 2736
+-125.984 35.856 2732
+-125.858 35.856 2687
+-125.732 35.856 2635
+-125.606 35.856 2576
+-125.48 35.856 2506
+-125.354 35.856 2426
+-125.228 35.856 2334
+-125.102 35.856 2231
+-124.976 35.856 2122
+-124.85 35.856 2021
+-124.724 35.856 1970
+-124.598 35.856 1966
+-124.472 35.856 2052
+-124.346 35.856 2167
+-124.22 35.856 2261
+-124.094 35.856 2288
+-123.968 35.856 2314
+-123.842 35.856 2421
+-123.716 35.856 2624
+-123.59 35.856 2868
+-123.464 35.856 3139
+-123.338 35.856 3360
+-123.212 35.856 3519
+-123.086 35.856 3627
+-122.96 35.856 3724
+-122.834 35.856 3813
+-122.708 35.856 3834
+-122.582 35.856 3851
+-122.456 35.856 3913
+-122.33 35.856 3985
+-122.204 35.856 4102
+-122.078 35.856 4223
+-121.952 35.856 4351
+-121.826 35.856 4476
+-121.7 35.856 4630
+-121.574 35.856 4852
+-121.448 35.856 4979
+-121.322 35.856 5076
+-121.196 35.856 5132
+-121.07 35.856 5187
+-120.944 35.856 5237
+-120.818 35.856 5335
+-120.692 35.856 5447
+-120.566 35.856 5569
+-120.44 35.856 5742
+-120.314 35.856 5851
+-120.188 35.856 5922
+-120.062 35.856 6027
+-119.936 35.856 6142
+-119.81 35.856 6287
+-119.684 35.856 6422
+-119.558 35.856 6434
+-119.432 35.856 6577
+-119.306 35.856 6667
+-119.18 35.856 6779
+-119.054 35.856 6868
+-118.928 35.856 6965
+-118.802 35.856 7075
+-118.676 35.856 7153
+-118.55 35.856 7225
+-118.424 35.856 7300
+-118.298 35.856 7384
+-118.172 35.856 7477
+-118.046 35.856 7534
+-117.92 35.856 7581
+-117.794 35.856 7616
+-117.668 35.856 7646
+-117.542 35.856 7677
+-117.416 35.856 7682
+-117.29 35.856 7686
+-117.164 35.856 7681
+-117.038 35.856 7668
+-116.912 35.856 7641
+-116.786 35.856 7620
+-116.66 35.856 7543
+-116.534 35.856 7490
+-116.408 35.856 7455
+-116.282 35.856 7355
+-116.156 35.856 7285
+-116.03 35.856 7198
+-115.904 35.856 7116
+-115.778 35.856 7028
+-115.652 35.856 6924
+-115.526 35.856 6833
+-115.4 35.856 6754
+-115.274 35.856 6606
+-115.148 35.856 6487
+-115.022 35.856 6384
+-114.896 35.856 6306
+-114.77 35.856 6224
+-114.644 35.856 6147
+-114.518 35.856 6006
+-114.392 35.856 5894
+-114.266 35.856 5705
+-114.14 35.856 5557
+-114.014 35.856 5450
+-113.888 35.856 5339
+-113.762 35.856 5259
+-113.636 35.856 5188
+-113.51 35.856 4993
+-113.384 35.856 4837
+-113.258 35.856 4739
+-113.132 35.856 4594
+-113.006 35.856 4444
+-112.88 35.856 4381
+-112.754 35.856 4358
+-112.628 35.856 4357
+-112.502 35.856 4339
+-112.376 35.856 4394
+-112.25 35.856 4438
+-112.124 35.856 4501
+-111.998 35.856 4532
+-111.872 35.856 4595
+-111.746 35.856 4628
+-111.62 35.856 4644
+-111.494 35.856 4678
+-111.368 35.856 4719
+-111.242 35.856 4742
+-111.116 35.856 4755
+-110.99 35.856 4778
+-110.864 35.856 4802
+-110.738 35.856 4823
+-110.612 35.856 4852
+-110.486 35.856 4877
+-110.36 35.856 4894
+-110.234 35.856 4903
+-110.108 35.856 4896
+-109.982 35.856 4886
+-109.856 35.856 4845
+-109.73 35.856 4809
+-109.604 35.856 4778
+-109.478 35.856 4730
+-109.352 35.856 4671
+-109.226 35.856 4649
+-109.1 35.856 4647
+-108.974 35.856 4631
+-108.848 35.856 4621
+-108.722 35.856 4584
+-108.596 35.856 4543
+-108.47 35.856 4482
+-108.344 35.856 4414
+-108.218 35.856 4337
+-108.092 35.856 4243
+-107.966 35.856 4183
+-107.84 35.856 4127
+-107.714 35.856 4013
+-107.588 35.856 3967
+-107.462 35.856 3915
+-107.336 35.856 3817
+-107.21 35.856 3728
+-107.084 35.856 3692
+-106.958 35.856 3631
+-106.832 35.856 3527
+-106.706 35.856 3420
+-106.58 35.856 3305
+-106.454 35.856 3194
+-106.328 35.856 3107
+-106.202 35.856 3068
+-106.076 35.856 3065
+-105.95 35.856 3060
+-105.824 35.856 3057
+-105.698 35.856 3051
+-105.572 35.856 3069
+-105.446 35.856 3093
+-105.32 35.856 3118
+-105.194 35.856 3104
+-105.068 35.856 3130
+-104.942 35.856 3148
+-104.816 35.856 3162
+-104.69 35.856 3176
+-104.564 35.856 3175
+-104.438 35.856 3199
+-104.312 35.856 3209
+-104.186 35.856 3224
+-104.06 35.856 3223
+-103.934 35.856 3233
+-103.808 35.856 3243
+-103.682 35.856 3251
+-103.556 35.856 3259
+-103.43 35.856 3267
+-103.304 35.856 3274
+-103.178 35.856 3280
+-103.052 35.856 3286
+-102.926 35.856 3292
+-102.8 35.856 3317
+-102.674 35.856 3321
+-102.548 35.856 3316
+-102.422 35.856 3322
+-102.296 35.856 3327
+-102.17 35.856 3332
+-102.044 35.856 3337
+-101.918 35.856 3224
+-101.792 35.856 3136
+-101.666 35.856 3165
+-101.54 35.856 3142
+-101.414 35.856 3062
+-101.288 35.856 2947
+-101.162 35.856 2886
+-101.036 35.856 2919
+-100.91 35.856 2878
+-100.784 35.856 2937
+-100.658 35.856 2940
+-100.532 35.856 2985
+-100.406 35.856 3103
+-100.28 35.856 3093
+-100.154 35.856 3095
+-100.028 35.856 3058
+-99.902 35.856 3047
+-99.776 35.856 3089
+-99.65 35.856 3077
+-99.524 35.856 3064
+-99.398 35.856 3050
+-99.272 35.856 3035
+-99.146 35.856 3018
+-99.02 35.856 2999
+-98.894 35.856 2979
+-98.768 35.856 2955
+-98.642 35.856 2979
+-98.516 35.856 2991
+-98.39 35.856 2956
+-98.264 35.856 2917
+-98.138 35.856 2892
+-98.012 35.856 2837
+-97.886 35.856 2780
+-97.76 35.856 2711
+-97.634 35.856 2637
+-97.508 35.856 2537
+-97.382 35.856 2431
+-97.256 35.856 2332
+-97.13 35.856 2284
+-97.004 35.856 2285
+-96.878 35.856 2377
+-96.752 35.856 2533
+-96.626 35.856 2687
+-96.5 35.856 2774
+-96.374 35.856 2773
+-96.248 35.856 2697
+-96.122 35.856 2651
+-95.996 35.856 2774
+-95.87 35.856 3030
+-95.744 35.856 3206
+-95.618 35.856 3251
+-95.492 35.856 3276
+-95.366 35.856 3392
+-95.24 35.856 3578
+-95.114 35.856 3716
+-94.988 35.856 3816
+-94.862 35.856 3926
+-94.736 35.856 3999
+-94.61 35.856 4104
+-94.484 35.856 4176
+-94.358 35.856 4261
+-94.232 35.856 4335
+-94.106 35.856 4393
+-93.98 35.856 4512
+-93.854 35.856 4623
+-93.728 35.856 4754
+-93.602 35.856 4826
+-93.476 35.856 4852
+-93.35 35.856 5026
+-93.224 35.856 5111
+-93.098 35.856 5189
+-92.972 35.856 5258
+-92.846 35.856 5349
+-92.72 35.856 5440
+-92.594 35.856 5513
+-92.468 35.856 5604
+-92.342 35.856 5703
+-92.216 35.856 5749
+-92.09 35.856 5799
+-91.964 35.856 5879
+-91.838 35.856 5984
+-91.712 35.856 5989
+-91.586 35.856 6055
+-91.46 35.856 6112
+-91.334 35.856 6231
+-91.208 35.856 6408
+-91.082 35.856 6528
+-90.956 35.856 6636
+-90.83 35.856 6760
+-90.704 35.856 6885
+-90.578 35.856 6993
+-90.452 35.856 7073
+-90.326 35.856 7118
+-90.2 35.856 7240
+-90.074 35.856 7334
+-89.948 35.856 7426
+-89.822 35.856 7463
+-89.696 35.856 7565
+-89.57 35.856 7617
+-89.444 35.856 7674
+-89.318 35.856 7692
+-89.192 35.856 7705
+-89.066 35.856 7744
+-88.94 35.856 7748
+-88.814 35.856 7755
+-88.688 35.856 7763
+-88.562 35.856 7708
+-88.436 35.856 7700
+-88.31 35.856 7666
+-88.184 35.856 7646
+-88.058 35.856 7586
+-87.932 35.856 7553
+-87.806 35.856 7420
+-87.68 35.856 7381
+-87.554 35.856 7292
+-87.428 35.856 7196
+-87.302 35.856 7117
+-87.176 35.856 7047
+-87.05 35.856 6965
+-86.924 35.856 6862
+-86.798 35.856 6774
+-86.672 35.856 6655
+-86.546 35.856 6580
+-86.42 35.856 6448
+-86.294 35.856 6329
+-86.168 35.856 6245
+-86.042 35.856 6088
+-85.916 35.856 5907
+-85.79 35.856 5786
+-85.664 35.856 5690
+-85.538 35.856 5645
+-85.412 35.856 5518
+-85.286 35.856 5435
+-85.16 35.856 5341
+-85.034 35.856 5235
+-84.908 35.856 5131
+-84.782 35.856 5031
+-84.656 35.856 4858
+-84.53 35.856 4636
+-84.404 35.856 4482
+-84.278 35.856 4315
+-84.152 35.856 4153
+-84.026 35.856 4052
+-83.9 35.856 3939
+-83.774 35.856 3855
+-83.648 35.856 3785
+-83.522 35.856 3671
+-83.396 35.856 3440
+-83.27 35.856 3291
+-83.144 35.856 3361
+-83.018 35.856 3400
+-82.892 35.856 3383
+-82.766 35.856 3325
+-82.64 35.856 3242
+-82.514 35.856 3116
+-82.388 35.856 2908
+-82.262 35.856 2652
+-82.136 35.856 2338
+-82.01 35.856 2052
+-81.884 35.856 1932
+-81.758 35.856 2007
+-81.632 35.856 2179
+-81.506 35.856 2356
+-81.38 35.856 2503
+-81.254 35.856 2576
+-81.128 35.856 2601
+-81.002 35.856 2665
+-80.876 35.856 2718
+-80.75 35.856 2752
+-80.624 35.856 2788
+-80.498 35.856 2812
+-80.372 35.856 2838
+-80.246 35.856 2859
+-80.12 35.856 2877
+-79.994 35.856 2889
+-79.868 35.856 2875
+-79.742 35.856 2884
+-79.616 35.856 2891
+-79.49 35.856 2897
+-79.364 35.856 2901
+-79.238 35.856 2905
+-79.112 35.856 2795
+-78.986 35.856 2799
+-78.86 35.856 2779
+-78.734 35.856 2769
+-78.608 35.856 2772
+-78.482 35.856 2718
+-78.356 35.856 2719
+-78.23 35.856 2643
+-78.104 35.856 2645
+-77.978 35.856 2655
+-77.852 35.856 2676
+-77.726 35.856 2576
+-77.6 35.856 2591
+-77.474 35.856 2573
+-77.348 35.856 2558
+-77.222 35.856 2571
+-77.096 35.856 2575
+-76.97 35.856 2553
+-76.844 35.856 2559
+-76.718 35.856 2564
+-76.592 35.856 2570
+-76.466 35.856 2584
+-76.34 35.856 2601
+-76.214 35.856 2627
+-76.088 35.856 2658
+-75.962 35.856 2677
+-75.836 35.856 2683
+-75.71 35.856 2742
+-75.584 35.856 2768
+-75.458 35.856 2759
+-75.332 35.856 2758
+-75.206 35.856 2891
+-75.08 35.856 2898
+-74.954 35.856 2951
+-74.828 35.856 2959
+-74.702 35.856 2966
+-74.576 35.856 2973
+-74.45 35.856 2979
+-74.324 35.856 2920
+-74.198 35.856 2942
+-74.072 35.856 2948
+-73.946 35.856 2945
+-73.82 35.856 3220
+-73.694 35.856 3248
+-73.568 35.856 3253
+-73.442 35.856 3254
+-73.316 35.856 3258
+-73.19 35.856 3265
+-73.064 35.856 3281
+-72.938 35.856 3285
+-72.812 35.856 3279
+-72.686 35.856 3283
+-72.56 35.856 3243
+-72.434 35.856 3246
+-72.308 35.856 3249
+-72.182 35.856 3310
+-72.056 35.856 3308
+-71.93 35.856 3319
+-71.804 35.856 3322
+-71.678 35.856 3306
+-71.552 35.856 3328
+-71.426 35.856 3373
+-71.3 35.856 3385
+-71.174 35.856 3386
+-71.048 35.856 3387
+-70.922 35.856 3437
+-70.796 35.856 3441
+-70.67 35.856 3385
+-70.544 35.856 3408
+-70.418 35.856 3404
+-70.292 35.856 3329
+-70.166 35.856 3245
+-70.04 35.856 3268
+-69.914 35.856 3270
+-69.788 35.856 3302
+-69.662 35.856 3278
+-69.536 35.856 3290
+-69.41 35.856 3292
+-69.284 35.856 3274
+-69.158 35.856 3276
+-69.032 35.856 3279
+-68.906 35.856 3256
+-68.78 35.856 3239
+-68.654 35.856 3274
+-68.528 35.856 3269
+-68.402 35.856 3271
+-68.276 35.856 3274
+-68.15 35.856 3195
+-68.024 35.856 3235
+-67.898 35.856 3232
+-67.772 35.856 3234
+-67.646 35.856 3236
+-67.52 35.856 3467
+-67.394 35.856 3393
+-67.268 35.856 3403
+-67.142 35.856 3404
+-67.016 35.856 3300
+-66.89 35.856 3286
+-66.764 35.856 3287
+-66.638 35.856 3288
+-66.512 35.856 3266
+-66.386 35.856 3266
+-66.26 35.856 3267
+-66.134 35.856 3268
+-66.008 35.856 3268
+-65.882 35.856 3294
+-65.756 35.856 3295
+-65.63 35.856 3279
+-65.504 35.856 3280
+-65.378 35.856 3281
+-65.252 35.856 3219
+-65.126 35.856 3407
+-128 35.804 3033
+-127.874 35.804 3023
+-127.748 35.804 3012
+-127.622 35.804 3000
+-127.496 35.804 2987
+-127.37 35.804 2973
+-127.244 35.804 2959
+-127.118 35.804 2943
+-126.992 35.804 2926
+-126.866 35.804 2907
+-126.74 35.804 2887
+-126.614 35.804 2865
+-126.488 35.804 2841
+-126.362 35.804 2814
+-126.236 35.804 2784
+-126.11 35.804 2752
+-125.984 35.804 2715
+-125.858 35.804 2709
+-125.732 35.804 2664
+-125.606 35.804 2612
+-125.48 35.804 2554
+-125.354 35.804 2488
+-125.228 35.804 2416
+-125.102 35.804 2340
+-124.976 35.804 2265
+-124.85 35.804 2202
+-124.724 35.804 2186
+-124.598 35.804 2204
+-124.472 35.804 2240
+-124.346 35.804 2275
+-124.22 35.804 2260
+-124.094 35.804 2193
+-123.968 35.804 2149
+-123.842 35.804 2252
+-123.716 35.804 2501
+-123.59 35.804 2802
+-123.464 35.804 3070
+-123.338 35.804 3325
+-123.212 35.804 3504
+-123.086 35.804 3609
+-122.96 35.804 3758
+-122.834 35.804 3827
+-122.708 35.804 3820
+-122.582 35.804 3781
+-122.456 35.804 3777
+-122.33 35.804 3886
+-122.204 35.804 4058
+-122.078 35.804 4202
+-121.952 35.804 4314
+-121.826 35.804 4427
+-121.7 35.804 4636
+-121.574 35.804 4857
+-121.448 35.804 5030
+-121.322 35.804 5115
+-121.196 35.804 5140
+-121.07 35.804 5173
+-120.944 35.804 5285
+-120.818 35.804 5383
+-120.692 35.804 5498
+-120.566 35.804 5634
+-120.44 35.804 5772
+-120.314 35.804 5858
+-120.188 35.804 5906
+-120.062 35.804 6028
+-119.936 35.804 6152
+-119.81 35.804 6299
+-119.684 35.804 6404
+-119.558 35.804 6526
+-119.432 35.804 6625
+-119.306 35.804 6713
+-119.18 35.804 6773
+-119.054 35.804 6930
+-118.928 35.804 7043
+-118.802 35.804 7098
+-118.676 35.804 7240
+-118.55 35.804 7286
+-118.424 35.804 7334
+-118.298 35.804 7458
+-118.172 35.804 7535
+-118.046 35.804 7578
+-117.92 35.804 7616
+-117.794 35.804 7663
+-117.668 35.804 7705
+-117.542 35.804 7714
+-117.416 35.804 7734
+-117.29 35.804 7730
+-117.164 35.804 7757
+-117.038 35.804 7714
+-116.912 35.804 7662
+-116.786 35.804 7656
+-116.66 35.804 7596
+-116.534 35.804 7593
+-116.408 35.804 7465
+-116.282 35.804 7424
+-116.156 35.804 7361
+-116.03 35.804 7264
+-115.904 35.804 7211
+-115.778 35.804 7063
+-115.652 35.804 6966
+-115.526 35.804 6844
+-115.4 35.804 6773
+-115.274 35.804 6676
+-115.148 35.804 6506
+-115.022 35.804 6397
+-114.896 35.804 6294
+-114.77 35.804 6250
+-114.644 35.804 6150
+-114.518 35.804 5975
+-114.392 35.804 5885
+-114.266 35.804 5738
+-114.14 35.804 5588
+-114.014 35.804 5442
+-113.888 35.804 5342
+-113.762 35.804 5289
+-113.636 35.804 5179
+-113.51 35.804 4970
+-113.384 35.804 4875
+-113.258 35.804 4769
+-113.132 35.804 4630
+-113.006 35.804 4479
+-112.88 35.804 4381
+-112.754 35.804 4286
+-112.628 35.804 4375
+-112.502 35.804 4396
+-112.376 35.804 4443
+-112.25 35.804 4495
+-112.124 35.804 4548
+-111.998 35.804 4594
+-111.872 35.804 4669
+-111.746 35.804 4682
+-111.62 35.804 4708
+-111.494 35.804 4728
+-111.368 35.804 4757
+-111.242 35.804 4792
+-111.116 35.804 4816
+-110.99 35.804 4846
+-110.864 35.804 4866
+-110.738 35.804 4893
+-110.612 35.804 4922
+-110.486 35.804 4935
+-110.36 35.804 4933
+-110.234 35.804 4916
+-110.108 35.804 4941
+-109.982 35.804 4943
+-109.856 35.804 4927
+-109.73 35.804 4893
+-109.604 35.804 4847
+-109.478 35.804 4804
+-109.352 35.804 4751
+-109.226 35.804 4718
+-109.1 35.804 4705
+-108.974 35.804 4705
+-108.848 35.804 4678
+-108.722 35.804 4651
+-108.596 35.804 4614
+-108.47 35.804 4573
+-108.344 35.804 4466
+-108.218 35.804 4422
+-108.092 35.804 4335
+-107.966 35.804 4283
+-107.84 35.804 4201
+-107.714 35.804 4132
+-107.588 35.804 4042
+-107.462 35.804 3980
+-107.336 35.804 3901
+-107.21 35.804 3815
+-107.084 35.804 3741
+-106.958 35.804 3655
+-106.832 35.804 3564
+-106.706 35.804 3448
+-106.58 35.804 3325
+-106.454 35.804 3199
+-106.328 35.804 3090
+-106.202 35.804 3042
+-106.076 35.804 3050
+-105.95 35.804 3028
+-105.824 35.804 3011
+-105.698 35.804 3022
+-105.572 35.804 3056
+-105.446 35.804 3076
+-105.32 35.804 3110
+-105.194 35.804 3139
+-105.068 35.804 3175
+-104.942 35.804 3201
+-104.816 35.804 3173
+-104.69 35.804 3175
+-104.564 35.804 3201
+-104.438 35.804 3212
+-104.312 35.804 3229
+-104.186 35.804 3229
+-104.06 35.804 3239
+-103.934 35.804 3249
+-103.808 35.804 3258
+-103.682 35.804 3266
+-103.556 35.804 3274
+-103.43 35.804 3281
+-103.304 35.804 3287
+-103.178 35.804 3293
+-103.052 35.804 3299
+-102.926 35.804 3324
+-102.8 35.804 3327
+-102.674 35.804 3322
+-102.548 35.804 3328
+-102.422 35.804 3333
+-102.296 35.804 3338
+-102.17 35.804 3343
+-102.044 35.804 3346
+-101.918 35.804 3234
+-101.792 35.804 3243
+-101.666 35.804 3162
+-101.54 35.804 3153
+-101.414 35.804 3072
+-101.288 35.804 2955
+-101.162 35.804 2912
+-101.036 35.804 2924
+-100.91 35.804 2893
+-100.784 35.804 2938
+-100.658 35.804 2938
+-100.532 35.804 2982
+-100.406 35.804 3098
+-100.28 35.804 3100
+-100.154 35.804 3063
+-100.028 35.804 3053
+-99.902 35.804 3096
+-99.776 35.804 3084
+-99.65 35.804 3072
+-99.524 35.804 3059
+-99.398 35.804 3045
+-99.272 35.804 3029
+-99.146 35.804 3011
+-99.02 35.804 2991
+-98.894 35.804 2970
+-98.768 35.804 2996
+-98.642 35.804 3010
+-98.516 35.804 2977
+-98.39 35.804 2940
+-98.264 35.804 2918
+-98.138 35.804 2866
+-98.012 35.804 2812
+-97.886 35.804 2744
+-97.76 35.804 2668
+-97.634 35.804 2561
+-97.508 35.804 2433
+-97.382 35.804 2288
+-97.256 35.804 2156
+-97.13 35.804 2034
+-97.004 35.804 2004
+-96.878 35.804 2120
+-96.752 35.804 2348
+-96.626 35.804 2577
+-96.5 35.804 2720
+-96.374 35.804 2728
+-96.248 35.804 2627
+-96.122 35.804 2542
+-95.996 35.804 2682
+-95.87 35.804 2982
+-95.744 35.804 3186
+-95.618 35.804 3226
+-95.492 35.804 3169
+-95.366 35.804 3302
+-95.24 35.804 3522
+-95.114 35.804 3662
+-94.988 35.804 3771
+-94.862 35.804 3878
+-94.736 35.804 3997
+-94.61 35.804 4064
+-94.484 35.804 4104
+-94.358 35.804 4191
+-94.232 35.804 4278
+-94.106 35.804 4338
+-93.98 35.804 4424
+-93.854 35.804 4569
+-93.728 35.804 4726
+-93.602 35.804 4773
+-93.476 35.804 4865
+-93.35 35.804 4989
+-93.224 35.804 5084
+-93.098 35.804 5150
+-92.972 35.804 5234
+-92.846 35.804 5261
+-92.72 35.804 5381
+-92.594 35.804 5498
+-92.468 35.804 5557
+-92.342 35.804 5634
+-92.216 35.804 5716
+-92.09 35.804 5745
+-91.964 35.804 5826
+-91.838 35.804 5887
+-91.712 35.804 5928
+-91.586 35.804 6000
+-91.46 35.804 6091
+-91.334 35.804 6257
+-91.208 35.804 6404
+-91.082 35.804 6528
+-90.956 35.804 6655
+-90.83 35.804 6701
+-90.704 35.804 6846
+-90.578 35.804 6918
+-90.452 35.804 7045
+-90.326 35.804 7086
+-90.2 35.804 7209
+-90.074 35.804 7265
+-89.948 35.804 7375
+-89.822 35.804 7465
+-89.696 35.804 7474
+-89.57 35.804 7552
+-89.444 35.804 7566
+-89.318 35.804 7630
+-89.192 35.804 7654
+-89.066 35.804 7686
+-88.94 35.804 7695
+-88.814 35.804 7707
+-88.688 35.804 7718
+-88.562 35.804 7659
+-88.436 35.804 7637
+-88.31 35.804 7648
+-88.184 35.804 7559
+-88.058 35.804 7504
+-87.932 35.804 7485
+-87.806 35.804 7388
+-87.68 35.804 7373
+-87.554 35.804 7286
+-87.428 35.804 7174
+-87.302 35.804 7056
+-87.176 35.804 6982
+-87.05 35.804 6937
+-86.924 35.804 6831
+-86.798 35.804 6715
+-86.672 35.804 6560
+-86.546 35.804 6503
+-86.42 35.804 6353
+-86.294 35.804 6272
+-86.168 35.804 6139
+-86.042 35.804 6000
+-85.916 35.804 5912
+-85.79 35.804 5801
+-85.664 35.804 5703
+-85.538 35.804 5586
+-85.412 35.804 5411
+-85.286 35.804 5400
+-85.16 35.804 5246
+-85.034 35.804 5134
+-84.908 35.804 5076
+-84.782 35.804 4944
+-84.656 35.804 4786
+-84.53 35.804 4554
+-84.404 35.804 4441
+-84.278 35.804 4281
+-84.152 35.804 4103
+-84.026 35.804 3998
+-83.9 35.804 3968
+-83.774 35.804 3914
+-83.648 35.804 3826
+-83.522 35.804 3698
+-83.396 35.804 3489
+-83.27 35.804 3381
+-83.144 35.804 3393
+-83.018 35.804 3404
+-82.892 35.804 3369
+-82.766 35.804 3307
+-82.64 35.804 3215
+-82.514 35.804 3101
+-82.388 35.804 2943
+-82.262 35.804 2717
+-82.136 35.804 2482
+-82.01 35.804 2274
+-81.884 35.804 2172
+-81.758 35.804 2197
+-81.632 35.804 2299
+-81.506 35.804 2418
+-81.38 35.804 2529
+-81.254 35.804 2580
+-81.128 35.804 2654
+-81.002 35.804 2652
+-80.876 35.804 2702
+-80.75 35.804 2744
+-80.624 35.804 2771
+-80.498 35.804 2800
+-80.372 35.804 2818
+-80.246 35.804 2840
+-80.12 35.804 2858
+-79.994 35.804 2846
+-79.868 35.804 2857
+-79.742 35.804 2865
+-79.616 35.804 2872
+-79.49 35.804 2877
+-79.364 35.804 2882
+-79.238 35.804 2885
+-79.112 35.804 2772
+-78.986 35.804 2754
+-78.86 35.804 2745
+-78.734 35.804 2747
+-78.608 35.804 2694
+-78.482 35.804 2696
+-78.356 35.804 2697
+-78.23 35.804 2713
+-78.104 35.804 2633
+-77.978 35.804 2654
+-77.852 35.804 2556
+-77.726 35.804 2573
+-77.6 35.804 2555
+-77.474 35.804 2543
+-77.348 35.804 2555
+-77.222 35.804 2560
+-77.096 35.804 2539
+-76.97 35.804 2545
+-76.844 35.804 2550
+-76.718 35.804 2556
+-76.592 35.804 2572
+-76.466 35.804 2589
+-76.34 35.804 2616
+-76.214 35.804 2648
+-76.088 35.804 2667
+-75.962 35.804 2675
+-75.836 35.804 2734
+-75.71 35.804 2760
+-75.584 35.804 2751
+-75.458 35.804 2751
+-75.332 35.804 2883
+-75.206 35.804 2891
+-75.08 35.804 2944
+-74.954 35.804 2952
+-74.828 35.804 2959
+-74.702 35.804 2966
+-74.576 35.804 2973
+-74.45 35.804 2915
+-74.324 35.804 2937
+-74.198 35.804 2943
+-74.072 35.804 2941
+-73.946 35.804 3214
+-73.82 35.804 3242
+-73.694 35.804 3247
+-73.568 35.804 3248
+-73.442 35.804 3253
+-73.316 35.804 3260
+-73.19 35.804 3276
+-73.064 35.804 3281
+-72.938 35.804 3275
+-72.812 35.804 3279
+-72.686 35.804 3239
+-72.56 35.804 3242
+-72.434 35.804 3246
+-72.308 35.804 3306
+-72.182 35.804 3304
+-72.056 35.804 3315
+-71.93 35.804 3319
+-71.804 35.804 3303
+-71.678 35.804 3325
+-71.552 35.804 3370
+-71.426 35.804 3382
+-71.3 35.804 3383
+-71.174 35.804 3384
+-71.048 35.804 3434
+-70.922 35.804 3438
+-70.796 35.804 3382
+-70.67 35.804 3405
+-70.544 35.804 3401
+-70.418 35.804 3324
+-70.292 35.804 3244
+-70.166 35.804 3266
+-70.04 35.804 3268
+-69.914 35.804 3300
+-69.788 35.804 3276
+-69.662 35.804 3288
+-69.536 35.804 3291
+-69.41 35.804 3272
+-69.284 35.804 3275
+-69.158 35.804 3277
+-69.032 35.804 3255
+-68.906 35.804 3238
+-68.78 35.804 3272
+-68.654 35.804 3268
+-68.528 35.804 3270
+-68.402 35.804 3272
+-68.276 35.804 3194
+-68.15 35.804 3234
+-68.024 35.804 3231
+-67.898 35.804 3233
+-67.772 35.804 3235
+-67.646 35.804 3466
+-67.52 35.804 3388
+-67.394 35.804 3402
+-67.268 35.804 3403
+-67.142 35.804 3299
+-67.016 35.804 3285
+-66.89 35.804 3286
+-66.764 35.804 3287
+-66.638 35.804 3265
+-66.512 35.804 3266
+-66.386 35.804 3266
+-66.26 35.804 3267
+-66.134 35.804 3268
+-66.008 35.804 3293
+-65.882 35.804 3294
+-65.756 35.804 3279
+-65.63 35.804 3280
+-65.504 35.804 3281
+-65.378 35.804 3219
+-65.252 35.804 3406
+-65.126 35.804 3363
+-128 35.752 2929
+-127.874 35.752 3027
+-127.748 35.752 3016
+-127.622 35.752 3004
+-127.496 35.752 2992
+-127.37 35.752 2979
+-127.244 35.752 2964
+-127.118 35.752 2949
+-126.992 35.752 2932
+-126.866 35.752 2915
+-126.74 35.752 2895
+-126.614 35.752 2874
+-126.488 35.752 2852
+-126.362 35.752 2827
+-126.236 35.752 2799
+-126.11 35.752 2769
+-125.984 35.752 2736
+-125.858 35.752 2700
+-125.732 35.752 2694
+-125.606 35.752 2650
+-125.48 35.752 2602
+-125.354 35.752 2551
+-125.228 35.752 2496
+-125.102 35.752 2441
+-124.976 35.752 2391
+-124.85 35.752 2370
+-124.724 35.752 2345
+-124.598 35.752 2364
+-124.472 35.752 2364
+-124.346 35.752 2343
+-124.22 35.752 2265
+-124.094 35.752 2138
+-123.968 35.752 2062
+-123.842 35.752 2171
+-123.716 35.752 2454
+-123.59 35.752 2781
+-123.464 35.752 3083
+-123.338 35.752 3304
+-123.212 35.752 3480
+-123.086 35.752 3641
+-122.96 35.752 3745
+-122.834 35.752 3823
+-122.708 35.752 3800
+-122.582 35.752 3740
+-122.456 35.752 3659
+-122.33 35.752 3812
+-122.204 35.752 4048
+-122.078 35.752 4209
+-121.952 35.752 4282
+-121.826 35.752 4367
+-121.7 35.752 4602
+-121.574 35.752 4869
+-121.448 35.752 5104
+-121.322 35.752 5149
+-121.196 35.752 5151
+-121.07 35.752 5037
+-120.944 35.752 5273
+-120.818 35.752 5404
+-120.692 35.752 5507
+-120.566 35.752 5662
+-120.44 35.752 5727
+-120.314 35.752 5837
+-120.188 35.752 5959
+-120.062 35.752 6056
+-119.936 35.752 6153
+-119.81 35.752 6313
+-119.684 35.752 6384
+-119.558 35.752 6559
+-119.432 35.752 6652
+-119.306 35.752 6719
+-119.18 35.752 6841
+-119.054 35.752 6979
+-118.928 35.752 7058
+-118.802 35.752 7141
+-118.676 35.752 7239
+-118.55 35.752 7353
+-118.424 35.752 7424
+-118.298 35.752 7534
+-118.172 35.752 7569
+-118.046 35.752 7634
+-117.92 35.752 7650
+-117.794 35.752 7708
+-117.668 35.752 7775
+-117.542 35.752 7772
+-117.416 35.752 7815
+-117.29 35.752 7791
+-117.164 35.752 7799
+-117.038 35.752 7764
+-116.912 35.752 7754
+-116.786 35.752 7670
+-116.66 35.752 7642
+-116.534 35.752 7617
+-116.408 35.752 7534
+-116.282 35.752 7445
+-116.156 35.752 7390
+-116.03 35.752 7293
+-115.904 35.752 7181
+-115.778 35.752 7111
+-115.652 35.752 7018
+-115.526 35.752 6939
+-115.4 35.752 6835
+-115.274 35.752 6723
+-115.148 35.752 6549
+-115.022 35.752 6472
+-114.896 35.752 6346
+-114.77 35.752 6255
+-114.644 35.752 6128
+-114.518 35.752 6006
+-114.392 35.752 5909
+-114.266 35.752 5710
+-114.14 35.752 5641
+-114.014 35.752 5500
+-113.888 35.752 5417
+-113.762 35.752 5312
+-113.636 35.752 5175
+-113.51 35.752 5013
+-113.384 35.752 4843
+-113.258 35.752 4782
+-113.132 35.752 4658
+-113.006 35.752 4547
+-112.88 35.752 4455
+-112.754 35.752 4402
+-112.628 35.752 4418
+-112.502 35.752 4453
+-112.376 35.752 4509
+-112.25 35.752 4564
+-112.124 35.752 4602
+-111.998 35.752 4636
+-111.872 35.752 4663
+-111.746 35.752 4710
+-111.62 35.752 4792
+-111.494 35.752 4789
+-111.368 35.752 4839
+-111.242 35.752 4883
+-111.116 35.752 4916
+-110.99 35.752 4931
+-110.864 35.752 4956
+-110.738 35.752 4984
+-110.612 35.752 4997
+-110.486 35.752 5003
+-110.36 35.752 4989
+-110.234 35.752 4983
+-110.108 35.752 4993
+-109.982 35.752 5007
+-109.856 35.752 5005
+-109.73 35.752 4966
+-109.604 35.752 4904
+-109.478 35.752 4863
+-109.352 35.752 4833
+-109.226 35.752 4794
+-109.1 35.752 4752
+-108.974 35.752 4711
+-108.848 35.752 4716
+-108.722 35.752 4692
+-108.596 35.752 4657
+-108.47 35.752 4613
+-108.344 35.752 4560
+-108.218 35.752 4486
+-108.092 35.752 4424
+-107.966 35.752 4348
+-107.84 35.752 4258
+-107.714 35.752 4176
+-107.588 35.752 4130
+-107.462 35.752 4060
+-107.336 35.752 3992
+-107.21 35.752 3899
+-107.084 35.752 3807
+-106.958 35.752 3738
+-106.832 35.752 3641
+-106.706 35.752 3487
+-106.58 35.752 3358
+-106.454 35.752 3221
+-106.328 35.752 3120
+-106.202 35.752 3068
+-106.076 35.752 3029
+-105.95 35.752 2976
+-105.824 35.752 2933
+-105.698 35.752 2961
+-105.572 35.752 3023
+-105.446 35.752 3081
+-105.32 35.752 3105
+-105.194 35.752 3150
+-105.068 35.752 3183
+-104.942 35.752 3211
+-104.816 35.752 3220
+-104.69 35.752 3254
+-104.564 35.752 3215
+-104.438 35.752 3233
+-104.312 35.752 3235
+-104.186 35.752 3246
+-104.06 35.752 3256
+-103.934 35.752 3266
+-103.808 35.752 3274
+-103.682 35.752 3282
+-103.556 35.752 3289
+-103.43 35.752 3295
+-103.304 35.752 3301
+-103.178 35.752 3307
+-103.052 35.752 3331
+-102.926 35.752 3334
+-102.8 35.752 3329
+-102.674 35.752 3335
+-102.548 35.752 3340
+-102.422 35.752 3345
+-102.296 35.752 3350
+-102.17 35.752 3352
+-102.044 35.752 3343
+-101.918 35.752 3379
+-101.792 35.752 3254
+-101.666 35.752 3173
+-101.54 35.752 3164
+-101.414 35.752 3082
+-101.288 35.752 2963
+-101.162 35.752 2919
+-101.036 35.752 2931
+-100.91 35.752 2897
+-100.784 35.752 2957
+-100.658 35.752 2937
+-100.532 35.752 2979
+-100.406 35.752 3105
+-100.28 35.752 3068
+-100.154 35.752 3058
+-100.028 35.752 3102
+-99.902 35.752 3092
+-99.776 35.752 3081
+-99.65 35.752 3068
+-99.524 35.752 3055
+-99.398 35.752 3040
+-99.272 35.752 3023
+-99.146 35.752 3005
+-99.02 35.752 2985
+-98.894 35.752 3014
+-98.768 35.752 3030
+-98.642 35.752 3001
+-98.516 35.752 2967
+-98.39 35.752 2950
+-98.264 35.752 2903
+-98.138 35.752 2847
+-98.012 35.752 2793
+-97.886 35.752 2727
+-97.76 35.752 2627
+-97.634 35.752 2504
+-97.508 35.752 2354
+-97.382 35.752 2197
+-97.256 35.752 1998
+-97.13 35.752 1819
+-97.004 35.752 1746
+-96.878 35.752 1870
+-96.752 35.752 2167
+-96.626 35.752 2474
+-96.5 35.752 2674
+-96.374 35.752 2741
+-96.248 35.752 2686
+-96.122 35.752 2652
+-95.996 35.752 2779
+-95.87 35.752 3024
+-95.744 35.752 3224
+-95.618 35.752 3268
+-95.492 35.752 3272
+-95.366 35.752 3379
+-95.24 35.752 3531
+-95.114 35.752 3619
+-94.988 35.752 3690
+-94.862 35.752 3813
+-94.736 35.752 3933
+-94.61 35.752 4031
+-94.484 35.752 4029
+-94.358 35.752 4139
+-94.232 35.752 4189
+-94.106 35.752 4335
+-93.98 35.752 4388
+-93.854 35.752 4539
+-93.728 35.752 4689
+-93.602 35.752 4713
+-93.476 35.752 4820
+-93.35 35.752 4967
+-93.224 35.752 4991
+-93.098 35.752 5093
+-92.972 35.752 5198
+-92.846 35.752 5255
+-92.72 35.752 5338
+-92.594 35.752 5456
+-92.468 35.752 5515
+-92.342 35.752 5592
+-92.216 35.752 5646
+-92.09 35.752 5712
+-91.964 35.752 5794
+-91.838 35.752 5848
+-91.712 35.752 5896
+-91.586 35.752 5938
+-91.46 35.752 6024
+-91.334 35.752 6227
+-91.208 35.752 6333
+-91.082 35.752 6477
+-90.956 35.752 6596
+-90.83 35.752 6631
+-90.704 35.752 6772
+-90.578 35.752 6918
+-90.452 35.752 7009
+-90.326 35.752 7046
+-90.2 35.752 7144
+-90.074 35.752 7201
+-89.948 35.752 7284
+-89.822 35.752 7381
+-89.696 35.752 7461
+-89.57 35.752 7493
+-89.444 35.752 7538
+-89.318 35.752 7565
+-89.192 35.752 7612
+-89.066 35.752 7632
+-88.94 35.752 7630
+-88.814 35.752 7629
+-88.688 35.752 7600
+-88.562 35.752 7603
+-88.436 35.752 7607
+-88.31 35.752 7561
+-88.184 35.752 7506
+-88.058 35.752 7465
+-87.932 35.752 7415
+-87.806 35.752 7327
+-87.68 35.752 7237
+-87.554 35.752 7221
+-87.428 35.752 7116
+-87.302 35.752 7058
+-87.176 35.752 6987
+-87.05 35.752 6837
+-86.924 35.752 6797
+-86.798 35.752 6687
+-86.672 35.752 6574
+-86.546 35.752 6455
+-86.42 35.752 6338
+-86.294 35.752 6213
+-86.168 35.752 6057
+-86.042 35.752 5989
+-85.916 35.752 5870
+-85.79 35.752 5789
+-85.664 35.752 5679
+-85.538 35.752 5589
+-85.412 35.752 5501
+-85.286 35.752 5351
+-85.16 35.752 5195
+-85.034 35.752 4976
+-84.908 35.752 4977
+-84.782 35.752 4917
+-84.656 35.752 4742
+-84.53 35.752 4535
+-84.404 35.752 4420
+-84.278 35.752 4291
+-84.152 35.752 4066
+-84.026 35.752 3941
+-83.9 35.752 3968
+-83.774 35.752 3941
+-83.648 35.752 3870
+-83.522 35.752 3754
+-83.396 35.752 3569
+-83.27 35.752 3484
+-83.144 35.752 3439
+-83.018 35.752 3390
+-82.892 35.752 3335
+-82.766 35.752 3266
+-82.64 35.752 3189
+-82.514 35.752 3082
+-82.388 35.752 2954
+-82.262 35.752 2794
+-82.136 35.752 2607
+-82.01 35.752 2462
+-81.884 35.752 2379
+-81.758 35.752 2368
+-81.632 35.752 2411
+-81.506 35.752 2480
+-81.38 35.752 2517
+-81.254 35.752 2585
+-81.128 35.752 2648
+-81.002 35.752 2643
+-80.876 35.752 2688
+-80.75 35.752 2729
+-80.624 35.752 2764
+-80.498 35.752 2785
+-80.372 35.752 2810
+-80.246 35.752 2822
+-80.12 35.752 2814
+-79.994 35.752 2828
+-79.868 35.752 2838
+-79.742 35.752 2846
+-79.616 35.752 2853
+-79.49 35.752 2857
+-79.364 35.752 2861
+-79.238 35.752 2864
+-79.112 35.752 2866
+-78.986 35.752 2730
+-78.86 35.752 2721
+-78.734 35.752 2671
+-78.608 35.752 2672
+-78.482 35.752 2673
+-78.356 35.752 2689
+-78.23 35.752 2703
+-78.104 35.752 2631
+-77.978 35.752 2654
+-77.852 35.752 2552
+-77.726 35.752 2550
+-77.6 35.752 2527
+-77.474 35.752 2538
+-77.348 35.752 2544
+-77.222 35.752 2523
+-77.096 35.752 2529
+-76.97 35.752 2536
+-76.844 35.752 2542
+-76.718 35.752 2558
+-76.592 35.752 2588
+-76.466 35.752 2627
+-76.34 35.752 2637
+-76.214 35.752 2657
+-76.088 35.752 2665
+-75.962 35.752 2724
+-75.836 35.752 2751
+-75.71 35.752 2743
+-75.584 35.752 2743
+-75.458 35.752 2875
+-75.332 35.752 2883
+-75.206 35.752 2936
+-75.08 35.752 2944
+-74.954 35.752 2952
+-74.828 35.752 2959
+-74.702 35.752 2967
+-74.576 35.752 2910
+-74.45 35.752 2932
+-74.324 35.752 2939
+-74.198 35.752 2937
+-74.072 35.752 3208
+-73.946 35.752 3236
+-73.82 35.752 3241
+-73.694 35.752 3242
+-73.568 35.752 3247
+-73.442 35.752 3255
+-73.316 35.752 3271
+-73.19 35.752 3276
+-73.064 35.752 3270
+-72.938 35.752 3274
+-72.812 35.752 3235
+-72.686 35.752 3238
+-72.56 35.752 3242
+-72.434 35.752 3302
+-72.308 35.752 3301
+-72.182 35.752 3312
+-72.056 35.752 3315
+-71.93 35.752 3300
+-71.804 35.752 3322
+-71.678 35.752 3366
+-71.552 35.752 3378
+-71.426 35.752 3380
+-71.3 35.752 3381
+-71.174 35.752 3431
+-71.048 35.752 3434
+-70.922 35.752 3380
+-70.796 35.752 3402
+-70.67 35.752 3399
+-70.544 35.752 3325
+-70.418 35.752 3242
+-70.292 35.752 3264
+-70.166 35.752 3266
+-70.04 35.752 3298
+-69.914 35.752 3274
+-69.788 35.752 3286
+-69.662 35.752 3289
+-69.536 35.752 3271
+-69.41 35.752 3273
+-69.284 35.752 3275
+-69.158 35.752 3253
+-69.032 35.752 3237
+-68.906 35.752 3271
+-68.78 35.752 3266
+-68.654 35.752 3269
+-68.528 35.752 3271
+-68.402 35.752 3193
+-68.276 35.752 3233
+-68.15 35.752 3230
+-68.024 35.752 3232
+-67.898 35.752 3234
+-67.772 35.752 3465
+-67.646 35.752 3391
+-67.52 35.752 3401
+-67.394 35.752 3402
+-67.268 35.752 3298
+-67.142 35.752 3285
+-67.016 35.752 3285
+-66.89 35.752 3286
+-66.764 35.752 3264
+-66.638 35.752 3265
+-66.512 35.752 3266
+-66.386 35.752 3266
+-66.26 35.752 3267
+-66.134 35.752 3292
+-66.008 35.752 3293
+-65.882 35.752 3278
+-65.756 35.752 3279
+-65.63 35.752 3280
+-65.504 35.752 3218
+-65.378 35.752 3405
+-65.252 35.752 3363
+-65.126 35.752 3363
+-128 35.7 2932
+-127.874 35.7 2923
+-127.748 35.7 3021
+-127.622 35.7 3009
+-127.496 35.7 2997
+-127.37 35.7 2984
+-127.244 35.7 2971
+-127.118 35.7 2956
+-126.992 35.7 2940
+-126.866 35.7 2923
+-126.74 35.7 2905
+-126.614 35.7 2885
+-126.488 35.7 2864
+-126.362 35.7 2841
+-126.236 35.7 2815
+-126.11 35.7 2788
+-125.984 35.7 2759
+-125.858 35.7 2727
+-125.732 35.7 2692
+-125.606 35.7 2688
+-125.48 35.7 2650
+-125.354 35.7 2609
+-125.228 35.7 2568
+-125.102 35.7 2529
+-124.976 35.7 2518
+-124.85 35.7 2489
+-124.724 35.7 2469
+-124.598 35.7 2456
+-124.472 35.7 2461
+-124.346 35.7 2417
+-124.22 35.7 2330
+-124.094 35.7 2214
+-123.968 35.7 2158
+-123.842 35.7 2270
+-123.716 35.7 2540
+-123.59 35.7 2850
+-123.464 35.7 3112
+-123.338 35.7 3329
+-123.212 35.7 3483
+-123.086 35.7 3600
+-122.96 35.7 3755
+-122.834 35.7 3793
+-122.708 35.7 3791
+-122.582 35.7 3770
+-122.456 35.7 3773
+-122.33 35.7 3869
+-122.204 35.7 4042
+-122.078 35.7 4220
+-121.952 35.7 4264
+-121.826 35.7 4366
+-121.7 35.7 4593
+-121.574 35.7 4925
+-121.448 35.7 5104
+-121.322 35.7 5169
+-121.196 35.7 5206
+-121.07 35.7 5227
+-120.944 35.7 5322
+-120.818 35.7 5355
+-120.692 35.7 5544
+-120.566 35.7 5678
+-120.44 35.7 5790
+-120.314 35.7 5908
+-120.188 35.7 5983
+-120.062 35.7 6157
+-119.936 35.7 6163
+-119.81 35.7 6318
+-119.684 35.7 6486
+-119.558 35.7 6608
+-119.432 35.7 6704
+-119.306 35.7 6779
+-119.18 35.7 6905
+-119.054 35.7 6989
+-118.928 35.7 7083
+-118.802 35.7 7208
+-118.676 35.7 7300
+-118.55 35.7 7417
+-118.424 35.7 7490
+-118.298 35.7 7577
+-118.172 35.7 7630
+-118.046 35.7 7699
+-117.92 35.7 7727
+-117.794 35.7 7807
+-117.668 35.7 7820
+-117.542 35.7 7827
+-117.416 35.7 7852
+-117.29 35.7 7861
+-117.164 35.7 7861
+-117.038 35.7 7825
+-116.912 35.7 7796
+-116.786 35.7 7778
+-116.66 35.7 7702
+-116.534 35.7 7619
+-116.408 35.7 7599
+-116.282 35.7 7563
+-116.156 35.7 7427
+-116.03 35.7 7360
+-115.904 35.7 7270
+-115.778 35.7 7147
+-115.652 35.7 7053
+-115.526 35.7 7009
+-115.4 35.7 6840
+-115.274 35.7 6690
+-115.148 35.7 6599
+-115.022 35.7 6530
+-114.896 35.7 6431
+-114.77 35.7 6244
+-114.644 35.7 6160
+-114.518 35.7 6114
+-114.392 35.7 5972
+-114.266 35.7 5802
+-114.14 35.7 5682
+-114.014 35.7 5557
+-113.888 35.7 5455
+-113.762 35.7 5329
+-113.636 35.7 5175
+-113.51 35.7 5057
+-113.384 35.7 4897
+-113.258 35.7 4746
+-113.132 35.7 4650
+-113.006 35.7 4543
+-112.88 35.7 4508
+-112.754 35.7 4462
+-112.628 35.7 4414
+-112.502 35.7 4489
+-112.376 35.7 4531
+-112.25 35.7 4613
+-112.124 35.7 4650
+-111.998 35.7 4674
+-111.872 35.7 4713
+-111.746 35.7 4774
+-111.62 35.7 4819
+-111.494 35.7 4872
+-111.368 35.7 4910
+-111.242 35.7 4965
+-111.116 35.7 5005
+-110.99 35.7 5012
+-110.864 35.7 5033
+-110.738 35.7 5057
+-110.612 35.7 5072
+-110.486 35.7 5049
+-110.36 35.7 5032
+-110.234 35.7 5025
+-110.108 35.7 5035
+-109.982 35.7 5043
+-109.856 35.7 5046
+-109.73 35.7 5026
+-109.604 35.7 4970
+-109.478 35.7 4932
+-109.352 35.7 4892
+-109.226 35.7 4872
+-109.1 35.7 4818
+-108.974 35.7 4788
+-108.848 35.7 4753
+-108.722 35.7 4675
+-108.596 35.7 4680
+-108.47 35.7 4626
+-108.344 35.7 4588
+-108.218 35.7 4524
+-108.092 35.7 4455
+-107.966 35.7 4407
+-107.84 35.7 4326
+-107.714 35.7 4224
+-107.588 35.7 4156
+-107.462 35.7 4130
+-107.336 35.7 4064
+-107.21 35.7 3991
+-107.084 35.7 3900
+-106.958 35.7 3786
+-106.832 35.7 3679
+-106.706 35.7 3555
+-106.58 35.7 3376
+-106.454 35.7 3260
+-106.328 35.7 3165
+-106.202 35.7 3087
+-106.076 35.7 3008
+-105.95 35.7 2963
+-105.824 35.7 2841
+-105.698 35.7 2923
+-105.572 35.7 3015
+-105.446 35.7 3085
+-105.32 35.7 3141
+-105.194 35.7 3187
+-105.068 35.7 3227
+-104.942 35.7 3210
+-104.816 35.7 3248
+-104.69 35.7 3266
+-104.564 35.7 3277
+-104.438 35.7 3301
+-104.312 35.7 3253
+-104.186 35.7 3264
+-104.06 35.7 3274
+-103.934 35.7 3283
+-103.808 35.7 3291
+-103.682 35.7 3298
+-103.556 35.7 3304
+-103.43 35.7 3310
+-103.304 35.7 3315
+-103.178 35.7 3339
+-103.052 35.7 3343
+-102.926 35.7 3337
+-102.8 35.7 3343
+-102.674 35.7 3348
+-102.548 35.7 3353
+-102.422 35.7 3357
+-102.296 35.7 3359
+-102.17 35.7 3350
+-102.044 35.7 3385
+-101.918 35.7 3391
+-101.792 35.7 3266
+-101.666 35.7 3185
+-101.54 35.7 3175
+-101.414 35.7 3092
+-101.288 35.7 2971
+-101.162 35.7 2953
+-101.036 35.7 2937
+-100.91 35.7 2902
+-100.784 35.7 2959
+-100.658 35.7 2954
+-100.532 35.7 2976
+-100.406 35.7 3048
+-100.28 35.7 3065
+-100.154 35.7 3110
+-100.028 35.7 3100
+-99.902 35.7 3089
+-99.776 35.7 3078
+-99.65 35.7 3065
+-99.524 35.7 3051
+-99.398 35.7 3036
+-99.272 35.7 3019
+-99.146 35.7 3001
+-99.02 35.7 3032
+-98.894 35.7 3052
+-98.768 35.7 3025
+-98.642 35.7 2995
+-98.516 35.7 2984
+-98.39 35.7 2942
+-98.264 35.7 2893
+-98.138 35.7 2848
+-98.012 35.7 2795
+-97.886 35.7 2710
+-97.76 35.7 2605
+-97.634 35.7 2477
+-97.508 35.7 2343
+-97.382 35.7 2151
+-97.256 35.7 1935
+-97.13 35.7 1732
+-97.004 35.7 1635
+-96.878 35.7 1758
+-96.752 35.7 2078
+-96.626 35.7 2426
+-96.5 35.7 2676
+-96.374 35.7 2784
+-96.248 35.7 2826
+-96.122 35.7 2849
+-95.996 35.7 2955
+-95.87 35.7 3138
+-95.744 35.7 3270
+-95.618 35.7 3339
+-95.492 35.7 3411
+-95.366 35.7 3479
+-95.24 35.7 3558
+-95.114 35.7 3568
+-94.988 35.7 3568
+-94.862 35.7 3691
+-94.736 35.7 3866
+-94.61 35.7 4004
+-94.484 35.7 4061
+-94.358 35.7 4046
+-94.232 35.7 4194
+-94.106 35.7 4324
+-93.98 35.7 4378
+-93.854 35.7 4507
+-93.728 35.7 4664
+-93.602 35.7 4750
+-93.476 35.7 4830
+-93.35 35.7 4946
+-93.224 35.7 4992
+-93.098 35.7 5050
+-92.972 35.7 5164
+-92.846 35.7 5230
+-92.72 35.7 5303
+-92.594 35.7 5408
+-92.468 35.7 5467
+-92.342 35.7 5535
+-92.216 35.7 5558
+-92.09 35.7 5641
+-91.964 35.7 5729
+-91.838 35.7 5761
+-91.712 35.7 5828
+-91.586 35.7 5925
+-91.46 35.7 5932
+-91.334 35.7 6121
+-91.208 35.7 6327
+-91.082 35.7 6456
+-90.956 35.7 6537
+-90.83 35.7 6675
+-90.704 35.7 6698
+-90.578 35.7 6850
+-90.452 35.7 6932
+-90.326 35.7 7023
+-90.2 35.7 7104
+-90.074 35.7 7182
+-89.948 35.7 7236
+-89.822 35.7 7336
+-89.696 35.7 7391
+-89.57 35.7 7448
+-89.444 35.7 7476
+-89.318 35.7 7472
+-89.192 35.7 7532
+-89.066 35.7 7551
+-88.94 35.7 7564
+-88.814 35.7 7574
+-88.688 35.7 7555
+-88.562 35.7 7555
+-88.436 35.7 7526
+-88.31 35.7 7509
+-88.184 35.7 7457
+-88.058 35.7 7426
+-87.932 35.7 7394
+-87.806 35.7 7292
+-87.68 35.7 7202
+-87.554 35.7 7173
+-87.428 35.7 7126
+-87.302 35.7 7052
+-87.176 35.7 6944
+-87.05 35.7 6808
+-86.924 35.7 6757
+-86.798 35.7 6597
+-86.672 35.7 6463
+-86.546 35.7 6371
+-86.42 35.7 6244
+-86.294 35.7 6153
+-86.168 35.7 6049
+-86.042 35.7 5938
+-85.916 35.7 5828
+-85.79 35.7 5750
+-85.664 35.7 5632
+-85.538 35.7 5452
+-85.412 35.7 5480
+-85.286 35.7 5369
+-85.16 35.7 5204
+-85.034 35.7 5048
+-84.908 35.7 4849
+-84.782 35.7 4878
+-84.656 35.7 4725
+-84.53 35.7 4493
+-84.404 35.7 4426
+-84.278 35.7 4323
+-84.152 35.7 4115
+-84.026 35.7 4004
+-83.9 35.7 3988
+-83.774 35.7 3961
+-83.648 35.7 3888
+-83.522 35.7 3799
+-83.396 35.7 3620
+-83.27 35.7 3519
+-83.144 35.7 3426
+-83.018 35.7 3333
+-82.892 35.7 3246
+-82.766 35.7 3192
+-82.64 35.7 3137
+-82.514 35.7 3063
+-82.388 35.7 2935
+-82.262 35.7 2804
+-82.136 35.7 2667
+-82.01 35.7 2536
+-81.884 35.7 2463
+-81.758 35.7 2437
+-81.632 35.7 2452
+-81.506 35.7 2458
+-81.38 35.7 2510
+-81.254 35.7 2566
+-81.128 35.7 2622
+-81.002 35.7 2675
+-80.876 35.7 2677
+-80.75 35.7 2705
+-80.624 35.7 2750
+-80.498 35.7 2780
+-80.372 35.7 2777
+-80.246 35.7 2781
+-80.12 35.7 2797
+-79.994 35.7 2810
+-79.868 35.7 2819
+-79.742 35.7 2827
+-79.616 35.7 2832
+-79.49 35.7 2836
+-79.364 35.7 2839
+-79.238 35.7 2841
+-79.112 35.7 2785
+-78.986 35.7 2680
+-78.86 35.7 2680
+-78.734 35.7 2646
+-78.608 35.7 2648
+-78.482 35.7 2664
+-78.356 35.7 2684
+-78.23 35.7 2607
+-78.104 35.7 2630
+-77.978 35.7 2604
+-77.852 35.7 2531
+-77.726 35.7 2509
+-77.6 35.7 2515
+-77.474 35.7 2538
+-77.348 35.7 2544
+-77.222 35.7 2513
+-77.096 35.7 2520
+-76.97 35.7 2527
+-76.844 35.7 2544
+-76.718 35.7 2575
+-76.592 35.7 2615
+-76.466 35.7 2626
+-76.34 35.7 2660
+-76.214 35.7 2668
+-76.088 35.7 2715
+-75.962 35.7 2742
+-75.836 35.7 2735
+-75.71 35.7 2774
+-75.584 35.7 2867
+-75.458 35.7 2875
+-75.332 35.7 2928
+-75.206 35.7 2936
+-75.08 35.7 2945
+-74.954 35.7 2952
+-74.828 35.7 2960
+-74.702 35.7 2905
+-74.576 35.7 2927
+-74.45 35.7 2934
+-74.324 35.7 2933
+-74.198 35.7 3201
+-74.072 35.7 3229
+-73.946 35.7 3235
+-73.82 35.7 3236
+-73.694 35.7 3241
+-73.568 35.7 3249
+-73.442 35.7 3266
+-73.316 35.7 3270
+-73.19 35.7 3265
+-73.064 35.7 3269
+-72.938 35.7 3231
+-72.812 35.7 3234
+-72.686 35.7 3238
+-72.56 35.7 3298
+-72.434 35.7 3297
+-72.308 35.7 3308
+-72.182 35.7 3312
+-72.056 35.7 3296
+-71.93 35.7 3318
+-71.804 35.7 3363
+-71.678 35.7 3375
+-71.552 35.7 3377
+-71.426 35.7 3378
+-71.3 35.7 3427
+-71.174 35.7 3431
+-71.048 35.7 3377
+-70.922 35.7 3399
+-70.796 35.7 3396
+-70.67 35.7 3319
+-70.544 35.7 3240
+-70.418 35.7 3262
+-70.292 35.7 3264
+-70.166 35.7 3296
+-70.04 35.7 3272
+-69.914 35.7 3284
+-69.788 35.7 3287
+-69.662 35.7 3269
+-69.536 35.7 3271
+-69.41 35.7 3274
+-69.284 35.7 3252
+-69.158 35.7 3235
+-69.032 35.7 3269
+-68.906 35.7 3265
+-68.78 35.7 3267
+-68.654 35.7 3270
+-68.528 35.7 3192
+-68.402 35.7 3232
+-68.276 35.7 3228
+-68.15 35.7 3230
+-68.024 35.7 3233
+-67.898 35.7 3464
+-67.772 35.7 3386
+-67.646 35.7 3400
+-67.52 35.7 3401
+-67.394 35.7 3297
+-67.268 35.7 3284
+-67.142 35.7 3285
+-67.016 35.7 3285
+-66.89 35.7 3263
+-66.764 35.7 3264
+-66.638 35.7 3265
+-66.512 35.7 3266
+-66.386 35.7 3266
+-66.26 35.7 3292
+-66.134 35.7 3293
+-66.008 35.7 3277
+-65.882 35.7 3278
+-65.756 35.7 3279
+-65.63 35.7 3217
+-65.504 35.7 3404
+-65.378 35.7 3362
+-65.252 35.7 3363
+-65.126 35.7 3332
+-128 35.648 2936
+-127.874 35.648 2927
+-127.748 35.648 2918
+-127.622 35.648 3015
+-127.496 35.648 3003
+-127.37 35.648 2991
+-127.244 35.648 2977
+-127.118 35.648 2963
+-126.992 35.648 2948
+-126.866 35.648 2932
+-126.74 35.648 2915
+-126.614 35.648 2896
+-126.488 35.648 2876
+-126.362 35.648 2855
+-126.236 35.648 2832
+-126.11 35.648 2807
+-125.984 35.648 2781
+-125.858 35.648 2753
+-125.732 35.648 2723
+-125.606 35.648 2692
+-125.48 35.648 2693
+-125.354 35.648 2661
+-125.228 35.648 2630
+-125.102 35.648 2629
+-124.976 35.648 2603
+-124.85 35.648 2581
+-124.724 35.648 2564
+-124.598 35.648 2549
+-124.472 35.648 2528
+-124.346 35.648 2517
+-124.22 35.648 2456
+-124.094 35.648 2389
+-123.968 35.648 2384
+-123.842 35.648 2486
+-123.716 35.648 2708
+-123.59 35.648 2949
+-123.464 35.648 3177
+-123.338 35.648 3354
+-123.212 35.648 3505
+-123.086 35.648 3605
+-122.96 35.648 3751
+-122.834 35.648 3775
+-122.708 35.648 3739
+-122.582 35.648 3715
+-122.456 35.648 3813
+-122.33 35.648 3887
+-122.204 35.648 4005
+-122.078 35.648 4189
+-121.952 35.648 4316
+-121.826 35.648 4446
+-121.7 35.648 4670
+-121.574 35.648 4965
+-121.448 35.648 5108
+-121.322 35.648 5177
+-121.196 35.648 5225
+-121.07 35.648 5198
+-120.944 35.648 5333
+-120.818 35.648 5403
+-120.692 35.648 5520
+-120.566 35.648 5679
+-120.44 35.648 5781
+-120.314 35.648 5950
+-120.188 35.648 6060
+-120.062 35.648 6109
+-119.936 35.648 6197
+-119.81 35.648 6338
+-119.684 35.648 6520
+-119.558 35.648 6646
+-119.432 35.648 6760
+-119.306 35.648 6856
+-119.18 35.648 6906
+-119.054 35.648 7091
+-118.928 35.648 7195
+-118.802 35.648 7260
+-118.676 35.648 7362
+-118.55 35.648 7482
+-118.424 35.648 7523
+-118.298 35.648 7599
+-118.172 35.648 7673
+-118.046 35.648 7757
+-117.92 35.648 7788
+-117.794 35.648 7865
+-117.668 35.648 7877
+-117.542 35.648 7890
+-117.416 35.648 7922
+-117.29 35.648 7937
+-117.164 35.648 7914
+-117.038 35.648 7905
+-116.912 35.648 7872
+-116.786 35.648 7804
+-116.66 35.648 7805
+-116.534 35.648 7688
+-116.408 35.648 7613
+-116.282 35.648 7546
+-116.156 35.648 7439
+-116.03 35.648 7412
+-115.904 35.648 7294
+-115.778 35.648 7201
+-115.652 35.648 7096
+-115.526 35.648 6983
+-115.4 35.648 6897
+-115.274 35.648 6765
+-115.148 35.648 6619
+-115.022 35.648 6521
+-114.896 35.648 6437
+-114.77 35.648 6270
+-114.644 35.648 6228
+-114.518 35.648 6137
+-114.392 35.648 6010
+-114.266 35.648 5844
+-114.14 35.648 5685
+-114.014 35.648 5615
+-113.888 35.648 5456
+-113.762 35.648 5326
+-113.636 35.648 5165
+-113.51 35.648 5033
+-113.384 35.648 4966
+-113.258 35.648 4806
+-113.132 35.648 4687
+-113.006 35.648 4584
+-112.88 35.648 4515
+-112.754 35.648 4488
+-112.628 35.648 4456
+-112.502 35.648 4521
+-112.376 35.648 4594
+-112.25 35.648 4657
+-112.124 35.648 4705
+-111.998 35.648 4726
+-111.872 35.648 4787
+-111.746 35.648 4826
+-111.62 35.648 4890
+-111.494 35.648 4947
+-111.368 35.648 4963
+-111.242 35.648 5025
+-111.116 35.648 5059
+-110.99 35.648 5053
+-110.864 35.648 5073
+-110.738 35.648 5100
+-110.612 35.648 5099
+-110.486 35.648 5093
+-110.36 35.648 5073
+-110.234 35.648 5064
+-110.108 35.648 5074
+-109.982 35.648 5066
+-109.856 35.648 5073
+-109.73 35.648 5071
+-109.604 35.648 5046
+-109.478 35.648 4993
+-109.352 35.648 4941
+-109.226 35.648 4938
+-109.1 35.648 4870
+-108.974 35.648 4847
+-108.848 35.648 4796
+-108.722 35.648 4761
+-108.596 35.648 4691
+-108.47 35.648 4579
+-108.344 35.648 4600
+-108.218 35.648 4523
+-108.092 35.648 4474
+-107.966 35.648 4439
+-107.84 35.648 4371
+-107.714 35.648 4227
+-107.588 35.648 4113
+-107.462 35.648 4122
+-107.336 35.648 4064
+-107.21 35.648 4027
+-107.084 35.648 3949
+-106.958 35.648 3840
+-106.832 35.648 3737
+-106.706 35.648 3595
+-106.58 35.648 3468
+-106.454 35.648 3328
+-106.328 35.648 3213
+-106.202 35.648 3133
+-106.076 35.648 3057
+-105.95 35.648 2988
+-105.824 35.648 2943
+-105.698 35.648 2975
+-105.572 35.648 3043
+-105.446 35.648 3106
+-105.32 35.648 3161
+-105.194 35.648 3207
+-105.068 35.648 3234
+-104.942 35.648 3259
+-104.816 35.648 3303
+-104.69 35.648 3276
+-104.564 35.648 3302
+-104.438 35.648 3320
+-104.312 35.648 3336
+-104.186 35.648 3283
+-104.06 35.648 3292
+-103.934 35.648 3301
+-103.808 35.648 3308
+-103.682 35.648 3314
+-103.556 35.648 3320
+-103.43 35.648 3325
+-103.304 35.648 3349
+-103.178 35.648 3352
+-103.052 35.648 3346
+-102.926 35.648 3352
+-102.8 35.648 3357
+-102.674 35.648 3361
+-102.548 35.648 3366
+-102.422 35.648 3367
+-102.296 35.648 3358
+-102.17 35.648 3393
+-102.044 35.648 3398
+-101.918 35.648 3403
+-101.792 35.648 3277
+-101.666 35.648 3197
+-101.54 35.648 3186
+-101.414 35.648 3103
+-101.288 35.648 3022
+-101.162 35.648 2962
+-101.036 35.648 2944
+-100.91 35.648 2920
+-100.784 35.648 2947
+-100.658 35.648 2939
+-100.532 35.648 2974
+-100.406 35.648 3045
+-100.28 35.648 3048
+-100.154 35.648 3107
+-100.028 35.648 3098
+-99.902 35.648 3087
+-99.776 35.648 3075
+-99.65 35.648 3062
+-99.524 35.648 3049
+-99.398 35.648 3033
+-99.272 35.648 3016
+-99.146 35.648 3051
+-99.02 35.648 3073
+-98.894 35.648 3050
+-98.768 35.648 3023
+-98.642 35.648 3017
+-98.516 35.648 2981
+-98.39 35.648 2939
+-98.264 35.648 2903
+-98.138 35.648 2862
+-98.012 35.648 2793
+-97.886 35.648 2709
+-97.76 35.648 2607
+-97.634 35.648 2510
+-97.508 35.648 2360
+-97.382 35.648 2185
+-97.256 35.648 1995
+-97.13 35.648 1815
+-97.004 35.648 1740
+-96.878 35.648 1857
+-96.752 35.648 2140
+-96.626 35.648 2469
+-96.5 35.648 2705
+-96.374 35.648 2870
+-96.248 35.648 2943
+-96.122 35.648 3005
+-95.996 35.648 3114
+-95.87 35.648 3226
+-95.744 35.648 3325
+-95.618 35.648 3396
+-95.492 35.648 3495
+-95.366 35.648 3548
+-95.24 35.648 3559
+-95.114 35.648 3519
+-94.988 35.648 3457
+-94.862 35.648 3588
+-94.736 35.648 3794
+-94.61 35.648 3949
+-94.484 35.648 4046
+-94.358 35.648 4033
+-94.232 35.648 4144
+-94.106 35.648 4274
+-93.98 35.648 4382
+-93.854 35.648 4507
+-93.728 35.648 4617
+-93.602 35.648 4694
+-93.476 35.648 4795
+-93.35 35.648 4886
+-93.224 35.648 4957
+-93.098 35.648 4993
+-92.972 35.648 5098
+-92.846 35.648 5210
+-92.72 35.648 5307
+-92.594 35.648 5330
+-92.468 35.648 5403
+-92.342 35.648 5469
+-92.216 35.648 5550
+-92.09 35.648 5623
+-91.964 35.648 5710
+-91.838 35.648 5718
+-91.712 35.648 5781
+-91.586 35.648 5882
+-91.46 35.648 5883
+-91.334 35.648 6101
+-91.208 35.648 6270
+-91.082 35.648 6407
+-90.956 35.648 6496
+-90.83 35.648 6554
+-90.704 35.648 6668
+-90.578 35.648 6762
+-90.452 35.648 6917
+-90.326 35.648 6914
+-90.2 35.648 7027
+-90.074 35.648 7102
+-89.948 35.648 7168
+-89.822 35.648 7258
+-89.696 35.648 7324
+-89.57 35.648 7393
+-89.444 35.648 7443
+-89.318 35.648 7451
+-89.192 35.648 7477
+-89.066 35.648 7531
+-88.94 35.648 7536
+-88.814 35.648 7507
+-88.688 35.648 7499
+-88.562 35.648 7484
+-88.436 35.648 7502
+-88.31 35.648 7473
+-88.184 35.648 7395
+-88.058 35.648 7331
+-87.932 35.648 7285
+-87.806 35.648 7239
+-87.68 35.648 7171
+-87.554 35.648 7128
+-87.428 35.648 7093
+-87.302 35.648 6993
+-87.176 35.648 6881
+-87.05 35.648 6774
+-86.924 35.648 6652
+-86.798 35.648 6490
+-86.672 35.648 6436
+-86.546 35.648 6322
+-86.42 35.648 6211
+-86.294 35.648 6173
+-86.168 35.648 6012
+-86.042 35.648 5920
+-85.916 35.648 5775
+-85.79 35.648 5725
+-85.664 35.648 5609
+-85.538 35.648 5504
+-85.412 35.648 5465
+-85.286 35.648 5374
+-85.16 35.648 5234
+-85.034 35.648 5099
+-84.908 35.648 4948
+-84.782 35.648 4856
+-84.656 35.648 4725
+-84.53 35.648 4508
+-84.404 35.648 4408
+-84.278 35.648 4258
+-84.152 35.648 4082
+-84.026 35.648 4001
+-83.9 35.648 3989
+-83.774 35.648 3959
+-83.648 35.648 3908
+-83.522 35.648 3821
+-83.396 35.648 3635
+-83.27 35.648 3505
+-83.144 35.648 3346
+-83.018 35.648 3188
+-82.892 35.648 3079
+-82.766 35.648 3057
+-82.64 35.648 3051
+-82.514 35.648 3013
+-82.388 35.648 2917
+-82.262 35.648 2775
+-82.136 35.648 2634
+-82.01 35.648 2514
+-81.884 35.648 2424
+-81.758 35.648 2399
+-81.632 35.648 2387
+-81.506 35.648 2430
+-81.38 35.648 2486
+-81.254 35.648 2547
+-81.128 35.648 2606
+-81.002 35.648 2660
+-80.876 35.648 2709
+-80.75 35.648 2706
+-80.624 35.648 2713
+-80.498 35.648 2741
+-80.372 35.648 2764
+-80.246 35.648 2782
+-80.12 35.648 2780
+-79.994 35.648 2792
+-79.868 35.648 2800
+-79.742 35.648 2807
+-79.616 35.648 2811
+-79.49 35.648 2814
+-79.364 35.648 2815
+-79.238 35.648 2761
+-79.112 35.648 2652
+-78.986 35.648 2653
+-78.86 35.648 2654
+-78.734 35.648 2643
+-78.608 35.648 2638
+-78.482 35.648 2630
+-78.356 35.648 2581
+-78.23 35.648 2606
+-78.104 35.648 2557
+-77.978 35.648 2510
+-77.852 35.648 2516
+-77.726 35.648 2514
+-77.6 35.648 2520
+-77.474 35.648 2526
+-77.348 35.648 2533
+-77.222 35.648 2515
+-77.096 35.648 2532
+-76.97 35.648 2540
+-76.844 35.648 2560
+-76.718 35.648 2623
+-76.592 35.648 2614
+-76.466 35.648 2649
+-76.34 35.648 2658
+-76.214 35.648 2704
+-76.088 35.648 2754
+-75.962 35.648 2763
+-75.836 35.648 2765
+-75.71 35.648 2858
+-75.584 35.648 2867
+-75.458 35.648 2919
+-75.332 35.648 2928
+-75.206 35.648 2937
+-75.08 35.648 2945
+-74.954 35.648 2953
+-74.828 35.648 2900
+-74.702 35.648 2922
+-74.576 35.648 2929
+-74.45 35.648 2928
+-74.324 35.648 3194
+-74.198 35.648 3222
+-74.072 35.648 3228
+-73.946 35.648 3230
+-73.82 35.648 3235
+-73.694 35.648 3243
+-73.568 35.648 3260
+-73.442 35.648 3265
+-73.316 35.648 3260
+-73.19 35.648 3265
+-73.064 35.648 3226
+-72.938 35.648 3230
+-72.812 35.648 3234
+-72.686 35.648 3294
+-72.56 35.648 3293
+-72.434 35.648 3304
+-72.308 35.648 3308
+-72.182 35.648 3293
+-72.056 35.648 3315
+-71.93 35.648 3359
+-71.804 35.648 3372
+-71.678 35.648 3374
+-71.552 35.648 3375
+-71.426 35.648 3424
+-71.3 35.648 3428
+-71.174 35.648 3374
+-71.048 35.648 3396
+-70.922 35.648 3393
+-70.796 35.648 3320
+-70.67 35.648 3238
+-70.544 35.648 3260
+-70.418 35.648 3262
+-70.292 35.648 3294
+-70.166 35.648 3271
+-70.04 35.648 3282
+-69.914 35.648 3285
+-69.788 35.648 3267
+-69.662 35.648 3270
+-69.536 35.648 3272
+-69.41 35.648 3250
+-69.284 35.648 3234
+-69.158 35.648 3268
+-69.032 35.648 3264
+-68.906 35.648 3266
+-68.78 35.648 3268
+-68.654 35.648 3191
+-68.528 35.648 3231
+-68.402 35.648 3227
+-68.276 35.648 3229
+-68.15 35.648 3231
+-68.024 35.648 3462
+-67.898 35.648 3389
+-67.772 35.648 3399
+-67.646 35.648 3400
+-67.52 35.648 3296
+-67.394 35.648 3283
+-67.268 35.648 3284
+-67.142 35.648 3285
+-67.016 35.648 3263
+-66.89 35.648 3263
+-66.764 35.648 3264
+-66.638 35.648 3265
+-66.512 35.648 3266
+-66.386 35.648 3291
+-66.26 35.648 3292
+-66.134 35.648 3276
+-66.008 35.648 3277
+-65.882 35.648 3278
+-65.756 35.648 3217
+-65.63 35.648 3404
+-65.504 35.648 3361
+-65.378 35.648 3362
+-65.252 35.648 3332
+-65.126 35.648 3332
+-128 35.596 2940
+-127.874 35.596 2931
+-127.748 35.596 2922
+-127.622 35.596 2913
+-127.496 35.596 3009
+-127.37 35.596 2997
+-127.244 35.596 2985
+-127.118 35.596 2971
+-126.992 35.596 2957
+-126.866 35.596 2942
+-126.74 35.596 2925
+-126.614 35.596 2908
+-126.488 35.596 2889
+-126.362 35.596 2870
+-126.236 35.596 2849
+-126.11 35.596 2826
+-125.984 35.596 2803
+-125.858 35.596 2778
+-125.732 35.596 2753
+-125.606 35.596 2726
+-125.48 35.596 2700
+-125.354 35.596 2705
+-125.228 35.596 2712
+-125.102 35.596 2689
+-124.976 35.596 2668
+-124.85 35.596 2652
+-124.724 35.596 2638
+-124.598 35.596 2626
+-124.472 35.596 2611
+-124.346 35.596 2591
+-124.22 35.596 2596
+-124.094 35.596 2582
+-123.968 35.596 2613
+-123.842 35.596 2707
+-123.716 35.596 2860
+-123.59 35.596 3063
+-123.464 35.596 3237
+-123.338 35.596 3396
+-123.212 35.596 3513
+-123.086 35.596 3660
+-122.96 35.596 3716
+-122.834 35.596 3769
+-122.708 35.596 3695
+-122.582 35.596 3585
+-122.456 35.596 3783
+-122.33 35.596 3858
+-122.204 35.596 3971
+-122.078 35.596 4198
+-121.952 35.596 4370
+-121.826 35.596 4551
+-121.7 35.596 4762
+-121.574 35.596 4985
+-121.448 35.596 5098
+-121.322 35.596 5158
+-121.196 35.596 5185
+-121.07 35.596 5215
+-120.944 35.596 5348
+-120.818 35.596 5441
+-120.692 35.596 5519
+-120.566 35.596 5700
+-120.44 35.596 5850
+-120.314 35.596 5923
+-120.188 35.596 6122
+-120.062 35.596 6147
+-119.936 35.596 6301
+-119.81 35.596 6333
+-119.684 35.596 6553
+-119.558 35.596 6599
+-119.432 35.596 6768
+-119.306 35.596 6906
+-119.18 35.596 6998
+-119.054 35.596 7046
+-118.928 35.596 7161
+-118.802 35.596 7322
+-118.676 35.596 7425
+-118.55 35.596 7446
+-118.424 35.596 7553
+-118.298 35.596 7656
+-118.172 35.596 7705
+-118.046 35.596 7786
+-117.92 35.596 7861
+-117.794 35.596 7854
+-117.668 35.596 7906
+-117.542 35.596 7944
+-117.416 35.596 7953
+-117.29 35.596 7965
+-117.164 35.596 7955
+-117.038 35.596 7929
+-116.912 35.596 7914
+-116.786 35.596 7873
+-116.66 35.596 7832
+-116.534 35.596 7733
+-116.408 35.596 7661
+-116.282 35.596 7569
+-116.156 35.596 7535
+-116.03 35.596 7426
+-115.904 35.596 7307
+-115.778 35.596 7234
+-115.652 35.596 7103
+-115.526 35.596 7006
+-115.4 35.596 6886
+-115.274 35.596 6800
+-115.148 35.596 6702
+-115.022 35.596 6561
+-114.896 35.596 6470
+-114.77 35.596 6357
+-114.644 35.596 6215
+-114.518 35.596 6134
+-114.392 35.596 6012
+-114.266 35.596 5824
+-114.14 35.596 5736
+-114.014 35.596 5558
+-113.888 35.596 5488
+-113.762 35.596 5355
+-113.636 35.596 5207
+-113.51 35.596 5084
+-113.384 35.596 4961
+-113.258 35.596 4846
+-113.132 35.596 4745
+-113.006 35.596 4594
+-112.88 35.596 4431
+-112.754 35.596 4521
+-112.628 35.596 4538
+-112.502 35.596 4578
+-112.376 35.596 4648
+-112.25 35.596 4700
+-112.124 35.596 4738
+-111.998 35.596 4806
+-111.872 35.596 4848
+-111.746 35.596 4891
+-111.62 35.596 4925
+-111.494 35.596 4972
+-111.368 35.596 5019
+-111.242 35.596 5047
+-111.116 35.596 5084
+-110.99 35.596 5080
+-110.864 35.596 5114
+-110.738 35.596 5133
+-110.612 35.596 5137
+-110.486 35.596 5135
+-110.36 35.596 5136
+-110.234 35.596 5127
+-110.108 35.596 5130
+-109.982 35.596 5124
+-109.856 35.596 5121
+-109.73 35.596 5133
+-109.604 35.596 5102
+-109.478 35.596 5052
+-109.352 35.596 4999
+-109.226 35.596 4933
+-109.1 35.596 4880
+-108.974 35.596 4875
+-108.848 35.596 4829
+-108.722 35.596 4787
+-108.596 35.596 4747
+-108.47 35.596 4660
+-108.344 35.596 4629
+-108.218 35.596 4537
+-108.092 35.596 4462
+-107.966 35.596 4446
+-107.84 35.596 4417
+-107.714 35.596 4289
+-107.588 35.596 4198
+-107.462 35.596 4128
+-107.336 35.596 4025
+-107.21 35.596 4059
+-107.084 35.596 4019
+-106.958 35.596 3922
+-106.832 35.596 3820
+-106.706 35.596 3651
+-106.58 35.596 3503
+-106.454 35.596 3366
+-106.328 35.596 3257
+-106.202 35.596 3171
+-106.076 35.596 3130
+-105.95 35.596 3094
+-105.824 35.596 3055
+-105.698 35.596 3063
+-105.572 35.596 3101
+-105.446 35.596 3149
+-105.32 35.596 3196
+-105.194 35.596 3226
+-105.068 35.596 3253
+-104.942 35.596 3300
+-104.816 35.596 3316
+-104.69 35.596 3339
+-104.564 35.596 3360
+-104.438 35.596 3342
+-104.312 35.596 3356
+-104.186 35.596 3369
+-104.06 35.596 3312
+-103.934 35.596 3319
+-103.808 35.596 3325
+-103.682 35.596 3331
+-103.556 35.596 3336
+-103.43 35.596 3359
+-103.304 35.596 3362
+-103.178 35.596 3357
+-103.052 35.596 3362
+-102.926 35.596 3366
+-102.8 35.596 3371
+-102.674 35.596 3375
+-102.548 35.596 3376
+-102.422 35.596 3366
+-102.296 35.596 3401
+-102.17 35.596 3406
+-102.044 35.596 3411
+-101.918 35.596 3416
+-101.792 35.596 3289
+-101.666 35.596 3209
+-101.54 35.596 3198
+-101.414 35.596 3114
+-101.288 35.596 3056
+-101.162 35.596 2981
+-101.036 35.596 2949
+-100.91 35.596 2928
+-100.784 35.596 2955
+-100.658 35.596 2918
+-100.532 35.596 2964
+-100.406 35.596 3027
+-100.28 35.596 3046
+-100.154 35.596 3036
+-100.028 35.596 3096
+-99.902 35.596 3085
+-99.776 35.596 3074
+-99.65 35.596 3061
+-99.524 35.596 3047
+-99.398 35.596 3032
+-99.272 35.596 3068
+-99.146 35.596 3094
+-99.02 35.596 3073
+-98.894 35.596 3050
+-98.768 35.596 3048
+-98.642 35.596 3017
+-98.516 35.596 2982
+-98.39 35.596 2926
+-98.264 35.596 2925
+-98.138 35.596 2868
+-98.012 35.596 2802
+-97.886 35.596 2723
+-97.76 35.596 2658
+-97.634 35.596 2549
+-97.508 35.596 2426
+-97.382 35.596 2289
+-97.256 35.596 2137
+-97.13 35.596 2016
+-97.004 35.596 1983
+-96.878 35.596 2085
+-96.752 35.596 2295
+-96.626 35.596 2565
+-96.5 35.596 2799
+-96.374 35.596 2939
+-96.248 35.596 3022
+-96.122 35.596 3104
+-95.996 35.596 3218
+-95.87 35.596 3305
+-95.744 35.596 3383
+-95.618 35.596 3446
+-95.492 35.596 3558
+-95.366 35.596 3575
+-95.24 35.596 3563
+-95.114 35.596 3516
+-94.988 35.596 3444
+-94.862 35.596 3571
+-94.736 35.596 3752
+-94.61 35.596 3898
+-94.484 35.596 4018
+-94.358 35.596 4062
+-94.232 35.596 4117
+-94.106 35.596 4233
+-93.98 35.596 4355
+-93.854 35.596 4495
+-93.728 35.596 4605
+-93.602 35.596 4611
+-93.476 35.596 4752
+-93.35 35.596 4792
+-93.224 35.596 4909
+-93.098 35.596 4928
+-92.972 35.596 5028
+-92.846 35.596 5162
+-92.72 35.596 5286
+-92.594 35.596 5350
+-92.468 35.596 5407
+-92.342 35.596 5404
+-92.216 35.596 5479
+-92.09 35.596 5569
+-91.964 35.596 5602
+-91.838 35.596 5644
+-91.712 35.596 5718
+-91.586 35.596 5821
+-91.46 35.596 5971
+-91.334 35.596 6099
+-91.208 35.596 6303
+-91.082 35.596 6366
+-90.956 35.596 6450
+-90.83 35.596 6534
+-90.704 35.596 6610
+-90.578 35.596 6716
+-90.452 35.596 6853
+-90.326 35.596 6961
+-90.2 35.596 6989
+-90.074 35.596 7061
+-89.948 35.596 7161
+-89.822 35.596 7228
+-89.696 35.596 7262
+-89.57 35.596 7300
+-89.444 35.596 7364
+-89.318 35.596 7406
+-89.192 35.596 7436
+-89.066 35.596 7449
+-88.94 35.596 7446
+-88.814 35.596 7449
+-88.688 35.596 7450
+-88.562 35.596 7440
+-88.436 35.596 7413
+-88.31 35.596 7396
+-88.184 35.596 7330
+-88.058 35.596 7276
+-87.932 35.596 7230
+-87.806 35.596 7176
+-87.68 35.596 7090
+-87.554 35.596 7088
+-87.428 35.596 6975
+-87.302 35.596 6890
+-87.176 35.596 6826
+-87.05 35.596 6674
+-86.924 35.596 6605
+-86.798 35.596 6464
+-86.672 35.596 6360
+-86.546 35.596 6301
+-86.42 35.596 6268
+-86.294 35.596 6101
+-86.168 35.596 6037
+-86.042 35.596 5930
+-85.916 35.596 5807
+-85.79 35.596 5699
+-85.664 35.596 5551
+-85.538 35.596 5426
+-85.412 35.596 5442
+-85.286 35.596 5364
+-85.16 35.596 5228
+-85.034 35.596 5134
+-84.908 35.596 4977
+-84.782 35.596 4822
+-84.656 35.596 4697
+-84.53 35.596 4504
+-84.404 35.596 4347
+-84.278 35.596 4169
+-84.152 35.596 4035
+-84.026 35.596 3950
+-83.9 35.596 3981
+-83.774 35.596 3968
+-83.648 35.596 3912
+-83.522 35.596 3833
+-83.396 35.596 3630
+-83.27 35.596 3465
+-83.144 35.596 3242
+-83.018 35.596 2994
+-82.892 35.596 2866
+-82.766 35.596 2907
+-82.64 35.596 2970
+-82.514 35.596 2960
+-82.388 35.596 2867
+-82.262 35.596 2712
+-82.136 35.596 2516
+-82.01 35.596 2356
+-81.884 35.596 2264
+-81.758 35.596 2224
+-81.632 35.596 2275
+-81.506 35.596 2352
+-81.38 35.596 2434
+-81.254 35.596 2512
+-81.128 35.596 2582
+-81.002 35.596 2643
+-80.876 35.596 2695
+-80.75 35.596 2670
+-80.624 35.596 2697
+-80.498 35.596 2725
+-80.372 35.596 2752
+-80.246 35.596 2769
+-80.12 35.596 2782
+-79.994 35.596 2773
+-79.868 35.596 2754
+-79.742 35.596 2758
+-79.616 35.596 2765
+-79.49 35.596 2765
+-79.364 35.596 2737
+-79.238 35.596 2623
+-79.112 35.596 2624
+-78.986 35.596 2624
+-78.86 35.596 2615
+-78.734 35.596 2609
+-78.608 35.596 2603
+-78.482 35.596 2602
+-78.356 35.596 2578
+-78.23 35.596 2534
+-78.104 35.596 2487
+-77.978 35.596 2493
+-77.852 35.596 2493
+-77.726 35.596 2500
+-77.6 35.596 2508
+-77.474 35.596 2532
+-77.348 35.596 2549
+-77.222 35.596 2528
+-77.096 35.596 2548
+-76.97 35.596 2559
+-76.844 35.596 2609
+-76.718 35.596 2600
+-76.592 35.596 2637
+-76.466 35.596 2680
+-76.34 35.596 2693
+-76.214 35.596 2743
+-76.088 35.596 2753
+-75.962 35.596 2756
+-75.836 35.596 2848
+-75.71 35.596 2858
+-75.584 35.596 2910
+-75.458 35.596 2920
+-75.332 35.596 2929
+-75.206 35.596 2937
+-75.08 35.596 2946
+-74.954 35.596 2894
+-74.828 35.596 2916
+-74.702 35.596 2923
+-74.576 35.596 2923
+-74.45 35.596 3186
+-74.324 35.596 3215
+-74.198 35.596 3221
+-74.072 35.596 3223
+-73.946 35.596 3229
+-73.82 35.596 3237
+-73.694 35.596 3254
+-73.568 35.596 3259
+-73.442 35.596 3255
+-73.316 35.596 3259
+-73.19 35.596 3222
+-73.064 35.596 3226
+-72.938 35.596 3230
+-72.812 35.596 3289
+-72.686 35.596 3288
+-72.56 35.596 3300
+-72.434 35.596 3304
+-72.308 35.596 3289
+-72.182 35.596 3311
+-72.056 35.596 3356
+-71.93 35.596 3368
+-71.804 35.596 3370
+-71.678 35.596 3372
+-71.552 35.596 3420
+-71.426 35.596 3425
+-71.3 35.596 3371
+-71.174 35.596 3393
+-71.048 35.596 3390
+-70.922 35.596 3314
+-70.796 35.596 3235
+-70.67 35.596 3257
+-70.544 35.596 3260
+-70.418 35.596 3292
+-70.292 35.596 3269
+-70.166 35.596 3280
+-70.04 35.596 3283
+-69.914 35.596 3266
+-69.788 35.596 3268
+-69.662 35.596 3271
+-69.536 35.596 3249
+-69.41 35.596 3233
+-69.284 35.596 3267
+-69.158 35.596 3262
+-69.032 35.596 3265
+-68.906 35.596 3267
+-68.78 35.596 3190
+-68.654 35.596 3229
+-68.528 35.596 3226
+-68.402 35.596 3228
+-68.276 35.596 3230
+-68.15 35.596 3461
+-68.024 35.596 3384
+-67.898 35.596 3398
+-67.772 35.596 3399
+-67.646 35.596 3295
+-67.52 35.596 3282
+-67.394 35.596 3283
+-67.268 35.596 3284
+-67.142 35.596 3262
+-67.016 35.596 3263
+-66.89 35.596 3263
+-66.764 35.596 3264
+-66.638 35.596 3265
+-66.512 35.596 3290
+-66.386 35.596 3291
+-66.26 35.596 3276
+-66.134 35.596 3277
+-66.008 35.596 3278
+-65.882 35.596 3216
+-65.756 35.596 3403
+-65.63 35.596 3361
+-65.504 35.596 3361
+-65.378 35.596 3331
+-65.252 35.596 3332
+-65.126 35.596 3332
+-128 35.544 2944
+-127.874 35.544 2936
+-127.748 35.544 2927
+-127.622 35.544 2918
+-127.496 35.544 2908
+-127.37 35.544 3005
+-127.244 35.544 2993
+-127.118 35.544 2980
+-126.992 35.544 2966
+-126.866 35.544 2952
+-126.74 35.544 2936
+-126.614 35.544 2920
+-126.488 35.544 2903
+-126.362 35.544 2884
+-126.236 35.544 2865
+-126.11 35.544 2845
+-125.984 35.544 2823
+-125.858 35.544 2801
+-125.732 35.544 2779
+-125.606 35.544 2756
+-125.48 35.544 2798
+-125.354 35.544 2775
+-125.228 35.544 2753
+-125.102 35.544 2734
+-124.976 35.544 2717
+-124.85 35.544 2703
+-124.724 35.544 2693
+-124.598 35.544 2685
+-124.472 35.544 2679
+-124.346 35.544 2709
+-124.22 35.544 2712
+-124.094 35.544 2730
+-123.968 35.544 2778
+-123.842 35.544 2870
+-123.716 35.544 2992
+-123.59 35.544 3131
+-123.464 35.544 3295
+-123.338 35.544 3421
+-123.212 35.544 3536
+-123.086 35.544 3670
+-122.96 35.544 3715
+-122.834 35.544 3788
+-122.708 35.544 3760
+-122.582 35.544 3755
+-122.456 35.544 3786
+-122.33 35.544 3878
+-122.204 35.544 4024
+-122.078 35.544 4243
+-121.952 35.544 4422
+-121.826 35.544 4581
+-121.7 35.544 4834
+-121.574 35.544 4975
+-121.448 35.544 5077
+-121.322 35.544 5119
+-121.196 35.544 5015
+-121.07 35.544 5244
+-120.944 35.544 5359
+-120.818 35.544 5463
+-120.692 35.544 5553
+-120.566 35.544 5702
+-120.44 35.544 5870
+-120.314 35.544 6004
+-120.188 35.544 6073
+-120.062 35.544 6186
+-119.936 35.544 6289
+-119.81 35.544 6392
+-119.684 35.544 6570
+-119.558 35.544 6715
+-119.432 35.544 6830
+-119.306 35.544 6931
+-119.18 35.544 7051
+-119.054 35.544 7097
+-118.928 35.544 7275
+-118.802 35.544 7342
+-118.676 35.544 7449
+-118.55 35.544 7527
+-118.424 35.544 7643
+-118.298 35.544 7665
+-118.172 35.544 7758
+-118.046 35.544 7863
+-117.92 35.544 7906
+-117.794 35.544 7950
+-117.668 35.544 7953
+-117.542 35.544 8019
+-117.416 35.544 8040
+-117.29 35.544 8025
+-117.164 35.544 7994
+-117.038 35.544 7978
+-116.912 35.544 7953
+-116.786 35.544 7925
+-116.66 35.544 7846
+-116.534 35.544 7779
+-116.408 35.544 7703
+-116.282 35.544 7608
+-116.156 35.544 7559
+-116.03 35.544 7467
+-115.904 35.544 7349
+-115.778 35.544 7281
+-115.652 35.544 7215
+-115.526 35.544 7074
+-115.4 35.544 6959
+-115.274 35.544 6830
+-115.148 35.544 6675
+-115.022 35.544 6635
+-114.896 35.544 6495
+-114.77 35.544 6337
+-114.644 35.544 6242
+-114.518 35.544 6143
+-114.392 35.544 5989
+-114.266 35.544 5881
+-114.14 35.544 5805
+-114.014 35.544 5642
+-113.888 35.544 5464
+-113.762 35.544 5318
+-113.636 35.544 5248
+-113.51 35.544 5127
+-113.384 35.544 4997
+-113.258 35.544 4896
+-113.132 35.544 4790
+-113.006 35.544 4631
+-112.88 35.544 4549
+-112.754 35.544 4567
+-112.628 35.544 4563
+-112.502 35.544 4631
+-112.376 35.544 4705
+-112.25 35.544 4771
+-112.124 35.544 4814
+-111.998 35.544 4850
+-111.872 35.544 4910
+-111.746 35.544 4954
+-111.62 35.544 4995
+-111.494 35.544 5034
+-111.368 35.544 5070
+-111.242 35.544 5074
+-111.116 35.544 5101
+-110.99 35.544 5133
+-110.864 35.544 5160
+-110.738 35.544 5169
+-110.612 35.544 5181
+-110.486 35.544 5182
+-110.36 35.544 5196
+-110.234 35.544 5205
+-110.108 35.544 5201
+-109.982 35.544 5185
+-109.856 35.544 5181
+-109.73 35.544 5168
+-109.604 35.544 5138
+-109.478 35.544 5079
+-109.352 35.544 5054
+-109.226 35.544 4976
+-109.1 35.544 4903
+-108.974 35.544 4860
+-108.848 35.544 4830
+-108.722 35.544 4800
+-108.596 35.544 4775
+-108.47 35.544 4715
+-108.344 35.544 4673
+-108.218 35.544 4591
+-108.092 35.544 4521
+-107.966 35.544 4479
+-107.84 35.544 4430
+-107.714 35.544 4338
+-107.588 35.544 4263
+-107.462 35.544 4195
+-107.336 35.544 4113
+-107.21 35.544 4091
+-107.084 35.544 4060
+-106.958 35.544 3958
+-106.832 35.544 3872
+-106.706 35.544 3730
+-106.58 35.544 3603
+-106.454 35.544 3441
+-106.328 35.544 3294
+-106.202 35.544 3175
+-106.076 35.544 3129
+-105.95 35.544 3145
+-105.824 35.544 3156
+-105.698 35.544 3161
+-105.572 35.544 3170
+-105.446 35.544 3205
+-105.32 35.544 3230
+-105.194 35.544 3274
+-105.068 35.544 3303
+-104.942 35.544 3320
+-104.816 35.544 3344
+-104.69 35.544 3365
+-104.564 35.544 3383
+-104.438 35.544 3399
+-104.312 35.544 3378
+-104.186 35.544 3378
+-104.06 35.544 3388
+-103.934 35.544 3338
+-103.808 35.544 3343
+-103.682 35.544 3348
+-103.556 35.544 3371
+-103.43 35.544 3374
+-103.304 35.544 3368
+-103.178 35.544 3373
+-103.052 35.544 3377
+-102.926 35.544 3381
+-102.8 35.544 3385
+-102.674 35.544 3385
+-102.548 35.544 3376
+-102.422 35.544 3410
+-102.296 35.544 3415
+-102.17 35.544 3420
+-102.044 35.544 3424
+-101.918 35.544 3429
+-101.792 35.544 3302
+-101.666 35.544 3221
+-101.54 35.544 3187
+-101.414 35.544 3096
+-101.288 35.544 3045
+-101.162 35.544 2975
+-101.036 35.544 2958
+-100.91 35.544 2929
+-100.784 35.544 2946
+-100.658 35.544 2912
+-100.532 35.544 2980
+-100.406 35.544 3024
+-100.28 35.544 3029
+-100.154 35.544 3028
+-100.028 35.544 3095
+-99.902 35.544 3084
+-99.776 35.544 3073
+-99.65 35.544 3060
+-99.524 35.544 3046
+-99.398 35.544 3085
+-99.272 35.544 3113
+-99.146 35.544 3095
+-99.02 35.544 3074
+-98.894 35.544 3077
+-98.768 35.544 3050
+-98.642 35.544 3020
+-98.516 35.544 2970
+-98.39 35.544 2933
+-98.264 35.544 2889
+-98.138 35.544 2882
+-98.012 35.544 2821
+-97.886 35.544 2779
+-97.76 35.544 2700
+-97.634 35.544 2618
+-97.508 35.544 2527
+-97.382 35.544 2419
+-97.256 35.544 2317
+-97.13 35.544 2244
+-97.004 35.544 2241
+-96.878 35.544 2326
+-96.752 35.544 2501
+-96.626 35.544 2710
+-96.5 35.544 2873
+-96.374 35.544 3000
+-96.248 35.544 3100
+-96.122 35.544 3215
+-95.996 35.544 3292
+-95.87 35.544 3364
+-95.744 35.544 3429
+-95.618 35.544 3500
+-95.492 35.544 3539
+-95.366 35.544 3596
+-95.24 35.544 3591
+-95.114 35.544 3559
+-94.988 35.544 3540
+-94.862 35.544 3624
+-94.736 35.544 3726
+-94.61 35.544 3841
+-94.484 35.544 3958
+-94.358 35.544 4031
+-94.232 35.544 4092
+-94.106 35.544 4184
+-93.98 35.544 4320
+-93.854 35.544 4441
+-93.728 35.544 4566
+-93.602 35.544 4644
+-93.476 35.544 4754
+-93.35 35.544 4833
+-93.224 35.544 4911
+-93.098 35.544 4960
+-92.972 35.544 5002
+-92.846 35.544 5116
+-92.72 35.544 5233
+-92.594 35.544 5327
+-92.468 35.544 5377
+-92.342 35.544 5364
+-92.216 35.544 5434
+-92.09 35.544 5519
+-91.964 35.544 5573
+-91.838 35.544 5585
+-91.712 35.544 5682
+-91.586 35.544 5745
+-91.46 35.544 5953
+-91.334 35.544 6146
+-91.208 35.544 6204
+-91.082 35.544 6328
+-90.956 35.544 6445
+-90.83 35.544 6508
+-90.704 35.544 6659
+-90.578 35.544 6683
+-90.452 35.544 6815
+-90.326 35.544 6884
+-90.2 35.544 6960
+-90.074 35.544 7057
+-89.948 35.544 7094
+-89.822 35.544 7185
+-89.696 35.544 7202
+-89.57 35.544 7231
+-89.444 35.544 7329
+-89.318 35.544 7343
+-89.192 35.544 7368
+-89.066 35.544 7392
+-88.94 35.544 7395
+-88.814 35.544 7395
+-88.688 35.544 7376
+-88.562 35.544 7390
+-88.436 35.544 7362
+-88.31 35.544 7352
+-88.184 35.544 7268
+-88.058 35.544 7252
+-87.932 35.544 7199
+-87.806 35.544 7158
+-87.68 35.544 7086
+-87.554 35.544 6993
+-87.428 35.544 6892
+-87.302 35.544 6827
+-87.176 35.544 6761
+-87.05 35.544 6624
+-86.924 35.544 6535
+-86.798 35.544 6433
+-86.672 35.544 6355
+-86.546 35.544 6275
+-86.42 35.544 6182
+-86.294 35.544 6140
+-86.168 35.544 5997
+-86.042 35.544 5900
+-85.916 35.544 5784
+-85.79 35.544 5630
+-85.664 35.544 5485
+-85.538 35.544 5492
+-85.412 35.544 5428
+-85.286 35.544 5310
+-85.16 35.544 5225
+-85.034 35.544 5116
+-84.908 35.544 4927
+-84.782 35.544 4774
+-84.656 35.544 4659
+-84.53 35.544 4489
+-84.404 35.544 4324
+-84.278 35.544 4108
+-84.152 35.544 4012
+-84.026 35.544 3994
+-83.9 35.544 3982
+-83.774 35.544 3973
+-83.648 35.544 3926
+-83.522 35.544 3844
+-83.396 35.544 3622
+-83.27 35.544 3435
+-83.144 35.544 3168
+-83.018 35.544 2880
+-82.892 35.544 2757
+-82.766 35.544 2838
+-82.64 35.544 2929
+-82.514 35.544 2924
+-82.388 35.544 2810
+-82.262 35.544 2604
+-82.136 35.544 2327
+-82.01 35.544 2100
+-81.884 35.544 1988
+-81.758 35.544 2006
+-81.632 35.544 2113
+-81.506 35.544 2246
+-81.38 35.544 2368
+-81.254 35.544 2471
+-81.128 35.544 2556
+-81.002 35.544 2625
+-80.876 35.544 2617
+-80.75 35.544 2653
+-80.624 35.544 2688
+-80.498 35.544 2715
+-80.372 35.544 2736
+-80.246 35.544 2756
+-80.12 35.544 2768
+-79.994 35.544 2740
+-79.868 35.544 2735
+-79.742 35.544 2726
+-79.616 35.544 2726
+-79.49 35.544 2701
+-79.364 35.544 2594
+-79.238 35.544 2593
+-79.112 35.544 2593
+-78.986 35.544 2584
+-78.86 35.544 2578
+-78.734 35.544 2573
+-78.608 35.544 2574
+-78.482 35.544 2548
+-78.356 35.544 2508
+-78.23 35.544 2514
+-78.104 35.544 2469
+-77.978 35.544 2471
+-77.852 35.544 2479
+-77.726 35.544 2487
+-77.6 35.544 2512
+-77.474 35.544 2529
+-77.348 35.544 2548
+-77.222 35.544 2551
+-77.096 35.544 2580
+-76.97 35.544 2594
+-76.844 35.544 2616
+-76.718 35.544 2624
+-76.592 35.544 2667
+-76.466 35.544 2680
+-76.34 35.544 2731
+-76.214 35.544 2742
+-76.088 35.544 2746
+-75.962 35.544 2838
+-75.836 35.544 2848
+-75.71 35.544 2900
+-75.584 35.544 2910
+-75.458 35.544 2920
+-75.332 35.544 2929
+-75.206 35.544 2938
+-75.08 35.544 2888
+-74.954 35.544 2910
+-74.828 35.544 2918
+-74.702 35.544 2918
+-74.576 35.544 3179
+-74.45 35.544 3207
+-74.324 35.544 3213
+-74.198 35.544 3216
+-74.072 35.544 3222
+-73.946 35.544 3231
+-73.82 35.544 3248
+-73.694 35.544 3253
+-73.568 35.544 3249
+-73.442 35.544 3254
+-73.316 35.544 3217
+-73.19 35.544 3221
+-73.064 35.544 3226
+-72.938 35.544 3285
+-72.812 35.544 3284
+-72.686 35.544 3296
+-72.56 35.544 3300
+-72.434 35.544 3286
+-72.308 35.544 3307
+-72.182 35.544 3352
+-72.056 35.544 3364
+-71.93 35.544 3367
+-71.804 35.544 3368
+-71.678 35.544 3417
+-71.552 35.544 3421
+-71.426 35.544 3368
+-71.3 35.544 3390
+-71.174 35.544 3387
+-71.048 35.544 3315
+-70.922 35.544 3233
+-70.796 35.544 3255
+-70.67 35.544 3258
+-70.544 35.544 3289
+-70.418 35.544 3267
+-70.292 35.544 3278
+-70.166 35.544 3281
+-70.04 35.544 3264
+-69.914 35.544 3266
+-69.788 35.544 3269
+-69.662 35.544 3247
+-69.536 35.544 3231
+-69.41 35.544 3265
+-69.284 35.544 3261
+-69.158 35.544 3263
+-69.032 35.544 3266
+-68.906 35.544 3189
+-68.78 35.544 3228
+-68.654 35.544 3225
+-68.528 35.544 3227
+-68.402 35.544 3229
+-68.276 35.544 3460
+-68.15 35.544 3387
+-68.024 35.544 3396
+-67.898 35.544 3398
+-67.772 35.544 3294
+-67.646 35.544 3281
+-67.52 35.544 3282
+-67.394 35.544 3283
+-67.268 35.544 3261
+-67.142 35.544 3262
+-67.016 35.544 3263
+-66.89 35.544 3263
+-66.764 35.544 3264
+-66.638 35.544 3289
+-66.512 35.544 3290
+-66.386 35.544 3275
+-66.26 35.544 3276
+-66.134 35.544 3277
+-66.008 35.544 3215
+-65.882 35.544 3402
+-65.756 35.544 3360
+-65.63 35.544 3361
+-65.504 35.544 3330
+-65.378 35.544 3331
+-65.252 35.544 3332
+-65.126 35.544 3464
+-128 35.492 2949
+-127.874 35.492 2941
+-127.748 35.492 2932
+-127.622 35.492 2924
+-127.496 35.492 2914
+-127.37 35.492 2904
+-127.244 35.492 3001
+-127.118 35.492 2988
+-126.992 35.492 2975
+-126.866 35.492 2962
+-126.74 35.492 2947
+-126.614 35.492 2932
+-126.488 35.492 2916
+-126.362 35.492 2899
+-126.236 35.492 2881
+-126.11 35.492 2862
+-125.984 35.492 2843
+-125.858 35.492 2822
+-125.732 35.492 2802
+-125.606 35.492 2847
+-125.48 35.492 2825
+-125.354 35.492 2804
+-125.228 35.492 2784
+-125.102 35.492 2765
+-124.976 35.492 2749
+-124.85 35.492 2736
+-124.724 35.492 2726
+-124.598 35.492 2721
+-124.472 35.492 2753
+-124.346 35.492 2762
+-124.22 35.492 2782
+-124.094 35.492 2819
+-123.968 35.492 2877
+-123.842 35.492 2960
+-123.716 35.492 3074
+-123.59 35.492 3192
+-123.464 35.492 3310
+-123.338 35.492 3452
+-123.212 35.492 3617
+-123.086 35.492 3691
+-122.96 35.492 3739
+-122.834 35.492 3840
+-122.708 35.492 3847
+-122.582 35.492 3862
+-122.456 35.492 3868
+-122.33 35.492 3952
+-122.204 35.492 4104
+-122.078 35.492 4287
+-121.952 35.492 4484
+-121.826 35.492 4635
+-121.7 35.492 4829
+-121.574 35.492 4978
+-121.448 35.492 5042
+-121.322 35.492 5118
+-121.196 35.492 5174
+-121.07 35.492 5264
+-120.944 35.492 5358
+-120.818 35.492 5474
+-120.692 35.492 5594
+-120.566 35.492 5740
+-120.44 35.492 5833
+-120.314 35.492 5977
+-120.188 35.492 6071
+-120.062 35.492 6266
+-119.936 35.492 6380
+-119.81 35.492 6451
+-119.684 35.492 6601
+-119.558 35.492 6750
+-119.432 35.492 6828
+-119.306 35.492 6903
+-119.18 35.492 7063
+-119.054 35.492 7193
+-118.928 35.492 7255
+-118.802 35.492 7386
+-118.676 35.492 7523
+-118.55 35.492 7573
+-118.424 35.492 7676
+-118.298 35.492 7738
+-118.172 35.492 7799
+-118.046 35.492 7873
+-117.92 35.492 7932
+-117.794 35.492 7992
+-117.668 35.492 8044
+-117.542 35.492 8081
+-117.416 35.492 8057
+-117.29 35.492 8073
+-117.164 35.492 8098
+-117.038 35.492 8050
+-116.912 35.492 8028
+-116.786 35.492 7958
+-116.66 35.492 7909
+-116.534 35.492 7823
+-116.408 35.492 7757
+-116.282 35.492 7716
+-116.156 35.492 7573
+-116.03 35.492 7495
+-115.904 35.492 7443
+-115.778 35.492 7311
+-115.652 35.492 7210
+-115.526 35.492 7093
+-115.4 35.492 6954
+-115.274 35.492 6871
+-115.148 35.492 6730
+-115.022 35.492 6669
+-114.896 35.492 6567
+-114.77 35.492 6422
+-114.644 35.492 6277
+-114.518 35.492 6197
+-114.392 35.492 6048
+-114.266 35.492 5939
+-114.14 35.492 5830
+-114.014 35.492 5657
+-113.888 35.492 5445
+-113.762 35.492 5361
+-113.636 35.492 5219
+-113.51 35.492 5130
+-113.384 35.492 4971
+-113.258 35.492 4958
+-113.132 35.492 4820
+-113.006 35.492 4668
+-112.88 35.492 4596
+-112.754 35.492 4605
+-112.628 35.492 4641
+-112.502 35.492 4682
+-112.376 35.492 4773
+-112.25 35.492 4822
+-112.124 35.492 4853
+-111.998 35.492 4923
+-111.872 35.492 4974
+-111.746 35.492 5015
+-111.62 35.492 5085
+-111.494 35.492 5109
+-111.368 35.492 5126
+-111.242 35.492 5147
+-111.116 35.492 5178
+-110.99 35.492 5220
+-110.864 35.492 5233
+-110.738 35.492 5237
+-110.612 35.492 5224
+-110.486 35.492 5249
+-110.36 35.492 5268
+-110.234 35.492 5281
+-110.108 35.492 5262
+-109.982 35.492 5248
+-109.856 35.492 5228
+-109.73 35.492 5205
+-109.604 35.492 5180
+-109.478 35.492 5127
+-109.352 35.492 5085
+-109.226 35.492 5037
+-109.1 35.492 4950
+-108.974 35.492 4912
+-108.848 35.492 4868
+-108.722 35.492 4830
+-108.596 35.492 4801
+-108.47 35.492 4747
+-108.344 35.492 4726
+-108.218 35.492 4669
+-108.092 35.492 4609
+-107.966 35.492 4549
+-107.84 35.492 4461
+-107.714 35.492 4329
+-107.588 35.492 4242
+-107.462 35.492 4260
+-107.336 35.492 4212
+-107.21 35.492 4170
+-107.084 35.492 4090
+-106.958 35.492 4007
+-106.832 35.492 3928
+-106.706 35.492 3779
+-106.58 35.492 3664
+-106.454 35.492 3533
+-106.328 35.492 3372
+-106.202 35.492 3246
+-106.076 35.492 3181
+-105.95 35.492 3198
+-105.824 35.492 3225
+-105.698 35.492 3250
+-105.572 35.492 3268
+-105.446 35.492 3299
+-105.32 35.492 3310
+-105.194 35.492 3318
+-105.068 35.492 3333
+-104.942 35.492 3355
+-104.816 35.492 3375
+-104.69 35.492 3393
+-104.564 35.492 3408
+-104.438 35.492 3422
+-104.312 35.492 3443
+-104.186 35.492 3455
+-104.06 35.492 3466
+-103.934 35.492 3476
+-103.808 35.492 3423
+-103.682 35.492 3384
+-103.556 35.492 3387
+-103.43 35.492 3381
+-103.304 35.492 3385
+-103.178 35.492 3389
+-103.052 35.492 3393
+-102.926 35.492 3396
+-102.8 35.492 3396
+-102.674 35.492 3387
+-102.548 35.492 3420
+-102.422 35.492 3425
+-102.296 35.492 3429
+-102.17 35.492 3434
+-102.044 35.492 3438
+-101.918 35.492 3442
+-101.792 35.492 3314
+-101.666 35.492 3181
+-101.54 35.492 3119
+-101.414 35.492 3113
+-101.288 35.492 3055
+-101.162 35.492 2984
+-101.036 35.492 2976
+-100.91 35.492 2958
+-100.784 35.492 2949
+-100.658 35.492 2937
+-100.532 35.492 2969
+-100.406 35.492 3010
+-100.28 35.492 3028
+-100.154 35.492 3019
+-100.028 35.492 3095
+-99.902 35.492 3084
+-99.776 35.492 3073
+-99.65 35.492 3060
+-99.524 35.492 3100
+-99.398 35.492 3131
+-99.272 35.492 3115
+-99.146 35.492 3097
+-99.02 35.492 3067
+-98.894 35.492 3045
+-98.768 35.492 3021
+-98.642 35.492 3010
+-98.516 35.492 2978
+-98.39 35.492 2943
+-98.264 35.492 2909
+-98.138 35.492 2864
+-98.012 35.492 2820
+-97.886 35.492 2818
+-97.76 35.492 2764
+-97.634 35.492 2695
+-97.508 35.492 2621
+-97.382 35.492 2548
+-97.256 35.492 2487
+-97.13 35.492 2456
+-97.004 35.492 2470
+-96.878 35.492 2562
+-96.752 35.492 2705
+-96.626 35.492 2839
+-96.5 35.492 2965
+-96.374 35.492 3061
+-96.248 35.492 3150
+-96.122 35.492 3278
+-95.996 35.492 3348
+-95.87 35.492 3410
+-95.744 35.492 3467
+-95.618 35.492 3519
+-95.492 35.492 3551
+-95.366 35.492 3609
+-95.24 35.492 3617
+-95.114 35.492 3604
+-94.988 35.492 3601
+-94.862 35.492 3632
+-94.736 35.492 3657
+-94.61 35.492 3750
+-94.484 35.492 3887
+-94.358 35.492 3978
+-94.232 35.492 4055
+-94.106 35.492 4128
+-93.98 35.492 4278
+-93.854 35.492 4407
+-93.728 35.492 4501
+-93.602 35.492 4575
+-93.476 35.492 4684
+-93.35 35.492 4792
+-93.224 35.492 4880
+-93.098 35.492 4946
+-92.972 35.492 5005
+-92.846 35.492 5107
+-92.72 35.492 5191
+-92.594 35.492 5236
+-92.468 35.492 5333
+-92.342 35.492 5356
+-92.216 35.492 5406
+-92.09 35.492 5435
+-91.964 35.492 5557
+-91.838 35.492 5599
+-91.712 35.492 5639
+-91.586 35.492 5769
+-91.46 35.492 6006
+-91.334 35.492 6064
+-91.208 35.492 6179
+-91.082 35.492 6276
+-90.956 35.492 6366
+-90.83 35.492 6462
+-90.704 35.492 6552
+-90.578 35.492 6615
+-90.452 35.492 6789
+-90.326 35.492 6852
+-90.2 35.492 6910
+-90.074 35.492 6961
+-89.948 35.492 7038
+-89.822 35.492 7097
+-89.696 35.492 7150
+-89.57 35.492 7209
+-89.444 35.492 7260
+-89.318 35.492 7299
+-89.192 35.492 7312
+-89.066 35.492 7336
+-88.94 35.492 7332
+-88.814 35.492 7333
+-88.688 35.492 7316
+-88.562 35.492 7308
+-88.436 35.492 7288
+-88.31 35.492 7277
+-88.184 35.492 7209
+-88.058 35.492 7218
+-87.932 35.492 7142
+-87.806 35.492 7103
+-87.68 35.492 7026
+-87.554 35.492 6935
+-87.428 35.492 6850
+-87.302 35.492 6828
+-87.176 35.492 6716
+-87.05 35.492 6661
+-86.924 35.492 6527
+-86.798 35.492 6435
+-86.672 35.492 6354
+-86.546 35.492 6250
+-86.42 35.492 6173
+-86.294 35.492 6086
+-86.168 35.492 5989
+-86.042 35.492 5860
+-85.916 35.492 5673
+-85.79 35.492 5604
+-85.664 35.492 5525
+-85.538 35.492 5480
+-85.412 35.492 5374
+-85.286 35.492 5232
+-85.16 35.492 5104
+-85.034 35.492 5061
+-84.908 35.492 4880
+-84.782 35.492 4689
+-84.656 35.492 4574
+-84.53 35.492 4496
+-84.404 35.492 4341
+-84.278 35.492 4133
+-84.152 35.492 4012
+-84.026 35.492 3938
+-83.9 35.492 3940
+-83.774 35.492 3952
+-83.648 35.492 3931
+-83.522 35.492 3857
+-83.396 35.492 3635
+-83.27 35.492 3438
+-83.144 35.492 3192
+-83.018 35.492 2962
+-82.892 35.492 2852
+-82.766 35.492 2892
+-82.64 35.492 2941
+-82.514 35.492 2907
+-82.388 35.492 2758
+-82.262 35.492 2495
+-82.136 35.492 2153
+-82.01 35.492 1832
+-81.884 35.492 1707
+-81.758 35.492 1782
+-81.632 35.492 1963
+-81.506 35.492 2151
+-81.38 35.492 2311
+-81.254 35.492 2437
+-81.128 35.492 2505
+-81.002 35.492 2552
+-80.876 35.492 2602
+-80.75 35.492 2646
+-80.624 35.492 2680
+-80.498 35.492 2707
+-80.372 35.492 2726
+-80.246 35.492 2735
+-80.12 35.492 2753
+-79.994 35.492 2721
+-79.868 35.492 2704
+-79.742 35.492 2703
+-79.616 35.492 2678
+-79.49 35.492 2674
+-79.364 35.492 2562
+-79.238 35.492 2560
+-79.112 35.492 2556
+-78.986 35.492 2545
+-78.86 35.492 2542
+-78.734 35.492 2543
+-78.608 35.492 2515
+-78.482 35.492 2480
+-78.356 35.492 2486
+-78.23 35.492 2460
+-78.104 35.492 2468
+-77.978 35.492 2477
+-77.852 35.492 2463
+-77.726 35.492 2488
+-77.6 35.492 2507
+-77.474 35.492 2547
+-77.348 35.492 2532
+-77.222 35.492 2583
+-77.096 35.492 2577
+-76.97 35.492 2622
+-76.844 35.492 2634
+-76.718 35.492 2653
+-76.592 35.492 2667
+-76.466 35.492 2754
+-76.34 35.492 2753
+-76.214 35.492 2774
+-76.088 35.492 2827
+-75.962 35.492 2838
+-75.836 35.492 2890
+-75.71 35.492 2901
+-75.584 35.492 2911
+-75.458 35.492 2921
+-75.332 35.492 2930
+-75.206 35.492 2881
+-75.08 35.492 2904
+-74.954 35.492 2912
+-74.828 35.492 2913
+-74.702 35.492 3170
+-74.576 35.492 3199
+-74.45 35.492 3206
+-74.324 35.492 3209
+-74.198 35.492 3215
+-74.072 35.492 3224
+-73.946 35.492 3241
+-73.82 35.492 3247
+-73.694 35.492 3243
+-73.568 35.492 3249
+-73.442 35.492 3212
+-73.316 35.492 3217
+-73.19 35.492 3221
+-73.064 35.492 3280
+-72.938 35.492 3280
+-72.812 35.492 3291
+-72.686 35.492 3296
+-72.56 35.492 3282
+-72.434 35.492 3304
+-72.308 35.492 3348
+-72.182 35.492 3360
+-72.056 35.492 3363
+-71.93 35.492 3365
+-71.804 35.492 3413
+-71.678 35.492 3418
+-71.552 35.492 3365
+-71.426 35.492 3387
+-71.3 35.492 3384
+-71.174 35.492 3309
+-71.048 35.492 3231
+-70.922 35.492 3253
+-70.796 35.492 3256
+-70.67 35.492 3287
+-70.544 35.492 3265
+-70.418 35.492 3276
+-70.292 35.492 3279
+-70.166 35.492 3262
+-70.04 35.492 3265
+-69.914 35.492 3267
+-69.788 35.492 3246
+-69.662 35.492 3230
+-69.536 35.492 3263
+-69.41 35.492 3259
+-69.284 35.492 3262
+-69.158 35.492 3264
+-69.032 35.492 3188
+-68.906 35.492 3227
+-68.78 35.492 3224
+-68.654 35.492 3226
+-68.528 35.492 3228
+-68.402 35.492 3458
+-68.276 35.492 3382
+-68.15 35.492 3395
+-68.024 35.492 3397
+-67.898 35.492 3293
+-67.772 35.492 3280
+-67.646 35.492 3281
+-67.52 35.492 3282
+-67.394 35.492 3260
+-67.268 35.492 3261
+-67.142 35.492 3262
+-67.016 35.492 3263
+-66.89 35.492 3263
+-66.764 35.492 3288
+-66.638 35.492 3289
+-66.512 35.492 3274
+-66.386 35.492 3275
+-66.26 35.492 3276
+-66.134 35.492 3215
+-66.008 35.492 3401
+-65.882 35.492 3359
+-65.756 35.492 3360
+-65.63 35.492 3330
+-65.504 35.492 3330
+-65.378 35.492 3331
+-65.252 35.492 3463
+-65.126 35.492 3464
+-128 35.44 2899
+-127.874 35.44 2946
+-127.748 35.44 2938
+-127.622 35.44 2929
+-127.496 35.44 2920
+-127.37 35.44 2911
+-127.244 35.44 2901
+-127.118 35.44 2997
+-126.992 35.44 2985
+-126.866 35.44 2972
+-126.74 35.44 2958
+-126.614 35.44 2944
+-126.488 35.44 2929
+-126.362 35.44 2913
+-126.236 35.44 2896
+-126.11 35.44 2878
+-125.984 35.44 2860
+-125.858 35.44 2841
+-125.732 35.44 2890
+-125.606 35.44 2869
+-125.48 35.44 2848
+-125.354 35.44 2827
+-125.228 35.44 2807
+-125.102 35.44 2787
+-124.976 35.44 2769
+-124.85 35.44 2750
+-124.724 35.44 2737
+-124.598 35.44 2769
+-124.472 35.44 2769
+-124.346 35.44 2781
+-124.22 35.44 2809
+-124.094 35.44 2856
+-123.968 35.44 2923
+-123.842 35.44 3010
+-123.716 35.44 3112
+-123.59 35.44 3221
+-123.464 35.44 3364
+-123.338 35.44 3469
+-123.212 35.44 3582
+-123.086 35.44 3722
+-122.96 35.44 3774
+-122.834 35.44 3860
+-122.708 35.44 3952
+-122.582 35.44 3956
+-122.456 35.44 3993
+-122.33 35.44 4075
+-122.204 35.44 4190
+-122.078 35.44 4347
+-121.952 35.44 4508
+-121.826 35.44 4587
+-121.7 35.44 4765
+-121.574 35.44 4944
+-121.448 35.44 4997
+-121.322 35.44 5071
+-121.196 35.44 5191
+-121.07 35.44 5243
+-120.944 35.44 5346
+-120.818 35.44 5468
+-120.692 35.44 5658
+-120.566 35.44 5737
+-120.44 35.44 5850
+-120.314 35.44 5995
+-120.188 35.44 6114
+-120.062 35.44 6262
+-119.936 35.44 6408
+-119.81 35.44 6490
+-119.684 35.44 6643
+-119.558 35.44 6772
+-119.432 35.44 6809
+-119.306 35.44 6947
+-119.18 35.44 7069
+-119.054 35.44 7229
+-118.928 35.44 7328
+-118.802 35.44 7371
+-118.676 35.44 7497
+-118.55 35.44 7644
+-118.424 35.44 7710
+-118.298 35.44 7766
+-118.172 35.44 7860
+-118.046 35.44 7921
+-117.92 35.44 7989
+-117.794 35.44 8032
+-117.668 35.44 8083
+-117.542 35.44 8113
+-117.416 35.44 8131
+-117.29 35.44 8113
+-117.164 35.44 8126
+-117.038 35.44 8102
+-116.912 35.44 8070
+-116.786 35.44 8013
+-116.66 35.44 7945
+-116.534 35.44 7928
+-116.408 35.44 7791
+-116.282 35.44 7742
+-116.156 35.44 7634
+-116.03 35.44 7585
+-115.904 35.44 7446
+-115.778 35.44 7324
+-115.652 35.44 7294
+-115.526 35.44 7102
+-115.4 35.44 7007
+-115.274 35.44 6943
+-115.148 35.44 6784
+-115.022 35.44 6704
+-114.896 35.44 6567
+-114.77 35.44 6450
+-114.644 35.44 6289
+-114.518 35.44 6185
+-114.392 35.44 6077
+-114.266 35.44 5954
+-114.14 35.44 5842
+-114.014 35.44 5715
+-113.888 35.44 5540
+-113.762 35.44 5385
+-113.636 35.44 5228
+-113.51 35.44 5117
+-113.384 35.44 5009
+-113.258 35.44 5005
+-113.132 35.44 4865
+-113.006 35.44 4676
+-112.88 35.44 4524
+-112.754 35.44 4562
+-112.628 35.44 4676
+-112.502 35.44 4755
+-112.376 35.44 4786
+-112.25 35.44 4834
+-112.124 35.44 4911
+-111.998 35.44 4944
+-111.872 35.44 5046
+-111.746 35.44 5067
+-111.62 35.44 5149
+-111.494 35.44 5148
+-111.368 35.44 5171
+-111.242 35.44 5219
+-111.116 35.44 5259
+-110.99 35.44 5291
+-110.864 35.44 5325
+-110.738 35.44 5345
+-110.612 35.44 5331
+-110.486 35.44 5337
+-110.36 35.44 5355
+-110.234 35.44 5348
+-110.108 35.44 5328
+-109.982 35.44 5316
+-109.856 35.44 5296
+-109.73 35.44 5263
+-109.604 35.44 5245
+-109.478 35.44 5217
+-109.352 35.44 5174
+-109.226 35.44 5101
+-109.1 35.44 5028
+-108.974 35.44 4966
+-108.848 35.44 4921
+-108.722 35.44 4881
+-108.596 35.44 4842
+-108.47 35.44 4783
+-108.344 35.44 4756
+-108.218 35.44 4716
+-108.092 35.44 4676
+-107.966 35.44 4631
+-107.84 35.44 4539
+-107.714 35.44 4414
+-107.588 35.44 4324
+-107.462 35.44 4316
+-107.336 35.44 4300
+-107.21 35.44 4203
+-107.084 35.44 4131
+-106.958 35.44 4083
+-106.832 35.44 3983
+-106.706 35.44 3880
+-106.58 35.44 3735
+-106.454 35.44 3630
+-106.328 35.44 3496
+-106.202 35.44 3390
+-106.076 35.44 3319
+-105.95 35.44 3312
+-105.824 35.44 3319
+-105.698 35.44 3326
+-105.572 35.44 3346
+-105.446 35.44 3381
+-105.32 35.44 3395
+-105.194 35.44 3422
+-105.068 35.44 3403
+-104.942 35.44 3422
+-104.816 35.44 3439
+-104.69 35.44 3454
+-104.564 35.44 3468
+-104.438 35.44 3456
+-104.312 35.44 3467
+-104.186 35.44 3477
+-104.06 35.44 3487
+-103.934 35.44 3495
+-103.808 35.44 3503
+-103.682 35.44 3473
+-103.556 35.44 3395
+-103.43 35.44 3399
+-103.304 35.44 3402
+-103.178 35.44 3406
+-103.052 35.44 3409
+-102.926 35.44 3408
+-102.8 35.44 3398
+-102.674 35.44 3431
+-102.548 35.44 3436
+-102.422 35.44 3440
+-102.296 35.44 3444
+-102.17 35.44 3448
+-102.044 35.44 3451
+-101.918 35.44 3455
+-101.792 35.44 3274
+-101.666 35.44 3228
+-101.54 35.44 3136
+-101.414 35.44 3125
+-101.288 35.44 3068
+-101.162 35.44 3028
+-101.036 35.44 2991
+-100.91 35.44 2973
+-100.784 35.44 2956
+-100.658 35.44 2938
+-100.532 35.44 2986
+-100.406 35.44 3024
+-100.28 35.44 3012
+-100.154 35.44 3020
+-100.028 35.44 3095
+-99.902 35.44 3084
+-99.776 35.44 3073
+-99.65 35.44 3115
+-99.524 35.44 3096
+-99.398 35.44 3083
+-99.272 35.44 3068
+-99.146 35.44 3089
+-99.02 35.44 3071
+-98.894 35.44 3050
+-98.768 35.44 3044
+-98.642 35.44 3018
+-98.516 35.44 2989
+-98.39 35.44 2963
+-98.264 35.44 2928
+-98.138 35.44 2896
+-98.012 35.44 2910
+-97.886 35.44 2843
+-97.76 35.44 2801
+-97.634 35.44 2773
+-97.508 35.44 2721
+-97.382 35.44 2675
+-97.256 35.44 2641
+-97.13 35.44 2631
+-97.004 35.44 2679
+-96.878 35.44 2758
+-96.752 35.44 2844
+-96.626 35.44 2942
+-96.5 35.44 3040
+-96.374 35.44 3129
+-96.248 35.44 3207
+-96.122 35.44 3330
+-95.996 35.44 3380
+-95.87 35.44 3448
+-95.744 35.44 3503
+-95.618 35.44 3540
+-95.492 35.44 3568
+-95.366 35.44 3625
+-95.24 35.44 3620
+-95.114 35.44 3601
+-94.988 35.44 3567
+-94.862 35.44 3562
+-94.736 35.44 3574
+-94.61 35.44 3684
+-94.484 35.44 3824
+-94.358 35.44 3926
+-94.232 35.44 4009
+-94.106 35.44 4105
+-93.98 35.44 4224
+-93.854 35.44 4325
+-93.728 35.44 4410
+-93.602 35.44 4535
+-93.476 35.44 4602
+-93.35 35.44 4703
+-93.224 35.44 4800
+-93.098 35.44 4881
+-92.972 35.44 4980
+-92.846 35.44 5073
+-92.72 35.44 5158
+-92.594 35.44 5136
+-92.468 35.44 5246
+-92.342 35.44 5330
+-92.216 35.44 5345
+-92.09 35.44 5429
+-91.964 35.44 5506
+-91.838 35.44 5544
+-91.712 35.44 5636
+-91.586 35.44 5618
+-91.46 35.44 5920
+-91.334 35.44 6008
+-91.208 35.44 6136
+-91.082 35.44 6231
+-90.956 35.44 6339
+-90.83 35.44 6441
+-90.704 35.44 6533
+-90.578 35.44 6609
+-90.452 35.44 6712
+-90.326 35.44 6813
+-90.2 35.44 6870
+-90.074 35.44 6934
+-89.948 35.44 7005
+-89.822 35.44 7054
+-89.696 35.44 7110
+-89.57 35.44 7161
+-89.444 35.44 7218
+-89.318 35.44 7230
+-89.192 35.44 7273
+-89.066 35.44 7273
+-88.94 35.44 7283
+-88.814 35.44 7309
+-88.688 35.44 7271
+-88.562 35.44 7252
+-88.436 35.44 7226
+-88.31 35.44 7216
+-88.184 35.44 7194
+-88.058 35.44 7147
+-87.932 35.44 7124
+-87.806 35.44 7054
+-87.68 35.44 6963
+-87.554 35.44 6885
+-87.428 35.44 6834
+-87.302 35.44 6726
+-87.176 35.44 6697
+-87.05 35.44 6602
+-86.924 35.44 6502
+-86.798 35.44 6400
+-86.672 35.44 6308
+-86.546 35.44 6220
+-86.42 35.44 6132
+-86.294 35.44 6054
+-86.168 35.44 5936
+-86.042 35.44 5853
+-85.916 35.44 5697
+-85.79 35.44 5590
+-85.664 35.44 5419
+-85.538 35.44 5402
+-85.412 35.44 5338
+-85.286 35.44 5155
+-85.16 35.44 4984
+-85.034 35.44 5020
+-84.908 35.44 4831
+-84.782 35.44 4632
+-84.656 35.44 4505
+-84.53 35.44 4500
+-84.404 35.44 4382
+-84.278 35.44 4178
+-84.152 35.44 3950
+-84.026 35.44 3809
+-83.9 35.44 3885
+-83.774 35.44 3930
+-83.648 35.44 3919
+-83.522 35.44 3806
+-83.396 35.44 3632
+-83.27 35.44 3483
+-83.144 35.44 3302
+-83.018 35.44 3114
+-82.892 35.44 3018
+-82.766 35.44 2998
+-82.64 35.44 2984
+-82.514 35.44 2902
+-82.388 35.44 2730
+-82.262 35.44 2437
+-82.136 35.44 2060
+-82.01 35.44 1716
+-81.884 35.44 1590
+-81.758 35.44 1689
+-81.632 35.44 1897
+-81.506 35.44 2111
+-81.38 35.44 2285
+-81.254 35.44 2406
+-81.128 35.44 2473
+-81.002 35.44 2541
+-80.876 35.44 2599
+-80.75 35.44 2642
+-80.624 35.44 2675
+-80.498 35.44 2700
+-80.372 35.44 2712
+-80.246 35.44 2723
+-80.12 35.44 2732
+-79.994 35.44 2734
+-79.868 35.44 2681
+-79.742 35.44 2647
+-79.616 35.44 2640
+-79.49 35.44 2633
+-79.364 35.44 2639
+-79.238 35.44 2523
+-79.112 35.44 2511
+-78.986 35.44 2508
+-78.86 35.44 2510
+-78.734 35.44 2479
+-78.608 35.44 2449
+-78.482 35.44 2455
+-78.356 35.44 2430
+-78.23 35.44 2439
+-78.104 35.44 2448
+-77.978 35.44 2455
+-77.852 35.44 2475
+-77.726 35.44 2502
+-77.6 35.44 2524
+-77.474 35.44 2511
+-77.348 35.44 2563
+-77.222 35.44 2558
+-77.096 35.44 2605
+-76.97 35.44 2617
+-76.844 35.44 2638
+-76.718 35.44 2690
+-76.592 35.44 2739
+-76.466 35.44 2740
+-76.34 35.44 2762
+-76.214 35.44 2815
+-76.088 35.44 2826
+-75.962 35.44 2879
+-75.836 35.44 2890
+-75.71 35.44 2901
+-75.584 35.44 2911
+-75.458 35.44 2921
+-75.332 35.44 2874
+-75.206 35.44 2897
+-75.08 35.44 2906
+-74.954 35.44 2907
+-74.828 35.44 3162
+-74.702 35.44 3190
+-74.576 35.44 3198
+-74.45 35.44 3202
+-74.324 35.44 3208
+-74.198 35.44 3218
+-74.072 35.44 3235
+-73.946 35.44 3241
+-73.82 35.44 3238
+-73.694 35.44 3243
+-73.568 35.44 3207
+-73.442 35.44 3212
+-73.316 35.44 3217
+-73.19 35.44 3275
+-73.064 35.44 3275
+-72.938 35.44 3287
+-72.812 35.44 3292
+-72.686 35.44 3278
+-72.56 35.44 3300
+-72.434 35.44 3344
+-72.308 35.44 3356
+-72.182 35.44 3359
+-72.056 35.44 3361
+-71.93 35.44 3409
+-71.804 35.44 3414
+-71.678 35.44 3362
+-71.552 35.44 3384
+-71.426 35.44 3381
+-71.3 35.44 3310
+-71.174 35.44 3229
+-71.048 35.44 3251
+-70.922 35.44 3254
+-70.796 35.44 3285
+-70.67 35.44 3262
+-70.544 35.44 3274
+-70.418 35.44 3277
+-70.292 35.44 3260
+-70.166 35.44 3263
+-70.04 35.44 3266
+-69.914 35.44 3245
+-69.788 35.44 3229
+-69.662 35.44 3262
+-69.536 35.44 3258
+-69.41 35.44 3260
+-69.284 35.44 3263
+-69.158 35.44 3186
+-69.032 35.44 3226
+-68.906 35.44 3223
+-68.78 35.44 3225
+-68.654 35.44 3227
+-68.528 35.44 3457
+-68.402 35.44 3384
+-68.276 35.44 3394
+-68.15 35.44 3395
+-68.024 35.44 3292
+-67.898 35.44 3279
+-67.772 35.44 3280
+-67.646 35.44 3281
+-67.52 35.44 3259
+-67.394 35.44 3260
+-67.268 35.44 3261
+-67.142 35.44 3262
+-67.016 35.44 3263
+-66.89 35.44 3287
+-66.764 35.44 3288
+-66.638 35.44 3273
+-66.512 35.44 3274
+-66.386 35.44 3275
+-66.26 35.44 3214
+-66.134 35.44 3400
+-66.008 35.44 3359
+-65.882 35.44 3359
+-65.756 35.44 3329
+-65.63 35.44 3330
+-65.504 35.44 3330
+-65.378 35.44 3462
+-65.252 35.44 3463
+-65.126 35.44 3463
+-128 35.388 2902
+-127.874 35.388 2896
+-127.748 35.388 2943
+-127.622 35.388 2935
+-127.496 35.388 2927
+-127.37 35.388 2918
+-127.244 35.388 2908
+-127.118 35.388 2898
+-126.992 35.388 2995
+-126.866 35.388 2982
+-126.74 35.388 2969
+-126.614 35.388 2956
+-126.488 35.388 2941
+-126.362 35.388 2926
+-126.236 35.388 2910
+-126.11 35.388 2894
+-125.984 35.388 2876
+-125.858 35.388 2889
+-125.732 35.388 2908
+-125.606 35.388 2887
+-125.48 35.388 2865
+-125.354 35.388 2843
+-125.228 35.388 2820
+-125.102 35.388 2797
+-124.976 35.388 2773
+-124.85 35.388 2750
+-124.724 35.388 2734
+-124.598 35.388 2747
+-124.472 35.388 2739
+-124.346 35.388 2745
+-124.22 35.388 2773
+-124.094 35.388 2826
+-123.968 35.388 2903
+-123.842 35.388 3001
+-123.716 35.388 3111
+-123.59 35.388 3227
+-123.464 35.388 3431
+-123.338 35.388 3500
+-123.212 35.388 3666
+-123.086 35.388 3734
+-122.96 35.388 3787
+-122.834 35.388 3885
+-122.708 35.388 4002
+-122.582 35.388 4027
+-122.456 35.388 4067
+-122.33 35.388 4146
+-122.204 35.388 4254
+-122.078 35.388 4399
+-121.952 35.388 4508
+-121.826 35.388 4470
+-121.7 35.388 4727
+-121.574 35.388 4916
+-121.448 35.388 4861
+-121.322 35.388 5040
+-121.196 35.388 5166
+-121.07 35.388 5305
+-120.944 35.388 5326
+-120.818 35.388 5472
+-120.692 35.388 5665
+-120.566 35.388 5812
+-120.44 35.388 5915
+-120.314 35.388 6080
+-120.188 35.388 6130
+-120.062 35.388 6261
+-119.936 35.388 6365
+-119.81 35.388 6539
+-119.684 35.388 6645
+-119.558 35.388 6777
+-119.432 35.388 6908
+-119.306 35.388 6978
+-119.18 35.388 7137
+-119.054 35.388 7223
+-118.928 35.388 7300
+-118.802 35.388 7418
+-118.676 35.388 7526
+-118.55 35.388 7648
+-118.424 35.388 7714
+-118.298 35.388 7833
+-118.172 35.388 7933
+-118.046 35.388 7958
+-117.92 35.388 8075
+-117.794 35.388 8089
+-117.668 35.388 8177
+-117.542 35.388 8163
+-117.416 35.388 8203
+-117.29 35.388 8191
+-117.164 35.388 8197
+-117.038 35.388 8160
+-116.912 35.388 8122
+-116.786 35.388 8067
+-116.66 35.388 8011
+-116.534 35.388 7933
+-116.408 35.388 7826
+-116.282 35.388 7771
+-116.156 35.388 7667
+-116.03 35.388 7596
+-115.904 35.388 7516
+-115.778 35.388 7392
+-115.652 35.388 7208
+-115.526 35.388 7169
+-115.4 35.388 7044
+-115.274 35.388 6900
+-115.148 35.388 6782
+-115.022 35.388 6704
+-114.896 35.388 6585
+-114.77 35.388 6408
+-114.644 35.388 6366
+-114.518 35.388 6220
+-114.392 35.388 6090
+-114.266 35.388 5958
+-114.14 35.388 5837
+-114.014 35.388 5726
+-113.888 35.388 5629
+-113.762 35.388 5427
+-113.636 35.388 5276
+-113.51 35.388 5170
+-113.384 35.388 5099
+-113.258 35.388 5023
+-113.132 35.388 4898
+-113.006 35.388 4737
+-112.88 35.388 4660
+-112.754 35.388 4683
+-112.628 35.388 4747
+-112.502 35.388 4797
+-112.376 35.388 4841
+-112.25 35.388 4879
+-112.124 35.388 4956
+-111.998 35.388 5024
+-111.872 35.388 5042
+-111.746 35.388 5101
+-111.62 35.388 5156
+-111.494 35.388 5191
+-111.368 35.388 5246
+-111.242 35.388 5294
+-111.116 35.388 5342
+-110.99 35.388 5375
+-110.864 35.388 5391
+-110.738 35.388 5380
+-110.612 35.388 5404
+-110.486 35.388 5424
+-110.36 35.388 5427
+-110.234 35.388 5423
+-110.108 35.388 5407
+-109.982 35.388 5370
+-109.856 35.388 5322
+-109.73 35.388 5340
+-109.604 35.388 5324
+-109.478 35.388 5289
+-109.352 35.388 5254
+-109.226 35.388 5201
+-109.1 35.388 5122
+-108.974 35.388 5035
+-108.848 35.388 4995
+-108.722 35.388 4980
+-108.596 35.388 4919
+-108.47 35.388 4843
+-108.344 35.388 4781
+-108.218 35.388 4728
+-108.092 35.388 4702
+-107.966 35.388 4669
+-107.84 35.388 4590
+-107.714 35.388 4517
+-107.588 35.388 4456
+-107.462 35.388 4430
+-107.336 35.388 4397
+-107.21 35.388 4324
+-107.084 35.388 4215
+-106.958 35.388 4119
+-106.832 35.388 4025
+-106.706 35.388 3937
+-106.58 35.388 3844
+-106.454 35.388 3727
+-106.328 35.388 3618
+-106.202 35.388 3526
+-106.076 35.388 3468
+-105.95 35.388 3444
+-105.824 35.388 3437
+-105.698 35.388 3450
+-105.572 35.388 3462
+-105.446 35.388 3467
+-105.32 35.388 3460
+-105.194 35.388 3477
+-105.068 35.388 3494
+-104.942 35.388 3463
+-104.816 35.388 3476
+-104.69 35.388 3487
+-104.564 35.388 3474
+-104.438 35.388 3483
+-104.312 35.388 3492
+-104.186 35.388 3500
+-104.06 35.388 3508
+-103.934 35.388 3515
+-103.808 35.388 3487
+-103.682 35.388 3479
+-103.556 35.388 3485
+-103.43 35.388 3417
+-103.304 35.388 3420
+-103.178 35.388 3422
+-103.052 35.388 3422
+-102.926 35.388 3411
+-102.8 35.388 3443
+-102.674 35.388 3447
+-102.548 35.388 3451
+-102.422 35.388 3455
+-102.296 35.388 3459
+-102.17 35.388 3462
+-102.044 35.388 3465
+-101.918 35.388 3416
+-101.792 35.388 3370
+-101.666 35.388 3239
+-101.54 35.388 3148
+-101.414 35.388 3091
+-101.288 35.388 3128
+-101.162 35.388 3018
+-101.036 35.388 3001
+-100.91 35.388 3008
+-100.784 35.388 2969
+-100.658 35.388 2944
+-100.532 35.388 2989
+-100.406 35.388 3025
+-100.28 35.388 3013
+-100.154 35.388 3020
+-100.028 35.388 3003
+-99.902 35.388 3085
+-99.776 35.388 3072
+-99.65 35.388 3110
+-99.524 35.388 3099
+-99.398 35.388 3086
+-99.272 35.388 3109
+-99.146 35.388 3093
+-99.02 35.388 3076
+-98.894 35.388 3074
+-98.768 35.388 3052
+-98.642 35.388 3028
+-98.516 35.388 3008
+-98.39 35.388 2979
+-98.264 35.388 2957
+-98.138 35.388 2942
+-98.012 35.388 2925
+-97.886 35.388 2898
+-97.76 35.388 2885
+-97.634 35.388 2848
+-97.508 35.388 2813
+-97.382 35.388 2786
+-97.256 35.388 2770
+-97.13 35.388 2784
+-97.004 35.388 2851
+-96.878 35.388 2898
+-96.752 35.388 2964
+-96.626 35.388 3039
+-96.5 35.388 3116
+-96.374 35.388 3189
+-96.248 35.388 3300
+-96.122 35.388 3361
+-95.996 35.388 3429
+-95.87 35.388 3485
+-95.744 35.388 3525
+-95.618 35.388 3558
+-95.492 35.388 3581
+-95.366 35.388 3640
+-95.24 35.388 3628
+-95.114 35.388 3597
+-94.988 35.388 3522
+-94.862 35.388 3413
+-94.736 35.388 3580
+-94.61 35.388 3711
+-94.484 35.388 3799
+-94.358 35.388 3891
+-94.232 35.388 3965
+-94.106 35.388 4050
+-93.98 35.388 4212
+-93.854 35.388 4273
+-93.728 35.388 4354
+-93.602 35.388 4506
+-93.476 35.388 4563
+-93.35 35.388 4618
+-93.224 35.388 4740
+-93.098 35.388 4779
+-92.972 35.388 4906
+-92.846 35.388 5038
+-92.72 35.388 5130
+-92.594 35.388 5177
+-92.468 35.388 5147
+-92.342 35.388 5258
+-92.216 35.388 5339
+-92.09 35.388 5406
+-91.964 35.388 5454
+-91.838 35.388 5541
+-91.712 35.388 5563
+-91.586 35.388 5608
+-91.46 35.388 5864
+-91.334 35.388 5972
+-91.208 35.388 6086
+-91.082 35.388 6194
+-90.956 35.388 6304
+-90.83 35.388 6423
+-90.704 35.388 6490
+-90.578 35.388 6551
+-90.452 35.388 6643
+-90.326 35.388 6741
+-90.2 35.388 6768
+-90.074 35.388 6914
+-89.948 35.388 6947
+-89.822 35.388 7010
+-89.696 35.388 7081
+-89.57 35.388 7089
+-89.444 35.388 7148
+-89.318 35.388 7151
+-89.192 35.388 7165
+-89.066 35.388 7200
+-88.94 35.388 7239
+-88.814 35.388 7205
+-88.688 35.388 7220
+-88.562 35.388 7201
+-88.436 35.388 7172
+-88.31 35.388 7154
+-88.184 35.388 7167
+-88.058 35.388 7087
+-87.932 35.388 6994
+-87.806 35.388 6989
+-87.68 35.388 6899
+-87.554 35.388 6841
+-87.428 35.388 6803
+-87.302 35.388 6686
+-87.176 35.388 6668
+-87.05 35.388 6561
+-86.924 35.388 6459
+-86.798 35.388 6398
+-86.672 35.388 6284
+-86.546 35.388 6194
+-86.42 35.388 6075
+-86.294 35.388 6012
+-86.168 35.388 5931
+-86.042 35.388 5786
+-85.916 35.388 5681
+-85.79 35.388 5588
+-85.664 35.388 5431
+-85.538 35.388 5279
+-85.412 35.388 5303
+-85.286 35.388 5181
+-85.16 35.388 5069
+-85.034 35.388 5003
+-84.908 35.388 4824
+-84.782 35.388 4651
+-84.656 35.388 4550
+-84.53 35.388 4510
+-84.404 35.388 4407
+-84.278 35.388 4239
+-84.152 35.388 4002
+-84.026 35.388 3898
+-83.9 35.388 3921
+-83.774 35.388 3947
+-83.648 35.388 3940
+-83.522 35.388 3816
+-83.396 35.388 3712
+-83.27 35.388 3539
+-83.144 35.388 3403
+-83.018 35.388 3272
+-82.892 35.388 3156
+-82.766 35.388 3098
+-82.64 35.388 3031
+-82.514 35.388 2924
+-82.388 35.388 2738
+-82.262 35.388 2465
+-82.136 35.388 2124
+-82.01 35.388 1825
+-81.884 35.388 1695
+-81.758 35.388 1771
+-81.632 35.388 1950
+-81.506 35.388 2141
+-81.38 35.388 2300
+-81.254 35.388 2387
+-81.128 35.388 2482
+-81.002 35.388 2547
+-80.876 35.388 2602
+-80.75 35.388 2643
+-80.624 35.388 2673
+-80.498 35.388 2690
+-80.372 35.388 2703
+-80.246 35.388 2714
+-80.12 35.388 2716
+-79.994 35.388 2689
+-79.868 35.388 2627
+-79.742 35.388 2618
+-79.616 35.388 2609
+-79.49 35.388 2611
+-79.364 35.388 2613
+-79.238 35.388 2484
+-79.112 35.388 2475
+-78.986 35.388 2474
+-78.86 35.388 2441
+-78.734 35.388 2414
+-78.608 35.388 2420
+-78.482 35.388 2397
+-78.356 35.388 2406
+-78.23 35.388 2414
+-78.104 35.388 2425
+-77.978 35.388 2446
+-77.852 35.388 2473
+-77.726 35.388 2497
+-77.6 35.388 2529
+-77.474 35.388 2541
+-77.348 35.388 2558
+-77.222 35.388 2585
+-77.096 35.388 2599
+-76.97 35.388 2621
+-76.844 35.388 2674
+-76.718 35.388 2724
+-76.592 35.388 2726
+-76.466 35.388 2748
+-76.34 35.388 2801
+-76.214 35.388 2854
+-76.088 35.388 2867
+-75.962 35.388 2879
+-75.836 35.388 2890
+-75.71 35.388 2901
+-75.584 35.388 2912
+-75.458 35.388 2867
+-75.332 35.388 2890
+-75.206 35.388 2899
+-75.08 35.388 2901
+-74.954 35.388 3153
+-74.828 35.388 3181
+-74.702 35.388 3189
+-74.576 35.388 3194
+-74.45 35.388 3201
+-74.324 35.388 3210
+-74.198 35.388 3228
+-74.072 35.388 3234
+-73.946 35.388 3231
+-73.82 35.388 3237
+-73.694 35.388 3202
+-73.568 35.388 3207
+-73.442 35.388 3212
+-73.316 35.388 3270
+-73.19 35.388 3270
+-73.064 35.388 3282
+-72.938 35.388 3287
+-72.812 35.388 3274
+-72.686 35.388 3296
+-72.56 35.388 3340
+-72.434 35.388 3352
+-72.308 35.388 3355
+-72.182 35.388 3358
+-72.056 35.388 3405
+-71.93 35.388 3410
+-71.804 35.388 3358
+-71.678 35.388 3380
+-71.552 35.388 3378
+-71.426 35.388 3304
+-71.3 35.388 3227
+-71.174 35.388 3248
+-71.048 35.388 3252
+-70.922 35.388 3283
+-70.796 35.388 3260
+-70.67 35.388 3272
+-70.544 35.388 3275
+-70.418 35.388 3258
+-70.292 35.388 3261
+-70.166 35.388 3264
+-70.04 35.388 3243
+-69.914 35.388 3227
+-69.788 35.388 3260
+-69.662 35.388 3256
+-69.536 35.388 3259
+-69.41 35.388 3262
+-69.284 35.388 3185
+-69.158 35.388 3225
+-69.032 35.388 3222
+-68.906 35.388 3224
+-68.78 35.388 3226
+-68.654 35.388 3455
+-68.528 35.388 3379
+-68.402 35.388 3393
+-68.276 35.388 3394
+-68.15 35.388 3291
+-68.024 35.388 3278
+-67.898 35.388 3279
+-67.772 35.388 3280
+-67.646 35.388 3259
+-67.52 35.388 3259
+-67.394 35.388 3260
+-67.268 35.388 3261
+-67.142 35.388 3262
+-67.016 35.388 3286
+-66.89 35.388 3287
+-66.764 35.388 3272
+-66.638 35.388 3273
+-66.512 35.388 3274
+-66.386 35.388 3213
+-66.26 35.388 3400
+-66.134 35.388 3358
+-66.008 35.388 3359
+-65.882 35.388 3328
+-65.756 35.388 3329
+-65.63 35.388 3330
+-65.504 35.388 3461
+-65.378 35.388 3462
+-65.252 35.388 3463
+-65.126 35.388 3463
+-128 35.336 2905
+-127.874 35.336 2900
+-127.748 35.336 2894
+-127.622 35.336 2941
+-127.496 35.336 2933
+-127.37 35.336 2925
+-127.244 35.336 2916
+-127.118 35.336 2906
+-126.992 35.336 2896
+-126.866 35.336 2998
+-126.74 35.336 2986
+-126.614 35.336 2973
+-126.488 35.336 2959
+-126.362 35.336 2939
+-126.236 35.336 2924
+-126.11 35.336 2908
+-125.984 35.336 2914
+-125.858 35.336 2895
+-125.732 35.336 2885
+-125.606 35.336 2901
+-125.48 35.336 2878
+-125.354 35.336 2854
+-125.228 35.336 2827
+-125.102 35.336 2799
+-124.976 35.336 2767
+-124.85 35.336 2733
+-124.724 35.336 2697
+-124.598 35.336 2666
+-124.472 35.336 2667
+-124.346 35.336 2657
+-124.22 35.336 2677
+-124.094 35.336 2736
+-123.968 35.336 2830
+-123.842 35.336 2947
+-123.716 35.336 3076
+-123.59 35.336 3223
+-123.464 35.336 3438
+-123.338 35.336 3547
+-123.212 35.336 3647
+-123.086 35.336 3742
+-122.96 35.336 3801
+-122.834 35.336 3898
+-122.708 35.336 4023
+-122.582 35.336 4064
+-122.456 35.336 4084
+-122.33 35.336 4156
+-122.204 35.336 4279
+-122.078 35.336 4406
+-121.952 35.336 4554
+-121.826 35.336 4642
+-121.7 35.336 4788
+-121.574 35.336 4903
+-121.448 35.336 4847
+-121.322 35.336 5006
+-121.196 35.336 5162
+-121.07 35.336 5264
+-120.944 35.336 5339
+-120.818 35.336 5471
+-120.692 35.336 5629
+-120.566 35.336 5838
+-120.44 35.336 5902
+-120.314 35.336 5980
+-120.188 35.336 6140
+-120.062 35.336 6289
+-119.936 35.336 6440
+-119.81 35.336 6585
+-119.684 35.336 6659
+-119.558 35.336 6748
+-119.432 35.336 6914
+-119.306 35.336 7034
+-119.18 35.336 7127
+-119.054 35.336 7203
+-118.928 35.336 7397
+-118.802 35.336 7489
+-118.676 35.336 7598
+-118.55 35.336 7635
+-118.424 35.336 7772
+-118.298 35.336 7877
+-118.172 35.336 7964
+-118.046 35.336 8063
+-117.92 35.336 8094
+-117.794 35.336 8144
+-117.668 35.336 8197
+-117.542 35.336 8218
+-117.416 35.336 8252
+-117.29 35.336 8247
+-117.164 35.336 8238
+-117.038 35.336 8222
+-116.912 35.336 8176
+-116.786 35.336 8117
+-116.66 35.336 8042
+-116.534 35.336 7959
+-116.408 35.336 7860
+-116.282 35.336 7824
+-116.156 35.336 7734
+-116.03 35.336 7610
+-115.904 35.336 7516
+-115.778 35.336 7362
+-115.652 35.336 7245
+-115.526 35.336 7199
+-115.4 35.336 7092
+-115.274 35.336 6974
+-115.148 35.336 6810
+-115.022 35.336 6642
+-114.896 35.336 6637
+-114.77 35.336 6496
+-114.644 35.336 6322
+-114.518 35.336 6232
+-114.392 35.336 6107
+-114.266 35.336 5937
+-114.14 35.336 5855
+-114.014 35.336 5744
+-113.888 35.336 5584
+-113.762 35.336 5459
+-113.636 35.336 5295
+-113.51 35.336 5174
+-113.384 35.336 5129
+-113.258 35.336 5055
+-113.132 35.336 4952
+-113.006 35.336 4823
+-112.88 35.336 4758
+-112.754 35.336 4755
+-112.628 35.336 4747
+-112.502 35.336 4826
+-112.376 35.336 4879
+-112.25 35.336 4934
+-112.124 35.336 4997
+-111.998 35.336 5030
+-111.872 35.336 5098
+-111.746 35.336 5174
+-111.62 35.336 5250
+-111.494 35.336 5302
+-111.368 35.336 5326
+-111.242 35.336 5356
+-111.116 35.336 5394
+-110.99 35.336 5416
+-110.864 35.336 5419
+-110.738 35.336 5438
+-110.612 35.336 5470
+-110.486 35.336 5486
+-110.36 35.336 5467
+-110.234 35.336 5424
+-110.108 35.336 5448
+-109.982 35.336 5416
+-109.856 35.336 5368
+-109.73 35.336 5391
+-109.604 35.336 5398
+-109.478 35.336 5353
+-109.352 35.336 5281
+-109.226 35.336 5270
+-109.1 35.336 5172
+-108.974 35.336 5098
+-108.848 35.336 5053
+-108.722 35.336 5065
+-108.596 35.336 4989
+-108.47 35.336 4937
+-108.344 35.336 4858
+-108.218 35.336 4775
+-108.092 35.336 4723
+-107.966 35.336 4689
+-107.84 35.336 4648
+-107.714 35.336 4599
+-107.588 35.336 4538
+-107.462 35.336 4473
+-107.336 35.336 4440
+-107.21 35.336 4353
+-107.084 35.336 4284
+-106.958 35.336 4198
+-106.832 35.336 4083
+-106.706 35.336 4000
+-106.58 35.336 3924
+-106.454 35.336 3845
+-106.328 35.336 3747
+-106.202 35.336 3665
+-106.076 35.336 3628
+-105.95 35.336 3556
+-105.824 35.336 3549
+-105.698 35.336 3544
+-105.572 35.336 3533
+-105.446 35.336 3538
+-105.32 35.336 3545
+-105.194 35.336 3532
+-105.068 35.336 3543
+-104.942 35.336 3553
+-104.816 35.336 3548
+-104.69 35.336 3497
+-104.564 35.336 3505
+-104.438 35.336 3511
+-104.312 35.336 3518
+-104.186 35.336 3524
+-104.06 35.336 3529
+-103.934 35.336 3556
+-103.808 35.336 3552
+-103.682 35.336 3499
+-103.556 35.336 3504
+-103.43 35.336 3508
+-103.304 35.336 3512
+-103.178 35.336 3436
+-103.052 35.336 3425
+-102.926 35.336 3457
+-102.8 35.336 3461
+-102.674 35.336 3464
+-102.548 35.336 3467
+-102.422 35.336 3470
+-102.296 35.336 3473
+-102.17 35.336 3476
+-102.044 35.336 3427
+-101.918 35.336 3380
+-101.792 35.336 3382
+-101.666 35.336 3197
+-101.54 35.336 3114
+-101.414 35.336 3151
+-101.288 35.336 3096
+-101.162 35.336 3027
+-101.036 35.336 3011
+-100.91 35.336 3019
+-100.784 35.336 2979
+-100.658 35.336 2955
+-100.532 35.336 2993
+-100.406 35.336 3027
+-100.28 35.336 3015
+-100.154 35.336 3011
+-100.028 35.336 3084
+-99.902 35.336 3079
+-99.776 35.336 3123
+-99.65 35.336 3113
+-99.524 35.336 3102
+-99.398 35.336 3127
+-99.272 35.336 3114
+-99.146 35.336 3098
+-99.02 35.336 3100
+-98.894 35.336 3081
+-98.768 35.336 3062
+-98.642 35.336 3045
+-98.516 35.336 3022
+-98.39 35.336 3007
+-98.264 35.336 2997
+-98.138 35.336 2989
+-98.012 35.336 2973
+-97.886 35.336 2909
+-97.76 35.336 2943
+-97.634 35.336 2917
+-97.508 35.336 2895
+-97.382 35.336 2880
+-97.256 35.336 2887
+-97.13 35.336 2943
+-97.004 35.336 2968
+-96.878 35.336 3008
+-96.752 35.336 3060
+-96.626 35.336 3120
+-96.5 35.336 3181
+-96.374 35.336 3286
+-96.248 35.336 3344
+-96.122 35.336 3397
+-95.996 35.336 3444
+-95.87 35.336 3487
+-95.744 35.336 3523
+-95.618 35.336 3553
+-95.492 35.336 3597
+-95.366 35.336 3609
+-95.24 35.336 3645
+-95.114 35.336 3619
+-94.988 35.336 3568
+-94.862 35.336 3545
+-94.736 35.336 3639
+-94.61 35.336 3749
+-94.484 35.336 3745
+-94.358 35.336 3877
+-94.232 35.336 3958
+-94.106 35.336 3997
+-93.98 35.336 4162
+-93.854 35.336 4271
+-93.728 35.336 4359
+-93.602 35.336 4462
+-93.476 35.336 4544
+-93.35 35.336 4602
+-93.224 35.336 4704
+-93.098 35.336 4733
+-92.972 35.336 4812
+-92.846 35.336 4965
+-92.72 35.336 5075
+-92.594 35.336 5159
+-92.468 35.336 5191
+-92.342 35.336 5183
+-92.216 35.336 5283
+-92.09 35.336 5358
+-91.964 35.336 5412
+-91.838 35.336 5473
+-91.712 35.336 5593
+-91.586 35.336 5714
+-91.46 35.336 5862
+-91.334 35.336 6001
+-91.208 35.336 6051
+-91.082 35.336 6165
+-90.956 35.336 6252
+-90.83 35.336 6377
+-90.704 35.336 6436
+-90.578 35.336 6565
+-90.452 35.336 6612
+-90.326 35.336 6659
+-90.2 35.336 6748
+-90.074 35.336 6821
+-89.948 35.336 6860
+-89.822 35.336 6954
+-89.696 35.336 6991
+-89.57 35.336 7022
+-89.444 35.336 7075
+-89.318 35.336 7105
+-89.192 35.336 7149
+-89.066 35.336 7164
+-88.94 35.336 7159
+-88.814 35.336 7181
+-88.688 35.336 7163
+-88.562 35.336 7159
+-88.436 35.336 7122
+-88.31 35.336 7089
+-88.184 35.336 7057
+-88.058 35.336 7035
+-87.932 35.336 6995
+-87.806 35.336 6945
+-87.68 35.336 6884
+-87.554 35.336 6820
+-87.428 35.336 6779
+-87.302 35.336 6623
+-87.176 35.336 6619
+-87.05 35.336 6502
+-86.924 35.336 6421
+-86.798 35.336 6352
+-86.672 35.336 6238
+-86.546 35.336 6128
+-86.42 35.336 6017
+-86.294 35.336 5932
+-86.168 35.336 5876
+-86.042 35.336 5727
+-85.916 35.336 5624
+-85.79 35.336 5553
+-85.664 35.336 5406
+-85.538 35.336 5285
+-85.412 35.336 5294
+-85.286 35.336 5205
+-85.16 35.336 5091
+-85.034 35.336 4920
+-84.908 35.336 4715
+-84.782 35.336 4673
+-84.656 35.336 4621
+-84.53 35.336 4526
+-84.404 35.336 4410
+-84.278 35.336 4248
+-84.152 35.336 4076
+-84.026 35.336 4014
+-83.9 35.336 3968
+-83.774 35.336 3963
+-83.648 35.336 3949
+-83.522 35.336 3846
+-83.396 35.336 3720
+-83.27 35.336 3589
+-83.144 35.336 3483
+-83.018 35.336 3378
+-82.892 35.336 3253
+-82.766 35.336 3165
+-82.64 35.336 3084
+-82.514 35.336 2950
+-82.388 35.336 2778
+-82.262 35.336 2547
+-82.136 35.336 2282
+-82.01 35.336 2057
+-81.884 35.336 1933
+-81.758 35.336 1967
+-81.632 35.336 2088
+-81.506 35.336 2221
+-81.38 35.336 2354
+-81.254 35.336 2424
+-81.128 35.336 2509
+-81.002 35.336 2571
+-80.876 35.336 2612
+-80.75 35.336 2648
+-80.624 35.336 2669
+-80.498 35.336 2685
+-80.372 35.336 2698
+-80.246 35.336 2700
+-80.12 35.336 2673
+-79.994 35.336 2610
+-79.868 35.336 2599
+-79.742 35.336 2586
+-79.616 35.336 2585
+-79.49 35.336 2554
+-79.364 35.336 2542
+-79.238 35.336 2440
+-79.112 35.336 2435
+-78.986 35.336 2416
+-78.86 35.336 2376
+-78.734 35.336 2383
+-78.608 35.336 2359
+-78.482 35.336 2368
+-78.356 35.336 2379
+-78.23 35.336 2391
+-78.104 35.336 2413
+-77.978 35.336 2441
+-77.852 35.336 2467
+-77.726 35.336 2501
+-77.6 35.336 2515
+-77.474 35.336 2534
+-77.348 35.336 2563
+-77.222 35.336 2578
+-77.096 35.336 2607
+-76.97 35.336 2656
+-76.844 35.336 2706
+-76.718 35.336 2710
+-76.592 35.336 2734
+-76.466 35.336 2787
+-76.34 35.336 2840
+-76.214 35.336 2854
+-76.088 35.336 2867
+-75.962 35.336 2879
+-75.836 35.336 2891
+-75.71 35.336 2902
+-75.584 35.336 2859
+-75.458 35.336 2883
+-75.332 35.336 2892
+-75.206 35.336 2895
+-75.08 35.336 3143
+-74.954 35.336 3172
+-74.828 35.336 3180
+-74.702 35.336 3185
+-74.576 35.336 3193
+-74.45 35.336 3203
+-74.324 35.336 3220
+-74.198 35.336 3227
+-74.072 35.336 3225
+-73.946 35.336 3231
+-73.82 35.336 3196
+-73.694 35.336 3202
+-73.568 35.336 3207
+-73.442 35.336 3265
+-73.316 35.336 3265
+-73.19 35.336 3278
+-73.064 35.336 3283
+-72.938 35.336 3270
+-72.812 35.336 3292
+-72.686 35.336 3336
+-72.56 35.336 3348
+-72.434 35.336 3351
+-72.308 35.336 3354
+-72.182 35.336 3402
+-72.056 35.336 3406
+-71.93 35.336 3355
+-71.804 35.336 3377
+-71.678 35.336 3375
+-71.552 35.336 3304
+-71.426 35.336 3224
+-71.3 35.336 3246
+-71.174 35.336 3249
+-71.048 35.336 3280
+-70.922 35.336 3258
+-70.796 35.336 3270
+-70.67 35.336 3273
+-70.544 35.336 3256
+-70.418 35.336 3259
+-70.292 35.336 3262
+-70.166 35.336 3241
+-70.04 35.336 3226
+-69.914 35.336 3259
+-69.788 35.336 3255
+-69.662 35.336 3258
+-69.536 35.336 3260
+-69.41 35.336 3184
+-69.284 35.336 3223
+-69.158 35.336 3220
+-69.032 35.336 3223
+-68.906 35.336 3225
+-68.78 35.336 3454
+-68.654 35.336 3382
+-68.528 35.336 3391
+-68.402 35.336 3393
+-68.276 35.336 3290
+-68.15 35.336 3277
+-68.024 35.336 3278
+-67.898 35.336 3279
+-67.772 35.336 3258
+-67.646 35.336 3259
+-67.52 35.336 3260
+-67.394 35.336 3260
+-67.268 35.336 3261
+-67.142 35.336 3285
+-67.016 35.336 3287
+-66.89 35.336 3271
+-66.764 35.336 3272
+-66.638 35.336 3274
+-66.512 35.336 3213
+-66.386 35.336 3399
+-66.26 35.336 3357
+-66.134 35.336 3358
+-66.008 35.336 3327
+-65.882 35.336 3328
+-65.756 35.336 3329
+-65.63 35.336 3461
+-65.504 35.336 3461
+-65.378 35.336 3462
+-65.252 35.336 3462
+-65.126 35.336 3463
+-128 35.284 2909
+-127.874 35.284 2904
+-127.748 35.284 2898
+-127.622 35.284 2892
+-127.496 35.284 2940
+-127.37 35.284 2932
+-127.244 35.284 2923
+-127.118 35.284 2914
+-126.992 35.284 2904
+-126.866 35.284 2894
+-126.74 35.284 2996
+-126.614 35.284 2984
+-126.488 35.284 2971
+-126.362 35.284 2957
+-126.236 35.284 2963
+-126.11 35.284 2947
+-125.984 35.284 2929
+-125.858 35.284 2910
+-125.732 35.284 2889
+-125.606 35.284 2876
+-125.48 35.284 2889
+-125.354 35.284 2861
+-125.228 35.284 2830
+-125.102 35.284 2795
+-124.976 35.284 2754
+-124.85 35.284 2706
+-124.724 35.284 2650
+-124.598 35.284 2590
+-124.472 35.284 2534
+-124.346 35.284 2517
+-124.22 35.284 2521
+-124.094 35.284 2588
+-123.968 35.284 2707
+-123.842 35.284 2855
+-123.716 35.284 3027
+-123.59 35.284 3266
+-123.464 35.284 3411
+-123.338 35.284 3534
+-123.212 35.284 3634
+-123.086 35.284 3727
+-122.96 35.284 3861
+-122.834 35.284 3912
+-122.708 35.284 4034
+-122.582 35.284 4061
+-122.456 35.284 4066
+-122.33 35.284 4058
+-122.204 35.284 4202
+-122.078 35.284 4385
+-121.952 35.284 4592
+-121.826 35.284 4672
+-121.7 35.284 4791
+-121.574 35.284 4882
+-121.448 35.284 4967
+-121.322 35.284 5088
+-121.196 35.284 5204
+-121.07 35.284 5245
+-120.944 35.284 5401
+-120.818 35.284 5437
+-120.692 35.284 5659
+-120.566 35.284 5888
+-120.44 35.284 5929
+-120.314 35.284 6060
+-120.188 35.284 6138
+-120.062 35.284 6320
+-119.936 35.284 6456
+-119.81 35.284 6591
+-119.684 35.284 6678
+-119.558 35.284 6814
+-119.432 35.284 6957
+-119.306 35.284 7094
+-119.18 35.284 7157
+-119.054 35.284 7339
+-118.928 35.284 7453
+-118.802 35.284 7517
+-118.676 35.284 7642
+-118.55 35.284 7732
+-118.424 35.284 7851
+-118.298 35.284 7915
+-118.172 35.284 8013
+-118.046 35.284 8079
+-117.92 35.284 8187
+-117.794 35.284 8192
+-117.668 35.284 8259
+-117.542 35.284 8275
+-117.416 35.284 8316
+-117.29 35.284 8308
+-117.164 35.284 8307
+-117.038 35.284 8227
+-116.912 35.284 8215
+-116.786 35.284 8159
+-116.66 35.284 8123
+-116.534 35.284 8031
+-116.408 35.284 8004
+-116.282 35.284 7852
+-116.156 35.284 7789
+-116.03 35.284 7673
+-115.904 35.284 7558
+-115.778 35.284 7431
+-115.652 35.284 7334
+-115.526 35.284 7256
+-115.4 35.284 7131
+-115.274 35.284 7037
+-115.148 35.284 6850
+-115.022 35.284 6727
+-114.896 35.284 6572
+-114.77 35.284 6538
+-114.644 35.284 6385
+-114.518 35.284 6246
+-114.392 35.284 6148
+-114.266 35.284 5972
+-114.14 35.284 5867
+-114.014 35.284 5730
+-113.888 35.284 5623
+-113.762 35.284 5441
+-113.636 35.284 5361
+-113.51 35.284 5216
+-113.384 35.284 5039
+-113.258 35.284 5044
+-113.132 35.284 4961
+-113.006 35.284 4861
+-112.88 35.284 4793
+-112.754 35.284 4737
+-112.628 35.284 4820
+-112.502 35.284 4842
+-112.376 35.284 4948
+-112.25 35.284 5000
+-112.124 35.284 5073
+-111.998 35.284 5120
+-111.872 35.284 5171
+-111.746 35.284 5244
+-111.62 35.284 5312
+-111.494 35.284 5341
+-111.368 35.284 5373
+-111.242 35.284 5399
+-111.116 35.284 5444
+-110.99 35.284 5477
+-110.864 35.284 5492
+-110.738 35.284 5525
+-110.612 35.284 5540
+-110.486 35.284 5536
+-110.36 35.284 5524
+-110.234 35.284 5507
+-110.108 35.284 5492
+-109.982 35.284 5445
+-109.856 35.284 5440
+-109.73 35.284 5435
+-109.604 35.284 5421
+-109.478 35.284 5409
+-109.352 35.284 5358
+-109.226 35.284 5338
+-109.1 35.284 5293
+-108.974 35.284 5200
+-108.848 35.284 5109
+-108.722 35.284 5042
+-108.596 35.284 5016
+-108.47 35.284 4970
+-108.344 35.284 4923
+-108.218 35.284 4850
+-108.092 35.284 4754
+-107.966 35.284 4719
+-107.84 35.284 4680
+-107.714 35.284 4639
+-107.588 35.284 4594
+-107.462 35.284 4518
+-107.336 35.284 4471
+-107.21 35.284 4389
+-107.084 35.284 4320
+-106.958 35.284 4246
+-106.832 35.284 4124
+-106.706 35.284 4065
+-106.58 35.284 3970
+-106.454 35.284 3901
+-106.328 35.284 3831
+-106.202 35.284 3774
+-106.076 35.284 3731
+-105.95 35.284 3698
+-105.824 35.284 3662
+-105.698 35.284 3651
+-105.572 35.284 3624
+-105.446 35.284 3622
+-105.32 35.284 3610
+-105.194 35.284 3614
+-105.068 35.284 3589
+-104.942 35.284 3617
+-104.816 35.284 3624
+-104.69 35.284 3581
+-104.564 35.284 3568
+-104.438 35.284 3574
+-104.312 35.284 3574
+-104.186 35.284 3579
+-104.06 35.284 3572
+-103.934 35.284 3567
+-103.808 35.284 3573
+-103.682 35.284 3579
+-103.556 35.284 3585
+-103.43 35.284 3590
+-103.304 35.284 3575
+-103.178 35.284 3503
+-103.052 35.284 3553
+-102.926 35.284 3475
+-102.8 35.284 3478
+-102.674 35.284 3481
+-102.548 35.284 3484
+-102.422 35.284 3486
+-102.296 35.284 3488
+-102.17 35.284 3472
+-102.044 35.284 3390
+-101.918 35.284 3392
+-101.792 35.284 3345
+-101.666 35.284 3196
+-101.54 35.284 3153
+-101.414 35.284 3118
+-101.288 35.284 3106
+-101.162 35.284 3037
+-101.036 35.284 3021
+-100.91 35.284 3102
+-100.784 35.284 2991
+-100.658 35.284 2966
+-100.532 35.284 2977
+-100.406 35.284 3009
+-100.28 35.284 2985
+-100.154 35.284 3061
+-100.028 35.284 3091
+-99.902 35.284 3082
+-99.776 35.284 3126
+-99.65 35.284 3116
+-99.524 35.284 3144
+-99.398 35.284 3132
+-99.272 35.284 3118
+-99.146 35.284 3122
+-99.02 35.284 3107
+-98.894 35.284 3090
+-98.768 35.284 3077
+-98.642 35.284 3058
+-98.516 35.284 3048
+-98.39 35.284 3042
+-98.264 35.284 3040
+-98.138 35.284 2993
+-98.012 35.284 2972
+-97.886 35.284 2973
+-97.76 35.284 2955
+-97.634 35.284 2939
+-97.508 35.284 2928
+-97.382 35.284 2976
+-97.256 35.284 2977
+-97.13 35.284 3037
+-97.004 35.284 3060
+-96.878 35.284 3094
+-96.752 35.284 3137
+-96.626 35.284 3185
+-96.5 35.284 3256
+-96.374 35.284 3308
+-96.248 35.284 3381
+-96.122 35.284 3427
+-95.996 35.284 3469
+-95.87 35.284 3506
+-95.744 35.284 3538
+-95.618 35.284 3566
+-95.492 35.284 3598
+-95.366 35.284 3661
+-95.24 35.284 3655
+-95.114 35.284 3647
+-94.988 35.284 3642
+-94.862 35.284 3667
+-94.736 35.284 3729
+-94.61 35.284 3783
+-94.484 35.284 3812
+-94.358 35.284 3894
+-94.232 35.284 3909
+-94.106 35.284 3975
+-93.98 35.284 4107
+-93.854 35.284 4245
+-93.728 35.284 4328
+-93.602 35.284 4434
+-93.476 35.284 4503
+-93.35 35.284 4539
+-93.224 35.284 4636
+-93.098 35.284 4705
+-92.972 35.284 4782
+-92.846 35.284 4909
+-92.72 35.284 5021
+-92.594 35.284 5078
+-92.468 35.284 5142
+-92.342 35.284 5196
+-92.216 35.284 5247
+-92.09 35.284 5271
+-91.964 35.284 5342
+-91.838 35.284 5408
+-91.712 35.284 5516
+-91.586 35.284 5705
+-91.46 35.284 5823
+-91.334 35.284 5959
+-91.208 35.284 6021
+-91.082 35.284 6148
+-90.956 35.284 6247
+-90.83 35.284 6309
+-90.704 35.284 6397
+-90.578 35.284 6469
+-90.452 35.284 6558
+-90.326 35.284 6603
+-90.2 35.284 6704
+-90.074 35.284 6735
+-89.948 35.284 6819
+-89.822 35.284 6890
+-89.696 35.284 6965
+-89.57 35.284 6996
+-89.444 35.284 7004
+-89.318 35.284 7056
+-89.192 35.284 7065
+-89.066 35.284 7122
+-88.94 35.284 7117
+-88.814 35.284 7094
+-88.688 35.284 7126
+-88.562 35.284 7103
+-88.436 35.284 7071
+-88.31 35.284 7057
+-88.184 35.284 6999
+-88.058 35.284 6977
+-87.932 35.284 6945
+-87.806 35.284 6874
+-87.68 35.284 6810
+-87.554 35.284 6752
+-87.428 35.284 6703
+-87.302 35.284 6643
+-87.176 35.284 6555
+-87.05 35.284 6463
+-86.924 35.284 6402
+-86.798 35.284 6294
+-86.672 35.284 6176
+-86.546 35.284 6092
+-86.42 35.284 6001
+-86.294 35.284 5905
+-86.168 35.284 5769
+-86.042 35.284 5662
+-85.916 35.284 5554
+-85.79 35.284 5500
+-85.664 35.284 5383
+-85.538 35.284 5324
+-85.412 35.284 5278
+-85.286 35.284 5194
+-85.16 35.284 5067
+-85.034 35.284 4823
+-84.908 35.284 4604
+-84.782 35.284 4647
+-84.656 35.284 4623
+-84.53 35.284 4494
+-84.404 35.284 4366
+-84.278 35.284 4259
+-84.152 35.284 4131
+-84.026 35.284 4030
+-83.9 35.284 4006
+-83.774 35.284 3965
+-83.648 35.284 3953
+-83.522 35.284 3856
+-83.396 35.284 3742
+-83.27 35.284 3650
+-83.144 35.284 3557
+-83.018 35.284 3453
+-82.892 35.284 3366
+-82.766 35.284 3224
+-82.64 35.284 3123
+-82.514 35.284 3008
+-82.388 35.284 2859
+-82.262 35.284 2676
+-82.136 35.284 2480
+-82.01 35.284 2316
+-81.884 35.284 2190
+-81.758 35.284 2181
+-81.632 35.284 2247
+-81.506 35.284 2340
+-81.38 35.284 2435
+-81.254 35.284 2520
+-81.128 35.284 2547
+-81.002 35.284 2600
+-80.876 35.284 2636
+-80.75 35.284 2652
+-80.624 35.284 2671
+-80.498 35.284 2685
+-80.372 35.284 2689
+-80.246 35.284 2643
+-80.12 35.284 2596
+-79.994 35.284 2583
+-79.868 35.284 2567
+-79.742 35.284 2530
+-79.616 35.284 2504
+-79.49 35.284 2503
+-79.364 35.284 2398
+-79.238 35.284 2389
+-79.112 35.284 2376
+-78.986 35.284 2375
+-78.86 35.284 2340
+-78.734 35.284 2346
+-78.608 35.284 2355
+-78.482 35.284 2338
+-78.356 35.284 2351
+-78.23 35.284 2377
+-78.104 35.284 2404
+-77.978 35.284 2434
+-77.852 35.284 2477
+-77.726 35.284 2486
+-77.6 35.284 2507
+-77.474 35.284 2537
+-77.348 35.284 2555
+-77.222 35.284 2593
+-77.096 35.284 2636
+-76.97 35.284 2686
+-76.844 35.284 2693
+-76.718 35.284 2718
+-76.592 35.284 2771
+-76.466 35.284 2825
+-76.34 35.284 2840
+-76.214 35.284 2854
+-76.088 35.284 2867
+-75.962 35.284 2880
+-75.836 35.284 2892
+-75.71 35.284 2851
+-75.584 35.284 2875
+-75.458 35.284 2885
+-75.332 35.284 2889
+-75.206 35.284 3133
+-75.08 35.284 3162
+-74.954 35.284 3171
+-74.828 35.284 3176
+-74.702 35.284 3184
+-74.576 35.284 3195
+-74.45 35.284 3212
+-74.324 35.284 3220
+-74.198 35.284 3218
+-74.072 35.284 3225
+-73.946 35.284 3191
+-73.82 35.284 3196
+-73.694 35.284 3202
+-73.568 35.284 3259
+-73.442 35.284 3260
+-73.316 35.284 3273
+-73.19 35.284 3278
+-73.064 35.284 3266
+-72.938 35.284 3287
+-72.812 35.284 3331
+-72.686 35.284 3344
+-72.56 35.284 3347
+-72.434 35.284 3350
+-72.308 35.284 3397
+-72.182 35.284 3403
+-72.056 35.284 3352
+-71.93 35.284 3374
+-71.804 35.284 3372
+-71.678 35.284 3298
+-71.552 35.284 3222
+-71.426 35.284 3244
+-71.3 35.284 3247
+-71.174 35.284 3278
+-71.048 35.284 3256
+-70.922 35.284 3268
+-70.796 35.284 3271
+-70.67 35.284 3255
+-70.544 35.284 3258
+-70.418 35.284 3261
+-70.292 35.284 3240
+-70.166 35.284 3224
+-70.04 35.284 3257
+-69.914 35.284 3253
+-69.788 35.284 3256
+-69.662 35.284 3259
+-69.536 35.284 3183
+-69.41 35.284 3222
+-69.284 35.284 3219
+-69.158 35.284 3222
+-69.032 35.284 3224
+-68.906 35.284 3452
+-68.78 35.284 3377
+-68.654 35.284 3390
+-68.528 35.284 3392
+-68.402 35.284 3289
+-68.276 35.284 3276
+-68.15 35.284 3277
+-68.024 35.284 3278
+-67.898 35.284 3257
+-67.772 35.284 3258
+-67.646 35.284 3259
+-67.52 35.284 3260
+-67.394 35.284 3260
+-67.268 35.284 3285
+-67.142 35.284 3286
+-67.016 35.284 3270
+-66.89 35.284 3272
+-66.764 35.284 3273
+-66.638 35.284 3212
+-66.512 35.284 3398
+-66.386 35.284 3357
+-66.26 35.284 3357
+-66.134 35.284 3327
+-66.008 35.284 3327
+-65.882 35.284 3328
+-65.756 35.284 3460
+-65.63 35.284 3460
+-65.504 35.284 3461
+-65.378 35.284 3461
+-65.252 35.284 3462
+-65.126 35.284 3581
+-128 35.232 2912
+-127.874 35.232 2907
+-127.748 35.232 2902
+-127.622 35.232 2897
+-127.496 35.232 2891
+-127.37 35.232 2939
+-127.244 35.232 2931
+-127.118 35.232 2922
+-126.992 35.232 2913
+-126.866 35.232 2903
+-126.74 35.232 2893
+-126.614 35.232 2998
+-126.488 35.232 2986
+-126.362 35.232 2972
+-126.236 35.232 2957
+-126.11 35.232 2960
+-125.984 35.232 2943
+-125.858 35.232 2923
+-125.732 35.232 2902
+-125.606 35.232 2879
+-125.48 35.232 2861
+-125.354 35.232 2873
+-125.228 35.232 2837
+-125.102 35.232 2795
+-124.976 35.232 2743
+-124.85 35.232 2680
+-124.724 35.232 2603
+-124.598 35.232 2511
+-124.472 35.232 2410
+-124.346 35.232 2323
+-124.22 35.232 2320
+-124.094 35.232 2402
+-123.968 35.232 2563
+-123.842 35.232 2750
+-123.716 35.232 2959
+-123.59 35.232 3202
+-123.464 35.232 3374
+-123.338 35.232 3517
+-123.212 35.232 3628
+-123.086 35.232 3714
+-122.96 35.232 3847
+-122.834 35.232 3947
+-122.708 35.232 4038
+-122.582 35.232 4058
+-122.456 35.232 4020
+-122.33 35.232 3929
+-122.204 35.232 4120
+-122.078 35.232 4371
+-121.952 35.232 4574
+-121.826 35.232 4684
+-121.7 35.232 4757
+-121.574 35.232 4812
+-121.448 35.232 4940
+-121.322 35.232 5086
+-121.196 35.232 5101
+-121.07 35.232 5242
+-120.944 35.232 5424
+-120.818 35.232 5453
+-120.692 35.232 5698
+-120.566 35.232 5910
+-120.44 35.232 6000
+-120.314 35.232 6129
+-120.188 35.232 6189
+-120.062 35.232 6312
+-119.936 35.232 6484
+-119.81 35.232 6595
+-119.684 35.232 6671
+-119.558 35.232 6822
+-119.432 35.232 6985
+-119.306 35.232 7058
+-119.18 35.232 7178
+-119.054 35.232 7320
+-118.928 35.232 7402
+-118.802 35.232 7559
+-118.676 35.232 7657
+-118.55 35.232 7745
+-118.424 35.232 7892
+-118.298 35.232 7945
+-118.172 35.232 8045
+-118.046 35.232 8109
+-117.92 35.232 8223
+-117.794 35.232 8246
+-117.668 35.232 8304
+-117.542 35.232 8338
+-117.416 35.232 8368
+-117.29 35.232 8361
+-117.164 35.232 8351
+-117.038 35.232 8352
+-116.912 35.232 8268
+-116.786 35.232 8212
+-116.66 35.232 8150
+-116.534 35.232 8121
+-116.408 35.232 7970
+-116.282 35.232 7892
+-116.156 35.232 7781
+-116.03 35.232 7745
+-115.904 35.232 7551
+-115.778 35.232 7488
+-115.652 35.232 7347
+-115.526 35.232 7299
+-115.4 35.232 7126
+-115.274 35.232 6965
+-115.148 35.232 6926
+-115.022 35.232 6790
+-114.896 35.232 6651
+-114.77 35.232 6547
+-114.644 35.232 6427
+-114.518 35.232 6274
+-114.392 35.232 6155
+-114.266 35.232 5991
+-114.14 35.232 5863
+-114.014 35.232 5765
+-113.888 35.232 5588
+-113.762 35.232 5448
+-113.636 35.232 5348
+-113.51 35.232 5258
+-113.384 35.232 5025
+-113.258 35.232 4973
+-113.132 35.232 4984
+-113.006 35.232 4869
+-112.88 35.232 4810
+-112.754 35.232 4775
+-112.628 35.232 4869
+-112.502 35.232 4922
+-112.376 35.232 5007
+-112.25 35.232 5058
+-112.124 35.232 5135
+-111.998 35.232 5155
+-111.872 35.232 5198
+-111.746 35.232 5276
+-111.62 35.232 5316
+-111.494 35.232 5396
+-111.368 35.232 5404
+-111.242 35.232 5449
+-111.116 35.232 5498
+-110.99 35.232 5521
+-110.864 35.232 5532
+-110.738 35.232 5561
+-110.612 35.232 5578
+-110.486 35.232 5583
+-110.36 35.232 5573
+-110.234 35.232 5530
+-110.108 35.232 5540
+-109.982 35.232 5525
+-109.856 35.232 5500
+-109.73 35.232 5480
+-109.604 35.232 5479
+-109.478 35.232 5463
+-109.352 35.232 5431
+-109.226 35.232 5391
+-109.1 35.232 5366
+-108.974 35.232 5295
+-108.848 35.232 5199
+-108.722 35.232 5080
+-108.596 35.232 5033
+-108.47 35.232 5003
+-108.344 35.232 4968
+-108.218 35.232 4901
+-108.092 35.232 4795
+-107.966 35.232 4754
+-107.84 35.232 4669
+-107.714 35.232 4675
+-107.588 35.232 4614
+-107.462 35.232 4513
+-107.336 35.232 4457
+-107.21 35.232 4390
+-107.084 35.232 4326
+-106.958 35.232 4279
+-106.832 35.232 4240
+-106.706 35.232 4098
+-106.58 35.232 4016
+-106.454 35.232 3920
+-106.328 35.232 3865
+-106.202 35.232 3822
+-106.076 35.232 3783
+-105.95 35.232 3765
+-105.824 35.232 3746
+-105.698 35.232 3713
+-105.572 35.232 3705
+-105.446 35.232 3678
+-105.32 35.232 3663
+-105.194 35.232 3663
+-105.068 35.232 3653
+-104.942 35.232 3655
+-104.816 35.232 3659
+-104.69 35.232 3663
+-104.564 35.232 3649
+-104.438 35.232 3597
+-104.312 35.232 3600
+-104.186 35.232 3592
+-104.06 35.232 3585
+-103.934 35.232 3590
+-103.808 35.232 3595
+-103.682 35.232 3600
+-103.556 35.232 3604
+-103.43 35.232 3587
+-103.304 35.232 3578
+-103.178 35.232 3566
+-103.052 35.232 3567
+-102.926 35.232 3572
+-102.8 35.232 3576
+-102.674 35.232 3498
+-102.548 35.232 3500
+-102.422 35.232 3502
+-102.296 35.232 3482
+-102.17 35.232 3401
+-102.044 35.232 3402
+-101.918 35.232 3355
+-101.792 35.232 3339
+-101.666 35.232 3184
+-101.54 35.232 3226
+-101.414 35.232 3129
+-101.288 35.232 3116
+-101.162 35.232 3047
+-101.036 35.232 3135
+-100.91 35.232 3064
+-100.784 35.232 3001
+-100.658 35.232 2975
+-100.532 35.232 2963
+-100.406 35.232 2993
+-100.28 35.232 3045
+-100.154 35.232 3083
+-100.028 35.232 3074
+-99.902 35.232 3084
+-99.776 35.232 3129
+-99.65 35.232 3158
+-99.524 35.232 3148
+-99.398 35.232 3136
+-99.272 35.232 3143
+-99.146 35.232 3129
+-99.02 35.232 3115
+-98.894 35.232 3105
+-98.768 35.232 3089
+-98.642 35.232 3082
+-98.516 35.232 3078
+-98.39 35.232 3037
+-98.264 35.232 3037
+-98.138 35.232 3021
+-98.012 35.232 3026
+-97.886 35.232 3013
+-97.76 35.232 3001
+-97.634 35.232 2992
+-97.508 35.232 3045
+-97.382 35.232 3042
+-97.256 35.232 3047
+-97.13 35.232 3112
+-97.004 35.232 3134
+-96.878 35.232 3163
+-96.752 35.232 3199
+-96.626 35.232 3260
+-96.5 35.232 3303
+-96.374 35.232 3371
+-96.248 35.232 3413
+-96.122 35.232 3453
+-95.996 35.232 3489
+-95.87 35.232 3521
+-95.744 35.232 3552
+-95.618 35.232 3589
+-95.492 35.232 3608
+-95.366 35.232 3623
+-95.24 35.232 3670
+-95.114 35.232 3671
+-94.988 35.232 3703
+-94.862 35.232 3719
+-94.736 35.232 3785
+-94.61 35.232 3820
+-94.484 35.232 3870
+-94.358 35.232 3912
+-94.232 35.232 3945
+-94.106 35.232 4011
+-93.98 35.232 4128
+-93.854 35.232 4225
+-93.728 35.232 4316
+-93.602 35.232 4398
+-93.476 35.232 4436
+-93.35 35.232 4450
+-93.224 35.232 4526
+-93.098 35.232 4626
+-92.972 35.232 4732
+-92.846 35.232 4850
+-92.72 35.232 4955
+-92.594 35.232 4954
+-92.468 35.232 5053
+-92.342 35.232 5110
+-92.216 35.232 5198
+-92.09 35.232 5254
+-91.964 35.232 5292
+-91.838 35.232 5310
+-91.712 35.232 5351
+-91.586 35.232 5556
+-91.46 35.232 5760
+-91.334 35.232 5916
+-91.208 35.232 5975
+-91.082 35.232 6100
+-90.956 35.232 6170
+-90.83 35.232 6314
+-90.704 35.232 6346
+-90.578 35.232 6450
+-90.452 35.232 6528
+-90.326 35.232 6571
+-90.2 35.232 6604
+-90.074 35.232 6701
+-89.948 35.232 6738
+-89.822 35.232 6823
+-89.696 35.232 6897
+-89.57 35.232 6940
+-89.444 35.232 6960
+-89.318 35.232 7016
+-89.192 35.232 7033
+-89.066 35.232 7056
+-88.94 35.232 7049
+-88.814 35.232 7077
+-88.688 35.232 7076
+-88.562 35.232 7045
+-88.436 35.232 7006
+-88.31 35.232 6994
+-88.184 35.232 6953
+-88.058 35.232 6900
+-87.932 35.232 6895
+-87.806 35.232 6809
+-87.68 35.232 6759
+-87.554 35.232 6723
+-87.428 35.232 6617
+-87.302 35.232 6581
+-87.176 35.232 6476
+-87.05 35.232 6404
+-86.924 35.232 6336
+-86.798 35.232 6221
+-86.672 35.232 6124
+-86.546 35.232 6061
+-86.42 35.232 5980
+-86.294 35.232 5842
+-86.168 35.232 5768
+-86.042 35.232 5612
+-85.916 35.232 5527
+-85.79 35.232 5443
+-85.664 35.232 5314
+-85.538 35.232 5274
+-85.412 35.232 5244
+-85.286 35.232 5175
+-85.16 35.232 5068
+-85.034 35.232 4878
+-84.908 35.232 4690
+-84.782 35.232 4664
+-84.656 35.232 4597
+-84.53 35.232 4488
+-84.404 35.232 4365
+-84.278 35.232 4225
+-84.152 35.232 4074
+-84.026 35.232 3986
+-83.9 35.232 3961
+-83.774 35.232 3962
+-83.648 35.232 3969
+-83.522 35.232 3875
+-83.396 35.232 3773
+-83.27 35.232 3676
+-83.144 35.232 3603
+-83.018 35.232 3525
+-82.892 35.232 3427
+-82.766 35.232 3322
+-82.64 35.232 3191
+-82.514 35.232 3076
+-82.388 35.232 2949
+-82.262 35.232 2807
+-82.136 35.232 2663
+-82.01 35.232 2521
+-81.884 35.232 2399
+-81.758 35.232 2371
+-81.632 35.232 2398
+-81.506 35.232 2449
+-81.38 35.232 2526
+-81.254 35.232 2585
+-81.128 35.232 2613
+-81.002 35.232 2613
+-80.876 35.232 2647
+-80.75 35.232 2668
+-80.624 35.232 2657
+-80.498 35.232 2660
+-80.372 35.232 2607
+-80.246 35.232 2586
+-80.12 35.232 2571
+-79.994 35.232 2551
+-79.868 35.232 2520
+-79.742 35.232 2483
+-79.616 35.232 2476
+-79.49 35.232 2436
+-79.364 35.232 2344
+-79.238 35.232 2334
+-79.112 35.232 2329
+-78.986 35.232 2293
+-78.86 35.232 2298
+-78.734 35.232 2305
+-78.608 35.232 2290
+-78.482 35.232 2305
+-78.356 35.232 2333
+-78.23 35.232 2361
+-78.104 35.232 2394
+-77.978 35.232 2440
+-77.852 35.232 2451
+-77.726 35.232 2475
+-77.6 35.232 2508
+-77.474 35.232 2546
+-77.348 35.232 2569
+-77.222 35.232 2613
+-77.096 35.232 2664
+-76.97 35.232 2673
+-76.844 35.232 2700
+-76.718 35.232 2716
+-76.592 35.232 2808
+-76.466 35.232 2824
+-76.34 35.232 2840
+-76.214 35.232 2854
+-76.088 35.232 2868
+-75.962 35.232 2880
+-75.836 35.232 2842
+-75.71 35.232 2866
+-75.584 35.232 2877
+-75.458 35.232 2882
+-75.332 35.232 3122
+-75.206 35.232 3151
+-75.08 35.232 3161
+-74.954 35.232 3167
+-74.828 35.232 3176
+-74.702 35.232 3187
+-74.576 35.232 3204
+-74.45 35.232 3212
+-74.324 35.232 3211
+-74.198 35.232 3218
+-74.072 35.232 3185
+-73.946 35.232 3191
+-73.82 35.232 3197
+-73.694 35.232 3254
+-73.568 35.232 3255
+-73.442 35.232 3268
+-73.316 35.232 3273
+-73.19 35.232 3261
+-73.064 35.232 3283
+-72.938 35.232 3327
+-72.812 35.232 3340
+-72.686 35.232 3343
+-72.56 35.232 3346
+-72.434 35.232 3393
+-72.308 35.232 3399
+-72.182 35.232 3348
+-72.056 35.232 3370
+-71.93 35.232 3368
+-71.804 35.232 3299
+-71.678 35.232 3220
+-71.552 35.232 3241
+-71.426 35.232 3245
+-71.3 35.232 3275
+-71.174 35.232 3254
+-71.048 35.232 3266
+-70.922 35.232 3269
+-70.796 35.232 3253
+-70.67 35.232 3256
+-70.544 35.232 3259
+-70.418 35.232 3238
+-70.292 35.232 3223
+-70.166 35.232 3256
+-70.04 35.232 3252
+-69.914 35.232 3255
+-69.788 35.232 3258
+-69.662 35.232 3182
+-69.536 35.232 3221
+-69.41 35.232 3218
+-69.284 35.232 3221
+-69.158 35.232 3223
+-69.032 35.232 3451
+-68.906 35.232 3379
+-68.78 35.232 3389
+-68.654 35.232 3390
+-68.528 35.232 3288
+-68.402 35.232 3275
+-68.276 35.232 3276
+-68.15 35.232 3277
+-68.024 35.232 3256
+-67.898 35.232 3257
+-67.772 35.232 3258
+-67.646 35.232 3259
+-67.52 35.232 3260
+-67.394 35.232 3284
+-67.268 35.232 3285
+-67.142 35.232 3270
+-67.016 35.232 3271
+-66.89 35.232 3272
+-66.764 35.232 3211
+-66.638 35.232 3397
+-66.512 35.232 3356
+-66.386 35.232 3356
+-66.26 35.232 3326
+-66.134 35.232 3327
+-66.008 35.232 3327
+-65.882 35.232 3459
+-65.756 35.232 3460
+-65.63 35.232 3460
+-65.504 35.232 3461
+-65.378 35.232 3461
+-65.252 35.232 3580
+-65.126 35.232 3581
+-128 35.18 2882
+-127.874 35.18 2899
+-127.748 35.18 2906
+-127.622 35.18 2920
+-127.496 35.18 2896
+-127.37 35.18 2890
+-127.244 35.18 2939
+-127.118 35.18 2930
+-126.992 35.18 2922
+-126.866 35.18 2913
+-126.74 35.18 2903
+-126.614 35.18 2892
+-126.488 35.18 2998
+-126.362 35.18 2985
+-126.236 35.18 2971
+-126.11 35.18 2956
+-125.984 35.18 2957
+-125.858 35.18 2937
+-125.732 35.18 2916
+-125.606 35.18 2891
+-125.48 35.18 2863
+-125.354 35.18 2882
+-125.228 35.18 2842
+-125.102 35.18 2794
+-124.976 35.18 2734
+-124.85 35.18 2659
+-124.724 35.18 2564
+-124.598 35.18 2445
+-124.472 35.18 2301
+-124.346 35.18 2157
+-124.22 35.18 2097
+-124.094 35.18 2207
+-123.968 35.18 2416
+-123.842 35.18 2637
+-123.716 35.18 2900
+-123.59 35.18 3131
+-123.464 35.18 3336
+-123.338 35.18 3500
+-123.212 35.18 3622
+-123.086 35.18 3777
+-122.96 35.18 3844
+-122.834 35.18 3944
+-122.708 35.18 3998
+-122.582 35.18 4012
+-122.456 35.18 4046
+-122.33 35.18 4081
+-122.204 35.18 4220
+-122.078 35.18 4367
+-121.952 35.18 4510
+-121.826 35.18 4637
+-121.7 35.18 4656
+-121.574 35.18 4804
+-121.448 35.18 4846
+-121.322 35.18 5059
+-121.196 35.18 5153
+-121.07 35.18 5253
+-120.944 35.18 5386
+-120.818 35.18 5515
+-120.692 35.18 5709
+-120.566 35.18 5910
+-120.44 35.18 5991
+-120.314 35.18 6094
+-120.188 35.18 6225
+-120.062 35.18 6317
+-119.936 35.18 6499
+-119.81 35.18 6612
+-119.684 35.18 6773
+-119.558 35.18 6849
+-119.432 35.18 7024
+-119.306 35.18 7148
+-119.18 35.18 7268
+-119.054 35.18 7344
+-118.928 35.18 7507
+-118.802 35.18 7596
+-118.676 35.18 7719
+-118.55 35.18 7801
+-118.424 35.18 7862
+-118.298 35.18 7960
+-118.172 35.18 8097
+-118.046 35.18 8151
+-117.92 35.18 8260
+-117.794 35.18 8312
+-117.668 35.18 8357
+-117.542 35.18 8388
+-117.416 35.18 8421
+-117.29 35.18 8401
+-117.164 35.18 8412
+-117.038 35.18 8356
+-116.912 35.18 8333
+-116.786 35.18 8228
+-116.66 35.18 8221
+-116.534 35.18 8111
+-116.408 35.18 8030
+-116.282 35.18 7931
+-116.156 35.18 7808
+-116.03 35.18 7737
+-115.904 35.18 7630
+-115.778 35.18 7556
+-115.652 35.18 7376
+-115.526 35.18 7295
+-115.4 35.18 7185
+-115.274 35.18 7022
+-115.148 35.18 6919
+-115.022 35.18 6788
+-114.896 35.18 6646
+-114.77 35.18 6514
+-114.644 35.18 6459
+-114.518 35.18 6306
+-114.392 35.18 6173
+-114.266 35.18 6018
+-114.14 35.18 5901
+-114.014 35.18 5742
+-113.888 35.18 5629
+-113.762 35.18 5463
+-113.636 35.18 5387
+-113.51 35.18 5224
+-113.384 35.18 5051
+-113.258 35.18 5038
+-113.132 35.18 4928
+-113.006 35.18 4863
+-112.88 35.18 4794
+-112.754 35.18 4837
+-112.628 35.18 4930
+-112.502 35.18 4952
+-112.376 35.18 5037
+-112.25 35.18 5080
+-112.124 35.18 5171
+-111.998 35.18 5196
+-111.872 35.18 5237
+-111.746 35.18 5313
+-111.62 35.18 5363
+-111.494 35.18 5404
+-111.368 35.18 5470
+-111.242 35.18 5497
+-111.116 35.18 5531
+-110.99 35.18 5546
+-110.864 35.18 5561
+-110.738 35.18 5589
+-110.612 35.18 5591
+-110.486 35.18 5615
+-110.36 35.18 5626
+-110.234 35.18 5598
+-110.108 35.18 5587
+-109.982 35.18 5560
+-109.856 35.18 5546
+-109.73 35.18 5540
+-109.604 35.18 5506
+-109.478 35.18 5468
+-109.352 35.18 5481
+-109.226 35.18 5451
+-109.1 35.18 5418
+-108.974 35.18 5367
+-108.848 35.18 5270
+-108.722 35.18 5170
+-108.596 35.18 5105
+-108.47 35.18 5056
+-108.344 35.18 5029
+-108.218 35.18 4960
+-108.092 35.18 4865
+-107.966 35.18 4778
+-107.84 35.18 4730
+-107.714 35.18 4685
+-107.588 35.18 4635
+-107.462 35.18 4524
+-107.336 35.18 4447
+-107.21 35.18 4382
+-107.084 35.18 4335
+-106.958 35.18 4280
+-106.832 35.18 4219
+-106.706 35.18 4153
+-106.58 35.18 4011
+-106.454 35.18 3929
+-106.328 35.18 3885
+-106.202 35.18 3849
+-106.076 35.18 3799
+-105.95 35.18 3794
+-105.824 35.18 3785
+-105.698 35.18 3774
+-105.572 35.18 3768
+-105.446 35.18 3764
+-105.32 35.18 3721
+-105.194 35.18 3716
+-105.068 35.18 3716
+-104.942 35.18 3716
+-104.816 35.18 3718
+-104.69 35.18 3676
+-104.564 35.18 3676
+-104.438 35.18 3679
+-104.312 35.18 3649
+-104.186 35.18 3606
+-104.06 35.18 3609
+-103.934 35.18 3613
+-103.808 35.18 3616
+-103.682 35.18 3620
+-103.556 35.18 3602
+-103.43 35.18 3592
+-103.304 35.18 3596
+-103.178 35.18 3648
+-103.052 35.18 3585
+-102.926 35.18 3589
+-102.8 35.18 3593
+-102.674 35.18 3596
+-102.548 35.18 3516
+-102.422 35.18 3578
+-102.296 35.18 3413
+-102.17 35.18 3414
+-102.044 35.18 3412
+-101.918 35.18 3349
+-101.792 35.18 3303
+-101.666 35.18 3243
+-101.54 35.18 3236
+-101.414 35.18 3139
+-101.288 35.18 3126
+-101.162 35.18 3088
+-101.036 35.18 3142
+-100.91 35.18 3076
+-100.784 35.18 3040
+-100.658 35.18 2983
+-100.532 35.18 3034
+-100.406 35.18 3033
+-100.28 35.18 3049
+-100.154 35.18 3040
+-100.028 35.18 3078
+-99.902 35.18 3084
+-99.776 35.18 3172
+-99.65 35.18 3162
+-99.524 35.18 3152
+-99.398 35.18 3160
+-99.272 35.18 3149
+-99.146 35.18 3136
+-99.02 35.18 3128
+-98.894 35.18 3114
+-98.768 35.18 3111
+-98.642 35.18 3081
+-98.516 35.18 3069
+-98.39 35.18 3073
+-98.264 35.18 3059
+-98.138 35.18 3069
+-98.012 35.18 3059
+-97.886 35.18 3049
+-97.76 35.18 3042
+-97.634 35.18 3099
+-97.508 35.18 3096
+-97.382 35.18 3097
+-97.256 35.18 3120
+-97.13 35.18 3135
+-97.004 35.18 3156
+-96.878 35.18 3183
+-96.752 35.18 3270
+-96.626 35.18 3305
+-96.5 35.18 3367
+-96.374 35.18 3404
+-96.248 35.18 3440
+-96.122 35.18 3474
+-95.996 35.18 3490
+-95.87 35.18 3520
+-95.744 35.18 3546
+-95.618 35.18 3598
+-95.492 35.18 3617
+-95.366 35.18 3632
+-95.24 35.18 3687
+-95.114 35.18 3730
+-94.988 35.18 3739
+-94.862 35.18 3777
+-94.736 35.18 3804
+-94.61 35.18 3844
+-94.484 35.18 3879
+-94.358 35.18 3930
+-94.232 35.18 3976
+-94.106 35.18 4056
+-93.98 35.18 4146
+-93.854 35.18 4224
+-93.728 35.18 4304
+-93.602 35.18 4361
+-93.476 35.18 4398
+-93.35 35.18 4405
+-93.224 35.18 4453
+-93.098 35.18 4541
+-92.972 35.18 4656
+-92.846 35.18 4777
+-92.72 35.18 4891
+-92.594 35.18 4981
+-92.468 35.18 5031
+-92.342 35.18 5025
+-92.216 35.18 5119
+-92.09 35.18 5208
+-91.964 35.18 5224
+-91.838 35.18 5260
+-91.712 35.18 5399
+-91.586 35.18 5522
+-91.46 35.18 5658
+-91.334 35.18 5840
+-91.208 35.18 5983
+-91.082 35.18 6064
+-90.956 35.18 6148
+-90.83 35.18 6275
+-90.704 35.18 6272
+-90.578 35.18 6371
+-90.452 35.18 6473
+-90.326 35.18 6555
+-90.2 35.18 6601
+-90.074 35.18 6660
+-89.948 35.18 6691
+-89.822 35.18 6754
+-89.696 35.18 6828
+-89.57 35.18 6867
+-89.444 35.18 6896
+-89.318 35.18 6950
+-89.192 35.18 6975
+-89.066 35.18 7006
+-88.94 35.18 7003
+-88.814 35.18 7020
+-88.688 35.18 6989
+-88.562 35.18 6967
+-88.436 35.18 6940
+-88.31 35.18 6922
+-88.184 35.18 6918
+-88.058 35.18 6880
+-87.932 35.18 6844
+-87.806 35.18 6782
+-87.68 35.18 6720
+-87.554 35.18 6672
+-87.428 35.18 6608
+-87.302 35.18 6515
+-87.176 35.18 6409
+-87.05 35.18 6374
+-86.924 35.18 6273
+-86.798 35.18 6163
+-86.672 35.18 6122
+-86.546 35.18 6061
+-86.42 35.18 5884
+-86.294 35.18 5756
+-86.168 35.18 5721
+-86.042 35.18 5568
+-85.916 35.18 5478
+-85.79 35.18 5388
+-85.664 35.18 5311
+-85.538 35.18 5158
+-85.412 35.18 5202
+-85.286 35.18 5135
+-85.16 35.18 5018
+-85.034 35.18 4897
+-84.908 35.18 4719
+-84.782 35.18 4652
+-84.656 35.18 4570
+-84.53 35.18 4470
+-84.404 35.18 4332
+-84.278 35.18 4160
+-84.152 35.18 3941
+-84.026 35.18 3832
+-83.9 35.18 3867
+-83.774 35.18 3930
+-83.648 35.18 3968
+-83.522 35.18 3872
+-83.396 35.18 3820
+-83.27 35.18 3707
+-83.144 35.18 3644
+-83.018 35.18 3539
+-82.892 35.18 3466
+-82.766 35.18 3378
+-82.64 35.18 3283
+-82.514 35.18 3155
+-82.388 35.18 3041
+-82.262 35.18 2926
+-82.136 35.18 2789
+-82.01 35.18 2662
+-81.884 35.18 2556
+-81.758 35.18 2534
+-81.632 35.18 2538
+-81.506 35.18 2563
+-81.38 35.18 2597
+-81.254 35.18 2604
+-81.128 35.18 2621
+-81.002 35.18 2646
+-80.876 35.18 2642
+-80.75 35.18 2664
+-80.624 35.18 2667
+-80.498 35.18 2608
+-80.372 35.18 2583
+-80.246 35.18 2565
+-80.12 35.18 2542
+-79.994 35.18 2508
+-79.868 35.18 2467
+-79.742 35.18 2453
+-79.616 35.18 2411
+-79.49 35.18 2309
+-79.364 35.18 2292
+-79.238 35.18 2280
+-79.112 35.18 2274
+-78.986 35.18 2273
+-78.86 35.18 2255
+-78.734 35.18 2236
+-78.608 35.18 2252
+-78.482 35.18 2281
+-78.356 35.18 2320
+-78.23 35.18 2347
+-78.104 35.18 2397
+-77.978 35.18 2419
+-77.852 35.18 2438
+-77.726 35.18 2474
+-77.6 35.18 2516
+-77.474 35.18 2541
+-77.348 35.18 2587
+-77.222 35.18 2639
+-77.096 35.18 2651
+-76.97 35.18 2680
+-76.844 35.18 2698
+-76.718 35.18 2790
+-76.592 35.18 2808
+-76.466 35.18 2824
+-76.34 35.18 2840
+-76.214 35.18 2854
+-76.088 35.18 2868
+-75.962 35.18 2832
+-75.836 35.18 2857
+-75.71 35.18 2869
+-75.584 35.18 2874
+-75.458 35.18 3111
+-75.332 35.18 3140
+-75.206 35.18 3150
+-75.08 35.18 3157
+-74.954 35.18 3166
+-74.828 35.18 3178
+-74.702 35.18 3196
+-74.576 35.18 3204
+-74.45 35.18 3204
+-74.324 35.18 3211
+-74.198 35.18 3179
+-74.072 35.18 3185
+-73.946 35.18 3191
+-73.82 35.18 3248
+-73.694 35.18 3250
+-73.568 35.18 3262
+-73.442 35.18 3268
+-73.316 35.18 3257
+-73.19 35.18 3279
+-73.064 35.18 3322
+-72.938 35.18 3335
+-72.812 35.18 3339
+-72.686 35.18 3342
+-72.56 35.18 3389
+-72.434 35.18 3395
+-72.308 35.18 3345
+-72.182 35.18 3367
+-72.056 35.18 3365
+-71.93 35.18 3293
+-71.804 35.18 3218
+-71.678 35.18 3239
+-71.552 35.18 3242
+-71.426 35.18 3273
+-71.3 35.18 3252
+-71.174 35.18 3263
+-71.048 35.18 3267
+-70.922 35.18 3251
+-70.796 35.18 3254
+-70.67 35.18 3257
+-70.544 35.18 3237
+-70.418 35.18 3222
+-70.292 35.18 3254
+-70.166 35.18 3250
+-70.04 35.18 3253
+-69.914 35.18 3256
+-69.788 35.18 3181
+-69.662 35.18 3220
+-69.536 35.18 3217
+-69.41 35.18 3219
+-69.284 35.18 3222
+-69.158 35.18 3449
+-69.032 35.18 3374
+-68.906 35.18 3387
+-68.78 35.18 3389
+-68.654 35.18 3287
+-68.528 35.18 3274
+-68.402 35.18 3275
+-68.276 35.18 3277
+-68.15 35.18 3255
+-68.024 35.18 3256
+-67.898 35.18 3257
+-67.772 35.18 3258
+-67.646 35.18 3259
+-67.52 35.18 3283
+-67.394 35.18 3284
+-67.268 35.18 3269
+-67.142 35.18 3270
+-67.016 35.18 3271
+-66.89 35.18 3211
+-66.764 35.18 3396
+-66.638 35.18 3355
+-66.512 35.18 3356
+-66.386 35.18 3325
+-66.26 35.18 3326
+-66.134 35.18 3327
+-66.008 35.18 3458
+-65.882 35.18 3459
+-65.756 35.18 3459
+-65.63 35.18 3460
+-65.504 35.18 3460
+-65.378 35.18 3579
+-65.252 35.18 3580
+-65.126 35.18 3491
+-128 35.128 2885
+-127.874 35.128 2881
+-127.748 35.128 2878
+-127.622 35.128 2874
+-127.496 35.128 2870
+-127.37 35.128 2914
+-127.244 35.128 2908
+-127.118 35.128 2939
+-126.992 35.128 2931
+-126.866 35.128 2922
+-126.74 35.128 2913
+-126.614 35.128 2932
+-126.488 35.128 3011
+-126.362 35.128 2998
+-126.236 35.128 2984
+-126.11 35.128 2969
+-125.984 35.128 2953
+-125.858 35.128 2967
+-125.732 35.128 2945
+-125.606 35.128 2919
+-125.48 35.128 2889
+-125.354 35.128 2854
+-125.228 35.128 2851
+-125.102 35.128 2800
+-124.976 35.128 2735
+-124.85 35.128 2654
+-124.724 35.128 2550
+-124.598 35.128 2418
+-124.472 35.128 2257
+-124.346 35.128 2081
+-124.22 35.128 1981
+-124.094 35.128 2118
+-123.968 35.128 2341
+-123.842 35.128 2529
+-123.716 35.128 2788
+-123.59 35.128 3060
+-123.464 35.128 3301
+-123.338 35.128 3486
+-123.212 35.128 3670
+-123.086 35.128 3769
+-122.96 35.128 3817
+-122.834 35.128 3898
+-122.708 35.128 3917
+-122.582 35.128 3909
+-122.456 35.128 4026
+-122.33 35.128 4159
+-122.204 35.128 4269
+-122.078 35.128 4350
+-121.952 35.128 4437
+-121.826 35.128 4549
+-121.7 35.128 4702
+-121.574 35.128 4819
+-121.448 35.128 4917
+-121.322 35.128 5058
+-121.196 35.128 5215
+-121.07 35.128 5274
+-120.944 35.128 5421
+-120.818 35.128 5528
+-120.692 35.128 5739
+-120.566 35.128 5896
+-120.44 35.128 5983
+-120.314 35.128 6076
+-120.188 35.128 6256
+-120.062 35.128 6416
+-119.936 35.128 6493
+-119.81 35.128 6669
+-119.684 35.128 6750
+-119.558 35.128 6946
+-119.432 35.128 7032
+-119.306 35.128 7094
+-119.18 35.128 7289
+-119.054 35.128 7342
+-118.928 35.128 7498
+-118.802 35.128 7663
+-118.676 35.128 7699
+-118.55 35.128 7831
+-118.424 35.128 7973
+-118.298 35.128 8037
+-118.172 35.128 8176
+-118.046 35.128 8207
+-117.92 35.128 8323
+-117.794 35.128 8346
+-117.668 35.128 8419
+-117.542 35.128 8441
+-117.416 35.128 8465
+-117.29 35.128 8466
+-117.164 35.128 8446
+-117.038 35.128 8452
+-116.912 35.128 8390
+-116.786 35.128 8330
+-116.66 35.128 8253
+-116.534 35.128 8152
+-116.408 35.128 8108
+-116.282 35.128 7945
+-116.156 35.128 7863
+-116.03 35.128 7811
+-115.904 35.128 7647
+-115.778 35.128 7563
+-115.652 35.128 7484
+-115.526 35.128 7309
+-115.4 35.128 7177
+-115.274 35.128 7106
+-115.148 35.128 6878
+-115.022 35.128 6802
+-114.896 35.128 6728
+-114.77 35.128 6545
+-114.644 35.128 6462
+-114.518 35.128 6348
+-114.392 35.128 6126
+-114.266 35.128 6068
+-114.14 35.128 5933
+-114.014 35.128 5763
+-113.888 35.128 5623
+-113.762 35.128 5556
+-113.636 35.128 5400
+-113.51 35.128 5231
+-113.384 35.128 5146
+-113.258 35.128 5022
+-113.132 35.128 4779
+-113.006 35.128 4854
+-112.88 35.128 4846
+-112.754 35.128 4875
+-112.628 35.128 4929
+-112.502 35.128 5010
+-112.376 35.128 5106
+-112.25 35.128 5132
+-112.124 35.128 5242
+-111.998 35.128 5295
+-111.872 35.128 5287
+-111.746 35.128 5343
+-111.62 35.128 5411
+-111.494 35.128 5446
+-111.368 35.128 5487
+-111.242 35.128 5539
+-111.116 35.128 5588
+-110.99 35.128 5589
+-110.864 35.128 5624
+-110.738 35.128 5647
+-110.612 35.128 5682
+-110.486 35.128 5672
+-110.36 35.128 5657
+-110.234 35.128 5645
+-110.108 35.128 5644
+-109.982 35.128 5624
+-109.856 35.128 5600
+-109.73 35.128 5594
+-109.604 35.128 5565
+-109.478 35.128 5532
+-109.352 35.128 5511
+-109.226 35.128 5485
+-109.1 35.128 5455
+-108.974 35.128 5428
+-108.848 35.128 5358
+-108.722 35.128 5257
+-108.596 35.128 5183
+-108.47 35.128 5134
+-108.344 35.128 5081
+-108.218 35.128 5042
+-108.092 35.128 4974
+-107.966 35.128 4863
+-107.84 35.128 4795
+-107.714 35.128 4722
+-107.588 35.128 4646
+-107.462 35.128 4538
+-107.336 35.128 4439
+-107.21 35.128 4369
+-107.084 35.128 4318
+-106.958 35.128 4265
+-106.832 35.128 4221
+-106.706 35.128 4127
+-106.58 35.128 3981
+-106.454 35.128 3877
+-106.328 35.128 3862
+-106.202 35.128 3803
+-106.076 35.128 3795
+-105.95 35.128 3816
+-105.824 35.128 3802
+-105.698 35.128 3801
+-105.572 35.128 3800
+-105.446 35.128 3787
+-105.32 35.128 3796
+-105.194 35.128 3795
+-105.068 35.128 3750
+-104.942 35.128 3749
+-104.816 35.128 3748
+-104.69 35.128 3737
+-104.564 35.128 3736
+-104.438 35.128 3728
+-104.312 35.128 3730
+-104.186 35.128 3733
+-104.06 35.128 3633
+-103.934 35.128 3636
+-103.808 35.128 3638
+-103.682 35.128 3647
+-103.556 35.128 3608
+-103.43 35.128 3611
+-103.304 35.128 3661
+-103.178 35.128 3667
+-103.052 35.128 3670
+-102.926 35.128 3674
+-102.8 35.128 3609
+-102.674 35.128 3612
+-102.548 35.128 3588
+-102.422 35.128 3589
+-102.296 35.128 3426
+-102.17 35.128 3503
+-102.044 35.128 3360
+-101.918 35.128 3384
+-101.792 35.128 3384
+-101.666 35.128 3379
+-101.54 35.128 3246
+-101.414 35.128 3149
+-101.288 35.128 3167
+-101.162 35.128 3097
+-101.036 35.128 3155
+-100.91 35.128 3136
+-100.784 35.128 3050
+-100.658 35.128 3021
+-100.532 35.128 3042
+-100.406 35.128 3038
+-100.28 35.128 3046
+-100.154 35.128 3043
+-100.028 35.128 3078
+-99.902 35.128 3088
+-99.776 35.128 3158
+-99.65 35.128 3166
+-99.524 35.128 3176
+-99.398 35.128 3166
+-99.272 35.128 3155
+-99.146 35.128 3148
+-99.02 35.128 3137
+-98.894 35.128 3135
+-98.768 35.128 3105
+-98.642 35.128 3095
+-98.516 35.128 3102
+-98.39 35.128 3091
+-98.264 35.128 3103
+-98.138 35.128 3095
+-98.012 35.128 3088
+-97.886 35.128 3082
+-97.76 35.128 3099
+-97.634 35.128 3097
+-97.508 35.128 3097
+-97.382 35.128 3108
+-97.256 35.128 3168
+-97.13 35.128 3182
+-97.004 35.128 3202
+-96.878 35.128 3225
+-96.752 35.128 3312
+-96.626 35.128 3368
+-96.5 35.128 3400
+-96.374 35.128 3431
+-96.248 35.128 3462
+-96.122 35.128 3475
+-95.996 35.128 3503
+-95.87 35.128 3529
+-95.744 35.128 3552
+-95.618 35.128 3573
+-95.492 35.128 3597
+-95.366 35.128 3670
+-95.24 35.128 3675
+-95.114 35.128 3750
+-94.988 35.128 3785
+-94.862 35.128 3803
+-94.736 35.128 3831
+-94.61 35.128 3857
+-94.484 35.128 3891
+-94.358 35.128 3928
+-94.232 35.128 3991
+-94.106 35.128 4059
+-93.98 35.128 4124
+-93.854 35.128 4191
+-93.728 35.128 4298
+-93.602 35.128 4333
+-93.476 35.128 4362
+-93.35 35.128 4382
+-93.224 35.128 4420
+-93.098 35.128 4509
+-92.972 35.128 4618
+-92.846 35.128 4722
+-92.72 35.128 4831
+-92.594 35.128 4902
+-92.468 35.128 4992
+-92.342 35.128 5023
+-92.216 35.128 5080
+-92.09 35.128 5155
+-91.964 35.128 5123
+-91.838 35.128 5288
+-91.712 35.128 5518
+-91.586 35.128 5587
+-91.46 35.128 5625
+-91.334 35.128 5770
+-91.208 35.128 5899
+-91.082 35.128 5983
+-90.956 35.128 6067
+-90.83 35.128 6207
+-90.704 35.128 6280
+-90.578 35.128 6370
+-90.452 35.128 6436
+-90.326 35.128 6510
+-90.2 35.128 6553
+-90.074 35.128 6623
+-89.948 35.128 6646
+-89.822 35.128 6721
+-89.696 35.128 6764
+-89.57 35.128 6831
+-89.444 35.128 6864
+-89.318 35.128 6914
+-89.192 35.128 6928
+-89.066 35.128 6951
+-88.94 35.128 6952
+-88.814 35.128 6930
+-88.688 35.128 6926
+-88.562 35.128 6905
+-88.436 35.128 6917
+-88.31 35.128 6849
+-88.184 35.128 6872
+-88.058 35.128 6826
+-87.932 35.128 6801
+-87.806 35.128 6739
+-87.68 35.128 6706
+-87.554 35.128 6628
+-87.428 35.128 6579
+-87.302 35.128 6494
+-87.176 35.128 6352
+-87.05 35.128 6315
+-86.924 35.128 6224
+-86.798 35.128 6095
+-86.672 35.128 6076
+-86.546 35.128 6018
+-86.42 35.128 5867
+-86.294 35.128 5751
+-86.168 35.128 5669
+-86.042 35.128 5518
+-85.916 35.128 5413
+-85.79 35.128 5306
+-85.664 35.128 5312
+-85.538 35.128 5209
+-85.412 35.128 5145
+-85.286 35.128 5085
+-85.16 35.128 4964
+-85.034 35.128 4806
+-84.908 35.128 4637
+-84.782 35.128 4616
+-84.656 35.128 4553
+-84.53 35.128 4448
+-84.404 35.128 4303
+-84.278 35.128 4107
+-84.152 35.128 3863
+-84.026 35.128 3736
+-83.9 35.128 3810
+-83.774 35.128 3904
+-83.648 35.128 3958
+-83.522 35.128 3882
+-83.396 35.128 3846
+-83.27 35.128 3787
+-83.144 35.128 3674
+-83.018 35.128 3613
+-82.892 35.128 3508
+-82.766 35.128 3437
+-82.64 35.128 3340
+-82.514 35.128 3203
+-82.388 35.128 3095
+-82.262 35.128 2979
+-82.136 35.128 2911
+-82.01 35.128 2798
+-81.884 35.128 2690
+-81.758 35.128 2664
+-81.632 35.128 2654
+-81.506 35.128 2660
+-81.38 35.128 2647
+-81.254 35.128 2649
+-81.128 35.128 2665
+-81.002 35.128 2657
+-80.876 35.128 2674
+-80.75 35.128 2676
+-80.624 35.128 2623
+-80.498 35.128 2609
+-80.372 35.128 2581
+-80.246 35.128 2540
+-80.12 35.128 2504
+-79.994 35.128 2460
+-79.868 35.128 2440
+-79.742 35.128 2381
+-79.616 35.128 2277
+-79.49 35.128 2251
+-79.364 35.128 2230
+-79.238 35.128 2211
+-79.112 35.128 2205
+-78.986 35.128 2191
+-78.86 35.128 2208
+-78.734 35.128 2204
+-78.608 35.128 2224
+-78.482 35.128 2261
+-78.356 35.128 2290
+-78.23 35.128 2344
+-78.104 35.128 2371
+-77.978 35.128 2394
+-77.852 35.128 2443
+-77.726 35.128 2479
+-77.6 35.128 2508
+-77.474 35.128 2556
+-77.348 35.128 2611
+-77.222 35.128 2625
+-77.096 35.128 2657
+-76.97 35.128 2677
+-76.844 35.128 2770
+-76.718 35.128 2789
+-76.592 35.128 2807
+-76.466 35.128 2824
+-76.34 35.128 2840
+-76.214 35.128 2855
+-76.088 35.128 2822
+-75.962 35.128 2848
+-75.836 35.128 2860
+-75.71 35.128 2866
+-75.584 35.128 3099
+-75.458 35.128 3128
+-75.332 35.128 3139
+-75.206 35.128 3147
+-75.08 35.128 3157
+-74.954 35.128 3169
+-74.828 35.128 3187
+-74.702 35.128 3196
+-74.576 35.128 3196
+-74.45 35.128 3204
+-74.324 35.128 3172
+-74.198 35.128 3179
+-74.072 35.128 3185
+-73.946 35.128 3242
+-73.82 35.128 3244
+-73.694 35.128 3257
+-73.568 35.128 3263
+-73.442 35.128 3252
+-73.316 35.128 3274
+-73.19 35.128 3318
+-73.064 35.128 3331
+-72.938 35.128 3335
+-72.812 35.128 3338
+-72.686 35.128 3385
+-72.56 35.128 3390
+-72.434 35.128 3341
+-72.308 35.128 3363
+-72.182 35.128 3362
+-72.056 35.128 3293
+-71.93 35.128 3215
+-71.804 35.128 3236
+-71.678 35.128 3240
+-71.552 35.128 3270
+-71.426 35.128 3250
+-71.3 35.128 3261
+-71.174 35.128 3265
+-71.048 35.128 3249
+-70.922 35.128 3252
+-70.796 35.128 3255
+-70.67 35.128 3235
+-70.544 35.128 3220
+-70.418 35.128 3253
+-70.292 35.128 3249
+-70.166 35.128 3252
+-70.04 35.128 3255
+-69.914 35.128 3180
+-69.788 35.128 3219
+-69.662 35.128 3216
+-69.536 35.128 3218
+-69.41 35.128 3221
+-69.284 35.128 3448
+-69.158 35.128 3377
+-69.032 35.128 3386
+-68.906 35.128 3388
+-68.78 35.128 3286
+-68.654 35.128 3273
+-68.528 35.128 3274
+-68.402 35.128 3276
+-68.276 35.128 3254
+-68.15 35.128 3255
+-68.024 35.128 3256
+-67.898 35.128 3257
+-67.772 35.128 3258
+-67.646 35.128 3282
+-67.52 35.128 3283
+-67.394 35.128 3268
+-67.268 35.128 3269
+-67.142 35.128 3270
+-67.016 35.128 3210
+-66.89 35.128 3395
+-66.764 35.128 3354
+-66.638 35.128 3355
+-66.512 35.128 3324
+-66.386 35.128 3325
+-66.26 35.128 3326
+-66.134 35.128 3457
+-66.008 35.128 3458
+-65.882 35.128 3458
+-65.756 35.128 3459
+-65.63 35.128 3460
+-65.504 35.128 3578
+-65.378 35.128 3578
+-65.252 35.128 3490
+-65.126 35.128 3491
+-128 35.076 2887
+-127.874 35.076 2884
+-127.748 35.076 2881
+-127.622 35.076 2877
+-127.496 35.076 2873
+-127.37 35.076 2870
+-127.244 35.076 2913
+-127.118 35.076 2907
+-126.992 35.076 2940
+-126.866 35.076 2931
+-126.74 35.076 2953
+-126.614 35.076 2943
+-126.488 35.076 2931
+-126.362 35.076 3011
+-126.236 35.076 2998
+-126.11 35.076 2984
+-125.984 35.076 2968
+-125.858 35.076 2949
+-125.732 35.076 2961
+-125.606 35.076 2936
+-125.48 35.076 2906
+-125.354 35.076 2870
+-125.228 35.076 2827
+-125.102 35.076 2814
+-124.976 35.076 2749
+-124.85 35.076 2668
+-124.724 35.076 2567
+-124.598 35.076 2444
+-124.472 35.076 2301
+-124.346 35.076 2170
+-124.22 35.076 2106
+-124.094 35.076 2206
+-123.968 35.076 2264
+-123.842 35.076 2392
+-123.716 35.076 2668
+-123.59 35.076 3005
+-123.464 35.076 3280
+-123.338 35.076 3539
+-123.212 35.076 3663
+-123.086 35.076 3726
+-122.96 35.076 3767
+-122.834 35.076 3835
+-122.708 35.076 3865
+-122.582 35.076 3781
+-122.456 35.076 3967
+-122.33 35.076 4087
+-122.204 35.076 4246
+-122.078 35.076 4300
+-121.952 35.076 4371
+-121.826 35.076 4474
+-121.7 35.076 4674
+-121.574 35.076 4815
+-121.448 35.076 4920
+-121.322 35.076 5065
+-121.196 35.076 5255
+-121.07 35.076 5309
+-120.944 35.076 5537
+-120.818 35.076 5597
+-120.692 35.076 5740
+-120.566 35.076 5899
+-120.44 35.076 5962
+-120.314 35.076 6115
+-120.188 35.076 6297
+-120.062 35.076 6429
+-119.936 35.076 6579
+-119.81 35.076 6599
+-119.684 35.076 6726
+-119.558 35.076 6899
+-119.432 35.076 7020
+-119.306 35.076 7162
+-119.18 35.076 7271
+-119.054 35.076 7384
+-118.928 35.076 7484
+-118.802 35.076 7638
+-118.676 35.076 7770
+-118.55 35.076 7855
+-118.424 35.076 7965
+-118.298 35.076 8137
+-118.172 35.076 8186
+-118.046 35.076 8306
+-117.92 35.076 8351
+-117.794 35.076 8439
+-117.668 35.076 8478
+-117.542 35.076 8498
+-117.416 35.076 8516
+-117.29 35.076 8529
+-117.164 35.076 8497
+-117.038 35.076 8466
+-116.912 35.076 8425
+-116.786 35.076 8356
+-116.66 35.076 8300
+-116.534 35.076 8186
+-116.408 35.076 8150
+-116.282 35.076 8035
+-116.156 35.076 7922
+-116.03 35.076 7815
+-115.904 35.076 7689
+-115.778 35.076 7593
+-115.652 35.076 7469
+-115.526 35.076 7329
+-115.4 35.076 7182
+-115.274 35.076 7076
+-115.148 35.076 6989
+-115.022 35.076 6826
+-114.896 35.076 6725
+-114.77 35.076 6589
+-114.644 35.076 6423
+-114.518 35.076 6275
+-114.392 35.076 6199
+-114.266 35.076 6072
+-114.14 35.076 5954
+-114.014 35.076 5783
+-113.888 35.076 5643
+-113.762 35.076 5528
+-113.636 35.076 5426
+-113.51 35.076 5243
+-113.384 35.076 5107
+-113.258 35.076 5039
+-113.132 35.076 4907
+-113.006 35.076 4778
+-112.88 35.076 4870
+-112.754 35.076 4931
+-112.628 35.076 5004
+-112.502 35.076 5065
+-112.376 35.076 5146
+-112.25 35.076 5211
+-112.124 35.076 5235
+-111.998 35.076 5341
+-111.872 35.076 5344
+-111.746 35.076 5409
+-111.62 35.076 5474
+-111.494 35.076 5518
+-111.368 35.076 5563
+-111.242 35.076 5583
+-111.116 35.076 5607
+-110.99 35.076 5658
+-110.864 35.076 5702
+-110.738 35.076 5705
+-110.612 35.076 5703
+-110.486 35.076 5744
+-110.36 35.076 5719
+-110.234 35.076 5712
+-110.108 35.076 5729
+-109.982 35.076 5702
+-109.856 35.076 5668
+-109.73 35.076 5646
+-109.604 35.076 5640
+-109.478 35.076 5614
+-109.352 35.076 5571
+-109.226 35.076 5499
+-109.1 35.076 5441
+-108.974 35.076 5448
+-108.848 35.076 5414
+-108.722 35.076 5353
+-108.596 35.076 5267
+-108.47 35.076 5192
+-108.344 35.076 5131
+-108.218 35.076 5085
+-108.092 35.076 5047
+-107.966 35.076 4967
+-107.84 35.076 4862
+-107.714 35.076 4761
+-107.588 35.076 4651
+-107.462 35.076 4523
+-107.336 35.076 4427
+-107.21 35.076 4394
+-107.084 35.076 4301
+-106.958 35.076 4182
+-106.832 35.076 4227
+-106.706 35.076 4135
+-106.58 35.076 3930
+-106.454 35.076 3803
+-106.328 35.076 3803
+-106.202 35.076 3703
+-106.076 35.076 3722
+-105.95 35.076 3790
+-105.824 35.076 3832
+-105.698 35.076 3824
+-105.572 35.076 3827
+-105.446 35.076 3825
+-105.32 35.076 3825
+-105.194 35.076 3824
+-105.068 35.076 3824
+-104.942 35.076 3777
+-104.816 35.076 3765
+-104.69 35.076 3762
+-104.564 35.076 3751
+-104.438 35.076 3752
+-104.312 35.076 3753
+-104.186 35.076 3749
+-104.06 35.076 3751
+-103.934 35.076 3658
+-103.808 35.076 3728
+-103.682 35.076 3626
+-103.556 35.076 3628
+-103.43 35.076 3677
+-103.304 35.076 3681
+-103.178 35.076 3684
+-103.052 35.076 3688
+-102.926 35.076 3692
+-102.8 35.076 3686
+-102.674 35.076 3598
+-102.548 35.076 3599
+-102.422 35.076 3545
+-102.296 35.076 3511
+-102.17 35.076 3455
+-102.044 35.076 3407
+-101.918 35.076 3393
+-101.792 35.076 3387
+-101.666 35.076 3388
+-101.54 35.076 3318
+-101.414 35.076 3188
+-101.288 35.076 3175
+-101.162 35.076 3106
+-101.036 35.076 3168
+-100.91 35.076 3150
+-100.784 35.076 3088
+-100.658 35.076 3031
+-100.532 35.076 3078
+-100.406 35.076 3037
+-100.28 35.076 3084
+-100.154 35.076 3074
+-100.028 35.076 3081
+-99.902 35.076 3091
+-99.776 35.076 3124
+-99.65 35.076 3190
+-99.524 35.076 3181
+-99.398 35.076 3171
+-99.272 35.076 3166
+-99.146 35.076 3156
+-99.02 35.076 3156
+-98.894 35.076 3125
+-98.768 35.076 3116
+-98.642 35.076 3125
+-98.516 35.076 3117
+-98.39 35.076 3088
+-98.264 35.076 3082
+-98.138 35.076 3078
+-98.012 35.076 3074
+-97.886 35.076 3132
+-97.76 35.076 3130
+-97.634 35.076 3129
+-97.508 35.076 3138
+-97.382 35.076 3196
+-97.256 35.076 3207
+-97.13 35.076 3221
+-97.004 35.076 3239
+-96.878 35.076 3291
+-96.752 35.076 3343
+-96.626 35.076 3369
+-96.5 35.076 3396
+-96.374 35.076 3423
+-96.248 35.076 3463
+-96.122 35.076 3489
+-95.996 35.076 3514
+-95.87 35.076 3536
+-95.744 35.076 3557
+-95.618 35.076 3582
+-95.492 35.076 3599
+-95.366 35.076 3671
+-95.24 35.076 3757
+-95.114 35.076 3760
+-94.988 35.076 3802
+-94.862 35.076 3793
+-94.736 35.076 3833
+-94.61 35.076 3845
+-94.484 35.076 3887
+-94.358 35.076 3921
+-94.232 35.076 3984
+-94.106 35.076 4044
+-93.98 35.076 4109
+-93.854 35.076 4185
+-93.728 35.076 4247
+-93.602 35.076 4309
+-93.476 35.076 4322
+-93.35 35.076 4371
+-93.224 35.076 4404
+-93.098 35.076 4484
+-92.972 35.076 4568
+-92.846 35.076 4658
+-92.72 35.076 4755
+-92.594 35.076 4834
+-92.468 35.076 4927
+-92.342 35.076 4953
+-92.216 35.076 5047
+-92.09 35.076 5098
+-91.964 35.076 5183
+-91.838 35.076 5168
+-91.712 35.076 5383
+-91.586 35.076 5488
+-91.46 35.076 5654
+-91.334 35.076 5731
+-91.208 35.076 5834
+-91.082 35.076 5926
+-90.956 35.076 6001
+-90.83 35.076 6122
+-90.704 35.076 6231
+-90.578 35.076 6323
+-90.452 35.076 6395
+-90.326 35.076 6445
+-90.2 35.076 6520
+-90.074 35.076 6549
+-89.948 35.076 6603
+-89.822 35.076 6672
+-89.696 35.076 6705
+-89.57 35.076 6769
+-89.444 35.076 6804
+-89.318 35.076 6830
+-89.192 35.076 6851
+-89.066 35.076 6865
+-88.94 35.076 6902
+-88.814 35.076 6864
+-88.688 35.076 6855
+-88.562 35.076 6888
+-88.436 35.076 6833
+-88.31 35.076 6833
+-88.184 35.076 6802
+-88.058 35.076 6788
+-87.932 35.076 6711
+-87.806 35.076 6669
+-87.68 35.076 6647
+-87.554 35.076 6591
+-87.428 35.076 6517
+-87.302 35.076 6416
+-87.176 35.076 6335
+-87.05 35.076 6241
+-86.924 35.076 6198
+-86.798 35.076 6127
+-86.672 35.076 6049
+-86.546 35.076 5965
+-86.42 35.076 5804
+-86.294 35.076 5693
+-86.168 35.076 5604
+-86.042 35.076 5480
+-85.916 35.076 5414
+-85.79 35.076 5351
+-85.664 35.076 5283
+-85.538 35.076 5180
+-85.412 35.076 5037
+-85.286 35.076 5041
+-85.16 35.076 4933
+-85.034 35.076 4710
+-84.908 35.076 4562
+-84.782 35.076 4582
+-84.656 35.076 4535
+-84.53 35.076 4422
+-84.404 35.076 4271
+-84.278 35.076 4106
+-84.152 35.076 3924
+-84.026 35.076 3822
+-83.9 35.076 3850
+-83.774 35.076 3899
+-83.648 35.076 3928
+-83.522 35.076 3887
+-83.396 35.076 3840
+-83.27 35.076 3826
+-83.144 35.076 3749
+-83.018 35.076 3644
+-82.892 35.076 3585
+-82.766 35.076 3481
+-82.64 35.076 3380
+-82.514 35.076 3237
+-82.388 35.076 3164
+-82.262 35.076 3061
+-82.136 35.076 2994
+-82.01 35.076 2936
+-81.884 35.076 2794
+-81.758 35.076 2765
+-81.632 35.076 2747
+-81.506 35.076 2713
+-81.38 35.076 2714
+-81.254 35.076 2716
+-81.128 35.076 2686
+-81.002 35.076 2695
+-80.876 35.076 2693
+-80.75 35.076 2639
+-80.624 35.076 2624
+-80.498 35.076 2601
+-80.372 35.076 2580
+-80.246 35.076 2529
+-80.12 35.076 2462
+-79.994 35.076 2436
+-79.868 35.076 2369
+-79.742 35.076 2254
+-79.616 35.076 2216
+-79.49 35.076 2180
+-79.364 35.076 2155
+-79.238 35.076 2139
+-79.112 35.076 2120
+-78.986 35.076 2132
+-78.86 35.076 2130
+-78.734 35.076 2151
+-78.608 35.076 2190
+-78.482 35.076 2236
+-78.356 35.076 2281
+-78.23 35.076 2313
+-78.104 35.076 2358
+-77.978 35.076 2395
+-77.852 35.076 2437
+-77.726 35.076 2470
+-77.6 35.076 2521
+-77.474 35.076 2578
+-77.348 35.076 2597
+-77.222 35.076 2631
+-77.096 35.076 2654
+-76.97 35.076 2747
+-76.844 35.076 2769
+-76.718 35.076 2789
+-76.592 35.076 2807
+-76.466 35.076 2825
+-76.34 35.076 2841
+-76.214 35.076 2811
+-76.088 35.076 2837
+-75.962 35.076 2850
+-75.836 35.076 2858
+-75.71 35.076 3086
+-75.584 35.076 3116
+-75.458 35.076 3127
+-75.332 35.076 3137
+-75.206 35.076 3147
+-75.08 35.076 3159
+-74.954 35.076 3178
+-74.828 35.076 3187
+-74.702 35.076 3188
+-74.576 35.076 3197
+-74.45 35.076 3166
+-74.324 35.076 3173
+-74.198 35.076 3180
+-74.072 35.076 3236
+-73.946 35.076 3238
+-73.82 35.076 3251
+-73.694 35.076 3258
+-73.568 35.076 3247
+-73.442 35.076 3269
+-73.316 35.076 3313
+-73.19 35.076 3326
+-73.064 35.076 3330
+-72.938 35.076 3334
+-72.812 35.076 3380
+-72.686 35.076 3386
+-72.56 35.076 3338
+-72.434 35.076 3359
+-72.308 35.076 3358
+-72.182 35.076 3287
+-72.056 35.076 3213
+-71.93 35.076 3234
+-71.804 35.076 3238
+-71.678 35.076 3268
+-71.552 35.076 3247
+-71.426 35.076 3259
+-71.3 35.076 3263
+-71.174 35.076 3247
+-71.048 35.076 3250
+-70.922 35.076 3254
+-70.796 35.076 3234
+-70.67 35.076 3219
+-70.544 35.076 3251
+-70.418 35.076 3247
+-70.292 35.076 3251
+-70.166 35.076 3254
+-70.04 35.076 3179
+-69.914 35.076 3218
+-69.788 35.076 3215
+-69.662 35.076 3217
+-69.536 35.076 3220
+-69.41 35.076 3446
+-69.284 35.076 3372
+-69.158 35.076 3385
+-69.032 35.076 3386
+-68.906 35.076 3285
+-68.78 35.076 3272
+-68.654 35.076 3273
+-68.528 35.076 3275
+-68.402 35.076 3253
+-68.276 35.076 3254
+-68.15 35.076 3255
+-68.024 35.076 3256
+-67.898 35.076 3257
+-67.772 35.076 3281
+-67.646 35.076 3282
+-67.52 35.076 3267
+-67.394 35.076 3268
+-67.268 35.076 3269
+-67.142 35.076 3209
+-67.016 35.076 3394
+-66.89 35.076 3353
+-66.764 35.076 3354
+-66.638 35.076 3323
+-66.512 35.076 3324
+-66.386 35.076 3325
+-66.26 35.076 3456
+-66.134 35.076 3457
+-66.008 35.076 3458
+-65.882 35.076 3458
+-65.756 35.076 3459
+-65.63 35.076 3576
+-65.504 35.076 3577
+-65.378 35.076 3489
+-65.252 35.076 3490
+-65.126 35.076 3490
+-128 35.024 2776
+-127.874 35.024 2886
+-127.748 35.024 2883
+-127.622 35.024 2880
+-127.496 35.024 2877
+-127.37 35.024 2874
+-127.244 35.024 2870
+-127.118 35.024 2913
+-126.992 35.024 2907
+-126.866 35.024 2973
+-126.74 35.024 2964
+-126.614 35.024 2954
+-126.488 35.024 2943
+-126.362 35.024 2931
+-126.236 35.024 3012
+-126.11 35.024 2998
+-125.984 35.024 2983
+-125.858 35.024 2965
+-125.732 35.024 2945
+-125.606 35.024 2955
+-125.48 35.024 2925
+-125.354 35.024 2891
+-125.228 35.024 2849
+-125.102 35.024 2799
+-124.976 35.024 2776
+-124.85 35.024 2701
+-124.724 35.024 2612
+-124.598 35.024 2509
+-124.472 35.024 2420
+-124.346 35.024 2324
+-124.22 35.024 2291
+-124.094 35.024 2251
+-123.968 35.024 2184
+-123.842 35.024 2312
+-123.716 35.024 2626
+-123.59 35.024 3006
+-123.464 35.024 3340
+-123.338 35.024 3542
+-123.212 35.024 3658
+-123.086 35.024 3708
+-122.96 35.024 3692
+-122.834 35.024 3682
+-122.708 35.024 3827
+-122.582 35.024 3910
+-122.456 35.024 4002
+-122.33 35.024 3939
+-122.204 35.024 4167
+-122.078 35.024 4322
+-121.952 35.024 4434
+-121.826 35.024 4562
+-121.7 35.024 4713
+-121.574 35.024 4819
+-121.448 35.024 4927
+-121.322 35.024 5066
+-121.196 35.024 5283
+-121.07 35.024 5402
+-120.944 35.024 5526
+-120.818 35.024 5654
+-120.692 35.024 5716
+-120.566 35.024 5883
+-120.44 35.024 6011
+-120.314 35.024 6184
+-120.188 35.024 6338
+-120.062 35.024 6345
+-119.936 35.024 6578
+-119.81 35.024 6664
+-119.684 35.024 6856
+-119.558 35.024 6912
+-119.432 35.024 7015
+-119.306 35.024 7175
+-119.18 35.024 7244
+-119.054 35.024 7434
+-118.928 35.024 7508
+-118.802 35.024 7660
+-118.676 35.024 7805
+-118.55 35.024 7887
+-118.424 35.024 8033
+-118.298 35.024 8128
+-118.172 35.024 8222
+-118.046 35.024 8322
+-117.92 35.024 8390
+-117.794 35.024 8492
+-117.668 35.024 8520
+-117.542 35.024 8542
+-117.416 35.024 8599
+-117.29 35.024 8583
+-117.164 35.024 8586
+-117.038 35.024 8537
+-116.912 35.024 8509
+-116.786 35.024 8410
+-116.66 35.024 8327
+-116.534 35.024 8217
+-116.408 35.024 8156
+-116.282 35.024 8060
+-116.156 35.024 7948
+-116.03 35.024 7876
+-115.904 35.024 7753
+-115.778 35.024 7564
+-115.652 35.024 7494
+-115.526 35.024 7336
+-115.4 35.024 7198
+-115.274 35.024 7140
+-115.148 35.024 6940
+-115.022 35.024 6832
+-114.896 35.024 6713
+-114.77 35.024 6586
+-114.644 35.024 6468
+-114.518 35.024 6308
+-114.392 35.024 6170
+-114.266 35.024 6007
+-114.14 35.024 5951
+-114.014 35.024 5838
+-113.888 35.024 5634
+-113.762 35.024 5584
+-113.636 35.024 5422
+-113.51 35.024 5275
+-113.384 35.024 5124
+-113.258 35.024 5013
+-113.132 35.024 4955
+-113.006 35.024 4883
+-112.88 35.024 4882
+-112.754 35.024 4970
+-112.628 35.024 5084
+-112.502 35.024 5115
+-112.376 35.024 5194
+-112.25 35.024 5227
+-112.124 35.024 5284
+-111.998 35.024 5354
+-111.872 35.024 5440
+-111.746 35.024 5525
+-111.62 35.024 5570
+-111.494 35.024 5615
+-111.368 35.024 5652
+-111.242 35.024 5666
+-111.116 35.024 5701
+-110.99 35.024 5729
+-110.864 35.024 5735
+-110.738 35.024 5754
+-110.612 35.024 5766
+-110.486 35.024 5766
+-110.36 35.024 5777
+-110.234 35.024 5780
+-110.108 35.024 5766
+-109.982 35.024 5771
+-109.856 35.024 5747
+-109.73 35.024 5720
+-109.604 35.024 5681
+-109.478 35.024 5623
+-109.352 35.024 5623
+-109.226 35.024 5554
+-109.1 35.024 5500
+-108.974 35.024 5444
+-108.848 35.024 5448
+-108.722 35.024 5399
+-108.596 35.024 5335
+-108.47 35.024 5236
+-108.344 35.024 5145
+-108.218 35.024 5079
+-108.092 35.024 5077
+-107.966 35.024 5029
+-107.84 35.024 4930
+-107.714 35.024 4807
+-107.588 35.024 4679
+-107.462 35.024 4561
+-107.336 35.024 4471
+-107.21 35.024 4387
+-107.084 35.024 4330
+-106.958 35.024 4287
+-106.832 35.024 4252
+-106.706 35.024 4179
+-106.58 35.024 4001
+-106.454 35.024 3875
+-106.328 35.024 3741
+-106.202 35.024 3560
+-106.076 35.024 3681
+-105.95 35.024 3781
+-105.824 35.024 3840
+-105.698 35.024 3853
+-105.572 35.024 3877
+-105.446 35.024 3848
+-105.32 35.024 3848
+-105.194 35.024 3848
+-105.068 35.024 3848
+-104.942 35.024 3842
+-104.816 35.024 3835
+-104.69 35.024 3775
+-104.564 35.024 3775
+-104.438 35.024 3774
+-104.312 35.024 3769
+-104.186 35.024 3770
+-104.06 35.024 3732
+-103.934 35.024 3745
+-103.808 35.024 3707
+-103.682 35.024 3647
+-103.556 35.024 3694
+-103.43 35.024 3698
+-103.304 35.024 3699
+-103.178 35.024 3702
+-103.052 35.024 3706
+-102.926 35.024 3700
+-102.8 35.024 3610
+-102.674 35.024 3610
+-102.548 35.024 3555
+-102.422 35.024 3520
+-102.296 35.024 3465
+-102.17 35.024 3417
+-102.044 35.024 3476
+-101.918 35.024 3477
+-101.792 35.024 3396
+-101.666 35.024 3458
+-101.54 35.024 3292
+-101.414 35.024 3196
+-101.288 35.024 3184
+-101.162 35.024 3271
+-101.036 35.024 3180
+-100.91 35.024 3163
+-100.784 35.024 3100
+-100.658 35.024 3064
+-100.532 35.024 3087
+-100.406 35.024 3079
+-100.28 35.024 3090
+-100.154 35.024 3078
+-100.028 35.024 3085
+-99.902 35.024 3061
+-99.776 35.024 3091
+-99.65 35.024 3152
+-99.524 35.024 3186
+-99.398 35.024 3182
+-99.272 35.024 3173
+-99.146 35.024 3175
+-99.02 35.024 3142
+-98.894 35.024 3134
+-98.768 35.024 3145
+-98.642 35.024 3138
+-98.516 35.024 3109
+-98.39 35.024 3105
+-98.264 35.024 3101
+-98.138 35.024 3098
+-98.012 35.024 3159
+-97.886 35.024 3156
+-97.76 35.024 3155
+-97.634 35.024 3163
+-97.508 35.024 3221
+-97.382 35.024 3228
+-97.256 35.024 3239
+-97.13 35.024 3252
+-97.004 35.024 3248
+-96.878 35.024 3297
+-96.752 35.024 3318
+-96.626 35.024 3341
+-96.5 35.024 3365
+-96.374 35.024 3404
+-96.248 35.024 3478
+-96.122 35.024 3500
+-95.996 35.024 3522
+-95.87 35.024 3541
+-95.744 35.024 3566
+-95.618 35.024 3582
+-95.492 35.024 3596
+-95.366 35.024 3695
+-95.24 35.024 3758
+-95.114 35.024 3773
+-94.988 35.024 3781
+-94.862 35.024 3785
+-94.736 35.024 3785
+-94.61 35.024 3806
+-94.484 35.024 3817
+-94.358 35.024 3859
+-94.232 35.024 3937
+-94.106 35.024 4009
+-93.98 35.024 4083
+-93.854 35.024 4160
+-93.728 35.024 4187
+-93.602 35.024 4226
+-93.476 35.024 4297
+-93.35 35.024 4355
+-93.224 35.024 4411
+-93.098 35.024 4481
+-92.972 35.024 4547
+-92.846 35.024 4606
+-92.72 35.024 4687
+-92.594 35.024 4744
+-92.468 35.024 4841
+-92.342 35.024 4917
+-92.216 35.024 4987
+-92.09 35.024 5065
+-91.964 35.024 5152
+-91.838 35.024 5246
+-91.712 35.024 5367
+-91.586 35.024 5461
+-91.46 35.024 5647
+-91.334 35.024 5709
+-91.208 35.024 5815
+-91.082 35.024 5920
+-90.956 35.024 6040
+-90.83 35.024 6048
+-90.704 35.024 6155
+-90.578 35.024 6266
+-90.452 35.024 6332
+-90.326 35.024 6395
+-90.2 35.024 6457
+-90.074 35.024 6500
+-89.948 35.024 6569
+-89.822 35.024 6622
+-89.696 35.024 6674
+-89.57 35.024 6716
+-89.444 35.024 6735
+-89.318 35.024 6784
+-89.192 35.024 6818
+-89.066 35.024 6813
+-88.94 35.024 6811
+-88.814 35.024 6823
+-88.688 35.024 6836
+-88.562 35.024 6806
+-88.436 35.024 6816
+-88.31 35.024 6777
+-88.184 35.024 6749
+-88.058 35.024 6695
+-87.932 35.024 6648
+-87.806 35.024 6593
+-87.68 35.024 6578
+-87.554 35.024 6530
+-87.428 35.024 6459
+-87.302 35.024 6354
+-87.176 35.024 6274
+-87.05 35.024 6205
+-86.924 35.024 6154
+-86.798 35.024 6065
+-86.672 35.024 6005
+-86.546 35.024 5894
+-86.42 35.024 5748
+-86.294 35.024 5676
+-86.168 35.024 5574
+-86.042 35.024 5475
+-85.916 35.024 5416
+-85.79 35.024 5322
+-85.664 35.024 5192
+-85.538 35.024 5196
+-85.412 35.024 5083
+-85.286 35.024 5033
+-85.16 35.024 4914
+-85.034 35.024 4732
+-84.908 35.024 4598
+-84.782 35.024 4554
+-84.656 35.024 4466
+-84.53 35.024 4373
+-84.404 35.024 4268
+-84.278 35.024 4149
+-84.152 35.024 4017
+-84.026 35.024 3962
+-83.9 35.024 3911
+-83.774 35.024 3936
+-83.648 35.024 3937
+-83.522 35.024 3886
+-83.396 35.024 3850
+-83.27 35.024 3824
+-83.144 35.024 3793
+-83.018 35.024 3729
+-82.892 35.024 3560
+-82.766 35.024 3501
+-82.64 35.024 3422
+-82.514 35.024 3284
+-82.388 35.024 3222
+-82.262 35.024 3161
+-82.136 35.024 3071
+-82.01 35.024 3023
+-81.884 35.024 2931
+-81.758 35.024 2821
+-81.632 35.024 2792
+-81.506 35.024 2778
+-81.38 35.024 2751
+-81.254 35.024 2727
+-81.128 35.024 2721
+-81.002 35.024 2713
+-80.876 35.024 2663
+-80.75 35.024 2646
+-80.624 35.024 2622
+-80.498 35.024 2582
+-80.372 35.024 2556
+-80.246 35.024 2501
+-80.12 35.024 2445
+-79.994 35.024 2351
+-79.868 35.024 2244
+-79.742 35.024 2193
+-79.616 35.024 2144
+-79.49 35.024 2104
+-79.364 35.024 2073
+-79.238 35.024 2044
+-79.112 35.024 2045
+-78.986 35.024 2045
+-78.86 35.024 2064
+-78.734 35.024 2104
+-78.608 35.024 2154
+-78.482 35.024 2203
+-78.356 35.024 2242
+-78.23 35.024 2294
+-78.104 35.024 2338
+-77.978 35.024 2385
+-77.852 35.024 2424
+-77.726 35.024 2480
+-77.6 35.024 2540
+-77.474 35.024 2564
+-77.348 35.024 2602
+-77.222 35.024 2628
+-77.096 35.024 2722
+-76.97 35.024 2746
+-76.844 35.024 2768
+-76.718 35.024 2789
+-76.592 35.024 2808
+-76.466 35.024 2826
+-76.34 35.024 2799
+-76.214 35.024 2826
+-76.088 35.024 2840
+-75.962 35.024 2849
+-75.836 35.024 3072
+-75.71 35.024 3103
+-75.584 35.024 3115
+-75.458 35.024 3125
+-75.332 35.024 3136
+-75.206 35.024 3150
+-75.08 35.024 3169
+-74.954 35.024 3178
+-74.828 35.024 3180
+-74.702 35.024 3189
+-74.576 35.024 3159
+-74.45 35.024 3166
+-74.324 35.024 3173
+-74.198 35.024 3229
+-74.072 35.024 3232
+-73.946 35.024 3246
+-73.82 35.024 3253
+-73.694 35.024 3242
+-73.568 35.024 3264
+-73.442 35.024 3308
+-73.316 35.024 3321
+-73.19 35.024 3326
+-73.064 35.024 3330
+-72.938 35.024 3376
+-72.812 35.024 3382
+-72.686 35.024 3334
+-72.56 35.024 3355
+-72.434 35.024 3355
+-72.308 35.024 3287
+-72.182 35.024 3210
+-72.056 35.024 3231
+-71.93 35.024 3235
+-71.804 35.024 3265
+-71.678 35.024 3245
+-71.552 35.024 3257
+-71.426 35.024 3260
+-71.3 35.024 3245
+-71.174 35.024 3249
+-71.048 35.024 3252
+-70.922 35.024 3232
+-70.796 35.024 3217
+-70.67 35.024 3249
+-70.544 35.024 3246
+-70.418 35.024 3249
+-70.292 35.024 3252
+-70.166 35.024 3178
+-70.04 35.024 3216
+-69.914 35.024 3214
+-69.788 35.024 3216
+-69.662 35.024 3219
+-69.536 35.024 3445
+-69.41 35.024 3374
+-69.284 35.024 3383
+-69.158 35.024 3385
+-69.032 35.024 3283
+-68.906 35.024 3271
+-68.78 35.024 3272
+-68.654 35.024 3274
+-68.528 35.024 3253
+-68.402 35.024 3254
+-68.276 35.024 3255
+-68.15 35.024 3256
+-68.024 35.024 3257
+-67.898 35.024 3280
+-67.772 35.024 3281
+-67.646 35.024 3266
+-67.52 35.024 3267
+-67.394 35.024 3268
+-67.268 35.024 3209
+-67.142 35.024 3393
+-67.016 35.024 3353
+-66.89 35.024 3353
+-66.764 35.024 3323
+-66.638 35.024 3323
+-66.512 35.024 3324
+-66.386 35.024 3455
+-66.26 35.024 3456
+-66.134 35.024 3457
+-66.008 35.024 3457
+-65.882 35.024 3458
+-65.756 35.024 3575
+-65.63 35.024 3576
+-65.504 35.024 3488
+-65.378 35.024 3489
+-65.252 35.024 3489
+-65.126 35.024 3490
+-128 34.972 2780
+-127.874 34.972 2777
+-127.748 34.972 2886
+-127.622 34.972 2883
+-127.496 34.972 2880
+-127.37 34.972 2877
+-127.244 34.972 2874
+-127.118 34.972 2870
+-126.992 34.972 2921
+-126.866 34.972 2916
+-126.74 34.972 2974
+-126.614 34.972 2965
+-126.488 34.972 2955
+-126.362 34.972 2944
+-126.236 34.972 2932
+-126.11 34.972 3014
+-125.984 34.972 2999
+-125.858 34.972 2982
+-125.732 34.972 2963
+-125.606 34.972 2942
+-125.48 34.972 2948
+-125.354 34.972 2916
+-125.228 34.972 2877
+-125.102 34.972 2831
+-124.976 34.972 2777
+-124.85 34.972 2750
+-124.724 34.972 2675
+-124.598 34.972 2620
+-124.472 34.972 2535
+-124.346 34.972 2487
+-124.22 34.972 2418
+-124.094 34.972 2340
+-123.968 34.972 2294
+-123.842 34.972 2420
+-123.716 34.972 2731
+-123.59 34.972 3085
+-123.464 34.972 3373
+-123.338 34.972 3560
+-123.212 34.972 3685
+-123.086 34.972 3712
+-122.96 34.972 3626
+-122.834 34.972 3501
+-122.708 34.972 3740
+-122.582 34.972 3967
+-122.456 34.972 4067
+-122.33 34.972 4104
+-122.204 34.972 4199
+-122.078 34.972 4296
+-121.952 34.972 4424
+-121.826 34.972 4573
+-121.7 34.972 4706
+-121.574 34.972 4833
+-121.448 34.972 4983
+-121.322 34.972 5162
+-121.196 34.972 5331
+-121.07 34.972 5461
+-120.944 34.972 5568
+-120.818 34.972 5677
+-120.692 34.972 5745
+-120.566 34.972 5854
+-120.44 34.972 6009
+-120.314 34.972 6165
+-120.188 34.972 6336
+-120.062 34.972 6474
+-119.936 34.972 6576
+-119.81 34.972 6665
+-119.684 34.972 6819
+-119.558 34.972 6922
+-119.432 34.972 7074
+-119.306 34.972 7226
+-119.18 34.972 7333
+-119.054 34.972 7482
+-118.928 34.972 7571
+-118.802 34.972 7662
+-118.676 34.972 7781
+-118.55 34.972 7977
+-118.424 34.972 8084
+-118.298 34.972 8178
+-118.172 34.972 8250
+-118.046 34.972 8370
+-117.92 34.972 8464
+-117.794 34.972 8512
+-117.668 34.972 8560
+-117.542 34.972 8624
+-117.416 34.972 8633
+-117.29 34.972 8662
+-117.164 34.972 8644
+-117.038 34.972 8594
+-116.912 34.972 8518
+-116.786 34.972 8479
+-116.66 34.972 8361
+-116.534 34.972 8292
+-116.408 34.972 8180
+-116.282 34.972 8076
+-116.156 34.972 7981
+-116.03 34.972 7895
+-115.904 34.972 7813
+-115.778 34.972 7639
+-115.652 34.972 7504
+-115.526 34.972 7390
+-115.4 34.972 7263
+-115.274 34.972 7132
+-115.148 34.972 7004
+-115.022 34.972 6854
+-114.896 34.972 6784
+-114.77 34.972 6564
+-114.644 34.972 6507
+-114.518 34.972 6329
+-114.392 34.972 6250
+-114.266 34.972 6119
+-114.14 34.972 5965
+-114.014 34.972 5810
+-113.888 34.972 5707
+-113.762 34.972 5581
+-113.636 34.972 5424
+-113.51 34.972 5268
+-113.384 34.972 5142
+-113.258 34.972 5042
+-113.132 34.972 4947
+-113.006 34.972 4858
+-112.88 34.972 4926
+-112.754 34.972 5001
+-112.628 34.972 5094
+-112.502 34.972 5183
+-112.376 34.972 5240
+-112.25 34.972 5287
+-112.124 34.972 5366
+-111.998 34.972 5453
+-111.872 34.972 5536
+-111.746 34.972 5562
+-111.62 34.972 5627
+-111.494 34.972 5673
+-111.368 34.972 5680
+-111.242 34.972 5720
+-111.116 34.972 5766
+-110.99 34.972 5741
+-110.864 34.972 5783
+-110.738 34.972 5825
+-110.612 34.972 5849
+-110.486 34.972 5853
+-110.36 34.972 5853
+-110.234 34.972 5842
+-110.108 34.972 5838
+-109.982 34.972 5834
+-109.856 34.972 5824
+-109.73 34.972 5796
+-109.604 34.972 5743
+-109.478 34.972 5699
+-109.352 34.972 5671
+-109.226 34.972 5617
+-109.1 34.972 5551
+-108.974 34.972 5532
+-108.848 34.972 5478
+-108.722 34.972 5406
+-108.596 34.972 5382
+-108.47 34.972 5290
+-108.344 34.972 5202
+-108.218 34.972 5129
+-108.092 34.972 5062
+-107.966 34.972 5062
+-107.84 34.972 4993
+-107.714 34.972 4846
+-107.588 34.972 4697
+-107.462 34.972 4570
+-107.336 34.972 4521
+-107.21 34.972 4445
+-107.084 34.972 4366
+-106.958 34.972 4328
+-106.832 34.972 4289
+-106.706 34.972 4222
+-106.58 34.972 4109
+-106.454 34.972 3978
+-106.328 34.972 3828
+-106.202 34.972 3711
+-106.076 34.972 3765
+-105.95 34.972 3854
+-105.824 34.972 3899
+-105.698 34.972 3934
+-105.572 34.972 3890
+-105.446 34.972 3898
+-105.32 34.972 3902
+-105.194 34.972 3867
+-105.068 34.972 3862
+-104.942 34.972 3856
+-104.816 34.972 3842
+-104.69 34.972 3843
+-104.564 34.972 3845
+-104.438 34.972 3846
+-104.312 34.972 3789
+-104.186 34.972 3789
+-104.06 34.972 3764
+-103.934 34.972 3726
+-103.808 34.972 3769
+-103.682 34.972 3773
+-103.556 34.972 3780
+-103.43 34.972 3718
+-103.304 34.972 3719
+-103.178 34.972 3721
+-103.052 34.972 3714
+-102.926 34.972 3623
+-102.8 34.972 3623
+-102.674 34.972 3637
+-102.548 34.972 3530
+-102.422 34.972 3482
+-102.296 34.972 3493
+-102.17 34.972 3484
+-102.044 34.972 3485
+-101.918 34.972 3483
+-101.792 34.972 3464
+-101.666 34.972 3411
+-101.54 34.972 3300
+-101.414 34.972 3291
+-101.288 34.972 3296
+-101.162 34.972 3283
+-101.036 34.972 3193
+-100.91 34.972 3176
+-100.784 34.972 3163
+-100.658 34.972 3126
+-100.532 34.972 3103
+-100.406 34.972 3070
+-100.28 34.972 3081
+-100.154 34.972 3090
+-100.028 34.972 3061
+-99.902 34.972 3065
+-99.776 34.972 3060
+-99.65 34.972 3156
+-99.524 34.972 3195
+-99.398 34.972 3187
+-99.272 34.972 3191
+-99.146 34.972 3156
+-99.02 34.972 3150
+-98.894 34.972 3162
+-98.768 34.972 3156
+-98.642 34.972 3126
+-98.516 34.972 3123
+-98.39 34.972 3120
+-98.264 34.972 3118
+-98.138 34.972 3180
+-98.012 34.972 3178
+-97.886 34.972 3177
+-97.76 34.972 3184
+-97.634 34.972 3200
+-97.508 34.972 3206
+-97.382 34.972 3214
+-97.256 34.972 3225
+-97.13 34.972 3256
+-97.004 34.972 3302
+-96.878 34.972 3320
+-96.752 34.972 3338
+-96.626 34.972 3358
+-96.5 34.972 3394
+-96.374 34.972 3415
+-96.248 34.972 3436
+-96.122 34.972 3509
+-95.996 34.972 3528
+-95.87 34.972 3551
+-95.744 34.972 3567
+-95.618 34.972 3581
+-95.492 34.972 3685
+-95.366 34.972 3756
+-95.24 34.972 3699
+-95.114 34.972 3764
+-94.988 34.972 3771
+-94.862 34.972 3758
+-94.736 34.972 3769
+-94.61 34.972 3750
+-94.484 34.972 3731
+-94.358 34.972 3734
+-94.232 34.972 3810
+-94.106 34.972 3918
+-93.98 34.972 4036
+-93.854 34.972 4128
+-93.728 34.972 4153
+-93.602 34.972 4095
+-93.476 34.972 4217
+-93.35 34.972 4331
+-93.224 34.972 4406
+-93.098 34.972 4464
+-92.972 34.972 4533
+-92.846 34.972 4588
+-92.72 34.972 4633
+-92.594 34.972 4670
+-92.468 34.972 4769
+-92.342 34.972 4842
+-92.216 34.972 4929
+-92.09 34.972 4961
+-91.964 34.972 5072
+-91.838 34.972 5231
+-91.712 34.972 5367
+-91.586 34.972 5419
+-91.46 34.972 5606
+-91.334 34.972 5739
+-91.208 34.972 5777
+-91.082 34.972 5855
+-90.956 34.972 5938
+-90.83 34.972 5998
+-90.704 34.972 6152
+-90.578 34.972 6198
+-90.452 34.972 6280
+-90.326 34.972 6332
+-90.2 34.972 6381
+-90.074 34.972 6442
+-89.948 34.972 6500
+-89.822 34.972 6563
+-89.696 34.972 6609
+-89.57 34.972 6643
+-89.444 34.972 6673
+-89.318 34.972 6733
+-89.192 34.972 6722
+-89.066 34.972 6737
+-88.94 34.972 6749
+-88.814 34.972 6756
+-88.688 34.972 6761
+-88.562 34.972 6755
+-88.436 34.972 6737
+-88.31 34.972 6733
+-88.184 34.972 6682
+-88.058 34.972 6637
+-87.932 34.972 6601
+-87.806 34.972 6558
+-87.68 34.972 6500
+-87.554 34.972 6477
+-87.428 34.972 6391
+-87.302 34.972 6286
+-87.176 34.972 6257
+-87.05 34.972 6146
+-86.924 34.972 6130
+-86.798 34.972 5969
+-86.672 34.972 5948
+-86.546 34.972 5823
+-86.42 34.972 5722
+-86.294 34.972 5678
+-86.168 34.972 5516
+-86.042 34.972 5426
+-85.916 34.972 5407
+-85.79 34.972 5324
+-85.664 34.972 5244
+-85.538 34.972 5197
+-85.412 34.972 5075
+-85.286 34.972 4996
+-85.16 34.972 4870
+-85.034 34.972 4698
+-84.908 34.972 4542
+-84.782 34.972 4446
+-84.656 34.972 4355
+-84.53 34.972 4286
+-84.404 34.972 4200
+-84.278 34.972 4111
+-84.152 34.972 4030
+-84.026 34.972 3988
+-83.9 34.972 3939
+-83.774 34.972 3928
+-83.648 34.972 3932
+-83.522 34.972 3884
+-83.396 34.972 3880
+-83.27 34.972 3838
+-83.144 34.972 3793
+-83.018 34.972 3687
+-82.892 34.972 3656
+-82.766 34.972 3570
+-82.64 34.972 3475
+-82.514 34.972 3419
+-82.388 34.972 3269
+-82.262 34.972 3217
+-82.136 34.972 3151
+-82.01 34.972 3091
+-81.884 34.972 2915
+-81.758 34.972 2882
+-81.632 34.972 2820
+-81.506 34.972 2812
+-81.38 34.972 2777
+-81.254 34.972 2764
+-81.128 34.972 2750
+-81.002 34.972 2695
+-80.876 34.972 2675
+-80.75 34.972 2649
+-80.624 34.972 2610
+-80.498 34.972 2584
+-80.372 34.972 2524
+-80.246 34.972 2468
+-80.12 34.972 2370
+-79.994 34.972 2257
+-79.868 34.972 2194
+-79.742 34.972 2138
+-79.616 34.972 2067
+-79.49 34.972 2017
+-79.364 34.972 1971
+-79.238 34.972 1958
+-79.112 34.972 1949
+-78.986 34.972 1964
+-78.86 34.972 2002
+-78.734 34.972 2066
+-78.608 34.972 2108
+-78.482 34.972 2156
+-78.356 34.972 2216
+-78.23 34.972 2268
+-78.104 34.972 2323
+-77.978 34.972 2397
+-77.852 34.972 2456
+-77.726 34.972 2495
+-77.6 34.972 2553
+-77.474 34.972 2587
+-77.348 34.972 2618
+-77.222 34.972 2693
+-77.096 34.972 2721
+-76.97 34.972 2746
+-76.844 34.972 2769
+-76.718 34.972 2790
+-76.592 34.972 2809
+-76.466 34.972 2786
+-76.34 34.972 2814
+-76.214 34.972 2829
+-76.088 34.972 2839
+-75.962 34.972 3058
+-75.836 34.972 3089
+-75.71 34.972 3102
+-75.584 34.972 3114
+-75.458 34.972 3125
+-75.332 34.972 3139
+-75.206 34.972 3159
+-75.08 34.972 3169
+-74.954 34.972 3172
+-74.828 34.972 3181
+-74.702 34.972 3152
+-74.576 34.972 3160
+-74.45 34.972 3167
+-74.324 34.972 3223
+-74.198 34.972 3226
+-74.072 34.972 3240
+-73.946 34.972 3247
+-73.82 34.972 3237
+-73.694 34.972 3259
+-73.568 34.972 3303
+-73.442 34.972 3316
+-73.316 34.972 3321
+-73.19 34.972 3325
+-73.064 34.972 3371
+-72.938 34.972 3378
+-72.812 34.972 3330
+-72.686 34.972 3352
+-72.56 34.972 3351
+-72.434 34.972 3281
+-72.308 34.972 3208
+-72.182 34.972 3229
+-72.056 34.972 3233
+-71.93 34.972 3263
+-71.804 34.972 3243
+-71.678 34.972 3254
+-71.552 34.972 3258
+-71.426 34.972 3243
+-71.3 34.972 3247
+-71.174 34.972 3250
+-71.048 34.972 3231
+-70.922 34.972 3216
+-70.796 34.972 3248
+-70.67 34.972 3244
+-70.544 34.972 3248
+-70.418 34.972 3251
+-70.292 34.972 3177
+-70.166 34.972 3215
+-70.04 34.972 3212
+-69.914 34.972 3215
+-69.788 34.972 3218
+-69.662 34.972 3443
+-69.536 34.972 3369
+-69.41 34.972 3382
+-69.284 34.972 3383
+-69.158 34.972 3282
+-69.032 34.972 3270
+-68.906 34.972 3271
+-68.78 34.972 3273
+-68.654 34.972 3252
+-68.528 34.972 3253
+-68.402 34.972 3254
+-68.276 34.972 3255
+-68.15 34.972 3256
+-68.024 34.972 3279
+-67.898 34.972 3280
+-67.772 34.972 3265
+-67.646 34.972 3266
+-67.52 34.972 3268
+-67.394 34.972 3208
+-67.268 34.972 3392
+-67.142 34.972 3352
+-67.016 34.972 3353
+-66.89 34.972 3322
+-66.764 34.972 3323
+-66.638 34.972 3323
+-66.512 34.972 3454
+-66.386 34.972 3455
+-66.26 34.972 3456
+-66.134 34.972 3456
+-66.008 34.972 3457
+-65.882 34.972 3574
+-65.756 34.972 3575
+-65.63 34.972 3487
+-65.504 34.972 3488
+-65.378 34.972 3489
+-65.252 34.972 3489
+-65.126 34.972 3499
+-128 34.92 2783
+-127.874 34.92 2781
+-127.748 34.92 2779
+-127.622 34.92 2886
+-127.496 34.92 2883
+-127.37 34.92 2880
+-127.244 34.92 2878
+-127.118 34.92 2875
+-126.992 34.92 2871
+-126.866 34.92 2923
+-126.74 34.92 2918
+-126.614 34.92 2977
+-126.488 34.92 2967
+-126.362 34.92 2957
+-126.236 34.92 2946
+-126.11 34.92 3030
+-125.984 34.92 3016
+-125.858 34.92 3001
+-125.732 34.92 2983
+-125.606 34.92 2963
+-125.48 34.92 2940
+-125.354 34.92 2945
+-125.228 34.92 2910
+-125.102 34.92 2870
+-124.976 34.92 2824
+-124.85 34.92 2812
+-124.724 34.92 2753
+-124.598 34.92 2725
+-124.472 34.92 2692
+-124.346 34.92 2627
+-124.22 34.92 2577
+-124.094 34.92 2529
+-123.968 34.92 2534
+-123.842 34.92 2672
+-123.716 34.92 2932
+-123.59 34.92 3199
+-123.464 34.92 3424
+-123.338 34.92 3612
+-123.212 34.92 3721
+-123.086 34.92 3748
+-122.96 34.92 3700
+-122.834 34.92 3682
+-122.708 34.92 3845
+-122.582 34.92 4029
+-122.456 34.92 4123
+-122.33 34.92 4176
+-122.204 34.92 4198
+-122.078 34.92 4271
+-121.952 34.92 4403
+-121.826 34.92 4547
+-121.7 34.92 4698
+-121.574 34.92 4884
+-121.448 34.92 5051
+-121.322 34.92 5216
+-121.196 34.92 5290
+-121.07 34.92 5422
+-120.944 34.92 5572
+-120.818 34.92 5615
+-120.692 34.92 5776
+-120.566 34.92 5910
+-120.44 34.92 6023
+-120.314 34.92 6125
+-120.188 34.92 6362
+-120.062 34.92 6472
+-119.936 34.92 6578
+-119.81 34.92 6709
+-119.684 34.92 6803
+-119.558 34.92 6960
+-119.432 34.92 7089
+-119.306 34.92 7213
+-119.18 34.92 7367
+-119.054 34.92 7489
+-118.928 34.92 7568
+-118.802 34.92 7699
+-118.676 34.92 7843
+-118.55 34.92 7985
+-118.424 34.92 8109
+-118.298 34.92 8208
+-118.172 34.92 8293
+-118.046 34.92 8366
+-117.92 34.92 8491
+-117.794 34.92 8565
+-117.668 34.92 8642
+-117.542 34.92 8671
+-117.416 34.92 8709
+-117.29 34.92 8716
+-117.164 34.92 8702
+-117.038 34.92 8664
+-116.912 34.92 8572
+-116.786 34.92 8514
+-116.66 34.92 8455
+-116.534 34.92 8361
+-116.408 34.92 8261
+-116.282 34.92 8121
+-116.156 34.92 8039
+-116.03 34.92 7901
+-115.904 34.92 7755
+-115.778 34.92 7689
+-115.652 34.92 7553
+-115.526 34.92 7418
+-115.4 34.92 7290
+-115.274 34.92 7092
+-115.148 34.92 7017
+-115.022 34.92 6844
+-114.896 34.92 6828
+-114.77 34.92 6623
+-114.644 34.92 6514
+-114.518 34.92 6338
+-114.392 34.92 6260
+-114.266 34.92 6141
+-114.14 34.92 5984
+-114.014 34.92 5826
+-113.888 34.92 5731
+-113.762 34.92 5561
+-113.636 34.92 5389
+-113.51 34.92 5297
+-113.384 34.92 5146
+-113.258 34.92 5039
+-113.132 34.92 4842
+-113.006 34.92 4939
+-112.88 34.92 4986
+-112.754 34.92 5053
+-112.628 34.92 5143
+-112.502 34.92 5209
+-112.376 34.92 5301
+-112.25 34.92 5335
+-112.124 34.92 5436
+-111.998 34.92 5525
+-111.872 34.92 5537
+-111.746 34.92 5611
+-111.62 34.92 5680
+-111.494 34.92 5716
+-111.368 34.92 5723
+-111.242 34.92 5777
+-111.116 34.92 5821
+-110.99 34.92 5827
+-110.864 34.92 5854
+-110.738 34.92 5849
+-110.612 34.92 5904
+-110.486 34.92 5901
+-110.36 34.92 5904
+-110.234 34.92 5903
+-110.108 34.92 5860
+-109.982 34.92 5879
+-109.856 34.92 5860
+-109.73 34.92 5842
+-109.604 34.92 5773
+-109.478 34.92 5773
+-109.352 34.92 5743
+-109.226 34.92 5687
+-109.1 34.92 5610
+-108.974 34.92 5544
+-108.848 34.92 5514
+-108.722 34.92 5460
+-108.596 34.92 5406
+-108.47 34.92 5320
+-108.344 34.92 5258
+-108.218 34.92 5199
+-108.092 34.92 5128
+-107.966 34.92 5064
+-107.84 34.92 5031
+-107.714 34.92 4885
+-107.588 34.92 4755
+-107.462 34.92 4619
+-107.336 34.92 4530
+-107.21 34.92 4491
+-107.084 34.92 4422
+-106.958 34.92 4364
+-106.832 34.92 4327
+-106.706 34.92 4269
+-106.58 34.92 4190
+-106.454 34.92 4081
+-106.328 34.92 3984
+-106.202 34.92 3914
+-106.076 34.92 3904
+-105.95 34.92 3906
+-105.824 34.92 3930
+-105.698 34.92 3936
+-105.572 34.92 3969
+-105.446 34.92 3906
+-105.32 34.92 3911
+-105.194 34.92 3918
+-105.068 34.92 3906
+-104.942 34.92 3861
+-104.816 34.92 3862
+-104.69 34.92 3863
+-104.564 34.92 3864
+-104.438 34.92 3865
+-104.312 34.92 3865
+-104.186 34.92 3784
+-104.06 34.92 3784
+-103.934 34.92 3788
+-103.808 34.92 3790
+-103.682 34.92 3797
+-103.556 34.92 3801
+-103.43 34.92 3804
+-103.304 34.92 3807
+-103.178 34.92 3731
+-103.052 34.92 3703
+-102.926 34.92 3704
+-102.8 34.92 3646
+-102.674 34.92 3540
+-102.548 34.92 3558
+-102.422 34.92 3502
+-102.296 34.92 3493
+-102.17 34.92 3492
+-102.044 34.92 3491
+-101.918 34.92 3471
+-101.792 34.92 3417
+-101.666 34.92 3417
+-101.54 34.92 3308
+-101.414 34.92 3320
+-101.288 34.92 3308
+-101.162 34.92 3295
+-101.036 34.92 3283
+-100.91 34.92 3238
+-100.784 34.92 3174
+-100.658 34.92 3137
+-100.532 34.92 3134
+-100.406 34.92 3078
+-100.28 34.92 3089
+-100.154 34.92 3096
+-100.028 34.92 3089
+-99.902 34.92 3069
+-99.776 34.92 3064
+-99.65 34.92 3161
+-99.524 34.92 3201
+-99.398 34.92 3205
+-99.272 34.92 3168
+-99.146 34.92 3163
+-99.02 34.92 3177
+-98.894 34.92 3171
+-98.768 34.92 3141
+-98.642 34.92 3138
+-98.516 34.92 3136
+-98.39 34.92 3134
+-98.264 34.92 3198
+-98.138 34.92 3196
+-98.012 34.92 3195
+-97.886 34.92 3202
+-97.76 34.92 3215
+-97.634 34.92 3220
+-97.508 34.92 3226
+-97.382 34.92 3235
+-97.256 34.92 3263
+-97.13 34.92 3308
+-97.004 34.92 3322
+-96.878 34.92 3337
+-96.752 34.92 3354
+-96.626 34.92 3335
+-96.5 34.92 3404
+-96.374 34.92 3423
+-96.248 34.92 3441
+-96.122 34.92 3459
+-95.996 34.92 3481
+-95.87 34.92 3497
+-95.744 34.92 3516
+-95.618 34.92 3617
+-95.492 34.92 3705
+-95.366 34.92 3688
+-95.24 34.92 3760
+-95.114 34.92 3764
+-94.988 34.92 3769
+-94.862 34.92 3758
+-94.736 34.92 3731
+-94.61 34.92 3686
+-94.484 34.92 3608
+-94.358 34.92 3562
+-94.232 34.92 3662
+-94.106 34.92 3835
+-93.98 34.92 3973
+-93.854 34.92 4091
+-93.728 34.92 4156
+-93.602 34.92 4159
+-93.476 34.92 4217
+-93.35 34.92 4314
+-93.224 34.92 4382
+-93.098 34.92 4436
+-92.972 34.92 4476
+-92.846 34.92 4550
+-92.72 34.92 4581
+-92.594 34.92 4636
+-92.468 34.92 4721
+-92.342 34.92 4832
+-92.216 34.92 4912
+-92.09 34.92 4968
+-91.964 34.92 5052
+-91.838 34.92 5174
+-91.712 34.92 5326
+-91.586 34.92 5455
+-91.46 34.92 5587
+-91.334 34.92 5724
+-91.208 34.92 5782
+-91.082 34.92 5767
+-90.956 34.92 5914
+-90.83 34.92 5969
+-90.704 34.92 6061
+-90.578 34.92 6147
+-90.452 34.92 6213
+-90.326 34.92 6324
+-90.2 34.92 6335
+-90.074 34.92 6375
+-89.948 34.92 6446
+-89.822 34.92 6515
+-89.696 34.92 6562
+-89.57 34.92 6580
+-89.444 34.92 6619
+-89.318 34.92 6637
+-89.192 34.92 6653
+-89.066 34.92 6671
+-88.94 34.92 6694
+-88.814 34.92 6682
+-88.688 34.92 6719
+-88.562 34.92 6685
+-88.436 34.92 6692
+-88.31 34.92 6674
+-88.184 34.92 6628
+-88.058 34.92 6589
+-87.932 34.92 6528
+-87.806 34.92 6509
+-87.68 34.92 6471
+-87.554 34.92 6406
+-87.428 34.92 6320
+-87.302 34.92 6244
+-87.176 34.92 6181
+-87.05 34.92 6108
+-86.924 34.92 6051
+-86.798 34.92 5981
+-86.672 34.92 5901
+-86.546 34.92 5764
+-86.42 34.92 5672
+-86.294 34.92 5616
+-86.168 34.92 5495
+-86.042 34.92 5346
+-85.916 34.92 5383
+-85.79 34.92 5318
+-85.664 34.92 5231
+-85.538 34.92 5144
+-85.412 34.92 5023
+-85.286 34.92 4910
+-85.16 34.92 4775
+-85.034 34.92 4608
+-84.908 34.92 4447
+-84.782 34.92 4306
+-84.656 34.92 4204
+-84.53 34.92 4203
+-84.404 34.92 4140
+-84.278 34.92 4026
+-84.152 34.92 3952
+-84.026 34.92 3935
+-83.9 34.92 3921
+-83.774 34.92 3927
+-83.648 34.92 3939
+-83.522 34.92 3889
+-83.396 34.92 3879
+-83.27 34.92 3775
+-83.144 34.92 3736
+-83.018 34.92 3696
+-82.892 34.92 3667
+-82.766 34.92 3627
+-82.64 34.92 3545
+-82.514 34.92 3415
+-82.388 34.92 3366
+-82.262 34.92 3236
+-82.136 34.92 3173
+-82.01 34.92 3137
+-81.884 34.92 2969
+-81.758 34.92 2893
+-81.632 34.92 2876
+-81.506 34.92 2853
+-81.38 34.92 2832
+-81.254 34.92 2753
+-81.128 34.92 2733
+-81.002 34.92 2710
+-80.876 34.92 2683
+-80.75 34.92 2646
+-80.624 34.92 2603
+-80.498 34.92 2557
+-80.372 34.92 2502
+-80.246 34.92 2404
+-80.12 34.92 2335
+-79.994 34.92 2214
+-79.868 34.92 2137
+-79.742 34.92 2059
+-79.616 34.92 1991
+-79.49 34.92 1920
+-79.364 34.92 1877
+-79.238 34.92 1851
+-79.112 34.92 1853
+-78.986 34.92 1885
+-78.86 34.92 1945
+-78.734 34.92 1993
+-78.608 34.92 2050
+-78.482 34.92 2120
+-78.356 34.92 2183
+-78.23 34.92 2248
+-78.104 34.92 2330
+-77.978 34.92 2397
+-77.852 34.92 2443
+-77.726 34.92 2508
+-77.6 34.92 2548
+-77.474 34.92 2584
+-77.348 34.92 2661
+-77.222 34.92 2692
+-77.096 34.92 2721
+-76.97 34.92 2746
+-76.844 34.92 2770
+-76.718 34.92 2792
+-76.592 34.92 2772
+-76.466 34.92 2801
+-76.34 34.92 2818
+-76.214 34.92 2829
+-76.088 34.92 3043
+-75.962 34.92 3075
+-75.836 34.92 3089
+-75.71 34.92 3101
+-75.584 34.92 3114
+-75.458 34.92 3128
+-75.332 34.92 3148
+-75.206 34.92 3159
+-75.08 34.92 3163
+-74.954 34.92 3173
+-74.828 34.92 3144
+-74.702 34.92 3153
+-74.576 34.92 3161
+-74.45 34.92 3216
+-74.324 34.92 3220
+-74.198 34.92 3234
+-74.072 34.92 3241
+-73.946 34.92 3232
+-73.82 34.92 3254
+-73.694 34.92 3298
+-73.568 34.92 3311
+-73.442 34.92 3316
+-73.316 34.92 3321
+-73.19 34.92 3367
+-73.064 34.92 3373
+-72.938 34.92 3326
+-72.812 34.92 3348
+-72.686 34.92 3348
+-72.56 34.92 3281
+-72.434 34.92 3205
+-72.308 34.92 3226
+-72.182 34.92 3231
+-72.056 34.92 3260
+-71.93 34.92 3241
+-71.804 34.92 3252
+-71.678 34.92 3256
+-71.552 34.92 3241
+-71.426 34.92 3245
+-71.3 34.92 3249
+-71.174 34.92 3229
+-71.048 34.92 3215
+-70.922 34.92 3246
+-70.796 34.92 3243
+-70.67 34.92 3246
+-70.544 34.92 3250
+-70.418 34.92 3176
+-70.292 34.92 3214
+-70.166 34.92 3211
+-70.04 34.92 3214
+-69.914 34.92 3217
+-69.788 34.92 3441
+-69.662 34.92 3371
+-69.536 34.92 3380
+-69.41 34.92 3382
+-69.284 34.92 3281
+-69.158 34.92 3269
+-69.032 34.92 3270
+-68.906 34.92 3272
+-68.78 34.92 3251
+-68.654 34.92 3252
+-68.528 34.92 3253
+-68.402 34.92 3254
+-68.276 34.92 3255
+-68.15 34.92 3278
+-68.024 34.92 3279
+-67.898 34.92 3264
+-67.772 34.92 3265
+-67.646 34.92 3267
+-67.52 34.92 3207
+-67.394 34.92 3391
+-67.268 34.92 3351
+-67.142 34.92 3352
+-67.016 34.92 3321
+-66.89 34.92 3322
+-66.764 34.92 3323
+-66.638 34.92 3453
+-66.512 34.92 3454
+-66.386 34.92 3455
+-66.26 34.92 3455
+-66.134 34.92 3456
+-66.008 34.92 3573
+-65.882 34.92 3574
+-65.756 34.92 3486
+-65.63 34.92 3487
+-65.504 34.92 3488
+-65.378 34.92 3488
+-65.252 34.92 3498
+-65.126 34.92 3455
+-128 34.868 2786
+-127.874 34.868 2784
+-127.748 34.868 2782
+-127.622 34.868 2780
+-127.496 34.868 2886
+-127.37 34.868 2883
+-127.244 34.868 2881
+-127.118 34.868 2878
+-126.992 34.868 2876
+-126.866 34.868 2873
+-126.74 34.868 2926
+-126.614 34.868 2920
+-126.488 34.868 2979
+-126.362 34.868 2970
+-126.236 34.868 3057
+-126.11 34.868 3046
+-125.984 34.868 3034
+-125.858 34.868 3043
+-125.732 34.868 3026
+-125.606 34.868 3007
+-125.48 34.868 2986
+-125.354 34.868 2961
+-125.228 34.868 2948
+-125.102 34.868 2914
+-124.976 34.868 2919
+-124.85 34.868 2877
+-124.724 34.868 2887
+-124.598 34.868 2833
+-124.472 34.868 2830
+-124.346 34.868 2785
+-124.22 34.868 2751
+-124.094 34.868 2741
+-123.968 34.868 2802
+-123.842 34.868 2944
+-123.716 34.868 3123
+-123.59 34.868 3321
+-123.464 34.868 3513
+-123.338 34.868 3654
+-123.212 34.868 3752
+-123.086 34.868 3801
+-122.96 34.868 3816
+-122.834 34.868 3878
+-122.708 34.868 3983
+-122.582 34.868 4070
+-122.456 34.868 4148
+-122.33 34.868 4174
+-122.204 34.868 4120
+-122.078 34.868 4285
+-121.952 34.868 4413
+-121.826 34.868 4510
+-121.7 34.868 4693
+-121.574 34.868 4922
+-121.448 34.868 4998
+-121.322 34.868 5213
+-121.196 34.868 5390
+-121.07 34.868 5505
+-120.944 34.868 5554
+-120.818 34.868 5685
+-120.692 34.868 5815
+-120.566 34.868 5863
+-120.44 34.868 6049
+-120.314 34.868 6229
+-120.188 34.868 6414
+-120.062 34.868 6492
+-119.936 34.868 6600
+-119.81 34.868 6733
+-119.684 34.868 6875
+-119.558 34.868 6983
+-119.432 34.868 7178
+-119.306 34.868 7238
+-119.18 34.868 7392
+-119.054 34.868 7571
+-118.928 34.868 7615
+-118.802 34.868 7780
+-118.676 34.868 7901
+-118.55 34.868 7992
+-118.424 34.868 8124
+-118.298 34.868 8235
+-118.172 34.868 8351
+-118.046 34.868 8485
+-117.92 34.868 8496
+-117.794 34.868 8604
+-117.668 34.868 8667
+-117.542 34.868 8732
+-117.416 34.868 8764
+-117.29 34.868 8768
+-117.164 34.868 8741
+-117.038 34.868 8685
+-116.912 34.868 8616
+-116.786 34.868 8569
+-116.66 34.868 8451
+-116.534 34.868 8350
+-116.408 34.868 8254
+-116.282 34.868 8103
+-116.156 34.868 8059
+-116.03 34.868 7943
+-115.904 34.868 7804
+-115.778 34.868 7621
+-115.652 34.868 7560
+-115.526 34.868 7452
+-115.4 34.868 7320
+-115.274 34.868 7197
+-115.148 34.868 6979
+-115.022 34.868 6911
+-114.896 34.868 6799
+-114.77 34.868 6678
+-114.644 34.868 6532
+-114.518 34.868 6368
+-114.392 34.868 6308
+-114.266 34.868 6154
+-114.14 34.868 5989
+-114.014 34.868 5872
+-113.888 34.868 5727
+-113.762 34.868 5572
+-113.636 34.868 5416
+-113.51 34.868 5280
+-113.384 34.868 5190
+-113.258 34.868 5048
+-113.132 34.868 4900
+-113.006 34.868 4990
+-112.88 34.868 5043
+-112.754 34.868 5089
+-112.628 34.868 5170
+-112.502 34.868 5242
+-112.376 34.868 5321
+-112.25 34.868 5429
+-112.124 34.868 5520
+-111.998 34.868 5586
+-111.872 34.868 5623
+-111.746 34.868 5663
+-111.62 34.868 5691
+-111.494 34.868 5730
+-111.368 34.868 5762
+-111.242 34.868 5810
+-111.116 34.868 5853
+-110.99 34.868 5862
+-110.864 34.868 5915
+-110.738 34.868 5938
+-110.612 34.868 5962
+-110.486 34.868 5953
+-110.36 34.868 5947
+-110.234 34.868 5943
+-110.108 34.868 5920
+-109.982 34.868 5905
+-109.856 34.868 5896
+-109.73 34.868 5877
+-109.604 34.868 5855
+-109.478 34.868 5833
+-109.352 34.868 5813
+-109.226 34.868 5775
+-109.1 34.868 5705
+-108.974 34.868 5610
+-108.848 34.868 5540
+-108.722 34.868 5485
+-108.596 34.868 5433
+-108.47 34.868 5345
+-108.344 34.868 5288
+-108.218 34.868 5219
+-108.092 34.868 5194
+-107.966 34.868 5113
+-107.84 34.868 5037
+-107.714 34.868 4917
+-107.588 34.868 4804
+-107.462 34.868 4697
+-107.336 34.868 4601
+-107.21 34.868 4526
+-107.084 34.868 4435
+-106.958 34.868 4381
+-106.832 34.868 4354
+-106.706 34.868 4307
+-106.58 34.868 4233
+-106.454 34.868 4154
+-106.328 34.868 4076
+-106.202 34.868 4005
+-106.076 34.868 3961
+-105.95 34.868 3941
+-105.824 34.868 3920
+-105.698 34.868 3933
+-105.572 34.868 3953
+-105.446 34.868 3976
+-105.32 34.868 4000
+-105.194 34.868 3912
+-105.068 34.868 3916
+-104.942 34.868 3922
+-104.816 34.868 3880
+-104.69 34.868 3881
+-104.564 34.868 3882
+-104.438 34.868 3882
+-104.312 34.868 3853
+-104.186 34.868 3854
+-104.06 34.868 3808
+-103.934 34.868 3809
+-103.808 34.868 3815
+-103.682 34.868 3818
+-103.556 34.868 3821
+-103.43 34.868 3824
+-103.304 34.868 3815
+-103.178 34.868 3716
+-103.052 34.868 3716
+-102.926 34.868 3657
+-102.8 34.868 3552
+-102.674 34.868 3566
+-102.548 34.868 3512
+-102.422 34.868 3502
+-102.296 34.868 3501
+-102.17 34.868 3499
+-102.044 34.868 3479
+-101.918 34.868 3424
+-101.792 34.868 3423
+-101.666 34.868 3422
+-101.54 34.868 3361
+-101.414 34.868 3353
+-101.288 34.868 3320
+-101.162 34.868 3307
+-101.036 34.868 3267
+-100.91 34.868 3205
+-100.784 34.868 3188
+-100.658 34.868 3176
+-100.532 34.868 3145
+-100.406 34.868 3086
+-100.28 34.868 3096
+-100.154 34.868 3086
+-100.028 34.868 3094
+-99.902 34.868 3073
+-99.776 34.868 3068
+-99.65 34.868 3170
+-99.524 34.868 3218
+-99.398 34.868 3179
+-99.272 34.868 3174
+-99.146 34.868 3189
+-99.02 34.868 3184
+-98.894 34.868 3153
+-98.768 34.868 3151
+-98.642 34.868 3149
+-98.516 34.868 3148
+-98.39 34.868 3213
+-98.264 34.868 3211
+-98.138 34.868 3209
+-98.012 34.868 3216
+-97.886 34.868 3228
+-97.76 34.868 3232
+-97.634 34.868 3237
+-97.508 34.868 3243
+-97.382 34.868 3269
+-97.256 34.868 3258
+-97.13 34.868 3269
+-97.004 34.868 3282
+-96.878 34.868 3311
+-96.752 34.868 3326
+-96.626 34.868 3342
+-96.5 34.868 3358
+-96.374 34.868 3375
+-96.248 34.868 3392
+-96.122 34.868 3416
+-95.996 34.868 3432
+-95.87 34.868 3448
+-95.744 34.868 3599
+-95.618 34.868 3624
+-95.492 34.868 3617
+-95.366 34.868 3699
+-95.24 34.868 3709
+-95.114 34.868 3766
+-94.988 34.868 3739
+-94.862 34.868 3723
+-94.736 34.868 3690
+-94.61 34.868 3640
+-94.484 34.868 3538
+-94.358 34.868 3461
+-94.232 34.868 3572
+-94.106 34.868 3769
+-93.98 34.868 3940
+-93.854 34.868 4041
+-93.728 34.868 4118
+-93.602 34.868 4160
+-93.476 34.868 4208
+-93.35 34.868 4265
+-93.224 34.868 4338
+-93.098 34.868 4408
+-92.972 34.868 4429
+-92.846 34.868 4505
+-92.72 34.868 4527
+-92.594 34.868 4612
+-92.468 34.868 4685
+-92.342 34.868 4790
+-92.216 34.868 4859
+-92.09 34.868 4904
+-91.964 34.868 4969
+-91.838 34.868 5113
+-91.712 34.868 5255
+-91.586 34.868 5381
+-91.46 34.868 5536
+-91.334 34.868 5686
+-91.208 34.868 5741
+-91.082 34.868 5803
+-90.956 34.868 5841
+-90.83 34.868 5919
+-90.704 34.868 6004
+-90.578 34.868 6090
+-90.452 34.868 6172
+-90.326 34.868 6220
+-90.2 34.868 6275
+-90.074 34.868 6364
+-89.948 34.868 6367
+-89.822 34.868 6453
+-89.696 34.868 6511
+-89.57 34.868 6513
+-89.444 34.868 6565
+-89.318 34.868 6591
+-89.192 34.868 6604
+-89.066 34.868 6626
+-88.94 34.868 6643
+-88.814 34.868 6649
+-88.688 34.868 6648
+-88.562 34.868 6650
+-88.436 34.868 6632
+-88.31 34.868 6596
+-88.184 34.868 6564
+-88.058 34.868 6556
+-87.932 34.868 6489
+-87.806 34.868 6460
+-87.68 34.868 6401
+-87.554 34.868 6322
+-87.428 34.868 6289
+-87.302 34.868 6208
+-87.176 34.868 6115
+-87.05 34.868 6038
+-86.924 34.868 6046
+-86.798 34.868 5897
+-86.672 34.868 5855
+-86.546 34.868 5743
+-86.42 34.868 5649
+-86.294 34.868 5543
+-86.168 34.868 5428
+-86.042 34.868 5419
+-85.916 34.868 5363
+-85.79 34.868 5235
+-85.664 34.868 5120
+-85.538 34.868 5064
+-85.412 34.868 4958
+-85.286 34.868 4848
+-85.16 34.868 4714
+-85.034 34.868 4530
+-84.908 34.868 4351
+-84.782 34.868 4217
+-84.656 34.868 4106
+-84.53 34.868 4154
+-84.404 34.868 4089
+-84.278 34.868 3898
+-84.152 34.868 3766
+-84.026 34.868 3819
+-83.9 34.868 3900
+-83.774 34.868 3917
+-83.648 34.868 3940
+-83.522 34.868 3897
+-83.396 34.868 3800
+-83.27 34.868 3760
+-83.144 34.868 3732
+-83.018 34.868 3700
+-82.892 34.868 3660
+-82.766 34.868 3637
+-82.64 34.868 3599
+-82.514 34.868 3476
+-82.388 34.868 3343
+-82.262 34.868 3274
+-82.136 34.868 3214
+-82.01 34.868 3157
+-81.884 34.868 2997
+-81.758 34.868 2965
+-81.632 34.868 2902
+-81.506 34.868 2885
+-81.38 34.868 2801
+-81.254 34.868 2776
+-81.128 34.868 2750
+-81.002 34.868 2721
+-80.876 34.868 2686
+-80.75 34.868 2646
+-80.624 34.868 2595
+-80.498 34.868 2546
+-80.372 34.868 2451
+-80.246 34.868 2382
+-80.12 34.868 2256
+-79.994 34.868 2171
+-79.868 34.868 2079
+-79.742 34.868 1991
+-79.616 34.868 1908
+-79.49 34.868 1827
+-79.364 34.868 1783
+-79.238 34.868 1757
+-79.112 34.868 1764
+-78.986 34.868 1808
+-78.86 34.868 1866
+-78.734 34.868 1924
+-78.608 34.868 2014
+-78.482 34.868 2080
+-78.356 34.868 2170
+-78.23 34.868 2249
+-78.104 34.868 2326
+-77.978 34.868 2381
+-77.852 34.868 2455
+-77.726 34.868 2503
+-77.6 34.868 2545
+-77.474 34.868 2625
+-77.348 34.868 2661
+-77.222 34.868 2693
+-77.096 34.868 2722
+-76.97 34.868 2748
+-76.844 34.868 2772
+-76.718 34.868 2756
+-76.592 34.868 2787
+-76.466 34.868 2805
+-76.34 34.868 2818
+-76.214 34.868 3027
+-76.088 34.868 3060
+-75.962 34.868 3075
+-75.836 34.868 3088
+-75.71 34.868 3102
+-75.584 34.868 3117
+-75.458 34.868 3138
+-75.332 34.868 3149
+-75.206 34.868 3154
+-75.08 34.868 3164
+-74.954 34.868 3137
+-74.828 34.868 3146
+-74.702 34.868 3154
+-74.576 34.868 3209
+-74.45 34.868 3214
+-74.324 34.868 3228
+-74.198 34.868 3235
+-74.072 34.868 3227
+-73.946 34.868 3249
+-73.82 34.868 3292
+-73.694 34.868 3306
+-73.568 34.868 3312
+-73.442 34.868 3316
+-73.316 34.868 3362
+-73.19 34.868 3369
+-73.064 34.868 3322
+-72.938 34.868 3344
+-72.812 34.868 3344
+-72.686 34.868 3275
+-72.56 34.868 3203
+-72.434 34.868 3224
+-72.308 34.868 3228
+-72.182 34.868 3258
+-72.056 34.868 3239
+-71.93 34.868 3250
+-71.804 34.868 3254
+-71.678 34.868 3239
+-71.552 34.868 3243
+-71.426 34.868 3247
+-71.3 34.868 3228
+-71.174 34.868 3213
+-71.048 34.868 3245
+-70.922 34.868 3241
+-70.796 34.868 3245
+-70.67 34.868 3248
+-70.544 34.868 3175
+-70.418 34.868 3213
+-70.292 34.868 3210
+-70.166 34.868 3213
+-70.04 34.868 3216
+-69.914 34.868 3440
+-69.788 34.868 3366
+-69.662 34.868 3379
+-69.536 34.868 3380
+-69.41 34.868 3280
+-69.284 34.868 3268
+-69.158 34.868 3269
+-69.032 34.868 3270
+-68.906 34.868 3250
+-68.78 34.868 3251
+-68.654 34.868 3252
+-68.528 34.868 3253
+-68.402 34.868 3254
+-68.276 34.868 3277
+-68.15 34.868 3278
+-68.024 34.868 3263
+-67.898 34.868 3264
+-67.772 34.868 3266
+-67.646 34.868 3207
+-67.52 34.868 3390
+-67.394 34.868 3350
+-67.268 34.868 3351
+-67.142 34.868 3320
+-67.016 34.868 3321
+-66.89 34.868 3322
+-66.764 34.868 3452
+-66.638 34.868 3453
+-66.512 34.868 3454
+-66.386 34.868 3454
+-66.26 34.868 3455
+-66.134 34.868 3571
+-66.008 34.868 3572
+-65.882 34.868 3485
+-65.756 34.868 3486
+-65.63 34.868 3487
+-65.504 34.868 3487
+-65.378 34.868 3497
+-65.252 34.868 3454
+-65.126 34.868 3447
+-128 34.816 2789
+-127.874 34.816 2788
+-127.748 34.816 2786
+-127.622 34.816 2784
+-127.496 34.816 2888
+-127.37 34.816 2886
+-127.244 34.816 2884
+-127.118 34.816 2882
+-126.992 34.816 2880
+-126.866 34.816 2877
+-126.74 34.816 2875
+-126.614 34.816 2929
+-126.488 34.816 2923
+-126.362 34.816 3016
+-126.236 34.816 3099
+-126.11 34.816 3089
+-125.984 34.816 3077
+-125.858 34.816 3064
+-125.732 34.816 3050
+-125.606 34.816 3034
+-125.48 34.816 3016
+-125.354 34.816 2995
+-125.228 34.816 2972
+-125.102 34.816 2982
+-124.976 34.816 2975
+-124.85 34.816 3011
+-124.724 34.816 2971
+-124.598 34.816 2933
+-124.472 34.816 2900
+-124.346 34.816 2929
+-124.22 34.816 2919
+-124.094 34.816 2969
+-123.968 34.816 3020
+-123.842 34.816 3168
+-123.716 34.816 3305
+-123.59 34.816 3453
+-123.464 34.816 3604
+-123.338 34.816 3709
+-123.212 34.816 3783
+-123.086 34.816 3836
+-122.96 34.816 3886
+-122.834 34.816 3960
+-122.708 34.816 4032
+-122.582 34.816 4073
+-122.456 34.816 4144
+-122.33 34.816 4200
+-122.204 34.816 4222
+-122.078 34.816 4319
+-121.952 34.816 4427
+-121.826 34.816 4539
+-121.7 34.816 4706
+-121.574 34.816 4907
+-121.448 34.816 5069
+-121.322 34.816 5253
+-121.196 34.816 5422
+-121.07 34.816 5544
+-120.944 34.816 5598
+-120.818 34.816 5706
+-120.692 34.816 5848
+-120.566 34.816 5880
+-120.44 34.816 6120
+-120.314 34.816 6217
+-120.188 34.816 6432
+-120.062 34.816 6528
+-119.936 34.816 6619
+-119.81 34.816 6753
+-119.684 34.816 6847
+-119.558 34.816 7034
+-119.432 34.816 7117
+-119.306 34.816 7310
+-119.18 34.816 7416
+-119.054 34.816 7524
+-118.928 34.816 7649
+-118.802 34.816 7770
+-118.676 34.816 7862
+-118.55 34.816 8029
+-118.424 34.816 8160
+-118.298 34.816 8275
+-118.172 34.816 8401
+-118.046 34.816 8487
+-117.92 34.816 8561
+-117.794 34.816 8668
+-117.668 34.816 8718
+-117.542 34.816 8783
+-117.416 34.816 8810
+-117.29 34.816 8800
+-117.164 34.816 8768
+-117.038 34.816 8762
+-116.912 34.816 8675
+-116.786 34.816 8575
+-116.66 34.816 8507
+-116.534 34.816 8408
+-116.408 34.816 8281
+-116.282 34.816 8166
+-116.156 34.816 8083
+-116.03 34.816 7934
+-115.904 34.816 7830
+-115.778 34.816 7708
+-115.652 34.816 7579
+-115.526 34.816 7413
+-115.4 34.816 7336
+-115.274 34.816 7159
+-115.148 34.816 7047
+-115.022 34.816 6934
+-114.896 34.816 6770
+-114.77 34.816 6650
+-114.644 34.816 6552
+-114.518 34.816 6403
+-114.392 34.816 6272
+-114.266 34.816 6169
+-114.14 34.816 6014
+-114.014 34.816 5825
+-113.888 34.816 5674
+-113.762 34.816 5589
+-113.636 34.816 5473
+-113.51 34.816 5325
+-113.384 34.816 5234
+-113.258 34.816 4983
+-113.132 34.816 5024
+-113.006 34.816 4989
+-112.88 34.816 5098
+-112.754 34.816 5117
+-112.628 34.816 5211
+-112.502 34.816 5313
+-112.376 34.816 5403
+-112.25 34.816 5495
+-112.124 34.816 5569
+-111.998 34.816 5630
+-111.872 34.816 5671
+-111.746 34.816 5670
+-111.62 34.816 5731
+-111.494 34.816 5796
+-111.368 34.816 5822
+-111.242 34.816 5866
+-111.116 34.816 5915
+-110.99 34.816 5935
+-110.864 34.816 5957
+-110.738 34.816 5971
+-110.612 34.816 5992
+-110.486 34.816 6010
+-110.36 34.816 6004
+-110.234 34.816 5983
+-110.108 34.816 5973
+-109.982 34.816 5972
+-109.856 34.816 5939
+-109.73 34.816 5931
+-109.604 34.816 5925
+-109.478 34.816 5894
+-109.352 34.816 5821
+-109.226 34.816 5838
+-109.1 34.816 5790
+-108.974 34.816 5695
+-108.848 34.816 5595
+-108.722 34.816 5534
+-108.596 34.816 5492
+-108.47 34.816 5390
+-108.344 34.816 5348
+-108.218 34.816 5292
+-108.092 34.816 5238
+-107.966 34.816 5188
+-107.84 34.816 5064
+-107.714 34.816 4934
+-107.588 34.816 4826
+-107.462 34.816 4750
+-107.336 34.816 4652
+-107.21 34.816 4581
+-107.084 34.816 4460
+-106.958 34.816 4356
+-106.832 34.816 4368
+-106.706 34.816 4319
+-106.58 34.816 4259
+-106.454 34.816 4189
+-106.328 34.816 4106
+-106.202 34.816 4018
+-106.076 34.816 3928
+-105.95 34.816 3867
+-105.824 34.816 3874
+-105.698 34.816 3916
+-105.572 34.816 3932
+-105.446 34.816 3970
+-105.32 34.816 3986
+-105.194 34.816 4008
+-105.068 34.816 3978
+-104.942 34.816 3938
+-104.816 34.816 3943
+-104.69 34.816 3947
+-104.564 34.816 3928
+-104.438 34.816 3871
+-104.312 34.816 3872
+-104.186 34.816 3873
+-104.06 34.816 3885
+-103.934 34.816 3831
+-103.808 34.816 3837
+-103.682 34.816 3839
+-103.556 34.816 3841
+-103.43 34.816 3831
+-103.304 34.816 3730
+-103.178 34.816 3729
+-103.052 34.816 3703
+-102.926 34.816 3626
+-102.8 34.816 3575
+-102.674 34.816 3523
+-102.548 34.816 3512
+-102.422 34.816 3510
+-102.296 34.816 3507
+-102.17 34.816 3487
+-102.044 34.816 3492
+-101.918 34.816 3491
+-101.792 34.816 3491
+-101.666 34.816 3491
+-101.54 34.816 3368
+-101.414 34.816 3360
+-101.288 34.816 3409
+-101.162 34.816 3366
+-101.036 34.816 3235
+-100.91 34.816 3219
+-100.784 34.816 3276
+-100.658 34.816 3151
+-100.532 34.816 3121
+-100.406 34.816 3081
+-100.28 34.816 3090
+-100.154 34.816 3094
+-100.028 34.816 3099
+-99.902 34.816 3076
+-99.776 34.816 3073
+-99.65 34.816 3181
+-99.524 34.816 3188
+-99.398 34.816 3184
+-99.272 34.816 3200
+-99.146 34.816 3195
+-99.02 34.816 3164
+-98.894 34.816 3162
+-98.768 34.816 3160
+-98.642 34.816 3159
+-98.516 34.816 3225
+-98.39 34.816 3223
+-98.264 34.816 3222
+-98.138 34.816 3229
+-98.012 34.816 3239
+-97.886 34.816 3242
+-97.76 34.816 3245
+-97.634 34.816 3251
+-97.508 34.816 3275
+-97.382 34.816 3261
+-97.256 34.816 3270
+-97.13 34.816 3280
+-97.004 34.816 3307
+-96.878 34.816 3319
+-96.752 34.816 3333
+-96.626 34.816 3346
+-96.5 34.816 3360
+-96.374 34.816 3375
+-96.248 34.816 3396
+-96.122 34.816 3511
+-95.996 34.816 3520
+-95.87 34.816 3530
+-95.744 34.816 3556
+-95.618 34.816 3550
+-95.492 34.816 3650
+-95.366 34.816 3674
+-95.24 34.816 3707
+-95.114 34.816 3687
+-94.988 34.816 3699
+-94.862 34.816 3676
+-94.736 34.816 3668
+-94.61 34.816 3618
+-94.484 34.816 3567
+-94.358 34.816 3535
+-94.232 34.816 3605
+-94.106 34.816 3763
+-93.98 34.816 3901
+-93.854 34.816 4021
+-93.728 34.816 4096
+-93.602 34.816 4147
+-93.476 34.816 4179
+-93.35 34.816 4215
+-93.224 34.816 4246
+-93.098 34.816 4322
+-92.972 34.816 4412
+-92.846 34.816 4475
+-92.72 34.816 4544
+-92.594 34.816 4599
+-92.468 34.816 4692
+-92.342 34.816 4731
+-92.216 34.816 4766
+-92.09 34.816 4845
+-91.964 34.816 4839
+-91.838 34.816 5154
+-91.712 34.816 5204
+-91.586 34.816 5312
+-91.46 34.816 5468
+-91.334 34.816 5642
+-91.208 34.816 5649
+-91.082 34.816 5744
+-90.956 34.816 5808
+-90.83 34.816 5868
+-90.704 34.816 5947
+-90.578 34.816 6042
+-90.452 34.816 6070
+-90.326 34.816 6147
+-90.2 34.816 6219
+-90.074 34.816 6286
+-89.948 34.816 6309
+-89.822 34.816 6377
+-89.696 34.816 6451
+-89.57 34.816 6484
+-89.444 34.816 6512
+-89.318 34.816 6524
+-89.192 34.816 6549
+-89.066 34.816 6596
+-88.94 34.816 6589
+-88.814 34.816 6586
+-88.688 34.816 6566
+-88.562 34.816 6600
+-88.436 34.816 6574
+-88.31 34.816 6588
+-88.184 34.816 6560
+-88.058 34.816 6485
+-87.932 34.816 6432
+-87.806 34.816 6398
+-87.68 34.816 6328
+-87.554 34.816 6290
+-87.428 34.816 6216
+-87.302 34.816 6131
+-87.176 34.816 6043
+-87.05 34.816 5974
+-86.924 34.816 5952
+-86.798 34.816 5888
+-86.672 34.816 5794
+-86.546 34.816 5723
+-86.42 34.816 5588
+-86.294 34.816 5510
+-86.168 34.816 5476
+-86.042 34.816 5418
+-85.916 34.816 5321
+-85.79 34.816 5143
+-85.664 34.816 5025
+-85.538 34.816 4985
+-85.412 34.816 4915
+-85.286 34.816 4780
+-85.16 34.816 4622
+-85.034 34.816 4496
+-84.908 34.816 4296
+-84.782 34.816 4206
+-84.656 34.816 4180
+-84.53 34.816 4151
+-84.404 34.816 4048
+-84.278 34.816 3800
+-84.152 34.816 3631
+-84.026 34.816 3740
+-83.9 34.816 3861
+-83.774 34.816 3890
+-83.648 34.816 3914
+-83.522 34.816 3870
+-83.396 34.816 3863
+-83.27 34.816 3756
+-83.144 34.816 3731
+-83.018 34.816 3702
+-82.892 34.816 3670
+-82.766 34.816 3597
+-82.64 34.816 3554
+-82.514 34.816 3520
+-82.388 34.816 3426
+-82.262 34.816 3299
+-82.136 34.816 3240
+-82.01 34.816 3112
+-81.884 34.816 3053
+-81.758 34.816 2993
+-81.632 34.816 2965
+-81.506 34.816 2884
+-81.38 34.816 2884
+-81.254 34.816 2794
+-81.128 34.816 2761
+-81.002 34.816 2729
+-80.876 34.816 2693
+-80.75 34.816 2653
+-80.624 34.816 2597
+-80.498 34.816 2506
+-80.372 34.816 2441
+-80.246 34.816 2316
+-80.12 34.816 2230
+-79.994 34.816 2132
+-79.868 34.816 2031
+-79.742 34.816 1925
+-79.616 34.816 1816
+-79.49 34.816 1735
+-79.364 34.816 1672
+-79.238 34.816 1648
+-79.112 34.816 1669
+-78.986 34.816 1716
+-78.86 34.816 1792
+-78.734 34.816 1875
+-78.608 34.816 1969
+-78.482 34.816 2060
+-78.356 34.816 2154
+-78.23 34.816 2243
+-78.104 34.816 2310
+-77.978 34.816 2394
+-77.852 34.816 2451
+-77.726 34.816 2501
+-77.6 34.816 2585
+-77.474 34.816 2626
+-77.348 34.816 2663
+-77.222 34.816 2696
+-77.096 34.816 2725
+-76.97 34.816 2752
+-76.844 34.816 2740
+-76.718 34.816 2772
+-76.592 34.816 2792
+-76.466 34.816 2807
+-76.34 34.816 3011
+-76.214 34.816 3044
+-76.088 34.816 3060
+-75.962 34.816 3075
+-75.836 34.816 3089
+-75.71 34.816 3106
+-75.584 34.816 3127
+-75.458 34.816 3139
+-75.332 34.816 3144
+-75.206 34.816 3155
+-75.08 34.816 3129
+-74.954 34.816 3138
+-74.828 34.816 3147
+-74.702 34.816 3202
+-74.576 34.816 3207
+-74.45 34.816 3221
+-74.324 34.816 3229
+-74.198 34.816 3222
+-74.072 34.816 3244
+-73.946 34.816 3287
+-73.82 34.816 3301
+-73.694 34.816 3307
+-73.568 34.816 3312
+-73.442 34.816 3357
+-73.316 34.816 3364
+-73.19 34.816 3318
+-73.064 34.816 3340
+-72.938 34.816 3340
+-72.812 34.816 3275
+-72.686 34.816 3200
+-72.56 34.816 3221
+-72.434 34.816 3226
+-72.308 34.816 3255
+-72.182 34.816 3236
+-72.056 34.816 3248
+-71.93 34.816 3252
+-71.804 34.816 3237
+-71.678 34.816 3241
+-71.552 34.816 3245
+-71.426 34.816 3226
+-71.3 34.816 3212
+-71.174 34.816 3243
+-71.048 34.816 3240
+-70.922 34.816 3244
+-70.796 34.816 3247
+-70.67 34.816 3174
+-70.544 34.816 3212
+-70.418 34.816 3209
+-70.292 34.816 3212
+-70.166 34.816 3215
+-70.04 34.816 3438
+-69.914 34.816 3368
+-69.788 34.816 3377
+-69.662 34.816 3379
+-69.536 34.816 3279
+-69.41 34.816 3267
+-69.284 34.816 3268
+-69.158 34.816 3269
+-69.032 34.816 3249
+-68.906 34.816 3250
+-68.78 34.816 3251
+-68.654 34.816 3252
+-68.528 34.816 3253
+-68.402 34.816 3276
+-68.276 34.816 3277
+-68.15 34.816 3262
+-68.024 34.816 3264
+-67.898 34.816 3265
+-67.772 34.816 3206
+-67.646 34.816 3389
+-67.52 34.816 3349
+-67.394 34.816 3350
+-67.268 34.816 3319
+-67.142 34.816 3320
+-67.016 34.816 3321
+-66.89 34.816 3451
+-66.764 34.816 3452
+-66.638 34.816 3453
+-66.512 34.816 3453
+-66.386 34.816 3454
+-66.26 34.816 3570
+-66.134 34.816 3571
+-66.008 34.816 3484
+-65.882 34.816 3485
+-65.756 34.816 3486
+-65.63 34.816 3486
+-65.504 34.816 3496
+-65.378 34.816 3453
+-65.252 34.816 3446
+-65.126 34.816 3393
+-128 34.764 2802
+-127.874 34.764 2800
+-127.748 34.764 2799
+-127.622 34.764 2797
+-127.496 34.764 2816
+-127.37 34.764 2888
+-127.244 34.764 2886
+-127.118 34.764 2885
+-126.992 34.764 2883
+-126.866 34.764 2881
+-126.74 34.764 2879
+-126.614 34.764 2877
+-126.488 34.764 2932
+-126.362 34.764 2928
+-126.236 34.764 3022
+-126.11 34.764 3108
+-125.984 34.764 3098
+-125.858 34.764 3087
+-125.732 34.764 3075
+-125.606 34.764 3061
+-125.48 34.764 3046
+-125.354 34.764 3030
+-125.228 34.764 3012
+-125.102 34.764 3029
+-124.976 34.764 3072
+-124.85 34.764 3079
+-124.724 34.764 3052
+-124.598 34.764 3028
+-124.472 34.764 3010
+-124.346 34.764 3057
+-124.22 34.764 3101
+-124.094 34.764 3136
+-123.968 34.764 3192
+-123.842 34.764 3352
+-123.716 34.764 3458
+-123.59 34.764 3570
+-123.464 34.764 3674
+-123.338 34.764 3760
+-123.212 34.764 3825
+-123.086 34.764 3873
+-122.96 34.764 3960
+-122.834 34.764 3984
+-122.708 34.764 3991
+-122.582 34.764 3975
+-122.456 34.764 4089
+-122.33 34.764 4219
+-122.204 34.764 4290
+-122.078 34.764 4375
+-121.952 34.764 4480
+-121.826 34.764 4593
+-121.7 34.764 4782
+-121.574 34.764 4908
+-121.448 34.764 5115
+-121.322 34.764 5271
+-121.196 34.764 5390
+-121.07 34.764 5518
+-120.944 34.764 5626
+-120.818 34.764 5704
+-120.692 34.764 5807
+-120.566 34.764 5928
+-120.44 34.764 6141
+-120.314 34.764 6334
+-120.188 34.764 6371
+-120.062 34.764 6488
+-119.936 34.764 6632
+-119.81 34.764 6726
+-119.684 34.764 6887
+-119.558 34.764 6982
+-119.432 34.764 7141
+-119.306 34.764 7323
+-119.18 34.764 7457
+-119.054 34.764 7582
+-118.928 34.764 7648
+-118.802 34.764 7806
+-118.676 34.764 7926
+-118.55 34.764 8025
+-118.424 34.764 8175
+-118.298 34.764 8353
+-118.172 34.764 8367
+-118.046 34.764 8516
+-117.92 34.764 8610
+-117.794 34.764 8722
+-117.668 34.764 8779
+-117.542 34.764 8833
+-117.416 34.764 8860
+-117.29 34.764 8889
+-117.164 34.764 8835
+-117.038 34.764 8777
+-116.912 34.764 8741
+-116.786 34.764 8663
+-116.66 34.764 8555
+-116.534 34.764 8414
+-116.408 34.764 8324
+-116.282 34.764 8230
+-116.156 34.764 8092
+-116.03 34.764 7932
+-115.904 34.764 7821
+-115.778 34.764 7722
+-115.652 34.764 7626
+-115.526 34.764 7444
+-115.4 34.764 7280
+-115.274 34.764 7244
+-115.148 34.764 7060
+-115.022 34.764 6950
+-114.896 34.764 6828
+-114.77 34.764 6707
+-114.644 34.764 6544
+-114.518 34.764 6415
+-114.392 34.764 6229
+-114.266 34.764 6191
+-114.14 34.764 6026
+-114.014 34.764 5888
+-113.888 34.764 5726
+-113.762 34.764 5576
+-113.636 34.764 5476
+-113.51 34.764 5346
+-113.384 34.764 5233
+-113.258 34.764 5123
+-113.132 34.764 5086
+-113.006 34.764 5085
+-112.88 34.764 5154
+-112.754 34.764 5157
+-112.628 34.764 5259
+-112.502 34.764 5366
+-112.376 34.764 5427
+-112.25 34.764 5526
+-112.124 34.764 5612
+-111.998 34.764 5673
+-111.872 34.764 5689
+-111.746 34.764 5744
+-111.62 34.764 5792
+-111.494 34.764 5826
+-111.368 34.764 5882
+-111.242 34.764 5921
+-111.116 34.764 5994
+-110.99 34.764 6008
+-110.864 34.764 6007
+-110.738 34.764 6029
+-110.612 34.764 6070
+-110.486 34.764 6069
+-110.36 34.764 6068
+-110.234 34.764 6056
+-110.108 34.764 6018
+-109.982 34.764 6005
+-109.856 34.764 5992
+-109.73 34.764 5993
+-109.604 34.764 5971
+-109.478 34.764 5952
+-109.352 34.764 5908
+-109.226 34.764 5860
+-109.1 34.764 5855
+-108.974 34.764 5773
+-108.848 34.764 5680
+-108.722 34.764 5598
+-108.596 34.764 5574
+-108.47 34.764 5470
+-108.344 34.764 5379
+-108.218 34.764 5335
+-108.092 34.764 5297
+-107.966 34.764 5223
+-107.84 34.764 5133
+-107.714 34.764 5010
+-107.588 34.764 4902
+-107.462 34.764 4815
+-107.336 34.764 4690
+-107.21 34.764 4601
+-107.084 34.764 4525
+-106.958 34.764 4419
+-106.832 34.764 4359
+-106.706 34.764 4318
+-106.58 34.764 4263
+-106.454 34.764 4194
+-106.328 34.764 4106
+-106.202 34.764 3983
+-106.076 34.764 3814
+-105.95 34.764 3698
+-105.824 34.764 3755
+-105.698 34.764 3856
+-105.572 34.764 3927
+-105.446 34.764 3985
+-105.32 34.764 3988
+-105.194 34.764 4013
+-105.068 34.764 4033
+-104.942 34.764 4048
+-104.816 34.764 3959
+-104.69 34.764 3940
+-104.564 34.764 3936
+-104.438 34.764 3890
+-104.312 34.764 3891
+-104.186 34.764 3903
+-104.06 34.764 3906
+-103.934 34.764 3908
+-103.808 34.764 3916
+-103.682 34.764 3912
+-103.556 34.764 3849
+-103.43 34.764 3799
+-103.304 34.764 3798
+-103.178 34.764 3713
+-103.052 34.764 3637
+-102.926 34.764 3585
+-102.8 34.764 3583
+-102.674 34.764 3587
+-102.548 34.764 3586
+-102.422 34.764 3580
+-102.296 34.764 3557
+-102.17 34.764 3498
+-102.044 34.764 3497
+-101.918 34.764 3496
+-101.792 34.764 3496
+-101.666 34.764 3495
+-101.54 34.764 3375
+-101.414 34.764 3430
+-101.288 34.764 3388
+-101.162 34.764 3376
+-101.036 34.764 3321
+-100.91 34.764 3306
+-100.784 34.764 3254
+-100.658 34.764 3162
+-100.532 34.764 3131
+-100.406 34.764 3094
+-100.28 34.764 3097
+-100.154 34.764 3091
+-100.028 34.764 3080
+-99.902 34.764 3080
+-99.776 34.764 3099
+-99.65 34.764 3113
+-99.524 34.764 3168
+-99.398 34.764 3209
+-99.272 34.764 3205
+-99.146 34.764 3172
+-99.02 34.764 3171
+-98.894 34.764 3169
+-98.768 34.764 3168
+-98.642 34.764 3236
+-98.516 34.764 3234
+-98.39 34.764 3232
+-98.264 34.764 3239
+-98.138 34.764 3248
+-98.012 34.764 3250
+-97.886 34.764 3253
+-97.76 34.764 3257
+-97.634 34.764 3280
+-97.508 34.764 3264
+-97.382 34.764 3271
+-97.256 34.764 3279
+-97.13 34.764 3304
+-97.004 34.764 3314
+-96.878 34.764 3325
+-96.752 34.764 3336
+-96.626 34.764 3348
+-96.5 34.764 3360
+-96.374 34.764 3379
+-96.248 34.764 3492
+-96.122 34.764 3500
+-95.996 34.764 3509
+-95.87 34.764 3497
+-95.744 34.764 3528
+-95.618 34.764 3589
+-95.492 34.764 3619
+-95.366 34.764 3646
+-95.24 34.764 3653
+-95.114 34.764 3694
+-94.988 34.764 3676
+-94.862 34.764 3652
+-94.736 34.764 3613
+-94.61 34.764 3613
+-94.484 34.764 3574
+-94.358 34.764 3563
+-94.232 34.764 3620
+-94.106 34.764 3733
+-93.98 34.764 3864
+-93.854 34.764 3978
+-93.728 34.764 4071
+-93.602 34.764 4119
+-93.476 34.764 4151
+-93.35 34.764 4168
+-93.224 34.764 4172
+-93.098 34.764 4233
+-92.972 34.764 4338
+-92.846 34.764 4420
+-92.72 34.764 4499
+-92.594 34.764 4564
+-92.468 34.764 4643
+-92.342 34.764 4692
+-92.216 34.764 4692
+-92.09 34.764 4782
+-91.964 34.764 4856
+-91.838 34.764 4989
+-91.712 34.764 5130
+-91.586 34.764 5274
+-91.46 34.764 5442
+-91.334 34.764 5593
+-91.208 34.764 5597
+-91.082 34.764 5692
+-90.956 34.764 5755
+-90.83 34.764 5835
+-90.704 34.764 5906
+-90.578 34.764 5988
+-90.452 34.764 6085
+-90.326 34.764 6121
+-90.2 34.764 6195
+-90.074 34.764 6232
+-89.948 34.764 6290
+-89.822 34.764 6331
+-89.696 34.764 6423
+-89.57 34.764 6422
+-89.444 34.764 6458
+-89.318 34.764 6491
+-89.192 34.764 6513
+-89.066 34.764 6531
+-88.94 34.764 6523
+-88.814 34.764 6519
+-88.688 34.764 6494
+-88.562 34.764 6505
+-88.436 34.764 6546
+-88.31 34.764 6541
+-88.184 34.764 6488
+-88.058 34.764 6404
+-87.932 34.764 6364
+-87.806 34.764 6302
+-87.68 34.764 6257
+-87.554 34.764 6216
+-87.428 34.764 6165
+-87.302 34.764 6078
+-87.176 34.764 6015
+-87.05 34.764 5932
+-86.924 34.764 5887
+-86.798 34.764 5820
+-86.672 34.764 5697
+-86.546 34.764 5695
+-86.42 34.764 5567
+-86.294 34.764 5431
+-86.168 34.764 5458
+-86.042 34.764 5401
+-85.916 34.764 5277
+-85.79 34.764 5129
+-85.664 34.764 5008
+-85.538 34.764 4908
+-85.412 34.764 4871
+-85.286 34.764 4704
+-85.16 34.764 4573
+-85.034 34.764 4471
+-84.908 34.764 4325
+-84.782 34.764 4246
+-84.656 34.764 4214
+-84.53 34.764 4163
+-84.404 34.764 4059
+-84.278 34.764 3889
+-84.152 34.764 3766
+-84.026 34.764 3807
+-83.9 34.764 3880
+-83.774 34.764 3891
+-83.648 34.764 3893
+-83.522 34.764 3846
+-83.396 34.764 3836
+-83.27 34.764 3768
+-83.144 34.764 3726
+-83.018 34.764 3699
+-82.892 34.764 3616
+-82.766 34.764 3583
+-82.64 34.764 3568
+-82.514 34.764 3481
+-82.388 34.764 3451
+-82.262 34.764 3403
+-82.136 34.764 3285
+-82.01 34.764 3131
+-81.884 34.764 3093
+-81.758 34.764 3042
+-81.632 34.764 2986
+-81.506 34.764 2902
+-81.38 34.764 2851
+-81.254 34.764 2822
+-81.128 34.764 2776
+-81.002 34.764 2740
+-80.876 34.764 2707
+-80.75 34.764 2639
+-80.624 34.764 2566
+-80.498 34.764 2506
+-80.372 34.764 2387
+-80.246 34.764 2307
+-80.12 34.764 2212
+-79.994 34.764 2102
+-79.868 34.764 1995
+-79.742 34.764 1865
+-79.616 34.764 1750
+-79.49 34.764 1646
+-79.364 34.764 1576
+-79.238 34.764 1555
+-79.112 34.764 1575
+-78.986 34.764 1637
+-78.86 34.764 1723
+-78.734 34.764 1826
+-78.608 34.764 1933
+-78.482 34.764 2042
+-78.356 34.764 2146
+-78.23 34.764 2229
+-78.104 34.764 2324
+-77.978 34.764 2393
+-77.852 34.764 2451
+-77.726 34.764 2541
+-77.6 34.764 2588
+-77.474 34.764 2630
+-77.348 34.764 2667
+-77.222 34.764 2700
+-77.096 34.764 2730
+-76.97 34.764 2723
+-76.844 34.764 2757
+-76.718 34.764 2778
+-76.592 34.764 2795
+-76.466 34.764 2993
+-76.34 34.764 3027
+-76.214 34.764 3045
+-76.088 34.764 3061
+-75.962 34.764 3076
+-75.836 34.764 3094
+-75.71 34.764 3115
+-75.584 34.764 3128
+-75.458 34.764 3134
+-75.332 34.764 3146
+-75.206 34.764 3121
+-75.08 34.764 3131
+-74.954 34.764 3140
+-74.828 34.764 3195
+-74.702 34.764 3200
+-74.576 34.764 3215
+-74.45 34.764 3223
+-74.324 34.764 3216
+-74.198 34.764 3239
+-74.072 34.764 3281
+-73.946 34.764 3296
+-73.82 34.764 3302
+-73.694 34.764 3307
+-73.568 34.764 3352
+-73.442 34.764 3359
+-73.316 34.764 3314
+-73.19 34.764 3336
+-73.064 34.764 3337
+-72.938 34.764 3269
+-72.812 34.764 3198
+-72.686 34.764 3219
+-72.56 34.764 3223
+-72.434 34.764 3253
+-72.308 34.764 3234
+-72.182 34.764 3245
+-72.056 34.764 3250
+-71.93 34.764 3236
+-71.804 34.764 3240
+-71.678 34.764 3243
+-71.552 34.764 3225
+-71.426 34.764 3211
+-71.3 34.764 3242
+-71.174 34.764 3239
+-71.048 34.764 3242
+-70.922 34.764 3246
+-70.796 34.764 3173
+-70.67 34.764 3211
+-70.544 34.764 3208
+-70.418 34.764 3211
+-70.292 34.764 3214
+-70.166 34.764 3436
+-70.04 34.764 3363
+-69.914 34.764 3376
+-69.788 34.764 3378
+-69.662 34.764 3278
+-69.536 34.764 3266
+-69.41 34.764 3267
+-69.284 34.764 3268
+-69.158 34.764 3248
+-69.032 34.764 3249
+-68.906 34.764 3250
+-68.78 34.764 3251
+-68.654 34.764 3252
+-68.528 34.764 3275
+-68.402 34.764 3276
+-68.276 34.764 3261
+-68.15 34.764 3263
+-68.024 34.764 3264
+-67.898 34.764 3205
+-67.772 34.764 3388
+-67.646 34.764 3348
+-67.52 34.764 3349
+-67.394 34.764 3318
+-67.268 34.764 3319
+-67.142 34.764 3320
+-67.016 34.764 3450
+-66.89 34.764 3451
+-66.764 34.764 3452
+-66.638 34.764 3453
+-66.512 34.764 3453
+-66.386 34.764 3569
+-66.26 34.764 3570
+-66.134 34.764 3483
+-66.008 34.764 3484
+-65.882 34.764 3484
+-65.756 34.764 3485
+-65.63 34.764 3495
+-65.504 34.764 3452
+-65.378 34.764 3445
+-65.252 34.764 3393
+-65.126 34.764 3393
+-128 34.712 2804
+-127.874 34.712 2803
+-127.748 34.712 2801
+-127.622 34.712 2800
+-127.496 34.712 2798
+-127.37 34.712 2818
+-127.244 34.712 2889
+-127.118 34.712 2887
+-126.992 34.712 2886
+-126.866 34.712 2885
+-126.74 34.712 2883
+-126.614 34.712 2882
+-126.488 34.712 2880
+-126.362 34.712 2937
+-126.236 34.712 2933
+-126.11 34.712 3014
+-125.984 34.712 3103
+-125.858 34.712 3095
+-125.732 34.712 3085
+-125.606 34.712 3089
+-125.48 34.712 3077
+-125.354 34.712 3065
+-125.228 34.712 3087
+-125.102 34.712 3159
+-124.976 34.712 3140
+-124.85 34.712 3122
+-124.724 34.712 3128
+-124.598 34.712 3116
+-124.472 34.712 3168
+-124.346 34.712 3215
+-124.22 34.712 3237
+-124.094 34.712 3269
+-123.968 34.712 3346
+-123.842 34.712 3482
+-123.716 34.712 3566
+-123.59 34.712 3653
+-123.464 34.712 3735
+-123.338 34.712 3805
+-123.212 34.712 3862
+-123.086 34.712 3906
+-122.96 34.712 3986
+-122.834 34.712 3988
+-122.708 34.712 3942
+-122.582 34.712 3843
+-122.456 34.712 4013
+-122.33 34.712 4231
+-122.204 34.712 4318
+-122.078 34.712 4377
+-121.952 34.712 4482
+-121.826 34.712 4658
+-121.7 34.712 4824
+-121.574 34.712 4921
+-121.448 34.712 5076
+-121.322 34.712 5274
+-121.196 34.712 5283
+-121.07 34.712 5458
+-120.944 34.712 5643
+-120.818 34.712 5633
+-120.692 34.712 5794
+-120.566 34.712 5991
+-120.44 34.712 6146
+-120.314 34.712 6353
+-120.188 34.712 6411
+-120.062 34.712 6529
+-119.936 34.712 6633
+-119.81 34.712 6727
+-119.684 34.712 6864
+-119.558 34.712 7005
+-119.432 34.712 7189
+-119.306 34.712 7343
+-119.18 34.712 7460
+-119.054 34.712 7572
+-118.928 34.712 7718
+-118.802 34.712 7809
+-118.676 34.712 7971
+-118.55 34.712 8067
+-118.424 34.712 8172
+-118.298 34.712 8358
+-118.172 34.712 8460
+-118.046 34.712 8545
+-117.92 34.712 8672
+-117.794 34.712 8756
+-117.668 34.712 8823
+-117.542 34.712 8872
+-117.416 34.712 8931
+-117.29 34.712 8923
+-117.164 34.712 8908
+-117.038 34.712 8843
+-116.912 34.712 8788
+-116.786 34.712 8695
+-116.66 34.712 8584
+-116.534 34.712 8475
+-116.408 34.712 8332
+-116.282 34.712 8275
+-116.156 34.712 8107
+-116.03 34.712 7993
+-115.904 34.712 7833
+-115.778 34.712 7686
+-115.652 34.712 7582
+-115.526 34.712 7450
+-115.4 34.712 7330
+-115.274 34.712 7157
+-115.148 34.712 7039
+-115.022 34.712 6942
+-114.896 34.712 6830
+-114.77 34.712 6685
+-114.644 34.712 6594
+-114.518 34.712 6401
+-114.392 34.712 6252
+-114.266 34.712 6165
+-114.14 34.712 6008
+-114.014 34.712 5910
+-113.888 34.712 5751
+-113.762 34.712 5559
+-113.636 34.712 5516
+-113.51 34.712 5366
+-113.384 34.712 5238
+-113.258 34.712 5155
+-113.132 34.712 5122
+-113.006 34.712 5126
+-112.88 34.712 5162
+-112.754 34.712 5218
+-112.628 34.712 5305
+-112.502 34.712 5385
+-112.376 34.712 5474
+-112.25 34.712 5606
+-112.124 34.712 5694
+-111.998 34.712 5729
+-111.872 34.712 5760
+-111.746 34.712 5797
+-111.62 34.712 5899
+-111.494 34.712 5877
+-111.368 34.712 5919
+-111.242 34.712 5999
+-111.116 34.712 6034
+-110.99 34.712 6048
+-110.864 34.712 6079
+-110.738 34.712 6109
+-110.612 34.712 6121
+-110.486 34.712 6090
+-110.36 34.712 6130
+-110.234 34.712 6118
+-110.108 34.712 6093
+-109.982 34.712 6069
+-109.856 34.712 6060
+-109.73 34.712 6025
+-109.604 34.712 6015
+-109.478 34.712 5990
+-109.352 34.712 5954
+-109.226 34.712 5933
+-109.1 34.712 5911
+-108.974 34.712 5841
+-108.848 34.712 5741
+-108.722 34.712 5653
+-108.596 34.712 5602
+-108.47 34.712 5521
+-108.344 34.712 5458
+-108.218 34.712 5387
+-108.092 34.712 5323
+-107.966 34.712 5273
+-107.84 34.712 5151
+-107.714 34.712 5046
+-107.588 34.712 4952
+-107.462 34.712 4872
+-107.336 34.712 4773
+-107.21 34.712 4646
+-107.084 34.712 4573
+-106.958 34.712 4449
+-106.832 34.712 4313
+-106.706 34.712 4303
+-106.58 34.712 4231
+-106.454 34.712 4186
+-106.328 34.712 4088
+-106.202 34.712 3949
+-106.076 34.712 3736
+-105.95 34.712 3563
+-105.824 34.712 3682
+-105.698 34.712 3825
+-105.572 34.712 3924
+-105.446 34.712 3987
+-105.32 34.712 4031
+-105.194 34.712 4031
+-105.068 34.712 4052
+-104.942 34.712 4067
+-104.816 34.712 4040
+-104.69 34.712 4049
+-104.564 34.712 3954
+-104.438 34.712 3957
+-104.312 34.712 3909
+-104.186 34.712 3924
+-104.06 34.712 3926
+-103.934 34.712 3934
+-103.808 34.712 3929
+-103.682 34.712 3826
+-103.556 34.712 3813
+-103.43 34.712 3811
+-103.304 34.712 3724
+-103.178 34.712 3649
+-103.052 34.712 3595
+-102.926 34.712 3592
+-102.8 34.712 3596
+-102.674 34.712 3595
+-102.548 34.712 3588
+-102.422 34.712 3565
+-102.296 34.712 3504
+-102.17 34.712 3503
+-102.044 34.712 3502
+-101.918 34.712 3501
+-101.792 34.712 3500
+-101.666 34.712 3499
+-101.54 34.712 3381
+-101.414 34.712 3478
+-101.288 34.712 3397
+-101.162 34.712 3386
+-101.036 34.712 3333
+-100.91 34.712 3282
+-100.784 34.712 3266
+-100.658 34.712 3173
+-100.532 34.712 3168
+-100.406 34.712 3126
+-100.28 34.712 3108
+-100.154 34.712 3099
+-100.028 34.712 3081
+-99.902 34.712 3082
+-99.776 34.712 3089
+-99.65 34.712 3076
+-99.524 34.712 3172
+-99.398 34.712 3214
+-99.272 34.712 3180
+-99.146 34.712 3179
+-99.02 34.712 3177
+-98.894 34.712 3176
+-98.768 34.712 3244
+-98.642 34.712 3243
+-98.516 34.712 3241
+-98.39 34.712 3248
+-98.264 34.712 3256
+-98.138 34.712 3257
+-98.012 34.712 3259
+-97.886 34.712 3262
+-97.76 34.712 3284
+-97.634 34.712 3267
+-97.508 34.712 3272
+-97.382 34.712 3279
+-97.256 34.712 3302
+-97.13 34.712 3310
+-97.004 34.712 3318
+-96.878 34.712 3327
+-96.752 34.712 3337
+-96.626 34.712 3347
+-96.5 34.712 3364
+-96.374 34.712 3475
+-96.248 34.712 3481
+-96.122 34.712 3489
+-95.996 34.712 3475
+-95.87 34.712 3506
+-95.744 34.712 3566
+-95.618 34.712 3602
+-95.492 34.712 3628
+-95.366 34.712 3621
+-95.24 34.712 3635
+-95.114 34.712 3626
+-94.988 34.712 3655
+-94.862 34.712 3620
+-94.736 34.712 3598
+-94.61 34.712 3546
+-94.484 34.712 3480
+-94.358 34.712 3440
+-94.232 34.712 3518
+-94.106 34.712 3676
+-93.98 34.712 3827
+-93.854 34.712 3947
+-93.728 34.712 4024
+-93.602 34.712 4078
+-93.476 34.712 4107
+-93.35 34.712 4132
+-93.224 34.712 4135
+-93.098 34.712 4198
+-92.972 34.712 4291
+-92.846 34.712 4374
+-92.72 34.712 4424
+-92.594 34.712 4511
+-92.468 34.712 4601
+-92.342 34.712 4653
+-92.216 34.712 4715
+-92.09 34.712 4760
+-91.964 34.712 4745
+-91.838 34.712 4895
+-91.712 34.712 5033
+-91.586 34.712 5190
+-91.46 34.712 5377
+-91.334 34.712 5530
+-91.208 34.712 5623
+-91.082 34.712 5617
+-90.956 34.712 5702
+-90.83 34.712 5800
+-90.704 34.712 5908
+-90.578 34.712 5950
+-90.452 34.712 6017
+-90.326 34.712 6097
+-90.2 34.712 6153
+-90.074 34.712 6193
+-89.948 34.712 6215
+-89.822 34.712 6280
+-89.696 34.712 6343
+-89.57 34.712 6375
+-89.444 34.712 6400
+-89.318 34.712 6425
+-89.192 34.712 6464
+-89.066 34.712 6468
+-88.94 34.712 6460
+-88.814 34.712 6493
+-88.688 34.712 6462
+-88.562 34.712 6467
+-88.436 34.712 6466
+-88.31 34.712 6436
+-88.184 34.712 6368
+-88.058 34.712 6308
+-87.932 34.712 6269
+-87.806 34.712 6268
+-87.68 34.712 6263
+-87.554 34.712 6198
+-87.428 34.712 6128
+-87.302 34.712 6063
+-87.176 34.712 5969
+-87.05 34.712 5910
+-86.924 34.712 5847
+-86.798 34.712 5764
+-86.672 34.712 5675
+-86.546 34.712 5676
+-86.42 34.712 5593
+-86.294 34.712 5499
+-86.168 34.712 5422
+-86.042 34.712 5368
+-85.916 34.712 5237
+-85.79 34.712 5098
+-85.664 34.712 4951
+-85.538 34.712 4881
+-85.412 34.712 4796
+-85.286 34.712 4631
+-85.16 34.712 4574
+-85.034 34.712 4486
+-84.908 34.712 4361
+-84.782 34.712 4273
+-84.656 34.712 4217
+-84.53 34.712 4154
+-84.404 34.712 4083
+-84.278 34.712 3972
+-84.152 34.712 3910
+-84.026 34.712 3897
+-83.9 34.712 3906
+-83.774 34.712 3906
+-83.648 34.712 3910
+-83.522 34.712 3893
+-83.396 34.712 3827
+-83.27 34.712 3810
+-83.144 34.712 3700
+-83.018 34.712 3653
+-82.892 34.712 3607
+-82.766 34.712 3528
+-82.64 34.712 3497
+-82.514 34.712 3484
+-82.388 34.712 3447
+-82.262 34.712 3423
+-82.136 34.712 3382
+-82.01 34.712 3224
+-81.884 34.712 3156
+-81.758 34.712 3054
+-81.632 34.712 2958
+-81.506 34.712 2951
+-81.38 34.712 2867
+-81.254 34.712 2838
+-81.128 34.712 2803
+-81.002 34.712 2773
+-80.876 34.712 2714
+-80.75 34.712 2627
+-80.624 34.712 2577
+-80.498 34.712 2514
+-80.372 34.712 2393
+-80.246 34.712 2307
+-80.12 34.712 2206
+-79.994 34.712 2103
+-79.868 34.712 1968
+-79.742 34.712 1838
+-79.616 34.712 1700
+-79.49 34.712 1585
+-79.364 34.712 1510
+-79.238 34.712 1482
+-79.112 34.712 1508
+-78.986 34.712 1579
+-78.86 34.712 1680
+-78.734 34.712 1797
+-78.608 34.712 1919
+-78.482 34.712 2038
+-78.356 34.712 2139
+-78.23 34.712 2246
+-78.104 34.712 2328
+-77.978 34.712 2397
+-77.852 34.712 2492
+-77.726 34.712 2547
+-77.6 34.712 2595
+-77.474 34.712 2637
+-77.348 34.712 2674
+-77.222 34.712 2706
+-77.096 34.712 2704
+-76.97 34.712 2740
+-76.844 34.712 2764
+-76.718 34.712 2782
+-76.592 34.712 2976
+-76.466 34.712 3010
+-76.34 34.712 3030
+-76.214 34.712 3047
+-76.088 34.712 3063
+-75.962 34.712 3081
+-75.836 34.712 3103
+-75.71 34.712 3117
+-75.584 34.712 3124
+-75.458 34.712 3137
+-75.332 34.712 3113
+-75.206 34.712 3123
+-75.08 34.712 3133
+-74.954 34.712 3187
+-74.828 34.712 3193
+-74.702 34.712 3208
+-74.576 34.712 3217
+-74.45 34.712 3210
+-74.324 34.712 3233
+-74.198 34.712 3276
+-74.072 34.712 3290
+-73.946 34.712 3297
+-73.82 34.712 3302
+-73.694 34.712 3347
+-73.568 34.712 3355
+-73.442 34.712 3310
+-73.316 34.712 3332
+-73.19 34.712 3333
+-73.064 34.712 3268
+-72.938 34.712 3195
+-72.812 34.712 3216
+-72.686 34.712 3221
+-72.56 34.712 3250
+-72.434 34.712 3232
+-72.308 34.712 3243
+-72.182 34.712 3248
+-72.056 34.712 3234
+-71.93 34.712 3238
+-71.804 34.712 3242
+-71.678 34.712 3223
+-71.552 34.712 3210
+-71.426 34.712 3240
+-71.3 34.712 3237
+-71.174 34.712 3241
+-71.048 34.712 3245
+-70.922 34.712 3172
+-70.796 34.712 3210
+-70.67 34.712 3207
+-70.544 34.712 3210
+-70.418 34.712 3213
+-70.292 34.712 3434
+-70.166 34.712 3365
+-70.04 34.712 3374
+-69.914 34.712 3376
+-69.788 34.712 3276
+-69.662 34.712 3265
+-69.536 34.712 3266
+-69.41 34.712 3267
+-69.284 34.712 3247
+-69.158 34.712 3248
+-69.032 34.712 3249
+-68.906 34.712 3250
+-68.78 34.712 3251
+-68.654 34.712 3273
+-68.528 34.712 3275
+-68.402 34.712 3260
+-68.276 34.712 3262
+-68.15 34.712 3263
+-68.024 34.712 3204
+-67.898 34.712 3387
+-67.772 34.712 3347
+-67.646 34.712 3348
+-67.52 34.712 3317
+-67.394 34.712 3318
+-67.268 34.712 3319
+-67.142 34.712 3449
+-67.016 34.712 3450
+-66.89 34.712 3451
+-66.764 34.712 3451
+-66.638 34.712 3452
+-66.512 34.712 3567
+-66.386 34.712 3568
+-66.26 34.712 3482
+-66.134 34.712 3483
+-66.008 34.712 3483
+-65.882 34.712 3484
+-65.756 34.712 3494
+-65.63 34.712 3451
+-65.504 34.712 3444
+-65.378 34.712 3392
+-65.252 34.712 3392
+-65.126 34.712 3354
+-128 34.66 2806
+-127.874 34.66 2805
+-127.748 34.66 2804
+-127.622 34.66 2803
+-127.496 34.66 2801
+-127.37 34.66 2800
+-127.244 34.66 2820
+-127.118 34.66 2903
+-126.992 34.66 2902
+-126.866 34.66 2901
+-126.74 34.66 2900
+-126.614 34.66 2899
+-126.488 34.66 2898
+-126.362 34.66 2897
+-126.236 34.66 2943
+-126.11 34.66 2940
+-125.984 34.66 3039
+-125.858 34.66 3117
+-125.732 34.66 3110
+-125.606 34.66 3103
+-125.48 34.66 3095
+-125.354 34.66 3164
+-125.228 34.66 3150
+-125.102 34.66 3204
+-124.976 34.66 3192
+-124.85 34.66 3181
+-124.724 34.66 3174
+-124.598 34.66 3232
+-124.472 34.66 3316
+-124.346 34.66 3325
+-124.22 34.66 3345
+-124.094 34.66 3397
+-123.968 34.66 3455
+-123.842 34.66 3583
+-123.716 34.66 3650
+-123.59 34.66 3720
+-123.464 34.66 3786
+-123.338 34.66 3845
+-123.212 34.66 3894
+-123.086 34.66 4008
+-122.96 34.66 4030
+-122.834 34.66 4061
+-122.708 34.66 4002
+-122.582 34.66 3975
+-122.456 34.66 4100
+-122.33 34.66 4298
+-122.204 34.66 4347
+-122.078 34.66 4279
+-121.952 34.66 4493
+-121.826 34.66 4660
+-121.7 34.66 4800
+-121.574 34.66 4892
+-121.448 34.66 5025
+-121.322 34.66 5233
+-121.196 34.66 5367
+-121.07 34.66 5526
+-120.944 34.66 5684
+-120.818 34.66 5733
+-120.692 34.66 5856
+-120.566 34.66 5911
+-120.44 34.66 6135
+-120.314 34.66 6310
+-120.188 34.66 6406
+-120.062 34.66 6534
+-119.936 34.66 6644
+-119.81 34.66 6768
+-119.684 34.66 6871
+-119.558 34.66 7035
+-119.432 34.66 7159
+-119.306 34.66 7318
+-119.18 34.66 7465
+-119.054 34.66 7584
+-118.928 34.66 7705
+-118.802 34.66 7850
+-118.676 34.66 7977
+-118.55 34.66 8053
+-118.424 34.66 8221
+-118.298 34.66 8342
+-118.172 34.66 8465
+-118.046 34.66 8592
+-117.92 34.66 8690
+-117.794 34.66 8783
+-117.668 34.66 8881
+-117.542 34.66 8951
+-117.416 34.66 8989
+-117.29 34.66 8970
+-117.164 34.66 8942
+-117.038 34.66 8898
+-116.912 34.66 8862
+-116.786 34.66 8735
+-116.66 34.66 8616
+-116.534 34.66 8504
+-116.408 34.66 8368
+-116.282 34.66 8300
+-116.156 34.66 8139
+-116.03 34.66 7985
+-115.904 34.66 7896
+-115.778 34.66 7783
+-115.652 34.66 7677
+-115.526 34.66 7453
+-115.4 34.66 7343
+-115.274 34.66 7217
+-115.148 34.66 7079
+-115.022 34.66 6937
+-114.896 34.66 6828
+-114.77 34.66 6711
+-114.644 34.66 6554
+-114.518 34.66 6374
+-114.392 34.66 6288
+-114.266 34.66 6097
+-114.14 34.66 6020
+-114.014 34.66 5929
+-113.888 34.66 5778
+-113.762 34.66 5622
+-113.636 34.66 5493
+-113.51 34.66 5338
+-113.384 34.66 5154
+-113.258 34.66 5131
+-113.132 34.66 5084
+-113.006 34.66 5150
+-112.88 34.66 5164
+-112.754 34.66 5279
+-112.628 34.66 5369
+-112.502 34.66 5471
+-112.376 34.66 5551
+-112.25 34.66 5679
+-112.124 34.66 5740
+-111.998 34.66 5710
+-111.872 34.66 5810
+-111.746 34.66 5856
+-111.62 34.66 5905
+-111.494 34.66 5930
+-111.368 34.66 6007
+-111.242 34.66 6059
+-111.116 34.66 6084
+-110.99 34.66 6101
+-110.864 34.66 6142
+-110.738 34.66 6153
+-110.612 34.66 6175
+-110.486 34.66 6175
+-110.36 34.66 6193
+-110.234 34.66 6169
+-110.108 34.66 6149
+-109.982 34.66 6134
+-109.856 34.66 6112
+-109.73 34.66 6113
+-109.604 34.66 6066
+-109.478 34.66 5976
+-109.352 34.66 5999
+-109.226 34.66 5928
+-109.1 34.66 5956
+-108.974 34.66 5895
+-108.848 34.66 5773
+-108.722 34.66 5683
+-108.596 34.66 5667
+-108.47 34.66 5593
+-108.344 34.66 5538
+-108.218 34.66 5418
+-108.092 34.66 5310
+-107.966 34.66 5294
+-107.84 34.66 5189
+-107.714 34.66 5091
+-107.588 34.66 5008
+-107.462 34.66 4927
+-107.336 34.66 4825
+-107.21 34.66 4686
+-107.084 34.66 4596
+-106.958 34.66 4542
+-106.832 34.66 4393
+-106.706 34.66 4281
+-106.58 34.66 4186
+-106.454 34.66 4175
+-106.328 34.66 4036
+-106.202 34.66 3916
+-106.076 34.66 3831
+-105.95 34.66 3717
+-105.824 34.66 3765
+-105.698 34.66 3867
+-105.572 34.66 3948
+-105.446 34.66 4004
+-105.32 34.66 4044
+-105.194 34.66 4074
+-105.068 34.66 4087
+-104.942 34.66 4040
+-104.816 34.66 4051
+-104.69 34.66 4059
+-104.564 34.66 4079
+-104.438 34.66 3975
+-104.312 34.66 3972
+-104.186 34.66 3995
+-104.06 34.66 3946
+-103.934 34.66 3947
+-103.808 34.66 3842
+-103.682 34.66 3828
+-103.556 34.66 3825
+-103.43 34.66 3793
+-103.304 34.66 3733
+-103.178 34.66 3662
+-103.052 34.66 3650
+-102.926 34.66 3606
+-102.8 34.66 3604
+-102.674 34.66 3597
+-102.548 34.66 3573
+-102.422 34.66 3511
+-102.296 34.66 3509
+-102.17 34.66 3508
+-102.044 34.66 3506
+-101.918 34.66 3505
+-101.792 34.66 3504
+-101.666 34.66 3503
+-101.54 34.66 3492
+-101.414 34.66 3485
+-101.288 34.66 3478
+-101.162 34.66 3432
+-101.036 34.66 3308
+-100.91 34.66 3293
+-100.784 34.66 3278
+-100.658 34.66 3184
+-100.532 34.66 3199
+-100.406 34.66 3154
+-100.28 34.66 3115
+-100.154 34.66 3107
+-100.028 34.66 3067
+-99.902 34.66 3073
+-99.776 34.66 3095
+-99.65 34.66 3080
+-99.524 34.66 3176
+-99.398 34.66 3187
+-99.272 34.66 3186
+-99.146 34.66 3184
+-99.02 34.66 3183
+-98.894 34.66 3252
+-98.768 34.66 3250
+-98.642 34.66 3249
+-98.516 34.66 3255
+-98.39 34.66 3262
+-98.264 34.66 3263
+-98.138 34.66 3265
+-98.012 34.66 3267
+-97.886 34.66 3288
+-97.76 34.66 3269
+-97.634 34.66 3274
+-97.508 34.66 3279
+-97.382 34.66 3300
+-97.256 34.66 3306
+-97.13 34.66 3313
+-97.004 34.66 3320
+-96.878 34.66 3328
+-96.752 34.66 3336
+-96.626 34.66 3351
+-96.5 34.66 3460
+-96.374 34.66 3427
+-96.248 34.66 3437
+-96.122 34.66 3454
+-95.996 34.66 3442
+-95.87 34.66 3512
+-95.744 34.66 3584
+-95.618 34.66 3571
+-95.492 34.66 3597
+-95.366 34.66 3591
+-95.24 34.66 3588
+-95.114 34.66 3602
+-94.988 34.66 3607
+-94.862 34.66 3578
+-94.736 34.66 3550
+-94.61 34.66 3510
+-94.484 34.66 3423
+-94.358 34.66 3354
+-94.232 34.66 3449
+-94.106 34.66 3612
+-93.98 34.66 3779
+-93.854 34.66 3887
+-93.728 34.66 3971
+-93.602 34.66 4022
+-93.476 34.66 4031
+-93.35 34.66 4035
+-93.224 34.66 4113
+-93.098 34.66 4186
+-92.972 34.66 4261
+-92.846 34.66 4331
+-92.72 34.66 4374
+-92.594 34.66 4416
+-92.468 34.66 4549
+-92.342 34.66 4603
+-92.216 34.66 4653
+-92.09 34.66 4746
+-91.964 34.66 4818
+-91.838 34.66 4907
+-91.712 34.66 4968
+-91.586 34.66 5126
+-91.46 34.66 5297
+-91.334 34.66 5449
+-91.208 34.66 5576
+-91.082 34.66 5640
+-90.956 34.66 5670
+-90.83 34.66 5730
+-90.704 34.66 5822
+-90.578 34.66 5900
+-90.452 34.66 5986
+-90.326 34.66 6034
+-90.2 34.66 6116
+-90.074 34.66 6143
+-89.948 34.66 6186
+-89.822 34.66 6247
+-89.696 34.66 6303
+-89.57 34.66 6332
+-89.444 34.66 6326
+-89.318 34.66 6372
+-89.192 34.66 6407
+-89.066 34.66 6401
+-88.94 34.66 6422
+-88.814 34.66 6401
+-88.688 34.66 6409
+-88.562 34.66 6379
+-88.436 34.66 6380
+-88.31 34.66 6349
+-88.184 34.66 6278
+-88.058 34.66 6237
+-87.932 34.66 6232
+-87.806 34.66 6258
+-87.68 34.66 6160
+-87.554 34.66 6129
+-87.428 34.66 6076
+-87.302 34.66 6004
+-87.176 34.66 5916
+-87.05 34.66 5846
+-86.924 34.66 5837
+-86.798 34.66 5707
+-86.672 34.66 5702
+-86.546 34.66 5657
+-86.42 34.66 5584
+-86.294 34.66 5466
+-86.168 34.66 5347
+-86.042 34.66 5294
+-85.916 34.66 5207
+-85.79 34.66 5015
+-85.664 34.66 4876
+-85.538 34.66 4817
+-85.412 34.66 4736
+-85.286 34.66 4612
+-85.16 34.66 4514
+-85.034 34.66 4416
+-84.908 34.66 4318
+-84.782 34.66 4260
+-84.656 34.66 4179
+-84.53 34.66 4086
+-84.404 34.66 4038
+-84.278 34.66 3988
+-84.152 34.66 3955
+-84.026 34.66 3940
+-83.9 34.66 3908
+-83.774 34.66 3913
+-83.648 34.66 3897
+-83.522 34.66 3844
+-83.396 34.66 3834
+-83.27 34.66 3748
+-83.144 34.66 3722
+-83.018 34.66 3609
+-82.892 34.66 3562
+-82.766 34.66 3513
+-82.64 34.66 3483
+-82.514 34.66 3457
+-82.388 34.66 3445
+-82.262 34.66 3414
+-82.136 34.66 3382
+-82.01 34.66 3228
+-81.884 34.66 3165
+-81.758 34.66 3125
+-81.632 34.66 3035
+-81.506 34.66 2971
+-81.38 34.66 2888
+-81.254 34.66 2860
+-81.128 34.66 2814
+-81.002 34.66 2791
+-80.876 34.66 2690
+-80.75 34.66 2649
+-80.624 34.66 2592
+-80.498 34.66 2523
+-80.372 34.66 2409
+-80.246 34.66 2320
+-80.12 34.66 2226
+-79.994 34.66 2107
+-79.868 34.66 1980
+-79.742 34.66 1831
+-79.616 34.66 1687
+-79.49 34.66 1570
+-79.364 34.66 1484
+-79.238 34.66 1455
+-79.112 34.66 1483
+-78.986 34.66 1562
+-78.86 34.66 1671
+-78.734 34.66 1798
+-78.608 34.66 1928
+-78.482 34.66 2044
+-78.356 34.66 2164
+-78.23 34.66 2259
+-78.104 34.66 2339
+-77.978 34.66 2441
+-77.852 34.66 2504
+-77.726 34.66 2558
+-77.6 34.66 2605
+-77.474 34.66 2646
+-77.348 34.66 2682
+-77.222 34.66 2686
+-77.096 34.66 2723
+-76.97 34.66 2749
+-76.844 34.66 2769
+-76.718 34.66 2957
+-76.592 34.66 2993
+-76.466 34.66 3013
+-76.34 34.66 3032
+-76.214 34.66 3050
+-76.088 34.66 3069
+-75.962 34.66 3091
+-75.836 34.66 3106
+-75.71 34.66 3114
+-75.584 34.66 3127
+-75.458 34.66 3105
+-75.332 34.66 3115
+-75.206 34.66 3126
+-75.08 34.66 3180
+-74.954 34.66 3186
+-74.828 34.66 3201
+-74.702 34.66 3211
+-74.576 34.66 3205
+-74.45 34.66 3228
+-74.324 34.66 3270
+-74.198 34.66 3285
+-74.072 34.66 3292
+-73.946 34.66 3298
+-73.82 34.66 3342
+-73.694 34.66 3350
+-73.568 34.66 3306
+-73.442 34.66 3328
+-73.316 34.66 3329
+-73.19 34.66 3262
+-73.064 34.66 3193
+-72.938 34.66 3214
+-72.812 34.66 3218
+-72.686 34.66 3248
+-72.56 34.66 3230
+-72.434 34.66 3241
+-72.308 34.66 3246
+-72.182 34.66 3232
+-72.056 34.66 3236
+-71.93 34.66 3240
+-71.804 34.66 3222
+-71.678 34.66 3208
+-71.552 34.66 3239
+-71.426 34.66 3236
+-71.3 34.66 3240
+-71.174 34.66 3244
+-71.048 34.66 3171
+-70.922 34.66 3209
+-70.796 34.66 3206
+-70.67 34.66 3210
+-70.544 34.66 3213
+-70.418 34.66 3432
+-70.292 34.66 3360
+-70.166 34.66 3372
+-70.04 34.66 3374
+-69.914 34.66 3275
+-69.788 34.66 3263
+-69.662 34.66 3265
+-69.536 34.66 3266
+-69.41 34.66 3246
+-69.284 34.66 3247
+-69.158 34.66 3248
+-69.032 34.66 3249
+-68.906 34.66 3251
+-68.78 34.66 3272
+-68.654 34.66 3274
+-68.528 34.66 3259
+-68.402 34.66 3261
+-68.276 34.66 3262
+-68.15 34.66 3204
+-68.024 34.66 3386
+-67.898 34.66 3347
+-67.772 34.66 3347
+-67.646 34.66 3316
+-67.52 34.66 3317
+-67.394 34.66 3318
+-67.268 34.66 3448
+-67.142 34.66 3449
+-67.016 34.66 3450
+-66.89 34.66 3450
+-66.764 34.66 3451
+-66.638 34.66 3566
+-66.512 34.66 3567
+-66.386 34.66 3481
+-66.26 34.66 3481
+-66.134 34.66 3482
+-66.008 34.66 3483
+-65.882 34.66 3492
+-65.756 34.66 3450
+-65.63 34.66 3443
+-65.504 34.66 3391
+-65.378 34.66 3392
+-65.252 34.66 3353
+-65.126 34.66 3400
+-128 34.608 2808
+-127.874 34.608 2807
+-127.748 34.608 2806
+-127.622 34.608 2805
+-127.496 34.608 2804
+-127.37 34.608 2803
+-127.244 34.608 2802
+-127.118 34.608 2823
+-126.992 34.608 2905
+-126.866 34.608 2905
+-126.74 34.608 2904
+-126.614 34.608 2904
+-126.488 34.608 2903
+-126.362 34.608 2903
+-126.236 34.608 2902
+-126.11 34.608 2950
+-125.984 34.608 2948
+-125.858 34.608 3053
+-125.732 34.608 3134
+-125.606 34.608 3129
+-125.48 34.608 3204
+-125.354 34.608 3195
+-125.228 34.608 3186
+-125.102 34.608 3177
+-124.976 34.608 3221
+-124.85 34.608 3248
+-124.724 34.608 3300
+-124.598 34.608 3300
+-124.472 34.608 3389
+-124.346 34.608 3432
+-124.22 34.608 3455
+-124.094 34.608 3501
+-123.968 34.608 3542
+-123.842 34.608 3591
+-123.716 34.608 3695
+-123.59 34.608 3774
+-123.464 34.608 3828
+-123.338 34.608 3878
+-123.212 34.608 3957
+-123.086 34.608 4057
+-122.96 34.608 4071
+-122.834 34.608 4116
+-122.708 34.608 4130
+-122.582 34.608 4168
+-122.456 34.608 4253
+-122.33 34.608 4361
+-122.204 34.608 4423
+-122.078 34.608 4455
+-121.952 34.608 4581
+-121.826 34.608 4645
+-121.7 34.608 4755
+-121.574 34.608 4917
+-121.448 34.608 5066
+-121.322 34.608 5228
+-121.196 34.608 5361
+-121.07 34.608 5525
+-120.944 34.608 5680
+-120.818 34.608 5774
+-120.692 34.608 5896
+-120.566 34.608 6017
+-120.44 34.608 6139
+-120.314 34.608 6307
+-120.188 34.608 6425
+-120.062 34.608 6552
+-119.936 34.608 6604
+-119.81 34.608 6783
+-119.684 34.608 6947
+-119.558 34.608 7012
+-119.432 34.608 7220
+-119.306 34.608 7350
+-119.18 34.608 7441
+-119.054 34.608 7592
+-118.928 34.608 7682
+-118.802 34.608 7891
+-118.676 34.608 8044
+-118.55 34.608 8125
+-118.424 34.608 8256
+-118.298 34.608 8391
+-118.172 34.608 8443
+-118.046 34.608 8653
+-117.92 34.608 8695
+-117.794 34.608 8826
+-117.668 34.608 8935
+-117.542 34.608 8985
+-117.416 34.608 9038
+-117.29 34.608 9034
+-117.164 34.608 8972
+-117.038 34.608 8967
+-116.912 34.608 8879
+-116.786 34.608 8750
+-116.66 34.608 8659
+-116.534 34.608 8554
+-116.408 34.608 8390
+-116.282 34.608 8336
+-116.156 34.608 8159
+-116.03 34.608 8053
+-115.904 34.608 7890
+-115.778 34.608 7787
+-115.652 34.608 7664
+-115.526 34.608 7471
+-115.4 34.608 7344
+-115.274 34.608 7232
+-115.148 34.608 7147
+-115.022 34.608 6913
+-114.896 34.608 6851
+-114.77 34.608 6660
+-114.644 34.608 6609
+-114.518 34.608 6456
+-114.392 34.608 6344
+-114.266 34.608 6164
+-114.14 34.608 6035
+-114.014 34.608 5841
+-113.888 34.608 5769
+-113.762 34.608 5659
+-113.636 34.608 5441
+-113.51 34.608 5364
+-113.384 34.608 5210
+-113.258 34.608 5100
+-113.132 34.608 5071
+-113.006 34.608 5184
+-112.88 34.608 5269
+-112.754 34.608 5364
+-112.628 34.608 5425
+-112.502 34.608 5525
+-112.376 34.608 5612
+-112.25 34.608 5691
+-112.124 34.608 5769
+-111.998 34.608 5814
+-111.872 34.608 5859
+-111.746 34.608 5903
+-111.62 34.608 5918
+-111.494 34.608 5990
+-111.368 34.608 6061
+-111.242 34.608 6099
+-111.116 34.608 6107
+-110.99 34.608 6174
+-110.864 34.608 6203
+-110.738 34.608 6204
+-110.612 34.608 6220
+-110.486 34.608 6235
+-110.36 34.608 6237
+-110.234 34.608 6239
+-110.108 34.608 6218
+-109.982 34.608 6199
+-109.856 34.608 6169
+-109.73 34.608 6143
+-109.604 34.608 6110
+-109.478 34.608 6073
+-109.352 34.608 6040
+-109.226 34.608 6010
+-109.1 34.608 5994
+-108.974 34.608 5939
+-108.848 34.608 5834
+-108.722 34.608 5763
+-108.596 34.608 5719
+-108.47 34.608 5624
+-108.344 34.608 5569
+-108.218 34.608 5500
+-108.092 34.608 5378
+-107.966 34.608 5289
+-107.84 34.608 5175
+-107.714 34.608 5151
+-107.588 34.608 5053
+-107.462 34.608 4975
+-107.336 34.608 4870
+-107.21 34.608 4762
+-107.084 34.608 4654
+-106.958 34.608 4606
+-106.832 34.608 4476
+-106.706 34.608 4346
+-106.58 34.608 4240
+-106.454 34.608 4176
+-106.328 34.608 3985
+-106.202 34.608 3842
+-106.076 34.608 3893
+-105.95 34.608 3890
+-105.824 34.608 3895
+-105.698 34.608 3941
+-105.572 34.608 3992
+-105.446 34.608 4033
+-105.32 34.608 4070
+-105.194 34.608 4078
+-105.068 34.608 4079
+-104.942 34.608 4094
+-104.816 34.608 4106
+-104.69 34.608 4085
+-104.564 34.608 4094
+-104.438 34.608 4102
+-104.312 34.608 3989
+-104.186 34.608 4007
+-104.06 34.608 4019
+-103.934 34.608 3913
+-103.808 34.608 3900
+-103.682 34.608 3898
+-103.556 34.608 3804
+-103.43 34.608 3742
+-103.304 34.608 3672
+-103.178 34.608 3659
+-103.052 34.608 3669
+-102.926 34.608 3668
+-102.8 34.608 3606
+-102.674 34.608 3638
+-102.548 34.608 3572
+-102.422 34.608 3571
+-102.296 34.608 3570
+-102.17 34.608 3568
+-102.044 34.608 3568
+-101.918 34.608 3567
+-101.792 34.608 3566
+-101.666 34.608 3618
+-101.54 34.608 3499
+-101.414 34.608 3492
+-101.288 34.608 3447
+-101.162 34.608 3400
+-101.036 34.608 3318
+-100.91 34.608 3304
+-100.784 34.608 3289
+-100.658 34.608 3231
+-100.532 34.608 3211
+-100.406 34.608 3166
+-100.28 34.608 3126
+-100.154 34.608 3117
+-100.028 34.608 3072
+-99.902 34.608 3077
+-99.776 34.608 3099
+-99.65 34.608 3084
+-99.524 34.608 3194
+-99.398 34.608 3192
+-99.272 34.608 3190
+-99.146 34.608 3190
+-99.02 34.608 3259
+-98.894 34.608 3257
+-98.768 34.608 3255
+-98.642 34.608 3262
+-98.516 34.608 3268
+-98.39 34.608 3268
+-98.264 34.608 3269
+-98.138 34.608 3271
+-98.012 34.608 3292
+-97.886 34.608 3272
+-97.76 34.608 3275
+-97.634 34.608 3279
+-97.508 34.608 3299
+-97.382 34.608 3304
+-97.256 34.608 3309
+-97.13 34.608 3315
+-97.004 34.608 3320
+-96.878 34.608 3326
+-96.752 34.608 3340
+-96.626 34.608 3447
+-96.5 34.608 3411
+-96.374 34.608 3420
+-96.248 34.608 3435
+-96.122 34.608 3422
+-95.996 34.608 3494
+-95.87 34.608 3526
+-95.744 34.608 3551
+-95.618 34.608 3540
+-95.492 34.608 3536
+-95.366 34.608 3531
+-95.24 34.608 3546
+-95.114 34.608 3565
+-94.988 34.608 3576
+-94.862 34.608 3558
+-94.736 34.608 3541
+-94.61 34.608 3504
+-94.484 34.608 3447
+-94.358 34.608 3419
+-94.232 34.608 3487
+-94.106 34.608 3592
+-93.98 34.608 3687
+-93.854 34.608 3829
+-93.728 34.608 3921
+-93.602 34.608 3974
+-93.476 34.608 3970
+-93.35 34.608 3920
+-93.224 34.608 4035
+-93.098 34.608 4149
+-92.972 34.608 4215
+-92.846 34.608 4272
+-92.72 34.608 4307
+-92.594 34.608 4351
+-92.468 34.608 4459
+-92.342 34.608 4561
+-92.216 34.608 4539
+-92.09 34.608 4823
+-91.964 34.608 4833
+-91.838 34.608 4983
+-91.712 34.608 4966
+-91.586 34.608 5096
+-91.46 34.608 5236
+-91.334 34.608 5348
+-91.208 34.608 5479
+-91.082 34.608 5612
+-90.956 34.608 5662
+-90.83 34.608 5703
+-90.704 34.608 5759
+-90.578 34.608 5858
+-90.452 34.608 5920
+-90.326 34.608 6020
+-90.2 34.608 6071
+-90.074 34.608 6116
+-89.948 34.608 6097
+-89.822 34.608 6170
+-89.696 34.608 6217
+-89.57 34.608 6280
+-89.444 34.608 6287
+-89.318 34.608 6320
+-89.192 34.608 6340
+-89.066 34.608 6348
+-88.94 34.608 6339
+-88.814 34.608 6335
+-88.688 34.608 6330
+-88.562 34.608 6337
+-88.436 34.608 6303
+-88.31 34.608 6266
+-88.184 34.608 6226
+-88.058 34.608 6204
+-87.932 34.608 6229
+-87.806 34.608 6168
+-87.68 34.608 6127
+-87.554 34.608 6057
+-87.428 34.608 6005
+-87.302 34.608 5952
+-87.176 34.608 5878
+-87.05 34.608 5799
+-86.924 34.608 5768
+-86.798 34.608 5741
+-86.672 34.608 5676
+-86.546 34.608 5627
+-86.42 34.608 5549
+-86.294 34.608 5379
+-86.168 34.608 5259
+-86.042 34.608 5264
+-85.916 34.608 5180
+-85.79 34.608 4959
+-85.664 34.608 4839
+-85.538 34.608 4771
+-85.412 34.608 4648
+-85.286 34.608 4547
+-85.16 34.608 4462
+-85.034 34.608 4345
+-84.908 34.608 4270
+-84.782 34.608 4236
+-84.656 34.608 4091
+-84.53 34.608 3968
+-84.404 34.608 3956
+-84.278 34.608 3949
+-84.152 34.608 3911
+-84.026 34.608 3905
+-83.9 34.608 3906
+-83.774 34.608 3883
+-83.648 34.608 3858
+-83.522 34.608 3828
+-83.396 34.608 3814
+-83.27 34.608 3754
+-83.144 34.608 3655
+-83.018 34.608 3616
+-82.892 34.608 3585
+-82.766 34.608 3490
+-82.64 34.608 3462
+-82.514 34.608 3438
+-82.388 34.608 3393
+-82.262 34.608 3383
+-82.136 34.608 3342
+-82.01 34.608 3202
+-81.884 34.608 3174
+-81.758 34.608 3125
+-81.632 34.608 3029
+-81.506 34.608 3006
+-81.38 34.608 2949
+-81.254 34.608 2924
+-81.128 34.608 2897
+-81.002 34.608 2808
+-80.876 34.608 2716
+-80.75 34.608 2670
+-80.624 34.608 2613
+-80.498 34.608 2517
+-80.372 34.608 2441
+-80.246 34.608 2358
+-80.12 34.608 2256
+-79.994 34.608 2148
+-79.868 34.608 2009
+-79.742 34.608 1861
+-79.616 34.608 1731
+-79.49 34.608 1602
+-79.364 34.608 1517
+-79.238 34.608 1485
+-79.112 34.608 1515
+-78.986 34.608 1592
+-78.86 34.608 1705
+-78.734 34.608 1833
+-78.608 34.608 1956
+-78.482 34.608 2085
+-78.356 34.608 2191
+-78.23 34.608 2282
+-78.104 34.608 2390
+-77.978 34.608 2461
+-77.852 34.608 2521
+-77.726 34.608 2573
+-77.6 34.608 2618
+-77.474 34.608 2658
+-77.348 34.608 2667
+-77.222 34.608 2706
+-77.096 34.608 2733
+-76.97 34.608 2756
+-76.844 34.608 2939
+-76.718 34.608 2975
+-76.592 34.608 2997
+-76.466 34.608 3017
+-76.34 34.608 3036
+-76.214 34.608 3056
+-76.088 34.608 3079
+-75.962 34.608 3094
+-75.836 34.608 3104
+-75.71 34.608 3117
+-75.584 34.608 3096
+-75.458 34.608 3107
+-75.332 34.608 3118
+-75.206 34.608 3172
+-75.08 34.608 3179
+-74.954 34.608 3195
+-74.828 34.608 3204
+-74.702 34.608 3199
+-74.576 34.608 3222
+-74.45 34.608 3264
+-74.324 34.608 3279
+-74.198 34.608 3286
+-74.072 34.608 3293
+-73.946 34.608 3337
+-73.82 34.608 3345
+-73.694 34.608 3302
+-73.568 34.608 3324
+-73.442 34.608 3325
+-73.316 34.608 3262
+-73.19 34.608 3191
+-73.064 34.608 3211
+-72.938 34.608 3216
+-72.812 34.608 3245
+-72.686 34.608 3228
+-72.56 34.608 3239
+-72.434 34.608 3243
+-72.308 34.608 3230
+-72.182 34.608 3234
+-72.056 34.608 3239
+-71.93 34.608 3221
+-71.804 34.608 3207
+-71.678 34.608 3237
+-71.552 34.608 3235
+-71.426 34.608 3239
+-71.3 34.608 3242
+-71.174 34.608 3170
+-71.048 34.608 3208
+-70.922 34.608 3205
+-70.796 34.608 3209
+-70.67 34.608 3212
+-70.544 34.608 3430
+-70.418 34.608 3362
+-70.292 34.608 3371
+-70.166 34.608 3373
+-70.04 34.608 3274
+-69.914 34.608 3262
+-69.788 34.608 3264
+-69.662 34.608 3265
+-69.536 34.608 3245
+-69.41 34.608 3246
+-69.284 34.608 3247
+-69.158 34.608 3249
+-69.032 34.608 3250
+-68.906 34.608 3271
+-68.78 34.608 3273
+-68.654 34.608 3258
+-68.528 34.608 3260
+-68.402 34.608 3261
+-68.276 34.608 3203
+-68.15 34.608 3385
+-68.024 34.608 3346
+-67.898 34.608 3346
+-67.772 34.608 3316
+-67.646 34.608 3316
+-67.52 34.608 3317
+-67.394 34.608 3447
+-67.268 34.608 3448
+-67.142 34.608 3449
+-67.016 34.608 3449
+-66.89 34.608 3450
+-66.764 34.608 3564
+-66.638 34.608 3565
+-66.512 34.608 3479
+-66.386 34.608 3480
+-66.26 34.608 3481
+-66.134 34.608 3482
+-66.008 34.608 3491
+-65.882 34.608 3449
+-65.756 34.608 3442
+-65.63 34.608 3390
+-65.504 34.608 3391
+-65.378 34.608 3353
+-65.252 34.608 3399
+-65.126 34.608 3400
+-128 34.556 2809
+-127.874 34.556 2808
+-127.748 34.556 2807
+-127.622 34.556 2806
+-127.496 34.556 2806
+-127.37 34.556 2805
+-127.244 34.556 2805
+-127.118 34.556 2805
+-126.992 34.556 2826
+-126.866 34.556 2907
+-126.74 34.556 2908
+-126.614 34.556 2908
+-126.488 34.556 2908
+-126.362 34.556 2908
+-126.236 34.556 2909
+-126.11 34.556 2909
+-125.984 34.556 2959
+-125.858 34.556 3069
+-125.732 34.556 3070
+-125.606 34.556 3236
+-125.48 34.556 3230
+-125.354 34.556 3228
+-125.228 34.556 3223
+-125.102 34.556 3214
+-124.976 34.556 3285
+-124.85 34.556 3335
+-124.724 34.556 3354
+-124.598 34.556 3359
+-124.472 34.556 3455
+-124.346 34.556 3473
+-124.22 34.556 3546
+-124.094 34.556 3576
+-123.968 34.556 3612
+-123.842 34.556 3654
+-123.716 34.556 3698
+-123.59 34.556 3794
+-123.464 34.556 3862
+-123.338 34.556 3917
+-123.212 34.556 3954
+-123.086 34.556 4083
+-122.96 34.556 4101
+-122.834 34.556 4206
+-122.708 34.556 4245
+-122.582 34.556 4294
+-122.456 34.556 4362
+-122.33 34.556 4449
+-122.204 34.556 4510
+-122.078 34.556 4555
+-121.952 34.556 4615
+-121.826 34.556 4560
+-121.7 34.556 4744
+-121.574 34.556 4945
+-121.448 34.556 5071
+-121.322 34.556 5217
+-121.196 34.556 5320
+-121.07 34.556 5506
+-120.944 34.556 5663
+-120.818 34.556 5780
+-120.692 34.556 5832
+-120.566 34.556 6019
+-120.44 34.556 6182
+-120.314 34.556 6296
+-120.188 34.556 6379
+-120.062 34.556 6548
+-119.936 34.556 6714
+-119.81 34.556 6845
+-119.684 34.556 6913
+-119.558 34.556 7016
+-119.432 34.556 7245
+-119.306 34.556 7380
+-119.18 34.556 7497
+-119.054 34.556 7545
+-118.928 34.556 7757
+-118.802 34.556 7873
+-118.676 34.556 8012
+-118.55 34.556 8126
+-118.424 34.556 8294
+-118.298 34.556 8386
+-118.172 34.556 8512
+-118.046 34.556 8685
+-117.92 34.556 8791
+-117.794 34.556 8845
+-117.668 34.556 8951
+-117.542 34.556 9017
+-117.416 34.556 9111
+-117.29 34.556 9090
+-117.164 34.556 9074
+-117.038 34.556 9047
+-116.912 34.556 8910
+-116.786 34.556 8788
+-116.66 34.556 8664
+-116.534 34.556 8536
+-116.408 34.556 8454
+-116.282 34.556 8317
+-116.156 34.556 8156
+-116.03 34.556 8077
+-115.904 34.556 7962
+-115.778 34.556 7781
+-115.652 34.556 7618
+-115.526 34.556 7572
+-115.4 34.556 7444
+-115.274 34.556 7204
+-115.148 34.556 7116
+-115.022 34.556 7032
+-114.896 34.556 6828
+-114.77 34.556 6673
+-114.644 34.556 6589
+-114.518 34.556 6479
+-114.392 34.556 6356
+-114.266 34.556 6200
+-114.14 34.556 6024
+-114.014 34.556 5905
+-113.888 34.556 5785
+-113.762 34.556 5690
+-113.636 34.556 5494
+-113.51 34.556 5318
+-113.384 34.556 5245
+-113.258 34.556 5108
+-113.132 34.556 5164
+-113.006 34.556 5246
+-112.88 34.556 5248
+-112.754 34.556 5341
+-112.628 34.556 5495
+-112.502 34.556 5567
+-112.376 34.556 5647
+-112.25 34.556 5645
+-112.124 34.556 5784
+-111.998 34.556 5870
+-111.872 34.556 5900
+-111.746 34.556 5935
+-111.62 34.556 5976
+-111.494 34.556 6040
+-111.368 34.556 6085
+-111.242 34.556 6156
+-111.116 34.556 6206
+-110.99 34.556 6214
+-110.864 34.556 6252
+-110.738 34.556 6271
+-110.612 34.556 6276
+-110.486 34.556 6274
+-110.36 34.556 6301
+-110.234 34.556 6298
+-110.108 34.556 6289
+-109.982 34.556 6267
+-109.856 34.556 6231
+-109.73 34.556 6210
+-109.604 34.556 6175
+-109.478 34.556 6126
+-109.352 34.556 6090
+-109.226 34.556 6063
+-109.1 34.556 6035
+-108.974 34.556 5978
+-108.848 34.556 5911
+-108.722 34.556 5865
+-108.596 34.556 5788
+-108.47 34.556 5691
+-108.344 34.556 5630
+-108.218 34.556 5574
+-108.092 34.556 5478
+-107.966 34.556 5352
+-107.84 34.556 5255
+-107.714 34.556 5198
+-107.588 34.556 5140
+-107.462 34.556 5022
+-107.336 34.556 4903
+-107.21 34.556 4822
+-107.084 34.556 4747
+-106.958 34.556 4681
+-106.832 34.556 4556
+-106.706 34.556 4445
+-106.58 34.556 4335
+-106.454 34.556 4227
+-106.328 34.556 4072
+-106.202 34.556 3954
+-106.076 34.556 3964
+-105.95 34.556 3976
+-105.824 34.556 3990
+-105.698 34.556 4013
+-105.572 34.556 4041
+-105.446 34.556 4073
+-105.32 34.556 4080
+-105.194 34.556 4081
+-105.068 34.556 4096
+-104.942 34.556 4108
+-104.816 34.556 4140
+-104.69 34.556 4152
+-104.564 34.556 4110
+-104.438 34.556 4116
+-104.312 34.556 4011
+-104.186 34.556 4031
+-104.06 34.556 4042
+-103.934 34.556 3978
+-103.808 34.556 3911
+-103.682 34.556 3869
+-103.556 34.556 3813
+-103.43 34.556 3682
+-103.304 34.556 3720
+-103.178 34.556 3678
+-103.052 34.556 3676
+-102.926 34.556 3651
+-102.8 34.556 3645
+-102.674 34.556 3578
+-102.548 34.556 3576
+-102.422 34.556 3574
+-102.296 34.556 3573
+-102.17 34.556 3572
+-102.044 34.556 3571
+-101.918 34.556 3570
+-101.792 34.556 3620
+-101.666 34.556 3614
+-101.54 34.556 3505
+-101.414 34.556 3461
+-101.288 34.556 3492
+-101.162 34.556 3485
+-101.036 34.556 3403
+-100.91 34.556 3314
+-100.784 34.556 3300
+-100.658 34.556 3242
+-100.532 34.556 3224
+-100.406 34.556 3177
+-100.28 34.556 3134
+-100.154 34.556 3125
+-100.028 34.556 3077
+-99.902 34.556 3073
+-99.776 34.556 3088
+-99.65 34.556 3087
+-99.524 34.556 3197
+-99.398 34.556 3196
+-99.272 34.556 3195
+-99.146 34.556 3265
+-99.02 34.556 3263
+-98.894 34.556 3261
+-98.768 34.556 3268
+-98.642 34.556 3273
+-98.516 34.556 3273
+-98.39 34.556 3274
+-98.264 34.556 3275
+-98.138 34.556 3295
+-98.012 34.556 3274
+-97.886 34.556 3276
+-97.76 34.556 3279
+-97.634 34.556 3298
+-97.508 34.556 3302
+-97.382 34.556 3306
+-97.256 34.556 3310
+-97.13 34.556 3314
+-97.004 34.556 3319
+-96.878 34.556 3331
+-96.752 34.556 3436
+-96.626 34.556 3397
+-96.5 34.556 3405
+-96.374 34.556 3366
+-96.248 34.556 3379
+-96.122 34.556 3477
+-95.996 34.556 3509
+-95.87 34.556 3496
+-95.744 34.556 3518
+-95.618 34.556 3512
+-95.492 34.556 3506
+-95.366 34.556 3520
+-95.24 34.556 3517
+-95.114 34.556 3510
+-94.988 34.556 3521
+-94.862 34.556 3536
+-94.736 34.556 3505
+-94.61 34.556 3514
+-94.484 34.556 3485
+-94.358 34.556 3471
+-94.232 34.556 3478
+-94.106 34.556 3525
+-93.98 34.556 3602
+-93.854 34.556 3722
+-93.728 34.556 3859
+-93.602 34.556 3943
+-93.476 34.556 3969
+-93.35 34.556 3971
+-93.224 34.556 4040
+-93.098 34.556 4113
+-92.972 34.556 4171
+-92.846 34.556 4206
+-92.72 34.556 4262
+-92.594 34.556 4273
+-92.468 34.556 4406
+-92.342 34.556 4514
+-92.216 34.556 4463
+-92.09 34.556 4657
+-91.964 34.556 4820
+-91.838 34.556 4909
+-91.712 34.556 5004
+-91.586 34.556 5053
+-91.46 34.556 5203
+-91.334 34.556 5324
+-91.208 34.556 5375
+-91.082 34.556 5550
+-90.956 34.556 5610
+-90.83 34.556 5700
+-90.704 34.556 5696
+-90.578 34.556 5787
+-90.452 34.556 5853
+-90.326 34.556 5937
+-90.2 34.556 5986
+-90.074 34.556 6035
+-89.948 34.556 6097
+-89.822 34.556 6144
+-89.696 34.556 6148
+-89.57 34.556 6216
+-89.444 34.556 6256
+-89.318 34.556 6264
+-89.192 34.556 6278
+-89.066 34.556 6302
+-88.94 34.556 6308
+-88.814 34.556 6290
+-88.688 34.556 6307
+-88.562 34.556 6280
+-88.436 34.556 6292
+-88.31 34.556 6220
+-88.184 34.556 6181
+-88.058 34.556 6157
+-87.932 34.556 6140
+-87.806 34.556 6115
+-87.68 34.556 6052
+-87.554 34.556 6004
+-87.428 34.556 5948
+-87.302 34.556 5881
+-87.176 34.556 5809
+-87.05 34.556 5771
+-86.924 34.556 5722
+-86.798 34.556 5670
+-86.672 34.556 5636
+-86.546 34.556 5561
+-86.42 34.556 5465
+-86.294 34.556 5369
+-86.168 34.556 5300
+-86.042 34.556 5254
+-85.916 34.556 5110
+-85.79 34.556 4909
+-85.664 34.556 4788
+-85.538 34.556 4698
+-85.412 34.556 4559
+-85.286 34.556 4510
+-85.16 34.556 4431
+-85.034 34.556 4318
+-84.908 34.556 4260
+-84.782 34.556 4185
+-84.656 34.556 4001
+-84.53 34.556 3851
+-84.404 34.556 3894
+-84.278 34.556 3864
+-84.152 34.556 3836
+-84.026 34.556 3857
+-83.9 34.556 3845
+-83.774 34.556 3828
+-83.648 34.556 3833
+-83.522 34.556 3803
+-83.396 34.556 3762
+-83.27 34.556 3737
+-83.144 34.556 3693
+-83.018 34.556 3587
+-82.892 34.556 3545
+-82.766 34.556 3516
+-82.64 34.556 3431
+-82.514 34.556 3394
+-82.388 34.556 3369
+-82.262 34.556 3333
+-82.136 34.556 3301
+-82.01 34.556 3160
+-81.884 34.556 3143
+-81.758 34.556 3087
+-81.632 34.556 3029
+-81.506 34.556 2999
+-81.38 34.556 2978
+-81.254 34.556 2915
+-81.128 34.556 2886
+-81.002 34.556 2833
+-80.876 34.556 2788
+-80.75 34.556 2694
+-80.624 34.556 2648
+-80.498 34.556 2565
+-80.372 34.556 2492
+-80.246 34.556 2423
+-80.12 34.556 2322
+-79.994 34.556 2230
+-79.868 34.556 2094
+-79.742 34.556 1950
+-79.616 34.556 1806
+-79.49 34.556 1694
+-79.364 34.556 1608
+-79.238 34.556 1579
+-79.112 34.556 1603
+-78.986 34.556 1676
+-78.86 34.556 1781
+-78.734 34.556 1896
+-78.608 34.556 2024
+-78.482 34.556 2135
+-78.356 34.556 2232
+-78.23 34.556 2345
+-78.104 34.556 2421
+-77.978 34.556 2487
+-77.852 34.556 2543
+-77.726 34.556 2592
+-77.6 34.556 2635
+-77.474 34.556 2648
+-77.348 34.556 2689
+-77.222 34.556 2718
+-77.096 34.556 2743
+-76.97 34.556 2920
+-76.844 34.556 2958
+-76.718 34.556 2981
+-76.592 34.556 3002
+-76.466 34.556 3022
+-76.34 34.556 3043
+-76.214 34.556 3066
+-76.088 34.556 3082
+-75.962 34.556 3093
+-75.836 34.556 3107
+-75.71 34.556 3087
+-75.584 34.556 3099
+-75.458 34.556 3111
+-75.332 34.556 3164
+-75.206 34.556 3172
+-75.08 34.556 3188
+-74.954 34.556 3198
+-74.828 34.556 3193
+-74.702 34.556 3216
+-74.576 34.556 3259
+-74.45 34.556 3274
+-74.324 34.556 3281
+-74.198 34.556 3288
+-74.072 34.556 3332
+-73.946 34.556 3340
+-73.82 34.556 3298
+-73.694 34.556 3319
+-73.568 34.556 3322
+-73.442 34.556 3256
+-73.316 34.556 3188
+-73.19 34.556 3209
+-73.064 34.556 3214
+-72.938 34.556 3243
+-72.812 34.556 3225
+-72.686 34.556 3236
+-72.56 34.556 3241
+-72.434 34.556 3228
+-72.308 34.556 3233
+-72.182 34.556 3237
+-72.056 34.556 3219
+-71.93 34.556 3206
+-71.804 34.556 3236
+-71.678 34.556 3233
+-71.552 34.556 3237
+-71.426 34.556 3241
+-71.3 34.556 3170
+-71.174 34.556 3207
+-71.048 34.556 3205
+-70.922 34.556 3208
+-70.796 34.556 3211
+-70.67 34.556 3428
+-70.544 34.556 3357
+-70.418 34.556 3369
+-70.292 34.556 3371
+-70.166 34.556 3272
+-70.04 34.556 3261
+-69.914 34.556 3263
+-69.788 34.556 3264
+-69.662 34.556 3244
+-69.536 34.556 3245
+-69.41 34.556 3246
+-69.284 34.556 3248
+-69.158 34.556 3249
+-69.032 34.556 3270
+-68.906 34.556 3272
+-68.78 34.556 3257
+-68.654 34.556 3259
+-68.528 34.556 3260
+-68.402 34.556 3202
+-68.276 34.556 3384
+-68.15 34.556 3345
+-68.024 34.556 3346
+-67.898 34.556 3315
+-67.772 34.556 3316
+-67.646 34.556 3317
+-67.52 34.556 3446
+-67.394 34.556 3447
+-67.268 34.556 3448
+-67.142 34.556 3448
+-67.016 34.556 3449
+-66.89 34.556 3563
+-66.764 34.556 3564
+-66.638 34.556 3478
+-66.512 34.556 3479
+-66.386 34.556 3480
+-66.26 34.556 3481
+-66.134 34.556 3490
+-66.008 34.556 3448
+-65.882 34.556 3441
+-65.756 34.556 3389
+-65.63 34.556 3390
+-65.504 34.556 3352
+-65.378 34.556 3398
+-65.252 34.556 3399
+-65.126 34.556 3400
+-128 34.504 2809
+-127.874 34.504 2809
+-127.748 34.504 2808
+-127.622 34.504 2808
+-127.496 34.504 2807
+-127.37 34.504 2807
+-127.244 34.504 2807
+-127.118 34.504 2807
+-126.992 34.504 2807
+-126.866 34.504 2829
+-126.74 34.504 2910
+-126.614 34.504 2910
+-126.488 34.504 2911
+-126.362 34.504 2912
+-126.236 34.504 2914
+-126.11 34.504 2915
+-125.984 34.504 2917
+-125.858 34.504 3018
+-125.732 34.504 3173
+-125.606 34.504 3172
+-125.48 34.504 3260
+-125.354 34.504 3256
+-125.228 34.504 3254
+-125.102 34.504 3318
+-124.976 34.504 3375
+-124.85 34.504 3377
+-124.724 34.504 3382
+-124.598 34.504 3495
+-124.472 34.504 3509
+-124.346 34.504 3528
+-124.22 34.504 3552
+-124.094 34.504 3636
+-123.968 34.504 3669
+-123.842 34.504 3704
+-123.716 34.504 3741
+-123.59 34.504 3842
+-123.464 34.504 3880
+-123.338 34.504 3936
+-123.212 34.504 4040
+-123.086 34.504 4101
+-122.96 34.504 4150
+-122.834 34.504 4261
+-122.708 34.504 4306
+-122.582 34.504 4351
+-122.456 34.504 4436
+-122.33 34.504 4500
+-122.204 34.504 4548
+-122.078 34.504 4602
+-121.952 34.504 4658
+-121.826 34.504 4697
+-121.7 34.504 4793
+-121.574 34.504 4915
+-121.448 34.504 5046
+-121.322 34.504 5209
+-121.196 34.504 5406
+-121.07 34.504 5486
+-120.944 34.504 5582
+-120.818 34.504 5776
+-120.692 34.504 5891
+-120.566 34.504 6042
+-120.44 34.504 6119
+-120.314 34.504 6316
+-120.188 34.504 6397
+-120.062 34.504 6513
+-119.936 34.504 6704
+-119.81 34.504 6824
+-119.684 34.504 6904
+-119.558 34.504 7087
+-119.432 34.504 7268
+-119.306 34.504 7345
+-119.18 34.504 7493
+-119.054 34.504 7659
+-118.928 34.504 7755
+-118.802 34.504 7848
+-118.676 34.504 8079
+-118.55 34.504 8109
+-118.424 34.504 8268
+-118.298 34.504 8409
+-118.172 34.504 8590
+-118.046 34.504 8684
+-117.92 34.504 8764
+-117.794 34.504 8921
+-117.668 34.504 8980
+-117.542 34.504 9085
+-117.416 34.504 9143
+-117.29 34.504 9158
+-117.164 34.504 9083
+-117.038 34.504 9089
+-116.912 34.504 8951
+-116.786 34.504 8831
+-116.66 34.504 8684
+-116.534 34.504 8614
+-116.408 34.504 8506
+-116.282 34.504 8331
+-116.156 34.504 8232
+-116.03 34.504 8054
+-115.904 34.504 7943
+-115.778 34.504 7790
+-115.652 34.504 7703
+-115.526 34.504 7541
+-115.4 34.504 7355
+-115.274 34.504 7274
+-115.148 34.504 7124
+-115.022 34.504 7004
+-114.896 34.504 6843
+-114.77 34.504 6705
+-114.644 34.504 6585
+-114.518 34.504 6512
+-114.392 34.504 6351
+-114.266 34.504 6157
+-114.14 34.504 6056
+-114.014 34.504 5900
+-113.888 34.504 5795
+-113.762 34.504 5655
+-113.636 34.504 5503
+-113.51 34.504 5359
+-113.384 34.504 5262
+-113.258 34.504 5200
+-113.132 34.504 5224
+-113.006 34.504 5295
+-112.88 34.504 5366
+-112.754 34.504 5415
+-112.628 34.504 5554
+-112.502 34.504 5640
+-112.376 34.504 5661
+-112.25 34.504 5745
+-112.124 34.504 5814
+-111.998 34.504 5891
+-111.872 34.504 5973
+-111.746 34.504 5991
+-111.62 34.504 6039
+-111.494 34.504 6111
+-111.368 34.504 6165
+-111.242 34.504 6224
+-111.116 34.504 6260
+-110.99 34.504 6303
+-110.864 34.504 6279
+-110.738 34.504 6324
+-110.612 34.504 6314
+-110.486 34.504 6338
+-110.36 34.504 6347
+-110.234 34.504 6339
+-110.108 34.504 6337
+-109.982 34.504 6288
+-109.856 34.504 6281
+-109.73 34.504 6268
+-109.604 34.504 6220
+-109.478 34.504 6189
+-109.352 34.504 6124
+-109.226 34.504 6092
+-109.1 34.504 6064
+-108.974 34.504 5998
+-108.848 34.504 5921
+-108.722 34.504 5900
+-108.596 34.504 5823
+-108.47 34.504 5737
+-108.344 34.504 5657
+-108.218 34.504 5627
+-108.092 34.504 5529
+-107.966 34.504 5404
+-107.84 34.504 5325
+-107.714 34.504 5254
+-107.588 34.504 5191
+-107.462 34.504 5080
+-107.336 34.504 4900
+-107.21 34.504 4790
+-107.084 34.504 4809
+-106.958 34.504 4737
+-106.832 34.504 4616
+-106.706 34.504 4512
+-106.58 34.504 4417
+-106.454 34.504 4310
+-106.328 34.504 4194
+-106.202 34.504 4122
+-106.076 34.504 4100
+-105.95 34.504 4083
+-105.824 34.504 4063
+-105.698 34.504 4074
+-105.572 34.504 4095
+-105.446 34.504 4101
+-105.32 34.504 4103
+-105.194 34.504 4116
+-105.068 34.504 4128
+-104.942 34.504 4147
+-104.816 34.504 4158
+-104.69 34.504 4163
+-104.564 34.504 4164
+-104.438 34.504 4071
+-104.312 34.504 4039
+-104.186 34.504 4050
+-104.06 34.504 4050
+-103.934 34.504 3949
+-103.808 34.504 3944
+-103.682 34.504 3877
+-103.556 34.504 3873
+-103.43 34.504 3728
+-103.304 34.504 3724
+-103.178 34.504 3730
+-103.052 34.504 3705
+-102.926 34.504 3652
+-102.8 34.504 3635
+-102.674 34.504 3633
+-102.548 34.504 3632
+-102.422 34.504 3631
+-102.296 34.504 3630
+-102.17 34.504 3629
+-102.044 34.504 3591
+-101.918 34.504 3622
+-101.792 34.504 3616
+-101.666 34.504 3617
+-101.54 34.504 3473
+-101.414 34.504 3505
+-101.288 34.504 3498
+-101.162 34.504 3492
+-101.036 34.504 3411
+-100.91 34.504 3400
+-100.784 34.504 3311
+-100.658 34.504 3252
+-100.532 34.504 3236
+-100.406 34.504 3188
+-100.28 34.504 3158
+-100.154 34.504 3085
+-100.028 34.504 3082
+-99.902 34.504 3078
+-99.776 34.504 3067
+-99.65 34.504 3090
+-99.524 34.504 3155
+-99.398 34.504 3200
+-99.272 34.504 3270
+-99.146 34.504 3268
+-99.02 34.504 3266
+-98.894 34.504 3273
+-98.768 34.504 3277
+-98.642 34.504 3277
+-98.516 34.504 3277
+-98.39 34.504 3278
+-98.264 34.504 3298
+-98.138 34.504 3276
+-98.012 34.504 3277
+-97.886 34.504 3279
+-97.76 34.504 3298
+-97.634 34.504 3300
+-97.508 34.504 3303
+-97.382 34.504 3306
+-97.256 34.504 3310
+-97.13 34.504 3313
+-97.004 34.504 3270
+-96.878 34.504 3374
+-96.752 34.504 3338
+-96.626 34.504 3341
+-96.5 34.504 3349
+-96.374 34.504 3363
+-96.248 34.504 3408
+-96.122 34.504 3442
+-95.996 34.504 3478
+-95.87 34.504 3498
+-95.744 34.504 3489
+-95.618 34.504 3480
+-95.492 34.504 3492
+-95.366 34.504 3487
+-95.24 34.504 3478
+-95.114 34.504 3492
+-94.988 34.504 3475
+-94.862 34.504 3479
+-94.736 34.504 3481
+-94.61 34.504 3472
+-94.484 34.504 3455
+-94.358 34.504 3445
+-94.232 34.504 3392
+-94.106 34.504 3363
+-93.98 34.504 3453
+-93.854 34.504 3641
+-93.728 34.504 3782
+-93.602 34.504 3900
+-93.476 34.504 3949
+-93.35 34.504 3987
+-93.224 34.504 4027
+-93.098 34.504 4040
+-92.972 34.504 4127
+-92.846 34.504 4149
+-92.72 34.504 4228
+-92.594 34.504 4283
+-92.468 34.504 4387
+-92.342 34.504 4469
+-92.216 34.504 4475
+-92.09 34.504 4598
+-91.964 34.504 4777
+-91.838 34.504 4912
+-91.712 34.504 4977
+-91.586 34.504 5044
+-91.46 34.504 5153
+-91.334 34.504 5258
+-91.208 34.504 5330
+-91.082 34.504 5476
+-90.956 34.504 5517
+-90.83 34.504 5583
+-90.704 34.504 5637
+-90.578 34.504 5700
+-90.452 34.504 5800
+-90.326 34.504 5877
+-90.2 34.504 5888
+-90.074 34.504 5941
+-89.948 34.504 5998
+-89.822 34.504 6072
+-89.696 34.504 6113
+-89.57 34.504 6148
+-89.444 34.504 6199
+-89.318 34.504 6224
+-89.192 34.504 6233
+-89.066 34.504 6246
+-88.94 34.504 6239
+-88.814 34.504 6217
+-88.688 34.504 6228
+-88.562 34.504 6240
+-88.436 34.504 6219
+-88.31 34.504 6207
+-88.184 34.504 6166
+-88.058 34.504 6122
+-87.932 34.504 6090
+-87.806 34.504 6047
+-87.68 34.504 6009
+-87.554 34.504 5957
+-87.428 34.504 5923
+-87.302 34.504 5843
+-87.176 34.504 5788
+-87.05 34.504 5680
+-86.924 34.504 5593
+-86.798 34.504 5548
+-86.672 34.504 5592
+-86.546 34.504 5495
+-86.42 34.504 5375
+-86.294 34.504 5309
+-86.168 34.504 5280
+-86.042 34.504 5193
+-85.916 34.504 5008
+-85.79 34.504 4831
+-85.664 34.504 4727
+-85.538 34.504 4629
+-85.412 34.504 4523
+-85.286 34.504 4458
+-85.16 34.504 4355
+-85.034 34.504 4268
+-84.908 34.504 4235
+-84.782 34.504 4166
+-84.656 34.504 4033
+-84.53 34.504 3916
+-84.404 34.504 3813
+-84.278 34.504 3670
+-84.152 34.504 3707
+-84.026 34.504 3767
+-83.9 34.504 3787
+-83.774 34.504 3799
+-83.648 34.504 3760
+-83.522 34.504 3741
+-83.396 34.504 3715
+-83.27 34.504 3683
+-83.144 34.504 3649
+-83.018 34.504 3611
+-82.892 34.504 3504
+-82.766 34.504 3435
+-82.64 34.504 3417
+-82.514 34.504 3326
+-82.388 34.504 3289
+-82.262 34.504 3268
+-82.136 34.504 3211
+-82.01 34.504 3208
+-81.884 34.504 3117
+-81.758 34.504 3074
+-81.632 34.504 3034
+-81.506 34.504 2993
+-81.38 34.504 2992
+-81.254 34.504 2932
+-81.128 34.504 2904
+-81.002 34.504 2861
+-80.876 34.504 2833
+-80.75 34.504 2785
+-80.624 34.504 2706
+-80.498 34.504 2625
+-80.372 34.504 2555
+-80.246 34.504 2508
+-80.12 34.504 2410
+-79.994 34.504 2299
+-79.868 34.504 2176
+-79.742 34.504 2062
+-79.616 34.504 1934
+-79.49 34.504 1831
+-79.364 34.504 1753
+-79.238 34.504 1720
+-79.112 34.504 1741
+-78.986 34.504 1803
+-78.86 34.504 1889
+-78.734 34.504 2000
+-78.608 34.504 2104
+-78.482 34.504 2206
+-78.356 34.504 2311
+-78.23 34.504 2390
+-78.104 34.504 2458
+-77.978 34.504 2518
+-77.852 34.504 2569
+-77.726 34.504 2614
+-77.6 34.504 2631
+-77.474 34.504 2674
+-77.348 34.504 2704
+-77.222 34.504 2731
+-77.096 34.504 2902
+-76.97 34.504 2940
+-76.844 34.504 2965
+-76.718 34.504 2987
+-76.592 34.504 3008
+-76.466 34.504 3029
+-76.34 34.504 3054
+-76.214 34.504 3071
+-76.088 34.504 3082
+-75.962 34.504 3097
+-75.836 34.504 3078
+-75.71 34.504 3091
+-75.584 34.504 3103
+-75.458 34.504 3156
+-75.332 34.504 3164
+-75.206 34.504 3181
+-75.08 34.504 3191
+-74.954 34.504 3187
+-74.828 34.504 3210
+-74.702 34.504 3253
+-74.576 34.504 3268
+-74.45 34.504 3276
+-74.324 34.504 3283
+-74.198 34.504 3326
+-74.072 34.504 3335
+-73.946 34.504 3294
+-73.82 34.504 3315
+-73.694 34.504 3318
+-73.568 34.504 3256
+-73.442 34.504 3186
+-73.316 34.504 3206
+-73.19 34.504 3211
+-73.064 34.504 3240
+-72.938 34.504 3223
+-72.812 34.504 3234
+-72.686 34.504 3239
+-72.56 34.504 3227
+-72.434 34.504 3231
+-72.308 34.504 3236
+-72.182 34.504 3218
+-72.056 34.504 3205
+-71.93 34.504 3235
+-71.804 34.504 3232
+-71.678 34.504 3236
+-71.552 34.504 3240
+-71.426 34.504 3169
+-71.3 34.504 3206
+-71.174 34.504 3204
+-71.048 34.504 3207
+-70.922 34.504 3210
+-70.796 34.504 3427
+-70.67 34.504 3359
+-70.544 34.504 3367
+-70.418 34.504 3370
+-70.292 34.504 3271
+-70.166 34.504 3260
+-70.04 34.504 3261
+-69.914 34.504 3263
+-69.788 34.504 3243
+-69.662 34.504 3244
+-69.536 34.504 3246
+-69.41 34.504 3247
+-69.284 34.504 3248
+-69.158 34.504 3269
+-69.032 34.504 3271
+-68.906 34.504 3256
+-68.78 34.504 3258
+-68.654 34.504 3259
+-68.528 34.504 3201
+-68.402 34.504 3382
+-68.276 34.504 3344
+-68.15 34.504 3345
+-68.024 34.504 3314
+-67.898 34.504 3315
+-67.772 34.504 3316
+-67.646 34.504 3445
+-67.52 34.504 3446
+-67.394 34.504 3446
+-67.268 34.504 3447
+-67.142 34.504 3448
+-67.016 34.504 3561
+-66.89 34.504 3562
+-66.764 34.504 3477
+-66.638 34.504 3478
+-66.512 34.504 3479
+-66.386 34.504 3480
+-66.26 34.504 3489
+-66.134 34.504 3447
+-66.008 34.504 3440
+-65.882 34.504 3388
+-65.756 34.504 3389
+-65.63 34.504 3351
+-65.504 34.504 3397
+-65.378 34.504 3398
+-65.252 34.504 3399
+-65.126 34.504 3400
+-128 34.452 2810
+-127.874 34.452 2809
+-127.748 34.452 2809
+-127.622 34.452 2808
+-127.496 34.452 2808
+-127.37 34.452 2808
+-127.244 34.452 2808
+-127.118 34.452 2808
+-126.992 34.452 2809
+-126.866 34.452 2810
+-126.74 34.452 2833
+-126.614 34.452 2912
+-126.488 34.452 2913
+-126.362 34.452 2915
+-126.236 34.452 2917
+-126.11 34.452 2919
+-125.984 34.452 3022
+-125.858 34.452 3113
+-125.732 34.452 3118
+-125.606 34.452 3186
+-125.48 34.452 3188
+-125.354 34.452 3282
+-125.228 34.452 3347
+-125.102 34.452 3413
+-124.976 34.452 3415
+-124.85 34.452 3419
+-124.724 34.452 3426
+-124.598 34.452 3501
+-124.472 34.452 3517
+-124.346 34.452 3575
+-124.22 34.452 3598
+-124.094 34.452 3626
+-123.968 34.452 3714
+-123.842 34.452 3745
+-123.716 34.452 3789
+-123.59 34.452 3819
+-123.464 34.452 3914
+-123.338 34.452 4012
+-123.212 34.452 4071
+-123.086 34.452 4128
+-122.96 34.452 4255
+-122.834 34.452 4275
+-122.708 34.452 4326
+-122.582 34.452 4405
+-122.456 34.452 4454
+-122.33 34.452 4530
+-122.204 34.452 4576
+-122.078 34.452 4628
+-121.952 34.452 4674
+-121.826 34.452 4754
+-121.7 34.452 4764
+-121.574 34.452 4929
+-121.448 34.452 4984
+-121.322 34.452 5166
+-121.196 34.452 5414
+-121.07 34.452 5571
+-120.944 34.452 5592
+-120.818 34.452 5692
+-120.692 34.452 5896
+-120.566 34.452 5950
+-120.44 34.452 6096
+-120.314 34.452 6234
+-120.188 34.452 6422
+-120.062 34.452 6587
+-119.936 34.452 6730
+-119.81 34.452 6852
+-119.684 34.452 6974
+-119.558 34.452 7106
+-119.432 34.452 7264
+-119.306 34.452 7387
+-119.18 34.452 7513
+-119.054 34.452 7604
+-118.928 34.452 7802
+-118.802 34.452 7912
+-118.676 34.452 8083
+-118.55 34.452 8127
+-118.424 34.452 8308
+-118.298 34.452 8454
+-118.172 34.452 8577
+-118.046 34.452 8659
+-117.92 34.452 8815
+-117.794 34.452 8888
+-117.668 34.452 9039
+-117.542 34.452 9137
+-117.416 34.452 9218
+-117.29 34.452 9211
+-117.164 34.452 9191
+-117.038 34.452 9106
+-116.912 34.452 8953
+-116.786 34.452 8859
+-116.66 34.452 8705
+-116.534 34.452 8642
+-116.408 34.452 8544
+-116.282 34.452 8350
+-116.156 34.452 8177
+-116.03 34.452 8100
+-115.904 34.452 7968
+-115.778 34.452 7851
+-115.652 34.452 7652
+-115.526 34.452 7535
+-115.4 34.452 7404
+-115.274 34.452 7222
+-115.148 34.452 7140
+-115.022 34.452 7025
+-114.896 34.452 6859
+-114.77 34.452 6700
+-114.644 34.452 6587
+-114.518 34.452 6413
+-114.392 34.452 6398
+-114.266 34.452 6228
+-114.14 34.452 6065
+-114.014 34.452 5910
+-113.888 34.452 5772
+-113.762 34.452 5629
+-113.636 34.452 5543
+-113.51 34.452 5393
+-113.384 34.452 5221
+-113.258 34.452 5142
+-113.132 34.452 5267
+-113.006 34.452 5312
+-112.88 34.452 5412
+-112.754 34.452 5485
+-112.628 34.452 5550
+-112.502 34.452 5647
+-112.376 34.452 5744
+-112.25 34.452 5823
+-112.124 34.452 5860
+-111.998 34.452 5919
+-111.872 34.452 5984
+-111.746 34.452 6044
+-111.62 34.452 6100
+-111.494 34.452 6140
+-111.368 34.452 6216
+-111.242 34.452 6256
+-111.116 34.452 6295
+-110.99 34.452 6330
+-110.864 34.452 6362
+-110.738 34.452 6398
+-110.612 34.452 6388
+-110.486 34.452 6408
+-110.36 34.452 6396
+-110.234 34.452 6392
+-110.108 34.452 6373
+-109.982 34.452 6370
+-109.856 34.452 6334
+-109.73 34.452 6294
+-109.604 34.452 6287
+-109.478 34.452 6230
+-109.352 34.452 6175
+-109.226 34.452 6136
+-109.1 34.452 6099
+-108.974 34.452 6015
+-108.848 34.452 5939
+-108.722 34.452 5902
+-108.596 34.452 5853
+-108.47 34.452 5738
+-108.344 34.452 5681
+-108.218 34.452 5642
+-108.092 34.452 5549
+-107.966 34.452 5425
+-107.84 34.452 5345
+-107.714 34.452 5217
+-107.588 34.452 5218
+-107.462 34.452 5129
+-107.336 34.452 5000
+-107.21 34.452 4895
+-107.084 34.452 4847
+-106.958 34.452 4765
+-106.832 34.452 4649
+-106.706 34.452 4555
+-106.58 34.452 4436
+-106.454 34.452 4342
+-106.328 34.452 4273
+-106.202 34.452 4230
+-106.076 34.452 4195
+-105.95 34.452 4181
+-105.824 34.452 4165
+-105.698 34.452 4132
+-105.572 34.452 4142
+-105.446 34.452 4124
+-105.32 34.452 4141
+-105.194 34.452 4150
+-105.068 34.452 4158
+-104.942 34.452 4168
+-104.816 34.452 4172
+-104.69 34.452 4172
+-104.564 34.452 4097
+-104.438 34.452 4096
+-104.312 34.452 4096
+-104.186 34.452 3999
+-104.06 34.452 4010
+-103.934 34.452 3949
+-103.808 34.452 3938
+-103.682 34.452 3933
+-103.556 34.452 3929
+-103.43 34.452 3732
+-103.304 34.452 3736
+-103.178 34.452 3711
+-103.052 34.452 3646
+-102.926 34.452 3639
+-102.8 34.452 3637
+-102.674 34.452 3636
+-102.548 34.452 3634
+-102.422 34.452 3633
+-102.296 34.452 3632
+-102.17 34.452 3594
+-102.044 34.452 3624
+-101.918 34.452 3618
+-101.792 34.452 3619
+-101.666 34.452 3582
+-101.54 34.452 3478
+-101.414 34.452 3510
+-101.288 34.452 3504
+-101.162 34.452 3498
+-101.036 34.452 3419
+-100.91 34.452 3409
+-100.784 34.452 3398
+-100.658 34.452 3263
+-100.532 34.452 3248
+-100.406 34.452 3198
+-100.28 34.452 3167
+-100.154 34.452 3092
+-100.028 34.452 3076
+-99.902 34.452 3083
+-99.776 34.452 3070
+-99.65 34.452 3093
+-99.524 34.452 3158
+-99.398 34.452 3275
+-99.272 34.452 3273
+-99.146 34.452 3271
+-99.02 34.452 3278
+-98.894 34.452 3281
+-98.768 34.452 3281
+-98.642 34.452 3281
+-98.516 34.452 3281
+-98.39 34.452 3301
+-98.264 34.452 3278
+-98.138 34.452 3279
+-98.012 34.452 3280
+-97.886 34.452 3298
+-97.76 34.452 3300
+-97.634 34.452 3302
+-97.508 34.452 3304
+-97.382 34.452 3306
+-97.256 34.452 3308
+-97.13 34.452 3262
+-97.004 34.452 3364
+-96.878 34.452 3326
+-96.752 34.452 3328
+-96.626 34.452 3335
+-96.5 34.452 3306
+-96.374 34.452 3393
+-96.248 34.452 3426
+-96.122 34.452 3463
+-95.996 34.452 3480
+-95.87 34.452 3469
+-95.744 34.452 3458
+-95.618 34.452 3466
+-95.492 34.452 3458
+-95.366 34.452 3444
+-95.24 34.452 3456
+-95.114 34.452 3420
+-94.988 34.452 3442
+-94.862 34.452 3428
+-94.736 34.452 3431
+-94.61 34.452 3431
+-94.484 34.452 3437
+-94.358 34.452 3404
+-94.232 34.452 3329
+-94.106 34.452 3265
+-93.98 34.452 3365
+-93.854 34.452 3567
+-93.728 34.452 3750
+-93.602 34.452 3844
+-93.476 34.452 3921
+-93.35 34.452 3980
+-93.224 34.452 4004
+-93.098 34.452 3974
+-92.972 34.452 4071
+-92.846 34.452 4151
+-92.72 34.452 4207
+-92.594 34.452 4213
+-92.468 34.452 4348
+-92.342 34.452 4434
+-92.216 34.452 4355
+-92.09 34.452 4564
+-91.964 34.452 4764
+-91.838 34.452 4895
+-91.712 34.452 4943
+-91.586 34.452 5019
+-91.46 34.452 5134
+-91.334 34.452 5216
+-91.208 34.452 5305
+-91.082 34.452 5397
+-90.956 34.452 5481
+-90.83 34.452 5556
+-90.704 34.452 5601
+-90.578 34.452 5656
+-90.452 34.452 5765
+-90.326 34.452 5856
+-90.2 34.452 5901
+-90.074 34.452 5921
+-89.948 34.452 5935
+-89.822 34.452 5972
+-89.696 34.452 6007
+-89.57 34.452 6058
+-89.444 34.452 6115
+-89.318 34.452 6144
+-89.192 34.452 6173
+-89.066 34.452 6178
+-88.94 34.452 6168
+-88.814 34.452 6172
+-88.688 34.452 6146
+-88.562 34.452 6170
+-88.436 34.452 6157
+-88.31 34.452 6140
+-88.184 34.452 6105
+-88.058 34.452 6090
+-87.932 34.452 6042
+-87.806 34.452 6006
+-87.68 34.452 5949
+-87.554 34.452 5897
+-87.428 34.452 5883
+-87.302 34.452 5787
+-87.176 34.452 5754
+-87.05 34.452 5709
+-86.924 34.452 5661
+-86.798 34.452 5616
+-86.672 34.452 5555
+-86.546 34.452 5431
+-86.42 34.452 5331
+-86.294 34.452 5204
+-86.168 34.452 5226
+-86.042 34.452 5090
+-85.916 34.452 4914
+-85.79 34.452 4779
+-85.664 34.452 4702
+-85.538 34.452 4588
+-85.412 34.452 4455
+-85.286 34.452 4361
+-85.16 34.452 4278
+-85.034 34.452 4249
+-84.908 34.452 4220
+-84.782 34.452 4168
+-84.656 34.452 4071
+-84.53 34.452 3929
+-84.404 34.452 3690
+-84.278 34.452 3487
+-84.152 34.452 3608
+-84.026 34.452 3724
+-83.9 34.452 3773
+-83.774 34.452 3739
+-83.648 34.452 3728
+-83.522 34.452 3705
+-83.396 34.452 3673
+-83.27 34.452 3635
+-83.144 34.452 3592
+-83.018 34.452 3525
+-82.892 34.452 3464
+-82.766 34.452 3397
+-82.64 34.452 3332
+-82.514 34.452 3289
+-82.388 34.452 3255
+-82.262 34.452 3224
+-82.136 34.452 3163
+-82.01 34.452 3156
+-81.884 34.452 3065
+-81.758 34.452 3076
+-81.632 34.452 3062
+-81.506 34.452 3005
+-81.38 34.452 2991
+-81.254 34.452 2949
+-81.128 34.452 2916
+-81.002 34.452 2886
+-80.876 34.452 2873
+-80.75 34.452 2843
+-80.624 34.452 2815
+-80.498 34.452 2753
+-80.372 34.452 2686
+-80.246 34.452 2605
+-80.12 34.452 2514
+-79.994 34.452 2412
+-79.868 34.452 2293
+-79.742 34.452 2179
+-79.616 34.452 2083
+-79.49 34.452 1987
+-79.364 34.452 1919
+-79.238 34.452 1895
+-79.112 34.452 1909
+-78.986 34.452 1952
+-78.86 34.452 2032
+-78.734 34.452 2113
+-78.608 34.452 2202
+-78.482 34.452 2299
+-78.356 34.452 2375
+-78.23 34.452 2441
+-78.104 34.452 2500
+-77.978 34.452 2552
+-77.852 34.452 2597
+-77.726 34.452 2665
+-77.6 34.452 2661
+-77.474 34.452 2692
+-77.348 34.452 2775
+-77.222 34.452 2885
+-77.096 34.452 2923
+-76.97 34.452 2949
+-76.844 34.452 2972
+-76.718 34.452 2994
+-76.592 34.452 3016
+-76.466 34.452 3041
+-76.34 34.452 3059
+-76.214 34.452 3071
+-76.088 34.452 3087
+-75.962 34.452 3069
+-75.836 34.452 3083
+-75.71 34.452 3095
+-75.584 34.452 3148
+-75.458 34.452 3157
+-75.332 34.452 3173
+-75.206 34.452 3185
+-75.08 34.452 3181
+-74.954 34.452 3205
+-74.828 34.452 3247
+-74.702 34.452 3262
+-74.576 34.452 3271
+-74.45 34.452 3278
+-74.324 34.452 3321
+-74.198 34.452 3330
+-74.072 34.452 3290
+-73.946 34.452 3311
+-73.82 34.452 3314
+-73.694 34.452 3250
+-73.568 34.452 3183
+-73.442 34.452 3204
+-73.316 34.452 3209
+-73.19 34.452 3238
+-73.064 34.452 3221
+-72.938 34.452 3232
+-72.812 34.452 3237
+-72.686 34.452 3225
+-72.56 34.452 3230
+-72.434 34.452 3234
+-72.308 34.452 3217
+-72.182 34.452 3204
+-72.056 34.452 3233
+-71.93 34.452 3231
+-71.804 34.452 3235
+-71.678 34.452 3239
+-71.552 34.452 3168
+-71.426 34.452 3205
+-71.3 34.452 3203
+-71.174 34.452 3207
+-71.048 34.452 3210
+-70.922 34.452 3425
+-70.796 34.452 3354
+-70.67 34.452 3366
+-70.544 34.452 3368
+-70.418 34.452 3270
+-70.292 34.452 3259
+-70.166 34.452 3260
+-70.04 34.452 3262
+-69.914 34.452 3242
+-69.788 34.452 3243
+-69.662 34.452 3245
+-69.536 34.452 3246
+-69.41 34.452 3247
+-69.284 34.452 3268
+-69.158 34.452 3270
+-69.032 34.452 3255
+-68.906 34.452 3257
+-68.78 34.452 3258
+-68.654 34.452 3201
+-68.528 34.452 3381
+-68.402 34.452 3343
+-68.276 34.452 3344
+-68.15 34.452 3313
+-68.024 34.452 3314
+-67.898 34.452 3315
+-67.772 34.452 3444
+-67.646 34.452 3444
+-67.52 34.452 3445
+-67.394 34.452 3446
+-67.268 34.452 3447
+-67.142 34.452 3560
+-67.016 34.452 3561
+-66.89 34.452 3476
+-66.764 34.452 3477
+-66.638 34.452 3478
+-66.512 34.452 3479
+-66.386 34.452 3487
+-66.26 34.452 3446
+-66.134 34.452 3439
+-66.008 34.452 3387
+-65.882 34.452 3388
+-65.756 34.452 3350
+-65.63 34.452 3396
+-65.504 34.452 3397
+-65.378 34.452 3398
+-65.252 34.452 3399
+-65.126 34.452 3400
+-128 34.4 2686
+-127.874 34.4 2798
+-127.748 34.4 2798
+-127.622 34.4 2798
+-127.496 34.4 2798
+-127.37 34.4 2798
+-127.244 34.4 2798
+-127.118 34.4 2799
+-126.992 34.4 2810
+-126.866 34.4 2811
+-126.74 34.4 2812
+-126.614 34.4 2836
+-126.488 34.4 2914
+-126.362 34.4 2916
+-126.236 34.4 2919
+-126.11 34.4 3012
+-125.984 34.4 3012
+-125.858 34.4 3120
+-125.732 34.4 3124
+-125.606 34.4 3130
+-125.48 34.4 3201
+-125.354 34.4 3266
+-125.228 34.4 3371
+-125.102 34.4 3372
+-124.976 34.4 3444
+-124.85 34.4 3450
+-124.724 34.4 3542
+-124.598 34.4 3554
+-124.472 34.4 3571
+-124.346 34.4 3590
+-124.22 34.4 3649
+-124.094 34.4 3675
+-123.968 34.4 3703
+-123.842 34.4 3792
+-123.716 34.4 3819
+-123.59 34.4 3908
+-123.464 34.4 4009
+-123.338 34.4 4035
+-123.212 34.4 4103
+-123.086 34.4 4153
+-122.96 34.4 4177
+-122.834 34.4 4237
+-122.708 34.4 4272
+-122.582 34.4 4354
+-122.456 34.4 4430
+-122.33 34.4 4491
+-122.204 34.4 4536
+-122.078 34.4 4592
+-121.952 34.4 4642
+-121.826 34.4 4722
+-121.7 34.4 4787
+-121.574 34.4 4892
+-121.448 34.4 4998
+-121.322 34.4 5161
+-121.196 34.4 5378
+-121.07 34.4 5582
+-120.944 34.4 5614
+-120.818 34.4 5751
+-120.692 34.4 5867
+-120.566 34.4 5982
+-120.44 34.4 6082
+-120.314 34.4 6219
+-120.188 34.4 6422
+-120.062 34.4 6578
+-119.936 34.4 6770
+-119.81 34.4 6810
+-119.684 34.4 6990
+-119.558 34.4 7110
+-119.432 34.4 7202
+-119.306 34.4 7353
+-119.18 34.4 7433
+-119.054 34.4 7608
+-118.928 34.4 7767
+-118.802 34.4 7898
+-118.676 34.4 8020
+-118.55 34.4 8207
+-118.424 34.4 8264
+-118.298 34.4 8455
+-118.172 34.4 8629
+-118.046 34.4 8665
+-117.92 34.4 8890
+-117.794 34.4 8944
+-117.668 34.4 9076
+-117.542 34.4 9180
+-117.416 34.4 9269
+-117.29 34.4 9208
+-117.164 34.4 9252
+-117.038 34.4 9098
+-116.912 34.4 9022
+-116.786 34.4 8869
+-116.66 34.4 8769
+-116.534 34.4 8581
+-116.408 34.4 8482
+-116.282 34.4 8375
+-116.156 34.4 8276
+-116.03 34.4 8093
+-115.904 34.4 7968
+-115.778 34.4 7888
+-115.652 34.4 7715
+-115.526 34.4 7567
+-115.4 34.4 7456
+-115.274 34.4 7277
+-115.148 34.4 7151
+-115.022 34.4 6964
+-114.896 34.4 6909
+-114.77 34.4 6762
+-114.644 34.4 6588
+-114.518 34.4 6495
+-114.392 34.4 6377
+-114.266 34.4 6240
+-114.14 34.4 6066
+-114.014 34.4 5911
+-113.888 34.4 5792
+-113.762 34.4 5642
+-113.636 34.4 5525
+-113.51 34.4 5425
+-113.384 34.4 5252
+-113.258 34.4 5278
+-113.132 34.4 5313
+-113.006 34.4 5318
+-112.88 34.4 5456
+-112.754 34.4 5531
+-112.628 34.4 5617
+-112.502 34.4 5676
+-112.376 34.4 5761
+-112.25 34.4 5846
+-112.124 34.4 5881
+-111.998 34.4 5970
+-111.872 34.4 6054
+-111.746 34.4 6105
+-111.62 34.4 6160
+-111.494 34.4 6208
+-111.368 34.4 6260
+-111.242 34.4 6305
+-111.116 34.4 6365
+-110.99 34.4 6392
+-110.864 34.4 6405
+-110.738 34.4 6412
+-110.612 34.4 6442
+-110.486 34.4 6462
+-110.36 34.4 6445
+-110.234 34.4 6461
+-110.108 34.4 6455
+-109.982 34.4 6434
+-109.856 34.4 6394
+-109.73 34.4 6361
+-109.604 34.4 6304
+-109.478 34.4 6259
+-109.352 34.4 6227
+-109.226 34.4 6201
+-109.1 34.4 6157
+-108.974 34.4 6084
+-108.848 34.4 5997
+-108.722 34.4 5965
+-108.596 34.4 5876
+-108.47 34.4 5816
+-108.344 34.4 5722
+-108.218 34.4 5645
+-108.092 34.4 5563
+-107.966 34.4 5496
+-107.84 34.4 5310
+-107.714 34.4 5313
+-107.588 34.4 5234
+-107.462 34.4 5135
+-107.336 34.4 5069
+-107.21 34.4 4979
+-107.084 34.4 4846
+-106.958 34.4 4802
+-106.832 34.4 4709
+-106.706 34.4 4581
+-106.58 34.4 4442
+-106.454 34.4 4303
+-106.328 34.4 4215
+-106.202 34.4 4236
+-106.076 34.4 4261
+-105.95 34.4 4226
+-105.824 34.4 4215
+-105.698 34.4 4189
+-105.572 34.4 4179
+-105.446 34.4 4169
+-105.32 34.4 4185
+-105.194 34.4 4176
+-105.068 34.4 4183
+-104.942 34.4 4184
+-104.816 34.4 4183
+-104.69 34.4 4106
+-104.564 34.4 4104
+-104.438 34.4 4103
+-104.312 34.4 4004
+-104.186 34.4 4014
+-104.06 34.4 3999
+-103.934 34.4 3939
+-103.808 34.4 3934
+-103.682 34.4 3929
+-103.556 34.4 3838
+-103.43 34.4 3815
+-103.304 34.4 3828
+-103.178 34.4 3756
+-103.052 34.4 3644
+-102.926 34.4 3641
+-102.8 34.4 3639
+-102.674 34.4 3637
+-102.548 34.4 3636
+-102.422 34.4 3634
+-102.296 34.4 3654
+-102.17 34.4 3626
+-102.044 34.4 3620
+-101.918 34.4 3621
+-101.792 34.4 3584
+-101.666 34.4 3584
+-101.54 34.4 3483
+-101.414 34.4 3516
+-101.288 34.4 3510
+-101.162 34.4 3479
+-101.036 34.4 3426
+-100.91 34.4 3416
+-100.784 34.4 3406
+-100.658 34.4 3372
+-100.532 34.4 3260
+-100.406 34.4 3209
+-100.28 34.4 3176
+-100.154 34.4 3099
+-100.028 34.4 3082
+-99.902 34.4 3087
+-99.776 34.4 3074
+-99.65 34.4 3141
+-99.524 34.4 3238
+-99.398 34.4 3277
+-99.272 34.4 3275
+-99.146 34.4 3282
+-99.02 34.4 3284
+-98.894 34.4 3284
+-98.768 34.4 3284
+-98.642 34.4 3284
+-98.516 34.4 3304
+-98.39 34.4 3280
+-98.264 34.4 3280
+-98.138 34.4 3281
+-98.012 34.4 3298
+-97.886 34.4 3299
+-97.76 34.4 3301
+-97.634 34.4 3302
+-97.508 34.4 3303
+-97.382 34.4 3304
+-97.256 34.4 3256
+-97.13 34.4 3357
+-97.004 34.4 3317
+-96.878 34.4 3318
+-96.752 34.4 3324
+-96.626 34.4 3293
+-96.5 34.4 3382
+-96.374 34.4 3413
+-96.248 34.4 3396
+-96.122 34.4 3414
+-95.996 34.4 3403
+-95.87 34.4 3391
+-95.744 34.4 3398
+-95.618 34.4 3359
+-95.492 34.4 3370
+-95.366 34.4 3394
+-95.24 34.4 3376
+-95.114 34.4 3370
+-94.988 34.4 3374
+-94.862 34.4 3376
+-94.736 34.4 3383
+-94.61 34.4 3378
+-94.484 34.4 3398
+-94.358 34.4 3379
+-94.232 34.4 3349
+-94.106 34.4 3331
+-93.98 34.4 3406
+-93.854 34.4 3550
+-93.728 34.4 3686
+-93.602 34.4 3764
+-93.476 34.4 3841
+-93.35 34.4 3935
+-93.224 34.4 3986
+-93.098 34.4 4009
+-92.972 34.4 4065
+-92.846 34.4 4118
+-92.72 34.4 4185
+-92.594 34.4 4248
+-92.468 34.4 4350
+-92.342 34.4 4436
+-92.216 34.4 4487
+-92.09 34.4 4594
+-91.964 34.4 4724
+-91.838 34.4 4845
+-91.712 34.4 4941
+-91.586 34.4 5031
+-91.46 34.4 5086
+-91.334 34.4 5187
+-91.208 34.4 5276
+-91.082 34.4 5372
+-90.956 34.4 5407
+-90.83 34.4 5498
+-90.704 34.4 5565
+-90.578 34.4 5625
+-90.452 34.4 5739
+-90.326 34.4 5816
+-90.2 34.4 5837
+-90.074 34.4 5864
+-89.948 34.4 5891
+-89.822 34.4 5952
+-89.696 34.4 5982
+-89.57 34.4 6028
+-89.444 34.4 6045
+-89.318 34.4 6077
+-89.192 34.4 6083
+-89.066 34.4 6093
+-88.94 34.4 6100
+-88.814 34.4 6103
+-88.688 34.4 6089
+-88.562 34.4 6129
+-88.436 34.4 6111
+-88.31 34.4 6079
+-88.184 34.4 6065
+-88.058 34.4 6052
+-87.932 34.4 6016
+-87.806 34.4 5968
+-87.68 34.4 5938
+-87.554 34.4 5866
+-87.428 34.4 5770
+-87.302 34.4 5782
+-87.176 34.4 5718
+-87.05 34.4 5621
+-86.924 34.4 5656
+-86.798 34.4 5621
+-86.672 34.4 5542
+-86.546 34.4 5418
+-86.42 34.4 5326
+-86.294 34.4 5234
+-86.168 34.4 5159
+-86.042 34.4 5001
+-85.916 34.4 4813
+-85.79 34.4 4730
+-85.664 34.4 4650
+-85.538 34.4 4550
+-85.412 34.4 4415
+-85.286 34.4 4305
+-85.16 34.4 4236
+-85.034 34.4 4186
+-84.908 34.4 4198
+-84.782 34.4 4167
+-84.656 34.4 4077
+-84.53 34.4 3948
+-84.404 34.4 3751
+-84.278 34.4 3627
+-84.152 34.4 3659
+-84.026 34.4 3707
+-83.9 34.4 3731
+-83.774 34.4 3722
+-83.648 34.4 3691
+-83.522 34.4 3663
+-83.396 34.4 3625
+-83.27 34.4 3577
+-83.144 34.4 3511
+-83.018 34.4 3423
+-82.892 34.4 3375
+-82.766 34.4 3313
+-82.64 34.4 3262
+-82.514 34.4 3228
+-82.388 34.4 3183
+-82.262 34.4 3162
+-82.136 34.4 3168
+-82.01 34.4 3178
+-81.884 34.4 3092
+-81.758 34.4 3065
+-81.632 34.4 3060
+-81.506 34.4 3006
+-81.38 34.4 2995
+-81.254 34.4 2963
+-81.128 34.4 2940
+-81.002 34.4 2925
+-80.876 34.4 2917
+-80.75 34.4 2901
+-80.624 34.4 2853
+-80.498 34.4 2802
+-80.372 34.4 2757
+-80.246 34.4 2693
+-80.12 34.4 2613
+-79.994 34.4 2523
+-79.868 34.4 2439
+-79.742 34.4 2340
+-79.616 34.4 2272
+-79.49 34.4 2176
+-79.364 34.4 2116
+-79.238 34.4 2079
+-79.112 34.4 2094
+-78.986 34.4 2122
+-78.86 34.4 2201
+-78.734 34.4 2262
+-78.608 34.4 2317
+-78.482 34.4 2381
+-78.356 34.4 2441
+-78.23 34.4 2495
+-78.104 34.4 2544
+-77.978 34.4 2588
+-77.852 34.4 2653
+-77.726 34.4 2700
+-77.6 34.4 2736
+-77.474 34.4 2763
+-77.348 34.4 2870
+-77.222 34.4 2908
+-77.096 34.4 2933
+-76.97 34.4 2958
+-76.844 34.4 2980
+-76.718 34.4 3003
+-76.592 34.4 3028
+-76.466 34.4 3047
+-76.34 34.4 3060
+-76.214 34.4 3076
+-76.088 34.4 3060
+-75.962 34.4 3074
+-75.836 34.4 3087
+-75.71 34.4 3139
+-75.584 34.4 3149
+-75.458 34.4 3166
+-75.332 34.4 3178
+-75.206 34.4 3175
+-75.08 34.4 3199
+-74.954 34.4 3241
+-74.828 34.4 3256
+-74.702 34.4 3265
+-74.576 34.4 3273
+-74.45 34.4 3316
+-74.324 34.4 3326
+-74.198 34.4 3286
+-74.072 34.4 3307
+-73.946 34.4 3310
+-73.82 34.4 3250
+-73.694 34.4 3181
+-73.568 34.4 3201
+-73.442 34.4 3207
+-73.316 34.4 3235
+-73.19 34.4 3219
+-73.064 34.4 3230
+-72.938 34.4 3236
+-72.812 34.4 3223
+-72.686 34.4 3228
+-72.56 34.4 3233
+-72.434 34.4 3216
+-72.308 34.4 3203
+-72.182 34.4 3232
+-72.056 34.4 3230
+-71.93 34.4 3234
+-71.804 34.4 3238
+-71.678 34.4 3168
+-71.552 34.4 3205
+-71.426 34.4 3202
+-71.3 34.4 3206
+-71.174 34.4 3209
+-71.048 34.4 3423
+-70.922 34.4 3355
+-70.796 34.4 3364
+-70.67 34.4 3366
+-70.544 34.4 3269
+-70.418 34.4 3257
+-70.292 34.4 3259
+-70.166 34.4 3261
+-70.04 34.4 3241
+-69.914 34.4 3242
+-69.788 34.4 3244
+-69.662 34.4 3245
+-69.536 34.4 3246
+-69.41 34.4 3267
+-69.284 34.4 3269
+-69.158 34.4 3254
+-69.032 34.4 3256
+-68.906 34.4 3257
+-68.78 34.4 3200
+-68.654 34.4 3380
+-68.528 34.4 3342
+-68.402 34.4 3343
+-68.276 34.4 3312
+-68.15 34.4 3313
+-68.024 34.4 3314
+-67.898 34.4 3442
+-67.772 34.4 3443
+-67.646 34.4 3444
+-67.52 34.4 3445
+-67.394 34.4 3446
+-67.268 34.4 3558
+-67.142 34.4 3559
+-67.016 34.4 3474
+-66.89 34.4 3475
+-66.764 34.4 3476
+-66.638 34.4 3477
+-66.512 34.4 3486
+-66.386 34.4 3445
+-66.26 34.4 3438
+-66.134 34.4 3386
+-66.008 34.4 3387
+-65.882 34.4 3349
+-65.756 34.4 3395
+-65.63 34.4 3396
+-65.504 34.4 3397
+-65.378 34.4 3398
+-65.252 34.4 3399
+-65.126 34.4 3400
+-128 34.348 2686
+-127.874 34.348 2686
+-127.748 34.348 2798
+-127.622 34.348 2798
+-127.496 34.348 2798
+-127.37 34.348 2798
+-127.244 34.348 2799
+-127.118 34.348 2799
+-126.992 34.348 2800
+-126.866 34.348 2802
+-126.74 34.348 2813
+-126.614 34.348 2814
+-126.488 34.348 2895
+-126.362 34.348 2897
+-126.236 34.348 2984
+-126.11 34.348 3011
+-125.984 34.348 3012
+-125.858 34.348 3015
+-125.732 34.348 3128
+-125.606 34.348 3134
+-125.48 34.348 3199
+-125.354 34.348 3282
+-125.228 34.348 3288
+-125.102 34.348 3367
+-124.976 34.348 3467
+-124.85 34.348 3482
+-124.724 34.348 3571
+-124.598 34.348 3584
+-124.472 34.348 3601
+-124.346 34.348 3620
+-124.22 34.348 3642
+-124.094 34.348 3702
+-123.968 34.348 3728
+-123.842 34.348 3754
+-123.716 34.348 3939
+-123.59 34.348 4009
+-123.464 34.348 4035
+-123.338 34.348 4099
+-123.212 34.348 4146
+-123.086 34.348 4136
+-122.96 34.348 4144
+-122.834 34.348 4094
+-122.708 34.348 4122
+-122.582 34.348 4238
+-122.456 34.348 4365
+-122.33 34.348 4397
+-122.204 34.348 4400
+-122.078 34.348 4541
+-121.952 34.348 4526
+-121.826 34.348 4656
+-121.7 34.348 4748
+-121.574 34.348 4878
+-121.448 34.348 5081
+-121.322 34.348 5109
+-121.196 34.348 5310
+-121.07 34.348 5573
+-120.944 34.348 5696
+-120.818 34.348 5778
+-120.692 34.348 5876
+-120.566 34.348 6017
+-120.44 34.348 6091
+-120.314 34.348 6275
+-120.188 34.348 6445
+-120.062 34.348 6566
+-119.936 34.348 6754
+-119.81 34.348 6865
+-119.684 34.348 7000
+-119.558 34.348 7113
+-119.432 34.348 7249
+-119.306 34.348 7310
+-119.18 34.348 7481
+-119.054 34.348 7650
+-118.928 34.348 7790
+-118.802 34.348 7927
+-118.676 34.348 8121
+-118.55 34.348 8231
+-118.424 34.348 8308
+-118.298 34.348 8433
+-118.172 34.348 8552
+-118.046 34.348 8724
+-117.92 34.348 8872
+-117.794 34.348 8983
+-117.668 34.348 9151
+-117.542 34.348 9211
+-117.416 34.348 9244
+-117.29 34.348 9266
+-117.164 34.348 9210
+-117.038 34.348 9164
+-116.912 34.348 9059
+-116.786 34.348 8937
+-116.66 34.348 8783
+-116.534 34.348 8608
+-116.408 34.348 8494
+-116.282 34.348 8360
+-116.156 34.348 8183
+-116.03 34.348 8117
+-115.904 34.348 7980
+-115.778 34.348 7846
+-115.652 34.348 7748
+-115.526 34.348 7592
+-115.4 34.348 7435
+-115.274 34.348 7328
+-115.148 34.348 7151
+-115.022 34.348 6951
+-114.896 34.348 6940
+-114.77 34.348 6756
+-114.644 34.348 6628
+-114.518 34.348 6438
+-114.392 34.348 6366
+-114.266 34.348 6221
+-114.14 34.348 6034
+-114.014 34.348 5893
+-113.888 34.348 5784
+-113.762 34.348 5605
+-113.636 34.348 5503
+-113.51 34.348 5459
+-113.384 34.348 5359
+-113.258 34.348 5321
+-113.132 34.348 5346
+-113.006 34.348 5390
+-112.88 34.348 5460
+-112.754 34.348 5544
+-112.628 34.348 5639
+-112.502 34.348 5749
+-112.376 34.348 5791
+-112.25 34.348 5866
+-112.124 34.348 5944
+-111.998 34.348 6051
+-111.872 34.348 6100
+-111.746 34.348 6167
+-111.62 34.348 6242
+-111.494 34.348 6274
+-111.368 34.348 6324
+-111.242 34.348 6372
+-111.116 34.348 6420
+-110.99 34.348 6433
+-110.864 34.348 6434
+-110.738 34.348 6506
+-110.612 34.348 6511
+-110.486 34.348 6489
+-110.36 34.348 6483
+-110.234 34.348 6488
+-110.108 34.348 6463
+-109.982 34.348 6452
+-109.856 34.348 6418
+-109.73 34.348 6401
+-109.604 34.348 6359
+-109.478 34.348 6293
+-109.352 34.348 6280
+-109.226 34.348 6241
+-109.1 34.348 6220
+-108.974 34.348 6144
+-108.848 34.348 6059
+-108.722 34.348 5963
+-108.596 34.348 5885
+-108.47 34.348 5867
+-108.344 34.348 5794
+-108.218 34.348 5709
+-108.092 34.348 5597
+-107.966 34.348 5487
+-107.84 34.348 5409
+-107.714 34.348 5346
+-107.588 34.348 5244
+-107.462 34.348 5109
+-107.336 34.348 5035
+-107.21 34.348 4970
+-107.084 34.348 4767
+-106.958 34.348 4821
+-106.832 34.348 4738
+-106.706 34.348 4616
+-106.58 34.348 4469
+-106.454 34.348 4262
+-106.328 34.348 4128
+-106.202 34.348 4207
+-106.076 34.348 4257
+-105.95 34.348 4271
+-105.824 34.348 4278
+-105.698 34.348 4264
+-105.572 34.348 4235
+-105.446 34.348 4237
+-105.32 34.348 4211
+-105.194 34.348 4201
+-105.068 34.348 4222
+-104.942 34.348 4214
+-104.816 34.348 4117
+-104.69 34.348 4115
+-104.564 34.348 4112
+-104.438 34.348 4010
+-104.312 34.348 4019
+-104.186 34.348 4002
+-104.06 34.348 3941
+-103.934 34.348 3934
+-103.808 34.348 3928
+-103.682 34.348 3886
+-103.556 34.348 3857
+-103.43 34.348 3828
+-103.304 34.348 3755
+-103.178 34.348 3753
+-103.052 34.348 3751
+-102.926 34.348 3642
+-102.8 34.348 3640
+-102.674 34.348 3638
+-102.548 34.348 3636
+-102.422 34.348 3654
+-102.296 34.348 3628
+-102.17 34.348 3622
+-102.044 34.348 3622
+-101.918 34.348 3585
+-101.792 34.348 3585
+-101.666 34.348 3585
+-101.54 34.348 3487
+-101.414 34.348 3521
+-101.288 34.348 3491
+-101.162 34.348 3485
+-101.036 34.348 3433
+-100.91 34.348 3424
+-100.784 34.348 3414
+-100.658 34.348 3382
+-100.532 34.348 3343
+-100.406 34.348 3233
+-100.28 34.348 3184
+-100.154 34.348 3106
+-100.028 34.348 3157
+-99.902 34.348 3154
+-99.776 34.348 3122
+-99.65 34.348 3142
+-99.524 34.348 3239
+-99.398 34.348 3279
+-99.272 34.348 3286
+-99.146 34.348 3288
+-99.02 34.348 3287
+-98.894 34.348 3287
+-98.768 34.348 3286
+-98.642 34.348 3306
+-98.516 34.348 3282
+-98.39 34.348 3282
+-98.264 34.348 3282
+-98.138 34.348 3299
+-98.012 34.348 3300
+-97.886 34.348 3300
+-97.76 34.348 3301
+-97.634 34.348 3301
+-97.508 34.348 3302
+-97.382 34.348 3250
+-97.256 34.348 3351
+-97.13 34.348 3310
+-97.004 34.348 3257
+-96.878 34.348 3315
+-96.752 34.348 3283
+-96.626 34.348 3372
+-96.5 34.348 3403
+-96.374 34.348 3385
+-96.248 34.348 3402
+-96.122 34.348 3389
+-95.996 34.348 3375
+-95.87 34.348 3380
+-95.744 34.348 3338
+-95.618 34.348 3344
+-95.492 34.348 3322
+-95.366 34.348 3323
+-95.24 34.348 3289
+-95.114 34.348 3281
+-94.988 34.348 3288
+-94.862 34.348 3289
+-94.736 34.348 3300
+-94.61 34.348 3326
+-94.484 34.348 3352
+-94.358 34.348 3372
+-94.232 34.348 3374
+-94.106 34.348 3394
+-93.98 34.348 3460
+-93.854 34.348 3552
+-93.728 34.348 3626
+-93.602 34.348 3688
+-93.476 34.348 3767
+-93.35 34.348 3843
+-93.224 34.348 3936
+-93.098 34.348 3985
+-92.972 34.348 4022
+-92.846 34.348 4048
+-92.72 34.348 4112
+-92.594 34.348 4214
+-92.468 34.348 4305
+-92.342 34.348 4443
+-92.216 34.348 4539
+-92.09 34.348 4537
+-91.964 34.348 4686
+-91.838 34.348 4772
+-91.712 34.348 4885
+-91.586 34.348 4986
+-91.46 34.348 5051
+-91.334 34.348 5140
+-91.208 34.348 5233
+-91.082 34.348 5310
+-90.956 34.348 5371
+-90.83 34.348 5419
+-90.704 34.348 5519
+-90.578 34.348 5603
+-90.452 34.348 5708
+-90.326 34.348 5774
+-90.2 34.348 5764
+-90.074 34.348 5809
+-89.948 34.348 5878
+-89.822 34.348 5886
+-89.696 34.348 5923
+-89.57 34.348 5958
+-89.444 34.348 5985
+-89.318 34.348 6034
+-89.192 34.348 6012
+-89.066 34.348 6030
+-88.94 34.348 6033
+-88.814 34.348 6052
+-88.688 34.348 6063
+-88.562 34.348 6059
+-88.436 34.348 6043
+-88.31 34.348 5993
+-88.184 34.348 5988
+-88.058 34.348 5992
+-87.932 34.348 5956
+-87.806 34.348 5915
+-87.68 34.348 5871
+-87.554 34.348 5807
+-87.428 34.348 5770
+-87.302 34.348 5718
+-87.176 34.348 5654
+-87.05 34.348 5628
+-86.924 34.348 5618
+-86.798 34.348 5584
+-86.672 34.348 5491
+-86.546 34.348 5383
+-86.42 34.348 5270
+-86.294 34.348 5131
+-86.168 34.348 5051
+-86.042 34.348 4958
+-85.916 34.348 4767
+-85.79 34.348 4715
+-85.664 34.348 4662
+-85.538 34.348 4547
+-85.412 34.348 4403
+-85.286 34.348 4283
+-85.16 34.348 4242
+-85.034 34.348 4120
+-84.908 34.348 4170
+-84.782 34.348 4158
+-84.656 34.348 4087
+-84.53 34.348 3967
+-84.404 34.348 3844
+-84.278 34.348 3762
+-84.152 34.348 3703
+-84.026 34.348 3701
+-83.9 34.348 3700
+-83.774 34.348 3692
+-83.648 34.348 3663
+-83.522 34.348 3590
+-83.396 34.348 3544
+-83.27 34.348 3484
+-83.144 34.348 3398
+-83.018 34.348 3326
+-82.892 34.348 3253
+-82.766 34.348 3173
+-82.64 34.348 3166
+-82.514 34.348 3143
+-82.388 34.348 3164
+-82.262 34.348 3134
+-82.136 34.348 3144
+-82.01 34.348 3145
+-81.884 34.348 3083
+-81.758 34.348 3097
+-81.632 34.348 3096
+-81.506 34.348 3059
+-81.38 34.348 3040
+-81.254 34.348 2999
+-81.128 34.348 2980
+-81.002 34.348 2979
+-80.876 34.348 2973
+-80.75 34.348 2937
+-80.624 34.348 2898
+-80.498 34.348 2866
+-80.372 34.348 2819
+-80.246 34.348 2757
+-80.12 34.348 2687
+-79.994 34.348 2624
+-79.868 34.348 2584
+-79.742 34.348 2495
+-79.616 34.348 2415
+-79.49 34.348 2346
+-79.364 34.348 2312
+-79.238 34.348 2274
+-79.112 34.348 2290
+-78.986 34.348 2304
+-78.86 34.348 2335
+-78.734 34.348 2367
+-78.608 34.348 2413
+-78.482 34.348 2460
+-78.356 34.348 2505
+-78.23 34.348 2547
+-78.104 34.348 2586
+-77.978 34.348 2648
+-77.852 34.348 2692
+-77.726 34.348 2724
+-77.6 34.348 2753
+-77.474 34.348 2855
+-77.348 34.348 2893
+-77.222 34.348 2919
+-77.096 34.348 2944
+-76.97 34.348 2966
+-76.844 34.348 2990
+-76.718 34.348 3015
+-76.592 34.348 3034
+-76.466 34.348 3049
+-76.34 34.348 3066
+-76.214 34.348 3051
+-76.088 34.348 3066
+-75.962 34.348 3079
+-75.836 34.348 3131
+-75.71 34.348 3141
+-75.584 34.348 3159
+-75.458 34.348 3171
+-75.332 34.348 3169
+-75.206 34.348 3193
+-75.08 34.348 3235
+-74.954 34.348 3251
+-74.828 34.348 3260
+-74.702 34.348 3268
+-74.576 34.348 3311
+-74.45 34.348 3321
+-74.324 34.348 3282
+-74.198 34.348 3303
+-74.072 34.348 3307
+-73.946 34.348 3244
+-73.82 34.348 3179
+-73.694 34.348 3199
+-73.568 34.348 3205
+-73.442 34.348 3233
+-73.316 34.348 3217
+-73.19 34.348 3228
+-73.064 34.348 3234
+-72.938 34.348 3222
+-72.812 34.348 3227
+-72.686 34.348 3231
+-72.56 34.348 3215
+-72.434 34.348 3202
+-72.308 34.348 3231
+-72.182 34.348 3229
+-72.056 34.348 3233
+-71.93 34.348 3238
+-71.804 34.348 3167
+-71.678 34.348 3204
+-71.552 34.348 3202
+-71.426 34.348 3205
+-71.3 34.348 3209
+-71.174 34.348 3421
+-71.048 34.348 3350
+-70.922 34.348 3362
+-70.796 34.348 3365
+-70.67 34.348 3267
+-70.544 34.348 3256
+-70.418 34.348 3258
+-70.292 34.348 3259
+-70.166 34.348 3240
+-70.04 34.348 3241
+-69.914 34.348 3243
+-69.788 34.348 3244
+-69.662 34.348 3245
+-69.536 34.348 3266
+-69.41 34.348 3267
+-69.284 34.348 3253
+-69.158 34.348 3255
+-69.032 34.348 3256
+-68.906 34.348 3199
+-68.78 34.348 3379
+-68.654 34.348 3341
+-68.528 34.348 3342
+-68.402 34.348 3310
+-68.276 34.348 3312
+-68.15 34.348 3313
+-68.024 34.348 3441
+-67.898 34.348 3442
+-67.772 34.348 3443
+-67.646 34.348 3444
+-67.52 34.348 3444
+-67.394 34.348 3556
+-67.268 34.348 3558
+-67.142 34.348 3473
+-67.016 34.348 3474
+-66.89 34.348 3475
+-66.764 34.348 3476
+-66.638 34.348 3485
+-66.512 34.348 3443
+-66.386 34.348 3436
+-66.26 34.348 3385
+-66.134 34.348 3386
+-66.008 34.348 3348
+-65.882 34.348 3394
+-65.756 34.348 3395
+-65.63 34.348 3396
+-65.504 34.348 3397
+-65.378 34.348 3398
+-65.252 34.348 3399
+-65.126 34.348 3400
+-128 34.296 2685
+-127.874 34.296 2686
+-127.748 34.296 2686
+-127.622 34.296 2739
+-127.496 34.296 2798
+-127.37 34.296 2798
+-127.244 34.296 2798
+-127.118 34.296 2799
+-126.992 34.296 2800
+-126.866 34.296 2802
+-126.74 34.296 2803
+-126.614 34.296 2825
+-126.488 34.296 2864
+-126.362 34.296 2956
+-126.236 34.296 2979
+-126.11 34.296 2981
+-125.984 34.296 3010
+-125.858 34.296 3013
+-125.732 34.296 3144
+-125.606 34.296 3207
+-125.48 34.296 3214
+-125.354 34.296 3222
+-125.228 34.296 3290
+-125.102 34.296 3376
+-124.976 34.296 3387
+-124.85 34.296 3503
+-124.724 34.296 3512
+-124.598 34.296 3607
+-124.472 34.296 3623
+-124.346 34.296 3641
+-124.22 34.296 3662
+-124.094 34.296 3685
+-123.968 34.296 3752
+-123.842 34.296 3866
+-123.716 34.296 3953
+-123.59 34.296 3985
+-123.464 34.296 4058
+-123.338 34.296 4157
+-123.212 34.296 4149
+-123.086 34.296 4157
+-122.96 34.296 4055
+-122.834 34.296 3912
+-122.708 34.296 3834
+-122.582 34.296 4030
+-122.456 34.296 4281
+-122.33 34.296 4336
+-122.204 34.296 4200
+-122.078 34.296 4476
+-121.952 34.296 4633
+-121.826 34.296 4730
+-121.7 34.296 4810
+-121.574 34.296 4851
+-121.448 34.296 4969
+-121.322 34.296 5095
+-121.196 34.296 5295
+-121.07 34.296 5570
+-120.944 34.296 5696
+-120.818 34.296 5689
+-120.692 34.296 5842
+-120.566 34.296 6030
+-120.44 34.296 6130
+-120.314 34.296 6347
+-120.188 34.296 6392
+-120.062 34.296 6581
+-119.936 34.296 6730
+-119.81 34.296 6870
+-119.684 34.296 6961
+-119.558 34.296 7102
+-119.432 34.296 7253
+-119.306 34.296 7400
+-119.18 34.296 7493
+-119.054 34.296 7658
+-118.928 34.296 7844
+-118.802 34.296 7907
+-118.676 34.296 8029
+-118.55 34.296 8189
+-118.424 34.296 8354
+-118.298 34.296 8447
+-118.172 34.296 8626
+-118.046 34.296 8691
+-117.92 34.296 8896
+-117.794 34.296 8998
+-117.668 34.296 9140
+-117.542 34.296 9259
+-117.416 34.296 9306
+-117.29 34.296 9383
+-117.164 34.296 9273
+-117.038 34.296 9175
+-116.912 34.296 9078
+-116.786 34.296 8969
+-116.66 34.296 8808
+-116.534 34.296 8635
+-116.408 34.296 8588
+-116.282 34.296 8384
+-116.156 34.296 8307
+-116.03 34.296 8131
+-115.904 34.296 8012
+-115.778 34.296 7870
+-115.652 34.296 7694
+-115.526 34.296 7601
+-115.4 34.296 7400
+-115.274 34.296 7324
+-115.148 34.296 7195
+-115.022 34.296 6989
+-114.896 34.296 6908
+-114.77 34.296 6736
+-114.644 34.296 6590
+-114.518 34.296 6484
+-114.392 34.296 6344
+-114.266 34.296 6152
+-114.14 34.296 6082
+-114.014 34.296 5922
+-113.888 34.296 5750
+-113.762 34.296 5694
+-113.636 34.296 5601
+-113.51 34.296 5515
+-113.384 34.296 5378
+-113.258 34.296 5230
+-113.132 34.296 5338
+-113.006 34.296 5433
+-112.88 34.296 5499
+-112.754 34.296 5587
+-112.628 34.296 5668
+-112.502 34.296 5750
+-112.376 34.296 5820
+-112.25 34.296 5921
+-112.124 34.296 6029
+-111.998 34.296 6098
+-111.872 34.296 6160
+-111.746 34.296 6213
+-111.62 34.296 6274
+-111.494 34.296 6344
+-111.368 34.296 6364
+-111.242 34.296 6435
+-111.116 34.296 6470
+-110.99 34.296 6481
+-110.864 34.296 6495
+-110.738 34.296 6494
+-110.612 34.296 6509
+-110.486 34.296 6563
+-110.36 34.296 6525
+-110.234 34.296 6528
+-110.108 34.296 6529
+-109.982 34.296 6531
+-109.856 34.296 6490
+-109.73 34.296 6452
+-109.604 34.296 6422
+-109.478 34.296 6349
+-109.352 34.296 6290
+-109.226 34.296 6249
+-109.1 34.296 6230
+-108.974 34.296 6179
+-108.848 34.296 6110
+-108.722 34.296 5996
+-108.596 34.296 5961
+-108.47 34.296 5902
+-108.344 34.296 5853
+-108.218 34.296 5767
+-108.092 34.296 5658
+-107.966 34.296 5553
+-107.84 34.296 5459
+-107.714 34.296 5365
+-107.588 34.296 5306
+-107.462 34.296 5204
+-107.336 34.296 5121
+-107.21 34.296 5022
+-107.084 34.296 4899
+-106.958 34.296 4855
+-106.832 34.296 4770
+-106.706 34.296 4691
+-106.58 34.296 4536
+-106.454 34.296 4369
+-106.328 34.296 4248
+-106.202 34.296 4267
+-106.076 34.296 4296
+-105.95 34.296 4302
+-105.824 34.296 4288
+-105.698 34.296 4282
+-105.572 34.296 4282
+-105.446 34.296 4258
+-105.32 34.296 4262
+-105.194 34.296 4252
+-105.068 34.296 4230
+-104.942 34.296 4153
+-104.816 34.296 4127
+-104.69 34.296 4122
+-104.564 34.296 4052
+-104.438 34.296 4026
+-104.312 34.296 4006
+-104.186 34.296 3944
+-104.06 34.296 3935
+-103.934 34.296 3928
+-103.808 34.296 3885
+-103.682 34.296 3855
+-103.556 34.296 3788
+-103.43 34.296 3802
+-103.304 34.296 3800
+-103.178 34.296 3798
+-103.052 34.296 3797
+-102.926 34.296 3796
+-102.8 34.296 3684
+-102.674 34.296 3683
+-102.548 34.296 3704
+-102.422 34.296 3629
+-102.296 34.296 3623
+-102.17 34.296 3623
+-102.044 34.296 3586
+-101.918 34.296 3586
+-101.792 34.296 3586
+-101.666 34.296 3586
+-101.54 34.296 3622
+-101.414 34.296 3501
+-101.288 34.296 3496
+-101.162 34.296 3490
+-101.036 34.296 3440
+-100.91 34.296 3431
+-100.784 34.296 3422
+-100.658 34.296 3391
+-100.532 34.296 3352
+-100.406 34.296 3352
+-100.28 34.296 3266
+-100.154 34.296 3172
+-100.028 34.296 3161
+-99.902 34.296 3157
+-99.776 34.296 3124
+-99.65 34.296 3144
+-99.524 34.296 3240
+-99.398 34.296 3290
+-99.272 34.296 3291
+-99.146 34.296 3290
+-99.02 34.296 3289
+-98.894 34.296 3289
+-98.768 34.296 3309
+-98.642 34.296 3284
+-98.516 34.296 3283
+-98.39 34.296 3283
+-98.264 34.296 3300
+-98.138 34.296 3300
+-98.012 34.296 3300
+-97.886 34.296 3300
+-97.76 34.296 3300
+-97.634 34.296 3300
+-97.508 34.296 3246
+-97.382 34.296 3346
+-97.256 34.296 3304
+-97.13 34.296 3248
+-97.004 34.296 3307
+-96.878 34.296 3276
+-96.752 34.296 3365
+-96.626 34.296 3338
+-96.5 34.296 3381
+-96.374 34.296 3393
+-96.248 34.296 3380
+-96.122 34.296 3365
+-95.996 34.296 3368
+-95.87 34.296 3324
+-95.744 34.296 3327
+-95.618 34.296 3302
+-95.492 34.296 3271
+-95.366 34.296 3252
+-95.24 34.296 3225
+-95.114 34.296 3191
+-94.988 34.296 3172
+-94.862 34.296 3175
+-94.736 34.296 3194
+-94.61 34.296 3228
+-94.484 34.296 3276
+-94.358 34.296 3314
+-94.232 34.296 3358
+-94.106 34.296 3401
+-93.98 34.296 3453
+-93.854 34.296 3556
+-93.728 34.296 3611
+-93.602 34.296 3628
+-93.476 34.296 3638
+-93.35 34.296 3730
+-93.224 34.296 3860
+-93.098 34.296 3928
+-92.972 34.296 3992
+-92.846 34.296 3992
+-92.72 34.296 4046
+-92.594 34.296 4158
+-92.468 34.296 4240
+-92.342 34.296 4383
+-92.216 34.296 4526
+-92.09 34.296 4580
+-91.964 34.296 4675
+-91.838 34.296 4789
+-91.712 34.296 4878
+-91.586 34.296 4870
+-91.46 34.296 5012
+-91.334 34.296 5129
+-91.208 34.296 5173
+-91.082 34.296 5233
+-90.956 34.296 5294
+-90.83 34.296 5366
+-90.704 34.296 5453
+-90.578 34.296 5572
+-90.452 34.296 5678
+-90.326 34.296 5738
+-90.2 34.296 5752
+-90.074 34.296 5755
+-89.948 34.296 5782
+-89.822 34.296 5829
+-89.696 34.296 5874
+-89.57 34.296 5888
+-89.444 34.296 5921
+-89.318 34.296 5968
+-89.192 34.296 5951
+-89.066 34.296 5963
+-88.94 34.296 5978
+-88.814 34.296 5983
+-88.688 34.296 5994
+-88.562 34.296 5988
+-88.436 34.296 5985
+-88.31 34.296 5941
+-88.184 34.296 5964
+-88.058 34.296 5939
+-87.932 34.296 5874
+-87.806 34.296 5827
+-87.68 34.296 5773
+-87.554 34.296 5729
+-87.428 34.296 5714
+-87.302 34.296 5645
+-87.176 34.296 5592
+-87.05 34.296 5532
+-86.924 34.296 5571
+-86.798 34.296 5516
+-86.672 34.296 5435
+-86.546 34.296 5338
+-86.42 34.296 5178
+-86.294 34.296 5053
+-86.168 34.296 5018
+-86.042 34.296 4936
+-85.916 34.296 4762
+-85.79 34.296 4682
+-85.664 34.296 4619
+-85.538 34.296 4526
+-85.412 34.296 4418
+-85.286 34.296 4290
+-85.16 34.296 4226
+-85.034 34.296 4185
+-84.908 34.296 4173
+-84.782 34.296 4149
+-84.656 34.296 4077
+-84.53 34.296 3990
+-84.404 34.296 3866
+-84.278 34.296 3770
+-84.152 34.296 3669
+-84.026 34.296 3646
+-83.9 34.296 3643
+-83.774 34.296 3612
+-83.648 34.296 3593
+-83.522 34.296 3551
+-83.396 34.296 3479
+-83.27 34.296 3414
+-83.144 34.296 3308
+-83.018 34.296 3197
+-82.892 34.296 3087
+-82.766 34.296 3047
+-82.64 34.296 3058
+-82.514 34.296 3050
+-82.388 34.296 3085
+-82.262 34.296 3149
+-82.136 34.296 3171
+-82.01 34.296 3191
+-81.884 34.296 3148
+-81.758 34.296 3126
+-81.632 34.296 3119
+-81.506 34.296 3087
+-81.38 34.296 3074
+-81.254 34.296 3062
+-81.128 34.296 3048
+-81.002 34.296 3032
+-80.876 34.296 3008
+-80.75 34.296 2978
+-80.624 34.296 2957
+-80.498 34.296 2923
+-80.372 34.296 2874
+-80.246 34.296 2819
+-80.12 34.296 2773
+-79.994 34.296 2753
+-79.868 34.296 2698
+-79.742 34.296 2626
+-79.616 34.296 2558
+-79.49 34.296 2503
+-79.364 34.296 2449
+-79.238 34.296 2445
+-79.112 34.296 2433
+-78.986 34.296 2436
+-78.86 34.296 2435
+-78.734 34.296 2487
+-78.608 34.296 2518
+-78.482 34.296 2551
+-78.356 34.296 2584
+-78.23 34.296 2617
+-78.104 34.296 2649
+-77.978 34.296 2689
+-77.852 34.296 2721
+-77.726 34.296 2746
+-77.6 34.296 2843
+-77.474 34.296 2879
+-77.348 34.296 2905
+-77.222 34.296 2930
+-77.096 34.296 2953
+-76.97 34.296 2977
+-76.844 34.296 3003
+-76.718 34.296 3022
+-76.592 34.296 3038
+-76.466 34.296 3055
+-76.34 34.296 3042
+-76.214 34.296 3057
+-76.088 34.296 3071
+-75.962 34.296 3123
+-75.836 34.296 3133
+-75.71 34.296 3151
+-75.584 34.296 3164
+-75.458 34.296 3163
+-75.332 34.296 3187
+-75.206 34.296 3229
+-75.08 34.296 3245
+-74.954 34.296 3255
+-74.828 34.296 3263
+-74.702 34.296 3305
+-74.576 34.296 3316
+-74.45 34.296 3278
+-74.324 34.296 3299
+-74.198 34.296 3303
+-74.072 34.296 3244
+-73.946 34.296 3177
+-73.82 34.296 3197
+-73.694 34.296 3203
+-73.568 34.296 3231
+-73.442 34.296 3216
+-73.316 34.296 3226
+-73.19 34.296 3232
+-73.064 34.296 3220
+-72.938 34.296 3225
+-72.812 34.296 3230
+-72.686 34.296 3214
+-72.56 34.296 3201
+-72.434 34.296 3230
+-72.308 34.296 3228
+-72.182 34.296 3233
+-72.056 34.296 3237
+-71.93 34.296 3167
+-71.804 34.296 3203
+-71.678 34.296 3201
+-71.552 34.296 3205
+-71.426 34.296 3208
+-71.3 34.296 3418
+-71.174 34.296 3352
+-71.048 34.296 3361
+-70.922 34.296 3363
+-70.796 34.296 3266
+-70.67 34.296 3255
+-70.544 34.296 3257
+-70.418 34.296 3258
+-70.292 34.296 3239
+-70.166 34.296 3240
+-70.04 34.296 3242
+-69.914 34.296 3243
+-69.788 34.296 3244
+-69.662 34.296 3265
+-69.536 34.296 3266
+-69.41 34.296 3252
+-69.284 34.296 3254
+-69.158 34.296 3255
+-69.032 34.296 3198
+-68.906 34.296 3378
+-68.78 34.296 3340
+-68.654 34.296 3341
+-68.528 34.296 3309
+-68.402 34.296 3311
+-68.276 34.296 3312
+-68.15 34.296 3440
+-68.024 34.296 3441
+-67.898 34.296 3441
+-67.772 34.296 3442
+-67.646 34.296 3443
+-67.52 34.296 3555
+-67.394 34.296 3556
+-67.268 34.296 3472
+-67.142 34.296 3473
+-67.016 34.296 3474
+-66.89 34.296 3475
+-66.764 34.296 3483
+-66.638 34.296 3442
+-66.512 34.296 3435
+-66.386 34.296 3384
+-66.26 34.296 3385
+-66.134 34.296 3347
+-66.008 34.296 3393
+-65.882 34.296 3394
+-65.756 34.296 3395
+-65.63 34.296 3396
+-65.504 34.296 3397
+-65.378 34.296 3398
+-65.252 34.296 3399
+-65.126 34.296 3373
+-128 34.244 2684
+-127.874 34.244 2684
+-127.748 34.244 2685
+-127.622 34.244 2685
+-127.496 34.244 2738
+-127.37 34.244 2797
+-127.244 34.244 2797
+-127.118 34.244 2798
+-126.992 34.244 2799
+-126.866 34.244 2800
+-126.74 34.244 2802
+-126.614 34.244 2890
+-126.488 34.244 2948
+-126.362 34.244 2950
+-126.236 34.244 2952
+-126.11 34.244 2986
+-125.984 34.244 2988
+-125.858 34.244 3137
+-125.732 34.244 3193
+-125.606 34.244 3204
+-125.48 34.244 3212
+-125.354 34.244 3221
+-125.228 34.244 3289
+-125.102 34.244 3302
+-124.976 34.244 3392
+-124.85 34.244 3406
+-124.724 34.244 3528
+-124.598 34.244 3539
+-124.472 34.244 3641
+-124.346 34.244 3658
+-124.22 34.244 3677
+-124.094 34.244 3698
+-123.968 34.244 3816
+-123.842 34.244 3917
+-123.716 34.244 3975
+-123.59 34.244 4064
+-123.464 34.244 4113
+-123.338 34.244 4127
+-123.212 34.244 4142
+-123.086 34.244 4120
+-122.96 34.244 3997
+-122.834 34.244 3798
+-122.708 34.244 3631
+-122.582 34.244 3882
+-122.456 34.244 4234
+-122.33 34.244 4380
+-122.204 34.244 4388
+-122.078 34.244 4550
+-121.952 34.244 4696
+-121.826 34.244 4797
+-121.7 34.244 4825
+-121.574 34.244 4905
+-121.448 34.244 4957
+-121.322 34.244 5112
+-121.196 34.244 5304
+-121.07 34.244 5521
+-120.944 34.244 5600
+-120.818 34.244 5801
+-120.692 34.244 5892
+-120.566 34.244 6057
+-120.44 34.244 6126
+-120.314 34.244 6286
+-120.188 34.244 6381
+-120.062 34.244 6603
+-119.936 34.244 6689
+-119.81 34.244 6817
+-119.684 34.244 7020
+-119.558 34.244 7134
+-119.432 34.244 7257
+-119.306 34.244 7404
+-119.18 34.244 7569
+-119.054 34.244 7648
+-118.928 34.244 7826
+-118.802 34.244 7950
+-118.676 34.244 8100
+-118.55 34.244 8210
+-118.424 34.244 8353
+-118.298 34.244 8492
+-118.172 34.244 8619
+-118.046 34.244 8725
+-117.92 34.244 8843
+-117.794 34.244 8987
+-117.668 34.244 9138
+-117.542 34.244 9252
+-117.416 34.244 9427
+-117.29 34.244 9405
+-117.164 34.244 9335
+-117.038 34.244 9203
+-116.912 34.244 9061
+-116.786 34.244 8912
+-116.66 34.244 8754
+-116.534 34.244 8645
+-116.408 34.244 8533
+-116.282 34.244 8422
+-116.156 34.244 8247
+-116.03 34.244 8101
+-115.904 34.244 7991
+-115.778 34.244 7850
+-115.652 34.244 7752
+-115.526 34.244 7632
+-115.4 34.244 7376
+-115.274 34.244 7307
+-115.148 34.244 7161
+-115.022 34.244 7015
+-114.896 34.244 6874
+-114.77 34.244 6762
+-114.644 34.244 6636
+-114.518 34.244 6464
+-114.392 34.244 6296
+-114.266 34.244 6262
+-114.14 34.244 6098
+-114.014 34.244 5959
+-113.888 34.244 5888
+-113.762 34.244 5754
+-113.636 34.244 5660
+-113.51 34.244 5519
+-113.384 34.244 5383
+-113.258 34.244 5245
+-113.132 34.244 5343
+-113.006 34.244 5452
+-112.88 34.244 5563
+-112.754 34.244 5604
+-112.628 34.244 5750
+-112.502 34.244 5773
+-112.376 34.244 5882
+-112.25 34.244 6012
+-112.124 34.244 6036
+-111.998 34.244 6147
+-111.872 34.244 6192
+-111.746 34.244 6262
+-111.62 34.244 6359
+-111.494 34.244 6352
+-111.368 34.244 6421
+-111.242 34.244 6500
+-111.116 34.244 6527
+-110.99 34.244 6527
+-110.864 34.244 6554
+-110.738 34.244 6552
+-110.612 34.244 6579
+-110.486 34.244 6573
+-110.36 34.244 6585
+-110.234 34.244 6601
+-110.108 34.244 6582
+-109.982 34.244 6571
+-109.856 34.244 6579
+-109.73 34.244 6557
+-109.604 34.244 6513
+-109.478 34.244 6439
+-109.352 34.244 6376
+-109.226 34.244 6323
+-109.1 34.244 6326
+-108.974 34.244 6215
+-108.848 34.244 6174
+-108.722 34.244 6067
+-108.596 34.244 5970
+-108.47 34.244 5938
+-108.344 34.244 5857
+-108.218 34.244 5784
+-108.092 34.244 5689
+-107.966 34.244 5603
+-107.84 34.244 5517
+-107.714 34.244 5434
+-107.588 34.244 5325
+-107.462 34.244 5250
+-107.336 34.244 5182
+-107.21 34.244 5070
+-107.084 34.244 4939
+-106.958 34.244 4854
+-106.832 34.244 4799
+-106.706 34.244 4689
+-106.58 34.244 4610
+-106.454 34.244 4512
+-106.328 34.244 4387
+-106.202 34.244 4358
+-106.076 34.244 4344
+-105.95 34.244 4332
+-105.824 34.244 4307
+-105.698 34.244 4306
+-105.572 34.244 4307
+-105.446 34.244 4308
+-105.32 34.244 4299
+-105.194 34.244 4191
+-105.068 34.244 4181
+-104.942 34.244 4173
+-104.816 34.244 4134
+-104.69 34.244 4060
+-104.564 34.244 4064
+-104.438 34.244 4011
+-104.312 34.244 3971
+-104.186 34.244 3952
+-104.06 34.244 3944
+-103.934 34.244 3883
+-103.808 34.244 3852
+-103.682 34.244 3788
+-103.556 34.244 3798
+-103.43 34.244 3795
+-103.304 34.244 3793
+-103.178 34.244 3792
+-103.052 34.244 3791
+-102.926 34.244 3791
+-102.8 34.244 3731
+-102.674 34.244 3701
+-102.548 34.244 3629
+-102.422 34.244 3624
+-102.296 34.244 3624
+-102.17 34.244 3632
+-102.044 34.244 3632
+-101.918 34.244 3633
+-101.792 34.244 3633
+-101.666 34.244 3621
+-101.54 34.244 3606
+-101.414 34.244 3505
+-101.288 34.244 3500
+-101.162 34.244 3495
+-101.036 34.244 3489
+-100.91 34.244 3468
+-100.784 34.244 3443
+-100.658 34.244 3400
+-100.532 34.244 3371
+-100.406 34.244 3362
+-100.28 34.244 3273
+-100.154 34.244 3178
+-100.028 34.244 3160
+-99.902 34.244 3161
+-99.776 34.244 3126
+-99.65 34.244 3145
+-99.524 34.244 3241
+-99.398 34.244 3244
+-99.272 34.244 3293
+-99.146 34.244 3292
+-99.02 34.244 3291
+-98.894 34.244 3311
+-98.768 34.244 3286
+-98.642 34.244 3285
+-98.516 34.244 3285
+-98.39 34.244 3301
+-98.264 34.244 3301
+-98.138 34.244 3301
+-98.012 34.244 3300
+-97.886 34.244 3300
+-97.76 34.244 3299
+-97.634 34.244 3243
+-97.508 34.244 3342
+-97.382 34.244 3235
+-97.256 34.244 3241
+-97.13 34.244 3241
+-97.004 34.244 3269
+-96.878 34.244 3360
+-96.752 34.244 3330
+-96.626 34.244 3375
+-96.5 34.244 3388
+-96.374 34.244 3374
+-96.248 34.244 3359
+-96.122 34.244 3361
+-95.996 34.244 3316
+-95.87 34.244 3318
+-95.744 34.244 3263
+-95.618 34.244 3258
+-95.492 34.244 3234
+-95.366 34.244 3198
+-95.24 34.244 3132
+-95.114 34.244 3093
+-94.988 34.244 3054
+-94.862 34.244 3030
+-94.736 34.244 3043
+-94.61 34.244 3110
+-94.484 34.244 3175
+-94.358 34.244 3252
+-94.232 34.244 3318
+-94.106 34.244 3383
+-93.98 34.244 3443
+-93.854 34.244 3531
+-93.728 34.244 3578
+-93.602 34.244 3592
+-93.476 34.244 3576
+-93.35 34.244 3649
+-93.224 34.244 3783
+-93.098 34.244 3866
+-92.972 34.244 3933
+-92.846 34.244 3972
+-92.72 34.244 4024
+-92.594 34.244 4064
+-92.468 34.244 4141
+-92.342 34.244 4304
+-92.216 34.244 4464
+-92.09 34.244 4545
+-91.964 34.244 4646
+-91.838 34.244 4726
+-91.712 34.244 4829
+-91.586 34.244 4916
+-91.46 34.244 5002
+-91.334 34.244 5093
+-91.208 34.244 5153
+-91.082 34.244 5193
+-90.956 34.244 5220
+-90.83 34.244 5308
+-90.704 34.244 5391
+-90.578 34.244 5509
+-90.452 34.244 5614
+-90.326 34.244 5669
+-90.2 34.244 5694
+-90.074 34.244 5722
+-89.948 34.244 5753
+-89.822 34.244 5776
+-89.696 34.244 5810
+-89.57 34.244 5844
+-89.444 34.244 5883
+-89.318 34.244 5900
+-89.192 34.244 5915
+-89.066 34.244 5942
+-88.94 34.244 5920
+-88.814 34.244 5921
+-88.688 34.244 5922
+-88.562 34.244 5938
+-88.436 34.244 5916
+-88.31 34.244 5908
+-88.184 34.244 5895
+-88.058 34.244 5853
+-87.932 34.244 5791
+-87.806 34.244 5749
+-87.68 34.244 5722
+-87.554 34.244 5686
+-87.428 34.244 5643
+-87.302 34.244 5585
+-87.176 34.244 5536
+-87.05 34.244 5548
+-86.924 34.244 5535
+-86.798 34.244 5456
+-86.672 34.244 5394
+-86.546 34.244 5258
+-86.42 34.244 5115
+-86.294 34.244 4999
+-86.168 34.244 4951
+-86.042 34.244 4846
+-85.916 34.244 4700
+-85.79 34.244 4619
+-85.664 34.244 4567
+-85.538 34.244 4506
+-85.412 34.244 4406
+-85.286 34.244 4315
+-85.16 34.244 4236
+-85.034 34.244 4202
+-84.908 34.244 4176
+-84.782 34.244 4133
+-84.656 34.244 4059
+-84.53 34.244 3961
+-84.404 34.244 3802
+-84.278 34.244 3643
+-84.152 34.244 3521
+-84.026 34.244 3521
+-83.9 34.244 3532
+-83.774 34.244 3548
+-83.648 34.244 3516
+-83.522 34.244 3480
+-83.396 34.244 3421
+-83.27 34.244 3315
+-83.144 34.244 3201
+-83.018 34.244 3060
+-82.892 34.244 2950
+-82.766 34.244 2900
+-82.64 34.244 2899
+-82.514 34.244 2955
+-82.388 34.244 3040
+-82.262 34.244 3091
+-82.136 34.244 3133
+-82.01 34.244 3190
+-81.884 34.244 3161
+-81.758 34.244 3203
+-81.632 34.244 3204
+-81.506 34.244 3180
+-81.38 34.244 3175
+-81.254 34.244 3139
+-81.128 34.244 3107
+-81.002 34.244 3101
+-80.876 34.244 3080
+-80.75 34.244 3053
+-80.624 34.244 3036
+-80.498 34.244 3005
+-80.372 34.244 2961
+-80.246 34.244 2912
+-80.12 34.244 2888
+-79.994 34.244 2847
+-79.868 34.244 2785
+-79.742 34.244 2723
+-79.616 34.244 2667
+-79.49 34.244 2608
+-79.364 34.244 2594
+-79.238 34.244 2565
+-79.112 34.244 2548
+-78.986 34.244 2522
+-78.86 34.244 2555
+-78.734 34.244 2569
+-78.608 34.244 2587
+-78.482 34.244 2608
+-78.356 34.244 2631
+-78.23 34.244 2655
+-78.104 34.244 2690
+-77.978 34.244 2715
+-77.852 34.244 2740
+-77.726 34.244 2832
+-77.6 34.244 2866
+-77.474 34.244 2891
+-77.348 34.244 2916
+-77.222 34.244 2939
+-77.096 34.244 2964
+-76.97 34.244 2989
+-76.844 34.244 3010
+-76.718 34.244 3026
+-76.592 34.244 3044
+-76.466 34.244 3033
+-76.34 34.244 3048
+-76.214 34.244 3063
+-76.088 34.244 3114
+-75.962 34.244 3125
+-75.836 34.244 3144
+-75.71 34.244 3157
+-75.584 34.244 3157
+-75.458 34.244 3181
+-75.332 34.244 3223
+-75.206 34.244 3239
+-75.08 34.244 3249
+-74.954 34.244 3258
+-74.828 34.244 3300
+-74.702 34.244 3311
+-74.576 34.244 3274
+-74.45 34.244 3295
+-74.324 34.244 3299
+-74.198 34.244 3239
+-74.072 34.244 3175
+-73.946 34.244 3195
+-73.82 34.244 3201
+-73.694 34.244 3229
+-73.568 34.244 3214
+-73.442 34.244 3225
+-73.316 34.244 3230
+-73.19 34.244 3219
+-73.064 34.244 3224
+-72.938 34.244 3229
+-72.812 34.244 3213
+-72.686 34.244 3201
+-72.56 34.244 3229
+-72.434 34.244 3227
+-72.308 34.244 3232
+-72.182 34.244 3236
+-72.056 34.244 3166
+-71.93 34.244 3203
+-71.804 34.244 3201
+-71.678 34.244 3205
+-71.552 34.244 3208
+-71.426 34.244 3416
+-71.3 34.244 3347
+-71.174 34.244 3359
+-71.048 34.244 3361
+-70.922 34.244 3265
+-70.796 34.244 3254
+-70.67 34.244 3256
+-70.544 34.244 3257
+-70.418 34.244 3238
+-70.292 34.244 3239
+-70.166 34.244 3241
+-70.04 34.244 3242
+-69.914 34.244 3243
+-69.788 34.244 3264
+-69.662 34.244 3265
+-69.536 34.244 3251
+-69.41 34.244 3253
+-69.284 34.244 3254
+-69.158 34.244 3198
+-69.032 34.244 3376
+-68.906 34.244 3339
+-68.78 34.244 3340
+-68.654 34.244 3308
+-68.528 34.244 3309
+-68.402 34.244 3311
+-68.276 34.244 3438
+-68.15 34.244 3439
+-68.024 34.244 3440
+-67.898 34.244 3441
+-67.772 34.244 3442
+-67.646 34.244 3553
+-67.52 34.244 3554
+-67.394 34.244 3470
+-67.268 34.244 3472
+-67.142 34.244 3473
+-67.016 34.244 3474
+-66.89 34.244 3482
+-66.764 34.244 3441
+-66.638 34.244 3434
+-66.512 34.244 3383
+-66.386 34.244 3384
+-66.26 34.244 3346
+-66.134 34.244 3392
+-66.008 34.244 3393
+-65.882 34.244 3394
+-65.756 34.244 3395
+-65.63 34.244 3396
+-65.504 34.244 3397
+-65.378 34.244 3398
+-65.252 34.244 3372
+-65.126 34.244 3373
+-128 34.192 2682
+-127.874 34.192 2682
+-127.748 34.192 2683
+-127.622 34.192 2683
+-127.496 34.192 2684
+-127.37 34.192 2737
+-127.244 34.192 2799
+-127.118 34.192 2800
+-126.992 34.192 2801
+-126.866 34.192 2802
+-126.74 34.192 2886
+-126.614 34.192 2886
+-126.488 34.192 2886
+-126.362 34.192 2947
+-126.236 34.192 2949
+-126.11 34.192 2952
+-125.984 34.192 3037
+-125.858 34.192 3164
+-125.732 34.192 3170
+-125.606 34.192 3203
+-125.48 34.192 3210
+-125.354 34.192 3220
+-125.228 34.192 3284
+-125.102 34.192 3297
+-124.976 34.192 3312
+-124.85 34.192 3405
+-124.724 34.192 3426
+-124.598 34.192 3548
+-124.472 34.192 3649
+-124.346 34.192 3665
+-124.22 34.192 3683
+-124.094 34.192 3782
+-123.968 34.192 3815
+-123.842 34.192 3920
+-123.716 34.192 4007
+-123.59 34.192 4071
+-123.464 34.192 4129
+-123.338 34.192 4118
+-123.212 34.192 4137
+-123.086 34.192 4090
+-122.96 34.192 4042
+-122.834 34.192 3903
+-122.708 34.192 3832
+-122.582 34.192 4012
+-122.456 34.192 4280
+-122.33 34.192 4428
+-122.204 34.192 4526
+-122.078 34.192 4611
+-121.952 34.192 4710
+-121.826 34.192 4827
+-121.7 34.192 4860
+-121.574 34.192 4844
+-121.448 34.192 4974
+-121.322 34.192 5147
+-121.196 34.192 5257
+-121.07 34.192 5459
+-120.944 34.192 5691
+-120.818 34.192 5832
+-120.692 34.192 5838
+-120.566 34.192 5986
+-120.44 34.192 6116
+-120.314 34.192 6288
+-120.188 34.192 6435
+-120.062 34.192 6555
+-119.936 34.192 6678
+-119.81 34.192 6843
+-119.684 34.192 6963
+-119.558 34.192 7166
+-119.432 34.192 7231
+-119.306 34.192 7324
+-119.18 34.192 7456
+-119.054 34.192 7667
+-118.928 34.192 7803
+-118.802 34.192 7925
+-118.676 34.192 8055
+-118.55 34.192 8236
+-118.424 34.192 8342
+-118.298 34.192 8484
+-118.172 34.192 8645
+-118.046 34.192 8794
+-117.92 34.192 8911
+-117.794 34.192 9045
+-117.668 34.192 9103
+-117.542 34.192 9316
+-117.416 34.192 9381
+-117.29 34.192 9506
+-117.164 34.192 9335
+-117.038 34.192 9195
+-116.912 34.192 9058
+-116.786 34.192 8957
+-116.66 34.192 8829
+-116.534 34.192 8675
+-116.408 34.192 8498
+-116.282 34.192 8385
+-116.156 34.192 8248
+-116.03 34.192 8082
+-115.904 34.192 7966
+-115.778 34.192 7843
+-115.652 34.192 7710
+-115.526 34.192 7584
+-115.4 34.192 7424
+-115.274 34.192 7314
+-115.148 34.192 7177
+-115.022 34.192 6994
+-114.896 34.192 6916
+-114.77 34.192 6691
+-114.644 34.192 6625
+-114.518 34.192 6463
+-114.392 34.192 6336
+-114.266 34.192 6239
+-114.14 34.192 6172
+-114.014 34.192 6049
+-113.888 34.192 5956
+-113.762 34.192 5847
+-113.636 34.192 5656
+-113.51 34.192 5551
+-113.384 34.192 5407
+-113.258 34.192 5256
+-113.132 34.192 5423
+-113.006 34.192 5497
+-112.88 34.192 5626
+-112.754 34.192 5646
+-112.628 34.192 5730
+-112.502 34.192 5836
+-112.376 34.192 5962
+-112.25 34.192 6070
+-112.124 34.192 6135
+-111.998 34.192 6200
+-111.872 34.192 6241
+-111.746 34.192 6309
+-111.62 34.192 6341
+-111.494 34.192 6401
+-111.368 34.192 6479
+-111.242 34.192 6532
+-111.116 34.192 6565
+-110.99 34.192 6597
+-110.864 34.192 6609
+-110.738 34.192 6641
+-110.612 34.192 6650
+-110.486 34.192 6653
+-110.36 34.192 6658
+-110.234 34.192 6655
+-110.108 34.192 6643
+-109.982 34.192 6644
+-109.856 34.192 6633
+-109.73 34.192 6611
+-109.604 34.192 6544
+-109.478 34.192 6520
+-109.352 34.192 6453
+-109.226 34.192 6382
+-109.1 34.192 6346
+-108.974 34.192 6305
+-108.848 34.192 6247
+-108.722 34.192 6131
+-108.596 34.192 6046
+-108.47 34.192 6019
+-108.344 34.192 5906
+-108.218 34.192 5827
+-108.092 34.192 5719
+-107.966 34.192 5621
+-107.84 34.192 5489
+-107.714 34.192 5487
+-107.588 34.192 5369
+-107.462 34.192 5284
+-107.336 34.192 5205
+-107.21 34.192 5108
+-107.084 34.192 4921
+-106.958 34.192 4758
+-106.832 34.192 4786
+-106.706 34.192 4680
+-106.58 34.192 4602
+-106.454 34.192 4556
+-106.328 34.192 4495
+-106.202 34.192 4411
+-106.076 34.192 4361
+-105.95 34.192 4329
+-105.824 34.192 4326
+-105.698 34.192 4322
+-105.572 34.192 4316
+-105.446 34.192 4324
+-105.32 34.192 4238
+-105.194 34.192 4234
+-105.068 34.192 4226
+-104.942 34.192 4123
+-104.816 34.192 4107
+-104.69 34.192 4072
+-104.564 34.192 3999
+-104.438 34.192 3973
+-104.312 34.192 3952
+-104.186 34.192 3942
+-104.06 34.192 3880
+-103.934 34.192 3849
+-103.808 34.192 3805
+-103.682 34.192 3793
+-103.556 34.192 3789
+-103.43 34.192 3787
+-103.304 34.192 3786
+-103.178 34.192 3785
+-103.052 34.192 3784
+-102.926 34.192 3727
+-102.8 34.192 3733
+-102.674 34.192 3734
+-102.548 34.192 3735
+-102.422 34.192 3672
+-102.296 34.192 3683
+-102.17 34.192 3685
+-102.044 34.192 3686
+-101.918 34.192 3688
+-101.792 34.192 3620
+-101.666 34.192 3605
+-101.54 34.192 3607
+-101.414 34.192 3509
+-101.288 34.192 3504
+-101.162 34.192 3499
+-101.036 34.192 3494
+-100.91 34.192 3458
+-100.784 34.192 3442
+-100.658 34.192 3409
+-100.532 34.192 3381
+-100.406 34.192 3371
+-100.28 34.192 3281
+-100.154 34.192 3183
+-100.028 34.192 3164
+-99.902 34.192 3116
+-99.776 34.192 3128
+-99.65 34.192 3145
+-99.524 34.192 3242
+-99.398 34.192 3245
+-99.272 34.192 3294
+-99.146 34.192 3294
+-99.02 34.192 3313
+-98.894 34.192 3287
+-98.768 34.192 3287
+-98.642 34.192 3286
+-98.516 34.192 3302
+-98.39 34.192 3302
+-98.264 34.192 3301
+-98.138 34.192 3301
+-98.012 34.192 3300
+-97.886 34.192 3299
+-97.76 34.192 3240
+-97.634 34.192 3340
+-97.508 34.192 3230
+-97.382 34.192 3235
+-97.256 34.192 3234
+-97.13 34.192 3265
+-97.004 34.192 3302
+-96.878 34.192 3324
+-96.752 34.192 3372
+-96.626 34.192 3384
+-96.5 34.192 3371
+-96.374 34.192 3356
+-96.248 34.192 3359
+-96.122 34.192 3313
+-95.996 34.192 3315
+-95.87 34.192 3259
+-95.744 34.192 3255
+-95.618 34.192 3230
+-95.492 34.192 3192
+-95.366 34.192 3123
+-95.24 34.192 3075
+-95.114 34.192 3017
+-94.988 34.192 2949
+-94.862 34.192 2889
+-94.736 34.192 2881
+-94.61 34.192 2939
+-94.484 34.192 3059
+-94.358 34.192 3164
+-94.232 34.192 3259
+-94.106 34.192 3338
+-93.98 34.192 3396
+-93.854 34.192 3491
+-93.728 34.192 3531
+-93.602 34.192 3585
+-93.476 34.192 3603
+-93.35 34.192 3659
+-93.224 34.192 3720
+-93.098 34.192 3777
+-92.972 34.192 3787
+-92.846 34.192 3880
+-92.72 34.192 3985
+-92.594 34.192 4001
+-92.468 34.192 4088
+-92.342 34.192 4243
+-92.216 34.192 4391
+-92.09 34.192 4503
+-91.964 34.192 4547
+-91.838 34.192 4624
+-91.712 34.192 4737
+-91.586 34.192 4865
+-91.46 34.192 4974
+-91.334 34.192 5065
+-91.208 34.192 5085
+-91.082 34.192 5140
+-90.956 34.192 5173
+-90.83 34.192 5239
+-90.704 34.192 5330
+-90.578 34.192 5433
+-90.452 34.192 5536
+-90.326 34.192 5582
+-90.2 34.192 5586
+-90.074 34.192 5670
+-89.948 34.192 5681
+-89.822 34.192 5728
+-89.696 34.192 5762
+-89.57 34.192 5782
+-89.444 34.192 5822
+-89.318 34.192 5847
+-89.192 34.192 5864
+-89.066 34.192 5882
+-88.94 34.192 5860
+-88.814 34.192 5880
+-88.688 34.192 5892
+-88.562 34.192 5879
+-88.436 34.192 5853
+-88.31 34.192 5859
+-88.184 34.192 5818
+-88.058 34.192 5763
+-87.932 34.192 5738
+-87.806 34.192 5709
+-87.68 34.192 5664
+-87.554 34.192 5614
+-87.428 34.192 5577
+-87.302 34.192 5524
+-87.176 34.192 5471
+-87.05 34.192 5491
+-86.924 34.192 5461
+-86.798 34.192 5351
+-86.672 34.192 5272
+-86.546 34.192 5130
+-86.42 34.192 4993
+-86.294 34.192 4897
+-86.168 34.192 4840
+-86.042 34.192 4761
+-85.916 34.192 4628
+-85.79 34.192 4559
+-85.664 34.192 4524
+-85.538 34.192 4498
+-85.412 34.192 4432
+-85.286 34.192 4318
+-85.16 34.192 4224
+-85.034 34.192 4174
+-84.908 34.192 4151
+-84.782 34.192 4106
+-84.656 34.192 4022
+-84.53 34.192 3904
+-84.404 34.192 3711
+-84.278 34.192 3428
+-84.152 34.192 3286
+-84.026 34.192 3344
+-83.9 34.192 3437
+-83.774 34.192 3485
+-83.648 34.192 3464
+-83.522 34.192 3428
+-83.396 34.192 3344
+-83.27 34.192 3248
+-83.144 34.192 3114
+-83.018 34.192 2958
+-82.892 34.192 2819
+-82.766 34.192 2759
+-82.64 34.192 2794
+-82.514 34.192 2888
+-82.388 34.192 2976
+-82.262 34.192 3057
+-82.136 34.192 3121
+-82.01 34.192 3172
+-81.884 34.192 3173
+-81.758 34.192 3198
+-81.632 34.192 3216
+-81.506 34.192 3226
+-81.38 34.192 3216
+-81.254 34.192 3199
+-81.128 34.192 3208
+-81.002 34.192 3149
+-80.876 34.192 3130
+-80.75 34.192 3106
+-80.624 34.192 3085
+-80.498 34.192 3050
+-80.372 34.192 3010
+-80.246 34.192 2997
+-80.12 34.192 2968
+-79.994 34.192 2914
+-79.868 34.192 2859
+-79.742 34.192 2804
+-79.616 34.192 2745
+-79.49 34.192 2726
+-79.364 34.192 2687
+-79.238 34.192 2656
+-79.112 34.192 2662
+-78.986 34.192 2629
+-78.86 34.192 2626
+-78.734 34.192 2677
+-78.608 34.192 2685
+-78.482 34.192 2698
+-78.356 34.192 2714
+-78.23 34.192 2745
+-78.104 34.192 2766
+-77.978 34.192 2783
+-77.852 34.192 2821
+-77.726 34.192 2853
+-77.6 34.192 2877
+-77.474 34.192 2902
+-77.348 34.192 2925
+-77.222 34.192 2950
+-77.096 34.192 2976
+-76.97 34.192 2997
+-76.844 34.192 3014
+-76.718 34.192 3033
+-76.592 34.192 3023
+-76.466 34.192 3039
+-76.34 34.192 3054
+-76.214 34.192 3105
+-76.088 34.192 3117
+-75.962 34.192 3136
+-75.836 34.192 3150
+-75.71 34.192 3150
+-75.584 34.192 3175
+-75.458 34.192 3216
+-75.332 34.192 3233
+-75.206 34.192 3244
+-75.08 34.192 3254
+-74.954 34.192 3295
+-74.828 34.192 3306
+-74.702 34.192 3270
+-74.576 34.192 3291
+-74.45 34.192 3296
+-74.324 34.192 3238
+-74.198 34.192 3173
+-74.072 34.192 3193
+-73.946 34.192 3199
+-73.82 34.192 3227
+-73.694 34.192 3212
+-73.568 34.192 3223
+-73.442 34.192 3229
+-73.316 34.192 3218
+-73.19 34.192 3223
+-73.064 34.192 3228
+-72.938 34.192 3212
+-72.812 34.192 3200
+-72.686 34.192 3228
+-72.56 34.192 3226
+-72.434 34.192 3231
+-72.308 34.192 3236
+-72.182 34.192 3166
+-72.056 34.192 3202
+-71.93 34.192 3201
+-71.804 34.192 3204
+-71.678 34.192 3208
+-71.552 34.192 3414
+-71.426 34.192 3349
+-71.3 34.192 3357
+-71.174 34.192 3360
+-71.048 34.192 3263
+-70.922 34.192 3253
+-70.796 34.192 3254
+-70.67 34.192 3256
+-70.544 34.192 3237
+-70.418 34.192 3238
+-70.292 34.192 3240
+-70.166 34.192 3241
+-70.04 34.192 3243
+-69.914 34.192 3262
+-69.788 34.192 3264
+-69.662 34.192 3250
+-69.536 34.192 3252
+-69.41 34.192 3254
+-69.284 34.192 3197
+-69.158 34.192 3375
+-69.032 34.192 3337
+-68.906 34.192 3338
+-68.78 34.192 3307
+-68.654 34.192 3308
+-68.528 34.192 3310
+-68.402 34.192 3437
+-68.276 34.192 3438
+-68.15 34.192 3439
+-68.024 34.192 3440
+-67.898 34.192 3441
+-67.772 34.192 3551
+-67.646 34.192 3553
+-67.52 34.192 3469
+-67.394 34.192 3470
+-67.268 34.192 3471
+-67.142 34.192 3472
+-67.016 34.192 3480
+-66.89 34.192 3440
+-66.764 34.192 3433
+-66.638 34.192 3382
+-66.512 34.192 3383
+-66.386 34.192 3345
+-66.26 34.192 3391
+-66.134 34.192 3392
+-66.008 34.192 3393
+-65.882 34.192 3394
+-65.756 34.192 3395
+-65.63 34.192 3396
+-65.504 34.192 3397
+-65.378 34.192 3371
+-65.252 34.192 3372
+-65.126 34.192 3373
+-128 34.14 2680
+-127.874 34.14 2680
+-127.748 34.14 2680
+-127.622 34.14 2681
+-127.496 34.14 2681
+-127.37 34.14 2682
+-127.244 34.14 2735
+-127.118 34.14 2798
+-126.992 34.14 2799
+-126.866 34.14 2880
+-126.74 34.14 2880
+-126.614 34.14 2880
+-126.488 34.14 2880
+-126.362 34.14 2882
+-126.236 34.14 2920
+-126.11 34.14 2999
+-125.984 34.14 3001
+-125.858 34.14 3030
+-125.732 34.14 3160
+-125.606 34.14 3167
+-125.48 34.14 3202
+-125.354 34.14 3211
+-125.228 34.14 3222
+-125.102 34.14 3283
+-124.976 34.14 3298
+-124.85 34.14 3315
+-124.724 34.14 3422
+-124.598 34.14 3439
+-124.472 34.14 3569
+-124.346 34.14 3670
+-124.22 34.14 3764
+-124.094 34.14 3793
+-123.968 34.14 3886
+-123.842 34.14 3970
+-123.716 34.14 3999
+-123.59 34.14 4080
+-123.464 34.14 4083
+-123.338 34.14 4122
+-123.212 34.14 4108
+-123.086 34.14 4130
+-122.96 34.14 4129
+-122.834 34.14 4096
+-122.708 34.14 4103
+-122.582 34.14 4200
+-122.456 34.14 4350
+-122.33 34.14 4452
+-122.204 34.14 4546
+-122.078 34.14 4646
+-121.952 34.14 4747
+-121.826 34.14 4831
+-121.7 34.14 4881
+-121.574 34.14 4955
+-121.448 34.14 5061
+-121.322 34.14 5138
+-121.196 34.14 5292
+-121.07 34.14 5474
+-120.944 34.14 5682
+-120.818 34.14 5826
+-120.692 34.14 5890
+-120.566 34.14 6015
+-120.44 34.14 6198
+-120.314 34.14 6278
+-120.188 34.14 6436
+-120.062 34.14 6525
+-119.936 34.14 6665
+-119.81 34.14 6808
+-119.684 34.14 6950
+-119.558 34.14 7111
+-119.432 34.14 7182
+-119.306 34.14 7357
+-119.18 34.14 7531
+-119.054 34.14 7633
+-118.928 34.14 7814
+-118.802 34.14 7976
+-118.676 34.14 8075
+-118.55 34.14 8194
+-118.424 34.14 8279
+-118.298 34.14 8504
+-118.172 34.14 8552
+-118.046 34.14 8755
+-117.92 34.14 8868
+-117.794 34.14 9026
+-117.668 34.14 9157
+-117.542 34.14 9306
+-117.416 34.14 9446
+-117.29 34.14 9481
+-117.164 34.14 9369
+-117.038 34.14 9197
+-116.912 34.14 9102
+-116.786 34.14 8896
+-116.66 34.14 8780
+-116.534 34.14 8664
+-116.408 34.14 8522
+-116.282 34.14 8392
+-116.156 34.14 8266
+-116.03 34.14 8128
+-115.904 34.14 7977
+-115.778 34.14 7837
+-115.652 34.14 7720
+-115.526 34.14 7538
+-115.4 34.14 7457
+-115.274 34.14 7324
+-115.148 34.14 7101
+-115.022 34.14 6998
+-114.896 34.14 6886
+-114.77 34.14 6758
+-114.644 34.14 6604
+-114.518 34.14 6515
+-114.392 34.14 6383
+-114.266 34.14 6279
+-114.14 34.14 6234
+-114.014 34.14 6152
+-113.888 34.14 5909
+-113.762 34.14 5901
+-113.636 34.14 5709
+-113.51 34.14 5552
+-113.384 34.14 5416
+-113.258 34.14 5311
+-113.132 34.14 5428
+-113.006 34.14 5528
+-112.88 34.14 5651
+-112.754 34.14 5702
+-112.628 34.14 5819
+-112.502 34.14 5897
+-112.376 34.14 6013
+-112.25 34.14 6125
+-112.124 34.14 6154
+-111.998 34.14 6269
+-111.872 34.14 6300
+-111.746 34.14 6410
+-111.62 34.14 6440
+-111.494 34.14 6460
+-111.368 34.14 6552
+-111.242 34.14 6610
+-111.116 34.14 6646
+-110.99 34.14 6691
+-110.864 34.14 6712
+-110.738 34.14 6737
+-110.612 34.14 6732
+-110.486 34.14 6740
+-110.36 34.14 6742
+-110.234 34.14 6732
+-110.108 34.14 6723
+-109.982 34.14 6696
+-109.856 34.14 6677
+-109.73 34.14 6644
+-109.604 34.14 6627
+-109.478 34.14 6586
+-109.352 34.14 6511
+-109.226 34.14 6443
+-109.1 34.14 6383
+-108.974 34.14 6360
+-108.848 34.14 6276
+-108.722 34.14 6196
+-108.596 34.14 6121
+-108.47 34.14 5997
+-108.344 34.14 5961
+-108.218 34.14 5859
+-108.092 34.14 5757
+-107.966 34.14 5667
+-107.84 34.14 5591
+-107.714 34.14 5513
+-107.588 34.14 5432
+-107.462 34.14 5300
+-107.336 34.14 5136
+-107.21 34.14 5154
+-107.084 34.14 5037
+-106.958 34.14 4869
+-106.832 34.14 4780
+-106.706 34.14 4645
+-106.58 34.14 4538
+-106.454 34.14 4555
+-106.328 34.14 4512
+-106.202 34.14 4418
+-106.076 34.14 4349
+-105.95 34.14 4316
+-105.824 34.14 4314
+-105.698 34.14 4335
+-105.572 34.14 4323
+-105.446 34.14 4266
+-105.32 34.14 4245
+-105.194 34.14 4236
+-105.068 34.14 4149
+-104.942 34.14 4125
+-104.816 34.14 4109
+-104.69 34.14 4041
+-104.564 34.14 4009
+-104.438 34.14 3983
+-104.312 34.14 3971
+-104.186 34.14 3877
+-104.06 34.14 3871
+-103.934 34.14 3800
+-103.808 34.14 3786
+-103.682 34.14 3783
+-103.556 34.14 3780
+-103.43 34.14 3778
+-103.304 34.14 3777
+-103.178 34.14 3777
+-103.052 34.14 3738
+-102.926 34.14 3726
+-102.8 34.14 3727
+-102.674 34.14 3728
+-102.548 34.14 3694
+-102.422 34.14 3679
+-102.296 34.14 3680
+-102.17 34.14 3682
+-102.044 34.14 3684
+-101.918 34.14 3619
+-101.792 34.14 3646
+-101.666 34.14 3648
+-101.54 34.14 3650
+-101.414 34.14 3564
+-101.288 34.14 3560
+-101.162 34.14 3556
+-101.036 34.14 3529
+-100.91 34.14 3457
+-100.784 34.14 3450
+-100.658 34.14 3405
+-100.532 34.14 3389
+-100.406 34.14 3359
+-100.28 34.14 3290
+-100.154 34.14 3245
+-100.028 34.14 3169
+-99.902 34.14 3156
+-99.776 34.14 3129
+-99.65 34.14 3146
+-99.524 34.14 3243
+-99.398 34.14 3246
+-99.272 34.14 3296
+-99.146 34.14 3316
+-99.02 34.14 3289
+-98.894 34.14 3289
+-98.768 34.14 3288
+-98.642 34.14 3304
+-98.516 34.14 3303
+-98.39 34.14 3302
+-98.264 34.14 3301
+-98.138 34.14 3300
+-98.012 34.14 3299
+-97.886 34.14 3239
+-97.76 34.14 3338
+-97.634 34.14 3225
+-97.508 34.14 3229
+-97.382 34.14 3229
+-97.256 34.14 3196
+-97.13 34.14 3297
+-97.004 34.14 3319
+-96.878 34.14 3305
+-96.752 34.14 3323
+-96.626 34.14 3311
+-96.5 34.14 3299
+-96.374 34.14 3305
+-96.248 34.14 3313
+-96.122 34.14 3264
+-95.996 34.14 3264
+-95.87 34.14 3258
+-95.744 34.14 3236
+-95.618 34.14 3200
+-95.492 34.14 3133
+-95.366 34.14 3087
+-95.24 34.14 3028
+-95.114 34.14 2953
+-94.988 34.14 2858
+-94.862 34.14 2753
+-94.736 34.14 2706
+-94.61 34.14 2778
+-94.484 34.14 2924
+-94.358 34.14 3079
+-94.232 34.14 3179
+-94.106 34.14 3275
+-93.98 34.14 3336
+-93.854 34.14 3419
+-93.728 34.14 3494
+-93.602 34.14 3550
+-93.476 34.14 3594
+-93.35 34.14 3652
+-93.224 34.14 3706
+-93.098 34.14 3730
+-92.972 34.14 3709
+-92.846 34.14 3780
+-92.72 34.14 3906
+-92.594 34.14 4001
+-92.468 34.14 4081
+-92.342 34.14 4215
+-92.216 34.14 4337
+-92.09 34.14 4447
+-91.964 34.14 4483
+-91.838 34.14 4576
+-91.712 34.14 4648
+-91.586 34.14 4795
+-91.46 34.14 4932
+-91.334 34.14 5023
+-91.208 34.14 5090
+-91.082 34.14 5104
+-90.956 34.14 5118
+-90.83 34.14 5196
+-90.704 34.14 5264
+-90.578 34.14 5354
+-90.452 34.14 5477
+-90.326 34.14 5514
+-90.2 34.14 5574
+-90.074 34.14 5615
+-89.948 34.14 5603
+-89.822 34.14 5679
+-89.696 34.14 5714
+-89.57 34.14 5711
+-89.444 34.14 5759
+-89.318 34.14 5802
+-89.192 34.14 5825
+-89.066 34.14 5834
+-88.94 34.14 5832
+-88.814 34.14 5837
+-88.688 34.14 5839
+-88.562 34.14 5821
+-88.436 34.14 5785
+-88.31 34.14 5784
+-88.184 34.14 5744
+-88.058 34.14 5729
+-87.932 34.14 5687
+-87.806 34.14 5627
+-87.68 34.14 5573
+-87.554 34.14 5539
+-87.428 34.14 5510
+-87.302 34.14 5494
+-87.176 34.14 5452
+-87.05 34.14 5385
+-86.924 34.14 5336
+-86.798 34.14 5259
+-86.672 34.14 5165
+-86.546 34.14 5049
+-86.42 34.14 4957
+-86.294 34.14 4865
+-86.168 34.14 4787
+-86.042 34.14 4733
+-85.916 34.14 4593
+-85.79 34.14 4548
+-85.664 34.14 4497
+-85.538 34.14 4482
+-85.412 34.14 4422
+-85.286 34.14 4296
+-85.16 34.14 4153
+-85.034 34.14 4079
+-84.908 34.14 4090
+-84.782 34.14 4076
+-84.656 34.14 3994
+-84.53 34.14 3863
+-84.404 34.14 3621
+-84.278 34.14 3305
+-84.152 34.14 3157
+-84.026 34.14 3256
+-83.9 34.14 3385
+-83.774 34.14 3419
+-83.648 34.14 3413
+-83.522 34.14 3355
+-83.396 34.14 3284
+-83.27 34.14 3188
+-83.144 34.14 3066
+-83.018 34.14 2919
+-82.892 34.14 2765
+-82.766 34.14 2698
+-82.64 34.14 2752
+-82.514 34.14 2862
+-82.388 34.14 2971
+-82.262 34.14 3056
+-82.136 34.14 3125
+-82.01 34.14 3184
+-81.884 34.14 3229
+-81.758 34.14 3212
+-81.632 34.14 3229
+-81.506 34.14 3263
+-81.38 34.14 3249
+-81.254 34.14 3233
+-81.128 34.14 3247
+-81.002 34.14 3235
+-80.876 34.14 3219
+-80.75 34.14 3237
+-80.624 34.14 3211
+-80.498 34.14 3179
+-80.372 34.14 3142
+-80.246 34.14 3094
+-80.12 34.14 3017
+-79.994 34.14 2969
+-79.868 34.14 2920
+-79.742 34.14 2924
+-79.616 34.14 2841
+-79.49 34.14 2796
+-79.364 34.14 2755
+-79.238 34.14 2746
+-79.112 34.14 2750
+-78.986 34.14 2731
+-78.86 34.14 2719
+-78.734 34.14 2713
+-78.608 34.14 2715
+-78.482 34.14 2721
+-78.356 34.14 2744
+-78.23 34.14 2760
+-78.104 34.14 2773
+-77.978 34.14 2807
+-77.852 34.14 2838
+-77.726 34.14 2861
+-77.6 34.14 2886
+-77.474 34.14 2910
+-77.348 34.14 2935
+-77.222 34.14 2961
+-77.096 34.14 2982
+-76.97 34.14 3001
+-76.844 34.14 3021
+-76.718 34.14 3012
+-76.592 34.14 3029
+-76.466 34.14 3045
+-76.34 34.14 3095
+-76.214 34.14 3109
+-76.088 34.14 3128
+-75.962 34.14 3142
+-75.836 34.14 3144
+-75.71 34.14 3168
+-75.584 34.14 3210
+-75.458 34.14 3227
+-75.332 34.14 3238
+-75.206 34.14 3249
+-75.08 34.14 3290
+-74.954 34.14 3301
+-74.828 34.14 3266
+-74.702 34.14 3287
+-74.576 34.14 3292
+-74.45 34.14 3233
+-74.324 34.14 3171
+-74.198 34.14 3191
+-74.072 34.14 3197
+-73.946 34.14 3225
+-73.82 34.14 3211
+-73.694 34.14 3221
+-73.568 34.14 3227
+-73.442 34.14 3217
+-73.316 34.14 3222
+-73.19 34.14 3227
+-73.064 34.14 3211
+-72.938 34.14 3200
+-72.812 34.14 3228
+-72.686 34.14 3226
+-72.56 34.14 3231
+-72.434 34.14 3235
+-72.308 34.14 3166
+-72.182 34.14 3202
+-72.056 34.14 3200
+-71.93 34.14 3204
+-71.804 34.14 3208
+-71.678 34.14 3412
+-71.552 34.14 3344
+-71.426 34.14 3355
+-71.3 34.14 3358
+-71.174 34.14 3262
+-71.048 34.14 3251
+-70.922 34.14 3253
+-70.796 34.14 3255
+-70.67 34.14 3236
+-70.544 34.14 3237
+-70.418 34.14 3239
+-70.292 34.14 3240
+-70.166 34.14 3242
+-70.04 34.14 3261
+-69.914 34.14 3263
+-69.788 34.14 3249
+-69.662 34.14 3251
+-69.536 34.14 3253
+-69.41 34.14 3196
+-69.284 34.14 3374
+-69.158 34.14 3336
+-69.032 34.14 3337
+-68.906 34.14 3306
+-68.78 34.14 3307
+-68.654 34.14 3309
+-68.528 34.14 3436
+-68.402 34.14 3437
+-68.276 34.14 3437
+-68.15 34.14 3438
+-68.024 34.14 3439
+-67.898 34.14 3549
+-67.772 34.14 3551
+-67.646 34.14 3468
+-67.52 34.14 3469
+-67.394 34.14 3470
+-67.268 34.14 3471
+-67.142 34.14 3479
+-67.016 34.14 3438
+-66.89 34.14 3431
+-66.764 34.14 3380
+-66.638 34.14 3382
+-66.512 34.14 3344
+-66.386 34.14 3390
+-66.26 34.14 3391
+-66.134 34.14 3392
+-66.008 34.14 3393
+-65.882 34.14 3394
+-65.756 34.14 3395
+-65.63 34.14 3396
+-65.504 34.14 3370
+-65.378 34.14 3371
+-65.252 34.14 3372
+-65.126 34.14 3341
+-128 34.088 2682
+-127.874 34.088 2682
+-127.748 34.088 2682
+-127.622 34.088 2682
+-127.496 34.088 2682
+-127.37 34.088 2682
+-127.244 34.088 2683
+-127.118 34.088 2733
+-126.992 34.088 2861
+-126.866 34.088 2860
+-126.74 34.088 2859
+-126.614 34.088 2873
+-126.488 34.088 2873
+-126.362 34.088 2916
+-126.236 34.088 2966
+-126.11 34.088 2973
+-125.984 34.088 2990
+-125.858 34.088 3110
+-125.732 34.088 3116
+-125.606 34.088 3154
+-125.48 34.088 3162
+-125.354 34.088 3198
+-125.228 34.088 3209
+-125.102 34.088 3221
+-124.976 34.088 3285
+-124.85 34.088 3302
+-124.724 34.088 3320
+-124.598 34.088 3426
+-124.472 34.088 3532
+-124.346 34.088 3638
+-124.22 34.088 3773
+-124.094 34.088 3866
+-123.968 34.088 3937
+-123.842 34.088 3964
+-123.716 34.088 3976
+-123.59 34.088 4032
+-123.464 34.088 4040
+-123.338 34.088 4067
+-123.212 34.088 4109
+-123.086 34.088 4154
+-122.96 34.088 4168
+-122.834 34.088 4171
+-122.708 34.088 4231
+-122.582 34.088 4298
+-122.456 34.088 4393
+-122.33 34.088 4479
+-122.204 34.088 4540
+-122.078 34.088 4629
+-121.952 34.088 4717
+-121.826 34.088 4788
+-121.7 34.088 4903
+-121.574 34.088 4990
+-121.448 34.088 5001
+-121.322 34.088 5170
+-121.196 34.088 5375
+-121.07 34.088 5471
+-120.944 34.088 5656
+-120.818 34.088 5683
+-120.692 34.088 5892
+-120.566 34.088 6027
+-120.44 34.088 6096
+-120.314 34.088 6271
+-120.188 34.088 6421
+-120.062 34.088 6555
+-119.936 34.088 6751
+-119.81 34.088 6789
+-119.684 34.088 6904
+-119.558 34.088 7111
+-119.432 34.088 7235
+-119.306 34.088 7434
+-119.18 34.088 7487
+-119.054 34.088 7619
+-118.928 34.088 7736
+-118.802 34.088 7943
+-118.676 34.088 8081
+-118.55 34.088 8210
+-118.424 34.088 8332
+-118.298 34.088 8421
+-118.172 34.088 8604
+-118.046 34.088 8751
+-117.92 34.088 8891
+-117.794 34.088 9011
+-117.668 34.088 9178
+-117.542 34.088 9288
+-117.416 34.088 9355
+-117.29 34.088 9417
+-117.164 34.088 9357
+-117.038 34.088 9257
+-116.912 34.088 9069
+-116.786 34.088 8976
+-116.66 34.088 8795
+-116.534 34.088 8718
+-116.408 34.088 8527
+-116.282 34.088 8350
+-116.156 34.088 8287
+-116.03 34.088 8053
+-115.904 34.088 7944
+-115.778 34.088 7870
+-115.652 34.088 7764
+-115.526 34.088 7558
+-115.4 34.088 7441
+-115.274 34.088 7313
+-115.148 34.088 7103
+-115.022 34.088 6973
+-114.896 34.088 6861
+-114.77 34.088 6781
+-114.644 34.088 6668
+-114.518 34.088 6452
+-114.392 34.088 6451
+-114.266 34.088 6328
+-114.14 34.088 6252
+-114.014 34.088 6065
+-113.888 34.088 6044
+-113.762 34.088 5824
+-113.636 34.088 5755
+-113.51 34.088 5637
+-113.384 34.088 5307
+-113.258 34.088 5405
+-113.132 34.088 5511
+-113.006 34.088 5571
+-112.88 34.088 5647
+-112.754 34.088 5762
+-112.628 34.088 5883
+-112.502 34.088 5976
+-112.376 34.088 6084
+-112.25 34.088 6109
+-112.124 34.088 6192
+-111.998 34.088 6275
+-111.872 34.088 6321
+-111.746 34.088 6408
+-111.62 34.088 6476
+-111.494 34.088 6528
+-111.368 34.088 6589
+-111.242 34.088 6665
+-111.116 34.088 6713
+-110.99 34.088 6693
+-110.864 34.088 6721
+-110.738 34.088 6763
+-110.612 34.088 6757
+-110.486 34.088 6795
+-110.36 34.088 6761
+-110.234 34.088 6778
+-110.108 34.088 6773
+-109.982 34.088 6749
+-109.856 34.088 6725
+-109.73 34.088 6699
+-109.604 34.088 6683
+-109.478 34.088 6633
+-109.352 34.088 6559
+-109.226 34.088 6473
+-109.1 34.088 6425
+-108.974 34.088 6429
+-108.848 34.088 6369
+-108.722 34.088 6276
+-108.596 34.088 6184
+-108.47 34.088 6056
+-108.344 34.088 5944
+-108.218 34.088 5877
+-108.092 34.088 5789
+-107.966 34.088 5681
+-107.84 34.088 5629
+-107.714 34.088 5541
+-107.588 34.088 5376
+-107.462 34.088 5384
+-107.336 34.088 5291
+-107.21 34.088 5225
+-107.084 34.088 5122
+-106.958 34.088 4967
+-106.832 34.088 4812
+-106.706 34.088 4656
+-106.58 34.088 4577
+-106.454 34.088 4576
+-106.328 34.088 4512
+-106.202 34.088 4332
+-106.076 34.088 4205
+-105.95 34.088 4251
+-105.824 34.088 4300
+-105.698 34.088 4300
+-105.572 34.088 4268
+-105.446 34.088 4253
+-105.32 34.088 4244
+-105.194 34.088 4161
+-105.068 34.088 4134
+-104.942 34.088 4116
+-104.816 34.088 4045
+-104.69 34.088 4009
+-104.564 34.088 3981
+-104.438 34.088 3966
+-104.312 34.088 3928
+-104.186 34.088 3865
+-104.06 34.088 3793
+-103.934 34.088 3779
+-103.808 34.088 3774
+-103.682 34.088 3771
+-103.556 34.088 3769
+-103.43 34.088 3768
+-103.304 34.088 3768
+-103.178 34.088 3730
+-103.052 34.088 3719
+-102.926 34.088 3720
+-102.8 34.088 3721
+-102.674 34.088 3688
+-102.548 34.088 3711
+-102.422 34.088 3714
+-102.296 34.088 3717
+-102.17 34.088 3719
+-102.044 34.088 3617
+-101.918 34.088 3642
+-101.792 34.088 3645
+-101.666 34.088 3647
+-101.54 34.088 3649
+-101.414 34.088 3652
+-101.288 34.088 3611
+-101.162 34.088 3537
+-101.036 34.088 3522
+-100.91 34.088 3464
+-100.784 34.088 3457
+-100.658 34.088 3413
+-100.532 34.088 3408
+-100.406 34.088 3400
+-100.28 34.088 3298
+-100.154 34.088 3251
+-100.028 34.088 3163
+-99.902 34.088 3160
+-99.776 34.088 3131
+-99.65 34.088 3146
+-99.524 34.088 3146
+-99.398 34.088 3276
+-99.272 34.088 3318
+-99.146 34.088 3291
+-99.02 34.088 3290
+-98.894 34.088 3290
+-98.768 34.088 3306
+-98.642 34.088 3305
+-98.516 34.088 3304
+-98.39 34.088 3302
+-98.264 34.088 3301
+-98.138 34.088 3300
+-98.012 34.088 3237
+-97.886 34.088 3337
+-97.76 34.088 3221
+-97.634 34.088 3225
+-97.508 34.088 3224
+-97.382 34.088 3275
+-97.256 34.088 3293
+-97.13 34.088 3315
+-97.004 34.088 3301
+-96.878 34.088 3319
+-96.752 34.088 3309
+-96.626 34.088 3297
+-96.5 34.088 3303
+-96.374 34.088 3256
+-96.248 34.088 3265
+-96.122 34.088 3267
+-95.996 34.088 3216
+-95.87 34.088 3201
+-95.744 34.088 3173
+-95.618 34.088 3151
+-95.492 34.088 3112
+-95.366 34.088 3064
+-95.24 34.088 3000
+-95.114 34.088 2919
+-94.988 34.088 2806
+-94.862 34.088 2693
+-94.736 34.088 2629
+-94.61 34.088 2708
+-94.484 34.088 2852
+-94.358 34.088 2975
+-94.232 34.088 3091
+-94.106 34.088 3208
+-93.98 34.088 3307
+-93.854 34.088 3372
+-93.728 34.088 3427
+-93.602 34.088 3471
+-93.476 34.088 3542
+-93.35 34.088 3612
+-93.224 34.088 3669
+-93.098 34.088 3710
+-92.972 34.088 3719
+-92.846 34.088 3751
+-92.72 34.088 3849
+-92.594 34.088 3952
+-92.468 34.088 4063
+-92.342 34.088 4156
+-92.216 34.088 4237
+-92.09 34.088 4364
+-91.964 34.088 4487
+-91.838 34.088 4546
+-91.712 34.088 4619
+-91.586 34.088 4695
+-91.46 34.088 4818
+-91.334 34.088 4969
+-91.208 34.088 5047
+-91.082 34.088 5095
+-90.956 34.088 5143
+-90.83 34.088 5196
+-90.704 34.088 5238
+-90.578 34.088 5290
+-90.452 34.088 5405
+-90.326 34.088 5477
+-90.2 34.088 5502
+-90.074 34.088 5540
+-89.948 34.088 5595
+-89.822 34.088 5630
+-89.696 34.088 5675
+-89.57 34.088 5683
+-89.444 34.088 5723
+-89.318 34.088 5739
+-89.192 34.088 5764
+-89.066 34.088 5777
+-88.94 34.088 5775
+-88.814 34.088 5798
+-88.688 34.088 5791
+-88.562 34.088 5766
+-88.436 34.088 5744
+-88.31 34.088 5720
+-88.184 34.088 5738
+-88.058 34.088 5666
+-87.932 34.088 5621
+-87.806 34.088 5568
+-87.68 34.088 5570
+-87.554 34.088 5491
+-87.428 34.088 5481
+-87.302 34.088 5439
+-87.176 34.088 5375
+-87.05 34.088 5295
+-86.924 34.088 5256
+-86.798 34.088 5173
+-86.672 34.088 5107
+-86.546 34.088 5015
+-86.42 34.088 4996
+-86.294 34.088 4890
+-86.168 34.088 4781
+-86.042 34.088 4683
+-85.916 34.088 4576
+-85.79 34.088 4515
+-85.664 34.088 4480
+-85.538 34.088 4457
+-85.412 34.088 4384
+-85.286 34.088 4262
+-85.16 34.088 4100
+-85.034 34.088 3996
+-84.908 34.088 4040
+-84.782 34.088 4041
+-84.656 34.088 3957
+-84.53 34.088 3835
+-84.404 34.088 3629
+-84.278 34.088 3388
+-84.152 34.088 3268
+-84.026 34.088 3310
+-83.9 34.088 3366
+-83.774 34.088 3378
+-83.648 34.088 3352
+-83.522 34.088 3287
+-83.396 34.088 3222
+-83.27 34.088 3156
+-83.144 34.088 3065
+-83.018 34.088 2948
+-82.892 34.088 2820
+-82.766 34.088 2759
+-82.64 34.088 2802
+-82.514 34.088 2900
+-82.388 34.088 2999
+-82.262 34.088 3082
+-82.136 34.088 3148
+-82.01 34.088 3213
+-81.884 34.088 3259
+-81.758 34.088 3249
+-81.632 34.088 3268
+-81.506 34.088 3297
+-81.38 34.088 3282
+-81.254 34.088 3277
+-81.128 34.088 3272
+-81.002 34.088 3262
+-80.876 34.088 3286
+-80.75 34.088 3267
+-80.624 34.088 3243
+-80.498 34.088 3214
+-80.372 34.088 3173
+-80.246 34.088 3156
+-80.12 34.088 3113
+-79.994 34.088 3066
+-79.868 34.088 3023
+-79.742 34.088 2973
+-79.616 34.088 2893
+-79.49 34.088 2846
+-79.364 34.088 2823
+-79.238 34.088 2816
+-79.112 34.088 2783
+-78.986 34.088 2757
+-78.86 34.088 2738
+-78.734 34.088 2727
+-78.608 34.088 2723
+-78.482 34.088 2738
+-78.356 34.088 2747
+-78.23 34.088 2758
+-78.104 34.088 2789
+-77.978 34.088 2817
+-77.852 34.088 2841
+-77.726 34.088 2866
+-77.6 34.088 2891
+-77.474 34.088 2917
+-77.348 34.088 2943
+-77.222 34.088 2966
+-77.096 34.088 2986
+-76.97 34.088 3007
+-76.844 34.088 3000
+-76.718 34.088 3018
+-76.592 34.088 3035
+-76.466 34.088 3085
+-76.34 34.088 3099
+-76.214 34.088 3119
+-76.088 34.088 3135
+-75.962 34.088 3137
+-75.836 34.088 3162
+-75.71 34.088 3204
+-75.584 34.088 3221
+-75.458 34.088 3233
+-75.332 34.088 3244
+-75.206 34.088 3284
+-75.08 34.088 3296
+-74.954 34.088 3262
+-74.828 34.088 3283
+-74.702 34.088 3289
+-74.576 34.088 3233
+-74.45 34.088 3170
+-74.324 34.088 3189
+-74.198 34.088 3196
+-74.072 34.088 3223
+-73.946 34.088 3209
+-73.82 34.088 3220
+-73.694 34.088 3226
+-73.568 34.088 3216
+-73.442 34.088 3221
+-73.316 34.088 3226
+-73.19 34.088 3211
+-73.064 34.088 3199
+-72.938 34.088 3227
+-72.812 34.088 3225
+-72.686 34.088 3230
+-72.56 34.088 3235
+-72.434 34.088 3166
+-72.308 34.088 3202
+-72.182 34.088 3200
+-72.056 34.088 3204
+-71.93 34.088 3208
+-71.804 34.088 3410
+-71.678 34.088 3345
+-71.552 34.088 3353
+-71.426 34.088 3356
+-71.3 34.088 3261
+-71.174 34.088 3250
+-71.048 34.088 3252
+-70.922 34.088 3254
+-70.796 34.088 3235
+-70.67 34.088 3236
+-70.544 34.088 3238
+-70.418 34.088 3239
+-70.292 34.088 3241
+-70.166 34.088 3260
+-70.04 34.088 3262
+-69.914 34.088 3248
+-69.788 34.088 3250
+-69.662 34.088 3252
+-69.536 34.088 3195
+-69.41 34.088 3372
+-69.284 34.088 3335
+-69.158 34.088 3336
+-69.032 34.088 3305
+-68.906 34.088 3306
+-68.78 34.088 3307
+-68.654 34.088 3434
+-68.528 34.088 3435
+-68.402 34.088 3436
+-68.276 34.088 3437
+-68.15 34.088 3438
+-68.024 34.088 3547
+-67.898 34.088 3549
+-67.772 34.088 3466
+-67.646 34.088 3467
+-67.52 34.088 3468
+-67.394 34.088 3470
+-67.268 34.088 3477
+-67.142 34.088 3437
+-67.016 34.088 3430
+-66.89 34.088 3379
+-66.764 34.088 3380
+-66.638 34.088 3343
+-66.512 34.088 3389
+-66.386 34.088 3390
+-66.26 34.088 3391
+-66.134 34.088 3392
+-66.008 34.088 3393
+-65.882 34.088 3394
+-65.756 34.088 3395
+-65.63 34.088 3369
+-65.504 34.088 3370
+-65.378 34.088 3371
+-65.252 34.088 3340
+-65.126 34.088 3309
+-128 34.036 2680
+-127.874 34.036 2679
+-127.748 34.036 2679
+-127.622 34.036 2679
+-127.496 34.036 2679
+-127.37 34.036 2679
+-127.244 34.036 2729
+-127.118 34.036 2812
+-126.992 34.036 2811
+-126.866 34.036 2853
+-126.74 34.036 2852
+-126.614 34.036 2852
+-126.488 34.036 2907
+-126.362 34.036 2955
+-126.236 34.036 2960
+-126.11 34.036 2961
+-125.984 34.036 2962
+-125.858 34.036 3095
+-125.732 34.036 3101
+-125.606 34.036 3108
+-125.48 34.036 3147
+-125.354 34.036 3156
+-125.228 34.036 3192
+-125.102 34.036 3204
+-124.976 34.036 3267
+-124.85 34.036 3283
+-124.724 34.036 3300
+-124.598 34.036 3401
+-124.472 34.036 3520
+-124.346 34.036 3624
+-124.22 34.036 3719
+-124.094 34.036 3855
+-123.968 34.036 3921
+-123.842 34.036 3927
+-123.716 34.036 3987
+-123.59 34.036 3999
+-123.464 34.036 4012
+-123.338 34.036 4024
+-123.212 34.036 4071
+-123.086 34.036 4133
+-122.96 34.036 4180
+-122.834 34.036 4197
+-122.708 34.036 4233
+-122.582 34.036 4323
+-122.456 34.036 4402
+-122.33 34.036 4460
+-122.204 34.036 4520
+-122.078 34.036 4567
+-121.952 34.036 4624
+-121.826 34.036 4729
+-121.7 34.036 4870
+-121.574 34.036 4996
+-121.448 34.036 5076
+-121.322 34.036 5214
+-121.196 34.036 5331
+-121.07 34.036 5479
+-120.944 34.036 5631
+-120.818 34.036 5788
+-120.692 34.036 5903
+-120.566 34.036 6020
+-120.44 34.036 6126
+-120.314 34.036 6274
+-120.188 34.036 6393
+-120.062 34.036 6538
+-119.936 34.036 6650
+-119.81 34.036 6777
+-119.684 34.036 6979
+-119.558 34.036 7086
+-119.432 34.036 7282
+-119.306 34.036 7389
+-119.18 34.036 7450
+-119.054 34.036 7675
+-118.928 34.036 7775
+-118.802 34.036 7880
+-118.676 34.036 8094
+-118.55 34.036 8248
+-118.424 34.036 8366
+-118.298 34.036 8469
+-118.172 34.036 8639
+-118.046 34.036 8741
+-117.92 34.036 8892
+-117.794 34.036 8974
+-117.668 34.036 9129
+-117.542 34.036 9281
+-117.416 34.036 9381
+-117.29 34.036 9393
+-117.164 34.036 9371
+-117.038 34.036 9177
+-116.912 34.036 9049
+-116.786 34.036 8925
+-116.66 34.036 8774
+-116.534 34.036 8603
+-116.408 34.036 8508
+-116.282 34.036 8403
+-116.156 34.036 8242
+-116.03 34.036 8103
+-115.904 34.036 7978
+-115.778 34.036 7831
+-115.652 34.036 7698
+-115.526 34.036 7575
+-115.4 34.036 7400
+-115.274 34.036 7306
+-115.148 34.036 7109
+-115.022 34.036 7064
+-114.896 34.036 6941
+-114.77 34.036 6947
+-114.644 34.036 6757
+-114.518 34.036 6682
+-114.392 34.036 6522
+-114.266 34.036 6400
+-114.14 34.036 6300
+-114.014 34.036 6151
+-113.888 34.036 5981
+-113.762 34.036 5842
+-113.636 34.036 5757
+-113.51 34.036 5605
+-113.384 34.036 5492
+-113.258 34.036 5394
+-113.132 34.036 5491
+-113.006 34.036 5578
+-112.88 34.036 5715
+-112.754 34.036 5796
+-112.628 34.036 5901
+-112.502 34.036 5985
+-112.376 34.036 6092
+-112.25 34.036 6153
+-112.124 34.036 6231
+-111.998 34.036 6341
+-111.872 34.036 6399
+-111.746 34.036 6463
+-111.62 34.036 6518
+-111.494 34.036 6571
+-111.368 34.036 6643
+-111.242 34.036 6713
+-111.116 34.036 6730
+-110.99 34.036 6784
+-110.864 34.036 6810
+-110.738 34.036 6837
+-110.612 34.036 6846
+-110.486 34.036 6839
+-110.36 34.036 6817
+-110.234 34.036 6829
+-110.108 34.036 6833
+-109.982 34.036 6818
+-109.856 34.036 6783
+-109.73 34.036 6737
+-109.604 34.036 6714
+-109.478 34.036 6645
+-109.352 34.036 6620
+-109.226 34.036 6602
+-109.1 34.036 6505
+-108.974 34.036 6429
+-108.848 34.036 6438
+-108.722 34.036 6354
+-108.596 34.036 6249
+-108.47 34.036 6159
+-108.344 34.036 6038
+-108.218 34.036 5912
+-108.092 34.036 5824
+-107.966 34.036 5735
+-107.84 34.036 5653
+-107.714 34.036 5575
+-107.588 34.036 5493
+-107.462 34.036 5445
+-107.336 34.036 5401
+-107.21 34.036 5304
+-107.084 34.036 5190
+-106.958 34.036 5047
+-106.832 34.036 4861
+-106.706 34.036 4719
+-106.58 34.036 4614
+-106.454 34.036 4587
+-106.328 34.036 4490
+-106.202 34.036 4254
+-106.076 34.036 4068
+-105.95 34.036 4178
+-105.824 34.036 4256
+-105.698 34.036 4286
+-105.572 34.036 4292
+-105.446 34.036 4211
+-105.32 34.036 4193
+-105.194 34.036 4145
+-105.068 34.036 4123
+-104.942 34.036 4064
+-104.816 34.036 4031
+-104.69 34.036 3988
+-104.564 34.036 3970
+-104.438 34.036 3934
+-104.312 34.036 3860
+-104.186 34.036 3816
+-104.06 34.036 3809
+-103.934 34.036 3764
+-103.808 34.036 3783
+-103.682 34.036 3781
+-103.556 34.036 3781
+-103.43 34.036 3781
+-103.304 34.036 3756
+-103.178 34.036 3710
+-103.052 34.036 3711
+-102.926 34.036 3713
+-102.8 34.036 3680
+-102.674 34.036 3703
+-102.548 34.036 3706
+-102.422 34.036 3709
+-102.296 34.036 3712
+-102.17 34.036 3693
+-102.044 34.036 3696
+-101.918 34.036 3641
+-101.792 34.036 3644
+-101.666 34.036 3646
+-101.54 34.036 3649
+-101.414 34.036 3693
+-101.288 34.036 3544
+-101.162 34.036 3529
+-101.036 34.036 3527
+-100.91 34.036 3470
+-100.784 34.036 3464
+-100.658 34.036 3458
+-100.532 34.036 3416
+-100.406 34.036 3409
+-100.28 34.036 3306
+-100.154 34.036 3258
+-100.028 34.036 3168
+-99.902 34.036 3164
+-99.776 34.036 3132
+-99.65 34.036 3147
+-99.524 34.036 3147
+-99.398 34.036 3277
+-99.272 34.036 3293
+-99.146 34.036 3292
+-99.02 34.036 3291
+-98.894 34.036 3307
+-98.768 34.036 3306
+-98.642 34.036 3305
+-98.516 34.036 3304
+-98.39 34.036 3302
+-98.264 34.036 3301
+-98.138 34.036 3237
+-98.012 34.036 3337
+-97.886 34.036 3217
+-97.76 34.036 3222
+-97.634 34.036 3220
+-97.508 34.036 3268
+-97.382 34.036 3290
+-97.256 34.036 3312
+-97.13 34.036 3260
+-97.004 34.036 3317
+-96.878 34.036 3307
+-96.752 34.036 3296
+-96.626 34.036 3304
+-96.5 34.036 3257
+-96.374 34.036 3267
+-96.248 34.036 3271
+-96.122 34.036 3221
+-95.996 34.036 3209
+-95.87 34.036 3185
+-95.744 34.036 3156
+-95.618 34.036 3100
+-95.492 34.036 3064
+-95.366 34.036 3030
+-95.24 34.036 2974
+-95.114 34.036 2904
+-94.988 34.036 2820
+-94.862 34.036 2735
+-94.736 34.036 2696
+-94.61 34.036 2744
+-94.484 34.036 2813
+-94.358 34.036 2901
+-94.232 34.036 3014
+-94.106 34.036 3141
+-93.98 34.036 3230
+-93.854 34.036 3324
+-93.728 34.036 3369
+-93.602 34.036 3410
+-93.476 34.036 3477
+-93.35 34.036 3529
+-93.224 34.036 3603
+-93.098 34.036 3663
+-92.972 34.036 3693
+-92.846 34.036 3719
+-92.72 34.036 3807
+-92.594 34.036 3917
+-92.468 34.036 4024
+-92.342 34.036 4136
+-92.216 34.036 4195
+-92.09 34.036 4265
+-91.964 34.036 4426
+-91.838 34.036 4489
+-91.712 34.036 4568
+-91.586 34.036 4648
+-91.46 34.036 4725
+-91.334 34.036 4870
+-91.208 34.036 4964
+-91.082 34.036 5024
+-90.956 34.036 5107
+-90.83 34.036 5180
+-90.704 34.036 5232
+-90.578 34.036 5245
+-90.452 34.036 5327
+-90.326 34.036 5423
+-90.2 34.036 5426
+-90.074 34.036 5494
+-89.948 34.036 5514
+-89.822 34.036 5547
+-89.696 34.036 5597
+-89.57 34.036 5659
+-89.444 34.036 5684
+-89.318 34.036 5646
+-89.192 34.036 5701
+-89.066 34.036 5737
+-88.94 34.036 5748
+-88.814 34.036 5745
+-88.688 34.036 5732
+-88.562 34.036 5702
+-88.436 34.036 5686
+-88.31 34.036 5669
+-88.184 34.036 5666
+-88.058 34.036 5606
+-87.932 34.036 5573
+-87.806 34.036 5528
+-87.68 34.036 5520
+-87.554 34.036 5488
+-87.428 34.036 5440
+-87.302 34.036 5376
+-87.176 34.036 5316
+-87.05 34.036 5261
+-86.924 34.036 5184
+-86.798 34.036 5127
+-86.672 34.036 5092
+-86.546 34.036 4986
+-86.42 34.036 4931
+-86.294 34.036 4840
+-86.168 34.036 4732
+-86.042 34.036 4629
+-85.916 34.036 4540
+-85.79 34.036 4504
+-85.664 34.036 4406
+-85.538 34.036 4413
+-85.412 34.036 4342
+-85.286 34.036 4232
+-85.16 34.036 4116
+-85.034 34.036 4056
+-84.908 34.036 4055
+-84.782 34.036 4049
+-84.656 34.036 3962
+-84.53 34.036 3855
+-84.404 34.036 3698
+-84.278 34.036 3505
+-84.152 34.036 3419
+-84.026 34.036 3391
+-83.9 34.036 3392
+-83.774 34.036 3339
+-83.648 34.036 3285
+-83.522 34.036 3213
+-83.396 34.036 3156
+-83.27 34.036 3118
+-83.144 34.036 3072
+-83.018 34.036 3006
+-82.892 34.036 2929
+-82.766 34.036 2892
+-82.64 34.036 2916
+-82.514 34.036 2980
+-82.388 34.036 3054
+-82.262 34.036 3121
+-82.136 34.036 3186
+-82.01 34.036 3241
+-81.884 34.036 3280
+-81.758 34.036 3312
+-81.632 34.036 3300
+-81.506 34.036 3333
+-81.38 34.036 3322
+-81.254 34.036 3359
+-81.128 34.036 3297
+-81.002 34.036 3326
+-80.876 34.036 3314
+-80.75 34.036 3296
+-80.624 34.036 3274
+-80.498 34.036 3239
+-80.372 34.036 3229
+-80.246 34.036 3192
+-80.12 34.036 3150
+-79.994 34.036 3110
+-79.868 34.036 3061
+-79.742 34.036 3034
+-79.616 34.036 2981
+-79.49 34.036 2896
+-79.364 34.036 2880
+-79.238 34.036 2834
+-79.112 34.036 2793
+-78.986 34.036 2759
+-78.86 34.036 2733
+-78.734 34.036 2717
+-78.608 34.036 2721
+-78.482 34.036 2724
+-78.356 34.036 2731
+-78.23 34.036 2760
+-78.104 34.036 2788
+-77.978 34.036 2812
+-77.852 34.036 2840
+-77.726 34.036 2866
+-77.6 34.036 2894
+-77.474 34.036 2922
+-77.348 34.036 2946
+-77.222 34.036 2969
+-77.096 34.036 2991
+-76.97 34.036 2987
+-76.844 34.036 3006
+-76.718 34.036 3024
+-76.592 34.036 3074
+-76.466 34.036 3089
+-76.34 34.036 3110
+-76.214 34.036 3126
+-76.088 34.036 3130
+-75.962 34.036 3155
+-75.836 34.036 3197
+-75.71 34.036 3215
+-75.584 34.036 3227
+-75.458 34.036 3238
+-75.332 34.036 3279
+-75.206 34.036 3291
+-75.08 34.036 3259
+-74.954 34.036 3279
+-74.828 34.036 3286
+-74.702 34.036 3228
+-74.576 34.036 3168
+-74.45 34.036 3187
+-74.324 34.036 3194
+-74.198 34.036 3221
+-74.072 34.036 3208
+-73.946 34.036 3219
+-73.82 34.036 3225
+-73.694 34.036 3215
+-73.568 34.036 3220
+-73.442 34.036 3226
+-73.316 34.036 3210
+-73.19 34.036 3199
+-73.064 34.036 3227
+-72.938 34.036 3225
+-72.812 34.036 3230
+-72.686 34.036 3235
+-72.56 34.036 3166
+-72.434 34.036 3202
+-72.308 34.036 3200
+-72.182 34.036 3204
+-72.056 34.036 3208
+-71.93 34.036 3408
+-71.804 34.036 3340
+-71.678 34.036 3352
+-71.552 34.036 3355
+-71.426 34.036 3259
+-71.3 34.036 3249
+-71.174 34.036 3251
+-71.048 34.036 3253
+-70.922 34.036 3234
+-70.796 34.036 3235
+-70.67 34.036 3237
+-70.544 34.036 3238
+-70.418 34.036 3240
+-70.292 34.036 3259
+-70.166 34.036 3261
+-70.04 34.036 3247
+-69.914 34.036 3249
+-69.788 34.036 3251
+-69.662 34.036 3195
+-69.536 34.036 3371
+-69.41 34.036 3334
+-69.284 34.036 3335
+-69.158 34.036 3304
+-69.032 34.036 3305
+-68.906 34.036 3306
+-68.78 34.036 3433
+-68.654 34.036 3434
+-68.528 34.036 3435
+-68.402 34.036 3436
+-68.276 34.036 3437
+-68.15 34.036 3545
+-68.024 34.036 3547
+-67.898 34.036 3464
+-67.772 34.036 3466
+-67.646 34.036 3467
+-67.52 34.036 3468
+-67.394 34.036 3476
+-67.268 34.036 3436
+-67.142 34.036 3429
+-67.016 34.036 3378
+-66.89 34.036 3379
+-66.764 34.036 3342
+-66.638 34.036 3387
+-66.512 34.036 3389
+-66.386 34.036 3390
+-66.26 34.036 3391
+-66.134 34.036 3392
+-66.008 34.036 3393
+-65.882 34.036 3394
+-65.756 34.036 3368
+-65.63 34.036 3369
+-65.504 34.036 3370
+-65.378 34.036 3340
+-65.252 34.036 3308
+-65.126 34.036 3287
+-128 33.984 2677
+-127.874 33.984 2677
+-127.748 33.984 2676
+-127.622 33.984 2675
+-127.496 33.984 2675
+-127.37 33.984 2712
+-127.244 33.984 2787
+-127.118 33.984 2786
+-126.992 33.984 2785
+-126.866 33.984 2784
+-126.74 33.984 2844
+-126.614 33.984 2898
+-126.488 33.984 2932
+-126.362 33.984 2931
+-126.236 33.984 2947
+-126.11 33.984 2947
+-125.984 33.984 3074
+-125.858 33.984 3077
+-125.732 33.984 3082
+-125.606 33.984 3088
+-125.48 33.984 3095
+-125.354 33.984 3136
+-125.228 33.984 3146
+-125.102 33.984 3202
+-124.976 33.984 3251
+-124.85 33.984 3267
+-124.724 33.984 3354
+-124.598 33.984 3378
+-124.472 33.984 3497
+-124.346 33.984 3582
+-124.22 33.984 3703
+-124.094 33.984 3714
+-123.968 33.984 3789
+-123.842 33.984 3891
+-123.716 33.984 3901
+-123.59 33.984 3960
+-123.464 33.984 3977
+-123.338 33.984 4010
+-123.212 33.984 4030
+-123.086 33.984 4080
+-122.96 33.984 4110
+-122.834 33.984 4156
+-122.708 33.984 4190
+-122.582 33.984 4306
+-122.456 33.984 4374
+-122.33 33.984 4427
+-122.204 33.984 4494
+-122.078 33.984 4527
+-121.952 33.984 4464
+-121.826 33.984 4684
+-121.7 33.984 4845
+-121.574 33.984 4962
+-121.448 33.984 5114
+-121.322 33.984 5240
+-121.196 33.984 5334
+-121.07 33.984 5504
+-120.944 33.984 5633
+-120.818 33.984 5741
+-120.692 33.984 5881
+-120.566 33.984 5984
+-120.44 33.984 6103
+-120.314 33.984 6261
+-120.188 33.984 6361
+-120.062 33.984 6518
+-119.936 33.984 6655
+-119.81 33.984 6763
+-119.684 33.984 6981
+-119.558 33.984 7115
+-119.432 33.984 7232
+-119.306 33.984 7381
+-119.18 33.984 7507
+-119.054 33.984 7654
+-118.928 33.984 7802
+-118.802 33.984 7906
+-118.676 33.984 8056
+-118.55 33.984 8188
+-118.424 33.984 8320
+-118.298 33.984 8463
+-118.172 33.984 8610
+-118.046 33.984 8746
+-117.92 33.984 8841
+-117.794 33.984 9022
+-117.668 33.984 9096
+-117.542 33.984 9238
+-117.416 33.984 9320
+-117.29 33.984 9327
+-117.164 33.984 9251
+-117.038 33.984 9200
+-116.912 33.984 9052
+-116.786 33.984 8903
+-116.66 33.984 8769
+-116.534 33.984 8601
+-116.408 33.984 8492
+-116.282 33.984 8412
+-116.156 33.984 8252
+-116.03 33.984 8095
+-115.904 33.984 7942
+-115.778 33.984 7899
+-115.652 33.984 7666
+-115.526 33.984 7594
+-115.4 33.984 7405
+-115.274 33.984 7320
+-115.148 33.984 7254
+-115.022 33.984 7224
+-114.896 33.984 7041
+-114.77 33.984 6897
+-114.644 33.984 6798
+-114.518 33.984 6705
+-114.392 33.984 6578
+-114.266 33.984 6394
+-114.14 33.984 6330
+-114.014 33.984 6180
+-113.888 33.984 6046
+-113.762 33.984 5863
+-113.636 33.984 5773
+-113.51 33.984 5591
+-113.384 33.984 5535
+-113.258 33.984 5498
+-113.132 33.984 5514
+-113.006 33.984 5623
+-112.88 33.984 5740
+-112.754 33.984 5810
+-112.628 33.984 5960
+-112.502 33.984 6023
+-112.376 33.984 6110
+-112.25 33.984 6187
+-112.124 33.984 6294
+-111.998 33.984 6393
+-111.872 33.984 6471
+-111.746 33.984 6482
+-111.62 33.984 6582
+-111.494 33.984 6629
+-111.368 33.984 6673
+-111.242 33.984 6747
+-111.116 33.984 6779
+-110.99 33.984 6836
+-110.864 33.984 6841
+-110.738 33.984 6870
+-110.612 33.984 6894
+-110.486 33.984 6897
+-110.36 33.984 6875
+-110.234 33.984 6872
+-110.108 33.984 6877
+-109.982 33.984 6871
+-109.856 33.984 6813
+-109.73 33.984 6816
+-109.604 33.984 6789
+-109.478 33.984 6724
+-109.352 33.984 6683
+-109.226 33.984 6596
+-109.1 33.984 6525
+-108.974 33.984 6508
+-108.848 33.984 6467
+-108.722 33.984 6377
+-108.596 33.984 6240
+-108.47 33.984 6218
+-108.344 33.984 6105
+-108.218 33.984 5977
+-108.092 33.984 5864
+-107.966 33.984 5768
+-107.84 33.984 5698
+-107.714 33.984 5621
+-107.588 33.984 5495
+-107.462 33.984 5407
+-107.336 33.984 5411
+-107.21 33.984 5353
+-107.084 33.984 5247
+-106.958 33.984 5121
+-106.832 33.984 4963
+-106.706 33.984 4784
+-106.58 33.984 4676
+-106.454 33.984 4612
+-106.328 33.984 4514
+-106.202 33.984 4343
+-106.076 33.984 4212
+-105.95 33.984 4233
+-105.824 33.984 4284
+-105.698 33.984 4271
+-105.572 33.984 4234
+-105.446 33.984 4222
+-105.32 33.984 4168
+-105.194 33.984 4116
+-105.068 33.984 4087
+-104.942 33.984 4033
+-104.816 33.984 3986
+-104.69 33.984 3963
+-104.564 33.984 3924
+-104.438 33.984 3849
+-104.312 33.984 3805
+-104.186 33.984 3796
+-104.06 33.984 3789
+-103.934 33.984 3768
+-103.808 33.984 3766
+-103.682 33.984 3766
+-103.556 33.984 3767
+-103.43 33.984 3743
+-103.304 33.984 3699
+-103.178 33.984 3700
+-103.052 33.984 3703
+-102.926 33.984 3695
+-102.8 33.984 3693
+-102.674 33.984 3697
+-102.548 33.984 3700
+-102.422 33.984 3704
+-102.296 33.984 3686
+-102.17 33.984 3689
+-102.044 33.984 3692
+-101.918 33.984 3695
+-101.792 33.984 3681
+-101.666 33.984 3684
+-101.54 33.984 3688
+-101.414 33.984 3549
+-101.288 33.984 3535
+-101.162 33.984 3533
+-101.036 33.984 3531
+-100.91 33.984 3529
+-100.784 33.984 3515
+-100.658 33.984 3468
+-100.532 33.984 3424
+-100.406 33.984 3418
+-100.28 33.984 3345
+-100.154 33.984 3239
+-100.028 33.984 3192
+-99.902 33.984 3142
+-99.776 33.984 3143
+-99.65 33.984 3147
+-99.524 33.984 3148
+-99.398 33.984 3277
+-99.272 33.984 3294
+-99.146 33.984 3293
+-99.02 33.984 3309
+-98.894 33.984 3308
+-98.768 33.984 3307
+-98.642 33.984 3305
+-98.516 33.984 3304
+-98.39 33.984 3302
+-98.264 33.984 3236
+-98.138 33.984 3337
+-98.012 33.984 3214
+-97.886 33.984 3141
+-97.76 33.984 3148
+-97.634 33.984 3263
+-97.508 33.984 3287
+-97.382 33.984 3232
+-97.256 33.984 3255
+-97.13 33.984 3247
+-97.004 33.984 3238
+-96.878 33.984 3295
+-96.752 33.984 3304
+-96.626 33.984 3258
+-96.5 33.984 3270
+-96.374 33.984 3276
+-96.248 33.984 3227
+-96.122 33.984 3217
+-95.996 33.984 3196
+-95.87 33.984 3172
+-95.744 33.984 3120
+-95.618 33.984 3067
+-95.492 33.984 3036
+-95.366 33.984 2999
+-95.24 33.984 2981
+-95.114 33.984 2922
+-94.988 33.984 2860
+-94.862 33.984 2809
+-94.736 33.984 2773
+-94.61 33.984 2741
+-94.484 33.984 2713
+-94.358 33.984 2793
+-94.232 33.984 2957
+-94.106 33.984 3099
+-93.98 33.984 3194
+-93.854 33.984 3248
+-93.728 33.984 3286
+-93.602 33.984 3337
+-93.476 33.984 3382
+-93.35 33.984 3449
+-93.224 33.984 3536
+-93.098 33.984 3597
+-92.972 33.984 3621
+-92.846 33.984 3628
+-92.72 33.984 3732
+-92.594 33.984 3899
+-92.468 33.984 4012
+-92.342 33.984 4065
+-92.216 33.984 4173
+-92.09 33.984 4269
+-91.964 33.984 4385
+-91.838 33.984 4426
+-91.712 33.984 4531
+-91.586 33.984 4637
+-91.46 33.984 4675
+-91.334 33.984 4800
+-91.208 33.984 4891
+-91.082 33.984 4942
+-90.956 33.984 5028
+-90.83 33.984 5112
+-90.704 33.984 5189
+-90.578 33.984 5231
+-90.452 33.984 5292
+-90.326 33.984 5371
+-90.2 33.984 5364
+-90.074 33.984 5441
+-89.948 33.984 5472
+-89.822 33.984 5495
+-89.696 33.984 5522
+-89.57 33.984 5575
+-89.444 33.984 5608
+-89.318 33.984 5628
+-89.192 33.984 5640
+-89.066 33.984 5656
+-88.94 33.984 5683
+-88.814 33.984 5673
+-88.688 33.984 5657
+-88.562 33.984 5651
+-88.436 33.984 5637
+-88.31 33.984 5601
+-88.184 33.984 5577
+-88.058 33.984 5562
+-87.932 33.984 5531
+-87.806 33.984 5483
+-87.68 33.984 5481
+-87.554 33.984 5430
+-87.428 33.984 5354
+-87.302 33.984 5278
+-87.176 33.984 5227
+-87.05 33.984 5177
+-86.924 33.984 5142
+-86.798 33.984 5089
+-86.672 33.984 5040
+-86.546 33.984 4943
+-86.42 33.984 4859
+-86.294 33.984 4768
+-86.168 33.984 4683
+-86.042 33.984 4596
+-85.916 33.984 4533
+-85.79 33.984 4489
+-85.664 33.984 4436
+-85.538 33.984 4372
+-85.412 33.984 4244
+-85.286 33.984 4112
+-85.16 33.984 4107
+-85.034 33.984 4097
+-84.908 33.984 4087
+-84.782 33.984 4021
+-84.656 33.984 3960
+-84.53 33.984 3854
+-84.404 33.984 3720
+-84.278 33.984 3569
+-84.152 33.984 3488
+-84.026 33.984 3442
+-83.9 33.984 3381
+-83.774 33.984 3289
+-83.648 33.984 3207
+-83.522 33.984 3117
+-83.396 33.984 3073
+-83.27 33.984 3069
+-83.144 33.984 3072
+-83.018 33.984 3059
+-82.892 33.984 3026
+-82.766 33.984 3006
+-82.64 33.984 3028
+-82.514 33.984 3066
+-82.388 33.984 3116
+-82.262 33.984 3176
+-82.136 33.984 3229
+-82.01 33.984 3270
+-81.884 33.984 3305
+-81.758 33.984 3342
+-81.632 33.984 3342
+-81.506 33.984 3369
+-81.38 33.984 3386
+-81.254 33.984 3390
+-81.128 33.984 3389
+-81.002 33.984 3352
+-80.876 33.984 3340
+-80.75 33.984 3324
+-80.624 33.984 3295
+-80.498 33.984 3291
+-80.372 33.984 3260
+-80.246 33.984 3223
+-80.12 33.984 3187
+-79.994 33.984 3142
+-79.868 33.984 3117
+-79.742 33.984 3063
+-79.616 33.984 2969
+-79.49 33.984 2947
+-79.364 33.984 2890
+-79.238 33.984 2834
+-79.112 33.984 2782
+-78.986 33.984 2738
+-78.86 33.984 2704
+-78.734 33.984 2693
+-78.608 33.984 2686
+-78.482 33.984 2689
+-78.356 33.984 2715
+-78.23 33.984 2743
+-78.104 33.984 2771
+-77.978 33.984 2803
+-77.852 33.984 2832
+-77.726 33.984 2864
+-77.6 33.984 2895
+-77.474 33.984 2922
+-77.348 33.984 2947
+-77.222 33.984 2972
+-77.096 33.984 2971
+-76.97 33.984 2992
+-76.844 33.984 3011
+-76.718 33.984 3062
+-76.592 33.984 3078
+-76.466 33.984 3100
+-76.34 33.984 3117
+-76.214 33.984 3122
+-76.088 33.984 3148
+-75.962 33.984 3190
+-75.836 33.984 3208
+-75.71 33.984 3221
+-75.584 33.984 3233
+-75.458 33.984 3274
+-75.332 33.984 3287
+-75.206 33.984 3255
+-75.08 33.984 3276
+-74.954 33.984 3282
+-74.828 33.984 3229
+-74.702 33.984 3167
+-74.576 33.984 3186
+-74.45 33.984 3193
+-74.324 33.984 3220
+-74.198 33.984 3207
+-74.072 33.984 3218
+-73.946 33.984 3224
+-73.82 33.984 3214
+-73.694 33.984 3220
+-73.568 33.984 3225
+-73.442 33.984 3210
+-73.316 33.984 3199
+-73.19 33.984 3226
+-73.064 33.984 3225
+-72.938 33.984 3230
+-72.812 33.984 3235
+-72.686 33.984 3166
+-72.56 33.984 3202
+-72.434 33.984 3200
+-72.308 33.984 3204
+-72.182 33.984 3208
+-72.056 33.984 3406
+-71.93 33.984 3342
+-71.804 33.984 3350
+-71.678 33.984 3353
+-71.552 33.984 3258
+-71.426 33.984 3248
+-71.3 33.984 3250
+-71.174 33.984 3251
+-71.048 33.984 3233
+-70.922 33.984 3234
+-70.796 33.984 3236
+-70.67 33.984 3238
+-70.544 33.984 3239
+-70.418 33.984 3258
+-70.292 33.984 3260
+-70.166 33.984 3246
+-70.04 33.984 3248
+-69.914 33.984 3250
+-69.788 33.984 3194
+-69.662 33.984 3369
+-69.536 33.984 3333
+-69.41 33.984 3334
+-69.284 33.984 3303
+-69.158 33.984 3304
+-69.032 33.984 3305
+-68.906 33.984 3431
+-68.78 33.984 3432
+-68.654 33.984 3433
+-68.528 33.984 3434
+-68.402 33.984 3435
+-68.276 33.984 3544
+-68.15 33.984 3545
+-68.024 33.984 3463
+-67.898 33.984 3464
+-67.772 33.984 3465
+-67.646 33.984 3467
+-67.52 33.984 3474
+-67.394 33.984 3434
+-67.268 33.984 3427
+-67.142 33.984 3377
+-67.016 33.984 3378
+-66.89 33.984 3340
+-66.764 33.984 3386
+-66.638 33.984 3387
+-66.512 33.984 3388
+-66.386 33.984 3390
+-66.26 33.984 3391
+-66.134 33.984 3392
+-66.008 33.984 3393
+-65.882 33.984 3367
+-65.756 33.984 3368
+-65.63 33.984 3369
+-65.504 33.984 3339
+-65.378 33.984 3307
+-65.252 33.984 3286
+-65.126 33.984 3287
+-128 33.932 2675
+-127.874 33.932 2673
+-127.748 33.932 2672
+-127.622 33.932 2671
+-127.496 33.932 2708
+-127.37 33.932 2781
+-127.244 33.932 2780
+-127.118 33.932 2778
+-126.992 33.932 2777
+-126.866 33.932 2776
+-126.74 33.932 2825
+-126.614 33.932 2879
+-126.488 33.932 2920
+-126.362 33.932 2918
+-126.236 33.932 2916
+-126.11 33.932 3018
+-125.984 33.932 3020
+-125.858 33.932 3058
+-125.732 33.932 3061
+-125.606 33.932 3066
+-125.48 33.932 3073
+-125.354 33.932 3081
+-125.228 33.932 3121
+-125.102 33.932 3132
+-124.976 33.932 3203
+-124.85 33.932 3319
+-124.724 33.932 3331
+-124.598 33.932 3445
+-124.472 33.932 3526
+-124.346 33.932 3562
+-124.22 33.932 3576
+-124.094 33.932 3667
+-123.968 33.932 3727
+-123.842 33.932 3743
+-123.716 33.932 3840
+-123.59 33.932 3873
+-123.464 33.932 3939
+-123.338 33.932 3967
+-123.212 33.932 3987
+-123.086 33.932 4031
+-122.96 33.932 4022
+-122.834 33.932 4018
+-122.708 33.932 4063
+-122.582 33.932 4163
+-122.456 33.932 4319
+-122.33 33.932 4391
+-122.204 33.932 4404
+-122.078 33.932 4500
+-121.952 33.932 4551
+-121.826 33.932 4681
+-121.7 33.932 4837
+-121.574 33.932 4961
+-121.448 33.932 5116
+-121.322 33.932 5139
+-121.196 33.932 5302
+-121.07 33.932 5477
+-120.944 33.932 5623
+-120.818 33.932 5694
+-120.692 33.932 5819
+-120.566 33.932 5996
+-120.44 33.932 6160
+-120.314 33.932 6257
+-120.188 33.932 6409
+-120.062 33.932 6579
+-119.936 33.932 6722
+-119.81 33.932 6769
+-119.684 33.932 6943
+-119.558 33.932 7118
+-119.432 33.932 7265
+-119.306 33.932 7391
+-119.18 33.932 7539
+-119.054 33.932 7646
+-118.928 33.932 7735
+-118.802 33.932 7893
+-118.676 33.932 8046
+-118.55 33.932 8162
+-118.424 33.932 8331
+-118.298 33.932 8449
+-118.172 33.932 8632
+-118.046 33.932 8781
+-117.92 33.932 8842
+-117.794 33.932 8968
+-117.668 33.932 9092
+-117.542 33.932 9209
+-117.416 33.932 9288
+-117.29 33.932 9277
+-117.164 33.932 9195
+-117.038 33.932 9119
+-116.912 33.932 9036
+-116.786 33.932 8903
+-116.66 33.932 8754
+-116.534 33.932 8632
+-116.408 33.932 8564
+-116.282 33.932 8374
+-116.156 33.932 8241
+-116.03 33.932 8110
+-115.904 33.932 7979
+-115.778 33.932 7786
+-115.652 33.932 7713
+-115.526 33.932 7574
+-115.4 33.932 7401
+-115.274 33.932 7408
+-115.148 33.932 7325
+-115.022 33.932 7185
+-114.896 33.932 7068
+-114.77 33.932 6940
+-114.644 33.932 6849
+-114.518 33.932 6727
+-114.392 33.932 6590
+-114.266 33.932 6397
+-114.14 33.932 6276
+-114.014 33.932 6170
+-113.888 33.932 6040
+-113.762 33.932 5934
+-113.636 33.932 5827
+-113.51 33.932 5644
+-113.384 33.932 5458
+-113.258 33.932 5468
+-113.132 33.932 5581
+-113.006 33.932 5640
+-112.88 33.932 5793
+-112.754 33.932 5869
+-112.628 33.932 5970
+-112.502 33.932 6041
+-112.376 33.932 6129
+-112.25 33.932 6224
+-112.124 33.932 6332
+-111.998 33.932 6420
+-111.872 33.932 6494
+-111.746 33.932 6532
+-111.62 33.932 6656
+-111.494 33.932 6659
+-111.368 33.932 6717
+-111.242 33.932 6801
+-111.116 33.932 6841
+-110.99 33.932 6897
+-110.864 33.932 6876
+-110.738 33.932 6910
+-110.612 33.932 6935
+-110.486 33.932 6972
+-110.36 33.932 6942
+-110.234 33.932 6932
+-110.108 33.932 6937
+-109.982 33.932 6916
+-109.856 33.932 6880
+-109.73 33.932 6877
+-109.604 33.932 6845
+-109.478 33.932 6772
+-109.352 33.932 6712
+-109.226 33.932 6632
+-109.1 33.932 6558
+-108.974 33.932 6487
+-108.848 33.932 6455
+-108.722 33.932 6415
+-108.596 33.932 6336
+-108.47 33.932 6247
+-108.344 33.932 6150
+-108.218 33.932 6062
+-108.092 33.932 5919
+-107.966 33.932 5796
+-107.84 33.932 5782
+-107.714 33.932 5632
+-107.588 33.932 5525
+-107.462 33.932 5473
+-107.336 33.932 5278
+-107.21 33.932 5361
+-107.084 33.932 5244
+-106.958 33.932 5147
+-106.832 33.932 5001
+-106.706 33.932 4856
+-106.58 33.932 4727
+-106.454 33.932 4639
+-106.328 33.932 4556
+-106.202 33.932 4459
+-106.076 33.932 4361
+-105.95 33.932 4304
+-105.824 33.932 4271
+-105.698 33.932 4236
+-105.572 33.932 4205
+-105.446 33.932 4188
+-105.32 33.932 4147
+-105.194 33.932 4113
+-105.068 33.932 4065
+-104.942 33.932 4051
+-104.816 33.932 3979
+-104.69 33.932 3938
+-104.564 33.932 3885
+-104.438 33.932 3791
+-104.312 33.932 3779
+-104.186 33.932 3772
+-104.06 33.932 3750
+-103.934 33.932 3749
+-103.808 33.932 3748
+-103.682 33.932 3750
+-103.556 33.932 3727
+-103.43 33.932 3710
+-103.304 33.932 3713
+-103.178 33.932 3712
+-103.052 33.932 3684
+-102.926 33.932 3682
+-102.8 33.932 3686
+-102.674 33.932 3691
+-102.548 33.932 3695
+-102.422 33.932 3678
+-102.296 33.932 3682
+-102.17 33.932 3685
+-102.044 33.932 3689
+-101.918 33.932 3675
+-101.792 33.932 3679
+-101.666 33.932 3683
+-101.54 33.932 3686
+-101.414 33.932 3619
+-101.288 33.932 3584
+-101.162 33.932 3584
+-101.036 33.932 3562
+-100.91 33.932 3560
+-100.784 33.932 3479
+-100.658 33.932 3475
+-100.532 33.932 3432
+-100.406 33.932 3426
+-100.28 33.932 3352
+-100.154 33.932 3245
+-100.028 33.932 3217
+-99.902 33.932 3149
+-99.776 33.932 3113
+-99.65 33.932 3148
+-99.524 33.932 3149
+-99.398 33.932 3277
+-99.272 33.932 3295
+-99.146 33.932 3311
+-99.02 33.932 3310
+-98.894 33.932 3308
+-98.768 33.932 3307
+-98.642 33.932 3305
+-98.516 33.932 3304
+-98.39 33.932 3236
+-98.264 33.932 3337
+-98.138 33.932 3138
+-98.012 33.932 3136
+-97.886 33.932 3142
+-97.76 33.932 3257
+-97.634 33.932 3285
+-97.508 33.932 3227
+-97.382 33.932 3250
+-97.256 33.932 3243
+-97.13 33.932 3234
+-97.004 33.932 3296
+-96.878 33.932 3235
+-96.752 33.932 3250
+-96.626 33.932 3273
+-96.5 33.932 3281
+-96.374 33.932 3233
+-96.248 33.932 3225
+-96.122 33.932 3207
+-95.996 33.932 3186
+-95.87 33.932 3108
+-95.744 33.932 3088
+-95.618 33.932 3064
+-95.492 33.932 3036
+-95.366 33.932 3004
+-95.24 33.932 2966
+-95.114 33.932 2947
+-94.988 33.932 2892
+-94.862 33.932 2845
+-94.736 33.932 2788
+-94.61 33.932 2699
+-94.484 33.932 2630
+-94.358 33.932 2725
+-94.232 33.932 2915
+-94.106 33.932 3080
+-93.98 33.932 3164
+-93.854 33.932 3198
+-93.728 33.932 3223
+-93.602 33.932 3249
+-93.476 33.932 3267
+-93.35 33.932 3342
+-93.224 33.932 3451
+-93.098 33.932 3531
+-92.972 33.932 3570
+-92.846 33.932 3559
+-92.72 33.932 3652
+-92.594 33.932 3811
+-92.468 33.932 3956
+-92.342 33.932 4025
+-92.216 33.932 4136
+-92.09 33.932 4230
+-91.964 33.932 4337
+-91.838 33.932 4410
+-91.712 33.932 4496
+-91.586 33.932 4581
+-91.46 33.932 4636
+-91.334 33.932 4760
+-91.208 33.932 4862
+-91.082 33.932 4896
+-90.956 33.932 4947
+-90.83 33.932 5038
+-90.704 33.932 5095
+-90.578 33.932 5138
+-90.452 33.932 5223
+-90.326 33.932 5318
+-90.2 33.932 5368
+-90.074 33.932 5414
+-89.948 33.932 5409
+-89.822 33.932 5447
+-89.696 33.932 5456
+-89.57 33.932 5476
+-89.444 33.932 5507
+-89.318 33.932 5544
+-89.192 33.932 5583
+-89.066 33.932 5592
+-88.94 33.932 5614
+-88.814 33.932 5611
+-88.688 33.932 5604
+-88.562 33.932 5594
+-88.436 33.932 5570
+-88.31 33.932 5532
+-88.184 33.932 5514
+-88.058 33.932 5535
+-87.932 33.932 5491
+-87.806 33.932 5452
+-87.68 33.932 5419
+-87.554 33.932 5371
+-87.428 33.932 5298
+-87.302 33.932 5224
+-87.176 33.932 5234
+-87.05 33.932 5131
+-86.924 33.932 5081
+-86.798 33.932 4999
+-86.672 33.932 4957
+-86.546 33.932 4885
+-86.42 33.932 4794
+-86.294 33.932 4692
+-86.168 33.932 4621
+-86.042 33.932 4547
+-85.916 33.932 4522
+-85.79 33.932 4488
+-85.664 33.932 4418
+-85.538 33.932 4320
+-85.412 33.932 4136
+-85.286 33.932 3979
+-85.16 33.932 4060
+-85.034 33.932 4112
+-84.908 33.932 4091
+-84.782 33.932 4003
+-84.656 33.932 3916
+-84.53 33.932 3824
+-84.404 33.932 3728
+-84.278 33.932 3601
+-84.152 33.932 3505
+-84.026 33.932 3438
+-83.9 33.932 3359
+-83.774 33.932 3247
+-83.648 33.932 3140
+-83.522 33.932 3022
+-83.396 33.932 2966
+-83.27 33.932 3005
+-83.144 33.932 3061
+-83.018 33.932 3082
+-82.892 33.932 3082
+-82.766 33.932 3090
+-82.64 33.932 3106
+-82.514 33.932 3135
+-82.388 33.932 3177
+-82.262 33.932 3227
+-82.136 33.932 3267
+-82.01 33.932 3303
+-81.884 33.932 3340
+-81.758 33.932 3380
+-81.632 33.932 3379
+-81.506 33.932 3425
+-81.38 33.932 3436
+-81.254 33.932 3412
+-81.128 33.932 3412
+-81.002 33.932 3377
+-80.876 33.932 3366
+-80.75 33.932 3350
+-80.624 33.932 3344
+-80.498 33.932 3319
+-80.372 33.932 3288
+-80.246 33.932 3256
+-80.12 33.932 3216
+-79.994 33.932 3196
+-79.868 33.932 3143
+-79.742 33.932 3044
+-79.616 33.932 3020
+-79.49 33.932 2954
+-79.364 33.932 2886
+-79.238 33.932 2817
+-79.112 33.932 2751
+-78.986 33.932 2693
+-78.86 33.932 2658
+-78.734 33.932 2633
+-78.608 33.932 2627
+-78.482 33.932 2648
+-78.356 33.932 2677
+-78.23 33.932 2710
+-78.104 33.932 2749
+-77.978 33.932 2785
+-77.852 33.932 2823
+-77.726 33.932 2859
+-77.6 33.932 2891
+-77.474 33.932 2920
+-77.348 33.932 2948
+-77.222 33.932 2951
+-77.096 33.932 2975
+-76.97 33.932 2997
+-76.844 33.932 3047
+-76.718 33.932 3066
+-76.592 33.932 3089
+-76.466 33.932 3107
+-76.34 33.932 3114
+-76.214 33.932 3140
+-76.088 33.932 3182
+-75.962 33.932 3201
+-75.836 33.932 3215
+-75.71 33.932 3228
+-75.584 33.932 3268
+-75.458 33.932 3282
+-75.332 33.932 3251
+-75.206 33.932 3272
+-75.08 33.932 3279
+-74.954 33.932 3224
+-74.828 33.932 3165
+-74.702 33.932 3185
+-74.576 33.932 3192
+-74.45 33.932 3219
+-74.324 33.932 3206
+-74.198 33.932 3217
+-74.072 33.932 3223
+-73.946 33.932 3214
+-73.82 33.932 3219
+-73.694 33.932 3225
+-73.568 33.932 3210
+-73.442 33.932 3199
+-73.316 33.932 3226
+-73.19 33.932 3225
+-73.064 33.932 3230
+-72.938 33.932 3235
+-72.812 33.932 3167
+-72.686 33.932 3202
+-72.56 33.932 3200
+-72.434 33.932 3204
+-72.308 33.932 3208
+-72.182 33.932 3404
+-72.056 33.932 3337
+-71.93 33.932 3348
+-71.804 33.932 3351
+-71.678 33.932 3257
+-71.552 33.932 3247
+-71.426 33.932 3248
+-71.3 33.932 3250
+-71.174 33.932 3232
+-71.048 33.932 3234
+-70.922 33.932 3235
+-70.796 33.932 3237
+-70.67 33.932 3238
+-70.544 33.932 3257
+-70.418 33.932 3259
+-70.292 33.932 3245
+-70.166 33.932 3247
+-70.04 33.932 3249
+-69.914 33.932 3193
+-69.788 33.932 3368
+-69.662 33.932 3332
+-69.536 33.932 3333
+-69.41 33.932 3301
+-69.284 33.932 3303
+-69.158 33.932 3304
+-69.032 33.932 3429
+-68.906 33.932 3430
+-68.78 33.932 3432
+-68.654 33.932 3433
+-68.528 33.932 3434
+-68.402 33.932 3541
+-68.276 33.932 3543
+-68.15 33.932 3461
+-68.024 33.932 3463
+-67.898 33.932 3464
+-67.772 33.932 3465
+-67.646 33.932 3473
+-67.52 33.932 3433
+-67.394 33.932 3426
+-67.268 33.932 3376
+-67.142 33.932 3377
+-67.016 33.932 3339
+-66.89 33.932 3385
+-66.764 33.932 3386
+-66.638 33.932 3387
+-66.512 33.932 3389
+-66.386 33.932 3390
+-66.26 33.932 3391
+-66.134 33.932 3392
+-66.008 33.932 3366
+-65.882 33.932 3367
+-65.756 33.932 3368
+-65.63 33.932 3338
+-65.504 33.932 3307
+-65.378 33.932 3285
+-65.252 33.932 3286
+-65.126 33.932 3287
+-128 33.88 2671
+-127.874 33.88 2670
+-127.748 33.88 2668
+-127.622 33.88 2706
+-127.496 33.88 2776
+-127.37 33.88 2774
+-127.244 33.88 2771
+-127.118 33.88 2770
+-126.992 33.88 2768
+-126.866 33.88 2809
+-126.74 33.88 2807
+-126.614 33.88 2809
+-126.488 33.88 2841
+-126.362 33.88 2903
+-126.236 33.88 2900
+-126.11 33.88 2898
+-125.984 33.88 3001
+-125.858 33.88 3002
+-125.732 33.88 3005
+-125.606 33.88 3009
+-125.48 33.88 3015
+-125.354 33.88 3054
+-125.228 33.88 3063
+-125.102 33.88 3163
+-124.976 33.88 3240
+-124.85 33.88 3252
+-124.724 33.88 3375
+-124.598 33.88 3491
+-124.472 33.88 3502
+-124.346 33.88 3513
+-124.22 33.88 3523
+-124.094 33.88 3534
+-123.968 33.88 3618
+-123.842 33.88 3667
+-123.716 33.88 3701
+-123.59 33.88 3801
+-123.464 33.88 3864
+-123.338 33.88 3896
+-123.212 33.88 3937
+-123.086 33.88 3978
+-122.96 33.88 3941
+-122.834 33.88 3856
+-122.708 33.88 3811
+-122.582 33.88 3987
+-122.456 33.88 4276
+-122.33 33.88 4346
+-122.204 33.88 4280
+-122.078 33.88 4440
+-121.952 33.88 4422
+-121.826 33.88 4639
+-121.7 33.88 4835
+-121.574 33.88 4833
+-121.448 33.88 5094
+-121.322 33.88 5141
+-121.196 33.88 5355
+-121.07 33.88 5508
+-120.944 33.88 5596
+-120.818 33.88 5721
+-120.692 33.88 5862
+-120.566 33.88 6028
+-120.44 33.88 6167
+-120.314 33.88 6259
+-120.188 33.88 6390
+-120.062 33.88 6574
+-119.936 33.88 6617
+-119.81 33.88 6776
+-119.684 33.88 6915
+-119.558 33.88 7083
+-119.432 33.88 7225
+-119.306 33.88 7369
+-119.18 33.88 7542
+-119.054 33.88 7665
+-118.928 33.88 7762
+-118.802 33.88 7912
+-118.676 33.88 8042
+-118.55 33.88 8157
+-118.424 33.88 8278
+-118.298 33.88 8443
+-118.172 33.88 8593
+-118.046 33.88 8687
+-117.92 33.88 8851
+-117.794 33.88 8917
+-117.668 33.88 9049
+-117.542 33.88 9135
+-117.416 33.88 9197
+-117.29 33.88 9225
+-117.164 33.88 9194
+-117.038 33.88 9067
+-116.912 33.88 9020
+-116.786 33.88 8863
+-116.66 33.88 8717
+-116.534 33.88 8566
+-116.408 33.88 8479
+-116.282 33.88 8347
+-116.156 33.88 8249
+-116.03 33.88 8097
+-115.904 33.88 7949
+-115.778 33.88 7869
+-115.652 33.88 7707
+-115.526 33.88 7608
+-115.4 33.88 7576
+-115.274 33.88 7494
+-115.148 33.88 7338
+-115.022 33.88 7238
+-114.896 33.88 7125
+-114.77 33.88 6990
+-114.644 33.88 6868
+-114.518 33.88 6723
+-114.392 33.88 6640
+-114.266 33.88 6454
+-114.14 33.88 6299
+-114.014 33.88 6195
+-113.888 33.88 6046
+-113.762 33.88 5944
+-113.636 33.88 5850
+-113.51 33.88 5721
+-113.384 33.88 5606
+-113.258 33.88 5589
+-113.132 33.88 5575
+-113.006 33.88 5707
+-112.88 33.88 5822
+-112.754 33.88 5960
+-112.628 33.88 5987
+-112.502 33.88 6102
+-112.376 33.88 6219
+-112.25 33.88 6284
+-112.124 33.88 6393
+-111.998 33.88 6455
+-111.872 33.88 6546
+-111.746 33.88 6617
+-111.62 33.88 6660
+-111.494 33.88 6741
+-111.368 33.88 6782
+-111.242 33.88 6860
+-111.116 33.88 6908
+-110.99 33.88 6963
+-110.864 33.88 6960
+-110.738 33.88 6987
+-110.612 33.88 7020
+-110.486 33.88 6993
+-110.36 33.88 7008
+-110.234 33.88 7004
+-110.108 33.88 6989
+-109.982 33.88 6962
+-109.856 33.88 6964
+-109.73 33.88 6895
+-109.604 33.88 6857
+-109.478 33.88 6824
+-109.352 33.88 6763
+-109.226 33.88 6699
+-109.1 33.88 6615
+-108.974 33.88 6579
+-108.848 33.88 6501
+-108.722 33.88 6399
+-108.596 33.88 6360
+-108.47 33.88 6281
+-108.344 33.88 6155
+-108.218 33.88 6080
+-108.092 33.88 5994
+-107.966 33.88 5848
+-107.84 33.88 5780
+-107.714 33.88 5674
+-107.588 33.88 5568
+-107.462 33.88 5491
+-107.336 33.88 5451
+-107.21 33.88 5406
+-107.084 33.88 5272
+-106.958 33.88 5135
+-106.832 33.88 4991
+-106.706 33.88 4864
+-106.58 33.88 4732
+-106.454 33.88 4663
+-106.328 33.88 4613
+-106.202 33.88 4497
+-106.076 33.88 4366
+-105.95 33.88 4270
+-105.824 33.88 4211
+-105.698 33.88 4182
+-105.572 33.88 4178
+-105.446 33.88 4157
+-105.32 33.88 4118
+-105.194 33.88 4084
+-105.068 33.88 4047
+-104.942 33.88 3989
+-104.816 33.88 3938
+-104.69 33.88 3866
+-104.564 33.88 3841
+-104.438 33.88 3759
+-104.312 33.88 3750
+-104.186 33.88 3728
+-104.06 33.88 3726
+-103.934 33.88 3727
+-103.808 33.88 3729
+-103.682 33.88 3708
+-103.556 33.88 3693
+-103.43 33.88 3697
+-103.304 33.88 3697
+-103.178 33.88 3671
+-103.052 33.88 3669
+-102.926 33.88 3675
+-102.8 33.88 3680
+-102.674 33.88 3685
+-102.548 33.88 3669
+-102.422 33.88 3673
+-102.296 33.88 3677
+-102.17 33.88 3681
+-102.044 33.88 3668
+-101.918 33.88 3672
+-101.792 33.88 3677
+-101.666 33.88 3681
+-101.54 33.88 3685
+-101.414 33.88 3619
+-101.288 33.88 3587
+-101.162 33.88 3566
+-101.036 33.88 3565
+-100.91 33.88 3489
+-100.784 33.88 3486
+-100.658 33.88 3482
+-100.532 33.88 3440
+-100.406 33.88 3434
+-100.28 33.88 3395
+-100.154 33.88 3251
+-100.028 33.88 3223
+-99.902 33.88 3142
+-99.776 33.88 3116
+-99.65 33.88 3149
+-99.524 33.88 3150
+-99.398 33.88 3277
+-99.272 33.88 3313
+-99.146 33.88 3312
+-99.02 33.88 3310
+-98.894 33.88 3309
+-98.768 33.88 3307
+-98.642 33.88 3305
+-98.516 33.88 3237
+-98.39 33.88 3338
+-98.264 33.88 3134
+-98.138 33.88 3131
+-98.012 33.88 3137
+-97.886 33.88 3253
+-97.76 33.88 3203
+-97.634 33.88 3223
+-97.508 33.88 3246
+-97.382 33.88 3239
+-97.256 33.88 3231
+-97.13 33.88 3220
+-97.004 33.88 3233
+-96.878 33.88 3249
+-96.752 33.88 3206
+-96.626 33.88 3219
+-96.5 33.88 3216
+-96.374 33.88 3172
+-96.248 33.88 3217
+-96.122 33.88 3199
+-95.996 33.88 3120
+-95.87 33.88 3104
+-95.744 33.88 3086
+-95.618 33.88 3064
+-95.492 33.88 3040
+-95.366 33.88 3012
+-95.24 33.88 3011
+-95.114 33.88 2965
+-94.988 33.88 2927
+-94.862 33.88 2883
+-94.736 33.88 2825
+-94.61 33.88 2753
+-94.484 33.88 2711
+-94.358 33.88 2792
+-94.232 33.88 2946
+-94.106 33.88 3072
+-93.98 33.88 3132
+-93.854 33.88 3143
+-93.728 33.88 3133
+-93.602 33.88 3201
+-93.476 33.88 3203
+-93.35 33.88 3285
+-93.224 33.88 3394
+-93.098 33.88 3476
+-92.972 33.88 3523
+-92.846 33.88 3549
+-92.72 33.88 3605
+-92.594 33.88 3704
+-92.468 33.88 3843
+-92.342 33.88 3987
+-92.216 33.88 4122
+-92.09 33.88 4233
+-91.964 33.88 4306
+-91.838 33.88 4356
+-91.712 33.88 4439
+-91.586 33.88 4514
+-91.46 33.88 4578
+-91.334 33.88 4666
+-91.208 33.88 4806
+-91.082 33.88 4872
+-90.956 33.88 4917
+-90.83 33.88 5000
+-90.704 33.88 5057
+-90.578 33.88 5106
+-90.452 33.88 5137
+-90.326 33.88 5236
+-90.2 33.88 5314
+-90.074 33.88 5363
+-89.948 33.88 5390
+-89.822 33.88 5380
+-89.696 33.88 5382
+-89.57 33.88 5402
+-89.444 33.88 5452
+-89.318 33.88 5510
+-89.192 33.88 5521
+-89.066 33.88 5554
+-88.94 33.88 5554
+-88.814 33.88 5541
+-88.688 33.88 5557
+-88.562 33.88 5546
+-88.436 33.88 5494
+-88.31 33.88 5469
+-88.184 33.88 5455
+-88.058 33.88 5467
+-87.932 33.88 5442
+-87.806 33.88 5390
+-87.68 33.88 5371
+-87.554 33.88 5348
+-87.428 33.88 5244
+-87.302 33.88 5209
+-87.176 33.88 5161
+-87.05 33.88 5105
+-86.924 33.88 5024
+-86.798 33.88 4967
+-86.672 33.88 4911
+-86.546 33.88 4860
+-86.42 33.88 4768
+-86.294 33.88 4648
+-86.168 33.88 4592
+-86.042 33.88 4480
+-85.916 33.88 4496
+-85.79 33.88 4470
+-85.664 33.88 4407
+-85.538 33.88 4318
+-85.412 33.88 4181
+-85.286 33.88 4078
+-85.16 33.88 4100
+-85.034 33.88 4102
+-84.908 33.88 4065
+-84.782 33.88 3952
+-84.656 33.88 3890
+-84.53 33.88 3786
+-84.404 33.88 3718
+-84.278 33.88 3624
+-84.152 33.88 3507
+-84.026 33.88 3423
+-83.9 33.88 3298
+-83.774 33.88 3214
+-83.648 33.88 3104
+-83.522 33.88 2971
+-83.396 33.88 2906
+-83.27 33.88 2968
+-83.144 33.88 3057
+-83.018 33.88 3089
+-82.892 33.88 3109
+-82.766 33.88 3130
+-82.64 33.88 3155
+-82.514 33.88 3190
+-82.388 33.88 3233
+-82.262 33.88 3270
+-82.136 33.88 3310
+-82.01 33.88 3341
+-81.884 33.88 3381
+-81.758 33.88 3437
+-81.632 33.88 3461
+-81.506 33.88 3445
+-81.38 33.88 3455
+-81.254 33.88 3472
+-81.128 33.88 3433
+-81.002 33.88 3429
+-80.876 33.88 3390
+-80.75 33.88 3389
+-80.624 33.88 3369
+-80.498 33.88 3344
+-80.372 33.88 3318
+-80.246 33.88 3283
+-80.12 33.88 3269
+-79.994 33.88 3221
+-79.868 33.88 3148
+-79.742 33.88 3099
+-79.616 33.88 3030
+-79.49 33.88 2955
+-79.364 33.88 2873
+-79.238 33.88 2787
+-79.112 33.88 2702
+-78.986 33.88 2635
+-78.86 33.88 2578
+-78.734 33.88 2548
+-78.608 33.88 2555
+-78.482 33.88 2582
+-78.356 33.88 2623
+-78.23 33.88 2672
+-78.104 33.88 2720
+-77.978 33.88 2767
+-77.852 33.88 2811
+-77.726 33.88 2850
+-77.6 33.88 2886
+-77.474 33.88 2919
+-77.348 33.88 2927
+-77.222 33.88 2954
+-77.096 33.88 2979
+-76.97 33.88 3030
+-76.844 33.88 3051
+-76.718 33.88 3076
+-76.592 33.88 3096
+-76.466 33.88 3105
+-76.34 33.88 3132
+-76.214 33.88 3174
+-76.088 33.88 3194
+-75.962 33.88 3209
+-75.836 33.88 3222
+-75.71 33.88 3262
+-75.584 33.88 3277
+-75.458 33.88 3247
+-75.332 33.88 3268
+-75.206 33.88 3276
+-75.08 33.88 3224
+-74.954 33.88 3164
+-74.828 33.88 3184
+-74.702 33.88 3191
+-74.576 33.88 3217
+-74.45 33.88 3205
+-74.324 33.88 3216
+-74.198 33.88 3223
+-74.072 33.88 3213
+-73.946 33.88 3219
+-73.82 33.88 3225
+-73.694 33.88 3210
+-73.568 33.88 3199
+-73.442 33.88 3226
+-73.316 33.88 3225
+-73.19 33.88 3230
+-73.064 33.88 3235
+-72.938 33.88 3167
+-72.812 33.88 3203
+-72.686 33.88 3201
+-72.56 33.88 3205
+-72.434 33.88 3209
+-72.308 33.88 3402
+-72.182 33.88 3338
+-72.056 33.88 3346
+-71.93 33.88 3349
+-71.804 33.88 3255
+-71.678 33.88 3245
+-71.552 33.88 3247
+-71.426 33.88 3249
+-71.3 33.88 3231
+-71.174 33.88 3233
+-71.048 33.88 3234
+-70.922 33.88 3236
+-70.796 33.88 3237
+-70.67 33.88 3256
+-70.544 33.88 3258
+-70.418 33.88 3244
+-70.292 33.88 3246
+-70.166 33.88 3248
+-70.04 33.88 3192
+-69.914 33.88 3367
+-69.788 33.88 3330
+-69.662 33.88 3332
+-69.536 33.88 3300
+-69.41 33.88 3302
+-69.284 33.88 3303
+-69.158 33.88 3428
+-69.032 33.88 3429
+-68.906 33.88 3430
+-68.78 33.88 3431
+-68.654 33.88 3432
+-68.528 33.88 3539
+-68.402 33.88 3541
+-68.276 33.88 3460
+-68.15 33.88 3461
+-68.024 33.88 3462
+-67.898 33.88 3464
+-67.772 33.88 3471
+-67.646 33.88 3431
+-67.52 33.88 3424
+-67.394 33.88 3374
+-67.268 33.88 3376
+-67.142 33.88 3338
+-67.016 33.88 3384
+-66.89 33.88 3385
+-66.764 33.88 3386
+-66.638 33.88 3387
+-66.512 33.88 3389
+-66.386 33.88 3390
+-66.26 33.88 3391
+-66.134 33.88 3365
+-66.008 33.88 3366
+-65.882 33.88 3367
+-65.756 33.88 3337
+-65.63 33.88 3306
+-65.504 33.88 3285
+-65.378 33.88 3285
+-65.252 33.88 3286
+-65.126 33.88 3287
+-128 33.828 2668
+-127.874 33.828 2666
+-127.748 33.828 2730
+-127.622 33.828 2773
+-127.496 33.828 2770
+-127.37 33.828 2767
+-127.244 33.828 2764
+-127.118 33.828 2762
+-126.992 33.828 2802
+-126.866 33.828 2798
+-126.74 33.828 2800
+-126.614 33.828 2796
+-126.488 33.828 2826
+-126.362 33.828 2824
+-126.236 33.828 2883
+-126.11 33.828 2879
+-125.984 33.828 2877
+-125.858 33.828 2979
+-125.732 33.828 2980
+-125.606 33.828 2983
+-125.48 33.828 2987
+-125.354 33.828 2994
+-125.228 33.828 3089
+-125.102 33.828 3099
+-124.976 33.828 3169
+-124.85 33.828 3262
+-124.724 33.828 3399
+-124.598 33.828 3410
+-124.472 33.828 3449
+-124.346 33.828 3457
+-124.22 33.828 3463
+-124.094 33.828 3467
+-123.968 33.828 3479
+-123.842 33.828 3525
+-123.716 33.828 3601
+-123.59 33.828 3639
+-123.464 33.828 3767
+-123.338 33.828 3827
+-123.212 33.828 3870
+-123.086 33.828 3924
+-122.96 33.828 3892
+-122.834 33.828 3765
+-122.708 33.828 3640
+-122.582 33.828 3854
+-122.456 33.828 4205
+-122.33 33.828 4365
+-122.204 33.828 4384
+-122.078 33.828 4440
+-121.952 33.828 4511
+-121.826 33.828 4665
+-121.7 33.828 4834
+-121.574 33.828 4939
+-121.448 33.828 5124
+-121.322 33.828 5276
+-121.196 33.828 5420
+-121.07 33.828 5487
+-120.944 33.828 5629
+-120.818 33.828 5712
+-120.692 33.828 5840
+-120.566 33.828 5931
+-120.44 33.828 6126
+-120.314 33.828 6216
+-120.188 33.828 6336
+-120.062 33.828 6552
+-119.936 33.828 6630
+-119.81 33.828 6778
+-119.684 33.828 6889
+-119.558 33.828 7071
+-119.432 33.828 7232
+-119.306 33.828 7373
+-119.18 33.828 7490
+-119.054 33.828 7615
+-118.928 33.828 7802
+-118.802 33.828 7891
+-118.676 33.828 8025
+-118.55 33.828 8105
+-118.424 33.828 8309
+-118.298 33.828 8423
+-118.172 33.828 8552
+-118.046 33.828 8746
+-117.92 33.828 8800
+-117.794 33.828 8958
+-117.668 33.828 9041
+-117.542 33.828 9127
+-117.416 33.828 9167
+-117.29 33.828 9153
+-117.164 33.828 9103
+-117.038 33.828 9085
+-116.912 33.828 8924
+-116.786 33.828 8812
+-116.66 33.828 8718
+-116.534 33.828 8593
+-116.408 33.828 8425
+-116.282 33.828 8317
+-116.156 33.828 8222
+-116.03 33.828 8102
+-115.904 33.828 7921
+-115.778 33.828 7934
+-115.652 33.828 7884
+-115.526 33.828 7755
+-115.4 33.828 7580
+-115.274 33.828 7485
+-115.148 33.828 7393
+-115.022 33.828 7269
+-114.896 33.828 7103
+-114.77 33.828 7013
+-114.644 33.828 6928
+-114.518 33.828 6770
+-114.392 33.828 6603
+-114.266 33.828 6488
+-114.14 33.828 6353
+-114.014 33.828 6191
+-113.888 33.828 6069
+-113.762 33.828 5937
+-113.636 33.828 5838
+-113.51 33.828 5631
+-113.384 33.828 5657
+-113.258 33.828 5653
+-113.132 33.828 5637
+-113.006 33.828 5748
+-112.88 33.828 5852
+-112.754 33.828 5965
+-112.628 33.828 6038
+-112.502 33.828 6187
+-112.376 33.828 6240
+-112.25 33.828 6321
+-112.124 33.828 6402
+-111.998 33.828 6497
+-111.872 33.828 6609
+-111.746 33.828 6646
+-111.62 33.828 6722
+-111.494 33.828 6807
+-111.368 33.828 6839
+-111.242 33.828 6877
+-111.116 33.828 6976
+-110.99 33.828 6960
+-110.864 33.828 6988
+-110.738 33.828 7037
+-110.612 33.828 7040
+-110.486 33.828 7064
+-110.36 33.828 7075
+-110.234 33.828 7054
+-110.108 33.828 7030
+-109.982 33.828 7012
+-109.856 33.828 6995
+-109.73 33.828 6959
+-109.604 33.828 6918
+-109.478 33.828 6889
+-109.352 33.828 6802
+-109.226 33.828 6717
+-109.1 33.828 6691
+-108.974 33.828 6601
+-108.848 33.828 6572
+-108.722 33.828 6472
+-108.596 33.828 6387
+-108.47 33.828 6302
+-108.344 33.828 6218
+-108.218 33.828 6129
+-108.092 33.828 6021
+-107.966 33.828 5913
+-107.84 33.828 5794
+-107.714 33.828 5691
+-107.588 33.828 5588
+-107.462 33.828 5570
+-107.336 33.828 5495
+-107.21 33.828 5401
+-107.084 33.828 5306
+-106.958 33.828 5144
+-106.832 33.828 4998
+-106.706 33.828 4839
+-106.58 33.828 4731
+-106.454 33.828 4618
+-106.328 33.828 4631
+-106.202 33.828 4505
+-106.076 33.828 4312
+-105.95 33.828 4180
+-105.824 33.828 4124
+-105.698 33.828 4129
+-105.572 33.828 4143
+-105.446 33.828 4122
+-105.32 33.828 4089
+-105.194 33.828 4047
+-105.068 33.828 3982
+-104.942 33.828 3922
+-104.816 33.828 3853
+-104.69 33.828 3824
+-104.564 33.828 3804
+-104.438 33.828 3739
+-104.312 33.828 3733
+-104.186 33.828 3699
+-104.06 33.828 3700
+-103.934 33.828 3703
+-103.808 33.828 3700
+-103.682 33.828 3672
+-103.556 33.828 3678
+-103.43 33.828 3679
+-103.304 33.828 3655
+-103.178 33.828 3655
+-103.052 33.828 3661
+-102.926 33.828 3667
+-102.8 33.828 3673
+-102.674 33.828 3659
+-102.548 33.828 3664
+-102.422 33.828 3668
+-102.296 33.828 3673
+-102.17 33.828 3660
+-102.044 33.828 3665
+-101.918 33.828 3670
+-101.792 33.828 3675
+-101.666 33.828 3679
+-101.54 33.828 3683
+-101.414 33.828 3687
+-101.288 33.828 3647
+-101.162 33.828 3652
+-101.036 33.828 3569
+-100.91 33.828 3495
+-100.784 33.828 3492
+-100.658 33.828 3488
+-100.532 33.828 3447
+-100.406 33.828 3441
+-100.28 33.828 3444
+-100.154 33.828 3266
+-100.028 33.828 3229
+-99.902 33.828 3147
+-99.776 33.828 3120
+-99.65 33.828 3149
+-99.524 33.828 3150
+-99.398 33.828 3256
+-99.272 33.828 3313
+-99.146 33.828 3312
+-99.02 33.828 3311
+-98.894 33.828 3309
+-98.768 33.828 3307
+-98.642 33.828 3237
+-98.516 33.828 3339
+-98.39 33.828 3129
+-98.264 33.828 3127
+-98.138 33.828 3133
+-98.012 33.828 3249
+-97.886 33.828 3198
+-97.76 33.828 3218
+-97.634 33.828 3243
+-97.508 33.828 3236
+-97.382 33.828 3228
+-97.256 33.828 3217
+-97.13 33.828 3231
+-97.004 33.828 3248
+-96.878 33.828 3204
+-96.752 33.828 3220
+-96.626 33.828 3218
+-96.5 33.828 3205
+-96.374 33.828 3163
+-96.248 33.828 3150
+-96.122 33.828 3130
+-95.996 33.828 3117
+-95.87 33.828 3102
+-95.744 33.828 3085
+-95.618 33.828 3066
+-95.492 33.828 3045
+-95.366 33.828 2997
+-95.24 33.828 2986
+-95.114 33.828 2962
+-94.988 33.828 2935
+-94.862 33.828 2904
+-94.736 33.828 2893
+-94.61 33.828 2853
+-94.484 33.828 2850
+-94.358 33.828 2909
+-94.232 33.828 3006
+-94.106 33.828 3087
+-93.98 33.828 3125
+-93.854 33.828 3102
+-93.728 33.828 3048
+-93.602 33.828 3151
+-93.476 33.828 3242
+-93.35 33.828 3293
+-93.224 33.828 3332
+-93.098 33.828 3409
+-92.972 33.828 3470
+-92.846 33.828 3526
+-92.72 33.828 3537
+-92.594 33.828 3613
+-92.468 33.828 3760
+-92.342 33.828 3935
+-92.216 33.828 4093
+-92.09 33.828 4199
+-91.964 33.828 4264
+-91.838 33.828 4324
+-91.712 33.828 4400
+-91.586 33.828 4457
+-91.46 33.828 4526
+-91.334 33.828 4604
+-91.208 33.828 4709
+-91.082 33.828 4809
+-90.956 33.828 4869
+-90.83 33.828 4918
+-90.704 33.828 4999
+-90.578 33.828 5057
+-90.452 33.828 5114
+-90.326 33.828 5182
+-90.2 33.828 5242
+-90.074 33.828 5326
+-89.948 33.828 5345
+-89.822 33.828 5318
+-89.696 33.828 5355
+-89.57 33.828 5371
+-89.444 33.828 5391
+-89.318 33.828 5432
+-89.192 33.828 5439
+-89.066 33.828 5466
+-88.94 33.828 5483
+-88.814 33.828 5495
+-88.688 33.828 5483
+-88.562 33.828 5458
+-88.436 33.828 5431
+-88.31 33.828 5425
+-88.184 33.828 5424
+-88.058 33.828 5424
+-87.932 33.828 5409
+-87.806 33.828 5385
+-87.68 33.828 5361
+-87.554 33.828 5293
+-87.428 33.828 5201
+-87.302 33.828 5141
+-87.176 33.828 5084
+-87.05 33.828 5051
+-86.924 33.828 4957
+-86.798 33.828 4895
+-86.672 33.828 4865
+-86.546 33.828 4841
+-86.42 33.828 4756
+-86.294 33.828 4666
+-86.168 33.828 4594
+-86.042 33.828 4520
+-85.916 33.828 4486
+-85.79 33.828 4417
+-85.664 33.828 4358
+-85.538 33.828 4288
+-85.412 33.828 4231
+-85.286 33.828 4167
+-85.16 33.828 4148
+-85.034 33.828 4090
+-84.908 33.828 4039
+-84.782 33.828 3916
+-84.656 33.828 3807
+-84.53 33.828 3722
+-84.404 33.828 3625
+-84.278 33.828 3571
+-84.152 33.828 3453
+-84.026 33.828 3386
+-83.9 33.828 3293
+-83.774 33.828 3214
+-83.648 33.828 3122
+-83.522 33.828 3019
+-83.396 33.828 2971
+-83.27 33.828 3019
+-83.144 33.828 3078
+-83.018 33.828 3098
+-82.892 33.828 3118
+-82.766 33.828 3151
+-82.64 33.828 3190
+-82.514 33.828 3236
+-82.388 33.828 3274
+-82.262 33.828 3315
+-82.136 33.828 3345
+-82.01 33.828 3384
+-81.884 33.828 3438
+-81.758 33.828 3461
+-81.632 33.828 3477
+-81.506 33.828 3464
+-81.38 33.828 3472
+-81.254 33.828 3479
+-81.128 33.828 3452
+-81.002 33.828 3444
+-80.876 33.828 3425
+-80.75 33.828 3411
+-80.624 33.828 3392
+-80.498 33.828 3371
+-80.372 33.828 3343
+-80.246 33.828 3336
+-80.12 33.828 3294
+-79.994 33.828 3245
+-79.868 33.828 3180
+-79.742 33.828 3114
+-79.616 33.828 3039
+-79.49 33.828 2952
+-79.364 33.828 2855
+-79.238 33.828 2750
+-79.112 33.828 2650
+-78.986 33.828 2549
+-78.86 33.828 2475
+-78.734 33.828 2446
+-78.608 33.828 2457
+-78.482 33.828 2501
+-78.356 33.828 2564
+-78.23 33.828 2628
+-78.104 33.828 2691
+-77.978 33.828 2747
+-77.852 33.828 2797
+-77.726 33.828 2841
+-77.6 33.828 2881
+-77.474 33.828 2897
+-77.348 33.828 2928
+-77.222 33.828 2957
+-77.096 33.828 3010
+-76.97 33.828 3034
+-76.844 33.828 3061
+-76.718 33.828 3083
+-76.592 33.828 3094
+-76.466 33.828 3122
+-76.34 33.828 3165
+-76.214 33.828 3186
+-76.088 33.828 3202
+-75.962 33.828 3216
+-75.836 33.828 3256
+-75.71 33.828 3271
+-75.584 33.828 3244
+-75.458 33.828 3265
+-75.332 33.828 3273
+-75.206 33.828 3220
+-75.08 33.828 3164
+-74.954 33.828 3183
+-74.828 33.828 3190
+-74.702 33.828 3216
+-74.576 33.828 3205
+-74.45 33.828 3215
+-74.324 33.828 3222
+-74.198 33.828 3213
+-74.072 33.828 3219
+-73.946 33.828 3225
+-73.82 33.828 3210
+-73.694 33.828 3200
+-73.568 33.828 3226
+-73.442 33.828 3225
+-73.316 33.828 3230
+-73.19 33.828 3235
+-73.064 33.828 3168
+-72.938 33.828 3203
+-72.812 33.828 3201
+-72.686 33.828 3205
+-72.56 33.828 3209
+-72.434 33.828 3400
+-72.308 33.828 3333
+-72.182 33.828 3345
+-72.056 33.828 3348
+-71.93 33.828 3254
+-71.804 33.828 3244
+-71.678 33.828 3246
+-71.552 33.828 3248
+-71.426 33.828 3230
+-71.3 33.828 3232
+-71.174 33.828 3233
+-71.048 33.828 3235
+-70.922 33.828 3236
+-70.796 33.828 3255
+-70.67 33.828 3257
+-70.544 33.828 3243
+-70.418 33.828 3245
+-70.292 33.828 3247
+-70.166 33.828 3192
+-70.04 33.828 3365
+-69.914 33.828 3329
+-69.788 33.828 3330
+-69.662 33.828 3299
+-69.536 33.828 3300
+-69.41 33.828 3302
+-69.284 33.828 3426
+-69.158 33.828 3427
+-69.032 33.828 3428
+-68.906 33.828 3430
+-68.78 33.828 3431
+-68.654 33.828 3537
+-68.528 33.828 3539
+-68.402 33.828 3458
+-68.276 33.828 3459
+-68.15 33.828 3461
+-68.024 33.828 3462
+-67.898 33.828 3469
+-67.772 33.828 3430
+-67.646 33.828 3423
+-67.52 33.828 3373
+-67.394 33.828 3374
+-67.268 33.828 3337
+-67.142 33.828 3382
+-67.016 33.828 3384
+-66.89 33.828 3385
+-66.764 33.828 3386
+-66.638 33.828 3387
+-66.512 33.828 3389
+-66.386 33.828 3390
+-66.26 33.828 3364
+-66.134 33.828 3365
+-66.008 33.828 3366
+-65.882 33.828 3336
+-65.756 33.828 3305
+-65.63 33.828 3284
+-65.504 33.828 3285
+-65.378 33.828 3286
+-65.252 33.828 3286
+-65.126 33.828 3287
+-128 33.776 2664
+-127.874 33.776 2704
+-127.748 33.776 2724
+-127.622 33.776 2720
+-127.496 33.776 2764
+-127.37 33.776 2761
+-127.244 33.776 2757
+-127.118 33.776 2796
+-126.992 33.776 2791
+-126.866 33.776 2791
+-126.74 33.776 2786
+-126.614 33.776 2815
+-126.488 33.776 2811
+-126.362 33.776 2807
+-126.236 33.776 2803
+-126.11 33.776 2859
+-125.984 33.776 2854
+-125.858 33.776 2850
+-125.732 33.776 2954
+-125.606 33.776 2954
+-125.48 33.776 2957
+-125.354 33.776 3025
+-125.228 33.776 3030
+-125.102 33.776 3086
+-124.976 33.776 3175
+-124.85 33.776 3197
+-124.724 33.776 3348
+-124.598 33.776 3359
+-124.472 33.776 3368
+-124.346 33.776 3401
+-124.22 33.776 3402
+-124.094 33.776 3399
+-123.968 33.776 3425
+-123.842 33.776 3419
+-123.716 33.776 3427
+-123.59 33.776 3507
+-123.464 33.776 3573
+-123.338 33.776 3726
+-123.212 33.776 3800
+-123.086 33.776 3855
+-122.96 33.776 3886
+-122.834 33.776 3832
+-122.708 33.776 3791
+-122.582 33.776 3955
+-122.456 33.776 4208
+-122.33 33.776 4375
+-122.204 33.776 4419
+-122.078 33.776 4363
+-121.952 33.776 4499
+-121.826 33.776 4671
+-121.7 33.776 4819
+-121.574 33.776 4970
+-121.448 33.776 5176
+-121.322 33.776 5352
+-121.196 33.776 5461
+-121.07 33.776 5544
+-120.944 33.776 5612
+-120.818 33.776 5710
+-120.692 33.776 5844
+-120.566 33.776 5968
+-120.44 33.776 6122
+-120.314 33.776 6300
+-120.188 33.776 6451
+-120.062 33.776 6529
+-119.936 33.776 6630
+-119.81 33.776 6780
+-119.684 33.776 6953
+-119.558 33.776 7104
+-119.432 33.776 7189
+-119.306 33.776 7323
+-119.18 33.776 7515
+-119.054 33.776 7599
+-118.928 33.776 7716
+-118.802 33.776 7916
+-118.676 33.776 8061
+-118.55 33.776 8153
+-118.424 33.776 8264
+-118.298 33.776 8413
+-118.172 33.776 8494
+-118.046 33.776 8690
+-117.92 33.776 8772
+-117.794 33.776 8855
+-117.668 33.776 9015
+-117.542 33.776 9053
+-117.416 33.776 9118
+-117.29 33.776 9096
+-117.164 33.776 9076
+-117.038 33.776 9000
+-116.912 33.776 8911
+-116.786 33.776 8841
+-116.66 33.776 8752
+-116.534 33.776 8567
+-116.408 33.776 8470
+-116.282 33.776 8330
+-116.156 33.776 8179
+-116.03 33.776 8014
+-115.904 33.776 8112
+-115.778 33.776 8003
+-115.652 33.776 7909
+-115.526 33.776 7755
+-115.4 33.776 7693
+-115.274 33.776 7512
+-115.148 33.776 7353
+-115.022 33.776 7269
+-114.896 33.776 7118
+-114.77 33.776 7016
+-114.644 33.776 6854
+-114.518 33.776 6788
+-114.392 33.776 6651
+-114.266 33.776 6444
+-114.14 33.776 6313
+-114.014 33.776 6233
+-113.888 33.776 6071
+-113.762 33.776 5918
+-113.636 33.776 5862
+-113.51 33.776 5733
+-113.384 33.776 5545
+-113.258 33.776 5672
+-113.132 33.776 5729
+-113.006 33.776 5788
+-112.88 33.776 5851
+-112.754 33.776 5946
+-112.628 33.776 6087
+-112.502 33.776 6202
+-112.376 33.776 6309
+-112.25 33.776 6392
+-112.124 33.776 6462
+-111.998 33.776 6572
+-111.872 33.776 6668
+-111.746 33.776 6714
+-111.62 33.776 6738
+-111.494 33.776 6816
+-111.368 33.776 6892
+-111.242 33.776 6961
+-111.116 33.776 7005
+-110.99 33.776 7030
+-110.864 33.776 7057
+-110.738 33.776 7070
+-110.612 33.776 7106
+-110.486 33.776 7100
+-110.36 33.776 7107
+-110.234 33.776 7114
+-110.108 33.776 7090
+-109.982 33.776 7106
+-109.856 33.776 7051
+-109.73 33.776 7013
+-109.604 33.776 7008
+-109.478 33.776 6942
+-109.352 33.776 6856
+-109.226 33.776 6767
+-109.1 33.776 6718
+-108.974 33.776 6657
+-108.848 33.776 6575
+-108.722 33.776 6469
+-108.596 33.776 6436
+-108.47 33.776 6336
+-108.344 33.776 6220
+-108.218 33.776 6171
+-108.092 33.776 6044
+-107.966 33.776 5975
+-107.84 33.776 5871
+-107.714 33.776 5749
+-107.588 33.776 5663
+-107.462 33.776 5610
+-107.336 33.776 5480
+-107.21 33.776 5314
+-107.084 33.776 5297
+-106.958 33.776 5169
+-106.832 33.776 4966
+-106.706 33.776 4859
+-106.58 33.776 4778
+-106.454 33.776 4704
+-106.328 33.776 4641
+-106.202 33.776 4491
+-106.076 33.776 4262
+-105.95 33.776 4135
+-105.824 33.776 4024
+-105.698 33.776 4094
+-105.572 33.776 4130
+-105.446 33.776 4104
+-105.32 33.776 4061
+-105.194 33.776 3981
+-105.068 33.776 3922
+-104.942 33.776 3832
+-104.816 33.776 3793
+-104.69 33.776 3765
+-104.564 33.776 3748
+-104.438 33.776 3694
+-104.312 33.776 3693
+-104.186 33.776 3695
+-104.06 33.776 3671
+-103.934 33.776 3670
+-103.808 33.776 3646
+-103.682 33.776 3654
+-103.556 33.776 3658
+-103.43 33.776 3637
+-103.304 33.776 3638
+-103.178 33.776 3645
+-103.052 33.776 3653
+-102.926 33.776 3660
+-102.8 33.776 3647
+-102.674 33.776 3653
+-102.548 33.776 3659
+-102.422 33.776 3664
+-102.296 33.776 3652
+-102.17 33.776 3658
+-102.044 33.776 3663
+-101.918 33.776 3668
+-101.792 33.776 3673
+-101.666 33.776 3678
+-101.54 33.776 3682
+-101.414 33.776 3642
+-101.288 33.776 3647
+-101.162 33.776 3652
+-101.036 33.776 3657
+-100.91 33.776 3571
+-100.784 33.776 3498
+-100.658 33.776 3495
+-100.532 33.776 3491
+-100.406 33.776 3449
+-100.28 33.776 3451
+-100.154 33.776 3300
+-100.028 33.776 3235
+-99.902 33.776 3151
+-99.776 33.776 3123
+-99.65 33.776 3149
+-99.524 33.776 3151
+-99.398 33.776 3256
+-99.272 33.776 3314
+-99.146 33.776 3312
+-99.02 33.776 3311
+-98.894 33.776 3309
+-98.768 33.776 3238
+-98.642 33.776 3341
+-98.516 33.776 3126
+-98.39 33.776 3123
+-98.264 33.776 3129
+-98.138 33.776 3245
+-98.012 33.776 3194
+-97.886 33.776 3215
+-97.76 33.776 3240
+-97.634 33.776 3232
+-97.508 33.776 3225
+-97.382 33.776 3214
+-97.256 33.776 3229
+-97.13 33.776 3246
+-97.004 33.776 3203
+-96.878 33.776 3219
+-96.752 33.776 3219
+-96.626 33.776 3207
+-96.5 33.776 3165
+-96.374 33.776 3154
+-96.248 33.776 3142
+-96.122 33.776 3127
+-95.996 33.776 3115
+-95.87 33.776 3101
+-95.744 33.776 3085
+-95.618 33.776 3069
+-95.492 33.776 3024
+-95.366 33.776 3020
+-95.24 33.776 3003
+-95.114 33.776 2984
+-94.988 33.776 2965
+-94.862 33.776 2952
+-94.736 33.776 2935
+-94.61 33.776 2922
+-94.484 33.776 2955
+-94.358 33.776 2996
+-94.232 33.776 3052
+-94.106 33.776 3099
+-93.98 33.776 3132
+-93.854 33.776 3125
+-93.728 33.776 3115
+-93.602 33.776 3176
+-93.476 33.776 3257
+-93.35 33.776 3280
+-93.224 33.776 3243
+-93.098 33.776 3366
+-92.972 33.776 3413
+-92.846 33.776 3476
+-92.72 33.776 3456
+-92.594 33.776 3557
+-92.468 33.776 3730
+-92.342 33.776 3899
+-92.216 33.776 4042
+-92.09 33.776 4178
+-91.964 33.776 4248
+-91.838 33.776 4291
+-91.712 33.776 4393
+-91.586 33.776 4400
+-91.46 33.776 4557
+-91.334 33.776 4572
+-91.208 33.776 4648
+-91.082 33.776 4746
+-90.956 33.776 4818
+-90.83 33.776 4855
+-90.704 33.776 4906
+-90.578 33.776 4953
+-90.452 33.776 5020
+-90.326 33.776 5125
+-90.2 33.776 5209
+-90.074 33.776 5260
+-89.948 33.776 5318
+-89.822 33.776 5319
+-89.696 33.776 5325
+-89.57 33.776 5345
+-89.444 33.776 5398
+-89.318 33.776 5369
+-89.192 33.776 5373
+-89.066 33.776 5384
+-88.94 33.776 5390
+-88.814 33.776 5381
+-88.688 33.776 5393
+-88.562 33.776 5392
+-88.436 33.776 5396
+-88.31 33.776 5401
+-88.184 33.776 5370
+-88.058 33.776 5377
+-87.932 33.776 5341
+-87.806 33.776 5325
+-87.68 33.776 5291
+-87.554 33.776 5212
+-87.428 33.776 5116
+-87.302 33.776 5086
+-87.176 33.776 5047
+-87.05 33.776 4985
+-86.924 33.776 4882
+-86.798 33.776 4821
+-86.672 33.776 4834
+-86.546 33.776 4807
+-86.42 33.776 4738
+-86.294 33.776 4650
+-86.168 33.776 4577
+-86.042 33.776 4498
+-85.916 33.776 4429
+-85.79 33.776 4317
+-85.664 33.776 4240
+-85.538 33.776 4234
+-85.412 33.776 4227
+-85.286 33.776 4173
+-85.16 33.776 4123
+-85.034 33.776 4029
+-84.908 33.776 3945
+-84.782 33.776 3824
+-84.656 33.776 3725
+-84.53 33.776 3640
+-84.404 33.776 3558
+-84.278 33.776 3532
+-84.152 33.776 3422
+-84.026 33.776 3352
+-83.9 33.776 3286
+-83.774 33.776 3235
+-83.648 33.776 3163
+-83.522 33.776 3100
+-83.396 33.776 3076
+-83.27 33.776 3089
+-83.144 33.776 3099
+-83.018 33.776 3092
+-82.892 33.776 3113
+-82.766 33.776 3166
+-82.64 33.776 3218
+-82.514 33.776 3274
+-82.388 33.776 3317
+-82.262 33.776 3350
+-82.136 33.776 3389
+-82.01 33.776 3440
+-81.884 33.776 3462
+-81.758 33.776 3477
+-81.632 33.776 3489
+-81.506 33.776 3500
+-81.38 33.776 3487
+-81.254 33.776 3492
+-81.128 33.776 3496
+-81.002 33.776 3501
+-80.876 33.776 3489
+-80.75 33.776 3430
+-80.624 33.776 3415
+-80.498 33.776 3393
+-80.372 33.776 3393
+-80.246 33.776 3359
+-80.12 33.776 3317
+-79.994 33.776 3284
+-79.868 33.776 3200
+-79.742 33.776 3130
+-79.616 33.776 3048
+-79.49 33.776 2952
+-79.364 33.776 2840
+-79.238 33.776 2723
+-79.112 33.776 2587
+-78.986 33.776 2457
+-78.86 33.776 2364
+-78.734 33.776 2324
+-78.608 33.776 2348
+-78.482 33.776 2418
+-78.356 33.776 2505
+-78.23 33.776 2590
+-78.104 33.776 2665
+-77.978 33.776 2729
+-77.852 33.776 2786
+-77.726 33.776 2834
+-77.6 33.776 2859
+-77.474 33.776 2897
+-77.348 33.776 2930
+-77.222 33.776 2986
+-77.096 33.776 3014
+-76.97 33.776 3044
+-76.844 33.776 3068
+-76.718 33.776 3082
+-76.592 33.776 3112
+-76.466 33.776 3155
+-76.34 33.776 3177
+-76.214 33.776 3195
+-76.088 33.776 3210
+-75.962 33.776 3250
+-75.836 33.776 3266
+-75.71 33.776 3240
+-75.584 33.776 3261
+-75.458 33.776 3270
+-75.332 33.776 3221
+-75.206 33.776 3163
+-75.08 33.776 3182
+-74.954 33.776 3190
+-74.828 33.776 3216
+-74.702 33.776 3205
+-74.576 33.776 3215
+-74.45 33.776 3222
+-74.324 33.776 3213
+-74.198 33.776 3219
+-74.072 33.776 3225
+-73.946 33.776 3211
+-73.82 33.776 3200
+-73.694 33.776 3227
+-73.568 33.776 3225
+-73.442 33.776 3231
+-73.316 33.776 3236
+-73.19 33.776 3169
+-73.064 33.776 3204
+-72.938 33.776 3202
+-72.812 33.776 3206
+-72.686 33.776 3210
+-72.56 33.776 3397
+-72.434 33.776 3335
+-72.308 33.776 3343
+-72.182 33.776 3346
+-72.056 33.776 3253
+-71.93 33.776 3243
+-71.804 33.776 3245
+-71.678 33.776 3247
+-71.552 33.776 3229
+-71.426 33.776 3231
+-71.3 33.776 3232
+-71.174 33.776 3234
+-71.048 33.776 3236
+-70.922 33.776 3253
+-70.796 33.776 3256
+-70.67 33.776 3242
+-70.544 33.776 3244
+-70.418 33.776 3246
+-70.292 33.776 3191
+-70.166 33.776 3364
+-70.04 33.776 3328
+-69.914 33.776 3329
+-69.788 33.776 3298
+-69.662 33.776 3299
+-69.536 33.776 3301
+-69.41 33.776 3424
+-69.284 33.776 3425
+-69.158 33.776 3427
+-69.032 33.776 3428
+-68.906 33.776 3429
+-68.78 33.776 3535
+-68.654 33.776 3537
+-68.528 33.776 3456
+-68.402 33.776 3458
+-68.276 33.776 3459
+-68.15 33.776 3460
+-68.024 33.776 3467
+-67.898 33.776 3428
+-67.772 33.776 3421
+-67.646 33.776 3372
+-67.52 33.776 3373
+-67.394 33.776 3336
+-67.268 33.776 3381
+-67.142 33.776 3382
+-67.016 33.776 3384
+-66.89 33.776 3385
+-66.764 33.776 3386
+-66.638 33.776 3387
+-66.512 33.776 3389
+-66.386 33.776 3363
+-66.26 33.776 3364
+-66.134 33.776 3365
+-66.008 33.776 3335
+-65.882 33.776 3304
+-65.756 33.776 3283
+-65.63 33.776 3284
+-65.504 33.776 3285
+-65.378 33.776 3286
+-65.252 33.776 3287
+-65.126 33.776 3287
+-128 33.724 2702
+-127.874 33.724 2698
+-127.748 33.724 2694
+-127.622 33.724 2713
+-127.496 33.724 2709
+-127.37 33.724 2754
+-127.244 33.724 2791
+-127.118 33.724 2786
+-126.992 33.724 2785
+-126.866 33.724 2779
+-126.74 33.724 2806
+-126.614 33.724 2800
+-126.488 33.724 2794
+-126.362 33.724 2788
+-126.236 33.724 2783
+-126.11 33.724 2777
+-125.984 33.724 2826
+-125.858 33.724 2821
+-125.732 33.724 2899
+-125.606 33.724 2921
+-125.48 33.724 2982
+-125.354 33.724 2982
+-125.228 33.724 3043
+-125.102 33.724 3106
+-124.976 33.724 3113
+-124.85 33.724 3145
+-124.724 33.724 3258
+-124.598 33.724 3271
+-124.472 33.724 3321
+-124.346 33.724 3325
+-124.22 33.724 3342
+-124.094 33.724 3326
+-123.968 33.724 3299
+-123.842 33.724 3286
+-123.716 33.724 3266
+-123.59 33.724 3286
+-123.464 33.724 3410
+-123.338 33.724 3534
+-123.212 33.724 3721
+-123.086 33.724 3837
+-122.96 33.724 3897
+-122.834 33.724 3926
+-122.708 33.724 3965
+-122.582 33.724 4084
+-122.456 33.724 4260
+-122.33 33.724 4393
+-122.204 33.724 4434
+-122.078 33.724 4454
+-121.952 33.724 4506
+-121.826 33.724 4645
+-121.7 33.724 4811
+-121.574 33.724 5014
+-121.448 33.724 5155
+-121.322 33.724 5345
+-121.196 33.724 5455
+-121.07 33.724 5518
+-120.944 33.724 5558
+-120.818 33.724 5678
+-120.692 33.724 5834
+-120.566 33.724 5971
+-120.44 33.724 6117
+-120.314 33.724 6300
+-120.188 33.724 6378
+-120.062 33.724 6537
+-119.936 33.724 6658
+-119.81 33.724 6771
+-119.684 33.724 6925
+-119.558 33.724 7086
+-119.432 33.724 7197
+-119.306 33.724 7343
+-119.18 33.724 7471
+-119.054 33.724 7554
+-118.928 33.724 7772
+-118.802 33.724 7884
+-118.676 33.724 8011
+-118.55 33.724 8149
+-118.424 33.724 8235
+-118.298 33.724 8397
+-118.172 33.724 8496
+-118.046 33.724 8576
+-117.92 33.724 8759
+-117.794 33.724 8835
+-117.668 33.724 8920
+-117.542 33.724 9026
+-117.416 33.724 9055
+-117.29 33.724 9065
+-117.164 33.724 9050
+-117.038 33.724 8961
+-116.912 33.724 8911
+-116.786 33.724 8769
+-116.66 33.724 8635
+-116.534 33.724 8580
+-116.408 33.724 8451
+-116.282 33.724 8267
+-116.156 33.724 8338
+-116.03 33.724 8249
+-115.904 33.724 8186
+-115.778 33.724 8074
+-115.652 33.724 7936
+-115.526 33.724 7789
+-115.4 33.724 7687
+-115.274 33.724 7511
+-115.148 33.724 7379
+-115.022 33.724 7299
+-114.896 33.724 7225
+-114.77 33.724 7075
+-114.644 33.724 6933
+-114.518 33.724 6844
+-114.392 33.724 6649
+-114.266 33.724 6517
+-114.14 33.724 6405
+-114.014 33.724 6276
+-113.888 33.724 6088
+-113.762 33.724 5965
+-113.636 33.724 5846
+-113.51 33.724 5727
+-113.384 33.724 5665
+-113.258 33.724 5695
+-113.132 33.724 5710
+-113.006 33.724 5784
+-112.88 33.724 5942
+-112.754 33.724 6004
+-112.628 33.724 6133
+-112.502 33.724 6264
+-112.376 33.724 6354
+-112.25 33.724 6381
+-112.124 33.724 6493
+-111.998 33.724 6619
+-111.872 33.724 6687
+-111.746 33.724 6753
+-111.62 33.724 6828
+-111.494 33.724 6894
+-111.368 33.724 6974
+-111.242 33.724 7001
+-111.116 33.724 7056
+-110.99 33.724 7105
+-110.864 33.724 7126
+-110.738 33.724 7124
+-110.612 33.724 7142
+-110.486 33.724 7165
+-110.36 33.724 7196
+-110.234 33.724 7179
+-110.108 33.724 7139
+-109.982 33.724 7122
+-109.856 33.724 7108
+-109.73 33.724 7084
+-109.604 33.724 7008
+-109.478 33.724 6994
+-109.352 33.724 6883
+-109.226 33.724 6830
+-109.1 33.724 6747
+-108.974 33.724 6756
+-108.848 33.724 6640
+-108.722 33.724 6522
+-108.596 33.724 6478
+-108.47 33.724 6375
+-108.344 33.724 6276
+-108.218 33.724 6146
+-108.092 33.724 6066
+-107.966 33.724 5991
+-107.84 33.724 5895
+-107.714 33.724 5813
+-107.588 33.724 5610
+-107.462 33.724 5656
+-107.336 33.724 5563
+-107.21 33.724 5386
+-107.084 33.724 5265
+-106.958 33.724 5147
+-106.832 33.724 5013
+-106.706 33.724 4850
+-106.58 33.724 4709
+-106.454 33.724 4752
+-106.328 33.724 4682
+-106.202 33.724 4513
+-106.076 33.724 4333
+-105.95 33.724 4193
+-105.824 33.724 4119
+-105.698 33.724 4136
+-105.572 33.724 4115
+-105.446 33.724 4076
+-105.32 33.724 4002
+-105.194 33.724 3916
+-105.068 33.724 3820
+-104.942 33.724 3766
+-104.816 33.724 3726
+-104.69 33.724 3700
+-104.564 33.724 3688
+-104.438 33.724 3686
+-104.312 33.724 3659
+-104.186 33.724 3647
+-104.06 33.724 3649
+-103.934 33.724 3661
+-103.808 33.724 3637
+-103.682 33.724 3648
+-103.556 33.724 3650
+-103.43 33.724 3618
+-103.304 33.724 3627
+-103.178 33.724 3636
+-103.052 33.724 3645
+-102.926 33.724 3634
+-102.8 33.724 3641
+-102.674 33.724 3648
+-102.548 33.724 3654
+-102.422 33.724 3643
+-102.296 33.724 3649
+-102.17 33.724 3655
+-102.044 33.724 3661
+-101.918 33.724 3667
+-101.792 33.724 3672
+-101.666 33.724 3677
+-101.54 33.724 3637
+-101.414 33.724 3643
+-101.288 33.724 3648
+-101.162 33.724 3653
+-101.036 33.724 3657
+-100.91 33.724 3662
+-100.784 33.724 3574
+-100.658 33.724 3501
+-100.532 33.724 3498
+-100.406 33.724 3494
+-100.28 33.724 3458
+-100.154 33.724 3306
+-100.028 33.724 3240
+-99.902 33.724 3156
+-99.776 33.724 3126
+-99.65 33.724 3149
+-99.524 33.724 3151
+-99.398 33.724 3256
+-99.272 33.724 3314
+-99.146 33.724 3313
+-99.02 33.724 3311
+-98.894 33.724 3239
+-98.768 33.724 3342
+-98.642 33.724 3122
+-98.516 33.724 3119
+-98.39 33.724 3125
+-98.264 33.724 3241
+-98.138 33.724 3191
+-98.012 33.724 3211
+-97.886 33.724 3237
+-97.76 33.724 3230
+-97.634 33.724 3222
+-97.508 33.724 3211
+-97.382 33.724 3227
+-97.256 33.724 3245
+-97.13 33.724 3202
+-97.004 33.724 3219
+-96.878 33.724 3219
+-96.752 33.724 3209
+-96.626 33.724 3167
+-96.5 33.724 3157
+-96.374 33.724 3146
+-96.248 33.724 3073
+-96.122 33.724 3065
+-95.996 33.724 3056
+-95.87 33.724 3046
+-95.744 33.724 3086
+-95.618 33.724 3043
+-95.492 33.724 3044
+-95.366 33.724 3031
+-95.24 33.724 3018
+-95.114 33.724 3004
+-94.988 33.724 2999
+-94.862 33.724 2989
+-94.736 33.724 2981
+-94.61 33.724 2977
+-94.484 33.724 2990
+-94.358 33.724 3017
+-94.232 33.724 3047
+-94.106 33.724 3114
+-93.98 33.724 3136
+-93.854 33.724 3150
+-93.728 33.724 3169
+-93.602 33.724 3210
+-93.476 33.724 3268
+-93.35 33.724 3289
+-93.224 33.724 3305
+-93.098 33.724 3359
+-92.972 33.724 3402
+-92.846 33.724 3418
+-92.72 33.724 3471
+-92.594 33.724 3558
+-92.468 33.724 3719
+-92.342 33.724 3876
+-92.216 33.724 3964
+-92.09 33.724 4092
+-91.964 33.724 4212
+-91.838 33.724 4278
+-91.712 33.724 4360
+-91.586 33.724 4433
+-91.46 33.724 4497
+-91.334 33.724 4554
+-91.208 33.724 4612
+-91.082 33.724 4685
+-90.956 33.724 4769
+-90.83 33.724 4831
+-90.704 33.724 4920
+-90.578 33.724 4892
+-90.452 33.724 4925
+-90.326 33.724 5037
+-90.2 33.724 5134
+-90.074 33.724 5224
+-89.948 33.724 5274
+-89.822 33.724 5271
+-89.696 33.724 5238
+-89.57 33.724 5290
+-89.444 33.724 5311
+-89.318 33.724 5303
+-89.192 33.724 5308
+-89.066 33.724 5327
+-88.94 33.724 5340
+-88.814 33.724 5357
+-88.688 33.724 5334
+-88.562 33.724 5328
+-88.436 33.724 5336
+-88.31 33.724 5360
+-88.184 33.724 5350
+-88.058 33.724 5314
+-87.932 33.724 5248
+-87.806 33.724 5244
+-87.68 33.724 5211
+-87.554 33.724 5132
+-87.428 33.724 5061
+-87.302 33.724 5040
+-87.176 33.724 4981
+-87.05 33.724 4911
+-86.924 33.724 4834
+-86.798 33.724 4793
+-86.672 33.724 4800
+-86.546 33.724 4763
+-86.42 33.724 4684
+-86.294 33.724 4588
+-86.168 33.724 4522
+-86.042 33.724 4450
+-85.916 33.724 4367
+-85.79 33.724 4239
+-85.664 33.724 4139
+-85.538 33.724 4186
+-85.412 33.724 4213
+-85.286 33.724 4165
+-85.16 33.724 4069
+-85.034 33.724 3966
+-84.908 33.724 3881
+-84.782 33.724 3713
+-84.656 33.724 3607
+-84.53 33.724 3502
+-84.404 33.724 3450
+-84.278 33.724 3438
+-84.152 33.724 3362
+-84.026 33.724 3326
+-83.9 33.724 3294
+-83.774 33.724 3263
+-83.648 33.724 3216
+-83.522 33.724 3175
+-83.396 33.724 3152
+-83.27 33.724 3145
+-83.144 33.724 3127
+-83.018 33.724 3118
+-82.892 33.724 3149
+-82.766 33.724 3203
+-82.64 33.724 3264
+-82.514 33.724 3312
+-82.388 33.724 3353
+-82.262 33.724 3394
+-82.136 33.724 3438
+-82.01 33.724 3461
+-81.884 33.724 3475
+-81.758 33.724 3487
+-81.632 33.724 3498
+-81.506 33.724 3510
+-81.38 33.724 3519
+-81.254 33.724 3526
+-81.128 33.724 3533
+-81.002 33.724 3491
+-80.876 33.724 3487
+-80.75 33.724 3491
+-80.624 33.724 3434
+-80.498 33.724 3440
+-80.372 33.724 3415
+-80.246 33.724 3419
+-80.12 33.724 3380
+-79.994 33.724 3306
+-79.868 33.724 3221
+-79.742 33.724 3149
+-79.616 33.724 3062
+-79.49 33.724 2958
+-79.364 33.724 2846
+-79.238 33.724 2701
+-79.112 33.724 2540
+-78.986 33.724 2386
+-78.86 33.724 2262
+-78.734 33.724 2214
+-78.608 33.724 2254
+-78.482 33.724 2352
+-78.356 33.724 2463
+-78.23 33.724 2563
+-78.104 33.724 2646
+-77.978 33.724 2718
+-77.852 33.724 2778
+-77.726 33.724 2814
+-77.6 33.724 2858
+-77.474 33.724 2898
+-77.348 33.724 2957
+-77.222 33.724 2990
+-77.096 33.724 3023
+-76.97 33.724 3051
+-76.844 33.724 3068
+-76.718 33.724 3099
+-76.592 33.724 3144
+-76.466 33.724 3168
+-76.34 33.724 3187
+-76.214 33.724 3204
+-76.088 33.724 3244
+-75.962 33.724 3260
+-75.836 33.724 3236
+-75.71 33.724 3257
+-75.584 33.724 3267
+-75.458 33.724 3217
+-75.332 33.724 3162
+-75.206 33.724 3181
+-75.08 33.724 3189
+-74.954 33.724 3215
+-74.828 33.724 3205
+-74.702 33.724 3215
+-74.576 33.724 3222
+-74.45 33.724 3214
+-74.324 33.724 3220
+-74.198 33.724 3226
+-74.072 33.724 3212
+-73.946 33.724 3201
+-73.82 33.724 3227
+-73.694 33.724 3226
+-73.568 33.724 3231
+-73.442 33.724 3237
+-73.316 33.724 3170
+-73.19 33.724 3205
+-73.064 33.724 3203
+-72.938 33.724 3207
+-72.812 33.724 3211
+-72.686 33.724 3395
+-72.56 33.724 3330
+-72.434 33.724 3341
+-72.308 33.724 3344
+-72.182 33.724 3252
+-72.056 33.724 3242
+-71.93 33.724 3244
+-71.804 33.724 3246
+-71.678 33.724 3228
+-71.552 33.724 3230
+-71.426 33.724 3232
+-71.3 33.724 3233
+-71.174 33.724 3235
+-71.048 33.724 3252
+-70.922 33.724 3255
+-70.796 33.724 3241
+-70.67 33.724 3243
+-70.544 33.724 3245
+-70.418 33.724 3190
+-70.292 33.724 3362
+-70.166 33.724 3327
+-70.04 33.724 3328
+-69.914 33.724 3296
+-69.788 33.724 3298
+-69.662 33.724 3299
+-69.536 33.724 3422
+-69.41 33.724 3424
+-69.284 33.724 3425
+-69.158 33.724 3426
+-69.032 33.724 3427
+-68.906 33.724 3533
+-68.78 33.724 3535
+-68.654 33.724 3454
+-68.528 33.724 3456
+-68.402 33.724 3457
+-68.276 33.724 3459
+-68.15 33.724 3466
+-68.024 33.724 3427
+-67.898 33.724 3420
+-67.772 33.724 3370
+-67.646 33.724 3372
+-67.52 33.724 3334
+-67.394 33.724 3380
+-67.268 33.724 3381
+-67.142 33.724 3382
+-67.016 33.724 3384
+-66.89 33.724 3385
+-66.764 33.724 3386
+-66.638 33.724 3387
+-66.512 33.724 3362
+-66.386 33.724 3363
+-66.26 33.724 3364
+-66.134 33.724 3334
+-66.008 33.724 3303
+-65.882 33.724 3282
+-65.756 33.724 3283
+-65.63 33.724 3284
+-65.504 33.724 3285
+-65.378 33.724 3286
+-65.252 33.724 3287
+-65.126 33.724 3288
+-128 33.672 2696
+-127.874 33.672 2692
+-127.748 33.672 2687
+-127.622 33.672 2683
+-127.496 33.672 2751
+-127.37 33.672 2787
+-127.244 33.672 2781
+-127.118 33.672 2780
+-126.992 33.672 2769
+-126.866 33.672 2798
+-126.74 33.672 2791
+-126.614 33.672 2784
+-126.488 33.672 2776
+-126.362 33.672 2769
+-126.236 33.672 2761
+-126.11 33.672 2754
+-125.984 33.672 2747
+-125.858 33.672 2793
+-125.732 33.672 2868
+-125.606 33.672 2920
+-125.48 33.672 2915
+-125.354 33.672 2975
+-125.228 33.672 3048
+-125.102 33.672 3051
+-124.976 33.672 3058
+-124.85 33.672 3068
+-124.724 33.672 3201
+-124.598 33.672 3215
+-124.472 33.672 3227
+-124.346 33.672 3258
+-124.22 33.672 3252
+-124.094 33.672 3255
+-123.968 33.672 3207
+-123.842 33.672 3138
+-123.716 33.672 3077
+-123.59 33.672 3070
+-123.464 33.672 3168
+-123.338 33.672 3363
+-123.212 33.672 3615
+-123.086 33.672 3790
+-122.96 33.672 3885
+-122.834 33.672 3976
+-122.708 33.672 4050
+-122.582 33.672 4148
+-122.456 33.672 4256
+-122.33 33.672 4403
+-122.204 33.672 4454
+-122.078 33.672 4490
+-121.952 33.672 4445
+-121.826 33.672 4603
+-121.7 33.672 4808
+-121.574 33.672 5014
+-121.448 33.672 5173
+-121.322 33.672 5310
+-121.196 33.672 5393
+-121.07 33.672 5399
+-120.944 33.672 5614
+-120.818 33.672 5684
+-120.692 33.672 5835
+-120.566 33.672 5991
+-120.44 33.672 6110
+-120.314 33.672 6255
+-120.188 33.672 6380
+-120.062 33.672 6527
+-119.936 33.672 6680
+-119.81 33.672 6837
+-119.684 33.672 6942
+-119.558 33.672 7114
+-119.432 33.672 7215
+-119.306 33.672 7272
+-119.18 33.672 7440
+-119.054 33.672 7610
+-118.928 33.672 7692
+-118.802 33.672 7864
+-118.676 33.672 7961
+-118.55 33.672 8101
+-118.424 33.672 8213
+-118.298 33.672 8336
+-118.172 33.672 8483
+-118.046 33.672 8606
+-117.92 33.672 8694
+-117.794 33.672 8811
+-117.668 33.672 8883
+-117.542 33.672 8960
+-117.416 33.672 8976
+-117.29 33.672 8982
+-117.164 33.672 8975
+-117.038 33.672 8919
+-116.912 33.672 8849
+-116.786 33.672 8753
+-116.66 33.672 8611
+-116.534 33.672 8520
+-116.408 33.672 8527
+-116.282 33.672 8495
+-116.156 33.672 8419
+-116.03 33.672 8292
+-115.904 33.672 8191
+-115.778 33.672 8077
+-115.652 33.672 7923
+-115.526 33.672 7874
+-115.4 33.672 7701
+-115.274 33.672 7588
+-115.148 33.672 7454
+-115.022 33.672 7389
+-114.896 33.672 7229
+-114.77 33.672 7080
+-114.644 33.672 6930
+-114.518 33.672 6858
+-114.392 33.672 6662
+-114.266 33.672 6531
+-114.14 33.672 6400
+-114.014 33.672 6314
+-113.888 33.672 6154
+-113.762 33.672 6025
+-113.636 33.672 5847
+-113.51 33.672 5686
+-113.384 33.672 5548
+-113.258 33.672 5695
+-113.132 33.672 5796
+-113.006 33.672 5821
+-112.88 33.672 5987
+-112.754 33.672 6091
+-112.628 33.672 6138
+-112.502 33.672 6259
+-112.376 33.672 6349
+-112.25 33.672 6482
+-112.124 33.672 6541
+-111.998 33.672 6638
+-111.872 33.672 6708
+-111.746 33.672 6769
+-111.62 33.672 6846
+-111.494 33.672 6924
+-111.368 33.672 6977
+-111.242 33.672 7045
+-111.116 33.672 7138
+-110.99 33.672 7125
+-110.864 33.672 7163
+-110.738 33.672 7188
+-110.612 33.672 7211
+-110.486 33.672 7250
+-110.36 33.672 7235
+-110.234 33.672 7220
+-110.108 33.672 7205
+-109.982 33.672 7181
+-109.856 33.672 7157
+-109.73 33.672 7151
+-109.604 33.672 7096
+-109.478 33.672 7042
+-109.352 33.672 6948
+-109.226 33.672 6911
+-109.1 33.672 6787
+-108.974 33.672 6729
+-108.848 33.672 6700
+-108.722 33.672 6561
+-108.596 33.672 6529
+-108.47 33.672 6421
+-108.344 33.672 6292
+-108.218 33.672 6227
+-108.092 33.672 6081
+-107.966 33.672 5996
+-107.84 33.672 5879
+-107.714 33.672 5845
+-107.588 33.672 5750
+-107.462 33.672 5642
+-107.336 33.672 5623
+-107.21 33.672 5428
+-107.084 33.672 5253
+-106.958 33.672 5108
+-106.832 33.672 5052
+-106.706 33.672 4884
+-106.58 33.672 4830
+-106.454 33.672 4792
+-106.328 33.672 4698
+-106.202 33.672 4562
+-106.076 33.672 4429
+-105.95 33.672 4304
+-105.824 33.672 4220
+-105.698 33.672 4156
+-105.572 33.672 4109
+-105.446 33.672 4023
+-105.32 33.672 3921
+-105.194 33.672 3812
+-105.068 33.672 3740
+-104.942 33.672 3681
+-104.816 33.672 3637
+-104.69 33.672 3616
+-104.564 33.672 3613
+-104.438 33.672 3596
+-104.312 33.672 3596
+-104.186 33.672 3601
+-104.06 33.672 3618
+-103.934 33.672 3606
+-103.808 33.672 3621
+-103.682 33.672 3622
+-103.556 33.672 3594
+-103.43 33.672 3606
+-103.304 33.672 3617
+-103.178 33.672 3627
+-103.052 33.672 3643
+-102.926 33.672 3627
+-102.8 33.672 3661
+-102.674 33.672 3669
+-102.548 33.672 3633
+-102.422 33.672 3640
+-102.296 33.672 3647
+-102.17 33.672 3654
+-102.044 33.672 3660
+-101.918 33.672 3665
+-101.792 33.672 3671
+-101.666 33.672 3632
+-101.54 33.672 3638
+-101.414 33.672 3643
+-101.288 33.672 3648
+-101.162 33.672 3653
+-101.036 33.672 3658
+-100.91 33.672 3662
+-100.784 33.672 3667
+-100.658 33.672 3577
+-100.532 33.672 3505
+-100.406 33.672 3501
+-100.28 33.672 3466
+-100.154 33.672 3322
+-100.028 33.672 3246
+-99.902 33.672 3161
+-99.776 33.672 3137
+-99.65 33.672 3150
+-99.524 33.672 3151
+-99.398 33.672 3256
+-99.272 33.672 3315
+-99.146 33.672 3313
+-99.02 33.672 3240
+-98.894 33.672 3344
+-98.768 33.672 3119
+-98.642 33.672 3116
+-98.516 33.672 3122
+-98.39 33.672 3238
+-98.264 33.672 3187
+-98.138 33.672 3208
+-98.012 33.672 3234
+-97.886 33.672 3227
+-97.76 33.672 3220
+-97.634 33.672 3209
+-97.508 33.672 3225
+-97.382 33.672 3244
+-97.256 33.672 3200
+-97.13 33.672 3219
+-97.004 33.672 3220
+-96.878 33.672 3210
+-96.752 33.672 3168
+-96.626 33.672 3158
+-96.5 33.672 3148
+-96.374 33.672 3075
+-96.248 33.672 3068
+-96.122 33.672 3060
+-95.996 33.672 3052
+-95.87 33.672 3043
+-95.744 33.672 3047
+-95.618 33.672 3061
+-95.492 33.672 3051
+-95.366 33.672 3040
+-95.24 33.672 3030
+-95.114 33.672 3029
+-94.988 33.672 3021
+-94.862 33.672 3014
+-94.736 33.672 3006
+-94.61 33.672 3008
+-94.484 33.672 3018
+-94.358 33.672 3029
+-94.232 33.672 3056
+-94.106 33.672 3073
+-93.98 33.672 3117
+-93.854 33.672 3138
+-93.728 33.672 3171
+-93.602 33.672 3211
+-93.476 33.672 3255
+-93.35 33.672 3287
+-93.224 33.672 3291
+-93.098 33.672 3293
+-92.972 33.672 3350
+-92.846 33.672 3335
+-92.72 33.672 3432
+-92.594 33.672 3570
+-92.468 33.672 3720
+-92.342 33.672 3871
+-92.216 33.672 3927
+-92.09 33.672 4011
+-91.964 33.672 4162
+-91.838 33.672 4236
+-91.712 33.672 4282
+-91.586 33.672 4370
+-91.46 33.672 4465
+-91.334 33.672 4538
+-91.208 33.672 4581
+-91.082 33.672 4632
+-90.956 33.672 4722
+-90.83 33.672 4807
+-90.704 33.672 4819
+-90.578 33.672 4844
+-90.452 33.672 4867
+-90.326 33.672 4947
+-90.2 33.672 5055
+-90.074 33.672 5154
+-89.948 33.672 5222
+-89.822 33.672 5228
+-89.696 33.672 5184
+-89.57 33.672 5248
+-89.444 33.672 5249
+-89.318 33.672 5266
+-89.192 33.672 5268
+-89.066 33.672 5276
+-88.94 33.672 5287
+-88.814 33.672 5292
+-88.688 33.672 5283
+-88.562 33.672 5296
+-88.436 33.672 5272
+-88.31 33.672 5292
+-88.184 33.672 5299
+-88.058 33.672 5266
+-87.932 33.672 5232
+-87.806 33.672 5191
+-87.68 33.672 5171
+-87.554 33.672 5095
+-87.428 33.672 5030
+-87.302 33.672 4979
+-87.176 33.672 4909
+-87.05 33.672 4839
+-86.924 33.672 4798
+-86.798 33.672 4762
+-86.672 33.672 4745
+-86.546 33.672 4683
+-86.42 33.672 4603
+-86.294 33.672 4504
+-86.168 33.672 4423
+-86.042 33.672 4383
+-85.916 33.672 4293
+-85.79 33.672 4209
+-85.664 33.672 4193
+-85.538 33.672 4193
+-85.412 33.672 4179
+-85.286 33.672 4112
+-85.16 33.672 4021
+-85.034 33.672 3877
+-84.908 33.672 3742
+-84.782 33.672 3572
+-84.656 33.672 3440
+-84.53 33.672 3345
+-84.404 33.672 3352
+-84.278 33.672 3345
+-84.152 33.672 3331
+-84.026 33.672 3325
+-83.9 33.672 3315
+-83.774 33.672 3282
+-83.648 33.672 3263
+-83.522 33.672 3232
+-83.396 33.672 3215
+-83.27 33.672 3203
+-83.144 33.672 3193
+-83.018 33.672 3196
+-82.892 33.672 3229
+-82.766 33.672 3272
+-82.64 33.672 3325
+-82.514 33.672 3366
+-82.388 33.672 3398
+-82.262 33.672 3442
+-82.136 33.672 3461
+-82.01 33.672 3469
+-81.884 33.672 3480
+-81.758 33.672 3495
+-81.632 33.672 3505
+-81.506 33.672 3514
+-81.38 33.672 3519
+-81.254 33.672 3525
+-81.128 33.672 3545
+-81.002 33.672 3535
+-80.876 33.672 3537
+-80.75 33.672 3498
+-80.624 33.672 3495
+-80.498 33.672 3532
+-80.372 33.672 3516
+-80.246 33.672 3440
+-80.12 33.672 3402
+-79.994 33.672 3329
+-79.868 33.672 3245
+-79.742 33.672 3172
+-79.616 33.672 3083
+-79.49 33.672 2990
+-79.364 33.672 2859
+-79.238 33.672 2703
+-79.112 33.672 2538
+-78.986 33.672 2362
+-78.86 33.672 2220
+-78.734 33.672 2165
+-78.608 33.672 2216
+-78.482 33.672 2331
+-78.356 33.672 2452
+-78.23 33.672 2555
+-78.104 33.672 2641
+-77.978 33.672 2712
+-77.852 33.672 2760
+-77.726 33.672 2813
+-77.6 33.672 2861
+-77.474 33.672 2923
+-77.348 33.672 2961
+-77.222 33.672 2999
+-77.096 33.672 3031
+-76.97 33.672 3052
+-76.844 33.672 3086
+-76.718 33.672 3132
+-76.592 33.672 3157
+-76.466 33.672 3178
+-76.34 33.672 3196
+-76.214 33.672 3237
+-76.088 33.672 3255
+-75.962 33.672 3232
+-75.836 33.672 3254
+-75.71 33.672 3264
+-75.584 33.672 3217
+-75.458 33.672 3162
+-75.332 33.672 3181
+-75.206 33.672 3189
+-75.08 33.672 3215
+-74.954 33.672 3205
+-74.828 33.672 3215
+-74.702 33.672 3222
+-74.576 33.672 3214
+-74.45 33.672 3220
+-74.324 33.672 3226
+-74.198 33.672 3213
+-74.072 33.672 3202
+-73.946 33.672 3228
+-73.82 33.672 3227
+-73.694 33.672 3232
+-73.568 33.672 3238
+-73.442 33.672 3171
+-73.316 33.672 3206
+-73.19 33.672 3204
+-73.064 33.672 3208
+-72.938 33.672 3212
+-72.812 33.672 3393
+-72.686 33.672 3332
+-72.56 33.672 3340
+-72.434 33.672 3343
+-72.308 33.672 3250
+-72.182 33.672 3241
+-72.056 33.672 3243
+-71.93 33.672 3245
+-71.804 33.672 3227
+-71.678 33.672 3229
+-71.552 33.672 3231
+-71.426 33.672 3233
+-71.3 33.672 3234
+-71.174 33.672 3251
+-71.048 33.672 3254
+-70.922 33.672 3240
+-70.796 33.672 3242
+-70.67 33.672 3244
+-70.544 33.672 3190
+-70.418 33.672 3360
+-70.292 33.672 3325
+-70.166 33.672 3327
+-70.04 33.672 3295
+-69.914 33.672 3297
+-69.788 33.672 3298
+-69.662 33.672 3421
+-69.536 33.672 3422
+-69.41 33.672 3423
+-69.284 33.672 3424
+-69.158 33.672 3426
+-69.032 33.672 3530
+-68.906 33.672 3532
+-68.78 33.672 3452
+-68.654 33.672 3454
+-68.528 33.672 3456
+-68.402 33.672 3457
+-68.276 33.672 3464
+-68.15 33.672 3425
+-68.024 33.672 3418
+-67.898 33.672 3369
+-67.772 33.672 3370
+-67.646 33.672 3333
+-67.52 33.672 3378
+-67.394 33.672 3380
+-67.268 33.672 3381
+-67.142 33.672 3382
+-67.016 33.672 3384
+-66.89 33.672 3385
+-66.764 33.672 3386
+-66.638 33.672 3361
+-66.512 33.672 3362
+-66.386 33.672 3363
+-66.26 33.672 3333
+-66.134 33.672 3302
+-66.008 33.672 3281
+-65.882 33.672 3282
+-65.756 33.672 3283
+-65.63 33.672 3284
+-65.504 33.672 3285
+-65.378 33.672 3286
+-65.252 33.672 3287
+-65.126 33.672 3217
+-128 33.62 2665
+-127.874 33.62 2661
+-127.748 33.62 2677
+-127.622 33.62 2715
+-127.496 33.62 2708
+-127.37 33.62 2753
+-127.244 33.62 2773
+-127.118 33.62 2766
+-126.992 33.62 2758
+-126.866 33.62 2750
+-126.74 33.62 2767
+-126.614 33.62 2759
+-126.488 33.62 2749
+-126.362 33.62 2740
+-126.236 33.62 2730
+-126.11 33.62 2720
+-125.984 33.62 2711
+-125.858 33.62 2749
+-125.732 33.62 2827
+-125.606 33.62 2876
+-125.48 33.62 2907
+-125.354 33.62 2911
+-125.228 33.62 2965
+-125.102 33.62 2989
+-124.976 33.62 2994
+-124.85 33.62 3005
+-124.724 33.62 3020
+-124.598 33.62 3148
+-124.472 33.62 3164
+-124.346 33.62 3175
+-124.22 33.62 3200
+-124.094 33.62 3173
+-123.968 33.62 3131
+-123.842 33.62 3025
+-123.716 33.62 2896
+-123.59 33.62 2835
+-123.464 33.62 2959
+-123.338 33.62 3207
+-123.212 33.62 3487
+-123.086 33.62 3706
+-122.96 33.62 3849
+-122.834 33.62 3957
+-122.708 33.62 4049
+-122.582 33.62 4144
+-122.456 33.62 4238
+-122.33 33.62 4379
+-122.204 33.62 4439
+-122.078 33.62 4524
+-121.952 33.62 4532
+-121.826 33.62 4653
+-121.7 33.62 4865
+-121.574 33.62 5014
+-121.448 33.62 5191
+-121.322 33.62 5289
+-121.196 33.62 5265
+-121.07 33.62 5465
+-120.944 33.62 5609
+-120.818 33.62 5682
+-120.692 33.62 5821
+-120.566 33.62 6020
+-120.44 33.62 6033
+-120.314 33.62 6280
+-120.188 33.62 6371
+-120.062 33.62 6504
+-119.936 33.62 6688
+-119.81 33.62 6808
+-119.684 33.62 6959
+-119.558 33.62 7050
+-119.432 33.62 7164
+-119.306 33.62 7304
+-119.18 33.62 7400
+-119.054 33.62 7574
+-118.928 33.62 7659
+-118.802 33.62 7783
+-118.676 33.62 7926
+-118.55 33.62 8085
+-118.424 33.62 8197
+-118.298 33.62 8339
+-118.172 33.62 8454
+-118.046 33.62 8578
+-117.92 33.62 8669
+-117.794 33.62 8750
+-117.668 33.62 8835
+-117.542 33.62 8881
+-117.416 33.62 8950
+-117.29 33.62 8949
+-117.164 33.62 8893
+-117.038 33.62 8867
+-116.912 33.62 8797
+-116.786 33.62 8698
+-116.66 33.62 8579
+-116.534 33.62 8736
+-116.408 33.62 8678
+-116.282 33.62 8517
+-116.156 33.62 8478
+-116.03 33.62 8318
+-115.904 33.62 8236
+-115.778 33.62 8118
+-115.652 33.62 8003
+-115.526 33.62 7833
+-115.4 33.62 7739
+-115.274 33.62 7561
+-115.148 33.62 7475
+-115.022 33.62 7353
+-114.896 33.62 7228
+-114.77 33.62 7048
+-114.644 33.62 6900
+-114.518 33.62 6836
+-114.392 33.62 6628
+-114.266 33.62 6585
+-114.14 33.62 6446
+-114.014 33.62 6318
+-113.888 33.62 6181
+-113.762 33.62 6037
+-113.636 33.62 5871
+-113.51 33.62 5716
+-113.384 33.62 5544
+-113.258 33.62 5707
+-113.132 33.62 5799
+-113.006 33.62 5903
+-112.88 33.62 6036
+-112.754 33.62 6100
+-112.628 33.62 6209
+-112.502 33.62 6321
+-112.376 33.62 6408
+-112.25 33.62 6491
+-112.124 33.62 6603
+-111.998 33.62 6662
+-111.872 33.62 6763
+-111.746 33.62 6830
+-111.62 33.62 6942
+-111.494 33.62 6996
+-111.368 33.62 7037
+-111.242 33.62 7120
+-111.116 33.62 7144
+-110.99 33.62 7181
+-110.864 33.62 7224
+-110.738 33.62 7249
+-110.612 33.62 7268
+-110.486 33.62 7296
+-110.36 33.62 7277
+-110.234 33.62 7309
+-110.108 33.62 7271
+-109.982 33.62 7263
+-109.856 33.62 7236
+-109.73 33.62 7175
+-109.604 33.62 7151
+-109.478 33.62 7049
+-109.352 33.62 7018
+-109.226 33.62 6926
+-109.1 33.62 6835
+-108.974 33.62 6772
+-108.848 33.62 6753
+-108.722 33.62 6636
+-108.596 33.62 6550
+-108.47 33.62 6477
+-108.344 33.62 6394
+-108.218 33.62 6280
+-108.092 33.62 6151
+-107.966 33.62 6032
+-107.84 33.62 5942
+-107.714 33.62 5856
+-107.588 33.62 5763
+-107.462 33.62 5709
+-107.336 33.62 5633
+-107.21 33.62 5497
+-107.084 33.62 5306
+-106.958 33.62 5170
+-106.832 33.62 5057
+-106.706 33.62 4929
+-106.58 33.62 4857
+-106.454 33.62 4809
+-106.328 33.62 4709
+-106.202 33.62 4607
+-106.076 33.62 4505
+-105.95 33.62 4395
+-105.824 33.62 4251
+-105.698 33.62 4176
+-105.572 33.62 4069
+-105.446 33.62 3953
+-105.32 33.62 3823
+-105.194 33.62 3729
+-105.068 33.62 3645
+-104.942 33.62 3580
+-104.816 33.62 3534
+-104.69 33.62 3520
+-104.564 33.62 3512
+-104.438 33.62 3527
+-104.312 33.62 3546
+-104.186 33.62 3571
+-104.06 33.62 3594
+-103.934 33.62 3591
+-103.808 33.62 3589
+-103.682 33.62 3585
+-103.556 33.62 3601
+-103.43 33.62 3616
+-103.304 33.62 3624
+-103.178 33.62 3625
+-103.052 33.62 3636
+-102.926 33.62 3646
+-102.8 33.62 3656
+-102.674 33.62 3622
+-102.548 33.62 3630
+-102.422 33.62 3638
+-102.296 33.62 3645
+-102.17 33.62 3652
+-102.044 33.62 3658
+-101.918 33.62 3664
+-101.792 33.62 3626
+-101.666 33.62 3633
+-101.54 33.62 3638
+-101.414 33.62 3644
+-101.288 33.62 3649
+-101.162 33.62 3654
+-101.036 33.62 3659
+-100.91 33.62 3663
+-100.784 33.62 3668
+-100.658 33.62 3672
+-100.532 33.62 3579
+-100.406 33.62 3508
+-100.28 33.62 3266
+-100.154 33.62 3328
+-100.028 33.62 3251
+-99.902 33.62 3165
+-99.776 33.62 3141
+-99.65 33.62 3008
+-99.524 33.62 3009
+-99.398 33.62 3096
+-99.272 33.62 3097
+-99.146 33.62 3089
+-99.02 33.62 3346
+-98.894 33.62 3116
+-98.768 33.62 3114
+-98.642 33.62 3119
+-98.516 33.62 3236
+-98.39 33.62 3184
+-98.264 33.62 3205
+-98.138 33.62 3231
+-98.012 33.62 3225
+-97.886 33.62 3218
+-97.76 33.62 3207
+-97.634 33.62 3223
+-97.508 33.62 3243
+-97.382 33.62 3199
+-97.256 33.62 3218
+-97.13 33.62 3220
+-97.004 33.62 3210
+-96.878 33.62 3168
+-96.752 33.62 3159
+-96.626 33.62 3150
+-96.5 33.62 3075
+-96.374 33.62 3069
+-96.248 33.62 3063
+-96.122 33.62 3055
+-95.996 33.62 3048
+-95.87 33.62 3053
+-95.744 33.62 3044
+-95.618 33.62 3065
+-95.492 33.62 3056
+-95.366 33.62 3047
+-95.24 33.62 3049
+-95.114 33.62 3042
+-94.988 33.62 3035
+-94.862 33.62 3024
+-94.736 33.62 3021
+-94.61 33.62 3022
+-94.484 33.62 3021
+-94.358 33.62 3034
+-94.232 33.62 3033
+-94.106 33.62 3030
+-93.98 33.62 3032
+-93.854 33.62 3051
+-93.728 33.62 3098
+-93.602 33.62 3184
+-93.476 33.62 3233
+-93.35 33.62 3276
+-93.224 33.62 3248
+-93.098 33.62 3179
+-92.972 33.62 3299
+-92.846 33.62 3377
+-92.72 33.62 3445
+-92.594 33.62 3584
+-92.468 33.62 3699
+-92.342 33.62 3819
+-92.216 33.62 3910
+-92.09 33.62 3999
+-91.964 33.62 4144
+-91.838 33.62 4216
+-91.712 33.62 4189
+-91.586 33.62 4296
+-91.46 33.62 4431
+-91.334 33.62 4524
+-91.208 33.62 4542
+-91.082 33.62 4595
+-90.956 33.62 4672
+-90.83 33.62 4724
+-90.704 33.62 4771
+-90.578 33.62 4831
+-90.452 33.62 4828
+-90.326 33.62 4879
+-90.2 33.62 4962
+-90.074 33.62 5058
+-89.948 33.62 5129
+-89.822 33.62 5186
+-89.696 33.62 5205
+-89.57 33.62 5222
+-89.444 33.62 5231
+-89.318 33.62 5227
+-89.192 33.62 5221
+-89.066 33.62 5215
+-88.94 33.62 5236
+-88.814 33.62 5248
+-88.688 33.62 5259
+-88.562 33.62 5245
+-88.436 33.62 5209
+-88.31 33.62 5215
+-88.184 33.62 5215
+-88.058 33.62 5194
+-87.932 33.62 5175
+-87.806 33.62 5160
+-87.68 33.62 5103
+-87.554 33.62 5013
+-87.428 33.62 4944
+-87.302 33.62 4895
+-87.176 33.62 4841
+-87.05 33.62 4812
+-86.924 33.62 4758
+-86.798 33.62 4709
+-86.672 33.62 4670
+-86.546 33.62 4587
+-86.42 33.62 4513
+-86.294 33.62 4436
+-86.168 33.62 4364
+-86.042 33.62 4360
+-85.916 33.62 4238
+-85.79 33.62 4125
+-85.664 33.62 4181
+-85.538 33.62 4180
+-85.412 33.62 4159
+-85.286 33.62 4067
+-85.16 33.62 3946
+-85.034 33.62 3797
+-84.908 33.62 3656
+-84.782 33.62 3452
+-84.656 33.62 3286
+-84.53 33.62 3204
+-84.404 33.62 3241
+-84.278 33.62 3300
+-84.152 33.62 3315
+-84.026 33.62 3328
+-83.9 33.62 3325
+-83.774 33.62 3307
+-83.648 33.62 3294
+-83.522 33.62 3282
+-83.396 33.62 3273
+-83.27 33.62 3268
+-83.144 33.62 3266
+-83.018 33.62 3281
+-82.892 33.62 3314
+-82.766 33.62 3346
+-82.64 33.62 3386
+-82.514 33.62 3409
+-82.388 33.62 3452
+-82.262 33.62 3465
+-82.136 33.62 3462
+-82.01 33.62 3462
+-81.884 33.62 3475
+-81.758 33.62 3493
+-81.632 33.62 3512
+-81.506 33.62 3510
+-81.38 33.62 3512
+-81.254 33.62 3527
+-81.128 33.62 3548
+-81.002 33.62 3559
+-80.876 33.62 3536
+-80.75 33.62 3536
+-80.624 33.62 3555
+-80.498 33.62 3536
+-80.372 33.62 3538
+-80.246 33.62 3518
+-80.12 33.62 3465
+-79.994 33.62 3398
+-79.868 33.62 3342
+-79.742 33.62 3271
+-79.616 33.62 3197
+-79.49 33.62 3084
+-79.364 33.62 2886
+-79.238 33.62 2748
+-79.112 33.62 2583
+-78.986 33.62 2414
+-78.86 33.62 2278
+-78.734 33.62 2223
+-78.608 33.62 2269
+-78.482 33.62 2371
+-78.356 33.62 2476
+-78.23 33.62 2567
+-78.104 33.62 2644
+-77.978 33.62 2701
+-77.852 33.62 2761
+-77.726 33.62 2816
+-77.6 33.62 2883
+-77.474 33.62 2927
+-77.348 33.62 2971
+-77.222 33.62 3008
+-77.096 33.62 3033
+-76.97 33.62 3070
+-76.844 33.62 3118
+-76.718 33.62 3146
+-76.592 33.62 3169
+-76.466 33.62 3189
+-76.34 33.62 3230
+-76.214 33.62 3249
+-76.088 33.62 3228
+-75.962 33.62 3250
+-75.836 33.62 3262
+-75.71 33.62 3214
+-75.584 33.62 3162
+-75.458 33.62 3181
+-75.332 33.62 3189
+-75.206 33.62 3215
+-75.08 33.62 3205
+-74.954 33.62 3215
+-74.828 33.62 3223
+-74.702 33.62 3215
+-74.576 33.62 3221
+-74.45 33.62 3227
+-74.324 33.62 3214
+-74.198 33.62 3204
+-74.072 33.62 3229
+-73.946 33.62 3228
+-73.82 33.62 3234
+-73.694 33.62 3239
+-73.568 33.62 3173
+-73.442 33.62 3207
+-73.316 33.62 3205
+-73.19 33.62 3209
+-73.064 33.62 3213
+-72.938 33.62 3391
+-72.812 33.62 3327
+-72.686 33.62 3338
+-72.56 33.62 3341
+-72.434 33.62 3249
+-72.308 33.62 3240
+-72.182 33.62 3242
+-72.056 33.62 3244
+-71.93 33.62 3226
+-71.804 33.62 3228
+-71.678 33.62 3230
+-71.552 33.62 3232
+-71.426 33.62 3233
+-71.3 33.62 3250
+-71.174 33.62 3253
+-71.048 33.62 3239
+-70.922 33.62 3241
+-70.796 33.62 3243
+-70.67 33.62 3189
+-70.544 33.62 3359
+-70.418 33.62 3324
+-70.292 33.62 3325
+-70.166 33.62 3294
+-70.04 33.62 3295
+-69.914 33.62 3297
+-69.788 33.62 3419
+-69.662 33.62 3420
+-69.536 33.62 3421
+-69.41 33.62 3423
+-69.284 33.62 3424
+-69.158 33.62 3528
+-69.032 33.62 3530
+-68.906 33.62 3451
+-68.78 33.62 3452
+-68.654 33.62 3454
+-68.528 33.62 3455
+-68.402 33.62 3462
+-68.276 33.62 3424
+-68.15 33.62 3416
+-68.024 33.62 3367
+-67.898 33.62 3369
+-67.772 33.62 3332
+-67.646 33.62 3377
+-67.52 33.62 3378
+-67.394 33.62 3380
+-67.268 33.62 3381
+-67.142 33.62 3382
+-67.016 33.62 3384
+-66.89 33.62 3385
+-66.764 33.62 3360
+-66.638 33.62 3361
+-66.512 33.62 3362
+-66.386 33.62 3332
+-66.26 33.62 3301
+-66.134 33.62 3280
+-66.008 33.62 3281
+-65.882 33.62 3282
+-65.756 33.62 3283
+-65.63 33.62 3284
+-65.504 33.62 3285
+-65.378 33.62 3286
+-65.252 33.62 3216
+-65.126 33.62 3200
+-128 33.568 2660
+-127.874 33.568 2656
+-127.748 33.568 2690
+-127.622 33.568 2707
+-127.496 33.568 2700
+-127.37 33.568 2745
+-127.244 33.568 2738
+-127.118 33.568 2756
+-126.992 33.568 2747
+-126.866 33.568 2738
+-126.74 33.568 2728
+-126.614 33.568 2745
+-126.488 33.568 2734
+-126.362 33.568 2722
+-126.236 33.568 2710
+-126.11 33.568 2698
+-125.984 33.568 2731
+-125.858 33.568 2718
+-125.732 33.568 2786
+-125.606 33.568 2812
+-125.48 33.568 2856
+-125.354 33.568 2843
+-125.228 33.568 2901
+-125.102 33.568 2898
+-124.976 33.568 2921
+-124.85 33.568 2931
+-124.724 33.568 3057
+-124.598 33.568 3079
+-124.472 33.568 3103
+-124.346 33.568 3122
+-124.22 33.568 3128
+-124.094 33.568 3133
+-123.968 33.568 3075
+-123.842 33.568 2973
+-123.716 33.568 2815
+-123.59 33.568 2720
+-123.464 33.568 2856
+-123.338 33.568 3158
+-123.212 33.568 3397
+-123.086 33.568 3580
+-122.96 33.568 3763
+-122.834 33.568 3890
+-122.708 33.568 4018
+-122.582 33.568 4115
+-122.456 33.568 4207
+-122.33 33.568 4343
+-122.204 33.568 4423
+-122.078 33.568 4555
+-121.952 33.568 4619
+-121.826 33.568 4725
+-121.7 33.568 4809
+-121.574 33.568 4979
+-121.448 33.568 5135
+-121.322 33.568 5222
+-121.196 33.568 5342
+-121.07 33.568 5462
+-120.944 33.568 5594
+-120.818 33.568 5713
+-120.692 33.568 5860
+-120.566 33.568 5952
+-120.44 33.568 6052
+-120.314 33.568 6158
+-120.188 33.568 6313
+-120.062 33.568 6466
+-119.936 33.568 6583
+-119.81 33.568 6808
+-119.684 33.568 6920
+-119.558 33.568 7047
+-119.432 33.568 7135
+-119.306 33.568 7259
+-119.18 33.568 7429
+-119.054 33.568 7561
+-118.928 33.568 7685
+-118.802 33.568 7854
+-118.676 33.568 7909
+-118.55 33.568 8046
+-118.424 33.568 8193
+-118.298 33.568 8323
+-118.172 33.568 8401
+-118.046 33.568 8533
+-117.92 33.568 8577
+-117.794 33.568 8710
+-117.668 33.568 8789
+-117.542 33.568 8849
+-117.416 33.568 8882
+-117.29 33.568 8905
+-117.164 33.568 8866
+-117.038 33.568 8835
+-116.912 33.568 8886
+-116.786 33.568 8928
+-116.66 33.568 8821
+-116.534 33.568 8795
+-116.408 33.568 8682
+-116.282 33.568 8563
+-116.156 33.568 8475
+-116.03 33.568 8407
+-115.904 33.568 8247
+-115.778 33.568 8137
+-115.652 33.568 8053
+-115.526 33.568 7881
+-115.4 33.568 7713
+-115.274 33.568 7652
+-115.148 33.568 7494
+-115.022 33.568 7356
+-114.896 33.568 7246
+-114.77 33.568 7148
+-114.644 33.568 6966
+-114.518 33.568 6842
+-114.392 33.568 6744
+-114.266 33.568 6548
+-114.14 33.568 6430
+-114.014 33.568 6280
+-113.888 33.568 6204
+-113.762 33.568 6032
+-113.636 33.568 5900
+-113.51 33.568 5812
+-113.384 33.568 5594
+-113.258 33.568 5735
+-113.132 33.568 5856
+-113.006 33.568 5934
+-112.88 33.568 6088
+-112.754 33.568 6160
+-112.628 33.568 6208
+-112.502 33.568 6420
+-112.376 33.568 6438
+-112.25 33.568 6523
+-112.124 33.568 6620
+-111.998 33.568 6721
+-111.872 33.568 6805
+-111.746 33.568 6887
+-111.62 33.568 6958
+-111.494 33.568 7028
+-111.368 33.568 7091
+-111.242 33.568 7150
+-111.116 33.568 7197
+-110.99 33.568 7238
+-110.864 33.568 7283
+-110.738 33.568 7336
+-110.612 33.568 7344
+-110.486 33.568 7347
+-110.36 33.568 7362
+-110.234 33.568 7353
+-110.108 33.568 7317
+-109.982 33.568 7285
+-109.856 33.568 7245
+-109.73 33.568 7270
+-109.604 33.568 7203
+-109.478 33.568 7137
+-109.352 33.568 7084
+-109.226 33.568 7004
+-109.1 33.568 6915
+-108.974 33.568 6857
+-108.848 33.568 6768
+-108.722 33.568 6676
+-108.596 33.568 6608
+-108.47 33.568 6515
+-108.344 33.568 6422
+-108.218 33.568 6282
+-108.092 33.568 6236
+-107.966 33.568 6110
+-107.84 33.568 5955
+-107.714 33.568 5905
+-107.588 33.568 5818
+-107.462 33.568 5721
+-107.336 33.568 5634
+-107.21 33.568 5516
+-107.084 33.568 5388
+-106.958 33.568 5226
+-106.832 33.568 5047
+-106.706 33.568 4891
+-106.58 33.568 4891
+-106.454 33.568 4793
+-106.328 33.568 4668
+-106.202 33.568 4574
+-106.076 33.568 4532
+-105.95 33.568 4453
+-105.824 33.568 4270
+-105.698 33.568 4163
+-105.572 33.568 4027
+-105.446 33.568 3860
+-105.32 33.568 3727
+-105.194 33.568 3620
+-105.068 33.568 3548
+-104.942 33.568 3466
+-104.816 33.568 3405
+-104.69 33.568 3397
+-104.564 33.568 3425
+-104.438 33.568 3463
+-104.312 33.568 3502
+-104.186 33.568 3535
+-104.06 33.568 3544
+-103.934 33.568 3549
+-103.808 33.568 3550
+-103.682 33.568 3570
+-103.556 33.568 3589
+-103.43 33.568 3600
+-103.304 33.568 3604
+-103.178 33.568 3617
+-103.052 33.568 3629
+-102.926 33.568 3641
+-102.8 33.568 3610
+-102.674 33.568 3619
+-102.548 33.568 3628
+-102.422 33.568 3636
+-102.296 33.568 3644
+-102.17 33.568 3651
+-102.044 33.568 3657
+-101.918 33.568 3620
+-101.792 33.568 3627
+-101.666 33.568 3634
+-101.54 33.568 3640
+-101.414 33.568 3645
+-101.288 33.568 3651
+-101.162 33.568 3656
+-101.036 33.568 3660
+-100.91 33.568 3665
+-100.784 33.568 3669
+-100.658 33.568 3673
+-100.532 33.568 3677
+-100.406 33.568 3560
+-100.28 33.568 3511
+-100.154 33.568 3335
+-100.028 33.568 3256
+-99.902 33.568 3170
+-99.776 33.568 3145
+-99.65 33.568 3135
+-99.524 33.568 3089
+-99.398 33.568 3195
+-99.272 33.568 3196
+-99.146 33.568 3181
+-99.02 33.568 2964
+-98.894 33.568 2963
+-98.768 33.568 2971
+-98.642 33.568 3233
+-98.516 33.568 3182
+-98.39 33.568 3203
+-98.264 33.568 3229
+-98.138 33.568 3223
+-98.012 33.568 3216
+-97.886 33.568 3205
+-97.76 33.568 3222
+-97.634 33.568 3242
+-97.508 33.568 3198
+-97.382 33.568 3217
+-97.256 33.568 3220
+-97.13 33.568 3211
+-97.004 33.568 3168
+-96.878 33.568 3160
+-96.752 33.568 3151
+-96.626 33.568 3075
+-96.5 33.568 3070
+-96.374 33.568 3064
+-96.248 33.568 3057
+-96.122 33.568 3050
+-95.996 33.568 3057
+-95.87 33.568 3049
+-95.744 33.568 3017
+-95.618 33.568 3012
+-95.492 33.568 3007
+-95.366 33.568 3014
+-95.24 33.568 3057
+-95.114 33.568 3050
+-94.988 33.568 3037
+-94.862 33.568 3032
+-94.736 33.568 3028
+-94.61 33.568 3022
+-94.484 33.568 3027
+-94.358 33.568 3015
+-94.232 33.568 2993
+-94.106 33.568 2958
+-93.98 33.568 2919
+-93.854 33.568 2918
+-93.728 33.568 2989
+-93.602 33.568 3091
+-93.476 33.568 3174
+-93.35 33.568 3239
+-93.224 33.568 3258
+-93.098 33.568 3258
+-92.972 33.568 3323
+-92.846 33.568 3400
+-92.72 33.568 3481
+-92.594 33.568 3582
+-92.468 33.568 3617
+-92.342 33.568 3718
+-92.216 33.568 3863
+-92.09 33.568 4004
+-91.964 33.568 4120
+-91.838 33.568 4210
+-91.712 33.568 4239
+-91.586 33.568 4266
+-91.46 33.568 4372
+-91.334 33.568 4495
+-91.208 33.568 4527
+-91.082 33.568 4575
+-90.956 33.568 4636
+-90.83 33.568 4691
+-90.704 33.568 4722
+-90.578 33.568 4763
+-90.452 33.568 4769
+-90.326 33.568 4826
+-90.2 33.568 4884
+-90.074 33.568 4942
+-89.948 33.568 5027
+-89.822 33.568 5107
+-89.696 33.568 5147
+-89.57 33.568 5181
+-89.444 33.568 5178
+-89.318 33.568 5136
+-89.192 33.568 5175
+-89.066 33.568 5178
+-88.94 33.568 5191
+-88.814 33.568 5214
+-88.688 33.568 5221
+-88.562 33.568 5204
+-88.436 33.568 5173
+-88.31 33.568 5166
+-88.184 33.568 5128
+-88.058 33.568 5116
+-87.932 33.568 5108
+-87.806 33.568 5073
+-87.68 33.568 5014
+-87.554 33.568 4935
+-87.428 33.568 4885
+-87.302 33.568 4888
+-87.176 33.568 4829
+-87.05 33.568 4784
+-86.924 33.568 4705
+-86.798 33.568 4656
+-86.672 33.568 4593
+-86.546 33.568 4511
+-86.42 33.568 4444
+-86.294 33.568 4417
+-86.168 33.568 4386
+-86.042 33.568 4360
+-85.916 33.568 4277
+-85.79 33.568 4209
+-85.664 33.568 4201
+-85.538 33.568 4183
+-85.412 33.568 4110
+-85.286 33.568 3998
+-85.16 33.568 3863
+-85.034 33.568 3736
+-84.908 33.568 3573
+-84.782 33.568 3386
+-84.656 33.568 3213
+-84.53 33.568 3127
+-84.404 33.568 3193
+-84.278 33.568 3280
+-84.152 33.568 3308
+-84.026 33.568 3327
+-83.9 33.568 3335
+-83.774 33.568 3326
+-83.648 33.568 3321
+-83.522 33.568 3322
+-83.396 33.568 3323
+-83.27 33.568 3328
+-83.144 33.568 3334
+-83.018 33.568 3371
+-82.892 33.568 3389
+-82.766 33.568 3427
+-82.64 33.568 3448
+-82.514 33.568 3467
+-82.388 33.568 3482
+-82.262 33.568 3473
+-82.136 33.568 3447
+-82.01 33.568 3433
+-81.884 33.568 3456
+-81.758 33.568 3496
+-81.632 33.568 3512
+-81.506 33.568 3506
+-81.38 33.568 3499
+-81.254 33.568 3515
+-81.128 33.568 3533
+-81.002 33.568 3563
+-80.876 33.568 3557
+-80.75 33.568 3572
+-80.624 33.568 3542
+-80.498 33.568 3553
+-80.372 33.568 3546
+-80.246 33.568 3530
+-80.12 33.568 3480
+-79.994 33.568 3417
+-79.868 33.568 3364
+-79.742 33.568 3314
+-79.616 33.568 3227
+-79.49 33.568 3112
+-79.364 33.568 3000
+-79.238 33.568 2857
+-79.112 33.568 2702
+-78.986 33.568 2549
+-78.86 33.568 2414
+-78.734 33.568 2366
+-78.608 33.568 2388
+-78.482 33.568 2448
+-78.356 33.568 2516
+-78.23 33.568 2582
+-78.104 33.568 2639
+-77.978 33.568 2702
+-77.852 33.568 2764
+-77.726 33.568 2836
+-77.6 33.568 2888
+-77.474 33.568 2938
+-77.348 33.568 2981
+-77.222 33.568 3012
+-77.096 33.568 3052
+-76.97 33.568 3103
+-76.844 33.568 3133
+-76.718 33.568 3158
+-76.592 33.568 3180
+-76.466 33.568 3222
+-76.34 33.568 3243
+-76.214 33.568 3224
+-76.088 33.568 3247
+-75.962 33.568 3259
+-75.836 33.568 3215
+-75.71 33.568 3162
+-75.584 33.568 3181
+-75.458 33.568 3190
+-75.332 33.568 3215
+-75.206 33.568 3206
+-75.08 33.568 3216
+-74.954 33.568 3223
+-74.828 33.568 3216
+-74.702 33.568 3223
+-74.576 33.568 3229
+-74.45 33.568 3215
+-74.324 33.568 3205
+-74.198 33.568 3230
+-74.072 33.568 3229
+-73.946 33.568 3235
+-73.82 33.568 3240
+-73.694 33.568 3175
+-73.568 33.568 3209
+-73.442 33.568 3207
+-73.316 33.568 3211
+-73.19 33.568 3215
+-73.064 33.568 3390
+-72.938 33.568 3329
+-72.812 33.568 3336
+-72.686 33.568 3340
+-72.56 33.568 3248
+-72.434 33.568 3239
+-72.308 33.568 3241
+-72.182 33.568 3243
+-72.056 33.568 3226
+-71.93 33.568 3228
+-71.804 33.568 3229
+-71.678 33.568 3231
+-71.552 33.568 3233
+-71.426 33.568 3249
+-71.3 33.568 3252
+-71.174 33.568 3238
+-71.048 33.568 3240
+-70.922 33.568 3242
+-70.796 33.568 3189
+-70.67 33.568 3357
+-70.544 33.568 3323
+-70.418 33.568 3324
+-70.292 33.568 3292
+-70.166 33.568 3294
+-70.04 33.568 3295
+-69.914 33.568 3417
+-69.788 33.568 3418
+-69.662 33.568 3419
+-69.536 33.568 3421
+-69.41 33.568 3422
+-69.284 33.568 3525
+-69.158 33.568 3527
+-69.032 33.568 3449
+-68.906 33.568 3450
+-68.78 33.568 3452
+-68.654 33.568 3453
+-68.528 33.568 3460
+-68.402 33.568 3422
+-68.276 33.568 3415
+-68.15 33.568 3366
+-68.024 33.568 3367
+-67.898 33.568 3330
+-67.772 33.568 3375
+-67.646 33.568 3377
+-67.52 33.568 3378
+-67.394 33.568 3380
+-67.268 33.568 3381
+-67.142 33.568 3382
+-67.016 33.568 3384
+-66.89 33.568 3359
+-66.764 33.568 3360
+-66.638 33.568 3361
+-66.512 33.568 3331
+-66.386 33.568 3300
+-66.26 33.568 3280
+-66.134 33.568 3281
+-66.008 33.568 3282
+-65.882 33.568 3283
+-65.756 33.568 3284
+-65.63 33.568 3285
+-65.504 33.568 3285
+-65.378 33.568 3216
+-65.252 33.568 3199
+-65.126 33.568 3200
+-128 33.516 2655
+-127.874 33.516 2690
+-127.748 33.516 2684
+-127.622 33.516 2677
+-127.496 33.516 2744
+-127.37 33.516 2737
+-127.244 33.516 2729
+-127.118 33.516 2720
+-126.992 33.516 2737
+-126.866 33.516 2726
+-126.74 33.516 2715
+-126.614 33.516 2702
+-126.488 33.516 2718
+-126.362 33.516 2705
+-126.236 33.516 2690
+-126.11 33.516 2719
+-125.984 33.516 2703
+-125.858 33.516 2770
+-125.732 33.516 2783
+-125.606 33.516 2762
+-125.48 33.516 2747
+-125.354 33.516 2776
+-125.228 33.516 2827
+-125.102 33.516 2819
+-124.976 33.516 2819
+-124.85 33.516 2843
+-124.724 33.516 2936
+-124.598 33.516 2966
+-124.472 33.516 3031
+-124.346 33.516 3063
+-124.22 33.516 3085
+-124.094 33.516 3087
+-123.968 33.516 3067
+-123.842 33.516 2993
+-123.716 33.516 2887
+-123.59 33.516 2837
+-123.464 33.516 2965
+-123.338 33.516 3192
+-123.212 33.516 3384
+-123.086 33.516 3466
+-122.96 33.516 3589
+-122.834 33.516 3809
+-122.708 33.516 3957
+-122.582 33.516 4061
+-122.456 33.516 4155
+-122.33 33.516 4305
+-122.204 33.516 4410
+-122.078 33.516 4546
+-121.952 33.516 4634
+-121.826 33.516 4733
+-121.7 33.516 4705
+-121.574 33.516 4899
+-121.448 33.516 5086
+-121.322 33.516 5096
+-121.196 33.516 5307
+-121.07 33.516 5469
+-120.944 33.516 5492
+-120.818 33.516 5639
+-120.692 33.516 5837
+-120.566 33.516 5995
+-120.44 33.516 6056
+-120.314 33.516 6189
+-120.188 33.516 6313
+-120.062 33.516 6412
+-119.936 33.516 6599
+-119.81 33.516 6775
+-119.684 33.516 6804
+-119.558 33.516 7043
+-119.432 33.516 7113
+-119.306 33.516 7267
+-119.18 33.516 7397
+-119.054 33.516 7567
+-118.928 33.516 7604
+-118.802 33.516 7772
+-118.676 33.516 7901
+-118.55 33.516 8039
+-118.424 33.516 8106
+-118.298 33.516 8268
+-118.172 33.516 8422
+-118.046 33.516 8469
+-117.92 33.516 8577
+-117.794 33.516 8667
+-117.668 33.516 8757
+-117.542 33.516 8778
+-117.416 33.516 8849
+-117.29 33.516 8838
+-117.164 33.516 8825
+-117.038 33.516 8990
+-116.912 33.516 8983
+-116.786 33.516 8957
+-116.66 33.516 8892
+-116.534 33.516 8839
+-116.408 33.516 8744
+-116.282 33.516 8622
+-116.156 33.516 8517
+-116.03 33.516 8370
+-115.904 33.516 8259
+-115.778 33.516 8164
+-115.652 33.516 8043
+-115.526 33.516 7920
+-115.4 33.516 7796
+-115.274 33.516 7666
+-115.148 33.516 7575
+-115.022 33.516 7447
+-114.896 33.516 7268
+-114.77 33.516 7150
+-114.644 33.516 7042
+-114.518 33.516 6826
+-114.392 33.516 6734
+-114.266 33.516 6527
+-114.14 33.516 6382
+-114.014 33.516 6349
+-113.888 33.516 6168
+-113.762 33.516 6092
+-113.636 33.516 5904
+-113.51 33.516 5733
+-113.384 33.516 5669
+-113.258 33.516 5711
+-113.132 33.516 5821
+-113.006 33.516 5937
+-112.88 33.516 6086
+-112.754 33.516 6158
+-112.628 33.516 6291
+-112.502 33.516 6422
+-112.376 33.516 6513
+-112.25 33.516 6574
+-112.124 33.516 6652
+-111.998 33.516 6789
+-111.872 33.516 6827
+-111.746 33.516 6949
+-111.62 33.516 6993
+-111.494 33.516 7077
+-111.368 33.516 7146
+-111.242 33.516 7183
+-111.116 33.516 7250
+-110.99 33.516 7307
+-110.864 33.516 7332
+-110.738 33.516 7362
+-110.612 33.516 7389
+-110.486 33.516 7408
+-110.36 33.516 7409
+-110.234 33.516 7406
+-110.108 33.516 7399
+-109.982 33.516 7379
+-109.856 33.516 7323
+-109.73 33.516 7282
+-109.604 33.516 7214
+-109.478 33.516 7189
+-109.352 33.516 7123
+-109.226 33.516 7043
+-109.1 33.516 6981
+-108.974 33.516 6878
+-108.848 33.516 6824
+-108.722 33.516 6747
+-108.596 33.516 6653
+-108.47 33.516 6520
+-108.344 33.516 6447
+-108.218 33.516 6303
+-108.092 33.516 6214
+-107.966 33.516 6125
+-107.84 33.516 6006
+-107.714 33.516 5921
+-107.588 33.516 5840
+-107.462 33.516 5722
+-107.336 33.516 5605
+-107.21 33.516 5572
+-107.084 33.516 5443
+-106.958 33.516 5314
+-106.832 33.516 5123
+-106.706 33.516 4973
+-106.58 33.516 4891
+-106.454 33.516 4779
+-106.328 33.516 4611
+-106.202 33.516 4531
+-106.076 33.516 4537
+-105.95 33.516 4453
+-105.824 33.516 4272
+-105.698 33.516 4144
+-105.572 33.516 3999
+-105.446 33.516 3800
+-105.32 33.516 3615
+-105.194 33.516 3505
+-105.068 33.516 3468
+-104.942 33.516 3343
+-104.816 33.516 3235
+-104.69 33.516 3275
+-104.564 33.516 3350
+-104.438 33.516 3413
+-104.312 33.516 3463
+-104.186 33.516 3486
+-104.06 33.516 3502
+-103.934 33.516 3511
+-103.808 33.516 3536
+-103.682 33.516 3558
+-103.556 33.516 3573
+-103.43 33.516 3581
+-103.304 33.516 3597
+-103.178 33.516 3611
+-103.052 33.516 3624
+-102.926 33.516 3612
+-102.8 33.516 3624
+-102.674 33.516 3634
+-102.548 33.516 3644
+-102.422 33.516 3654
+-102.296 33.516 3652
+-102.17 33.516 3660
+-102.044 33.516 3614
+-101.918 33.516 3621
+-101.792 33.516 3628
+-101.666 33.516 3635
+-101.54 33.516 3641
+-101.414 33.516 3647
+-101.288 33.516 3652
+-101.162 33.516 3657
+-101.036 33.516 3662
+-100.91 33.516 3666
+-100.784 33.516 3670
+-100.658 33.516 3674
+-100.532 33.516 3678
+-100.406 33.516 3566
+-100.28 33.516 3508
+-100.154 33.516 3230
+-100.028 33.516 3153
+-99.902 33.516 3060
+-99.776 33.516 3032
+-99.65 33.516 3015
+-99.524 33.516 3083
+-99.398 33.516 3003
+-99.272 33.516 3060
+-99.146 33.516 2916
+-99.02 33.516 2954
+-98.894 33.516 2961
+-98.768 33.516 3063
+-98.642 33.516 3020
+-98.516 33.516 3048
+-98.39 33.516 3227
+-98.264 33.516 3221
+-98.138 33.516 3215
+-98.012 33.516 3203
+-97.886 33.516 3220
+-97.76 33.516 3241
+-97.634 33.516 3197
+-97.508 33.516 3217
+-97.382 33.516 3220
+-97.256 33.516 3211
+-97.13 33.516 3168
+-97.004 33.516 3160
+-96.878 33.516 3152
+-96.752 33.516 3075
+-96.626 33.516 3069
+-96.5 33.516 3064
+-96.374 33.516 3058
+-96.248 33.516 3051
+-96.122 33.516 3059
+-95.996 33.516 3052
+-95.87 33.516 3019
+-95.744 33.516 3015
+-95.618 33.516 3010
+-95.492 33.516 3018
+-95.366 33.516 3013
+-95.24 33.516 3009
+-95.114 33.516 2998
+-94.988 33.516 3040
+-94.862 33.516 3035
+-94.736 33.516 3026
+-94.61 33.516 3029
+-94.484 33.516 3015
+-94.358 33.516 2991
+-94.232 33.516 2947
+-94.106 33.516 2874
+-93.98 33.516 2775
+-93.854 33.516 2721
+-93.728 33.516 2823
+-93.602 33.516 2996
+-93.476 33.516 3142
+-93.35 33.516 3217
+-93.224 33.516 3251
+-93.098 33.516 3290
+-92.972 33.516 3335
+-92.846 33.516 3418
+-92.72 33.516 3492
+-92.594 33.516 3566
+-92.468 33.516 3558
+-92.342 33.516 3647
+-92.216 33.516 3802
+-92.09 33.516 3954
+-91.964 33.516 4085
+-91.838 33.516 4207
+-91.712 33.516 4232
+-91.586 33.516 4182
+-91.46 33.516 4303
+-91.334 33.516 4438
+-91.208 33.516 4505
+-91.082 33.516 4547
+-90.956 33.516 4586
+-90.83 33.516 4623
+-90.704 33.516 4642
+-90.578 33.516 4683
+-90.452 33.516 4718
+-90.326 33.516 4755
+-90.2 33.516 4820
+-90.074 33.516 4858
+-89.948 33.516 4925
+-89.822 33.516 5009
+-89.696 33.516 5065
+-89.57 33.516 5117
+-89.444 33.516 5135
+-89.318 33.516 5145
+-89.192 33.516 5149
+-89.066 33.516 5146
+-88.94 33.516 5127
+-88.814 33.516 5138
+-88.688 33.516 5146
+-88.562 33.516 5149
+-88.436 33.516 5148
+-88.31 33.516 5110
+-88.184 33.516 5053
+-88.058 33.516 5066
+-87.932 33.516 5027
+-87.806 33.516 4974
+-87.68 33.516 4946
+-87.554 33.516 4881
+-87.428 33.516 4849
+-87.302 33.516 4838
+-87.176 33.516 4783
+-87.05 33.516 4714
+-86.924 33.516 4639
+-86.798 33.516 4580
+-86.672 33.516 4565
+-86.546 33.516 4454
+-86.42 33.516 4366
+-86.294 33.516 4394
+-86.168 33.516 4382
+-86.042 33.516 4362
+-85.916 33.516 4312
+-85.79 33.516 4259
+-85.664 33.516 4213
+-85.538 33.516 4132
+-85.412 33.516 4069
+-85.286 33.516 3961
+-85.16 33.516 3808
+-85.034 33.516 3686
+-84.908 33.516 3565
+-84.782 33.516 3382
+-84.656 33.516 3263
+-84.53 33.516 3196
+-84.404 33.516 3237
+-84.278 33.516 3291
+-84.152 33.516 3308
+-84.026 33.516 3325
+-83.9 33.516 3335
+-83.774 33.516 3334
+-83.648 33.516 3340
+-83.522 33.516 3350
+-83.396 33.516 3363
+-83.27 33.516 3378
+-83.144 33.516 3393
+-83.018 33.516 3436
+-82.892 33.516 3469
+-82.766 33.516 3485
+-82.64 33.516 3496
+-82.514 33.516 3503
+-82.388 33.516 3506
+-82.262 33.516 3484
+-82.136 33.516 3441
+-82.01 33.516 3397
+-81.884 33.516 3451
+-81.758 33.516 3507
+-81.632 33.516 3512
+-81.506 33.516 3483
+-81.38 33.516 3460
+-81.254 33.516 3482
+-81.128 33.516 3540
+-81.002 33.516 3558
+-80.876 33.516 3578
+-80.75 33.516 3555
+-80.624 33.516 3578
+-80.498 33.516 3554
+-80.372 33.516 3553
+-80.246 33.516 3542
+-80.12 33.516 3497
+-79.994 33.516 3437
+-79.868 33.516 3408
+-79.742 33.516 3343
+-79.616 33.516 3251
+-79.49 33.516 3171
+-79.364 33.516 3059
+-79.238 33.516 2936
+-79.112 33.516 2800
+-78.986 33.516 2672
+-78.86 33.516 2574
+-78.734 33.516 2498
+-78.608 33.516 2483
+-78.482 33.516 2495
+-78.356 33.516 2527
+-78.23 33.516 2572
+-78.104 33.516 2635
+-77.978 33.516 2703
+-77.852 33.516 2781
+-77.726 33.516 2842
+-77.6 33.516 2901
+-77.474 33.516 2950
+-77.348 33.516 2988
+-77.222 33.516 3032
+-77.096 33.516 3086
+-76.97 33.516 3119
+-76.844 33.516 3147
+-76.718 33.516 3172
+-76.592 33.516 3214
+-76.466 33.516 3237
+-76.34 33.516 3220
+-76.214 33.516 3243
+-76.088 33.516 3257
+-75.962 33.516 3212
+-75.836 33.516 3163
+-75.71 33.516 3182
+-75.584 33.516 3191
+-75.458 33.516 3216
+-75.332 33.516 3207
+-75.206 33.516 3217
+-75.08 33.516 3225
+-74.954 33.516 3218
+-74.828 33.516 3224
+-74.702 33.516 3230
+-74.576 33.516 3217
+-74.45 33.516 3207
+-74.324 33.516 3232
+-74.198 33.516 3231
+-74.072 33.516 3237
+-73.946 33.516 3242
+-73.82 33.516 3177
+-73.694 33.516 3210
+-73.568 33.516 3209
+-73.442 33.516 3213
+-73.316 33.516 3216
+-73.19 33.516 3388
+-73.064 33.516 3325
+-72.938 33.516 3335
+-72.812 33.516 3339
+-72.686 33.516 3247
+-72.56 33.516 3238
+-72.434 33.516 3240
+-72.308 33.516 3242
+-72.182 33.516 3225
+-72.056 33.516 3227
+-71.93 33.516 3229
+-71.804 33.516 3230
+-71.678 33.516 3232
+-71.552 33.516 3248
+-71.426 33.516 3251
+-71.3 33.516 3237
+-71.174 33.516 3239
+-71.048 33.516 3242
+-70.922 33.516 3188
+-70.796 33.516 3355
+-70.67 33.516 3321
+-70.544 33.516 3323
+-70.418 33.516 3291
+-70.292 33.516 3293
+-70.166 33.516 3294
+-70.04 33.516 3415
+-69.914 33.516 3416
+-69.788 33.516 3417
+-69.662 33.516 3419
+-69.536 33.516 3420
+-69.41 33.516 3523
+-69.284 33.516 3525
+-69.158 33.516 3447
+-69.032 33.516 3448
+-68.906 33.516 3450
+-68.78 33.516 3452
+-68.654 33.516 3458
+-68.528 33.516 3420
+-68.402 33.516 3413
+-68.276 33.516 3364
+-68.15 33.516 3366
+-68.024 33.516 3329
+-67.898 33.516 3374
+-67.772 33.516 3375
+-67.646 33.516 3377
+-67.52 33.516 3378
+-67.394 33.516 3380
+-67.268 33.516 3381
+-67.142 33.516 3383
+-67.016 33.516 3357
+-66.89 33.516 3359
+-66.764 33.516 3360
+-66.638 33.516 3330
+-66.512 33.516 3299
+-66.386 33.516 3279
+-66.26 33.516 3280
+-66.134 33.516 3281
+-66.008 33.516 3282
+-65.882 33.516 3283
+-65.756 33.516 3284
+-65.63 33.516 3285
+-65.504 33.516 3215
+-65.378 33.516 3199
+-65.252 33.516 3200
+-65.126 33.516 3201
+-128 33.464 2691
+-127.874 33.464 2685
+-127.748 33.464 2678
+-127.622 33.464 2671
+-127.496 33.464 2663
+-127.37 33.464 2729
+-127.244 33.464 2720
+-127.118 33.464 2710
+-126.992 33.464 2700
+-126.866 33.464 2715
+-126.74 33.464 2702
+-126.614 33.464 2688
+-126.488 33.464 2672
+-126.362 33.464 2687
+-126.236 33.464 2713
+-126.11 33.464 2694
+-125.984 33.464 2756
+-125.858 33.464 2764
+-125.732 33.464 2737
+-125.606 33.464 2709
+-125.48 33.464 2682
+-125.354 33.464 2660
+-125.228 33.464 2680
+-125.102 33.464 2726
+-124.976 33.464 2720
+-124.85 33.464 2726
+-124.724 33.464 2831
+-124.598 33.464 2868
+-124.472 33.464 2914
+-124.346 33.464 2964
+-124.22 33.464 3008
+-124.094 33.464 3063
+-123.968 33.464 3067
+-123.842 33.464 3056
+-123.716 33.464 3030
+-123.59 33.464 3041
+-123.464 33.464 3147
+-123.338 33.464 3260
+-123.212 33.464 3301
+-123.086 33.464 3282
+-122.96 33.464 3425
+-122.834 33.464 3716
+-122.708 33.464 3914
+-122.582 33.464 4013
+-122.456 33.464 4090
+-122.33 33.464 4218
+-122.204 33.464 4352
+-122.078 33.464 4488
+-121.952 33.464 4640
+-121.826 33.464 4745
+-121.7 33.464 4813
+-121.574 33.464 4892
+-121.448 33.464 5045
+-121.322 33.464 5194
+-121.196 33.464 5300
+-121.07 33.464 5473
+-120.944 33.464 5564
+-120.818 33.464 5639
+-120.692 33.464 5785
+-120.566 33.464 5968
+-120.44 33.464 6003
+-120.314 33.464 6212
+-120.188 33.464 6346
+-120.062 33.464 6433
+-119.936 33.464 6613
+-119.81 33.464 6762
+-119.684 33.464 6865
+-119.558 33.464 6929
+-119.432 33.464 7071
+-119.306 33.464 7239
+-119.18 33.464 7411
+-119.054 33.464 7529
+-118.928 33.464 7684
+-118.802 33.464 7761
+-118.676 33.464 7869
+-118.55 33.464 7976
+-118.424 33.464 8118
+-118.298 33.464 8270
+-118.172 33.464 8334
+-118.046 33.464 8444
+-117.92 33.464 8568
+-117.794 33.464 8642
+-117.668 33.464 8698
+-117.542 33.464 8750
+-117.416 33.464 8793
+-117.29 33.464 8919
+-117.164 33.464 9041
+-117.038 33.464 9050
+-116.912 33.464 9070
+-116.786 33.464 9042
+-116.66 33.464 8951
+-116.534 33.464 8833
+-116.408 33.464 8773
+-116.282 33.464 8655
+-116.156 33.464 8535
+-116.03 33.464 8475
+-115.904 33.464 8322
+-115.778 33.464 8200
+-115.652 33.464 8027
+-115.526 33.464 7958
+-115.4 33.464 7840
+-115.274 33.464 7713
+-115.148 33.464 7529
+-115.022 33.464 7428
+-114.896 33.464 7261
+-114.77 33.464 7202
+-114.644 33.464 7055
+-114.518 33.464 6901
+-114.392 33.464 6721
+-114.266 33.464 6617
+-114.14 33.464 6458
+-114.014 33.464 6353
+-113.888 33.464 6206
+-113.762 33.464 6060
+-113.636 33.464 5879
+-113.51 33.464 5589
+-113.384 33.464 5698
+-113.258 33.464 5757
+-113.132 33.464 5862
+-113.006 33.464 6034
+-112.88 33.464 6077
+-112.754 33.464 6237
+-112.628 33.464 6379
+-112.502 33.464 6439
+-112.376 33.464 6560
+-112.25 33.464 6610
+-112.124 33.464 6721
+-111.998 33.464 6872
+-111.872 33.464 6895
+-111.746 33.464 7010
+-111.62 33.464 7046
+-111.494 33.464 7144
+-111.368 33.464 7184
+-111.242 33.464 7258
+-111.116 33.464 7328
+-110.99 33.464 7373
+-110.864 33.464 7405
+-110.738 33.464 7407
+-110.612 33.464 7445
+-110.486 33.464 7462
+-110.36 33.464 7470
+-110.234 33.464 7466
+-110.108 33.464 7439
+-109.982 33.464 7428
+-109.856 33.464 7392
+-109.73 33.464 7340
+-109.604 33.464 7286
+-109.478 33.464 7238
+-109.352 33.464 7173
+-109.226 33.464 7100
+-109.1 33.464 7038
+-108.974 33.464 6927
+-108.848 33.464 6884
+-108.722 33.464 6806
+-108.596 33.464 6706
+-108.47 33.464 6632
+-108.344 33.464 6511
+-108.218 33.464 6350
+-108.092 33.464 6252
+-107.966 33.464 6182
+-107.84 33.464 6071
+-107.714 33.464 5939
+-107.588 33.464 5825
+-107.462 33.464 5764
+-107.336 33.464 5666
+-107.21 33.464 5550
+-107.084 33.464 5421
+-106.958 33.464 5372
+-106.832 33.464 5223
+-106.706 33.464 5065
+-106.58 33.464 4912
+-106.454 33.464 4779
+-106.328 33.464 4655
+-106.202 33.464 4569
+-106.076 33.464 4543
+-105.95 33.464 4470
+-105.824 33.464 4265
+-105.698 33.464 4121
+-105.572 33.464 3960
+-105.446 33.464 3778
+-105.32 33.464 3567
+-105.194 33.464 3421
+-105.068 33.464 3438
+-104.942 33.464 3263
+-104.816 33.464 3111
+-104.69 33.464 3208
+-104.564 33.464 3307
+-104.438 33.464 3377
+-104.312 33.464 3419
+-104.186 33.464 3447
+-104.06 33.464 3465
+-103.934 33.464 3496
+-103.808 33.464 3523
+-103.682 33.464 3543
+-103.556 33.464 3555
+-103.43 33.464 3573
+-103.304 33.464 3590
+-103.178 33.464 3606
+-103.052 33.464 3596
+-102.926 33.464 3610
+-102.8 33.464 3622
+-102.674 33.464 3633
+-102.548 33.464 3644
+-102.422 33.464 3653
+-102.296 33.464 3652
+-102.17 33.464 3608
+-102.044 33.464 3616
+-101.918 33.464 3623
+-101.792 33.464 3630
+-101.666 33.464 3637
+-101.54 33.464 3643
+-101.414 33.464 3649
+-101.288 33.464 3654
+-101.162 33.464 3659
+-101.036 33.464 3664
+-100.91 33.464 3668
+-100.784 33.464 3672
+-100.658 33.464 3676
+-100.532 33.464 3680
+-100.406 33.464 3595
+-100.28 33.464 3513
+-100.154 33.464 3232
+-100.028 33.464 3153
+-99.902 33.464 3060
+-99.776 33.464 3031
+-99.65 33.464 3011
+-99.524 33.464 2998
+-99.398 33.464 2997
+-99.272 33.464 3050
+-99.146 33.464 2906
+-99.02 33.464 2991
+-98.894 33.464 3053
+-98.768 33.464 3010
+-98.642 33.464 3038
+-98.516 33.464 3061
+-98.39 33.464 3058
+-98.264 33.464 3213
+-98.138 33.464 3202
+-98.012 33.464 3219
+-97.886 33.464 3241
+-97.76 33.464 3196
+-97.634 33.464 3216
+-97.508 33.464 3220
+-97.382 33.464 3211
+-97.256 33.464 3168
+-97.13 33.464 3160
+-97.004 33.464 3152
+-96.878 33.464 3074
+-96.752 33.464 3069
+-96.626 33.464 3063
+-96.5 33.464 3058
+-96.374 33.464 3052
+-96.248 33.464 3060
+-96.122 33.464 3053
+-95.996 33.464 3020
+-95.87 33.464 3016
+-95.744 33.464 3011
+-95.618 33.464 3020
+-95.492 33.464 3015
+-95.366 33.464 3010
+-95.24 33.464 3005
+-95.114 33.464 2995
+-94.988 33.464 2990
+-94.862 33.464 2998
+-94.736 33.464 2991
+-94.61 33.464 3023
+-94.484 33.464 3003
+-94.358 33.464 2971
+-94.232 33.464 2916
+-94.106 33.464 2828
+-93.98 33.464 2697
+-93.854 33.464 2610
+-93.728 33.464 2723
+-93.602 33.464 2932
+-93.476 33.464 3101
+-93.35 33.464 3182
+-93.224 33.464 3226
+-93.098 33.464 3271
+-92.972 33.464 3306
+-92.846 33.464 3366
+-92.72 33.464 3470
+-92.594 33.464 3546
+-92.468 33.464 3601
+-92.342 33.464 3674
+-92.216 33.464 3815
+-92.09 33.464 3957
+-91.964 33.464 4075
+-91.838 33.464 4204
+-91.712 33.464 4243
+-91.586 33.464 4237
+-91.46 33.464 4264
+-91.334 33.464 4357
+-91.208 33.464 4447
+-91.082 33.464 4501
+-90.956 33.464 4551
+-90.83 33.464 4589
+-90.704 33.464 4614
+-90.578 33.464 4641
+-90.452 33.464 4715
+-90.326 33.464 4718
+-90.2 33.464 4789
+-90.074 33.464 4825
+-89.948 33.464 4858
+-89.822 33.464 4919
+-89.696 33.464 4991
+-89.57 33.464 5014
+-89.444 33.464 5039
+-89.318 33.464 5066
+-89.192 33.464 5088
+-89.066 33.464 5087
+-88.94 33.464 5077
+-88.814 33.464 5076
+-88.688 33.464 5056
+-88.562 33.464 5059
+-88.436 33.464 5077
+-88.31 33.464 5065
+-88.184 33.464 5042
+-88.058 33.464 5014
+-87.932 33.464 4960
+-87.806 33.464 4927
+-87.68 33.464 4904
+-87.554 33.464 4848
+-87.428 33.464 4828
+-87.302 33.464 4802
+-87.176 33.464 4714
+-87.05 33.464 4641
+-86.924 33.464 4585
+-86.798 33.464 4529
+-86.672 33.464 4469
+-86.546 33.464 4395
+-86.42 33.464 4391
+-86.294 33.464 4381
+-86.168 33.464 4364
+-86.042 33.464 4347
+-85.916 33.464 4334
+-85.79 33.464 4264
+-85.664 33.464 4183
+-85.538 33.464 4108
+-85.412 33.464 4008
+-85.286 33.464 3867
+-85.16 33.464 3737
+-85.034 33.464 3646
+-84.908 33.464 3523
+-84.782 33.464 3423
+-84.656 33.464 3331
+-84.53 33.464 3281
+-84.404 33.464 3286
+-84.278 33.464 3300
+-84.152 33.464 3310
+-84.026 33.464 3318
+-83.9 33.464 3334
+-83.774 33.464 3335
+-83.648 33.464 3347
+-83.522 33.464 3369
+-83.396 33.464 3393
+-83.27 33.464 3431
+-83.144 33.464 3453
+-83.018 33.464 3500
+-82.892 33.464 3521
+-82.766 33.464 3543
+-82.64 33.464 3547
+-82.514 33.464 3538
+-82.388 33.464 3535
+-82.262 33.464 3519
+-82.136 33.464 3484
+-82.01 33.464 3469
+-81.884 33.464 3513
+-81.758 33.464 3531
+-81.632 33.464 3523
+-81.506 33.464 3481
+-81.38 33.464 3423
+-81.254 33.464 3473
+-81.128 33.464 3530
+-81.002 33.464 3540
+-80.876 33.464 3532
+-80.75 33.464 3551
+-80.624 33.464 3560
+-80.498 33.464 3588
+-80.372 33.464 3562
+-80.246 33.464 3556
+-80.12 33.464 3514
+-79.994 33.464 3480
+-79.868 33.464 3433
+-79.742 33.464 3360
+-79.616 33.464 3307
+-79.49 33.464 3221
+-79.364 33.464 3125
+-79.238 33.464 3009
+-79.112 33.464 2885
+-78.986 33.464 2766
+-78.86 33.464 2657
+-78.734 33.464 2567
+-78.608 33.464 2499
+-78.482 33.464 2459
+-78.356 33.464 2479
+-78.23 33.464 2542
+-78.104 33.464 2620
+-77.978 33.464 2710
+-77.852 33.464 2786
+-77.726 33.464 2855
+-77.6 33.464 2915
+-77.474 33.464 2960
+-77.348 33.464 3010
+-77.222 33.464 3068
+-77.096 33.464 3105
+-76.97 33.464 3136
+-76.844 33.464 3163
+-76.718 33.464 3207
+-76.592 33.464 3231
+-76.466 33.464 3216
+-76.34 33.464 3240
+-76.214 33.464 3255
+-76.088 33.464 3214
+-75.962 33.464 3164
+-75.836 33.464 3183
+-75.71 33.464 3192
+-75.584 33.464 3217
+-75.458 33.464 3209
+-75.332 33.464 3218
+-75.206 33.464 3226
+-75.08 33.464 3219
+-74.954 33.464 3226
+-74.828 33.464 3232
+-74.702 33.464 3219
+-74.576 33.464 3210
+-74.45 33.464 3234
+-74.324 33.464 3233
+-74.198 33.464 3239
+-74.072 33.464 3244
+-73.946 33.464 3179
+-73.82 33.464 3212
+-73.694 33.464 3210
+-73.568 33.464 3215
+-73.442 33.464 3218
+-73.316 33.464 3386
+-73.19 33.464 3326
+-73.064 33.464 3334
+-72.938 33.464 3337
+-72.812 33.464 3246
+-72.686 33.464 3237
+-72.56 33.464 3240
+-72.434 33.464 3242
+-72.308 33.464 3224
+-72.182 33.464 3226
+-72.056 33.464 3228
+-71.93 33.464 3230
+-71.804 33.464 3231
+-71.678 33.464 3247
+-71.552 33.464 3250
+-71.426 33.464 3236
+-71.3 33.464 3239
+-71.174 33.464 3241
+-71.048 33.464 3188
+-70.922 33.464 3354
+-70.796 33.464 3320
+-70.67 33.464 3321
+-70.544 33.464 3289
+-70.418 33.464 3291
+-70.292 33.464 3293
+-70.166 33.464 3412
+-70.04 33.464 3414
+-69.914 33.464 3415
+-69.788 33.464 3417
+-69.662 33.464 3418
+-69.536 33.464 3520
+-69.41 33.464 3522
+-69.284 33.464 3444
+-69.158 33.464 3446
+-69.032 33.464 3448
+-68.906 33.464 3450
+-68.78 33.464 3456
+-68.654 33.464 3418
+-68.528 33.464 3411
+-68.402 33.464 3363
+-68.276 33.464 3364
+-68.15 33.464 3327
+-68.024 33.464 3372
+-67.898 33.464 3374
+-67.772 33.464 3375
+-67.646 33.464 3377
+-67.52 33.464 3378
+-67.394 33.464 3380
+-67.268 33.464 3381
+-67.142 33.464 3356
+-67.016 33.464 3357
+-66.89 33.464 3359
+-66.764 33.464 3329
+-66.638 33.464 3298
+-66.512 33.464 3278
+-66.386 33.464 3279
+-66.26 33.464 3280
+-66.134 33.464 3281
+-66.008 33.464 3282
+-65.882 33.464 3283
+-65.756 33.464 3284
+-65.63 33.464 3214
+-65.504 33.464 3198
+-65.378 33.464 3199
+-65.252 33.464 3200
+-65.126 33.464 3201
+-128 33.412 2686
+-127.874 33.412 2680
+-127.748 33.412 2672
+-127.622 33.412 2665
+-127.496 33.412 2656
+-127.37 33.412 2647
+-127.244 33.412 2712
+-127.118 33.412 2701
+-126.992 33.412 2690
+-126.866 33.412 2678
+-126.74 33.412 2689
+-126.614 33.412 2674
+-126.488 33.412 2689
+-126.362 33.412 2710
+-126.236 33.412 2687
+-126.11 33.412 2743
+-125.984 33.412 2754
+-125.858 33.412 2723
+-125.732 33.412 2689
+-125.606 33.412 2654
+-125.48 33.412 2617
+-125.354 33.412 2580
+-125.228 33.412 2547
+-125.102 33.412 2584
+-124.976 33.412 2603
+-124.85 33.412 2603
+-124.724 33.412 2624
+-124.598 33.412 2733
+-124.472 33.412 2793
+-124.346 33.412 2862
+-124.22 33.412 2931
+-124.094 33.412 3004
+-123.968 33.412 3058
+-123.842 33.412 3096
+-123.716 33.412 3136
+-123.59 33.412 3180
+-123.464 33.412 3247
+-123.338 33.412 3299
+-123.212 33.412 3251
+-123.086 33.412 3157
+-122.96 33.412 3325
+-122.834 33.412 3681
+-122.708 33.412 3900
+-122.582 33.412 3962
+-122.456 33.412 3965
+-122.33 33.412 4116
+-122.204 33.412 4321
+-122.078 33.412 4501
+-121.952 33.412 4602
+-121.826 33.412 4704
+-121.7 33.412 4800
+-121.574 33.412 4909
+-121.448 33.412 5072
+-121.322 33.412 5226
+-121.196 33.412 5202
+-121.07 33.412 5421
+-120.944 33.412 5555
+-120.818 33.412 5631
+-120.692 33.412 5749
+-120.566 33.412 5943
+-120.44 33.412 6073
+-120.314 33.412 6216
+-120.188 33.412 6352
+-120.062 33.412 6493
+-119.936 33.412 6573
+-119.81 33.412 6716
+-119.684 33.412 6796
+-119.558 33.412 6959
+-119.432 33.412 7127
+-119.306 33.412 7225
+-119.18 33.412 7367
+-119.054 33.412 7459
+-118.928 33.412 7560
+-118.802 33.412 7759
+-118.676 33.412 7865
+-118.55 33.412 7968
+-118.424 33.412 8064
+-118.298 33.412 8185
+-118.172 33.412 8273
+-118.046 33.412 8421
+-117.92 33.412 8494
+-117.794 33.412 8567
+-117.668 33.412 8733
+-117.542 33.412 8852
+-117.416 33.412 8998
+-117.29 33.412 9055
+-117.164 33.412 9078
+-117.038 33.412 9106
+-116.912 33.412 9107
+-116.786 33.412 9076
+-116.66 33.412 8951
+-116.534 33.412 8897
+-116.408 33.412 8831
+-116.282 33.412 8721
+-116.156 33.412 8575
+-116.03 33.412 8479
+-115.904 33.412 8376
+-115.778 33.412 8182
+-115.652 33.412 8085
+-115.526 33.412 7963
+-115.4 33.412 7853
+-115.274 33.412 7702
+-115.148 33.412 7556
+-115.022 33.412 7431
+-114.896 33.412 7323
+-114.77 33.412 7159
+-114.644 33.412 7030
+-114.518 33.412 6832
+-114.392 33.412 6736
+-114.266 33.412 6543
+-114.14 33.412 6471
+-114.014 33.412 6314
+-113.888 33.412 6229
+-113.762 33.412 6062
+-113.636 33.412 5902
+-113.51 33.412 5631
+-113.384 33.412 5646
+-113.258 33.412 5745
+-113.132 33.412 5913
+-113.006 33.412 6031
+-112.88 33.412 6113
+-112.754 33.412 6220
+-112.628 33.412 6361
+-112.502 33.412 6483
+-112.376 33.412 6531
+-112.25 33.412 6675
+-112.124 33.412 6766
+-111.998 33.412 6863
+-111.872 33.412 6940
+-111.746 33.412 7011
+-111.62 33.412 7130
+-111.494 33.412 7189
+-111.368 33.412 7269
+-111.242 33.412 7327
+-111.116 33.412 7350
+-110.99 33.412 7416
+-110.864 33.412 7434
+-110.738 33.412 7470
+-110.612 33.412 7513
+-110.486 33.412 7540
+-110.36 33.412 7517
+-110.234 33.412 7513
+-110.108 33.412 7498
+-109.982 33.412 7477
+-109.856 33.412 7423
+-109.73 33.412 7401
+-109.604 33.412 7363
+-109.478 33.412 7274
+-109.352 33.412 7218
+-109.226 33.412 7145
+-109.1 33.412 7103
+-108.974 33.412 7001
+-108.848 33.412 6948
+-108.722 33.412 6851
+-108.596 33.412 6778
+-108.47 33.412 6673
+-108.344 33.412 6549
+-108.218 33.412 6407
+-108.092 33.412 6267
+-107.966 33.412 6232
+-107.84 33.412 6136
+-107.714 33.412 6007
+-107.588 33.412 5854
+-107.462 33.412 5771
+-107.336 33.412 5630
+-107.21 33.412 5565
+-107.084 33.412 5365
+-106.958 33.412 5398
+-106.832 33.412 5280
+-106.706 33.412 5088
+-106.58 33.412 4941
+-106.454 33.412 4774
+-106.328 33.412 4672
+-106.202 33.412 4606
+-106.076 33.412 4542
+-105.95 33.412 4458
+-105.824 33.412 4256
+-105.698 33.412 4100
+-105.572 33.412 3909
+-105.446 33.412 3807
+-105.32 33.412 3672
+-105.194 33.412 3519
+-105.068 33.412 3432
+-104.942 33.412 3275
+-104.816 33.412 3188
+-104.69 33.412 3222
+-104.564 33.412 3293
+-104.438 33.412 3352
+-104.312 33.412 3388
+-104.186 33.412 3416
+-104.06 33.412 3452
+-103.934 33.412 3484
+-103.808 33.412 3509
+-103.682 33.412 3526
+-103.556 33.412 3548
+-103.43 33.412 3568
+-103.304 33.412 3586
+-103.178 33.412 3580
+-103.052 33.412 3595
+-102.926 33.412 3609
+-102.8 33.412 3622
+-102.674 33.412 3633
+-102.548 33.412 3634
+-102.422 33.412 3644
+-102.296 33.412 3601
+-102.17 33.412 3610
+-102.044 33.412 3618
+-101.918 33.412 3625
+-101.792 33.412 3632
+-101.666 33.412 3639
+-101.54 33.412 3645
+-101.414 33.412 3651
+-101.288 33.412 3656
+-101.162 33.412 3661
+-101.036 33.412 3666
+-100.91 33.412 3670
+-100.784 33.412 3674
+-100.658 33.412 3678
+-100.532 33.412 3594
+-100.406 33.412 3597
+-100.28 33.412 3483
+-100.154 33.412 3321
+-100.028 33.412 3245
+-99.902 33.412 3147
+-99.776 33.412 3106
+-99.65 33.412 3107
+-99.524 33.412 3093
+-99.398 33.412 3093
+-99.272 33.412 2834
+-99.146 33.412 2940
+-99.02 33.412 2986
+-98.894 33.412 3015
+-98.768 33.412 3028
+-98.642 33.412 3051
+-98.516 33.412 3048
+-98.39 33.412 3044
+-98.264 33.412 3066
+-98.138 33.412 3059
+-98.012 33.412 3240
+-97.886 33.412 3195
+-97.76 33.412 3216
+-97.634 33.412 3220
+-97.508 33.412 3212
+-97.382 33.412 3167
+-97.256 33.412 3160
+-97.13 33.412 3153
+-97.004 33.412 3073
+-96.878 33.412 3068
+-96.752 33.412 3063
+-96.626 33.412 3057
+-96.5 33.412 3051
+-96.374 33.412 3060
+-96.248 33.412 3054
+-96.122 33.412 3020
+-95.996 33.412 3015
+-95.87 33.412 3011
+-95.744 33.412 3020
+-95.618 33.412 3015
+-95.492 33.412 3010
+-95.366 33.412 3005
+-95.24 33.412 2993
+-95.114 33.412 2988
+-94.988 33.412 2996
+-94.862 33.412 2990
+-94.736 33.412 2981
+-94.61 33.412 2971
+-94.484 33.412 2994
+-94.358 33.412 2962
+-94.232 33.412 2915
+-94.106 33.412 2843
+-93.98 33.412 2747
+-93.854 33.412 2698
+-93.728 33.412 2781
+-93.602 33.412 2939
+-93.476 33.412 3077
+-93.35 33.412 3149
+-93.224 33.412 3174
+-93.098 33.412 3172
+-92.972 33.412 3201
+-92.846 33.412 3269
+-92.72 33.412 3381
+-92.594 33.412 3525
+-92.468 33.412 3640
+-92.342 33.412 3711
+-92.216 33.412 3831
+-92.09 33.412 3972
+-91.964 33.412 4084
+-91.838 33.412 4192
+-91.712 33.412 4256
+-91.586 33.412 4228
+-91.46 33.412 4167
+-91.334 33.412 4280
+-91.208 33.412 4393
+-91.082 33.412 4450
+-90.956 33.412 4499
+-90.83 33.412 4546
+-90.704 33.412 4536
+-90.578 33.412 4600
+-90.452 33.412 4676
+-90.326 33.412 4697
+-90.2 33.412 4745
+-90.074 33.412 4794
+-89.948 33.412 4798
+-89.822 33.412 4839
+-89.696 33.412 4883
+-89.57 33.412 4935
+-89.444 33.412 4942
+-89.318 33.412 4949
+-89.192 33.412 4990
+-89.066 33.412 5033
+-88.94 33.412 5053
+-88.814 33.412 5026
+-88.688 33.412 4990
+-88.562 33.412 4997
+-88.436 33.412 4990
+-88.31 33.412 4964
+-88.184 33.412 4966
+-88.058 33.412 4943
+-87.932 33.412 4902
+-87.806 33.412 4867
+-87.68 33.412 4856
+-87.554 33.412 4829
+-87.428 33.412 4799
+-87.302 33.412 4752
+-87.176 33.412 4656
+-87.05 33.412 4617
+-86.924 33.412 4560
+-86.798 33.412 4493
+-86.672 33.412 4411
+-86.546 33.412 4333
+-86.42 33.412 4355
+-86.294 33.412 4342
+-86.168 33.412 4326
+-86.042 33.412 4317
+-85.916 33.412 4284
+-85.79 33.412 4215
+-85.664 33.412 4146
+-85.538 33.412 4076
+-85.412 33.412 3967
+-85.286 33.412 3817
+-85.16 33.412 3689
+-85.034 33.412 3595
+-84.908 33.412 3502
+-84.782 33.412 3417
+-84.656 33.412 3366
+-84.53 33.412 3332
+-84.404 33.412 3315
+-84.278 33.412 3291
+-84.152 33.412 3273
+-84.026 33.412 3307
+-83.9 33.412 3337
+-83.774 33.412 3326
+-83.648 33.412 3355
+-83.522 33.412 3409
+-83.396 33.412 3455
+-83.27 33.412 3488
+-83.144 33.412 3522
+-83.018 33.412 3567
+-82.892 33.412 3589
+-82.766 33.412 3607
+-82.64 33.412 3608
+-82.514 33.412 3593
+-82.388 33.412 3598
+-82.262 33.412 3579
+-82.136 33.412 3554
+-82.01 33.412 3549
+-81.884 33.412 3541
+-81.758 33.412 3562
+-81.632 33.412 3578
+-81.506 33.412 3533
+-81.38 33.412 3488
+-81.254 33.412 3522
+-81.128 33.412 3547
+-81.002 33.412 3497
+-80.876 33.412 3456
+-80.75 33.412 3493
+-80.624 33.412 3563
+-80.498 33.412 3586
+-80.372 33.412 3597
+-80.246 33.412 3572
+-80.12 33.412 3533
+-79.994 33.412 3502
+-79.868 33.412 3445
+-79.742 33.412 3413
+-79.616 33.412 3348
+-79.49 33.412 3278
+-79.364 33.412 3184
+-79.238 33.412 3076
+-79.112 33.412 2958
+-78.986 33.412 2828
+-78.86 33.412 2692
+-78.734 33.412 2549
+-78.608 33.412 2425
+-78.482 33.412 2371
+-78.356 33.412 2406
+-78.23 33.412 2500
+-78.104 33.412 2612
+-77.978 33.412 2712
+-77.852 33.412 2799
+-77.726 33.412 2873
+-77.6 33.412 2929
+-77.474 33.412 2986
+-77.348 33.412 3049
+-77.222 33.412 3090
+-77.096 33.412 3125
+-76.97 33.412 3155
+-76.844 33.412 3199
+-76.718 33.412 3225
+-76.592 33.412 3213
+-76.466 33.412 3238
+-76.34 33.412 3253
+-76.214 33.412 3214
+-76.088 33.412 3165
+-75.962 33.412 3184
+-75.836 33.412 3194
+-75.71 33.412 3219
+-75.584 33.412 3211
+-75.458 33.412 3220
+-75.332 33.412 3228
+-75.206 33.412 3222
+-75.08 33.412 3228
+-74.954 33.412 3234
+-74.828 33.412 3222
+-74.702 33.412 3212
+-74.576 33.412 3236
+-74.45 33.412 3235
+-74.324 33.412 3241
+-74.198 33.412 3246
+-74.072 33.412 3181
+-73.946 33.412 3215
+-73.82 33.412 3213
+-73.694 33.412 3217
+-73.568 33.412 3220
+-73.442 33.412 3385
+-73.316 33.412 3322
+-73.19 33.412 3332
+-73.064 33.412 3336
+-72.938 33.412 3246
+-72.812 33.412 3237
+-72.686 33.412 3239
+-72.56 33.412 3241
+-72.434 33.412 3224
+-72.308 33.412 3226
+-72.182 33.412 3227
+-72.056 33.412 3229
+-71.93 33.412 3231
+-71.804 33.412 3247
+-71.678 33.412 3249
+-71.552 33.412 3236
+-71.426 33.412 3238
+-71.3 33.412 3240
+-71.174 33.412 3187
+-71.048 33.412 3352
+-70.922 33.412 3318
+-70.796 33.412 3320
+-70.67 33.412 3288
+-70.544 33.412 3290
+-70.418 33.412 3291
+-70.292 33.412 3410
+-70.166 33.412 3412
+-70.04 33.412 3413
+-69.914 33.412 3415
+-69.788 33.412 3416
+-69.662 33.412 3517
+-69.536 33.412 3520
+-69.41 33.412 3442
+-69.284 33.412 3444
+-69.158 33.412 3446
+-69.032 33.412 3448
+-68.906 33.412 3454
+-68.78 33.412 3416
+-68.654 33.412 3409
+-68.528 33.412 3361
+-68.402 33.412 3363
+-68.276 33.412 3326
+-68.15 33.412 3371
+-68.024 33.412 3372
+-67.898 33.412 3374
+-67.772 33.412 3375
+-67.646 33.412 3377
+-67.52 33.412 3378
+-67.394 33.412 3380
+-67.268 33.412 3355
+-67.142 33.412 3356
+-67.016 33.412 3358
+-66.89 33.412 3328
+-66.764 33.412 3297
+-66.638 33.412 3277
+-66.512 33.412 3278
+-66.386 33.412 3279
+-66.26 33.412 3280
+-66.134 33.412 3281
+-66.008 33.412 3282
+-65.882 33.412 3283
+-65.756 33.412 3213
+-65.63 33.412 3197
+-65.504 33.412 3198
+-65.378 33.412 3199
+-65.252 33.412 3200
+-65.126 33.412 3201
+-128 33.36 2682
+-127.874 33.36 2675
+-127.748 33.36 2667
+-127.622 33.36 2659
+-127.496 33.36 2650
+-127.37 33.36 2640
+-127.244 33.36 2630
+-127.118 33.36 2690
+-126.992 33.36 2678
+-126.866 33.36 2664
+-126.74 33.36 2650
+-126.614 33.36 2699
+-126.488 33.36 2675
+-126.362 33.36 2693
+-126.236 33.36 2702
+-126.11 33.36 2756
+-125.984 33.36 2723
+-125.858 33.36 2686
+-125.732 33.36 2645
+-125.606 33.36 2601
+-125.48 33.36 2552
+-125.354 33.36 2502
+-125.228 33.36 2452
+-125.102 33.36 2407
+-124.976 33.36 2433
+-124.85 33.36 2450
+-124.724 33.36 2468
+-124.598 33.36 2517
+-124.472 33.36 2657
+-124.346 33.36 2749
+-124.22 33.36 2858
+-124.094 33.36 2946
+-123.968 33.36 3023
+-123.842 33.36 3110
+-123.716 33.36 3166
+-123.59 33.36 3246
+-123.464 33.36 3308
+-123.338 33.36 3336
+-123.212 33.36 3332
+-123.086 33.36 3286
+-122.96 33.36 3446
+-122.834 33.36 3749
+-122.708 33.36 3918
+-122.582 33.36 3931
+-122.456 33.36 3849
+-122.33 33.36 4049
+-122.204 33.36 4291
+-122.078 33.36 4448
+-121.952 33.36 4531
+-121.826 33.36 4626
+-121.7 33.36 4709
+-121.574 33.36 4851
+-121.448 33.36 5073
+-121.322 33.36 5242
+-121.196 33.36 5316
+-121.07 33.36 5435
+-120.944 33.36 5501
+-120.818 33.36 5653
+-120.692 33.36 5732
+-120.566 33.36 5923
+-120.44 33.36 5983
+-120.314 33.36 6184
+-120.188 33.36 6293
+-120.062 33.36 6420
+-119.936 33.36 6518
+-119.81 33.36 6700
+-119.684 33.36 6861
+-119.558 33.36 6902
+-119.432 33.36 7065
+-119.306 33.36 7162
+-119.18 33.36 7316
+-119.054 33.36 7455
+-118.928 33.36 7580
+-118.802 33.36 7674
+-118.676 33.36 7862
+-118.55 33.36 7944
+-118.424 33.36 8045
+-118.298 33.36 8138
+-118.172 33.36 8288
+-118.046 33.36 8346
+-117.92 33.36 8441
+-117.794 33.36 8714
+-117.668 33.36 8853
+-117.542 33.36 8926
+-117.416 33.36 9047
+-117.29 33.36 9090
+-117.164 33.36 9156
+-117.038 33.36 9188
+-116.912 33.36 9152
+-116.786 33.36 9112
+-116.66 33.36 9075
+-116.534 33.36 8966
+-116.408 33.36 8798
+-116.282 33.36 8717
+-116.156 33.36 8645
+-116.03 33.36 8458
+-115.904 33.36 8366
+-115.778 33.36 8271
+-115.652 33.36 8109
+-115.526 33.36 7984
+-115.4 33.36 7882
+-115.274 33.36 7699
+-115.148 33.36 7594
+-115.022 33.36 7432
+-114.896 33.36 7313
+-114.77 33.36 7139
+-114.644 33.36 7057
+-114.518 33.36 6842
+-114.392 33.36 6792
+-114.266 33.36 6577
+-114.14 33.36 6535
+-114.014 33.36 6305
+-113.888 33.36 6205
+-113.762 33.36 6139
+-113.636 33.36 5963
+-113.51 33.36 5793
+-113.384 33.36 5778
+-113.258 33.36 5784
+-113.132 33.36 5901
+-113.006 33.36 6032
+-112.88 33.36 6155
+-112.754 33.36 6245
+-112.628 33.36 6398
+-112.502 33.36 6505
+-112.376 33.36 6591
+-112.25 33.36 6712
+-112.124 33.36 6765
+-111.998 33.36 6939
+-111.872 33.36 6983
+-111.746 33.36 7061
+-111.62 33.36 7185
+-111.494 33.36 7255
+-111.368 33.36 7298
+-111.242 33.36 7354
+-111.116 33.36 7396
+-110.99 33.36 7443
+-110.864 33.36 7484
+-110.738 33.36 7533
+-110.612 33.36 7565
+-110.486 33.36 7592
+-110.36 33.36 7579
+-110.234 33.36 7580
+-110.108 33.36 7571
+-109.982 33.36 7504
+-109.856 33.36 7510
+-109.73 33.36 7472
+-109.604 33.36 7416
+-109.478 33.36 7372
+-109.352 33.36 7259
+-109.226 33.36 7200
+-109.1 33.36 7106
+-108.974 33.36 7028
+-108.848 33.36 6921
+-108.722 33.36 6823
+-108.596 33.36 6811
+-108.47 33.36 6683
+-108.344 33.36 6518
+-108.218 33.36 6453
+-108.092 33.36 6300
+-107.966 33.36 6222
+-107.84 33.36 6104
+-107.714 33.36 6061
+-107.588 33.36 5938
+-107.462 33.36 5813
+-107.336 33.36 5733
+-107.21 33.36 5633
+-107.084 33.36 5507
+-106.958 33.36 5425
+-106.832 33.36 5281
+-106.706 33.36 5101
+-106.58 33.36 4935
+-106.454 33.36 4764
+-106.328 33.36 4673
+-106.202 33.36 4623
+-106.076 33.36 4544
+-105.95 33.36 4457
+-105.824 33.36 4282
+-105.698 33.36 4116
+-105.572 33.36 3896
+-105.446 33.36 3811
+-105.32 33.36 3765
+-105.194 33.36 3602
+-105.068 33.36 3430
+-104.942 33.36 3244
+-104.816 33.36 3104
+-104.69 33.36 3205
+-104.564 33.36 3280
+-104.438 33.36 3329
+-104.312 33.36 3365
+-104.186 33.36 3405
+-104.06 33.36 3442
+-103.934 33.36 3471
+-103.808 33.36 3493
+-103.682 33.36 3519
+-103.556 33.36 3543
+-103.43 33.36 3564
+-103.304 33.36 3562
+-103.178 33.36 3579
+-103.052 33.36 3595
+-102.926 33.36 3609
+-102.8 33.36 3622
+-102.674 33.36 3634
+-102.548 33.36 3635
+-102.422 33.36 3594
+-102.296 33.36 3604
+-102.17 33.36 3613
+-102.044 33.36 3621
+-101.918 33.36 3628
+-101.792 33.36 3635
+-101.666 33.36 3642
+-101.54 33.36 3648
+-101.414 33.36 3653
+-101.288 33.36 3659
+-101.162 33.36 3663
+-101.036 33.36 3668
+-100.91 33.36 3672
+-100.784 33.36 3676
+-100.658 33.36 3593
+-100.532 33.36 3596
+-100.406 33.36 3599
+-100.28 33.36 3483
+-100.154 33.36 3329
+-100.028 33.36 3255
+-99.902 33.36 3140
+-99.776 33.36 3114
+-99.65 33.36 3056
+-99.524 33.36 3039
+-99.398 33.36 3026
+-99.272 33.36 2865
+-99.146 33.36 2926
+-99.02 33.36 3003
+-98.894 33.36 3018
+-98.768 33.36 3041
+-98.642 33.36 3038
+-98.516 33.36 3034
+-98.39 33.36 3056
+-98.264 33.36 3049
+-98.138 33.36 3073
+-98.012 33.36 3035
+-97.886 33.36 3060
+-97.76 33.36 3220
+-97.634 33.36 3212
+-97.508 33.36 3167
+-97.382 33.36 3160
+-97.256 33.36 3153
+-97.13 33.36 3072
+-97.004 33.36 3067
+-96.878 33.36 3062
+-96.752 33.36 3056
+-96.626 33.36 3051
+-96.5 33.36 3060
+-96.374 33.36 3054
+-96.248 33.36 3019
+-96.122 33.36 3014
+-95.996 33.36 3010
+-95.87 33.36 3019
+-95.744 33.36 3014
+-95.618 33.36 3009
+-95.492 33.36 3003
+-95.366 33.36 2991
+-95.24 33.36 2986
+-95.114 33.36 2994
+-94.988 33.36 2987
+-94.862 33.36 2979
+-94.736 33.36 2971
+-94.61 33.36 2959
+-94.484 33.36 2946
+-94.358 33.36 2923
+-94.232 33.36 2896
+-94.106 33.36 2884
+-93.98 33.36 2838
+-93.854 33.36 2829
+-93.728 33.36 2884
+-93.602 33.36 2972
+-93.476 33.36 3072
+-93.35 33.36 3116
+-93.224 33.36 3109
+-93.098 33.36 3060
+-92.972 33.36 3011
+-92.846 33.36 3111
+-92.72 33.36 3292
+-92.594 33.36 3454
+-92.468 33.36 3621
+-92.342 33.36 3751
+-92.216 33.36 3868
+-92.09 33.36 3957
+-91.964 33.36 4087
+-91.838 33.36 4189
+-91.712 33.36 4259
+-91.586 33.36 4243
+-91.46 33.36 4227
+-91.334 33.36 4287
+-91.208 33.36 4350
+-91.082 33.36 4398
+-90.956 33.36 4412
+-90.83 33.36 4480
+-90.704 33.36 4538
+-90.578 33.36 4572
+-90.452 33.36 4617
+-90.326 33.36 4662
+-90.2 33.36 4689
+-90.074 33.36 4724
+-89.948 33.36 4747
+-89.822 33.36 4779
+-89.696 33.36 4803
+-89.57 33.36 4851
+-89.444 33.36 4895
+-89.318 33.36 4904
+-89.192 33.36 4935
+-89.066 33.36 4964
+-88.94 33.36 4979
+-88.814 33.36 4971
+-88.688 33.36 4958
+-88.562 33.36 4934
+-88.436 33.36 4930
+-88.31 33.36 4917
+-88.184 33.36 4915
+-88.058 33.36 4882
+-87.932 33.36 4838
+-87.806 33.36 4798
+-87.68 33.36 4808
+-87.554 33.36 4787
+-87.428 33.36 4752
+-87.302 33.36 4673
+-87.176 33.36 4619
+-87.05 33.36 4576
+-86.924 33.36 4544
+-86.798 33.36 4478
+-86.672 33.36 4375
+-86.546 33.36 4317
+-86.42 33.36 4291
+-86.294 33.36 4275
+-86.168 33.36 4253
+-86.042 33.36 4251
+-85.916 33.36 4214
+-85.79 33.36 4174
+-85.664 33.36 4104
+-85.538 33.36 4039
+-85.412 33.36 3919
+-85.286 33.36 3760
+-85.16 33.36 3632
+-85.034 33.36 3537
+-84.908 33.36 3442
+-84.782 33.36 3386
+-84.656 33.36 3348
+-84.53 33.36 3328
+-84.404 33.36 3313
+-84.278 33.36 3272
+-84.152 33.36 3219
+-84.026 33.36 3295
+-83.9 33.36 3354
+-83.774 33.36 3358
+-83.648 33.36 3393
+-83.522 33.36 3450
+-83.396 33.36 3498
+-83.27 33.36 3532
+-83.144 33.36 3584
+-83.018 33.36 3611
+-82.892 33.36 3624
+-82.766 33.36 3626
+-82.64 33.36 3627
+-82.514 33.36 3636
+-82.388 33.36 3633
+-82.262 33.36 3634
+-82.136 33.36 3622
+-82.01 33.36 3600
+-81.884 33.36 3581
+-81.758 33.36 3605
+-81.632 33.36 3631
+-81.506 33.36 3618
+-81.38 33.36 3598
+-81.254 33.36 3599
+-81.128 33.36 3570
+-81.002 33.36 3471
+-80.876 33.36 3399
+-80.75 33.36 3461
+-80.624 33.36 3558
+-80.498 33.36 3629
+-80.372 33.36 3611
+-80.246 33.36 3621
+-80.12 33.36 3554
+-79.994 33.36 3509
+-79.868 33.36 3494
+-79.742 33.36 3447
+-79.616 33.36 3398
+-79.49 33.36 3327
+-79.364 33.36 3241
+-79.238 33.36 3143
+-79.112 33.36 3024
+-78.986 33.36 2888
+-78.86 33.36 2726
+-78.734 33.36 2544
+-78.608 33.36 2381
+-78.482 33.36 2316
+-78.356 33.36 2373
+-78.23 33.36 2487
+-78.104 33.36 2619
+-77.978 33.36 2732
+-77.852 33.36 2824
+-77.726 33.36 2895
+-77.6 33.36 2961
+-77.474 33.36 3029
+-77.348 33.36 3075
+-77.222 33.36 3114
+-77.096 33.36 3147
+-76.97 33.36 3193
+-76.844 33.36 3220
+-76.718 33.36 3211
+-76.592 33.36 3236
+-76.466 33.36 3253
+-76.34 33.36 3213
+-76.214 33.36 3168
+-76.088 33.36 3187
+-75.962 33.36 3196
+-75.836 33.36 3221
+-75.71 33.36 3214
+-75.584 33.36 3223
+-75.458 33.36 3231
+-75.332 33.36 3224
+-75.206 33.36 3231
+-75.08 33.36 3237
+-74.954 33.36 3225
+-74.828 33.36 3215
+-74.702 33.36 3239
+-74.576 33.36 3238
+-74.45 33.36 3243
+-74.324 33.36 3249
+-74.198 33.36 3184
+-74.072 33.36 3217
+-73.946 33.36 3215
+-73.82 33.36 3219
+-73.694 33.36 3223
+-73.568 33.36 3383
+-73.442 33.36 3324
+-73.316 33.36 3331
+-73.19 33.36 3335
+-73.064 33.36 3245
+-72.938 33.36 3236
+-72.812 33.36 3238
+-72.686 33.36 3240
+-72.56 33.36 3223
+-72.434 33.36 3225
+-72.308 33.36 3227
+-72.182 33.36 3229
+-72.056 33.36 3230
+-71.93 33.36 3246
+-71.804 33.36 3248
+-71.678 33.36 3235
+-71.552 33.36 3237
+-71.426 33.36 3239
+-71.3 33.36 3187
+-71.174 33.36 3350
+-71.048 33.36 3317
+-70.922 33.36 3318
+-70.796 33.36 3287
+-70.67 33.36 3288
+-70.544 33.36 3290
+-70.418 33.36 3408
+-70.292 33.36 3409
+-70.166 33.36 3411
+-70.04 33.36 3413
+-69.914 33.36 3414
+-69.788 33.36 3515
+-69.662 33.36 3517
+-69.536 33.36 3440
+-69.41 33.36 3442
+-69.284 33.36 3444
+-69.158 33.36 3446
+-69.032 33.36 3451
+-68.906 33.36 3414
+-68.78 33.36 3407
+-68.654 33.36 3360
+-68.528 33.36 3361
+-68.402 33.36 3324
+-68.276 33.36 3369
+-68.15 33.36 3371
+-68.024 33.36 3372
+-67.898 33.36 3374
+-67.772 33.36 3375
+-67.646 33.36 3377
+-67.52 33.36 3379
+-67.394 33.36 3354
+-67.268 33.36 3355
+-67.142 33.36 3356
+-67.016 33.36 3327
+-66.89 33.36 3296
+-66.764 33.36 3276
+-66.638 33.36 3277
+-66.512 33.36 3278
+-66.386 33.36 3279
+-66.26 33.36 3280
+-66.134 33.36 3281
+-66.008 33.36 3282
+-65.882 33.36 3212
+-65.756 33.36 3196
+-65.63 33.36 3197
+-65.504 33.36 3199
+-65.378 33.36 3200
+-65.252 33.36 3201
+-65.126 33.36 3202
+-128 33.308 2658
+-127.874 33.308 2651
+-127.748 33.308 2643
+-127.622 33.308 2635
+-127.496 33.308 2626
+-127.37 33.308 2616
+-127.244 33.308 2605
+-127.118 33.308 2594
+-126.992 33.308 2670
+-126.866 33.308 2656
+-126.74 33.308 2679
+-126.614 33.308 2660
+-126.488 33.308 2680
+-126.362 33.308 2713
+-126.236 33.308 2681
+-126.11 33.308 2732
+-125.984 33.308 2694
+-125.858 33.308 2652
+-125.732 33.308 2604
+-125.606 33.308 2549
+-125.48 33.308 2489
+-125.354 33.308 2422
+-125.228 33.308 2352
+-125.102 33.308 2283
+-124.976 33.308 2225
+-124.85 33.308 2239
+-124.724 33.308 2274
+-124.598 33.308 2333
+-124.472 33.308 2430
+-124.346 33.308 2621
+-124.22 33.308 2744
+-124.094 33.308 2861
+-123.968 33.308 2969
+-123.842 33.308 3066
+-123.716 33.308 3175
+-123.59 33.308 3251
+-123.464 33.308 3329
+-123.338 33.308 3397
+-123.212 33.308 3466
+-123.086 33.308 3512
+-122.96 33.308 3648
+-122.834 33.308 3863
+-122.708 33.308 3983
+-122.582 33.308 4005
+-122.456 33.308 4007
+-122.33 33.308 4145
+-122.204 33.308 4295
+-122.078 33.308 4408
+-121.952 33.308 4472
+-121.826 33.308 4570
+-121.7 33.308 4631
+-121.574 33.308 4777
+-121.448 33.308 5030
+-121.322 33.308 5218
+-121.196 33.308 5341
+-121.07 33.308 5316
+-120.944 33.308 5525
+-120.818 33.308 5573
+-120.692 33.308 5802
+-120.566 33.308 5905
+-120.44 33.308 6027
+-120.314 33.308 6132
+-120.188 33.308 6271
+-120.062 33.308 6331
+-119.936 33.308 6506
+-119.81 33.308 6672
+-119.684 33.308 6859
+-119.558 33.308 6943
+-119.432 33.308 7028
+-119.306 33.308 7145
+-119.18 33.308 7263
+-119.054 33.308 7449
+-118.928 33.308 7533
+-118.802 33.308 7676
+-118.676 33.308 7812
+-118.55 33.308 7878
+-118.424 33.308 8022
+-118.298 33.308 8157
+-118.172 33.308 8207
+-118.046 33.308 8423
+-117.92 33.308 8606
+-117.794 33.308 8754
+-117.668 33.308 8897
+-117.542 33.308 8957
+-117.416 33.308 9032
+-117.29 33.308 9161
+-117.164 33.308 9201
+-117.038 33.308 9220
+-116.912 33.308 9193
+-116.786 33.308 9160
+-116.66 33.308 9117
+-116.534 33.308 8983
+-116.408 33.308 8906
+-116.282 33.308 8775
+-116.156 33.308 8671
+-116.03 33.308 8501
+-115.904 33.308 8377
+-115.778 33.308 8294
+-115.652 33.308 8115
+-115.526 33.308 7998
+-115.4 33.308 7864
+-115.274 33.308 7700
+-115.148 33.308 7556
+-115.022 33.308 7457
+-114.896 33.308 7349
+-114.77 33.308 7143
+-114.644 33.308 7054
+-114.518 33.308 6858
+-114.392 33.308 6751
+-114.266 33.308 6608
+-114.14 33.308 6485
+-114.014 33.308 6294
+-113.888 33.308 6268
+-113.762 33.308 6110
+-113.636 33.308 6048
+-113.51 33.308 5886
+-113.384 33.308 5855
+-113.258 33.308 5902
+-113.132 33.308 5993
+-113.006 33.308 6085
+-112.88 33.308 6222
+-112.754 33.308 6289
+-112.628 33.308 6430
+-112.502 33.308 6546
+-112.376 33.308 6666
+-112.25 33.308 6808
+-112.124 33.308 6838
+-111.998 33.308 6908
+-111.872 33.308 7008
+-111.746 33.308 7101
+-111.62 33.308 7212
+-111.494 33.308 7288
+-111.368 33.308 7368
+-111.242 33.308 7411
+-111.116 33.308 7461
+-110.99 33.308 7539
+-110.864 33.308 7574
+-110.738 33.308 7578
+-110.612 33.308 7604
+-110.486 33.308 7635
+-110.36 33.308 7630
+-110.234 33.308 7611
+-110.108 33.308 7596
+-109.982 33.308 7572
+-109.856 33.308 7551
+-109.73 33.308 7503
+-109.604 33.308 7441
+-109.478 33.308 7377
+-109.352 33.308 7322
+-109.226 33.308 7194
+-109.1 33.308 7149
+-108.974 33.308 7045
+-108.848 33.308 6993
+-108.722 33.308 6878
+-108.596 33.308 6818
+-108.47 33.308 6685
+-108.344 33.308 6588
+-108.218 33.308 6459
+-108.092 33.308 6365
+-107.966 33.308 6255
+-107.84 33.308 6148
+-107.714 33.308 6048
+-107.588 33.308 5985
+-107.462 33.308 5870
+-107.336 33.308 5784
+-107.21 33.308 5729
+-107.084 33.308 5644
+-106.958 33.308 5472
+-106.832 33.308 5294
+-106.706 33.308 5117
+-106.58 33.308 4960
+-106.454 33.308 4803
+-106.328 33.308 4684
+-106.202 33.308 4607
+-106.076 33.308 4531
+-105.95 33.308 4400
+-105.824 33.308 4335
+-105.698 33.308 4141
+-105.572 33.308 3959
+-105.446 33.308 3851
+-105.32 33.308 3778
+-105.194 33.308 3639
+-105.068 33.308 3455
+-104.942 33.308 3273
+-104.816 33.308 3198
+-104.69 33.308 3231
+-104.564 33.308 3283
+-104.438 33.308 3331
+-104.312 33.308 3357
+-104.186 33.308 3396
+-104.06 33.308 3437
+-103.934 33.308 3461
+-103.808 33.308 3493
+-103.682 33.308 3521
+-103.556 33.308 3546
+-103.43 33.308 3542
+-103.304 33.308 3562
+-103.178 33.308 3580
+-103.052 33.308 3596
+-102.926 33.308 3611
+-102.8 33.308 3615
+-102.674 33.308 3626
+-102.548 33.308 3588
+-102.422 33.308 3598
+-102.296 33.308 3607
+-102.17 33.308 3616
+-102.044 33.308 3624
+-101.918 33.308 3632
+-101.792 33.308 3638
+-101.666 33.308 3645
+-101.54 33.308 3651
+-101.414 33.308 3656
+-101.288 33.308 3661
+-101.162 33.308 3666
+-101.036 33.308 3671
+-100.91 33.308 3675
+-100.784 33.308 3592
+-100.658 33.308 3595
+-100.532 33.308 3598
+-100.406 33.308 3601
+-100.28 33.308 3550
+-100.154 33.308 3296
+-100.028 33.308 3219
+-99.902 33.308 3138
+-99.776 33.308 3075
+-99.65 33.308 3052
+-99.524 33.308 3032
+-99.398 33.308 2980
+-99.272 33.308 2856
+-99.146 33.308 2877
+-99.02 33.308 2901
+-98.894 33.308 2968
+-98.768 33.308 3028
+-98.642 33.308 3024
+-98.516 33.308 3046
+-98.39 33.308 3038
+-98.264 33.308 3063
+-98.138 33.308 3025
+-98.012 33.308 3049
+-97.886 33.308 3057
+-97.76 33.308 3053
+-97.634 33.308 3016
+-97.508 33.308 3160
+-97.382 33.308 3153
+-97.256 33.308 3071
+-97.13 33.308 3066
+-97.004 33.308 3061
+-96.878 33.308 3056
+-96.752 33.308 3050
+-96.626 33.308 3060
+-96.5 33.308 3054
+-96.374 33.308 3018
+-96.248 33.308 3013
+-96.122 33.308 3009
+-95.996 33.308 3018
+-95.87 33.308 3013
+-95.744 33.308 3007
+-95.618 33.308 3001
+-95.492 33.308 2988
+-95.366 33.308 2983
+-95.24 33.308 2991
+-95.114 33.308 2983
+-94.988 33.308 2975
+-94.862 33.308 2968
+-94.736 33.308 2958
+-94.61 33.308 2949
+-94.484 33.308 2933
+-94.358 33.308 2920
+-94.232 33.308 2899
+-94.106 33.308 2881
+-93.98 33.308 2867
+-93.854 33.308 2875
+-93.728 33.308 2906
+-93.602 33.308 3011
+-93.476 33.308 3063
+-93.35 33.308 3088
+-93.224 33.308 3066
+-93.098 33.308 2975
+-92.972 33.308 2899
+-92.846 33.308 3011
+-92.72 33.308 3217
+-92.594 33.308 3432
+-92.468 33.308 3580
+-92.342 33.308 3777
+-92.216 33.308 3875
+-92.09 33.308 3955
+-91.964 33.308 4083
+-91.838 33.308 4185
+-91.712 33.308 4262
+-91.586 33.308 4242
+-91.46 33.308 4222
+-91.334 33.308 4217
+-91.208 33.308 4278
+-91.082 33.308 4351
+-90.956 33.308 4338
+-90.83 33.308 4400
+-90.704 33.308 4484
+-90.578 33.308 4536
+-90.452 33.308 4579
+-90.326 33.308 4628
+-90.2 33.308 4670
+-90.074 33.308 4692
+-89.948 33.308 4718
+-89.822 33.308 4771
+-89.696 33.308 4764
+-89.57 33.308 4795
+-89.444 33.308 4845
+-89.318 33.308 4875
+-89.192 33.308 4879
+-89.066 33.308 4888
+-88.94 33.308 4892
+-88.814 33.308 4901
+-88.688 33.308 4894
+-88.562 33.308 4901
+-88.436 33.308 4900
+-88.31 33.308 4892
+-88.184 33.308 4872
+-88.058 33.308 4825
+-87.932 33.308 4799
+-87.806 33.308 4776
+-87.68 33.308 4759
+-87.554 33.308 4723
+-87.428 33.308 4682
+-87.302 33.308 4610
+-87.176 33.308 4579
+-87.05 33.308 4537
+-86.924 33.308 4501
+-86.798 33.308 4426
+-86.672 33.308 4318
+-86.546 33.308 4244
+-86.42 33.308 4220
+-86.294 33.308 4201
+-86.168 33.308 4113
+-86.042 33.308 4146
+-85.916 33.308 4130
+-85.79 33.308 4124
+-85.664 33.308 4053
+-85.538 33.308 3987
+-85.412 33.308 3817
+-85.286 33.308 3674
+-85.16 33.308 3566
+-85.034 33.308 3447
+-84.908 33.308 3351
+-84.782 33.308 3299
+-84.656 33.308 3308
+-84.53 33.308 3319
+-84.404 33.308 3330
+-84.278 33.308 3315
+-84.152 33.308 3311
+-84.026 33.308 3369
+-83.9 33.308 3396
+-83.774 33.308 3413
+-83.648 33.308 3455
+-83.522 33.308 3514
+-83.396 33.308 3554
+-83.27 33.308 3596
+-83.144 33.308 3630
+-83.018 33.308 3643
+-82.892 33.308 3636
+-82.766 33.308 3627
+-82.64 33.308 3637
+-82.514 33.308 3676
+-82.388 33.308 3697
+-82.262 33.308 3698
+-82.136 33.308 3695
+-82.01 33.308 3681
+-81.884 33.308 3676
+-81.758 33.308 3693
+-81.632 33.308 3703
+-81.506 33.308 3699
+-81.38 33.308 3693
+-81.254 33.308 3673
+-81.128 33.308 3628
+-81.002 33.308 3539
+-80.876 33.308 3477
+-80.75 33.308 3521
+-80.624 33.308 3598
+-80.498 33.308 3655
+-80.372 33.308 3634
+-80.246 33.308 3640
+-80.12 33.308 3584
+-79.994 33.308 3556
+-79.868 33.308 3522
+-79.742 33.308 3490
+-79.616 33.308 3437
+-79.49 33.308 3373
+-79.364 33.308 3299
+-79.238 33.308 3207
+-79.112 33.308 3097
+-78.986 33.308 2963
+-78.86 33.308 2799
+-78.734 33.308 2610
+-78.608 33.308 2451
+-78.482 33.308 2383
+-78.356 33.308 2434
+-78.23 33.308 2559
+-78.104 33.308 2689
+-77.978 33.308 2806
+-77.852 33.308 2902
+-77.726 33.308 2985
+-77.6 33.308 3066
+-77.474 33.308 3062
+-77.348 33.308 3106
+-77.222 33.308 3141
+-77.096 33.308 3188
+-76.97 33.308 3217
+-76.844 33.308 3210
+-76.718 33.308 3236
+-76.592 33.308 3253
+-76.466 33.308 3215
+-76.34 33.308 3171
+-76.214 33.308 3190
+-76.088 33.308 3200
+-75.962 33.308 3224
+-75.836 33.308 3217
+-75.71 33.308 3226
+-75.584 33.308 3234
+-75.458 33.308 3228
+-75.332 33.308 3234
+-75.206 33.308 3240
+-75.08 33.308 3228
+-74.954 33.308 3218
+-74.828 33.308 3242
+-74.702 33.308 3241
+-74.576 33.308 3246
+-74.45 33.308 3252
+-74.324 33.308 3187
+-74.198 33.308 3220
+-74.072 33.308 3218
+-73.946 33.308 3222
+-73.82 33.308 3225
+-73.694 33.308 3382
+-73.568 33.308 3320
+-73.442 33.308 3330
+-73.316 33.308 3334
+-73.19 33.308 3244
+-73.064 33.308 3235
+-72.938 33.308 3238
+-72.812 33.308 3240
+-72.686 33.308 3223
+-72.56 33.308 3225
+-72.434 33.308 3226
+-72.308 33.308 3228
+-72.182 33.308 3230
+-72.056 33.308 3245
+-71.93 33.308 3247
+-71.804 33.308 3234
+-71.678 33.308 3236
+-71.552 33.308 3239
+-71.426 33.308 3186
+-71.3 33.308 3348
+-71.174 33.308 3315
+-71.048 33.308 3317
+-70.922 33.308 3285
+-70.796 33.308 3287
+-70.67 33.308 3289
+-70.544 33.308 3405
+-70.418 33.308 3407
+-70.292 33.308 3409
+-70.166 33.308 3410
+-70.04 33.308 3412
+-69.914 33.308 3512
+-69.788 33.308 3514
+-69.662 33.308 3438
+-69.536 33.308 3440
+-69.41 33.308 3442
+-69.284 33.308 3444
+-69.158 33.308 3449
+-69.032 33.308 3413
+-68.906 33.308 3405
+-68.78 33.308 3358
+-68.654 33.308 3360
+-68.528 33.308 3323
+-68.402 33.308 3367
+-68.276 33.308 3369
+-68.15 33.308 3371
+-68.024 33.308 3372
+-67.898 33.308 3374
+-67.772 33.308 3376
+-67.646 33.308 3377
+-67.52 33.308 3352
+-67.394 33.308 3354
+-67.268 33.308 3355
+-67.142 33.308 3326
+-67.016 33.308 3295
+-66.89 33.308 3275
+-66.764 33.308 3276
+-66.638 33.308 3277
+-66.512 33.308 3278
+-66.386 33.308 3280
+-66.26 33.308 3281
+-66.134 33.308 3282
+-66.008 33.308 3211
+-65.882 33.308 3195
+-65.756 33.308 3197
+-65.63 33.308 3198
+-65.504 33.308 3199
+-65.378 33.308 3200
+-65.252 33.308 3201
+-65.126 33.308 3202
+-128 33.256 2655
+-127.874 33.256 2648
+-127.748 33.256 2640
+-127.622 33.256 2631
+-127.496 33.256 2622
+-127.37 33.256 2612
+-127.244 33.256 2600
+-127.118 33.256 2588
+-126.992 33.256 2621
+-126.866 33.256 2668
+-126.74 33.256 2670
+-126.614 33.256 2685
+-126.488 33.256 2706
+-126.362 33.256 2679
+-126.236 33.256 2667
+-126.11 33.256 2631
+-125.984 33.256 2669
+-125.858 33.256 2622
+-125.732 33.256 2567
+-125.606 33.256 2503
+-125.48 33.256 2430
+-125.354 33.256 2346
+-125.228 33.256 2252
+-125.102 33.256 2152
+-124.976 33.256 2059
+-124.85 33.256 1995
+-124.724 33.256 2024
+-124.598 33.256 2111
+-124.472 33.256 2241
+-124.346 33.256 2459
+-124.22 33.256 2610
+-124.094 33.256 2752
+-123.968 33.256 2888
+-123.842 33.256 3015
+-123.716 33.256 3129
+-123.59 33.256 3252
+-123.464 33.256 3336
+-123.338 33.256 3427
+-123.212 33.256 3581
+-123.086 33.256 3661
+-122.96 33.256 3785
+-122.834 33.256 3949
+-122.708 33.256 4060
+-122.582 33.256 4125
+-122.456 33.256 4160
+-122.33 33.256 4206
+-122.204 33.256 4244
+-122.078 33.256 4368
+-121.952 33.256 4427
+-121.826 33.256 4500
+-121.7 33.256 4633
+-121.574 33.256 4794
+-121.448 33.256 5004
+-121.322 33.256 5155
+-121.196 33.256 5306
+-121.07 33.256 5419
+-120.944 33.256 5430
+-120.818 33.256 5615
+-120.692 33.256 5755
+-120.566 33.256 5869
+-120.44 33.256 6047
+-120.314 33.256 6073
+-120.188 33.256 6182
+-120.062 33.256 6309
+-119.936 33.256 6515
+-119.81 33.256 6612
+-119.684 33.256 6817
+-119.558 33.256 6896
+-119.432 33.256 7041
+-119.306 33.256 7126
+-119.18 33.256 7233
+-119.054 33.256 7394
+-118.928 33.256 7519
+-118.802 33.256 7630
+-118.676 33.256 7803
+-118.55 33.256 7840
+-118.424 33.256 7954
+-118.298 33.256 8216
+-118.172 33.256 8296
+-118.046 33.256 8519
+-117.92 33.256 8639
+-117.794 33.256 8826
+-117.668 33.256 8867
+-117.542 33.256 9023
+-117.416 33.256 9140
+-117.29 33.256 9191
+-117.164 33.256 9261
+-117.038 33.256 9304
+-116.912 33.256 9276
+-116.786 33.256 9216
+-116.66 33.256 9110
+-116.534 33.256 9054
+-116.408 33.256 8903
+-116.282 33.256 8821
+-116.156 33.256 8660
+-116.03 33.256 8572
+-115.904 33.256 8400
+-115.778 33.256 8273
+-115.652 33.256 8175
+-115.526 33.256 7998
+-115.4 33.256 7840
+-115.274 33.256 7759
+-115.148 33.256 7587
+-115.022 33.256 7469
+-114.896 33.256 7347
+-114.77 33.256 7187
+-114.644 33.256 7012
+-114.518 33.256 6903
+-114.392 33.256 6711
+-114.266 33.256 6655
+-114.14 33.256 6466
+-114.014 33.256 6373
+-113.888 33.256 6276
+-113.762 33.256 6144
+-113.636 33.256 6063
+-113.51 33.256 5927
+-113.384 33.256 5898
+-113.258 33.256 5962
+-113.132 33.256 6066
+-113.006 33.256 6113
+-112.88 33.256 6232
+-112.754 33.256 6371
+-112.628 33.256 6447
+-112.502 33.256 6591
+-112.376 33.256 6706
+-112.25 33.256 6813
+-112.124 33.256 6889
+-111.998 33.256 6957
+-111.872 33.256 7083
+-111.746 33.256 7156
+-111.62 33.256 7269
+-111.494 33.256 7338
+-111.368 33.256 7408
+-111.242 33.256 7473
+-111.116 33.256 7548
+-110.99 33.256 7561
+-110.864 33.256 7625
+-110.738 33.256 7654
+-110.612 33.256 7679
+-110.486 33.256 7692
+-110.36 33.256 7680
+-110.234 33.256 7701
+-110.108 33.256 7646
+-109.982 33.256 7616
+-109.856 33.256 7602
+-109.73 33.256 7568
+-109.604 33.256 7492
+-109.478 33.256 7415
+-109.352 33.256 7397
+-109.226 33.256 7299
+-109.1 33.256 7192
+-108.974 33.256 7118
+-108.848 33.256 7011
+-108.722 33.256 6920
+-108.596 33.256 6850
+-108.47 33.256 6732
+-108.344 33.256 6599
+-108.218 33.256 6466
+-108.092 33.256 6415
+-107.966 33.256 6301
+-107.84 33.256 6157
+-107.714 33.256 6079
+-107.588 33.256 5930
+-107.462 33.256 5891
+-107.336 33.256 5702
+-107.21 33.256 5741
+-107.084 33.256 5692
+-106.958 33.256 5553
+-106.832 33.256 5307
+-106.706 33.256 5101
+-106.58 33.256 4989
+-106.454 33.256 4858
+-106.328 33.256 4698
+-106.202 33.256 4566
+-106.076 33.256 4504
+-105.95 33.256 4345
+-105.824 33.256 4353
+-105.698 33.256 4228
+-105.572 33.256 4024
+-105.446 33.256 3913
+-105.32 33.256 3814
+-105.194 33.256 3682
+-105.068 33.256 3519
+-104.942 33.256 3357
+-104.816 33.256 3269
+-104.69 33.256 3271
+-104.564 33.256 3293
+-104.438 33.256 3318
+-104.312 33.256 3354
+-104.186 33.256 3386
+-104.06 33.256 3418
+-103.934 33.256 3456
+-103.808 33.256 3490
+-103.682 33.256 3520
+-103.556 33.256 3521
+-103.43 33.256 3544
+-103.304 33.256 3565
+-103.178 33.256 3583
+-103.052 33.256 3599
+-102.926 33.256 3614
+-102.8 33.256 3617
+-102.674 33.256 3581
+-102.548 33.256 3592
+-102.422 33.256 3603
+-102.296 33.256 3612
+-102.17 33.256 3620
+-102.044 33.256 3628
+-101.918 33.256 3635
+-101.792 33.256 3642
+-101.666 33.256 3648
+-101.54 33.256 3654
+-101.414 33.256 3659
+-101.288 33.256 3664
+-101.162 33.256 3669
+-101.036 33.256 3674
+-100.91 33.256 3591
+-100.784 33.256 3595
+-100.658 33.256 3597
+-100.532 33.256 3600
+-100.406 33.256 3550
+-100.28 33.256 3551
+-100.154 33.256 3296
+-100.028 33.256 3218
+-99.902 33.256 3157
+-99.776 33.256 3071
+-99.65 33.256 3047
+-99.524 33.256 3042
+-99.398 33.256 2996
+-99.272 33.256 2847
+-99.146 33.256 2889
+-99.02 33.256 2907
+-98.894 33.256 2954
+-98.768 33.256 2953
+-98.642 33.256 2970
+-98.516 33.256 3028
+-98.39 33.256 3053
+-98.264 33.256 3014
+-98.138 33.256 3039
+-98.012 33.256 3047
+-97.886 33.256 3043
+-97.76 33.256 3039
+-97.634 33.256 3002
+-97.508 33.256 2999
+-97.382 33.256 2928
+-97.256 33.256 3065
+-97.13 33.256 3060
+-97.004 33.256 3055
+-96.878 33.256 3049
+-96.752 33.256 3060
+-96.626 33.256 3053
+-96.5 33.256 3017
+-96.374 33.256 3012
+-96.248 33.256 3007
+-96.122 33.256 3017
+-95.996 33.256 3012
+-95.87 33.256 3006
+-95.744 33.256 2999
+-95.618 33.256 2986
+-95.492 33.256 2979
+-95.366 33.256 2988
+-95.24 33.256 2980
+-95.114 33.256 2971
+-94.988 33.256 2963
+-94.862 33.256 2953
+-94.736 33.256 2946
+-94.61 33.256 2932
+-94.484 33.256 2921
+-94.358 33.256 2904
+-94.232 33.256 2890
+-94.106 33.256 2874
+-93.98 33.256 2869
+-93.854 33.256 2898
+-93.728 33.256 2920
+-93.602 33.256 2957
+-93.476 33.256 3002
+-93.35 33.256 3032
+-93.224 33.256 3061
+-93.098 33.256 3020
+-92.972 33.256 2982
+-92.846 33.256 3063
+-92.72 33.256 3240
+-92.594 33.256 3423
+-92.468 33.256 3553
+-92.342 33.256 3733
+-92.216 33.256 3876
+-92.09 33.256 3986
+-91.964 33.256 4106
+-91.838 33.256 4181
+-91.712 33.256 4217
+-91.586 33.256 4234
+-91.46 33.256 4180
+-91.334 33.256 4104
+-91.208 33.256 4214
+-91.082 33.256 4308
+-90.956 33.256 4316
+-90.83 33.256 4357
+-90.704 33.256 4432
+-90.578 33.256 4485
+-90.452 33.256 4534
+-90.326 33.256 4590
+-90.2 33.256 4643
+-90.074 33.256 4670
+-89.948 33.256 4686
+-89.822 33.256 4730
+-89.696 33.256 4768
+-89.57 33.256 4744
+-89.444 33.256 4756
+-89.318 33.256 4785
+-89.192 33.256 4803
+-89.066 33.256 4814
+-88.94 33.256 4813
+-88.814 33.256 4805
+-88.688 33.256 4826
+-88.562 33.256 4835
+-88.436 33.256 4839
+-88.31 33.256 4828
+-88.184 33.256 4783
+-88.058 33.256 4738
+-87.932 33.256 4707
+-87.806 33.256 4678
+-87.68 33.256 4663
+-87.554 33.256 4635
+-87.428 33.256 4605
+-87.302 33.256 4553
+-87.176 33.256 4517
+-87.05 33.256 4484
+-86.924 33.256 4446
+-86.798 33.256 4380
+-86.672 33.256 4305
+-86.546 33.256 4245
+-86.42 33.256 4198
+-86.294 33.256 4124
+-86.168 33.256 3955
+-86.042 33.256 4064
+-85.916 33.256 4097
+-85.79 33.256 4068
+-85.664 33.256 4023
+-85.538 33.256 3950
+-85.412 33.256 3749
+-85.286 33.256 3626
+-85.16 33.256 3490
+-85.034 33.256 3374
+-84.908 33.256 3257
+-84.782 33.256 3201
+-84.656 33.256 3248
+-84.53 33.256 3303
+-84.404 33.256 3353
+-84.278 33.256 3368
+-84.152 33.256 3397
+-84.026 33.256 3418
+-83.9 33.256 3424
+-83.774 33.256 3457
+-83.648 33.256 3510
+-83.522 33.256 3575
+-83.396 33.256 3620
+-83.27 33.256 3645
+-83.144 33.256 3672
+-83.018 33.256 3694
+-82.892 33.256 3676
+-82.766 33.256 3651
+-82.64 33.256 3672
+-82.514 33.256 3722
+-82.388 33.256 3747
+-82.262 33.256 3761
+-82.136 33.256 3764
+-82.01 33.256 3771
+-81.884 33.256 3769
+-81.758 33.256 3773
+-81.632 33.256 3773
+-81.506 33.256 3774
+-81.38 33.256 3763
+-81.254 33.256 3743
+-81.128 33.256 3708
+-81.002 33.256 3659
+-80.876 33.256 3618
+-80.75 33.256 3630
+-80.624 33.256 3664
+-80.498 33.256 3694
+-80.372 33.256 3678
+-80.246 33.256 3670
+-80.12 33.256 3606
+-79.994 33.256 3581
+-79.868 33.256 3561
+-79.742 33.256 3521
+-79.616 33.256 3473
+-79.49 33.256 3419
+-79.364 33.256 3352
+-79.238 33.256 3272
+-79.112 33.256 3177
+-78.986 33.256 3058
+-78.86 33.256 2904
+-78.734 33.256 2752
+-78.608 33.256 2621
+-78.482 33.256 2560
+-78.356 33.256 2594
+-78.23 33.256 2679
+-78.104 33.256 2783
+-77.978 33.256 2879
+-77.852 33.256 2966
+-77.726 33.256 3049
+-77.6 33.256 3108
+-77.474 33.256 3160
+-77.348 33.256 3202
+-77.222 33.256 3145
+-77.096 33.256 3187
+-76.97 33.256 3212
+-76.844 33.256 3237
+-76.718 33.256 3255
+-76.592 33.256 3221
+-76.466 33.256 3176
+-76.34 33.256 3194
+-76.214 33.256 3204
+-76.088 33.256 3228
+-75.962 33.256 3221
+-75.836 33.256 3230
+-75.71 33.256 3238
+-75.584 33.256 3232
+-75.458 33.256 3238
+-75.332 33.256 3244
+-75.206 33.256 3232
+-75.08 33.256 3222
+-74.954 33.256 3245
+-74.828 33.256 3244
+-74.702 33.256 3250
+-74.576 33.256 3255
+-74.45 33.256 3191
+-74.324 33.256 3223
+-74.198 33.256 3221
+-74.072 33.256 3225
+-73.946 33.256 3228
+-73.82 33.256 3381
+-73.694 33.256 3323
+-73.568 33.256 3329
+-73.442 33.256 3333
+-73.316 33.256 3244
+-73.19 33.256 3235
+-73.064 33.256 3237
+-72.938 33.256 3239
+-72.812 33.256 3222
+-72.686 33.256 3224
+-72.56 33.256 3226
+-72.434 33.256 3228
+-72.308 33.256 3229
+-72.182 33.256 3244
+-72.056 33.256 3247
+-71.93 33.256 3233
+-71.804 33.256 3236
+-71.678 33.256 3238
+-71.552 33.256 3186
+-71.426 33.256 3346
+-71.3 33.256 3314
+-71.174 33.256 3315
+-71.048 33.256 3283
+-70.922 33.256 3285
+-70.796 33.256 3287
+-70.67 33.256 3403
+-70.544 33.256 3405
+-70.418 33.256 3406
+-70.292 33.256 3408
+-70.166 33.256 3410
+-70.04 33.256 3509
+-69.914 33.256 3511
+-69.788 33.256 3435
+-69.662 33.256 3437
+-69.536 33.256 3439
+-69.41 33.256 3441
+-69.284 33.256 3447
+-69.158 33.256 3410
+-69.032 33.256 3403
+-68.906 33.256 3356
+-68.78 33.256 3358
+-68.654 33.256 3321
+-68.528 33.256 3365
+-68.402 33.256 3367
+-68.276 33.256 3369
+-68.15 33.256 3371
+-68.024 33.256 3372
+-67.898 33.256 3374
+-67.772 33.256 3376
+-67.646 33.256 3351
+-67.52 33.256 3352
+-67.394 33.256 3354
+-67.268 33.256 3325
+-67.142 33.256 3294
+-67.016 33.256 3274
+-66.89 33.256 3275
+-66.764 33.256 3276
+-66.638 33.256 3278
+-66.512 33.256 3279
+-66.386 33.256 3280
+-66.26 33.256 3281
+-66.134 33.256 3210
+-66.008 33.256 3195
+-65.882 33.256 3196
+-65.756 33.256 3197
+-65.63 33.256 3198
+-65.504 33.256 3199
+-65.378 33.256 3200
+-65.252 33.256 3202
+-65.126 33.256 3203
+-128 33.204 2653
+-127.874 33.204 2645
+-127.748 33.204 2637
+-127.622 33.204 2628
+-127.496 33.204 2619
+-127.37 33.204 2608
+-127.244 33.204 2596
+-127.118 33.204 2630
+-126.992 33.204 2679
+-126.866 33.204 2663
+-126.74 33.204 2681
+-126.614 33.204 2714
+-126.488 33.204 2689
+-126.362 33.204 2669
+-126.236 33.204 2629
+-126.11 33.204 2617
+-125.984 33.204 2573
+-125.858 33.204 2596
+-125.732 33.204 2535
+-125.606 33.204 2464
+-125.48 33.204 2380
+-125.354 33.204 2280
+-125.228 33.204 2162
+-125.102 33.204 2030
+-124.976 33.204 1893
+-124.85 33.204 1782
+-124.724 33.204 1750
+-124.598 33.204 1861
+-124.472 33.204 2052
+-124.346 33.204 2282
+-124.22 33.204 2448
+-124.094 33.204 2603
+-123.968 33.204 2779
+-123.842 33.204 2938
+-123.716 33.204 3083
+-123.59 33.204 3208
+-123.464 33.204 3340
+-123.338 33.204 3464
+-123.212 33.204 3636
+-123.086 33.204 3731
+-122.96 33.204 3854
+-122.834 33.204 4010
+-122.708 33.204 4081
+-122.582 33.204 4192
+-122.456 33.204 4211
+-122.33 33.204 4203
+-122.204 33.204 4123
+-122.078 33.204 4293
+-121.952 33.204 4373
+-121.826 33.204 4464
+-121.7 33.204 4613
+-121.574 33.204 4772
+-121.448 33.204 5000
+-121.322 33.204 5037
+-121.196 33.204 5219
+-121.07 33.204 5409
+-120.944 33.204 5513
+-120.818 33.204 5643
+-120.692 33.204 5755
+-120.566 33.204 5886
+-120.44 33.204 6043
+-120.314 33.204 6087
+-120.188 33.204 6169
+-120.062 33.204 6302
+-119.936 33.204 6521
+-119.81 33.204 6605
+-119.684 33.204 6781
+-119.558 33.204 6906
+-119.432 33.204 7078
+-119.306 33.204 7160
+-119.18 33.204 7255
+-119.054 33.204 7391
+-118.928 33.204 7484
+-118.802 33.204 7600
+-118.676 33.204 7734
+-118.55 33.204 7884
+-118.424 33.204 7973
+-118.298 33.204 8339
+-118.172 33.204 8386
+-118.046 33.204 8531
+-117.92 33.204 8687
+-117.794 33.204 8798
+-117.668 33.204 8915
+-117.542 33.204 9019
+-117.416 33.204 9137
+-117.29 33.204 9239
+-117.164 33.204 9335
+-117.038 33.204 9346
+-116.912 33.204 9324
+-116.786 33.204 9249
+-116.66 33.204 9144
+-116.534 33.204 9050
+-116.408 33.204 8937
+-116.282 33.204 8839
+-116.156 33.204 8717
+-116.03 33.204 8534
+-115.904 33.204 8451
+-115.778 33.204 8293
+-115.652 33.204 8189
+-115.526 33.204 8040
+-115.4 33.204 7831
+-115.274 33.204 7766
+-115.148 33.204 7598
+-115.022 33.204 7489
+-114.896 33.204 7344
+-114.77 33.204 7215
+-114.644 33.204 7050
+-114.518 33.204 6918
+-114.392 33.204 6742
+-114.266 33.204 6701
+-114.14 33.204 6516
+-114.014 33.204 6383
+-113.888 33.204 6263
+-113.762 33.204 6051
+-113.636 33.204 6035
+-113.51 33.204 5921
+-113.384 33.204 5800
+-113.258 33.204 5919
+-113.132 33.204 6076
+-113.006 33.204 6142
+-112.88 33.204 6287
+-112.754 33.204 6375
+-112.628 33.204 6480
+-112.502 33.204 6631
+-112.376 33.204 6733
+-112.25 33.204 6838
+-112.124 33.204 6891
+-111.998 33.204 7045
+-111.872 33.204 7082
+-111.746 33.204 7221
+-111.62 33.204 7321
+-111.494 33.204 7400
+-111.368 33.204 7482
+-111.242 33.204 7534
+-111.116 33.204 7603
+-110.99 33.204 7647
+-110.864 33.204 7685
+-110.738 33.204 7710
+-110.612 33.204 7722
+-110.486 33.204 7769
+-110.36 33.204 7738
+-110.234 33.204 7735
+-110.108 33.204 7710
+-109.982 33.204 7703
+-109.856 33.204 7612
+-109.73 33.204 7594
+-109.604 33.204 7548
+-109.478 33.204 7474
+-109.352 33.204 7424
+-109.226 33.204 7366
+-109.1 33.204 7251
+-108.974 33.204 7183
+-108.848 33.204 7069
+-108.722 33.204 6984
+-108.596 33.204 6883
+-108.47 33.204 6768
+-108.344 33.204 6637
+-108.218 33.204 6574
+-108.092 33.204 6445
+-107.966 33.204 6316
+-107.84 33.204 6145
+-107.714 33.204 6062
+-107.588 33.204 6002
+-107.462 33.204 5903
+-107.336 33.204 5836
+-107.21 33.204 5743
+-107.084 33.204 5693
+-106.958 33.204 5563
+-106.832 33.204 5339
+-106.706 33.204 5117
+-106.58 33.204 5043
+-106.454 33.204 4880
+-106.328 33.204 4771
+-106.202 33.204 4622
+-106.076 33.204 4484
+-105.95 33.204 4455
+-105.824 33.204 4364
+-105.698 33.204 4213
+-105.572 33.204 4006
+-105.446 33.204 3895
+-105.32 33.204 3851
+-105.194 33.204 3756
+-105.068 33.204 3590
+-104.942 33.204 3453
+-104.816 33.204 3344
+-104.69 33.204 3282
+-104.564 33.204 3241
+-104.438 33.204 3256
+-104.312 33.204 3303
+-104.186 33.204 3355
+-104.06 33.204 3408
+-103.934 33.204 3453
+-103.808 33.204 3491
+-103.682 33.204 3498
+-103.556 33.204 3525
+-103.43 33.204 3549
+-103.304 33.204 3569
+-103.178 33.204 3587
+-103.052 33.204 3595
+-102.926 33.204 3609
+-102.8 33.204 3575
+-102.674 33.204 3587
+-102.548 33.204 3598
+-102.422 33.204 3608
+-102.296 33.204 3617
+-102.17 33.204 3625
+-102.044 33.204 3633
+-101.918 33.204 3640
+-101.792 33.204 3646
+-101.666 33.204 3652
+-101.54 33.204 3658
+-101.414 33.204 3663
+-101.288 33.204 3668
+-101.162 33.204 3672
+-101.036 33.204 3591
+-100.91 33.204 3594
+-100.784 33.204 3597
+-100.658 33.204 3600
+-100.532 33.204 3550
+-100.406 33.204 3551
+-100.28 33.204 3552
+-100.154 33.204 3295
+-100.028 33.204 3215
+-99.902 33.204 3155
+-99.776 33.204 3067
+-99.65 33.204 3041
+-99.524 33.204 3034
+-99.398 33.204 2950
+-99.272 33.204 2787
+-99.146 33.204 2875
+-99.02 33.204 2894
+-98.894 33.204 2941
+-98.768 33.204 2958
+-98.642 33.204 2953
+-98.516 33.204 3043
+-98.39 33.204 3004
+-98.264 33.204 3029
+-98.138 33.204 3036
+-98.012 33.204 3032
+-97.886 33.204 3028
+-97.76 33.204 2991
+-97.634 33.204 2988
+-97.508 33.204 2917
+-97.382 33.204 2916
+-97.256 33.204 2915
+-97.13 33.204 3054
+-97.004 33.204 3049
+-96.878 33.204 3060
+-96.752 33.204 3053
+-96.626 33.204 3016
+-96.5 33.204 3011
+-96.374 33.204 3006
+-96.248 33.204 3016
+-96.122 33.204 3010
+-95.996 33.204 3004
+-95.87 33.204 2997
+-95.744 33.204 2983
+-95.618 33.204 2976
+-95.492 33.204 2985
+-95.366 33.204 2976
+-95.24 33.204 2967
+-95.114 33.204 2959
+-94.988 33.204 2949
+-94.862 33.204 2941
+-94.736 33.204 2927
+-94.61 33.204 2916
+-94.484 33.204 2897
+-94.358 33.204 2881
+-94.232 33.204 2858
+-94.106 33.204 2840
+-93.98 33.204 2847
+-93.854 33.204 2840
+-93.728 33.204 2854
+-93.602 33.204 2894
+-93.476 33.204 2946
+-93.35 33.204 2998
+-93.224 33.204 3049
+-93.098 33.204 3060
+-92.972 33.204 3072
+-92.846 33.204 3162
+-92.72 33.204 3288
+-92.594 33.204 3438
+-92.468 33.204 3577
+-92.342 33.204 3729
+-92.216 33.204 3882
+-92.09 33.204 4016
+-91.964 33.204 4105
+-91.838 33.204 4168
+-91.712 33.204 4211
+-91.586 33.204 4241
+-91.46 33.204 4207
+-91.334 33.204 4184
+-91.208 33.204 4251
+-91.082 33.204 4278
+-90.956 33.204 4228
+-90.83 33.204 4312
+-90.704 33.204 4402
+-90.578 33.204 4440
+-90.452 33.204 4476
+-90.326 33.204 4516
+-90.2 33.204 4588
+-90.074 33.204 4628
+-89.948 33.204 4650
+-89.822 33.204 4679
+-89.696 33.204 4711
+-89.57 33.204 4691
+-89.444 33.204 4689
+-89.318 33.204 4710
+-89.192 33.204 4741
+-89.066 33.204 4760
+-88.94 33.204 4758
+-88.814 33.204 4752
+-88.688 33.204 4765
+-88.562 33.204 4770
+-88.436 33.204 4768
+-88.31 33.204 4738
+-88.184 33.204 4702
+-88.058 33.204 4644
+-87.932 33.204 4623
+-87.806 33.204 4614
+-87.68 33.204 4597
+-87.554 33.204 4555
+-87.428 33.204 4518
+-87.302 33.204 4484
+-87.176 33.204 4458
+-87.05 33.204 4419
+-86.924 33.204 4373
+-86.798 33.204 4318
+-86.672 33.204 4262
+-86.546 33.204 4191
+-86.42 33.204 4115
+-86.294 33.204 4130
+-86.168 33.204 4069
+-86.042 33.204 4065
+-85.916 33.204 4068
+-85.79 33.204 4048
+-85.664 33.204 3966
+-85.538 33.204 3882
+-85.412 33.204 3692
+-85.286 33.204 3577
+-85.16 33.204 3441
+-85.034 33.204 3335
+-84.908 33.204 3207
+-84.782 33.204 3113
+-84.656 33.204 3207
+-84.53 33.204 3304
+-84.404 33.204 3373
+-84.278 33.204 3412
+-84.152 33.204 3436
+-84.026 33.204 3446
+-83.9 33.204 3470
+-83.774 33.204 3501
+-83.648 33.204 3554
+-83.522 33.204 3615
+-83.396 33.204 3641
+-83.27 33.204 3652
+-83.144 33.204 3695
+-83.018 33.204 3713
+-82.892 33.204 3711
+-82.766 33.204 3721
+-82.64 33.204 3751
+-82.514 33.204 3785
+-82.388 33.204 3829
+-82.262 33.204 3842
+-82.136 33.204 3833
+-82.01 33.204 3839
+-81.884 33.204 3826
+-81.758 33.204 3819
+-81.632 33.204 3822
+-81.506 33.204 3825
+-81.38 33.204 3815
+-81.254 33.204 3807
+-81.128 33.204 3779
+-81.002 33.204 3750
+-80.876 33.204 3729
+-80.75 33.204 3713
+-80.624 33.204 3718
+-80.498 33.204 3729
+-80.372 33.204 3727
+-80.246 33.204 3691
+-80.12 33.204 3629
+-79.994 33.204 3617
+-79.868 33.204 3585
+-79.742 33.204 3548
+-79.616 33.204 3507
+-79.49 33.204 3458
+-79.364 33.204 3400
+-79.238 33.204 3336
+-79.112 33.204 3256
+-78.986 33.204 3144
+-78.86 33.204 3035
+-78.734 33.204 2921
+-78.608 33.204 2823
+-78.482 33.204 2782
+-78.356 33.204 2784
+-78.23 33.204 2834
+-78.104 33.204 2901
+-77.978 33.204 2974
+-77.852 33.204 3051
+-77.726 33.204 3108
+-77.6 33.204 3158
+-77.474 33.204 3200
+-77.348 33.204 3209
+-77.222 33.204 3257
+-77.096 33.204 3286
+-76.97 33.204 3309
+-76.844 33.204 3337
+-76.718 33.204 3224
+-76.592 33.204 3182
+-76.466 33.204 3200
+-76.34 33.204 3210
+-76.214 33.204 3233
+-76.088 33.204 3227
+-75.962 33.204 3235
+-75.836 33.204 3242
+-75.71 33.204 3236
+-75.584 33.204 3243
+-75.458 33.204 3248
+-75.332 33.204 3236
+-75.206 33.204 3226
+-75.08 33.204 3249
+-74.954 33.204 3248
+-74.828 33.204 3253
+-74.702 33.204 3258
+-74.576 33.204 3194
+-74.45 33.204 3227
+-74.324 33.204 3224
+-74.198 33.204 3228
+-74.072 33.204 3231
+-73.946 33.204 3380
+-73.82 33.204 3319
+-73.694 33.204 3328
+-73.568 33.204 3332
+-73.442 33.204 3243
+-73.316 33.204 3235
+-73.19 33.204 3237
+-73.064 33.204 3239
+-72.938 33.204 3222
+-72.812 33.204 3224
+-72.686 33.204 3226
+-72.56 33.204 3227
+-72.434 33.204 3229
+-72.308 33.204 3243
+-72.182 33.204 3246
+-72.056 33.204 3233
+-71.93 33.204 3235
+-71.804 33.204 3237
+-71.678 33.204 3185
+-71.552 33.204 3344
+-71.426 33.204 3312
+-71.3 33.204 3314
+-71.174 33.204 3282
+-71.048 33.204 3284
+-70.922 33.204 3286
+-70.796 33.204 3400
+-70.67 33.204 3402
+-70.544 33.204 3404
+-70.418 33.204 3406
+-70.292 33.204 3408
+-70.166 33.204 3506
+-70.04 33.204 3508
+-69.914 33.204 3433
+-69.788 33.204 3435
+-69.662 33.204 3437
+-69.536 33.204 3439
+-69.41 33.204 3444
+-69.284 33.204 3408
+-69.158 33.204 3401
+-69.032 33.204 3354
+-68.906 33.204 3356
+-68.78 33.204 3320
+-68.654 33.204 3364
+-68.528 33.204 3366
+-68.402 33.204 3367
+-68.276 33.204 3369
+-68.15 33.204 3371
+-68.024 33.204 3373
+-67.898 33.204 3374
+-67.772 33.204 3350
+-67.646 33.204 3351
+-67.52 33.204 3353
+-67.394 33.204 3324
+-67.268 33.204 3293
+-67.142 33.204 3273
+-67.016 33.204 3274
+-66.89 33.204 3275
+-66.764 33.204 3277
+-66.638 33.204 3278
+-66.512 33.204 3279
+-66.386 33.204 3280
+-66.26 33.204 3209
+-66.134 33.204 3194
+-66.008 33.204 3195
+-65.882 33.204 3196
+-65.756 33.204 3197
+-65.63 33.204 3199
+-65.504 33.204 3200
+-65.378 33.204 3201
+-65.252 33.204 3202
+-65.126 33.204 3203
+-128 33.152 2651
+-127.874 33.152 2643
+-127.748 33.152 2635
+-127.622 33.152 2626
+-127.496 33.152 2616
+-127.37 33.152 2605
+-127.244 33.152 2640
+-127.118 33.152 2686
+-126.992 33.152 2671
+-126.866 33.152 2696
+-126.74 33.152 2676
+-126.614 33.152 2653
+-126.488 33.152 2684
+-126.362 33.152 2656
+-126.236 33.152 2623
+-126.11 33.152 2585
+-125.984 33.152 2560
+-125.858 33.152 2507
+-125.732 33.152 2517
+-125.606 33.152 2440
+-125.48 33.152 2348
+-125.354 33.152 2236
+-125.228 33.152 2101
+-125.102 33.152 1940
+-124.976 33.152 1761
+-124.85 33.152 1597
+-124.724 33.152 1533
+-124.598 33.152 1647
+-124.472 33.152 1890
+-124.346 33.152 2113
+-124.22 33.152 2300
+-124.094 33.152 2451
+-123.968 33.152 2632
+-123.842 33.152 2841
+-123.716 33.152 3022
+-123.59 33.152 3207
+-123.464 33.152 3336
+-123.338 33.152 3464
+-123.212 33.152 3677
+-123.086 33.152 3755
+-122.96 33.152 3859
+-122.834 33.152 4034
+-122.708 33.152 4108
+-122.582 33.152 4193
+-122.456 33.152 4240
+-122.33 33.152 4233
+-122.204 33.152 4231
+-122.078 33.152 4173
+-121.952 33.152 4363
+-121.826 33.152 4492
+-121.7 33.152 4620
+-121.574 33.152 4791
+-121.448 33.152 4951
+-121.322 33.152 5099
+-121.196 33.152 5183
+-121.07 33.152 5356
+-120.944 33.152 5488
+-120.818 33.152 5623
+-120.692 33.152 5780
+-120.566 33.152 5816
+-120.44 33.152 5920
+-120.314 33.152 6078
+-120.188 33.152 6197
+-120.062 33.152 6289
+-119.936 33.152 6493
+-119.81 33.152 6650
+-119.684 33.152 6793
+-119.558 33.152 6895
+-119.432 33.152 6999
+-119.306 33.152 7120
+-119.18 33.152 7270
+-119.054 33.152 7356
+-118.928 33.152 7466
+-118.802 33.152 7703
+-118.676 33.152 7781
+-118.55 33.152 8081
+-118.424 33.152 8101
+-118.298 33.152 8282
+-118.172 33.152 8413
+-118.046 33.152 8573
+-117.92 33.152 8667
+-117.794 33.152 8845
+-117.668 33.152 8971
+-117.542 33.152 9083
+-117.416 33.152 9168
+-117.29 33.152 9279
+-117.164 33.152 9360
+-117.038 33.152 9371
+-116.912 33.152 9384
+-116.786 33.152 9313
+-116.66 33.152 9200
+-116.534 33.152 9127
+-116.408 33.152 8936
+-116.282 33.152 8833
+-116.156 33.152 8694
+-116.03 33.152 8600
+-115.904 33.152 8492
+-115.778 33.152 8352
+-115.652 33.152 8148
+-115.526 33.152 8076
+-115.4 33.152 7893
+-115.274 33.152 7805
+-115.148 33.152 7643
+-115.022 33.152 7491
+-114.896 33.152 7358
+-114.77 33.152 7230
+-114.644 33.152 7035
+-114.518 33.152 6921
+-114.392 33.152 6801
+-114.266 33.152 6660
+-114.14 33.152 6486
+-114.014 33.152 6353
+-113.888 33.152 6246
+-113.762 33.152 6118
+-113.636 33.152 5971
+-113.51 33.152 5852
+-113.384 33.152 5829
+-113.258 33.152 5957
+-113.132 33.152 6000
+-113.006 33.152 6115
+-112.88 33.152 6264
+-112.754 33.152 6400
+-112.628 33.152 6566
+-112.502 33.152 6689
+-112.376 33.152 6765
+-112.25 33.152 6852
+-112.124 33.152 6951
+-111.998 33.152 7054
+-111.872 33.152 7122
+-111.746 33.152 7283
+-111.62 33.152 7322
+-111.494 33.152 7410
+-111.368 33.152 7497
+-111.242 33.152 7542
+-111.116 33.152 7626
+-110.99 33.152 7690
+-110.864 33.152 7730
+-110.738 33.152 7775
+-110.612 33.152 7783
+-110.486 33.152 7784
+-110.36 33.152 7809
+-110.234 33.152 7788
+-110.108 33.152 7795
+-109.982 33.152 7731
+-109.856 33.152 7675
+-109.73 33.152 7663
+-109.604 33.152 7615
+-109.478 33.152 7531
+-109.352 33.152 7429
+-109.226 33.152 7392
+-109.1 33.152 7295
+-108.974 33.152 7195
+-108.848 33.152 7085
+-108.722 33.152 7035
+-108.596 33.152 6880
+-108.47 33.152 6807
+-108.344 33.152 6702
+-108.218 33.152 6600
+-108.092 33.152 6447
+-107.966 33.152 6358
+-107.84 33.152 6259
+-107.714 33.152 6137
+-107.588 33.152 5981
+-107.462 33.152 5959
+-107.336 33.152 5842
+-107.21 33.152 5642
+-107.084 33.152 5694
+-106.958 33.152 5572
+-106.832 33.152 5376
+-106.706 33.152 5174
+-106.58 33.152 5048
+-106.454 33.152 4917
+-106.328 33.152 4775
+-106.202 33.152 4650
+-106.076 33.152 4544
+-105.95 33.152 4490
+-105.824 33.152 4410
+-105.698 33.152 4200
+-105.572 33.152 3956
+-105.446 33.152 3839
+-105.32 33.152 3863
+-105.194 33.152 3781
+-105.068 33.152 3658
+-104.942 33.152 3519
+-104.816 33.152 3359
+-104.69 33.152 3177
+-104.564 33.152 3059
+-104.438 33.152 3120
+-104.312 33.152 3241
+-104.186 33.152 3338
+-104.06 33.152 3409
+-103.934 33.152 3462
+-103.808 33.152 3471
+-103.682 33.152 3504
+-103.556 33.152 3532
+-103.43 33.152 3556
+-103.304 33.152 3576
+-103.178 33.152 3585
+-103.052 33.152 3600
+-102.926 33.152 3570
+-102.8 33.152 3582
+-102.674 33.152 3594
+-102.548 33.152 3604
+-102.422 33.152 3614
+-102.296 33.152 3623
+-102.17 33.152 3631
+-102.044 33.152 3638
+-101.918 33.152 3645
+-101.792 33.152 3651
+-101.666 33.152 3657
+-101.54 33.152 3662
+-101.414 33.152 3667
+-101.288 33.152 3672
+-101.162 33.152 3591
+-101.036 33.152 3594
+-100.91 33.152 3597
+-100.784 33.152 3600
+-100.658 33.152 3550
+-100.532 33.152 3551
+-100.406 33.152 3552
+-100.28 33.152 3553
+-100.154 33.152 3294
+-100.028 33.152 3202
+-99.902 33.152 3152
+-99.776 33.152 3050
+-99.65 33.152 3027
+-99.524 33.152 3000
+-99.398 33.152 2941
+-99.272 33.152 2778
+-99.146 33.152 2861
+-99.02 33.152 2829
+-98.894 33.152 2886
+-98.768 33.152 2941
+-98.642 33.152 2968
+-98.516 33.152 2994
+-98.39 33.152 3019
+-98.264 33.152 3026
+-98.138 33.152 3022
+-98.012 33.152 3018
+-97.886 33.152 2980
+-97.76 33.152 2977
+-97.634 33.152 2905
+-97.508 33.152 2904
+-97.382 33.152 2903
+-97.256 33.152 2902
+-97.13 33.152 2901
+-97.004 33.152 3060
+-96.878 33.152 3053
+-96.752 33.152 3015
+-96.626 33.152 3010
+-96.5 33.152 3005
+-96.374 33.152 3015
+-96.248 33.152 3009
+-96.122 33.152 3003
+-95.996 33.152 2996
+-95.87 33.152 2981
+-95.744 33.152 2974
+-95.618 33.152 2982
+-95.492 33.152 2974
+-95.366 33.152 2964
+-95.24 33.152 2955
+-95.114 33.152 2944
+-94.988 33.152 2937
+-94.862 33.152 2922
+-94.736 33.152 2911
+-94.61 33.152 2891
+-94.484 33.152 2872
+-94.358 33.152 2843
+-94.232 33.152 2813
+-94.106 33.152 2798
+-93.98 33.152 2754
+-93.854 33.152 2722
+-93.728 33.152 2725
+-93.602 33.152 2773
+-93.476 33.152 2854
+-93.35 33.152 2938
+-93.224 33.152 3034
+-93.098 33.152 3081
+-92.972 33.152 3140
+-92.846 33.152 3201
+-92.72 33.152 3306
+-92.594 33.152 3459
+-92.468 33.152 3583
+-92.342 33.152 3714
+-92.216 33.152 3852
+-92.09 33.152 4039
+-91.964 33.152 4092
+-91.838 33.152 4159
+-91.712 33.152 4214
+-91.586 33.152 4204
+-91.46 33.152 4257
+-91.334 33.152 4246
+-91.208 33.152 4286
+-91.082 33.152 4293
+-90.956 33.152 4284
+-90.83 33.152 4327
+-90.704 33.152 4374
+-90.578 33.152 4392
+-90.452 33.152 4399
+-90.326 33.152 4440
+-90.2 33.152 4498
+-90.074 33.152 4536
+-89.948 33.152 4575
+-89.822 33.152 4605
+-89.696 33.152 4631
+-89.57 33.152 4649
+-89.444 33.152 4675
+-89.318 33.152 4663
+-89.192 33.152 4685
+-89.066 33.152 4698
+-88.94 33.152 4720
+-88.814 33.152 4723
+-88.688 33.152 4727
+-88.562 33.152 4741
+-88.436 33.152 4716
+-88.31 33.152 4672
+-88.184 33.152 4631
+-88.058 33.152 4600
+-87.932 33.152 4599
+-87.806 33.152 4577
+-87.68 33.152 4526
+-87.554 33.152 4488
+-87.428 33.152 4454
+-87.302 33.152 4419
+-87.176 33.152 4397
+-87.05 33.152 4346
+-86.924 33.152 4307
+-86.798 33.152 4271
+-86.672 33.152 4230
+-86.546 33.152 4184
+-86.42 33.152 4152
+-86.294 33.152 4145
+-86.168 33.152 4122
+-86.042 33.152 4082
+-85.916 33.152 4066
+-85.79 33.152 4007
+-85.664 33.152 3936
+-85.538 33.152 3819
+-85.412 33.152 3662
+-85.286 33.152 3541
+-85.16 33.152 3422
+-85.034 33.152 3326
+-84.908 33.152 3256
+-84.782 33.152 3227
+-84.656 33.152 3259
+-84.53 33.152 3326
+-84.404 33.152 3400
+-84.278 33.152 3457
+-84.152 33.152 3501
+-84.026 33.152 3527
+-83.9 33.152 3528
+-83.774 33.152 3548
+-83.648 33.152 3586
+-83.522 33.152 3623
+-83.396 33.152 3641
+-83.27 33.152 3674
+-83.144 33.152 3708
+-83.018 33.152 3719
+-82.892 33.152 3730
+-82.766 33.152 3763
+-82.64 33.152 3804
+-82.514 33.152 3835
+-82.388 33.152 3876
+-82.262 33.152 3887
+-82.136 33.152 3878
+-82.01 33.152 3878
+-81.884 33.152 3845
+-81.758 33.152 3809
+-81.632 33.152 3838
+-81.506 33.152 3851
+-81.38 33.152 3845
+-81.254 33.152 3843
+-81.128 33.152 3833
+-81.002 33.152 3805
+-80.876 33.152 3783
+-80.75 33.152 3753
+-80.624 33.152 3743
+-80.498 33.152 3748
+-80.372 33.152 3741
+-80.246 33.152 3744
+-80.12 33.152 3694
+-79.994 33.152 3637
+-79.868 33.152 3606
+-79.742 33.152 3573
+-79.616 33.152 3534
+-79.49 33.152 3490
+-79.364 33.152 3445
+-79.238 33.152 3391
+-79.112 33.152 3309
+-78.986 33.152 3236
+-78.86 33.152 3156
+-78.734 33.152 3073
+-78.608 33.152 3020
+-78.482 33.152 2972
+-78.356 33.152 2964
+-78.23 33.152 2983
+-78.104 33.152 3025
+-77.978 33.152 3083
+-77.852 33.152 3128
+-77.726 33.152 3171
+-77.6 33.152 3208
+-77.474 33.152 3216
+-77.348 33.152 3261
+-77.222 33.152 3289
+-77.096 33.152 3311
+-76.97 33.152 3338
+-76.844 33.152 3305
+-76.718 33.152 3265
+-76.592 33.152 3286
+-76.466 33.152 3296
+-76.34 33.152 3211
+-76.214 33.152 3233
+-76.088 33.152 3241
+-75.962 33.152 3248
+-75.836 33.152 3242
+-75.71 33.152 3248
+-75.584 33.152 3253
+-75.458 33.152 3241
+-75.332 33.152 3231
+-75.206 33.152 3253
+-75.08 33.152 3252
+-74.954 33.152 3257
+-74.828 33.152 3262
+-74.702 33.152 3198
+-74.576 33.152 3230
+-74.45 33.152 3228
+-74.324 33.152 3231
+-74.198 33.152 3235
+-74.072 33.152 3379
+-73.946 33.152 3322
+-73.82 33.152 3328
+-73.694 33.152 3331
+-73.568 33.152 3243
+-73.442 33.152 3234
+-73.316 33.152 3236
+-73.19 33.152 3239
+-73.064 33.152 3222
+-72.938 33.152 3224
+-72.812 33.152 3225
+-72.686 33.152 3227
+-72.56 33.152 3201
+-72.434 33.152 3243
+-72.308 33.152 3245
+-72.182 33.152 3232
+-72.056 33.152 3234
+-71.93 33.152 3237
+-71.804 33.152 3185
+-71.678 33.152 3342
+-71.552 33.152 3311
+-71.426 33.152 3312
+-71.3 33.152 3280
+-71.174 33.152 3282
+-71.048 33.152 3284
+-70.922 33.152 3398
+-70.796 33.152 3400
+-70.67 33.152 3402
+-70.544 33.152 3403
+-70.418 33.152 3405
+-70.292 33.152 3502
+-70.166 33.152 3505
+-70.04 33.152 3430
+-69.914 33.152 3433
+-69.788 33.152 3435
+-69.662 33.152 3437
+-69.536 33.152 3442
+-69.41 33.152 3406
+-69.284 33.152 3399
+-69.158 33.152 3352
+-69.032 33.152 3354
+-68.906 33.152 3318
+-68.78 33.152 3362
+-68.654 33.152 3364
+-68.528 33.152 3366
+-68.402 33.152 3368
+-68.276 33.152 3369
+-68.15 33.152 3371
+-68.024 33.152 3373
+-67.898 33.152 3348
+-67.772 33.152 3350
+-67.646 33.152 3351
+-67.52 33.152 3322
+-67.394 33.152 3292
+-67.268 33.152 3272
+-67.142 33.152 3273
+-67.016 33.152 3275
+-66.89 33.152 3276
+-66.764 33.152 3277
+-66.638 33.152 3278
+-66.512 33.152 3279
+-66.386 33.152 3208
+-66.26 33.152 3193
+-66.134 33.152 3194
+-66.008 33.152 3195
+-65.882 33.152 3197
+-65.756 33.152 3198
+-65.63 33.152 3199
+-65.504 33.152 3200
+-65.378 33.152 3201
+-65.252 33.152 3202
+-65.126 33.152 3204
+-128 33.1 2649
+-127.874 33.1 2642
+-127.748 33.1 2633
+-127.622 33.1 2624
+-127.496 33.1 2614
+-127.37 33.1 2649
+-127.244 33.1 2698
+-127.118 33.1 2685
+-126.992 33.1 2693
+-126.866 33.1 2676
+-126.74 33.1 2656
+-126.614 33.1 2634
+-126.488 33.1 2609
+-126.362 33.1 2653
+-126.236 33.1 2620
+-126.11 33.1 2582
+-125.984 33.1 2538
+-125.858 33.1 2503
+-125.732 33.1 2440
+-125.606 33.1 2431
+-125.48 33.1 2336
+-125.354 33.1 2221
+-125.228 33.1 2079
+-125.102 33.1 1907
+-124.976 33.1 1710
+-124.85 33.1 1523
+-124.724 33.1 1424
+-124.598 33.1 1552
+-124.472 33.1 1835
+-124.346 33.1 2021
+-124.22 33.1 2115
+-124.094 33.1 2267
+-123.968 33.1 2478
+-123.842 33.1 2718
+-123.716 33.1 2952
+-123.59 33.1 3195
+-123.464 33.1 3342
+-123.338 33.1 3462
+-123.212 33.1 3651
+-123.086 33.1 3743
+-122.96 33.1 3869
+-122.834 33.1 4053
+-122.708 33.1 4140
+-122.582 33.1 4188
+-122.456 33.1 4233
+-122.33 33.1 4290
+-122.204 33.1 4275
+-122.078 33.1 4273
+-121.952 33.1 4398
+-121.826 33.1 4489
+-121.7 33.1 4599
+-121.574 33.1 4779
+-121.448 33.1 4867
+-121.322 33.1 5022
+-121.196 33.1 5135
+-121.07 33.1 5287
+-120.944 33.1 5432
+-120.818 33.1 5541
+-120.692 33.1 5749
+-120.566 33.1 5846
+-120.44 33.1 6019
+-120.314 33.1 6139
+-120.188 33.1 6195
+-120.062 33.1 6371
+-119.936 33.1 6466
+-119.81 33.1 6624
+-119.684 33.1 6690
+-119.558 33.1 6827
+-119.432 33.1 6941
+-119.306 33.1 7099
+-119.18 33.1 7213
+-119.054 33.1 7323
+-118.928 33.1 7522
+-118.802 33.1 7724
+-118.676 33.1 7832
+-118.55 33.1 8031
+-118.424 33.1 8146
+-118.298 33.1 8273
+-118.172 33.1 8461
+-118.046 33.1 8625
+-117.92 33.1 8745
+-117.794 33.1 8851
+-117.668 33.1 9004
+-117.542 33.1 9119
+-117.416 33.1 9198
+-117.29 33.1 9363
+-117.164 33.1 9443
+-117.038 33.1 9474
+-116.912 33.1 9432
+-116.786 33.1 9337
+-116.66 33.1 9248
+-116.534 33.1 9164
+-116.408 33.1 9058
+-116.282 33.1 8864
+-116.156 33.1 8736
+-116.03 33.1 8655
+-115.904 33.1 8496
+-115.778 33.1 8355
+-115.652 33.1 8218
+-115.526 33.1 8077
+-115.4 33.1 7923
+-115.274 33.1 7799
+-115.148 33.1 7631
+-115.022 33.1 7519
+-114.896 33.1 7357
+-114.77 33.1 7226
+-114.644 33.1 7046
+-114.518 33.1 6922
+-114.392 33.1 6856
+-114.266 33.1 6658
+-114.14 33.1 6507
+-114.014 33.1 6396
+-113.888 33.1 6272
+-113.762 33.1 6141
+-113.636 33.1 5946
+-113.51 33.1 5932
+-113.384 33.1 5911
+-113.258 33.1 5919
+-113.132 33.1 6051
+-113.006 33.1 6169
+-112.88 33.1 6283
+-112.754 33.1 6453
+-112.628 33.1 6574
+-112.502 33.1 6718
+-112.376 33.1 6758
+-112.25 33.1 6896
+-112.124 33.1 6935
+-111.998 33.1 7064
+-111.872 33.1 7173
+-111.746 33.1 7301
+-111.62 33.1 7418
+-111.494 33.1 7496
+-111.368 33.1 7539
+-111.242 33.1 7615
+-111.116 33.1 7672
+-110.99 33.1 7781
+-110.864 33.1 7790
+-110.738 33.1 7829
+-110.612 33.1 7865
+-110.486 33.1 7844
+-110.36 33.1 7853
+-110.234 33.1 7841
+-110.108 33.1 7834
+-109.982 33.1 7790
+-109.856 33.1 7738
+-109.73 33.1 7709
+-109.604 33.1 7637
+-109.478 33.1 7597
+-109.352 33.1 7534
+-109.226 33.1 7448
+-109.1 33.1 7326
+-108.974 33.1 7279
+-108.848 33.1 7120
+-108.722 33.1 7012
+-108.596 33.1 6939
+-108.47 33.1 6828
+-108.344 33.1 6706
+-108.218 33.1 6557
+-108.092 33.1 6495
+-107.966 33.1 6384
+-107.84 33.1 6282
+-107.714 33.1 6146
+-107.588 33.1 6002
+-107.462 33.1 5975
+-107.336 33.1 5860
+-107.21 33.1 5765
+-107.084 33.1 5700
+-106.958 33.1 5595
+-106.832 33.1 5446
+-106.706 33.1 5276
+-106.58 33.1 5112
+-106.454 33.1 4978
+-106.328 33.1 4846
+-106.202 33.1 4687
+-106.076 33.1 4583
+-105.95 33.1 4502
+-105.824 33.1 4431
+-105.698 33.1 4231
+-105.572 33.1 4030
+-105.446 33.1 3914
+-105.32 33.1 3880
+-105.194 33.1 3810
+-105.068 33.1 3699
+-104.942 33.1 3545
+-104.816 33.1 3351
+-104.69 33.1 3078
+-104.564 33.1 2914
+-104.438 33.1 3036
+-104.312 33.1 3211
+-104.186 33.1 3334
+-104.06 33.1 3416
+-103.934 33.1 3441
+-103.808 33.1 3482
+-103.682 33.1 3515
+-103.556 33.1 3542
+-103.43 33.1 3565
+-103.304 33.1 3585
+-103.178 33.1 3592
+-103.052 33.1 3565
+-102.926 33.1 3579
+-102.8 33.1 3591
+-102.674 33.1 3602
+-102.548 33.1 3612
+-102.422 33.1 3621
+-102.296 33.1 3629
+-102.17 33.1 3637
+-102.044 33.1 3644
+-101.918 33.1 3650
+-101.792 33.1 3656
+-101.666 33.1 3661
+-101.54 33.1 3667
+-101.414 33.1 3671
+-101.288 33.1 3591
+-101.162 33.1 3594
+-101.036 33.1 3597
+-100.91 33.1 3600
+-100.784 33.1 3550
+-100.658 33.1 3551
+-100.532 33.1 3552
+-100.406 33.1 3553
+-100.28 33.1 3325
+-100.154 33.1 3293
+-100.028 33.1 3237
+-99.902 33.1 3150
+-99.776 33.1 3066
+-99.65 33.1 3023
+-99.524 33.1 3005
+-99.398 33.1 2950
+-99.272 33.1 2779
+-99.146 33.1 2830
+-99.02 33.1 2828
+-98.894 33.1 2865
+-98.768 33.1 2892
+-98.642 33.1 2920
+-98.516 33.1 2946
+-98.39 33.1 3016
+-98.264 33.1 3012
+-98.138 33.1 3007
+-98.012 33.1 2969
+-97.886 33.1 2966
+-97.76 33.1 2894
+-97.634 33.1 2893
+-97.508 33.1 2891
+-97.382 33.1 2890
+-97.256 33.1 2888
+-97.13 33.1 2903
+-97.004 33.1 2901
+-96.878 33.1 2871
+-96.752 33.1 3009
+-96.626 33.1 3004
+-96.5 33.1 3015
+-96.374 33.1 3009
+-96.248 33.1 3002
+-96.122 33.1 2995
+-95.996 33.1 2980
+-95.87 33.1 2972
+-95.744 33.1 2981
+-95.618 33.1 2972
+-95.492 33.1 2962
+-95.366 33.1 2952
+-95.24 33.1 2941
+-95.114 33.1 2934
+-94.988 33.1 2919
+-94.862 33.1 2908
+-94.736 33.1 2888
+-94.61 33.1 2869
+-94.484 33.1 2839
+-94.358 33.1 2804
+-94.232 33.1 2780
+-94.106 33.1 2712
+-93.98 33.1 2631
+-93.854 33.1 2558
+-93.728 33.1 2534
+-93.602 33.1 2597
+-93.476 33.1 2722
+-93.35 33.1 2880
+-93.224 33.1 2989
+-93.098 33.1 3073
+-92.972 33.1 3141
+-92.846 33.1 3249
+-92.72 33.1 3326
+-92.594 33.1 3410
+-92.468 33.1 3568
+-92.342 33.1 3692
+-92.216 33.1 3898
+-92.09 33.1 4039
+-91.964 33.1 4087
+-91.838 33.1 4153
+-91.712 33.1 4208
+-91.586 33.1 4212
+-91.46 33.1 4243
+-91.334 33.1 4281
+-91.208 33.1 4289
+-91.082 33.1 4312
+-90.956 33.1 4325
+-90.83 33.1 4350
+-90.704 33.1 4372
+-90.578 33.1 4372
+-90.452 33.1 4342
+-90.326 33.1 4391
+-90.2 33.1 4418
+-90.074 33.1 4453
+-89.948 33.1 4503
+-89.822 33.1 4547
+-89.696 33.1 4586
+-89.57 33.1 4613
+-89.444 33.1 4636
+-89.318 33.1 4631
+-89.192 33.1 4640
+-89.066 33.1 4663
+-88.94 33.1 4689
+-88.814 33.1 4699
+-88.688 33.1 4691
+-88.562 33.1 4667
+-88.436 33.1 4633
+-88.31 33.1 4611
+-88.184 33.1 4590
+-88.058 33.1 4574
+-87.932 33.1 4569
+-87.806 33.1 4540
+-87.68 33.1 4483
+-87.554 33.1 4471
+-87.428 33.1 4426
+-87.302 33.1 4409
+-87.176 33.1 4368
+-87.05 33.1 4305
+-86.924 33.1 4260
+-86.798 33.1 4219
+-86.672 33.1 4185
+-86.546 33.1 4160
+-86.42 33.1 4147
+-86.294 33.1 4135
+-86.168 33.1 4129
+-86.042 33.1 4064
+-85.916 33.1 4027
+-85.79 33.1 3981
+-85.664 33.1 3885
+-85.538 33.1 3770
+-85.412 33.1 3620
+-85.286 33.1 3528
+-85.16 33.1 3408
+-85.034 33.1 3324
+-84.908 33.1 3278
+-84.782 33.1 3264
+-84.656 33.1 3283
+-84.53 33.1 3344
+-84.404 33.1 3422
+-84.278 33.1 3488
+-84.152 33.1 3539
+-84.026 33.1 3561
+-83.9 33.1 3560
+-83.774 33.1 3582
+-83.648 33.1 3624
+-83.522 33.1 3652
+-83.396 33.1 3672
+-83.27 33.1 3722
+-83.144 33.1 3740
+-83.018 33.1 3749
+-82.892 33.1 3769
+-82.766 33.1 3810
+-82.64 33.1 3856
+-82.514 33.1 3884
+-82.388 33.1 3922
+-82.262 33.1 3929
+-82.136 33.1 3930
+-82.01 33.1 3916
+-81.884 33.1 3897
+-81.758 33.1 3870
+-81.632 33.1 3878
+-81.506 33.1 3865
+-81.38 33.1 3836
+-81.254 33.1 3855
+-81.128 33.1 3860
+-81.002 33.1 3843
+-80.876 33.1 3818
+-80.75 33.1 3762
+-80.624 33.1 3732
+-80.498 33.1 3747
+-80.372 33.1 3761
+-80.246 33.1 3752
+-80.12 33.1 3723
+-79.994 33.1 3655
+-79.868 33.1 3625
+-79.742 33.1 3590
+-79.616 33.1 3552
+-79.49 33.1 3518
+-79.364 33.1 3478
+-79.238 33.1 3416
+-79.112 33.1 3366
+-78.986 33.1 3310
+-78.86 33.1 3264
+-78.734 33.1 3213
+-78.608 33.1 3156
+-78.482 33.1 3122
+-78.356 33.1 3107
+-78.23 33.1 3116
+-78.104 33.1 3147
+-77.978 33.1 3172
+-77.852 33.1 3201
+-77.726 33.1 3230
+-77.6 33.1 3232
+-77.474 33.1 3273
+-77.348 33.1 3298
+-77.222 33.1 3318
+-77.096 33.1 3344
+-76.97 33.1 3311
+-76.844 33.1 3270
+-76.718 33.1 3291
+-76.592 33.1 3300
+-76.466 33.1 3295
+-76.34 33.1 3318
+-76.214 33.1 3327
+-76.088 33.1 3323
+-75.962 33.1 3335
+-75.836 33.1 3254
+-75.71 33.1 3259
+-75.584 33.1 3337
+-75.458 33.1 3327
+-75.332 33.1 3258
+-75.206 33.1 3257
+-75.08 33.1 3262
+-74.954 33.1 3267
+-74.828 33.1 3203
+-74.702 33.1 3234
+-74.576 33.1 3232
+-74.45 33.1 3235
+-74.324 33.1 3238
+-74.198 33.1 3378
+-74.072 33.1 3318
+-73.946 33.1 3327
+-73.82 33.1 3331
+-73.694 33.1 3243
+-73.568 33.1 3234
+-73.442 33.1 3236
+-73.316 33.1 3238
+-73.19 33.1 3222
+-73.064 33.1 3223
+-72.938 33.1 3225
+-72.812 33.1 3227
+-72.686 33.1 3200
+-72.56 33.1 3242
+-72.434 33.1 3245
+-72.308 33.1 3231
+-72.182 33.1 3234
+-72.056 33.1 3236
+-71.93 33.1 3185
+-71.804 33.1 3340
+-71.678 33.1 3309
+-71.552 33.1 3311
+-71.426 33.1 3279
+-71.3 33.1 3280
+-71.174 33.1 3282
+-71.048 33.1 3395
+-70.922 33.1 3397
+-70.796 33.1 3399
+-70.67 33.1 3401
+-70.544 33.1 3403
+-70.418 33.1 3499
+-70.292 33.1 3502
+-70.166 33.1 3428
+-70.04 33.1 3430
+-69.914 33.1 3432
+-69.788 33.1 3434
+-69.662 33.1 3439
+-69.536 33.1 3404
+-69.41 33.1 3397
+-69.284 33.1 3351
+-69.158 33.1 3352
+-69.032 33.1 3316
+-68.906 33.1 3360
+-68.78 33.1 3362
+-68.654 33.1 3364
+-68.528 33.1 3366
+-68.402 33.1 3368
+-68.276 33.1 3370
+-68.15 33.1 3371
+-68.024 33.1 3347
+-67.898 33.1 3348
+-67.772 33.1 3350
+-67.646 33.1 3321
+-67.52 33.1 3291
+-67.394 33.1 3271
+-67.268 33.1 3272
+-67.142 33.1 3274
+-67.016 33.1 3275
+-66.89 33.1 3276
+-66.764 33.1 3277
+-66.638 33.1 3278
+-66.512 33.1 3207
+-66.386 33.1 3192
+-66.26 33.1 3193
+-66.134 33.1 3195
+-66.008 33.1 3196
+-65.882 33.1 3197
+-65.756 33.1 3198
+-65.63 33.1 3199
+-65.504 33.1 3201
+-65.378 33.1 3202
+-65.252 33.1 3203
+-65.126 33.1 3204
+-128 33.048 2622
+-127.874 33.048 2615
+-127.748 33.048 2607
+-127.622 33.048 2598
+-127.496 33.048 2631
+-127.37 33.048 2711
+-127.244 33.048 2698
+-127.118 33.048 2709
+-126.992 33.048 2693
+-126.866 33.048 2676
+-126.74 33.048 2656
+-126.614 33.048 2634
+-126.488 33.048 2610
+-126.362 33.048 2582
+-126.236 33.048 2622
+-126.11 33.048 2584
+-125.984 33.048 2541
+-125.858 33.048 2490
+-125.732 33.048 2446
+-125.606 33.048 2373
+-125.48 33.048 2345
+-125.354 33.048 2234
+-125.228 33.048 2101
+-125.102 33.048 1942
+-124.976 33.048 1780
+-124.85 33.048 1611
+-124.724 33.048 1539
+-124.598 33.048 1662
+-124.472 33.048 1884
+-124.346 33.048 1965
+-124.22 33.048 1956
+-124.094 33.048 2066
+-123.968 33.048 2339
+-123.842 33.048 2629
+-123.716 33.048 2895
+-123.59 33.048 3169
+-123.464 33.048 3325
+-123.338 33.048 3447
+-123.212 33.048 3636
+-123.086 33.048 3721
+-122.96 33.048 3864
+-122.834 33.048 4042
+-122.708 33.048 4093
+-122.582 33.048 4180
+-122.456 33.048 4242
+-122.33 33.048 4268
+-122.204 33.048 4270
+-122.078 33.048 4150
+-121.952 33.048 4394
+-121.826 33.048 4525
+-121.7 33.048 4637
+-121.574 33.048 4767
+-121.448 33.048 4901
+-121.322 33.048 5029
+-121.196 33.048 5140
+-121.07 33.048 5249
+-120.944 33.048 5381
+-120.818 33.048 5530
+-120.692 33.048 5715
+-120.566 33.048 5883
+-120.44 33.048 6006
+-120.314 33.048 6018
+-120.188 33.048 6197
+-120.062 33.048 6283
+-119.936 33.048 6463
+-119.81 33.048 6623
+-119.684 33.048 6697
+-119.558 33.048 6818
+-119.432 33.048 6997
+-119.306 33.048 7055
+-119.18 33.048 7219
+-119.054 33.048 7486
+-118.928 33.048 7568
+-118.802 33.048 7763
+-118.676 33.048 7917
+-118.55 33.048 7976
+-118.424 33.048 8131
+-118.298 33.048 8304
+-118.172 33.048 8439
+-118.046 33.048 8570
+-117.92 33.048 8759
+-117.794 33.048 8862
+-117.668 33.048 8955
+-117.542 33.048 9082
+-117.416 33.048 9275
+-117.29 33.048 9409
+-117.164 33.048 9494
+-117.038 33.048 9486
+-116.912 33.048 9503
+-116.786 33.048 9376
+-116.66 33.048 9252
+-116.534 33.048 9145
+-116.408 33.048 9000
+-116.282 33.048 8909
+-116.156 33.048 8767
+-116.03 33.048 8602
+-115.904 33.048 8455
+-115.778 33.048 8395
+-115.652 33.048 8196
+-115.526 33.048 8075
+-115.4 33.048 7916
+-115.274 33.048 7772
+-115.148 33.048 7647
+-115.022 33.048 7556
+-114.896 33.048 7343
+-114.77 33.048 7271
+-114.644 33.048 7083
+-114.518 33.048 6929
+-114.392 33.048 6775
+-114.266 33.048 6624
+-114.14 33.048 6488
+-114.014 33.048 6408
+-113.888 33.048 6268
+-113.762 33.048 6128
+-113.636 33.048 6019
+-113.51 33.048 5948
+-113.384 33.048 5943
+-113.258 33.048 6024
+-113.132 33.048 6118
+-113.006 33.048 6258
+-112.88 33.048 6316
+-112.754 33.048 6442
+-112.628 33.048 6595
+-112.502 33.048 6748
+-112.376 33.048 6864
+-112.25 33.048 6934
+-112.124 33.048 6995
+-111.998 33.048 7132
+-111.872 33.048 7248
+-111.746 33.048 7334
+-111.62 33.048 7458
+-111.494 33.048 7472
+-111.368 33.048 7566
+-111.242 33.048 7681
+-111.116 33.048 7725
+-110.99 33.048 7804
+-110.864 33.048 7846
+-110.738 33.048 7879
+-110.612 33.048 7919
+-110.486 33.048 7909
+-110.36 33.048 7911
+-110.234 33.048 7901
+-110.108 33.048 7888
+-109.982 33.048 7847
+-109.856 33.048 7812
+-109.73 33.048 7755
+-109.604 33.048 7682
+-109.478 33.048 7606
+-109.352 33.048 7519
+-109.226 33.048 7489
+-109.1 33.048 7367
+-108.974 33.048 7263
+-108.848 33.048 7162
+-108.722 33.048 7082
+-108.596 33.048 7006
+-108.47 33.048 6929
+-108.344 33.048 6753
+-108.218 33.048 6618
+-108.092 33.048 6501
+-107.966 33.048 6400
+-107.84 33.048 6293
+-107.714 33.048 6156
+-107.588 33.048 6097
+-107.462 33.048 5973
+-107.336 33.048 5823
+-107.21 33.048 5781
+-107.084 33.048 5659
+-106.958 33.048 5561
+-106.832 33.048 5428
+-106.706 33.048 5351
+-106.58 33.048 5182
+-106.454 33.048 5055
+-106.328 33.048 4891
+-106.202 33.048 4739
+-106.076 33.048 4583
+-105.95 33.048 4479
+-105.824 33.048 4453
+-105.698 33.048 4365
+-105.572 33.048 4154
+-105.446 33.048 4018
+-105.32 33.048 3918
+-105.194 33.048 3840
+-105.068 33.048 3726
+-104.942 33.048 3594
+-104.816 33.048 3410
+-104.69 33.048 3185
+-104.564 33.048 3057
+-104.438 33.048 3131
+-104.312 33.048 3260
+-104.186 33.048 3370
+-104.06 33.048 3409
+-103.934 33.048 3461
+-103.808 33.048 3501
+-103.682 33.048 3527
+-103.556 33.048 3552
+-103.43 33.048 3573
+-103.304 33.048 3591
+-103.178 33.048 3562
+-103.052 33.048 3576
+-102.926 33.048 3589
+-102.8 33.048 3600
+-102.674 33.048 3611
+-102.548 33.048 3620
+-102.422 33.048 3628
+-102.296 33.048 3636
+-102.17 33.048 3643
+-102.044 33.048 3650
+-101.918 33.048 3656
+-101.792 33.048 3661
+-101.666 33.048 3667
+-101.54 33.048 3671
+-101.414 33.048 3592
+-101.288 33.048 3595
+-101.162 33.048 3598
+-101.036 33.048 3601
+-100.91 33.048 3551
+-100.784 33.048 3552
+-100.658 33.048 3552
+-100.532 33.048 3553
+-100.406 33.048 3554
+-100.28 33.048 3323
+-100.154 33.048 3292
+-100.028 33.048 3236
+-99.902 33.048 3138
+-99.776 33.048 3051
+-99.65 33.048 3007
+-99.524 33.048 2983
+-99.398 33.048 2793
+-99.272 33.048 2760
+-99.146 33.048 2748
+-99.02 33.048 2842
+-98.894 33.048 2879
+-98.768 33.048 2906
+-98.642 33.048 2916
+-98.516 33.048 2943
+-98.39 33.048 3001
+-98.264 33.048 2997
+-98.138 33.048 2958
+-98.012 33.048 2955
+-97.886 33.048 2882
+-97.76 33.048 2881
+-97.634 33.048 2879
+-97.508 33.048 2877
+-97.382 33.048 2876
+-97.256 33.048 2890
+-97.13 33.048 2888
+-97.004 33.048 2886
+-96.878 33.048 2857
+-96.752 33.048 2856
+-96.626 33.048 3015
+-96.5 33.048 3008
+-96.374 33.048 3002
+-96.248 33.048 2995
+-96.122 33.048 2979
+-95.996 33.048 2971
+-95.87 33.048 2980
+-95.744 33.048 2971
+-95.618 33.048 2961
+-95.492 33.048 2951
+-95.366 33.048 2939
+-95.24 33.048 2932
+-95.114 33.048 2917
+-94.988 33.048 2906
+-94.862 33.048 2887
+-94.736 33.048 2839
+-94.61 33.048 2813
+-94.484 33.048 2809
+-94.358 33.048 2768
+-94.232 33.048 2704
+-94.106 33.048 2617
+-93.98 33.048 2518
+-93.854 33.048 2398
+-93.728 33.048 2342
+-93.602 33.048 2419
+-93.476 33.048 2604
+-93.35 33.048 2780
+-93.224 33.048 2936
+-93.098 33.048 3047
+-92.972 33.048 3173
+-92.846 33.048 3252
+-92.72 33.048 3332
+-92.594 33.048 3411
+-92.468 33.048 3596
+-92.342 33.048 3683
+-92.216 33.048 3820
+-92.09 33.048 4038
+-91.964 33.048 4072
+-91.838 33.048 4145
+-91.712 33.048 4171
+-91.586 33.048 4193
+-91.46 33.048 4245
+-91.334 33.048 4254
+-91.208 33.048 4279
+-91.082 33.048 4308
+-90.956 33.048 4321
+-90.83 33.048 4342
+-90.704 33.048 4356
+-90.578 33.048 4378
+-90.452 33.048 4371
+-90.326 33.048 4383
+-90.2 33.048 4387
+-90.074 33.048 4396
+-89.948 33.048 4434
+-89.822 33.048 4482
+-89.696 33.048 4526
+-89.57 33.048 4552
+-89.444 33.048 4566
+-89.318 33.048 4566
+-89.192 33.048 4584
+-89.066 33.048 4601
+-88.94 33.048 4620
+-88.814 33.048 4633
+-88.688 33.048 4621
+-88.562 33.048 4609
+-88.436 33.048 4592
+-88.31 33.048 4592
+-88.184 33.048 4563
+-88.058 33.048 4531
+-87.932 33.048 4526
+-87.806 33.048 4488
+-87.68 33.048 4448
+-87.554 33.048 4420
+-87.428 33.048 4366
+-87.302 33.048 4329
+-87.176 33.048 4311
+-87.05 33.048 4270
+-86.924 33.048 4218
+-86.798 33.048 4173
+-86.672 33.048 4117
+-86.546 33.048 4095
+-86.42 33.048 4098
+-86.294 33.048 4101
+-86.168 33.048 4084
+-86.042 33.048 4001
+-85.916 33.048 3972
+-85.79 33.048 3922
+-85.664 33.048 3854
+-85.538 33.048 3744
+-85.412 33.048 3594
+-85.286 33.048 3495
+-85.16 33.048 3414
+-85.034 33.048 3338
+-84.908 33.048 3281
+-84.782 33.048 3243
+-84.656 33.048 3289
+-84.53 33.048 3364
+-84.404 33.048 3450
+-84.278 33.048 3514
+-84.152 33.048 3553
+-84.026 33.048 3567
+-83.9 33.048 3586
+-83.774 33.048 3620
+-83.648 33.048 3665
+-83.522 33.048 3694
+-83.396 33.048 3730
+-83.27 33.048 3791
+-83.144 33.048 3807
+-83.018 33.048 3807
+-82.892 33.048 3841
+-82.766 33.048 3880
+-82.64 33.048 3933
+-82.514 33.048 3952
+-82.388 33.048 3968
+-82.262 33.048 3980
+-82.136 33.048 3979
+-82.01 33.048 3950
+-81.884 33.048 3911
+-81.758 33.048 3933
+-81.632 33.048 3938
+-81.506 33.048 3921
+-81.38 33.048 3883
+-81.254 33.048 3888
+-81.128 33.048 3882
+-81.002 33.048 3863
+-80.876 33.048 3836
+-80.75 33.048 3753
+-80.624 33.048 3699
+-80.498 33.048 3735
+-80.372 33.048 3769
+-80.246 33.048 3781
+-80.12 33.048 3767
+-79.994 33.048 3707
+-79.868 33.048 3638
+-79.742 33.048 3600
+-79.616 33.048 3567
+-79.49 33.048 3532
+-79.364 33.048 3481
+-79.238 33.048 3446
+-79.112 33.048 3406
+-78.986 33.048 3376
+-78.86 33.048 3339
+-78.734 33.048 3290
+-78.608 33.048 3255
+-78.482 33.048 3227
+-78.356 33.048 3218
+-78.23 33.048 3228
+-78.104 33.048 3234
+-77.978 33.048 3248
+-77.852 33.048 3265
+-77.726 33.048 3259
+-77.6 33.048 3294
+-77.474 33.048 3314
+-77.348 33.048 3331
+-77.222 33.048 3353
+-77.096 33.048 3320
+-76.97 33.048 3279
+-76.844 33.048 3298
+-76.718 33.048 3306
+-76.592 33.048 3301
+-76.466 33.048 3322
+-76.34 33.048 3331
+-76.214 33.048 3326
+-76.088 33.048 3337
+-75.962 33.048 3344
+-75.836 33.048 3351
+-75.71 33.048 3339
+-75.584 33.048 3329
+-75.458 33.048 3264
+-75.332 33.048 3262
+-75.206 33.048 3267
+-75.08 33.048 3271
+-74.954 33.048 3298
+-74.828 33.048 3239
+-74.702 33.048 3236
+-74.576 33.048 3239
+-74.45 33.048 3242
+-74.324 33.048 3378
+-74.198 33.048 3321
+-74.072 33.048 3327
+-73.946 33.048 3331
+-73.82 33.048 3243
+-73.694 33.048 3234
+-73.568 33.048 3236
+-73.442 33.048 3238
+-73.316 33.048 3222
+-73.19 33.048 3223
+-73.064 33.048 3225
+-72.938 33.048 3226
+-72.812 33.048 3200
+-72.686 33.048 3242
+-72.56 33.048 3244
+-72.434 33.048 3231
+-72.308 33.048 3233
+-72.182 33.048 3236
+-72.056 33.048 3184
+-71.93 33.048 3338
+-71.804 33.048 3307
+-71.678 33.048 3309
+-71.552 33.048 3277
+-71.426 33.048 3279
+-71.3 33.048 3281
+-71.174 33.048 3392
+-71.048 33.048 3394
+-70.922 33.048 3396
+-70.796 33.048 3398
+-70.67 33.048 3400
+-70.544 33.048 3496
+-70.418 33.048 3498
+-70.292 33.048 3425
+-70.166 33.048 3427
+-70.04 33.048 3430
+-69.914 33.048 3432
+-69.788 33.048 3437
+-69.662 33.048 3402
+-69.536 33.048 3394
+-69.41 33.048 3349
+-69.284 33.048 3351
+-69.158 33.048 3314
+-69.032 33.048 3358
+-68.906 33.048 3360
+-68.78 33.048 3362
+-68.654 33.048 3364
+-68.528 33.048 3366
+-68.402 33.048 3368
+-68.276 33.048 3370
+-68.15 33.048 3345
+-68.024 33.048 3347
+-67.898 33.048 3349
+-67.772 33.048 3320
+-67.646 33.048 3289
+-67.52 33.048 3270
+-67.394 33.048 3271
+-67.268 33.048 3273
+-67.142 33.048 3274
+-67.016 33.048 3275
+-66.89 33.048 3276
+-66.764 33.048 3278
+-66.638 33.048 3206
+-66.512 33.048 3191
+-66.386 33.048 3192
+-66.26 33.048 3194
+-66.134 33.048 3195
+-66.008 33.048 3196
+-65.882 33.048 3198
+-65.756 33.048 3199
+-65.63 33.048 3200
+-65.504 33.048 3201
+-65.378 33.048 3202
+-65.252 33.048 3203
+-65.126 33.048 3204
+-128 32.996 2622
+-127.874 32.996 2615
+-127.748 32.996 2607
+-127.622 32.996 2640
+-127.496 32.996 2629
+-127.37 32.996 2737
+-127.244 32.996 2724
+-127.118 32.996 2710
+-126.992 32.996 2694
+-126.866 32.996 2677
+-126.74 32.996 2658
+-126.614 32.996 2637
+-126.488 32.996 2613
+-126.362 32.996 2586
+-126.236 32.996 2555
+-126.11 32.996 2591
+-125.984 32.996 2549
+-125.858 32.996 2501
+-125.732 32.996 2445
+-125.606 32.996 2394
+-125.48 32.996 2314
+-125.354 32.996 2274
+-125.228 32.996 2160
+-125.102 32.996 2031
+-124.976 32.996 1899
+-124.85 32.996 1807
+-124.724 32.996 1779
+-124.598 32.996 1862
+-124.472 32.996 1963
+-124.346 32.996 1938
+-124.22 32.996 1878
+-124.094 32.996 1980
+-123.968 32.996 2270
+-123.842 32.996 2606
+-123.716 32.996 2874
+-123.59 32.996 3125
+-123.464 32.996 3306
+-123.338 32.996 3421
+-123.212 32.996 3600
+-123.086 32.996 3720
+-122.96 32.996 3822
+-122.834 32.996 3967
+-122.708 32.996 4067
+-122.582 32.996 4195
+-122.456 32.996 4209
+-122.33 32.996 4244
+-122.204 32.996 4298
+-122.078 32.996 4333
+-121.952 32.996 4450
+-121.826 32.996 4510
+-121.7 32.996 4610
+-121.574 32.996 4773
+-121.448 32.996 4842
+-121.322 32.996 5018
+-121.196 32.996 5181
+-121.07 32.996 5249
+-120.944 32.996 5378
+-120.818 32.996 5573
+-120.692 32.996 5685
+-120.566 32.996 5843
+-120.44 32.996 5974
+-120.314 32.996 6012
+-120.188 32.996 6198
+-120.062 32.996 6309
+-119.936 32.996 6468
+-119.81 32.996 6560
+-119.684 32.996 6677
+-119.558 32.996 6800
+-119.432 32.996 7006
+-119.306 32.996 7187
+-119.18 32.996 7346
+-119.054 32.996 7501
+-118.928 32.996 7675
+-118.802 32.996 7753
+-118.676 32.996 7927
+-118.55 32.996 8092
+-118.424 32.996 8147
+-118.298 32.996 8333
+-118.172 32.996 8495
+-118.046 32.996 8610
+-117.92 32.996 8798
+-117.794 32.996 8913
+-117.668 32.996 9051
+-117.542 32.996 9162
+-117.416 32.996 9322
+-117.29 32.996 9407
+-117.164 32.996 9515
+-117.038 32.996 9592
+-116.912 32.996 9550
+-116.786 32.996 9454
+-116.66 32.996 9299
+-116.534 32.996 9161
+-116.408 32.996 9007
+-116.282 32.996 8906
+-116.156 32.996 8798
+-116.03 32.996 8621
+-115.904 32.996 8457
+-115.778 32.996 8321
+-115.652 32.996 8228
+-115.526 32.996 8080
+-115.4 32.996 7977
+-115.274 32.996 7808
+-115.148 32.996 7583
+-115.022 32.996 7463
+-114.896 32.996 7427
+-114.77 32.996 7263
+-114.644 32.996 7076
+-114.518 32.996 6916
+-114.392 32.996 6770
+-114.266 32.996 6651
+-114.14 32.996 6535
+-114.014 32.996 6443
+-113.888 32.996 6274
+-113.762 32.996 6100
+-113.636 32.996 5944
+-113.51 32.996 5932
+-113.384 32.996 5907
+-113.258 32.996 6012
+-113.132 32.996 6148
+-113.006 32.996 6244
+-112.88 32.996 6385
+-112.754 32.996 6461
+-112.628 32.996 6611
+-112.502 32.996 6777
+-112.376 32.996 6902
+-112.25 32.996 6929
+-112.124 32.996 7110
+-111.998 32.996 7186
+-111.872 32.996 7232
+-111.746 32.996 7355
+-111.62 32.996 7442
+-111.494 32.996 7563
+-111.368 32.996 7611
+-111.242 32.996 7692
+-111.116 32.996 7754
+-110.99 32.996 7825
+-110.864 32.996 7893
+-110.738 32.996 7909
+-110.612 32.996 7939
+-110.486 32.996 7964
+-110.36 32.996 7961
+-110.234 32.996 7938
+-110.108 32.996 7976
+-109.982 32.996 7902
+-109.856 32.996 7869
+-109.73 32.996 7796
+-109.604 32.996 7749
+-109.478 32.996 7668
+-109.352 32.996 7539
+-109.226 32.996 7549
+-109.1 32.996 7450
+-108.974 32.996 7317
+-108.848 32.996 7226
+-108.722 32.996 7124
+-108.596 32.996 6988
+-108.47 32.996 6924
+-108.344 32.996 6748
+-108.218 32.996 6725
+-108.092 32.996 6524
+-107.966 32.996 6448
+-107.84 32.996 6331
+-107.714 32.996 6200
+-107.588 32.996 6096
+-107.462 32.996 5989
+-107.336 32.996 5885
+-107.21 32.996 5758
+-107.084 32.996 5561
+-106.958 32.996 5530
+-106.832 32.996 5392
+-106.706 32.996 5338
+-106.58 32.996 5225
+-106.454 32.996 5098
+-106.328 32.996 4951
+-106.202 32.996 4738
+-106.076 32.996 4543
+-105.95 32.996 4395
+-105.824 32.996 4446
+-105.698 32.996 4372
+-105.572 32.996 4289
+-105.446 32.996 4118
+-105.32 32.996 4020
+-105.194 32.996 3869
+-105.068 32.996 3765
+-104.942 32.996 3655
+-104.816 32.996 3514
+-104.69 32.996 3378
+-104.564 32.996 3295
+-104.438 32.996 3307
+-104.312 32.996 3365
+-104.186 32.996 3433
+-104.06 32.996 3449
+-103.934 32.996 3493
+-103.808 32.996 3525
+-103.682 32.996 3552
+-103.556 32.996 3574
+-103.43 32.996 3593
+-103.304 32.996 3561
+-103.178 32.996 3576
+-103.052 32.996 3589
+-102.926 32.996 3600
+-102.8 32.996 3611
+-102.674 32.996 3620
+-102.548 32.996 3629
+-102.422 32.996 3637
+-102.296 32.996 3644
+-102.17 32.996 3650
+-102.044 32.996 3656
+-101.918 32.996 3662
+-101.792 32.996 3667
+-101.666 32.996 3672
+-101.54 32.996 3593
+-101.414 32.996 3596
+-101.288 32.996 3599
+-101.162 32.996 3602
+-101.036 32.996 3551
+-100.91 32.996 3552
+-100.784 32.996 3553
+-100.658 32.996 3554
+-100.532 32.996 3554
+-100.406 32.996 3555
+-100.28 32.996 3322
+-100.154 32.996 3268
+-100.028 32.996 3184
+-99.902 32.996 3135
+-99.776 32.996 3048
+-99.65 32.996 3003
+-99.524 32.996 2971
+-99.398 32.996 2778
+-99.272 32.996 2727
+-99.146 32.996 2760
+-99.02 32.996 2775
+-98.894 32.996 2892
+-98.768 32.996 2902
+-98.642 32.996 2900
+-98.516 32.996 2928
+-98.39 32.996 2986
+-98.264 32.996 2948
+-98.138 32.996 2944
+-98.012 32.996 2871
+-97.886 32.996 2869
+-97.76 32.996 2867
+-97.634 32.996 2865
+-97.508 32.996 2863
+-97.382 32.996 2878
+-97.256 32.996 2875
+-97.13 32.996 2873
+-97.004 32.996 2843
+-96.878 32.996 2842
+-96.752 32.996 2858
+-96.626 32.996 2857
+-96.5 32.996 3002
+-96.374 32.996 2995
+-96.248 32.996 2978
+-96.122 32.996 2971
+-95.996 32.996 2980
+-95.87 32.996 2971
+-95.744 32.996 2961
+-95.618 32.996 2950
+-95.492 32.996 2939
+-95.366 32.996 2932
+-95.24 32.996 2917
+-95.114 32.996 2906
+-94.988 32.996 2887
+-94.862 32.996 2839
+-94.736 32.996 2815
+-94.61 32.996 2786
+-94.484 32.996 2784
+-94.358 32.996 2732
+-94.232 32.996 2663
+-94.106 32.996 2571
+-93.98 32.996 2452
+-93.854 32.996 2326
+-93.728 32.996 2264
+-93.602 32.996 2339
+-93.476 32.996 2527
+-93.35 32.996 2730
+-93.224 32.996 2892
+-93.098 32.996 3052
+-92.972 32.996 3154
+-92.846 32.996 3245
+-92.72 32.996 3327
+-92.594 32.996 3503
+-92.468 32.996 3589
+-92.342 32.996 3671
+-92.216 32.996 3745
+-92.09 32.996 3939
+-91.964 32.996 4095
+-91.838 32.996 4123
+-91.712 32.996 4163
+-91.586 32.996 4180
+-91.46 32.996 4208
+-91.334 32.996 4237
+-91.208 32.996 4260
+-91.082 32.996 4289
+-90.956 32.996 4299
+-90.83 32.996 4328
+-90.704 32.996 4338
+-90.578 32.996 4362
+-90.452 32.996 4360
+-90.326 32.996 4358
+-90.2 32.996 4347
+-90.074 32.996 4364
+-89.948 32.996 4372
+-89.822 32.996 4416
+-89.696 32.996 4474
+-89.57 32.996 4502
+-89.444 32.996 4497
+-89.318 32.996 4508
+-89.192 32.996 4528
+-89.066 32.996 4526
+-88.94 32.996 4538
+-88.814 32.996 4549
+-88.688 32.996 4537
+-88.562 32.996 4539
+-88.436 32.996 4538
+-88.31 32.996 4546
+-88.184 32.996 4507
+-88.058 32.996 4473
+-87.932 32.996 4446
+-87.806 32.996 4420
+-87.68 32.996 4387
+-87.554 32.996 4340
+-87.428 32.996 4293
+-87.302 32.996 4250
+-87.176 32.996 4258
+-87.05 32.996 4225
+-86.924 32.996 4173
+-86.798 32.996 4113
+-86.672 32.996 4020
+-86.546 32.996 3970
+-86.42 32.996 3988
+-86.294 32.996 4019
+-86.168 32.996 4045
+-86.042 32.996 3954
+-85.916 32.996 3906
+-85.79 32.996 3848
+-85.664 32.996 3781
+-85.538 32.996 3701
+-85.412 32.996 3588
+-85.286 32.996 3532
+-85.16 32.996 3431
+-85.034 32.996 3366
+-84.908 32.996 3320
+-84.782 32.996 3292
+-84.656 32.996 3331
+-84.53 32.996 3412
+-84.404 32.996 3492
+-84.278 32.996 3554
+-84.152 32.996 3593
+-84.026 32.996 3616
+-83.9 32.996 3643
+-83.774 32.996 3677
+-83.648 32.996 3722
+-83.522 32.996 3752
+-83.396 32.996 3792
+-83.27 32.996 3863
+-83.144 32.996 3895
+-83.018 32.996 3903
+-82.892 32.996 3946
+-82.766 32.996 3967
+-82.64 32.996 4037
+-82.514 32.996 4046
+-82.388 32.996 4054
+-82.262 32.996 4055
+-82.136 32.996 4047
+-82.01 32.996 4027
+-81.884 32.996 3990
+-81.758 32.996 4004
+-81.632 32.996 4014
+-81.506 32.996 4006
+-81.38 32.996 3980
+-81.254 32.996 3945
+-81.128 32.996 3888
+-81.002 32.996 3854
+-80.876 32.996 3859
+-80.75 32.996 3805
+-80.624 32.996 3755
+-80.498 32.996 3777
+-80.372 32.996 3788
+-80.246 32.996 3806
+-80.12 32.996 3772
+-79.994 32.996 3713
+-79.868 32.996 3675
+-79.742 32.996 3608
+-79.616 32.996 3566
+-79.49 32.996 3517
+-79.364 32.996 3489
+-79.238 32.996 3474
+-79.112 32.996 3441
+-78.986 32.996 3415
+-78.86 32.996 3373
+-78.734 32.996 3343
+-78.608 32.996 3315
+-78.482 32.996 3302
+-78.356 32.996 3304
+-78.23 32.996 3298
+-78.104 32.996 3300
+-77.978 32.996 3307
+-77.852 32.996 3293
+-77.726 32.996 3320
+-77.6 32.996 3335
+-77.474 32.996 3348
+-77.348 32.996 3367
+-77.222 32.996 3332
+-77.096 32.996 3290
+-76.97 32.996 3307
+-76.844 32.996 3314
+-76.718 32.996 3308
+-76.592 32.996 3329
+-76.466 32.996 3336
+-76.34 32.996 3331
+-76.214 32.996 3341
+-76.088 32.996 3348
+-75.962 32.996 3354
+-75.836 32.996 3342
+-75.71 32.996 3331
+-75.584 32.996 3351
+-75.458 32.996 3268
+-75.332 32.996 3272
+-75.206 32.996 3277
+-75.08 32.996 3299
+-74.954 32.996 3331
+-74.828 32.996 3241
+-74.702 32.996 3244
+-74.576 32.996 3246
+-74.45 32.996 3378
+-74.324 32.996 3319
+-74.198 32.996 3327
+-74.072 32.996 3330
+-73.946 32.996 3243
+-73.82 32.996 3234
+-73.694 32.996 3236
+-73.568 32.996 3238
+-73.442 32.996 3222
+-73.316 32.996 3223
+-73.19 32.996 3225
+-73.064 32.996 3226
+-72.938 32.996 3200
+-72.812 32.996 3241
+-72.686 32.996 3243
+-72.56 32.996 3230
+-72.434 32.996 3233
+-72.308 32.996 3235
+-72.182 32.996 3184
+-72.056 32.996 3336
+-71.93 32.996 3305
+-71.804 32.996 3307
+-71.678 32.996 3275
+-71.552 32.996 3277
+-71.426 32.996 3279
+-71.3 32.996 3389
+-71.174 32.996 3391
+-71.048 32.996 3393
+-70.922 32.996 3395
+-70.796 32.996 3398
+-70.67 32.996 3492
+-70.544 32.996 3495
+-70.418 32.996 3422
+-70.292 32.996 3425
+-70.166 32.996 3427
+-70.04 32.996 3429
+-69.914 32.996 3434
+-69.788 32.996 3399
+-69.662 32.996 3392
+-69.536 32.996 3347
+-69.41 32.996 3349
+-69.284 32.996 3313
+-69.158 32.996 3356
+-69.032 32.996 3358
+-68.906 32.996 3360
+-68.78 32.996 3362
+-68.654 32.996 3364
+-68.528 32.996 3366
+-68.402 32.996 3368
+-68.276 32.996 3344
+-68.15 32.996 3346
+-68.024 32.996 3347
+-67.898 32.996 3319
+-67.772 32.996 3288
+-67.646 32.996 3269
+-67.52 32.996 3270
+-67.394 32.996 3272
+-67.268 32.996 3273
+-67.142 32.996 3274
+-67.016 32.996 3276
+-66.89 32.996 3277
+-66.764 32.996 3205
+-66.638 32.996 3190
+-66.512 32.996 3192
+-66.386 32.996 3193
+-66.26 32.996 3194
+-66.134 32.996 3196
+-66.008 32.996 3197
+-65.882 32.996 3198
+-65.756 32.996 3199
+-65.63 32.996 3200
+-65.504 32.996 3202
+-65.378 32.996 3203
+-65.252 32.996 3204
+-65.126 32.996 3205
+-128 32.944 2622
+-127.874 32.944 2615
+-127.748 32.944 2649
+-127.622 32.944 2639
+-127.496 32.944 2751
+-127.37 32.944 2739
+-127.244 32.944 2726
+-127.118 32.944 2712
+-126.992 32.944 2697
+-126.866 32.944 2680
+-126.74 32.944 2661
+-126.614 32.944 2641
+-126.488 32.944 2618
+-126.362 32.944 2593
+-126.236 32.944 2564
+-126.11 32.944 2531
+-125.984 32.944 2563
+-125.858 32.944 2519
+-125.732 32.944 2468
+-125.606 32.944 2410
+-125.48 32.944 2357
+-125.354 32.944 2332
+-125.228 32.944 2241
+-125.102 32.944 2145
+-124.976 32.944 2056
+-124.85 32.944 1994
+-124.724 32.944 2000
+-124.598 32.944 2034
+-124.472 32.944 2054
+-124.346 32.944 2006
+-124.22 32.944 1967
+-124.094 32.944 2072
+-123.968 32.944 2344
+-123.842 32.944 2626
+-123.716 32.944 2895
+-123.59 32.944 3126
+-123.464 32.944 3254
+-123.338 32.944 3382
+-123.212 32.944 3562
+-123.086 32.944 3646
+-122.96 32.944 3746
+-122.834 32.944 3909
+-122.708 32.944 4019
+-122.582 32.944 4111
+-122.456 32.944 4128
+-122.33 32.944 4156
+-122.204 32.944 4269
+-122.078 32.944 4382
+-121.952 32.944 4466
+-121.826 32.944 4525
+-121.7 32.944 4554
+-121.574 32.944 4665
+-121.448 32.944 4864
+-121.322 32.944 4976
+-121.196 32.944 5160
+-121.07 32.944 5207
+-120.944 32.944 5343
+-120.818 32.944 5517
+-120.692 32.944 5678
+-120.566 32.944 5764
+-120.44 32.944 5941
+-120.314 32.944 6085
+-120.188 32.944 6161
+-120.062 32.944 6304
+-119.936 32.944 6397
+-119.81 32.944 6528
+-119.684 32.944 6712
+-119.558 32.944 6839
+-119.432 32.944 7064
+-119.306 32.944 7218
+-119.18 32.944 7294
+-119.054 32.944 7522
+-118.928 32.944 7569
+-118.802 32.944 7788
+-118.676 32.944 7854
+-118.55 32.944 8042
+-118.424 32.944 8181
+-118.298 32.944 8350
+-118.172 32.944 8474
+-118.046 32.944 8671
+-117.92 32.944 8777
+-117.794 32.944 8903
+-117.668 32.944 8985
+-117.542 32.944 9189
+-117.416 32.944 9291
+-117.29 32.944 9420
+-117.164 32.944 9592
+-117.038 32.944 9637
+-116.912 32.944 9569
+-116.786 32.944 9498
+-116.66 32.944 9318
+-116.534 32.944 9146
+-116.408 32.944 9062
+-116.282 32.944 8874
+-116.156 32.944 8777
+-116.03 32.944 8642
+-115.904 32.944 8494
+-115.778 32.944 8347
+-115.652 32.944 8267
+-115.526 32.944 8041
+-115.4 32.944 7930
+-115.274 32.944 7803
+-115.148 32.944 7719
+-115.022 32.944 7576
+-114.896 32.944 7443
+-114.77 32.944 7252
+-114.644 32.944 7050
+-114.518 32.944 6920
+-114.392 32.944 6765
+-114.266 32.944 6654
+-114.14 32.944 6522
+-114.014 32.944 6333
+-113.888 32.944 6275
+-113.762 32.944 6109
+-113.636 32.944 5943
+-113.51 32.944 5860
+-113.384 32.944 5895
+-113.258 32.944 6013
+-113.132 32.944 6171
+-113.006 32.944 6309
+-112.88 32.944 6368
+-112.754 32.944 6497
+-112.628 32.944 6633
+-112.502 32.944 6772
+-112.376 32.944 6908
+-112.25 32.944 7016
+-112.124 32.944 7104
+-111.998 32.944 7214
+-111.872 32.944 7277
+-111.746 32.944 7395
+-111.62 32.944 7500
+-111.494 32.944 7551
+-111.368 32.944 7732
+-111.242 32.944 7759
+-111.116 32.944 7815
+-110.99 32.944 7874
+-110.864 32.944 7927
+-110.738 32.944 7998
+-110.612 32.944 8000
+-110.486 32.944 8031
+-110.36 32.944 8017
+-110.234 32.944 8016
+-110.108 32.944 7989
+-109.982 32.944 7959
+-109.856 32.944 7905
+-109.73 32.944 7857
+-109.604 32.944 7779
+-109.478 32.944 7729
+-109.352 32.944 7618
+-109.226 32.944 7555
+-109.1 32.944 7461
+-108.974 32.944 7374
+-108.848 32.944 7287
+-108.722 32.944 7187
+-108.596 32.944 7078
+-108.47 32.944 6964
+-108.344 32.944 6775
+-108.218 32.944 6662
+-108.092 32.944 6588
+-107.966 32.944 6448
+-107.84 32.944 6350
+-107.714 32.944 6181
+-107.588 32.944 6144
+-107.462 32.944 6012
+-107.336 32.944 5850
+-107.21 32.944 5777
+-107.084 32.944 5667
+-106.958 32.944 5551
+-106.832 32.944 5415
+-106.706 32.944 5285
+-106.58 32.944 5234
+-106.454 32.944 5132
+-106.328 32.944 4979
+-106.202 32.944 4762
+-106.076 32.944 4617
+-105.95 32.944 4516
+-105.824 32.944 4498
+-105.698 32.944 4423
+-105.572 32.944 4331
+-105.446 32.944 4160
+-105.32 32.944 4037
+-105.194 32.944 3932
+-105.068 32.944 3761
+-104.942 32.944 3685
+-104.816 32.944 3606
+-104.69 32.944 3526
+-104.564 32.944 3471
+-104.438 32.944 3451
+-104.312 32.944 3471
+-104.186 32.944 3504
+-104.06 32.944 3506
+-103.934 32.944 3529
+-103.808 32.944 3555
+-103.682 32.944 3577
+-103.556 32.944 3595
+-103.43 32.944 3563
+-103.304 32.944 3578
+-103.178 32.944 3591
+-103.052 32.944 3602
+-102.926 32.944 3613
+-102.8 32.944 3622
+-102.674 32.944 3630
+-102.548 32.944 3638
+-102.422 32.944 3645
+-102.296 32.944 3652
+-102.17 32.944 3658
+-102.044 32.944 3664
+-101.918 32.944 3669
+-101.792 32.944 3619
+-101.666 32.944 3595
+-101.54 32.944 3598
+-101.414 32.944 3600
+-101.288 32.944 3603
+-101.162 32.944 3553
+-101.036 32.944 3553
+-100.91 32.944 3554
+-100.784 32.944 3554
+-100.658 32.944 3555
+-100.532 32.944 3555
+-100.406 32.944 3556
+-100.28 32.944 3320
+-100.154 32.944 3266
+-100.028 32.944 3181
+-99.902 32.944 3150
+-99.776 32.944 3004
+-99.65 32.944 2999
+-99.524 32.944 2967
+-99.398 32.944 2772
+-99.272 32.944 2693
+-99.146 32.944 2721
+-99.02 32.944 2734
+-98.894 32.944 2846
+-98.768 32.944 2886
+-98.642 32.944 2855
+-98.516 32.944 2913
+-98.39 32.944 2937
+-98.264 32.944 2933
+-98.138 32.944 2859
+-98.012 32.944 2857
+-97.886 32.944 2855
+-97.76 32.944 2853
+-97.634 32.944 2850
+-97.508 32.944 2865
+-97.382 32.944 2862
+-97.256 32.944 2859
+-97.13 32.944 2829
+-97.004 32.944 2828
+-96.878 32.944 2844
+-96.752 32.944 2842
+-96.626 32.944 2840
+-96.5 32.944 2838
+-96.374 32.944 2827
+-96.248 32.944 2825
+-96.122 32.944 2981
+-95.996 32.944 2971
+-95.87 32.944 2961
+-95.744 32.944 2950
+-95.618 32.944 2939
+-95.492 32.944 2932
+-95.366 32.944 2918
+-95.24 32.944 2870
+-95.114 32.944 2853
+-94.988 32.944 2840
+-94.862 32.944 2818
+-94.736 32.944 2792
+-94.61 32.944 2799
+-94.484 32.944 2758
+-94.358 32.944 2706
+-94.232 32.944 2642
+-94.106 32.944 2562
+-93.98 32.944 2463
+-93.854 32.944 2371
+-93.728 32.944 2326
+-93.602 32.944 2389
+-93.476 32.944 2533
+-93.35 32.944 2713
+-93.224 32.944 2865
+-93.098 32.944 2990
+-92.972 32.944 3091
+-92.846 32.944 3178
+-92.72 32.944 3404
+-92.594 32.944 3493
+-92.468 32.944 3577
+-92.342 32.944 3654
+-92.216 32.944 3754
+-92.09 32.944 3869
+-91.964 32.944 4080
+-91.838 32.944 4095
+-91.712 32.944 4111
+-91.586 32.944 4122
+-91.46 32.944 4186
+-91.334 32.944 4197
+-91.208 32.944 4223
+-91.082 32.944 4237
+-90.956 32.944 4252
+-90.83 32.944 4267
+-90.704 32.944 4286
+-90.578 32.944 4312
+-90.452 32.944 4322
+-90.326 32.944 4309
+-90.2 32.944 4305
+-90.074 32.944 4323
+-89.948 32.944 4330
+-89.822 32.944 4366
+-89.696 32.944 4428
+-89.57 32.944 4464
+-89.444 32.944 4466
+-89.318 32.944 4444
+-89.192 32.944 4461
+-89.066 32.944 4466
+-88.94 32.944 4471
+-88.814 32.944 4459
+-88.688 32.944 4452
+-88.562 32.944 4461
+-88.436 32.944 4474
+-88.31 32.944 4480
+-88.184 32.944 4456
+-88.058 32.944 4438
+-87.932 32.944 4407
+-87.806 32.944 4361
+-87.68 32.944 4330
+-87.554 32.944 4282
+-87.428 32.944 4260
+-87.302 32.944 4240
+-87.176 32.944 4210
+-87.05 32.944 4178
+-86.924 32.944 4121
+-86.798 32.944 4054
+-86.672 32.944 3957
+-86.546 32.944 3902
+-86.42 32.944 3928
+-86.294 32.944 3958
+-86.168 32.944 3966
+-86.042 32.944 3892
+-85.916 32.944 3851
+-85.79 32.944 3781
+-85.664 32.944 3736
+-85.538 32.944 3670
+-85.412 32.944 3562
+-85.286 32.944 3514
+-85.16 32.944 3466
+-85.034 32.944 3419
+-84.908 32.944 3384
+-84.782 32.944 3377
+-84.656 32.944 3419
+-84.53 32.944 3487
+-84.404 32.944 3557
+-84.278 32.944 3617
+-84.152 32.944 3668
+-84.026 32.944 3699
+-83.9 32.944 3726
+-83.774 32.944 3748
+-83.648 32.944 3791
+-83.522 32.944 3841
+-83.396 32.944 3886
+-83.27 32.944 3946
+-83.144 32.944 3971
+-83.018 32.944 3986
+-82.892 32.944 4035
+-82.766 32.944 4063
+-82.64 32.944 4085
+-82.514 32.944 4089
+-82.388 32.944 4093
+-82.262 32.944 4090
+-82.136 32.944 4075
+-82.01 32.944 4061
+-81.884 32.944 4075
+-81.758 32.944 4091
+-81.632 32.944 4087
+-81.506 32.944 4081
+-81.38 32.944 4061
+-81.254 32.944 4018
+-81.128 32.944 3955
+-81.002 32.944 3903
+-80.876 32.944 3900
+-80.75 32.944 3879
+-80.624 32.944 3852
+-80.498 32.944 3833
+-80.372 32.944 3833
+-80.246 32.944 3820
+-80.12 32.944 3776
+-79.994 32.944 3756
+-79.868 32.944 3688
+-79.742 32.944 3633
+-79.616 32.944 3546
+-79.49 32.944 3506
+-79.364 32.944 3490
+-79.238 32.944 3474
+-79.112 32.944 3456
+-78.986 32.944 3420
+-78.86 32.944 3392
+-78.734 32.944 3365
+-78.608 32.944 3352
+-78.482 32.944 3353
+-78.356 32.944 3346
+-78.23 32.944 3344
+-78.104 32.944 3346
+-77.978 32.944 3327
+-77.852 32.944 3350
+-77.726 32.944 3360
+-77.6 32.944 3369
+-77.474 32.944 3385
+-77.348 32.944 3348
+-77.222 32.944 3305
+-77.096 32.944 3320
+-76.97 32.944 3325
+-76.844 32.944 3317
+-76.718 32.944 3337
+-76.592 32.944 3343
+-76.466 32.944 3337
+-76.34 32.944 3346
+-76.214 32.944 3352
+-76.088 32.944 3357
+-75.962 32.944 3345
+-75.836 32.944 3334
+-75.71 32.944 3353
+-75.584 32.944 3359
+-75.458 32.944 3365
+-75.332 32.944 3282
+-75.206 32.944 3301
+-75.08 32.944 3332
+-74.954 32.944 3245
+-74.828 32.944 3248
+-74.702 32.944 3344
+-74.576 32.944 3378
+-74.45 32.944 3322
+-74.324 32.944 3327
+-74.198 32.944 3330
+-74.072 32.944 3243
+-73.946 32.944 3235
+-73.82 32.944 3236
+-73.694 32.944 3238
+-73.568 32.944 3222
+-73.442 32.944 3223
+-73.316 32.944 3225
+-73.19 32.944 3226
+-73.064 32.944 3200
+-72.938 32.944 3240
+-72.812 32.944 3243
+-72.686 32.944 3230
+-72.56 32.944 3232
+-72.434 32.944 3235
+-72.308 32.944 3184
+-72.182 32.944 3334
+-72.056 32.944 3303
+-71.93 32.944 3305
+-71.804 32.944 3273
+-71.678 32.944 3275
+-71.552 32.944 3277
+-71.426 32.944 3386
+-71.3 32.944 3388
+-71.174 32.944 3390
+-71.048 32.944 3393
+-70.922 32.944 3395
+-70.796 32.944 3488
+-70.67 32.944 3491
+-70.544 32.944 3419
+-70.418 32.944 3422
+-70.292 32.944 3424
+-70.166 32.944 3427
+-70.04 32.944 3431
+-69.914 32.944 3397
+-69.788 32.944 3390
+-69.662 32.944 3344
+-69.536 32.944 3347
+-69.41 32.944 3311
+-69.284 32.944 3354
+-69.158 32.944 3356
+-69.032 32.944 3358
+-68.906 32.944 3361
+-68.78 32.944 3363
+-68.654 32.944 3365
+-68.528 32.944 3367
+-68.402 32.944 3342
+-68.276 32.944 3344
+-68.15 32.944 3346
+-68.024 32.944 3318
+-67.898 32.944 3287
+-67.772 32.944 3268
+-67.646 32.944 3269
+-67.52 32.944 3271
+-67.394 32.944 3272
+-67.268 32.944 3273
+-67.142 32.944 3275
+-67.016 32.944 3276
+-66.89 32.944 3204
+-66.764 32.944 3189
+-66.638 32.944 3191
+-66.512 32.944 3192
+-66.386 32.944 3193
+-66.26 32.944 3195
+-66.134 32.944 3196
+-66.008 32.944 3197
+-65.882 32.944 3199
+-65.756 32.944 3200
+-65.63 32.944 3201
+-65.504 32.944 3202
+-65.378 32.944 3203
+-65.252 32.944 3204
+-65.126 32.944 3206
+-128 32.892 2623
+-127.874 32.892 2658
+-127.748 32.892 2649
+-127.622 32.892 2763
+-127.496 32.892 2752
+-127.37 32.892 2741
+-127.244 32.892 2729
+-127.118 32.892 2715
+-126.992 32.892 2700
+-126.866 32.892 2684
+-126.74 32.892 2667
+-126.614 32.892 2647
+-126.488 32.892 2625
+-126.362 32.892 2602
+-126.236 32.892 2575
+-126.11 32.892 2545
+-125.984 32.892 2511
+-125.858 32.892 2524
+-125.732 32.892 2498
+-125.606 32.892 2448
+-125.48 32.892 2392
+-125.354 32.892 2375
+-125.228 32.892 2324
+-125.102 32.892 2256
+-124.976 32.892 2197
+-124.85 32.892 2165
+-124.724 32.892 2153
+-124.598 32.892 2183
+-124.472 32.892 2181
+-124.346 32.892 2161
+-124.22 32.892 2171
+-124.094 32.892 2298
+-123.968 32.892 2498
+-123.842 32.892 2718
+-123.716 32.892 2906
+-123.59 32.892 3085
+-123.464 32.892 3233
+-123.338 32.892 3337
+-123.212 32.892 3447
+-123.086 32.892 3521
+-122.96 32.892 3644
+-122.834 32.892 3847
+-122.708 32.892 3966
+-122.582 32.892 4059
+-122.456 32.892 4065
+-122.33 32.892 3970
+-122.204 32.892 4204
+-122.078 32.892 4371
+-121.952 32.892 4424
+-121.826 32.892 4377
+-121.7 32.892 4595
+-121.574 32.892 4718
+-121.448 32.892 4834
+-121.322 32.892 4940
+-121.196 32.892 5084
+-121.07 32.892 5194
+-120.944 32.892 5329
+-120.818 32.892 5494
+-120.692 32.892 5643
+-120.566 32.892 5775
+-120.44 32.892 5930
+-120.314 32.892 6029
+-120.188 32.892 6172
+-120.062 32.892 6301
+-119.936 32.892 6313
+-119.81 32.892 6631
+-119.684 32.892 6756
+-119.558 32.892 6944
+-119.432 32.892 7073
+-119.306 32.892 7187
+-119.18 32.892 7328
+-119.054 32.892 7473
+-118.928 32.892 7682
+-118.802 32.892 7817
+-118.676 32.892 7905
+-118.55 32.892 8034
+-118.424 32.892 8213
+-118.298 32.892 8323
+-118.172 32.892 8433
+-118.046 32.892 8586
+-117.92 32.892 8763
+-117.794 32.892 8869
+-117.668 32.892 9034
+-117.542 32.892 9179
+-117.416 32.892 9374
+-117.29 32.892 9480
+-117.164 32.892 9575
+-117.038 32.892 9687
+-116.912 32.892 9592
+-116.786 32.892 9477
+-116.66 32.892 9351
+-116.534 32.892 9213
+-116.408 32.892 9062
+-116.282 32.892 8893
+-116.156 32.892 8784
+-116.03 32.892 8671
+-115.904 32.892 8462
+-115.778 32.892 8366
+-115.652 32.892 8203
+-115.526 32.892 8076
+-115.4 32.892 7919
+-115.274 32.892 7799
+-115.148 32.892 7664
+-115.022 32.892 7504
+-114.896 32.892 7373
+-114.77 32.892 7271
+-114.644 32.892 7068
+-114.518 32.892 6956
+-114.392 32.892 6801
+-114.266 32.892 6700
+-114.14 32.892 6553
+-114.014 32.892 6398
+-113.888 32.892 6304
+-113.762 32.892 6102
+-113.636 32.892 5983
+-113.51 32.892 5789
+-113.384 32.892 5960
+-113.258 32.892 6066
+-113.132 32.892 6200
+-113.006 32.892 6348
+-112.88 32.892 6440
+-112.754 32.892 6594
+-112.628 32.892 6684
+-112.502 32.892 6796
+-112.376 32.892 6957
+-112.25 32.892 7015
+-112.124 32.892 7152
+-111.998 32.892 7211
+-111.872 32.892 7330
+-111.746 32.892 7438
+-111.62 32.892 7555
+-111.494 32.892 7626
+-111.368 32.892 7740
+-111.242 32.892 7828
+-111.116 32.892 7863
+-110.99 32.892 7937
+-110.864 32.892 7986
+-110.738 32.892 8045
+-110.612 32.892 8077
+-110.486 32.892 8078
+-110.36 32.892 8081
+-110.234 32.892 8062
+-110.108 32.892 8065
+-109.982 32.892 7998
+-109.856 32.892 7969
+-109.73 32.892 7878
+-109.604 32.892 7852
+-109.478 32.892 7775
+-109.352 32.892 7695
+-109.226 32.892 7620
+-109.1 32.892 7516
+-108.974 32.892 7398
+-108.848 32.892 7296
+-108.722 32.892 7245
+-108.596 32.892 7141
+-108.47 32.892 6988
+-108.344 32.892 6838
+-108.218 32.892 6715
+-108.092 32.892 6599
+-107.966 32.892 6478
+-107.84 32.892 6310
+-107.714 32.892 6303
+-107.588 32.892 6162
+-107.462 32.892 5995
+-107.336 32.892 5821
+-107.21 32.892 5728
+-107.084 32.892 5667
+-106.958 32.892 5582
+-106.832 32.892 5467
+-106.706 32.892 5314
+-106.58 32.892 5166
+-106.454 32.892 5081
+-106.328 32.892 4967
+-106.202 32.892 4790
+-106.076 32.892 4647
+-105.95 32.892 4568
+-105.824 32.892 4518
+-105.698 32.892 4453
+-105.572 32.892 4360
+-105.446 32.892 4224
+-105.32 32.892 4017
+-105.194 32.892 3866
+-105.068 32.892 3774
+-104.942 32.892 3692
+-104.816 32.892 3656
+-104.69 32.892 3614
+-104.564 32.892 3569
+-104.438 32.892 3552
+-104.312 32.892 3553
+-104.186 32.892 3536
+-104.06 32.892 3548
+-103.934 32.892 3567
+-103.808 32.892 3586
+-103.682 32.892 3603
+-103.556 32.892 3569
+-103.43 32.892 3583
+-103.304 32.892 3595
+-103.178 32.892 3607
+-103.052 32.892 3617
+-102.926 32.892 3626
+-102.8 32.892 3634
+-102.674 32.892 3641
+-102.548 32.892 3648
+-102.422 32.892 3655
+-102.296 32.892 3661
+-102.17 32.892 3666
+-102.044 32.892 3671
+-101.918 32.892 3621
+-101.792 32.892 3597
+-101.666 32.892 3600
+-101.54 32.892 3602
+-101.414 32.892 3605
+-101.288 32.892 3554
+-101.162 32.892 3555
+-101.036 32.892 3555
+-100.91 32.892 3555
+-100.784 32.892 3556
+-100.658 32.892 3556
+-100.532 32.892 3556
+-100.406 32.892 3422
+-100.28 32.892 3318
+-100.154 32.892 3208
+-100.028 32.892 3178
+-99.902 32.892 3148
+-99.776 32.892 3000
+-99.65 32.892 2995
+-99.524 32.892 2962
+-99.398 32.892 2766
+-99.272 32.892 2686
+-99.146 32.892 2712
+-99.02 32.892 2723
+-98.894 32.892 2831
+-98.768 32.892 2842
+-98.642 32.892 2840
+-98.516 32.892 2897
+-98.39 32.892 2922
+-98.264 32.892 2848
+-98.138 32.892 2845
+-98.012 32.892 2843
+-97.886 32.892 2840
+-97.76 32.892 2837
+-97.634 32.892 2852
+-97.508 32.892 2849
+-97.382 32.892 2845
+-97.256 32.892 2815
+-97.13 32.892 2814
+-97.004 32.892 2829
+-96.878 32.892 2827
+-96.752 32.892 2825
+-96.626 32.892 2823
+-96.5 32.892 2811
+-96.374 32.892 2826
+-96.248 32.892 2823
+-96.122 32.892 2820
+-95.996 32.892 2963
+-95.87 32.892 2952
+-95.744 32.892 2940
+-95.618 32.892 2934
+-95.492 32.892 2920
+-95.366 32.892 2870
+-95.24 32.892 2854
+-95.114 32.892 2842
+-94.988 32.892 2821
+-94.862 32.892 2797
+-94.736 32.892 2810
+-94.61 32.892 2775
+-94.484 32.892 2734
+-94.358 32.892 2687
+-94.232 32.892 2634
+-94.106 32.892 2572
+-93.98 32.892 2521
+-93.854 32.892 2461
+-93.728 32.892 2437
+-93.602 32.892 2489
+-93.476 32.892 2588
+-93.35 32.892 2712
+-93.224 32.892 2832
+-93.098 32.892 2969
+-92.972 32.892 3105
+-92.846 32.892 3202
+-92.72 32.892 3289
+-92.594 32.892 3369
+-92.468 32.892 3443
+-92.342 32.892 3661
+-92.216 32.892 3726
+-92.09 32.892 3840
+-91.964 32.892 3975
+-91.838 32.892 4046
+-91.712 32.892 4074
+-91.586 32.892 4088
+-91.46 32.892 4147
+-91.334 32.892 4170
+-91.208 32.892 4184
+-91.082 32.892 4201
+-90.956 32.892 4218
+-90.83 32.892 4229
+-90.704 32.892 4255
+-90.578 32.892 4264
+-90.452 32.892 4266
+-90.326 32.892 4252
+-90.2 32.892 4218
+-90.074 32.892 4274
+-89.948 32.892 4319
+-89.822 32.892 4346
+-89.696 32.892 4369
+-89.57 32.892 4408
+-89.444 32.892 4411
+-89.318 32.892 4407
+-89.192 32.892 4405
+-89.066 32.892 4416
+-88.94 32.892 4429
+-88.814 32.892 4427
+-88.688 32.892 4428
+-88.562 32.892 4417
+-88.436 32.892 4409
+-88.31 32.892 4420
+-88.184 32.892 4416
+-88.058 32.892 4408
+-87.932 32.892 4363
+-87.806 32.892 4329
+-87.68 32.892 4288
+-87.554 32.892 4240
+-87.428 32.892 4223
+-87.302 32.892 4182
+-87.176 32.892 4129
+-87.05 32.892 4120
+-86.924 32.892 4089
+-86.798 32.892 4006
+-86.672 32.892 3912
+-86.546 32.892 3877
+-86.42 32.892 3885
+-86.294 32.892 3907
+-86.168 32.892 3899
+-86.042 32.892 3840
+-85.916 32.892 3752
+-85.79 32.892 3724
+-85.664 32.892 3680
+-85.538 32.892 3602
+-85.412 32.892 3542
+-85.286 32.892 3522
+-85.16 32.892 3486
+-85.034 32.892 3464
+-84.908 32.892 3476
+-84.782 32.892 3475
+-84.656 32.892 3514
+-84.53 32.892 3582
+-84.404 32.892 3641
+-84.278 32.892 3700
+-84.152 32.892 3748
+-84.026 32.892 3779
+-83.9 32.892 3799
+-83.774 32.892 3835
+-83.648 32.892 3879
+-83.522 32.892 3916
+-83.396 32.892 3962
+-83.27 32.892 4021
+-83.144 32.892 4059
+-83.018 32.892 4078
+-82.892 32.892 4091
+-82.766 32.892 4109
+-82.64 32.892 4145
+-82.514 32.892 4144
+-82.388 32.892 4147
+-82.262 32.892 4158
+-82.136 32.892 4126
+-82.01 32.892 4113
+-81.884 32.892 4125
+-81.758 32.892 4129
+-81.632 32.892 4119
+-81.506 32.892 4097
+-81.38 32.892 4104
+-81.254 32.892 4089
+-81.128 32.892 4052
+-81.002 32.892 3989
+-80.876 32.892 3972
+-80.75 32.892 3954
+-80.624 32.892 3916
+-80.498 32.892 3896
+-80.372 32.892 3864
+-80.246 32.892 3826
+-80.12 32.892 3784
+-79.994 32.892 3749
+-79.868 32.892 3691
+-79.742 32.892 3607
+-79.616 32.892 3514
+-79.49 32.892 3455
+-79.364 32.892 3463
+-79.238 32.892 3472
+-79.112 32.892 3447
+-78.986 32.892 3417
+-78.86 32.892 3387
+-78.734 32.892 3369
+-78.608 32.892 3368
+-78.482 32.892 3363
+-78.356 32.892 3365
+-78.23 32.892 3370
+-78.104 32.892 3353
+-77.978 32.892 3375
+-77.852 32.892 3383
+-77.726 32.892 3390
+-77.6 32.892 3403
+-77.474 32.892 3366
+-77.348 32.892 3322
+-77.222 32.892 3334
+-77.096 32.892 3337
+-76.97 32.892 3329
+-76.844 32.892 3346
+-76.718 32.892 3351
+-76.592 32.892 3344
+-76.466 32.892 3352
+-76.34 32.892 3357
+-76.214 32.892 3362
+-76.088 32.892 3349
+-75.962 32.892 3338
+-75.836 32.892 3356
+-75.71 32.892 3361
+-75.584 32.892 3367
+-75.458 32.892 3306
+-75.332 32.892 3303
+-75.206 32.892 3333
+-75.08 32.892 3337
+-74.954 32.892 3341
+-74.828 32.892 3345
+-74.702 32.892 3378
+-74.576 32.892 3320
+-74.45 32.892 3327
+-74.324 32.892 3330
+-74.198 32.892 3244
+-74.072 32.892 3235
+-73.946 32.892 3237
+-73.82 32.892 3238
+-73.694 32.892 3222
+-73.568 32.892 3223
+-73.442 32.892 3225
+-73.316 32.892 3226
+-73.19 32.892 3200
+-73.064 32.892 3240
+-72.938 32.892 3242
+-72.812 32.892 3229
+-72.686 32.892 3232
+-72.56 32.892 3234
+-72.434 32.892 3184
+-72.308 32.892 3332
+-72.182 32.892 3302
+-72.056 32.892 3303
+-71.93 32.892 3271
+-71.804 32.892 3273
+-71.678 32.892 3276
+-71.552 32.892 3383
+-71.426 32.892 3385
+-71.3 32.892 3387
+-71.174 32.892 3390
+-71.048 32.892 3392
+-70.922 32.892 3484
+-70.796 32.892 3488
+-70.67 32.892 3416
+-70.544 32.892 3419
+-70.418 32.892 3421
+-70.292 32.892 3424
+-70.166 32.892 3428
+-70.04 32.892 3394
+-69.914 32.892 3387
+-69.788 32.892 3342
+-69.662 32.892 3345
+-69.536 32.892 3309
+-69.41 32.892 3352
+-69.284 32.892 3354
+-69.158 32.892 3356
+-69.032 32.892 3359
+-68.906 32.892 3361
+-68.78 32.892 3363
+-68.654 32.892 3365
+-68.528 32.892 3341
+-68.402 32.892 3343
+-68.276 32.892 3344
+-68.15 32.892 3316
+-68.024 32.892 3286
+-67.898 32.892 3267
+-67.772 32.892 3268
+-67.646 32.892 3270
+-67.52 32.892 3271
+-67.394 32.892 3272
+-67.268 32.892 3274
+-67.142 32.892 3275
+-67.016 32.892 3203
+-66.89 32.892 3188
+-66.764 32.892 3190
+-66.638 32.892 3191
+-66.512 32.892 3193
+-66.386 32.892 3194
+-66.26 32.892 3195
+-66.134 32.892 3197
+-66.008 32.892 3198
+-65.882 32.892 3199
+-65.756 32.892 3200
+-65.63 32.892 3202
+-65.504 32.892 3203
+-65.378 32.892 3204
+-65.252 32.892 3205
+-65.126 32.892 3206
+-128 32.84 2666
+-127.874 32.84 2658
+-127.748 32.84 2775
+-127.622 32.84 2765
+-127.496 32.84 2755
+-127.37 32.84 2744
+-127.244 32.84 2732
+-127.118 32.84 2719
+-126.992 32.84 2705
+-126.866 32.84 2690
+-126.74 32.84 2673
+-126.614 32.84 2655
+-126.488 32.84 2634
+-126.362 32.84 2612
+-126.236 32.84 2588
+-126.11 32.84 2561
+-125.984 32.84 2531
+-125.858 32.84 2498
+-125.732 32.84 2514
+-125.606 32.84 2490
+-125.48 32.84 2446
+-125.354 32.84 2398
+-125.228 32.84 2395
+-125.102 32.84 2365
+-124.976 32.84 2326
+-124.85 32.84 2302
+-124.724 32.84 2293
+-124.598 32.84 2325
+-124.472 32.84 2330
+-124.346 32.84 2344
+-124.22 32.84 2402
+-124.094 32.84 2500
+-123.968 32.84 2646
+-123.842 32.84 2805
+-123.716 32.84 2941
+-123.59 32.84 3074
+-123.464 32.84 3227
+-123.338 32.84 3256
+-123.212 32.84 3307
+-123.086 32.84 3352
+-122.96 32.84 3483
+-122.834 32.84 3723
+-122.708 32.84 3903
+-122.582 32.84 4012
+-122.456 32.84 4059
+-122.33 32.84 4116
+-122.204 32.84 4268
+-122.078 32.84 4369
+-121.952 32.84 4320
+-121.826 32.84 4438
+-121.7 32.84 4580
+-121.574 32.84 4726
+-121.448 32.84 4839
+-121.322 32.84 4887
+-121.196 32.84 5081
+-121.07 32.84 5168
+-120.944 32.84 5319
+-120.818 32.84 5485
+-120.692 32.84 5584
+-120.566 32.84 5759
+-120.44 32.84 5951
+-120.314 32.84 5995
+-120.188 32.84 6106
+-120.062 32.84 6348
+-119.936 32.84 6492
+-119.81 32.84 6688
+-119.684 32.84 6777
+-119.558 32.84 6952
+-119.432 32.84 7124
+-119.306 32.84 7249
+-119.18 32.84 7317
+-119.054 32.84 7555
+-118.928 32.84 7616
+-118.802 32.84 7786
+-118.676 32.84 7914
+-118.55 32.84 8042
+-118.424 32.84 8200
+-118.298 32.84 8378
+-118.172 32.84 8533
+-118.046 32.84 8670
+-117.92 32.84 8802
+-117.794 32.84 8913
+-117.668 32.84 9075
+-117.542 32.84 9191
+-117.416 32.84 9323
+-117.29 32.84 9479
+-117.164 32.84 9557
+-117.038 32.84 9718
+-116.912 32.84 9664
+-116.786 32.84 9506
+-116.66 32.84 9316
+-116.534 32.84 9211
+-116.408 32.84 9077
+-116.282 32.84 8890
+-116.156 32.84 8797
+-116.03 32.84 8663
+-115.904 32.84 8471
+-115.778 32.84 8404
+-115.652 32.84 8174
+-115.526 32.84 8038
+-115.4 32.84 7902
+-115.274 32.84 7745
+-115.148 32.84 7653
+-115.022 32.84 7536
+-114.896 32.84 7308
+-114.77 32.84 7246
+-114.644 32.84 7064
+-114.518 32.84 6965
+-114.392 32.84 6811
+-114.266 32.84 6705
+-114.14 32.84 6498
+-114.014 32.84 6362
+-113.888 32.84 6252
+-113.762 32.84 6075
+-113.636 32.84 6019
+-113.51 32.84 5786
+-113.384 32.84 5990
+-113.258 32.84 6155
+-113.132 32.84 6176
+-113.006 32.84 6359
+-112.88 32.84 6438
+-112.754 32.84 6554
+-112.628 32.84 6677
+-112.502 32.84 6816
+-112.376 32.84 6953
+-112.25 32.84 7056
+-112.124 32.84 7142
+-111.998 32.84 7319
+-111.872 32.84 7394
+-111.746 32.84 7470
+-111.62 32.84 7556
+-111.494 32.84 7651
+-111.368 32.84 7776
+-111.242 32.84 7834
+-111.116 32.84 7917
+-110.99 32.84 7969
+-110.864 32.84 8055
+-110.738 32.84 8087
+-110.612 32.84 8125
+-110.486 32.84 8109
+-110.36 32.84 8130
+-110.234 32.84 8102
+-110.108 32.84 8103
+-109.982 32.84 8043
+-109.856 32.84 7991
+-109.73 32.84 7933
+-109.604 32.84 7904
+-109.478 32.84 7846
+-109.352 32.84 7750
+-109.226 32.84 7683
+-109.1 32.84 7595
+-108.974 32.84 7432
+-108.848 32.84 7312
+-108.722 32.84 7183
+-108.596 32.84 7133
+-108.47 32.84 6952
+-108.344 32.84 6877
+-108.218 32.84 6793
+-108.092 32.84 6684
+-107.966 32.84 6558
+-107.84 32.84 6450
+-107.714 32.84 6355
+-107.588 32.84 6184
+-107.462 32.84 5966
+-107.336 32.84 5814
+-107.21 32.84 5722
+-107.084 32.84 5708
+-106.958 32.84 5557
+-106.832 32.84 5478
+-106.706 32.84 5336
+-106.58 32.84 5157
+-106.454 32.84 4965
+-106.328 32.84 4968
+-106.202 32.84 4767
+-106.076 32.84 4569
+-105.95 32.84 4560
+-105.824 32.84 4480
+-105.698 32.84 4435
+-105.572 32.84 4380
+-105.446 32.84 4231
+-105.32 32.84 4028
+-105.194 32.84 3791
+-105.068 32.84 3650
+-104.942 32.84 3669
+-104.816 32.84 3685
+-104.69 32.84 3645
+-104.564 32.84 3618
+-104.438 32.84 3609
+-104.312 32.84 3579
+-104.186 32.84 3579
+-104.06 32.84 3590
+-103.934 32.84 3603
+-103.808 32.84 3616
+-103.682 32.84 3628
+-103.556 32.84 3601
+-103.43 32.84 3612
+-103.304 32.84 3623
+-103.178 32.84 3633
+-103.052 32.84 3641
+-102.926 32.84 3650
+-102.8 32.84 3657
+-102.674 32.84 3664
+-102.548 32.84 3670
+-102.422 32.84 3676
+-102.296 32.84 3681
+-102.17 32.84 3686
+-102.044 32.84 3625
+-101.918 32.84 3600
+-101.792 32.84 3603
+-101.666 32.84 3605
+-101.54 32.84 3607
+-101.414 32.84 3556
+-101.288 32.84 3556
+-101.162 32.84 3556
+-101.036 32.84 3557
+-100.91 32.84 3557
+-100.784 32.84 3557
+-100.658 32.84 3557
+-100.532 32.84 3422
+-100.406 32.84 3421
+-100.28 32.84 3215
+-100.154 32.84 3205
+-100.028 32.84 3175
+-99.902 32.84 3145
+-99.776 32.84 2996
+-99.65 32.84 2978
+-99.524 32.84 2943
+-99.398 32.84 2760
+-99.272 32.84 2679
+-99.146 32.84 2703
+-99.02 32.84 2711
+-98.894 32.84 2816
+-98.768 32.84 2826
+-98.642 32.84 2824
+-98.516 32.84 2796
+-98.39 32.84 2784
+-98.264 32.84 2834
+-98.138 32.84 2831
+-98.012 32.84 2828
+-97.886 32.84 2825
+-97.76 32.84 2839
+-97.634 32.84 2835
+-97.508 32.84 2832
+-97.382 32.84 2801
+-97.256 32.84 2799
+-97.13 32.84 2814
+-97.004 32.84 2812
+-96.878 32.84 2809
+-96.752 32.84 2807
+-96.626 32.84 2795
+-96.5 32.84 2810
+-96.374 32.84 2807
+-96.248 32.84 2804
+-96.122 32.84 2800
+-95.996 32.84 2796
+-95.87 32.84 2789
+-95.744 32.84 2937
+-95.618 32.84 2923
+-95.492 32.84 2872
+-95.366 32.84 2856
+-95.24 32.84 2845
+-95.114 32.84 2825
+-94.988 32.84 2802
+-94.862 32.84 2819
+-94.736 32.84 2787
+-94.61 32.84 2750
+-94.484 32.84 2710
+-94.358 32.84 2668
+-94.232 32.84 2622
+-94.106 32.84 2599
+-93.98 32.84 2541
+-93.854 32.84 2518
+-93.728 32.84 2513
+-93.602 32.84 2560
+-93.476 32.84 2631
+-93.35 32.84 2722
+-93.224 32.84 2822
+-93.098 32.84 2977
+-92.972 32.84 3080
+-92.846 32.84 3175
+-92.72 32.84 3261
+-92.594 32.84 3385
+-92.468 32.84 3436
+-92.342 32.84 3502
+-92.216 32.84 3622
+-92.09 32.84 3686
+-91.964 32.84 3743
+-91.838 32.84 3905
+-91.712 32.84 4033
+-91.586 32.84 4011
+-91.46 32.84 4059
+-91.334 32.84 4109
+-91.208 32.84 4127
+-91.082 32.84 4150
+-90.956 32.84 4168
+-90.83 32.84 4202
+-90.704 32.84 4219
+-90.578 32.84 4226
+-90.452 32.84 4217
+-90.326 32.84 4199
+-90.2 32.84 4191
+-90.074 32.84 4224
+-89.948 32.84 4274
+-89.822 32.84 4297
+-89.696 32.84 4327
+-89.57 32.84 4348
+-89.444 32.84 4372
+-89.318 32.84 4381
+-89.192 32.84 4386
+-89.066 32.84 4385
+-88.94 32.84 4382
+-88.814 32.84 4379
+-88.688 32.84 4376
+-88.562 32.84 4381
+-88.436 32.84 4382
+-88.31 32.84 4384
+-88.184 32.84 4380
+-88.058 32.84 4356
+-87.932 32.84 4332
+-87.806 32.84 4313
+-87.68 32.84 4270
+-87.554 32.84 4232
+-87.428 32.84 4175
+-87.302 32.84 4116
+-87.176 32.84 4102
+-87.05 32.84 4083
+-86.924 32.84 4050
+-86.798 32.84 3972
+-86.672 32.84 3867
+-86.546 32.84 3787
+-86.42 32.84 3829
+-86.294 32.84 3853
+-86.168 32.84 3847
+-86.042 32.84 3782
+-85.916 32.84 3714
+-85.79 32.84 3675
+-85.664 32.84 3634
+-85.538 32.84 3568
+-85.412 32.84 3537
+-85.286 32.84 3507
+-85.16 32.84 3499
+-85.034 32.84 3514
+-84.908 32.84 3519
+-84.782 32.84 3550
+-84.656 32.84 3595
+-84.53 32.84 3662
+-84.404 32.84 3719
+-84.278 32.84 3773
+-84.152 32.84 3815
+-84.026 32.84 3834
+-83.9 32.84 3848
+-83.774 32.84 3898
+-83.648 32.84 3943
+-83.522 32.84 3987
+-83.396 32.84 4050
+-83.27 32.84 4106
+-83.144 32.84 4141
+-83.018 32.84 4146
+-82.892 32.84 4140
+-82.766 32.84 4163
+-82.64 32.84 4180
+-82.514 32.84 4188
+-82.388 32.84 4206
+-82.262 32.84 4213
+-82.136 32.84 4209
+-82.01 32.84 4199
+-81.884 32.84 4180
+-81.758 32.84 4163
+-81.632 32.84 4158
+-81.506 32.84 4142
+-81.38 32.84 4153
+-81.254 32.84 4144
+-81.128 32.84 4121
+-81.002 32.84 4082
+-80.876 32.84 4042
+-80.75 32.84 4032
+-80.624 32.84 3963
+-80.498 32.84 3926
+-80.372 32.84 3887
+-80.246 32.84 3845
+-80.12 32.84 3772
+-79.994 32.84 3734
+-79.868 32.84 3693
+-79.742 32.84 3616
+-79.616 32.84 3491
+-79.49 32.84 3409
+-79.364 32.84 3455
+-79.238 32.84 3477
+-79.112 32.84 3445
+-78.986 32.84 3405
+-78.86 32.84 3365
+-78.734 32.84 3349
+-78.608 32.84 3343
+-78.482 32.84 3352
+-78.356 32.84 3366
+-78.23 32.84 3361
+-78.104 32.84 3387
+-77.978 32.84 3398
+-77.852 32.84 3406
+-77.726 32.84 3419
+-77.6 32.84 3383
+-77.474 32.84 3339
+-77.348 32.84 3350
+-77.222 32.84 3351
+-77.096 32.84 3341
+-76.97 32.84 3358
+-76.844 32.84 3361
+-76.718 32.84 3353
+-76.592 32.84 3360
+-76.466 32.84 3364
+-76.34 32.84 3367
+-76.214 32.84 3354
+-76.088 32.84 3342
+-75.962 32.84 3359
+-75.836 32.84 3364
+-75.71 32.84 3369
+-75.584 32.84 3308
+-75.458 32.84 3305
+-75.332 32.84 3335
+-75.206 32.84 3339
+-75.08 32.84 3342
+-74.954 32.84 3346
+-74.828 32.84 3378
+-74.702 32.84 3323
+-74.576 32.84 3327
+-74.45 32.84 3331
+-74.324 32.84 3244
+-74.198 32.84 3235
+-74.072 32.84 3237
+-73.946 32.84 3239
+-73.82 32.84 3222
+-73.694 32.84 3223
+-73.568 32.84 3225
+-73.442 32.84 3226
+-73.316 32.84 3200
+-73.19 32.84 3240
+-73.064 32.84 3242
+-72.938 32.84 3229
+-72.812 32.84 3231
+-72.686 32.84 3234
+-72.56 32.84 3183
+-72.434 32.84 3329
+-72.308 32.84 3300
+-72.182 32.84 3301
+-72.056 32.84 3269
+-71.93 32.84 3272
+-71.804 32.84 3274
+-71.678 32.84 3379
+-71.552 32.84 3382
+-71.426 32.84 3384
+-71.3 32.84 3387
+-71.174 32.84 3389
+-71.048 32.84 3480
+-70.922 32.84 3484
+-70.796 32.84 3413
+-70.67 32.84 3416
+-70.544 32.84 3419
+-70.418 32.84 3421
+-70.292 32.84 3425
+-70.166 32.84 3392
+-70.04 32.84 3385
+-69.914 32.84 3340
+-69.788 32.84 3342
+-69.662 32.84 3307
+-69.536 32.84 3350
+-69.41 32.84 3352
+-69.284 32.84 3354
+-69.158 32.84 3357
+-69.032 32.84 3359
+-68.906 32.84 3361
+-68.78 32.84 3363
+-68.654 32.84 3339
+-68.528 32.84 3341
+-68.402 32.84 3343
+-68.276 32.84 3315
+-68.15 32.84 3285
+-68.024 32.84 3266
+-67.898 32.84 3267
+-67.772 32.84 3269
+-67.646 32.84 3270
+-67.52 32.84 3271
+-67.394 32.84 3273
+-67.268 32.84 3274
+-67.142 32.84 3202
+-67.016 32.84 3187
+-66.89 32.84 3189
+-66.764 32.84 3190
+-66.638 32.84 3192
+-66.512 32.84 3193
+-66.386 32.84 3195
+-66.26 32.84 3196
+-66.134 32.84 3197
+-66.008 32.84 3199
+-65.882 32.84 3200
+-65.756 32.84 3201
+-65.63 32.84 3202
+-65.504 32.84 3203
+-65.378 32.84 3204
+-65.252 32.84 3206
+-65.126 32.84 3196
+-128 32.788 2666
+-127.874 32.788 2786
+-127.748 32.788 2777
+-127.622 32.788 2768
+-127.496 32.788 2758
+-127.37 32.788 2747
+-127.244 32.788 2736
+-127.118 32.788 2724
+-126.992 32.788 2710
+-126.866 32.788 2696
+-126.74 32.788 2680
+-126.614 32.788 2663
+-126.488 32.788 2645
+-126.362 32.788 2625
+-126.236 32.788 2603
+-126.11 32.788 2579
+-125.984 32.788 2553
+-125.858 32.788 2578
+-125.732 32.788 2548
+-125.606 32.788 2515
+-125.48 32.788 2498
+-125.354 32.788 2463
+-125.228 32.788 2429
+-125.102 32.788 2443
+-124.976 32.788 2436
+-124.85 32.788 2422
+-124.724 32.788 2418
+-124.598 32.788 2456
+-124.472 32.788 2473
+-124.346 32.788 2502
+-124.22 32.788 2574
+-124.094 32.788 2659
+-123.968 32.788 2768
+-123.842 32.788 2888
+-123.716 32.788 3007
+-123.59 32.788 3073
+-123.464 32.788 3108
+-123.338 32.788 3181
+-123.212 32.788 3171
+-123.086 32.788 3138
+-122.96 32.788 3302
+-122.834 32.788 3569
+-122.708 32.788 3794
+-122.582 32.788 3931
+-122.456 32.788 4028
+-122.33 32.788 4144
+-122.204 32.788 4278
+-122.078 32.788 4388
+-121.952 32.788 4417
+-121.826 32.788 4462
+-121.7 32.788 4583
+-121.574 32.788 4723
+-121.448 32.788 4850
+-121.322 32.788 4981
+-121.196 32.788 5094
+-121.07 32.788 5160
+-120.944 32.788 5312
+-120.818 32.788 5391
+-120.692 32.788 5535
+-120.566 32.788 5718
+-120.44 32.788 5985
+-120.314 32.788 6113
+-120.188 32.788 6206
+-120.062 32.788 6355
+-119.936 32.788 6530
+-119.81 32.788 6659
+-119.684 32.788 6786
+-119.558 32.788 6951
+-119.432 32.788 7077
+-119.306 32.788 7214
+-119.18 32.788 7335
+-119.054 32.788 7452
+-118.928 32.788 7642
+-118.802 32.788 7724
+-118.676 32.788 7904
+-118.55 32.788 7994
+-118.424 32.788 8180
+-118.298 32.788 8360
+-118.172 32.788 8486
+-118.046 32.788 8613
+-117.92 32.788 8795
+-117.794 32.788 8907
+-117.668 32.788 9032
+-117.542 32.788 9182
+-117.416 32.788 9330
+-117.29 32.788 9494
+-117.164 32.788 9542
+-117.038 32.788 9674
+-116.912 32.788 9593
+-116.786 32.788 9513
+-116.66 32.788 9382
+-116.534 32.788 9198
+-116.408 32.788 9086
+-116.282 32.788 8937
+-116.156 32.788 8780
+-116.03 32.788 8668
+-115.904 32.788 8517
+-115.778 32.788 8290
+-115.652 32.788 8253
+-115.526 32.788 8083
+-115.4 32.788 7927
+-115.274 32.788 7808
+-115.148 32.788 7671
+-115.022 32.788 7510
+-114.896 32.788 7416
+-114.77 32.788 7179
+-114.644 32.788 7079
+-114.518 32.788 6881
+-114.392 32.788 6852
+-114.266 32.788 6730
+-114.14 32.788 6550
+-114.014 32.788 6438
+-113.888 32.788 6270
+-113.762 32.788 6124
+-113.636 32.788 6027
+-113.51 32.788 5957
+-113.384 32.788 6032
+-113.258 32.788 6097
+-113.132 32.788 6225
+-113.006 32.788 6376
+-112.88 32.788 6434
+-112.754 32.788 6630
+-112.628 32.788 6691
+-112.502 32.788 6865
+-112.376 32.788 6985
+-112.25 32.788 7049
+-112.124 32.788 7164
+-111.998 32.788 7291
+-111.872 32.788 7458
+-111.746 32.788 7570
+-111.62 32.788 7652
+-111.494 32.788 7745
+-111.368 32.788 7841
+-111.242 32.788 7924
+-111.116 32.788 7980
+-110.99 32.788 8030
+-110.864 32.788 8097
+-110.738 32.788 8112
+-110.612 32.788 8201
+-110.486 32.788 8193
+-110.36 32.788 8204
+-110.234 32.788 8173
+-110.108 32.788 8131
+-109.982 32.788 8098
+-109.856 32.788 8065
+-109.73 32.788 8017
+-109.604 32.788 7903
+-109.478 32.788 7846
+-109.352 32.788 7779
+-109.226 32.788 7695
+-109.1 32.788 7576
+-108.974 32.788 7437
+-108.848 32.788 7351
+-108.722 32.788 7246
+-108.596 32.788 7149
+-108.47 32.788 7046
+-108.344 32.788 6897
+-108.218 32.788 6762
+-108.092 32.788 6713
+-107.966 32.788 6624
+-107.84 32.788 6506
+-107.714 32.788 6362
+-107.588 32.788 6220
+-107.462 32.788 5996
+-107.336 32.788 5876
+-107.21 32.788 5754
+-107.084 32.788 5673
+-106.958 32.788 5539
+-106.832 32.788 5365
+-106.706 32.788 5376
+-106.58 32.788 5158
+-106.454 32.788 5005
+-106.328 32.788 4966
+-106.202 32.788 4804
+-106.076 32.788 4661
+-105.95 32.788 4531
+-105.824 32.788 4398
+-105.698 32.788 4425
+-105.572 32.788 4395
+-105.446 32.788 4247
+-105.32 32.788 4024
+-105.194 32.788 3709
+-105.068 32.788 3547
+-104.942 32.788 3619
+-104.816 32.788 3660
+-104.69 32.788 3667
+-104.564 32.788 3662
+-104.438 32.788 3623
+-104.312 32.788 3607
+-104.186 32.788 3615
+-104.06 32.788 3624
+-103.934 32.788 3617
+-103.808 32.788 3627
+-103.682 32.788 3616
+-103.556 32.788 3626
+-103.43 32.788 3635
+-103.304 32.788 3643
+-103.178 32.788 3651
+-103.052 32.788 3658
+-102.926 32.788 3665
+-102.8 32.788 3671
+-102.674 32.788 3677
+-102.548 32.788 3682
+-102.422 32.788 3687
+-102.296 32.788 3692
+-102.17 32.788 3629
+-102.044 32.788 3605
+-101.918 32.788 3607
+-101.792 32.788 3609
+-101.666 32.788 3610
+-101.54 32.788 3559
+-101.414 32.788 3558
+-101.288 32.788 3558
+-101.162 32.788 3558
+-101.036 32.788 3558
+-100.91 32.788 3558
+-100.784 32.788 3558
+-100.658 32.788 3422
+-100.532 32.788 3421
+-100.406 32.788 3420
+-100.28 32.788 3212
+-100.154 32.788 3201
+-100.028 32.788 3172
+-99.902 32.788 3142
+-99.776 32.788 2992
+-99.65 32.788 2947
+-99.524 32.788 2938
+-99.398 32.788 2738
+-99.272 32.788 2645
+-99.146 32.788 2693
+-99.02 32.788 2637
+-98.894 32.788 2737
+-98.768 32.788 2749
+-98.642 32.788 2783
+-98.516 32.788 2781
+-98.39 32.788 2770
+-98.264 32.788 2819
+-98.138 32.788 2816
+-98.012 32.788 2812
+-97.886 32.788 2826
+-97.76 32.788 2822
+-97.634 32.788 2818
+-97.508 32.788 2787
+-97.382 32.788 2784
+-97.256 32.788 2799
+-97.13 32.788 2796
+-97.004 32.788 2793
+-96.878 32.788 2791
+-96.752 32.788 2778
+-96.626 32.788 2793
+-96.5 32.788 2790
+-96.374 32.788 2786
+-96.248 32.788 2783
+-96.122 32.788 2779
+-95.996 32.788 2772
+-95.87 32.788 2777
+-95.744 32.788 2771
+-95.618 32.788 2764
+-95.492 32.788 2725
+-95.366 32.788 2850
+-95.24 32.788 2830
+-95.114 32.788 2808
+-94.988 32.788 2829
+-94.862 32.788 2797
+-94.736 32.788 2762
+-94.61 32.788 2724
+-94.484 32.788 2684
+-94.358 32.788 2640
+-94.232 32.788 2623
+-94.106 32.788 2563
+-93.98 32.788 2536
+-93.854 32.788 2515
+-93.728 32.788 2534
+-93.602 32.788 2567
+-93.476 32.788 2625
+-93.35 32.788 2705
+-93.224 32.788 2844
+-93.098 32.788 2948
+-92.972 32.788 3049
+-92.846 32.788 3143
+-92.72 32.788 3268
+-92.594 32.788 3329
+-92.468 32.788 3401
+-92.342 32.788 3467
+-92.216 32.788 3575
+-92.09 32.788 3636
+-91.964 32.788 3678
+-91.838 32.788 3855
+-91.712 32.788 3896
+-91.586 32.788 3875
+-91.46 32.788 3920
+-91.334 32.788 3980
+-91.208 32.788 4007
+-91.082 32.788 4040
+-90.956 32.788 4113
+-90.83 32.788 4156
+-90.704 32.788 4176
+-90.578 32.788 4171
+-90.452 32.788 4171
+-90.326 32.788 4137
+-90.2 32.788 4084
+-90.074 32.788 4160
+-89.948 32.788 4216
+-89.822 32.788 4259
+-89.696 32.788 4272
+-89.57 32.788 4304
+-89.444 32.788 4315
+-89.318 32.788 4329
+-89.192 32.788 4352
+-89.066 32.788 4347
+-88.94 32.788 4341
+-88.814 32.788 4333
+-88.688 32.788 4312
+-88.562 32.788 4340
+-88.436 32.788 4362
+-88.31 32.788 4347
+-88.184 32.788 4309
+-88.058 32.788 4301
+-87.932 32.788 4281
+-87.806 32.788 4261
+-87.68 32.788 4220
+-87.554 32.788 4175
+-87.428 32.788 4108
+-87.302 32.788 4058
+-87.176 32.788 4038
+-87.05 32.788 4052
+-86.924 32.788 4026
+-86.798 32.788 3957
+-86.672 32.788 3880
+-86.546 32.788 3826
+-86.42 32.788 3819
+-86.294 32.788 3810
+-86.168 32.788 3781
+-86.042 32.788 3708
+-85.916 32.788 3663
+-85.79 32.788 3612
+-85.664 32.788 3577
+-85.538 32.788 3538
+-85.412 32.788 3503
+-85.286 32.788 3477
+-85.16 32.788 3490
+-85.034 32.788 3529
+-84.908 32.788 3578
+-84.782 32.788 3627
+-84.656 32.788 3677
+-84.53 32.788 3745
+-84.404 32.788 3800
+-84.278 32.788 3838
+-84.152 32.788 3851
+-84.026 32.788 3840
+-83.9 32.788 3876
+-83.774 32.788 3961
+-83.648 32.788 4024
+-83.522 32.788 4083
+-83.396 32.788 4131
+-83.27 32.788 4177
+-83.144 32.788 4203
+-83.018 32.788 4202
+-82.892 32.788 4194
+-82.766 32.788 4210
+-82.64 32.788 4231
+-82.514 32.788 4252
+-82.388 32.788 4264
+-82.262 32.788 4277
+-82.136 32.788 4282
+-82.01 32.788 4283
+-81.884 32.788 4268
+-81.758 32.788 4242
+-81.632 32.788 4227
+-81.506 32.788 4222
+-81.38 32.788 4221
+-81.254 32.788 4211
+-81.128 32.788 4188
+-81.002 32.788 4158
+-80.876 32.788 4120
+-80.75 32.788 4078
+-80.624 32.788 4027
+-80.498 32.788 3974
+-80.372 32.788 3912
+-80.246 32.788 3864
+-80.12 32.788 3768
+-79.994 32.788 3711
+-79.868 32.788 3718
+-79.742 32.788 3654
+-79.616 32.788 3557
+-79.49 32.788 3484
+-79.364 32.788 3491
+-79.238 32.788 3475
+-79.112 32.788 3426
+-78.986 32.788 3376
+-78.86 32.788 3335
+-78.734 32.788 3300
+-78.608 32.788 3290
+-78.482 32.788 3321
+-78.356 32.788 3340
+-78.23 32.788 3378
+-78.104 32.788 3400
+-77.978 32.788 3414
+-77.852 32.788 3430
+-77.726 32.788 3398
+-77.6 32.788 3356
+-77.474 32.788 3366
+-77.348 32.788 3366
+-77.222 32.788 3355
+-77.096 32.788 3370
+-76.97 32.788 3372
+-76.844 32.788 3363
+-76.718 32.788 3368
+-76.592 32.788 3371
+-76.466 32.788 3373
+-76.34 32.788 3359
+-76.214 32.788 3347
+-76.088 32.788 3363
+-75.962 32.788 3368
+-75.836 32.788 3372
+-75.71 32.788 3311
+-75.584 32.788 3308
+-75.458 32.788 3337
+-75.332 32.788 3340
+-75.206 32.788 3343
+-75.08 32.788 3347
+-74.954 32.788 3379
+-74.828 32.788 3321
+-74.702 32.788 3327
+-74.576 32.788 3331
+-74.45 32.788 3245
+-74.324 32.788 3236
+-74.198 32.788 3237
+-74.072 32.788 3239
+-73.946 32.788 3222
+-73.82 32.788 3224
+-73.694 32.788 3225
+-73.568 32.788 3226
+-73.442 32.788 3200
+-73.316 32.788 3239
+-73.19 32.788 3241
+-73.064 32.788 3228
+-72.938 32.788 3231
+-72.812 32.788 3233
+-72.686 32.788 3183
+-72.56 32.788 3327
+-72.434 32.788 3298
+-72.308 32.788 3299
+-72.182 32.788 3267
+-72.056 32.788 3270
+-71.93 32.788 3272
+-71.804 32.788 3376
+-71.678 32.788 3378
+-71.552 32.788 3381
+-71.426 32.788 3383
+-71.3 32.788 3386
+-71.174 32.788 3476
+-71.048 32.788 3480
+-70.922 32.788 3410
+-70.796 32.788 3413
+-70.67 32.788 3416
+-70.544 32.788 3418
+-70.418 32.788 3422
+-70.292 32.788 3389
+-70.166 32.788 3382
+-70.04 32.788 3338
+-69.914 32.788 3340
+-69.788 32.788 3305
+-69.662 32.788 3348
+-69.536 32.788 3350
+-69.41 32.788 3352
+-69.284 32.788 3355
+-69.158 32.788 3357
+-69.032 32.788 3359
+-68.906 32.788 3361
+-68.78 32.788 3337
+-68.654 32.788 3339
+-68.528 32.788 3341
+-68.402 32.788 3314
+-68.276 32.788 3283
+-68.15 32.788 3264
+-68.024 32.788 3266
+-67.898 32.788 3267
+-67.772 32.788 3269
+-67.646 32.788 3270
+-67.52 32.788 3272
+-67.394 32.788 3273
+-67.268 32.788 3201
+-67.142 32.788 3187
+-67.016 32.788 3188
+-66.89 32.788 3190
+-66.764 32.788 3191
+-66.638 32.788 3192
+-66.512 32.788 3194
+-66.386 32.788 3195
+-66.26 32.788 3197
+-66.134 32.788 3198
+-66.008 32.788 3199
+-65.882 32.788 3200
+-65.756 32.788 3202
+-65.63 32.788 3203
+-65.504 32.788 3204
+-65.378 32.788 3205
+-65.252 32.788 3196
+-65.126 32.788 3197
+-128 32.736 2762
+-127.874 32.736 2755
+-127.748 32.736 2747
+-127.622 32.736 2739
+-127.496 32.736 2730
+-127.37 32.736 2721
+-127.244 32.736 2711
+-127.118 32.736 2700
+-126.992 32.736 2688
+-126.866 32.736 2703
+-126.74 32.736 2688
+-126.614 32.736 2673
+-126.488 32.736 2656
+-126.362 32.736 2638
+-126.236 32.736 2618
+-126.11 32.736 2597
+-125.984 32.736 2630
+-125.858 32.736 2606
+-125.732 32.736 2581
+-125.606 32.736 2555
+-125.48 32.736 2529
+-125.354 32.736 2522
+-125.228 32.736 2498
+-125.102 32.736 2478
+-124.976 32.736 2512
+-124.85 32.736 2520
+-124.724 32.736 2523
+-124.598 32.736 2571
+-124.472 32.736 2594
+-124.346 32.736 2631
+-124.22 32.736 2685
+-124.094 32.736 2777
+-123.968 32.736 2861
+-123.842 32.736 2970
+-123.716 32.736 3035
+-123.59 32.736 3073
+-123.464 32.736 3095
+-123.338 32.736 3127
+-123.212 32.736 3082
+-123.086 32.736 3006
+-122.96 32.736 3174
+-122.834 32.736 3477
+-122.708 32.736 3717
+-122.582 32.736 3843
+-122.456 32.736 3892
+-122.33 32.736 4022
+-122.204 32.736 4253
+-122.078 32.736 4398
+-121.952 32.736 4443
+-121.826 32.736 4426
+-121.7 32.736 4564
+-121.574 32.736 4739
+-121.448 32.736 4883
+-121.322 32.736 4907
+-121.196 32.736 5105
+-121.07 32.736 5160
+-120.944 32.736 5303
+-120.818 32.736 5440
+-120.692 32.736 5558
+-120.566 32.736 5733
+-120.44 32.736 5973
+-120.314 32.736 6119
+-120.188 32.736 6268
+-120.062 32.736 6321
+-119.936 32.736 6491
+-119.81 32.736 6588
+-119.684 32.736 6761
+-119.558 32.736 6926
+-119.432 32.736 7060
+-119.306 32.736 7162
+-119.18 32.736 7307
+-119.054 32.736 7444
+-118.928 32.736 7624
+-118.802 32.736 7763
+-118.676 32.736 7877
+-118.55 32.736 8027
+-118.424 32.736 8201
+-118.298 32.736 8339
+-118.172 32.736 8445
+-118.046 32.736 8598
+-117.92 32.736 8795
+-117.794 32.736 8910
+-117.668 32.736 9045
+-117.542 32.736 9213
+-117.416 32.736 9245
+-117.29 32.736 9468
+-117.164 32.736 9529
+-117.038 32.736 9632
+-116.912 32.736 9538
+-116.786 32.736 9494
+-116.66 32.736 9344
+-116.534 32.736 9222
+-116.408 32.736 9050
+-116.282 32.736 8911
+-116.156 32.736 8752
+-116.03 32.736 8641
+-115.904 32.736 8499
+-115.778 32.736 8317
+-115.652 32.736 8217
+-115.526 32.736 8117
+-115.4 32.736 7992
+-115.274 32.736 7782
+-115.148 32.736 7651
+-115.022 32.736 7552
+-114.896 32.736 7391
+-114.77 32.736 7236
+-114.644 32.736 7094
+-114.518 32.736 6939
+-114.392 32.736 6786
+-114.266 32.736 6662
+-114.14 32.736 6529
+-114.014 32.736 6318
+-113.888 32.736 6283
+-113.762 32.736 6131
+-113.636 32.736 6003
+-113.51 32.736 5848
+-113.384 32.736 5995
+-113.258 32.736 6151
+-113.132 32.736 6316
+-113.006 32.736 6394
+-112.88 32.736 6533
+-112.754 32.736 6609
+-112.628 32.736 6755
+-112.502 32.736 6888
+-112.376 32.736 7025
+-112.25 32.736 7110
+-112.124 32.736 7196
+-111.998 32.736 7383
+-111.872 32.736 7434
+-111.746 32.736 7598
+-111.62 32.736 7679
+-111.494 32.736 7785
+-111.368 32.736 7866
+-111.242 32.736 7926
+-111.116 32.736 7987
+-110.99 32.736 8074
+-110.864 32.736 8137
+-110.738 32.736 8188
+-110.612 32.736 8220
+-110.486 32.736 8243
+-110.36 32.736 8247
+-110.234 32.736 8221
+-110.108 32.736 8203
+-109.982 32.736 8159
+-109.856 32.736 8108
+-109.73 32.736 8043
+-109.604 32.736 7960
+-109.478 32.736 7906
+-109.352 32.736 7798
+-109.226 32.736 7691
+-109.1 32.736 7612
+-108.974 32.736 7479
+-108.848 32.736 7432
+-108.722 32.736 7289
+-108.596 32.736 7194
+-108.47 32.736 7100
+-108.344 32.736 6943
+-108.218 32.736 6839
+-108.092 32.736 6737
+-107.966 32.736 6628
+-107.84 32.736 6466
+-107.714 32.736 6291
+-107.588 32.736 6237
+-107.462 32.736 6016
+-107.336 32.736 5946
+-107.21 32.736 5820
+-107.084 32.736 5698
+-106.958 32.736 5585
+-106.832 32.736 5486
+-106.706 32.736 5407
+-106.58 32.736 5230
+-106.454 32.736 5058
+-106.328 32.736 4957
+-106.202 32.736 4817
+-106.076 32.736 4693
+-105.95 32.736 4530
+-105.824 32.736 4379
+-105.698 32.736 4432
+-105.572 32.736 4391
+-105.446 32.736 4257
+-105.32 32.736 4056
+-105.194 32.736 3816
+-105.068 32.736 3662
+-104.942 32.736 3645
+-104.816 32.736 3617
+-104.69 32.736 3601
+-104.564 32.736 3629
+-104.438 32.736 3665
+-104.312 32.736 3665
+-104.186 32.736 3642
+-104.06 32.736 3636
+-103.934 32.736 3645
+-103.808 32.736 3634
+-103.682 32.736 3642
+-103.556 32.736 3650
+-103.43 32.736 3657
+-103.304 32.736 3663
+-103.178 32.736 3669
+-103.052 32.736 3675
+-102.926 32.736 3680
+-102.8 32.736 3685
+-102.674 32.736 3690
+-102.548 32.736 3694
+-102.422 32.736 3698
+-102.296 32.736 3634
+-102.17 32.736 3610
+-102.044 32.736 3612
+-101.918 32.736 3613
+-101.792 32.736 3614
+-101.666 32.736 3562
+-101.54 32.736 3561
+-101.414 32.736 3561
+-101.288 32.736 3560
+-101.162 32.736 3560
+-101.036 32.736 3559
+-100.91 32.736 3559
+-100.784 32.736 3422
+-100.658 32.736 3421
+-100.532 32.736 3420
+-100.406 32.736 3420
+-100.28 32.736 3208
+-100.154 32.736 3198
+-100.028 32.736 3168
+-99.902 32.736 3000
+-99.776 32.736 2949
+-99.65 32.736 2932
+-99.524 32.736 2934
+-99.398 32.736 2732
+-99.272 32.736 2637
+-99.146 32.736 2684
+-99.02 32.736 2626
+-98.894 32.736 2634
+-98.768 32.736 2733
+-98.642 32.736 2731
+-98.516 32.736 2765
+-98.39 32.736 2755
+-98.264 32.736 2804
+-98.138 32.736 2800
+-98.012 32.736 2814
+-97.886 32.736 2809
+-97.76 32.736 2805
+-97.634 32.736 2772
+-97.508 32.736 2769
+-97.382 32.736 2784
+-97.256 32.736 2780
+-97.13 32.736 2777
+-97.004 32.736 2774
+-96.878 32.736 2761
+-96.752 32.736 2775
+-96.626 32.736 2772
+-96.5 32.736 2768
+-96.374 32.736 2764
+-96.248 32.736 2761
+-96.122 32.736 2754
+-95.996 32.736 2759
+-95.87 32.736 2754
+-95.744 32.736 2748
+-95.618 32.736 2709
+-95.492 32.736 2701
+-95.366 32.736 2732
+-95.24 32.736 2718
+-95.114 32.736 2707
+-94.988 32.736 2809
+-94.862 32.736 2775
+-94.736 32.736 2737
+-94.61 32.736 2698
+-94.484 32.736 2652
+-94.358 32.736 2631
+-94.232 32.736 2559
+-94.106 32.736 2515
+-93.98 32.736 2468
+-93.854 32.736 2455
+-93.728 32.736 2457
+-93.602 32.736 2492
+-93.476 32.736 2560
+-93.35 32.736 2685
+-93.224 32.736 2794
+-93.098 32.736 2905
+-92.972 32.736 3010
+-92.846 32.736 3140
+-92.72 32.736 3213
+-92.594 32.736 3294
+-92.468 32.736 3366
+-92.342 32.736 3448
+-92.216 32.736 3550
+-92.09 32.736 3597
+-91.964 32.736 3670
+-91.838 32.736 3834
+-91.712 32.736 3804
+-91.586 32.736 3790
+-91.46 32.736 3782
+-91.334 32.736 3818
+-91.208 32.736 3858
+-91.082 32.736 3950
+-90.956 32.736 4021
+-90.83 32.736 4099
+-90.704 32.736 4113
+-90.578 32.736 4123
+-90.452 32.736 4134
+-90.326 32.736 4125
+-90.2 32.736 4117
+-90.074 32.736 4139
+-89.948 32.736 4166
+-89.822 32.736 4205
+-89.696 32.736 4229
+-89.57 32.736 4241
+-89.444 32.736 4237
+-89.318 32.736 4217
+-89.192 32.736 4249
+-89.066 32.736 4266
+-88.94 32.736 4290
+-88.814 32.736 4302
+-88.688 32.736 4310
+-88.562 32.736 4311
+-88.436 32.736 4313
+-88.31 32.736 4297
+-88.184 32.736 4262
+-88.058 32.736 4223
+-87.932 32.736 4202
+-87.806 32.736 4181
+-87.68 32.736 4165
+-87.554 32.736 4118
+-87.428 32.736 4054
+-87.302 32.736 3988
+-87.176 32.736 4030
+-87.05 32.736 4033
+-86.924 32.736 4005
+-86.798 32.736 3954
+-86.672 32.736 3887
+-86.546 32.736 3821
+-86.42 32.736 3796
+-86.294 32.736 3755
+-86.168 32.736 3702
+-86.042 32.736 3646
+-85.916 32.736 3625
+-85.79 32.736 3580
+-85.664 32.736 3536
+-85.538 32.736 3510
+-85.412 32.736 3450
+-85.286 32.736 3423
+-85.16 32.736 3458
+-85.034 32.736 3535
+-84.908 32.736 3607
+-84.782 32.736 3686
+-84.656 32.736 3766
+-84.53 32.736 3831
+-84.404 32.736 3871
+-84.278 32.736 3893
+-84.152 32.736 3896
+-84.026 32.736 3892
+-83.9 32.736 3945
+-83.774 32.736 4038
+-83.648 32.736 4098
+-83.522 32.736 4137
+-83.396 32.736 4163
+-83.27 32.736 4205
+-83.144 32.736 4225
+-83.018 32.736 4225
+-82.892 32.736 4228
+-82.766 32.736 4245
+-82.64 32.736 4290
+-82.514 32.736 4299
+-82.388 32.736 4321
+-82.262 32.736 4323
+-82.136 32.736 4322
+-82.01 32.736 4306
+-81.884 32.736 4321
+-81.758 32.736 4308
+-81.632 32.736 4295
+-81.506 32.736 4295
+-81.38 32.736 4275
+-81.254 32.736 4267
+-81.128 32.736 4245
+-81.002 32.736 4204
+-80.876 32.736 4162
+-80.75 32.736 4119
+-80.624 32.736 4068
+-80.498 32.736 4000
+-80.372 32.736 3947
+-80.246 32.736 3907
+-80.12 32.736 3838
+-79.994 32.736 3761
+-79.868 32.736 3716
+-79.742 32.736 3685
+-79.616 32.736 3651
+-79.49 32.736 3580
+-79.364 32.736 3535
+-79.238 32.736 3476
+-79.112 32.736 3386
+-78.986 32.736 3325
+-78.86 32.736 3268
+-78.734 32.736 3187
+-78.608 32.736 3224
+-78.482 32.736 3294
+-78.356 32.736 3367
+-78.23 32.736 3417
+-78.104 32.736 3409
+-77.978 32.736 3432
+-77.852 32.736 3408
+-77.726 32.736 3370
+-77.6 32.736 3380
+-77.474 32.736 3380
+-77.348 32.736 3369
+-77.222 32.736 3383
+-77.096 32.736 3383
+-76.97 32.736 3373
+-76.844 32.736 3377
+-76.718 32.736 3379
+-76.592 32.736 3380
+-76.466 32.736 3365
+-76.34 32.736 3352
+-76.214 32.736 3368
+-76.088 32.736 3371
+-75.962 32.736 3375
+-75.836 32.736 3315
+-75.71 32.736 3311
+-75.584 32.736 3339
+-75.458 32.736 3342
+-75.332 32.736 3345
+-75.206 32.736 3348
+-75.08 32.736 3379
+-74.954 32.736 3325
+-74.828 32.736 3328
+-74.702 32.736 3331
+-74.576 32.736 3245
+-74.45 32.736 3237
+-74.324 32.736 3238
+-74.198 32.736 3239
+-74.072 32.736 3223
+-73.946 32.736 3224
+-73.82 32.736 3225
+-73.694 32.736 3226
+-73.568 32.736 3200
+-73.442 32.736 3239
+-73.316 32.736 3241
+-73.19 32.736 3228
+-73.064 32.736 3230
+-72.938 32.736 3233
+-72.812 32.736 3183
+-72.686 32.736 3324
+-72.56 32.736 3295
+-72.434 32.736 3297
+-72.308 32.736 3265
+-72.182 32.736 3267
+-72.056 32.736 3270
+-71.93 32.736 3372
+-71.804 32.736 3375
+-71.678 32.736 3377
+-71.552 32.736 3380
+-71.426 32.736 3383
+-71.3 32.736 3472
+-71.174 32.736 3476
+-71.048 32.736 3406
+-70.922 32.736 3409
+-70.796 32.736 3412
+-70.67 32.736 3415
+-70.544 32.736 3419
+-70.418 32.736 3386
+-70.292 32.736 3379
+-70.166 32.736 3335
+-70.04 32.736 3338
+-69.914 32.736 3303
+-69.788 32.736 3345
+-69.662 32.736 3348
+-69.536 32.736 3350
+-69.41 32.736 3353
+-69.284 32.736 3355
+-69.158 32.736 3357
+-69.032 32.736 3360
+-68.906 32.736 3336
+-68.78 32.736 3338
+-68.654 32.736 3340
+-68.528 32.736 3312
+-68.402 32.736 3282
+-68.276 32.736 3263
+-68.15 32.736 3265
+-68.024 32.736 3266
+-67.898 32.736 3268
+-67.772 32.736 3269
+-67.646 32.736 3271
+-67.52 32.736 3272
+-67.394 32.736 3200
+-67.268 32.736 3186
+-67.142 32.736 3187
+-67.016 32.736 3189
+-66.89 32.736 3190
+-66.764 32.736 3192
+-66.638 32.736 3193
+-66.512 32.736 3195
+-66.386 32.736 3196
+-66.26 32.736 3197
+-66.134 32.736 3198
+-66.008 32.736 3200
+-65.882 32.736 3201
+-65.756 32.736 3202
+-65.63 32.736 3203
+-65.504 32.736 3205
+-65.378 32.736 3195
+-65.252 32.736 3196
+-65.126 32.736 3198
+-128 32.684 2765
+-127.874 32.684 2758
+-127.748 32.684 2751
+-127.622 32.684 2743
+-127.496 32.684 2735
+-127.37 32.684 2726
+-127.244 32.684 2717
+-127.118 32.684 2706
+-126.992 32.684 2696
+-126.866 32.684 2684
+-126.74 32.684 2671
+-126.614 32.684 2658
+-126.488 32.684 2644
+-126.362 32.684 2651
+-126.236 32.684 2634
+-126.11 32.684 2671
+-125.984 32.684 2653
+-125.858 32.684 2633
+-125.732 32.684 2613
+-125.606 32.684 2593
+-125.48 32.684 2573
+-125.354 32.684 2555
+-125.228 32.684 2557
+-125.102 32.684 2545
+-124.976 32.684 2587
+-124.85 32.684 2587
+-124.724 32.684 2611
+-124.598 32.684 2627
+-124.472 32.684 2688
+-124.346 32.684 2726
+-124.22 32.684 2776
+-124.094 32.684 2856
+-123.968 32.684 2949
+-123.842 32.684 3008
+-123.716 32.684 3051
+-123.59 32.684 3082
+-123.464 32.684 3085
+-123.338 32.684 3050
+-123.212 32.684 3008
+-123.086 32.684 3071
+-122.96 32.684 3222
+-122.834 32.684 3460
+-122.708 32.684 3681
+-122.582 32.684 3799
+-122.456 32.684 3779
+-122.33 32.684 3906
+-122.204 32.684 4172
+-122.078 32.684 4377
+-121.952 32.684 4437
+-121.826 32.684 4481
+-121.7 32.684 4619
+-121.574 32.684 4743
+-121.448 32.684 4875
+-121.322 32.684 4996
+-121.196 32.684 5144
+-121.07 32.684 5236
+-120.944 32.684 5325
+-120.818 32.684 5466
+-120.692 32.684 5686
+-120.566 32.684 5785
+-120.44 32.684 5974
+-120.314 32.684 6120
+-120.188 32.684 6268
+-120.062 32.684 6373
+-119.936 32.684 6512
+-119.81 32.684 6660
+-119.684 32.684 6787
+-119.558 32.684 6924
+-119.432 32.684 7096
+-119.306 32.684 7209
+-119.18 32.684 7327
+-119.054 32.684 7538
+-118.928 32.684 7607
+-118.802 32.684 7785
+-118.676 32.684 7917
+-118.55 32.684 8028
+-118.424 32.684 8220
+-118.298 32.684 8335
+-118.172 32.684 8420
+-118.046 32.684 8597
+-117.92 32.684 8728
+-117.794 32.684 8903
+-117.668 32.684 9026
+-117.542 32.684 9164
+-117.416 32.684 9264
+-117.29 32.684 9427
+-117.164 32.684 9511
+-117.038 32.684 9582
+-116.912 32.684 9568
+-116.786 32.684 9423
+-116.66 32.684 9248
+-116.534 32.684 9177
+-116.408 32.684 8995
+-116.282 32.684 8862
+-116.156 32.684 8802
+-116.03 32.684 8598
+-115.904 32.684 8523
+-115.778 32.684 8372
+-115.652 32.684 8195
+-115.526 32.684 8097
+-115.4 32.684 7898
+-115.274 32.684 7741
+-115.148 32.684 7586
+-115.022 32.684 7518
+-114.896 32.684 7379
+-114.77 32.684 7256
+-114.644 32.684 7062
+-114.518 32.684 6971
+-114.392 32.684 6744
+-114.266 32.684 6656
+-114.14 32.684 6489
+-114.014 32.684 6406
+-113.888 32.684 6262
+-113.762 32.684 6088
+-113.636 32.684 6062
+-113.51 32.684 6005
+-113.384 32.684 6086
+-113.258 32.684 6225
+-113.132 32.684 6323
+-113.006 32.684 6433
+-112.88 32.684 6564
+-112.754 32.684 6647
+-112.628 32.684 6800
+-112.502 32.684 6902
+-112.376 32.684 7033
+-112.25 32.684 7162
+-112.124 32.684 7243
+-111.998 32.684 7430
+-111.872 32.684 7453
+-111.746 32.684 7620
+-111.62 32.684 7770
+-111.494 32.684 7792
+-111.368 32.684 7916
+-111.242 32.684 8003
+-111.116 32.684 8036
+-110.99 32.684 8129
+-110.864 32.684 8201
+-110.738 32.684 8262
+-110.612 32.684 8280
+-110.486 32.684 8307
+-110.36 32.684 8325
+-110.234 32.684 8311
+-110.108 32.684 8264
+-109.982 32.684 8192
+-109.856 32.684 8201
+-109.73 32.684 8075
+-109.604 32.684 8027
+-109.478 32.684 7933
+-109.352 32.684 7847
+-109.226 32.684 7743
+-109.1 32.684 7646
+-108.974 32.684 7485
+-108.848 32.684 7438
+-108.722 32.684 7342
+-108.596 32.684 7221
+-108.47 32.684 7129
+-108.344 32.684 6973
+-108.218 32.684 6820
+-108.092 32.684 6697
+-107.966 32.684 6620
+-107.84 32.684 6407
+-107.714 32.684 6376
+-107.588 32.684 6251
+-107.462 32.684 6089
+-107.336 32.684 5942
+-107.21 32.684 5837
+-107.084 32.684 5686
+-106.958 32.684 5615
+-106.832 32.684 5490
+-106.706 32.684 5454
+-106.58 32.684 5285
+-106.454 32.684 5103
+-106.328 32.684 4952
+-106.202 32.684 4811
+-106.076 32.684 4682
+-105.95 32.684 4590
+-105.824 32.684 4509
+-105.698 32.684 4462
+-105.572 32.684 4421
+-105.446 32.684 4306
+-105.32 32.684 4122
+-105.194 32.684 3922
+-105.068 32.684 3754
+-104.942 32.684 3580
+-104.816 32.684 3442
+-104.69 32.684 3500
+-104.564 32.684 3605
+-104.438 32.684 3657
+-104.312 32.684 3701
+-104.186 32.684 3698
+-104.06 32.684 3685
+-103.934 32.684 3653
+-103.808 32.684 3661
+-103.682 32.684 3667
+-103.556 32.684 3673
+-103.43 32.684 3678
+-103.304 32.684 3683
+-103.178 32.684 3687
+-103.052 32.684 3692
+-102.926 32.684 3696
+-102.8 32.684 3699
+-102.674 32.684 3703
+-102.548 32.684 3706
+-102.422 32.684 3640
+-102.296 32.684 3616
+-102.17 32.684 3617
+-102.044 32.684 3618
+-101.918 32.684 3619
+-101.792 32.684 3565
+-101.666 32.684 3564
+-101.54 32.684 3563
+-101.414 32.684 3562
+-101.288 32.684 3562
+-101.162 32.684 3561
+-101.036 32.684 3560
+-100.91 32.684 3422
+-100.784 32.684 3421
+-100.658 32.684 3420
+-100.532 32.684 3419
+-100.406 32.684 3418
+-100.28 32.684 3204
+-100.154 32.684 3167
+-100.028 32.684 3165
+-99.902 32.684 2996
+-99.776 32.684 2945
+-99.65 32.684 2927
+-99.524 32.684 2891
+-99.398 32.684 2726
+-99.272 32.684 2616
+-99.146 32.684 2659
+-99.02 32.684 2614
+-98.894 32.684 2622
+-98.768 32.684 2717
+-98.642 32.684 2751
+-98.516 32.684 2748
+-98.39 32.684 2740
+-98.264 32.684 2789
+-98.138 32.684 2802
+-98.012 32.684 2797
+-97.886 32.684 2792
+-97.76 32.684 2758
+-97.634 32.684 2755
+-97.508 32.684 2769
+-97.382 32.684 2765
+-97.256 32.684 2761
+-97.13 32.684 2757
+-97.004 32.684 2743
+-96.878 32.684 2757
+-96.752 32.684 2754
+-96.626 32.684 2750
+-96.5 32.684 2745
+-96.374 32.684 2741
+-96.248 32.684 2735
+-96.122 32.684 2740
+-95.996 32.684 2735
+-95.87 32.684 2729
+-95.744 32.684 2690
+-95.618 32.684 2684
+-95.492 32.684 2717
+-95.366 32.684 2705
+-95.24 32.684 2696
+-95.114 32.684 2679
+-94.988 32.684 2661
+-94.862 32.684 2636
+-94.736 32.684 2606
+-94.61 32.684 2570
+-94.484 32.684 2647
+-94.358 32.684 2565
+-94.232 32.684 2503
+-94.106 32.684 2426
+-93.98 32.684 2365
+-93.854 32.684 2312
+-93.728 32.684 2299
+-93.602 32.684 2344
+-93.476 32.684 2461
+-93.35 32.684 2588
+-93.224 32.684 2722
+-93.098 32.684 2850
+-92.972 32.684 2992
+-92.846 32.684 3085
+-92.72 32.684 3178
+-92.594 32.684 3259
+-92.468 32.684 3301
+-92.342 32.684 3458
+-92.216 32.684 3512
+-92.09 32.684 3589
+-91.964 32.684 3624
+-91.838 32.684 3628
+-91.712 32.684 3733
+-91.586 32.684 3699
+-91.46 32.684 3651
+-91.334 32.684 3661
+-91.208 32.684 3714
+-91.082 32.684 3805
+-90.956 32.684 3908
+-90.83 32.684 3989
+-90.704 32.684 4031
+-90.578 32.684 4050
+-90.452 32.684 4084
+-90.326 32.684 4087
+-90.2 32.684 4084
+-90.074 32.684 4084
+-89.948 32.684 4115
+-89.822 32.684 4142
+-89.696 32.684 4155
+-89.57 32.684 4173
+-89.444 32.684 4170
+-89.318 32.684 4150
+-89.192 32.684 4167
+-89.066 32.684 4186
+-88.94 32.684 4188
+-88.814 32.684 4207
+-88.688 32.684 4221
+-88.562 32.684 4220
+-88.436 32.684 4201
+-88.31 32.684 4190
+-88.184 32.684 4160
+-88.058 32.684 4145
+-87.932 32.684 4112
+-87.806 32.684 4084
+-87.68 32.684 4098
+-87.554 32.684 4080
+-87.428 32.684 4051
+-87.302 32.684 4019
+-87.176 32.684 4016
+-87.05 32.684 4005
+-86.924 32.684 3958
+-86.798 32.684 3914
+-86.672 32.684 3833
+-86.546 32.684 3762
+-86.42 32.684 3687
+-86.294 32.684 3639
+-86.168 32.684 3597
+-86.042 32.684 3545
+-85.916 32.684 3550
+-85.79 32.684 3533
+-85.664 32.684 3527
+-85.538 32.684 3491
+-85.412 32.684 3430
+-85.286 32.684 3382
+-85.16 32.684 3437
+-85.034 32.684 3544
+-84.908 32.684 3640
+-84.782 32.684 3739
+-84.656 32.684 3813
+-84.53 32.684 3880
+-84.404 32.684 3933
+-84.278 32.684 3970
+-84.152 32.684 3985
+-84.026 32.684 4000
+-83.9 32.684 4046
+-83.774 32.684 4107
+-83.648 32.684 4142
+-83.522 32.684 4153
+-83.396 32.684 4172
+-83.27 32.684 4214
+-83.144 32.684 4229
+-83.018 32.684 4244
+-82.892 32.684 4252
+-82.766 32.684 4288
+-82.64 32.684 4329
+-82.514 32.684 4355
+-82.388 32.684 4360
+-82.262 32.684 4351
+-82.136 32.684 4342
+-82.01 32.684 4344
+-81.884 32.684 4364
+-81.758 32.684 4343
+-81.632 32.684 4327
+-81.506 32.684 4316
+-81.38 32.684 4305
+-81.254 32.684 4272
+-81.128 32.684 4273
+-81.002 32.684 4234
+-80.876 32.684 4193
+-80.75 32.684 4150
+-80.624 32.684 4100
+-80.498 32.684 4034
+-80.372 32.684 3968
+-80.246 32.684 3924
+-80.12 32.684 3899
+-79.994 32.684 3819
+-79.868 32.684 3730
+-79.742 32.684 3677
+-79.616 32.684 3678
+-79.49 32.684 3620
+-79.364 32.684 3553
+-79.238 32.684 3476
+-79.112 32.684 3366
+-78.986 32.684 3290
+-78.86 32.684 3236
+-78.734 32.684 3089
+-78.608 32.684 3172
+-78.482 32.684 3285
+-78.356 32.684 3367
+-78.23 32.684 3423
+-78.104 32.684 3431
+-77.978 32.684 3458
+-77.852 32.684 3381
+-77.726 32.684 3393
+-77.6 32.684 3393
+-77.474 32.684 3382
+-77.348 32.684 3395
+-77.222 32.684 3395
+-77.096 32.684 3384
+-76.97 32.684 3387
+-76.844 32.684 3387
+-76.718 32.684 3387
+-76.592 32.684 3371
+-76.466 32.684 3357
+-76.34 32.684 3372
+-76.214 32.684 3375
+-76.088 32.684 3378
+-75.962 32.684 3318
+-75.836 32.684 3314
+-75.71 32.684 3342
+-75.584 32.684 3344
+-75.458 32.684 3346
+-75.332 32.684 3349
+-75.206 32.684 3380
+-75.08 32.684 3323
+-74.954 32.684 3328
+-74.828 32.684 3331
+-74.702 32.684 3246
+-74.576 32.684 3237
+-74.45 32.684 3238
+-74.324 32.684 3239
+-74.198 32.684 3223
+-74.072 32.684 3224
+-73.946 32.684 3225
+-73.82 32.684 3226
+-73.694 32.684 3200
+-73.568 32.684 3238
+-73.442 32.684 3240
+-73.316 32.684 3227
+-73.19 32.684 3230
+-73.064 32.684 3232
+-72.938 32.684 3183
+-72.812 32.684 3321
+-72.686 32.684 3293
+-72.56 32.684 3295
+-72.434 32.684 3263
+-72.308 32.684 3265
+-72.182 32.684 3268
+-72.056 32.684 3368
+-71.93 32.684 3371
+-71.804 32.684 3374
+-71.678 32.684 3377
+-71.552 32.684 3379
+-71.426 32.684 3467
+-71.3 32.684 3471
+-71.174 32.684 3403
+-71.048 32.684 3406
+-70.922 32.684 3409
+-70.796 32.684 3412
+-70.67 32.684 3416
+-70.544 32.684 3384
+-70.418 32.684 3376
+-70.292 32.684 3333
+-70.166 32.684 3336
+-70.04 32.684 3300
+-69.914 32.684 3343
+-69.788 32.684 3346
+-69.662 32.684 3348
+-69.536 32.684 3351
+-69.41 32.684 3353
+-69.284 32.684 3356
+-69.158 32.684 3358
+-69.032 32.684 3334
+-68.906 32.684 3336
+-68.78 32.684 3338
+-68.654 32.684 3311
+-68.528 32.684 3281
+-68.402 32.684 3262
+-68.276 32.684 3264
+-68.15 32.684 3265
+-68.024 32.684 3267
+-67.898 32.684 3268
+-67.772 32.684 3270
+-67.646 32.684 3271
+-67.52 32.684 3199
+-67.394 32.684 3185
+-67.268 32.684 3186
+-67.142 32.684 3188
+-67.016 32.684 3189
+-66.89 32.684 3191
+-66.764 32.684 3192
+-66.638 32.684 3194
+-66.512 32.684 3195
+-66.386 32.684 3197
+-66.26 32.684 3198
+-66.134 32.684 3199
+-66.008 32.684 3200
+-65.882 32.684 3202
+-65.756 32.684 3203
+-65.63 32.684 3204
+-65.504 32.684 3194
+-65.378 32.684 3196
+-65.252 32.684 3197
+-65.126 32.684 3198
+-128 32.632 2769
+-127.874 32.632 2762
+-127.748 32.632 2755
+-127.622 32.632 2748
+-127.496 32.632 2740
+-127.37 32.632 2731
+-127.244 32.632 2723
+-127.118 32.632 2713
+-126.992 32.632 2703
+-126.866 32.632 2692
+-126.74 32.632 2681
+-126.614 32.632 2669
+-126.488 32.632 2656
+-126.362 32.632 2643
+-126.236 32.632 2707
+-126.11 32.632 2692
+-125.984 32.632 2676
+-125.858 32.632 2660
+-125.732 32.632 2644
+-125.606 32.632 2628
+-125.48 32.632 2613
+-125.354 32.632 2600
+-125.228 32.632 2590
+-125.102 32.632 2649
+-124.976 32.632 2646
+-124.85 32.632 2650
+-124.724 32.632 2661
+-124.598 32.632 2695
+-124.472 32.632 2722
+-124.346 32.632 2789
+-124.22 32.632 2849
+-124.094 32.632 2900
+-123.968 32.632 2983
+-123.842 32.632 3029
+-123.716 32.632 3075
+-123.59 32.632 3112
+-123.464 32.632 3073
+-123.338 32.632 2991
+-123.212 32.632 2878
+-123.086 32.632 3031
+-122.96 32.632 3244
+-122.834 32.632 3443
+-122.708 32.632 3650
+-122.582 32.632 3780
+-122.456 32.632 3836
+-122.33 32.632 3931
+-122.204 32.632 4155
+-122.078 32.632 4373
+-121.952 32.632 4441
+-121.826 32.632 4516
+-121.7 32.632 4616
+-121.574 32.632 4679
+-121.448 32.632 4841
+-121.322 32.632 5045
+-121.196 32.632 5183
+-121.07 32.632 5259
+-120.944 32.632 5359
+-120.818 32.632 5498
+-120.692 32.632 5655
+-120.566 32.632 5841
+-120.44 32.632 6014
+-120.314 32.632 6034
+-120.188 32.632 6198
+-120.062 32.632 6365
+-119.936 32.632 6516
+-119.81 32.632 6686
+-119.684 32.632 6785
+-119.558 32.632 6973
+-119.432 32.632 7059
+-119.306 32.632 7170
+-119.18 32.632 7306
+-119.054 32.632 7429
+-118.928 32.632 7582
+-118.802 32.632 7743
+-118.676 32.632 7863
+-118.55 32.632 8021
+-118.424 32.632 8149
+-118.298 32.632 8347
+-118.172 32.632 8467
+-118.046 32.632 8623
+-117.92 32.632 8744
+-117.794 32.632 8884
+-117.668 32.632 9042
+-117.542 32.632 9092
+-117.416 32.632 9294
+-117.29 32.632 9358
+-117.164 32.632 9442
+-117.038 32.632 9531
+-116.912 32.632 9459
+-116.786 32.632 9429
+-116.66 32.632 9263
+-116.534 32.632 9121
+-116.408 32.632 9062
+-116.282 32.632 8862
+-116.156 32.632 8770
+-116.03 32.632 8668
+-115.904 32.632 8430
+-115.778 32.632 8348
+-115.652 32.632 8132
+-115.526 32.632 8060
+-115.4 32.632 7885
+-115.274 32.632 7759
+-115.148 32.632 7626
+-115.022 32.632 7464
+-114.896 32.632 7368
+-114.77 32.632 7286
+-114.644 32.632 7114
+-114.518 32.632 6945
+-114.392 32.632 6775
+-114.266 32.632 6701
+-114.14 32.632 6503
+-114.014 32.632 6398
+-113.888 32.632 6297
+-113.762 32.632 6155
+-113.636 32.632 6063
+-113.51 32.632 5862
+-113.384 32.632 6087
+-113.258 32.632 6222
+-113.132 32.632 6315
+-113.006 32.632 6436
+-112.88 32.632 6508
+-112.754 32.632 6653
+-112.628 32.632 6793
+-112.502 32.632 6948
+-112.376 32.632 7053
+-112.25 32.632 7168
+-112.124 32.632 7317
+-111.998 32.632 7429
+-111.872 32.632 7518
+-111.746 32.632 7688
+-111.62 32.632 7794
+-111.494 32.632 7853
+-111.368 32.632 7953
+-111.242 32.632 8072
+-111.116 32.632 8131
+-110.99 32.632 8178
+-110.864 32.632 8242
+-110.738 32.632 8281
+-110.612 32.632 8336
+-110.486 32.632 8369
+-110.36 32.632 8354
+-110.234 32.632 8358
+-110.108 32.632 8317
+-109.982 32.632 8245
+-109.856 32.632 8170
+-109.73 32.632 8118
+-109.604 32.632 8076
+-109.478 32.632 8021
+-109.352 32.632 7901
+-109.226 32.632 7779
+-109.1 32.632 7646
+-108.974 32.632 7606
+-108.848 32.632 7498
+-108.722 32.632 7362
+-108.596 32.632 7278
+-108.47 32.632 7119
+-108.344 32.632 6964
+-108.218 32.632 6904
+-108.092 32.632 6775
+-107.966 32.632 6585
+-107.84 32.632 6521
+-107.714 32.632 6368
+-107.588 32.632 6251
+-107.462 32.632 6174
+-107.336 32.632 5946
+-107.21 32.632 5907
+-107.084 32.632 5757
+-106.958 32.632 5618
+-106.832 32.632 5487
+-106.706 32.632 5455
+-106.58 32.632 5303
+-106.454 32.632 5111
+-106.328 32.632 4953
+-106.202 32.632 4807
+-106.076 32.632 4612
+-105.95 32.632 4554
+-105.824 32.632 4563
+-105.698 32.632 4491
+-105.572 32.632 4427
+-105.446 32.632 4309
+-105.32 32.632 4186
+-105.194 32.632 3961
+-105.068 32.632 3768
+-104.942 32.632 3480
+-104.816 32.632 3286
+-104.69 32.632 3422
+-104.564 32.632 3585
+-104.438 32.632 3679
+-104.312 32.632 3717
+-104.186 32.632 3718
+-104.06 32.632 3739
+-103.934 32.632 3720
+-103.808 32.632 3686
+-103.682 32.632 3691
+-103.556 32.632 3695
+-103.43 32.632 3699
+-103.304 32.632 3702
+-103.178 32.632 3705
+-103.052 32.632 3708
+-102.926 32.632 3711
+-102.8 32.632 3714
+-102.674 32.632 3716
+-102.548 32.632 3648
+-102.422 32.632 3624
+-102.296 32.632 3624
+-102.17 32.632 3624
+-102.044 32.632 3625
+-101.918 32.632 3569
+-101.792 32.632 3568
+-101.666 32.632 3566
+-101.54 32.632 3565
+-101.414 32.632 3564
+-101.288 32.632 3563
+-101.162 32.632 3562
+-101.036 32.632 3422
+-100.91 32.632 3421
+-100.784 32.632 3420
+-100.658 32.632 3419
+-100.532 32.632 3418
+-100.406 32.632 3417
+-100.28 32.632 3174
+-100.154 32.632 3162
+-100.028 32.632 3161
+-99.902 32.632 2992
+-99.776 32.632 2940
+-99.65 32.632 2922
+-99.524 32.632 2880
+-99.398 32.632 2683
+-99.272 32.632 2608
+-99.146 32.632 2650
+-99.02 32.632 2603
+-98.894 32.632 2609
+-98.768 32.632 2644
+-98.642 32.632 2677
+-98.516 32.632 2731
+-98.39 32.632 2725
+-98.264 32.632 2790
+-98.138 32.632 2785
+-98.012 32.632 2779
+-97.886 32.632 2745
+-97.76 32.632 2741
+-97.634 32.632 2754
+-97.508 32.632 2749
+-97.382 32.632 2745
+-97.256 32.632 2740
+-97.13 32.632 2726
+-97.004 32.632 2739
+-96.878 32.632 2735
+-96.752 32.632 2730
+-96.626 32.632 2726
+-96.5 32.632 2721
+-96.374 32.632 2714
+-96.248 32.632 2720
+-96.122 32.632 2715
+-95.996 32.632 2709
+-95.87 32.632 2670
+-95.744 32.632 2664
+-95.618 32.632 2699
+-95.492 32.632 2689
+-95.366 32.632 2682
+-95.24 32.632 2668
+-95.114 32.632 2654
+-94.988 32.632 2632
+-94.862 32.632 2606
+-94.736 32.632 2574
+-94.61 32.632 2570
+-94.484 32.632 2500
+-94.358 32.632 2448
+-94.232 32.632 2368
+-94.106 32.632 2338
+-93.98 32.632 2226
+-93.854 32.632 2132
+-93.728 32.632 2100
+-93.602 32.632 2166
+-93.476 32.632 2302
+-93.35 32.632 2471
+-93.224 32.632 2640
+-93.098 32.632 2810
+-92.972 32.632 2934
+-92.846 32.632 3047
+-92.72 32.632 3142
+-92.594 32.632 3199
+-92.468 32.632 3308
+-92.342 32.632 3420
+-92.216 32.632 3456
+-92.09 32.632 3546
+-91.964 32.632 3578
+-91.838 32.632 3585
+-91.712 32.632 3673
+-91.586 32.632 3609
+-91.46 32.632 3546
+-91.334 32.632 3519
+-91.208 32.632 3582
+-91.082 32.632 3707
+-90.956 32.632 3816
+-90.83 32.632 3878
+-90.704 32.632 3919
+-90.578 32.632 3957
+-90.452 32.632 3975
+-90.326 32.632 3980
+-90.2 32.632 3975
+-90.074 32.632 3997
+-89.948 32.632 4029
+-89.822 32.632 4064
+-89.696 32.632 4106
+-89.57 32.632 4139
+-89.444 32.632 4145
+-89.318 32.632 4148
+-89.192 32.632 4125
+-89.066 32.632 4098
+-88.94 32.632 4111
+-88.814 32.632 4122
+-88.688 32.632 4137
+-88.562 32.632 4132
+-88.436 32.632 4125
+-88.31 32.632 4102
+-88.184 32.632 4080
+-88.058 32.632 4067
+-87.932 32.632 4058
+-87.806 32.632 4037
+-87.68 32.632 4064
+-87.554 32.632 4047
+-87.428 32.632 4031
+-87.302 32.632 3991
+-87.176 32.632 3977
+-87.05 32.632 3948
+-86.924 32.632 3904
+-86.798 32.632 3851
+-86.672 32.632 3770
+-86.546 32.632 3671
+-86.42 32.632 3594
+-86.294 32.632 3515
+-86.168 32.632 3476
+-86.042 32.632 3470
+-85.916 32.632 3499
+-85.79 32.632 3509
+-85.664 32.632 3543
+-85.538 32.632 3512
+-85.412 32.632 3472
+-85.286 32.632 3439
+-85.16 32.632 3490
+-85.034 32.632 3597
+-84.908 32.632 3680
+-84.782 32.632 3781
+-84.656 32.632 3873
+-84.53 32.632 3939
+-84.404 32.632 3991
+-84.278 32.632 4023
+-84.152 32.632 4050
+-84.026 32.632 4060
+-83.9 32.632 4115
+-83.774 32.632 4158
+-83.648 32.632 4180
+-83.522 32.632 4182
+-83.396 32.632 4204
+-83.27 32.632 4245
+-83.144 32.632 4269
+-83.018 32.632 4263
+-82.892 32.632 4290
+-82.766 32.632 4345
+-82.64 32.632 4371
+-82.514 32.632 4391
+-82.388 32.632 4402
+-82.262 32.632 4395
+-82.136 32.632 4384
+-82.01 32.632 4389
+-81.884 32.632 4383
+-81.758 32.632 4378
+-81.632 32.632 4377
+-81.506 32.632 4367
+-81.38 32.632 4344
+-81.254 32.632 4310
+-81.128 32.632 4303
+-81.002 32.632 4268
+-80.876 32.632 4218
+-80.75 32.632 4181
+-80.624 32.632 4147
+-80.498 32.632 4091
+-80.372 32.632 4051
+-80.246 32.632 3984
+-80.12 32.632 3934
+-79.994 32.632 3863
+-79.868 32.632 3772
+-79.742 32.632 3711
+-79.616 32.632 3693
+-79.49 32.632 3642
+-79.364 32.632 3562
+-79.238 32.632 3511
+-79.112 32.632 3432
+-78.986 32.632 3344
+-78.86 32.632 3283
+-78.734 32.632 3194
+-78.608 32.632 3236
+-78.482 32.632 3321
+-78.356 32.632 3391
+-78.23 32.632 3415
+-78.104 32.632 3449
+-77.978 32.632 3431
+-77.852 32.632 3450
+-77.726 32.632 3443
+-77.6 32.632 3447
+-77.474 32.632 3467
+-77.348 32.632 3406
+-77.222 32.632 3394
+-77.096 32.632 3396
+-76.97 32.632 3395
+-76.844 32.632 3395
+-76.718 32.632 3378
+-76.592 32.632 3363
+-76.466 32.632 3377
+-76.34 32.632 3379
+-76.214 32.632 3381
+-76.088 32.632 3321
+-75.962 32.632 3317
+-75.836 32.632 3344
+-75.71 32.632 3346
+-75.584 32.632 3347
+-75.458 32.632 3350
+-75.332 32.632 3380
+-75.206 32.632 3326
+-75.08 32.632 3328
+-74.954 32.632 3331
+-74.828 32.632 3246
+-74.702 32.632 3237
+-74.576 32.632 3238
+-74.45 32.632 3239
+-74.324 32.632 3223
+-74.198 32.632 3224
+-74.072 32.632 3225
+-73.946 32.632 3225
+-73.82 32.632 3200
+-73.694 32.632 3237
+-73.568 32.632 3240
+-73.442 32.632 3227
+-73.316 32.632 3229
+-73.19 32.632 3232
+-73.064 32.632 3183
+-72.938 32.632 3318
+-72.812 32.632 3291
+-72.686 32.632 3293
+-72.56 32.632 3260
+-72.434 32.632 3263
+-72.308 32.632 3266
+-72.182 32.632 3364
+-72.056 32.632 3367
+-71.93 32.632 3370
+-71.804 32.632 3373
+-71.678 32.632 3376
+-71.552 32.632 3463
+-71.426 32.632 3467
+-71.3 32.632 3399
+-71.174 32.632 3403
+-71.048 32.632 3406
+-70.922 32.632 3409
+-70.796 32.632 3412
+-70.67 32.632 3381
+-70.544 32.632 3373
+-70.418 32.632 3331
+-70.292 32.632 3333
+-70.166 32.632 3298
+-70.04 32.632 3341
+-69.914 32.632 3343
+-69.788 32.632 3346
+-69.662 32.632 3349
+-69.536 32.632 3351
+-69.41 32.632 3354
+-69.284 32.632 3356
+-69.158 32.632 3332
+-69.032 32.632 3334
+-68.906 32.632 3337
+-68.78 32.632 3309
+-68.654 32.632 3279
+-68.528 32.632 3261
+-68.402 32.632 3263
+-68.276 32.632 3264
+-68.15 32.632 3266
+-68.024 32.632 3267
+-67.898 32.632 3269
+-67.772 32.632 3270
+-67.646 32.632 3198
+-67.52 32.632 3184
+-67.394 32.632 3185
+-67.268 32.632 3187
+-67.142 32.632 3189
+-67.016 32.632 3190
+-66.89 32.632 3192
+-66.764 32.632 3193
+-66.638 32.632 3194
+-66.512 32.632 3196
+-66.386 32.632 3197
+-66.26 32.632 3199
+-66.134 32.632 3200
+-66.008 32.632 3201
+-65.882 32.632 3202
+-65.756 32.632 3204
+-65.63 32.632 3194
+-65.504 32.632 3195
+-65.378 32.632 3197
+-65.252 32.632 3198
+-65.126 32.632 3199
+-128 32.58 2772
+-127.874 32.58 2766
+-127.748 32.58 2759
+-127.622 32.58 2752
+-127.496 32.58 2745
+-127.37 32.58 2737
+-127.244 32.58 2729
+-127.118 32.58 2720
+-126.992 32.58 2711
+-126.866 32.58 2701
+-126.74 32.58 2691
+-126.614 32.58 2680
+-126.488 32.58 2668
+-126.362 32.58 2656
+-126.236 32.58 2644
+-126.11 32.58 2711
+-125.984 32.58 2698
+-125.858 32.58 2684
+-125.732 32.58 2671
+-125.606 32.58 2659
+-125.48 32.58 2647
+-125.354 32.58 2637
+-125.228 32.58 2630
+-125.102 32.58 2626
+-124.976 32.58 2691
+-124.85 32.58 2695
+-124.724 32.58 2705
+-124.598 32.58 2722
+-124.472 32.58 2780
+-124.346 32.58 2811
+-124.22 32.58 2880
+-124.094 32.58 2924
+-123.968 32.58 2989
+-123.842 32.58 3037
+-123.716 32.58 3080
+-123.59 32.58 3124
+-123.464 32.58 3096
+-123.338 32.58 3054
+-123.212 32.58 3016
+-123.086 32.58 3079
+-122.96 32.58 3205
+-122.834 32.58 3420
+-122.708 32.58 3612
+-122.582 32.58 3755
+-122.456 32.58 3866
+-122.33 32.58 3967
+-122.204 32.58 4120
+-122.078 32.58 4312
+-121.952 32.58 4401
+-121.826 32.58 4458
+-121.7 32.58 4579
+-121.574 32.58 4556
+-121.448 32.58 4790
+-121.322 32.58 5039
+-121.196 32.58 5183
+-121.07 32.58 5229
+-120.944 32.58 5392
+-120.818 32.58 5544
+-120.692 32.58 5635
+-120.566 32.58 5856
+-120.44 32.58 5997
+-120.314 32.58 6118
+-120.188 32.58 6214
+-120.062 32.58 6340
+-119.936 32.58 6495
+-119.81 32.58 6677
+-119.684 32.58 6759
+-119.558 32.58 6857
+-119.432 32.58 7017
+-119.306 32.58 7226
+-119.18 32.58 7273
+-119.054 32.58 7439
+-118.928 32.58 7621
+-118.802 32.58 7720
+-118.676 32.58 7915
+-118.55 32.58 7968
+-118.424 32.58 8173
+-118.298 32.58 8307
+-118.172 32.58 8497
+-118.046 32.58 8607
+-117.92 32.58 8690
+-117.794 32.58 8864
+-117.668 32.58 8965
+-117.542 32.58 9105
+-117.416 32.58 9204
+-117.29 32.58 9345
+-117.164 32.58 9424
+-117.038 32.58 9443
+-116.912 32.58 9454
+-116.786 32.58 9356
+-116.66 32.58 9278
+-116.534 32.58 9094
+-116.408 32.58 9032
+-116.282 32.58 8912
+-116.156 32.58 8738
+-116.03 32.58 8593
+-115.904 32.58 8529
+-115.778 32.58 8395
+-115.652 32.58 8179
+-115.526 32.58 8061
+-115.4 32.58 7894
+-115.274 32.58 7781
+-115.148 32.58 7596
+-115.022 32.58 7534
+-114.896 32.58 7352
+-114.77 32.58 7213
+-114.644 32.58 7087
+-114.518 32.58 6935
+-114.392 32.58 6787
+-114.266 32.58 6709
+-114.14 32.58 6543
+-114.014 32.58 6432
+-113.888 32.58 6300
+-113.762 32.58 6162
+-113.636 32.58 6057
+-113.51 32.58 5982
+-113.384 32.58 6079
+-113.258 32.58 6215
+-113.132 32.58 6361
+-113.006 32.58 6505
+-112.88 32.58 6603
+-112.754 32.58 6746
+-112.628 32.58 6785
+-112.502 32.58 6995
+-112.376 32.58 7085
+-112.25 32.58 7194
+-112.124 32.58 7362
+-111.998 32.58 7432
+-111.872 32.58 7572
+-111.746 32.58 7700
+-111.62 32.58 7786
+-111.494 32.58 7890
+-111.368 32.58 7937
+-111.242 32.58 8073
+-111.116 32.58 8119
+-110.99 32.58 8229
+-110.864 32.58 8300
+-110.738 32.58 8349
+-110.612 32.58 8412
+-110.486 32.58 8387
+-110.36 32.58 8426
+-110.234 32.58 8428
+-110.108 32.58 8371
+-109.982 32.58 8309
+-109.856 32.58 8280
+-109.73 32.58 8218
+-109.604 32.58 8103
+-109.478 32.58 7988
+-109.352 32.58 7928
+-109.226 32.58 7840
+-109.1 32.58 7720
+-108.974 32.58 7620
+-108.848 32.58 7547
+-108.722 32.58 7409
+-108.596 32.58 7298
+-108.47 32.58 7151
+-108.344 32.58 6971
+-108.218 32.58 6862
+-108.092 32.58 6773
+-107.966 32.58 6645
+-107.84 32.58 6555
+-107.714 32.58 6399
+-107.588 32.58 6250
+-107.462 32.58 6114
+-107.336 32.58 6002
+-107.21 32.58 5918
+-107.084 32.58 5690
+-106.958 32.58 5624
+-106.832 32.58 5536
+-106.706 32.58 5421
+-106.58 32.58 5313
+-106.454 32.58 5109
+-106.328 32.58 4985
+-106.202 32.58 4847
+-106.076 32.58 4754
+-105.95 32.58 4641
+-105.824 32.58 4586
+-105.698 32.58 4489
+-105.572 32.58 4391
+-105.446 32.58 4302
+-105.32 32.58 4173
+-105.194 32.58 4044
+-105.068 32.58 3834
+-104.942 32.58 3609
+-104.816 32.58 3452
+-104.69 32.58 3520
+-104.564 32.58 3639
+-104.438 32.58 3735
+-104.312 32.58 3769
+-104.186 32.58 3787
+-104.06 32.58 3764
+-103.934 32.58 3776
+-103.808 32.58 3750
+-103.682 32.58 3714
+-103.556 32.58 3717
+-103.43 32.58 3719
+-103.304 32.58 3721
+-103.178 32.58 3723
+-103.052 32.58 3724
+-102.926 32.58 3726
+-102.8 32.58 3727
+-102.674 32.58 3656
+-102.548 32.58 3633
+-102.422 32.58 3632
+-102.296 32.58 3632
+-102.17 32.58 3631
+-102.044 32.58 3574
+-101.918 32.58 3572
+-101.792 32.58 3570
+-101.666 32.58 3568
+-101.54 32.58 3566
+-101.414 32.58 3565
+-101.288 32.58 3563
+-101.162 32.58 3423
+-101.036 32.58 3421
+-100.91 32.58 3420
+-100.784 32.58 3419
+-100.658 32.58 3418
+-100.532 32.58 3417
+-100.406 32.58 3289
+-100.28 32.58 3169
+-100.154 32.58 3157
+-100.028 32.58 3145
+-99.902 32.58 2988
+-99.776 32.58 2935
+-99.65 32.58 2917
+-99.524 32.58 2875
+-99.398 32.58 2670
+-99.272 32.58 2600
+-99.146 32.58 2594
+-99.02 32.58 2591
+-98.894 32.58 2569
+-98.768 32.58 2629
+-98.642 32.58 2660
+-98.516 32.58 2675
+-98.39 32.58 2722
+-98.264 32.58 2773
+-98.138 32.58 2767
+-98.012 32.58 2732
+-97.886 32.58 2727
+-97.76 32.58 2740
+-97.634 32.58 2734
+-97.508 32.58 2729
+-97.382 32.58 2724
+-97.256 32.58 2708
+-97.13 32.58 2721
+-97.004 32.58 2716
+-96.878 32.58 2711
+-96.752 32.58 2705
+-96.626 32.58 2700
+-96.5 32.58 2693
+-96.374 32.58 2698
+-96.248 32.58 2693
+-96.122 32.58 2687
+-95.996 32.58 2648
+-95.87 32.58 2642
+-95.744 32.58 2679
+-95.618 32.58 2671
+-95.492 32.58 2666
+-95.366 32.58 2654
+-95.24 32.58 2643
+-95.114 32.58 2625
+-94.988 32.58 2605
+-94.862 32.58 2578
+-94.736 32.58 2583
+-94.61 32.58 2518
+-94.484 32.58 2474
+-94.358 32.58 2418
+-94.232 32.58 2325
+-94.106 32.58 2211
+-93.98 32.58 2083
+-93.854 32.58 1972
+-93.728 32.58 1928
+-93.602 32.58 1999
+-93.476 32.58 2165
+-93.35 32.58 2371
+-93.224 32.58 2582
+-93.098 32.58 2751
+-92.972 32.58 2896
+-92.846 32.58 3006
+-92.72 32.58 3103
+-92.594 32.58 3203
+-92.468 32.58 3273
+-92.342 32.58 3359
+-92.216 32.58 3414
+-92.09 32.58 3499
+-91.964 32.58 3522
+-91.838 32.58 3551
+-91.712 32.58 3617
+-91.586 32.58 3569
+-91.46 32.58 3499
+-91.334 32.58 3456
+-91.208 32.58 3519
+-91.082 32.58 3643
+-90.956 32.58 3759
+-90.83 32.58 3795
+-90.704 32.58 3852
+-90.578 32.58 3874
+-90.452 32.58 3882
+-90.326 32.58 3875
+-90.2 32.58 3865
+-90.074 32.58 3910
+-89.948 32.58 3936
+-89.822 32.58 3971
+-89.696 32.58 4024
+-89.57 32.58 4073
+-89.444 32.58 4096
+-89.318 32.58 4101
+-89.192 32.58 4080
+-89.066 32.58 4057
+-88.94 32.58 4060
+-88.814 32.58 4044
+-88.688 32.58 4052
+-88.562 32.58 4065
+-88.436 32.58 4048
+-88.31 32.58 4020
+-88.184 32.58 4003
+-88.058 32.58 4001
+-87.932 32.58 4031
+-87.806 32.58 4031
+-87.68 32.58 4015
+-87.554 32.58 4010
+-87.428 32.58 3979
+-87.302 32.58 3939
+-87.176 32.58 3917
+-87.05 32.58 3892
+-86.924 32.58 3824
+-86.798 32.58 3767
+-86.672 32.58 3677
+-86.546 32.58 3581
+-86.42 32.58 3489
+-86.294 32.58 3395
+-86.168 32.58 3337
+-86.042 32.58 3376
+-85.916 32.58 3452
+-85.79 32.58 3499
+-85.664 32.58 3548
+-85.538 32.58 3544
+-85.412 32.58 3542
+-85.286 32.58 3555
+-85.16 32.58 3585
+-85.034 32.58 3677
+-84.908 32.58 3744
+-84.782 32.58 3839
+-84.656 32.58 3928
+-84.53 32.58 3990
+-84.404 32.58 4027
+-84.278 32.58 4044
+-84.152 32.58 4061
+-84.026 32.58 4085
+-83.9 32.58 4161
+-83.774 32.58 4172
+-83.648 32.58 4223
+-83.522 32.58 4249
+-83.396 32.58 4269
+-83.27 32.58 4302
+-83.144 32.58 4308
+-83.018 32.58 4338
+-82.892 32.58 4370
+-82.766 32.58 4426
+-82.64 32.58 4442
+-82.514 32.58 4455
+-82.388 32.58 4462
+-82.262 32.58 4472
+-82.136 32.58 4480
+-82.01 32.58 4466
+-81.884 32.58 4460
+-81.758 32.58 4442
+-81.632 32.58 4425
+-81.506 32.58 4427
+-81.38 32.58 4400
+-81.254 32.58 4377
+-81.128 32.58 4335
+-81.002 32.58 4303
+-80.876 32.58 4249
+-80.75 32.58 4217
+-80.624 32.58 4195
+-80.498 32.58 4135
+-80.372 32.58 4115
+-80.246 32.58 4063
+-80.12 32.58 3986
+-79.994 32.58 3911
+-79.868 32.58 3847
+-79.742 32.58 3785
+-79.616 32.58 3727
+-79.49 32.58 3653
+-79.364 32.58 3554
+-79.238 32.58 3502
+-79.112 32.58 3501
+-78.986 32.58 3449
+-78.86 32.58 3387
+-78.734 32.58 3337
+-78.608 32.58 3347
+-78.482 32.58 3389
+-78.356 32.58 3410
+-78.23 32.58 3444
+-78.104 32.58 3431
+-77.978 32.58 3452
+-77.852 32.58 3446
+-77.726 32.58 3452
+-77.6 32.58 3471
+-77.474 32.58 3473
+-77.348 32.58 3463
+-77.222 32.58 3467
+-77.096 32.58 3403
+-76.97 32.58 3402
+-76.844 32.58 3384
+-76.718 32.58 3368
+-76.592 32.58 3381
+-76.466 32.58 3382
+-76.34 32.58 3384
+-76.214 32.58 3324
+-76.088 32.58 3319
+-75.962 32.58 3345
+-75.836 32.58 3347
+-75.71 32.58 3348
+-75.584 32.58 3350
+-75.458 32.58 3380
+-75.332 32.58 3324
+-75.206 32.58 3328
+-75.08 32.58 3331
+-74.954 32.58 3247
+-74.828 32.58 3238
+-74.702 32.58 3238
+-74.576 32.58 3239
+-74.45 32.58 3223
+-74.324 32.58 3224
+-74.198 32.58 3224
+-74.072 32.58 3225
+-73.946 32.58 3200
+-73.82 32.58 3237
+-73.694 32.58 3239
+-73.568 32.58 3226
+-73.442 32.58 3228
+-73.316 32.58 3231
+-73.19 32.58 3182
+-73.064 32.58 3315
+-72.938 32.58 3288
+-72.812 32.58 3290
+-72.686 32.58 3258
+-72.56 32.58 3261
+-72.434 32.58 3263
+-72.308 32.58 3360
+-72.182 32.58 3363
+-72.056 32.58 3366
+-71.93 32.58 3369
+-71.804 32.58 3372
+-71.678 32.58 3458
+-71.552 32.58 3462
+-71.426 32.58 3395
+-71.3 32.58 3399
+-71.174 32.58 3402
+-71.048 32.58 3406
+-70.922 32.58 3409
+-70.796 32.58 3378
+-70.67 32.58 3370
+-70.544 32.58 3328
+-70.418 32.58 3331
+-70.292 32.58 3296
+-70.166 32.58 3338
+-70.04 32.58 3341
+-69.914 32.58 3344
+-69.788 32.58 3346
+-69.662 32.58 3349
+-69.536 32.58 3352
+-69.41 32.58 3354
+-69.284 32.58 3330
+-69.158 32.58 3333
+-69.032 32.58 3335
+-68.906 32.58 3308
+-68.78 32.58 3278
+-68.654 32.58 3260
+-68.528 32.58 3261
+-68.402 32.58 3263
+-68.276 32.58 3265
+-68.15 32.58 3266
+-68.024 32.58 3268
+-67.898 32.58 3269
+-67.772 32.58 3197
+-67.646 32.58 3183
+-67.52 32.58 3184
+-67.394 32.58 3186
+-67.268 32.58 3188
+-67.142 32.58 3189
+-67.016 32.58 3191
+-66.89 32.58 3192
+-66.764 32.58 3194
+-66.638 32.58 3195
+-66.512 32.58 3197
+-66.386 32.58 3198
+-66.26 32.58 3199
+-66.134 32.58 3201
+-66.008 32.58 3202
+-65.882 32.58 3203
+-65.756 32.58 3193
+-65.63 32.58 3195
+-65.504 32.58 3196
+-65.378 32.58 3197
+-65.252 32.58 3199
+-65.126 32.58 3153
+-128 32.528 2776
+-127.874 32.528 2770
+-127.748 32.528 2764
+-127.622 32.528 2757
+-127.496 32.528 2750
+-127.37 32.528 2743
+-127.244 32.528 2735
+-127.118 32.528 2727
+-126.992 32.528 2719
+-126.866 32.528 2710
+-126.74 32.528 2700
+-126.614 32.528 2691
+-126.488 32.528 2680
+-126.362 32.528 2670
+-126.236 32.528 2659
+-126.11 32.528 2648
+-125.984 32.528 2718
+-125.858 32.528 2707
+-125.732 32.528 2696
+-125.606 32.528 2685
+-125.48 32.528 2675
+-125.354 32.528 2667
+-125.228 32.528 2661
+-125.102 32.528 2657
+-124.976 32.528 2656
+-124.85 32.528 2685
+-124.724 32.528 2723
+-124.598 32.528 2758
+-124.472 32.528 2772
+-124.346 32.528 2823
+-124.22 32.528 2876
+-124.094 32.528 2924
+-123.968 32.528 2987
+-123.842 32.528 3043
+-123.716 32.528 3076
+-123.59 32.528 3146
+-123.464 32.528 3170
+-123.338 32.528 3136
+-123.212 32.528 3097
+-123.086 32.528 3047
+-122.96 32.528 3170
+-122.834 32.528 3415
+-122.708 32.528 3600
+-122.582 32.528 3739
+-122.456 32.528 3855
+-122.33 32.528 3961
+-122.204 32.528 4127
+-122.078 32.528 4281
+-121.952 32.528 4382
+-121.826 32.528 4360
+-121.7 32.528 4523
+-121.574 32.528 4666
+-121.448 32.528 4857
+-121.322 32.528 5035
+-121.196 32.528 5064
+-121.07 32.528 5245
+-120.944 32.528 5406
+-120.818 32.528 5532
+-120.692 32.528 5652
+-120.566 32.528 5853
+-120.44 32.528 5921
+-120.314 32.528 6099
+-120.188 32.528 6248
+-120.062 32.528 6333
+-119.936 32.528 6466
+-119.81 32.528 6649
+-119.684 32.528 6701
+-119.558 32.528 6902
+-119.432 32.528 7060
+-119.306 32.528 7197
+-119.18 32.528 7298
+-119.054 32.528 7489
+-118.928 32.528 7614
+-118.802 32.528 7731
+-118.676 32.528 7898
+-118.55 32.528 8021
+-118.424 32.528 8119
+-118.298 32.528 8318
+-118.172 32.528 8435
+-118.046 32.528 8578
+-117.92 32.528 8722
+-117.794 32.528 8816
+-117.668 32.528 8986
+-117.542 32.528 9060
+-117.416 32.528 9183
+-117.29 32.528 9338
+-117.164 32.528 9346
+-117.038 32.528 9408
+-116.912 32.528 9366
+-116.786 32.528 9319
+-116.66 32.528 9200
+-116.534 32.528 9093
+-116.408 32.528 8978
+-116.282 32.528 8811
+-116.156 32.528 8704
+-116.03 32.528 8595
+-115.904 32.528 8468
+-115.778 32.528 8326
+-115.652 32.528 8166
+-115.526 32.528 8043
+-115.4 32.528 7856
+-115.274 32.528 7761
+-115.148 32.528 7636
+-115.022 32.528 7490
+-114.896 32.528 7339
+-114.77 32.528 7246
+-114.644 32.528 7093
+-114.518 32.528 6945
+-114.392 32.528 6801
+-114.266 32.528 6666
+-114.14 32.528 6445
+-114.014 32.528 6385
+-113.888 32.528 6249
+-113.762 32.528 6118
+-113.636 32.528 6033
+-113.51 32.528 6059
+-113.384 32.528 6111
+-113.258 32.528 6208
+-113.132 32.528 6308
+-113.006 32.528 6485
+-112.88 32.528 6659
+-112.754 32.528 6732
+-112.628 32.528 6865
+-112.502 32.528 6982
+-112.376 32.528 7070
+-112.25 32.528 7255
+-112.124 32.528 7339
+-111.998 32.528 7458
+-111.872 32.528 7597
+-111.746 32.528 7729
+-111.62 32.528 7815
+-111.494 32.528 7924
+-111.368 32.528 8021
+-111.242 32.528 8155
+-111.116 32.528 8149
+-110.99 32.528 8258
+-110.864 32.528 8357
+-110.738 32.528 8414
+-110.612 32.528 8435
+-110.486 32.528 8486
+-110.36 32.528 8459
+-110.234 32.528 8457
+-110.108 32.528 8429
+-109.982 32.528 8351
+-109.856 32.528 8310
+-109.73 32.528 8227
+-109.604 32.528 8198
+-109.478 32.528 8036
+-109.352 32.528 7974
+-109.226 32.528 7843
+-109.1 32.528 7760
+-108.974 32.528 7672
+-108.848 32.528 7506
+-108.722 32.528 7436
+-108.596 32.528 7293
+-108.47 32.528 7167
+-108.344 32.528 7018
+-108.218 32.528 6921
+-108.092 32.528 6812
+-107.966 32.528 6665
+-107.84 32.528 6486
+-107.714 32.528 6417
+-107.588 32.528 6316
+-107.462 32.528 6184
+-107.336 32.528 6031
+-107.21 32.528 5883
+-107.084 32.528 5748
+-106.958 32.528 5658
+-106.832 32.528 5488
+-106.706 32.528 5289
+-106.58 32.528 5311
+-106.454 32.528 5174
+-106.328 32.528 5014
+-106.202 32.528 4904
+-106.076 32.528 4815
+-105.95 32.528 4685
+-105.824 32.528 4544
+-105.698 32.528 4400
+-105.572 32.528 4356
+-105.446 32.528 4269
+-105.32 32.528 4141
+-105.194 32.528 4032
+-105.068 32.528 3933
+-104.942 32.528 3800
+-104.816 32.528 3716
+-104.69 32.528 3695
+-104.564 32.528 3739
+-104.438 32.528 3793
+-104.312 32.528 3836
+-104.186 32.528 3850
+-104.06 32.528 3844
+-103.934 32.528 3820
+-103.808 32.528 3828
+-103.682 32.528 3802
+-103.556 32.528 3738
+-103.43 32.528 3739
+-103.304 32.528 3739
+-103.178 32.528 3740
+-103.052 32.528 3740
+-102.926 32.528 3740
+-102.8 32.528 3687
+-102.674 32.528 3643
+-102.548 32.528 3641
+-102.422 32.528 3640
+-102.296 32.528 3639
+-102.17 32.528 3580
+-102.044 32.528 3577
+-101.918 32.528 3574
+-101.792 32.528 3571
+-101.666 32.528 3569
+-101.54 32.528 3567
+-101.414 32.528 3565
+-101.288 32.528 3423
+-101.162 32.528 3421
+-101.036 32.528 3420
+-100.91 32.528 3418
+-100.784 32.528 3417
+-100.658 32.528 3416
+-100.532 32.528 3287
+-100.406 32.528 3286
+-100.28 32.528 3163
+-100.154 32.528 3152
+-100.028 32.528 3139
+-99.902 32.528 2983
+-99.776 32.528 2929
+-99.65 32.528 2911
+-99.524 32.528 2870
+-99.398 32.528 2665
+-99.272 32.528 2593
+-99.146 32.528 2576
+-99.02 32.528 2580
+-98.894 32.528 2558
+-98.768 32.528 2614
+-98.642 32.528 2661
+-98.516 32.528 2657
+-98.39 32.528 2705
+-98.264 32.528 2756
+-98.138 32.528 2720
+-98.012 32.528 2714
+-97.886 32.528 2726
+-97.76 32.528 2720
+-97.634 32.528 2714
+-97.508 32.528 2708
+-97.382 32.528 2691
+-97.256 32.528 2703
+-97.13 32.528 2697
+-97.004 32.528 2691
+-96.878 32.528 2685
+-96.752 32.528 2679
+-96.626 32.528 2670
+-96.5 32.528 2675
+-96.374 32.528 2669
+-96.248 32.528 2663
+-96.122 32.528 2624
+-95.996 32.528 2618
+-95.87 32.528 2656
+-95.744 32.528 2648
+-95.618 32.528 2645
+-95.492 32.528 2635
+-95.366 32.528 2628
+-95.24 32.528 2614
+-95.114 32.528 2598
+-94.988 32.528 2577
+-94.862 32.528 2592
+-94.736 32.528 2536
+-94.61 32.528 2505
+-94.484 32.528 2467
+-94.358 32.528 2390
+-94.232 32.528 2291
+-94.106 32.528 2170
+-93.98 32.528 2037
+-93.854 32.528 1921
+-93.728 32.528 1868
+-93.602 32.528 1927
+-93.476 32.528 2086
+-93.35 32.528 2290
+-93.224 32.528 2486
+-93.098 32.528 2722
+-92.972 32.528 2861
+-92.846 32.528 2978
+-92.72 32.528 3093
+-92.594 32.528 3170
+-92.468 32.528 3256
+-92.342 32.528 3313
+-92.216 32.528 3403
+-92.09 32.528 3438
+-91.964 32.528 3481
+-91.838 32.528 3512
+-91.712 32.528 3589
+-91.586 32.528 3562
+-91.46 32.528 3520
+-91.334 32.528 3500
+-91.208 32.528 3546
+-91.082 32.528 3638
+-90.956 32.528 3708
+-90.83 32.528 3750
+-90.704 32.528 3761
+-90.578 32.528 3786
+-90.452 32.528 3819
+-90.326 32.528 3826
+-90.2 32.528 3804
+-90.074 32.528 3872
+-89.948 32.528 3913
+-89.822 32.528 3931
+-89.696 32.528 3973
+-89.57 32.528 3999
+-89.444 32.528 4022
+-89.318 32.528 4041
+-89.192 32.528 4047
+-89.066 32.528 4044
+-88.94 32.528 4023
+-88.814 32.528 4010
+-88.688 32.528 4002
+-88.562 32.528 3988
+-88.436 32.528 3970
+-88.31 32.528 3946
+-88.184 32.528 3924
+-88.058 32.528 3935
+-87.932 32.528 3960
+-87.806 32.528 3976
+-87.68 32.528 3964
+-87.554 32.528 3938
+-87.428 32.528 3904
+-87.302 32.528 3869
+-87.176 32.528 3839
+-87.05 32.528 3793
+-86.924 32.528 3751
+-86.798 32.528 3662
+-86.672 32.528 3563
+-86.546 32.528 3483
+-86.42 32.528 3410
+-86.294 32.528 3327
+-86.168 32.528 3253
+-86.042 32.528 3324
+-85.916 32.528 3434
+-85.79 32.528 3511
+-85.664 32.528 3552
+-85.538 32.528 3581
+-85.412 32.528 3602
+-85.286 32.528 3617
+-85.16 32.528 3645
+-85.034 32.528 3721
+-84.908 32.528 3790
+-84.782 32.528 3862
+-84.656 32.528 3947
+-84.53 32.528 4004
+-84.404 32.528 4033
+-84.278 32.528 4031
+-84.152 32.528 4065
+-84.026 32.528 4117
+-83.9 32.528 4193
+-83.774 32.528 4235
+-83.648 32.528 4292
+-83.522 32.528 4293
+-83.396 32.528 4322
+-83.27 32.528 4364
+-83.144 32.528 4380
+-83.018 32.528 4420
+-82.892 32.528 4484
+-82.766 32.528 4476
+-82.64 32.528 4512
+-82.514 32.528 4518
+-82.388 32.528 4525
+-82.262 32.528 4522
+-82.136 32.528 4553
+-82.01 32.528 4514
+-81.884 32.528 4508
+-81.758 32.528 4490
+-81.632 32.528 4472
+-81.506 32.528 4454
+-81.38 32.528 4466
+-81.254 32.528 4442
+-81.128 32.528 4375
+-81.002 32.528 4331
+-80.876 32.528 4286
+-80.75 32.528 4244
+-80.624 32.528 4228
+-80.498 32.528 4183
+-80.372 32.528 4126
+-80.246 32.528 4086
+-80.12 32.528 4040
+-79.994 32.528 3970
+-79.868 32.528 3906
+-79.742 32.528 3839
+-79.616 32.528 3778
+-79.49 32.528 3705
+-79.364 32.528 3605
+-79.238 32.528 3547
+-79.112 32.528 3544
+-78.986 32.528 3522
+-78.86 32.528 3489
+-78.734 32.528 3469
+-78.608 32.528 3469
+-78.482 32.528 3466
+-78.356 32.528 3448
+-78.23 32.528 3437
+-78.104 32.528 3455
+-77.978 32.528 3450
+-77.852 32.528 3455
+-77.726 32.528 3474
+-77.6 32.528 3477
+-77.474 32.528 3467
+-77.348 32.528 3470
+-77.222 32.528 3470
+-77.096 32.528 3464
+-76.97 32.528 3390
+-76.844 32.528 3373
+-76.718 32.528 3384
+-76.592 32.528 3385
+-76.466 32.528 3386
+-76.34 32.528 3327
+-76.214 32.528 3321
+-76.088 32.528 3346
+-75.962 32.528 3347
+-75.836 32.528 3348
+-75.71 32.528 3350
+-75.584 32.528 3379
+-75.458 32.528 3326
+-75.332 32.528 3327
+-75.206 32.528 3330
+-75.08 32.528 3247
+-74.954 32.528 3238
+-74.828 32.528 3238
+-74.702 32.528 3239
+-74.576 32.528 3223
+-74.45 32.528 3223
+-74.324 32.528 3224
+-74.198 32.528 3199
+-74.072 32.528 3199
+-73.946 32.528 3236
+-73.82 32.528 3238
+-73.694 32.528 3225
+-73.568 32.528 3228
+-73.442 32.528 3230
+-73.316 32.528 3182
+-73.19 32.528 3312
+-73.064 32.528 3285
+-72.938 32.528 3288
+-72.812 32.528 3255
+-72.686 32.528 3258
+-72.56 32.528 3261
+-72.434 32.528 3355
+-72.308 32.528 3359
+-72.182 32.528 3362
+-72.056 32.528 3365
+-71.93 32.528 3368
+-71.804 32.528 3453
+-71.678 32.528 3457
+-71.552 32.528 3391
+-71.426 32.528 3395
+-71.3 32.528 3399
+-71.174 32.528 3402
+-71.048 32.528 3405
+-70.922 32.528 3374
+-70.796 32.528 3367
+-70.67 32.528 3325
+-70.544 32.528 3328
+-70.418 32.528 3293
+-70.292 32.528 3335
+-70.166 32.528 3338
+-70.04 32.528 3341
+-69.914 32.528 3344
+-69.788 32.528 3347
+-69.662 32.528 3350
+-69.536 32.528 3352
+-69.41 32.528 3329
+-69.284 32.528 3331
+-69.158 32.528 3333
+-69.032 32.528 3306
+-68.906 32.528 3276
+-68.78 32.528 3258
+-68.654 32.528 3260
+-68.528 32.528 3262
+-68.402 32.528 3264
+-68.276 32.528 3265
+-68.15 32.528 3267
+-68.024 32.528 3269
+-67.898 32.528 3196
+-67.772 32.528 3182
+-67.646 32.528 3183
+-67.52 32.528 3185
+-67.394 32.528 3187
+-67.268 32.528 3188
+-67.142 32.528 3190
+-67.016 32.528 3192
+-66.89 32.528 3193
+-66.764 32.528 3195
+-66.638 32.528 3196
+-66.512 32.528 3197
+-66.386 32.528 3199
+-66.26 32.528 3200
+-66.134 32.528 3201
+-66.008 32.528 3203
+-65.882 32.528 3193
+-65.756 32.528 3194
+-65.63 32.528 3195
+-65.504 32.528 3197
+-65.378 32.528 3198
+-65.252 32.528 3152
+-65.126 32.528 3153
+-128 32.476 2780
+-127.874 32.476 2774
+-127.748 32.476 2768
+-127.622 32.476 2762
+-127.496 32.476 2756
+-127.37 32.476 2749
+-127.244 32.476 2742
+-127.118 32.476 2734
+-126.992 32.476 2727
+-126.866 32.476 2718
+-126.74 32.476 2710
+-126.614 32.476 2701
+-126.488 32.476 2692
+-126.362 32.476 2683
+-126.236 32.476 2673
+-126.11 32.476 2663
+-125.984 32.476 2653
+-125.858 32.476 2706
+-125.732 32.476 2697
+-125.606 32.476 2688
+-125.48 32.476 2680
+-125.354 32.476 2673
+-125.228 32.476 2667
+-125.102 32.476 2662
+-124.976 32.476 2675
+-124.85 32.476 2681
+-124.724 32.476 2723
+-124.598 32.476 2755
+-124.472 32.476 2764
+-124.346 32.476 2792
+-124.22 32.476 2829
+-124.094 32.476 2897
+-123.968 32.476 2946
+-123.842 32.476 3007
+-123.716 32.476 3071
+-123.59 32.476 3154
+-123.464 32.476 3204
+-123.338 32.476 3196
+-123.212 32.476 3163
+-123.086 32.476 3142
+-122.96 32.476 3258
+-122.834 32.476 3450
+-122.708 32.476 3602
+-122.582 32.476 3744
+-122.456 32.476 3863
+-122.33 32.476 3968
+-122.204 32.476 4104
+-122.078 32.476 4233
+-121.952 32.476 4367
+-121.826 32.476 4428
+-121.7 32.476 4542
+-121.574 32.476 4712
+-121.448 32.476 4863
+-121.322 32.476 5026
+-121.196 32.476 5190
+-121.07 32.476 5246
+-120.944 32.476 5421
+-120.818 32.476 5491
+-120.692 32.476 5707
+-120.566 32.476 5827
+-120.44 32.476 5939
+-120.314 32.476 6073
+-120.188 32.476 6194
+-120.062 32.476 6319
+-119.936 32.476 6490
+-119.81 32.476 6633
+-119.684 32.476 6827
+-119.558 32.476 6894
+-119.432 32.476 7064
+-119.306 32.476 7188
+-119.18 32.476 7340
+-119.054 32.476 7397
+-118.928 32.476 7588
+-118.802 32.476 7722
+-118.676 32.476 7929
+-118.55 32.476 7982
+-118.424 32.476 8176
+-118.298 32.476 8316
+-118.172 32.476 8423
+-118.046 32.476 8589
+-117.92 32.476 8630
+-117.794 32.476 8820
+-117.668 32.476 8985
+-117.542 32.476 9048
+-117.416 32.476 9184
+-117.29 32.476 9246
+-117.164 32.476 9353
+-117.038 32.476 9310
+-116.912 32.476 9287
+-116.786 32.476 9281
+-116.66 32.476 9224
+-116.534 32.476 9091
+-116.408 32.476 8953
+-116.282 32.476 8865
+-116.156 32.476 8724
+-116.03 32.476 8575
+-115.904 32.476 8460
+-115.778 32.476 8338
+-115.652 32.476 8111
+-115.526 32.476 8050
+-115.4 32.476 7830
+-115.274 32.476 7708
+-115.148 32.476 7669
+-115.022 32.476 7524
+-114.896 32.476 7400
+-114.77 32.476 7227
+-114.644 32.476 7085
+-114.518 32.476 6909
+-114.392 32.476 6802
+-114.266 32.476 6706
+-114.14 32.476 6513
+-114.014 32.476 6300
+-113.888 32.476 6169
+-113.762 32.476 6070
+-113.636 32.476 5846
+-113.51 32.476 6039
+-113.384 32.476 6154
+-113.258 32.476 6234
+-113.132 32.476 6349
+-113.006 32.476 6427
+-112.88 32.476 6633
+-112.754 32.476 6736
+-112.628 32.476 6940
+-112.502 32.476 7017
+-112.376 32.476 7148
+-112.25 32.476 7271
+-112.124 32.476 7362
+-111.998 32.476 7481
+-111.872 32.476 7612
+-111.746 32.476 7749
+-111.62 32.476 7825
+-111.494 32.476 7923
+-111.368 32.476 8060
+-111.242 32.476 8144
+-111.116 32.476 8196
+-110.99 32.476 8296
+-110.864 32.476 8391
+-110.738 32.476 8456
+-110.612 32.476 8470
+-110.486 32.476 8505
+-110.36 32.476 8538
+-110.234 32.476 8536
+-110.108 32.476 8478
+-109.982 32.476 8412
+-109.856 32.476 8386
+-109.73 32.476 8281
+-109.604 32.476 8225
+-109.478 32.476 8130
+-109.352 32.476 8015
+-109.226 32.476 7927
+-109.1 32.476 7764
+-108.974 32.476 7685
+-108.848 32.476 7516
+-108.722 32.476 7469
+-108.596 32.476 7294
+-108.47 32.476 7151
+-108.344 32.476 7049
+-108.218 32.476 6998
+-108.092 32.476 6811
+-107.966 32.476 6739
+-107.84 32.476 6580
+-107.714 32.476 6417
+-107.588 32.476 6278
+-107.462 32.476 6212
+-107.336 32.476 6087
+-107.21 32.476 5889
+-107.084 32.476 5746
+-106.958 32.476 5601
+-106.832 32.476 5459
+-106.706 32.476 5400
+-106.58 32.476 5303
+-106.454 32.476 5193
+-106.328 32.476 5087
+-106.202 32.476 4983
+-106.076 32.476 4851
+-105.95 32.476 4669
+-105.824 32.476 4478
+-105.698 32.476 4329
+-105.572 32.476 4330
+-105.446 32.476 4232
+-105.32 32.476 4050
+-105.194 32.476 3909
+-105.068 32.476 3917
+-104.942 32.476 3919
+-104.816 32.476 3877
+-104.69 32.476 3840
+-104.564 32.476 3844
+-104.438 32.476 3856
+-104.312 32.476 3880
+-104.186 32.476 3900
+-104.06 32.476 3901
+-103.934 32.476 3884
+-103.808 32.476 3851
+-103.682 32.476 3825
+-103.556 32.476 3829
+-103.43 32.476 3791
+-103.304 32.476 3791
+-103.178 32.476 3792
+-103.052 32.476 3792
+-102.926 32.476 3737
+-102.8 32.476 3655
+-102.674 32.476 3652
+-102.548 32.476 3649
+-102.422 32.476 3647
+-102.296 32.476 3586
+-102.17 32.476 3582
+-102.044 32.476 3578
+-101.918 32.476 3575
+-101.792 32.476 3572
+-101.666 32.476 3569
+-101.54 32.476 3567
+-101.414 32.476 3423
+-101.288 32.476 3421
+-101.162 32.476 3419
+-101.036 32.476 3418
+-100.91 32.476 3416
+-100.784 32.476 3415
+-100.658 32.476 3285
+-100.532 32.476 3284
+-100.406 32.476 3282
+-100.28 32.476 3158
+-100.154 32.476 3146
+-100.028 32.476 3133
+-99.902 32.476 2979
+-99.776 32.476 2924
+-99.65 32.476 2906
+-99.524 32.476 2865
+-99.398 32.476 2659
+-99.272 32.476 2585
+-99.146 32.476 2568
+-99.02 32.476 2561
+-98.894 32.476 2560
+-98.768 32.476 2616
+-98.642 32.476 2644
+-98.516 32.476 2590
+-98.39 32.476 2688
+-98.264 32.476 2708
+-98.138 32.476 2702
+-98.012 32.476 2713
+-97.886 32.476 2706
+-97.76 32.476 2699
+-97.634 32.476 2692
+-97.508 32.476 2675
+-97.382 32.476 2686
+-97.256 32.476 2679
+-97.13 32.476 2671
+-97.004 32.476 2664
+-96.878 32.476 2657
+-96.752 32.476 2647
+-96.626 32.476 2651
+-96.5 32.476 2644
+-96.374 32.476 2637
+-96.248 32.476 2597
+-96.122 32.476 2592
+-95.996 32.476 2629
+-95.87 32.476 2622
+-95.744 32.476 2620
+-95.618 32.476 2612
+-95.492 32.476 2607
+-95.366 32.476 2596
+-95.24 32.476 2584
+-95.114 32.476 2569
+-94.988 32.476 2594
+-94.862 32.476 2546
+-94.736 32.476 2529
+-94.61 32.476 2510
+-94.484 32.476 2452
+-94.358 32.476 2379
+-94.232 32.476 2287
+-94.106 32.476 2175
+-93.98 32.476 2056
+-93.854 32.476 1963
+-93.728 32.476 1920
+-93.602 32.476 1975
+-93.476 32.476 2117
+-93.35 32.476 2302
+-93.224 32.476 2488
+-93.098 32.476 2642
+-92.972 32.476 2773
+-92.846 32.476 2880
+-92.72 32.476 3066
+-92.594 32.476 3117
+-92.468 32.476 3174
+-92.342 32.476 3262
+-92.216 32.476 3334
+-92.09 32.476 3349
+-91.964 32.476 3426
+-91.838 32.476 3445
+-91.712 32.476 3478
+-91.586 32.476 3559
+-91.46 32.476 3556
+-91.334 32.476 3560
+-91.208 32.476 3582
+-91.082 32.476 3642
+-90.956 32.476 3692
+-90.83 32.476 3709
+-90.704 32.476 3689
+-90.578 32.476 3678
+-90.452 32.476 3735
+-90.326 32.476 3801
+-90.2 32.476 3828
+-90.074 32.476 3864
+-89.948 32.476 3904
+-89.822 32.476 3916
+-89.696 32.476 3938
+-89.57 32.476 3939
+-89.444 32.476 3955
+-89.318 32.476 3965
+-89.192 32.476 3977
+-89.066 32.476 3971
+-88.94 32.476 3974
+-88.814 32.476 3982
+-88.688 32.476 3954
+-88.562 32.476 3924
+-88.436 32.476 3901
+-88.31 32.476 3898
+-88.184 32.476 3891
+-88.058 32.476 3901
+-87.932 32.476 3914
+-87.806 32.476 3908
+-87.68 32.476 3891
+-87.554 32.476 3871
+-87.428 32.476 3813
+-87.302 32.476 3785
+-87.176 32.476 3757
+-87.05 32.476 3707
+-86.924 32.476 3645
+-86.798 32.476 3553
+-86.672 32.476 3471
+-86.546 32.476 3411
+-86.42 32.476 3360
+-86.294 32.476 3319
+-86.168 32.476 3316
+-86.042 32.476 3365
+-85.916 32.476 3447
+-85.79 32.476 3534
+-85.664 32.476 3581
+-85.538 32.476 3610
+-85.412 32.476 3635
+-85.286 32.476 3646
+-85.16 32.476 3675
+-85.034 32.476 3756
+-84.908 32.476 3817
+-84.782 32.476 3904
+-84.656 32.476 4001
+-84.53 32.476 4032
+-84.404 32.476 4054
+-84.278 32.476 4065
+-84.152 32.476 4102
+-84.026 32.476 4166
+-83.9 32.476 4242
+-83.774 32.476 4273
+-83.648 32.476 4298
+-83.522 32.476 4332
+-83.396 32.476 4378
+-83.27 32.476 4425
+-83.144 32.476 4469
+-83.018 32.476 4541
+-82.892 32.476 4560
+-82.766 32.476 4586
+-82.64 32.476 4612
+-82.514 32.476 4606
+-82.388 32.476 4597
+-82.262 32.476 4562
+-82.136 32.476 4547
+-82.01 32.476 4539
+-81.884 32.476 4524
+-81.758 32.476 4535
+-81.632 32.476 4551
+-81.506 32.476 4525
+-81.38 32.476 4541
+-81.254 32.476 4496
+-81.128 32.476 4436
+-81.002 32.476 4372
+-80.876 32.476 4340
+-80.75 32.476 4321
+-80.624 32.476 4263
+-80.498 32.476 4230
+-80.372 32.476 4171
+-80.246 32.476 4120
+-80.12 32.476 4084
+-79.994 32.476 4034
+-79.868 32.476 3984
+-79.742 32.476 3923
+-79.616 32.476 3861
+-79.49 32.476 3784
+-79.364 32.476 3703
+-79.238 32.476 3655
+-79.112 32.476 3617
+-78.986 32.476 3595
+-78.86 32.476 3574
+-78.734 32.476 3555
+-78.608 32.476 3544
+-78.482 32.476 3513
+-78.356 32.476 3492
+-78.23 32.476 3503
+-78.104 32.476 3499
+-77.978 32.476 3506
+-77.852 32.476 3460
+-77.726 32.476 3479
+-77.6 32.476 3470
+-77.474 32.476 3472
+-77.348 32.476 3471
+-77.222 32.476 3465
+-77.096 32.476 3447
+-76.97 32.476 3436
+-76.844 32.476 3431
+-76.718 32.476 3387
+-76.592 32.476 3387
+-76.466 32.476 3329
+-76.34 32.476 3322
+-76.214 32.476 3346
+-76.088 32.476 3347
+-75.962 32.476 3347
+-75.836 32.476 3349
+-75.71 32.476 3377
+-75.584 32.476 3323
+-75.458 32.476 3326
+-75.332 32.476 3329
+-75.206 32.476 3246
+-75.08 32.476 3237
+-74.954 32.476 3238
+-74.828 32.476 3238
+-74.702 32.476 3222
+-74.576 32.476 3223
+-74.45 32.476 3223
+-74.324 32.476 3198
+-74.198 32.476 3199
+-74.072 32.476 3235
+-73.946 32.476 3237
+-73.82 32.476 3224
+-73.694 32.476 3227
+-73.568 32.476 3229
+-73.442 32.476 3181
+-73.316 32.476 3309
+-73.19 32.476 3282
+-73.064 32.476 3285
+-72.938 32.476 3253
+-72.812 32.476 3255
+-72.686 32.476 3258
+-72.56 32.476 3351
+-72.434 32.476 3354
+-72.308 32.476 3358
+-72.182 32.476 3361
+-72.056 32.476 3364
+-71.93 32.476 3448
+-71.804 32.476 3452
+-71.678 32.476 3387
+-71.552 32.476 3391
+-71.426 32.476 3395
+-71.3 32.476 3398
+-71.174 32.476 3401
+-71.048 32.476 3371
+-70.922 32.476 3364
+-70.796 32.476 3323
+-70.67 32.476 3326
+-70.544 32.476 3291
+-70.418 32.476 3333
+-70.292 32.476 3336
+-70.166 32.476 3339
+-70.04 32.476 3342
+-69.914 32.476 3345
+-69.788 32.476 3347
+-69.662 32.476 3350
+-69.536 32.476 3327
+-69.41 32.476 3329
+-69.284 32.476 3332
+-69.158 32.476 3305
+-69.032 32.476 3275
+-68.906 32.476 3257
+-68.78 32.476 3259
+-68.654 32.476 3261
+-68.528 32.476 3263
+-68.402 32.476 3264
+-68.276 32.476 3266
+-68.15 32.476 3268
+-68.024 32.476 3195
+-67.898 32.476 3181
+-67.772 32.476 3183
+-67.646 32.476 3184
+-67.52 32.476 3186
+-67.394 32.476 3188
+-67.268 32.476 3189
+-67.142 32.476 3191
+-67.016 32.476 3192
+-66.89 32.476 3194
+-66.764 32.476 3195
+-66.638 32.476 3197
+-66.512 32.476 3198
+-66.386 32.476 3199
+-66.26 32.476 3201
+-66.134 32.476 3202
+-66.008 32.476 3192
+-65.882 32.476 3193
+-65.756 32.476 3195
+-65.63 32.476 3196
+-65.504 32.476 3198
+-65.378 32.476 3152
+-65.252 32.476 3153
+-65.126 32.476 3154
+-128 32.424 2784
+-127.874 32.424 2778
+-127.748 32.424 2773
+-127.622 32.424 2767
+-127.496 32.424 2761
+-127.37 32.424 2755
+-127.244 32.424 2748
+-127.118 32.424 2742
+-126.992 32.424 2734
+-126.866 32.424 2727
+-126.74 32.424 2719
+-126.614 32.424 2711
+-126.488 32.424 2703
+-126.362 32.424 2695
+-126.236 32.424 2686
+-126.11 32.424 2677
+-125.984 32.424 2668
+-125.858 32.424 2659
+-125.732 32.424 2717
+-125.606 32.424 2708
+-125.48 32.424 2700
+-125.354 32.424 2692
+-125.228 32.424 2684
+-125.102 32.424 2677
+-124.976 32.424 2692
+-124.85 32.424 2683
+-124.724 32.424 2674
+-124.598 32.424 2709
+-124.472 32.424 2741
+-124.346 32.424 2743
+-124.22 32.424 2761
+-124.094 32.424 2805
+-123.968 32.424 2885
+-123.842 32.424 2955
+-123.716 32.424 3032
+-123.59 32.424 3197
+-123.464 32.424 3226
+-123.338 32.424 3238
+-123.212 32.424 3250
+-123.086 32.424 3294
+-122.96 32.424 3352
+-122.834 32.424 3455
+-122.708 32.424 3582
+-122.582 32.424 3744
+-122.456 32.424 3870
+-122.33 32.424 3940
+-122.204 32.424 3987
+-122.078 32.424 4159
+-121.952 32.424 4336
+-121.826 32.424 4411
+-121.7 32.424 4530
+-121.574 32.424 4712
+-121.448 32.424 4781
+-121.322 32.424 4946
+-121.196 32.424 5202
+-121.07 32.424 5302
+-120.944 32.424 5401
+-120.818 32.424 5517
+-120.692 32.424 5692
+-120.566 32.424 5806
+-120.44 32.424 5912
+-120.314 32.424 6051
+-120.188 32.424 6159
+-120.062 32.424 6277
+-119.936 32.424 6437
+-119.81 32.424 6626
+-119.684 32.424 6835
+-119.558 32.424 6864
+-119.432 32.424 7047
+-119.306 32.424 7147
+-119.18 32.424 7296
+-119.054 32.424 7450
+-118.928 32.424 7583
+-118.802 32.424 7760
+-118.676 32.424 7893
+-118.55 32.424 8058
+-118.424 32.424 8087
+-118.298 32.424 8227
+-118.172 32.424 8405
+-118.046 32.424 8569
+-117.92 32.424 8654
+-117.794 32.424 8758
+-117.668 32.424 8894
+-117.542 32.424 8984
+-117.416 32.424 9116
+-117.29 32.424 9174
+-117.164 32.424 9271
+-117.038 32.424 9256
+-116.912 32.424 9257
+-116.786 32.424 9207
+-116.66 32.424 9127
+-116.534 32.424 9087
+-116.408 32.424 8866
+-116.282 32.424 8801
+-116.156 32.424 8699
+-116.03 32.424 8553
+-115.904 32.424 8402
+-115.778 32.424 8290
+-115.652 32.424 8193
+-115.526 32.424 7994
+-115.4 32.424 7812
+-115.274 32.424 7696
+-115.148 32.424 7542
+-115.022 32.424 7491
+-114.896 32.424 7374
+-114.77 32.424 7239
+-114.644 32.424 7048
+-114.518 32.424 6919
+-114.392 32.424 6792
+-114.266 32.424 6628
+-114.14 32.424 6534
+-114.014 32.424 6323
+-113.888 32.424 6232
+-113.762 32.424 6066
+-113.636 32.424 5870
+-113.51 32.424 6031
+-113.384 32.424 6050
+-113.258 32.424 6244
+-113.132 32.424 6370
+-113.006 32.424 6534
+-112.88 32.424 6618
+-112.754 32.424 6762
+-112.628 32.424 6941
+-112.502 32.424 7001
+-112.376 32.424 7159
+-112.25 32.424 7266
+-112.124 32.424 7428
+-111.998 32.424 7555
+-111.872 32.424 7659
+-111.746 32.424 7754
+-111.62 32.424 7879
+-111.494 32.424 7985
+-111.368 32.424 8096
+-111.242 32.424 8239
+-111.116 32.424 8285
+-110.99 32.424 8345
+-110.864 32.424 8429
+-110.738 32.424 8530
+-110.612 32.424 8547
+-110.486 32.424 8590
+-110.36 32.424 8579
+-110.234 32.424 8573
+-110.108 32.424 8535
+-109.982 32.424 8508
+-109.856 32.424 8386
+-109.73 32.424 8346
+-109.604 32.424 8234
+-109.478 32.424 8174
+-109.352 32.424 8043
+-109.226 32.424 7937
+-109.1 32.424 7796
+-108.974 32.424 7686
+-108.848 32.424 7573
+-108.722 32.424 7500
+-108.596 32.424 7316
+-108.47 32.424 7194
+-108.344 32.424 7054
+-108.218 32.424 6981
+-108.092 32.424 6858
+-107.966 32.424 6787
+-107.84 32.424 6620
+-107.714 32.424 6443
+-107.588 32.424 6304
+-107.462 32.424 6129
+-107.336 32.424 6118
+-107.21 32.424 5963
+-107.084 32.424 5770
+-106.958 32.424 5593
+-106.832 32.424 5452
+-106.706 32.424 5433
+-106.58 32.424 5218
+-106.454 32.424 5081
+-106.328 32.424 5100
+-106.202 32.424 5006
+-106.076 32.424 4878
+-105.95 32.424 4695
+-105.824 32.424 4504
+-105.698 32.424 4373
+-105.572 32.424 4325
+-105.446 32.424 4203
+-105.32 32.424 3960
+-105.194 32.424 3782
+-105.068 32.424 3884
+-104.942 32.424 3961
+-104.816 32.424 3955
+-104.69 32.424 3955
+-104.564 32.424 3930
+-104.438 32.424 3926
+-104.312 32.424 3926
+-104.186 32.424 3937
+-104.06 32.424 3933
+-103.934 32.424 3942
+-103.808 32.424 3914
+-103.682 32.424 3881
+-103.556 32.424 3849
+-103.43 32.424 3850
+-103.304 32.424 3809
+-103.178 32.424 3808
+-103.052 32.424 3751
+-102.926 32.424 3668
+-102.8 32.424 3663
+-102.674 32.424 3660
+-102.548 32.424 3656
+-102.422 32.424 3592
+-102.296 32.424 3587
+-102.17 32.424 3583
+-102.044 32.424 3579
+-101.918 32.424 3575
+-101.792 32.424 3572
+-101.666 32.424 3569
+-101.54 32.424 3423
+-101.414 32.424 3421
+-101.288 32.424 3419
+-101.162 32.424 3417
+-101.036 32.424 3415
+-100.91 32.424 3414
+-100.784 32.424 3283
+-100.658 32.424 3281
+-100.532 32.424 3280
+-100.406 32.424 3278
+-100.28 32.424 3152
+-100.154 32.424 3140
+-100.028 32.424 3127
+-99.902 32.424 2974
+-99.776 32.424 2918
+-99.65 32.424 2900
+-99.524 32.424 2859
+-99.398 32.424 2653
+-99.272 32.424 2577
+-99.146 32.424 2560
+-99.02 32.424 2545
+-98.894 32.424 2548
+-98.768 32.424 2601
+-98.642 32.424 2578
+-98.516 32.424 2574
+-98.39 32.424 2670
+-98.264 32.424 2691
+-98.138 32.424 2701
+-98.012 32.424 2694
+-97.886 32.424 2686
+-97.76 32.424 2678
+-97.634 32.424 2659
+-97.508 32.424 2670
+-97.382 32.424 2661
+-97.256 32.424 2653
+-97.13 32.424 2644
+-97.004 32.424 2636
+-96.878 32.424 2625
+-96.752 32.424 2627
+-96.626 32.424 2619
+-96.5 32.424 2611
+-96.374 32.424 2570
+-96.248 32.424 2563
+-96.122 32.424 2600
+-95.996 32.424 2592
+-95.87 32.424 2590
+-95.744 32.424 2583
+-95.618 32.424 2580
+-95.492 32.424 2571
+-95.366 32.424 2563
+-95.24 32.424 2552
+-95.114 32.424 2585
+-94.988 32.424 2545
+-94.862 32.424 2539
+-94.736 32.424 2537
+-94.61 32.424 2497
+-94.484 32.424 2448
+-94.358 32.424 2385
+-94.232 32.424 2307
+-94.106 32.424 2218
+-93.98 32.424 2130
+-93.854 32.424 2060
+-93.728 32.424 2036
+-93.602 32.424 2083
+-93.476 32.424 2193
+-93.35 32.424 2340
+-93.224 32.424 2483
+-93.098 32.424 2653
+-92.972 32.424 2770
+-92.846 32.424 2967
+-92.72 32.424 3022
+-92.594 32.424 3076
+-92.468 32.424 3155
+-92.342 32.424 3187
+-92.216 32.424 3231
+-92.09 32.424 3276
+-91.964 32.424 3305
+-91.838 32.424 3354
+-91.712 32.424 3421
+-91.586 32.424 3471
+-91.46 32.424 3530
+-91.334 32.424 3538
+-91.208 32.424 3596
+-91.082 32.424 3640
+-90.956 32.424 3675
+-90.83 32.424 3682
+-90.704 32.424 3648
+-90.578 32.424 3613
+-90.452 32.424 3672
+-90.326 32.424 3772
+-90.2 32.424 3814
+-90.074 32.424 3848
+-89.948 32.424 3869
+-89.822 32.424 3877
+-89.696 32.424 3872
+-89.57 32.424 3876
+-89.444 32.424 3883
+-89.318 32.424 3887
+-89.192 32.424 3881
+-89.066 32.424 3883
+-88.94 32.424 3902
+-88.814 32.424 3896
+-88.688 32.424 3874
+-88.562 32.424 3845
+-88.436 32.424 3829
+-88.31 32.424 3843
+-88.184 32.424 3866
+-88.058 32.424 3859
+-87.932 32.424 3842
+-87.806 32.424 3827
+-87.68 32.424 3781
+-87.554 32.424 3756
+-87.428 32.424 3734
+-87.302 32.424 3725
+-87.176 32.424 3698
+-87.05 32.424 3635
+-86.924 32.424 3571
+-86.798 32.424 3485
+-86.672 32.424 3379
+-86.546 32.424 3328
+-86.42 32.424 3323
+-86.294 32.424 3279
+-86.168 32.424 3334
+-86.042 32.424 3408
+-85.916 32.424 3487
+-85.79 32.424 3555
+-85.664 32.424 3598
+-85.538 32.424 3628
+-85.412 32.424 3647
+-85.286 32.424 3638
+-85.16 32.424 3682
+-85.034 32.424 3782
+-84.908 32.424 3857
+-84.782 32.424 3950
+-84.656 32.424 4028
+-84.53 32.424 4079
+-84.404 32.424 4109
+-84.278 32.424 4117
+-84.152 32.424 4159
+-84.026 32.424 4260
+-83.9 32.424 4300
+-83.774 32.424 4342
+-83.648 32.424 4366
+-83.522 32.424 4411
+-83.396 32.424 4466
+-83.27 32.424 4514
+-83.144 32.424 4563
+-83.018 32.424 4612
+-82.892 32.424 4654
+-82.766 32.424 4677
+-82.64 32.424 4689
+-82.514 32.424 4704
+-82.388 32.424 4659
+-82.262 32.424 4640
+-82.136 32.424 4626
+-82.01 32.424 4616
+-81.884 32.424 4607
+-81.758 32.424 4595
+-81.632 32.424 4619
+-81.506 32.424 4568
+-81.38 32.424 4539
+-81.254 32.424 4506
+-81.128 32.424 4468
+-81.002 32.424 4421
+-80.876 32.424 4382
+-80.75 32.424 4388
+-80.624 32.424 4345
+-80.498 32.424 4278
+-80.372 32.424 4222
+-80.246 32.424 4163
+-80.12 32.424 4135
+-79.994 32.424 4090
+-79.868 32.424 4068
+-79.742 32.424 4019
+-79.616 32.424 3961
+-79.49 32.424 3890
+-79.364 32.424 3819
+-79.238 32.424 3744
+-79.112 32.424 3724
+-78.986 32.424 3676
+-78.86 32.424 3646
+-78.734 32.424 3616
+-78.608 32.424 3584
+-78.482 32.424 3540
+-78.356 32.424 3505
+-78.23 32.424 3490
+-78.104 32.424 3493
+-77.978 32.424 3501
+-77.852 32.424 3499
+-77.726 32.424 3522
+-77.6 32.424 3469
+-77.474 32.424 3472
+-77.348 32.424 3465
+-77.222 32.424 3447
+-77.096 32.424 3434
+-76.97 32.424 3428
+-76.844 32.424 3426
+-76.718 32.424 3369
+-76.592 32.424 3385
+-76.466 32.424 3377
+-76.34 32.424 3345
+-76.214 32.424 3345
+-76.088 32.424 3345
+-75.962 32.424 3346
+-75.836 32.424 3374
+-75.71 32.424 3323
+-75.584 32.424 3324
+-75.458 32.424 3327
+-75.332 32.424 3245
+-75.206 32.424 3236
+-75.08 32.424 3237
+-74.954 32.424 3237
+-74.828 32.424 3221
+-74.702 32.424 3221
+-74.576 32.424 3222
+-74.45 32.424 3197
+-74.324 32.424 3198
+-74.198 32.424 3233
+-74.072 32.424 3236
+-73.946 32.424 3223
+-73.82 32.424 3225
+-73.694 32.424 3228
+-73.568 32.424 3180
+-73.442 32.424 3305
+-73.316 32.424 3279
+-73.19 32.424 3282
+-73.064 32.424 3250
+-72.938 32.424 3252
+-72.812 32.424 3255
+-72.686 32.424 3346
+-72.56 32.424 3349
+-72.434 32.424 3353
+-72.308 32.424 3357
+-72.182 32.424 3360
+-72.056 32.424 3442
+-71.93 32.424 3447
+-71.804 32.424 3383
+-71.678 32.424 3387
+-71.552 32.424 3391
+-71.426 32.424 3395
+-71.3 32.424 3397
+-71.174 32.424 3368
+-71.048 32.424 3361
+-70.922 32.424 3320
+-70.796 32.424 3323
+-70.67 32.424 3288
+-70.544 32.424 3330
+-70.418 32.424 3333
+-70.292 32.424 3336
+-70.166 32.424 3340
+-70.04 32.424 3342
+-69.914 32.424 3345
+-69.788 32.424 3348
+-69.662 32.424 3325
+-69.536 32.424 3327
+-69.41 32.424 3330
+-69.284 32.424 3303
+-69.158 32.424 3274
+-69.032 32.424 3256
+-68.906 32.424 3258
+-68.78 32.424 3260
+-68.654 32.424 3261
+-68.528 32.424 3263
+-68.402 32.424 3265
+-68.276 32.424 3267
+-68.15 32.424 3194
+-68.024 32.424 3180
+-67.898 32.424 3182
+-67.772 32.424 3183
+-67.646 32.424 3185
+-67.52 32.424 3187
+-67.394 32.424 3188
+-67.268 32.424 3190
+-67.142 32.424 3192
+-67.016 32.424 3193
+-66.89 32.424 3195
+-66.764 32.424 3196
+-66.638 32.424 3198
+-66.512 32.424 3199
+-66.386 32.424 3200
+-66.26 32.424 3202
+-66.134 32.424 3191
+-66.008 32.424 3193
+-65.882 32.424 3194
+-65.756 32.424 3196
+-65.63 32.424 3197
+-65.504 32.424 3152
+-65.378 32.424 3153
+-65.252 32.424 3154
+-65.126 32.424 3155
+-128 32.372 2788
+-127.874 32.372 2783
+-127.748 32.372 2778
+-127.622 32.372 2772
+-127.496 32.372 2767
+-127.37 32.372 2761
+-127.244 32.372 2755
+-127.118 32.372 2749
+-126.992 32.372 2742
+-126.866 32.372 2735
+-126.74 32.372 2728
+-126.614 32.372 2721
+-126.488 32.372 2714
+-126.362 32.372 2706
+-126.236 32.372 2698
+-126.11 32.372 2690
+-125.984 32.372 2682
+-125.858 32.372 2742
+-125.732 32.372 2734
+-125.606 32.372 2725
+-125.48 32.372 2716
+-125.354 32.372 2707
+-125.228 32.372 2697
+-125.102 32.372 2708
+-124.976 32.372 2693
+-124.85 32.372 2675
+-124.724 32.372 2695
+-124.598 32.372 2670
+-124.472 32.372 2645
+-124.346 32.372 2656
+-124.22 32.372 2654
+-124.094 32.372 2688
+-123.968 32.372 2758
+-123.842 32.372 2878
+-123.716 32.372 2990
+-123.59 32.372 3173
+-123.464 32.372 3231
+-123.338 32.372 3281
+-123.212 32.372 3333
+-123.086 32.372 3343
+-122.96 32.372 3326
+-122.834 32.372 3302
+-122.708 32.372 3479
+-122.582 32.372 3716
+-122.456 32.372 3859
+-122.33 32.372 3908
+-122.204 32.372 3856
+-122.078 32.372 4086
+-121.952 32.372 4304
+-121.826 32.372 4329
+-121.7 32.372 4502
+-121.574 32.372 4672
+-121.448 32.372 4808
+-121.322 32.372 4931
+-121.196 32.372 5205
+-121.07 32.372 5195
+-120.944 32.372 5387
+-120.818 32.372 5541
+-120.692 32.372 5641
+-120.566 32.372 5810
+-120.44 32.372 5966
+-120.314 32.372 6046
+-120.188 32.372 6212
+-120.062 32.372 6237
+-119.936 32.372 6454
+-119.81 32.372 6618
+-119.684 32.372 6832
+-119.558 32.372 6926
+-119.432 32.372 7057
+-119.306 32.372 7157
+-119.18 32.372 7247
+-119.054 32.372 7433
+-118.928 32.372 7580
+-118.802 32.372 7716
+-118.676 32.372 7831
+-118.55 32.372 7977
+-118.424 32.372 8177
+-118.298 32.372 8234
+-118.172 32.372 8395
+-118.046 32.372 8568
+-117.92 32.372 8649
+-117.794 32.372 8747
+-117.668 32.372 8852
+-117.542 32.372 8947
+-117.416 32.372 9043
+-117.29 32.372 9185
+-117.164 32.372 9183
+-117.038 32.372 9229
+-116.912 32.372 9208
+-116.786 32.372 9147
+-116.66 32.372 9097
+-116.534 32.372 8967
+-116.408 32.372 8907
+-116.282 32.372 8764
+-116.156 32.372 8631
+-116.03 32.372 8512
+-115.904 32.372 8406
+-115.778 32.372 8254
+-115.652 32.372 8134
+-115.526 32.372 7971
+-115.4 32.372 7833
+-115.274 32.372 7776
+-115.148 32.372 7619
+-115.022 32.372 7441
+-114.896 32.372 7293
+-114.77 32.372 7208
+-114.644 32.372 6988
+-114.518 32.372 6881
+-114.392 32.372 6777
+-114.266 32.372 6649
+-114.14 32.372 6492
+-114.014 32.372 6323
+-113.888 32.372 6195
+-113.762 32.372 6011
+-113.636 32.372 5994
+-113.51 32.372 5945
+-113.384 32.372 6118
+-113.258 32.372 6255
+-113.132 32.372 6360
+-113.006 32.372 6488
+-112.88 32.372 6656
+-112.754 32.372 6764
+-112.628 32.372 6880
+-112.502 32.372 7077
+-112.376 32.372 7163
+-112.25 32.372 7313
+-112.124 32.372 7478
+-111.998 32.372 7602
+-111.872 32.372 7643
+-111.746 32.372 7789
+-111.62 32.372 7924
+-111.494 32.372 8015
+-111.368 32.372 8121
+-111.242 32.372 8231
+-111.116 32.372 8337
+-110.99 32.372 8391
+-110.864 32.372 8475
+-110.738 32.372 8548
+-110.612 32.372 8623
+-110.486 32.372 8624
+-110.36 32.372 8663
+-110.234 32.372 8613
+-110.108 32.372 8563
+-109.982 32.372 8525
+-109.856 32.372 8452
+-109.73 32.372 8357
+-109.604 32.372 8289
+-109.478 32.372 8203
+-109.352 32.372 8065
+-109.226 32.372 7947
+-109.1 32.372 7846
+-108.974 32.372 7743
+-108.848 32.372 7632
+-108.722 32.372 7493
+-108.596 32.372 7405
+-108.47 32.372 7229
+-108.344 32.372 7091
+-108.218 32.372 7030
+-108.092 32.372 6887
+-107.966 32.372 6785
+-107.84 32.372 6633
+-107.714 32.372 6505
+-107.588 32.372 6339
+-107.462 32.372 6194
+-107.336 32.372 6094
+-107.21 32.372 5990
+-107.084 32.372 5817
+-106.958 32.372 5625
+-106.832 32.372 5498
+-106.706 32.372 5386
+-106.58 32.372 5287
+-106.454 32.372 5169
+-106.328 32.372 5034
+-106.202 32.372 5014
+-106.076 32.372 4900
+-105.95 32.372 4679
+-105.824 32.372 4520
+-105.698 32.372 4398
+-105.572 32.372 4309
+-105.446 32.372 4207
+-105.32 32.372 4054
+-105.194 32.372 3925
+-105.068 32.372 3959
+-104.942 32.372 3996
+-104.816 32.372 4013
+-104.69 32.372 4018
+-104.564 32.372 4004
+-104.438 32.372 4011
+-104.312 32.372 3974
+-104.186 32.372 3967
+-104.06 32.372 3960
+-103.934 32.372 3965
+-103.808 32.372 3971
+-103.682 32.372 3937
+-103.556 32.372 3901
+-103.43 32.372 3868
+-103.304 32.372 3876
+-103.178 32.372 3765
+-103.052 32.372 3682
+-102.926 32.372 3676
+-102.8 32.372 3671
+-102.674 32.372 3666
+-102.548 32.372 3609
+-102.422 32.372 3593
+-102.296 32.372 3598
+-102.17 32.372 3583
+-102.044 32.372 3578
+-101.918 32.372 3585
+-101.792 32.372 3581
+-101.666 32.372 3423
+-101.54 32.372 3420
+-101.414 32.372 3418
+-101.288 32.372 3416
+-101.162 32.372 3414
+-101.036 32.372 3412
+-100.91 32.372 3280
+-100.784 32.372 3278
+-100.658 32.372 3277
+-100.532 32.372 3275
+-100.406 32.372 3274
+-100.28 32.372 3146
+-100.154 32.372 3134
+-100.028 32.372 3121
+-99.902 32.372 2969
+-99.776 32.372 2952
+-99.65 32.372 2894
+-99.524 32.372 2853
+-99.398 32.372 2647
+-99.272 32.372 2569
+-99.146 32.372 2494
+-99.02 32.372 2484
+-98.894 32.372 2463
+-98.768 32.372 2507
+-98.642 32.372 2562
+-98.516 32.372 2557
+-98.39 32.372 2597
+-98.264 32.372 2690
+-98.138 32.372 2682
+-98.012 32.372 2673
+-97.886 32.372 2665
+-97.76 32.372 2645
+-97.634 32.372 2654
+-97.508 32.372 2645
+-97.382 32.372 2635
+-97.256 32.372 2625
+-97.13 32.372 2615
+-97.004 32.372 2603
+-96.878 32.372 2603
+-96.752 32.372 2594
+-96.626 32.372 2584
+-96.5 32.372 2542
+-96.374 32.372 2534
+-96.248 32.372 2569
+-96.122 32.372 2560
+-95.996 32.372 2557
+-95.87 32.372 2550
+-95.744 32.372 2547
+-95.618 32.372 2539
+-95.492 32.372 2533
+-95.366 32.372 2525
+-95.24 32.372 2564
+-95.114 32.372 2530
+-94.988 32.372 2534
+-94.862 32.372 2545
+-94.736 32.372 2519
+-94.61 32.372 2489
+-94.484 32.372 2415
+-94.358 32.372 2401
+-94.232 32.372 2342
+-94.106 32.372 2282
+-93.98 32.372 2226
+-93.854 32.372 2182
+-93.728 32.372 2174
+-93.602 32.372 2215
+-93.476 32.372 2286
+-93.35 32.372 2410
+-93.224 32.372 2530
+-93.098 32.372 2641
+-92.972 32.372 2771
+-92.846 32.372 2898
+-92.72 32.372 2954
+-92.594 32.372 3060
+-92.468 32.372 3080
+-92.342 32.372 3107
+-92.216 32.372 3140
+-92.09 32.372 3169
+-91.964 32.372 3222
+-91.838 32.372 3298
+-91.712 32.372 3347
+-91.586 32.372 3376
+-91.46 32.372 3461
+-91.334 32.372 3501
+-91.208 32.372 3545
+-91.082 32.372 3590
+-90.956 32.372 3654
+-90.83 32.372 3668
+-90.704 32.372 3654
+-90.578 32.372 3646
+-90.452 32.372 3685
+-90.326 32.372 3747
+-90.2 32.372 3781
+-90.074 32.372 3790
+-89.948 32.372 3820
+-89.822 32.372 3827
+-89.696 32.372 3824
+-89.57 32.372 3807
+-89.444 32.372 3806
+-89.318 32.372 3804
+-89.192 32.372 3805
+-89.066 32.372 3803
+-88.94 32.372 3808
+-88.814 32.372 3799
+-88.688 32.372 3796
+-88.562 32.372 3803
+-88.436 32.372 3800
+-88.31 32.372 3799
+-88.184 32.372 3792
+-88.058 32.372 3793
+-87.932 32.372 3796
+-87.806 32.372 3757
+-87.68 32.372 3710
+-87.554 32.372 3677
+-87.428 32.372 3676
+-87.302 32.372 3668
+-87.176 32.372 3625
+-87.05 32.372 3581
+-86.924 32.372 3522
+-86.798 32.372 3442
+-86.672 32.372 3332
+-86.546 32.372 3267
+-86.42 32.372 3316
+-86.294 32.372 3329
+-86.168 32.372 3375
+-86.042 32.372 3444
+-85.916 32.372 3519
+-85.79 32.372 3575
+-85.664 32.372 3622
+-85.538 32.372 3638
+-85.412 32.372 3645
+-85.286 32.372 3670
+-85.16 32.372 3733
+-85.034 32.372 3826
+-84.908 32.372 3906
+-84.782 32.372 3977
+-84.656 32.372 4049
+-84.53 32.372 4104
+-84.404 32.372 4147
+-84.278 32.372 4176
+-84.152 32.372 4246
+-84.026 32.372 4337
+-83.9 32.372 4377
+-83.774 32.372 4430
+-83.648 32.372 4477
+-83.522 32.372 4507
+-83.396 32.372 4558
+-83.27 32.372 4623
+-83.144 32.372 4675
+-83.018 32.372 4715
+-82.892 32.372 4736
+-82.766 32.372 4764
+-82.64 32.372 4779
+-82.514 32.372 4776
+-82.388 32.372 4746
+-82.262 32.372 4719
+-82.136 32.372 4716
+-82.01 32.372 4704
+-81.884 32.372 4677
+-81.758 32.372 4633
+-81.632 32.372 4617
+-81.506 32.372 4597
+-81.38 32.372 4566
+-81.254 32.372 4534
+-81.128 32.372 4488
+-81.002 32.372 4443
+-80.876 32.372 4419
+-80.75 32.372 4378
+-80.624 32.372 4358
+-80.498 32.372 4323
+-80.372 32.372 4277
+-80.246 32.372 4234
+-80.12 32.372 4186
+-79.994 32.372 4147
+-79.868 32.372 4124
+-79.742 32.372 4105
+-79.616 32.372 4038
+-79.49 32.372 3975
+-79.364 32.372 3916
+-79.238 32.372 3859
+-79.112 32.372 3792
+-78.986 32.372 3748
+-78.86 32.372 3703
+-78.734 32.372 3647
+-78.608 32.372 3574
+-78.482 32.372 3507
+-78.356 32.372 3467
+-78.23 32.372 3461
+-78.104 32.372 3472
+-77.978 32.372 3478
+-77.852 32.372 3506
+-77.726 32.372 3514
+-77.6 32.372 3517
+-77.474 32.372 3519
+-77.348 32.372 3446
+-77.222 32.372 3428
+-77.096 32.372 3424
+-76.97 32.372 3420
+-76.844 32.372 3364
+-76.718 32.372 3379
+-76.592 32.372 3370
+-76.466 32.372 3370
+-76.34 32.372 3399
+-76.214 32.372 3342
+-76.088 32.372 3342
+-75.962 32.372 3369
+-75.836 32.372 3317
+-75.71 32.372 3320
+-75.584 32.372 3323
+-75.458 32.372 3244
+-75.332 32.372 3235
+-75.206 32.372 3235
+-75.08 32.372 3235
+-74.954 32.372 3282
+-74.828 32.372 3266
+-74.702 32.372 3267
+-74.576 32.372 3269
+-74.45 32.372 3270
+-74.324 32.372 3232
+-74.198 32.372 3234
+-74.072 32.372 3221
+-73.946 32.372 3224
+-73.82 32.372 3226
+-73.694 32.372 3179
+-73.568 32.372 3301
+-73.442 32.372 3276
+-73.316 32.372 3278
+-73.19 32.372 3246
+-73.064 32.372 3249
+-72.938 32.372 3252
+-72.812 32.372 3340
+-72.686 32.372 3344
+-72.56 32.372 3348
+-72.434 32.372 3352
+-72.308 32.372 3356
+-72.182 32.372 3436
+-72.056 32.372 3442
+-71.93 32.372 3379
+-71.804 32.372 3383
+-71.678 32.372 3387
+-71.552 32.372 3391
+-71.426 32.372 3393
+-71.3 32.372 3364
+-71.174 32.372 3357
+-71.048 32.372 3317
+-70.922 32.372 3320
+-70.796 32.372 3286
+-70.67 32.372 3327
+-70.544 32.372 3331
+-70.418 32.372 3334
+-70.292 32.372 3337
+-70.166 32.372 3340
+-70.04 32.372 3343
+-69.914 32.372 3346
+-69.788 32.372 3323
+-69.662 32.372 3326
+-69.536 32.372 3328
+-69.41 32.372 3302
+-69.284 32.372 3272
+-69.158 32.372 3254
+-69.032 32.372 3256
+-68.906 32.372 3258
+-68.78 32.372 3260
+-68.654 32.372 3262
+-68.528 32.372 3264
+-68.402 32.372 3266
+-68.276 32.372 3193
+-68.15 32.372 3179
+-68.024 32.372 3181
+-67.898 32.372 3182
+-67.772 32.372 3184
+-67.646 32.372 3186
+-67.52 32.372 3188
+-67.394 32.372 3189
+-67.268 32.372 3191
+-67.142 32.372 3193
+-67.016 32.372 3194
+-66.89 32.372 3196
+-66.764 32.372 3197
+-66.638 32.372 3198
+-66.512 32.372 3200
+-66.386 32.372 3201
+-66.26 32.372 3191
+-66.134 32.372 3192
+-66.008 32.372 3194
+-65.882 32.372 3195
+-65.756 32.372 3197
+-65.63 32.372 3151
+-65.504 32.372 3153
+-65.378 32.372 3154
+-65.252 32.372 3155
+-65.126 32.372 3156
+-128 32.32 2792
+-127.874 32.32 2787
+-127.748 32.32 2783
+-127.622 32.32 2778
+-127.496 32.32 2772
+-127.37 32.32 2767
+-127.244 32.32 2762
+-127.118 32.32 2756
+-126.992 32.32 2750
+-126.866 32.32 2744
+-126.74 32.32 2737
+-126.614 32.32 2731
+-126.488 32.32 2724
+-126.362 32.32 2717
+-126.236 32.32 2710
+-126.11 32.32 2702
+-125.984 32.32 2764
+-125.858 32.32 2757
+-125.732 32.32 2749
+-125.606 32.32 2740
+-125.48 32.32 2730
+-125.354 32.32 2719
+-125.228 32.32 2729
+-125.102 32.32 2711
+-124.976 32.32 2689
+-124.85 32.32 2703
+-124.724 32.32 2666
+-124.598 32.32 2618
+-124.472 32.32 2562
+-124.346 32.32 2503
+-124.22 32.32 2465
+-124.094 32.32 2502
+-123.968 32.32 2591
+-123.842 32.32 2773
+-123.716 32.32 2932
+-123.59 32.32 3110
+-123.464 32.32 3224
+-123.338 32.32 3323
+-123.212 32.32 3369
+-123.086 32.32 3359
+-122.96 32.32 3274
+-122.834 32.32 3147
+-122.708 32.32 3384
+-122.582 32.32 3697
+-122.456 32.32 3838
+-122.33 32.32 3898
+-122.204 32.32 3970
+-122.078 32.32 4139
+-121.952 32.32 4318
+-121.826 32.32 4409
+-121.7 32.32 4532
+-121.574 32.32 4652
+-121.448 32.32 4781
+-121.322 32.32 4932
+-121.196 32.32 5154
+-121.07 32.32 5304
+-120.944 32.32 5313
+-120.818 32.32 5548
+-120.692 32.32 5591
+-120.566 32.32 5790
+-120.44 32.32 5896
+-120.314 32.32 6019
+-120.188 32.32 6130
+-120.062 32.32 6216
+-119.936 32.32 6445
+-119.81 32.32 6552
+-119.684 32.32 6773
+-119.558 32.32 6853
+-119.432 32.32 7008
+-119.306 32.32 7172
+-119.18 32.32 7345
+-119.054 32.32 7399
+-118.928 32.32 7583
+-118.802 32.32 7677
+-118.676 32.32 7891
+-118.55 32.32 7980
+-118.424 32.32 8050
+-118.298 32.32 8225
+-118.172 32.32 8306
+-118.046 32.32 8503
+-117.92 32.32 8624
+-117.794 32.32 8714
+-117.668 32.32 8856
+-117.542 32.32 8989
+-117.416 32.32 9012
+-117.29 32.32 9074
+-117.164 32.32 9115
+-117.038 32.32 9186
+-116.912 32.32 9170
+-116.786 32.32 9123
+-116.66 32.32 9064
+-116.534 32.32 8953
+-116.408 32.32 8828
+-116.282 32.32 8720
+-116.156 32.32 8613
+-116.03 32.32 8513
+-115.904 32.32 8398
+-115.778 32.32 8174
+-115.652 32.32 8135
+-115.526 32.32 7972
+-115.4 32.32 7850
+-115.274 32.32 7740
+-115.148 32.32 7556
+-115.022 32.32 7455
+-114.896 32.32 7375
+-114.77 32.32 7204
+-114.644 32.32 6988
+-114.518 32.32 6824
+-114.392 32.32 6781
+-114.266 32.32 6634
+-114.14 32.32 6457
+-114.014 32.32 6305
+-113.888 32.32 6215
+-113.762 32.32 6055
+-113.636 32.32 5893
+-113.51 32.32 6029
+-113.384 32.32 6149
+-113.258 32.32 6315
+-113.132 32.32 6405
+-113.006 32.32 6519
+-112.88 32.32 6628
+-112.754 32.32 6843
+-112.628 32.32 6936
+-112.502 32.32 7013
+-112.376 32.32 7189
+-112.25 32.32 7278
+-112.124 32.32 7438
+-111.998 32.32 7521
+-111.872 32.32 7680
+-111.746 32.32 7835
+-111.62 32.32 7894
+-111.494 32.32 8057
+-111.368 32.32 8168
+-111.242 32.32 8290
+-111.116 32.32 8398
+-110.99 32.32 8433
+-110.864 32.32 8536
+-110.738 32.32 8627
+-110.612 32.32 8664
+-110.486 32.32 8694
+-110.36 32.32 8701
+-110.234 32.32 8672
+-110.108 32.32 8626
+-109.982 32.32 8565
+-109.856 32.32 8488
+-109.73 32.32 8393
+-109.604 32.32 8283
+-109.478 32.32 8222
+-109.352 32.32 8101
+-109.226 32.32 7945
+-109.1 32.32 7848
+-108.974 32.32 7722
+-108.848 32.32 7629
+-108.722 32.32 7446
+-108.596 32.32 7376
+-108.47 32.32 7247
+-108.344 32.32 7100
+-108.218 32.32 7028
+-108.092 32.32 6882
+-107.966 32.32 6662
+-107.84 32.32 6650
+-107.714 32.32 6505
+-107.588 32.32 6325
+-107.462 32.32 6178
+-107.336 32.32 6068
+-107.21 32.32 5979
+-107.084 32.32 5834
+-106.958 32.32 5688
+-106.832 32.32 5562
+-106.706 32.32 5447
+-106.58 32.32 5340
+-106.454 32.32 5247
+-106.328 32.32 5101
+-106.202 32.32 5018
+-106.076 32.32 4869
+-105.95 32.32 4627
+-105.824 32.32 4451
+-105.698 32.32 4344
+-105.572 32.32 4282
+-105.446 32.32 4247
+-105.32 32.32 4161
+-105.194 32.32 4085
+-105.068 32.32 4064
+-104.942 32.32 4053
+-104.816 32.32 4056
+-104.69 32.32 4057
+-104.564 32.32 4058
+-104.438 32.32 4047
+-104.312 32.32 4052
+-104.186 32.32 4008
+-104.06 32.32 4001
+-103.934 32.32 3986
+-103.808 32.32 3989
+-103.682 32.32 3992
+-103.556 32.32 3960
+-103.43 32.32 3883
+-103.304 32.32 3822
+-103.178 32.32 3817
+-103.052 32.32 3811
+-102.926 32.32 3696
+-102.8 32.32 3677
+-102.674 32.32 3617
+-102.548 32.32 3624
+-102.422 32.32 3618
+-102.296 32.32 3612
+-102.17 32.32 3592
+-102.044 32.32 3603
+-101.918 32.32 3599
+-101.792 32.32 3422
+-101.666 32.32 3419
+-101.54 32.32 3417
+-101.414 32.32 3414
+-101.288 32.32 3412
+-101.162 32.32 3411
+-101.036 32.32 3277
+-100.91 32.32 3275
+-100.784 32.32 3273
+-100.658 32.32 3272
+-100.532 32.32 3270
+-100.406 32.32 3269
+-100.28 32.32 3140
+-100.154 32.32 3128
+-100.028 32.32 3114
+-99.902 32.32 2963
+-99.776 32.32 2911
+-99.65 32.32 2831
+-99.524 32.32 2847
+-99.398 32.32 2641
+-99.272 32.32 2502
+-99.146 32.32 2486
+-99.02 32.32 2473
+-98.894 32.32 2451
+-98.768 32.32 2491
+-98.642 32.32 2546
+-98.516 32.32 2483
+-98.39 32.32 2580
+-98.264 32.32 2672
+-98.138 32.32 2662
+-98.012 32.32 2653
+-97.886 32.32 2632
+-97.76 32.32 2640
+-97.634 32.32 2630
+-97.508 32.32 2619
+-97.382 32.32 2607
+-97.256 32.32 2596
+-97.13 32.32 2582
+-97.004 32.32 2581
+-96.878 32.32 2569
+-96.752 32.32 2558
+-96.626 32.32 2514
+-96.5 32.32 2503
+-96.374 32.32 2536
+-96.248 32.32 2526
+-96.122 32.32 2521
+-95.996 32.32 2512
+-95.87 32.32 2509
+-95.744 32.32 2501
+-95.618 32.32 2495
+-95.492 32.32 2489
+-95.366 32.32 2530
+-95.24 32.32 2501
+-95.114 32.32 2512
+-94.988 32.32 2534
+-94.862 32.32 2518
+-94.736 32.32 2461
+-94.61 32.32 2441
+-94.484 32.32 2454
+-94.358 32.32 2420
+-94.232 32.32 2384
+-94.106 32.32 2353
+-93.98 32.32 2316
+-93.854 32.32 2295
+-93.728 32.32 2298
+-93.602 32.32 2319
+-93.476 32.32 2398
+-93.35 32.32 2486
+-93.224 32.32 2579
+-93.098 32.32 2665
+-92.972 32.32 2751
+-92.846 32.32 2841
+-92.72 32.32 2878
+-92.594 32.32 2899
+-92.468 32.32 2963
+-92.342 32.32 3003
+-92.216 32.32 3014
+-92.09 32.32 3059
+-91.964 32.32 3140
+-91.838 32.32 3203
+-91.712 32.32 3242
+-91.586 32.32 3286
+-91.46 32.32 3375
+-91.334 32.32 3424
+-91.208 32.32 3483
+-91.082 32.32 3543
+-90.956 32.32 3592
+-90.83 32.32 3630
+-90.704 32.32 3644
+-90.578 32.32 3666
+-90.452 32.32 3695
+-90.326 32.32 3715
+-90.2 32.32 3736
+-90.074 32.32 3744
+-89.948 32.32 3770
+-89.822 32.32 3771
+-89.696 32.32 3752
+-89.57 32.32 3728
+-89.444 32.32 3729
+-89.318 32.32 3734
+-89.192 32.32 3748
+-89.066 32.32 3739
+-88.94 32.32 3741
+-88.814 32.32 3753
+-88.688 32.32 3751
+-88.562 32.32 3767
+-88.436 32.32 3776
+-88.31 32.32 3750
+-88.184 32.32 3725
+-88.058 32.32 3729
+-87.932 32.32 3731
+-87.806 32.32 3694
+-87.68 32.32 3661
+-87.554 32.32 3643
+-87.428 32.32 3644
+-87.302 32.32 3616
+-87.176 32.32 3570
+-87.05 32.32 3527
+-86.924 32.32 3492
+-86.798 32.32 3441
+-86.672 32.32 3365
+-86.546 32.32 3325
+-86.42 32.32 3353
+-86.294 32.32 3389
+-86.168 32.32 3439
+-86.042 32.32 3495
+-85.916 32.32 3557
+-85.79 32.32 3605
+-85.664 32.32 3641
+-85.538 32.32 3642
+-85.412 32.32 3607
+-85.286 32.32 3687
+-85.16 32.32 3814
+-85.034 32.32 3897
+-84.908 32.32 3936
+-84.782 32.32 4013
+-84.656 32.32 4078
+-84.53 32.32 4148
+-84.404 32.32 4188
+-84.278 32.32 4264
+-84.152 32.32 4351
+-84.026 32.32 4439
+-83.9 32.32 4485
+-83.774 32.32 4539
+-83.648 32.32 4593
+-83.522 32.32 4617
+-83.396 32.32 4663
+-83.27 32.32 4719
+-83.144 32.32 4761
+-83.018 32.32 4792
+-82.892 32.32 4825
+-82.766 32.32 4830
+-82.64 32.32 4828
+-82.514 32.32 4833
+-82.388 32.32 4827
+-82.262 32.32 4813
+-82.136 32.32 4765
+-82.01 32.32 4740
+-81.884 32.32 4725
+-81.758 32.32 4694
+-81.632 32.32 4672
+-81.506 32.32 4660
+-81.38 32.32 4638
+-81.254 32.32 4599
+-81.128 32.32 4554
+-81.002 32.32 4506
+-80.876 32.32 4460
+-80.75 32.32 4434
+-80.624 32.32 4396
+-80.498 32.32 4367
+-80.372 32.32 4330
+-80.246 32.32 4313
+-80.12 32.32 4234
+-79.994 32.32 4162
+-79.868 32.32 4128
+-79.742 32.32 4132
+-79.616 32.32 4089
+-79.49 32.32 4040
+-79.364 32.32 3994
+-79.238 32.32 3949
+-79.112 32.32 3865
+-78.986 32.32 3808
+-78.86 32.32 3737
+-78.734 32.32 3673
+-78.608 32.32 3534
+-78.482 32.32 3462
+-78.356 32.32 3394
+-78.23 32.32 3401
+-78.104 32.32 3440
+-77.978 32.32 3473
+-77.852 32.32 3494
+-77.726 32.32 3504
+-77.6 32.32 3508
+-77.474 32.32 3494
+-77.348 32.32 3477
+-77.222 32.32 3419
+-77.096 32.32 3414
+-76.97 32.32 3358
+-76.844 32.32 3372
+-76.718 32.32 3362
+-76.592 32.32 3361
+-76.466 32.32 3388
+-76.34 32.32 3391
+-76.214 32.32 3390
+-76.088 32.32 3345
+-75.962 32.32 3373
+-75.836 32.32 3377
+-75.71 32.32 3318
+-75.584 32.32 3306
+-75.458 32.32 3296
+-75.332 32.32 3298
+-75.206 32.32 3300
+-75.08 32.32 3277
+-74.954 32.32 3261
+-74.828 32.32 3263
+-74.702 32.32 3264
+-74.576 32.32 3266
+-74.45 32.32 3229
+-74.324 32.32 3232
+-74.198 32.32 3219
+-74.072 32.32 3222
+-73.946 32.32 3224
+-73.82 32.32 3178
+-73.694 32.32 3296
+-73.568 32.32 3272
+-73.442 32.32 3275
+-73.316 32.32 3243
+-73.19 32.32 3246
+-73.064 32.32 3249
+-72.938 32.32 3335
+-72.812 32.32 3339
+-72.686 32.32 3343
+-72.56 32.32 3347
+-72.434 32.32 3351
+-72.308 32.32 3431
+-72.182 32.32 3436
+-72.056 32.32 3374
+-71.93 32.32 3378
+-71.804 32.32 3383
+-71.678 32.32 3387
+-71.552 32.32 3389
+-71.426 32.32 3361
+-71.3 32.32 3354
+-71.174 32.32 3314
+-71.048 32.32 3317
+-70.922 32.32 3283
+-70.796 32.32 3324
+-70.67 32.32 3328
+-70.544 32.32 3331
+-70.418 32.32 3335
+-70.292 32.32 3338
+-70.166 32.32 3341
+-70.04 32.32 3344
+-69.914 32.32 3321
+-69.788 32.32 3324
+-69.662 32.32 3326
+-69.536 32.32 3300
+-69.41 32.32 3271
+-69.284 32.32 3253
+-69.158 32.32 3255
+-69.032 32.32 3257
+-68.906 32.32 3259
+-68.78 32.32 3261
+-68.654 32.32 3263
+-68.528 32.32 3265
+-68.402 32.32 3191
+-68.276 32.32 3178
+-68.15 32.32 3180
+-68.024 32.32 3182
+-67.898 32.32 3183
+-67.772 32.32 3185
+-67.646 32.32 3187
+-67.52 32.32 3189
+-67.394 32.32 3190
+-67.268 32.32 3192
+-67.142 32.32 3193
+-67.016 32.32 3195
+-66.89 32.32 3196
+-66.764 32.32 3198
+-66.638 32.32 3199
+-66.512 32.32 3201
+-66.386 32.32 3190
+-66.26 32.32 3192
+-66.134 32.32 3193
+-66.008 32.32 3195
+-65.882 32.32 3196
+-65.756 32.32 3151
+-65.63 32.32 3152
+-65.504 32.32 3153
+-65.378 32.32 3154
+-65.252 32.32 3156
+-65.126 32.32 3157
+-128 32.268 2796
+-127.874 32.268 2792
+-127.748 32.268 2787
+-127.622 32.268 2783
+-127.496 32.268 2778
+-127.37 32.268 2773
+-127.244 32.268 2768
+-127.118 32.268 2763
+-126.992 32.268 2757
+-126.866 32.268 2752
+-126.74 32.268 2746
+-126.614 32.268 2740
+-126.488 32.268 2734
+-126.362 32.268 2727
+-126.236 32.268 2720
+-126.11 32.268 2785
+-125.984 32.268 2778
+-125.858 32.268 2771
+-125.732 32.268 2762
+-125.606 32.268 2753
+-125.48 32.268 2742
+-125.354 32.268 2725
+-125.228 32.268 2736
+-125.102 32.268 2713
+-124.976 32.268 2688
+-124.85 32.268 2688
+-124.724 32.268 2635
+-124.598 32.268 2562
+-124.472 32.268 2467
+-124.346 32.268 2354
+-124.22 32.268 2254
+-124.094 32.268 2230
+-123.968 32.268 2378
+-123.842 32.268 2604
+-123.716 32.268 2834
+-123.59 32.268 3062
+-123.464 32.268 3227
+-123.338 32.268 3340
+-123.212 32.268 3379
+-123.086 32.268 3400
+-122.96 32.268 3363
+-122.834 32.268 3327
+-122.708 32.268 3507
+-122.582 32.268 3707
+-122.456 32.268 3823
+-122.33 32.268 3772
+-122.204 32.268 3980
+-122.078 32.268 4163
+-121.952 32.268 4314
+-121.826 32.268 4317
+-121.7 32.268 4468
+-121.574 32.268 4644
+-121.448 32.268 4844
+-121.322 32.268 4958
+-121.196 32.268 5107
+-121.07 32.268 5285
+-120.944 32.268 5398
+-120.818 32.268 5547
+-120.692 32.268 5675
+-120.566 32.268 5779
+-120.44 32.268 5930
+-120.314 32.268 6053
+-120.188 32.268 6106
+-120.062 32.268 6233
+-119.936 32.268 6405
+-119.81 32.268 6603
+-119.684 32.268 6742
+-119.558 32.268 6892
+-119.432 32.268 7031
+-119.306 32.268 7122
+-119.18 32.268 7309
+-119.054 32.268 7382
+-118.928 32.268 7576
+-118.802 32.268 7705
+-118.676 32.268 7794
+-118.55 32.268 7962
+-118.424 32.268 8076
+-118.298 32.268 8162
+-118.172 32.268 8314
+-118.046 32.268 8412
+-117.92 32.268 8568
+-117.794 32.268 8666
+-117.668 32.268 8739
+-117.542 32.268 8933
+-117.416 32.268 8970
+-117.29 32.268 9041
+-117.164 32.268 9097
+-117.038 32.268 9101
+-116.912 32.268 9099
+-116.786 32.268 9061
+-116.66 32.268 8990
+-116.534 32.268 8915
+-116.408 32.268 8824
+-116.282 32.268 8682
+-116.156 32.268 8574
+-116.03 32.268 8438
+-115.904 32.268 8342
+-115.778 32.268 8225
+-115.652 32.268 8102
+-115.526 32.268 7939
+-115.4 32.268 7771
+-115.274 32.268 7713
+-115.148 32.268 7560
+-115.022 32.268 7498
+-114.896 32.268 7318
+-114.77 32.268 7213
+-114.644 32.268 6978
+-114.518 32.268 6843
+-114.392 32.268 6735
+-114.266 32.268 6632
+-114.14 32.268 6502
+-114.014 32.268 6344
+-113.888 32.268 6208
+-113.762 32.268 6043
+-113.636 32.268 5866
+-113.51 32.268 5995
+-113.384 32.268 6208
+-113.258 32.268 6298
+-113.132 32.268 6396
+-113.006 32.268 6510
+-112.88 32.268 6657
+-112.754 32.268 6751
+-112.628 32.268 6962
+-112.502 32.268 7120
+-112.376 32.268 7176
+-112.25 32.268 7333
+-112.124 32.268 7521
+-111.998 32.268 7556
+-111.872 32.268 7707
+-111.746 32.268 7830
+-111.62 32.268 7988
+-111.494 32.268 8086
+-111.368 32.268 8191
+-111.242 32.268 8294
+-111.116 32.268 8443
+-110.99 32.268 8495
+-110.864 32.268 8587
+-110.738 32.268 8690
+-110.612 32.268 8735
+-110.486 32.268 8748
+-110.36 32.268 8755
+-110.234 32.268 8746
+-110.108 32.268 8679
+-109.982 32.268 8629
+-109.856 32.268 8566
+-109.73 32.268 8459
+-109.604 32.268 8349
+-109.478 32.268 8289
+-109.352 32.268 8132
+-109.226 32.268 8045
+-109.1 32.268 7885
+-108.974 32.268 7746
+-108.848 32.268 7679
+-108.722 32.268 7580
+-108.596 32.268 7395
+-108.47 32.268 7257
+-108.344 32.268 7153
+-108.218 32.268 6989
+-108.092 32.268 6895
+-107.966 32.268 6713
+-107.84 32.268 6681
+-107.714 32.268 6478
+-107.588 32.268 6289
+-107.462 32.268 6197
+-107.336 32.268 6077
+-107.21 32.268 5960
+-107.084 32.268 5831
+-106.958 32.268 5619
+-106.832 32.268 5592
+-106.706 32.268 5462
+-106.58 32.268 5325
+-106.454 32.268 5309
+-106.328 32.268 5190
+-106.202 32.268 5010
+-106.076 32.268 4821
+-105.95 32.268 4592
+-105.824 32.268 4386
+-105.698 32.268 4297
+-105.572 32.268 4242
+-105.446 32.268 4251
+-105.32 32.268 4212
+-105.194 32.268 4171
+-105.068 32.268 4126
+-104.942 32.268 4095
+-104.816 32.268 4090
+-104.69 32.268 4087
+-104.564 32.268 4069
+-104.438 32.268 4071
+-104.312 32.268 4074
+-104.186 32.268 4079
+-104.06 32.268 4036
+-103.934 32.268 4024
+-103.808 32.268 3999
+-103.682 32.268 4001
+-103.556 32.268 3943
+-103.43 32.268 3898
+-103.304 32.268 3860
+-103.178 32.268 3831
+-103.052 32.268 3743
+-102.926 32.268 3737
+-102.8 32.268 3639
+-102.674 32.268 3630
+-102.548 32.268 3623
+-102.422 32.268 3616
+-102.296 32.268 3611
+-102.17 32.268 3606
+-102.044 32.268 3601
+-101.918 32.268 3421
+-101.792 32.268 3418
+-101.666 32.268 3415
+-101.54 32.268 3412
+-101.414 32.268 3410
+-101.288 32.268 3408
+-101.162 32.268 3273
+-101.036 32.268 3271
+-100.91 32.268 3269
+-100.784 32.268 3268
+-100.658 32.268 3267
+-100.532 32.268 3265
+-100.406 32.268 3264
+-100.28 32.268 3105
+-100.154 32.268 3092
+-100.028 32.268 3079
+-99.902 32.268 2921
+-99.776 32.268 2842
+-99.65 32.268 2824
+-99.524 32.268 2841
+-99.398 32.268 2583
+-99.272 32.268 2494
+-99.146 32.268 2478
+-99.02 32.268 2519
+-98.894 32.268 2452
+-98.768 32.268 2475
+-98.642 32.268 2470
+-98.516 32.268 2465
+-98.39 32.268 2562
+-98.264 32.268 2652
+-98.138 32.268 2642
+-98.012 32.268 2620
+-97.886 32.268 2628
+-97.76 32.268 2616
+-97.634 32.268 2604
+-97.508 32.268 2591
+-97.382 32.268 2578
+-97.256 32.268 2562
+-97.13 32.268 2560
+-97.004 32.268 2546
+-96.878 32.268 2533
+-96.752 32.268 2487
+-96.626 32.268 2474
+-96.5 32.268 2504
+-96.374 32.268 2491
+-96.248 32.268 2484
+-96.122 32.268 2473
+-95.996 32.268 2467
+-95.87 32.268 2457
+-95.744 32.268 2450
+-95.618 32.268 2443
+-95.492 32.268 2486
+-95.366 32.268 2459
+-95.24 32.268 2474
+-95.114 32.268 2502
+-94.988 32.268 2495
+-94.862 32.268 2445
+-94.736 32.268 2438
+-94.61 32.268 2471
+-94.484 32.268 2455
+-94.358 32.268 2439
+-94.232 32.268 2431
+-94.106 32.268 2408
+-93.98 32.268 2391
+-93.854 32.268 2384
+-93.728 32.268 2378
+-93.602 32.268 2427
+-93.476 32.268 2482
+-93.35 32.268 2550
+-93.224 32.268 2621
+-93.098 32.268 2700
+-92.972 32.268 2787
+-92.846 32.268 2825
+-92.72 32.268 2842
+-92.594 32.268 2840
+-92.468 32.268 2870
+-92.342 32.268 2843
+-92.216 32.268 2866
+-92.09 32.268 2916
+-91.964 32.268 2997
+-91.838 32.268 3066
+-91.712 32.268 3148
+-91.586 32.268 3180
+-91.46 32.268 3254
+-91.334 32.268 3311
+-91.208 32.268 3390
+-91.082 32.268 3471
+-90.956 32.268 3543
+-90.83 32.268 3574
+-90.704 32.268 3609
+-90.578 32.268 3615
+-90.452 32.268 3662
+-90.326 32.268 3665
+-90.2 32.268 3697
+-90.074 32.268 3696
+-89.948 32.268 3683
+-89.822 32.268 3683
+-89.696 32.268 3669
+-89.57 32.268 3667
+-89.444 32.268 3651
+-89.318 32.268 3661
+-89.192 32.268 3686
+-89.066 32.268 3708
+-88.94 32.268 3718
+-88.814 32.268 3725
+-88.688 32.268 3749
+-88.562 32.268 3735
+-88.436 32.268 3729
+-88.31 32.268 3710
+-88.184 32.268 3701
+-88.058 32.268 3702
+-87.932 32.268 3685
+-87.806 32.268 3672
+-87.68 32.268 3646
+-87.554 32.268 3632
+-87.428 32.268 3617
+-87.302 32.268 3570
+-87.176 32.268 3499
+-87.05 32.268 3456
+-86.924 32.268 3446
+-86.798 32.268 3434
+-86.672 32.268 3411
+-86.546 32.268 3402
+-86.42 32.268 3416
+-86.294 32.268 3449
+-86.168 32.268 3487
+-86.042 32.268 3540
+-85.916 32.268 3580
+-85.79 32.268 3610
+-85.664 32.268 3646
+-85.538 32.268 3668
+-85.412 32.268 3669
+-85.286 32.268 3743
+-85.16 32.268 3874
+-85.034 32.268 3920
+-84.908 32.268 3963
+-84.782 32.268 4066
+-84.656 32.268 4135
+-84.53 32.268 4206
+-84.404 32.268 4250
+-84.278 32.268 4368
+-84.152 32.268 4450
+-84.026 32.268 4528
+-83.9 32.268 4587
+-83.774 32.268 4621
+-83.648 32.268 4649
+-83.522 32.268 4676
+-83.396 32.268 4733
+-83.27 32.268 4804
+-83.144 32.268 4832
+-83.018 32.268 4875
+-82.892 32.268 4890
+-82.766 32.268 4869
+-82.64 32.268 4828
+-82.514 32.268 4866
+-82.388 32.268 4882
+-82.262 32.268 4872
+-82.136 32.268 4828
+-82.01 32.268 4783
+-81.884 32.268 4774
+-81.758 32.268 4761
+-81.632 32.268 4749
+-81.506 32.268 4726
+-81.38 32.268 4708
+-81.254 32.268 4674
+-81.128 32.268 4632
+-81.002 32.268 4587
+-80.876 32.268 4539
+-80.75 32.268 4512
+-80.624 32.268 4482
+-80.498 32.268 4452
+-80.372 32.268 4454
+-80.246 32.268 4400
+-80.12 32.268 4320
+-79.994 32.268 4244
+-79.868 32.268 4183
+-79.742 32.268 4197
+-79.616 32.268 4208
+-79.49 32.268 4160
+-79.364 32.268 4092
+-79.238 32.268 4029
+-79.112 32.268 3972
+-78.986 32.268 3868
+-78.86 32.268 3786
+-78.734 32.268 3678
+-78.608 32.268 3511
+-78.482 32.268 3351
+-78.356 32.268 3285
+-78.23 32.268 3325
+-78.104 32.268 3398
+-77.978 32.268 3453
+-77.852 32.268 3482
+-77.726 32.268 3495
+-77.6 32.268 3485
+-77.474 32.268 3468
+-77.348 32.268 3462
+-77.222 32.268 3455
+-77.096 32.268 3399
+-76.97 32.268 3362
+-76.844 32.268 3351
+-76.718 32.268 3348
+-76.592 32.268 3374
+-76.466 32.268 3376
+-76.34 32.268 3376
+-76.214 32.268 3333
+-76.088 32.268 3361
+-75.962 32.268 3365
+-75.836 32.268 3295
+-75.71 32.268 3297
+-75.584 32.268 3289
+-75.458 32.268 3291
+-75.332 32.268 3293
+-75.206 32.268 3270
+-75.08 32.268 3255
+-74.954 32.268 3257
+-74.828 32.268 3259
+-74.702 32.268 3260
+-74.576 32.268 3226
+-74.45 32.268 3229
+-74.324 32.268 3217
+-74.198 32.268 3219
+-74.072 32.268 3222
+-73.946 32.268 3176
+-73.82 32.268 3291
+-73.694 32.268 3268
+-73.568 32.268 3271
+-73.442 32.268 3239
+-73.316 32.268 3242
+-73.19 32.268 3246
+-73.064 32.268 3329
+-72.938 32.268 3334
+-72.812 32.268 3338
+-72.686 32.268 3342
+-72.56 32.268 3346
+-72.434 32.268 3424
+-72.308 32.268 3430
+-72.182 32.268 3369
+-72.056 32.268 3374
+-71.93 32.268 3378
+-71.804 32.268 3383
+-71.678 32.268 3385
+-71.552 32.268 3357
+-71.426 32.268 3350
+-71.3 32.268 3311
+-71.174 32.268 3314
+-71.048 32.268 3280
+-70.922 32.268 3321
+-70.796 32.268 3325
+-70.67 32.268 3329
+-70.544 32.268 3332
+-70.418 32.268 3335
+-70.292 32.268 3339
+-70.166 32.268 3342
+-70.04 32.268 3319
+-69.914 32.268 3322
+-69.788 32.268 3325
+-69.662 32.268 3299
+-69.536 32.268 3269
+-69.41 32.268 3252
+-69.284 32.268 3254
+-69.158 32.268 3256
+-69.032 32.268 3258
+-68.906 32.268 3260
+-68.78 32.268 3262
+-68.654 32.268 3264
+-68.528 32.268 3190
+-68.402 32.268 3177
+-68.276 32.268 3179
+-68.15 32.268 3181
+-68.024 32.268 3183
+-67.898 32.268 3184
+-67.772 32.268 3186
+-67.646 32.268 3188
+-67.52 32.268 3190
+-67.394 32.268 3191
+-67.268 32.268 3193
+-67.142 32.268 3194
+-67.016 32.268 3196
+-66.89 32.268 3197
+-66.764 32.268 3199
+-66.638 32.268 3200
+-66.512 32.268 3190
+-66.386 32.268 3191
+-66.26 32.268 3193
+-66.134 32.268 3194
+-66.008 32.268 3196
+-65.882 32.268 3151
+-65.756 32.268 3152
+-65.63 32.268 3153
+-65.504 32.268 3154
+-65.378 32.268 3155
+-65.252 32.268 3156
+-65.126 32.268 3161
+-128 32.216 2800
+-127.874 32.216 2796
+-127.748 32.216 2792
+-127.622 32.216 2788
+-127.496 32.216 2784
+-127.37 32.216 2779
+-127.244 32.216 2774
+-127.118 32.216 2770
+-126.992 32.216 2765
+-126.866 32.216 2759
+-126.74 32.216 2754
+-126.614 32.216 2749
+-126.488 32.216 2743
+-126.362 32.216 2737
+-126.236 32.216 2784
+-126.11 32.216 2779
+-125.984 32.216 2773
+-125.858 32.216 2766
+-125.732 32.216 2758
+-125.606 32.216 2761
+-125.48 32.216 2749
+-125.354 32.216 2735
+-125.228 32.216 2717
+-125.102 32.216 2722
+-124.976 32.216 2724
+-124.85 32.216 2676
+-124.724 32.216 2610
+-124.598 32.216 2516
+-124.472 32.216 2386
+-124.346 32.216 2218
+-124.22 32.216 2058
+-124.094 32.216 1975
+-123.968 32.216 2107
+-123.842 32.216 2405
+-123.716 32.216 2752
+-123.59 32.216 3056
+-123.464 32.216 3225
+-123.338 32.216 3326
+-123.212 32.216 3415
+-123.086 32.216 3443
+-122.96 32.216 3473
+-122.834 32.216 3507
+-122.708 32.216 3614
+-122.582 32.216 3670
+-122.456 32.216 3811
+-122.33 32.216 3920
+-122.204 32.216 4010
+-122.078 32.216 4136
+-121.952 32.216 4315
+-121.826 32.216 4338
+-121.7 32.216 4456
+-121.574 32.216 4622
+-121.448 32.216 4823
+-121.322 32.216 4954
+-121.196 32.216 5143
+-121.07 32.216 5208
+-120.944 32.216 5406
+-120.818 32.216 5535
+-120.692 32.216 5647
+-120.566 32.216 5765
+-120.44 32.216 5884
+-120.314 32.216 6016
+-120.188 32.216 6201
+-120.062 32.216 6342
+-119.936 32.216 6402
+-119.81 32.216 6579
+-119.684 32.216 6748
+-119.558 32.216 6884
+-119.432 32.216 6954
+-119.306 32.216 7118
+-119.18 32.216 7303
+-119.054 32.216 7405
+-118.928 32.216 7532
+-118.802 32.216 7617
+-118.676 32.216 7786
+-118.55 32.216 7912
+-118.424 32.216 8058
+-118.298 32.216 8172
+-118.172 32.216 8323
+-118.046 32.216 8396
+-117.92 32.216 8535
+-117.794 32.216 8644
+-117.668 32.216 8732
+-117.542 32.216 8858
+-117.416 32.216 8919
+-117.29 32.216 9007
+-117.164 32.216 9021
+-117.038 32.216 9030
+-116.912 32.216 9065
+-116.786 32.216 8985
+-116.66 32.216 8930
+-116.534 32.216 8905
+-116.408 32.216 8754
+-116.282 32.216 8640
+-116.156 32.216 8526
+-116.03 32.216 8418
+-115.904 32.216 8300
+-115.778 32.216 8190
+-115.652 32.216 8030
+-115.526 32.216 7994
+-115.4 32.216 7815
+-115.274 32.216 7705
+-115.148 32.216 7489
+-115.022 32.216 7446
+-114.896 32.216 7291
+-114.77 32.216 7183
+-114.644 32.216 7016
+-114.518 32.216 6867
+-114.392 32.216 6704
+-114.266 32.216 6550
+-114.14 32.216 6419
+-114.014 32.216 6301
+-113.888 32.216 6203
+-113.762 32.216 6044
+-113.636 32.216 5945
+-113.51 32.216 6062
+-113.384 32.216 6214
+-113.258 32.216 6324
+-113.132 32.216 6478
+-113.006 32.216 6542
+-112.88 32.216 6650
+-112.754 32.216 6805
+-112.628 32.216 6997
+-112.502 32.216 7063
+-112.376 32.216 7284
+-112.25 32.216 7344
+-112.124 32.216 7515
+-111.998 32.216 7671
+-111.872 32.216 7714
+-111.746 32.216 7870
+-111.62 32.216 7997
+-111.494 32.216 8096
+-111.368 32.216 8206
+-111.242 32.216 8347
+-111.116 32.216 8461
+-110.99 32.216 8569
+-110.864 32.216 8623
+-110.738 32.216 8717
+-110.612 32.216 8792
+-110.486 32.216 8804
+-110.36 32.216 8808
+-110.234 32.216 8769
+-110.108 32.216 8714
+-109.982 32.216 8683
+-109.856 32.216 8603
+-109.73 32.216 8513
+-109.604 32.216 8390
+-109.478 32.216 8283
+-109.352 32.216 8152
+-109.226 32.216 8048
+-109.1 32.216 7903
+-108.974 32.216 7774
+-108.848 32.216 7671
+-108.722 32.216 7552
+-108.596 32.216 7404
+-108.47 32.216 7297
+-108.344 32.216 7209
+-108.218 32.216 7079
+-108.092 32.216 6916
+-107.966 32.216 6805
+-107.84 32.216 6617
+-107.714 32.216 6531
+-107.588 32.216 6312
+-107.462 32.216 6241
+-107.336 32.216 6092
+-107.21 32.216 5946
+-107.084 32.216 5869
+-106.958 32.216 5720
+-106.832 32.216 5521
+-106.706 32.216 5484
+-106.58 32.216 5396
+-106.454 32.216 5330
+-106.328 32.216 5180
+-106.202 32.216 4995
+-106.076 32.216 4790
+-105.95 32.216 4569
+-105.824 32.216 4392
+-105.698 32.216 4327
+-105.572 32.216 4276
+-105.446 32.216 4237
+-105.32 32.216 4196
+-105.194 32.216 4166
+-105.068 32.216 4151
+-104.942 32.216 4128
+-104.816 32.216 4106
+-104.69 32.216 4105
+-104.564 32.216 4085
+-104.438 32.216 4088
+-104.312 32.216 4092
+-104.186 32.216 4096
+-104.06 32.216 4088
+-103.934 32.216 4080
+-103.808 32.216 4036
+-103.682 32.216 3955
+-103.556 32.216 3909
+-103.43 32.216 3903
+-103.304 32.216 3885
+-103.178 32.216 3857
+-103.052 32.216 3796
+-102.926 32.216 3682
+-102.8 32.216 3674
+-102.674 32.216 3628
+-102.548 32.216 3621
+-102.422 32.216 3614
+-102.296 32.216 3608
+-102.17 32.216 3603
+-102.044 32.216 3419
+-101.918 32.216 3416
+-101.792 32.216 3387
+-101.666 32.216 3384
+-101.54 32.216 3381
+-101.414 32.216 3379
+-101.288 32.216 3268
+-101.162 32.216 3266
+-101.036 32.216 3265
+-100.91 32.216 3263
+-100.784 32.216 3262
+-100.658 32.216 3261
+-100.532 32.216 3260
+-100.406 32.216 3259
+-100.28 32.216 3099
+-100.154 32.216 3086
+-100.028 32.216 2929
+-99.902 32.216 2913
+-99.776 32.216 2834
+-99.65 32.216 2817
+-99.524 32.216 2797
+-99.398 32.216 2576
+-99.272 32.216 2486
+-99.146 32.216 2469
+-99.02 32.216 2451
+-98.894 32.216 2428
+-98.768 32.216 2406
+-98.642 32.216 2454
+-98.516 32.216 2447
+-98.39 32.216 2495
+-98.264 32.216 2559
+-98.138 32.216 2569
+-98.012 32.216 2617
+-97.886 32.216 2604
+-97.76 32.216 2591
+-97.634 32.216 2577
+-97.508 32.216 2563
+-97.382 32.216 2545
+-97.256 32.216 2541
+-97.13 32.216 2525
+-97.004 32.216 2509
+-96.878 32.216 2461
+-96.752 32.216 2446
+-96.626 32.216 2473
+-96.5 32.216 2457
+-96.374 32.216 2447
+-96.248 32.216 2432
+-96.122 32.216 2423
+-95.996 32.216 2410
+-95.87 32.216 2400
+-95.744 32.216 2391
+-95.618 32.216 2431
+-95.492 32.216 2405
+-95.366 32.216 2421
+-95.24 32.216 2452
+-95.114 32.216 2450
+-94.988 32.216 2405
+-94.862 32.216 2408
+-94.736 32.216 2454
+-94.61 32.216 2452
+-94.484 32.216 2452
+-94.358 32.216 2462
+-94.232 32.216 2455
+-94.106 32.216 2449
+-93.98 32.216 2444
+-93.854 32.216 2428
+-93.728 32.216 2465
+-93.602 32.216 2498
+-93.476 32.216 2545
+-93.35 32.216 2598
+-93.224 32.216 2665
+-93.098 32.216 2749
+-92.972 32.216 2788
+-92.846 32.216 2809
+-92.72 32.216 2806
+-92.594 32.216 2781
+-92.468 32.216 2767
+-92.342 32.216 2724
+-92.216 32.216 2711
+-92.09 32.216 2769
+-91.964 32.216 2876
+-91.838 32.216 2982
+-91.712 32.216 3041
+-91.586 32.216 3066
+-91.46 32.216 3111
+-91.334 32.216 3170
+-91.208 32.216 3276
+-91.082 32.216 3389
+-90.956 32.216 3462
+-90.83 32.216 3528
+-90.704 32.216 3553
+-90.578 32.216 3582
+-90.452 32.216 3591
+-90.326 32.216 3630
+-90.2 32.216 3627
+-90.074 32.216 3606
+-89.948 32.216 3592
+-89.822 32.216 3591
+-89.696 32.216 3588
+-89.57 32.216 3590
+-89.444 32.216 3591
+-89.318 32.216 3600
+-89.192 32.216 3630
+-89.066 32.216 3668
+-88.94 32.216 3692
+-88.814 32.216 3700
+-88.688 32.216 3714
+-88.562 32.216 3701
+-88.436 32.216 3681
+-88.31 32.216 3681
+-88.184 32.216 3685
+-88.058 32.216 3675
+-87.932 32.216 3656
+-87.806 32.216 3626
+-87.68 32.216 3619
+-87.554 32.216 3595
+-87.428 32.216 3562
+-87.302 32.216 3497
+-87.176 32.216 3416
+-87.05 32.216 3369
+-86.924 32.216 3396
+-86.798 32.216 3429
+-86.672 32.216 3451
+-86.546 32.216 3454
+-86.42 32.216 3470
+-86.294 32.216 3499
+-86.168 32.216 3530
+-86.042 32.216 3568
+-85.916 32.216 3583
+-85.79 32.216 3582
+-85.664 32.216 3629
+-85.538 32.216 3702
+-85.412 32.216 3746
+-85.286 32.216 3810
+-85.16 32.216 3901
+-85.034 32.216 3948
+-84.908 32.216 4047
+-84.782 32.216 4141
+-84.656 32.216 4187
+-84.53 32.216 4255
+-84.404 32.216 4320
+-84.278 32.216 4416
+-84.152 32.216 4508
+-84.026 32.216 4599
+-83.9 32.216 4656
+-83.774 32.216 4660
+-83.648 32.216 4637
+-83.522 32.216 4705
+-83.396 32.216 4817
+-83.27 32.216 4835
+-83.144 32.216 4886
+-83.018 32.216 4922
+-82.892 32.216 4935
+-82.766 32.216 4917
+-82.64 32.216 4900
+-82.514 32.216 4918
+-82.388 32.216 4917
+-82.262 32.216 4900
+-82.136 32.216 4893
+-82.01 32.216 4874
+-81.884 32.216 4868
+-81.758 32.216 4841
+-81.632 32.216 4841
+-81.506 32.216 4812
+-81.38 32.216 4813
+-81.254 32.216 4780
+-81.128 32.216 4751
+-81.002 32.216 4700
+-80.876 32.216 4680
+-80.75 32.216 4605
+-80.624 32.216 4581
+-80.498 32.216 4560
+-80.372 32.216 4528
+-80.246 32.216 4486
+-80.12 32.216 4420
+-79.994 32.216 4367
+-79.868 32.216 4310
+-79.742 32.216 4300
+-79.616 32.216 4269
+-79.49 32.216 4217
+-79.364 32.216 4168
+-79.238 32.216 4114
+-79.112 32.216 4019
+-78.986 32.216 3956
+-78.86 32.216 3869
+-78.734 32.216 3720
+-78.608 32.216 3494
+-78.482 32.216 3302
+-78.356 32.216 3220
+-78.23 32.216 3283
+-78.104 32.216 3382
+-77.978 32.216 3446
+-77.852 32.216 3477
+-77.726 32.216 3474
+-77.6 32.216 3479
+-77.474 32.216 3471
+-77.348 32.216 3461
+-77.222 32.216 3431
+-77.096 32.216 3391
+-76.97 32.216 3385
+-76.844 32.216 3379
+-76.718 32.216 3331
+-76.592 32.216 3357
+-76.466 32.216 3357
+-76.34 32.216 3318
+-76.214 32.216 3345
+-76.088 32.216 3350
+-75.962 32.216 3284
+-75.836 32.216 3287
+-75.71 32.216 3279
+-75.584 32.216 3282
+-75.458 32.216 3284
+-75.332 32.216 3263
+-75.206 32.216 3249
+-75.08 32.216 3250
+-74.954 32.216 3252
+-74.828 32.216 3254
+-74.702 32.216 3223
+-74.576 32.216 3226
+-74.45 32.216 3214
+-74.324 32.216 3217
+-74.198 32.216 3219
+-74.072 32.216 3235
+-73.946 32.216 3286
+-73.82 32.216 3263
+-73.694 32.216 3266
+-73.568 32.216 3235
+-73.442 32.216 3238
+-73.316 32.216 3242
+-73.19 32.216 3323
+-73.064 32.216 3328
+-72.938 32.216 3332
+-72.812 32.216 3337
+-72.686 32.216 3341
+-72.56 32.216 3418
+-72.434 32.216 3424
+-72.308 32.216 3364
+-72.182 32.216 3369
+-72.056 32.216 3374
+-71.93 32.216 3378
+-71.804 32.216 3380
+-71.678 32.216 3353
+-71.552 32.216 3346
+-71.426 32.216 3307
+-71.3 32.216 3311
+-71.174 32.216 3278
+-71.048 32.216 3318
+-70.922 32.216 3322
+-70.796 32.216 3326
+-70.67 32.216 3329
+-70.544 32.216 3333
+-70.418 32.216 3336
+-70.292 32.216 3339
+-70.166 32.216 3317
+-70.04 32.216 3320
+-69.914 32.216 3323
+-69.788 32.216 3297
+-69.662 32.216 3267
+-69.536 32.216 3250
+-69.41 32.216 3253
+-69.284 32.216 3255
+-69.158 32.216 3257
+-69.032 32.216 3259
+-68.906 32.216 3261
+-68.78 32.216 3263
+-68.654 32.216 3189
+-68.528 32.216 3176
+-68.402 32.216 3178
+-68.276 32.216 3180
+-68.15 32.216 3182
+-68.024 32.216 3184
+-67.898 32.216 3185
+-67.772 32.216 3187
+-67.646 32.216 3189
+-67.52 32.216 3191
+-67.394 32.216 3192
+-67.268 32.216 3194
+-67.142 32.216 3195
+-67.016 32.216 3197
+-66.89 32.216 3198
+-66.764 32.216 3200
+-66.638 32.216 3189
+-66.512 32.216 3191
+-66.386 32.216 3192
+-66.26 32.216 3194
+-66.134 32.216 3195
+-66.008 32.216 3151
+-65.882 32.216 3152
+-65.756 32.216 3153
+-65.63 32.216 3154
+-65.504 32.216 3155
+-65.378 32.216 3156
+-65.252 32.216 3161
+-65.126 32.216 3161
+-128 32.164 2804
+-127.874 32.164 2801
+-127.748 32.164 2797
+-127.622 32.164 2793
+-127.496 32.164 2789
+-127.37 32.164 2785
+-127.244 32.164 2781
+-127.118 32.164 2776
+-126.992 32.164 2772
+-126.866 32.164 2767
+-126.74 32.164 2762
+-126.614 32.164 2757
+-126.488 32.164 2752
+-126.362 32.164 2801
+-126.236 32.164 2796
+-126.11 32.164 2791
+-125.984 32.164 2785
+-125.858 32.164 2778
+-125.732 32.164 2782
+-125.606 32.164 2772
+-125.48 32.164 2760
+-125.354 32.164 2745
+-125.228 32.164 2733
+-125.102 32.164 2706
+-124.976 32.164 2731
+-124.85 32.164 2679
+-124.724 32.164 2606
+-124.598 32.164 2502
+-124.472 32.164 2356
+-124.346 32.164 2182
+-124.22 32.164 1961
+-124.094 32.164 1849
+-123.968 32.164 1995
+-123.842 32.164 2345
+-123.716 32.164 2696
+-123.59 32.164 3004
+-123.464 32.164 3206
+-123.338 32.164 3330
+-123.212 32.164 3405
+-123.086 32.164 3512
+-122.96 32.164 3564
+-122.834 32.164 3637
+-122.708 32.164 3620
+-122.582 32.164 3551
+-122.456 32.164 3745
+-122.33 32.164 3945
+-122.204 32.164 4051
+-122.078 32.164 4184
+-121.952 32.164 4334
+-121.826 32.164 4412
+-121.7 32.164 4433
+-121.574 32.164 4617
+-121.448 32.164 4812
+-121.322 32.164 4938
+-121.196 32.164 5130
+-121.07 32.164 5255
+-120.944 32.164 5384
+-120.818 32.164 5415
+-120.692 32.164 5596
+-120.566 32.164 5770
+-120.44 32.164 5900
+-120.314 32.164 5976
+-120.188 32.164 6108
+-120.062 32.164 6288
+-119.936 32.164 6409
+-119.81 32.164 6586
+-119.684 32.164 6752
+-119.558 32.164 6895
+-119.432 32.164 6987
+-119.306 32.164 7132
+-119.18 32.164 7263
+-119.054 32.164 7400
+-118.928 32.164 7521
+-118.802 32.164 7629
+-118.676 32.164 7739
+-118.55 32.164 7900
+-118.424 32.164 8050
+-118.298 32.164 8168
+-118.172 32.164 8249
+-118.046 32.164 8367
+-117.92 32.164 8499
+-117.794 32.164 8617
+-117.668 32.164 8685
+-117.542 32.164 8819
+-117.416 32.164 8896
+-117.29 32.164 8965
+-117.164 32.164 8959
+-117.038 32.164 8989
+-116.912 32.164 8961
+-116.786 32.164 8929
+-116.66 32.164 8873
+-116.534 32.164 8869
+-116.408 32.164 8735
+-116.282 32.164 8602
+-116.156 32.164 8476
+-116.03 32.164 8392
+-115.904 32.164 8239
+-115.778 32.164 8151
+-115.652 32.164 8026
+-115.526 32.164 7884
+-115.4 32.164 7782
+-115.274 32.164 7711
+-115.148 32.164 7497
+-115.022 32.164 7394
+-114.896 32.164 7224
+-114.77 32.164 7144
+-114.644 32.164 6955
+-114.518 32.164 6866
+-114.392 32.164 6760
+-114.266 32.164 6603
+-114.14 32.164 6477
+-114.014 32.164 6327
+-113.888 32.164 6166
+-113.762 32.164 6097
+-113.636 32.164 6012
+-113.51 32.164 6036
+-113.384 32.164 6179
+-113.258 32.164 6374
+-113.132 32.164 6505
+-113.006 32.164 6561
+-112.88 32.164 6678
+-112.754 32.164 6821
+-112.628 32.164 6998
+-112.502 32.164 7126
+-112.376 32.164 7272
+-112.25 32.164 7387
+-112.124 32.164 7505
+-111.998 32.164 7609
+-111.872 32.164 7695
+-111.746 32.164 7918
+-111.62 32.164 7987
+-111.494 32.164 8099
+-111.368 32.164 8287
+-111.242 32.164 8328
+-111.116 32.164 8501
+-110.99 32.164 8626
+-110.864 32.164 8681
+-110.738 32.164 8765
+-110.612 32.164 8832
+-110.486 32.164 8863
+-110.36 32.164 8880
+-110.234 32.164 8829
+-110.108 32.164 8751
+-109.982 32.164 8685
+-109.856 32.164 8640
+-109.73 32.164 8527
+-109.604 32.164 8438
+-109.478 32.164 8318
+-109.352 32.164 8198
+-109.226 32.164 8064
+-109.1 32.164 7955
+-108.974 32.164 7830
+-108.848 32.164 7680
+-108.722 32.164 7504
+-108.596 32.164 7415
+-108.47 32.164 7301
+-108.344 32.164 7163
+-108.218 32.164 7066
+-108.092 32.164 6926
+-107.966 32.164 6784
+-107.84 32.164 6612
+-107.714 32.164 6547
+-107.588 32.164 6339
+-107.462 32.164 6184
+-107.336 32.164 6070
+-107.21 32.164 6003
+-107.084 32.164 5794
+-106.958 32.164 5787
+-106.832 32.164 5622
+-106.706 32.164 5473
+-106.58 32.164 5362
+-106.454 32.164 5327
+-106.328 32.164 5204
+-106.202 32.164 4990
+-106.076 32.164 4768
+-105.95 32.164 4592
+-105.824 32.164 4406
+-105.698 32.164 4365
+-105.572 32.164 4199
+-105.446 32.164 4208
+-105.32 32.164 4086
+-105.194 32.164 4100
+-105.068 32.164 4128
+-104.942 32.164 4139
+-104.816 32.164 4125
+-104.69 32.164 4108
+-104.564 32.164 4094
+-104.438 32.164 4099
+-104.312 32.164 4104
+-104.186 32.164 4096
+-104.06 32.164 4100
+-103.934 32.164 4091
+-103.808 32.164 4020
+-103.682 32.164 3959
+-103.556 32.164 3951
+-103.43 32.164 3905
+-103.304 32.164 3899
+-103.178 32.164 3820
+-103.052 32.164 3811
+-102.926 32.164 3803
+-102.8 32.164 3669
+-102.674 32.164 3622
+-102.548 32.164 3614
+-102.422 32.164 3607
+-102.296 32.164 3601
+-102.17 32.164 3416
+-102.044 32.164 3388
+-101.918 32.164 3384
+-101.792 32.164 3381
+-101.666 32.164 3378
+-101.54 32.164 3335
+-101.414 32.164 3263
+-101.288 32.164 3261
+-101.162 32.164 3259
+-101.036 32.164 3258
+-100.91 32.164 3257
+-100.784 32.164 3256
+-100.658 32.164 3255
+-100.532 32.164 3254
+-100.406 32.164 3254
+-100.28 32.164 3093
+-100.154 32.164 3080
+-100.028 32.164 2922
+-99.902 32.164 2862
+-99.776 32.164 2827
+-99.65 32.164 2809
+-99.524 32.164 2789
+-99.398 32.164 2570
+-99.272 32.164 2479
+-99.146 32.164 2461
+-99.02 32.164 2442
+-98.894 32.164 2418
+-98.768 32.164 2395
+-98.642 32.164 2437
+-98.516 32.164 2430
+-98.39 32.164 2477
+-98.264 32.164 2557
+-98.138 32.164 2546
+-98.012 32.164 2594
+-97.886 32.164 2580
+-97.76 32.164 2565
+-97.634 32.164 2549
+-97.508 32.164 2530
+-97.382 32.164 2524
+-97.256 32.164 2507
+-97.13 32.164 2489
+-97.004 32.164 2439
+-96.878 32.164 2421
+-96.752 32.164 2445
+-96.626 32.164 2426
+-96.5 32.164 2411
+-96.374 32.164 2393
+-96.248 32.164 2379
+-96.122 32.164 2362
+-95.996 32.164 2347
+-95.87 32.164 2334
+-95.744 32.164 2370
+-95.618 32.164 2342
+-95.492 32.164 2355
+-95.366 32.164 2385
+-95.24 32.164 2385
+-95.114 32.164 2343
+-94.988 32.164 2351
+-94.862 32.164 2406
+-94.736 32.164 2415
+-94.61 32.164 2427
+-94.484 32.164 2452
+-94.358 32.164 2459
+-94.232 32.164 2465
+-94.106 32.164 2469
+-93.98 32.164 2454
+-93.854 32.164 2489
+-93.728 32.164 2514
+-93.602 32.164 2548
+-93.476 32.164 2587
+-93.35 32.164 2644
+-93.224 32.164 2721
+-93.098 32.164 2761
+-92.972 32.164 2787
+-92.846 32.164 2794
+-92.72 32.164 2777
+-92.594 32.164 2747
+-92.468 32.164 2672
+-92.342 32.164 2611
+-92.216 32.164 2573
+-92.09 32.164 2635
+-91.964 32.164 2780
+-91.838 32.164 2920
+-91.712 32.164 2988
+-91.586 32.164 2987
+-91.46 32.164 2970
+-91.334 32.164 3029
+-91.208 32.164 3151
+-91.082 32.164 3267
+-90.956 32.164 3405
+-90.83 32.164 3464
+-90.704 32.164 3513
+-90.578 32.164 3545
+-90.452 32.164 3554
+-90.326 32.164 3592
+-90.2 32.164 3573
+-90.074 32.164 3549
+-89.948 32.164 3516
+-89.822 32.164 3506
+-89.696 32.164 3516
+-89.57 32.164 3526
+-89.444 32.164 3537
+-89.318 32.164 3538
+-89.192 32.164 3559
+-89.066 32.164 3596
+-88.94 32.164 3624
+-88.814 32.164 3635
+-88.688 32.164 3643
+-88.562 32.164 3637
+-88.436 32.164 3617
+-88.31 32.164 3613
+-88.184 32.164 3624
+-88.058 32.164 3618
+-87.932 32.164 3607
+-87.806 32.164 3585
+-87.68 32.164 3566
+-87.554 32.164 3547
+-87.428 32.164 3511
+-87.302 32.164 3453
+-87.176 32.164 3369
+-87.05 32.164 3318
+-86.924 32.164 3359
+-86.798 32.164 3417
+-86.672 32.164 3463
+-86.546 32.164 3495
+-86.42 32.164 3518
+-86.294 32.164 3543
+-86.168 32.164 3572
+-86.042 32.164 3606
+-85.916 32.164 3582
+-85.79 32.164 3532
+-85.664 32.164 3617
+-85.538 32.164 3724
+-85.412 32.164 3784
+-85.286 32.164 3845
+-85.16 32.164 3933
+-85.034 32.164 4011
+-84.908 32.164 4134
+-84.782 32.164 4182
+-84.656 32.164 4228
+-84.53 32.164 4311
+-84.404 32.164 4342
+-84.278 32.164 4453
+-84.152 32.164 4570
+-84.026 32.164 4633
+-83.9 32.164 4694
+-83.774 32.164 4743
+-83.648 32.164 4724
+-83.522 32.164 4808
+-83.396 32.164 4845
+-83.27 32.164 4799
+-83.144 32.164 4893
+-83.018 32.164 4956
+-82.892 32.164 4966
+-82.766 32.164 4966
+-82.64 32.164 4953
+-82.514 32.164 4938
+-82.388 32.164 4948
+-82.262 32.164 4938
+-82.136 32.164 4936
+-82.01 32.164 4940
+-81.884 32.164 4933
+-81.758 32.164 4936
+-81.632 32.164 4940
+-81.506 32.164 4932
+-81.38 32.164 4917
+-81.254 32.164 4894
+-81.128 32.164 4859
+-81.002 32.164 4787
+-80.876 32.164 4737
+-80.75 32.164 4692
+-80.624 32.164 4653
+-80.498 32.164 4605
+-80.372 32.164 4570
+-80.246 32.164 4537
+-80.12 32.164 4515
+-79.994 32.164 4462
+-79.868 32.164 4415
+-79.742 32.164 4393
+-79.616 32.164 4384
+-79.49 32.164 4346
+-79.364 32.164 4224
+-79.238 32.164 4157
+-79.112 32.164 4057
+-78.986 32.164 3991
+-78.86 32.164 3914
+-78.734 32.164 3788
+-78.608 32.164 3569
+-78.482 32.164 3391
+-78.356 32.164 3304
+-78.23 32.164 3340
+-78.104 32.164 3424
+-77.978 32.164 3459
+-77.852 32.164 3466
+-77.726 32.164 3476
+-77.6 32.164 3480
+-77.474 32.164 3468
+-77.348 32.164 3415
+-77.222 32.164 3372
+-77.096 32.164 3362
+-76.97 32.164 3353
+-76.844 32.164 3351
+-76.718 32.164 3376
+-76.592 32.164 3342
+-76.466 32.164 3344
+-76.34 32.164 3300
+-76.214 32.164 3331
+-76.088 32.164 3269
+-75.962 32.164 3273
+-75.836 32.164 3267
+-75.71 32.164 3271
+-75.584 32.164 3274
+-75.458 32.164 3254
+-75.332 32.164 3296
+-75.206 32.164 3300
+-75.08 32.164 3303
+-74.954 32.164 3307
+-74.828 32.164 3219
+-74.702 32.164 3275
+-74.576 32.164 3210
+-74.45 32.164 3213
+-74.324 32.164 3216
+-74.198 32.164 3230
+-74.072 32.164 3280
+-73.946 32.164 3258
+-73.82 32.164 3261
+-73.694 32.164 3230
+-73.568 32.164 3234
+-73.442 32.164 3238
+-73.316 32.164 3316
+-73.19 32.164 3321
+-73.064 32.164 3326
+-72.938 32.164 3331
+-72.812 32.164 3336
+-72.686 32.164 3411
+-72.56 32.164 3417
+-72.434 32.164 3359
+-72.308 32.164 3364
+-72.182 32.164 3369
+-72.056 32.164 3374
+-71.93 32.164 3376
+-71.804 32.164 3349
+-71.678 32.164 3342
+-71.552 32.164 3304
+-71.426 32.164 3308
+-71.3 32.164 3275
+-71.174 32.164 3315
+-71.048 32.164 3319
+-70.922 32.164 3323
+-70.796 32.164 3327
+-70.67 32.164 3330
+-70.544 32.164 3334
+-70.418 32.164 3337
+-70.292 32.164 3315
+-70.166 32.164 3318
+-70.04 32.164 3321
+-69.914 32.164 3295
+-69.788 32.164 3266
+-69.662 32.164 3249
+-69.536 32.164 3251
+-69.41 32.164 3253
+-69.284 32.164 3256
+-69.158 32.164 3258
+-69.032 32.164 3260
+-68.906 32.164 3262
+-68.78 32.164 3188
+-68.654 32.164 3175
+-68.528 32.164 3177
+-68.402 32.164 3179
+-68.276 32.164 3181
+-68.15 32.164 3183
+-68.024 32.164 3185
+-67.898 32.164 3186
+-67.772 32.164 3188
+-67.646 32.164 3190
+-67.52 32.164 3192
+-67.394 32.164 3193
+-67.268 32.164 3195
+-67.142 32.164 3196
+-67.016 32.164 3198
+-66.89 32.164 3199
+-66.764 32.164 3188
+-66.638 32.164 3190
+-66.512 32.164 3192
+-66.386 32.164 3193
+-66.26 32.164 3195
+-66.134 32.164 3150
+-66.008 32.164 3152
+-65.882 32.164 3153
+-65.756 32.164 3154
+-65.63 32.164 3155
+-65.504 32.164 3156
+-65.378 32.164 3160
+-65.252 32.164 3161
+-65.126 32.164 3135
+-128 32.112 2809
+-127.874 32.112 2805
+-127.748 32.112 2802
+-127.622 32.112 2798
+-127.496 32.112 2794
+-127.37 32.112 2791
+-127.244 32.112 2787
+-127.118 32.112 2783
+-126.992 32.112 2778
+-126.866 32.112 2774
+-126.74 32.112 2770
+-126.614 32.112 2765
+-126.488 32.112 2816
+-126.362 32.112 2811
+-126.236 32.112 2807
+-126.11 32.112 2802
+-125.984 32.112 2796
+-125.858 32.112 2790
+-125.732 32.112 2803
+-125.606 32.112 2794
+-125.48 32.112 2781
+-125.354 32.112 2766
+-125.228 32.112 2746
+-125.102 32.112 2719
+-124.976 32.112 2683
+-124.85 32.112 2695
+-124.724 32.112 2624
+-124.598 32.112 2525
+-124.472 32.112 2424
+-124.346 32.112 2240
+-124.22 32.112 2063
+-124.094 32.112 1977
+-123.968 32.112 2114
+-123.842 32.112 2418
+-123.716 32.112 2732
+-123.59 32.112 2993
+-123.464 32.112 3180
+-123.338 32.112 3348
+-123.212 32.112 3447
+-123.086 32.112 3515
+-122.96 32.112 3582
+-122.834 32.112 3701
+-122.708 32.112 3681
+-122.582 32.112 3665
+-122.456 32.112 3795
+-122.33 32.112 3948
+-122.204 32.112 4110
+-122.078 32.112 4216
+-121.952 32.112 4344
+-121.826 32.112 4448
+-121.7 32.112 4521
+-121.574 32.112 4707
+-121.448 32.112 4814
+-121.322 32.112 4908
+-121.196 32.112 5087
+-121.07 32.112 5229
+-120.944 32.112 5345
+-120.818 32.112 5476
+-120.692 32.112 5598
+-120.566 32.112 5739
+-120.44 32.112 5900
+-120.314 32.112 5958
+-120.188 32.112 6098
+-120.062 32.112 6233
+-119.936 32.112 6416
+-119.81 32.112 6603
+-119.684 32.112 6719
+-119.558 32.112 6837
+-119.432 32.112 6970
+-119.306 32.112 7016
+-119.18 32.112 7163
+-119.054 32.112 7333
+-118.928 32.112 7477
+-118.802 32.112 7634
+-118.676 32.112 7766
+-118.55 32.112 7872
+-118.424 32.112 7979
+-118.298 32.112 8122
+-118.172 32.112 8265
+-118.046 32.112 8359
+-117.92 32.112 8495
+-117.794 32.112 8601
+-117.668 32.112 8692
+-117.542 32.112 8726
+-117.416 32.112 8817
+-117.29 32.112 8862
+-117.164 32.112 8915
+-117.038 32.112 8916
+-116.912 32.112 8933
+-116.786 32.112 8906
+-116.66 32.112 8844
+-116.534 32.112 8728
+-116.408 32.112 8688
+-116.282 32.112 8636
+-116.156 32.112 8515
+-116.03 32.112 8372
+-115.904 32.112 8259
+-115.778 32.112 8104
+-115.652 32.112 8067
+-115.526 32.112 7900
+-115.4 32.112 7760
+-115.274 32.112 7575
+-115.148 32.112 7474
+-115.022 32.112 7365
+-114.896 32.112 7267
+-114.77 32.112 7106
+-114.644 32.112 6939
+-114.518 32.112 6885
+-114.392 32.112 6722
+-114.266 32.112 6525
+-114.14 32.112 6440
+-114.014 32.112 6339
+-113.888 32.112 6139
+-113.762 32.112 6029
+-113.636 32.112 5877
+-113.51 32.112 6047
+-113.384 32.112 6177
+-113.258 32.112 6380
+-113.132 32.112 6515
+-113.006 32.112 6622
+-112.88 32.112 6706
+-112.754 32.112 6907
+-112.628 32.112 6962
+-112.502 32.112 7125
+-112.376 32.112 7274
+-112.25 32.112 7365
+-112.124 32.112 7574
+-111.998 32.112 7628
+-111.872 32.112 7769
+-111.746 32.112 7918
+-111.62 32.112 8040
+-111.494 32.112 8136
+-111.368 32.112 8302
+-111.242 32.112 8425
+-111.116 32.112 8571
+-110.99 32.112 8660
+-110.864 32.112 8764
+-110.738 32.112 8830
+-110.612 32.112 8843
+-110.486 32.112 8945
+-110.36 32.112 8899
+-110.234 32.112 8886
+-110.108 32.112 8812
+-109.982 32.112 8710
+-109.856 32.112 8717
+-109.73 32.112 8578
+-109.604 32.112 8460
+-109.478 32.112 8340
+-109.352 32.112 8255
+-109.226 32.112 8045
+-109.1 32.112 7981
+-108.974 32.112 7853
+-108.848 32.112 7705
+-108.722 32.112 7581
+-108.596 32.112 7407
+-108.47 32.112 7341
+-108.344 32.112 7213
+-108.218 32.112 7070
+-108.092 32.112 6945
+-107.966 32.112 6819
+-107.84 32.112 6697
+-107.714 32.112 6585
+-107.588 32.112 6368
+-107.462 32.112 6243
+-107.336 32.112 6082
+-107.21 32.112 6017
+-107.084 32.112 5922
+-106.958 32.112 5807
+-106.832 32.112 5663
+-106.706 32.112 5472
+-106.58 32.112 5281
+-106.454 32.112 5313
+-106.328 32.112 5174
+-106.202 32.112 4990
+-106.076 32.112 4805
+-105.95 32.112 4625
+-105.824 32.112 4461
+-105.698 32.112 4360
+-105.572 32.112 4279
+-105.446 32.112 4144
+-105.32 32.112 3928
+-105.194 32.112 4039
+-105.068 32.112 4092
+-104.942 32.112 4110
+-104.816 32.112 4109
+-104.69 32.112 4127
+-104.564 32.112 4116
+-104.438 32.112 4112
+-104.312 32.112 4106
+-104.186 32.112 4112
+-104.06 32.112 4044
+-103.934 32.112 4026
+-103.808 32.112 4020
+-103.682 32.112 4014
+-103.556 32.112 3959
+-103.43 32.112 3904
+-103.304 32.112 3822
+-103.178 32.112 3811
+-103.052 32.112 3801
+-102.926 32.112 3752
+-102.8 32.112 3660
+-102.674 32.112 3629
+-102.548 32.112 3622
+-102.422 32.112 3612
+-102.296 32.112 3412
+-102.17 32.112 3384
+-102.044 32.112 3380
+-101.918 32.112 3376
+-101.792 32.112 3373
+-101.666 32.112 3330
+-101.54 32.112 3256
+-101.414 32.112 3255
+-101.288 32.112 3253
+-101.162 32.112 3252
+-101.036 32.112 3251
+-100.91 32.112 3250
+-100.784 32.112 3249
+-100.658 32.112 3249
+-100.532 32.112 3248
+-100.406 32.112 3168
+-100.28 32.112 3020
+-100.154 32.112 2945
+-100.028 32.112 2931
+-99.902 32.112 2854
+-99.776 32.112 2820
+-99.65 32.112 2802
+-99.524 32.112 2782
+-99.398 32.112 2563
+-99.272 32.112 2470
+-99.146 32.112 2453
+-99.02 32.112 2433
+-98.894 32.112 2407
+-98.768 32.112 2384
+-98.642 32.112 2420
+-98.516 32.112 2401
+-98.39 32.112 2403
+-98.264 32.112 2536
+-98.138 32.112 2523
+-98.012 32.112 2501
+-97.886 32.112 2555
+-97.76 32.112 2538
+-97.634 32.112 2518
+-97.508 32.112 2510
+-97.382 32.112 2491
+-97.256 32.112 2471
+-97.13 32.112 2419
+-97.004 32.112 2399
+-96.878 32.112 2420
+-96.752 32.112 2397
+-96.626 32.112 2379
+-96.5 32.112 2356
+-96.374 32.112 2338
+-96.248 32.112 2315
+-96.122 32.112 2295
+-95.996 32.112 2276
+-95.87 32.112 2304
+-95.744 32.112 2272
+-95.618 32.112 2279
+-95.492 32.112 2304
+-95.366 32.112 2303
+-95.24 32.112 2261
+-95.114 32.112 2270
+-94.988 32.112 2329
+-94.862 32.112 2345
+-94.736 32.112 2366
+-94.61 32.112 2403
+-94.484 32.112 2423
+-94.358 32.112 2441
+-94.232 32.112 2456
+-94.106 32.112 2448
+-93.98 32.112 2490
+-93.854 32.112 2514
+-93.728 32.112 2544
+-93.602 32.112 2574
+-93.476 32.112 2626
+-93.35 32.112 2700
+-93.224 32.112 2738
+-93.098 32.112 2768
+-92.972 32.112 2786
+-92.846 32.112 2785
+-92.72 32.112 2777
+-92.594 32.112 2718
+-92.468 32.112 2641
+-92.342 32.112 2558
+-92.216 32.112 2516
+-92.09 32.112 2575
+-91.964 32.112 2727
+-91.838 32.112 2880
+-91.712 32.112 2962
+-91.586 32.112 2955
+-91.46 32.112 2928
+-91.334 32.112 2976
+-91.208 32.112 3099
+-91.082 32.112 3220
+-90.956 32.112 3324
+-90.83 32.112 3383
+-90.704 32.112 3477
+-90.578 32.112 3502
+-90.452 32.112 3517
+-90.326 32.112 3518
+-90.2 32.112 3532
+-90.074 32.112 3481
+-89.948 32.112 3443
+-89.822 32.112 3423
+-89.696 32.112 3461
+-89.57 32.112 3487
+-89.444 32.112 3493
+-89.318 32.112 3514
+-89.192 32.112 3525
+-89.066 32.112 3542
+-88.94 32.112 3551
+-88.814 32.112 3553
+-88.688 32.112 3565
+-88.562 32.112 3567
+-88.436 32.112 3546
+-88.31 32.112 3523
+-88.184 32.112 3537
+-88.058 32.112 3560
+-87.932 32.112 3552
+-87.806 32.112 3524
+-87.68 32.112 3501
+-87.554 32.112 3488
+-87.428 32.112 3468
+-87.302 32.112 3437
+-87.176 32.112 3389
+-87.05 32.112 3357
+-86.924 32.112 3381
+-86.798 32.112 3425
+-86.672 32.112 3476
+-86.546 32.112 3517
+-86.42 32.112 3544
+-86.294 32.112 3575
+-86.168 32.112 3603
+-86.042 32.112 3625
+-85.916 32.112 3625
+-85.79 32.112 3614
+-85.664 32.112 3692
+-85.538 32.112 3769
+-85.412 32.112 3807
+-85.286 32.112 3870
+-85.16 32.112 3979
+-85.034 32.112 4061
+-84.908 32.112 4155
+-84.782 32.112 4198
+-84.656 32.112 4286
+-84.53 32.112 4332
+-84.404 32.112 4369
+-84.278 32.112 4513
+-84.152 32.112 4628
+-84.026 32.112 4711
+-83.9 32.112 4782
+-83.774 32.112 4829
+-83.648 32.112 4854
+-83.522 32.112 4891
+-83.396 32.112 4903
+-83.27 32.112 4898
+-83.144 32.112 4950
+-83.018 32.112 4977
+-82.892 32.112 4948
+-82.766 32.112 4988
+-82.64 32.112 4986
+-82.514 32.112 4974
+-82.388 32.112 4974
+-82.262 32.112 4992
+-82.136 32.112 5009
+-82.01 32.112 5020
+-81.884 32.112 5005
+-81.758 32.112 5014
+-81.632 32.112 5022
+-81.506 32.112 5027
+-81.38 32.112 5019
+-81.254 32.112 4987
+-81.128 32.112 4936
+-81.002 32.112 4900
+-80.876 32.112 4826
+-80.75 32.112 4746
+-80.624 32.112 4705
+-80.498 32.112 4647
+-80.372 32.112 4576
+-80.246 32.112 4513
+-80.12 32.112 4541
+-79.994 32.112 4503
+-79.868 32.112 4437
+-79.742 32.112 4389
+-79.616 32.112 4395
+-79.49 32.112 4380
+-79.364 32.112 4311
+-79.238 32.112 4236
+-79.112 32.112 4133
+-78.986 32.112 4005
+-78.86 32.112 3957
+-78.734 32.112 3864
+-78.608 32.112 3678
+-78.482 32.112 3549
+-78.356 32.112 3471
+-78.23 32.112 3463
+-78.104 32.112 3488
+-77.978 32.112 3489
+-77.852 32.112 3486
+-77.726 32.112 3473
+-77.6 32.112 3455
+-77.474 32.112 3436
+-77.348 32.112 3354
+-77.222 32.112 3337
+-77.096 32.112 3322
+-76.97 32.112 3317
+-76.844 32.112 3337
+-76.718 32.112 3307
+-76.592 32.112 3311
+-76.466 32.112 3320
+-76.34 32.112 3270
+-76.214 32.112 3301
+-76.088 32.112 3299
+-75.962 32.112 3307
+-75.836 32.112 3314
+-75.71 32.112 3320
+-75.584 32.112 3301
+-75.458 32.112 3283
+-75.332 32.112 3287
+-75.206 32.112 3291
+-75.08 32.112 3295
+-74.954 32.112 3213
+-74.828 32.112 3267
+-74.702 32.112 3205
+-74.576 32.112 3209
+-74.45 32.112 3212
+-74.324 32.112 3225
+-74.198 32.112 3274
+-74.072 32.112 3252
+-73.946 32.112 3256
+-73.82 32.112 3225
+-73.694 32.112 3229
+-73.568 32.112 3233
+-73.442 32.112 3309
+-73.316 32.112 3315
+-73.19 32.112 3320
+-73.064 32.112 3325
+-72.938 32.112 3330
+-72.812 32.112 3404
+-72.686 32.112 3411
+-72.56 32.112 3353
+-72.434 32.112 3359
+-72.308 32.112 3364
+-72.182 32.112 3369
+-72.056 32.112 3371
+-71.93 32.112 3345
+-71.804 32.112 3338
+-71.678 32.112 3301
+-71.552 32.112 3305
+-71.426 32.112 3272
+-71.3 32.112 3312
+-71.174 32.112 3316
+-71.048 32.112 3320
+-70.922 32.112 3324
+-70.796 32.112 3328
+-70.67 32.112 3331
+-70.544 32.112 3335
+-70.418 32.112 3312
+-70.292 32.112 3316
+-70.166 32.112 3319
+-70.04 32.112 3294
+-69.914 32.112 3264
+-69.788 32.112 3248
+-69.662 32.112 3250
+-69.536 32.112 3252
+-69.41 32.112 3254
+-69.284 32.112 3257
+-69.158 32.112 3259
+-69.032 32.112 3261
+-68.906 32.112 3187
+-68.78 32.112 3174
+-68.654 32.112 3176
+-68.528 32.112 3178
+-68.402 32.112 3180
+-68.276 32.112 3182
+-68.15 32.112 3184
+-68.024 32.112 3186
+-67.898 32.112 3188
+-67.772 32.112 3189
+-67.646 32.112 3191
+-67.52 32.112 3193
+-67.394 32.112 3194
+-67.268 32.112 3196
+-67.142 32.112 3197
+-67.016 32.112 3199
+-66.89 32.112 3188
+-66.764 32.112 3190
+-66.638 32.112 3191
+-66.512 32.112 3193
+-66.386 32.112 3195
+-66.26 32.112 3150
+-66.134 32.112 3151
+-66.008 32.112 3153
+-65.882 32.112 3154
+-65.756 32.112 3155
+-65.63 32.112 3156
+-65.504 32.112 3160
+-65.378 32.112 3161
+-65.252 32.112 3135
+-65.126 32.112 3121
+-128 32.06 2813
+-127.874 32.06 2810
+-127.748 32.06 2806
+-127.622 32.06 2803
+-127.496 32.06 2800
+-127.37 32.06 2796
+-127.244 32.06 2793
+-127.118 32.06 2789
+-126.992 32.06 2785
+-126.866 32.06 2781
+-126.74 32.06 2777
+-126.614 32.06 2760
+-126.488 32.06 2825
+-126.362 32.06 2846
+-126.236 32.06 2841
+-126.11 32.06 2836
+-125.984 32.06 2831
+-125.858 32.06 2824
+-125.732 32.06 2816
+-125.606 32.06 2807
+-125.48 32.06 2795
+-125.354 32.06 2780
+-125.228 32.06 2761
+-125.102 32.06 2737
+-124.976 32.06 2704
+-124.85 32.06 2660
+-124.724 32.06 2661
+-124.598 32.06 2626
+-124.472 32.06 2512
+-124.346 32.06 2406
+-124.22 32.06 2287
+-124.094 32.06 2259
+-123.968 32.06 2370
+-123.842 32.06 2588
+-123.716 32.06 2820
+-123.59 32.06 3042
+-123.464 32.06 3185
+-123.338 32.06 3326
+-123.212 32.06 3476
+-123.086 32.06 3568
+-122.96 32.06 3610
+-122.834 32.06 3707
+-122.708 32.06 3753
+-122.582 32.06 3790
+-122.456 32.06 3859
+-122.33 32.06 3959
+-122.204 32.06 4095
+-122.078 32.06 4240
+-121.952 32.06 4368
+-121.826 32.06 4482
+-121.7 32.06 4635
+-121.574 32.06 4748
+-121.448 32.06 4839
+-121.322 32.06 4879
+-121.196 32.06 5050
+-121.07 32.06 5103
+-120.944 32.06 5232
+-120.818 32.06 5367
+-120.692 32.06 5579
+-120.566 32.06 5733
+-120.44 32.06 5791
+-120.314 32.06 6032
+-120.188 32.06 6074
+-120.062 32.06 6260
+-119.936 32.06 6458
+-119.81 32.06 6471
+-119.684 32.06 6626
+-119.558 32.06 6814
+-119.432 32.06 6932
+-119.306 32.06 7070
+-119.18 32.06 7205
+-119.054 32.06 7352
+-118.928 32.06 7479
+-118.802 32.06 7601
+-118.676 32.06 7727
+-118.55 32.06 7841
+-118.424 32.06 7965
+-118.298 32.06 8070
+-118.172 32.06 8207
+-118.046 32.06 8318
+-117.92 32.06 8434
+-117.794 32.06 8531
+-117.668 32.06 8603
+-117.542 32.06 8692
+-117.416 32.06 8759
+-117.29 32.06 8816
+-117.164 32.06 8862
+-117.038 32.06 8866
+-116.912 32.06 8864
+-116.786 32.06 8839
+-116.66 32.06 8791
+-116.534 32.06 8725
+-116.408 32.06 8632
+-116.282 32.06 8545
+-116.156 32.06 8429
+-116.03 32.06 8314
+-115.904 32.06 8218
+-115.778 32.06 8066
+-115.652 32.06 7964
+-115.526 32.06 7906
+-115.4 32.06 7719
+-115.274 32.06 7623
+-115.148 32.06 7424
+-115.022 32.06 7334
+-114.896 32.06 7201
+-114.77 32.06 7049
+-114.644 32.06 6947
+-114.518 32.06 6769
+-114.392 32.06 6695
+-114.266 32.06 6505
+-114.14 32.06 6437
+-114.014 32.06 6281
+-113.888 32.06 6124
+-113.762 32.06 6004
+-113.636 32.06 5935
+-113.51 32.06 6064
+-113.384 32.06 6204
+-113.258 32.06 6368
+-113.132 32.06 6513
+-113.006 32.06 6599
+-112.88 32.06 6713
+-112.754 32.06 6898
+-112.628 32.06 6958
+-112.502 32.06 7111
+-112.376 32.06 7272
+-112.25 32.06 7385
+-112.124 32.06 7542
+-111.998 32.06 7653
+-111.872 32.06 7814
+-111.746 32.06 7943
+-111.62 32.06 8051
+-111.494 32.06 8182
+-111.368 32.06 8314
+-111.242 32.06 8427
+-111.116 32.06 8605
+-110.99 32.06 8641
+-110.864 32.06 8790
+-110.738 32.06 8845
+-110.612 32.06 8948
+-110.486 32.06 8967
+-110.36 32.06 8937
+-110.234 32.06 8949
+-110.108 32.06 8866
+-109.982 32.06 8767
+-109.856 32.06 8697
+-109.73 32.06 8646
+-109.604 32.06 8503
+-109.478 32.06 8401
+-109.352 32.06 8293
+-109.226 32.06 8126
+-109.1 32.06 8049
+-108.974 32.06 7834
+-108.848 32.06 7724
+-108.722 32.06 7602
+-108.596 32.06 7466
+-108.47 32.06 7288
+-108.344 32.06 7219
+-108.218 32.06 7088
+-108.092 32.06 6963
+-107.966 32.06 6863
+-107.84 32.06 6733
+-107.714 32.06 6586
+-107.588 32.06 6379
+-107.462 32.06 6197
+-107.336 32.06 6082
+-107.21 32.06 5999
+-107.084 32.06 5926
+-106.958 32.06 5813
+-106.832 32.06 5690
+-106.706 32.06 5505
+-106.58 32.06 5363
+-106.454 32.06 5275
+-106.328 32.06 5094
+-106.202 32.06 5004
+-106.076 32.06 4822
+-105.95 32.06 4690
+-105.824 32.06 4551
+-105.698 32.06 4439
+-105.572 32.06 4329
+-105.446 32.06 4204
+-105.32 32.06 4081
+-105.194 32.06 4069
+-105.068 32.06 4052
+-104.942 32.06 4045
+-104.816 32.06 4069
+-104.69 32.06 4108
+-104.564 32.06 4125
+-104.438 32.06 4130
+-104.312 32.06 4118
+-104.186 32.06 4061
+-104.06 32.06 4031
+-103.934 32.06 4024
+-103.808 32.06 4003
+-103.682 32.06 3995
+-103.556 32.06 3914
+-103.43 32.06 3870
+-103.304 32.06 3809
+-103.178 32.06 3797
+-103.052 32.06 3748
+-102.926 32.06 3738
+-102.8 32.06 3729
+-102.674 32.06 3640
+-102.548 32.06 3606
+-102.422 32.06 3600
+-102.296 32.06 3420
+-102.17 32.06 3385
+-102.044 32.06 3382
+-101.918 32.06 3367
+-101.792 32.06 3323
+-101.666 32.06 3249
+-101.54 32.06 3247
+-101.414 32.06 3246
+-101.288 32.06 3245
+-101.162 32.06 3244
+-101.036 32.06 3243
+-100.91 32.06 3243
+-100.784 32.06 3242
+-100.658 32.06 3242
+-100.532 32.06 3162
+-100.406 32.06 3161
+-100.28 32.06 3012
+-100.154 32.06 2938
+-100.028 32.06 2923
+-99.902 32.06 2847
+-99.776 32.06 2812
+-99.65 32.06 2794
+-99.524 32.06 2774
+-99.398 32.06 2556
+-99.272 32.06 2463
+-99.146 32.06 2445
+-99.02 32.06 2425
+-98.894 32.06 2397
+-98.768 32.06 2373
+-98.642 32.06 2380
+-98.516 32.06 2395
+-98.39 32.06 2385
+-98.264 32.06 2514
+-98.138 32.06 2491
+-98.012 32.06 2477
+-97.886 32.06 2530
+-97.76 32.06 2508
+-97.634 32.06 2499
+-97.508 32.06 2479
+-97.382 32.06 2457
+-97.256 32.06 2403
+-97.13 32.06 2381
+-97.004 32.06 2399
+-96.878 32.06 2373
+-96.752 32.06 2352
+-96.626 32.06 2324
+-96.5 32.06 2301
+-96.374 32.06 2273
+-96.248 32.06 2246
+-96.122 32.06 2220
+-95.996 32.06 2240
+-95.87 32.06 2200
+-95.744 32.06 2199
+-95.618 32.06 2215
+-95.492 32.06 2208
+-95.366 32.06 2162
+-95.24 32.06 2168
+-95.114 32.06 2224
+-94.988 32.06 2243
+-94.862 32.06 2270
+-94.736 32.06 2316
+-94.61 32.06 2346
+-94.484 32.06 2377
+-94.358 32.06 2404
+-94.232 32.06 2407
+-94.106 32.06 2459
+-93.98 32.06 2490
+-93.854 32.06 2523
+-93.728 32.06 2553
+-93.602 32.06 2604
+-93.476 32.06 2676
+-93.35 32.06 2714
+-93.224 32.06 2748
+-93.098 32.06 2773
+-92.972 32.06 2786
+-92.846 32.06 2802
+-92.72 32.06 2769
+-92.594 32.06 2705
+-92.468 32.06 2646
+-92.342 32.06 2586
+-92.216 32.06 2564
+-92.09 32.06 2617
+-91.964 32.06 2748
+-91.838 32.06 2889
+-91.712 32.06 2949
+-91.586 32.06 2958
+-91.46 32.06 2956
+-91.334 32.06 3000
+-91.208 32.06 3083
+-91.082 32.06 3183
+-90.956 32.06 3281
+-90.83 32.06 3348
+-90.704 32.06 3391
+-90.578 32.06 3425
+-90.452 32.06 3449
+-90.326 32.06 3455
+-90.2 32.06 3481
+-90.074 32.06 3455
+-89.948 32.06 3412
+-89.822 32.06 3379
+-89.696 32.06 3426
+-89.57 32.06 3462
+-89.444 32.06 3446
+-89.318 32.06 3488
+-89.192 32.06 3504
+-89.066 32.06 3501
+-88.94 32.06 3479
+-88.814 32.06 3458
+-88.688 32.06 3486
+-88.562 32.06 3510
+-88.436 32.06 3499
+-88.31 32.06 3477
+-88.184 32.06 3493
+-88.058 32.06 3504
+-87.932 32.06 3478
+-87.806 32.06 3437
+-87.68 32.06 3406
+-87.554 32.06 3407
+-87.428 32.06 3413
+-87.302 32.06 3416
+-87.176 32.06 3418
+-87.05 32.06 3400
+-86.924 32.06 3410
+-86.798 32.06 3456
+-86.672 32.06 3498
+-86.546 32.06 3554
+-86.42 32.06 3583
+-86.294 32.06 3613
+-86.168 32.06 3631
+-86.042 32.06 3652
+-85.916 32.06 3677
+-85.79 32.06 3709
+-85.664 32.06 3761
+-85.538 32.06 3781
+-85.412 32.06 3820
+-85.286 32.06 3924
+-85.16 32.06 4043
+-85.034 32.06 4118
+-84.908 32.06 4191
+-84.782 32.06 4248
+-84.656 32.06 4336
+-84.53 32.06 4374
+-84.404 32.06 4449
+-84.278 32.06 4586
+-84.152 32.06 4701
+-84.026 32.06 4762
+-83.9 32.06 4778
+-83.774 32.06 4844
+-83.648 32.06 4900
+-83.522 32.06 4944
+-83.396 32.06 4966
+-83.27 32.06 4977
+-83.144 32.06 4990
+-83.018 32.06 4972
+-82.892 32.06 5023
+-82.766 32.06 5023
+-82.64 32.06 5019
+-82.514 32.06 5011
+-82.388 32.06 5010
+-82.262 32.06 5051
+-82.136 32.06 5083
+-82.01 32.06 5081
+-81.884 32.06 5070
+-81.758 32.06 5085
+-81.632 32.06 5087
+-81.506 32.06 5084
+-81.38 32.06 5080
+-81.254 32.06 5050
+-81.128 32.06 5012
+-81.002 32.06 4986
+-80.876 32.06 4936
+-80.75 32.06 4831
+-80.624 32.06 4764
+-80.498 32.06 4702
+-80.372 32.06 4657
+-80.246 32.06 4603
+-80.12 32.06 4587
+-79.994 32.06 4532
+-79.868 32.06 4429
+-79.742 32.06 4330
+-79.616 32.06 4401
+-79.49 32.06 4410
+-79.364 32.06 4331
+-79.238 32.06 4217
+-79.112 32.06 4063
+-78.986 32.06 3988
+-78.86 32.06 3995
+-78.734 32.06 3984
+-78.608 32.06 3787
+-78.482 32.06 3690
+-78.356 32.06 3615
+-78.23 32.06 3560
+-78.104 32.06 3523
+-77.978 32.06 3498
+-77.852 32.06 3470
+-77.726 32.06 3444
+-77.6 32.06 3419
+-77.474 32.06 3338
+-77.348 32.06 3330
+-77.222 32.06 3288
+-77.096 32.06 3293
+-76.97 32.06 3290
+-76.844 32.06 3263
+-76.718 32.06 3268
+-76.592 32.06 3280
+-76.466 32.06 3239
+-76.34 32.06 3271
+-76.214 32.06 3273
+-76.088 32.06 3283
+-75.962 32.06 3293
+-75.836 32.06 3301
+-75.71 32.06 3284
+-75.584 32.06 3268
+-75.458 32.06 3273
+-75.332 32.06 3278
+-75.206 32.06 3283
+-75.08 32.06 3287
+-74.954 32.06 3259
+-74.828 32.06 3200
+-74.702 32.06 3263
+-74.576 32.06 3269
+-74.45 32.06 3218
+-74.324 32.06 3266
+-74.198 32.06 3246
+-74.072 32.06 3250
+-73.946 32.06 3220
+-73.82 32.06 3224
+-73.694 32.06 3228
+-73.568 32.06 3302
+-73.442 32.06 3308
+-73.316 32.06 3313
+-73.19 32.06 3319
+-73.064 32.06 3324
+-72.938 32.06 3396
+-72.812 32.06 3403
+-72.686 32.06 3347
+-72.56 32.06 3353
+-72.434 32.06 3359
+-72.308 32.06 3364
+-72.182 32.06 3366
+-72.056 32.06 3341
+-71.93 32.06 3334
+-71.804 32.06 3297
+-71.678 32.06 3301
+-71.552 32.06 3268
+-71.426 32.06 3309
+-71.3 32.06 3313
+-71.174 32.06 3317
+-71.048 32.06 3321
+-70.922 32.06 3325
+-70.796 32.06 3329
+-70.67 32.06 3333
+-70.544 32.06 3310
+-70.418 32.06 3314
+-70.292 32.06 3317
+-70.166 32.06 3292
+-70.04 32.06 3263
+-69.914 32.06 3246
+-69.788 32.06 3249
+-69.662 32.06 3251
+-69.536 32.06 3253
+-69.41 32.06 3255
+-69.284 32.06 3258
+-69.158 32.06 3260
+-69.032 32.06 3186
+-68.906 32.06 3173
+-68.78 32.06 3175
+-68.654 32.06 3177
+-68.528 32.06 3179
+-68.402 32.06 3181
+-68.276 32.06 3183
+-68.15 32.06 3185
+-68.024 32.06 3187
+-67.898 32.06 3189
+-67.772 32.06 3191
+-67.646 32.06 3192
+-67.52 32.06 3194
+-67.394 32.06 3195
+-67.268 32.06 3197
+-67.142 32.06 3199
+-67.016 32.06 3187
+-66.89 32.06 3189
+-66.764 32.06 3191
+-66.638 32.06 3193
+-66.512 32.06 3194
+-66.386 32.06 3150
+-66.26 32.06 3151
+-66.134 32.06 3152
+-66.008 32.06 3153
+-65.882 32.06 3155
+-65.756 32.06 3156
+-65.63 32.06 3160
+-65.504 32.06 3160
+-65.378 32.06 3134
+-65.252 32.06 3121
+-65.126 32.06 3122
+-128 32.008 2800
+-127.874 32.008 2798
+-127.748 32.008 2795
+-127.622 32.008 2792
+-127.496 32.008 2789
+-127.37 32.008 2787
+-127.244 32.008 2784
+-127.118 32.008 2781
+-126.992 32.008 2778
+-126.866 32.008 2775
+-126.74 32.008 2771
+-126.614 32.008 2768
+-126.488 32.008 2764
+-126.362 32.008 2856
+-126.236 32.008 2852
+-126.11 32.008 2847
+-125.984 32.008 2842
+-125.858 32.008 2836
+-125.732 32.008 2829
+-125.606 32.008 2820
+-125.48 32.008 2810
+-125.354 32.008 2796
+-125.228 32.008 2780
+-125.102 32.008 2758
+-124.976 32.008 2730
+-124.85 32.008 2728
+-124.724 32.008 2742
+-124.598 32.008 2678
+-124.472 32.008 2656
+-124.346 32.008 2575
+-124.22 32.008 2519
+-124.094 32.008 2536
+-123.968 32.008 2621
+-123.842 32.008 2765
+-123.716 32.008 2923
+-123.59 32.008 3098
+-123.464 32.008 3245
+-123.338 32.008 3337
+-123.212 32.008 3448
+-123.086 32.008 3577
+-122.96 32.008 3630
+-122.834 32.008 3674
+-122.708 32.008 3776
+-122.582 32.008 3802
+-122.456 32.008 3868
+-122.33 32.008 3945
+-122.204 32.008 4057
+-122.078 32.008 4208
+-121.952 32.008 4349
+-121.826 32.008 4501
+-121.7 32.008 4634
+-121.574 32.008 4718
+-121.448 32.008 4842
+-121.322 32.008 4939
+-121.196 32.008 5064
+-121.07 32.008 5188
+-120.944 32.008 5306
+-120.818 32.008 5443
+-120.692 32.008 5528
+-120.566 32.008 5719
+-120.44 32.008 5824
+-120.314 32.008 5891
+-120.188 32.008 6048
+-120.062 32.008 6255
+-119.936 32.008 6485
+-119.81 32.008 6502
+-119.684 32.008 6669
+-119.558 32.008 6815
+-119.432 32.008 6929
+-119.306 32.008 6986
+-119.18 32.008 7238
+-119.054 32.008 7293
+-118.928 32.008 7434
+-118.802 32.008 7586
+-118.676 32.008 7684
+-118.55 32.008 7833
+-118.424 32.008 7924
+-118.298 32.008 8073
+-118.172 32.008 8186
+-118.046 32.008 8290
+-117.92 32.008 8413
+-117.794 32.008 8482
+-117.668 32.008 8602
+-117.542 32.008 8642
+-117.416 32.008 8729
+-117.29 32.008 8757
+-117.164 32.008 8790
+-117.038 32.008 8823
+-116.912 32.008 8818
+-116.786 32.008 8773
+-116.66 32.008 8729
+-116.534 32.008 8680
+-116.408 32.008 8562
+-116.282 32.008 8528
+-116.156 32.008 8397
+-116.03 32.008 8316
+-115.904 32.008 8232
+-115.778 32.008 8052
+-115.652 32.008 7931
+-115.526 32.008 7826
+-115.4 32.008 7661
+-115.274 32.008 7609
+-115.148 32.008 7446
+-115.022 32.008 7310
+-114.896 32.008 7260
+-114.77 32.008 7074
+-114.644 32.008 6942
+-114.518 32.008 6813
+-114.392 32.008 6693
+-114.266 32.008 6524
+-114.14 32.008 6386
+-114.014 32.008 6248
+-113.888 32.008 6140
+-113.762 32.008 6038
+-113.636 32.008 5919
+-113.51 32.008 6090
+-113.384 32.008 6209
+-113.258 32.008 6330
+-113.132 32.008 6491
+-113.006 32.008 6566
+-112.88 32.008 6809
+-112.754 32.008 6898
+-112.628 32.008 7009
+-112.502 32.008 7127
+-112.376 32.008 7301
+-112.25 32.008 7426
+-112.124 32.008 7517
+-111.998 32.008 7695
+-111.872 32.008 7864
+-111.746 32.008 7946
+-111.62 32.008 8061
+-111.494 32.008 8191
+-111.368 32.008 8305
+-111.242 32.008 8410
+-111.116 32.008 8632
+-110.99 32.008 8685
+-110.864 32.008 8798
+-110.738 32.008 8934
+-110.612 32.008 8964
+-110.486 32.008 9001
+-110.36 32.008 9012
+-110.234 32.008 9049
+-110.108 32.008 8934
+-109.982 32.008 8834
+-109.856 32.008 8759
+-109.73 32.008 8648
+-109.604 32.008 8457
+-109.478 32.008 8442
+-109.352 32.008 8215
+-109.226 32.008 8103
+-109.1 32.008 8063
+-108.974 32.008 7874
+-108.848 32.008 7721
+-108.722 32.008 7550
+-108.596 32.008 7472
+-108.47 32.008 7336
+-108.344 32.008 7172
+-108.218 32.008 7103
+-108.092 32.008 6884
+-107.966 32.008 6858
+-107.84 32.008 6707
+-107.714 32.008 6649
+-107.588 32.008 6405
+-107.462 32.008 6168
+-107.336 32.008 6123
+-107.21 32.008 6003
+-107.084 32.008 5890
+-106.958 32.008 5744
+-106.832 32.008 5690
+-106.706 32.008 5519
+-106.58 32.008 5368
+-106.454 32.008 5200
+-106.328 32.008 5027
+-106.202 32.008 4978
+-106.076 32.008 4807
+-105.95 32.008 4659
+-105.824 32.008 4588
+-105.698 32.008 4506
+-105.572 32.008 4404
+-105.446 32.008 4291
+-105.32 32.008 4157
+-105.194 32.008 4006
+-105.068 32.008 3873
+-104.942 32.008 3935
+-104.816 32.008 4024
+-104.69 32.008 4082
+-104.564 32.008 4127
+-104.438 32.008 4096
+-104.312 32.008 4084
+-104.186 32.008 4058
+-104.06 32.008 4028
+-103.934 32.008 4006
+-103.808 32.008 3996
+-103.682 32.008 3908
+-103.556 32.008 3865
+-103.43 32.008 3852
+-103.304 32.008 3840
+-103.178 32.008 3742
+-103.052 32.008 3730
+-102.926 32.008 3720
+-102.8 32.008 3712
+-102.674 32.008 3616
+-102.548 32.008 3586
+-102.422 32.008 3581
+-102.296 32.008 3407
+-102.17 32.008 3405
+-102.044 32.008 3382
+-101.918 32.008 3315
+-101.792 32.008 3239
+-101.666 32.008 3238
+-101.54 32.008 3237
+-101.414 32.008 3236
+-101.288 32.008 3236
+-101.162 32.008 3235
+-101.036 32.008 3235
+-100.91 32.008 3235
+-100.784 32.008 3235
+-100.658 32.008 3156
+-100.532 32.008 3154
+-100.406 32.008 3153
+-100.28 32.008 3004
+-100.154 32.008 2930
+-100.028 32.008 2916
+-99.902 32.008 2840
+-99.776 32.008 2823
+-99.65 32.008 2787
+-99.524 32.008 2766
+-99.398 32.008 2550
+-99.272 32.008 2457
+-99.146 32.008 2437
+-99.02 32.008 2416
+-98.894 32.008 2386
+-98.768 32.008 2363
+-98.642 32.008 2375
+-98.516 32.008 2377
+-98.39 32.008 2367
+-98.264 32.008 2438
+-98.138 32.008 2468
+-98.012 32.008 2452
+-97.886 32.008 2501
+-97.76 32.008 2491
+-97.634 32.008 2470
+-97.508 32.008 2447
+-97.382 32.008 2391
+-97.256 32.008 2367
+-97.13 32.008 2383
+-97.004 32.008 2355
+-96.878 32.008 2329
+-96.752 32.008 2298
+-96.626 32.008 2270
+-96.5 32.008 2237
+-96.374 32.008 2203
+-96.248 32.008 2170
+-96.122 32.008 2180
+-95.996 32.008 2132
+-95.87 32.008 2120
+-95.744 32.008 2123
+-95.618 32.008 2106
+-95.492 32.008 2053
+-95.366 32.008 2050
+-95.24 32.008 2097
+-95.114 32.008 2113
+-94.988 32.008 2141
+-94.862 32.008 2189
+-94.736 32.008 2227
+-94.61 32.008 2270
+-94.484 32.008 2311
+-94.358 32.008 2328
+-94.232 32.008 2392
+-94.106 32.008 2434
+-93.98 32.008 2476
+-93.854 32.008 2512
+-93.728 32.008 2568
+-93.602 32.008 2643
+-93.476 32.008 2683
+-93.35 32.008 2721
+-93.224 32.008 2752
+-93.098 32.008 2774
+-92.972 32.008 2809
+-92.846 32.008 2798
+-92.72 32.008 2755
+-92.594 32.008 2728
+-92.468 32.008 2691
+-92.342 32.008 2644
+-92.216 32.008 2656
+-92.09 32.008 2700
+-91.964 32.008 2813
+-91.838 32.008 2894
+-91.712 32.008 2955
+-91.586 32.008 2992
+-91.46 32.008 3004
+-91.334 32.008 3047
+-91.208 32.008 3109
+-91.082 32.008 3182
+-90.956 32.008 3235
+-90.83 32.008 3287
+-90.704 32.008 3323
+-90.578 32.008 3387
+-90.452 32.008 3413
+-90.326 32.008 3426
+-90.2 32.008 3463
+-90.074 32.008 3429
+-89.948 32.008 3422
+-89.822 32.008 3411
+-89.696 32.008 3441
+-89.57 32.008 3464
+-89.444 32.008 3466
+-89.318 32.008 3477
+-89.192 32.008 3474
+-89.066 32.008 3446
+-88.94 32.008 3421
+-88.814 32.008 3408
+-88.688 32.008 3442
+-88.562 32.008 3476
+-88.436 32.008 3485
+-88.31 32.008 3483
+-88.184 32.008 3478
+-88.058 32.008 3465
+-87.932 32.008 3424
+-87.806 32.008 3353
+-87.68 32.008 3308
+-87.554 32.008 3335
+-87.428 32.008 3376
+-87.302 32.008 3406
+-87.176 32.008 3413
+-87.05 32.008 3422
+-86.924 32.008 3440
+-86.798 32.008 3464
+-86.672 32.008 3526
+-86.546 32.008 3574
+-86.42 32.008 3639
+-86.294 32.008 3655
+-86.168 32.008 3664
+-86.042 32.008 3673
+-85.916 32.008 3663
+-85.79 32.008 3707
+-85.664 32.008 3779
+-85.538 32.008 3814
+-85.412 32.008 3869
+-85.286 32.008 3991
+-85.16 32.008 4075
+-85.034 32.008 4170
+-84.908 32.008 4236
+-84.782 32.008 4303
+-84.656 32.008 4396
+-84.53 32.008 4493
+-84.404 32.008 4585
+-84.278 32.008 4660
+-84.152 32.008 4749
+-84.026 32.008 4776
+-83.9 32.008 4729
+-83.774 32.008 4842
+-83.648 32.008 4925
+-83.522 32.008 4964
+-83.396 32.008 4998
+-83.27 32.008 5025
+-83.144 32.008 5029
+-83.018 32.008 5036
+-82.892 32.008 5077
+-82.766 32.008 5059
+-82.64 32.008 5064
+-82.514 32.008 5060
+-82.388 32.008 5069
+-82.262 32.008 5104
+-82.136 32.008 5125
+-82.01 32.008 5120
+-81.884 32.008 5116
+-81.758 32.008 5107
+-81.632 32.008 5099
+-81.506 32.008 5080
+-81.38 32.008 5087
+-81.254 32.008 5082
+-81.128 32.008 5059
+-81.002 32.008 5047
+-80.876 32.008 5008
+-80.75 32.008 4881
+-80.624 32.008 4807
+-80.498 32.008 4730
+-80.372 32.008 4692
+-80.246 32.008 4668
+-80.12 32.008 4628
+-79.994 32.008 4571
+-79.868 32.008 4468
+-79.742 32.008 4401
+-79.616 32.008 4430
+-79.49 32.008 4427
+-79.364 32.008 4367
+-79.238 32.008 4235
+-79.112 32.008 4031
+-78.986 32.008 3925
+-78.86 32.008 3976
+-78.734 32.008 4010
+-78.608 32.008 3905
+-78.482 32.008 3812
+-78.356 32.008 3731
+-78.23 32.008 3625
+-78.104 32.008 3535
+-77.978 32.008 3475
+-77.852 32.008 3427
+-77.726 32.008 3397
+-77.6 32.008 3325
+-77.474 32.008 3308
+-77.348 32.008 3256
+-77.222 32.008 3245
+-77.096 32.008 3231
+-76.97 32.008 3205
+-76.844 32.008 3211
+-76.718 32.008 3227
+-76.592 32.008 3197
+-76.466 32.008 3233
+-76.34 32.008 3240
+-76.214 32.008 3254
+-76.088 32.008 3267
+-75.962 32.008 3278
+-75.836 32.008 3265
+-75.71 32.008 3251
+-75.584 32.008 3257
+-75.458 32.008 3263
+-75.332 32.008 3269
+-75.206 32.008 3274
+-75.08 32.008 3248
+-74.954 32.008 3254
+-74.828 32.008 3254
+-74.702 32.008 3260
+-74.576 32.008 3211
+-74.45 32.008 3258
+-74.324 32.008 3239
+-74.198 32.008 3243
+-74.072 32.008 3213
+-73.946 32.008 3218
+-73.82 32.008 3223
+-73.694 32.008 3294
+-73.568 32.008 3300
+-73.442 32.008 3306
+-73.316 32.008 3312
+-73.19 32.008 3318
+-73.064 32.008 3389
+-72.938 32.008 3396
+-72.812 32.008 3341
+-72.686 32.008 3347
+-72.56 32.008 3353
+-72.434 32.008 3359
+-72.308 32.008 3360
+-72.182 32.008 3336
+-72.056 32.008 3330
+-71.93 32.008 3293
+-71.804 32.008 3298
+-71.678 32.008 3265
+-71.552 32.008 3305
+-71.426 32.008 3310
+-71.3 32.008 3314
+-71.174 32.008 3318
+-71.048 32.008 3322
+-70.922 32.008 3326
+-70.796 32.008 3330
+-70.67 32.008 3308
+-70.544 32.008 3312
+-70.418 32.008 3315
+-70.292 32.008 3290
+-70.166 32.008 3261
+-70.04 32.008 3245
+-69.914 32.008 3247
+-69.788 32.008 3250
+-69.662 32.008 3252
+-69.536 32.008 3254
+-69.41 32.008 3257
+-69.284 32.008 3259
+-69.158 32.008 3184
+-69.032 32.008 3172
+-68.906 32.008 3174
+-68.78 32.008 3176
+-68.654 32.008 3178
+-68.528 32.008 3180
+-68.402 32.008 3182
+-68.276 32.008 3184
+-68.15 32.008 3186
+-68.024 32.008 3188
+-67.898 32.008 3190
+-67.772 32.008 3192
+-67.646 32.008 3193
+-67.52 32.008 3195
+-67.394 32.008 3197
+-67.268 32.008 3198
+-67.142 32.008 3187
+-67.016 32.008 3189
+-66.89 32.008 3190
+-66.764 32.008 3192
+-66.638 32.008 3194
+-66.512 32.008 3150
+-66.386 32.008 3151
+-66.26 32.008 3152
+-66.134 32.008 3153
+-66.008 32.008 3154
+-65.882 32.008 3156
+-65.756 32.008 3159
+-65.63 32.008 3160
+-65.504 32.008 3134
+-65.378 32.008 3121
+-65.252 32.008 3122
+-65.126 32.008 3122
+-128 31.956 2805
+-127.874 31.956 2802
+-127.748 31.956 2800
+-127.622 31.956 2798
+-127.496 31.956 2795
+-127.37 31.956 2793
+-127.244 31.956 2790
+-127.118 31.956 2787
+-126.992 31.956 2785
+-126.866 31.956 2782
+-126.74 31.956 2779
+-126.614 31.956 2776
+-126.488 31.956 2773
+-126.362 31.956 2769
+-126.236 31.956 2862
+-126.11 31.956 2858
+-125.984 31.956 2854
+-125.858 31.956 2848
+-125.732 31.956 2842
+-125.606 31.956 2834
+-125.48 31.956 2825
+-125.354 31.956 2813
+-125.228 31.956 2799
+-125.102 31.956 2782
+-124.976 31.956 2794
+-124.85 31.956 2833
+-124.724 31.956 2795
+-124.598 31.956 2798
+-124.472 31.956 2751
+-124.346 31.956 2728
+-124.22 31.956 2709
+-124.094 31.956 2729
+-123.968 31.956 2807
+-123.842 31.956 2903
+-123.716 31.956 3041
+-123.59 31.956 3174
+-123.464 31.956 3264
+-123.338 31.956 3377
+-123.212 31.956 3445
+-123.086 31.956 3534
+-122.96 31.956 3590
+-122.834 31.956 3691
+-122.708 31.956 3771
+-122.582 31.956 3790
+-122.456 31.956 3860
+-122.33 31.956 3910
+-122.204 31.956 4034
+-122.078 31.956 4158
+-121.952 31.956 4314
+-121.826 31.956 4459
+-121.7 31.956 4605
+-121.574 31.956 4584
+-121.448 31.956 4803
+-121.322 31.956 4902
+-121.196 31.956 5045
+-121.07 31.956 5204
+-120.944 31.956 5226
+-120.818 31.956 5422
+-120.692 31.956 5549
+-120.566 31.956 5656
+-120.44 31.956 5765
+-120.314 31.956 5887
+-120.188 31.956 6070
+-120.062 31.956 6271
+-119.936 31.956 6467
+-119.81 31.956 6542
+-119.684 31.956 6643
+-119.558 31.956 6752
+-119.432 31.956 6913
+-119.306 31.956 7062
+-119.18 31.956 7167
+-119.054 31.956 7270
+-118.928 31.956 7428
+-118.802 31.956 7568
+-118.676 31.956 7722
+-118.55 31.956 7765
+-118.424 31.956 7909
+-118.298 31.956 8042
+-118.172 31.956 8147
+-118.046 31.956 8245
+-117.92 31.956 8329
+-117.794 31.956 8500
+-117.668 31.956 8554
+-117.542 31.956 8593
+-117.416 31.956 8638
+-117.29 31.956 8718
+-117.164 31.956 8755
+-117.038 31.956 8768
+-116.912 31.956 8745
+-116.786 31.956 8735
+-116.66 31.956 8668
+-116.534 31.956 8624
+-116.408 31.956 8548
+-116.282 31.956 8449
+-116.156 31.956 8381
+-116.03 31.956 8256
+-115.904 31.956 8128
+-115.778 31.956 8060
+-115.652 31.956 7928
+-115.526 31.956 7805
+-115.4 31.956 7684
+-115.274 31.956 7572
+-115.148 31.956 7477
+-115.022 31.956 7352
+-114.896 31.956 7134
+-114.77 31.956 7053
+-114.644 31.956 6868
+-114.518 31.956 6811
+-114.392 31.956 6642
+-114.266 31.956 6511
+-114.14 31.956 6355
+-114.014 31.956 6229
+-113.888 31.956 6052
+-113.762 31.956 6026
+-113.636 31.956 6007
+-113.51 31.956 6102
+-113.384 31.956 6220
+-113.258 31.956 6405
+-113.132 31.956 6485
+-113.006 31.956 6601
+-112.88 31.956 6741
+-112.754 31.956 6834
+-112.628 31.956 6998
+-112.502 31.956 7093
+-112.376 31.956 7244
+-112.25 31.956 7400
+-112.124 31.956 7520
+-111.998 31.956 7706
+-111.872 31.956 7833
+-111.746 31.956 7906
+-111.62 31.956 8055
+-111.494 31.956 8232
+-111.368 31.956 8386
+-111.242 31.956 8520
+-111.116 31.956 8621
+-110.99 31.956 8767
+-110.864 31.956 8847
+-110.738 31.956 8940
+-110.612 31.956 9038
+-110.486 31.956 9070
+-110.36 31.956 9093
+-110.234 31.956 9029
+-110.108 31.956 9006
+-109.982 31.956 8886
+-109.856 31.956 8774
+-109.73 31.956 8647
+-109.604 31.956 8532
+-109.478 31.956 8437
+-109.352 31.956 8294
+-109.226 31.956 8117
+-109.1 31.956 7966
+-108.974 31.956 7829
+-108.848 31.956 7737
+-108.722 31.956 7600
+-108.596 31.956 7467
+-108.47 31.956 7355
+-108.344 31.956 7268
+-108.218 31.956 7151
+-108.092 31.956 7014
+-107.966 31.956 6863
+-107.84 31.956 6725
+-107.714 31.956 6671
+-107.588 31.956 6438
+-107.462 31.956 6215
+-107.336 31.956 6062
+-107.21 31.956 5944
+-107.084 31.956 5900
+-106.958 31.956 5778
+-106.832 31.956 5663
+-106.706 31.956 5495
+-106.58 31.956 5332
+-106.454 31.956 5252
+-106.328 31.956 5080
+-106.202 31.956 4955
+-106.076 31.956 4779
+-105.95 31.956 4612
+-105.824 31.956 4585
+-105.698 31.956 4491
+-105.572 31.956 4453
+-105.446 31.956 4357
+-105.32 31.956 4184
+-105.194 31.956 3905
+-105.068 31.956 3693
+-104.942 31.956 3839
+-104.816 31.956 4014
+-104.69 31.956 4107
+-104.564 31.956 4076
+-104.438 31.956 4079
+-104.312 31.956 4085
+-104.186 31.956 4066
+-104.06 31.956 4032
+-103.934 31.956 3999
+-103.808 31.956 3909
+-103.682 31.956 3860
+-103.556 31.956 3843
+-103.43 31.956 3829
+-103.304 31.956 3777
+-103.178 31.956 3765
+-103.052 31.956 3710
+-102.926 31.956 3700
+-102.8 31.956 3602
+-102.674 31.956 3572
+-102.548 31.956 3567
+-102.422 31.956 3563
+-102.296 31.956 3559
+-102.17 31.956 3402
+-102.044 31.956 3337
+-101.918 31.956 3302
+-101.792 31.956 3227
+-101.666 31.956 3227
+-101.54 31.956 3226
+-101.414 31.956 3226
+-101.288 31.956 3226
+-101.162 31.956 3227
+-101.036 31.956 3227
+-100.91 31.956 3227
+-100.784 31.956 3148
+-100.658 31.956 3147
+-100.532 31.956 3146
+-100.406 31.956 3145
+-100.28 31.956 2996
+-100.154 31.956 2922
+-100.028 31.956 2908
+-99.902 31.956 2832
+-99.776 31.956 2816
+-99.65 31.956 2798
+-99.524 31.956 2759
+-99.398 31.956 2543
+-99.272 31.956 2451
+-99.146 31.956 2430
+-99.02 31.956 2408
+-98.894 31.956 2377
+-98.768 31.956 2353
+-98.642 31.956 2361
+-98.516 31.956 2361
+-98.39 31.956 2349
+-98.264 31.956 2417
+-98.138 31.956 2445
+-98.012 31.956 2435
+-97.886 31.956 2413
+-97.76 31.956 2464
+-97.634 31.956 2440
+-97.508 31.956 2383
+-97.382 31.956 2357
+-97.256 31.956 2372
+-97.13 31.956 2341
+-97.004 31.956 2313
+-96.878 31.956 2279
+-96.752 31.956 2247
+-96.626 31.956 2208
+-96.5 31.956 2169
+-96.374 31.956 2129
+-96.248 31.956 2129
+-96.122 31.956 2073
+-95.996 31.956 2049
+-95.87 31.956 2037
+-95.744 31.956 2007
+-95.618 31.956 1941
+-95.492 31.956 1925
+-95.366 31.956 1955
+-95.24 31.956 1960
+-95.114 31.956 1981
+-94.988 31.956 2026
+-94.862 31.956 2067
+-94.736 31.956 2117
+-94.61 31.956 2171
+-94.484 31.956 2204
+-94.358 31.956 2282
+-94.232 31.956 2340
+-94.106 31.956 2396
+-93.98 31.956 2444
+-93.854 31.956 2510
+-93.728 31.956 2593
+-93.602 31.956 2639
+-93.476 31.956 2682
+-93.35 31.956 2720
+-93.224 31.956 2751
+-93.098 31.956 2799
+-92.972 31.956 2802
+-92.846 31.956 2774
+-92.72 31.956 2771
+-92.594 31.956 2760
+-92.468 31.956 2720
+-92.342 31.956 2710
+-92.216 31.956 2749
+-92.09 31.956 2782
+-91.964 31.956 2856
+-91.838 31.956 2900
+-91.712 31.956 2950
+-91.586 31.956 2998
+-91.46 31.956 3040
+-91.334 31.956 3062
+-91.208 31.956 3131
+-91.082 31.956 3170
+-90.956 31.956 3215
+-90.83 31.956 3251
+-90.704 31.956 3286
+-90.578 31.956 3317
+-90.452 31.956 3344
+-90.326 31.956 3362
+-90.2 31.956 3389
+-90.074 31.956 3420
+-89.948 31.956 3438
+-89.822 31.956 3436
+-89.696 31.956 3446
+-89.57 31.956 3456
+-89.444 31.956 3472
+-89.318 31.956 3469
+-89.192 31.956 3456
+-89.066 31.956 3419
+-88.94 31.956 3384
+-88.814 31.956 3414
+-88.688 31.956 3437
+-88.562 31.956 3453
+-88.436 31.956 3455
+-88.31 31.956 3451
+-88.184 31.956 3442
+-88.058 31.956 3427
+-87.932 31.956 3380
+-87.806 31.956 3303
+-87.68 31.956 3256
+-87.554 31.956 3294
+-87.428 31.956 3348
+-87.302 31.956 3389
+-87.176 31.956 3409
+-87.05 31.956 3444
+-86.924 31.956 3453
+-86.798 31.956 3493
+-86.672 31.956 3554
+-86.546 31.956 3623
+-86.42 31.956 3648
+-86.294 31.956 3683
+-86.168 31.956 3694
+-86.042 31.956 3662
+-85.916 31.956 3618
+-85.79 31.956 3695
+-85.664 31.956 3816
+-85.538 31.956 3889
+-85.412 31.956 3962
+-85.286 31.956 4065
+-85.16 31.956 4124
+-85.034 31.956 4210
+-84.908 31.956 4313
+-84.782 31.956 4372
+-84.656 31.956 4527
+-84.53 31.956 4598
+-84.404 31.956 4658
+-84.278 31.956 4721
+-84.152 31.956 4781
+-84.026 31.956 4812
+-83.9 31.956 4818
+-83.774 31.956 4894
+-83.648 31.956 4905
+-83.522 31.956 4956
+-83.396 31.956 5027
+-83.27 31.956 5080
+-83.144 31.956 5092
+-83.018 31.956 5098
+-82.892 31.956 5104
+-82.766 31.956 5112
+-82.64 31.956 5116
+-82.514 31.956 5114
+-82.388 31.956 5125
+-82.262 31.956 5139
+-82.136 31.956 5166
+-82.01 31.956 5149
+-81.884 31.956 5155
+-81.758 31.956 5139
+-81.632 31.956 5117
+-81.506 31.956 5104
+-81.38 31.956 5081
+-81.254 31.956 5097
+-81.128 31.956 5078
+-81.002 31.956 5061
+-80.876 31.956 5027
+-80.75 31.956 4946
+-80.624 31.956 4877
+-80.498 31.956 4792
+-80.372 31.956 4731
+-80.246 31.956 4685
+-80.12 31.956 4622
+-79.994 31.956 4604
+-79.868 31.956 4535
+-79.742 31.956 4483
+-79.616 31.956 4480
+-79.49 31.956 4465
+-79.364 31.956 4396
+-79.238 31.956 4279
+-79.112 31.956 4131
+-78.986 31.956 4016
+-78.86 31.956 4043
+-78.734 31.956 4055
+-78.608 31.956 3951
+-78.482 31.956 3858
+-78.356 31.956 3774
+-78.23 31.956 3665
+-78.104 31.956 3552
+-77.978 31.956 3413
+-77.852 31.956 3361
+-77.726 31.956 3342
+-77.6 31.956 3292
+-77.474 31.956 3253
+-77.348 31.956 3202
+-77.222 31.956 3166
+-77.096 31.956 3131
+-76.97 31.956 3134
+-76.844 31.956 3155
+-76.718 31.956 3140
+-76.592 31.956 3182
+-76.466 31.956 3197
+-76.34 31.956 3217
+-76.214 31.956 3235
+-76.088 31.956 3250
+-75.962 31.956 3242
+-75.836 31.956 3231
+-75.71 31.956 3239
+-75.584 31.956 3247
+-75.458 31.956 3253
+-75.332 31.956 3260
+-75.206 31.956 3237
+-75.08 31.956 3243
+-74.954 31.956 3244
+-74.828 31.956 3250
+-74.702 31.956 3203
+-74.576 31.956 3249
+-74.45 31.956 3231
+-74.324 31.956 3278
+-74.198 31.956 3207
+-74.072 31.956 3212
+-73.946 31.956 3217
+-73.82 31.956 3286
+-73.694 31.956 3292
+-73.568 31.956 3299
+-73.442 31.956 3305
+-73.316 31.956 3311
+-73.19 31.956 3380
+-73.064 31.956 3388
+-72.938 31.956 3335
+-72.812 31.956 3341
+-72.686 31.956 3348
+-72.56 31.956 3354
+-72.434 31.956 3355
+-72.308 31.956 3331
+-72.182 31.956 3325
+-72.056 31.956 3289
+-71.93 31.956 3294
+-71.804 31.956 3262
+-71.678 31.956 3302
+-71.552 31.956 3307
+-71.426 31.956 3311
+-71.3 31.956 3315
+-71.174 31.956 3320
+-71.048 31.956 3324
+-70.922 31.956 3328
+-70.796 31.956 3306
+-70.67 31.956 3309
+-70.544 31.956 3313
+-70.418 31.956 3288
+-70.292 31.956 3259
+-70.166 31.956 3243
+-70.04 31.956 3246
+-69.914 31.956 3248
+-69.788 31.956 3251
+-69.662 31.956 3253
+-69.536 31.956 3256
+-69.41 31.956 3258
+-69.284 31.956 3183
+-69.158 31.956 3171
+-69.032 31.956 3173
+-68.906 31.956 3175
+-68.78 31.956 3178
+-68.654 31.956 3180
+-68.528 31.956 3182
+-68.402 31.956 3184
+-68.276 31.956 3186
+-68.15 31.956 3188
+-68.024 31.956 3189
+-67.898 31.956 3191
+-67.772 31.956 3193
+-67.646 31.956 3195
+-67.52 31.956 3196
+-67.394 31.956 3198
+-67.268 31.956 3186
+-67.142 31.956 3188
+-67.016 31.956 3190
+-66.89 31.956 3192
+-66.764 31.956 3194
+-66.638 31.956 3150
+-66.512 31.956 3151
+-66.386 31.956 3152
+-66.26 31.956 3153
+-66.134 31.956 3154
+-66.008 31.956 3156
+-65.882 31.956 3159
+-65.756 31.956 3160
+-65.63 31.956 3134
+-65.504 31.956 3121
+-65.378 31.956 3121
+-65.252 31.956 3122
+-65.126 31.956 3123
+-128 31.904 2809
+-127.874 31.904 2807
+-127.748 31.904 2805
+-127.622 31.904 2803
+-127.496 31.904 2801
+-127.37 31.904 2798
+-127.244 31.904 2796
+-127.118 31.904 2794
+-126.992 31.904 2791
+-126.866 31.904 2789
+-126.74 31.904 2786
+-126.614 31.904 2784
+-126.488 31.904 2781
+-126.362 31.904 2876
+-126.236 31.904 2873
+-126.11 31.904 2869
+-125.984 31.904 2865
+-125.858 31.904 2860
+-125.732 31.904 2855
+-125.606 31.904 2848
+-125.48 31.904 2840
+-125.354 31.904 2831
+-125.228 31.904 2820
+-125.102 31.904 2840
+-124.976 31.904 2895
+-124.85 31.904 2872
+-124.724 31.904 2897
+-124.598 31.904 2868
+-124.472 31.904 2842
+-124.346 31.904 2825
+-124.22 31.904 2845
+-124.094 31.904 2879
+-123.968 31.904 2940
+-123.842 31.904 3003
+-123.716 31.904 3127
+-123.59 31.904 3199
+-123.464 31.904 3300
+-123.338 31.904 3365
+-123.212 31.904 3446
+-123.086 31.904 3514
+-122.96 31.904 3567
+-122.834 31.904 3662
+-122.708 31.904 3695
+-122.582 31.904 3753
+-122.456 31.904 3806
+-122.33 31.904 3831
+-122.204 31.904 3946
+-122.078 31.904 4136
+-121.952 31.904 4310
+-121.826 31.904 4405
+-121.7 31.904 4549
+-121.574 31.904 4676
+-121.448 31.904 4796
+-121.322 31.904 4915
+-121.196 31.904 5029
+-121.07 31.904 5190
+-120.944 31.904 5302
+-120.818 31.904 5380
+-120.692 31.904 5535
+-120.566 31.904 5651
+-120.44 31.904 5790
+-120.314 31.904 5952
+-120.188 31.904 6109
+-120.062 31.904 6244
+-119.936 31.904 6426
+-119.81 31.904 6478
+-119.684 31.904 6591
+-119.558 31.904 6707
+-119.432 31.904 6859
+-119.306 31.904 6955
+-119.18 31.904 7120
+-119.054 31.904 7302
+-118.928 31.904 7381
+-118.802 31.904 7565
+-118.676 31.904 7605
+-118.55 31.904 7774
+-118.424 31.904 7909
+-118.298 31.904 7974
+-118.172 31.904 8091
+-118.046 31.904 8185
+-117.92 31.904 8316
+-117.794 31.904 8368
+-117.668 31.904 8469
+-117.542 31.904 8585
+-117.416 31.904 8612
+-117.29 31.904 8675
+-117.164 31.904 8703
+-117.038 31.904 8702
+-116.912 31.904 8691
+-116.786 31.904 8683
+-116.66 31.904 8616
+-116.534 31.904 8569
+-116.408 31.904 8497
+-116.282 31.904 8384
+-116.156 31.904 8277
+-116.03 31.904 8266
+-115.904 31.904 8117
+-115.778 31.904 8032
+-115.652 31.904 7889
+-115.526 31.904 7757
+-115.4 31.904 7632
+-115.274 31.904 7518
+-115.148 31.904 7416
+-115.022 31.904 7279
+-114.896 31.904 7169
+-114.77 31.904 7050
+-114.644 31.904 6939
+-114.518 31.904 6795
+-114.392 31.904 6600
+-114.266 31.904 6507
+-114.14 31.904 6345
+-114.014 31.904 6239
+-113.888 31.904 6152
+-113.762 31.904 5829
+-113.636 31.904 6021
+-113.51 31.904 6069
+-113.384 31.904 6254
+-113.258 31.904 6308
+-113.132 31.904 6471
+-113.006 31.904 6609
+-112.88 31.904 6754
+-112.754 31.904 6881
+-112.628 31.904 6992
+-112.502 31.904 7179
+-112.376 31.904 7287
+-112.25 31.904 7407
+-112.124 31.904 7556
+-111.998 31.904 7703
+-111.872 31.904 7816
+-111.746 31.904 7961
+-111.62 31.904 8105
+-111.494 31.904 8243
+-111.368 31.904 8419
+-111.242 31.904 8537
+-111.116 31.904 8688
+-110.99 31.904 8793
+-110.864 31.904 8853
+-110.738 31.904 8965
+-110.612 31.904 9056
+-110.486 31.904 9154
+-110.36 31.904 9113
+-110.234 31.904 9105
+-110.108 31.904 9008
+-109.982 31.904 8903
+-109.856 31.904 8783
+-109.73 31.904 8683
+-109.604 31.904 8505
+-109.478 31.904 8380
+-109.352 31.904 8315
+-109.226 31.904 8165
+-109.1 31.904 7994
+-108.974 31.904 7939
+-108.848 31.904 7763
+-108.722 31.904 7616
+-108.596 31.904 7435
+-108.47 31.904 7362
+-108.344 31.904 7253
+-108.218 31.904 7138
+-108.092 31.904 6921
+-107.966 31.904 6887
+-107.84 31.904 6777
+-107.714 31.904 6639
+-107.588 31.904 6444
+-107.462 31.904 6265
+-107.336 31.904 6078
+-107.21 31.904 6029
+-107.084 31.904 5918
+-106.958 31.904 5776
+-106.832 31.904 5649
+-106.706 31.904 5529
+-106.58 31.904 5362
+-106.454 31.904 5234
+-106.328 31.904 5064
+-106.202 31.904 4895
+-106.076 31.904 4833
+-105.95 31.904 4684
+-105.824 31.904 4551
+-105.698 31.904 4401
+-105.572 31.904 4460
+-105.446 31.904 4418
+-105.32 31.904 4253
+-105.194 31.904 4022
+-105.068 31.904 3866
+-104.942 31.904 3933
+-104.816 31.904 4049
+-104.69 31.904 4084
+-104.564 31.904 4123
+-104.438 31.904 4088
+-104.312 31.904 4070
+-104.186 31.904 4063
+-104.06 31.904 4027
+-103.934 31.904 3935
+-103.808 31.904 3888
+-103.682 31.904 3833
+-103.556 31.904 3815
+-103.43 31.904 3761
+-103.304 31.904 3747
+-103.178 31.904 3736
+-103.052 31.904 3685
+-102.926 31.904 3677
+-102.8 31.904 3554
+-102.674 31.904 3549
+-102.548 31.904 3545
+-102.422 31.904 3542
+-102.296 31.904 3540
+-102.17 31.904 3354
+-102.044 31.904 3322
+-101.918 31.904 3321
+-101.792 31.904 3320
+-101.666 31.904 3215
+-101.54 31.904 3215
+-101.414 31.904 3216
+-101.288 31.904 3217
+-101.162 31.904 3217
+-101.036 31.904 3218
+-100.91 31.904 3140
+-100.784 31.904 3139
+-100.658 31.904 3138
+-100.532 31.904 3138
+-100.406 31.904 3137
+-100.28 31.904 2988
+-100.154 31.904 2914
+-100.028 31.904 2900
+-99.902 31.904 2839
+-99.776 31.904 2808
+-99.65 31.904 2791
+-99.524 31.904 2751
+-99.398 31.904 2537
+-99.272 31.904 2445
+-99.146 31.904 2423
+-99.02 31.904 2401
+-98.894 31.904 2369
+-98.768 31.904 2343
+-98.642 31.904 2347
+-98.516 31.904 2344
+-98.39 31.904 2334
+-98.264 31.904 2399
+-98.138 31.904 2430
+-98.012 31.904 2408
+-97.886 31.904 2387
+-97.76 31.904 2436
+-97.634 31.904 2378
+-97.508 31.904 2352
+-97.382 31.904 2366
+-97.256 31.904 2333
+-97.13 31.904 2303
+-97.004 31.904 2266
+-96.878 31.904 2232
+-96.752 31.904 2189
+-96.626 31.904 2145
+-96.5 31.904 2098
+-96.374 31.904 2091
+-96.248 31.904 2026
+-96.122 31.904 1990
+-95.996 31.904 1964
+-95.87 31.904 1918
+-95.744 31.904 1837
+-95.618 31.904 1802
+-95.492 31.904 1809
+-95.366 31.904 1796
+-95.24 31.904 1802
+-95.114 31.904 1832
+-94.988 31.904 1868
+-94.862 31.904 1919
+-94.736 31.904 1982
+-94.61 31.904 2030
+-94.484 31.904 2123
+-94.358 31.904 2199
+-94.232 31.904 2273
+-94.106 31.904 2340
+-93.98 31.904 2420
+-93.854 31.904 2516
+-93.728 31.904 2573
+-93.602 31.904 2626
+-93.476 31.904 2673
+-93.35 31.904 2712
+-93.224 31.904 2772
+-93.098 31.904 2787
+-92.972 31.904 2768
+-92.846 31.904 2781
+-92.72 31.904 2790
+-92.594 31.904 2758
+-92.468 31.904 2757
+-92.342 31.904 2753
+-92.216 31.904 2817
+-92.09 31.904 2840
+-91.964 31.904 2877
+-91.838 31.904 2921
+-91.712 31.904 2978
+-91.586 31.904 3008
+-91.46 31.904 3032
+-91.334 31.904 3048
+-91.208 31.904 3100
+-91.082 31.904 3158
+-90.956 31.904 3186
+-90.83 31.904 3215
+-90.704 31.904 3212
+-90.578 31.904 3239
+-90.452 31.904 3287
+-90.326 31.904 3317
+-90.2 31.904 3352
+-90.074 31.904 3370
+-89.948 31.904 3392
+-89.822 31.904 3428
+-89.696 31.904 3448
+-89.57 31.904 3451
+-89.444 31.904 3460
+-89.318 31.904 3462
+-89.192 31.904 3449
+-89.066 31.904 3422
+-88.94 31.904 3410
+-88.814 31.904 3419
+-88.688 31.904 3430
+-88.562 31.904 3421
+-88.436 31.904 3390
+-88.31 31.904 3377
+-88.184 31.904 3375
+-88.058 31.904 3382
+-87.932 31.904 3365
+-87.806 31.904 3317
+-87.68 31.904 3289
+-87.554 31.904 3315
+-87.428 31.904 3350
+-87.302 31.904 3390
+-87.176 31.904 3428
+-87.05 31.904 3456
+-86.924 31.904 3476
+-86.798 31.904 3514
+-86.672 31.904 3591
+-86.546 31.904 3663
+-86.42 31.904 3700
+-86.294 31.904 3714
+-86.168 31.904 3737
+-86.042 31.904 3707
+-85.916 31.904 3685
+-85.79 31.904 3752
+-85.664 31.904 3866
+-85.538 31.904 3979
+-85.412 31.904 4091
+-85.286 31.904 4133
+-85.16 31.904 4166
+-85.034 31.904 4266
+-84.908 31.904 4359
+-84.782 31.904 4469
+-84.656 31.904 4608
+-84.53 31.904 4650
+-84.404 31.904 4677
+-84.278 31.904 4729
+-84.152 31.904 4798
+-84.026 31.904 4849
+-83.9 31.904 4904
+-83.774 31.904 4943
+-83.648 31.904 4975
+-83.522 31.904 5019
+-83.396 31.904 5078
+-83.27 31.904 5109
+-83.144 31.904 5138
+-83.018 31.904 5168
+-82.892 31.904 5191
+-82.766 31.904 5210
+-82.64 31.904 5201
+-82.514 31.904 5189
+-82.388 31.904 5180
+-82.262 31.904 5171
+-82.136 31.904 5176
+-82.01 31.904 5195
+-81.884 31.904 5221
+-81.758 31.904 5210
+-81.632 31.904 5184
+-81.506 31.904 5147
+-81.38 31.904 5124
+-81.254 31.904 5107
+-81.128 31.904 5071
+-81.002 31.904 5077
+-80.876 31.904 5044
+-80.75 31.904 4998
+-80.624 31.904 4960
+-80.498 31.904 4886
+-80.372 31.904 4808
+-80.246 31.904 4751
+-80.12 31.904 4684
+-79.994 31.904 4623
+-79.868 31.904 4545
+-79.742 31.904 4553
+-79.616 31.904 4532
+-79.49 31.904 4517
+-79.364 31.904 4444
+-79.238 31.904 4348
+-79.112 31.904 4251
+-78.986 31.904 4163
+-78.86 31.904 4123
+-78.734 31.904 4093
+-78.608 31.904 3972
+-78.482 31.904 3886
+-78.356 31.904 3793
+-78.23 31.904 3663
+-78.104 31.904 3505
+-77.978 31.904 3340
+-77.852 31.904 3257
+-77.726 31.904 3253
+-77.6 31.904 3247
+-77.474 31.904 3186
+-77.348 31.904 3111
+-77.222 31.904 3047
+-77.096 31.904 3035
+-76.97 31.904 3056
+-76.844 31.904 3076
+-76.718 31.904 3112
+-76.592 31.904 3140
+-76.466 31.904 3170
+-76.34 31.904 3196
+-76.214 31.904 3217
+-76.088 31.904 3214
+-75.962 31.904 3237
+-75.836 31.904 3249
+-75.71 31.904 3260
+-75.584 31.904 3269
+-75.458 31.904 3277
+-75.332 31.904 3224
+-75.206 31.904 3231
+-75.08 31.904 3232
+-74.954 31.904 3239
+-74.828 31.904 3194
+-74.702 31.904 3239
+-74.576 31.904 3223
+-74.45 31.904 3268
+-74.324 31.904 3199
+-74.198 31.904 3205
+-74.072 31.904 3210
+-73.946 31.904 3277
+-73.82 31.904 3284
+-73.694 31.904 3291
+-73.568 31.904 3297
+-73.442 31.904 3304
+-73.316 31.904 3372
+-73.19 31.904 3380
+-73.064 31.904 3328
+-72.938 31.904 3335
+-72.812 31.904 3342
+-72.686 31.904 3348
+-72.56 31.904 3349
+-72.434 31.904 3327
+-72.308 31.904 3320
+-72.182 31.904 3285
+-72.056 31.904 3290
+-71.93 31.904 3258
+-71.804 31.904 3298
+-71.678 31.904 3303
+-71.552 31.904 3308
+-71.426 31.904 3312
+-71.3 31.904 3317
+-71.174 31.904 3321
+-71.048 31.904 3325
+-70.922 31.904 3304
+-70.796 31.904 3307
+-70.67 31.904 3311
+-70.544 31.904 3287
+-70.418 31.904 3258
+-70.292 31.904 3242
+-70.166 31.904 3245
+-70.04 31.904 3247
+-69.914 31.904 3250
+-69.788 31.904 3252
+-69.662 31.904 3254
+-69.536 31.904 3257
+-69.41 31.904 3182
+-69.284 31.904 3170
+-69.158 31.904 3172
+-69.032 31.904 3174
+-68.906 31.904 3177
+-68.78 31.904 3179
+-68.654 31.904 3181
+-68.528 31.904 3183
+-68.402 31.904 3185
+-68.276 31.904 3187
+-68.15 31.904 3189
+-68.024 31.904 3191
+-67.898 31.904 3193
+-67.772 31.904 3194
+-67.646 31.904 3196
+-67.52 31.904 3198
+-67.394 31.904 3186
+-67.268 31.904 3188
+-67.142 31.904 3190
+-67.016 31.904 3191
+-66.89 31.904 3193
+-66.764 31.904 3149
+-66.638 31.904 3151
+-66.512 31.904 3152
+-66.386 31.904 3153
+-66.26 31.904 3154
+-66.134 31.904 3155
+-66.008 31.904 3159
+-65.882 31.904 3160
+-65.756 31.904 3134
+-65.63 31.904 3120
+-65.504 31.904 3121
+-65.378 31.904 3122
+-65.252 31.904 3123
+-65.126 31.904 3124
+-128 31.852 2708
+-127.874 31.852 2812
+-127.748 31.852 2810
+-127.622 31.852 2808
+-127.496 31.852 2806
+-127.37 31.852 2804
+-127.244 31.852 2802
+-127.118 31.852 2800
+-126.992 31.852 2798
+-126.866 31.852 2796
+-126.74 31.852 2794
+-126.614 31.852 2791
+-126.488 31.852 2794
+-126.362 31.852 2791
+-126.236 31.852 2882
+-126.11 31.852 2879
+-125.984 31.852 2876
+-125.858 31.852 2872
+-125.732 31.852 2867
+-125.606 31.852 2862
+-125.48 31.852 2856
+-125.354 31.852 2848
+-125.228 31.852 2873
+-125.102 31.852 2938
+-124.976 31.852 2924
+-124.85 31.852 2956
+-124.724 31.852 2937
+-124.598 31.852 2920
+-124.472 31.852 2907
+-124.346 31.852 2903
+-124.22 31.852 2924
+-124.094 31.852 2957
+-123.968 31.852 2990
+-123.842 31.852 3094
+-123.716 31.852 3139
+-123.59 31.852 3217
+-123.464 31.852 3266
+-123.338 31.852 3348
+-123.212 31.852 3410
+-123.086 31.852 3475
+-122.96 31.852 3538
+-122.834 31.852 3637
+-122.708 31.852 3673
+-122.582 31.852 3689
+-122.456 31.852 3719
+-122.33 31.852 3736
+-122.204 31.852 3880
+-122.078 31.852 4109
+-121.952 31.852 4293
+-121.826 31.852 4346
+-121.7 31.852 4479
+-121.574 31.852 4711
+-121.448 31.852 4774
+-121.322 31.852 4903
+-121.196 31.852 4997
+-121.07 31.852 5152
+-120.944 31.852 5235
+-120.818 31.852 5392
+-120.692 31.852 5567
+-120.566 31.852 5646
+-120.44 31.852 5802
+-120.314 31.852 5973
+-120.188 31.852 6079
+-120.062 31.852 6255
+-119.936 31.852 6372
+-119.81 31.852 6519
+-119.684 31.852 6630
+-119.558 31.852 6749
+-119.432 31.852 6835
+-119.306 31.852 7003
+-119.18 31.852 7122
+-119.054 31.852 7203
+-118.928 31.852 7364
+-118.802 31.852 7518
+-118.676 31.852 7612
+-118.55 31.852 7747
+-118.424 31.852 7848
+-118.298 31.852 7967
+-118.172 31.852 8034
+-118.046 31.852 8107
+-117.92 31.852 8229
+-117.794 31.852 8334
+-117.668 31.852 8388
+-117.542 31.852 8494
+-117.416 31.852 8572
+-117.29 31.852 8624
+-117.164 31.852 8652
+-117.038 31.852 8637
+-116.912 31.852 8638
+-116.786 31.852 8612
+-116.66 31.852 8588
+-116.534 31.852 8521
+-116.408 31.852 8425
+-116.282 31.852 8357
+-116.156 31.852 8298
+-116.03 31.852 8185
+-115.904 31.852 8023
+-115.778 31.852 7959
+-115.652 31.852 7831
+-115.526 31.852 7734
+-115.4 31.852 7659
+-115.274 31.852 7566
+-115.148 31.852 7403
+-115.022 31.852 7297
+-114.896 31.852 7193
+-114.77 31.852 6964
+-114.644 31.852 6913
+-114.518 31.852 6727
+-114.392 31.852 6577
+-114.266 31.852 6514
+-114.14 31.852 6330
+-114.014 31.852 6212
+-113.888 31.852 6067
+-113.762 31.852 5832
+-113.636 31.852 6011
+-113.51 31.852 6025
+-113.384 31.852 6278
+-113.258 31.852 6329
+-113.132 31.852 6482
+-113.006 31.852 6656
+-112.88 31.852 6748
+-112.754 31.852 6876
+-112.628 31.852 7046
+-112.502 31.852 7165
+-112.376 31.852 7323
+-112.25 31.852 7502
+-112.124 31.852 7575
+-111.998 31.852 7728
+-111.872 31.852 7868
+-111.746 31.852 7996
+-111.62 31.852 8081
+-111.494 31.852 8243
+-111.368 31.852 8401
+-111.242 31.852 8547
+-111.116 31.852 8647
+-110.99 31.852 8764
+-110.864 31.852 8877
+-110.738 31.852 9015
+-110.612 31.852 9103
+-110.486 31.852 9200
+-110.36 31.852 9172
+-110.234 31.852 9142
+-110.108 31.852 9059
+-109.982 31.852 8941
+-109.856 31.852 8837
+-109.73 31.852 8759
+-109.604 31.852 8572
+-109.478 31.852 8454
+-109.352 31.852 8295
+-109.226 31.852 8177
+-109.1 31.852 8028
+-108.974 31.852 7897
+-108.848 31.852 7741
+-108.722 31.852 7637
+-108.596 31.852 7492
+-108.47 31.852 7367
+-108.344 31.852 7286
+-108.218 31.852 7140
+-108.092 31.852 6977
+-107.966 31.852 6816
+-107.84 31.852 6698
+-107.714 31.852 6607
+-107.588 31.852 6378
+-107.462 31.852 6330
+-107.336 31.852 6103
+-107.21 31.852 5985
+-107.084 31.852 5892
+-106.958 31.852 5756
+-106.832 31.852 5607
+-106.706 31.852 5486
+-106.58 31.852 5359
+-106.454 31.852 5188
+-106.328 31.852 5126
+-106.202 31.852 4971
+-106.076 31.852 4849
+-105.95 31.852 4683
+-105.824 31.852 4561
+-105.698 31.852 4522
+-105.572 31.852 4501
+-105.446 31.852 4448
+-105.32 31.852 4340
+-105.194 31.852 4212
+-105.068 31.852 4114
+-104.942 31.852 4095
+-104.816 31.852 4096
+-104.69 31.852 4122
+-104.564 31.852 4131
+-104.438 31.852 4122
+-104.312 31.852 4104
+-104.186 31.852 3990
+-104.06 31.852 3936
+-103.934 31.852 3911
+-103.808 31.852 3887
+-103.682 31.852 3820
+-103.556 31.852 3741
+-103.43 31.852 3724
+-103.304 31.852 3711
+-103.178 31.852 3660
+-103.052 31.852 3651
+-102.926 31.852 3566
+-102.8 31.852 3562
+-102.674 31.852 3522
+-102.548 31.852 3520
+-102.422 31.852 3496
+-102.296 31.852 3495
+-102.17 31.852 3495
+-102.044 31.852 3337
+-101.918 31.852 3317
+-101.792 31.852 3317
+-101.666 31.852 3318
+-101.54 31.852 3204
+-101.414 31.852 3205
+-101.288 31.852 3206
+-101.162 31.852 3208
+-101.036 31.852 3130
+-100.91 31.852 3130
+-100.784 31.852 3129
+-100.658 31.852 3129
+-100.532 31.852 3129
+-100.406 31.852 3128
+-100.28 31.852 2979
+-100.154 31.852 2906
+-100.028 31.852 2847
+-99.902 31.852 2832
+-99.776 31.852 2816
+-99.65 31.852 2783
+-99.524 31.852 2763
+-99.398 31.852 2551
+-99.272 31.852 2440
+-99.146 31.852 2417
+-99.02 31.852 2394
+-98.894 31.852 2362
+-98.768 31.852 2334
+-98.642 31.852 2333
+-98.516 31.852 2331
+-98.39 31.852 2317
+-98.264 31.852 2379
+-98.138 31.852 2363
+-98.012 31.852 2384
+-97.886 31.852 2370
+-97.76 31.852 2314
+-97.634 31.852 2350
+-97.508 31.852 2364
+-97.382 31.852 2330
+-97.256 31.852 2299
+-97.13 31.852 2261
+-97.004 31.852 2224
+-96.878 31.852 2179
+-96.752 31.852 2131
+-96.626 31.852 2080
+-96.5 31.852 2066
+-96.374 31.852 1994
+-96.248 31.852 1948
+-96.122 31.852 1909
+-95.996 31.852 1848
+-95.87 31.852 1751
+-95.744 31.852 1695
+-95.618 31.852 1676
+-95.492 31.852 1637
+-95.366 31.852 1618
+-95.24 31.852 1623
+-95.114 31.852 1641
+-94.988 31.852 1681
+-94.862 31.852 1744
+-94.736 31.852 1804
+-94.61 31.852 1907
+-94.484 31.852 2002
+-94.358 31.852 2098
+-94.232 31.852 2189
+-94.106 31.852 2289
+-93.98 31.852 2403
+-93.854 31.852 2478
+-93.728 31.852 2546
+-93.602 31.852 2606
+-93.476 31.852 2657
+-93.35 31.852 2727
+-93.224 31.852 2710
+-93.098 31.852 2742
+-92.972 31.852 2767
+-92.846 31.852 2751
+-92.72 31.852 2765
+-92.594 31.852 2774
+-92.468 31.852 2773
+-92.342 31.852 2784
+-92.216 31.852 2794
+-92.09 31.852 2877
+-91.964 31.852 2905
+-91.838 31.852 2957
+-91.712 31.852 2984
+-91.586 31.852 3008
+-91.46 31.852 3018
+-91.334 31.852 3038
+-91.208 31.852 3081
+-91.082 31.852 3103
+-90.956 31.852 3120
+-90.83 31.852 3141
+-90.704 31.852 3157
+-90.578 31.852 3176
+-90.452 31.852 3222
+-90.326 31.852 3227
+-90.2 31.852 3293
+-90.074 31.852 3327
+-89.948 31.852 3361
+-89.822 31.852 3380
+-89.696 31.852 3412
+-89.57 31.852 3411
+-89.444 31.852 3433
+-89.318 31.852 3431
+-89.192 31.852 3427
+-89.066 31.852 3419
+-88.94 31.852 3413
+-88.814 31.852 3409
+-88.688 31.852 3401
+-88.562 31.852 3365
+-88.436 31.852 3301
+-88.31 31.852 3262
+-88.184 31.852 3287
+-88.058 31.852 3329
+-87.932 31.852 3348
+-87.806 31.852 3339
+-87.68 31.852 3333
+-87.554 31.852 3345
+-87.428 31.852 3366
+-87.302 31.852 3410
+-87.176 31.852 3435
+-87.05 31.852 3488
+-86.924 31.852 3511
+-86.798 31.852 3555
+-86.672 31.852 3623
+-86.546 31.852 3678
+-86.42 31.852 3720
+-86.294 31.852 3770
+-86.168 31.852 3787
+-86.042 31.852 3782
+-85.916 31.852 3805
+-85.79 31.852 3842
+-85.664 31.852 3953
+-85.538 31.852 4057
+-85.412 31.852 4133
+-85.286 31.852 4139
+-85.16 31.852 4187
+-85.034 31.852 4293
+-84.908 31.852 4419
+-84.782 31.852 4541
+-84.656 31.852 4644
+-84.53 31.852 4671
+-84.404 31.852 4641
+-84.278 31.852 4748
+-84.152 31.852 4810
+-84.026 31.852 4886
+-83.9 31.852 4946
+-83.774 31.852 5003
+-83.648 31.852 5060
+-83.522 31.852 5098
+-83.396 31.852 5097
+-83.27 31.852 5142
+-83.144 31.852 5198
+-83.018 31.852 5234
+-82.892 31.852 5227
+-82.766 31.852 5270
+-82.64 31.852 5248
+-82.514 31.852 5251
+-82.388 31.852 5271
+-82.262 31.852 5276
+-82.136 31.852 5261
+-82.01 31.852 5294
+-81.884 31.852 5300
+-81.758 31.852 5306
+-81.632 31.852 5281
+-81.506 31.852 5235
+-81.38 31.852 5196
+-81.254 31.852 5163
+-81.128 31.852 5115
+-81.002 31.852 5119
+-80.876 31.852 5070
+-80.75 31.852 5021
+-80.624 31.852 4984
+-80.498 31.852 4953
+-80.372 31.852 4856
+-80.246 31.852 4776
+-80.12 31.852 4754
+-79.994 31.852 4672
+-79.868 31.852 4601
+-79.742 31.852 4572
+-79.616 31.852 4569
+-79.49 31.852 4544
+-79.364 31.852 4474
+-79.238 31.852 4428
+-79.112 31.852 4340
+-78.986 31.852 4247
+-78.86 31.852 4175
+-78.734 31.852 4133
+-78.608 31.852 3996
+-78.482 31.852 3920
+-78.356 31.852 3826
+-78.23 31.852 3688
+-78.104 31.852 3501
+-77.978 31.852 3287
+-77.852 31.852 3188
+-77.726 31.852 3231
+-77.6 31.852 3216
+-77.474 31.852 3106
+-77.348 31.852 2991
+-77.222 31.852 2919
+-77.096 31.852 2925
+-76.97 31.852 2962
+-76.844 31.852 3017
+-76.718 31.852 3082
+-76.592 31.852 3109
+-76.466 31.852 3147
+-76.34 31.852 3177
+-76.214 31.852 3210
+-76.088 31.852 3209
+-75.962 31.852 3225
+-75.836 31.852 3237
+-75.71 31.852 3248
+-75.584 31.852 3258
+-75.458 31.852 3266
+-75.332 31.852 3264
+-75.206 31.852 3270
+-75.08 31.852 3226
+-74.954 31.852 3237
+-74.828 31.852 3228
+-74.702 31.852 3213
+-74.576 31.852 3256
+-74.45 31.852 3190
+-74.324 31.852 3197
+-74.198 31.852 3251
+-74.072 31.852 3267
+-73.946 31.852 3275
+-73.82 31.852 3282
+-73.694 31.852 3289
+-73.568 31.852 3296
+-73.442 31.852 3363
+-73.316 31.852 3371
+-73.19 31.852 3321
+-73.064 31.852 3328
+-72.938 31.852 3335
+-72.812 31.852 3342
+-72.686 31.852 3344
+-72.56 31.852 3322
+-72.434 31.852 3316
+-72.308 31.852 3281
+-72.182 31.852 3287
+-72.056 31.852 3255
+-71.93 31.852 3294
+-71.804 31.852 3300
+-71.678 31.852 3305
+-71.552 31.852 3309
+-71.426 31.852 3314
+-71.3 31.852 3318
+-71.174 31.852 3323
+-71.048 31.852 3301
+-70.922 31.852 3305
+-70.796 31.852 3309
+-70.67 31.852 3285
+-70.544 31.852 3256
+-70.418 31.852 3240
+-70.292 31.852 3243
+-70.166 31.852 3246
+-70.04 31.852 3249
+-69.914 31.852 3251
+-69.788 31.852 3253
+-69.662 31.852 3256
+-69.536 31.852 3181
+-69.41 31.852 3169
+-69.284 31.852 3171
+-69.158 31.852 3174
+-69.032 31.852 3176
+-68.906 31.852 3178
+-68.78 31.852 3180
+-68.654 31.852 3183
+-68.528 31.852 3185
+-68.402 31.852 3187
+-68.276 31.852 3189
+-68.15 31.852 3190
+-68.024 31.852 3192
+-67.898 31.852 3194
+-67.772 31.852 3196
+-67.646 31.852 3197
+-67.52 31.852 3186
+-67.394 31.852 3188
+-67.268 31.852 3189
+-67.142 31.852 3191
+-67.016 31.852 3193
+-66.89 31.852 3149
+-66.764 31.852 3151
+-66.638 31.852 3152
+-66.512 31.852 3153
+-66.386 31.852 3154
+-66.26 31.852 3155
+-66.134 31.852 3158
+-66.008 31.852 3159
+-65.882 31.852 3134
+-65.756 31.852 3120
+-65.63 31.852 3121
+-65.504 31.852 3122
+-65.378 31.852 3123
+-65.252 31.852 3123
+-65.126 31.852 3124
+-128 31.8 2684
+-127.874 31.8 2685
+-127.748 31.8 2787
+-127.622 31.8 2786
+-127.496 31.8 2784
+-127.37 31.8 2783
+-127.244 31.8 2782
+-127.118 31.8 2780
+-126.992 31.8 2779
+-126.866 31.8 2778
+-126.74 31.8 2777
+-126.614 31.8 2804
+-126.488 31.8 2802
+-126.362 31.8 2799
+-126.236 31.8 2891
+-126.11 31.8 2889
+-125.984 31.8 2886
+-125.858 31.8 2883
+-125.732 31.8 2879
+-125.606 31.8 2875
+-125.48 31.8 2870
+-125.354 31.8 2897
+-125.228 31.8 2961
+-125.102 31.8 2951
+-124.976 31.8 3000
+-124.85 31.8 2987
+-124.724 31.8 2974
+-124.598 31.8 2965
+-124.472 31.8 2959
+-124.346 31.8 2974
+-124.22 31.8 2994
+-124.094 31.8 3008
+-123.968 31.8 3026
+-123.842 31.8 3064
+-123.716 31.8 3125
+-123.59 31.8 3167
+-123.464 31.8 3220
+-123.338 31.8 3268
+-123.212 31.8 3348
+-123.086 31.8 3430
+-122.96 31.8 3511
+-122.834 31.8 3606
+-122.708 31.8 3641
+-122.582 31.8 3653
+-122.456 31.8 3611
+-122.33 31.8 3742
+-122.204 31.8 3906
+-122.078 31.8 4087
+-121.952 31.8 4242
+-121.826 31.8 4356
+-121.7 31.8 4485
+-121.574 31.8 4672
+-121.448 31.8 4792
+-121.322 31.8 4893
+-121.196 31.8 5013
+-121.07 31.8 5168
+-120.944 31.8 5292
+-120.818 31.8 5416
+-120.692 31.8 5563
+-120.566 31.8 5690
+-120.44 31.8 5752
+-120.314 31.8 5964
+-120.188 31.8 6074
+-120.062 31.8 6164
+-119.936 31.8 6368
+-119.81 31.8 6468
+-119.684 31.8 6551
+-119.558 31.8 6746
+-119.432 31.8 6834
+-119.306 31.8 6904
+-119.18 31.8 7069
+-119.054 31.8 7196
+-118.928 31.8 7310
+-118.802 31.8 7422
+-118.676 31.8 7579
+-118.55 31.8 7713
+-118.424 31.8 7792
+-118.298 31.8 7885
+-118.172 31.8 7982
+-118.046 31.8 8117
+-117.92 31.8 8242
+-117.794 31.8 8351
+-117.668 31.8 8403
+-117.542 31.8 8462
+-117.416 31.8 8548
+-117.29 31.8 8546
+-117.164 31.8 8586
+-117.038 31.8 8585
+-116.912 31.8 8569
+-116.786 31.8 8549
+-116.66 31.8 8529
+-116.534 31.8 8465
+-116.408 31.8 8410
+-116.282 31.8 8292
+-116.156 31.8 8233
+-116.03 31.8 8180
+-115.904 31.8 8050
+-115.778 31.8 7976
+-115.652 31.8 7831
+-115.526 31.8 7701
+-115.4 31.8 7594
+-115.274 31.8 7459
+-115.148 31.8 7368
+-115.022 31.8 7208
+-114.896 31.8 7123
+-114.77 31.8 7019
+-114.644 31.8 6883
+-114.518 31.8 6706
+-114.392 31.8 6569
+-114.266 31.8 6507
+-114.14 31.8 6378
+-114.014 31.8 6203
+-113.888 31.8 6034
+-113.762 31.8 5979
+-113.636 31.8 6036
+-113.51 31.8 6116
+-113.384 31.8 6213
+-113.258 31.8 6378
+-113.132 31.8 6533
+-113.006 31.8 6673
+-112.88 31.8 6768
+-112.754 31.8 6867
+-112.628 31.8 7048
+-112.502 31.8 7204
+-112.376 31.8 7361
+-112.25 31.8 7434
+-112.124 31.8 7566
+-111.998 31.8 7664
+-111.872 31.8 7867
+-111.746 31.8 7997
+-111.62 31.8 8074
+-111.494 31.8 8203
+-111.368 31.8 8442
+-111.242 31.8 8570
+-111.116 31.8 8676
+-110.99 31.8 8836
+-110.864 31.8 8890
+-110.738 31.8 9041
+-110.612 31.8 9188
+-110.486 31.8 9218
+-110.36 31.8 9287
+-110.234 31.8 9244
+-110.108 31.8 9053
+-109.982 31.8 8954
+-109.856 31.8 8882
+-109.73 31.8 8707
+-109.604 31.8 8591
+-109.478 31.8 8479
+-109.352 31.8 8361
+-109.226 31.8 8138
+-109.1 31.8 8059
+-108.974 31.8 7962
+-108.848 31.8 7776
+-108.722 31.8 7655
+-108.596 31.8 7456
+-108.47 31.8 7386
+-108.344 31.8 7297
+-108.218 31.8 7134
+-108.092 31.8 6994
+-107.966 31.8 6870
+-107.84 31.8 6775
+-107.714 31.8 6617
+-107.588 31.8 6442
+-107.462 31.8 6318
+-107.336 31.8 6125
+-107.21 31.8 6010
+-107.084 31.8 5886
+-106.958 31.8 5706
+-106.832 31.8 5577
+-106.706 31.8 5493
+-106.58 31.8 5359
+-106.454 31.8 5282
+-106.328 31.8 5137
+-106.202 31.8 4969
+-106.076 31.8 4846
+-105.95 31.8 4749
+-105.824 31.8 4632
+-105.698 31.8 4595
+-105.572 31.8 4557
+-105.446 31.8 4492
+-105.32 31.8 4411
+-105.194 31.8 4328
+-105.068 31.8 4263
+-104.942 31.8 4200
+-104.816 31.8 4208
+-104.69 31.8 4150
+-104.564 31.8 4149
+-104.438 31.8 4111
+-104.312 31.8 4027
+-104.186 31.8 3999
+-104.06 31.8 3938
+-103.934 31.8 3876
+-103.808 31.8 3803
+-103.682 31.8 3776
+-103.556 31.8 3754
+-103.43 31.8 3678
+-103.304 31.8 3627
+-103.178 31.8 3603
+-103.052 31.8 3532
+-102.926 31.8 3529
+-102.8 31.8 3528
+-102.674 31.8 3529
+-102.548 31.8 3468
+-102.422 31.8 3468
+-102.296 31.8 3469
+-102.17 31.8 3471
+-102.044 31.8 3473
+-101.918 31.8 3323
+-101.792 31.8 3304
+-101.666 31.8 3306
+-101.54 31.8 3308
+-101.414 31.8 3194
+-101.288 31.8 3196
+-101.162 31.8 3119
+-101.036 31.8 3119
+-100.91 31.8 3119
+-100.784 31.8 3119
+-100.658 31.8 3113
+-100.532 31.8 3113
+-100.406 31.8 3113
+-100.28 31.8 3052
+-100.154 31.8 2853
+-100.028 31.8 2840
+-99.902 31.8 2825
+-99.776 31.8 2809
+-99.65 31.8 2792
+-99.524 31.8 2756
+-99.398 31.8 2545
+-99.272 31.8 2434
+-99.146 31.8 2412
+-99.02 31.8 2388
+-98.894 31.8 2354
+-98.768 31.8 2325
+-98.642 31.8 2320
+-98.516 31.8 2316
+-98.39 31.8 2300
+-98.264 31.8 2278
+-98.138 31.8 2342
+-98.012 31.8 2369
+-97.886 31.8 2345
+-97.76 31.8 2288
+-97.634 31.8 2366
+-97.508 31.8 2332
+-97.382 31.8 2301
+-97.256 31.8 2261
+-97.13 31.8 2223
+-97.004 31.8 2177
+-96.878 31.8 2127
+-96.752 31.8 2072
+-96.626 31.8 2056
+-96.5 31.8 1977
+-96.374 31.8 1924
+-96.248 31.8 1876
+-96.122 31.8 1802
+-95.996 31.8 1690
+-95.87 31.8 1614
+-95.744 31.8 1569
+-95.618 31.8 1501
+-95.492 31.8 1450
+-95.366 31.8 1420
+-95.24 31.8 1407
+-95.114 31.8 1421
+-94.988 31.8 1468
+-94.862 31.8 1528
+-94.736 31.8 1633
+-94.61 31.8 1743
+-94.484 31.8 1862
+-94.358 31.8 1981
+-94.232 31.8 2107
+-94.106 31.8 2244
+-93.98 31.8 2343
+-93.854 31.8 2432
+-93.728 31.8 2511
+-93.602 31.8 2578
+-93.476 31.8 2662
+-93.35 31.8 2656
+-93.224 31.8 2699
+-93.098 31.8 2735
+-92.972 31.8 2727
+-92.846 31.8 2750
+-92.72 31.8 2768
+-92.594 31.8 2772
+-92.468 31.8 2786
+-92.342 31.8 2798
+-92.216 31.8 2810
+-92.09 31.8 2900
+-91.964 31.8 2943
+-91.838 31.8 2962
+-91.712 31.8 2980
+-91.586 31.8 2985
+-91.46 31.8 3000
+-91.334 31.8 3008
+-91.208 31.8 3055
+-91.082 31.8 3036
+-90.956 31.8 3070
+-90.83 31.8 3076
+-90.704 31.8 3080
+-90.578 31.8 3088
+-90.452 31.8 3109
+-90.326 31.8 3143
+-90.2 31.8 3220
+-90.074 31.8 3272
+-89.948 31.8 3286
+-89.822 31.8 3321
+-89.696 31.8 3352
+-89.57 31.8 3361
+-89.444 31.8 3388
+-89.318 31.8 3392
+-89.192 31.8 3397
+-89.066 31.8 3393
+-88.94 31.8 3389
+-88.814 31.8 3374
+-88.688 31.8 3353
+-88.562 31.8 3311
+-88.436 31.8 3244
+-88.31 31.8 3203
+-88.184 31.8 3239
+-88.058 31.8 3288
+-87.932 31.8 3311
+-87.806 31.8 3324
+-87.68 31.8 3331
+-87.554 31.8 3343
+-87.428 31.8 3354
+-87.302 31.8 3418
+-87.176 31.8 3425
+-87.05 31.8 3501
+-86.924 31.8 3528
+-86.798 31.8 3577
+-86.672 31.8 3664
+-86.546 31.8 3696
+-86.42 31.8 3789
+-86.294 31.8 3821
+-86.168 31.8 3836
+-86.042 31.8 3824
+-85.916 31.8 3827
+-85.79 31.8 3883
+-85.664 31.8 3974
+-85.538 31.8 4092
+-85.412 31.8 4160
+-85.286 31.8 4186
+-85.16 31.8 4258
+-85.034 31.8 4367
+-84.908 31.8 4488
+-84.782 31.8 4603
+-84.656 31.8 4684
+-84.53 31.8 4721
+-84.404 31.8 4739
+-84.278 31.8 4798
+-84.152 31.8 4840
+-84.026 31.8 4921
+-83.9 31.8 5009
+-83.774 31.8 5056
+-83.648 31.8 5116
+-83.522 31.8 5120
+-83.396 31.8 5143
+-83.27 31.8 5192
+-83.144 31.8 5243
+-83.018 31.8 5275
+-82.892 31.8 5316
+-82.766 31.8 5286
+-82.64 31.8 5312
+-82.514 31.8 5346
+-82.388 31.8 5378
+-82.262 31.8 5398
+-82.136 31.8 5390
+-82.01 31.8 5388
+-81.884 31.8 5384
+-81.758 31.8 5370
+-81.632 31.8 5357
+-81.506 31.8 5315
+-81.38 31.8 5271
+-81.254 31.8 5240
+-81.128 31.8 5206
+-81.002 31.8 5159
+-80.876 31.8 5133
+-80.75 31.8 5071
+-80.624 31.8 5024
+-80.498 31.8 4969
+-80.372 31.8 4924
+-80.246 31.8 4840
+-80.12 31.8 4798
+-79.994 31.8 4729
+-79.868 31.8 4633
+-79.742 31.8 4539
+-79.616 31.8 4576
+-79.49 31.8 4565
+-79.364 31.8 4495
+-79.238 31.8 4439
+-79.112 31.8 4360
+-78.986 31.8 4279
+-78.86 31.8 4213
+-78.734 31.8 4151
+-78.608 31.8 4071
+-78.482 31.8 3936
+-78.356 31.8 3849
+-78.23 31.8 3735
+-78.104 31.8 3564
+-77.978 31.8 3371
+-77.852 31.8 3262
+-77.726 31.8 3251
+-77.6 31.8 3186
+-77.474 31.8 3030
+-77.348 31.8 2866
+-77.222 31.8 2783
+-77.096 31.8 2816
+-76.97 31.8 2891
+-76.844 31.8 2977
+-76.718 31.8 3031
+-76.592 31.8 3086
+-76.466 31.8 3128
+-76.34 31.8 3170
+-76.214 31.8 3208
+-76.088 31.8 3230
+-75.962 31.8 3247
+-75.836 31.8 3261
+-75.71 31.8 3274
+-75.584 31.8 3285
+-75.458 31.8 3245
+-75.332 31.8 3252
+-75.206 31.8 3262
+-75.08 31.8 3222
+-74.954 31.8 3209
+-74.828 31.8 3255
+-74.702 31.8 3243
+-74.576 31.8 3232
+-74.45 31.8 3241
+-74.324 31.8 3240
+-74.198 31.8 3256
+-74.072 31.8 3265
+-73.946 31.8 3273
+-73.82 31.8 3280
+-73.694 31.8 3288
+-73.568 31.8 3353
+-73.442 31.8 3362
+-73.316 31.8 3314
+-73.19 31.8 3321
+-73.064 31.8 3329
+-72.938 31.8 3336
+-72.812 31.8 3337
+-72.686 31.8 3316
+-72.56 31.8 3311
+-72.434 31.8 3277
+-72.308 31.8 3283
+-72.182 31.8 3251
+-72.056 31.8 3291
+-71.93 31.8 3296
+-71.804 31.8 3301
+-71.678 31.8 3306
+-71.552 31.8 3311
+-71.426 31.8 3316
+-71.3 31.8 3320
+-71.174 31.8 3299
+-71.048 31.8 3303
+-70.922 31.8 3307
+-70.796 31.8 3283
+-70.67 31.8 3254
+-70.544 31.8 3239
+-70.418 31.8 3242
+-70.292 31.8 3245
+-70.166 31.8 3247
+-70.04 31.8 3250
+-69.914 31.8 3252
+-69.788 31.8 3255
+-69.662 31.8 3180
+-69.536 31.8 3168
+-69.41 31.8 3170
+-69.284 31.8 3173
+-69.158 31.8 3175
+-69.032 31.8 3178
+-68.906 31.8 3180
+-68.78 31.8 3182
+-68.654 31.8 3184
+-68.528 31.8 3186
+-68.402 31.8 3188
+-68.276 31.8 3190
+-68.15 31.8 3192
+-68.024 31.8 3194
+-67.898 31.8 3195
+-67.772 31.8 3197
+-67.646 31.8 3185
+-67.52 31.8 3187
+-67.394 31.8 3189
+-67.268 31.8 3191
+-67.142 31.8 3193
+-67.016 31.8 3149
+-66.89 31.8 3151
+-66.764 31.8 3152
+-66.638 31.8 3153
+-66.512 31.8 3154
+-66.386 31.8 3155
+-66.26 31.8 3158
+-66.134 31.8 3159
+-66.008 31.8 3134
+-65.882 31.8 3120
+-65.756 31.8 3121
+-65.63 31.8 3122
+-65.504 31.8 3123
+-65.378 31.8 3123
+-65.252 31.8 3124
+-65.126 31.8 3125
+-128 31.748 2614
+-127.874 31.748 2685
+-127.748 31.748 2687
+-127.622 31.748 2791
+-127.496 31.748 2790
+-127.37 31.748 2789
+-127.244 31.748 2788
+-127.118 31.748 2787
+-126.992 31.748 2786
+-126.866 31.748 2785
+-126.74 31.748 2813
+-126.614 31.748 2811
+-126.488 31.748 2809
+-126.362 31.748 2902
+-126.236 31.748 2900
+-126.11 31.748 2898
+-125.984 31.748 2896
+-125.858 31.748 2893
+-125.732 31.748 2891
+-125.606 31.748 2888
+-125.48 31.748 2902
+-125.354 31.748 2986
+-125.228 31.748 2979
+-125.102 31.748 3032
+-124.976 31.748 3022
+-124.85 31.748 3012
+-124.724 31.748 3004
+-124.598 31.748 2998
+-124.472 31.748 3010
+-124.346 31.748 3024
+-124.22 31.748 3027
+-124.094 31.748 3033
+-123.968 31.748 3055
+-123.842 31.748 3057
+-123.716 31.748 3084
+-123.59 31.748 3091
+-123.464 31.748 3120
+-123.338 31.748 3154
+-123.212 31.748 3240
+-123.086 31.748 3352
+-122.96 31.748 3480
+-122.834 31.748 3579
+-122.708 31.748 3595
+-122.582 31.748 3596
+-122.456 31.748 3654
+-122.33 31.748 3749
+-122.204 31.748 3910
+-122.078 31.748 4027
+-121.952 31.748 4178
+-121.826 31.748 4323
+-121.7 31.748 4465
+-121.574 31.748 4647
+-121.448 31.748 4742
+-121.322 31.748 4868
+-121.196 31.748 4996
+-121.07 31.748 5162
+-120.944 31.748 5304
+-120.818 31.748 5346
+-120.692 31.748 5498
+-120.566 31.748 5671
+-120.44 31.748 5804
+-120.314 31.748 5853
+-120.188 31.748 6060
+-120.062 31.748 6196
+-119.936 31.748 6249
+-119.81 31.748 6419
+-119.684 31.748 6557
+-119.558 31.748 6699
+-119.432 31.748 6840
+-119.306 31.748 6993
+-119.18 31.748 7033
+-119.054 31.748 7141
+-118.928 31.748 7277
+-118.802 31.748 7433
+-118.676 31.748 7552
+-118.55 31.748 7637
+-118.424 31.748 7772
+-118.298 31.748 7848
+-118.172 31.748 7991
+-118.046 31.748 8060
+-117.92 31.748 8198
+-117.794 31.748 8271
+-117.668 31.748 8351
+-117.542 31.748 8414
+-117.416 31.748 8452
+-117.29 31.748 8495
+-117.164 31.748 8514
+-117.038 31.748 8500
+-116.912 31.748 8495
+-116.786 31.748 8512
+-116.66 31.748 8479
+-116.534 31.748 8406
+-116.408 31.748 8320
+-116.282 31.748 8268
+-116.156 31.748 8175
+-116.03 31.748 8082
+-115.904 31.748 7987
+-115.778 31.748 7911
+-115.652 31.748 7816
+-115.526 31.748 7699
+-115.4 31.748 7580
+-115.274 31.748 7478
+-115.148 31.748 7340
+-115.022 31.748 7217
+-114.896 31.748 7097
+-114.77 31.748 6950
+-114.644 31.748 6847
+-114.518 31.748 6690
+-114.392 31.748 6537
+-114.266 31.748 6390
+-114.14 31.748 6349
+-114.014 31.748 6200
+-113.888 31.748 6082
+-113.762 31.748 6000
+-113.636 31.748 6048
+-113.51 31.748 6149
+-113.384 31.748 6257
+-113.258 31.748 6396
+-113.132 31.748 6561
+-113.006 31.748 6619
+-112.88 31.748 6806
+-112.754 31.748 6906
+-112.628 31.748 7075
+-112.502 31.748 7207
+-112.376 31.748 7365
+-112.25 31.748 7432
+-112.124 31.748 7557
+-111.998 31.748 7698
+-111.872 31.748 7855
+-111.746 31.748 8026
+-111.62 31.748 8184
+-111.494 31.748 8255
+-111.368 31.748 8378
+-111.242 31.748 8554
+-111.116 31.748 8664
+-110.99 31.748 8829
+-110.864 31.748 8900
+-110.738 31.748 9078
+-110.612 31.748 9205
+-110.486 31.748 9316
+-110.36 31.748 9295
+-110.234 31.748 9214
+-110.108 31.748 9108
+-109.982 31.748 8962
+-109.856 31.748 8885
+-109.73 31.748 8740
+-109.604 31.748 8624
+-109.478 31.748 8469
+-109.352 31.748 8300
+-109.226 31.748 8206
+-109.1 31.748 8032
+-108.974 31.748 7930
+-108.848 31.748 7726
+-108.722 31.748 7675
+-108.596 31.748 7539
+-108.47 31.748 7372
+-108.344 31.748 7239
+-108.218 31.748 7095
+-108.092 31.748 7010
+-107.966 31.748 6810
+-107.84 31.748 6753
+-107.714 31.748 6584
+-107.588 31.748 6375
+-107.462 31.748 6346
+-107.336 31.748 6190
+-107.21 31.748 6006
+-107.084 31.748 5813
+-106.958 31.748 5693
+-106.832 31.748 5587
+-106.706 31.748 5413
+-106.58 31.748 5413
+-106.454 31.748 5278
+-106.328 31.748 5114
+-106.202 31.748 4919
+-106.076 31.748 4763
+-105.95 31.748 4787
+-105.824 31.748 4712
+-105.698 31.748 4630
+-105.572 31.748 4589
+-105.446 31.748 4541
+-105.32 31.748 4483
+-105.194 31.748 4402
+-105.068 31.748 4355
+-104.942 31.748 4249
+-104.816 31.748 4223
+-104.69 31.748 4208
+-104.564 31.748 4089
+-104.438 31.748 4045
+-104.312 31.748 4012
+-104.186 31.748 3974
+-104.06 31.748 3891
+-103.934 31.748 3821
+-103.808 31.748 3748
+-103.682 31.748 3720
+-103.556 31.748 3657
+-103.43 31.748 3601
+-103.304 31.748 3560
+-103.178 31.748 3489
+-103.052 31.748 3488
+-102.926 31.748 3489
+-102.8 31.748 3492
+-102.674 31.748 3433
+-102.548 31.748 3436
+-102.422 31.748 3439
+-102.296 31.748 3442
+-102.17 31.748 3446
+-102.044 31.748 3450
+-101.918 31.748 3454
+-101.792 31.748 3310
+-101.666 31.748 3294
+-101.54 31.748 3297
+-101.414 31.748 3244
+-101.288 31.748 3107
+-101.162 31.748 3102
+-101.036 31.748 3102
+-100.91 31.748 3103
+-100.784 31.748 3103
+-100.658 31.748 3104
+-100.532 31.748 3104
+-100.406 31.748 3043
+-100.28 31.748 3012
+-100.154 31.748 2846
+-100.028 31.748 2833
+-99.902 31.748 2818
+-99.776 31.748 2802
+-99.65 31.748 2785
+-99.524 31.748 2749
+-99.398 31.748 2540
+-99.272 31.748 2446
+-99.146 31.748 2406
+-99.02 31.748 2382
+-98.894 31.748 2347
+-98.768 31.748 2317
+-98.642 31.748 2307
+-98.516 31.748 2300
+-98.39 31.748 2279
+-98.264 31.748 2261
+-98.138 31.748 2322
+-98.012 31.748 2346
+-97.886 31.748 2290
+-97.76 31.748 2298
+-97.634 31.748 2338
+-97.508 31.748 2306
+-97.382 31.748 2267
+-97.256 31.748 2229
+-97.13 31.748 2182
+-97.004 31.748 2131
+-96.878 31.748 2076
+-96.752 31.748 2058
+-96.626 31.748 1976
+-96.5 31.748 1919
+-96.374 31.748 1865
+-96.248 31.748 1782
+-96.122 31.748 1658
+-95.996 31.748 1567
+-95.87 31.748 1499
+-95.744 31.748 1405
+-95.618 31.748 1320
+-95.492 31.748 1251
+-95.366 31.748 1196
+-95.24 31.748 1169
+-95.114 31.748 1182
+-94.988 31.748 1221
+-94.862 31.748 1312
+-94.736 31.748 1426
+-94.61 31.748 1560
+-94.484 31.748 1707
+-94.358 31.748 1862
+-94.232 31.748 2027
+-94.106 31.748 2159
+-93.98 31.748 2276
+-93.854 31.748 2380
+-93.728 31.748 2469
+-93.602 31.748 2571
+-93.476 31.748 2581
+-93.35 31.748 2637
+-93.224 31.748 2685
+-93.098 31.748 2685
+-92.972 31.748 2719
+-92.846 31.748 2745
+-92.72 31.748 2755
+-92.594 31.748 2773
+-92.468 31.748 2786
+-92.342 31.748 2796
+-92.216 31.748 2841
+-92.09 31.748 2936
+-91.964 31.748 2944
+-91.838 31.748 2954
+-91.712 31.748 2953
+-91.586 31.748 2962
+-91.46 31.748 2965
+-91.334 31.748 2977
+-91.208 31.748 2986
+-91.082 31.748 2992
+-90.956 31.748 2993
+-90.83 31.748 2986
+-90.704 31.748 2976
+-90.578 31.748 2969
+-90.452 31.748 2978
+-90.326 31.748 2997
+-90.2 31.748 3051
+-90.074 31.748 3169
+-89.948 31.748 3226
+-89.822 31.748 3247
+-89.696 31.748 3280
+-89.57 31.748 3309
+-89.444 31.748 3357
+-89.318 31.748 3364
+-89.192 31.748 3347
+-89.066 31.748 3349
+-88.94 31.748 3345
+-88.814 31.748 3332
+-88.688 31.748 3314
+-88.562 31.748 3296
+-88.436 31.748 3253
+-88.31 31.748 3228
+-88.184 31.748 3236
+-88.058 31.748 3256
+-87.932 31.748 3266
+-87.806 31.748 3289
+-87.68 31.748 3293
+-87.554 31.748 3318
+-87.428 31.748 3365
+-87.302 31.748 3407
+-87.176 31.748 3454
+-87.05 31.748 3506
+-86.924 31.748 3540
+-86.798 31.748 3588
+-86.672 31.748 3679
+-86.546 31.748 3749
+-86.42 31.748 3817
+-86.294 31.748 3850
+-86.168 31.748 3860
+-86.042 31.748 3825
+-85.916 31.748 3785
+-85.79 31.748 3875
+-85.664 31.748 4018
+-85.538 31.748 4132
+-85.412 31.748 4216
+-85.286 31.748 4282
+-85.16 31.748 4358
+-85.034 31.748 4437
+-84.908 31.748 4551
+-84.782 31.748 4668
+-84.656 31.748 4718
+-84.53 31.748 4717
+-84.404 31.748 4774
+-84.278 31.748 4841
+-84.152 31.748 4904
+-84.026 31.748 4960
+-83.9 31.748 5056
+-83.774 31.748 5105
+-83.648 31.748 5157
+-83.522 31.748 5182
+-83.396 31.748 5195
+-83.27 31.748 5234
+-83.144 31.748 5255
+-83.018 31.748 5288
+-82.892 31.748 5315
+-82.766 31.748 5351
+-82.64 31.748 5393
+-82.514 31.748 5437
+-82.388 31.748 5476
+-82.262 31.748 5473
+-82.136 31.748 5491
+-82.01 31.748 5451
+-81.884 31.748 5419
+-81.758 31.748 5364
+-81.632 31.748 5398
+-81.506 31.748 5390
+-81.38 31.748 5351
+-81.254 31.748 5304
+-81.128 31.748 5276
+-81.002 31.748 5212
+-80.876 31.748 5182
+-80.75 31.748 5120
+-80.624 31.748 5078
+-80.498 31.748 5031
+-80.372 31.748 4984
+-80.246 31.748 4927
+-80.12 31.748 4884
+-79.994 31.748 4819
+-79.868 31.748 4702
+-79.742 31.748 4617
+-79.616 31.748 4599
+-79.49 31.748 4574
+-79.364 31.748 4496
+-79.238 31.748 4415
+-79.112 31.748 4341
+-78.986 31.748 4303
+-78.86 31.748 4227
+-78.734 31.748 4145
+-78.608 31.748 3991
+-78.482 31.748 3928
+-78.356 31.748 3878
+-78.23 31.748 3795
+-78.104 31.748 3667
+-77.978 31.748 3524
+-77.852 31.748 3382
+-77.726 31.748 3303
+-77.6 31.748 3174
+-77.474 31.748 2978
+-77.348 31.748 2791
+-77.222 31.748 2701
+-77.096 31.748 2770
+-76.97 31.748 2866
+-76.844 31.748 2951
+-76.718 31.748 3014
+-76.592 31.748 3073
+-76.466 31.748 3125
+-76.34 31.748 3170
+-76.214 31.748 3197
+-76.088 31.748 3218
+-75.962 31.748 3235
+-75.836 31.748 3249
+-75.71 31.748 3261
+-75.584 31.748 3225
+-75.458 31.748 3232
+-75.332 31.748 3243
+-75.206 31.748 3205
+-75.08 31.748 3194
+-74.954 31.748 3240
+-74.828 31.748 3229
+-74.702 31.748 3219
+-74.576 31.748 3228
+-74.45 31.748 3228
+-74.324 31.748 3245
+-74.198 31.748 3254
+-74.072 31.748 3263
+-73.946 31.748 3271
+-73.82 31.748 3279
+-73.694 31.748 3343
+-73.568 31.748 3353
+-73.442 31.748 3306
+-73.316 31.748 3314
+-73.19 31.748 3322
+-73.064 31.748 3330
+-72.938 31.748 3331
+-72.812 31.748 3311
+-72.686 31.748 3305
+-72.56 31.748 3273
+-72.434 31.748 3279
+-72.308 31.748 3248
+-72.182 31.748 3287
+-72.056 31.748 3292
+-71.93 31.748 3298
+-71.804 31.748 3303
+-71.678 31.748 3308
+-71.552 31.748 3313
+-71.426 31.748 3318
+-71.3 31.748 3297
+-71.174 31.748 3301
+-71.048 31.748 3305
+-70.922 31.748 3281
+-70.796 31.748 3253
+-70.67 31.748 3238
+-70.544 31.748 3241
+-70.418 31.748 3244
+-70.292 31.748 3246
+-70.166 31.748 3249
+-70.04 31.748 3251
+-69.914 31.748 3254
+-69.788 31.748 3179
+-69.662 31.748 3167
+-69.536 31.748 3169
+-69.41 31.748 3172
+-69.284 31.748 3174
+-69.158 31.748 3177
+-69.032 31.748 3179
+-68.906 31.748 3181
+-68.78 31.748 3184
+-68.654 31.748 3186
+-68.528 31.748 3188
+-68.402 31.748 3190
+-68.276 31.748 3191
+-68.15 31.748 3193
+-68.024 31.748 3195
+-67.898 31.748 3197
+-67.772 31.748 3185
+-67.646 31.748 3187
+-67.52 31.748 3189
+-67.394 31.748 3191
+-67.268 31.748 3192
+-67.142 31.748 3149
+-67.016 31.748 3150
+-66.89 31.748 3152
+-66.764 31.748 3153
+-66.638 31.748 3154
+-66.512 31.748 3155
+-66.386 31.748 3158
+-66.26 31.748 3159
+-66.134 31.748 3133
+-66.008 31.748 3120
+-65.882 31.748 3121
+-65.756 31.748 3122
+-65.63 31.748 3122
+-65.504 31.748 3123
+-65.378 31.748 3124
+-65.252 31.748 3125
+-65.126 31.748 3125
+-128 31.696 2611
+-127.874 31.696 2611
+-127.748 31.696 2687
+-127.622 31.696 2681
+-127.496 31.696 2795
+-127.37 31.696 2794
+-127.244 31.696 2794
+-127.118 31.696 2793
+-126.992 31.696 2792
+-126.866 31.696 2821
+-126.74 31.696 2819
+-126.614 31.696 2818
+-126.488 31.696 2912
+-126.362 31.696 2910
+-126.236 31.696 2909
+-126.11 31.696 2907
+-125.984 31.696 2905
+-125.858 31.696 2904
+-125.732 31.696 2902
+-125.606 31.696 2958
+-125.48 31.696 3005
+-125.354 31.696 3000
+-125.228 31.696 3055
+-125.102 31.696 3047
+-124.976 31.696 3040
+-124.85 31.696 3032
+-124.724 31.696 3026
+-124.598 31.696 3038
+-124.472 31.696 3049
+-124.346 31.696 3047
+-124.22 31.696 3045
+-124.094 31.696 3061
+-123.968 31.696 3052
+-123.842 31.696 3065
+-123.716 31.696 3044
+-123.59 31.696 2996
+-123.464 31.696 2951
+-123.338 31.696 2969
+-123.212 31.696 3081
+-123.086 31.696 3263
+-122.96 31.696 3412
+-122.834 31.696 3536
+-122.708 31.696 3543
+-122.582 31.696 3451
+-122.456 31.696 3635
+-122.33 31.696 3755
+-122.204 31.696 3905
+-122.078 31.696 3940
+-121.952 31.696 4150
+-121.826 31.696 4314
+-121.7 31.696 4433
+-121.574 31.696 4613
+-121.448 31.696 4718
+-121.322 31.696 4812
+-121.196 31.696 4952
+-121.07 31.696 5175
+-120.944 31.696 5296
+-120.818 31.696 5331
+-120.692 31.696 5455
+-120.566 31.696 5652
+-120.44 31.696 5785
+-120.314 31.696 5905
+-120.188 31.696 6038
+-120.062 31.696 6168
+-119.936 31.696 6279
+-119.81 31.696 6408
+-119.684 31.696 6533
+-119.558 31.696 6675
+-119.432 31.696 6807
+-119.306 31.696 6907
+-119.18 31.696 7011
+-119.054 31.696 7145
+-118.928 31.696 7227
+-118.802 31.696 7390
+-118.676 31.696 7529
+-118.55 31.696 7631
+-118.424 31.696 7748
+-118.298 31.696 7840
+-118.172 31.696 7942
+-118.046 31.696 8037
+-117.92 31.696 8157
+-117.794 31.696 8234
+-117.668 31.696 8321
+-117.542 31.696 8345
+-117.416 31.696 8421
+-117.29 31.696 8436
+-117.164 31.696 8486
+-117.038 31.696 8465
+-116.912 31.696 8486
+-116.786 31.696 8436
+-116.66 31.696 8414
+-116.534 31.696 8371
+-116.408 31.696 8297
+-116.282 31.696 8220
+-116.156 31.696 8104
+-116.03 31.696 8071
+-115.904 31.696 7931
+-115.778 31.696 7867
+-115.652 31.696 7743
+-115.526 31.696 7629
+-115.4 31.696 7542
+-115.274 31.696 7403
+-115.148 31.696 7276
+-115.022 31.696 7153
+-114.896 31.696 7036
+-114.77 31.696 6918
+-114.644 31.696 6760
+-114.518 31.696 6645
+-114.392 31.696 6544
+-114.266 31.696 6366
+-114.14 31.696 6284
+-114.014 31.696 6191
+-113.888 31.696 6062
+-113.762 31.696 5792
+-113.636 31.696 5971
+-113.51 31.696 6129
+-113.384 31.696 6295
+-113.258 31.696 6419
+-113.132 31.696 6513
+-113.006 31.696 6661
+-112.88 31.696 6739
+-112.754 31.696 6889
+-112.628 31.696 7057
+-112.502 31.696 7258
+-112.376 31.696 7308
+-112.25 31.696 7435
+-112.124 31.696 7560
+-111.998 31.696 7731
+-111.872 31.696 7814
+-111.746 31.696 7980
+-111.62 31.696 8146
+-111.494 31.696 8335
+-111.368 31.696 8357
+-111.242 31.696 8529
+-111.116 31.696 8679
+-110.99 31.696 8811
+-110.864 31.696 8956
+-110.738 31.696 9099
+-110.612 31.696 9225
+-110.486 31.696 9369
+-110.36 31.696 9353
+-110.234 31.696 9229
+-110.108 31.696 9108
+-109.982 31.696 9033
+-109.856 31.696 8904
+-109.73 31.696 8734
+-109.604 31.696 8570
+-109.478 31.696 8463
+-109.352 31.696 8335
+-109.226 31.696 8177
+-109.1 31.696 8090
+-108.974 31.696 7894
+-108.848 31.696 7770
+-108.722 31.696 7654
+-108.596 31.696 7552
+-108.47 31.696 7364
+-108.344 31.696 7208
+-108.218 31.696 7103
+-108.092 31.696 6910
+-107.966 31.696 6853
+-107.84 31.696 6725
+-107.714 31.696 6585
+-107.588 31.696 6476
+-107.462 31.696 6354
+-107.336 31.696 6195
+-107.21 31.696 6033
+-107.084 31.696 5834
+-106.958 31.696 5708
+-106.832 31.696 5603
+-106.706 31.696 5508
+-106.58 31.696 5444
+-106.454 31.696 5297
+-106.328 31.696 5130
+-106.202 31.696 4926
+-106.076 31.696 4828
+-105.95 31.696 4751
+-105.824 31.696 4667
+-105.698 31.696 4644
+-105.572 31.696 4618
+-105.446 31.696 4559
+-105.32 31.696 4519
+-105.194 31.696 4452
+-105.068 31.696 4357
+-104.942 31.696 4283
+-104.816 31.696 4252
+-104.69 31.696 4155
+-104.564 31.696 4091
+-104.438 31.696 4049
+-104.312 31.696 3979
+-104.186 31.696 3883
+-104.06 31.696 3800
+-103.934 31.696 3755
+-103.808 31.696 3716
+-103.682 31.696 3610
+-103.556 31.696 3547
+-103.43 31.696 3505
+-103.304 31.696 3448
+-103.178 31.696 3449
+-103.052 31.696 3438
+-102.926 31.696 3444
+-102.8 31.696 3390
+-102.674 31.696 3396
+-102.548 31.696 3402
+-102.422 31.696 3408
+-102.296 31.696 3414
+-102.17 31.696 3420
+-102.044 31.696 3426
+-101.918 31.696 3432
+-101.792 31.696 3437
+-101.666 31.696 3300
+-101.54 31.696 3229
+-101.414 31.696 3231
+-101.288 31.696 3107
+-101.162 31.696 3090
+-101.036 31.696 3091
+-100.91 31.696 3092
+-100.784 31.696 3093
+-100.658 31.696 3094
+-100.532 31.696 3034
+-100.406 31.696 3003
+-100.28 31.696 3005
+-100.154 31.696 2839
+-100.028 31.696 2825
+-99.902 31.696 2811
+-99.776 31.696 2795
+-99.65 31.696 2778
+-99.524 31.696 2742
+-99.398 31.696 2551
+-99.272 31.696 2442
+-99.146 31.696 2418
+-99.02 31.696 2377
+-98.894 31.696 2345
+-98.768 31.696 2309
+-98.642 31.696 2295
+-98.516 31.696 2281
+-98.39 31.696 2264
+-98.264 31.696 2249
+-98.138 31.696 2228
+-98.012 31.696 2247
+-97.886 31.696 2303
+-97.76 31.696 2273
+-97.634 31.696 2241
+-97.508 31.696 2277
+-97.382 31.696 2240
+-97.256 31.696 2193
+-97.13 31.696 2143
+-97.004 31.696 2088
+-96.878 31.696 2071
+-96.752 31.696 1988
+-96.626 31.696 1930
+-96.5 31.696 1874
+-96.374 31.696 1785
+-96.248 31.696 1655
+-96.122 31.696 1553
+-95.996 31.696 1472
+-95.87 31.696 1356
+-95.744 31.696 1244
+-95.618 31.696 1138
+-95.492 31.696 1039
+-95.366 31.696 963
+-95.24 31.696 924
+-95.114 31.696 921
+-94.988 31.696 974
+-94.862 31.696 1069
+-94.736 31.696 1203
+-94.61 31.696 1368
+-94.484 31.696 1549
+-94.358 31.696 1744
+-94.232 31.696 1913
+-94.106 31.696 2067
+-93.98 31.696 2204
+-93.854 31.696 2323
+-93.728 31.696 2448
+-93.602 31.696 2481
+-93.476 31.696 2554
+-93.35 31.696 2616
+-93.224 31.696 2629
+-93.098 31.696 2672
+-92.972 31.696 2707
+-92.846 31.696 2724
+-92.72 31.696 2748
+-92.594 31.696 2765
+-92.468 31.696 2776
+-92.342 31.696 2821
+-92.216 31.696 2835
+-92.09 31.696 2846
+-91.964 31.696 2933
+-91.838 31.696 2923
+-91.712 31.696 2925
+-91.586 31.696 2922
+-91.46 31.696 2928
+-91.334 31.696 2929
+-91.208 31.696 2939
+-91.082 31.696 2942
+-90.956 31.696 2936
+-90.83 31.696 2901
+-90.704 31.696 2898
+-90.578 31.696 2857
+-90.452 31.696 2852
+-90.326 31.696 2893
+-90.2 31.696 2961
+-90.074 31.696 3054
+-89.948 31.696 3105
+-89.822 31.696 3146
+-89.696 31.696 3186
+-89.57 31.696 3207
+-89.444 31.696 3246
+-89.318 31.696 3262
+-89.192 31.696 3297
+-89.066 31.696 3290
+-88.94 31.696 3290
+-88.814 31.696 3295
+-88.688 31.696 3287
+-88.562 31.696 3268
+-88.436 31.696 3256
+-88.31 31.696 3236
+-88.184 31.696 3230
+-88.058 31.696 3231
+-87.932 31.696 3238
+-87.806 31.696 3254
+-87.68 31.696 3273
+-87.554 31.696 3295
+-87.428 31.696 3368
+-87.302 31.696 3396
+-87.176 31.696 3462
+-87.05 31.696 3513
+-86.924 31.696 3578
+-86.798 31.696 3623
+-86.672 31.696 3687
+-86.546 31.696 3759
+-86.42 31.696 3814
+-86.294 31.696 3857
+-86.168 31.696 3892
+-86.042 31.696 3885
+-85.916 31.696 3863
+-85.79 31.696 3953
+-85.664 31.696 4086
+-85.538 31.696 4190
+-85.412 31.696 4280
+-85.286 31.696 4379
+-85.16 31.696 4458
+-85.034 31.696 4515
+-84.908 31.696 4587
+-84.782 31.696 4680
+-84.656 31.696 4727
+-84.53 31.696 4758
+-84.404 31.696 4823
+-84.278 31.696 4910
+-84.152 31.696 4937
+-84.026 31.696 4994
+-83.9 31.696 5089
+-83.774 31.696 5148
+-83.648 31.696 5204
+-83.522 31.696 5240
+-83.396 31.696 5268
+-83.27 31.696 5291
+-83.144 31.696 5320
+-83.018 31.696 5364
+-82.892 31.696 5401
+-82.766 31.696 5437
+-82.64 31.696 5483
+-82.514 31.696 5528
+-82.388 31.696 5544
+-82.262 31.696 5563
+-82.136 31.696 5557
+-82.01 31.696 5532
+-81.884 31.696 5471
+-81.758 31.696 5456
+-81.632 31.696 5444
+-81.506 31.696 5442
+-81.38 31.696 5413
+-81.254 31.696 5376
+-81.128 31.696 5334
+-81.002 31.696 5276
+-80.876 31.696 5214
+-80.75 31.696 5173
+-80.624 31.696 5126
+-80.498 31.696 5099
+-80.372 31.696 5044
+-80.246 31.696 4963
+-80.12 31.696 4908
+-79.994 31.696 4884
+-79.868 31.696 4784
+-79.742 31.696 4662
+-79.616 31.696 4587
+-79.49 31.696 4567
+-79.364 31.696 4485
+-79.238 31.696 4389
+-79.112 31.696 4285
+-78.986 31.696 4299
+-78.86 31.696 4247
+-78.734 31.696 4121
+-78.608 31.696 3993
+-78.482 31.696 3892
+-78.356 31.696 3884
+-78.23 31.696 3850
+-78.104 31.696 3763
+-77.978 31.696 3603
+-77.852 31.696 3483
+-77.726 31.696 3358
+-77.6 31.696 3192
+-77.474 31.696 2973
+-77.348 31.696 2801
+-77.222 31.696 2732
+-77.096 31.696 2781
+-76.97 31.696 2872
+-76.844 31.696 2967
+-76.718 31.696 3039
+-76.592 31.696 3079
+-76.466 31.696 3132
+-76.34 31.696 3164
+-76.214 31.696 3188
+-76.088 31.696 3207
+-75.962 31.696 3222
+-75.836 31.696 3235
+-75.71 31.696 3202
+-75.584 31.696 3210
+-75.458 31.696 3222
+-75.332 31.696 3187
+-75.206 31.696 3178
+-75.08 31.696 3222
+-74.954 31.696 3214
+-74.828 31.696 3204
+-74.702 31.696 3214
+-74.576 31.696 3215
+-74.45 31.696 3233
+-74.324 31.696 3242
+-74.198 31.696 3252
+-74.072 31.696 3261
+-73.946 31.696 3269
+-73.82 31.696 3332
+-73.694 31.696 3343
+-73.568 31.696 3297
+-73.442 31.696 3306
+-73.316 31.696 3315
+-73.19 31.696 3323
+-73.064 31.696 3324
+-72.938 31.696 3305
+-72.812 31.696 3300
+-72.686 31.696 3268
+-72.56 31.696 3274
+-72.434 31.696 3244
+-72.308 31.696 3283
+-72.182 31.696 3289
+-72.056 31.696 3294
+-71.93 31.696 3300
+-71.804 31.696 3305
+-71.678 31.696 3310
+-71.552 31.696 3315
+-71.426 31.696 3294
+-71.3 31.696 3299
+-71.174 31.696 3303
+-71.048 31.696 3280
+-70.922 31.696 3251
+-70.796 31.696 3236
+-70.67 31.696 3239
+-70.544 31.696 3242
+-70.418 31.696 3245
+-70.292 31.696 3248
+-70.166 31.696 3251
+-70.04 31.696 3253
+-69.914 31.696 3178
+-69.788 31.696 3166
+-69.662 31.696 3169
+-69.536 31.696 3171
+-69.41 31.696 3174
+-69.284 31.696 3176
+-69.158 31.696 3179
+-69.032 31.696 3181
+-68.906 31.696 3183
+-68.78 31.696 3185
+-68.654 31.696 3187
+-68.528 31.696 3189
+-68.402 31.696 3191
+-68.276 31.696 3193
+-68.15 31.696 3195
+-68.024 31.696 3197
+-67.898 31.696 3185
+-67.772 31.696 3187
+-67.646 31.696 3189
+-67.52 31.696 3190
+-67.394 31.696 3192
+-67.268 31.696 3149
+-67.142 31.696 3150
+-67.016 31.696 3152
+-66.89 31.696 3153
+-66.764 31.696 3154
+-66.638 31.696 3156
+-66.512 31.696 3157
+-66.386 31.696 3159
+-66.26 31.696 3133
+-66.134 31.696 3120
+-66.008 31.696 3121
+-65.882 31.696 3121
+-65.756 31.696 3122
+-65.63 31.696 3123
+-65.504 31.696 3124
+-65.378 31.696 3125
+-65.252 31.696 3125
+-65.126 31.696 3126
+-128 31.644 2611
+-127.874 31.644 2615
+-127.748 31.644 2618
+-127.622 31.644 2622
+-127.496 31.644 2626
+-127.37 31.644 2800
+-127.244 31.644 2799
+-127.118 31.644 2799
+-126.992 31.644 2828
+-126.866 31.644 2827
+-126.74 31.644 2825
+-126.614 31.644 2893
+-126.488 31.644 2893
+-126.362 31.644 2892
+-126.236 31.644 2892
+-126.11 31.644 2891
+-125.984 31.644 2891
+-125.858 31.644 2890
+-125.732 31.644 2971
+-125.606 31.644 2967
+-125.48 31.644 3016
+-125.354 31.644 3074
+-125.228 31.644 3067
+-125.102 31.644 3060
+-124.976 31.644 3054
+-124.85 31.644 3048
+-124.724 31.644 3060
+-124.598 31.644 3070
+-124.472 31.644 3065
+-124.346 31.644 3076
+-124.22 31.644 3068
+-124.094 31.644 3063
+-123.968 31.644 3073
+-123.842 31.644 3050
+-123.716 31.644 2991
+-123.59 31.644 2897
+-123.464 31.644 2769
+-123.338 31.644 2702
+-123.212 31.644 2860
+-123.086 31.644 3137
+-122.96 31.644 3350
+-122.834 31.644 3478
+-122.708 31.644 3557
+-122.582 31.644 3579
+-122.456 31.644 3666
+-122.33 31.644 3804
+-122.204 31.644 3860
+-122.078 31.644 3974
+-121.952 31.644 4141
+-121.826 31.644 4306
+-121.7 31.644 4452
+-121.574 31.644 4501
+-121.448 31.644 4683
+-121.322 31.644 4767
+-121.196 31.644 4920
+-121.07 31.644 5163
+-120.944 31.644 5277
+-120.818 31.644 5313
+-120.692 31.644 5455
+-120.566 31.644 5648
+-120.44 31.644 5751
+-120.314 31.644 5853
+-120.188 31.644 6024
+-120.062 31.644 6106
+-119.936 31.644 6272
+-119.81 31.644 6373
+-119.684 31.644 6445
+-119.558 31.644 6621
+-119.432 31.644 6732
+-119.306 31.644 6944
+-119.18 31.644 7002
+-119.054 31.644 7123
+-118.928 31.644 7246
+-118.802 31.644 7368
+-118.676 31.644 7460
+-118.55 31.644 7581
+-118.424 31.644 7712
+-118.298 31.644 7821
+-118.172 31.644 7907
+-118.046 31.644 8031
+-117.92 31.644 8064
+-117.794 31.644 8156
+-117.668 31.644 8262
+-117.542 31.644 8281
+-117.416 31.644 8350
+-117.29 31.644 8369
+-117.164 31.644 8405
+-117.038 31.644 8405
+-116.912 31.644 8439
+-116.786 31.644 8378
+-116.66 31.644 8325
+-116.534 31.644 8278
+-116.408 31.644 8247
+-116.282 31.644 8228
+-116.156 31.644 8104
+-116.03 31.644 8010
+-115.904 31.644 7889
+-115.778 31.644 7790
+-115.652 31.644 7721
+-115.526 31.644 7603
+-115.4 31.644 7480
+-115.274 31.644 7346
+-115.148 31.644 7261
+-115.022 31.644 7108
+-114.896 31.644 7029
+-114.77 31.644 6896
+-114.644 31.644 6781
+-114.518 31.644 6638
+-114.392 31.644 6495
+-114.266 31.644 6375
+-114.14 31.644 6306
+-114.014 31.644 6114
+-113.888 31.644 6063
+-113.762 31.644 5996
+-113.636 31.644 6027
+-113.51 31.644 6065
+-113.384 31.644 6260
+-113.258 31.644 6437
+-113.132 31.644 6523
+-113.006 31.644 6680
+-112.88 31.644 6751
+-112.754 31.644 6934
+-112.628 31.644 7101
+-112.502 31.644 7229
+-112.376 31.644 7378
+-112.25 31.644 7432
+-112.124 31.644 7568
+-111.998 31.644 7683
+-111.872 31.644 7875
+-111.746 31.644 7996
+-111.62 31.644 8136
+-111.494 31.644 8335
+-111.368 31.644 8370
+-111.242 31.644 8534
+-111.116 31.644 8658
+-110.99 31.644 8845
+-110.864 31.644 8982
+-110.738 31.644 9105
+-110.612 31.644 9233
+-110.486 31.644 9347
+-110.36 31.644 9407
+-110.234 31.644 9266
+-110.108 31.644 9143
+-109.982 31.644 8983
+-109.856 31.644 8888
+-109.73 31.644 8715
+-109.604 31.644 8588
+-109.478 31.644 8514
+-109.352 31.644 8370
+-109.226 31.644 8218
+-109.1 31.644 8060
+-108.974 31.644 7901
+-108.848 31.644 7777
+-108.722 31.644 7650
+-108.596 31.644 7528
+-108.47 31.644 7346
+-108.344 31.644 7186
+-108.218 31.644 7124
+-108.092 31.644 6981
+-107.966 31.644 6863
+-107.84 31.644 6767
+-107.714 31.644 6520
+-107.588 31.644 6475
+-107.462 31.644 6325
+-107.336 31.644 6223
+-107.21 31.644 6049
+-107.084 31.644 5831
+-106.958 31.644 5728
+-106.832 31.644 5573
+-106.706 31.644 5514
+-106.58 31.644 5454
+-106.454 31.644 5303
+-106.328 31.644 5122
+-106.202 31.644 4939
+-106.076 31.644 4807
+-105.95 31.644 4706
+-105.824 31.644 4535
+-105.698 31.644 4610
+-105.572 31.644 4640
+-105.446 31.644 4578
+-105.32 31.644 4536
+-105.194 31.644 4475
+-105.068 31.644 4429
+-104.942 31.644 4324
+-104.816 31.644 4224
+-104.69 31.644 4166
+-104.564 31.644 4073
+-104.438 31.644 4018
+-104.312 31.644 3908
+-104.186 31.644 3820
+-104.06 31.644 3757
+-103.934 31.644 3670
+-103.808 31.644 3590
+-103.682 31.644 3515
+-103.556 31.644 3455
+-103.43 31.644 3423
+-103.304 31.644 3380
+-103.178 31.644 3388
+-103.052 31.644 3399
+-102.926 31.644 3354
+-102.8 31.644 3365
+-102.674 31.644 3375
+-102.548 31.644 3386
+-102.422 31.644 3373
+-102.296 31.644 3382
+-102.17 31.644 3391
+-102.044 31.644 3399
+-101.918 31.644 3407
+-101.792 31.644 3326
+-101.666 31.644 3227
+-101.54 31.644 3215
+-101.414 31.644 3217
+-101.288 31.644 3094
+-101.162 31.644 3096
+-101.036 31.644 3080
+-100.91 31.644 3082
+-100.784 31.644 3083
+-100.658 31.644 3023
+-100.532 31.644 2994
+-100.406 31.644 2996
+-100.28 31.644 2997
+-100.154 31.644 2831
+-100.028 31.644 2819
+-99.902 31.644 2804
+-99.776 31.644 2789
+-99.65 31.644 2772
+-99.524 31.644 2753
+-99.398 31.644 2547
+-99.272 31.644 2438
+-99.146 31.644 2414
+-99.02 31.644 2389
+-98.894 31.644 2342
+-98.768 31.644 2300
+-98.642 31.644 2278
+-98.516 31.644 2264
+-98.39 31.644 2254
+-98.264 31.644 2259
+-98.138 31.644 2237
+-98.012 31.644 2265
+-97.886 31.644 2281
+-97.76 31.644 2250
+-97.634 31.644 2215
+-97.508 31.644 2255
+-97.382 31.644 2210
+-97.256 31.644 2161
+-97.13 31.644 2106
+-97.004 31.644 2092
+-96.878 31.644 2010
+-96.752 31.644 1953
+-96.626 31.644 1899
+-96.5 31.644 1809
+-96.374 31.644 1676
+-96.248 31.644 1570
+-96.122 31.644 1483
+-95.996 31.644 1355
+-95.87 31.644 1224
+-95.744 31.644 1092
+-95.618 31.644 956
+-95.492 31.644 834
+-95.366 31.644 739
+-95.24 31.644 677
+-95.114 31.644 670
+-94.988 31.644 718
+-94.862 31.644 824
+-94.736 31.644 984
+-94.61 31.644 1176
+-94.484 31.644 1395
+-94.358 31.644 1603
+-94.232 31.644 1797
+-94.106 31.644 1975
+-93.98 31.644 2132
+-93.854 31.644 2286
+-93.728 31.644 2350
+-93.602 31.644 2446
+-93.476 31.644 2526
+-93.35 31.644 2554
+-93.224 31.644 2610
+-93.098 31.644 2656
+-92.972 31.644 2681
+-92.846 31.644 2712
+-92.72 31.644 2734
+-92.594 31.644 2748
+-92.468 31.644 2797
+-92.342 31.644 2810
+-92.216 31.644 2818
+-92.09 31.644 2824
+-91.964 31.644 2899
+-91.838 31.644 2892
+-91.712 31.644 2851
+-91.586 31.644 2849
+-91.46 31.644 2845
+-91.334 31.644 2848
+-91.208 31.644 2855
+-91.082 31.644 2859
+-90.956 31.644 2860
+-90.83 31.644 2849
+-90.704 31.644 2823
+-90.578 31.644 2786
+-90.452 31.644 2767
+-90.326 31.644 2797
+-90.2 31.644 2860
+-90.074 31.644 2952
+-89.948 31.644 3006
+-89.822 31.644 3057
+-89.696 31.644 3096
+-89.57 31.644 3133
+-89.444 31.644 3157
+-89.318 31.644 3175
+-89.192 31.644 3202
+-89.066 31.644 3209
+-88.94 31.644 3212
+-88.814 31.644 3234
+-88.688 31.644 3227
+-88.562 31.644 3212
+-88.436 31.644 3210
+-88.31 31.644 3198
+-88.184 31.644 3198
+-88.058 31.644 3181
+-87.932 31.644 3178
+-87.806 31.644 3184
+-87.68 31.644 3231
+-87.554 31.644 3279
+-87.428 31.644 3345
+-87.302 31.644 3395
+-87.176 31.644 3486
+-87.05 31.644 3537
+-86.924 31.644 3591
+-86.798 31.644 3629
+-86.672 31.644 3680
+-86.546 31.644 3721
+-86.42 31.644 3828
+-86.294 31.644 3854
+-86.168 31.644 3915
+-86.042 31.644 3960
+-85.916 31.644 4008
+-85.79 31.644 4103
+-85.664 31.644 4188
+-85.538 31.644 4254
+-85.412 31.644 4337
+-85.286 31.644 4447
+-85.16 31.644 4504
+-85.034 31.644 4549
+-84.908 31.644 4620
+-84.782 31.644 4699
+-84.656 31.644 4765
+-84.53 31.644 4817
+-84.404 31.644 4879
+-84.278 31.644 4956
+-84.152 31.644 4993
+-84.026 31.644 5070
+-83.9 31.644 5157
+-83.774 31.644 5189
+-83.648 31.644 5234
+-83.522 31.644 5280
+-83.396 31.644 5328
+-83.27 31.644 5338
+-83.144 31.644 5396
+-83.018 31.644 5432
+-82.892 31.644 5441
+-82.766 31.644 5494
+-82.64 31.644 5549
+-82.514 31.644 5581
+-82.388 31.644 5606
+-82.262 31.644 5613
+-82.136 31.644 5606
+-82.01 31.644 5585
+-81.884 31.644 5530
+-81.758 31.644 5480
+-81.632 31.644 5498
+-81.506 31.644 5473
+-81.38 31.644 5436
+-81.254 31.644 5414
+-81.128 31.644 5357
+-81.002 31.644 5335
+-80.876 31.644 5289
+-80.75 31.644 5222
+-80.624 31.644 5180
+-80.498 31.644 5143
+-80.372 31.644 5076
+-80.246 31.644 5027
+-80.12 31.644 4955
+-79.994 31.644 4918
+-79.868 31.644 4857
+-79.742 31.644 4748
+-79.616 31.644 4657
+-79.49 31.644 4567
+-79.364 31.644 4457
+-79.238 31.644 4440
+-79.112 31.644 4356
+-78.986 31.644 4325
+-78.86 31.644 4236
+-78.734 31.644 4123
+-78.608 31.644 3961
+-78.482 31.644 3840
+-78.356 31.644 3884
+-78.23 31.644 3886
+-78.104 31.644 3788
+-77.978 31.644 3687
+-77.852 31.644 3569
+-77.726 31.644 3430
+-77.6 31.644 3235
+-77.474 31.644 3043
+-77.348 31.644 2880
+-77.222 31.644 2808
+-77.096 31.644 2844
+-76.97 31.644 2923
+-76.844 31.644 2996
+-76.718 31.644 3059
+-76.592 31.644 3098
+-76.466 31.644 3133
+-76.34 31.644 3159
+-76.214 31.644 3179
+-76.088 31.644 3194
+-75.962 31.644 3208
+-75.836 31.644 3178
+-75.71 31.644 3185
+-75.584 31.644 3199
+-75.458 31.644 3167
+-75.332 31.644 3160
+-75.206 31.644 3203
+-75.08 31.644 3196
+-74.954 31.644 3188
+-74.828 31.644 3198
+-74.702 31.644 3201
+-74.576 31.644 3219
+-74.45 31.644 3230
+-74.324 31.644 3240
+-74.198 31.644 3250
+-74.072 31.644 3259
+-73.946 31.644 3320
+-73.82 31.644 3332
+-73.694 31.644 3289
+-73.568 31.644 3298
+-73.442 31.644 3307
+-73.316 31.644 3316
+-73.19 31.644 3317
+-73.064 31.644 3299
+-72.938 31.644 3294
+-72.812 31.644 3263
+-72.686 31.644 3270
+-72.56 31.644 3240
+-72.434 31.644 3278
+-72.308 31.644 3285
+-72.182 31.644 3291
+-72.056 31.644 3297
+-71.93 31.644 3302
+-71.804 31.644 3307
+-71.678 31.644 3312
+-71.552 31.644 3292
+-71.426 31.644 3296
+-71.3 31.644 3301
+-71.174 31.644 3278
+-71.048 31.644 3250
+-70.922 31.644 3235
+-70.796 31.644 3238
+-70.67 31.644 3241
+-70.544 31.644 3244
+-70.418 31.644 3247
+-70.292 31.644 3250
+-70.166 31.644 3252
+-70.04 31.644 3177
+-69.914 31.644 3165
+-69.788 31.644 3168
+-69.662 31.644 3171
+-69.536 31.644 3173
+-69.41 31.644 3176
+-69.284 31.644 3178
+-69.158 31.644 3180
+-69.032 31.644 3183
+-68.906 31.644 3185
+-68.78 31.644 3187
+-68.654 31.644 3189
+-68.528 31.644 3191
+-68.402 31.644 3193
+-68.276 31.644 3195
+-68.15 31.644 3196
+-68.024 31.644 3184
+-67.898 31.644 3186
+-67.772 31.644 3188
+-67.646 31.644 3190
+-67.52 31.644 3192
+-67.394 31.644 3149
+-67.268 31.644 3151
+-67.142 31.644 3152
+-67.016 31.644 3153
+-66.89 31.644 3154
+-66.764 31.644 3156
+-66.638 31.644 3157
+-66.512 31.644 3158
+-66.386 31.644 3133
+-66.26 31.644 3120
+-66.134 31.644 3121
+-66.008 31.644 3121
+-65.882 31.644 3122
+-65.756 31.644 3123
+-65.63 31.644 3124
+-65.504 31.644 3125
+-65.378 31.644 3125
+-65.252 31.644 3126
+-65.126 31.644 3127
+-128 31.592 2608
+-127.874 31.592 2612
+-127.748 31.592 2615
+-127.622 31.592 2619
+-127.496 31.592 2623
+-127.37 31.592 2627
+-127.244 31.592 2805
+-127.118 31.592 2834
+-126.992 31.592 2833
+-126.866 31.592 2832
+-126.74 31.592 2901
+-126.614 31.592 2901
+-126.488 31.592 2900
+-126.362 31.592 2900
+-126.236 31.592 2900
+-126.11 31.592 2900
+-125.984 31.592 2899
+-125.858 31.592 2956
+-125.732 31.592 2953
+-125.606 31.592 3012
+-125.48 31.592 3089
+-125.354 31.592 3083
+-125.228 31.592 3077
+-125.102 31.592 3071
+-124.976 31.592 3066
+-124.85 31.592 3077
+-124.724 31.592 3087
+-124.598 31.592 3082
+-124.472 31.592 3093
+-124.346 31.592 3085
+-124.22 31.592 3080
+-124.094 31.592 3073
+-123.968 31.592 3045
+-123.842 31.592 3033
+-123.716 31.592 2961
+-123.59 31.592 2847
+-123.464 31.592 2676
+-123.338 31.592 2540
+-123.212 31.592 2733
+-123.086 31.592 3033
+-122.96 31.592 3274
+-122.834 31.592 3426
+-122.708 31.592 3552
+-122.582 31.592 3631
+-122.456 31.592 3714
+-122.33 31.592 3810
+-122.204 31.592 3898
+-122.078 31.592 4016
+-121.952 31.592 4155
+-121.826 31.592 4319
+-121.7 31.592 4464
+-121.574 31.592 4579
+-121.448 31.592 4719
+-121.322 31.592 4826
+-121.196 31.592 4936
+-121.07 31.592 5125
+-120.944 31.592 5215
+-120.818 31.592 5360
+-120.692 31.592 5482
+-120.566 31.592 5594
+-120.44 31.592 5751
+-120.314 31.592 5877
+-120.188 31.592 5996
+-120.062 31.592 6119
+-119.936 31.592 6172
+-119.81 31.592 6349
+-119.684 31.592 6473
+-119.558 31.592 6620
+-119.432 31.592 6736
+-119.306 31.592 6820
+-119.18 31.592 6966
+-119.054 31.592 7102
+-118.928 31.592 7163
+-118.802 31.592 7312
+-118.676 31.592 7480
+-118.55 31.592 7524
+-118.424 31.592 7656
+-118.298 31.592 7748
+-118.172 31.592 7876
+-118.046 31.592 7964
+-117.92 31.592 8022
+-117.794 31.592 8155
+-117.668 31.592 8225
+-117.542 31.592 8254
+-117.416 31.592 8303
+-117.29 31.592 8330
+-117.164 31.592 8349
+-117.038 31.592 8385
+-116.912 31.592 8348
+-116.786 31.592 8316
+-116.66 31.592 8264
+-116.534 31.592 8247
+-116.408 31.592 8205
+-116.282 31.592 8123
+-116.156 31.592 8074
+-116.03 31.592 7980
+-115.904 31.592 7885
+-115.778 31.592 7774
+-115.652 31.592 7723
+-115.526 31.592 7576
+-115.4 31.592 7464
+-115.274 31.592 7311
+-115.148 31.592 7246
+-115.022 31.592 7099
+-114.896 31.592 6945
+-114.77 31.592 6840
+-114.644 31.592 6774
+-114.518 31.592 6625
+-114.392 31.592 6481
+-114.266 31.592 6367
+-114.14 31.592 6217
+-114.014 31.592 6122
+-113.888 31.592 5979
+-113.762 31.592 5990
+-113.636 31.592 6006
+-113.51 31.592 6105
+-113.384 31.592 6288
+-113.258 31.592 6357
+-113.132 31.592 6552
+-113.006 31.592 6685
+-112.88 31.592 6740
+-112.754 31.592 6898
+-112.628 31.592 7092
+-112.502 31.592 7178
+-112.376 31.592 7314
+-112.25 31.592 7491
+-112.124 31.592 7639
+-111.998 31.592 7717
+-111.872 31.592 7865
+-111.746 31.592 8019
+-111.62 31.592 8087
+-111.494 31.592 8291
+-111.368 31.592 8378
+-111.242 31.592 8561
+-111.116 31.592 8683
+-110.99 31.592 8806
+-110.864 31.592 9031
+-110.738 31.592 9082
+-110.612 31.592 9233
+-110.486 31.592 9294
+-110.36 31.592 9420
+-110.234 31.592 9274
+-110.108 31.592 9145
+-109.982 31.592 9005
+-109.856 31.592 8913
+-109.73 31.592 8738
+-109.604 31.592 8572
+-109.478 31.592 8506
+-109.352 31.592 8394
+-109.226 31.592 8221
+-109.1 31.592 8078
+-108.974 31.592 7877
+-108.848 31.592 7739
+-108.722 31.592 7623
+-108.596 31.592 7490
+-108.47 31.592 7332
+-108.344 31.592 7203
+-108.218 31.592 7101
+-108.092 31.592 6967
+-107.966 31.592 6838
+-107.84 31.592 6716
+-107.714 31.592 6591
+-107.588 31.592 6441
+-107.462 31.592 6234
+-107.336 31.592 6092
+-107.21 31.592 6051
+-107.084 31.592 5900
+-106.958 31.592 5752
+-106.832 31.592 5608
+-106.706 31.592 5446
+-106.58 31.592 5428
+-106.454 31.592 5280
+-106.328 31.592 5103
+-106.202 31.592 4904
+-106.076 31.592 4765
+-105.95 31.592 4733
+-105.824 31.592 4666
+-105.698 31.592 4656
+-105.572 31.592 4613
+-105.446 31.592 4581
+-105.32 31.592 4545
+-105.194 31.592 4496
+-105.068 31.592 4400
+-104.942 31.592 4293
+-104.816 31.592 4215
+-104.69 31.592 4160
+-104.564 31.592 4040
+-104.438 31.592 3921
+-104.312 31.592 3843
+-104.186 31.592 3762
+-104.06 31.592 3647
+-103.934 31.592 3528
+-103.808 31.592 3446
+-103.682 31.592 3363
+-103.556 31.592 3351
+-103.43 31.592 3353
+-103.304 31.592 3345
+-103.178 31.592 3322
+-103.052 31.592 3283
+-102.926 31.592 3300
+-102.8 31.592 3317
+-102.674 31.592 3333
+-102.548 31.592 3348
+-102.422 31.592 3361
+-102.296 31.592 3374
+-102.17 31.592 3385
+-102.044 31.592 3396
+-101.918 31.592 3321
+-101.792 31.592 3206
+-101.666 31.592 3197
+-101.54 31.592 3201
+-101.414 31.592 3204
+-101.288 31.592 3207
+-101.162 31.592 3084
+-101.036 31.592 3086
+-100.91 31.592 3072
+-100.784 31.592 3015
+-100.658 31.592 2984
+-100.532 31.592 2986
+-100.406 31.592 2988
+-100.28 31.592 2990
+-100.154 31.592 2828
+-100.028 31.592 2812
+-99.902 31.592 2798
+-99.776 31.592 2782
+-99.65 31.592 2765
+-99.524 31.592 2747
+-99.398 31.592 2543
+-99.272 31.592 2435
+-99.146 31.592 2411
+-99.02 31.592 2385
+-98.894 31.592 2354
+-98.768 31.592 2316
+-98.642 31.592 2293
+-98.516 31.592 2278
+-98.39 31.592 2265
+-98.264 31.592 2244
+-98.138 31.592 2221
+-98.012 31.592 2247
+-97.886 31.592 2261
+-97.76 31.592 2228
+-97.634 31.592 2199
+-97.508 31.592 2229
+-97.382 31.592 2182
+-97.256 31.592 2130
+-97.13 31.592 2120
+-97.004 31.592 2039
+-96.878 31.592 1986
+-96.752 31.592 1937
+-96.626 31.592 1848
+-96.5 31.592 1715
+-96.374 31.592 1610
+-96.248 31.592 1525
+-96.122 31.592 1394
+-95.996 31.592 1255
+-95.87 31.592 1110
+-95.744 31.592 952
+-95.618 31.592 796
+-95.492 31.592 654
+-95.366 31.592 534
+-95.24 31.592 458
+-95.114 31.592 437
+-94.988 31.592 484
+-94.862 31.592 602
+-94.736 31.592 778
+-94.61 31.592 1000
+-94.484 31.592 1236
+-94.358 31.592 1468
+-94.232 31.592 1689
+-94.106 31.592 1890
+-93.98 31.592 2079
+-93.854 31.592 2183
+-93.728 31.592 2307
+-93.602 31.592 2411
+-93.476 31.592 2460
+-93.35 31.592 2531
+-93.224 31.592 2590
+-93.098 31.592 2626
+-92.972 31.592 2666
+-92.846 31.592 2695
+-92.72 31.592 2714
+-92.594 31.592 2768
+-92.468 31.592 2783
+-92.342 31.592 2790
+-92.216 31.592 2795
+-92.09 31.592 2787
+-91.964 31.592 2866
+-91.838 31.592 2815
+-91.712 31.592 2802
+-91.586 31.592 2789
+-91.46 31.592 2782
+-91.334 31.592 2778
+-91.208 31.592 2788
+-91.082 31.592 2798
+-90.956 31.592 2808
+-90.83 31.592 2808
+-90.704 31.592 2790
+-90.578 31.592 2757
+-90.452 31.592 2739
+-90.326 31.592 2762
+-90.2 31.592 2823
+-90.074 31.592 2879
+-89.948 31.592 2954
+-89.822 31.592 3000
+-89.696 31.592 3024
+-89.57 31.592 3056
+-89.444 31.592 3091
+-89.318 31.592 3097
+-89.192 31.592 3141
+-89.066 31.592 3150
+-88.94 31.592 3155
+-88.814 31.592 3145
+-88.688 31.592 3141
+-88.562 31.592 3164
+-88.436 31.592 3161
+-88.31 31.592 3110
+-88.184 31.592 3100
+-88.058 31.592 3074
+-87.932 31.592 3058
+-87.806 31.592 3070
+-87.68 31.592 3165
+-87.554 31.592 3246
+-87.428 31.592 3320
+-87.302 31.592 3378
+-87.176 31.592 3459
+-87.05 31.592 3558
+-86.924 31.592 3601
+-86.798 31.592 3617
+-86.672 31.592 3656
+-86.546 31.592 3665
+-86.42 31.592 3743
+-86.294 31.592 3842
+-86.168 31.592 3915
+-86.042 31.592 4024
+-85.916 31.592 4111
+-85.79 31.592 4171
+-85.664 31.592 4219
+-85.538 31.592 4261
+-85.412 31.592 4355
+-85.286 31.592 4471
+-85.16 31.592 4534
+-85.034 31.592 4574
+-84.908 31.592 4629
+-84.782 31.592 4695
+-84.656 31.592 4774
+-84.53 31.592 4855
+-84.404 31.592 4943
+-84.278 31.592 5037
+-84.152 31.592 5092
+-84.026 31.592 5150
+-83.9 31.592 5212
+-83.774 31.592 5223
+-83.648 31.592 5294
+-83.522 31.592 5338
+-83.396 31.592 5360
+-83.27 31.592 5400
+-83.144 31.592 5450
+-83.018 31.592 5468
+-82.892 31.592 5497
+-82.766 31.592 5544
+-82.64 31.592 5549
+-82.514 31.592 5608
+-82.388 31.592 5594
+-82.262 31.592 5636
+-82.136 31.592 5581
+-82.01 31.592 5614
+-81.884 31.592 5591
+-81.758 31.592 5551
+-81.632 31.592 5555
+-81.506 31.592 5539
+-81.38 31.592 5508
+-81.254 31.592 5469
+-81.128 31.592 5420
+-81.002 31.592 5393
+-80.876 31.592 5366
+-80.75 31.592 5315
+-80.624 31.592 5241
+-80.498 31.592 5198
+-80.372 31.592 5126
+-80.246 31.592 5062
+-80.12 31.592 4987
+-79.994 31.592 4916
+-79.868 31.592 4901
+-79.742 31.592 4830
+-79.616 31.592 4755
+-79.49 31.592 4638
+-79.364 31.592 4535
+-79.238 31.592 4483
+-79.112 31.592 4409
+-78.986 31.592 4342
+-78.86 31.592 4232
+-78.734 31.592 4101
+-78.608 31.592 4020
+-78.482 31.592 3942
+-78.356 31.592 3945
+-78.23 31.592 3929
+-78.104 31.592 3838
+-77.978 31.592 3755
+-77.852 31.592 3647
+-77.726 31.592 3514
+-77.6 31.592 3328
+-77.474 31.592 3164
+-77.348 31.592 3030
+-77.222 31.592 2961
+-77.096 31.592 2965
+-76.97 31.592 3001
+-76.844 31.592 3048
+-76.718 31.592 3082
+-76.592 31.592 3113
+-76.466 31.592 3136
+-76.34 31.592 3153
+-76.214 31.592 3167
+-76.088 31.592 3179
+-75.962 31.592 3151
+-75.836 31.592 3159
+-75.71 31.592 3173
+-75.584 31.592 3144
+-75.458 31.592 3138
+-75.332 31.592 3181
+-75.206 31.592 3177
+-75.08 31.592 3169
+-74.954 31.592 3181
+-74.828 31.592 3185
+-74.702 31.592 3204
+-74.576 31.592 3216
+-74.45 31.592 3227
+-74.324 31.592 3237
+-74.198 31.592 3248
+-74.072 31.592 3308
+-73.946 31.592 3320
+-73.82 31.592 3279
+-73.694 31.592 3289
+-73.568 31.592 3299
+-73.442 31.592 3308
+-73.316 31.592 3310
+-73.19 31.592 3293
+-73.064 31.592 3288
+-72.938 31.592 3258
+-72.812 31.592 3265
+-72.686 31.592 3236
+-72.56 31.592 3274
+-72.434 31.592 3281
+-72.308 31.592 3287
+-72.182 31.592 3293
+-72.056 31.592 3299
+-71.93 31.592 3305
+-71.804 31.592 3310
+-71.678 31.592 3289
+-71.552 31.592 3294
+-71.426 31.592 3299
+-71.3 31.592 3276
+-71.174 31.592 3248
+-71.048 31.592 3233
+-70.922 31.592 3237
+-70.796 31.592 3240
+-70.67 31.592 3243
+-70.544 31.592 3246
+-70.418 31.592 3249
+-70.292 31.592 3251
+-70.166 31.592 3176
+-70.04 31.592 3164
+-69.914 31.592 3167
+-69.788 31.592 3170
+-69.662 31.592 3173
+-69.536 31.592 3175
+-69.41 31.592 3178
+-69.284 31.592 3180
+-69.158 31.592 3182
+-69.032 31.592 3185
+-68.906 31.592 3187
+-68.78 31.592 3189
+-68.654 31.592 3191
+-68.528 31.592 3193
+-68.402 31.592 3195
+-68.276 31.592 3196
+-68.15 31.592 3184
+-68.024 31.592 3186
+-67.898 31.592 3188
+-67.772 31.592 3190
+-67.646 31.592 3192
+-67.52 31.592 3149
+-67.394 31.592 3151
+-67.268 31.592 3152
+-67.142 31.592 3153
+-67.016 31.592 3155
+-66.89 31.592 3156
+-66.764 31.592 3157
+-66.638 31.592 3158
+-66.512 31.592 3133
+-66.386 31.592 3120
+-66.26 31.592 3120
+-66.134 31.592 3121
+-66.008 31.592 3122
+-65.882 31.592 3123
+-65.756 31.592 3124
+-65.63 31.592 3124
+-65.504 31.592 3125
+-65.378 31.592 3126
+-65.252 31.592 3127
+-65.126 31.592 3127
+-128 31.54 2604
+-127.874 31.54 2608
+-127.748 31.54 2612
+-127.622 31.54 2616
+-127.496 31.54 2620
+-127.37 31.54 2624
+-127.244 31.54 2629
+-127.118 31.54 2839
+-126.992 31.54 2838
+-126.866 31.54 2907
+-126.74 31.54 2907
+-126.614 31.54 2907
+-126.488 31.54 2907
+-126.362 31.54 2907
+-126.236 31.54 2907
+-126.11 31.54 2908
+-125.984 31.54 2965
+-125.858 31.54 2962
+-125.732 31.54 3023
+-125.606 31.54 3017
+-125.48 31.54 3096
+-125.354 31.54 3091
+-125.228 31.54 3085
+-125.102 31.54 3080
+-124.976 31.54 3092
+-124.85 31.54 3102
+-124.724 31.54 3097
+-124.598 31.54 3109
+-124.472 31.54 3101
+-124.346 31.54 3098
+-124.22 31.54 3096
+-124.094 31.54 3075
+-123.968 31.54 3044
+-123.842 31.54 3031
+-123.716 31.54 2964
+-123.59 31.54 2877
+-123.464 31.54 2764
+-123.338 31.54 2699
+-123.212 31.54 2819
+-123.086 31.54 3030
+-122.96 31.54 3203
+-122.834 31.54 3331
+-122.708 31.54 3451
+-122.582 31.54 3609
+-122.456 31.54 3718
+-122.33 31.54 3811
+-122.204 31.54 3925
+-122.078 31.54 4039
+-121.952 31.54 4145
+-121.826 31.54 4321
+-121.7 31.54 4462
+-121.574 31.54 4625
+-121.448 31.54 4755
+-121.322 31.54 4871
+-121.196 31.54 4894
+-121.07 31.54 5073
+-120.944 31.54 5240
+-120.818 31.54 5381
+-120.692 31.54 5406
+-120.566 31.54 5572
+-120.44 31.54 5740
+-120.314 31.54 5878
+-120.188 31.54 5928
+-120.062 31.54 6053
+-119.936 31.54 6190
+-119.81 31.54 6327
+-119.684 31.54 6449
+-119.558 31.54 6581
+-119.432 31.54 6716
+-119.306 31.54 6826
+-119.18 31.54 6907
+-119.054 31.54 7085
+-118.928 31.54 7114
+-118.802 31.54 7271
+-118.676 31.54 7432
+-118.55 31.54 7536
+-118.424 31.54 7574
+-118.298 31.54 7719
+-118.172 31.54 7819
+-118.046 31.54 7927
+-117.92 31.54 7996
+-117.794 31.54 8084
+-117.668 31.54 8143
+-117.542 31.54 8196
+-117.416 31.54 8238
+-117.29 31.54 8265
+-117.164 31.54 8287
+-117.038 31.54 8301
+-116.912 31.54 8300
+-116.786 31.54 8285
+-116.66 31.54 8230
+-116.534 31.54 8194
+-116.408 31.54 8136
+-116.282 31.54 8080
+-116.156 31.54 8003
+-116.03 31.54 7900
+-115.904 31.54 7850
+-115.778 31.54 7738
+-115.652 31.54 7639
+-115.526 31.54 7508
+-115.4 31.54 7418
+-115.274 31.54 7299
+-115.148 31.54 7147
+-115.022 31.54 7059
+-114.896 31.54 6944
+-114.77 31.54 6855
+-114.644 31.54 6726
+-114.518 31.54 6557
+-114.392 31.54 6500
+-114.266 31.54 6338
+-114.14 31.54 6236
+-114.014 31.54 6076
+-113.888 31.54 5877
+-113.762 31.54 5944
+-113.636 31.54 5940
+-113.51 31.54 6086
+-113.384 31.54 6278
+-113.258 31.54 6364
+-113.132 31.54 6503
+-113.006 31.54 6612
+-112.88 31.54 6808
+-112.754 31.54 6945
+-112.628 31.54 7055
+-112.502 31.54 7216
+-112.376 31.54 7371
+-112.25 31.54 7463
+-112.124 31.54 7622
+-111.998 31.54 7764
+-111.872 31.54 7929
+-111.746 31.54 8052
+-111.62 31.54 8155
+-111.494 31.54 8258
+-111.368 31.54 8361
+-111.242 31.54 8540
+-111.116 31.54 8672
+-110.99 31.54 8784
+-110.864 31.54 8965
+-110.738 31.54 9068
+-110.612 31.54 9254
+-110.486 31.54 9348
+-110.36 31.54 9302
+-110.234 31.54 9300
+-110.108 31.54 9104
+-109.982 31.54 9009
+-109.856 31.54 8857
+-109.73 31.54 8743
+-109.604 31.54 8627
+-109.478 31.54 8487
+-109.352 31.54 8360
+-109.226 31.54 8143
+-109.1 31.54 8107
+-108.974 31.54 7895
+-108.848 31.54 7761
+-108.722 31.54 7620
+-108.596 31.54 7455
+-108.47 31.54 7388
+-108.344 31.54 7288
+-108.218 31.54 7087
+-108.092 31.54 6963
+-107.966 31.54 6869
+-107.84 31.54 6750
+-107.714 31.54 6570
+-107.588 31.54 6425
+-107.462 31.54 6276
+-107.336 31.54 6128
+-107.21 31.54 5976
+-107.084 31.54 5912
+-106.958 31.54 5761
+-106.832 31.54 5663
+-106.706 31.54 5517
+-106.58 31.54 5386
+-106.454 31.54 5234
+-106.328 31.54 5083
+-106.202 31.54 4938
+-106.076 31.54 4810
+-105.95 31.54 4670
+-105.824 31.54 4713
+-105.698 31.54 4663
+-105.572 31.54 4588
+-105.446 31.54 4532
+-105.32 31.54 4503
+-105.194 31.54 4491
+-105.068 31.54 4353
+-104.942 31.54 4289
+-104.816 31.54 4227
+-104.69 31.54 4091
+-104.564 31.54 4012
+-104.438 31.54 3908
+-104.312 31.54 3776
+-104.186 31.54 3637
+-104.06 31.54 3482
+-103.934 31.54 3376
+-103.808 31.54 3309
+-103.682 31.54 3235
+-103.556 31.54 3234
+-103.43 31.54 3251
+-103.304 31.54 3230
+-103.178 31.54 3219
+-103.052 31.54 3226
+-102.926 31.54 3251
+-102.8 31.54 3274
+-102.674 31.54 3296
+-102.548 31.54 3315
+-102.422 31.54 3332
+-102.296 31.54 3348
+-102.17 31.54 3362
+-102.044 31.54 3291
+-101.918 31.54 3299
+-101.792 31.54 3176
+-101.666 31.54 3181
+-101.54 31.54 3186
+-101.414 31.54 3191
+-101.288 31.54 3195
+-101.162 31.54 3198
+-101.036 31.54 3059
+-100.91 31.54 3061
+-100.784 31.54 3064
+-100.658 31.54 3008
+-100.532 31.54 2978
+-100.406 31.54 2980
+-100.28 31.54 2983
+-100.154 31.54 2822
+-100.028 31.54 2810
+-99.902 31.54 2796
+-99.776 31.54 2781
+-99.65 31.54 2764
+-99.524 31.54 2745
+-99.398 31.54 2540
+-99.272 31.54 2515
+-99.146 31.54 2423
+-99.02 31.54 2382
+-98.894 31.54 2351
+-98.768 31.54 2310
+-98.642 31.54 2287
+-98.516 31.54 2267
+-98.39 31.54 2253
+-98.264 31.54 2231
+-98.138 31.54 2206
+-98.012 31.54 2231
+-97.886 31.54 2201
+-97.76 31.54 2215
+-97.634 31.54 2177
+-97.508 31.54 2135
+-97.382 31.54 2158
+-97.256 31.54 2152
+-97.13 31.54 2073
+-97.004 31.54 2025
+-96.878 31.54 1982
+-96.752 31.54 1896
+-96.626 31.54 1766
+-96.5 31.54 1667
+-96.374 31.54 1589
+-96.248 31.54 1461
+-96.122 31.54 1324
+-95.996 31.54 1179
+-95.87 31.54 1013
+-95.744 31.54 840
+-95.618 31.54 670
+-95.492 31.54 508
+-95.366 31.54 373
+-95.24 31.54 281
+-95.114 31.54 250
+-94.988 31.54 297
+-94.862 31.54 419
+-94.736 31.54 611
+-94.61 31.54 846
+-94.484 31.54 1100
+-94.358 31.54 1356
+-94.232 31.54 1599
+-94.106 31.54 1826
+-93.98 31.54 1977
+-93.854 31.54 2134
+-93.728 31.54 2268
+-93.602 31.54 2342
+-93.476 31.54 2434
+-93.35 31.54 2509
+-93.224 31.54 2559
+-93.098 31.54 2609
+-92.972 31.54 2647
+-92.846 31.54 2673
+-92.72 31.54 2734
+-92.594 31.54 2752
+-92.468 31.54 2762
+-92.342 31.54 2768
+-92.216 31.54 2758
+-92.09 31.54 2752
+-91.964 31.54 2705
+-91.838 31.54 2769
+-91.712 31.54 2742
+-91.586 31.54 2720
+-91.46 31.54 2700
+-91.334 31.54 2693
+-91.208 31.54 2702
+-91.082 31.54 2722
+-90.956 31.54 2748
+-90.83 31.54 2768
+-90.704 31.54 2770
+-90.578 31.54 2761
+-90.452 31.54 2752
+-90.326 31.54 2770
+-90.2 31.54 2813
+-90.074 31.54 2851
+-89.948 31.54 2909
+-89.822 31.54 2935
+-89.696 31.54 2965
+-89.57 31.54 2989
+-89.444 31.54 3008
+-89.318 31.54 3020
+-89.192 31.54 3059
+-89.066 31.54 3069
+-88.94 31.54 3077
+-88.814 31.54 3083
+-88.688 31.54 3082
+-88.562 31.54 3073
+-88.436 31.54 3069
+-88.31 31.54 3060
+-88.184 31.54 2988
+-88.058 31.54 2952
+-87.932 31.54 2932
+-87.806 31.54 2961
+-87.68 31.54 3061
+-87.554 31.54 3175
+-87.428 31.54 3258
+-87.302 31.54 3338
+-87.176 31.54 3456
+-87.05 31.54 3537
+-86.924 31.54 3598
+-86.798 31.54 3602
+-86.672 31.54 3605
+-86.546 31.54 3576
+-86.42 31.54 3661
+-86.294 31.54 3818
+-86.168 31.54 3954
+-86.042 31.54 4069
+-85.916 31.54 4135
+-85.79 31.54 4222
+-85.664 31.54 4238
+-85.538 31.54 4204
+-85.412 31.54 4334
+-85.286 31.54 4485
+-85.16 31.54 4484
+-85.034 31.54 4586
+-84.908 31.54 4611
+-84.782 31.54 4685
+-84.656 31.54 4804
+-84.53 31.54 4898
+-84.404 31.54 4995
+-84.278 31.54 5083
+-84.152 31.54 5126
+-84.026 31.54 5158
+-83.9 31.54 5218
+-83.774 31.54 5276
+-83.648 31.54 5355
+-83.522 31.54 5423
+-83.396 31.54 5464
+-83.27 31.54 5486
+-83.144 31.54 5517
+-83.018 31.54 5534
+-82.892 31.54 5581
+-82.766 31.54 5622
+-82.64 31.54 5629
+-82.514 31.54 5663
+-82.388 31.54 5675
+-82.262 31.54 5672
+-82.136 31.54 5659
+-82.01 31.54 5672
+-81.884 31.54 5659
+-81.758 31.54 5638
+-81.632 31.54 5624
+-81.506 31.54 5608
+-81.38 31.54 5595
+-81.254 31.54 5549
+-81.128 31.54 5498
+-81.002 31.54 5439
+-80.876 31.54 5424
+-80.75 31.54 5363
+-80.624 31.54 5259
+-80.498 31.54 5250
+-80.372 31.54 5185
+-80.246 31.54 5131
+-80.12 31.54 5039
+-79.994 31.54 4960
+-79.868 31.54 4922
+-79.742 31.54 4837
+-79.616 31.54 4821
+-79.49 31.54 4725
+-79.364 31.54 4609
+-79.238 31.54 4509
+-79.112 31.54 4437
+-78.986 31.54 4362
+-78.86 31.54 4249
+-78.734 31.54 4100
+-78.608 31.54 4009
+-78.482 31.54 4016
+-78.356 31.54 4001
+-78.23 31.54 3984
+-78.104 31.54 3901
+-77.978 31.54 3836
+-77.852 31.54 3744
+-77.726 31.54 3596
+-77.6 31.54 3429
+-77.474 31.54 3296
+-77.348 31.54 3185
+-77.222 31.54 3116
+-77.096 31.54 3083
+-76.97 31.54 3088
+-76.844 31.54 3095
+-76.718 31.54 3110
+-76.592 31.54 3122
+-76.466 31.54 3131
+-76.34 31.54 3140
+-76.214 31.54 3149
+-76.088 31.54 3147
+-75.962 31.54 3128
+-75.836 31.54 3143
+-75.71 31.54 3117
+-75.584 31.54 3144
+-75.458 31.54 3157
+-75.332 31.54 3154
+-75.206 31.54 3148
+-75.08 31.54 3161
+-74.954 31.54 3167
+-74.828 31.54 3187
+-74.702 31.54 3200
+-74.576 31.54 3212
+-74.45 31.54 3224
+-74.324 31.54 3235
+-74.198 31.54 3294
+-74.072 31.54 3308
+-73.946 31.54 3269
+-73.82 31.54 3280
+-73.694 31.54 3291
+-73.568 31.54 3300
+-73.442 31.54 3302
+-73.316 31.54 3287
+-73.19 31.54 3282
+-73.064 31.54 3253
+-72.938 31.54 3261
+-72.812 31.54 3231
+-72.686 31.54 3270
+-72.56 31.54 3277
+-72.434 31.54 3284
+-72.308 31.54 3290
+-72.182 31.54 3296
+-72.056 31.54 3302
+-71.93 31.54 3307
+-71.804 31.54 3287
+-71.678 31.54 3292
+-71.552 31.54 3297
+-71.426 31.54 3275
+-71.3 31.54 3246
+-71.174 31.54 3232
+-71.048 31.54 3236
+-70.922 31.54 3239
+-70.796 31.54 3242
+-70.67 31.54 3245
+-70.544 31.54 3248
+-70.418 31.54 3251
+-70.292 31.54 3175
+-70.166 31.54 3163
+-70.04 31.54 3166
+-69.914 31.54 3169
+-69.788 31.54 3172
+-69.662 31.54 3175
+-69.536 31.54 3177
+-69.41 31.54 3180
+-69.284 31.54 3182
+-69.158 31.54 3184
+-69.032 31.54 3186
+-68.906 31.54 3189
+-68.78 31.54 3191
+-68.654 31.54 3193
+-68.528 31.54 3194
+-68.402 31.54 3196
+-68.276 31.54 3184
+-68.15 31.54 3186
+-68.024 31.54 3188
+-67.898 31.54 3190
+-67.772 31.54 3192
+-67.646 31.54 3149
+-67.52 31.54 3151
+-67.394 31.54 3152
+-67.268 31.54 3153
+-67.142 31.54 3155
+-67.016 31.54 3156
+-66.89 31.54 3157
+-66.764 31.54 3158
+-66.638 31.54 3133
+-66.512 31.54 3119
+-66.386 31.54 3120
+-66.26 31.54 3121
+-66.134 31.54 3122
+-66.008 31.54 3123
+-65.882 31.54 3124
+-65.756 31.54 3124
+-65.63 31.54 3125
+-65.504 31.54 3126
+-65.378 31.54 3127
+-65.252 31.54 3127
+-65.126 31.54 3035
+-128 31.488 2600
+-127.874 31.488 2603
+-127.748 31.488 2607
+-127.622 31.488 2611
+-127.496 31.488 2615
+-127.37 31.488 2620
+-127.244 31.488 2625
+-127.118 31.488 2630
+-126.992 31.488 2773
+-126.866 31.488 2885
+-126.74 31.488 2885
+-126.614 31.488 2886
+-126.488 31.488 2887
+-126.362 31.488 2887
+-126.236 31.488 2888
+-126.11 31.488 2972
+-125.984 31.488 2970
+-125.858 31.488 3011
+-125.732 31.488 3007
+-125.606 31.488 3003
+-125.48 31.488 3102
+-125.354 31.488 3097
+-125.228 31.488 3092
+-125.102 31.488 3089
+-124.976 31.488 3084
+-124.85 31.488 3107
+-124.724 31.488 3124
+-124.598 31.488 3117
+-124.472 31.488 3113
+-124.346 31.488 3117
+-124.22 31.488 3101
+-124.094 31.488 3079
+-123.968 31.488 3082
+-123.842 31.488 3040
+-123.716 31.488 2990
+-123.59 31.488 2925
+-123.464 31.488 2867
+-123.338 31.488 2815
+-123.212 31.488 2807
+-123.086 31.488 2958
+-122.96 31.488 3139
+-122.834 31.488 3190
+-122.708 31.488 3320
+-122.582 31.488 3507
+-122.456 31.488 3686
+-122.33 31.488 3802
+-122.204 31.488 3930
+-122.078 31.488 4052
+-121.952 31.488 4154
+-121.826 31.488 4318
+-121.7 31.488 4451
+-121.574 31.488 4586
+-121.448 31.488 4730
+-121.322 31.488 4860
+-121.196 31.488 4950
+-121.07 31.488 5053
+-120.944 31.488 5189
+-120.818 31.488 5362
+-120.692 31.488 5480
+-120.566 31.488 5629
+-120.44 31.488 5714
+-120.314 31.488 5841
+-120.188 31.488 5962
+-120.062 31.488 6067
+-119.936 31.488 6176
+-119.81 31.488 6310
+-119.684 31.488 6445
+-119.558 31.488 6572
+-119.432 31.488 6697
+-119.306 31.488 6833
+-119.18 31.488 6971
+-119.054 31.488 7008
+-118.928 31.488 7128
+-118.802 31.488 7213
+-118.676 31.488 7339
+-118.55 31.488 7469
+-118.424 31.488 7562
+-118.298 31.488 7691
+-118.172 31.488 7775
+-118.046 31.488 7855
+-117.92 31.488 7956
+-117.794 31.488 7980
+-117.668 31.488 8109
+-117.542 31.488 8120
+-117.416 31.488 8176
+-117.29 31.488 8210
+-117.164 31.488 8254
+-117.038 31.488 8231
+-116.912 31.488 8228
+-116.786 31.488 8227
+-116.66 31.488 8194
+-116.534 31.488 8150
+-116.408 31.488 8079
+-116.282 31.488 8037
+-116.156 31.488 7987
+-116.03 31.488 7887
+-115.904 31.488 7780
+-115.778 31.488 7693
+-115.652 31.488 7575
+-115.526 31.488 7465
+-115.4 31.488 7380
+-115.274 31.488 7298
+-115.148 31.488 7174
+-115.022 31.488 7084
+-114.896 31.488 6915
+-114.77 31.488 6789
+-114.644 31.488 6667
+-114.518 31.488 6596
+-114.392 31.488 6472
+-114.266 31.488 6300
+-114.14 31.488 6193
+-114.014 31.488 6054
+-113.888 31.488 5985
+-113.762 31.488 5774
+-113.636 31.488 5932
+-113.51 31.488 6098
+-113.384 31.488 6232
+-113.258 31.488 6409
+-113.132 31.488 6456
+-113.006 31.488 6643
+-112.88 31.488 6838
+-112.754 31.488 6954
+-112.628 31.488 7043
+-112.502 31.488 7145
+-112.376 31.488 7316
+-112.25 31.488 7491
+-112.124 31.488 7639
+-111.998 31.488 7722
+-111.872 31.488 7938
+-111.746 31.488 8063
+-111.62 31.488 8144
+-111.494 31.488 8328
+-111.368 31.488 8399
+-111.242 31.488 8575
+-111.116 31.488 8687
+-110.99 31.488 8789
+-110.864 31.488 8945
+-110.738 31.488 9092
+-110.612 31.488 9194
+-110.486 31.488 9257
+-110.36 31.488 9350
+-110.234 31.488 9260
+-110.108 31.488 9119
+-109.982 31.488 9002
+-109.856 31.488 8908
+-109.73 31.488 8730
+-109.604 31.488 8662
+-109.478 31.488 8486
+-109.352 31.488 8315
+-109.226 31.488 8216
+-109.1 31.488 8064
+-108.974 31.488 7879
+-108.848 31.488 7732
+-108.722 31.488 7628
+-108.596 31.488 7475
+-108.47 31.488 7402
+-108.344 31.488 7243
+-108.218 31.488 7119
+-108.092 31.488 7008
+-107.966 31.488 6874
+-107.84 31.488 6730
+-107.714 31.488 6574
+-107.588 31.488 6424
+-107.462 31.488 6302
+-107.336 31.488 6174
+-107.21 31.488 6033
+-107.084 31.488 5927
+-106.958 31.488 5811
+-106.832 31.488 5682
+-106.706 31.488 5522
+-106.58 31.488 5330
+-106.454 31.488 5190
+-106.328 31.488 5051
+-106.202 31.488 4941
+-106.076 31.488 4887
+-105.95 31.488 4775
+-105.824 31.488 4727
+-105.698 31.488 4647
+-105.572 31.488 4548
+-105.446 31.488 4444
+-105.32 31.488 4425
+-105.194 31.488 4439
+-105.068 31.488 4323
+-104.942 31.488 4240
+-104.816 31.488 4172
+-104.69 31.488 4072
+-104.564 31.488 3980
+-104.438 31.488 3819
+-104.312 31.488 3647
+-104.186 31.488 3486
+-104.06 31.488 3312
+-103.934 31.488 3210
+-103.808 31.488 3146
+-103.682 31.488 3127
+-103.556 31.488 3099
+-103.43 31.488 3096
+-103.304 31.488 3105
+-103.178 31.488 3147
+-103.052 31.488 3187
+-102.926 31.488 3203
+-102.8 31.488 3233
+-102.674 31.488 3260
+-102.548 31.488 3283
+-102.422 31.488 3304
+-102.296 31.488 3323
+-102.17 31.488 3254
+-102.044 31.488 3265
+-101.918 31.488 3274
+-101.792 31.488 3283
+-101.666 31.488 3166
+-101.54 31.488 3172
+-101.414 31.488 3177
+-101.288 31.488 3182
+-101.162 31.488 3186
+-101.036 31.488 3059
+-100.91 31.488 3043
+-100.784 31.488 3046
+-100.658 31.488 3048
+-100.532 31.488 3002
+-100.406 31.488 2973
+-100.28 31.488 2975
+-100.154 31.488 2816
+-100.028 31.488 2804
+-99.902 31.488 2791
+-99.776 31.488 2776
+-99.65 31.488 2759
+-99.524 31.488 2741
+-99.398 31.488 2536
+-99.272 31.488 2431
+-99.146 31.488 2406
+-99.02 31.488 2380
+-98.894 31.488 2348
+-98.768 31.488 2304
+-98.642 31.488 2281
+-98.516 31.488 2258
+-98.39 31.488 2241
+-98.264 31.488 2218
+-98.138 31.488 2169
+-98.012 31.488 2142
+-97.886 31.488 2185
+-97.76 31.488 2197
+-97.634 31.488 2158
+-97.508 31.488 2166
+-97.382 31.488 2187
+-97.256 31.488 2111
+-97.13 31.488 2068
+-97.004 31.488 2032
+-96.878 31.488 1951
+-96.752 31.488 1824
+-96.626 31.488 1732
+-96.5 31.488 1666
+-96.374 31.488 1546
+-96.248 31.488 1417
+-96.122 31.488 1280
+-95.996 31.488 1119
+-95.87 31.488 946
+-95.744 31.488 767
+-95.618 31.488 584
+-95.492 31.488 415
+-95.366 31.488 268
+-95.24 31.488 168
+-95.114 31.488 132
+-94.988 31.488 175
+-94.862 31.488 300
+-94.736 31.488 496
+-94.61 31.488 739
+-94.484 31.488 1006
+-94.358 31.488 1277
+-94.232 31.488 1537
+-94.106 31.488 1735
+-93.98 31.488 1928
+-93.854 31.488 2095
+-93.728 31.488 2201
+-93.602 31.488 2315
+-93.476 31.488 2410
+-93.35 31.488 2477
+-93.224 31.488 2541
+-93.098 31.488 2589
+-92.972 31.488 2624
+-92.846 31.488 2693
+-92.72 31.488 2718
+-92.594 31.488 2732
+-92.468 31.488 2741
+-92.342 31.488 2733
+-92.216 31.488 2726
+-92.09 31.488 2719
+-91.964 31.488 2665
+-91.838 31.488 2713
+-91.712 31.488 2676
+-91.586 31.488 2636
+-91.46 31.488 2602
+-91.334 31.488 2565
+-91.208 31.488 2569
+-91.082 31.488 2620
+-90.956 31.488 2666
+-90.83 31.488 2709
+-90.704 31.488 2744
+-90.578 31.488 2754
+-90.452 31.488 2765
+-90.326 31.488 2781
+-90.2 31.488 2797
+-90.074 31.488 2823
+-89.948 31.488 2858
+-89.822 31.488 2880
+-89.696 31.488 2882
+-89.57 31.488 2898
+-89.444 31.488 2915
+-89.318 31.488 2932
+-89.192 31.488 2972
+-89.066 31.488 2985
+-88.94 31.488 2994
+-88.814 31.488 3000
+-88.688 31.488 3000
+-88.562 31.488 2992
+-88.436 31.488 2990
+-88.31 31.488 2958
+-88.184 31.488 2911
+-88.058 31.488 2829
+-87.932 31.488 2796
+-87.806 31.488 2845
+-87.68 31.488 2969
+-87.554 31.488 3116
+-87.428 31.488 3231
+-87.302 31.488 3324
+-87.176 31.488 3451
+-87.05 31.488 3537
+-86.924 31.488 3600
+-86.798 31.488 3610
+-86.672 31.488 3568
+-86.546 31.488 3500
+-86.42 31.488 3607
+-86.294 31.488 3797
+-86.168 31.488 3951
+-86.042 31.488 4096
+-85.916 31.488 4168
+-85.79 31.488 4221
+-85.664 31.488 4280
+-85.538 31.488 4302
+-85.412 31.488 4411
+-85.286 31.488 4521
+-85.16 31.488 4558
+-85.034 31.488 4620
+-84.908 31.488 4666
+-84.782 31.488 4758
+-84.656 31.488 4863
+-84.53 31.488 4952
+-84.404 31.488 5025
+-84.278 31.488 5093
+-84.152 31.488 5146
+-84.026 31.488 5204
+-83.9 31.488 5301
+-83.774 31.488 5372
+-83.648 31.488 5423
+-83.522 31.488 5493
+-83.396 31.488 5536
+-83.27 31.488 5560
+-83.144 31.488 5600
+-83.018 31.488 5642
+-82.892 31.488 5663
+-82.766 31.488 5653
+-82.64 31.488 5680
+-82.514 31.488 5687
+-82.388 31.488 5729
+-82.262 31.488 5706
+-82.136 31.488 5704
+-82.01 31.488 5704
+-81.884 31.488 5710
+-81.758 31.488 5690
+-81.632 31.488 5657
+-81.506 31.488 5634
+-81.38 31.488 5631
+-81.254 31.488 5614
+-81.128 31.488 5547
+-81.002 31.488 5497
+-80.876 31.488 5447
+-80.75 31.488 5400
+-80.624 31.488 5351
+-80.498 31.488 5288
+-80.372 31.488 5179
+-80.246 31.488 5164
+-80.12 31.488 5132
+-79.994 31.488 5034
+-79.868 31.488 4970
+-79.742 31.488 4896
+-79.616 31.488 4862
+-79.49 31.488 4781
+-79.364 31.488 4650
+-79.238 31.488 4521
+-79.112 31.488 4438
+-78.986 31.488 4389
+-78.86 31.488 4330
+-78.734 31.488 4185
+-78.608 31.488 4085
+-78.482 31.488 4045
+-78.356 31.488 4018
+-78.23 31.488 4001
+-78.104 31.488 3963
+-77.978 31.488 3883
+-77.852 31.488 3798
+-77.726 31.488 3665
+-77.6 31.488 3549
+-77.474 31.488 3408
+-77.348 31.488 3309
+-77.222 31.488 3224
+-77.096 31.488 3181
+-76.97 31.488 3147
+-76.844 31.488 3133
+-76.718 31.488 3123
+-76.592 31.488 3116
+-76.466 31.488 3113
+-76.34 31.488 3115
+-76.214 31.488 3110
+-76.088 31.488 3123
+-75.962 31.488 3104
+-75.836 31.488 3113
+-75.71 31.488 3113
+-75.584 31.488 3127
+-75.458 31.488 3127
+-75.332 31.488 3123
+-75.206 31.488 3139
+-75.08 31.488 3146
+-74.954 31.488 3167
+-74.828 31.488 3182
+-74.702 31.488 3196
+-74.576 31.488 3209
+-74.45 31.488 3222
+-74.324 31.488 3280
+-74.198 31.488 3295
+-74.072 31.488 3258
+-73.946 31.488 3270
+-73.82 31.488 3281
+-73.694 31.488 3292
+-73.568 31.488 3294
+-73.442 31.488 3280
+-73.316 31.488 3276
+-73.19 31.488 3248
+-73.064 31.488 3256
+-72.938 31.488 3227
+-72.812 31.488 3265
+-72.686 31.488 3273
+-72.56 31.488 3280
+-72.434 31.488 3287
+-72.308 31.488 3293
+-72.182 31.488 3299
+-72.056 31.488 3305
+-71.93 31.488 3285
+-71.804 31.488 3290
+-71.678 31.488 3295
+-71.552 31.488 3273
+-71.426 31.488 3245
+-71.3 31.488 3231
+-71.174 31.488 3234
+-71.048 31.488 3238
+-70.922 31.488 3241
+-70.796 31.488 3244
+-70.67 31.488 3247
+-70.544 31.488 3250
+-70.418 31.488 3174
+-70.292 31.488 3163
+-70.166 31.488 3166
+-70.04 31.488 3169
+-69.914 31.488 3172
+-69.788 31.488 3174
+-69.662 31.488 3177
+-69.536 31.488 3179
+-69.41 31.488 3182
+-69.284 31.488 3184
+-69.158 31.488 3186
+-69.032 31.488 3188
+-68.906 31.488 3190
+-68.78 31.488 3192
+-68.654 31.488 3194
+-68.528 31.488 3196
+-68.402 31.488 3184
+-68.276 31.488 3186
+-68.15 31.488 3188
+-68.024 31.488 3190
+-67.898 31.488 3192
+-67.772 31.488 3149
+-67.646 31.488 3151
+-67.52 31.488 3152
+-67.394 31.488 3154
+-67.268 31.488 3155
+-67.142 31.488 3156
+-67.016 31.488 3157
+-66.89 31.488 3158
+-66.764 31.488 3133
+-66.638 31.488 3119
+-66.512 31.488 3120
+-66.386 31.488 3121
+-66.26 31.488 3122
+-66.134 31.488 3123
+-66.008 31.488 3124
+-65.882 31.488 3124
+-65.756 31.488 3125
+-65.63 31.488 3126
+-65.504 31.488 3127
+-65.378 31.488 3127
+-65.252 31.488 3035
+-65.126 31.488 3036
+-128 31.436 2595
+-127.874 31.436 2598
+-127.748 31.436 2602
+-127.622 31.436 2606
+-127.496 31.436 2610
+-127.37 31.436 2615
+-127.244 31.436 2620
+-127.118 31.436 2625
+-126.992 31.436 2630
+-126.866 31.436 2777
+-126.74 31.436 2891
+-126.614 31.436 2892
+-126.488 31.436 2893
+-126.362 31.436 2894
+-126.236 31.436 2978
+-126.11 31.436 2977
+-125.984 31.436 3019
+-125.858 31.436 3015
+-125.732 31.436 3011
+-125.606 31.436 3007
+-125.48 31.436 3004
+-125.354 31.436 3103
+-125.228 31.436 3100
+-125.102 31.436 3095
+-124.976 31.436 3101
+-124.85 31.436 3095
+-124.724 31.436 3131
+-124.598 31.436 3128
+-124.472 31.436 3136
+-124.346 31.436 3123
+-124.22 31.436 3107
+-124.094 31.436 3118
+-123.968 31.436 3090
+-123.842 31.436 3063
+-123.716 31.436 3016
+-123.59 31.436 2977
+-123.464 31.436 2903
+-123.338 31.436 2792
+-123.212 31.436 2682
+-123.086 31.436 2877
+-122.96 31.436 3104
+-122.834 31.436 3091
+-122.708 31.436 3228
+-122.582 31.436 3464
+-122.456 31.436 3634
+-122.33 31.436 3781
+-122.204 31.436 3894
+-122.078 31.436 4020
+-121.952 31.436 4159
+-121.826 31.436 4324
+-121.7 31.436 4387
+-121.574 31.436 4520
+-121.448 31.436 4689
+-121.322 31.436 4828
+-121.196 31.436 4937
+-121.07 31.436 4994
+-120.944 31.436 5150
+-120.818 31.436 5314
+-120.692 31.436 5487
+-120.566 31.436 5629
+-120.44 31.436 5707
+-120.314 31.436 5821
+-120.188 31.436 5944
+-120.062 31.436 6065
+-119.936 31.436 6097
+-119.81 31.436 6288
+-119.684 31.436 6442
+-119.558 31.436 6531
+-119.432 31.436 6639
+-119.306 31.436 6747
+-119.18 31.436 6889
+-119.054 31.436 6966
+-118.928 31.436 7111
+-118.802 31.436 7177
+-118.676 31.436 7368
+-118.55 31.436 7421
+-118.424 31.436 7532
+-118.298 31.436 7648
+-118.172 31.436 7782
+-118.046 31.436 7775
+-117.92 31.436 7899
+-117.794 31.436 7955
+-117.668 31.436 8054
+-117.542 31.436 8086
+-117.416 31.436 8094
+-117.29 31.436 8140
+-117.164 31.436 8165
+-117.038 31.436 8176
+-116.912 31.436 8171
+-116.786 31.436 8169
+-116.66 31.436 8124
+-116.534 31.436 8082
+-116.408 31.436 8053
+-116.282 31.436 8006
+-116.156 31.436 7896
+-116.03 31.436 7850
+-115.904 31.436 7733
+-115.778 31.436 7686
+-115.652 31.436 7598
+-115.526 31.436 7458
+-115.4 31.436 7331
+-115.274 31.436 7242
+-115.148 31.436 7157
+-115.022 31.436 7015
+-114.896 31.436 6927
+-114.77 31.436 6756
+-114.644 31.436 6694
+-114.518 31.436 6556
+-114.392 31.436 6437
+-114.266 31.436 6299
+-114.14 31.436 6181
+-114.014 31.436 6003
+-113.888 31.436 5897
+-113.762 31.436 5936
+-113.636 31.436 5942
+-113.51 31.436 6085
+-113.384 31.436 6206
+-113.258 31.436 6332
+-113.132 31.436 6532
+-113.006 31.436 6660
+-112.88 31.436 6843
+-112.754 31.436 6949
+-112.628 31.436 7049
+-112.502 31.436 7189
+-112.376 31.436 7294
+-112.25 31.436 7519
+-112.124 31.436 7608
+-111.998 31.436 7738
+-111.872 31.436 7886
+-111.746 31.436 7996
+-111.62 31.436 8179
+-111.494 31.436 8285
+-111.368 31.436 8464
+-111.242 31.436 8520
+-111.116 31.436 8681
+-110.99 31.436 8821
+-110.864 31.436 8972
+-110.738 31.436 9046
+-110.612 31.436 9164
+-110.486 31.436 9266
+-110.36 31.436 9262
+-110.234 31.436 9232
+-110.108 31.436 9100
+-109.982 31.436 8943
+-109.856 31.436 8865
+-109.73 31.436 8741
+-109.604 31.436 8609
+-109.478 31.436 8398
+-109.352 31.436 8280
+-109.226 31.436 8156
+-109.1 31.436 8027
+-108.974 31.436 7917
+-108.848 31.436 7753
+-108.722 31.436 7647
+-108.596 31.436 7544
+-108.47 31.436 7429
+-108.344 31.436 7231
+-108.218 31.436 7128
+-108.092 31.436 6992
+-107.966 31.436 6811
+-107.84 31.436 6645
+-107.714 31.436 6566
+-107.588 31.436 6416
+-107.462 31.436 6287
+-107.336 31.436 6204
+-107.21 31.436 6030
+-107.084 31.436 5889
+-106.958 31.436 5820
+-106.832 31.436 5647
+-106.706 31.436 5501
+-106.58 31.436 5275
+-106.454 31.436 5154
+-106.328 31.436 5071
+-106.202 31.436 4979
+-106.076 31.436 4917
+-105.95 31.436 4819
+-105.824 31.436 4728
+-105.698 31.436 4605
+-105.572 31.436 4420
+-105.446 31.436 4275
+-105.32 31.436 4308
+-105.194 31.436 4345
+-105.068 31.436 4250
+-104.942 31.436 4197
+-104.816 31.436 4136
+-104.69 31.436 4053
+-104.564 31.436 3880
+-104.438 31.436 3700
+-104.312 31.436 3515
+-104.186 31.436 3303
+-104.06 31.436 3146
+-103.934 31.436 3015
+-103.808 31.436 2942
+-103.682 31.436 2912
+-103.556 31.436 2927
+-103.43 31.436 2984
+-103.304 31.436 3050
+-103.178 31.436 3078
+-103.052 31.436 3130
+-102.926 31.436 3175
+-102.8 31.436 3194
+-102.674 31.436 3226
+-102.548 31.436 3254
+-102.422 31.436 3278
+-102.296 31.436 3218
+-102.17 31.436 3232
+-102.044 31.436 3244
+-101.918 31.436 3255
+-101.792 31.436 3265
+-101.666 31.436 3273
+-101.54 31.436 3158
+-101.414 31.436 3164
+-101.288 31.436 3170
+-101.162 31.436 3175
+-101.036 31.436 3179
+-100.91 31.436 3052
+-100.784 31.436 3037
+-100.658 31.436 3039
+-100.532 31.436 3042
+-100.406 31.436 2997
+-100.28 31.436 2968
+-100.154 31.436 2810
+-100.028 31.436 2799
+-99.902 31.436 2786
+-99.776 31.436 2771
+-99.65 31.436 2755
+-99.524 31.436 2736
+-99.398 31.436 2533
+-99.272 31.436 2509
+-99.146 31.436 2405
+-99.02 31.436 2378
+-98.894 31.436 2359
+-98.768 31.436 2299
+-98.642 31.436 2299
+-98.516 31.436 2255
+-98.39 31.436 2231
+-98.264 31.436 2183
+-98.138 31.436 2192
+-98.012 31.436 2164
+-97.886 31.436 2225
+-97.76 31.436 2136
+-97.634 31.436 2195
+-97.508 31.436 2150
+-97.382 31.436 2081
+-97.256 31.436 2112
+-97.13 31.436 2085
+-97.004 31.436 2008
+-96.878 31.436 1886
+-96.752 31.436 1802
+-96.626 31.436 1748
+-96.5 31.436 1640
+-96.374 31.436 1521
+-96.248 31.436 1398
+-96.122 31.436 1248
+-95.996 31.436 1086
+-95.87 31.436 914
+-95.744 31.436 730
+-95.618 31.436 550
+-95.492 31.436 377
+-95.366 31.436 230
+-95.24 31.436 129
+-95.114 31.436 92
+-94.988 31.436 133
+-94.862 31.436 255
+-94.736 31.436 448
+-94.61 31.436 691
+-94.484 31.436 963
+-94.358 31.436 1238
+-94.232 31.436 1472
+-94.106 31.436 1697
+-93.98 31.436 1896
+-93.854 31.436 2035
+-93.728 31.436 2176
+-93.602 31.436 2293
+-93.476 31.436 2380
+-93.35 31.436 2459
+-93.224 31.436 2520
+-93.098 31.436 2567
+-92.972 31.436 2645
+-92.846 31.436 2678
+-92.72 31.436 2699
+-92.594 31.436 2712
+-92.468 31.436 2708
+-92.342 31.436 2705
+-92.216 31.436 2700
+-92.09 31.436 2645
+-91.964 31.436 2620
+-91.838 31.436 2659
+-91.712 31.436 2604
+-91.586 31.436 2546
+-91.46 31.436 2474
+-91.334 31.436 2435
+-91.208 31.436 2432
+-91.082 31.436 2485
+-90.956 31.436 2554
+-90.83 31.436 2611
+-90.704 31.436 2687
+-90.578 31.436 2728
+-90.452 31.436 2752
+-90.326 31.436 2761
+-90.2 31.436 2775
+-90.074 31.436 2788
+-89.948 31.436 2809
+-89.822 31.436 2803
+-89.696 31.436 2809
+-89.57 31.436 2819
+-89.444 31.436 2832
+-89.318 31.436 2851
+-89.192 31.436 2871
+-89.066 31.436 2910
+-88.94 31.436 2923
+-88.814 31.436 2931
+-88.688 31.436 2935
+-88.562 31.436 2928
+-88.436 31.436 2935
+-88.31 31.436 2911
+-88.184 31.436 2855
+-88.058 31.436 2783
+-87.932 31.436 2742
+-87.806 31.436 2794
+-87.68 31.436 2932
+-87.554 31.436 3078
+-87.428 31.436 3189
+-87.302 31.436 3345
+-87.176 31.436 3416
+-87.05 31.436 3549
+-86.924 31.436 3618
+-86.798 31.436 3644
+-86.672 31.436 3627
+-86.546 31.436 3599
+-86.42 31.436 3687
+-86.294 31.436 3823
+-86.168 31.436 3967
+-86.042 31.436 4101
+-85.916 31.436 4172
+-85.79 31.436 4237
+-85.664 31.436 4286
+-85.538 31.436 4360
+-85.412 31.436 4496
+-85.286 31.436 4580
+-85.16 31.436 4649
+-85.034 31.436 4712
+-84.908 31.436 4761
+-84.782 31.436 4875
+-84.656 31.436 4956
+-84.53 31.436 5007
+-84.404 31.436 5070
+-84.278 31.436 5155
+-84.152 31.436 5232
+-84.026 31.436 5301
+-83.9 31.436 5370
+-83.774 31.436 5408
+-83.648 31.436 5453
+-83.522 31.436 5543
+-83.396 31.436 5581
+-83.27 31.436 5642
+-83.144 31.436 5676
+-83.018 31.436 5702
+-82.892 31.436 5702
+-82.766 31.436 5703
+-82.64 31.436 5723
+-82.514 31.436 5732
+-82.388 31.436 5758
+-82.262 31.436 5760
+-82.136 31.436 5749
+-82.01 31.436 5749
+-81.884 31.436 5746
+-81.758 31.436 5738
+-81.632 31.436 5717
+-81.506 31.436 5685
+-81.38 31.436 5672
+-81.254 31.436 5655
+-81.128 31.436 5603
+-81.002 31.436 5533
+-80.876 31.436 5492
+-80.75 31.436 5464
+-80.624 31.436 5405
+-80.498 31.436 5363
+-80.372 31.436 5277
+-80.246 31.436 5200
+-80.12 31.436 5132
+-79.994 31.436 5055
+-79.868 31.436 4952
+-79.742 31.436 4949
+-79.616 31.436 4906
+-79.49 31.436 4805
+-79.364 31.436 4693
+-79.238 31.436 4528
+-79.112 31.436 4437
+-78.986 31.436 4398
+-78.86 31.436 4365
+-78.734 31.436 4269
+-78.608 31.436 4160
+-78.482 31.436 4054
+-78.356 31.436 3978
+-78.23 31.436 3988
+-78.104 31.436 3974
+-77.978 31.436 3927
+-77.852 31.436 3853
+-77.726 31.436 3728
+-77.6 31.436 3625
+-77.474 31.436 3517
+-77.348 31.436 3405
+-77.222 31.436 3298
+-77.096 31.436 3228
+-76.97 31.436 3180
+-76.844 31.436 3140
+-76.718 31.436 3113
+-76.592 31.436 3090
+-76.466 31.436 3080
+-76.34 31.436 3063
+-76.214 31.436 3074
+-76.088 31.436 3060
+-75.962 31.436 3071
+-75.836 31.436 3074
+-75.71 31.436 3092
+-75.584 31.436 3095
+-75.458 31.436 3094
+-75.332 31.436 3112
+-75.206 31.436 3122
+-75.08 31.436 3145
+-74.954 31.436 3162
+-74.828 31.436 3177
+-74.702 31.436 3192
+-74.576 31.436 3206
+-74.45 31.436 3264
+-74.324 31.436 3280
+-74.198 31.436 3246
+-74.072 31.436 3259
+-73.946 31.436 3272
+-73.82 31.436 3283
+-73.694 31.436 3286
+-73.568 31.436 3273
+-73.442 31.436 3269
+-73.316 31.436 3243
+-73.19 31.436 3251
+-73.064 31.436 3223
+-72.938 31.436 3261
+-72.812 31.436 3269
+-72.686 31.436 3276
+-72.56 31.436 3283
+-72.434 31.436 3290
+-72.308 31.436 3296
+-72.182 31.436 3302
+-72.056 31.436 3282
+-71.93 31.436 3288
+-71.804 31.436 3293
+-71.678 31.436 3271
+-71.552 31.436 3243
+-71.426 31.436 3230
+-71.3 31.436 3233
+-71.174 31.436 3237
+-71.048 31.436 3240
+-70.922 31.436 3243
+-70.796 31.436 3246
+-70.67 31.436 3249
+-70.544 31.436 3173
+-70.418 31.436 3162
+-70.292 31.436 3165
+-70.166 31.436 3168
+-70.04 31.436 3171
+-69.914 31.436 3174
+-69.788 31.436 3177
+-69.662 31.436 3179
+-69.536 31.436 3182
+-69.41 31.436 3184
+-69.284 31.436 3186
+-69.158 31.436 3188
+-69.032 31.436 3190
+-68.906 31.436 3192
+-68.78 31.436 3194
+-68.654 31.436 3196
+-68.528 31.436 3184
+-68.402 31.436 3186
+-68.276 31.436 3188
+-68.15 31.436 3190
+-68.024 31.436 3192
+-67.898 31.436 3150
+-67.772 31.436 3151
+-67.646 31.436 3153
+-67.52 31.436 3154
+-67.394 31.436 3155
+-67.268 31.436 3156
+-67.142 31.436 3157
+-67.016 31.436 3158
+-66.89 31.436 3133
+-66.764 31.436 3119
+-66.638 31.436 3120
+-66.512 31.436 3121
+-66.386 31.436 3122
+-66.26 31.436 3123
+-66.134 31.436 3124
+-66.008 31.436 3124
+-65.882 31.436 3125
+-65.756 31.436 3126
+-65.63 31.436 3127
+-65.504 31.436 3127
+-65.378 31.436 3035
+-65.252 31.436 3036
+-65.126 31.436 3037
+-128 31.384 2589
+-127.874 31.384 2592
+-127.748 31.384 2596
+-127.622 31.384 2600
+-127.496 31.384 2604
+-127.37 31.384 2609
+-127.244 31.384 2614
+-127.118 31.384 2619
+-126.992 31.384 2625
+-126.866 31.384 2630
+-126.74 31.384 2780
+-126.614 31.384 2898
+-126.488 31.384 2899
+-126.362 31.384 2984
+-126.236 31.384 2982
+-126.11 31.384 3025
+-125.984 31.384 3022
+-125.858 31.384 3018
+-125.732 31.384 3015
+-125.606 31.384 3011
+-125.48 31.384 3087
+-125.354 31.384 3083
+-125.228 31.384 3079
+-125.102 31.384 3101
+-124.976 31.384 3096
+-124.85 31.384 3125
+-124.724 31.384 3136
+-124.598 31.384 3117
+-124.472 31.384 3123
+-124.346 31.384 3119
+-124.22 31.384 3147
+-124.094 31.384 3127
+-123.968 31.384 3112
+-123.842 31.384 3082
+-123.716 31.384 3066
+-123.59 31.384 3018
+-123.464 31.384 2974
+-123.338 31.384 2877
+-123.212 31.384 2829
+-123.086 31.384 2965
+-122.96 31.384 3129
+-122.834 31.384 3175
+-122.708 31.384 3293
+-122.582 31.384 3487
+-122.456 31.384 3658
+-122.33 31.384 3786
+-122.204 31.384 3842
+-122.078 31.384 3971
+-121.952 31.384 4144
+-121.826 31.384 4320
+-121.7 31.384 4335
+-121.574 31.384 4462
+-121.448 31.384 4661
+-121.322 31.384 4774
+-121.196 31.384 4888
+-121.07 31.384 4905
+-120.944 31.384 5082
+-120.818 31.384 5294
+-120.692 31.384 5463
+-120.566 31.384 5577
+-120.44 31.384 5570
+-120.314 31.384 5742
+-120.188 31.384 5886
+-120.062 31.384 5991
+-119.936 31.384 6148
+-119.81 31.384 6284
+-119.684 31.384 6350
+-119.558 31.384 6514
+-119.432 31.384 6629
+-119.306 31.384 6777
+-119.18 31.384 6898
+-119.054 31.384 6939
+-118.928 31.384 7055
+-118.802 31.384 7163
+-118.676 31.384 7277
+-118.55 31.384 7434
+-118.424 31.384 7475
+-118.298 31.384 7599
+-118.172 31.384 7679
+-118.046 31.384 7750
+-117.92 31.384 7837
+-117.794 31.384 7919
+-117.668 31.384 7979
+-117.542 31.384 8032
+-117.416 31.384 8076
+-117.29 31.384 8104
+-117.164 31.384 8122
+-117.038 31.384 8112
+-116.912 31.384 8121
+-116.786 31.384 8101
+-116.66 31.384 8070
+-116.534 31.384 8045
+-116.408 31.384 7992
+-116.282 31.384 7928
+-116.156 31.384 7892
+-116.03 31.384 7791
+-115.904 31.384 7677
+-115.778 31.384 7601
+-115.652 31.384 7503
+-115.526 31.384 7414
+-115.4 31.384 7306
+-115.274 31.384 7217
+-115.148 31.384 7111
+-115.022 31.384 6991
+-114.896 31.384 6851
+-114.77 31.384 6754
+-114.644 31.384 6642
+-114.518 31.384 6526
+-114.392 31.384 6360
+-114.266 31.384 6331
+-114.14 31.384 6154
+-114.014 31.384 6024
+-113.888 31.384 5960
+-113.762 31.384 5935
+-113.636 31.384 6005
+-113.51 31.384 6062
+-113.384 31.384 6216
+-113.258 31.384 6361
+-113.132 31.384 6481
+-113.006 31.384 6667
+-112.88 31.384 6765
+-112.754 31.384 6915
+-112.628 31.384 7104
+-112.502 31.384 7192
+-112.376 31.384 7356
+-112.25 31.384 7463
+-112.124 31.384 7580
+-111.998 31.384 7720
+-111.872 31.384 7850
+-111.746 31.384 8009
+-111.62 31.384 8156
+-111.494 31.384 8265
+-111.368 31.384 8386
+-111.242 31.384 8522
+-111.116 31.384 8628
+-110.99 31.384 8804
+-110.864 31.384 8907
+-110.738 31.384 9010
+-110.612 31.384 9148
+-110.486 31.384 9212
+-110.36 31.384 9208
+-110.234 31.384 9139
+-110.108 31.384 9089
+-109.982 31.384 8961
+-109.856 31.384 8812
+-109.73 31.384 8728
+-109.604 31.384 8521
+-109.478 31.384 8423
+-109.352 31.384 8340
+-109.226 31.384 8174
+-109.1 31.384 8082
+-108.974 31.384 7940
+-108.848 31.384 7843
+-108.722 31.384 7628
+-108.596 31.384 7500
+-108.47 31.384 7382
+-108.344 31.384 7223
+-108.218 31.384 7106
+-108.092 31.384 6975
+-107.966 31.384 6887
+-107.84 31.384 6742
+-107.714 31.384 6606
+-107.588 31.384 6435
+-107.462 31.384 6307
+-107.336 31.384 6223
+-107.21 31.384 6042
+-107.084 31.384 5892
+-106.958 31.384 5757
+-106.832 31.384 5588
+-106.706 31.384 5517
+-106.58 31.384 5292
+-106.454 31.384 5144
+-106.328 31.384 5021
+-106.202 31.384 4981
+-106.076 31.384 4929
+-105.95 31.384 4819
+-105.824 31.384 4698
+-105.698 31.384 4547
+-105.572 31.384 4316
+-105.446 31.384 4105
+-105.32 31.384 4227
+-105.194 31.384 4287
+-105.068 31.384 4238
+-104.942 31.384 4171
+-104.816 31.384 4095
+-104.69 31.384 3950
+-104.564 31.384 3798
+-104.438 31.384 3591
+-104.312 31.384 3408
+-104.186 31.384 3211
+-104.06 31.384 2969
+-103.934 31.384 2793
+-103.808 31.384 2692
+-103.682 31.384 2696
+-103.556 31.384 2783
+-103.43 31.384 2885
+-103.304 31.384 2970
+-103.178 31.384 3047
+-103.052 31.384 3081
+-102.926 31.384 3133
+-102.8 31.384 3178
+-102.674 31.384 3196
+-102.548 31.384 3227
+-102.422 31.384 3177
+-102.296 31.384 3195
+-102.17 31.384 3211
+-102.044 31.384 3224
+-101.918 31.384 3236
+-101.792 31.384 3247
+-101.666 31.384 3257
+-101.54 31.384 3151
+-101.414 31.384 3151
+-101.288 31.384 3157
+-101.162 31.384 3163
+-101.036 31.384 3168
+-100.91 31.384 3172
+-100.784 31.384 3046
+-100.658 31.384 3031
+-100.532 31.384 3034
+-100.406 31.384 3037
+-100.28 31.384 2992
+-100.154 31.384 2805
+-100.028 31.384 2794
+-99.902 31.384 2781
+-99.776 31.384 2766
+-99.65 31.384 2750
+-99.524 31.384 2732
+-99.398 31.384 2531
+-99.272 31.384 2507
+-99.146 31.384 2481
+-99.02 31.384 2381
+-98.894 31.384 2357
+-98.768 31.384 2302
+-98.642 31.384 2299
+-98.516 31.384 2271
+-98.39 31.384 2195
+-98.264 31.384 2208
+-98.138 31.384 2182
+-98.012 31.384 2154
+-97.886 31.384 2122
+-97.76 31.384 2177
+-97.634 31.384 2182
+-97.508 31.384 2158
+-97.382 31.384 2087
+-97.256 31.384 2137
+-97.13 31.384 2065
+-97.004 31.384 1948
+-96.878 31.384 1872
+-96.752 31.384 1832
+-96.626 31.384 1734
+-96.5 31.384 1628
+-96.374 31.384 1521
+-96.248 31.384 1387
+-96.122 31.384 1240
+-95.996 31.384 1082
+-95.87 31.384 909
+-95.744 31.384 738
+-95.618 31.384 562
+-95.492 31.384 397
+-95.366 31.384 259
+-95.24 31.384 164
+-95.114 31.384 130
+-94.988 31.384 170
+-94.862 31.384 287
+-94.736 31.384 471
+-94.61 31.384 707
+-94.484 31.384 968
+-94.358 31.384 1215
+-94.232 31.384 1460
+-94.106 31.384 1683
+-93.98 31.384 1854
+-93.854 31.384 2019
+-93.728 31.384 2159
+-93.602 31.384 2268
+-93.476 31.384 2365
+-93.35 31.384 2441
+-93.224 31.384 2500
+-93.098 31.384 2589
+-92.972 31.384 2631
+-92.846 31.384 2660
+-92.72 31.384 2681
+-92.594 31.384 2683
+-92.468 31.384 2685
+-92.342 31.384 2684
+-92.216 31.384 2632
+-92.09 31.384 2611
+-91.964 31.384 2583
+-91.838 31.384 2606
+-91.712 31.384 2538
+-91.586 31.384 2444
+-91.46 31.384 2363
+-91.334 31.384 2300
+-91.208 31.384 2288
+-91.082 31.384 2332
+-90.956 31.384 2415
+-90.83 31.384 2523
+-90.704 31.384 2611
+-90.578 31.384 2665
+-90.452 31.384 2702
+-90.326 31.384 2711
+-90.2 31.384 2739
+-90.074 31.384 2737
+-89.948 31.384 2739
+-89.822 31.384 2733
+-89.696 31.384 2728
+-89.57 31.384 2730
+-89.444 31.384 2744
+-89.318 31.384 2758
+-89.192 31.384 2781
+-89.066 31.384 2802
+-88.94 31.384 2848
+-88.814 31.384 2859
+-88.688 31.384 2864
+-88.562 31.384 2869
+-88.436 31.384 2863
+-88.31 31.384 2869
+-88.184 31.384 2852
+-88.058 31.384 2806
+-87.932 31.384 2781
+-87.806 31.384 2837
+-87.68 31.384 2950
+-87.554 31.384 3089
+-87.428 31.384 3195
+-87.302 31.384 3289
+-87.176 31.384 3398
+-87.05 31.384 3522
+-86.924 31.384 3624
+-86.798 31.384 3681
+-86.672 31.384 3697
+-86.546 31.384 3699
+-86.42 31.384 3727
+-86.294 31.384 3819
+-86.168 31.384 3965
+-86.042 31.384 4118
+-85.916 31.384 4181
+-85.79 31.384 4199
+-85.664 31.384 4269
+-85.538 31.384 4396
+-85.412 31.384 4531
+-85.286 31.384 4637
+-85.16 31.384 4705
+-85.034 31.384 4723
+-84.908 31.384 4809
+-84.782 31.384 4949
+-84.656 31.384 4973
+-84.53 31.384 5027
+-84.404 31.384 5108
+-84.278 31.384 5220
+-84.152 31.384 5303
+-84.026 31.384 5344
+-83.9 31.384 5402
+-83.774 31.384 5457
+-83.648 31.384 5518
+-83.522 31.384 5591
+-83.396 31.384 5661
+-83.27 31.384 5684
+-83.144 31.384 5724
+-83.018 31.384 5763
+-82.892 31.384 5760
+-82.766 31.384 5777
+-82.64 31.384 5781
+-82.514 31.384 5793
+-82.388 31.384 5783
+-82.262 31.384 5839
+-82.136 31.384 5803
+-82.01 31.384 5804
+-81.884 31.384 5791
+-81.758 31.384 5803
+-81.632 31.384 5780
+-81.506 31.384 5764
+-81.38 31.384 5706
+-81.254 31.384 5715
+-81.128 31.384 5645
+-81.002 31.384 5606
+-80.876 31.384 5552
+-80.75 31.384 5503
+-80.624 31.384 5469
+-80.498 31.384 5399
+-80.372 31.384 5363
+-80.246 31.384 5276
+-80.12 31.384 5201
+-79.994 31.384 5118
+-79.868 31.384 5038
+-79.742 31.384 4993
+-79.616 31.384 4948
+-79.49 31.384 4864
+-79.364 31.384 4734
+-79.238 31.384 4565
+-79.112 31.384 4461
+-78.986 31.384 4427
+-78.86 31.384 4398
+-78.734 31.384 4321
+-78.608 31.384 4184
+-78.482 31.384 4021
+-78.356 31.384 3897
+-78.23 31.384 3970
+-78.104 31.384 3997
+-77.978 31.384 3957
+-77.852 31.384 3906
+-77.726 31.384 3775
+-77.6 31.384 3676
+-77.474 31.384 3555
+-77.348 31.384 3455
+-77.222 31.384 3354
+-77.096 31.384 3274
+-76.97 31.384 3176
+-76.844 31.384 3117
+-76.718 31.384 3075
+-76.592 31.384 3039
+-76.466 31.384 2997
+-76.34 31.384 3005
+-76.214 31.384 2999
+-76.088 31.384 3015
+-75.962 31.384 3025
+-75.836 31.384 3047
+-75.71 31.384 3056
+-75.584 31.384 3059
+-75.458 31.384 3080
+-75.332 31.384 3093
+-75.206 31.384 3119
+-75.08 31.384 3138
+-74.954 31.384 3156
+-74.828 31.384 3173
+-74.702 31.384 3189
+-74.576 31.384 3246
+-74.45 31.384 3264
+-74.324 31.384 3233
+-74.198 31.384 3247
+-74.072 31.384 3261
+-73.946 31.384 3274
+-73.82 31.384 3277
+-73.694 31.384 3265
+-73.568 31.384 3262
+-73.442 31.384 3237
+-73.316 31.384 3246
+-73.19 31.384 3218
+-73.064 31.384 3256
+-72.938 31.384 3265
+-72.812 31.384 3272
+-72.686 31.384 3280
+-72.56 31.384 3287
+-72.434 31.384 3293
+-72.308 31.384 3299
+-72.182 31.384 3280
+-72.056 31.384 3286
+-71.93 31.384 3291
+-71.804 31.384 3270
+-71.678 31.384 3242
+-71.552 31.384 3229
+-71.426 31.384 3232
+-71.3 31.384 3236
+-71.174 31.384 3239
+-71.048 31.384 3243
+-70.922 31.384 3246
+-70.796 31.384 3249
+-70.67 31.384 3172
+-70.544 31.384 3162
+-70.418 31.384 3165
+-70.292 31.384 3168
+-70.166 31.384 3171
+-70.04 31.384 3174
+-69.914 31.384 3176
+-69.788 31.384 3179
+-69.662 31.384 3181
+-69.536 31.384 3184
+-69.41 31.384 3186
+-69.284 31.384 3188
+-69.158 31.384 3191
+-69.032 31.384 3193
+-68.906 31.384 3195
+-68.78 31.384 3196
+-68.654 31.384 3184
+-68.528 31.384 3186
+-68.402 31.384 3188
+-68.276 31.384 3190
+-68.15 31.384 3192
+-68.024 31.384 3150
+-67.898 31.384 3151
+-67.772 31.384 3153
+-67.646 31.384 3154
+-67.52 31.384 3156
+-67.394 31.384 3157
+-67.268 31.384 3157
+-67.142 31.384 3158
+-67.016 31.384 3133
+-66.89 31.384 3119
+-66.764 31.384 3120
+-66.638 31.384 3121
+-66.512 31.384 3122
+-66.386 31.384 3123
+-66.26 31.384 3124
+-66.134 31.384 3124
+-66.008 31.384 3125
+-65.882 31.384 3126
+-65.756 31.384 3127
+-65.63 31.384 3127
+-65.504 31.384 3035
+-65.378 31.384 3036
+-65.252 31.384 3037
+-65.126 31.384 3038
+-128 31.332 2582
+-127.874 31.332 2585
+-127.748 31.332 2589
+-127.622 31.332 2593
+-127.496 31.332 2598
+-127.37 31.332 2602
+-127.244 31.332 2607
+-127.118 31.332 2612
+-126.992 31.332 2618
+-126.866 31.332 2624
+-126.74 31.332 2630
+-126.614 31.332 2780
+-126.488 31.332 2969
+-126.362 31.332 2968
+-126.236 31.332 3031
+-126.11 31.332 3028
+-125.984 31.332 3025
+-125.858 31.332 3022
+-125.732 31.332 3018
+-125.606 31.332 3094
+-125.48 31.332 3091
+-125.354 31.332 3087
+-125.228 31.332 3096
+-125.102 31.332 3092
+-124.976 31.332 3107
+-124.85 31.332 3101
+-124.724 31.332 3130
+-124.598 31.332 3122
+-124.472 31.332 3112
+-124.346 31.332 3120
+-124.22 31.332 3152
+-124.094 31.332 3149
+-123.968 31.332 3126
+-123.842 31.332 3125
+-123.716 31.332 3096
+-123.59 31.332 3097
+-123.464 31.332 3052
+-123.338 31.332 3011
+-123.212 31.332 3013
+-123.086 31.332 3098
+-122.96 31.332 3197
+-122.834 31.332 3279
+-122.708 31.332 3397
+-122.582 31.332 3541
+-122.456 31.332 3678
+-122.33 31.332 3772
+-122.204 31.332 3788
+-122.078 31.332 3896
+-121.952 31.332 4122
+-121.826 31.332 4297
+-121.7 31.332 4385
+-121.574 31.332 4488
+-121.448 31.332 4661
+-121.322 31.332 4680
+-121.196 31.332 4852
+-121.07 31.332 4972
+-120.944 31.332 5116
+-120.818 31.332 5283
+-120.692 31.332 5461
+-120.566 31.332 5563
+-120.44 31.332 5608
+-120.314 31.332 5719
+-120.188 31.332 5816
+-120.062 31.332 5943
+-119.936 31.332 6132
+-119.81 31.332 6261
+-119.684 31.332 6297
+-119.558 31.332 6494
+-119.432 31.332 6552
+-119.306 31.332 6716
+-119.18 31.332 6822
+-119.054 31.332 6896
+-118.928 31.332 7097
+-118.802 31.332 7168
+-118.676 31.332 7222
+-118.55 31.332 7348
+-118.424 31.332 7464
+-118.298 31.332 7560
+-118.172 31.332 7632
+-118.046 31.332 7690
+-117.92 31.332 7775
+-117.794 31.332 7872
+-117.668 31.332 7933
+-117.542 31.332 7977
+-117.416 31.332 8023
+-117.29 31.332 8054
+-117.164 31.332 8054
+-117.038 31.332 8059
+-116.912 31.332 8050
+-116.786 31.332 8050
+-116.66 31.332 8018
+-116.534 31.332 7988
+-116.408 31.332 7957
+-116.282 31.332 7907
+-116.156 31.332 7825
+-116.03 31.332 7732
+-115.904 31.332 7626
+-115.778 31.332 7588
+-115.652 31.332 7514
+-115.526 31.332 7396
+-115.4 31.332 7308
+-115.274 31.332 7183
+-115.148 31.332 7074
+-115.022 31.332 6958
+-114.896 31.332 6847
+-114.77 31.332 6718
+-114.644 31.332 6649
+-114.518 31.332 6478
+-114.392 31.332 6308
+-114.266 31.332 6253
+-114.14 31.332 6113
+-114.014 31.332 6005
+-113.888 31.332 5909
+-113.762 31.332 5827
+-113.636 31.332 5980
+-113.51 31.332 6123
+-113.384 31.332 6260
+-113.258 31.332 6367
+-113.132 31.332 6515
+-113.006 31.332 6618
+-112.88 31.332 6781
+-112.754 31.332 6928
+-112.628 31.332 7028
+-112.502 31.332 7185
+-112.376 31.332 7280
+-112.25 31.332 7452
+-112.124 31.332 7512
+-111.998 31.332 7737
+-111.872 31.332 7823
+-111.746 31.332 8009
+-111.62 31.332 8143
+-111.494 31.332 8198
+-111.368 31.332 8356
+-111.242 31.332 8511
+-111.116 31.332 8652
+-110.99 31.332 8775
+-110.864 31.332 8948
+-110.738 31.332 9027
+-110.612 31.332 9055
+-110.486 31.332 9135
+-110.36 31.332 9182
+-110.234 31.332 9140
+-110.108 31.332 8990
+-109.982 31.332 8932
+-109.856 31.332 8809
+-109.73 31.332 8650
+-109.604 31.332 8570
+-109.478 31.332 8402
+-109.352 31.332 8330
+-109.226 31.332 8115
+-109.1 31.332 8046
+-108.974 31.332 7944
+-108.848 31.332 7802
+-108.722 31.332 7648
+-108.596 31.332 7493
+-108.47 31.332 7349
+-108.344 31.332 7208
+-108.218 31.332 7084
+-108.092 31.332 6890
+-107.966 31.332 6867
+-107.84 31.332 6753
+-107.714 31.332 6619
+-107.588 31.332 6468
+-107.462 31.332 6348
+-107.336 31.332 6229
+-107.21 31.332 6027
+-107.084 31.332 5819
+-106.958 31.332 5796
+-106.832 31.332 5622
+-106.706 31.332 5477
+-106.58 31.332 5336
+-106.454 31.332 5173
+-106.328 31.332 5045
+-106.202 31.332 4930
+-106.076 31.332 4914
+-105.95 31.332 4801
+-105.824 31.332 4615
+-105.698 31.332 4466
+-105.572 31.332 4376
+-105.446 31.332 4258
+-105.32 31.332 4279
+-105.194 31.332 4266
+-105.068 31.332 4192
+-104.942 31.332 4106
+-104.816 31.332 4026
+-104.69 31.332 3867
+-104.564 31.332 3679
+-104.438 31.332 3522
+-104.312 31.332 3332
+-104.186 31.332 3098
+-104.06 31.332 2824
+-103.934 31.332 2578
+-103.808 31.332 2478
+-103.682 31.332 2545
+-103.556 31.332 2669
+-103.43 31.332 2804
+-103.304 31.332 2917
+-103.178 31.332 2999
+-103.052 31.332 3070
+-102.926 31.332 3099
+-102.8 31.332 3147
+-102.674 31.332 3188
+-102.548 31.332 3131
+-102.422 31.332 3154
+-102.296 31.332 3174
+-102.17 31.332 3191
+-102.044 31.332 3206
+-101.918 31.332 3219
+-101.792 31.332 3230
+-101.666 31.332 3129
+-101.54 31.332 3137
+-101.414 31.332 3145
+-101.288 31.332 3151
+-101.162 31.332 3157
+-101.036 31.332 3163
+-100.91 31.332 3168
+-100.784 31.332 3173
+-100.658 31.332 3040
+-100.532 31.332 3026
+-100.406 31.332 3029
+-100.28 31.332 2898
+-100.154 31.332 2839
+-100.028 31.332 2789
+-99.902 31.332 2776
+-99.776 31.332 2762
+-99.65 31.332 2746
+-99.524 31.332 2729
+-99.398 31.332 2530
+-99.272 31.332 2492
+-99.146 31.332 2466
+-99.02 31.332 2380
+-98.894 31.332 2346
+-98.768 31.332 2329
+-98.642 31.332 2273
+-98.516 31.332 2272
+-98.39 31.332 2217
+-98.264 31.332 2190
+-98.138 31.332 2174
+-98.012 31.332 2166
+-97.886 31.332 2134
+-97.76 31.332 2078
+-97.634 31.332 2194
+-97.508 31.332 2126
+-97.382 31.332 2114
+-97.256 31.332 2121
+-97.13 31.332 2008
+-97.004 31.332 1940
+-96.878 31.332 1914
+-96.752 31.332 1827
+-96.626 31.332 1732
+-96.5 31.332 1642
+-96.374 31.332 1524
+-96.248 31.332 1394
+-96.122 31.332 1254
+-95.996 31.332 1096
+-95.87 31.332 944
+-95.744 31.332 779
+-95.618 31.332 617
+-95.492 31.332 469
+-95.366 31.332 345
+-95.24 31.332 262
+-95.114 31.332 234
+-94.988 31.332 274
+-94.862 31.332 383
+-94.736 31.332 556
+-94.61 31.332 773
+-94.484 31.332 1004
+-94.358 31.332 1245
+-94.232 31.332 1477
+-94.106 31.332 1668
+-93.98 31.332 1854
+-93.854 31.332 2015
+-93.728 31.332 2144
+-93.602 31.332 2259
+-93.476 31.332 2351
+-93.35 31.332 2424
+-93.224 31.332 2525
+-93.098 31.332 2578
+-92.972 31.332 2616
+-92.846 31.332 2645
+-92.72 31.332 2654
+-92.594 31.332 2662
+-92.468 31.332 2668
+-92.342 31.332 2620
+-92.216 31.332 2606
+-92.09 31.332 2586
+-91.964 31.332 2553
+-91.838 31.332 2566
+-91.712 31.332 2469
+-91.586 31.332 2377
+-91.46 31.332 2278
+-91.334 31.332 2189
+-91.208 31.332 2159
+-91.082 31.332 2202
+-90.956 31.332 2316
+-90.83 31.332 2446
+-90.704 31.332 2546
+-90.578 31.332 2617
+-90.452 31.332 2649
+-90.326 31.332 2670
+-90.2 31.332 2677
+-90.074 31.332 2673
+-89.948 31.332 2660
+-89.822 31.332 2642
+-89.696 31.332 2632
+-89.57 31.332 2622
+-89.444 31.332 2646
+-89.318 31.332 2675
+-89.192 31.332 2706
+-89.066 31.332 2730
+-88.94 31.332 2746
+-88.814 31.332 2761
+-88.688 31.332 2793
+-88.562 31.332 2800
+-88.436 31.332 2817
+-88.31 31.332 2859
+-88.184 31.332 2858
+-88.058 31.332 2858
+-87.932 31.332 2858
+-87.806 31.332 2917
+-87.68 31.332 3000
+-87.554 31.332 3097
+-87.428 31.332 3176
+-87.302 31.332 3260
+-87.176 31.332 3390
+-87.05 31.332 3527
+-86.924 31.332 3638
+-86.798 31.332 3685
+-86.672 31.332 3720
+-86.546 31.332 3719
+-86.42 31.332 3666
+-86.294 31.332 3791
+-86.168 31.332 3976
+-86.042 31.332 4125
+-85.916 31.332 4180
+-85.79 31.332 4149
+-85.664 31.332 4238
+-85.538 31.332 4414
+-85.412 31.332 4559
+-85.286 31.332 4664
+-85.16 31.332 4752
+-85.034 31.332 4789
+-84.908 31.332 4887
+-84.782 31.332 5001
+-84.656 31.332 5032
+-84.53 31.332 5069
+-84.404 31.332 5163
+-84.278 31.332 5282
+-84.152 31.332 5337
+-84.026 31.332 5374
+-83.9 31.332 5461
+-83.774 31.332 5539
+-83.648 31.332 5605
+-83.522 31.332 5662
+-83.396 31.332 5728
+-83.27 31.332 5746
+-83.144 31.332 5794
+-83.018 31.332 5800
+-82.892 31.332 5830
+-82.766 31.332 5856
+-82.64 31.332 5839
+-82.514 31.332 5832
+-82.388 31.332 5832
+-82.262 31.332 5842
+-82.136 31.332 5859
+-82.01 31.332 5863
+-81.884 31.332 5854
+-81.758 31.332 5862
+-81.632 31.332 5832
+-81.506 31.332 5793
+-81.38 31.332 5759
+-81.254 31.332 5723
+-81.128 31.332 5686
+-81.002 31.332 5655
+-80.876 31.332 5617
+-80.75 31.332 5561
+-80.624 31.332 5548
+-80.498 31.332 5470
+-80.372 31.332 5419
+-80.246 31.332 5334
+-80.12 31.332 5282
+-79.994 31.332 5212
+-79.868 31.332 5125
+-79.742 31.332 5058
+-79.616 31.332 5015
+-79.49 31.332 4934
+-79.364 31.332 4783
+-79.238 31.332 4606
+-79.112 31.332 4479
+-78.986 31.332 4437
+-78.86 31.332 4430
+-78.734 31.332 4364
+-78.608 31.332 4234
+-78.482 31.332 4062
+-78.356 31.332 3966
+-78.23 31.332 4000
+-78.104 31.332 4022
+-77.978 31.332 3984
+-77.852 31.332 3945
+-77.726 31.332 3804
+-77.6 31.332 3707
+-77.474 31.332 3583
+-77.348 31.332 3467
+-77.222 31.332 3365
+-77.096 31.332 3264
+-76.97 31.332 3170
+-76.844 31.332 3064
+-76.718 31.332 2980
+-76.592 31.332 2907
+-76.466 31.332 2903
+-76.34 31.332 2908
+-76.214 31.332 2936
+-76.088 31.332 2960
+-75.962 31.332 2989
+-75.836 31.332 3018
+-75.71 31.332 3016
+-75.584 31.332 3040
+-75.458 31.332 3058
+-75.332 31.332 3087
+-75.206 31.332 3109
+-75.08 31.332 3130
+-74.954 31.332 3150
+-74.828 31.332 3168
+-74.702 31.332 3226
+-74.576 31.332 3246
+-74.45 31.332 3219
+-74.324 31.332 3235
+-74.198 31.332 3249
+-74.072 31.332 3263
+-73.946 31.332 3267
+-73.82 31.332 3257
+-73.694 31.332 3255
+-73.568 31.332 3231
+-73.442 31.332 3240
+-73.316 31.332 3213
+-73.19 31.332 3252
+-73.064 31.332 3260
+-72.938 31.332 3269
+-72.812 31.332 3276
+-72.686 31.332 3284
+-72.56 31.332 3290
+-72.434 31.332 3297
+-72.308 31.332 3278
+-72.182 31.332 3284
+-72.056 31.332 3289
+-71.93 31.332 3268
+-71.804 31.332 3241
+-71.678 31.332 3227
+-71.552 31.332 3231
+-71.426 31.332 3235
+-71.3 31.332 3239
+-71.174 31.332 3242
+-71.048 31.332 3245
+-70.922 31.332 3248
+-70.796 31.332 3172
+-70.67 31.332 3161
+-70.544 31.332 3164
+-70.418 31.332 3168
+-70.292 31.332 3171
+-70.166 31.332 3173
+-70.04 31.332 3176
+-69.914 31.332 3179
+-69.788 31.332 3181
+-69.662 31.332 3184
+-69.536 31.332 3186
+-69.41 31.332 3188
+-69.284 31.332 3191
+-69.158 31.332 3193
+-69.032 31.332 3195
+-68.906 31.332 3197
+-68.78 31.332 3184
+-68.654 31.332 3186
+-68.528 31.332 3188
+-68.402 31.332 3190
+-68.276 31.332 3192
+-68.15 31.332 3150
+-68.024 31.332 3152
+-67.898 31.332 3153
+-67.772 31.332 3155
+-67.646 31.332 3156
+-67.52 31.332 3157
+-67.394 31.332 3156
+-67.268 31.332 3158
+-67.142 31.332 3133
+-67.016 31.332 3119
+-66.89 31.332 3120
+-66.764 31.332 3121
+-66.638 31.332 3122
+-66.512 31.332 3123
+-66.386 31.332 3124
+-66.26 31.332 3125
+-66.134 31.332 3125
+-66.008 31.332 3126
+-65.882 31.332 3127
+-65.756 31.332 3128
+-65.63 31.332 3035
+-65.504 31.332 3036
+-65.378 31.332 3037
+-65.252 31.332 3038
+-65.126 31.332 3038
+-128 31.28 2574
+-127.874 31.28 2578
+-127.748 31.28 2581
+-127.622 31.28 2585
+-127.496 31.28 2590
+-127.37 31.28 2594
+-127.244 31.28 2599
+-127.118 31.28 2604
+-126.992 31.28 2610
+-126.866 31.28 2616
+-126.74 31.28 2674
+-126.614 31.28 2679
+-126.488 31.28 2764
+-126.362 31.28 3036
+-126.236 31.28 3033
+-126.11 31.28 3030
+-125.984 31.28 3027
+-125.858 31.28 3024
+-125.732 31.28 3079
+-125.606 31.28 3077
+-125.48 31.28 3108
+-125.354 31.28 3104
+-125.228 31.28 3100
+-125.102 31.28 3098
+-124.976 31.28 3093
+-124.85 31.28 3104
+-124.724 31.28 3107
+-124.598 31.28 3106
+-124.472 31.28 3104
+-124.346 31.28 3130
+-124.22 31.28 3112
+-124.094 31.28 3141
+-123.968 31.28 3127
+-123.842 31.28 3154
+-123.716 31.28 3166
+-123.59 31.28 3137
+-123.464 31.28 3113
+-123.338 31.28 3105
+-123.212 31.28 3124
+-123.086 31.28 3179
+-122.96 31.28 3261
+-122.834 31.28 3353
+-122.708 31.28 3460
+-122.582 31.28 3572
+-122.456 31.28 3655
+-122.33 31.28 3741
+-122.204 31.28 3802
+-122.078 31.28 3937
+-121.952 31.28 4116
+-121.826 31.28 4260
+-121.7 31.28 4367
+-121.574 31.28 4517
+-121.448 31.28 4666
+-121.322 31.28 4775
+-121.196 31.28 4922
+-121.07 31.28 5002
+-120.944 31.28 5092
+-120.818 31.28 5237
+-120.692 31.28 5410
+-120.566 31.28 5503
+-120.44 31.28 5526
+-120.314 31.28 5699
+-120.188 31.28 5861
+-120.062 31.28 5931
+-119.936 31.28 6047
+-119.81 31.28 6227
+-119.684 31.28 6247
+-119.558 31.28 6440
+-119.432 31.28 6601
+-119.306 31.28 6679
+-119.18 31.28 6750
+-119.054 31.28 6893
+-118.928 31.28 7032
+-118.802 31.28 7087
+-118.676 31.28 7201
+-118.55 31.28 7331
+-118.424 31.28 7367
+-118.298 31.28 7500
+-118.172 31.28 7593
+-118.046 31.28 7655
+-117.92 31.28 7726
+-117.794 31.28 7804
+-117.668 31.28 7864
+-117.542 31.28 7923
+-117.416 31.28 7940
+-117.29 31.28 7965
+-117.164 31.28 7981
+-117.038 31.28 8001
+-116.912 31.28 7980
+-116.786 31.28 7983
+-116.66 31.28 7970
+-116.534 31.28 7922
+-116.408 31.28 7879
+-116.282 31.28 7837
+-116.156 31.28 7765
+-116.03 31.28 7671
+-115.904 31.28 7625
+-115.778 31.28 7496
+-115.652 31.28 7410
+-115.526 31.28 7345
+-115.4 31.28 7240
+-115.274 31.28 7165
+-115.148 31.28 7043
+-115.022 31.28 6921
+-114.896 31.28 6828
+-114.77 31.28 6666
+-114.644 31.28 6576
+-114.518 31.28 6431
+-114.392 31.28 6369
+-114.266 31.28 6166
+-114.14 31.28 6085
+-114.014 31.28 5928
+-113.888 31.28 5738
+-113.762 31.28 5893
+-113.636 31.28 6013
+-113.51 31.28 6154
+-113.384 31.28 6214
+-113.258 31.28 6356
+-113.132 31.28 6529
+-113.006 31.28 6645
+-112.88 31.28 6823
+-112.754 31.28 6856
+-112.628 31.28 7091
+-112.502 31.28 7099
+-112.376 31.28 7292
+-112.25 31.28 7491
+-112.124 31.28 7573
+-111.998 31.28 7694
+-111.872 31.28 7816
+-111.746 31.28 7957
+-111.62 31.28 8119
+-111.494 31.28 8230
+-111.368 31.28 8363
+-111.242 31.28 8474
+-111.116 31.28 8657
+-110.99 31.28 8765
+-110.864 31.28 8857
+-110.738 31.28 8942
+-110.612 31.28 9001
+-110.486 31.28 9054
+-110.36 31.28 9072
+-110.234 31.28 9081
+-110.108 31.28 9017
+-109.982 31.28 8904
+-109.856 31.28 8798
+-109.73 31.28 8658
+-109.604 31.28 8496
+-109.478 31.28 8382
+-109.352 31.28 8236
+-109.226 31.28 8214
+-109.1 31.28 8051
+-108.974 31.28 7940
+-108.848 31.28 7777
+-108.722 31.28 7620
+-108.596 31.28 7496
+-108.47 31.28 7370
+-108.344 31.28 7221
+-108.218 31.28 7069
+-108.092 31.28 6959
+-107.966 31.28 6772
+-107.84 31.28 6708
+-107.714 31.28 6606
+-107.588 31.28 6464
+-107.462 31.28 6380
+-107.336 31.28 6236
+-107.21 31.28 6068
+-107.084 31.28 5904
+-106.958 31.28 5809
+-106.832 31.28 5638
+-106.706 31.28 5436
+-106.58 31.28 5350
+-106.454 31.28 5233
+-106.328 31.28 5082
+-106.202 31.28 4971
+-106.076 31.28 4896
+-105.95 31.28 4772
+-105.824 31.28 4540
+-105.698 31.28 4345
+-105.572 31.28 4404
+-105.446 31.28 4356
+-105.32 31.28 4287
+-105.194 31.28 4166
+-105.068 31.28 4093
+-104.942 31.28 4019
+-104.816 31.28 3936
+-104.69 31.28 3830
+-104.564 31.28 3671
+-104.438 31.28 3462
+-104.312 31.28 3266
+-104.186 31.28 3007
+-104.06 31.28 2752
+-103.934 31.28 2489
+-103.808 31.28 2378
+-103.682 31.28 2469
+-103.556 31.28 2637
+-103.43 31.28 2766
+-103.304 31.28 2883
+-103.178 31.28 2977
+-103.052 31.28 3052
+-102.926 31.28 3114
+-102.8 31.28 3123
+-102.674 31.28 3102
+-102.548 31.28 3109
+-102.422 31.28 3133
+-102.296 31.28 3153
+-102.17 31.28 3171
+-102.044 31.28 3186
+-101.918 31.28 3200
+-101.792 31.28 3106
+-101.666 31.28 3116
+-101.54 31.28 3124
+-101.414 31.28 3132
+-101.288 31.28 3139
+-101.162 31.28 3146
+-101.036 31.28 3152
+-100.91 31.28 3158
+-100.784 31.28 3163
+-100.658 31.28 3168
+-100.532 31.28 3036
+-100.406 31.28 3021
+-100.28 31.28 2892
+-100.154 31.28 2833
+-100.028 31.28 2772
+-99.902 31.28 2760
+-99.776 31.28 2746
+-99.65 31.28 2730
+-99.524 31.28 2713
+-99.398 31.28 2528
+-99.272 31.28 2491
+-99.146 31.28 2466
+-99.02 31.28 2380
+-98.894 31.28 2346
+-98.768 31.28 2318
+-98.642 31.28 2286
+-98.516 31.28 2249
+-98.39 31.28 2220
+-98.264 31.28 2201
+-98.138 31.28 2189
+-98.012 31.28 2160
+-97.886 31.28 2127
+-97.76 31.28 2092
+-97.634 31.28 2120
+-97.508 31.28 2158
+-97.382 31.28 2104
+-97.256 31.28 2000
+-97.13 31.28 2004
+-97.004 31.28 1991
+-96.878 31.28 1914
+-96.752 31.28 1830
+-96.626 31.28 1756
+-96.5 31.28 1653
+-96.374 31.28 1539
+-96.248 31.28 1417
+-96.122 31.28 1275
+-95.996 31.28 1146
+-95.87 31.28 1000
+-95.744 31.28 851
+-95.618 31.28 709
+-95.492 31.28 580
+-95.366 31.28 475
+-95.24 31.28 406
+-95.114 31.28 386
+-94.988 31.28 426
+-94.862 31.28 528
+-94.736 31.28 684
+-94.61 31.28 870
+-94.484 31.28 1083
+-94.358 31.28 1304
+-94.232 31.28 1500
+-94.106 31.28 1694
+-93.98 31.28 1869
+-93.854 31.28 2015
+-93.728 31.28 2145
+-93.602 31.28 2252
+-93.476 31.28 2340
+-93.35 31.28 2452
+-93.224 31.28 2516
+-93.098 31.28 2565
+-92.972 31.28 2603
+-92.846 31.28 2620
+-92.72 31.28 2636
+-92.594 31.28 2650
+-92.468 31.28 2607
+-92.342 31.28 2601
+-92.216 31.28 2589
+-92.09 31.28 2567
+-91.964 31.28 2531
+-91.838 31.28 2521
+-91.712 31.28 2440
+-91.586 31.28 2346
+-91.46 31.28 2236
+-91.334 31.28 2152
+-91.208 31.28 2111
+-91.082 31.28 2155
+-90.956 31.28 2270
+-90.83 31.28 2397
+-90.704 31.28 2505
+-90.578 31.28 2568
+-90.452 31.28 2609
+-90.326 31.28 2628
+-90.2 31.28 2631
+-90.074 31.28 2621
+-89.948 31.28 2601
+-89.822 31.28 2569
+-89.696 31.28 2533
+-89.57 31.28 2525
+-89.444 31.28 2541
+-89.318 31.28 2578
+-89.192 31.28 2611
+-89.066 31.28 2634
+-88.94 31.28 2663
+-88.814 31.28 2670
+-88.688 31.28 2688
+-88.562 31.28 2717
+-88.436 31.28 2770
+-88.31 31.28 2826
+-88.184 31.28 2868
+-88.058 31.28 2886
+-87.932 31.28 2906
+-87.806 31.28 2970
+-87.68 31.28 3032
+-87.554 31.28 3090
+-87.428 31.28 3142
+-87.302 31.28 3217
+-87.176 31.28 3337
+-87.05 31.28 3509
+-86.924 31.28 3625
+-86.798 31.28 3728
+-86.672 31.28 3778
+-86.546 31.28 3768
+-86.42 31.28 3772
+-86.294 31.28 3860
+-86.168 31.28 4000
+-86.042 31.28 4136
+-85.916 31.28 4194
+-85.79 31.28 4202
+-85.664 31.28 4268
+-85.538 31.28 4454
+-85.412 31.28 4587
+-85.286 31.28 4683
+-85.16 31.28 4788
+-85.034 31.28 4892
+-84.908 31.28 5003
+-84.782 31.28 5063
+-84.656 31.28 5095
+-84.53 31.28 5132
+-84.404 31.28 5208
+-84.278 31.28 5311
+-84.152 31.28 5372
+-84.026 31.28 5435
+-83.9 31.28 5531
+-83.774 31.28 5600
+-83.648 31.28 5673
+-83.522 31.28 5737
+-83.396 31.28 5795
+-83.27 31.28 5830
+-83.144 31.28 5856
+-83.018 31.28 5864
+-82.892 31.28 5890
+-82.766 31.28 5904
+-82.64 31.28 5920
+-82.514 31.28 5935
+-82.388 31.28 5922
+-82.262 31.28 5920
+-82.136 31.28 5930
+-82.01 31.28 5944
+-81.884 31.28 5928
+-81.758 31.28 5909
+-81.632 31.28 5900
+-81.506 31.28 5871
+-81.38 31.28 5832
+-81.254 31.28 5782
+-81.128 31.28 5757
+-81.002 31.28 5693
+-80.876 31.28 5659
+-80.75 31.28 5620
+-80.624 31.28 5564
+-80.498 31.28 5519
+-80.372 31.28 5465
+-80.246 31.28 5375
+-80.12 31.28 5307
+-79.994 31.28 5275
+-79.868 31.28 5157
+-79.742 31.28 5065
+-79.616 31.28 5066
+-79.49 31.28 4984
+-79.364 31.28 4865
+-79.238 31.28 4687
+-79.112 31.28 4554
+-78.986 31.28 4497
+-78.86 31.28 4468
+-78.734 31.28 4403
+-78.608 31.28 4308
+-78.482 31.28 4179
+-78.356 31.28 4064
+-78.23 31.28 4080
+-78.104 31.28 4089
+-77.978 31.28 4002
+-77.852 31.28 3950
+-77.726 31.28 3853
+-77.6 31.28 3701
+-77.474 31.28 3596
+-77.348 31.28 3483
+-77.222 31.28 3354
+-77.096 31.28 3242
+-76.97 31.28 3103
+-76.844 31.28 2968
+-76.718 31.28 2845
+-76.592 31.28 2767
+-76.466 31.28 2770
+-76.34 31.28 2819
+-76.214 31.28 2868
+-76.088 31.28 2914
+-75.962 31.28 2954
+-75.836 31.28 2961
+-75.71 31.28 2991
+-75.584 31.28 3015
+-75.458 31.28 3048
+-75.332 31.28 3075
+-75.206 31.28 3100
+-75.08 31.28 3123
+-74.954 31.28 3145
+-74.828 31.28 3203
+-74.702 31.28 3226
+-74.576 31.28 3202
+-74.45 31.28 3220
+-74.324 31.28 3237
+-74.198 31.28 3252
+-74.072 31.28 3257
+-73.946 31.28 3248
+-73.82 31.28 3247
+-73.694 31.28 3225
+-73.568 31.28 3235
+-73.442 31.28 3209
+-73.316 31.28 3247
+-73.19 31.28 3256
+-73.064 31.28 3265
+-72.938 31.28 3273
+-72.812 31.28 3281
+-72.686 31.28 3288
+-72.56 31.28 3295
+-72.434 31.28 3276
+-72.308 31.28 3282
+-72.182 31.28 3288
+-72.056 31.28 3267
+-71.93 31.28 3239
+-71.804 31.28 3226
+-71.678 31.28 3231
+-71.552 31.28 3234
+-71.426 31.28 3238
+-71.3 31.28 3242
+-71.174 31.28 3245
+-71.048 31.28 3248
+-70.922 31.28 3171
+-70.796 31.28 3161
+-70.67 31.28 3164
+-70.544 31.28 3167
+-70.418 31.28 3170
+-70.292 31.28 3173
+-70.166 31.28 3176
+-70.04 31.28 3179
+-69.914 31.28 3181
+-69.788 31.28 3184
+-69.662 31.28 3186
+-69.536 31.28 3189
+-69.41 31.28 3191
+-69.284 31.28 3193
+-69.158 31.28 3195
+-69.032 31.28 3197
+-68.906 31.28 3184
+-68.78 31.28 3186
+-68.654 31.28 3188
+-68.528 31.28 3191
+-68.402 31.28 3193
+-68.276 31.28 3151
+-68.15 31.28 3152
+-68.024 31.28 3154
+-67.898 31.28 3155
+-67.772 31.28 3156
+-67.646 31.28 3158
+-67.52 31.28 3156
+-67.394 31.28 3158
+-67.268 31.28 3133
+-67.142 31.28 3119
+-67.016 31.28 3120
+-66.89 31.28 3121
+-66.764 31.28 3122
+-66.638 31.28 3123
+-66.512 31.28 3124
+-66.386 31.28 3125
+-66.26 31.28 3125
+-66.134 31.28 3126
+-66.008 31.28 3127
+-65.882 31.28 3128
+-65.756 31.28 3035
+-65.63 31.28 3036
+-65.504 31.28 3037
+-65.378 31.28 3038
+-65.252 31.28 3038
+-65.126 31.28 3039
+-128 31.228 2566
+-127.874 31.228 2569
+-127.748 31.228 2573
+-127.622 31.228 2577
+-127.496 31.228 2581
+-127.37 31.228 2585
+-127.244 31.228 2590
+-127.118 31.228 2595
+-126.992 31.228 2601
+-126.866 31.228 2658
+-126.74 31.228 2663
+-126.614 31.228 2748
+-126.488 31.228 2799
+-126.362 31.228 2804
+-126.236 31.228 3035
+-126.11 31.228 3033
+-125.984 31.228 3030
+-125.858 31.228 3086
+-125.732 31.228 3083
+-125.606 31.228 3115
+-125.48 31.228 3111
+-125.354 31.228 3108
+-125.228 31.228 3106
+-125.102 31.228 3101
+-124.976 31.228 3096
+-124.85 31.228 3090
+-124.724 31.228 3111
+-124.598 31.228 3124
+-124.472 31.228 3127
+-124.346 31.228 3117
+-124.22 31.228 3164
+-124.094 31.228 3147
+-123.968 31.228 3166
+-123.842 31.228 3206
+-123.716 31.228 3178
+-123.59 31.228 3152
+-123.464 31.228 3134
+-123.338 31.228 3133
+-123.212 31.228 3157
+-123.086 31.228 3216
+-122.96 31.228 3298
+-122.834 31.228 3389
+-122.708 31.228 3494
+-122.582 31.228 3582
+-122.456 31.228 3618
+-122.33 31.228 3622
+-122.204 31.228 3738
+-122.078 31.228 3940
+-121.952 31.228 4143
+-121.826 31.228 4231
+-121.7 31.228 4273
+-121.574 31.228 4417
+-121.448 31.228 4629
+-121.322 31.228 4820
+-121.196 31.228 4947
+-121.07 31.228 4955
+-120.944 31.228 4999
+-120.818 31.228 5179
+-120.692 31.228 5357
+-120.566 31.228 5371
+-120.44 31.228 5557
+-120.314 31.228 5652
+-120.188 31.228 5760
+-120.062 31.228 5917
+-119.936 31.228 6068
+-119.81 31.228 6206
+-119.684 31.228 6232
+-119.558 31.228 6417
+-119.432 31.228 6563
+-119.306 31.228 6639
+-119.18 31.228 6794
+-119.054 31.228 6880
+-118.928 31.228 6944
+-118.802 31.228 7046
+-118.676 31.228 7145
+-118.55 31.228 7282
+-118.424 31.228 7407
+-118.298 31.228 7460
+-118.172 31.228 7557
+-118.046 31.228 7619
+-117.92 31.228 7687
+-117.794 31.228 7750
+-117.668 31.228 7832
+-117.542 31.228 7840
+-117.416 31.228 7884
+-117.29 31.228 7917
+-117.164 31.228 7937
+-117.038 31.228 7964
+-116.912 31.228 7948
+-116.786 31.228 7914
+-116.66 31.228 7923
+-116.534 31.228 7865
+-116.408 31.228 7788
+-116.282 31.228 7758
+-116.156 31.228 7690
+-116.03 31.228 7601
+-115.904 31.228 7536
+-115.778 31.228 7454
+-115.652 31.228 7395
+-115.526 31.228 7267
+-115.4 31.228 7155
+-115.274 31.228 7108
+-115.148 31.228 6985
+-115.022 31.228 6890
+-114.896 31.228 6752
+-114.77 31.228 6647
+-114.644 31.228 6564
+-114.518 31.228 6414
+-114.392 31.228 6319
+-114.266 31.228 6191
+-114.14 31.228 6012
+-114.014 31.228 5964
+-113.888 31.228 5889
+-113.762 31.228 5904
+-113.636 31.228 6016
+-113.51 31.228 6104
+-113.384 31.228 6239
+-113.258 31.228 6281
+-113.132 31.228 6523
+-113.006 31.228 6634
+-112.88 31.228 6767
+-112.754 31.228 6830
+-112.628 31.228 7018
+-112.502 31.228 7188
+-112.376 31.228 7287
+-112.25 31.228 7390
+-112.124 31.228 7602
+-111.998 31.228 7664
+-111.872 31.228 7800
+-111.746 31.228 7960
+-111.62 31.228 8103
+-111.494 31.228 8181
+-111.368 31.228 8384
+-111.242 31.228 8474
+-111.116 31.228 8639
+-110.99 31.228 8732
+-110.864 31.228 8858
+-110.738 31.228 8924
+-110.612 31.228 8997
+-110.486 31.228 9034
+-110.36 31.228 9042
+-110.234 31.228 9005
+-110.108 31.228 8947
+-109.982 31.228 8838
+-109.856 31.228 8750
+-109.73 31.228 8645
+-109.604 31.228 8519
+-109.478 31.228 8365
+-109.352 31.228 8248
+-109.226 31.228 8143
+-109.1 31.228 8029
+-108.974 31.228 7902
+-108.848 31.228 7723
+-108.722 31.228 7588
+-108.596 31.228 7464
+-108.47 31.228 7346
+-108.344 31.228 7258
+-108.218 31.228 7104
+-108.092 31.228 6907
+-107.966 31.228 6856
+-107.84 31.228 6682
+-107.714 31.228 6559
+-107.588 31.228 6482
+-107.462 31.228 6346
+-107.336 31.228 6175
+-107.21 31.228 6076
+-107.084 31.228 5840
+-106.958 31.228 5849
+-106.832 31.228 5655
+-106.706 31.228 5439
+-106.58 31.228 5353
+-106.454 31.228 5229
+-106.328 31.228 5068
+-106.202 31.228 4959
+-106.076 31.228 4880
+-105.95 31.228 4766
+-105.824 31.228 4619
+-105.698 31.228 4481
+-105.572 31.228 4442
+-105.446 31.228 4336
+-105.32 31.228 4164
+-105.194 31.228 3984
+-105.068 31.228 3976
+-104.942 31.228 3962
+-104.816 31.228 3898
+-104.69 31.228 3789
+-104.564 31.228 3643
+-104.438 31.228 3410
+-104.312 31.228 3183
+-104.186 31.228 2977
+-104.06 31.228 2768
+-103.934 31.228 2579
+-103.808 31.228 2479
+-103.682 31.228 2540
+-103.556 31.228 2670
+-103.43 31.228 2797
+-103.304 31.228 2877
+-103.178 31.228 2964
+-103.052 31.228 3037
+-102.926 31.228 3045
+-102.8 31.228 3048
+-102.674 31.228 3064
+-102.548 31.228 3092
+-102.422 31.228 3116
+-102.296 31.228 3137
+-102.17 31.228 3154
+-102.044 31.228 3170
+-101.918 31.228 3082
+-101.792 31.228 3093
+-101.666 31.228 3103
+-101.54 31.228 3112
+-101.414 31.228 3120
+-101.288 31.228 3128
+-101.162 31.228 3134
+-101.036 31.228 3141
+-100.91 31.228 3147
+-100.784 31.228 3153
+-100.658 31.228 3158
+-100.532 31.228 3163
+-100.406 31.228 3002
+-100.28 31.228 2873
+-100.154 31.228 2816
+-100.028 31.228 2768
+-99.902 31.228 2756
+-99.776 31.228 2742
+-99.65 31.228 2727
+-99.524 31.228 2710
+-99.398 31.228 2527
+-99.272 31.228 2490
+-99.146 31.228 2465
+-99.02 31.228 2380
+-98.894 31.228 2347
+-98.768 31.228 2319
+-98.642 31.228 2288
+-98.516 31.228 2255
+-98.39 31.228 2226
+-98.264 31.228 2188
+-98.138 31.228 2170
+-98.012 31.228 2154
+-97.886 31.228 2123
+-97.76 31.228 2126
+-97.634 31.228 2155
+-97.508 31.228 2149
+-97.382 31.228 2049
+-97.256 31.228 2053
+-97.13 31.228 2063
+-97.004 31.228 1995
+-96.878 31.228 1921
+-96.752 31.228 1861
+-96.626 31.228 1771
+-96.5 31.228 1673
+-96.374 31.228 1566
+-96.248 31.228 1440
+-96.122 31.228 1333
+-95.996 31.228 1206
+-95.87 31.228 1075
+-95.744 31.228 947
+-95.618 31.228 826
+-95.492 31.228 720
+-95.366 31.228 631
+-95.24 31.228 576
+-95.114 31.228 566
+-94.988 31.228 608
+-94.862 31.228 701
+-94.736 31.228 830
+-94.61 31.228 998
+-94.484 31.228 1188
+-94.358 31.228 1368
+-94.232 31.228 1558
+-94.106 31.228 1735
+-93.98 31.228 1890
+-93.854 31.228 2031
+-93.728 31.228 2150
+-93.602 31.228 2251
+-93.476 31.228 2373
+-93.35 31.228 2449
+-93.224 31.228 2508
+-93.098 31.228 2555
+-92.972 31.228 2581
+-92.846 31.228 2605
+-92.72 31.228 2627
+-92.594 31.228 2590
+-92.468 31.228 2591
+-92.342 31.228 2589
+-92.216 31.228 2577
+-92.09 31.228 2555
+-91.964 31.228 2498
+-91.838 31.228 2512
+-91.712 31.228 2438
+-91.586 31.228 2340
+-91.46 31.228 2258
+-91.334 31.228 2179
+-91.208 31.228 2149
+-91.082 31.228 2188
+-90.956 31.228 2281
+-90.83 31.228 2393
+-90.704 31.228 2479
+-90.578 31.228 2541
+-90.452 31.228 2576
+-90.326 31.228 2589
+-90.2 31.228 2579
+-90.074 31.228 2573
+-89.948 31.228 2531
+-89.822 31.228 2509
+-89.696 31.228 2480
+-89.57 31.228 2466
+-89.444 31.228 2484
+-89.318 31.228 2526
+-89.192 31.228 2563
+-89.066 31.228 2582
+-88.94 31.228 2586
+-88.814 31.228 2601
+-88.688 31.228 2607
+-88.562 31.228 2638
+-88.436 31.228 2680
+-88.31 31.228 2763
+-88.184 31.228 2824
+-88.058 31.228 2864
+-87.932 31.228 2941
+-87.806 31.228 2995
+-87.68 31.228 3032
+-87.554 31.228 3042
+-87.428 31.228 3063
+-87.302 31.228 3140
+-87.176 31.228 3296
+-87.05 31.228 3488
+-86.924 31.228 3676
+-86.798 31.228 3743
+-86.672 31.228 3805
+-86.546 31.228 3835
+-86.42 31.228 3872
+-86.294 31.228 3885
+-86.168 31.228 3984
+-86.042 31.228 4140
+-85.916 31.228 4210
+-85.79 31.228 4242
+-85.664 31.228 4346
+-85.538 31.228 4514
+-85.412 31.228 4584
+-85.286 31.228 4673
+-85.16 31.228 4823
+-85.034 31.228 4953
+-84.908 31.228 5065
+-84.782 31.228 5109
+-84.656 31.228 5152
+-84.53 31.228 5178
+-84.404 31.228 5256
+-84.278 31.228 5366
+-84.152 31.228 5429
+-84.026 31.228 5523
+-83.9 31.228 5572
+-83.774 31.228 5639
+-83.648 31.228 5718
+-83.522 31.228 5790
+-83.396 31.228 5828
+-83.27 31.228 5862
+-83.144 31.228 5860
+-83.018 31.228 5911
+-82.892 31.228 5931
+-82.766 31.228 5947
+-82.64 31.228 5985
+-82.514 31.228 5989
+-82.388 31.228 5994
+-82.262 31.228 5989
+-82.136 31.228 5990
+-82.01 31.228 5986
+-81.884 31.228 6002
+-81.758 31.228 5993
+-81.632 31.228 5976
+-81.506 31.228 5956
+-81.38 31.228 5924
+-81.254 31.228 5871
+-81.128 31.228 5799
+-81.002 31.228 5767
+-80.876 31.228 5725
+-80.75 31.228 5699
+-80.624 31.228 5637
+-80.498 31.228 5558
+-80.372 31.228 5508
+-80.246 31.228 5442
+-80.12 31.228 5370
+-79.994 31.228 5326
+-79.868 31.228 5225
+-79.742 31.228 5132
+-79.616 31.228 5086
+-79.49 31.228 5030
+-79.364 31.228 4933
+-79.238 31.228 4792
+-79.112 31.228 4684
+-78.986 31.228 4611
+-78.86 31.228 4538
+-78.734 31.228 4455
+-78.608 31.228 4383
+-78.482 31.228 4326
+-78.356 31.228 4241
+-78.23 31.228 4201
+-78.104 31.228 4142
+-77.978 31.228 4057
+-77.852 31.228 4003
+-77.726 31.228 3827
+-77.6 31.228 3726
+-77.474 31.228 3613
+-77.348 31.228 3478
+-77.222 31.228 3344
+-77.096 31.228 3194
+-76.97 31.228 3044
+-76.844 31.228 2874
+-76.718 31.228 2697
+-76.592 31.228 2610
+-76.466 31.228 2657
+-76.34 31.228 2741
+-76.214 31.228 2817
+-76.088 31.228 2874
+-75.962 31.228 2895
+-75.836 31.228 2931
+-75.71 31.228 2981
+-75.584 31.228 3000
+-75.458 31.228 3032
+-75.332 31.228 3063
+-75.206 31.228 3091
+-75.08 31.228 3117
+-74.954 31.228 3177
+-74.828 31.228 3203
+-74.702 31.228 3184
+-74.576 31.228 3204
+-74.45 31.228 3223
+-74.324 31.228 3240
+-74.198 31.228 3246
+-74.072 31.228 3239
+-73.946 31.228 3239
+-73.82 31.228 3218
+-73.694 31.228 3229
+-73.568 31.228 3204
+-73.442 31.228 3242
+-73.316 31.228 3252
+-73.19 31.228 3261
+-73.064 31.228 3270
+-72.938 31.228 3278
+-72.812 31.228 3285
+-72.686 31.228 3292
+-72.56 31.228 3274
+-72.434 31.228 3280
+-72.308 31.228 3286
+-72.182 31.228 3266
+-72.056 31.228 3238
+-71.93 31.228 3226
+-71.804 31.228 3230
+-71.678 31.228 3234
+-71.552 31.228 3238
+-71.426 31.228 3241
+-71.3 31.228 3244
+-71.174 31.228 3248
+-71.048 31.228 3171
+-70.922 31.228 3160
+-70.796 31.228 3164
+-70.67 31.228 3167
+-70.544 31.228 3170
+-70.418 31.228 3173
+-70.292 31.228 3176
+-70.166 31.228 3179
+-70.04 31.228 3182
+-69.914 31.228 3184
+-69.788 31.228 3187
+-69.662 31.228 3189
+-69.536 31.228 3191
+-69.41 31.228 3193
+-69.284 31.228 3195
+-69.158 31.228 3197
+-69.032 31.228 3184
+-68.906 31.228 3186
+-68.78 31.228 3189
+-68.654 31.228 3191
+-68.528 31.228 3193
+-68.402 31.228 3151
+-68.276 31.228 3153
+-68.15 31.228 3154
+-68.024 31.228 3156
+-67.898 31.228 3157
+-67.772 31.228 3158
+-67.646 31.228 3156
+-67.52 31.228 3158
+-67.394 31.228 3134
+-67.268 31.228 3119
+-67.142 31.228 3120
+-67.016 31.228 3121
+-66.89 31.228 3122
+-66.764 31.228 3123
+-66.638 31.228 3124
+-66.512 31.228 3125
+-66.386 31.228 3126
+-66.26 31.228 3126
+-66.134 31.228 3127
+-66.008 31.228 3128
+-65.882 31.228 3036
+-65.756 31.228 3036
+-65.63 31.228 3037
+-65.504 31.228 3038
+-65.378 31.228 3039
+-65.252 31.228 3039
+-65.126 31.228 3040
+-128 31.176 2557
+-127.874 31.176 2560
+-127.748 31.176 2563
+-127.622 31.176 2567
+-127.496 31.176 2571
+-127.37 31.176 2575
+-127.244 31.176 2580
+-127.118 31.176 2585
+-126.992 31.176 2641
+-126.866 31.176 2646
+-126.74 31.176 2709
+-126.614 31.176 2782
+-126.488 31.176 2787
+-126.362 31.176 2792
+-126.236 31.176 2798
+-126.11 31.176 3035
+-125.984 31.176 3070
+-125.858 31.176 3097
+-125.732 31.176 3094
+-125.606 31.176 3092
+-125.48 31.176 3089
+-125.354 31.176 3113
+-125.228 31.176 3109
+-125.102 31.176 3104
+-124.976 31.176 3099
+-124.85 31.176 3106
+-124.724 31.176 3120
+-124.598 31.176 3113
+-124.472 31.176 3125
+-124.346 31.176 3115
+-124.22 31.176 3133
+-124.094 31.176 3179
+-123.968 31.176 3167
+-123.842 31.176 3138
+-123.716 31.176 3151
+-123.59 31.176 3120
+-123.464 31.176 3101
+-123.338 31.176 3082
+-123.212 31.176 3103
+-123.086 31.176 3175
+-122.96 31.176 3278
+-122.834 31.176 3403
+-122.708 31.176 3503
+-122.582 31.176 3576
+-122.456 31.176 3576
+-122.33 31.176 3529
+-122.204 31.176 3677
+-122.078 31.176 3917
+-121.952 31.176 4113
+-121.826 31.176 4201
+-121.7 31.176 4164
+-121.574 31.176 4336
+-121.448 31.176 4589
+-121.322 31.176 4809
+-121.196 31.176 4947
+-121.07 31.176 5020
+-120.944 31.176 5093
+-120.818 31.176 5123
+-120.692 31.176 5329
+-120.566 31.176 5420
+-120.44 31.176 5538
+-120.314 31.176 5598
+-120.188 31.176 5760
+-120.062 31.176 5956
+-119.936 31.176 6009
+-119.81 31.176 6159
+-119.684 31.176 6270
+-119.558 31.176 6395
+-119.432 31.176 6520
+-119.306 31.176 6648
+-119.18 31.176 6753
+-119.054 31.176 6845
+-118.928 31.176 6913
+-118.802 31.176 7042
+-118.676 31.176 7089
+-118.55 31.176 7246
+-118.424 31.176 7318
+-118.298 31.176 7374
+-118.172 31.176 7496
+-118.046 31.176 7578
+-117.92 31.176 7649
+-117.794 31.176 7700
+-117.668 31.176 7755
+-117.542 31.176 7787
+-117.416 31.176 7843
+-117.29 31.176 7875
+-117.164 31.176 7897
+-117.038 31.176 7876
+-116.912 31.176 7909
+-116.786 31.176 7871
+-116.66 31.176 7846
+-116.534 31.176 7797
+-116.408 31.176 7750
+-116.282 31.176 7702
+-116.156 31.176 7673
+-116.03 31.176 7545
+-115.904 31.176 7484
+-115.778 31.176 7406
+-115.652 31.176 7391
+-115.526 31.176 7297
+-115.4 31.176 7209
+-115.274 31.176 7060
+-115.148 31.176 6945
+-115.022 31.176 6810
+-114.896 31.176 6671
+-114.77 31.176 6612
+-114.644 31.176 6505
+-114.518 31.176 6357
+-114.392 31.176 6304
+-114.266 31.176 6183
+-114.14 31.176 6041
+-114.014 31.176 5838
+-113.888 31.176 5889
+-113.762 31.176 5790
+-113.636 31.176 5981
+-113.51 31.176 6108
+-113.384 31.176 6215
+-113.258 31.176 6329
+-113.132 31.176 6418
+-113.006 31.176 6569
+-112.88 31.176 6767
+-112.754 31.176 6903
+-112.628 31.176 6985
+-112.502 31.176 7168
+-112.376 31.176 7251
+-112.25 31.176 7411
+-112.124 31.176 7565
+-111.998 31.176 7684
+-111.872 31.176 7771
+-111.746 31.176 7913
+-111.62 31.176 8128
+-111.494 31.176 8204
+-111.368 31.176 8252
+-111.242 31.176 8440
+-111.116 31.176 8556
+-110.99 31.176 8703
+-110.864 31.176 8777
+-110.738 31.176 8855
+-110.612 31.176 8931
+-110.486 31.176 9024
+-110.36 31.176 8998
+-110.234 31.176 8950
+-110.108 31.176 8872
+-109.982 31.176 8803
+-109.856 31.176 8700
+-109.73 31.176 8581
+-109.604 31.176 8475
+-109.478 31.176 8342
+-109.352 31.176 8222
+-109.226 31.176 8081
+-109.1 31.176 8038
+-108.974 31.176 7822
+-108.848 31.176 7716
+-108.722 31.176 7594
+-108.596 31.176 7469
+-108.47 31.176 7325
+-108.344 31.176 7227
+-108.218 31.176 7101
+-108.092 31.176 6913
+-107.966 31.176 6732
+-107.84 31.176 6660
+-107.714 31.176 6517
+-107.588 31.176 6391
+-107.462 31.176 6358
+-107.336 31.176 6243
+-107.21 31.176 6114
+-107.084 31.176 5935
+-106.958 31.176 5863
+-106.832 31.176 5677
+-106.706 31.176 5476
+-106.58 31.176 5337
+-106.454 31.176 5224
+-106.328 31.176 5029
+-106.202 31.176 4913
+-106.076 31.176 4857
+-105.95 31.176 4741
+-105.824 31.176 4689
+-105.698 31.176 4590
+-105.572 31.176 4474
+-105.446 31.176 4324
+-105.32 31.176 4023
+-105.194 31.176 3871
+-105.068 31.176 3924
+-104.942 31.176 3925
+-104.816 31.176 3852
+-104.69 31.176 3735
+-104.564 31.176 3550
+-104.438 31.176 3337
+-104.312 31.176 3149
+-104.186 31.176 2938
+-104.06 31.176 2761
+-103.934 31.176 2654
+-103.808 31.176 2626
+-103.682 31.176 2651
+-103.556 31.176 2732
+-103.43 31.176 2800
+-103.304 31.176 2887
+-103.178 31.176 2965
+-103.052 31.176 2986
+-102.926 31.176 3018
+-102.8 31.176 3026
+-102.674 31.176 3051
+-102.548 31.176 3078
+-102.422 31.176 3101
+-102.296 31.176 3122
+-102.17 31.176 3139
+-102.044 31.176 3058
+-101.918 31.176 3071
+-101.792 31.176 3081
+-101.666 31.176 3091
+-101.54 31.176 3100
+-101.414 31.176 3109
+-101.288 31.176 3117
+-101.162 31.176 3124
+-101.036 31.176 3131
+-100.91 31.176 3137
+-100.784 31.176 3143
+-100.658 31.176 3149
+-100.532 31.176 3005
+-100.406 31.176 3010
+-100.28 31.176 2867
+-100.154 31.176 2811
+-100.028 31.176 2801
+-99.902 31.176 2752
+-99.776 31.176 2739
+-99.65 31.176 2724
+-99.524 31.176 2707
+-99.398 31.176 2525
+-99.272 31.176 2489
+-99.146 31.176 2465
+-99.02 31.176 2381
+-98.894 31.176 2348
+-98.768 31.176 2321
+-98.642 31.176 2290
+-98.516 31.176 2245
+-98.39 31.176 2206
+-98.264 31.176 2196
+-98.138 31.176 2156
+-98.012 31.176 2137
+-97.886 31.176 2159
+-97.76 31.176 2105
+-97.634 31.176 2061
+-97.508 31.176 2053
+-97.382 31.176 2108
+-97.256 31.176 2057
+-97.13 31.176 2069
+-97.004 31.176 2004
+-96.878 31.176 1957
+-96.752 31.176 1879
+-96.626 31.176 1794
+-96.5 31.176 1700
+-96.374 31.176 1587
+-96.248 31.176 1501
+-96.122 31.176 1392
+-95.996 31.176 1279
+-95.87 31.176 1166
+-95.744 31.176 1060
+-95.618 31.176 964
+-95.492 31.176 871
+-95.366 31.176 800
+-95.24 31.176 760
+-95.114 31.176 760
+-94.988 31.176 802
+-94.862 31.176 875
+-94.736 31.176 992
+-94.61 31.176 1139
+-94.484 31.176 1290
+-94.358 31.176 1459
+-94.232 31.176 1627
+-94.106 31.176 1780
+-93.98 31.176 1925
+-93.854 31.176 2051
+-93.728 31.176 2161
+-93.602 31.176 2292
+-93.476 31.176 2377
+-93.35 31.176 2446
+-93.224 31.176 2503
+-93.098 31.176 2537
+-92.972 31.176 2570
+-92.846 31.176 2599
+-92.72 31.176 2568
+-92.594 31.176 2577
+-92.468 31.176 2583
+-92.342 31.176 2580
+-92.216 31.176 2569
+-92.09 31.176 2523
+-91.964 31.176 2492
+-91.838 31.176 2454
+-91.712 31.176 2438
+-91.586 31.176 2367
+-91.46 31.176 2305
+-91.334 31.176 2252
+-91.208 31.176 2234
+-91.082 31.176 2262
+-90.956 31.176 2332
+-90.83 31.176 2409
+-90.704 31.176 2478
+-90.578 31.176 2524
+-90.452 31.176 2548
+-90.326 31.176 2545
+-90.2 31.176 2537
+-90.074 31.176 2509
+-89.948 31.176 2493
+-89.822 31.176 2479
+-89.696 31.176 2458
+-89.57 31.176 2446
+-89.444 31.176 2462
+-89.318 31.176 2498
+-89.192 31.176 2528
+-89.066 31.176 2535
+-88.94 31.176 2530
+-88.814 31.176 2523
+-88.688 31.176 2517
+-88.562 31.176 2550
+-88.436 31.176 2628
+-88.31 31.176 2729
+-88.184 31.176 2803
+-88.058 31.176 2873
+-87.932 31.176 2918
+-87.806 31.176 2976
+-87.68 31.176 2980
+-87.554 31.176 2963
+-87.428 31.176 2922
+-87.302 31.176 3016
+-87.176 31.176 3212
+-87.05 31.176 3465
+-86.924 31.176 3661
+-86.798 31.176 3771
+-86.672 31.176 3834
+-86.546 31.176 3868
+-86.42 31.176 3881
+-86.294 31.176 3823
+-86.168 31.176 3961
+-86.042 31.176 4143
+-85.916 31.176 4204
+-85.79 31.176 4263
+-85.664 31.176 4366
+-85.538 31.176 4528
+-85.412 31.176 4626
+-85.286 31.176 4764
+-85.16 31.176 4917
+-85.034 31.176 5038
+-84.908 31.176 5083
+-84.782 31.176 5074
+-84.656 31.176 5122
+-84.53 31.176 5204
+-84.404 31.176 5296
+-84.278 31.176 5418
+-84.152 31.176 5503
+-84.026 31.176 5562
+-83.9 31.176 5605
+-83.774 31.176 5690
+-83.648 31.176 5759
+-83.522 31.176 5819
+-83.396 31.176 5808
+-83.27 31.176 5886
+-83.144 31.176 5904
+-83.018 31.176 5951
+-82.892 31.176 5985
+-82.766 31.176 5998
+-82.64 31.176 6047
+-82.514 31.176 6033
+-82.388 31.176 6039
+-82.262 31.176 6057
+-82.136 31.176 6069
+-82.01 31.176 6059
+-81.884 31.176 6033
+-81.758 31.176 5996
+-81.632 31.176 6033
+-81.506 31.176 6005
+-81.38 31.176 5971
+-81.254 31.176 5938
+-81.128 31.176 5882
+-81.002 31.176 5838
+-80.876 31.176 5790
+-80.75 31.176 5770
+-80.624 31.176 5704
+-80.498 31.176 5622
+-80.372 31.176 5541
+-80.246 31.176 5469
+-80.12 31.176 5425
+-79.994 31.176 5387
+-79.868 31.176 5311
+-79.742 31.176 5208
+-79.616 31.176 5151
+-79.49 31.176 5071
+-79.364 31.176 4990
+-79.238 31.176 4882
+-79.112 31.176 4750
+-78.986 31.176 4686
+-78.86 31.176 4619
+-78.734 31.176 4480
+-78.608 31.176 4359
+-78.482 31.176 4391
+-78.356 31.176 4360
+-78.23 31.176 4313
+-78.104 31.176 4212
+-77.978 31.176 4137
+-77.852 31.176 4026
+-77.726 31.176 3881
+-77.6 31.176 3756
+-77.474 31.176 3598
+-77.348 31.176 3464
+-77.222 31.176 3308
+-77.096 31.176 3158
+-76.97 31.176 3006
+-76.844 31.176 2830
+-76.718 31.176 2628
+-76.592 31.176 2527
+-76.466 31.176 2601
+-76.34 31.176 2709
+-76.214 31.176 2787
+-76.088 31.176 2838
+-75.962 31.176 2860
+-75.836 31.176 2912
+-75.71 31.176 2959
+-75.584 31.176 3000
+-75.458 31.176 3040
+-75.332 31.176 3076
+-75.206 31.176 3110
+-75.08 31.176 3146
+-74.954 31.176 3176
+-74.828 31.176 3163
+-74.702 31.176 3186
+-74.576 31.176 3207
+-74.45 31.176 3226
+-74.324 31.176 3234
+-74.198 31.176 3230
+-74.072 31.176 3231
+-73.946 31.176 3211
+-73.82 31.176 3223
+-73.694 31.176 3199
+-73.568 31.176 3237
+-73.442 31.176 3247
+-73.316 31.176 3257
+-73.19 31.176 3266
+-73.064 31.176 3275
+-72.938 31.176 3283
+-72.812 31.176 3290
+-72.686 31.176 3272
+-72.56 31.176 3278
+-72.434 31.176 3285
+-72.308 31.176 3265
+-72.182 31.176 3237
+-72.056 31.176 3225
+-71.93 31.176 3229
+-71.804 31.176 3233
+-71.678 31.176 3237
+-71.552 31.176 3241
+-71.426 31.176 3244
+-71.3 31.176 3248
+-71.174 31.176 3170
+-71.048 31.176 3160
+-70.922 31.176 3164
+-70.796 31.176 3167
+-70.67 31.176 3170
+-70.544 31.176 3174
+-70.418 31.176 3176
+-70.292 31.176 3179
+-70.166 31.176 3182
+-70.04 31.176 3184
+-69.914 31.176 3187
+-69.788 31.176 3189
+-69.662 31.176 3192
+-69.536 31.176 3194
+-69.41 31.176 3196
+-69.284 31.176 3198
+-69.158 31.176 3184
+-69.032 31.176 3187
+-68.906 31.176 3189
+-68.78 31.176 3191
+-68.654 31.176 3193
+-68.528 31.176 3152
+-68.402 31.176 3153
+-68.276 31.176 3155
+-68.15 31.176 3156
+-68.024 31.176 3157
+-67.898 31.176 3159
+-67.772 31.176 3157
+-67.646 31.176 3158
+-67.52 31.176 3134
+-67.394 31.176 3120
+-67.268 31.176 3121
+-67.142 31.176 3122
+-67.016 31.176 3122
+-66.89 31.176 3123
+-66.764 31.176 3124
+-66.638 31.176 3125
+-66.512 31.176 3126
+-66.386 31.176 3126
+-66.26 31.176 3127
+-66.134 31.176 3128
+-66.008 31.176 3036
+-65.882 31.176 3036
+-65.756 31.176 3037
+-65.63 31.176 3038
+-65.504 31.176 3039
+-65.378 31.176 3039
+-65.252 31.176 3040
+-65.126 31.176 3041
+-128 31.124 2547
+-127.874 31.124 2550
+-127.748 31.124 2553
+-127.622 31.124 2556
+-127.496 31.124 2560
+-127.37 31.124 2564
+-127.244 31.124 2568
+-127.118 31.124 2624
+-126.992 31.124 2628
+-126.866 31.124 2692
+-126.74 31.124 2764
+-126.614 31.124 2768
+-126.488 31.124 2774
+-126.362 31.124 2779
+-126.236 31.124 2785
+-126.11 31.124 2791
+-125.984 31.124 2866
+-125.858 31.124 3100
+-125.732 31.124 3097
+-125.606 31.124 3095
+-125.48 31.124 3120
+-125.354 31.124 3116
+-125.228 31.124 3111
+-125.102 31.124 3107
+-124.976 31.124 3115
+-124.85 31.124 3131
+-124.724 31.124 3124
+-124.598 31.124 3139
+-124.472 31.124 3130
+-124.346 31.124 3151
+-124.22 31.124 3187
+-124.094 31.124 3164
+-123.968 31.124 3137
+-123.842 31.124 3129
+-123.716 31.124 3085
+-123.59 31.124 3073
+-123.464 31.124 3005
+-123.338 31.124 2945
+-123.212 31.124 2938
+-123.086 31.124 3032
+-122.96 31.124 3207
+-122.834 31.124 3371
+-122.708 31.124 3504
+-122.582 31.124 3585
+-122.456 31.124 3631
+-122.33 31.124 3641
+-122.204 31.124 3761
+-122.078 31.124 3952
+-121.952 31.124 4081
+-121.826 31.124 4188
+-121.7 31.124 4230
+-121.574 31.124 4364
+-121.448 31.124 4598
+-121.322 31.124 4805
+-121.196 31.124 4898
+-121.07 31.124 4976
+-120.944 31.124 5101
+-120.818 31.124 5213
+-120.692 31.124 5341
+-120.566 31.124 5425
+-120.44 31.124 5545
+-120.314 31.124 5642
+-120.188 31.124 5759
+-120.062 31.124 5873
+-119.936 31.124 6020
+-119.81 31.124 6128
+-119.684 31.124 6214
+-119.558 31.124 6373
+-119.432 31.124 6488
+-119.306 31.124 6582
+-119.18 31.124 6718
+-119.054 31.124 6792
+-118.928 31.124 6958
+-118.802 31.124 6986
+-118.676 31.124 7064
+-118.55 31.124 7179
+-118.424 31.124 7281
+-118.298 31.124 7362
+-118.172 31.124 7451
+-118.046 31.124 7532
+-117.92 31.124 7597
+-117.794 31.124 7667
+-117.668 31.124 7695
+-117.542 31.124 7747
+-117.416 31.124 7810
+-117.29 31.124 7828
+-117.164 31.124 7824
+-117.038 31.124 7836
+-116.912 31.124 7826
+-116.786 31.124 7813
+-116.66 31.124 7810
+-116.534 31.124 7757
+-116.408 31.124 7703
+-116.282 31.124 7651
+-116.156 31.124 7607
+-116.03 31.124 7489
+-115.904 31.124 7438
+-115.778 31.124 7374
+-115.652 31.124 7299
+-115.526 31.124 7234
+-115.4 31.124 7133
+-115.274 31.124 7010
+-115.148 31.124 6869
+-115.022 31.124 6767
+-114.896 31.124 6691
+-114.77 31.124 6581
+-114.644 31.124 6456
+-114.518 31.124 6363
+-114.392 31.124 6260
+-114.266 31.124 6116
+-114.14 31.124 6028
+-114.014 31.124 5894
+-113.888 31.124 5854
+-113.762 31.124 5895
+-113.636 31.124 5964
+-113.51 31.124 6082
+-113.384 31.124 6169
+-113.258 31.124 6330
+-113.132 31.124 6422
+-113.006 31.124 6560
+-112.88 31.124 6734
+-112.754 31.124 6801
+-112.628 31.124 6986
+-112.502 31.124 7174
+-112.376 31.124 7235
+-112.25 31.124 7356
+-112.124 31.124 7538
+-111.998 31.124 7606
+-111.872 31.124 7818
+-111.746 31.124 7984
+-111.62 31.124 8044
+-111.494 31.124 8157
+-111.368 31.124 8324
+-111.242 31.124 8441
+-111.116 31.124 8521
+-110.99 31.124 8640
+-110.864 31.124 8734
+-110.738 31.124 8822
+-110.612 31.124 8876
+-110.486 31.124 8939
+-110.36 31.124 8950
+-110.234 31.124 8910
+-110.108 31.124 8848
+-109.982 31.124 8754
+-109.856 31.124 8649
+-109.73 31.124 8614
+-109.604 31.124 8424
+-109.478 31.124 8341
+-109.352 31.124 8245
+-109.226 31.124 8105
+-109.1 31.124 8018
+-108.974 31.124 7850
+-108.848 31.124 7698
+-108.722 31.124 7568
+-108.596 31.124 7452
+-108.47 31.124 7353
+-108.344 31.124 7171
+-108.218 31.124 7085
+-108.092 31.124 6906
+-107.966 31.124 6741
+-107.84 31.124 6626
+-107.714 31.124 6574
+-107.588 31.124 6408
+-107.462 31.124 6258
+-107.336 31.124 6232
+-107.21 31.124 6104
+-107.084 31.124 5957
+-106.958 31.124 5853
+-106.832 31.124 5712
+-106.706 31.124 5455
+-106.58 31.124 5313
+-106.454 31.124 5249
+-106.328 31.124 5072
+-106.202 31.124 4928
+-106.076 31.124 4799
+-105.95 31.124 4659
+-105.824 31.124 4694
+-105.698 31.124 4643
+-105.572 31.124 4490
+-105.446 31.124 4361
+-105.32 31.124 4091
+-105.194 31.124 3977
+-105.068 31.124 3941
+-104.942 31.124 3896
+-104.816 31.124 3799
+-104.69 31.124 3631
+-104.564 31.124 3490
+-104.438 31.124 3335
+-104.312 31.124 3112
+-104.186 31.124 2884
+-104.06 31.124 2654
+-103.934 31.124 2545
+-103.808 31.124 2597
+-103.682 31.124 2682
+-103.556 31.124 2772
+-103.43 31.124 2858
+-103.304 31.124 2907
+-103.178 31.124 2933
+-103.052 31.124 2972
+-102.926 31.124 2983
+-102.8 31.124 3019
+-102.674 31.124 3049
+-102.548 31.124 3066
+-102.422 31.124 3089
+-102.296 31.124 3085
+-102.17 31.124 3101
+-102.044 31.124 3116
+-101.918 31.124 3060
+-101.792 31.124 3070
+-101.666 31.124 3080
+-101.54 31.124 3090
+-101.414 31.124 3098
+-101.288 31.124 3106
+-101.162 31.124 3114
+-101.036 31.124 3121
+-100.91 31.124 3127
+-100.784 31.124 3134
+-100.658 31.124 3140
+-100.532 31.124 2997
+-100.406 31.124 3001
+-100.28 31.124 2861
+-100.154 31.124 2852
+-100.028 31.124 2796
+-99.902 31.124 2785
+-99.776 31.124 2736
+-99.65 31.124 2721
+-99.524 31.124 2705
+-99.398 31.124 2524
+-99.272 31.124 2489
+-99.146 31.124 2465
+-99.02 31.124 2439
+-98.894 31.124 2350
+-98.768 31.124 2323
+-98.642 31.124 2293
+-98.516 31.124 2248
+-98.39 31.124 2216
+-98.264 31.124 2177
+-98.138 31.124 2165
+-98.012 31.124 2175
+-97.886 31.124 2138
+-97.76 31.124 2098
+-97.634 31.124 2115
+-97.508 31.124 2111
+-97.382 31.124 2113
+-97.256 31.124 2064
+-97.13 31.124 2009
+-97.004 31.124 2043
+-96.878 31.124 1975
+-96.752 31.124 1902
+-96.626 31.124 1820
+-96.5 31.124 1717
+-96.374 31.124 1648
+-96.248 31.124 1556
+-96.122 31.124 1459
+-95.996 31.124 1361
+-95.87 31.124 1270
+-95.744 31.124 1189
+-95.618 31.124 1101
+-95.492 31.124 1025
+-95.366 31.124 971
+-95.24 31.124 946
+-95.114 31.124 954
+-94.988 31.124 981
+-94.862 31.124 1053
+-94.736 31.124 1156
+-94.61 31.124 1268
+-94.484 31.124 1408
+-94.358 31.124 1556
+-94.232 31.124 1697
+-94.106 31.124 1837
+-93.98 31.124 1963
+-93.854 31.124 2077
+-93.728 31.124 2212
+-93.602 31.124 2305
+-93.476 31.124 2382
+-93.35 31.124 2446
+-93.224 31.124 2489
+-93.098 31.124 2529
+-92.972 31.124 2566
+-92.846 31.124 2542
+-92.72 31.124 2558
+-92.594 31.124 2571
+-92.468 31.124 2577
+-92.342 31.124 2575
+-92.216 31.124 2537
+-92.09 31.124 2519
+-91.964 31.124 2497
+-91.838 31.124 2445
+-91.712 31.124 2428
+-91.586 31.124 2417
+-91.46 31.124 2369
+-91.334 31.124 2322
+-91.208 31.124 2314
+-91.082 31.124 2336
+-90.956 31.124 2381
+-90.83 31.124 2438
+-90.704 31.124 2484
+-90.578 31.124 2512
+-90.452 31.124 2515
+-90.326 31.124 2510
+-90.2 31.124 2482
+-90.074 31.124 2465
+-89.948 31.124 2452
+-89.822 31.124 2452
+-89.696 31.124 2452
+-89.57 31.124 2451
+-89.444 31.124 2461
+-89.318 31.124 2482
+-89.192 31.124 2498
+-89.066 31.124 2499
+-88.94 31.124 2480
+-88.814 31.124 2455
+-88.688 31.124 2437
+-88.562 31.124 2474
+-88.436 31.124 2562
+-88.31 31.124 2688
+-88.184 31.124 2781
+-88.058 31.124 2856
+-87.932 31.124 2940
+-87.806 31.124 2998
+-87.68 31.124 2986
+-87.554 31.124 2903
+-87.428 31.124 2836
+-87.302 31.124 2940
+-87.176 31.124 3184
+-87.05 31.124 3447
+-86.924 31.124 3680
+-86.798 31.124 3797
+-86.672 31.124 3871
+-86.546 31.124 3917
+-86.42 31.124 3933
+-86.294 31.124 3932
+-86.168 31.124 4033
+-86.042 31.124 4168
+-85.916 31.124 4179
+-85.79 31.124 4252
+-85.664 31.124 4437
+-85.538 31.124 4613
+-85.412 31.124 4777
+-85.286 31.124 4874
+-85.16 31.124 4998
+-85.034 31.124 5051
+-84.908 31.124 4998
+-84.782 31.124 5130
+-84.656 31.124 5197
+-84.53 31.124 5265
+-84.404 31.124 5347
+-84.278 31.124 5462
+-84.152 31.124 5549
+-84.026 31.124 5579
+-83.9 31.124 5634
+-83.774 31.124 5738
+-83.648 31.124 5748
+-83.522 31.124 5842
+-83.396 31.124 5893
+-83.27 31.124 5938
+-83.144 31.124 5966
+-83.018 31.124 6013
+-82.892 31.124 6038
+-82.766 31.124 6048
+-82.64 31.124 6058
+-82.514 31.124 6071
+-82.388 31.124 6100
+-82.262 31.124 6127
+-82.136 31.124 6115
+-82.01 31.124 6116
+-81.884 31.124 6111
+-81.758 31.124 6077
+-81.632 31.124 6088
+-81.506 31.124 6052
+-81.38 31.124 6018
+-81.254 31.124 5980
+-81.128 31.124 5933
+-81.002 31.124 5883
+-80.876 31.124 5849
+-80.75 31.124 5770
+-80.624 31.124 5768
+-80.498 31.124 5679
+-80.372 31.124 5596
+-80.246 31.124 5520
+-80.12 31.124 5462
+-79.994 31.124 5420
+-79.868 31.124 5355
+-79.742 31.124 5259
+-79.616 31.124 5174
+-79.49 31.124 5097
+-79.364 31.124 5030
+-79.238 31.124 4944
+-79.112 31.124 4780
+-78.986 31.124 4702
+-78.86 31.124 4654
+-78.734 31.124 4571
+-78.608 31.124 4471
+-78.482 31.124 4447
+-78.356 31.124 4434
+-78.23 31.124 4389
+-78.104 31.124 4310
+-77.978 31.124 4164
+-77.852 31.124 4079
+-77.726 31.124 3944
+-77.6 31.124 3765
+-77.474 31.124 3621
+-77.348 31.124 3476
+-77.222 31.124 3284
+-77.096 31.124 3124
+-76.97 31.124 2978
+-76.844 31.124 2853
+-76.718 31.124 2716
+-76.592 31.124 2622
+-76.466 31.124 2655
+-76.34 31.124 2721
+-76.214 31.124 2763
+-76.088 31.124 2795
+-75.962 31.124 2828
+-75.836 31.124 2879
+-75.71 31.124 2929
+-75.584 31.124 2978
+-75.458 31.124 3024
+-75.332 31.124 3066
+-75.206 31.124 3109
+-75.08 31.124 3145
+-74.954 31.124 3139
+-74.828 31.124 3166
+-74.702 31.124 3190
+-74.576 31.124 3212
+-74.45 31.124 3221
+-74.324 31.124 3219
+-74.198 31.124 3222
+-74.072 31.124 3204
+-73.946 31.124 3217
+-73.82 31.124 3193
+-73.694 31.124 3232
+-73.568 31.124 3243
+-73.442 31.124 3254
+-73.316 31.124 3263
+-73.19 31.124 3272
+-73.064 31.124 3280
+-72.938 31.124 3288
+-72.812 31.124 3270
+-72.686 31.124 3277
+-72.56 31.124 3284
+-72.434 31.124 3264
+-72.308 31.124 3237
+-72.182 31.124 3224
+-72.056 31.124 3229
+-71.93 31.124 3233
+-71.804 31.124 3237
+-71.678 31.124 3241
+-71.552 31.124 3244
+-71.426 31.124 3248
+-71.3 31.124 3170
+-71.174 31.124 3160
+-71.048 31.124 3164
+-70.922 31.124 3167
+-70.796 31.124 3171
+-70.67 31.124 3174
+-70.544 31.124 3177
+-70.418 31.124 3180
+-70.292 31.124 3182
+-70.166 31.124 3185
+-70.04 31.124 3187
+-69.914 31.124 3190
+-69.788 31.124 3192
+-69.662 31.124 3194
+-69.536 31.124 3196
+-69.41 31.124 3198
+-69.284 31.124 3185
+-69.158 31.124 3187
+-69.032 31.124 3190
+-68.906 31.124 3192
+-68.78 31.124 3194
+-68.654 31.124 3152
+-68.528 31.124 3154
+-68.402 31.124 3155
+-68.276 31.124 3157
+-68.15 31.124 3158
+-68.024 31.124 3159
+-67.898 31.124 3157
+-67.772 31.124 3158
+-67.646 31.124 3134
+-67.52 31.124 3120
+-67.394 31.124 3121
+-67.268 31.124 3122
+-67.142 31.124 3123
+-67.016 31.124 3123
+-66.89 31.124 3124
+-66.764 31.124 3125
+-66.638 31.124 3126
+-66.512 31.124 3127
+-66.386 31.124 3127
+-66.26 31.124 3128
+-66.134 31.124 3036
+-66.008 31.124 3037
+-65.882 31.124 3037
+-65.756 31.124 3038
+-65.63 31.124 3039
+-65.504 31.124 3040
+-65.378 31.124 3040
+-65.252 31.124 3041
+-65.126 31.124 3042
+-128 31.072 2501
+-127.874 31.072 2504
+-127.748 31.072 2507
+-127.622 31.072 2511
+-127.496 31.072 2515
+-127.37 31.072 2519
+-127.244 31.072 2606
+-127.118 31.072 2609
+-126.992 31.072 2673
+-126.866 31.072 2744
+-126.74 31.072 2749
+-126.614 31.072 2754
+-126.488 31.072 2759
+-126.362 31.072 2764
+-126.236 31.072 2770
+-126.11 31.072 2777
+-125.984 31.072 2779
+-125.858 31.072 2861
+-125.732 31.072 3100
+-125.606 31.072 3126
+-125.48 31.072 3122
+-125.354 31.072 3118
+-125.228 31.072 3114
+-125.102 31.072 3123
+-124.976 31.072 3140
+-124.85 31.072 3134
+-124.724 31.072 3141
+-124.598 31.072 3135
+-124.472 31.072 3168
+-124.346 31.072 3209
+-124.22 31.072 3189
+-124.094 31.072 3165
+-123.968 31.072 3135
+-123.842 31.072 3096
+-123.716 31.072 3062
+-123.59 31.072 3009
+-123.464 31.072 2895
+-123.338 31.072 2752
+-123.212 31.072 2685
+-123.086 31.072 2816
+-122.96 31.072 3087
+-122.834 31.072 3330
+-122.708 31.072 3503
+-122.582 31.072 3642
+-122.456 31.072 3714
+-122.33 31.072 3791
+-122.204 31.072 3868
+-122.078 31.072 3960
+-121.952 31.072 3999
+-121.826 31.072 4115
+-121.7 31.072 4247
+-121.574 31.072 4373
+-121.448 31.072 4615
+-121.322 31.072 4771
+-121.196 31.072 4877
+-121.07 31.072 4884
+-120.944 31.072 5033
+-120.818 31.072 5212
+-120.692 31.072 5331
+-120.566 31.072 5341
+-120.44 31.072 5501
+-120.314 31.072 5528
+-120.188 31.072 5719
+-120.062 31.072 5851
+-119.936 31.072 5912
+-119.81 31.072 6109
+-119.684 31.072 6241
+-119.558 31.072 6361
+-119.432 31.072 6474
+-119.306 31.072 6559
+-119.18 31.072 6662
+-119.054 31.072 6782
+-118.928 31.072 6903
+-118.802 31.072 6984
+-118.676 31.072 7091
+-118.55 31.072 7116
+-118.424 31.072 7230
+-118.298 31.072 7350
+-118.172 31.072 7424
+-118.046 31.072 7484
+-117.92 31.072 7558
+-117.794 31.072 7583
+-117.668 31.072 7643
+-117.542 31.072 7665
+-117.416 31.072 7732
+-117.29 31.072 7726
+-117.164 31.072 7771
+-117.038 31.072 7761
+-116.912 31.072 7765
+-116.786 31.072 7758
+-116.66 31.072 7736
+-116.534 31.072 7692
+-116.408 31.072 7679
+-116.282 31.072 7606
+-116.156 31.072 7529
+-116.03 31.072 7503
+-115.904 31.072 7436
+-115.778 31.072 7355
+-115.652 31.072 7199
+-115.526 31.072 7179
+-115.4 31.072 7040
+-115.274 31.072 6944
+-115.148 31.072 6821
+-115.022 31.072 6761
+-114.896 31.072 6656
+-114.77 31.072 6565
+-114.644 31.072 6436
+-114.518 31.072 6334
+-114.392 31.072 6236
+-114.266 31.072 6140
+-114.14 31.072 6000
+-114.014 31.072 5861
+-113.888 31.072 5672
+-113.762 31.072 5827
+-113.636 31.072 5983
+-113.51 31.072 6046
+-113.384 31.072 6193
+-113.258 31.072 6348
+-113.132 31.072 6409
+-113.006 31.072 6595
+-112.88 31.072 6727
+-112.754 31.072 6864
+-112.628 31.072 7020
+-112.502 31.072 7094
+-112.376 31.072 7232
+-112.25 31.072 7434
+-112.124 31.072 7451
+-111.998 31.072 7610
+-111.872 31.072 7768
+-111.746 31.072 7960
+-111.62 31.072 8005
+-111.494 31.072 8168
+-111.368 31.072 8289
+-111.242 31.072 8385
+-111.116 31.072 8483
+-110.99 31.072 8596
+-110.864 31.072 8708
+-110.738 31.072 8794
+-110.612 31.072 8856
+-110.486 31.072 8886
+-110.36 31.072 8869
+-110.234 31.072 8855
+-110.108 31.072 8792
+-109.982 31.072 8741
+-109.856 31.072 8641
+-109.73 31.072 8496
+-109.604 31.072 8496
+-109.478 31.072 8322
+-109.352 31.072 8182
+-109.226 31.072 8104
+-109.1 31.072 7993
+-108.974 31.072 7836
+-108.848 31.072 7696
+-108.722 31.072 7606
+-108.596 31.072 7427
+-108.47 31.072 7317
+-108.344 31.072 7220
+-108.218 31.072 7064
+-108.092 31.072 6889
+-107.966 31.072 6765
+-107.84 31.072 6641
+-107.714 31.072 6506
+-107.588 31.072 6364
+-107.462 31.072 6210
+-107.336 31.072 6169
+-107.21 31.072 6061
+-107.084 31.072 5923
+-106.958 31.072 5783
+-106.832 31.072 5679
+-106.706 31.072 5537
+-106.58 31.072 5363
+-106.454 31.072 5274
+-106.328 31.072 5078
+-106.202 31.072 4901
+-106.076 31.072 4798
+-105.95 31.072 4754
+-105.824 31.072 4717
+-105.698 31.072 4662
+-105.572 31.072 4510
+-105.446 31.072 4344
+-105.32 31.072 4198
+-105.194 31.072 4060
+-105.068 31.072 3955
+-104.942 31.072 3855
+-104.816 31.072 3683
+-104.69 31.072 3541
+-104.564 31.072 3416
+-104.438 31.072 3290
+-104.312 31.072 3124
+-104.186 31.072 2860
+-104.06 31.072 2576
+-103.934 31.072 2437
+-103.808 31.072 2534
+-103.682 31.072 2684
+-103.556 31.072 2800
+-103.43 31.072 2856
+-103.304 31.072 2913
+-103.178 31.072 2936
+-103.052 31.072 2980
+-102.926 31.072 3017
+-102.8 31.072 3013
+-102.674 31.072 3041
+-102.548 31.072 3065
+-102.422 31.072 3066
+-102.296 31.072 3074
+-102.17 31.072 3084
+-102.044 31.072 3104
+-101.918 31.072 3111
+-101.792 31.072 3060
+-101.666 31.072 3070
+-101.54 31.072 3079
+-101.414 31.072 3088
+-101.288 31.072 3096
+-101.162 31.072 3104
+-101.036 31.072 3111
+-100.91 31.072 3118
+-100.784 31.072 3125
+-100.658 31.072 3131
+-100.532 31.072 3137
+-100.406 31.072 2993
+-100.28 31.072 2855
+-100.154 31.072 2847
+-100.028 31.072 2838
+-99.902 31.072 2781
+-99.776 31.072 2769
+-99.65 31.072 2719
+-99.524 31.072 2703
+-99.398 31.072 2619
+-99.272 31.072 2489
+-99.146 31.072 2466
+-99.02 31.072 2440
+-98.894 31.072 2352
+-98.768 31.072 2324
+-98.642 31.072 2296
+-98.516 31.072 2252
+-98.39 31.072 2229
+-98.264 31.072 2187
+-98.138 31.072 2148
+-98.012 31.072 2129
+-97.886 31.072 2122
+-97.76 31.072 2153
+-97.634 31.072 2119
+-97.508 31.072 2117
+-97.382 31.072 2120
+-97.256 31.072 2072
+-97.13 31.072 2050
+-97.004 31.072 2062
+-96.878 31.072 1998
+-96.752 31.072 1925
+-96.626 31.072 1831
+-96.5 31.072 1777
+-96.374 31.072 1698
+-96.248 31.072 1616
+-96.122 31.072 1530
+-95.996 31.072 1455
+-95.87 31.072 1389
+-95.744 31.072 1309
+-95.618 31.072 1237
+-95.492 31.072 1179
+-95.366 31.072 1140
+-95.24 31.072 1129
+-95.114 31.072 1122
+-94.988 31.072 1158
+-94.862 31.072 1223
+-94.736 31.072 1298
+-94.61 31.072 1405
+-94.484 31.072 1525
+-94.358 31.072 1647
+-94.232 31.072 1774
+-94.106 31.072 1893
+-93.98 31.072 2005
+-93.854 31.072 2140
+-93.728 31.072 2236
+-93.602 31.072 2318
+-93.476 31.072 2389
+-93.35 31.072 2439
+-93.224 31.072 2486
+-93.098 31.072 2529
+-92.972 31.072 2511
+-92.846 31.072 2534
+-92.72 31.072 2554
+-92.594 31.072 2567
+-92.468 31.072 2573
+-92.342 31.072 2542
+-92.216 31.072 2534
+-92.09 31.072 2522
+-91.964 31.072 2480
+-91.838 31.072 2451
+-91.712 31.072 2441
+-91.586 31.072 2450
+-91.46 31.072 2412
+-91.334 31.072 2392
+-91.208 31.072 2387
+-91.082 31.072 2402
+-90.956 31.072 2430
+-90.83 31.072 2453
+-90.704 31.072 2478
+-90.578 31.072 2495
+-90.452 31.072 2469
+-90.326 31.072 2454
+-90.2 31.072 2436
+-90.074 31.072 2408
+-89.948 31.072 2394
+-89.822 31.072 2396
+-89.696 31.072 2414
+-89.57 31.072 2435
+-89.444 31.072 2451
+-89.318 31.072 2466
+-89.192 31.072 2474
+-89.066 31.072 2469
+-88.94 31.072 2450
+-88.814 31.072 2426
+-88.688 31.072 2403
+-88.562 31.072 2438
+-88.436 31.072 2545
+-88.31 31.072 2670
+-88.184 31.072 2779
+-88.058 31.072 2876
+-87.932 31.072 2938
+-87.806 31.072 3008
+-87.68 31.072 3018
+-87.554 31.072 2959
+-87.428 31.072 2923
+-87.302 31.072 3014
+-87.176 31.072 3232
+-87.05 31.072 3471
+-86.924 31.072 3684
+-86.798 31.072 3823
+-86.672 31.072 3898
+-86.546 31.072 3977
+-86.42 31.072 4003
+-86.294 31.072 4035
+-86.168 31.072 4092
+-86.042 31.072 4186
+-85.916 31.072 4228
+-85.79 31.072 4330
+-85.664 31.072 4517
+-85.538 31.072 4681
+-85.412 31.072 4854
+-85.286 31.072 4942
+-85.16 31.072 5053
+-85.034 31.072 5114
+-84.908 31.072 5120
+-84.782 31.072 5193
+-84.656 31.072 5272
+-84.53 31.072 5324
+-84.404 31.072 5399
+-84.278 31.072 5499
+-84.152 31.072 5549
+-84.026 31.072 5610
+-83.9 31.072 5688
+-83.774 31.072 5784
+-83.648 31.072 5830
+-83.522 31.072 5906
+-83.396 31.072 5934
+-83.27 31.072 5994
+-83.144 31.072 6043
+-83.018 31.072 6064
+-82.892 31.072 6136
+-82.766 31.072 6114
+-82.64 31.072 6133
+-82.514 31.072 6177
+-82.388 31.072 6165
+-82.262 31.072 6175
+-82.136 31.072 6162
+-82.01 31.072 6190
+-81.884 31.072 6150
+-81.758 31.072 6133
+-81.632 31.072 6109
+-81.506 31.072 6103
+-81.38 31.072 6075
+-81.254 31.072 6021
+-81.128 31.072 5980
+-81.002 31.072 5949
+-80.876 31.072 5885
+-80.75 31.072 5862
+-80.624 31.072 5822
+-80.498 31.072 5744
+-80.372 31.072 5615
+-80.246 31.072 5528
+-80.12 31.072 5517
+-79.994 31.072 5459
+-79.868 31.072 5394
+-79.742 31.072 5290
+-79.616 31.072 5178
+-79.49 31.072 5043
+-79.364 31.072 5053
+-79.238 31.072 4995
+-79.112 31.072 4858
+-78.986 31.072 4728
+-78.86 31.072 4606
+-78.734 31.072 4641
+-78.608 31.072 4591
+-78.482 31.072 4538
+-78.356 31.072 4483
+-78.23 31.072 4452
+-78.104 31.072 4320
+-77.978 31.072 4214
+-77.852 31.072 4147
+-77.726 31.072 3977
+-77.6 31.072 3810
+-77.474 31.072 3639
+-77.348 31.072 3473
+-77.222 31.072 3297
+-77.096 31.072 3073
+-76.97 31.072 2928
+-76.844 31.072 2862
+-76.718 31.072 2827
+-76.592 31.072 2764
+-76.466 31.072 2736
+-76.34 31.072 2722
+-76.214 31.072 2711
+-76.088 31.072 2722
+-75.962 31.072 2770
+-75.836 31.072 2832
+-75.71 31.072 2896
+-75.584 31.072 2957
+-75.458 31.072 3011
+-75.332 31.072 3064
+-75.206 31.072 3108
+-75.08 31.072 3111
+-74.954 31.072 3142
+-74.828 31.072 3170
+-74.702 31.072 3195
+-74.576 31.072 3207
+-74.45 31.072 3208
+-74.324 31.072 3212
+-74.198 31.072 3197
+-74.072 31.072 3211
+-73.946 31.072 3188
+-73.82 31.072 3227
+-73.694 31.072 3239
+-73.568 31.072 3250
+-73.442 31.072 3260
+-73.316 31.072 3270
+-73.19 31.072 3278
+-73.064 31.072 3286
+-72.938 31.072 3269
+-72.812 31.072 3276
+-72.686 31.072 3283
+-72.56 31.072 3263
+-72.434 31.072 3236
+-72.308 31.072 3224
+-72.182 31.072 3229
+-72.056 31.072 3233
+-71.93 31.072 3237
+-71.804 31.072 3241
+-71.678 31.072 3244
+-71.552 31.072 3248
+-71.426 31.072 3170
+-71.3 31.072 3161
+-71.174 31.072 3164
+-71.048 31.072 3168
+-70.922 31.072 3171
+-70.796 31.072 3174
+-70.67 31.072 3177
+-70.544 31.072 3180
+-70.418 31.072 3183
+-70.292 31.072 3185
+-70.166 31.072 3188
+-70.04 31.072 3190
+-69.914 31.072 3193
+-69.788 31.072 3195
+-69.662 31.072 3197
+-69.536 31.072 3199
+-69.41 31.072 3185
+-69.284 31.072 3188
+-69.158 31.072 3190
+-69.032 31.072 3192
+-68.906 31.072 3195
+-68.78 31.072 3153
+-68.654 31.072 3155
+-68.528 31.072 3156
+-68.402 31.072 3158
+-68.276 31.072 3159
+-68.15 31.072 3160
+-68.024 31.072 3157
+-67.898 31.072 3158
+-67.772 31.072 3134
+-67.646 31.072 3120
+-67.52 31.072 3121
+-67.394 31.072 3122
+-67.268 31.072 3123
+-67.142 31.072 3124
+-67.016 31.072 3125
+-66.89 31.072 3125
+-66.764 31.072 3126
+-66.638 31.072 3127
+-66.512 31.072 3128
+-66.386 31.072 3128
+-66.26 31.072 3036
+-66.134 31.072 3037
+-66.008 31.072 3037
+-65.882 31.072 3038
+-65.756 31.072 3039
+-65.63 31.072 3040
+-65.504 31.072 3040
+-65.378 31.072 3041
+-65.252 31.072 3042
+-65.126 31.072 3042
+-128 31.02 2490
+-127.874 31.02 2493
+-127.748 31.02 2496
+-127.622 31.02 2499
+-127.496 31.02 2502
+-127.37 31.02 2587
+-127.244 31.02 2590
+-127.118 31.02 2655
+-126.992 31.02 2724
+-126.866 31.02 2728
+-126.74 31.02 2732
+-126.614 31.02 2737
+-126.488 31.02 2742
+-126.362 31.02 2748
+-126.236 31.02 2754
+-126.11 31.02 2756
+-125.984 31.02 2763
+-125.858 31.02 2847
+-125.732 31.02 2855
+-125.606 31.02 3128
+-125.48 31.02 3124
+-125.354 31.02 3121
+-125.228 31.02 3131
+-125.102 31.02 3148
+-124.976 31.02 3143
+-124.85 31.02 3153
+-124.724 31.02 3148
+-124.598 31.02 3165
+-124.472 31.02 3199
+-124.346 31.02 3184
+-124.22 31.02 3165
+-124.094 31.02 3142
+-123.968 31.02 3137
+-123.842 31.02 3094
+-123.716 31.02 3070
+-123.59 31.02 2975
+-123.464 31.02 2844
+-123.338 31.02 2659
+-123.212 31.02 2552
+-123.086 31.02 2692
+-122.96 31.02 3003
+-122.834 31.02 3283
+-122.708 31.02 3525
+-122.582 31.02 3664
+-122.456 31.02 3778
+-122.33 31.02 3866
+-122.204 31.02 3925
+-122.078 31.02 3949
+-121.952 31.02 3895
+-121.826 31.02 4043
+-121.7 31.02 4232
+-121.574 31.02 4367
+-121.448 31.02 4566
+-121.322 31.02 4732
+-121.196 31.02 4842
+-121.07 31.02 4920
+-120.944 31.02 5044
+-120.818 31.02 5169
+-120.692 31.02 5297
+-120.566 31.02 5315
+-120.44 31.02 5488
+-120.314 31.02 5597
+-120.188 31.02 5686
+-120.062 31.02 5851
+-119.936 31.02 5926
+-119.81 31.02 6079
+-119.684 31.02 6237
+-119.558 31.02 6315
+-119.432 31.02 6399
+-119.306 31.02 6493
+-119.18 31.02 6599
+-119.054 31.02 6705
+-118.928 31.02 6847
+-118.802 31.02 6890
+-118.676 31.02 7011
+-118.55 31.02 7100
+-118.424 31.02 7184
+-118.298 31.02 7261
+-118.172 31.02 7363
+-118.046 31.02 7433
+-117.92 31.02 7509
+-117.794 31.02 7560
+-117.668 31.02 7605
+-117.542 31.02 7642
+-117.416 31.02 7687
+-117.29 31.02 7697
+-117.164 31.02 7716
+-117.038 31.02 7716
+-116.912 31.02 7733
+-116.786 31.02 7707
+-116.66 31.02 7671
+-116.534 31.02 7652
+-116.408 31.02 7614
+-116.282 31.02 7573
+-116.156 31.02 7450
+-116.03 31.02 7417
+-115.904 31.02 7350
+-115.778 31.02 7283
+-115.652 31.02 7175
+-115.526 31.02 7106
+-115.4 31.02 7023
+-115.274 31.02 6886
+-115.148 31.02 6876
+-115.022 31.02 6729
+-114.896 31.02 6610
+-114.77 31.02 6519
+-114.644 31.02 6419
+-114.518 31.02 6235
+-114.392 31.02 6144
+-114.266 31.02 6105
+-114.14 31.02 5935
+-114.014 31.02 5851
+-113.888 31.02 5808
+-113.762 31.02 5865
+-113.636 31.02 5984
+-113.51 31.02 6030
+-113.384 31.02 6173
+-113.258 31.02 6321
+-113.132 31.02 6478
+-113.006 31.02 6596
+-112.88 31.02 6718
+-112.754 31.02 6843
+-112.628 31.02 6968
+-112.502 31.02 7062
+-112.376 31.02 7267
+-112.25 31.02 7387
+-112.124 31.02 7506
+-111.998 31.02 7568
+-111.872 31.02 7771
+-111.746 31.02 7818
+-111.62 31.02 7965
+-111.494 31.02 8112
+-111.368 31.02 8209
+-111.242 31.02 8320
+-111.116 31.02 8425
+-110.99 31.02 8556
+-110.864 31.02 8654
+-110.738 31.02 8741
+-110.612 31.02 8781
+-110.486 31.02 8817
+-110.36 31.02 8827
+-110.234 31.02 8818
+-110.108 31.02 8741
+-109.982 31.02 8688
+-109.856 31.02 8586
+-109.73 31.02 8471
+-109.604 31.02 8364
+-109.478 31.02 8255
+-109.352 31.02 8185
+-109.226 31.02 8120
+-109.1 31.02 7956
+-108.974 31.02 7795
+-108.848 31.02 7697
+-108.722 31.02 7546
+-108.596 31.02 7367
+-108.47 31.02 7298
+-108.344 31.02 7144
+-108.218 31.02 7030
+-108.092 31.02 6913
+-107.966 31.02 6735
+-107.84 31.02 6661
+-107.714 31.02 6458
+-107.588 31.02 6357
+-107.462 31.02 6272
+-107.336 31.02 6063
+-107.21 31.02 6017
+-107.084 31.02 5851
+-106.958 31.02 5702
+-106.832 31.02 5541
+-106.706 31.02 5573
+-106.58 31.02 5437
+-106.454 31.02 5279
+-106.328 31.02 5064
+-106.202 31.02 4919
+-106.076 31.02 4819
+-105.95 31.02 4783
+-105.824 31.02 4739
+-105.698 31.02 4644
+-105.572 31.02 4510
+-105.446 31.02 4370
+-105.32 31.02 4243
+-105.194 31.02 4146
+-105.068 31.02 3928
+-104.942 31.02 3747
+-104.816 31.02 3587
+-104.69 31.02 3433
+-104.564 31.02 3329
+-104.438 31.02 3260
+-104.312 31.02 3151
+-104.186 31.02 2952
+-104.06 31.02 2690
+-103.934 31.02 2563
+-103.808 31.02 2627
+-103.682 31.02 2741
+-103.556 31.02 2820
+-103.43 31.02 2879
+-103.304 31.02 2910
+-103.178 31.02 2952
+-103.052 31.02 2989
+-102.926 31.02 3021
+-102.8 31.02 3049
+-102.674 31.02 3034
+-102.548 31.02 3026
+-102.422 31.02 3044
+-102.296 31.02 3060
+-102.17 31.02 3074
+-102.044 31.02 3087
+-101.918 31.02 3099
+-101.792 31.02 3111
+-101.666 31.02 3059
+-101.54 31.02 3069
+-101.414 31.02 3077
+-101.288 31.02 3086
+-101.162 31.02 3094
+-101.036 31.02 3101
+-100.91 31.02 3109
+-100.784 31.02 3116
+-100.658 31.02 3122
+-100.532 31.02 3129
+-100.406 31.02 3135
+-100.28 31.02 2850
+-100.154 31.02 2842
+-100.028 31.02 2833
+-99.902 31.02 2823
+-99.776 31.02 2765
+-99.65 31.02 2752
+-99.524 31.02 2701
+-99.398 31.02 2619
+-99.272 31.02 2598
+-99.146 31.02 2466
+-99.02 31.02 2372
+-98.894 31.02 2341
+-98.768 31.02 2327
+-98.642 31.02 2298
+-98.516 31.02 2257
+-98.39 31.02 2235
+-98.264 31.02 2202
+-98.138 31.02 2182
+-98.012 31.02 2164
+-97.886 31.02 2174
+-97.76 31.02 2158
+-97.634 31.02 2073
+-97.508 31.02 2038
+-97.382 31.02 2083
+-97.256 31.02 2114
+-97.13 31.02 2066
+-97.004 31.02 2015
+-96.878 31.02 2018
+-96.752 31.02 1930
+-96.626 31.02 1890
+-96.5 31.02 1823
+-96.374 31.02 1752
+-96.248 31.02 1676
+-96.122 31.02 1615
+-95.996 31.02 1564
+-95.87 31.02 1493
+-95.744 31.02 1427
+-95.618 31.02 1370
+-95.492 31.02 1326
+-95.366 31.02 1306
+-95.24 31.02 1275
+-95.114 31.02 1287
+-94.988 31.02 1323
+-94.862 31.02 1364
+-94.736 31.02 1440
+-94.61 31.02 1533
+-94.484 31.02 1631
+-94.358 31.02 1740
+-94.232 31.02 1846
+-94.106 31.02 1950
+-93.98 31.02 2080
+-93.854 31.02 2176
+-93.728 31.02 2260
+-93.602 31.02 2335
+-93.476 31.02 2389
+-93.35 31.02 2441
+-93.224 31.02 2490
+-93.098 31.02 2478
+-92.972 31.02 2506
+-92.846 31.02 2532
+-92.72 31.02 2551
+-92.594 31.02 2565
+-92.468 31.02 2539
+-92.342 31.02 2538
+-92.216 31.02 2536
+-92.09 31.02 2499
+-91.964 31.02 2480
+-91.838 31.02 2483
+-91.712 31.02 2465
+-91.586 31.02 2483
+-91.46 31.02 2461
+-91.334 31.02 2446
+-91.208 31.02 2443
+-91.082 31.02 2451
+-90.956 31.02 2457
+-90.83 31.02 2472
+-90.704 31.02 2471
+-90.578 31.02 2462
+-90.452 31.02 2448
+-90.326 31.02 2420
+-90.2 31.02 2381
+-90.074 31.02 2344
+-89.948 31.02 2302
+-89.822 31.02 2290
+-89.696 31.02 2325
+-89.57 31.02 2378
+-89.444 31.02 2418
+-89.318 31.02 2441
+-89.192 31.02 2446
+-89.066 31.02 2436
+-88.94 31.02 2425
+-88.814 31.02 2418
+-88.688 31.02 2422
+-88.562 31.02 2460
+-88.436 31.02 2554
+-88.31 31.02 2664
+-88.184 31.02 2776
+-88.058 31.02 2867
+-87.932 31.02 2933
+-87.806 31.02 3039
+-87.68 31.02 3077
+-87.554 31.02 3071
+-87.428 31.02 3076
+-87.302 31.02 3153
+-87.176 31.02 3323
+-87.05 31.02 3557
+-86.924 31.02 3697
+-86.798 31.02 3822
+-86.672 31.02 3958
+-86.546 31.02 4013
+-86.42 31.02 4034
+-86.294 31.02 4035
+-86.168 31.02 4097
+-86.042 31.02 4225
+-85.916 31.02 4335
+-85.79 31.02 4447
+-85.664 31.02 4590
+-85.538 31.02 4777
+-85.412 31.02 4947
+-85.286 31.02 5040
+-85.16 31.02 5118
+-85.034 31.02 5179
+-84.908 31.02 5221
+-84.782 31.02 5271
+-84.656 31.02 5324
+-84.53 31.02 5382
+-84.404 31.02 5451
+-84.278 31.02 5570
+-84.152 31.02 5588
+-84.026 31.02 5692
+-83.9 31.02 5765
+-83.774 31.02 5852
+-83.648 31.02 5914
+-83.522 31.02 5969
+-83.396 31.02 6012
+-83.27 31.02 6047
+-83.144 31.02 6078
+-83.018 31.02 6100
+-82.892 31.02 6134
+-82.766 31.02 6178
+-82.64 31.02 6219
+-82.514 31.02 6238
+-82.388 31.02 6238
+-82.262 31.02 6226
+-82.136 31.02 6226
+-82.01 31.02 6221
+-81.884 31.02 6231
+-81.758 31.02 6214
+-81.632 31.02 6167
+-81.506 31.02 6129
+-81.38 31.02 6091
+-81.254 31.02 6053
+-81.128 31.02 6057
+-81.002 31.02 5982
+-80.876 31.02 5964
+-80.75 31.02 5931
+-80.624 31.02 5883
+-80.498 31.02 5817
+-80.372 31.02 5685
+-80.246 31.02 5603
+-80.12 31.02 5551
+-79.994 31.02 5501
+-79.868 31.02 5425
+-79.742 31.02 5320
+-79.616 31.02 5226
+-79.49 31.02 5130
+-79.364 31.02 5018
+-79.238 31.02 5009
+-79.112 31.02 4945
+-78.986 31.02 4829
+-78.86 31.02 4720
+-78.734 31.02 4702
+-78.608 31.02 4678
+-78.482 31.02 4582
+-78.356 31.02 4529
+-78.23 31.02 4444
+-78.104 31.02 4355
+-77.978 31.02 4305
+-77.852 31.02 4162
+-77.726 31.02 4009
+-77.6 31.02 3863
+-77.474 31.02 3728
+-77.348 31.02 3528
+-77.222 31.02 3286
+-77.096 31.02 3081
+-76.97 31.02 2903
+-76.844 31.02 2836
+-76.718 31.02 2852
+-76.592 31.02 2823
+-76.466 31.02 2747
+-76.34 31.02 2648
+-76.214 31.02 2584
+-76.088 31.02 2607
+-75.962 31.02 2685
+-75.836 31.02 2777
+-75.71 31.02 2864
+-75.584 31.02 2939
+-75.458 31.02 3007
+-75.332 31.02 3063
+-75.206 31.02 3077
+-75.08 31.02 3115
+-74.954 31.02 3149
+-74.828 31.02 3177
+-74.702 31.02 3192
+-74.576 31.02 3197
+-74.45 31.02 3202
+-74.324 31.02 3189
+-74.198 31.02 3205
+-74.072 31.02 3183
+-73.946 31.02 3223
+-73.82 31.02 3235
+-73.694 31.02 3247
+-73.568 31.02 3258
+-73.442 31.02 3267
+-73.316 31.02 3276
+-73.19 31.02 3285
+-73.064 31.02 3268
+-72.938 31.02 3275
+-72.812 31.02 3282
+-72.686 31.02 3263
+-72.56 31.02 3236
+-72.434 31.02 3224
+-72.308 31.02 3229
+-72.182 31.02 3233
+-72.056 31.02 3237
+-71.93 31.02 3241
+-71.804 31.02 3245
+-71.678 31.02 3248
+-71.552 31.02 3171
+-71.426 31.02 3161
+-71.3 31.02 3165
+-71.174 31.02 3168
+-71.048 31.02 3172
+-70.922 31.02 3175
+-70.796 31.02 3178
+-70.67 31.02 3181
+-70.544 31.02 3184
+-70.418 31.02 3186
+-70.292 31.02 3189
+-70.166 31.02 3191
+-70.04 31.02 3193
+-69.914 31.02 3196
+-69.788 31.02 3198
+-69.662 31.02 3200
+-69.536 31.02 3186
+-69.41 31.02 3189
+-69.284 31.02 3191
+-69.158 31.02 3193
+-69.032 31.02 3195
+-68.906 31.02 3154
+-68.78 31.02 3156
+-68.654 31.02 3157
+-68.528 31.02 3158
+-68.402 31.02 3160
+-68.276 31.02 3161
+-68.15 31.02 3157
+-68.024 31.02 3158
+-67.898 31.02 3135
+-67.772 31.02 3120
+-67.646 31.02 3121
+-67.52 31.02 3122
+-67.394 31.02 3123
+-67.268 31.02 3124
+-67.142 31.02 3125
+-67.016 31.02 3126
+-66.89 31.02 3126
+-66.764 31.02 3127
+-66.638 31.02 3128
+-66.512 31.02 3129
+-66.386 31.02 3036
+-66.26 31.02 3037
+-66.134 31.02 3038
+-66.008 31.02 3038
+-65.882 31.02 3039
+-65.756 31.02 3040
+-65.63 31.02 3041
+-65.504 31.02 3041
+-65.378 31.02 3042
+-65.252 31.02 3043
+-65.126 31.02 3043
+-128 30.968 2478
+-127.874 30.968 2480
+-127.748 30.968 2483
+-127.622 30.968 2485
+-127.496 30.968 2569
+-127.37 30.968 2571
+-127.244 30.968 2635
+-127.118 30.968 2704
+-126.992 30.968 2707
+-126.866 30.968 2710
+-126.74 30.968 2714
+-126.614 30.968 2719
+-126.488 30.968 2724
+-126.362 30.968 2730
+-126.236 30.968 2731
+-126.11 30.968 2738
+-125.984 30.968 2822
+-125.858 30.968 2831
+-125.732 30.968 2839
+-125.606 30.968 2848
+-125.48 30.968 3127
+-125.354 30.968 3138
+-125.228 30.968 3156
+-125.102 30.968 3152
+-124.976 30.968 3164
+-124.85 30.968 3159
+-124.724 30.968 3207
+-124.598 30.968 3196
+-124.472 30.968 3204
+-124.346 30.968 3190
+-124.22 30.968 3172
+-124.094 30.968 3150
+-123.968 30.968 3121
+-123.842 30.968 3091
+-123.716 30.968 3079
+-123.59 30.968 2997
+-123.464 30.968 2874
+-123.338 30.968 2738
+-123.212 30.968 2668
+-123.086 30.968 2786
+-122.96 30.968 3066
+-122.834 30.968 3328
+-122.708 30.968 3513
+-122.582 30.968 3690
+-122.456 30.968 3815
+-122.33 30.968 3898
+-122.204 30.968 3940
+-122.078 30.968 3984
+-121.952 30.968 4013
+-121.826 30.968 4112
+-121.7 30.968 4241
+-121.574 30.968 4356
+-121.448 30.968 4521
+-121.322 30.968 4667
+-121.196 30.968 4775
+-121.07 30.968 4875
+-120.944 30.968 4955
+-120.818 30.968 5066
+-120.692 30.968 5242
+-120.566 30.968 5373
+-120.44 30.968 5475
+-120.314 30.968 5604
+-120.188 30.968 5691
+-120.062 30.968 5790
+-119.936 30.968 5915
+-119.81 30.968 6054
+-119.684 30.968 6169
+-119.558 30.968 6254
+-119.432 30.968 6399
+-119.306 30.968 6456
+-119.18 30.968 6549
+-119.054 30.968 6636
+-118.928 30.968 6782
+-118.802 30.968 6908
+-118.676 30.968 6917
+-118.55 30.968 7079
+-118.424 30.968 7127
+-118.298 30.968 7205
+-118.172 30.968 7299
+-118.046 30.968 7351
+-117.92 30.968 7421
+-117.794 30.968 7487
+-117.668 30.968 7538
+-117.542 30.968 7584
+-117.416 30.968 7627
+-117.29 30.968 7652
+-117.164 30.968 7660
+-117.038 30.968 7657
+-116.912 30.968 7653
+-116.786 30.968 7645
+-116.66 30.968 7617
+-116.534 30.968 7580
+-116.408 30.968 7528
+-116.282 30.968 7520
+-116.156 30.968 7436
+-116.03 30.968 7399
+-115.904 30.968 7295
+-115.778 30.968 7247
+-115.652 30.968 7132
+-115.526 30.968 7066
+-115.4 30.968 6958
+-115.274 30.968 6885
+-115.148 30.968 6813
+-115.022 30.968 6698
+-114.896 30.968 6641
+-114.77 30.968 6490
+-114.644 30.968 6356
+-114.518 30.968 6276
+-114.392 30.968 6161
+-114.266 30.968 6040
+-114.14 30.968 5848
+-114.014 30.968 5812
+-113.888 30.968 5757
+-113.762 30.968 5817
+-113.636 30.968 5951
+-113.51 30.968 6041
+-113.384 30.968 6135
+-113.258 30.968 6282
+-113.132 30.968 6473
+-113.006 30.968 6614
+-112.88 30.968 6698
+-112.754 30.968 6869
+-112.628 30.968 6947
+-112.502 30.968 7045
+-112.376 30.968 7229
+-112.25 30.968 7397
+-112.124 30.968 7455
+-111.998 30.968 7626
+-111.872 30.968 7698
+-111.746 30.968 7820
+-111.62 30.968 7956
+-111.494 30.968 8081
+-111.368 30.968 8219
+-111.242 30.968 8315
+-111.116 30.968 8423
+-110.99 30.968 8484
+-110.864 30.968 8603
+-110.738 30.968 8688
+-110.612 30.968 8752
+-110.486 30.968 8779
+-110.36 30.968 8805
+-110.234 30.968 8748
+-110.108 30.968 8734
+-109.982 30.968 8636
+-109.856 30.968 8579
+-109.73 30.968 8438
+-109.604 30.968 8344
+-109.478 30.968 8269
+-109.352 30.968 8152
+-109.226 30.968 7997
+-109.1 30.968 7940
+-108.974 30.968 7836
+-108.848 30.968 7705
+-108.722 30.968 7547
+-108.596 30.968 7384
+-108.47 30.968 7284
+-108.344 30.968 7107
+-108.218 30.968 7011
+-108.092 30.968 6882
+-107.966 30.968 6783
+-107.84 30.968 6653
+-107.714 30.968 6486
+-107.588 30.968 6301
+-107.462 30.968 6182
+-107.336 30.968 6056
+-107.21 30.968 6012
+-107.084 30.968 5930
+-106.958 30.968 5803
+-106.832 30.968 5685
+-106.706 30.968 5595
+-106.58 30.968 5432
+-106.454 30.968 5257
+-106.328 30.968 5069
+-106.202 30.968 4952
+-106.076 30.968 4866
+-105.95 30.968 4809
+-105.824 30.968 4724
+-105.698 30.968 4607
+-105.572 30.968 4497
+-105.446 30.968 4348
+-105.32 30.968 4246
+-105.194 30.968 4142
+-105.068 30.968 3904
+-104.942 30.968 3686
+-104.816 30.968 3492
+-104.69 30.968 3308
+-104.564 30.968 3216
+-104.438 30.968 3216
+-104.312 30.968 3180
+-104.186 30.968 3040
+-104.06 30.968 2893
+-103.934 30.968 2799
+-103.808 30.968 2787
+-103.682 30.968 2829
+-103.556 30.968 2870
+-103.43 30.968 2897
+-103.304 30.968 2937
+-103.178 30.968 2972
+-103.052 30.968 2998
+-102.926 30.968 3024
+-102.8 30.968 3035
+-102.674 30.968 3002
+-102.548 30.968 3020
+-102.422 30.968 3035
+-102.296 30.968 3050
+-102.17 30.968 3064
+-102.044 30.968 3076
+-101.918 30.968 3088
+-101.792 30.968 3100
+-101.666 30.968 3110
+-101.54 30.968 3058
+-101.414 30.968 3067
+-101.288 30.968 3076
+-101.162 30.968 3084
+-101.036 30.968 3092
+-100.91 30.968 3100
+-100.784 30.968 3107
+-100.658 30.968 3114
+-100.532 30.968 3120
+-100.406 30.968 3127
+-100.28 30.968 2845
+-100.154 30.968 2837
+-100.028 30.968 2829
+-99.902 30.968 2819
+-99.776 30.968 2759
+-99.65 30.968 2749
+-99.524 30.968 2696
+-99.398 30.968 2620
+-99.272 30.968 2488
+-99.146 30.968 2466
+-99.02 30.968 2443
+-98.894 30.968 2344
+-98.768 30.968 2317
+-98.642 30.968 2288
+-98.516 30.968 2260
+-98.39 30.968 2241
+-98.264 30.968 2208
+-98.138 30.968 2188
+-98.012 30.968 2170
+-97.886 30.968 2180
+-97.76 30.968 2110
+-97.634 30.968 2106
+-97.508 30.968 2072
+-97.382 30.968 2124
+-97.256 30.968 2130
+-97.13 30.968 2085
+-97.004 30.968 2030
+-96.878 30.968 1953
+-96.752 30.968 1988
+-96.626 30.968 1930
+-96.5 30.968 1870
+-96.374 30.968 1802
+-96.248 30.968 1753
+-96.122 30.968 1715
+-95.996 30.968 1653
+-95.87 30.968 1595
+-95.744 30.968 1541
+-95.618 30.968 1496
+-95.492 30.968 1474
+-95.366 30.968 1426
+-95.24 30.968 1423
+-95.114 30.968 1438
+-94.988 30.968 1454
+-94.862 30.968 1504
+-94.736 30.968 1571
+-94.61 30.968 1645
+-94.484 30.968 1733
+-94.358 30.968 1823
+-94.232 30.968 1915
+-94.106 30.968 2036
+-93.98 30.968 2128
+-93.854 30.968 2210
+-93.728 30.968 2285
+-93.602 30.968 2342
+-93.476 30.968 2397
+-93.35 30.968 2451
+-93.224 30.968 2443
+-93.098 30.968 2475
+-92.972 30.968 2507
+-92.846 30.968 2532
+-92.72 30.968 2551
+-92.594 30.968 2530
+-92.468 30.968 2535
+-92.342 30.968 2539
+-92.216 30.968 2508
+-92.09 30.968 2495
+-91.964 30.968 2486
+-91.838 30.968 2476
+-91.712 30.968 2460
+-91.586 30.968 2515
+-91.46 30.968 2498
+-91.334 30.968 2488
+-91.208 30.968 2484
+-91.082 30.968 2476
+-90.956 30.968 2481
+-90.83 30.968 2474
+-90.704 30.968 2465
+-90.578 30.968 2454
+-90.452 30.968 2430
+-90.326 30.968 2394
+-90.2 30.968 2343
+-90.074 30.968 2274
+-89.948 30.968 2206
+-89.822 30.968 2173
+-89.696 30.968 2219
+-89.57 30.968 2306
+-89.444 30.968 2373
+-89.318 30.968 2407
+-89.192 30.968 2410
+-89.066 30.968 2388
+-88.94 30.968 2367
+-88.814 30.968 2364
+-88.688 30.968 2407
+-88.562 30.968 2476
+-88.436 30.968 2566
+-88.31 30.968 2673
+-88.184 30.968 2790
+-88.058 30.968 2879
+-87.932 30.968 2950
+-87.806 30.968 3044
+-87.68 30.968 3102
+-87.554 30.968 3142
+-87.428 30.968 3186
+-87.302 30.968 3278
+-87.176 30.968 3433
+-87.05 30.968 3556
+-86.924 30.968 3724
+-86.798 30.968 3828
+-86.672 30.968 3981
+-86.546 30.968 4031
+-86.42 30.968 4076
+-86.294 30.968 4075
+-86.168 30.968 4163
+-86.042 30.968 4295
+-85.916 30.968 4417
+-85.79 30.968 4541
+-85.664 30.968 4677
+-85.538 30.968 4867
+-85.412 30.968 5021
+-85.286 30.968 5077
+-85.16 30.968 5152
+-85.034 30.968 5206
+-84.908 30.968 5267
+-84.782 30.968 5311
+-84.656 30.968 5291
+-84.53 30.968 5393
+-84.404 30.968 5480
+-84.278 30.968 5549
+-84.152 30.968 5638
+-84.026 30.968 5766
+-83.9 30.968 5813
+-83.774 30.968 5896
+-83.648 30.968 5949
+-83.522 30.968 6019
+-83.396 30.968 6058
+-83.27 30.968 6102
+-83.144 30.968 6147
+-83.018 30.968 6190
+-82.892 30.968 6226
+-82.766 30.968 6251
+-82.64 30.968 6250
+-82.514 30.968 6279
+-82.388 30.968 6309
+-82.262 30.968 6315
+-82.136 30.968 6306
+-82.01 30.968 6294
+-81.884 30.968 6301
+-81.758 30.968 6258
+-81.632 30.968 6247
+-81.506 30.968 6219
+-81.38 30.968 6186
+-81.254 30.968 6119
+-81.128 30.968 6066
+-81.002 30.968 6028
+-80.876 30.968 5999
+-80.75 30.968 5980
+-80.624 30.968 5931
+-80.498 30.968 5879
+-80.372 30.968 5773
+-80.246 30.968 5684
+-80.12 30.968 5602
+-79.994 30.968 5530
+-79.868 30.968 5466
+-79.742 30.968 5359
+-79.616 30.968 5294
+-79.49 30.968 5184
+-79.364 30.968 5075
+-79.238 30.968 4964
+-79.112 30.968 4983
+-78.986 30.968 4937
+-78.86 30.968 4856
+-78.734 30.968 4793
+-78.608 30.968 4724
+-78.482 30.968 4609
+-78.356 30.968 4489
+-78.23 30.968 4424
+-78.104 30.968 4341
+-77.978 30.968 4302
+-77.852 30.968 4152
+-77.726 30.968 4061
+-77.6 30.968 3890
+-77.474 30.968 3764
+-77.348 30.968 3587
+-77.222 30.968 3370
+-77.096 30.968 3161
+-76.97 30.968 2970
+-76.844 30.968 2889
+-76.718 30.968 2889
+-76.592 30.968 2846
+-76.466 30.968 2699
+-76.34 30.968 2501
+-76.214 30.968 2400
+-76.088 30.968 2462
+-75.962 30.968 2597
+-75.836 30.968 2731
+-75.71 30.968 2841
+-75.584 30.968 2935
+-75.458 30.968 3009
+-75.332 30.968 3038
+-75.206 30.968 3085
+-75.08 30.968 3124
+-74.954 30.968 3158
+-74.828 30.968 3176
+-74.702 30.968 3185
+-74.576 30.968 3193
+-74.45 30.968 3182
+-74.324 30.968 3198
+-74.198 30.968 3178
+-74.072 30.968 3218
+-73.946 30.968 3232
+-73.82 30.968 3244
+-73.694 30.968 3255
+-73.568 30.968 3266
+-73.442 30.968 3275
+-73.316 30.968 3284
+-73.19 30.968 3267
+-73.064 30.968 3274
+-72.938 30.968 3282
+-72.812 30.968 3263
+-72.686 30.968 3236
+-72.56 30.968 3224
+-72.434 30.968 3229
+-72.308 30.968 3233
+-72.182 30.968 3238
+-72.056 30.968 3242
+-71.93 30.968 3245
+-71.804 30.968 3249
+-71.678 30.968 3171
+-71.552 30.968 3162
+-71.426 30.968 3165
+-71.3 30.968 3169
+-71.174 30.968 3172
+-71.048 30.968 3176
+-70.922 30.968 3179
+-70.796 30.968 3182
+-70.67 30.968 3184
+-70.544 30.968 3187
+-70.418 30.968 3190
+-70.292 30.968 3192
+-70.166 30.968 3194
+-70.04 30.968 3197
+-69.914 30.968 3199
+-69.788 30.968 3201
+-69.662 30.968 3187
+-69.536 30.968 3189
+-69.41 30.968 3192
+-69.284 30.968 3194
+-69.158 30.968 3196
+-69.032 30.968 3155
+-68.906 30.968 3156
+-68.78 30.968 3158
+-68.654 30.968 3159
+-68.528 30.968 3161
+-68.402 30.968 3162
+-68.276 30.968 3157
+-68.15 30.968 3159
+-68.024 30.968 3135
+-67.898 30.968 3121
+-67.772 30.968 3122
+-67.646 30.968 3123
+-67.52 30.968 3123
+-67.394 30.968 3124
+-67.268 30.968 3125
+-67.142 30.968 3126
+-67.016 30.968 3127
+-66.89 30.968 3128
+-66.764 30.968 3128
+-66.638 30.968 3129
+-66.512 30.968 3036
+-66.386 30.968 3037
+-66.26 30.968 3038
+-66.134 30.968 3039
+-66.008 30.968 3039
+-65.882 30.968 3040
+-65.756 30.968 3041
+-65.63 30.968 3041
+-65.504 30.968 3042
+-65.378 30.968 3043
+-65.252 30.968 3043
+-65.126 30.968 3044
+-128 30.916 2466
+-127.874 30.916 2467
+-127.748 30.916 2469
+-127.622 30.916 2551
+-127.496 30.916 2552
+-127.37 30.916 2646
+-127.244 30.916 2648
+-127.118 30.916 2651
+-126.992 30.916 2654
+-126.866 30.916 2657
+-126.74 30.916 2661
+-126.614 30.916 2666
+-126.488 30.916 2671
+-126.362 30.916 2705
+-126.236 30.916 2711
+-126.11 30.916 2796
+-125.984 30.916 2804
+-125.858 30.916 2812
+-125.732 30.916 2821
+-125.606 30.916 2830
+-125.48 30.916 2828
+-125.354 30.916 2897
+-125.228 30.916 3159
+-125.102 30.916 3173
+-124.976 30.916 3169
+-124.85 30.916 3219
+-124.724 30.916 3211
+-124.598 30.916 3201
+-124.472 30.916 3190
+-124.346 30.916 3198
+-124.22 30.916 3181
+-124.094 30.916 3161
+-123.968 30.916 3147
+-123.842 30.916 3152
+-123.716 30.916 3105
+-123.59 30.916 3042
+-123.464 30.916 2984
+-123.338 30.916 2907
+-123.212 30.916 2890
+-123.086 30.916 2998
+-122.96 30.916 3183
+-122.834 30.916 3377
+-122.708 30.916 3587
+-122.582 30.916 3707
+-122.456 30.916 3782
+-122.33 30.916 3886
+-122.204 30.916 3955
+-122.078 30.916 4027
+-121.952 30.916 4102
+-121.826 30.916 4164
+-121.7 30.916 4214
+-121.574 30.916 4328
+-121.448 30.916 4512
+-121.322 30.916 4617
+-121.196 30.916 4689
+-121.07 30.916 4821
+-120.944 30.916 4840
+-120.818 30.916 4989
+-120.692 30.916 5130
+-120.566 30.916 5335
+-120.44 30.916 5437
+-120.314 30.916 5557
+-120.188 30.916 5624
+-120.062 30.916 5771
+-119.936 30.916 5887
+-119.81 30.916 5998
+-119.684 30.916 6043
+-119.558 30.916 6202
+-119.432 30.916 6327
+-119.306 30.916 6402
+-119.18 30.916 6521
+-119.054 30.916 6639
+-118.928 30.916 6774
+-118.802 30.916 6845
+-118.676 30.916 6930
+-118.55 30.916 6988
+-118.424 30.916 7131
+-118.298 30.916 7182
+-118.172 30.916 7273
+-118.046 30.916 7338
+-117.92 30.916 7351
+-117.794 30.916 7442
+-117.668 30.916 7471
+-117.542 30.916 7538
+-117.416 30.916 7570
+-117.29 30.916 7574
+-117.164 30.916 7603
+-117.038 30.916 7625
+-116.912 30.916 7578
+-116.786 30.916 7581
+-116.66 30.916 7564
+-116.534 30.916 7551
+-116.408 30.916 7485
+-116.282 30.916 7436
+-116.156 30.916 7417
+-116.03 30.916 7340
+-115.904 30.916 7254
+-115.778 30.916 7204
+-115.652 30.916 7090
+-115.526 30.916 6972
+-115.4 30.916 6938
+-115.274 30.916 6851
+-115.148 30.916 6794
+-115.022 30.916 6680
+-114.896 30.916 6581
+-114.77 30.916 6450
+-114.644 30.916 6333
+-114.518 30.916 6253
+-114.392 30.916 6154
+-114.266 30.916 6009
+-114.14 30.916 5854
+-114.014 30.916 5803
+-113.888 30.916 5588
+-113.762 30.916 5781
+-113.636 30.916 5885
+-113.51 30.916 6017
+-113.384 30.916 6144
+-113.258 30.916 6278
+-113.132 30.916 6420
+-113.006 30.916 6584
+-112.88 30.916 6735
+-112.754 30.916 6820
+-112.628 30.916 6947
+-112.502 30.916 7013
+-112.376 30.916 7209
+-112.25 30.916 7376
+-112.124 30.916 7505
+-111.998 30.916 7566
+-111.872 30.916 7699
+-111.746 30.916 7809
+-111.62 30.916 7913
+-111.494 30.916 8035
+-111.368 30.916 8182
+-111.242 30.916 8259
+-111.116 30.916 8388
+-110.99 30.916 8451
+-110.864 30.916 8596
+-110.738 30.916 8648
+-110.612 30.916 8681
+-110.486 30.916 8711
+-110.36 30.916 8726
+-110.234 30.916 8683
+-110.108 30.916 8678
+-109.982 30.916 8591
+-109.856 30.916 8505
+-109.73 30.916 8440
+-109.604 30.916 8315
+-109.478 30.916 8203
+-109.352 30.916 8173
+-109.226 30.916 8014
+-109.1 30.916 7927
+-108.974 30.916 7725
+-108.848 30.916 7619
+-108.722 30.916 7543
+-108.596 30.916 7380
+-108.47 30.916 7257
+-108.344 30.916 7103
+-108.218 30.916 6988
+-108.092 30.916 6859
+-107.966 30.916 6734
+-107.84 30.916 6614
+-107.714 30.916 6506
+-107.588 30.916 6304
+-107.462 30.916 6186
+-107.336 30.916 6112
+-107.21 30.916 5881
+-107.084 30.916 5928
+-106.958 30.916 5839
+-106.832 30.916 5694
+-106.706 30.916 5596
+-106.58 30.916 5366
+-106.454 30.916 5210
+-106.328 30.916 5014
+-106.202 30.916 4919
+-106.076 30.916 4880
+-105.95 30.916 4788
+-105.824 30.916 4707
+-105.698 30.916 4613
+-105.572 30.916 4466
+-105.446 30.916 4340
+-105.32 30.916 4240
+-105.194 30.916 4131
+-105.068 30.916 3870
+-104.942 30.916 3643
+-104.816 30.916 3435
+-104.69 30.916 3237
+-104.564 30.916 3147
+-104.438 30.916 3186
+-104.312 30.916 3190
+-104.186 30.916 3141
+-104.06 30.916 3037
+-103.934 30.916 2952
+-103.808 30.916 2919
+-103.682 30.916 2909
+-103.556 30.916 2934
+-103.43 30.916 2956
+-103.304 30.916 2962
+-103.178 30.916 2987
+-103.052 30.916 3010
+-102.926 30.916 3015
+-102.8 30.916 3017
+-102.674 30.916 2997
+-102.548 30.916 3012
+-102.422 30.916 3027
+-102.296 30.916 3040
+-102.17 30.916 3053
+-102.044 30.916 3065
+-101.918 30.916 3077
+-101.792 30.916 3088
+-101.666 30.916 3099
+-101.54 30.916 3054
+-101.414 30.916 3057
+-101.288 30.916 3066
+-101.162 30.916 3074
+-101.036 30.916 3083
+-100.91 30.916 3091
+-100.784 30.916 3056
+-100.658 30.916 3062
+-100.532 30.916 3068
+-100.406 30.916 3074
+-100.28 30.916 2954
+-100.154 30.916 2832
+-100.028 30.916 2824
+-99.902 30.916 2767
+-99.776 30.916 2757
+-99.65 30.916 2731
+-99.524 30.916 2694
+-99.398 30.916 2620
+-99.272 30.916 2600
+-99.146 30.916 2468
+-99.02 30.916 2444
+-98.894 30.916 2398
+-98.768 30.916 2322
+-98.642 30.916 2294
+-98.516 30.916 2252
+-98.39 30.916 2230
+-98.264 30.916 2216
+-98.138 30.916 2173
+-98.012 30.916 2198
+-97.886 30.916 2091
+-97.76 30.916 2143
+-97.634 30.916 2114
+-97.508 30.916 2081
+-97.382 30.916 2052
+-97.256 30.916 2101
+-97.13 30.916 2098
+-97.004 30.916 2082
+-96.878 30.916 2007
+-96.752 30.916 2025
+-96.626 30.916 1973
+-96.5 30.916 1911
+-96.374 30.916 1872
+-96.248 30.916 1846
+-96.122 30.916 1792
+-95.996 30.916 1741
+-95.87 30.916 1692
+-95.744 30.916 1648
+-95.618 30.916 1628
+-95.492 30.916 1569
+-95.366 30.916 1556
+-95.24 30.916 1558
+-95.114 30.916 1553
+-94.988 30.916 1585
+-94.862 30.916 1630
+-94.736 30.916 1682
+-94.61 30.916 1751
+-94.484 30.916 1823
+-94.358 30.916 1900
+-94.232 30.916 2010
+-94.106 30.916 2094
+-93.98 30.916 2171
+-93.854 30.916 2244
+-93.728 30.916 2300
+-93.602 30.916 2357
+-93.476 30.916 2413
+-93.35 30.916 2408
+-93.224 30.916 2444
+-93.098 30.916 2480
+-92.972 30.916 2509
+-92.846 30.916 2533
+-92.72 30.916 2516
+-92.594 30.916 2526
+-92.468 30.916 2536
+-92.342 30.916 2508
+-92.216 30.916 2500
+-92.09 30.916 2498
+-91.964 30.916 2494
+-91.838 30.916 2483
+-91.712 30.916 2476
+-91.586 30.916 2540
+-91.46 30.916 2527
+-91.334 30.916 2518
+-91.208 30.916 2502
+-91.082 30.916 2499
+-90.956 30.916 2487
+-90.83 30.916 2475
+-90.704 30.916 2466
+-90.578 30.916 2448
+-90.452 30.916 2422
+-90.326 30.916 2382
+-90.2 30.916 2320
+-90.074 30.916 2246
+-89.948 30.916 2163
+-89.822 30.916 2125
+-89.696 30.916 2169
+-89.57 30.916 2266
+-89.444 30.916 2349
+-89.318 30.916 2388
+-89.192 30.916 2383
+-89.066 30.916 2338
+-88.94 30.916 2271
+-88.814 30.916 2231
+-88.688 30.916 2303
+-88.562 30.916 2443
+-88.436 30.916 2566
+-88.31 30.916 2697
+-88.184 30.916 2805
+-88.058 30.916 2893
+-87.932 30.916 2996
+-87.806 30.916 3042
+-87.68 30.916 3118
+-87.554 30.916 3150
+-87.428 30.916 3211
+-87.302 30.916 3276
+-87.176 30.916 3453
+-87.05 30.916 3611
+-86.924 30.916 3736
+-86.798 30.916 3879
+-86.672 30.916 3992
+-86.546 30.916 4082
+-86.42 30.916 4118
+-86.294 30.916 4173
+-86.168 30.916 4282
+-86.042 30.916 4375
+-85.916 30.916 4471
+-85.79 30.916 4612
+-85.664 30.916 4800
+-85.538 30.916 4923
+-85.412 30.916 5036
+-85.286 30.916 5041
+-85.16 30.916 5140
+-85.034 30.916 5228
+-84.908 30.916 5255
+-84.782 30.916 5340
+-84.656 30.916 5434
+-84.53 30.916 5439
+-84.404 30.916 5521
+-84.278 30.916 5591
+-84.152 30.916 5685
+-84.026 30.916 5794
+-83.9 30.916 5875
+-83.774 30.916 5904
+-83.648 30.916 5986
+-83.522 30.916 6074
+-83.396 30.916 6098
+-83.27 30.916 6172
+-83.144 30.916 6205
+-83.018 30.916 6261
+-82.892 30.916 6298
+-82.766 30.916 6320
+-82.64 30.916 6325
+-82.514 30.916 6365
+-82.388 30.916 6344
+-82.262 30.916 6377
+-82.136 30.916 6379
+-82.01 30.916 6365
+-81.884 30.916 6347
+-81.758 30.916 6324
+-81.632 30.916 6329
+-81.506 30.916 6311
+-81.38 30.916 6277
+-81.254 30.916 6233
+-81.128 30.916 6170
+-81.002 30.916 6107
+-80.876 30.916 6061
+-80.75 30.916 6007
+-80.624 30.916 5970
+-80.498 30.916 5878
+-80.372 30.916 5850
+-80.246 30.916 5735
+-80.12 30.916 5696
+-79.994 30.916 5568
+-79.868 30.916 5516
+-79.742 30.916 5429
+-79.616 30.916 5341
+-79.49 30.916 5243
+-79.364 30.916 5139
+-79.238 30.916 5041
+-79.112 30.916 4939
+-78.986 30.916 4981
+-78.86 30.916 4954
+-78.734 30.916 4873
+-78.608 30.916 4778
+-78.482 30.916 4601
+-78.356 30.916 4409
+-78.23 30.916 4323
+-78.104 30.916 4308
+-77.978 30.916 4292
+-77.852 30.916 4160
+-77.726 30.916 4070
+-77.6 30.916 3905
+-77.474 30.916 3758
+-77.348 30.916 3628
+-77.222 30.916 3485
+-77.096 30.916 3303
+-76.97 30.916 3139
+-76.844 30.916 3035
+-76.718 30.916 2973
+-76.592 30.916 2875
+-76.466 30.916 2670
+-76.34 30.916 2417
+-76.214 30.916 2297
+-76.088 30.916 2389
+-75.962 30.916 2561
+-75.836 30.916 2718
+-75.71 30.916 2847
+-75.584 30.916 2945
+-75.458 30.916 2993
+-75.332 30.916 3051
+-75.206 30.916 3098
+-75.08 30.916 3138
+-74.954 30.916 3160
+-74.828 30.916 3172
+-74.702 30.916 3183
+-74.576 30.916 3175
+-74.45 30.916 3193
+-74.324 30.916 3174
+-74.198 30.916 3214
+-74.072 30.916 3229
+-73.946 30.916 3242
+-73.82 30.916 3253
+-73.694 30.916 3264
+-73.568 30.916 3274
+-73.442 30.916 3283
+-73.316 30.916 3266
+-73.19 30.916 3274
+-73.064 30.916 3282
+-72.938 30.916 3263
+-72.812 30.916 3236
+-72.686 30.916 3225
+-72.56 30.916 3230
+-72.434 30.916 3234
+-72.308 30.916 3238
+-72.182 30.916 3242
+-72.056 30.916 3246
+-71.93 30.916 3250
+-71.804 30.916 3172
+-71.678 30.916 3163
+-71.552 30.916 3166
+-71.426 30.916 3170
+-71.3 30.916 3173
+-71.174 30.916 3177
+-71.048 30.916 3180
+-70.922 30.916 3183
+-70.796 30.916 3186
+-70.67 30.916 3188
+-70.544 30.916 3191
+-70.418 30.916 3193
+-70.292 30.916 3195
+-70.166 30.916 3198
+-70.04 30.916 3200
+-69.914 30.916 3202
+-69.788 30.916 3188
+-69.662 30.916 3190
+-69.536 30.916 3193
+-69.41 30.916 3195
+-69.284 30.916 3197
+-69.158 30.916 3156
+-69.032 30.916 3158
+-68.906 30.916 3159
+-68.78 30.916 3160
+-68.654 30.916 3162
+-68.528 30.916 3163
+-68.402 30.916 3158
+-68.276 30.916 3159
+-68.15 30.916 3136
+-68.024 30.916 3121
+-67.898 30.916 3122
+-67.772 30.916 3123
+-67.646 30.916 3124
+-67.52 30.916 3125
+-67.394 30.916 3126
+-67.268 30.916 3126
+-67.142 30.916 3127
+-67.016 30.916 3128
+-66.89 30.916 3129
+-66.764 30.916 3129
+-66.638 30.916 3037
+-66.512 30.916 3037
+-66.386 30.916 3038
+-66.26 30.916 3039
+-66.134 30.916 3040
+-66.008 30.916 3040
+-65.882 30.916 3041
+-65.756 30.916 3042
+-65.63 30.916 3042
+-65.504 30.916 3043
+-65.378 30.916 3044
+-65.252 30.916 3044
+-65.126 30.916 3045
+-128 30.864 2452
+-127.874 30.864 2453
+-127.748 30.864 2533
+-127.622 30.864 2534
+-127.496 30.864 2627
+-127.37 30.864 2628
+-127.244 30.864 2630
+-127.118 30.864 2632
+-126.992 30.864 2634
+-126.866 30.864 2637
+-126.74 30.864 2641
+-126.614 30.864 2673
+-126.488 30.864 2677
+-126.362 30.864 2682
+-126.236 30.864 2768
+-126.11 30.864 2775
+-125.984 30.864 2783
+-125.858 30.864 2779
+-125.732 30.864 2788
+-125.606 30.864 2798
+-125.48 30.864 2808
+-125.354 30.864 2819
+-125.228 30.864 2890
+-125.102 30.864 2910
+-124.976 30.864 3230
+-124.85 30.864 3223
+-124.724 30.864 3215
+-124.598 30.864 3206
+-124.472 30.864 3196
+-124.346 30.864 3184
+-124.22 30.864 3192
+-124.094 30.864 3188
+-123.968 30.864 3209
+-123.842 30.864 3183
+-123.716 30.864 3150
+-123.59 30.864 3124
+-123.464 30.864 3091
+-123.338 30.864 3064
+-123.212 30.864 3090
+-123.086 30.864 3157
+-122.96 30.864 3294
+-122.834 30.864 3483
+-122.708 30.864 3592
+-122.582 30.864 3690
+-122.456 30.864 3786
+-122.33 30.864 3883
+-122.204 30.864 3902
+-122.078 30.864 3972
+-121.952 30.864 4072
+-121.826 30.864 4149
+-121.7 30.864 4161
+-121.574 30.864 4274
+-121.448 30.864 4474
+-121.322 30.864 4592
+-121.196 30.864 4618
+-121.07 30.864 4747
+-120.944 30.864 4896
+-120.818 30.864 4947
+-120.692 30.864 5068
+-120.566 30.864 5289
+-120.44 30.864 5347
+-120.314 30.864 5487
+-120.188 30.864 5615
+-120.062 30.864 5745
+-119.936 30.864 5823
+-119.81 30.864 5985
+-119.684 30.864 6097
+-119.558 30.864 6152
+-119.432 30.864 6251
+-119.306 30.864 6393
+-119.18 30.864 6518
+-119.054 30.864 6617
+-118.928 30.864 6639
+-118.802 30.864 6824
+-118.676 30.864 6882
+-118.55 30.864 6975
+-118.424 30.864 7050
+-118.298 30.864 7118
+-118.172 30.864 7196
+-118.046 30.864 7264
+-117.92 30.864 7327
+-117.794 30.864 7389
+-117.668 30.864 7426
+-117.542 30.864 7467
+-117.416 30.864 7491
+-117.29 30.864 7536
+-117.164 30.864 7516
+-117.038 30.864 7571
+-116.912 30.864 7553
+-116.786 30.864 7517
+-116.66 30.864 7508
+-116.534 30.864 7483
+-116.408 30.864 7429
+-116.282 30.864 7419
+-116.156 30.864 7362
+-116.03 30.864 7296
+-115.904 30.864 7213
+-115.778 30.864 7170
+-115.652 30.864 7066
+-115.526 30.864 6977
+-115.4 30.864 6881
+-115.274 30.864 6801
+-115.148 30.864 6743
+-115.022 30.864 6644
+-114.896 30.864 6526
+-114.77 30.864 6354
+-114.644 30.864 6322
+-114.518 30.864 6218
+-114.392 30.864 6073
+-114.266 30.864 5992
+-114.14 30.864 5832
+-114.014 30.864 5771
+-113.888 30.864 5712
+-113.762 30.864 5684
+-113.636 30.864 5856
+-113.51 30.864 5946
+-113.384 30.864 6111
+-113.258 30.864 6217
+-113.132 30.864 6365
+-113.006 30.864 6513
+-112.88 30.864 6667
+-112.754 30.864 6811
+-112.628 30.864 6938
+-112.502 30.864 7012
+-112.376 30.864 7187
+-112.25 30.864 7261
+-112.124 30.864 7426
+-111.998 30.864 7586
+-111.872 30.864 7672
+-111.746 30.864 7769
+-111.62 30.864 7930
+-111.494 30.864 8005
+-111.368 30.864 8164
+-111.242 30.864 8284
+-111.116 30.864 8324
+-110.99 30.864 8444
+-110.864 30.864 8511
+-110.738 30.864 8591
+-110.612 30.864 8605
+-110.486 30.864 8644
+-110.36 30.864 8648
+-110.234 30.864 8651
+-110.108 30.864 8599
+-109.982 30.864 8559
+-109.856 30.864 8473
+-109.73 30.864 8442
+-109.604 30.864 8270
+-109.478 30.864 8179
+-109.352 30.864 8091
+-109.226 30.864 7966
+-109.1 30.864 7794
+-108.974 30.864 7713
+-108.848 30.864 7585
+-108.722 30.864 7523
+-108.596 30.864 7363
+-108.47 30.864 7209
+-108.344 30.864 7101
+-108.218 30.864 6970
+-108.092 30.864 6864
+-107.966 30.864 6772
+-107.84 30.864 6569
+-107.714 30.864 6489
+-107.588 30.864 6360
+-107.462 30.864 6186
+-107.336 30.864 6040
+-107.21 30.864 5974
+-107.084 30.864 5881
+-106.958 30.864 5780
+-106.832 30.864 5632
+-106.706 30.864 5554
+-106.58 30.864 5373
+-106.454 30.864 5134
+-106.328 30.864 4958
+-106.202 30.864 4857
+-106.076 30.864 4861
+-105.95 30.864 4781
+-105.824 30.864 4660
+-105.698 30.864 4532
+-105.572 30.864 4395
+-105.446 30.864 4308
+-105.32 30.864 4244
+-105.194 30.864 4142
+-105.068 30.864 3866
+-104.942 30.864 3624
+-104.816 30.864 3427
+-104.69 30.864 3268
+-104.564 30.864 3192
+-104.438 30.864 3181
+-104.312 30.864 3175
+-104.186 30.864 3140
+-104.06 30.864 3079
+-103.934 30.864 3029
+-103.808 30.864 2979
+-103.682 30.864 2971
+-103.556 30.864 2977
+-103.43 30.864 2990
+-103.304 30.864 3001
+-103.178 30.864 2997
+-103.052 30.864 2984
+-102.926 30.864 2999
+-102.8 30.864 3014
+-102.674 30.864 3028
+-102.548 30.864 3003
+-102.422 30.864 3017
+-102.296 30.864 3029
+-102.17 30.864 3042
+-102.044 30.864 3054
+-101.918 30.864 3065
+-101.792 30.864 3076
+-101.666 30.864 3034
+-101.54 30.864 3044
+-101.414 30.864 3033
+-101.288 30.864 3041
+-101.162 30.864 3050
+-101.036 30.864 3058
+-100.91 30.864 3065
+-100.784 30.864 3073
+-100.658 30.864 3054
+-100.532 30.864 3060
+-100.406 30.864 3067
+-100.28 30.864 2949
+-100.154 30.864 2832
+-100.028 30.864 2820
+-99.902 30.864 2764
+-99.776 30.864 2741
+-99.65 30.864 2729
+-99.524 30.864 2693
+-99.398 30.864 2621
+-99.272 30.864 2601
+-99.146 30.864 2580
+-99.02 30.864 2447
+-98.894 30.864 2417
+-98.768 30.864 2376
+-98.642 30.864 2299
+-98.516 30.864 2259
+-98.39 30.864 2238
+-98.264 30.864 2207
+-98.138 30.864 2182
+-98.012 30.864 2166
+-97.886 30.864 2118
+-97.76 30.864 2134
+-97.634 30.864 2122
+-97.508 30.864 2122
+-97.382 30.864 2090
+-97.256 30.864 2148
+-97.13 30.864 2149
+-97.004 30.864 2077
+-96.878 30.864 2036
+-96.752 30.864 2062
+-96.626 30.864 2006
+-96.5 30.864 1975
+-96.374 30.864 1960
+-96.248 30.864 1912
+-96.122 30.864 1868
+-95.996 30.864 1824
+-95.87 30.864 1782
+-95.744 30.864 1766
+-95.618 30.864 1698
+-95.492 30.864 1681
+-95.366 30.864 1675
+-95.24 30.864 1656
+-95.114 30.864 1672
+-94.988 30.864 1702
+-94.862 30.864 1735
+-94.736 30.864 1786
+-94.61 30.864 1842
+-94.484 30.864 1904
+-94.358 30.864 2002
+-94.232 30.864 2075
+-94.106 30.864 2145
+-93.98 30.864 2212
+-93.854 30.864 2266
+-93.728 30.864 2322
+-93.602 30.864 2378
+-93.476 30.864 2375
+-93.35 30.864 2413
+-93.224 30.864 2452
+-93.098 30.864 2485
+-92.972 30.864 2512
+-92.846 30.864 2499
+-92.72 30.864 2514
+-92.594 30.864 2528
+-92.468 30.864 2503
+-92.342 30.864 2466
+-92.216 30.864 2503
+-92.09 30.864 2503
+-91.964 30.864 2496
+-91.838 30.864 2493
+-91.712 30.864 2489
+-91.586 30.864 2547
+-91.46 30.864 2536
+-91.334 30.864 2529
+-91.208 30.864 2522
+-91.082 30.864 2504
+-90.956 30.864 2490
+-90.83 30.864 2481
+-90.704 30.864 2468
+-90.578 30.864 2451
+-90.452 30.864 2425
+-90.326 30.864 2380
+-90.2 30.864 2328
+-90.074 30.864 2255
+-89.948 30.864 2192
+-89.822 30.864 2163
+-89.696 30.864 2200
+-89.57 30.864 2282
+-89.444 30.864 2353
+-89.318 30.864 2386
+-89.192 30.864 2380
+-89.066 30.864 2317
+-88.94 30.864 2219
+-88.814 30.864 2158
+-88.688 30.864 2236
+-88.562 30.864 2410
+-88.436 30.864 2582
+-88.31 30.864 2717
+-88.184 30.864 2825
+-88.058 30.864 2907
+-87.932 30.864 2999
+-87.806 30.864 3036
+-87.68 30.864 3092
+-87.554 30.864 3138
+-87.428 30.864 3186
+-87.302 30.864 3251
+-87.176 30.864 3438
+-87.05 30.864 3618
+-86.924 30.864 3808
+-86.798 30.864 3929
+-86.672 30.864 4014
+-86.546 30.864 4078
+-86.42 30.864 4198
+-86.294 30.864 4273
+-86.168 30.864 4356
+-86.042 30.864 4432
+-85.916 30.864 4559
+-85.79 30.864 4694
+-85.664 30.864 4823
+-85.538 30.864 4958
+-85.412 30.864 5022
+-85.286 30.864 4933
+-85.16 30.864 5098
+-85.034 30.864 5219
+-84.908 30.864 5311
+-84.782 30.864 5344
+-84.656 30.864 5439
+-84.53 30.864 5497
+-84.404 30.864 5573
+-84.278 30.864 5676
+-84.152 30.864 5776
+-84.026 30.864 5862
+-83.9 30.864 5934
+-83.774 30.864 5977
+-83.648 30.864 6029
+-83.522 30.864 6086
+-83.396 30.864 6146
+-83.27 30.864 6223
+-83.144 30.864 6278
+-83.018 30.864 6295
+-82.892 30.864 6340
+-82.766 30.864 6365
+-82.64 30.864 6400
+-82.514 30.864 6416
+-82.388 30.864 6422
+-82.262 30.864 6391
+-82.136 30.864 6442
+-82.01 30.864 6435
+-81.884 30.864 6379
+-81.758 30.864 6392
+-81.632 30.864 6370
+-81.506 30.864 6360
+-81.38 30.864 6279
+-81.254 30.864 6264
+-81.128 30.864 6245
+-81.002 30.864 6180
+-80.876 30.864 6129
+-80.75 30.864 6086
+-80.624 30.864 6027
+-80.498 30.864 5952
+-80.372 30.864 5891
+-80.246 30.864 5802
+-80.12 30.864 5700
+-79.994 30.864 5581
+-79.868 30.864 5489
+-79.742 30.864 5481
+-79.616 30.864 5370
+-79.49 30.864 5286
+-79.364 30.864 5183
+-79.238 30.864 5073
+-79.112 30.864 5053
+-78.986 30.864 5016
+-78.86 30.864 4995
+-78.734 30.864 4934
+-78.608 30.864 4830
+-78.482 30.864 4609
+-78.356 30.864 4364
+-78.23 30.864 4246
+-78.104 30.864 4307
+-77.978 30.864 4279
+-77.852 30.864 4157
+-77.726 30.864 4054
+-77.6 30.864 3864
+-77.474 30.864 3765
+-77.348 30.864 3669
+-77.222 30.864 3568
+-77.096 30.864 3448
+-76.97 30.864 3313
+-76.844 30.864 3202
+-76.718 30.864 3094
+-76.592 30.864 2954
+-76.466 30.864 2744
+-76.34 30.864 2514
+-76.214 30.864 2405
+-76.088 30.864 2473
+-75.962 30.864 2623
+-75.836 30.864 2762
+-75.71 30.864 2881
+-75.584 30.864 2972
+-75.458 30.864 3044
+-75.332 30.864 3102
+-75.206 30.864 3150
+-75.08 30.864 3145
+-74.954 30.864 3161
+-74.828 30.864 3174
+-74.702 30.864 3168
+-74.576 30.864 3188
+-74.45 30.864 3170
+-74.324 30.864 3211
+-74.198 30.864 3226
+-74.072 30.864 3240
+-73.946 30.864 3252
+-73.82 30.864 3263
+-73.694 30.864 3274
+-73.568 30.864 3283
+-73.442 30.864 3267
+-73.316 30.864 3275
+-73.19 30.864 3282
+-73.064 30.864 3264
+-72.938 30.864 3237
+-72.812 30.864 3226
+-72.686 30.864 3231
+-72.56 30.864 3235
+-72.434 30.864 3240
+-72.308 30.864 3244
+-72.182 30.864 3247
+-72.056 30.864 3251
+-71.93 30.864 3173
+-71.804 30.864 3164
+-71.678 30.864 3168
+-71.552 30.864 3171
+-71.426 30.864 3175
+-71.3 30.864 3178
+-71.174 30.864 3181
+-71.048 30.864 3184
+-70.922 30.864 3187
+-70.796 30.864 3189
+-70.67 30.864 3192
+-70.544 30.864 3194
+-70.418 30.864 3197
+-70.292 30.864 3199
+-70.166 30.864 3201
+-70.04 30.864 3203
+-69.914 30.864 3189
+-69.788 30.864 3192
+-69.662 30.864 3194
+-69.536 30.864 3196
+-69.41 30.864 3198
+-69.284 30.864 3157
+-69.158 30.864 3159
+-69.032 30.864 3160
+-68.906 30.864 3162
+-68.78 30.864 3163
+-68.654 30.864 3164
+-68.528 30.864 3158
+-68.402 30.864 3159
+-68.276 30.864 3136
+-68.15 30.864 3121
+-68.024 30.864 3122
+-67.898 30.864 3123
+-67.772 30.864 3124
+-67.646 30.864 3125
+-67.52 30.864 3126
+-67.394 30.864 3127
+-67.268 30.864 3128
+-67.142 30.864 3128
+-67.016 30.864 3129
+-66.89 30.864 3130
+-66.764 30.864 3037
+-66.638 30.864 3038
+-66.512 30.864 3038
+-66.386 30.864 3039
+-66.26 30.864 3040
+-66.134 30.864 3041
+-66.008 30.864 3041
+-65.882 30.864 3042
+-65.756 30.864 3043
+-65.63 30.864 3043
+-65.504 30.864 3044
+-65.378 30.864 3045
+-65.252 30.864 3045
+-65.126 30.864 3046
+-128 30.812 2437
+-127.874 30.812 2516
+-127.748 30.812 2516
+-127.622 30.812 2608
+-127.496 30.812 2608
+-127.37 30.812 2609
+-127.244 30.812 2610
+-127.118 30.812 2611
+-126.992 30.812 2613
+-126.866 30.812 2615
+-126.74 30.812 2646
+-126.614 30.812 2649
+-126.488 30.812 2653
+-126.362 30.812 2725
+-126.236 30.812 2731
+-126.11 30.812 2738
+-125.984 30.812 2746
+-125.858 30.812 2755
+-125.732 30.812 2765
+-125.606 30.812 2775
+-125.48 30.812 2786
+-125.354 30.812 2858
+-125.228 30.812 2907
+-125.102 30.812 2918
+-124.976 30.812 2978
+-124.85 30.812 3227
+-124.724 30.812 3220
+-124.598 30.812 3212
+-124.472 30.812 3203
+-124.346 30.812 3216
+-124.22 30.812 3195
+-124.094 30.812 3196
+-123.968 30.812 3233
+-123.842 30.812 3215
+-123.716 30.812 3211
+-123.59 30.812 3202
+-123.464 30.812 3187
+-123.338 30.812 3186
+-123.212 30.812 3223
+-123.086 30.812 3303
+-122.96 30.812 3421
+-122.834 30.812 3508
+-122.708 30.812 3619
+-122.582 30.812 3704
+-122.456 30.812 3809
+-122.33 30.812 3852
+-122.204 30.812 3833
+-122.078 30.812 3819
+-121.952 30.812 3954
+-121.826 30.812 4111
+-121.7 30.812 4183
+-121.574 30.812 4291
+-121.448 30.812 4454
+-121.322 30.812 4568
+-121.196 30.812 4552
+-121.07 30.812 4711
+-120.944 30.812 4898
+-120.818 30.812 4988
+-120.692 30.812 5078
+-120.566 30.812 5241
+-120.44 30.812 5373
+-120.314 30.812 5476
+-120.188 30.812 5593
+-120.062 30.812 5670
+-119.936 30.812 5815
+-119.81 30.812 5971
+-119.684 30.812 5978
+-119.558 30.812 6140
+-119.432 30.812 6184
+-119.306 30.812 6311
+-119.18 30.812 6458
+-119.054 30.812 6594
+-118.928 30.812 6713
+-118.802 30.812 6783
+-118.676 30.812 6778
+-118.55 30.812 6950
+-118.424 30.812 7027
+-118.298 30.812 7086
+-118.172 30.812 7146
+-118.046 30.812 7210
+-117.92 30.812 7262
+-117.794 30.812 7332
+-117.668 30.812 7373
+-117.542 30.812 7395
+-117.416 30.812 7468
+-117.29 30.812 7487
+-117.164 30.812 7477
+-117.038 30.812 7495
+-116.912 30.812 7488
+-116.786 30.812 7501
+-116.66 30.812 7460
+-116.534 30.812 7396
+-116.408 30.812 7378
+-116.282 30.812 7326
+-116.156 30.812 7314
+-116.03 30.812 7246
+-115.904 30.812 7165
+-115.778 30.812 7101
+-115.652 30.812 7027
+-115.526 30.812 6990
+-115.4 30.812 6846
+-115.274 30.812 6776
+-115.148 30.812 6685
+-115.022 30.812 6579
+-114.896 30.812 6460
+-114.77 30.812 6360
+-114.644 30.812 6255
+-114.518 30.812 6144
+-114.392 30.812 6069
+-114.266 30.812 5917
+-114.14 30.812 5798
+-114.014 30.812 5740
+-113.888 30.812 5542
+-113.762 30.812 5739
+-113.636 30.812 5863
+-113.51 30.812 5981
+-113.384 30.812 6156
+-113.258 30.812 6239
+-113.132 30.812 6353
+-113.006 30.812 6565
+-112.88 30.812 6615
+-112.754 30.812 6795
+-112.628 30.812 6923
+-112.502 30.812 6996
+-112.376 30.812 7110
+-112.25 30.812 7269
+-112.124 30.812 7407
+-111.998 30.812 7561
+-111.872 30.812 7617
+-111.746 30.812 7812
+-111.62 30.812 7879
+-111.494 30.812 8044
+-111.368 30.812 8080
+-111.242 30.812 8219
+-111.116 30.812 8297
+-110.99 30.812 8394
+-110.864 30.812 8483
+-110.738 30.812 8556
+-110.612 30.812 8584
+-110.486 30.812 8573
+-110.36 30.812 8573
+-110.234 30.812 8586
+-110.108 30.812 8535
+-109.982 30.812 8475
+-109.856 30.812 8437
+-109.73 30.812 8348
+-109.604 30.812 8265
+-109.478 30.812 8127
+-109.352 30.812 8051
+-109.226 30.812 7910
+-109.1 30.812 7815
+-108.974 30.812 7718
+-108.848 30.812 7626
+-108.722 30.812 7477
+-108.596 30.812 7279
+-108.47 30.812 7169
+-108.344 30.812 7090
+-108.218 30.812 7005
+-108.092 30.812 6878
+-107.966 30.812 6731
+-107.84 30.812 6581
+-107.714 30.812 6505
+-107.588 30.812 6348
+-107.462 30.812 6184
+-107.336 30.812 6072
+-107.21 30.812 5938
+-107.084 30.812 5842
+-106.958 30.812 5711
+-106.832 30.812 5532
+-106.706 30.812 5523
+-106.58 30.812 5351
+-106.454 30.812 5060
+-106.328 30.812 4924
+-106.202 30.812 4889
+-106.076 30.812 4844
+-105.95 30.812 4755
+-105.824 30.812 4591
+-105.698 30.812 4424
+-105.572 30.812 4290
+-105.446 30.812 4270
+-105.32 30.812 4233
+-105.194 30.812 4142
+-105.068 30.812 3886
+-104.942 30.812 3625
+-104.816 30.812 3420
+-104.69 30.812 3267
+-104.564 30.812 3163
+-104.438 30.812 3101
+-104.312 30.812 3123
+-104.186 30.812 3119
+-104.06 30.812 3086
+-103.934 30.812 3037
+-103.808 30.812 3012
+-103.682 30.812 2999
+-103.556 30.812 2997
+-103.43 30.812 3003
+-103.304 30.812 3000
+-103.178 30.812 2982
+-103.052 30.812 2985
+-102.926 30.812 2998
+-102.8 30.812 3011
+-102.674 30.812 3023
+-102.548 30.812 3036
+-102.422 30.812 3005
+-102.296 30.812 3018
+-102.17 30.812 3030
+-102.044 30.812 3041
+-101.918 30.812 3053
+-101.792 30.812 3064
+-101.666 30.812 3024
+-101.54 30.812 3013
+-101.414 30.812 3022
+-101.288 30.812 3031
+-101.162 30.812 3040
+-101.036 30.812 3048
+-100.91 30.812 3056
+-100.784 30.812 3064
+-100.658 30.812 3071
+-100.532 30.812 3053
+-100.406 30.812 3059
+-100.28 30.812 2833
+-100.154 30.812 2828
+-100.028 30.812 2808
+-99.902 30.812 2753
+-99.776 30.812 2738
+-99.65 30.812 2727
+-99.524 30.812 2692
+-99.398 30.812 2629
+-99.272 30.812 2603
+-99.146 30.812 2582
+-99.02 30.812 2444
+-98.894 30.812 2420
+-98.768 30.812 2395
+-98.642 30.812 2345
+-98.516 30.812 2276
+-98.39 30.812 2236
+-98.264 30.812 2216
+-98.138 30.812 2174
+-98.012 30.812 2195
+-97.886 30.812 2147
+-97.76 30.812 2098
+-97.634 30.812 2162
+-97.508 30.812 2135
+-97.382 30.812 2106
+-97.256 30.812 2066
+-97.13 30.812 2092
+-97.004 30.812 2103
+-96.878 30.812 2085
+-96.752 30.812 2020
+-96.626 30.812 2064
+-96.5 30.812 2058
+-96.374 30.812 2016
+-96.248 30.812 1978
+-96.122 30.812 1939
+-95.996 30.812 1900
+-95.87 30.812 1888
+-95.744 30.812 1814
+-95.618 30.812 1795
+-95.492 30.812 1784
+-95.366 30.812 1753
+-95.24 30.812 1761
+-95.114 30.812 1778
+-94.988 30.812 1798
+-94.862 30.812 1834
+-94.736 30.812 1876
+-94.61 30.812 1923
+-94.484 30.812 2009
+-94.358 30.812 2071
+-94.232 30.812 2132
+-94.106 30.812 2192
+-93.98 30.812 2241
+-93.854 30.812 2294
+-93.728 30.812 2349
+-93.602 30.812 2345
+-93.476 30.812 2385
+-93.35 30.812 2425
+-93.224 30.812 2460
+-93.098 30.812 2490
+-92.972 30.812 2480
+-92.846 30.812 2498
+-92.72 30.812 2516
+-92.594 30.812 2494
+-92.468 30.812 2459
+-92.342 30.812 2501
+-92.216 30.812 2506
+-92.09 30.812 2502
+-91.964 30.812 2502
+-91.838 30.812 2501
+-91.712 30.812 2499
+-91.586 30.812 2496
+-91.46 30.812 2553
+-91.334 30.812 2544
+-91.208 30.812 2524
+-91.082 30.812 2499
+-90.956 30.812 2491
+-90.83 30.812 2488
+-90.704 30.812 2477
+-90.578 30.812 2461
+-90.452 30.812 2435
+-90.326 30.812 2400
+-90.2 30.812 2347
+-90.074 30.812 2303
+-89.948 30.812 2258
+-89.822 30.812 2244
+-89.696 30.812 2275
+-89.57 30.812 2330
+-89.444 30.812 2381
+-89.318 30.812 2409
+-89.192 30.812 2396
+-89.066 30.812 2342
+-88.94 30.812 2264
+-88.814 30.812 2224
+-88.688 30.812 2294
+-88.562 30.812 2454
+-88.436 30.812 2606
+-88.31 30.812 2746
+-88.184 30.812 2847
+-88.058 30.812 2919
+-87.932 30.812 2991
+-87.806 30.812 3015
+-87.68 30.812 3053
+-87.554 30.812 3104
+-87.428 30.812 3135
+-87.302 30.812 3205
+-87.176 30.812 3410
+-87.05 30.812 3642
+-86.924 30.812 3816
+-86.798 30.812 3945
+-86.672 30.812 4052
+-86.546 30.812 4141
+-86.42 30.812 4234
+-86.294 30.812 4319
+-86.168 30.812 4403
+-86.042 30.812 4504
+-85.916 30.812 4615
+-85.79 30.812 4747
+-85.664 30.812 4842
+-85.538 30.812 4925
+-85.412 30.812 5022
+-85.286 30.812 5029
+-85.16 30.812 5086
+-85.034 30.812 5212
+-84.908 30.812 5332
+-84.782 30.812 5420
+-84.656 30.812 5501
+-84.53 30.812 5548
+-84.404 30.812 5655
+-84.278 30.812 5729
+-84.152 30.812 5795
+-84.026 30.812 5900
+-83.9 30.812 5983
+-83.774 30.812 6041
+-83.648 30.812 6082
+-83.522 30.812 6138
+-83.396 30.812 6200
+-83.27 30.812 6280
+-83.144 30.812 6327
+-83.018 30.812 6339
+-82.892 30.812 6372
+-82.766 30.812 6419
+-82.64 30.812 6446
+-82.514 30.812 6446
+-82.388 30.812 6500
+-82.262 30.812 6482
+-82.136 30.812 6486
+-82.01 30.812 6462
+-81.884 30.812 6458
+-81.758 30.812 6429
+-81.632 30.812 6400
+-81.506 30.812 6387
+-81.38 30.812 6341
+-81.254 30.812 6306
+-81.128 30.812 6274
+-81.002 30.812 6214
+-80.876 30.812 6122
+-80.75 30.812 6128
+-80.624 30.812 6083
+-80.498 30.812 6015
+-80.372 30.812 5930
+-80.246 30.812 5807
+-80.12 30.812 5767
+-79.994 30.812 5626
+-79.868 30.812 5567
+-79.742 30.812 5524
+-79.616 30.812 5425
+-79.49 30.812 5311
+-79.364 30.812 5243
+-79.238 30.812 5154
+-79.112 30.812 5096
+-78.986 30.812 5040
+-78.86 30.812 5018
+-78.734 30.812 4969
+-78.608 30.812 4868
+-78.482 30.812 4675
+-78.356 30.812 4454
+-78.23 30.812 4346
+-78.104 30.812 4366
+-77.978 30.812 4302
+-77.852 30.812 4150
+-77.726 30.812 3995
+-77.6 30.812 3819
+-77.474 30.812 3756
+-77.348 30.812 3694
+-77.222 30.812 3638
+-77.096 30.812 3544
+-76.97 30.812 3440
+-76.844 30.812 3317
+-76.718 30.812 3217
+-76.592 30.812 3085
+-76.466 30.812 2900
+-76.34 30.812 2731
+-76.214 30.812 2644
+-76.088 30.812 2658
+-75.962 30.812 2750
+-75.836 30.812 2839
+-75.71 30.812 2942
+-75.584 30.812 3019
+-75.458 30.812 3082
+-75.332 30.812 3133
+-75.206 30.812 3133
+-75.08 30.812 3152
+-74.954 30.812 3167
+-74.828 30.812 3164
+-74.702 30.812 3196
+-74.576 30.812 3168
+-74.45 30.812 3209
+-74.324 30.812 3225
+-74.198 30.812 3239
+-74.072 30.812 3252
+-73.946 30.812 3264
+-73.82 30.812 3274
+-73.694 30.812 3284
+-73.568 30.812 3267
+-73.442 30.812 3276
+-73.316 30.812 3283
+-73.19 30.812 3265
+-73.064 30.812 3238
+-72.938 30.812 3227
+-72.812 30.812 3232
+-72.686 30.812 3237
+-72.56 30.812 3241
+-72.434 30.812 3245
+-72.308 30.812 3249
+-72.182 30.812 3252
+-72.056 30.812 3174
+-71.93 30.812 3165
+-71.804 30.812 3169
+-71.678 30.812 3173
+-71.552 30.812 3176
+-71.426 30.812 3179
+-71.3 30.812 3183
+-71.174 30.812 3185
+-71.048 30.812 3188
+-70.922 30.812 3191
+-70.796 30.812 3193
+-70.67 30.812 3196
+-70.544 30.812 3198
+-70.418 30.812 3200
+-70.292 30.812 3202
+-70.166 30.812 3204
+-70.04 30.812 3190
+-69.914 30.812 3193
+-69.788 30.812 3195
+-69.662 30.812 3197
+-69.536 30.812 3200
+-69.41 30.812 3159
+-69.284 30.812 3160
+-69.158 30.812 3162
+-69.032 30.812 3163
+-68.906 30.812 3164
+-68.78 30.812 3165
+-68.654 30.812 3159
+-68.528 30.812 3160
+-68.402 30.812 3137
+-68.276 30.812 3122
+-68.15 30.812 3123
+-68.024 30.812 3124
+-67.898 30.812 3125
+-67.772 30.812 3126
+-67.646 30.812 3126
+-67.52 30.812 3127
+-67.394 30.812 3128
+-67.268 30.812 3129
+-67.142 30.812 3130
+-67.016 30.812 3130
+-66.89 30.812 3037
+-66.764 30.812 3038
+-66.638 30.812 3039
+-66.512 30.812 3040
+-66.386 30.812 3040
+-66.26 30.812 3041
+-66.134 30.812 3042
+-66.008 30.812 3042
+-65.882 30.812 3043
+-65.756 30.812 3044
+-65.63 30.812 3044
+-65.504 30.812 3045
+-65.378 30.812 3045
+-65.252 30.812 3046
+-65.126 30.812 3047
+-128 30.76 2500
+-127.874 30.76 2498
+-127.748 30.76 2590
+-127.622 30.76 2589
+-127.496 30.76 2588
+-127.37 30.76 2588
+-127.244 30.76 2588
+-127.118 30.76 2589
+-126.992 30.76 2590
+-126.866 30.76 2592
+-126.74 30.76 2621
+-126.614 30.76 2624
+-126.488 30.76 2694
+-126.362 30.76 2699
+-126.236 30.76 2706
+-126.11 30.76 2712
+-125.984 30.76 2720
+-125.858 30.76 2729
+-125.732 30.76 2739
+-125.606 30.76 2749
+-125.48 30.76 2822
+-125.354 30.76 2870
+-125.228 30.76 2881
+-125.102 30.76 2893
+-124.976 30.76 2905
+-124.85 30.76 2969
+-124.724 30.76 3225
+-124.598 30.76 3218
+-124.472 30.76 3224
+-124.346 30.76 3217
+-124.22 30.76 3223
+-124.094 30.76 3192
+-123.968 30.76 3254
+-123.842 30.76 3246
+-123.716 30.76 3266
+-123.59 30.76 3258
+-123.464 30.76 3257
+-123.338 30.76 3282
+-123.212 30.76 3337
+-123.086 30.76 3421
+-122.96 30.76 3466
+-122.834 30.76 3529
+-122.708 30.76 3656
+-122.582 30.76 3734
+-122.456 30.76 3802
+-122.33 30.76 3814
+-122.204 30.76 3771
+-122.078 30.76 3687
+-121.952 30.76 3862
+-121.826 30.76 3979
+-121.7 30.76 4114
+-121.574 30.76 4245
+-121.448 30.76 4404
+-121.322 30.76 4558
+-121.196 30.76 4634
+-121.07 30.76 4713
+-120.944 30.76 4850
+-120.818 30.76 4992
+-120.692 30.76 5107
+-120.566 30.76 5242
+-120.44 30.76 5351
+-120.314 30.76 5411
+-120.188 30.76 5547
+-120.062 30.76 5595
+-119.936 30.76 5736
+-119.81 30.76 5925
+-119.684 30.76 6051
+-119.558 30.76 6147
+-119.432 30.76 6234
+-119.306 30.76 6291
+-119.18 30.76 6400
+-119.054 30.76 6515
+-118.928 30.76 6671
+-118.802 30.76 6710
+-118.676 30.76 6781
+-118.55 30.76 6868
+-118.424 30.76 6963
+-118.298 30.76 7044
+-118.172 30.76 7089
+-118.046 30.76 7186
+-117.92 30.76 7199
+-117.794 30.76 7293
+-117.668 30.76 7328
+-117.542 30.76 7371
+-117.416 30.76 7391
+-117.29 30.76 7423
+-117.164 30.76 7420
+-117.038 30.76 7421
+-116.912 30.76 7437
+-116.786 30.76 7437
+-116.66 30.76 7379
+-116.534 30.76 7371
+-116.408 30.76 7354
+-116.282 30.76 7281
+-116.156 30.76 7248
+-116.03 30.76 7178
+-115.904 30.76 7112
+-115.778 30.76 7058
+-115.652 30.76 6939
+-115.526 30.76 6852
+-115.4 30.76 6758
+-115.274 30.76 6712
+-115.148 30.76 6638
+-115.022 30.76 6525
+-114.896 30.76 6400
+-114.77 30.76 6356
+-114.644 30.76 6160
+-114.518 30.76 6132
+-114.392 30.76 6011
+-114.266 30.76 5898
+-114.14 30.76 5804
+-114.014 30.76 5711
+-113.888 30.76 5529
+-113.762 30.76 5727
+-113.636 30.76 5830
+-113.51 30.76 5984
+-113.384 30.76 6098
+-113.258 30.76 6235
+-113.132 30.76 6320
+-113.006 30.76 6467
+-112.88 30.76 6630
+-112.754 30.76 6742
+-112.628 30.76 6845
+-112.502 30.76 6985
+-112.376 30.76 7126
+-112.25 30.76 7319
+-112.124 30.76 7381
+-111.998 30.76 7519
+-111.872 30.76 7663
+-111.746 30.76 7721
+-111.62 30.76 7865
+-111.494 30.76 8006
+-111.368 30.76 8038
+-111.242 30.76 8151
+-111.116 30.76 8254
+-110.99 30.76 8346
+-110.864 30.76 8442
+-110.738 30.76 8474
+-110.612 30.76 8533
+-110.486 30.76 8530
+-110.36 30.76 8525
+-110.234 30.76 8527
+-110.108 30.76 8501
+-109.982 30.76 8438
+-109.856 30.76 8387
+-109.73 30.76 8323
+-109.604 30.76 8205
+-109.478 30.76 8102
+-109.352 30.76 7991
+-109.226 30.76 7888
+-109.1 30.76 7796
+-108.974 30.76 7686
+-108.848 30.76 7566
+-108.722 30.76 7440
+-108.596 30.76 7328
+-108.47 30.76 7217
+-108.344 30.76 7074
+-108.218 30.76 6944
+-108.092 30.76 6827
+-107.966 30.76 6675
+-107.84 30.76 6525
+-107.714 30.76 6462
+-107.588 30.76 6308
+-107.462 30.76 6140
+-107.336 30.76 6056
+-107.21 30.76 5882
+-107.084 30.76 5804
+-106.958 30.76 5672
+-106.832 30.76 5450
+-106.706 30.76 5469
+-106.58 30.76 5299
+-106.454 30.76 5108
+-106.328 30.76 4954
+-106.202 30.76 4851
+-106.076 30.76 4810
+-105.95 30.76 4720
+-105.824 30.76 4562
+-105.698 30.76 4335
+-105.572 30.76 4206
+-105.446 30.76 4238
+-105.32 30.76 4239
+-105.194 30.76 4156
+-105.068 30.76 3896
+-104.942 30.76 3622
+-104.816 30.76 3397
+-104.69 30.76 3210
+-104.564 30.76 3103
+-104.438 30.76 3013
+-104.312 30.76 3067
+-104.186 30.76 3085
+-104.06 30.76 3073
+-103.934 30.76 3046
+-103.808 30.76 3004
+-103.682 30.76 2991
+-103.556 30.76 2990
+-103.43 30.76 2972
+-103.304 30.76 2981
+-103.178 30.76 2976
+-103.052 30.76 2987
+-102.926 30.76 2991
+-102.8 30.76 3003
+-102.674 30.76 3016
+-102.548 30.76 3027
+-102.422 30.76 3039
+-102.296 30.76 3004
+-102.17 30.76 3016
+-102.044 30.76 3028
+-101.918 30.76 3040
+-101.792 30.76 3018
+-101.666 30.76 2990
+-101.54 30.76 3002
+-101.414 30.76 3012
+-101.288 30.76 3021
+-101.162 30.76 3030
+-101.036 30.76 3039
+-100.91 30.76 3047
+-100.784 30.76 3055
+-100.658 30.76 3063
+-100.532 30.76 3071
+-100.406 30.76 3052
+-100.28 30.76 2828
+-100.154 30.76 2810
+-100.028 30.76 2758
+-99.902 30.76 2750
+-99.776 30.76 2741
+-99.65 30.76 2725
+-99.524 30.76 2683
+-99.398 30.76 2630
+-99.272 30.76 2595
+-99.146 30.76 2575
+-99.02 30.76 2553
+-98.894 30.76 2424
+-98.768 30.76 2400
+-98.642 30.76 2358
+-98.516 30.76 2283
+-98.39 30.76 2255
+-98.264 30.76 2215
+-98.138 30.76 2185
+-98.012 30.76 2204
+-97.886 30.76 2157
+-97.76 30.76 2129
+-97.634 30.76 2156
+-97.508 30.76 2149
+-97.382 30.76 2121
+-97.256 30.76 2085
+-97.13 30.76 2114
+-97.004 30.76 2150
+-96.878 30.76 2117
+-96.752 30.76 2072
+-96.626 30.76 2144
+-96.5 30.76 2107
+-96.374 30.76 2075
+-96.248 30.76 2039
+-96.122 30.76 2003
+-95.996 30.76 1997
+-95.87 30.76 1917
+-95.744 30.76 1897
+-95.618 30.76 1883
+-95.492 30.76 1847
+-95.366 30.76 1847
+-95.24 30.76 1856
+-95.114 30.76 1864
+-94.988 30.76 1889
+-94.862 30.76 1918
+-94.736 30.76 1953
+-94.61 30.76 2028
+-94.484 30.76 2079
+-94.358 30.76 2131
+-94.232 30.76 2183
+-94.106 30.76 2225
+-93.98 30.76 2273
+-93.854 30.76 2326
+-93.728 30.76 2320
+-93.602 30.76 2359
+-93.476 30.76 2400
+-93.35 30.76 2436
+-93.224 30.76 2469
+-93.098 30.76 2460
+-92.972 30.76 2481
+-92.846 30.76 2502
+-92.72 30.76 2482
+-92.594 30.76 2449
+-92.468 30.76 2496
+-92.342 30.76 2504
+-92.216 30.76 2481
+-92.09 30.76 2485
+-91.964 30.76 2487
+-91.838 30.76 2488
+-91.712 30.76 2487
+-91.586 30.76 2473
+-91.46 30.76 2486
+-91.334 30.76 2525
+-91.208 30.76 2517
+-91.082 30.76 2509
+-90.956 30.76 2499
+-90.83 30.76 2489
+-90.704 30.76 2491
+-90.578 30.76 2475
+-90.452 30.76 2455
+-90.326 30.76 2417
+-90.2 30.76 2384
+-90.074 30.76 2355
+-89.948 30.76 2330
+-89.822 30.76 2332
+-89.696 30.76 2350
+-89.57 30.76 2385
+-89.444 30.76 2418
+-89.318 30.76 2433
+-89.192 30.76 2432
+-89.066 30.76 2400
+-88.94 30.76 2361
+-88.814 30.76 2360
+-88.688 30.76 2416
+-88.562 30.76 2524
+-88.436 30.76 2661
+-88.31 30.76 2769
+-88.184 30.76 2869
+-88.058 30.76 2927
+-87.932 30.76 2972
+-87.806 30.76 2961
+-87.68 30.76 2939
+-87.554 30.76 3061
+-87.428 30.76 3113
+-87.302 30.76 3183
+-87.176 30.76 3387
+-87.05 30.76 3626
+-86.924 30.76 3832
+-86.798 30.76 3984
+-86.672 30.76 4095
+-86.546 30.76 4169
+-86.42 30.76 4229
+-86.294 30.76 4262
+-86.168 30.76 4350
+-86.042 30.76 4487
+-85.916 30.76 4606
+-85.79 30.76 4765
+-85.664 30.76 4848
+-85.538 30.76 4846
+-85.412 30.76 4993
+-85.286 30.76 5113
+-85.16 30.76 5171
+-85.034 30.76 5179
+-84.908 30.76 5346
+-84.782 30.76 5462
+-84.656 30.76 5505
+-84.53 30.76 5604
+-84.404 30.76 5715
+-84.278 30.76 5763
+-84.152 30.76 5856
+-84.026 30.76 5939
+-83.9 30.76 6016
+-83.774 30.76 6085
+-83.648 30.76 6117
+-83.522 30.76 6193
+-83.396 30.76 6254
+-83.27 30.76 6343
+-83.144 30.76 6395
+-83.018 30.76 6392
+-82.892 30.76 6434
+-82.766 30.76 6463
+-82.64 30.76 6472
+-82.514 30.76 6501
+-82.388 30.76 6511
+-82.262 30.76 6524
+-82.136 30.76 6538
+-82.01 30.76 6558
+-81.884 30.76 6527
+-81.758 30.76 6494
+-81.632 30.76 6452
+-81.506 30.76 6427
+-81.38 30.76 6399
+-81.254 30.76 6372
+-81.128 30.76 6311
+-81.002 30.76 6246
+-80.876 30.76 6234
+-80.75 30.76 6176
+-80.624 30.76 6118
+-80.498 30.76 6033
+-80.372 30.76 5991
+-80.246 30.76 5883
+-80.12 30.76 5817
+-79.994 30.76 5703
+-79.868 30.76 5599
+-79.742 30.76 5542
+-79.616 30.76 5466
+-79.49 30.76 5362
+-79.364 30.76 5308
+-79.238 30.76 5249
+-79.112 30.76 5123
+-78.986 30.76 4979
+-78.86 30.76 5033
+-78.734 30.76 5012
+-78.608 30.76 4921
+-78.482 30.76 4706
+-78.356 30.76 4575
+-78.23 30.76 4482
+-78.104 30.76 4431
+-77.978 30.76 4294
+-77.852 30.76 4125
+-77.726 30.76 3923
+-77.6 30.76 3769
+-77.474 30.76 3706
+-77.348 30.76 3698
+-77.222 30.76 3671
+-77.096 30.76 3616
+-76.97 30.76 3535
+-76.844 30.76 3434
+-76.718 30.76 3329
+-76.592 30.76 3209
+-76.466 30.76 3084
+-76.34 30.76 2965
+-76.214 30.76 2897
+-76.088 30.76 2877
+-75.962 30.76 2892
+-75.836 30.76 2956
+-75.71 30.76 3020
+-75.584 30.76 3078
+-75.458 30.76 3127
+-75.332 30.76 3128
+-75.206 30.76 3149
+-75.08 30.76 3164
+-74.954 30.76 3162
+-74.828 30.76 3194
+-74.702 30.76 3167
+-74.576 30.76 3209
+-74.45 30.76 3225
+-74.324 30.76 3240
+-74.198 30.76 3253
+-74.072 30.76 3265
+-73.946 30.76 3276
+-73.82 30.76 3285
+-73.694 30.76 3269
+-73.568 30.76 3277
+-73.442 30.76 3285
+-73.316 30.76 3267
+-73.19 30.76 3240
+-73.064 30.76 3229
+-72.938 30.76 3234
+-72.812 30.76 3239
+-72.686 30.76 3243
+-72.56 30.76 3247
+-72.434 30.76 3251
+-72.308 30.76 3254
+-72.182 30.76 3176
+-72.056 30.76 3167
+-71.93 30.76 3171
+-71.804 30.76 3175
+-71.678 30.76 3178
+-71.552 30.76 3181
+-71.426 30.76 3184
+-71.3 30.76 3187
+-71.174 30.76 3190
+-71.048 30.76 3193
+-70.922 30.76 3195
+-70.796 30.76 3198
+-70.67 30.76 3200
+-70.544 30.76 3202
+-70.418 30.76 3204
+-70.292 30.76 3206
+-70.166 30.76 3192
+-70.04 30.76 3194
+-69.914 30.76 3197
+-69.788 30.76 3199
+-69.662 30.76 3201
+-69.536 30.76 3160
+-69.41 30.76 3162
+-69.284 30.76 3163
+-69.158 30.76 3164
+-69.032 30.76 3166
+-68.906 30.76 3167
+-68.78 30.76 3159
+-68.654 30.76 3161
+-68.528 30.76 3137
+-68.402 30.76 3123
+-68.276 30.76 3124
+-68.15 30.76 3124
+-68.024 30.76 3125
+-67.898 30.76 3126
+-67.772 30.76 3127
+-67.646 30.76 3128
+-67.52 30.76 3129
+-67.394 30.76 3129
+-67.268 30.76 3130
+-67.142 30.76 3131
+-67.016 30.76 3038
+-66.89 30.76 3038
+-66.764 30.76 3039
+-66.638 30.76 3040
+-66.512 30.76 3041
+-66.386 30.76 3041
+-66.26 30.76 3042
+-66.134 30.76 3043
+-66.008 30.76 3043
+-65.882 30.76 3044
+-65.756 30.76 3045
+-65.63 30.76 3045
+-65.504 30.76 3046
+-65.378 30.76 3046
+-65.252 30.76 3047
+-65.126 30.76 3047
+-128 30.708 2482
+-127.874 30.708 2573
+-127.748 30.708 2571
+-127.622 30.708 2569
+-127.496 30.708 2567
+-127.37 30.708 2566
+-127.244 30.708 2565
+-127.118 30.708 2565
+-126.992 30.708 2565
+-126.866 30.708 2593
+-126.74 30.708 2594
+-126.614 30.708 2664
+-126.488 30.708 2667
+-126.362 30.708 2672
+-126.236 30.708 2677
+-126.11 30.708 2684
+-125.984 30.708 2691
+-125.858 30.708 2700
+-125.732 30.708 2709
+-125.606 30.708 2750
+-125.48 30.708 2828
+-125.354 30.708 2840
+-125.228 30.708 2852
+-125.102 30.708 2865
+-124.976 30.708 2878
+-124.85 30.708 2892
+-124.724 30.708 2946
+-124.598 30.708 2980
+-124.472 30.708 3233
+-124.346 30.708 3220
+-124.22 30.708 3214
+-124.094 30.708 3281
+-123.968 30.708 3278
+-123.842 30.708 3261
+-123.716 30.708 3289
+-123.59 30.708 3290
+-123.464 30.708 3296
+-123.338 30.708 3355
+-123.212 30.708 3420
+-123.086 30.708 3453
+-122.96 30.708 3495
+-122.834 30.708 3605
+-122.708 30.708 3666
+-122.582 30.708 3707
+-122.456 30.708 3753
+-122.33 30.708 3783
+-122.204 30.708 3801
+-122.078 30.708 3792
+-121.952 30.708 3887
+-121.826 30.708 3855
+-121.7 30.708 4079
+-121.574 30.708 4204
+-121.448 30.708 4315
+-121.322 30.708 4524
+-121.196 30.708 4653
+-121.07 30.708 4652
+-120.944 30.708 4791
+-120.818 30.708 4961
+-120.692 30.708 5103
+-120.566 30.708 5203
+-120.44 30.708 5302
+-120.314 30.708 5325
+-120.188 30.708 5469
+-120.062 30.708 5587
+-119.936 30.708 5714
+-119.81 30.708 5879
+-119.684 30.708 6017
+-119.558 30.708 6104
+-119.432 30.708 6161
+-119.306 30.708 6247
+-119.18 30.708 6384
+-119.054 30.708 6484
+-118.928 30.708 6615
+-118.802 30.708 6706
+-118.676 30.708 6753
+-118.55 30.708 6850
+-118.424 30.708 6889
+-118.298 30.708 6987
+-118.172 30.708 7058
+-118.046 30.708 7127
+-117.92 30.708 7153
+-117.794 30.708 7220
+-117.668 30.708 7299
+-117.542 30.708 7311
+-117.416 30.708 7318
+-117.29 30.708 7338
+-117.164 30.708 7341
+-117.038 30.708 7351
+-116.912 30.708 7371
+-116.786 30.708 7355
+-116.66 30.708 7356
+-116.534 30.708 7300
+-116.408 30.708 7256
+-116.282 30.708 7241
+-116.156 30.708 7157
+-116.03 30.708 7128
+-115.904 30.708 7066
+-115.778 30.708 6972
+-115.652 30.708 6867
+-115.526 30.708 6832
+-115.4 30.708 6784
+-115.274 30.708 6697
+-115.148 30.708 6581
+-115.022 30.708 6483
+-114.896 30.708 6395
+-114.77 30.708 6300
+-114.644 30.708 6195
+-114.518 30.708 6129
+-114.392 30.708 5956
+-114.266 30.708 5837
+-114.14 30.708 5764
+-114.014 30.708 5640
+-113.888 30.708 5628
+-113.762 30.708 5726
+-113.636 30.708 5861
+-113.51 30.708 5991
+-113.384 30.708 6070
+-113.258 30.708 6153
+-113.132 30.708 6313
+-113.006 30.708 6498
+-112.88 30.708 6593
+-112.754 30.708 6724
+-112.628 30.708 6872
+-112.502 30.708 7009
+-112.376 30.708 7166
+-112.25 30.708 7233
+-112.124 30.708 7397
+-111.998 30.708 7480
+-111.872 30.708 7614
+-111.746 30.708 7704
+-111.62 30.708 7838
+-111.494 30.708 7926
+-111.368 30.708 8043
+-111.242 30.708 8117
+-111.116 30.708 8219
+-110.99 30.708 8273
+-110.864 30.708 8410
+-110.738 30.708 8416
+-110.612 30.708 8454
+-110.486 30.708 8484
+-110.36 30.708 8486
+-110.234 30.708 8491
+-110.108 30.708 8419
+-109.982 30.708 8400
+-109.856 30.708 8335
+-109.73 30.708 8264
+-109.604 30.708 8168
+-109.478 30.708 8061
+-109.352 30.708 7986
+-109.226 30.708 7875
+-109.1 30.708 7755
+-108.974 30.708 7621
+-108.848 30.708 7528
+-108.722 30.708 7381
+-108.596 30.708 7302
+-108.47 30.708 7168
+-108.344 30.708 7047
+-108.218 30.708 6864
+-108.092 30.708 6799
+-107.966 30.708 6635
+-107.84 30.708 6534
+-107.714 30.708 6415
+-107.588 30.708 6273
+-107.462 30.708 6180
+-107.336 30.708 6005
+-107.21 30.708 5889
+-107.084 30.708 5738
+-106.958 30.708 5651
+-106.832 30.708 5540
+-106.706 30.708 5448
+-106.58 30.708 5281
+-106.454 30.708 5101
+-106.328 30.708 4909
+-106.202 30.708 4797
+-106.076 30.708 4757
+-105.95 30.708 4712
+-105.824 30.708 4579
+-105.698 30.708 4340
+-105.572 30.708 4158
+-105.446 30.708 4236
+-105.32 30.708 4248
+-105.194 30.708 4170
+-105.068 30.708 3919
+-104.942 30.708 3686
+-104.816 30.708 3383
+-104.69 30.708 3174
+-104.564 30.708 3084
+-104.438 30.708 3086
+-104.312 30.708 3076
+-104.186 30.708 3072
+-104.06 30.708 3039
+-103.934 30.708 2998
+-103.808 30.708 2972
+-103.682 30.708 2947
+-103.556 30.708 2932
+-103.43 30.708 2945
+-103.304 30.708 2960
+-103.178 30.708 2975
+-103.052 30.708 2976
+-102.926 30.708 2987
+-102.8 30.708 2992
+-102.674 30.708 3004
+-102.548 30.708 3016
+-102.422 30.708 3028
+-102.296 30.708 3040
+-102.17 30.708 2990
+-102.044 30.708 3002
+-101.918 30.708 2984
+-101.792 30.708 2968
+-101.666 30.708 2979
+-101.54 30.708 2989
+-101.414 30.708 2989
+-101.288 30.708 2999
+-101.162 30.708 3008
+-101.036 30.708 3017
+-100.91 30.708 3025
+-100.784 30.708 3033
+-100.658 30.708 3041
+-100.532 30.708 3049
+-100.406 30.708 3056
+-100.28 30.708 2811
+-100.154 30.708 2761
+-100.028 30.708 2755
+-99.902 30.708 2747
+-99.776 30.708 2739
+-99.65 30.708 2728
+-99.524 30.708 2682
+-99.398 30.708 2631
+-99.272 30.708 2597
+-99.146 30.708 2578
+-99.02 30.708 2557
+-98.894 30.708 2534
+-98.768 30.708 2405
+-98.642 30.708 2364
+-98.516 30.708 2291
+-98.39 30.708 2263
+-98.264 30.708 2233
+-98.138 30.708 2196
+-98.012 30.708 2172
+-97.886 30.708 2136
+-97.76 30.708 2141
+-97.634 30.708 2168
+-97.508 30.708 2162
+-97.382 30.708 2129
+-97.256 30.708 2123
+-97.13 30.708 2157
+-97.004 30.708 2178
+-96.878 30.708 2135
+-96.752 30.708 2145
+-96.626 30.708 2187
+-96.5 30.708 2159
+-96.374 30.708 2128
+-96.248 30.708 2093
+-96.122 30.708 2092
+-95.996 30.708 2008
+-95.87 30.708 1989
+-95.744 30.708 1974
+-95.618 30.708 1930
+-95.492 30.708 1927
+-95.366 30.708 1930
+-95.24 30.708 1930
+-95.114 30.708 1946
+-94.988 30.708 1967
+-94.862 30.708 1990
+-94.736 30.708 2057
+-94.61 30.708 2098
+-94.484 30.708 2140
+-94.358 30.708 2184
+-94.232 30.708 2219
+-94.106 30.708 2261
+-93.98 30.708 2309
+-93.854 30.708 2301
+-93.728 30.708 2338
+-93.602 30.708 2378
+-93.476 30.708 2415
+-93.35 30.708 2448
+-93.224 30.708 2441
+-93.098 30.708 2463
+-92.972 30.708 2486
+-92.846 30.708 2468
+-92.72 30.708 2437
+-92.594 30.708 2471
+-92.468 30.708 2482
+-92.342 30.708 2478
+-92.216 30.708 2485
+-92.09 30.708 2489
+-91.964 30.708 2492
+-91.838 30.708 2493
+-91.712 30.708 2480
+-91.586 30.708 2474
+-91.46 30.708 2473
+-91.334 30.708 2534
+-91.208 30.708 2526
+-91.082 30.708 2517
+-90.956 30.708 2509
+-90.83 30.708 2497
+-90.704 30.708 2496
+-90.578 30.708 2467
+-90.452 30.708 2463
+-90.326 30.708 2437
+-90.2 30.708 2424
+-90.074 30.708 2413
+-89.948 30.708 2400
+-89.822 30.708 2399
+-89.696 30.708 2418
+-89.57 30.708 2440
+-89.444 30.708 2461
+-89.318 30.708 2472
+-89.192 30.708 2479
+-89.066 30.708 2468
+-88.94 30.708 2457
+-88.814 30.708 2482
+-88.688 30.708 2523
+-88.562 30.708 2608
+-88.436 30.708 2691
+-88.31 30.708 2798
+-88.184 30.708 2873
+-88.058 30.708 2937
+-87.932 30.708 2950
+-87.806 30.708 2911
+-87.68 30.708 2827
+-87.554 30.708 2987
+-87.428 30.708 3131
+-87.302 30.708 3227
+-87.176 30.708 3446
+-87.05 30.708 3642
+-86.924 30.708 3856
+-86.798 30.708 3986
+-86.672 30.708 4106
+-86.546 30.708 4164
+-86.42 30.708 4232
+-86.294 30.708 4198
+-86.168 30.708 4317
+-86.042 30.708 4494
+-85.916 30.708 4618
+-85.79 30.708 4748
+-85.664 30.708 4846
+-85.538 30.708 4906
+-85.412 30.708 5020
+-85.286 30.708 5180
+-85.16 30.708 5249
+-85.034 30.708 5306
+-84.908 30.708 5422
+-84.782 30.708 5434
+-84.656 30.708 5559
+-84.53 30.708 5661
+-84.404 30.708 5732
+-84.278 30.708 5806
+-84.152 30.708 5928
+-84.026 30.708 6006
+-83.9 30.708 6081
+-83.774 30.708 6140
+-83.648 30.708 6177
+-83.522 30.708 6252
+-83.396 30.708 6300
+-83.27 30.708 6400
+-83.144 30.708 6420
+-83.018 30.708 6442
+-82.892 30.708 6495
+-82.766 30.708 6548
+-82.64 30.708 6544
+-82.514 30.708 6572
+-82.388 30.708 6580
+-82.262 30.708 6597
+-82.136 30.708 6620
+-82.01 30.708 6591
+-81.884 30.708 6575
+-81.758 30.708 6554
+-81.632 30.708 6521
+-81.506 30.708 6513
+-81.38 30.708 6437
+-81.254 30.708 6396
+-81.128 30.708 6354
+-81.002 30.708 6291
+-80.876 30.708 6278
+-80.75 30.708 6217
+-80.624 30.708 6180
+-80.498 30.708 6110
+-80.372 30.708 6040
+-80.246 30.708 5918
+-80.12 30.708 5802
+-79.994 30.708 5780
+-79.868 30.708 5670
+-79.742 30.708 5584
+-79.616 30.708 5488
+-79.49 30.708 5405
+-79.364 30.708 5342
+-79.238 30.708 5319
+-79.112 30.708 5225
+-78.986 30.708 5120
+-78.86 30.708 5093
+-78.734 30.708 5085
+-78.608 30.708 4977
+-78.482 30.708 4797
+-78.356 30.708 4684
+-78.23 30.708 4573
+-78.104 30.708 4470
+-77.978 30.708 4293
+-77.852 30.708 4111
+-77.726 30.708 3898
+-77.6 30.708 3728
+-77.474 30.708 3671
+-77.348 30.708 3696
+-77.222 30.708 3708
+-77.096 30.708 3672
+-76.97 30.708 3596
+-76.844 30.708 3516
+-76.718 30.708 3421
+-76.592 30.708 3325
+-76.466 30.708 3227
+-76.34 30.708 3144
+-76.214 30.708 3090
+-76.088 30.708 3058
+-75.962 30.708 3084
+-75.836 30.708 3090
+-75.71 30.708 3100
+-75.584 30.708 3139
+-75.458 30.708 3171
+-75.332 30.708 3174
+-75.206 30.708 3167
+-75.08 30.708 3188
+-74.954 30.708 3196
+-74.828 30.708 3193
+-74.702 30.708 3211
+-74.576 30.708 3227
+-74.45 30.708 3242
+-74.324 30.708 3255
+-74.198 30.708 3267
+-74.072 30.708 3278
+-73.946 30.708 3288
+-73.82 30.708 3272
+-73.694 30.708 3280
+-73.568 30.708 3288
+-73.442 30.708 3270
+-73.316 30.708 3242
+-73.19 30.708 3231
+-73.064 30.708 3236
+-72.938 30.708 3241
+-72.812 30.708 3245
+-72.686 30.708 3249
+-72.56 30.708 3253
+-72.434 30.708 3256
+-72.308 30.708 3178
+-72.182 30.708 3169
+-72.056 30.708 3173
+-71.93 30.708 3177
+-71.804 30.708 3180
+-71.678 30.708 3183
+-71.552 30.708 3186
+-71.426 30.708 3189
+-71.3 30.708 3192
+-71.174 30.708 3195
+-71.048 30.708 3197
+-70.922 30.708 3199
+-70.796 30.708 3202
+-70.67 30.708 3204
+-70.544 30.708 3206
+-70.418 30.708 3208
+-70.292 30.708 3194
+-70.166 30.708 3196
+-70.04 30.708 3198
+-69.914 30.708 3201
+-69.788 30.708 3203
+-69.662 30.708 3162
+-69.536 30.708 3163
+-69.41 30.708 3165
+-69.284 30.708 3166
+-69.158 30.708 3167
+-69.032 30.708 3168
+-68.906 30.708 3160
+-68.78 30.708 3161
+-68.654 30.708 3138
+-68.528 30.708 3123
+-68.402 30.708 3124
+-68.276 30.708 3125
+-68.15 30.708 3126
+-68.024 30.708 3127
+-67.898 30.708 3128
+-67.772 30.708 3128
+-67.646 30.708 3129
+-67.52 30.708 3130
+-67.394 30.708 3131
+-67.268 30.708 3131
+-67.142 30.708 3038
+-67.016 30.708 3039
+-66.89 30.708 3040
+-66.764 30.708 3040
+-66.638 30.708 3041
+-66.512 30.708 3042
+-66.386 30.708 3042
+-66.26 30.708 3043
+-66.134 30.708 3044
+-66.008 30.708 3044
+-65.882 30.708 3045
+-65.756 30.708 3046
+-65.63 30.708 3046
+-65.504 30.708 3047
+-65.378 30.708 3047
+-65.252 30.708 3048
+-65.126 30.708 3048
+-128 30.656 2556
+-127.874 30.656 2553
+-127.748 30.656 2550
+-127.622 30.656 2548
+-127.496 30.656 2545
+-127.37 30.656 2543
+-127.244 30.656 2541
+-127.118 30.656 2540
+-126.992 30.656 2565
+-126.866 30.656 2565
+-126.74 30.656 2633
+-126.614 30.656 2635
+-126.488 30.656 2638
+-126.362 30.656 2641
+-126.236 30.656 2646
+-126.11 30.656 2652
+-125.984 30.656 2659
+-125.858 30.656 2667
+-125.732 30.656 2706
+-125.606 30.656 2782
+-125.48 30.656 2793
+-125.354 30.656 2806
+-125.228 30.656 2819
+-125.102 30.656 2833
+-124.976 30.656 2848
+-124.85 30.656 2882
+-124.724 30.656 2899
+-124.598 30.656 2917
+-124.472 30.656 2980
+-124.346 30.656 3230
+-124.22 30.656 3292
+-124.094 30.656 3287
+-123.968 30.656 3284
+-123.842 30.656 3314
+-123.716 30.656 3341
+-123.59 30.656 3342
+-123.464 30.656 3348
+-123.338 30.656 3359
+-123.212 30.656 3399
+-123.086 30.656 3470
+-122.96 30.656 3562
+-122.834 30.656 3601
+-122.708 30.656 3632
+-122.582 30.656 3684
+-122.456 30.656 3719
+-122.33 30.656 3754
+-122.204 30.656 3795
+-122.078 30.656 3860
+-121.952 30.656 3939
+-121.826 30.656 3964
+-121.7 30.656 4091
+-121.574 30.656 4217
+-121.448 30.656 4344
+-121.322 30.656 4501
+-121.196 30.656 4642
+-121.07 30.656 4696
+-120.944 30.656 4775
+-120.818 30.656 4922
+-120.692 30.656 5089
+-120.566 30.656 5088
+-120.44 30.656 5279
+-120.314 30.656 5336
+-120.188 30.656 5461
+-120.062 30.656 5566
+-119.936 30.656 5692
+-119.81 30.656 5813
+-119.684 30.656 5961
+-119.558 30.656 5976
+-119.432 30.656 6131
+-119.306 30.656 6214
+-119.18 30.656 6306
+-119.054 30.656 6440
+-118.928 30.656 6548
+-118.802 30.656 6616
+-118.676 30.656 6689
+-118.55 30.656 6778
+-118.424 30.656 6861
+-118.298 30.656 6937
+-118.172 30.656 7001
+-118.046 30.656 7066
+-117.92 30.656 7127
+-117.794 30.656 7140
+-117.668 30.656 7210
+-117.542 30.656 7253
+-117.416 30.656 7275
+-117.29 30.656 7290
+-117.164 30.656 7305
+-117.038 30.656 7289
+-116.912 30.656 7295
+-116.786 30.656 7288
+-116.66 30.656 7308
+-116.534 30.656 7263
+-116.408 30.656 7261
+-116.282 30.656 7174
+-116.156 30.656 7129
+-116.03 30.656 7072
+-115.904 30.656 6994
+-115.778 30.656 6939
+-115.652 30.656 6838
+-115.526 30.656 6766
+-115.4 30.656 6714
+-115.274 30.656 6657
+-115.148 30.656 6536
+-115.022 30.656 6414
+-114.896 30.656 6357
+-114.77 30.656 6313
+-114.644 30.656 6165
+-114.518 30.656 6064
+-114.392 30.656 5937
+-114.266 30.656 5822
+-114.14 30.656 5674
+-114.014 30.656 5438
+-113.888 30.656 5576
+-113.762 30.656 5706
+-113.636 30.656 5864
+-113.51 30.656 5957
+-113.384 30.656 6035
+-113.258 30.656 6187
+-113.132 30.656 6359
+-113.006 30.656 6445
+-112.88 30.656 6577
+-112.754 30.656 6721
+-112.628 30.656 6868
+-112.502 30.656 6988
+-112.376 30.656 7088
+-112.25 30.656 7186
+-112.124 30.656 7354
+-111.998 30.656 7452
+-111.872 30.656 7607
+-111.746 30.656 7661
+-111.62 30.656 7771
+-111.494 30.656 7896
+-111.368 30.656 8012
+-111.242 30.656 8055
+-111.116 30.656 8130
+-110.99 30.656 8219
+-110.864 30.656 8310
+-110.738 30.656 8388
+-110.612 30.656 8407
+-110.486 30.656 8444
+-110.36 30.656 8427
+-110.234 30.656 8413
+-110.108 30.656 8381
+-109.982 30.656 8321
+-109.856 30.656 8279
+-109.73 30.656 8201
+-109.604 30.656 8111
+-109.478 30.656 8009
+-109.352 30.656 7932
+-109.226 30.656 7827
+-109.1 30.656 7697
+-108.974 30.656 7625
+-108.848 30.656 7564
+-108.722 30.656 7401
+-108.596 30.656 7313
+-108.47 30.656 7191
+-108.344 30.656 7037
+-108.218 30.656 6925
+-108.092 30.656 6768
+-107.966 30.656 6671
+-107.84 30.656 6508
+-107.714 30.656 6354
+-107.588 30.656 6283
+-107.462 30.656 6188
+-107.336 30.656 5978
+-107.21 30.656 5810
+-107.084 30.656 5733
+-106.958 30.656 5570
+-106.832 30.656 5510
+-106.706 30.656 5433
+-106.58 30.656 5238
+-106.454 30.656 5085
+-106.328 30.656 4931
+-106.202 30.656 4793
+-106.076 30.656 4632
+-105.95 30.656 4703
+-105.824 30.656 4629
+-105.698 30.656 4461
+-105.572 30.656 4302
+-105.446 30.656 4291
+-105.32 30.656 4281
+-105.194 30.656 4143
+-105.068 30.656 3978
+-104.942 30.656 3718
+-104.816 30.656 3477
+-104.69 30.656 3240
+-104.564 30.656 3146
+-104.438 30.656 3127
+-104.312 30.656 3087
+-104.186 30.656 3035
+-104.06 30.656 2955
+-103.934 30.656 2887
+-103.808 30.656 2855
+-103.682 30.656 2847
+-103.556 30.656 2876
+-103.43 30.656 2907
+-103.304 30.656 2933
+-103.178 30.656 2955
+-103.052 30.656 2972
+-102.926 30.656 2973
+-102.8 30.656 2985
+-102.674 30.656 2989
+-102.548 30.656 3002
+-102.422 30.656 3014
+-102.296 30.656 3027
+-102.17 30.656 3039
+-102.044 30.656 2959
+-101.918 30.656 2971
+-101.792 30.656 2982
+-101.666 30.656 2967
+-101.54 30.656 2978
+-101.414 30.656 2988
+-101.288 30.656 2999
+-101.162 30.656 2999
+-101.036 30.656 3008
+-100.91 30.656 3017
+-100.784 30.656 3026
+-100.658 30.656 3034
+-100.532 30.656 3042
+-100.406 30.656 3050
+-100.28 30.656 2796
+-100.154 30.656 2758
+-100.028 30.656 2752
+-99.902 30.656 2745
+-99.776 30.656 2737
+-99.65 30.656 2727
+-99.524 30.656 2670
+-99.398 30.656 2615
+-99.272 30.656 2598
+-99.146 30.656 2580
+-99.02 30.656 2560
+-98.894 30.656 2539
+-98.768 30.656 2515
+-98.642 30.656 2370
+-98.516 30.656 2345
+-98.39 30.656 2272
+-98.264 30.656 2243
+-98.138 30.656 2218
+-98.012 30.656 2184
+-97.886 30.656 2158
+-97.76 30.656 2166
+-97.634 30.656 2160
+-97.508 30.656 2150
+-97.382 30.656 2166
+-97.256 30.656 2110
+-97.13 30.656 2087
+-97.004 30.656 2143
+-96.878 30.656 2205
+-96.752 30.656 2183
+-96.626 30.656 2233
+-96.5 30.656 2205
+-96.374 30.656 2172
+-96.248 30.656 2176
+-96.122 30.656 2088
+-95.996 30.656 2070
+-95.87 30.656 2055
+-95.744 30.656 2008
+-95.618 30.656 2002
+-95.492 30.656 2001
+-95.366 30.656 1994
+-95.24 30.656 2004
+-95.114 30.656 2017
+-94.988 30.656 2031
+-94.862 30.656 2091
+-94.736 30.656 2124
+-94.61 30.656 2157
+-94.484 30.656 2193
+-94.358 30.656 2221
+-94.232 30.656 2257
+-94.106 30.656 2300
+-93.98 30.656 2287
+-93.854 30.656 2322
+-93.728 30.656 2361
+-93.602 30.656 2397
+-93.476 30.656 2430
+-93.35 30.656 2423
+-93.224 30.656 2446
+-93.098 30.656 2471
+-92.972 30.656 2454
+-92.846 30.656 2423
+-92.72 30.656 2461
+-92.594 30.656 2474
+-92.468 30.656 2473
+-92.342 30.656 2481
+-92.216 30.656 2488
+-92.09 30.656 2493
+-91.964 30.656 2496
+-91.838 30.656 2483
+-91.712 30.656 2479
+-91.586 30.656 2479
+-91.46 30.656 2479
+-91.334 30.656 2543
+-91.208 30.656 2534
+-91.082 30.656 2528
+-90.956 30.656 2517
+-90.83 30.656 2521
+-90.704 30.656 2498
+-90.578 30.656 2501
+-90.452 30.656 2489
+-90.326 30.656 2474
+-90.2 30.656 2466
+-90.074 30.656 2454
+-89.948 30.656 2459
+-89.822 30.656 2460
+-89.696 30.656 2476
+-89.57 30.656 2494
+-89.444 30.656 2509
+-89.318 30.656 2518
+-89.192 30.656 2533
+-89.066 30.656 2533
+-88.94 30.656 2536
+-88.814 30.656 2569
+-88.688 30.656 2608
+-88.562 30.656 2673
+-88.436 30.656 2734
+-88.31 30.656 2816
+-88.184 30.656 2883
+-88.058 30.656 2946
+-87.932 30.656 3008
+-87.806 30.656 2968
+-87.68 30.656 2938
+-87.554 30.656 3048
+-87.428 30.656 3190
+-87.302 30.656 3349
+-87.176 30.656 3530
+-87.05 30.656 3710
+-86.924 30.656 3893
+-86.798 30.656 4029
+-86.672 30.656 4120
+-86.546 30.656 4157
+-86.42 30.656 4207
+-86.294 30.656 4256
+-86.168 30.656 4375
+-86.042 30.656 4502
+-85.916 30.656 4629
+-85.79 30.656 4726
+-85.664 30.656 4853
+-85.538 30.656 4918
+-85.412 30.656 5062
+-85.286 30.656 5211
+-85.16 30.656 5320
+-85.034 30.656 5408
+-84.908 30.656 5486
+-84.782 30.656 5498
+-84.656 30.656 5618
+-84.53 30.656 5730
+-84.404 30.656 5750
+-84.278 30.656 5831
+-84.152 30.656 5964
+-84.026 30.656 6096
+-83.9 30.656 6112
+-83.774 30.656 6184
+-83.648 30.656 6249
+-83.522 30.656 6313
+-83.396 30.656 6389
+-83.27 30.656 6465
+-83.144 30.656 6490
+-83.018 30.656 6509
+-82.892 30.656 6564
+-82.766 30.656 6587
+-82.64 30.656 6624
+-82.514 30.656 6659
+-82.388 30.656 6678
+-82.262 30.656 6672
+-82.136 30.656 6640
+-82.01 30.656 6636
+-81.884 30.656 6599
+-81.758 30.656 6605
+-81.632 30.656 6625
+-81.506 30.656 6555
+-81.38 30.656 6495
+-81.254 30.656 6431
+-81.128 30.656 6413
+-81.002 30.656 6339
+-80.876 30.656 6356
+-80.75 30.656 6242
+-80.624 30.656 6225
+-80.498 30.656 6152
+-80.372 30.656 6087
+-80.246 30.656 5980
+-80.12 30.656 5913
+-79.994 30.656 5839
+-79.868 30.656 5714
+-79.742 30.656 5642
+-79.616 30.656 5521
+-79.49 30.656 5422
+-79.364 30.656 5388
+-79.238 30.656 5354
+-79.112 30.656 5305
+-78.986 30.656 5243
+-78.86 30.656 5160
+-78.734 30.656 5122
+-78.608 30.656 5023
+-78.482 30.656 4856
+-78.356 30.656 4716
+-78.23 30.656 4610
+-78.104 30.656 4455
+-77.978 30.656 4286
+-77.852 30.656 4137
+-77.726 30.656 3922
+-77.6 30.656 3746
+-77.474 30.656 3671
+-77.348 30.656 3706
+-77.222 30.656 3732
+-77.096 30.656 3707
+-76.97 30.656 3671
+-76.844 30.656 3588
+-76.718 30.656 3512
+-76.592 30.656 3415
+-76.466 30.656 3338
+-76.34 30.656 3273
+-76.214 30.656 3224
+-76.088 30.656 3199
+-75.962 30.656 3199
+-75.836 30.656 3215
+-75.71 30.656 3206
+-75.584 30.656 3252
+-75.458 30.656 3188
+-75.332 30.656 3187
+-75.206 30.656 3196
+-75.08 30.656 3203
+-74.954 30.656 3198
+-74.828 30.656 3216
+-74.702 30.656 3232
+-74.576 30.656 3246
+-74.45 30.656 3259
+-74.324 30.656 3271
+-74.198 30.656 3282
+-74.072 30.656 3292
+-73.946 30.656 3275
+-73.82 30.656 3284
+-73.694 30.656 3291
+-73.568 30.656 3273
+-73.442 30.656 3245
+-73.316 30.656 3235
+-73.19 30.656 3239
+-73.064 30.656 3244
+-72.938 30.656 3248
+-72.812 30.656 3252
+-72.686 30.656 3256
+-72.56 30.656 3259
+-72.434 30.656 3181
+-72.308 30.656 3172
+-72.182 30.656 3176
+-72.056 30.656 3179
+-71.93 30.656 3183
+-71.804 30.656 3186
+-71.678 30.656 3189
+-71.552 30.656 3192
+-71.426 30.656 3194
+-71.3 30.656 3197
+-71.174 30.656 3199
+-71.048 30.656 3202
+-70.922 30.656 3204
+-70.796 30.656 3206
+-70.67 30.656 3208
+-70.544 30.656 3210
+-70.418 30.656 3196
+-70.292 30.656 3198
+-70.166 30.656 3200
+-70.04 30.656 3202
+-69.914 30.656 3204
+-69.788 30.656 3164
+-69.662 30.656 3165
+-69.536 30.656 3166
+-69.41 30.656 3168
+-69.284 30.656 3169
+-69.158 30.656 3170
+-69.032 30.656 3161
+-68.906 30.656 3162
+-68.78 30.656 3139
+-68.654 30.656 3124
+-68.528 30.656 3125
+-68.402 30.656 3126
+-68.276 30.656 3127
+-68.15 30.656 3128
+-68.024 30.656 3128
+-67.898 30.656 3129
+-67.772 30.656 3130
+-67.646 30.656 3131
+-67.52 30.656 3131
+-67.394 30.656 3132
+-67.268 30.656 3039
+-67.142 30.656 3039
+-67.016 30.656 3040
+-66.89 30.656 3041
+-66.764 30.656 3042
+-66.638 30.656 3042
+-66.512 30.656 3043
+-66.386 30.656 3044
+-66.26 30.656 3044
+-66.134 30.656 3045
+-66.008 30.656 3045
+-65.882 30.656 3046
+-65.756 30.656 3047
+-65.63 30.656 3047
+-65.504 30.656 3048
+-65.378 30.656 3048
+-65.252 30.656 3049
+-65.126 30.656 3049
+-128 30.604 2537
+-127.874 30.604 2533
+-127.748 30.604 2529
+-127.622 30.604 2525
+-127.496 30.604 2522
+-127.37 30.604 2518
+-127.244 30.604 2542
+-127.118 30.604 2539
+-126.992 30.604 2537
+-126.866 30.604 2580
+-126.74 30.604 2580
+-126.614 30.604 2581
+-126.488 30.604 2583
+-126.362 30.604 2586
+-126.236 30.604 2590
+-126.11 30.604 2595
+-125.984 30.604 2602
+-125.858 30.604 2661
+-125.732 30.604 2733
+-125.606 30.604 2743
+-125.48 30.604 2755
+-125.354 30.604 2767
+-125.228 30.604 2782
+-125.102 30.604 2797
+-124.976 30.604 2835
+-124.85 30.604 2854
+-124.724 30.604 2873
+-124.598 30.604 2893
+-124.472 30.604 2923
+-124.346 30.604 2954
+-124.22 30.604 3059
+-124.094 30.604 3299
+-123.968 30.604 3306
+-123.842 30.604 3357
+-123.716 30.604 3356
+-123.59 30.604 3358
+-123.464 30.604 3363
+-123.338 30.604 3371
+-123.212 30.604 3441
+-123.086 30.604 3491
+-122.96 30.604 3514
+-122.834 30.604 3570
+-122.708 30.604 3606
+-122.582 30.604 3630
+-122.456 30.604 3662
+-122.33 30.604 3704
+-122.204 30.604 3772
+-122.078 30.604 3828
+-121.952 30.604 3928
+-121.826 30.604 4023
+-121.7 30.604 4112
+-121.574 30.604 4237
+-121.448 30.604 4380
+-121.322 30.604 4498
+-121.196 30.604 4625
+-121.07 30.604 4694
+-120.944 30.604 4679
+-120.818 30.604 4834
+-120.692 30.604 5075
+-120.566 30.604 5172
+-120.44 30.604 5270
+-120.314 30.604 5329
+-120.188 30.604 5445
+-120.062 30.604 5571
+-119.936 30.604 5650
+-119.81 30.604 5747
+-119.684 30.604 5899
+-119.558 30.604 6017
+-119.432 30.604 6112
+-119.306 30.604 6229
+-119.18 30.604 6279
+-119.054 30.604 6389
+-118.928 30.604 6477
+-118.802 30.604 6549
+-118.676 30.604 6667
+-118.55 30.604 6713
+-118.424 30.604 6818
+-118.298 30.604 6859
+-118.172 30.604 6957
+-118.046 30.604 6996
+-117.92 30.604 7063
+-117.794 30.604 7108
+-117.668 30.604 7127
+-117.542 30.604 7184
+-117.416 30.604 7197
+-117.29 30.604 7209
+-117.164 30.604 7262
+-117.038 30.604 7252
+-116.912 30.604 7250
+-116.786 30.604 7240
+-116.66 30.604 7224
+-116.534 30.604 7190
+-116.408 30.604 7171
+-116.282 30.604 7116
+-116.156 30.604 7074
+-116.03 30.604 7013
+-115.904 30.604 6979
+-115.778 30.604 6877
+-115.652 30.604 6854
+-115.526 30.604 6752
+-115.4 30.604 6678
+-115.274 30.604 6598
+-115.148 30.604 6493
+-115.022 30.604 6430
+-114.896 30.604 6317
+-114.77 30.604 6215
+-114.644 30.604 6101
+-114.518 30.604 6006
+-114.392 30.604 5928
+-114.266 30.604 5772
+-114.14 30.604 5654
+-114.014 30.604 5557
+-113.888 30.604 5538
+-113.762 30.604 5697
+-113.636 30.604 5803
+-113.51 30.604 5950
+-113.384 30.604 6025
+-113.258 30.604 6217
+-113.132 30.604 6324
+-113.006 30.604 6402
+-112.88 30.604 6593
+-112.754 30.604 6669
+-112.628 30.604 6827
+-112.502 30.604 6984
+-112.376 30.604 7100
+-112.25 30.604 7178
+-112.124 30.604 7336
+-111.998 30.604 7388
+-111.872 30.604 7529
+-111.746 30.604 7638
+-111.62 30.604 7802
+-111.494 30.604 7855
+-111.368 30.604 7954
+-111.242 30.604 8051
+-111.116 30.604 8126
+-110.99 30.604 8186
+-110.864 30.604 8249
+-110.738 30.604 8346
+-110.612 30.604 8376
+-110.486 30.604 8370
+-110.36 30.604 8394
+-110.234 30.604 8370
+-110.108 30.604 8305
+-109.982 30.604 8299
+-109.856 30.604 8208
+-109.73 30.604 8175
+-109.604 30.604 8048
+-109.478 30.604 7964
+-109.352 30.604 7853
+-109.226 30.604 7785
+-109.1 30.604 7710
+-108.974 30.604 7525
+-108.848 30.604 7461
+-108.722 30.604 7373
+-108.596 30.604 7233
+-108.47 30.604 7153
+-108.344 30.604 7062
+-108.218 30.604 6918
+-108.092 30.604 6741
+-107.966 30.604 6627
+-107.84 30.604 6507
+-107.714 30.604 6383
+-107.588 30.604 6258
+-107.462 30.604 6134
+-107.336 30.604 5986
+-107.21 30.604 5862
+-107.084 30.604 5703
+-106.958 30.604 5597
+-106.832 30.604 5529
+-106.706 30.604 5388
+-106.58 30.604 5181
+-106.454 30.604 5055
+-106.328 30.604 4943
+-106.202 30.604 4848
+-106.076 30.604 4766
+-105.95 30.604 4724
+-105.824 30.604 4643
+-105.698 30.604 4568
+-105.572 30.604 4448
+-105.446 30.604 4377
+-105.32 30.604 4329
+-105.194 30.604 4198
+-105.068 30.604 4035
+-104.942 30.604 3788
+-104.816 30.604 3557
+-104.69 30.604 3365
+-104.564 30.604 3224
+-104.438 30.604 3169
+-104.312 30.604 3098
+-104.186 30.604 2941
+-104.06 30.604 2784
+-103.934 30.604 2677
+-103.808 30.604 2669
+-103.682 30.604 2734
+-103.556 30.604 2804
+-103.43 30.604 2860
+-103.304 30.604 2900
+-103.178 30.604 2929
+-103.052 30.604 2951
+-102.926 30.604 2945
+-102.8 30.604 2960
+-102.674 30.604 2974
+-102.548 30.604 2984
+-102.422 30.604 2997
+-102.296 30.604 2975
+-102.17 30.604 2987
+-102.044 30.604 2944
+-101.918 30.604 2956
+-101.792 30.604 2968
+-101.666 30.604 2980
+-101.54 30.604 2966
+-101.414 30.604 2978
+-101.288 30.604 2989
+-101.162 30.604 2990
+-101.036 30.604 3000
+-100.91 30.604 3009
+-100.784 30.604 3019
+-100.658 30.604 3027
+-100.532 30.604 3036
+-100.406 30.604 3044
+-100.28 30.604 2792
+-100.154 30.604 2788
+-100.028 30.604 2749
+-99.902 30.604 2743
+-99.776 30.604 2735
+-99.65 30.604 2726
+-99.524 30.604 2671
+-99.398 30.604 2616
+-99.272 30.604 2600
+-99.146 30.604 2583
+-99.02 30.604 2564
+-98.894 30.604 2543
+-98.768 30.604 2521
+-98.642 30.604 2469
+-98.516 30.604 2352
+-98.39 30.604 2326
+-98.264 30.604 2253
+-98.138 30.604 2229
+-98.012 30.604 2194
+-97.886 30.604 2169
+-97.76 30.604 2216
+-97.634 30.604 2154
+-97.508 30.604 2184
+-97.382 30.604 2148
+-97.256 30.604 2169
+-97.13 30.604 2148
+-97.004 30.604 2209
+-96.878 30.604 2239
+-96.752 30.604 2217
+-96.626 30.604 2274
+-96.5 30.604 2243
+-96.374 30.604 2251
+-96.248 30.604 2160
+-96.122 30.604 2143
+-95.996 30.604 2128
+-95.87 30.604 2077
+-95.744 30.604 2070
+-95.618 30.604 2066
+-95.492 30.604 2055
+-95.366 30.604 2060
+-95.24 30.604 2068
+-95.114 30.604 2075
+-94.988 30.604 2130
+-94.862 30.604 2155
+-94.736 30.604 2181
+-94.61 30.604 2209
+-94.484 30.604 2229
+-94.358 30.604 2260
+-94.232 30.604 2298
+-94.106 30.604 2280
+-93.98 30.604 2311
+-93.854 30.604 2347
+-93.728 30.604 2382
+-93.602 30.604 2414
+-93.476 30.604 2406
+-93.35 30.604 2430
+-93.224 30.604 2456
+-93.098 30.604 2439
+-92.972 30.604 2397
+-92.846 30.604 2450
+-92.72 30.604 2465
+-92.594 30.604 2465
+-92.468 30.604 2476
+-92.342 30.604 2484
+-92.216 30.604 2491
+-92.09 30.604 2496
+-91.964 30.604 2484
+-91.838 30.604 2481
+-91.712 30.604 2483
+-91.586 30.604 2483
+-91.46 30.604 2483
+-91.334 30.604 2550
+-91.208 30.604 2544
+-91.082 30.604 2518
+-90.956 30.604 2543
+-90.83 30.604 2525
+-90.704 30.604 2532
+-90.578 30.604 2527
+-90.452 30.604 2517
+-90.326 30.604 2507
+-90.2 30.604 2497
+-90.074 30.604 2499
+-89.948 30.604 2502
+-89.822 30.604 2504
+-89.696 30.604 2519
+-89.57 30.604 2543
+-89.444 30.604 2553
+-89.318 30.604 2561
+-89.192 30.604 2567
+-89.066 30.604 2583
+-88.94 30.604 2589
+-88.814 30.604 2631
+-88.688 30.604 2663
+-88.562 30.604 2688
+-88.436 30.604 2731
+-88.31 30.604 2805
+-88.184 30.604 2891
+-88.058 30.604 2956
+-87.932 30.604 3029
+-87.806 30.604 3073
+-87.68 30.604 3091
+-87.554 30.604 3175
+-87.428 30.604 3296
+-87.302 30.604 3452
+-87.176 30.604 3606
+-87.05 30.604 3758
+-86.924 30.604 3938
+-86.798 30.604 4053
+-86.672 30.604 4131
+-86.546 30.604 4164
+-86.42 30.604 4092
+-86.294 30.604 4277
+-86.168 30.604 4413
+-86.042 30.604 4508
+-85.916 30.604 4623
+-85.79 30.604 4732
+-85.664 30.604 4841
+-85.538 30.604 4956
+-85.412 30.604 5074
+-85.286 30.604 5246
+-85.16 30.604 5368
+-85.034 30.604 5468
+-84.908 30.604 5543
+-84.782 30.604 5593
+-84.656 30.604 5682
+-84.53 30.604 5771
+-84.404 30.604 5784
+-84.278 30.604 5877
+-84.152 30.604 6006
+-84.026 30.604 6110
+-83.9 30.604 6184
+-83.774 30.604 6248
+-83.648 30.604 6329
+-83.522 30.604 6404
+-83.396 30.604 6462
+-83.27 30.604 6497
+-83.144 30.604 6554
+-83.018 30.604 6574
+-82.892 30.604 6615
+-82.766 30.604 6612
+-82.64 30.604 6641
+-82.514 30.604 6719
+-82.388 30.604 6733
+-82.262 30.604 6687
+-82.136 30.604 6684
+-82.01 30.604 6678
+-81.884 30.604 6676
+-81.758 30.604 6676
+-81.632 30.604 6672
+-81.506 30.604 6659
+-81.38 30.604 6608
+-81.254 30.604 6525
+-81.128 30.604 6444
+-81.002 30.604 6395
+-80.876 30.604 6321
+-80.75 30.604 6251
+-80.624 30.604 6222
+-80.498 30.604 6170
+-80.372 30.604 6124
+-80.246 30.604 6030
+-80.12 30.604 5968
+-79.994 30.604 5879
+-79.868 30.604 5768
+-79.742 30.604 5646
+-79.616 30.604 5587
+-79.49 30.604 5492
+-79.364 30.604 5428
+-79.238 30.604 5322
+-79.112 30.604 5333
+-78.986 30.604 5291
+-78.86 30.604 5239
+-78.734 30.604 5121
+-78.608 30.604 5041
+-78.482 30.604 4941
+-78.356 30.604 4723
+-78.23 30.604 4578
+-78.104 30.604 4450
+-77.978 30.604 4323
+-77.852 30.604 4206
+-77.726 30.604 4028
+-77.6 30.604 3832
+-77.474 30.604 3741
+-77.348 30.604 3755
+-77.222 30.604 3769
+-77.096 30.604 3749
+-76.97 30.604 3711
+-76.844 30.604 3645
+-76.718 30.604 3577
+-76.592 30.604 3477
+-76.466 30.604 3422
+-76.34 30.604 3349
+-76.214 30.604 3306
+-76.088 30.604 3284
+-75.962 30.604 3278
+-75.836 30.604 3285
+-75.71 30.604 3282
+-75.584 30.604 3280
+-75.458 30.604 3236
+-75.332 30.604 3242
+-75.206 30.604 3214
+-75.08 30.604 3208
+-74.954 30.604 3224
+-74.828 30.604 3239
+-74.702 30.604 3253
+-74.576 30.604 3265
+-74.45 30.604 3277
+-74.324 30.604 3288
+-74.198 30.604 3297
+-74.072 30.604 3280
+-73.946 30.604 3288
+-73.82 30.604 3296
+-73.694 30.604 3277
+-73.568 30.604 3249
+-73.442 30.604 3238
+-73.316 30.604 3243
+-73.19 30.604 3248
+-73.064 30.604 3252
+-72.938 30.604 3255
+-72.812 30.604 3259
+-72.686 30.604 3262
+-72.56 30.604 3184
+-72.434 30.604 3175
+-72.308 30.604 3179
+-72.182 30.604 3182
+-72.056 30.604 3185
+-71.93 30.604 3189
+-71.804 30.604 3192
+-71.678 30.604 3194
+-71.552 30.604 3197
+-71.426 30.604 3199
+-71.3 30.604 3202
+-71.174 30.604 3204
+-71.048 30.604 3206
+-70.922 30.604 3208
+-70.796 30.604 3210
+-70.67 30.604 3212
+-70.544 30.604 3198
+-70.418 30.604 3200
+-70.292 30.604 3202
+-70.166 30.604 3204
+-70.04 30.604 3206
+-69.914 30.604 3166
+-69.788 30.604 3167
+-69.662 30.604 3168
+-69.536 30.604 3169
+-69.41 30.604 3171
+-69.284 30.604 3172
+-69.158 30.604 3162
+-69.032 30.604 3163
+-68.906 30.604 3140
+-68.78 30.604 3125
+-68.654 30.604 3126
+-68.528 30.604 3127
+-68.402 30.604 3127
+-68.276 30.604 3128
+-68.15 30.604 3129
+-68.024 30.604 3130
+-67.898 30.604 3131
+-67.772 30.604 3131
+-67.646 30.604 3132
+-67.52 30.604 3133
+-67.394 30.604 3039
+-67.268 30.604 3040
+-67.142 30.604 3041
+-67.016 30.604 3041
+-66.89 30.604 3042
+-66.764 30.604 3043
+-66.638 30.604 3043
+-66.512 30.604 3044
+-66.386 30.604 3045
+-66.26 30.604 3045
+-66.134 30.604 3046
+-66.008 30.604 3046
+-65.882 30.604 3047
+-65.756 30.604 3048
+-65.63 30.604 3048
+-65.504 30.604 3049
+-65.378 30.604 3049
+-65.252 30.604 3050
+-65.126 30.604 3050
+-128 30.552 2517
+-127.874 30.552 2512
+-127.748 30.552 2507
+-127.622 30.552 2502
+-127.496 30.552 2497
+-127.37 30.552 2519
+-127.244 30.552 2514
+-127.118 30.552 2510
+-126.992 30.552 2552
+-126.866 30.552 2550
+-126.74 30.552 2548
+-126.614 30.552 2548
+-126.488 30.552 2549
+-126.362 30.552 2550
+-126.236 30.552 2553
+-126.11 30.552 2557
+-125.984 30.552 2613
+-125.858 30.552 2682
+-125.732 30.552 2690
+-125.606 30.552 2700
+-125.48 30.552 2711
+-125.354 30.552 2698
+-125.228 30.552 2713
+-125.102 30.552 2730
+-124.976 30.552 2800
+-124.85 30.552 2821
+-124.724 30.552 2843
+-124.598 30.552 2876
+-124.472 30.552 2910
+-124.346 30.552 3019
+-124.22 30.552 3044
+-124.094 30.552 3095
+-123.968 30.552 3151
+-123.842 30.552 3365
+-123.716 30.552 3365
+-123.59 30.552 3365
+-123.464 30.552 3367
+-123.338 30.552 3430
+-123.212 30.552 3468
+-123.086 30.552 3469
+-122.96 30.552 3473
+-122.834 30.552 3515
+-122.708 30.552 3522
+-122.582 30.552 3549
+-122.456 30.552 3581
+-122.33 30.552 3635
+-122.204 30.552 3686
+-122.078 30.552 3755
+-121.952 30.552 3873
+-121.826 30.552 3979
+-121.7 30.552 4077
+-121.574 30.552 4237
+-121.448 30.552 4377
+-121.322 30.552 4489
+-121.196 30.552 4550
+-121.07 30.552 4657
+-120.944 30.552 4753
+-120.818 30.552 4862
+-120.692 30.552 5051
+-120.566 30.552 5173
+-120.44 30.552 5271
+-120.314 30.552 5264
+-120.188 30.552 5371
+-120.062 30.552 5513
+-119.936 30.552 5648
+-119.81 30.552 5728
+-119.684 30.552 5877
+-119.558 30.552 5927
+-119.432 30.552 6037
+-119.306 30.552 6125
+-119.18 30.552 6266
+-119.054 30.552 6348
+-118.928 30.552 6452
+-118.802 30.552 6539
+-118.676 30.552 6606
+-118.55 30.552 6689
+-118.424 30.552 6777
+-118.298 30.552 6809
+-118.172 30.552 6932
+-118.046 30.552 6955
+-117.92 30.552 7028
+-117.794 30.552 7059
+-117.668 30.552 7116
+-117.542 30.552 7126
+-117.416 30.552 7158
+-117.29 30.552 7181
+-117.164 30.552 7204
+-117.038 30.552 7192
+-116.912 30.552 7181
+-116.786 30.552 7154
+-116.66 30.552 7159
+-116.534 30.552 7116
+-116.408 30.552 7119
+-116.282 30.552 7075
+-116.156 30.552 7006
+-116.03 30.552 6999
+-115.904 30.552 6906
+-115.778 30.552 6830
+-115.652 30.552 6779
+-115.526 30.552 6705
+-115.4 30.552 6602
+-115.274 30.552 6547
+-115.148 30.552 6423
+-115.022 30.552 6360
+-114.896 30.552 6275
+-114.77 30.552 6159
+-114.644 30.552 6027
+-114.518 30.552 5922
+-114.392 30.552 5874
+-114.266 30.552 5772
+-114.14 30.552 5634
+-114.014 30.552 5460
+-113.888 30.552 5574
+-113.762 30.552 5653
+-113.636 30.552 5734
+-113.51 30.552 5904
+-113.384 30.552 5994
+-113.258 30.552 6160
+-113.132 30.552 6332
+-113.006 30.552 6411
+-112.88 30.552 6583
+-112.754 30.552 6679
+-112.628 30.552 6750
+-112.502 30.552 6930
+-112.376 30.552 7010
+-112.25 30.552 7191
+-112.124 30.552 7347
+-111.998 30.552 7445
+-111.872 30.552 7477
+-111.746 30.552 7656
+-111.62 30.552 7723
+-111.494 30.552 7788
+-111.368 30.552 7902
+-111.242 30.552 8031
+-111.116 30.552 8092
+-110.99 30.552 8175
+-110.864 30.552 8211
+-110.738 30.552 8264
+-110.612 30.552 8306
+-110.486 30.552 8297
+-110.36 30.552 8303
+-110.234 30.552 8288
+-110.108 30.552 8310
+-109.982 30.552 8216
+-109.856 30.552 8139
+-109.73 30.552 8105
+-109.604 30.552 8051
+-109.478 30.552 7957
+-109.352 30.552 7845
+-109.226 30.552 7729
+-109.1 30.552 7678
+-108.974 30.552 7552
+-108.848 30.552 7410
+-108.722 30.552 7330
+-108.596 30.552 7200
+-108.47 30.552 7140
+-108.344 30.552 6964
+-108.218 30.552 6908
+-108.092 30.552 6734
+-107.966 30.552 6613
+-107.84 30.552 6462
+-107.714 30.552 6346
+-107.588 30.552 6245
+-107.462 30.552 6080
+-107.336 30.552 5929
+-107.21 30.552 5869
+-107.084 30.552 5708
+-106.958 30.552 5589
+-106.832 30.552 5467
+-106.706 30.552 5306
+-106.58 30.552 5166
+-106.454 30.552 5039
+-106.328 30.552 4919
+-106.202 30.552 4844
+-106.076 30.552 4820
+-105.95 30.552 4694
+-105.824 30.552 4566
+-105.698 30.552 4567
+-105.572 30.552 4516
+-105.446 30.552 4477
+-105.32 30.552 4374
+-105.194 30.552 4235
+-105.068 30.552 4041
+-104.942 30.552 3843
+-104.816 30.552 3621
+-104.69 30.552 3472
+-104.564 30.552 3312
+-104.438 30.552 3187
+-104.312 30.552 3051
+-104.186 30.552 2821
+-104.06 30.552 2549
+-103.934 30.552 2420
+-103.808 30.552 2485
+-103.682 30.552 2620
+-103.556 30.552 2735
+-103.43 30.552 2815
+-103.304 30.552 2866
+-103.178 30.552 2901
+-103.052 30.552 2902
+-102.926 30.552 2920
+-102.8 30.552 2936
+-102.674 30.552 2952
+-102.548 30.552 2967
+-102.422 30.552 2959
+-102.296 30.552 2958
+-102.17 30.552 2971
+-102.044 30.552 2985
+-101.918 30.552 2940
+-101.792 30.552 2954
+-101.666 30.552 2967
+-101.54 30.552 2980
+-101.414 30.552 2967
+-101.288 30.552 2979
+-101.162 30.552 2991
+-101.036 30.552 2992
+-100.91 30.552 3002
+-100.784 30.552 2984
+-100.658 30.552 2992
+-100.532 30.552 3000
+-100.406 30.552 3008
+-100.28 30.552 2788
+-100.154 30.552 2784
+-100.028 30.552 2780
+-99.902 30.552 2740
+-99.776 30.552 2733
+-99.65 30.552 2725
+-99.524 30.552 2671
+-99.398 30.552 2658
+-99.272 30.552 2602
+-99.146 30.552 2586
+-99.02 30.552 2568
+-98.894 30.552 2548
+-98.768 30.552 2526
+-98.642 30.552 2475
+-98.516 30.552 2451
+-98.39 30.552 2334
+-98.264 30.552 2313
+-98.138 30.552 2240
+-98.012 30.552 2206
+-97.886 30.552 2179
+-97.76 30.552 2194
+-97.634 30.552 2206
+-97.508 30.552 2143
+-97.382 30.552 2206
+-97.256 30.552 2188
+-97.13 30.552 2157
+-97.004 30.552 2238
+-96.878 30.552 2269
+-96.752 30.552 2249
+-96.626 30.552 2225
+-96.5 30.552 2318
+-96.374 30.552 2223
+-96.248 30.552 2208
+-96.122 30.552 2193
+-95.996 30.552 2140
+-95.87 30.552 2132
+-95.744 30.552 2126
+-95.618 30.552 2111
+-95.492 30.552 2114
+-95.366 30.552 2117
+-95.24 30.552 2118
+-95.114 30.552 2170
+-94.988 30.552 2188
+-94.862 30.552 2208
+-94.736 30.552 2230
+-94.61 30.552 2243
+-94.484 30.552 2268
+-94.358 30.552 2301
+-94.232 30.552 2278
+-94.106 30.552 2306
+-93.98 30.552 2338
+-93.854 30.552 2371
+-93.728 30.552 2401
+-93.602 30.552 2393
+-93.476 30.552 2416
+-93.35 30.552 2442
+-93.224 30.552 2425
+-93.098 30.552 2384
+-92.972 30.552 2439
+-92.846 30.552 2455
+-92.72 30.552 2456
+-92.594 30.552 2469
+-92.468 30.552 2479
+-92.342 30.552 2465
+-92.216 30.552 2472
+-92.09 30.552 2477
+-91.964 30.552 2481
+-91.838 30.552 2484
+-91.712 30.552 2486
+-91.586 30.552 2487
+-91.46 30.552 2478
+-91.334 30.552 2560
+-91.208 30.552 2543
+-91.082 30.552 2563
+-90.956 30.552 2547
+-90.83 30.552 2558
+-90.704 30.552 2557
+-90.578 30.552 2553
+-90.452 30.552 2546
+-90.326 30.552 2539
+-90.2 30.552 2541
+-90.074 30.552 2546
+-89.948 30.552 2546
+-89.822 30.552 2549
+-89.696 30.552 2555
+-89.57 30.552 2571
+-89.444 30.552 2594
+-89.318 30.552 2601
+-89.192 30.552 2605
+-89.066 30.552 2619
+-88.94 30.552 2631
+-88.814 30.552 2647
+-88.688 30.552 2654
+-88.562 30.552 2653
+-88.436 30.552 2683
+-88.31 30.552 2766
+-88.184 30.552 2863
+-88.058 30.552 2953
+-87.932 30.552 3064
+-87.806 30.552 3159
+-87.68 30.552 3211
+-87.554 30.552 3310
+-87.428 30.552 3377
+-87.302 30.552 3510
+-87.176 30.552 3662
+-87.05 30.552 3797
+-86.924 30.552 3995
+-86.798 30.552 4101
+-86.672 30.552 4178
+-86.546 30.552 4210
+-86.42 30.552 4245
+-86.294 30.552 4361
+-86.168 30.552 4376
+-86.042 30.552 4520
+-85.916 30.552 4634
+-85.79 30.552 4738
+-85.664 30.552 4855
+-85.538 30.552 4977
+-85.412 30.552 5102
+-85.286 30.552 5291
+-85.16 30.552 5410
+-85.034 30.552 5496
+-84.908 30.552 5623
+-84.782 30.552 5691
+-84.656 30.552 5696
+-84.53 30.552 5767
+-84.404 30.552 5859
+-84.278 30.552 5984
+-84.152 30.552 6094
+-84.026 30.552 6185
+-83.9 30.552 6212
+-83.774 30.552 6293
+-83.648 30.552 6387
+-83.522 30.552 6445
+-83.396 30.552 6486
+-83.27 30.552 6511
+-83.144 30.552 6554
+-83.018 30.552 6617
+-82.892 30.552 6656
+-82.766 30.552 6698
+-82.64 30.552 6740
+-82.514 30.552 6780
+-82.388 30.552 6771
+-82.262 30.552 6766
+-82.136 30.552 6759
+-82.01 30.552 6754
+-81.884 30.552 6747
+-81.758 30.552 6749
+-81.632 30.552 6731
+-81.506 30.552 6715
+-81.38 30.552 6698
+-81.254 30.552 6640
+-81.128 30.552 6535
+-81.002 30.552 6489
+-80.876 30.552 6385
+-80.75 30.552 6293
+-80.624 30.552 6275
+-80.498 30.552 6209
+-80.372 30.552 6152
+-80.246 30.552 6054
+-80.12 30.552 5978
+-79.994 30.552 5920
+-79.868 30.552 5784
+-79.742 30.552 5726
+-79.616 30.552 5595
+-79.49 30.552 5467
+-79.364 30.552 5467
+-79.238 30.552 5385
+-79.112 30.552 5343
+-78.986 30.552 5321
+-78.86 30.552 5262
+-78.734 30.552 5172
+-78.608 30.552 5044
+-78.482 30.552 4928
+-78.356 30.552 4684
+-78.23 30.552 4500
+-78.104 30.552 4411
+-77.978 30.552 4358
+-77.852 30.552 4290
+-77.726 30.552 4142
+-77.6 30.552 3999
+-77.474 30.552 3886
+-77.348 30.552 3863
+-77.222 30.552 3811
+-77.096 30.552 3793
+-76.97 30.552 3736
+-76.844 30.552 3686
+-76.718 30.552 3576
+-76.592 30.552 3501
+-76.466 30.552 3434
+-76.34 30.552 3376
+-76.214 30.552 3341
+-76.088 30.552 3324
+-75.962 30.552 3321
+-75.836 30.552 3310
+-75.71 30.552 3303
+-75.584 30.552 3290
+-75.458 30.552 3290
+-75.332 30.552 3293
+-75.206 30.552 3279
+-75.08 30.552 3294
+-74.954 30.552 3249
+-74.828 30.552 3262
+-74.702 30.552 3274
+-74.576 30.552 3285
+-74.45 30.552 3295
+-74.324 30.552 3304
+-74.198 30.552 3287
+-74.072 30.552 3295
+-73.946 30.552 3302
+-73.82 30.552 3283
+-73.694 30.552 3254
+-73.568 30.552 3243
+-73.442 30.552 3248
+-73.316 30.552 3252
+-73.19 30.552 3256
+-73.064 30.552 3259
+-72.938 30.552 3263
+-72.812 30.552 3266
+-72.686 30.552 3188
+-72.56 30.552 3179
+-72.434 30.552 3182
+-72.308 30.552 3186
+-72.182 30.552 3189
+-72.056 30.552 3192
+-71.93 30.552 3195
+-71.804 30.552 3197
+-71.678 30.552 3200
+-71.552 30.552 3202
+-71.426 30.552 3205
+-71.3 30.552 3207
+-71.174 30.552 3209
+-71.048 30.552 3211
+-70.922 30.552 3213
+-70.796 30.552 3214
+-70.67 30.552 3200
+-70.544 30.552 3202
+-70.418 30.552 3205
+-70.292 30.552 3207
+-70.166 30.552 3209
+-70.04 30.552 3168
+-69.914 30.552 3169
+-69.788 30.552 3170
+-69.662 30.552 3171
+-69.536 30.552 3173
+-69.41 30.552 3174
+-69.284 30.552 3163
+-69.158 30.552 3164
+-69.032 30.552 3141
+-68.906 30.552 3126
+-68.78 30.552 3127
+-68.654 30.552 3128
+-68.528 30.552 3128
+-68.402 30.552 3129
+-68.276 30.552 3130
+-68.15 30.552 3131
+-68.024 30.552 3131
+-67.898 30.552 3132
+-67.772 30.552 3133
+-67.646 30.552 3133
+-67.52 30.552 3040
+-67.394 30.552 3040
+-67.268 30.552 3041
+-67.142 30.552 3042
+-67.016 30.552 3043
+-66.89 30.552 3043
+-66.764 30.552 3044
+-66.638 30.552 3045
+-66.512 30.552 3045
+-66.386 30.552 3046
+-66.26 30.552 3046
+-66.134 30.552 3047
+-66.008 30.552 3047
+-65.882 30.552 3048
+-65.756 30.552 3049
+-65.63 30.552 3049
+-65.504 30.552 3049
+-65.378 30.552 3050
+-65.252 30.552 3050
+-65.126 30.552 3051
+-128 30.5 2497
+-127.874 30.5 2490
+-127.748 30.5 2484
+-127.622 30.5 2478
+-127.496 30.5 2498
+-127.37 30.5 2491
+-127.244 30.5 2485
+-127.118 30.5 2525
+-126.992 30.5 2521
+-126.866 30.5 2518
+-126.74 30.5 2515
+-126.614 30.5 2513
+-126.488 30.5 2511
+-126.362 30.5 2511
+-126.236 30.5 2512
+-126.11 30.5 2531
+-125.984 30.5 2602
+-125.858 30.5 2607
+-125.732 30.5 2615
+-125.606 30.5 2625
+-125.48 30.5 2636
+-125.354 30.5 2650
+-125.228 30.5 2666
+-125.102 30.5 2739
+-124.976 30.5 2760
+-124.85 30.5 2783
+-124.724 30.5 2820
+-124.598 30.5 2856
+-124.472 30.5 2863
+-124.346 30.5 2952
+-124.22 30.5 3008
+-124.094 30.5 3035
+-123.968 30.5 3062
+-123.842 30.5 3139
+-123.716 30.5 3231
+-123.59 30.5 3278
+-123.464 30.5 3411
+-123.338 30.5 3409
+-123.212 30.5 3447
+-123.086 30.5 3441
+-122.96 30.5 3431
+-122.834 30.5 3422
+-122.708 30.5 3435
+-122.582 30.5 3451
+-122.456 30.5 3476
+-122.33 30.5 3518
+-122.204 30.5 3561
+-122.078 30.5 3666
+-121.952 30.5 3783
+-121.826 30.5 3896
+-121.7 30.5 4014
+-121.574 30.5 4175
+-121.448 30.5 4337
+-121.322 30.5 4454
+-121.196 30.5 4473
+-121.07 30.5 4592
+-120.944 30.5 4746
+-120.818 30.5 4906
+-120.692 30.5 5036
+-120.566 30.5 5144
+-120.44 30.5 5251
+-120.314 30.5 5317
+-120.188 30.5 5398
+-120.062 30.5 5491
+-119.936 30.5 5590
+-119.81 30.5 5709
+-119.684 30.5 5852
+-119.558 30.5 5949
+-119.432 30.5 6059
+-119.306 30.5 6164
+-119.18 30.5 6264
+-119.054 30.5 6325
+-118.928 30.5 6399
+-118.802 30.5 6470
+-118.676 30.5 6552
+-118.55 30.5 6650
+-118.424 30.5 6726
+-118.298 30.5 6796
+-118.172 30.5 6799
+-118.046 30.5 6869
+-117.92 30.5 6980
+-117.794 30.5 6990
+-117.668 30.5 7023
+-117.542 30.5 7057
+-117.416 30.5 7098
+-117.29 30.5 7122
+-117.164 30.5 7157
+-117.038 30.5 7142
+-116.912 30.5 7148
+-116.786 30.5 7137
+-116.66 30.5 7104
+-116.534 30.5 7064
+-116.408 30.5 7045
+-116.282 30.5 6986
+-116.156 30.5 6968
+-116.03 30.5 6907
+-115.904 30.5 6856
+-115.778 30.5 6814
+-115.652 30.5 6739
+-115.526 30.5 6651
+-115.4 30.5 6536
+-115.274 30.5 6494
+-115.148 30.5 6452
+-115.022 30.5 6249
+-114.896 30.5 6218
+-114.77 30.5 6133
+-114.644 30.5 6038
+-114.518 30.5 5946
+-114.392 30.5 5851
+-114.266 30.5 5725
+-114.14 30.5 5598
+-114.014 30.5 5525
+-113.888 30.5 5461
+-113.762 30.5 5688
+-113.636 30.5 5728
+-113.51 30.5 5878
+-113.384 30.5 6026
+-113.258 30.5 6173
+-113.132 30.5 6282
+-113.006 30.5 6383
+-112.88 30.5 6543
+-112.754 30.5 6676
+-112.628 30.5 6736
+-112.502 30.5 6852
+-112.376 30.5 6985
+-112.25 30.5 7158
+-112.124 30.5 7259
+-111.998 30.5 7321
+-111.872 30.5 7473
+-111.746 30.5 7599
+-111.62 30.5 7660
+-111.494 30.5 7782
+-111.368 30.5 7899
+-111.242 30.5 7916
+-111.116 30.5 8040
+-110.99 30.5 8098
+-110.864 30.5 8155
+-110.738 30.5 8216
+-110.612 30.5 8247
+-110.486 30.5 8267
+-110.36 30.5 8259
+-110.234 30.5 8288
+-110.108 30.5 8239
+-109.982 30.5 8205
+-109.856 30.5 8118
+-109.73 30.5 8082
+-109.604 30.5 8002
+-109.478 30.5 7927
+-109.352 30.5 7848
+-109.226 30.5 7742
+-109.1 30.5 7637
+-108.974 30.5 7562
+-108.848 30.5 7412
+-108.722 30.5 7309
+-108.596 30.5 7205
+-108.47 30.5 7087
+-108.344 30.5 6888
+-108.218 30.5 6852
+-108.092 30.5 6672
+-107.966 30.5 6604
+-107.84 30.5 6510
+-107.714 30.5 6332
+-107.588 30.5 6218
+-107.462 30.5 6114
+-107.336 30.5 5891
+-107.21 30.5 5889
+-107.084 30.5 5690
+-106.958 30.5 5513
+-106.832 30.5 5429
+-106.706 30.5 5335
+-106.58 30.5 5169
+-106.454 30.5 5088
+-106.328 30.5 4948
+-106.202 30.5 4884
+-106.076 30.5 4808
+-105.95 30.5 4635
+-105.824 30.5 4387
+-105.698 30.5 4524
+-105.572 30.5 4560
+-105.446 30.5 4468
+-105.32 30.5 4414
+-105.194 30.5 4226
+-105.068 30.5 4076
+-104.942 30.5 3939
+-104.816 30.5 3739
+-104.69 30.5 3506
+-104.564 30.5 3367
+-104.438 30.5 3229
+-104.312 30.5 2998
+-104.186 30.5 2711
+-104.06 30.5 2431
+-103.934 30.5 2302
+-103.808 30.5 2397
+-103.682 30.5 2563
+-103.556 30.5 2696
+-103.43 30.5 2783
+-103.304 30.5 2837
+-103.178 30.5 2871
+-103.052 30.5 2871
+-102.926 30.5 2890
+-102.8 30.5 2895
+-102.674 30.5 2911
+-102.548 30.5 2911
+-102.422 30.5 2927
+-102.296 30.5 2944
+-102.17 30.5 2960
+-102.044 30.5 2976
+-101.918 30.5 2991
+-101.792 30.5 2939
+-101.666 30.5 2954
+-101.54 30.5 2968
+-101.414 30.5 2981
+-101.288 30.5 2969
+-101.162 30.5 2959
+-101.036 30.5 2970
+-100.91 30.5 2968
+-100.784 30.5 2977
+-100.658 30.5 2986
+-100.532 30.5 2994
+-100.406 30.5 3002
+-100.28 30.5 2784
+-100.154 30.5 2781
+-100.028 30.5 2777
+-99.902 30.5 2771
+-99.776 30.5 2732
+-99.65 30.5 2724
+-99.524 30.5 2672
+-99.398 30.5 2659
+-99.272 30.5 2646
+-99.146 30.5 2589
+-99.02 30.5 2571
+-98.894 30.5 2552
+-98.768 30.5 2532
+-98.642 30.5 2482
+-98.516 30.5 2459
+-98.39 30.5 2434
+-98.264 30.5 2322
+-98.138 30.5 2265
+-98.012 30.5 2218
+-97.886 30.5 2193
+-97.76 30.5 2209
+-97.634 30.5 2179
+-97.508 30.5 2193
+-97.382 30.5 2203
+-97.256 30.5 2194
+-97.13 30.5 2181
+-97.004 30.5 2263
+-96.878 30.5 2297
+-96.752 30.5 2275
+-96.626 30.5 2291
+-96.5 30.5 2279
+-96.374 30.5 2265
+-96.248 30.5 2251
+-96.122 30.5 2195
+-95.996 30.5 2188
+-95.87 30.5 2181
+-95.744 30.5 2164
+-95.618 30.5 2164
+-95.492 30.5 2164
+-95.366 30.5 2161
+-95.24 30.5 2210
+-95.114 30.5 2224
+-94.988 30.5 2238
+-94.862 30.5 2255
+-94.736 30.5 2261
+-94.61 30.5 2281
+-94.484 30.5 2309
+-94.358 30.5 2280
+-94.232 30.5 2304
+-94.106 30.5 2334
+-93.98 30.5 2363
+-93.854 30.5 2392
+-93.728 30.5 2382
+-93.602 30.5 2405
+-93.476 30.5 2429
+-93.35 30.5 2413
+-93.224 30.5 2372
+-93.098 30.5 2428
+-92.972 30.5 2445
+-92.846 30.5 2447
+-92.72 30.5 2461
+-92.594 30.5 2472
+-92.468 30.5 2460
+-92.342 30.5 2468
+-92.216 30.5 2475
+-92.09 30.5 2481
+-91.964 30.5 2485
+-91.838 30.5 2487
+-91.712 30.5 2489
+-91.586 30.5 2481
+-91.46 30.5 2484
+-91.334 30.5 2502
+-91.208 30.5 2580
+-91.082 30.5 2567
+-90.956 30.5 2580
+-90.83 30.5 2583
+-90.704 30.5 2583
+-90.578 30.5 2578
+-90.452 30.5 2573
+-90.326 30.5 2576
+-90.2 30.5 2585
+-90.074 30.5 2584
+-89.948 30.5 2585
+-89.822 30.5 2588
+-89.696 30.5 2610
+-89.57 30.5 2616
+-89.444 30.5 2631
+-89.318 30.5 2636
+-89.192 30.5 2636
+-89.066 30.5 2644
+-88.94 30.5 2674
+-88.814 30.5 2643
+-88.688 30.5 2598
+-88.562 30.5 2559
+-88.436 30.5 2552
+-88.31 30.5 2639
+-88.184 30.5 2792
+-88.058 30.5 2941
+-87.932 30.5 3101
+-87.806 30.5 3203
+-87.68 30.5 3288
+-87.554 30.5 3358
+-87.428 30.5 3447
+-87.302 30.5 3555
+-87.176 30.5 3663
+-87.05 30.5 3816
+-86.924 30.5 3985
+-86.798 30.5 4096
+-86.672 30.5 4202
+-86.546 30.5 4273
+-86.42 30.5 4361
+-86.294 30.5 4454
+-86.168 30.5 4516
+-86.042 30.5 4530
+-85.916 30.5 4651
+-85.79 30.5 4753
+-85.664 30.5 4870
+-85.538 30.5 5011
+-85.412 30.5 5165
+-85.286 30.5 5318
+-85.16 30.5 5414
+-85.034 30.5 5577
+-84.908 30.5 5669
+-84.782 30.5 5741
+-84.656 30.5 5779
+-84.53 30.5 5821
+-84.404 30.5 5950
+-84.278 30.5 6026
+-84.152 30.5 6129
+-84.026 30.5 6183
+-83.9 30.5 6267
+-83.774 30.5 6316
+-83.648 30.5 6397
+-83.522 30.5 6469
+-83.396 30.5 6522
+-83.27 30.5 6581
+-83.144 30.5 6615
+-83.018 30.5 6669
+-82.892 30.5 6715
+-82.766 30.5 6764
+-82.64 30.5 6819
+-82.514 30.5 6819
+-82.388 30.5 6827
+-82.262 30.5 6815
+-82.136 30.5 6846
+-82.01 30.5 6837
+-81.884 30.5 6815
+-81.758 30.5 6780
+-81.632 30.5 6763
+-81.506 30.5 6772
+-81.38 30.5 6704
+-81.254 30.5 6721
+-81.128 30.5 6646
+-81.002 30.5 6526
+-80.876 30.5 6456
+-80.75 30.5 6360
+-80.624 30.5 6280
+-80.498 30.5 6242
+-80.372 30.5 6188
+-80.246 30.5 6112
+-80.12 30.5 6018
+-79.994 30.5 5917
+-79.868 30.5 5844
+-79.742 30.5 5787
+-79.616 30.5 5631
+-79.49 30.5 5533
+-79.364 30.5 5491
+-79.238 30.5 5350
+-79.112 30.5 5295
+-78.986 30.5 5314
+-78.86 30.5 5264
+-78.734 30.5 5138
+-78.608 30.5 5052
+-78.482 30.5 4915
+-78.356 30.5 4677
+-78.23 30.5 4476
+-78.104 30.5 4379
+-77.978 30.5 4339
+-77.852 30.5 4308
+-77.726 30.5 4244
+-77.6 30.5 4096
+-77.474 30.5 3992
+-77.348 30.5 3945
+-77.222 30.5 3913
+-77.096 30.5 3831
+-76.97 30.5 3772
+-76.844 30.5 3664
+-76.718 30.5 3582
+-76.592 30.5 3494
+-76.466 30.5 3410
+-76.34 30.5 3351
+-76.214 30.5 3322
+-76.088 30.5 3318
+-75.962 30.5 3311
+-75.836 30.5 3308
+-75.71 30.5 3299
+-75.584 30.5 3300
+-75.458 30.5 3304
+-75.332 30.5 3322
+-75.206 30.5 3338
+-75.08 30.5 3354
+-74.954 30.5 3314
+-74.828 30.5 3284
+-74.702 30.5 3294
+-74.576 30.5 3304
+-74.45 30.5 3338
+-74.324 30.5 3295
+-74.198 30.5 3302
+-74.072 30.5 3309
+-73.946 30.5 3319
+-73.82 30.5 3260
+-73.694 30.5 3249
+-73.568 30.5 3253
+-73.442 30.5 3257
+-73.316 30.5 3261
+-73.19 30.5 3264
+-73.064 30.5 3267
+-72.938 30.5 3270
+-72.812 30.5 3192
+-72.686 30.5 3183
+-72.56 30.5 3186
+-72.434 30.5 3190
+-72.308 30.5 3193
+-72.182 30.5 3195
+-72.056 30.5 3198
+-71.93 30.5 3201
+-71.804 30.5 3203
+-71.678 30.5 3206
+-71.552 30.5 3208
+-71.426 30.5 3210
+-71.3 30.5 3212
+-71.174 30.5 3214
+-71.048 30.5 3215
+-70.922 30.5 3217
+-70.796 30.5 3203
+-70.67 30.5 3205
+-70.544 30.5 3207
+-70.418 30.5 3209
+-70.292 30.5 3211
+-70.166 30.5 3170
+-70.04 30.5 3171
+-69.914 30.5 3173
+-69.788 30.5 3174
+-69.662 30.5 3175
+-69.536 30.5 3176
+-69.41 30.5 3164
+-69.284 30.5 3165
+-69.158 30.5 3142
+-69.032 30.5 3127
+-68.906 30.5 3128
+-68.78 30.5 3129
+-68.654 30.5 3129
+-68.528 30.5 3130
+-68.402 30.5 3131
+-68.276 30.5 3131
+-68.15 30.5 3132
+-68.024 30.5 3133
+-67.898 30.5 3133
+-67.772 30.5 3134
+-67.646 30.5 3040
+-67.52 30.5 3041
+-67.394 30.5 3042
+-67.268 30.5 3043
+-67.142 30.5 3043
+-67.016 30.5 3044
+-66.89 30.5 3044
+-66.764 30.5 3045
+-66.638 30.5 3046
+-66.512 30.5 3046
+-66.386 30.5 3047
+-66.26 30.5 3047
+-66.134 30.5 3048
+-66.008 30.5 3048
+-65.882 30.5 3049
+-65.756 30.5 3049
+-65.63 30.5 3050
+-65.504 30.5 3050
+-65.378 30.5 3051
+-65.252 30.5 3051
+-65.126 30.5 3052
+-128 30.448 2475
+-127.874 30.448 2468
+-127.748 30.448 2460
+-127.622 30.448 2478
+-127.496 30.448 2470
+-127.37 30.448 2462
+-127.244 30.448 2502
+-127.118 30.448 2495
+-126.992 30.448 2489
+-126.866 30.448 2484
+-126.74 30.448 2479
+-126.614 30.448 2475
+-126.488 30.448 2471
+-126.362 30.448 2469
+-126.236 30.448 2484
+-126.11 30.448 2550
+-125.984 30.448 2552
+-125.858 30.448 2556
+-125.732 30.448 2562
+-125.606 30.448 2571
+-125.48 30.448 2582
+-125.354 30.448 2596
+-125.228 30.448 2641
+-125.102 30.448 2662
+-124.976 30.448 2685
+-124.85 30.448 2704
+-124.724 30.448 2770
+-124.598 30.448 2800
+-124.472 30.448 2879
+-124.346 30.448 2950
+-124.22 30.448 2982
+-124.094 30.448 3012
+-123.968 30.448 3112
+-123.842 30.448 3152
+-123.716 30.448 3177
+-123.59 30.448 3200
+-123.464 30.448 3296
+-123.338 30.448 3344
+-123.212 30.448 3425
+-123.086 30.448 3406
+-122.96 30.448 3384
+-122.834 30.448 3373
+-122.708 30.448 3360
+-122.582 30.448 3337
+-122.456 30.448 3348
+-122.33 30.448 3392
+-122.204 30.448 3422
+-122.078 30.448 3541
+-121.952 30.448 3684
+-121.826 30.448 3810
+-121.7 30.448 3949
+-121.574 30.448 4096
+-121.448 30.448 4308
+-121.322 30.448 4453
+-121.196 30.448 4519
+-121.07 30.448 4598
+-120.944 30.448 4744
+-120.818 30.448 4870
+-120.692 30.448 5024
+-120.566 30.448 5111
+-120.44 30.448 5179
+-120.314 30.448 5273
+-120.188 30.448 5370
+-120.062 30.448 5434
+-119.936 30.448 5533
+-119.81 30.448 5649
+-119.684 30.448 5777
+-119.558 30.448 5885
+-119.432 30.448 6028
+-119.306 30.448 6146
+-119.18 30.448 6216
+-119.054 30.448 6297
+-118.928 30.448 6361
+-118.802 30.448 6420
+-118.676 30.448 6472
+-118.55 30.448 6568
+-118.424 30.448 6675
+-118.298 30.448 6729
+-118.172 30.448 6785
+-118.046 30.448 6840
+-117.92 30.448 6904
+-117.794 30.448 6974
+-117.668 30.448 6977
+-117.542 30.448 6997
+-117.416 30.448 7028
+-117.29 30.448 7055
+-117.164 30.448 7067
+-117.038 30.448 7066
+-116.912 30.448 7097
+-116.786 30.448 7058
+-116.66 30.448 7055
+-116.534 30.448 7008
+-116.408 30.448 6989
+-116.282 30.448 6959
+-116.156 30.448 6900
+-116.03 30.448 6868
+-115.904 30.448 6826
+-115.778 30.448 6710
+-115.652 30.448 6696
+-115.526 30.448 6604
+-115.4 30.448 6519
+-115.274 30.448 6431
+-115.148 30.448 6333
+-115.022 30.448 6252
+-114.896 30.448 6176
+-114.77 30.448 6114
+-114.644 30.448 6005
+-114.518 30.448 5919
+-114.392 30.448 5819
+-114.266 30.448 5705
+-114.14 30.448 5547
+-114.014 30.448 5411
+-113.888 30.448 5509
+-113.762 30.448 5582
+-113.636 30.448 5710
+-113.51 30.448 5927
+-113.384 30.448 6005
+-113.258 30.448 6129
+-113.132 30.448 6282
+-113.006 30.448 6416
+-112.88 30.448 6543
+-112.754 30.448 6653
+-112.628 30.448 6749
+-112.502 30.448 6827
+-112.376 30.448 6959
+-112.25 30.448 7093
+-112.124 30.448 7213
+-111.998 30.448 7360
+-111.872 30.448 7450
+-111.746 30.448 7549
+-111.62 30.448 7609
+-111.494 30.448 7713
+-111.368 30.448 7834
+-111.242 30.448 7940
+-111.116 30.448 7986
+-110.99 30.448 8039
+-110.864 30.448 8091
+-110.738 30.448 8161
+-110.612 30.448 8192
+-110.486 30.448 8238
+-110.36 30.448 8196
+-110.234 30.448 8195
+-110.108 30.448 8204
+-109.982 30.448 8115
+-109.856 30.448 8100
+-109.73 30.448 8040
+-109.604 30.448 7946
+-109.478 30.448 7849
+-109.352 30.448 7759
+-109.226 30.448 7664
+-109.1 30.448 7607
+-108.974 30.448 7519
+-108.848 30.448 7374
+-108.722 30.448 7301
+-108.596 30.448 7160
+-108.47 30.448 7048
+-108.344 30.448 6960
+-108.218 30.448 6785
+-108.092 30.448 6647
+-107.966 30.448 6599
+-107.84 30.448 6447
+-107.714 30.448 6302
+-107.588 30.448 6164
+-107.462 30.448 6026
+-107.336 30.448 5972
+-107.21 30.448 5878
+-107.084 30.448 5687
+-106.958 30.448 5551
+-106.832 30.448 5416
+-106.706 30.448 5250
+-106.58 30.448 5138
+-106.454 30.448 5022
+-106.328 30.448 4937
+-106.202 30.448 4768
+-106.076 30.448 4791
+-105.95 30.448 4698
+-105.824 30.448 4570
+-105.698 30.448 4589
+-105.572 30.448 4587
+-105.446 30.448 4556
+-105.32 30.448 4412
+-105.194 30.448 4277
+-105.068 30.448 4091
+-104.942 30.448 3972
+-104.816 30.448 3845
+-104.69 30.448 3558
+-104.564 30.448 3423
+-104.438 30.448 3231
+-104.312 30.448 3031
+-104.186 30.448 2764
+-104.06 30.448 2515
+-103.934 30.448 2407
+-103.808 30.448 2471
+-103.682 30.448 2590
+-103.556 30.448 2697
+-103.43 30.448 2768
+-103.304 30.448 2810
+-103.178 30.448 2837
+-103.052 30.448 2857
+-102.926 30.448 2842
+-102.8 30.448 2860
+-102.674 30.448 2863
+-102.548 30.448 2882
+-102.422 30.448 2902
+-102.296 30.448 2921
+-102.17 30.448 2940
+-102.044 30.448 2959
+-101.918 30.448 2977
+-101.792 30.448 2994
+-101.666 30.448 2940
+-101.54 30.448 2955
+-101.414 30.448 2970
+-101.288 30.448 2939
+-101.162 30.448 2951
+-101.036 30.448 2927
+-100.91 30.448 2937
+-100.784 30.448 2946
+-100.658 30.448 2955
+-100.532 30.448 2963
+-100.406 30.448 2970
+-100.28 30.448 2874
+-100.154 30.448 2778
+-100.028 30.448 2774
+-99.902 30.448 2769
+-99.776 30.448 2763
+-99.65 30.448 2723
+-99.524 30.448 2672
+-99.398 30.448 2661
+-99.272 30.448 2648
+-99.146 30.448 2633
+-99.02 30.448 2575
+-98.894 30.448 2557
+-98.768 30.448 2537
+-98.642 30.448 2489
+-98.516 30.448 2467
+-98.39 30.448 2443
+-98.264 30.448 2331
+-98.138 30.448 2300
+-98.012 30.448 2228
+-97.886 30.448 2206
+-97.76 30.448 2222
+-97.634 30.448 2193
+-97.508 30.448 2211
+-97.382 30.448 2183
+-97.256 30.448 2215
+-97.13 30.448 2202
+-97.004 30.448 2188
+-96.878 30.448 2267
+-96.752 30.448 2338
+-96.626 30.448 2247
+-96.5 30.448 2317
+-96.374 30.448 2304
+-96.248 30.448 2248
+-96.122 30.448 2239
+-95.996 30.448 2231
+-95.87 30.448 2212
+-95.744 30.448 2210
+-95.618 30.448 2208
+-95.492 30.448 2202
+-95.366 30.448 2249
+-95.24 30.448 2259
+-95.114 30.448 2270
+-94.988 30.448 2281
+-94.862 30.448 2282
+-94.736 30.448 2297
+-94.61 30.448 2321
+-94.484 30.448 2286
+-94.358 30.448 2307
+-94.232 30.448 2333
+-94.106 30.448 2360
+-93.98 30.448 2386
+-93.854 30.448 2374
+-93.728 30.448 2395
+-93.602 30.448 2419
+-93.476 30.448 2402
+-93.35 30.448 2361
+-93.224 30.448 2418
+-93.098 30.448 2435
+-92.972 30.448 2423
+-92.846 30.448 2437
+-92.72 30.448 2450
+-92.594 30.448 2454
+-92.468 30.448 2464
+-92.342 30.448 2472
+-92.216 30.448 2478
+-92.09 30.448 2484
+-91.964 30.448 2473
+-91.838 30.448 2476
+-91.712 30.448 2482
+-91.586 30.448 2486
+-91.46 30.448 2500
+-91.334 30.448 2512
+-91.208 30.448 2578
+-91.082 30.448 2608
+-90.956 30.448 2605
+-90.83 30.448 2609
+-90.704 30.448 2605
+-90.578 30.448 2602
+-90.452 30.448 2619
+-90.326 30.448 2617
+-90.2 30.448 2617
+-90.074 30.448 2618
+-89.948 30.448 2620
+-89.822 30.448 2641
+-89.696 30.448 2645
+-89.57 30.448 2652
+-89.444 30.448 2655
+-89.318 30.448 2667
+-89.192 30.448 2664
+-89.066 30.448 2652
+-88.94 30.448 2660
+-88.814 30.448 2613
+-88.688 30.448 2546
+-88.562 30.448 2428
+-88.436 30.448 2371
+-88.31 30.448 2479
+-88.184 30.448 2704
+-88.058 30.448 2918
+-87.932 30.448 3132
+-87.806 30.448 3242
+-87.68 30.448 3345
+-87.554 30.448 3418
+-87.428 30.448 3472
+-87.302 30.448 3499
+-87.176 30.448 3596
+-87.05 30.448 3760
+-86.924 30.448 3938
+-86.798 30.448 4096
+-86.672 30.448 4199
+-86.546 30.448 4304
+-86.42 30.448 4409
+-86.294 30.448 4513
+-86.168 30.448 4588
+-86.042 30.448 4601
+-85.916 30.448 4693
+-85.79 30.448 4804
+-85.664 30.448 4916
+-85.538 30.448 5039
+-85.412 30.448 5216
+-85.286 30.448 5273
+-85.16 30.448 5417
+-85.034 30.448 5596
+-84.908 30.448 5705
+-84.782 30.448 5776
+-84.656 30.448 5806
+-84.53 30.448 5879
+-84.404 30.448 6012
+-84.278 30.448 6121
+-84.152 30.448 6187
+-84.026 30.448 6252
+-83.9 30.448 6328
+-83.774 30.448 6387
+-83.648 30.448 6449
+-83.522 30.448 6547
+-83.396 30.448 6575
+-83.27 30.448 6631
+-83.144 30.448 6707
+-83.018 30.448 6758
+-82.892 30.448 6804
+-82.766 30.448 6831
+-82.64 30.448 6845
+-82.514 30.448 6856
+-82.388 30.448 6877
+-82.262 30.448 6855
+-82.136 30.448 6862
+-82.01 30.448 6862
+-81.884 30.448 6839
+-81.758 30.448 6856
+-81.632 30.448 6822
+-81.506 30.448 6781
+-81.38 30.448 6787
+-81.254 30.448 6770
+-81.128 30.448 6731
+-81.002 30.448 6633
+-80.876 30.448 6550
+-80.75 30.448 6466
+-80.624 30.448 6389
+-80.498 30.448 6295
+-80.372 30.448 6208
+-80.246 30.448 6186
+-80.12 30.448 6108
+-79.994 30.448 5951
+-79.868 30.448 5905
+-79.742 30.448 5822
+-79.616 30.448 5683
+-79.49 30.448 5582
+-79.364 30.448 5544
+-79.238 30.448 5427
+-79.112 30.448 5365
+-78.986 30.448 5317
+-78.86 30.448 5222
+-78.734 30.448 5080
+-78.608 30.448 4991
+-78.482 30.448 4931
+-78.356 30.448 4720
+-78.23 30.448 4494
+-78.104 30.448 4368
+-77.978 30.448 4258
+-77.852 30.448 4297
+-77.726 30.448 4268
+-77.6 30.448 4170
+-77.474 30.448 4074
+-77.348 30.448 3989
+-77.222 30.448 3935
+-77.096 30.448 3886
+-76.97 30.448 3792
+-76.844 30.448 3711
+-76.718 30.448 3608
+-76.592 30.448 3446
+-76.466 30.448 3329
+-76.34 30.448 3258
+-76.214 30.448 3242
+-76.088 30.448 3250
+-75.962 30.448 3270
+-75.836 30.448 3281
+-75.71 30.448 3294
+-75.584 30.448 3306
+-75.458 30.448 3327
+-75.332 30.448 3346
+-75.206 30.448 3362
+-75.08 30.448 3377
+-74.954 30.448 3390
+-74.828 30.448 3349
+-74.702 30.448 3338
+-74.576 30.448 3347
+-74.45 30.448 3304
+-74.324 30.448 3311
+-74.198 30.448 3318
+-74.072 30.448 3325
+-73.946 30.448 3268
+-73.82 30.448 3256
+-73.694 30.448 3260
+-73.568 30.448 3263
+-73.442 30.448 3266
+-73.316 30.448 3270
+-73.19 30.448 3272
+-73.064 30.448 3275
+-72.938 30.448 3197
+-72.812 30.448 3188
+-72.686 30.448 3191
+-72.56 30.448 3194
+-72.434 30.448 3197
+-72.308 30.448 3200
+-72.182 30.448 3202
+-72.056 30.448 3205
+-71.93 30.448 3207
+-71.804 30.448 3209
+-71.678 30.448 3211
+-71.552 30.448 3213
+-71.426 30.448 3215
+-71.3 30.448 3217
+-71.174 30.448 3218
+-71.048 30.448 3220
+-70.922 30.448 3206
+-70.796 30.448 3208
+-70.67 30.448 3210
+-70.544 30.448 3212
+-70.418 30.448 3214
+-70.292 30.448 3173
+-70.166 30.448 3174
+-70.04 30.448 3175
+-69.914 30.448 3176
+-69.788 30.448 3177
+-69.662 30.448 3178
+-69.536 30.448 3165
+-69.41 30.448 3166
+-69.284 30.448 3144
+-69.158 30.448 3128
+-69.032 30.448 3129
+-68.906 30.448 3130
+-68.78 30.448 3130
+-68.654 30.448 3131
+-68.528 30.448 3132
+-68.402 30.448 3132
+-68.276 30.448 3133
+-68.15 30.448 3134
+-68.024 30.448 3134
+-67.898 30.448 3135
+-67.772 30.448 3041
+-67.646 30.448 3042
+-67.52 30.448 3043
+-67.394 30.448 3043
+-67.268 30.448 3044
+-67.142 30.448 3045
+-67.016 30.448 3045
+-66.89 30.448 3046
+-66.764 30.448 3046
+-66.638 30.448 3047
+-66.512 30.448 3047
+-66.386 30.448 3048
+-66.26 30.448 3049
+-66.134 30.448 3049
+-66.008 30.448 3050
+-65.882 30.448 3050
+-65.756 30.448 3050
+-65.63 30.448 3051
+-65.504 30.448 3051
+-65.378 30.448 3052
+-65.252 30.448 3052
+-65.126 30.448 3053
+-128 30.396 2453
+-127.874 30.396 2444
+-127.748 30.396 2461
+-127.622 30.396 2451
+-127.496 30.396 2442
+-127.37 30.396 2480
+-127.244 30.396 2472
+-127.118 30.396 2463
+-126.992 30.396 2455
+-126.866 30.396 2448
+-126.74 30.396 2440
+-126.614 30.396 2434
+-126.488 30.396 2428
+-126.362 30.396 2440
+-126.236 30.396 2500
+-126.11 30.396 2497
+-125.984 30.396 2497
+-125.858 30.396 2499
+-125.732 30.396 2504
+-125.606 30.396 2511
+-125.48 30.396 2522
+-125.354 30.396 2551
+-125.228 30.396 2571
+-125.102 30.396 2593
+-124.976 30.396 2627
+-124.85 30.396 2688
+-124.724 30.396 2719
+-124.598 30.396 2767
+-124.472 30.396 2801
+-124.346 30.396 2915
+-124.22 30.396 2949
+-124.094 30.396 3023
+-123.968 30.396 3097
+-123.842 30.396 3127
+-123.716 30.396 3154
+-123.59 30.396 3172
+-123.464 30.396 3192
+-123.338 30.396 3280
+-123.212 30.396 3304
+-123.086 30.396 3371
+-122.96 30.396 3351
+-122.834 30.396 3315
+-122.708 30.396 3267
+-122.582 30.396 3211
+-122.456 30.396 3189
+-122.33 30.396 3313
+-122.204 30.396 3331
+-122.078 30.396 3476
+-121.952 30.396 3631
+-121.826 30.396 3727
+-121.7 30.396 3884
+-121.574 30.396 4057
+-121.448 30.396 4261
+-121.322 30.396 4455
+-121.196 30.396 4526
+-121.07 30.396 4588
+-120.944 30.396 4708
+-120.818 30.396 4810
+-120.692 30.396 4952
+-120.566 30.396 5087
+-120.44 30.396 5136
+-120.314 30.396 5228
+-120.188 30.396 5351
+-120.062 30.396 5339
+-119.936 30.396 5458
+-119.81 30.396 5614
+-119.684 30.396 5746
+-119.558 30.396 5818
+-119.432 30.396 5971
+-119.306 30.396 6123
+-119.18 30.396 6171
+-119.054 30.396 6223
+-118.928 30.396 6302
+-118.802 30.396 6379
+-118.676 30.396 6454
+-118.55 30.396 6503
+-118.424 30.396 6608
+-118.298 30.396 6690
+-118.172 30.396 6748
+-118.046 30.396 6791
+-117.92 30.396 6842
+-117.794 30.396 6888
+-117.668 30.396 6911
+-117.542 30.396 6935
+-117.416 30.396 6992
+-117.29 30.396 7011
+-117.164 30.396 7047
+-117.038 30.396 7020
+-116.912 30.396 7039
+-116.786 30.396 7019
+-116.66 30.396 6989
+-116.534 30.396 6973
+-116.408 30.396 6941
+-116.282 30.396 6901
+-116.156 30.396 6862
+-116.03 30.396 6778
+-115.904 30.396 6740
+-115.778 30.396 6712
+-115.652 30.396 6623
+-115.526 30.396 6537
+-115.4 30.396 6445
+-115.274 30.396 6385
+-115.148 30.396 6301
+-115.022 30.396 6220
+-114.896 30.396 6136
+-114.77 30.396 6065
+-114.644 30.396 5932
+-114.518 30.396 5857
+-114.392 30.396 5697
+-114.266 30.396 5685
+-114.14 30.396 5526
+-114.014 30.396 5373
+-113.888 30.396 5518
+-113.762 30.396 5579
+-113.636 30.396 5690
+-113.51 30.396 5852
+-113.384 30.396 6002
+-113.258 30.396 6171
+-113.132 30.396 6279
+-113.006 30.396 6389
+-112.88 30.396 6539
+-112.754 30.396 6609
+-112.628 30.396 6750
+-112.502 30.396 6796
+-112.376 30.396 6926
+-112.25 30.396 7082
+-112.124 30.396 7189
+-111.998 30.396 7337
+-111.872 30.396 7421
+-111.746 30.396 7530
+-111.62 30.396 7617
+-111.494 30.396 7699
+-111.368 30.396 7765
+-111.242 30.396 7858
+-111.116 30.396 7938
+-110.99 30.396 8022
+-110.864 30.396 8078
+-110.738 30.396 8095
+-110.612 30.396 8130
+-110.486 30.396 8140
+-110.36 30.396 8168
+-110.234 30.396 8119
+-110.108 30.396 8111
+-109.982 30.396 8067
+-109.856 30.396 8038
+-109.73 30.396 7981
+-109.604 30.396 7882
+-109.478 30.396 7834
+-109.352 30.396 7748
+-109.226 30.396 7655
+-109.1 30.396 7568
+-108.974 30.396 7471
+-108.848 30.396 7286
+-108.722 30.396 7250
+-108.596 30.396 7114
+-108.47 30.396 7006
+-108.344 30.396 6917
+-108.218 30.396 6742
+-108.092 30.396 6617
+-107.966 30.396 6555
+-107.84 30.396 6413
+-107.714 30.396 6312
+-107.588 30.396 6200
+-107.462 30.396 6059
+-107.336 30.396 6000
+-107.21 30.396 5840
+-107.084 30.396 5702
+-106.958 30.396 5484
+-106.832 30.396 5432
+-106.706 30.396 5222
+-106.58 30.396 5160
+-106.454 30.396 5054
+-106.328 30.396 4899
+-106.202 30.396 4681
+-106.076 30.396 4778
+-105.95 30.396 4748
+-105.824 30.396 4689
+-105.698 30.396 4637
+-105.572 30.396 4621
+-105.446 30.396 4507
+-105.32 30.396 4418
+-105.194 30.396 4277
+-105.068 30.396 4111
+-104.942 30.396 4004
+-104.816 30.396 3815
+-104.69 30.396 3642
+-104.564 30.396 3411
+-104.438 30.396 3271
+-104.312 30.396 3105
+-104.186 30.396 2866
+-104.06 30.396 2702
+-103.934 30.396 2604
+-103.808 30.396 2617
+-103.682 30.396 2678
+-103.556 30.396 2719
+-103.43 30.396 2756
+-103.304 30.396 2778
+-103.178 30.396 2793
+-103.052 30.396 2776
+-102.926 30.396 2794
+-102.8 30.396 2800
+-102.674 30.396 2822
+-102.548 30.396 2847
+-102.422 30.396 2872
+-102.296 30.396 2896
+-102.17 30.396 2919
+-102.044 30.396 2941
+-101.918 30.396 2962
+-101.792 30.396 2973
+-101.666 30.396 2990
+-101.54 30.396 2927
+-101.414 30.396 2959
+-101.288 30.396 2930
+-101.162 30.396 2909
+-101.036 30.396 2921
+-100.91 30.396 2931
+-100.784 30.396 2941
+-100.658 30.396 2950
+-100.532 30.396 2958
+-100.406 30.396 2966
+-100.28 30.396 2850
+-100.154 30.396 2869
+-100.028 30.396 2772
+-99.902 30.396 2768
+-99.776 30.396 2762
+-99.65 30.396 2755
+-99.524 30.396 2673
+-99.398 30.396 2662
+-99.272 30.396 2650
+-99.146 30.396 2636
+-99.02 30.396 2621
+-98.894 30.396 2561
+-98.768 30.396 2543
+-98.642 30.396 2496
+-98.516 30.396 2474
+-98.39 30.396 2452
+-98.264 30.396 2340
+-98.138 30.396 2294
+-98.012 30.396 2239
+-97.886 30.396 2216
+-97.76 30.396 2196
+-97.634 30.396 2207
+-97.508 30.396 2191
+-97.382 30.396 2200
+-97.256 30.396 2233
+-97.13 30.396 2254
+-97.004 30.396 2242
+-96.878 30.396 2327
+-96.752 30.396 2287
+-96.626 30.396 2279
+-96.5 30.396 2270
+-96.374 30.396 2292
+-96.248 30.396 2285
+-96.122 30.396 2277
+-95.996 30.396 2256
+-95.87 30.396 2253
+-95.744 30.396 2250
+-95.618 30.396 2240
+-95.492 30.396 2287
+-95.366 30.396 2294
+-95.24 30.396 2301
+-95.114 30.396 2309
+-94.988 30.396 2305
+-94.862 30.396 2316
+-94.736 30.396 2336
+-94.61 30.396 2296
+-94.484 30.396 2313
+-94.358 30.396 2336
+-94.232 30.396 2360
+-94.106 30.396 2384
+-93.98 30.396 2368
+-93.854 30.396 2389
+-93.728 30.396 2411
+-93.602 30.396 2393
+-93.476 30.396 2351
+-93.35 30.396 2386
+-93.224 30.396 2403
+-93.098 30.396 2414
+-92.972 30.396 2429
+-92.846 30.396 2443
+-92.72 30.396 2448
+-92.594 30.396 2458
+-92.468 30.396 2467
+-92.342 30.396 2475
+-92.216 30.396 2482
+-92.09 30.396 2471
+-91.964 30.396 2476
+-91.838 30.396 2482
+-91.712 30.396 2488
+-91.586 30.396 2504
+-91.46 30.396 2517
+-91.334 30.396 2524
+-91.208 30.396 2584
+-91.082 30.396 2639
+-90.956 30.396 2632
+-90.83 30.396 2629
+-90.704 30.396 2627
+-90.578 30.396 2646
+-90.452 30.396 2646
+-90.326 30.396 2646
+-90.2 30.396 2647
+-90.074 30.396 2649
+-89.948 30.396 2672
+-89.822 30.396 2676
+-89.696 30.396 2680
+-89.57 30.396 2705
+-89.444 30.396 2706
+-89.318 30.396 2713
+-89.192 30.396 2708
+-89.066 30.396 2690
+-88.94 30.396 2654
+-88.814 30.396 2623
+-88.688 30.396 2506
+-88.562 30.396 2360
+-88.436 30.396 2267
+-88.31 30.396 2395
+-88.184 30.396 2668
+-88.058 30.396 2944
+-87.932 30.396 3153
+-87.806 30.396 3292
+-87.68 30.396 3382
+-87.554 30.396 3451
+-87.428 30.396 3464
+-87.302 30.396 3437
+-87.176 30.396 3552
+-87.05 30.396 3751
+-86.924 30.396 3908
+-86.798 30.396 4036
+-86.672 30.396 4193
+-86.546 30.396 4266
+-86.42 30.396 4376
+-86.294 30.396 4524
+-86.168 30.396 4626
+-86.042 30.396 4681
+-85.916 30.396 4775
+-85.79 30.396 4854
+-85.664 30.396 4989
+-85.538 30.396 5062
+-85.412 30.396 5225
+-85.286 30.396 5361
+-85.16 30.396 5481
+-85.034 30.396 5607
+-84.908 30.396 5700
+-84.782 30.396 5801
+-84.656 30.396 5872
+-84.53 30.396 5969
+-84.404 30.396 6080
+-84.278 30.396 6154
+-84.152 30.396 6228
+-84.026 30.396 6280
+-83.9 30.396 6376
+-83.774 30.396 6451
+-83.648 30.396 6484
+-83.522 30.396 6565
+-83.396 30.396 6646
+-83.27 30.396 6716
+-83.144 30.396 6770
+-83.018 30.396 6829
+-82.892 30.396 6830
+-82.766 30.396 6889
+-82.64 30.396 6870
+-82.514 30.396 6930
+-82.388 30.396 6921
+-82.262 30.396 6926
+-82.136 30.396 6950
+-82.01 30.396 6919
+-81.884 30.396 6943
+-81.758 30.396 6891
+-81.632 30.396 6908
+-81.506 30.396 6819
+-81.38 30.396 6828
+-81.254 30.396 6775
+-81.128 30.396 6759
+-81.002 30.396 6687
+-80.876 30.396 6556
+-80.75 30.396 6559
+-80.624 30.396 6481
+-80.498 30.396 6398
+-80.372 30.396 6264
+-80.246 30.396 6154
+-80.12 30.396 6090
+-79.994 30.396 5969
+-79.868 30.396 5953
+-79.742 30.396 5791
+-79.616 30.396 5724
+-79.49 30.396 5619
+-79.364 30.396 5574
+-79.238 30.396 5452
+-79.112 30.396 5347
+-78.986 30.396 5304
+-78.86 30.396 5165
+-78.734 30.396 5025
+-78.608 30.396 4860
+-78.482 30.396 4912
+-78.356 30.396 4780
+-78.23 30.396 4580
+-78.104 30.396 4424
+-77.978 30.396 4333
+-77.852 30.396 4311
+-77.726 30.396 4265
+-77.6 30.396 4166
+-77.474 30.396 4096
+-77.348 30.396 4007
+-77.222 30.396 3943
+-77.096 30.396 3860
+-76.97 30.396 3798
+-76.844 30.396 3706
+-76.718 30.396 3569
+-76.592 30.396 3387
+-76.466 30.396 3180
+-76.34 30.396 3083
+-76.214 30.396 3089
+-76.088 30.396 3149
+-75.962 30.396 3208
+-75.836 30.396 3254
+-75.71 30.396 3288
+-75.584 30.396 3321
+-75.458 30.396 3347
+-75.332 30.396 3367
+-75.206 30.396 3384
+-75.08 30.396 3398
+-74.954 30.396 3411
+-74.828 30.396 3392
+-74.702 30.396 3357
+-74.576 30.396 3397
+-74.45 30.396 3355
+-74.324 30.396 3362
+-74.198 30.396 3333
+-74.072 30.396 3276
+-73.946 30.396 3302
+-73.82 30.396 3307
+-73.694 30.396 3311
+-73.568 30.396 3315
+-73.442 30.396 3318
+-73.316 30.396 3322
+-73.19 30.396 3295
+-73.064 30.396 3203
+-72.938 30.396 3193
+-72.812 30.396 3196
+-72.686 30.396 3199
+-72.56 30.396 3202
+-72.434 30.396 3204
+-72.308 30.396 3207
+-72.182 30.396 3209
+-72.056 30.396 3211
+-71.93 30.396 3213
+-71.804 30.396 3215
+-71.678 30.396 3217
+-71.552 30.396 3219
+-71.426 30.396 3220
+-71.3 30.396 3222
+-71.174 30.396 3223
+-71.048 30.396 3209
+-70.922 30.396 3211
+-70.796 30.396 3213
+-70.67 30.396 3215
+-70.544 30.396 3217
+-70.418 30.396 3176
+-70.292 30.396 3177
+-70.166 30.396 3178
+-70.04 30.396 3179
+-69.914 30.396 3180
+-69.788 30.396 3180
+-69.662 30.396 3167
+-69.536 30.396 3168
+-69.41 30.396 3145
+-69.284 30.396 3129
+-69.158 30.396 3130
+-69.032 30.396 3131
+-68.906 30.396 3132
+-68.78 30.396 3132
+-68.654 30.396 3133
+-68.528 30.396 3134
+-68.402 30.396 3134
+-68.276 30.396 3135
+-68.15 30.396 3135
+-68.024 30.396 3136
+-67.898 30.396 3042
+-67.772 30.396 3043
+-67.646 30.396 3043
+-67.52 30.396 3044
+-67.394 30.396 3045
+-67.268 30.396 3045
+-67.142 30.396 3046
+-67.016 30.396 3046
+-66.89 30.396 3047
+-66.764 30.396 3048
+-66.638 30.396 3048
+-66.512 30.396 3049
+-66.386 30.396 3049
+-66.26 30.396 3050
+-66.134 30.396 3050
+-66.008 30.396 3051
+-65.882 30.396 3051
+-65.756 30.396 3051
+-65.63 30.396 3052
+-65.504 30.396 3052
+-65.378 30.396 3053
+-65.252 30.396 3053
+-65.126 30.396 3054
+-128 30.344 2431
+-127.874 30.344 2446
+-127.748 30.344 2435
+-127.622 30.344 2424
+-127.496 30.344 2461
+-127.37 30.344 2451
+-127.244 30.344 2440
+-127.118 30.344 2430
+-126.992 30.344 2420
+-126.866 30.344 2409
+-126.74 30.344 2399
+-126.614 30.344 2390
+-126.488 30.344 2398
+-126.362 30.344 2452
+-126.236 30.344 2445
+-126.11 30.344 2440
+-125.984 30.344 2437
+-125.858 30.344 2437
+-125.732 30.344 2439
+-125.606 30.344 2445
+-125.48 30.344 2475
+-125.354 30.344 2490
+-125.228 30.344 2510
+-125.102 30.344 2541
+-124.976 30.344 2602
+-124.85 30.344 2632
+-124.724 30.344 2680
+-124.598 30.344 2716
+-124.472 30.344 2754
+-124.346 30.344 2871
+-124.22 30.344 2948
+-124.094 30.344 2986
+-123.968 30.344 3036
+-123.842 30.344 3079
+-123.716 30.344 3110
+-123.59 30.344 3148
+-123.464 30.344 3170
+-123.338 30.344 3191
+-123.212 30.344 3197
+-123.086 30.344 3278
+-122.96 30.344 3290
+-122.834 30.344 3254
+-122.708 30.344 3193
+-122.582 30.344 3134
+-122.456 30.344 3049
+-122.33 30.344 3227
+-122.204 30.344 3380
+-122.078 30.344 3534
+-121.952 30.344 3626
+-121.826 30.344 3675
+-121.7 30.344 3823
+-121.574 30.344 3987
+-121.448 30.344 4239
+-121.322 30.344 4392
+-121.196 30.344 4485
+-121.07 30.344 4527
+-120.944 30.344 4628
+-120.818 30.344 4716
+-120.692 30.344 4859
+-120.566 30.344 5027
+-120.44 30.344 5123
+-120.314 30.344 5202
+-120.188 30.344 5326
+-120.062 30.344 5408
+-119.936 30.344 5446
+-119.81 30.344 5563
+-119.684 30.344 5718
+-119.558 30.344 5827
+-119.432 30.344 5892
+-119.306 30.344 6070
+-119.18 30.344 6166
+-119.054 30.344 6208
+-118.928 30.344 6262
+-118.802 30.344 6335
+-118.676 30.344 6409
+-118.55 30.344 6481
+-118.424 30.344 6564
+-118.298 30.344 6611
+-118.172 30.344 6695
+-118.046 30.344 6745
+-117.92 30.344 6781
+-117.794 30.344 6812
+-117.668 30.344 6887
+-117.542 30.344 6879
+-117.416 30.344 6920
+-117.29 30.344 6957
+-117.164 30.344 6984
+-117.038 30.344 6985
+-116.912 30.344 6960
+-116.786 30.344 6948
+-116.66 30.344 6926
+-116.534 30.344 6903
+-116.408 30.344 6870
+-116.282 30.344 6828
+-116.156 30.344 6794
+-116.03 30.344 6756
+-115.904 30.344 6706
+-115.778 30.344 6630
+-115.652 30.344 6581
+-115.526 30.344 6499
+-115.4 30.344 6405
+-115.274 30.344 6315
+-115.148 30.344 6259
+-115.022 30.344 6187
+-114.896 30.344 6133
+-114.77 30.344 6020
+-114.644 30.344 5855
+-114.518 30.344 5868
+-114.392 30.344 5772
+-114.266 30.344 5666
+-114.14 30.344 5555
+-114.014 30.344 5499
+-113.888 30.344 5479
+-113.762 30.344 5583
+-113.636 30.344 5701
+-113.51 30.344 5807
+-113.384 30.344 5952
+-113.258 30.344 6152
+-113.132 30.344 6196
+-113.006 30.344 6286
+-112.88 30.344 6507
+-112.754 30.344 6553
+-112.628 30.344 6685
+-112.502 30.344 6779
+-112.376 30.344 6915
+-112.25 30.344 7057
+-112.124 30.344 7109
+-111.998 30.344 7257
+-111.872 30.344 7401
+-111.746 30.344 7521
+-111.62 30.344 7554
+-111.494 30.344 7628
+-111.368 30.344 7745
+-111.242 30.344 7811
+-111.116 30.344 7895
+-110.99 30.344 7941
+-110.864 30.344 8028
+-110.738 30.344 8039
+-110.612 30.344 8092
+-110.486 30.344 8120
+-110.36 30.344 8114
+-110.234 30.344 8093
+-110.108 30.344 8066
+-109.982 30.344 8046
+-109.856 30.344 7989
+-109.73 30.344 7937
+-109.604 30.344 7847
+-109.478 30.344 7832
+-109.352 30.344 7712
+-109.226 30.344 7573
+-109.1 30.344 7533
+-108.974 30.344 7433
+-108.848 30.344 7305
+-108.722 30.344 7259
+-108.596 30.344 7088
+-108.47 30.344 6960
+-108.344 30.344 6914
+-108.218 30.344 6720
+-108.092 30.344 6625
+-107.966 30.344 6490
+-107.84 30.344 6376
+-107.714 30.344 6296
+-107.588 30.344 6203
+-107.462 30.344 6132
+-107.336 30.344 5993
+-107.21 30.344 5820
+-107.084 30.344 5645
+-106.958 30.344 5534
+-106.832 30.344 5420
+-106.706 30.344 5251
+-106.58 30.344 5146
+-106.454 30.344 5041
+-106.328 30.344 4920
+-106.202 30.344 4831
+-106.076 30.344 4803
+-105.95 30.344 4739
+-105.824 30.344 4691
+-105.698 30.344 4620
+-105.572 30.344 4580
+-105.446 30.344 4459
+-105.32 30.344 4413
+-105.194 30.344 4275
+-105.068 30.344 4165
+-104.942 30.344 4021
+-104.816 30.344 3835
+-104.69 30.344 3613
+-104.564 30.344 3498
+-104.438 30.344 3322
+-104.312 30.344 3184
+-104.186 30.344 2983
+-104.06 30.344 2863
+-103.934 30.344 2787
+-103.808 30.344 2742
+-103.682 30.344 2724
+-103.556 30.344 2728
+-103.43 30.344 2728
+-103.304 30.344 2724
+-103.178 30.344 2697
+-103.052 30.344 2708
+-102.926 30.344 2715
+-102.8 30.344 2742
+-102.674 30.344 2773
+-102.548 30.344 2805
+-102.422 30.344 2837
+-102.296 30.344 2868
+-102.17 30.344 2896
+-102.044 30.344 2922
+-101.918 30.344 2938
+-101.792 30.344 2960
+-101.666 30.344 2898
+-101.54 30.344 2916
+-101.414 30.344 2896
+-101.288 30.344 2889
+-101.162 30.344 2902
+-101.036 30.344 2914
+-100.91 30.344 2925
+-100.784 30.344 2936
+-100.658 30.344 2945
+-100.532 30.344 2954
+-100.406 30.344 2962
+-100.28 30.344 2849
+-100.154 30.344 2846
+-100.028 30.344 2843
+-99.902 30.344 2766
+-99.776 30.344 2761
+-99.65 30.344 2755
+-99.524 30.344 2674
+-99.398 30.344 2664
+-99.272 30.344 2652
+-99.146 30.344 2639
+-99.02 30.344 2625
+-98.894 30.344 2609
+-98.768 30.344 2548
+-98.642 30.344 2503
+-98.516 30.344 2482
+-98.39 30.344 2460
+-98.264 30.344 2350
+-98.138 30.344 2304
+-98.012 30.344 2251
+-97.886 30.344 2229
+-97.76 30.344 2206
+-97.634 30.344 2178
+-97.508 30.344 2236
+-97.382 30.344 2216
+-97.256 30.344 2283
+-97.13 30.344 2276
+-97.004 30.344 2266
+-96.878 30.344 2353
+-96.752 30.344 2316
+-96.626 30.344 2307
+-96.5 30.344 2299
+-96.374 30.344 2327
+-96.248 30.344 2319
+-96.122 30.344 2297
+-95.996 30.344 2293
+-95.87 30.344 2289
+-95.744 30.344 2277
+-95.618 30.344 2323
+-95.492 30.344 2328
+-95.366 30.344 2332
+-95.24 30.344 2337
+-95.114 30.344 2329
+-94.988 30.344 2336
+-94.862 30.344 2353
+-94.736 30.344 2308
+-94.61 30.344 2322
+-94.484 30.344 2342
+-94.358 30.344 2363
+-94.232 30.344 2384
+-94.106 30.344 2366
+-93.98 30.344 2384
+-93.854 30.344 2406
+-93.728 30.344 2385
+-93.602 30.344 2343
+-93.476 30.344 2378
+-93.35 30.344 2395
+-93.224 30.344 2407
+-93.098 30.344 2422
+-92.972 30.344 2436
+-92.846 30.344 2441
+-92.72 30.344 2453
+-92.594 30.344 2463
+-92.468 30.344 2471
+-92.342 30.344 2479
+-92.216 30.344 2469
+-92.09 30.344 2474
+-91.964 30.344 2466
+-91.838 30.344 2488
+-91.712 30.344 2506
+-91.586 30.344 2537
+-91.46 30.344 2517
+-91.334 30.344 2522
+-91.208 30.344 2658
+-91.082 30.344 2644
+-90.956 30.344 2651
+-90.83 30.344 2650
+-90.704 30.344 2670
+-90.578 30.344 2670
+-90.452 30.344 2671
+-90.326 30.344 2672
+-90.2 30.344 2674
+-90.074 30.344 2701
+-89.948 30.344 2704
+-89.822 30.344 2708
+-89.696 30.344 2736
+-89.57 30.344 2738
+-89.444 30.344 2738
+-89.318 30.344 2734
+-89.192 30.344 2765
+-89.066 30.344 2743
+-88.94 30.344 2703
+-88.814 30.344 2658
+-88.688 30.344 2555
+-88.562 30.344 2432
+-88.436 30.344 2377
+-88.31 30.344 2500
+-88.184 30.344 2748
+-88.058 30.344 3003
+-87.932 30.344 3209
+-87.806 30.344 3328
+-87.68 30.344 3391
+-87.554 30.344 3434
+-87.428 30.344 3473
+-87.302 30.344 3506
+-87.176 30.344 3601
+-87.05 30.344 3782
+-86.924 30.344 3852
+-86.798 30.344 3976
+-86.672 30.344 4189
+-86.546 30.344 4227
+-86.42 30.344 4341
+-86.294 30.344 4528
+-86.168 30.344 4670
+-86.042 30.344 4760
+-85.916 30.344 4840
+-85.79 30.344 4848
+-85.664 30.344 4972
+-85.538 30.344 5128
+-85.412 30.344 5290
+-85.286 30.344 5417
+-85.16 30.344 5525
+-85.034 30.344 5559
+-84.908 30.344 5710
+-84.782 30.344 5832
+-84.656 30.344 5944
+-84.53 30.344 6038
+-84.404 30.344 6088
+-84.278 30.344 6143
+-84.152 30.344 6251
+-84.026 30.344 6357
+-83.9 30.344 6449
+-83.774 30.344 6475
+-83.648 30.344 6566
+-83.522 30.344 6656
+-83.396 30.344 6699
+-83.27 30.344 6773
+-83.144 30.344 6837
+-83.018 30.344 6831
+-82.892 30.344 6917
+-82.766 30.344 6945
+-82.64 30.344 6970
+-82.514 30.344 6987
+-82.388 30.344 6990
+-82.262 30.344 6993
+-82.136 30.344 6985
+-82.01 30.344 6961
+-81.884 30.344 6964
+-81.758 30.344 6963
+-81.632 30.344 6909
+-81.506 30.344 6900
+-81.38 30.344 6853
+-81.254 30.344 6820
+-81.128 30.344 6734
+-81.002 30.344 6727
+-80.876 30.344 6655
+-80.75 30.344 6578
+-80.624 30.344 6498
+-80.498 30.344 6482
+-80.372 30.344 6388
+-80.246 30.344 6195
+-80.12 30.344 6130
+-79.994 30.344 5998
+-79.868 30.344 5928
+-79.742 30.344 5904
+-79.616 30.344 5769
+-79.49 30.344 5707
+-79.364 30.344 5626
+-79.238 30.344 5506
+-79.112 30.344 5391
+-78.986 30.344 5269
+-78.86 30.344 5120
+-78.734 30.344 5100
+-78.608 30.344 5006
+-78.482 30.344 4943
+-78.356 30.344 4784
+-78.23 30.344 4643
+-78.104 30.344 4502
+-77.978 30.344 4409
+-77.852 30.344 4332
+-77.726 30.344 4241
+-77.6 30.344 4122
+-77.474 30.344 4032
+-77.348 30.344 3956
+-77.222 30.344 3937
+-77.096 30.344 3888
+-76.97 30.344 3840
+-76.844 30.344 3740
+-76.718 30.344 3531
+-76.592 30.344 3274
+-76.466 30.344 2995
+-76.34 30.344 2866
+-76.214 30.344 2921
+-76.088 30.344 3049
+-75.962 30.344 3159
+-75.836 30.344 3236
+-75.71 30.344 3295
+-75.584 30.344 3336
+-75.458 30.344 3366
+-75.332 30.344 3388
+-75.206 30.344 3405
+-75.08 30.344 3419
+-74.954 30.344 3401
+-74.828 30.344 3397
+-74.702 30.344 3406
+-74.576 30.344 3414
+-74.45 30.344 3414
+-74.324 30.344 3376
+-74.198 30.344 3365
+-74.072 30.344 3310
+-73.946 30.344 3314
+-73.82 30.344 3318
+-73.694 30.344 3321
+-73.568 30.344 3336
+-73.442 30.344 3340
+-73.316 30.344 3343
+-73.19 30.344 3209
+-73.064 30.344 3199
+-72.938 30.344 3202
+-72.812 30.344 3205
+-72.686 30.344 3207
+-72.56 30.344 3209
+-72.434 30.344 3212
+-72.308 30.344 3214
+-72.182 30.344 3216
+-72.056 30.344 3218
+-71.93 30.344 3219
+-71.804 30.344 3221
+-71.678 30.344 3223
+-71.552 30.344 3224
+-71.426 30.344 3225
+-71.3 30.344 3227
+-71.174 30.344 3213
+-71.048 30.344 3214
+-70.922 30.344 3216
+-70.796 30.344 3218
+-70.67 30.344 3220
+-70.544 30.344 3179
+-70.418 30.344 3180
+-70.292 30.344 3181
+-70.166 30.344 3181
+-70.04 30.344 3182
+-69.914 30.344 3183
+-69.788 30.344 3168
+-69.662 30.344 3169
+-69.536 30.344 3147
+-69.41 30.344 3131
+-69.284 30.344 3131
+-69.158 30.344 3132
+-69.032 30.344 3133
+-68.906 30.344 3133
+-68.78 30.344 3134
+-68.654 30.344 3135
+-68.528 30.344 3135
+-68.402 30.344 3136
+-68.276 30.344 3136
+-68.15 30.344 3137
+-68.024 30.344 3043
+-67.898 30.344 3043
+-67.772 30.344 3044
+-67.646 30.344 3045
+-67.52 30.344 3045
+-67.394 30.344 3046
+-67.268 30.344 3047
+-67.142 30.344 3047
+-67.016 30.344 3048
+-66.89 30.344 3048
+-66.764 30.344 3049
+-66.638 30.344 3049
+-66.512 30.344 3050
+-66.386 30.344 3050
+-66.26 30.344 3051
+-66.134 30.344 3051
+-66.008 30.344 3052
+-65.882 30.344 3052
+-65.756 30.344 3052
+-65.63 30.344 3053
+-65.504 30.344 3053
+-65.378 30.344 3054
+-65.252 30.344 3054
+-65.126 30.344 3054
+-128 30.292 2434
+-127.874 30.292 2422
+-127.748 30.292 2409
+-127.622 30.292 2445
+-127.496 30.292 2433
+-127.37 30.292 2421
+-127.244 30.292 2408
+-127.118 30.292 2395
+-126.992 30.292 2382
+-126.866 30.292 2369
+-126.74 30.292 2356
+-126.614 30.292 2360
+-126.488 30.292 2408
+-126.362 30.292 2397
+-126.236 30.292 2386
+-126.11 30.292 2378
+-125.984 30.292 2371
+-125.858 30.292 2367
+-125.732 30.292 2367
+-125.606 30.292 2396
+-125.48 30.292 2406
+-125.354 30.292 2420
+-125.228 30.292 2447
+-125.102 30.292 2484
+-124.976 30.292 2513
+-124.85 30.292 2581
+-124.724 30.292 2618
+-124.598 30.292 2658
+-124.472 30.292 2750
+-124.346 30.292 2821
+-124.22 30.292 2866
+-124.094 30.292 2918
+-123.968 30.292 2974
+-123.842 30.292 3045
+-123.716 30.292 3080
+-123.59 30.292 3101
+-123.464 30.292 3155
+-123.338 30.292 3172
+-123.212 30.292 3179
+-123.086 30.292 3243
+-122.96 30.292 3206
+-122.834 30.292 3184
+-122.708 30.292 3114
+-122.582 30.292 3061
+-122.456 30.292 3118
+-122.33 30.292 3240
+-122.204 30.292 3400
+-122.078 30.292 3537
+-121.952 30.292 3618
+-121.826 30.292 3684
+-121.7 30.292 3798
+-121.574 30.292 3969
+-121.448 30.292 4174
+-121.322 30.292 4336
+-121.196 30.292 4439
+-121.07 30.292 4418
+-120.944 30.292 4567
+-120.818 30.292 4609
+-120.692 30.292 4768
+-120.566 30.292 4968
+-120.44 30.292 5097
+-120.314 30.292 5082
+-120.188 30.292 5258
+-120.062 30.292 5400
+-119.936 30.292 5457
+-119.81 30.292 5556
+-119.684 30.292 5710
+-119.558 30.292 5742
+-119.432 30.292 5832
+-119.306 30.292 5975
+-119.18 30.292 6076
+-119.054 30.292 6169
+-118.928 30.292 6194
+-118.802 30.292 6297
+-118.676 30.292 6355
+-118.55 30.292 6434
+-118.424 30.292 6525
+-118.298 30.292 6597
+-118.172 30.292 6651
+-118.046 30.292 6694
+-117.92 30.292 6733
+-117.794 30.292 6773
+-117.668 30.292 6824
+-117.542 30.292 6836
+-117.416 30.292 6850
+-117.29 30.292 6915
+-117.164 30.292 6893
+-117.038 30.292 6893
+-116.912 30.292 6919
+-116.786 30.292 6874
+-116.66 30.292 6838
+-116.534 30.292 6813
+-116.408 30.292 6784
+-116.282 30.292 6755
+-116.156 30.292 6746
+-116.03 30.292 6688
+-115.904 30.292 6623
+-115.778 30.292 6559
+-115.652 30.292 6493
+-115.526 30.292 6442
+-115.4 30.292 6413
+-115.274 30.292 6308
+-115.148 30.292 6156
+-115.022 30.292 6146
+-114.896 30.292 6014
+-114.77 30.292 5986
+-114.644 30.292 5903
+-114.518 30.292 5838
+-114.392 30.292 5746
+-114.266 30.292 5621
+-114.14 30.292 5546
+-114.014 30.292 5514
+-113.888 30.292 5528
+-113.762 30.292 5574
+-113.636 30.292 5676
+-113.51 30.292 5803
+-113.384 30.292 5928
+-113.258 30.292 6103
+-113.132 30.292 6194
+-113.006 30.292 6298
+-112.88 30.292 6461
+-112.754 30.292 6585
+-112.628 30.292 6691
+-112.502 30.292 6809
+-112.376 30.292 6870
+-112.25 30.292 6974
+-112.124 30.292 7049
+-111.998 30.292 7216
+-111.872 30.292 7339
+-111.746 30.292 7474
+-111.62 30.292 7566
+-111.494 30.292 7632
+-111.368 30.292 7688
+-111.242 30.292 7825
+-111.116 30.292 7851
+-110.99 30.292 7912
+-110.864 30.292 7965
+-110.738 30.292 7979
+-110.612 30.292 8032
+-110.486 30.292 8046
+-110.36 30.292 8044
+-110.234 30.292 8042
+-110.108 30.292 7983
+-109.982 30.292 7975
+-109.856 30.292 7945
+-109.73 30.292 7873
+-109.604 30.292 7808
+-109.478 30.292 7714
+-109.352 30.292 7605
+-109.226 30.292 7569
+-109.1 30.292 7480
+-108.974 30.292 7363
+-108.848 30.292 7303
+-108.722 30.292 7171
+-108.596 30.292 7050
+-108.47 30.292 6975
+-108.344 30.292 6911
+-108.218 30.292 6725
+-108.092 30.292 6579
+-107.966 30.292 6526
+-107.84 30.292 6350
+-107.714 30.292 6183
+-107.588 30.292 6209
+-107.462 30.292 6091
+-107.336 30.292 5941
+-107.21 30.292 5745
+-107.084 30.292 5589
+-106.958 30.292 5488
+-106.832 30.292 5423
+-106.706 30.292 5266
+-106.58 30.292 5151
+-106.454 30.292 4998
+-106.328 30.292 4892
+-106.202 30.292 4881
+-106.076 30.292 4790
+-105.95 30.292 4710
+-105.824 30.292 4634
+-105.698 30.292 4595
+-105.572 30.292 4557
+-105.446 30.292 4482
+-105.32 30.292 4434
+-105.194 30.292 4265
+-105.068 30.292 4150
+-104.942 30.292 3977
+-104.816 30.292 3838
+-104.69 30.292 3621
+-104.564 30.292 3521
+-104.438 30.292 3413
+-104.312 30.292 3252
+-104.186 30.292 3136
+-104.06 30.292 2976
+-103.934 30.292 2890
+-103.808 30.292 2826
+-103.682 30.292 2759
+-103.556 30.292 2699
+-103.43 30.292 2658
+-103.304 30.292 2629
+-103.178 30.292 2596
+-103.052 30.292 2589
+-102.926 30.292 2619
+-102.8 30.292 2659
+-102.674 30.292 2703
+-102.548 30.292 2746
+-102.422 30.292 2787
+-102.296 30.292 2824
+-102.17 30.292 2858
+-102.044 30.292 2888
+-101.918 30.292 2915
+-101.792 30.292 2939
+-101.666 30.292 2885
+-101.54 30.292 2870
+-101.414 30.292 2887
+-101.288 30.292 2902
+-101.162 30.292 2896
+-101.036 30.292 2908
+-100.91 30.292 2920
+-100.784 30.292 2931
+-100.658 30.292 2941
+-100.532 30.292 2950
+-100.406 30.292 2959
+-100.28 30.292 2847
+-100.154 30.292 2846
+-100.028 30.292 2843
+-99.902 30.292 2839
+-99.776 30.292 2760
+-99.65 30.292 2754
+-99.524 30.292 2675
+-99.398 30.292 2665
+-99.272 30.292 2654
+-99.146 30.292 2642
+-99.02 30.292 2629
+-98.894 30.292 2614
+-98.768 30.292 2576
+-98.642 30.292 2509
+-98.516 30.292 2490
+-98.39 30.292 2469
+-98.264 30.292 2358
+-98.138 30.292 2314
+-98.012 30.292 2262
+-97.886 30.292 2241
+-97.76 30.292 2220
+-97.634 30.292 2213
+-97.508 30.292 2250
+-97.382 30.292 2261
+-97.256 30.292 2303
+-97.13 30.292 2294
+-97.004 30.292 2280
+-96.878 30.292 2194
+-96.752 30.292 2341
+-96.626 30.292 2334
+-96.5 30.292 2327
+-96.374 30.292 2357
+-96.248 30.292 2334
+-96.122 30.292 2330
+-95.996 30.292 2325
+-95.87 30.292 2311
+-95.744 30.292 2358
+-95.618 30.292 2360
+-95.492 30.292 2363
+-95.366 30.292 2365
+-95.24 30.292 2353
+-95.114 30.292 2358
+-94.988 30.292 2371
+-94.862 30.292 2322
+-94.736 30.292 2333
+-94.61 30.292 2350
+-94.484 30.292 2368
+-94.358 30.292 2387
+-94.232 30.292 2366
+-94.106 30.292 2383
+-93.98 30.292 2402
+-93.854 30.292 2380
+-93.728 30.292 2310
+-93.602 30.292 2372
+-93.476 30.292 2389
+-93.35 30.292 2400
+-93.224 30.292 2415
+-93.098 30.292 2429
+-92.972 30.292 2435
+-92.846 30.292 2447
+-92.72 30.292 2458
+-92.594 30.292 2467
+-92.468 30.292 2475
+-92.342 30.292 2466
+-92.216 30.292 2472
+-92.09 30.292 2465
+-91.964 30.292 2488
+-91.838 30.292 2507
+-91.712 30.292 2527
+-91.586 30.292 2523
+-91.46 30.292 2528
+-91.334 30.292 2663
+-91.208 30.292 2662
+-91.082 30.292 2662
+-90.956 30.292 2661
+-90.83 30.292 2662
+-90.704 30.292 2662
+-90.578 30.292 2720
+-90.452 30.292 2722
+-90.326 30.292 2724
+-90.2 30.292 2727
+-90.074 30.292 2730
+-89.948 30.292 2733
+-89.822 30.292 2765
+-89.696 30.292 2768
+-89.57 30.292 2770
+-89.444 30.292 2770
+-89.318 30.292 2810
+-89.192 30.292 2798
+-89.066 30.292 2779
+-88.94 30.292 2748
+-88.814 30.292 2701
+-88.688 30.292 2657
+-88.562 30.292 2608
+-88.436 30.292 2600
+-88.31 30.292 2693
+-88.184 30.292 2899
+-88.058 30.292 3095
+-87.932 30.292 3265
+-87.806 30.292 3337
+-87.68 30.292 3359
+-87.554 30.292 3365
+-87.428 30.292 3441
+-87.302 30.292 3561
+-87.176 30.292 3656
+-87.05 30.292 3791
+-86.924 30.292 3804
+-86.798 30.292 3929
+-86.672 30.292 4133
+-86.546 30.292 4248
+-86.42 30.292 4383
+-86.294 30.292 4557
+-86.168 30.292 4709
+-86.042 30.292 4835
+-85.916 30.292 4902
+-85.79 30.292 4942
+-85.664 30.292 5074
+-85.538 30.292 5237
+-85.412 30.292 5343
+-85.286 30.292 5429
+-85.16 30.292 5459
+-85.034 30.292 5649
+-84.908 30.292 5734
+-84.782 30.292 5852
+-84.656 30.292 5973
+-84.53 30.292 6055
+-84.404 30.292 6138
+-84.278 30.292 6187
+-84.152 30.292 6290
+-84.026 30.292 6410
+-83.9 30.292 6528
+-83.774 30.292 6555
+-83.648 30.292 6638
+-83.522 30.292 6725
+-83.396 30.292 6776
+-83.27 30.292 6842
+-83.144 30.292 6897
+-83.018 30.292 6947
+-82.892 30.292 6965
+-82.766 30.292 6989
+-82.64 30.292 7024
+-82.514 30.292 7036
+-82.388 30.292 7036
+-82.262 30.292 7065
+-82.136 30.292 7057
+-82.01 30.292 7047
+-81.884 30.292 6998
+-81.758 30.292 6973
+-81.632 30.292 6934
+-81.506 30.292 6913
+-81.38 30.292 6943
+-81.254 30.292 6875
+-81.128 30.292 6806
+-81.002 30.292 6735
+-80.876 30.292 6713
+-80.75 30.292 6641
+-80.624 30.292 6555
+-80.498 30.292 6447
+-80.372 30.292 6447
+-80.246 30.292 6293
+-80.12 30.292 6164
+-79.994 30.292 6006
+-79.868 30.292 5919
+-79.742 30.292 5949
+-79.616 30.292 5796
+-79.49 30.292 5701
+-79.364 30.292 5666
+-79.238 30.292 5584
+-79.112 30.292 5415
+-78.986 30.292 5281
+-78.86 30.292 5169
+-78.734 30.292 5157
+-78.608 30.292 5079
+-78.482 30.292 4956
+-78.356 30.292 4800
+-78.23 30.292 4674
+-78.104 30.292 4563
+-77.978 30.292 4436
+-77.852 30.292 4324
+-77.726 30.292 4200
+-77.6 30.292 4051
+-77.474 30.292 3938
+-77.348 30.292 3860
+-77.222 30.292 3881
+-77.096 30.292 3890
+-76.97 30.292 3848
+-76.844 30.292 3749
+-76.718 30.292 3556
+-76.592 30.292 3224
+-76.466 30.292 2890
+-76.34 30.292 2746
+-76.214 30.292 2847
+-76.088 30.292 3023
+-75.962 30.292 3152
+-75.836 30.292 3244
+-75.71 30.292 3311
+-75.584 30.292 3355
+-75.458 30.292 3387
+-75.332 30.292 3409
+-75.206 30.292 3426
+-75.08 30.292 3410
+-74.954 30.292 3407
+-74.828 30.292 3416
+-74.702 30.292 3424
+-74.576 30.292 3423
+-74.45 30.292 3385
+-74.324 30.292 3374
+-74.198 30.292 3378
+-74.072 30.292 3322
+-73.946 30.292 3357
+-73.82 30.292 3361
+-73.694 30.292 3342
+-73.568 30.292 3345
+-73.442 30.292 3347
+-73.316 30.292 3217
+-73.19 30.292 3206
+-73.064 30.292 3209
+-72.938 30.292 3211
+-72.812 30.292 3213
+-72.686 30.292 3215
+-72.56 30.292 3217
+-72.434 30.292 3219
+-72.308 30.292 3221
+-72.182 30.292 3222
+-72.056 30.292 3224
+-71.93 30.292 3225
+-71.804 30.292 3227
+-71.678 30.292 3228
+-71.552 30.292 3229
+-71.426 30.292 3231
+-71.3 30.292 3216
+-71.174 30.292 3218
+-71.048 30.292 3220
+-70.922 30.292 3222
+-70.796 30.292 3223
+-70.67 30.292 3182
+-70.544 30.292 3183
+-70.418 30.292 3184
+-70.292 30.292 3184
+-70.166 30.292 3185
+-70.04 30.292 3186
+-69.914 30.292 3170
+-69.788 30.292 3171
+-69.662 30.292 3148
+-69.536 30.292 3132
+-69.41 30.292 3133
+-69.284 30.292 3134
+-69.158 30.292 3134
+-69.032 30.292 3135
+-68.906 30.292 3135
+-68.78 30.292 3136
+-68.654 30.292 3136
+-68.528 30.292 3137
+-68.402 30.292 3137
+-68.276 30.292 3138
+-68.15 30.292 3044
+-68.024 30.292 3044
+-67.898 30.292 3045
+-67.772 30.292 3046
+-67.646 30.292 3046
+-67.52 30.292 3047
+-67.394 30.292 3047
+-67.268 30.292 3048
+-67.142 30.292 3048
+-67.016 30.292 3049
+-66.89 30.292 3049
+-66.764 30.292 3050
+-66.638 30.292 3050
+-66.512 30.292 3051
+-66.386 30.292 3051
+-66.26 30.292 3052
+-66.134 30.292 3052
+-66.008 30.292 3053
+-65.882 30.292 3053
+-65.756 30.292 3053
+-65.63 30.292 3054
+-65.504 30.292 3054
+-65.378 30.292 3055
+-65.252 30.292 3055
+-65.126 30.292 3055
+-128 30.24 2410
+-127.874 30.24 2396
+-127.748 30.24 2432
+-127.622 30.24 2419
+-127.496 30.24 2405
+-127.37 30.24 2390
+-127.244 30.24 2375
+-127.118 30.24 2359
+-126.992 30.24 2343
+-126.866 30.24 2327
+-126.74 30.24 2327
+-126.614 30.24 2370
+-126.488 30.24 2354
+-126.362 30.24 2338
+-126.236 30.24 2323
+-126.11 30.24 2310
+-125.984 30.24 2299
+-125.858 30.24 2291
+-125.732 30.24 2317
+-125.606 30.24 2320
+-125.48 30.24 2327
+-125.354 30.24 2348
+-125.228 30.24 2381
+-125.102 30.24 2407
+-124.976 30.24 2470
+-124.85 30.24 2506
+-124.724 30.24 2545
+-124.598 30.24 2637
+-124.472 30.24 2712
+-124.346 30.24 2761
+-124.22 30.24 2818
+-124.094 30.24 2868
+-123.968 30.24 2916
+-123.842 30.24 2976
+-123.716 30.24 3019
+-123.59 30.24 3105
+-123.464 30.24 3123
+-123.338 30.24 3144
+-123.212 30.24 3164
+-123.086 30.24 3216
+-122.96 30.24 3208
+-122.834 30.24 3134
+-122.708 30.24 3035
+-122.582 30.24 2914
+-122.456 30.24 3081
+-122.33 30.24 3250
+-122.204 30.24 3380
+-122.078 30.24 3510
+-121.952 30.24 3614
+-121.826 30.24 3706
+-121.7 30.24 3818
+-121.574 30.24 3937
+-121.448 30.24 4101
+-121.322 30.24 4317
+-121.196 30.24 4420
+-121.07 30.24 4494
+-120.944 30.24 4581
+-120.818 30.24 4651
+-120.692 30.24 4769
+-120.566 30.24 4943
+-120.44 30.24 5043
+-120.314 30.24 5130
+-120.188 30.24 5256
+-120.062 30.24 5383
+-119.936 30.24 5454
+-119.81 30.24 5469
+-119.684 30.24 5604
+-119.558 30.24 5684
+-119.432 30.24 5801
+-119.306 30.24 5956
+-119.18 30.24 6006
+-119.054 30.24 6062
+-118.928 30.24 6183
+-118.802 30.24 6224
+-118.676 30.24 6303
+-118.55 30.24 6378
+-118.424 30.24 6491
+-118.298 30.24 6531
+-118.172 30.24 6597
+-118.046 30.24 6630
+-117.92 30.24 6700
+-117.794 30.24 6741
+-117.668 30.24 6796
+-117.542 30.24 6785
+-117.416 30.24 6800
+-117.29 30.24 6811
+-117.164 30.24 6803
+-117.038 30.24 6809
+-116.912 30.24 6815
+-116.786 30.24 6827
+-116.66 30.24 6827
+-116.534 30.24 6817
+-116.408 30.24 6728
+-116.282 30.24 6707
+-116.156 30.24 6676
+-116.03 30.24 6620
+-115.904 30.24 6594
+-115.778 30.24 6507
+-115.652 30.24 6438
+-115.526 30.24 6435
+-115.4 30.24 6343
+-115.274 30.24 6246
+-115.148 30.24 6194
+-115.022 30.24 6107
+-114.896 30.24 6029
+-114.77 30.24 5945
+-114.644 30.24 5835
+-114.518 30.24 5745
+-114.392 30.24 5664
+-114.266 30.24 5583
+-114.14 30.24 5499
+-114.014 30.24 5489
+-113.888 30.24 5523
+-113.762 30.24 5491
+-113.636 30.24 5649
+-113.51 30.24 5775
+-113.384 30.24 5898
+-113.258 30.24 6011
+-113.132 30.24 6170
+-113.006 30.24 6260
+-112.88 30.24 6409
+-112.754 30.24 6577
+-112.628 30.24 6667
+-112.502 30.24 6700
+-112.376 30.24 6924
+-112.25 30.24 6931
+-112.124 30.24 7012
+-111.998 30.24 7194
+-111.872 30.24 7286
+-111.746 30.24 7386
+-111.62 30.24 7499
+-111.494 30.24 7582
+-111.368 30.24 7663
+-111.242 30.24 7724
+-111.116 30.24 7791
+-110.99 30.24 7867
+-110.864 30.24 7905
+-110.738 30.24 7925
+-110.612 30.24 7967
+-110.486 30.24 7986
+-110.36 30.24 7993
+-110.234 30.24 7981
+-110.108 30.24 7962
+-109.982 30.24 7904
+-109.856 30.24 7887
+-109.73 30.24 7824
+-109.604 30.24 7748
+-109.478 30.24 7667
+-109.352 30.24 7575
+-109.226 30.24 7548
+-109.1 30.24 7442
+-108.974 30.24 7325
+-108.848 30.24 7223
+-108.722 30.24 7155
+-108.596 30.24 7036
+-108.47 30.24 6908
+-108.344 30.24 6880
+-108.218 30.24 6740
+-108.092 30.24 6565
+-107.966 30.24 6430
+-107.84 30.24 6319
+-107.714 30.24 6243
+-107.588 30.24 6110
+-107.462 30.24 5995
+-107.336 30.24 5864
+-107.21 30.24 5690
+-107.084 30.24 5569
+-106.958 30.24 5494
+-106.832 30.24 5370
+-106.706 30.24 5264
+-106.58 30.24 5181
+-106.454 30.24 5033
+-106.328 30.24 4920
+-106.202 30.24 4848
+-106.076 30.24 4746
+-105.95 30.24 4570
+-105.824 30.24 4433
+-105.698 30.24 4452
+-105.572 30.24 4507
+-105.446 30.24 4498
+-105.32 30.24 4420
+-105.194 30.24 4266
+-105.068 30.24 4026
+-104.942 30.24 3937
+-104.816 30.24 3769
+-104.69 30.24 3638
+-104.564 30.24 3518
+-104.438 30.24 3431
+-104.312 30.24 3336
+-104.186 30.24 3197
+-104.06 30.24 3035
+-103.934 30.24 2941
+-103.808 30.24 2844
+-103.682 30.24 2749
+-103.556 30.24 2630
+-103.43 30.24 2523
+-103.304 30.24 2452
+-103.178 30.24 2432
+-103.052 30.24 2462
+-102.926 30.24 2512
+-102.8 30.24 2575
+-102.674 30.24 2638
+-102.548 30.24 2697
+-102.422 30.24 2749
+-102.296 30.24 2796
+-102.17 30.24 2836
+-102.044 30.24 2871
+-101.918 30.24 2902
+-101.792 30.24 2929
+-101.666 30.24 2850
+-101.54 30.24 2860
+-101.414 30.24 2879
+-101.288 30.24 2895
+-101.162 30.24 2910
+-101.036 30.24 2903
+-100.91 30.24 2915
+-100.784 30.24 2927
+-100.658 30.24 2937
+-100.532 30.24 2947
+-100.406 30.24 2955
+-100.28 30.24 2846
+-100.154 30.24 2845
+-100.028 30.24 2842
+-99.902 30.24 2839
+-99.776 30.24 2834
+-99.65 30.24 2754
+-99.524 30.24 2676
+-99.398 30.24 2667
+-99.272 30.24 2657
+-99.146 30.24 2645
+-99.02 30.24 2632
+-98.894 30.24 2618
+-98.768 30.24 2581
+-98.642 30.24 2549
+-98.516 30.24 2497
+-98.39 30.24 2477
+-98.264 30.24 2448
+-98.138 30.24 2324
+-98.012 30.24 2273
+-97.886 30.24 2253
+-97.76 30.24 2233
+-97.634 30.24 2227
+-97.508 30.24 2232
+-97.382 30.24 2277
+-97.256 30.24 2298
+-97.13 30.24 2305
+-97.004 30.24 2300
+-96.878 30.24 2215
+-96.752 30.24 2364
+-96.626 30.24 2358
+-96.5 30.24 2303
+-96.374 30.24 2284
+-96.248 30.24 2364
+-96.122 30.24 2358
+-95.996 30.24 2342
+-95.87 30.24 2390
+-95.744 30.24 2391
+-95.618 30.24 2392
+-95.492 30.24 2392
+-95.366 30.24 2377
+-95.24 30.24 2379
+-95.114 30.24 2390
+-94.988 30.24 2336
+-94.862 30.24 2345
+-94.736 30.24 2360
+-94.61 30.24 2375
+-94.484 30.24 2392
+-94.358 30.24 2368
+-94.232 30.24 2383
+-94.106 30.24 2401
+-93.98 30.24 2377
+-93.854 30.24 2306
+-93.728 30.24 2368
+-93.602 30.24 2384
+-93.476 30.24 2395
+-93.35 30.24 2409
+-93.224 30.24 2423
+-93.098 30.24 2429
+-92.972 30.24 2441
+-92.846 30.24 2452
+-92.72 30.24 2462
+-92.594 30.24 2471
+-92.468 30.24 2463
+-92.342 30.24 2470
+-92.216 30.24 2463
+-92.09 30.24 2487
+-91.964 30.24 2508
+-91.838 30.24 2531
+-91.712 30.24 2528
+-91.586 30.24 2534
+-91.46 30.24 2544
+-91.334 30.24 2679
+-91.208 30.24 2679
+-91.082 30.24 2679
+-90.956 30.24 2680
+-90.83 30.24 2681
+-90.704 30.24 2682
+-90.578 30.24 2684
+-90.452 30.24 2747
+-90.326 30.24 2781
+-90.2 30.24 2784
+-90.074 30.24 2788
+-89.948 30.24 2791
+-89.822 30.24 2795
+-89.696 30.24 2798
+-89.57 30.24 2800
+-89.444 30.24 2846
+-89.318 30.24 2841
+-89.192 30.24 2832
+-89.066 30.24 2818
+-88.94 30.24 2798
+-88.814 30.24 2807
+-88.688 30.24 2798
+-88.562 30.24 2778
+-88.436 30.24 2799
+-88.31 30.24 2894
+-88.184 30.24 3044
+-88.058 30.24 3170
+-87.932 30.24 3298
+-87.806 30.24 3348
+-87.68 30.24 3340
+-87.554 30.24 3282
+-87.428 30.24 3404
+-87.302 30.24 3576
+-87.176 30.24 3644
+-87.05 30.24 3761
+-86.924 30.24 3855
+-86.798 30.24 3968
+-86.672 30.24 4158
+-86.546 30.24 4315
+-86.42 30.24 4470
+-86.294 30.24 4594
+-86.168 30.24 4756
+-86.042 30.24 4900
+-85.916 30.24 5007
+-85.79 30.24 5055
+-85.664 30.24 5175
+-85.538 30.24 5285
+-85.412 30.24 5384
+-85.286 30.24 5475
+-85.16 30.24 5577
+-85.034 30.24 5719
+-84.908 30.24 5802
+-84.782 30.24 5890
+-84.656 30.24 6007
+-84.53 30.24 6042
+-84.404 30.24 6155
+-84.278 30.24 6255
+-84.152 30.24 6354
+-84.026 30.24 6433
+-83.9 30.24 6536
+-83.774 30.24 6602
+-83.648 30.24 6669
+-83.522 30.24 6760
+-83.396 30.24 6827
+-83.27 30.24 6862
+-83.144 30.24 6923
+-83.018 30.24 6995
+-82.892 30.24 7037
+-82.766 30.24 7037
+-82.64 30.24 7062
+-82.514 30.24 7082
+-82.388 30.24 7136
+-82.262 30.24 7128
+-82.136 30.24 7121
+-82.01 30.24 7131
+-81.884 30.24 7086
+-81.758 30.24 7065
+-81.632 30.24 7001
+-81.506 30.24 7003
+-81.38 30.24 6918
+-81.254 30.24 6862
+-81.128 30.24 6847
+-81.002 30.24 6828
+-80.876 30.24 6726
+-80.75 30.24 6705
+-80.624 30.24 6633
+-80.498 30.24 6525
+-80.372 30.24 6472
+-80.246 30.24 6316
+-80.12 30.24 6256
+-79.994 30.24 6062
+-79.868 30.24 5947
+-79.742 30.24 5890
+-79.616 30.24 5808
+-79.49 30.24 5721
+-79.364 30.24 5662
+-79.238 30.24 5611
+-79.112 30.24 5417
+-78.986 30.24 5256
+-78.86 30.24 5238
+-78.734 30.24 5200
+-78.608 30.24 5093
+-78.482 30.24 4902
+-78.356 30.24 4745
+-78.23 30.24 4646
+-78.104 30.24 4599
+-77.978 30.24 4474
+-77.852 30.24 4290
+-77.726 30.24 4118
+-77.6 30.24 4000
+-77.474 30.24 3895
+-77.348 30.24 3748
+-77.222 30.24 3847
+-77.096 30.24 3910
+-76.97 30.24 3894
+-76.844 30.24 3815
+-76.718 30.24 3590
+-76.592 30.24 3316
+-76.466 30.24 3013
+-76.34 30.24 2868
+-76.214 30.24 2933
+-76.088 30.24 3081
+-75.962 30.24 3216
+-75.836 30.24 3310
+-75.71 30.24 3338
+-75.584 30.24 3381
+-75.458 30.24 3410
+-75.332 30.24 3431
+-75.206 30.24 3419
+-75.08 30.24 3417
+-74.954 30.24 3426
+-74.828 30.24 3434
+-74.702 30.24 3434
+-74.576 30.24 3395
+-74.45 30.24 3383
+-74.324 30.24 3386
+-74.198 30.24 3389
+-74.072 30.24 3365
+-73.946 30.24 3368
+-73.82 30.24 3348
+-73.694 30.24 3351
+-73.568 30.24 3353
+-73.442 30.24 3225
+-73.316 30.24 3214
+-73.19 30.24 3216
+-73.064 30.24 3218
+-72.938 30.24 3220
+-72.812 30.24 3221
+-72.686 30.24 3223
+-72.56 30.24 3225
+-72.434 30.24 3226
+-72.308 30.24 3228
+-72.182 30.24 3229
+-72.056 30.24 3230
+-71.93 30.24 3231
+-71.804 30.24 3233
+-71.678 30.24 3234
+-71.552 30.24 3235
+-71.426 30.24 3221
+-71.3 30.24 3222
+-71.174 30.24 3224
+-71.048 30.24 3226
+-70.922 30.24 3227
+-70.796 30.24 3186
+-70.67 30.24 3186
+-70.544 30.24 3187
+-70.418 30.24 3188
+-70.292 30.24 3188
+-70.166 30.24 3189
+-70.04 30.24 3172
+-69.914 30.24 3173
+-69.788 30.24 3150
+-69.662 30.24 3134
+-69.536 30.24 3134
+-69.41 30.24 3135
+-69.284 30.24 3136
+-69.158 30.24 3136
+-69.032 30.24 3137
+-68.906 30.24 3137
+-68.78 30.24 3138
+-68.654 30.24 3138
+-68.528 30.24 3139
+-68.402 30.24 3139
+-68.276 30.24 3045
+-68.15 30.24 3045
+-68.024 30.24 3046
+-67.898 30.24 3047
+-67.772 30.24 3047
+-67.646 30.24 3048
+-67.52 30.24 3048
+-67.394 30.24 3049
+-67.268 30.24 3049
+-67.142 30.24 3050
+-67.016 30.24 3050
+-66.89 30.24 3051
+-66.764 30.24 3051
+-66.638 30.24 3052
+-66.512 30.24 3052
+-66.386 30.24 3052
+-66.26 30.24 3053
+-66.134 30.24 3053
+-66.008 30.24 3054
+-65.882 30.24 3054
+-65.756 30.24 3054
+-65.63 30.24 3055
+-65.504 30.24 3055
+-65.378 30.24 3056
+-65.252 30.24 3056
+-65.126 30.24 3056
+-128 30.188 2387
+-127.874 30.188 2422
+-127.748 30.188 2407
+-127.622 30.188 2392
+-127.496 30.188 2375
+-127.37 30.188 2358
+-127.244 30.188 2341
+-127.118 30.188 2322
+-126.992 30.188 2303
+-126.866 30.188 2300
+-126.74 30.188 2338
+-126.614 30.188 2317
+-126.488 30.188 2296
+-126.362 30.188 2275
+-126.236 30.188 2255
+-126.11 30.188 2236
+-125.984 30.188 2220
+-125.858 30.188 2242
+-125.732 30.188 2236
+-125.606 30.188 2234
+-125.48 30.188 2245
+-125.354 30.188 2273
+-125.228 30.188 2292
+-125.102 30.188 2348
+-124.976 30.188 2379
+-124.85 30.188 2417
+-124.724 30.188 2508
+-124.598 30.188 2582
+-124.472 30.188 2635
+-124.346 30.188 2697
+-124.22 30.188 2753
+-124.094 30.188 2809
+-123.968 30.188 2878
+-123.842 30.188 2931
+-123.716 30.188 2982
+-123.59 30.188 3025
+-123.464 30.188 3075
+-123.338 30.188 3120
+-123.212 30.188 3213
+-123.086 30.188 3230
+-122.96 30.188 3211
+-122.834 30.188 3153
+-122.708 30.188 3098
+-122.582 30.188 3050
+-122.456 30.188 3139
+-122.33 30.188 3204
+-122.204 30.188 3318
+-122.078 30.188 3489
+-121.952 30.188 3634
+-121.826 30.188 3743
+-121.7 30.188 3801
+-121.574 30.188 3892
+-121.448 30.188 4051
+-121.322 30.188 4232
+-121.196 30.188 4346
+-121.07 30.188 4418
+-120.944 30.188 4565
+-120.818 30.188 4633
+-120.692 30.188 4743
+-120.566 30.188 4942
+-120.44 30.188 4970
+-120.314 30.188 5085
+-120.188 30.188 5253
+-120.062 30.188 5353
+-119.936 30.188 5404
+-119.81 30.188 5477
+-119.684 30.188 5575
+-119.558 30.188 5650
+-119.432 30.188 5737
+-119.306 30.188 5875
+-119.18 30.188 5980
+-119.054 30.188 6057
+-118.928 30.188 6139
+-118.802 30.188 6220
+-118.676 30.188 6262
+-118.55 30.188 6337
+-118.424 30.188 6408
+-118.298 30.188 6503
+-118.172 30.188 6552
+-118.046 30.188 6605
+-117.92 30.188 6658
+-117.794 30.188 6680
+-117.668 30.188 6715
+-117.542 30.188 6745
+-117.416 30.188 6765
+-117.29 30.188 6752
+-117.164 30.188 6773
+-117.038 30.188 6766
+-116.912 30.188 6758
+-116.786 30.188 6764
+-116.66 30.188 6748
+-116.534 30.188 6707
+-116.408 30.188 6679
+-116.282 30.188 6687
+-116.156 30.188 6650
+-116.03 30.188 6595
+-115.904 30.188 6547
+-115.778 30.188 6468
+-115.652 30.188 6418
+-115.526 30.188 6375
+-115.4 30.188 6301
+-115.274 30.188 6246
+-115.148 30.188 6170
+-115.022 30.188 6053
+-114.896 30.188 5941
+-114.77 30.188 5858
+-114.644 30.188 5754
+-114.518 30.188 5676
+-114.392 30.188 5621
+-114.266 30.188 5537
+-114.14 30.188 5472
+-114.014 30.188 5459
+-113.888 30.188 5508
+-113.762 30.188 5559
+-113.636 30.188 5642
+-113.51 30.188 5757
+-113.384 30.188 5867
+-113.258 30.188 5982
+-113.132 30.188 6127
+-113.006 30.188 6230
+-112.88 30.188 6407
+-112.754 30.188 6527
+-112.628 30.188 6662
+-112.502 30.188 6723
+-112.376 30.188 6816
+-112.25 30.188 6954
+-112.124 30.188 7011
+-111.998 30.188 7127
+-111.872 30.188 7235
+-111.746 30.188 7365
+-111.62 30.188 7440
+-111.494 30.188 7505
+-111.368 30.188 7596
+-111.242 30.188 7671
+-111.116 30.188 7726
+-110.99 30.188 7818
+-110.864 30.188 7881
+-110.738 30.188 7887
+-110.612 30.188 7929
+-110.486 30.188 7941
+-110.36 30.188 7928
+-110.234 30.188 7905
+-110.108 30.188 7869
+-109.982 30.188 7838
+-109.856 30.188 7841
+-109.73 30.188 7778
+-109.604 30.188 7725
+-109.478 30.188 7620
+-109.352 30.188 7553
+-109.226 30.188 7473
+-109.1 30.188 7358
+-108.974 30.188 7281
+-108.848 30.188 7200
+-108.722 30.188 7032
+-108.596 30.188 6944
+-108.47 30.188 6913
+-108.344 30.188 6786
+-108.218 30.188 6731
+-108.092 30.188 6531
+-107.966 30.188 6358
+-107.84 30.188 6281
+-107.714 30.188 6167
+-107.588 30.188 6041
+-107.462 30.188 5886
+-107.336 30.188 5837
+-107.21 30.188 5696
+-107.084 30.188 5596
+-106.958 30.188 5453
+-106.832 30.188 5280
+-106.706 30.188 5257
+-106.58 30.188 5159
+-106.454 30.188 5028
+-106.328 30.188 4915
+-106.202 30.188 4817
+-106.076 30.188 4687
+-105.95 30.188 4450
+-105.824 30.188 4245
+-105.698 30.188 4366
+-105.572 30.188 4464
+-105.446 30.188 4442
+-105.32 30.188 4344
+-105.194 30.188 4211
+-105.068 30.188 3972
+-104.942 30.188 3872
+-104.816 30.188 3706
+-104.69 30.188 3595
+-104.564 30.188 3533
+-104.438 30.188 3439
+-104.312 30.188 3360
+-104.186 30.188 3268
+-104.06 30.188 3117
+-103.934 30.188 2955
+-103.808 30.188 2812
+-103.682 30.188 2665
+-103.556 30.188 2487
+-103.43 30.188 2330
+-103.304 30.188 2240
+-103.178 30.188 2235
+-103.052 30.188 2299
+-102.926 30.188 2390
+-102.8 30.188 2483
+-102.674 30.188 2571
+-102.548 30.188 2648
+-102.422 30.188 2713
+-102.296 30.188 2769
+-102.17 30.188 2816
+-102.044 30.188 2856
+-101.918 30.188 2891
+-101.792 30.188 2921
+-101.666 30.188 2947
+-101.54 30.188 2863
+-101.414 30.188 2872
+-101.288 30.188 2889
+-101.162 30.188 2905
+-101.036 30.188 2919
+-100.91 30.188 2911
+-100.784 30.188 2923
+-100.658 30.188 2934
+-100.532 30.188 2943
+-100.406 30.188 2953
+-100.28 30.188 2846
+-100.154 30.188 2845
+-100.028 30.188 2843
+-99.902 30.188 2839
+-99.776 30.188 2835
+-99.65 30.188 2830
+-99.524 30.188 2748
+-99.398 30.188 2669
+-99.272 30.188 2659
+-99.146 30.188 2648
+-99.02 30.188 2636
+-98.894 30.188 2623
+-98.768 30.188 2587
+-98.642 30.188 2555
+-98.516 30.188 2537
+-98.39 30.188 2485
+-98.264 30.188 2457
+-98.138 30.188 2333
+-98.012 30.188 2315
+-97.886 30.188 2265
+-97.76 30.188 2245
+-97.634 30.188 2240
+-97.508 30.188 2223
+-97.382 30.188 2292
+-97.256 30.188 2315
+-97.13 30.188 2324
+-97.004 30.188 2318
+-96.878 30.188 2233
+-96.752 30.188 2331
+-96.626 30.188 2330
+-96.5 30.188 2327
+-96.374 30.188 2307
+-96.248 30.188 2389
+-96.122 30.188 2372
+-95.996 30.188 2420
+-95.87 30.188 2421
+-95.744 30.188 2420
+-95.618 30.188 2418
+-95.492 30.188 2401
+-95.366 30.188 2401
+-95.24 30.188 2409
+-95.114 30.188 2352
+-94.988 30.188 2358
+-94.862 30.188 2371
+-94.736 30.188 2384
+-94.61 30.188 2399
+-94.484 30.188 2372
+-94.358 30.188 2385
+-94.232 30.188 2402
+-94.106 30.188 2376
+-93.98 30.188 2303
+-93.854 30.188 2365
+-93.728 30.188 2380
+-93.602 30.188 2390
+-93.476 30.188 2405
+-93.35 30.188 2418
+-93.224 30.188 2424
+-93.098 30.188 2436
+-92.972 30.188 2448
+-92.846 30.188 2458
+-92.72 30.188 2467
+-92.594 30.188 2459
+-92.468 30.188 2467
+-92.342 30.188 2460
+-92.216 30.188 2486
+-92.09 30.188 2507
+-91.964 30.188 2534
+-91.838 30.188 2531
+-91.712 30.188 2538
+-91.586 30.188 2550
+-91.46 30.188 2557
+-91.334 30.188 2562
+-91.208 30.188 2695
+-91.082 30.188 2696
+-90.956 30.188 2698
+-90.83 30.188 2699
+-90.704 30.188 2701
+-90.578 30.188 2798
+-90.452 30.188 2804
+-90.326 30.188 2807
+-90.2 30.188 2811
+-90.074 30.188 2815
+-89.948 30.188 2819
+-89.822 30.188 2823
+-89.696 30.188 2826
+-89.57 30.188 2859
+-89.444 30.188 2875
+-89.318 30.188 2871
+-89.192 30.188 2865
+-89.066 30.188 2856
+-88.94 30.188 2873
+-88.814 30.188 2896
+-88.688 30.188 2884
+-88.562 30.188 2885
+-88.436 30.188 2936
+-88.31 30.188 2993
+-88.184 30.188 3110
+-88.058 30.188 3207
+-87.932 30.188 3293
+-87.806 30.188 3368
+-87.68 30.188 3382
+-87.554 30.188 3372
+-87.428 30.188 3473
+-87.302 30.188 3606
+-87.176 30.188 3618
+-87.05 30.188 3727
+-86.924 30.188 3880
+-86.798 30.188 4028
+-86.672 30.188 4164
+-86.546 30.188 4368
+-86.42 30.188 4527
+-86.294 30.188 4731
+-86.168 30.188 4865
+-86.042 30.188 4973
+-85.916 30.188 5074
+-85.79 30.188 5155
+-85.664 30.188 5256
+-85.538 30.188 5338
+-85.412 30.188 5412
+-85.286 30.188 5521
+-85.16 30.188 5641
+-85.034 30.188 5739
+-84.908 30.188 5827
+-84.782 30.188 5923
+-84.656 30.188 6022
+-84.53 30.188 6110
+-84.404 30.188 6211
+-84.278 30.188 6303
+-84.152 30.188 6390
+-84.026 30.188 6488
+-83.9 30.188 6545
+-83.774 30.188 6636
+-83.648 30.188 6709
+-83.522 30.188 6797
+-83.396 30.188 6864
+-83.27 30.188 6940
+-83.144 30.188 6953
+-83.018 30.188 7019
+-82.892 30.188 7059
+-82.766 30.188 7088
+-82.64 30.188 7142
+-82.514 30.188 7163
+-82.388 30.188 7191
+-82.262 30.188 7193
+-82.136 30.188 7203
+-82.01 30.188 7197
+-81.884 30.188 7169
+-81.758 30.188 7116
+-81.632 30.188 7083
+-81.506 30.188 7023
+-81.38 30.188 6970
+-81.254 30.188 6924
+-81.128 30.188 6866
+-81.002 30.188 6838
+-80.876 30.188 6766
+-80.75 30.188 6690
+-80.624 30.188 6665
+-80.498 30.188 6607
+-80.372 30.188 6537
+-80.246 30.188 6425
+-80.12 30.188 6318
+-79.994 30.188 6130
+-79.868 30.188 5987
+-79.742 30.188 5914
+-79.616 30.188 5861
+-79.49 30.188 5778
+-79.364 30.188 5700
+-79.238 30.188 5635
+-79.112 30.188 5501
+-78.986 30.188 5365
+-78.86 30.188 5286
+-78.734 30.188 5229
+-78.608 30.188 5042
+-78.482 30.188 4861
+-78.356 30.188 4705
+-78.23 30.188 4614
+-78.104 30.188 4614
+-77.978 30.188 4494
+-77.852 30.188 4287
+-77.726 30.188 4090
+-77.6 30.188 3971
+-77.474 30.188 3873
+-77.348 30.188 3880
+-77.222 30.188 3902
+-77.096 30.188 3920
+-76.97 30.188 3908
+-76.844 30.188 3843
+-76.718 30.188 3703
+-76.592 30.188 3487
+-76.466 30.188 3242
+-76.34 30.188 3125
+-76.214 30.188 3144
+-76.088 30.188 3206
+-75.962 30.188 3292
+-75.836 30.188 3365
+-75.71 30.188 3419
+-75.584 30.188 3413
+-75.458 30.188 3437
+-75.332 30.188 3429
+-75.206 30.188 3428
+-75.08 30.188 3438
+-74.954 30.188 3446
+-74.828 30.188 3445
+-74.702 30.188 3405
+-74.576 30.188 3393
+-74.45 30.188 3395
+-74.324 30.188 3398
+-74.198 30.188 3373
+-74.072 30.188 3376
+-73.946 30.188 3355
+-73.82 30.188 3357
+-73.694 30.188 3359
+-73.568 30.188 3233
+-73.442 30.188 3261
+-73.316 30.188 3264
+-73.19 30.188 3266
+-73.064 30.188 3269
+-72.938 30.188 3271
+-72.812 30.188 3273
+-72.686 30.188 3275
+-72.56 30.188 3277
+-72.434 30.188 3278
+-72.308 30.188 3280
+-72.182 30.188 3282
+-72.056 30.188 3283
+-71.93 30.188 3285
+-71.804 30.188 3286
+-71.678 30.188 3288
+-71.552 30.188 3225
+-71.426 30.188 3227
+-71.3 30.188 3228
+-71.174 30.188 3230
+-71.048 30.188 3231
+-70.922 30.188 3190
+-70.796 30.188 3190
+-70.67 30.188 3191
+-70.544 30.188 3191
+-70.418 30.188 3192
+-70.292 30.188 3192
+-70.166 30.188 3174
+-70.04 30.188 3175
+-69.914 30.188 3152
+-69.788 30.188 3136
+-69.662 30.188 3136
+-69.536 30.188 3137
+-69.41 30.188 3137
+-69.284 30.188 3138
+-69.158 30.188 3138
+-69.032 30.188 3139
+-68.906 30.188 3139
+-68.78 30.188 3139
+-68.654 30.188 3140
+-68.528 30.188 3140
+-68.402 30.188 3046
+-68.276 30.188 3046
+-68.15 30.188 3047
+-68.024 30.188 3048
+-67.898 30.188 3048
+-67.772 30.188 3049
+-67.646 30.188 3049
+-67.52 30.188 3050
+-67.394 30.188 3050
+-67.268 30.188 3051
+-67.142 30.188 3051
+-67.016 30.188 3052
+-66.89 30.188 3052
+-66.764 30.188 3052
+-66.638 30.188 3053
+-66.512 30.188 3053
+-66.386 30.188 3054
+-66.26 30.188 3054
+-66.134 30.188 3054
+-66.008 30.188 3055
+-65.882 30.188 3055
+-65.756 30.188 3055
+-65.63 30.188 3056
+-65.504 30.188 3056
+-65.378 30.188 3056
+-65.252 30.188 3057
+-65.126 30.188 3057
+-128 30.136 2414
+-127.874 30.136 2398
+-127.748 30.136 2382
+-127.622 30.136 2364
+-127.496 30.136 2346
+-127.37 30.136 2327
+-127.244 30.136 2306
+-127.118 30.136 2284
+-126.992 30.136 2278
+-126.866 30.136 2312
+-126.74 30.136 2287
+-126.614 30.136 2261
+-126.488 30.136 2235
+-126.362 30.136 2208
+-126.236 30.136 2182
+-126.11 30.136 2158
+-125.984 30.136 2173
+-125.858 30.136 2157
+-125.732 30.136 2145
+-125.606 30.136 2145
+-125.48 30.136 2164
+-125.354 30.136 2172
+-125.228 30.136 2217
+-125.102 30.136 2242
+-124.976 30.136 2275
+-124.85 30.136 2362
+-124.724 30.136 2433
+-124.598 30.136 2487
+-124.472 30.136 2552
+-124.346 30.136 2613
+-124.22 30.136 2676
+-124.094 30.136 2754
+-123.968 30.136 2820
+-123.842 30.136 2881
+-123.716 30.136 2938
+-123.59 30.136 2989
+-123.464 30.136 3037
+-123.338 30.136 3109
+-123.212 30.136 3214
+-123.086 30.136 3232
+-122.96 30.136 3212
+-122.834 30.136 3195
+-122.708 30.136 3176
+-122.582 30.136 3186
+-122.456 30.136 3180
+-122.33 30.136 3134
+-122.204 30.136 3250
+-122.078 30.136 3449
+-121.952 30.136 3615
+-121.826 30.136 3761
+-121.7 30.136 3788
+-121.574 30.136 3848
+-121.448 30.136 4014
+-121.322 30.136 4216
+-121.196 30.136 4317
+-121.07 30.136 4298
+-120.944 30.136 4471
+-120.818 30.136 4647
+-120.692 30.136 4764
+-120.566 30.136 4944
+-120.44 30.136 5014
+-120.314 30.136 5138
+-120.188 30.136 5243
+-120.062 30.136 5304
+-119.936 30.136 5327
+-119.81 30.136 5444
+-119.684 30.136 5555
+-119.558 30.136 5607
+-119.432 30.136 5730
+-119.306 30.136 5808
+-119.18 30.136 5908
+-119.054 30.136 5996
+-118.928 30.136 6079
+-118.802 30.136 6148
+-118.676 30.136 6250
+-118.55 30.136 6295
+-118.424 30.136 6326
+-118.298 30.136 6415
+-118.172 30.136 6450
+-118.046 30.136 6530
+-117.92 30.136 6614
+-117.794 30.136 6617
+-117.668 30.136 6636
+-117.542 30.136 6679
+-117.416 30.136 6693
+-117.29 30.136 6726
+-117.164 30.136 6753
+-117.038 30.136 6760
+-116.912 30.136 6736
+-116.786 30.136 6711
+-116.66 30.136 6692
+-116.534 30.136 6672
+-116.408 30.136 6649
+-116.282 30.136 6609
+-116.156 30.136 6604
+-116.03 30.136 6556
+-115.904 30.136 6482
+-115.778 30.136 6405
+-115.652 30.136 6322
+-115.526 30.136 6311
+-115.4 30.136 6228
+-115.274 30.136 6189
+-115.148 30.136 6113
+-115.022 30.136 6002
+-114.896 30.136 5897
+-114.77 30.136 5791
+-114.644 30.136 5722
+-114.518 30.136 5664
+-114.392 30.136 5562
+-114.266 30.136 5493
+-114.14 30.136 5418
+-114.014 30.136 5382
+-113.888 30.136 5446
+-113.762 30.136 5520
+-113.636 30.136 5649
+-113.51 30.136 5706
+-113.384 30.136 5851
+-113.258 30.136 6013
+-113.132 30.136 6079
+-113.006 30.136 6257
+-112.88 30.136 6356
+-112.754 30.136 6530
+-112.628 30.136 6651
+-112.502 30.136 6698
+-112.376 30.136 6773
+-112.25 30.136 6894
+-112.124 30.136 7040
+-111.998 30.136 7064
+-111.872 30.136 7244
+-111.746 30.136 7302
+-111.62 30.136 7413
+-111.494 30.136 7493
+-111.368 30.136 7590
+-111.242 30.136 7674
+-111.116 30.136 7679
+-110.99 30.136 7728
+-110.864 30.136 7777
+-110.738 30.136 7842
+-110.612 30.136 7854
+-110.486 30.136 7880
+-110.36 30.136 7868
+-110.234 30.136 7850
+-110.108 30.136 7850
+-109.982 30.136 7783
+-109.856 30.136 7820
+-109.73 30.136 7735
+-109.604 30.136 7668
+-109.478 30.136 7583
+-109.352 30.136 7538
+-109.226 30.136 7437
+-109.1 30.136 7327
+-108.974 30.136 7233
+-108.848 30.136 7114
+-108.722 30.136 7098
+-108.596 30.136 6974
+-108.47 30.136 6843
+-108.344 30.136 6764
+-108.218 30.136 6671
+-108.092 30.136 6529
+-107.966 30.136 6358
+-107.84 30.136 6220
+-107.714 30.136 6119
+-107.588 30.136 6019
+-107.462 30.136 5929
+-107.336 30.136 5806
+-107.21 30.136 5629
+-107.084 30.136 5591
+-106.958 30.136 5464
+-106.832 30.136 5311
+-106.706 30.136 5223
+-106.58 30.136 5115
+-106.454 30.136 4971
+-106.328 30.136 4918
+-106.202 30.136 4819
+-106.076 30.136 4675
+-105.95 30.136 4513
+-105.824 30.136 4399
+-105.698 30.136 4395
+-105.572 30.136 4419
+-105.446 30.136 4368
+-105.32 30.136 4306
+-105.194 30.136 4184
+-105.068 30.136 3948
+-104.942 30.136 3793
+-104.816 30.136 3612
+-104.69 30.136 3530
+-104.564 30.136 3497
+-104.438 30.136 3455
+-104.312 30.136 3362
+-104.186 30.136 3276
+-104.06 30.136 3164
+-103.934 30.136 2986
+-103.808 30.136 2762
+-103.682 30.136 2536
+-103.556 30.136 2299
+-103.43 30.136 2083
+-103.304 30.136 1992
+-103.178 30.136 2019
+-103.052 30.136 2124
+-102.926 30.136 2263
+-102.8 30.136 2397
+-102.674 30.136 2512
+-102.548 30.136 2604
+-102.422 30.136 2682
+-102.296 30.136 2747
+-102.17 30.136 2800
+-102.044 30.136 2844
+-101.918 30.136 2882
+-101.792 30.136 2914
+-101.666 30.136 2942
+-101.54 30.136 2966
+-101.414 30.136 2877
+-101.288 30.136 2884
+-101.162 30.136 2900
+-101.036 30.136 2915
+-100.91 30.136 2928
+-100.784 30.136 2920
+-100.658 30.136 2931
+-100.532 30.136 2941
+-100.406 30.136 2950
+-100.28 30.136 2845
+-100.154 30.136 2845
+-100.028 30.136 2843
+-99.902 30.136 2840
+-99.776 30.136 2836
+-99.65 30.136 2831
+-99.524 30.136 2715
+-99.398 30.136 2707
+-99.272 30.136 2662
+-99.146 30.136 2651
+-99.02 30.136 2640
+-98.894 30.136 2627
+-98.768 30.136 2592
+-98.642 30.136 2560
+-98.516 30.136 2544
+-98.39 30.136 2526
+-98.264 30.136 2466
+-98.138 30.136 2342
+-98.012 30.136 2325
+-97.886 30.136 2306
+-97.76 30.136 2280
+-97.634 30.136 2253
+-97.508 30.136 2237
+-97.382 30.136 2306
+-97.256 30.136 2329
+-97.13 30.136 2340
+-97.004 30.136 2334
+-96.878 30.136 2250
+-96.752 30.136 2351
+-96.626 30.136 2351
+-96.5 30.136 2331
+-96.374 30.136 2330
+-96.248 30.136 2400
+-96.122 30.136 2449
+-95.996 30.136 2448
+-95.87 30.136 2447
+-95.744 30.136 2443
+-95.618 30.136 2423
+-95.492 30.136 2422
+-95.366 30.136 2429
+-95.24 30.136 2368
+-95.114 30.136 2372
+-94.988 30.136 2383
+-94.862 30.136 2394
+-94.736 30.136 2407
+-94.61 30.136 2378
+-94.484 30.136 2389
+-94.358 30.136 2404
+-94.232 30.136 2376
+-94.106 30.136 2302
+-93.98 30.136 2363
+-93.854 30.136 2377
+-93.728 30.136 2387
+-93.602 30.136 2401
+-93.476 30.136 2414
+-93.35 30.136 2420
+-93.224 30.136 2432
+-93.098 30.136 2443
+-92.972 30.136 2454
+-92.846 30.136 2463
+-92.72 30.136 2455
+-92.594 30.136 2463
+-92.468 30.136 2458
+-92.342 30.136 2492
+-92.216 30.136 2506
+-92.09 30.136 2536
+-91.964 30.136 2533
+-91.838 30.136 2541
+-91.712 30.136 2556
+-91.586 30.136 2563
+-91.46 30.136 2569
+-91.334 30.136 2710
+-91.208 30.136 2711
+-91.082 30.136 2713
+-90.956 30.136 2715
+-90.83 30.136 2717
+-90.704 30.136 2785
+-90.578 30.136 2825
+-90.452 30.136 2829
+-90.326 30.136 2833
+-90.2 30.136 2837
+-90.074 30.136 2841
+-89.948 30.136 2845
+-89.822 30.136 2849
+-89.696 30.136 2884
+-89.57 30.136 2903
+-89.444 30.136 2902
+-89.318 30.136 2899
+-89.192 30.136 2895
+-89.066 30.136 2918
+-88.94 30.136 2950
+-88.814 30.136 2938
+-88.688 30.136 2931
+-88.562 30.136 2958
+-88.436 30.136 2976
+-88.31 30.136 3020
+-88.184 30.136 3117
+-88.058 30.136 3211
+-87.932 30.136 3331
+-87.806 30.136 3397
+-87.68 30.136 3451
+-87.554 30.136 3485
+-87.428 30.136 3563
+-87.302 30.136 3625
+-87.176 30.136 3665
+-87.05 30.136 3762
+-86.924 30.136 3920
+-86.798 30.136 4074
+-86.672 30.136 4231
+-86.546 30.136 4370
+-86.42 30.136 4635
+-86.294 30.136 4816
+-86.168 30.136 4946
+-86.042 30.136 5032
+-85.916 30.136 5138
+-85.79 30.136 5183
+-85.664 30.136 5276
+-85.538 30.136 5292
+-85.412 30.136 5434
+-85.286 30.136 5581
+-85.16 30.136 5585
+-85.034 30.136 5733
+-84.908 30.136 5842
+-84.782 30.136 5943
+-84.656 30.136 6002
+-84.53 30.136 6189
+-84.404 30.136 6234
+-84.278 30.136 6369
+-84.152 30.136 6484
+-84.026 30.136 6519
+-83.9 30.136 6579
+-83.774 30.136 6710
+-83.648 30.136 6766
+-83.522 30.136 6843
+-83.396 30.136 6884
+-83.27 30.136 6965
+-83.144 30.136 7011
+-83.018 30.136 7083
+-82.892 30.136 7126
+-82.766 30.136 7152
+-82.64 30.136 7169
+-82.514 30.136 7196
+-82.388 30.136 7213
+-82.262 30.136 7227
+-82.136 30.136 7213
+-82.01 30.136 7258
+-81.884 30.136 7258
+-81.758 30.136 7235
+-81.632 30.136 7211
+-81.506 30.136 7156
+-81.38 30.136 7083
+-81.254 30.136 7022
+-81.128 30.136 6949
+-81.002 30.136 6926
+-80.876 30.136 6831
+-80.75 30.136 6801
+-80.624 30.136 6654
+-80.498 30.136 6667
+-80.372 30.136 6587
+-80.246 30.136 6508
+-80.12 30.136 6367
+-79.994 30.136 6224
+-79.868 30.136 6078
+-79.742 30.136 5955
+-79.616 30.136 5887
+-79.49 30.136 5840
+-79.364 30.136 5685
+-79.238 30.136 5696
+-79.112 30.136 5584
+-78.986 30.136 5473
+-78.86 30.136 5307
+-78.734 30.136 5204
+-78.608 30.136 5042
+-78.482 30.136 4877
+-78.356 30.136 4754
+-78.23 30.136 4697
+-78.104 30.136 4651
+-77.978 30.136 4494
+-77.852 30.136 4300
+-77.726 30.136 4178
+-77.6 30.136 4061
+-77.474 30.136 3980
+-77.348 30.136 3975
+-77.222 30.136 3960
+-77.096 30.136 3961
+-76.97 30.136 3941
+-76.844 30.136 3878
+-76.718 30.136 3756
+-76.592 30.136 3616
+-76.466 30.136 3473
+-76.34 30.136 3396
+-76.214 30.136 3343
+-76.088 30.136 3375
+-75.962 30.136 3387
+-75.836 30.136 3430
+-75.71 30.136 3467
+-75.584 30.136 3475
+-75.458 30.136 3466
+-75.332 30.136 3440
+-75.206 30.136 3451
+-75.08 30.136 3458
+-74.954 30.136 3458
+-74.828 30.136 3417
+-74.702 30.136 3404
+-74.576 30.136 3406
+-74.45 30.136 3408
+-74.324 30.136 3382
+-74.198 30.136 3384
+-74.072 30.136 3363
+-73.946 30.136 3365
+-73.82 30.136 3366
+-73.694 30.136 3367
+-73.568 30.136 3270
+-73.442 30.136 3272
+-73.316 30.136 3274
+-73.19 30.136 3275
+-73.064 30.136 3277
+-72.938 30.136 3279
+-72.812 30.136 3281
+-72.686 30.136 3282
+-72.56 30.136 3284
+-72.434 30.136 3285
+-72.308 30.136 3287
+-72.182 30.136 3288
+-72.056 30.136 3289
+-71.93 30.136 3290
+-71.804 30.136 3292
+-71.678 30.136 3230
+-71.552 30.136 3232
+-71.426 30.136 3233
+-71.3 30.136 3234
+-71.174 30.136 3235
+-71.048 30.136 3194
+-70.922 30.136 3194
+-70.796 30.136 3194
+-70.67 30.136 3195
+-70.544 30.136 3195
+-70.418 30.136 3196
+-70.292 30.136 3176
+-70.166 30.136 3177
+-70.04 30.136 3154
+-69.914 30.136 3138
+-69.788 30.136 3138
+-69.662 30.136 3138
+-69.536 30.136 3139
+-69.41 30.136 3139
+-69.284 30.136 3140
+-69.158 30.136 3140
+-69.032 30.136 3141
+-68.906 30.136 3141
+-68.78 30.136 3141
+-68.654 30.136 3142
+-68.528 30.136 3047
+-68.402 30.136 3048
+-68.276 30.136 3048
+-68.15 30.136 3049
+-68.024 30.136 3049
+-67.898 30.136 3050
+-67.772 30.136 3050
+-67.646 30.136 3051
+-67.52 30.136 3051
+-67.394 30.136 3052
+-67.268 30.136 3052
+-67.142 30.136 3052
+-67.016 30.136 3053
+-66.89 30.136 3053
+-66.764 30.136 3054
+-66.638 30.136 3054
+-66.512 30.136 3054
+-66.386 30.136 3055
+-66.26 30.136 3055
+-66.134 30.136 3055
+-66.008 30.136 3056
+-65.882 30.136 3056
+-65.756 30.136 3056
+-65.63 30.136 3057
+-65.504 30.136 3057
+-65.378 30.136 3057
+-65.252 30.136 3058
+-65.126 30.136 3058
+-128 30.084 2393
+-127.874 30.084 2375
+-127.748 30.084 2357
+-127.622 30.084 2337
+-127.496 30.084 2317
+-127.37 30.084 2295
+-127.244 30.084 2271
+-127.118 30.084 2263
+-126.992 30.084 2293
+-126.866 30.084 2265
+-126.74 30.084 2235
+-126.614 30.084 2204
+-126.488 30.084 2172
+-126.362 30.084 2139
+-126.236 30.084 2106
+-126.11 30.084 2115
+-125.984 30.084 2088
+-125.858 30.084 2064
+-125.732 30.084 2050
+-125.606 30.084 2057
+-125.48 30.084 2052
+-125.354 30.084 2082
+-125.228 30.084 2095
+-125.102 30.084 2119
+-124.976 30.084 2199
+-124.85 30.084 2264
+-124.724 30.084 2317
+-124.598 30.084 2382
+-124.472 30.084 2447
+-124.346 30.084 2515
+-124.22 30.084 2599
+-124.094 30.084 2677
+-123.968 30.084 2750
+-123.842 30.084 2820
+-123.716 30.084 2886
+-123.59 30.084 2954
+-123.464 30.084 3044
+-123.338 30.084 3085
+-123.212 30.084 3117
+-123.086 30.084 3210
+-122.96 30.084 3221
+-122.834 30.084 3234
+-122.708 30.084 3225
+-122.582 30.084 3221
+-122.456 30.084 3233
+-122.33 30.084 3225
+-122.204 30.084 3319
+-122.078 30.084 3475
+-121.952 30.084 3612
+-121.826 30.084 3721
+-121.7 30.084 3780
+-121.574 30.084 3860
+-121.448 30.084 3990
+-121.322 30.084 4148
+-121.196 30.084 4286
+-121.07 30.084 4351
+-120.944 30.084 4469
+-120.818 30.084 4620
+-120.692 30.084 4780
+-120.566 30.084 4906
+-120.44 30.084 5040
+-120.314 30.084 5144
+-120.188 30.084 5234
+-120.062 30.084 5182
+-119.936 30.084 5342
+-119.81 30.084 5411
+-119.684 30.084 5486
+-119.558 30.084 5560
+-119.432 30.084 5686
+-119.306 30.084 5781
+-119.18 30.084 5892
+-119.054 30.084 5963
+-118.928 30.084 6051
+-118.802 30.084 6132
+-118.676 30.084 6193
+-118.55 30.084 6257
+-118.424 30.084 6325
+-118.298 30.084 6372
+-118.172 30.084 6434
+-118.046 30.084 6456
+-117.92 30.084 6531
+-117.794 30.084 6563
+-117.668 30.084 6589
+-117.542 30.084 6633
+-117.416 30.084 6649
+-117.29 30.084 6675
+-117.164 30.084 6686
+-117.038 30.084 6689
+-116.912 30.084 6678
+-116.786 30.084 6684
+-116.66 30.084 6656
+-116.534 30.084 6623
+-116.408 30.084 6605
+-116.282 30.084 6586
+-116.156 30.084 6532
+-116.03 30.084 6473
+-115.904 30.084 6453
+-115.778 30.084 6390
+-115.652 30.084 6315
+-115.526 30.084 6281
+-115.4 30.084 6207
+-115.274 30.084 6128
+-115.148 30.084 6051
+-115.022 30.084 5944
+-114.896 30.084 5833
+-114.77 30.084 5747
+-114.644 30.084 5688
+-114.518 30.084 5601
+-114.392 30.084 5521
+-114.266 30.084 5439
+-114.14 30.084 5367
+-114.014 30.084 5234
+-113.888 30.084 5388
+-113.762 30.084 5436
+-113.636 30.084 5594
+-113.51 30.084 5662
+-113.384 30.084 5812
+-113.258 30.084 5923
+-113.132 30.084 6034
+-113.006 30.084 6164
+-112.88 30.084 6311
+-112.754 30.084 6470
+-112.628 30.084 6596
+-112.502 30.084 6637
+-112.376 30.084 6762
+-112.25 30.084 6875
+-112.124 30.084 6979
+-111.998 30.084 7097
+-111.872 30.084 7199
+-111.746 30.084 7257
+-111.62 30.084 7339
+-111.494 30.084 7479
+-111.368 30.084 7507
+-111.242 30.084 7578
+-111.116 30.084 7613
+-110.99 30.084 7710
+-110.864 30.084 7748
+-110.738 30.084 7769
+-110.612 30.084 7797
+-110.486 30.084 7819
+-110.36 30.084 7818
+-110.234 30.084 7811
+-110.108 30.084 7771
+-109.982 30.084 7755
+-109.856 30.084 7718
+-109.73 30.084 7669
+-109.604 30.084 7601
+-109.478 30.084 7527
+-109.352 30.084 7488
+-109.226 30.084 7387
+-109.1 30.084 7283
+-108.974 30.084 7221
+-108.848 30.084 7130
+-108.722 30.084 7029
+-108.596 30.084 6886
+-108.47 30.084 6780
+-108.344 30.084 6692
+-108.218 30.084 6628
+-108.092 30.084 6510
+-107.966 30.084 6393
+-107.84 30.084 6228
+-107.714 30.084 6096
+-107.588 30.084 5978
+-107.462 30.084 5923
+-107.336 30.084 5756
+-107.21 30.084 5691
+-107.084 30.084 5562
+-106.958 30.084 5482
+-106.832 30.084 5303
+-106.706 30.084 5174
+-106.58 30.084 5019
+-106.454 30.084 4904
+-106.328 30.084 4907
+-106.202 30.084 4804
+-106.076 30.084 4663
+-105.95 30.084 4531
+-105.824 30.084 4434
+-105.698 30.084 4393
+-105.572 30.084 4372
+-105.446 30.084 4316
+-105.32 30.084 4216
+-105.194 30.084 4082
+-105.068 30.084 3856
+-104.942 30.084 3642
+-104.816 30.084 3488
+-104.69 30.084 3447
+-104.564 30.084 3435
+-104.438 30.084 3423
+-104.312 30.084 3379
+-104.186 30.084 3272
+-104.06 30.084 3157
+-103.934 30.084 2958
+-103.808 30.084 2719
+-103.682 30.084 2421
+-103.556 30.084 2119
+-103.43 30.084 1863
+-103.304 30.084 1758
+-103.178 30.084 1829
+-103.052 30.084 1990
+-102.926 30.084 2165
+-102.8 30.084 2330
+-102.674 30.084 2466
+-102.548 30.084 2573
+-102.422 30.084 2661
+-102.296 30.084 2731
+-102.17 30.084 2761
+-102.044 30.084 2806
+-101.918 30.084 2844
+-101.792 30.084 2876
+-101.666 30.084 2903
+-101.54 30.084 2927
+-101.414 30.084 2947
+-101.288 30.084 2892
+-101.162 30.084 2897
+-101.036 30.084 2912
+-100.91 30.084 2925
+-100.784 30.084 2938
+-100.658 30.084 2929
+-100.532 30.084 2939
+-100.406 30.084 2948
+-100.28 30.084 2845
+-100.154 30.084 2845
+-100.028 30.084 2844
+-99.902 30.084 2841
+-99.776 30.084 2837
+-99.65 30.084 2833
+-99.524 30.084 2716
+-99.398 30.084 2709
+-99.272 30.084 2700
+-99.146 30.084 2654
+-99.02 30.084 2643
+-98.894 30.084 2631
+-98.768 30.084 2598
+-98.642 30.084 2566
+-98.516 30.084 2550
+-98.39 30.084 2534
+-98.264 30.084 2504
+-98.138 30.084 2384
+-98.012 30.084 2334
+-97.886 30.084 2317
+-97.76 30.084 2292
+-97.634 30.084 2266
+-97.508 30.084 2251
+-97.382 30.084 2319
+-97.256 30.084 2304
+-97.13 30.084 2353
+-97.004 30.084 2270
+-96.878 30.084 2267
+-96.752 30.084 2216
+-96.626 30.084 2300
+-96.5 30.084 2351
+-96.374 30.084 2335
+-96.248 30.084 2476
+-96.122 30.084 2474
+-95.996 30.084 2472
+-95.87 30.084 2467
+-95.744 30.084 2445
+-95.618 30.084 2443
+-95.492 30.084 2448
+-95.366 30.084 2384
+-95.24 30.084 2387
+-95.114 30.084 2396
+-94.988 30.084 2405
+-94.862 30.084 2416
+-94.736 30.084 2384
+-94.61 30.084 2395
+-94.484 30.084 2408
+-94.358 30.084 2378
+-94.232 30.084 2303
+-94.106 30.084 2363
+-93.98 30.084 2376
+-93.854 30.084 2385
+-93.728 30.084 2398
+-93.602 30.084 2411
+-93.476 30.084 2416
+-93.35 30.084 2428
+-93.224 30.084 2439
+-93.098 30.084 2450
+-92.972 30.084 2460
+-92.846 30.084 2451
+-92.72 30.084 2460
+-92.594 30.084 2455
+-92.468 30.084 2491
+-92.342 30.084 2507
+-92.216 30.084 2537
+-92.09 30.084 2535
+-91.964 30.084 2543
+-91.838 30.084 2561
+-91.712 30.084 2569
+-91.586 30.084 2576
+-91.46 30.084 2723
+-91.334 30.084 2725
+-91.208 30.084 2726
+-91.082 30.084 2729
+-90.956 30.084 2731
+-90.83 30.084 2801
+-90.704 30.084 2844
+-90.578 30.084 2847
+-90.452 30.084 2851
+-90.326 30.084 2856
+-90.2 30.084 2860
+-90.074 30.084 2865
+-89.948 30.084 2870
+-89.822 30.084 2905
+-89.696 30.084 2927
+-89.57 30.084 2927
+-89.444 30.084 2927
+-89.318 30.084 2924
+-89.192 30.084 2951
+-89.066 30.084 2988
+-88.94 30.084 2974
+-88.814 30.084 2958
+-88.688 30.084 2964
+-88.562 30.084 2945
+-88.436 30.084 2940
+-88.31 30.084 2992
+-88.184 30.084 3073
+-88.058 30.084 3214
+-87.932 30.084 3321
+-87.806 30.084 3409
+-87.68 30.084 3495
+-87.554 30.084 3546
+-87.428 30.084 3641
+-87.302 30.084 3684
+-87.176 30.084 3725
+-87.05 30.084 3840
+-86.924 30.084 3999
+-86.798 30.084 4145
+-86.672 30.084 4272
+-86.546 30.084 4438
+-86.42 30.084 4708
+-86.294 30.084 4879
+-86.168 30.084 5010
+-86.042 30.084 5114
+-85.916 30.084 5150
+-85.79 30.084 5090
+-85.664 30.084 5253
+-85.538 30.084 5371
+-85.412 30.084 5509
+-85.286 30.084 5641
+-85.16 30.084 5714
+-85.034 30.084 5724
+-84.908 30.084 5844
+-84.782 30.084 5930
+-84.656 30.084 6071
+-84.53 30.084 6229
+-84.404 30.084 6247
+-84.278 30.084 6370
+-84.152 30.084 6470
+-84.026 30.084 6572
+-83.9 30.084 6647
+-83.774 30.084 6721
+-83.648 30.084 6823
+-83.522 30.084 6876
+-83.396 30.084 6925
+-83.27 30.084 7001
+-83.144 30.084 7088
+-83.018 30.084 7146
+-82.892 30.084 7211
+-82.766 30.084 7228
+-82.64 30.084 7250
+-82.514 30.084 7266
+-82.388 30.084 7271
+-82.262 30.084 7305
+-82.136 30.084 7307
+-82.01 30.084 7298
+-81.884 30.084 7267
+-81.758 30.084 7282
+-81.632 30.084 7211
+-81.506 30.084 7229
+-81.38 30.084 7171
+-81.254 30.084 7105
+-81.128 30.084 7026
+-81.002 30.084 6950
+-80.876 30.084 6899
+-80.75 30.084 6804
+-80.624 30.084 6744
+-80.498 30.084 6707
+-80.372 30.084 6626
+-80.246 30.084 6547
+-80.12 30.084 6420
+-79.994 30.084 6300
+-79.868 30.084 6180
+-79.742 30.084 6028
+-79.616 30.084 5972
+-79.49 30.084 5899
+-79.364 30.084 5836
+-79.238 30.084 5778
+-79.112 30.084 5692
+-78.986 30.084 5595
+-78.86 30.084 5382
+-78.734 30.084 5223
+-78.608 30.084 5073
+-78.482 30.084 4934
+-78.356 30.084 4843
+-78.23 30.084 4762
+-78.104 30.084 4698
+-77.978 30.084 4514
+-77.852 30.084 4310
+-77.726 30.084 4201
+-77.6 30.084 4185
+-77.474 30.084 4110
+-77.348 30.084 4061
+-77.222 30.084 4045
+-77.096 30.084 4034
+-76.97 30.084 3963
+-76.844 30.084 3906
+-76.718 30.084 3795
+-76.592 30.084 3697
+-76.466 30.084 3622
+-76.34 30.084 3567
+-76.214 30.084 3544
+-76.088 30.084 3495
+-75.962 30.084 3512
+-75.836 30.084 3529
+-75.71 30.084 3493
+-75.584 30.084 3510
+-75.458 30.084 3509
+-75.332 30.084 3515
+-75.206 30.084 3522
+-75.08 30.084 3442
+-74.954 30.084 3430
+-74.828 30.084 3415
+-74.702 30.084 3417
+-74.576 30.084 3418
+-74.45 30.084 3392
+-74.324 30.084 3394
+-74.198 30.084 3372
+-74.072 30.084 3372
+-73.946 30.084 3373
+-73.82 30.084 3374
+-73.694 30.084 3375
+-73.568 30.084 3375
+-73.442 30.084 3281
+-73.316 30.084 3283
+-73.19 30.084 3284
+-73.064 30.084 3286
+-72.938 30.084 3287
+-72.812 30.084 3288
+-72.686 30.084 3289
+-72.56 30.084 3291
+-72.434 30.084 3292
+-72.308 30.084 3293
+-72.182 30.084 3294
+-72.056 30.084 3295
+-71.93 30.084 3296
+-71.804 30.084 3236
+-71.678 30.084 3237
+-71.552 30.084 3238
+-71.426 30.084 3239
+-71.3 30.084 3240
+-71.174 30.084 3198
+-71.048 30.084 3198
+-70.922 30.084 3199
+-70.796 30.084 3199
+-70.67 30.084 3199
+-70.544 30.084 3199
+-70.418 30.084 3179
+-70.292 30.084 3179
+-70.166 30.084 3156
+-70.04 30.084 3140
+-69.914 30.084 3140
+-69.788 30.084 3140
+-69.662 30.084 3141
+-69.536 30.084 3141
+-69.41 30.084 3141
+-69.284 30.084 3142
+-69.158 30.084 3142
+-69.032 30.084 3142
+-68.906 30.084 3143
+-68.78 30.084 3143
+-68.654 30.084 3048
+-68.528 30.084 3049
+-68.402 30.084 3049
+-68.276 30.084 3050
+-68.15 30.084 3050
+-68.024 30.084 3051
+-67.898 30.084 3051
+-67.772 30.084 3052
+-67.646 30.084 3052
+-67.52 30.084 3052
+-67.394 30.084 3053
+-67.268 30.084 3053
+-67.142 30.084 3054
+-67.016 30.084 3054
+-66.89 30.084 3054
+-66.764 30.084 3055
+-66.638 30.084 3055
+-66.512 30.084 3056
+-66.386 30.084 3056
+-66.26 30.084 3056
+-66.134 30.084 3056
+-66.008 30.084 3057
+-65.882 30.084 3057
+-65.756 30.084 3057
+-65.63 30.084 3058
+-65.504 30.084 3058
+-65.378 30.084 3058
+-65.252 30.084 3059
+-65.126 30.084 3059
+-128 30.032 2371
+-127.874 30.032 2352
+-127.748 30.032 2332
+-127.622 30.032 2311
+-127.496 30.032 2287
+-127.37 30.032 2263
+-127.244 30.032 2253
+-127.118 30.032 2281
+-126.992 30.032 2250
+-126.866 30.032 2217
+-126.74 30.032 2182
+-126.614 30.032 2145
+-126.488 30.032 2107
+-126.362 30.032 2067
+-126.236 30.032 2069
+-126.11 30.032 2032
+-125.984 30.032 1996
+-125.858 30.032 1969
+-125.732 30.032 1961
+-125.606 30.032 1939
+-125.48 30.032 1950
+-125.354 30.032 1946
+-125.228 30.032 1956
+-125.102 30.032 2022
+-124.976 30.032 2077
+-124.85 30.032 2125
+-124.724 30.032 2189
+-124.598 30.032 2254
+-124.472 30.032 2325
+-124.346 30.032 2414
+-124.22 30.032 2500
+-124.094 30.032 2582
+-123.968 30.032 2666
+-123.842 30.032 2748
+-123.716 30.032 2838
+-123.59 30.032 2945
+-123.464 30.032 3006
+-123.338 30.032 3057
+-123.212 30.032 3107
+-123.086 30.032 3210
+-122.96 30.032 3233
+-122.834 30.032 3239
+-122.708 30.032 3272
+-122.582 30.032 3277
+-122.456 30.032 3321
+-122.33 30.032 3341
+-122.204 30.032 3412
+-122.078 30.032 3499
+-121.952 30.032 3584
+-121.826 30.032 3665
+-121.7 30.032 3738
+-121.574 30.032 3841
+-121.448 30.032 3941
+-121.322 30.032 4115
+-121.196 30.032 4212
+-121.07 30.032 4344
+-120.944 30.032 4440
+-120.818 30.032 4605
+-120.692 30.032 4735
+-120.566 30.032 4831
+-120.44 30.032 5012
+-120.314 30.032 5123
+-120.188 30.032 5239
+-120.062 30.032 5269
+-119.936 30.032 5311
+-119.81 30.032 5399
+-119.684 30.032 5440
+-119.558 30.032 5561
+-119.432 30.032 5604
+-119.306 30.032 5720
+-119.18 30.032 5827
+-119.054 30.032 5923
+-118.928 30.032 5987
+-118.802 30.032 6069
+-118.676 30.032 6134
+-118.55 30.032 6191
+-118.424 30.032 6264
+-118.298 30.032 6331
+-118.172 30.032 6390
+-118.046 30.032 6427
+-117.92 30.032 6482
+-117.794 30.032 6493
+-117.668 30.032 6546
+-117.542 30.032 6574
+-117.416 30.032 6577
+-117.29 30.032 6590
+-117.164 30.032 6609
+-117.038 30.032 6607
+-116.912 30.032 6612
+-116.786 30.032 6618
+-116.66 30.032 6613
+-116.534 30.032 6588
+-116.408 30.032 6551
+-116.282 30.032 6515
+-116.156 30.032 6459
+-116.03 30.032 6419
+-115.904 30.032 6379
+-115.778 30.032 6338
+-115.652 30.032 6279
+-115.526 30.032 6219
+-115.4 30.032 6155
+-115.274 30.032 6049
+-115.148 30.032 5958
+-115.022 30.032 5884
+-114.896 30.032 5777
+-114.77 30.032 5701
+-114.644 30.032 5626
+-114.518 30.032 5539
+-114.392 30.032 5516
+-114.266 30.032 5405
+-114.14 30.032 5310
+-114.014 30.032 5225
+-113.888 30.032 5339
+-113.762 30.032 5457
+-113.636 30.032 5562
+-113.51 30.032 5627
+-113.384 30.032 5805
+-113.258 30.032 5913
+-113.132 30.032 6065
+-113.006 30.032 6126
+-112.88 30.032 6288
+-112.754 30.032 6439
+-112.628 30.032 6466
+-112.502 30.032 6623
+-112.376 30.032 6675
+-112.25 30.032 6832
+-112.124 30.032 6902
+-111.998 30.032 7094
+-111.872 30.032 7119
+-111.746 30.032 7208
+-111.62 30.032 7304
+-111.494 30.032 7395
+-111.368 30.032 7436
+-111.242 30.032 7550
+-111.116 30.032 7578
+-110.99 30.032 7649
+-110.864 30.032 7698
+-110.738 30.032 7745
+-110.612 30.032 7743
+-110.486 30.032 7753
+-110.36 30.032 7758
+-110.234 30.032 7765
+-110.108 30.032 7724
+-109.982 30.032 7697
+-109.856 30.032 7660
+-109.73 30.032 7603
+-109.604 30.032 7557
+-109.478 30.032 7460
+-109.352 30.032 7398
+-109.226 30.032 7334
+-109.1 30.032 7268
+-108.974 30.032 7177
+-108.848 30.032 7076
+-108.722 30.032 6983
+-108.596 30.032 6845
+-108.47 30.032 6729
+-108.344 30.032 6699
+-108.218 30.032 6614
+-108.092 30.032 6503
+-107.966 30.032 6337
+-107.84 30.032 6248
+-107.714 30.032 6124
+-107.588 30.032 5980
+-107.462 30.032 5850
+-107.336 30.032 5824
+-107.21 30.032 5706
+-107.084 30.032 5580
+-106.958 30.032 5443
+-106.832 30.032 5272
+-106.706 30.032 5095
+-106.58 30.032 4972
+-106.454 30.032 4945
+-106.328 30.032 4894
+-106.202 30.032 4775
+-106.076 30.032 4564
+-105.95 30.032 4414
+-105.824 30.032 4353
+-105.698 30.032 4350
+-105.572 30.032 4332
+-105.446 30.032 4268
+-105.32 30.032 4162
+-105.194 30.032 3988
+-105.068 30.032 3717
+-104.942 30.032 3460
+-104.816 30.032 3313
+-104.69 30.032 3348
+-104.564 30.032 3392
+-104.438 30.032 3402
+-104.312 30.032 3360
+-104.186 30.032 3290
+-104.06 30.032 3125
+-103.934 30.032 2933
+-103.808 30.032 2705
+-103.682 30.032 2404
+-103.556 30.032 2047
+-103.43 30.032 1768
+-103.304 30.032 1663
+-103.178 30.032 1748
+-103.052 30.032 1939
+-102.926 30.032 2135
+-102.8 30.032 2302
+-102.674 30.032 2447
+-102.548 30.032 2547
+-102.422 30.032 2637
+-102.296 30.032 2700
+-102.17 30.032 2757
+-102.044 30.032 2804
+-101.918 30.032 2843
+-101.792 30.032 2876
+-101.666 30.032 2903
+-101.54 30.032 2927
+-101.414 30.032 2948
+-101.288 30.032 2966
+-101.162 30.032 2907
+-101.036 30.032 2910
+-100.91 30.032 2924
+-100.784 30.032 2936
+-100.658 30.032 2947
+-100.532 30.032 2938
+-100.406 30.032 2947
+-100.28 30.032 2846
+-100.154 30.032 2846
+-100.028 30.032 2844
+-99.902 30.032 2842
+-99.776 30.032 2839
+-99.65 30.032 2835
+-99.524 30.032 2829
+-99.398 30.032 2711
+-99.272 30.032 2702
+-99.146 30.032 2693
+-99.02 30.032 2647
+-98.894 30.032 2636
+-98.768 30.032 2603
+-98.642 30.032 2589
+-98.516 30.032 2557
+-98.39 30.032 2541
+-98.264 30.032 2512
+-98.138 30.032 2392
+-98.012 30.032 2376
+-97.886 30.032 2327
+-97.76 30.032 2303
+-97.634 30.032 2278
+-97.508 30.032 2263
+-97.382 30.032 2331
+-97.256 30.032 2317
+-97.13 30.032 2266
+-97.004 30.032 2284
+-96.878 30.032 2282
+-96.752 30.032 2232
+-96.626 30.032 2318
+-96.5 30.032 2354
+-96.374 30.032 2407
+-96.248 30.032 2408
+-96.122 30.032 2433
+-95.996 30.032 2428
+-95.87 30.032 2428
+-95.744 30.032 2462
+-95.618 30.032 2467
+-95.492 30.032 2400
+-95.366 30.032 2401
+-95.24 30.032 2409
+-95.114 30.032 2417
+-94.988 30.032 2426
+-94.862 30.032 2392
+-94.736 30.032 2401
+-94.61 30.032 2412
+-94.484 30.032 2380
+-94.358 30.032 2305
+-94.232 30.032 2364
+-94.106 30.032 2376
+-93.98 30.032 2384
+-93.854 30.032 2397
+-93.728 30.032 2409
+-93.602 30.032 2413
+-93.476 30.032 2425
+-93.35 30.032 2436
+-93.224 30.032 2446
+-93.098 30.032 2456
+-92.972 30.032 2448
+-92.846 30.032 2457
+-92.72 30.032 2451
+-92.594 30.032 2490
+-92.468 30.032 2506
+-92.342 30.032 2538
+-92.216 30.032 2536
+-92.09 30.032 2545
+-91.964 30.032 2565
+-91.838 30.032 2573
+-91.712 30.032 2581
+-91.586 30.032 2595
+-91.46 30.032 2737
+-91.334 30.032 2739
+-91.208 30.032 2741
+-91.082 30.032 2744
+-90.956 30.032 2773
+-90.83 30.032 2776
+-90.704 30.032 2864
+-90.578 30.032 2868
+-90.452 30.032 2873
+-90.326 30.032 2877
+-90.2 30.032 2882
+-90.074 30.032 2912
+-89.948 30.032 2914
+-89.822 30.032 2916
+-89.696 30.032 2949
+-89.57 30.032 2950
+-89.444 30.032 2949
+-89.318 30.032 2987
+-89.192 30.032 3020
+-89.066 30.032 3007
+-88.94 30.032 3020
+-88.814 30.032 2987
+-88.688 30.032 2941
+-88.562 30.032 2884
+-88.436 30.032 2849
+-88.31 30.032 2851
+-88.184 30.032 2966
+-88.058 30.032 3136
+-87.932 30.032 3316
+-87.806 30.032 3442
+-87.68 30.032 3540
+-87.554 30.032 3602
+-87.428 30.032 3652
+-87.302 30.032 3709
+-87.176 30.032 3771
+-87.05 30.032 3906
+-86.924 30.032 4058
+-86.798 30.032 4192
+-86.672 30.032 4339
+-86.546 30.032 4487
+-86.42 30.032 4705
+-86.294 30.032 4927
+-86.168 30.032 5047
+-86.042 30.032 5154
+-85.916 30.032 5182
+-85.79 30.032 5144
+-85.664 30.032 5272
+-85.538 30.032 5406
+-85.412 30.032 5556
+-85.286 30.032 5677
+-85.16 30.032 5717
+-85.034 30.032 5866
+-84.908 30.032 5864
+-84.782 30.032 5950
+-84.656 30.032 6061
+-84.53 30.032 6176
+-84.404 30.032 6283
+-84.278 30.032 6451
+-84.152 30.032 6563
+-84.026 30.032 6576
+-83.9 30.032 6700
+-83.774 30.032 6804
+-83.648 30.032 6887
+-83.522 30.032 6917
+-83.396 30.032 6996
+-83.27 30.032 7082
+-83.144 30.032 7143
+-83.018 30.032 7210
+-82.892 30.032 7250
+-82.766 30.032 7253
+-82.64 30.032 7307
+-82.514 30.032 7316
+-82.388 30.032 7337
+-82.262 30.032 7364
+-82.136 30.032 7339
+-82.01 30.032 7351
+-81.884 30.032 7340
+-81.758 30.032 7332
+-81.632 30.032 7272
+-81.506 30.032 7227
+-81.38 30.032 7170
+-81.254 30.032 7156
+-81.128 30.032 7094
+-81.002 30.032 7003
+-80.876 30.032 6977
+-80.75 30.032 6869
+-80.624 30.032 6794
+-80.498 30.032 6715
+-80.372 30.032 6588
+-80.246 30.032 6560
+-80.12 30.032 6440
+-79.994 30.032 6322
+-79.868 30.032 6225
+-79.742 30.032 6128
+-79.616 30.032 5997
+-79.49 30.032 5879
+-79.364 30.032 5899
+-79.238 30.032 5833
+-79.112 30.032 5733
+-78.986 30.032 5621
+-78.86 30.032 5411
+-78.734 30.032 5266
+-78.608 30.032 5132
+-78.482 30.032 4953
+-78.356 30.032 4905
+-78.23 30.032 4812
+-78.104 30.032 4699
+-77.978 30.032 4551
+-77.852 30.032 4394
+-77.726 30.032 4276
+-77.6 30.032 4242
+-77.474 30.032 4187
+-77.348 30.032 4117
+-77.222 30.032 4090
+-77.096 30.032 4045
+-76.97 30.032 3981
+-76.844 30.032 3924
+-76.718 30.032 3863
+-76.592 30.032 3809
+-76.466 30.032 3716
+-76.34 30.032 3674
+-76.214 30.032 3648
+-76.088 30.032 3639
+-75.962 30.032 3566
+-75.836 30.032 3566
+-75.71 30.032 3575
+-75.584 30.032 3567
+-75.458 30.032 3537
+-75.332 30.032 3536
+-75.206 30.032 3497
+-75.08 30.032 3495
+-74.954 30.032 3473
+-74.828 30.032 3428
+-74.702 30.032 3429
+-74.576 30.032 3403
+-74.45 30.032 3404
+-74.324 30.032 3381
+-74.198 30.032 3381
+-74.072 30.032 3381
+-73.946 30.032 3381
+-73.82 30.032 3381
+-73.694 30.032 3382
+-73.568 30.032 3382
+-73.442 30.032 3382
+-73.316 30.032 3292
+-73.19 30.032 3293
+-73.064 30.032 3294
+-72.938 30.032 3295
+-72.812 30.032 3296
+-72.686 30.032 3297
+-72.56 30.032 3298
+-72.434 30.032 3298
+-72.308 30.032 3299
+-72.182 30.032 3300
+-72.056 30.032 3301
+-71.93 30.032 3241
+-71.804 30.032 3242
+-71.678 30.032 3243
+-71.552 30.032 3244
+-71.426 30.032 3245
+-71.3 30.032 3203
+-71.174 30.032 3203
+-71.048 30.032 3203
+-70.922 30.032 3203
+-70.796 30.032 3203
+-70.67 30.032 3203
+-70.544 30.032 3181
+-70.418 30.032 3182
+-70.292 30.032 3159
+-70.166 30.032 3142
+-70.04 30.032 3142
+-69.914 30.032 3142
+-69.788 30.032 3143
+-69.662 30.032 3143
+-69.536 30.032 3143
+-69.41 30.032 3144
+-69.284 30.032 3144
+-69.158 30.032 3144
+-69.032 30.032 3144
+-68.906 30.032 3145
+-68.78 30.032 3050
+-68.654 30.032 3050
+-68.528 30.032 3051
+-68.402 30.032 3051
+-68.276 30.032 3051
+-68.15 30.032 3052
+-68.024 30.032 3052
+-67.898 30.032 3053
+-67.772 30.032 3053
+-67.646 30.032 3054
+-67.52 30.032 3054
+-67.394 30.032 3054
+-67.268 30.032 3055
+-67.142 30.032 3055
+-67.016 30.032 3055
+-66.89 30.032 3056
+-66.764 30.032 3056
+-66.638 30.032 3056
+-66.512 30.032 3057
+-66.386 30.032 3057
+-66.26 30.032 3057
+-66.134 30.032 3058
+-66.008 30.032 3058
+-65.882 30.032 3058
+-65.756 30.032 3058
+-65.63 30.032 3059
+-65.504 30.032 3059
+-65.378 30.032 3059
+-65.252 30.032 3059
+-65.126 30.032 3060
+-128 29.98 2351
+-127.874 29.98 2330
+-127.748 29.98 2308
+-127.622 29.98 2284
+-127.496 29.98 2259
+-127.37 29.98 2247
+-127.244 29.98 2275
+-127.118 29.98 2242
+-126.992 29.98 2207
+-126.866 29.98 2169
+-126.74 29.98 2129
+-126.614 29.98 2086
+-126.488 29.98 2041
+-126.362 29.98 2038
+-126.236 29.98 1993
+-126.11 29.98 1946
+-125.984 29.98 1905
+-125.858 29.98 1882
+-125.732 29.98 1842
+-125.606 29.98 1829
+-125.48 29.98 1804
+-125.354 29.98 1792
+-125.228 29.98 1837
+-125.102 29.98 1874
+-124.976 29.98 1913
+-124.85 29.98 1972
+-124.724 29.98 2036
+-124.598 29.98 2108
+-124.472 29.98 2198
+-124.346 29.98 2290
+-124.22 29.98 2378
+-124.094 29.98 2470
+-123.968 29.98 2566
+-123.842 29.98 2678
+-123.716 29.98 2803
+-123.59 29.98 2887
+-123.464 29.98 2961
+-123.338 29.98 3010
+-123.212 29.98 3083
+-123.086 29.98 3133
+-122.96 29.98 3236
+-122.834 29.98 3258
+-122.708 29.98 3273
+-122.582 29.98 3346
+-122.456 29.98 3369
+-122.33 29.98 3411
+-122.204 29.98 3447
+-122.078 29.98 3495
+-121.952 29.98 3531
+-121.826 29.98 3595
+-121.7 29.98 3684
+-121.574 29.98 3817
+-121.448 29.98 3940
+-121.322 29.98 4058
+-121.196 29.98 4142
+-121.07 29.98 4254
+-120.944 29.98 4387
+-120.818 29.98 4516
+-120.692 29.98 4645
+-120.566 29.98 4802
+-120.44 29.98 4995
+-120.314 29.98 5138
+-120.188 29.98 5210
+-120.062 29.98 5245
+-119.936 29.98 5191
+-119.81 29.98 5340
+-119.684 29.98 5422
+-119.558 29.98 5492
+-119.432 29.98 5551
+-119.306 29.98 5625
+-119.18 29.98 5741
+-119.054 29.98 5821
+-118.928 29.98 5939
+-118.802 29.98 5999
+-118.676 29.98 6075
+-118.55 29.98 6144
+-118.424 29.98 6188
+-118.298 29.98 6250
+-118.172 29.98 6317
+-118.046 29.98 6362
+-117.92 29.98 6415
+-117.794 29.98 6455
+-117.668 29.98 6461
+-117.542 29.98 6514
+-117.416 29.98 6564
+-117.29 29.98 6550
+-117.164 29.98 6533
+-117.038 29.98 6556
+-116.912 29.98 6540
+-116.786 29.98 6551
+-116.66 29.98 6552
+-116.534 29.98 6542
+-116.408 29.98 6502
+-116.282 29.98 6466
+-116.156 29.98 6413
+-116.03 29.98 6382
+-115.904 29.98 6332
+-115.778 29.98 6251
+-115.652 29.98 6192
+-115.526 29.98 6145
+-115.4 29.98 6106
+-115.274 29.98 5989
+-115.148 29.98 5890
+-115.022 29.98 5832
+-114.896 29.98 5798
+-114.77 29.98 5700
+-114.644 29.98 5590
+-114.518 29.98 5493
+-114.392 29.98 5438
+-114.266 29.98 5320
+-114.14 29.98 5242
+-114.014 29.98 5283
+-113.888 29.98 5346
+-113.762 29.98 5446
+-113.636 29.98 5587
+-113.51 29.98 5644
+-113.384 29.98 5756
+-113.258 29.98 5904
+-113.132 29.98 6060
+-113.006 29.98 6187
+-112.88 29.98 6281
+-112.754 29.98 6417
+-112.628 29.98 6513
+-112.502 29.98 6595
+-112.376 29.98 6674
+-112.25 29.98 6790
+-112.124 29.98 6854
+-111.998 29.98 7006
+-111.872 29.98 7078
+-111.746 29.98 7182
+-111.62 29.98 7272
+-111.494 29.98 7319
+-111.368 29.98 7447
+-111.242 29.98 7465
+-111.116 29.98 7586
+-110.99 29.98 7627
+-110.864 29.98 7669
+-110.738 29.98 7670
+-110.612 29.98 7693
+-110.486 29.98 7732
+-110.36 29.98 7686
+-110.234 29.98 7681
+-110.108 29.98 7661
+-109.982 29.98 7644
+-109.856 29.98 7604
+-109.73 29.98 7566
+-109.604 29.98 7493
+-109.478 29.98 7420
+-109.352 29.98 7387
+-109.226 29.98 7329
+-109.1 29.98 7241
+-108.974 29.98 7130
+-108.848 29.98 6999
+-108.722 29.98 6929
+-108.596 29.98 6810
+-108.47 29.98 6711
+-108.344 29.98 6671
+-108.218 29.98 6542
+-108.092 29.98 6477
+-107.966 29.98 6295
+-107.84 29.98 6182
+-107.714 29.98 6077
+-107.588 29.98 5954
+-107.462 29.98 5882
+-107.336 29.98 5798
+-107.21 29.98 5680
+-107.084 29.98 5540
+-106.958 29.98 5385
+-106.832 29.98 5239
+-106.706 29.98 5110
+-106.58 29.98 4983
+-106.454 29.98 4910
+-106.328 29.98 4859
+-106.202 29.98 4727
+-106.076 29.98 4490
+-105.95 29.98 4330
+-105.824 29.98 4239
+-105.698 29.98 4306
+-105.572 29.98 4317
+-105.446 29.98 4242
+-105.32 29.98 4114
+-105.194 29.98 3890
+-105.068 29.98 3636
+-104.942 29.98 3352
+-104.816 29.98 3210
+-104.69 29.98 3293
+-104.564 29.98 3379
+-104.438 29.98 3406
+-104.312 29.98 3363
+-104.186 29.98 3262
+-104.06 29.98 3153
+-103.934 29.98 2964
+-103.808 29.98 2738
+-103.682 29.98 2451
+-103.556 29.98 2130
+-103.43 29.98 1860
+-103.304 29.98 1758
+-103.178 29.98 1829
+-103.052 29.98 1990
+-102.926 29.98 2181
+-102.8 29.98 2335
+-102.674 29.98 2446
+-102.548 29.98 2556
+-102.422 29.98 2635
+-102.296 29.98 2704
+-102.17 29.98 2761
+-102.044 29.98 2807
+-101.918 29.98 2846
+-101.792 29.98 2878
+-101.666 29.98 2906
+-101.54 29.98 2930
+-101.414 29.98 2950
+-101.288 29.98 2968
+-101.162 29.98 2984
+-101.036 29.98 2921
+-100.91 29.98 2923
+-100.784 29.98 2935
+-100.658 29.98 2946
+-100.532 29.98 2957
+-100.406 29.98 2946
+-100.28 29.98 2846
+-100.154 29.98 2846
+-100.028 29.98 2846
+-99.902 29.98 2844
+-99.776 29.98 2841
+-99.65 29.98 2837
+-99.524 29.98 2832
+-99.398 29.98 2826
+-99.272 29.98 2705
+-99.146 29.98 2696
+-99.02 29.98 2686
+-98.894 29.98 2640
+-98.768 29.98 2608
+-98.642 29.98 2595
+-98.516 29.98 2581
+-98.39 29.98 2548
+-98.264 29.98 2519
+-98.138 29.98 2400
+-98.012 29.98 2385
+-97.886 29.98 2370
+-97.76 29.98 2310
+-97.634 29.98 2317
+-97.508 29.98 2276
+-97.382 29.98 2308
+-97.256 29.98 2330
+-97.13 29.98 2279
+-97.004 29.98 2298
+-96.878 29.98 2247
+-96.752 29.98 2302
+-96.626 29.98 2217
+-96.5 29.98 2425
+-96.374 29.98 2424
+-96.248 29.98 2363
+-96.122 29.98 2448
+-95.996 29.98 2447
+-95.87 29.98 2482
+-95.744 29.98 2485
+-95.618 29.98 2427
+-95.492 29.98 2432
+-95.366 29.98 2422
+-95.24 29.98 2429
+-95.114 29.98 2436
+-94.988 29.98 2400
+-94.862 29.98 2408
+-94.736 29.98 2418
+-94.61 29.98 2384
+-94.484 29.98 2307
+-94.358 29.98 2366
+-94.232 29.98 2377
+-94.106 29.98 2384
+-93.98 29.98 2396
+-93.854 29.98 2408
+-93.728 29.98 2412
+-93.602 29.98 2423
+-93.476 29.98 2433
+-93.35 29.98 2444
+-93.224 29.98 2453
+-93.098 29.98 2445
+-92.972 29.98 2454
+-92.846 29.98 2448
+-92.72 29.98 2489
+-92.594 29.98 2506
+-92.468 29.98 2538
+-92.342 29.98 2537
+-92.216 29.98 2565
+-92.09 29.98 2568
+-91.964 29.98 2577
+-91.838 29.98 2585
+-91.712 29.98 2601
+-91.586 29.98 2609
+-91.46 29.98 2616
+-91.334 29.98 2752
+-91.208 29.98 2755
+-91.082 29.98 2787
+-90.956 29.98 2790
+-90.83 29.98 2793
+-90.704 29.98 2883
+-90.578 29.98 2887
+-90.452 29.98 2892
+-90.326 29.98 2898
+-90.2 29.98 2929
+-90.074 29.98 2932
+-89.948 29.98 2934
+-89.822 29.98 2968
+-89.696 29.98 2983
+-89.57 29.98 2983
+-89.444 29.98 2981
+-89.318 29.98 3002
+-89.192 29.98 3039
+-89.066 29.98 3059
+-88.94 29.98 3029
+-88.814 29.98 2984
+-88.688 29.98 2919
+-88.562 29.98 2827
+-88.436 29.98 2696
+-88.31 29.98 2633
+-88.184 29.98 2770
+-88.058 29.98 3050
+-87.932 29.98 3303
+-87.806 29.98 3475
+-87.68 29.98 3566
+-87.554 29.98 3618
+-87.428 29.98 3657
+-87.302 29.98 3699
+-87.176 29.98 3780
+-87.05 29.98 3920
+-86.924 29.98 4097
+-86.798 29.98 4251
+-86.672 29.98 4383
+-86.546 29.98 4582
+-86.42 29.98 4738
+-86.294 29.98 4898
+-86.168 29.98 5072
+-86.042 29.98 5165
+-85.916 29.98 5210
+-85.79 29.98 5248
+-85.664 29.98 5332
+-85.538 29.98 5481
+-85.412 29.98 5548
+-85.286 29.98 5676
+-85.16 29.98 5786
+-85.034 29.98 5843
+-84.908 29.98 5916
+-84.782 29.98 5988
+-84.656 29.98 6070
+-84.53 29.98 6170
+-84.404 29.98 6369
+-84.278 29.98 6537
+-84.152 29.98 6591
+-84.026 29.98 6675
+-83.9 29.98 6804
+-83.774 29.98 6882
+-83.648 29.98 6975
+-83.522 29.98 6995
+-83.396 29.98 7058
+-83.27 29.98 7141
+-83.144 29.98 7230
+-83.018 29.98 7242
+-82.892 29.98 7278
+-82.766 29.98 7332
+-82.64 29.98 7371
+-82.514 29.98 7368
+-82.388 29.98 7372
+-82.262 29.98 7400
+-82.136 29.98 7395
+-82.01 29.98 7420
+-81.884 29.98 7400
+-81.758 29.98 7402
+-81.632 29.98 7342
+-81.506 29.98 7276
+-81.38 29.98 7262
+-81.254 29.98 7237
+-81.128 29.98 7180
+-81.002 29.98 7083
+-80.876 29.98 6983
+-80.75 29.98 6906
+-80.624 29.98 6835
+-80.498 29.98 6793
+-80.372 29.98 6664
+-80.246 29.98 6600
+-80.12 29.98 6461
+-79.994 29.98 6341
+-79.868 29.98 6282
+-79.742 29.98 6194
+-79.616 29.98 6094
+-79.49 29.98 6007
+-79.364 29.98 5955
+-79.238 29.98 5879
+-79.112 29.98 5746
+-78.986 29.98 5618
+-78.86 29.98 5457
+-78.734 29.98 5343
+-78.608 29.98 5198
+-78.482 29.98 5015
+-78.356 29.98 4920
+-78.23 29.98 4831
+-78.104 29.98 4670
+-77.978 29.98 4559
+-77.852 29.98 4482
+-77.726 29.98 4372
+-77.6 29.98 4302
+-77.474 29.98 4237
+-77.348 29.98 4151
+-77.222 29.98 4087
+-77.096 29.98 4033
+-76.97 29.98 3983
+-76.844 29.98 3951
+-76.718 29.98 3915
+-76.592 29.98 3850
+-76.466 29.98 3791
+-76.34 29.98 3743
+-76.214 29.98 3718
+-76.088 29.98 3682
+-75.962 29.98 3663
+-75.836 29.98 3652
+-75.71 29.98 3592
+-75.584 29.98 3596
+-75.458 29.98 3594
+-75.332 29.98 3550
+-75.206 29.98 3529
+-75.08 29.98 3483
+-74.954 29.98 3485
+-74.828 29.98 3486
+-74.702 29.98 3467
+-74.576 29.98 3414
+-74.45 29.98 3390
+-74.324 29.98 3390
+-74.198 29.98 3389
+-74.072 29.98 3389
+-73.946 29.98 3388
+-73.82 29.98 3388
+-73.694 29.98 3388
+-73.568 29.98 3388
+-73.442 29.98 3388
+-73.316 29.98 3388
+-73.19 29.98 3301
+-73.064 29.98 3302
+-72.938 29.98 3302
+-72.812 29.98 3303
+-72.686 29.98 3304
+-72.56 29.98 3304
+-72.434 29.98 3305
+-72.308 29.98 3305
+-72.182 29.98 3306
+-72.056 29.98 3247
+-71.93 29.98 3248
+-71.804 29.98 3249
+-71.678 29.98 3250
+-71.552 29.98 3250
+-71.426 29.98 3208
+-71.3 29.98 3208
+-71.174 29.98 3208
+-71.048 29.98 3207
+-70.922 29.98 3207
+-70.796 29.98 3207
+-70.67 29.98 3184
+-70.544 29.98 3184
+-70.418 29.98 3162
+-70.292 29.98 3144
+-70.166 29.98 3144
+-70.04 29.98 3145
+-69.914 29.98 3145
+-69.788 29.98 3145
+-69.662 29.98 3145
+-69.536 29.98 3145
+-69.41 29.98 3146
+-69.284 29.98 3146
+-69.158 29.98 3146
+-69.032 29.98 3146
+-68.906 29.98 3051
+-68.78 29.98 3051
+-68.654 29.98 3052
+-68.528 29.98 3052
+-68.402 29.98 3053
+-68.276 29.98 3053
+-68.15 29.98 3054
+-68.024 29.98 3054
+-67.898 29.98 3054
+-67.772 29.98 3055
+-67.646 29.98 3055
+-67.52 29.98 3055
+-67.394 29.98 3056
+-67.268 29.98 3056
+-67.142 29.98 3056
+-67.016 29.98 3057
+-66.89 29.98 3057
+-66.764 29.98 3057
+-66.638 29.98 3057
+-66.512 29.98 3058
+-66.386 29.98 3058
+-66.26 29.98 3058
+-66.134 29.98 3059
+-66.008 29.98 3059
+-65.882 29.98 3059
+-65.756 29.98 3059
+-65.63 29.98 3060
+-65.504 29.98 3060
+-65.378 29.98 3060
+-65.252 29.98 3060
+-65.126 29.98 3061
+-128 29.928 2331
+-127.874 29.928 2309
+-127.748 29.928 2285
+-127.622 29.928 2259
+-127.496 29.928 2247
+-127.37 29.928 2273
+-127.244 29.928 2240
+-127.118 29.928 2204
+-126.992 29.928 2165
+-126.866 29.928 2123
+-126.74 29.928 2077
+-126.614 29.928 2028
+-126.488 29.928 2022
+-126.362 29.928 1970
+-126.236 29.928 1915
+-126.11 29.928 1862
+-125.984 29.928 1826
+-125.858 29.928 1768
+-125.732 29.928 1732
+-125.606 29.928 1681
+-125.48 29.928 1641
+-125.354 29.928 1655
+-125.228 29.928 1665
+-125.102 29.928 1684
+-124.976 29.928 1731
+-124.85 29.928 1792
+-124.724 29.928 1865
+-124.598 29.928 1957
+-124.472 29.928 2052
+-124.346 29.928 2140
+-124.22 29.928 2235
+-124.094 29.928 2337
+-123.968 29.928 2467
+-123.842 29.928 2610
+-123.716 29.928 2719
+-123.59 29.928 2820
+-123.464 29.928 2896
+-123.338 29.928 2970
+-123.212 29.928 3053
+-123.086 29.928 3113
+-122.96 29.928 3236
+-122.834 29.928 3258
+-122.708 29.928 3279
+-122.582 29.928 3320
+-122.456 29.928 3393
+-122.33 29.928 3415
+-122.204 29.928 3448
+-122.078 29.928 3439
+-121.952 29.928 3428
+-121.826 29.928 3490
+-121.7 29.928 3602
+-121.574 29.928 3782
+-121.448 29.928 3921
+-121.322 29.928 3988
+-121.196 29.928 4068
+-121.07 29.928 4208
+-120.944 29.928 4333
+-120.818 29.928 4416
+-120.692 29.928 4506
+-120.566 29.928 4687
+-120.44 29.928 4934
+-120.314 29.928 5080
+-120.188 29.928 5168
+-120.062 29.928 5215
+-119.936 29.928 5149
+-119.81 29.928 5313
+-119.684 29.928 5367
+-119.558 29.928 5439
+-119.432 29.928 5514
+-119.306 29.928 5583
+-119.18 29.928 5693
+-119.054 29.928 5838
+-118.928 29.928 5847
+-118.802 29.928 5952
+-118.676 29.928 6032
+-118.55 29.928 6095
+-118.424 29.928 6128
+-118.298 29.928 6165
+-118.172 29.928 6235
+-118.046 29.928 6274
+-117.92 29.928 6347
+-117.794 29.928 6419
+-117.668 29.928 6448
+-117.542 29.928 6466
+-117.416 29.928 6458
+-117.29 29.928 6492
+-117.164 29.928 6484
+-117.038 29.928 6488
+-116.912 29.928 6486
+-116.786 29.928 6507
+-116.66 29.928 6498
+-116.534 29.928 6490
+-116.408 29.928 6437
+-116.282 29.928 6395
+-116.156 29.928 6374
+-116.03 29.928 6333
+-115.904 29.928 6291
+-115.778 29.928 6221
+-115.652 29.928 6173
+-115.526 29.928 6100
+-115.4 29.928 6032
+-115.274 29.928 5966
+-115.148 29.928 5882
+-115.022 29.928 5781
+-114.896 29.928 5695
+-114.77 29.928 5620
+-114.644 29.928 5526
+-114.518 29.928 5456
+-114.392 29.928 5374
+-114.266 29.928 5270
+-114.14 29.928 5133
+-114.014 29.928 5241
+-113.888 29.928 5316
+-113.762 29.928 5402
+-113.636 29.928 5516
+-113.51 29.928 5640
+-113.384 29.928 5752
+-113.258 29.928 5869
+-113.132 29.928 5935
+-113.006 29.928 6170
+-112.88 29.928 6253
+-112.754 29.928 6380
+-112.628 29.928 6476
+-112.502 29.928 6620
+-112.376 29.928 6675
+-112.25 29.928 6746
+-112.124 29.928 6840
+-111.998 29.928 6966
+-111.872 29.928 7101
+-111.746 29.928 7159
+-111.62 29.928 7233
+-111.494 29.928 7284
+-111.368 29.928 7356
+-111.242 29.928 7437
+-111.116 29.928 7466
+-110.99 29.928 7557
+-110.864 29.928 7588
+-110.738 29.928 7617
+-110.612 29.928 7644
+-110.486 29.928 7638
+-110.36 29.928 7627
+-110.234 29.928 7645
+-110.108 29.928 7619
+-109.982 29.928 7612
+-109.856 29.928 7557
+-109.73 29.928 7522
+-109.604 29.928 7447
+-109.478 29.928 7376
+-109.352 29.928 7355
+-109.226 29.928 7270
+-109.1 29.928 7155
+-108.974 29.928 7073
+-108.848 29.928 7010
+-108.722 29.928 6880
+-108.596 29.928 6818
+-108.47 29.928 6729
+-108.344 29.928 6642
+-108.218 29.928 6531
+-108.092 29.928 6395
+-107.966 29.928 6252
+-107.84 29.928 6199
+-107.714 29.928 6062
+-107.588 29.928 5932
+-107.462 29.928 5827
+-107.336 29.928 5707
+-107.21 29.928 5596
+-107.084 29.928 5499
+-106.958 29.928 5385
+-106.832 29.928 5230
+-106.706 29.928 5094
+-106.58 29.928 4954
+-106.454 29.928 4845
+-106.328 29.928 4790
+-106.202 29.928 4712
+-106.076 29.928 4548
+-105.95 29.928 4416
+-105.824 29.928 4337
+-105.698 29.928 4333
+-105.572 29.928 4308
+-105.446 29.928 4211
+-105.32 29.928 4063
+-105.194 29.928 3895
+-105.068 29.928 3653
+-104.942 29.928 3442
+-104.816 29.928 3310
+-104.69 29.928 3345
+-104.564 29.928 3414
+-104.438 29.928 3395
+-104.312 29.928 3366
+-104.186 29.928 3277
+-104.06 29.928 3181
+-103.934 29.928 3038
+-103.808 29.928 2816
+-103.682 29.928 2569
+-103.556 29.928 2307
+-103.43 29.928 2093
+-103.304 29.928 1987
+-103.178 29.928 2022
+-103.052 29.928 2143
+-102.926 29.928 2263
+-102.8 29.928 2404
+-102.674 29.928 2497
+-102.548 29.928 2575
+-102.422 29.928 2654
+-102.296 29.928 2719
+-102.17 29.928 2772
+-102.044 29.928 2816
+-101.918 29.928 2853
+-101.792 29.928 2884
+-101.666 29.928 2911
+-101.54 29.928 2934
+-101.414 29.928 2954
+-101.288 29.928 2972
+-101.162 29.928 2988
+-101.036 29.928 3001
+-100.91 29.928 2935
+-100.784 29.928 2935
+-100.658 29.928 2946
+-100.532 29.928 2956
+-100.406 29.928 2869
+-100.28 29.928 2847
+-100.154 29.928 2848
+-100.028 29.928 2847
+-99.902 29.928 2845
+-99.776 29.928 2842
+-99.65 29.928 2839
+-99.524 29.928 2834
+-99.398 29.928 2828
+-99.272 29.928 2822
+-99.146 29.928 2699
+-99.02 29.928 2690
+-98.894 29.928 2679
+-98.768 29.928 2613
+-98.642 29.928 2601
+-98.516 29.928 2587
+-98.39 29.928 2551
+-98.264 29.928 2527
+-98.138 29.928 2408
+-98.012 29.928 2394
+-97.886 29.928 2379
+-97.76 29.928 2358
+-97.634 29.928 2328
+-97.508 29.928 2329
+-97.382 29.928 2275
+-97.256 29.928 2396
+-97.13 29.928 2346
+-97.004 29.928 2242
+-96.878 29.928 2316
+-96.752 29.928 2299
+-96.626 29.928 2284
+-96.5 29.928 2441
+-96.374 29.928 2378
+-96.248 29.928 2378
+-96.122 29.928 2466
+-95.996 29.928 2442
+-95.87 29.928 2444
+-95.744 29.928 2442
+-95.618 29.928 2447
+-95.492 29.928 2378
+-95.366 29.928 2384
+-95.24 29.928 2391
+-95.114 29.928 2409
+-94.988 29.928 2416
+-94.862 29.928 2425
+-94.736 29.928 2389
+-94.61 29.928 2311
+-94.484 29.928 2369
+-94.358 29.928 2379
+-94.232 29.928 2385
+-94.106 29.928 2396
+-93.98 29.928 2407
+-93.854 29.928 2410
+-93.728 29.928 2421
+-93.602 29.928 2431
+-93.476 29.928 2441
+-93.35 29.928 2451
+-93.224 29.928 2442
+-93.098 29.928 2456
+-92.972 29.928 2456
+-92.846 29.928 2488
+-92.72 29.928 2505
+-92.594 29.928 2538
+-92.468 29.928 2558
+-92.342 29.928 2568
+-92.216 29.928 2582
+-92.09 29.928 2591
+-91.964 29.928 2599
+-91.838 29.928 2607
+-91.712 29.928 2615
+-91.586 29.928 2622
+-91.46 29.928 2630
+-91.334 29.928 2765
+-91.208 29.928 2800
+-91.082 29.928 2802
+-90.956 29.928 2806
+-90.83 29.928 2896
+-90.704 29.928 2901
+-90.578 29.928 2906
+-90.452 29.928 2911
+-90.326 29.928 2944
+-90.2 29.928 2947
+-90.074 29.928 2950
+-89.948 29.928 2984
+-89.822 29.928 3001
+-89.696 29.928 3001
+-89.57 29.928 3001
+-89.444 29.928 3028
+-89.318 29.928 3036
+-89.192 29.928 3066
+-89.066 29.928 3047
+-88.94 29.928 3042
+-88.814 29.928 3021
+-88.688 29.928 2930
+-88.562 29.928 2805
+-88.436 29.928 2613
+-88.31 29.928 2498
+-88.184 29.928 2661
+-88.058 29.928 3015
+-87.932 29.928 3315
+-87.806 29.928 3492
+-87.68 29.928 3585
+-87.554 29.928 3624
+-87.428 29.928 3630
+-87.302 29.928 3667
+-87.176 29.928 3758
+-87.05 29.928 3901
+-86.924 29.928 4117
+-86.798 29.928 4290
+-86.672 29.928 4461
+-86.546 29.928 4612
+-86.42 29.928 4726
+-86.294 29.928 4865
+-86.168 29.928 5002
+-86.042 29.928 5118
+-85.916 29.928 5232
+-85.79 29.928 5303
+-85.664 29.928 5407
+-85.538 29.928 5514
+-85.412 29.928 5588
+-85.286 29.928 5674
+-85.16 29.928 5801
+-85.034 29.928 5862
+-84.908 29.928 5972
+-84.782 29.928 6066
+-84.656 29.928 6107
+-84.53 29.928 6257
+-84.404 29.928 6373
+-84.278 29.928 6570
+-84.152 29.928 6669
+-84.026 29.928 6781
+-83.9 29.928 6838
+-83.774 29.928 6894
+-83.648 29.928 6986
+-83.522 29.928 7042
+-83.396 29.928 7128
+-83.27 29.928 7228
+-83.144 29.928 7291
+-83.018 29.928 7273
+-82.892 29.928 7319
+-82.766 29.928 7410
+-82.64 29.928 7419
+-82.514 29.928 7437
+-82.388 29.928 7446
+-82.262 29.928 7455
+-82.136 29.928 7459
+-82.01 29.928 7484
+-81.884 29.928 7485
+-81.758 29.928 7446
+-81.632 29.928 7395
+-81.506 29.928 7350
+-81.38 29.928 7316
+-81.254 29.928 7268
+-81.128 29.928 7218
+-81.002 29.928 7155
+-80.876 29.928 7058
+-80.75 29.928 6931
+-80.624 29.928 6886
+-80.498 29.928 6799
+-80.372 29.928 6716
+-80.246 29.928 6633
+-80.12 29.928 6511
+-79.994 29.928 6396
+-79.868 29.928 6347
+-79.742 29.928 6236
+-79.616 29.928 6086
+-79.49 29.928 6071
+-79.364 29.928 5977
+-79.238 29.928 5888
+-79.112 29.928 5765
+-78.986 29.928 5591
+-78.86 29.928 5462
+-78.734 29.928 5393
+-78.608 29.928 5234
+-78.482 29.928 5083
+-78.356 29.928 4950
+-78.23 29.928 4835
+-78.104 29.928 4669
+-77.978 29.928 4506
+-77.852 29.928 4500
+-77.726 29.928 4414
+-77.6 29.928 4320
+-77.474 29.928 4231
+-77.348 29.928 4124
+-77.222 29.928 4078
+-77.096 29.928 4020
+-76.97 29.928 3980
+-76.844 29.928 3956
+-76.718 29.928 3904
+-76.592 29.928 3874
+-76.466 29.928 3842
+-76.34 29.928 3791
+-76.214 29.928 3753
+-76.088 29.928 3701
+-75.962 29.928 3679
+-75.836 29.928 3676
+-75.71 29.928 3672
+-75.584 29.928 3629
+-75.458 29.928 3628
+-75.332 29.928 3538
+-75.206 29.928 3536
+-75.08 29.928 3538
+-74.954 29.928 3495
+-74.828 29.928 3476
+-74.702 29.928 3477
+-74.576 29.928 3441
+-74.45 29.928 3442
+-74.324 29.928 3442
+-74.198 29.928 3442
+-74.072 29.928 3443
+-73.946 29.928 3427
+-73.82 29.928 3385
+-73.694 29.928 3385
+-73.568 29.928 3384
+-73.442 29.928 3384
+-73.316 29.928 3391
+-73.19 29.928 3391
+-73.064 29.928 3309
+-72.938 29.928 3310
+-72.812 29.928 3310
+-72.686 29.928 3310
+-72.56 29.928 3311
+-72.434 29.928 3311
+-72.308 29.928 3311
+-72.182 29.928 3254
+-72.056 29.928 3254
+-71.93 29.928 3255
+-71.804 29.928 3255
+-71.678 29.928 3256
+-71.552 29.928 3213
+-71.426 29.928 3213
+-71.3 29.928 3212
+-71.174 29.928 3212
+-71.048 29.928 3212
+-70.922 29.928 3212
+-70.796 29.928 3187
+-70.67 29.928 3187
+-70.544 29.928 3164
+-70.418 29.928 3147
+-70.292 29.928 3147
+-70.166 29.928 3147
+-70.04 29.928 3147
+-69.914 29.928 3147
+-69.788 29.928 3147
+-69.662 29.928 3147
+-69.536 29.928 3147
+-69.41 29.928 3148
+-69.284 29.928 3148
+-69.158 29.928 3148
+-69.032 29.928 3053
+-68.906 29.928 3053
+-68.78 29.928 3053
+-68.654 29.928 3054
+-68.528 29.928 3054
+-68.402 29.928 3054
+-68.276 29.928 3055
+-68.15 29.928 3055
+-68.024 29.928 3055
+-67.898 29.928 3056
+-67.772 29.928 3056
+-67.646 29.928 3056
+-67.52 29.928 3057
+-67.394 29.928 3057
+-67.268 29.928 3057
+-67.142 29.928 3058
+-67.016 29.928 3058
+-66.89 29.928 3058
+-66.764 29.928 3058
+-66.638 29.928 3059
+-66.512 29.928 3059
+-66.386 29.928 3059
+-66.26 29.928 3059
+-66.134 29.928 3060
+-66.008 29.928 3060
+-65.882 29.928 3060
+-65.756 29.928 3060
+-65.63 29.928 3061
+-65.504 29.928 3061
+-65.378 29.928 3061
+-65.252 29.928 3061
+-65.126 29.928 3061
+-128 29.876 2312
+-127.874 29.876 2288
+-127.748 29.876 2262
+-127.622 29.876 2250
+-127.496 29.876 2277
+-127.37 29.876 2243
+-127.244 29.876 2207
+-127.118 29.876 2167
+-126.992 29.876 2124
+-126.866 29.876 2078
+-126.74 29.876 2027
+-126.614 29.876 2018
+-126.488 29.876 1963
+-126.362 29.876 1902
+-126.236 29.876 1842
+-126.11 29.876 1796
+-125.984 29.876 1723
+-125.858 29.876 1668
+-125.732 29.876 1592
+-125.606 29.876 1520
+-125.48 29.876 1496
+-125.354 29.876 1466
+-125.228 29.876 1450
+-125.102 29.876 1470
+-124.976 29.876 1518
+-124.85 29.876 1592
+-124.724 29.876 1689
+-124.598 29.876 1791
+-124.472 29.876 1880
+-124.346 29.876 1971
+-124.22 29.876 2069
+-124.094 29.876 2204
+-123.968 29.876 2345
+-123.842 29.876 2479
+-123.716 29.876 2611
+-123.59 29.876 2732
+-123.464 29.876 2838
+-123.338 29.876 2932
+-123.212 29.876 3011
+-123.086 29.876 3099
+-122.96 29.876 3200
+-122.834 29.876 3227
+-122.708 29.876 3257
+-122.582 29.876 3317
+-122.456 29.876 3392
+-122.33 29.876 3412
+-122.204 29.876 3421
+-122.078 29.876 3407
+-121.952 29.876 3359
+-121.826 29.876 3422
+-121.7 29.876 3543
+-121.574 29.876 3743
+-121.448 29.876 3918
+-121.322 29.876 3970
+-121.196 29.876 4020
+-121.07 29.876 4198
+-120.944 29.876 4332
+-120.818 29.876 4374
+-120.692 29.876 4457
+-120.566 29.876 4654
+-120.44 29.876 4843
+-120.314 29.876 5020
+-120.188 29.876 5108
+-120.062 29.876 5208
+-119.936 29.876 5229
+-119.81 29.876 5303
+-119.684 29.876 5359
+-119.558 29.876 5389
+-119.432 29.876 5500
+-119.306 29.876 5583
+-119.18 29.876 5699
+-119.054 29.876 5710
+-118.928 29.876 5776
+-118.802 29.876 5852
+-118.676 29.876 5940
+-118.55 29.876 6021
+-118.424 29.876 6102
+-118.298 29.876 6112
+-118.172 29.876 6182
+-118.046 29.876 6235
+-117.92 29.876 6281
+-117.794 29.876 6330
+-117.668 29.876 6380
+-117.542 29.876 6414
+-117.416 29.876 6417
+-117.29 29.876 6444
+-117.164 29.876 6457
+-117.038 29.876 6439
+-116.912 29.876 6430
+-116.786 29.876 6441
+-116.66 29.876 6451
+-116.534 29.876 6422
+-116.408 29.876 6375
+-116.282 29.876 6362
+-116.156 29.876 6304
+-116.03 29.876 6270
+-115.904 29.876 6205
+-115.778 29.876 6158
+-115.652 29.876 6095
+-115.526 29.876 6001
+-115.4 29.876 5992
+-115.274 29.876 5916
+-115.148 29.876 5829
+-115.022 29.876 5723
+-114.896 29.876 5626
+-114.77 29.876 5610
+-114.644 29.876 5527
+-114.518 29.876 5439
+-114.392 29.876 5269
+-114.266 29.876 5256
+-114.14 29.876 5187
+-114.014 29.876 5091
+-113.888 29.876 5208
+-113.762 29.876 5355
+-113.636 29.876 5503
+-113.51 29.876 5590
+-113.384 29.876 5732
+-113.258 29.876 5863
+-113.132 29.876 5962
+-113.006 29.876 6094
+-112.88 29.876 6225
+-112.754 29.876 6341
+-112.628 29.876 6399
+-112.502 29.876 6552
+-112.376 29.876 6614
+-112.25 29.876 6706
+-112.124 29.876 6856
+-111.998 29.876 6956
+-111.872 29.876 7022
+-111.746 29.876 7112
+-111.62 29.876 7184
+-111.494 29.876 7217
+-111.368 29.876 7284
+-111.242 29.876 7351
+-111.116 29.876 7448
+-110.99 29.876 7497
+-110.864 29.876 7532
+-110.738 29.876 7562
+-110.612 29.876 7606
+-110.486 29.876 7597
+-110.36 29.876 7580
+-110.234 29.876 7563
+-110.108 29.876 7564
+-109.982 29.876 7549
+-109.856 29.876 7490
+-109.73 29.876 7485
+-109.604 29.876 7402
+-109.478 29.876 7372
+-109.352 29.876 7286
+-109.226 29.876 7231
+-109.1 29.876 7141
+-108.974 29.876 7047
+-108.848 29.876 6970
+-108.722 29.876 6855
+-108.596 29.876 6771
+-108.47 29.876 6681
+-108.344 29.876 6558
+-108.218 29.876 6439
+-108.092 29.876 6342
+-107.966 29.876 6226
+-107.84 29.876 6106
+-107.714 29.876 6010
+-107.588 29.876 5895
+-107.462 29.876 5779
+-107.336 29.876 5678
+-107.21 29.876 5524
+-107.084 29.876 5481
+-106.958 29.876 5385
+-106.832 29.876 5197
+-106.706 29.876 5057
+-106.58 29.876 4940
+-106.454 29.876 4854
+-106.328 29.876 4639
+-106.202 29.876 4708
+-106.076 29.876 4621
+-105.95 29.876 4528
+-105.824 29.876 4411
+-105.698 29.876 4363
+-105.572 29.876 4278
+-105.446 29.876 4167
+-105.32 29.876 4000
+-105.194 29.876 3860
+-105.068 29.876 3705
+-104.942 29.876 3543
+-104.816 29.876 3439
+-104.69 29.876 3418
+-104.564 29.876 3417
+-104.438 29.876 3431
+-104.312 29.876 3387
+-104.186 29.876 3328
+-104.06 29.876 3213
+-103.934 29.876 3095
+-103.808 29.876 2935
+-103.682 29.876 2719
+-103.556 29.876 2516
+-103.43 29.876 2354
+-103.304 29.876 2269
+-103.178 29.876 2255
+-103.052 29.876 2324
+-102.926 29.876 2393
+-102.8 29.876 2476
+-102.674 29.876 2549
+-102.548 29.876 2631
+-102.422 29.876 2671
+-102.296 29.876 2727
+-102.17 29.876 2774
+-102.044 29.876 2813
+-101.918 29.876 2846
+-101.792 29.876 2875
+-101.666 29.876 2899
+-101.54 29.876 2920
+-101.414 29.876 2939
+-101.288 29.876 2955
+-101.162 29.876 2969
+-101.036 29.876 2982
+-100.91 29.876 2994
+-100.784 29.876 2949
+-100.658 29.876 2947
+-100.532 29.876 2957
+-100.406 29.876 2870
+-100.28 29.876 2849
+-100.154 29.876 2849
+-100.028 29.876 2849
+-99.902 29.876 2847
+-99.776 29.876 2844
+-99.65 29.876 2841
+-99.524 29.876 2836
+-99.398 29.876 2831
+-99.272 29.876 2825
+-99.146 29.876 2818
+-99.02 29.876 2693
+-98.894 29.876 2683
+-98.768 29.876 2618
+-98.642 29.876 2606
+-98.516 29.876 2593
+-98.39 29.876 2558
+-98.264 29.876 2534
+-98.138 29.876 2484
+-98.012 29.876 2402
+-97.886 29.876 2388
+-97.76 29.876 2368
+-97.634 29.876 2338
+-97.508 29.876 2341
+-97.382 29.876 2330
+-97.256 29.876 2299
+-97.13 29.876 2325
+-97.004 29.876 2308
+-96.878 29.876 2312
+-96.752 29.876 2312
+-96.626 29.876 2298
+-96.5 29.876 2341
+-96.374 29.876 2392
+-96.248 29.876 2389
+-96.122 29.876 2370
+-95.996 29.876 2460
+-95.87 29.876 2457
+-95.744 29.876 2461
+-95.618 29.876 2390
+-95.492 29.876 2395
+-95.366 29.876 2401
+-95.24 29.876 2410
+-95.114 29.876 2374
+-94.988 29.876 2432
+-94.862 29.876 2395
+-94.736 29.876 2400
+-94.61 29.876 2372
+-94.484 29.876 2382
+-94.358 29.876 2387
+-94.232 29.876 2397
+-94.106 29.876 2407
+-93.98 29.876 2410
+-93.854 29.876 2420
+-93.728 29.876 2430
+-93.602 29.876 2439
+-93.476 29.876 2449
+-93.35 29.876 2440
+-93.224 29.876 2455
+-93.098 29.876 2455
+-92.972 29.876 2488
+-92.846 29.876 2505
+-92.72 29.876 2552
+-92.594 29.876 2566
+-92.468 29.876 2576
+-92.342 29.876 2586
+-92.216 29.876 2595
+-92.09 29.876 2604
+-91.964 29.876 2612
+-91.838 29.876 2620
+-91.712 29.876 2628
+-91.586 29.876 2636
+-91.46 29.876 2672
+-91.334 29.876 2679
+-91.208 29.876 2814
+-91.082 29.876 2817
+-90.956 29.876 2908
+-90.83 29.876 2912
+-90.704 29.876 2917
+-90.578 29.876 2923
+-90.452 29.876 2957
+-90.326 29.876 2960
+-90.2 29.876 3012
+-90.074 29.876 3014
+-89.948 29.876 3016
+-89.822 29.876 3045
+-89.696 29.876 3044
+-89.57 29.876 3043
+-89.444 29.876 3059
+-89.318 29.876 3095
+-89.192 29.876 3083
+-89.066 29.876 3065
+-88.94 29.876 3076
+-88.814 29.876 3030
+-88.688 29.876 2990
+-88.562 29.876 2860
+-88.436 29.876 2717
+-88.31 29.876 2641
+-88.184 29.876 2794
+-88.058 29.876 3099
+-87.932 29.876 3356
+-87.806 29.876 3526
+-87.68 29.876 3605
+-87.554 29.876 3616
+-87.428 29.876 3577
+-87.302 29.876 3659
+-87.176 29.876 3721
+-87.05 29.876 3898
+-86.924 29.876 4148
+-86.798 29.876 4352
+-86.672 29.876 4504
+-86.546 29.876 4584
+-86.42 29.876 4721
+-86.294 29.876 4824
+-86.168 29.876 4914
+-86.042 29.876 5040
+-85.916 29.876 5191
+-85.79 29.876 5327
+-85.664 29.876 5430
+-85.538 29.876 5503
+-85.412 29.876 5580
+-85.286 29.876 5663
+-85.16 29.876 5789
+-85.034 29.876 5916
+-84.908 29.876 6058
+-84.782 29.876 6057
+-84.656 29.876 6181
+-84.53 29.876 6351
+-84.404 29.876 6418
+-84.278 29.876 6604
+-84.152 29.876 6771
+-84.026 29.876 6864
+-83.9 29.876 6921
+-83.774 29.876 6964
+-83.648 29.876 7009
+-83.522 29.876 7107
+-83.396 29.876 7219
+-83.27 29.876 7293
+-83.144 29.876 7297
+-83.018 29.876 7344
+-82.892 29.876 7389
+-82.766 29.876 7454
+-82.64 29.876 7495
+-82.514 29.876 7522
+-82.388 29.876 7539
+-82.262 29.876 7508
+-82.136 29.876 7524
+-82.01 29.876 7510
+-81.884 29.876 7476
+-81.758 29.876 7468
+-81.632 29.876 7465
+-81.506 29.876 7401
+-81.38 29.876 7359
+-81.254 29.876 7315
+-81.128 29.876 7218
+-81.002 29.876 7196
+-80.876 29.876 7151
+-80.75 29.876 7013
+-80.624 29.876 6906
+-80.498 29.876 6792
+-80.372 29.876 6764
+-80.246 29.876 6703
+-80.12 29.876 6564
+-79.994 29.876 6440
+-79.868 29.876 6388
+-79.742 29.876 6228
+-79.616 29.876 6178
+-79.49 29.876 6101
+-79.364 29.876 5973
+-79.238 29.876 5863
+-79.112 29.876 5769
+-78.986 29.876 5654
+-78.86 29.876 5512
+-78.734 29.876 5365
+-78.608 29.876 5221
+-78.482 29.876 5102
+-78.356 29.876 4956
+-78.23 29.876 4820
+-78.104 29.876 4755
+-77.978 29.876 4603
+-77.852 29.876 4527
+-77.726 29.876 4408
+-77.6 29.876 4277
+-77.474 29.876 4159
+-77.348 29.876 4090
+-77.222 29.876 4026
+-77.096 29.876 3988
+-76.97 29.876 3969
+-76.844 29.876 3955
+-76.718 29.876 3916
+-76.592 29.876 3889
+-76.466 29.876 3860
+-76.34 29.876 3811
+-76.214 29.876 3772
+-76.088 29.876 3718
+-75.962 29.876 3691
+-75.836 29.876 3683
+-75.71 29.876 3639
+-75.584 29.876 3631
+-75.458 29.876 3606
+-75.332 29.876 3608
+-75.206 29.876 3546
+-75.08 29.876 3530
+-74.954 29.876 3531
+-74.828 29.876 3515
+-74.702 29.876 3448
+-74.576 29.876 3466
+-74.45 29.876 3466
+-74.324 29.876 3467
+-74.198 29.876 3439
+-74.072 29.876 3439
+-73.946 29.876 3439
+-73.82 29.876 3439
+-73.694 29.876 3439
+-73.568 29.876 3440
+-73.442 29.876 3440
+-73.316 29.876 3397
+-73.19 29.876 3397
+-73.064 29.876 3397
+-72.938 29.876 3317
+-72.812 29.876 3317
+-72.686 29.876 3317
+-72.56 29.876 3317
+-72.434 29.876 3317
+-72.308 29.876 3261
+-72.182 29.876 3261
+-72.056 29.876 3261
+-71.93 29.876 3262
+-71.804 29.876 3262
+-71.678 29.876 3252
+-71.552 29.876 3252
+-71.426 29.876 3252
+-71.3 29.876 3214
+-71.174 29.876 3213
+-71.048 29.876 3212
+-70.922 29.876 3190
+-70.796 29.876 3190
+-70.67 29.876 3167
+-70.544 29.876 3149
+-70.418 29.876 3149
+-70.292 29.876 3149
+-70.166 29.876 3149
+-70.04 29.876 3149
+-69.914 29.876 3149
+-69.788 29.876 3149
+-69.662 29.876 3149
+-69.536 29.876 3149
+-69.41 29.876 3149
+-69.284 29.876 3150
+-69.158 29.876 3054
+-69.032 29.876 3055
+-68.906 29.876 3055
+-68.78 29.876 3055
+-68.654 29.876 3056
+-68.528 29.876 3056
+-68.402 29.876 3056
+-68.276 29.876 3056
+-68.15 29.876 3057
+-68.024 29.876 3057
+-67.898 29.876 3057
+-67.772 29.876 3058
+-67.646 29.876 3058
+-67.52 29.876 3058
+-67.394 29.876 3058
+-67.268 29.876 3059
+-67.142 29.876 3059
+-67.016 29.876 3059
+-66.89 29.876 3059
+-66.764 29.876 3060
+-66.638 29.876 3060
+-66.512 29.876 3060
+-66.386 29.876 3060
+-66.26 29.876 3060
+-66.134 29.876 3061
+-66.008 29.876 3061
+-65.882 29.876 3061
+-65.756 29.876 3061
+-65.63 29.876 3062
+-65.504 29.876 3062
+-65.378 29.876 3062
+-65.252 29.876 3062
+-65.126 29.876 3062
+-128 29.824 2294
+-127.874 29.824 2268
+-127.748 29.824 2256
+-127.622 29.824 2284
+-127.496 29.824 2251
+-127.37 29.824 2215
+-127.244 29.824 2176
+-127.118 29.824 2133
+-126.992 29.824 2086
+-126.866 29.824 2035
+-126.74 29.824 2026
+-126.614 29.824 1969
+-126.488 29.824 1906
+-126.362 29.824 1843
+-126.236 29.824 1791
+-126.11 29.824 1709
+-125.984 29.824 1640
+-125.858 29.824 1544
+-125.732 29.824 1446
+-125.606 29.824 1384
+-125.48 29.824 1307
+-125.354 29.824 1240
+-125.228 29.824 1210
+-125.102 29.824 1222
+-124.976 29.824 1280
+-124.85 29.824 1382
+-124.724 29.824 1502
+-124.598 29.824 1606
+-124.472 29.824 1698
+-124.346 29.824 1784
+-124.22 29.824 1894
+-124.094 29.824 2034
+-123.968 29.824 2180
+-123.842 29.824 2340
+-123.716 29.824 2500
+-123.59 29.824 2647
+-123.464 29.824 2779
+-123.338 29.824 2889
+-123.212 29.824 2951
+-123.086 29.824 3060
+-122.96 29.824 3175
+-122.834 29.824 3202
+-122.708 29.824 3228
+-122.582 29.824 3260
+-122.456 29.824 3374
+-122.33 29.824 3398
+-122.204 29.824 3415
+-122.078 29.824 3419
+-121.952 29.824 3401
+-121.826 29.824 3371
+-121.7 29.824 3488
+-121.574 29.824 3709
+-121.448 29.824 3873
+-121.322 29.824 3947
+-121.196 29.824 4011
+-121.07 29.824 4165
+-120.944 29.824 4296
+-120.818 29.824 4380
+-120.692 29.824 4474
+-120.566 29.824 4615
+-120.44 29.824 4763
+-120.314 29.824 4888
+-120.188 29.824 5053
+-120.062 29.824 5166
+-119.936 29.824 5224
+-119.81 29.824 5268
+-119.684 29.824 5228
+-119.558 29.824 5376
+-119.432 29.824 5486
+-119.306 29.824 5558
+-119.18 29.824 5610
+-119.054 29.824 5682
+-118.928 29.824 5716
+-118.802 29.824 5801
+-118.676 29.824 5909
+-118.55 29.824 5939
+-118.424 29.824 6030
+-118.298 29.824 6105
+-118.172 29.824 6163
+-118.046 29.824 6235
+-117.92 29.824 6243
+-117.794 29.824 6283
+-117.668 29.824 6295
+-117.542 29.824 6346
+-117.416 29.824 6383
+-117.29 29.824 6394
+-117.164 29.824 6401
+-117.038 29.824 6408
+-116.912 29.824 6401
+-116.786 29.824 6358
+-116.66 29.824 6351
+-116.534 29.824 6326
+-116.408 29.824 6296
+-116.282 29.824 6275
+-116.156 29.824 6226
+-116.03 29.824 6191
+-115.904 29.824 6183
+-115.778 29.824 6114
+-115.652 29.824 6061
+-115.526 29.824 6015
+-115.4 29.824 5950
+-115.274 29.824 5839
+-115.148 29.824 5781
+-115.022 29.824 5703
+-114.896 29.824 5602
+-114.77 29.824 5504
+-114.644 29.824 5467
+-114.518 29.824 5393
+-114.392 29.824 5292
+-114.266 29.824 5234
+-114.14 29.824 5174
+-114.014 29.824 5140
+-113.888 29.824 5234
+-113.762 29.824 5367
+-113.636 29.824 5480
+-113.51 29.824 5564
+-113.384 29.824 5691
+-113.258 29.824 5795
+-113.132 29.824 5937
+-113.006 29.824 6036
+-112.88 29.824 6184
+-112.754 29.824 6218
+-112.628 29.824 6388
+-112.502 29.824 6478
+-112.376 29.824 6528
+-112.25 29.824 6658
+-112.124 29.824 6781
+-111.998 29.824 6837
+-111.872 29.824 6906
+-111.746 29.824 7055
+-111.62 29.824 7097
+-111.494 29.824 7205
+-111.368 29.824 7229
+-111.242 29.824 7331
+-111.116 29.824 7422
+-110.99 29.824 7453
+-110.864 29.824 7465
+-110.738 29.824 7508
+-110.612 29.824 7527
+-110.486 29.824 7540
+-110.36 29.824 7535
+-110.234 29.824 7551
+-110.108 29.824 7503
+-109.982 29.824 7496
+-109.856 29.824 7448
+-109.73 29.824 7403
+-109.604 29.824 7406
+-109.478 29.824 7294
+-109.352 29.824 7262
+-109.226 29.824 7108
+-109.1 29.824 7098
+-108.974 29.824 7002
+-108.848 29.824 6938
+-108.722 29.824 6819
+-108.596 29.824 6732
+-108.47 29.824 6630
+-108.344 29.824 6516
+-108.218 29.824 6415
+-108.092 29.824 6283
+-107.966 29.824 6217
+-107.84 29.824 6073
+-107.714 29.824 5947
+-107.588 29.824 5884
+-107.462 29.824 5735
+-107.336 29.824 5635
+-107.21 29.824 5505
+-107.084 29.824 5359
+-106.958 29.824 5332
+-106.832 29.824 5172
+-106.706 29.824 5067
+-106.58 29.824 4995
+-106.454 29.824 4876
+-106.328 29.824 4769
+-106.202 29.824 4748
+-106.076 29.824 4648
+-105.95 29.824 4566
+-105.824 29.824 4427
+-105.698 29.824 4350
+-105.572 29.824 4244
+-105.446 29.824 4090
+-105.32 29.824 3903
+-105.194 29.824 3759
+-105.068 29.824 3665
+-104.942 29.824 3513
+-104.816 29.824 3406
+-104.69 29.824 3398
+-104.564 29.824 3406
+-104.438 29.824 3426
+-104.312 29.824 3425
+-104.186 29.824 3360
+-104.06 29.824 3281
+-103.934 29.824 3152
+-103.808 29.824 3029
+-103.682 29.824 2884
+-103.556 29.824 2713
+-103.43 29.824 2586
+-103.304 29.824 2496
+-103.178 29.824 2481
+-103.052 29.824 2505
+-102.926 29.824 2506
+-102.8 29.824 2573
+-102.674 29.824 2642
+-102.548 29.824 2683
+-102.422 29.824 2740
+-102.296 29.824 2756
+-102.17 29.824 2797
+-102.044 29.824 2831
+-101.918 29.824 2861
+-101.792 29.824 2887
+-101.666 29.824 2909
+-101.54 29.824 2929
+-101.414 29.824 2946
+-101.288 29.824 2962
+-101.162 29.824 2975
+-101.036 29.824 2987
+-100.91 29.824 2998
+-100.784 29.824 3008
+-100.658 29.824 2961
+-100.532 29.824 2957
+-100.406 29.824 2872
+-100.28 29.824 2851
+-100.154 29.824 2851
+-100.028 29.824 2850
+-99.902 29.824 2849
+-99.776 29.824 2847
+-99.65 29.824 2843
+-99.524 29.824 2839
+-99.398 29.824 2834
+-99.272 29.824 2828
+-99.146 29.824 2822
+-99.02 29.824 2814
+-98.894 29.824 2687
+-98.768 29.824 2623
+-98.642 29.824 2612
+-98.516 29.824 2599
+-98.39 29.824 2565
+-98.264 29.824 2541
+-98.138 29.824 2492
+-98.012 29.824 2469
+-97.886 29.824 2396
+-97.76 29.824 2377
+-97.634 29.824 2348
+-97.508 29.824 2351
+-97.382 29.824 2341
+-97.256 29.824 2310
+-97.13 29.824 2336
+-97.004 29.824 2319
+-96.878 29.824 2324
+-96.752 29.824 2309
+-96.626 29.824 2311
+-96.5 29.824 2350
+-96.374 29.824 2401
+-96.248 29.824 2404
+-96.122 29.824 2384
+-95.996 29.824 2471
+-95.87 29.824 2474
+-95.744 29.824 2401
+-95.618 29.824 2406
+-95.492 29.824 2410
+-95.366 29.824 2419
+-95.24 29.824 2381
+-95.114 29.824 2388
+-94.988 29.824 2401
+-94.862 29.824 2405
+-94.736 29.824 2412
+-94.61 29.824 2385
+-94.484 29.824 2390
+-94.358 29.824 2399
+-94.232 29.824 2408
+-94.106 29.824 2410
+-93.98 29.824 2420
+-93.854 29.824 2429
+-93.728 29.824 2438
+-93.602 29.824 2447
+-93.476 29.824 2438
+-93.35 29.824 2454
+-93.224 29.824 2487
+-93.098 29.824 2487
+-92.972 29.824 2504
+-92.846 29.824 2580
+-92.72 29.824 2569
+-92.594 29.824 2579
+-92.468 29.824 2589
+-92.342 29.824 2598
+-92.216 29.824 2608
+-92.09 29.824 2616
+-91.964 29.824 2625
+-91.838 29.824 2633
+-91.712 29.824 2641
+-91.586 29.824 2680
+-91.46 29.824 2687
+-91.334 29.824 2694
+-91.208 29.824 2850
+-91.082 29.824 2854
+-90.956 29.824 2857
+-90.83 29.824 2928
+-90.704 29.824 2933
+-90.578 29.824 2996
+-90.452 29.824 2999
+-90.326 29.824 3053
+-90.2 29.824 3054
+-90.074 29.824 3055
+-89.948 29.824 3061
+-89.822 29.824 3103
+-89.696 29.824 3106
+-89.57 29.824 3102
+-89.444 29.824 3101
+-89.318 29.824 3111
+-89.192 29.824 3100
+-89.066 29.824 3131
+-88.94 29.824 3145
+-88.814 29.824 3099
+-88.688 29.824 3043
+-88.562 29.824 2990
+-88.436 29.824 2929
+-88.31 29.824 2923
+-88.184 29.824 3035
+-88.058 29.824 3244
+-87.932 29.824 3428
+-87.806 29.824 3559
+-87.68 29.824 3627
+-87.554 29.824 3642
+-87.428 29.824 3653
+-87.302 29.824 3692
+-87.176 29.824 3783
+-87.05 29.824 3954
+-86.924 29.824 4185
+-86.798 29.824 4394
+-86.672 29.824 4504
+-86.546 29.824 4505
+-86.42 29.824 4682
+-86.294 29.824 4744
+-86.168 29.824 4845
+-86.042 29.824 4982
+-85.916 29.824 5178
+-85.79 29.824 5317
+-85.664 29.824 5459
+-85.538 29.824 5468
+-85.412 29.824 5520
+-85.286 29.824 5660
+-85.16 29.824 5767
+-85.034 29.824 5920
+-84.908 29.824 6035
+-84.782 29.824 6127
+-84.656 29.824 6255
+-84.53 29.824 6361
+-84.404 29.824 6477
+-84.278 29.824 6685
+-84.152 29.824 6837
+-84.026 29.824 6904
+-83.9 29.824 6952
+-83.774 29.824 6992
+-83.648 29.824 7068
+-83.522 29.824 7190
+-83.396 29.824 7220
+-83.27 29.824 7307
+-83.144 29.824 7349
+-83.018 29.824 7406
+-82.892 29.824 7475
+-82.766 29.824 7508
+-82.64 29.824 7573
+-82.514 29.824 7575
+-82.388 29.824 7601
+-82.262 29.824 7600
+-82.136 29.824 7595
+-82.01 29.824 7569
+-81.884 29.824 7548
+-81.758 29.824 7521
+-81.632 29.824 7529
+-81.506 29.824 7494
+-81.38 29.824 7418
+-81.254 29.824 7355
+-81.128 29.824 7316
+-81.002 29.824 7238
+-80.876 29.824 7181
+-80.75 29.824 7047
+-80.624 29.824 6976
+-80.498 29.824 6869
+-80.372 29.824 6792
+-80.246 29.824 6696
+-80.12 29.824 6569
+-79.994 29.824 6564
+-79.868 29.824 6392
+-79.742 29.824 6244
+-79.616 29.824 6168
+-79.49 29.824 6113
+-79.364 29.824 5924
+-79.238 29.824 5806
+-79.112 29.824 5745
+-78.986 29.824 5690
+-78.86 29.824 5554
+-78.734 29.824 5341
+-78.608 29.824 5173
+-78.482 29.824 5136
+-78.356 29.824 4964
+-78.23 29.824 4915
+-78.104 29.824 4812
+-77.978 29.824 4692
+-77.852 29.824 4542
+-77.726 29.824 4384
+-77.6 29.824 4216
+-77.474 29.824 4114
+-77.348 29.824 4013
+-77.222 29.824 3926
+-77.096 29.824 3923
+-76.97 29.824 3944
+-76.844 29.824 3940
+-76.718 29.824 3920
+-76.592 29.824 3889
+-76.466 29.824 3840
+-76.34 29.824 3798
+-76.214 29.824 3746
+-76.088 29.824 3726
+-75.962 29.824 3685
+-75.836 29.824 3657
+-75.71 29.824 3630
+-75.584 29.824 3626
+-75.458 29.824 3629
+-75.332 29.824 3614
+-75.206 29.824 3598
+-75.08 29.824 3602
+-74.954 29.824 3519
+-74.828 29.824 3497
+-74.702 29.824 3469
+-74.576 29.824 3470
+-74.45 29.824 3470
+-74.324 29.824 3470
+-74.198 29.824 3470
+-74.072 29.824 3444
+-73.946 29.824 3443
+-73.82 29.824 3443
+-73.694 29.824 3440
+-73.568 29.824 3440
+-73.442 29.824 3440
+-73.316 29.824 3440
+-73.19 29.824 3441
+-73.064 29.824 3441
+-72.938 29.824 3441
+-72.812 29.824 3323
+-72.686 29.824 3323
+-72.56 29.824 3351
+-72.434 29.824 3268
+-72.308 29.824 3268
+-72.182 29.824 3268
+-72.056 29.824 3268
+-71.93 29.824 3268
+-71.804 29.824 3257
+-71.678 29.824 3257
+-71.552 29.824 3257
+-71.426 29.824 3252
+-71.3 29.824 3251
+-71.174 29.824 3251
+-71.048 29.824 3194
+-70.922 29.824 3193
+-70.796 29.824 3170
+-70.67 29.824 3152
+-70.544 29.824 3152
+-70.418 29.824 3152
+-70.292 29.824 3152
+-70.166 29.824 3152
+-70.04 29.824 3152
+-69.914 29.824 3152
+-69.788 29.824 3152
+-69.662 29.824 3151
+-69.536 29.824 3151
+-69.41 29.824 3151
+-69.284 29.824 3056
+-69.158 29.824 3056
+-69.032 29.824 3056
+-68.906 29.824 3057
+-68.78 29.824 3057
+-68.654 29.824 3057
+-68.528 29.824 3058
+-68.402 29.824 3058
+-68.276 29.824 3058
+-68.15 29.824 3058
+-68.024 29.824 3058
+-67.898 29.824 3059
+-67.772 29.824 3059
+-67.646 29.824 3059
+-67.52 29.824 3059
+-67.394 29.824 3060
+-67.268 29.824 3060
+-67.142 29.824 3060
+-67.016 29.824 3060
+-66.89 29.824 3060
+-66.764 29.824 3061
+-66.638 29.824 3061
+-66.512 29.824 3061
+-66.386 29.824 3061
+-66.26 29.824 3061
+-66.134 29.824 3062
+-66.008 29.824 3062
+-65.882 29.824 3062
+-65.756 29.824 3062
+-65.63 29.824 3062
+-65.504 29.824 3063
+-65.378 29.824 3063
+-65.252 29.824 3063
+-65.126 29.824 3063
+-128 29.772 2277
+-127.874 29.772 2265
+-127.748 29.772 2294
+-127.622 29.772 2262
+-127.496 29.772 2227
+-127.37 29.772 2189
+-127.244 29.772 2147
+-127.118 29.772 2101
+-126.992 29.772 2051
+-126.866 29.772 2043
+-126.74 29.772 1987
+-126.614 29.772 1924
+-126.488 29.772 1860
+-126.362 29.772 1807
+-126.236 29.772 1721
+-126.11 29.772 1646
+-125.984 29.772 1540
+-125.858 29.772 1424
+-125.732 29.772 1335
+-125.606 29.772 1217
+-125.48 29.772 1095
+-125.354 29.772 998
+-125.228 29.772 940
+-125.102 29.772 943
+-124.976 29.772 1022
+-124.85 29.772 1157
+-124.724 29.772 1300
+-124.598 29.772 1424
+-124.472 29.772 1514
+-124.346 29.772 1601
+-124.22 29.772 1698
+-124.094 29.772 1819
+-123.968 29.772 1985
+-123.842 29.772 2178
+-123.716 29.772 2375
+-123.59 29.772 2544
+-123.464 29.772 2706
+-123.338 29.772 2819
+-123.212 29.772 2913
+-123.086 29.772 3009
+-122.96 29.772 3142
+-122.834 29.772 3165
+-122.708 29.772 3175
+-122.582 29.772 3198
+-122.456 29.772 3311
+-122.33 29.772 3362
+-122.204 29.772 3403
+-122.078 29.772 3432
+-121.952 29.772 3437
+-121.826 29.772 3442
+-121.7 29.772 3550
+-121.574 29.772 3709
+-121.448 29.772 3838
+-121.322 29.772 3890
+-121.196 29.772 3956
+-121.07 29.772 4108
+-120.944 29.772 4247
+-120.818 29.772 4370
+-120.692 29.772 4495
+-120.566 29.772 4580
+-120.44 29.772 4653
+-120.314 29.772 4750
+-120.188 29.772 4896
+-120.062 29.772 5101
+-119.936 29.772 5176
+-119.81 29.772 5213
+-119.684 29.772 5238
+-119.558 29.772 5334
+-119.432 29.772 5432
+-119.306 29.772 5517
+-119.18 29.772 5517
+-119.054 29.772 5649
+-118.928 29.772 5758
+-118.802 29.772 5755
+-118.676 29.772 5848
+-118.55 29.772 5916
+-118.424 29.772 5964
+-118.298 29.772 6036
+-118.172 29.772 6104
+-118.046 29.772 6159
+-117.92 29.772 6191
+-117.794 29.772 6228
+-117.668 29.772 6259
+-117.542 29.772 6270
+-117.416 29.772 6302
+-117.29 29.772 6316
+-117.164 29.772 6323
+-117.038 29.772 6330
+-116.912 29.772 6341
+-116.786 29.772 6327
+-116.66 29.772 6293
+-116.534 29.772 6244
+-116.408 29.772 6216
+-116.282 29.772 6192
+-116.156 29.772 6179
+-116.03 29.772 6149
+-115.904 29.772 6105
+-115.778 29.772 6066
+-115.652 29.772 6018
+-115.526 29.772 5961
+-115.4 29.772 5914
+-115.274 29.772 5832
+-115.148 29.772 5756
+-115.022 29.772 5675
+-114.896 29.772 5572
+-114.77 29.772 5483
+-114.644 29.772 5395
+-114.518 29.772 5321
+-114.392 29.772 5257
+-114.266 29.772 5165
+-114.14 29.772 5124
+-114.014 29.772 5136
+-113.888 29.772 5241
+-113.762 29.772 5344
+-113.636 29.772 5500
+-113.51 29.772 5525
+-113.384 29.772 5665
+-113.258 29.772 5774
+-113.132 29.772 5896
+-113.006 29.772 6067
+-112.88 29.772 6167
+-112.754 29.772 6183
+-112.628 29.772 6335
+-112.502 29.772 6470
+-112.376 29.772 6554
+-112.25 29.772 6603
+-112.124 29.772 6715
+-111.998 29.772 6833
+-111.872 29.772 6897
+-111.746 29.772 7018
+-111.62 29.772 7080
+-111.494 29.772 7145
+-111.368 29.772 7169
+-111.242 29.772 7265
+-111.116 29.772 7306
+-110.99 29.772 7379
+-110.864 29.772 7434
+-110.738 29.772 7436
+-110.612 29.772 7453
+-110.486 29.772 7498
+-110.36 29.772 7483
+-110.234 29.772 7469
+-110.108 29.772 7433
+-109.982 29.772 7423
+-109.856 29.772 7384
+-109.73 29.772 7364
+-109.604 29.772 7328
+-109.478 29.772 7295
+-109.352 29.772 7216
+-109.226 29.772 7120
+-109.1 29.772 7051
+-108.974 29.772 6941
+-108.848 29.772 6855
+-108.722 29.772 6750
+-108.596 29.772 6674
+-108.47 29.772 6543
+-108.344 29.772 6516
+-108.218 29.772 6403
+-108.092 29.772 6286
+-107.966 29.772 6188
+-107.84 29.772 6071
+-107.714 29.772 5952
+-107.588 29.772 5840
+-107.462 29.772 5683
+-107.336 29.772 5613
+-107.21 29.772 5524
+-107.084 29.772 5415
+-106.958 29.772 5275
+-106.832 29.772 5173
+-106.706 29.772 4998
+-106.58 29.772 5003
+-106.454 29.772 4909
+-106.328 29.772 4814
+-106.202 29.772 4756
+-106.076 29.772 4636
+-105.95 29.772 4564
+-105.824 29.772 4422
+-105.698 29.772 4328
+-105.572 29.772 4197
+-105.446 29.772 3987
+-105.32 29.772 3748
+-105.194 29.772 3625
+-105.068 29.772 3576
+-104.942 29.772 3400
+-104.816 29.772 3266
+-104.69 29.772 3301
+-104.564 29.772 3381
+-104.438 29.772 3413
+-104.312 29.772 3427
+-104.186 29.772 3412
+-104.06 29.772 3330
+-103.934 29.772 3240
+-103.808 29.772 3111
+-103.682 29.772 3004
+-103.556 29.772 2895
+-103.43 29.772 2771
+-103.304 29.772 2691
+-103.178 29.772 2658
+-103.052 29.772 2613
+-102.926 29.772 2644
+-102.8 29.772 2669
+-102.674 29.772 2684
+-102.548 29.772 2730
+-102.422 29.772 2782
+-102.296 29.772 2822
+-102.17 29.772 2823
+-102.044 29.772 2853
+-101.918 29.772 2878
+-101.792 29.772 2901
+-101.666 29.772 2921
+-101.54 29.772 2939
+-101.414 29.772 2955
+-101.288 29.772 2969
+-101.162 29.772 2982
+-101.036 29.772 2993
+-100.91 29.772 3004
+-100.784 29.772 3013
+-100.658 29.772 3022
+-100.532 29.772 2938
+-100.406 29.772 2874
+-100.28 29.772 2853
+-100.154 29.772 2853
+-100.028 29.772 2853
+-99.902 29.772 2851
+-99.776 29.772 2849
+-99.65 29.772 2846
+-99.524 29.772 2842
+-99.398 29.772 2837
+-99.272 29.772 2832
+-99.146 29.772 2825
+-99.02 29.772 2818
+-98.894 29.772 2810
+-98.768 29.772 2650
+-98.642 29.772 2617
+-98.516 29.772 2605
+-98.39 29.772 2572
+-98.264 29.772 2548
+-98.138 29.772 2499
+-98.012 29.772 2477
+-97.886 29.772 2463
+-97.76 29.772 2386
+-97.634 29.772 2357
+-97.508 29.772 2361
+-97.382 29.772 2352
+-97.256 29.772 2320
+-97.13 29.772 2347
+-97.004 29.772 2287
+-96.878 29.772 2300
+-96.752 29.772 2321
+-96.626 29.772 2323
+-96.5 29.772 2363
+-96.374 29.772 2414
+-96.248 29.772 2394
+-96.122 29.772 2393
+-95.996 29.772 2487
+-95.87 29.772 2413
+-95.744 29.772 2416
+-95.618 29.772 2420
+-95.492 29.772 2429
+-95.366 29.772 2389
+-95.24 29.772 2395
+-95.114 29.772 2354
+-94.988 29.772 2410
+-94.862 29.772 2417
+-94.736 29.772 2389
+-94.61 29.772 2343
+-94.484 29.772 2351
+-94.358 29.772 2360
+-94.232 29.772 2411
+-94.106 29.772 2420
+-93.98 29.772 2429
+-93.854 29.772 2438
+-93.728 29.772 2446
+-93.602 29.772 2436
+-93.476 29.772 2454
+-93.35 29.772 2488
+-93.224 29.772 2487
+-93.098 29.772 2504
+-92.972 29.772 2494
+-92.846 29.772 2572
+-92.72 29.772 2582
+-92.594 29.772 2592
+-92.468 29.772 2602
+-92.342 29.772 2611
+-92.216 29.772 2620
+-92.09 29.772 2629
+-91.964 29.772 2637
+-91.838 29.772 2646
+-91.712 29.772 2687
+-91.586 29.772 2695
+-91.46 29.772 2702
+-91.334 29.772 2862
+-91.208 29.772 2865
+-91.082 29.772 2868
+-90.956 29.772 2872
+-90.83 29.772 2942
+-90.704 29.772 3008
+-90.578 29.772 3011
+-90.452 29.772 3068
+-90.326 29.772 3069
+-90.2 29.772 3119
+-90.074 29.772 3118
+-89.948 29.772 3116
+-89.822 29.772 3115
+-89.696 29.772 3116
+-89.57 29.772 3113
+-89.444 29.772 3118
+-89.318 29.772 3160
+-89.192 29.772 3170
+-89.066 29.772 3202
+-88.94 29.772 3175
+-88.814 29.772 3162
+-88.688 29.772 3133
+-88.562 29.772 3114
+-88.436 29.772 3110
+-88.31 29.772 3150
+-88.184 29.772 3233
+-88.058 29.772 3359
+-87.932 29.772 3493
+-87.806 29.772 3592
+-87.68 29.772 3659
+-87.554 29.772 3721
+-87.428 29.772 3751
+-87.302 29.772 3792
+-87.176 29.772 3863
+-87.05 29.772 3996
+-86.924 29.772 4206
+-86.798 29.772 4381
+-86.672 29.772 4530
+-86.546 29.772 4606
+-86.42 29.772 4731
+-86.294 29.772 4836
+-86.168 29.772 4925
+-86.042 29.772 5039
+-85.916 29.772 5190
+-85.79 29.772 5319
+-85.664 29.772 5455
+-85.538 29.772 5514
+-85.412 29.772 5586
+-85.286 29.772 5703
+-85.16 29.772 5825
+-85.034 29.772 5967
+-84.908 29.772 6131
+-84.782 29.772 6233
+-84.656 29.772 6327
+-84.53 29.772 6404
+-84.404 29.772 6542
+-84.278 29.772 6716
+-84.152 29.772 6846
+-84.026 29.772 6829
+-83.9 29.772 6958
+-83.774 29.772 7042
+-83.648 29.772 7132
+-83.522 29.772 7225
+-83.396 29.772 7320
+-83.27 29.772 7336
+-83.144 29.772 7423
+-83.018 29.772 7448
+-82.892 29.772 7526
+-82.766 29.772 7563
+-82.64 29.772 7606
+-82.514 29.772 7601
+-82.388 29.772 7665
+-82.262 29.772 7663
+-82.136 29.772 7662
+-82.01 29.772 7643
+-81.884 29.772 7630
+-81.758 29.772 7594
+-81.632 29.772 7532
+-81.506 29.772 7526
+-81.38 29.772 7470
+-81.254 29.772 7426
+-81.128 29.772 7323
+-81.002 29.772 7295
+-80.876 29.772 7190
+-80.75 29.772 7121
+-80.624 29.772 7034
+-80.498 29.772 6926
+-80.372 29.772 6838
+-80.246 29.772 6746
+-80.12 29.772 6616
+-79.994 29.772 6566
+-79.868 29.772 6437
+-79.742 29.772 6329
+-79.616 29.772 6213
+-79.49 29.772 6105
+-79.364 29.772 5968
+-79.238 29.772 5840
+-79.112 29.772 5742
+-78.986 29.772 5635
+-78.86 29.772 5571
+-78.734 29.772 5389
+-78.608 29.772 5303
+-78.482 29.772 5205
+-78.356 29.772 5064
+-78.23 29.772 4958
+-78.104 29.772 4859
+-77.978 29.772 4730
+-77.852 29.772 4552
+-77.726 29.772 4393
+-77.6 29.772 4197
+-77.474 29.772 4155
+-77.348 29.772 3946
+-77.222 29.772 3782
+-77.096 29.772 3890
+-76.97 29.772 3927
+-76.844 29.772 3925
+-76.718 29.772 3898
+-76.592 29.772 3848
+-76.466 29.772 3798
+-76.34 29.772 3736
+-76.214 29.772 3721
+-76.088 29.772 3669
+-75.962 29.772 3641
+-75.836 29.772 3638
+-75.71 29.772 3642
+-75.584 29.772 3621
+-75.458 29.772 3631
+-75.332 29.772 3593
+-75.206 29.772 3598
+-75.08 29.772 3584
+-74.954 29.772 3580
+-74.828 29.772 3539
+-74.702 29.772 3472
+-74.576 29.772 3470
+-74.45 29.772 3470
+-74.324 29.772 3470
+-74.198 29.772 3470
+-74.072 29.772 3470
+-73.946 29.772 3471
+-73.82 29.772 3471
+-73.694 29.772 3472
+-73.568 29.772 3472
+-73.442 29.772 3444
+-73.316 29.772 3444
+-73.19 29.772 3444
+-73.064 29.772 3444
+-72.938 29.772 3444
+-72.812 29.772 3445
+-72.686 29.772 3356
+-72.56 29.772 3356
+-72.434 29.772 3275
+-72.308 29.772 3275
+-72.182 29.772 3275
+-72.056 29.772 3274
+-71.93 29.772 3263
+-71.804 29.772 3262
+-71.678 29.772 3268
+-71.552 29.772 3256
+-71.426 29.772 3255
+-71.3 29.772 3255
+-71.174 29.772 3197
+-71.048 29.772 3197
+-70.922 29.772 3174
+-70.796 29.772 3155
+-70.67 29.772 3155
+-70.544 29.772 3155
+-70.418 29.772 3154
+-70.292 29.772 3154
+-70.166 29.772 3154
+-70.04 29.772 3154
+-69.914 29.772 3154
+-69.788 29.772 3154
+-69.662 29.772 3153
+-69.536 29.772 3153
+-69.41 29.772 3058
+-69.284 29.772 3058
+-69.158 29.772 3058
+-69.032 29.772 3058
+-68.906 29.772 3059
+-68.78 29.772 3059
+-68.654 29.772 3059
+-68.528 29.772 3059
+-68.402 29.772 3059
+-68.276 29.772 3060
+-68.15 29.772 3060
+-68.024 29.772 3060
+-67.898 29.772 3060
+-67.772 29.772 3060
+-67.646 29.772 3061
+-67.52 29.772 3061
+-67.394 29.772 3061
+-67.268 29.772 3061
+-67.142 29.772 3061
+-67.016 29.772 3061
+-66.89 29.772 3062
+-66.764 29.772 3062
+-66.638 29.772 3062
+-66.512 29.772 3062
+-66.386 29.772 3062
+-66.26 29.772 3063
+-66.134 29.772 3063
+-66.008 29.772 3063
+-65.882 29.772 3063
+-65.756 29.772 3063
+-65.63 29.772 3063
+-65.504 29.772 3064
+-65.378 29.772 3064
+-65.252 29.772 3064
+-65.126 29.772 3064
+-128 29.72 2276
+-127.874 29.72 2306
+-127.748 29.72 2275
+-127.622 29.72 2242
+-127.496 29.72 2205
+-127.37 29.72 2165
+-127.244 29.72 2121
+-127.118 29.72 2073
+-126.992 29.72 2066
+-126.866 29.72 2012
+-126.74 29.72 1952
+-126.614 29.72 1890
+-126.488 29.72 1838
+-126.362 29.72 1755
+-126.236 29.72 1680
+-126.11 29.72 1572
+-125.984 29.72 1450
+-125.858 29.72 1349
+-125.732 29.72 1208
+-125.606 29.72 1047
+-125.48 29.72 889
+-125.354 29.72 748
+-125.228 29.72 654
+-125.102 29.72 646
+-124.976 29.72 742
+-124.85 29.72 913
+-124.724 29.72 1107
+-124.598 29.72 1259
+-124.472 29.72 1359
+-124.346 29.72 1408
+-124.22 29.72 1459
+-124.094 29.72 1574
+-123.968 29.72 1765
+-123.842 29.72 2001
+-123.716 29.72 2236
+-123.59 29.72 2447
+-123.464 29.72 2634
+-123.338 29.72 2773
+-123.212 29.72 2877
+-123.086 29.72 2974
+-122.96 29.72 3089
+-122.834 29.72 3104
+-122.708 29.72 3113
+-122.582 29.72 3119
+-122.456 29.72 3219
+-122.33 29.72 3275
+-122.204 29.72 3370
+-122.078 29.72 3427
+-121.952 29.72 3469
+-121.826 29.72 3518
+-121.7 29.72 3615
+-121.574 29.72 3722
+-121.448 29.72 3829
+-121.322 29.72 3857
+-121.196 29.72 3915
+-121.07 29.72 4079
+-120.944 29.72 4225
+-120.818 29.72 4319
+-120.692 29.72 4461
+-120.566 29.72 4574
+-120.44 29.72 4576
+-120.314 29.72 4694
+-120.188 29.72 4798
+-120.062 29.72 5036
+-119.936 29.72 5114
+-119.81 29.72 5097
+-119.684 29.72 5221
+-119.558 29.72 5322
+-119.432 29.72 5390
+-119.306 29.72 5455
+-119.18 29.72 5550
+-119.054 29.72 5630
+-118.928 29.72 5679
+-118.802 29.72 5743
+-118.676 29.72 5780
+-118.55 29.72 5863
+-118.424 29.72 5922
+-118.298 29.72 5975
+-118.172 29.72 6058
+-118.046 29.72 6097
+-117.92 29.72 6135
+-117.794 29.72 6146
+-117.668 29.72 6181
+-117.542 29.72 6230
+-117.416 29.72 6244
+-117.29 29.72 6256
+-117.164 29.72 6284
+-117.038 29.72 6253
+-116.912 29.72 6266
+-116.786 29.72 6255
+-116.66 29.72 6235
+-116.534 29.72 6200
+-116.408 29.72 6213
+-116.282 29.72 6150
+-116.156 29.72 6119
+-116.03 29.72 6092
+-115.904 29.72 6037
+-115.778 29.72 6014
+-115.652 29.72 5975
+-115.526 29.72 5925
+-115.4 29.72 5843
+-115.274 29.72 5809
+-115.148 29.72 5717
+-115.022 29.72 5636
+-114.896 29.72 5536
+-114.77 29.72 5476
+-114.644 29.72 5387
+-114.518 29.72 5271
+-114.392 29.72 5170
+-114.266 29.72 5077
+-114.14 29.72 5061
+-114.014 29.72 5029
+-113.888 29.72 5177
+-113.762 29.72 5333
+-113.636 29.72 5410
+-113.51 29.72 5476
+-113.384 29.72 5612
+-113.258 29.72 5727
+-113.132 29.72 5853
+-113.006 29.72 6013
+-112.88 29.72 6120
+-112.754 29.72 6228
+-112.628 29.72 6342
+-112.502 29.72 6422
+-112.376 29.72 6455
+-112.25 29.72 6615
+-112.124 29.72 6678
+-111.998 29.72 6774
+-111.872 29.72 6853
+-111.746 29.72 6954
+-111.62 29.72 7035
+-111.494 29.72 7059
+-111.368 29.72 7129
+-111.242 29.72 7210
+-111.116 29.72 7296
+-110.99 29.72 7355
+-110.864 29.72 7360
+-110.738 29.72 7380
+-110.612 29.72 7404
+-110.486 29.72 7408
+-110.36 29.72 7412
+-110.234 29.72 7400
+-110.108 29.72 7414
+-109.982 29.72 7386
+-109.856 29.72 7320
+-109.73 29.72 7292
+-109.604 29.72 7235
+-109.478 29.72 7209
+-109.352 29.72 7141
+-109.226 29.72 7041
+-109.1 29.72 6961
+-108.974 29.72 6888
+-108.848 29.72 6781
+-108.722 29.72 6751
+-108.596 29.72 6656
+-108.47 29.72 6602
+-108.344 29.72 6490
+-108.218 29.72 6390
+-108.092 29.72 6276
+-107.966 29.72 6176
+-107.84 29.72 6057
+-107.714 29.72 5940
+-107.588 29.72 5792
+-107.462 29.72 5724
+-107.336 29.72 5617
+-107.21 29.72 5494
+-107.084 29.72 5395
+-106.958 29.72 5299
+-106.832 29.72 5172
+-106.706 29.72 5055
+-106.58 29.72 4977
+-106.454 29.72 4902
+-106.328 29.72 4775
+-106.202 29.72 4686
+-106.076 29.72 4574
+-105.95 29.72 4536
+-105.824 29.72 4419
+-105.698 29.72 4327
+-105.572 29.72 4157
+-105.446 29.72 3942
+-105.32 29.72 3673
+-105.194 29.72 3537
+-105.068 29.72 3548
+-104.942 29.72 3314
+-104.816 29.72 3140
+-104.69 29.72 3242
+-104.564 29.72 3357
+-104.438 29.72 3402
+-104.312 29.72 3432
+-104.186 29.72 3426
+-104.06 29.72 3396
+-103.934 29.72 3304
+-103.808 29.72 3215
+-103.682 29.72 3081
+-103.556 29.72 2984
+-103.43 29.72 2915
+-103.304 29.72 2831
+-103.178 29.72 2786
+-103.052 29.72 2740
+-102.926 29.72 2753
+-102.8 29.72 2778
+-102.674 29.72 2786
+-102.548 29.72 2786
+-102.422 29.72 2818
+-102.296 29.72 2857
+-102.17 29.72 2886
+-102.044 29.72 2875
+-101.918 29.72 2897
+-101.792 29.72 2917
+-101.666 29.72 2935
+-101.54 29.72 2951
+-101.414 29.72 2965
+-101.288 29.72 2978
+-101.162 29.72 2989
+-101.036 29.72 3000
+-100.91 29.72 3010
+-100.784 29.72 3018
+-100.658 29.72 2931
+-100.532 29.72 2939
+-100.406 29.72 2877
+-100.28 29.72 2833
+-100.154 29.72 2856
+-100.028 29.72 2855
+-99.902 29.72 2854
+-99.776 29.72 2851
+-99.65 29.72 2848
+-99.524 29.72 2845
+-99.398 29.72 2840
+-99.272 29.72 2835
+-99.146 29.72 2829
+-99.02 29.72 2822
+-98.894 29.72 2814
+-98.768 29.72 2705
+-98.642 29.72 2631
+-98.516 29.72 2611
+-98.39 29.72 2578
+-98.264 29.72 2558
+-98.138 29.72 2506
+-98.012 29.72 2485
+-97.886 29.72 2472
+-97.76 29.72 2394
+-97.634 29.72 2366
+-97.508 29.72 2371
+-97.382 29.72 2362
+-97.256 29.72 2329
+-97.13 29.72 2357
+-97.004 29.72 2297
+-96.878 29.72 2310
+-96.752 29.72 2332
+-96.626 29.72 2332
+-96.5 29.72 2273
+-96.374 29.72 2362
+-96.248 29.72 2402
+-96.122 29.72 2406
+-95.996 29.72 2423
+-95.87 29.72 2426
+-95.744 29.72 2429
+-95.618 29.72 2438
+-95.492 29.72 2397
+-95.366 29.72 2402
+-95.24 29.72 2360
+-95.114 29.72 2415
+-94.988 29.72 2421
+-94.862 29.72 2355
+-94.736 29.72 2345
+-94.61 29.72 2353
+-94.484 29.72 2362
+-94.358 29.72 2370
+-94.232 29.72 2378
+-94.106 29.72 2429
+-93.98 29.72 2438
+-93.854 29.72 2446
+-93.728 29.72 2435
+-93.602 29.72 2454
+-93.476 29.72 2490
+-93.35 29.72 2485
+-93.224 29.72 2504
+-93.098 29.72 2495
+-92.972 29.72 2575
+-92.846 29.72 2585
+-92.72 29.72 2595
+-92.594 29.72 2605
+-92.468 29.72 2651
+-92.342 29.72 2660
+-92.216 29.72 2669
+-92.09 29.72 2677
+-91.964 29.72 2686
+-91.838 29.72 2693
+-91.712 29.72 2702
+-91.586 29.72 2709
+-91.46 29.72 2872
+-91.334 29.72 2875
+-91.208 29.72 2879
+-91.082 29.72 2882
+-90.956 29.72 2949
+-90.83 29.72 2951
+-90.704 29.72 3022
+-90.578 29.72 3082
+-90.452 29.72 3083
+-90.326 29.72 3135
+-90.2 29.72 3135
+-90.074 29.72 3134
+-89.948 29.72 3132
+-89.822 29.72 3129
+-89.696 29.72 3185
+-89.57 29.72 3177
+-89.444 29.72 3179
+-89.318 29.72 3222
+-89.192 29.72 3240
+-89.066 29.72 3221
+-88.94 29.72 3223
+-88.814 29.72 3209
+-88.688 29.72 3211
+-88.562 29.72 3195
+-88.436 29.72 3198
+-88.31 29.72 3250
+-88.184 29.72 3341
+-88.058 29.72 3434
+-87.932 29.72 3533
+-87.806 29.72 3625
+-87.68 29.72 3709
+-87.554 29.72 3790
+-87.428 29.72 3824
+-87.302 29.72 3846
+-87.176 29.72 3869
+-87.05 29.72 3955
+-86.924 29.72 4199
+-86.798 29.72 4386
+-86.672 29.72 4548
+-86.546 29.72 4669
+-86.42 29.72 4806
+-86.294 29.72 4932
+-86.168 29.72 5050
+-86.042 29.72 5123
+-85.916 29.72 5196
+-85.79 29.72 5331
+-85.664 29.72 5457
+-85.538 29.72 5493
+-85.412 29.72 5601
+-85.286 29.72 5767
+-85.16 29.72 5933
+-85.034 29.72 6066
+-84.908 29.72 6205
+-84.782 29.72 6274
+-84.656 29.72 6365
+-84.53 29.72 6469
+-84.404 29.72 6580
+-84.278 29.72 6711
+-84.152 29.72 6872
+-84.026 29.72 6953
+-83.9 29.72 7022
+-83.774 29.72 7053
+-83.648 29.72 7153
+-83.522 29.72 7203
+-83.396 29.72 7358
+-83.27 29.72 7433
+-83.144 29.72 7466
+-83.018 29.72 7508
+-82.892 29.72 7550
+-82.766 29.72 7653
+-82.64 29.72 7655
+-82.514 29.72 7715
+-82.388 29.72 7726
+-82.262 29.72 7706
+-82.136 29.72 7697
+-82.01 29.72 7720
+-81.884 29.72 7676
+-81.758 29.72 7655
+-81.632 29.72 7619
+-81.506 29.72 7562
+-81.38 29.72 7523
+-81.254 29.72 7464
+-81.128 29.72 7394
+-81.002 29.72 7362
+-80.876 29.72 7266
+-80.75 29.72 7166
+-80.624 29.72 7083
+-80.498 29.72 6986
+-80.372 29.72 6871
+-80.246 29.72 6831
+-80.12 29.72 6699
+-79.994 29.72 6634
+-79.868 29.72 6473
+-79.742 29.72 6330
+-79.616 29.72 6245
+-79.49 29.72 6121
+-79.364 29.72 6008
+-79.238 29.72 5875
+-79.112 29.72 5781
+-78.986 29.72 5667
+-78.86 29.72 5520
+-78.734 29.72 5460
+-78.608 29.72 5331
+-78.482 29.72 5239
+-78.356 29.72 5129
+-78.23 29.72 4994
+-78.104 29.72 4877
+-77.978 29.72 4739
+-77.852 29.72 4580
+-77.726 29.72 4411
+-77.6 29.72 4248
+-77.474 29.72 4139
+-77.348 29.72 4021
+-77.222 29.72 3932
+-77.096 29.72 3936
+-76.97 29.72 3938
+-76.844 29.72 3883
+-76.718 29.72 3850
+-76.592 29.72 3795
+-76.466 29.72 3747
+-76.34 29.72 3684
+-76.214 29.72 3626
+-76.088 29.72 3601
+-75.962 29.72 3604
+-75.836 29.72 3615
+-75.71 29.72 3610
+-75.584 29.72 3615
+-75.458 29.72 3624
+-75.332 29.72 3607
+-75.206 29.72 3597
+-75.08 29.72 3575
+-74.954 29.72 3534
+-74.828 29.72 3547
+-74.702 29.72 3548
+-74.576 29.72 3495
+-74.45 29.72 3496
+-74.324 29.72 3496
+-74.198 29.72 3497
+-74.072 29.72 3484
+-73.946 29.72 3485
+-73.82 29.72 3486
+-73.694 29.72 3486
+-73.568 29.72 3487
+-73.442 29.72 3488
+-73.316 29.72 3489
+-73.19 29.72 3489
+-73.064 29.72 3490
+-72.938 29.72 3491
+-72.812 29.72 3361
+-72.686 29.72 3361
+-72.56 29.72 3361
+-72.434 29.72 3362
+-72.308 29.72 3282
+-72.182 29.72 3281
+-72.056 29.72 3268
+-71.93 29.72 3267
+-71.804 29.72 3272
+-71.678 29.72 3260
+-71.552 29.72 3259
+-71.426 29.72 3259
+-71.3 29.72 3201
+-71.174 29.72 3200
+-71.048 29.72 3177
+-70.922 29.72 3158
+-70.796 29.72 3158
+-70.67 29.72 3157
+-70.544 29.72 3157
+-70.418 29.72 3157
+-70.292 29.72 3157
+-70.166 29.72 3156
+-70.04 29.72 3156
+-69.914 29.72 3156
+-69.788 29.72 3156
+-69.662 29.72 3155
+-69.536 29.72 3060
+-69.41 29.72 3060
+-69.284 29.72 3060
+-69.158 29.72 3060
+-69.032 29.72 3060
+-68.906 29.72 3060
+-68.78 29.72 3061
+-68.654 29.72 3061
+-68.528 29.72 3061
+-68.402 29.72 3061
+-68.276 29.72 3061
+-68.15 29.72 3061
+-68.024 29.72 3061
+-67.898 29.72 3062
+-67.772 29.72 3062
+-67.646 29.72 3062
+-67.52 29.72 3062
+-67.394 29.72 3062
+-67.268 29.72 3062
+-67.142 29.72 3062
+-67.016 29.72 3063
+-66.89 29.72 3063
+-66.764 29.72 3063
+-66.638 29.72 3063
+-66.512 29.72 3063
+-66.386 29.72 3063
+-66.26 29.72 3064
+-66.134 29.72 3064
+-66.008 29.72 3064
+-65.882 29.72 3064
+-65.756 29.72 3064
+-65.63 29.72 3064
+-65.504 29.72 3064
+-65.378 29.72 3065
+-65.252 29.72 3065
+-65.126 29.72 3065
+-128 29.668 2320
+-127.874 29.668 2291
+-127.748 29.668 2259
+-127.622 29.668 2224
+-127.496 29.668 2186
+-127.37 29.668 2144
+-127.244 29.668 2098
+-127.118 29.668 2094
+-126.992 29.668 2043
+-126.866 29.668 1986
+-126.74 29.668 1928
+-126.614 29.668 1881
+-126.488 29.668 1802
+-126.362 29.668 1733
+-126.236 29.668 1629
+-126.11 29.668 1511
+-125.984 29.668 1411
+-125.858 29.668 1267
+-125.732 29.668 1092
+-125.606 29.668 904
+-125.48 29.668 705
+-125.354 29.668 520
+-125.228 29.668 386
+-125.102 29.668 351
+-124.976 29.668 452
+-124.85 29.668 677
+-124.724 29.668 939
+-124.598 29.668 1145
+-124.472 29.668 1223
+-124.346 29.668 1212
+-124.22 29.668 1217
+-124.094 29.668 1321
+-123.968 29.668 1540
+-123.842 29.668 1820
+-123.716 29.668 2111
+-123.59 29.668 2372
+-123.464 29.668 2577
+-123.338 29.668 2732
+-123.212 29.668 2844
+-123.086 29.668 2927
+-122.96 29.668 3052
+-122.834 29.668 3052
+-122.708 29.668 3024
+-122.582 29.668 3004
+-122.456 29.668 3057
+-122.33 29.668 3152
+-122.204 29.668 3272
+-122.078 29.668 3373
+-121.952 29.668 3455
+-121.826 29.668 3524
+-121.7 29.668 3620
+-121.574 29.668 3706
+-121.448 29.668 3777
+-121.322 29.668 3842
+-121.196 29.668 3900
+-121.07 29.668 4051
+-120.944 29.668 4172
+-120.818 29.668 4233
+-120.692 29.668 4371
+-120.566 29.668 4530
+-120.44 29.668 4626
+-120.314 29.668 4717
+-120.188 29.668 4830
+-120.062 29.668 5004
+-119.936 29.668 5074
+-119.81 29.668 5097
+-119.684 29.668 5184
+-119.558 29.668 5257
+-119.432 29.668 5315
+-119.306 29.668 5402
+-119.18 29.668 5496
+-119.054 29.668 5573
+-118.928 29.668 5614
+-118.802 29.668 5681
+-118.676 29.668 5731
+-118.55 29.668 5799
+-118.424 29.668 5875
+-118.298 29.668 5943
+-118.172 29.668 5990
+-118.046 29.668 6020
+-117.92 29.668 6068
+-117.794 29.668 6099
+-117.668 29.668 6134
+-117.542 29.668 6137
+-117.416 29.668 6185
+-117.29 29.668 6226
+-117.164 29.668 6217
+-117.038 29.668 6222
+-116.912 29.668 6190
+-116.786 29.668 6189
+-116.66 29.668 6157
+-116.534 29.668 6144
+-116.408 29.668 6131
+-116.282 29.668 6135
+-116.156 29.668 6082
+-116.03 29.668 6043
+-115.904 29.668 6016
+-115.778 29.668 5967
+-115.652 29.668 5881
+-115.526 29.668 5860
+-115.4 29.668 5785
+-115.274 29.668 5711
+-115.148 29.668 5636
+-115.022 29.668 5608
+-114.896 29.668 5528
+-114.77 29.668 5444
+-114.644 29.668 5335
+-114.518 29.668 5194
+-114.392 29.668 5088
+-114.266 29.668 5054
+-114.14 29.668 4946
+-114.014 29.668 5058
+-113.888 29.668 5140
+-113.762 29.668 5270
+-113.636 29.668 5395
+-113.51 29.668 5440
+-113.384 29.668 5576
+-113.258 29.668 5709
+-113.132 29.668 5838
+-113.006 29.668 5955
+-112.88 29.668 6091
+-112.754 29.668 6202
+-112.628 29.668 6318
+-112.502 29.668 6378
+-112.376 29.668 6488
+-112.25 29.668 6546
+-112.124 29.668 6624
+-111.998 29.668 6738
+-111.872 29.668 6830
+-111.746 29.668 6914
+-111.62 29.668 6983
+-111.494 29.668 7078
+-111.368 29.668 7099
+-111.242 29.668 7165
+-111.116 29.668 7233
+-110.99 29.668 7278
+-110.864 29.668 7314
+-110.738 29.668 7338
+-110.612 29.668 7351
+-110.486 29.668 7384
+-110.36 29.668 7361
+-110.234 29.668 7351
+-110.108 29.668 7343
+-109.982 29.668 7321
+-109.856 29.668 7279
+-109.73 29.668 7234
+-109.604 29.668 7214
+-109.478 29.668 7145
+-109.352 29.668 7068
+-109.226 29.668 6989
+-109.1 29.668 6930
+-108.974 29.668 6839
+-108.848 29.668 6720
+-108.722 29.668 6650
+-108.596 29.668 6557
+-108.47 29.668 6558
+-108.344 29.668 6475
+-108.218 29.668 6358
+-108.092 29.668 6229
+-107.966 29.668 6158
+-107.84 29.668 6028
+-107.714 29.668 5909
+-107.588 29.668 5779
+-107.462 29.668 5683
+-107.336 29.668 5579
+-107.21 29.668 5465
+-107.084 29.668 5378
+-106.958 29.668 5243
+-106.832 29.668 5164
+-106.706 29.668 4989
+-106.58 29.668 4884
+-106.454 29.668 4801
+-106.328 29.668 4709
+-106.202 29.668 4577
+-106.076 29.668 4453
+-105.95 29.668 4448
+-105.824 29.668 4398
+-105.698 29.668 4296
+-105.572 29.668 4169
+-105.446 29.668 3974
+-105.32 29.668 3726
+-105.194 29.668 3614
+-105.068 29.668 3576
+-104.942 29.668 3415
+-104.816 29.668 3269
+-104.69 29.668 3322
+-104.564 29.668 3405
+-104.438 29.668 3444
+-104.312 29.668 3438
+-104.186 29.668 3434
+-104.06 29.668 3410
+-103.934 29.668 3343
+-103.808 29.668 3265
+-103.682 29.668 3185
+-103.556 29.668 3051
+-103.43 29.668 2986
+-103.304 29.668 2944
+-103.178 29.668 2916
+-103.052 29.668 2844
+-102.926 29.668 2844
+-102.8 29.668 2856
+-102.674 29.668 2875
+-102.548 29.668 2871
+-102.422 29.668 2861
+-102.296 29.668 2884
+-102.17 29.668 2906
+-102.044 29.668 2927
+-101.918 29.668 2917
+-101.792 29.668 2933
+-101.666 29.668 2949
+-101.54 29.668 2963
+-101.414 29.668 2975
+-101.288 29.668 2987
+-101.162 29.668 2997
+-101.036 29.668 3007
+-100.91 29.668 3016
+-100.784 29.668 2925
+-100.658 29.668 2934
+-100.532 29.668 2942
+-100.406 29.668 2879
+-100.28 29.668 2836
+-100.154 29.668 2836
+-100.028 29.668 2835
+-99.902 29.668 2833
+-99.776 29.668 2830
+-99.65 29.668 2827
+-99.524 29.668 2823
+-99.398 29.668 2818
+-99.272 29.668 2813
+-99.146 29.668 2807
+-99.02 29.668 2800
+-98.894 29.668 2792
+-98.768 29.668 2666
+-98.642 29.668 2635
+-98.516 29.668 2626
+-98.39 29.668 2585
+-98.264 29.668 2519
+-98.138 29.668 2513
+-98.012 29.668 2492
+-97.886 29.668 2480
+-97.76 29.668 2402
+-97.634 29.668 2375
+-97.508 29.668 2380
+-97.382 29.668 2371
+-97.256 29.668 2338
+-97.13 29.668 2293
+-97.004 29.668 2307
+-96.878 29.668 2320
+-96.752 29.668 2340
+-96.626 29.668 2342
+-96.5 29.668 2283
+-96.374 29.668 2361
+-96.248 29.668 2414
+-96.122 29.668 2418
+-95.996 29.668 2436
+-95.87 29.668 2439
+-95.744 29.668 2447
+-95.618 29.668 2404
+-95.492 29.668 2409
+-95.366 29.668 2366
+-95.24 29.668 2421
+-95.114 29.668 2426
+-94.988 29.668 2359
+-94.862 29.668 2349
+-94.736 29.668 2356
+-94.61 29.668 2363
+-94.484 29.668 2371
+-94.358 29.668 2379
+-94.232 29.668 2387
+-94.106 29.668 2395
+-93.98 29.668 2403
+-93.854 29.668 2390
+-93.728 29.668 2425
+-93.602 29.668 2448
+-93.476 29.668 2445
+-93.35 29.668 2461
+-93.224 29.668 2496
+-93.098 29.668 2617
+-92.972 29.668 2627
+-92.846 29.668 2637
+-92.72 29.668 2646
+-92.594 29.668 2656
+-92.468 29.668 2665
+-92.342 29.668 2674
+-92.216 29.668 2683
+-92.09 29.668 2691
+-91.964 29.668 2699
+-91.838 29.668 2708
+-91.712 29.668 2716
+-91.586 29.668 2914
+-91.46 29.668 2917
+-91.334 29.668 2920
+-91.208 29.668 2923
+-91.082 29.668 2961
+-90.956 29.668 2963
+-90.83 29.668 3032
+-90.704 29.668 3094
+-90.578 29.668 3096
+-90.452 29.668 3150
+-90.326 29.668 3150
+-90.2 29.668 3149
+-90.074 29.668 3149
+-89.948 29.668 3144
+-89.822 29.668 3203
+-89.696 29.668 3260
+-89.57 29.668 3249
+-89.444 29.668 3236
+-89.318 29.668 3227
+-89.192 29.668 3274
+-89.066 29.668 3261
+-88.94 29.668 3263
+-88.814 29.668 3256
+-88.688 29.668 3235
+-88.562 29.668 3223
+-88.436 29.668 3228
+-88.31 29.668 3261
+-88.184 29.668 3344
+-88.058 29.668 3460
+-87.932 29.668 3575
+-87.806 29.668 3700
+-87.68 29.668 3782
+-87.554 29.668 3820
+-87.428 29.668 3847
+-87.302 29.668 3850
+-87.176 29.668 3814
+-87.05 29.668 3924
+-86.924 29.668 4173
+-86.798 29.668 4399
+-86.672 29.668 4563
+-86.546 29.668 4715
+-86.42 29.668 4865
+-86.294 29.668 4991
+-86.168 29.668 5104
+-86.042 29.668 5126
+-85.916 29.668 5187
+-85.79 29.668 5324
+-85.664 29.668 5471
+-85.538 29.668 5497
+-85.412 29.668 5633
+-85.286 29.668 5827
+-85.16 29.668 6007
+-85.034 29.668 6131
+-84.908 29.668 6236
+-84.782 29.668 6308
+-84.656 29.668 6415
+-84.53 29.668 6511
+-84.404 29.668 6627
+-84.278 29.668 6759
+-84.152 29.668 6929
+-84.026 29.668 7017
+-83.9 29.668 7026
+-83.774 29.668 7096
+-83.648 29.668 7193
+-83.522 29.668 7292
+-83.396 29.668 7361
+-83.27 29.668 7442
+-83.144 29.668 7516
+-83.018 29.668 7552
+-82.892 29.668 7611
+-82.766 29.668 7693
+-82.64 29.668 7697
+-82.514 29.668 7709
+-82.388 29.668 7789
+-82.262 29.668 7736
+-82.136 29.668 7745
+-82.01 29.668 7763
+-81.884 29.668 7725
+-81.758 29.668 7703
+-81.632 29.668 7676
+-81.506 29.668 7620
+-81.38 29.668 7573
+-81.254 29.668 7496
+-81.128 29.668 7483
+-81.002 29.668 7434
+-80.876 29.668 7321
+-80.75 29.668 7202
+-80.624 29.668 7096
+-80.498 29.668 6973
+-80.372 29.668 6913
+-80.246 29.668 6804
+-80.12 29.668 6759
+-79.994 29.668 6641
+-79.868 29.668 6521
+-79.742 29.668 6392
+-79.616 29.668 6233
+-79.49 29.668 6111
+-79.364 29.668 6057
+-79.238 29.668 5916
+-79.112 29.668 5859
+-78.986 29.668 5727
+-78.86 29.668 5599
+-78.734 29.668 5470
+-78.608 29.668 5371
+-78.482 29.668 5236
+-78.356 29.668 5117
+-78.23 29.668 4956
+-78.104 29.668 4862
+-77.978 29.668 4778
+-77.852 29.668 4639
+-77.726 29.668 4469
+-77.6 29.668 4334
+-77.474 29.668 4226
+-77.348 29.668 4108
+-77.222 29.668 4035
+-77.096 29.668 3956
+-76.97 29.668 3894
+-76.844 29.668 3849
+-76.718 29.668 3823
+-76.592 29.668 3736
+-76.466 29.668 3641
+-76.34 29.668 3553
+-76.214 29.668 3520
+-76.088 29.668 3531
+-75.962 29.668 3558
+-75.836 29.668 3569
+-75.71 29.668 3586
+-75.584 29.668 3602
+-75.458 29.668 3576
+-75.332 29.668 3586
+-75.206 29.668 3566
+-75.08 29.668 3571
+-74.954 29.668 3542
+-74.828 29.668 3544
+-74.702 29.668 3547
+-74.576 29.668 3550
+-74.45 29.668 3498
+-74.324 29.668 3499
+-74.198 29.668 3486
+-74.072 29.668 3487
+-73.946 29.668 3487
+-73.82 29.668 3488
+-73.694 29.668 3489
+-73.568 29.668 3490
+-73.442 29.668 3490
+-73.316 29.668 3491
+-73.19 29.668 3492
+-73.064 29.668 3492
+-72.938 29.668 3367
+-72.812 29.668 3367
+-72.686 29.668 3367
+-72.56 29.668 3367
+-72.434 29.668 3367
+-72.308 29.668 3325
+-72.182 29.668 3274
+-72.056 29.668 3273
+-71.93 29.668 3277
+-71.804 29.668 3264
+-71.678 29.668 3263
+-71.552 29.668 3263
+-71.426 29.668 3205
+-71.3 29.668 3204
+-71.174 29.668 3181
+-71.048 29.668 3162
+-70.922 29.668 3161
+-70.796 29.668 3160
+-70.67 29.668 3160
+-70.544 29.668 3160
+-70.418 29.668 3159
+-70.292 29.668 3159
+-70.166 29.668 3158
+-70.04 29.668 3158
+-69.914 29.668 3158
+-69.788 29.668 3157
+-69.662 29.668 3062
+-69.536 29.668 3062
+-69.41 29.668 3062
+-69.284 29.668 3062
+-69.158 29.668 3062
+-69.032 29.668 3062
+-68.906 29.668 3062
+-68.78 29.668 3062
+-68.654 29.668 3062
+-68.528 29.668 3062
+-68.402 29.668 3063
+-68.276 29.668 3063
+-68.15 29.668 3063
+-68.024 29.668 3063
+-67.898 29.668 3063
+-67.772 29.668 3063
+-67.646 29.668 3063
+-67.52 29.668 3063
+-67.394 29.668 3063
+-67.268 29.668 3064
+-67.142 29.668 3064
+-67.016 29.668 3064
+-66.89 29.668 3064
+-66.764 29.668 3064
+-66.638 29.668 3064
+-66.512 29.668 3064
+-66.386 29.668 3064
+-66.26 29.668 3065
+-66.134 29.668 3065
+-66.008 29.668 3065
+-65.882 29.668 3065
+-65.756 29.668 3065
+-65.63 29.668 3065
+-65.504 29.668 3065
+-65.378 29.668 3065
+-65.252 29.668 3066
+-65.126 29.668 3066
+-128 29.616 2307
+-127.874 29.616 2277
+-127.748 29.616 2244
+-127.622 29.616 2208
+-127.496 29.616 2169
+-127.37 29.616 2126
+-127.244 29.616 2124
+-127.118 29.616 2076
+-126.992 29.616 2024
+-126.866 29.616 1971
+-126.74 29.616 1929
+-126.614 29.616 1856
+-126.488 29.616 1796
+-126.362 29.616 1700
+-126.236 29.616 1591
+-126.11 29.616 1503
+-125.984 29.616 1370
+-125.858 29.616 1202
+-125.732 29.616 1014
+-125.606 29.616 802
+-125.48 29.616 575
+-125.354 29.616 357
+-125.228 29.616 183
+-125.102 29.616 114
+-124.976 29.616 217
+-124.85 29.616 489
+-124.724 29.616 833
+-124.598 29.616 1069
+-124.472 29.616 1123
+-124.346 29.616 1062
+-124.22 29.616 1021
+-124.094 29.616 1114
+-123.968 29.616 1354
+-123.842 29.616 1687
+-123.716 29.616 2023
+-123.59 29.616 2308
+-123.464 29.616 2532
+-123.338 29.616 2699
+-123.212 29.616 2824
+-123.086 29.616 2902
+-122.96 29.616 3020
+-122.834 29.616 3001
+-122.708 29.616 2959
+-122.582 29.616 2884
+-122.456 29.616 2852
+-122.33 29.616 2964
+-122.204 29.616 3156
+-122.078 29.616 3299
+-121.952 29.616 3403
+-121.826 29.616 3519
+-121.7 29.616 3597
+-121.574 29.616 3644
+-121.448 29.616 3661
+-121.322 29.616 3753
+-121.196 29.616 3875
+-121.07 29.616 4062
+-120.944 29.616 4156
+-120.818 29.616 4156
+-120.692 29.616 4264
+-120.566 29.616 4447
+-120.44 29.616 4623
+-120.314 29.616 4748
+-120.188 29.616 4838
+-120.062 29.616 4941
+-119.936 29.616 5034
+-119.81 29.616 5011
+-119.684 29.616 5129
+-119.558 29.616 5178
+-119.432 29.616 5229
+-119.306 29.616 5341
+-119.18 29.616 5445
+-119.054 29.616 5522
+-118.928 29.616 5553
+-118.802 29.616 5647
+-118.676 29.616 5684
+-118.55 29.616 5767
+-118.424 29.616 5804
+-118.298 29.616 5890
+-118.172 29.616 5905
+-118.046 29.616 5973
+-117.92 29.616 6010
+-117.794 29.616 6044
+-117.668 29.616 6089
+-117.542 29.616 6123
+-117.416 29.616 6137
+-117.29 29.616 6143
+-117.164 29.616 6122
+-117.038 29.616 6164
+-116.912 29.616 6156
+-116.786 29.616 6134
+-116.66 29.616 6104
+-116.534 29.616 6082
+-116.408 29.616 6068
+-116.282 29.616 6027
+-116.156 29.616 6028
+-116.03 29.616 5988
+-115.904 29.616 5944
+-115.778 29.616 5885
+-115.652 29.616 5829
+-115.526 29.616 5805
+-115.4 29.616 5697
+-115.274 29.616 5654
+-115.148 29.616 5614
+-115.022 29.616 5569
+-114.896 29.616 5488
+-114.77 29.616 5356
+-114.644 29.616 5238
+-114.518 29.616 5129
+-114.392 29.616 5022
+-114.266 29.616 4962
+-114.14 29.616 4974
+-114.014 29.616 5041
+-113.888 29.616 5098
+-113.762 29.616 5261
+-113.636 29.616 5354
+-113.51 29.616 5491
+-113.384 29.616 5605
+-113.258 29.616 5678
+-113.132 29.616 5819
+-113.006 29.616 5939
+-112.88 29.616 6043
+-112.754 29.616 6130
+-112.628 29.616 6218
+-112.502 29.616 6344
+-112.376 29.616 6417
+-112.25 29.616 6503
+-112.124 29.616 6608
+-111.998 29.616 6714
+-111.872 29.616 6787
+-111.746 29.616 6854
+-111.62 29.616 6940
+-111.494 29.616 7006
+-111.368 29.616 7074
+-111.242 29.616 7134
+-111.116 29.616 7170
+-110.99 29.616 7231
+-110.864 29.616 7287
+-110.738 29.616 7291
+-110.612 29.616 7304
+-110.486 29.616 7315
+-110.36 29.616 7321
+-110.234 29.616 7283
+-110.108 29.616 7273
+-109.982 29.616 7257
+-109.856 29.616 7247
+-109.73 29.616 7205
+-109.604 29.616 7104
+-109.478 29.616 7082
+-109.352 29.616 7012
+-109.226 29.616 6963
+-109.1 29.616 6864
+-108.974 29.616 6775
+-108.848 29.616 6694
+-108.722 29.616 6627
+-108.596 29.616 6532
+-108.47 29.616 6493
+-108.344 29.616 6395
+-108.218 29.616 6286
+-108.092 29.616 6183
+-107.966 29.616 6067
+-107.84 29.616 5961
+-107.714 29.616 5825
+-107.588 29.616 5772
+-107.462 29.616 5668
+-107.336 29.616 5535
+-107.21 29.616 5438
+-107.084 29.616 5329
+-106.958 29.616 5145
+-106.832 29.616 5085
+-106.706 29.616 4917
+-106.58 29.616 4807
+-106.454 29.616 4681
+-106.328 29.616 4690
+-106.202 29.616 4495
+-106.076 29.616 4332
+-105.95 29.616 4391
+-105.824 29.616 4379
+-105.698 29.616 4294
+-105.572 29.616 4192
+-105.446 29.616 4015
+-105.32 29.616 3852
+-105.194 29.616 3737
+-105.068 29.616 3660
+-104.942 29.616 3562
+-104.816 29.616 3456
+-104.69 29.616 3456
+-104.564 29.616 3496
+-104.438 29.616 3506
+-104.312 29.616 3482
+-104.186 29.616 3438
+-104.06 29.616 3404
+-103.934 29.616 3373
+-103.808 29.616 3290
+-103.682 29.616 3224
+-103.556 29.616 3151
+-103.43 29.616 3080
+-103.304 29.616 3028
+-103.178 29.616 2939
+-103.052 29.616 2926
+-102.926 29.616 2923
+-102.8 29.616 2922
+-102.674 29.616 2933
+-102.548 29.616 2947
+-102.422 29.616 2934
+-102.296 29.616 2917
+-102.17 29.616 2934
+-102.044 29.616 2951
+-101.918 29.616 2966
+-101.792 29.616 2950
+-101.666 29.616 2963
+-101.54 29.616 2975
+-101.414 29.616 2986
+-101.288 29.616 2996
+-101.162 29.616 3006
+-101.036 29.616 3014
+-100.91 29.616 2920
+-100.784 29.616 2929
+-100.658 29.616 2937
+-100.532 29.616 2944
+-100.406 29.616 2882
+-100.28 29.616 2839
+-100.154 29.616 2839
+-100.028 29.616 2837
+-99.902 29.616 2836
+-99.776 29.616 2833
+-99.65 29.616 2830
+-99.524 29.616 2826
+-99.398 29.616 2821
+-99.272 29.616 2816
+-99.146 29.616 2810
+-99.02 29.616 2804
+-98.894 29.616 2797
+-98.768 29.616 2670
+-98.642 29.616 2661
+-98.516 29.616 2630
+-98.39 29.616 2599
+-98.264 29.616 2525
+-98.138 29.616 2520
+-98.012 29.616 2499
+-97.886 29.616 2487
+-97.76 29.616 2410
+-97.634 29.616 2383
+-97.508 29.616 2389
+-97.382 29.616 2381
+-97.256 29.616 2347
+-97.13 29.616 2302
+-97.004 29.616 2316
+-96.878 29.616 2329
+-96.752 29.616 2349
+-96.626 29.616 2290
+-96.5 29.616 2293
+-96.374 29.616 2372
+-96.248 29.616 2425
+-96.122 29.616 2429
+-95.996 29.616 2448
+-95.87 29.616 2455
+-95.744 29.616 2412
+-95.618 29.616 2416
+-95.492 29.616 2372
+-95.366 29.616 2427
+-95.24 29.616 2432
+-95.114 29.616 2363
+-94.988 29.616 2352
+-94.862 29.616 2359
+-94.736 29.616 2365
+-94.61 29.616 2373
+-94.484 29.616 2380
+-94.358 29.616 2387
+-94.232 29.616 2394
+-94.106 29.616 2402
+-93.98 29.616 2389
+-93.854 29.616 2425
+-93.728 29.616 2449
+-93.602 29.616 2443
+-93.476 29.616 2436
+-93.35 29.616 2462
+-93.224 29.616 2463
+-93.098 29.616 2631
+-92.972 29.616 2641
+-92.846 29.616 2651
+-92.72 29.616 2660
+-92.594 29.616 2669
+-92.468 29.616 2679
+-92.342 29.616 2688
+-92.216 29.616 2696
+-92.09 29.616 2705
+-91.964 29.616 2713
+-91.838 29.616 2722
+-91.712 29.616 2925
+-91.586 29.616 2927
+-91.46 29.616 2930
+-91.334 29.616 2934
+-91.208 29.616 2973
+-91.082 29.616 2974
+-90.956 29.616 3028
+-90.83 29.616 3119
+-90.704 29.616 3138
+-90.578 29.616 3177
+-90.452 29.616 3164
+-90.326 29.616 3164
+-90.2 29.616 3163
+-90.074 29.616 3184
+-89.948 29.616 3220
+-89.822 29.616 3281
+-89.696 29.616 3272
+-89.57 29.616 3290
+-89.444 29.616 3276
+-89.318 29.616 3267
+-89.192 29.616 3279
+-89.066 29.616 3292
+-88.94 29.616 3268
+-88.814 29.616 3240
+-88.688 29.616 3225
+-88.562 29.616 3196
+-88.436 29.616 3183
+-88.31 29.616 3206
+-88.184 29.616 3302
+-88.058 29.616 3464
+-87.932 29.616 3594
+-87.806 29.616 3719
+-87.68 29.616 3797
+-87.554 29.616 3841
+-87.428 29.616 3849
+-87.302 29.616 3850
+-87.176 29.616 3880
+-87.05 29.616 3980
+-86.924 29.616 4208
+-86.798 29.616 4414
+-86.672 29.616 4595
+-86.546 29.616 4749
+-86.42 29.616 4894
+-86.294 29.616 4965
+-86.168 29.616 5088
+-86.042 29.616 5153
+-85.916 29.616 5138
+-85.79 29.616 5293
+-85.664 29.616 5483
+-85.538 29.616 5586
+-85.412 29.616 5745
+-85.286 29.616 5886
+-85.16 29.616 6042
+-85.034 29.616 6096
+-84.908 29.616 6237
+-84.782 29.616 6341
+-84.656 29.616 6448
+-84.53 29.616 6543
+-84.404 29.616 6668
+-84.278 29.616 6827
+-84.152 29.616 6932
+-84.026 29.616 7041
+-83.9 29.616 7095
+-83.774 29.616 7150
+-83.648 29.616 7234
+-83.522 29.616 7360
+-83.396 29.616 7418
+-83.27 29.616 7506
+-83.144 29.616 7598
+-83.018 29.616 7613
+-82.892 29.616 7681
+-82.766 29.616 7728
+-82.64 29.616 7786
+-82.514 29.616 7776
+-82.388 29.616 7785
+-82.262 29.616 7789
+-82.136 29.616 7782
+-82.01 29.616 7786
+-81.884 29.616 7783
+-81.758 29.616 7788
+-81.632 29.616 7742
+-81.506 29.616 7681
+-81.38 29.616 7664
+-81.254 29.616 7591
+-81.128 29.616 7477
+-81.002 29.616 7458
+-80.876 29.616 7330
+-80.75 29.616 7290
+-80.624 29.616 7164
+-80.498 29.616 7045
+-80.372 29.616 6957
+-80.246 29.616 6910
+-80.12 29.616 6737
+-79.994 29.616 6696
+-79.868 29.616 6571
+-79.742 29.616 6463
+-79.616 29.616 6261
+-79.49 29.616 6138
+-79.364 29.616 6083
+-79.238 29.616 5984
+-79.112 29.616 5836
+-78.986 29.616 5713
+-78.86 29.616 5616
+-78.734 29.616 5512
+-78.608 29.616 5357
+-78.482 29.616 5202
+-78.356 29.616 5069
+-78.23 29.616 4944
+-78.104 29.616 4814
+-77.978 29.616 4798
+-77.852 29.616 4684
+-77.726 29.616 4467
+-77.6 29.616 4364
+-77.474 29.616 4304
+-77.348 29.616 4182
+-77.222 29.616 4037
+-77.096 29.616 3887
+-76.97 29.616 3780
+-76.844 29.616 3790
+-76.718 29.616 3786
+-76.592 29.616 3670
+-76.466 29.616 3508
+-76.34 29.616 3380
+-76.214 29.616 3385
+-76.088 29.616 3442
+-75.962 29.616 3490
+-75.836 29.616 3532
+-75.71 29.616 3565
+-75.584 29.616 3551
+-75.458 29.616 3568
+-75.332 29.616 3554
+-75.206 29.616 3560
+-75.08 29.616 3566
+-74.954 29.616 3537
+-74.828 29.616 3542
+-74.702 29.616 3545
+-74.576 29.616 3549
+-74.45 29.616 3552
+-74.324 29.616 3487
+-74.198 29.616 3488
+-74.072 29.616 3489
+-73.946 29.616 3489
+-73.82 29.616 3490
+-73.694 29.616 3491
+-73.568 29.616 3492
+-73.442 29.616 3492
+-73.316 29.616 3493
+-73.19 29.616 3494
+-73.064 29.616 3372
+-72.938 29.616 3372
+-72.812 29.616 3372
+-72.686 29.616 3372
+-72.56 29.616 3371
+-72.434 29.616 3329
+-72.308 29.616 3328
+-72.182 29.616 3279
+-72.056 29.616 3281
+-71.93 29.616 3269
+-71.804 29.616 3268
+-71.678 29.616 3267
+-71.552 29.616 3209
+-71.426 29.616 3208
+-71.3 29.616 3184
+-71.174 29.616 3165
+-71.048 29.616 3164
+-70.922 29.616 3164
+-70.796 29.616 3163
+-70.67 29.616 3162
+-70.544 29.616 3162
+-70.418 29.616 3161
+-70.292 29.616 3161
+-70.166 29.616 3160
+-70.04 29.616 3160
+-69.914 29.616 3160
+-69.788 29.616 3064
+-69.662 29.616 3064
+-69.536 29.616 3064
+-69.41 29.616 3064
+-69.284 29.616 3064
+-69.158 29.616 3064
+-69.032 29.616 3064
+-68.906 29.616 3064
+-68.78 29.616 3064
+-68.654 29.616 3064
+-68.528 29.616 3064
+-68.402 29.616 3064
+-68.276 29.616 3064
+-68.15 29.616 3064
+-68.024 29.616 3064
+-67.898 29.616 3064
+-67.772 29.616 3064
+-67.646 29.616 3065
+-67.52 29.616 3065
+-67.394 29.616 3065
+-67.268 29.616 3065
+-67.142 29.616 3065
+-67.016 29.616 3065
+-66.89 29.616 3065
+-66.764 29.616 3065
+-66.638 29.616 3065
+-66.512 29.616 3065
+-66.386 29.616 3065
+-66.26 29.616 3066
+-66.134 29.616 3066
+-66.008 29.616 3066
+-65.882 29.616 3066
+-65.756 29.616 3066
+-65.63 29.616 3066
+-65.504 29.616 3066
+-65.378 29.616 3066
+-65.252 29.616 3066
+-65.126 29.616 3066
+-128 29.564 2296
+-127.874 29.564 2265
+-127.748 29.564 2231
+-127.622 29.564 2195
+-127.496 29.564 2155
+-127.37 29.564 2155
+-127.244 29.564 2111
+-127.118 29.564 2063
+-126.992 29.564 2016
+-126.866 29.564 1979
+-126.74 29.564 1913
+-126.614 29.564 1863
+-126.488 29.564 1777
+-126.362 29.564 1680
+-126.236 29.564 1607
+-126.11 29.564 1491
+-125.984 29.564 1342
+-125.858 29.564 1173
+-125.732 29.564 977
+-125.606 29.564 759
+-125.48 29.564 528
+-125.354 29.564 298
+-125.228 29.564 104
+-125.102 29.564 22
+-124.976 29.564 123
+-124.85 29.564 422
+-124.724 29.564 783
+-124.598 29.564 1030
+-124.472 29.564 1081
+-124.346 29.564 1003
+-124.22 29.564 944
+-124.094 29.564 1030
+-123.968 29.564 1285
+-123.842 29.564 1621
+-123.716 29.564 1963
+-123.59 29.564 2256
+-123.464 29.564 2506
+-123.338 29.564 2684
+-123.212 29.564 2806
+-123.086 29.564 2884
+-122.96 29.564 2998
+-122.834 29.564 2975
+-122.708 29.564 2933
+-122.582 29.564 2818
+-122.456 29.564 2730
+-122.33 29.564 2863
+-122.204 29.564 3090
+-122.078 29.564 3242
+-121.952 29.564 3357
+-121.826 29.564 3455
+-121.7 29.564 3549
+-121.574 29.564 3608
+-121.448 29.564 3588
+-121.322 29.564 3684
+-121.196 29.564 3858
+-121.07 29.564 4031
+-120.944 29.564 4142
+-120.818 29.564 4147
+-120.692 29.564 4238
+-120.566 29.564 4421
+-120.44 29.564 4592
+-120.314 29.564 4747
+-120.188 29.564 4815
+-120.062 29.564 4901
+-119.936 29.564 5000
+-119.81 29.564 5025
+-119.684 29.564 5106
+-119.558 29.564 5186
+-119.432 29.564 5220
+-119.306 29.564 5304
+-119.18 29.564 5413
+-119.054 29.564 5456
+-118.928 29.564 5534
+-118.802 29.564 5596
+-118.676 29.564 5617
+-118.55 29.564 5684
+-118.424 29.564 5742
+-118.298 29.564 5809
+-118.172 29.564 5880
+-118.046 29.564 5927
+-117.92 29.564 5970
+-117.794 29.564 5983
+-117.668 29.564 6009
+-117.542 29.564 6051
+-117.416 29.564 6068
+-117.29 29.564 6071
+-117.164 29.564 6084
+-117.038 29.564 6087
+-116.912 29.564 6079
+-116.786 29.564 6060
+-116.66 29.564 6048
+-116.534 29.564 6043
+-116.408 29.564 6035
+-116.282 29.564 6013
+-116.156 29.564 5977
+-116.03 29.564 5929
+-115.904 29.564 5878
+-115.778 29.564 5866
+-115.652 29.564 5808
+-115.526 29.564 5719
+-115.4 29.564 5639
+-115.274 29.564 5599
+-115.148 29.564 5567
+-115.022 29.564 5476
+-114.896 29.564 5407
+-114.77 29.564 5297
+-114.644 29.564 5286
+-114.518 29.564 5131
+-114.392 29.564 5001
+-114.266 29.564 4974
+-114.14 29.564 4838
+-114.014 29.564 4988
+-113.888 29.564 5103
+-113.762 29.564 5201
+-113.636 29.564 5336
+-113.51 29.564 5470
+-113.384 29.564 5556
+-113.258 29.564 5673
+-113.132 29.564 5789
+-113.006 29.564 5910
+-112.88 29.564 5980
+-112.754 29.564 6134
+-112.628 29.564 6205
+-112.502 29.564 6319
+-112.376 29.564 6415
+-112.25 29.564 6475
+-112.124 29.564 6561
+-111.998 29.564 6677
+-111.872 29.564 6754
+-111.746 29.564 6794
+-111.62 29.564 6910
+-111.494 29.564 6936
+-111.368 29.564 7009
+-111.242 29.564 7086
+-111.116 29.564 7103
+-110.99 29.564 7182
+-110.864 29.564 7170
+-110.738 29.564 7240
+-110.612 29.564 7270
+-110.486 29.564 7280
+-110.36 29.564 7249
+-110.234 29.564 7267
+-110.108 29.564 7245
+-109.982 29.564 7227
+-109.856 29.564 7203
+-109.73 29.564 7163
+-109.604 29.564 7097
+-109.478 29.564 7028
+-109.352 29.564 6998
+-109.226 29.564 6923
+-109.1 29.564 6843
+-108.974 29.564 6793
+-108.848 29.564 6688
+-108.722 29.564 6603
+-108.596 29.564 6508
+-108.47 29.564 6456
+-108.344 29.564 6332
+-108.218 29.564 6255
+-108.092 29.564 6128
+-107.966 29.564 6010
+-107.84 29.564 5919
+-107.714 29.564 5815
+-107.588 29.564 5720
+-107.462 29.564 5638
+-107.336 29.564 5541
+-107.21 29.564 5442
+-107.084 29.564 5300
+-106.958 29.564 5138
+-106.832 29.564 5002
+-106.706 29.564 4896
+-106.58 29.564 4844
+-106.454 29.564 4758
+-106.328 29.564 4662
+-106.202 29.564 4487
+-106.076 29.564 4367
+-105.95 29.564 4393
+-105.824 29.564 4359
+-105.698 29.564 4302
+-105.572 29.564 4206
+-105.446 29.564 4059
+-105.32 29.564 3950
+-105.194 29.564 3852
+-105.068 29.564 3753
+-104.942 29.564 3681
+-104.816 29.564 3585
+-104.69 29.564 3562
+-104.564 29.564 3565
+-104.438 29.564 3531
+-104.312 29.564 3511
+-104.186 29.564 3455
+-104.06 29.564 3407
+-103.934 29.564 3339
+-103.808 29.564 3279
+-103.682 29.564 3244
+-103.556 29.564 3208
+-103.43 29.564 3121
+-103.304 29.564 3090
+-103.178 29.564 3058
+-103.052 29.564 2990
+-102.926 29.564 2983
+-102.8 29.564 2983
+-102.674 29.564 2981
+-102.548 29.564 2990
+-102.422 29.564 3001
+-102.296 29.564 2967
+-102.17 29.564 2961
+-102.044 29.564 2974
+-101.918 29.564 2986
+-101.792 29.564 2998
+-101.666 29.564 2977
+-101.54 29.564 2987
+-101.414 29.564 2997
+-101.288 29.564 3006
+-101.162 29.564 3014
+-101.036 29.564 2916
+-100.91 29.564 2925
+-100.784 29.564 2933
+-100.658 29.564 2940
+-100.532 29.564 2947
+-100.406 29.564 2954
+-100.28 29.564 2842
+-100.154 29.564 2842
+-100.028 29.564 2841
+-99.902 29.564 2839
+-99.776 29.564 2836
+-99.65 29.564 2833
+-99.524 29.564 2829
+-99.398 29.564 2825
+-99.272 29.564 2820
+-99.146 29.564 2814
+-99.02 29.564 2808
+-98.894 29.564 2801
+-98.768 29.564 2673
+-98.642 29.564 2665
+-98.516 29.564 2656
+-98.39 29.564 2605
+-98.264 29.564 2593
+-98.138 29.564 2520
+-98.012 29.564 2514
+-97.886 29.564 2495
+-97.76 29.564 2417
+-97.634 29.564 2408
+-97.508 29.564 2397
+-97.382 29.564 2389
+-97.256 29.564 2355
+-97.13 29.564 2310
+-97.004 29.564 2324
+-96.878 29.564 2338
+-96.752 29.564 2296
+-96.626 29.564 2299
+-96.5 29.564 2302
+-96.374 29.564 2381
+-96.248 29.564 2435
+-96.122 29.564 2372
+-95.996 29.564 2464
+-95.87 29.564 2419
+-95.744 29.564 2423
+-95.618 29.564 2378
+-95.492 29.564 2433
+-95.366 29.564 2437
+-95.24 29.564 2367
+-95.114 29.564 2356
+-94.988 29.564 2362
+-94.862 29.564 2368
+-94.736 29.564 2374
+-94.61 29.564 2381
+-94.484 29.564 2388
+-94.358 29.564 2395
+-94.232 29.564 2402
+-94.106 29.564 2395
+-93.98 29.564 2426
+-93.854 29.564 2451
+-93.728 29.564 2445
+-93.602 29.564 2437
+-93.476 29.564 2463
+-93.35 29.564 2463
+-93.224 29.564 2608
+-93.098 29.564 2618
+-92.972 29.564 2628
+-92.846 29.564 2664
+-92.72 29.564 2674
+-92.594 29.564 2683
+-92.468 29.564 2692
+-92.342 29.564 2701
+-92.216 29.564 2710
+-92.09 29.564 2718
+-91.964 29.564 2727
+-91.838 29.564 2935
+-91.712 29.564 2937
+-91.586 29.564 2940
+-91.46 29.564 2944
+-91.334 29.564 3019
+-91.208 29.564 3020
+-91.082 29.564 3041
+-90.956 29.564 3131
+-90.83 29.564 3132
+-90.704 29.564 3190
+-90.578 29.564 3190
+-90.452 29.564 3190
+-90.326 29.564 3234
+-90.2 29.564 3231
+-90.074 29.564 3248
+-89.948 29.564 3312
+-89.822 29.564 3292
+-89.696 29.564 3315
+-89.57 29.564 3303
+-89.444 29.564 3295
+-89.318 29.564 3313
+-89.192 29.564 3291
+-89.066 29.564 3265
+-88.94 29.564 3266
+-88.814 29.564 3228
+-88.688 29.564 3178
+-88.562 29.564 3125
+-88.436 29.564 3064
+-88.31 29.564 3071
+-88.184 29.564 3203
+-88.058 29.564 3381
+-87.932 29.564 3562
+-87.806 29.564 3703
+-87.68 29.564 3792
+-87.554 29.564 3859
+-87.428 29.564 3844
+-87.302 29.564 3789
+-87.176 29.564 3889
+-87.05 29.564 4041
+-86.924 29.564 4232
+-86.798 29.564 4433
+-86.672 29.564 4616
+-86.546 29.564 4776
+-86.42 29.564 4911
+-86.294 29.564 4880
+-86.168 29.564 5047
+-86.042 29.564 5175
+-85.916 29.564 5251
+-85.79 29.564 5378
+-85.664 29.564 5492
+-85.538 29.564 5656
+-85.412 29.564 5829
+-85.286 29.564 5829
+-85.16 29.564 6035
+-85.034 29.564 6092
+-84.908 29.564 6254
+-84.782 29.564 6353
+-84.656 29.564 6482
+-84.53 29.564 6577
+-84.404 29.564 6678
+-84.278 29.564 6837
+-84.152 29.564 6924
+-84.026 29.564 7039
+-83.9 29.564 7094
+-83.774 29.564 7188
+-83.648 29.564 7289
+-83.522 29.564 7399
+-83.396 29.564 7518
+-83.27 29.564 7545
+-83.144 29.564 7610
+-83.018 29.564 7691
+-82.892 29.564 7769
+-82.766 29.564 7788
+-82.64 29.564 7817
+-82.514 29.564 7852
+-82.388 29.564 7881
+-82.262 29.564 7889
+-82.136 29.564 7876
+-82.01 29.564 7860
+-81.884 29.564 7828
+-81.758 29.564 7827
+-81.632 29.564 7799
+-81.506 29.564 7747
+-81.38 29.564 7682
+-81.254 29.564 7665
+-81.128 29.564 7544
+-81.002 29.564 7494
+-80.876 29.564 7402
+-80.75 29.564 7295
+-80.624 29.564 7220
+-80.498 29.564 7078
+-80.372 29.564 6993
+-80.246 29.564 6882
+-80.12 29.564 6823
+-79.994 29.564 6696
+-79.868 29.564 6554
+-79.742 29.564 6526
+-79.616 29.564 6345
+-79.49 29.564 6187
+-79.364 29.564 6114
+-79.238 29.564 6040
+-79.112 29.564 5860
+-78.986 29.564 5677
+-78.86 29.564 5589
+-78.734 29.564 5531
+-78.608 29.564 5338
+-78.482 29.564 5192
+-78.356 29.564 5037
+-78.23 29.564 4967
+-78.104 29.564 4848
+-77.978 29.564 4820
+-77.852 29.564 4700
+-77.726 29.564 4449
+-77.6 29.564 4325
+-77.474 29.564 4327
+-77.348 29.564 4197
+-77.222 29.564 4025
+-77.096 29.564 3812
+-76.97 29.564 3668
+-76.844 29.564 3739
+-76.718 29.564 3737
+-76.592 29.564 3594
+-76.466 29.564 3318
+-76.34 29.564 3170
+-76.214 29.564 3229
+-76.088 29.564 3352
+-75.962 29.564 3439
+-75.836 29.564 3505
+-75.71 29.564 3528
+-75.584 29.564 3542
+-75.458 29.564 3535
+-75.332 29.564 3546
+-75.206 29.564 3543
+-75.08 29.564 3529
+-74.954 29.564 3534
+-74.828 29.564 3539
+-74.702 29.564 3543
+-74.576 29.564 3547
+-74.45 29.564 3550
+-74.324 29.564 3554
+-74.198 29.564 3557
+-74.072 29.564 3560
+-73.946 29.564 3563
+-73.82 29.564 3492
+-73.694 29.564 3492
+-73.568 29.564 3493
+-73.442 29.564 3494
+-73.316 29.564 3495
+-73.19 29.564 3377
+-73.064 29.564 3377
+-72.938 29.564 3377
+-72.812 29.564 3377
+-72.686 29.564 3376
+-72.56 29.564 3334
+-72.434 29.564 3332
+-72.308 29.564 3331
+-72.182 29.564 3286
+-72.056 29.564 3273
+-71.93 29.564 3272
+-71.804 29.564 3271
+-71.678 29.564 3213
+-71.552 29.564 3212
+-71.426 29.564 3188
+-71.3 29.564 3168
+-71.174 29.564 3168
+-71.048 29.564 3167
+-70.922 29.564 3166
+-70.796 29.564 3165
+-70.67 29.564 3165
+-70.544 29.564 3164
+-70.418 29.564 3163
+-70.292 29.564 3163
+-70.166 29.564 3162
+-70.04 29.564 3162
+-69.914 29.564 3066
+-69.788 29.564 3066
+-69.662 29.564 3066
+-69.536 29.564 3066
+-69.41 29.564 3066
+-69.284 29.564 3066
+-69.158 29.564 3066
+-69.032 29.564 3066
+-68.906 29.564 3066
+-68.78 29.564 3066
+-68.654 29.564 3066
+-68.528 29.564 3066
+-68.402 29.564 3066
+-68.276 29.564 3066
+-68.15 29.564 3066
+-68.024 29.564 3066
+-67.898 29.564 3066
+-67.772 29.564 3066
+-67.646 29.564 3066
+-67.52 29.564 3066
+-67.394 29.564 3066
+-67.268 29.564 3066
+-67.142 29.564 3066
+-67.016 29.564 3066
+-66.89 29.564 3066
+-66.764 29.564 3066
+-66.638 29.564 3066
+-66.512 29.564 3066
+-66.386 29.564 3066
+-66.26 29.564 3067
+-66.134 29.564 3067
+-66.008 29.564 3067
+-65.882 29.564 3067
+-65.756 29.564 3067
+-65.63 29.564 3067
+-65.504 29.564 3067
+-65.378 29.564 3067
+-65.252 29.564 3067
+-65.126 29.564 3067
+-128 29.512 2286
+-127.874 29.512 2255
+-127.748 29.512 2221
+-127.622 29.512 2184
+-127.496 29.512 2186
+-127.37 29.512 2146
+-127.244 29.512 2102
+-127.118 29.512 2061
+-126.992 29.512 2029
+-126.866 29.512 1971
+-126.74 29.512 1929
+-126.614 29.512 1854
+-126.488 29.512 1769
+-126.362 29.512 1712
+-126.236 29.512 1616
+-126.11 29.512 1487
+-125.984 29.512 1344
+-125.858 29.512 1177
+-125.732 29.512 988
+-125.606 29.512 784
+-125.48 29.512 571
+-125.354 29.512 351
+-125.228 29.512 177
+-125.102 29.512 110
+-124.976 29.512 216
+-124.85 29.512 489
+-124.724 29.512 817
+-124.598 29.512 1046
+-124.472 29.512 1106
+-124.346 29.512 1053
+-124.22 29.512 1015
+-124.094 29.512 1105
+-123.968 29.512 1339
+-123.842 29.512 1655
+-123.716 29.512 1978
+-123.59 29.512 2258
+-123.464 29.512 2482
+-123.338 29.512 2676
+-123.212 29.512 2796
+-123.086 29.512 2873
+-122.96 29.512 2988
+-122.834 29.512 2992
+-122.708 29.512 2960
+-122.582 29.512 2875
+-122.456 29.512 2842
+-122.33 29.512 2941
+-122.204 29.512 3094
+-122.078 29.512 3189
+-121.952 29.512 3262
+-121.826 29.512 3360
+-121.7 29.512 3501
+-121.574 29.512 3593
+-121.448 29.512 3627
+-121.322 29.512 3700
+-121.196 29.512 3831
+-121.07 29.512 4006
+-120.944 29.512 4124
+-120.818 29.512 4170
+-120.692 29.512 4260
+-120.566 29.512 4410
+-120.44 29.512 4591
+-120.314 29.512 4695
+-120.188 29.512 4713
+-120.062 29.512 4824
+-119.936 29.512 4939
+-119.81 29.512 4940
+-119.684 29.512 5053
+-119.558 29.512 5134
+-119.432 29.512 5201
+-119.306 29.512 5291
+-119.18 29.512 5375
+-119.054 29.512 5363
+-118.928 29.512 5464
+-118.802 29.512 5531
+-118.676 29.512 5563
+-118.55 29.512 5630
+-118.424 29.512 5679
+-118.298 29.512 5753
+-118.172 29.512 5821
+-118.046 29.512 5861
+-117.92 29.512 5909
+-117.794 29.512 5941
+-117.668 29.512 5955
+-117.542 29.512 5974
+-117.416 29.512 6013
+-117.29 29.512 6019
+-117.164 29.512 6024
+-117.038 29.512 5998
+-116.912 29.512 5989
+-116.786 29.512 5980
+-116.66 29.512 5989
+-116.534 29.512 5985
+-116.408 29.512 5968
+-116.282 29.512 5965
+-116.156 29.512 5923
+-116.03 29.512 5875
+-115.904 29.512 5799
+-115.778 29.512 5788
+-115.652 29.512 5741
+-115.526 29.512 5650
+-115.4 29.512 5593
+-115.274 29.512 5564
+-115.148 29.512 5505
+-115.022 29.512 5454
+-114.896 29.512 5341
+-114.77 29.512 5257
+-114.644 29.512 5172
+-114.518 29.512 5069
+-114.392 29.512 4975
+-114.266 29.512 4931
+-114.14 29.512 4828
+-114.014 29.512 4966
+-113.888 29.512 5050
+-113.762 29.512 5201
+-113.636 29.512 5271
+-113.51 29.512 5415
+-113.384 29.512 5534
+-113.258 29.512 5651
+-113.132 29.512 5772
+-113.006 29.512 5889
+-112.88 29.512 6000
+-112.754 29.512 6104
+-112.628 29.512 6211
+-112.502 29.512 6276
+-112.376 29.512 6355
+-112.25 29.512 6421
+-112.124 29.512 6534
+-111.998 29.512 6629
+-111.872 29.512 6731
+-111.746 29.512 6780
+-111.62 29.512 6840
+-111.494 29.512 6897
+-111.368 29.512 6970
+-111.242 29.512 7004
+-111.116 29.512 7068
+-110.99 29.512 7116
+-110.864 29.512 7143
+-110.738 29.512 7159
+-110.612 29.512 7178
+-110.486 29.512 7201
+-110.36 29.512 7211
+-110.234 29.512 7193
+-110.108 29.512 7170
+-109.982 29.512 7165
+-109.856 29.512 7131
+-109.73 29.512 7085
+-109.604 29.512 7056
+-109.478 29.512 7007
+-109.352 29.512 6938
+-109.226 29.512 6868
+-109.1 29.512 6783
+-108.974 29.512 6716
+-108.848 29.512 6655
+-108.722 29.512 6557
+-108.596 29.512 6474
+-108.47 29.512 6391
+-108.344 29.512 6283
+-108.218 29.512 6179
+-108.092 29.512 6096
+-107.966 29.512 5975
+-107.84 29.512 5872
+-107.714 29.512 5766
+-107.588 29.512 5656
+-107.462 29.512 5620
+-107.336 29.512 5541
+-107.21 29.512 5422
+-107.084 29.512 5264
+-106.958 29.512 5063
+-106.832 29.512 4932
+-106.706 29.512 4917
+-106.58 29.512 4853
+-106.454 29.512 4787
+-106.328 29.512 4687
+-106.202 29.512 4536
+-106.076 29.512 4428
+-105.95 29.512 4394
+-105.824 29.512 4299
+-105.698 29.512 4257
+-105.572 29.512 4173
+-105.446 29.512 4072
+-105.32 29.512 3991
+-105.194 29.512 3888
+-105.068 29.512 3816
+-104.942 29.512 3746
+-104.816 29.512 3648
+-104.69 29.512 3614
+-104.564 29.512 3578
+-104.438 29.512 3527
+-104.312 29.512 3519
+-104.186 29.512 3467
+-104.06 29.512 3409
+-103.934 29.512 3328
+-103.808 29.512 3280
+-103.682 29.512 3230
+-103.556 29.512 3194
+-103.43 29.512 3167
+-103.304 29.512 3143
+-103.178 29.512 3111
+-103.052 29.512 3081
+-102.926 29.512 3031
+-102.8 29.512 3029
+-102.674 29.512 3030
+-102.548 29.512 3010
+-102.422 29.512 3017
+-102.296 29.512 3025
+-102.17 29.512 2987
+-102.044 29.512 2995
+-101.918 29.512 3005
+-101.792 29.512 3015
+-101.666 29.512 3024
+-101.54 29.512 2979
+-101.414 29.512 2986
+-101.288 29.512 2993
+-101.162 29.512 2914
+-101.036 29.512 2922
+-100.91 29.512 2930
+-100.784 29.512 2937
+-100.658 29.512 2944
+-100.532 29.512 2950
+-100.406 29.512 2957
+-100.28 29.512 2846
+-100.154 29.512 2845
+-100.028 29.512 2844
+-99.902 29.512 2842
+-99.776 29.512 2839
+-99.65 29.512 2836
+-99.524 29.512 2832
+-99.398 29.512 2828
+-99.272 29.512 2823
+-99.146 29.512 2818
+-99.02 29.512 2812
+-98.894 29.512 2805
+-98.768 29.512 2677
+-98.642 29.512 2669
+-98.516 29.512 2661
+-98.39 29.512 2609
+-98.264 29.512 2546
+-98.138 29.512 2536
+-98.012 29.512 2515
+-97.886 29.512 2509
+-97.76 29.512 2472
+-97.634 29.512 2416
+-97.508 29.512 2405
+-97.382 29.512 2398
+-97.256 29.512 2363
+-97.13 29.512 2318
+-97.004 29.512 2332
+-96.878 29.512 2346
+-96.752 29.512 2304
+-96.626 29.512 2307
+-96.5 29.512 2310
+-96.374 29.512 2391
+-96.248 29.512 2376
+-96.122 29.512 2381
+-95.996 29.512 2344
+-95.87 29.512 2429
+-95.744 29.512 2383
+-95.618 29.512 2439
+-95.492 29.512 2443
+-95.366 29.512 2372
+-95.24 29.512 2359
+-95.114 29.512 2365
+-94.988 29.512 2371
+-94.862 29.512 2377
+-94.736 29.512 2383
+-94.61 29.512 2389
+-94.484 29.512 2395
+-94.358 29.512 2402
+-94.232 29.512 2396
+-94.106 29.512 2413
+-93.98 29.512 2453
+-93.854 29.512 2446
+-93.728 29.512 2433
+-93.602 29.512 2433
+-93.476 29.512 2459
+-93.35 29.512 2611
+-93.224 29.512 2621
+-93.098 29.512 2631
+-92.972 29.512 2641
+-92.846 29.512 2651
+-92.72 29.512 2687
+-92.594 29.512 2696
+-92.468 29.512 2705
+-92.342 29.512 2714
+-92.216 29.512 2742
+-92.09 29.512 2732
+-91.964 29.512 2944
+-91.838 29.512 2947
+-91.712 29.512 2950
+-91.586 29.512 2953
+-91.46 29.512 3031
+-91.334 29.512 3032
+-91.208 29.512 3053
+-91.082 29.512 3085
+-90.956 29.512 3202
+-90.83 29.512 3203
+-90.704 29.512 3203
+-90.578 29.512 3203
+-90.452 29.512 3247
+-90.326 29.512 3304
+-90.2 29.512 3298
+-90.074 29.512 3292
+-89.948 29.512 3322
+-89.822 29.512 3314
+-89.696 29.512 3364
+-89.57 29.512 3350
+-89.444 29.512 3344
+-89.318 29.512 3325
+-89.192 29.512 3302
+-89.066 29.512 3273
+-88.94 29.512 3235
+-88.814 29.512 3212
+-88.688 29.512 3137
+-88.562 29.512 3040
+-88.436 29.512 2928
+-88.31 29.512 2868
+-88.184 29.512 2999
+-88.058 29.512 3278
+-87.932 29.512 3532
+-87.806 29.512 3713
+-87.68 29.512 3810
+-87.554 29.512 3854
+-87.428 29.512 3870
+-87.302 29.512 3878
+-87.176 29.512 3948
+-87.05 29.512 4044
+-86.924 29.512 4246
+-86.798 29.512 4453
+-86.672 29.512 4636
+-86.546 29.512 4825
+-86.42 29.512 4922
+-86.294 29.512 4977
+-86.168 29.512 5101
+-86.042 29.512 5185
+-85.916 29.512 5319
+-85.79 29.512 5430
+-85.664 29.512 5525
+-85.538 29.512 5710
+-85.412 29.512 5860
+-85.286 29.512 5969
+-85.16 29.512 6042
+-85.034 29.512 6151
+-84.908 29.512 6285
+-84.782 29.512 6384
+-84.656 29.512 6506
+-84.53 29.512 6644
+-84.404 29.512 6740
+-84.278 29.512 6865
+-84.152 29.512 6954
+-84.026 29.512 7047
+-83.9 29.512 7147
+-83.774 29.512 7282
+-83.648 29.512 7316
+-83.522 29.512 7429
+-83.396 29.512 7516
+-83.27 29.512 7604
+-83.144 29.512 7685
+-83.018 29.512 7708
+-82.892 29.512 7817
+-82.766 29.512 7826
+-82.64 29.512 7882
+-82.514 29.512 7931
+-82.388 29.512 7925
+-82.262 29.512 7918
+-82.136 29.512 7959
+-82.01 29.512 7923
+-81.884 29.512 7904
+-81.758 29.512 7870
+-81.632 29.512 7833
+-81.506 29.512 7833
+-81.38 29.512 7757
+-81.254 29.512 7664
+-81.128 29.512 7590
+-81.002 29.512 7533
+-80.876 29.512 7470
+-80.75 29.512 7376
+-80.624 29.512 7244
+-80.498 29.512 7106
+-80.372 29.512 7040
+-80.246 29.512 6969
+-80.12 29.512 6866
+-79.994 29.512 6736
+-79.868 29.512 6612
+-79.742 29.512 6564
+-79.616 29.512 6418
+-79.49 29.512 6258
+-79.364 29.512 6175
+-79.238 29.512 6090
+-79.112 29.512 5903
+-78.986 29.512 5716
+-78.86 29.512 5640
+-78.734 29.512 5544
+-78.608 29.512 5331
+-78.482 29.512 5244
+-78.356 29.512 5130
+-78.23 29.512 5014
+-78.104 29.512 4914
+-77.978 29.512 4844
+-77.852 29.512 4723
+-77.726 29.512 4506
+-77.6 29.512 4375
+-77.474 29.512 4302
+-77.348 29.512 4206
+-77.222 29.512 4032
+-77.096 29.512 3831
+-76.97 29.512 3729
+-76.844 29.512 3735
+-76.718 29.512 3712
+-76.592 29.512 3550
+-76.466 29.512 3215
+-76.34 29.512 3023
+-76.214 29.512 3146
+-76.088 29.512 3328
+-75.962 29.512 3444
+-75.836 29.512 3480
+-75.71 29.512 3507
+-75.584 29.512 3522
+-75.458 29.512 3539
+-75.332 29.512 3529
+-75.206 29.512 3518
+-75.08 29.512 3525
+-74.954 29.512 3531
+-74.828 29.512 3536
+-74.702 29.512 3540
+-74.576 29.512 3545
+-74.45 29.512 3549
+-74.324 29.512 3552
+-74.198 29.512 3556
+-74.072 29.512 3559
+-73.946 29.512 3562
+-73.82 29.512 3565
+-73.694 29.512 3568
+-73.568 29.512 3570
+-73.442 29.512 3573
+-73.316 29.512 3383
+-73.19 29.512 3382
+-73.064 29.512 3382
+-72.938 29.512 3382
+-72.812 29.512 3381
+-72.686 29.512 3338
+-72.56 29.512 3337
+-72.434 29.512 3336
+-72.308 29.512 3291
+-72.182 29.512 3278
+-72.056 29.512 3277
+-71.93 29.512 3275
+-71.804 29.512 3217
+-71.678 29.512 3216
+-71.552 29.512 3192
+-71.426 29.512 3172
+-71.3 29.512 3171
+-71.174 29.512 3170
+-71.048 29.512 3169
+-70.922 29.512 3168
+-70.796 29.512 3168
+-70.67 29.512 3167
+-70.544 29.512 3166
+-70.418 29.512 3165
+-70.292 29.512 3165
+-70.166 29.512 3164
+-70.04 29.512 3068
+-69.914 29.512 3068
+-69.788 29.512 3068
+-69.662 29.512 3068
+-69.536 29.512 3068
+-69.41 29.512 3068
+-69.284 29.512 3067
+-69.158 29.512 3067
+-69.032 29.512 3067
+-68.906 29.512 3067
+-68.78 29.512 3067
+-68.654 29.512 3067
+-68.528 29.512 3067
+-68.402 29.512 3067
+-68.276 29.512 3067
+-68.15 29.512 3067
+-68.024 29.512 3067
+-67.898 29.512 3067
+-67.772 29.512 3067
+-67.646 29.512 3067
+-67.52 29.512 3067
+-67.394 29.512 3067
+-67.268 29.512 3067
+-67.142 29.512 3067
+-67.016 29.512 3067
+-66.89 29.512 3067
+-66.764 29.512 3067
+-66.638 29.512 3067
+-66.512 29.512 3067
+-66.386 29.512 3067
+-66.26 29.512 3067
+-66.134 29.512 3068
+-66.008 29.512 3068
+-65.882 29.512 3068
+-65.756 29.512 3068
+-65.63 29.512 3068
+-65.504 29.512 3068
+-65.378 29.512 3068
+-65.252 29.512 3068
+-65.126 29.512 3068
+-128 29.46 2279
+-127.874 29.46 2247
+-127.748 29.46 2213
+-127.622 29.46 2216
+-127.496 29.46 2180
+-127.37 29.46 2140
+-127.244 29.46 2104
+-127.118 29.46 2078
+-126.992 29.46 2026
+-126.866 29.46 1994
+-126.74 29.46 1928
+-126.614 29.46 1854
+-126.488 29.46 1812
+-126.362 29.46 1734
+-126.236 29.46 1625
+-126.11 29.46 1507
+-125.984 29.46 1368
+-125.858 29.46 1213
+-125.732 29.46 1047
+-125.606 29.46 873
+-125.48 29.46 679
+-125.354 29.46 499
+-125.228 29.46 367
+-125.102 29.46 338
+-124.976 29.46 438
+-124.85 29.46 659
+-124.724 29.46 918
+-124.598 29.46 1108
+-124.472 29.46 1182
+-124.346 29.46 1179
+-124.22 29.46 1189
+-124.094 29.46 1285
+-123.968 29.46 1489
+-123.842 29.46 1759
+-123.716 29.46 2040
+-123.59 29.46 2291
+-123.464 29.46 2497
+-123.338 29.46 2663
+-123.212 29.46 2794
+-123.086 29.46 2868
+-122.96 29.46 2943
+-122.834 29.46 3024
+-122.708 29.46 2997
+-122.582 29.46 2976
+-122.456 29.46 2968
+-122.33 29.46 3038
+-122.204 29.46 3097
+-122.078 29.46 3118
+-121.952 29.46 3116
+-121.826 29.46 3227
+-121.7 29.46 3404
+-121.574 29.46 3549
+-121.448 29.46 3642
+-121.322 29.46 3720
+-121.196 29.46 3817
+-121.07 29.46 3948
+-120.944 29.46 4095
+-120.818 29.46 4154
+-120.692 29.46 4277
+-120.566 29.46 4425
+-120.44 29.46 4590
+-120.314 29.46 4669
+-120.188 29.46 4621
+-120.062 29.46 4728
+-119.936 29.46 4879
+-119.81 29.46 4980
+-119.684 29.46 5057
+-119.558 29.46 5059
+-119.432 29.46 5148
+-119.306 29.46 5247
+-119.18 29.46 5345
+-119.054 29.46 5382
+-118.928 29.46 5445
+-118.802 29.46 5518
+-118.676 29.46 5518
+-118.55 29.46 5582
+-118.424 29.46 5660
+-118.298 29.46 5769
+-118.172 29.46 5776
+-118.046 29.46 5809
+-117.92 29.46 5815
+-117.794 29.46 5894
+-117.668 29.46 5933
+-117.542 29.46 5930
+-117.416 29.46 5955
+-117.29 29.46 5970
+-117.164 29.46 5956
+-117.038 29.46 5947
+-116.912 29.46 5963
+-116.786 29.46 5960
+-116.66 29.46 5946
+-116.534 29.46 5938
+-116.408 29.46 5923
+-116.282 29.46 5908
+-116.156 29.46 5867
+-116.03 29.46 5809
+-115.904 29.46 5764
+-115.778 29.46 5738
+-115.652 29.46 5698
+-115.526 29.46 5627
+-115.4 29.46 5567
+-115.274 29.46 5507
+-115.148 29.46 5434
+-115.022 29.46 5362
+-114.896 29.46 5302
+-114.77 29.46 5205
+-114.644 29.46 5114
+-114.518 29.46 5024
+-114.392 29.46 4949
+-114.266 29.46 4919
+-114.14 29.46 4902
+-114.014 29.46 4944
+-113.888 29.46 5033
+-113.762 29.46 5151
+-113.636 29.46 5319
+-113.51 29.46 5349
+-113.384 29.46 5495
+-113.258 29.46 5626
+-113.132 29.46 5723
+-113.006 29.46 5834
+-112.88 29.46 5947
+-112.754 29.46 5988
+-112.628 29.46 6120
+-112.502 29.46 6209
+-112.376 29.46 6282
+-112.25 29.46 6390
+-112.124 29.46 6483
+-111.998 29.46 6562
+-111.872 29.46 6675
+-111.746 29.46 6723
+-111.62 29.46 6808
+-111.494 29.46 6887
+-111.368 29.46 6883
+-111.242 29.46 6931
+-111.116 29.46 6978
+-110.99 29.46 7042
+-110.864 29.46 7070
+-110.738 29.46 7099
+-110.612 29.46 7152
+-110.486 29.46 7111
+-110.36 29.46 7116
+-110.234 29.46 7111
+-110.108 29.46 7109
+-109.982 29.46 7106
+-109.856 29.46 7081
+-109.73 29.46 7016
+-109.604 29.46 6989
+-109.478 29.46 6915
+-109.352 29.46 6877
+-109.226 29.46 6809
+-109.1 29.46 6725
+-108.974 29.46 6702
+-108.848 29.46 6604
+-108.722 29.46 6509
+-108.596 29.46 6428
+-108.47 29.46 6311
+-108.344 29.46 6311
+-108.218 29.46 6175
+-108.092 29.46 6029
+-107.966 29.46 5933
+-107.84 29.46 5865
+-107.714 29.46 5785
+-107.588 29.46 5653
+-107.462 29.46 5520
+-107.336 29.46 5492
+-107.21 29.46 5387
+-107.084 29.46 5231
+-106.958 29.46 5079
+-106.832 29.46 4977
+-106.706 29.46 4899
+-106.58 29.46 4831
+-106.454 29.46 4780
+-106.328 29.46 4689
+-106.202 29.46 4576
+-106.076 29.46 4444
+-105.95 29.46 4297
+-105.824 29.46 4159
+-105.698 29.46 4152
+-105.572 29.46 4136
+-105.446 29.46 4062
+-105.32 29.46 4001
+-105.194 29.46 3935
+-105.068 29.46 3844
+-104.942 29.46 3769
+-104.816 29.46 3672
+-104.69 29.46 3597
+-104.564 29.46 3568
+-104.438 29.46 3519
+-104.312 29.46 3467
+-104.186 29.46 3400
+-104.06 29.46 3389
+-103.934 29.46 3352
+-103.808 29.46 3311
+-103.682 29.46 3235
+-103.556 29.46 3220
+-103.43 29.46 3200
+-103.304 29.46 3181
+-103.178 29.46 3165
+-103.052 29.46 3138
+-102.926 29.46 3096
+-102.8 29.46 3066
+-102.674 29.46 3065
+-102.548 29.46 3067
+-102.422 29.46 3046
+-102.296 29.46 3052
+-102.17 29.46 3058
+-102.044 29.46 3017
+-101.918 29.46 3022
+-101.792 29.46 3030
+-101.666 29.46 3038
+-101.54 29.46 3046
+-101.414 29.46 2998
+-101.288 29.46 3004
+-101.162 29.46 3010
+-101.036 29.46 2927
+-100.91 29.46 2934
+-100.784 29.46 2941
+-100.658 29.46 2947
+-100.532 29.46 2954
+-100.406 29.46 2959
+-100.28 29.46 2849
+-100.154 29.46 2848
+-100.028 29.46 2847
+-99.902 29.46 2845
+-99.776 29.46 2842
+-99.65 29.46 2839
+-99.524 29.46 2836
+-99.398 29.46 2832
+-99.272 29.46 2827
+-99.146 29.46 2822
+-99.02 29.46 2816
+-98.894 29.46 2810
+-98.768 29.46 2680
+-98.642 29.46 2673
+-98.516 29.46 2665
+-98.39 29.46 2614
+-98.264 29.46 2552
+-98.138 29.46 2542
+-98.012 29.46 2531
+-97.886 29.46 2569
+-97.76 29.46 2480
+-97.634 29.46 2428
+-97.508 29.46 2415
+-97.382 29.46 2413
+-97.256 29.46 2341
+-97.13 29.46 2325
+-97.004 29.46 2340
+-96.878 29.46 2354
+-96.752 29.46 2312
+-96.626 29.46 2314
+-96.5 29.46 2302
+-96.374 29.46 2248
+-96.248 29.46 2385
+-96.122 29.46 2348
+-95.996 29.46 2352
+-95.87 29.46 2302
+-95.744 29.46 2445
+-95.618 29.46 2448
+-95.492 29.46 2376
+-95.366 29.46 2363
+-95.24 29.46 2368
+-95.114 29.46 2373
+-94.988 29.46 2379
+-94.862 29.46 2385
+-94.736 29.46 2390
+-94.61 29.46 2396
+-94.484 29.46 2402
+-94.358 29.46 2397
+-94.232 29.46 2415
+-94.106 29.46 2455
+-93.98 29.46 2448
+-93.854 29.46 2435
+-93.728 29.46 2435
+-93.602 29.46 2460
+-93.476 29.46 2614
+-93.35 29.46 2624
+-93.224 29.46 2633
+-93.098 29.46 2643
+-92.972 29.46 2653
+-92.846 29.46 2663
+-92.72 29.46 2672
+-92.594 29.46 2726
+-92.468 29.46 2738
+-92.342 29.46 2747
+-92.216 29.46 2756
+-92.09 29.46 2953
+-91.964 29.46 2955
+-91.838 29.46 2959
+-91.712 29.46 2962
+-91.586 29.46 3042
+-91.46 29.46 3044
+-91.334 29.46 3099
+-91.208 29.46 3099
+-91.082 29.46 3213
+-90.956 29.46 3214
+-90.83 29.46 3215
+-90.704 29.46 3215
+-90.578 29.46 3285
+-90.452 29.46 3318
+-90.326 29.46 3313
+-90.2 29.46 3308
+-90.074 29.46 3388
+-89.948 29.46 3379
+-89.822 29.46 3369
+-89.696 29.46 3358
+-89.57 29.46 3363
+-89.444 29.46 3347
+-89.318 29.46 3339
+-89.192 29.46 3315
+-89.066 29.46 3284
+-88.94 29.46 3243
+-88.814 29.46 3233
+-88.688 29.46 3158
+-88.562 29.46 3025
+-88.436 29.46 2843
+-88.31 29.46 2741
+-88.184 29.46 2889
+-88.058 29.46 3227
+-87.932 29.46 3536
+-87.806 29.46 3727
+-87.68 29.46 3810
+-87.554 29.46 3826
+-87.428 29.46 3838
+-87.302 29.46 3910
+-87.176 29.46 3939
+-87.05 29.46 4040
+-86.924 29.46 4255
+-86.798 29.46 4477
+-86.672 29.46 4688
+-86.546 29.46 4820
+-86.42 29.46 4874
+-86.294 29.46 5009
+-86.168 29.46 5141
+-86.042 29.46 5122
+-85.916 29.46 5308
+-85.79 29.46 5453
+-85.664 29.46 5592
+-85.538 29.46 5741
+-85.412 29.46 5823
+-85.286 29.46 5982
+-85.16 29.46 6089
+-85.034 29.46 6206
+-84.908 29.46 6310
+-84.782 29.46 6414
+-84.656 29.46 6543
+-84.53 29.46 6666
+-84.404 29.46 6793
+-84.278 29.46 6924
+-84.152 29.46 7011
+-84.026 29.46 7033
+-83.9 29.46 7230
+-83.774 29.46 7279
+-83.648 29.46 7378
+-83.522 29.46 7489
+-83.396 29.46 7561
+-83.27 29.46 7650
+-83.144 29.46 7735
+-83.018 29.46 7783
+-82.892 29.46 7843
+-82.766 29.46 7905
+-82.64 29.46 7907
+-82.514 29.46 7996
+-82.388 29.46 7991
+-82.262 29.46 8031
+-82.136 29.46 7987
+-82.01 29.46 8002
+-81.884 29.46 7971
+-81.758 29.46 7924
+-81.632 29.46 7898
+-81.506 29.46 7851
+-81.38 29.46 7804
+-81.254 29.46 7722
+-81.128 29.46 7628
+-81.002 29.46 7567
+-80.876 29.46 7471
+-80.75 29.46 7426
+-80.624 29.46 7304
+-80.498 29.46 7178
+-80.372 29.46 7087
+-80.246 29.46 7022
+-80.12 29.46 6878
+-79.994 29.46 6803
+-79.868 29.46 6604
+-79.742 29.46 6576
+-79.616 29.46 6460
+-79.49 29.46 6307
+-79.364 29.46 6215
+-79.238 29.46 6140
+-79.112 29.46 5955
+-78.986 29.46 5787
+-78.86 29.46 5661
+-78.734 29.46 5539
+-78.608 29.46 5344
+-78.482 29.46 5273
+-78.356 29.46 5182
+-78.23 29.46 5066
+-78.104 29.46 4968
+-77.978 29.46 4879
+-77.852 29.46 4723
+-77.726 29.46 4576
+-77.6 29.46 4368
+-77.474 29.46 4229
+-77.348 29.46 4215
+-77.222 29.46 4053
+-77.096 29.46 3806
+-76.97 29.46 3634
+-76.844 29.46 3712
+-76.718 29.46 3721
+-76.592 29.46 3581
+-76.466 29.46 3327
+-76.34 29.46 3178
+-76.214 29.46 3243
+-76.088 29.46 3364
+-75.962 29.46 3457
+-75.836 29.46 3500
+-75.71 29.46 3523
+-75.584 29.46 3525
+-75.458 29.46 3535
+-75.332 29.46 3504
+-75.206 29.46 3513
+-75.08 29.46 3520
+-74.954 29.46 3527
+-74.828 29.46 3532
+-74.702 29.46 3537
+-74.576 29.46 3542
+-74.45 29.46 3546
+-74.324 29.46 3550
+-74.198 29.46 3554
+-74.072 29.46 3557
+-73.946 29.46 3561
+-73.82 29.46 3564
+-73.694 29.46 3567
+-73.568 29.46 3569
+-73.442 29.46 3572
+-73.316 29.46 3575
+-73.19 29.46 3387
+-73.064 29.46 3386
+-72.938 29.46 3386
+-72.812 29.46 3381
+-72.686 29.46 3380
+-72.56 29.46 3340
+-72.434 29.46 3296
+-72.308 29.46 3283
+-72.182 29.46 3281
+-72.056 29.46 3280
+-71.93 29.46 3222
+-71.804 29.46 3220
+-71.678 29.46 3196
+-71.552 29.46 3176
+-71.426 29.46 3174
+-71.3 29.46 3173
+-71.174 29.46 3172
+-71.048 29.46 3171
+-70.922 29.46 3170
+-70.796 29.46 3170
+-70.67 29.46 3169
+-70.544 29.46 3168
+-70.418 29.46 3167
+-70.292 29.46 3167
+-70.166 29.46 3071
+-70.04 29.46 3071
+-69.914 29.46 3070
+-69.788 29.46 3070
+-69.662 29.46 3070
+-69.536 29.46 3070
+-69.41 29.46 3069
+-69.284 29.46 3069
+-69.158 29.46 3069
+-69.032 29.46 3069
+-68.906 29.46 3069
+-68.78 29.46 3069
+-68.654 29.46 3069
+-68.528 29.46 3069
+-68.402 29.46 3068
+-68.276 29.46 3068
+-68.15 29.46 3068
+-68.024 29.46 3068
+-67.898 29.46 3068
+-67.772 29.46 3068
+-67.646 29.46 3068
+-67.52 29.46 3068
+-67.394 29.46 3068
+-67.268 29.46 3068
+-67.142 29.46 3068
+-67.016 29.46 3068
+-66.89 29.46 3068
+-66.764 29.46 3068
+-66.638 29.46 3068
+-66.512 29.46 3068
+-66.386 29.46 3068
+-66.26 29.46 3068
+-66.134 29.46 3068
+-66.008 29.46 3069
+-65.882 29.46 3069
+-65.756 29.46 3069
+-65.63 29.46 3069
+-65.504 29.46 3069
+-65.378 29.46 3069
+-65.252 29.46 3069
+-65.126 29.46 3069
+-128 29.408 2273
+-127.874 29.408 2241
+-127.748 29.408 2246
+-127.622 29.408 2213
+-127.496 29.408 2177
+-127.37 29.408 2146
+-127.244 29.408 2124
+-127.118 29.408 2078
+-126.992 29.408 2054
+-126.866 29.408 1996
+-126.74 29.408 1932
+-126.614 29.408 1904
+-126.488 29.408 1841
+-126.362 29.408 1751
+-126.236 29.408 1654
+-126.11 29.408 1540
+-125.984 29.408 1414
+-125.858 29.408 1283
+-125.732 29.408 1148
+-125.606 29.408 990
+-125.48 29.408 834
+-125.354 29.408 698
+-125.228 29.408 625
+-125.102 29.408 618
+-124.976 29.408 703
+-124.85 29.408 868
+-124.724 29.408 1058
+-124.598 29.408 1209
+-124.472 29.408 1295
+-124.346 29.408 1343
+-124.22 29.408 1392
+-124.094 29.408 1497
+-123.968 29.408 1672
+-123.842 29.408 1895
+-123.716 29.408 2128
+-123.59 29.408 2343
+-123.464 29.408 2534
+-123.338 29.408 2669
+-123.212 29.408 2804
+-123.086 29.408 2881
+-122.96 29.408 2957
+-122.834 29.408 3045
+-122.708 29.408 3049
+-122.582 29.408 3030
+-122.456 29.408 3017
+-122.33 29.408 3033
+-122.204 29.408 3048
+-122.078 29.408 3065
+-121.952 29.408 3030
+-121.826 29.408 3137
+-121.7 29.408 3347
+-121.574 29.408 3506
+-121.448 29.408 3610
+-121.322 29.408 3707
+-121.196 29.408 3788
+-121.07 29.408 3932
+-120.944 29.408 4049
+-120.818 29.408 4120
+-120.692 29.408 4270
+-120.566 29.408 4404
+-120.44 29.408 4561
+-120.314 29.408 4664
+-120.188 29.408 4678
+-120.062 29.408 4663
+-119.936 29.408 4798
+-119.81 29.408 4958
+-119.684 29.408 5051
+-119.558 29.408 5100
+-119.432 29.408 5103
+-119.306 29.408 5205
+-119.18 29.408 5316
+-119.054 29.408 5373
+-118.928 29.408 5428
+-118.802 29.408 5459
+-118.676 29.408 5485
+-118.55 29.408 5539
+-118.424 29.408 5597
+-118.298 29.408 5680
+-118.172 29.408 5733
+-118.046 29.408 5742
+-117.92 29.408 5803
+-117.794 29.408 5841
+-117.668 29.408 5883
+-117.542 29.408 5876
+-117.416 29.408 5881
+-117.29 29.408 5894
+-117.164 29.408 5890
+-117.038 29.408 5896
+-116.912 29.408 5940
+-116.786 29.408 5916
+-116.66 29.408 5906
+-116.534 29.408 5885
+-116.408 29.408 5870
+-116.282 29.408 5828
+-116.156 29.408 5806
+-116.03 29.408 5747
+-115.904 29.408 5718
+-115.778 29.408 5661
+-115.652 29.408 5651
+-115.526 29.408 5591
+-115.4 29.408 5512
+-115.274 29.408 5418
+-115.148 29.408 5389
+-115.022 29.408 5326
+-114.896 29.408 5232
+-114.77 29.408 5155
+-114.644 29.408 5074
+-114.518 29.408 5032
+-114.392 29.408 4956
+-114.266 29.408 4851
+-114.14 29.408 4888
+-114.014 29.408 4821
+-113.888 29.408 5037
+-113.762 29.408 5079
+-113.636 29.408 5190
+-113.51 29.408 5309
+-113.384 29.408 5475
+-113.258 29.408 5608
+-113.132 29.408 5699
+-113.006 29.408 5783
+-112.88 29.408 5834
+-112.754 29.408 5980
+-112.628 29.408 6076
+-112.502 29.408 6166
+-112.376 29.408 6247
+-112.25 29.408 6346
+-112.124 29.408 6456
+-111.998 29.408 6514
+-111.872 29.408 6610
+-111.746 29.408 6701
+-111.62 29.408 6769
+-111.494 29.408 6769
+-111.368 29.408 6830
+-111.242 29.408 6903
+-111.116 29.408 6951
+-110.99 29.408 6966
+-110.864 29.408 7041
+-110.738 29.408 7033
+-110.612 29.408 7059
+-110.486 29.408 7071
+-110.36 29.408 7053
+-110.234 29.408 7053
+-110.108 29.408 7074
+-109.982 29.408 7042
+-109.856 29.408 7015
+-109.73 29.408 6970
+-109.604 29.408 6906
+-109.478 29.408 6865
+-109.352 29.408 6822
+-109.226 29.408 6749
+-109.1 29.408 6688
+-108.974 29.408 6644
+-108.848 29.408 6584
+-108.722 29.408 6502
+-108.596 29.408 6398
+-108.47 29.408 6282
+-108.344 29.408 6187
+-108.218 29.408 6137
+-108.092 29.408 6011
+-107.966 29.408 5901
+-107.84 29.408 5830
+-107.714 29.408 5679
+-107.588 29.408 5650
+-107.462 29.408 5558
+-107.336 29.408 5356
+-107.21 29.408 5340
+-107.084 29.408 5240
+-106.958 29.408 5082
+-106.832 29.408 4941
+-106.706 29.408 4841
+-106.58 29.408 4777
+-106.454 29.408 4743
+-106.328 29.408 4694
+-106.202 29.408 4603
+-106.076 29.408 4406
+-105.95 29.408 4183
+-105.824 29.408 4018
+-105.698 29.408 4079
+-105.572 29.408 4091
+-105.446 29.408 4057
+-105.32 29.408 3969
+-105.194 29.408 3915
+-105.068 29.408 3820
+-104.942 29.408 3754
+-104.816 29.408 3664
+-104.69 29.408 3557
+-104.564 29.408 3480
+-104.438 29.408 3420
+-104.312 29.408 3413
+-104.186 29.408 3359
+-104.06 29.408 3352
+-103.934 29.408 3347
+-103.808 29.408 3313
+-103.682 29.408 3304
+-103.556 29.408 3233
+-103.43 29.408 3223
+-103.304 29.408 3208
+-103.178 29.408 3196
+-103.052 29.408 3185
+-102.926 29.408 3146
+-102.8 29.408 3123
+-102.674 29.408 3093
+-102.548 29.408 3094
+-102.422 29.408 3096
+-102.296 29.408 3075
+-102.17 29.408 3079
+-102.044 29.408 3085
+-101.918 29.408 3041
+-101.792 29.408 3045
+-101.666 29.408 3051
+-101.54 29.408 3057
+-101.414 29.408 3064
+-101.288 29.408 3014
+-101.162 29.408 3019
+-101.036 29.408 3024
+-100.91 29.408 2939
+-100.784 29.408 2945
+-100.658 29.408 2951
+-100.532 29.408 2957
+-100.406 29.408 2962
+-100.28 29.408 2853
+-100.154 29.408 2852
+-100.028 29.408 2850
+-99.902 29.408 2848
+-99.776 29.408 2846
+-99.65 29.408 2843
+-99.524 29.408 2839
+-99.398 29.408 2835
+-99.272 29.408 2830
+-99.146 29.408 2825
+-99.02 29.408 2820
+-98.894 29.408 2814
+-98.768 29.408 2683
+-98.642 29.408 2676
+-98.516 29.408 2669
+-98.39 29.408 2619
+-98.264 29.408 2557
+-98.138 29.408 2547
+-98.012 29.408 2537
+-97.886 29.408 2575
+-97.76 29.408 2540
+-97.634 29.408 2476
+-97.508 29.408 2427
+-97.382 29.408 2360
+-97.256 29.408 2352
+-97.13 29.408 2340
+-97.004 29.408 2355
+-96.878 29.408 2287
+-96.752 29.408 2301
+-96.626 29.408 2306
+-96.5 29.408 2318
+-96.374 29.408 2262
+-96.248 29.408 2301
+-96.122 29.408 2356
+-95.996 29.408 2305
+-95.87 29.408 2370
+-95.744 29.408 2454
+-95.618 29.408 2367
+-95.492 29.408 2361
+-95.366 29.408 2365
+-95.24 29.408 2370
+-95.114 29.408 2375
+-94.988 29.408 2380
+-94.862 29.408 2386
+-94.736 29.408 2391
+-94.61 29.408 2390
+-94.484 29.408 2399
+-94.358 29.408 2417
+-94.232 29.408 2444
+-94.106 29.408 2443
+-93.98 29.408 2438
+-93.854 29.408 2437
+-93.728 29.408 2462
+-93.602 29.408 2473
+-93.476 29.408 2626
+-93.35 29.408 2636
+-93.224 29.408 2645
+-93.098 29.408 2655
+-92.972 29.408 2665
+-92.846 29.408 2674
+-92.72 29.408 2684
+-92.594 29.408 2714
+-92.468 29.408 2752
+-92.342 29.408 2761
+-92.216 29.408 2853
+-92.09 29.408 2998
+-91.964 29.408 3000
+-91.838 29.408 3003
+-91.712 29.408 3053
+-91.586 29.408 3054
+-91.46 29.408 3111
+-91.334 29.408 3111
+-91.208 29.408 3262
+-91.082 29.408 3262
+-90.956 29.408 3262
+-90.83 29.408 3262
+-90.704 29.408 3297
+-90.578 29.408 3359
+-90.452 29.408 3354
+-90.326 29.408 3349
+-90.2 29.408 3343
+-90.074 29.408 3399
+-89.948 29.408 3390
+-89.822 29.408 3381
+-89.696 29.408 3370
+-89.57 29.408 3357
+-89.444 29.408 3361
+-89.318 29.408 3342
+-89.192 29.408 3331
+-89.066 29.408 3301
+-88.94 29.408 3318
+-88.814 29.408 3294
+-88.688 29.408 3197
+-88.562 29.408 3067
+-88.436 29.408 2929
+-88.31 29.408 2865
+-88.184 29.408 3004
+-88.058 29.408 3300
+-87.932 29.408 3567
+-87.806 29.408 3742
+-87.68 29.408 3813
+-87.554 29.408 3804
+-87.428 29.408 3756
+-87.302 29.408 3871
+-87.176 29.408 3983
+-87.05 29.408 4111
+-86.924 29.408 4309
+-86.798 29.408 4570
+-86.672 29.408 4731
+-86.546 29.408 4824
+-86.42 29.408 4791
+-86.294 29.408 4968
+-86.168 29.408 5177
+-86.042 29.408 5238
+-85.916 29.408 5364
+-85.79 29.408 5504
+-85.664 29.408 5663
+-85.538 29.408 5708
+-85.412 29.408 5802
+-85.286 29.408 5946
+-85.16 29.408 6137
+-85.034 29.408 6211
+-84.908 29.408 6353
+-84.782 29.408 6450
+-84.656 29.408 6578
+-84.53 29.408 6687
+-84.404 29.408 6824
+-84.278 29.408 6922
+-84.152 29.408 7086
+-84.026 29.408 7139
+-83.9 29.408 7185
+-83.774 29.408 7320
+-83.648 29.408 7419
+-83.522 29.408 7500
+-83.396 29.408 7596
+-83.27 29.408 7726
+-83.144 29.408 7783
+-83.018 29.408 7826
+-82.892 29.408 7916
+-82.766 29.408 7908
+-82.64 29.408 7946
+-82.514 29.408 8009
+-82.388 29.408 8048
+-82.262 29.408 8064
+-82.136 29.408 8078
+-82.01 29.408 8054
+-81.884 29.408 8057
+-81.758 29.408 7988
+-81.632 29.408 7971
+-81.506 29.408 7912
+-81.38 29.408 7889
+-81.254 29.408 7729
+-81.128 29.408 7674
+-81.002 29.408 7580
+-80.876 29.408 7525
+-80.75 29.408 7415
+-80.624 29.408 7354
+-80.498 29.408 7225
+-80.372 29.408 7140
+-80.246 29.408 7076
+-80.12 29.408 6938
+-79.994 29.408 6806
+-79.868 29.408 6678
+-79.742 29.408 6578
+-79.616 29.408 6486
+-79.49 29.408 6389
+-79.364 29.408 6228
+-79.238 29.408 6122
+-79.112 29.408 5990
+-78.986 29.408 5880
+-78.86 29.408 5726
+-78.734 29.408 5533
+-78.608 29.408 5356
+-78.482 29.408 5314
+-78.356 29.408 5213
+-78.23 29.408 5058
+-78.104 29.408 4964
+-77.978 29.408 4881
+-77.852 29.408 4733
+-77.726 29.408 4657
+-77.6 29.408 4467
+-77.474 29.408 4308
+-77.348 29.408 4235
+-77.222 29.408 4096
+-77.096 29.408 3880
+-76.97 29.408 3750
+-76.844 29.408 3763
+-76.718 29.408 3745
+-76.592 29.408 3643
+-76.466 29.408 3515
+-76.34 29.408 3412
+-76.214 29.408 3403
+-76.088 29.408 3450
+-75.962 29.408 3491
+-75.836 29.408 3532
+-75.71 29.408 3542
+-75.584 29.408 3558
+-75.458 29.408 3529
+-75.332 29.408 3499
+-75.206 29.408 3508
+-75.08 29.408 3515
+-74.954 29.408 3522
+-74.828 29.408 3528
+-74.702 29.408 3534
+-74.576 29.408 3539
+-74.45 29.408 3544
+-74.324 29.408 3548
+-74.198 29.408 3552
+-74.072 29.408 3556
+-73.946 29.408 3559
+-73.82 29.408 3563
+-73.694 29.408 3566
+-73.568 29.408 3569
+-73.442 29.408 3571
+-73.316 29.408 3574
+-73.19 29.408 3576
+-73.064 29.408 3391
+-72.938 29.408 3383
+-72.812 29.408 3383
+-72.686 29.408 3382
+-72.56 29.408 3301
+-72.434 29.408 3301
+-72.308 29.408 3299
+-72.182 29.408 3297
+-72.056 29.408 3226
+-71.93 29.408 3225
+-71.804 29.408 3200
+-71.678 29.408 3179
+-71.552 29.408 3178
+-71.426 29.408 3177
+-71.3 29.408 3176
+-71.174 29.408 3175
+-71.048 29.408 3173
+-70.922 29.408 3172
+-70.796 29.408 3172
+-70.67 29.408 3171
+-70.544 29.408 3170
+-70.418 29.408 3169
+-70.292 29.408 3073
+-70.166 29.408 3073
+-70.04 29.408 3073
+-69.914 29.408 3072
+-69.788 29.408 3072
+-69.662 29.408 3072
+-69.536 29.408 3071
+-69.41 29.408 3071
+-69.284 29.408 3071
+-69.158 29.408 3071
+-69.032 29.408 3071
+-68.906 29.408 3070
+-68.78 29.408 3070
+-68.654 29.408 3070
+-68.528 29.408 3070
+-68.402 29.408 3070
+-68.276 29.408 3070
+-68.15 29.408 3070
+-68.024 29.408 3070
+-67.898 29.408 3070
+-67.772 29.408 3069
+-67.646 29.408 3069
+-67.52 29.408 3069
+-67.394 29.408 3069
+-67.268 29.408 3069
+-67.142 29.408 3069
+-67.016 29.408 3069
+-66.89 29.408 3069
+-66.764 29.408 3069
+-66.638 29.408 3069
+-66.512 29.408 3069
+-66.386 29.408 3069
+-66.26 29.408 3069
+-66.134 29.408 3069
+-66.008 29.408 3069
+-65.882 29.408 3069
+-65.756 29.408 3069
+-65.63 29.408 3069
+-65.504 29.408 3070
+-65.378 29.408 3070
+-65.252 29.408 3070
+-65.126 29.408 3070
+-128 29.356 2268
+-127.874 29.356 2274
+-127.748 29.356 2245
+-127.622 29.356 2212
+-127.496 29.356 2185
+-127.37 29.356 2167
+-127.244 29.356 2126
+-127.118 29.356 2109
+-126.992 29.356 2059
+-126.866 29.356 2004
+-126.74 29.356 1987
+-126.614 29.356 1938
+-126.488 29.356 1861
+-126.362 29.356 1782
+-126.236 29.356 1689
+-126.11 29.356 1586
+-125.984 29.356 1483
+-125.858 29.356 1381
+-125.732 29.356 1254
+-125.606 29.356 1126
+-125.48 29.356 1007
+-125.354 29.356 933
+-125.228 29.356 886
+-125.102 29.356 888
+-124.976 29.356 957
+-124.85 29.356 1077
+-124.724 29.356 1215
+-124.598 29.356 1338
+-124.472 29.356 1439
+-124.346 29.356 1508
+-124.22 29.356 1584
+-124.094 29.356 1695
+-123.968 29.356 1848
+-123.842 29.356 2031
+-123.716 29.356 2223
+-123.59 29.356 2414
+-123.464 29.356 2563
+-123.338 29.356 2717
+-123.212 29.356 2819
+-123.086 29.356 2890
+-122.96 29.356 2968
+-122.834 29.356 3064
+-122.708 29.356 3055
+-122.582 29.356 3032
+-122.456 29.356 2992
+-122.33 29.356 2935
+-122.204 29.356 2904
+-122.078 29.356 3008
+-121.952 29.356 3083
+-121.826 29.356 3179
+-121.7 29.356 3338
+-121.574 29.356 3488
+-121.448 29.356 3586
+-121.322 29.356 3661
+-121.196 29.356 3745
+-121.07 29.356 3846
+-120.944 29.356 3938
+-120.818 29.356 4081
+-120.692 29.356 4252
+-120.566 29.356 4352
+-120.44 29.356 4501
+-120.314 29.356 4631
+-120.188 29.356 4700
+-120.062 29.356 4713
+-119.936 29.356 4819
+-119.81 29.356 4946
+-119.684 29.356 5022
+-119.558 29.356 5081
+-119.432 29.356 5132
+-119.306 29.356 5190
+-119.18 29.356 5289
+-119.054 29.356 5346
+-118.928 29.356 5380
+-118.802 29.356 5380
+-118.676 29.356 5462
+-118.55 29.356 5501
+-118.424 29.356 5527
+-118.298 29.356 5575
+-118.172 29.356 5668
+-118.046 29.356 5716
+-117.92 29.356 5764
+-117.794 29.356 5799
+-117.668 29.356 5812
+-117.542 29.356 5842
+-117.416 29.356 5834
+-117.29 29.356 5830
+-117.164 29.356 5845
+-117.038 29.356 5864
+-116.912 29.356 5850
+-116.786 29.356 5859
+-116.66 29.356 5838
+-116.534 29.356 5802
+-116.408 29.356 5774
+-116.282 29.356 5766
+-116.156 29.356 5737
+-116.03 29.356 5711
+-115.904 29.356 5681
+-115.778 29.356 5637
+-115.652 29.356 5615
+-115.526 29.356 5544
+-115.4 29.356 5517
+-115.274 29.356 5429
+-115.148 29.356 5365
+-115.022 29.356 5260
+-114.896 29.356 5199
+-114.77 29.356 5129
+-114.644 29.356 5019
+-114.518 29.356 5011
+-114.392 29.356 4930
+-114.266 29.356 4859
+-114.14 29.356 4856
+-114.014 29.356 4914
+-113.888 29.356 4924
+-113.762 29.356 5070
+-113.636 29.356 5153
+-113.51 29.356 5254
+-113.384 29.356 5415
+-113.258 29.356 5571
+-113.132 29.356 5694
+-113.006 29.356 5752
+-112.88 29.356 5857
+-112.754 29.356 5953
+-112.628 29.356 6068
+-112.502 29.356 6147
+-112.376 29.356 6196
+-112.25 29.356 6322
+-112.124 29.356 6362
+-111.998 29.356 6482
+-111.872 29.356 6524
+-111.746 29.356 6628
+-111.62 29.356 6649
+-111.494 29.356 6733
+-111.368 29.356 6798
+-111.242 29.356 6855
+-111.116 29.356 6899
+-110.99 29.356 6907
+-110.864 29.356 6974
+-110.738 29.356 7000
+-110.612 29.356 7012
+-110.486 29.356 7051
+-110.36 29.356 7014
+-110.234 29.356 7050
+-110.108 29.356 7033
+-109.982 29.356 6978
+-109.856 29.356 6940
+-109.73 29.356 6905
+-109.604 29.356 6915
+-109.478 29.356 6833
+-109.352 29.356 6772
+-109.226 29.356 6759
+-109.1 29.356 6658
+-108.974 29.356 6580
+-108.848 29.356 6506
+-108.722 29.356 6450
+-108.596 29.356 6368
+-108.47 29.356 6231
+-108.344 29.356 6202
+-108.218 29.356 6090
+-108.092 29.356 5966
+-107.966 29.356 5922
+-107.84 29.356 5804
+-107.714 29.356 5692
+-107.588 29.356 5636
+-107.462 29.356 5530
+-107.336 29.356 5389
+-107.21 29.356 5208
+-107.084 29.356 5217
+-106.958 29.356 5079
+-106.832 29.356 4888
+-106.706 29.356 4815
+-106.58 29.356 4704
+-106.454 29.356 4714
+-106.328 29.356 4682
+-106.202 29.356 4595
+-106.076 29.356 4430
+-105.95 29.356 4225
+-105.824 29.356 4094
+-105.698 29.356 4058
+-105.572 29.356 3998
+-105.446 29.356 3963
+-105.32 29.356 3946
+-105.194 29.356 3863
+-105.068 29.356 3776
+-104.942 29.356 3662
+-104.816 29.356 3580
+-104.69 29.356 3426
+-104.564 29.356 3343
+-104.438 29.356 3348
+-104.312 29.356 3312
+-104.186 29.356 3320
+-104.06 29.356 3329
+-103.934 29.356 3334
+-103.808 29.356 3335
+-103.682 29.356 3289
+-103.556 29.356 3301
+-103.43 29.356 3235
+-103.304 29.356 3228
+-103.178 29.356 3219
+-103.052 29.356 3210
+-102.926 29.356 3204
+-102.8 29.356 3167
+-102.674 29.356 3145
+-102.548 29.356 3116
+-102.422 29.356 3118
+-102.296 29.356 3120
+-102.17 29.356 3098
+-102.044 29.356 3102
+-101.918 29.356 3106
+-101.792 29.356 3061
+-101.666 29.356 3063
+-101.54 29.356 3068
+-101.414 29.356 3074
+-101.288 29.356 3079
+-101.162 29.356 3028
+-101.036 29.356 3032
+-100.91 29.356 3036
+-100.784 29.356 2950
+-100.658 29.356 2955
+-100.532 29.356 2960
+-100.406 29.356 2965
+-100.28 29.356 2856
+-100.154 29.356 2855
+-100.028 29.356 2853
+-99.902 29.356 2851
+-99.776 29.356 2849
+-99.65 29.356 2846
+-99.524 29.356 2842
+-99.398 29.356 2838
+-99.272 29.356 2834
+-99.146 29.356 2829
+-99.02 29.356 2824
+-98.894 29.356 2818
+-98.768 29.356 2686
+-98.642 29.356 2680
+-98.516 29.356 2672
+-98.39 29.356 2623
+-98.264 29.356 2562
+-98.138 29.356 2552
+-98.012 29.356 2543
+-97.886 29.356 2505
+-97.76 29.356 2547
+-97.634 29.356 2538
+-97.508 29.356 2423
+-97.382 29.356 2371
+-97.256 29.356 2325
+-97.13 29.356 2317
+-97.004 29.356 2325
+-96.878 29.356 2291
+-96.752 29.356 2316
+-96.626 29.356 2321
+-96.5 29.356 2266
+-96.374 29.356 2321
+-96.248 29.356 2369
+-96.122 29.356 2273
+-95.996 29.356 2372
+-95.87 29.356 2377
+-95.744 29.356 2372
+-95.618 29.356 2365
+-95.492 29.356 2369
+-95.366 29.356 2374
+-95.24 29.356 2378
+-95.114 29.356 2383
+-94.988 29.356 2388
+-94.862 29.356 2393
+-94.736 29.356 2392
+-94.61 29.356 2384
+-94.484 29.356 2420
+-94.358 29.356 2447
+-94.232 29.356 2446
+-94.106 29.356 2440
+-93.98 29.356 2446
+-93.854 29.356 2464
+-93.728 29.356 2476
+-93.602 29.356 2483
+-93.476 29.356 2491
+-93.35 29.356 2647
+-93.224 29.356 2657
+-93.098 29.356 2666
+-92.972 29.356 2676
+-92.846 29.356 2686
+-92.72 29.356 2717
+-92.594 29.356 2726
+-92.468 29.356 2736
+-92.342 29.356 2856
+-92.216 29.356 3007
+-92.09 29.356 3010
+-91.964 29.356 3013
+-91.838 29.356 3062
+-91.712 29.356 3064
+-91.586 29.356 3122
+-91.46 29.356 3123
+-91.334 29.356 3273
+-91.208 29.356 3273
+-91.082 29.356 3274
+-90.956 29.356 3274
+-90.83 29.356 3309
+-90.704 29.356 3373
+-90.578 29.356 3368
+-90.452 29.356 3364
+-90.326 29.356 3358
+-90.2 29.356 3422
+-90.074 29.356 3414
+-89.948 29.356 3406
+-89.822 29.356 3397
+-89.696 29.356 3386
+-89.57 29.356 3374
+-89.444 29.356 3357
+-89.318 29.356 3340
+-89.192 29.356 3345
+-89.066 29.356 3385
+-88.94 29.356 3395
+-88.814 29.356 3338
+-88.688 29.356 3265
+-88.562 29.356 3188
+-88.436 29.356 3119
+-88.31 29.356 3112
+-88.184 29.356 3226
+-88.058 29.356 3425
+-87.932 29.356 3621
+-87.806 29.356 3759
+-87.68 29.356 3834
+-87.554 29.356 3837
+-87.428 29.356 3839
+-87.302 29.356 3921
+-87.176 29.356 4065
+-87.05 29.356 4269
+-86.924 29.356 4450
+-86.798 29.356 4643
+-86.672 29.356 4800
+-86.546 29.356 4865
+-86.42 29.356 4904
+-86.294 29.356 5060
+-86.168 29.356 5213
+-86.042 29.356 5319
+-85.916 29.356 5413
+-85.79 29.356 5533
+-85.664 29.356 5686
+-85.538 29.356 5792
+-85.412 29.356 5868
+-85.286 29.356 5989
+-85.16 29.356 6122
+-85.034 29.356 6239
+-84.908 29.356 6358
+-84.782 29.356 6506
+-84.656 29.356 6622
+-84.53 29.356 6742
+-84.404 29.356 6859
+-84.278 29.356 7004
+-84.152 29.356 7101
+-84.026 29.356 7196
+-83.9 29.356 7220
+-83.774 29.356 7346
+-83.648 29.356 7478
+-83.522 29.356 7596
+-83.396 29.356 7682
+-83.27 29.356 7725
+-83.144 29.356 7839
+-83.018 29.356 7896
+-82.892 29.356 7927
+-82.766 29.356 7977
+-82.64 29.356 8030
+-82.514 29.356 8077
+-82.388 29.356 8094
+-82.262 29.356 8095
+-82.136 29.356 8123
+-82.01 29.356 8107
+-81.884 29.356 8077
+-81.758 29.356 8054
+-81.632 29.356 8002
+-81.506 29.356 7965
+-81.38 29.356 7911
+-81.254 29.356 7811
+-81.128 29.356 7735
+-81.002 29.356 7717
+-80.876 29.356 7572
+-80.75 29.356 7512
+-80.624 29.356 7405
+-80.498 29.356 7314
+-80.372 29.356 7214
+-80.246 29.356 7124
+-80.12 29.356 6990
+-79.994 29.356 6858
+-79.868 29.356 6739
+-79.742 29.356 6597
+-79.616 29.356 6498
+-79.49 29.356 6421
+-79.364 29.356 6277
+-79.238 29.356 6104
+-79.112 29.356 5947
+-78.986 29.356 5911
+-78.86 29.356 5783
+-78.734 29.356 5576
+-78.608 29.356 5379
+-78.482 29.356 5283
+-78.356 29.356 5203
+-78.23 29.356 5045
+-78.104 29.356 4914
+-77.978 29.356 4863
+-77.852 29.356 4658
+-77.726 29.356 4690
+-77.6 29.356 4573
+-77.474 29.356 4419
+-77.348 29.356 4274
+-77.222 29.356 4153
+-77.096 29.356 3998
+-76.97 29.356 3880
+-76.844 29.356 3825
+-76.718 29.356 3783
+-76.592 29.356 3711
+-76.466 29.356 3622
+-76.34 29.356 3545
+-76.214 29.356 3516
+-76.088 29.356 3517
+-75.962 29.356 3527
+-75.836 29.356 3529
+-75.71 29.356 3538
+-75.584 29.356 3554
+-75.458 29.356 3568
+-75.332 29.356 3534
+-75.206 29.356 3515
+-75.08 29.356 3524
+-74.954 29.356 3532
+-74.828 29.356 3539
+-74.702 29.356 3546
+-74.576 29.356 3552
+-74.45 29.356 3558
+-74.324 29.356 3563
+-74.198 29.356 3568
+-74.072 29.356 3572
+-73.946 29.356 3577
+-73.82 29.356 3580
+-73.694 29.356 3584
+-73.568 29.356 3587
+-73.442 29.356 3591
+-73.316 29.356 3594
+-73.19 29.356 3596
+-73.064 29.356 3386
+-72.938 29.356 3385
+-72.812 29.356 3387
+-72.686 29.356 3306
+-72.56 29.356 3304
+-72.434 29.356 3302
+-72.308 29.356 3301
+-72.182 29.356 3231
+-72.056 29.356 3229
+-71.93 29.356 3205
+-71.804 29.356 3183
+-71.678 29.356 3182
+-71.552 29.356 3180
+-71.426 29.356 3179
+-71.3 29.356 3178
+-71.174 29.356 3177
+-71.048 29.356 3175
+-70.922 29.356 3174
+-70.796 29.356 3173
+-70.67 29.356 3172
+-70.544 29.356 3172
+-70.418 29.356 3076
+-70.292 29.356 3075
+-70.166 29.356 3075
+-70.04 29.356 3074
+-69.914 29.356 3074
+-69.788 29.356 3074
+-69.662 29.356 3073
+-69.536 29.356 3073
+-69.41 29.356 3073
+-69.284 29.356 3073
+-69.158 29.356 3072
+-69.032 29.356 3072
+-68.906 29.356 3072
+-68.78 29.356 3072
+-68.654 29.356 3071
+-68.528 29.356 3071
+-68.402 29.356 3071
+-68.276 29.356 3071
+-68.15 29.356 3071
+-68.024 29.356 3071
+-67.898 29.356 3071
+-67.772 29.356 3071
+-67.646 29.356 3071
+-67.52 29.356 3071
+-67.394 29.356 3070
+-67.268 29.356 3070
+-67.142 29.356 3070
+-67.016 29.356 3070
+-66.89 29.356 3070
+-66.764 29.356 3070
+-66.638 29.356 3070
+-66.512 29.356 3070
+-66.386 29.356 3070
+-66.26 29.356 3070
+-66.134 29.356 3070
+-66.008 29.356 3070
+-65.882 29.356 3070
+-65.756 29.356 3070
+-65.63 29.356 3070
+-65.504 29.356 3070
+-65.378 29.356 3070
+-65.252 29.356 3070
+-65.126 29.356 3070
+-128 29.304 2301
+-127.874 29.304 2274
+-127.748 29.304 2245
+-127.622 29.304 2222
+-127.496 29.304 2207
+-127.37 29.304 2171
+-127.244 29.304 2160
+-127.118 29.304 2116
+-126.992 29.304 2069
+-126.866 29.304 2061
+-126.74 29.304 2023
+-126.614 29.304 1959
+-126.488 29.304 1894
+-126.362 29.304 1817
+-126.236 29.304 1733
+-126.11 29.304 1652
+-125.984 29.304 1574
+-125.858 29.304 1472
+-125.732 29.304 1369
+-125.606 29.304 1269
+-125.48 29.304 1207
+-125.354 29.304 1154
+-125.228 29.304 1120
+-125.102 29.304 1130
+-124.976 29.304 1184
+-124.85 29.304 1273
+-124.724 29.304 1379
+-124.598 29.304 1494
+-124.472 29.304 1583
+-124.346 29.304 1665
+-124.22 29.304 1755
+-124.094 29.304 1865
+-123.968 29.304 2001
+-123.842 29.304 2155
+-123.716 29.304 2312
+-123.59 29.304 2469
+-123.464 29.304 2630
+-123.338 29.304 2747
+-123.212 29.304 2836
+-123.086 29.304 2935
+-122.96 29.304 2981
+-122.834 29.304 3079
+-122.708 29.304 3068
+-122.582 29.304 3038
+-122.456 29.304 2975
+-122.33 29.304 2870
+-122.204 29.304 2781
+-122.078 29.304 2918
+-121.952 29.304 3109
+-121.826 29.304 3243
+-121.7 29.304 3369
+-121.574 29.304 3477
+-121.448 29.304 3567
+-121.322 29.304 3640
+-121.196 29.304 3698
+-121.07 29.304 3802
+-120.944 29.304 3857
+-120.818 29.304 3986
+-120.692 29.304 4126
+-120.566 29.304 4266
+-120.44 29.304 4448
+-120.314 29.304 4596
+-120.188 29.304 4693
+-120.062 29.304 4734
+-119.936 29.304 4830
+-119.81 29.304 4931
+-119.684 29.304 4978
+-119.558 29.304 5020
+-119.432 29.304 5057
+-119.306 29.304 5132
+-119.18 29.304 5230
+-119.054 29.304 5296
+-118.928 29.304 5285
+-118.802 29.304 5356
+-118.676 29.304 5417
+-118.55 29.304 5461
+-118.424 29.304 5507
+-118.298 29.304 5525
+-118.172 29.304 5559
+-118.046 29.304 5636
+-117.92 29.304 5700
+-117.794 29.304 5746
+-117.668 29.304 5763
+-117.542 29.304 5775
+-117.416 29.304 5770
+-117.29 29.304 5783
+-117.164 29.304 5802
+-117.038 29.304 5800
+-116.912 29.304 5812
+-116.786 29.304 5780
+-116.66 29.304 5763
+-116.534 29.304 5740
+-116.408 29.304 5722
+-116.282 29.304 5704
+-116.156 29.304 5680
+-116.03 29.304 5651
+-115.904 29.304 5630
+-115.778 29.304 5617
+-115.652 29.304 5579
+-115.526 29.304 5527
+-115.4 29.304 5459
+-115.274 29.304 5373
+-115.148 29.304 5304
+-115.022 29.304 5218
+-114.896 29.304 5152
+-114.77 29.304 5075
+-114.644 29.304 4972
+-114.518 29.304 4979
+-114.392 29.304 4884
+-114.266 29.304 4745
+-114.14 29.304 4726
+-114.014 29.304 4889
+-113.888 29.304 4968
+-113.762 29.304 5037
+-113.636 29.304 5159
+-113.51 29.304 5276
+-113.384 29.304 5374
+-113.258 29.304 5475
+-113.132 29.304 5591
+-113.006 29.304 5714
+-112.88 29.304 5842
+-112.754 29.304 5874
+-112.628 29.304 5950
+-112.502 29.304 6068
+-112.376 29.304 6155
+-112.25 29.304 6271
+-112.124 29.304 6378
+-111.998 29.304 6405
+-111.872 29.304 6520
+-111.746 29.304 6589
+-111.62 29.304 6649
+-111.494 29.304 6717
+-111.368 29.304 6752
+-111.242 29.304 6810
+-111.116 29.304 6871
+-110.99 29.304 6895
+-110.864 29.304 6917
+-110.738 29.304 6938
+-110.612 29.304 6984
+-110.486 29.304 6990
+-110.36 29.304 6958
+-110.234 29.304 6970
+-110.108 29.304 6955
+-109.982 29.304 6919
+-109.856 29.304 6914
+-109.73 29.304 6862
+-109.604 29.304 6838
+-109.478 29.304 6795
+-109.352 29.304 6728
+-109.226 29.304 6667
+-109.1 29.304 6596
+-108.974 29.304 6502
+-108.848 29.304 6434
+-108.722 29.304 6416
+-108.596 29.304 6346
+-108.47 29.304 6202
+-108.344 29.304 6130
+-108.218 29.304 6031
+-108.092 29.304 5940
+-107.966 29.304 5863
+-107.84 29.304 5760
+-107.714 29.304 5618
+-107.588 29.304 5598
+-107.462 29.304 5466
+-107.336 29.304 5323
+-107.21 29.304 5306
+-107.084 29.304 5219
+-106.958 29.304 5061
+-106.832 29.304 4860
+-106.706 29.304 4754
+-106.58 29.304 4656
+-106.454 29.304 4700
+-106.328 29.304 4677
+-106.202 29.304 4606
+-106.076 29.304 4458
+-105.95 29.304 4257
+-105.824 29.304 4094
+-105.698 29.304 3926
+-105.572 29.304 3795
+-105.446 29.304 3832
+-105.32 29.304 3879
+-105.194 29.304 3828
+-105.068 29.304 3697
+-104.942 29.304 3551
+-104.816 29.304 3374
+-104.69 29.304 3224
+-104.564 29.304 3194
+-104.438 29.304 3215
+-104.312 29.304 3230
+-104.186 29.304 3263
+-104.06 29.304 3288
+-103.934 29.304 3304
+-103.808 29.304 3285
+-103.682 29.304 3289
+-103.556 29.304 3289
+-103.43 29.304 3286
+-103.304 29.304 3240
+-103.178 29.304 3236
+-103.052 29.304 3230
+-102.926 29.304 3224
+-102.8 29.304 3220
+-102.674 29.304 3186
+-102.548 29.304 3164
+-102.422 29.304 3136
+-102.296 29.304 3137
+-102.17 29.304 3140
+-102.044 29.304 3117
+-101.918 29.304 3120
+-101.792 29.304 3083
+-101.666 29.304 3088
+-101.54 29.304 3078
+-101.414 29.304 3083
+-101.288 29.304 3088
+-101.162 29.304 3092
+-101.036 29.304 3040
+-100.91 29.304 3043
+-100.784 29.304 3046
+-100.658 29.304 2959
+-100.532 29.304 2964
+-100.406 29.304 2968
+-100.28 29.304 2860
+-100.154 29.304 2859
+-100.028 29.304 2857
+-99.902 29.304 2855
+-99.776 29.304 2852
+-99.65 29.304 2849
+-99.524 29.304 2845
+-99.398 29.304 2842
+-99.272 29.304 2837
+-99.146 29.304 2832
+-99.02 29.304 2827
+-98.894 29.304 2822
+-98.768 29.304 2816
+-98.642 29.304 2683
+-98.516 29.304 2676
+-98.39 29.304 2627
+-98.264 29.304 2566
+-98.138 29.304 2557
+-98.012 29.304 2548
+-97.886 29.304 2511
+-97.76 29.304 2502
+-97.634 29.304 2545
+-97.508 29.304 2490
+-97.382 29.304 2435
+-97.256 29.304 2391
+-97.13 29.304 2385
+-97.004 29.304 2272
+-96.878 29.304 2280
+-96.752 29.304 2296
+-96.626 29.304 2253
+-96.5 29.304 2324
+-96.374 29.304 2327
+-96.248 29.304 2376
+-96.122 29.304 2332
+-95.996 29.304 2379
+-95.87 29.304 2378
+-95.744 29.304 2370
+-95.618 29.304 2374
+-95.492 29.304 2378
+-95.366 29.304 2382
+-95.24 29.304 2386
+-95.114 29.304 2391
+-94.988 29.304 2396
+-94.862 29.304 2394
+-94.736 29.304 2387
+-94.61 29.304 2422
+-94.484 29.304 2451
+-94.358 29.304 2449
+-94.232 29.304 2443
+-94.106 29.304 2450
+-93.98 29.304 2466
+-93.854 29.304 2479
+-93.728 29.304 2486
+-93.602 29.304 2494
+-93.476 29.304 2659
+-93.35 29.304 2669
+-93.224 29.304 2678
+-93.098 29.304 2687
+-92.972 29.304 2697
+-92.846 29.304 2719
+-92.72 29.304 2729
+-92.594 29.304 2738
+-92.468 29.304 2857
+-92.342 29.304 2860
+-92.216 29.304 3019
+-92.09 29.304 3022
+-91.964 29.304 3104
+-91.838 29.304 3105
+-91.712 29.304 3133
+-91.586 29.304 3134
+-91.46 29.304 3169
+-91.334 29.304 3283
+-91.208 29.304 3284
+-91.082 29.304 3285
+-90.956 29.304 3361
+-90.83 29.304 3385
+-90.704 29.304 3382
+-90.578 29.304 3378
+-90.452 29.304 3406
+-90.326 29.304 3403
+-90.2 29.304 3397
+-90.074 29.304 3426
+-89.948 29.304 3418
+-89.822 29.304 3410
+-89.696 29.304 3400
+-89.57 29.304 3389
+-89.444 29.304 3447
+-89.318 29.304 3427
+-89.192 29.304 3431
+-89.066 29.304 3399
+-88.94 29.304 3430
+-88.814 29.304 3390
+-88.688 29.304 3370
+-88.562 29.304 3347
+-88.436 29.304 3315
+-88.31 29.304 3328
+-88.184 29.304 3403
+-88.058 29.304 3538
+-87.932 29.304 3681
+-87.806 29.304 3788
+-87.68 29.304 3864
+-87.554 29.304 3939
+-87.428 29.304 3970
+-87.302 29.304 4078
+-87.176 29.304 4233
+-87.05 29.304 4425
+-86.924 29.304 4566
+-86.798 29.304 4699
+-86.672 29.304 4817
+-86.546 29.304 4911
+-86.42 29.304 5036
+-86.294 29.304 5127
+-86.168 29.304 5192
+-86.042 29.304 5334
+-85.916 29.304 5402
+-85.79 29.304 5540
+-85.664 29.304 5703
+-85.538 29.304 5808
+-85.412 29.304 5872
+-85.286 29.304 6012
+-85.16 29.304 6149
+-85.034 29.304 6222
+-84.908 29.304 6344
+-84.782 29.304 6508
+-84.656 29.304 6696
+-84.53 29.304 6782
+-84.404 29.304 6897
+-84.278 29.304 7052
+-84.152 29.304 7146
+-84.026 29.304 7235
+-83.9 29.304 7293
+-83.774 29.304 7398
+-83.648 29.304 7542
+-83.522 29.304 7641
+-83.396 29.304 7683
+-83.27 29.304 7776
+-83.144 29.304 7867
+-83.018 29.304 7949
+-82.892 29.304 8021
+-82.766 29.304 8057
+-82.64 29.304 8107
+-82.514 29.304 8176
+-82.388 29.304 8171
+-82.262 29.304 8155
+-82.136 29.304 8178
+-82.01 29.304 8140
+-81.884 29.304 8128
+-81.758 29.304 8101
+-81.632 29.304 8047
+-81.506 29.304 7978
+-81.38 29.304 7943
+-81.254 29.304 7872
+-81.128 29.304 7802
+-81.002 29.304 7677
+-80.876 29.304 7640
+-80.75 29.304 7526
+-80.624 29.304 7375
+-80.498 29.304 7381
+-80.372 29.304 7260
+-80.246 29.304 7076
+-80.12 29.304 7012
+-79.994 29.304 6857
+-79.868 29.304 6792
+-79.742 29.304 6613
+-79.616 29.304 6542
+-79.49 29.304 6435
+-79.364 29.304 6315
+-79.238 29.304 6141
+-79.112 29.304 5958
+-78.986 29.304 5868
+-78.86 29.304 5803
+-78.734 29.304 5628
+-78.608 29.304 5418
+-78.482 29.304 5303
+-78.356 29.304 5262
+-78.23 29.304 5046
+-78.104 29.304 4915
+-77.978 29.304 4891
+-77.852 29.304 4791
+-77.726 29.304 4741
+-77.6 29.304 4624
+-77.474 29.304 4480
+-77.348 29.304 4340
+-77.222 29.304 4190
+-77.096 29.304 4058
+-76.97 29.304 3912
+-76.844 29.304 3853
+-76.718 29.304 3809
+-76.592 29.304 3732
+-76.466 29.304 3658
+-76.34 29.304 3604
+-76.214 29.304 3567
+-76.088 29.304 3545
+-75.962 29.304 3526
+-75.836 29.304 3523
+-75.71 29.304 3532
+-75.584 29.304 3544
+-75.458 29.304 3557
+-75.332 29.304 3571
+-75.206 29.304 3536
+-75.08 29.304 3518
+-74.954 29.304 3527
+-74.828 29.304 3536
+-74.702 29.304 3543
+-74.576 29.304 3550
+-74.45 29.304 3556
+-74.324 29.304 3562
+-74.198 29.304 3567
+-74.072 29.304 3572
+-73.946 29.304 3576
+-73.82 29.304 3580
+-73.694 29.304 3584
+-73.568 29.304 3588
+-73.442 29.304 3591
+-73.316 29.304 3594
+-73.19 29.304 3389
+-73.064 29.304 3388
+-72.938 29.304 3389
+-72.812 29.304 3376
+-72.686 29.304 3307
+-72.56 29.304 3305
+-72.434 29.304 3303
+-72.308 29.304 3235
+-72.182 29.304 3234
+-72.056 29.304 3209
+-71.93 29.304 3187
+-71.804 29.304 3185
+-71.678 29.304 3184
+-71.552 29.304 3182
+-71.426 29.304 3181
+-71.3 29.304 3180
+-71.174 29.304 3178
+-71.048 29.304 3177
+-70.922 29.304 3176
+-70.796 29.304 3175
+-70.67 29.304 3174
+-70.544 29.304 3078
+-70.418 29.304 3078
+-70.292 29.304 3077
+-70.166 29.304 3077
+-70.04 29.304 3076
+-69.914 29.304 3076
+-69.788 29.304 3075
+-69.662 29.304 3075
+-69.536 29.304 3075
+-69.41 29.304 3074
+-69.284 29.304 3074
+-69.158 29.304 3074
+-69.032 29.304 3074
+-68.906 29.304 3073
+-68.78 29.304 3073
+-68.654 29.304 3073
+-68.528 29.304 3073
+-68.402 29.304 3072
+-68.276 29.304 3072
+-68.15 29.304 3072
+-68.024 29.304 3072
+-67.898 29.304 3072
+-67.772 29.304 3072
+-67.646 29.304 3072
+-67.52 29.304 3072
+-67.394 29.304 3072
+-67.268 29.304 3071
+-67.142 29.304 3071
+-67.016 29.304 3071
+-66.89 29.304 3071
+-66.764 29.304 3071
+-66.638 29.304 3071
+-66.512 29.304 3071
+-66.386 29.304 3071
+-66.26 29.304 3071
+-66.134 29.304 3071
+-66.008 29.304 3071
+-65.882 29.304 3071
+-65.756 29.304 3071
+-65.63 29.304 3071
+-65.504 29.304 3071
+-65.378 29.304 3071
+-65.252 29.304 3071
+-65.126 29.304 3071
+-128 29.252 2302
+-127.874 29.252 2276
+-127.748 29.252 2256
+-127.622 29.252 2244
+-127.496 29.252 2212
+-127.37 29.252 2207
+-127.244 29.252 2168
+-127.118 29.252 2127
+-126.992 29.252 2127
+-126.866 29.252 2099
+-126.74 29.252 2044
+-126.614 29.252 1991
+-126.488 29.252 1927
+-126.362 29.252 1857
+-126.236 29.252 1792
+-126.11 29.252 1733
+-125.984 29.252 1651
+-125.858 29.252 1568
+-125.732 29.252 1485
+-125.606 29.252 1437
+-125.48 29.252 1390
+-125.354 29.252 1345
+-125.228 29.252 1326
+-125.102 29.252 1339
+-124.976 29.252 1383
+-124.85 29.252 1454
+-124.724 29.252 1553
+-124.598 29.252 1640
+-124.472 29.252 1725
+-124.346 29.252 1811
+-124.22 29.252 1903
+-124.094 29.252 2009
+-123.968 29.252 2130
+-123.842 29.252 2262
+-123.716 29.252 2401
+-123.59 29.252 2555
+-123.464 29.252 2677
+-123.338 29.252 2775
+-123.212 29.252 2872
+-123.086 29.252 2952
+-122.96 29.252 2994
+-122.834 29.252 3096
+-122.708 29.252 3086
+-122.582 29.252 3058
+-122.456 29.252 3002
+-122.33 29.252 2927
+-122.204 29.252 2891
+-122.078 29.252 2988
+-121.952 29.252 3148
+-121.826 29.252 3280
+-121.7 29.252 3405
+-121.574 29.252 3495
+-121.448 29.252 3548
+-121.322 29.252 3584
+-121.196 29.252 3650
+-121.07 29.252 3756
+-120.944 29.252 3795
+-120.818 29.252 3867
+-120.692 29.252 4031
+-120.566 29.252 4199
+-120.44 29.252 4349
+-120.314 29.252 4514
+-120.188 29.252 4614
+-120.062 29.252 4716
+-119.936 29.252 4821
+-119.81 29.252 4893
+-119.684 29.252 4949
+-119.558 29.252 4982
+-119.432 29.252 4965
+-119.306 29.252 5064
+-119.18 29.252 5185
+-119.054 29.252 5260
+-118.928 29.252 5294
+-118.802 29.252 5266
+-118.676 29.252 5365
+-118.55 29.252 5410
+-118.424 29.252 5439
+-118.298 29.252 5472
+-118.172 29.252 5499
+-118.046 29.252 5521
+-117.92 29.252 5587
+-117.794 29.252 5630
+-117.668 29.252 5674
+-117.542 29.252 5703
+-117.416 29.252 5742
+-117.29 29.252 5736
+-117.164 29.252 5741
+-117.038 29.252 5758
+-116.912 29.252 5743
+-116.786 29.252 5708
+-116.66 29.252 5714
+-116.534 29.252 5699
+-116.408 29.252 5674
+-116.282 29.252 5645
+-116.156 29.252 5618
+-116.03 29.252 5576
+-115.904 29.252 5549
+-115.778 29.252 5538
+-115.652 29.252 5512
+-115.526 29.252 5434
+-115.4 29.252 5369
+-115.274 29.252 5323
+-115.148 29.252 5229
+-115.022 29.252 5160
+-114.896 29.252 5094
+-114.77 29.252 5043
+-114.644 29.252 5002
+-114.518 29.252 4962
+-114.392 29.252 4889
+-114.266 29.252 4827
+-114.14 29.252 4827
+-114.014 29.252 4832
+-113.888 29.252 4938
+-113.762 29.252 5032
+-113.636 29.252 5144
+-113.51 29.252 5255
+-113.384 29.252 5350
+-113.258 29.252 5460
+-113.132 29.252 5542
+-113.006 29.252 5669
+-112.88 29.252 5780
+-112.754 29.252 5877
+-112.628 29.252 5966
+-112.502 29.252 6022
+-112.376 29.252 6108
+-112.25 29.252 6224
+-112.124 29.252 6351
+-111.998 29.252 6432
+-111.872 29.252 6444
+-111.746 29.252 6539
+-111.62 29.252 6611
+-111.494 29.252 6685
+-111.368 29.252 6704
+-111.242 29.252 6730
+-111.116 29.252 6814
+-110.99 29.252 6849
+-110.864 29.252 6894
+-110.738 29.252 6922
+-110.612 29.252 6929
+-110.486 29.252 6934
+-110.36 29.252 6931
+-110.234 29.252 6929
+-110.108 29.252 6900
+-109.982 29.252 6895
+-109.856 29.252 6824
+-109.73 29.252 6815
+-109.604 29.252 6785
+-109.478 29.252 6740
+-109.352 29.252 6688
+-109.226 29.252 6626
+-109.1 29.252 6582
+-108.974 29.252 6497
+-108.848 29.252 6449
+-108.722 29.252 6393
+-108.596 29.252 6315
+-108.47 29.252 6186
+-108.344 29.252 6065
+-108.218 29.252 5970
+-108.092 29.252 5943
+-107.966 29.252 5820
+-107.84 29.252 5714
+-107.714 29.252 5672
+-107.588 29.252 5547
+-107.462 29.252 5345
+-107.336 29.252 5386
+-107.21 29.252 5315
+-107.084 29.252 5226
+-106.958 29.252 5036
+-106.832 29.252 4815
+-106.706 29.252 4674
+-106.58 29.252 4710
+-106.454 29.252 4702
+-106.328 29.252 4657
+-106.202 29.252 4586
+-106.076 29.252 4479
+-105.95 29.252 4267
+-105.824 29.252 4055
+-105.698 29.252 3807
+-105.572 29.252 3654
+-105.446 29.252 3742
+-105.32 29.252 3812
+-105.194 29.252 3775
+-105.068 29.252 3578
+-104.942 29.252 3364
+-104.816 29.252 3150
+-104.69 29.252 3027
+-104.564 29.252 3008
+-104.438 29.252 3076
+-104.312 29.252 3153
+-104.186 29.252 3214
+-104.06 29.252 3258
+-103.934 29.252 3258
+-103.808 29.252 3276
+-103.682 29.252 3286
+-103.556 29.252 3291
+-103.43 29.252 3292
+-103.304 29.252 3292
+-103.178 29.252 3247
+-103.052 29.252 3244
+-102.926 29.252 3241
+-102.8 29.252 3237
+-102.674 29.252 3235
+-102.548 29.252 3201
+-102.422 29.252 3200
+-102.296 29.252 3152
+-102.17 29.252 3154
+-102.044 29.252 3157
+-101.918 29.252 3133
+-101.792 29.252 3093
+-101.666 29.252 3097
+-101.54 29.252 3101
+-101.414 29.252 3092
+-101.288 29.252 3096
+-101.162 29.252 3100
+-101.036 29.252 3104
+-100.91 29.252 3050
+-100.784 29.252 3053
+-100.658 29.252 3056
+-100.532 29.252 2967
+-100.406 29.252 2971
+-100.28 29.252 2863
+-100.154 29.252 2862
+-100.028 29.252 2860
+-99.902 29.252 2858
+-99.776 29.252 2855
+-99.65 29.252 2852
+-99.524 29.252 2849
+-99.398 29.252 2845
+-99.272 29.252 2841
+-99.146 29.252 2836
+-99.02 29.252 2831
+-98.894 29.252 2825
+-98.768 29.252 2820
+-98.642 29.252 2813
+-98.516 29.252 2679
+-98.39 29.252 2631
+-98.264 29.252 2571
+-98.138 29.252 2562
+-98.012 29.252 2553
+-97.886 29.252 2517
+-97.76 29.252 2508
+-97.634 29.252 2499
+-97.508 29.252 2496
+-97.382 29.252 2442
+-97.256 29.252 2398
+-97.13 29.252 2392
+-97.004 29.252 2333
+-96.878 29.252 2345
+-96.752 29.252 2359
+-96.626 29.252 2316
+-96.5 29.252 2330
+-96.374 29.252 2293
+-96.248 29.252 2296
+-96.122 29.252 2338
+-95.996 29.252 2380
+-95.87 29.252 2304
+-95.744 29.252 2378
+-95.618 29.252 2382
+-95.492 29.252 2385
+-95.366 29.252 2389
+-95.24 29.252 2394
+-95.114 29.252 2398
+-94.988 29.252 2396
+-94.862 29.252 2390
+-94.736 29.252 2425
+-94.61 29.252 2454
+-94.484 29.252 2452
+-94.358 29.252 2446
+-94.232 29.252 2453
+-94.106 29.252 2468
+-93.98 29.252 2482
+-93.854 29.252 2489
+-93.728 29.252 2497
+-93.602 29.252 2511
+-93.476 29.252 2671
+-93.35 29.252 2680
+-93.224 29.252 2690
+-93.098 29.252 2699
+-92.972 29.252 2721
+-92.846 29.252 2731
+-92.72 29.252 2740
+-92.594 29.252 2862
+-92.468 29.252 2865
+-92.342 29.252 2869
+-92.216 29.252 2999
+-92.09 29.252 3039
+-91.964 29.252 3115
+-91.838 29.252 3153
+-91.712 29.252 3154
+-91.586 29.252 3180
+-91.46 29.252 3180
+-91.334 29.252 3181
+-91.208 29.252 3318
+-91.082 29.252 3372
+-90.956 29.252 3397
+-90.83 29.252 3394
+-90.704 29.252 3426
+-90.578 29.252 3421
+-90.452 29.252 3416
+-90.326 29.252 3410
+-90.2 29.252 3408
+-90.074 29.252 3401
+-89.948 29.252 3461
+-89.822 29.252 3452
+-89.696 29.252 3442
+-89.57 29.252 3485
+-89.444 29.252 3461
+-89.318 29.252 3443
+-89.192 29.252 3452
+-89.066 29.252 3429
+-88.94 29.252 3464
+-88.814 29.252 3443
+-88.688 29.252 3454
+-88.562 29.252 3450
+-88.436 29.252 3447
+-88.31 29.252 3472
+-88.184 29.252 3531
+-88.058 29.252 3614
+-87.932 29.252 3730
+-87.806 29.252 3866
+-87.68 29.252 3954
+-87.554 29.252 4052
+-87.428 29.252 4124
+-87.302 29.252 4203
+-87.176 29.252 4337
+-87.05 29.252 4540
+-86.924 29.252 4651
+-86.798 29.252 4754
+-86.672 29.252 4887
+-86.546 29.252 4948
+-86.42 29.252 5080
+-86.294 29.252 5147
+-86.168 29.252 5099
+-86.042 29.252 5283
+-85.916 29.252 5460
+-85.79 29.252 5606
+-85.664 29.252 5653
+-85.538 29.252 5790
+-85.412 29.252 5954
+-85.286 29.252 6021
+-85.16 29.252 6214
+-85.034 29.252 6249
+-84.908 29.252 6374
+-84.782 29.252 6547
+-84.656 29.252 6731
+-84.53 29.252 6752
+-84.404 29.252 6873
+-84.278 29.252 7059
+-84.152 29.252 7133
+-84.026 29.252 7261
+-83.9 29.252 7345
+-83.774 29.252 7458
+-83.648 29.252 7556
+-83.522 29.252 7701
+-83.396 29.252 7785
+-83.27 29.252 7850
+-83.144 29.252 7931
+-83.018 29.252 7994
+-82.892 29.252 8072
+-82.766 29.252 8103
+-82.64 29.252 8170
+-82.514 29.252 8217
+-82.388 29.252 8214
+-82.262 29.252 8224
+-82.136 29.252 8220
+-82.01 29.252 8212
+-81.884 29.252 8183
+-81.758 29.252 8150
+-81.632 29.252 8091
+-81.506 29.252 8041
+-81.38 29.252 8003
+-81.254 29.252 7985
+-81.128 29.252 7843
+-81.002 29.252 7752
+-80.876 29.252 7642
+-80.75 29.252 7557
+-80.624 29.252 7490
+-80.498 29.252 7382
+-80.372 29.252 7207
+-80.246 29.252 7198
+-80.12 29.252 7041
+-79.994 29.252 6844
+-79.868 29.252 6796
+-79.742 29.252 6621
+-79.616 29.252 6514
+-79.49 29.252 6465
+-79.364 29.252 6343
+-79.238 29.252 6188
+-79.112 29.252 6027
+-78.986 29.252 5909
+-78.86 29.252 5798
+-78.734 29.252 5666
+-78.608 29.252 5444
+-78.482 29.252 5367
+-78.356 29.252 5245
+-78.23 29.252 5098
+-78.104 29.252 4983
+-77.978 29.252 4894
+-77.852 29.252 4849
+-77.726 29.252 4771
+-77.6 29.252 4643
+-77.474 29.252 4491
+-77.348 29.252 4349
+-77.222 29.252 4196
+-77.096 29.252 4045
+-76.97 29.252 3937
+-76.844 29.252 3828
+-76.718 29.252 3767
+-76.592 29.252 3725
+-76.466 29.252 3664
+-76.34 29.252 3613
+-76.214 29.252 3569
+-76.088 29.252 3525
+-75.962 29.252 3505
+-75.836 29.252 3505
+-75.71 29.252 3513
+-75.584 29.252 3526
+-75.458 29.252 3542
+-75.332 29.252 3557
+-75.206 29.252 3572
+-75.08 29.252 3539
+-74.954 29.252 3522
+-74.828 29.252 3532
+-74.702 29.252 3540
+-74.576 29.252 3548
+-74.45 29.252 3554
+-74.324 29.252 3561
+-74.198 29.252 3566
+-74.072 29.252 3571
+-73.946 29.252 3576
+-73.82 29.252 3580
+-73.694 29.252 3584
+-73.568 29.252 3588
+-73.442 29.252 3551
+-73.316 29.252 3552
+-73.19 29.252 3554
+-73.064 29.252 3390
+-72.938 29.252 3378
+-72.812 29.252 3311
+-72.686 29.252 3308
+-72.56 29.252 3306
+-72.434 29.252 3240
+-72.308 29.252 3238
+-72.182 29.252 3213
+-72.056 29.252 3191
+-71.93 29.252 3189
+-71.804 29.252 3187
+-71.678 29.252 3186
+-71.552 29.252 3184
+-71.426 29.252 3183
+-71.3 29.252 3181
+-71.174 29.252 3180
+-71.048 29.252 3179
+-70.922 29.252 3178
+-70.796 29.252 3177
+-70.67 29.252 3081
+-70.544 29.252 3080
+-70.418 29.252 3080
+-70.292 29.252 3079
+-70.166 29.252 3079
+-70.04 29.252 3078
+-69.914 29.252 3078
+-69.788 29.252 3077
+-69.662 29.252 3077
+-69.536 29.252 3076
+-69.41 29.252 3076
+-69.284 29.252 3076
+-69.158 29.252 3075
+-69.032 29.252 3075
+-68.906 29.252 3075
+-68.78 29.252 3074
+-68.654 29.252 3074
+-68.528 29.252 3074
+-68.402 29.252 3074
+-68.276 29.252 3074
+-68.15 29.252 3073
+-68.024 29.252 3073
+-67.898 29.252 3073
+-67.772 29.252 3073
+-67.646 29.252 3073
+-67.52 29.252 3073
+-67.394 29.252 3073
+-67.268 29.252 3073
+-67.142 29.252 3072
+-67.016 29.252 3072
+-66.89 29.252 3072
+-66.764 29.252 3072
+-66.638 29.252 3072
+-66.512 29.252 3072
+-66.386 29.252 3072
+-66.26 29.252 3072
+-66.134 29.252 3072
+-66.008 29.252 3072
+-65.882 29.252 3072
+-65.756 29.252 3072
+-65.63 29.252 3072
+-65.504 29.252 3072
+-65.378 29.252 3072
+-65.252 29.252 3072
+-65.126 29.252 3072
+-128 29.2 2304
+-127.874 29.2 2287
+-127.748 29.2 2278
+-127.622 29.2 2249
+-127.496 29.2 2249
+-127.37 29.2 2216
+-127.244 29.2 2179
+-127.118 29.2 2186
+-126.992 29.2 2166
+-126.866 29.2 2119
+-126.74 29.2 2075
+-126.614 29.2 2021
+-126.488 29.2 1963
+-126.362 29.2 1911
+-126.236 29.2 1866
+-126.11 29.2 1799
+-125.984 29.2 1730
+-125.858 29.2 1662
+-125.732 29.2 1626
+-125.606 29.2 1589
+-125.48 29.2 1543
+-125.354 29.2 1514
+-125.228 29.2 1505
+-125.102 29.2 1520
+-124.976 29.2 1560
+-124.85 29.2 1634
+-124.724 29.2 1704
+-124.598 29.2 1780
+-124.472 29.2 1859
+-124.346 29.2 1942
+-124.22 29.2 2032
+-124.094 29.2 2131
+-123.968 29.2 2240
+-123.842 29.2 2359
+-123.716 29.2 2500
+-123.59 29.2 2617
+-123.464 29.2 2717
+-123.338 29.2 2822
+-123.212 29.2 2913
+-123.086 29.2 2969
+-122.96 29.2 3009
+-122.834 29.2 3035
+-122.708 29.2 3114
+-122.582 29.2 3095
+-122.456 29.2 3063
+-122.33 29.2 3037
+-122.204 29.2 3052
+-122.078 29.2 3123
+-121.952 29.2 3229
+-121.826 29.2 3334
+-121.7 29.2 3421
+-121.574 29.2 3495
+-121.448 29.2 3510
+-121.322 29.2 3509
+-121.196 29.2 3586
+-121.07 29.2 3720
+-120.944 29.2 3783
+-120.818 29.2 3808
+-120.692 29.2 3950
+-120.566 29.2 4136
+-120.44 29.2 4298
+-120.314 29.2 4427
+-120.188 29.2 4524
+-120.062 29.2 4660
+-119.936 29.2 4738
+-119.81 29.2 4841
+-119.684 29.2 4900
+-119.558 29.2 4942
+-119.432 29.2 4972
+-119.306 29.2 5013
+-119.18 29.2 5111
+-119.054 29.2 5183
+-118.928 29.2 5247
+-118.802 29.2 5278
+-118.676 29.2 5317
+-118.55 29.2 5345
+-118.424 29.2 5370
+-118.298 29.2 5421
+-118.172 29.2 5502
+-118.046 29.2 5459
+-117.92 29.2 5491
+-117.794 29.2 5550
+-117.668 29.2 5603
+-117.542 29.2 5659
+-117.416 29.2 5679
+-117.29 29.2 5688
+-117.164 29.2 5694
+-117.038 29.2 5701
+-116.912 29.2 5686
+-116.786 29.2 5673
+-116.66 29.2 5655
+-116.534 29.2 5625
+-116.408 29.2 5598
+-116.282 29.2 5573
+-116.156 29.2 5539
+-116.03 29.2 5484
+-115.904 29.2 5467
+-115.778 29.2 5460
+-115.652 29.2 5419
+-115.526 29.2 5349
+-115.4 29.2 5330
+-115.274 29.2 5268
+-115.148 29.2 5169
+-115.022 29.2 5059
+-114.896 29.2 5008
+-114.77 29.2 4995
+-114.644 29.2 4941
+-114.518 29.2 4894
+-114.392 29.2 4870
+-114.266 29.2 4834
+-114.14 29.2 4838
+-114.014 29.2 4873
+-113.888 29.2 4946
+-113.762 29.2 5007
+-113.636 29.2 5078
+-113.51 29.2 5203
+-113.384 29.2 5343
+-113.258 29.2 5441
+-113.132 29.2 5498
+-113.006 29.2 5591
+-112.88 29.2 5723
+-112.754 29.2 5819
+-112.628 29.2 5905
+-112.502 29.2 6017
+-112.376 29.2 6081
+-112.25 29.2 6167
+-112.124 29.2 6274
+-111.998 29.2 6375
+-111.872 29.2 6440
+-111.746 29.2 6515
+-111.62 29.2 6533
+-111.494 29.2 6636
+-111.368 29.2 6628
+-111.242 29.2 6714
+-111.116 29.2 6751
+-110.99 29.2 6796
+-110.864 29.2 6829
+-110.738 29.2 6865
+-110.612 29.2 6861
+-110.486 29.2 6889
+-110.36 29.2 6868
+-110.234 29.2 6879
+-110.108 29.2 6859
+-109.982 29.2 6841
+-109.856 29.2 6798
+-109.73 29.2 6756
+-109.604 29.2 6718
+-109.478 29.2 6685
+-109.352 29.2 6644
+-109.226 29.2 6573
+-109.1 29.2 6552
+-108.974 29.2 6456
+-108.848 29.2 6428
+-108.722 29.2 6326
+-108.596 29.2 6271
+-108.47 29.2 6139
+-108.344 29.2 6004
+-108.218 29.2 5939
+-108.092 29.2 5864
+-107.966 29.2 5775
+-107.84 29.2 5671
+-107.714 29.2 5658
+-107.588 29.2 5554
+-107.462 29.2 5462
+-107.336 29.2 5412
+-107.21 29.2 5324
+-107.084 29.2 5221
+-106.958 29.2 5055
+-106.832 29.2 4887
+-106.706 29.2 4761
+-106.58 29.2 4713
+-106.454 29.2 4678
+-106.328 29.2 4635
+-106.202 29.2 4570
+-106.076 29.2 4447
+-105.95 29.2 4240
+-105.824 29.2 4050
+-105.698 29.2 3860
+-105.572 29.2 3755
+-105.446 29.2 3766
+-105.32 29.2 3746
+-105.194 29.2 3665
+-105.068 29.2 3490
+-104.942 29.2 3195
+-104.816 29.2 2919
+-104.69 29.2 2792
+-104.564 29.2 2853
+-104.438 29.2 2971
+-104.312 29.2 3087
+-104.186 29.2 3174
+-104.06 29.2 3232
+-103.934 29.2 3271
+-103.808 29.2 3267
+-103.682 29.2 3282
+-103.556 29.2 3291
+-103.43 29.2 3296
+-103.304 29.2 3298
+-103.178 29.2 3299
+-103.052 29.2 3254
+-102.926 29.2 3253
+-102.8 29.2 3251
+-102.674 29.2 3250
+-102.548 29.2 3249
+-102.422 29.2 3215
+-102.296 29.2 3215
+-102.17 29.2 3131
+-102.044 29.2 3168
+-101.918 29.2 3134
+-101.792 29.2 3147
+-101.666 29.2 3105
+-101.54 29.2 3109
+-101.414 29.2 3112
+-101.288 29.2 3103
+-101.162 29.2 3107
+-101.036 29.2 3067
+-100.91 29.2 3070
+-100.784 29.2 3059
+-100.658 29.2 3061
+-100.532 29.2 3064
+-100.406 29.2 2974
+-100.28 29.2 2916
+-100.154 29.2 2865
+-100.028 29.2 2806
+-99.902 29.2 2803
+-99.776 29.2 2799
+-99.65 29.2 2796
+-99.524 29.2 2791
+-99.398 29.2 2787
+-99.272 29.2 2782
+-99.146 29.2 2777
+-99.02 29.2 2771
+-98.894 29.2 2766
+-98.768 29.2 2759
+-98.642 29.2 2753
+-98.516 29.2 2746
+-98.39 29.2 2650
+-98.264 29.2 2575
+-98.138 29.2 2567
+-98.012 29.2 2558
+-97.886 29.2 2522
+-97.76 29.2 2513
+-97.634 29.2 2505
+-97.508 29.2 2502
+-97.382 29.2 2456
+-97.256 29.2 2404
+-97.13 29.2 2392
+-97.004 29.2 2339
+-96.878 29.2 2350
+-96.752 29.2 2365
+-96.626 29.2 2321
+-96.5 29.2 2295
+-96.374 29.2 2295
+-96.248 29.2 2298
+-96.122 29.2 2340
+-95.996 29.2 2306
+-95.87 29.2 2311
+-95.744 29.2 2385
+-95.618 29.2 2389
+-95.492 29.2 2393
+-95.366 29.2 2397
+-95.24 29.2 2401
+-95.114 29.2 2398
+-94.988 29.2 2393
+-94.862 29.2 2428
+-94.736 29.2 2457
+-94.61 29.2 2455
+-94.484 29.2 2449
+-94.358 29.2 2457
+-94.232 29.2 2470
+-94.106 29.2 2485
+-93.98 29.2 2492
+-93.854 29.2 2500
+-93.728 29.2 2515
+-93.602 29.2 2522
+-93.476 29.2 2529
+-93.35 29.2 2692
+-93.224 29.2 2701
+-93.098 29.2 2723
+-92.972 29.2 2732
+-92.846 29.2 2742
+-92.72 29.2 2872
+-92.594 29.2 2875
+-92.468 29.2 2874
+-92.342 29.2 3004
+-92.216 29.2 3089
+-92.09 29.2 3092
+-91.964 29.2 3130
+-91.838 29.2 3164
+-91.712 29.2 3190
+-91.586 29.2 3191
+-91.46 29.2 3191
+-91.334 29.2 3328
+-91.208 29.2 3383
+-91.082 29.2 3446
+-90.956 29.2 3443
+-90.83 29.2 3439
+-90.704 29.2 3435
+-90.578 29.2 3431
+-90.452 29.2 3426
+-90.326 29.2 3421
+-90.2 29.2 3415
+-90.074 29.2 3412
+-89.948 29.2 3405
+-89.822 29.2 3480
+-89.696 29.2 3513
+-89.57 29.2 3499
+-89.444 29.2 3484
+-89.318 29.2 3467
+-89.192 29.2 3470
+-89.066 29.2 3499
+-88.94 29.2 3504
+-88.814 29.2 3484
+-88.688 29.2 3478
+-88.562 29.2 3496
+-88.436 29.2 3521
+-88.31 29.2 3550
+-88.184 29.2 3602
+-88.058 29.2 3726
+-87.932 29.2 3822
+-87.806 29.2 3941
+-87.68 29.2 4034
+-87.554 29.2 4131
+-87.428 29.2 4199
+-87.302 29.2 4300
+-87.176 29.2 4458
+-87.05 29.2 4645
+-86.924 29.2 4733
+-86.798 29.2 4825
+-86.672 29.2 4877
+-86.546 29.2 4953
+-86.42 29.2 5053
+-86.294 29.2 5148
+-86.168 29.2 5199
+-86.042 29.2 5331
+-85.916 29.2 5478
+-85.79 29.2 5632
+-85.664 29.2 5677
+-85.538 29.2 5802
+-85.412 29.2 5971
+-85.286 29.2 6089
+-85.16 29.2 6190
+-85.034 29.2 6291
+-84.908 29.2 6414
+-84.782 29.2 6569
+-84.656 29.2 6758
+-84.53 29.2 6873
+-84.404 29.2 6959
+-84.278 29.2 7101
+-84.152 29.2 7191
+-84.026 29.2 7284
+-83.9 29.2 7378
+-83.774 29.2 7507
+-83.648 29.2 7637
+-83.522 29.2 7690
+-83.396 29.2 7804
+-83.27 29.2 7872
+-83.144 29.2 7987
+-83.018 29.2 8065
+-82.892 29.2 8097
+-82.766 29.2 8169
+-82.64 29.2 8212
+-82.514 29.2 8258
+-82.388 29.2 8309
+-82.262 29.2 8293
+-82.136 29.2 8287
+-82.01 29.2 8273
+-81.884 29.2 8244
+-81.758 29.2 8235
+-81.632 29.2 8167
+-81.506 29.2 8106
+-81.38 29.2 8060
+-81.254 29.2 7996
+-81.128 29.2 7927
+-81.002 29.2 7806
+-80.876 29.2 7718
+-80.75 29.2 7592
+-80.624 29.2 7497
+-80.498 29.2 7407
+-80.372 29.2 7299
+-80.246 29.2 7244
+-80.12 29.2 7106
+-79.994 29.2 6951
+-79.868 29.2 6848
+-79.742 29.2 6658
+-79.616 29.2 6519
+-79.49 29.2 6488
+-79.364 29.2 6360
+-79.238 29.2 6245
+-79.112 29.2 6106
+-78.986 29.2 5969
+-78.86 29.2 5814
+-78.734 29.2 5661
+-78.608 29.2 5461
+-78.482 29.2 5385
+-78.356 29.2 5293
+-78.23 29.2 5142
+-78.104 29.2 4979
+-77.978 29.2 4840
+-77.852 29.2 4848
+-77.726 29.2 4750
+-77.6 29.2 4643
+-77.474 29.2 4454
+-77.348 29.2 4325
+-77.222 29.2 4174
+-77.096 29.2 4014
+-76.97 29.2 3837
+-76.844 29.2 3722
+-76.718 29.2 3727
+-76.592 29.2 3723
+-76.466 29.2 3653
+-76.34 29.2 3589
+-76.214 29.2 3529
+-76.088 29.2 3476
+-75.962 29.2 3460
+-75.836 29.2 3464
+-75.71 29.2 3479
+-75.584 29.2 3500
+-75.458 29.2 3521
+-75.332 29.2 3541
+-75.206 29.2 3560
+-75.08 29.2 3544
+-74.954 29.2 3560
+-74.828 29.2 3544
+-74.702 29.2 3555
+-74.576 29.2 3564
+-74.45 29.2 3572
+-74.324 29.2 3579
+-74.198 29.2 3586
+-74.072 29.2 3592
+-73.946 29.2 3597
+-73.82 29.2 3602
+-73.694 29.2 3607
+-73.568 29.2 3548
+-73.442 29.2 3550
+-73.316 29.2 3551
+-73.19 29.2 3391
+-73.064 29.2 3398
+-72.938 29.2 3397
+-72.812 29.2 3311
+-72.686 29.2 3309
+-72.56 29.2 3307
+-72.434 29.2 3312
+-72.308 29.2 3256
+-72.182 29.2 3194
+-72.056 29.2 3192
+-71.93 29.2 3191
+-71.804 29.2 3189
+-71.678 29.2 3187
+-71.552 29.2 3186
+-71.426 29.2 3184
+-71.3 29.2 3183
+-71.174 29.2 3181
+-71.048 29.2 3180
+-70.922 29.2 3179
+-70.796 29.2 3084
+-70.67 29.2 3083
+-70.544 29.2 3082
+-70.418 29.2 3081
+-70.292 29.2 3081
+-70.166 29.2 3080
+-70.04 29.2 3080
+-69.914 29.2 3079
+-69.788 29.2 3079
+-69.662 29.2 3078
+-69.536 29.2 3078
+-69.41 29.2 3077
+-69.284 29.2 3077
+-69.158 29.2 3077
+-69.032 29.2 3076
+-68.906 29.2 3076
+-68.78 29.2 3076
+-68.654 29.2 3075
+-68.528 29.2 3075
+-68.402 29.2 3075
+-68.276 29.2 3075
+-68.15 29.2 3075
+-68.024 29.2 3074
+-67.898 29.2 3074
+-67.772 29.2 3074
+-67.646 29.2 3074
+-67.52 29.2 3074
+-67.394 29.2 3074
+-67.268 29.2 3074
+-67.142 29.2 3073
+-67.016 29.2 3073
+-66.89 29.2 3073
+-66.764 29.2 3073
+-66.638 29.2 3073
+-66.512 29.2 3073
+-66.386 29.2 3073
+-66.26 29.2 3073
+-66.134 29.2 3073
+-66.008 29.2 3073
+-65.882 29.2 3073
+-65.756 29.2 3073
+-65.63 29.2 3073
+-65.504 29.2 3073
+-65.378 29.2 3073
+-65.252 29.2 3073
+-65.126 29.2 3073
+-128 29.148 2317
+-127.874 29.148 2309
+-127.748 29.148 2284
+-127.622 29.148 2288
+-127.496 29.148 2258
+-127.37 29.148 2226
+-127.244 29.148 2238
+-127.118 29.148 2225
+-126.992 29.148 2185
+-126.866 29.148 2149
+-126.74 29.148 2102
+-126.614 29.148 2053
+-126.488 29.148 2011
+-126.362 29.148 1977
+-126.236 29.148 1922
+-126.11 29.148 1865
+-125.984 29.148 1808
+-125.858 29.148 1782
+-125.732 29.148 1755
+-125.606 29.148 1713
+-125.48 29.148 1681
+-125.354 29.148 1663
+-125.228 29.148 1660
+-125.102 29.148 1680
+-124.976 29.148 1732
+-124.85 29.148 1781
+-124.724 29.148 1841
+-124.598 29.148 1908
+-124.472 29.148 1981
+-124.346 29.148 2060
+-124.22 29.148 2144
+-124.094 29.148 2237
+-123.968 29.148 2339
+-123.842 29.148 2465
+-123.716 29.148 2573
+-123.59 29.148 2668
+-123.464 29.148 2774
+-123.338 29.148 2871
+-123.212 29.148 2935
+-123.086 29.148 2986
+-122.96 29.148 3038
+-122.834 29.148 3074
+-122.708 29.148 3145
+-122.582 29.148 3138
+-122.456 29.148 3127
+-122.33 29.148 3135
+-122.204 29.148 3178
+-122.078 29.148 3223
+-121.952 29.148 3304
+-121.826 29.148 3384
+-121.7 29.148 3459
+-121.574 29.148 3502
+-121.448 29.148 3493
+-121.322 29.148 3463
+-121.196 29.148 3514
+-121.07 29.148 3622
+-120.944 29.148 3726
+-120.818 29.148 3785
+-120.692 29.148 3910
+-120.566 29.148 4076
+-120.44 29.148 4235
+-120.314 29.148 4359
+-120.188 29.148 4431
+-120.062 29.148 4480
+-119.936 29.148 4595
+-119.81 29.148 4755
+-119.684 29.148 4838
+-119.558 29.148 4881
+-119.432 29.148 4912
+-119.306 29.148 4958
+-119.18 29.148 5006
+-119.054 29.148 5073
+-118.928 29.148 5164
+-118.802 29.148 5217
+-118.676 29.148 5252
+-118.55 29.148 5255
+-118.424 29.148 5304
+-118.298 29.148 5375
+-118.172 29.148 5414
+-118.046 29.148 5448
+-117.92 29.148 5447
+-117.794 29.148 5486
+-117.668 29.148 5531
+-117.542 29.148 5586
+-117.416 29.148 5598
+-117.29 29.148 5596
+-117.164 29.148 5633
+-117.038 29.148 5635
+-116.912 29.148 5624
+-116.786 29.148 5616
+-116.66 29.148 5600
+-116.534 29.148 5559
+-116.408 29.148 5532
+-116.282 29.148 5563
+-116.156 29.148 5487
+-116.03 29.148 5446
+-115.904 29.148 5424
+-115.778 29.148 5389
+-115.652 29.148 5349
+-115.526 29.148 5292
+-115.4 29.148 5273
+-115.274 29.148 5194
+-115.148 29.148 5090
+-115.022 29.148 4989
+-114.896 29.148 4955
+-114.77 29.148 4916
+-114.644 29.148 4846
+-114.518 29.148 4831
+-114.392 29.148 4821
+-114.266 29.148 4812
+-114.14 29.148 4834
+-114.014 29.148 4867
+-113.888 29.148 4921
+-113.762 29.148 5009
+-113.636 29.148 5010
+-113.51 29.148 5146
+-113.384 29.148 5286
+-113.258 29.148 5395
+-113.132 29.148 5459
+-113.006 29.148 5598
+-112.88 29.148 5696
+-112.754 29.148 5803
+-112.628 29.148 5850
+-112.502 29.148 5951
+-112.376 29.148 6077
+-112.25 29.148 6150
+-112.124 29.148 6261
+-111.998 29.148 6292
+-111.872 29.148 6362
+-111.746 29.148 6447
+-111.62 29.148 6508
+-111.494 29.148 6564
+-111.368 29.148 6620
+-111.242 29.148 6668
+-111.116 29.148 6705
+-110.99 29.148 6752
+-110.864 29.148 6753
+-110.738 29.148 6791
+-110.612 29.148 6816
+-110.486 29.148 6829
+-110.36 29.148 6788
+-110.234 29.148 6812
+-110.108 29.148 6799
+-109.982 29.148 6770
+-109.856 29.148 6728
+-109.73 29.148 6710
+-109.604 29.148 6666
+-109.478 29.148 6624
+-109.352 29.148 6586
+-109.226 29.148 6503
+-109.1 29.148 6447
+-108.974 29.148 6433
+-108.848 29.148 6347
+-108.722 29.148 6206
+-108.596 29.148 6217
+-108.47 29.148 6106
+-108.344 29.148 5973
+-108.218 29.148 5871
+-108.092 29.148 5793
+-107.966 29.148 5737
+-107.84 29.148 5679
+-107.714 29.148 5625
+-107.588 29.148 5548
+-107.462 29.148 5504
+-107.336 29.148 5445
+-107.21 29.148 5326
+-107.084 29.148 5213
+-106.958 29.148 5091
+-106.832 29.148 4947
+-106.706 29.148 4833
+-106.58 29.148 4742
+-106.454 29.148 4651
+-106.328 29.148 4602
+-106.202 29.148 4503
+-106.076 29.148 4430
+-105.95 29.148 4270
+-105.824 29.148 4072
+-105.698 29.148 3929
+-105.572 29.148 3855
+-105.446 29.148 3787
+-105.32 29.148 3737
+-105.194 29.148 3609
+-105.068 29.148 3396
+-104.942 29.148 3114
+-104.816 29.148 2807
+-104.69 29.148 2677
+-104.564 29.148 2776
+-104.438 29.148 2944
+-104.312 29.148 3083
+-104.186 29.148 3153
+-104.06 29.148 3218
+-103.934 29.148 3261
+-103.808 29.148 3290
+-103.682 29.148 3279
+-103.556 29.148 3291
+-103.43 29.148 3298
+-103.304 29.148 3303
+-103.178 29.148 3306
+-103.052 29.148 3307
+-102.926 29.148 3263
+-102.8 29.148 3262
+-102.674 29.148 3261
+-102.548 29.148 3261
+-102.422 29.148 3261
+-102.296 29.148 3228
+-102.17 29.148 3228
+-102.044 29.148 3142
+-101.918 29.148 3143
+-101.792 29.148 3145
+-101.666 29.148 3120
+-101.54 29.148 3116
+-101.414 29.148 3119
+-101.288 29.148 3122
+-101.162 29.148 3070
+-101.036 29.148 3073
+-100.91 29.148 3075
+-100.784 29.148 3078
+-100.658 29.148 3022
+-100.532 29.148 3024
+-100.406 29.148 2922
+-100.28 29.148 2918
+-100.154 29.148 2921
+-100.028 29.148 2809
+-99.902 29.148 2805
+-99.776 29.148 2802
+-99.65 29.148 2798
+-99.524 29.148 2794
+-99.398 29.148 2789
+-99.272 29.148 2785
+-99.146 29.148 2780
+-99.02 29.148 2774
+-98.894 29.148 2769
+-98.768 29.148 2763
+-98.642 29.148 2756
+-98.516 29.148 2750
+-98.39 29.148 2743
+-98.264 29.148 2620
+-98.138 29.148 2571
+-98.012 29.148 2563
+-97.886 29.148 2527
+-97.76 29.148 2519
+-97.634 29.148 2510
+-97.508 29.148 2508
+-97.382 29.148 2462
+-97.256 29.148 2413
+-97.13 29.148 2398
+-97.004 29.148 2345
+-96.878 29.148 2339
+-96.752 29.148 2367
+-96.626 29.148 2323
+-96.5 29.148 2297
+-96.374 29.148 2300
+-96.248 29.148 2304
+-96.122 29.148 2345
+-95.996 29.148 2313
+-95.87 29.148 2318
+-95.744 29.148 2392
+-95.618 29.148 2396
+-95.492 29.148 2399
+-95.366 29.148 2403
+-95.24 29.148 2400
+-95.114 29.148 2396
+-94.988 29.148 2431
+-94.862 29.148 2461
+-94.736 29.148 2458
+-94.61 29.148 2452
+-94.484 29.148 2461
+-94.358 29.148 2488
+-94.232 29.148 2489
+-94.106 29.148 2495
+-93.98 29.148 2512
+-93.854 29.148 2519
+-93.728 29.148 2526
+-93.602 29.148 2533
+-93.476 29.148 2540
+-93.35 29.148 2703
+-93.224 29.148 2725
+-93.098 29.148 2734
+-92.972 29.148 2743
+-92.846 29.148 2877
+-92.72 29.148 2880
+-92.594 29.148 2883
+-92.468 29.148 2924
+-92.342 29.148 3132
+-92.216 29.148 3134
+-92.09 29.148 3137
+-91.964 29.148 3139
+-91.838 29.148 3156
+-91.712 29.148 3201
+-91.586 29.148 3202
+-91.46 29.148 3338
+-91.334 29.148 3414
+-91.208 29.148 3482
+-91.082 29.148 3479
+-90.956 29.148 3476
+-90.83 29.148 3472
+-90.704 29.148 3468
+-90.578 29.148 3463
+-90.452 29.148 3458
+-90.326 29.148 3453
+-90.2 29.148 3447
+-90.074 29.148 3440
+-89.948 29.148 3504
+-89.822 29.148 3539
+-89.696 29.148 3526
+-89.57 29.148 3513
+-89.444 29.148 3498
+-89.318 29.148 3515
+-89.192 29.148 3504
+-89.066 29.148 3543
+-88.94 29.148 3522
+-88.814 29.148 3502
+-88.688 29.148 3487
+-88.562 29.148 3489
+-88.436 29.148 3524
+-88.31 29.148 3581
+-88.184 29.148 3676
+-88.058 29.148 3763
+-87.932 29.148 3900
+-87.806 29.148 3980
+-87.68 29.148 4085
+-87.554 29.148 4157
+-87.428 29.148 4266
+-87.302 29.148 4354
+-87.176 29.148 4523
+-87.05 29.148 4710
+-86.924 29.148 4764
+-86.798 29.148 4837
+-86.672 29.148 4858
+-86.546 29.148 4846
+-86.42 29.148 4981
+-86.294 29.148 5139
+-86.168 29.148 5240
+-86.042 29.148 5363
+-85.916 29.148 5470
+-85.79 29.148 5628
+-85.664 29.148 5740
+-85.538 29.148 5876
+-85.412 29.148 6005
+-85.286 29.148 6132
+-85.16 29.148 6219
+-85.034 29.148 6341
+-84.908 29.148 6427
+-84.782 29.148 6637
+-84.656 29.148 6797
+-84.53 29.148 6916
+-84.404 29.148 6946
+-84.278 29.148 7093
+-84.152 29.148 7228
+-84.026 29.148 7273
+-83.9 29.148 7466
+-83.774 29.148 7543
+-83.648 29.148 7650
+-83.522 29.148 7739
+-83.396 29.148 7852
+-83.27 29.148 7983
+-83.144 29.148 8031
+-83.018 29.148 8124
+-82.892 29.148 8112
+-82.766 29.148 8222
+-82.64 29.148 8273
+-82.514 29.148 8307
+-82.388 29.148 8346
+-82.262 29.148 8373
+-82.136 29.148 8327
+-82.01 29.148 8308
+-81.884 29.148 8297
+-81.758 29.148 8299
+-81.632 29.148 8218
+-81.506 29.148 8139
+-81.38 29.148 8107
+-81.254 29.148 8049
+-81.128 29.148 7950
+-81.002 29.148 7857
+-80.876 29.148 7782
+-80.75 29.148 7622
+-80.624 29.148 7558
+-80.498 29.148 7465
+-80.372 29.148 7299
+-80.246 29.148 7257
+-80.12 29.148 7098
+-79.994 29.148 6965
+-79.868 29.148 6852
+-79.742 29.148 6735
+-79.616 29.148 6579
+-79.49 29.148 6492
+-79.364 29.148 6374
+-79.238 29.148 6212
+-79.112 29.148 6167
+-78.986 29.148 6001
+-78.86 29.148 5866
+-78.734 29.148 5689
+-78.608 29.148 5524
+-78.482 29.148 5412
+-78.356 29.148 5311
+-78.23 29.148 5176
+-78.104 29.148 5041
+-77.978 29.148 4904
+-77.852 29.148 4815
+-77.726 29.148 4690
+-77.6 29.148 4616
+-77.474 29.148 4457
+-77.348 29.148 4253
+-77.222 29.148 4103
+-77.096 29.148 3991
+-76.97 29.148 3769
+-76.844 29.148 3627
+-76.718 29.148 3686
+-76.592 29.148 3685
+-76.466 29.148 3629
+-76.34 29.148 3547
+-76.214 29.148 3463
+-76.088 29.148 3391
+-75.962 29.148 3380
+-75.836 29.148 3401
+-75.71 29.148 3436
+-75.584 29.148 3472
+-75.458 29.148 3504
+-75.332 29.148 3532
+-75.206 29.148 3555
+-75.08 29.148 3575
+-74.954 29.148 3553
+-74.828 29.148 3568
+-74.702 29.148 3553
+-74.576 29.148 3563
+-74.45 29.148 3572
+-74.324 29.148 3579
+-74.198 29.148 3586
+-74.072 29.148 3593
+-73.946 29.148 3598
+-73.82 29.148 3603
+-73.694 29.148 3545
+-73.568 29.148 3547
+-73.442 29.148 3548
+-73.316 29.148 3550
+-73.19 29.148 3396
+-73.064 29.148 3395
+-72.938 29.148 3395
+-72.812 29.148 3338
+-72.686 29.148 3337
+-72.56 29.148 3313
+-72.434 29.148 3259
+-72.308 29.148 3257
+-72.182 29.148 3255
+-72.056 29.148 3194
+-71.93 29.148 3192
+-71.804 29.148 3190
+-71.678 29.148 3189
+-71.552 29.148 3187
+-71.426 29.148 3186
+-71.3 29.148 3184
+-71.174 29.148 3183
+-71.048 29.148 3181
+-70.922 29.148 3086
+-70.796 29.148 3085
+-70.67 29.148 3085
+-70.544 29.148 3084
+-70.418 29.148 3083
+-70.292 29.148 3082
+-70.166 29.148 3082
+-70.04 29.148 3081
+-69.914 29.148 3081
+-69.788 29.148 3080
+-69.662 29.148 3080
+-69.536 29.148 3079
+-69.41 29.148 3079
+-69.284 29.148 3078
+-69.158 29.148 3078
+-69.032 29.148 3078
+-68.906 29.148 3077
+-68.78 29.148 3077
+-68.654 29.148 3077
+-68.528 29.148 3076
+-68.402 29.148 3076
+-68.276 29.148 3076
+-68.15 29.148 3076
+-68.024 29.148 3075
+-67.898 29.148 3075
+-67.772 29.148 3075
+-67.646 29.148 3075
+-67.52 29.148 3075
+-67.394 29.148 3075
+-67.268 29.148 3074
+-67.142 29.148 3074
+-67.016 29.148 3074
+-66.89 29.148 3074
+-66.764 29.148 3074
+-66.638 29.148 3074
+-66.512 29.148 3074
+-66.386 29.148 3074
+-66.26 29.148 3074
+-66.134 29.148 3074
+-66.008 29.148 3074
+-65.882 29.148 3074
+-65.756 29.148 3074
+-65.63 29.148 3073
+-65.504 29.148 3073
+-65.378 29.148 3073
+-65.252 29.148 3073
+-65.126 29.148 3073
+-128 29.096 2338
+-127.874 29.096 2315
+-127.748 29.096 2324
+-127.622 29.096 2297
+-127.496 29.096 2269
+-127.37 29.096 2285
+-127.244 29.096 2278
+-127.118 29.096 2243
+-126.992 29.096 2213
+-126.866 29.096 2173
+-126.74 29.096 2131
+-126.614 29.096 2097
+-126.488 29.096 2072
+-126.362 29.096 2025
+-126.236 29.096 1978
+-126.11 29.096 1930
+-125.984 29.096 1910
+-125.858 29.096 1893
+-125.732 29.096 1856
+-125.606 29.096 1825
+-125.48 29.096 1803
+-125.354 29.096 1793
+-125.228 29.096 1800
+-125.102 29.096 1836
+-124.976 29.096 1868
+-124.85 29.096 1911
+-124.724 29.096 1964
+-124.598 29.096 2024
+-124.472 29.096 2091
+-124.346 29.096 2163
+-124.22 29.096 2245
+-124.094 29.096 2333
+-123.968 29.096 2446
+-123.842 29.096 2543
+-123.716 29.096 2630
+-123.59 29.096 2732
+-123.464 29.096 2830
+-123.338 29.096 2898
+-123.212 29.096 2956
+-123.086 29.096 3018
+-122.96 29.096 3056
+-122.834 29.096 3080
+-122.708 29.096 3176
+-122.582 29.096 3179
+-122.456 29.096 3168
+-122.33 29.096 3179
+-122.204 29.096 3250
+-122.078 29.096 3298
+-121.952 29.096 3353
+-121.826 29.096 3424
+-121.7 29.096 3477
+-121.574 29.096 3498
+-121.448 29.096 3497
+-121.322 29.096 3490
+-121.196 29.096 3475
+-121.07 29.096 3540
+-120.944 29.096 3649
+-120.818 29.096 3751
+-120.692 29.096 3875
+-120.566 29.096 4055
+-120.44 29.096 4214
+-120.314 29.096 4335
+-120.188 29.096 4409
+-120.062 29.096 4400
+-119.936 29.096 4499
+-119.81 29.096 4683
+-119.684 29.096 4783
+-119.558 29.096 4824
+-119.432 29.096 4827
+-119.306 29.096 4888
+-119.18 29.096 4972
+-119.054 29.096 5008
+-118.928 29.096 5116
+-118.802 29.096 5177
+-118.676 29.096 5209
+-118.55 29.096 5212
+-118.424 29.096 5257
+-118.298 29.096 5331
+-118.172 29.096 5381
+-118.046 29.096 5401
+-117.92 29.096 5434
+-117.794 29.096 5515
+-117.668 29.096 5472
+-117.542 29.096 5505
+-117.416 29.096 5522
+-117.29 29.096 5534
+-117.164 29.096 5544
+-117.038 29.096 5550
+-116.912 29.096 5565
+-116.786 29.096 5559
+-116.66 29.096 5529
+-116.534 29.096 5507
+-116.408 29.096 5483
+-116.282 29.096 5478
+-116.156 29.096 5452
+-116.03 29.096 5420
+-115.904 29.096 5368
+-115.778 29.096 5318
+-115.652 29.096 5283
+-115.526 29.096 5199
+-115.4 29.096 5162
+-115.274 29.096 5110
+-115.148 29.096 5023
+-115.022 29.096 4949
+-114.896 29.096 4917
+-114.77 29.096 4867
+-114.644 29.096 4778
+-114.518 29.096 4778
+-114.392 29.096 4757
+-114.266 29.096 4752
+-114.14 29.096 4790
+-114.014 29.096 4842
+-113.888 29.096 4861
+-113.762 29.096 4982
+-113.636 29.096 5093
+-113.51 29.096 5149
+-113.384 29.096 5247
+-113.258 29.096 5310
+-113.132 29.096 5425
+-113.006 29.096 5533
+-112.88 29.096 5653
+-112.754 29.096 5739
+-112.628 29.096 5823
+-112.502 29.096 5906
+-112.376 29.096 6015
+-112.25 29.096 6108
+-112.124 29.096 6152
+-111.998 29.096 6239
+-111.872 29.096 6347
+-111.746 29.096 6372
+-111.62 29.096 6410
+-111.494 29.096 6490
+-111.368 29.096 6545
+-111.242 29.096 6614
+-111.116 29.096 6641
+-110.99 29.096 6689
+-110.864 29.096 6683
+-110.738 29.096 6716
+-110.612 29.096 6747
+-110.486 29.096 6733
+-110.36 29.096 6751
+-110.234 29.096 6743
+-110.108 29.096 6728
+-109.982 29.096 6713
+-109.856 29.096 6698
+-109.73 29.096 6659
+-109.604 29.096 6612
+-109.478 29.096 6588
+-109.352 29.096 6534
+-109.226 29.096 6489
+-109.1 29.096 6371
+-108.974 29.096 6389
+-108.848 29.096 6277
+-108.722 29.096 6168
+-108.596 29.096 6149
+-108.47 29.096 6052
+-108.344 29.096 5928
+-108.218 29.096 5809
+-108.092 29.096 5778
+-107.966 29.096 5704
+-107.84 29.096 5613
+-107.714 29.096 5532
+-107.588 29.096 5509
+-107.462 29.096 5468
+-107.336 29.096 5427
+-107.21 29.096 5330
+-107.084 29.096 5220
+-106.958 29.096 5092
+-106.832 29.096 4983
+-106.706 29.096 4863
+-106.58 29.096 4714
+-106.454 29.096 4624
+-106.328 29.096 4526
+-106.202 29.096 4429
+-106.076 29.096 4311
+-105.95 29.096 4185
+-105.824 29.096 4056
+-105.698 29.096 3975
+-105.572 29.096 3906
+-105.446 29.096 3837
+-105.32 29.096 3752
+-105.194 29.096 3567
+-105.068 29.096 3395
+-104.942 29.096 3156
+-104.816 29.096 2907
+-104.69 29.096 2786
+-104.564 29.096 2855
+-104.438 29.096 2999
+-104.312 29.096 3101
+-104.186 29.096 3194
+-104.06 29.096 3201
+-103.934 29.096 3241
+-103.808 29.096 3269
+-103.682 29.096 3288
+-103.556 29.096 3291
+-103.43 29.096 3300
+-103.304 29.096 3307
+-103.178 29.096 3311
+-103.052 29.096 3314
+-102.926 29.096 3316
+-102.8 29.096 3257
+-102.674 29.096 3270
+-102.548 29.096 3233
+-102.422 29.096 3232
+-102.296 29.096 3231
+-102.17 29.096 3239
+-102.044 29.096 3239
+-101.918 29.096 3151
+-101.792 29.096 3153
+-101.666 29.096 3155
+-101.54 29.096 3129
+-101.414 29.096 3125
+-101.288 29.096 3128
+-101.162 29.096 3131
+-101.036 29.096 3078
+-100.91 29.096 3080
+-100.784 29.096 3082
+-100.658 29.096 3085
+-100.532 29.096 3029
+-100.406 29.096 2924
+-100.28 29.096 2926
+-100.154 29.096 2922
+-100.028 29.096 2924
+-99.902 29.096 2808
+-99.776 29.096 2804
+-99.65 29.096 2800
+-99.524 29.096 2796
+-99.398 29.096 2792
+-99.272 29.096 2787
+-99.146 29.096 2782
+-99.02 29.096 2777
+-98.894 29.096 2772
+-98.768 29.096 2766
+-98.642 29.096 2760
+-98.516 29.096 2753
+-98.39 29.096 2747
+-98.264 29.096 2740
+-98.138 29.096 2616
+-98.012 29.096 2568
+-97.886 29.096 2532
+-97.76 29.096 2524
+-97.634 29.096 2516
+-97.508 29.096 2514
+-97.382 29.096 2468
+-97.256 29.096 2418
+-97.13 29.096 2404
+-97.004 29.096 2351
+-96.878 29.096 2345
+-96.752 29.096 2372
+-96.626 29.096 2328
+-96.5 29.096 2302
+-96.374 29.096 2305
+-96.248 29.096 2309
+-96.122 29.096 2351
+-95.996 29.096 2319
+-95.87 29.096 2324
+-95.744 29.096 2399
+-95.618 29.096 2402
+-95.492 29.096 2406
+-95.366 29.096 2403
+-95.24 29.096 2399
+-95.114 29.096 2434
+-94.988 29.096 2464
+-94.862 29.096 2461
+-94.736 29.096 2459
+-94.61 29.096 2465
+-94.484 29.096 2496
+-94.358 29.096 2502
+-94.232 29.096 2509
+-94.106 29.096 2516
+-93.98 29.096 2523
+-93.854 29.096 2529
+-93.728 29.096 2536
+-93.602 29.096 2543
+-93.476 29.096 2704
+-93.35 29.096 2722
+-93.224 29.096 2731
+-93.098 29.096 2740
+-92.972 29.096 2881
+-92.846 29.096 2884
+-92.72 29.096 2887
+-92.594 29.096 2928
+-92.468 29.096 2931
+-92.342 29.096 3139
+-92.216 29.096 3142
+-92.09 29.096 3144
+-91.964 29.096 3161
+-91.838 29.096 3163
+-91.712 29.096 3165
+-91.586 29.096 3287
+-91.46 29.096 3424
+-91.334 29.096 3494
+-91.208 29.096 3491
+-91.082 29.096 3488
+-90.956 29.096 3485
+-90.83 29.096 3482
+-90.704 29.096 3478
+-90.578 29.096 3474
+-90.452 29.096 3469
+-90.326 29.096 3464
+-90.2 29.096 3459
+-90.074 29.096 3525
+-89.948 29.096 3573
+-89.822 29.096 3566
+-89.696 29.096 3539
+-89.57 29.096 3548
+-89.444 29.096 3532
+-89.318 29.096 3548
+-89.192 29.096 3537
+-89.066 29.096 3513
+-88.94 29.096 3527
+-88.814 29.096 3501
+-88.688 29.096 3475
+-88.562 29.096 3457
+-88.436 29.096 3485
+-88.31 29.096 3560
+-88.184 29.096 3672
+-88.058 29.096 3782
+-87.932 29.096 3893
+-87.806 29.096 3993
+-87.68 29.096 4083
+-87.554 29.096 4198
+-87.428 29.096 4313
+-87.302 29.096 4402
+-87.176 29.096 4528
+-87.05 29.096 4726
+-86.924 29.096 4780
+-86.798 29.096 4842
+-86.672 29.096 4810
+-86.546 29.096 4693
+-86.42 29.096 4932
+-86.294 29.096 5093
+-86.168 29.096 5218
+-86.042 29.096 5375
+-85.916 29.096 5392
+-85.79 29.096 5575
+-85.664 29.096 5774
+-85.538 29.096 5907
+-85.412 29.096 6042
+-85.286 29.096 6135
+-85.16 29.096 6234
+-85.034 29.096 6356
+-84.908 29.096 6460
+-84.782 29.096 6701
+-84.656 29.096 6786
+-84.53 29.096 6909
+-84.404 29.096 7011
+-84.278 29.096 7066
+-84.152 29.096 7232
+-84.026 29.096 7393
+-83.9 29.096 7468
+-83.774 29.096 7594
+-83.648 29.096 7701
+-83.522 29.096 7731
+-83.396 29.096 7878
+-83.27 29.096 7964
+-83.144 29.096 8042
+-83.018 29.096 8150
+-82.892 29.096 8250
+-82.766 29.096 8306
+-82.64 29.096 8332
+-82.514 29.096 8377
+-82.388 29.096 8382
+-82.262 29.096 8392
+-82.136 29.096 8397
+-82.01 29.096 8385
+-81.884 29.096 8385
+-81.758 29.096 8325
+-81.632 29.096 8317
+-81.506 29.096 8222
+-81.38 29.096 8146
+-81.254 29.096 8069
+-81.128 29.096 7979
+-81.002 29.096 7892
+-80.876 29.096 7778
+-80.75 29.096 7656
+-80.624 29.096 7574
+-80.498 29.096 7455
+-80.372 29.096 7358
+-80.246 29.096 7259
+-80.12 29.096 7070
+-79.994 29.096 7019
+-79.868 29.096 6899
+-79.742 29.096 6773
+-79.616 29.096 6623
+-79.49 29.096 6515
+-79.364 29.096 6406
+-79.238 29.096 6257
+-79.112 29.096 6156
+-78.986 29.096 6015
+-78.86 29.096 5864
+-78.734 29.096 5714
+-78.608 29.096 5608
+-78.482 29.096 5492
+-78.356 29.096 5359
+-78.23 29.096 5215
+-78.104 29.096 5089
+-77.978 29.096 4934
+-77.852 29.096 4756
+-77.726 29.096 4628
+-77.6 29.096 4574
+-77.474 29.096 4459
+-77.348 29.096 4214
+-77.222 29.096 4020
+-77.096 29.096 4014
+-76.97 29.096 3841
+-76.844 29.096 3718
+-76.718 29.096 3702
+-76.592 29.096 3655
+-76.466 29.096 3586
+-76.34 29.096 3476
+-76.214 29.096 3343
+-76.088 29.096 3247
+-75.962 29.096 3245
+-75.836 29.096 3311
+-75.71 29.096 3380
+-75.584 29.096 3438
+-75.458 29.096 3482
+-75.332 29.096 3517
+-75.206 29.096 3545
+-75.08 29.096 3568
+-74.954 29.096 3587
+-74.828 29.096 3565
+-74.702 29.096 3579
+-74.576 29.096 3563
+-74.45 29.096 3572
+-74.324 29.096 3580
+-74.198 29.096 3587
+-74.072 29.096 3594
+-73.946 29.096 3599
+-73.82 29.096 3541
+-73.694 29.096 3543
+-73.568 29.096 3545
+-73.442 29.096 3547
+-73.316 29.096 3394
+-73.19 29.096 3393
+-73.064 29.096 3393
+-72.938 29.096 3392
+-72.812 29.096 3338
+-72.686 29.096 3315
+-72.56 29.096 3313
+-72.434 29.096 3260
+-72.308 29.096 3258
+-72.182 29.096 3256
+-72.056 29.096 3255
+-71.93 29.096 3193
+-71.804 29.096 3192
+-71.678 29.096 3190
+-71.552 29.096 3188
+-71.426 29.096 3187
+-71.3 29.096 3185
+-71.174 29.096 3181
+-71.048 29.096 3089
+-70.922 29.096 3088
+-70.796 29.096 3087
+-70.67 29.096 3086
+-70.544 29.096 3085
+-70.418 29.096 3085
+-70.292 29.096 3084
+-70.166 29.096 3083
+-70.04 29.096 3083
+-69.914 29.096 3082
+-69.788 29.096 3082
+-69.662 29.096 3081
+-69.536 29.096 3080
+-69.41 29.096 3080
+-69.284 29.096 3080
+-69.158 29.096 3079
+-69.032 29.096 3079
+-68.906 29.096 3078
+-68.78 29.096 3078
+-68.654 29.096 3078
+-68.528 29.096 3078
+-68.402 29.096 3077
+-68.276 29.096 3077
+-68.15 29.096 3077
+-68.024 29.096 3077
+-67.898 29.096 3076
+-67.772 29.096 3076
+-67.646 29.096 3076
+-67.52 29.096 3076
+-67.394 29.096 3076
+-67.268 29.096 3075
+-67.142 29.096 3075
+-67.016 29.096 3075
+-66.89 29.096 3075
+-66.764 29.096 3075
+-66.638 29.096 3075
+-66.512 29.096 3075
+-66.386 29.096 3075
+-66.26 29.096 3075
+-66.134 29.096 3074
+-66.008 29.096 3074
+-65.882 29.096 3074
+-65.756 29.096 3074
+-65.63 29.096 3074
+-65.504 29.096 3074
+-65.378 29.096 3074
+-65.252 29.096 3074
+-65.126 29.096 3074
+-128 29.044 2344
+-127.874 29.044 2356
+-127.748 29.044 2332
+-127.622 29.044 2307
+-127.496 29.044 2327
+-127.37 29.044 2325
+-127.244 29.044 2294
+-127.118 29.044 2269
+-126.992 29.044 2235
+-126.866 29.044 2199
+-126.74 29.044 2171
+-126.614 29.044 2152
+-126.488 29.044 2113
+-126.362 29.044 2073
+-126.236 29.044 2032
+-126.11 29.044 2017
+-125.984 29.044 2008
+-125.858 29.044 1976
+-125.732 29.044 1948
+-125.606 29.044 1926
+-125.48 29.044 1912
+-125.354 29.044 1913
+-125.228 29.044 1938
+-125.102 29.044 1957
+-124.976 29.044 1986
+-124.85 29.044 2025
+-124.724 29.044 2073
+-124.598 29.044 2128
+-124.472 29.044 2188
+-124.346 29.044 2260
+-124.22 29.044 2336
+-124.094 29.044 2439
+-123.968 29.044 2525
+-123.842 29.044 2603
+-123.716 29.044 2675
+-123.59 29.044 2748
+-123.464 29.044 2862
+-123.338 29.044 2923
+-123.212 29.044 2991
+-123.086 29.044 3037
+-122.96 29.044 3074
+-122.834 29.044 3101
+-122.708 29.044 3187
+-122.582 29.044 3198
+-122.456 29.044 3210
+-122.33 29.044 3227
+-122.204 29.044 3300
+-122.078 29.044 3356
+-121.952 29.044 3407
+-121.826 29.044 3441
+-121.7 29.044 3475
+-121.574 29.044 3492
+-121.448 29.044 3501
+-121.322 29.044 3499
+-121.196 29.044 3495
+-121.07 29.044 3532
+-120.944 29.044 3602
+-120.818 29.044 3706
+-120.692 29.044 3865
+-120.566 29.044 4000
+-120.44 29.044 4165
+-120.314 29.044 4287
+-120.188 29.044 4391
+-120.062 29.044 4418
+-119.936 29.044 4522
+-119.81 29.044 4658
+-119.684 29.044 4721
+-119.558 29.044 4754
+-119.432 29.044 4730
+-119.306 29.044 4808
+-119.18 29.044 4908
+-119.054 29.044 4971
+-118.928 29.044 5036
+-118.802 29.044 5108
+-118.676 29.044 5148
+-118.55 29.044 5201
+-118.424 29.044 5226
+-118.298 29.044 5272
+-118.172 29.044 5332
+-118.046 29.044 5354
+-117.92 29.044 5385
+-117.794 29.044 5411
+-117.668 29.044 5426
+-117.542 29.044 5437
+-117.416 29.044 5465
+-117.29 29.044 5482
+-117.164 29.044 5485
+-117.038 29.044 5480
+-116.912 29.044 5477
+-116.786 29.044 5478
+-116.66 29.044 5510
+-116.534 29.044 5462
+-116.408 29.044 5441
+-116.282 29.044 5438
+-116.156 29.044 5412
+-116.03 29.044 5350
+-115.904 29.044 5307
+-115.778 29.044 5281
+-115.652 29.044 5229
+-115.526 29.044 5150
+-115.4 29.044 5145
+-115.274 29.044 5065
+-115.148 29.044 5000
+-115.022 29.044 4925
+-114.896 29.044 4891
+-114.77 29.044 4834
+-114.644 29.044 4775
+-114.518 29.044 4725
+-114.392 29.044 4676
+-114.266 29.044 4679
+-114.14 29.044 4707
+-114.014 29.044 4741
+-113.888 29.044 4863
+-113.762 29.044 4978
+-113.636 29.044 5077
+-113.51 29.044 5143
+-113.384 29.044 5209
+-113.258 29.044 5320
+-113.132 29.044 5421
+-113.006 29.044 5470
+-112.88 29.044 5618
+-112.754 29.044 5648
+-112.628 29.044 5777
+-112.502 29.044 5869
+-112.376 29.044 5939
+-112.25 29.044 6035
+-112.124 29.044 6116
+-111.998 29.044 6174
+-111.872 29.044 6263
+-111.746 29.044 6310
+-111.62 29.044 6378
+-111.494 29.044 6443
+-111.368 29.044 6511
+-111.242 29.044 6544
+-111.116 29.044 6593
+-110.99 29.044 6627
+-110.864 29.044 6639
+-110.738 29.044 6647
+-110.612 29.044 6668
+-110.486 29.044 6682
+-110.36 29.044 6705
+-110.234 29.044 6683
+-110.108 29.044 6670
+-109.982 29.044 6663
+-109.856 29.044 6616
+-109.73 29.044 6617
+-109.604 29.044 6587
+-109.478 29.044 6542
+-109.352 29.044 6483
+-109.226 29.044 6415
+-109.1 29.044 6359
+-108.974 29.044 6296
+-108.848 29.044 6266
+-108.722 29.044 6181
+-108.596 29.044 6090
+-108.47 29.044 6032
+-108.344 29.044 5911
+-108.218 29.044 5778
+-108.092 29.044 5717
+-107.966 29.044 5674
+-107.84 29.044 5555
+-107.714 29.044 5439
+-107.588 29.044 5442
+-107.462 29.044 5367
+-107.336 29.044 5375
+-107.21 29.044 5330
+-107.084 29.044 5210
+-106.958 29.044 5080
+-106.832 29.044 4960
+-106.706 29.044 4817
+-106.58 29.044 4591
+-106.454 29.044 4457
+-106.328 29.044 4359
+-106.202 29.044 4295
+-106.076 29.044 4255
+-105.95 29.044 4103
+-105.824 29.044 3987
+-105.698 29.044 3920
+-105.572 29.044 3855
+-105.446 29.044 3789
+-105.32 29.044 3712
+-105.194 29.044 3608
+-105.068 29.044 3429
+-104.942 29.044 3262
+-104.816 29.044 3081
+-104.69 29.044 2998
+-104.564 29.044 3020
+-104.438 29.044 3103
+-104.312 29.044 3172
+-104.186 29.044 3221
+-104.06 29.044 3274
+-103.934 29.044 3246
+-103.808 29.044 3271
+-103.682 29.044 3289
+-103.556 29.044 3302
+-103.43 29.044 3302
+-103.304 29.044 3309
+-103.178 29.044 3315
+-103.052 29.044 3319
+-102.926 29.044 3322
+-102.8 29.044 3324
+-102.674 29.044 3266
+-102.548 29.044 3241
+-102.422 29.044 3240
+-102.296 29.044 3240
+-102.17 29.044 3240
+-102.044 29.044 3249
+-101.918 29.044 3249
+-101.792 29.044 3160
+-101.666 29.044 3161
+-101.54 29.044 3163
+-101.414 29.044 3137
+-101.288 29.044 3132
+-101.162 29.044 3135
+-101.036 29.044 3138
+-100.91 29.044 3085
+-100.784 29.044 3087
+-100.658 29.044 3089
+-100.532 29.044 3091
+-100.406 29.044 3035
+-100.28 29.044 2928
+-100.154 29.044 2930
+-100.028 29.044 2926
+-99.902 29.044 2928
+-99.776 29.044 2806
+-99.65 29.044 2803
+-99.524 29.044 2799
+-99.398 29.044 2794
+-99.272 29.044 2790
+-99.146 29.044 2785
+-99.02 29.044 2780
+-98.894 29.044 2774
+-98.768 29.044 2769
+-98.642 29.044 2763
+-98.516 29.044 2757
+-98.39 29.044 2750
+-98.264 29.044 2744
+-98.138 29.044 2737
+-98.012 29.044 2590
+-97.886 29.044 2537
+-97.76 29.044 2529
+-97.634 29.044 2521
+-97.508 29.044 2520
+-97.382 29.044 2474
+-97.256 29.044 2424
+-97.13 29.044 2410
+-97.004 29.044 2357
+-96.878 29.044 2351
+-96.752 29.044 2377
+-96.626 29.044 2333
+-96.5 29.044 2306
+-96.374 29.044 2310
+-96.248 29.044 2267
+-96.122 29.044 2214
+-95.996 29.044 2325
+-95.87 29.044 2330
+-95.744 29.044 2405
+-95.618 29.044 2409
+-95.492 29.044 2405
+-95.366 29.044 2402
+-95.24 29.044 2437
+-95.114 29.044 2468
+-94.988 29.044 2469
+-94.862 29.044 2463
+-94.736 29.044 2469
+-94.61 29.044 2500
+-94.484 29.044 2507
+-94.358 29.044 2513
+-94.232 29.044 2520
+-94.106 29.044 2526
+-93.98 29.044 2533
+-93.854 29.044 2540
+-93.728 29.044 2547
+-93.602 29.044 2712
+-93.476 29.044 2724
+-93.35 29.044 2733
+-93.224 29.044 2742
+-93.098 29.044 2884
+-92.972 29.044 2887
+-92.846 29.044 2891
+-92.72 29.044 2956
+-92.594 29.044 2934
+-92.468 29.044 3144
+-92.342 29.044 3147
+-92.216 29.044 3149
+-92.09 29.044 3166
+-91.964 29.044 3168
+-91.838 29.044 3171
+-91.712 29.044 3218
+-91.586 29.044 3284
+-91.46 29.044 3443
+-91.334 29.044 3494
+-91.208 29.044 3492
+-91.082 29.044 3489
+-90.956 29.044 3487
+-90.83 29.044 3484
+-90.704 29.044 3488
+-90.578 29.044 3485
+-90.452 29.044 3480
+-90.326 29.044 3476
+-90.2 29.044 3545
+-90.074 29.044 3595
+-89.948 29.044 3612
+-89.822 29.044 3600
+-89.696 29.044 3587
+-89.57 29.044 3572
+-89.444 29.044 3555
+-89.318 29.044 3561
+-89.192 29.044 3537
+-89.066 29.044 3519
+-88.94 29.044 3485
+-88.814 29.044 3482
+-88.688 29.044 3436
+-88.562 29.044 3421
+-88.436 29.044 3420
+-88.31 29.044 3452
+-88.184 29.044 3542
+-88.058 29.044 3678
+-87.932 29.044 3850
+-87.806 29.044 3986
+-87.68 29.044 4126
+-87.554 29.044 4258
+-87.428 29.044 4344
+-87.302 29.044 4461
+-87.176 29.044 4547
+-87.05 29.044 4723
+-86.924 29.044 4809
+-86.798 29.044 4827
+-86.672 29.044 4869
+-86.546 29.044 4857
+-86.42 29.044 4995
+-86.294 29.044 5043
+-86.168 29.044 5194
+-86.042 29.044 5358
+-85.916 29.044 5481
+-85.79 29.044 5620
+-85.664 29.044 5802
+-85.538 29.044 5884
+-85.412 29.044 6008
+-85.286 29.044 6122
+-85.16 29.044 6253
+-85.034 29.044 6364
+-84.908 29.044 6527
+-84.782 29.044 6727
+-84.656 29.044 6780
+-84.53 29.044 6927
+-84.404 29.044 6996
+-84.278 29.044 7135
+-84.152 29.044 7242
+-84.026 29.044 7382
+-83.9 29.044 7530
+-83.774 29.044 7588
+-83.648 29.044 7723
+-83.522 29.044 7852
+-83.396 29.044 7908
+-83.27 29.044 8011
+-83.144 29.044 8103
+-83.018 29.044 8221
+-82.892 29.044 8312
+-82.766 29.044 8337
+-82.64 29.044 8408
+-82.514 29.044 8443
+-82.388 29.044 8456
+-82.262 29.044 8469
+-82.136 29.044 8471
+-82.01 29.044 8437
+-81.884 29.044 8426
+-81.758 29.044 8381
+-81.632 29.044 8371
+-81.506 29.044 8257
+-81.38 29.044 8143
+-81.254 29.044 8111
+-81.128 29.044 8001
+-81.002 29.044 7882
+-80.876 29.044 7841
+-80.75 29.044 7730
+-80.624 29.044 7590
+-80.498 29.044 7460
+-80.372 29.044 7363
+-80.246 29.044 7322
+-80.12 29.044 7179
+-79.994 29.044 7066
+-79.868 29.044 6917
+-79.742 29.044 6781
+-79.616 29.044 6711
+-79.49 29.044 6550
+-79.364 29.044 6373
+-79.238 29.044 6208
+-79.112 29.044 6156
+-78.986 29.044 6015
+-78.86 29.044 5895
+-78.734 29.044 5728
+-78.608 29.044 5571
+-78.482 29.044 5557
+-78.356 29.044 5432
+-78.23 29.044 5254
+-78.104 29.044 5098
+-77.978 29.044 4946
+-77.852 29.044 4817
+-77.726 29.044 4647
+-77.6 29.044 4488
+-77.474 29.044 4481
+-77.348 29.044 4290
+-77.222 29.044 4113
+-77.096 29.044 4041
+-76.97 29.044 3895
+-76.844 29.044 3789
+-76.718 29.044 3697
+-76.592 29.044 3612
+-76.466 29.044 3535
+-76.34 29.044 3395
+-76.214 29.044 3157
+-76.088 29.044 3011
+-75.962 29.044 3087
+-75.836 29.044 3225
+-75.71 29.044 3341
+-75.584 29.044 3422
+-75.458 29.044 3479
+-75.332 29.044 3522
+-75.206 29.044 3554
+-75.08 29.044 3580
+-74.954 29.044 3601
+-74.828 29.044 3619
+-74.702 29.044 3577
+-74.576 29.044 3589
+-74.45 29.044 3573
+-74.324 29.044 3581
+-74.198 29.044 3588
+-74.072 29.044 3595
+-73.946 29.044 3537
+-73.82 29.044 3540
+-73.694 29.044 3542
+-73.568 29.044 3544
+-73.442 29.044 3392
+-73.316 29.044 3391
+-73.19 29.044 3391
+-73.064 29.044 3390
+-72.938 29.044 3389
+-72.812 29.044 3360
+-72.686 29.044 3314
+-72.56 29.044 3312
+-72.434 29.044 3310
+-72.308 29.044 3258
+-72.182 29.044 3257
+-72.056 29.044 3255
+-71.93 29.044 3254
+-71.804 29.044 3216
+-71.678 29.044 3214
+-71.552 29.044 3213
+-71.426 29.044 3212
+-71.3 29.044 3198
+-71.174 29.044 3092
+-71.048 29.044 3091
+-70.922 29.044 3090
+-70.796 29.044 3089
+-70.67 29.044 3088
+-70.544 29.044 3087
+-70.418 29.044 3086
+-70.292 29.044 3085
+-70.166 29.044 3085
+-70.04 29.044 3084
+-69.914 29.044 3083
+-69.788 29.044 3083
+-69.662 29.044 3082
+-69.536 29.044 3082
+-69.41 29.044 3081
+-69.284 29.044 3081
+-69.158 29.044 3080
+-69.032 29.044 3080
+-68.906 29.044 3080
+-68.78 29.044 3079
+-68.654 29.044 3079
+-68.528 29.044 3079
+-68.402 29.044 3078
+-68.276 29.044 3078
+-68.15 29.044 3078
+-68.024 29.044 3078
+-67.898 29.044 3077
+-67.772 29.044 3077
+-67.646 29.044 3077
+-67.52 29.044 3077
+-67.394 29.044 3076
+-67.268 29.044 3076
+-67.142 29.044 3076
+-67.016 29.044 3076
+-66.89 29.044 3076
+-66.764 29.044 3076
+-66.638 29.044 3076
+-66.512 29.044 3076
+-66.386 29.044 3075
+-66.26 29.044 3075
+-66.134 29.044 3075
+-66.008 29.044 3075
+-65.882 29.044 3075
+-65.756 29.044 3075
+-65.63 29.044 3075
+-65.504 29.044 3075
+-65.378 29.044 3075
+-65.252 29.044 3075
+-65.126 29.044 3075
+-128 28.992 2385
+-127.874 28.992 2364
+-127.748 28.992 2341
+-127.622 28.992 2365
+-127.496 28.992 2367
+-127.37 28.992 2340
+-127.244 28.992 2320
+-127.118 28.992 2290
+-126.992 28.992 2258
+-126.866 28.992 2235
+-126.74 28.992 2222
+-126.614 28.992 2188
+-126.488 28.992 2154
+-126.362 28.992 2119
+-126.236 28.992 2108
+-126.11 28.992 2106
+-125.984 28.992 2078
+-125.858 28.992 2052
+-125.732 28.992 2032
+-125.606 28.992 2016
+-125.48 28.992 2014
+-125.354 28.992 2033
+-125.228 28.992 2043
+-125.102 28.992 2062
+-124.976 28.992 2090
+-124.85 28.992 2126
+-124.724 28.992 2169
+-124.598 28.992 2219
+-124.472 28.992 2281
+-124.346 28.992 2347
+-124.22 28.992 2441
+-124.094 28.992 2487
+-123.968 28.992 2556
+-123.842 28.992 2651
+-123.716 28.992 2719
+-123.59 28.992 2831
+-123.464 28.992 2894
+-123.338 28.992 2950
+-123.212 28.992 3012
+-123.086 28.992 3055
+-122.96 28.992 3091
+-122.834 28.992 3196
+-122.708 28.992 3211
+-122.582 28.992 3226
+-122.456 28.992 3242
+-122.33 28.992 3288
+-122.204 28.992 3311
+-122.078 28.992 3406
+-121.952 28.992 3430
+-121.826 28.992 3462
+-121.7 28.992 3481
+-121.574 28.992 3494
+-121.448 28.992 3497
+-121.322 28.992 3488
+-121.196 28.992 3471
+-121.07 28.992 3505
+-120.944 28.992 3585
+-120.818 28.992 3666
+-120.692 28.992 3828
+-120.566 28.992 3956
+-120.44 28.992 4072
+-120.314 28.992 4232
+-120.188 28.992 4330
+-120.062 28.992 4393
+-119.936 28.992 4525
+-119.81 28.992 4605
+-119.684 28.992 4671
+-119.558 28.992 4686
+-119.432 28.992 4749
+-119.306 28.992 4814
+-119.18 28.992 4869
+-119.054 28.992 4927
+-118.928 28.992 4969
+-118.802 28.992 5018
+-118.676 28.992 5080
+-118.55 28.992 5160
+-118.424 28.992 5154
+-118.298 28.992 5235
+-118.172 28.992 5280
+-118.046 28.992 5305
+-117.92 28.992 5351
+-117.794 28.992 5383
+-117.668 28.992 5375
+-117.542 28.992 5396
+-117.416 28.992 5422
+-117.29 28.992 5450
+-117.164 28.992 5480
+-117.038 28.992 5442
+-116.912 28.992 5429
+-116.786 28.992 5431
+-116.66 28.992 5443
+-116.534 28.992 5426
+-116.408 28.992 5389
+-116.282 28.992 5368
+-116.156 28.992 5328
+-116.03 28.992 5288
+-115.904 28.992 5308
+-115.778 28.992 5240
+-115.652 28.992 5168
+-115.526 28.992 5126
+-115.4 28.992 5087
+-115.274 28.992 5032
+-115.148 28.992 4978
+-115.022 28.992 4881
+-114.896 28.992 4816
+-114.77 28.992 4743
+-114.644 28.992 4679
+-114.518 28.992 4606
+-114.392 28.992 4541
+-114.266 28.992 4537
+-114.14 28.992 4614
+-114.014 28.992 4598
+-113.888 28.992 4781
+-113.762 28.992 4974
+-113.636 28.992 4991
+-113.51 28.992 5105
+-113.384 28.992 5179
+-113.258 28.992 5274
+-113.132 28.992 5364
+-113.006 28.992 5457
+-112.88 28.992 5592
+-112.754 28.992 5665
+-112.628 28.992 5768
+-112.502 28.992 5828
+-112.376 28.992 5907
+-112.25 28.992 5996
+-112.124 28.992 6092
+-111.998 28.992 6103
+-111.872 28.992 6185
+-111.746 28.992 6301
+-111.62 28.992 6324
+-111.494 28.992 6369
+-111.368 28.992 6457
+-111.242 28.992 6494
+-111.116 28.992 6531
+-110.99 28.992 6571
+-110.864 28.992 6591
+-110.738 28.992 6603
+-110.612 28.992 6619
+-110.486 28.992 6613
+-110.36 28.992 6640
+-110.234 28.992 6639
+-110.108 28.992 6633
+-109.982 28.992 6599
+-109.856 28.992 6571
+-109.73 28.992 6543
+-109.604 28.992 6503
+-109.478 28.992 6467
+-109.352 28.992 6406
+-109.226 28.992 6352
+-109.1 28.992 6312
+-108.974 28.992 6242
+-108.848 28.992 6181
+-108.722 28.992 6079
+-108.596 28.992 6007
+-108.47 28.992 5969
+-108.344 28.992 5870
+-108.218 28.992 5814
+-108.092 28.992 5682
+-107.966 28.992 5640
+-107.84 28.992 5535
+-107.714 28.992 5359
+-107.588 28.992 5376
+-107.462 28.992 5198
+-107.336 28.992 5307
+-107.21 28.992 5302
+-107.084 28.992 5123
+-106.958 28.992 5003
+-106.832 28.992 4897
+-106.706 28.992 4646
+-106.58 28.992 4465
+-106.454 28.992 4287
+-106.328 28.992 4230
+-106.202 28.992 4213
+-106.076 28.992 4156
+-105.95 28.992 4042
+-105.824 28.992 3978
+-105.698 28.992 3895
+-105.572 28.992 3830
+-105.446 28.992 3763
+-105.32 28.992 3689
+-105.194 28.992 3603
+-105.068 28.992 3487
+-104.942 28.992 3349
+-104.816 28.992 3232
+-104.69 28.992 3174
+-104.564 28.992 3169
+-104.438 28.992 3203
+-104.312 28.992 3254
+-104.186 28.992 3277
+-104.06 28.992 3292
+-103.934 28.992 3323
+-103.808 28.992 3275
+-103.682 28.992 3292
+-103.556 28.992 3305
+-103.43 28.992 3314
+-103.304 28.992 3311
+-103.178 28.992 3318
+-103.052 28.992 3323
+-102.926 28.992 3327
+-102.8 28.992 3330
+-102.674 28.992 3332
+-102.548 28.992 3274
+-102.422 28.992 3247
+-102.296 28.992 3247
+-102.17 28.992 3247
+-102.044 28.992 3247
+-101.918 28.992 3248
+-101.792 28.992 3258
+-101.666 28.992 3167
+-101.54 28.992 3169
+-101.414 28.992 3171
+-101.288 28.992 3145
+-101.162 28.992 3139
+-101.036 28.992 3142
+-100.91 28.992 3145
+-100.784 28.992 3091
+-100.658 28.992 3093
+-100.532 28.992 3095
+-100.406 28.992 3097
+-100.28 28.992 3040
+-100.154 28.992 2931
+-100.028 28.992 2933
+-99.902 28.992 2929
+-99.776 28.992 2930
+-99.65 28.992 2805
+-99.524 28.992 2801
+-99.398 28.992 2796
+-99.272 28.992 2792
+-99.146 28.992 2787
+-99.02 28.992 2782
+-98.894 28.992 2777
+-98.768 28.992 2772
+-98.642 28.992 2766
+-98.516 28.992 2760
+-98.39 28.992 2754
+-98.264 28.992 2747
+-98.138 28.992 2741
+-98.012 28.992 2671
+-97.886 28.992 2581
+-97.76 28.992 2534
+-97.634 28.992 2526
+-97.508 28.992 2525
+-97.382 28.992 2480
+-97.256 28.992 2429
+-97.13 28.992 2416
+-97.004 28.992 2362
+-96.878 28.992 2356
+-96.752 28.992 2318
+-96.626 28.992 2299
+-96.5 28.992 2299
+-96.374 28.992 2268
+-96.248 28.992 2271
+-96.122 28.992 2220
+-95.996 28.992 2331
+-95.87 28.992 2336
+-95.744 28.992 2341
+-95.618 28.992 2408
+-95.492 28.992 2405
+-95.366 28.992 2440
+-95.24 28.992 2471
+-95.114 28.992 2473
+-94.988 28.992 2467
+-94.862 28.992 2473
+-94.736 28.992 2505
+-94.61 28.992 2511
+-94.484 28.992 2518
+-94.358 28.992 2524
+-94.232 28.992 2530
+-94.106 28.992 2537
+-93.98 28.992 2543
+-93.854 28.992 2550
+-93.728 28.992 2713
+-93.602 28.992 2725
+-93.476 28.992 2734
+-93.35 28.992 2743
+-93.224 28.992 2887
+-93.098 28.992 2891
+-92.972 28.992 2894
+-92.846 28.992 2960
+-92.72 28.992 2963
+-92.594 28.992 2983
+-92.468 28.992 3171
+-92.342 28.992 3173
+-92.216 28.992 3176
+-92.09 28.992 3178
+-91.964 28.992 3180
+-91.838 28.992 3252
+-91.712 28.992 3290
+-91.586 28.992 3290
+-91.46 28.992 3452
+-91.334 28.992 3452
+-91.208 28.992 3500
+-91.082 28.992 3498
+-90.956 28.992 3496
+-90.83 28.992 3494
+-90.704 28.992 3491
+-90.578 28.992 3488
+-90.452 28.992 3485
+-90.326 28.992 3588
+-90.2 28.992 3643
+-90.074 28.992 3635
+-89.948 28.992 3625
+-89.822 28.992 3614
+-89.696 28.992 3602
+-89.57 28.992 3587
+-89.444 28.992 3569
+-89.318 28.992 3548
+-89.192 28.992 3547
+-89.066 28.992 3513
+-88.94 28.992 3478
+-88.814 28.992 3463
+-88.688 28.992 3406
+-88.562 28.992 3359
+-88.436 28.992 3262
+-88.31 28.992 3236
+-88.184 28.992 3337
+-88.058 28.992 3546
+-87.932 28.992 3761
+-87.806 28.992 3984
+-87.68 28.992 4162
+-87.554 28.992 4270
+-87.428 28.992 4390
+-87.302 28.992 4467
+-87.176 28.992 4591
+-87.05 28.992 4717
+-86.924 28.992 4783
+-86.798 28.992 4847
+-86.672 28.992 4850
+-86.546 28.992 4819
+-86.42 28.992 4984
+-86.294 28.992 5117
+-86.168 28.992 5246
+-86.042 28.992 5351
+-85.916 28.992 5516
+-85.79 28.992 5607
+-85.664 28.992 5787
+-85.538 28.992 5943
+-85.412 28.992 5973
+-85.286 28.992 6133
+-85.16 28.992 6273
+-85.034 28.992 6391
+-84.908 28.992 6557
+-84.782 28.992 6742
+-84.656 28.992 6759
+-84.53 28.992 6952
+-84.404 28.992 7037
+-84.278 28.992 7145
+-84.152 28.992 7298
+-84.026 28.992 7449
+-83.9 28.992 7521
+-83.774 28.992 7616
+-83.648 28.992 7758
+-83.522 28.992 7865
+-83.396 28.992 7981
+-83.27 28.992 8053
+-83.144 28.992 8171
+-83.018 28.992 8243
+-82.892 28.992 8359
+-82.766 28.992 8424
+-82.64 28.992 8474
+-82.514 28.992 8483
+-82.388 28.992 8517
+-82.262 28.992 8542
+-82.136 28.992 8516
+-82.01 28.992 8527
+-81.884 28.992 8502
+-81.758 28.992 8456
+-81.632 28.992 8391
+-81.506 28.992 8361
+-81.38 28.992 8252
+-81.254 28.992 8136
+-81.128 28.992 8037
+-81.002 28.992 8004
+-80.876 28.992 7913
+-80.75 28.992 7802
+-80.624 28.992 7642
+-80.498 28.992 7513
+-80.372 28.992 7401
+-80.246 28.992 7288
+-80.12 28.992 7172
+-79.994 28.992 7069
+-79.868 28.992 6961
+-79.742 28.992 6775
+-79.616 28.992 6752
+-79.49 28.992 6562
+-79.364 28.992 6397
+-79.238 28.992 6312
+-79.112 28.992 6160
+-78.986 28.992 6035
+-78.86 28.992 5884
+-78.734 28.992 5765
+-78.608 28.992 5623
+-78.482 28.992 5583
+-78.356 28.992 5401
+-78.23 28.992 5257
+-78.104 28.992 5094
+-77.978 28.992 4925
+-77.852 28.992 4893
+-77.726 28.992 4715
+-77.6 28.992 4569
+-77.474 28.992 4496
+-77.348 28.992 4366
+-77.222 28.992 4200
+-77.096 28.992 4063
+-76.97 28.992 3954
+-76.844 28.992 3802
+-76.718 28.992 3644
+-76.592 28.992 3532
+-76.466 28.992 3500
+-76.34 28.992 3365
+-76.214 28.992 3050
+-76.088 28.992 2854
+-75.962 28.992 2993
+-75.836 28.992 3192
+-75.71 28.992 3333
+-75.584 28.992 3426
+-75.458 28.992 3490
+-75.332 28.992 3536
+-75.206 28.992 3560
+-75.08 28.992 3588
+-74.954 28.992 3610
+-74.828 28.992 3629
+-74.702 28.992 3576
+-74.576 28.992 3589
+-74.45 28.992 3601
+-74.324 28.992 3583
+-74.198 28.992 3590
+-74.072 28.992 3544
+-73.946 28.992 3548
+-73.82 28.992 3551
+-73.694 28.992 3553
+-73.568 28.992 3389
+-73.442 28.992 3389
+-73.316 28.992 3388
+-73.19 28.992 3388
+-73.064 28.992 3387
+-72.938 28.992 3359
+-72.812 28.992 3358
+-72.686 28.992 3357
+-72.56 28.992 3356
+-72.434 28.992 3356
+-72.308 28.992 3355
+-72.182 28.992 3257
+-72.056 28.992 3269
+-71.93 28.992 3217
+-71.804 28.992 3216
+-71.678 28.992 3215
+-71.552 28.992 3213
+-71.426 28.992 3198
+-71.3 28.992 3094
+-71.174 28.992 3093
+-71.048 28.992 3092
+-70.922 28.992 3091
+-70.796 28.992 3090
+-70.67 28.992 3089
+-70.544 28.992 3088
+-70.418 28.992 3087
+-70.292 28.992 3087
+-70.166 28.992 3086
+-70.04 28.992 3085
+-69.914 28.992 3085
+-69.788 28.992 3084
+-69.662 28.992 3083
+-69.536 28.992 3083
+-69.41 28.992 3082
+-69.284 28.992 3082
+-69.158 28.992 3082
+-69.032 28.992 3081
+-68.906 28.992 3081
+-68.78 28.992 3080
+-68.654 28.992 3080
+-68.528 28.992 3080
+-68.402 28.992 3079
+-68.276 28.992 3079
+-68.15 28.992 3079
+-68.024 28.992 3078
+-67.898 28.992 3078
+-67.772 28.992 3078
+-67.646 28.992 3078
+-67.52 28.992 3078
+-67.394 28.992 3077
+-67.268 28.992 3077
+-67.142 28.992 3077
+-67.016 28.992 3077
+-66.89 28.992 3077
+-66.764 28.992 3077
+-66.638 28.992 3076
+-66.512 28.992 3076
+-66.386 28.992 3076
+-66.26 28.992 3076
+-66.134 28.992 3076
+-66.008 28.992 3076
+-65.882 28.992 3076
+-65.756 28.992 3076
+-65.63 28.992 3076
+-65.504 28.992 3076
+-65.378 28.992 3076
+-65.252 28.992 3075
+-65.126 28.992 3075
+-128 28.94 2393
+-127.874 28.94 2373
+-127.748 28.94 2400
+-127.622 28.94 2405
+-127.496 28.94 2381
+-127.37 28.94 2364
+-127.244 28.94 2338
+-127.118 28.94 2311
+-126.992 28.94 2292
+-126.866 28.94 2282
+-126.74 28.94 2253
+-126.614 28.94 2223
+-126.488 28.94 2194
+-126.362 28.94 2184
+-126.236 28.94 2188
+-126.11 28.94 2164
+-125.984 28.94 2142
+-125.858 28.94 2123
+-125.732 28.94 2108
+-125.606 28.94 2105
+-125.48 28.94 2119
+-125.354 28.94 2123
+-125.228 28.94 2135
+-125.102 28.94 2154
+-124.976 28.94 2181
+-124.85 28.94 2214
+-124.724 28.94 2254
+-124.598 28.94 2306
+-124.472 28.94 2364
+-124.346 28.94 2450
+-124.22 28.94 2486
+-124.094 28.94 2547
+-123.968 28.94 2635
+-123.842 28.94 2697
+-123.716 28.94 2805
+-123.59 28.94 2865
+-123.464 28.94 2921
+-123.338 28.94 2971
+-123.212 28.94 3017
+-123.086 28.94 3071
+-122.96 28.94 3106
+-122.834 28.94 3122
+-122.708 28.94 3232
+-122.582 28.94 3248
+-122.456 28.94 3294
+-122.33 28.94 3312
+-122.204 28.94 3353
+-122.078 28.94 3426
+-121.952 28.94 3440
+-121.826 28.94 3469
+-121.7 28.94 3483
+-121.574 28.94 3492
+-121.448 28.94 3495
+-121.322 28.94 3492
+-121.196 28.94 3487
+-121.07 28.94 3507
+-120.944 28.94 3560
+-120.818 28.94 3660
+-120.692 28.94 3781
+-120.566 28.94 3899
+-120.44 28.94 4002
+-120.314 28.94 4140
+-120.188 28.94 4247
+-120.062 28.94 4378
+-119.936 28.94 4492
+-119.81 28.94 4581
+-119.684 28.94 4616
+-119.558 28.94 4591
+-119.432 28.94 4688
+-119.306 28.94 4787
+-119.18 28.94 4823
+-119.054 28.94 4888
+-118.928 28.94 4911
+-118.802 28.94 4978
+-118.676 28.94 5021
+-118.55 28.94 5093
+-118.424 28.94 5151
+-118.298 28.94 5207
+-118.172 28.94 5219
+-118.046 28.94 5274
+-117.92 28.94 5322
+-117.794 28.94 5339
+-117.668 28.94 5359
+-117.542 28.94 5356
+-117.416 28.94 5365
+-117.29 28.94 5390
+-117.164 28.94 5385
+-117.038 28.94 5374
+-116.912 28.94 5387
+-116.786 28.94 5405
+-116.66 28.94 5395
+-116.534 28.94 5378
+-116.408 28.94 5351
+-116.282 28.94 5310
+-116.156 28.94 5273
+-116.03 28.94 5255
+-115.904 28.94 5229
+-115.778 28.94 5166
+-115.652 28.94 5120
+-115.526 28.94 5086
+-115.4 28.94 5048
+-115.274 28.94 4995
+-115.148 28.94 4902
+-115.022 28.94 4821
+-114.896 28.94 4759
+-114.77 28.94 4673
+-114.644 28.94 4619
+-114.518 28.94 4546
+-114.392 28.94 4474
+-114.266 28.94 4397
+-114.14 28.94 4539
+-114.014 28.94 4656
+-113.888 28.94 4792
+-113.762 28.94 4949
+-113.636 28.94 5025
+-113.51 28.94 5104
+-113.384 28.94 5161
+-113.258 28.94 5202
+-113.132 28.94 5294
+-113.006 28.94 5428
+-112.88 28.94 5566
+-112.754 28.94 5602
+-112.628 28.94 5752
+-112.502 28.94 5815
+-112.376 28.94 5878
+-112.25 28.94 5953
+-112.124 28.94 6011
+-111.998 28.94 6079
+-111.872 28.94 6181
+-111.746 28.94 6205
+-111.62 28.94 6253
+-111.494 28.94 6312
+-111.368 28.94 6390
+-111.242 28.94 6425
+-111.116 28.94 6463
+-110.99 28.94 6503
+-110.864 28.94 6533
+-110.738 28.94 6558
+-110.612 28.94 6585
+-110.486 28.94 6604
+-110.36 28.94 6580
+-110.234 28.94 6568
+-110.108 28.94 6545
+-109.982 28.94 6529
+-109.856 28.94 6506
+-109.73 28.94 6487
+-109.604 28.94 6464
+-109.478 28.94 6406
+-109.352 28.94 6398
+-109.226 28.94 6334
+-109.1 28.94 6267
+-108.974 28.94 6210
+-108.848 28.94 6140
+-108.722 28.94 6063
+-108.596 28.94 5978
+-108.47 28.94 5935
+-108.344 28.94 5836
+-108.218 28.94 5725
+-108.092 28.94 5600
+-107.966 28.94 5578
+-107.84 28.94 5554
+-107.714 28.94 5465
+-107.588 28.94 5403
+-107.462 28.94 5325
+-107.336 28.94 5326
+-107.21 28.94 5265
+-107.084 28.94 5109
+-106.958 28.94 4953
+-106.832 28.94 4740
+-106.706 28.94 4568
+-106.58 28.94 4396
+-106.454 28.94 4215
+-106.328 28.94 4186
+-106.202 28.94 4180
+-106.076 28.94 4086
+-105.95 28.94 4018
+-105.824 28.94 3938
+-105.698 28.94 3847
+-105.572 28.94 3778
+-105.446 28.94 3709
+-105.32 28.94 3641
+-105.194 28.94 3566
+-105.068 28.94 3496
+-104.942 28.94 3426
+-104.816 28.94 3317
+-104.69 28.94 3274
+-104.564 28.94 3261
+-104.438 28.94 3272
+-104.312 28.94 3298
+-104.186 28.94 3330
+-104.06 28.94 3333
+-103.934 28.94 3332
+-103.808 28.94 3354
+-103.682 28.94 3294
+-103.556 28.94 3307
+-103.43 28.94 3317
+-103.304 28.94 3325
+-103.178 28.94 3320
+-103.052 28.94 3291
+-102.926 28.94 3294
+-102.8 28.94 3296
+-102.674 28.94 3298
+-102.548 28.94 3300
+-102.422 28.94 3282
+-102.296 28.94 3253
+-102.17 28.94 3253
+-102.044 28.94 3254
+-101.918 28.94 3254
+-101.792 28.94 3255
+-101.666 28.94 3256
+-101.54 28.94 3174
+-101.414 28.94 3176
+-101.288 28.94 3178
+-101.162 28.94 3151
+-101.036 28.94 3146
+-100.91 28.94 3148
+-100.784 28.94 3151
+-100.658 28.94 3097
+-100.532 28.94 3098
+-100.406 28.94 3100
+-100.28 28.94 3102
+-100.154 28.94 3045
+-100.028 28.94 2934
+-99.902 28.94 2936
+-99.776 28.94 2931
+-99.65 28.94 2933
+-99.524 28.94 2803
+-99.398 28.94 2799
+-99.272 28.94 2794
+-99.146 28.94 2790
+-99.02 28.94 2785
+-98.894 28.94 2780
+-98.768 28.94 2774
+-98.642 28.94 2769
+-98.516 28.94 2763
+-98.39 28.94 2757
+-98.264 28.94 2751
+-98.138 28.94 2745
+-98.012 28.94 2676
+-97.886 28.94 2619
+-97.76 28.94 2577
+-97.634 28.94 2531
+-97.508 28.94 2530
+-97.382 28.94 2485
+-97.256 28.94 2434
+-97.13 28.94 2421
+-97.004 28.94 2367
+-96.878 28.94 2361
+-96.752 28.94 2322
+-96.626 28.94 2298
+-96.5 28.94 2303
+-96.374 28.94 2272
+-96.248 28.94 2275
+-96.122 28.94 2226
+-95.996 28.94 2336
+-95.87 28.94 2365
+-95.744 28.94 2370
+-95.618 28.94 2340
+-95.492 28.94 2443
+-95.366 28.94 2475
+-95.24 28.94 2477
+-95.114 28.94 2471
+-94.988 28.94 2476
+-94.862 28.94 2510
+-94.736 28.94 2516
+-94.61 28.94 2522
+-94.484 28.94 2528
+-94.358 28.94 2534
+-94.232 28.94 2541
+-94.106 28.94 2547
+-93.98 28.94 2553
+-93.854 28.94 2715
+-93.728 28.94 2727
+-93.602 28.94 2735
+-93.476 28.94 2744
+-93.35 28.94 2890
+-93.224 28.94 2893
+-93.098 28.94 2896
+-92.972 28.94 2963
+-92.846 28.94 2966
+-92.72 28.94 3006
+-92.594 28.94 3174
+-92.468 28.94 3176
+-92.342 28.94 3179
+-92.216 28.94 3181
+-92.09 28.94 3184
+-91.964 28.94 3220
+-91.838 28.94 3289
+-91.712 28.94 3294
+-91.586 28.94 3456
+-91.46 28.94 3457
+-91.334 28.94 3457
+-91.208 28.94 3457
+-91.082 28.94 3508
+-90.956 28.94 3506
+-90.83 28.94 3504
+-90.704 28.94 3501
+-90.578 28.94 3546
+-90.452 28.94 3541
+-90.326 28.94 3536
+-90.2 28.94 3656
+-90.074 28.94 3648
+-89.948 28.94 3639
+-89.822 28.94 3628
+-89.696 28.94 3616
+-89.57 28.94 3602
+-89.444 28.94 3584
+-89.318 28.94 3562
+-89.192 28.94 3534
+-89.066 28.94 3520
+-88.94 28.94 3513
+-88.814 28.94 3463
+-88.688 28.94 3373
+-88.562 28.94 3234
+-88.436 28.94 3061
+-88.31 28.94 2980
+-88.184 28.94 3116
+-88.058 28.94 3416
+-87.932 28.94 3713
+-87.806 28.94 3944
+-87.68 28.94 4119
+-87.554 28.94 4298
+-87.428 28.94 4389
+-87.302 28.94 4513
+-87.176 28.94 4603
+-87.05 28.94 4731
+-86.924 28.94 4781
+-86.798 28.94 4777
+-86.672 28.94 4784
+-86.546 28.94 4869
+-86.42 28.94 5008
+-86.294 28.94 5176
+-86.168 28.94 5273
+-86.042 28.94 5296
+-85.916 28.94 5492
+-85.79 28.94 5687
+-85.664 28.94 5832
+-85.538 28.94 5963
+-85.412 28.94 6071
+-85.286 28.94 6134
+-85.16 28.94 6334
+-85.034 28.94 6420
+-84.908 28.94 6605
+-84.782 28.94 6743
+-84.656 28.94 6843
+-84.53 28.94 6954
+-84.404 28.94 7096
+-84.278 28.94 7252
+-84.152 28.94 7316
+-84.026 28.94 7454
+-83.9 28.94 7582
+-83.774 28.94 7678
+-83.648 28.94 7781
+-83.522 28.94 7919
+-83.396 28.94 8030
+-83.27 28.94 8141
+-83.144 28.94 8217
+-83.018 28.94 8301
+-82.892 28.94 8379
+-82.766 28.94 8430
+-82.64 28.94 8495
+-82.514 28.94 8557
+-82.388 28.94 8552
+-82.262 28.94 8574
+-82.136 28.94 8585
+-82.01 28.94 8568
+-81.884 28.94 8543
+-81.758 28.94 8495
+-81.632 28.94 8447
+-81.506 28.94 8382
+-81.38 28.94 8299
+-81.254 28.94 8182
+-81.128 28.94 8089
+-81.002 28.94 8021
+-80.876 28.94 7913
+-80.75 28.94 7867
+-80.624 28.94 7696
+-80.498 28.94 7548
+-80.372 28.94 7488
+-80.246 28.94 7316
+-80.12 28.94 7175
+-79.994 28.94 7109
+-79.868 28.94 6906
+-79.742 28.94 6895
+-79.616 28.94 6770
+-79.49 28.94 6556
+-79.364 28.94 6465
+-79.238 28.94 6314
+-79.112 28.94 6158
+-78.986 28.94 6025
+-78.86 28.94 5889
+-78.734 28.94 5748
+-78.608 28.94 5692
+-78.482 28.94 5568
+-78.356 28.94 5393
+-78.23 28.94 5194
+-78.104 28.94 5165
+-77.978 28.94 5016
+-77.852 28.94 4919
+-77.726 28.94 4773
+-77.6 28.94 4619
+-77.474 28.94 4509
+-77.348 28.94 4373
+-77.222 28.94 4217
+-77.096 28.94 4060
+-76.97 28.94 3947
+-76.844 28.94 3815
+-76.718 28.94 3593
+-76.592 28.94 3450
+-76.466 28.94 3491
+-76.34 28.94 3406
+-76.214 28.94 3183
+-76.088 28.94 3024
+-75.962 28.94 3098
+-75.836 28.94 3243
+-75.71 28.94 3359
+-75.584 28.94 3441
+-75.458 28.94 3500
+-75.332 28.94 3545
+-75.206 28.94 3580
+-75.08 28.94 3608
+-74.954 28.94 3631
+-74.828 28.94 3563
+-74.702 28.94 3578
+-74.576 28.94 3591
+-74.45 28.94 3602
+-74.324 28.94 3612
+-74.198 28.94 3569
+-74.072 28.94 3574
+-73.946 28.94 3579
+-73.82 28.94 3583
+-73.694 28.94 3387
+-73.568 28.94 3386
+-73.442 28.94 3386
+-73.316 28.94 3385
+-73.19 28.94 3366
+-73.064 28.94 3358
+-72.938 28.94 3357
+-72.812 28.94 3356
+-72.686 28.94 3355
+-72.56 28.94 3354
+-72.434 28.94 3353
+-72.308 28.94 3353
+-72.182 28.94 3270
+-72.056 28.94 3242
+-71.93 28.94 3241
+-71.804 28.94 3240
+-71.678 28.94 3239
+-71.552 28.94 3199
+-71.426 28.94 3097
+-71.3 28.94 3096
+-71.174 28.94 3094
+-71.048 28.94 3093
+-70.922 28.94 3092
+-70.796 28.94 3091
+-70.67 28.94 3090
+-70.544 28.94 3089
+-70.418 28.94 3089
+-70.292 28.94 3088
+-70.166 28.94 3087
+-70.04 28.94 3086
+-69.914 28.94 3086
+-69.788 28.94 3085
+-69.662 28.94 3085
+-69.536 28.94 3084
+-69.41 28.94 3084
+-69.284 28.94 3083
+-69.158 28.94 3083
+-69.032 28.94 3082
+-68.906 28.94 3082
+-68.78 28.94 3081
+-68.654 28.94 3081
+-68.528 28.94 3081
+-68.402 28.94 3080
+-68.276 28.94 3080
+-68.15 28.94 3080
+-68.024 28.94 3079
+-67.898 28.94 3079
+-67.772 28.94 3079
+-67.646 28.94 3079
+-67.52 28.94 3078
+-67.394 28.94 3078
+-67.268 28.94 3078
+-67.142 28.94 3078
+-67.016 28.94 3078
+-66.89 28.94 3078
+-66.764 28.94 3077
+-66.638 28.94 3077
+-66.512 28.94 3077
+-66.386 28.94 3077
+-66.26 28.94 3077
+-66.134 28.94 3077
+-66.008 28.94 3077
+-65.882 28.94 3077
+-65.756 28.94 3076
+-65.63 28.94 3076
+-65.504 28.94 3076
+-65.378 28.94 3076
+-65.252 28.94 3076
+-65.126 28.94 3076
+-128 28.888 2402
+-127.874 28.888 2431
+-127.748 28.888 2439
+-127.622 28.888 2418
+-127.496 28.888 2404
+-127.37 28.888 2381
+-127.244 28.888 2357
+-127.118 28.888 2341
+-126.992 28.888 2335
+-126.866 28.888 2310
+-126.74 28.888 2284
+-126.614 28.888 2258
+-126.488 28.888 2250
+-126.362 28.888 2259
+-126.236 28.888 2238
+-126.11 28.888 2218
+-125.984 28.888 2201
+-125.858 28.888 2187
+-125.732 28.888 2184
+-125.606 28.888 2195
+-125.48 28.888 2196
+-125.354 28.888 2203
+-125.228 28.888 2216
+-125.102 28.888 2235
+-124.976 28.888 2260
+-124.85 28.888 2292
+-124.724 28.888 2336
+-124.598 28.888 2385
+-124.472 28.888 2464
+-124.346 28.888 2491
+-124.22 28.888 2544
+-124.094 28.888 2626
+-123.968 28.888 2682
+-123.842 28.888 2760
+-123.716 28.888 2842
+-123.59 28.888 2895
+-123.464 28.888 2945
+-123.338 28.888 2991
+-123.212 28.888 3033
+-123.086 28.888 3052
+-122.96 28.888 3106
+-122.834 28.888 3123
+-122.708 28.888 3244
+-122.582 28.888 3261
+-122.456 28.888 3309
+-122.33 28.888 3349
+-122.204 28.888 3368
+-122.078 28.888 3435
+-121.952 28.888 3459
+-121.826 28.888 3470
+-121.7 28.888 3480
+-121.574 28.888 3479
+-121.448 28.888 3483
+-121.322 28.888 3481
+-121.196 28.888 3476
+-121.07 28.888 3461
+-120.944 28.888 3516
+-120.818 28.888 3634
+-120.692 28.888 3739
+-120.566 28.888 3848
+-120.44 28.888 3934
+-120.314 28.888 4088
+-120.188 28.888 4179
+-120.062 28.888 4295
+-119.936 28.888 4416
+-119.81 28.888 4533
+-119.684 28.888 4581
+-119.558 28.888 4617
+-119.432 28.888 4666
+-119.306 28.888 4755
+-119.18 28.888 4772
+-119.054 28.888 4835
+-118.928 28.888 4879
+-118.802 28.888 4946
+-118.676 28.888 4986
+-118.55 28.888 5036
+-118.424 28.888 5087
+-118.298 28.888 5158
+-118.172 28.888 5220
+-118.046 28.888 5218
+-117.92 28.888 5274
+-117.794 28.888 5312
+-117.668 28.888 5324
+-117.542 28.888 5309
+-117.416 28.888 5293
+-117.29 28.888 5300
+-117.164 28.888 5322
+-117.038 28.888 5313
+-116.912 28.888 5320
+-116.786 28.888 5340
+-116.66 28.888 5337
+-116.534 28.888 5322
+-116.408 28.888 5309
+-116.282 28.888 5261
+-116.156 28.888 5234
+-116.03 28.888 5205
+-115.904 28.888 5177
+-115.778 28.888 5126
+-115.652 28.888 5062
+-115.526 28.888 5025
+-115.4 28.888 5020
+-115.274 28.888 4916
+-115.148 28.888 4837
+-115.022 28.888 4802
+-114.896 28.888 4740
+-114.77 28.888 4634
+-114.644 28.888 4608
+-114.518 28.888 4559
+-114.392 28.888 4504
+-114.266 28.888 4479
+-114.14 28.888 4533
+-114.014 28.888 4645
+-113.888 28.888 4770
+-113.762 28.888 4895
+-113.636 28.888 4996
+-113.51 28.888 5065
+-113.384 28.888 5124
+-113.258 28.888 5154
+-113.132 28.888 5236
+-113.006 28.888 5345
+-112.88 28.888 5490
+-112.754 28.888 5612
+-112.628 28.888 5722
+-112.502 28.888 5788
+-112.376 28.888 5828
+-112.25 28.888 5859
+-112.124 28.888 5983
+-111.998 28.888 6049
+-111.872 28.888 6082
+-111.746 28.888 6120
+-111.62 28.888 6202
+-111.494 28.888 6271
+-111.368 28.888 6349
+-111.242 28.888 6392
+-111.116 28.888 6441
+-110.99 28.888 6443
+-110.864 28.888 6486
+-110.738 28.888 6508
+-110.612 28.888 6531
+-110.486 28.888 6499
+-110.36 28.888 6527
+-110.234 28.888 6508
+-110.108 28.888 6505
+-109.982 28.888 6490
+-109.856 28.888 6457
+-109.73 28.888 6424
+-109.604 28.888 6388
+-109.478 28.888 6373
+-109.352 28.888 6316
+-109.226 28.888 6304
+-109.1 28.888 6250
+-108.974 28.888 6164
+-108.848 28.888 6102
+-108.722 28.888 6028
+-108.596 28.888 5962
+-108.47 28.888 5880
+-108.344 28.888 5741
+-108.218 28.888 5701
+-108.092 28.888 5615
+-107.966 28.888 5603
+-107.84 28.888 5556
+-107.714 28.888 5491
+-107.588 28.888 5420
+-107.462 28.888 5354
+-107.336 28.888 5322
+-107.21 28.888 5233
+-107.084 28.888 5109
+-106.958 28.888 4881
+-106.832 28.888 4697
+-106.706 28.888 4522
+-106.58 28.888 4334
+-106.454 28.888 4213
+-106.328 28.888 4165
+-106.202 28.888 4124
+-106.076 28.888 4045
+-105.95 28.888 3953
+-105.824 28.888 3877
+-105.698 28.888 3811
+-105.572 28.888 3726
+-105.446 28.888 3649
+-105.32 28.888 3583
+-105.194 28.888 3527
+-105.068 28.888 3471
+-104.942 28.888 3425
+-104.816 28.888 3385
+-104.69 28.888 3313
+-104.564 28.888 3297
+-104.438 28.888 3302
+-104.312 28.888 3318
+-104.186 28.888 3341
+-104.06 28.888 3368
+-103.934 28.888 3363
+-103.808 28.888 3357
+-103.682 28.888 3374
+-103.556 28.888 3308
+-103.43 28.888 3319
+-103.304 28.888 3327
+-103.178 28.888 3288
+-103.052 28.888 3293
+-102.926 28.888 3297
+-102.8 28.888 3300
+-102.674 28.888 3302
+-102.548 28.888 3304
+-102.422 28.888 3306
+-102.296 28.888 3242
+-102.17 28.888 3259
+-102.044 28.888 3259
+-101.918 28.888 3260
+-101.792 28.888 3261
+-101.666 28.888 3261
+-101.54 28.888 3262
+-101.414 28.888 3180
+-101.288 28.888 3182
+-101.162 28.888 3114
+-101.036 28.888 3116
+-100.91 28.888 3087
+-100.784 28.888 3089
+-100.658 28.888 3090
+-100.532 28.888 3035
+-100.406 28.888 3036
+-100.28 28.888 3037
+-100.154 28.888 3037
+-100.028 28.888 3049
+-99.902 28.888 2936
+-99.776 28.888 2938
+-99.65 28.888 2933
+-99.524 28.888 2935
+-99.398 28.888 2800
+-99.272 28.888 2796
+-99.146 28.888 2792
+-99.02 28.888 2787
+-98.894 28.888 2782
+-98.768 28.888 2777
+-98.642 28.888 2772
+-98.516 28.888 2766
+-98.39 28.888 2760
+-98.264 28.888 2754
+-98.138 28.888 2748
+-98.012 28.888 2680
+-97.886 28.888 2623
+-97.76 28.888 2616
+-97.634 28.888 2508
+-97.508 28.888 2499
+-97.382 28.888 2490
+-97.256 28.888 2439
+-97.13 28.888 2426
+-97.004 28.888 2372
+-96.878 28.888 2366
+-96.752 28.888 2326
+-96.626 28.888 2302
+-96.5 28.888 2307
+-96.374 28.888 2276
+-96.248 28.888 2279
+-96.122 28.888 2231
+-95.996 28.888 2366
+-95.87 28.888 2371
+-95.744 28.888 2376
+-95.618 28.888 2376
+-95.492 28.888 2478
+-95.366 28.888 2482
+-95.24 28.888 2475
+-95.114 28.888 2480
+-94.988 28.888 2481
+-94.862 28.888 2520
+-94.736 28.888 2526
+-94.61 28.888 2532
+-94.484 28.888 2538
+-94.358 28.888 2544
+-94.232 28.888 2550
+-94.106 28.888 2557
+-93.98 28.888 2716
+-93.854 28.888 2728
+-93.728 28.888 2736
+-93.602 28.888 2744
+-93.476 28.888 2893
+-93.35 28.888 2896
+-93.224 28.888 2899
+-93.098 28.888 2966
+-92.972 28.888 2969
+-92.846 28.888 3009
+-92.72 28.888 3011
+-92.594 28.888 3179
+-92.468 28.888 3181
+-92.342 28.888 3184
+-92.216 28.888 3186
+-92.09 28.888 3264
+-91.964 28.888 3292
+-91.838 28.888 3293
+-91.712 28.888 3293
+-91.586 28.888 3460
+-91.46 28.888 3461
+-91.334 28.888 3462
+-91.208 28.888 3462
+-91.082 28.888 3463
+-90.956 28.888 3515
+-90.83 28.888 3514
+-90.704 28.888 3558
+-90.578 28.888 3555
+-90.452 28.888 3551
+-90.326 28.888 3546
+-90.2 28.888 3668
+-90.074 28.888 3661
+-89.948 28.888 3653
+-89.822 28.888 3643
+-89.696 28.888 3632
+-89.57 28.888 3618
+-89.444 28.888 3601
+-89.318 28.888 3579
+-89.192 28.888 3582
+-89.066 28.888 3571
+-88.94 28.888 3549
+-88.814 28.888 3477
+-88.688 28.888 3352
+-88.562 28.888 3172
+-88.436 28.888 2974
+-88.31 28.888 2852
+-88.184 28.888 3007
+-88.058 28.888 3364
+-87.932 28.888 3705
+-87.806 28.888 3954
+-87.68 28.888 4129
+-87.554 28.888 4262
+-87.428 28.888 4435
+-87.302 28.888 4505
+-87.176 28.888 4605
+-87.05 28.888 4715
+-86.924 28.888 4744
+-86.798 28.888 4723
+-86.672 28.888 4619
+-86.546 28.888 4838
+-86.42 28.888 5052
+-86.294 28.888 5206
+-86.168 28.888 5229
+-86.042 28.888 5352
+-85.916 28.888 5537
+-85.79 28.888 5729
+-85.664 28.888 5825
+-85.538 28.888 5961
+-85.412 28.888 6091
+-85.286 28.888 6223
+-85.16 28.888 6312
+-85.034 28.888 6474
+-84.908 28.888 6611
+-84.782 28.888 6710
+-84.656 28.888 6784
+-84.53 28.888 6962
+-84.404 28.888 7106
+-84.278 28.888 7190
+-84.152 28.888 7359
+-84.026 28.888 7465
+-83.9 28.888 7559
+-83.774 28.888 7727
+-83.648 28.888 7800
+-83.522 28.888 7901
+-83.396 28.888 8033
+-83.27 28.888 8185
+-83.144 28.888 8253
+-83.018 28.888 8345
+-82.892 28.888 8440
+-82.766 28.888 8471
+-82.64 28.888 8542
+-82.514 28.888 8599
+-82.388 28.888 8616
+-82.262 28.888 8650
+-82.136 28.888 8667
+-82.01 28.888 8630
+-81.884 28.888 8584
+-81.758 28.888 8552
+-81.632 28.888 8485
+-81.506 28.888 8456
+-81.38 28.888 8348
+-81.254 28.888 8232
+-81.128 28.888 8107
+-81.002 28.888 8042
+-80.876 28.888 7992
+-80.75 28.888 7821
+-80.624 28.888 7777
+-80.498 28.888 7559
+-80.372 28.888 7504
+-80.246 28.888 7350
+-80.12 28.888 7211
+-79.994 28.888 7171
+-79.868 28.888 7025
+-79.742 28.888 6930
+-79.616 28.888 6804
+-79.49 28.888 6627
+-79.364 28.888 6463
+-79.238 28.888 6285
+-79.112 28.888 6169
+-78.986 28.888 6001
+-78.86 28.888 5901
+-78.734 28.888 5807
+-78.608 28.888 5698
+-78.482 28.888 5539
+-78.356 28.888 5417
+-78.23 28.888 5323
+-78.104 28.888 5206
+-77.978 28.888 5095
+-77.852 28.888 4936
+-77.726 28.888 4756
+-77.6 28.888 4603
+-77.474 28.888 4496
+-77.348 28.888 4396
+-77.222 28.888 4220
+-77.096 28.888 4022
+-76.97 28.888 3917
+-76.844 28.888 3844
+-76.718 28.888 3682
+-76.592 28.888 3551
+-76.466 28.888 3529
+-76.34 28.888 3464
+-76.214 28.888 3353
+-76.088 28.888 3273
+-75.962 28.888 3276
+-75.836 28.888 3340
+-75.71 28.888 3410
+-75.584 28.888 3471
+-75.458 28.888 3519
+-75.332 28.888 3559
+-75.206 28.888 3590
+-75.08 28.888 3617
+-74.954 28.888 3550
+-74.828 28.888 3567
+-74.702 28.888 3581
+-74.576 28.888 3594
+-74.45 28.888 3605
+-74.324 28.888 3563
+-74.198 28.888 3569
+-74.072 28.888 3574
+-73.946 28.888 3537
+-73.82 28.888 3384
+-73.694 28.888 3383
+-73.568 28.888 3383
+-73.442 28.888 3385
+-73.316 28.888 3363
+-73.19 28.888 3356
+-73.064 28.888 3355
+-72.938 28.888 3354
+-72.812 28.888 3353
+-72.686 28.888 3353
+-72.56 28.888 3352
+-72.434 28.888 3351
+-72.308 28.888 3310
+-72.182 28.888 3269
+-72.056 28.888 3241
+-71.93 28.888 3240
+-71.804 28.888 3240
+-71.678 28.888 3199
+-71.552 28.888 3198
+-71.426 28.888 3197
+-71.3 28.888 3097
+-71.174 28.888 3096
+-71.048 28.888 3094
+-70.922 28.888 3093
+-70.796 28.888 3092
+-70.67 28.888 3091
+-70.544 28.888 3091
+-70.418 28.888 3090
+-70.292 28.888 3089
+-70.166 28.888 3088
+-70.04 28.888 3088
+-69.914 28.888 3087
+-69.788 28.888 3086
+-69.662 28.888 3086
+-69.536 28.888 3085
+-69.41 28.888 3085
+-69.284 28.888 3084
+-69.158 28.888 3084
+-69.032 28.888 3083
+-68.906 28.888 3083
+-68.78 28.888 3082
+-68.654 28.888 3082
+-68.528 28.888 3082
+-68.402 28.888 3081
+-68.276 28.888 3081
+-68.15 28.888 3081
+-68.024 28.888 3080
+-67.898 28.888 3080
+-67.772 28.888 3080
+-67.646 28.888 3080
+-67.52 28.888 3079
+-67.394 28.888 3079
+-67.268 28.888 3079
+-67.142 28.888 3079
+-67.016 28.888 3079
+-66.89 28.888 3078
+-66.764 28.888 3078
+-66.638 28.888 3078
+-66.512 28.888 3078
+-66.386 28.888 3078
+-66.26 28.888 3078
+-66.134 28.888 3077
+-66.008 28.888 3077
+-65.882 28.888 3077
+-65.756 28.888 3077
+-65.63 28.888 3077
+-65.504 28.888 3077
+-65.378 28.888 3077
+-65.252 28.888 3077
+-65.126 28.888 3077
+-128 28.836 2459
+-127.874 28.836 2470
+-127.748 28.836 2451
+-127.622 28.836 2440
+-127.496 28.836 2419
+-127.37 28.836 2398
+-127.244 28.836 2385
+-127.118 28.836 2381
+-126.992 28.836 2359
+-126.866 28.836 2337
+-126.74 28.836 2314
+-126.614 28.836 2307
+-126.488 28.836 2320
+-126.362 28.836 2302
+-126.236 28.836 2284
+-126.11 28.836 2269
+-125.984 28.836 2256
+-125.858 28.836 2254
+-125.732 28.836 2262
+-125.606 28.836 2261
+-125.48 28.836 2265
+-125.354 28.836 2273
+-125.228 28.836 2287
+-125.102 28.836 2306
+-124.976 28.836 2331
+-124.85 28.836 2368
+-124.724 28.836 2409
+-124.598 28.836 2482
+-124.472 28.836 2501
+-124.346 28.836 2547
+-124.22 28.836 2623
+-124.094 28.836 2672
+-123.968 28.836 2745
+-123.842 28.836 2823
+-123.716 28.836 2873
+-123.59 28.836 2921
+-123.464 28.836 2966
+-123.338 28.836 3008
+-123.212 28.836 3028
+-123.086 28.836 3087
+-122.96 28.836 3104
+-122.834 28.836 3136
+-122.708 28.836 3164
+-122.582 28.836 3270
+-122.456 28.836 3286
+-122.33 28.836 3329
+-122.204 28.836 3344
+-122.078 28.836 3453
+-121.952 28.836 3460
+-121.826 28.836 3465
+-121.7 28.836 3462
+-121.574 28.836 3466
+-121.448 28.836 3471
+-121.322 28.836 3480
+-121.196 28.836 3447
+-121.07 28.836 3405
+-120.944 28.836 3485
+-120.818 28.836 3610
+-120.692 28.836 3730
+-120.566 28.836 3818
+-120.44 28.836 3898
+-120.314 28.836 3990
+-120.188 28.836 4106
+-120.062 28.836 4233
+-119.936 28.836 4345
+-119.81 28.836 4453
+-119.684 28.836 4510
+-119.558 28.836 4583
+-119.432 28.836 4621
+-119.306 28.836 4694
+-119.18 28.836 4748
+-119.054 28.836 4794
+-118.928 28.836 4785
+-118.802 28.836 4879
+-118.676 28.836 4963
+-118.55 28.836 4988
+-118.424 28.836 5049
+-118.298 28.836 5083
+-118.172 28.836 5156
+-118.046 28.836 5192
+-117.92 28.836 5218
+-117.794 28.836 5253
+-117.668 28.836 5266
+-117.542 28.836 5261
+-117.416 28.836 5261
+-117.29 28.836 5262
+-117.164 28.836 5265
+-117.038 28.836 5268
+-116.912 28.836 5259
+-116.786 28.836 5260
+-116.66 28.836 5247
+-116.534 28.836 5261
+-116.408 28.836 5246
+-116.282 28.836 5227
+-116.156 28.836 5178
+-116.03 28.836 5157
+-115.904 28.836 5145
+-115.778 28.836 5080
+-115.652 28.836 5015
+-115.526 28.836 5026
+-115.4 28.836 4987
+-115.274 28.836 4867
+-115.148 28.836 4793
+-115.022 28.836 4762
+-114.896 28.836 4685
+-114.77 28.836 4604
+-114.644 28.836 4552
+-114.518 28.836 4536
+-114.392 28.836 4497
+-114.266 28.836 4493
+-114.14 28.836 4523
+-114.014 28.836 4614
+-113.888 28.836 4722
+-113.762 28.836 4837
+-113.636 28.836 4914
+-113.51 28.836 5029
+-113.384 28.836 5050
+-113.258 28.836 5151
+-113.132 28.836 5311
+-113.006 28.836 5324
+-112.88 28.836 5407
+-112.754 28.836 5538
+-112.628 28.836 5670
+-112.502 28.836 5749
+-112.376 28.836 5816
+-112.25 28.836 5881
+-112.124 28.836 5937
+-111.998 28.836 6010
+-111.872 28.836 6063
+-111.746 28.836 6099
+-111.62 28.836 6171
+-111.494 28.836 6209
+-111.368 28.836 6286
+-111.242 28.836 6331
+-111.116 28.836 6363
+-110.99 28.836 6413
+-110.864 28.836 6424
+-110.738 28.836 6444
+-110.612 28.836 6458
+-110.486 28.836 6459
+-110.36 28.836 6464
+-110.234 28.836 6441
+-110.108 28.836 6457
+-109.982 28.836 6437
+-109.856 28.836 6405
+-109.73 28.836 6352
+-109.604 28.836 6328
+-109.478 28.836 6309
+-109.352 28.836 6303
+-109.226 28.836 6256
+-109.1 28.836 6184
+-108.974 28.836 6102
+-108.848 28.836 6044
+-108.722 28.836 5969
+-108.596 28.836 5938
+-108.47 28.836 5849
+-108.344 28.836 5751
+-108.218 28.836 5682
+-108.092 28.836 5628
+-107.966 28.836 5549
+-107.84 28.836 5511
+-107.714 28.836 5446
+-107.588 28.836 5396
+-107.462 28.836 5341
+-107.336 28.836 5287
+-107.21 28.836 5162
+-107.084 28.836 5066
+-106.958 28.836 4817
+-106.832 28.836 4642
+-106.706 28.836 4461
+-106.58 28.836 4295
+-106.454 28.836 4138
+-106.328 28.836 4055
+-106.202 28.836 3995
+-106.076 28.836 3951
+-105.95 28.836 3899
+-105.824 28.836 3832
+-105.698 28.836 3740
+-105.572 28.836 3650
+-105.446 28.836 3560
+-105.32 28.836 3487
+-105.194 28.836 3443
+-105.068 28.836 3411
+-104.942 28.836 3382
+-104.816 28.836 3354
+-104.69 28.836 3337
+-104.564 28.836 3291
+-104.438 28.836 3295
+-104.312 28.836 3314
+-104.186 28.836 3338
+-104.06 28.836 3364
+-103.934 28.836 3391
+-103.808 28.836 3384
+-103.682 28.836 3376
+-103.556 28.836 3391
+-103.43 28.836 3284
+-103.304 28.836 3283
+-103.178 28.836 3289
+-103.052 28.836 3295
+-102.926 28.836 3299
+-102.8 28.836 3303
+-102.674 28.836 3306
+-102.548 28.836 3308
+-102.422 28.836 3310
+-102.296 28.836 3312
+-102.17 28.836 3248
+-102.044 28.836 3264
+-101.918 28.836 3265
+-101.792 28.836 3266
+-101.666 28.836 3266
+-101.54 28.836 3267
+-101.414 28.836 3157
+-101.288 28.836 3126
+-101.162 28.836 3116
+-101.036 28.836 3117
+-100.91 28.836 3119
+-100.784 28.836 3090
+-100.658 28.836 3091
+-100.532 28.836 3093
+-100.406 28.836 3038
+-100.28 28.836 3038
+-100.154 28.836 3039
+-100.028 28.836 3040
+-99.902 28.836 2972
+-99.776 28.836 2939
+-99.65 28.836 2940
+-99.524 28.836 2935
+-99.398 28.836 2937
+-99.272 28.836 2798
+-99.146 28.836 2794
+-99.02 28.836 2789
+-98.894 28.836 2784
+-98.768 28.836 2779
+-98.642 28.836 2774
+-98.516 28.836 2769
+-98.39 28.836 2763
+-98.264 28.836 2757
+-98.138 28.836 2751
+-98.012 28.836 2684
+-97.886 28.836 2626
+-97.76 28.836 2619
+-97.634 28.836 2563
+-97.508 28.836 2538
+-97.382 28.836 2540
+-97.256 28.836 2487
+-97.13 28.836 2382
+-97.004 28.836 2376
+-96.878 28.836 2370
+-96.752 28.836 2326
+-96.626 28.836 2306
+-96.5 28.836 2311
+-96.374 28.836 2279
+-96.248 28.836 2232
+-96.122 28.836 2274
+-95.996 28.836 2338
+-95.87 28.836 2376
+-95.744 28.836 2377
+-95.618 28.836 2419
+-95.492 28.836 2416
+-95.366 28.836 2479
+-95.24 28.836 2484
+-95.114 28.836 2485
+-94.988 28.836 2490
+-94.862 28.836 2496
+-94.736 28.836 2536
+-94.61 28.836 2542
+-94.484 28.836 2548
+-94.358 28.836 2554
+-94.232 28.836 2560
+-94.106 28.836 2718
+-93.98 28.836 2729
+-93.854 28.836 2737
+-93.728 28.836 2745
+-93.602 28.836 2915
+-93.476 28.836 2918
+-93.35 28.836 2921
+-93.224 28.836 2969
+-93.098 28.836 2971
+-92.972 28.836 3012
+-92.846 28.836 3014
+-92.72 28.836 3205
+-92.594 28.836 3207
+-92.468 28.836 3209
+-92.342 28.836 3211
+-92.216 28.836 3267
+-92.09 28.836 3294
+-91.964 28.836 3295
+-91.838 28.836 3296
+-91.712 28.836 3463
+-91.586 28.836 3464
+-91.46 28.836 3465
+-91.334 28.836 3466
+-91.208 28.836 3467
+-91.082 28.836 3468
+-90.956 28.836 3469
+-90.83 28.836 3570
+-90.704 28.836 3567
+-90.578 28.836 3564
+-90.452 28.836 3586
+-90.326 28.836 3581
+-90.2 28.836 3672
+-90.074 28.836 3666
+-89.948 28.836 3659
+-89.822 28.836 3659
+-89.696 28.836 3649
+-89.57 28.836 3636
+-89.444 28.836 3678
+-89.318 28.836 3653
+-89.192 28.836 3660
+-89.066 28.836 3639
+-88.94 28.836 3577
+-88.814 28.836 3491
+-88.688 28.836 3388
+-88.562 28.836 3235
+-88.436 28.836 3082
+-88.31 28.836 2995
+-88.184 28.836 3142
+-88.058 28.836 3462
+-87.932 28.836 3768
+-87.806 28.836 3985
+-87.68 28.836 4188
+-87.554 28.836 4299
+-87.428 28.836 4405
+-87.302 28.836 4459
+-87.176 28.836 4529
+-87.05 28.836 4638
+-86.924 28.836 4711
+-86.798 28.836 4747
+-86.672 28.836 4766
+-86.546 28.836 4913
+-86.42 28.836 5060
+-86.294 28.836 5193
+-86.168 28.836 5246
+-86.042 28.836 5395
+-85.916 28.836 5561
+-85.79 28.836 5690
+-85.664 28.836 5876
+-85.538 28.836 6030
+-85.412 28.836 6065
+-85.286 28.836 6242
+-85.16 28.836 6373
+-85.034 28.836 6501
+-84.908 28.836 6617
+-84.782 28.836 6745
+-84.656 28.836 6888
+-84.53 28.836 7020
+-84.404 28.836 7136
+-84.278 28.836 7256
+-84.152 28.836 7411
+-84.026 28.836 7558
+-83.9 28.836 7638
+-83.774 28.836 7739
+-83.648 28.836 7925
+-83.522 28.836 7942
+-83.396 28.836 8090
+-83.27 28.836 8230
+-83.144 28.836 8286
+-83.018 28.836 8353
+-82.892 28.836 8486
+-82.766 28.836 8543
+-82.64 28.836 8613
+-82.514 28.836 8644
+-82.388 28.836 8692
+-82.262 28.836 8701
+-82.136 28.836 8719
+-82.01 28.836 8715
+-81.884 28.836 8687
+-81.758 28.836 8612
+-81.632 28.836 8547
+-81.506 28.836 8456
+-81.38 28.836 8410
+-81.254 28.836 8269
+-81.128 28.836 8146
+-81.002 28.836 8091
+-80.876 28.836 7952
+-80.75 28.836 7933
+-80.624 28.836 7821
+-80.498 28.836 7610
+-80.372 28.836 7517
+-80.246 28.836 7360
+-80.12 28.836 7294
+-79.994 28.836 7141
+-79.868 28.836 6946
+-79.742 28.836 6883
+-79.616 28.836 6817
+-79.49 28.836 6661
+-79.364 28.836 6499
+-79.238 28.836 6331
+-79.112 28.836 6186
+-78.986 28.836 6057
+-78.86 28.836 5905
+-78.734 28.836 5779
+-78.608 28.836 5637
+-78.482 28.836 5563
+-78.356 28.836 5459
+-78.23 28.836 5346
+-78.104 28.836 5240
+-77.978 28.836 5094
+-77.852 28.836 4962
+-77.726 28.836 4748
+-77.6 28.836 4587
+-77.474 28.836 4459
+-77.348 28.836 4419
+-77.222 28.836 4226
+-77.096 28.836 4002
+-76.97 28.836 3873
+-76.844 28.836 3867
+-76.718 28.836 3755
+-76.592 28.836 3627
+-76.466 28.836 3537
+-76.34 28.836 3458
+-76.214 28.836 3417
+-76.088 28.836 3404
+-75.962 28.836 3400
+-75.836 28.836 3428
+-75.71 28.836 3471
+-75.584 28.836 3514
+-75.458 28.836 3552
+-75.332 28.836 3586
+-75.206 28.836 3614
+-75.08 28.836 3539
+-74.954 28.836 3557
+-74.828 28.836 3572
+-74.702 28.836 3586
+-74.576 28.836 3598
+-74.45 28.836 3558
+-74.324 28.836 3564
+-74.198 28.836 3541
+-74.072 28.836 3508
+-73.946 28.836 3510
+-73.82 28.836 3380
+-73.694 28.836 3383
+-73.568 28.836 3383
+-73.442 28.836 3361
+-73.316 28.836 3354
+-73.19 28.836 3353
+-73.064 28.836 3352
+-72.938 28.836 3351
+-72.812 28.836 3351
+-72.686 28.836 3350
+-72.56 28.836 3349
+-72.434 28.836 3309
+-72.308 28.836 3308
+-72.182 28.836 3308
+-72.056 28.836 3267
+-71.93 28.836 3240
+-71.804 28.836 3200
+-71.678 28.836 3198
+-71.552 28.836 3197
+-71.426 28.836 3195
+-71.3 28.836 3194
+-71.174 28.836 3097
+-71.048 28.836 3095
+-70.922 28.836 3094
+-70.796 28.836 3093
+-70.67 28.836 3092
+-70.544 28.836 3092
+-70.418 28.836 3091
+-70.292 28.836 3090
+-70.166 28.836 3089
+-70.04 28.836 3088
+-69.914 28.836 3088
+-69.788 28.836 3087
+-69.662 28.836 3087
+-69.536 28.836 3086
+-69.41 28.836 3085
+-69.284 28.836 3085
+-69.158 28.836 3084
+-69.032 28.836 3084
+-68.906 28.836 3084
+-68.78 28.836 3083
+-68.654 28.836 3083
+-68.528 28.836 3082
+-68.402 28.836 3082
+-68.276 28.836 3082
+-68.15 28.836 3081
+-68.024 28.836 3081
+-67.898 28.836 3081
+-67.772 28.836 3081
+-67.646 28.836 3080
+-67.52 28.836 3080
+-67.394 28.836 3080
+-67.268 28.836 3080
+-67.142 28.836 3079
+-67.016 28.836 3079
+-66.89 28.836 3079
+-66.764 28.836 3079
+-66.638 28.836 3079
+-66.512 28.836 3079
+-66.386 28.836 3078
+-66.26 28.836 3078
+-66.134 28.836 3078
+-66.008 28.836 3078
+-65.882 28.836 3078
+-65.756 28.836 3078
+-65.63 28.836 3078
+-65.504 28.836 3078
+-65.378 28.836 3078
+-65.252 28.836 3077
+-65.126 28.836 3077
+-128 28.784 2498
+-127.874 28.784 2481
+-127.748 28.784 2472
+-127.622 28.784 2454
+-127.496 28.784 2435
+-127.37 28.784 2424
+-127.244 28.784 2423
+-127.118 28.784 2403
+-126.992 28.784 2383
+-126.866 28.784 2363
+-126.74 28.784 2356
+-126.614 28.784 2373
+-126.488 28.784 2357
+-126.362 28.784 2342
+-126.236 28.784 2328
+-126.11 28.784 2316
+-125.984 28.784 2315
+-125.858 28.784 2322
+-125.732 28.784 2320
+-125.606 28.784 2321
+-125.48 28.784 2326
+-125.354 28.784 2336
+-125.228 28.784 2350
+-125.102 28.784 2369
+-124.976 28.784 2400
+-124.85 28.784 2436
+-124.724 28.784 2504
+-124.598 28.784 2515
+-124.472 28.784 2554
+-124.346 28.784 2624
+-124.22 28.784 2668
+-124.094 28.784 2736
+-123.968 28.784 2809
+-123.842 28.784 2856
+-123.716 28.784 2901
+-123.59 28.784 2944
+-123.464 28.784 2985
+-123.338 28.784 3005
+-123.212 28.784 3029
+-123.086 28.784 3084
+-122.96 28.784 3116
+-122.834 28.784 3167
+-122.708 28.784 3169
+-122.582 28.784 3277
+-122.456 28.784 3320
+-122.33 28.784 3320
+-122.204 28.784 3373
+-122.078 28.784 3418
+-121.952 28.784 3440
+-121.826 28.784 3445
+-121.7 28.784 3443
+-121.574 28.784 3435
+-121.448 28.784 3456
+-121.322 28.784 3459
+-121.196 28.784 3458
+-121.07 28.784 3449
+-120.944 28.784 3524
+-120.818 28.784 3631
+-120.692 28.784 3719
+-120.566 28.784 3785
+-120.44 28.784 3873
+-120.314 28.784 3974
+-120.188 28.784 4028
+-120.062 28.784 4119
+-119.936 28.784 4243
+-119.81 28.784 4361
+-119.684 28.784 4448
+-119.558 28.784 4495
+-119.432 28.784 4540
+-119.306 28.784 4606
+-119.18 28.784 4672
+-119.054 28.784 4728
+-118.928 28.784 4775
+-118.802 28.784 4825
+-118.676 28.784 4909
+-118.55 28.784 4906
+-118.424 28.784 4989
+-118.298 28.784 5042
+-118.172 28.784 5078
+-118.046 28.784 5093
+-117.92 28.784 5121
+-117.794 28.784 5171
+-117.668 28.784 5192
+-117.542 28.784 5194
+-117.416 28.784 5218
+-117.29 28.784 5234
+-117.164 28.784 5229
+-117.038 28.784 5215
+-116.912 28.784 5226
+-116.786 28.784 5221
+-116.66 28.784 5200
+-116.534 28.784 5210
+-116.408 28.784 5188
+-116.282 28.784 5150
+-116.156 28.784 5119
+-116.03 28.784 5106
+-115.904 28.784 5087
+-115.778 28.784 5054
+-115.652 28.784 5028
+-115.526 28.784 5001
+-115.4 28.784 4950
+-115.274 28.784 4848
+-115.148 28.784 4775
+-115.022 28.784 4709
+-114.896 28.784 4658
+-114.77 28.784 4589
+-114.644 28.784 4516
+-114.518 28.784 4460
+-114.392 28.784 4422
+-114.266 28.784 4415
+-114.14 28.784 4478
+-114.014 28.784 4548
+-113.888 28.784 4661
+-113.762 28.784 4775
+-113.636 28.784 4837
+-113.51 28.784 4960
+-113.384 28.784 5054
+-113.258 28.784 5102
+-113.132 28.784 5204
+-113.006 28.784 5302
+-112.88 28.784 5389
+-112.754 28.784 5469
+-112.628 28.784 5575
+-112.502 28.784 5686
+-112.376 28.784 5756
+-112.25 28.784 5843
+-112.124 28.784 5909
+-111.998 28.784 5943
+-111.872 28.784 6023
+-111.746 28.784 6090
+-111.62 28.784 6113
+-111.494 28.784 6152
+-111.368 28.784 6211
+-111.242 28.784 6258
+-111.116 28.784 6318
+-110.99 28.784 6342
+-110.864 28.784 6344
+-110.738 28.784 6367
+-110.612 28.784 6389
+-110.486 28.784 6385
+-110.36 28.784 6427
+-110.234 28.784 6416
+-110.108 28.784 6394
+-109.982 28.784 6360
+-109.856 28.784 6332
+-109.73 28.784 6290
+-109.604 28.784 6277
+-109.478 28.784 6249
+-109.352 28.784 6216
+-109.226 28.784 6202
+-109.1 28.784 6109
+-108.974 28.784 6056
+-108.848 28.784 5995
+-108.722 28.784 5899
+-108.596 28.784 5861
+-108.47 28.784 5787
+-108.344 28.784 5719
+-108.218 28.784 5655
+-108.092 28.784 5564
+-107.966 28.784 5451
+-107.84 28.784 5450
+-107.714 28.784 5387
+-107.588 28.784 5324
+-107.462 28.784 5235
+-107.336 28.784 5195
+-107.21 28.784 5056
+-107.084 28.784 4954
+-106.958 28.784 4747
+-106.832 28.784 4574
+-106.706 28.784 4388
+-106.58 28.784 4240
+-106.454 28.784 4101
+-106.328 28.784 3984
+-106.202 28.784 3934
+-106.076 28.784 3929
+-105.95 28.784 3858
+-105.824 28.784 3785
+-105.698 28.784 3688
+-105.572 28.784 3575
+-105.446 28.784 3452
+-105.32 28.784 3362
+-105.194 28.784 3342
+-105.068 28.784 3331
+-104.942 28.784 3305
+-104.816 28.784 3274
+-104.69 28.784 3268
+-104.564 28.784 3279
+-104.438 28.784 3264
+-104.312 28.784 3288
+-104.186 28.784 3320
+-104.06 28.784 3352
+-103.934 28.784 3381
+-103.808 28.784 3369
+-103.682 28.784 3373
+-103.556 28.784 3357
+-103.43 28.784 3364
+-103.304 28.784 3293
+-103.178 28.784 3290
+-103.052 28.784 3296
+-102.926 28.784 3301
+-102.8 28.784 3306
+-102.674 28.784 3309
+-102.548 28.784 3312
+-102.422 28.784 3314
+-102.296 28.784 3316
+-102.17 28.784 3318
+-102.044 28.784 3254
+-101.918 28.784 3269
+-101.792 28.784 3270
+-101.666 28.784 3271
+-101.54 28.784 3272
+-101.414 28.784 3273
+-101.288 28.784 3159
+-101.162 28.784 3128
+-101.036 28.784 3118
+-100.91 28.784 3120
+-100.784 28.784 3122
+-100.658 28.784 3092
+-100.532 28.784 3094
+-100.406 28.784 3095
+-100.28 28.784 3040
+-100.154 28.784 3040
+-100.028 28.784 3041
+-99.902 28.784 3041
+-99.776 28.784 2974
+-99.65 28.784 2940
+-99.524 28.784 2942
+-99.398 28.784 2937
+-99.272 28.784 2938
+-99.146 28.784 2795
+-99.02 28.784 2791
+-98.894 28.784 2786
+-98.768 28.784 2782
+-98.642 28.784 2777
+-98.516 28.784 2771
+-98.39 28.784 2766
+-98.264 28.784 2760
+-98.138 28.784 2755
+-98.012 28.784 2688
+-97.886 28.784 2680
+-97.76 28.784 2623
+-97.634 28.784 2567
+-97.508 28.784 2542
+-97.382 28.784 2498
+-97.256 28.784 2538
+-97.13 28.784 2431
+-97.004 28.784 2380
+-96.878 28.784 2411
+-96.752 28.784 2327
+-96.626 28.784 2296
+-96.5 28.784 2271
+-96.374 28.784 2226
+-96.248 28.784 2274
+-96.122 28.784 2265
+-95.996 28.784 2283
+-95.87 28.784 2351
+-95.744 28.784 2420
+-95.618 28.784 2414
+-95.492 28.784 2423
+-95.366 28.784 2488
+-95.24 28.784 2490
+-95.114 28.784 2495
+-94.988 28.784 2500
+-94.862 28.784 2540
+-94.736 28.784 2546
+-94.61 28.784 2551
+-94.484 28.784 2557
+-94.358 28.784 2563
+-94.232 28.784 2719
+-94.106 28.784 2730
+-93.98 28.784 2737
+-93.854 28.784 2745
+-93.728 28.784 2918
+-93.602 28.784 2921
+-93.476 28.784 2923
+-93.35 28.784 2985
+-93.224 28.784 2987
+-93.098 28.784 3015
+-92.972 28.784 3017
+-92.846 28.784 3207
+-92.72 28.784 3209
+-92.594 28.784 3212
+-92.468 28.784 3214
+-92.342 28.784 3269
+-92.216 28.784 3296
+-92.09 28.784 3323
+-91.964 28.784 3324
+-91.838 28.784 3324
+-91.712 28.784 3466
+-91.586 28.784 3467
+-91.46 28.784 3469
+-91.334 28.784 3470
+-91.208 28.784 3471
+-91.082 28.784 3473
+-90.956 28.784 3509
+-90.83 28.784 3509
+-90.704 28.784 3594
+-90.578 28.784 3600
+-90.452 28.784 3597
+-90.326 28.784 3689
+-90.2 28.784 3684
+-90.074 28.784 3679
+-89.948 28.784 3673
+-89.822 28.784 3666
+-89.696 28.784 3666
+-89.57 28.784 3716
+-89.444 28.784 3698
+-89.318 28.784 3744
+-89.192 28.784 3713
+-89.066 28.784 3673
+-88.94 28.784 3621
+-88.814 28.784 3552
+-88.688 28.784 3491
+-88.562 28.784 3383
+-88.436 28.784 3290
+-88.31 28.784 3297
+-88.184 28.784 3425
+-88.058 28.784 3643
+-87.932 28.784 3864
+-87.806 28.784 4069
+-87.68 28.784 4193
+-87.554 28.784 4302
+-87.428 28.784 4340
+-87.302 28.784 4382
+-87.176 28.784 4426
+-87.05 28.784 4541
+-86.924 28.784 4631
+-86.798 28.784 4741
+-86.672 28.784 4845
+-86.546 28.784 4970
+-86.42 28.784 4990
+-86.294 28.784 5150
+-86.168 28.784 5306
+-86.042 28.784 5449
+-85.916 28.784 5591
+-85.79 28.784 5715
+-85.664 28.784 5897
+-85.538 28.784 6080
+-85.412 28.784 6132
+-85.286 28.784 6275
+-85.16 28.784 6410
+-85.034 28.784 6511
+-84.908 28.784 6607
+-84.782 28.784 6752
+-84.656 28.784 6926
+-84.53 28.784 7030
+-84.404 28.784 7190
+-84.278 28.784 7313
+-84.152 28.784 7417
+-84.026 28.784 7606
+-83.9 28.784 7683
+-83.774 28.784 7766
+-83.648 28.784 7834
+-83.522 28.784 7992
+-83.396 28.784 8187
+-83.27 28.784 8253
+-83.144 28.784 8354
+-83.018 28.784 8462
+-82.892 28.784 8515
+-82.766 28.784 8593
+-82.64 28.784 8653
+-82.514 28.784 8706
+-82.388 28.784 8734
+-82.262 28.784 8770
+-82.136 28.784 8748
+-82.01 28.784 8741
+-81.884 28.784 8698
+-81.758 28.784 8658
+-81.632 28.784 8601
+-81.506 28.784 8538
+-81.38 28.784 8442
+-81.254 28.784 8317
+-81.128 28.784 8208
+-81.002 28.784 8084
+-80.876 28.784 8032
+-80.75 28.784 7993
+-80.624 28.784 7874
+-80.498 28.784 7664
+-80.372 28.784 7473
+-80.246 28.784 7396
+-80.12 28.784 7281
+-79.994 28.784 7150
+-79.868 28.784 7051
+-79.742 28.784 6956
+-79.616 28.784 6812
+-79.49 28.784 6666
+-79.364 28.784 6538
+-79.238 28.784 6302
+-79.112 28.784 6273
+-78.986 28.784 6123
+-78.86 28.784 5940
+-78.734 28.784 5752
+-78.608 28.784 5609
+-78.482 28.784 5514
+-78.356 28.784 5406
+-78.23 28.784 5310
+-78.104 28.784 5225
+-77.978 28.784 5089
+-77.852 28.784 4953
+-77.726 28.784 4778
+-77.6 28.784 4624
+-77.474 28.784 4537
+-77.348 28.784 4435
+-77.222 28.784 4244
+-77.096 28.784 4064
+-76.97 28.784 3930
+-76.844 28.784 3865
+-76.718 28.784 3739
+-76.592 28.784 3593
+-76.466 28.784 3437
+-76.34 28.784 3306
+-76.214 28.784 3358
+-76.088 28.784 3427
+-75.962 28.784 3472
+-75.836 28.784 3496
+-75.71 28.784 3517
+-75.584 28.784 3550
+-75.458 28.784 3580
+-75.332 28.784 3608
+-75.206 28.784 3632
+-75.08 28.784 3549
+-74.954 28.784 3565
+-74.828 28.784 3579
+-74.702 28.784 3592
+-74.576 28.784 3553
+-74.45 28.784 3559
+-74.324 28.784 3537
+-74.198 28.784 3505
+-74.072 28.784 3506
+-73.946 28.784 3507
+-73.82 28.784 3420
+-73.694 28.784 3380
+-73.568 28.784 3358
+-73.442 28.784 3352
+-73.316 28.784 3351
+-73.19 28.784 3350
+-73.064 28.784 3349
+-72.938 28.784 3348
+-72.812 28.784 3347
+-72.686 28.784 3347
+-72.56 28.784 3307
+-72.434 28.784 3307
+-72.308 28.784 3306
+-72.182 28.784 3306
+-72.056 28.784 3267
+-71.93 28.784 3241
+-71.804 28.784 3240
+-71.678 28.784 3239
+-71.552 28.784 3195
+-71.426 28.784 3194
+-71.3 28.784 3193
+-71.174 28.784 3192
+-71.048 28.784 3096
+-70.922 28.784 3095
+-70.796 28.784 3094
+-70.67 28.784 3093
+-70.544 28.784 3092
+-70.418 28.784 3092
+-70.292 28.784 3091
+-70.166 28.784 3090
+-70.04 28.784 3089
+-69.914 28.784 3089
+-69.788 28.784 3088
+-69.662 28.784 3087
+-69.536 28.784 3087
+-69.41 28.784 3086
+-69.284 28.784 3086
+-69.158 28.784 3085
+-69.032 28.784 3085
+-68.906 28.784 3084
+-68.78 28.784 3084
+-68.654 28.784 3084
+-68.528 28.784 3083
+-68.402 28.784 3083
+-68.276 28.784 3083
+-68.15 28.784 3082
+-68.024 28.784 3082
+-67.898 28.784 3082
+-67.772 28.784 3081
+-67.646 28.784 3081
+-67.52 28.784 3081
+-67.394 28.784 3081
+-67.268 28.784 3080
+-67.142 28.784 3080
+-67.016 28.784 3080
+-66.89 28.784 3080
+-66.764 28.784 3080
+-66.638 28.784 3079
+-66.512 28.784 3079
+-66.386 28.784 3079
+-66.26 28.784 3079
+-66.134 28.784 3079
+-66.008 28.784 3079
+-65.882 28.784 3079
+-65.756 28.784 3078
+-65.63 28.784 3078
+-65.504 28.784 3078
+-65.378 28.784 3078
+-65.252 28.784 3078
+-65.126 28.784 3078
+-128 28.732 2509
+-127.874 28.732 2502
+-127.748 28.732 2485
+-127.622 28.732 2468
+-127.496 28.732 2459
+-127.37 28.732 2460
+-127.244 28.732 2442
+-127.118 28.732 2425
+-126.992 28.732 2407
+-126.866 28.732 2400
+-126.74 28.732 2420
+-126.614 28.732 2405
+-126.488 28.732 2392
+-126.362 28.732 2380
+-126.236 28.732 2369
+-126.11 28.732 2369
+-125.984 28.732 2374
+-125.858 28.732 2371
+-125.732 28.732 2371
+-125.606 28.732 2375
+-125.48 28.732 2382
+-125.354 28.732 2392
+-125.228 28.732 2407
+-125.102 28.732 2433
+-124.976 28.732 2463
+-124.85 28.732 2527
+-124.724 28.732 2531
+-124.598 28.732 2565
+-124.472 28.732 2630
+-124.346 28.732 2668
+-124.22 28.732 2730
+-124.094 28.732 2800
+-123.968 28.732 2842
+-123.842 28.732 2884
+-123.716 28.732 2925
+-123.59 28.732 2964
+-123.464 28.732 2983
+-123.338 28.732 3008
+-123.212 28.732 3064
+-123.086 28.732 3096
+-122.96 28.732 3148
+-122.834 28.732 3175
+-122.708 28.732 3176
+-122.582 28.732 3283
+-122.456 28.732 3284
+-122.33 28.732 3296
+-122.204 28.732 3315
+-122.078 28.732 3374
+-121.952 28.732 3410
+-121.826 28.732 3407
+-121.7 28.732 3407
+-121.574 28.732 3392
+-121.448 28.732 3391
+-121.322 28.732 3403
+-121.196 28.732 3448
+-121.07 28.732 3500
+-120.944 28.732 3561
+-120.818 28.732 3658
+-120.692 28.732 3720
+-120.566 28.732 3748
+-120.44 28.732 3821
+-120.314 28.732 3964
+-120.188 28.732 4018
+-120.062 28.732 4056
+-119.936 28.732 4187
+-119.81 28.732 4284
+-119.684 28.732 4371
+-119.558 28.732 4422
+-119.432 28.732 4429
+-119.306 28.732 4492
+-119.18 28.732 4556
+-119.054 28.732 4631
+-118.928 28.732 4699
+-118.802 28.732 4762
+-118.676 28.732 4847
+-118.55 28.732 4882
+-118.424 28.732 4919
+-118.298 28.732 4965
+-118.172 28.732 5010
+-118.046 28.732 5033
+-117.92 28.732 5060
+-117.794 28.732 5103
+-117.668 28.732 5120
+-117.542 28.732 5134
+-117.416 28.732 5151
+-117.29 28.732 5169
+-117.164 28.732 5168
+-117.038 28.732 5139
+-116.912 28.732 5187
+-116.786 28.732 5195
+-116.66 28.732 5187
+-116.534 28.732 5165
+-116.408 28.732 5128
+-116.282 28.732 5081
+-116.156 28.732 5052
+-116.03 28.732 5058
+-115.904 28.732 5031
+-115.778 28.732 4978
+-115.652 28.732 4981
+-115.526 28.732 4949
+-115.4 28.732 4859
+-115.274 28.732 4790
+-115.148 28.732 4744
+-115.022 28.732 4678
+-114.896 28.732 4613
+-114.77 28.732 4504
+-114.644 28.732 4413
+-114.518 28.732 4366
+-114.392 28.732 4341
+-114.266 28.732 4359
+-114.14 28.732 4410
+-114.014 28.732 4499
+-113.888 28.732 4575
+-113.762 28.732 4719
+-113.636 28.732 4739
+-113.51 28.732 4872
+-113.384 28.732 4989
+-113.258 28.732 5055
+-113.132 28.732 5135
+-113.006 28.732 5229
+-112.88 28.732 5330
+-112.754 28.732 5437
+-112.628 28.732 5517
+-112.502 28.732 5605
+-112.376 28.732 5701
+-112.25 28.732 5782
+-112.124 28.732 5839
+-111.998 28.732 5898
+-111.872 28.732 5985
+-111.746 28.732 6038
+-111.62 28.732 6109
+-111.494 28.732 6117
+-111.368 28.732 6161
+-111.242 28.732 6216
+-111.116 28.732 6264
+-110.99 28.732 6285
+-110.864 28.732 6306
+-110.738 28.732 6302
+-110.612 28.732 6330
+-110.486 28.732 6350
+-110.36 28.732 6368
+-110.234 28.732 6350
+-110.108 28.732 6327
+-109.982 28.732 6336
+-109.856 28.732 6272
+-109.73 28.732 6238
+-109.604 28.732 6219
+-109.478 28.732 6201
+-109.352 28.732 6172
+-109.226 28.732 6143
+-109.1 28.732 6060
+-108.974 28.732 6002
+-108.848 28.732 5937
+-108.722 28.732 5887
+-108.596 28.732 5806
+-108.47 28.732 5732
+-108.344 28.732 5667
+-108.218 28.732 5564
+-108.092 28.732 5508
+-107.966 28.732 5448
+-107.84 28.732 5366
+-107.714 28.732 5321
+-107.588 28.732 5224
+-107.462 28.732 5104
+-107.336 28.732 5064
+-107.21 28.732 5008
+-107.084 28.732 4876
+-106.958 28.732 4664
+-106.832 28.732 4511
+-106.706 28.732 4346
+-106.58 28.732 4195
+-106.454 28.732 4085
+-106.328 28.732 3979
+-106.202 28.732 3923
+-106.076 28.732 3872
+-105.95 28.732 3809
+-105.824 28.732 3731
+-105.698 28.732 3643
+-105.572 28.732 3501
+-105.446 28.732 3318
+-105.32 28.732 3212
+-105.194 28.732 3232
+-105.068 28.732 3243
+-104.942 28.732 3203
+-104.816 28.732 3155
+-104.69 28.732 3146
+-104.564 28.732 3185
+-104.438 28.732 3238
+-104.312 28.732 3253
+-104.186 28.732 3293
+-104.06 28.732 3333
+-103.934 28.732 3332
+-103.808 28.732 3360
+-103.682 28.732 3385
+-103.556 28.732 3389
+-103.43 28.732 3370
+-103.304 28.732 3375
+-103.178 28.732 3301
+-103.052 28.732 3298
+-102.926 28.732 3303
+-102.8 28.732 3308
+-102.674 28.732 3311
+-102.548 28.732 3315
+-102.422 28.732 3317
+-102.296 28.732 3320
+-102.17 28.732 3322
+-102.044 28.732 3323
+-101.918 28.732 3259
+-101.792 28.732 3274
+-101.666 28.732 3275
+-101.54 28.732 3276
+-101.414 28.732 3277
+-101.288 28.732 3278
+-101.162 28.732 3162
+-101.036 28.732 3131
+-100.91 28.732 3121
+-100.784 28.732 3122
+-100.658 28.732 3124
+-100.532 28.732 3094
+-100.406 28.732 3096
+-100.28 28.732 3097
+-100.154 28.732 3042
+-100.028 28.732 3042
+-99.902 28.732 3042
+-99.776 28.732 3043
+-99.65 28.732 2975
+-99.524 28.732 2942
+-99.398 28.732 2944
+-99.272 28.732 2938
+-99.146 28.732 2940
+-99.02 28.732 2793
+-98.894 28.732 2788
+-98.768 28.732 2784
+-98.642 28.732 2779
+-98.516 28.732 2774
+-98.39 28.732 2769
+-98.264 28.732 2763
+-98.138 28.732 2758
+-98.012 28.732 2691
+-97.886 28.732 2684
+-97.76 28.732 2677
+-97.634 28.732 2571
+-97.508 28.732 2546
+-97.382 28.732 2502
+-97.256 28.732 2425
+-97.13 28.732 2477
+-97.004 28.732 2429
+-96.878 28.732 2376
+-96.752 28.732 2338
+-96.626 28.732 2335
+-96.5 28.732 2310
+-96.374 28.732 2271
+-96.248 28.732 2266
+-96.122 28.732 2271
+-95.996 28.732 2275
+-95.87 28.732 2345
+-95.744 28.732 2415
+-95.618 28.732 2425
+-95.492 28.732 2431
+-95.366 28.732 2494
+-95.24 28.732 2499
+-95.114 28.732 2504
+-94.988 28.732 2544
+-94.862 28.732 2549
+-94.736 28.732 2555
+-94.61 28.732 2561
+-94.484 28.732 2566
+-94.358 28.732 2720
+-94.232 28.732 2763
+-94.106 28.732 2770
+-93.98 28.732 2778
+-93.854 28.732 2945
+-93.728 28.732 2923
+-93.602 28.732 2950
+-93.476 28.732 2988
+-93.35 28.732 2990
+-93.224 28.732 3017
+-93.098 28.732 3019
+-92.972 28.732 3210
+-92.846 28.732 3212
+-92.72 28.732 3214
+-92.594 28.732 3216
+-92.468 28.732 3270
+-92.342 28.732 3324
+-92.216 28.732 3325
+-92.09 28.732 3326
+-91.964 28.732 3326
+-91.838 28.732 3327
+-91.712 28.732 3328
+-91.586 28.732 3470
+-91.46 28.732 3472
+-91.334 28.732 3473
+-91.208 28.732 3475
+-91.082 28.732 3542
+-90.956 28.732 3542
+-90.83 28.732 3542
+-90.704 28.732 3542
+-90.578 28.732 3623
+-90.452 28.732 3620
+-90.326 28.732 3700
+-90.2 28.732 3727
+-90.074 28.732 3722
+-89.948 28.732 3717
+-89.822 28.732 3710
+-89.696 28.732 3738
+-89.57 28.732 3726
+-89.444 28.732 3754
+-89.318 28.732 3771
+-89.192 28.732 3745
+-89.066 28.732 3714
+-88.94 28.732 3675
+-88.814 28.732 3640
+-88.688 28.732 3599
+-88.562 28.732 3543
+-88.436 28.732 3520
+-88.31 28.732 3575
+-88.184 28.732 3665
+-88.058 28.732 3852
+-87.932 28.732 3997
+-87.806 28.732 4124
+-87.68 28.732 4209
+-87.554 28.732 4247
+-87.428 28.732 4286
+-87.302 28.732 4296
+-87.176 28.732 4307
+-87.05 28.732 4440
+-86.924 28.732 4529
+-86.798 28.732 4652
+-86.672 28.732 4846
+-86.546 28.732 4990
+-86.42 28.732 5047
+-86.294 28.732 5175
+-86.168 28.732 5359
+-86.042 28.732 5530
+-85.916 28.732 5618
+-85.79 28.732 5734
+-85.664 28.732 5934
+-85.538 28.732 6050
+-85.412 28.732 6168
+-85.286 28.732 6307
+-85.16 28.732 6383
+-85.034 28.732 6511
+-84.908 28.732 6675
+-84.782 28.732 6843
+-84.656 28.732 6920
+-84.53 28.732 7082
+-84.404 28.732 7236
+-84.278 28.732 7287
+-84.152 28.732 7403
+-84.026 28.732 7559
+-83.9 28.732 7702
+-83.774 28.732 7838
+-83.648 28.732 7923
+-83.522 28.732 8061
+-83.396 28.732 8153
+-83.27 28.732 8263
+-83.144 28.732 8393
+-83.018 28.732 8500
+-82.892 28.732 8613
+-82.766 28.732 8649
+-82.64 28.732 8720
+-82.514 28.732 8751
+-82.388 28.732 8792
+-82.262 28.732 8808
+-82.136 28.732 8837
+-82.01 28.732 8784
+-81.884 28.732 8782
+-81.758 28.732 8683
+-81.632 28.732 8661
+-81.506 28.732 8578
+-81.38 28.732 8440
+-81.254 28.732 8366
+-81.128 28.732 8277
+-81.002 28.732 8158
+-80.876 28.732 8070
+-80.75 28.732 7936
+-80.624 28.732 7926
+-80.498 28.732 7764
+-80.372 28.732 7521
+-80.246 28.732 7410
+-80.12 28.732 7275
+-79.994 28.732 7187
+-79.868 28.732 7025
+-79.742 28.732 6983
+-79.616 28.732 6814
+-79.49 28.732 6698
+-79.364 28.732 6579
+-79.238 28.732 6459
+-79.112 28.732 6343
+-78.986 28.732 6162
+-78.86 28.732 5911
+-78.734 28.732 5730
+-78.608 28.732 5578
+-78.482 28.732 5464
+-78.356 28.732 5358
+-78.23 28.732 5253
+-78.104 28.732 5197
+-77.978 28.732 5063
+-77.852 28.732 4977
+-77.726 28.732 4769
+-77.6 28.732 4596
+-77.474 28.732 4591
+-77.348 28.732 4459
+-77.222 28.732 4284
+-77.096 28.732 4124
+-76.97 28.732 3976
+-76.844 28.732 3839
+-76.718 28.732 3651
+-76.592 28.732 3509
+-76.466 28.732 3357
+-76.34 28.732 3130
+-76.214 28.732 3283
+-76.088 28.732 3441
+-75.962 28.732 3509
+-75.836 28.732 3553
+-75.71 28.732 3572
+-75.584 28.732 3602
+-75.458 28.732 3630
+-75.332 28.732 3654
+-75.206 28.732 3677
+-75.08 28.732 3671
+-74.954 28.732 3575
+-74.828 28.732 3587
+-74.702 28.732 3549
+-74.576 28.732 3556
+-74.45 28.732 3534
+-74.324 28.732 3502
+-74.198 28.732 3503
+-74.072 28.732 3503
+-73.946 28.732 3416
+-73.82 28.732 3417
+-73.694 28.732 3385
+-73.568 28.732 3353
+-73.442 28.732 3349
+-73.316 28.732 3348
+-73.19 28.732 3347
+-73.064 28.732 3346
+-72.938 28.732 3345
+-72.812 28.732 3344
+-72.686 28.732 3306
+-72.56 28.732 3305
+-72.434 28.732 3305
+-72.308 28.732 3304
+-72.182 28.732 3265
+-72.056 28.732 3239
+-71.93 28.732 3238
+-71.804 28.732 3238
+-71.678 28.732 3237
+-71.552 28.732 3237
+-71.426 28.732 3236
+-71.3 28.732 3236
+-71.174 28.732 3235
+-71.048 28.732 3235
+-70.922 28.732 3096
+-70.796 28.732 3095
+-70.67 28.732 3094
+-70.544 28.732 3093
+-70.418 28.732 3092
+-70.292 28.732 3092
+-70.166 28.732 3091
+-70.04 28.732 3090
+-69.914 28.732 3089
+-69.788 28.732 3089
+-69.662 28.732 3088
+-69.536 28.732 3088
+-69.41 28.732 3087
+-69.284 28.732 3087
+-69.158 28.732 3086
+-69.032 28.732 3086
+-68.906 28.732 3085
+-68.78 28.732 3085
+-68.654 28.732 3084
+-68.528 28.732 3084
+-68.402 28.732 3084
+-68.276 28.732 3083
+-68.15 28.732 3083
+-68.024 28.732 3083
+-67.898 28.732 3082
+-67.772 28.732 3082
+-67.646 28.732 3082
+-67.52 28.732 3082
+-67.394 28.732 3081
+-67.268 28.732 3081
+-67.142 28.732 3081
+-67.016 28.732 3081
+-66.89 28.732 3081
+-66.764 28.732 3080
+-66.638 28.732 3080
+-66.512 28.732 3080
+-66.386 28.732 3080
+-66.26 28.732 3080
+-66.134 28.732 3080
+-66.008 28.732 3079
+-65.882 28.732 3079
+-65.756 28.732 3079
+-65.63 28.732 3079
+-65.504 28.732 3079
+-65.378 28.732 3079
+-65.252 28.732 3079
+-65.126 28.732 3079
+-128 28.68 2529
+-127.874 28.68 2514
+-127.748 28.68 2498
+-127.622 28.68 2491
+-127.496 28.68 2493
+-127.37 28.68 2477
+-127.244 28.68 2462
+-127.118 28.68 2446
+-126.992 28.68 2438
+-126.866 28.68 2461
+-126.74 28.68 2448
+-126.614 28.68 2436
+-126.488 28.68 2425
+-126.362 28.68 2415
+-126.236 28.68 2416
+-126.11 28.68 2420
+-125.984 28.68 2417
+-125.858 28.68 2416
+-125.732 28.68 2418
+-125.606 28.68 2423
+-125.48 28.68 2431
+-125.354 28.68 2442
+-125.228 28.68 2464
+-125.102 28.68 2490
+-124.976 28.68 2552
+-124.85 28.68 2549
+-124.724 28.68 2578
+-124.598 28.68 2638
+-124.472 28.68 2672
+-124.346 28.68 2729
+-124.22 28.68 2795
+-124.094 28.68 2833
+-123.968 28.68 2871
+-123.842 28.68 2909
+-123.716 28.68 2946
+-123.59 28.68 2964
+-123.464 28.68 2989
+-123.338 28.68 3044
+-123.212 28.68 3076
+-123.086 28.68 3129
+-122.96 28.68 3156
+-122.834 28.68 3156
+-122.708 28.68 3254
+-122.582 28.68 3274
+-122.456 28.68 3286
+-122.33 28.68 3303
+-122.204 28.68 3368
+-122.078 28.68 3405
+-121.952 28.68 3394
+-121.826 28.68 3365
+-121.7 28.68 3340
+-121.574 28.68 3305
+-121.448 28.68 3267
+-121.322 28.68 3276
+-121.196 28.68 3344
+-121.07 28.68 3468
+-120.944 28.68 3572
+-120.818 28.68 3664
+-120.692 28.68 3716
+-120.566 28.68 3717
+-120.44 28.68 3777
+-120.314 28.68 3922
+-120.188 28.68 3998
+-120.062 28.68 4029
+-119.936 28.68 4116
+-119.81 28.68 4226
+-119.684 28.68 4321
+-119.558 28.68 4369
+-119.432 28.68 4350
+-119.306 28.68 4438
+-119.18 28.68 4517
+-119.054 28.68 4553
+-118.928 28.68 4631
+-118.802 28.68 4693
+-118.676 28.68 4765
+-118.55 28.68 4791
+-118.424 28.68 4832
+-118.298 28.68 4886
+-118.172 28.68 4936
+-118.046 28.68 4962
+-117.92 28.68 4989
+-117.794 28.68 5039
+-117.668 28.68 5055
+-117.542 28.68 5082
+-117.416 28.68 5075
+-117.29 28.68 5094
+-117.164 28.68 5102
+-117.038 28.68 5127
+-116.912 28.68 5132
+-116.786 28.68 5151
+-116.66 28.68 5132
+-116.534 28.68 5096
+-116.408 28.68 5061
+-116.282 28.68 5028
+-116.156 28.68 5004
+-116.03 28.68 5006
+-115.904 28.68 4960
+-115.778 28.68 4903
+-115.652 28.68 4922
+-115.526 28.68 4892
+-115.4 28.68 4801
+-115.274 28.68 4731
+-115.148 28.68 4721
+-115.022 28.68 4634
+-114.896 28.68 4529
+-114.77 28.68 4419
+-114.644 28.68 4373
+-114.518 28.68 4334
+-114.392 28.68 4283
+-114.266 28.68 4304
+-114.14 28.68 4374
+-114.014 28.68 4449
+-113.888 28.68 4514
+-113.762 28.68 4660
+-113.636 28.68 4754
+-113.51 28.68 4844
+-113.384 28.68 4977
+-113.258 28.68 5023
+-113.132 28.68 5073
+-113.006 28.68 5210
+-112.88 28.68 5282
+-112.754 28.68 5371
+-112.628 28.68 5463
+-112.502 28.68 5573
+-112.376 28.68 5597
+-112.25 28.68 5744
+-112.124 28.68 5768
+-111.998 28.68 5867
+-111.872 28.68 5950
+-111.746 28.68 5989
+-111.62 28.68 6023
+-111.494 28.68 6074
+-111.368 28.68 6131
+-111.242 28.68 6171
+-111.116 28.68 6201
+-110.99 28.68 6243
+-110.864 28.68 6246
+-110.738 28.68 6251
+-110.612 28.68 6253
+-110.486 28.68 6276
+-110.36 28.68 6309
+-110.234 28.68 6294
+-110.108 28.68 6276
+-109.982 28.68 6260
+-109.856 28.68 6229
+-109.73 28.68 6228
+-109.604 28.68 6204
+-109.478 28.68 6146
+-109.352 28.68 6103
+-109.226 28.68 6069
+-109.1 28.68 5987
+-108.974 28.68 5958
+-108.848 28.68 5898
+-108.722 28.68 5825
+-108.596 28.68 5779
+-108.47 28.68 5714
+-108.344 28.68 5589
+-108.218 28.68 5474
+-108.092 28.68 5450
+-107.966 28.68 5386
+-107.84 28.68 5269
+-107.714 28.68 5254
+-107.588 28.68 5125
+-107.462 28.68 4986
+-107.336 28.68 4984
+-107.21 28.68 4880
+-107.084 28.68 4803
+-106.958 28.68 4639
+-106.832 28.68 4447
+-106.706 28.68 4324
+-106.58 28.68 4204
+-106.454 28.68 4080
+-106.328 28.68 3949
+-106.202 28.68 3854
+-106.076 28.68 3785
+-105.95 28.68 3743
+-105.824 28.68 3690
+-105.698 28.68 3619
+-105.572 28.68 3470
+-105.446 28.68 3241
+-105.32 28.68 3117
+-105.194 28.68 3178
+-105.068 28.68 3171
+-104.942 28.68 3053
+-104.816 28.68 2961
+-104.69 28.68 2976
+-104.564 28.68 3059
+-104.438 28.68 3157
+-104.312 28.68 3242
+-104.186 28.68 3243
+-104.06 28.68 3280
+-103.934 28.68 3319
+-103.808 28.68 3351
+-103.682 28.68 3378
+-103.556 28.68 3401
+-103.43 28.68 3404
+-103.304 28.68 3383
+-103.178 28.68 3386
+-103.052 28.68 3309
+-102.926 28.68 3305
+-102.8 28.68 3310
+-102.674 28.68 3314
+-102.548 28.68 3317
+-102.422 28.68 3320
+-102.296 28.68 3323
+-102.17 28.68 3325
+-102.044 28.68 3327
+-101.918 28.68 3275
+-101.792 28.68 3276
+-101.666 28.68 3278
+-101.54 28.68 3212
+-101.414 28.68 3212
+-101.288 28.68 3212
+-101.162 28.68 3212
+-101.036 28.68 3164
+-100.91 28.68 3132
+-100.784 28.68 3123
+-100.658 28.68 3124
+-100.532 28.68 3126
+-100.406 28.68 3096
+-100.28 28.68 3097
+-100.154 28.68 3098
+-100.028 28.68 3043
+-99.902 28.68 3043
+-99.776 28.68 3044
+-99.65 28.68 3044
+-99.524 28.68 2977
+-99.398 28.68 2943
+-99.272 28.68 2945
+-99.146 28.68 2940
+-99.02 28.68 2941
+-98.894 28.68 2790
+-98.768 28.68 2785
+-98.642 28.68 2781
+-98.516 28.68 2776
+-98.39 28.68 2771
+-98.264 28.68 2766
+-98.138 28.68 2760
+-98.012 28.68 2695
+-97.886 28.68 2688
+-97.76 28.68 2681
+-97.634 28.68 2575
+-97.508 28.68 2514
+-97.382 28.68 2506
+-97.256 28.68 2429
+-97.13 28.68 2489
+-97.004 28.68 2433
+-96.878 28.68 2374
+-96.752 28.68 2339
+-96.626 28.68 2298
+-96.5 28.68 2284
+-96.374 28.68 2263
+-96.248 28.68 2271
+-96.122 28.68 2276
+-95.996 28.68 2287
+-95.87 28.68 2325
+-95.744 28.68 2395
+-95.618 28.68 2433
+-95.492 28.68 2438
+-95.366 28.68 2503
+-95.24 28.68 2508
+-95.114 28.68 2548
+-94.988 28.68 2553
+-94.862 28.68 2558
+-94.736 28.68 2564
+-94.61 28.68 2570
+-94.484 28.68 2591
+-94.358 28.68 2597
+-94.232 28.68 2771
+-94.106 28.68 2779
+-93.98 28.68 2948
+-93.854 28.68 2950
+-93.728 28.68 2953
+-93.602 28.68 2990
+-93.476 28.68 2992
+-93.35 28.68 3019
+-93.224 28.68 3021
+-93.098 28.68 3212
+-92.972 28.68 3213
+-92.846 28.68 3216
+-92.72 28.68 3218
+-92.594 28.68 3280
+-92.468 28.68 3325
+-92.342 28.68 3326
+-92.216 28.68 3327
+-92.09 28.68 3327
+-91.964 28.68 3328
+-91.838 28.68 3329
+-91.712 28.68 3331
+-91.586 28.68 3332
+-91.46 28.68 3499
+-91.334 28.68 3500
+-91.208 28.68 3501
+-91.082 28.68 3503
+-90.956 28.68 3545
+-90.83 28.68 3546
+-90.704 28.68 3546
+-90.578 28.68 3547
+-90.452 28.68 3631
+-90.326 28.68 3627
+-90.2 28.68 3740
+-90.074 28.68 3736
+-89.948 28.68 3732
+-89.822 28.68 3763
+-89.696 28.68 3755
+-89.57 28.68 3771
+-89.444 28.68 3758
+-89.318 28.68 3787
+-89.192 28.68 3797
+-89.066 28.68 3774
+-88.94 28.68 3746
+-88.814 28.68 3716
+-88.688 28.68 3719
+-88.562 28.68 3695
+-88.436 28.68 3691
+-88.31 28.68 3764
+-88.184 28.68 3866
+-88.058 28.68 3949
+-87.932 28.68 4061
+-87.806 28.68 4131
+-87.68 28.68 4187
+-87.554 28.68 4195
+-87.428 28.68 4211
+-87.302 28.68 4236
+-87.176 28.68 4223
+-87.05 28.68 4366
+-86.924 28.68 4469
+-86.798 28.68 4607
+-86.672 28.68 4823
+-86.546 28.68 5001
+-86.42 28.68 5089
+-86.294 28.68 5210
+-86.168 28.68 5380
+-86.042 28.68 5506
+-85.916 28.68 5616
+-85.79 28.68 5782
+-85.664 28.68 5956
+-85.538 28.68 5905
+-85.412 28.68 6129
+-85.286 28.68 6305
+-85.16 28.68 6402
+-85.034 28.68 6511
+-84.908 28.68 6645
+-84.782 28.68 6790
+-84.656 28.68 6939
+-84.53 28.68 7094
+-84.404 28.68 7201
+-84.278 28.68 7342
+-84.152 28.68 7403
+-84.026 28.68 7590
+-83.9 28.68 7712
+-83.774 28.68 7856
+-83.648 28.68 7911
+-83.522 28.68 8092
+-83.396 28.68 8208
+-83.27 28.68 8306
+-83.144 28.68 8409
+-83.018 28.68 8543
+-82.892 28.68 8641
+-82.766 28.68 8704
+-82.64 28.68 8768
+-82.514 28.68 8820
+-82.388 28.68 8873
+-82.262 28.68 8866
+-82.136 28.68 8862
+-82.01 28.68 8860
+-81.884 28.68 8800
+-81.758 28.68 8754
+-81.632 28.68 8707
+-81.506 28.68 8651
+-81.38 28.68 8527
+-81.254 28.68 8423
+-81.128 28.68 8278
+-81.002 28.68 8220
+-80.876 28.68 8051
+-80.75 28.68 7967
+-80.624 28.68 7937
+-80.498 28.68 7791
+-80.372 28.68 7597
+-80.246 28.68 7434
+-80.12 28.68 7323
+-79.994 28.68 7225
+-79.868 28.68 7099
+-79.742 28.68 6986
+-79.616 28.68 6801
+-79.49 28.68 6672
+-79.364 28.68 6525
+-79.238 28.68 6552
+-79.112 28.68 6453
+-78.986 28.68 6203
+-78.86 28.68 5958
+-78.734 28.68 5698
+-78.608 28.68 5536
+-78.482 28.68 5433
+-78.356 28.68 5416
+-78.23 28.68 5312
+-78.104 28.68 5145
+-77.978 28.68 5028
+-77.852 28.68 4984
+-77.726 28.68 4855
+-77.6 28.68 4710
+-77.474 28.68 4601
+-77.348 28.68 4464
+-77.222 28.68 4260
+-77.096 28.68 4110
+-76.97 28.68 4008
+-76.844 28.68 3824
+-76.718 28.68 3587
+-76.592 28.68 3414
+-76.466 28.68 3439
+-76.34 28.68 3325
+-76.214 28.68 3383
+-76.088 28.68 3481
+-75.962 28.68 3559
+-75.836 28.68 3600
+-75.71 28.68 3635
+-75.584 28.68 3636
+-75.458 28.68 3659
+-75.332 28.68 3680
+-75.206 28.68 3676
+-75.08 28.68 3692
+-74.954 28.68 3641
+-74.828 28.68 3547
+-74.702 28.68 3553
+-74.576 28.68 3532
+-74.45 28.68 3499
+-74.324 28.68 3499
+-74.198 28.68 3500
+-74.072 28.68 3411
+-73.946 28.68 3412
+-73.82 28.68 3380
+-73.694 28.68 3380
+-73.568 28.68 3379
+-73.442 28.68 3379
+-73.316 28.68 3344
+-73.19 28.68 3343
+-73.064 28.68 3342
+-72.938 28.68 3341
+-72.812 28.68 3304
+-72.686 28.68 3303
+-72.56 28.68 3303
+-72.434 28.68 3302
+-72.308 28.68 3263
+-72.182 28.68 3237
+-72.056 28.68 3236
+-71.93 28.68 3235
+-71.804 28.68 3235
+-71.678 28.68 3235
+-71.552 28.68 3234
+-71.426 28.68 3234
+-71.3 28.68 3234
+-71.174 28.68 3233
+-71.048 28.68 3233
+-70.922 28.68 3233
+-70.796 28.68 3096
+-70.67 28.68 3095
+-70.544 28.68 3094
+-70.418 28.68 3093
+-70.292 28.68 3092
+-70.166 28.68 3092
+-70.04 28.68 3091
+-69.914 28.68 3090
+-69.788 28.68 3090
+-69.662 28.68 3089
+-69.536 28.68 3088
+-69.41 28.68 3088
+-69.284 28.68 3087
+-69.158 28.68 3087
+-69.032 28.68 3086
+-68.906 28.68 3086
+-68.78 28.68 3086
+-68.654 28.68 3085
+-68.528 28.68 3085
+-68.402 28.68 3084
+-68.276 28.68 3084
+-68.15 28.68 3084
+-68.024 28.68 3083
+-67.898 28.68 3083
+-67.772 28.68 3083
+-67.646 28.68 3083
+-67.52 28.68 3082
+-67.394 28.68 3082
+-67.268 28.68 3082
+-67.142 28.68 3082
+-67.016 28.68 3081
+-66.89 28.68 3081
+-66.764 28.68 3081
+-66.638 28.68 3081
+-66.512 28.68 3081
+-66.386 28.68 3080
+-66.26 28.68 3080
+-66.134 28.68 3080
+-66.008 28.68 3080
+-65.882 28.68 3080
+-65.756 28.68 3080
+-65.63 28.68 3080
+-65.504 28.68 3080
+-65.378 28.68 3079
+-65.252 28.68 3079
+-65.126 28.68 3079
+-128 28.628 2540
+-127.874 28.628 2526
+-127.748 28.628 2520
+-127.622 28.628 2523
+-127.496 28.628 2509
+-127.37 28.628 2495
+-127.244 28.628 2481
+-127.118 28.628 2472
+-126.992 28.628 2497
+-126.866 28.628 2486
+-126.74 28.628 2475
+-126.614 28.628 2465
+-126.488 28.628 2456
+-126.362 28.628 2459
+-126.236 28.628 2461
+-126.11 28.628 2458
+-125.984 28.628 2457
+-125.858 28.628 2458
+-125.732 28.628 2461
+-125.606 28.628 2467
+-125.48 28.628 2475
+-125.354 28.628 2494
+-125.228 28.628 2517
+-125.102 28.628 2576
+-124.976 28.628 2568
+-124.85 28.628 2592
+-124.724 28.628 2649
+-124.598 28.628 2678
+-124.472 28.628 2731
+-124.346 28.628 2793
+-124.22 28.628 2827
+-124.094 28.628 2861
+-123.968 28.628 2896
+-123.842 28.628 2931
+-123.716 28.628 2947
+-123.59 28.628 2972
+-123.464 28.628 3026
+-123.338 28.628 3057
+-123.212 28.628 3110
+-123.086 28.628 3138
+-122.96 28.628 3137
+-122.834 28.628 3246
+-122.708 28.628 3265
+-122.582 28.628 3276
+-122.456 28.628 3294
+-122.33 28.628 3366
+-122.204 28.628 3406
+-122.078 28.628 3395
+-121.952 28.628 3367
+-121.826 28.628 3342
+-121.7 28.628 3300
+-121.574 28.628 3232
+-121.448 28.628 3146
+-121.322 28.628 3096
+-121.196 28.628 3197
+-121.07 28.628 3381
+-120.944 28.628 3532
+-120.818 28.628 3634
+-120.692 28.628 3686
+-120.566 28.628 3728
+-120.44 28.628 3778
+-120.314 28.628 3879
+-120.188 28.628 3945
+-120.062 28.628 3957
+-119.936 28.628 4047
+-119.81 28.628 4159
+-119.684 28.628 4271
+-119.558 28.628 4337
+-119.432 28.628 4350
+-119.306 28.628 4389
+-119.18 28.628 4467
+-119.054 28.628 4511
+-118.928 28.628 4584
+-118.802 28.628 4638
+-118.676 28.628 4697
+-118.55 28.628 4773
+-118.424 28.628 4775
+-118.298 28.628 4835
+-118.172 28.628 4877
+-118.046 28.628 4906
+-117.92 28.628 4920
+-117.794 28.628 4992
+-117.668 28.628 5025
+-117.542 28.628 5025
+-117.416 28.628 5042
+-117.29 28.628 5040
+-117.164 28.628 5075
+-117.038 28.628 5066
+-116.912 28.628 5073
+-116.786 28.628 5063
+-116.66 28.628 5049
+-116.534 28.628 5026
+-116.408 28.628 4996
+-116.282 28.628 4981
+-116.156 28.628 4965
+-116.03 28.628 4924
+-115.904 28.628 4909
+-115.778 28.628 4900
+-115.652 28.628 4885
+-115.526 28.628 4853
+-115.4 28.628 4793
+-115.274 28.628 4742
+-115.148 28.628 4690
+-115.022 28.628 4567
+-114.896 28.628 4472
+-114.77 28.628 4388
+-114.644 28.628 4341
+-114.518 28.628 4274
+-114.392 28.628 4097
+-114.266 28.628 4248
+-114.14 28.628 4342
+-114.014 28.628 4336
+-113.888 28.628 4503
+-113.762 28.628 4637
+-113.636 28.628 4711
+-113.51 28.628 4798
+-113.384 28.628 4905
+-113.258 28.628 5018
+-113.132 28.628 5099
+-113.006 28.628 5184
+-112.88 28.628 5261
+-112.754 28.628 5355
+-112.628 28.628 5425
+-112.502 28.628 5508
+-112.376 28.628 5624
+-112.25 28.628 5654
+-112.124 28.628 5746
+-111.998 28.628 5843
+-111.872 28.628 5909
+-111.746 28.628 5922
+-111.62 28.628 5964
+-111.494 28.628 6012
+-111.368 28.628 6062
+-111.242 28.628 6109
+-111.116 28.628 6141
+-110.99 28.628 6183
+-110.864 28.628 6205
+-110.738 28.628 6209
+-110.612 28.628 6225
+-110.486 28.628 6220
+-110.36 28.628 6249
+-110.234 28.628 6230
+-110.108 28.628 6205
+-109.982 28.628 6194
+-109.856 28.628 6183
+-109.73 28.628 6158
+-109.604 28.628 6131
+-109.478 28.628 6088
+-109.352 28.628 6063
+-109.226 28.628 6016
+-109.1 28.628 5937
+-108.974 28.628 5902
+-108.848 28.628 5842
+-108.722 28.628 5759
+-108.596 28.628 5731
+-108.47 28.628 5651
+-108.344 28.628 5538
+-108.218 28.628 5459
+-108.092 28.628 5379
+-107.966 28.628 5355
+-107.84 28.628 5274
+-107.714 28.628 5173
+-107.588 28.628 5098
+-107.462 28.628 5024
+-107.336 28.628 4919
+-107.21 28.628 4782
+-107.084 28.628 4765
+-106.958 28.628 4583
+-106.832 28.628 4380
+-106.706 28.628 4295
+-106.58 28.628 4208
+-106.454 28.628 4067
+-106.328 28.628 3922
+-106.202 28.628 3789
+-106.076 28.628 3725
+-105.95 28.628 3685
+-105.824 28.628 3668
+-105.698 28.628 3611
+-105.572 28.628 3502
+-105.446 28.628 3322
+-105.32 28.628 3207
+-105.194 28.628 3194
+-105.068 28.628 3091
+-104.942 28.628 2852
+-104.816 28.628 2707
+-104.69 28.628 2781
+-104.564 28.628 2940
+-104.438 28.628 3067
+-104.312 28.628 3176
+-104.186 28.628 3257
+-104.06 28.628 3276
+-103.934 28.628 3309
+-103.808 28.628 3344
+-103.682 28.628 3373
+-103.556 28.628 3397
+-103.43 28.628 3418
+-103.304 28.628 3419
+-103.178 28.628 3395
+-103.052 28.628 3396
+-102.926 28.628 3316
+-102.8 28.628 3312
+-102.674 28.628 3316
+-102.548 28.628 3320
+-102.422 28.628 3323
+-102.296 28.628 3325
+-102.17 28.628 3328
+-102.044 28.628 3273
+-101.918 28.628 3275
+-101.792 28.628 3276
+-101.666 28.628 3278
+-101.54 28.628 3214
+-101.414 28.628 3214
+-101.288 28.628 3214
+-101.162 28.628 3213
+-101.036 28.628 3213
+-100.91 28.628 3165
+-100.784 28.628 3134
+-100.658 28.628 3124
+-100.532 28.628 3126
+-100.406 28.628 3127
+-100.28 28.628 3097
+-100.154 28.628 3099
+-100.028 28.628 3100
+-99.902 28.628 3044
+-99.776 28.628 3045
+-99.65 28.628 3045
+-99.524 28.628 3046
+-99.398 28.628 2977
+-99.272 28.628 2945
+-99.146 28.628 2946
+-99.02 28.628 2941
+-98.894 28.628 2942
+-98.768 28.628 2787
+-98.642 28.628 2783
+-98.516 28.628 2778
+-98.39 28.628 2773
+-98.264 28.628 2768
+-98.138 28.628 2763
+-98.012 28.628 2698
+-97.886 28.628 2691
+-97.76 28.628 2684
+-97.634 28.628 2578
+-97.508 28.628 2517
+-97.382 28.628 2510
+-97.256 28.628 2432
+-97.13 28.628 2493
+-97.004 28.628 2437
+-96.878 28.628 2349
+-96.752 28.628 2343
+-96.626 28.628 2302
+-96.5 28.628 2289
+-96.374 28.628 2268
+-96.248 28.628 2271
+-96.122 28.628 2288
+-95.996 28.628 2293
+-95.87 28.628 2332
+-95.744 28.628 2403
+-95.618 28.628 2441
+-95.492 28.628 2447
+-95.366 28.628 2512
+-95.24 28.628 2551
+-95.114 28.628 2556
+-94.988 28.628 2562
+-94.862 28.628 2567
+-94.736 28.628 2573
+-94.61 28.628 2595
+-94.484 28.628 2601
+-94.358 28.628 2607
+-94.232 28.628 2822
+-94.106 28.628 2951
+-93.98 28.628 2953
+-93.854 28.628 2955
+-93.728 28.628 2992
+-93.602 28.628 2994
+-93.476 28.628 3021
+-93.35 28.628 3023
+-93.224 28.628 3213
+-93.098 28.628 3215
+-92.972 28.628 3272
+-92.846 28.628 3273
+-92.72 28.628 3281
+-92.594 28.628 3329
+-92.468 28.628 3329
+-92.342 28.628 3330
+-92.216 28.628 3331
+-92.09 28.628 3331
+-91.964 28.628 3332
+-91.838 28.628 3334
+-91.712 28.628 3333
+-91.586 28.628 3334
+-91.46 28.628 3519
+-91.334 28.628 3521
+-91.208 28.628 3522
+-91.082 28.628 3523
+-90.956 28.628 3525
+-90.83 28.628 3549
+-90.704 28.628 3550
+-90.578 28.628 3551
+-90.452 28.628 3553
+-90.326 28.628 3639
+-90.2 28.628 3636
+-90.074 28.628 3750
+-89.948 28.628 3801
+-89.822 28.628 3795
+-89.696 28.628 3787
+-89.57 28.628 3791
+-89.444 28.628 3781
+-89.318 28.628 3770
+-89.192 28.628 3821
+-89.066 28.628 3816
+-88.94 28.628 3800
+-88.814 28.628 3799
+-88.688 28.628 3801
+-88.562 28.628 3796
+-88.436 28.628 3857
+-88.31 28.628 3919
+-88.184 28.628 3978
+-88.058 28.628 4027
+-87.932 28.628 4073
+-87.806 28.628 4116
+-87.68 28.628 4127
+-87.554 28.628 4103
+-87.428 28.628 4078
+-87.302 28.628 4170
+-87.176 28.628 4116
+-87.05 28.628 4344
+-86.924 28.628 4498
+-86.798 28.628 4633
+-86.672 28.628 4846
+-86.546 28.628 5038
+-86.42 28.628 5079
+-86.294 28.628 5211
+-86.168 28.628 5360
+-86.042 28.628 5478
+-85.916 28.628 5602
+-85.79 28.628 5768
+-85.664 28.628 5973
+-85.538 28.628 6034
+-85.412 28.628 6126
+-85.286 28.628 6281
+-85.16 28.628 6408
+-85.034 28.628 6545
+-84.908 28.628 6684
+-84.782 28.628 6815
+-84.656 28.628 6960
+-84.53 28.628 7101
+-84.404 28.628 7202
+-84.278 28.628 7339
+-84.152 28.628 7411
+-84.026 28.628 7624
+-83.9 28.628 7743
+-83.774 28.628 7859
+-83.648 28.628 7997
+-83.522 28.628 8095
+-83.396 28.628 8225
+-83.27 28.628 8372
+-83.144 28.628 8494
+-83.018 28.628 8546
+-82.892 28.628 8658
+-82.766 28.628 8776
+-82.64 28.628 8823
+-82.514 28.628 8881
+-82.388 28.628 8938
+-82.262 28.628 8915
+-82.136 28.628 8930
+-82.01 28.628 8914
+-81.884 28.628 8870
+-81.758 28.628 8838
+-81.632 28.628 8743
+-81.506 28.628 8643
+-81.38 28.628 8588
+-81.254 28.628 8453
+-81.128 28.628 8409
+-81.002 28.628 8235
+-80.876 28.628 8165
+-80.75 28.628 8000
+-80.624 28.628 7932
+-80.498 28.628 7805
+-80.372 28.628 7634
+-80.246 28.628 7485
+-80.12 28.628 7369
+-79.994 28.628 7258
+-79.868 28.628 7023
+-79.742 28.628 6994
+-79.616 28.628 6822
+-79.49 28.628 6678
+-79.364 28.628 6664
+-79.238 28.628 6604
+-79.112 28.628 6472
+-78.986 28.628 6242
+-78.86 28.628 6030
+-78.734 28.628 5759
+-78.608 28.628 5566
+-78.482 28.628 5479
+-78.356 28.628 5427
+-78.23 28.628 5321
+-78.104 28.628 5150
+-77.978 28.628 5035
+-77.852 28.628 4938
+-77.726 28.628 4886
+-77.6 28.628 4728
+-77.474 28.628 4577
+-77.348 28.628 4462
+-77.222 28.628 4219
+-77.096 28.628 4039
+-76.97 28.628 4021
+-76.844 28.628 3814
+-76.718 28.628 3637
+-76.592 28.628 3551
+-76.466 28.628 3542
+-76.34 28.628 3522
+-76.214 28.628 3520
+-76.088 28.628 3567
+-75.962 28.628 3617
+-75.836 28.628 3647
+-75.71 28.628 3678
+-75.584 28.628 3686
+-75.458 28.628 3693
+-75.332 28.628 3710
+-75.206 28.628 3726
+-75.08 28.628 3681
+-74.954 28.628 3689
+-74.828 28.628 3696
+-74.702 28.628 3530
+-74.576 28.628 3497
+-74.45 28.628 3497
+-74.324 28.628 3497
+-74.198 28.628 3407
+-74.072 28.628 3407
+-73.946 28.628 3375
+-73.82 28.628 3374
+-73.694 28.628 3374
+-73.568 28.628 3374
+-73.442 28.628 3373
+-73.316 28.628 3376
+-73.19 28.628 3338
+-73.064 28.628 3337
+-72.938 28.628 3301
+-72.812 28.628 3301
+-72.686 28.628 3300
+-72.56 28.628 3300
+-72.434 28.628 3261
+-72.308 28.628 3234
+-72.182 28.628 3234
+-72.056 28.628 3233
+-71.93 28.628 3233
+-71.804 28.628 3232
+-71.678 28.628 3232
+-71.552 28.628 3232
+-71.426 28.628 3231
+-71.3 28.628 3231
+-71.174 28.628 3231
+-71.048 28.628 3231
+-70.922 28.628 3231
+-70.796 28.628 3231
+-70.67 28.628 3095
+-70.544 28.628 3094
+-70.418 28.628 3094
+-70.292 28.628 3093
+-70.166 28.628 3092
+-70.04 28.628 3091
+-69.914 28.628 3091
+-69.788 28.628 3090
+-69.662 28.628 3090
+-69.536 28.628 3089
+-69.41 28.628 3089
+-69.284 28.628 3088
+-69.158 28.628 3088
+-69.032 28.628 3087
+-68.906 28.628 3087
+-68.78 28.628 3086
+-68.654 28.628 3086
+-68.528 28.628 3085
+-68.402 28.628 3085
+-68.276 28.628 3085
+-68.15 28.628 3084
+-68.024 28.628 3084
+-67.898 28.628 3084
+-67.772 28.628 3084
+-67.646 28.628 3083
+-67.52 28.628 3083
+-67.394 28.628 3083
+-67.268 28.628 3083
+-67.142 28.628 3082
+-67.016 28.628 3082
+-66.89 28.628 3082
+-66.764 28.628 3082
+-66.638 28.628 3081
+-66.512 28.628 3081
+-66.386 28.628 3081
+-66.26 28.628 3081
+-66.134 28.628 3081
+-66.008 28.628 3081
+-65.882 28.628 3080
+-65.756 28.628 3080
+-65.63 28.628 3080
+-65.504 28.628 3080
+-65.378 28.628 2988
+-65.252 28.628 2987
+-65.126 28.628 2986
+-128 28.576 2550
+-127.874 28.576 2546
+-127.748 28.576 2550
+-127.622 28.576 2538
+-127.496 28.576 2525
+-127.37 28.576 2512
+-127.244 28.576 2503
+-127.118 28.576 2530
+-126.992 28.576 2520
+-126.866 28.576 2510
+-126.74 28.576 2501
+-126.614 28.576 2493
+-126.488 28.576 2496
+-126.362 28.576 2498
+-126.236 28.576 2495
+-126.11 28.576 2493
+-125.984 28.576 2493
+-125.858 28.576 2495
+-125.732 28.576 2500
+-125.606 28.576 2506
+-125.48 28.576 2523
+-125.354 28.576 2543
+-125.228 28.576 2600
+-125.102 28.576 2587
+-124.976 28.576 2607
+-124.85 28.576 2661
+-124.724 28.576 2686
+-124.598 28.576 2735
+-124.472 28.576 2793
+-124.346 28.576 2824
+-124.22 28.576 2855
+-124.094 28.576 2887
+-123.968 28.576 2918
+-123.842 28.576 2933
+-123.716 28.576 2957
+-123.59 28.576 3010
+-123.464 28.576 3040
+-123.338 28.576 3093
+-123.212 28.576 3120
+-123.086 28.576 3118
+-122.96 28.576 3135
+-122.834 28.576 3257
+-122.708 28.576 3268
+-122.582 28.576 3286
+-122.456 28.576 3350
+-122.33 28.576 3409
+-122.204 28.576 3401
+-122.078 28.576 3376
+-121.952 28.576 3357
+-121.826 28.576 3327
+-121.7 28.576 3275
+-121.574 28.576 3198
+-121.448 28.576 3077
+-121.322 28.576 2994
+-121.196 28.576 3112
+-121.07 28.576 3319
+-120.944 28.576 3481
+-120.818 28.576 3579
+-120.692 28.576 3623
+-120.566 28.576 3678
+-120.44 28.576 3744
+-120.314 28.576 3837
+-120.188 28.576 3904
+-120.062 28.576 3894
+-119.936 28.576 3981
+-119.81 28.576 4114
+-119.684 28.576 4228
+-119.558 28.576 4295
+-119.432 28.576 4279
+-119.306 28.576 4344
+-119.18 28.576 4402
+-119.054 28.576 4450
+-118.928 28.576 4510
+-118.802 28.576 4591
+-118.676 28.576 4641
+-118.55 28.576 4690
+-118.424 28.576 4717
+-118.298 28.576 4769
+-118.172 28.576 4832
+-118.046 28.576 4842
+-117.92 28.576 4878
+-117.794 28.576 4944
+-117.668 28.576 4964
+-117.542 28.576 4960
+-117.416 28.576 4968
+-117.29 28.576 4978
+-117.164 28.576 5011
+-117.038 28.576 5012
+-116.912 28.576 4999
+-116.786 28.576 4987
+-116.66 28.576 4970
+-116.534 28.576 4962
+-116.408 28.576 4958
+-116.282 28.576 4933
+-116.156 28.576 4891
+-116.03 28.576 4852
+-115.904 28.576 4857
+-115.778 28.576 4853
+-115.652 28.576 4826
+-115.526 28.576 4782
+-115.4 28.576 4752
+-115.274 28.576 4692
+-115.148 28.576 4605
+-115.022 28.576 4503
+-114.896 28.576 4423
+-114.77 28.576 4350
+-114.644 28.576 4304
+-114.518 28.576 4248
+-114.392 28.576 4205
+-114.266 28.576 4219
+-114.14 28.576 4298
+-114.014 28.576 4390
+-113.888 28.576 4514
+-113.762 28.576 4586
+-113.636 28.576 4694
+-113.51 28.576 4800
+-113.384 28.576 4836
+-113.258 28.576 4956
+-113.132 28.576 5064
+-113.006 28.576 5160
+-112.88 28.576 5242
+-112.754 28.576 5318
+-112.628 28.576 5399
+-112.502 28.576 5477
+-112.376 28.576 5568
+-112.25 28.576 5633
+-112.124 28.576 5705
+-111.998 28.576 5793
+-111.872 28.576 5856
+-111.746 28.576 5890
+-111.62 28.576 5929
+-111.494 28.576 5971
+-111.368 28.576 6020
+-111.242 28.576 6062
+-111.116 28.576 6099
+-110.99 28.576 6139
+-110.864 28.576 6145
+-110.738 28.576 6179
+-110.612 28.576 6188
+-110.486 28.576 6189
+-110.36 28.576 6203
+-110.234 28.576 6159
+-110.108 28.576 6139
+-109.982 28.576 6123
+-109.856 28.576 6114
+-109.73 28.576 6098
+-109.604 28.576 6089
+-109.478 28.576 6062
+-109.352 28.576 6023
+-109.226 28.576 5952
+-109.1 28.576 5904
+-108.974 28.576 5854
+-108.848 28.576 5808
+-108.722 28.576 5750
+-108.596 28.576 5678
+-108.47 28.576 5588
+-108.344 28.576 5491
+-108.218 28.576 5455
+-108.092 28.576 5386
+-107.966 28.576 5327
+-107.84 28.576 5187
+-107.714 28.576 5064
+-107.588 28.576 5084
+-107.462 28.576 5022
+-107.336 28.576 4919
+-107.21 28.576 4827
+-107.084 28.576 4709
+-106.958 28.576 4532
+-106.832 28.576 4335
+-106.706 28.576 4279
+-106.58 28.576 4221
+-106.454 28.576 4051
+-106.328 28.576 3879
+-106.202 28.576 3743
+-106.076 28.576 3710
+-105.95 28.576 3638
+-105.824 28.576 3648
+-105.698 28.576 3606
+-105.572 28.576 3540
+-105.446 28.576 3428
+-105.32 28.576 3334
+-105.194 28.576 3238
+-105.068 28.576 3036
+-104.942 28.576 2726
+-104.816 28.576 2569
+-104.69 28.576 2681
+-104.564 28.576 2874
+-104.438 28.576 3036
+-104.312 28.576 3159
+-104.186 28.576 3245
+-104.06 28.576 3311
+-103.934 28.576 3315
+-103.808 28.576 3340
+-103.682 28.576 3370
+-103.556 28.576 3395
+-103.43 28.576 3416
+-103.304 28.576 3434
+-103.178 28.576 3433
+-103.052 28.576 3406
+-102.926 28.576 3406
+-102.8 28.576 3323
+-102.674 28.576 3318
+-102.548 28.576 3322
+-102.422 28.576 3325
+-102.296 28.576 3264
+-102.17 28.576 3271
+-102.044 28.576 3273
+-101.918 28.576 3274
+-101.792 28.576 3276
+-101.666 28.576 3277
+-101.54 28.576 3279
+-101.414 28.576 3215
+-101.288 28.576 3215
+-101.162 28.576 3215
+-101.036 28.576 3215
+-100.91 28.576 3215
+-100.784 28.576 3167
+-100.658 28.576 3135
+-100.532 28.576 3125
+-100.406 28.576 3127
+-100.28 28.576 3129
+-100.154 28.576 3099
+-100.028 28.576 3100
+-99.902 28.576 3101
+-99.776 28.576 3045
+-99.65 28.576 3045
+-99.524 28.576 3046
+-99.398 28.576 3047
+-99.272 28.576 2978
+-99.146 28.576 2946
+-99.02 28.576 2947
+-98.894 28.576 2942
+-98.768 28.576 2943
+-98.642 28.576 2784
+-98.516 28.576 2780
+-98.39 28.576 2775
+-98.264 28.576 2770
+-98.138 28.576 2765
+-98.012 28.576 2701
+-97.886 28.576 2694
+-97.76 28.576 2688
+-97.634 28.576 2581
+-97.508 28.576 2521
+-97.382 28.576 2514
+-97.256 28.576 2436
+-97.13 28.576 2428
+-97.004 28.576 2441
+-96.878 28.576 2353
+-96.752 28.576 2347
+-96.626 28.576 2306
+-96.5 28.576 2293
+-96.374 28.576 2276
+-96.248 28.576 2275
+-96.122 28.576 2294
+-95.996 28.576 2292
+-95.87 28.576 2339
+-95.744 28.576 2431
+-95.618 28.576 2449
+-95.492 28.576 2456
+-95.366 28.576 2575
+-95.24 28.576 2580
+-95.114 28.576 2585
+-94.988 28.576 2590
+-94.862 28.576 2595
+-94.736 28.576 2599
+-94.61 28.576 2604
+-94.484 28.576 2610
+-94.358 28.576 2823
+-94.232 28.576 2953
+-94.106 28.576 2955
+-93.98 28.576 2958
+-93.854 28.576 2994
+-93.728 28.576 2996
+-93.602 28.576 3023
+-93.476 28.576 3025
+-93.35 28.576 3271
+-93.224 28.576 3272
+-93.098 28.576 3273
+-92.972 28.576 3274
+-92.846 28.576 3329
+-92.72 28.576 3329
+-92.594 28.576 3330
+-92.468 28.576 3331
+-92.342 28.576 3331
+-92.216 28.576 3332
+-92.09 28.576 3333
+-91.964 28.576 3334
+-91.838 28.576 3335
+-91.712 28.576 3337
+-91.586 28.576 3518
+-91.46 28.576 3519
+-91.334 28.576 3521
+-91.208 28.576 3522
+-91.082 28.576 3524
+-90.956 28.576 3526
+-90.83 28.576 3528
+-90.704 28.576 3567
+-90.578 28.576 3569
+-90.452 28.576 3570
+-90.326 28.576 3614
+-90.2 28.576 3614
+-90.074 28.576 3732
+-89.948 28.576 3814
+-89.822 28.576 3809
+-89.696 28.576 3804
+-89.57 28.576 3798
+-89.444 28.576 3813
+-89.318 28.576 3861
+-89.192 28.576 3852
+-89.066 28.576 3843
+-88.94 28.576 3863
+-88.814 28.576 3855
+-88.688 28.576 3876
+-88.562 28.576 3920
+-88.436 28.576 3968
+-88.31 28.576 4001
+-88.184 28.576 4024
+-88.058 28.576 4051
+-87.932 28.576 4077
+-87.806 28.576 4094
+-87.68 28.576 4095
+-87.554 28.576 4020
+-87.428 28.576 3905
+-87.302 28.576 4110
+-87.176 28.576 4253
+-87.05 28.576 4422
+-86.924 28.576 4530
+-86.798 28.576 4633
+-86.672 28.576 4863
+-86.546 28.576 5037
+-86.42 28.576 5095
+-86.294 28.576 5243
+-86.168 28.576 5251
+-86.042 28.576 5438
+-85.916 28.576 5635
+-85.79 28.576 5741
+-85.664 28.576 5963
+-85.538 28.576 6089
+-85.412 28.576 6208
+-85.286 28.576 6346
+-85.16 28.576 6406
+-85.034 28.576 6569
+-84.908 28.576 6676
+-84.782 28.576 6833
+-84.656 28.576 6937
+-84.53 28.576 7090
+-84.404 28.576 7204
+-84.278 28.576 7306
+-84.152 28.576 7433
+-84.026 28.576 7648
+-83.9 28.576 7825
+-83.774 28.576 7890
+-83.648 28.576 8076
+-83.522 28.576 8134
+-83.396 28.576 8309
+-83.27 28.576 8402
+-83.144 28.576 8556
+-83.018 28.576 8640
+-82.892 28.576 8703
+-82.766 28.576 8796
+-82.64 28.576 8913
+-82.514 28.576 8937
+-82.388 28.576 8965
+-82.262 28.576 9016
+-82.136 28.576 8998
+-82.01 28.576 8963
+-81.884 28.576 8924
+-81.758 28.576 8874
+-81.632 28.576 8799
+-81.506 28.576 8747
+-81.38 28.576 8631
+-81.254 28.576 8491
+-81.128 28.576 8408
+-81.002 28.576 8269
+-80.876 28.576 8136
+-80.75 28.576 7988
+-80.624 28.576 7914
+-80.498 28.576 7754
+-80.372 28.576 7642
+-80.246 28.576 7541
+-80.12 28.576 7390
+-79.994 28.576 7303
+-79.868 28.576 7100
+-79.742 28.576 7015
+-79.616 28.576 6867
+-79.49 28.576 6700
+-79.364 28.576 6688
+-79.238 28.576 6600
+-79.112 28.576 6436
+-78.986 28.576 6255
+-78.86 28.576 6089
+-78.734 28.576 5802
+-78.608 28.576 5584
+-78.482 28.576 5581
+-78.356 28.576 5519
+-78.23 28.576 5302
+-78.104 28.576 5112
+-77.978 28.576 5043
+-77.852 28.576 4906
+-77.726 28.576 4847
+-77.6 28.576 4680
+-77.474 28.576 4453
+-77.348 28.576 4497
+-77.222 28.576 4310
+-77.096 28.576 4148
+-76.97 28.576 4025
+-76.844 28.576 3764
+-76.718 28.576 3572
+-76.592 28.576 3637
+-76.466 28.576 3648
+-76.34 28.576 3628
+-76.214 28.576 3633
+-76.088 28.576 3653
+-75.962 28.576 3670
+-75.836 28.576 3696
+-75.71 28.576 3720
+-75.584 28.576 3741
+-75.458 28.576 3760
+-75.332 28.576 3737
+-75.206 28.576 3690
+-75.08 28.576 3696
+-74.954 28.576 3702
+-74.828 28.576 3707
+-74.702 28.576 3495
+-74.576 28.576 3494
+-74.45 28.576 3493
+-74.324 28.576 3402
+-74.198 28.576 3402
+-74.072 28.576 3369
+-73.946 28.576 3369
+-73.82 28.576 3368
+-73.694 28.576 3368
+-73.568 28.576 3367
+-73.442 28.576 3370
+-73.316 28.576 3371
+-73.19 28.576 3349
+-73.064 28.576 3349
+-72.938 28.576 3298
+-72.812 28.576 3298
+-72.686 28.576 3297
+-72.56 28.576 3258
+-72.434 28.576 3231
+-72.308 28.576 3231
+-72.182 28.576 3230
+-72.056 28.576 3230
+-71.93 28.576 3230
+-71.804 28.576 3229
+-71.678 28.576 3229
+-71.552 28.576 3229
+-71.426 28.576 3229
+-71.3 28.576 3229
+-71.174 28.576 3229
+-71.048 28.576 3229
+-70.922 28.576 3229
+-70.796 28.576 3229
+-70.67 28.576 3229
+-70.544 28.576 3095
+-70.418 28.576 3094
+-70.292 28.576 3093
+-70.166 28.576 3093
+-70.04 28.576 3092
+-69.914 28.576 3091
+-69.788 28.576 3091
+-69.662 28.576 3090
+-69.536 28.576 3090
+-69.41 28.576 3089
+-69.284 28.576 3089
+-69.158 28.576 3088
+-69.032 28.576 3088
+-68.906 28.576 3087
+-68.78 28.576 3087
+-68.654 28.576 3087
+-68.528 28.576 3086
+-68.402 28.576 3086
+-68.276 28.576 3085
+-68.15 28.576 3085
+-68.024 28.576 3085
+-67.898 28.576 3084
+-67.772 28.576 3084
+-67.646 28.576 3084
+-67.52 28.576 3084
+-67.394 28.576 3083
+-67.268 28.576 3083
+-67.142 28.576 3083
+-67.016 28.576 3083
+-66.89 28.576 3083
+-66.764 28.576 3082
+-66.638 28.576 3082
+-66.512 28.576 3082
+-66.386 28.576 3082
+-66.26 28.576 3082
+-66.134 28.576 2992
+-66.008 28.576 2991
+-65.882 28.576 2990
+-65.756 28.576 2990
+-65.63 28.576 2989
+-65.504 28.576 2988
+-65.378 28.576 2987
+-65.252 28.576 2986
+-65.126 28.576 2985
+-128 28.524 2570
+-127.874 28.524 2575
+-127.748 28.524 2563
+-127.622 28.524 2552
+-127.496 28.524 2540
+-127.37 28.524 2530
+-127.244 28.524 2559
+-127.118 28.524 2550
+-126.992 28.524 2541
+-126.866 28.524 2533
+-126.74 28.524 2526
+-126.614 28.524 2530
+-126.488 28.524 2530
+-126.362 28.524 2527
+-126.236 28.524 2526
+-126.11 28.524 2525
+-125.984 28.524 2527
+-125.858 28.524 2530
+-125.732 28.524 2535
+-125.606 28.524 2549
+-125.48 28.524 2567
+-125.354 28.524 2624
+-125.228 28.524 2605
+-125.102 28.524 2623
+-124.976 28.524 2674
+-124.85 28.524 2696
+-124.724 28.524 2741
+-124.598 28.524 2796
+-124.472 28.524 2823
+-124.346 28.524 2851
+-124.22 28.524 2880
+-124.094 28.524 2909
+-123.968 28.524 2921
+-123.842 28.524 2944
+-123.716 28.524 2995
+-123.59 28.524 3024
+-123.464 28.524 3076
+-123.338 28.524 3103
+-123.212 28.524 3101
+-123.086 28.524 3118
+-122.96 28.524 3141
+-122.834 28.524 3260
+-122.708 28.524 3278
+-122.582 28.524 3350
+-122.456 28.524 3413
+-122.33 28.524 3406
+-122.204 28.524 3384
+-122.078 28.524 3372
+-121.952 28.524 3354
+-121.826 28.524 3323
+-121.7 28.524 3287
+-121.574 28.524 3218
+-121.448 28.524 3135
+-121.322 28.524 3090
+-121.196 28.524 3181
+-121.07 28.524 3344
+-120.944 28.524 3464
+-120.818 28.524 3533
+-120.692 28.524 3549
+-120.566 28.524 3560
+-120.44 28.524 3645
+-120.314 28.524 3786
+-120.188 28.524 3876
+-120.062 28.524 3930
+-119.936 28.524 4003
+-119.81 28.524 4090
+-119.684 28.524 4176
+-119.558 28.524 4244
+-119.432 28.524 4291
+-119.306 28.524 4334
+-119.18 28.524 4357
+-119.054 28.524 4424
+-118.928 28.524 4485
+-118.802 28.524 4538
+-118.676 28.524 4605
+-118.55 28.524 4630
+-118.424 28.524 4662
+-118.298 28.524 4700
+-118.172 28.524 4762
+-118.046 28.524 4826
+-117.92 28.524 4849
+-117.794 28.524 4887
+-117.668 28.524 4916
+-117.542 28.524 4901
+-117.416 28.524 4906
+-117.29 28.524 4936
+-117.164 28.524 4943
+-117.038 28.524 4943
+-116.912 28.524 4924
+-116.786 28.524 4921
+-116.66 28.524 4926
+-116.534 28.524 4928
+-116.408 28.524 4923
+-116.282 28.524 4888
+-116.156 28.524 4850
+-116.03 28.524 4832
+-115.904 28.524 4830
+-115.778 28.524 4790
+-115.652 28.524 4742
+-115.526 28.524 4693
+-115.4 28.524 4656
+-115.274 28.524 4605
+-115.148 28.524 4500
+-115.022 28.524 4425
+-114.896 28.524 4346
+-114.77 28.524 4278
+-114.644 28.524 4238
+-114.518 28.524 4207
+-114.392 28.524 4172
+-114.266 28.524 4118
+-114.14 28.524 4209
+-114.014 28.524 4342
+-113.888 28.524 4482
+-113.762 28.524 4601
+-113.636 28.524 4668
+-113.51 28.524 4764
+-113.384 28.524 4831
+-113.258 28.524 4890
+-113.132 28.524 5013
+-113.006 28.524 5114
+-112.88 28.524 5196
+-112.754 28.524 5254
+-112.628 28.524 5328
+-112.502 28.524 5393
+-112.376 28.524 5503
+-112.25 28.524 5568
+-112.124 28.524 5648
+-111.998 28.524 5747
+-111.872 28.524 5798
+-111.746 28.524 5800
+-111.62 28.524 5861
+-111.494 28.524 5923
+-111.368 28.524 5990
+-111.242 28.524 6029
+-111.116 28.524 6038
+-110.99 28.524 6076
+-110.864 28.524 6123
+-110.738 28.524 6135
+-110.612 28.524 6128
+-110.486 28.524 6128
+-110.36 28.524 6115
+-110.234 28.524 6115
+-110.108 28.524 6127
+-109.982 28.524 6083
+-109.856 28.524 6080
+-109.73 28.524 6076
+-109.604 28.524 6049
+-109.478 28.524 5998
+-109.352 28.524 5944
+-109.226 28.524 5900
+-109.1 28.524 5844
+-108.974 28.524 5773
+-108.848 28.524 5751
+-108.722 28.524 5670
+-108.596 28.524 5585
+-108.47 28.524 5516
+-108.344 28.524 5456
+-108.218 28.524 5396
+-108.092 28.524 5306
+-107.966 28.524 5293
+-107.84 28.524 5173
+-107.714 28.524 5102
+-107.588 28.524 5049
+-107.462 28.524 4975
+-107.336 28.524 4887
+-107.21 28.524 4788
+-107.084 28.524 4647
+-106.958 28.524 4499
+-106.832 28.524 4336
+-106.706 28.524 4274
+-106.58 28.524 4186
+-106.454 28.524 4030
+-106.328 28.524 3861
+-106.202 28.524 3729
+-106.076 28.524 3676
+-105.95 28.524 3655
+-105.824 28.524 3592
+-105.698 28.524 3584
+-105.572 28.524 3558
+-105.446 28.524 3498
+-105.32 28.524 3403
+-105.194 28.524 3286
+-105.068 28.524 3078
+-104.942 28.524 2824
+-104.816 28.524 2694
+-104.69 28.524 2765
+-104.564 28.524 2917
+-104.438 28.524 3059
+-104.312 28.524 3168
+-104.186 28.524 3254
+-104.06 28.524 3313
+-103.934 28.524 3363
+-103.808 28.524 3353
+-103.682 28.524 3370
+-103.556 28.524 3395
+-103.43 28.524 3415
+-103.304 28.524 3433
+-103.178 28.524 3396
+-103.052 28.524 3409
+-102.926 28.524 3416
+-102.8 28.524 3415
+-102.674 28.524 3329
+-102.548 28.524 3324
+-102.422 28.524 3264
+-102.296 28.524 3265
+-102.17 28.524 3265
+-102.044 28.524 3272
+-101.918 28.524 3274
+-101.792 28.524 3275
+-101.666 28.524 3277
+-101.54 28.524 3278
+-101.414 28.524 3280
+-101.288 28.524 3216
+-101.162 28.524 3216
+-101.036 28.524 3216
+-100.91 28.524 3216
+-100.784 28.524 3216
+-100.658 28.524 3168
+-100.532 28.524 3136
+-100.406 28.524 3127
+-100.28 28.524 3128
+-100.154 28.524 3130
+-100.028 28.524 3100
+-99.902 28.524 3101
+-99.776 28.524 3102
+-99.65 28.524 3046
+-99.524 28.524 3046
+-99.398 28.524 3047
+-99.272 28.524 3047
+-99.146 28.524 2979
+-99.02 28.524 2947
+-98.894 28.524 2948
+-98.768 28.524 2943
+-98.642 28.524 2944
+-98.516 28.524 2782
+-98.39 28.524 2777
+-98.264 28.524 2773
+-98.138 28.524 2768
+-98.012 28.524 2704
+-97.886 28.524 2697
+-97.76 28.524 2691
+-97.634 28.524 2584
+-97.508 28.524 2524
+-97.382 28.524 2517
+-97.256 28.524 2439
+-97.13 28.524 2431
+-97.004 28.524 2445
+-96.878 28.524 2385
+-96.752 28.524 2316
+-96.626 28.524 2310
+-96.5 28.524 2298
+-96.374 28.524 2281
+-96.248 28.524 2306
+-96.122 28.524 2293
+-95.996 28.524 2298
+-95.87 28.524 2346
+-95.744 28.524 2440
+-95.618 28.524 2458
+-95.492 28.524 2464
+-95.366 28.524 2523
+-95.24 28.524 2589
+-95.114 28.524 2594
+-94.988 28.524 2599
+-94.862 28.524 2603
+-94.736 28.524 2608
+-94.61 28.524 2613
+-94.484 28.524 2825
+-94.358 28.524 2955
+-94.232 28.524 2958
+-94.106 28.524 2960
+-93.98 28.524 2996
+-93.854 28.524 2998
+-93.728 28.524 3024
+-93.602 28.524 3026
+-93.476 28.524 3281
+-93.35 28.524 3282
+-93.224 28.524 3283
+-93.098 28.524 3284
+-92.972 28.524 3330
+-92.846 28.524 3330
+-92.72 28.524 3330
+-92.594 28.524 3331
+-92.468 28.524 3332
+-92.342 28.524 3332
+-92.216 28.524 3333
+-92.09 28.524 3334
+-91.964 28.524 3335
+-91.838 28.524 3337
+-91.712 28.524 3535
+-91.586 28.524 3536
+-91.46 28.524 3538
+-91.334 28.524 3539
+-91.208 28.524 3541
+-91.082 28.524 3542
+-90.956 28.524 3544
+-90.83 28.524 3547
+-90.704 28.524 3549
+-90.578 28.524 3572
+-90.452 28.524 3615
+-90.326 28.524 3617
+-90.2 28.524 3748
+-90.074 28.524 3750
+-89.948 28.524 3751
+-89.822 28.524 3823
+-89.696 28.524 3820
+-89.57 28.524 3839
+-89.444 28.524 3835
+-89.318 28.524 3830
+-89.192 28.524 3879
+-89.066 28.524 3891
+-88.94 28.524 3887
+-88.814 28.524 3892
+-88.688 28.524 3967
+-88.562 28.524 3986
+-88.436 28.524 3987
+-88.31 28.524 4028
+-88.184 28.524 4036
+-88.058 28.524 4046
+-87.932 28.524 4060
+-87.806 28.524 4075
+-87.68 28.524 4086
+-87.554 28.524 4066
+-87.428 28.524 4048
+-87.302 28.524 4171
+-87.176 28.524 4336
+-87.05 28.524 4458
+-86.924 28.524 4540
+-86.798 28.524 4689
+-86.672 28.524 4888
+-86.546 28.524 5025
+-86.42 28.524 5011
+-86.294 28.524 5236
+-86.168 28.524 5399
+-86.042 28.524 5515
+-85.916 28.524 5622
+-85.79 28.524 5770
+-85.664 28.524 5980
+-85.538 28.524 6082
+-85.412 28.524 6205
+-85.286 28.524 6321
+-85.16 28.524 6421
+-85.034 28.524 6547
+-84.908 28.524 6698
+-84.782 28.524 6856
+-84.656 28.524 7041
+-84.53 28.524 7164
+-84.404 28.524 7283
+-84.278 28.524 7439
+-84.152 28.524 7471
+-84.026 28.524 7677
+-83.9 28.524 7847
+-83.774 28.524 7967
+-83.648 28.524 8003
+-83.522 28.524 8159
+-83.396 28.524 8307
+-83.27 28.524 8437
+-83.144 28.524 8582
+-83.018 28.524 8642
+-82.892 28.524 8777
+-82.766 28.524 8823
+-82.64 28.524 8901
+-82.514 28.524 8998
+-82.388 28.524 8992
+-82.262 28.524 9062
+-82.136 28.524 9080
+-82.01 28.524 9022
+-81.884 28.524 9003
+-81.758 28.524 8894
+-81.632 28.524 8849
+-81.506 28.524 8794
+-81.38 28.524 8624
+-81.254 28.524 8535
+-81.128 28.524 8426
+-81.002 28.524 8320
+-80.876 28.524 8176
+-80.75 28.524 8009
+-80.624 28.524 7967
+-80.498 28.524 7791
+-80.372 28.524 7679
+-80.246 28.524 7563
+-80.12 28.524 7407
+-79.994 28.524 7280
+-79.868 28.524 7091
+-79.742 28.524 7041
+-79.616 28.524 6889
+-79.49 28.524 6766
+-79.364 28.524 6681
+-79.238 28.524 6565
+-79.112 28.524 6395
+-78.986 28.524 6214
+-78.86 28.524 6107
+-78.734 28.524 5876
+-78.608 28.524 5658
+-78.482 28.524 5548
+-78.356 28.524 5472
+-78.23 28.524 5287
+-78.104 28.524 5168
+-77.978 28.524 5059
+-77.852 28.524 4951
+-77.726 28.524 4800
+-77.6 28.524 4665
+-77.474 28.524 4612
+-77.348 28.524 4549
+-77.222 28.524 4421
+-77.096 28.524 4264
+-76.97 28.524 4110
+-76.844 28.524 3865
+-76.718 28.524 3717
+-76.592 28.524 3733
+-76.466 28.524 3746
+-76.34 28.524 3738
+-76.214 28.524 3720
+-76.088 28.524 3718
+-75.962 28.524 3731
+-75.836 28.524 3747
+-75.71 28.524 3763
+-75.584 28.524 3778
+-75.458 28.524 3792
+-75.332 28.524 3740
+-75.206 28.524 3707
+-75.08 28.524 3711
+-74.954 28.524 3700
+-74.828 28.524 3495
+-74.702 28.524 3492
+-74.576 28.524 3482
+-74.45 28.524 3480
+-74.324 28.524 3397
+-74.198 28.524 3375
+-74.072 28.524 3374
+-73.946 28.524 3373
+-73.82 28.524 3373
+-73.694 28.524 3373
+-73.568 28.524 3365
+-73.442 28.524 3365
+-73.316 28.524 3343
+-73.19 28.524 3343
+-73.064 28.524 3344
+-72.938 28.524 3344
+-72.812 28.524 3294
+-72.686 28.524 3254
+-72.56 28.524 3228
+-72.434 28.524 3228
+-72.308 28.524 3227
+-72.182 28.524 3227
+-72.056 28.524 3227
+-71.93 28.524 3227
+-71.804 28.524 3226
+-71.678 28.524 3226
+-71.552 28.524 3226
+-71.426 28.524 3226
+-71.3 28.524 3226
+-71.174 28.524 3226
+-71.048 28.524 3226
+-70.922 28.524 3227
+-70.796 28.524 3227
+-70.67 28.524 3227
+-70.544 28.524 3227
+-70.418 28.524 3094
+-70.292 28.524 3094
+-70.166 28.524 3093
+-70.04 28.524 3092
+-69.914 28.524 3092
+-69.788 28.524 3091
+-69.662 28.524 3091
+-69.536 28.524 3090
+-69.41 28.524 3090
+-69.284 28.524 3089
+-69.158 28.524 3089
+-69.032 28.524 3088
+-68.906 28.524 3088
+-68.78 28.524 3087
+-68.654 28.524 3087
+-68.528 28.524 3087
+-68.402 28.524 3086
+-68.276 28.524 3086
+-68.15 28.524 3086
+-68.024 28.524 3085
+-67.898 28.524 3085
+-67.772 28.524 3085
+-67.646 28.524 3085
+-67.52 28.524 3084
+-67.394 28.524 3084
+-67.268 28.524 3084
+-67.142 28.524 3084
+-67.016 28.524 2999
+-66.89 28.524 2998
+-66.764 28.524 2996
+-66.638 28.524 2995
+-66.512 28.524 2994
+-66.386 28.524 2993
+-66.26 28.524 2992
+-66.134 28.524 2991
+-66.008 28.524 2990
+-65.882 28.524 2990
+-65.756 28.524 2989
+-65.63 28.524 2988
+-65.504 28.524 2987
+-65.378 28.524 2986
+-65.252 28.524 2985
+-65.126 28.524 2985
+-128 28.472 2598
+-127.874 28.472 2587
+-127.748 28.472 2576
+-127.622 28.472 2566
+-127.496 28.472 2555
+-127.37 28.472 2585
+-127.244 28.472 2577
+-127.118 28.472 2569
+-126.992 28.472 2562
+-126.866 28.472 2555
+-126.74 28.472 2560
+-126.614 28.472 2560
+-126.488 28.472 2557
+-126.362 28.472 2555
+-126.236 28.472 2554
+-126.11 28.472 2555
+-125.984 28.472 2557
+-125.858 28.472 2561
+-125.732 28.472 2574
+-125.606 28.472 2590
+-125.48 28.472 2646
+-125.354 28.472 2624
+-125.228 28.472 2639
+-125.102 28.472 2688
+-124.976 28.472 2706
+-124.85 28.472 2748
+-124.724 28.472 2801
+-124.598 28.472 2825
+-124.472 28.472 2850
+-124.346 28.472 2876
+-124.22 28.472 2902
+-124.094 28.472 2912
+-123.968 28.472 2933
+-123.842 28.472 2983
+-123.716 28.472 3010
+-123.59 28.472 3062
+-123.464 28.472 3087
+-123.338 28.472 3084
+-123.212 28.472 3094
+-123.086 28.472 3125
+-122.96 28.472 3147
+-122.834 28.472 3167
+-122.708 28.472 3350
+-122.582 28.472 3416
+-122.456 28.472 3411
+-122.33 28.472 3373
+-122.204 28.472 3354
+-122.078 28.472 3372
+-121.952 28.472 3353
+-121.826 28.472 3341
+-121.7 28.472 3309
+-121.574 28.472 3268
+-121.448 28.472 3245
+-121.322 28.472 3237
+-121.196 28.472 3288
+-121.07 28.472 3386
+-120.944 28.472 3459
+-120.818 28.472 3496
+-120.692 28.472 3504
+-120.566 28.472 3500
+-120.44 28.472 3563
+-120.314 28.472 3705
+-120.188 28.472 3812
+-120.062 28.472 3898
+-119.936 28.472 3998
+-119.81 28.472 4039
+-119.684 28.472 4061
+-119.558 28.472 4161
+-119.432 28.472 4250
+-119.306 28.472 4301
+-119.18 28.472 4347
+-119.054 28.472 4398
+-118.928 28.472 4450
+-118.802 28.472 4502
+-118.676 28.472 4565
+-118.55 28.472 4596
+-118.424 28.472 4668
+-118.298 28.472 4675
+-118.172 28.472 4700
+-118.046 28.472 4773
+-117.92 28.472 4808
+-117.794 28.472 4840
+-117.668 28.472 4878
+-117.542 28.472 4887
+-117.416 28.472 4887
+-117.29 28.472 4879
+-117.164 28.472 4885
+-117.038 28.472 4884
+-116.912 28.472 4883
+-116.786 28.472 4883
+-116.66 28.472 4877
+-116.534 28.472 4864
+-116.408 28.472 4843
+-116.282 28.472 4825
+-116.156 28.472 4775
+-116.03 28.472 4743
+-115.904 28.472 4733
+-115.778 28.472 4692
+-115.652 28.472 4631
+-115.526 28.472 4586
+-115.4 28.472 4567
+-115.274 28.472 4510
+-115.148 28.472 4416
+-115.022 28.472 4360
+-114.896 28.472 4280
+-114.77 28.472 4229
+-114.644 28.472 4191
+-114.518 28.472 4152
+-114.392 28.472 4130
+-114.266 28.472 4058
+-114.14 28.472 4162
+-114.014 28.472 4280
+-113.888 28.472 4415
+-113.762 28.472 4537
+-113.636 28.472 4655
+-113.51 28.472 4748
+-113.384 28.472 4832
+-113.258 28.472 4886
+-113.132 28.472 4982
+-113.006 28.472 5067
+-112.88 28.472 5138
+-112.754 28.472 5213
+-112.628 28.472 5270
+-112.502 28.472 5336
+-112.376 28.472 5422
+-112.25 28.472 5546
+-112.124 28.472 5612
+-111.998 28.472 5699
+-111.872 28.472 5749
+-111.746 28.472 5737
+-111.62 28.472 5857
+-111.494 28.472 5858
+-111.368 28.472 5909
+-111.242 28.472 5952
+-111.116 28.472 5963
+-110.99 28.472 5991
+-110.864 28.472 6051
+-110.738 28.472 6078
+-110.612 28.472 6063
+-110.486 28.472 6068
+-110.36 28.472 6069
+-110.234 28.472 6064
+-110.108 28.472 6055
+-109.982 28.472 6031
+-109.856 28.472 6027
+-109.73 28.472 6004
+-109.604 28.472 5972
+-109.478 28.472 5913
+-109.352 28.472 5875
+-109.226 28.472 5849
+-109.1 28.472 5802
+-108.974 28.472 5755
+-108.848 28.472 5657
+-108.722 28.472 5610
+-108.596 28.472 5503
+-108.47 28.472 5452
+-108.344 28.472 5432
+-108.218 28.472 5353
+-108.092 28.472 5305
+-107.966 28.472 5251
+-107.84 28.472 5143
+-107.714 28.472 5075
+-107.588 28.472 4994
+-107.462 28.472 4895
+-107.336 28.472 4815
+-107.21 28.472 4733
+-107.084 28.472 4610
+-106.958 28.472 4466
+-106.832 28.472 4349
+-106.706 28.472 4255
+-106.58 28.472 4133
+-106.454 28.472 4002
+-106.328 28.472 3872
+-106.202 28.472 3753
+-106.076 28.472 3693
+-105.95 28.472 3609
+-105.824 28.472 3476
+-105.698 28.472 3548
+-105.572 28.472 3575
+-105.446 28.472 3531
+-105.32 28.472 3439
+-105.194 28.472 3331
+-105.068 28.472 3187
+-104.942 28.472 3015
+-104.816 28.472 2919
+-104.69 28.472 2937
+-104.564 28.472 3019
+-104.438 28.472 3121
+-104.312 28.472 3207
+-104.186 28.472 3273
+-104.06 28.472 3331
+-103.934 28.472 3371
+-103.808 28.472 3408
+-103.682 28.472 3386
+-103.556 28.472 3396
+-103.43 28.472 3416
+-103.304 28.472 3434
+-103.178 28.472 3449
+-103.052 28.472 3408
+-102.926 28.472 3419
+-102.8 28.472 3367
+-102.674 28.472 3361
+-102.548 28.472 3358
+-102.422 28.472 3264
+-102.296 28.472 3265
+-102.17 28.472 3266
+-102.044 28.472 3266
+-101.918 28.472 3273
+-101.792 28.472 3274
+-101.666 28.472 3276
+-101.54 28.472 3278
+-101.414 28.472 3279
+-101.288 28.472 3280
+-101.162 28.472 3217
+-101.036 28.472 3217
+-100.91 28.472 3217
+-100.784 28.472 3217
+-100.658 28.472 3217
+-100.532 28.472 3169
+-100.406 28.472 3137
+-100.28 28.472 3127
+-100.154 28.472 3129
+-100.028 28.472 3131
+-99.902 28.472 3100
+-99.776 28.472 3102
+-99.65 28.472 3103
+-99.524 28.472 3046
+-99.398 28.472 3047
+-99.272 28.472 3047
+-99.146 28.472 3048
+-99.02 28.472 2979
+-98.894 28.472 2948
+-98.768 28.472 2949
+-98.642 28.472 2943
+-98.516 28.472 2945
+-98.39 28.472 2779
+-98.264 28.472 2774
+-98.138 28.472 2770
+-98.012 28.472 2706
+-97.886 28.472 2700
+-97.76 28.472 2694
+-97.634 28.472 2587
+-97.508 28.472 2527
+-97.382 28.472 2521
+-97.256 28.472 2442
+-97.13 28.472 2435
+-97.004 28.472 2448
+-96.878 28.472 2389
+-96.752 28.472 2319
+-96.626 28.472 2313
+-96.5 28.472 2302
+-96.374 28.472 2285
+-96.248 28.472 2311
+-96.122 28.472 2299
+-95.996 28.472 2304
+-95.87 28.472 2352
+-95.744 28.472 2448
+-95.618 28.472 2466
+-95.492 28.472 2472
+-95.366 28.472 2532
+-95.24 28.472 2536
+-95.114 28.472 2602
+-94.988 28.472 2606
+-94.862 28.472 2611
+-94.736 28.472 2617
+-94.61 28.472 2827
+-94.484 28.472 2958
+-94.358 28.472 2960
+-94.232 28.472 2962
+-94.106 28.472 2998
+-93.98 28.472 2999
+-93.854 28.472 3026
+-93.728 28.472 3027
+-93.602 28.472 3282
+-93.476 28.472 3283
+-93.35 28.472 3284
+-93.224 28.472 3285
+-93.098 28.472 3330
+-92.972 28.472 3330
+-92.846 28.472 3331
+-92.72 28.472 3331
+-92.594 28.472 3332
+-92.468 28.472 3332
+-92.342 28.472 3333
+-92.216 28.472 3334
+-92.09 28.472 3335
+-91.964 28.472 3336
+-91.838 28.472 3534
+-91.712 28.472 3535
+-91.586 28.472 3536
+-91.46 28.472 3537
+-91.334 28.472 3538
+-91.208 28.472 3540
+-91.082 28.472 3542
+-90.956 28.472 3545
+-90.83 28.472 3547
+-90.704 28.472 3550
+-90.578 28.472 3591
+-90.452 28.472 3593
+-90.326 28.472 3723
+-90.2 28.472 3751
+-90.074 28.472 3754
+-89.948 28.472 3757
+-89.822 28.472 3759
+-89.696 28.472 3842
+-89.57 28.472 3857
+-89.444 28.472 3854
+-89.318 28.472 3925
+-89.192 28.472 3921
+-89.066 28.472 3919
+-88.94 28.472 3922
+-88.814 28.472 3969
+-88.688 28.472 3985
+-88.562 28.472 4014
+-88.436 28.472 4009
+-88.31 28.472 4002
+-88.184 28.472 4026
+-88.058 28.472 4016
+-87.932 28.472 4012
+-87.806 28.472 4032
+-87.68 28.472 4067
+-87.554 28.472 4101
+-87.428 28.472 4153
+-87.302 28.472 4244
+-87.176 28.472 4375
+-87.05 28.472 4479
+-86.924 28.472 4570
+-86.798 28.472 4718
+-86.672 28.472 4906
+-86.546 28.472 5064
+-86.42 28.472 5145
+-86.294 28.472 5323
+-86.168 28.472 5479
+-86.042 28.472 5538
+-85.916 28.472 5633
+-85.79 28.472 5771
+-85.664 28.472 5963
+-85.538 28.472 6114
+-85.412 28.472 6128
+-85.286 28.472 6328
+-85.16 28.472 6478
+-85.034 28.472 6632
+-84.908 28.472 6764
+-84.782 28.472 6868
+-84.656 28.472 7109
+-84.53 28.472 7178
+-84.404 28.472 7331
+-84.278 28.472 7396
+-84.152 28.472 7501
+-84.026 28.472 7632
+-83.9 28.472 7825
+-83.774 28.472 7957
+-83.648 28.472 8069
+-83.522 28.472 8171
+-83.396 28.472 8324
+-83.27 28.472 8431
+-83.144 28.472 8588
+-83.018 28.472 8711
+-82.892 28.472 8812
+-82.766 28.472 8874
+-82.64 28.472 8992
+-82.514 28.472 9019
+-82.388 28.472 9096
+-82.262 28.472 9104
+-82.136 28.472 9118
+-82.01 28.472 9090
+-81.884 28.472 9043
+-81.758 28.472 8965
+-81.632 28.472 8888
+-81.506 28.472 8780
+-81.38 28.472 8687
+-81.254 28.472 8562
+-81.128 28.472 8404
+-81.002 28.472 8316
+-80.876 28.472 8179
+-80.75 28.472 8156
+-80.624 28.472 8004
+-80.498 28.472 7834
+-80.372 28.472 7646
+-80.246 28.472 7531
+-80.12 28.472 7400
+-79.994 28.472 7260
+-79.868 28.472 7164
+-79.742 28.472 7039
+-79.616 28.472 6932
+-79.49 28.472 6733
+-79.364 28.472 6551
+-79.238 28.472 6555
+-79.112 28.472 6424
+-78.986 28.472 6208
+-78.86 28.472 6080
+-78.734 28.472 5949
+-78.608 28.472 5714
+-78.482 28.472 5572
+-78.356 28.472 5497
+-78.23 28.472 5294
+-78.104 28.472 5152
+-77.978 28.472 5024
+-77.852 28.472 4964
+-77.726 28.472 4783
+-77.6 28.472 4661
+-77.474 28.472 4674
+-77.348 28.472 4595
+-77.222 28.472 4482
+-77.096 28.472 4369
+-76.97 28.472 4208
+-76.844 28.472 4044
+-76.718 28.472 3912
+-76.592 28.472 3876
+-76.466 28.472 3857
+-76.34 28.472 3828
+-76.214 28.472 3799
+-76.088 28.472 3784
+-75.962 28.472 3788
+-75.836 28.472 3795
+-75.71 28.472 3804
+-75.584 28.472 3814
+-75.458 28.472 3762
+-75.332 28.472 3764
+-75.206 28.472 3717
+-75.08 28.472 3671
+-74.954 28.472 3668
+-74.828 28.472 3491
+-74.702 28.472 3480
+-74.576 28.472 3477
+-74.45 28.472 3453
+-74.324 28.472 3450
+-74.198 28.472 3368
+-74.072 28.472 3367
+-73.946 28.472 3367
+-73.82 28.472 3367
+-73.694 28.472 3358
+-73.568 28.472 3358
+-73.442 28.472 3337
+-73.316 28.472 3337
+-73.19 28.472 3337
+-73.064 28.472 3337
+-72.938 28.472 3296
+-72.812 28.472 3277
+-72.686 28.472 3277
+-72.56 28.472 3224
+-72.434 28.472 3224
+-72.308 28.472 3224
+-72.182 28.472 3223
+-72.056 28.472 3223
+-71.93 28.472 3223
+-71.804 28.472 3223
+-71.678 28.472 3223
+-71.552 28.472 3224
+-71.426 28.472 3224
+-71.3 28.472 3224
+-71.174 28.472 3224
+-71.048 28.472 3224
+-70.922 28.472 3224
+-70.796 28.472 3225
+-70.67 28.472 3225
+-70.544 28.472 3225
+-70.418 28.472 3225
+-70.292 28.472 3094
+-70.166 28.472 3093
+-70.04 28.472 3093
+-69.914 28.472 3092
+-69.788 28.472 3092
+-69.662 28.472 3091
+-69.536 28.472 3091
+-69.41 28.472 3090
+-69.284 28.472 3090
+-69.158 28.472 3089
+-69.032 28.472 3089
+-68.906 28.472 3088
+-68.78 28.472 3088
+-68.654 28.472 3088
+-68.528 28.472 3087
+-68.402 28.472 3087
+-68.276 28.472 3087
+-68.15 28.472 3086
+-68.024 28.472 3086
+-67.898 28.472 3017
+-67.772 28.472 3016
+-67.646 28.472 3014
+-67.52 28.472 3013
+-67.394 28.472 3012
+-67.268 28.472 3011
+-67.142 28.472 2999
+-67.016 28.472 2998
+-66.89 28.472 2997
+-66.764 28.472 2996
+-66.638 28.472 2994
+-66.512 28.472 2993
+-66.386 28.472 2992
+-66.26 28.472 2991
+-66.134 28.472 2990
+-66.008 28.472 2990
+-65.882 28.472 2989
+-65.756 28.472 2988
+-65.63 28.472 2987
+-65.504 28.472 2986
+-65.378 28.472 2985
+-65.252 28.472 2984
+-65.126 28.472 2984
+-128 28.42 2609
+-127.874 28.42 2599
+-127.748 28.42 2589
+-127.622 28.42 2577
+-127.496 28.42 2609
+-127.37 28.42 2601
+-127.244 28.42 2594
+-127.118 28.42 2588
+-126.992 28.42 2581
+-126.866 28.42 2588
+-126.74 28.42 2586
+-126.614 28.42 2583
+-126.488 28.42 2581
+-126.362 28.42 2581
+-126.236 28.42 2581
+-126.11 28.42 2583
+-125.984 28.42 2586
+-125.858 28.42 2597
+-125.732 28.42 2612
+-125.606 28.42 2667
+-125.48 28.42 2641
+-125.354 28.42 2654
+-125.228 28.42 2702
+-125.102 28.42 2718
+-124.976 28.42 2756
+-124.85 28.42 2808
+-124.724 28.42 2828
+-124.598 28.42 2851
+-124.472 28.42 2874
+-124.346 28.42 2897
+-124.22 28.42 2904
+-124.094 28.42 2924
+-123.968 28.42 2972
+-123.842 28.42 2998
+-123.716 28.42 3048
+-123.59 28.42 3073
+-123.464 28.42 3069
+-123.338 28.42 3078
+-123.212 28.42 3109
+-123.086 28.42 3131
+-122.96 28.42 3151
+-122.834 28.42 3250
+-122.708 28.42 3382
+-122.582 28.42 3380
+-122.456 28.42 3376
+-122.33 28.42 3359
+-122.204 28.42 3353
+-122.078 28.42 3369
+-121.952 28.42 3370
+-121.826 28.42 3354
+-121.7 28.42 3334
+-121.574 28.42 3339
+-121.448 28.42 3324
+-121.322 28.42 3325
+-121.196 28.42 3371
+-121.07 28.42 3423
+-120.944 28.42 3445
+-120.818 28.42 3435
+-120.692 28.42 3427
+-120.566 28.42 3490
+-120.44 28.42 3555
+-120.314 28.42 3669
+-120.188 28.42 3786
+-120.062 28.42 3853
+-119.936 28.42 3945
+-119.81 28.42 3996
+-119.684 28.42 4003
+-119.558 28.42 4086
+-119.432 28.42 4194
+-119.306 28.42 4243
+-119.18 28.42 4287
+-119.054 28.42 4330
+-118.928 28.42 4390
+-118.802 28.42 4460
+-118.676 28.42 4531
+-118.55 28.42 4556
+-118.424 28.42 4613
+-118.298 28.42 4651
+-118.172 28.42 4677
+-118.046 28.42 4732
+-117.92 28.42 4768
+-117.794 28.42 4788
+-117.668 28.42 4811
+-117.542 28.42 4829
+-117.416 28.42 4824
+-117.29 28.42 4808
+-117.164 28.42 4828
+-117.038 28.42 4853
+-116.912 28.42 4860
+-116.786 28.42 4842
+-116.66 28.42 4822
+-116.534 28.42 4789
+-116.408 28.42 4772
+-116.282 28.42 4756
+-116.156 28.42 4714
+-116.03 28.42 4694
+-115.904 28.42 4680
+-115.778 28.42 4617
+-115.652 28.42 4565
+-115.526 28.42 4535
+-115.4 28.42 4515
+-115.274 28.42 4449
+-115.148 28.42 4377
+-115.022 28.42 4303
+-114.896 28.42 4245
+-114.77 28.42 4198
+-114.644 28.42 4152
+-114.518 28.42 4095
+-114.392 28.42 4070
+-114.266 28.42 4115
+-114.14 28.42 4184
+-114.014 28.42 4298
+-113.888 28.42 4355
+-113.762 28.42 4444
+-113.636 28.42 4609
+-113.51 28.42 4724
+-113.384 28.42 4808
+-113.258 28.42 4869
+-113.132 28.42 4935
+-113.006 28.42 5050
+-112.88 28.42 5066
+-112.754 28.42 5167
+-112.628 28.42 5273
+-112.502 28.42 5290
+-112.376 28.42 5368
+-112.25 28.42 5472
+-112.124 28.42 5579
+-111.998 28.42 5639
+-111.872 28.42 5685
+-111.746 28.42 5742
+-111.62 28.42 5777
+-111.494 28.42 5795
+-111.368 28.42 5832
+-111.242 28.42 5873
+-111.116 28.42 5932
+-110.99 28.42 5951
+-110.864 28.42 5982
+-110.738 28.42 6048
+-110.612 28.42 6044
+-110.486 28.42 6005
+-110.36 28.42 6043
+-110.234 28.42 6001
+-110.108 28.42 5984
+-109.982 28.42 5959
+-109.856 28.42 5954
+-109.73 28.42 5916
+-109.604 28.42 5894
+-109.478 28.42 5876
+-109.352 28.42 5850
+-109.226 28.42 5826
+-109.1 28.42 5782
+-108.974 28.42 5711
+-108.848 28.42 5636
+-108.722 28.42 5536
+-108.596 28.42 5468
+-108.47 28.42 5451
+-108.344 28.42 5400
+-108.218 28.42 5316
+-108.092 28.42 5245
+-107.966 28.42 5165
+-107.84 28.42 5086
+-107.714 28.42 4983
+-107.588 28.42 4896
+-107.462 28.42 4822
+-107.336 28.42 4728
+-107.21 28.42 4625
+-107.084 28.42 4574
+-106.958 28.42 4479
+-106.832 28.42 4349
+-106.706 28.42 4243
+-106.58 28.42 4134
+-106.454 28.42 3980
+-106.328 28.42 3871
+-106.202 28.42 3775
+-106.076 28.42 3715
+-105.95 28.42 3641
+-105.824 28.42 3570
+-105.698 28.42 3583
+-105.572 28.42 3589
+-105.446 28.42 3548
+-105.32 28.42 3483
+-105.194 28.42 3399
+-105.068 28.42 3294
+-104.942 28.42 3189
+-104.816 28.42 3115
+-104.69 28.42 3103
+-104.564 28.42 3138
+-104.438 28.42 3192
+-104.312 28.42 3257
+-104.186 28.42 3309
+-104.06 28.42 3349
+-103.934 28.42 3391
+-103.808 28.42 3417
+-103.682 28.42 3445
+-103.556 28.42 3423
+-103.43 28.42 3419
+-103.304 28.42 3398
+-103.178 28.42 3411
+-103.052 28.42 3395
+-102.926 28.42 3352
+-102.8 28.42 3354
+-102.674 28.42 3361
+-102.548 28.42 3331
+-102.422 28.42 3360
+-102.296 28.42 3265
+-102.17 28.42 3266
+-102.044 28.42 3266
+-101.918 28.42 3267
+-101.792 28.42 3273
+-101.666 28.42 3275
+-101.54 28.42 3277
+-101.414 28.42 3278
+-101.288 28.42 3280
+-101.162 28.42 3281
+-101.036 28.42 3217
+-100.91 28.42 3217
+-100.784 28.42 3217
+-100.658 28.42 3217
+-100.532 28.42 3217
+-100.406 28.42 3170
+-100.28 28.42 3137
+-100.154 28.42 3128
+-100.028 28.42 3130
+-99.902 28.42 3132
+-99.776 28.42 3101
+-99.65 28.42 3102
+-99.524 28.42 3104
+-99.398 28.42 3047
+-99.272 28.42 3047
+-99.146 28.42 3048
+-99.02 28.42 3049
+-98.894 28.42 2980
+-98.768 28.42 2948
+-98.642 28.42 2950
+-98.516 28.42 2944
+-98.39 28.42 2886
+-98.264 28.42 2776
+-98.138 28.42 2772
+-98.012 28.42 2709
+-97.886 28.42 2703
+-97.76 28.42 2697
+-97.634 28.42 2590
+-97.508 28.42 2530
+-97.382 28.42 2524
+-97.256 28.42 2445
+-97.13 28.42 2438
+-97.004 28.42 2451
+-96.878 28.42 2392
+-96.752 28.42 2323
+-96.626 28.42 2316
+-96.5 28.42 2306
+-96.374 28.42 2289
+-96.248 28.42 2317
+-96.122 28.42 2304
+-95.996 28.42 2352
+-95.87 28.42 2358
+-95.744 28.42 2456
+-95.618 28.42 2474
+-95.492 28.42 2480
+-95.366 28.42 2540
+-95.24 28.42 2606
+-95.114 28.42 2610
+-94.988 28.42 2615
+-94.862 28.42 2620
+-94.736 28.42 2828
+-94.61 28.42 2960
+-94.484 28.42 2962
+-94.358 28.42 2964
+-94.232 28.42 2999
+-94.106 28.42 3001
+-93.98 28.42 3027
+-93.854 28.42 3028
+-93.728 28.42 3061
+-93.602 28.42 3062
+-93.476 28.42 3285
+-93.35 28.42 3286
+-93.224 28.42 3330
+-93.098 28.42 3331
+-92.972 28.42 3331
+-92.846 28.42 3331
+-92.72 28.42 3331
+-92.594 28.42 3332
+-92.468 28.42 3333
+-92.342 28.42 3333
+-92.216 28.42 3334
+-92.09 28.42 3335
+-91.964 28.42 3532
+-91.838 28.42 3532
+-91.712 28.42 3533
+-91.586 28.42 3534
+-91.46 28.42 3536
+-91.334 28.42 3537
+-91.208 28.42 3539
+-91.082 28.42 3541
+-90.956 28.42 3544
+-90.83 28.42 3547
+-90.704 28.42 3587
+-90.578 28.42 3589
+-90.452 28.42 3724
+-90.326 28.42 3728
+-90.2 28.42 3732
+-90.074 28.42 3766
+-89.948 28.42 3769
+-89.822 28.42 3773
+-89.696 28.42 3777
+-89.57 28.42 3800
+-89.444 28.42 3879
+-89.318 28.42 3944
+-89.192 28.42 3942
+-89.066 28.42 3984
+-88.94 28.42 4022
+-88.814 28.42 4016
+-88.688 28.42 4010
+-88.562 28.42 4003
+-88.436 28.42 4019
+-88.31 28.42 4000
+-88.184 28.42 3972
+-88.058 28.42 3959
+-87.932 28.42 3916
+-87.806 28.42 3915
+-87.68 28.42 3988
+-87.554 28.42 4082
+-87.428 28.42 4158
+-87.302 28.42 4276
+-87.176 28.42 4394
+-87.05 28.42 4490
+-86.924 28.42 4550
+-86.798 28.42 4679
+-86.672 28.42 4863
+-86.546 28.42 5083
+-86.42 28.42 5256
+-86.294 28.42 5403
+-86.168 28.42 5413
+-86.042 28.42 5575
+-85.916 28.42 5688
+-85.79 28.42 5770
+-85.664 28.42 5971
+-85.538 28.42 6104
+-85.412 28.42 6219
+-85.286 28.42 6398
+-85.16 28.42 6511
+-85.034 28.42 6598
+-84.908 28.42 6749
+-84.782 28.42 6878
+-84.656 28.42 7114
+-84.53 28.42 7126
+-84.404 28.42 7314
+-84.278 28.42 7485
+-84.152 28.42 7543
+-84.026 28.42 7697
+-83.9 28.42 7845
+-83.774 28.42 7978
+-83.648 28.42 8154
+-83.522 28.42 8230
+-83.396 28.42 8390
+-83.27 28.42 8540
+-83.144 28.42 8640
+-83.018 28.42 8756
+-82.892 28.42 8825
+-82.766 28.42 8900
+-82.64 28.42 9002
+-82.514 28.42 9057
+-82.388 28.42 9110
+-82.262 28.42 9191
+-82.136 28.42 9142
+-82.01 28.42 9115
+-81.884 28.42 9064
+-81.758 28.42 9041
+-81.632 28.42 8978
+-81.506 28.42 8843
+-81.38 28.42 8728
+-81.254 28.42 8580
+-81.128 28.42 8498
+-81.002 28.42 8359
+-80.876 28.42 8234
+-80.75 28.42 8166
+-80.624 28.42 8015
+-80.498 28.42 7802
+-80.372 28.42 7689
+-80.246 28.42 7595
+-80.12 28.42 7402
+-79.994 28.42 7236
+-79.868 28.42 7170
+-79.742 28.42 7040
+-79.616 28.42 6833
+-79.49 28.42 6767
+-79.364 28.42 6666
+-79.238 28.42 6454
+-79.112 28.42 6425
+-78.986 28.42 6212
+-78.86 28.42 6082
+-78.734 28.42 5966
+-78.608 28.42 5807
+-78.482 28.42 5653
+-78.356 28.42 5537
+-78.23 28.42 5383
+-78.104 28.42 5179
+-77.978 28.42 5047
+-77.852 28.42 4966
+-77.726 28.42 4821
+-77.6 28.42 4736
+-77.474 28.42 4703
+-77.348 28.42 4648
+-77.222 28.42 4560
+-77.096 28.42 4425
+-76.97 28.42 4321
+-76.844 28.42 4204
+-76.718 28.42 4090
+-76.592 28.42 3978
+-76.466 28.42 3948
+-76.34 28.42 3914
+-76.214 28.42 3896
+-76.088 28.42 3860
+-75.962 28.42 3840
+-75.836 28.42 3841
+-75.71 28.42 3844
+-75.584 28.42 3785
+-75.458 28.42 3783
+-75.332 28.42 3748
+-75.206 28.42 3678
+-75.08 28.42 3672
+-74.954 28.42 3667
+-74.828 28.42 3494
+-74.702 28.42 3474
+-74.576 28.42 3454
+-74.45 28.42 3450
+-74.324 28.42 3448
+-74.198 28.42 3445
+-74.072 28.42 3360
+-73.946 28.42 3360
+-73.82 28.42 3350
+-73.694 28.42 3351
+-73.568 28.42 3329
+-73.442 28.42 3327
+-73.316 28.42 3327
+-73.19 28.42 3328
+-73.064 28.42 3290
+-72.938 28.42 3272
+-72.812 28.42 3272
+-72.686 28.42 3272
+-72.56 28.42 3272
+-72.434 28.42 3220
+-72.308 28.42 3220
+-72.182 28.42 3220
+-72.056 28.42 3220
+-71.93 28.42 3220
+-71.804 28.42 3220
+-71.678 28.42 3220
+-71.552 28.42 3221
+-71.426 28.42 3221
+-71.3 28.42 3221
+-71.174 28.42 3221
+-71.048 28.42 3222
+-70.922 28.42 3222
+-70.796 28.42 3222
+-70.67 28.42 3223
+-70.544 28.42 3223
+-70.418 28.42 3223
+-70.292 28.42 3224
+-70.166 28.42 3094
+-70.04 28.42 3093
+-69.914 28.42 3092
+-69.788 28.42 3092
+-69.662 28.42 3091
+-69.536 28.42 3091
+-69.41 28.42 3091
+-69.284 28.42 3090
+-69.158 28.42 3090
+-69.032 28.42 3089
+-68.906 28.42 3089
+-68.78 28.42 3089
+-68.654 28.42 3088
+-68.528 28.42 3088
+-68.402 28.42 3087
+-68.276 28.42 3019
+-68.15 28.42 3018
+-68.024 28.42 3017
+-67.898 28.42 3016
+-67.772 28.42 3014
+-67.646 28.42 3013
+-67.52 28.42 3012
+-67.394 28.42 3011
+-67.268 28.42 3010
+-67.142 28.42 3009
+-67.016 28.42 3008
+-66.89 28.42 2996
+-66.764 28.42 2994
+-66.638 28.42 2993
+-66.512 28.42 2992
+-66.386 28.42 2991
+-66.26 28.42 2990
+-66.134 28.42 2990
+-66.008 28.42 2989
+-65.882 28.42 2988
+-65.756 28.42 2987
+-65.63 28.42 2986
+-65.504 28.42 2985
+-65.378 28.42 2984
+-65.252 28.42 2984
+-65.126 28.42 2983
+-128 28.368 2620
+-127.874 28.368 2611
+-127.748 28.368 2597
+-127.622 28.368 2630
+-127.496 28.368 2624
+-127.37 28.368 2617
+-127.244 28.368 2611
+-127.118 28.368 2606
+-126.992 28.368 2612
+-126.866 28.368 2610
+-126.74 28.368 2607
+-126.614 28.368 2605
+-126.488 28.368 2605
+-126.362 28.368 2605
+-126.236 28.368 2606
+-126.11 28.368 2608
+-125.984 28.368 2618
+-125.858 28.368 2632
+-125.732 28.368 2687
+-125.606 28.368 2658
+-125.48 28.368 2669
+-125.354 28.368 2716
+-125.228 28.368 2729
+-125.102 28.368 2765
+-124.976 28.368 2815
+-124.85 28.368 2833
+-124.724 28.368 2853
+-124.598 28.368 2873
+-124.472 28.368 2894
+-124.346 28.368 2899
+-124.22 28.368 2917
+-124.094 28.368 2963
+-123.968 28.368 2987
+-123.842 28.368 3037
+-123.716 28.368 3060
+-123.59 28.368 3055
+-123.464 28.368 3064
+-123.338 28.368 3094
+-123.212 28.368 3116
+-123.086 28.368 3136
+-122.96 28.368 3244
+-122.834 28.368 3382
+-122.708 28.368 3380
+-122.582 28.368 3377
+-122.456 28.368 3360
+-122.33 28.368 3357
+-122.204 28.368 3360
+-122.078 28.368 3385
+-121.952 28.368 3375
+-121.826 28.368 3371
+-121.7 28.368 3358
+-121.574 28.368 3372
+-121.448 28.368 3362
+-121.322 28.368 3385
+-121.196 28.368 3415
+-121.07 28.368 3434
+-120.944 28.368 3431
+-120.818 28.368 3389
+-120.692 28.368 3330
+-120.566 28.368 3424
+-120.44 28.368 3540
+-120.314 28.368 3646
+-120.188 28.368 3746
+-120.062 28.368 3800
+-119.936 28.368 3868
+-119.81 28.368 3948
+-119.684 28.368 4007
+-119.558 28.368 4070
+-119.432 28.368 4141
+-119.306 28.368 4166
+-119.18 28.368 4206
+-119.054 28.368 4266
+-118.928 28.368 4307
+-118.802 28.368 4383
+-118.676 28.368 4468
+-118.55 28.368 4523
+-118.424 28.368 4551
+-118.298 28.368 4606
+-118.172 28.368 4650
+-118.046 28.368 4689
+-117.92 28.368 4699
+-117.794 28.368 4684
+-117.668 28.368 4732
+-117.542 28.368 4759
+-117.416 28.368 4756
+-117.29 28.368 4754
+-117.164 28.368 4785
+-117.038 28.368 4805
+-116.912 28.368 4805
+-116.786 28.368 4777
+-116.66 28.368 4745
+-116.534 28.368 4721
+-116.408 28.368 4694
+-116.282 28.368 4682
+-116.156 28.368 4672
+-116.03 28.368 4660
+-115.904 28.368 4625
+-115.778 28.368 4570
+-115.652 28.368 4536
+-115.526 28.368 4520
+-115.4 28.368 4451
+-115.274 28.368 4368
+-115.148 28.368 4319
+-115.022 28.368 4261
+-114.896 28.368 4216
+-114.77 28.368 4164
+-114.644 28.368 4116
+-114.518 28.368 4033
+-114.392 28.368 3930
+-114.266 28.368 4069
+-114.14 28.368 4193
+-114.014 28.368 4291
+-113.888 28.368 4363
+-113.762 28.368 4436
+-113.636 28.368 4541
+-113.51 28.368 4723
+-113.384 28.368 4756
+-113.258 28.368 4824
+-113.132 28.368 4925
+-113.006 28.368 5012
+-112.88 28.368 5045
+-112.754 28.368 5100
+-112.628 28.368 5184
+-112.502 28.368 5224
+-112.376 28.368 5267
+-112.25 28.368 5399
+-112.124 28.368 5514
+-111.998 28.368 5574
+-111.872 28.368 5604
+-111.746 28.368 5699
+-111.62 28.368 5735
+-111.494 28.368 5762
+-111.368 28.368 5785
+-111.242 28.368 5830
+-111.116 28.368 5871
+-110.99 28.368 5911
+-110.864 28.368 5942
+-110.738 28.368 5977
+-110.612 28.368 5990
+-110.486 28.368 5987
+-110.36 28.368 5952
+-110.234 28.368 5965
+-110.108 28.368 5965
+-109.982 28.368 5933
+-109.856 28.368 5911
+-109.73 28.368 5873
+-109.604 28.368 5845
+-109.478 28.368 5818
+-109.352 28.368 5779
+-109.226 28.368 5755
+-109.1 28.368 5702
+-108.974 28.368 5646
+-108.848 28.368 5556
+-108.722 28.368 5473
+-108.596 28.368 5441
+-108.47 28.368 5403
+-108.344 28.368 5328
+-108.218 28.368 5255
+-108.092 28.368 5178
+-107.966 28.368 5087
+-107.84 28.368 5038
+-107.714 28.368 4916
+-107.588 28.368 4859
+-107.462 28.368 4774
+-107.336 28.368 4660
+-107.21 28.368 4538
+-107.084 28.368 4538
+-106.958 28.368 4451
+-106.832 28.368 4321
+-106.706 28.368 4226
+-106.58 28.368 4105
+-106.454 28.368 3961
+-106.328 28.368 3836
+-106.202 28.368 3755
+-106.076 28.368 3739
+-105.95 28.368 3704
+-105.824 28.368 3666
+-105.698 28.368 3640
+-105.572 28.368 3632
+-105.446 28.368 3576
+-105.32 28.368 3528
+-105.194 28.368 3457
+-105.068 28.368 3383
+-104.942 28.368 3313
+-104.816 28.368 3263
+-104.69 28.368 3236
+-104.564 28.368 3240
+-104.438 28.368 3267
+-104.312 28.368 3301
+-104.186 28.368 3345
+-104.06 28.368 3379
+-103.934 28.368 3405
+-103.808 28.368 3403
+-103.682 28.368 3454
+-103.556 28.368 3427
+-103.43 28.368 3446
+-103.304 28.368 3400
+-103.178 28.368 3384
+-103.052 28.368 3342
+-102.926 28.368 3350
+-102.8 28.368 3356
+-102.674 28.368 3357
+-102.548 28.368 3363
+-102.422 28.368 3332
+-102.296 28.368 3362
+-102.17 28.368 3265
+-102.044 28.368 3266
+-101.918 28.368 3267
+-101.792 28.368 3267
+-101.666 28.368 3274
+-101.54 28.368 3275
+-101.414 28.368 3277
+-101.288 28.368 3278
+-101.162 28.368 3280
+-101.036 28.368 3281
+-100.91 28.368 3217
+-100.784 28.368 3217
+-100.658 28.368 3217
+-100.532 28.368 3218
+-100.406 28.368 3218
+-100.28 28.368 3170
+-100.154 28.368 3138
+-100.028 28.368 3129
+-99.902 28.368 3131
+-99.776 28.368 3132
+-99.65 28.368 3102
+-99.524 28.368 3103
+-99.398 28.368 3104
+-99.272 28.368 3047
+-99.146 28.368 3048
+-99.02 28.368 3048
+-98.894 28.368 3049
+-98.768 28.368 2980
+-98.642 28.368 2949
+-98.516 28.368 2951
+-98.39 28.368 2886
+-98.264 28.368 2886
+-98.138 28.368 2774
+-98.012 28.368 2711
+-97.886 28.368 2705
+-97.76 28.368 2699
+-97.634 28.368 2592
+-97.508 28.368 2533
+-97.382 28.368 2527
+-97.256 28.368 2447
+-97.13 28.368 2440
+-97.004 28.368 2454
+-96.878 28.368 2395
+-96.752 28.368 2326
+-96.626 28.368 2320
+-96.5 28.368 2310
+-96.374 28.368 2293
+-96.248 28.368 2322
+-96.122 28.368 2365
+-95.996 28.368 2358
+-95.87 28.368 2364
+-95.744 28.368 2464
+-95.618 28.368 2481
+-95.492 28.368 2488
+-95.366 28.368 2609
+-95.24 28.368 2613
+-95.114 28.368 2618
+-94.988 28.368 2623
+-94.862 28.368 2830
+-94.736 28.368 2961
+-94.61 28.368 2963
+-94.484 28.368 2965
+-94.358 28.368 3000
+-94.232 28.368 3002
+-94.106 28.368 3036
+-93.98 28.368 3037
+-93.854 28.368 3062
+-93.728 28.368 3063
+-93.602 28.368 3064
+-93.476 28.368 3286
+-93.35 28.368 3331
+-93.224 28.368 3331
+-93.098 28.368 3331
+-92.972 28.368 3331
+-92.846 28.368 3331
+-92.72 28.368 3332
+-92.594 28.368 3332
+-92.468 28.368 3333
+-92.342 28.368 3333
+-92.216 28.368 3334
+-92.09 28.368 3386
+-91.964 28.368 3386
+-91.838 28.368 3526
+-91.712 28.368 3527
+-91.586 28.368 3528
+-91.46 28.368 3530
+-91.334 28.368 3531
+-91.208 28.368 3533
+-91.082 28.368 3536
+-90.956 28.368 3538
+-90.83 28.368 3584
+-90.704 28.368 3587
+-90.578 28.368 3589
+-90.452 28.368 3722
+-90.326 28.368 3726
+-90.2 28.368 3731
+-90.074 28.368 3736
+-89.948 28.368 3771
+-89.822 28.368 3776
+-89.696 28.368 3782
+-89.57 28.368 3788
+-89.444 28.368 3817
+-89.318 28.368 3896
+-89.192 28.368 4004
+-89.066 28.368 4030
+-88.94 28.368 4025
+-88.814 28.368 4020
+-88.688 28.368 4025
+-88.562 28.368 4015
+-88.436 28.368 3999
+-88.31 28.368 4000
+-88.184 28.368 3950
+-88.058 28.368 3890
+-87.932 28.368 3776
+-87.806 28.368 3713
+-87.68 28.368 3842
+-87.554 28.368 4019
+-87.428 28.368 4144
+-87.302 28.368 4246
+-87.176 28.368 4367
+-87.05 28.368 4484
+-86.924 28.368 4514
+-86.798 28.368 4616
+-86.672 28.368 4847
+-86.546 28.368 5114
+-86.42 28.368 5302
+-86.294 28.368 5423
+-86.168 28.368 5488
+-86.042 28.368 5617
+-85.916 28.368 5660
+-85.79 28.368 5791
+-85.664 28.368 5948
+-85.538 28.368 6063
+-85.412 28.368 6231
+-85.286 28.368 6431
+-85.16 28.368 6484
+-85.034 28.368 6615
+-84.908 28.368 6810
+-84.782 28.368 6898
+-84.656 28.368 7096
+-84.53 28.368 7152
+-84.404 28.368 7288
+-84.278 28.368 7422
+-84.152 28.368 7613
+-84.026 28.368 7654
+-83.9 28.368 7792
+-83.774 28.368 7975
+-83.648 28.368 8119
+-83.522 28.368 8309
+-83.396 28.368 8393
+-83.27 28.368 8523
+-83.144 28.368 8654
+-83.018 28.368 8778
+-82.892 28.368 8862
+-82.766 28.368 8988
+-82.64 28.368 9055
+-82.514 28.368 9162
+-82.388 28.368 9177
+-82.262 28.368 9209
+-82.136 28.368 9238
+-82.01 28.368 9185
+-81.884 28.368 9126
+-81.758 28.368 9053
+-81.632 28.368 8991
+-81.506 28.368 8844
+-81.38 28.368 8733
+-81.254 28.368 8637
+-81.128 28.368 8485
+-81.002 28.368 8417
+-80.876 28.368 8193
+-80.75 28.368 8060
+-80.624 28.368 8039
+-80.498 28.368 7887
+-80.372 28.368 7677
+-80.246 28.368 7557
+-80.12 28.368 7409
+-79.994 28.368 7295
+-79.868 28.368 7169
+-79.742 28.368 7079
+-79.616 28.368 6900
+-79.49 28.368 6758
+-79.364 28.368 6652
+-79.238 28.368 6551
+-79.112 28.368 6405
+-78.986 28.368 6205
+-78.86 28.368 6071
+-78.734 28.368 5921
+-78.608 28.368 5860
+-78.482 28.368 5755
+-78.356 28.368 5586
+-78.23 28.368 5442
+-78.104 28.368 5269
+-77.978 28.368 5091
+-77.852 28.368 4958
+-77.726 28.368 4829
+-77.6 28.368 4736
+-77.474 28.368 4692
+-77.348 28.368 4650
+-77.222 28.368 4609
+-77.096 28.368 4520
+-76.97 28.368 4397
+-76.844 28.368 4304
+-76.718 28.368 4205
+-76.592 28.368 4115
+-76.466 28.368 4030
+-76.34 28.368 3993
+-76.214 28.368 3966
+-76.088 28.368 3946
+-75.962 28.368 3907
+-75.836 28.368 3824
+-75.71 28.368 3814
+-75.584 28.368 3807
+-75.458 28.368 3765
+-75.332 28.368 3688
+-75.206 28.368 3678
+-75.08 28.368 3669
+-74.954 28.368 3662
+-74.828 28.368 3517
+-74.702 28.368 3449
+-74.576 28.368 3444
+-74.45 28.368 3441
+-74.324 28.368 3438
+-74.198 28.368 3436
+-74.072 28.368 3361
+-73.946 28.368 3362
+-73.82 28.368 3342
+-73.694 28.368 3319
+-73.568 28.368 3319
+-73.442 28.368 3320
+-73.316 28.368 3321
+-73.19 28.368 3282
+-73.064 28.368 3265
+-72.938 28.368 3266
+-72.812 28.368 3266
+-72.686 28.368 3266
+-72.56 28.368 3267
+-72.434 28.368 3267
+-72.308 28.368 3216
+-72.182 28.368 3216
+-72.056 28.368 3216
+-71.93 28.368 3217
+-71.804 28.368 3217
+-71.678 28.368 3217
+-71.552 28.368 3218
+-71.426 28.368 3218
+-71.3 28.368 3218
+-71.174 28.368 3219
+-71.048 28.368 3219
+-70.922 28.368 3220
+-70.796 28.368 3220
+-70.67 28.368 3220
+-70.544 28.368 3221
+-70.418 28.368 3221
+-70.292 28.368 3222
+-70.166 28.368 3222
+-70.04 28.368 3093
+-69.914 28.368 3107
+-69.788 28.368 3092
+-69.662 28.368 3106
+-69.536 28.368 3091
+-69.41 28.368 3106
+-69.284 28.368 3090
+-69.158 28.368 3106
+-69.032 28.368 3090
+-68.906 28.368 3105
+-68.78 28.368 3089
+-68.654 28.368 3105
+-68.528 28.368 3088
+-68.402 28.368 3019
+-68.276 28.368 3018
+-68.15 28.368 3017
+-68.024 28.368 3016
+-67.898 28.368 3014
+-67.772 28.368 3013
+-67.646 28.368 3012
+-67.52 28.368 3011
+-67.394 28.368 3010
+-67.268 28.368 3009
+-67.142 28.368 3007
+-67.016 28.368 3006
+-66.89 28.368 3005
+-66.764 28.368 3012
+-66.638 28.368 2992
+-66.512 28.368 2991
+-66.386 28.368 2990
+-66.26 28.368 3008
+-66.134 28.368 2988
+-66.008 28.368 3007
+-65.882 28.368 2987
+-65.756 28.368 3005
+-65.63 28.368 2985
+-65.504 28.368 3004
+-65.378 28.368 2983
+-65.252 28.368 3002
+-65.126 28.368 2982
+-128 28.316 2631
+-127.874 28.316 2616
+-127.748 28.316 2650
+-127.622 28.316 2644
+-127.496 28.316 2638
+-127.37 28.316 2633
+-127.244 28.316 2627
+-127.118 28.316 2635
+-126.992 28.316 2631
+-126.866 28.316 2629
+-126.74 28.316 2627
+-126.614 28.316 2626
+-126.488 28.316 2626
+-126.362 28.316 2627
+-126.236 28.316 2629
+-126.11 28.316 2638
+-125.984 28.316 2651
+-125.858 28.316 2706
+-125.732 28.316 2674
+-125.606 28.316 2683
+-125.48 28.316 2729
+-125.354 28.316 2741
+-125.228 28.316 2775
+-125.102 28.316 2823
+-124.976 28.316 2839
+-124.85 28.316 2856
+-124.724 28.316 2874
+-124.598 28.316 2893
+-124.472 28.316 2896
+-124.346 28.316 2912
+-124.22 28.316 2956
+-124.094 28.316 2979
+-123.968 28.316 3027
+-123.842 28.316 3049
+-123.716 28.316 3043
+-123.59 28.316 3051
+-123.464 28.316 3081
+-123.338 28.316 3102
+-123.212 28.316 3121
+-123.086 28.316 3238
+-122.96 28.316 3383
+-122.834 28.316 3381
+-122.708 28.316 3378
+-122.582 28.316 3361
+-122.456 28.316 3358
+-122.33 28.316 3365
+-122.204 28.316 3393
+-122.078 28.316 3355
+-121.952 28.316 3384
+-121.826 28.316 3375
+-121.7 28.316 3351
+-121.574 28.316 3356
+-121.448 28.316 3373
+-121.322 28.316 3403
+-121.196 28.316 3427
+-121.07 28.316 3434
+-120.944 28.316 3436
+-120.818 28.316 3411
+-120.692 28.316 3392
+-120.566 28.316 3446
+-120.44 28.316 3553
+-120.314 28.316 3632
+-120.188 28.316 3714
+-120.062 28.316 3744
+-119.936 28.316 3766
+-119.81 28.316 3848
+-119.684 28.316 3962
+-119.558 28.316 4038
+-119.432 28.316 4115
+-119.306 28.316 4122
+-119.18 28.316 4147
+-119.054 28.316 4222
+-118.928 28.316 4262
+-118.802 28.316 4306
+-118.676 28.316 4370
+-118.55 28.316 4433
+-118.424 28.316 4480
+-118.298 28.316 4531
+-118.172 28.316 4591
+-118.046 28.316 4635
+-117.92 28.316 4645
+-117.794 28.316 4614
+-117.668 28.316 4664
+-117.542 28.316 4693
+-117.416 28.316 4666
+-117.29 28.316 4720
+-117.164 28.316 4740
+-117.038 28.316 4739
+-116.912 28.316 4729
+-116.786 28.316 4706
+-116.66 28.316 4672
+-116.534 28.316 4651
+-116.408 28.316 4618
+-116.282 28.316 4608
+-116.156 28.316 4604
+-116.03 28.316 4583
+-115.904 28.316 4554
+-115.778 28.316 4539
+-115.652 28.316 4521
+-115.526 28.316 4475
+-115.4 28.316 4381
+-115.274 28.316 4319
+-115.148 28.316 4286
+-115.022 28.316 4210
+-114.896 28.316 4180
+-114.77 28.316 4131
+-114.644 28.316 4085
+-114.518 28.316 4037
+-114.392 28.316 4010
+-114.266 28.316 4059
+-114.14 28.316 4163
+-114.014 28.316 4263
+-113.888 28.316 4341
+-113.762 28.316 4408
+-113.636 28.316 4512
+-113.51 28.316 4647
+-113.384 28.316 4742
+-113.258 28.316 4799
+-113.132 28.316 4900
+-113.006 28.316 4974
+-112.88 28.316 5013
+-112.754 28.316 5031
+-112.628 28.316 5103
+-112.502 28.316 5159
+-112.376 28.316 5219
+-112.25 28.316 5309
+-112.124 28.316 5466
+-111.998 28.316 5474
+-111.872 28.316 5583
+-111.746 28.316 5670
+-111.62 28.316 5703
+-111.494 28.316 5698
+-111.368 28.316 5748
+-111.242 28.316 5800
+-111.116 28.316 5810
+-110.99 28.316 5834
+-110.864 28.316 5868
+-110.738 28.316 5890
+-110.612 28.316 5923
+-110.486 28.316 5943
+-110.36 28.316 5930
+-110.234 28.316 5909
+-110.108 28.316 5898
+-109.982 28.316 5898
+-109.856 28.316 5857
+-109.73 28.316 5823
+-109.604 28.316 5769
+-109.478 28.316 5725
+-109.352 28.316 5685
+-109.226 28.316 5661
+-109.1 28.316 5623
+-108.974 28.316 5578
+-108.848 28.316 5504
+-108.722 28.316 5437
+-108.596 28.316 5407
+-108.47 28.316 5332
+-108.344 28.316 5252
+-108.218 28.316 5208
+-108.092 28.316 5118
+-107.966 28.316 5003
+-107.84 28.316 4991
+-107.714 28.316 4902
+-107.588 28.316 4796
+-107.462 28.316 4691
+-107.336 28.316 4668
+-107.21 28.316 4575
+-107.084 28.316 4514
+-106.958 28.316 4382
+-106.832 28.316 4267
+-106.706 28.316 4186
+-106.58 28.316 4098
+-106.454 28.316 3955
+-106.328 28.316 3797
+-106.202 28.316 3709
+-106.076 28.316 3741
+-105.95 28.316 3746
+-105.824 28.316 3702
+-105.698 28.316 3679
+-105.572 28.316 3658
+-105.446 28.316 3632
+-105.32 28.316 3563
+-105.194 28.316 3514
+-105.068 28.316 3451
+-104.942 28.316 3400
+-104.816 28.316 3361
+-104.69 28.316 3341
+-104.564 28.316 3328
+-104.438 28.316 3331
+-104.312 28.316 3350
+-104.186 28.316 3354
+-104.06 28.316 3376
+-103.934 28.316 3397
+-103.808 28.316 3409
+-103.682 28.316 3435
+-103.556 28.316 3441
+-103.43 28.316 3449
+-103.304 28.316 3394
+-103.178 28.316 3348
+-103.052 28.316 3340
+-102.926 28.316 3347
+-102.8 28.316 3353
+-102.674 28.316 3359
+-102.548 28.316 3311
+-102.422 28.316 3364
+-102.296 28.316 3332
+-102.17 28.316 3363
+-102.044 28.316 3266
+-101.918 28.316 3266
+-101.792 28.316 3267
+-101.666 28.316 3267
+-101.54 28.316 3274
+-101.414 28.316 3275
+-101.288 28.316 3277
+-101.162 28.316 3279
+-101.036 28.316 3280
+-100.91 28.316 3282
+-100.784 28.316 3217
+-100.658 28.316 3217
+-100.532 28.316 3218
+-100.406 28.316 3218
+-100.28 28.316 3218
+-100.154 28.316 3171
+-100.028 28.316 3138
+-99.902 28.316 3130
+-99.776 28.316 3131
+-99.65 28.316 3133
+-99.524 28.316 3102
+-99.398 28.316 3103
+-99.272 28.316 3105
+-99.146 28.316 3048
+-99.02 28.316 3048
+-98.894 28.316 3049
+-98.768 28.316 3050
+-98.642 28.316 2980
+-98.516 28.316 2950
+-98.39 28.316 2885
+-98.264 28.316 2885
+-98.138 28.316 2885
+-98.012 28.316 2713
+-97.886 28.316 2707
+-97.76 28.316 2702
+-97.634 28.316 2696
+-97.508 28.316 2536
+-97.382 28.316 2530
+-97.256 28.316 2450
+-97.13 28.316 2443
+-97.004 28.316 2457
+-96.878 28.316 2398
+-96.752 28.316 2328
+-96.626 28.316 2322
+-96.5 28.316 2314
+-96.374 28.316 2297
+-96.248 28.316 2327
+-96.122 28.316 2371
+-95.996 28.316 2364
+-95.87 28.316 2370
+-95.744 28.316 2471
+-95.618 28.316 2499
+-95.492 28.316 2503
+-95.366 28.316 2626
+-95.24 28.316 2631
+-95.114 28.316 2636
+-94.988 28.316 2831
+-94.862 28.316 2963
+-94.736 28.316 2965
+-94.61 28.316 2967
+-94.484 28.316 3002
+-94.358 28.316 3003
+-94.232 28.316 3037
+-94.106 28.316 3038
+-93.98 28.316 3063
+-93.854 28.316 3064
+-93.728 28.316 3065
+-93.602 28.316 3287
+-93.476 28.316 3331
+-93.35 28.316 3331
+-93.224 28.316 3331
+-93.098 28.316 3331
+-92.972 28.316 3331
+-92.846 28.316 3331
+-92.72 28.316 3331
+-92.594 28.316 3332
+-92.468 28.316 3332
+-92.342 28.316 3333
+-92.216 28.316 3385
+-92.09 28.316 3385
+-91.964 28.316 3384
+-91.838 28.316 3524
+-91.712 28.316 3525
+-91.586 28.316 3526
+-91.46 28.316 3527
+-91.334 28.316 3529
+-91.208 28.316 3531
+-91.082 28.316 3533
+-90.956 28.316 3569
+-90.83 28.316 3580
+-90.704 28.316 3582
+-90.578 28.316 3585
+-90.452 28.316 3589
+-90.326 28.316 3723
+-90.2 28.316 3728
+-90.074 28.316 3734
+-89.948 28.316 3740
+-89.822 28.316 3777
+-89.696 28.316 3784
+-89.57 28.316 3816
+-89.444 28.316 3884
+-89.318 28.316 3946
+-89.192 28.316 3951
+-89.066 28.316 4021
+-88.94 28.316 4040
+-88.814 28.316 4034
+-88.688 28.316 4027
+-88.562 28.316 4016
+-88.436 28.316 4010
+-88.31 28.316 3979
+-88.184 28.316 3944
+-88.058 28.316 3855
+-87.932 28.316 3690
+-87.806 28.316 3557
+-87.68 28.316 3758
+-87.554 28.316 3992
+-87.428 28.316 4034
+-87.302 28.316 4151
+-87.176 28.316 4322
+-87.05 28.316 4454
+-86.924 28.316 4525
+-86.798 28.316 4680
+-86.672 28.316 4919
+-86.546 28.316 5142
+-86.42 28.316 5293
+-86.294 28.316 5412
+-86.168 28.316 5530
+-86.042 28.316 5612
+-85.916 28.316 5702
+-85.79 28.316 5840
+-85.664 28.316 5874
+-85.538 28.316 6049
+-85.412 28.316 6248
+-85.286 28.316 6421
+-85.16 28.316 6496
+-85.034 28.316 6612
+-84.908 28.316 6762
+-84.782 28.316 6913
+-84.656 28.316 7074
+-84.53 28.316 7234
+-84.404 28.316 7328
+-84.278 28.316 7451
+-84.152 28.316 7581
+-84.026 28.316 7729
+-83.9 28.316 7885
+-83.774 28.316 8018
+-83.648 28.316 8130
+-83.522 28.316 8248
+-83.396 28.316 8438
+-83.27 28.316 8551
+-83.144 28.316 8599
+-83.018 28.316 8795
+-82.892 28.316 8919
+-82.766 28.316 8992
+-82.64 28.316 9127
+-82.514 28.316 9201
+-82.388 28.316 9267
+-82.262 28.316 9280
+-82.136 28.316 9280
+-82.01 28.316 9232
+-81.884 28.316 9208
+-81.758 28.316 9097
+-81.632 28.316 9057
+-81.506 28.316 8919
+-81.38 28.316 8791
+-81.254 28.316 8647
+-81.128 28.316 8530
+-81.002 28.316 8413
+-80.876 28.316 8341
+-80.75 28.316 8122
+-80.624 28.316 8073
+-80.498 28.316 7897
+-80.372 28.316 7740
+-80.246 28.316 7590
+-80.12 28.316 7423
+-79.994 28.316 7317
+-79.868 28.316 7236
+-79.742 28.316 7065
+-79.616 28.316 6932
+-79.49 28.316 6755
+-79.364 28.316 6689
+-79.238 28.316 6591
+-79.112 28.316 6416
+-78.986 28.316 6226
+-78.86 28.316 6109
+-78.734 28.316 5987
+-78.608 28.316 5830
+-78.482 28.316 5791
+-78.356 28.316 5575
+-78.23 28.316 5406
+-78.104 28.316 5311
+-77.978 28.316 5137
+-77.852 28.316 4943
+-77.726 28.316 4773
+-77.6 28.316 4665
+-77.474 28.316 4654
+-77.348 28.316 4658
+-77.222 28.316 4636
+-77.096 28.316 4600
+-76.97 28.316 4469
+-76.844 28.316 4369
+-76.718 28.316 4277
+-76.592 28.316 4228
+-76.466 28.316 4151
+-76.34 28.316 4108
+-76.214 28.316 4031
+-76.088 28.316 3948
+-75.962 28.316 3928
+-75.836 28.316 3868
+-75.71 28.316 3855
+-75.584 28.316 3786
+-75.458 28.316 3733
+-75.332 28.316 3719
+-75.206 28.316 3706
+-75.08 28.316 3665
+-74.954 28.316 3656
+-74.828 28.316 3649
+-74.702 28.316 3472
+-74.576 28.316 3451
+-74.45 28.316 3448
+-74.324 28.316 3446
+-74.198 28.316 3352
+-74.072 28.316 3352
+-73.946 28.316 3331
+-73.82 28.316 3310
+-73.694 28.316 3310
+-73.568 28.316 3311
+-73.442 28.316 3312
+-73.316 28.316 3274
+-73.19 28.316 3258
+-73.064 28.316 3259
+-72.938 28.316 3259
+-72.812 28.316 3260
+-72.686 28.316 3260
+-72.56 28.316 3261
+-72.434 28.316 3262
+-72.308 28.316 3262
+-72.182 28.316 3212
+-72.056 28.316 3212
+-71.93 28.316 3213
+-71.804 28.316 3213
+-71.678 28.316 3214
+-71.552 28.316 3215
+-71.426 28.316 3215
+-71.3 28.316 3216
+-71.174 28.316 3216
+-71.048 28.316 3217
+-70.922 28.316 3217
+-70.796 28.316 3218
+-70.67 28.316 3218
+-70.544 28.316 3219
+-70.418 28.316 3219
+-70.292 28.316 3220
+-70.166 28.316 3107
+-70.04 28.316 3107
+-69.914 28.316 3107
+-69.788 28.316 3107
+-69.662 28.316 3106
+-69.536 28.316 3106
+-69.41 28.316 3106
+-69.284 28.316 3106
+-69.158 28.316 3106
+-69.032 28.316 3105
+-68.906 28.316 3105
+-68.78 28.316 3105
+-68.654 28.316 3105
+-68.528 28.316 3026
+-68.402 28.316 3025
+-68.276 28.316 3023
+-68.15 28.316 3022
+-68.024 28.316 3021
+-67.898 28.316 3020
+-67.772 28.316 3019
+-67.646 28.316 3017
+-67.52 28.316 3016
+-67.394 28.316 3015
+-67.268 28.316 3014
+-67.142 28.316 3013
+-67.016 28.316 3012
+-66.89 28.316 3011
+-66.764 28.316 3010
+-66.638 28.316 3009
+-66.512 28.316 3009
+-66.386 28.316 3008
+-66.26 28.316 3007
+-66.134 28.316 3006
+-66.008 28.316 3005
+-65.882 28.316 3005
+-65.756 28.316 3004
+-65.63 28.316 3003
+-65.504 28.316 3002
+-65.378 28.316 3002
+-65.252 28.316 3001
+-65.126 28.316 3000
+-128 28.264 2633
+-127.874 28.264 2668
+-127.748 28.264 2663
+-127.622 28.264 2657
+-127.496 28.264 2652
+-127.37 28.264 2647
+-127.244 28.264 2656
+-127.118 28.264 2651
+-126.992 28.264 2649
+-126.866 28.264 2647
+-126.74 28.264 2646
+-126.614 28.264 2646
+-126.488 28.264 2646
+-126.362 28.264 2648
+-126.236 28.264 2656
+-126.11 28.264 2668
+-125.984 28.264 2724
+-125.858 28.264 2689
+-125.732 28.264 2697
+-125.606 28.264 2742
+-125.48 28.264 2752
+-125.354 28.264 2784
+-125.228 28.264 2831
+-125.102 28.264 2845
+-124.976 28.264 2860
+-124.85 28.264 2876
+-124.724 28.264 2894
+-124.598 28.264 2894
+-124.472 28.264 2908
+-124.346 28.264 2951
+-124.22 28.264 2972
+-124.094 28.264 3019
+-123.968 28.264 3040
+-123.842 28.264 3032
+-123.716 28.264 3040
+-123.59 28.264 3069
+-123.464 28.264 3088
+-123.338 28.264 3108
+-123.212 28.264 3232
+-123.086 28.264 3383
+-122.96 28.264 3381
+-122.834 28.264 3378
+-122.708 28.264 3361
+-122.582 28.264 3358
+-122.456 28.264 3367
+-122.33 28.264 3362
+-122.204 28.264 3358
+-122.078 28.264 3391
+-121.952 28.264 3382
+-121.826 28.264 3357
+-121.7 28.264 3361
+-121.574 28.264 3374
+-121.448 28.264 3375
+-121.322 28.264 3393
+-121.196 28.264 3399
+-121.07 28.264 3421
+-120.944 28.264 3437
+-120.818 28.264 3438
+-120.692 28.264 3448
+-120.566 28.264 3491
+-120.44 28.264 3555
+-120.314 28.264 3610
+-120.188 28.264 3667
+-120.062 28.264 3707
+-119.936 28.264 3696
+-119.81 28.264 3774
+-119.684 28.264 3895
+-119.558 28.264 4000
+-119.432 28.264 4061
+-119.306 28.264 4083
+-119.18 28.264 4135
+-119.054 28.264 4197
+-118.928 28.264 4256
+-118.802 28.264 4271
+-118.676 28.264 4306
+-118.55 28.264 4357
+-118.424 28.264 4398
+-118.298 28.264 4433
+-118.172 28.264 4495
+-118.046 28.264 4560
+-117.92 28.264 4592
+-117.794 28.264 4601
+-117.668 28.264 4627
+-117.542 28.264 4652
+-117.416 28.264 4665
+-117.29 28.264 4678
+-117.164 28.264 4677
+-117.038 28.264 4685
+-116.912 28.264 4679
+-116.786 28.264 4651
+-116.66 28.264 4645
+-116.534 28.264 4614
+-116.408 28.264 4568
+-116.282 28.264 4563
+-116.156 28.264 4549
+-116.03 28.264 4530
+-115.904 28.264 4514
+-115.778 28.264 4508
+-115.652 28.264 4476
+-115.526 28.264 4415
+-115.4 28.264 4329
+-115.274 28.264 4274
+-115.148 28.264 4232
+-115.022 28.264 4181
+-114.896 28.264 4166
+-114.77 28.264 4101
+-114.644 28.264 4048
+-114.518 28.264 4022
+-114.392 28.264 4008
+-114.266 28.264 3997
+-114.14 28.264 4088
+-114.014 28.264 4223
+-113.888 28.264 4307
+-113.762 28.264 4363
+-113.636 28.264 4439
+-113.51 28.264 4584
+-113.384 28.264 4691
+-113.258 28.264 4770
+-113.132 28.264 4856
+-113.006 28.264 4941
+-112.88 28.264 4968
+-112.754 28.264 4995
+-112.628 28.264 5080
+-112.502 28.264 5195
+-112.376 28.264 5183
+-112.25 28.264 5258
+-112.124 28.264 5413
+-111.998 28.264 5495
+-111.872 28.264 5535
+-111.746 28.264 5614
+-111.62 28.264 5641
+-111.494 28.264 5701
+-111.368 28.264 5726
+-111.242 28.264 5753
+-111.116 28.264 5759
+-110.99 28.264 5764
+-110.864 28.264 5788
+-110.738 28.264 5829
+-110.612 28.264 5843
+-110.486 28.264 5859
+-110.36 28.264 5854
+-110.234 28.264 5844
+-110.108 28.264 5839
+-109.982 28.264 5814
+-109.856 28.264 5785
+-109.73 28.264 5742
+-109.604 28.264 5710
+-109.478 28.264 5678
+-109.352 28.264 5676
+-109.226 28.264 5638
+-109.1 28.264 5598
+-108.974 28.264 5526
+-108.848 28.264 5447
+-108.722 28.264 5463
+-108.596 28.264 5381
+-108.47 28.264 5285
+-108.344 28.264 5183
+-108.218 28.264 5138
+-108.092 28.264 5119
+-107.966 28.264 5014
+-107.84 28.264 4930
+-107.714 28.264 4859
+-107.588 28.264 4747
+-107.462 28.264 4696
+-107.336 28.264 4630
+-107.21 28.264 4555
+-107.084 28.264 4434
+-106.958 28.264 4283
+-106.832 28.264 4160
+-106.706 28.264 4153
+-106.58 28.264 4115
+-106.454 28.264 4005
+-106.328 28.264 3856
+-106.202 28.264 3769
+-106.076 28.264 3764
+-105.95 28.264 3763
+-105.824 28.264 3736
+-105.698 28.264 3713
+-105.572 28.264 3688
+-105.446 28.264 3661
+-105.32 28.264 3628
+-105.194 28.264 3554
+-105.068 28.264 3512
+-104.942 28.264 3463
+-104.816 28.264 3430
+-104.69 28.264 3410
+-104.564 28.264 3376
+-104.438 28.264 3365
+-104.312 28.264 3364
+-104.186 28.264 3384
+-104.06 28.264 3399
+-103.934 28.264 3415
+-103.808 28.264 3430
+-103.682 28.264 3379
+-103.556 28.264 3388
+-103.43 28.264 3398
+-103.304 28.264 3393
+-103.178 28.264 3403
+-103.052 28.264 3353
+-102.926 28.264 3344
+-102.8 28.264 3350
+-102.674 28.264 3303
+-102.548 28.264 3306
+-102.422 28.264 3310
+-102.296 28.264 3313
+-102.17 28.264 3332
+-102.044 28.264 3363
+-101.918 28.264 3265
+-101.792 28.264 3266
+-101.666 28.264 3266
+-101.54 28.264 3267
+-101.414 28.264 3274
+-101.288 28.264 3275
+-101.162 28.264 3277
+-101.036 28.264 3279
+-100.91 28.264 3280
+-100.784 28.264 3282
+-100.658 28.264 3217
+-100.532 28.264 3217
+-100.406 28.264 3218
+-100.28 28.264 3218
+-100.154 28.264 3219
+-100.028 28.264 3171
+-99.902 28.264 3138
+-99.776 28.264 3130
+-99.65 28.264 3132
+-99.524 28.264 3134
+-99.398 28.264 3103
+-99.272 28.264 3104
+-99.146 28.264 3105
+-99.02 28.264 3048
+-98.894 28.264 3049
+-98.768 28.264 3049
+-98.642 28.264 3050
+-98.516 28.264 2981
+-98.39 28.264 2885
+-98.264 28.264 2885
+-98.138 28.264 2885
+-98.012 28.264 2884
+-97.886 28.264 2710
+-97.76 28.264 2704
+-97.634 28.264 2699
+-97.508 28.264 2581
+-97.382 28.264 2532
+-97.256 28.264 2452
+-97.13 28.264 2445
+-97.004 28.264 2460
+-96.878 28.264 2401
+-96.752 28.264 2331
+-96.626 28.264 2325
+-96.5 28.264 2318
+-96.374 28.264 2301
+-96.248 28.264 2360
+-96.122 28.264 2376
+-95.996 28.264 2370
+-95.87 28.264 2376
+-95.744 28.264 2501
+-95.618 28.264 2505
+-95.492 28.264 2511
+-95.366 28.264 2569
+-95.24 28.264 2639
+-95.114 28.264 2833
+-94.988 28.264 2965
+-94.862 28.264 2967
+-94.736 28.264 2968
+-94.61 28.264 3021
+-94.484 28.264 3022
+-94.358 28.264 3038
+-94.232 28.264 3039
+-94.106 28.264 3064
+-93.98 28.264 3065
+-93.854 28.264 3066
+-93.728 28.264 3288
+-93.602 28.264 3351
+-93.476 28.264 3351
+-93.35 28.264 3351
+-93.224 28.264 3350
+-93.098 28.264 3350
+-92.972 28.264 3350
+-92.846 28.264 3350
+-92.72 28.264 3350
+-92.594 28.264 3350
+-92.468 28.264 3350
+-92.342 28.264 3383
+-92.216 28.264 3383
+-92.09 28.264 3383
+-91.964 28.264 3521
+-91.838 28.264 3522
+-91.712 28.264 3522
+-91.586 28.264 3523
+-91.46 28.264 3524
+-91.334 28.264 3525
+-91.208 28.264 3527
+-91.082 28.264 3562
+-90.956 28.264 3564
+-90.83 28.264 3566
+-90.704 28.264 3577
+-90.578 28.264 3580
+-90.452 28.264 3583
+-90.326 28.264 3717
+-90.2 28.264 3723
+-90.074 28.264 3729
+-89.948 28.264 3736
+-89.822 28.264 3744
+-89.696 28.264 3783
+-89.57 28.264 3879
+-89.444 28.264 3926
+-89.318 28.264 3933
+-89.192 28.264 3953
+-89.066 28.264 3959
+-88.94 28.264 4029
+-88.814 28.264 4047
+-88.688 28.264 4040
+-88.562 28.264 4029
+-88.436 28.264 4012
+-88.31 28.264 3995
+-88.184 28.264 3947
+-88.058 28.264 3882
+-87.932 28.264 3785
+-87.806 28.264 3731
+-87.68 28.264 3873
+-87.554 28.264 3990
+-87.428 28.264 3938
+-87.302 28.264 4076
+-87.176 28.264 4264
+-87.05 28.264 4415
+-86.924 28.264 4576
+-86.798 28.264 4749
+-86.672 28.264 4920
+-86.546 28.264 5113
+-86.42 28.264 5311
+-86.294 28.264 5380
+-86.168 28.264 5482
+-86.042 28.264 5559
+-85.916 28.264 5705
+-85.79 28.264 5856
+-85.664 28.264 5954
+-85.538 28.264 6068
+-85.412 28.264 6276
+-85.286 28.264 6314
+-85.16 28.264 6518
+-85.034 28.264 6654
+-84.908 28.264 6762
+-84.782 28.264 6897
+-84.656 28.264 7092
+-84.53 28.264 7195
+-84.404 28.264 7368
+-84.278 28.264 7482
+-84.152 28.264 7636
+-84.026 28.264 7751
+-83.9 28.264 7927
+-83.774 28.264 8065
+-83.648 28.264 8130
+-83.522 28.264 8287
+-83.396 28.264 8459
+-83.27 28.264 8566
+-83.144 28.264 8685
+-83.018 28.264 8784
+-82.892 28.264 8942
+-82.766 28.264 9027
+-82.64 28.264 9170
+-82.514 28.264 9289
+-82.388 28.264 9331
+-82.262 28.264 9370
+-82.136 28.264 9332
+-82.01 28.264 9300
+-81.884 28.264 9214
+-81.758 28.264 9170
+-81.632 28.264 9039
+-81.506 28.264 8912
+-81.38 28.264 8816
+-81.254 28.264 8707
+-81.128 28.264 8619
+-81.002 28.264 8457
+-80.876 28.264 8303
+-80.75 28.264 8209
+-80.624 28.264 7978
+-80.498 28.264 7923
+-80.372 28.264 7753
+-80.246 28.264 7633
+-80.12 28.264 7495
+-79.994 28.264 7290
+-79.868 28.264 7264
+-79.742 28.264 7073
+-79.616 28.264 6913
+-79.49 28.264 6766
+-79.364 28.264 6642
+-79.238 28.264 6550
+-79.112 28.264 6401
+-78.986 28.264 6242
+-78.86 28.264 6119
+-78.734 28.264 6004
+-78.608 28.264 5915
+-78.482 28.264 5770
+-78.356 28.264 5605
+-78.23 28.264 5440
+-78.104 28.264 5284
+-77.978 28.264 5168
+-77.852 28.264 4996
+-77.726 28.264 4781
+-77.6 28.264 4680
+-77.474 28.264 4522
+-77.348 28.264 4627
+-77.222 28.264 4671
+-77.096 28.264 4606
+-76.97 28.264 4569
+-76.844 28.264 4423
+-76.718 28.264 4372
+-76.592 28.264 4286
+-76.466 28.264 4249
+-76.34 28.264 4173
+-76.214 28.264 4064
+-76.088 28.264 3976
+-75.962 28.264 3890
+-75.836 28.264 3847
+-75.71 28.264 3827
+-75.584 28.264 3746
+-75.458 28.264 3726
+-75.332 28.264 3709
+-75.206 28.264 3695
+-75.08 28.264 3640
+-74.954 28.264 3599
+-74.828 28.264 3590
+-74.702 28.264 3583
+-74.576 28.264 3454
+-74.45 28.264 3435
+-74.324 28.264 3433
+-74.198 28.264 3341
+-74.072 28.264 3320
+-73.946 28.264 3298
+-73.82 28.264 3299
+-73.694 28.264 3301
+-73.568 28.264 3302
+-73.442 28.264 3264
+-73.316 28.264 3250
+-73.19 28.264 3250
+-73.064 28.264 3251
+-72.938 28.264 3252
+-72.812 28.264 3253
+-72.686 28.264 3254
+-72.56 28.264 3255
+-72.434 28.264 3256
+-72.308 28.264 3257
+-72.182 28.264 3258
+-72.056 28.264 3208
+-71.93 28.264 3209
+-71.804 28.264 3210
+-71.678 28.264 3211
+-71.552 28.264 3211
+-71.426 28.264 3212
+-71.3 28.264 3213
+-71.174 28.264 3213
+-71.048 28.264 3214
+-70.922 28.264 3215
+-70.796 28.264 3215
+-70.67 28.264 3216
+-70.544 28.264 3217
+-70.418 28.264 3217
+-70.292 28.264 3218
+-70.166 28.264 3107
+-70.04 28.264 3107
+-69.914 28.264 3107
+-69.788 28.264 3106
+-69.662 28.264 3106
+-69.536 28.264 3106
+-69.41 28.264 3106
+-69.284 28.264 3106
+-69.158 28.264 3106
+-69.032 28.264 3105
+-68.906 28.264 3105
+-68.78 28.264 3105
+-68.654 28.264 3025
+-68.528 28.264 3024
+-68.402 28.264 3023
+-68.276 28.264 3022
+-68.15 28.264 3020
+-68.024 28.264 3019
+-67.898 28.264 3018
+-67.772 28.264 3017
+-67.646 28.264 3016
+-67.52 28.264 3015
+-67.394 28.264 3014
+-67.268 28.264 3013
+-67.142 28.264 3012
+-67.016 28.264 3011
+-66.89 28.264 3010
+-66.764 28.264 3009
+-66.638 28.264 3008
+-66.512 28.264 3007
+-66.386 28.264 3006
+-66.26 28.264 3006
+-66.134 28.264 3005
+-66.008 28.264 3004
+-65.882 28.264 3003
+-65.756 28.264 3002
+-65.63 28.264 3002
+-65.504 28.264 3001
+-65.378 28.264 3000
+-65.252 28.264 3000
+-65.126 28.264 2999
+-128 28.212 2685
+-127.874 28.212 2680
+-127.748 28.212 2675
+-127.622 28.212 2670
+-127.496 28.212 2666
+-127.37 28.212 2674
+-127.244 28.212 2669
+-127.118 28.212 2667
+-126.992 28.212 2665
+-126.866 28.212 2664
+-126.74 28.212 2664
+-126.614 28.212 2664
+-126.488 28.212 2665
+-126.362 28.212 2672
+-126.236 28.212 2685
+-126.11 28.212 2741
+-125.984 28.212 2703
+-125.858 28.212 2710
+-125.732 28.212 2755
+-125.606 28.212 2763
+-125.48 28.212 2794
+-125.354 28.212 2839
+-125.228 28.212 2852
+-125.102 28.212 2865
+-124.976 28.212 2880
+-124.85 28.212 2895
+-124.724 28.212 2893
+-124.598 28.212 2905
+-124.472 28.212 2947
+-124.346 28.212 2966
+-124.22 28.212 3012
+-124.094 28.212 3031
+-123.968 28.212 3023
+-123.842 28.212 3029
+-123.716 28.212 3057
+-123.59 28.212 3076
+-123.464 28.212 3095
+-123.338 28.212 3207
+-123.212 28.212 3383
+-123.086 28.212 3381
+-122.96 28.212 3378
+-122.834 28.212 3361
+-122.708 28.212 3358
+-122.582 28.212 3369
+-122.456 28.212 3363
+-122.33 28.212 3359
+-122.204 28.212 3394
+-122.078 28.212 3386
+-121.952 28.212 3359
+-121.826 28.212 3361
+-121.7 28.212 3371
+-121.574 28.212 3366
+-121.448 28.212 3376
+-121.322 28.212 3373
+-121.196 28.212 3387
+-121.07 28.212 3389
+-120.944 28.212 3399
+-120.818 28.212 3432
+-120.692 28.212 3451
+-120.566 28.212 3489
+-120.44 28.212 3519
+-120.314 28.212 3556
+-120.188 28.212 3601
+-120.062 28.212 3666
+-119.936 28.212 3701
+-119.81 28.212 3756
+-119.684 28.212 3854
+-119.558 28.212 3947
+-119.432 28.212 3999
+-119.306 28.212 3977
+-119.18 28.212 4072
+-119.054 28.212 4169
+-118.928 28.212 4231
+-118.802 28.212 4257
+-118.676 28.212 4277
+-118.55 28.212 4282
+-118.424 28.212 4310
+-118.298 28.212 4363
+-118.172 28.212 4411
+-118.046 28.212 4493
+-117.92 28.212 4539
+-117.794 28.212 4551
+-117.668 28.212 4556
+-117.542 28.212 4566
+-117.416 28.212 4594
+-117.29 28.212 4613
+-117.164 28.212 4605
+-117.038 28.212 4606
+-116.912 28.212 4614
+-116.786 28.212 4614
+-116.66 28.212 4624
+-116.534 28.212 4582
+-116.408 28.212 4544
+-116.282 28.212 4504
+-116.156 28.212 4494
+-116.03 28.212 4493
+-115.904 28.212 4492
+-115.778 28.212 4472
+-115.652 28.212 4401
+-115.526 28.212 4348
+-115.4 28.212 4257
+-115.274 28.212 4206
+-115.148 28.212 4207
+-115.022 28.212 4174
+-114.896 28.212 4115
+-114.77 28.212 4018
+-114.644 28.212 3955
+-114.518 28.212 3970
+-114.392 28.212 3953
+-114.266 28.212 3872
+-114.14 28.212 4013
+-114.014 28.212 4206
+-113.888 28.212 4300
+-113.762 28.212 4312
+-113.636 28.212 4373
+-113.51 28.212 4499
+-113.384 28.212 4649
+-113.258 28.212 4739
+-113.132 28.212 4784
+-113.006 28.212 4885
+-112.88 28.212 4906
+-112.754 28.212 4989
+-112.628 28.212 5033
+-112.502 28.212 5104
+-112.376 28.212 5137
+-112.25 28.212 5207
+-112.124 28.212 5340
+-111.998 28.212 5447
+-111.872 28.212 5451
+-111.746 28.212 5552
+-111.62 28.212 5630
+-111.494 28.212 5663
+-111.368 28.212 5695
+-111.242 28.212 5710
+-111.116 28.212 5728
+-110.99 28.212 5727
+-110.864 28.212 5743
+-110.738 28.212 5756
+-110.612 28.212 5764
+-110.486 28.212 5794
+-110.36 28.212 5776
+-110.234 28.212 5808
+-110.108 28.212 5771
+-109.982 28.212 5759
+-109.856 28.212 5735
+-109.73 28.212 5696
+-109.604 28.212 5708
+-109.478 28.212 5669
+-109.352 28.212 5630
+-109.226 28.212 5593
+-109.1 28.212 5544
+-108.974 28.212 5462
+-108.848 28.212 5403
+-108.722 28.212 5388
+-108.596 28.212 5326
+-108.47 28.212 5271
+-108.344 28.212 5204
+-108.218 28.212 5153
+-108.092 28.212 5084
+-107.966 28.212 4939
+-107.84 28.212 4838
+-107.714 28.212 4814
+-107.588 28.212 4720
+-107.462 28.212 4635
+-107.336 28.212 4556
+-107.21 28.212 4472
+-107.084 28.212 4368
+-106.958 28.212 4213
+-106.832 28.212 4078
+-106.706 28.212 4128
+-106.58 28.212 4131
+-106.454 28.212 4066
+-106.328 28.212 3918
+-106.202 28.212 3838
+-106.076 28.212 3811
+-105.95 28.212 3795
+-105.824 28.212 3774
+-105.698 28.212 3739
+-105.572 28.212 3713
+-105.446 28.212 3685
+-105.32 28.212 3655
+-105.194 28.212 3623
+-105.068 28.212 3550
+-104.942 28.212 3519
+-104.816 28.212 3481
+-104.69 28.212 3434
+-104.564 28.212 3422
+-104.438 28.212 3417
+-104.312 28.212 3406
+-104.186 28.212 3402
+-104.06 28.212 3419
+-103.934 28.212 3431
+-103.808 28.212 3376
+-103.682 28.212 3390
+-103.556 28.212 3399
+-103.43 28.212 3399
+-103.304 28.212 3407
+-103.178 28.212 3400
+-103.052 28.212 3408
+-102.926 28.212 3356
+-102.8 28.212 3295
+-102.674 28.212 3298
+-102.548 28.212 3302
+-102.422 28.212 3305
+-102.296 28.212 3308
+-102.17 28.212 3311
+-102.044 28.212 3331
+-101.918 28.212 3364
+-101.792 28.212 3265
+-101.666 28.212 3265
+-101.54 28.212 3266
+-101.414 28.212 3267
+-101.288 28.212 3274
+-101.162 28.212 3275
+-101.036 28.212 3277
+-100.91 28.212 3279
+-100.784 28.212 3280
+-100.658 28.212 3282
+-100.532 28.212 3217
+-100.406 28.212 3217
+-100.28 28.212 3218
+-100.154 28.212 3218
+-100.028 28.212 3219
+-99.902 28.212 3172
+-99.776 28.212 3139
+-99.65 28.212 3131
+-99.524 28.212 3133
+-99.398 28.212 3134
+-99.272 28.212 3103
+-99.146 28.212 3104
+-99.02 28.212 3106
+-98.894 28.212 3048
+-98.768 28.212 3049
+-98.642 28.212 3050
+-98.516 28.212 3050
+-98.39 28.212 2981
+-98.264 28.212 2884
+-98.138 28.212 2884
+-98.012 28.212 2884
+-97.886 28.212 2884
+-97.76 28.212 2706
+-97.634 28.212 2701
+-97.508 28.212 2583
+-97.382 28.212 2577
+-97.256 28.212 2493
+-97.13 28.212 2448
+-97.004 28.212 2462
+-96.878 28.212 2404
+-96.752 28.212 2334
+-96.626 28.212 2328
+-96.5 28.212 2321
+-96.374 28.212 2304
+-96.248 28.212 2364
+-96.122 28.212 2382
+-95.996 28.212 2375
+-95.87 28.212 2476
+-95.744 28.212 2495
+-95.618 28.212 2512
+-95.492 28.212 2519
+-95.366 28.212 2643
+-95.24 28.212 2803
+-95.114 28.212 2804
+-94.988 28.212 3002
+-94.862 28.212 3003
+-94.736 28.212 3023
+-94.61 28.212 3024
+-94.484 28.212 3040
+-94.358 28.212 3041
+-94.232 28.212 3065
+-94.106 28.212 3066
+-93.98 28.212 3067
+-93.854 28.212 3288
+-93.728 28.212 3352
+-93.602 28.212 3352
+-93.476 28.212 3351
+-93.35 28.212 3351
+-93.224 28.212 3351
+-93.098 28.212 3350
+-92.972 28.212 3350
+-92.846 28.212 3350
+-92.72 28.212 3349
+-92.594 28.212 3349
+-92.468 28.212 3382
+-92.342 28.212 3382
+-92.216 28.212 3381
+-92.09 28.212 3509
+-91.964 28.212 3509
+-91.838 28.212 3509
+-91.712 28.212 3509
+-91.586 28.212 3510
+-91.46 28.212 3511
+-91.334 28.212 3512
+-91.208 28.212 3555
+-91.082 28.212 3556
+-90.956 28.212 3557
+-90.83 28.212 3559
+-90.704 28.212 3561
+-90.578 28.212 3564
+-90.452 28.212 3705
+-90.326 28.212 3710
+-90.2 28.212 3715
+-90.074 28.212 3722
+-89.948 28.212 3729
+-89.822 28.212 3769
+-89.696 28.212 3810
+-89.57 28.212 3880
+-89.444 28.212 3889
+-89.318 28.212 3931
+-89.192 28.212 3939
+-89.066 28.212 3947
+-88.94 28.212 3954
+-88.814 28.212 4035
+-88.688 28.212 4061
+-88.562 28.212 4052
+-88.436 28.212 4038
+-88.31 28.212 4017
+-88.184 28.212 3989
+-88.058 28.212 3960
+-87.932 28.212 3943
+-87.806 28.212 3953
+-87.68 28.212 4009
+-87.554 28.212 4053
+-87.428 28.212 4054
+-87.302 28.212 4119
+-87.176 28.212 4245
+-87.05 28.212 4425
+-86.924 28.212 4595
+-86.798 28.212 4781
+-86.672 28.212 4931
+-86.546 28.212 5090
+-86.42 28.212 5275
+-86.294 28.212 5316
+-86.168 28.212 5460
+-86.042 28.212 5489
+-85.916 28.212 5653
+-85.79 28.212 5796
+-85.664 28.212 5938
+-85.538 28.212 6101
+-85.412 28.212 6287
+-85.286 28.212 6433
+-85.16 28.212 6564
+-85.034 28.212 6582
+-84.908 28.212 6780
+-84.782 28.212 6937
+-84.656 28.212 7067
+-84.53 28.212 7236
+-84.404 28.212 7348
+-84.278 28.212 7512
+-84.152 28.212 7658
+-84.026 28.212 7748
+-83.9 28.212 7959
+-83.774 28.212 8028
+-83.648 28.212 8189
+-83.522 28.212 8272
+-83.396 28.212 8403
+-83.27 28.212 8525
+-83.144 28.212 8707
+-83.018 28.212 8868
+-82.892 28.212 8950
+-82.766 28.212 9155
+-82.64 28.212 9236
+-82.514 28.212 9332
+-82.388 28.212 9385
+-82.262 28.212 9390
+-82.136 28.212 9405
+-82.01 28.212 9336
+-81.884 28.212 9307
+-81.758 28.212 9217
+-81.632 28.212 9111
+-81.506 28.212 8937
+-81.38 28.212 8853
+-81.254 28.212 8718
+-81.128 28.212 8638
+-81.002 28.212 8517
+-80.876 28.212 8345
+-80.75 28.212 8117
+-80.624 28.212 7990
+-80.498 28.212 7930
+-80.372 28.212 7782
+-80.246 28.212 7629
+-80.12 28.212 7481
+-79.994 28.212 7371
+-79.868 28.212 7253
+-79.742 28.212 7027
+-79.616 28.212 6942
+-79.49 28.212 6823
+-79.364 28.212 6648
+-79.238 28.212 6600
+-79.112 28.212 6377
+-78.986 28.212 6227
+-78.86 28.212 6139
+-78.734 28.212 6023
+-78.608 28.212 5898
+-78.482 28.212 5748
+-78.356 28.212 5563
+-78.23 28.212 5411
+-78.104 28.212 5171
+-77.978 28.212 5201
+-77.852 28.212 5061
+-77.726 28.212 4862
+-77.6 28.212 4738
+-77.474 28.212 4680
+-77.348 28.212 4673
+-77.222 28.212 4680
+-77.096 28.212 4656
+-76.97 28.212 4586
+-76.844 28.212 4498
+-76.718 28.212 4406
+-76.592 28.212 4366
+-76.466 28.212 4301
+-76.34 28.212 4162
+-76.214 28.212 4132
+-76.088 28.212 4005
+-75.962 28.212 3834
+-75.836 28.212 3787
+-75.71 28.212 3758
+-75.584 28.212 3732
+-75.458 28.212 3710
+-75.332 28.212 3691
+-75.206 28.212 3611
+-75.08 28.212 3597
+-74.954 28.212 3586
+-74.828 28.212 3578
+-74.702 28.212 3572
+-74.576 28.212 3448
+-74.45 28.212 3435
+-74.324 28.212 3418
+-74.198 28.212 3308
+-74.072 28.212 3299
+-73.946 28.212 3301
+-73.82 28.212 3303
+-73.694 28.212 3306
+-73.568 28.212 3254
+-73.442 28.212 3240
+-73.316 28.212 3241
+-73.19 28.212 3242
+-73.064 28.212 3244
+-72.938 28.212 3245
+-72.812 28.212 3247
+-72.686 28.212 3248
+-72.56 28.212 3249
+-72.434 28.212 3251
+-72.308 28.212 3252
+-72.182 28.212 3253
+-72.056 28.212 3255
+-71.93 28.212 3205
+-71.804 28.212 3206
+-71.678 28.212 3207
+-71.552 28.212 3208
+-71.426 28.212 3209
+-71.3 28.212 3210
+-71.174 28.212 3211
+-71.048 28.212 3212
+-70.922 28.212 3212
+-70.796 28.212 3213
+-70.67 28.212 3214
+-70.544 28.212 3214
+-70.418 28.212 3215
+-70.292 28.212 3216
+-70.166 28.212 3216
+-70.04 28.212 3106
+-69.914 28.212 3106
+-69.788 28.212 3106
+-69.662 28.212 3106
+-69.536 28.212 3106
+-69.41 28.212 3106
+-69.284 28.212 3106
+-69.158 28.212 3105
+-69.032 28.212 3105
+-68.906 28.212 3105
+-68.78 28.212 3025
+-68.654 28.212 3024
+-68.528 28.212 3022
+-68.402 28.212 3021
+-68.276 28.212 3020
+-68.15 28.212 3019
+-68.024 28.212 3018
+-67.898 28.212 3017
+-67.772 28.212 3015
+-67.646 28.212 3014
+-67.52 28.212 3013
+-67.394 28.212 3012
+-67.268 28.212 3011
+-67.142 28.212 3010
+-67.016 28.212 3009
+-66.89 28.212 3008
+-66.764 28.212 3008
+-66.638 28.212 3007
+-66.512 28.212 3006
+-66.386 28.212 3005
+-66.26 28.212 3004
+-66.134 28.212 3003
+-66.008 28.212 3003
+-65.882 28.212 3002
+-65.756 28.212 3001
+-65.63 28.212 3000
+-65.504 28.212 3000
+-65.378 28.212 2999
+-65.252 28.212 2998
+-65.126 28.212 2998
+-128 28.16 2696
+-127.874 28.16 2691
+-127.748 28.16 2687
+-127.622 28.16 2682
+-127.496 28.16 2692
+-127.37 28.16 2685
+-127.244 28.16 2684
+-127.118 28.16 2682
+-126.992 28.16 2681
+-126.866 28.16 2680
+-126.74 28.16 2681
+-126.614 28.16 2681
+-126.488 28.16 2688
+-126.362 28.16 2700
+-126.236 28.16 2756
+-126.11 28.16 2716
+-125.984 28.16 2722
+-125.858 28.16 2767
+-125.732 28.16 2774
+-125.606 28.16 2803
+-125.48 28.16 2848
+-125.354 28.16 2859
+-125.228 28.16 2871
+-125.102 28.16 2884
+-124.976 28.16 2897
+-124.85 28.16 2893
+-124.724 28.16 2904
+-124.598 28.16 2944
+-124.472 28.16 2961
+-124.346 28.16 3007
+-124.22 28.16 3025
+-124.094 28.16 3014
+-123.968 28.16 3020
+-123.842 28.16 3047
+-123.716 28.16 3066
+-123.59 28.16 3083
+-123.464 28.16 3202
+-123.338 28.16 3384
+-123.212 28.16 3382
+-123.086 28.16 3379
+-122.96 28.16 3361
+-122.834 28.16 3358
+-122.708 28.16 3368
+-122.582 28.16 3364
+-122.456 28.16 3360
+-122.33 28.16 3396
+-122.204 28.16 3388
+-122.078 28.16 3360
+-121.952 28.16 3361
+-121.826 28.16 3369
+-121.7 28.16 3360
+-121.574 28.16 3364
+-121.448 28.16 3350
+-121.322 28.16 3350
+-121.196 28.16 3338
+-121.07 28.16 3337
+-120.944 28.16 3348
+-120.818 28.16 3384
+-120.692 28.16 3412
+-120.566 28.16 3454
+-120.44 28.16 3472
+-120.314 28.16 3487
+-120.188 28.16 3523
+-120.062 28.16 3582
+-119.936 28.16 3642
+-119.81 28.16 3723
+-119.684 28.16 3793
+-119.558 28.16 3892
+-119.432 28.16 3956
+-119.306 28.16 3998
+-119.18 28.16 4050
+-119.054 28.16 4116
+-118.928 28.16 4171
+-118.802 28.16 4207
+-118.676 28.16 4234
+-118.55 28.16 4254
+-118.424 28.16 4256
+-118.298 28.16 4295
+-118.172 28.16 4352
+-118.046 28.16 4408
+-117.92 28.16 4453
+-117.794 28.16 4484
+-117.668 28.16 4506
+-117.542 28.16 4523
+-117.416 28.16 4520
+-117.29 28.16 4524
+-117.164 28.16 4532
+-117.038 28.16 4534
+-116.912 28.16 4539
+-116.786 28.16 4553
+-116.66 28.16 4539
+-116.534 28.16 4524
+-116.408 28.16 4494
+-116.282 28.16 4459
+-116.156 28.16 4465
+-116.03 28.16 4457
+-115.904 28.16 4443
+-115.778 28.16 4391
+-115.652 28.16 4341
+-115.526 28.16 4283
+-115.4 28.16 4235
+-115.274 28.16 4203
+-115.148 28.16 4178
+-115.022 28.16 4135
+-114.896 28.16 4061
+-114.77 28.16 3955
+-114.644 28.16 3876
+-114.518 28.16 3931
+-114.392 28.16 3962
+-114.266 28.16 3955
+-114.14 28.16 4069
+-114.014 28.16 4199
+-113.888 28.16 4292
+-113.762 28.16 4333
+-113.636 28.16 4334
+-113.51 28.16 4440
+-113.384 28.16 4594
+-113.258 28.16 4690
+-113.132 28.16 4685
+-113.006 28.16 4802
+-112.88 28.16 4923
+-112.754 28.16 4953
+-112.628 28.16 5020
+-112.502 28.16 5122
+-112.376 28.16 5102
+-112.25 28.16 5170
+-112.124 28.16 5269
+-111.998 28.16 5386
+-111.872 28.16 5441
+-111.746 28.16 5502
+-111.62 28.16 5561
+-111.494 28.16 5597
+-111.368 28.16 5616
+-111.242 28.16 5641
+-111.116 28.16 5674
+-110.99 28.16 5665
+-110.864 28.16 5677
+-110.738 28.16 5693
+-110.612 28.16 5709
+-110.486 28.16 5740
+-110.36 28.16 5769
+-110.234 28.16 5776
+-110.108 28.16 5764
+-109.982 28.16 5736
+-109.856 28.16 5716
+-109.73 28.16 5656
+-109.604 28.16 5628
+-109.478 28.16 5622
+-109.352 28.16 5584
+-109.226 28.16 5540
+-109.1 28.16 5484
+-108.974 28.16 5421
+-108.848 28.16 5384
+-108.722 28.16 5314
+-108.596 28.16 5249
+-108.47 28.16 5239
+-108.344 28.16 5189
+-108.218 28.16 5114
+-108.092 28.16 5018
+-107.966 28.16 4913
+-107.84 28.16 4817
+-107.714 28.16 4737
+-107.588 28.16 4641
+-107.462 28.16 4563
+-107.336 28.16 4482
+-107.21 28.16 4395
+-107.084 28.16 4327
+-106.958 28.16 4265
+-106.832 28.16 4161
+-106.706 28.16 4161
+-106.58 28.16 4146
+-106.454 28.16 4079
+-106.328 28.16 3989
+-106.202 28.16 3911
+-106.076 28.16 3858
+-105.95 28.16 3825
+-105.824 28.16 3797
+-105.698 28.16 3769
+-105.572 28.16 3730
+-105.446 28.16 3702
+-105.32 28.16 3674
+-105.194 28.16 3646
+-105.068 28.16 3577
+-104.942 28.16 3551
+-104.816 28.16 3529
+-104.69 28.16 3512
+-104.564 28.16 3455
+-104.438 28.16 3448
+-104.312 28.16 3423
+-104.186 28.16 3375
+-104.06 28.16 3382
+-103.934 28.16 3388
+-103.808 28.16 3382
+-103.682 28.16 3392
+-103.556 28.16 3400
+-103.43 28.16 3408
+-103.304 28.16 3406
+-103.178 28.16 3413
+-103.052 28.16 3355
+-102.926 28.16 3360
+-102.8 28.16 3358
+-102.674 28.16 3293
+-102.548 28.16 3297
+-102.422 28.16 3300
+-102.296 28.16 3303
+-102.17 28.16 3306
+-102.044 28.16 3308
+-101.918 28.16 3330
+-101.792 28.16 3363
+-101.666 28.16 3264
+-101.54 28.16 3265
+-101.414 28.16 3266
+-101.288 28.16 3208
+-101.162 28.16 3273
+-101.036 28.16 3275
+-100.91 28.16 3277
+-100.784 28.16 3279
+-100.658 28.16 3280
+-100.532 28.16 3282
+-100.406 28.16 3217
+-100.28 28.16 3217
+-100.154 28.16 3218
+-100.028 28.16 3218
+-99.902 28.16 3219
+-99.776 28.16 3172
+-99.65 28.16 3139
+-99.524 28.16 3131
+-99.398 28.16 3133
+-99.272 28.16 3135
+-99.146 28.16 3103
+-99.02 28.16 3105
+-98.894 28.16 3106
+-98.768 28.16 3048
+-98.642 28.16 3049
+-98.516 28.16 3050
+-98.39 28.16 3051
+-98.264 28.16 2981
+-98.138 28.16 2884
+-98.012 28.16 2883
+-97.886 28.16 2883
+-97.76 28.16 2883
+-97.634 28.16 2703
+-97.508 28.16 2586
+-97.382 28.16 2580
+-97.256 28.16 2495
+-97.13 28.16 2488
+-97.004 28.16 2422
+-96.878 28.16 2406
+-96.752 28.16 2336
+-96.626 28.16 2373
+-96.5 28.16 2311
+-96.374 28.16 2326
+-96.248 28.16 2369
+-96.122 28.16 2387
+-95.996 28.16 2476
+-95.87 28.16 2492
+-95.744 28.16 2521
+-95.618 28.16 2527
+-95.492 28.16 2590
+-95.366 28.16 2806
+-95.24 28.16 2807
+-95.114 28.16 2808
+-94.988 28.16 3005
+-94.862 28.16 3024
+-94.736 28.16 3025
+-94.61 28.16 3041
+-94.484 28.16 3042
+-94.358 28.16 3066
+-94.232 28.16 3067
+-94.106 28.16 3068
+-93.98 28.16 3289
+-93.854 28.16 3353
+-93.728 28.16 3352
+-93.602 28.16 3352
+-93.476 28.16 3351
+-93.35 28.16 3351
+-93.224 28.16 3350
+-93.098 28.16 3350
+-92.972 28.16 3350
+-92.846 28.16 3349
+-92.72 28.16 3349
+-92.594 28.16 3381
+-92.468 28.16 3380
+-92.342 28.16 3379
+-92.216 28.16 3506
+-92.09 28.16 3506
+-91.964 28.16 3505
+-91.838 28.16 3505
+-91.712 28.16 3505
+-91.586 28.16 3506
+-91.46 28.16 3506
+-91.334 28.16 3547
+-91.208 28.16 3548
+-91.082 28.16 3548
+-90.956 28.16 3549
+-90.83 28.16 3551
+-90.704 28.16 3553
+-90.578 28.16 3555
+-90.452 28.16 3559
+-90.326 28.16 3698
+-90.2 28.16 3703
+-90.074 28.16 3710
+-89.948 28.16 3750
+-89.822 28.16 3790
+-89.696 28.16 3861
+-89.57 28.16 3871
+-89.444 28.16 3881
+-89.318 28.16 3891
+-89.192 28.16 3936
+-89.066 28.16 3945
+-88.94 28.16 3954
+-88.814 28.16 3963
+-88.688 28.16 4041
+-88.562 28.16 4069
+-88.436 28.16 4060
+-88.31 28.16 4047
+-88.184 28.16 4071
+-88.058 28.16 4057
+-87.932 28.16 4053
+-87.806 28.16 4059
+-87.68 28.16 4104
+-87.554 28.16 4132
+-87.428 28.16 4132
+-87.302 28.16 4086
+-87.176 28.16 4219
+-87.05 28.16 4437
+-86.924 28.16 4656
+-86.798 28.16 4797
+-86.672 28.16 4851
+-86.546 28.16 5001
+-86.42 28.16 5211
+-86.294 28.16 5201
+-86.168 28.16 5394
+-86.042 28.16 5525
+-85.916 28.16 5685
+-85.79 28.16 5764
+-85.664 28.16 5911
+-85.538 28.16 6099
+-85.412 28.16 6256
+-85.286 28.16 6433
+-85.16 28.16 6587
+-85.034 28.16 6676
+-84.908 28.16 6818
+-84.782 28.16 6907
+-84.656 28.16 7033
+-84.53 28.16 7213
+-84.404 28.16 7364
+-84.278 28.16 7514
+-84.152 28.16 7691
+-84.026 28.16 7758
+-83.9 28.16 7932
+-83.774 28.16 8031
+-83.648 28.16 8174
+-83.522 28.16 8343
+-83.396 28.16 8481
+-83.27 28.16 8624
+-83.144 28.16 8747
+-83.018 28.16 8895
+-82.892 28.16 9029
+-82.766 28.16 9146
+-82.64 28.16 9271
+-82.514 28.16 9376
+-82.388 28.16 9402
+-82.262 28.16 9473
+-82.136 28.16 9461
+-82.01 28.16 9387
+-81.884 28.16 9315
+-81.758 28.16 9265
+-81.632 28.16 9120
+-81.506 28.16 9044
+-81.38 28.16 8898
+-81.254 28.16 8759
+-81.128 28.16 8606
+-81.002 28.16 8444
+-80.876 28.16 8308
+-80.75 28.16 8186
+-80.624 28.16 8110
+-80.498 28.16 7939
+-80.372 28.16 7777
+-80.246 28.16 7680
+-80.12 28.16 7475
+-79.994 28.16 7335
+-79.868 28.16 7284
+-79.742 28.16 7066
+-79.616 28.16 6931
+-79.49 28.16 6863
+-79.364 28.16 6671
+-79.238 28.16 6615
+-79.112 28.16 6383
+-78.986 28.16 6230
+-78.86 28.16 6129
+-78.734 28.16 6013
+-78.608 28.16 5868
+-78.482 28.16 5801
+-78.356 28.16 5600
+-78.23 28.16 5414
+-78.104 28.16 5298
+-77.978 28.16 5250
+-77.852 28.16 5129
+-77.726 28.16 4985
+-77.6 28.16 4851
+-77.474 28.16 4782
+-77.348 28.16 4770
+-77.222 28.16 4725
+-77.096 28.16 4704
+-76.97 28.16 4649
+-76.844 28.16 4568
+-76.718 28.16 4470
+-76.592 28.16 4387
+-76.466 28.16 4291
+-76.34 28.16 4159
+-76.214 28.16 4084
+-76.088 28.16 3972
+-75.962 28.16 3899
+-75.836 28.16 3816
+-75.71 28.16 3786
+-75.584 28.16 3692
+-75.458 28.16 3667
+-75.332 28.16 3600
+-75.206 28.16 3583
+-75.08 28.16 3570
+-74.954 28.16 3560
+-74.828 28.16 3553
+-74.702 28.16 3428
+-74.576 28.16 3428
+-74.45 28.16 3407
+-74.324 28.16 3409
+-74.198 28.16 3326
+-74.072 28.16 3313
+-73.946 28.16 3290
+-73.82 28.16 3293
+-73.694 28.16 3258
+-73.568 28.16 3228
+-73.442 28.16 3230
+-73.316 28.16 3232
+-73.19 28.16 3234
+-73.064 28.16 3236
+-72.938 28.16 3238
+-72.812 28.16 3240
+-72.686 28.16 3242
+-72.56 28.16 3243
+-72.434 28.16 3245
+-72.308 28.16 3247
+-72.182 28.16 3248
+-72.056 28.16 3250
+-71.93 28.16 3251
+-71.804 28.16 3203
+-71.678 28.16 3204
+-71.552 28.16 3205
+-71.426 28.16 3206
+-71.3 28.16 3207
+-71.174 28.16 3208
+-71.048 28.16 3209
+-70.922 28.16 3210
+-70.796 28.16 3211
+-70.67 28.16 3211
+-70.544 28.16 3212
+-70.418 28.16 3213
+-70.292 28.16 3214
+-70.166 28.16 3215
+-70.04 28.16 3215
+-69.914 28.16 3106
+-69.788 28.16 3106
+-69.662 28.16 3106
+-69.536 28.16 3106
+-69.41 28.16 3106
+-69.284 28.16 3105
+-69.158 28.16 3105
+-69.032 28.16 3105
+-68.906 28.16 3024
+-68.78 28.16 3023
+-68.654 28.16 3022
+-68.528 28.16 3021
+-68.402 28.16 3019
+-68.276 28.16 3018
+-68.15 28.16 3017
+-68.024 28.16 3016
+-67.898 28.16 3015
+-67.772 28.16 3014
+-67.646 28.16 3013
+-67.52 28.16 3012
+-67.394 28.16 3011
+-67.268 28.16 3010
+-67.142 28.16 3009
+-67.016 28.16 3008
+-66.89 28.16 3007
+-66.764 28.16 3006
+-66.638 28.16 3005
+-66.512 28.16 3004
+-66.386 28.16 3003
+-66.26 28.16 3003
+-66.134 28.16 3002
+-66.008 28.16 3001
+-65.882 28.16 3000
+-65.756 28.16 3000
+-65.63 28.16 2999
+-65.504 28.16 2998
+-65.378 28.16 2998
+-65.252 28.16 2997
+-65.126 28.16 2997
+-128 28.108 2706
+-127.874 28.108 2702
+-127.748 28.108 2698
+-127.622 28.108 2708
+-127.496 28.108 2701
+-127.37 28.108 2699
+-127.244 28.108 2697
+-127.118 28.108 2696
+-126.992 28.108 2696
+-126.866 28.108 2696
+-126.74 28.108 2696
+-126.614 28.108 2702
+-126.488 28.108 2714
+-126.362 28.108 2771
+-126.236 28.108 2729
+-126.11 28.108 2734
+-125.984 28.108 2778
+-125.858 28.108 2785
+-125.732 28.108 2812
+-125.606 28.108 2857
+-125.48 28.108 2866
+-125.354 28.108 2877
+-125.228 28.108 2888
+-125.102 28.108 2900
+-124.976 28.108 2894
+-124.85 28.108 2903
+-124.724 28.108 2942
+-124.598 28.108 2958
+-124.472 28.108 3003
+-124.346 28.108 3019
+-124.22 28.108 3007
+-124.094 28.108 3012
+-123.968 28.108 3038
+-123.842 28.108 3056
+-123.716 28.108 3073
+-123.59 28.108 3198
+-123.464 28.108 3384
+-123.338 28.108 3382
+-123.212 28.108 3380
+-123.086 28.108 3361
+-122.96 28.108 3359
+-122.834 28.108 3369
+-122.708 28.108 3365
+-122.582 28.108 3361
+-122.456 28.108 3399
+-122.33 28.108 3391
+-122.204 28.108 3362
+-122.078 28.108 3363
+-121.952 28.108 3371
+-121.826 28.108 3359
+-121.7 28.108 3359
+-121.574 28.108 3339
+-121.448 28.108 3327
+-121.322 28.108 3296
+-121.196 28.108 3266
+-121.07 28.108 3247
+-120.944 28.108 3265
+-120.818 28.108 3304
+-120.692 28.108 3354
+-120.566 28.108 3390
+-120.44 28.108 3400
+-120.314 28.108 3398
+-120.188 28.108 3413
+-120.062 28.108 3477
+-119.936 28.108 3562
+-119.81 28.108 3639
+-119.684 28.108 3726
+-119.558 28.108 3816
+-119.432 28.108 3895
+-119.306 28.108 3951
+-119.18 28.108 4008
+-119.054 28.108 4058
+-118.928 28.108 4097
+-118.802 28.108 4132
+-118.676 28.108 4176
+-118.55 28.108 4211
+-118.424 28.108 4218
+-118.298 28.108 4249
+-118.172 28.108 4293
+-118.046 28.108 4333
+-117.92 28.108 4366
+-117.794 28.108 4389
+-117.668 28.108 4416
+-117.542 28.108 4455
+-117.416 28.108 4459
+-117.29 28.108 4447
+-117.164 28.108 4433
+-117.038 28.108 4435
+-116.912 28.108 4443
+-116.786 28.108 4448
+-116.66 28.108 4468
+-116.534 28.108 4451
+-116.408 28.108 4453
+-116.282 28.108 4441
+-116.156 28.108 4436
+-116.03 28.108 4399
+-115.904 28.108 4373
+-115.778 28.108 4315
+-115.652 28.108 4261
+-115.526 28.108 4221
+-115.4 28.108 4186
+-115.274 28.108 4159
+-115.148 28.108 4134
+-115.022 28.108 4089
+-114.896 28.108 4026
+-114.77 28.108 3959
+-114.644 28.108 3920
+-114.518 28.108 3935
+-114.392 28.108 3960
+-114.266 28.108 3991
+-114.14 28.108 4080
+-114.014 28.108 4179
+-113.888 28.108 4279
+-113.762 28.108 4318
+-113.636 28.108 4340
+-113.51 28.108 4418
+-113.384 28.108 4558
+-113.258 28.108 4652
+-113.132 28.108 4613
+-113.006 28.108 4754
+-112.88 28.108 4887
+-112.754 28.108 4956
+-112.628 28.108 4958
+-112.502 28.108 5057
+-112.376 28.108 5084
+-112.25 28.108 5147
+-112.124 28.108 5218
+-111.998 28.108 5304
+-111.872 28.108 5360
+-111.746 28.108 5428
+-111.62 28.108 5485
+-111.494 28.108 5514
+-111.368 28.108 5517
+-111.242 28.108 5535
+-111.116 28.108 5576
+-110.99 28.108 5599
+-110.864 28.108 5606
+-110.738 28.108 5620
+-110.612 28.108 5659
+-110.486 28.108 5691
+-110.36 28.108 5695
+-110.234 28.108 5701
+-110.108 28.108 5694
+-109.982 28.108 5679
+-109.856 28.108 5645
+-109.73 28.108 5614
+-109.604 28.108 5597
+-109.478 28.108 5577
+-109.352 28.108 5533
+-109.226 28.108 5491
+-109.1 28.108 5445
+-108.974 28.108 5385
+-108.848 28.108 5328
+-108.722 28.108 5258
+-108.596 28.108 5230
+-108.47 28.108 5181
+-108.344 28.108 5126
+-108.218 28.108 5026
+-108.092 28.108 4942
+-107.966 28.108 4838
+-107.84 28.108 4726
+-107.714 28.108 4670
+-107.588 28.108 4568
+-107.462 28.108 4486
+-107.336 28.108 4419
+-107.21 28.108 4361
+-107.084 28.108 4289
+-106.958 28.108 4297
+-106.832 28.108 4268
+-106.706 28.108 4200
+-106.58 28.108 4142
+-106.454 28.108 4098
+-106.328 28.108 4029
+-106.202 28.108 3948
+-106.076 28.108 3904
+-105.95 28.108 3850
+-105.824 28.108 3813
+-105.698 28.108 3781
+-105.572 28.108 3751
+-105.446 28.108 3710
+-105.32 28.108 3683
+-105.194 28.108 3659
+-105.068 28.108 3599
+-104.942 28.108 3579
+-104.816 28.108 3552
+-104.69 28.108 3497
+-104.564 28.108 3463
+-104.438 28.108 3402
+-104.312 28.108 3396
+-104.186 28.108 3386
+-104.06 28.108 3386
+-103.934 28.108 3392
+-103.808 28.108 3397
+-103.682 28.108 3390
+-103.556 28.108 3400
+-103.43 28.108 3355
+-103.304 28.108 3360
+-103.178 28.108 3365
+-103.052 28.108 3369
+-102.926 28.108 3355
+-102.8 28.108 3360
+-102.674 28.108 3299
+-102.548 28.108 3291
+-102.422 28.108 3294
+-102.296 28.108 3297
+-102.17 28.108 3300
+-102.044 28.108 3303
+-101.918 28.108 3305
+-101.792 28.108 3272
+-101.666 28.108 3363
+-101.54 28.108 3263
+-101.414 28.108 3203
+-101.288 28.108 3204
+-101.162 28.108 3205
+-101.036 28.108 3206
+-100.91 28.108 3207
+-100.784 28.108 3207
+-100.658 28.108 3208
+-100.532 28.108 3209
+-100.406 28.108 3210
+-100.28 28.108 3217
+-100.154 28.108 3217
+-100.028 28.108 3218
+-99.902 28.108 3218
+-99.776 28.108 3219
+-99.65 28.108 3173
+-99.524 28.108 3139
+-99.398 28.108 3132
+-99.272 28.108 3134
+-99.146 28.108 3135
+-99.02 28.108 3104
+-98.894 28.108 3105
+-98.768 28.108 3106
+-98.642 28.108 3049
+-98.516 28.108 3049
+-98.39 28.108 3050
+-98.264 28.108 3051
+-98.138 28.108 2981
+-98.012 28.108 2883
+-97.886 28.108 2883
+-97.76 28.108 2883
+-97.634 28.108 2823
+-97.508 28.108 2626
+-97.382 28.108 2582
+-97.256 28.108 2496
+-97.13 28.108 2489
+-97.004 28.108 2424
+-96.878 28.108 2447
+-96.752 28.108 2443
+-96.626 28.108 2377
+-96.5 28.108 2314
+-96.374 28.108 2314
+-96.248 28.108 2358
+-96.122 28.108 2389
+-95.996 28.108 2493
+-95.87 28.108 2500
+-95.744 28.108 2529
+-95.618 28.108 2591
+-95.492 28.108 2753
+-95.366 28.108 2810
+-95.24 28.108 2811
+-95.114 28.108 3006
+-94.988 28.108 3025
+-94.862 28.108 3026
+-94.736 28.108 3042
+-94.61 28.108 3043
+-94.484 28.108 3065
+-94.358 28.108 3066
+-94.232 28.108 3067
+-94.106 28.108 3107
+-93.98 28.108 3354
+-93.854 28.108 3353
+-93.728 28.108 3352
+-93.602 28.108 3352
+-93.476 28.108 3351
+-93.35 28.108 3351
+-93.224 28.108 3350
+-93.098 28.108 3350
+-92.972 28.108 3349
+-92.846 28.108 3348
+-92.72 28.108 3380
+-92.594 28.108 3379
+-92.468 28.108 3378
+-92.342 28.108 3503
+-92.216 28.108 3503
+-92.09 28.108 3502
+-91.964 28.108 3502
+-91.838 28.108 3501
+-91.712 28.108 3501
+-91.586 28.108 3501
+-91.46 28.108 3541
+-91.334 28.108 3540
+-91.208 28.108 3540
+-91.082 28.108 3540
+-90.956 28.108 3540
+-90.83 28.108 3541
+-90.704 28.108 3542
+-90.578 28.108 3554
+-90.452 28.108 3556
+-90.326 28.108 3685
+-90.2 28.108 3690
+-90.074 28.108 3728
+-89.948 28.108 3768
+-89.822 28.108 3775
+-89.696 28.108 3784
+-89.57 28.108 3844
+-89.444 28.108 3855
+-89.318 28.108 3868
+-89.192 28.108 3893
+-89.066 28.108 3939
+-88.94 28.108 3951
+-88.814 28.108 3961
+-88.688 28.108 3971
+-88.562 28.108 4048
+-88.436 28.108 4080
+-88.31 28.108 4122
+-88.184 28.108 4111
+-88.058 28.108 4103
+-87.932 28.108 4111
+-87.806 28.108 4131
+-87.68 28.108 4159
+-87.554 28.108 4184
+-87.428 28.108 4183
+-87.302 28.108 4193
+-87.176 28.108 4290
+-87.05 28.108 4479
+-86.924 28.108 4661
+-86.798 28.108 4785
+-86.672 28.108 4766
+-86.546 28.108 4936
+-86.42 28.108 5185
+-86.294 28.108 5281
+-86.168 28.108 5397
+-86.042 28.108 5511
+-85.916 28.108 5683
+-85.79 28.108 5818
+-85.664 28.108 5922
+-85.538 28.108 6085
+-85.412 28.108 6192
+-85.286 28.108 6403
+-85.16 28.108 6613
+-85.034 28.108 6706
+-84.908 28.108 6836
+-84.782 28.108 6959
+-84.656 28.108 7020
+-84.53 28.108 7224
+-84.404 28.108 7388
+-84.278 28.108 7517
+-84.152 28.108 7629
+-84.026 28.108 7778
+-83.9 28.108 7959
+-83.774 28.108 8043
+-83.648 28.108 8196
+-83.522 28.108 8362
+-83.396 28.108 8535
+-83.27 28.108 8694
+-83.144 28.108 8752
+-83.018 28.108 8911
+-82.892 28.108 8998
+-82.766 28.108 9155
+-82.64 28.108 9309
+-82.514 28.108 9418
+-82.388 28.108 9482
+-82.262 28.108 9537
+-82.136 28.108 9511
+-82.01 28.108 9433
+-81.884 28.108 9372
+-81.758 28.108 9273
+-81.632 28.108 9151
+-81.506 28.108 8992
+-81.38 28.108 8908
+-81.254 28.108 8800
+-81.128 28.108 8629
+-81.002 28.108 8446
+-80.876 28.108 8318
+-80.75 28.108 8219
+-80.624 28.108 8112
+-80.498 28.108 7970
+-80.372 28.108 7776
+-80.246 28.108 7701
+-80.12 28.108 7528
+-79.994 28.108 7392
+-79.868 28.108 7280
+-79.742 28.108 7098
+-79.616 28.108 7003
+-79.49 28.108 6783
+-79.364 28.108 6733
+-79.238 28.108 6605
+-79.112 28.108 6379
+-78.986 28.108 6310
+-78.86 28.108 6108
+-78.734 28.108 5981
+-78.608 28.108 5917
+-78.482 28.108 5802
+-78.356 28.108 5591
+-78.23 28.108 5438
+-78.104 28.108 5310
+-77.978 28.108 5248
+-77.852 28.108 5163
+-77.726 28.108 5029
+-77.6 28.108 4912
+-77.474 28.108 4855
+-77.348 28.108 4828
+-77.222 28.108 4805
+-77.096 28.108 4728
+-76.97 28.108 4672
+-76.844 28.108 4606
+-76.718 28.108 4530
+-76.592 28.108 4378
+-76.466 28.108 4223
+-76.34 28.108 4134
+-76.214 28.108 4021
+-76.088 28.108 3948
+-75.962 28.108 3886
+-75.836 28.108 3795
+-75.71 28.108 3762
+-75.584 28.108 3704
+-75.458 28.108 3584
+-75.332 28.108 3563
+-75.206 28.108 3547
+-75.08 28.108 3535
+-74.954 28.108 3527
+-74.828 28.108 3401
+-74.702 28.108 3402
+-74.576 28.108 3383
+-74.45 28.108 3385
+-74.324 28.108 3389
+-74.198 28.108 3393
+-74.072 28.108 3317
+-73.946 28.108 3251
+-73.82 28.108 3244
+-73.694 28.108 3247
+-73.568 28.108 3218
+-73.442 28.108 3220
+-73.316 28.108 3223
+-73.19 28.108 3226
+-73.064 28.108 3228
+-72.938 28.108 3231
+-72.812 28.108 3233
+-72.686 28.108 3235
+-72.56 28.108 3237
+-72.434 28.108 3239
+-72.308 28.108 3241
+-72.182 28.108 3243
+-72.056 28.108 3245
+-71.93 28.108 3247
+-71.804 28.108 3248
+-71.678 28.108 3200
+-71.552 28.108 3202
+-71.426 28.108 3203
+-71.3 28.108 3204
+-71.174 28.108 3205
+-71.048 28.108 3206
+-70.922 28.108 3207
+-70.796 28.108 3208
+-70.67 28.108 3209
+-70.544 28.108 3210
+-70.418 28.108 3211
+-70.292 28.108 3212
+-70.166 28.108 3213
+-70.04 28.108 3213
+-69.914 28.108 3214
+-69.788 28.108 3106
+-69.662 28.108 3106
+-69.536 28.108 3105
+-69.41 28.108 3105
+-69.284 28.108 3105
+-69.158 28.108 3105
+-69.032 28.108 3024
+-68.906 28.108 3023
+-68.78 28.108 3021
+-68.654 28.108 3020
+-68.528 28.108 3019
+-68.402 28.108 3018
+-68.276 28.108 3016
+-68.15 28.108 3015
+-68.024 28.108 3014
+-67.898 28.108 3013
+-67.772 28.108 3012
+-67.646 28.108 3011
+-67.52 28.108 3010
+-67.394 28.108 3009
+-67.268 28.108 3008
+-67.142 28.108 3007
+-67.016 28.108 3006
+-66.89 28.108 3005
+-66.764 28.108 3004
+-66.638 28.108 3004
+-66.512 28.108 3003
+-66.386 28.108 3002
+-66.26 28.108 3001
+-66.134 28.108 3000
+-66.008 28.108 3000
+-65.882 28.108 2999
+-65.756 28.108 2998
+-65.63 28.108 2998
+-65.504 28.108 2997
+-65.378 28.108 2996
+-65.252 28.108 2996
+-65.126 28.108 2995
+-128 28.056 2716
+-127.874 28.056 2712
+-127.748 28.056 2723
+-127.622 28.056 2715
+-127.496 28.056 2713
+-127.37 28.056 2711
+-127.244 28.056 2711
+-127.118 28.056 2710
+-126.992 28.056 2710
+-126.866 28.056 2710
+-126.74 28.056 2715
+-126.614 28.056 2727
+-126.488 28.056 2785
+-126.362 28.056 2740
+-126.236 28.056 2745
+-126.11 28.056 2789
+-125.984 28.056 2795
+-125.858 28.056 2821
+-125.732 28.056 2865
+-125.606 28.056 2874
+-125.48 28.056 2883
+-125.354 28.056 2893
+-125.228 28.056 2904
+-125.102 28.056 2896
+-124.976 28.056 2903
+-124.85 28.056 2941
+-124.724 28.056 2956
+-124.598 28.056 3000
+-124.472 28.056 3015
+-124.346 28.056 3002
+-124.22 28.056 3006
+-124.094 28.056 3031
+-123.968 28.056 3047
+-123.842 28.056 3063
+-123.716 28.056 3049
+-123.59 28.056 3385
+-123.464 28.056 3384
+-123.338 28.056 3381
+-123.212 28.056 3362
+-123.086 28.056 3359
+-122.96 28.056 3345
+-122.834 28.056 3367
+-122.708 28.056 3363
+-122.582 28.056 3402
+-122.456 28.056 3394
+-122.33 28.056 3365
+-122.204 28.056 3367
+-122.078 28.056 3375
+-121.952 28.056 3363
+-121.826 28.056 3363
+-121.7 28.056 3340
+-121.574 28.056 3325
+-121.448 28.056 3283
+-121.322 28.056 3233
+-121.196 28.056 3170
+-121.07 28.056 3117
+-120.944 28.056 3105
+-120.818 28.056 3178
+-120.692 28.056 3282
+-120.566 28.056 3341
+-120.44 28.056 3342
+-120.314 28.056 3339
+-120.188 28.056 3352
+-120.062 28.056 3415
+-119.936 28.056 3501
+-119.81 28.056 3591
+-119.684 28.056 3639
+-119.558 28.056 3714
+-119.432 28.056 3825
+-119.306 28.056 3902
+-119.18 28.056 3970
+-119.054 28.056 4003
+-118.928 28.056 4023
+-118.802 28.056 4043
+-118.676 28.056 4086
+-118.55 28.056 4118
+-118.424 28.056 4145
+-118.298 28.056 4190
+-118.172 28.056 4226
+-118.046 28.056 4264
+-117.92 28.056 4285
+-117.794 28.056 4301
+-117.668 28.056 4310
+-117.542 28.056 4332
+-117.416 28.056 4356
+-117.29 28.056 4362
+-117.164 28.056 4360
+-117.038 28.056 4361
+-116.912 28.056 4365
+-116.786 28.056 4374
+-116.66 28.056 4371
+-116.534 28.056 4379
+-116.408 28.056 4369
+-116.282 28.056 4363
+-116.156 28.056 4341
+-116.03 28.056 4310
+-115.904 28.056 4267
+-115.778 28.056 4214
+-115.652 28.056 4172
+-115.526 28.056 4129
+-115.4 28.056 4126
+-115.274 28.056 4121
+-115.148 28.056 4089
+-115.022 28.056 4034
+-114.896 28.056 3997
+-114.77 28.056 3956
+-114.644 28.056 3908
+-114.518 28.056 3883
+-114.392 28.056 3880
+-114.266 28.056 3950
+-114.14 28.056 4053
+-114.014 28.056 4148
+-113.888 28.056 4266
+-113.762 28.056 4301
+-113.636 28.056 4258
+-113.51 28.056 4376
+-113.384 28.056 4481
+-113.258 28.056 4584
+-113.132 28.056 4663
+-113.006 28.056 4743
+-112.88 28.056 4848
+-112.754 28.056 4943
+-112.628 28.056 4988
+-112.502 28.056 5039
+-112.376 28.056 5087
+-112.25 28.056 5156
+-112.124 28.056 5183
+-111.998 28.056 5270
+-111.872 28.056 5289
+-111.746 28.056 5339
+-111.62 28.056 5417
+-111.494 28.056 5452
+-111.368 28.056 5451
+-111.242 28.056 5512
+-111.116 28.056 5525
+-110.99 28.056 5567
+-110.864 28.056 5612
+-110.738 28.056 5596
+-110.612 28.056 5591
+-110.486 28.056 5610
+-110.36 28.056 5613
+-110.234 28.056 5618
+-110.108 28.056 5619
+-109.982 28.056 5606
+-109.856 28.056 5574
+-109.73 28.056 5545
+-109.604 28.056 5524
+-109.478 28.056 5506
+-109.352 28.056 5464
+-109.226 28.056 5419
+-109.1 28.056 5393
+-108.974 28.056 5327
+-108.848 28.056 5275
+-108.722 28.056 5216
+-108.596 28.056 5161
+-108.47 28.056 5134
+-108.344 28.056 5082
+-108.218 28.056 4941
+-108.092 28.056 4855
+-107.966 28.056 4741
+-107.84 28.056 4660
+-107.714 28.056 4606
+-107.588 28.056 4533
+-107.462 28.056 4439
+-107.336 28.056 4386
+-107.21 28.056 4363
+-107.084 28.056 4320
+-106.958 28.056 4315
+-106.832 28.056 4297
+-106.706 28.056 4256
+-106.58 28.056 4168
+-106.454 28.056 4117
+-106.328 28.056 4072
+-106.202 28.056 4005
+-106.076 28.056 3921
+-105.95 28.056 3877
+-105.824 28.056 3821
+-105.698 28.056 3780
+-105.572 28.056 3747
+-105.446 28.056 3718
+-105.32 28.056 3654
+-105.194 28.056 3618
+-105.068 28.056 3600
+-104.942 28.056 3584
+-104.816 28.056 3572
+-104.69 28.056 3510
+-104.564 28.056 3445
+-104.438 28.056 3437
+-104.312 28.056 3404
+-104.186 28.056 3400
+-104.06 28.056 3391
+-103.934 28.056 3348
+-103.808 28.056 3351
+-103.682 28.056 3354
+-103.556 28.056 3360
+-103.43 28.056 3351
+-103.304 28.056 3355
+-103.178 28.056 3359
+-103.052 28.056 3364
+-102.926 28.056 3368
+-102.8 28.056 3353
+-102.674 28.056 3358
+-102.548 28.056 3296
+-102.422 28.056 3289
+-102.296 28.056 3292
+-102.17 28.056 3294
+-102.044 28.056 3297
+-101.918 28.056 3300
+-101.792 28.056 3303
+-101.666 28.056 3269
+-101.54 28.056 3295
+-101.414 28.056 3262
+-101.288 28.056 3200
+-101.162 28.056 3201
+-101.036 28.056 3202
+-100.91 28.056 3203
+-100.784 28.056 3204
+-100.658 28.056 3205
+-100.532 28.056 3206
+-100.406 28.056 3207
+-100.28 28.056 3207
+-100.154 28.056 3217
+-100.028 28.056 3217
+-99.902 28.056 3218
+-99.776 28.056 3218
+-99.65 28.056 3219
+-99.524 28.056 3173
+-99.398 28.056 3139
+-99.272 28.056 3132
+-99.146 28.056 3134
+-99.02 28.056 3136
+-98.894 28.056 3104
+-98.768 28.056 3105
+-98.642 28.056 3107
+-98.516 28.056 3049
+-98.39 28.056 3050
+-98.264 28.056 3050
+-98.138 28.056 3051
+-98.012 28.056 2981
+-97.886 28.056 2882
+-97.76 28.056 2882
+-97.634 28.056 2822
+-97.508 28.056 2821
+-97.382 28.056 2535
+-97.256 28.056 2498
+-97.13 28.056 2491
+-97.004 28.056 2426
+-96.878 28.056 2449
+-96.752 28.056 2446
+-96.626 28.056 2380
+-96.5 28.056 2318
+-96.374 28.056 2317
+-96.248 28.056 2363
+-96.122 28.056 2394
+-95.996 28.056 2500
+-95.87 28.056 2507
+-95.744 28.056 2675
+-95.618 28.056 2754
+-95.492 28.056 2757
+-95.366 28.056 2814
+-95.24 28.056 3008
+-95.114 28.056 3027
+-94.988 28.056 3028
+-94.862 28.056 3043
+-94.736 28.056 3044
+-94.61 28.056 3066
+-94.484 28.056 3067
+-94.358 28.056 3068
+-94.232 28.056 3107
+-94.106 28.056 3354
+-93.98 28.056 3354
+-93.854 28.056 3353
+-93.728 28.056 3353
+-93.602 28.056 3352
+-93.476 28.056 3351
+-93.35 28.056 3350
+-93.224 28.056 3350
+-93.098 28.056 3349
+-92.972 28.056 3348
+-92.846 28.056 3382
+-92.72 28.056 3380
+-92.594 28.056 3379
+-92.468 28.056 3508
+-92.342 28.056 3507
+-92.216 28.056 3506
+-92.09 28.056 3505
+-91.964 28.056 3504
+-91.838 28.056 3503
+-91.712 28.056 3547
+-91.586 28.056 3546
+-91.46 28.056 3544
+-91.334 28.056 3543
+-91.208 28.056 3541
+-91.082 28.056 3540
+-90.956 28.056 3540
+-90.83 28.056 3540
+-90.704 28.056 3540
+-90.578 28.056 3542
+-90.452 28.056 3544
+-90.326 28.056 3670
+-90.2 28.056 3698
+-90.074 28.056 3703
+-89.948 28.056 3749
+-89.822 28.056 3757
+-89.696 28.056 3765
+-89.57 28.056 3776
+-89.444 28.056 3839
+-89.318 28.056 3853
+-89.192 28.056 3867
+-89.066 28.056 3882
+-88.94 28.056 3942
+-88.814 28.056 3955
+-88.688 28.056 3968
+-88.562 28.056 4032
+-88.436 28.056 4065
+-88.31 28.056 4126
+-88.184 28.056 4140
+-88.058 28.056 4140
+-87.932 28.056 4155
+-87.806 28.056 4182
+-87.68 28.056 4208
+-87.554 28.056 4229
+-87.428 28.056 4233
+-87.302 28.056 4250
+-87.176 28.056 4296
+-87.05 28.056 4436
+-86.924 28.056 4641
+-86.798 28.056 4786
+-86.672 28.056 4793
+-86.546 28.056 4938
+-86.42 28.056 5189
+-86.294 28.056 5218
+-86.168 28.056 5381
+-86.042 28.056 5491
+-85.916 28.056 5637
+-85.79 28.056 5819
+-85.664 28.056 5954
+-85.538 28.056 6091
+-85.412 28.056 6241
+-85.286 28.056 6446
+-85.16 28.056 6595
+-85.034 28.056 6625
+-84.908 28.056 6833
+-84.782 28.056 6997
+-84.656 28.056 7138
+-84.53 28.056 7239
+-84.404 28.056 7425
+-84.278 28.056 7527
+-84.152 28.056 7635
+-84.026 28.056 7796
+-83.9 28.056 7982
+-83.774 28.056 8078
+-83.648 28.056 8188
+-83.522 28.056 8307
+-83.396 28.056 8572
+-83.27 28.056 8593
+-83.144 28.056 8725
+-83.018 28.056 8913
+-82.892 28.056 9063
+-82.766 28.056 9226
+-82.64 28.056 9315
+-82.514 28.056 9379
+-82.388 28.056 9494
+-82.262 28.056 9555
+-82.136 28.056 9592
+-82.01 28.056 9491
+-81.884 28.056 9383
+-81.758 28.056 9363
+-81.632 28.056 9150
+-81.506 28.056 9084
+-81.38 28.056 8866
+-81.254 28.056 8792
+-81.128 28.056 8679
+-81.002 28.056 8474
+-80.876 28.056 8317
+-80.75 28.056 8219
+-80.624 28.056 8065
+-80.498 28.056 7966
+-80.372 28.056 7845
+-80.246 28.056 7628
+-80.12 28.056 7465
+-79.994 28.056 7410
+-79.868 28.056 7258
+-79.742 28.056 7064
+-79.616 28.056 6986
+-79.49 28.056 6848
+-79.364 28.056 6685
+-79.238 28.056 6594
+-79.112 28.056 6384
+-78.986 28.056 6205
+-78.86 28.056 6054
+-78.734 28.056 5902
+-78.608 28.056 5905
+-78.482 28.056 5766
+-78.356 28.056 5595
+-78.23 28.056 5399
+-78.104 28.056 5284
+-77.978 28.056 5217
+-77.852 28.056 5146
+-77.726 28.056 5005
+-77.6 28.056 4839
+-77.474 28.056 4841
+-77.348 28.056 4848
+-77.222 28.056 4817
+-77.096 28.056 4766
+-76.97 28.056 4656
+-76.844 28.056 4584
+-76.718 28.056 4414
+-76.592 28.056 4320
+-76.466 28.056 4180
+-76.34 28.056 4064
+-76.214 28.056 3972
+-76.088 28.056 3906
+-75.962 28.056 3832
+-75.836 28.056 3746
+-75.71 28.056 3709
+-75.584 28.056 3637
+-75.458 28.056 3581
+-75.332 28.056 3514
+-75.206 28.056 3500
+-75.08 28.056 3491
+-74.954 28.056 3486
+-74.828 28.056 3369
+-74.702 28.056 3343
+-74.576 28.056 3348
+-74.45 28.056 3353
+-74.324 28.056 3358
+-74.198 28.056 3326
+-74.072 28.056 3266
+-73.946 28.056 3271
+-73.82 28.056 3247
+-73.694 28.056 3236
+-73.568 28.056 3240
+-73.442 28.056 3210
+-73.316 28.056 3214
+-73.19 28.056 3217
+-73.064 28.056 3220
+-72.938 28.056 3223
+-72.812 28.056 3226
+-72.686 28.056 3228
+-72.56 28.056 3231
+-72.434 28.056 3233
+-72.308 28.056 3236
+-72.182 28.056 3238
+-72.056 28.056 3240
+-71.93 28.056 3242
+-71.804 28.056 3244
+-71.678 28.056 3246
+-71.552 28.056 3198
+-71.426 28.056 3200
+-71.3 28.056 3201
+-71.174 28.056 3202
+-71.048 28.056 3204
+-70.922 28.056 3205
+-70.796 28.056 3206
+-70.67 28.056 3207
+-70.544 28.056 3208
+-70.418 28.056 3209
+-70.292 28.056 3210
+-70.166 28.056 3211
+-70.04 28.056 3212
+-69.914 28.056 3212
+-69.788 28.056 3213
+-69.662 28.056 3105
+-69.536 28.056 3105
+-69.41 28.056 3105
+-69.284 28.056 3105
+-69.158 28.056 3023
+-69.032 28.056 3022
+-68.906 28.056 3020
+-68.78 28.056 3019
+-68.654 28.056 3018
+-68.528 28.056 3017
+-68.402 28.056 3016
+-68.276 28.056 3014
+-68.15 28.056 3013
+-68.024 28.056 3012
+-67.898 28.056 3011
+-67.772 28.056 3010
+-67.646 28.056 3009
+-67.52 28.056 3008
+-67.394 28.056 3007
+-67.268 28.056 3006
+-67.142 28.056 3005
+-67.016 28.056 3004
+-66.89 28.056 3004
+-66.764 28.056 3003
+-66.638 28.056 3002
+-66.512 28.056 3001
+-66.386 28.056 3000
+-66.26 28.056 3000
+-66.134 28.056 2999
+-66.008 28.056 2998
+-65.882 28.056 2997
+-65.756 28.056 2997
+-65.63 28.056 2996
+-65.504 28.056 2996
+-65.378 28.056 2995
+-65.252 28.056 2994
+-65.126 28.056 2994
+-128 28.004 2726
+-127.874 28.004 2736
+-127.748 28.004 2728
+-127.622 28.004 2726
+-127.496 28.004 2725
+-127.37 28.004 2724
+-127.244 28.004 2723
+-127.118 28.004 2723
+-126.992 28.004 2723
+-126.866 28.004 2728
+-126.74 28.004 2739
+-126.614 28.004 2798
+-126.488 28.004 2751
+-126.362 28.004 2755
+-126.236 28.004 2799
+-126.11 28.004 2804
+-125.984 28.004 2830
+-125.858 28.004 2873
+-125.732 28.004 2881
+-125.606 28.004 2889
+-125.48 28.004 2898
+-125.354 28.004 2908
+-125.228 28.004 2899
+-125.102 28.004 2904
+-124.976 28.004 2941
+-124.85 28.004 2954
+-124.724 28.004 2997
+-124.598 28.004 3011
+-124.472 28.004 2997
+-124.346 28.004 3000
+-124.22 28.004 3024
+-124.094 28.004 3039
+-123.968 28.004 3055
+-123.842 28.004 3040
+-123.716 28.004 3386
+-123.59 28.004 3384
+-123.464 28.004 3382
+-123.338 28.004 3363
+-123.212 28.004 3360
+-123.086 28.004 3346
+-122.96 28.004 3368
+-122.834 28.004 3364
+-122.708 28.004 3405
+-122.582 28.004 3398
+-122.456 28.004 3368
+-122.33 28.004 3371
+-122.204 28.004 3382
+-122.078 28.004 3370
+-121.952 28.004 3371
+-121.826 28.004 3350
+-121.7 28.004 3338
+-121.574 28.004 3298
+-121.448 28.004 3247
+-121.322 28.004 3174
+-121.196 28.004 3077
+-121.07 28.004 2950
+-120.944 28.004 2886
+-120.818 28.004 3005
+-120.692 28.004 3199
+-120.566 28.004 3302
+-120.44 28.004 3305
+-120.314 28.004 3248
+-120.188 28.004 3361
+-120.062 28.004 3412
+-119.936 28.004 3466
+-119.81 28.004 3574
+-119.684 28.004 3597
+-119.558 28.004 3647
+-119.432 28.004 3756
+-119.306 28.004 3839
+-119.18 28.004 3904
+-119.054 28.004 3934
+-118.928 28.004 3960
+-118.802 28.004 4010
+-118.676 28.004 4042
+-118.55 28.004 4086
+-118.424 28.004 4104
+-118.298 28.004 4144
+-118.172 28.004 4186
+-118.046 28.004 4222
+-117.92 28.004 4245
+-117.794 28.004 4264
+-117.668 28.004 4284
+-117.542 28.004 4286
+-117.416 28.004 4298
+-117.29 28.004 4312
+-117.164 28.004 4311
+-117.038 28.004 4305
+-116.912 28.004 4291
+-116.786 28.004 4284
+-116.66 28.004 4281
+-116.534 28.004 4283
+-116.408 28.004 4281
+-116.282 28.004 4258
+-116.156 28.004 4246
+-116.03 28.004 4227
+-115.904 28.004 4196
+-115.778 28.004 4161
+-115.652 28.004 4118
+-115.526 28.004 4094
+-115.4 28.004 4096
+-115.274 28.004 4078
+-115.148 28.004 4027
+-115.022 28.004 3975
+-114.896 28.004 3940
+-114.77 28.004 3906
+-114.644 28.004 3849
+-114.518 28.004 3779
+-114.392 28.004 3729
+-114.266 28.004 3818
+-114.14 28.004 3974
+-114.014 28.004 4089
+-113.888 28.004 4192
+-113.762 28.004 4280
+-113.636 28.004 4329
+-113.51 28.004 4397
+-113.384 28.004 4411
+-113.258 28.004 4517
+-113.132 28.004 4639
+-113.006 28.004 4723
+-112.88 28.004 4810
+-112.754 28.004 4894
+-112.628 28.004 4970
+-112.502 28.004 5019
+-112.376 28.004 5039
+-112.25 28.004 5105
+-112.124 28.004 5158
+-111.998 28.004 5241
+-111.872 28.004 5290
+-111.746 28.004 5304
+-111.62 28.004 5340
+-111.494 28.004 5380
+-111.368 28.004 5425
+-111.242 28.004 5459
+-111.116 28.004 5465
+-110.99 28.004 5503
+-110.864 28.004 5537
+-110.738 28.004 5540
+-110.612 28.004 5534
+-110.486 28.004 5527
+-110.36 28.004 5515
+-110.234 28.004 5525
+-110.108 28.004 5539
+-109.982 28.004 5527
+-109.856 28.004 5508
+-109.73 28.004 5485
+-109.604 28.004 5450
+-109.478 28.004 5447
+-109.352 28.004 5450
+-109.226 28.004 5413
+-109.1 28.004 5356
+-108.974 28.004 5300
+-108.848 28.004 5249
+-108.722 28.004 5190
+-108.596 28.004 5151
+-108.47 28.004 5071
+-108.344 28.004 4979
+-108.218 28.004 4887
+-108.092 28.004 4778
+-107.966 28.004 4698
+-107.84 28.004 4632
+-107.714 28.004 4576
+-107.588 28.004 4514
+-107.462 28.004 4430
+-107.336 28.004 4364
+-107.21 28.004 4305
+-107.084 28.004 4299
+-106.958 28.004 4307
+-106.832 28.004 4295
+-106.706 28.004 4259
+-106.58 28.004 4208
+-106.454 28.004 4125
+-106.328 28.004 4084
+-106.202 28.004 4039
+-106.076 28.004 3958
+-105.95 28.004 3873
+-105.824 28.004 3826
+-105.698 28.004 3767
+-105.572 28.004 3727
+-105.446 28.004 3657
+-105.32 28.004 3633
+-105.194 28.004 3615
+-105.068 28.004 3588
+-104.942 28.004 3578
+-104.816 28.004 3500
+-104.69 28.004 3491
+-104.564 28.004 3443
+-104.438 28.004 3438
+-104.312 28.004 3433
+-104.186 28.004 3402
+-104.06 28.004 3348
+-103.934 28.004 3347
+-103.808 28.004 3347
+-103.682 28.004 3349
+-103.556 28.004 3352
+-103.43 28.004 3359
+-103.304 28.004 3349
+-103.178 28.004 3353
+-103.052 28.004 3358
+-102.926 28.004 3362
+-102.8 28.004 3366
+-102.674 28.004 3351
+-102.548 28.004 3356
+-102.422 28.004 3293
+-102.296 28.004 3285
+-102.17 28.004 3288
+-102.044 28.004 3291
+-101.918 28.004 3294
+-101.792 28.004 3297
+-101.666 28.004 3300
+-101.54 28.004 3266
+-101.414 28.004 3292
+-101.288 28.004 3193
+-101.162 28.004 3197
+-101.036 28.004 3198
+-100.91 28.004 3199
+-100.784 28.004 3200
+-100.658 28.004 3201
+-100.532 28.004 3202
+-100.406 28.004 3203
+-100.28 28.004 3204
+-100.154 28.004 3205
+-100.028 28.004 3135
+-99.902 28.004 3135
+-99.776 28.004 3135
+-99.65 28.004 3135
+-99.524 28.004 3135
+-99.398 28.004 3173
+-99.272 28.004 3140
+-99.146 28.004 3133
+-99.02 28.004 3135
+-98.894 28.004 3136
+-98.768 28.004 3104
+-98.642 28.004 3106
+-98.516 28.004 3107
+-98.39 28.004 3049
+-98.264 28.004 3050
+-98.138 28.004 3051
+-98.012 28.004 3051
+-97.886 28.004 2981
+-97.76 28.004 2824
+-97.634 28.004 2822
+-97.508 28.004 2821
+-97.382 28.004 2725
+-97.256 28.004 2688
+-97.13 28.004 2434
+-97.004 28.004 2428
+-96.878 28.004 2451
+-96.752 28.004 2449
+-96.626 28.004 2383
+-96.5 28.004 2381
+-96.374 28.004 2321
+-96.248 28.004 2367
+-96.122 28.004 2399
+-95.996 28.004 2508
+-95.87 28.004 2670
+-95.744 28.004 2679
+-95.618 28.004 2758
+-95.492 28.004 2762
+-95.366 28.004 2978
+-95.24 28.004 3028
+-95.114 28.004 3051
+-94.988 28.004 3052
+-94.862 28.004 3053
+-94.736 28.004 3067
+-94.61 28.004 3068
+-94.484 28.004 3069
+-94.358 28.004 3108
+-94.232 28.004 3355
+-94.106 28.004 3355
+-93.98 28.004 3354
+-93.854 28.004 3353
+-93.728 28.004 3352
+-93.602 28.004 3352
+-93.476 28.004 3351
+-93.35 28.004 3350
+-93.224 28.004 3349
+-93.098 28.004 3348
+-92.972 28.004 3381
+-92.846 28.004 3380
+-92.72 28.004 3378
+-92.594 28.004 3376
+-92.468 28.004 3375
+-92.342 28.004 3504
+-92.216 28.004 3503
+-92.09 28.004 3502
+-91.964 28.004 3500
+-91.838 28.004 3543
+-91.712 28.004 3541
+-91.586 28.004 3538
+-91.46 28.004 3536
+-91.334 28.004 3534
+-91.208 28.004 3532
+-91.082 28.004 3530
+-90.956 28.004 3529
+-90.83 28.004 3528
+-90.704 28.004 3527
+-90.578 28.004 3528
+-90.452 28.004 3673
+-90.326 28.004 3675
+-90.2 28.004 3677
+-90.074 28.004 3681
+-89.948 28.004 3686
+-89.822 28.004 3734
+-89.696 28.004 3743
+-89.57 28.004 3753
+-89.444 28.004 3765
+-89.318 28.004 3832
+-89.192 28.004 3848
+-89.066 28.004 3865
+-88.94 28.004 3883
+-88.814 28.004 3944
+-88.688 28.004 4014
+-88.562 28.004 4024
+-88.436 28.004 4035
+-88.31 28.004 4076
+-88.184 28.004 4150
+-88.058 28.004 4166
+-87.932 28.004 4205
+-87.806 28.004 4226
+-87.68 28.004 4243
+-87.554 28.004 4249
+-87.428 28.004 4216
+-87.302 28.004 4193
+-87.176 28.004 4183
+-87.05 28.004 4367
+-86.924 28.004 4638
+-86.798 28.004 4797
+-86.672 28.004 4862
+-86.546 28.004 5001
+-86.42 28.004 5202
+-86.294 28.004 5316
+-86.168 28.004 5439
+-86.042 28.004 5528
+-85.916 28.004 5683
+-85.79 28.004 5841
+-85.664 28.004 5976
+-85.538 28.004 6051
+-85.412 28.004 6257
+-85.286 28.004 6413
+-85.16 28.004 6569
+-85.034 28.004 6731
+-84.908 28.004 6892
+-84.782 28.004 6964
+-84.656 28.004 7125
+-84.53 28.004 7208
+-84.404 28.004 7391
+-84.278 28.004 7590
+-84.152 28.004 7664
+-84.026 28.004 7766
+-83.9 28.004 7975
+-83.774 28.004 8099
+-83.648 28.004 8273
+-83.522 28.004 8410
+-83.396 28.004 8482
+-83.27 28.004 8662
+-83.144 28.004 8808
+-83.018 28.004 8991
+-82.892 28.004 9073
+-82.766 28.004 9197
+-82.64 28.004 9322
+-82.514 28.004 9429
+-82.388 28.004 9537
+-82.262 28.004 9666
+-82.136 28.004 9617
+-82.01 28.004 9547
+-81.884 28.004 9458
+-81.758 28.004 9388
+-81.632 28.004 9207
+-81.506 28.004 9082
+-81.38 28.004 8947
+-81.254 28.004 8815
+-81.128 28.004 8704
+-81.002 28.004 8513
+-80.876 28.004 8346
+-80.75 28.004 8233
+-80.624 28.004 8047
+-80.498 28.004 7945
+-80.372 28.004 7794
+-80.246 28.004 7650
+-80.12 28.004 7495
+-79.994 28.004 7392
+-79.868 28.004 7297
+-79.742 28.004 7121
+-79.616 28.004 7032
+-79.49 28.004 6753
+-79.364 28.004 6706
+-79.238 28.004 6485
+-79.112 28.004 6366
+-78.986 28.004 6170
+-78.86 28.004 6051
+-78.734 28.004 5901
+-78.608 28.004 5870
+-78.482 28.004 5717
+-78.356 28.004 5593
+-78.23 28.004 5406
+-78.104 28.004 5274
+-77.978 28.004 5140
+-77.852 28.004 5139
+-77.726 28.004 4935
+-77.6 28.004 4662
+-77.474 28.004 4803
+-77.348 28.004 4857
+-77.222 28.004 4814
+-77.096 28.004 4724
+-76.97 28.004 4578
+-76.844 28.004 4422
+-76.718 28.004 4336
+-76.592 28.004 4211
+-76.466 28.004 4154
+-76.34 28.004 4046
+-76.214 28.004 3964
+-76.088 28.004 3860
+-75.962 28.004 3753
+-75.836 28.004 3660
+-75.71 28.004 3602
+-75.584 28.004 3568
+-75.458 28.004 3542
+-75.332 28.004 3498
+-75.206 28.004 3436
+-75.08 28.004 3431
+-74.954 28.004 3432
+-74.828 28.004 3318
+-74.702 28.004 3326
+-74.576 28.004 3334
+-74.45 28.004 3343
+-74.324 28.004 3300
+-74.198 28.004 3244
+-74.072 28.004 3251
+-73.946 28.004 3258
+-73.82 28.004 3264
+-73.694 28.004 3240
+-73.568 28.004 3229
+-73.442 28.004 3234
+-73.316 28.004 3204
+-73.19 28.004 3208
+-73.064 28.004 3212
+-72.938 28.004 3216
+-72.812 28.004 3219
+-72.686 28.004 3222
+-72.56 28.004 3225
+-72.434 28.004 3228
+-72.308 28.004 3230
+-72.182 28.004 3233
+-72.056 28.004 3235
+-71.93 28.004 3237
+-71.804 28.004 3239
+-71.678 28.004 3242
+-71.552 28.004 3243
+-71.426 28.004 3197
+-71.3 28.004 3198
+-71.174 28.004 3200
+-71.048 28.004 3201
+-70.922 28.004 3202
+-70.796 28.004 3203
+-70.67 28.004 3205
+-70.544 28.004 3206
+-70.418 28.004 3207
+-70.292 28.004 3208
+-70.166 28.004 3209
+-70.04 28.004 3210
+-69.914 28.004 3211
+-69.788 28.004 3212
+-69.662 28.004 3212
+-69.536 28.004 3105
+-69.41 28.004 3105
+-69.284 28.004 3022
+-69.158 28.004 3021
+-69.032 28.004 3020
+-68.906 28.004 3018
+-68.78 28.004 3017
+-68.654 28.004 3016
+-68.528 28.004 3015
+-68.402 28.004 3014
+-68.276 28.004 3012
+-68.15 28.004 3011
+-68.024 28.004 3010
+-67.898 28.004 3009
+-67.772 28.004 3008
+-67.646 28.004 3007
+-67.52 28.004 3006
+-67.394 28.004 3005
+-67.268 28.004 3004
+-67.142 28.004 3004
+-67.016 28.004 3003
+-66.89 28.004 3002
+-66.764 28.004 3001
+-66.638 28.004 3000
+-66.512 28.004 2999
+-66.386 28.004 2999
+-66.26 28.004 2998
+-66.134 28.004 2997
+-66.008 28.004 2997
+-65.882 28.004 2996
+-65.756 28.004 2995
+-65.63 28.004 2995
+-65.504 28.004 2994
+-65.378 28.004 2993
+-65.252 28.004 2993
+-65.126 28.004 2992
+-128 27.952 2749
+-127.874 27.952 2739
+-127.748 27.952 2738
+-127.622 27.952 2737
+-127.496 27.952 2736
+-127.37 27.952 2735
+-127.244 27.952 2735
+-127.118 27.952 2735
+-126.992 27.952 2739
+-126.866 27.952 2750
+-126.74 27.952 2810
+-126.614 27.952 2761
+-126.488 27.952 2765
+-126.362 27.952 2809
+-126.236 27.952 2814
+-126.11 27.952 2838
+-125.984 27.952 2881
+-125.858 27.952 2888
+-125.732 27.952 2896
+-125.606 27.952 2904
+-125.48 27.952 2912
+-125.354 27.952 2901
+-125.228 27.952 2905
+-125.102 27.952 2941
+-124.976 27.952 2953
+-124.85 27.952 2996
+-124.724 27.952 3009
+-124.598 27.952 2993
+-124.472 27.952 2995
+-124.346 27.952 3018
+-124.22 27.952 3033
+-124.094 27.952 3047
+-123.968 27.952 3031
+-123.842 27.952 3388
+-123.716 27.952 3385
+-123.59 27.952 3383
+-123.464 27.952 3364
+-123.338 27.952 3361
+-123.212 27.952 3347
+-123.086 27.952 3370
+-122.96 27.952 3366
+-122.834 27.952 3409
+-122.708 27.952 3402
+-122.582 27.952 3372
+-122.456 27.952 3377
+-122.33 27.952 3389
+-122.204 27.952 3378
+-122.078 27.952 3382
+-121.952 27.952 3364
+-121.826 27.952 3358
+-121.7 27.952 3323
+-121.574 27.952 3283
+-121.448 27.952 3225
+-121.322 27.952 3150
+-121.196 27.952 3024
+-121.07 27.952 2863
+-120.944 27.952 2762
+-120.818 27.952 2898
+-120.692 27.952 3143
+-120.566 27.952 3287
+-120.44 27.952 3320
+-120.314 27.952 3321
+-120.188 27.952 3380
+-120.062 27.952 3427
+-119.936 27.952 3480
+-119.81 27.952 3562
+-119.684 27.952 3609
+-119.558 27.952 3647
+-119.432 27.952 3719
+-119.306 27.952 3794
+-119.18 27.952 3868
+-119.054 27.952 3891
+-118.928 27.952 3871
+-118.802 27.952 3959
+-118.676 27.952 4017
+-118.55 27.952 4058
+-118.424 27.952 4082
+-118.298 27.952 4116
+-118.172 27.952 4165
+-118.046 27.952 4202
+-117.92 27.952 4230
+-117.794 27.952 4228
+-117.668 27.952 4269
+-117.542 27.952 4282
+-117.416 27.952 4279
+-117.29 27.952 4289
+-117.164 27.952 4310
+-117.038 27.952 4280
+-116.912 27.952 4255
+-116.786 27.952 4249
+-116.66 27.952 4239
+-116.534 27.952 4219
+-116.408 27.952 4204
+-116.282 27.952 4189
+-116.156 27.952 4191
+-116.03 27.952 4169
+-115.904 27.952 4134
+-115.778 27.952 4118
+-115.652 27.952 4090
+-115.526 27.952 4078
+-115.4 27.952 4065
+-115.274 27.952 4019
+-115.148 27.952 3949
+-115.022 27.952 3899
+-114.896 27.952 3850
+-114.77 27.952 3830
+-114.644 27.952 3794
+-114.518 27.952 3705
+-114.392 27.952 3614
+-114.266 27.952 3735
+-114.14 27.952 3919
+-114.014 27.952 4051
+-113.888 27.952 4167
+-113.762 27.952 4276
+-113.636 27.952 4332
+-113.51 27.952 4389
+-113.384 27.952 4448
+-113.258 27.952 4512
+-113.132 27.952 4607
+-113.006 27.952 4681
+-112.88 27.952 4765
+-112.754 27.952 4851
+-112.628 27.952 4946
+-112.502 27.952 4987
+-112.376 27.952 4981
+-112.25 27.952 5042
+-112.124 27.952 5130
+-111.998 27.952 5197
+-111.872 27.952 5258
+-111.746 27.952 5296
+-111.62 27.952 5321
+-111.494 27.952 5325
+-111.368 27.952 5365
+-111.242 27.952 5394
+-111.116 27.952 5410
+-110.99 27.952 5437
+-110.864 27.952 5474
+-110.738 27.952 5507
+-110.612 27.952 5486
+-110.486 27.952 5461
+-110.36 27.952 5454
+-110.234 27.952 5463
+-110.108 27.952 5472
+-109.982 27.952 5460
+-109.856 27.952 5443
+-109.73 27.952 5423
+-109.604 27.952 5433
+-109.478 27.952 5401
+-109.352 27.952 5331
+-109.226 27.952 5332
+-109.1 27.952 5287
+-108.974 27.952 5248
+-108.848 27.952 5194
+-108.722 27.952 5132
+-108.596 27.952 5056
+-108.47 27.952 4987
+-108.344 27.952 4938
+-108.218 27.952 4820
+-108.092 27.952 4731
+-107.966 27.952 4733
+-107.84 27.952 4619
+-107.714 27.952 4520
+-107.588 27.952 4509
+-107.462 27.952 4407
+-107.336 27.952 4304
+-107.21 27.952 4192
+-107.084 27.952 4255
+-106.958 27.952 4271
+-106.832 27.952 4288
+-106.706 27.952 4270
+-106.58 27.952 4234
+-106.454 27.952 4186
+-106.328 27.952 4083
+-106.202 27.952 3993
+-106.076 27.952 3937
+-105.95 27.952 3836
+-105.824 27.952 3793
+-105.698 27.952 3701
+-105.572 27.952 3655
+-105.446 27.952 3611
+-105.32 27.952 3592
+-105.194 27.952 3581
+-105.068 27.952 3507
+-104.942 27.952 3487
+-104.816 27.952 3483
+-104.69 27.952 3480
+-104.564 27.952 3477
+-104.438 27.952 3432
+-104.312 27.952 3430
+-104.186 27.952 3428
+-104.06 27.952 3399
+-103.934 27.952 3342
+-103.808 27.952 3343
+-103.682 27.952 3306
+-103.556 27.952 3345
+-103.43 27.952 3349
+-103.304 27.952 3356
+-103.178 27.952 3346
+-103.052 27.952 3350
+-102.926 27.952 3355
+-102.8 27.952 3359
+-102.674 27.952 3363
+-102.548 27.952 3348
+-102.422 27.952 3353
+-102.296 27.952 3290
+-102.17 27.952 3282
+-102.044 27.952 3285
+-101.918 27.952 3288
+-101.792 27.952 3291
+-101.666 27.952 3294
+-101.54 27.952 3297
+-101.414 27.952 3263
+-101.288 27.952 3288
+-101.162 27.952 3190
+-101.036 27.952 3194
+-100.91 27.952 3195
+-100.784 27.952 3197
+-100.658 27.952 3198
+-100.532 27.952 3199
+-100.406 27.952 3200
+-100.28 27.952 3201
+-100.154 27.952 3202
+-100.028 27.952 3203
+-99.902 27.952 3133
+-99.776 27.952 3133
+-99.65 27.952 3133
+-99.524 27.952 3133
+-99.398 27.952 3133
+-99.272 27.952 3174
+-99.146 27.952 3140
+-99.02 27.952 3133
+-98.894 27.952 3135
+-98.768 27.952 3137
+-98.642 27.952 3105
+-98.516 27.952 3106
+-98.39 27.952 3108
+-98.264 27.952 3049
+-98.138 27.952 3050
+-98.012 27.952 3051
+-97.886 27.952 3052
+-97.76 27.952 2981
+-97.634 27.952 2822
+-97.508 27.952 2821
+-97.382 27.952 2724
+-97.256 27.952 2720
+-97.13 27.952 2619
+-97.004 27.952 2565
+-96.878 27.952 2426
+-96.752 27.952 2452
+-96.626 27.952 2552
+-96.5 27.952 2550
+-96.374 27.952 2438
+-96.248 27.952 2429
+-96.122 27.952 2515
+-95.996 27.952 2669
+-95.87 27.952 2674
+-95.744 27.952 2683
+-95.618 27.952 2762
+-95.492 27.952 2802
+-95.366 27.952 2997
+-95.24 27.952 3052
+-95.114 27.952 3053
+-94.988 27.952 3054
+-94.862 27.952 3068
+-94.736 27.952 3069
+-94.61 27.952 3070
+-94.484 27.952 3104
+-94.358 27.952 3137
+-94.232 27.952 3345
+-94.106 27.952 3344
+-93.98 27.952 3343
+-93.854 27.952 3343
+-93.728 27.952 3389
+-93.602 27.952 3388
+-93.476 27.952 3386
+-93.35 27.952 3385
+-93.224 27.952 3383
+-93.098 27.952 3381
+-92.972 27.952 3379
+-92.846 27.952 3378
+-92.72 27.952 3376
+-92.594 27.952 3374
+-92.468 27.952 3372
+-92.342 27.952 3370
+-92.216 27.952 3544
+-92.09 27.952 3541
+-91.964 27.952 3538
+-91.838 27.952 3535
+-91.712 27.952 3532
+-91.586 27.952 3529
+-91.46 27.952 3526
+-91.334 27.952 3524
+-91.208 27.952 3521
+-91.082 27.952 3518
+-90.956 27.952 3516
+-90.83 27.952 3513
+-90.704 27.952 3512
+-90.578 27.952 3653
+-90.452 27.952 3652
+-90.326 27.952 3652
+-90.2 27.952 3653
+-90.074 27.952 3655
+-89.948 27.952 3659
+-89.822 27.952 3665
+-89.696 27.952 3715
+-89.57 27.952 3725
+-89.444 27.952 3737
+-89.318 27.952 3752
+-89.192 27.952 3823
+-89.066 27.952 3841
+-88.94 27.952 3861
+-88.814 27.952 3928
+-88.688 27.952 3996
+-88.562 27.952 4009
+-88.436 27.952 4023
+-88.31 27.952 4087
+-88.184 27.952 4104
+-88.058 27.952 4201
+-87.932 27.952 4220
+-87.806 27.952 4250
+-87.68 27.952 4284
+-87.554 27.952 4255
+-87.428 27.952 4176
+-87.302 27.952 4057
+-87.176 27.952 4238
+-87.05 27.952 4451
+-86.924 27.952 4652
+-86.798 27.952 4797
+-86.672 27.952 4929
+-86.546 27.952 5058
+-86.42 27.952 5212
+-86.294 27.952 5331
+-86.168 27.952 5497
+-86.042 27.952 5577
+-85.916 27.952 5710
+-85.79 27.952 5865
+-85.664 27.952 6027
+-85.538 27.952 6087
+-85.412 27.952 6220
+-85.286 27.952 6398
+-85.16 27.952 6578
+-85.034 27.952 6787
+-84.908 27.952 6863
+-84.782 27.952 7004
+-84.656 27.952 7146
+-84.53 27.952 7272
+-84.404 27.952 7395
+-84.278 27.952 7577
+-84.152 27.952 7664
+-84.026 27.952 7818
+-83.9 27.952 7970
+-83.774 27.952 8092
+-83.648 27.952 8242
+-83.522 27.952 8362
+-83.396 27.952 8517
+-83.27 27.952 8702
+-83.144 27.952 8827
+-83.018 27.952 8930
+-82.892 27.952 9054
+-82.766 27.952 9199
+-82.64 27.952 9349
+-82.514 27.952 9481
+-82.388 27.952 9636
+-82.262 27.952 9668
+-82.136 27.952 9718
+-82.01 27.952 9617
+-81.884 27.952 9437
+-81.758 27.952 9359
+-81.632 27.952 9210
+-81.506 27.952 9072
+-81.38 27.952 8931
+-81.254 27.952 8836
+-81.128 27.952 8650
+-81.002 27.952 8552
+-80.876 27.952 8343
+-80.75 27.952 8264
+-80.624 27.952 8104
+-80.498 27.952 7965
+-80.372 27.952 7858
+-80.246 27.952 7624
+-80.12 27.952 7518
+-79.994 27.952 7423
+-79.868 27.952 7318
+-79.742 27.952 7179
+-79.616 27.952 7017
+-79.49 27.952 6879
+-79.364 27.952 6727
+-79.238 27.952 6501
+-79.112 27.952 6317
+-78.986 27.952 6255
+-78.86 27.952 6072
+-78.734 27.952 5965
+-78.608 27.952 5844
+-78.482 27.952 5636
+-78.356 27.952 5600
+-78.23 27.952 5417
+-78.104 27.952 5271
+-77.978 27.952 5165
+-77.852 27.952 5163
+-77.726 27.952 5011
+-77.6 27.952 4858
+-77.474 27.952 4873
+-77.348 27.952 4877
+-77.222 27.952 4790
+-77.096 27.952 4634
+-76.97 27.952 4405
+-76.844 27.952 4192
+-76.718 27.952 4163
+-76.592 27.952 4142
+-76.466 27.952 4085
+-76.34 27.952 4032
+-76.214 27.952 3942
+-76.088 27.952 3798
+-75.962 27.952 3685
+-75.836 27.952 3583
+-75.71 27.952 3536
+-75.584 27.952 3483
+-75.458 27.952 3458
+-75.332 27.952 3445
+-75.206 27.952 3417
+-75.08 27.952 3373
+-74.954 27.952 3269
+-74.828 27.952 3280
+-74.702 27.952 3292
+-74.576 27.952 3304
+-74.45 27.952 3261
+-74.324 27.952 3217
+-74.198 27.952 3226
+-74.072 27.952 3235
+-73.946 27.952 3244
+-73.82 27.952 3252
+-73.694 27.952 3259
+-73.568 27.952 3234
+-73.442 27.952 3225
+-73.316 27.952 3230
+-73.19 27.952 3200
+-73.064 27.952 3204
+-72.938 27.952 3208
+-72.812 27.952 3212
+-72.686 27.952 3215
+-72.56 27.952 3219
+-72.434 27.952 3222
+-72.308 27.952 3225
+-72.182 27.952 3228
+-72.056 27.952 3230
+-71.93 27.952 3233
+-71.804 27.952 3235
+-71.678 27.952 3237
+-71.552 27.952 3240
+-71.426 27.952 3242
+-71.3 27.952 3195
+-71.174 27.952 3197
+-71.048 27.952 3198
+-70.922 27.952 3200
+-70.796 27.952 3201
+-70.67 27.952 3202
+-70.544 27.952 3204
+-70.418 27.952 3205
+-70.292 27.952 3206
+-70.166 27.952 3207
+-70.04 27.952 3208
+-69.914 27.952 3209
+-69.788 27.952 3210
+-69.662 27.952 3211
+-69.536 27.952 3212
+-69.41 27.952 3021
+-69.284 27.952 3020
+-69.158 27.952 3019
+-69.032 27.952 3017
+-68.906 27.952 3016
+-68.78 27.952 3015
+-68.654 27.952 3014
+-68.528 27.952 3013
+-68.402 27.952 3011
+-68.276 27.952 3010
+-68.15 27.952 3009
+-68.024 27.952 3008
+-67.898 27.952 3007
+-67.772 27.952 3006
+-67.646 27.952 3005
+-67.52 27.952 3004
+-67.394 27.952 3003
+-67.268 27.952 3003
+-67.142 27.952 3002
+-67.016 27.952 3001
+-66.89 27.952 3000
+-66.764 27.952 2999
+-66.638 27.952 2998
+-66.512 27.952 2998
+-66.386 27.952 2997
+-66.26 27.952 2996
+-66.134 27.952 2996
+-66.008 27.952 2995
+-65.882 27.952 2994
+-65.756 27.952 2994
+-65.63 27.952 2993
+-65.504 27.952 2993
+-65.378 27.952 2992
+-65.252 27.952 2991
+-65.126 27.952 2991
+-128 27.9 2751
+-127.874 27.9 2749
+-127.748 27.9 2748
+-127.622 27.9 2747
+-127.496 27.9 2747
+-127.37 27.9 2746
+-127.244 27.9 2746
+-127.118 27.9 2750
+-126.992 27.9 2761
+-126.866 27.9 2821
+-126.74 27.9 2771
+-126.614 27.9 2774
+-126.488 27.9 2818
+-126.362 27.9 2822
+-126.236 27.9 2846
+-126.11 27.9 2889
+-125.984 27.9 2895
+-125.858 27.9 2902
+-125.732 27.9 2909
+-125.606 27.9 2917
+-125.48 27.9 2904
+-125.354 27.9 2906
+-125.228 27.9 2942
+-125.102 27.9 2953
+-124.976 27.9 2995
+-124.85 27.9 3007
+-124.724 27.9 2990
+-124.598 27.9 2990
+-124.472 27.9 3013
+-124.346 27.9 3027
+-124.22 27.9 3041
+-124.094 27.9 3024
+-123.968 27.9 3389
+-123.842 27.9 3387
+-123.716 27.9 3384
+-123.59 27.9 3365
+-123.464 27.9 3362
+-123.338 27.9 3348
+-123.212 27.9 3372
+-123.086 27.9 3368
+-122.96 27.9 3412
+-122.834 27.9 3406
+-122.708 27.9 3377
+-122.582 27.9 3382
+-122.456 27.9 3396
+-122.33 27.9 3386
+-122.204 27.9 3394
+-122.078 27.9 3378
+-121.952 27.9 3378
+-121.826 27.9 3349
+-121.7 27.9 3319
+-121.574 27.9 3279
+-121.448 27.9 3235
+-121.322 27.9 3156
+-121.196 27.9 3050
+-121.07 27.9 2929
+-120.944 27.9 2869
+-120.818 27.9 2973
+-120.692 27.9 3162
+-120.566 27.9 3288
+-120.44 27.9 3338
+-120.314 27.9 3377
+-120.188 27.9 3412
+-120.062 27.9 3451
+-119.936 27.9 3503
+-119.81 27.9 3550
+-119.684 27.9 3579
+-119.558 27.9 3619
+-119.432 27.9 3676
+-119.306 27.9 3747
+-119.18 27.9 3817
+-119.054 27.9 3863
+-118.928 27.9 3895
+-118.802 27.9 3923
+-118.676 27.9 3971
+-118.55 27.9 4013
+-118.424 27.9 4049
+-118.298 27.9 4091
+-118.172 27.9 4126
+-118.046 27.9 4164
+-117.92 27.9 4201
+-117.794 27.9 4227
+-117.668 27.9 4250
+-117.542 27.9 4260
+-117.416 27.9 4253
+-117.29 27.9 4254
+-117.164 27.9 4264
+-117.038 27.9 4247
+-116.912 27.9 4243
+-116.786 27.9 4222
+-116.66 27.9 4191
+-116.534 27.9 4175
+-116.408 27.9 4172
+-116.282 27.9 4179
+-116.156 27.9 4151
+-116.03 27.9 4094
+-115.904 27.9 4061
+-115.778 27.9 4050
+-115.652 27.9 4033
+-115.526 27.9 4015
+-115.4 27.9 3990
+-115.274 27.9 3927
+-115.148 27.9 3862
+-115.022 27.9 3799
+-114.896 27.9 3753
+-114.77 27.9 3745
+-114.644 27.9 3749
+-114.518 27.9 3727
+-114.392 27.9 3697
+-114.266 27.9 3781
+-114.14 27.9 3912
+-114.014 27.9 4032
+-113.888 27.9 4131
+-113.762 27.9 4214
+-113.636 27.9 4309
+-113.51 27.9 4363
+-113.384 27.9 4418
+-113.258 27.9 4474
+-113.132 27.9 4544
+-113.006 27.9 4609
+-112.88 27.9 4685
+-112.754 27.9 4783
+-112.628 27.9 4889
+-112.502 27.9 4958
+-112.376 27.9 4994
+-112.25 27.9 5022
+-112.124 27.9 5086
+-111.998 27.9 5147
+-111.872 27.9 5207
+-111.746 27.9 5245
+-111.62 27.9 5279
+-111.494 27.9 5308
+-111.368 27.9 5323
+-111.242 27.9 5348
+-111.116 27.9 5389
+-110.99 27.9 5433
+-110.864 27.9 5418
+-110.738 27.9 5434
+-110.612 27.9 5414
+-110.486 27.9 5412
+-110.36 27.9 5433
+-110.234 27.9 5454
+-110.108 27.9 5425
+-109.982 27.9 5413
+-109.856 27.9 5406
+-109.73 27.9 5389
+-109.604 27.9 5388
+-109.478 27.9 5357
+-109.352 27.9 5316
+-109.226 27.9 5261
+-109.1 27.9 5218
+-108.974 27.9 5184
+-108.848 27.9 5134
+-108.722 27.9 5053
+-108.596 27.9 4979
+-108.47 27.9 4946
+-108.344 27.9 4897
+-108.218 27.9 4781
+-108.092 27.9 4703
+-107.966 27.9 4675
+-107.84 27.9 4606
+-107.714 27.9 4508
+-107.588 27.9 4497
+-107.462 27.9 4376
+-107.336 27.9 4273
+-107.21 27.9 4248
+-107.084 27.9 4183
+-106.958 27.9 4207
+-106.832 27.9 4255
+-106.706 27.9 4244
+-106.58 27.9 4226
+-106.454 27.9 4175
+-106.328 27.9 4106
+-106.202 27.9 4019
+-106.076 27.9 3909
+-105.95 27.9 3842
+-105.824 27.9 3685
+-105.698 27.9 3625
+-105.572 27.9 3573
+-105.446 27.9 3547
+-105.32 27.9 3524
+-105.194 27.9 3460
+-105.068 27.9 3461
+-104.942 27.9 3466
+-104.816 27.9 3457
+-104.69 27.9 3460
+-104.564 27.9 3463
+-104.438 27.9 3422
+-104.312 27.9 3423
+-104.186 27.9 3422
+-104.06 27.9 3365
+-103.934 27.9 3394
+-103.808 27.9 3300
+-103.682 27.9 3300
+-103.556 27.9 3299
+-103.43 27.9 3301
+-103.304 27.9 3345
+-103.178 27.9 3352
+-103.052 27.9 3342
+-102.926 27.9 3347
+-102.8 27.9 3351
+-102.674 27.9 3356
+-102.548 27.9 3360
+-102.422 27.9 3345
+-102.296 27.9 3267
+-102.17 27.9 3270
+-102.044 27.9 3279
+-101.918 27.9 3211
+-101.792 27.9 3213
+-101.666 27.9 3288
+-101.54 27.9 3291
+-101.414 27.9 3294
+-101.288 27.9 3260
+-101.162 27.9 3285
+-101.036 27.9 3187
+-100.91 27.9 3191
+-100.784 27.9 3192
+-100.658 27.9 3194
+-100.532 27.9 3195
+-100.406 27.9 3196
+-100.28 27.9 3198
+-100.154 27.9 3199
+-100.028 27.9 3200
+-99.902 27.9 3201
+-99.776 27.9 3130
+-99.65 27.9 3131
+-99.524 27.9 3131
+-99.398 27.9 3131
+-99.272 27.9 3131
+-99.146 27.9 3174
+-99.02 27.9 3140
+-98.894 27.9 3134
+-98.768 27.9 3136
+-98.642 27.9 3137
+-98.516 27.9 3105
+-98.39 27.9 3107
+-98.264 27.9 3108
+-98.138 27.9 3049
+-98.012 27.9 3050
+-97.886 27.9 3051
+-97.76 27.9 3052
+-97.634 27.9 2888
+-97.508 27.9 2887
+-97.382 27.9 2723
+-97.256 27.9 2719
+-97.13 27.9 2619
+-97.004 27.9 2564
+-96.878 27.9 2553
+-96.752 27.9 2606
+-96.626 27.9 2552
+-96.5 27.9 2550
+-96.374 27.9 2576
+-96.248 27.9 2595
+-96.122 27.9 2680
+-95.996 27.9 2673
+-95.87 27.9 2677
+-95.744 27.9 2744
+-95.618 27.9 2803
+-95.492 27.9 2806
+-95.366 27.9 3000
+-95.24 27.9 3054
+-95.114 27.9 3055
+-94.988 27.9 3069
+-94.862 27.9 3075
+-94.736 27.9 3071
+-94.61 27.9 3104
+-94.484 27.9 3137
+-94.358 27.9 3137
+-94.232 27.9 3345
+-94.106 27.9 3344
+-93.98 27.9 3344
+-93.854 27.9 3390
+-93.728 27.9 3388
+-93.602 27.9 3386
+-93.476 27.9 3385
+-93.35 27.9 3383
+-93.224 27.9 3381
+-93.098 27.9 3379
+-92.972 27.9 3377
+-92.846 27.9 3375
+-92.72 27.9 3373
+-92.594 27.9 3371
+-92.468 27.9 3369
+-92.342 27.9 3366
+-92.216 27.9 3364
+-92.09 27.9 3536
+-91.964 27.9 3533
+-91.838 27.9 3529
+-91.712 27.9 3526
+-91.586 27.9 3522
+-91.46 27.9 3518
+-91.334 27.9 3514
+-91.208 27.9 3511
+-91.082 27.9 3507
+-90.956 27.9 3503
+-90.83 27.9 3499
+-90.704 27.9 3635
+-90.578 27.9 3631
+-90.452 27.9 3628
+-90.326 27.9 3626
+-90.2 27.9 3625
+-90.074 27.9 3625
+-89.948 27.9 3627
+-89.822 27.9 3631
+-89.696 27.9 3638
+-89.57 27.9 3690
+-89.444 27.9 3702
+-89.318 27.9 3718
+-89.192 27.9 3736
+-89.066 27.9 3810
+-88.94 27.9 3887
+-88.814 27.9 3906
+-88.688 27.9 3925
+-88.562 27.9 3987
+-88.436 27.9 4053
+-88.31 27.9 4069
+-88.184 27.9 4102
+-88.058 27.9 4153
+-87.932 27.9 4248
+-87.806 27.9 4262
+-87.68 27.9 4286
+-87.554 27.9 4287
+-87.428 27.9 4240
+-87.302 27.9 4214
+-87.176 27.9 4362
+-87.05 27.9 4544
+-86.924 27.9 4639
+-86.798 27.9 4782
+-86.672 27.9 4931
+-86.546 27.9 5033
+-86.42 27.9 5175
+-86.294 27.9 5311
+-86.168 27.9 5510
+-86.042 27.9 5538
+-85.916 27.9 5692
+-85.79 27.9 5869
+-85.664 27.9 5999
+-85.538 27.9 6180
+-85.412 27.9 6202
+-85.286 27.9 6361
+-85.16 27.9 6602
+-85.034 27.9 6781
+-84.908 27.9 6916
+-84.782 27.9 6956
+-84.656 27.9 7139
+-84.53 27.9 7268
+-84.404 27.9 7383
+-84.278 27.9 7545
+-84.152 27.9 7615
+-84.026 27.9 7817
+-83.9 27.9 7963
+-83.774 27.9 8147
+-83.648 27.9 8235
+-83.522 27.9 8415
+-83.396 27.9 8525
+-83.27 27.9 8669
+-83.144 27.9 8831
+-83.018 27.9 8987
+-82.892 27.9 9130
+-82.766 27.9 9273
+-82.64 27.9 9334
+-82.514 27.9 9531
+-82.388 27.9 9662
+-82.262 27.9 9721
+-82.136 27.9 9718
+-82.01 27.9 9647
+-81.884 27.9 9518
+-81.758 27.9 9439
+-81.632 27.9 9294
+-81.506 27.9 9068
+-81.38 27.9 8930
+-81.254 27.9 8803
+-81.128 27.9 8706
+-81.002 27.9 8517
+-80.876 27.9 8377
+-80.75 27.9 8259
+-80.624 27.9 8107
+-80.498 27.9 7906
+-80.372 27.9 7873
+-80.246 27.9 7720
+-80.12 27.9 7497
+-79.994 27.9 7423
+-79.868 27.9 7296
+-79.742 27.9 7161
+-79.616 27.9 6971
+-79.49 27.9 6894
+-79.364 27.9 6685
+-79.238 27.9 6514
+-79.112 27.9 6325
+-78.986 27.9 6183
+-78.86 27.9 6095
+-78.734 27.9 5949
+-78.608 27.9 5842
+-78.482 27.9 5744
+-78.356 27.9 5583
+-78.23 27.9 5371
+-78.104 27.9 5232
+-77.978 27.9 5236
+-77.852 27.9 5195
+-77.726 27.9 5109
+-77.6 27.9 5019
+-77.474 27.9 4950
+-77.348 27.9 4871
+-77.222 27.9 4753
+-77.096 27.9 4465
+-76.97 27.9 4147
+-76.844 27.9 3932
+-76.718 27.9 3982
+-76.592 27.9 4067
+-76.466 27.9 4032
+-76.34 27.9 3958
+-76.214 27.9 3837
+-76.088 27.9 3751
+-75.962 27.9 3647
+-75.836 27.9 3541
+-75.71 27.9 3440
+-75.584 27.9 3392
+-75.458 27.9 3364
+-75.332 27.9 3346
+-75.206 27.9 3332
+-75.08 27.9 3335
+-74.954 27.9 3254
+-74.828 27.9 3238
+-74.702 27.9 3256
+-74.576 27.9 3222
+-74.45 27.9 3236
+-74.324 27.9 3197
+-74.198 27.9 3209
+-74.072 27.9 3220
+-73.946 27.9 3230
+-73.82 27.9 3239
+-73.694 27.9 3248
+-73.568 27.9 3256
+-73.442 27.9 3231
+-73.316 27.9 3222
+-73.19 27.9 3227
+-73.064 27.9 3196
+-72.938 27.9 3201
+-72.812 27.9 3205
+-72.686 27.9 3209
+-72.56 27.9 3213
+-72.434 27.9 3216
+-72.308 27.9 3220
+-72.182 27.9 3223
+-72.056 27.9 3226
+-71.93 27.9 3228
+-71.804 27.9 3231
+-71.678 27.9 3233
+-71.552 27.9 3236
+-71.426 27.9 3238
+-71.3 27.9 3200
+-71.174 27.9 3194
+-71.048 27.9 3196
+-70.922 27.9 3197
+-70.796 27.9 3199
+-70.67 27.9 3200
+-70.544 27.9 3201
+-70.418 27.9 3203
+-70.292 27.9 3204
+-70.166 27.9 3205
+-70.04 27.9 3206
+-69.914 27.9 3207
+-69.788 27.9 3208
+-69.662 27.9 3134
+-69.536 27.9 3020
+-69.41 27.9 3019
+-69.284 27.9 3017
+-69.158 27.9 3016
+-69.032 27.9 3015
+-68.906 27.9 3014
+-68.78 27.9 3013
+-68.654 27.9 3011
+-68.528 27.9 3010
+-68.402 27.9 3009
+-68.276 27.9 3008
+-68.15 27.9 3007
+-68.024 27.9 3006
+-67.898 27.9 3005
+-67.772 27.9 3004
+-67.646 27.9 3003
+-67.52 27.9 3002
+-67.394 27.9 3001
+-67.268 27.9 3001
+-67.142 27.9 3000
+-67.016 27.9 2999
+-66.89 27.9 2998
+-66.764 27.9 2997
+-66.638 27.9 2997
+-66.512 27.9 2996
+-66.386 27.9 2995
+-66.26 27.9 2995
+-66.134 27.9 2994
+-66.008 27.9 2993
+-65.882 27.9 2993
+-65.756 27.9 2992
+-65.63 27.9 2991
+-65.504 27.9 2991
+-65.378 27.9 2990
+-65.252 27.9 2990
+-65.126 27.9 2989
+-128 27.848 2760
+-127.874 27.848 2759
+-127.748 27.848 2758
+-127.622 27.848 2757
+-127.496 27.848 2757
+-127.37 27.848 2757
+-127.244 27.848 2760
+-127.118 27.848 2771
+-126.992 27.848 2832
+-126.866 27.848 2780
+-126.74 27.848 2783
+-126.614 27.848 2827
+-126.488 27.848 2831
+-126.362 27.848 2854
+-126.236 27.848 2897
+-126.11 27.848 2902
+-125.984 27.848 2908
+-125.858 27.848 2915
+-125.732 27.848 2921
+-125.606 27.848 2908
+-125.48 27.848 2908
+-125.354 27.848 2943
+-125.228 27.848 2953
+-125.102 27.848 2995
+-124.976 27.848 3006
+-124.85 27.848 2987
+-124.724 27.848 2987
+-124.598 27.848 3008
+-124.472 27.848 3021
+-124.346 27.848 3035
+-124.22 27.848 3017
+-124.094 27.848 3390
+-123.968 27.848 3388
+-123.842 27.848 3386
+-123.716 27.848 3366
+-123.59 27.848 3363
+-123.464 27.848 3350
+-123.338 27.848 3373
+-123.212 27.848 3370
+-123.086 27.848 3416
+-122.96 27.848 3410
+-122.834 27.848 3381
+-122.708 27.848 3387
+-122.582 27.848 3404
+-122.456 27.848 3395
+-122.33 27.848 3405
+-122.204 27.848 3392
+-122.078 27.848 3396
+-121.952 27.848 3372
+-121.826 27.848 3349
+-121.7 27.848 3321
+-121.574 27.848 3299
+-121.448 27.848 3251
+-121.322 27.848 3191
+-121.196 27.848 3122
+-121.07 27.848 3058
+-120.944 27.848 3041
+-120.818 27.848 3109
+-120.692 27.848 3217
+-120.566 27.848 3299
+-120.44 27.848 3367
+-120.314 27.848 3401
+-120.188 27.848 3422
+-120.062 27.848 3464
+-119.936 27.848 3507
+-119.81 27.848 3533
+-119.684 27.848 3529
+-119.558 27.848 3518
+-119.432 27.848 3589
+-119.306 27.848 3695
+-119.18 27.848 3781
+-119.054 27.848 3825
+-118.928 27.848 3838
+-118.802 27.848 3825
+-118.676 27.848 3893
+-118.55 27.848 3965
+-118.424 27.848 4015
+-118.298 27.848 4058
+-118.172 27.848 4076
+-118.046 27.848 4101
+-117.92 27.848 4145
+-117.794 27.848 4184
+-117.668 27.848 4211
+-117.542 27.848 4220
+-117.416 27.848 4207
+-117.29 27.848 4202
+-117.164 27.848 4199
+-117.038 27.848 4201
+-116.912 27.848 4207
+-116.786 27.848 4175
+-116.66 27.848 4137
+-116.534 27.848 4142
+-116.408 27.848 4139
+-116.282 27.848 4141
+-116.156 27.848 4108
+-116.03 27.848 4058
+-115.904 27.848 4046
+-115.778 27.848 4012
+-115.652 27.848 3973
+-115.526 27.848 3956
+-115.4 27.848 3925
+-115.274 27.848 3853
+-115.148 27.848 3768
+-115.022 27.848 3688
+-114.896 27.848 3650
+-114.77 27.848 3673
+-114.644 27.848 3715
+-114.518 27.848 3742
+-114.392 27.848 3748
+-114.266 27.848 3811
+-114.14 27.848 3895
+-114.014 27.848 3983
+-113.888 27.848 4081
+-113.762 27.848 4145
+-113.636 27.848 4253
+-113.51 27.848 4303
+-113.384 27.848 4343
+-113.258 27.848 4410
+-113.132 27.848 4478
+-113.006 27.848 4502
+-112.88 27.848 4568
+-112.754 27.848 4695
+-112.628 27.848 4819
+-112.502 27.848 4880
+-112.376 27.848 4953
+-112.25 27.848 4950
+-112.124 27.848 5004
+-111.998 27.848 5104
+-111.872 27.848 5152
+-111.746 27.848 5182
+-111.62 27.848 5218
+-111.494 27.848 5253
+-111.368 27.848 5291
+-111.242 27.848 5325
+-111.116 27.848 5343
+-110.99 27.848 5368
+-110.864 27.848 5362
+-110.738 27.848 5352
+-110.612 27.848 5366
+-110.486 27.848 5392
+-110.36 27.848 5389
+-110.234 27.848 5388
+-110.108 27.848 5368
+-109.982 27.848 5351
+-109.856 27.848 5360
+-109.73 27.848 5354
+-109.604 27.848 5328
+-109.478 27.848 5301
+-109.352 27.848 5263
+-109.226 27.848 5205
+-109.1 27.848 5125
+-108.974 27.848 5130
+-108.848 27.848 5077
+-108.722 27.848 5001
+-108.596 27.848 4949
+-108.47 27.848 4924
+-108.344 27.848 4825
+-108.218 27.848 4729
+-108.092 27.848 4684
+-107.966 27.848 4644
+-107.84 27.848 4596
+-107.714 27.848 4542
+-107.588 27.848 4487
+-107.462 27.848 4396
+-107.336 27.848 4304
+-107.21 27.848 4196
+-107.084 27.848 4023
+-106.958 27.848 4137
+-106.832 27.848 4213
+-106.706 27.848 4233
+-106.58 27.848 4231
+-106.454 27.848 4192
+-106.328 27.848 4070
+-106.202 27.848 3994
+-106.076 27.848 3857
+-105.95 27.848 3765
+-105.824 27.848 3618
+-105.698 27.848 3498
+-105.572 27.848 3450
+-105.446 27.848 3427
+-105.32 27.848 3378
+-105.194 27.848 3383
+-105.068 27.848 3402
+-104.942 27.848 3421
+-104.816 27.848 3436
+-104.69 27.848 3398
+-104.564 27.848 3397
+-104.438 27.848 3403
+-104.312 27.848 3408
+-104.186 27.848 3411
+-104.06 27.848 3355
+-103.934 27.848 3356
+-103.808 27.848 3357
+-103.682 27.848 3292
+-103.556 27.848 3293
+-103.43 27.848 3291
+-103.304 27.848 3295
+-103.178 27.848 3340
+-103.052 27.848 3348
+-102.926 27.848 3338
+-102.8 27.848 3343
+-102.674 27.848 3274
+-102.548 27.848 3277
+-102.422 27.848 3270
+-102.296 27.848 3274
+-102.17 27.848 3261
+-102.044 27.848 3264
+-101.918 27.848 3203
+-101.792 27.848 3205
+-101.666 27.848 3207
+-101.54 27.848 3209
+-101.414 27.848 3211
+-101.288 27.848 3213
+-101.162 27.848 3176
+-101.036 27.848 3282
+-100.91 27.848 3183
+-100.784 27.848 3188
+-100.658 27.848 3190
+-100.532 27.848 3191
+-100.406 27.848 3193
+-100.28 27.848 3194
+-100.154 27.848 3195
+-100.028 27.848 3197
+-99.902 27.848 3198
+-99.776 27.848 3199
+-99.65 27.848 3128
+-99.524 27.848 3129
+-99.398 27.848 3129
+-99.272 27.848 3129
+-99.146 27.848 3130
+-99.02 27.848 3175
+-98.894 27.848 3140
+-98.768 27.848 3134
+-98.642 27.848 3136
+-98.516 27.848 3138
+-98.39 27.848 3106
+-98.264 27.848 3107
+-98.138 27.848 3108
+-98.012 27.848 3050
+-97.886 27.848 3050
+-97.76 27.848 3051
+-97.634 27.848 2887
+-97.508 27.848 2887
+-97.382 27.848 2848
+-97.256 27.848 2719
+-97.13 27.848 2618
+-97.004 27.848 2563
+-96.878 27.848 2552
+-96.752 27.848 2606
+-96.626 27.848 2553
+-96.5 27.848 2550
+-96.374 27.848 2577
+-96.248 27.848 2596
+-96.122 27.848 2680
+-95.996 27.848 2677
+-95.87 27.848 2699
+-95.744 27.848 2784
+-95.618 27.848 2806
+-95.492 27.848 3021
+-95.366 27.848 3024
+-95.24 27.848 3075
+-95.114 27.848 3075
+-94.988 27.848 3075
+-94.862 27.848 3076
+-94.736 27.848 3105
+-94.61 27.848 3137
+-94.484 27.848 3137
+-94.358 27.848 3346
+-94.232 27.848 3345
+-94.106 27.848 3345
+-93.98 27.848 3390
+-93.854 27.848 3389
+-93.728 27.848 3387
+-93.602 27.848 3385
+-93.476 27.848 3384
+-93.35 27.848 3382
+-93.224 27.848 3380
+-93.098 27.848 3378
+-92.972 27.848 3375
+-92.846 27.848 3373
+-92.72 27.848 3371
+-92.594 27.848 3368
+-92.468 27.848 3366
+-92.342 27.848 3363
+-92.216 27.848 3535
+-92.09 27.848 3531
+-91.964 27.848 3527
+-91.838 27.848 3523
+-91.712 27.848 3519
+-91.586 27.848 3514
+-91.46 27.848 3510
+-91.334 27.848 3505
+-91.208 27.848 3500
+-91.082 27.848 3495
+-90.956 27.848 3489
+-90.83 27.848 3619
+-90.704 27.848 3613
+-90.578 27.848 3607
+-90.452 27.848 3602
+-90.326 27.848 3597
+-90.2 27.848 3593
+-90.074 27.848 3591
+-89.948 27.848 3590
+-89.822 27.848 3592
+-89.696 27.848 3597
+-89.57 27.848 3605
+-89.444 27.848 3635
+-89.318 27.848 3675
+-89.192 27.848 3742
+-89.066 27.848 3804
+-88.94 27.848 3834
+-88.814 27.848 3870
+-88.688 27.848 3891
+-88.562 27.848 3923
+-88.436 27.848 3997
+-88.31 27.848 4059
+-88.184 27.848 4099
+-88.058 27.848 4140
+-87.932 27.848 4228
+-87.806 27.848 4255
+-87.68 27.848 4282
+-87.554 27.848 4313
+-87.428 27.848 4347
+-87.302 27.848 4382
+-87.176 27.848 4484
+-87.05 27.848 4595
+-86.924 27.848 4562
+-86.798 27.848 4735
+-86.672 27.848 4931
+-86.546 27.848 4936
+-86.42 27.848 5168
+-86.294 27.848 5287
+-86.168 27.848 5499
+-86.042 27.848 5588
+-85.916 27.848 5719
+-85.79 27.848 5855
+-85.664 27.848 5978
+-85.538 27.848 6084
+-85.412 27.848 6178
+-85.286 27.848 6330
+-85.16 27.848 6594
+-85.034 27.848 6689
+-84.908 27.848 6880
+-84.782 27.848 7025
+-84.656 27.848 7132
+-84.53 27.848 7284
+-84.404 27.848 7388
+-84.278 27.848 7535
+-84.152 27.848 7699
+-84.026 27.848 7824
+-83.9 27.848 7946
+-83.774 27.848 8093
+-83.648 27.848 8240
+-83.522 27.848 8422
+-83.396 27.848 8544
+-83.27 27.848 8697
+-83.144 27.848 8888
+-83.018 27.848 8994
+-82.892 27.848 9124
+-82.766 27.848 9235
+-82.64 27.848 9406
+-82.514 27.848 9535
+-82.388 27.848 9684
+-82.262 27.848 9756
+-82.136 27.848 9817
+-82.01 27.848 9696
+-81.884 27.848 9545
+-81.758 27.848 9404
+-81.632 27.848 9195
+-81.506 27.848 9077
+-81.38 27.848 8965
+-81.254 27.848 8855
+-81.128 27.848 8673
+-81.002 27.848 8518
+-80.876 27.848 8401
+-80.75 27.848 8256
+-80.624 27.848 8130
+-80.498 27.848 7979
+-80.372 27.848 7820
+-80.246 27.848 7672
+-80.12 27.848 7509
+-79.994 27.848 7394
+-79.868 27.848 7226
+-79.742 27.848 7172
+-79.616 27.848 7034
+-79.49 27.848 6855
+-79.364 27.848 6664
+-79.238 27.848 6534
+-79.112 27.848 6374
+-78.986 27.848 6213
+-78.86 27.848 6088
+-78.734 27.848 5976
+-78.608 27.848 5854
+-78.482 27.848 5696
+-78.356 27.848 5632
+-78.23 27.848 5446
+-78.104 27.848 5332
+-77.978 27.848 5239
+-77.852 27.848 5131
+-77.726 27.848 5103
+-77.6 27.848 5078
+-77.474 27.848 5011
+-77.348 27.848 4872
+-77.222 27.848 4709
+-77.096 27.848 4385
+-76.97 27.848 3988
+-76.844 27.848 3788
+-76.718 27.848 3892
+-76.592 27.848 3987
+-76.466 27.848 3968
+-76.34 27.848 3920
+-76.214 27.848 3820
+-76.088 27.848 3672
+-75.962 27.848 3569
+-75.836 27.848 3460
+-75.71 27.848 3343
+-75.584 27.848 3272
+-75.458 27.848 3245
+-75.332 27.848 3214
+-75.206 27.848 3230
+-75.08 27.848 3255
+-74.954 27.848 3283
+-74.828 27.848 3229
+-74.702 27.848 3173
+-74.576 27.848 3193
+-74.45 27.848 3211
+-74.324 27.848 3228
+-74.198 27.848 3192
+-74.072 27.848 3205
+-73.946 27.848 3217
+-73.82 27.848 3228
+-73.694 27.848 3237
+-73.568 27.848 3246
+-73.442 27.848 3254
+-73.316 27.848 3228
+-73.19 27.848 3220
+-73.064 27.848 3226
+-72.938 27.848 3193
+-72.812 27.848 3198
+-72.686 27.848 3203
+-72.56 27.848 3207
+-72.434 27.848 3211
+-72.308 27.848 3214
+-72.182 27.848 3218
+-72.056 27.848 3221
+-71.93 27.848 3224
+-71.804 27.848 3227
+-71.678 27.848 3229
+-71.552 27.848 3232
+-71.426 27.848 3195
+-71.3 27.848 3197
+-71.174 27.848 3199
+-71.048 27.848 3201
+-70.922 27.848 3203
+-70.796 27.848 3205
+-70.67 27.848 3206
+-70.544 27.848 3208
+-70.418 27.848 3209
+-70.292 27.848 3211
+-70.166 27.848 3212
+-70.04 27.848 3213
+-69.914 27.848 3215
+-69.788 27.848 3130
+-69.662 27.848 3130
+-69.536 27.848 3129
+-69.41 27.848 3016
+-69.284 27.848 3015
+-69.158 27.848 3014
+-69.032 27.848 3012
+-68.906 27.848 3011
+-68.78 27.848 3010
+-68.654 27.848 3009
+-68.528 27.848 3008
+-68.402 27.848 3007
+-68.276 27.848 3006
+-68.15 27.848 3005
+-68.024 27.848 3004
+-67.898 27.848 3003
+-67.772 27.848 3002
+-67.646 27.848 3001
+-67.52 27.848 3000
+-67.394 27.848 2999
+-67.268 27.848 2999
+-67.142 27.848 2998
+-67.016 27.848 2997
+-66.89 27.848 2996
+-66.764 27.848 2995
+-66.638 27.848 2995
+-66.512 27.848 2994
+-66.386 27.848 2993
+-66.26 27.848 2993
+-66.134 27.848 2992
+-66.008 27.848 2992
+-65.882 27.848 2991
+-65.756 27.848 2990
+-65.63 27.848 2990
+-65.504 27.848 2989
+-65.378 27.848 2989
+-65.252 27.848 2988
+-65.126 27.848 2988
+-128 27.796 2768
+-127.874 27.796 2768
+-127.748 27.796 2767
+-127.622 27.796 2767
+-127.496 27.796 2767
+-127.37 27.796 2769
+-127.244 27.796 2780
+-127.118 27.796 2842
+-126.992 27.796 2788
+-126.866 27.796 2791
+-126.74 27.796 2836
+-126.614 27.796 2839
+-126.488 27.796 2862
+-126.362 27.796 2904
+-126.236 27.796 2909
+-126.11 27.796 2914
+-125.984 27.796 2920
+-125.858 27.796 2926
+-125.732 27.796 2911
+-125.606 27.796 2911
+-125.48 27.796 2945
+-125.354 27.796 2954
+-125.228 27.796 2995
+-125.102 27.796 3006
+-124.976 27.796 2985
+-124.85 27.796 2984
+-124.724 27.796 3005
+-124.598 27.796 3017
+-124.472 27.796 3029
+-124.346 27.796 3011
+-124.22 27.796 3392
+-124.094 27.796 3389
+-123.968 27.796 3388
+-123.842 27.796 3367
+-123.716 27.796 3365
+-123.59 27.796 3351
+-123.464 27.796 3375
+-123.338 27.796 3372
+-123.212 27.796 3419
+-123.086 27.796 3414
+-122.96 27.796 3385
+-122.834 27.796 3392
+-122.708 27.796 3411
+-122.582 27.796 3402
+-122.456 27.796 3415
+-122.33 27.796 3404
+-122.204 27.796 3412
+-122.078 27.796 3390
+-121.952 27.796 3373
+-121.826 27.796 3353
+-121.7 27.796 3345
+-121.574 27.796 3313
+-121.448 27.796 3277
+-121.322 27.796 3238
+-121.196 27.796 3196
+-121.07 27.796 3165
+-120.944 27.796 3171
+-120.818 27.796 3210
+-120.692 27.796 3264
+-120.566 27.796 3337
+-120.44 27.796 3377
+-120.314 27.796 3394
+-120.188 27.796 3432
+-120.062 27.796 3469
+-119.936 27.796 3487
+-119.81 27.796 3505
+-119.684 27.796 3487
+-119.558 27.796 3452
+-119.432 27.796 3523
+-119.306 27.796 3646
+-119.18 27.796 3749
+-119.054 27.796 3793
+-118.928 27.796 3790
+-118.802 27.796 3743
+-118.676 27.796 3823
+-118.55 27.796 3918
+-118.424 27.796 3974
+-118.298 27.796 3995
+-118.172 27.796 4004
+-118.046 27.796 4012
+-117.92 27.796 4056
+-117.794 27.796 4108
+-117.668 27.796 4145
+-117.542 27.796 4152
+-117.416 27.796 4137
+-117.29 27.796 4120
+-117.164 27.796 4112
+-117.038 27.796 4134
+-116.912 27.796 4143
+-116.786 27.796 4127
+-116.66 27.796 4111
+-116.534 27.796 4110
+-116.408 27.796 4088
+-116.282 27.796 4080
+-116.156 27.796 4062
+-116.03 27.796 4025
+-115.904 27.796 4018
+-115.778 27.796 3976
+-115.652 27.796 3946
+-115.526 27.796 3937
+-115.4 27.796 3880
+-115.274 27.796 3796
+-115.148 27.796 3697
+-115.022 27.796 3631
+-114.896 27.796 3610
+-114.77 27.796 3628
+-114.644 27.796 3673
+-114.518 27.796 3722
+-114.392 27.796 3740
+-114.266 27.796 3788
+-114.14 27.796 3877
+-114.014 27.796 3946
+-113.888 27.796 4022
+-113.762 27.796 4084
+-113.636 27.796 4176
+-113.51 27.796 4202
+-113.384 27.796 4228
+-113.258 27.796 4306
+-113.132 27.796 4432
+-113.006 27.796 4459
+-112.88 27.796 4498
+-112.754 27.796 4617
+-112.628 27.796 4745
+-112.502 27.796 4817
+-112.376 27.796 4899
+-112.25 27.796 4893
+-112.124 27.796 4947
+-111.998 27.796 5041
+-111.872 27.796 5081
+-111.746 27.796 5092
+-111.62 27.796 5137
+-111.494 27.796 5178
+-111.368 27.796 5225
+-111.242 27.796 5253
+-111.116 27.796 5279
+-110.99 27.796 5304
+-110.864 27.796 5306
+-110.738 27.796 5316
+-110.612 27.796 5318
+-110.486 27.796 5341
+-110.36 27.796 5336
+-110.234 27.796 5315
+-110.108 27.796 5301
+-109.982 27.796 5290
+-109.856 27.796 5287
+-109.73 27.796 5282
+-109.604 27.796 5244
+-109.478 27.796 5194
+-109.352 27.796 5187
+-109.226 27.796 5143
+-109.1 27.796 5108
+-108.974 27.796 5083
+-108.848 27.796 5034
+-108.722 27.796 4948
+-108.596 27.796 4906
+-108.47 27.796 4860
+-108.344 27.796 4762
+-108.218 27.796 4697
+-108.092 27.796 4651
+-107.966 27.796 4578
+-107.84 27.796 4577
+-107.714 27.796 4523
+-107.588 27.796 4471
+-107.462 27.796 4420
+-107.336 27.796 4333
+-107.21 27.796 4237
+-107.084 27.796 4151
+-106.958 27.796 4192
+-106.832 27.796 4217
+-106.706 27.796 4225
+-106.58 27.796 4212
+-106.454 27.796 4145
+-106.328 27.796 4054
+-106.202 27.796 3957
+-106.076 27.796 3838
+-105.95 27.796 3659
+-105.824 27.796 3479
+-105.698 27.796 3312
+-105.572 27.796 3246
+-105.446 27.796 3224
+-105.32 27.796 3253
+-105.194 27.796 3302
+-105.068 27.796 3336
+-104.942 27.796 3370
+-104.816 27.796 3351
+-104.69 27.796 3368
+-104.564 27.796 3380
+-104.438 27.796 3381
+-104.312 27.796 3389
+-104.186 27.796 3395
+-104.06 27.796 3400
+-103.934 27.796 3344
+-103.808 27.796 3347
+-103.682 27.796 3349
+-103.556 27.796 3283
+-103.43 27.796 3285
+-103.304 27.796 3284
+-103.178 27.796 3288
+-103.052 27.796 3334
+-102.926 27.796 3344
+-102.8 27.796 3259
+-102.674 27.796 3263
+-102.548 27.796 3266
+-102.422 27.796 3270
+-102.296 27.796 3264
+-102.17 27.796 3267
+-102.044 27.796 3255
+-101.918 27.796 3258
+-101.792 27.796 3197
+-101.666 27.796 3200
+-101.54 27.796 3202
+-101.414 27.796 3204
+-101.288 27.796 3206
+-101.162 27.796 3208
+-101.036 27.796 3171
+-100.91 27.796 3278
+-100.784 27.796 3180
+-100.658 27.796 3185
+-100.532 27.796 3187
+-100.406 27.796 3189
+-100.28 27.796 3190
+-100.154 27.796 3192
+-100.028 27.796 3193
+-99.902 27.796 3195
+-99.776 27.796 3196
+-99.65 27.796 3197
+-99.524 27.796 3127
+-99.398 27.796 3127
+-99.272 27.796 3127
+-99.146 27.796 3128
+-99.02 27.796 3128
+-98.894 27.796 3175
+-98.768 27.796 3141
+-98.642 27.796 3135
+-98.516 27.796 3137
+-98.39 27.796 3139
+-98.264 27.796 3106
+-98.138 27.796 3107
+-98.012 27.796 3109
+-97.886 27.796 3050
+-97.76 27.796 3051
+-97.634 27.796 3052
+-97.508 27.796 2886
+-97.382 27.796 2847
+-97.256 27.796 2797
+-97.13 27.796 2714
+-97.004 27.796 2563
+-96.878 27.796 2552
+-96.752 27.796 2607
+-96.626 27.796 2568
+-96.5 27.796 2566
+-96.374 27.796 2579
+-96.248 27.796 2598
+-96.122 27.796 2684
+-95.996 27.796 2699
+-95.87 27.796 2703
+-95.744 27.796 2788
+-95.618 27.796 3020
+-95.492 27.796 3023
+-95.366 27.796 3026
+-95.24 27.796 3076
+-95.114 27.796 3076
+-94.988 27.796 3077
+-94.862 27.796 3106
+-94.736 27.796 3140
+-94.61 27.796 3139
+-94.484 27.796 3139
+-94.358 27.796 3346
+-94.232 27.796 3346
+-94.106 27.796 3391
+-93.98 27.796 3389
+-93.854 27.796 3388
+-93.728 27.796 3386
+-93.602 27.796 3384
+-93.476 27.796 3382
+-93.35 27.796 3380
+-93.224 27.796 3378
+-93.098 27.796 3376
+-92.972 27.796 3373
+-92.846 27.796 3371
+-92.72 27.796 3368
+-92.594 27.796 3365
+-92.468 27.796 3362
+-92.342 27.796 3534
+-92.216 27.796 3530
+-92.09 27.796 3526
+-91.964 27.796 3521
+-91.838 27.796 3517
+-91.712 27.796 3512
+-91.586 27.796 3506
+-91.46 27.796 3501
+-91.334 27.796 3495
+-91.208 27.796 3488
+-91.082 27.796 3482
+-90.956 27.796 3607
+-90.83 27.796 3598
+-90.704 27.796 3590
+-90.578 27.796 3581
+-90.452 27.796 3573
+-90.326 27.796 3565
+-90.2 27.796 3557
+-90.074 27.796 3551
+-89.948 27.796 3547
+-89.822 27.796 3546
+-89.696 27.796 3547
+-89.57 27.796 3553
+-89.444 27.796 3583
+-89.318 27.796 3643
+-89.192 27.796 3684
+-89.066 27.796 3770
+-88.94 27.796 3795
+-88.814 27.796 3821
+-88.688 27.796 3864
+-88.562 27.796 3939
+-88.436 27.796 3954
+-88.31 27.796 3985
+-88.184 27.796 4018
+-88.058 27.796 4077
+-87.932 27.796 4171
+-87.806 27.796 4215
+-87.68 27.796 4284
+-87.554 27.796 4337
+-87.428 27.796 4413
+-87.302 27.796 4469
+-87.176 27.796 4551
+-87.05 27.796 4639
+-86.924 27.796 4672
+-86.798 27.796 4756
+-86.672 27.796 4905
+-86.546 27.796 5029
+-86.42 27.796 5160
+-86.294 27.796 5300
+-86.168 27.796 5509
+-86.042 27.796 5539
+-85.916 27.796 5720
+-85.79 27.796 5838
+-85.664 27.796 5971
+-85.538 27.796 6077
+-85.412 27.796 6214
+-85.286 27.796 6294
+-85.16 27.796 6558
+-85.034 27.796 6769
+-84.908 27.796 6892
+-84.782 27.796 7023
+-84.656 27.796 7058
+-84.53 27.796 7265
+-84.404 27.796 7420
+-84.278 27.796 7469
+-84.152 27.796 7729
+-84.026 27.796 7819
+-83.9 27.796 7961
+-83.774 27.796 8068
+-83.648 27.796 8234
+-83.522 27.796 8328
+-83.396 27.796 8548
+-83.27 27.796 8680
+-83.144 27.796 8849
+-83.018 27.796 9010
+-82.892 27.796 9080
+-82.766 27.796 9311
+-82.64 27.796 9385
+-82.514 27.796 9596
+-82.388 27.796 9677
+-82.262 27.796 9741
+-82.136 27.796 9857
+-82.01 27.796 9638
+-81.884 27.796 9553
+-81.758 27.796 9408
+-81.632 27.796 9223
+-81.506 27.796 9091
+-81.38 27.796 9012
+-81.254 27.796 8780
+-81.128 27.796 8616
+-81.002 27.796 8556
+-80.876 27.796 8406
+-80.75 27.796 8275
+-80.624 27.796 8101
+-80.498 27.796 7927
+-80.372 27.796 7837
+-80.246 27.796 7676
+-80.12 27.796 7546
+-79.994 27.796 7407
+-79.868 27.796 7198
+-79.742 27.796 7144
+-79.616 27.796 6988
+-79.49 27.796 6815
+-79.364 27.796 6655
+-79.238 27.796 6528
+-79.112 27.796 6426
+-78.986 27.796 6316
+-78.86 27.796 6149
+-78.734 27.796 5988
+-78.608 27.796 5768
+-78.482 27.796 5774
+-78.356 27.796 5661
+-78.23 27.796 5520
+-78.104 27.796 5364
+-77.978 27.796 5164
+-77.852 27.796 4958
+-77.726 27.796 5066
+-77.6 27.796 5093
+-77.474 27.796 5044
+-77.348 27.796 4927
+-77.222 27.796 4711
+-77.096 27.796 4416
+-76.97 27.796 4113
+-76.844 27.796 3911
+-76.718 27.796 3936
+-76.592 27.796 3983
+-76.466 27.796 3931
+-76.34 27.796 3859
+-76.214 27.796 3755
+-76.088 27.796 3597
+-75.962 27.796 3461
+-75.836 27.796 3346
+-75.71 27.796 3212
+-75.584 27.796 3126
+-75.458 27.796 3106
+-75.332 27.796 3102
+-75.206 27.796 3136
+-75.08 27.796 3177
+-74.954 27.796 3178
+-74.828 27.796 3158
+-74.702 27.796 3173
+-74.576 27.796 3165
+-74.45 27.796 3187
+-74.324 27.796 3207
+-74.198 27.796 3186
+-74.072 27.796 3191
+-73.946 27.796 3204
+-73.82 27.796 3216
+-73.694 27.796 3227
+-73.568 27.796 3237
+-73.442 27.796 3246
+-73.316 27.796 3254
+-73.19 27.796 3227
+-73.064 27.796 3219
+-72.938 27.796 3225
+-72.812 27.796 3192
+-72.686 27.796 3197
+-72.56 27.796 3201
+-72.434 27.796 3205
+-72.308 27.796 3209
+-72.182 27.796 3213
+-72.056 27.796 3216
+-71.93 27.796 3220
+-71.804 27.796 3223
+-71.678 27.796 3225
+-71.552 27.796 3189
+-71.426 27.796 3192
+-71.3 27.796 3194
+-71.174 27.796 3196
+-71.048 27.796 3198
+-70.922 27.796 3200
+-70.796 27.796 3202
+-70.67 27.796 3204
+-70.544 27.796 3205
+-70.418 27.796 3207
+-70.292 27.796 3209
+-70.166 27.796 3210
+-70.04 27.796 3211
+-69.914 27.796 3126
+-69.788 27.796 3126
+-69.662 27.796 3126
+-69.536 27.796 3125
+-69.41 27.796 3125
+-69.284 27.796 3012
+-69.158 27.796 3011
+-69.032 27.796 3010
+-68.906 27.796 3009
+-68.78 27.796 3008
+-68.654 27.796 3007
+-68.528 27.796 3005
+-68.402 27.796 3004
+-68.276 27.796 3003
+-68.15 27.796 3003
+-68.024 27.796 3002
+-67.898 27.796 3001
+-67.772 27.796 3000
+-67.646 27.796 2999
+-67.52 27.796 2998
+-67.394 27.796 2997
+-67.268 27.796 2996
+-67.142 27.796 2996
+-67.016 27.796 2995
+-66.89 27.796 2994
+-66.764 27.796 2993
+-66.638 27.796 2993
+-66.512 27.796 2992
+-66.386 27.796 2992
+-66.26 27.796 2991
+-66.134 27.796 2990
+-66.008 27.796 2990
+-65.882 27.796 2989
+-65.756 27.796 2989
+-65.63 27.796 2988
+-65.504 27.796 2988
+-65.378 27.796 2987
+-65.252 27.796 2987
+-65.126 27.796 2986
+-128 27.744 2777
+-127.874 27.744 2776
+-127.748 27.744 2776
+-127.622 27.744 2776
+-127.496 27.744 2778
+-127.37 27.744 2789
+-127.244 27.744 2851
+-127.118 27.744 2796
+-126.992 27.744 2799
+-126.866 27.744 2843
+-126.74 27.744 2846
+-126.614 27.744 2869
+-126.488 27.744 2911
+-126.362 27.744 2916
+-126.236 27.744 2920
+-126.11 27.744 2925
+-125.984 27.744 2931
+-125.858 27.744 2915
+-125.732 27.744 2913
+-125.606 27.744 2946
+-125.48 27.744 2955
+-125.354 27.744 2996
+-125.228 27.744 3006
+-125.102 27.744 2984
+-124.976 27.744 2981
+-124.85 27.744 3002
+-124.724 27.744 3013
+-124.598 27.744 3025
+-124.472 27.744 3006
+-124.346 27.744 3393
+-124.22 27.744 3391
+-124.094 27.744 3389
+-123.968 27.744 3368
+-123.842 27.744 3366
+-123.716 27.744 3353
+-123.59 27.744 3377
+-123.464 27.744 3374
+-123.338 27.744 3423
+-123.212 27.744 3418
+-123.086 27.744 3388
+-122.96 27.744 3397
+-122.834 27.744 3417
+-122.708 27.744 3409
+-122.582 27.744 3424
+-122.456 27.744 3414
+-122.33 27.744 3426
+-122.204 27.744 3406
+-122.078 27.744 3393
+-121.952 27.744 3377
+-121.826 27.744 3378
+-121.7 27.744 3356
+-121.574 27.744 3331
+-121.448 27.744 3307
+-121.322 27.744 3280
+-121.196 27.744 3252
+-121.07 27.744 3246
+-120.944 27.744 3251
+-120.818 27.744 3268
+-120.692 27.744 3321
+-120.566 27.744 3338
+-120.44 27.744 3361
+-120.314 27.744 3391
+-120.188 27.744 3417
+-120.062 27.744 3428
+-119.936 27.744 3459
+-119.81 27.744 3486
+-119.684 27.744 3497
+-119.558 27.744 3492
+-119.432 27.744 3549
+-119.306 27.744 3638
+-119.18 27.744 3714
+-119.054 27.744 3768
+-118.928 27.744 3779
+-118.802 27.744 3784
+-118.676 27.744 3835
+-118.55 27.744 3896
+-118.424 27.744 3932
+-118.298 27.744 3933
+-118.172 27.744 3938
+-118.046 27.744 3978
+-117.92 27.744 4001
+-117.794 27.744 4054
+-117.668 27.744 4085
+-117.542 27.744 4085
+-117.416 27.744 4070
+-117.29 27.744 4061
+-117.164 27.744 4090
+-117.038 27.744 4084
+-116.912 27.744 4083
+-116.786 27.744 4084
+-116.66 27.744 4082
+-116.534 27.744 4049
+-116.408 27.744 4008
+-116.282 27.744 4011
+-116.156 27.744 3977
+-116.03 27.744 3955
+-115.904 27.744 3956
+-115.778 27.744 3939
+-115.652 27.744 3925
+-115.526 27.744 3887
+-115.4 27.744 3835
+-115.274 27.744 3732
+-115.148 27.744 3666
+-115.022 27.744 3609
+-114.896 27.744 3569
+-114.77 27.744 3603
+-114.644 27.744 3638
+-114.518 27.744 3671
+-114.392 27.744 3698
+-114.266 27.744 3743
+-114.14 27.744 3792
+-114.014 27.744 3849
+-113.888 27.744 3929
+-113.762 27.744 4000
+-113.636 27.744 4101
+-113.51 27.744 4159
+-113.384 27.744 4170
+-113.258 27.744 4233
+-113.132 27.744 4355
+-113.006 27.744 4449
+-112.88 27.744 4489
+-112.754 27.744 4584
+-112.628 27.744 4664
+-112.502 27.744 4735
+-112.376 27.744 4849
+-112.25 27.744 4882
+-112.124 27.744 4916
+-111.998 27.744 4987
+-111.872 27.744 5037
+-111.746 27.744 5025
+-111.62 27.744 5100
+-111.494 27.744 5125
+-111.368 27.744 5165
+-111.242 27.744 5168
+-111.116 27.744 5209
+-110.99 27.744 5230
+-110.864 27.744 5250
+-110.738 27.744 5241
+-110.612 27.744 5262
+-110.486 27.744 5275
+-110.36 27.744 5276
+-110.234 27.744 5273
+-110.108 27.744 5260
+-109.982 27.744 5283
+-109.856 27.744 5247
+-109.73 27.744 5219
+-109.604 27.744 5170
+-109.478 27.744 5145
+-109.352 27.744 5130
+-109.226 27.744 5077
+-109.1 27.744 5053
+-108.974 27.744 5027
+-108.848 27.744 4967
+-108.722 27.744 4881
+-108.596 27.744 4831
+-108.47 27.744 4788
+-108.344 27.744 4713
+-108.218 27.744 4652
+-108.092 27.744 4637
+-107.966 27.744 4598
+-107.84 27.744 4533
+-107.714 27.744 4443
+-107.588 27.744 4439
+-107.462 27.744 4413
+-107.336 27.744 4369
+-107.21 27.744 4303
+-107.084 27.744 4266
+-106.958 27.744 4264
+-106.832 27.744 4244
+-106.706 27.744 4189
+-106.58 27.744 4160
+-106.454 27.744 4108
+-106.328 27.744 4038
+-106.202 27.744 3919
+-106.076 27.744 3756
+-105.95 27.744 3522
+-105.824 27.744 3302
+-105.698 27.744 3113
+-105.572 27.744 3022
+-105.446 27.744 3033
+-105.32 27.744 3121
+-105.194 27.744 3204
+-105.068 27.744 3241
+-104.942 27.744 3289
+-104.816 27.744 3312
+-104.69 27.744 3337
+-104.564 27.744 3316
+-104.438 27.744 3329
+-104.312 27.744 3367
+-104.186 27.744 3376
+-104.06 27.744 3383
+-103.934 27.744 3389
+-103.808 27.744 3334
+-103.682 27.744 3337
+-103.556 27.744 3340
+-103.43 27.744 3274
+-103.304 27.744 3277
+-103.178 27.744 3208
+-103.052 27.744 3253
+-102.926 27.744 3256
+-102.8 27.744 3262
+-102.674 27.744 3252
+-102.548 27.744 3255
+-102.422 27.744 3259
+-102.296 27.744 3263
+-102.17 27.744 3257
+-102.044 27.744 3261
+-101.918 27.744 3249
+-101.792 27.744 3253
+-101.666 27.744 3192
+-101.54 27.744 3194
+-101.414 27.744 3196
+-101.288 27.744 3199
+-101.162 27.744 3201
+-101.036 27.744 3203
+-100.91 27.744 3167
+-100.784 27.744 3275
+-100.658 27.744 3177
+-100.532 27.744 3183
+-100.406 27.744 3185
+-100.28 27.744 3186
+-100.154 27.744 3188
+-100.028 27.744 3190
+-99.902 27.744 3191
+-99.776 27.744 3193
+-99.65 27.744 3194
+-99.524 27.744 3196
+-99.398 27.744 3125
+-99.272 27.744 3125
+-99.146 27.744 3126
+-99.02 27.744 3126
+-98.894 27.744 3127
+-98.768 27.744 3176
+-98.642 27.744 3141
+-98.516 27.744 3135
+-98.39 27.744 3137
+-98.264 27.744 3139
+-98.138 27.744 3106
+-98.012 27.744 3108
+-97.886 27.744 3109
+-97.76 27.744 3050
+-97.634 27.744 3051
+-97.508 27.744 2948
+-97.382 27.744 2845
+-97.256 27.744 2796
+-97.13 27.744 2783
+-97.004 27.744 2641
+-96.878 27.744 2617
+-96.752 27.744 2623
+-96.626 27.744 2568
+-96.5 27.744 2566
+-96.374 27.744 2594
+-96.248 27.744 2715
+-96.122 27.744 2727
+-95.996 27.744 2702
+-95.87 27.744 2787
+-95.744 27.744 2805
+-95.618 27.744 3022
+-95.492 27.744 3025
+-95.366 27.744 3028
+-95.24 27.744 3077
+-95.114 27.744 3077
+-94.988 27.744 3106
+-94.862 27.744 3140
+-94.736 27.744 3140
+-94.61 27.744 3139
+-94.484 27.744 3347
+-94.358 27.744 3347
+-94.232 27.744 3392
+-94.106 27.744 3390
+-93.98 27.744 3388
+-93.854 27.744 3387
+-93.728 27.744 3385
+-93.602 27.744 3383
+-93.476 27.744 3381
+-93.35 27.744 3379
+-93.224 27.744 3376
+-93.098 27.744 3374
+-92.972 27.744 3371
+-92.846 27.744 3369
+-92.72 27.744 3366
+-92.594 27.744 3362
+-92.468 27.744 3534
+-92.342 27.744 3530
+-92.216 27.744 3526
+-92.09 27.744 3521
+-91.964 27.744 3516
+-91.838 27.744 3510
+-91.712 27.744 3504
+-91.586 27.744 3498
+-91.46 27.744 3491
+-91.334 27.744 3484
+-91.208 27.744 3477
+-91.082 27.744 3587
+-90.956 27.744 3577
+-90.83 27.744 3567
+-90.704 27.744 3556
+-90.578 27.744 3544
+-90.452 27.744 3532
+-90.326 27.744 3521
+-90.2 27.744 3509
+-90.074 27.744 3499
+-89.948 27.744 3490
+-89.822 27.744 3483
+-89.696 27.744 3481
+-89.57 27.744 3526
+-89.444 27.744 3533
+-89.318 27.744 3575
+-89.192 27.744 3596
+-89.066 27.744 3644
+-88.94 27.744 3740
+-88.814 27.744 3771
+-88.688 27.744 3806
+-88.562 27.744 3887
+-88.436 27.744 3922
+-88.31 27.744 3921
+-88.184 27.744 3912
+-88.058 27.744 3936
+-87.932 27.744 4007
+-87.806 27.744 4126
+-87.68 27.744 4232
+-87.554 27.744 4359
+-87.428 27.744 4458
+-87.302 27.744 4523
+-87.176 27.744 4589
+-87.05 27.744 4661
+-86.924 27.744 4728
+-86.798 27.744 4655
+-86.672 27.744 4855
+-86.546 27.744 5018
+-86.42 27.744 5144
+-86.294 27.744 5357
+-86.168 27.744 5530
+-86.042 27.744 5630
+-85.916 27.744 5735
+-85.79 27.744 5793
+-85.664 27.744 5920
+-85.538 27.744 6139
+-85.412 27.744 6149
+-85.286 27.744 6309
+-85.16 27.744 6533
+-85.034 27.744 6759
+-84.908 27.744 6919
+-84.782 27.744 6993
+-84.656 27.744 7153
+-84.53 27.744 7206
+-84.404 27.744 7369
+-84.278 27.744 7516
+-84.152 27.744 7700
+-84.026 27.744 7799
+-83.9 27.744 7963
+-83.774 27.744 8060
+-83.648 27.744 8230
+-83.522 27.744 8335
+-83.396 27.744 8526
+-83.27 27.744 8649
+-83.144 27.744 8880
+-83.018 27.744 8955
+-82.892 27.744 9128
+-82.766 27.744 9195
+-82.64 27.744 9385
+-82.514 27.744 9534
+-82.388 27.744 9684
+-82.262 27.744 9809
+-82.136 27.744 9862
+-82.01 27.744 9672
+-81.884 27.744 9567
+-81.758 27.744 9415
+-81.632 27.744 9225
+-81.506 27.744 9131
+-81.38 27.744 8949
+-81.254 27.744 8882
+-81.128 27.744 8706
+-81.002 27.744 8517
+-80.876 27.744 8371
+-80.75 27.744 8291
+-80.624 27.744 8105
+-80.498 27.744 7905
+-80.372 27.744 7775
+-80.246 27.744 7677
+-80.12 27.744 7487
+-79.994 27.744 7363
+-79.868 27.744 7263
+-79.742 27.744 7073
+-79.616 27.744 6907
+-79.49 27.744 6881
+-79.364 27.744 6684
+-79.238 27.744 6554
+-79.112 27.744 6364
+-78.986 27.744 6267
+-78.86 27.744 6076
+-78.734 27.744 5955
+-78.608 27.744 5865
+-78.482 27.744 5733
+-78.356 27.744 5662
+-78.23 27.744 5522
+-78.104 27.744 5384
+-77.978 27.744 5180
+-77.852 27.744 5041
+-77.726 27.744 5087
+-77.6 27.744 5083
+-77.474 27.744 5055
+-77.348 27.744 4946
+-77.222 27.744 4741
+-77.096 27.744 4538
+-76.97 27.744 4285
+-76.844 27.744 4063
+-76.718 27.744 4015
+-76.592 27.744 3958
+-76.466 27.744 3887
+-76.34 27.744 3783
+-76.214 27.744 3648
+-76.088 27.744 3479
+-75.962 27.744 3344
+-75.836 27.744 3177
+-75.71 27.744 3033
+-75.584 27.744 2973
+-75.458 27.744 2963
+-75.332 27.744 2995
+-75.206 27.744 3040
+-75.08 27.744 3065
+-74.954 27.744 3117
+-74.828 27.744 3116
+-74.702 27.744 3156
+-74.576 27.744 3174
+-74.45 27.744 3180
+-74.324 27.744 3203
+-74.198 27.744 3209
+-74.072 27.744 3190
+-73.946 27.744 3198
+-73.82 27.744 3211
+-73.694 27.744 3223
+-73.568 27.744 3234
+-73.442 27.744 3244
+-73.316 27.744 3252
+-73.19 27.744 3261
+-73.064 27.744 3228
+-72.938 27.744 3219
+-72.812 27.744 3225
+-72.686 27.744 3191
+-72.56 27.744 3196
+-72.434 27.744 3200
+-72.308 27.744 3204
+-72.182 27.744 3208
+-72.056 27.744 3212
+-71.93 27.744 3215
+-71.804 27.744 3219
+-71.678 27.744 3183
+-71.552 27.744 3186
+-71.426 27.744 3189
+-71.3 27.744 3191
+-71.174 27.744 3193
+-71.048 27.744 3195
+-70.922 27.744 3197
+-70.796 27.744 3199
+-70.67 27.744 3201
+-70.544 27.744 3203
+-70.418 27.744 3205
+-70.292 27.744 3206
+-70.166 27.744 3208
+-70.04 27.744 3122
+-69.914 27.744 3122
+-69.788 27.744 3122
+-69.662 27.744 3121
+-69.536 27.744 3121
+-69.41 27.744 3121
+-69.284 27.744 3120
+-69.158 27.744 3008
+-69.032 27.744 3007
+-68.906 27.744 3006
+-68.78 27.744 3005
+-68.654 27.744 3004
+-68.528 27.744 3003
+-68.402 27.744 3002
+-68.276 27.744 3001
+-68.15 27.744 3000
+-68.024 27.744 2999
+-67.898 27.744 2998
+-67.772 27.744 2997
+-67.646 27.744 2997
+-67.52 27.744 2996
+-67.394 27.744 2995
+-67.268 27.744 2994
+-67.142 27.744 2994
+-67.016 27.744 2993
+-66.89 27.744 2992
+-66.764 27.744 2991
+-66.638 27.744 2991
+-66.512 27.744 2990
+-66.386 27.744 2990
+-66.26 27.744 2989
+-66.134 27.744 2988
+-66.008 27.744 2988
+-65.882 27.744 2987
+-65.756 27.744 2987
+-65.63 27.744 2986
+-65.504 27.744 2986
+-65.378 27.744 2985
+-65.252 27.744 2985
+-65.126 27.744 2985
+-128 27.692 2785
+-127.874 27.692 2784
+-127.748 27.692 2784
+-127.622 27.692 2787
+-127.496 27.692 2797
+-127.37 27.692 2860
+-127.244 27.692 2804
+-127.118 27.692 2806
+-126.992 27.692 2851
+-126.866 27.692 2853
+-126.74 27.692 2875
+-126.614 27.692 2918
+-126.488 27.692 2922
+-126.362 27.692 2926
+-126.236 27.692 2931
+-126.11 27.692 2936
+-125.984 27.692 2918
+-125.858 27.692 2915
+-125.732 27.692 2949
+-125.606 27.692 2957
+-125.48 27.692 2997
+-125.354 27.692 3006
+-125.228 27.692 2983
+-125.102 27.692 2980
+-124.976 27.692 2999
+-124.85 27.692 3010
+-124.724 27.692 3021
+-124.598 27.692 3001
+-124.472 27.692 3394
+-124.346 27.692 3392
+-124.22 27.692 3391
+-124.094 27.692 3369
+-123.968 27.692 3367
+-123.842 27.692 3354
+-123.716 27.692 3379
+-123.59 27.692 3376
+-123.464 27.692 3426
+-123.338 27.692 3421
+-123.212 27.692 3392
+-123.086 27.692 3401
+-122.96 27.692 3423
+-122.834 27.692 3416
+-122.708 27.692 3432
+-122.582 27.692 3424
+-122.456 27.692 3438
+-122.33 27.692 3419
+-122.204 27.692 3409
+-122.078 27.692 3396
+-121.952 27.692 3402
+-121.826 27.692 3386
+-121.7 27.692 3367
+-121.574 27.692 3352
+-121.448 27.692 3332
+-121.322 27.692 3309
+-121.196 27.692 3303
+-121.07 27.692 3296
+-120.944 27.692 3293
+-120.818 27.692 3329
+-120.692 27.692 3327
+-120.566 27.692 3338
+-120.44 27.692 3339
+-120.314 27.692 3345
+-120.188 27.692 3343
+-120.062 27.692 3356
+-119.936 27.692 3395
+-119.81 27.692 3454
+-119.684 27.692 3495
+-119.558 27.692 3522
+-119.432 27.692 3584
+-119.306 27.692 3644
+-119.18 27.692 3711
+-119.054 27.692 3749
+-118.928 27.692 3788
+-118.802 27.692 3805
+-118.676 27.692 3837
+-118.55 27.692 3898
+-118.424 27.692 3914
+-118.298 27.692 3893
+-118.172 27.692 3849
+-118.046 27.692 3933
+-117.92 27.692 3980
+-117.794 27.692 4027
+-117.668 27.692 4045
+-117.542 27.692 4052
+-117.416 27.692 4030
+-117.29 27.692 3989
+-117.164 27.692 4044
+-117.038 27.692 4050
+-116.912 27.692 4034
+-116.786 27.692 4023
+-116.66 27.692 4016
+-116.534 27.692 3969
+-116.408 27.692 3935
+-116.282 27.692 3935
+-116.156 27.692 3915
+-116.03 27.692 3896
+-115.904 27.692 3881
+-115.778 27.692 3855
+-115.652 27.692 3841
+-115.526 27.692 3801
+-115.4 27.692 3751
+-115.274 27.692 3700
+-115.148 27.692 3656
+-115.022 27.692 3616
+-114.896 27.692 3595
+-114.77 27.692 3609
+-114.644 27.692 3625
+-114.518 27.692 3641
+-114.392 27.692 3657
+-114.266 27.692 3669
+-114.14 27.692 3699
+-114.014 27.692 3759
+-113.888 27.692 3837
+-113.762 27.692 3918
+-113.636 27.692 4042
+-113.51 27.692 4137
+-113.384 27.692 4166
+-113.258 27.692 4197
+-113.132 27.692 4266
+-113.006 27.692 4357
+-112.88 27.692 4429
+-112.754 27.692 4502
+-112.628 27.692 4572
+-112.502 27.692 4676
+-112.376 27.692 4731
+-112.25 27.692 4802
+-112.124 27.692 4864
+-111.998 27.692 4919
+-111.872 27.692 4994
+-111.746 27.692 5038
+-111.62 27.692 5075
+-111.494 27.692 5090
+-111.368 27.692 5120
+-111.242 27.692 5134
+-111.116 27.692 5154
+-110.99 27.692 5175
+-110.864 27.692 5193
+-110.738 27.692 5205
+-110.612 27.692 5220
+-110.486 27.692 5216
+-110.36 27.692 5227
+-110.234 27.692 5232
+-110.108 27.692 5212
+-109.982 27.692 5188
+-109.856 27.692 5195
+-109.73 27.692 5168
+-109.604 27.692 5124
+-109.478 27.692 5108
+-109.352 27.692 5075
+-109.226 27.692 5033
+-109.1 27.692 5022
+-108.974 27.692 4981
+-108.848 27.692 4911
+-108.722 27.692 4828
+-108.596 27.692 4783
+-108.47 27.692 4740
+-108.344 27.692 4649
+-108.218 27.692 4628
+-108.092 27.692 4619
+-107.966 27.692 4574
+-107.84 27.692 4462
+-107.714 27.692 4338
+-107.588 27.692 4398
+-107.462 27.692 4405
+-107.336 27.692 4384
+-107.21 27.692 4345
+-107.084 27.692 4320
+-106.958 27.692 4280
+-106.832 27.692 4222
+-106.706 27.692 4197
+-106.58 27.692 4144
+-106.454 27.692 4086
+-106.328 27.692 4001
+-106.202 27.692 3887
+-106.076 27.692 3641
+-105.95 27.692 3425
+-105.824 27.692 3162
+-105.698 27.692 2931
+-105.572 27.692 2842
+-105.446 27.692 2889
+-105.32 27.692 2998
+-105.194 27.692 3102
+-105.068 27.692 3184
+-104.942 27.692 3244
+-104.816 27.692 3289
+-104.69 27.692 3306
+-104.564 27.692 3287
+-104.438 27.692 3303
+-104.312 27.692 3315
+-104.186 27.692 3311
+-104.06 27.692 3319
+-103.934 27.692 3326
+-103.808 27.692 3332
+-103.682 27.692 3325
+-103.556 27.692 3329
+-103.43 27.692 3216
+-103.304 27.692 3266
+-103.178 27.692 3194
+-103.052 27.692 3198
+-102.926 27.692 3244
+-102.8 27.692 3248
+-102.674 27.692 3254
+-102.548 27.692 3244
+-102.422 27.692 3248
+-102.296 27.692 3253
+-102.17 27.692 3257
+-102.044 27.692 3251
+-101.918 27.692 3256
+-101.792 27.692 3244
+-101.666 27.692 3248
+-101.54 27.692 3186
+-101.414 27.692 3189
+-101.288 27.692 3191
+-101.162 27.692 3194
+-101.036 27.692 3196
+-100.91 27.692 3198
+-100.784 27.692 3162
+-100.658 27.692 3272
+-100.532 27.692 3174
+-100.406 27.692 3180
+-100.28 27.692 3182
+-100.154 27.692 3184
+-100.028 27.692 3186
+-99.902 27.692 3188
+-99.776 27.692 3189
+-99.65 27.692 3191
+-99.524 27.692 3192
+-99.398 27.692 3194
+-99.272 27.692 3123
+-99.146 27.692 3124
+-99.02 27.692 3124
+-98.894 27.692 3125
+-98.768 27.692 3125
+-98.642 27.692 3176
+-98.516 27.692 3141
+-98.39 27.692 3136
+-98.264 27.692 3138
+-98.138 27.692 3140
+-98.012 27.692 3107
+-97.886 27.692 3108
+-97.76 27.692 3110
+-97.634 27.692 3050
+-97.508 27.692 2946
+-97.382 27.692 2944
+-97.256 27.692 2795
+-97.13 27.692 2781
+-97.004 27.692 2648
+-96.878 27.692 2616
+-96.752 27.692 2623
+-96.626 27.692 2568
+-96.5 27.692 2566
+-96.374 27.692 2595
+-96.248 27.692 2753
+-96.122 27.692 2730
+-95.996 27.692 2787
+-95.87 27.692 2805
+-95.744 27.692 2809
+-95.618 27.692 3052
+-95.492 27.692 3055
+-95.366 27.692 3057
+-95.24 27.692 3078
+-95.114 27.692 3118
+-94.988 27.692 3141
+-94.862 27.692 3140
+-94.736 27.692 3140
+-94.61 27.692 3375
+-94.484 27.692 3374
+-94.358 27.692 3373
+-94.232 27.692 3371
+-94.106 27.692 3370
+-93.98 27.692 3369
+-93.854 27.692 3367
+-93.728 27.692 3365
+-93.602 27.692 3363
+-93.476 27.692 3362
+-93.35 27.692 3359
+-93.224 27.692 3357
+-93.098 27.692 3355
+-92.972 27.692 3352
+-92.846 27.692 3366
+-92.72 27.692 3363
+-92.594 27.692 3522
+-92.468 27.692 3518
+-92.342 27.692 3514
+-92.216 27.692 3509
+-92.09 27.692 3504
+-91.964 27.692 3498
+-91.838 27.692 3493
+-91.712 27.692 3497
+-91.586 27.692 3490
+-91.46 27.692 3482
+-91.334 27.692 3474
+-91.208 27.692 3582
+-91.082 27.692 3571
+-90.956 27.692 3558
+-90.83 27.692 3545
+-90.704 27.692 3531
+-90.578 27.692 3516
+-90.452 27.692 3501
+-90.326 27.692 3484
+-90.2 27.692 3467
+-90.074 27.692 3451
+-89.948 27.692 3436
+-89.822 27.692 3423
+-89.696 27.692 3453
+-89.57 27.692 3448
+-89.444 27.692 3451
+-89.318 27.692 3463
+-89.192 27.692 3509
+-89.066 27.692 3554
+-88.94 27.692 3660
+-88.814 27.692 3719
+-88.688 27.692 3820
+-88.562 27.692 3843
+-88.436 27.692 3849
+-88.31 27.692 3847
+-88.184 27.692 3805
+-88.058 27.692 3775
+-87.932 27.692 3774
+-87.806 27.692 3933
+-87.68 27.692 4156
+-87.554 27.692 4334
+-87.428 27.692 4443
+-87.302 27.692 4522
+-87.176 27.692 4617
+-87.05 27.692 4696
+-86.924 27.692 4765
+-86.798 27.692 4800
+-86.672 27.692 4932
+-86.546 27.692 4965
+-86.42 27.692 5125
+-86.294 27.692 5317
+-86.168 27.692 5516
+-86.042 27.692 5537
+-85.916 27.692 5622
+-85.79 27.692 5819
+-85.664 27.692 5956
+-85.538 27.692 6042
+-85.412 27.692 6153
+-85.286 27.692 6342
+-85.16 27.692 6530
+-85.034 27.692 6732
+-84.908 27.692 6864
+-84.782 27.692 6998
+-84.656 27.692 7196
+-84.53 27.692 7326
+-84.404 27.692 7423
+-84.278 27.692 7586
+-84.152 27.692 7686
+-84.026 27.692 7878
+-83.9 27.692 7956
+-83.774 27.692 8096
+-83.648 27.692 8239
+-83.522 27.692 8366
+-83.396 27.692 8526
+-83.27 27.692 8654
+-83.144 27.692 8859
+-83.018 27.692 8983
+-82.892 27.692 9057
+-82.766 27.692 9243
+-82.64 27.692 9362
+-82.514 27.692 9514
+-82.388 27.692 9637
+-82.262 27.692 9733
+-82.136 27.692 9741
+-82.01 27.692 9656
+-81.884 27.692 9565
+-81.758 27.692 9393
+-81.632 27.692 9269
+-81.506 27.692 9155
+-81.38 27.692 9000
+-81.254 27.692 8877
+-81.128 27.692 8702
+-81.002 27.692 8474
+-80.876 27.692 8445
+-80.75 27.692 8233
+-80.624 27.692 8158
+-80.498 27.692 7960
+-80.372 27.692 7852
+-80.246 27.692 7755
+-80.12 27.692 7564
+-79.994 27.692 7384
+-79.868 27.692 7284
+-79.742 27.692 7094
+-79.616 27.692 6933
+-79.49 27.692 6757
+-79.364 27.692 6680
+-79.238 27.692 6546
+-79.112 27.692 6389
+-78.986 27.692 6237
+-78.86 27.692 6132
+-78.734 27.692 6007
+-78.608 27.692 5852
+-78.482 27.692 5660
+-78.356 27.692 5617
+-78.23 27.692 5413
+-78.104 27.692 5429
+-77.978 27.692 5280
+-77.852 27.692 5152
+-77.726 27.692 5135
+-77.6 27.692 5101
+-77.474 27.692 5069
+-77.348 27.692 4922
+-77.222 27.692 4761
+-77.096 27.692 4604
+-76.97 27.692 4365
+-76.844 27.692 4162
+-76.718 27.692 4059
+-76.592 27.692 3942
+-76.466 27.692 3827
+-76.34 27.692 3684
+-76.214 27.692 3502
+-76.088 27.692 3362
+-75.962 27.692 3196
+-75.836 27.692 3003
+-75.71 27.692 2864
+-75.584 27.692 2784
+-75.458 27.692 2805
+-75.332 27.692 2877
+-75.206 27.692 2940
+-75.08 27.692 3002
+-74.954 27.692 3069
+-74.828 27.692 3125
+-74.702 27.692 3127
+-74.576 27.692 3166
+-74.45 27.692 3183
+-74.324 27.692 3188
+-74.198 27.692 3210
+-74.072 27.692 3216
+-73.946 27.692 3196
+-73.82 27.692 3203
+-73.694 27.692 3216
+-73.568 27.692 3228
+-73.442 27.692 3238
+-73.316 27.692 3247
+-73.19 27.692 3256
+-73.064 27.692 3264
+-72.938 27.692 3228
+-72.812 27.692 3220
+-72.686 27.692 3226
+-72.56 27.692 3190
+-72.434 27.692 3195
+-72.308 27.692 3200
+-72.182 27.692 3204
+-72.056 27.692 3208
+-71.93 27.692 3211
+-71.804 27.692 3177
+-71.678 27.692 3180
+-71.552 27.692 3183
+-71.426 27.692 3185
+-71.3 27.692 3188
+-71.174 27.692 3190
+-71.048 27.692 3193
+-70.922 27.692 3195
+-70.796 27.692 3197
+-70.67 27.692 3199
+-70.544 27.692 3201
+-70.418 27.692 3202
+-70.292 27.692 3204
+-70.166 27.692 3118
+-70.04 27.692 3117
+-69.914 27.692 3117
+-69.788 27.692 3117
+-69.662 27.692 3117
+-69.536 27.692 3117
+-69.41 27.692 3116
+-69.284 27.692 3116
+-69.158 27.692 3116
+-69.032 27.692 3004
+-68.906 27.692 3003
+-68.78 27.692 3002
+-68.654 27.692 3001
+-68.528 27.692 3000
+-68.402 27.692 2999
+-68.276 27.692 2998
+-68.15 27.692 2998
+-68.024 27.692 2997
+-67.898 27.692 2996
+-67.772 27.692 2995
+-67.646 27.692 2994
+-67.52 27.692 2994
+-67.394 27.692 2993
+-67.268 27.692 2992
+-67.142 27.692 2991
+-67.016 27.692 2991
+-66.89 27.692 2990
+-66.764 27.692 2989
+-66.638 27.692 2989
+-66.512 27.692 2988
+-66.386 27.692 2988
+-66.26 27.692 2987
+-66.134 27.692 2987
+-66.008 27.692 2986
+-65.882 27.692 2985
+-65.756 27.692 2985
+-65.63 27.692 2985
+-65.504 27.692 2984
+-65.378 27.692 2984
+-65.252 27.692 2983
+-65.126 27.692 2983
+-128 27.64 2793
+-127.874 27.64 2792
+-127.748 27.64 2794
+-127.622 27.64 2805
+-127.496 27.64 2868
+-127.37 27.64 2811
+-127.244 27.64 2813
+-127.118 27.64 2858
+-126.992 27.64 2860
+-126.866 27.64 2882
+-126.74 27.64 2925
+-126.614 27.64 2928
+-126.488 27.64 2932
+-126.362 27.64 2936
+-126.236 27.64 2941
+-126.11 27.64 2922
+-125.984 27.64 2918
+-125.858 27.64 2951
+-125.732 27.64 2958
+-125.606 27.64 2999
+-125.48 27.64 3007
+-125.354 27.64 2983
+-125.228 27.64 2978
+-125.102 27.64 2997
+-124.976 27.64 3007
+-124.85 27.64 3017
+-124.724 27.64 2997
+-124.598 27.64 3396
+-124.472 27.64 3395
+-124.346 27.64 3393
+-124.22 27.64 3371
+-124.094 27.64 3369
+-123.968 27.64 3355
+-123.842 27.64 3381
+-123.716 27.64 3378
+-123.59 27.64 3429
+-123.464 27.64 3425
+-123.338 27.64 3395
+-123.212 27.64 3406
+-123.086 27.64 3428
+-122.96 27.64 3421
+-122.834 27.64 3439
+-122.708 27.64 3432
+-122.582 27.64 3449
+-122.456 27.64 3431
+-122.33 27.64 3422
+-122.204 27.64 3412
+-122.078 27.64 3422
+-121.952 27.64 3409
+-121.826 27.64 3394
+-121.7 27.64 3384
+-121.574 27.64 3368
+-121.448 27.64 3348
+-121.322 27.64 3344
+-121.196 27.64 3335
+-121.07 27.64 3322
+-120.944 27.64 3350
+-120.818 27.64 3333
+-120.692 27.64 3333
+-120.566 27.64 3317
+-120.44 27.64 3313
+-120.314 27.64 3275
+-120.188 27.64 3230
+-120.062 27.64 3218
+-119.936 27.64 3271
+-119.81 27.64 3376
+-119.684 27.64 3456
+-119.558 27.64 3516
+-119.432 27.64 3567
+-119.306 27.64 3642
+-119.18 27.64 3681
+-119.054 27.64 3732
+-118.928 27.64 3763
+-118.802 27.64 3806
+-118.676 27.64 3840
+-118.55 27.64 3896
+-118.424 27.64 3907
+-118.298 27.64 3904
+-118.172 27.64 3895
+-118.046 27.64 3928
+-117.92 27.64 3966
+-117.794 27.64 3994
+-117.668 27.64 4013
+-117.542 27.64 4022
+-117.416 27.64 4021
+-117.29 27.64 4013
+-117.164 27.64 4012
+-117.038 27.64 3985
+-116.912 27.64 3947
+-116.786 27.64 3959
+-116.66 27.64 3958
+-116.534 27.64 3919
+-116.408 27.64 3897
+-116.282 27.64 3905
+-116.156 27.64 3873
+-116.03 27.64 3835
+-115.904 27.64 3798
+-115.778 27.64 3782
+-115.652 27.64 3757
+-115.526 27.64 3721
+-115.4 27.64 3691
+-115.274 27.64 3666
+-115.148 27.64 3634
+-115.022 27.64 3616
+-114.896 27.64 3606
+-114.77 27.64 3612
+-114.644 27.64 3613
+-114.518 27.64 3615
+-114.392 27.64 3601
+-114.266 27.64 3577
+-114.14 27.64 3559
+-114.014 27.64 3657
+-113.888 27.64 3772
+-113.762 27.64 3819
+-113.636 27.64 3917
+-113.51 27.64 4067
+-113.384 27.64 4144
+-113.258 27.64 4172
+-113.132 27.64 4237
+-113.006 27.64 4280
+-112.88 27.64 4358
+-112.754 27.64 4420
+-112.628 27.64 4492
+-112.502 27.64 4583
+-112.376 27.64 4640
+-112.25 27.64 4708
+-112.124 27.64 4756
+-111.998 27.64 4852
+-111.872 27.64 4916
+-111.746 27.64 4983
+-111.62 27.64 5035
+-111.494 27.64 5085
+-111.368 27.64 5088
+-111.242 27.64 5049
+-111.116 27.64 5108
+-110.99 27.64 5141
+-110.864 27.64 5147
+-110.738 27.64 5149
+-110.612 27.64 5144
+-110.486 27.64 5148
+-110.36 27.64 5150
+-110.234 27.64 5159
+-110.108 27.64 5159
+-109.982 27.64 5141
+-109.856 27.64 5130
+-109.73 27.64 5091
+-109.604 27.64 5040
+-109.478 27.64 5033
+-109.352 27.64 5004
+-109.226 27.64 4975
+-109.1 27.64 4953
+-108.974 27.64 4899
+-108.848 27.64 4865
+-108.722 27.64 4809
+-108.596 27.64 4751
+-108.47 27.64 4696
+-108.344 27.64 4637
+-108.218 27.64 4610
+-108.092 27.64 4587
+-107.966 27.64 4536
+-107.84 27.64 4471
+-107.714 27.64 4406
+-107.588 27.64 4416
+-107.462 27.64 4415
+-107.336 27.64 4394
+-107.21 27.64 4349
+-107.084 27.64 4316
+-106.958 27.64 4299
+-106.832 27.64 4221
+-106.706 27.64 4186
+-106.58 27.64 4140
+-106.454 27.64 4060
+-106.328 27.64 3877
+-106.202 27.64 3776
+-106.076 27.64 3557
+-105.95 27.64 3340
+-105.824 27.64 3072
+-105.698 27.64 2848
+-105.572 27.64 2763
+-105.446 27.64 2825
+-105.32 27.64 2942
+-105.194 27.64 3061
+-105.068 27.64 3155
+-104.942 27.64 3209
+-104.816 27.64 3225
+-104.69 27.64 3256
+-104.564 27.64 3301
+-104.438 27.64 3277
+-104.312 27.64 3291
+-104.186 27.64 3303
+-104.06 27.64 3299
+-103.934 27.64 3307
+-103.808 27.64 3315
+-103.682 27.64 3322
+-103.556 27.64 3281
+-103.43 27.64 3201
+-103.304 27.64 3204
+-103.178 27.64 3207
+-103.052 27.64 3184
+-102.926 27.64 3188
+-102.8 27.64 3236
+-102.674 27.64 3240
+-102.548 27.64 3247
+-102.422 27.64 3237
+-102.296 27.64 3242
+-102.17 27.64 3246
+-102.044 27.64 3250
+-101.918 27.64 3246
+-101.792 27.64 3250
+-101.666 27.64 3238
+-101.54 27.64 3243
+-101.414 27.64 3181
+-101.288 27.64 3184
+-101.162 27.64 3187
+-101.036 27.64 3189
+-100.91 27.64 3192
+-100.784 27.64 3194
+-100.658 27.64 3158
+-100.532 27.64 3270
+-100.406 27.64 3171
+-100.28 27.64 3178
+-100.154 27.64 3180
+-100.028 27.64 3182
+-99.902 27.64 3184
+-99.776 27.64 3186
+-99.65 27.64 3187
+-99.524 27.64 3189
+-99.398 27.64 3191
+-99.272 27.64 3192
+-99.146 27.64 3121
+-99.02 27.64 3122
+-98.894 27.64 3123
+-98.768 27.64 3123
+-98.642 27.64 3124
+-98.516 27.64 3177
+-98.39 27.64 3142
+-98.264 27.64 3137
+-98.138 27.64 3139
+-98.012 27.64 3140
+-97.886 27.64 3107
+-97.76 27.64 3109
+-97.634 27.64 3110
+-97.508 27.64 2945
+-97.382 27.64 2943
+-97.256 27.64 2784
+-97.13 27.64 2780
+-97.004 27.64 2707
+-96.878 27.64 2640
+-96.752 27.64 2622
+-96.626 27.64 2620
+-96.5 27.64 2623
+-96.374 27.64 2621
+-96.248 27.64 2755
+-96.122 27.64 2748
+-95.996 27.64 2804
+-95.87 27.64 2808
+-95.744 27.64 3051
+-95.618 27.64 3054
+-95.492 27.64 3056
+-95.366 27.64 3059
+-95.24 27.64 3118
+-95.114 27.64 3141
+-94.988 27.64 3141
+-94.862 27.64 3140
+-94.736 27.64 3376
+-94.61 27.64 3375
+-94.484 27.64 3374
+-94.358 27.64 3372
+-94.232 27.64 3371
+-94.106 27.64 3369
+-93.98 27.64 3368
+-93.854 27.64 3366
+-93.728 27.64 3364
+-93.602 27.64 3362
+-93.476 27.64 3360
+-93.35 27.64 3358
+-93.224 27.64 3356
+-93.098 27.64 3353
+-92.972 27.64 3350
+-92.846 27.64 3347
+-92.72 27.64 3523
+-92.594 27.64 3519
+-92.468 27.64 3514
+-92.342 27.64 3510
+-92.216 27.64 3505
+-92.09 27.64 3499
+-91.964 27.64 3493
+-91.838 27.64 3486
+-91.712 27.64 3479
+-91.586 27.64 3471
+-91.46 27.64 3492
+-91.334 27.64 3481
+-91.208 27.64 3567
+-91.082 27.64 3554
+-90.956 27.64 3540
+-90.83 27.64 3524
+-90.704 27.64 3507
+-90.578 27.64 3488
+-90.452 27.64 3468
+-90.326 27.64 3446
+-90.2 27.64 3423
+-90.074 27.64 3399
+-89.948 27.64 3375
+-89.822 27.64 3377
+-89.696 27.64 3369
+-89.57 27.64 3355
+-89.444 27.64 3351
+-89.318 27.64 3391
+-89.192 27.64 3416
+-89.066 27.64 3463
+-88.94 27.64 3577
+-88.814 27.64 3639
+-88.688 27.64 3761
+-88.562 27.64 3791
+-88.436 27.64 3798
+-88.31 27.64 3768
+-88.184 27.64 3718
+-88.058 27.64 3590
+-87.932 27.64 3531
+-87.806 27.64 3689
+-87.68 27.64 4015
+-87.554 27.64 4281
+-87.428 27.64 4438
+-87.302 27.64 4521
+-87.176 27.64 4596
+-87.05 27.64 4685
+-86.924 27.64 4764
+-86.798 27.64 4881
+-86.672 27.64 4965
+-86.546 27.64 5037
+-86.42 27.64 5118
+-86.294 27.64 5269
+-86.168 27.64 5467
+-86.042 27.64 5609
+-85.916 27.64 5726
+-85.79 27.64 5869
+-85.664 27.64 5953
+-85.538 27.64 6024
+-85.412 27.64 6196
+-85.286 27.64 6387
+-85.16 27.64 6599
+-85.034 27.64 6663
+-84.908 27.64 6901
+-84.782 27.64 7013
+-84.656 27.64 7195
+-84.53 27.64 7330
+-84.404 27.64 7393
+-84.278 27.64 7550
+-84.152 27.64 7665
+-84.026 27.64 7872
+-83.9 27.64 7961
+-83.774 27.64 8128
+-83.648 27.64 8196
+-83.522 27.64 8443
+-83.396 27.64 8469
+-83.27 27.64 8684
+-83.144 27.64 8847
+-83.018 27.64 8963
+-82.892 27.64 9068
+-82.766 27.64 9233
+-82.64 27.64 9384
+-82.514 27.64 9526
+-82.388 27.64 9617
+-82.262 27.64 9732
+-82.136 27.64 9706
+-82.01 27.64 9581
+-81.884 27.64 9488
+-81.758 27.64 9407
+-81.632 27.64 9219
+-81.506 27.64 9100
+-81.38 27.64 8948
+-81.254 27.64 8822
+-81.128 27.64 8706
+-81.002 27.64 8492
+-80.876 27.64 8384
+-80.75 27.64 8233
+-80.624 27.64 8162
+-80.498 27.64 8013
+-80.372 27.64 7769
+-80.246 27.64 7698
+-80.12 27.64 7515
+-79.994 27.64 7454
+-79.868 27.64 7204
+-79.742 27.64 7087
+-79.616 27.64 6965
+-79.49 27.64 6795
+-79.364 27.64 6616
+-79.238 27.64 6550
+-79.112 27.64 6426
+-78.986 27.64 6269
+-78.86 27.64 6109
+-78.734 27.64 6003
+-78.608 27.64 5882
+-78.482 27.64 5727
+-78.356 27.64 5546
+-78.23 27.64 5513
+-78.104 27.64 5442
+-77.978 27.64 5343
+-77.852 27.64 5241
+-77.726 27.64 5178
+-77.6 27.64 5111
+-77.474 27.64 5000
+-77.348 27.64 4898
+-77.222 27.64 4802
+-77.096 27.64 4574
+-76.97 27.64 4443
+-76.844 27.64 4190
+-76.718 27.64 4074
+-76.592 27.64 3925
+-76.466 27.64 3749
+-76.34 27.64 3580
+-76.214 27.64 3387
+-76.088 27.64 3226
+-75.962 27.64 3092
+-75.836 27.64 2888
+-75.71 27.64 2688
+-75.584 27.64 2581
+-75.458 27.64 2639
+-75.332 27.64 2760
+-75.206 27.64 2879
+-75.08 27.64 2971
+-74.954 27.64 3032
+-74.828 27.64 3096
+-74.702 27.64 3148
+-74.576 27.64 3145
+-74.45 27.64 3180
+-74.324 27.64 3197
+-74.198 27.64 3200
+-74.072 27.64 3220
+-73.946 27.64 3225
+-73.82 27.64 3204
+-73.694 27.64 3210
+-73.568 27.64 3222
+-73.442 27.64 3233
+-73.316 27.64 3243
+-73.19 27.64 3252
+-73.064 27.64 3260
+-72.938 27.64 3267
+-72.812 27.64 3230
+-72.686 27.64 3221
+-72.56 27.64 3227
+-72.434 27.64 3190
+-72.308 27.64 3195
+-72.182 27.64 3199
+-72.056 27.64 3204
+-71.93 27.64 3170
+-71.804 27.64 3174
+-71.678 27.64 3177
+-71.552 27.64 3180
+-71.426 27.64 3183
+-71.3 27.64 3185
+-71.174 27.64 3188
+-71.048 27.64 3190
+-70.922 27.64 3192
+-70.796 27.64 3194
+-70.67 27.64 3196
+-70.544 27.64 3198
+-70.418 27.64 3200
+-70.292 27.64 3092
+-70.166 27.64 3092
+-70.04 27.64 3092
+-69.914 27.64 3091
+-69.788 27.64 3091
+-69.662 27.64 3091
+-69.536 27.64 3090
+-69.41 27.64 3090
+-69.284 27.64 3090
+-69.158 27.64 3089
+-69.032 27.64 3089
+-68.906 27.64 3000
+-68.78 27.64 2999
+-68.654 27.64 2999
+-68.528 27.64 2998
+-68.402 27.64 2997
+-68.276 27.64 2996
+-68.15 27.64 2995
+-68.024 27.64 2994
+-67.898 27.64 2993
+-67.772 27.64 2993
+-67.646 27.64 2992
+-67.52 27.64 2991
+-67.394 27.64 2990
+-67.268 27.64 2990
+-67.142 27.64 2989
+-67.016 27.64 2988
+-66.89 27.64 2988
+-66.764 27.64 2987
+-66.638 27.64 2987
+-66.512 27.64 2986
+-66.386 27.64 2986
+-66.26 27.64 2985
+-66.134 27.64 2985
+-66.008 27.64 2984
+-65.882 27.64 2984
+-65.756 27.64 2983
+-65.63 27.64 2983
+-65.504 27.64 2982
+-65.378 27.64 2982
+-65.252 27.64 2982
+-65.126 27.64 2981
+-128 27.588 2800
+-127.874 27.588 2802
+-127.748 27.588 2812
+-127.622 27.588 2876
+-127.496 27.588 2818
+-127.37 27.588 2819
+-127.244 27.588 2865
+-127.118 27.588 2867
+-126.992 27.588 2888
+-126.866 27.588 2931
+-126.74 27.588 2934
+-126.614 27.588 2937
+-126.488 27.588 2941
+-126.362 27.588 2945
+-126.236 27.588 2926
+-126.11 27.588 2921
+-125.984 27.588 2953
+-125.858 27.588 2960
+-125.732 27.588 3000
+-125.606 27.588 3008
+-125.48 27.588 2983
+-125.354 27.588 2977
+-125.228 27.588 2995
+-125.102 27.588 3005
+-124.976 27.588 3015
+-124.85 27.588 2993
+-124.724 27.588 3397
+-124.598 27.588 3397
+-124.472 27.588 3394
+-124.346 27.588 3372
+-124.22 27.588 3370
+-124.094 27.588 3356
+-123.968 27.588 3382
+-123.842 27.588 3380
+-123.716 27.588 3432
+-123.59 27.588 3428
+-123.464 27.588 3398
+-123.338 27.588 3409
+-123.212 27.588 3433
+-123.086 27.588 3427
+-122.96 27.588 3446
+-122.834 27.588 3440
+-122.708 27.588 3458
+-122.582 27.588 3441
+-122.456 27.588 3433
+-122.33 27.588 3424
+-122.204 27.588 3438
+-122.078 27.588 3427
+-121.952 27.588 3414
+-121.826 27.588 3408
+-121.7 27.588 3395
+-121.574 27.588 3356
+-121.448 27.588 3376
+-121.322 27.588 3365
+-121.196 27.588 3349
+-121.07 27.588 3375
+-120.944 27.588 3350
+-120.818 27.588 3344
+-120.692 27.588 3322
+-120.566 27.588 3318
+-120.44 27.588 3272
+-120.314 27.588 3189
+-120.188 27.588 3089
+-120.062 27.588 3036
+-119.936 27.588 3121
+-119.81 27.588 3274
+-119.684 27.588 3403
+-119.558 27.588 3490
+-119.432 27.588 3530
+-119.306 27.588 3595
+-119.18 27.588 3656
+-119.054 27.588 3713
+-118.928 27.588 3730
+-118.802 27.588 3777
+-118.676 27.588 3812
+-118.55 27.588 3873
+-118.424 27.588 3873
+-118.298 27.588 3887
+-118.172 27.588 3904
+-118.046 27.588 3917
+-117.92 27.588 3934
+-117.794 27.588 3948
+-117.668 27.588 3961
+-117.542 27.588 3973
+-117.416 27.588 3986
+-117.29 27.588 3987
+-117.164 27.588 3969
+-117.038 27.588 3930
+-116.912 27.588 3894
+-116.786 27.588 3917
+-116.66 27.588 3931
+-116.534 27.588 3908
+-116.408 27.588 3891
+-116.282 27.588 3874
+-116.156 27.588 3817
+-116.03 27.588 3765
+-115.904 27.588 3729
+-115.778 27.588 3723
+-115.652 27.588 3685
+-115.526 27.588 3649
+-115.4 27.588 3620
+-115.274 27.588 3612
+-115.148 27.588 3609
+-115.022 27.588 3602
+-114.896 27.588 3589
+-114.77 27.588 3584
+-114.644 27.588 3576
+-114.518 27.588 3578
+-114.392 27.588 3561
+-114.266 27.588 3523
+-114.14 27.588 3464
+-114.014 27.588 3580
+-113.888 27.588 3745
+-113.762 27.588 3765
+-113.636 27.588 3836
+-113.51 27.588 3978
+-113.384 27.588 4084
+-113.258 27.588 4146
+-113.132 27.588 4195
+-113.006 27.588 4239
+-112.88 27.588 4306
+-112.754 27.588 4375
+-112.628 27.588 4433
+-112.502 27.588 4498
+-112.376 27.588 4527
+-112.25 27.588 4596
+-112.124 27.588 4673
+-111.998 27.588 4751
+-111.872 27.588 4829
+-111.746 27.588 4901
+-111.62 27.588 4953
+-111.494 27.588 5030
+-111.368 27.588 5058
+-111.242 27.588 5060
+-111.116 27.588 5081
+-110.99 27.588 5104
+-110.864 27.588 5121
+-110.738 27.588 5112
+-110.612 27.588 5103
+-110.486 27.588 5093
+-110.36 27.588 5137
+-110.234 27.588 5116
+-110.108 27.588 5099
+-109.982 27.588 5094
+-109.856 27.588 5074
+-109.73 27.588 5025
+-109.604 27.588 4995
+-109.478 27.588 4977
+-109.352 27.588 4951
+-109.226 27.588 4919
+-109.1 27.588 4872
+-108.974 27.588 4847
+-108.848 27.588 4829
+-108.722 27.588 4772
+-108.596 27.588 4684
+-108.47 27.588 4614
+-108.344 27.588 4580
+-108.218 27.588 4566
+-108.092 27.588 4538
+-107.966 27.588 4489
+-107.84 27.588 4459
+-107.714 27.588 4430
+-107.588 27.588 4407
+-107.462 27.588 4406
+-107.336 27.588 4391
+-107.21 27.588 4344
+-107.084 27.588 4331
+-106.958 27.588 4299
+-106.832 27.588 4208
+-106.706 27.588 4166
+-106.58 27.588 4113
+-106.454 27.588 3953
+-106.328 27.588 3829
+-106.202 27.588 3717
+-106.076 27.588 3562
+-105.95 27.588 3337
+-105.824 27.588 3093
+-105.698 27.588 2905
+-105.572 27.588 2832
+-105.446 27.588 2878
+-105.32 27.588 2966
+-105.194 27.588 3044
+-105.068 27.588 3121
+-104.942 27.588 3179
+-104.816 27.588 3230
+-104.69 27.588 3230
+-104.564 27.588 3252
+-104.438 27.588 3269
+-104.312 27.588 3266
+-104.186 27.588 3279
+-104.06 27.588 3291
+-103.934 27.588 3287
+-103.808 27.588 3236
+-103.682 27.588 3242
+-103.556 27.588 3248
+-103.43 27.588 3272
+-103.304 27.588 3189
+-103.178 27.588 3193
+-103.052 27.588 3197
+-102.926 27.588 3174
+-102.8 27.588 3179
+-102.674 27.588 3228
+-102.548 27.588 3233
+-102.422 27.588 3240
+-102.296 27.588 3231
+-102.17 27.588 3236
+-102.044 27.588 3240
+-101.918 27.588 3245
+-101.792 27.588 3241
+-101.666 27.588 3245
+-101.54 27.588 3234
+-101.414 27.588 3238
+-101.288 27.588 3176
+-101.162 27.588 3179
+-101.036 27.588 3182
+-100.91 27.588 3185
+-100.784 27.588 3188
+-100.658 27.588 3190
+-100.532 27.588 3154
+-100.406 27.588 3267
+-100.28 27.588 3169
+-100.154 27.588 3176
+-100.028 27.588 3178
+-99.902 27.588 3180
+-99.776 27.588 3182
+-99.65 27.588 3184
+-99.524 27.588 3186
+-99.398 27.588 3188
+-99.272 27.588 3189
+-99.146 27.588 3191
+-99.02 27.588 3120
+-98.894 27.588 3120
+-98.768 27.588 3121
+-98.642 27.588 3122
+-98.516 27.588 3123
+-98.39 27.588 3177
+-98.264 27.588 3142
+-98.138 27.588 3137
+-98.012 27.588 3139
+-97.886 27.588 3141
+-97.76 27.588 3108
+-97.634 27.588 3109
+-97.508 27.588 3011
+-97.382 27.588 2941
+-97.256 27.588 2782
+-97.13 27.588 2779
+-97.004 27.588 2706
+-96.878 27.588 2640
+-96.752 27.588 2622
+-96.626 27.588 2619
+-96.5 27.588 2622
+-96.374 27.588 2622
+-96.248 27.588 2758
+-96.122 27.588 2751
+-95.996 27.588 2808
+-95.87 27.588 3049
+-95.744 27.588 3052
+-95.618 27.588 3055
+-95.492 27.588 3058
+-95.366 27.588 3064
+-95.24 27.588 3142
+-95.114 27.588 3141
+-94.988 27.588 3141
+-94.862 27.588 3143
+-94.736 27.588 3376
+-94.61 27.588 3374
+-94.484 27.588 3373
+-94.358 27.588 3372
+-94.232 27.588 3370
+-94.106 27.588 3369
+-93.98 27.588 3367
+-93.854 27.588 3365
+-93.728 27.588 3363
+-93.602 27.588 3361
+-93.476 27.588 3359
+-93.35 27.588 3357
+-93.224 27.588 3354
+-93.098 27.588 3351
+-92.972 27.588 3349
+-92.846 27.588 3380
+-92.72 27.588 3520
+-92.594 27.588 3516
+-92.468 27.588 3511
+-92.342 27.588 3506
+-92.216 27.588 3500
+-92.09 27.588 3494
+-91.964 27.588 3488
+-91.838 27.588 3480
+-91.712 27.588 3473
+-91.586 27.588 3492
+-91.46 27.588 3482
+-91.334 27.588 3477
+-91.208 27.588 3464
+-91.082 27.588 3518
+-90.956 27.588 3502
+-90.83 27.588 3484
+-90.704 27.588 3464
+-90.578 27.588 3442
+-90.452 27.588 3417
+-90.326 27.588 3390
+-90.2 27.588 3360
+-90.074 27.588 3328
+-89.948 27.588 3332
+-89.822 27.588 3296
+-89.696 27.588 3262
+-89.57 27.588 3245
+-89.444 27.588 3264
+-89.318 27.588 3268
+-89.192 27.588 3300
+-89.066 27.588 3412
+-88.94 27.588 3477
+-88.814 27.588 3548
+-88.688 27.588 3619
+-88.562 27.588 3713
+-88.436 27.588 3756
+-88.31 27.588 3729
+-88.184 27.588 3652
+-88.058 27.588 3500
+-87.932 27.588 3382
+-87.806 27.588 3560
+-87.68 27.588 3957
+-87.554 27.588 4236
+-87.428 27.588 4377
+-87.302 27.588 4475
+-87.176 27.588 4541
+-87.05 27.588 4643
+-86.924 27.588 4761
+-86.798 27.588 4910
+-86.672 27.588 4987
+-86.546 27.588 5032
+-86.42 27.588 5045
+-86.294 27.588 5205
+-86.168 27.588 5477
+-86.042 27.588 5643
+-85.916 27.588 5782
+-85.79 27.588 5861
+-85.664 27.588 5962
+-85.538 27.588 6043
+-85.412 27.588 6167
+-85.286 27.588 6373
+-85.16 27.588 6515
+-85.034 27.588 6675
+-84.908 27.588 6894
+-84.782 27.588 6980
+-84.656 27.588 7131
+-84.53 27.588 7276
+-84.404 27.588 7371
+-84.278 27.588 7521
+-84.152 27.588 7660
+-84.026 27.588 7826
+-83.9 27.588 7946
+-83.774 27.588 8111
+-83.648 27.588 8261
+-83.522 27.588 8333
+-83.396 27.588 8535
+-83.27 27.588 8724
+-83.144 27.588 8766
+-83.018 27.588 8914
+-82.892 27.588 9112
+-82.766 27.588 9266
+-82.64 27.588 9364
+-82.514 27.588 9426
+-82.388 27.588 9577
+-82.262 27.588 9645
+-82.136 27.588 9610
+-82.01 27.588 9543
+-81.884 27.588 9424
+-81.758 27.588 9294
+-81.632 27.588 9226
+-81.506 27.588 9070
+-81.38 27.588 8949
+-81.254 27.588 8759
+-81.128 27.588 8642
+-81.002 27.588 8518
+-80.876 27.588 8414
+-80.75 27.588 8174
+-80.624 27.588 8095
+-80.498 27.588 7967
+-80.372 27.588 7767
+-80.246 27.588 7726
+-80.12 27.588 7572
+-79.994 27.588 7423
+-79.868 27.588 7233
+-79.742 27.588 7077
+-79.616 27.588 6932
+-79.49 27.588 6835
+-79.364 27.588 6665
+-79.238 27.588 6514
+-79.112 27.588 6392
+-78.986 27.588 6244
+-78.86 27.588 6104
+-78.734 27.588 5901
+-78.608 27.588 5862
+-78.482 27.588 5744
+-78.356 27.588 5616
+-78.23 27.588 5537
+-78.104 27.588 5447
+-77.978 27.588 5312
+-77.852 27.588 5215
+-77.726 27.588 5154
+-77.6 27.588 5085
+-77.474 27.588 4965
+-77.348 27.588 4867
+-77.222 27.588 4777
+-77.096 27.588 4563
+-76.97 27.588 4440
+-76.844 27.588 4187
+-76.718 27.588 4034
+-76.592 27.588 3858
+-76.466 27.588 3675
+-76.34 27.588 3439
+-76.214 27.588 3245
+-76.088 27.588 3127
+-75.962 27.588 3000
+-75.836 27.588 2841
+-75.71 27.588 2605
+-75.584 27.588 2467
+-75.458 27.588 2570
+-75.332 27.588 2732
+-75.206 27.588 2851
+-75.08 27.588 2953
+-74.954 27.588 3029
+-74.828 27.588 3077
+-74.702 27.588 3132
+-74.576 27.588 3177
+-74.45 27.588 3170
+-74.324 27.588 3201
+-74.198 27.588 3213
+-74.072 27.588 3213
+-73.946 27.588 3232
+-73.82 27.588 3234
+-73.694 27.588 3213
+-73.568 27.588 3218
+-73.442 27.588 3229
+-73.316 27.588 3239
+-73.19 27.588 3248
+-73.064 27.588 3257
+-72.938 27.588 3264
+-72.812 27.588 3271
+-72.686 27.588 3232
+-72.56 27.588 3223
+-72.434 27.588 3228
+-72.308 27.588 3191
+-72.182 27.588 3180
+-72.056 27.588 3163
+-71.93 27.588 3167
+-71.804 27.588 3170
+-71.678 27.588 3174
+-71.552 27.588 3177
+-71.426 27.588 3180
+-71.3 27.588 3182
+-71.174 27.588 3185
+-71.048 27.588 3187
+-70.922 27.588 3190
+-70.796 27.588 3192
+-70.67 27.588 3194
+-70.544 27.588 3196
+-70.418 27.588 3088
+-70.292 27.588 3088
+-70.166 27.588 3088
+-70.04 27.588 3087
+-69.914 27.588 3087
+-69.788 27.588 3087
+-69.662 27.588 3086
+-69.536 27.588 3086
+-69.41 27.588 3086
+-69.284 27.588 3086
+-69.158 27.588 3085
+-69.032 27.588 3085
+-68.906 27.588 3085
+-68.78 27.588 2997
+-68.654 27.588 2996
+-68.528 27.588 2995
+-68.402 27.588 2994
+-68.276 27.588 2993
+-68.15 27.588 2992
+-68.024 27.588 2992
+-67.898 27.588 2991
+-67.772 27.588 2990
+-67.646 27.588 2989
+-67.52 27.588 2989
+-67.394 27.588 2988
+-67.268 27.588 2987
+-67.142 27.588 2987
+-67.016 27.588 2986
+-66.89 27.588 2986
+-66.764 27.588 2985
+-66.638 27.588 2984
+-66.512 27.588 2984
+-66.386 27.588 2983
+-66.26 27.588 2983
+-66.134 27.588 2982
+-66.008 27.588 2982
+-65.882 27.588 2982
+-65.756 27.588 2981
+-65.63 27.588 2981
+-65.504 27.588 2980
+-65.378 27.588 2980
+-65.252 27.588 2980
+-65.126 27.588 2979
+-128 27.536 2809
+-127.874 27.536 2819
+-127.748 27.536 2884
+-127.622 27.536 2824
+-127.496 27.536 2826
+-127.37 27.536 2871
+-127.244 27.536 2873
+-127.118 27.536 2894
+-126.992 27.536 2937
+-126.866 27.536 2940
+-126.74 27.536 2943
+-126.614 27.536 2946
+-126.488 27.536 2950
+-126.362 27.536 2930
+-126.236 27.536 2923
+-126.11 27.536 2956
+-125.984 27.536 2962
+-125.858 27.536 3002
+-125.732 27.536 3009
+-125.606 27.536 2983
+-125.48 27.536 2976
+-125.354 27.536 2994
+-125.228 27.536 3003
+-125.102 27.536 3012
+-124.976 27.536 2990
+-124.85 27.536 3399
+-124.724 27.536 3398
+-124.598 27.536 3396
+-124.472 27.536 3373
+-124.346 27.536 3372
+-124.22 27.536 3358
+-124.094 27.536 3384
+-123.968 27.536 3382
+-123.842 27.536 3435
+-123.716 27.536 3431
+-123.59 27.536 3401
+-123.464 27.536 3413
+-123.338 27.536 3438
+-123.212 27.536 3432
+-123.086 27.536 3452
+-122.96 27.536 3446
+-122.834 27.536 3467
+-122.708 27.536 3449
+-122.582 27.536 3442
+-122.456 27.536 3435
+-122.33 27.536 3451
+-122.204 27.536 3442
+-122.078 27.536 3431
+-121.952 27.536 3427
+-121.826 27.536 3416
+-121.7 27.536 3375
+-121.574 27.536 3400
+-121.448 27.536 3390
+-121.322 27.536 3372
+-121.196 27.536 3400
+-121.07 27.536 3343
+-120.944 27.536 3336
+-120.818 27.536 3338
+-120.692 27.536 3318
+-120.566 27.536 3287
+-120.44 27.536 3240
+-120.314 27.536 3143
+-120.188 27.536 3020
+-120.062 27.536 2950
+-119.936 27.536 3031
+-119.81 27.536 3198
+-119.684 27.536 3341
+-119.558 27.536 3440
+-119.432 27.536 3497
+-119.306 27.536 3555
+-119.18 27.536 3606
+-119.054 27.536 3638
+-118.928 27.536 3686
+-118.802 27.536 3723
+-118.676 27.536 3760
+-118.55 27.536 3783
+-118.424 27.536 3828
+-118.298 27.536 3847
+-118.172 27.536 3871
+-118.046 27.536 3878
+-117.92 27.536 3885
+-117.794 27.536 3908
+-117.668 27.536 3897
+-117.542 27.536 3909
+-117.416 27.536 3927
+-117.29 27.536 3936
+-117.164 27.536 3926
+-117.038 27.536 3921
+-116.912 27.536 3905
+-116.786 27.536 3910
+-116.66 27.536 3898
+-116.534 27.536 3876
+-116.408 27.536 3858
+-116.282 27.536 3821
+-116.156 27.536 3775
+-116.03 27.536 3730
+-115.904 27.536 3716
+-115.778 27.536 3689
+-115.652 27.536 3620
+-115.526 27.536 3570
+-115.4 27.536 3542
+-115.274 27.536 3553
+-115.148 27.536 3563
+-115.022 27.536 3555
+-114.896 27.536 3560
+-114.77 27.536 3543
+-114.644 27.536 3540
+-114.518 27.536 3527
+-114.392 27.536 3534
+-114.266 27.536 3532
+-114.14 27.536 3528
+-114.014 27.536 3609
+-113.888 27.536 3726
+-113.762 27.536 3774
+-113.636 27.536 3844
+-113.51 27.536 3921
+-113.384 27.536 4020
+-113.258 27.536 4104
+-113.132 27.536 4138
+-113.006 27.536 4183
+-112.88 27.536 4274
+-112.754 27.536 4346
+-112.628 27.536 4406
+-112.502 27.536 4477
+-112.376 27.536 4509
+-112.25 27.536 4549
+-112.124 27.536 4596
+-111.998 27.536 4668
+-111.872 27.536 4747
+-111.746 27.536 4802
+-111.62 27.536 4876
+-111.494 27.536 4955
+-111.368 27.536 5006
+-111.242 27.536 5004
+-111.116 27.536 5015
+-110.99 27.536 5016
+-110.864 27.536 5028
+-110.738 27.536 5041
+-110.612 27.536 5037
+-110.486 27.536 5042
+-110.36 27.536 5055
+-110.234 27.536 5050
+-110.108 27.536 5042
+-109.982 27.536 5043
+-109.856 27.536 5012
+-109.73 27.536 4983
+-109.604 27.536 4999
+-109.478 27.536 4935
+-109.352 27.536 4904
+-109.226 27.536 4880
+-109.1 27.536 4834
+-108.974 27.536 4778
+-108.848 27.536 4796
+-108.722 27.536 4736
+-108.596 27.536 4637
+-108.47 27.536 4584
+-108.344 27.536 4522
+-108.218 27.536 4519
+-108.092 27.536 4459
+-107.966 27.536 4417
+-107.84 27.536 4385
+-107.714 27.536 4379
+-107.588 27.536 4389
+-107.462 27.536 4396
+-107.336 27.536 4354
+-107.21 27.536 4333
+-107.084 27.536 4316
+-106.958 27.536 4242
+-106.832 27.536 4204
+-106.706 27.536 4119
+-106.58 27.536 4061
+-106.454 27.536 3895
+-106.328 27.536 3782
+-106.202 27.536 3678
+-106.076 27.536 3479
+-105.95 27.536 3333
+-105.824 27.536 3177
+-105.698 27.536 3031
+-105.572 27.536 2970
+-105.446 27.536 2981
+-105.32 27.536 3035
+-105.194 27.536 3091
+-105.068 27.536 3099
+-104.942 27.536 3140
+-104.816 27.536 3172
+-104.69 27.536 3236
+-104.564 27.536 3225
+-104.438 27.536 3243
+-104.312 27.536 3258
+-104.186 27.536 3254
+-104.06 27.536 3267
+-103.934 27.536 3206
+-103.808 27.536 3214
+-103.682 27.536 3222
+-103.556 27.536 3229
+-103.43 27.536 3236
+-103.304 27.536 3182
+-103.178 27.536 3179
+-103.052 27.536 3183
+-102.926 27.536 3188
+-102.8 27.536 3165
+-102.674 27.536 3171
+-102.548 27.536 3221
+-102.422 27.536 3226
+-102.296 27.536 3234
+-102.17 27.536 3225
+-102.044 27.536 3230
+-101.918 27.536 3235
+-101.792 27.536 3240
+-101.666 27.536 3236
+-101.54 27.536 3241
+-101.414 27.536 3229
+-101.288 27.536 3234
+-101.162 27.536 3172
+-101.036 27.536 3175
+-100.91 27.536 3178
+-100.784 27.536 3181
+-100.658 27.536 3184
+-100.532 27.536 3186
+-100.406 27.536 3151
+-100.28 27.536 3265
+-100.154 27.536 3166
+-100.028 27.536 3174
+-99.902 27.536 3176
+-99.776 27.536 3178
+-99.65 27.536 3180
+-99.524 27.536 3182
+-99.398 27.536 3184
+-99.272 27.536 3186
+-99.146 27.536 3188
+-99.02 27.536 3189
+-98.894 27.536 3118
+-98.768 27.536 3119
+-98.642 27.536 3120
+-98.516 27.536 3121
+-98.39 27.536 3122
+-98.264 27.536 3178
+-98.138 27.536 3143
+-98.012 27.536 3138
+-97.886 27.536 3140
+-97.76 27.536 3142
+-97.634 27.536 3108
+-97.508 27.536 3010
+-97.382 27.536 3008
+-97.256 27.536 2937
+-97.13 27.536 2777
+-97.004 27.536 2705
+-96.878 27.536 2639
+-96.752 27.536 2602
+-96.626 27.536 2619
+-96.5 27.536 2623
+-96.374 27.536 2660
+-96.248 27.536 2761
+-96.122 27.536 2778
+-95.996 27.536 2831
+-95.87 27.536 3051
+-95.744 27.536 3054
+-95.618 27.536 3056
+-95.492 27.536 3097
+-95.366 27.536 3099
+-95.24 27.536 3145
+-95.114 27.536 3144
+-94.988 27.536 3144
+-94.862 27.536 3143
+-94.736 27.536 3142
+-94.61 27.536 3354
+-94.484 27.536 3353
+-94.358 27.536 3352
+-94.232 27.536 3350
+-94.106 27.536 3349
+-93.98 27.536 3347
+-93.854 27.536 3346
+-93.728 27.536 3344
+-93.602 27.536 3342
+-93.476 27.536 3340
+-93.35 27.536 3338
+-93.224 27.536 3353
+-93.098 27.536 3350
+-92.972 27.536 3381
+-92.846 27.536 3522
+-92.72 27.536 3518
+-92.594 27.536 3513
+-92.468 27.536 3508
+-92.342 27.536 3502
+-92.216 27.536 3496
+-92.09 27.536 3490
+-91.964 27.536 3483
+-91.838 27.536 3475
+-91.712 27.536 3495
+-91.586 27.536 3492
+-91.46 27.536 3480
+-91.334 27.536 3467
+-91.208 27.536 3452
+-91.082 27.536 3436
+-90.956 27.536 3485
+-90.83 27.536 3465
+-90.704 27.536 3441
+-90.578 27.536 3415
+-90.452 27.536 3385
+-90.326 27.536 3352
+-90.2 27.536 3314
+-90.074 27.536 3309
+-89.948 27.536 3260
+-89.822 27.536 3208
+-89.696 27.536 3155
+-89.57 27.536 3149
+-89.444 27.536 3116
+-89.318 27.536 3114
+-89.192 27.536 3197
+-89.066 27.536 3258
+-88.94 27.536 3347
+-88.814 27.536 3446
+-88.688 27.536 3537
+-88.562 27.536 3615
+-88.436 27.536 3700
+-88.31 27.536 3733
+-88.184 27.536 3699
+-88.058 27.536 3590
+-87.932 27.536 3524
+-87.806 27.536 3686
+-87.68 27.536 4025
+-87.554 27.536 4250
+-87.428 27.536 4357
+-87.302 27.536 4401
+-87.176 27.536 4386
+-87.05 27.536 4533
+-86.924 27.536 4742
+-86.798 27.536 4924
+-86.672 27.536 4975
+-86.546 27.536 4930
+-86.42 27.536 5073
+-86.294 27.536 5240
+-86.168 27.536 5463
+-86.042 27.536 5651
+-85.916 27.536 5776
+-85.79 27.536 5803
+-85.664 27.536 5955
+-85.538 27.536 6071
+-85.412 27.536 6147
+-85.286 27.536 6365
+-85.16 27.536 6488
+-85.034 27.536 6655
+-84.908 27.536 6875
+-84.782 27.536 6902
+-84.656 27.536 7038
+-84.53 27.536 7176
+-84.404 27.536 7377
+-84.278 27.536 7540
+-84.152 27.536 7690
+-84.026 27.536 7788
+-83.9 27.536 7926
+-83.774 27.536 8070
+-83.648 27.536 8282
+-83.522 27.536 8389
+-83.396 27.536 8553
+-83.27 27.536 8701
+-83.144 27.536 8750
+-83.018 27.536 8901
+-82.892 27.536 9076
+-82.766 27.536 9219
+-82.64 27.536 9337
+-82.514 27.536 9441
+-82.388 27.536 9551
+-82.262 27.536 9609
+-82.136 27.536 9582
+-82.01 27.536 9518
+-81.884 27.536 9449
+-81.758 27.536 9299
+-81.632 27.536 9170
+-81.506 27.536 8994
+-81.38 27.536 8978
+-81.254 27.536 8803
+-81.128 27.536 8661
+-81.002 27.536 8523
+-80.876 27.536 8352
+-80.75 27.536 8256
+-80.624 27.536 8076
+-80.498 27.536 7967
+-80.372 27.536 7856
+-80.246 27.536 7651
+-80.12 27.536 7588
+-79.994 27.536 7390
+-79.868 27.536 7267
+-79.742 27.536 7105
+-79.616 27.536 6924
+-79.49 27.536 6780
+-79.364 27.536 6668
+-79.238 27.536 6521
+-79.112 27.536 6361
+-78.986 27.536 6230
+-78.86 27.536 6133
+-78.734 27.536 5965
+-78.608 27.536 5823
+-78.482 27.536 5625
+-78.356 27.536 5615
+-78.23 27.536 5503
+-78.104 27.536 5358
+-77.978 27.536 5175
+-77.852 27.536 5097
+-77.726 27.536 5090
+-77.6 27.536 5031
+-77.474 27.536 4914
+-77.348 27.536 4830
+-77.222 27.536 4744
+-77.096 27.536 4532
+-76.97 27.536 4414
+-76.844 27.536 4142
+-76.718 27.536 3986
+-76.592 27.536 3816
+-76.466 27.536 3570
+-76.34 27.536 3333
+-76.214 27.536 3122
+-76.088 27.536 3017
+-75.962 27.536 2988
+-75.836 27.536 2851
+-75.71 27.536 2686
+-75.584 27.536 2590
+-75.458 27.536 2649
+-75.332 27.536 2772
+-75.206 27.536 2884
+-75.08 27.536 2954
+-74.954 27.536 3031
+-74.828 27.536 3084
+-74.702 27.536 3124
+-74.576 27.536 3169
+-74.45 27.536 3207
+-74.324 27.536 3196
+-74.198 27.536 3223
+-74.072 27.536 3238
+-73.946 27.536 3223
+-73.82 27.536 3239
+-73.694 27.536 3254
+-73.568 27.536 3222
+-73.442 27.536 3226
+-73.316 27.536 3236
+-73.19 27.536 3245
+-73.064 27.536 3254
+-72.938 27.536 3262
+-72.812 27.536 3225
+-72.686 27.536 3232
+-72.56 27.536 3234
+-72.434 27.536 3225
+-72.308 27.536 3171
+-72.182 27.536 3176
+-72.056 27.536 3160
+-71.93 27.536 3164
+-71.804 27.536 3167
+-71.678 27.536 3171
+-71.552 27.536 3174
+-71.426 27.536 3177
+-71.3 27.536 3180
+-71.174 27.536 3182
+-71.048 27.536 3185
+-70.922 27.536 3187
+-70.796 27.536 3190
+-70.67 27.536 3192
+-70.544 27.536 3083
+-70.418 27.536 3083
+-70.292 27.536 3083
+-70.166 27.536 3083
+-70.04 27.536 3083
+-69.914 27.536 3083
+-69.788 27.536 3082
+-69.662 27.536 3082
+-69.536 27.536 3082
+-69.41 27.536 3082
+-69.284 27.536 3081
+-69.158 27.536 3081
+-69.032 27.536 3081
+-68.906 27.536 3081
+-68.78 27.536 3081
+-68.654 27.536 2993
+-68.528 27.536 2992
+-68.402 27.536 2991
+-68.276 27.536 2990
+-68.15 27.536 2990
+-68.024 27.536 2989
+-67.898 27.536 2988
+-67.772 27.536 2987
+-67.646 27.536 2987
+-67.52 27.536 2986
+-67.394 27.536 2985
+-67.268 27.536 2985
+-67.142 27.536 2984
+-67.016 27.536 2984
+-66.89 27.536 2983
+-66.764 27.536 2983
+-66.638 27.536 2982
+-66.512 27.536 2982
+-66.386 27.536 2981
+-66.26 27.536 2981
+-66.134 27.536 2980
+-66.008 27.536 2980
+-65.882 27.536 2980
+-65.756 27.536 2979
+-65.63 27.536 2979
+-65.504 27.536 2979
+-65.378 27.536 2978
+-65.252 27.536 2978
+-65.126 27.536 2978
+-128 27.484 2826
+-127.874 27.484 2891
+-127.748 27.484 2830
+-127.622 27.484 2831
+-127.496 27.484 2878
+-127.37 27.484 2879
+-127.244 27.484 2900
+-127.118 27.484 2943
+-126.992 27.484 2945
+-126.866 27.484 2948
+-126.74 27.484 2951
+-126.614 27.484 2955
+-126.488 27.484 2933
+-126.362 27.484 2926
+-126.236 27.484 2958
+-126.11 27.484 2964
+-125.984 27.484 3004
+-125.858 27.484 3010
+-125.732 27.484 2984
+-125.606 27.484 2976
+-125.48 27.484 2993
+-125.354 27.484 3002
+-125.228 27.484 3010
+-125.102 27.484 2987
+-124.976 27.484 3400
+-124.85 27.484 3400
+-124.724 27.484 3398
+-124.598 27.484 3374
+-124.472 27.484 3373
+-124.346 27.484 3359
+-124.22 27.484 3385
+-124.094 27.484 3384
+-123.968 27.484 3437
+-123.842 27.484 3434
+-123.716 27.484 3404
+-123.59 27.484 3416
+-123.464 27.484 3443
+-123.338 27.484 3436
+-123.212 27.484 3457
+-123.086 27.484 3452
+-122.96 27.484 3475
+-122.834 27.484 3457
+-122.708 27.484 3451
+-122.582 27.484 3445
+-122.456 27.484 3463
+-122.33 27.484 3455
+-122.204 27.484 3445
+-122.078 27.484 3442
+-121.952 27.484 3386
+-121.826 27.484 3390
+-121.7 27.484 3375
+-121.574 27.484 3368
+-121.448 27.484 3392
+-121.322 27.484 3383
+-121.196 27.484 3376
+-121.07 27.484 3352
+-120.944 27.484 3357
+-120.818 27.484 3341
+-120.692 27.484 3322
+-120.566 27.484 3301
+-120.44 27.484 3242
+-120.314 27.484 3158
+-120.188 27.484 3062
+-120.062 27.484 3016
+-119.936 27.484 3078
+-119.81 27.484 3209
+-119.684 27.484 3333
+-119.558 27.484 3414
+-119.432 27.484 3466
+-119.306 27.484 3513
+-119.18 27.484 3575
+-119.054 27.484 3597
+-118.928 27.484 3617
+-118.802 27.484 3652
+-118.676 27.484 3684
+-118.55 27.484 3739
+-118.424 27.484 3759
+-118.298 27.484 3770
+-118.172 27.484 3830
+-118.046 27.484 3833
+-117.92 27.484 3831
+-117.794 27.484 3826
+-117.668 27.484 3828
+-117.542 27.484 3841
+-117.416 27.484 3865
+-117.29 27.484 3880
+-117.164 27.484 3879
+-117.038 27.484 3878
+-116.912 27.484 3870
+-116.786 27.484 3873
+-116.66 27.484 3854
+-116.534 27.484 3839
+-116.408 27.484 3816
+-116.282 27.484 3768
+-116.156 27.484 3740
+-116.03 27.484 3709
+-115.904 27.484 3686
+-115.778 27.484 3623
+-115.652 27.484 3567
+-115.526 27.484 3536
+-115.4 27.484 3510
+-115.274 27.484 3524
+-115.148 27.484 3524
+-115.022 27.484 3511
+-114.896 27.484 3487
+-114.77 27.484 3480
+-114.644 27.484 3477
+-114.518 27.484 3464
+-114.392 27.484 3467
+-114.266 27.484 3489
+-114.14 27.484 3533
+-114.014 27.484 3610
+-113.888 27.484 3697
+-113.762 27.484 3765
+-113.636 27.484 3841
+-113.51 27.484 3905
+-113.384 27.484 3993
+-113.258 27.484 4041
+-113.132 27.484 4112
+-113.006 27.484 4157
+-112.88 27.484 4233
+-112.754 27.484 4307
+-112.628 27.484 4374
+-112.502 27.484 4440
+-112.376 27.484 4510
+-112.25 27.484 4581
+-112.124 27.484 4556
+-111.998 27.484 4598
+-111.872 27.484 4669
+-111.746 27.484 4735
+-111.62 27.484 4806
+-111.494 27.484 4855
+-111.368 27.484 4925
+-111.242 27.484 4941
+-111.116 27.484 4943
+-110.99 27.484 4941
+-110.864 27.484 4943
+-110.738 27.484 4953
+-110.612 27.484 4982
+-110.486 27.484 5005
+-110.36 27.484 5025
+-110.234 27.484 4991
+-110.108 27.484 4985
+-109.982 27.484 4975
+-109.856 27.484 4954
+-109.73 27.484 4938
+-109.604 27.484 4927
+-109.478 27.484 4905
+-109.352 27.484 4889
+-109.226 27.484 4858
+-109.1 27.484 4810
+-108.974 27.484 4794
+-108.848 27.484 4778
+-108.722 27.484 4710
+-108.596 27.484 4623
+-108.47 27.484 4574
+-108.344 27.484 4530
+-108.218 27.484 4456
+-108.092 27.484 4365
+-107.966 27.484 4316
+-107.84 27.484 4299
+-107.714 27.484 4317
+-107.588 27.484 4355
+-107.462 27.484 4343
+-107.336 27.484 4341
+-107.21 27.484 4293
+-107.084 27.484 4270
+-106.958 27.484 4224
+-106.832 27.484 4085
+-106.706 27.484 4027
+-106.58 27.484 3952
+-106.454 27.484 3799
+-106.328 27.484 3711
+-106.202 27.484 3578
+-106.076 27.484 3485
+-105.95 27.484 3332
+-105.824 27.484 3230
+-105.698 27.484 3145
+-105.572 27.484 3095
+-105.446 27.484 3092
+-105.32 27.484 3107
+-105.194 27.484 3133
+-105.068 27.484 3100
+-104.942 27.484 3126
+-104.816 27.484 3150
+-104.69 27.484 3171
+-104.564 27.484 3229
+-104.438 27.484 3214
+-104.312 27.484 3231
+-104.186 27.484 3176
+-104.06 27.484 3170
+-103.934 27.484 3181
+-103.808 27.484 3191
+-103.682 27.484 3200
+-103.556 27.484 3209
+-103.43 27.484 3217
+-103.304 27.484 3225
+-103.178 27.484 3172
+-103.052 27.484 3169
+-102.926 27.484 3175
+-102.8 27.484 3180
+-102.674 27.484 3158
+-102.548 27.484 3163
+-102.422 27.484 3214
+-102.296 27.484 3220
+-102.17 27.484 3229
+-102.044 27.484 3219
+-101.918 27.484 3225
+-101.792 27.484 3230
+-101.666 27.484 3235
+-101.54 27.484 3232
+-101.414 27.484 3237
+-101.288 27.484 3226
+-101.162 27.484 3230
+-101.036 27.484 3168
+-100.91 27.484 3171
+-100.784 27.484 3174
+-100.658 27.484 3177
+-100.532 27.484 3180
+-100.406 27.484 3183
+-100.28 27.484 3147
+-100.154 27.484 3263
+-100.028 27.484 3164
+-99.902 27.484 3172
+-99.776 27.484 3175
+-99.65 27.484 3177
+-99.524 27.484 3179
+-99.398 27.484 3181
+-99.272 27.484 3183
+-99.146 27.484 3185
+-99.02 27.484 3186
+-98.894 27.484 3188
+-98.768 27.484 3117
+-98.642 27.484 3118
+-98.516 27.484 3119
+-98.39 27.484 3120
+-98.264 27.484 3120
+-98.138 27.484 3179
+-98.012 27.484 3143
+-97.886 27.484 3139
+-97.76 27.484 3141
+-97.634 27.484 3143
+-97.508 27.484 3008
+-97.382 27.484 3006
+-97.256 27.484 2926
+-97.13 27.484 2896
+-97.004 27.484 2766
+-96.878 27.484 2629
+-96.752 27.484 2627
+-96.626 27.484 2652
+-96.5 27.484 2707
+-96.374 27.484 2760
+-96.248 27.484 2763
+-96.122 27.484 2781
+-95.996 27.484 2834
+-95.87 27.484 3049
+-95.744 27.484 3052
+-95.618 27.484 3096
+-95.492 27.484 3098
+-95.366 27.484 3100
+-95.24 27.484 3145
+-95.114 27.484 3144
+-94.988 27.484 3144
+-94.862 27.484 3143
+-94.736 27.484 3142
+-94.61 27.484 3141
+-94.484 27.484 3352
+-94.358 27.484 3351
+-94.232 27.484 3349
+-94.106 27.484 3348
+-93.98 27.484 3346
+-93.854 27.484 3345
+-93.728 27.484 3343
+-93.602 27.484 3341
+-93.476 27.484 3339
+-93.35 27.484 3337
+-93.224 27.484 3334
+-93.098 27.484 3364
+-92.972 27.484 3524
+-92.846 27.484 3520
+-92.72 27.484 3515
+-92.594 27.484 3510
+-92.468 27.484 3505
+-92.342 27.484 3499
+-92.216 27.484 3493
+-92.09 27.484 3486
+-91.964 27.484 3478
+-91.838 27.484 3498
+-91.712 27.484 3496
+-91.586 27.484 3485
+-91.46 27.484 3472
+-91.334 27.484 3458
+-91.208 27.484 3442
+-91.082 27.484 3425
+-90.956 27.484 3405
+-90.83 27.484 3447
+-90.704 27.484 3420
+-90.578 27.484 3390
+-90.452 27.484 3355
+-90.326 27.484 3315
+-90.2 27.484 3306
+-90.074 27.484 3250
+-89.948 27.484 3186
+-89.822 27.484 3115
+-89.696 27.484 3082
+-89.57 27.484 3006
+-89.444 27.484 2942
+-89.318 27.484 2964
+-89.192 27.484 2981
+-89.066 27.484 3057
+-88.94 27.484 3180
+-88.814 27.484 3320
+-88.688 27.484 3449
+-88.562 27.484 3569
+-88.436 27.484 3679
+-88.31 27.484 3730
+-88.184 27.484 3741
+-88.058 27.484 3747
+-87.932 27.484 3768
+-87.806 27.484 3882
+-87.68 27.484 4123
+-87.554 27.484 4282
+-87.428 27.484 4348
+-87.302 27.484 4327
+-87.176 27.484 4248
+-87.05 27.484 4440
+-86.924 27.484 4719
+-86.798 27.484 4908
+-86.672 27.484 4997
+-86.546 27.484 5054
+-86.42 27.484 5156
+-86.294 27.484 5252
+-86.168 27.484 5400
+-86.042 27.484 5621
+-85.916 27.484 5773
+-85.79 27.484 5874
+-85.664 27.484 5885
+-85.538 27.484 6074
+-85.412 27.484 6148
+-85.286 27.484 6347
+-85.16 27.484 6546
+-85.034 27.484 6707
+-84.908 27.484 6757
+-84.782 27.484 6996
+-84.656 27.484 7091
+-84.53 27.484 7159
+-84.404 27.484 7363
+-84.278 27.484 7547
+-84.152 27.484 7683
+-84.026 27.484 7775
+-83.9 27.484 7879
+-83.774 27.484 8084
+-83.648 27.484 8209
+-83.522 27.484 8413
+-83.396 27.484 8451
+-83.27 27.484 8616
+-83.144 27.484 8742
+-83.018 27.484 8955
+-82.892 27.484 9048
+-82.766 27.484 9132
+-82.64 27.484 9287
+-82.514 27.484 9391
+-82.388 27.484 9493
+-82.262 27.484 9508
+-82.136 27.484 9536
+-82.01 27.484 9445
+-81.884 27.484 9376
+-81.758 27.484 9268
+-81.632 27.484 9211
+-81.506 27.484 9012
+-81.38 27.484 8937
+-81.254 27.484 8785
+-81.128 27.484 8656
+-81.002 27.484 8509
+-80.876 27.484 8364
+-80.75 27.484 8260
+-80.624 27.484 8045
+-80.498 27.484 7981
+-80.372 27.484 7826
+-80.246 27.484 7677
+-80.12 27.484 7579
+-79.994 27.484 7375
+-79.868 27.484 7230
+-79.742 27.484 7077
+-79.616 27.484 6931
+-79.49 27.484 6824
+-79.364 27.484 6629
+-79.238 27.484 6457
+-79.112 27.484 6370
+-78.986 27.484 6220
+-78.86 27.484 6077
+-78.734 27.484 6015
+-78.608 27.484 5854
+-78.482 27.484 5684
+-78.356 27.484 5562
+-78.23 27.484 5483
+-78.104 27.484 5278
+-77.978 27.484 5120
+-77.852 27.484 4945
+-77.726 27.484 5037
+-77.6 27.484 4975
+-77.474 27.484 4835
+-77.348 27.484 4733
+-77.222 27.484 4626
+-77.096 27.484 4480
+-76.97 27.484 4347
+-76.844 27.484 4105
+-76.718 27.484 3957
+-76.592 27.484 3758
+-76.466 27.484 3545
+-76.34 27.484 3301
+-76.214 27.484 3056
+-76.088 27.484 2948
+-75.962 27.484 2959
+-75.836 27.484 2808
+-75.71 27.484 2695
+-75.584 27.484 2705
+-75.458 27.484 2756
+-75.332 27.484 2838
+-75.206 27.484 2896
+-75.08 27.484 2980
+-74.954 27.484 3046
+-74.828 27.484 3103
+-74.702 27.484 3149
+-74.576 27.484 3170
+-74.45 27.484 3208
+-74.324 27.484 3240
+-74.198 27.484 3220
+-74.072 27.484 3244
+-73.946 27.484 3256
+-73.82 27.484 3237
+-73.694 27.484 3206
+-73.568 27.484 3219
+-73.442 27.484 3231
+-73.316 27.484 3234
+-73.19 27.484 3243
+-73.064 27.484 3252
+-72.938 27.484 3215
+-72.812 27.484 3222
+-72.686 27.484 3229
+-72.56 27.484 3216
+-72.434 27.484 3222
+-72.308 27.484 3227
+-72.182 27.484 3172
+-72.056 27.484 3177
+-71.93 27.484 3161
+-71.804 27.484 3164
+-71.678 27.484 3168
+-71.552 27.484 3171
+-71.426 27.484 3174
+-71.3 27.484 3177
+-71.174 27.484 3180
+-71.048 27.484 3183
+-70.922 27.484 3185
+-70.796 27.484 3188
+-70.67 27.484 3078
+-70.544 27.484 3078
+-70.418 27.484 3078
+-70.292 27.484 3078
+-70.166 27.484 3078
+-70.04 27.484 3078
+-69.914 27.484 3078
+-69.788 27.484 3078
+-69.662 27.484 3078
+-69.536 27.484 3077
+-69.41 27.484 3077
+-69.284 27.484 3077
+-69.158 27.484 3077
+-69.032 27.484 3077
+-68.906 27.484 3077
+-68.78 27.484 3076
+-68.654 27.484 2989
+-68.528 27.484 2989
+-68.402 27.484 2988
+-68.276 27.484 2987
+-68.15 27.484 2987
+-68.024 27.484 2986
+-67.898 27.484 2985
+-67.772 27.484 2985
+-67.646 27.484 2984
+-67.52 27.484 2983
+-67.394 27.484 2983
+-67.268 27.484 2982
+-67.142 27.484 2982
+-67.016 27.484 2981
+-66.89 27.484 2981
+-66.764 27.484 2980
+-66.638 27.484 2980
+-66.512 27.484 2979
+-66.386 27.484 2979
+-66.26 27.484 2979
+-66.134 27.484 2978
+-66.008 27.484 2978
+-65.882 27.484 2978
+-65.756 27.484 2977
+-65.63 27.484 2977
+-65.504 27.484 2977
+-65.378 27.484 2976
+-65.252 27.484 2976
+-65.126 27.484 2976
+-128 27.432 2898
+-127.874 27.432 2836
+-127.748 27.432 2837
+-127.622 27.432 2883
+-127.496 27.432 2885
+-127.37 27.432 2905
+-127.244 27.432 2948
+-127.118 27.432 2951
+-126.992 27.432 2953
+-126.866 27.432 2956
+-126.74 27.432 2959
+-126.614 27.432 2937
+-126.488 27.432 2929
+-126.362 27.432 2961
+-126.236 27.432 2966
+-126.11 27.432 3006
+-125.984 27.432 3012
+-125.858 27.432 2984
+-125.732 27.432 2976
+-125.606 27.432 2993
+-125.48 27.432 3000
+-125.354 27.432 3008
+-125.228 27.432 2984
+-125.102 27.432 3402
+-124.976 27.432 3401
+-124.85 27.432 3399
+-124.724 27.432 3376
+-124.598 27.432 3374
+-124.472 27.432 3360
+-124.346 27.432 3387
+-124.22 27.432 3385
+-124.094 27.432 3440
+-123.968 27.432 3437
+-123.842 27.432 3406
+-123.716 27.432 3419
+-123.59 27.432 3447
+-123.464 27.432 3440
+-123.338 27.432 3462
+-123.212 27.432 3458
+-123.086 27.432 3482
+-122.96 27.432 3464
+-122.834 27.432 3458
+-122.708 27.432 3453
+-122.582 27.432 3473
+-122.456 27.432 3466
+-122.33 27.432 3457
+-122.204 27.432 3456
+-122.078 27.432 3396
+-121.952 27.432 3402
+-121.826 27.432 3387
+-121.7 27.432 3381
+-121.574 27.432 3363
+-121.448 27.432 3398
+-121.322 27.432 3391
+-121.196 27.432 3326
+-121.07 27.432 3334
+-120.944 27.432 3328
+-120.818 27.432 3314
+-120.692 27.432 3312
+-120.566 27.432 3283
+-120.44 27.432 3241
+-120.314 27.432 3186
+-120.188 27.432 3152
+-120.062 27.432 3134
+-119.936 27.432 3176
+-119.81 27.432 3248
+-119.684 27.432 3323
+-119.558 27.432 3399
+-119.432 27.432 3452
+-119.306 27.432 3486
+-119.18 27.432 3539
+-119.054 27.432 3552
+-118.928 27.432 3559
+-118.802 27.432 3581
+-118.676 27.432 3608
+-118.55 27.432 3662
+-118.424 27.432 3689
+-118.298 27.432 3708
+-118.172 27.432 3742
+-118.046 27.432 3747
+-117.92 27.432 3747
+-117.794 27.432 3728
+-117.668 27.432 3715
+-117.542 27.432 3738
+-117.416 27.432 3761
+-117.29 27.432 3792
+-117.164 27.432 3808
+-117.038 27.432 3812
+-116.912 27.432 3792
+-116.786 27.432 3789
+-116.66 27.432 3773
+-116.534 27.432 3755
+-116.408 27.432 3732
+-116.282 27.432 3710
+-116.156 27.432 3664
+-116.03 27.432 3642
+-115.904 27.432 3609
+-115.778 27.432 3565
+-115.652 27.432 3547
+-115.526 27.432 3511
+-115.4 27.432 3508
+-115.274 27.432 3511
+-115.148 27.432 3503
+-115.022 27.432 3478
+-114.896 27.432 3426
+-114.77 27.432 3416
+-114.644 27.432 3398
+-114.518 27.432 3396
+-114.392 27.432 3381
+-114.266 27.432 3372
+-114.14 27.432 3443
+-114.014 27.432 3560
+-113.888 27.432 3666
+-113.762 27.432 3735
+-113.636 27.432 3813
+-113.51 27.432 3859
+-113.384 27.432 3965
+-113.258 27.432 4015
+-113.132 27.432 4088
+-113.006 27.432 4136
+-112.88 27.432 4195
+-112.754 27.432 4301
+-112.628 27.432 4356
+-112.502 27.432 4407
+-112.376 27.432 4417
+-112.25 27.432 4484
+-112.124 27.432 4521
+-111.998 27.432 4581
+-111.872 27.432 4623
+-111.746 27.432 4665
+-111.62 27.432 4722
+-111.494 27.432 4763
+-111.368 27.432 4829
+-111.242 27.432 4892
+-111.116 27.432 4901
+-110.99 27.432 4929
+-110.864 27.432 4887
+-110.738 27.432 4899
+-110.612 27.432 4909
+-110.486 27.432 4939
+-110.36 27.432 4957
+-110.234 27.432 4929
+-110.108 27.432 4940
+-109.982 27.432 4937
+-109.856 27.432 4932
+-109.73 27.432 4899
+-109.604 27.432 4860
+-109.478 27.432 4857
+-109.352 27.432 4859
+-109.226 27.432 4818
+-109.1 27.432 4750
+-108.974 27.432 4768
+-108.848 27.432 4746
+-108.722 27.432 4683
+-108.596 27.432 4609
+-108.47 27.432 4556
+-108.344 27.432 4489
+-108.218 27.432 4383
+-108.092 27.432 4301
+-107.966 27.432 4254
+-107.84 27.432 4216
+-107.714 27.432 4269
+-107.588 27.432 4312
+-107.462 27.432 4296
+-107.336 27.432 4252
+-107.21 27.432 4228
+-107.084 27.432 4199
+-106.958 27.432 4142
+-106.832 27.432 4041
+-106.706 27.432 3969
+-106.58 27.432 3810
+-106.454 27.432 3656
+-106.328 27.432 3597
+-106.202 27.432 3529
+-106.076 27.432 3417
+-105.95 27.432 3326
+-105.824 27.432 3262
+-105.698 27.432 3195
+-105.572 27.432 3157
+-105.446 27.432 3152
+-105.32 27.432 3157
+-105.194 27.432 3157
+-105.068 27.432 3163
+-104.942 27.432 3107
+-104.816 27.432 3122
+-104.69 27.432 3141
+-104.564 27.432 3159
+-104.438 27.432 3216
+-104.312 27.432 3132
+-104.186 27.432 3142
+-104.06 27.432 3157
+-103.934 27.432 3154
+-103.808 27.432 3167
+-103.682 27.432 3178
+-103.556 27.432 3189
+-103.43 27.432 3198
+-103.304 27.432 3207
+-103.178 27.432 3215
+-103.052 27.432 3163
+-102.926 27.432 3161
+-102.8 27.432 3167
+-102.674 27.432 3172
+-102.548 27.432 3151
+-102.422 27.432 3157
+-102.296 27.432 3209
+-102.17 27.432 3215
+-102.044 27.432 3224
+-101.918 27.432 3215
+-101.792 27.432 3221
+-101.666 27.432 3226
+-101.54 27.432 3231
+-101.414 27.432 3228
+-101.288 27.432 3233
+-101.162 27.432 3222
+-101.036 27.432 3227
+-100.91 27.432 3164
+-100.784 27.432 3168
+-100.658 27.432 3171
+-100.532 27.432 3174
+-100.406 27.432 3177
+-100.28 27.432 3180
+-100.154 27.432 3144
+-100.028 27.432 3261
+-99.902 27.432 3162
+-99.776 27.432 3171
+-99.65 27.432 3173
+-99.524 27.432 3175
+-99.398 27.432 3177
+-99.272 27.432 3180
+-99.146 27.432 3182
+-99.02 27.432 3183
+-98.894 27.432 3185
+-98.768 27.432 3187
+-98.642 27.432 3116
+-98.516 27.432 3117
+-98.39 27.432 3118
+-98.264 27.432 3119
+-98.138 27.432 3119
+-98.012 27.432 3179
+-97.886 27.432 3144
+-97.76 27.432 3140
+-97.634 27.432 3141
+-97.508 27.432 3040
+-97.382 27.432 3004
+-97.256 27.432 2924
+-97.13 27.432 2921
+-97.004 27.432 2764
+-96.878 27.432 2629
+-96.752 27.432 2626
+-96.626 27.432 2652
+-96.5 27.432 2732
+-96.374 27.432 2763
+-96.248 27.432 2766
+-96.122 27.432 2784
+-95.996 27.432 2837
+-95.87 27.432 3050
+-95.744 27.432 3095
+-95.618 27.432 3097
+-95.492 27.432 3099
+-95.366 27.432 3100
+-95.24 27.432 3145
+-95.114 27.432 3144
+-94.988 27.432 3143
+-94.862 27.432 3143
+-94.736 27.432 3142
+-94.61 27.432 3141
+-94.484 27.432 3351
+-94.358 27.432 3350
+-94.232 27.432 3349
+-94.106 27.432 3347
+-93.98 27.432 3346
+-93.854 27.432 3344
+-93.728 27.432 3342
+-93.602 27.432 3340
+-93.476 27.432 3338
+-93.35 27.432 3335
+-93.224 27.432 3365
+-93.098 27.432 3526
+-92.972 27.432 3522
+-92.846 27.432 3518
+-92.72 27.432 3513
+-92.594 27.432 3508
+-92.468 27.432 3502
+-92.342 27.432 3496
+-92.216 27.432 3490
+-92.09 27.432 3482
+-91.964 27.432 3502
+-91.838 27.432 3502
+-91.712 27.432 3491
+-91.586 27.432 3479
+-91.46 27.432 3465
+-91.334 27.432 3450
+-91.208 27.432 3433
+-91.082 27.432 3414
+-90.956 27.432 3393
+-90.83 27.432 3368
+-90.704 27.432 3402
+-90.578 27.432 3368
+-90.452 27.432 3328
+-90.326 27.432 3320
+-90.2 27.432 3263
+-90.074 27.432 3195
+-89.948 27.432 3116
+-89.822 27.432 3070
+-89.696 27.432 2965
+-89.57 27.432 2851
+-89.444 27.432 2789
+-89.318 27.432 2712
+-89.192 27.432 2709
+-89.066 27.432 2803
+-88.94 27.432 2974
+-88.814 27.432 3171
+-88.688 27.432 3366
+-88.562 27.432 3539
+-88.436 27.432 3649
+-88.31 27.432 3713
+-88.184 27.432 3772
+-88.058 27.432 3852
+-87.932 27.432 3922
+-87.806 27.432 4020
+-87.68 27.432 4202
+-87.554 27.432 4287
+-87.428 27.432 4321
+-87.302 27.432 4329
+-87.176 27.432 4361
+-87.05 27.432 4513
+-86.924 27.432 4722
+-86.798 27.432 4921
+-86.672 27.432 5016
+-86.546 27.432 5106
+-86.42 27.432 5159
+-86.294 27.432 5254
+-86.168 27.432 5367
+-86.042 27.432 5604
+-85.916 27.432 5782
+-85.79 27.432 5868
+-85.664 27.432 5972
+-85.538 27.432 6053
+-85.412 27.432 6155
+-85.286 27.432 6372
+-85.16 27.432 6554
+-85.034 27.432 6707
+-84.908 27.432 6820
+-84.782 27.432 6952
+-84.656 27.432 7096
+-84.53 27.432 7238
+-84.404 27.432 7402
+-84.278 27.432 7453
+-84.152 27.432 7580
+-84.026 27.432 7840
+-83.9 27.432 7906
+-83.774 27.432 8036
+-83.648 27.432 8136
+-83.522 27.432 8360
+-83.396 27.432 8439
+-83.27 27.432 8617
+-83.144 27.432 8730
+-83.018 27.432 8898
+-82.892 27.432 9045
+-82.766 27.432 9149
+-82.64 27.432 9206
+-82.514 27.432 9323
+-82.388 27.432 9423
+-82.262 27.432 9482
+-82.136 27.432 9438
+-82.01 27.432 9411
+-81.884 27.432 9369
+-81.758 27.432 9245
+-81.632 27.432 9107
+-81.506 27.432 8962
+-81.38 27.432 8881
+-81.254 27.432 8732
+-81.128 27.432 8575
+-81.002 27.432 8478
+-80.876 27.432 8377
+-80.75 27.432 8189
+-80.624 27.432 8069
+-80.498 27.432 7957
+-80.372 27.432 7749
+-80.246 27.432 7681
+-80.12 27.432 7576
+-79.994 27.432 7380
+-79.868 27.432 7249
+-79.742 27.432 7142
+-79.616 27.432 6971
+-79.49 27.432 6836
+-79.364 27.432 6661
+-79.238 27.432 6464
+-79.112 27.432 6395
+-78.986 27.432 6261
+-78.86 27.432 6118
+-78.734 27.432 5982
+-78.608 27.432 5890
+-78.482 27.432 5693
+-78.356 27.432 5539
+-78.23 27.432 5414
+-78.104 27.432 5281
+-77.978 27.432 5170
+-77.852 27.432 5079
+-77.726 27.432 5049
+-77.6 27.432 4925
+-77.474 27.432 4719
+-77.348 27.432 4537
+-77.222 27.432 4506
+-77.096 27.432 4398
+-76.97 27.432 4255
+-76.844 27.432 4012
+-76.718 27.432 3905
+-76.592 27.432 3762
+-76.466 27.432 3575
+-76.34 27.432 3352
+-76.214 27.432 3137
+-76.088 27.432 3016
+-75.962 27.432 2963
+-75.836 27.432 2755
+-75.71 27.432 2605
+-75.584 27.432 2694
+-75.458 27.432 2806
+-75.332 27.432 2896
+-75.206 27.432 2979
+-75.08 27.432 3011
+-74.954 27.432 3077
+-74.828 27.432 3124
+-74.702 27.432 3174
+-74.576 27.432 3200
+-74.45 27.432 3209
+-74.324 27.432 3239
+-74.198 27.432 3266
+-74.072 27.432 3243
+-73.946 27.432 3263
+-73.82 27.432 3273
+-73.694 27.432 3252
+-73.568 27.432 3219
+-73.442 27.432 3230
+-73.316 27.432 3241
+-73.19 27.432 3250
+-73.064 27.432 3204
+-72.938 27.432 3212
+-72.812 27.432 3220
+-72.686 27.432 3207
+-72.56 27.432 3213
+-72.434 27.432 3219
+-72.308 27.432 3224
+-72.182 27.432 3229
+-72.056 27.432 3173
+-71.93 27.432 3150
+-71.804 27.432 3154
+-71.678 27.432 3157
+-71.552 27.432 3160
+-71.426 27.432 3163
+-71.3 27.432 3166
+-71.174 27.432 3169
+-71.048 27.432 3171
+-70.922 27.432 3174
+-70.796 27.432 3073
+-70.67 27.432 3073
+-70.544 27.432 3074
+-70.418 27.432 3074
+-70.292 27.432 3074
+-70.166 27.432 3073
+-70.04 27.432 3073
+-69.914 27.432 3073
+-69.788 27.432 3073
+-69.662 27.432 3073
+-69.536 27.432 3073
+-69.41 27.432 3073
+-69.284 27.432 3073
+-69.158 27.432 3073
+-69.032 27.432 3073
+-68.906 27.432 3072
+-68.78 27.432 2986
+-68.654 27.432 2985
+-68.528 27.432 2984
+-68.402 27.432 2984
+-68.276 27.432 2983
+-68.15 27.432 2982
+-68.024 27.432 2983
+-67.898 27.432 2982
+-67.772 27.432 2982
+-67.646 27.432 2981
+-67.52 27.432 2981
+-67.394 27.432 2980
+-67.268 27.432 2980
+-67.142 27.432 2979
+-67.016 27.432 2979
+-66.89 27.432 2978
+-66.764 27.432 2978
+-66.638 27.432 2978
+-66.512 27.432 2977
+-66.386 27.432 2977
+-66.26 27.432 2976
+-66.134 27.432 2976
+-66.008 27.432 2976
+-65.882 27.432 2975
+-65.756 27.432 2975
+-65.63 27.432 2975
+-65.504 27.432 2975
+-65.378 27.432 2974
+-65.252 27.432 2974
+-65.126 27.432 2974
+-128 27.38 2841
+-127.874 27.38 2842
+-127.748 27.38 2889
+-127.622 27.38 2890
+-127.496 27.38 2910
+-127.37 27.38 2954
+-127.244 27.38 2956
+-127.118 27.38 2958
+-126.992 27.38 2961
+-126.866 27.38 2964
+-126.74 27.38 2941
+-126.614 27.38 2932
+-126.488 27.38 2963
+-126.362 27.38 2968
+-126.236 27.38 3009
+-126.11 27.38 3014
+-125.984 27.38 2985
+-125.858 27.38 2976
+-125.732 27.38 2992
+-125.606 27.38 2999
+-125.48 27.38 3007
+-125.354 27.38 2982
+-125.228 27.38 3403
+-125.102 27.38 3403
+-124.976 27.38 3401
+-124.85 27.38 3377
+-124.724 27.38 3376
+-124.598 27.38 3361
+-124.472 27.38 3388
+-124.346 27.38 3387
+-124.22 27.38 3442
+-124.094 27.38 3439
+-123.968 27.38 3408
+-123.842 27.38 3422
+-123.716 27.38 3451
+-123.59 27.38 3444
+-123.464 27.38 3467
+-123.338 27.38 3463
+-123.212 27.38 3488
+-123.086 27.38 3470
+-122.96 27.38 3465
+-122.834 27.38 3460
+-122.708 27.38 3482
+-122.582 27.38 3475
+-122.456 27.38 3467
+-122.33 27.38 3467
+-122.204 27.38 3404
+-122.078 27.38 3411
+-121.952 27.38 3397
+-121.826 27.38 3391
+-121.7 27.38 3373
+-121.574 27.38 3411
+-121.448 27.38 3405
+-121.322 27.38 3335
+-121.196 27.38 3345
+-121.07 27.38 3341
+-120.944 27.38 3331
+-120.818 27.38 3338
+-120.692 27.38 3321
+-120.566 27.38 3298
+-120.44 27.38 3265
+-120.314 27.38 3215
+-120.188 27.38 3211
+-120.062 27.38 3209
+-119.936 27.38 3222
+-119.81 27.38 3273
+-119.684 27.38 3317
+-119.558 27.38 3402
+-119.432 27.38 3437
+-119.306 27.38 3462
+-119.18 27.38 3502
+-119.054 27.38 3500
+-118.928 27.38 3502
+-118.802 27.38 3491
+-118.676 27.38 3505
+-118.55 27.38 3533
+-118.424 27.38 3597
+-118.298 27.38 3638
+-118.172 27.38 3681
+-118.046 27.38 3690
+-117.92 27.38 3685
+-117.794 27.38 3648
+-117.668 27.38 3626
+-117.542 27.38 3651
+-117.416 27.38 3684
+-117.29 27.38 3706
+-117.164 27.38 3698
+-117.038 27.38 3682
+-116.912 27.38 3685
+-116.786 27.38 3695
+-116.66 27.38 3692
+-116.534 27.38 3678
+-116.408 27.38 3656
+-116.282 27.38 3604
+-116.156 27.38 3594
+-116.03 27.38 3568
+-115.904 27.38 3552
+-115.778 27.38 3532
+-115.652 27.38 3505
+-115.526 27.38 3443
+-115.4 27.38 3475
+-115.274 27.38 3484
+-115.148 27.38 3466
+-115.022 27.38 3427
+-114.896 27.38 3362
+-114.77 27.38 3310
+-114.644 27.38 3280
+-114.518 27.38 3322
+-114.392 27.38 3328
+-114.266 27.38 3297
+-114.14 27.38 3375
+-114.014 27.38 3527
+-113.888 27.38 3651
+-113.762 27.38 3723
+-113.636 27.38 3792
+-113.51 27.38 3827
+-113.384 27.38 3905
+-113.258 27.38 3976
+-113.132 27.38 4057
+-113.006 27.38 4128
+-112.88 27.38 4152
+-112.754 27.38 4252
+-112.628 27.38 4332
+-112.502 27.38 4385
+-112.376 27.38 4433
+-112.25 27.38 4474
+-112.124 27.38 4484
+-111.998 27.38 4570
+-111.872 27.38 4624
+-111.746 27.38 4644
+-111.62 27.38 4679
+-111.494 27.38 4715
+-111.368 27.38 4783
+-111.242 27.38 4836
+-111.116 27.38 4848
+-110.99 27.38 4832
+-110.864 27.38 4842
+-110.738 27.38 4860
+-110.612 27.38 4882
+-110.486 27.38 4881
+-110.36 27.38 4892
+-110.234 27.38 4900
+-110.108 27.38 4898
+-109.982 27.38 4895
+-109.856 27.38 4896
+-109.73 27.38 4843
+-109.604 27.38 4780
+-109.478 27.38 4790
+-109.352 27.38 4806
+-109.226 27.38 4791
+-109.1 27.38 4772
+-108.974 27.38 4758
+-108.848 27.38 4709
+-108.722 27.38 4662
+-108.596 27.38 4590
+-108.47 27.38 4524
+-108.344 27.38 4446
+-108.218 27.38 4360
+-108.092 27.38 4313
+-107.966 27.38 4283
+-107.84 27.38 4262
+-107.714 27.38 4263
+-107.588 27.38 4250
+-107.462 27.38 4239
+-107.336 27.38 4218
+-107.21 27.38 4188
+-107.084 27.38 4132
+-106.958 27.38 4026
+-106.832 27.38 3947
+-106.706 27.38 3787
+-106.58 27.38 3626
+-106.454 27.38 3535
+-106.328 27.38 3472
+-106.202 27.38 3386
+-106.076 27.38 3349
+-105.95 27.38 3303
+-105.824 27.38 3257
+-105.698 27.38 3218
+-105.572 27.38 3175
+-105.446 27.38 3155
+-105.32 27.38 3156
+-105.194 27.38 3158
+-105.068 27.38 3150
+-104.942 27.38 3150
+-104.816 27.38 3088
+-104.69 27.38 3044
+-104.564 27.38 3060
+-104.438 27.38 3113
+-104.312 27.38 3132
+-104.186 27.38 3115
+-104.06 27.38 3126
+-103.934 27.38 3143
+-103.808 27.38 3142
+-103.682 27.38 3155
+-103.556 27.38 3167
+-103.43 27.38 3179
+-103.304 27.38 3189
+-103.178 27.38 3199
+-103.052 27.38 3208
+-102.926 27.38 3156
+-102.8 27.38 3154
+-102.674 27.38 3160
+-102.548 27.38 3166
+-102.422 27.38 3145
+-102.296 27.38 3151
+-102.17 27.38 3204
+-102.044 27.38 3211
+-101.918 27.38 3220
+-101.792 27.38 3211
+-101.666 27.38 3217
+-101.54 27.38 3222
+-101.414 27.38 3228
+-101.288 27.38 3225
+-101.162 27.38 3230
+-101.036 27.38 3219
+-100.91 27.38 3224
+-100.784 27.38 3161
+-100.658 27.38 3165
+-100.532 27.38 3168
+-100.406 27.38 3171
+-100.28 27.38 3174
+-100.154 27.38 3177
+-100.028 27.38 3141
+-99.902 27.38 3259
+-99.776 27.38 3160
+-99.65 27.38 3169
+-99.524 27.38 3172
+-99.398 27.38 3174
+-99.272 27.38 3176
+-99.146 27.38 3178
+-99.02 27.38 3180
+-98.894 27.38 3182
+-98.768 27.38 3184
+-98.642 27.38 3186
+-98.516 27.38 3114
+-98.39 27.38 3116
+-98.264 27.38 3117
+-98.138 27.38 3118
+-98.012 27.38 3118
+-97.886 27.38 3180
+-97.76 27.38 3144
+-97.634 27.38 3140
+-97.508 27.38 3038
+-97.382 27.38 3036
+-97.256 27.38 2923
+-97.13 27.38 2919
+-97.004 27.38 2763
+-96.878 27.38 2628
+-96.752 27.38 2626
+-96.626 27.38 2652
+-96.5 27.38 2733
+-96.374 27.38 2766
+-96.248 27.38 2768
+-96.122 27.38 2830
+-95.996 27.38 3049
+-95.87 27.38 3093
+-95.744 27.38 3095
+-95.618 27.38 3097
+-95.492 27.38 3099
+-95.366 27.38 3101
+-95.24 27.38 3145
+-95.114 27.38 3144
+-94.988 27.38 3143
+-94.862 27.38 3142
+-94.736 27.38 3142
+-94.61 27.38 3352
+-94.484 27.38 3351
+-94.358 27.38 3350
+-94.232 27.38 3348
+-94.106 27.38 3346
+-93.98 27.38 3345
+-93.854 27.38 3343
+-93.728 27.38 3341
+-93.602 27.38 3339
+-93.476 27.38 3337
+-93.35 27.38 3356
+-93.224 27.38 3529
+-93.098 27.38 3525
+-92.972 27.38 3521
+-92.846 27.38 3516
+-92.72 27.38 3511
+-92.594 27.38 3506
+-92.468 27.38 3500
+-92.342 27.38 3494
+-92.216 27.38 3487
+-92.09 27.38 3489
+-91.964 27.38 3508
+-91.838 27.38 3498
+-91.712 27.38 3486
+-91.586 27.38 3474
+-91.46 27.38 3459
+-91.334 27.38 3444
+-91.208 27.38 3426
+-91.082 27.38 3406
+-90.956 27.38 3383
+-90.83 27.38 3356
+-90.704 27.38 3326
+-90.578 27.38 3349
+-90.452 27.38 3344
+-90.326 27.38 3290
+-90.2 27.38 3226
+-90.074 27.38 3150
+-89.948 27.38 3107
+-89.822 27.38 2994
+-89.696 27.38 2858
+-89.57 27.38 2736
+-89.444 27.38 2570
+-89.318 27.38 2435
+-89.192 27.38 2397
+-89.066 27.38 2506
+-88.94 27.38 2748
+-88.814 27.38 3031
+-88.688 27.38 3306
+-88.562 27.38 3481
+-88.436 27.38 3603
+-88.31 27.38 3703
+-88.184 27.38 3773
+-88.058 27.38 3872
+-87.932 27.38 3959
+-87.806 27.38 4089
+-87.68 27.38 4242
+-87.554 27.38 4293
+-87.428 27.38 4262
+-87.302 27.38 4236
+-87.176 27.38 4368
+-87.05 27.38 4564
+-86.924 27.38 4773
+-86.798 27.38 4886
+-86.672 27.38 4923
+-86.546 27.38 5049
+-86.42 27.38 5187
+-86.294 27.38 5276
+-86.168 27.38 5406
+-86.042 27.38 5587
+-85.916 27.38 5729
+-85.79 27.38 5849
+-85.664 27.38 5986
+-85.538 27.38 6104
+-85.412 27.38 6228
+-85.286 27.38 6407
+-85.16 27.38 6557
+-85.034 27.38 6643
+-84.908 27.38 6854
+-84.782 27.38 6953
+-84.656 27.38 7091
+-84.53 27.38 7267
+-84.404 27.38 7388
+-84.278 27.38 7475
+-84.152 27.38 7600
+-84.026 27.38 7792
+-83.9 27.38 7913
+-83.774 27.38 8061
+-83.648 27.38 8180
+-83.522 27.38 8366
+-83.396 27.38 8466
+-83.27 27.38 8594
+-83.144 27.38 8749
+-83.018 27.38 8853
+-82.892 27.38 8975
+-82.766 27.38 9062
+-82.64 27.38 9215
+-82.514 27.38 9305
+-82.388 27.38 9388
+-82.262 27.38 9394
+-82.136 27.38 9400
+-82.01 27.38 9358
+-81.884 27.38 9285
+-81.758 27.38 9192
+-81.632 27.38 9091
+-81.506 27.38 8977
+-81.38 27.38 8897
+-81.254 27.38 8764
+-81.128 27.38 8553
+-81.002 27.38 8456
+-80.876 27.38 8323
+-80.75 27.38 8161
+-80.624 27.38 8047
+-80.498 27.38 7900
+-80.372 27.38 7722
+-80.246 27.38 7657
+-80.12 27.38 7504
+-79.994 27.38 7356
+-79.868 27.38 7236
+-79.742 27.38 7141
+-79.616 27.38 6969
+-79.49 27.38 6846
+-79.364 27.38 6682
+-79.238 27.38 6507
+-79.112 27.38 6369
+-78.986 27.38 6295
+-78.86 27.38 6135
+-78.734 27.38 6035
+-78.608 27.38 5860
+-78.482 27.38 5660
+-78.356 27.38 5467
+-78.23 27.38 5418
+-78.104 27.38 5213
+-77.978 27.38 5205
+-77.852 27.38 5125
+-77.726 27.38 5047
+-77.6 27.38 4863
+-77.474 27.38 4594
+-77.348 27.38 4359
+-77.222 27.38 4454
+-77.096 27.38 4331
+-76.97 27.38 4101
+-76.844 27.38 3946
+-76.718 27.38 3890
+-76.592 27.38 3784
+-76.466 27.38 3609
+-76.34 27.38 3420
+-76.214 27.38 3239
+-76.088 27.38 3129
+-75.962 27.38 3022
+-75.836 27.38 2836
+-75.71 27.38 2723
+-75.584 27.38 2775
+-75.458 27.38 2875
+-75.332 27.38 2960
+-75.206 27.38 3033
+-75.08 27.38 3099
+-74.954 27.38 3106
+-74.828 27.38 3157
+-74.702 27.38 3189
+-74.576 27.38 3229
+-74.45 27.38 3242
+-74.324 27.38 3244
+-74.198 27.38 3270
+-74.072 27.38 3245
+-73.946 27.38 3263
+-73.82 27.38 3281
+-73.694 27.38 3288
+-73.568 27.38 3265
+-73.442 27.38 3230
+-73.316 27.38 3240
+-73.19 27.38 3250
+-73.064 27.38 3259
+-72.938 27.38 3210
+-72.812 27.38 3194
+-72.686 27.38 3200
+-72.56 27.38 3207
+-72.434 27.38 3212
+-72.308 27.38 3218
+-72.182 27.38 3223
+-72.056 27.38 3179
+-71.93 27.38 3167
+-71.804 27.38 3151
+-71.678 27.38 3155
+-71.552 27.38 3158
+-71.426 27.38 3161
+-71.3 27.38 3164
+-71.174 27.38 3167
+-71.048 27.38 3170
+-70.922 27.38 3060
+-70.796 27.38 3060
+-70.67 27.38 3060
+-70.544 27.38 3060
+-70.418 27.38 3060
+-70.292 27.38 3060
+-70.166 27.38 3060
+-70.04 27.38 3059
+-69.914 27.38 3059
+-69.788 27.38 3059
+-69.662 27.38 3059
+-69.536 27.38 3059
+-69.41 27.38 3059
+-69.284 27.38 3059
+-69.158 27.38 3058
+-69.032 27.38 3058
+-68.906 27.38 2983
+-68.78 27.38 2982
+-68.654 27.38 2981
+-68.528 27.38 2981
+-68.402 27.38 2980
+-68.276 27.38 2979
+-68.15 27.38 2979
+-68.024 27.38 2978
+-67.898 27.38 2978
+-67.772 27.38 2977
+-67.646 27.38 2977
+-67.52 27.38 2976
+-67.394 27.38 2976
+-67.268 27.38 2975
+-67.142 27.38 2975
+-67.016 27.38 2974
+-66.89 27.38 2974
+-66.764 27.38 2974
+-66.638 27.38 2973
+-66.512 27.38 2973
+-66.386 27.38 2972
+-66.26 27.38 2972
+-66.134 27.38 2972
+-66.008 27.38 2972
+-65.882 27.38 2971
+-65.756 27.38 2971
+-65.63 27.38 2971
+-65.504 27.38 2971
+-65.378 27.38 2970
+-65.252 27.38 2970
+-65.126 27.38 2970
+-128 27.328 2847
+-127.874 27.328 2894
+-127.748 27.328 2896
+-127.622 27.328 2915
+-127.496 27.328 2959
+-127.37 27.328 2961
+-127.244 27.328 2963
+-127.118 27.328 2965
+-126.992 27.328 2968
+-126.866 27.328 2944
+-126.74 27.328 2934
+-126.614 27.328 2966
+-126.488 27.328 2970
+-126.362 27.328 3011
+-126.236 27.328 3016
+-126.11 27.328 2986
+-125.984 27.328 2976
+-125.858 27.328 2992
+-125.732 27.328 2999
+-125.606 27.328 3006
+-125.48 27.328 2980
+-125.354 27.328 3404
+-125.228 27.328 3404
+-125.102 27.328 3402
+-124.976 27.328 3378
+-124.85 27.328 3377
+-124.724 27.328 3362
+-124.598 27.328 3390
+-124.472 27.328 3388
+-124.346 27.328 3445
+-124.22 27.328 3442
+-124.094 27.328 3411
+-123.968 27.328 3425
+-123.842 27.328 3454
+-123.716 27.328 3448
+-123.59 27.328 3472
+-123.464 27.328 3468
+-123.338 27.328 3494
+-123.212 27.328 3476
+-123.086 27.328 3471
+-122.96 27.328 3467
+-122.834 27.328 3490
+-122.708 27.328 3484
+-122.582 27.328 3476
+-122.456 27.328 3478
+-122.33 27.328 3410
+-122.204 27.328 3419
+-122.078 27.328 3405
+-121.952 27.328 3400
+-121.826 27.328 3381
+-121.7 27.328 3422
+-121.574 27.328 3416
+-121.448 27.328 3343
+-121.322 27.328 3354
+-121.196 27.328 3352
+-121.07 27.328 3343
+-120.944 27.328 3355
+-120.818 27.328 3345
+-120.692 27.328 3331
+-120.566 27.328 3309
+-120.44 27.328 3265
+-120.314 27.328 3274
+-120.188 27.328 3221
+-120.062 27.328 3224
+-119.936 27.328 3275
+-119.81 27.328 3278
+-119.684 27.328 3330
+-119.558 27.328 3357
+-119.432 27.328 3425
+-119.306 27.328 3437
+-119.18 27.328 3463
+-119.054 27.328 3437
+-118.928 27.328 3416
+-118.802 27.328 3390
+-118.676 27.328 3370
+-118.55 27.328 3410
+-118.424 27.328 3478
+-118.298 27.328 3543
+-118.172 27.328 3587
+-118.046 27.328 3620
+-117.92 27.328 3624
+-117.794 27.328 3609
+-117.668 27.328 3594
+-117.542 27.328 3612
+-117.416 27.328 3602
+-117.29 27.328 3603
+-117.164 27.328 3594
+-117.038 27.328 3592
+-116.912 27.328 3592
+-116.786 27.328 3598
+-116.66 27.328 3590
+-116.534 27.328 3580
+-116.408 27.328 3580
+-116.282 27.328 3551
+-116.156 27.328 3508
+-116.03 27.328 3489
+-115.904 27.328 3496
+-115.778 27.328 3506
+-115.652 27.328 3491
+-115.526 27.328 3470
+-115.4 27.328 3464
+-115.274 27.328 3453
+-115.148 27.328 3408
+-115.022 27.328 3353
+-114.896 27.328 3272
+-114.77 27.328 3168
+-114.644 27.328 3105
+-114.518 27.328 3192
+-114.392 27.328 3311
+-114.266 27.328 3348
+-114.14 27.328 3413
+-114.014 27.328 3538
+-113.888 27.328 3650
+-113.762 27.328 3716
+-113.636 27.328 3762
+-113.51 27.328 3771
+-113.384 27.328 3845
+-113.258 27.328 3905
+-113.132 27.328 3970
+-113.006 27.328 4048
+-112.88 27.328 4101
+-112.754 27.328 4174
+-112.628 27.328 4275
+-112.502 27.328 4345
+-112.376 27.328 4408
+-112.25 27.328 4410
+-112.124 27.328 4454
+-111.998 27.328 4545
+-111.872 27.328 4602
+-111.746 27.328 4631
+-111.62 27.328 4656
+-111.494 27.328 4673
+-111.368 27.328 4737
+-111.242 27.328 4802
+-111.116 27.328 4808
+-110.99 27.328 4813
+-110.864 27.328 4826
+-110.738 27.328 4829
+-110.612 27.328 4824
+-110.486 27.328 4819
+-110.36 27.328 4824
+-110.234 27.328 4822
+-110.108 27.328 4838
+-109.982 27.328 4845
+-109.856 27.328 4834
+-109.73 27.328 4812
+-109.604 27.328 4784
+-109.478 27.328 4772
+-109.352 27.328 4756
+-109.226 27.328 4736
+-109.1 27.328 4726
+-108.974 27.328 4703
+-108.848 27.328 4662
+-108.722 27.328 4590
+-108.596 27.328 4535
+-108.47 27.328 4483
+-108.344 27.328 4396
+-108.218 27.328 4333
+-108.092 27.328 4299
+-107.966 27.328 4285
+-107.84 27.328 4258
+-107.714 27.328 4252
+-107.588 27.328 4202
+-107.462 27.328 4178
+-107.336 27.328 4146
+-107.21 27.328 4110
+-107.084 27.328 4010
+-106.958 27.328 3889
+-106.832 27.328 3799
+-106.706 27.328 3615
+-106.58 27.328 3511
+-106.454 27.328 3377
+-106.328 27.328 3312
+-106.202 27.328 3284
+-106.076 27.328 3273
+-105.95 27.328 3260
+-105.824 27.328 3229
+-105.698 27.328 3193
+-105.572 27.328 3161
+-105.446 27.328 3124
+-105.32 27.328 3107
+-105.194 27.328 3110
+-105.068 27.328 3115
+-104.942 27.328 3058
+-104.816 27.328 3061
+-104.69 27.328 3074
+-104.564 27.328 3017
+-104.438 27.328 3038
+-104.312 27.328 3093
+-104.186 27.328 3115
+-104.06 27.328 3100
+-103.934 27.328 3114
+-103.808 27.328 3132
+-103.682 27.328 3131
+-103.556 27.328 3146
+-103.43 27.328 3159
+-103.304 27.328 3171
+-103.178 27.328 3182
+-103.052 27.328 3192
+-102.926 27.328 3201
+-102.8 27.328 3149
+-102.674 27.328 3148
+-102.548 27.328 3155
+-102.422 27.328 3161
+-102.296 27.328 3140
+-102.17 27.328 3147
+-102.044 27.328 3200
+-101.918 27.328 3207
+-101.792 27.328 3217
+-101.666 27.328 3207
+-101.54 27.328 3213
+-101.414 27.328 3219
+-101.288 27.328 3225
+-101.162 27.328 3222
+-101.036 27.328 3227
+-100.91 27.328 3216
+-100.784 27.328 3221
+-100.658 27.328 3158
+-100.532 27.328 3162
+-100.406 27.328 3165
+-100.28 27.328 3168
+-100.154 27.328 3171
+-100.028 27.328 3174
+-99.902 27.328 3138
+-99.776 27.328 3257
+-99.65 27.328 3158
+-99.524 27.328 3168
+-99.398 27.328 3171
+-99.272 27.328 3173
+-99.146 27.328 3175
+-99.02 27.328 3177
+-98.894 27.328 3179
+-98.768 27.328 3181
+-98.642 27.328 3183
+-98.516 27.328 3185
+-98.39 27.328 3113
+-98.264 27.328 3115
+-98.138 27.328 3116
+-98.012 27.328 3117
+-97.886 27.328 3118
+-97.76 27.328 3181
+-97.634 27.328 3145
+-97.508 27.328 3036
+-97.382 27.328 3034
+-97.256 27.328 3032
+-97.13 27.328 2918
+-97.004 27.328 2684
+-96.878 27.328 2682
+-96.752 27.328 2625
+-96.626 27.328 2652
+-96.5 27.328 2734
+-96.374 27.328 2768
+-96.248 27.328 2806
+-96.122 27.328 2859
+-95.996 27.328 3080
+-95.87 27.328 3082
+-95.744 27.328 3085
+-95.618 27.328 3087
+-95.492 27.328 3088
+-95.366 27.328 3090
+-95.24 27.328 3144
+-95.114 27.328 3144
+-94.988 27.328 3143
+-94.862 27.328 3142
+-94.736 27.328 3353
+-94.61 27.328 3352
+-94.484 27.328 3350
+-94.358 27.328 3349
+-94.232 27.328 3347
+-94.106 27.328 3346
+-93.98 27.328 3344
+-93.854 27.328 3342
+-93.728 27.328 3340
+-93.602 27.328 3338
+-93.476 27.328 3357
+-93.35 27.328 3354
+-93.224 27.328 3351
+-93.098 27.328 3524
+-92.972 27.328 3519
+-92.846 27.328 3515
+-92.72 27.328 3510
+-92.594 27.328 3504
+-92.468 27.328 3498
+-92.342 27.328 3492
+-92.216 27.328 3494
+-92.09 27.328 3486
+-91.964 27.328 3477
+-91.838 27.328 3494
+-91.712 27.328 3483
+-91.586 27.328 3470
+-91.46 27.328 3455
+-91.334 27.328 3439
+-91.208 27.328 3420
+-91.082 27.328 3399
+-90.956 27.328 3375
+-90.83 27.328 3348
+-90.704 27.328 3353
+-90.578 27.328 3348
+-90.452 27.328 3301
+-90.326 27.328 3269
+-90.2 27.328 3200
+-90.074 27.328 3170
+-89.948 27.328 3067
+-89.822 27.328 2939
+-89.696 27.328 2818
+-89.57 27.328 2623
+-89.444 27.328 2405
+-89.318 27.328 2209
+-89.192 27.328 2126
+-89.066 27.328 2249
+-88.94 27.328 2556
+-88.814 27.328 2905
+-88.688 27.328 3222
+-88.562 27.328 3417
+-88.436 27.328 3561
+-88.31 27.328 3659
+-88.184 27.328 3745
+-88.058 27.328 3864
+-87.932 27.328 3961
+-87.806 27.328 4080
+-87.68 27.328 4235
+-87.554 27.328 4276
+-87.428 27.328 4201
+-87.302 27.328 4100
+-87.176 27.328 4280
+-87.05 27.328 4590
+-86.924 27.328 4790
+-86.798 27.328 4862
+-86.672 27.328 4784
+-86.546 27.328 4978
+-86.42 27.328 5191
+-86.294 27.328 5297
+-86.168 27.328 5416
+-86.042 27.328 5591
+-85.916 27.328 5648
+-85.79 27.328 5789
+-85.664 27.328 5986
+-85.538 27.328 6132
+-85.412 27.328 6300
+-85.286 27.328 6424
+-85.16 27.328 6460
+-85.034 27.328 6631
+-84.908 27.328 6768
+-84.782 27.328 6916
+-84.656 27.328 7097
+-84.53 27.328 7263
+-84.404 27.328 7336
+-84.278 27.328 7485
+-84.152 27.328 7587
+-84.026 27.328 7770
+-83.9 27.328 7863
+-83.774 27.328 7989
+-83.648 27.328 8130
+-83.522 27.328 8318
+-83.396 27.328 8450
+-83.27 27.328 8527
+-83.144 27.328 8719
+-83.018 27.328 8799
+-82.892 27.328 8940
+-82.766 27.328 9045
+-82.64 27.328 9160
+-82.514 27.328 9247
+-82.388 27.328 9320
+-82.262 27.328 9370
+-82.136 27.328 9340
+-82.01 27.328 9303
+-81.884 27.328 9249
+-81.758 27.328 9143
+-81.632 27.328 9087
+-81.506 27.328 8941
+-81.38 27.328 8804
+-81.254 27.328 8753
+-81.128 27.328 8646
+-81.002 27.328 8424
+-80.876 27.328 8306
+-80.75 27.328 8173
+-80.624 27.328 8078
+-80.498 27.328 7862
+-80.372 27.328 7787
+-80.246 27.328 7669
+-80.12 27.328 7452
+-79.994 27.328 7322
+-79.868 27.328 7244
+-79.742 27.328 7129
+-79.616 27.328 6985
+-79.49 27.328 6830
+-79.364 27.328 6616
+-79.238 27.328 6477
+-79.112 27.328 6405
+-78.986 27.328 6261
+-78.86 27.328 6039
+-78.734 27.328 6017
+-78.608 27.328 5816
+-78.482 27.328 5635
+-78.356 27.328 5438
+-78.23 27.328 5333
+-78.104 27.328 5255
+-77.978 27.328 5184
+-77.852 27.328 5086
+-77.726 27.328 4987
+-77.6 27.328 4871
+-77.474 27.328 4686
+-77.348 27.328 4533
+-77.222 27.328 4484
+-77.096 27.328 4289
+-76.97 27.328 4029
+-76.844 27.328 3877
+-76.718 27.328 3891
+-76.592 27.328 3789
+-76.466 27.328 3606
+-76.34 27.328 3394
+-76.214 27.328 3275
+-76.088 27.328 3204
+-75.962 27.328 3104
+-75.836 27.328 3000
+-75.71 27.328 2926
+-75.584 27.328 2929
+-75.458 27.328 2980
+-75.332 27.328 3041
+-75.206 27.328 3097
+-75.08 27.328 3150
+-74.954 27.328 3198
+-74.828 27.328 3182
+-74.702 27.328 3221
+-74.576 27.328 3243
+-74.45 27.328 3274
+-74.324 27.328 3280
+-74.198 27.328 3273
+-74.072 27.328 3249
+-73.946 27.328 3267
+-73.82 27.328 3284
+-73.694 27.328 3299
+-73.568 27.328 3302
+-73.442 27.328 3253
+-73.316 27.328 3241
+-73.19 27.328 3250
+-73.064 27.328 3259
+-72.938 27.328 3194
+-72.812 27.328 3192
+-72.686 27.328 3199
+-72.56 27.328 3205
+-72.434 27.328 3211
+-72.308 27.328 3216
+-72.182 27.328 3221
+-72.056 27.328 3226
+-71.93 27.328 3181
+-71.804 27.328 3169
+-71.678 27.328 3153
+-71.552 27.328 3156
+-71.426 27.328 3159
+-71.3 27.328 3162
+-71.174 27.328 3165
+-71.048 27.328 3055
+-70.922 27.328 3055
+-70.796 27.328 3055
+-70.67 27.328 3055
+-70.544 27.328 3055
+-70.418 27.328 3055
+-70.292 27.328 3055
+-70.166 27.328 3055
+-70.04 27.328 3055
+-69.914 27.328 3055
+-69.788 27.328 3055
+-69.662 27.328 3055
+-69.536 27.328 3055
+-69.41 27.328 3055
+-69.284 27.328 3054
+-69.158 27.328 3054
+-69.032 27.328 2979
+-68.906 27.328 2979
+-68.78 27.328 2978
+-68.654 27.328 2977
+-68.528 27.328 2977
+-68.402 27.328 2976
+-68.276 27.328 2976
+-68.15 27.328 2975
+-68.024 27.328 2974
+-67.898 27.328 2974
+-67.772 27.328 2973
+-67.646 27.328 2973
+-67.52 27.328 2973
+-67.394 27.328 2972
+-67.268 27.328 2972
+-67.142 27.328 2971
+-67.016 27.328 2971
+-66.89 27.328 2971
+-66.764 27.328 2970
+-66.638 27.328 2970
+-66.512 27.328 2970
+-66.386 27.328 2970
+-66.26 27.328 2969
+-66.134 27.328 2969
+-66.008 27.328 2969
+-65.882 27.328 2969
+-65.756 27.328 2968
+-65.63 27.328 2968
+-65.504 27.328 2968
+-65.378 27.328 2968
+-65.252 27.328 2968
+-65.126 27.328 2967
+-128 27.276 2899
+-127.874 27.276 2901
+-127.748 27.276 2920
+-127.622 27.276 2964
+-127.496 27.276 2966
+-127.37 27.276 2967
+-127.244 27.276 2970
+-127.118 27.276 2972
+-126.992 27.276 2948
+-126.866 27.276 2937
+-126.74 27.276 2968
+-126.614 27.276 2973
+-126.488 27.276 3013
+-126.362 27.276 3018
+-126.236 27.276 2987
+-126.11 27.276 2976
+-125.984 27.276 2992
+-125.858 27.276 2998
+-125.732 27.276 3005
+-125.606 27.276 2979
+-125.48 27.276 3406
+-125.354 27.276 3406
+-125.228 27.276 3404
+-125.102 27.276 3379
+-124.976 27.276 3378
+-124.85 27.276 3363
+-124.724 27.276 3391
+-124.598 27.276 3390
+-124.472 27.276 3447
+-124.346 27.276 3444
+-124.22 27.276 3413
+-124.094 27.276 3428
+-123.968 27.276 3458
+-123.842 27.276 3451
+-123.716 27.276 3476
+-123.59 27.276 3472
+-123.464 27.276 3499
+-123.338 27.276 3481
+-123.212 27.276 3477
+-123.086 27.276 3473
+-122.96 27.276 3497
+-122.834 27.276 3492
+-122.708 27.276 3484
+-122.582 27.276 3487
+-122.456 27.276 3416
+-122.33 27.276 3426
+-122.204 27.276 3411
+-122.078 27.276 3407
+-121.952 27.276 3388
+-121.826 27.276 3431
+-121.7 27.276 3426
+-121.574 27.276 3349
+-121.448 27.276 3361
+-121.322 27.276 3360
+-121.196 27.276 3352
+-121.07 27.276 3368
+-120.944 27.276 3360
+-120.818 27.276 3350
+-120.692 27.276 3334
+-120.566 27.276 3291
+-120.44 27.276 3311
+-120.314 27.276 3248
+-120.188 27.276 3246
+-120.062 27.276 3262
+-119.936 27.276 3273
+-119.81 27.276 3258
+-119.684 27.276 3298
+-119.558 27.276 3315
+-119.432 27.276 3378
+-119.306 27.276 3382
+-119.18 27.276 3375
+-119.054 27.276 3348
+-118.928 27.276 3309
+-118.802 27.276 3260
+-118.676 27.276 3237
+-118.55 27.276 3289
+-118.424 27.276 3379
+-118.298 27.276 3478
+-118.172 27.276 3531
+-118.046 27.276 3570
+-117.92 27.276 3577
+-117.794 27.276 3588
+-117.668 27.276 3579
+-117.542 27.276 3568
+-117.416 27.276 3555
+-117.29 27.276 3549
+-117.164 27.276 3565
+-117.038 27.276 3571
+-116.912 27.276 3561
+-116.786 27.276 3544
+-116.66 27.276 3531
+-116.534 27.276 3536
+-116.408 27.276 3521
+-116.282 27.276 3498
+-116.156 27.276 3476
+-116.03 27.276 3458
+-115.904 27.276 3463
+-115.778 27.276 3468
+-115.652 27.276 3464
+-115.526 27.276 3455
+-115.4 27.276 3444
+-115.274 27.276 3412
+-115.148 27.276 3374
+-115.022 27.276 3315
+-114.896 27.276 3224
+-114.77 27.276 3086
+-114.644 27.276 2996
+-114.518 27.276 3105
+-114.392 27.276 3268
+-114.266 27.276 3372
+-114.14 27.276 3452
+-114.014 27.276 3545
+-113.888 27.276 3638
+-113.762 27.276 3699
+-113.636 27.276 3740
+-113.51 27.276 3708
+-113.384 27.276 3816
+-113.258 27.276 3850
+-113.132 27.276 3950
+-113.006 27.276 3973
+-112.88 27.276 4038
+-112.754 27.276 4108
+-112.628 27.276 4189
+-112.502 27.276 4279
+-112.376 27.276 4361
+-112.25 27.276 4396
+-112.124 27.276 4423
+-111.998 27.276 4496
+-111.872 27.276 4563
+-111.746 27.276 4602
+-111.62 27.276 4642
+-111.494 27.276 4653
+-111.368 27.276 4696
+-111.242 27.276 4759
+-111.116 27.276 4772
+-110.99 27.276 4746
+-110.864 27.276 4788
+-110.738 27.276 4789
+-110.612 27.276 4758
+-110.486 27.276 4786
+-110.36 27.276 4782
+-110.234 27.276 4774
+-110.108 27.276 4796
+-109.982 27.276 4796
+-109.856 27.276 4776
+-109.73 27.276 4753
+-109.604 27.276 4733
+-109.478 27.276 4704
+-109.352 27.276 4668
+-109.226 27.276 4667
+-109.1 27.276 4666
+-108.974 27.276 4632
+-108.848 27.276 4588
+-108.722 27.276 4541
+-108.596 27.276 4495
+-108.47 27.276 4443
+-108.344 27.276 4327
+-108.218 27.276 4250
+-108.092 27.276 4224
+-107.966 27.276 4225
+-107.84 27.276 4224
+-107.714 27.276 4177
+-107.588 27.276 4142
+-107.462 27.276 4076
+-107.336 27.276 4034
+-107.21 27.276 3986
+-107.084 27.276 3900
+-106.958 27.276 3780
+-106.832 27.276 3614
+-106.706 27.276 3488
+-106.58 27.276 3341
+-106.454 27.276 3221
+-106.328 27.276 3156
+-106.202 27.276 3156
+-106.076 27.276 3177
+-105.95 27.276 3182
+-105.824 27.276 3168
+-105.698 27.276 3146
+-105.572 27.276 3102
+-105.446 27.276 3066
+-105.32 27.276 3031
+-105.194 27.276 2972
+-105.068 27.276 2983
+-104.942 27.276 2999
+-104.816 27.276 3007
+-104.69 27.276 3022
+-104.564 27.276 3045
+-104.438 27.276 2995
+-104.312 27.276 3021
+-104.186 27.276 3078
+-104.06 27.276 3103
+-103.934 27.276 3089
+-103.808 27.276 3105
+-103.682 27.276 3124
+-103.556 27.276 3124
+-103.43 27.276 3139
+-103.304 27.276 3153
+-103.178 27.276 3165
+-103.052 27.276 3176
+-102.926 27.276 3187
+-102.8 27.276 3196
+-102.674 27.276 3144
+-102.548 27.276 3143
+-102.422 27.276 3150
+-102.296 27.276 3156
+-102.17 27.276 3136
+-102.044 27.276 3143
+-101.918 27.276 3197
+-101.792 27.276 3204
+-101.666 27.276 3214
+-101.54 27.276 3205
+-101.414 27.276 3211
+-101.288 27.276 3216
+-101.162 27.276 3222
+-101.036 27.276 3219
+-100.91 27.276 3225
+-100.784 27.276 3214
+-100.658 27.276 3219
+-100.532 27.276 3156
+-100.406 27.276 3159
+-100.28 27.276 3163
+-100.154 27.276 3166
+-100.028 27.276 3169
+-99.902 27.276 3172
+-99.776 27.276 3136
+-99.65 27.276 3256
+-99.524 27.276 3157
+-99.398 27.276 3167
+-99.272 27.276 3170
+-99.146 27.276 3172
+-99.02 27.276 3174
+-98.894 27.276 3176
+-98.768 27.276 3178
+-98.642 27.276 3181
+-98.516 27.276 3182
+-98.39 27.276 3184
+-98.264 27.276 3112
+-98.138 27.276 3114
+-98.012 27.276 3115
+-97.886 27.276 3116
+-97.76 27.276 3117
+-97.634 27.276 3182
+-97.508 27.276 3035
+-97.382 27.276 3032
+-97.256 27.276 3030
+-97.13 27.276 2964
+-97.004 27.276 2751
+-96.878 27.276 2684
+-96.752 27.276 2707
+-96.626 27.276 2718
+-96.5 27.276 2834
+-96.374 27.276 2805
+-96.248 27.276 2836
+-96.122 27.276 2893
+-95.996 27.276 3081
+-95.87 27.276 3083
+-95.744 27.276 3085
+-95.618 27.276 3087
+-95.492 27.276 3089
+-95.366 27.276 3091
+-95.24 27.276 3144
+-95.114 27.276 3144
+-94.988 27.276 3143
+-94.862 27.276 3354
+-94.736 27.276 3352
+-94.61 27.276 3351
+-94.484 27.276 3350
+-94.358 27.276 3348
+-94.232 27.276 3347
+-94.106 27.276 3345
+-93.98 27.276 3343
+-93.854 27.276 3342
+-93.728 27.276 3339
+-93.602 27.276 3358
+-93.476 27.276 3355
+-93.35 27.276 3352
+-93.224 27.276 3349
+-93.098 27.276 3345
+-92.972 27.276 3518
+-92.846 27.276 3524
+-92.72 27.276 3518
+-92.594 27.276 3512
+-92.468 27.276 3506
+-92.342 27.276 3499
+-92.216 27.276 3491
+-92.09 27.276 3483
+-91.964 27.276 3474
+-91.838 27.276 3463
+-91.712 27.276 3480
+-91.586 27.276 3467
+-91.46 27.276 3452
+-91.334 27.276 3435
+-91.208 27.276 3416
+-91.082 27.276 3395
+-90.956 27.276 3371
+-90.83 27.276 3379
+-90.704 27.276 3379
+-90.578 27.276 3338
+-90.452 27.276 3291
+-90.326 27.276 3240
+-90.2 27.276 3243
+-90.074 27.276 3157
+-89.948 27.276 3050
+-89.822 27.276 2959
+-89.696 27.276 2789
+-89.57 27.276 2580
+-89.444 27.276 2340
+-89.318 27.276 2116
+-89.192 27.276 2012
+-89.066 27.276 2142
+-88.94 27.276 2481
+-88.814 27.276 2856
+-88.688 27.276 3178
+-88.562 27.276 3363
+-88.436 27.276 3495
+-88.31 27.276 3586
+-88.184 27.276 3718
+-88.058 27.276 3824
+-87.932 27.276 3954
+-87.806 27.276 4053
+-87.68 27.276 4224
+-87.554 27.276 4268
+-87.428 27.276 4260
+-87.302 27.276 4232
+-87.176 27.276 4375
+-87.05 27.276 4626
+-86.924 27.276 4823
+-86.798 27.276 4885
+-86.672 27.276 4886
+-86.546 27.276 5002
+-86.42 27.276 5203
+-86.294 27.276 5252
+-86.168 27.276 5379
+-86.042 27.276 5556
+-85.916 27.276 5682
+-85.79 27.276 5832
+-85.664 27.276 5992
+-85.538 27.276 6128
+-85.412 27.276 6291
+-85.286 27.276 6373
+-85.16 27.276 6504
+-85.034 27.276 6629
+-84.908 27.276 6747
+-84.782 27.276 6909
+-84.656 27.276 7116
+-84.53 27.276 7221
+-84.404 27.276 7312
+-84.278 27.276 7455
+-84.152 27.276 7580
+-84.026 27.276 7762
+-83.9 27.276 7878
+-83.774 27.276 7979
+-83.648 27.276 8126
+-83.522 27.276 8273
+-83.396 27.276 8458
+-83.27 27.276 8493
+-83.144 27.276 8655
+-83.018 27.276 8758
+-82.892 27.276 8926
+-82.766 27.276 9022
+-82.64 27.276 9174
+-82.514 27.276 9204
+-82.388 27.276 9226
+-82.262 27.276 9296
+-82.136 27.276 9271
+-82.01 27.276 9281
+-81.884 27.276 9194
+-81.758 27.276 9129
+-81.632 27.276 9068
+-81.506 27.276 8913
+-81.38 27.276 8836
+-81.254 27.276 8647
+-81.128 27.276 8568
+-81.002 27.276 8468
+-80.876 27.276 8264
+-80.75 27.276 8214
+-80.624 27.276 7995
+-80.498 27.276 7856
+-80.372 27.276 7729
+-80.246 27.276 7709
+-80.12 27.276 7478
+-79.994 27.276 7291
+-79.868 27.276 7156
+-79.742 27.276 7048
+-79.616 27.276 6961
+-79.49 27.276 6806
+-79.364 27.276 6610
+-79.238 27.276 6503
+-79.112 27.276 6336
+-78.986 27.276 6199
+-78.86 27.276 6178
+-78.734 27.276 5991
+-78.608 27.276 5777
+-78.482 27.276 5613
+-78.356 27.276 5407
+-78.23 27.276 5348
+-78.104 27.276 5168
+-77.978 27.276 5134
+-77.852 27.276 4992
+-77.726 27.276 4894
+-77.6 27.276 4847
+-77.474 27.276 4781
+-77.348 27.276 4665
+-77.222 27.276 4544
+-77.096 27.276 4312
+-76.97 27.276 4111
+-76.844 27.276 3965
+-76.718 27.276 3907
+-76.592 27.276 3786
+-76.466 27.276 3534
+-76.34 27.276 3304
+-76.214 27.276 3185
+-76.088 27.276 3200
+-75.962 27.276 3181
+-75.836 27.276 3133
+-75.71 27.276 3087
+-75.584 27.276 3075
+-75.458 27.276 3093
+-75.332 27.276 3126
+-75.206 27.276 3164
+-75.08 27.276 3202
+-74.954 27.276 3239
+-74.828 27.276 3274
+-74.702 27.276 3242
+-74.576 27.276 3273
+-74.45 27.276 3286
+-74.324 27.276 3312
+-74.198 27.276 3312
+-74.072 27.276 3301
+-73.946 27.276 3270
+-73.82 27.276 3286
+-73.694 27.276 3301
+-73.568 27.276 3315
+-73.442 27.276 3305
+-73.316 27.276 3266
+-73.19 27.276 3251
+-73.064 27.276 3260
+-72.938 27.276 3268
+-72.812 27.276 3199
+-72.686 27.276 3198
+-72.56 27.276 3204
+-72.434 27.276 3209
+-72.308 27.276 3215
+-72.182 27.276 3220
+-72.056 27.276 3225
+-71.93 27.276 3229
+-71.804 27.276 3182
+-71.678 27.276 3170
+-71.552 27.276 3155
+-71.426 27.276 3158
+-71.3 27.276 3161
+-71.174 27.276 3050
+-71.048 27.276 3050
+-70.922 27.276 3050
+-70.796 27.276 3050
+-70.67 27.276 3050
+-70.544 27.276 3050
+-70.418 27.276 3050
+-70.292 27.276 3050
+-70.166 27.276 3050
+-70.04 27.276 3050
+-69.914 27.276 3050
+-69.788 27.276 3050
+-69.662 27.276 3050
+-69.536 27.276 3050
+-69.41 27.276 3050
+-69.284 27.276 3050
+-69.158 27.276 2976
+-69.032 27.276 2975
+-68.906 27.276 2974
+-68.78 27.276 2974
+-68.654 27.276 2973
+-68.528 27.276 2973
+-68.402 27.276 2972
+-68.276 27.276 2972
+-68.15 27.276 2971
+-68.024 27.276 2971
+-67.898 27.276 2970
+-67.772 27.276 2970
+-67.646 27.276 2969
+-67.52 27.276 2969
+-67.394 27.276 2969
+-67.268 27.276 2968
+-67.142 27.276 2968
+-67.016 27.276 2968
+-66.89 27.276 2967
+-66.764 27.276 2967
+-66.638 27.276 2967
+-66.512 27.276 2967
+-66.386 27.276 2967
+-66.26 27.276 2966
+-66.134 27.276 2966
+-66.008 27.276 2966
+-65.882 27.276 2966
+-65.756 27.276 2966
+-65.63 27.276 2965
+-65.504 27.276 2965
+-65.378 27.276 2965
+-65.252 27.276 2965
+-65.126 27.276 2965
+-128 27.224 2905
+-127.874 27.224 2924
+-127.748 27.224 2969
+-127.622 27.224 2970
+-127.496 27.224 2972
+-127.37 27.224 2974
+-127.244 27.224 2976
+-127.118 27.224 2951
+-126.992 27.224 2939
+-126.866 27.224 2971
+-126.74 27.224 2975
+-126.614 27.224 3015
+-126.488 27.224 3020
+-126.362 27.224 2988
+-126.236 27.224 2977
+-126.11 27.224 2992
+-125.984 27.224 2998
+-125.858 27.224 3004
+-125.732 27.224 2977
+-125.606 27.224 3407
+-125.48 27.224 3407
+-125.354 27.224 3405
+-125.228 27.224 3380
+-125.102 27.224 3379
+-124.976 27.224 3364
+-124.85 27.224 3393
+-124.724 27.224 3391
+-124.598 27.224 3449
+-124.472 27.224 3446
+-124.346 27.224 3415
+-124.22 27.224 3430
+-124.094 27.224 3461
+-123.968 27.224 3454
+-123.842 27.224 3480
+-123.716 27.224 3476
+-123.59 27.224 3504
+-123.464 27.224 3486
+-123.338 27.224 3482
+-123.212 27.224 3478
+-123.086 27.224 3503
+-122.96 27.224 3499
+-122.834 27.224 3492
+-122.708 27.224 3495
+-122.582 27.224 3421
+-122.456 27.224 3432
+-122.33 27.224 3417
+-122.204 27.224 3413
+-122.078 27.224 3393
+-121.952 27.224 3439
+-121.826 27.224 3434
+-121.7 27.224 3353
+-121.574 27.224 3367
+-121.448 27.224 3366
+-121.322 27.224 3359
+-121.196 27.224 3376
+-121.07 27.224 3370
+-120.944 27.224 3363
+-120.818 27.224 3309
+-120.692 27.224 3305
+-120.566 27.224 3294
+-120.44 27.224 3262
+-120.314 27.224 3258
+-120.188 27.224 3271
+-120.062 27.224 3242
+-119.936 27.224 3246
+-119.81 27.224 3255
+-119.684 27.224 3256
+-119.558 27.224 3281
+-119.432 27.224 3285
+-119.306 27.224 3286
+-119.18 27.224 3275
+-119.054 27.224 3262
+-118.928 27.224 3265
+-118.802 27.224 3220
+-118.676 27.224 3196
+-118.55 27.224 3227
+-118.424 27.224 3295
+-118.298 27.224 3378
+-118.172 27.224 3428
+-118.046 27.224 3446
+-117.92 27.224 3476
+-117.794 27.224 3497
+-117.668 27.224 3519
+-117.542 27.224 3516
+-117.416 27.224 3501
+-117.29 27.224 3504
+-117.164 27.224 3523
+-117.038 27.224 3545
+-116.912 27.224 3530
+-116.786 27.224 3504
+-116.66 27.224 3486
+-116.534 27.224 3472
+-116.408 27.224 3462
+-116.282 27.224 3461
+-116.156 27.224 3457
+-116.03 27.224 3456
+-115.904 27.224 3445
+-115.778 27.224 3436
+-115.652 27.224 3423
+-115.526 27.224 3417
+-115.4 27.224 3409
+-115.274 27.224 3376
+-115.148 27.224 3341
+-115.022 27.224 3277
+-114.896 27.224 3214
+-114.77 27.224 3130
+-114.644 27.224 3082
+-114.518 27.224 3153
+-114.392 27.224 3272
+-114.266 27.224 3380
+-114.14 27.224 3470
+-114.014 27.224 3553
+-113.888 27.224 3620
+-113.762 27.224 3677
+-113.636 27.224 3738
+-113.51 27.224 3751
+-113.384 27.224 3824
+-113.258 27.224 3868
+-113.132 27.224 3910
+-113.006 27.224 3939
+-112.88 27.224 4003
+-112.754 27.224 4050
+-112.628 27.224 4119
+-112.502 27.224 4202
+-112.376 27.224 4285
+-112.25 27.224 4345
+-112.124 27.224 4360
+-111.998 27.224 4436
+-111.872 27.224 4517
+-111.746 27.224 4559
+-111.62 27.224 4589
+-111.494 27.224 4613
+-111.368 27.224 4646
+-111.242 27.224 4696
+-111.116 27.224 4754
+-110.99 27.224 4763
+-110.864 27.224 4778
+-110.738 27.224 4767
+-110.612 27.224 4748
+-110.486 27.224 4702
+-110.36 27.224 4750
+-110.234 27.224 4765
+-110.108 27.224 4757
+-109.982 27.224 4745
+-109.856 27.224 4711
+-109.73 27.224 4680
+-109.604 27.224 4648
+-109.478 27.224 4632
+-109.352 27.224 4612
+-109.226 27.224 4617
+-109.1 27.224 4601
+-108.974 27.224 4568
+-108.848 27.224 4538
+-108.722 27.224 4484
+-108.596 27.224 4437
+-108.47 27.224 4333
+-108.344 27.224 4245
+-108.218 27.224 4158
+-108.092 27.224 4108
+-107.966 27.224 4121
+-107.84 27.224 4144
+-107.714 27.224 4106
+-107.588 27.224 4056
+-107.462 27.224 3966
+-107.336 27.224 3919
+-107.21 27.224 3872
+-107.084 27.224 3816
+-106.958 27.224 3700
+-106.832 27.224 3533
+-106.706 27.224 3395
+-106.58 27.224 3234
+-106.454 27.224 3093
+-106.328 27.224 3030
+-106.202 27.224 3056
+-106.076 27.224 3108
+-105.95 27.224 3129
+-105.824 27.224 3110
+-105.698 27.224 3067
+-105.572 27.224 3004
+-105.446 27.224 2959
+-105.32 27.224 2882
+-105.194 27.224 2859
+-105.068 27.224 2869
+-104.942 27.224 2902
+-104.816 27.224 2941
+-104.69 27.224 2966
+-104.564 27.224 2994
+-104.438 27.224 3026
+-104.312 27.224 2981
+-104.186 27.224 3010
+-104.06 27.224 3069
+-103.934 27.224 3096
+-103.808 27.224 3083
+-103.682 27.224 3100
+-103.556 27.224 3119
+-103.43 27.224 3119
+-103.304 27.224 3134
+-103.178 27.224 3148
+-103.052 27.224 3161
+-102.926 27.224 3172
+-102.8 27.224 3183
+-102.674 27.224 3192
+-102.548 27.224 3140
+-102.422 27.224 3139
+-102.296 27.224 3146
+-102.17 27.224 3153
+-102.044 27.224 3133
+-101.918 27.224 3140
+-101.792 27.224 3195
+-101.666 27.224 3201
+-101.54 27.224 3212
+-101.414 27.224 3202
+-101.288 27.224 3208
+-101.162 27.224 3214
+-101.036 27.224 3220
+-100.91 27.224 3217
+-100.784 27.224 3223
+-100.658 27.224 3212
+-100.532 27.224 3217
+-100.406 27.224 3153
+-100.28 27.224 3157
+-100.154 27.224 3160
+-100.028 27.224 3164
+-99.902 27.224 3167
+-99.776 27.224 3170
+-99.65 27.224 3134
+-99.524 27.224 3255
+-99.398 27.224 3156
+-99.272 27.224 3166
+-99.146 27.224 3169
+-99.02 27.224 3171
+-98.894 27.224 3173
+-98.768 27.224 3176
+-98.642 27.224 3178
+-98.516 27.224 3180
+-98.39 27.224 3182
+-98.264 27.224 3184
+-98.138 27.224 3112
+-98.012 27.224 3113
+-97.886 27.224 3114
+-97.76 27.224 3115
+-97.634 27.224 3014
+-97.508 27.224 3078
+-97.382 27.224 3031
+-97.256 27.224 3028
+-97.13 27.224 2962
+-97.004 27.224 2750
+-96.878 27.224 2748
+-96.752 27.224 2739
+-96.626 27.224 2721
+-96.5 27.224 2835
+-96.374 27.224 2836
+-96.248 27.224 2838
+-96.122 27.224 2895
+-95.996 27.224 3082
+-95.87 27.224 3084
+-95.744 27.224 3086
+-95.618 27.224 3088
+-95.492 27.224 3090
+-95.366 27.224 3092
+-95.24 27.224 3144
+-95.114 27.224 3143
+-94.988 27.224 3334
+-94.862 27.224 3333
+-94.736 27.224 3332
+-94.61 27.224 3331
+-94.484 27.224 3329
+-94.358 27.224 3328
+-94.232 27.224 3327
+-94.106 27.224 3325
+-93.98 27.224 3324
+-93.854 27.224 3322
+-93.728 27.224 3359
+-93.602 27.224 3357
+-93.476 27.224 3354
+-93.35 27.224 3351
+-93.224 27.224 3347
+-93.098 27.224 3344
+-92.972 27.224 3340
+-92.846 27.224 3522
+-92.72 27.224 3516
+-92.594 27.224 3510
+-92.468 27.224 3504
+-92.342 27.224 3497
+-92.216 27.224 3489
+-92.09 27.224 3481
+-91.964 27.224 3471
+-91.838 27.224 3461
+-91.712 27.224 3450
+-91.586 27.224 3465
+-91.46 27.224 3450
+-91.334 27.224 3433
+-91.208 27.224 3414
+-91.082 27.224 3393
+-90.956 27.224 3404
+-90.83 27.224 3406
+-90.704 27.224 3371
+-90.578 27.224 3332
+-90.452 27.224 3285
+-90.326 27.224 3229
+-90.2 27.224 3169
+-90.074 27.224 3151
+-89.948 27.224 3104
+-89.822 27.224 2974
+-89.696 27.224 2814
+-89.57 27.224 2620
+-89.444 27.224 2404
+-89.318 27.224 2209
+-89.192 27.224 2129
+-89.066 27.224 2257
+-88.94 27.224 2566
+-88.814 27.224 2931
+-88.688 27.224 3182
+-88.562 27.224 3323
+-88.436 27.224 3397
+-88.31 27.224 3503
+-88.184 27.224 3619
+-88.058 27.224 3754
+-87.932 27.224 3902
+-87.806 27.224 4023
+-87.68 27.224 4209
+-87.554 27.224 4272
+-87.428 27.224 4319
+-87.302 27.224 4370
+-87.176 27.224 4507
+-87.05 27.224 4728
+-86.924 27.224 4841
+-86.798 27.224 4872
+-86.672 27.224 4809
+-86.546 27.224 4985
+-86.42 27.224 5202
+-86.294 27.224 5300
+-86.168 27.224 5410
+-86.042 27.224 5526
+-85.916 27.224 5644
+-85.79 27.224 5845
+-85.664 27.224 5957
+-85.538 27.224 6051
+-85.412 27.224 6243
+-85.286 27.224 6421
+-85.16 27.224 6497
+-85.034 27.224 6615
+-84.908 27.224 6766
+-84.782 27.224 6950
+-84.656 27.224 7057
+-84.53 27.224 7174
+-84.404 27.224 7321
+-84.278 27.224 7400
+-84.152 27.224 7548
+-84.026 27.224 7716
+-83.9 27.224 7877
+-83.774 27.224 7976
+-83.648 27.224 8142
+-83.522 27.224 8291
+-83.396 27.224 8393
+-83.27 27.224 8479
+-83.144 27.224 8640
+-83.018 27.224 8747
+-82.892 27.224 8908
+-82.766 27.224 8961
+-82.64 27.224 9085
+-82.514 27.224 9164
+-82.388 27.224 9217
+-82.262 27.224 9270
+-82.136 27.224 9259
+-82.01 27.224 9215
+-81.884 27.224 9169
+-81.758 27.224 9021
+-81.632 27.224 9005
+-81.506 27.224 8850
+-81.38 27.224 8742
+-81.254 27.224 8718
+-81.128 27.224 8467
+-81.002 27.224 8429
+-80.876 27.224 8301
+-80.75 27.224 8111
+-80.624 27.224 8019
+-80.498 27.224 7858
+-80.372 27.224 7793
+-80.246 27.224 7662
+-80.12 27.224 7454
+-79.994 27.224 7260
+-79.868 27.224 7162
+-79.742 27.224 7087
+-79.616 27.224 6890
+-79.49 27.224 6829
+-79.364 27.224 6654
+-79.238 27.224 6517
+-79.112 27.224 6417
+-78.986 27.224 6301
+-78.86 27.224 6188
+-78.734 27.224 5904
+-78.608 27.224 5773
+-78.482 27.224 5640
+-78.356 27.224 5425
+-78.23 27.224 5406
+-78.104 27.224 5244
+-77.978 27.224 5080
+-77.852 27.224 4892
+-77.726 27.224 4778
+-77.6 27.224 4830
+-77.474 27.224 4782
+-77.348 27.224 4699
+-77.222 27.224 4566
+-77.096 27.224 4359
+-76.97 27.224 4222
+-76.844 27.224 4069
+-76.718 27.224 3925
+-76.592 27.224 3742
+-76.466 27.224 3510
+-76.34 27.224 3227
+-76.214 27.224 3089
+-76.088 27.224 3170
+-75.962 27.224 3223
+-75.836 27.224 3223
+-75.71 27.224 3202
+-75.584 27.224 3188
+-75.458 27.224 3191
+-75.332 27.224 3206
+-75.206 27.224 3229
+-75.08 27.224 3254
+-74.954 27.224 3281
+-74.828 27.224 3308
+-74.702 27.224 3335
+-74.576 27.224 3280
+-74.45 27.224 3305
+-74.324 27.224 3322
+-74.198 27.224 3344
+-74.072 27.224 3340
+-73.946 27.224 3325
+-73.82 27.224 3290
+-73.694 27.224 3304
+-73.568 27.224 3317
+-73.442 27.224 3298
+-73.316 27.224 3258
+-73.19 27.224 3258
+-73.064 27.224 3240
+-72.938 27.224 3247
+-72.812 27.224 3254
+-72.686 27.224 3190
+-72.56 27.224 3196
+-72.434 27.224 3201
+-72.308 27.224 3207
+-72.182 27.224 3219
+-72.056 27.224 3224
+-71.93 27.224 3228
+-71.804 27.224 3232
+-71.678 27.224 3184
+-71.552 27.224 3172
+-71.426 27.224 3156
+-71.3 27.224 3044
+-71.174 27.224 3045
+-71.048 27.224 3045
+-70.922 27.224 3045
+-70.796 27.224 3045
+-70.67 27.224 3045
+-70.544 27.224 3045
+-70.418 27.224 3046
+-70.292 27.224 3046
+-70.166 27.224 3046
+-70.04 27.224 3046
+-69.914 27.224 3046
+-69.788 27.224 3046
+-69.662 27.224 3046
+-69.536 27.224 3046
+-69.41 27.224 3046
+-69.284 27.224 2972
+-69.158 27.224 2971
+-69.032 27.224 2971
+-68.906 27.224 2970
+-68.78 27.224 2970
+-68.654 27.224 2969
+-68.528 27.224 2969
+-68.402 27.224 2968
+-68.276 27.224 2968
+-68.15 27.224 2967
+-68.024 27.224 2967
+-67.898 27.224 2966
+-67.772 27.224 2966
+-67.646 27.224 2966
+-67.52 27.224 2965
+-67.394 27.224 2965
+-67.268 27.224 2965
+-67.142 27.224 2965
+-67.016 27.224 2964
+-66.89 27.224 2964
+-66.764 27.224 2964
+-66.638 27.224 2964
+-66.512 27.224 2964
+-66.386 27.224 2963
+-66.26 27.224 2963
+-66.134 27.224 2963
+-66.008 27.224 2963
+-65.882 27.224 2963
+-65.756 27.224 2963
+-65.63 27.224 2963
+-65.504 27.224 2963
+-65.378 27.224 2963
+-65.252 27.224 2962
+-65.126 27.224 2962
+-128 27.172 2929
+-127.874 27.172 2973
+-127.748 27.172 2975
+-127.622 27.172 2976
+-127.496 27.172 2978
+-127.37 27.172 2980
+-127.244 27.172 2954
+-127.118 27.172 2942
+-126.992 27.172 2973
+-126.866 27.172 2977
+-126.74 27.172 3018
+-126.614 27.172 3022
+-126.488 27.172 2990
+-126.362 27.172 2977
+-126.236 27.172 2992
+-126.11 27.172 2998
+-125.984 27.172 3004
+-125.858 27.172 2976
+-125.732 27.172 3408
+-125.606 27.172 3408
+-125.48 27.172 3407
+-125.354 27.172 3381
+-125.228 27.172 3380
+-125.102 27.172 3365
+-124.976 27.172 3394
+-124.85 27.172 3393
+-124.724 27.172 3451
+-124.598 27.172 3449
+-124.472 27.172 3417
+-124.346 27.172 3432
+-124.22 27.172 3464
+-124.094 27.172 3457
+-123.968 27.172 3483
+-123.842 27.172 3480
+-123.716 27.172 3509
+-123.59 27.172 3490
+-123.464 27.172 3487
+-123.338 27.172 3483
+-123.212 27.172 3509
+-123.086 27.172 3505
+-122.96 27.172 3498
+-122.834 27.172 3502
+-122.708 27.172 3425
+-122.582 27.172 3437
+-122.456 27.172 3422
+-122.33 27.172 3418
+-122.204 27.172 3398
+-122.078 27.172 3445
+-121.952 27.172 3441
+-121.826 27.172 3357
+-121.7 27.172 3372
+-121.574 27.172 3371
+-121.448 27.172 3364
+-121.322 27.172 3383
+-121.196 27.172 3377
+-121.07 27.172 3371
+-120.944 27.172 3314
+-120.818 27.172 3311
+-120.692 27.172 3262
+-120.566 27.172 3266
+-120.44 27.172 3263
+-120.314 27.172 3237
+-120.188 27.172 3239
+-120.062 27.172 3238
+-119.936 27.172 3240
+-119.81 27.172 3235
+-119.684 27.172 3255
+-119.558 27.172 3257
+-119.432 27.172 3229
+-119.306 27.172 3249
+-119.18 27.172 3242
+-119.054 27.172 3247
+-118.928 27.172 3228
+-118.802 27.172 3213
+-118.676 27.172 3207
+-118.55 27.172 3222
+-118.424 27.172 3255
+-118.298 27.172 3296
+-118.172 27.172 3315
+-118.046 27.172 3365
+-117.92 27.172 3384
+-117.794 27.172 3397
+-117.668 27.172 3423
+-117.542 27.172 3432
+-117.416 27.172 3440
+-117.29 27.172 3432
+-117.164 27.172 3427
+-117.038 27.172 3456
+-116.912 27.172 3458
+-116.786 27.172 3444
+-116.66 27.172 3436
+-116.534 27.172 3422
+-116.408 27.172 3413
+-116.282 27.172 3411
+-116.156 27.172 3412
+-116.03 27.172 3403
+-115.904 27.172 3399
+-115.778 27.172 3382
+-115.652 27.172 3349
+-115.526 27.172 3341
+-115.4 27.172 3333
+-115.274 27.172 3301
+-115.148 27.172 3266
+-115.022 27.172 3244
+-114.896 27.172 3202
+-114.77 27.172 3174
+-114.644 27.172 3171
+-114.518 27.172 3239
+-114.392 27.172 3315
+-114.266 27.172 3383
+-114.14 27.172 3474
+-114.014 27.172 3544
+-113.888 27.172 3595
+-113.762 27.172 3655
+-113.636 27.172 3704
+-113.51 27.172 3742
+-113.384 27.172 3808
+-113.258 27.172 3834
+-113.132 27.172 3838
+-113.006 27.172 3884
+-112.88 27.172 3980
+-112.754 27.172 4049
+-112.628 27.172 4063
+-112.502 27.172 4142
+-112.376 27.172 4228
+-112.25 27.172 4276
+-112.124 27.172 4305
+-111.998 27.172 4391
+-111.872 27.172 4435
+-111.746 27.172 4475
+-111.62 27.172 4509
+-111.494 27.172 4529
+-111.368 27.172 4562
+-111.242 27.172 4630
+-111.116 27.172 4688
+-110.99 27.172 4725
+-110.864 27.172 4751
+-110.738 27.172 4747
+-110.612 27.172 4724
+-110.486 27.172 4678
+-110.36 27.172 4719
+-110.234 27.172 4731
+-110.108 27.172 4708
+-109.982 27.172 4668
+-109.856 27.172 4623
+-109.73 27.172 4599
+-109.604 27.172 4583
+-109.478 27.172 4577
+-109.352 27.172 4586
+-109.226 27.172 4561
+-109.1 27.172 4531
+-108.974 27.172 4497
+-108.848 27.172 4478
+-108.722 27.172 4445
+-108.596 27.172 4368
+-108.47 27.172 4276
+-108.344 27.172 4160
+-108.218 27.172 4088
+-108.092 27.172 4043
+-107.966 27.172 4061
+-107.84 27.172 4065
+-107.714 27.172 4008
+-107.588 27.172 3937
+-107.462 27.172 3888
+-107.336 27.172 3834
+-107.21 27.172 3797
+-107.084 27.172 3728
+-106.958 27.172 3592
+-106.832 27.172 3490
+-106.706 27.172 3354
+-106.58 27.172 3187
+-106.454 27.172 3035
+-106.328 27.172 2974
+-106.202 27.172 3015
+-106.076 27.172 3070
+-105.95 27.172 3086
+-105.824 27.172 3052
+-105.698 27.172 2980
+-105.572 27.172 2853
+-105.446 27.172 2768
+-105.32 27.172 2726
+-105.194 27.172 2717
+-105.068 27.172 2736
+-104.942 27.172 2784
+-104.816 27.172 2846
+-104.69 27.172 2906
+-104.564 27.172 2946
+-104.438 27.172 2982
+-104.312 27.172 3019
+-104.186 27.172 2977
+-104.06 27.172 3007
+-103.934 27.172 3066
+-103.808 27.172 3093
+-103.682 27.172 3080
+-103.556 27.172 3098
+-103.43 27.172 3117
+-103.304 27.172 3117
+-103.178 27.172 3132
+-103.052 27.172 3145
+-102.926 27.172 3158
+-102.8 27.172 3169
+-102.674 27.172 3180
+-102.548 27.172 3189
+-102.422 27.172 3137
+-102.296 27.172 3136
+-102.17 27.172 3143
+-102.044 27.172 3150
+-101.918 27.172 3130
+-101.792 27.172 3137
+-101.666 27.172 3192
+-101.54 27.172 3199
+-101.414 27.172 3210
+-101.288 27.172 3200
+-101.162 27.172 3206
+-101.036 27.172 3212
+-100.91 27.172 3218
+-100.784 27.172 3216
+-100.658 27.172 3221
+-100.532 27.172 3210
+-100.406 27.172 3215
+-100.28 27.172 3151
+-100.154 27.172 3155
+-100.028 27.172 3158
+-99.902 27.172 3162
+-99.776 27.172 3165
+-99.65 27.172 3168
+-99.524 27.172 3132
+-99.398 27.172 3254
+-99.272 27.172 3154
+-99.146 27.172 3165
+-99.02 27.172 3168
+-98.894 27.172 3170
+-98.768 27.172 3173
+-98.642 27.172 3175
+-98.516 27.172 3177
+-98.39 27.172 3179
+-98.264 27.172 3181
+-98.138 27.172 3183
+-98.012 27.172 3111
+-97.886 27.172 3112
+-97.76 27.172 3113
+-97.634 27.172 3012
+-97.508 27.172 3009
+-97.382 27.172 3074
+-97.256 27.172 3027
+-97.13 27.172 2961
+-97.004 27.172 2749
+-96.878 27.172 2747
+-96.752 27.172 2738
+-96.626 27.172 2895
+-96.5 27.172 2836
+-96.374 27.172 2838
+-96.248 27.172 2834
+-96.122 27.172 3057
+-95.996 27.172 3083
+-95.87 27.172 3085
+-95.744 27.172 3087
+-95.618 27.172 3089
+-95.492 27.172 3091
+-95.366 27.172 3092
+-95.24 27.172 3144
+-95.114 27.172 3334
+-94.988 27.172 3333
+-94.862 27.172 3332
+-94.736 27.172 3331
+-94.61 27.172 3330
+-94.484 27.172 3329
+-94.358 27.172 3328
+-94.232 27.172 3326
+-94.106 27.172 3325
+-93.98 27.172 3323
+-93.854 27.172 3361
+-93.728 27.172 3358
+-93.602 27.172 3355
+-93.476 27.172 3353
+-93.35 27.172 3349
+-93.224 27.172 3346
+-93.098 27.172 3343
+-92.972 27.172 3525
+-92.846 27.172 3520
+-92.72 27.172 3514
+-92.594 27.172 3508
+-92.468 27.172 3502
+-92.342 27.172 3495
+-92.216 27.172 3487
+-92.09 27.172 3479
+-91.964 27.172 3469
+-91.838 27.172 3459
+-91.712 27.172 3448
+-91.586 27.172 3435
+-91.46 27.172 3449
+-91.334 27.172 3433
+-91.208 27.172 3414
+-91.082 27.172 3427
+-90.956 27.172 3435
+-90.83 27.172 3406
+-90.704 27.172 3373
+-90.578 27.172 3334
+-90.452 27.172 3289
+-90.326 27.172 3243
+-90.2 27.172 3248
+-90.074 27.172 3171
+-89.948 27.172 3080
+-89.822 27.172 3021
+-89.696 27.172 2885
+-89.57 27.172 2729
+-89.444 27.172 2567
+-89.318 27.172 2441
+-89.192 27.172 2407
+-89.066 27.172 2522
+-88.94 27.172 2758
+-88.814 27.172 3037
+-88.688 27.172 3209
+-88.562 27.172 3279
+-88.436 27.172 3287
+-88.31 27.172 3320
+-88.184 27.172 3438
+-88.058 27.172 3637
+-87.932 27.172 3825
+-87.806 27.172 3974
+-87.68 27.172 4189
+-87.554 27.172 4267
+-87.428 27.172 4335
+-87.302 27.172 4429
+-87.176 27.172 4583
+-87.05 27.172 4722
+-86.924 27.172 4850
+-86.798 27.172 4927
+-86.672 27.172 4926
+-86.546 27.172 5050
+-86.42 27.172 5224
+-86.294 27.172 5322
+-86.168 27.172 5382
+-86.042 27.172 5495
+-85.916 27.172 5604
+-85.79 27.172 5759
+-85.664 27.172 5959
+-85.538 27.172 6110
+-85.412 27.172 6282
+-85.286 27.172 6445
+-85.16 27.172 6523
+-85.034 27.172 6613
+-84.908 27.172 6759
+-84.782 27.172 6870
+-84.656 27.172 6977
+-84.53 27.172 7183
+-84.404 27.172 7352
+-84.278 27.172 7449
+-84.152 27.172 7635
+-84.026 27.172 7642
+-83.9 27.172 7858
+-83.774 27.172 8044
+-83.648 27.172 8162
+-83.522 27.172 8253
+-83.396 27.172 8360
+-83.27 27.172 8452
+-83.144 27.172 8619
+-83.018 27.172 8763
+-82.892 27.172 8851
+-82.766 27.172 8921
+-82.64 27.172 9003
+-82.514 27.172 9099
+-82.388 27.172 9152
+-82.262 27.172 9166
+-82.136 27.172 9189
+-82.01 27.172 9154
+-81.884 27.172 9082
+-81.758 27.172 9079
+-81.632 27.172 8954
+-81.506 27.172 8842
+-81.38 27.172 8712
+-81.254 27.172 8599
+-81.128 27.172 8501
+-81.002 27.172 8411
+-80.876 27.172 8247
+-80.75 27.172 8063
+-80.624 27.172 7962
+-80.498 27.172 7843
+-80.372 27.172 7705
+-80.246 27.172 7627
+-80.12 27.172 7494
+-79.994 27.172 7295
+-79.868 27.172 7148
+-79.742 27.172 7032
+-79.616 27.172 6872
+-79.49 27.172 6788
+-79.364 27.172 6597
+-79.238 27.172 6454
+-79.112 27.172 6393
+-78.986 27.172 6300
+-78.86 27.172 6174
+-78.734 27.172 5893
+-78.608 27.172 5729
+-78.482 27.172 5643
+-78.356 27.172 5429
+-78.23 27.172 5320
+-78.104 27.172 5265
+-77.978 27.172 5089
+-77.852 27.172 4907
+-77.726 27.172 4784
+-77.6 27.172 4832
+-77.474 27.172 4762
+-77.348 27.172 4687
+-77.222 27.172 4524
+-77.096 27.172 4377
+-76.97 27.172 4272
+-76.844 27.172 4063
+-76.718 27.172 3905
+-76.592 27.172 3755
+-76.466 27.172 3556
+-76.34 27.172 3329
+-76.214 27.172 3203
+-76.088 27.172 3228
+-75.962 27.172 3280
+-75.836 27.172 3292
+-75.71 27.172 3282
+-75.584 27.172 3271
+-75.458 27.172 3267
+-75.332 27.172 3272
+-75.206 27.172 3283
+-75.08 27.172 3299
+-74.954 27.172 3318
+-74.828 27.172 3339
+-74.702 27.172 3274
+-74.576 27.172 3296
+-74.45 27.172 3318
+-74.324 27.172 3339
+-74.198 27.172 3340
+-74.072 27.172 3359
+-73.946 27.172 3350
+-73.82 27.172 3308
+-73.694 27.172 3295
+-73.568 27.172 3290
+-73.442 27.172 3300
+-73.316 27.172 3260
+-73.19 27.172 3269
+-73.064 27.172 3267
+-72.938 27.172 3259
+-72.812 27.172 3184
+-72.686 27.172 3190
+-72.56 27.172 3196
+-72.434 27.172 3201
+-72.308 27.172 3206
+-72.182 27.172 3211
+-72.056 27.172 3215
+-71.93 27.172 3220
+-71.804 27.172 3224
+-71.678 27.172 3125
+-71.552 27.172 3073
+-71.426 27.172 3054
+-71.3 27.172 3039
+-71.174 27.172 3039
+-71.048 27.172 3040
+-70.922 27.172 3040
+-70.796 27.172 3040
+-70.67 27.172 3040
+-70.544 27.172 3040
+-70.418 27.172 3041
+-70.292 27.172 3041
+-70.166 27.172 3041
+-70.04 27.172 3041
+-69.914 27.172 3041
+-69.788 27.172 3041
+-69.662 27.172 3041
+-69.536 27.172 3041
+-69.41 27.172 3041
+-69.284 27.172 2967
+-69.158 27.172 2967
+-69.032 27.172 2966
+-68.906 27.172 2966
+-68.78 27.172 2965
+-68.654 27.172 2965
+-68.528 27.172 2964
+-68.402 27.172 2964
+-68.276 27.172 2964
+-68.15 27.172 2963
+-68.024 27.172 2963
+-67.898 27.172 2963
+-67.772 27.172 2962
+-67.646 27.172 2962
+-67.52 27.172 2962
+-67.394 27.172 2962
+-67.268 27.172 2961
+-67.142 27.172 2961
+-67.016 27.172 2961
+-66.89 27.172 2961
+-66.764 27.172 2961
+-66.638 27.172 2961
+-66.512 27.172 2960
+-66.386 27.172 2960
+-66.26 27.172 2960
+-66.134 27.172 2960
+-66.008 27.172 2960
+-65.882 27.172 2960
+-65.756 27.172 2960
+-65.63 27.172 2960
+-65.504 27.172 2960
+-65.378 27.172 2960
+-65.252 27.172 2960
+-65.126 27.172 2960
+-128 27.12 2977
+-127.874 27.12 2979
+-127.748 27.12 2980
+-127.622 27.12 2982
+-127.496 27.12 2984
+-127.37 27.12 2957
+-127.244 27.12 2945
+-127.118 27.12 2976
+-126.992 27.12 2979
+-126.866 27.12 3020
+-126.74 27.12 3024
+-126.614 27.12 2991
+-126.488 27.12 2978
+-126.362 27.12 2993
+-126.236 27.12 2998
+-126.11 27.12 3004
+-125.984 27.12 2975
+-125.858 27.12 3410
+-125.732 27.12 3410
+-125.606 27.12 3408
+-125.48 27.12 3382
+-125.354 27.12 3381
+-125.228 27.12 3366
+-125.102 27.12 3395
+-124.976 27.12 3394
+-124.85 27.12 3453
+-124.724 27.12 3451
+-124.598 27.12 3418
+-124.472 27.12 3435
+-124.346 27.12 3467
+-124.22 27.12 3460
+-124.094 27.12 3486
+-123.968 27.12 3484
+-123.842 27.12 3514
+-123.716 27.12 3494
+-123.59 27.12 3491
+-123.464 27.12 3488
+-123.338 27.12 3515
+-123.212 27.12 3511
+-123.086 27.12 3504
+-122.96 27.12 3509
+-122.834 27.12 3429
+-122.708 27.12 3441
+-122.582 27.12 3426
+-122.456 27.12 3422
+-122.33 27.12 3402
+-122.204 27.12 3451
+-122.078 27.12 3446
+-121.952 27.12 3360
+-121.826 27.12 3375
+-121.7 27.12 3375
+-121.574 27.12 3368
+-121.448 27.12 3388
+-121.322 27.12 3383
+-121.196 27.12 3377
+-121.07 27.12 3317
+-120.944 27.12 3314
+-120.818 27.12 3261
+-120.692 27.12 3266
+-120.566 27.12 3262
+-120.44 27.12 3234
+-120.314 27.12 3234
+-120.188 27.12 3230
+-120.062 27.12 3228
+-119.936 27.12 3219
+-119.81 27.12 3234
+-119.684 27.12 3233
+-119.558 27.12 3202
+-119.432 27.12 3197
+-119.306 27.12 3201
+-119.18 27.12 3221
+-119.054 27.12 3204
+-118.928 27.12 3194
+-118.802 27.12 3193
+-118.676 27.12 3197
+-118.55 27.12 3205
+-118.424 27.12 3228
+-118.298 27.12 3234
+-118.172 27.12 3272
+-118.046 27.12 3297
+-117.92 27.12 3303
+-117.794 27.12 3300
+-117.668 27.12 3331
+-117.542 27.12 3352
+-117.416 27.12 3357
+-117.29 27.12 3342
+-117.164 27.12 3331
+-117.038 27.12 3354
+-116.912 27.12 3386
+-116.786 27.12 3386
+-116.66 27.12 3372
+-116.534 27.12 3363
+-116.408 27.12 3351
+-116.282 27.12 3318
+-116.156 27.12 3303
+-116.03 27.12 3303
+-115.904 27.12 3298
+-115.778 27.12 3291
+-115.652 27.12 3275
+-115.526 27.12 3266
+-115.4 27.12 3259
+-115.274 27.12 3243
+-115.148 27.12 3223
+-115.022 27.12 3202
+-114.896 27.12 3181
+-114.77 27.12 3201
+-114.644 27.12 3204
+-114.518 27.12 3242
+-114.392 27.12 3308
+-114.266 27.12 3359
+-114.14 27.12 3430
+-114.014 27.12 3485
+-113.888 27.12 3551
+-113.762 27.12 3592
+-113.636 27.12 3647
+-113.51 27.12 3706
+-113.384 27.12 3782
+-113.258 27.12 3799
+-113.132 27.12 3776
+-113.006 27.12 3826
+-112.88 27.12 3906
+-112.754 27.12 4000
+-112.628 27.12 4030
+-112.502 27.12 4107
+-112.376 27.12 4161
+-112.25 27.12 4218
+-112.124 27.12 4246
+-111.998 27.12 4319
+-111.872 27.12 4384
+-111.746 27.12 4417
+-111.62 27.12 4459
+-111.494 27.12 4464
+-111.368 27.12 4471
+-111.242 27.12 4528
+-111.116 27.12 4617
+-110.99 27.12 4674
+-110.864 27.12 4719
+-110.738 27.12 4723
+-110.612 27.12 4721
+-110.486 27.12 4704
+-110.36 27.12 4712
+-110.234 27.12 4701
+-110.108 27.12 4648
+-109.982 27.12 4594
+-109.856 27.12 4556
+-109.73 27.12 4532
+-109.604 27.12 4514
+-109.478 27.12 4492
+-109.352 27.12 4491
+-109.226 27.12 4471
+-109.1 27.12 4445
+-108.974 27.12 4432
+-108.848 27.12 4425
+-108.722 27.12 4384
+-108.596 27.12 4300
+-108.47 27.12 4175
+-108.344 27.12 4118
+-108.218 27.12 4075
+-108.092 27.12 4052
+-107.966 27.12 4035
+-107.84 27.12 4001
+-107.714 27.12 3897
+-107.588 27.12 3825
+-107.462 27.12 3776
+-107.336 27.12 3756
+-107.21 27.12 3716
+-107.084 27.12 3672
+-106.958 27.12 3562
+-106.832 27.12 3470
+-106.706 27.12 3344
+-106.58 27.12 3203
+-106.454 27.12 3075
+-106.328 27.12 3019
+-106.202 27.12 3039
+-106.076 27.12 3067
+-105.95 27.12 3050
+-105.824 27.12 2987
+-105.698 27.12 2841
+-105.572 27.12 2709
+-105.446 27.12 2592
+-105.32 27.12 2523
+-105.194 27.12 2531
+-105.068 27.12 2587
+-104.942 27.12 2661
+-104.816 27.12 2745
+-104.69 27.12 2828
+-104.564 27.12 2901
+-104.438 27.12 2947
+-104.312 27.12 2985
+-104.186 27.12 3024
+-104.06 27.12 2979
+-103.934 27.12 3010
+-103.808 27.12 3068
+-103.682 27.12 3094
+-103.556 27.12 3081
+-103.43 27.12 3098
+-103.304 27.12 3117
+-103.178 27.12 3116
+-103.052 27.12 3131
+-102.926 27.12 3144
+-102.8 27.12 3156
+-102.674 27.12 3168
+-102.548 27.12 3178
+-102.422 27.12 3187
+-102.296 27.12 3135
+-102.17 27.12 3134
+-102.044 27.12 3141
+-101.918 27.12 3148
+-101.792 27.12 3128
+-101.666 27.12 3135
+-101.54 27.12 3191
+-101.414 27.12 3198
+-101.288 27.12 3209
+-101.162 27.12 3199
+-101.036 27.12 3205
+-100.91 27.12 3211
+-100.784 27.12 3216
+-100.658 27.12 3214
+-100.532 27.12 3220
+-100.406 27.12 3209
+-100.28 27.12 3214
+-100.154 27.12 3149
+-100.028 27.12 3153
+-99.902 27.12 3157
+-99.776 27.12 3160
+-99.65 27.12 3163
+-99.524 27.12 3166
+-99.398 27.12 3130
+-99.272 27.12 3253
+-99.146 27.12 3153
+-99.02 27.12 3165
+-98.894 27.12 3167
+-98.768 27.12 3170
+-98.642 27.12 3172
+-98.516 27.12 3174
+-98.39 27.12 3176
+-98.264 27.12 3179
+-98.138 27.12 3181
+-98.012 27.12 3183
+-97.886 27.12 3110
+-97.76 27.12 3111
+-97.634 27.12 3009
+-97.508 27.12 3007
+-97.382 27.12 3005
+-97.256 27.12 3070
+-97.13 27.12 2997
+-97.004 27.12 2858
+-96.878 27.12 2746
+-96.752 27.12 2738
+-96.626 27.12 2896
+-96.5 27.12 2837
+-96.374 27.12 2833
+-96.248 27.12 2893
+-96.122 27.12 3058
+-95.996 27.12 3084
+-95.87 27.12 3086
+-95.744 27.12 3088
+-95.618 27.12 3090
+-95.492 27.12 3091
+-95.366 27.12 3093
+-95.24 27.12 3335
+-95.114 27.12 3334
+-94.988 27.12 3333
+-94.862 27.12 3332
+-94.736 27.12 3331
+-94.61 27.12 3330
+-94.484 27.12 3329
+-94.358 27.12 3328
+-94.232 27.12 3326
+-94.106 27.12 3325
+-93.98 27.12 3362
+-93.854 27.12 3360
+-93.728 27.12 3357
+-93.602 27.12 3354
+-93.476 27.12 3351
+-93.35 27.12 3348
+-93.224 27.12 3345
+-93.098 27.12 3529
+-92.972 27.12 3524
+-92.846 27.12 3519
+-92.72 27.12 3513
+-92.594 27.12 3507
+-92.468 27.12 3501
+-92.342 27.12 3494
+-92.216 27.12 3486
+-92.09 27.12 3478
+-91.964 27.12 3468
+-91.838 27.12 3458
+-91.712 27.12 3447
+-91.586 27.12 3435
+-91.46 27.12 3421
+-91.334 27.12 3434
+-91.208 27.12 3449
+-91.082 27.12 3462
+-90.956 27.12 3437
+-90.83 27.12 3410
+-90.704 27.12 3378
+-90.578 27.12 3342
+-90.452 27.12 3307
+-90.326 27.12 3320
+-90.2 27.12 3263
+-90.074 27.12 3197
+-89.948 27.12 3119
+-89.822 27.12 3029
+-89.696 27.12 2984
+-89.57 27.12 2871
+-89.444 27.12 2774
+-89.318 27.12 2707
+-89.192 27.12 2707
+-89.066 27.12 2802
+-88.94 27.12 2991
+-88.814 27.12 3149
+-88.688 27.12 3238
+-88.562 27.12 3235
+-88.436 27.12 3152
+-88.31 27.12 3111
+-88.184 27.12 3237
+-88.058 27.12 3498
+-87.932 27.12 3752
+-87.806 27.12 3957
+-87.68 27.12 4144
+-87.554 27.12 4231
+-87.428 27.12 4316
+-87.302 27.12 4446
+-87.176 27.12 4611
+-87.05 27.12 4711
+-86.924 27.12 4853
+-86.798 27.12 4939
+-86.672 27.12 5043
+-86.546 27.12 5119
+-86.42 27.12 5219
+-86.294 27.12 5300
+-86.168 27.12 5270
+-86.042 27.12 5416
+-85.916 27.12 5627
+-85.79 27.12 5686
+-85.664 27.12 5925
+-85.538 27.12 6125
+-85.412 27.12 6297
+-85.286 27.12 6419
+-85.16 27.12 6404
+-85.034 27.12 6621
+-84.908 27.12 6744
+-84.782 27.12 6874
+-84.656 27.12 7037
+-84.53 27.12 7184
+-84.404 27.12 7275
+-84.278 27.12 7428
+-84.152 27.12 7518
+-84.026 27.12 7676
+-83.9 27.12 7779
+-83.774 27.12 7944
+-83.648 27.12 8143
+-83.522 27.12 8235
+-83.396 27.12 8353
+-83.27 27.12 8424
+-83.144 27.12 8566
+-83.018 27.12 8677
+-82.892 27.12 8809
+-82.766 27.12 8865
+-82.64 27.12 8977
+-82.514 27.12 9019
+-82.388 27.12 9117
+-82.262 27.12 9119
+-82.136 27.12 9104
+-82.01 27.12 9089
+-81.884 27.12 9052
+-81.758 27.12 8993
+-81.632 27.12 8901
+-81.506 27.12 8800
+-81.38 27.12 8665
+-81.254 27.12 8569
+-81.128 27.12 8471
+-81.002 27.12 8382
+-80.876 27.12 8242
+-80.75 27.12 8058
+-80.624 27.12 7992
+-80.498 27.12 7836
+-80.372 27.12 7737
+-80.246 27.12 7596
+-80.12 27.12 7446
+-79.994 27.12 7261
+-79.868 27.12 7102
+-79.742 27.12 6977
+-79.616 27.12 6923
+-79.49 27.12 6765
+-79.364 27.12 6591
+-79.238 27.12 6457
+-79.112 27.12 6351
+-78.986 27.12 6236
+-78.86 27.12 6194
+-78.734 27.12 5953
+-78.608 27.12 5776
+-78.482 27.12 5601
+-78.356 27.12 5427
+-78.23 27.12 5305
+-78.104 27.12 5206
+-77.978 27.12 5038
+-77.852 27.12 4872
+-77.726 27.12 4856
+-77.6 27.12 4817
+-77.474 27.12 4731
+-77.348 27.12 4603
+-77.222 27.12 4471
+-77.096 27.12 4376
+-76.97 27.12 4262
+-76.844 27.12 4069
+-76.718 27.12 3913
+-76.592 27.12 3779
+-76.466 27.12 3633
+-76.34 27.12 3489
+-76.214 27.12 3373
+-76.088 27.12 3355
+-75.962 27.12 3355
+-75.836 27.12 3353
+-75.71 27.12 3342
+-75.584 27.12 3329
+-75.458 27.12 3320
+-75.332 27.12 3319
+-75.206 27.12 3324
+-75.08 27.12 3334
+-74.954 27.12 3348
+-74.828 27.12 3364
+-74.702 27.12 3291
+-74.576 27.12 3310
+-74.45 27.12 3330
+-74.324 27.12 3349
+-74.198 27.12 3368
+-74.072 27.12 3366
+-73.946 27.12 3383
+-73.82 27.12 3372
+-73.694 27.12 3298
+-73.568 27.12 3289
+-73.442 27.12 3299
+-73.316 27.12 3308
+-73.19 27.12 3271
+-73.064 27.12 3279
+-72.938 27.12 3277
+-72.812 27.12 3268
+-72.686 27.12 3190
+-72.56 27.12 3196
+-72.434 27.12 3201
+-72.308 27.12 3206
+-72.182 27.12 3211
+-72.056 27.12 3215
+-71.93 27.12 3219
+-71.804 27.12 3120
+-71.678 27.12 3067
+-71.552 27.12 3034
+-71.426 27.12 3035
+-71.3 27.12 3035
+-71.174 27.12 3034
+-71.048 27.12 3034
+-70.922 27.12 3035
+-70.796 27.12 3035
+-70.67 27.12 3035
+-70.544 27.12 3035
+-70.418 27.12 3035
+-70.292 27.12 3036
+-70.166 27.12 3036
+-70.04 27.12 3036
+-69.914 27.12 3036
+-69.788 27.12 3036
+-69.662 27.12 3037
+-69.536 27.12 3037
+-69.41 27.12 3037
+-69.284 27.12 3037
+-69.158 27.12 2962
+-69.032 27.12 2961
+-68.906 27.12 2961
+-68.78 27.12 2961
+-68.654 27.12 2960
+-68.528 27.12 2960
+-68.402 27.12 2960
+-68.276 27.12 2959
+-68.15 27.12 2959
+-68.024 27.12 2959
+-67.898 27.12 2959
+-67.772 27.12 2958
+-67.646 27.12 2958
+-67.52 27.12 2958
+-67.394 27.12 2958
+-67.268 27.12 2958
+-67.142 27.12 2958
+-67.016 27.12 2958
+-66.89 27.12 2957
+-66.764 27.12 2957
+-66.638 27.12 2957
+-66.512 27.12 2957
+-66.386 27.12 2957
+-66.26 27.12 2957
+-66.134 27.12 2957
+-66.008 27.12 2957
+-65.882 27.12 2957
+-65.756 27.12 2957
+-65.63 27.12 2957
+-65.504 27.12 2957
+-65.378 27.12 2957
+-65.252 27.12 2957
+-65.126 27.12 2957
+-128 27.068 2983
+-127.874 27.068 2984
+-127.748 27.068 2986
+-127.622 27.068 2987
+-127.496 27.068 2961
+-127.37 27.068 2947
+-127.244 27.068 2978
+-127.118 27.068 2982
+-126.992 27.068 3022
+-126.866 27.068 3026
+-126.74 27.068 2992
+-126.614 27.068 2978
+-126.488 27.068 2993
+-126.362 27.068 2998
+-126.236 27.068 3003
+-126.11 27.068 2974
+-125.984 27.068 3411
+-125.858 27.068 3411
+-125.732 27.068 3410
+-125.606 27.068 3383
+-125.48 27.068 3382
+-125.354 27.068 3367
+-125.228 27.068 3396
+-125.102 27.068 3395
+-124.976 27.068 3454
+-124.85 27.068 3453
+-124.724 27.068 3420
+-124.598 27.068 3437
+-124.472 27.068 3469
+-124.346 27.068 3463
+-124.22 27.068 3490
+-124.094 27.068 3487
+-123.968 27.068 3518
+-123.842 27.068 3498
+-123.716 27.068 3495
+-123.59 27.068 3492
+-123.464 27.068 3520
+-123.338 27.068 3517
+-123.212 27.068 3510
+-123.086 27.068 3515
+-122.96 27.068 3432
+-122.834 27.068 3445
+-122.708 27.068 3429
+-122.582 27.068 3426
+-122.456 27.068 3405
+-122.33 27.068 3455
+-122.204 27.068 3451
+-122.078 27.068 3362
+-121.952 27.068 3378
+-121.826 27.068 3379
+-121.7 27.068 3371
+-121.574 27.068 3392
+-121.448 27.068 3387
+-121.322 27.068 3381
+-121.196 27.068 3318
+-121.07 27.068 3315
+-120.944 27.068 3259
+-120.818 27.068 3264
+-120.692 27.068 3259
+-120.566 27.068 3230
+-120.44 27.068 3228
+-120.314 27.068 3221
+-120.188 27.068 3217
+-120.062 27.068 3204
+-119.936 27.068 3216
+-119.81 27.068 3211
+-119.684 27.068 3177
+-119.558 27.068 3170
+-119.432 27.068 3173
+-119.306 27.068 3167
+-119.18 27.068 3170
+-119.054 27.068 3152
+-118.928 27.068 3140
+-118.802 27.068 3132
+-118.676 27.068 3130
+-118.55 27.068 3148
+-118.424 27.068 3157
+-118.298 27.068 3191
+-118.172 27.068 3232
+-118.046 27.068 3254
+-117.92 27.068 3247
+-117.794 27.068 3243
+-117.668 27.068 3260
+-117.542 27.068 3289
+-117.416 27.068 3315
+-117.29 27.068 3303
+-117.164 27.068 3296
+-117.038 27.068 3307
+-116.912 27.068 3312
+-116.786 27.068 3301
+-116.66 27.068 3280
+-116.534 27.068 3264
+-116.408 27.068 3252
+-116.282 27.068 3237
+-116.156 27.068 3215
+-116.03 27.068 3218
+-115.904 27.068 3192
+-115.778 27.068 3179
+-115.652 27.068 3172
+-115.526 27.068 3167
+-115.4 27.068 3165
+-115.274 27.068 3154
+-115.148 27.068 3142
+-115.022 27.068 3130
+-114.896 27.068 3157
+-114.77 27.068 3153
+-114.644 27.068 3202
+-114.518 27.068 3250
+-114.392 27.068 3299
+-114.266 27.068 3343
+-114.14 27.068 3384
+-114.014 27.068 3437
+-113.888 27.068 3452
+-113.762 27.068 3473
+-113.636 27.068 3554
+-113.51 27.068 3642
+-113.384 27.068 3744
+-113.258 27.068 3784
+-113.132 27.068 3775
+-113.006 27.068 3798
+-112.88 27.068 3849
+-112.754 27.068 3923
+-112.628 27.068 3993
+-112.502 27.068 4075
+-112.376 27.068 4114
+-112.25 27.068 4166
+-112.124 27.068 4194
+-111.998 27.068 4255
+-111.872 27.068 4322
+-111.746 27.068 4378
+-111.62 27.068 4437
+-111.494 27.068 4443
+-111.368 27.068 4431
+-111.242 27.068 4480
+-111.116 27.068 4573
+-110.99 27.068 4624
+-110.864 27.068 4682
+-110.738 27.068 4693
+-110.612 27.068 4705
+-110.486 27.068 4689
+-110.36 27.068 4677
+-110.234 27.068 4654
+-110.108 27.068 4579
+-109.982 27.068 4510
+-109.856 27.068 4472
+-109.73 27.068 4468
+-109.604 27.068 4458
+-109.478 27.068 4466
+-109.352 27.068 4430
+-109.226 27.068 4386
+-109.1 27.068 4367
+-108.974 27.068 4367
+-108.848 27.068 4345
+-108.722 27.068 4306
+-108.596 27.068 4203
+-108.47 27.068 4125
+-108.344 27.068 4062
+-108.218 27.068 4030
+-108.092 27.068 3991
+-107.966 27.068 3970
+-107.84 27.068 3891
+-107.714 27.068 3785
+-107.588 27.068 3705
+-107.462 27.068 3662
+-107.336 27.068 3647
+-107.21 27.068 3640
+-107.084 27.068 3607
+-106.958 27.068 3513
+-106.832 27.068 3434
+-106.706 27.068 3351
+-106.58 27.068 3239
+-106.454 27.068 3146
+-106.328 27.068 3093
+-106.202 27.068 3077
+-106.076 27.068 3064
+-105.95 27.068 2982
+-105.824 27.068 2880
+-105.698 27.068 2730
+-105.572 27.068 2545
+-105.446 27.068 2380
+-105.32 27.068 2302
+-105.194 27.068 2328
+-105.068 27.068 2427
+-104.942 27.068 2547
+-104.816 27.068 2656
+-104.69 27.068 2757
+-104.564 27.068 2846
+-104.438 27.068 2919
+-104.312 27.068 2963
+-104.186 27.068 2999
+-104.06 27.068 3036
+-103.934 27.068 2987
+-103.808 27.068 3016
+-103.682 27.068 3073
+-103.556 27.068 3098
+-103.43 27.068 3083
+-103.304 27.068 3100
+-103.178 27.068 3118
+-103.052 27.068 3116
+-102.926 27.068 3131
+-102.8 27.068 3144
+-102.674 27.068 3156
+-102.548 27.068 3167
+-102.422 27.068 3177
+-102.296 27.068 3186
+-102.17 27.068 3133
+-102.044 27.068 3132
+-101.918 27.068 3139
+-101.792 27.068 3146
+-101.666 27.068 3127
+-101.54 27.068 3133
+-101.414 27.068 3190
+-101.288 27.068 3197
+-101.162 27.068 3208
+-101.036 27.068 3198
+-100.91 27.068 3204
+-100.784 27.068 3210
+-100.658 27.068 3215
+-100.532 27.068 3213
+-100.406 27.068 3219
+-100.28 27.068 3208
+-100.154 27.068 3213
+-100.028 27.068 3148
+-99.902 27.068 3152
+-99.776 27.068 3155
+-99.65 27.068 3159
+-99.524 27.068 3162
+-99.398 27.068 3165
+-99.272 27.068 3129
+-99.146 27.068 3252
+-99.02 27.068 3152
+-98.894 27.068 3164
+-98.768 27.068 3167
+-98.642 27.068 3169
+-98.516 27.068 3172
+-98.39 27.068 3174
+-98.264 27.068 3176
+-98.138 27.068 3178
+-98.012 27.068 3180
+-97.886 27.068 3182
+-97.76 27.068 3109
+-97.634 27.068 3007
+-97.508 27.068 3005
+-97.382 27.068 3003
+-97.256 27.068 3000
+-97.13 27.068 2891
+-97.004 27.068 2897
+-96.878 27.068 2876
+-96.752 27.068 2771
+-96.626 27.068 2896
+-96.5 27.068 2838
+-96.374 27.068 2903
+-96.248 27.068 2895
+-96.122 27.068 3052
+-95.996 27.068 3085
+-95.87 27.068 3087
+-95.744 27.068 3088
+-95.618 27.068 3090
+-95.492 27.068 3092
+-95.366 27.068 3126
+-95.24 27.068 3335
+-95.114 27.068 3334
+-94.988 27.068 3333
+-94.862 27.068 3332
+-94.736 27.068 3331
+-94.61 27.068 3330
+-94.484 27.068 3329
+-94.358 27.068 3327
+-94.232 27.068 3326
+-94.106 27.068 3338
+-93.98 27.068 3336
+-93.854 27.068 3334
+-93.728 27.068 3332
+-93.602 27.068 3329
+-93.476 27.068 3351
+-93.35 27.068 3347
+-93.224 27.068 3532
+-93.098 27.068 3528
+-92.972 27.068 3523
+-92.846 27.068 3518
+-92.72 27.068 3512
+-92.594 27.068 3506
+-92.468 27.068 3500
+-92.342 27.068 3493
+-92.216 27.068 3485
+-92.09 27.068 3477
+-91.964 27.068 3468
+-91.838 27.068 3458
+-91.712 27.068 3447
+-91.586 27.068 3435
+-91.46 27.068 3421
+-91.334 27.068 3444
+-91.208 27.068 3426
+-91.082 27.068 3439
+-90.956 27.068 3442
+-90.83 27.068 3416
+-90.704 27.068 3387
+-90.578 27.068 3361
+-90.452 27.068 3387
+-90.326 27.068 3344
+-90.2 27.068 3295
+-90.074 27.068 3239
+-89.948 27.068 3176
+-89.822 27.068 3106
+-89.696 27.068 3038
+-89.57 27.068 3022
+-89.444 27.068 2974
+-89.318 27.068 2941
+-89.192 27.068 2960
+-89.066 27.068 3059
+-88.94 27.068 3158
+-88.814 27.068 3243
+-88.688 27.068 3276
+-88.562 27.068 3220
+-88.436 27.068 3085
+-88.31 27.068 2994
+-88.184 27.068 3135
+-88.058 27.068 3443
+-87.932 27.068 3708
+-87.806 27.068 3901
+-87.68 27.068 4077
+-87.554 27.068 4155
+-87.428 27.068 4285
+-87.302 27.068 4415
+-87.176 27.068 4543
+-87.05 27.068 4702
+-86.924 27.068 4863
+-86.798 27.068 4950
+-86.672 27.068 5065
+-86.546 27.068 5121
+-86.42 27.068 5163
+-86.294 27.068 5258
+-86.168 27.068 5351
+-86.042 27.068 5463
+-85.916 27.068 5560
+-85.79 27.068 5671
+-85.664 27.068 5896
+-85.538 27.068 6079
+-85.412 27.068 6254
+-85.286 27.068 6374
+-85.16 27.068 6485
+-85.034 27.068 6605
+-84.908 27.068 6720
+-84.782 27.068 6857
+-84.656 27.068 6993
+-84.53 27.068 7161
+-84.404 27.068 7336
+-84.278 27.068 7338
+-84.152 27.068 7558
+-84.026 27.068 7711
+-83.9 27.068 7758
+-83.774 27.068 7910
+-83.648 27.068 8010
+-83.522 27.068 8199
+-83.396 27.068 8332
+-83.27 27.068 8421
+-83.144 27.068 8579
+-83.018 27.068 8685
+-82.892 27.068 8758
+-82.766 27.068 8831
+-82.64 27.068 8923
+-82.514 27.068 8987
+-82.388 27.068 9038
+-82.262 27.068 9075
+-82.136 27.068 9080
+-82.01 27.068 9056
+-81.884 27.068 8975
+-81.758 27.068 8941
+-81.632 27.068 8854
+-81.506 27.068 8731
+-81.38 27.068 8618
+-81.254 27.068 8535
+-81.128 27.068 8436
+-81.002 27.068 8291
+-80.876 27.068 8198
+-80.75 27.068 8071
+-80.624 27.068 7993
+-80.498 27.068 7789
+-80.372 27.068 7701
+-80.246 27.068 7592
+-80.12 27.068 7415
+-79.994 27.068 7272
+-79.868 27.068 7147
+-79.742 27.068 7031
+-79.616 27.068 6909
+-79.49 27.068 6762
+-79.364 27.068 6541
+-79.238 27.068 6381
+-79.112 27.068 6384
+-78.986 27.068 6288
+-78.86 27.068 6169
+-78.734 27.068 5982
+-78.608 27.068 5790
+-78.482 27.068 5581
+-78.356 27.068 5529
+-78.23 27.068 5274
+-78.104 27.068 5204
+-77.978 27.068 5029
+-77.852 27.068 4907
+-77.726 27.068 4817
+-77.6 27.068 4759
+-77.474 27.068 4667
+-77.348 27.068 4494
+-77.222 27.068 4340
+-77.096 27.068 4313
+-76.97 27.068 4249
+-76.844 27.068 4036
+-76.718 27.068 3918
+-76.592 27.068 3802
+-76.466 27.068 3662
+-76.34 27.068 3550
+-76.214 27.068 3489
+-76.088 27.068 3452
+-75.962 27.068 3429
+-75.836 27.068 3400
+-75.71 27.068 3380
+-75.584 27.068 3362
+-75.458 27.068 3351
+-75.332 27.068 3347
+-75.206 27.068 3349
+-75.08 27.068 3357
+-74.954 27.068 3369
+-74.828 27.068 3383
+-74.702 27.068 3399
+-74.576 27.068 3322
+-74.45 27.068 3340
+-74.324 27.068 3345
+-74.198 27.068 3362
+-74.072 27.068 3379
+-73.946 27.068 3356
+-73.82 27.068 3370
+-73.694 27.068 3321
+-73.568 27.068 3313
+-73.442 27.068 3303
+-73.316 27.068 3312
+-73.19 27.068 3262
+-73.064 27.068 3270
+-72.938 27.068 3277
+-72.812 27.068 3284
+-72.686 27.068 3277
+-72.56 27.068 3196
+-72.434 27.068 3201
+-72.308 27.068 3206
+-72.182 27.068 3211
+-72.056 27.068 3215
+-71.93 27.068 3099
+-71.804 27.068 3060
+-71.678 27.068 3028
+-71.552 27.068 3029
+-71.426 27.068 3030
+-71.3 27.068 3030
+-71.174 27.068 3030
+-71.048 27.068 3029
+-70.922 27.068 3029
+-70.796 27.068 3029
+-70.67 27.068 3030
+-70.544 27.068 3030
+-70.418 27.068 3030
+-70.292 27.068 3030
+-70.166 27.068 3031
+-70.04 27.068 3031
+-69.914 27.068 3031
+-69.788 27.068 3031
+-69.662 27.068 3032
+-69.536 27.068 3032
+-69.41 27.068 3032
+-69.284 27.068 3032
+-69.158 27.068 3033
+-69.032 27.068 2957
+-68.906 27.068 2956
+-68.78 27.068 2956
+-68.654 27.068 2956
+-68.528 27.068 2955
+-68.402 27.068 2955
+-68.276 27.068 2955
+-68.15 27.068 2955
+-68.024 27.068 2955
+-67.898 27.068 2955
+-67.772 27.068 2954
+-67.646 27.068 2954
+-67.52 27.068 2954
+-67.394 27.068 2954
+-67.268 27.068 2954
+-67.142 27.068 2954
+-67.016 27.068 2954
+-66.89 27.068 2954
+-66.764 27.068 2954
+-66.638 27.068 2954
+-66.512 27.068 2954
+-66.386 27.068 2954
+-66.26 27.068 2954
+-66.134 27.068 2954
+-66.008 27.068 2954
+-65.882 27.068 2954
+-65.756 27.068 2954
+-65.63 27.068 2954
+-65.504 27.068 2954
+-65.378 27.068 2954
+-65.252 27.068 2954
+-65.126 27.068 2955
+-128 27.016 2988
+-127.874 27.016 2990
+-127.748 27.016 2991
+-127.622 27.016 2964
+-127.496 27.016 2949
+-127.37 27.016 2981
+-127.244 27.016 2984
+-127.118 27.016 3025
+-126.992 27.016 3028
+-126.866 27.016 2994
+-126.74 27.016 2979
+-126.614 27.016 2994
+-126.488 27.016 2998
+-126.362 27.016 3003
+-126.236 27.016 2974
+-126.11 27.016 3412
+-125.984 27.016 3412
+-125.858 27.016 3411
+-125.732 27.016 3384
+-125.606 27.016 3383
+-125.48 27.016 3368
+-125.354 27.016 3397
+-125.228 27.016 3396
+-125.102 27.016 3456
+-124.976 27.016 3454
+-124.85 27.016 3422
+-124.724 27.016 3439
+-124.598 27.016 3472
+-124.472 27.016 3465
+-124.346 27.016 3493
+-124.22 27.016 3490
+-124.094 27.016 3522
+-123.968 27.016 3501
+-123.842 27.016 3499
+-123.716 27.016 3496
+-123.59 27.016 3525
+-123.464 27.016 3522
+-123.338 27.016 3515
+-123.212 27.016 3521
+-123.086 27.016 3435
+-122.96 27.016 3448
+-122.834 27.016 3433
+-122.708 27.016 3429
+-122.582 27.016 3408
+-122.456 27.016 3460
+-122.33 27.016 3456
+-122.204 27.016 3364
+-122.078 27.016 3381
+-121.952 27.016 3381
+-121.826 27.016 3374
+-121.7 27.016 3396
+-121.574 27.016 3390
+-121.448 27.016 3385
+-121.322 27.016 3318
+-121.196 27.016 3316
+-121.07 27.016 3256
+-120.944 27.016 3261
+-120.818 27.016 3255
+-120.692 27.016 3224
+-120.566 27.016 3222
+-120.44 27.016 3213
+-120.314 27.016 3207
+-120.188 27.016 3191
+-120.062 27.016 3200
+-119.936 27.016 3193
+-119.81 27.016 3155
+-119.684 27.016 3146
+-119.558 27.016 3148
+-119.432 27.016 3138
+-119.306 27.016 3141
+-119.18 27.016 3119
+-119.054 27.016 3097
+-118.928 27.016 3068
+-118.802 27.016 3036
+-118.676 27.016 3027
+-118.55 27.016 3042
+-118.424 27.016 3092
+-118.298 27.016 3143
+-118.172 27.016 3189
+-118.046 27.016 3219
+-117.92 27.016 3228
+-117.794 27.016 3228
+-117.668 27.016 3236
+-117.542 27.016 3257
+-117.416 27.016 3280
+-117.29 27.016 3285
+-117.164 27.016 3289
+-117.038 27.016 3283
+-116.912 27.016 3277
+-116.786 27.016 3252
+-116.66 27.016 3221
+-116.534 27.016 3192
+-116.408 27.016 3158
+-116.282 27.016 3150
+-116.156 27.016 3145
+-116.03 27.016 3138
+-115.904 27.016 3127
+-115.778 27.016 3099
+-115.652 27.016 3085
+-115.526 27.016 3082
+-115.4 27.016 3100
+-115.274 27.016 3100
+-115.148 27.016 3094
+-115.022 27.016 3081
+-114.896 27.016 3067
+-114.77 27.016 3087
+-114.644 27.016 3121
+-114.518 27.016 3167
+-114.392 27.016 3224
+-114.266 27.016 3284
+-114.14 27.016 3329
+-114.014 27.016 3363
+-113.888 27.016 3348
+-113.762 27.016 3337
+-113.636 27.016 3412
+-113.51 27.016 3560
+-113.384 27.016 3680
+-113.258 27.016 3768
+-113.132 27.016 3790
+-113.006 27.016 3813
+-112.88 27.016 3847
+-112.754 27.016 3889
+-112.628 27.016 3954
+-112.502 27.016 4014
+-112.376 27.016 4064
+-112.25 27.016 4104
+-112.124 27.016 4151
+-111.998 27.016 4169
+-111.872 27.016 4222
+-111.746 27.016 4317
+-111.62 27.016 4402
+-111.494 27.016 4440
+-111.368 27.016 4447
+-111.242 27.016 4485
+-111.116 27.016 4547
+-110.99 27.016 4601
+-110.864 27.016 4637
+-110.738 27.016 4671
+-110.612 27.016 4675
+-110.486 27.016 4661
+-110.36 27.016 4615
+-110.234 27.016 4574
+-110.108 27.016 4515
+-109.982 27.016 4462
+-109.856 27.016 4435
+-109.73 27.016 4431
+-109.604 27.016 4419
+-109.478 27.016 4400
+-109.352 27.016 4373
+-109.226 27.016 4339
+-109.1 27.016 4325
+-108.974 27.016 4330
+-108.848 27.016 4298
+-108.722 27.016 4242
+-108.596 27.016 4127
+-108.47 27.016 4051
+-108.344 27.016 3993
+-108.218 27.016 3969
+-108.092 27.016 3946
+-107.966 27.016 3888
+-107.84 27.016 3819
+-107.714 27.016 3691
+-107.588 27.016 3612
+-107.462 27.016 3575
+-107.336 27.016 3577
+-107.21 27.016 3575
+-107.084 27.016 3545
+-106.958 27.016 3483
+-106.832 27.016 3413
+-106.706 27.016 3328
+-106.58 27.016 3254
+-106.454 27.016 3142
+-106.328 27.016 3090
+-106.202 27.016 3052
+-106.076 27.016 3008
+-105.95 27.016 2940
+-105.824 27.016 2820
+-105.698 27.016 2632
+-105.572 27.016 2399
+-105.446 27.016 2191
+-105.32 27.016 2105
+-105.194 27.016 2163
+-105.068 27.016 2299
+-104.942 27.016 2455
+-104.816 27.016 2596
+-104.69 27.016 2705
+-104.564 27.016 2800
+-104.438 27.016 2883
+-104.312 27.016 2950
+-104.186 27.016 2988
+-104.06 27.016 3019
+-103.934 27.016 3053
+-103.808 27.016 2998
+-103.682 27.016 3025
+-103.556 27.016 3081
+-103.43 27.016 3104
+-103.304 27.016 3087
+-103.178 27.016 3104
+-103.052 27.016 3121
+-102.926 27.016 3118
+-102.8 27.016 3132
+-102.674 27.016 3144
+-102.548 27.016 3156
+-102.422 27.016 3167
+-102.296 27.016 3177
+-102.17 27.016 3186
+-102.044 27.016 3133
+-101.918 27.016 3131
+-101.792 27.016 3138
+-101.666 27.016 3145
+-101.54 27.016 3126
+-101.414 27.016 3132
+-101.288 27.016 3189
+-101.162 27.016 3196
+-101.036 27.016 3208
+-100.91 27.016 3197
+-100.784 27.016 3203
+-100.658 27.016 3209
+-100.532 27.016 3214
+-100.406 27.016 3213
+-100.28 27.016 3218
+-100.154 27.016 3207
+-100.028 27.016 3212
+-99.902 27.016 3147
+-99.776 27.016 3150
+-99.65 27.016 3154
+-99.524 27.016 3157
+-99.398 27.016 3161
+-99.272 27.016 3164
+-99.146 27.016 3127
+-99.02 27.016 3251
+-98.894 27.016 3152
+-98.768 27.016 3164
+-98.642 27.016 3166
+-98.516 27.016 3169
+-98.39 27.016 3171
+-98.264 27.016 3173
+-98.138 27.016 3176
+-98.012 27.016 3178
+-97.886 27.016 3180
+-97.76 27.016 3182
+-97.634 27.016 3005
+-97.508 27.016 3003
+-97.382 27.016 3000
+-97.256 27.016 2998
+-97.13 27.016 2890
+-97.004 27.016 2896
+-96.878 27.016 2875
+-96.752 27.016 2771
+-96.626 27.016 2897
+-96.5 27.016 2840
+-96.374 27.016 2905
+-96.248 27.016 2897
+-96.122 27.016 3053
+-95.996 27.016 3086
+-95.87 27.016 3087
+-95.744 27.016 3089
+-95.618 27.016 3091
+-95.492 27.016 3125
+-95.366 27.016 3126
+-95.24 27.016 3349
+-95.114 27.016 3348
+-94.988 27.016 3347
+-94.862 27.016 3346
+-94.736 27.016 3344
+-94.61 27.016 3343
+-94.484 27.016 3342
+-94.358 27.016 3340
+-94.232 27.016 3338
+-94.106 27.016 3337
+-93.98 27.016 3335
+-93.854 27.016 3333
+-93.728 27.016 3331
+-93.602 27.016 3328
+-93.476 27.016 3326
+-93.35 27.016 3323
+-93.224 27.016 3488
+-93.098 27.016 3485
+-92.972 27.016 3480
+-92.846 27.016 3517
+-92.72 27.016 3512
+-92.594 27.016 3506
+-92.468 27.016 3499
+-92.342 27.016 3493
+-92.216 27.016 3485
+-92.09 27.016 3477
+-91.964 27.016 3468
+-91.838 27.016 3459
+-91.712 27.016 3448
+-91.586 27.016 3437
+-91.46 27.016 3462
+-91.334 27.016 3447
+-91.208 27.016 3430
+-91.082 27.016 3412
+-90.956 27.016 3424
+-90.83 27.016 3425
+-90.704 27.016 3406
+-90.578 27.016 3442
+-90.452 27.016 3409
+-90.326 27.016 3372
+-90.2 27.016 3331
+-90.074 27.016 3285
+-89.948 27.016 3236
+-89.822 27.016 3193
+-89.696 27.016 3203
+-89.57 27.016 3155
+-89.444 27.016 3120
+-89.318 27.016 3131
+-89.192 27.016 3191
+-89.066 27.016 3236
+-88.94 27.016 3293
+-88.814 27.016 3334
+-88.688 27.016 3335
+-88.562 27.016 3271
+-88.436 27.016 3179
+-88.31 27.016 3116
+-88.184 27.016 3246
+-88.058 27.016 3505
+-87.932 27.016 3750
+-87.806 27.016 3875
+-87.68 27.016 3970
+-87.554 27.016 4046
+-87.428 27.016 4157
+-87.302 27.016 4333
+-87.176 27.016 4499
+-87.05 27.016 4693
+-86.924 27.016 4822
+-86.798 27.016 4947
+-86.672 27.016 5049
+-86.546 27.016 5094
+-86.42 27.016 5062
+-86.294 27.016 5194
+-86.168 27.016 5327
+-86.042 27.016 5467
+-85.916 27.016 5533
+-85.79 27.016 5666
+-85.664 27.016 5852
+-85.538 27.016 6029
+-85.412 27.016 6236
+-85.286 27.016 6282
+-85.16 27.016 6476
+-85.034 27.016 6577
+-84.908 27.016 6713
+-84.782 27.016 6815
+-84.656 27.016 7049
+-84.53 27.016 7113
+-84.404 27.016 7324
+-84.278 27.016 7443
+-84.152 27.016 7565
+-84.026 27.016 7697
+-83.9 27.016 7823
+-83.774 27.016 7879
+-83.648 27.016 8024
+-83.522 27.016 8182
+-83.396 27.016 8264
+-83.27 27.016 8371
+-83.144 27.016 8455
+-83.018 27.016 8582
+-82.892 27.016 8698
+-82.766 27.016 8808
+-82.64 27.016 8899
+-82.514 27.016 8961
+-82.388 27.016 8974
+-82.262 27.016 8995
+-82.136 27.016 9021
+-82.01 27.016 8980
+-81.884 27.016 8951
+-81.758 27.016 8886
+-81.632 27.016 8822
+-81.506 27.016 8743
+-81.38 27.016 8650
+-81.254 27.016 8507
+-81.128 27.016 8410
+-81.002 27.016 8253
+-80.876 27.016 8140
+-80.75 27.016 8016
+-80.624 27.016 7899
+-80.498 27.016 7765
+-80.372 27.016 7683
+-80.246 27.016 7474
+-80.12 27.016 7416
+-79.994 27.016 7216
+-79.868 27.016 7148
+-79.742 27.016 6993
+-79.616 27.016 6809
+-79.49 27.016 6732
+-79.364 27.016 6557
+-79.238 27.016 6445
+-79.112 27.016 6372
+-78.986 27.016 6299
+-78.86 27.016 6157
+-78.734 27.016 5972
+-78.608 27.016 5762
+-78.482 27.016 5615
+-78.356 27.016 5425
+-78.23 27.016 5304
+-78.104 27.016 5169
+-77.978 27.016 5000
+-77.852 27.016 4852
+-77.726 27.016 4720
+-77.6 27.016 4717
+-77.474 27.016 4583
+-77.348 27.016 4416
+-77.222 27.016 4204
+-77.096 27.016 4258
+-76.97 27.016 4179
+-76.844 27.016 3960
+-76.718 27.016 3852
+-76.592 27.016 3727
+-76.466 27.016 3628
+-76.34 27.016 3550
+-76.214 27.016 3526
+-76.088 27.016 3497
+-75.962 27.016 3465
+-75.836 27.016 3432
+-75.71 27.016 3403
+-75.584 27.016 3368
+-75.458 27.016 3355
+-75.332 27.016 3352
+-75.206 27.016 3356
+-75.08 27.016 3366
+-74.954 27.016 3379
+-74.828 27.016 3395
+-74.702 27.016 3411
+-74.576 27.016 3428
+-74.45 27.016 3337
+-74.324 27.016 3354
+-74.198 27.016 3371
+-74.072 27.016 3355
+-73.946 27.016 3369
+-73.82 27.016 3383
+-73.694 27.016 3395
+-73.568 27.016 3337
+-73.442 27.016 3327
+-73.316 27.016 3316
+-73.19 27.016 3265
+-73.064 27.016 3273
+-72.938 27.016 3280
+-72.812 27.016 3286
+-72.686 27.016 3293
+-72.56 27.016 3266
+-72.434 27.016 3202
+-72.308 27.016 3206
+-72.182 27.016 3211
+-72.056 27.016 3094
+-71.93 27.016 3052
+-71.804 27.016 3022
+-71.678 27.016 3023
+-71.552 27.016 3023
+-71.426 27.016 3024
+-71.3 27.016 3024
+-71.174 27.016 3025
+-71.048 27.016 3025
+-70.922 27.016 3025
+-70.796 27.016 3026
+-70.67 27.016 3026
+-70.544 27.016 3026
+-70.418 27.016 3027
+-70.292 27.016 3027
+-70.166 27.016 3027
+-70.04 27.016 3028
+-69.914 27.016 3028
+-69.788 27.016 3028
+-69.662 27.016 3029
+-69.536 27.016 3029
+-69.41 27.016 3030
+-69.284 27.016 3030
+-69.158 27.016 3030
+-69.032 27.016 3031
+-68.906 27.016 2951
+-68.78 27.016 2951
+-68.654 27.016 2951
+-68.528 27.016 2951
+-68.402 27.016 2951
+-68.276 27.016 2951
+-68.15 27.016 2951
+-68.024 27.016 2950
+-67.898 27.016 2950
+-67.772 27.016 2950
+-67.646 27.016 2950
+-67.52 27.016 2950
+-67.394 27.016 2950
+-67.268 27.016 2950
+-67.142 27.016 2950
+-67.016 27.016 2950
+-66.89 27.016 2950
+-66.764 27.016 2950
+-66.638 27.016 2950
+-66.512 27.016 2951
+-66.386 27.016 2951
+-66.26 27.016 2951
+-66.134 27.016 2951
+-66.008 27.016 2951
+-65.882 27.016 2951
+-65.756 27.016 2951
+-65.63 27.016 2951
+-65.504 27.016 2951
+-65.378 27.016 2952
+-65.252 27.016 2952
+-65.126 27.016 2952
+-128 26.964 2993
+-127.874 26.964 2995
+-127.748 26.964 2967
+-127.622 26.964 2952
+-127.496 26.964 2983
+-127.37 26.964 2986
+-127.244 26.964 3027
+-127.118 26.964 3030
+-126.992 26.964 2995
+-126.866 26.964 2980
+-126.74 26.964 2994
+-126.614 26.964 2999
+-126.488 26.964 3003
+-126.362 26.964 2973
+-126.236 26.964 3413
+-126.11 26.964 3413
+-125.984 26.964 3412
+-125.858 26.964 3385
+-125.732 26.964 3384
+-125.606 26.964 3369
+-125.48 26.964 3398
+-125.354 26.964 3397
+-125.228 26.964 3458
+-125.102 26.964 3456
+-124.976 26.964 3423
+-124.85 26.964 3440
+-124.724 26.964 3474
+-124.598 26.964 3467
+-124.472 26.964 3495
+-124.346 26.964 3493
+-124.22 26.964 3525
+-124.094 26.964 3505
+-123.968 26.964 3502
+-123.842 26.964 3500
+-123.716 26.964 3529
+-123.59 26.964 3526
+-123.464 26.964 3520
+-123.338 26.964 3526
+-123.212 26.964 3437
+-123.086 26.964 3451
+-122.96 26.964 3436
+-122.834 26.964 3432
+-122.708 26.964 3411
+-122.582 26.964 3463
+-122.456 26.964 3459
+-122.33 26.964 3366
+-122.204 26.964 3383
+-122.078 26.964 3384
+-121.952 26.964 3376
+-121.826 26.964 3399
+-121.7 26.964 3393
+-121.574 26.964 3388
+-121.448 26.964 3318
+-121.322 26.964 3316
+-121.196 26.964 3253
+-121.07 26.964 3258
+-120.944 26.964 3251
+-120.818 26.964 3219
+-120.692 26.964 3216
+-120.566 26.964 3206
+-120.44 26.964 3198
+-120.314 26.964 3180
+-120.188 26.964 3187
+-120.062 26.964 3177
+-119.936 26.964 3137
+-119.81 26.964 3125
+-119.684 26.964 3095
+-119.558 26.964 3112
+-119.432 26.964 3091
+-119.306 26.964 3093
+-119.18 26.964 3072
+-119.054 26.964 3044
+-118.928 26.964 2998
+-118.802 26.964 2949
+-118.676 26.964 2920
+-118.55 26.964 2955
+-118.424 26.964 3026
+-118.298 26.964 3094
+-118.172 26.964 3144
+-118.046 26.964 3187
+-117.92 26.964 3213
+-117.794 26.964 3222
+-117.668 26.964 3224
+-117.542 26.964 3221
+-117.416 26.964 3225
+-117.29 26.964 3249
+-117.164 26.964 3252
+-117.038 26.964 3238
+-116.912 26.964 3222
+-116.786 26.964 3202
+-116.66 26.964 3163
+-116.534 26.964 3119
+-116.408 26.964 3103
+-116.282 26.964 3092
+-116.156 26.964 3092
+-116.03 26.964 3094
+-115.904 26.964 3079
+-115.778 26.964 3031
+-115.652 26.964 2997
+-115.526 26.964 3016
+-115.4 26.964 3045
+-115.274 26.964 3049
+-115.148 26.964 3040
+-115.022 26.964 3020
+-114.896 26.964 3001
+-114.77 26.964 2995
+-114.644 26.964 3040
+-114.518 26.964 3092
+-114.392 26.964 3161
+-114.266 26.964 3239
+-114.14 26.964 3292
+-114.014 26.964 3326
+-113.888 26.964 3299
+-113.762 26.964 3245
+-113.636 26.964 3328
+-113.51 26.964 3442
+-113.384 26.964 3606
+-113.258 26.964 3734
+-113.132 26.964 3776
+-113.006 26.964 3812
+-112.88 26.964 3833
+-112.754 26.964 3863
+-112.628 26.964 3906
+-112.502 26.964 3954
+-112.376 26.964 4010
+-112.25 26.964 4057
+-112.124 26.964 4125
+-111.998 26.964 4156
+-111.872 26.964 4181
+-111.746 26.964 4259
+-111.62 26.964 4337
+-111.494 26.964 4406
+-111.368 26.964 4431
+-111.242 26.964 4461
+-111.116 26.964 4494
+-110.99 26.964 4561
+-110.864 26.964 4563
+-110.738 26.964 4598
+-110.612 26.964 4600
+-110.486 26.964 4581
+-110.36 26.964 4548
+-110.234 26.964 4511
+-110.108 26.964 4466
+-109.982 26.964 4440
+-109.856 26.964 4421
+-109.73 26.964 4412
+-109.604 26.964 4376
+-109.478 26.964 4327
+-109.352 26.964 4335
+-109.226 26.964 4329
+-109.1 26.964 4317
+-108.974 26.964 4296
+-108.848 26.964 4261
+-108.722 26.964 4208
+-108.596 26.964 4101
+-108.47 26.964 4023
+-108.344 26.964 3962
+-108.218 26.964 3953
+-108.092 26.964 3917
+-107.966 26.964 3841
+-107.84 26.964 3719
+-107.714 26.964 3635
+-107.588 26.964 3560
+-107.462 26.964 3556
+-107.336 26.964 3541
+-107.21 26.964 3547
+-107.084 26.964 3498
+-106.958 26.964 3452
+-106.832 26.964 3381
+-106.706 26.964 3260
+-106.58 26.964 3174
+-106.454 26.964 3100
+-106.328 26.964 3055
+-106.202 26.964 3010
+-106.076 26.964 2966
+-105.95 26.964 2897
+-105.824 26.964 2779
+-105.698 26.964 2587
+-105.572 26.964 2334
+-105.446 26.964 2111
+-105.32 26.964 2025
+-105.194 26.964 2095
+-105.068 26.964 2250
+-104.942 26.964 2413
+-104.816 26.964 2562
+-104.69 26.964 2685
+-104.564 26.964 2776
+-104.438 26.964 2856
+-104.312 26.964 2928
+-104.186 26.964 2986
+-104.06 26.964 3015
+-103.934 26.964 3040
+-103.808 26.964 3071
+-103.682 26.964 3010
+-103.556 26.964 3034
+-103.43 26.964 3089
+-103.304 26.964 3111
+-103.178 26.964 3092
+-103.052 26.964 3108
+-102.926 26.964 3124
+-102.8 26.964 3120
+-102.674 26.964 3134
+-102.548 26.964 3146
+-102.422 26.964 3157
+-102.296 26.964 3167
+-102.17 26.964 3177
+-102.044 26.964 3186
+-101.918 26.964 3132
+-101.792 26.964 3131
+-101.666 26.964 3138
+-101.54 26.964 3144
+-101.414 26.964 3125
+-101.288 26.964 3132
+-101.162 26.964 3189
+-101.036 26.964 3196
+-100.91 26.964 3208
+-100.784 26.964 3197
+-100.658 26.964 3203
+-100.532 26.964 3208
+-100.406 26.964 3214
+-100.28 26.964 3212
+-100.154 26.964 3218
+-100.028 26.964 3207
+-99.902 26.964 3212
+-99.776 26.964 3146
+-99.65 26.964 3149
+-99.524 26.964 3153
+-99.398 26.964 3156
+-99.272 26.964 3160
+-99.146 26.964 3163
+-99.02 26.964 3126
+-98.894 26.964 3251
+-98.768 26.964 3151
+-98.642 26.964 3164
+-98.516 26.964 3166
+-98.39 26.964 3169
+-98.264 26.964 3171
+-98.138 26.964 3173
+-98.012 26.964 3175
+-97.886 26.964 3177
+-97.76 26.964 3180
+-97.634 26.964 3073
+-97.508 26.964 3001
+-97.382 26.964 2998
+-97.256 26.964 2996
+-97.13 26.964 2889
+-97.004 26.964 2895
+-96.878 26.964 2874
+-96.752 26.964 2910
+-96.626 26.964 2897
+-96.5 26.964 2841
+-96.374 26.964 2907
+-96.248 26.964 2899
+-96.122 26.964 3054
+-95.996 26.964 3086
+-95.87 26.964 3088
+-95.744 26.964 3090
+-95.618 26.964 3124
+-95.492 26.964 3125
+-95.366 26.964 3126
+-95.24 26.964 3348
+-95.114 26.964 3347
+-94.988 26.964 3346
+-94.862 26.964 3345
+-94.736 26.964 3343
+-94.61 26.964 3342
+-94.484 26.964 3341
+-94.358 26.964 3339
+-94.232 26.964 3338
+-94.106 26.964 3336
+-93.98 26.964 3334
+-93.854 26.964 3332
+-93.728 26.964 3330
+-93.602 26.964 3328
+-93.476 26.964 3325
+-93.35 26.964 3323
+-93.224 26.964 3488
+-93.098 26.964 3484
+-92.972 26.964 3480
+-92.846 26.964 3475
+-92.72 26.964 3471
+-92.594 26.964 3466
+-92.468 26.964 3460
+-92.342 26.964 3454
+-92.216 26.964 3448
+-92.09 26.964 3441
+-91.964 26.964 3433
+-91.838 26.964 3425
+-91.712 26.964 3455
+-91.586 26.964 3445
+-91.46 26.964 3465
+-91.334 26.964 3451
+-91.208 26.964 3436
+-91.082 26.964 3451
+-90.956 26.964 3432
+-90.83 26.964 3411
+-90.704 26.964 3487
+-90.578 26.964 3461
+-90.452 26.964 3433
+-90.326 26.964 3402
+-90.2 26.964 3368
+-90.074 26.964 3332
+-89.948 26.964 3306
+-89.822 26.964 3334
+-89.696 26.964 3297
+-89.57 26.964 3268
+-89.444 26.964 3250
+-89.318 26.964 3248
+-89.192 26.964 3309
+-89.066 26.964 3358
+-88.94 26.964 3391
+-88.814 26.964 3423
+-88.688 26.964 3416
+-88.562 26.964 3409
+-88.436 26.964 3356
+-88.31 26.964 3352
+-88.184 26.964 3458
+-88.058 26.964 3624
+-87.932 26.964 3759
+-87.806 26.964 3850
+-87.68 26.964 3868
+-87.554 26.964 3828
+-87.428 26.964 3973
+-87.302 26.964 4246
+-87.176 26.964 4463
+-87.05 26.964 4680
+-86.924 26.964 4783
+-86.798 26.964 4899
+-86.672 26.964 5008
+-86.546 26.964 5090
+-86.42 26.964 5135
+-86.294 26.964 5203
+-86.168 26.964 5277
+-86.042 26.964 5448
+-85.916 26.964 5574
+-85.79 26.964 5710
+-85.664 26.964 5813
+-85.538 26.964 6001
+-85.412 26.964 6178
+-85.286 26.964 6224
+-85.16 26.964 6442
+-85.034 26.964 6554
+-84.908 26.964 6693
+-84.782 26.964 6825
+-84.656 26.964 6917
+-84.53 26.964 7099
+-84.404 26.964 7284
+-84.278 26.964 7336
+-84.152 26.964 7540
+-84.026 26.964 7630
+-83.9 26.964 7758
+-83.774 26.964 7882
+-83.648 26.964 7964
+-83.522 26.964 8153
+-83.396 26.964 8242
+-83.27 26.964 8336
+-83.144 26.964 8444
+-83.018 26.964 8556
+-82.892 26.964 8659
+-82.766 26.964 8761
+-82.64 26.964 8866
+-82.514 26.964 8856
+-82.388 26.964 8906
+-82.262 26.964 8947
+-82.136 26.964 8941
+-82.01 26.964 8907
+-81.884 26.964 8900
+-81.758 26.964 8848
+-81.632 26.964 8734
+-81.506 26.964 8674
+-81.38 26.964 8547
+-81.254 26.964 8450
+-81.128 26.964 8372
+-81.002 26.964 8239
+-80.876 26.964 8092
+-80.75 26.964 7942
+-80.624 26.964 7885
+-80.498 26.964 7729
+-80.372 26.964 7679
+-80.246 26.964 7523
+-80.12 26.964 7350
+-79.994 26.964 7238
+-79.868 26.964 7112
+-79.742 26.964 6970
+-79.616 26.964 6834
+-79.49 26.964 6680
+-79.364 26.964 6565
+-79.238 26.964 6449
+-79.112 26.964 6264
+-78.986 26.964 6261
+-78.86 26.964 6159
+-78.734 26.964 5906
+-78.608 26.964 5688
+-78.482 26.964 5654
+-78.356 26.964 5406
+-78.23 26.964 5262
+-78.104 26.964 5122
+-77.978 26.964 4971
+-77.852 26.964 4851
+-77.726 26.964 4816
+-77.6 26.964 4682
+-77.474 26.964 4460
+-77.348 26.964 4468
+-77.222 26.964 4336
+-77.096 26.964 4243
+-76.97 26.964 4027
+-76.844 26.964 3818
+-76.718 26.964 3775
+-76.592 26.964 3602
+-76.466 26.964 3462
+-76.34 26.964 3497
+-76.214 26.964 3512
+-76.088 26.964 3503
+-75.962 26.964 3465
+-75.836 26.964 3418
+-75.71 26.964 3377
+-75.584 26.964 3351
+-75.458 26.964 3342
+-75.332 26.964 3346
+-75.206 26.964 3359
+-75.08 26.964 3377
+-74.954 26.964 3380
+-74.828 26.964 3399
+-74.702 26.964 3418
+-74.576 26.964 3437
+-74.45 26.964 3344
+-74.324 26.964 3361
+-74.198 26.964 3348
+-74.072 26.964 3363
+-73.946 26.964 3376
+-73.82 26.964 3389
+-73.694 26.964 3402
+-73.568 26.964 3326
+-73.442 26.964 3329
+-73.316 26.964 3325
+-73.19 26.964 3328
+-73.064 26.964 3276
+-72.938 26.964 3283
+-72.812 26.964 3289
+-72.686 26.964 3295
+-72.56 26.964 3301
+-72.434 26.964 3274
+-72.308 26.964 3207
+-72.182 26.964 3089
+-72.056 26.964 3031
+-71.93 26.964 3032
+-71.804 26.964 3033
+-71.678 26.964 3017
+-71.552 26.964 3018
+-71.426 26.964 3018
+-71.3 26.964 3018
+-71.174 26.964 3019
+-71.048 26.964 3019
+-70.922 26.964 3020
+-70.796 26.964 3020
+-70.67 26.964 3021
+-70.544 26.964 3021
+-70.418 26.964 3021
+-70.292 26.964 3022
+-70.166 26.964 3022
+-70.04 26.964 3023
+-69.914 26.964 3023
+-69.788 26.964 3023
+-69.662 26.964 3024
+-69.536 26.964 3024
+-69.41 26.964 3025
+-69.284 26.964 3025
+-69.158 26.964 3026
+-69.032 26.964 3026
+-68.906 26.964 3027
+-68.78 26.964 2946
+-68.654 26.964 2946
+-68.528 26.964 2946
+-68.402 26.964 2946
+-68.276 26.964 2946
+-68.15 26.964 2946
+-68.024 26.964 2946
+-67.898 26.964 2946
+-67.772 26.964 2946
+-67.646 26.964 2946
+-67.52 26.964 2946
+-67.394 26.964 2946
+-67.268 26.964 2946
+-67.142 26.964 2947
+-67.016 26.964 2947
+-66.89 26.964 2947
+-66.764 26.964 2947
+-66.638 26.964 2947
+-66.512 26.964 2947
+-66.386 26.964 2947
+-66.26 26.964 2947
+-66.134 26.964 2948
+-66.008 26.964 2948
+-65.882 26.964 2948
+-65.756 26.964 2948
+-65.63 26.964 2948
+-65.504 26.964 2948
+-65.378 26.964 2949
+-65.252 26.964 2949
+-65.126 26.964 2949
+-128 26.912 2998
+-127.874 26.912 2970
+-127.748 26.912 2954
+-127.622 26.912 2985
+-127.496 26.912 2988
+-127.37 26.912 3029
+-127.244 26.912 3032
+-127.118 26.912 2997
+-126.992 26.912 2981
+-126.866 26.912 2995
+-126.74 26.912 2999
+-126.614 26.912 3004
+-126.488 26.912 2973
+-126.362 26.912 3414
+-126.236 26.912 3415
+-126.11 26.912 3414
+-125.984 26.912 3386
+-125.858 26.912 3385
+-125.732 26.912 3370
+-125.606 26.912 3399
+-125.48 26.912 3398
+-125.354 26.912 3459
+-125.228 26.912 3458
+-125.102 26.912 3424
+-124.976 26.912 3442
+-124.85 26.912 3477
+-124.724 26.912 3470
+-124.598 26.912 3498
+-124.472 26.912 3496
+-124.346 26.912 3529
+-124.22 26.912 3508
+-124.094 26.912 3506
+-123.968 26.912 3503
+-123.842 26.912 3533
+-123.716 26.912 3531
+-123.59 26.912 3524
+-123.464 26.912 3531
+-123.338 26.912 3440
+-123.212 26.912 3454
+-123.086 26.912 3438
+-122.96 26.912 3435
+-122.834 26.912 3413
+-122.708 26.912 3467
+-122.582 26.912 3463
+-122.456 26.912 3368
+-122.33 26.912 3385
+-122.204 26.912 3387
+-122.078 26.912 3379
+-121.952 26.912 3402
+-121.826 26.912 3396
+-121.7 26.912 3391
+-121.574 26.912 3318
+-121.448 26.912 3316
+-121.322 26.912 3250
+-121.196 26.912 3255
+-121.07 26.912 3248
+-120.944 26.912 3215
+-120.818 26.912 3210
+-120.692 26.912 3200
+-120.566 26.912 3191
+-120.44 26.912 3172
+-120.314 26.912 3177
+-120.188 26.912 3165
+-120.062 26.912 3121
+-119.936 26.912 3107
+-119.81 26.912 3074
+-119.684 26.912 3087
+-119.558 26.912 3064
+-119.432 26.912 3046
+-119.306 26.912 3019
+-119.18 26.912 3004
+-119.054 26.912 2983
+-118.928 26.912 2960
+-118.802 26.912 2907
+-118.676 26.912 2882
+-118.55 26.912 2914
+-118.424 26.912 2985
+-118.298 26.912 3049
+-118.172 26.912 3101
+-118.046 26.912 3147
+-117.92 26.912 3174
+-117.794 26.912 3187
+-117.668 26.912 3180
+-117.542 26.912 3171
+-117.416 26.912 3174
+-117.29 26.912 3173
+-117.164 26.912 3192
+-117.038 26.912 3188
+-116.912 26.912 3170
+-116.786 26.912 3147
+-116.66 26.912 3102
+-116.534 26.912 3058
+-116.408 26.912 3048
+-116.282 26.912 3068
+-116.156 26.912 3085
+-116.03 26.912 3080
+-115.904 26.912 3056
+-115.778 26.912 2996
+-115.652 26.912 2960
+-115.526 26.912 2984
+-115.4 26.912 3006
+-115.274 26.912 3007
+-115.148 26.912 2971
+-115.022 26.912 2935
+-114.896 26.912 2912
+-114.77 26.912 2888
+-114.644 26.912 2903
+-114.518 26.912 2969
+-114.392 26.912 3046
+-114.266 26.912 3158
+-114.14 26.912 3232
+-114.014 26.912 3294
+-113.888 26.912 3303
+-113.762 26.912 3301
+-113.636 26.912 3295
+-113.51 26.912 3376
+-113.384 26.912 3533
+-113.258 26.912 3676
+-113.132 26.912 3740
+-113.006 26.912 3777
+-112.88 26.912 3805
+-112.754 26.912 3828
+-112.628 26.912 3859
+-112.502 26.912 3914
+-112.376 26.912 3934
+-112.25 26.912 3983
+-112.124 26.912 4064
+-111.998 26.912 4117
+-111.872 26.912 4131
+-111.746 26.912 4181
+-111.62 26.912 4249
+-111.494 26.912 4331
+-111.368 26.912 4370
+-111.242 26.912 4414
+-111.116 26.912 4443
+-110.99 26.912 4464
+-110.864 26.912 4500
+-110.738 26.912 4544
+-110.612 26.912 4508
+-110.486 26.912 4498
+-110.36 26.912 4463
+-110.234 26.912 4432
+-110.108 26.912 4419
+-109.982 26.912 4381
+-109.856 26.912 4374
+-109.73 26.912 4374
+-109.604 26.912 4342
+-109.478 26.912 4315
+-109.352 26.912 4288
+-109.226 26.912 4284
+-109.1 26.912 4271
+-108.974 26.912 4243
+-108.848 26.912 4200
+-108.722 26.912 4110
+-108.596 26.912 4045
+-108.47 26.912 3973
+-108.344 26.912 3936
+-108.218 26.912 3918
+-108.092 26.912 3862
+-107.966 26.912 3761
+-107.84 26.912 3670
+-107.714 26.912 3607
+-107.588 26.912 3524
+-107.462 26.912 3445
+-107.336 26.912 3497
+-107.21 26.912 3506
+-107.084 26.912 3451
+-106.958 26.912 3376
+-106.832 26.912 3300
+-106.706 26.912 3206
+-106.58 26.912 3106
+-106.454 26.912 3016
+-106.328 26.912 2954
+-106.202 26.912 2932
+-106.076 26.912 2909
+-105.95 26.912 2864
+-105.824 26.912 2766
+-105.698 26.912 2600
+-105.572 26.912 2381
+-105.446 26.912 2180
+-105.32 26.912 2100
+-105.194 26.912 2155
+-105.068 26.912 2286
+-104.942 26.912 2434
+-104.816 26.912 2564
+-104.69 26.912 2683
+-104.564 26.912 2778
+-104.438 26.912 2846
+-104.312 26.912 2910
+-104.186 26.912 2973
+-104.06 26.912 3022
+-103.934 26.912 3043
+-103.808 26.912 3062
+-103.682 26.912 3089
+-103.556 26.912 3023
+-103.43 26.912 3044
+-103.304 26.912 3098
+-103.178 26.912 3118
+-103.052 26.912 3097
+-102.926 26.912 3113
+-102.8 26.912 3128
+-102.674 26.912 3123
+-102.548 26.912 3136
+-102.422 26.912 3148
+-102.296 26.912 3158
+-102.17 26.912 3168
+-102.044 26.912 3178
+-101.918 26.912 3187
+-101.792 26.912 3132
+-101.666 26.912 3131
+-101.54 26.912 3137
+-101.414 26.912 3144
+-101.288 26.912 3125
+-101.162 26.912 3131
+-101.036 26.912 3189
+-100.91 26.912 3196
+-100.784 26.912 3208
+-100.658 26.912 3197
+-100.532 26.912 3203
+-100.406 26.912 3208
+-100.28 26.912 3214
+-100.154 26.912 3212
+-100.028 26.912 3217
+-99.902 26.912 3206
+-99.776 26.912 3211
+-99.65 26.912 3145
+-99.524 26.912 3149
+-99.398 26.912 3152
+-99.272 26.912 3155
+-99.146 26.912 3159
+-99.02 26.912 3162
+-98.894 26.912 3125
+-98.768 26.912 3251
+-98.642 26.912 3150
+-98.516 26.912 3163
+-98.39 26.912 3166
+-98.264 26.912 3168
+-98.138 26.912 3171
+-98.012 26.912 3173
+-97.886 26.912 3175
+-97.76 26.912 3177
+-97.634 26.912 3070
+-97.508 26.912 3068
+-97.382 26.912 2996
+-97.256 26.912 2994
+-97.13 26.912 2888
+-97.004 26.912 2894
+-96.878 26.912 2874
+-96.752 26.912 2910
+-96.626 26.912 2898
+-96.5 26.912 2842
+-96.374 26.912 2909
+-96.248 26.912 2902
+-96.122 26.912 3055
+-95.996 26.912 3087
+-95.87 26.912 3089
+-95.744 26.912 3123
+-95.618 26.912 3124
+-95.492 26.912 3125
+-95.366 26.912 3348
+-95.24 26.912 3347
+-95.114 26.912 3346
+-94.988 26.912 3345
+-94.862 26.912 3344
+-94.736 26.912 3343
+-94.61 26.912 3341
+-94.484 26.912 3340
+-94.358 26.912 3338
+-94.232 26.912 3337
+-94.106 26.912 3335
+-93.98 26.912 3333
+-93.854 26.912 3331
+-93.728 26.912 3329
+-93.602 26.912 3327
+-93.476 26.912 3325
+-93.35 26.912 3490
+-93.224 26.912 3487
+-93.098 26.912 3483
+-92.972 26.912 3479
+-92.846 26.912 3475
+-92.72 26.912 3470
+-92.594 26.912 3465
+-92.468 26.912 3460
+-92.342 26.912 3454
+-92.216 26.912 3448
+-92.09 26.912 3442
+-91.964 26.912 3434
+-91.838 26.912 3466
+-91.712 26.912 3457
+-91.586 26.912 3446
+-91.46 26.912 3437
+-91.334 26.912 3456
+-91.208 26.912 3474
+-91.082 26.912 3459
+-90.956 26.912 3442
+-90.83 26.912 3423
+-90.704 26.912 3403
+-90.578 26.912 3488
+-90.452 26.912 3464
+-90.326 26.912 3439
+-90.2 26.912 3412
+-90.074 26.912 3391
+-89.948 26.912 3431
+-89.822 26.912 3404
+-89.696 26.912 3380
+-89.57 26.912 3362
+-89.444 26.912 3354
+-89.318 26.912 3356
+-89.192 26.912 3369
+-89.066 26.912 3440
+-88.94 26.912 3494
+-88.814 26.912 3507
+-88.688 26.912 3547
+-88.562 26.912 3535
+-88.436 26.912 3527
+-88.31 26.912 3553
+-88.184 26.912 3624
+-88.058 26.912 3714
+-87.932 26.912 3815
+-87.806 26.912 3845
+-87.68 26.912 3792
+-87.554 26.912 3690
+-87.428 26.912 3869
+-87.302 26.912 4180
+-87.176 26.912 4409
+-87.05 26.912 4608
+-86.924 26.912 4719
+-86.798 26.912 4825
+-86.672 26.912 4944
+-86.546 26.912 5058
+-86.42 26.912 5085
+-86.294 26.912 5163
+-86.168 26.912 5257
+-86.042 26.912 5440
+-85.916 26.912 5553
+-85.79 26.912 5716
+-85.664 26.912 5861
+-85.538 26.912 6004
+-85.412 26.912 6104
+-85.286 26.912 6259
+-85.16 26.912 6452
+-85.034 26.912 6596
+-84.908 26.912 6653
+-84.782 26.912 6796
+-84.656 26.912 6897
+-84.53 26.912 7083
+-84.404 26.912 7258
+-84.278 26.912 7339
+-84.152 26.912 7476
+-84.026 26.912 7621
+-83.9 26.912 7754
+-83.774 26.912 7808
+-83.648 26.912 7968
+-83.522 26.912 8065
+-83.396 26.912 8203
+-83.27 26.912 8385
+-83.144 26.912 8379
+-83.018 26.912 8508
+-82.892 26.912 8626
+-82.766 26.912 8701
+-82.64 26.912 8763
+-82.514 26.912 8852
+-82.388 26.912 8832
+-82.262 26.912 8863
+-82.136 26.912 8906
+-82.01 26.912 8865
+-81.884 26.912 8828
+-81.758 26.912 8760
+-81.632 26.912 8732
+-81.506 26.912 8637
+-81.38 26.912 8548
+-81.254 26.912 8457
+-81.128 26.912 8302
+-81.002 26.912 8162
+-80.876 26.912 8066
+-80.75 26.912 7932
+-80.624 26.912 7863
+-80.498 26.912 7750
+-80.372 26.912 7650
+-80.246 26.912 7536
+-80.12 26.912 7337
+-79.994 26.912 7153
+-79.868 26.912 7013
+-79.742 26.912 6943
+-79.616 26.912 6858
+-79.49 26.912 6708
+-79.364 26.912 6554
+-79.238 26.912 6404
+-79.112 26.912 6278
+-78.986 26.912 6113
+-78.86 26.912 6170
+-78.734 26.912 5987
+-78.608 26.912 5824
+-78.482 26.912 5689
+-78.356 26.912 5478
+-78.23 26.912 5230
+-78.104 26.912 5103
+-77.978 26.912 4960
+-77.852 26.912 4854
+-77.726 26.912 4783
+-77.6 26.912 4708
+-77.474 26.912 4570
+-77.348 26.912 4504
+-77.222 26.912 4400
+-77.096 26.912 4210
+-76.97 26.912 3902
+-76.844 26.912 3690
+-76.718 26.912 3738
+-76.592 26.912 3518
+-76.466 26.912 3326
+-76.34 26.912 3427
+-76.214 26.912 3520
+-76.088 26.912 3485
+-75.962 26.912 3427
+-75.836 26.912 3354
+-75.71 26.912 3296
+-75.584 26.912 3269
+-75.458 26.912 3274
+-75.332 26.912 3297
+-75.206 26.912 3328
+-75.08 26.912 3359
+-74.954 26.912 3389
+-74.828 26.912 3416
+-74.702 26.912 3440
+-74.576 26.912 3437
+-74.45 26.912 3456
+-74.324 26.912 3340
+-74.198 26.912 3355
+-74.072 26.912 3370
+-73.946 26.912 3384
+-73.82 26.912 3396
+-73.694 26.912 3408
+-73.568 26.912 3394
+-73.442 26.912 3341
+-73.316 26.912 3342
+-73.19 26.912 3337
+-73.064 26.912 3337
+-72.938 26.912 3286
+-72.812 26.912 3292
+-72.686 26.912 3298
+-72.56 26.912 3304
+-72.434 26.912 3187
+-72.308 26.912 3111
+-72.182 26.912 3085
+-72.056 26.912 3025
+-71.93 26.912 3026
+-71.804 26.912 3027
+-71.678 26.912 3027
+-71.552 26.912 3012
+-71.426 26.912 3012
+-71.3 26.912 3012
+-71.174 26.912 3013
+-71.048 26.912 3013
+-70.922 26.912 3014
+-70.796 26.912 3014
+-70.67 26.912 3015
+-70.544 26.912 3015
+-70.418 26.912 3016
+-70.292 26.912 3016
+-70.166 26.912 3017
+-70.04 26.912 3017
+-69.914 26.912 3018
+-69.788 26.912 3018
+-69.662 26.912 3019
+-69.536 26.912 3019
+-69.41 26.912 3020
+-69.284 26.912 3020
+-69.158 26.912 3021
+-69.032 26.912 3021
+-68.906 26.912 3022
+-68.78 26.912 3023
+-68.654 26.912 2941
+-68.528 26.912 2941
+-68.402 26.912 2941
+-68.276 26.912 2942
+-68.15 26.912 2942
+-68.024 26.912 2942
+-67.898 26.912 2942
+-67.772 26.912 2942
+-67.646 26.912 2942
+-67.52 26.912 2942
+-67.394 26.912 2942
+-67.268 26.912 2943
+-67.142 26.912 2943
+-67.016 26.912 2943
+-66.89 26.912 2943
+-66.764 26.912 2943
+-66.638 26.912 2944
+-66.512 26.912 2944
+-66.386 26.912 2944
+-66.26 26.912 2944
+-66.134 26.912 2944
+-66.008 26.912 2945
+-65.882 26.912 2945
+-65.756 26.912 2945
+-65.63 26.912 2945
+-65.504 26.912 2946
+-65.378 26.912 2946
+-65.252 26.912 2946
+-65.126 26.912 2946
+-128 26.86 2972
+-127.874 26.86 2956
+-127.748 26.86 2988
+-127.622 26.86 2990
+-127.496 26.86 3032
+-127.37 26.86 3034
+-127.244 26.86 2998
+-127.118 26.86 2982
+-126.992 26.86 2996
+-126.866 26.86 3000
+-126.74 26.86 3004
+-126.614 26.86 2972
+-126.488 26.86 3416
+-126.362 26.86 3416
+-126.236 26.86 3415
+-126.11 26.86 3387
+-125.984 26.86 3386
+-125.858 26.86 3371
+-125.732 26.86 3400
+-125.606 26.86 3399
+-125.48 26.86 3461
+-125.354 26.86 3459
+-125.228 26.86 3426
+-125.102 26.86 3444
+-124.976 26.86 3479
+-124.85 26.86 3472
+-124.724 26.86 3501
+-124.598 26.86 3499
+-124.472 26.86 3532
+-124.346 26.86 3511
+-124.22 26.86 3509
+-124.094 26.86 3507
+-123.968 26.86 3537
+-123.842 26.86 3535
+-123.716 26.86 3528
+-123.59 26.86 3535
+-123.464 26.86 3442
+-123.338 26.86 3457
+-123.212 26.86 3441
+-123.086 26.86 3437
+-122.96 26.86 3415
+-122.834 26.86 3470
+-122.708 26.86 3466
+-122.582 26.86 3369
+-122.456 26.86 3388
+-122.33 26.86 3389
+-122.204 26.86 3381
+-122.078 26.86 3405
+-121.952 26.86 3399
+-121.826 26.86 3394
+-121.7 26.86 3318
+-121.574 26.86 3316
+-121.448 26.86 3248
+-121.322 26.86 3252
+-121.196 26.86 3245
+-121.07 26.86 3211
+-120.944 26.86 3207
+-120.818 26.86 3195
+-120.692 26.86 3185
+-120.566 26.86 3165
+-120.44 26.86 3170
+-120.314 26.86 3156
+-120.188 26.86 3110
+-120.062 26.86 3094
+-119.936 26.86 3058
+-119.81 26.86 3067
+-119.684 26.86 3039
+-119.558 26.86 3017
+-119.432 26.86 2986
+-119.306 26.86 2972
+-119.18 26.86 2960
+-119.054 26.86 2948
+-118.928 26.86 2933
+-118.802 26.86 2912
+-118.676 26.86 2902
+-118.55 26.86 2924
+-118.424 26.86 2968
+-118.298 26.86 3015
+-118.172 26.86 3053
+-118.046 26.86 3095
+-117.92 26.86 3119
+-117.794 26.86 3121
+-117.668 26.86 3113
+-117.542 26.86 3106
+-117.416 26.86 3095
+-117.29 26.86 3107
+-117.164 26.86 3122
+-117.038 26.86 3141
+-116.912 26.86 3132
+-116.786 26.86 3106
+-116.66 26.86 3058
+-116.534 26.86 3029
+-116.408 26.86 3027
+-116.282 26.86 3034
+-116.156 26.86 3068
+-116.03 26.86 3065
+-115.904 26.86 3044
+-115.778 26.86 3008
+-115.652 26.86 2981
+-115.526 26.86 2986
+-115.4 26.86 2985
+-115.274 26.86 2956
+-115.148 26.86 2915
+-115.022 26.86 2861
+-114.896 26.86 2812
+-114.77 26.86 2744
+-114.644 26.86 2744
+-114.518 26.86 2813
+-114.392 26.86 2928
+-114.266 26.86 3072
+-114.14 26.86 3180
+-114.014 26.86 3268
+-113.888 26.86 3310
+-113.762 26.86 3322
+-113.636 26.86 3329
+-113.51 26.86 3385
+-113.384 26.86 3517
+-113.258 26.86 3649
+-113.132 26.86 3704
+-113.006 26.86 3739
+-112.88 26.86 3750
+-112.754 26.86 3765
+-112.628 26.86 3813
+-112.502 26.86 3883
+-112.376 26.86 3899
+-112.25 26.86 3932
+-112.124 26.86 3997
+-111.998 26.86 4030
+-111.872 26.86 4056
+-111.746 26.86 4118
+-111.62 26.86 4174
+-111.494 26.86 4230
+-111.368 26.86 4300
+-111.242 26.86 4362
+-111.116 26.86 4393
+-110.99 26.86 4408
+-110.864 26.86 4459
+-110.738 26.86 4456
+-110.612 26.86 4441
+-110.486 26.86 4407
+-110.36 26.86 4381
+-110.234 26.86 4360
+-110.108 26.86 4337
+-109.982 26.86 4332
+-109.856 26.86 4319
+-109.73 26.86 4313
+-109.604 26.86 4293
+-109.478 26.86 4261
+-109.352 26.86 4242
+-109.226 26.86 4238
+-109.1 26.86 4217
+-108.974 26.86 4165
+-108.848 26.86 4121
+-108.722 26.86 4049
+-108.596 26.86 3992
+-108.47 26.86 3941
+-108.344 26.86 3896
+-108.218 26.86 3833
+-108.092 26.86 3773
+-107.966 26.86 3678
+-107.84 26.86 3616
+-107.714 26.86 3598
+-107.588 26.86 3541
+-107.462 26.86 3491
+-107.336 26.86 3490
+-107.21 26.86 3473
+-107.084 26.86 3393
+-106.958 26.86 3332
+-106.832 26.86 3235
+-106.706 26.86 3136
+-106.58 26.86 3009
+-106.454 26.86 2884
+-106.328 26.86 2813
+-106.202 26.86 2812
+-106.076 26.86 2840
+-105.95 26.86 2834
+-105.824 26.86 2775
+-105.698 26.86 2654
+-105.572 26.86 2492
+-105.446 26.86 2344
+-105.32 26.86 2271
+-105.194 26.86 2297
+-105.068 26.86 2386
+-104.942 26.86 2497
+-104.816 26.86 2606
+-104.69 26.86 2697
+-104.564 26.86 2786
+-104.438 26.86 2858
+-104.312 26.86 2907
+-104.186 26.86 2959
+-104.06 26.86 3012
+-103.934 26.86 3054
+-103.808 26.86 3068
+-103.682 26.86 3082
+-103.556 26.86 3107
+-103.43 26.86 3035
+-103.304 26.86 3054
+-103.178 26.86 3107
+-103.052 26.86 3126
+-102.926 26.86 3103
+-102.8 26.86 3118
+-102.674 26.86 3133
+-102.548 26.86 3127
+-102.422 26.86 3139
+-102.296 26.86 3150
+-102.17 26.86 3160
+-102.044 26.86 3170
+-101.918 26.86 3179
+-101.792 26.86 3187
+-101.666 26.86 3132
+-101.54 26.86 3131
+-101.414 26.86 3138
+-101.288 26.86 3144
+-101.162 26.86 3125
+-101.036 26.86 3131
+-100.91 26.86 3190
+-100.784 26.86 3196
+-100.658 26.86 3208
+-100.532 26.86 3197
+-100.406 26.86 3203
+-100.28 26.86 3208
+-100.154 26.86 3214
+-100.028 26.86 3212
+-99.902 26.86 3217
+-99.776 26.86 3206
+-99.65 26.86 3211
+-99.524 26.86 3144
+-99.398 26.86 3148
+-99.272 26.86 3151
+-99.146 26.86 3155
+-99.02 26.86 3158
+-98.894 26.86 3161
+-98.768 26.86 3124
+-98.642 26.86 3251
+-98.516 26.86 3150
+-98.39 26.86 3163
+-98.264 26.86 3166
+-98.138 26.86 3168
+-98.012 26.86 3171
+-97.886 26.86 3173
+-97.76 26.86 3175
+-97.634 26.86 3068
+-97.508 26.86 3066
+-97.382 26.86 3064
+-97.256 26.86 2992
+-97.13 26.86 2888
+-97.004 26.86 2893
+-96.878 26.86 2873
+-96.752 26.86 2911
+-96.626 26.86 2898
+-96.5 26.86 2843
+-96.374 26.86 2911
+-96.248 26.86 3053
+-96.122 26.86 3056
+-95.996 26.86 3088
+-95.87 26.86 3122
+-95.744 26.86 3123
+-95.618 26.86 3125
+-95.492 26.86 3348
+-95.366 26.86 3347
+-95.24 26.86 3346
+-95.114 26.86 3345
+-94.988 26.86 3344
+-94.862 26.86 3343
+-94.736 26.86 3342
+-94.61 26.86 3340
+-94.484 26.86 3339
+-94.358 26.86 3337
+-94.232 26.86 3336
+-94.106 26.86 3334
+-93.98 26.86 3332
+-93.854 26.86 3330
+-93.728 26.86 3328
+-93.602 26.86 3326
+-93.476 26.86 3493
+-93.35 26.86 3490
+-93.224 26.86 3486
+-93.098 26.86 3483
+-92.972 26.86 3479
+-92.846 26.86 3475
+-92.72 26.86 3470
+-92.594 26.86 3466
+-92.468 26.86 3460
+-92.342 26.86 3455
+-92.216 26.86 3449
+-92.09 26.86 3443
+-91.964 26.86 3476
+-91.838 26.86 3468
+-91.712 26.86 3459
+-91.586 26.86 3449
+-91.46 26.86 3442
+-91.334 26.86 3431
+-91.208 26.86 3442
+-91.082 26.86 3468
+-90.956 26.86 3453
+-90.83 26.86 3437
+-90.704 26.86 3419
+-90.578 26.86 3401
+-90.452 26.86 3491
+-90.326 26.86 3470
+-90.2 26.86 3457
+-90.074 26.86 3506
+-89.948 26.86 3485
+-89.822 26.86 3466
+-89.696 26.86 3451
+-89.57 26.86 3441
+-89.444 26.86 3438
+-89.318 26.86 3442
+-89.192 26.86 3507
+-89.066 26.86 3523
+-88.94 26.86 3540
+-88.814 26.86 3604
+-88.688 26.86 3638
+-88.562 26.86 3643
+-88.436 26.86 3656
+-88.31 26.86 3684
+-88.184 26.86 3727
+-88.058 26.86 3802
+-87.932 26.86 3831
+-87.806 26.86 3812
+-87.68 26.86 3812
+-87.554 26.86 3810
+-87.428 26.86 3954
+-87.302 26.86 4198
+-87.176 26.86 4393
+-87.05 26.86 4569
+-86.924 26.86 4658
+-86.798 26.86 4699
+-86.672 26.86 4840
+-86.546 26.86 4958
+-86.42 26.86 5069
+-86.294 26.86 5091
+-86.168 26.86 5237
+-86.042 26.86 5466
+-85.916 26.86 5511
+-85.79 26.86 5690
+-85.664 26.86 5863
+-85.538 26.86 5931
+-85.412 26.86 6092
+-85.286 26.86 6232
+-85.16 26.86 6424
+-85.034 26.86 6572
+-84.908 26.86 6602
+-84.782 26.86 6751
+-84.656 26.86 6914
+-84.53 26.86 7078
+-84.404 26.86 7170
+-84.278 26.86 7316
+-84.152 26.86 7467
+-84.026 26.86 7553
+-83.9 26.86 7645
+-83.774 26.86 7810
+-83.648 26.86 7951
+-83.522 26.86 8068
+-83.396 26.86 8158
+-83.27 26.86 8272
+-83.144 26.86 8341
+-83.018 26.86 8463
+-82.892 26.86 8546
+-82.766 26.86 8630
+-82.64 26.86 8692
+-82.514 26.86 8778
+-82.388 26.86 8825
+-82.262 26.86 8793
+-82.136 26.86 8803
+-82.01 26.86 8778
+-81.884 26.86 8762
+-81.758 26.86 8719
+-81.632 26.86 8635
+-81.506 26.86 8561
+-81.38 26.86 8452
+-81.254 26.86 8390
+-81.128 26.86 8227
+-81.002 26.86 8176
+-80.876 26.86 8083
+-80.75 26.86 7921
+-80.624 26.86 7844
+-80.498 26.86 7710
+-80.372 26.86 7574
+-80.246 26.86 7513
+-80.12 26.86 7326
+-79.994 26.86 7131
+-79.868 26.86 7078
+-79.742 26.86 6935
+-79.616 26.86 6777
+-79.49 26.86 6704
+-79.364 26.86 6472
+-79.238 26.86 6439
+-79.112 26.86 6357
+-78.986 26.86 6252
+-78.86 26.86 6207
+-78.734 26.86 6047
+-78.608 26.86 5919
+-78.482 26.86 5729
+-78.356 26.86 5464
+-78.23 26.86 5220
+-78.104 26.86 5117
+-77.978 26.86 4976
+-77.852 26.86 4825
+-77.726 26.86 4761
+-77.6 26.86 4726
+-77.474 26.86 4625
+-77.348 26.86 4547
+-77.222 26.86 4439
+-77.096 26.86 4246
+-76.97 26.86 3997
+-76.844 26.86 3812
+-76.718 26.86 3779
+-76.592 26.86 3620
+-76.466 26.86 3465
+-76.34 26.86 3489
+-76.214 26.86 3527
+-76.088 26.86 3451
+-75.962 26.86 3343
+-75.836 26.86 3218
+-75.71 26.86 3134
+-75.584 26.86 3120
+-75.458 26.86 3158
+-75.332 26.86 3218
+-75.206 26.86 3278
+-75.08 26.86 3330
+-74.954 26.86 3374
+-74.828 26.86 3411
+-74.702 26.86 3441
+-74.576 26.86 3467
+-74.45 26.86 3464
+-74.324 26.86 3483
+-74.198 26.86 3362
+-74.072 26.86 3377
+-73.946 26.86 3368
+-73.82 26.86 3380
+-73.694 26.86 3390
+-73.568 26.86 3400
+-73.442 26.86 3410
+-73.316 26.86 3354
+-73.19 26.86 3355
+-73.064 26.86 3348
+-72.938 26.86 3348
+-72.812 26.86 3296
+-72.686 26.86 3301
+-72.56 26.86 3184
+-72.434 26.86 3096
+-72.308 26.86 3097
+-72.182 26.86 3108
+-72.056 26.86 3081
+-71.93 26.86 3020
+-71.804 26.86 3020
+-71.678 26.86 3021
+-71.552 26.86 3022
+-71.426 26.86 3006
+-71.3 26.86 3006
+-71.174 26.86 3007
+-71.048 26.86 3007
+-70.922 26.86 3008
+-70.796 26.86 3008
+-70.67 26.86 3009
+-70.544 26.86 3009
+-70.418 26.86 3010
+-70.292 26.86 3010
+-70.166 26.86 3011
+-70.04 26.86 3012
+-69.914 26.86 3012
+-69.788 26.86 3013
+-69.662 26.86 3013
+-69.536 26.86 3014
+-69.41 26.86 3015
+-69.284 26.86 3015
+-69.158 26.86 3016
+-69.032 26.86 3017
+-68.906 26.86 3017
+-68.78 26.86 3018
+-68.654 26.86 3019
+-68.528 26.86 2937
+-68.402 26.86 2937
+-68.276 26.86 2937
+-68.15 26.86 2937
+-68.024 26.86 2937
+-67.898 26.86 2937
+-67.772 26.86 2938
+-67.646 26.86 2938
+-67.52 26.86 2938
+-67.394 26.86 2938
+-67.268 26.86 2939
+-67.142 26.86 2939
+-67.016 26.86 2939
+-66.89 26.86 2939
+-66.764 26.86 2940
+-66.638 26.86 2940
+-66.512 26.86 2940
+-66.386 26.86 2941
+-66.26 26.86 2941
+-66.134 26.86 2941
+-66.008 26.86 2941
+-65.882 26.86 2942
+-65.756 26.86 2942
+-65.63 26.86 2942
+-65.504 26.86 2943
+-65.378 26.86 2943
+-65.252 26.86 2943
+-65.126 26.86 2943
+-128 26.808 2959
+-127.874 26.808 2990
+-127.748 26.808 2992
+-127.622 26.808 3034
+-127.496 26.808 3036
+-127.37 26.808 2999
+-127.244 26.808 2983
+-127.118 26.808 2997
+-126.992 26.808 3000
+-126.866 26.808 3004
+-126.74 26.808 2972
+-126.614 26.808 3417
+-126.488 26.808 3417
+-126.362 26.808 3416
+-126.236 26.808 3388
+-126.11 26.808 3387
+-125.984 26.808 3371
+-125.858 26.808 3401
+-125.732 26.808 3400
+-125.606 26.808 3462
+-125.48 26.808 3461
+-125.354 26.808 3427
+-125.228 26.808 3445
+-125.102 26.808 3481
+-124.976 26.808 3474
+-124.85 26.808 3503
+-124.724 26.808 3501
+-124.598 26.808 3535
+-124.472 26.808 3514
+-124.346 26.808 3512
+-124.22 26.808 3510
+-124.094 26.808 3541
+-123.968 26.808 3538
+-123.842 26.808 3532
+-123.716 26.808 3540
+-123.59 26.808 3436
+-123.464 26.808 3460
+-123.338 26.808 3341
+-123.212 26.808 3440
+-123.086 26.808 3417
+-122.96 26.808 3473
+-122.834 26.808 3469
+-122.708 26.808 3371
+-122.582 26.808 3390
+-122.456 26.808 3391
+-122.33 26.808 3383
+-122.204 26.808 3408
+-122.078 26.808 3402
+-121.952 26.808 3397
+-121.826 26.808 3319
+-121.7 26.808 3317
+-121.574 26.808 3246
+-121.448 26.808 3251
+-121.322 26.808 3244
+-121.196 26.808 3209
+-121.07 26.808 3204
+-120.944 26.808 3192
+-120.818 26.808 3182
+-120.692 26.808 3161
+-120.566 26.808 3165
+-120.44 26.808 3150
+-120.314 26.808 3103
+-120.188 26.808 3085
+-120.062 26.808 3048
+-119.936 26.808 3053
+-119.81 26.808 3021
+-119.684 26.808 2994
+-119.558 26.808 2954
+-119.432 26.808 2932
+-119.306 26.808 2914
+-119.18 26.808 2903
+-119.054 26.808 2901
+-118.928 26.808 2904
+-118.802 26.808 2909
+-118.676 26.808 2905
+-118.55 26.808 2919
+-118.424 26.808 2936
+-118.298 26.808 2976
+-118.172 26.808 2978
+-118.046 26.808 3003
+-117.92 26.808 3030
+-117.794 26.808 3034
+-117.668 26.808 3029
+-117.542 26.808 3019
+-117.416 26.808 3013
+-117.29 26.808 3029
+-117.164 26.808 3060
+-117.038 26.808 3087
+-116.912 26.808 3102
+-116.786 26.808 3074
+-116.66 26.808 3040
+-116.534 26.808 3002
+-116.408 26.808 2964
+-116.282 26.808 3006
+-116.156 26.808 3037
+-116.03 26.808 3049
+-115.904 26.808 3037
+-115.778 26.808 3015
+-115.652 26.808 2993
+-115.526 26.808 2978
+-115.4 26.808 2959
+-115.274 26.808 2911
+-115.148 26.808 2854
+-115.022 26.808 2790
+-114.896 26.808 2705
+-114.77 26.808 2609
+-114.644 26.808 2567
+-114.518 26.808 2642
+-114.392 26.808 2811
+-114.266 26.808 2985
+-114.14 26.808 3118
+-114.014 26.808 3229
+-113.888 26.808 3296
+-113.762 26.808 3324
+-113.636 26.808 3353
+-113.51 26.808 3395
+-113.384 26.808 3504
+-113.258 26.808 3599
+-113.132 26.808 3669
+-113.006 26.808 3689
+-112.88 26.808 3685
+-112.754 26.808 3678
+-112.628 26.808 3747
+-112.502 26.808 3838
+-112.376 26.808 3890
+-112.25 26.808 3921
+-112.124 26.808 3960
+-111.998 26.808 3967
+-111.872 26.808 3980
+-111.746 26.808 4022
+-111.62 26.808 4083
+-111.494 26.808 4123
+-111.368 26.808 4182
+-111.242 26.808 4222
+-111.116 26.808 4255
+-110.99 26.808 4294
+-110.864 26.808 4348
+-110.738 26.808 4333
+-110.612 26.808 4327
+-110.486 26.808 4325
+-110.36 26.808 4325
+-110.234 26.808 4301
+-110.108 26.808 4274
+-109.982 26.808 4254
+-109.856 26.808 4253
+-109.73 26.808 4232
+-109.604 26.808 4218
+-109.478 26.808 4204
+-109.352 26.808 4210
+-109.226 26.808 4192
+-109.1 26.808 4150
+-108.974 26.808 4105
+-108.848 26.808 4064
+-108.722 26.808 4001
+-108.596 26.808 3954
+-108.47 26.808 3904
+-108.344 26.808 3828
+-108.218 26.808 3766
+-108.092 26.808 3694
+-107.966 26.808 3624
+-107.84 26.808 3588
+-107.714 26.808 3588
+-107.588 26.808 3547
+-107.462 26.808 3509
+-107.336 26.808 3482
+-107.21 26.808 3429
+-107.084 26.808 3329
+-106.958 26.808 3244
+-106.832 26.808 3163
+-106.706 26.808 3064
+-106.58 26.808 2910
+-106.454 26.808 2735
+-106.328 26.808 2651
+-106.202 26.808 2692
+-106.076 26.808 2768
+-105.95 26.808 2811
+-105.824 26.808 2790
+-105.698 26.808 2717
+-105.572 26.808 2612
+-105.446 26.808 2511
+-105.32 26.808 2456
+-105.194 26.808 2456
+-105.068 26.808 2507
+-104.942 26.808 2581
+-104.816 26.808 2660
+-104.69 26.808 2737
+-104.564 26.808 2799
+-104.438 26.808 2868
+-104.312 26.808 2923
+-104.186 26.808 2958
+-104.06 26.808 3000
+-103.934 26.808 3047
+-103.808 26.808 3083
+-103.682 26.808 3091
+-103.556 26.808 3101
+-103.43 26.808 3123
+-103.304 26.808 3046
+-103.178 26.808 3064
+-103.052 26.808 3116
+-102.926 26.808 3133
+-102.8 26.808 3109
+-102.674 26.808 3124
+-102.548 26.808 3137
+-102.422 26.808 3130
+-102.296 26.808 3142
+-102.17 26.808 3153
+-102.044 26.808 3163
+-101.918 26.808 3172
+-101.792 26.808 3181
+-101.666 26.808 3189
+-101.54 26.808 3133
+-101.414 26.808 3132
+-101.288 26.808 3138
+-101.162 26.808 3144
+-101.036 26.808 3126
+-100.91 26.808 3132
+-100.784 26.808 3190
+-100.658 26.808 3197
+-100.532 26.808 3209
+-100.406 26.808 3197
+-100.28 26.808 3203
+-100.154 26.808 3209
+-100.028 26.808 3214
+-99.902 26.808 3212
+-99.776 26.808 3218
+-99.65 26.808 3207
+-99.524 26.808 3211
+-99.398 26.808 3144
+-99.272 26.808 3147
+-99.146 26.808 3151
+-99.02 26.808 3154
+-98.894 26.808 3157
+-98.768 26.808 3160
+-98.642 26.808 3123
+-98.516 26.808 3250
+-98.39 26.808 3150
+-98.264 26.808 3163
+-98.138 26.808 3166
+-98.012 26.808 3168
+-97.886 26.808 3171
+-97.76 26.808 3173
+-97.634 26.808 3065
+-97.508 26.808 3063
+-97.382 26.808 3062
+-97.256 26.808 3059
+-97.13 26.808 2960
+-97.004 26.808 2894
+-96.878 26.808 2872
+-96.752 26.808 2911
+-96.626 26.808 2899
+-96.5 26.808 2844
+-96.374 26.808 2945
+-96.248 26.808 3054
+-96.122 26.808 3057
+-95.996 26.808 3121
+-95.87 26.808 3122
+-95.744 26.808 3124
+-95.618 26.808 3349
+-95.492 26.808 3348
+-95.366 26.808 3347
+-95.24 26.808 3346
+-95.114 26.808 3345
+-94.988 26.808 3343
+-94.862 26.808 3342
+-94.736 26.808 3341
+-94.61 26.808 3340
+-94.484 26.808 3338
+-94.358 26.808 3337
+-94.232 26.808 3335
+-94.106 26.808 3333
+-93.98 26.808 3332
+-93.854 26.808 3330
+-93.728 26.808 3328
+-93.602 26.808 3463
+-93.476 26.808 3461
+-93.35 26.808 3458
+-93.224 26.808 3455
+-93.098 26.808 3452
+-92.972 26.808 3448
+-92.846 26.808 3445
+-92.72 26.808 3441
+-92.594 26.808 3437
+-92.468 26.808 3433
+-92.342 26.808 3428
+-92.216 26.808 3423
+-92.09 26.808 3455
+-91.964 26.808 3448
+-91.838 26.808 3441
+-91.712 26.808 3461
+-91.586 26.808 3456
+-91.46 26.808 3447
+-91.334 26.808 3461
+-91.208 26.808 3450
+-91.082 26.808 3439
+-90.956 26.808 3464
+-90.83 26.808 3450
+-90.704 26.808 3435
+-90.578 26.808 3505
+-90.452 26.808 3490
+-90.326 26.808 3488
+-90.2 26.808 3491
+-90.074 26.808 3475
+-89.948 26.808 3534
+-89.822 26.808 3521
+-89.696 26.808 3512
+-89.57 26.808 3507
+-89.444 26.808 3507
+-89.318 26.808 3560
+-89.192 26.808 3580
+-89.066 26.808 3594
+-88.94 26.808 3601
+-88.814 26.808 3616
+-88.688 26.808 3689
+-88.562 26.808 3729
+-88.436 26.808 3746
+-88.31 26.808 3767
+-88.184 26.808 3820
+-88.058 26.808 3847
+-87.932 26.808 3806
+-87.806 26.808 3722
+-87.68 26.808 3680
+-87.554 26.808 3813
+-87.428 26.808 4024
+-87.302 26.808 4214
+-87.176 26.808 4371
+-87.05 26.808 4538
+-86.924 26.808 4611
+-86.798 26.808 4559
+-86.672 26.808 4761
+-86.546 26.808 4818
+-86.42 26.808 5000
+-86.294 26.808 5138
+-86.168 26.808 5261
+-86.042 26.808 5472
+-85.916 26.808 5596
+-85.79 26.808 5674
+-85.664 26.808 5832
+-85.538 26.808 5959
+-85.412 26.808 6097
+-85.286 26.808 6188
+-85.16 26.808 6358
+-85.034 26.808 6528
+-84.908 26.808 6659
+-84.782 26.808 6813
+-84.656 26.808 6913
+-84.53 26.808 7047
+-84.404 26.808 7157
+-84.278 26.808 7272
+-84.152 26.808 7382
+-84.026 26.808 7544
+-83.9 26.808 7614
+-83.774 26.808 7767
+-83.648 26.808 7894
+-83.522 26.808 8047
+-83.396 26.808 8134
+-83.27 26.808 8238
+-83.144 26.808 8354
+-83.018 26.808 8477
+-82.892 26.808 8528
+-82.766 26.808 8580
+-82.64 26.808 8648
+-82.514 26.808 8709
+-82.388 26.808 8734
+-82.262 26.808 8794
+-82.136 26.808 8762
+-82.01 26.808 8755
+-81.884 26.808 8712
+-81.758 26.808 8657
+-81.632 26.808 8625
+-81.506 26.808 8547
+-81.38 26.808 8433
+-81.254 26.808 8307
+-81.128 26.808 8238
+-81.002 26.808 8165
+-80.876 26.808 8010
+-80.75 26.808 7911
+-80.624 26.808 7852
+-80.498 26.808 7688
+-80.372 26.808 7516
+-80.246 26.808 7453
+-80.12 26.808 7322
+-79.994 26.808 7117
+-79.868 26.808 7042
+-79.742 26.808 6905
+-79.616 26.808 6736
+-79.49 26.808 6636
+-79.364 26.808 6510
+-79.238 26.808 6397
+-79.112 26.808 6339
+-78.986 26.808 6261
+-78.86 26.808 6192
+-78.734 26.808 6047
+-78.608 26.808 5927
+-78.482 26.808 5724
+-78.356 26.808 5444
+-78.23 26.808 5200
+-78.104 26.808 5154
+-77.978 26.808 5010
+-77.852 26.808 4840
+-77.726 26.808 4760
+-77.6 26.808 4708
+-77.474 26.808 4624
+-77.348 26.808 4551
+-77.222 26.808 4464
+-77.096 26.808 4308
+-76.97 26.808 4156
+-76.844 26.808 3974
+-76.718 26.808 3878
+-76.592 26.808 3769
+-76.466 26.808 3671
+-76.34 26.808 3610
+-76.214 26.808 3542
+-76.088 26.808 3428
+-75.962 26.808 3201
+-75.836 26.808 2992
+-75.71 26.808 2876
+-75.584 26.808 2899
+-75.458 26.808 3003
+-75.332 26.808 3120
+-75.206 26.808 3219
+-75.08 26.808 3298
+-74.954 26.808 3358
+-74.828 26.808 3405
+-74.702 26.808 3442
+-74.576 26.808 3472
+-74.45 26.808 3497
+-74.324 26.808 3518
+-74.198 26.808 3510
+-74.072 26.808 3363
+-73.946 26.808 3376
+-73.82 26.808 3387
+-73.694 26.808 3398
+-73.568 26.808 3407
+-73.442 26.808 3416
+-73.316 26.808 3425
+-73.19 26.808 3366
+-73.064 26.808 3366
+-72.938 26.808 3359
+-72.812 26.808 3225
+-72.686 26.808 3181
+-72.56 26.808 3181
+-72.434 26.808 3182
+-72.308 26.808 3092
+-72.182 26.808 3093
+-72.056 26.808 3082
+-71.93 26.808 3066
+-71.804 26.808 3013
+-71.678 26.808 3014
+-71.552 26.808 3015
+-71.426 26.808 2980
+-71.3 26.808 3000
+-71.174 26.808 3000
+-71.048 26.808 3001
+-70.922 26.808 3001
+-70.796 26.808 3002
+-70.67 26.808 3003
+-70.544 26.808 3003
+-70.418 26.808 3004
+-70.292 26.808 3004
+-70.166 26.808 3005
+-70.04 26.808 3006
+-69.914 26.808 3006
+-69.788 26.808 3007
+-69.662 26.808 3008
+-69.536 26.808 3009
+-69.41 26.808 3009
+-69.284 26.808 3010
+-69.158 26.808 3011
+-69.032 26.808 3012
+-68.906 26.808 3012
+-68.78 26.808 3013
+-68.654 26.808 3014
+-68.528 26.808 3015
+-68.402 26.808 2932
+-68.276 26.808 2932
+-68.15 26.808 2932
+-68.024 26.808 2933
+-67.898 26.808 2933
+-67.772 26.808 2933
+-67.646 26.808 2934
+-67.52 26.808 2934
+-67.394 26.808 2934
+-67.268 26.808 2935
+-67.142 26.808 2935
+-67.016 26.808 2935
+-66.89 26.808 2936
+-66.764 26.808 2936
+-66.638 26.808 2936
+-66.512 26.808 2937
+-66.386 26.808 2937
+-66.26 26.808 2937
+-66.134 26.808 2938
+-66.008 26.808 2938
+-65.882 26.808 2938
+-65.756 26.808 2939
+-65.63 26.808 2939
+-65.504 26.808 2940
+-65.378 26.808 2940
+-65.252 26.808 2940
+-65.126 26.808 2941
+-128 26.756 2992
+-127.874 26.756 2994
+-127.748 26.756 3036
+-127.622 26.756 3038
+-127.496 26.756 3001
+-127.37 26.756 2984
+-127.244 26.756 2997
+-127.118 26.756 3001
+-126.992 26.756 3005
+-126.866 26.756 2972
+-126.74 26.756 3418
+-126.614 26.756 3418
+-126.488 26.756 3417
+-126.362 26.756 3389
+-126.236 26.756 3388
+-126.11 26.756 3372
+-125.984 26.756 3402
+-125.858 26.756 3401
+-125.732 26.756 3464
+-125.606 26.756 3462
+-125.48 26.756 3428
+-125.354 26.756 3447
+-125.228 26.756 3483
+-125.102 26.756 3475
+-124.976 26.756 3505
+-124.85 26.756 3503
+-124.724 26.756 3538
+-124.598 26.756 3516
+-124.472 26.756 3514
+-124.346 26.756 3513
+-124.22 26.756 3544
+-124.094 26.756 3542
+-123.968 26.756 3408
+-123.842 26.756 3416
+-123.716 26.756 3434
+-123.59 26.756 3339
+-123.464 26.756 3337
+-123.338 26.756 3324
+-123.212 26.756 3386
+-123.086 26.756 3476
+-122.96 26.756 3472
+-122.834 26.756 3373
+-122.708 26.756 3392
+-122.582 26.756 3394
+-122.456 26.756 3386
+-122.33 26.756 3410
+-122.204 26.756 3405
+-122.078 26.756 3400
+-121.952 26.756 3320
+-121.826 26.756 3318
+-121.7 26.756 3245
+-121.574 26.756 3250
+-121.448 26.756 3243
+-121.322 26.756 3207
+-121.196 26.756 3203
+-121.07 26.756 3191
+-120.944 26.756 3181
+-120.818 26.756 3159
+-120.692 26.756 3163
+-120.566 26.756 3148
+-120.44 26.756 3100
+-120.314 26.756 3081
+-120.188 26.756 3043
+-120.062 26.756 3047
+-119.936 26.756 3012
+-119.81 26.756 2980
+-119.684 26.756 2932
+-119.558 26.756 2899
+-119.432 26.756 2867
+-119.306 26.756 2839
+-119.18 26.756 2824
+-119.054 26.756 2825
+-118.928 26.756 2827
+-118.802 26.756 2851
+-118.676 26.756 2871
+-118.55 26.756 2882
+-118.424 26.756 2896
+-118.298 26.756 2901
+-118.172 26.756 2918
+-118.046 26.756 2939
+-117.92 26.756 2960
+-117.794 26.756 2964
+-117.668 26.756 2964
+-117.542 26.756 2944
+-117.416 26.756 2931
+-117.29 26.756 2954
+-117.164 26.756 2997
+-117.038 26.756 3031
+-116.912 26.756 3058
+-116.786 26.756 3033
+-116.66 26.756 3023
+-116.534 26.756 3003
+-116.408 26.756 2990
+-116.282 26.756 3003
+-116.156 26.756 3023
+-116.03 26.756 3031
+-115.904 26.756 3028
+-115.778 26.756 2989
+-115.652 26.756 2968
+-115.526 26.756 2946
+-115.4 26.756 2915
+-115.274 26.756 2860
+-115.148 26.756 2797
+-115.022 26.756 2724
+-114.896 26.756 2639
+-114.77 26.756 2543
+-114.644 26.756 2485
+-114.518 26.756 2560
+-114.392 26.756 2740
+-114.266 26.756 2914
+-114.14 26.756 3055
+-114.014 26.756 3172
+-113.888 26.756 3257
+-113.762 26.756 3309
+-113.636 26.756 3351
+-113.51 26.756 3426
+-113.384 26.756 3471
+-113.258 26.756 3573
+-113.132 26.756 3624
+-113.006 26.756 3670
+-112.88 26.756 3655
+-112.754 26.756 3628
+-112.628 26.756 3682
+-112.502 26.756 3775
+-112.376 26.756 3857
+-112.25 26.756 3891
+-112.124 26.756 3934
+-111.998 26.756 3947
+-111.872 26.756 3954
+-111.746 26.756 3965
+-111.62 26.756 3992
+-111.494 26.756 4046
+-111.368 26.756 4105
+-111.242 26.756 4172
+-111.116 26.756 4198
+-110.99 26.756 4224
+-110.864 26.756 4261
+-110.738 26.756 4262
+-110.612 26.756 4273
+-110.486 26.756 4254
+-110.36 26.756 4241
+-110.234 26.756 4200
+-110.108 26.756 4175
+-109.982 26.756 4153
+-109.856 26.756 4157
+-109.73 26.756 4154
+-109.604 26.756 4118
+-109.478 26.756 4096
+-109.352 26.756 4118
+-109.226 26.756 4108
+-109.1 26.756 4080
+-108.974 26.756 4035
+-108.848 26.756 3999
+-108.722 26.756 3959
+-108.596 26.756 3914
+-108.47 26.756 3853
+-108.344 26.756 3790
+-108.218 26.756 3707
+-108.092 26.756 3633
+-107.966 26.756 3593
+-107.84 26.756 3592
+-107.714 26.756 3586
+-107.588 26.756 3545
+-107.462 26.756 3500
+-107.336 26.756 3438
+-107.21 26.756 3336
+-107.084 26.756 3227
+-106.958 26.756 3148
+-106.832 26.756 3098
+-106.706 26.756 3018
+-106.58 26.756 2861
+-106.454 26.756 2662
+-106.328 26.756 2572
+-106.202 26.756 2636
+-106.076 26.756 2737
+-105.95 26.756 2796
+-105.824 26.756 2807
+-105.698 26.756 2768
+-105.572 26.756 2707
+-105.446 26.756 2644
+-105.32 26.756 2603
+-105.194 26.756 2596
+-105.068 26.756 2618
+-104.942 26.756 2665
+-104.816 26.756 2720
+-104.69 26.756 2776
+-104.564 26.756 2831
+-104.438 26.756 2874
+-104.312 26.756 2931
+-104.186 26.756 2975
+-104.06 26.756 2999
+-103.934 26.756 3034
+-103.808 26.756 3077
+-103.682 26.756 3108
+-103.556 26.756 3112
+-103.43 26.756 3118
+-103.304 26.756 3138
+-103.178 26.756 3057
+-103.052 26.756 3073
+-102.926 26.756 3124
+-102.8 26.756 3141
+-102.674 26.756 3114
+-102.548 26.756 3129
+-102.422 26.756 3142
+-102.296 26.756 3134
+-102.17 26.756 3145
+-102.044 26.756 3155
+-101.918 26.756 3165
+-101.792 26.756 3174
+-101.666 26.756 3182
+-101.54 26.756 3190
+-101.414 26.756 3134
+-101.288 26.756 3133
+-101.162 26.756 3139
+-101.036 26.756 3145
+-100.91 26.756 3126
+-100.784 26.756 3132
+-100.658 26.756 3191
+-100.532 26.756 3197
+-100.406 26.756 3210
+-100.28 26.756 3198
+-100.154 26.756 3204
+-100.028 26.756 3209
+-99.902 26.756 3214
+-99.776 26.756 3213
+-99.65 26.756 3218
+-99.524 26.756 3207
+-99.398 26.756 3211
+-99.272 26.756 3144
+-99.146 26.756 3147
+-99.02 26.756 3151
+-98.894 26.756 3154
+-98.768 26.756 3157
+-98.642 26.756 3160
+-98.516 26.756 3123
+-98.39 26.756 3250
+-98.264 26.756 3150
+-98.138 26.756 3164
+-98.012 26.756 3166
+-97.886 26.756 3168
+-97.76 26.756 3171
+-97.634 26.756 3063
+-97.508 26.756 3061
+-97.382 26.756 3059
+-97.256 26.756 3057
+-97.13 26.756 2959
+-97.004 26.756 2893
+-96.878 26.756 2873
+-96.752 26.756 2912
+-96.626 26.756 2899
+-96.5 26.756 2845
+-96.374 26.756 2947
+-96.248 26.756 3055
+-96.122 26.756 3058
+-95.996 26.756 3121
+-95.87 26.756 3123
+-95.744 26.756 3349
+-95.618 26.756 3348
+-95.492 26.756 3347
+-95.366 26.756 3346
+-95.24 26.756 3345
+-95.114 26.756 3344
+-94.988 26.756 3343
+-94.862 26.756 3341
+-94.736 26.756 3340
+-94.61 26.756 3339
+-94.484 26.756 3337
+-94.358 26.756 3336
+-94.232 26.756 3334
+-94.106 26.756 3333
+-93.98 26.756 3331
+-93.854 26.756 3329
+-93.728 26.756 3465
+-93.602 26.756 3463
+-93.476 26.756 3460
+-93.35 26.756 3457
+-93.224 26.756 3455
+-93.098 26.756 3452
+-92.972 26.756 3448
+-92.846 26.756 3445
+-92.72 26.756 3441
+-92.594 26.756 3437
+-92.468 26.756 3433
+-92.342 26.756 3429
+-92.216 26.756 3462
+-92.09 26.756 3456
+-91.964 26.756 3450
+-91.838 26.756 3443
+-91.712 26.756 3436
+-91.586 26.756 3436
+-91.46 26.756 3476
+-91.334 26.756 3468
+-91.208 26.756 3458
+-91.082 26.756 3448
+-90.956 26.756 3438
+-90.83 26.756 3464
+-90.704 26.756 3538
+-90.578 26.756 3526
+-90.452 26.756 3528
+-90.326 26.756 3515
+-90.2 26.756 3503
+-90.074 26.756 3587
+-89.948 26.756 3577
+-89.822 26.756 3569
+-89.696 26.756 3564
+-89.57 26.756 3562
+-89.444 26.756 3567
+-89.318 26.756 3623
+-89.192 26.756 3633
+-89.066 26.756 3646
+-88.94 26.756 3661
+-88.814 26.756 3676
+-88.688 26.756 3692
+-88.562 26.756 3750
+-88.436 26.756 3811
+-88.31 26.756 3871
+-88.184 26.756 3889
+-88.058 26.756 3872
+-87.932 26.756 3795
+-87.806 26.756 3642
+-87.68 26.756 3508
+-87.554 26.756 3722
+-87.428 26.756 4034
+-87.302 26.756 4208
+-87.176 26.756 4275
+-87.05 26.756 4445
+-86.924 26.756 4598
+-86.798 26.756 4602
+-86.672 26.756 4736
+-86.546 26.756 4901
+-86.42 26.756 5039
+-86.294 26.756 5155
+-86.168 26.756 5277
+-86.042 26.756 5464
+-85.916 26.756 5563
+-85.79 26.756 5694
+-85.664 26.756 5830
+-85.538 26.756 5982
+-85.412 26.756 6120
+-85.286 26.756 6149
+-85.16 26.756 6303
+-85.034 26.756 6517
+-84.908 26.756 6649
+-84.782 26.756 6778
+-84.656 26.756 6923
+-84.53 26.756 7025
+-84.404 26.756 7080
+-84.278 26.756 7260
+-84.152 26.756 7462
+-84.026 26.756 7536
+-83.9 26.756 7680
+-83.774 26.756 7745
+-83.648 26.756 7866
+-83.522 26.756 7988
+-83.396 26.756 8059
+-83.27 26.756 8206
+-83.144 26.756 8304
+-83.018 26.756 8405
+-82.892 26.756 8507
+-82.766 26.756 8564
+-82.64 26.756 8604
+-82.514 26.756 8642
+-82.388 26.756 8676
+-82.262 26.756 8696
+-82.136 26.756 8740
+-82.01 26.756 8693
+-81.884 26.756 8691
+-81.758 26.756 8579
+-81.632 26.756 8553
+-81.506 26.756 8488
+-81.38 26.756 8392
+-81.254 26.756 8340
+-81.128 26.756 8179
+-81.002 26.756 8096
+-80.876 26.756 7994
+-80.75 26.756 7841
+-80.624 26.756 7778
+-80.498 26.756 7650
+-80.372 26.756 7531
+-80.246 26.756 7416
+-80.12 26.756 7301
+-79.994 26.756 7113
+-79.868 26.756 6985
+-79.742 26.756 6859
+-79.616 26.756 6749
+-79.49 26.756 6630
+-79.364 26.756 6469
+-79.238 26.756 6363
+-79.112 26.756 6182
+-78.986 26.756 6192
+-78.86 26.756 6125
+-78.734 26.756 5983
+-78.608 26.756 5806
+-78.482 26.756 5700
+-78.356 26.756 5446
+-78.23 26.756 5201
+-78.104 26.756 5099
+-77.978 26.756 4947
+-77.852 26.756 4794
+-77.726 26.756 4696
+-77.6 26.756 4679
+-77.474 26.756 4624
+-77.348 26.756 4573
+-77.222 26.756 4489
+-77.096 26.756 4403
+-76.97 26.756 4266
+-76.844 26.756 4091
+-76.718 26.756 3996
+-76.592 26.756 3888
+-76.466 26.756 3802
+-76.34 26.756 3718
+-76.214 26.756 3573
+-76.088 26.756 3353
+-75.962 26.756 3059
+-75.836 26.756 2733
+-75.71 26.756 2584
+-75.584 26.756 2669
+-75.458 26.756 2854
+-75.332 26.756 3032
+-75.206 26.756 3170
+-75.08 26.756 3271
+-74.954 26.756 3346
+-74.828 26.756 3401
+-74.702 26.756 3444
+-74.576 26.756 3477
+-74.45 26.756 3484
+-74.324 26.756 3507
+-74.198 26.756 3357
+-74.072 26.756 3371
+-73.946 26.756 3383
+-73.82 26.756 3395
+-73.694 26.756 3405
+-73.568 26.756 3414
+-73.442 26.756 3423
+-73.316 26.756 3431
+-73.19 26.756 3439
+-73.064 26.756 3378
+-72.938 26.756 3257
+-72.812 26.756 3191
+-72.686 26.756 3177
+-72.56 26.756 3179
+-72.434 26.756 3179
+-72.308 26.756 3179
+-72.182 26.756 3087
+-72.056 26.756 3088
+-71.93 26.756 3077
+-71.804 26.756 3061
+-71.678 26.756 3007
+-71.552 26.756 2973
+-71.426 26.756 2974
+-71.3 26.756 2974
+-71.174 26.756 2974
+-71.048 26.756 2974
+-70.922 26.756 2975
+-70.796 26.756 2975
+-70.67 26.756 2975
+-70.544 26.756 2976
+-70.418 26.756 2976
+-70.292 26.756 2977
+-70.166 26.756 2977
+-70.04 26.756 2978
+-69.914 26.756 2978
+-69.788 26.756 2979
+-69.662 26.756 2979
+-69.536 26.756 2980
+-69.41 26.756 2981
+-69.284 26.756 2981
+-69.158 26.756 2982
+-69.032 26.756 2983
+-68.906 26.756 2983
+-68.78 26.756 2984
+-68.654 26.756 2985
+-68.528 26.756 2985
+-68.402 26.756 2986
+-68.276 26.756 2927
+-68.15 26.756 2927
+-68.024 26.756 2928
+-67.898 26.756 2928
+-67.772 26.756 2929
+-67.646 26.756 2929
+-67.52 26.756 2930
+-67.394 26.756 2930
+-67.268 26.756 2930
+-67.142 26.756 2931
+-67.016 26.756 2931
+-66.89 26.756 2932
+-66.764 26.756 2932
+-66.638 26.756 2933
+-66.512 26.756 2933
+-66.386 26.756 2933
+-66.26 26.756 2934
+-66.134 26.756 2934
+-66.008 26.756 2935
+-65.882 26.756 2935
+-65.756 26.756 2936
+-65.63 26.756 2936
+-65.504 26.756 2937
+-65.378 26.756 2937
+-65.252 26.756 2937
+-65.126 26.756 2938
+-128 26.704 2996
+-127.874 26.704 3038
+-127.748 26.704 3040
+-127.622 26.704 3002
+-127.496 26.704 2985
+-127.37 26.704 2998
+-127.244 26.704 3002
+-127.118 26.704 3005
+-126.992 26.704 2972
+-126.866 26.704 3419
+-126.74 26.704 3419
+-126.614 26.704 3418
+-126.488 26.704 3390
+-126.362 26.704 3389
+-126.236 26.704 3373
+-126.11 26.704 3403
+-125.984 26.704 3402
+-125.858 26.704 3465
+-125.732 26.704 3464
+-125.606 26.704 3429
+-125.48 26.704 3448
+-125.354 26.704 3485
+-125.228 26.704 3477
+-125.102 26.704 3507
+-124.976 26.704 3506
+-124.85 26.704 3541
+-124.724 26.704 3519
+-124.598 26.704 3517
+-124.472 26.704 3515
+-124.346 26.704 3547
+-124.22 26.704 3545
+-124.094 26.704 3405
+-123.968 26.704 3413
+-123.842 26.704 3431
+-123.716 26.704 3335
+-123.59 26.704 3332
+-123.464 26.704 3319
+-123.338 26.704 3382
+-123.212 26.704 3354
+-123.086 26.704 3352
+-122.96 26.704 3374
+-122.834 26.704 3277
+-122.708 26.704 3280
+-122.582 26.704 3273
+-122.456 26.704 3413
+-122.33 26.704 3408
+-122.204 26.704 3403
+-122.078 26.704 3321
+-121.952 26.704 3319
+-121.826 26.704 3244
+-121.7 26.704 3250
+-121.574 26.704 3242
+-121.448 26.704 3206
+-121.322 26.704 3202
+-121.196 26.704 3191
+-121.07 26.704 3180
+-120.944 26.704 3159
+-120.818 26.704 3163
+-120.692 26.704 3149
+-120.566 26.704 3100
+-120.44 26.704 3081
+-120.314 26.704 3043
+-120.188 26.704 3048
+-120.062 26.704 3011
+-119.936 26.704 2945
+-119.81 26.704 2924
+-119.684 26.704 2885
+-119.558 26.704 2841
+-119.432 26.704 2792
+-119.306 26.704 2747
+-119.18 26.704 2716
+-119.054 26.704 2700
+-118.928 26.704 2727
+-118.802 26.704 2771
+-118.676 26.704 2804
+-118.55 26.704 2826
+-118.424 26.704 2828
+-118.298 26.704 2835
+-118.172 26.704 2845
+-118.046 26.704 2866
+-117.92 26.704 2884
+-117.794 26.704 2912
+-117.668 26.704 2924
+-117.542 26.704 2918
+-117.416 26.704 2906
+-117.29 26.704 2924
+-117.164 26.704 2964
+-117.038 26.704 2999
+-116.912 26.704 3010
+-116.786 26.704 3011
+-116.66 26.704 3002
+-116.534 26.704 2997
+-116.408 26.704 2994
+-116.282 26.704 2995
+-116.156 26.704 3000
+-116.03 26.704 3000
+-115.904 26.704 2994
+-115.778 26.704 2969
+-115.652 26.704 2941
+-115.526 26.704 2912
+-115.4 26.704 2846
+-115.274 26.704 2781
+-115.148 26.704 2712
+-115.022 26.704 2660
+-114.896 26.704 2596
+-114.77 26.704 2548
+-114.644 26.704 2527
+-114.518 26.704 2585
+-114.392 26.704 2720
+-114.266 26.704 2867
+-114.14 26.704 3000
+-114.014 26.704 3121
+-113.888 26.704 3216
+-113.762 26.704 3279
+-113.636 26.704 3336
+-113.51 26.704 3405
+-113.384 26.704 3453
+-113.258 26.704 3535
+-113.132 26.704 3607
+-113.006 26.704 3656
+-112.88 26.704 3651
+-112.754 26.704 3655
+-112.628 26.704 3690
+-112.502 26.704 3749
+-112.376 26.704 3797
+-112.25 26.704 3844
+-112.124 26.704 3894
+-111.998 26.704 3925
+-111.872 26.704 3940
+-111.746 26.704 3953
+-111.62 26.704 3959
+-111.494 26.704 3993
+-111.368 26.704 4034
+-111.242 26.704 4099
+-111.116 26.704 4122
+-110.99 26.704 4142
+-110.864 26.704 4157
+-110.738 26.704 4199
+-110.612 26.704 4199
+-110.486 26.704 4190
+-110.36 26.704 4126
+-110.234 26.704 4103
+-110.108 26.704 4093
+-109.982 26.704 4091
+-109.856 26.704 4095
+-109.73 26.704 4083
+-109.604 26.704 4055
+-109.478 26.704 4038
+-109.352 26.704 4047
+-109.226 26.704 4034
+-109.1 26.704 3996
+-108.974 26.704 3948
+-108.848 26.704 3918
+-108.722 26.704 3880
+-108.596 26.704 3858
+-108.47 26.704 3823
+-108.344 26.704 3760
+-108.218 26.704 3681
+-108.092 26.704 3597
+-107.966 26.704 3547
+-107.84 26.704 3573
+-107.714 26.704 3560
+-107.588 26.704 3557
+-107.462 26.704 3478
+-107.336 26.704 3391
+-107.21 26.704 3244
+-107.084 26.704 3101
+-106.958 26.704 3030
+-106.832 26.704 3038
+-106.706 26.704 3002
+-106.58 26.704 2884
+-106.454 26.704 2723
+-106.328 26.704 2644
+-106.202 26.704 2682
+-106.076 26.704 2756
+-105.95 26.704 2806
+-105.824 26.704 2819
+-105.698 26.704 2809
+-105.572 26.704 2772
+-105.446 26.704 2735
+-105.32 26.704 2708
+-105.194 26.704 2700
+-105.068 26.704 2711
+-104.942 26.704 2736
+-104.816 26.704 2776
+-104.69 26.704 2817
+-104.564 26.704 2858
+-104.438 26.704 2900
+-104.312 26.704 2931
+-104.186 26.704 2981
+-104.06 26.704 3017
+-103.934 26.704 3034
+-103.808 26.704 3063
+-103.682 26.704 3103
+-103.556 26.704 3131
+-103.43 26.704 3130
+-103.304 26.704 3134
+-103.178 26.704 3152
+-103.052 26.704 3067
+-102.926 26.704 3082
+-102.8 26.704 3133
+-102.674 26.704 3148
+-102.548 26.704 3120
+-102.422 26.704 3135
+-102.296 26.704 3147
+-102.17 26.704 3138
+-102.044 26.704 3149
+-101.918 26.704 3159
+-101.792 26.704 3168
+-101.666 26.704 3176
+-101.54 26.704 3185
+-101.414 26.704 3192
+-101.288 26.704 3135
+-101.162 26.704 3134
+-101.036 26.704 3140
+-100.91 26.704 3145
+-100.784 26.704 3127
+-100.658 26.704 3133
+-100.532 26.704 3192
+-100.406 26.704 3198
+-100.28 26.704 3211
+-100.154 26.704 3199
+-100.028 26.704 3204
+-99.902 26.704 3210
+-99.776 26.704 3215
+-99.65 26.704 3213
+-99.524 26.704 3218
+-99.398 26.704 3207
+-99.272 26.704 3212
+-99.146 26.704 3143
+-99.02 26.704 3147
+-98.894 26.704 3150
+-98.768 26.704 3154
+-98.642 26.704 3157
+-98.516 26.704 3160
+-98.39 26.704 3122
+-98.264 26.704 3251
+-98.138 26.704 3149
+-98.012 26.704 3164
+-97.886 26.704 3166
+-97.76 26.704 3169
+-97.634 26.704 3060
+-97.508 26.704 3059
+-97.382 26.704 3057
+-97.256 26.704 3055
+-97.13 26.704 2957
+-97.004 26.704 2954
+-96.878 26.704 2937
+-96.752 26.704 2912
+-96.626 26.704 2900
+-96.5 26.704 2912
+-96.374 26.704 2994
+-96.248 26.704 3056
+-96.122 26.704 3059
+-95.996 26.704 3122
+-95.87 26.704 3349
+-95.744 26.704 3348
+-95.618 26.704 3347
+-95.492 26.704 3346
+-95.366 26.704 3345
+-95.24 26.704 3344
+-95.114 26.704 3343
+-94.988 26.704 3342
+-94.862 26.704 3341
+-94.736 26.704 3339
+-94.61 26.704 3338
+-94.484 26.704 3337
+-94.358 26.704 3335
+-94.232 26.704 3334
+-94.106 26.704 3332
+-93.98 26.704 3330
+-93.854 26.704 3467
+-93.728 26.704 3464
+-93.602 26.704 3462
+-93.476 26.704 3460
+-93.35 26.704 3457
+-93.224 26.704 3454
+-93.098 26.704 3451
+-92.972 26.704 3448
+-92.846 26.704 3445
+-92.72 26.704 3442
+-92.594 26.704 3438
+-92.468 26.704 3434
+-92.342 26.704 3468
+-92.216 26.704 3463
+-92.09 26.704 3457
+-91.964 26.704 3451
+-91.838 26.704 3445
+-91.712 26.704 3447
+-91.586 26.704 3441
+-91.46 26.704 3482
+-91.334 26.704 3474
+-91.208 26.704 3466
+-91.082 26.704 3458
+-90.956 26.704 3449
+-90.83 26.704 3440
+-90.704 26.704 3566
+-90.578 26.704 3556
+-90.452 26.704 3546
+-90.326 26.704 3537
+-90.2 26.704 3528
+-90.074 26.704 3521
+-89.948 26.704 3579
+-89.822 26.704 3611
+-89.696 26.704 3609
+-89.57 26.704 3613
+-89.444 26.704 3616
+-89.318 26.704 3675
+-89.192 26.704 3685
+-89.066 26.704 3698
+-88.94 26.704 3712
+-88.814 26.704 3727
+-88.688 26.704 3743
+-88.562 26.704 3801
+-88.436 26.704 3833
+-88.31 26.704 3921
+-88.184 26.704 3941
+-88.058 26.704 3911
+-87.932 26.704 3843
+-87.806 26.704 3734
+-87.68 26.704 3683
+-87.554 26.704 3851
+-87.428 26.704 4098
+-87.302 26.704 4190
+-87.176 26.704 4137
+-87.05 26.704 4336
+-86.924 26.704 4577
+-86.798 26.704 4655
+-86.672 26.704 4782
+-86.546 26.704 4941
+-86.42 26.704 5080
+-86.294 26.704 5098
+-86.168 26.704 5240
+-86.042 26.704 5451
+-85.916 26.704 5448
+-85.79 26.704 5647
+-85.664 26.704 5841
+-85.538 26.704 5942
+-85.412 26.704 6060
+-85.286 26.704 6193
+-85.16 26.704 6329
+-85.034 26.704 6481
+-84.908 26.704 6613
+-84.782 26.704 6671
+-84.656 26.704 6874
+-84.53 26.704 7027
+-84.404 26.704 7094
+-84.278 26.704 7237
+-84.152 26.704 7380
+-84.026 26.704 7525
+-83.9 26.704 7639
+-83.774 26.704 7678
+-83.648 26.704 7862
+-83.522 26.704 7929
+-83.396 26.704 8112
+-83.27 26.704 8182
+-83.144 26.704 8244
+-83.018 26.704 8341
+-82.892 26.704 8449
+-82.766 26.704 8505
+-82.64 26.704 8580
+-82.514 26.704 8606
+-82.388 26.704 8662
+-82.262 26.704 8664
+-82.136 26.704 8667
+-82.01 26.704 8674
+-81.884 26.704 8625
+-81.758 26.704 8568
+-81.632 26.704 8498
+-81.506 26.704 8434
+-81.38 26.704 8348
+-81.254 26.704 8237
+-81.128 26.704 8134
+-81.002 26.704 8044
+-80.876 26.704 7995
+-80.75 26.704 7844
+-80.624 26.704 7723
+-80.498 26.704 7650
+-80.372 26.704 7538
+-80.246 26.704 7329
+-80.12 26.704 7261
+-79.994 26.704 7099
+-79.868 26.704 7007
+-79.742 26.704 6815
+-79.616 26.704 6722
+-79.49 26.704 6574
+-79.364 26.704 6436
+-79.238 26.704 6317
+-79.112 26.704 6237
+-78.986 26.704 6060
+-78.86 26.704 6090
+-78.734 26.704 5895
+-78.608 26.704 5654
+-78.482 26.704 5701
+-78.356 26.704 5497
+-78.23 26.704 5239
+-78.104 26.704 5036
+-77.978 26.704 4905
+-77.852 26.704 4729
+-77.726 26.704 4617
+-77.6 26.704 4646
+-77.474 26.704 4611
+-77.348 26.704 4574
+-77.222 26.704 4516
+-77.096 26.704 4454
+-76.97 26.704 4318
+-76.844 26.704 4196
+-76.718 26.704 4084
+-76.592 26.704 3994
+-76.466 26.704 3885
+-76.34 26.704 3778
+-76.214 26.704 3619
+-76.088 26.704 3339
+-75.962 26.704 2970
+-75.836 26.704 2599
+-75.71 26.704 2448
+-75.584 26.704 2563
+-75.458 26.704 2780
+-75.332 26.704 2982
+-75.206 26.704 3136
+-75.08 26.704 3247
+-74.954 26.704 3328
+-74.828 26.704 3387
+-74.702 26.704 3432
+-74.576 26.704 3467
+-74.45 26.704 3495
+-74.324 26.704 3348
+-74.198 26.704 3365
+-74.072 26.704 3379
+-73.946 26.704 3392
+-73.82 26.704 3403
+-73.694 26.704 3413
+-73.568 26.704 3422
+-73.442 26.704 3430
+-73.316 26.704 3438
+-73.19 26.704 3313
+-73.064 26.704 3242
+-72.938 26.704 3255
+-72.812 26.704 3256
+-72.686 26.704 3188
+-72.56 26.704 3174
+-72.434 26.704 3167
+-72.308 26.704 3167
+-72.182 26.704 3176
+-72.056 26.704 3082
+-71.93 26.704 3082
+-71.804 26.704 3072
+-71.678 26.704 3002
+-71.552 26.704 3000
+-71.426 26.704 2967
+-71.3 26.704 2967
+-71.174 26.704 2967
+-71.048 26.704 2968
+-70.922 26.704 2968
+-70.796 26.704 2969
+-70.67 26.704 2969
+-70.544 26.704 2970
+-70.418 26.704 2970
+-70.292 26.704 2971
+-70.166 26.704 2971
+-70.04 26.704 2972
+-69.914 26.704 2973
+-69.788 26.704 2973
+-69.662 26.704 2974
+-69.536 26.704 2975
+-69.41 26.704 2975
+-69.284 26.704 2976
+-69.158 26.704 2977
+-69.032 26.704 2978
+-68.906 26.704 2978
+-68.78 26.704 2979
+-68.654 26.704 2980
+-68.528 26.704 2981
+-68.402 26.704 2982
+-68.276 26.704 2982
+-68.15 26.704 2923
+-68.024 26.704 2923
+-67.898 26.704 2924
+-67.772 26.704 2924
+-67.646 26.704 2925
+-67.52 26.704 2925
+-67.394 26.704 2926
+-67.268 26.704 2926
+-67.142 26.704 2927
+-67.016 26.704 2927
+-66.89 26.704 2928
+-66.764 26.704 2928
+-66.638 26.704 2929
+-66.512 26.704 2929
+-66.386 26.704 2930
+-66.26 26.704 2930
+-66.134 26.704 2931
+-66.008 26.704 2931
+-65.882 26.704 2932
+-65.756 26.704 2932
+-65.63 26.704 2933
+-65.504 26.704 2933
+-65.378 26.704 2934
+-65.252 26.704 2934
+-65.126 26.704 2935
+-128 26.652 3040
+-127.874 26.652 3042
+-127.748 26.652 3004
+-127.622 26.652 2986
+-127.496 26.652 2999
+-127.37 26.652 3002
+-127.244 26.652 3006
+-127.118 26.652 2972
+-126.992 26.652 3420
+-126.866 26.652 3420
+-126.74 26.652 3419
+-126.614 26.652 3391
+-126.488 26.652 3390
+-126.362 26.652 3373
+-126.236 26.652 3404
+-126.11 26.652 3403
+-125.984 26.652 3466
+-125.858 26.652 3465
+-125.732 26.652 3431
+-125.606 26.652 3450
+-125.48 26.652 3486
+-125.354 26.652 3479
+-125.228 26.652 3509
+-125.102 26.652 3508
+-124.976 26.652 3544
+-124.85 26.652 3521
+-124.724 26.652 3519
+-124.598 26.652 3518
+-124.472 26.652 3550
+-124.346 26.652 3548
+-124.22 26.652 3401
+-124.094 26.652 3410
+-123.968 26.652 3428
+-123.842 26.652 3330
+-123.716 26.652 3328
+-123.59 26.652 3315
+-123.464 26.652 3377
+-123.338 26.652 3349
+-123.212 26.652 3347
+-123.086 26.652 3369
+-122.96 26.652 3271
+-122.834 26.652 3275
+-122.708 26.652 3301
+-122.582 26.652 3294
+-122.456 26.652 3290
+-122.33 26.652 3286
+-122.204 26.652 3210
+-122.078 26.652 3207
+-121.952 26.652 3244
+-121.826 26.652 3250
+-121.7 26.652 3243
+-121.574 26.652 3207
+-121.448 26.652 3203
+-121.322 26.652 3191
+-121.196 26.652 3181
+-121.07 26.652 3159
+-120.944 26.652 3165
+-120.818 26.652 3151
+-120.692 26.652 3102
+-120.566 26.652 3084
+-120.44 26.652 3046
+-120.314 26.652 3054
+-120.188 26.652 3017
+-120.062 26.652 2949
+-119.936 26.652 2930
+-119.81 26.652 2889
+-119.684 26.652 2841
+-119.558 26.652 2783
+-119.432 26.652 2718
+-119.306 26.652 2647
+-119.18 26.652 2581
+-119.054 26.652 2562
+-118.928 26.652 2602
+-118.802 26.652 2672
+-118.676 26.652 2733
+-118.55 26.652 2755
+-118.424 26.652 2761
+-118.298 26.652 2757
+-118.172 26.652 2755
+-118.046 26.652 2769
+-117.92 26.652 2805
+-117.794 26.652 2853
+-117.668 26.652 2892
+-117.542 26.652 2908
+-117.416 26.652 2913
+-117.29 26.652 2926
+-117.164 26.652 2953
+-117.038 26.652 2982
+-116.912 26.652 2969
+-116.786 26.652 2992
+-116.66 26.652 2986
+-116.534 26.652 2988
+-116.408 26.652 2986
+-116.282 26.652 2984
+-116.156 26.652 2977
+-116.03 26.652 2974
+-115.904 26.652 2958
+-115.778 26.652 2937
+-115.652 26.652 2902
+-115.526 26.652 2846
+-115.4 26.652 2785
+-115.274 26.652 2721
+-115.148 26.652 2660
+-115.022 26.652 2579
+-114.896 26.652 2511
+-114.77 26.652 2487
+-114.644 26.652 2512
+-114.518 26.652 2588
+-114.392 26.652 2695
+-114.266 26.652 2829
+-114.14 26.652 2963
+-114.014 26.652 3064
+-113.888 26.652 3150
+-113.762 26.652 3247
+-113.636 26.652 3326
+-113.51 26.652 3376
+-113.384 26.652 3423
+-113.258 26.652 3507
+-113.132 26.652 3561
+-113.006 26.652 3620
+-112.88 26.652 3648
+-112.754 26.652 3665
+-112.628 26.652 3689
+-112.502 26.652 3724
+-112.376 26.652 3760
+-112.25 26.652 3789
+-112.124 26.652 3821
+-111.998 26.652 3852
+-111.872 26.652 3897
+-111.746 26.652 3924
+-111.62 26.652 3935
+-111.494 26.652 3946
+-111.368 26.652 3964
+-111.242 26.652 4006
+-111.116 26.652 4045
+-110.99 26.652 4040
+-110.864 26.652 4050
+-110.738 26.652 4058
+-110.612 26.652 4065
+-110.486 26.652 4069
+-110.36 26.652 4065
+-110.234 26.652 4053
+-110.108 26.652 4064
+-109.982 26.652 4086
+-109.856 26.652 4066
+-109.73 26.652 4042
+-109.604 26.652 4031
+-109.478 26.652 4022
+-109.352 26.652 4000
+-109.226 26.652 3957
+-109.1 26.652 3910
+-108.974 26.652 3868
+-108.848 26.652 3850
+-108.722 26.652 3843
+-108.596 26.652 3814
+-108.47 26.652 3782
+-108.344 26.652 3732
+-108.218 26.652 3669
+-108.092 26.652 3613
+-107.966 26.652 3581
+-107.84 26.652 3582
+-107.714 26.652 3551
+-107.588 26.652 3513
+-107.462 26.652 3448
+-107.336 26.652 3355
+-107.21 26.652 3191
+-107.084 26.652 3037
+-106.958 26.652 2971
+-106.832 26.652 3006
+-106.706 26.652 3016
+-106.58 26.652 2933
+-106.454 26.652 2828
+-106.328 26.652 2772
+-106.202 26.652 2773
+-106.076 26.652 2804
+-105.95 26.652 2830
+-105.824 26.652 2837
+-105.698 26.652 2828
+-105.572 26.652 2816
+-105.446 26.652 2793
+-105.32 26.652 2778
+-105.194 26.652 2772
+-105.068 26.652 2779
+-104.942 26.652 2795
+-104.816 26.652 2820
+-104.69 26.652 2853
+-104.564 26.652 2885
+-104.438 26.652 2918
+-104.312 26.652 2952
+-104.186 26.652 2975
+-104.06 26.652 3020
+-103.934 26.652 3051
+-103.808 26.652 3062
+-103.682 26.652 3088
+-103.556 26.652 3126
+-103.43 26.652 3151
+-103.304 26.652 3147
+-103.178 26.652 3148
+-103.052 26.652 3166
+-102.926 26.652 3076
+-102.8 26.652 3090
+-102.674 26.652 3141
+-102.548 26.652 3155
+-102.422 26.652 3126
+-102.296 26.652 3141
+-102.17 26.652 3152
+-102.044 26.652 3142
+-101.918 26.652 3152
+-101.792 26.652 3162
+-101.666 26.652 3171
+-101.54 26.652 3179
+-101.414 26.652 3187
+-101.288 26.652 3194
+-101.162 26.652 3137
+-101.036 26.652 3135
+-100.91 26.652 3141
+-100.784 26.652 3146
+-100.658 26.652 3128
+-100.532 26.652 3134
+-100.406 26.652 3194
+-100.28 26.652 3200
+-100.154 26.652 3213
+-100.028 26.652 3200
+-99.902 26.652 3205
+-99.776 26.652 3210
+-99.65 26.652 3215
+-99.524 26.652 3214
+-99.398 26.652 3219
+-99.272 26.652 3208
+-99.146 26.652 3212
+-99.02 26.652 3143
+-98.894 26.652 3147
+-98.768 26.652 3150
+-98.642 26.652 3153
+-98.516 26.652 3156
+-98.39 26.652 3159
+-98.264 26.652 3122
+-98.138 26.652 3251
+-98.012 26.652 3149
+-97.886 26.652 3164
+-97.76 26.652 3167
+-97.634 26.652 3058
+-97.508 26.652 3056
+-97.382 26.652 3055
+-97.256 26.652 3053
+-97.13 26.652 2956
+-97.004 26.652 2953
+-96.878 26.652 2937
+-96.752 26.652 2913
+-96.626 26.652 2901
+-96.5 26.652 2913
+-96.374 26.652 2995
+-96.248 26.652 3057
+-96.122 26.652 3060
+-95.996 26.652 3311
+-95.87 26.652 3348
+-95.744 26.652 3347
+-95.618 26.652 3346
+-95.492 26.652 3345
+-95.366 26.652 3344
+-95.24 26.652 3343
+-95.114 26.652 3342
+-94.988 26.652 3341
+-94.862 26.652 3340
+-94.736 26.652 3339
+-94.61 26.652 3337
+-94.484 26.652 3336
+-94.358 26.652 3335
+-94.232 26.652 3333
+-94.106 26.652 3332
+-93.98 26.652 3468
+-93.854 26.652 3466
+-93.728 26.652 3464
+-93.602 26.652 3462
+-93.476 26.652 3459
+-93.35 26.652 3457
+-93.224 26.652 3454
+-93.098 26.652 3451
+-92.972 26.652 3448
+-92.846 26.652 3445
+-92.72 26.652 3442
+-92.594 26.652 3439
+-92.468 26.652 3473
+-92.342 26.652 3468
+-92.216 26.652 3464
+-92.09 26.652 3458
+-91.964 26.652 3453
+-91.838 26.652 3457
+-91.712 26.652 3451
+-91.586 26.652 3495
+-91.46 26.652 3488
+-91.334 26.652 3481
+-91.208 26.652 3474
+-91.082 26.652 3467
+-90.956 26.652 3460
+-90.83 26.652 3591
+-90.704 26.652 3583
+-90.578 26.652 3575
+-90.452 26.652 3568
+-90.326 26.652 3561
+-90.2 26.652 3555
+-90.074 26.652 3550
+-89.948 26.652 3612
+-89.822 26.652 3611
+-89.696 26.652 3651
+-89.57 26.652 3654
+-89.444 26.652 3711
+-89.318 26.652 3719
+-89.192 26.652 3729
+-89.066 26.652 3741
+-88.94 26.652 3755
+-88.814 26.652 3770
+-88.688 26.652 3827
+-88.562 26.652 3861
+-88.436 26.652 3873
+-88.31 26.652 3893
+-88.184 26.652 3961
+-88.058 26.652 3968
+-87.932 26.652 3932
+-87.806 26.652 3903
+-87.68 26.652 3933
+-87.554 26.652 4026
+-87.428 26.652 4157
+-87.302 26.652 4223
+-87.176 26.652 4261
+-87.05 26.652 4395
+-86.924 26.652 4571
+-86.798 26.652 4699
+-86.672 26.652 4845
+-86.546 26.652 4982
+-86.42 26.652 5097
+-86.294 26.652 5162
+-86.168 26.652 5282
+-86.042 26.652 5460
+-85.916 26.652 5550
+-85.79 26.652 5626
+-85.664 26.652 5772
+-85.538 26.652 5952
+-85.412 26.652 6066
+-85.286 26.652 6243
+-85.16 26.652 6348
+-85.034 26.652 6453
+-84.908 26.652 6560
+-84.782 26.652 6682
+-84.656 26.652 6825
+-84.53 26.652 6963
+-84.404 26.652 7088
+-84.278 26.652 7209
+-84.152 26.652 7346
+-84.026 26.652 7414
+-83.9 26.652 7583
+-83.774 26.652 7708
+-83.648 26.652 7845
+-83.522 26.652 7915
+-83.396 26.652 8044
+-83.27 26.652 8134
+-83.144 26.652 8190
+-83.018 26.652 8333
+-82.892 26.652 8379
+-82.766 26.652 8431
+-82.64 26.652 8521
+-82.514 26.652 8545
+-82.388 26.652 8568
+-82.262 26.652 8592
+-82.136 26.652 8582
+-82.01 26.652 8578
+-81.884 26.652 8549
+-81.758 26.652 8535
+-81.632 26.652 8446
+-81.506 26.652 8391
+-81.38 26.652 8330
+-81.254 26.652 8195
+-81.128 26.652 8126
+-81.002 26.652 8001
+-80.876 26.652 7926
+-80.75 26.652 7795
+-80.624 26.652 7715
+-80.498 26.652 7546
+-80.372 26.652 7420
+-80.246 26.652 7327
+-80.12 26.652 7231
+-79.994 26.652 7061
+-79.868 26.652 6988
+-79.742 26.652 6811
+-79.616 26.652 6677
+-79.49 26.652 6532
+-79.364 26.652 6454
+-79.238 26.652 6358
+-79.112 26.652 6239
+-78.986 26.652 6128
+-78.86 26.652 6069
+-78.734 26.652 5938
+-78.608 26.652 5776
+-78.482 26.652 5687
+-78.356 26.652 5445
+-78.23 26.652 5267
+-78.104 26.652 5054
+-77.978 26.652 4874
+-77.852 26.652 4739
+-77.726 26.652 4653
+-77.6 26.652 4624
+-77.474 26.652 4592
+-77.348 26.652 4562
+-77.222 26.652 4521
+-77.096 26.652 4477
+-76.97 26.652 4367
+-76.844 26.652 4299
+-76.718 26.652 4177
+-76.592 26.652 4064
+-76.466 26.652 3966
+-76.34 26.652 3815
+-76.214 26.652 3646
+-76.088 26.652 3401
+-75.962 26.652 3044
+-75.836 26.652 2716
+-75.71 26.652 2576
+-75.584 26.652 2661
+-75.458 26.652 2831
+-75.332 26.652 3011
+-75.206 26.652 3154
+-75.08 26.652 3262
+-74.954 26.652 3341
+-74.828 26.652 3400
+-74.702 26.652 3401
+-74.576 26.652 3434
+-74.45 26.652 3460
+-74.324 26.652 3358
+-74.198 26.652 3375
+-74.072 26.652 3389
+-73.946 26.652 3401
+-73.82 26.652 3411
+-73.694 26.652 3421
+-73.568 26.652 3429
+-73.442 26.652 3437
+-73.316 26.652 3312
+-73.19 26.652 3239
+-73.064 26.652 3240
+-72.938 26.652 3240
+-72.812 26.652 3217
+-72.686 26.652 3217
+-72.56 26.652 3185
+-72.434 26.652 3170
+-72.308 26.652 3163
+-72.182 26.652 3162
+-72.056 26.652 3051
+-71.93 26.652 3051
+-71.804 26.652 3051
+-71.678 26.652 3051
+-71.552 26.652 2995
+-71.426 26.652 2966
+-71.3 26.652 2960
+-71.174 26.652 2960
+-71.048 26.652 2961
+-70.922 26.652 2961
+-70.796 26.652 2962
+-70.67 26.652 2962
+-70.544 26.652 2963
+-70.418 26.652 2964
+-70.292 26.652 2964
+-70.166 26.652 2965
+-70.04 26.652 2966
+-69.914 26.652 2967
+-69.788 26.652 2968
+-69.662 26.652 2968
+-69.536 26.652 2969
+-69.41 26.652 2970
+-69.284 26.652 2971
+-69.158 26.652 2972
+-69.032 26.652 2973
+-68.906 26.652 2974
+-68.78 26.652 2974
+-68.654 26.652 2975
+-68.528 26.652 2976
+-68.402 26.652 2977
+-68.276 26.652 2978
+-68.15 26.652 2979
+-68.024 26.652 2918
+-67.898 26.652 2919
+-67.772 26.652 2919
+-67.646 26.652 2920
+-67.52 26.652 2921
+-67.394 26.652 2921
+-67.268 26.652 2922
+-67.142 26.652 2923
+-67.016 26.652 2923
+-66.89 26.652 2924
+-66.764 26.652 2924
+-66.638 26.652 2925
+-66.512 26.652 2926
+-66.386 26.652 2926
+-66.26 26.652 2927
+-66.134 26.652 2927
+-66.008 26.652 2928
+-65.882 26.652 2929
+-65.756 26.652 2929
+-65.63 26.652 2930
+-65.504 26.652 2930
+-65.378 26.652 2931
+-65.252 26.652 2931
+-65.126 26.652 2932
+-128 26.6 3044
+-127.874 26.6 3005
+-127.748 26.6 2987
+-127.622 26.6 3000
+-127.496 26.6 3003
+-127.37 26.6 3006
+-127.244 26.6 2972
+-127.118 26.6 3421
+-126.992 26.6 3421
+-126.866 26.6 3420
+-126.74 26.6 3391
+-126.614 26.6 3391
+-126.488 26.6 3374
+-126.362 26.6 3404
+-126.236 26.6 3404
+-126.11 26.6 3467
+-125.984 26.6 3466
+-125.858 26.6 3432
+-125.732 26.6 3451
+-125.606 26.6 3488
+-125.48 26.6 3480
+-125.354 26.6 3511
+-125.228 26.6 3510
+-125.102 26.6 3546
+-124.976 26.6 3523
+-124.85 26.6 3522
+-124.724 26.6 3520
+-124.598 26.6 3553
+-124.472 26.6 3551
+-124.346 26.6 3398
+-124.22 26.6 3406
+-124.094 26.6 3425
+-123.968 26.6 3326
+-123.842 26.6 3324
+-123.716 26.6 3310
+-123.59 26.6 3373
+-123.464 26.6 3345
+-123.338 26.6 3342
+-123.212 26.6 3364
+-123.086 26.6 3266
+-122.96 26.6 3269
+-122.834 26.6 3296
+-122.708 26.6 3289
+-122.582 26.6 3285
+-122.456 26.6 3281
+-122.33 26.6 3203
+-122.204 26.6 3201
+-122.078 26.6 3129
+-121.952 26.6 3134
+-121.826 26.6 3133
+-121.7 26.6 3128
+-121.574 26.6 3095
+-121.448 26.6 3193
+-121.322 26.6 3183
+-121.196 26.6 3161
+-121.07 26.6 3168
+-120.944 26.6 3155
+-120.818 26.6 3106
+-120.692 26.6 3089
+-120.566 26.6 3052
+-120.44 26.6 3062
+-120.314 26.6 3028
+-120.188 26.6 2958
+-120.062 26.6 2943
+-119.936 26.6 2905
+-119.81 26.6 2860
+-119.684 26.6 2805
+-119.558 26.6 2738
+-119.432 26.6 2657
+-119.306 26.6 2556
+-119.18 26.6 2472
+-119.054 26.6 2435
+-118.928 26.6 2485
+-118.802 26.6 2588
+-118.676 26.6 2666
+-118.55 26.6 2701
+-118.424 26.6 2698
+-118.298 26.6 2674
+-118.172 26.6 2662
+-118.046 26.6 2680
+-117.92 26.6 2727
+-117.794 26.6 2780
+-117.668 26.6 2841
+-117.542 26.6 2883
+-117.416 26.6 2906
+-117.29 26.6 2923
+-117.164 26.6 2945
+-117.038 26.6 2934
+-116.912 26.6 2948
+-116.786 26.6 2959
+-116.66 26.6 2964
+-116.534 26.6 2969
+-116.408 26.6 2970
+-116.282 26.6 2961
+-116.156 26.6 2951
+-116.03 26.6 2940
+-115.904 26.6 2927
+-115.778 26.6 2905
+-115.652 26.6 2856
+-115.526 26.6 2801
+-115.4 26.6 2734
+-115.274 26.6 2661
+-115.148 26.6 2571
+-115.022 26.6 2473
+-114.896 26.6 2378
+-114.77 26.6 2322
+-114.644 26.6 2386
+-114.518 26.6 2516
+-114.392 26.6 2641
+-114.266 26.6 2784
+-114.14 26.6 2913
+-114.014 26.6 3007
+-113.888 26.6 3093
+-113.762 26.6 3198
+-113.636 26.6 3254
+-113.51 26.6 3303
+-113.384 26.6 3381
+-113.258 26.6 3430
+-113.132 26.6 3479
+-113.006 26.6 3533
+-112.88 26.6 3585
+-112.754 26.6 3608
+-112.628 26.6 3644
+-112.502 26.6 3675
+-112.376 26.6 3699
+-112.25 26.6 3728
+-112.124 26.6 3751
+-111.998 26.6 3768
+-111.872 26.6 3803
+-111.746 26.6 3858
+-111.62 26.6 3878
+-111.494 26.6 3894
+-111.368 26.6 3912
+-111.242 26.6 3949
+-111.116 26.6 3990
+-110.99 26.6 3990
+-110.864 26.6 3960
+-110.738 26.6 3992
+-110.612 26.6 4002
+-110.486 26.6 3992
+-110.36 26.6 3996
+-110.234 26.6 4004
+-110.108 26.6 4016
+-109.982 26.6 4024
+-109.856 26.6 4014
+-109.73 26.6 3997
+-109.604 26.6 3978
+-109.478 26.6 3960
+-109.352 26.6 3930
+-109.226 26.6 3895
+-109.1 26.6 3850
+-108.974 26.6 3822
+-108.848 26.6 3836
+-108.722 26.6 3822
+-108.596 26.6 3788
+-108.47 26.6 3749
+-108.344 26.6 3699
+-108.218 26.6 3671
+-108.092 26.6 3641
+-107.966 26.6 3619
+-107.84 26.6 3589
+-107.714 26.6 3542
+-107.588 26.6 3500
+-107.462 26.6 3434
+-107.336 26.6 3337
+-107.21 26.6 3195
+-107.084 26.6 3073
+-106.958 26.6 3016
+-106.832 26.6 3026
+-106.706 26.6 3031
+-106.58 26.6 2986
+-106.454 26.6 2907
+-106.328 26.6 2855
+-106.202 26.6 2844
+-106.076 26.6 2845
+-105.95 26.6 2848
+-105.824 26.6 2847
+-105.698 26.6 2841
+-105.572 26.6 2830
+-105.446 26.6 2828
+-105.32 26.6 2819
+-105.194 26.6 2819
+-105.068 26.6 2824
+-104.942 26.6 2839
+-104.816 26.6 2857
+-104.69 26.6 2880
+-104.564 26.6 2909
+-104.438 26.6 2936
+-104.312 26.6 2963
+-104.186 26.6 2993
+-104.06 26.6 3011
+-103.934 26.6 3052
+-103.808 26.6 3079
+-103.682 26.6 3087
+-103.556 26.6 3110
+-103.43 26.6 3147
+-103.304 26.6 3169
+-103.178 26.6 3163
+-103.052 26.6 3161
+-102.926 26.6 3178
+-102.8 26.6 3085
+-102.674 26.6 3098
+-102.548 26.6 3149
+-102.422 26.6 3162
+-102.296 26.6 3132
+-102.17 26.6 3146
+-102.044 26.6 3157
+-101.918 26.6 3147
+-101.792 26.6 3156
+-101.666 26.6 3165
+-101.54 26.6 3174
+-101.414 26.6 3182
+-101.288 26.6 3189
+-101.162 26.6 3196
+-101.036 26.6 3138
+-100.91 26.6 3136
+-100.784 26.6 3142
+-100.658 26.6 3147
+-100.532 26.6 3129
+-100.406 26.6 3135
+-100.28 26.6 3195
+-100.154 26.6 3201
+-100.028 26.6 3214
+-99.902 26.6 3201
+-99.776 26.6 3206
+-99.65 26.6 3211
+-99.524 26.6 3216
+-99.398 26.6 3215
+-99.272 26.6 3220
+-99.146 26.6 3208
+-99.02 26.6 3213
+-98.894 26.6 3144
+-98.768 26.6 3147
+-98.642 26.6 3150
+-98.516 26.6 3153
+-98.39 26.6 3156
+-98.264 26.6 3159
+-98.138 26.6 3122
+-98.012 26.6 3251
+-97.886 26.6 3149
+-97.76 26.6 3164
+-97.634 26.6 3056
+-97.508 26.6 3054
+-97.382 26.6 3052
+-97.256 26.6 3051
+-97.13 26.6 2955
+-97.004 26.6 2952
+-96.878 26.6 2936
+-96.752 26.6 2913
+-96.626 26.6 2901
+-96.5 26.6 2914
+-96.374 26.6 2996
+-96.248 26.6 3058
+-96.122 26.6 3061
+-95.996 26.6 3311
+-95.87 26.6 3347
+-95.744 26.6 3346
+-95.618 26.6 3346
+-95.492 26.6 3345
+-95.366 26.6 3344
+-95.24 26.6 3343
+-95.114 26.6 3342
+-94.988 26.6 3340
+-94.862 26.6 3339
+-94.736 26.6 3338
+-94.61 26.6 3337
+-94.484 26.6 3335
+-94.358 26.6 3334
+-94.232 26.6 3333
+-94.106 26.6 3470
+-93.98 26.6 3468
+-93.854 26.6 3466
+-93.728 26.6 3463
+-93.602 26.6 3461
+-93.476 26.6 3459
+-93.35 26.6 3457
+-93.224 26.6 3454
+-93.098 26.6 3451
+-92.972 26.6 3449
+-92.846 26.6 3446
+-92.72 26.6 3443
+-92.594 26.6 3443
+-92.468 26.6 3439
+-92.342 26.6 3436
+-92.216 26.6 3432
+-92.09 26.6 3460
+-91.964 26.6 3464
+-91.838 26.6 3460
+-91.712 26.6 3505
+-91.586 26.6 3500
+-91.46 26.6 3494
+-91.334 26.6 3488
+-91.208 26.6 3482
+-91.082 26.6 3476
+-90.956 26.6 3575
+-90.83 26.6 3569
+-90.704 26.6 3564
+-90.578 26.6 3559
+-90.452 26.6 3555
+-90.326 26.6 3582
+-90.2 26.6 3578
+-90.074 26.6 3629
+-89.948 26.6 3629
+-89.822 26.6 3630
+-89.696 26.6 3633
+-89.57 26.6 3676
+-89.444 26.6 3682
+-89.318 26.6 3742
+-89.192 26.6 3753
+-89.066 26.6 3765
+-88.94 26.6 3791
+-88.814 26.6 3834
+-88.688 26.6 3883
+-88.562 26.6 3895
+-88.436 26.6 3920
+-88.31 26.6 3987
+-88.184 26.6 3990
+-88.058 26.6 3988
+-87.932 26.6 4032
+-87.806 26.6 4064
+-87.68 26.6 4079
+-87.554 26.6 4129
+-87.428 26.6 4198
+-87.302 26.6 4252
+-87.176 26.6 4362
+-87.05 26.6 4466
+-86.924 26.6 4594
+-86.798 26.6 4714
+-86.672 26.6 4872
+-86.546 26.6 4995
+-86.42 26.6 5104
+-86.294 26.6 5152
+-86.168 26.6 5263
+-86.042 26.6 5436
+-85.916 26.6 5541
+-85.79 26.6 5633
+-85.664 26.6 5772
+-85.538 26.6 5948
+-85.412 26.6 6057
+-85.286 26.6 6237
+-85.16 26.6 6336
+-85.034 26.6 6419
+-84.908 26.6 6567
+-84.782 26.6 6727
+-84.656 26.6 6781
+-84.53 26.6 6904
+-84.404 26.6 7049
+-84.278 26.6 7168
+-84.152 26.6 7328
+-84.026 26.6 7452
+-83.9 26.6 7541
+-83.774 26.6 7661
+-83.648 26.6 7749
+-83.522 26.6 7884
+-83.396 26.6 7970
+-83.27 26.6 8041
+-83.144 26.6 8152
+-83.018 26.6 8206
+-82.892 26.6 8331
+-82.766 26.6 8371
+-82.64 26.6 8438
+-82.514 26.6 8518
+-82.388 26.6 8518
+-82.262 26.6 8546
+-82.136 26.6 8532
+-82.01 26.6 8522
+-81.884 26.6 8475
+-81.758 26.6 8490
+-81.632 26.6 8411
+-81.506 26.6 8299
+-81.38 26.6 8256
+-81.254 26.6 8155
+-81.128 26.6 8077
+-81.002 26.6 8000
+-80.876 26.6 7890
+-80.75 26.6 7744
+-80.624 26.6 7707
+-80.498 26.6 7556
+-80.372 26.6 7419
+-80.246 26.6 7253
+-80.12 26.6 7157
+-79.994 26.6 7092
+-79.868 26.6 6928
+-79.742 26.6 6745
+-79.616 26.6 6642
+-79.49 26.6 6546
+-79.364 26.6 6471
+-79.238 26.6 6334
+-79.112 26.6 6192
+-78.986 26.6 6058
+-78.86 26.6 6002
+-78.734 26.6 5945
+-78.608 26.6 5837
+-78.482 26.6 5627
+-78.356 26.6 5404
+-78.23 26.6 5238
+-78.104 26.6 5077
+-77.978 26.6 4895
+-77.852 26.6 4772
+-77.726 26.6 4654
+-77.6 26.6 4575
+-77.474 26.6 4569
+-77.348 26.6 4524
+-77.222 26.6 4497
+-77.096 26.6 4484
+-76.97 26.6 4400
+-76.844 26.6 4341
+-76.718 26.6 4266
+-76.592 26.6 4130
+-76.466 26.6 4006
+-76.34 26.6 3880
+-76.214 26.6 3723
+-76.088 26.6 3498
+-75.962 26.6 3242
+-75.836 26.6 2982
+-75.71 26.6 2852
+-75.584 26.6 2874
+-75.458 26.6 2992
+-75.332 26.6 3093
+-75.206 26.6 3176
+-75.08 26.6 3262
+-74.954 26.6 3329
+-74.828 26.6 3380
+-74.702 26.6 3419
+-74.576 26.6 3450
+-74.45 26.6 3474
+-74.324 26.6 3494
+-74.198 26.6 3385
+-74.072 26.6 3399
+-73.946 26.6 3410
+-73.82 26.6 3420
+-73.694 26.6 3429
+-73.568 26.6 3437
+-73.442 26.6 3312
+-73.316 26.6 3235
+-73.19 26.6 3236
+-73.064 26.6 3236
+-72.938 26.6 3237
+-72.812 26.6 3237
+-72.686 26.6 3214
+-72.56 26.6 3213
+-72.434 26.6 3180
+-72.308 26.6 3166
+-72.182 26.6 3158
+-72.056 26.6 3044
+-71.93 26.6 3044
+-71.804 26.6 3044
+-71.678 26.6 3045
+-71.552 26.6 3045
+-71.426 26.6 2987
+-71.3 26.6 2959
+-71.174 26.6 2953
+-71.048 26.6 2953
+-70.922 26.6 2954
+-70.796 26.6 2955
+-70.67 26.6 2955
+-70.544 26.6 2956
+-70.418 26.6 2957
+-70.292 26.6 2958
+-70.166 26.6 2959
+-70.04 26.6 2960
+-69.914 26.6 2961
+-69.788 26.6 2962
+-69.662 26.6 2963
+-69.536 26.6 2964
+-69.41 26.6 2965
+-69.284 26.6 2966
+-69.158 26.6 2967
+-69.032 26.6 2968
+-68.906 26.6 2969
+-68.78 26.6 2970
+-68.654 26.6 2971
+-68.528 26.6 2972
+-68.402 26.6 2973
+-68.276 26.6 2974
+-68.15 26.6 2975
+-68.024 26.6 2976
+-67.898 26.6 2914
+-67.772 26.6 2915
+-67.646 26.6 2915
+-67.52 26.6 2916
+-67.394 26.6 2917
+-67.268 26.6 2918
+-67.142 26.6 2918
+-67.016 26.6 2919
+-66.89 26.6 2920
+-66.764 26.6 2921
+-66.638 26.6 2921
+-66.512 26.6 2922
+-66.386 26.6 2923
+-66.26 26.6 2923
+-66.134 26.6 2924
+-66.008 26.6 2925
+-65.882 26.6 2925
+-65.756 26.6 2926
+-65.63 26.6 2927
+-65.504 26.6 2927
+-65.378 26.6 2928
+-65.252 26.6 2928
+-65.126 26.6 2929
+-128 26.548 3007
+-127.874 26.548 2988
+-127.748 26.548 3001
+-127.622 26.548 3004
+-127.496 26.548 3007
+-127.37 26.548 2972
+-127.244 26.548 3422
+-127.118 26.548 3422
+-126.992 26.548 3421
+-126.866 26.548 3392
+-126.74 26.548 3391
+-126.614 26.548 3375
+-126.488 26.548 3405
+-126.362 26.548 3405
+-126.236 26.548 3469
+-126.11 26.548 3468
+-125.984 26.548 3433
+-125.858 26.548 3452
+-125.732 26.548 3490
+-125.606 26.548 3482
+-125.48 26.548 3513
+-125.354 26.548 3512
+-125.228 26.548 3548
+-125.102 26.548 3525
+-124.976 26.548 3524
+-124.85 26.548 3522
+-124.724 26.548 3556
+-124.598 26.548 3554
+-124.472 26.548 3395
+-124.346 26.548 3403
+-124.22 26.548 3422
+-124.094 26.548 3322
+-123.968 26.548 3319
+-123.842 26.548 3305
+-123.716 26.548 3369
+-123.59 26.548 3340
+-123.464 26.548 3337
+-123.338 26.548 3360
+-123.212 26.548 3261
+-123.086 26.548 3264
+-122.96 26.548 3291
+-122.834 26.548 3283
+-122.708 26.548 3279
+-122.582 26.548 3275
+-122.456 26.548 3196
+-122.33 26.548 3194
+-122.204 26.548 3122
+-122.078 26.548 3127
+-121.952 26.548 3126
+-121.826 26.548 3120
+-121.7 26.548 3087
+-121.574 26.548 3081
+-121.448 26.548 3074
+-121.322 26.548 3055
+-121.196 26.548 3172
+-121.07 26.548 3159
+-120.944 26.548 3110
+-120.818 26.548 3095
+-120.692 26.548 3059
+-120.566 26.548 3073
+-120.44 26.548 3040
+-120.314 26.548 2969
+-120.188 26.548 2959
+-120.062 26.548 2926
+-119.936 26.548 2887
+-119.81 26.548 2839
+-119.684 26.548 2782
+-119.558 26.548 2712
+-119.432 26.548 2615
+-119.306 26.548 2519
+-119.18 26.548 2427
+-119.054 26.548 2383
+-118.928 26.548 2434
+-118.802 26.548 2543
+-118.676 26.548 2632
+-118.55 26.548 2664
+-118.424 26.548 2646
+-118.298 26.548 2608
+-118.172 26.548 2588
+-118.046 26.548 2605
+-117.92 26.548 2647
+-117.794 26.548 2712
+-117.668 26.548 2786
+-117.542 26.548 2843
+-117.416 26.548 2880
+-117.29 26.548 2907
+-117.164 26.548 2897
+-117.038 26.548 2912
+-116.912 26.548 2925
+-116.786 26.548 2936
+-116.66 26.548 2932
+-116.534 26.548 2940
+-116.408 26.548 2942
+-116.282 26.548 2936
+-116.156 26.548 2924
+-116.03 26.548 2907
+-115.904 26.548 2893
+-115.778 26.548 2872
+-115.652 26.548 2815
+-115.526 26.548 2761
+-115.4 26.548 2689
+-115.274 26.548 2605
+-115.148 26.548 2514
+-115.022 26.548 2411
+-114.896 26.548 2302
+-114.77 26.548 2234
+-114.644 26.548 2307
+-114.518 26.548 2452
+-114.392 26.548 2592
+-114.266 26.548 2717
+-114.14 26.548 2847
+-114.014 26.548 2966
+-113.888 26.548 3049
+-113.762 26.548 3150
+-113.636 26.548 3203
+-113.51 26.548 3249
+-113.384 26.548 3301
+-113.258 26.548 3347
+-113.132 26.548 3377
+-113.006 26.548 3468
+-112.88 26.548 3506
+-112.754 26.548 3542
+-112.628 26.548 3585
+-112.502 26.548 3621
+-112.376 26.548 3646
+-112.25 26.548 3672
+-112.124 26.548 3717
+-111.998 26.548 3733
+-111.872 26.548 3748
+-111.746 26.548 3791
+-111.62 26.548 3815
+-111.494 26.548 3835
+-111.368 26.548 3862
+-111.242 26.548 3892
+-111.116 26.548 3894
+-110.99 26.548 3907
+-110.864 26.548 3914
+-110.738 26.548 3928
+-110.612 26.548 3944
+-110.486 26.548 3955
+-110.36 26.548 3960
+-110.234 26.548 3954
+-110.108 26.548 3973
+-109.982 26.548 3977
+-109.856 26.548 3978
+-109.73 26.548 3962
+-109.604 26.548 3929
+-109.478 26.548 3885
+-109.352 26.548 3853
+-109.226 26.548 3844
+-109.1 26.548 3813
+-108.974 26.548 3776
+-108.848 26.548 3806
+-108.722 26.548 3790
+-108.596 26.548 3728
+-108.47 26.548 3680
+-108.344 26.548 3660
+-108.218 26.548 3657
+-108.092 26.548 3649
+-107.966 26.548 3638
+-107.84 26.548 3596
+-107.714 26.548 3534
+-107.588 26.548 3491
+-107.462 26.548 3429
+-107.336 26.548 3319
+-107.21 26.548 3222
+-107.084 26.548 3139
+-106.958 26.548 3087
+-106.832 26.548 3067
+-106.706 26.548 3046
+-106.58 26.548 3011
+-106.454 26.548 2959
+-106.328 26.548 2897
+-106.202 26.548 2862
+-106.076 26.548 2856
+-105.95 26.548 2847
+-105.824 26.548 2840
+-105.698 26.548 2836
+-105.572 26.548 2832
+-105.446 26.548 2831
+-105.32 26.548 2841
+-105.194 26.548 2843
+-105.068 26.548 2853
+-104.942 26.548 2866
+-104.816 26.548 2885
+-104.69 26.548 2903
+-104.564 26.548 2926
+-104.438 26.548 2953
+-104.312 26.548 2976
+-104.186 26.548 3000
+-104.06 26.548 3026
+-103.934 26.548 3040
+-103.808 26.548 3080
+-103.682 26.548 3104
+-103.556 26.548 3108
+-103.43 26.548 3129
+-103.304 26.548 3165
+-103.178 26.548 3186
+-103.052 26.548 3177
+-102.926 26.548 3174
+-102.8 26.548 3190
+-102.674 26.548 3093
+-102.548 26.548 3106
+-102.422 26.548 3157
+-102.296 26.548 3169
+-102.17 26.548 3138
+-102.044 26.548 3152
+-101.918 26.548 3163
+-101.792 26.548 3151
+-101.666 26.548 3160
+-101.54 26.548 3169
+-101.414 26.548 3177
+-101.288 26.548 3185
+-101.162 26.548 3192
+-101.036 26.548 3199
+-100.91 26.548 3140
+-100.784 26.548 3138
+-100.658 26.548 3143
+-100.532 26.548 3149
+-100.406 26.548 3131
+-100.28 26.548 3136
+-100.154 26.548 3197
+-100.028 26.548 3202
+-99.902 26.548 3216
+-99.776 26.548 3202
+-99.65 26.548 3208
+-99.524 26.548 3212
+-99.398 26.548 3217
+-99.272 26.548 3216
+-99.146 26.548 3221
+-99.02 26.548 3209
+-98.894 26.548 3214
+-98.768 26.548 3144
+-98.642 26.548 3147
+-98.516 26.548 3150
+-98.39 26.548 3153
+-98.264 26.548 3156
+-98.138 26.548 3159
+-98.012 26.548 3121
+-97.886 26.548 3251
+-97.76 26.548 3149
+-97.634 26.548 3053
+-97.508 26.548 3052
+-97.382 26.548 3050
+-97.256 26.548 3048
+-97.13 26.548 2955
+-97.004 26.548 2951
+-96.878 26.548 2935
+-96.752 26.548 2931
+-96.626 26.548 2877
+-96.5 26.548 2915
+-96.374 26.548 2997
+-96.248 26.548 3059
+-96.122 26.548 3062
+-95.996 26.548 3311
+-95.87 26.548 3347
+-95.744 26.548 3346
+-95.618 26.548 3345
+-95.492 26.548 3344
+-95.366 26.548 3343
+-95.24 26.548 3342
+-95.114 26.548 3341
+-94.988 26.548 3340
+-94.862 26.548 3339
+-94.736 26.548 3337
+-94.61 26.548 3336
+-94.484 26.548 3335
+-94.358 26.548 3333
+-94.232 26.548 3436
+-94.106 26.548 3434
+-93.98 26.548 3467
+-93.854 26.548 3431
+-93.728 26.548 3463
+-93.602 26.548 3428
+-93.476 26.548 3459
+-93.35 26.548 3424
+-93.224 26.548 3454
+-93.098 26.548 3420
+-92.972 26.548 3449
+-92.846 26.548 3415
+-92.72 26.548 3446
+-92.594 26.548 3443
+-92.468 26.548 3439
+-92.342 26.548 3436
+-92.216 26.548 3432
+-92.09 26.548 3429
+-91.964 26.548 3440
+-91.838 26.548 3490
+-91.712 26.548 3486
+-91.586 26.548 3482
+-91.46 26.548 3477
+-91.334 26.548 3472
+-91.208 26.548 3468
+-91.082 26.548 3474
+-90.956 26.548 3586
+-90.83 26.548 3582
+-90.704 26.548 3578
+-90.578 26.548 3575
+-90.452 26.548 3572
+-90.326 26.548 3570
+-90.2 26.548 3654
+-90.074 26.548 3654
+-89.948 26.548 3655
+-89.822 26.548 3658
+-89.696 26.548 3662
+-89.57 26.548 3668
+-89.444 26.548 3736
+-89.318 26.548 3775
+-89.192 26.548 3786
+-89.066 26.548 3797
+-88.94 26.548 3845
+-88.814 26.548 3900
+-88.688 26.548 3912
+-88.562 26.548 3938
+-88.436 26.548 3988
+-88.31 26.548 3998
+-88.184 26.548 4029
+-88.058 26.548 4094
+-87.932 26.548 4090
+-87.806 26.548 4093
+-87.68 26.548 4154
+-87.554 26.548 4162
+-87.428 26.548 4172
+-87.302 26.548 4196
+-87.176 26.548 4329
+-87.05 26.548 4460
+-86.924 26.548 4600
+-86.798 26.548 4761
+-86.672 26.548 4890
+-86.546 26.548 5014
+-86.42 26.548 5086
+-86.294 26.548 5037
+-86.168 26.548 5221
+-86.042 26.548 5433
+-85.916 26.548 5460
+-85.79 26.548 5609
+-85.664 26.548 5781
+-85.538 26.548 5953
+-85.412 26.548 6021
+-85.286 26.548 6195
+-85.16 26.548 6241
+-85.034 26.548 6390
+-84.908 26.548 6546
+-84.782 26.548 6665
+-84.656 26.548 6726
+-84.53 26.548 6879
+-84.404 26.548 7030
+-84.278 26.548 7173
+-84.152 26.548 7261
+-84.026 26.548 7418
+-83.9 26.548 7565
+-83.774 26.548 7589
+-83.648 26.548 7701
+-83.522 26.548 7803
+-83.396 26.548 7926
+-83.27 26.548 7996
+-83.144 26.548 8115
+-83.018 26.548 8207
+-82.892 26.548 8260
+-82.766 26.548 8367
+-82.64 26.548 8390
+-82.514 26.548 8442
+-82.388 26.548 8457
+-82.262 26.548 8484
+-82.136 26.548 8498
+-82.01 26.548 8494
+-81.884 26.548 8410
+-81.758 26.548 8407
+-81.632 26.548 8342
+-81.506 26.548 8298
+-81.38 26.548 8220
+-81.254 26.548 8173
+-81.128 26.548 7996
+-81.002 26.548 7939
+-80.876 26.548 7831
+-80.75 26.548 7694
+-80.624 26.548 7599
+-80.498 26.548 7498
+-80.372 26.548 7404
+-80.246 26.548 7299
+-80.12 26.548 7170
+-79.994 26.548 7067
+-79.868 26.548 6955
+-79.742 26.548 6740
+-79.616 26.548 6700
+-79.49 26.548 6526
+-79.364 26.548 6373
+-79.238 26.548 6269
+-79.112 26.548 6162
+-78.986 26.548 6048
+-78.86 26.548 5839
+-78.734 26.548 5887
+-78.608 26.548 5744
+-78.482 26.548 5584
+-78.356 26.548 5351
+-78.23 26.548 5211
+-78.104 26.548 5062
+-77.978 26.548 4942
+-77.852 26.548 4795
+-77.726 26.548 4665
+-77.6 26.548 4592
+-77.474 26.548 4528
+-77.348 26.548 4399
+-77.222 26.548 4421
+-77.096 26.548 4462
+-76.97 26.548 4411
+-76.844 26.548 4352
+-76.718 26.548 4288
+-76.592 26.548 4217
+-76.466 26.548 4086
+-76.34 26.548 3947
+-76.214 26.548 3801
+-76.088 26.548 3633
+-75.962 26.548 3435
+-75.836 26.548 3259
+-75.71 26.548 3135
+-75.584 26.548 3112
+-75.458 26.548 3146
+-75.332 26.548 3206
+-75.206 26.548 3237
+-75.08 26.548 3301
+-74.954 26.548 3353
+-74.828 26.548 3395
+-74.702 26.548 3429
+-74.576 26.548 3455
+-74.45 26.548 3477
+-74.324 26.548 3495
+-74.198 26.548 3509
+-74.072 26.548 3409
+-73.946 26.548 3420
+-73.82 26.548 3430
+-73.694 26.548 3438
+-73.568 26.548 3311
+-73.442 26.548 3312
+-73.316 26.548 3232
+-73.19 26.548 3233
+-73.064 26.548 3233
+-72.938 26.548 3233
+-72.812 26.548 3232
+-72.686 26.548 3232
+-72.56 26.548 3208
+-72.434 26.548 3149
+-72.308 26.548 3148
+-72.182 26.548 3160
+-72.056 26.548 3036
+-71.93 26.548 3037
+-71.804 26.548 3037
+-71.678 26.548 3037
+-71.552 26.548 3038
+-71.426 26.548 3038
+-71.3 26.548 2980
+-71.174 26.548 2952
+-71.048 26.548 2946
+-70.922 26.548 2899
+-70.796 26.548 2899
+-70.67 26.548 2899
+-70.544 26.548 2899
+-70.418 26.548 2900
+-70.292 26.548 2900
+-70.166 26.548 2900
+-70.04 26.548 2901
+-69.914 26.548 2901
+-69.788 26.548 2902
+-69.662 26.548 2903
+-69.536 26.548 2903
+-69.41 26.548 2904
+-69.284 26.548 2905
+-69.158 26.548 2905
+-69.032 26.548 2906
+-68.906 26.548 2907
+-68.78 26.548 2907
+-68.654 26.548 2908
+-68.528 26.548 2909
+-68.402 26.548 2909
+-68.276 26.548 2910
+-68.15 26.548 2911
+-68.024 26.548 2912
+-67.898 26.548 2912
+-67.772 26.548 2910
+-67.646 26.548 2911
+-67.52 26.548 2912
+-67.394 26.548 2912
+-67.268 26.548 2913
+-67.142 26.548 2914
+-67.016 26.548 2915
+-66.89 26.548 2916
+-66.764 26.548 2917
+-66.638 26.548 2917
+-66.512 26.548 2918
+-66.386 26.548 2919
+-66.26 26.548 2920
+-66.134 26.548 2920
+-66.008 26.548 2921
+-65.882 26.548 2922
+-65.756 26.548 2923
+-65.63 26.548 2923
+-65.504 26.548 2924
+-65.378 26.548 2925
+-65.252 26.548 2925
+-65.126 26.548 2926
+-128 26.496 2989
+-127.874 26.496 3002
+-127.748 26.496 3004
+-127.622 26.496 3007
+-127.496 26.496 2972
+-127.37 26.496 3423
+-127.244 26.496 3423
+-127.118 26.496 3422
+-126.992 26.496 3393
+-126.866 26.496 3392
+-126.74 26.496 3375
+-126.614 26.496 3406
+-126.488 26.496 3405
+-126.362 26.496 3470
+-126.236 26.496 3469
+-126.11 26.496 3434
+-125.984 26.496 3453
+-125.858 26.496 3491
+-125.732 26.496 3483
+-125.606 26.496 3515
+-125.48 26.496 3514
+-125.354 26.496 3551
+-125.228 26.496 3527
+-125.102 26.496 3526
+-124.976 26.496 3525
+-124.85 26.496 3558
+-124.724 26.496 3557
+-124.598 26.496 3391
+-124.472 26.496 3399
+-124.346 26.496 3418
+-124.22 26.496 3318
+-124.094 26.496 3315
+-123.968 26.496 3301
+-123.842 26.496 3365
+-123.716 26.496 3335
+-123.59 26.496 3332
+-123.464 26.496 3355
+-123.338 26.496 3255
+-123.212 26.496 3259
+-123.086 26.496 3285
+-122.96 26.496 3278
+-122.834 26.496 3274
+-122.708 26.496 3270
+-122.582 26.496 3190
+-122.456 26.496 3188
+-122.33 26.496 3114
+-122.204 26.496 3120
+-122.078 26.496 3119
+-121.952 26.496 3113
+-121.826 26.496 3080
+-121.7 26.496 3074
+-121.574 26.496 3067
+-121.448 26.496 3078
+-121.322 26.496 3059
+-121.196 26.496 3050
+-121.07 26.496 3006
+-120.944 26.496 2995
+-120.818 26.496 3018
+-120.692 26.496 2987
+-120.566 26.496 2961
+-120.44 26.496 2893
+-120.314 26.496 2976
+-120.188 26.496 2948
+-120.062 26.496 2915
+-119.936 26.496 2875
+-119.81 26.496 2829
+-119.684 26.496 2773
+-119.558 26.496 2691
+-119.432 26.496 2615
+-119.306 26.496 2533
+-119.18 26.496 2458
+-119.054 26.496 2426
+-118.928 26.496 2466
+-118.802 26.496 2554
+-118.676 26.496 2624
+-118.55 26.496 2642
+-118.424 26.496 2619
+-118.298 26.496 2580
+-118.172 26.496 2560
+-118.046 26.496 2561
+-117.92 26.496 2590
+-117.794 26.496 2659
+-117.668 26.496 2736
+-117.542 26.496 2801
+-117.416 26.496 2848
+-117.29 26.496 2850
+-117.164 26.496 2870
+-117.038 26.496 2886
+-116.912 26.496 2881
+-116.786 26.496 2900
+-116.66 26.496 2904
+-116.534 26.496 2905
+-116.408 26.496 2910
+-116.282 26.496 2908
+-116.156 26.496 2896
+-116.03 26.496 2877
+-115.904 26.496 2847
+-115.778 26.496 2816
+-115.652 26.496 2777
+-115.526 26.496 2720
+-115.4 26.496 2650
+-115.274 26.496 2563
+-115.148 26.496 2475
+-115.022 26.496 2377
+-114.896 26.496 2300
+-114.77 26.496 2274
+-114.644 26.496 2315
+-114.518 26.496 2418
+-114.392 26.496 2550
+-114.266 26.496 2699
+-114.14 26.496 2831
+-114.014 26.496 2932
+-113.888 26.496 3025
+-113.762 26.496 3077
+-113.636 26.496 3120
+-113.51 26.496 3171
+-113.384 26.496 3219
+-113.258 26.496 3267
+-113.132 26.496 3304
+-113.006 26.496 3362
+-112.88 26.496 3384
+-112.754 26.496 3439
+-112.628 26.496 3510
+-112.502 26.496 3565
+-112.376 26.496 3584
+-112.25 26.496 3588
+-112.124 26.496 3651
+-111.998 26.496 3706
+-111.872 26.496 3716
+-111.746 26.496 3733
+-111.62 26.496 3747
+-111.494 26.496 3779
+-111.368 26.496 3818
+-111.242 26.496 3828
+-111.116 26.496 3856
+-110.99 26.496 3833
+-110.864 26.496 3877
+-110.738 26.496 3893
+-110.612 26.496 3907
+-110.486 26.496 3930
+-110.36 26.496 3934
+-110.234 26.496 3941
+-110.108 26.496 3951
+-109.982 26.496 3964
+-109.856 26.496 3955
+-109.73 26.496 3927
+-109.604 26.496 3889
+-109.478 26.496 3841
+-109.352 26.496 3822
+-109.226 26.496 3817
+-109.1 26.496 3795
+-108.974 26.496 3779
+-108.848 26.496 3774
+-108.722 26.496 3729
+-108.596 26.496 3637
+-108.47 26.496 3570
+-108.344 26.496 3585
+-108.218 26.496 3630
+-108.092 26.496 3644
+-107.966 26.496 3614
+-107.84 26.496 3599
+-107.714 26.496 3533
+-107.588 26.496 3485
+-107.462 26.496 3430
+-107.336 26.496 3329
+-107.21 26.496 3254
+-107.084 26.496 3184
+-106.958 26.496 3135
+-106.832 26.496 3096
+-106.706 26.496 3057
+-106.58 26.496 3009
+-106.454 26.496 2961
+-106.328 26.496 2909
+-106.202 26.496 2849
+-106.076 26.496 2816
+-105.95 26.496 2812
+-105.824 26.496 2806
+-105.698 26.496 2807
+-105.572 26.496 2813
+-105.446 26.496 2822
+-105.32 26.496 2833
+-105.194 26.496 2854
+-105.068 26.496 2866
+-104.942 26.496 2883
+-104.816 26.496 2900
+-104.69 26.496 2921
+-104.564 26.496 2939
+-104.438 26.496 2963
+-104.312 26.496 2988
+-104.186 26.496 3009
+-104.06 26.496 3030
+-103.934 26.496 3053
+-103.808 26.496 3065
+-103.682 26.496 3104
+-103.556 26.496 3126
+-103.43 26.496 3127
+-103.304 26.496 3147
+-103.178 26.496 3183
+-103.052 26.496 3202
+-102.926 26.496 3190
+-102.8 26.496 3185
+-102.674 26.496 3201
+-102.548 26.496 3102
+-102.422 26.496 3113
+-102.296 26.496 3164
+-102.17 26.496 3176
+-102.044 26.496 3144
+-101.918 26.496 3158
+-101.792 26.496 3168
+-101.666 26.496 3155
+-101.54 26.496 3164
+-101.414 26.496 3172
+-101.288 26.496 3180
+-101.162 26.496 3188
+-101.036 26.496 3195
+-100.91 26.496 3201
+-100.784 26.496 3142
+-100.658 26.496 3140
+-100.532 26.496 3145
+-100.406 26.496 3150
+-100.28 26.496 3132
+-100.154 26.496 3138
+-100.028 26.496 3198
+-99.902 26.496 3204
+-99.776 26.496 3218
+-99.65 26.496 3204
+-99.524 26.496 3209
+-99.398 26.496 3214
+-99.272 26.496 3218
+-99.146 26.496 3217
+-99.02 26.496 3222
+-98.894 26.496 3210
+-98.768 26.496 3214
+-98.642 26.496 3144
+-98.516 26.496 3147
+-98.39 26.496 3151
+-98.264 26.496 3154
+-98.138 26.496 3157
+-98.012 26.496 3159
+-97.886 26.496 3121
+-97.76 26.496 3252
+-97.634 26.496 3157
+-97.508 26.496 3050
+-97.382 26.496 3048
+-97.256 26.496 3046
+-97.13 26.496 2954
+-97.004 26.496 2950
+-96.878 26.496 2934
+-96.752 26.496 2932
+-96.626 26.496 2878
+-96.5 26.496 2916
+-96.374 26.496 2998
+-96.248 26.496 3060
+-96.122 26.496 3063
+-95.996 26.496 3310
+-95.87 26.496 3346
+-95.744 26.496 3345
+-95.618 26.496 3344
+-95.492 26.496 3343
+-95.366 26.496 3342
+-95.24 26.496 3341
+-95.114 26.496 3340
+-94.988 26.496 3339
+-94.862 26.496 3338
+-94.736 26.496 3337
+-94.61 26.496 3335
+-94.484 26.496 3334
+-94.358 26.496 3436
+-94.232 26.496 3435
+-94.106 26.496 3433
+-93.98 26.496 3432
+-93.854 26.496 3430
+-93.728 26.496 3429
+-93.602 26.496 3427
+-93.476 26.496 3425
+-93.35 26.496 3423
+-93.224 26.496 3421
+-93.098 26.496 3419
+-92.972 26.496 3417
+-92.846 26.496 3448
+-92.72 26.496 3445
+-92.594 26.496 3442
+-92.468 26.496 3439
+-92.342 26.496 3436
+-92.216 26.496 3433
+-92.09 26.496 3446
+-91.964 26.496 3443
+-91.838 26.496 3439
+-91.712 26.496 3490
+-91.586 26.496 3486
+-91.46 26.496 3482
+-91.334 26.496 3478
+-91.208 26.496 3485
+-91.082 26.496 3600
+-90.956 26.496 3597
+-90.83 26.496 3593
+-90.704 26.496 3591
+-90.578 26.496 3588
+-90.452 26.496 3587
+-90.326 26.496 3586
+-90.2 26.496 3675
+-90.074 26.496 3676
+-89.948 26.496 3678
+-89.822 26.496 3682
+-89.696 26.496 3687
+-89.57 26.496 3693
+-89.444 26.496 3701
+-89.318 26.496 3771
+-89.192 26.496 3814
+-89.066 26.496 3840
+-88.94 26.496 3913
+-88.814 26.496 3925
+-88.688 26.496 3936
+-88.562 26.496 3948
+-88.436 26.496 4013
+-88.31 26.496 4026
+-88.184 26.496 4059
+-88.058 26.496 4132
+-87.932 26.496 4132
+-87.806 26.496 4132
+-87.68 26.496 4126
+-87.554 26.496 4139
+-87.428 26.496 4068
+-87.302 26.496 4024
+-87.176 26.496 4175
+-87.05 26.496 4401
+-86.924 26.496 4588
+-86.798 26.496 4758
+-86.672 26.496 4914
+-86.546 26.496 5002
+-86.42 26.496 5066
+-86.294 26.496 5143
+-86.168 26.496 5285
+-86.042 26.496 5421
+-85.916 26.496 5515
+-85.79 26.496 5634
+-85.664 26.496 5745
+-85.538 26.496 5892
+-85.412 26.496 6054
+-85.286 26.496 6185
+-85.16 26.496 6292
+-85.034 26.496 6404
+-84.908 26.496 6529
+-84.782 26.496 6639
+-84.656 26.496 6728
+-84.53 26.496 6862
+-84.404 26.496 6976
+-84.278 26.496 7081
+-84.152 26.496 7230
+-84.026 26.496 7313
+-83.9 26.496 7484
+-83.774 26.496 7584
+-83.648 26.496 7748
+-83.522 26.496 7783
+-83.396 26.496 7871
+-83.27 26.496 8002
+-83.144 26.496 8113
+-83.018 26.496 8184
+-82.892 26.496 8234
+-82.766 26.496 8283
+-82.64 26.496 8311
+-82.514 26.496 8371
+-82.388 26.496 8427
+-82.262 26.496 8425
+-82.136 26.496 8430
+-82.01 26.496 8407
+-81.884 26.496 8406
+-81.758 26.496 8346
+-81.632 26.496 8278
+-81.506 26.496 8206
+-81.38 26.496 8148
+-81.254 26.496 8110
+-81.128 26.496 7979
+-81.002 26.496 7902
+-80.876 26.496 7772
+-80.75 26.496 7652
+-80.624 26.496 7626
+-80.498 26.496 7498
+-80.372 26.496 7321
+-80.246 26.496 7269
+-80.12 26.496 7081
+-79.994 26.496 7091
+-79.868 26.496 6940
+-79.742 26.496 6689
+-79.616 26.496 6566
+-79.49 26.496 6483
+-79.364 26.496 6313
+-79.238 26.496 6266
+-79.112 26.496 6155
+-78.986 26.496 5967
+-78.86 26.496 5942
+-78.734 26.496 5807
+-78.608 26.496 5658
+-78.482 26.496 5507
+-78.356 26.496 5316
+-78.23 26.496 5191
+-78.104 26.496 5066
+-77.978 26.496 4932
+-77.852 26.496 4787
+-77.726 26.496 4670
+-77.6 26.496 4527
+-77.474 26.496 4474
+-77.348 26.496 4224
+-77.222 26.496 4352
+-77.096 26.496 4436
+-76.97 26.496 4402
+-76.844 26.496 4366
+-76.718 26.496 4317
+-76.592 26.496 4255
+-76.466 26.496 4177
+-76.34 26.496 4037
+-76.214 26.496 3895
+-76.088 26.496 3751
+-75.962 26.496 3601
+-75.836 26.496 3472
+-75.71 26.496 3399
+-75.584 26.496 3306
+-75.458 26.496 3301
+-75.332 26.496 3317
+-75.206 26.496 3367
+-75.08 26.496 3358
+-74.954 26.496 3396
+-74.828 26.496 3429
+-74.702 26.496 3456
+-74.576 26.496 3478
+-74.45 26.496 3496
+-74.324 26.496 3512
+-74.198 26.496 3525
+-74.072 26.496 3536
+-73.946 26.496 3431
+-73.82 26.496 3439
+-73.694 26.496 3311
+-73.568 26.496 3311
+-73.442 26.496 3311
+-73.316 26.496 3310
+-73.19 26.496 3228
+-73.064 26.496 3228
+-72.938 26.496 3228
+-72.812 26.496 3227
+-72.686 26.496 3227
+-72.56 26.496 3187
+-72.434 26.496 3131
+-72.308 26.496 3142
+-72.182 26.496 3141
+-72.056 26.496 3140
+-71.93 26.496 3029
+-71.804 26.496 3005
+-71.678 26.496 3005
+-71.552 26.496 3004
+-71.426 26.496 3004
+-71.3 26.496 2937
+-71.174 26.496 2926
+-71.048 26.496 2920
+-70.922 26.496 2891
+-70.796 26.496 2891
+-70.67 26.496 2891
+-70.544 26.496 2892
+-70.418 26.496 2892
+-70.292 26.496 2893
+-70.166 26.496 2894
+-70.04 26.496 2894
+-69.914 26.496 2895
+-69.788 26.496 2896
+-69.662 26.496 2896
+-69.536 26.496 2897
+-69.41 26.496 2898
+-69.284 26.496 2899
+-69.158 26.496 2900
+-69.032 26.496 2900
+-68.906 26.496 2901
+-68.78 26.496 2902
+-68.654 26.496 2903
+-68.528 26.496 2904
+-68.402 26.496 2905
+-68.276 26.496 2906
+-68.15 26.496 2906
+-68.024 26.496 2907
+-67.898 26.496 2908
+-67.772 26.496 2909
+-67.646 26.496 2906
+-67.52 26.496 2907
+-67.394 26.496 2908
+-67.268 26.496 2909
+-67.142 26.496 2910
+-67.016 26.496 2911
+-66.89 26.496 2912
+-66.764 26.496 2913
+-66.638 26.496 2913
+-66.512 26.496 2914
+-66.386 26.496 2915
+-66.26 26.496 2916
+-66.134 26.496 2917
+-66.008 26.496 2918
+-65.882 26.496 2919
+-65.756 26.496 2919
+-65.63 26.496 2920
+-65.504 26.496 2921
+-65.378 26.496 2922
+-65.252 26.496 2922
+-65.126 26.496 2923
+-128 26.444 3003
+-127.874 26.444 3005
+-127.748 26.444 3008
+-127.622 26.444 2972
+-127.496 26.444 3423
+-127.37 26.444 3424
+-127.244 26.444 3423
+-127.118 26.444 3393
+-126.992 26.444 3393
+-126.866 26.444 3376
+-126.74 26.444 3407
+-126.614 26.444 3406
+-126.488 26.444 3471
+-126.362 26.444 3470
+-126.236 26.444 3435
+-126.11 26.444 3455
+-125.984 26.444 3493
+-125.858 26.444 3485
+-125.732 26.444 3517
+-125.606 26.444 3515
+-125.48 26.444 3553
+-125.354 26.444 3529
+-125.228 26.444 3528
+-125.102 26.444 3527
+-124.976 26.444 3561
+-124.85 26.444 3559
+-124.724 26.444 3388
+-124.598 26.444 3396
+-124.472 26.444 3415
+-124.346 26.444 3314
+-124.22 26.444 3311
+-124.094 26.444 3296
+-123.968 26.444 3360
+-123.842 26.444 3330
+-123.716 26.444 3327
+-123.59 26.444 3350
+-123.464 26.444 3250
+-123.338 26.444 3253
+-123.212 26.444 3280
+-123.086 26.444 3273
+-122.96 26.444 3268
+-122.834 26.444 3264
+-122.708 26.444 3184
+-122.582 26.444 3181
+-122.456 26.444 3107
+-122.33 26.444 3112
+-122.204 26.444 3112
+-122.078 26.444 3106
+-121.952 26.444 3073
+-121.826 26.444 3067
+-121.7 26.444 3061
+-121.574 26.444 3072
+-121.448 26.444 3053
+-121.322 26.444 3045
+-121.196 26.444 3000
+-121.07 26.444 2991
+-120.944 26.444 3016
+-120.818 26.444 2982
+-120.692 26.444 2961
+-120.566 26.444 2893
+-120.44 26.444 2900
+-120.314 26.444 2882
+-120.188 26.444 2861
+-120.062 26.444 2837
+-119.936 26.444 2870
+-119.81 26.444 2827
+-119.684 26.444 2756
+-119.558 26.444 2701
+-119.432 26.444 2641
+-119.306 26.444 2577
+-119.18 26.444 2529
+-119.054 26.444 2508
+-118.928 26.444 2536
+-118.802 26.444 2591
+-118.676 26.444 2630
+-118.55 26.444 2635
+-118.424 26.444 2615
+-118.298 26.444 2584
+-118.172 26.444 2556
+-118.046 26.444 2521
+-117.92 26.444 2559
+-117.794 26.444 2631
+-117.668 26.444 2706
+-117.542 26.444 2770
+-117.416 26.444 2789
+-117.29 26.444 2819
+-117.164 26.444 2840
+-117.038 26.444 2840
+-116.912 26.444 2849
+-116.786 26.444 2856
+-116.66 26.444 2872
+-116.534 26.444 2873
+-116.408 26.444 2870
+-116.282 26.444 2872
+-116.156 26.444 2866
+-116.03 26.444 2839
+-115.904 26.444 2814
+-115.778 26.444 2780
+-115.652 26.444 2751
+-115.526 26.444 2691
+-115.4 26.444 2624
+-115.274 26.444 2539
+-115.148 26.444 2446
+-115.022 26.444 2340
+-114.896 26.444 2243
+-114.77 26.444 2198
+-114.644 26.444 2258
+-114.518 26.444 2374
+-114.392 26.444 2519
+-114.266 26.444 2659
+-114.14 26.444 2791
+-114.014 26.444 2881
+-113.888 26.444 2973
+-113.762 26.444 3016
+-113.636 26.444 3057
+-113.51 26.444 3089
+-113.384 26.444 3140
+-113.258 26.444 3202
+-113.132 26.444 3242
+-113.006 26.444 3276
+-112.88 26.444 3268
+-112.754 26.444 3326
+-112.628 26.444 3432
+-112.502 26.444 3516
+-112.376 26.444 3550
+-112.25 26.444 3543
+-112.124 26.444 3581
+-111.998 26.444 3644
+-111.872 26.444 3671
+-111.746 26.444 3691
+-111.62 26.444 3705
+-111.494 26.444 3708
+-111.368 26.444 3730
+-111.242 26.444 3760
+-111.116 26.444 3772
+-110.99 26.444 3795
+-110.864 26.444 3802
+-110.738 26.444 3816
+-110.612 26.444 3841
+-110.486 26.444 3857
+-110.36 26.444 3903
+-110.234 26.444 3922
+-110.108 26.444 3926
+-109.982 26.444 3922
+-109.856 26.444 3907
+-109.73 26.444 3889
+-109.604 26.444 3850
+-109.478 26.444 3824
+-109.352 26.444 3808
+-109.226 26.444 3780
+-109.1 26.444 3745
+-108.974 26.444 3739
+-108.848 26.444 3729
+-108.722 26.444 3680
+-108.596 26.444 3570
+-108.47 26.444 3496
+-108.344 26.444 3544
+-108.218 26.444 3600
+-108.092 26.444 3626
+-107.966 26.444 3615
+-107.84 26.444 3603
+-107.714 26.444 3528
+-107.588 26.444 3462
+-107.462 26.444 3412
+-107.336 26.444 3338
+-107.21 26.444 3273
+-107.084 26.444 3211
+-106.958 26.444 3153
+-106.832 26.444 3106
+-106.706 26.444 3051
+-106.58 26.444 2989
+-106.454 26.444 2921
+-106.328 26.444 2859
+-106.202 26.444 2801
+-106.076 26.444 2744
+-105.95 26.444 2723
+-105.824 26.444 2735
+-105.698 26.444 2751
+-105.572 26.444 2772
+-105.446 26.444 2795
+-105.32 26.444 2818
+-105.194 26.444 2840
+-105.068 26.444 2871
+-104.942 26.444 2888
+-104.816 26.444 2910
+-104.69 26.444 2929
+-104.564 26.444 2953
+-104.438 26.444 2971
+-104.312 26.444 2994
+-104.186 26.444 3018
+-104.06 26.444 3037
+-103.934 26.444 3056
+-103.808 26.444 3078
+-103.682 26.444 3087
+-103.556 26.444 3126
+-103.43 26.444 3146
+-103.304 26.444 3145
+-103.178 26.444 3163
+-103.052 26.444 3198
+-102.926 26.444 3216
+-102.8 26.444 3203
+-102.674 26.444 3197
+-102.548 26.444 3212
+-102.422 26.444 3109
+-102.296 26.444 3120
+-102.17 26.444 3172
+-102.044 26.444 3183
+-101.918 26.444 3149
+-101.792 26.444 3163
+-101.666 26.444 3173
+-101.54 26.444 3160
+-101.414 26.444 3168
+-101.288 26.444 3176
+-101.162 26.444 3183
+-101.036 26.444 3191
+-100.91 26.444 3197
+-100.784 26.444 3204
+-100.658 26.444 3144
+-100.532 26.444 3142
+-100.406 26.444 3147
+-100.28 26.444 3152
+-100.154 26.444 3134
+-100.028 26.444 3139
+-99.902 26.444 3200
+-99.776 26.444 3206
+-99.65 26.444 3219
+-99.524 26.444 3205
+-99.398 26.444 3210
+-99.272 26.444 3215
+-99.146 26.444 3219
+-99.02 26.444 3218
+-98.894 26.444 3223
+-98.768 26.444 3211
+-98.642 26.444 3215
+-98.516 26.444 3144
+-98.39 26.444 3148
+-98.264 26.444 3151
+-98.138 26.444 3154
+-98.012 26.444 3157
+-97.886 26.444 3159
+-97.76 26.444 3056
+-97.634 26.444 3142
+-97.508 26.444 3154
+-97.382 26.444 3046
+-97.256 26.444 3044
+-97.13 26.444 2953
+-97.004 26.444 2949
+-96.878 26.444 2913
+-96.752 26.444 2932
+-96.626 26.444 2879
+-96.5 26.444 2918
+-96.374 26.444 2999
+-96.248 26.444 3061
+-96.122 26.444 3064
+-95.996 26.444 3310
+-95.87 26.444 3345
+-95.744 26.444 3344
+-95.618 26.444 3343
+-95.492 26.444 3342
+-95.366 26.444 3341
+-95.24 26.444 3340
+-95.114 26.444 3339
+-94.988 26.444 3338
+-94.862 26.444 3337
+-94.736 26.444 3336
+-94.61 26.444 3335
+-94.484 26.444 3437
+-94.358 26.444 3435
+-94.232 26.444 3434
+-94.106 26.444 3433
+-93.98 26.444 3431
+-93.854 26.444 3430
+-93.728 26.444 3428
+-93.602 26.444 3426
+-93.476 26.444 3425
+-93.35 26.444 3423
+-93.224 26.444 3421
+-93.098 26.444 3419
+-92.972 26.444 3450
+-92.846 26.444 3448
+-92.72 26.444 3445
+-92.594 26.444 3442
+-92.468 26.444 3439
+-92.342 26.444 3436
+-92.216 26.444 3450
+-92.09 26.444 3447
+-91.964 26.444 3445
+-91.838 26.444 3442
+-91.712 26.444 3439
+-91.586 26.444 3491
+-91.46 26.444 3487
+-91.334 26.444 3494
+-91.208 26.444 3570
+-91.082 26.444 3568
+-90.956 26.444 3567
+-90.83 26.444 3565
+-90.704 26.444 3564
+-90.578 26.444 3564
+-90.452 26.444 3600
+-90.326 26.444 3636
+-90.2 26.444 3693
+-90.074 26.444 3695
+-89.948 26.444 3698
+-89.822 26.444 3702
+-89.696 26.444 3707
+-89.57 26.444 3714
+-89.444 26.444 3722
+-89.318 26.444 3778
+-89.192 26.444 3805
+-89.066 26.444 3863
+-88.94 26.444 3922
+-88.814 26.444 3945
+-88.688 26.444 3956
+-88.562 26.444 3968
+-88.436 26.444 4057
+-88.31 26.444 4069
+-88.184 26.444 4150
+-88.058 26.444 4152
+-87.932 26.444 4153
+-87.806 26.444 4149
+-87.68 26.444 4171
+-87.554 26.444 4102
+-87.428 26.444 3982
+-87.302 26.444 3875
+-87.176 26.444 4061
+-87.05 26.444 4369
+-86.924 26.444 4607
+-86.798 26.444 4750
+-86.672 26.444 4888
+-86.546 26.444 4954
+-86.42 26.444 5046
+-86.294 26.444 5213
+-86.168 26.444 5314
+-86.042 26.444 5384
+-85.916 26.444 5489
+-85.79 26.444 5622
+-85.664 26.444 5712
+-85.538 26.444 5815
+-85.412 26.444 6007
+-85.286 26.444 6037
+-85.16 26.444 6237
+-85.034 26.444 6400
+-84.908 26.444 6514
+-84.782 26.444 6626
+-84.656 26.444 6764
+-84.53 26.444 6890
+-84.404 26.444 7022
+-84.278 26.444 7088
+-84.152 26.444 7200
+-84.026 26.444 7371
+-83.9 26.444 7425
+-83.774 26.444 7546
+-83.648 26.444 7614
+-83.522 26.444 7730
+-83.396 26.444 7854
+-83.27 26.444 7920
+-83.144 26.444 8021
+-83.018 26.444 8104
+-82.892 26.444 8188
+-82.766 26.444 8250
+-82.64 26.444 8283
+-82.514 26.444 8321
+-82.388 26.444 8336
+-82.262 26.444 8358
+-82.136 26.444 8366
+-82.01 26.444 8349
+-81.884 26.444 8317
+-81.758 26.444 8302
+-81.632 26.444 8213
+-81.506 26.444 8153
+-81.38 26.444 8129
+-81.254 26.444 8033
+-81.128 26.444 7943
+-81.002 26.444 7837
+-80.876 26.444 7795
+-80.75 26.444 7683
+-80.624 26.444 7518
+-80.498 26.444 7479
+-80.372 26.444 7360
+-80.246 26.444 7255
+-80.12 26.444 7183
+-79.994 26.444 7060
+-79.868 26.444 6933
+-79.742 26.444 6701
+-79.616 26.444 6553
+-79.49 26.444 6431
+-79.364 26.444 6264
+-79.238 26.444 6155
+-79.112 26.444 6141
+-78.986 26.444 6011
+-78.86 26.444 5898
+-78.734 26.444 5736
+-78.608 26.444 5589
+-78.482 26.444 5462
+-78.356 26.444 5273
+-78.23 26.444 5181
+-78.104 26.444 5088
+-77.978 26.444 4910
+-77.852 26.444 4727
+-77.726 26.444 4732
+-77.6 26.444 4626
+-77.474 26.444 4534
+-77.348 26.444 4396
+-77.222 26.444 4427
+-77.096 26.444 4472
+-76.97 26.444 4432
+-76.844 26.444 4393
+-76.718 26.444 4342
+-76.592 26.444 4288
+-76.466 26.444 4221
+-76.34 26.444 4117
+-76.214 26.444 3996
+-76.088 26.444 3852
+-75.962 26.444 3734
+-75.836 26.444 3648
+-75.71 26.444 3535
+-75.584 26.444 3507
+-75.458 26.444 3479
+-75.332 26.444 3448
+-75.206 26.444 3444
+-75.08 26.444 3475
+-74.954 26.444 3441
+-74.828 26.444 3464
+-74.702 26.444 3484
+-74.576 26.444 3502
+-74.45 26.444 3517
+-74.324 26.444 3530
+-74.198 26.444 3541
+-74.072 26.444 3418
+-73.946 26.444 3426
+-73.82 26.444 3311
+-73.694 26.444 3311
+-73.568 26.444 3310
+-73.442 26.444 3309
+-73.316 26.444 3308
+-73.19 26.444 3306
+-73.064 26.444 3200
+-72.938 26.444 3222
+-72.812 26.444 3184
+-72.686 26.444 3182
+-72.56 26.444 3126
+-72.434 26.444 3125
+-72.308 26.444 3123
+-72.182 26.444 3134
+-72.056 26.444 3133
+-71.93 26.444 3010
+-71.804 26.444 3021
+-71.678 26.444 2997
+-71.552 26.444 2997
+-71.426 26.444 2997
+-71.3 26.444 2927
+-71.174 26.444 2928
+-71.048 26.444 2917
+-70.922 26.444 2912
+-70.796 26.444 2883
+-70.67 26.444 2884
+-70.544 26.444 2884
+-70.418 26.444 2885
+-70.292 26.444 2886
+-70.166 26.444 2887
+-70.04 26.444 2887
+-69.914 26.444 2888
+-69.788 26.444 2889
+-69.662 26.444 2890
+-69.536 26.444 2891
+-69.41 26.444 2892
+-69.284 26.444 2893
+-69.158 26.444 2894
+-69.032 26.444 2895
+-68.906 26.444 2896
+-68.78 26.444 2897
+-68.654 26.444 2898
+-68.528 26.444 2899
+-68.402 26.444 2900
+-68.276 26.444 2901
+-68.15 26.444 2902
+-68.024 26.444 2903
+-67.898 26.444 2904
+-67.772 26.444 2905
+-67.646 26.444 2906
+-67.52 26.444 2902
+-67.394 26.444 2903
+-67.268 26.444 2904
+-67.142 26.444 2905
+-67.016 26.444 2906
+-66.89 26.444 2907
+-66.764 26.444 2909
+-66.638 26.444 2909
+-66.512 26.444 2910
+-66.386 26.444 2911
+-66.26 26.444 2912
+-66.134 26.444 2913
+-66.008 26.444 2914
+-65.882 26.444 2915
+-65.756 26.444 2916
+-65.63 26.444 2917
+-65.504 26.444 2918
+-65.378 26.444 2919
+-65.252 26.444 2919
+-65.126 26.444 2920
+-128 26.392 3006
+-127.874 26.392 3009
+-127.748 26.392 2972
+-127.622 26.392 3424
+-127.496 26.392 3425
+-127.37 26.392 3424
+-127.244 26.392 3394
+-127.118 26.392 3394
+-126.992 26.392 3376
+-126.866 26.392 3407
+-126.74 26.392 3407
+-126.614 26.392 3472
+-126.488 26.392 3471
+-126.362 26.392 3435
+-126.236 26.392 3456
+-126.11 26.392 3494
+-125.984 26.392 3486
+-125.858 26.392 3518
+-125.732 26.392 3517
+-125.606 26.392 3555
+-125.48 26.392 3531
+-125.354 26.392 3530
+-125.228 26.392 3528
+-125.102 26.392 3563
+-124.976 26.392 3561
+-124.85 26.392 3384
+-124.724 26.392 3392
+-124.598 26.392 3411
+-124.472 26.392 3309
+-124.346 26.392 3307
+-124.22 26.392 3292
+-124.094 26.392 3356
+-123.968 26.392 3326
+-123.842 26.392 3323
+-123.716 26.392 3345
+-123.59 26.392 3245
+-123.464 26.392 3248
+-123.338 26.392 3275
+-123.212 26.392 3268
+-123.086 26.392 3263
+-122.96 26.392 3259
+-122.834 26.392 3177
+-122.708 26.392 3175
+-122.582 26.392 3100
+-122.456 26.392 3105
+-122.33 26.392 3105
+-122.204 26.392 3099
+-122.078 26.392 3066
+-121.952 26.392 3060
+-121.826 26.392 3054
+-121.7 26.392 3065
+-121.574 26.392 3047
+-121.448 26.392 3039
+-121.322 26.392 2995
+-121.196 26.392 2986
+-121.07 26.392 3013
+-120.944 26.392 2979
+-120.818 26.392 2960
+-120.692 26.392 2891
+-120.566 26.392 2902
+-120.44 26.392 2887
+-120.314 26.392 2870
+-120.188 26.392 2850
+-120.062 26.392 2827
+-119.936 26.392 2801
+-119.81 26.392 2744
+-119.684 26.392 2714
+-119.558 26.392 2679
+-119.432 26.392 2634
+-119.306 26.392 2600
+-119.18 26.392 2593
+-119.054 26.392 2586
+-118.928 26.392 2602
+-118.802 26.392 2625
+-118.676 26.392 2640
+-118.55 26.392 2640
+-118.424 26.392 2625
+-118.298 26.392 2597
+-118.172 26.392 2570
+-118.046 26.392 2553
+-117.92 26.392 2578
+-117.794 26.392 2635
+-117.668 26.392 2697
+-117.542 26.392 2726
+-117.416 26.392 2763
+-117.29 26.392 2789
+-117.164 26.392 2793
+-117.038 26.392 2805
+-116.912 26.392 2805
+-116.786 26.392 2811
+-116.66 26.392 2823
+-116.534 26.392 2837
+-116.408 26.392 2835
+-116.282 26.392 2829
+-116.156 26.392 2826
+-116.03 26.392 2811
+-115.904 26.392 2774
+-115.778 26.392 2756
+-115.652 26.392 2711
+-115.526 26.392 2671
+-115.4 26.392 2611
+-115.274 26.392 2525
+-115.148 26.392 2425
+-115.022 26.392 2308
+-114.896 26.392 2181
+-114.77 26.392 2105
+-114.644 26.392 2188
+-114.518 26.392 2347
+-114.392 26.392 2498
+-114.266 26.392 2653
+-114.14 26.392 2779
+-114.014 26.392 2888
+-113.888 26.392 2943
+-113.762 26.392 2963
+-113.636 26.392 2971
+-113.51 26.392 2979
+-113.384 26.392 3037
+-113.258 26.392 3125
+-113.132 26.392 3204
+-113.006 26.392 3241
+-112.88 26.392 3218
+-112.754 26.392 3271
+-112.628 26.392 3386
+-112.502 26.392 3483
+-112.376 26.392 3534
+-112.25 26.392 3551
+-112.124 26.392 3571
+-111.998 26.392 3602
+-111.872 26.392 3627
+-111.746 26.392 3642
+-111.62 26.392 3659
+-111.494 26.392 3660
+-111.368 26.392 3658
+-111.242 26.392 3692
+-111.116 26.392 3731
+-110.99 26.392 3745
+-110.864 26.392 3748
+-110.738 26.392 3761
+-110.612 26.392 3774
+-110.486 26.392 3799
+-110.36 26.392 3842
+-110.234 26.392 3869
+-110.108 26.392 3874
+-109.982 26.392 3855
+-109.856 26.392 3844
+-109.73 26.392 3826
+-109.604 26.392 3797
+-109.478 26.392 3774
+-109.352 26.392 3739
+-109.226 26.392 3688
+-109.1 26.392 3646
+-108.974 26.392 3663
+-108.848 26.392 3669
+-108.722 26.392 3651
+-108.596 26.392 3589
+-108.47 26.392 3543
+-108.344 26.392 3558
+-108.218 26.392 3589
+-108.092 26.392 3606
+-107.966 26.392 3594
+-107.84 26.392 3583
+-107.714 26.392 3503
+-107.588 26.392 3486
+-107.462 26.392 3411
+-107.336 26.392 3341
+-107.21 26.392 3282
+-107.084 26.392 3220
+-106.958 26.392 3158
+-106.832 26.392 3092
+-106.706 26.392 3024
+-106.58 26.392 2941
+-106.454 26.392 2848
+-106.328 26.392 2753
+-106.202 26.392 2676
+-106.076 26.392 2626
+-105.95 26.392 2598
+-105.824 26.392 2605
+-105.698 26.392 2663
+-105.572 26.392 2708
+-105.446 26.392 2751
+-105.32 26.392 2790
+-105.194 26.392 2824
+-105.068 26.392 2854
+-104.942 26.392 2892
+-104.816 26.392 2913
+-104.69 26.392 2937
+-104.564 26.392 2957
+-104.438 26.392 2982
+-104.312 26.392 2999
+-104.186 26.392 3022
+-104.06 26.392 3045
+-103.934 26.392 3063
+-103.808 26.392 3080
+-103.682 26.392 3100
+-103.556 26.392 3107
+-103.43 26.392 3145
+-103.304 26.392 3164
+-103.178 26.392 3161
+-103.052 26.392 3178
+-102.926 26.392 3213
+-102.8 26.392 3230
+-102.674 26.392 3215
+-102.548 26.392 3207
+-102.422 26.392 3222
+-102.296 26.392 3117
+-102.17 26.392 3127
+-102.044 26.392 3179
+-101.918 26.392 3190
+-101.792 26.392 3155
+-101.666 26.392 3169
+-101.54 26.392 3178
+-101.414 26.392 3164
+-101.288 26.392 3172
+-101.162 26.392 3180
+-101.036 26.392 3187
+-100.91 26.392 3194
+-100.784 26.392 3200
+-100.658 26.392 3206
+-100.532 26.392 3146
+-100.406 26.392 3143
+-100.28 26.392 3148
+-100.154 26.392 3153
+-100.028 26.392 3136
+-99.902 26.392 3141
+-99.776 26.392 3202
+-99.65 26.392 3207
+-99.524 26.392 3221
+-99.398 26.392 3207
+-99.272 26.392 3212
+-99.146 26.392 3216
+-99.02 26.392 3221
+-98.894 26.392 3220
+-98.768 26.392 3224
+-98.642 26.392 3212
+-98.516 26.392 3216
+-98.39 26.392 3145
+-98.264 26.392 3148
+-98.138 26.392 3151
+-98.012 26.392 3154
+-97.886 26.392 3157
+-97.76 26.392 3053
+-97.634 26.392 3052
+-97.508 26.392 3138
+-97.382 26.392 3150
+-97.256 26.392 3042
+-97.13 26.392 2952
+-97.004 26.392 2949
+-96.878 26.392 2913
+-96.752 26.392 2933
+-96.626 26.392 2880
+-96.5 26.392 2919
+-96.374 26.392 2999
+-96.248 26.392 3062
+-96.122 26.392 3115
+-95.996 26.392 3310
+-95.87 26.392 3344
+-95.744 26.392 3344
+-95.618 26.392 3343
+-95.492 26.392 3342
+-95.366 26.392 3341
+-95.24 26.392 3340
+-95.114 26.392 3339
+-94.988 26.392 3338
+-94.862 26.392 3337
+-94.736 26.392 3335
+-94.61 26.392 3437
+-94.484 26.392 3436
+-94.358 26.392 3434
+-94.232 26.392 3433
+-94.106 26.392 3432
+-93.98 26.392 3430
+-93.854 26.392 3429
+-93.728 26.392 3427
+-93.602 26.392 3426
+-93.476 26.392 3424
+-93.35 26.392 3422
+-93.224 26.392 3421
+-93.098 26.392 3452
+-92.972 26.392 3449
+-92.846 26.392 3447
+-92.72 26.392 3444
+-92.594 26.392 3442
+-92.468 26.392 3439
+-92.342 26.392 3454
+-92.216 26.392 3451
+-92.09 26.392 3449
+-91.964 26.392 3446
+-91.838 26.392 3444
+-91.712 26.392 3442
+-91.586 26.392 3495
+-91.46 26.392 3502
+-91.334 26.392 3579
+-91.208 26.392 3577
+-91.082 26.392 3576
+-90.956 26.392 3575
+-90.83 26.392 3574
+-90.704 26.392 3574
+-90.578 26.392 3574
+-90.452 26.392 3588
+-90.326 26.392 3650
+-90.2 26.392 3653
+-90.074 26.392 3657
+-89.948 26.392 3661
+-89.822 26.392 3667
+-89.696 26.392 3725
+-89.57 26.392 3731
+-89.444 26.392 3778
+-89.318 26.392 3813
+-89.192 26.392 3823
+-89.066 26.392 3846
+-88.94 26.392 3882
+-88.814 26.392 3942
+-88.688 26.392 3953
+-88.562 26.392 4065
+-88.436 26.392 4077
+-88.31 26.392 4160
+-88.184 26.392 4163
+-88.058 26.392 4167
+-87.932 26.392 4169
+-87.806 26.392 4214
+-87.68 26.392 4188
+-87.554 26.392 4136
+-87.428 26.392 4047
+-87.302 26.392 4000
+-87.176 26.392 4138
+-87.05 26.392 4441
+-86.924 26.392 4628
+-86.798 26.392 4747
+-86.672 26.392 4834
+-86.546 26.392 4863
+-86.42 26.392 4991
+-86.294 26.392 5193
+-86.168 26.392 5291
+-86.042 26.392 5275
+-85.916 26.392 5465
+-85.79 26.392 5596
+-85.664 26.392 5648
+-85.538 26.392 5774
+-85.412 26.392 5962
+-85.286 26.392 6109
+-85.16 26.392 6148
+-85.034 26.392 6346
+-84.908 26.392 6503
+-84.782 26.392 6602
+-84.656 26.392 6730
+-84.53 26.392 6826
+-84.404 26.392 6934
+-84.278 26.392 7032
+-84.152 26.392 7187
+-84.026 26.392 7259
+-83.9 26.392 7370
+-83.774 26.392 7515
+-83.648 26.392 7597
+-83.522 26.392 7701
+-83.396 26.392 7782
+-83.27 26.392 7870
+-83.144 26.392 7961
+-83.018 26.392 8084
+-82.892 26.392 8157
+-82.766 26.392 8180
+-82.64 26.392 8214
+-82.514 26.392 8256
+-82.388 26.392 8286
+-82.262 26.392 8307
+-82.136 26.392 8294
+-82.01 26.392 8289
+-81.884 26.392 8266
+-81.758 26.392 8228
+-81.632 26.392 8184
+-81.506 26.392 8121
+-81.38 26.392 8067
+-81.254 26.392 7992
+-81.128 26.392 7889
+-81.002 26.392 7840
+-80.876 26.392 7744
+-80.75 26.392 7649
+-80.624 26.392 7554
+-80.498 26.392 7457
+-80.372 26.392 7317
+-80.246 26.392 7191
+-80.12 26.392 7139
+-79.994 26.392 7027
+-79.868 26.392 6894
+-79.742 26.392 6695
+-79.616 26.392 6509
+-79.49 26.392 6376
+-79.364 26.392 6262
+-79.238 26.392 6184
+-79.112 26.392 6099
+-78.986 26.392 5962
+-78.86 26.392 5828
+-78.734 26.392 5748
+-78.608 26.392 5561
+-78.482 26.392 5460
+-78.356 26.392 5330
+-78.23 26.392 5185
+-78.104 26.392 5052
+-77.978 26.392 4879
+-77.852 26.392 4717
+-77.726 26.392 4755
+-77.6 26.392 4716
+-77.474 26.392 4650
+-77.348 26.392 4576
+-77.222 26.392 4535
+-77.096 26.392 4537
+-76.97 26.392 4467
+-76.844 26.392 4428
+-76.718 26.392 4376
+-76.592 26.392 4315
+-76.466 26.392 4234
+-76.34 26.392 4168
+-76.214 26.392 4090
+-76.088 26.392 3982
+-75.962 26.392 3813
+-75.836 26.392 3726
+-75.71 26.392 3677
+-75.584 26.392 3628
+-75.458 26.392 3618
+-75.332 26.392 3592
+-75.206 26.392 3525
+-75.08 26.392 3495
+-74.954 26.392 3513
+-74.828 26.392 3499
+-74.702 26.392 3514
+-74.576 26.392 3485
+-74.45 26.392 3496
+-74.324 26.392 3505
+-74.198 26.392 3513
+-74.072 26.392 3432
+-73.946 26.392 3312
+-73.82 26.392 3311
+-73.694 26.392 3310
+-73.568 26.392 3308
+-73.442 26.392 3306
+-73.316 26.392 3304
+-73.19 26.392 3196
+-73.064 26.392 3194
+-72.938 26.392 3179
+-72.812 26.392 3177
+-72.686 26.392 3121
+-72.56 26.392 3119
+-72.434 26.392 3117
+-72.308 26.392 3116
+-72.182 26.392 3115
+-72.056 26.392 3114
+-71.93 26.392 3113
+-71.804 26.392 3002
+-71.678 26.392 2964
+-71.552 26.392 2956
+-71.426 26.392 2989
+-71.3 26.392 2955
+-71.174 26.392 2918
+-71.048 26.392 2920
+-70.922 26.392 2909
+-70.796 26.392 2904
+-70.67 26.392 2875
+-70.544 26.392 2876
+-70.418 26.392 2877
+-70.292 26.392 2878
+-70.166 26.392 2879
+-70.04 26.392 2880
+-69.914 26.392 2881
+-69.788 26.392 2882
+-69.662 26.392 2884
+-69.536 26.392 2885
+-69.41 26.392 2886
+-69.284 26.392 2887
+-69.158 26.392 2888
+-69.032 26.392 2889
+-68.906 26.392 2890
+-68.78 26.392 2892
+-68.654 26.392 2893
+-68.528 26.392 2894
+-68.402 26.392 2895
+-68.276 26.392 2896
+-68.15 26.392 2897
+-68.024 26.392 2898
+-67.898 26.392 2899
+-67.772 26.392 2900
+-67.646 26.392 2901
+-67.52 26.392 2902
+-67.394 26.392 2899
+-67.268 26.392 2900
+-67.142 26.392 2901
+-67.016 26.392 2902
+-66.89 26.392 2903
+-66.764 26.392 2904
+-66.638 26.392 2905
+-66.512 26.392 2907
+-66.386 26.392 2908
+-66.26 26.392 2909
+-66.134 26.392 2910
+-66.008 26.392 2911
+-65.882 26.392 2912
+-65.756 26.392 2913
+-65.63 26.392 2914
+-65.504 26.392 2914
+-65.378 26.392 2915
+-65.252 26.392 2916
+-65.126 26.392 2917
+-128 26.34 3009
+-127.874 26.34 2973
+-127.748 26.34 3425
+-127.622 26.34 3426
+-127.496 26.34 3425
+-127.37 26.34 3395
+-127.244 26.34 3394
+-127.118 26.34 3377
+-126.992 26.34 3408
+-126.866 26.34 3408
+-126.74 26.34 3473
+-126.614 26.34 3472
+-126.488 26.34 3436
+-126.362 26.34 3457
+-126.236 26.34 3496
+-126.11 26.34 3487
+-125.984 26.34 3520
+-125.858 26.34 3519
+-125.732 26.34 3557
+-125.606 26.34 3532
+-125.48 26.34 3531
+-125.354 26.34 3530
+-125.228 26.34 3565
+-125.102 26.34 3564
+-124.976 26.34 3381
+-124.85 26.34 3389
+-124.724 26.34 3408
+-124.598 26.34 3306
+-124.472 26.34 3303
+-124.346 26.34 3287
+-124.22 26.34 3352
+-124.094 26.34 3321
+-123.968 26.34 3318
+-123.842 26.34 3341
+-123.716 26.34 3240
+-123.59 26.34 3243
+-123.464 26.34 3270
+-123.338 26.34 3262
+-123.212 26.34 3258
+-123.086 26.34 3253
+-122.96 26.34 3171
+-122.834 26.34 3169
+-122.708 26.34 3093
+-122.582 26.34 3099
+-122.456 26.34 3098
+-122.33 26.34 3093
+-122.204 26.34 3059
+-122.078 26.34 3053
+-121.952 26.34 3047
+-121.826 26.34 3059
+-121.7 26.34 3040
+-121.574 26.34 3033
+-121.448 26.34 2988
+-121.322 26.34 2980
+-121.196 26.34 3010
+-121.07 26.34 2976
+-120.944 26.34 2958
+-120.818 26.34 2887
+-120.692 26.34 2901
+-120.566 26.34 2888
+-120.44 26.34 2874
+-120.314 26.34 2858
+-120.188 26.34 2840
+-120.062 26.34 2820
+-119.936 26.34 2767
+-119.81 26.34 2746
+-119.684 26.34 2721
+-119.558 26.34 2684
+-119.432 26.34 2653
+-119.306 26.34 2629
+-119.18 26.34 2616
+-119.054 26.34 2604
+-118.928 26.34 2613
+-118.802 26.34 2623
+-118.676 26.34 2656
+-118.55 26.34 2654
+-118.424 26.34 2638
+-118.298 26.34 2620
+-118.172 26.34 2604
+-118.046 26.34 2599
+-117.92 26.34 2617
+-117.794 26.34 2656
+-117.668 26.34 2678
+-117.542 26.34 2713
+-117.416 26.34 2739
+-117.29 26.34 2745
+-117.164 26.34 2756
+-117.038 26.34 2757
+-116.912 26.34 2762
+-116.786 26.34 2767
+-116.66 26.34 2771
+-116.534 26.34 2781
+-116.408 26.34 2797
+-116.282 26.34 2796
+-116.156 26.34 2788
+-116.03 26.34 2768
+-115.904 26.34 2747
+-115.778 26.34 2717
+-115.652 26.34 2694
+-115.526 26.34 2665
+-115.4 26.34 2607
+-115.274 26.34 2520
+-115.148 26.34 2429
+-115.022 26.34 2335
+-114.896 26.34 2225
+-114.77 26.34 2175
+-114.644 26.34 2235
+-114.518 26.34 2376
+-114.392 26.34 2528
+-114.266 26.34 2656
+-114.14 26.34 2789
+-114.014 26.34 2881
+-113.888 26.34 2920
+-113.762 26.34 2926
+-113.636 26.34 2883
+-113.51 26.34 2855
+-113.384 26.34 2919
+-113.258 26.34 3050
+-113.132 26.34 3156
+-113.006 26.34 3215
+-112.88 26.34 3241
+-112.754 26.34 3288
+-112.628 26.34 3370
+-112.502 26.34 3450
+-112.376 26.34 3508
+-112.25 26.34 3536
+-112.124 26.34 3554
+-111.998 26.34 3575
+-111.872 26.34 3585
+-111.746 26.34 3594
+-111.62 26.34 3607
+-111.494 26.34 3601
+-111.368 26.34 3594
+-111.242 26.34 3630
+-111.116 26.34 3655
+-110.99 26.34 3682
+-110.864 26.34 3714
+-110.738 26.34 3710
+-110.612 26.34 3710
+-110.486 26.34 3728
+-110.36 26.34 3767
+-110.234 26.34 3793
+-110.108 26.34 3810
+-109.982 26.34 3782
+-109.856 26.34 3775
+-109.73 26.34 3757
+-109.604 26.34 3738
+-109.478 26.34 3712
+-109.352 26.34 3668
+-109.226 26.34 3623
+-109.1 26.34 3586
+-108.974 26.34 3610
+-108.848 26.34 3627
+-108.722 26.34 3625
+-108.596 26.34 3605
+-108.47 26.34 3578
+-108.344 26.34 3581
+-108.218 26.34 3597
+-108.092 26.34 3606
+-107.966 26.34 3592
+-107.84 26.34 3582
+-107.714 26.34 3497
+-107.588 26.34 3461
+-107.462 26.34 3414
+-107.336 26.34 3358
+-107.21 26.34 3259
+-107.084 26.34 3197
+-106.958 26.34 3129
+-106.832 26.34 3051
+-106.706 26.34 2976
+-106.58 26.34 2868
+-106.454 26.34 2738
+-106.328 26.34 2602
+-106.202 26.34 2461
+-106.076 26.34 2417
+-105.95 26.34 2421
+-105.824 26.34 2459
+-105.698 26.34 2534
+-105.572 26.34 2629
+-105.446 26.34 2671
+-105.32 26.34 2725
+-105.194 26.34 2802
+-105.068 26.34 2842
+-104.942 26.34 2876
+-104.816 26.34 2917
+-104.69 26.34 2939
+-104.564 26.34 2964
+-104.438 26.34 2984
+-104.312 26.34 3009
+-104.186 26.34 3025
+-104.06 26.34 3048
+-103.934 26.34 3070
+-103.808 26.34 3086
+-103.682 26.34 3101
+-103.556 26.34 3120
+-103.43 26.34 3125
+-103.304 26.34 3164
+-103.178 26.34 3181
+-103.052 26.34 3176
+-102.926 26.34 3192
+-102.8 26.34 3227
+-102.674 26.34 3243
+-102.548 26.34 3226
+-102.422 26.34 3217
+-102.296 26.34 3232
+-102.17 26.34 3124
+-102.044 26.34 3134
+-101.918 26.34 3186
+-101.792 26.34 3196
+-101.666 26.34 3160
+-101.54 26.34 3174
+-101.414 26.34 3183
+-101.288 26.34 3168
+-101.162 26.34 3176
+-101.036 26.34 3183
+-100.91 26.34 3190
+-100.784 26.34 3197
+-100.658 26.34 3203
+-100.532 26.34 3209
+-100.406 26.34 3148
+-100.28 26.34 3145
+-100.154 26.34 3150
+-100.028 26.34 3155
+-99.902 26.34 3137
+-99.776 26.34 3142
+-99.65 26.34 3204
+-99.524 26.34 3209
+-99.398 26.34 3223
+-99.272 26.34 3209
+-99.146 26.34 3213
+-99.02 26.34 3218
+-98.894 26.34 3222
+-98.768 26.34 3221
+-98.642 26.34 3225
+-98.516 26.34 3213
+-98.39 26.34 3217
+-98.264 26.34 3146
+-98.138 26.34 3149
+-98.012 26.34 3152
+-97.886 26.34 3155
+-97.76 26.34 3050
+-97.634 26.34 3050
+-97.508 26.34 3049
+-97.382 26.34 3134
+-97.256 26.34 3146
+-97.13 26.34 2884
+-97.004 26.34 2948
+-96.878 26.34 2912
+-96.752 26.34 2934
+-96.626 26.34 2881
+-96.5 26.34 2920
+-96.374 26.34 3000
+-96.248 26.34 3114
+-96.122 26.34 3115
+-95.996 26.34 3309
+-95.87 26.34 3344
+-95.744 26.34 3343
+-95.618 26.34 3342
+-95.492 26.34 3341
+-95.366 26.34 3340
+-95.24 26.34 3339
+-95.114 26.34 3338
+-94.988 26.34 3337
+-94.862 26.34 3336
+-94.736 26.34 3437
+-94.61 26.34 3436
+-94.484 26.34 3435
+-94.358 26.34 3434
+-94.232 26.34 3432
+-94.106 26.34 3431
+-93.98 26.34 3430
+-93.854 26.34 3428
+-93.728 26.34 3427
+-93.602 26.34 3425
+-93.476 26.34 3423
+-93.35 26.34 3422
+-93.224 26.34 3453
+-93.098 26.34 3451
+-92.972 26.34 3449
+-92.846 26.34 3446
+-92.72 26.34 3444
+-92.594 26.34 3441
+-92.468 26.34 3457
+-92.342 26.34 3454
+-92.216 26.34 3452
+-92.09 26.34 3450
+-91.964 26.34 3448
+-91.838 26.34 3446
+-91.712 26.34 3466
+-91.586 26.34 3480
+-91.46 26.34 3478
+-91.334 26.34 3476
+-91.208 26.34 3583
+-91.082 26.34 3583
+-90.956 26.34 3582
+-90.83 26.34 3582
+-90.704 26.34 3582
+-90.578 26.34 3596
+-90.452 26.34 3597
+-90.326 26.34 3663
+-90.2 26.34 3666
+-90.074 26.34 3670
+-89.948 26.34 3674
+-89.822 26.34 3680
+-89.696 26.34 3687
+-89.57 26.34 3732
+-89.444 26.34 3818
+-89.318 26.34 3827
+-89.192 26.34 3849
+-89.066 26.34 3859
+-88.94 26.34 3869
+-88.814 26.34 3905
+-88.688 26.34 3974
+-88.562 26.34 4073
+-88.436 26.34 4169
+-88.31 26.34 4172
+-88.184 26.34 4175
+-88.058 26.34 4180
+-87.932 26.34 4239
+-87.806 26.34 4232
+-87.68 26.34 4223
+-87.554 26.34 4199
+-87.428 26.34 4184
+-87.302 26.34 4212
+-87.176 26.34 4319
+-87.05 26.34 4492
+-86.924 26.34 4641
+-86.798 26.34 4738
+-86.672 26.34 4791
+-86.546 26.34 4772
+-86.42 26.34 4916
+-86.294 26.34 5142
+-86.168 26.34 5282
+-86.042 26.34 5349
+-85.916 26.34 5441
+-85.79 26.34 5577
+-85.664 26.34 5661
+-85.538 26.34 5770
+-85.412 26.34 5943
+-85.286 26.34 6096
+-85.16 26.34 6201
+-85.034 26.34 6321
+-84.908 26.34 6444
+-84.782 26.34 6548
+-84.656 26.34 6620
+-84.53 26.34 6715
+-84.404 26.34 6894
+-84.278 26.34 6992
+-84.152 26.34 7168
+-84.026 26.34 7269
+-83.9 26.34 7378
+-83.774 26.34 7504
+-83.648 26.34 7550
+-83.522 26.34 7657
+-83.396 26.34 7732
+-83.27 26.34 7848
+-83.144 26.34 7939
+-83.018 26.34 7991
+-82.892 26.34 8038
+-82.766 26.34 8106
+-82.64 26.34 8147
+-82.514 26.34 8191
+-82.388 26.34 8225
+-82.262 26.34 8267
+-82.136 26.34 8237
+-82.01 26.34 8216
+-81.884 26.34 8196
+-81.758 26.34 8176
+-81.632 26.34 8103
+-81.506 26.34 8083
+-81.38 26.34 8010
+-81.254 26.34 7891
+-81.128 26.34 7829
+-81.002 26.34 7748
+-80.876 26.34 7699
+-80.75 26.34 7598
+-80.624 26.34 7528
+-80.498 26.34 7419
+-80.372 26.34 7288
+-80.246 26.34 7172
+-80.12 26.34 7054
+-79.994 26.34 6979
+-79.868 26.34 6869
+-79.742 26.34 6657
+-79.616 26.34 6528
+-79.49 26.34 6390
+-79.364 26.34 6254
+-79.238 26.34 6171
+-79.112 26.34 5991
+-78.986 26.34 5977
+-78.86 26.34 5848
+-78.734 26.34 5735
+-78.608 26.34 5551
+-78.482 26.34 5432
+-78.356 26.34 5275
+-78.23 26.34 5127
+-78.104 26.34 5017
+-77.978 26.34 4902
+-77.852 26.34 4827
+-77.726 26.34 4800
+-77.6 26.34 4771
+-77.474 26.34 4729
+-77.348 26.34 4683
+-77.222 26.34 4642
+-77.096 26.34 4591
+-76.97 26.34 4494
+-76.844 26.34 4435
+-76.718 26.34 4383
+-76.592 26.34 4324
+-76.466 26.34 4262
+-76.34 26.34 4207
+-76.214 26.34 4082
+-76.088 26.34 3994
+-75.962 26.34 3934
+-75.836 26.34 3832
+-75.71 26.34 3767
+-75.584 26.34 3738
+-75.458 26.34 3668
+-75.332 26.34 3639
+-75.206 26.34 3645
+-75.08 26.34 3592
+-74.954 26.34 3552
+-74.828 26.34 3563
+-74.702 26.34 3500
+-74.576 26.34 3508
+-74.45 26.34 3515
+-74.324 26.34 3522
+-74.198 26.34 3371
+-74.072 26.34 3297
+-73.946 26.34 3294
+-73.82 26.34 3291
+-73.694 26.34 3288
+-73.568 26.34 3285
+-73.442 26.34 3281
+-73.316 26.34 3192
+-73.19 26.34 3190
+-73.064 26.34 3173
+-72.938 26.34 3171
+-72.812 26.34 3115
+-72.686 26.34 3113
+-72.56 26.34 3111
+-72.434 26.34 3109
+-72.308 26.34 3108
+-72.182 26.34 3107
+-72.056 26.34 3106
+-71.93 26.34 3105
+-71.804 26.34 2946
+-71.678 26.34 2945
+-71.552 26.34 2945
+-71.426 26.34 2947
+-71.3 26.34 2947
+-71.174 26.34 2947
+-71.048 26.34 2910
+-70.922 26.34 2911
+-70.796 26.34 2901
+-70.67 26.34 2896
+-70.544 26.34 2868
+-70.418 26.34 2869
+-70.292 26.34 2870
+-70.166 26.34 2872
+-70.04 26.34 2873
+-69.914 26.34 2874
+-69.788 26.34 2876
+-69.662 26.34 2877
+-69.536 26.34 2878
+-69.41 26.34 2880
+-69.284 26.34 2881
+-69.158 26.34 2882
+-69.032 26.34 2884
+-68.906 26.34 2885
+-68.78 26.34 2886
+-68.654 26.34 2887
+-68.528 26.34 2889
+-68.402 26.34 2890
+-68.276 26.34 2891
+-68.15 26.34 2892
+-68.024 26.34 2894
+-67.898 26.34 2895
+-67.772 26.34 2896
+-67.646 26.34 2897
+-67.52 26.34 2898
+-67.394 26.34 2900
+-67.268 26.34 2895
+-67.142 26.34 2897
+-67.016 26.34 2898
+-66.89 26.34 2899
+-66.764 26.34 2900
+-66.638 26.34 2901
+-66.512 26.34 2903
+-66.386 26.34 2904
+-66.26 26.34 2905
+-66.134 26.34 2906
+-66.008 26.34 2907
+-65.882 26.34 2908
+-65.756 26.34 2909
+-65.63 26.34 2910
+-65.504 26.34 2911
+-65.378 26.34 2912
+-65.252 26.34 2913
+-65.126 26.34 2914
+-128 26.288 2973
+-127.874 26.288 3426
+-127.748 26.288 3427
+-127.622 26.288 3426
+-127.496 26.288 3395
+-127.37 26.288 3395
+-127.244 26.288 3377
+-127.118 26.288 3409
+-126.992 26.288 3408
+-126.866 26.288 3474
+-126.74 26.288 3473
+-126.614 26.288 3437
+-126.488 26.288 3458
+-126.362 26.288 3497
+-126.236 26.288 3489
+-126.11 26.288 3521
+-125.984 26.288 3520
+-125.858 26.288 3559
+-125.732 26.288 3534
+-125.606 26.288 3533
+-125.48 26.288 3532
+-125.354 26.288 3567
+-125.228 26.288 3566
+-125.102 26.288 3377
+-124.976 26.288 3386
+-124.85 26.288 3405
+-124.724 26.288 3302
+-124.598 26.288 3299
+-124.472 26.288 3283
+-124.346 26.288 3348
+-124.22 26.288 3317
+-124.094 26.288 3314
+-123.968 26.288 3336
+-123.842 26.288 3235
+-123.716 26.288 3238
+-123.59 26.288 3265
+-123.464 26.288 3257
+-123.338 26.288 3253
+-123.212 26.288 3248
+-123.086 26.288 3165
+-122.96 26.288 3163
+-122.834 26.288 3086
+-122.708 26.288 3092
+-122.582 26.288 3091
+-122.456 26.288 3086
+-122.33 26.288 3052
+-122.204 26.288 3046
+-122.078 26.288 3040
+-121.952 26.288 3052
+-121.826 26.288 3033
+-121.7 26.288 3026
+-121.574 26.288 2982
+-121.448 26.288 2974
+-121.322 26.288 3005
+-121.196 26.288 2972
+-121.07 26.288 2954
+-120.944 26.288 2882
+-120.818 26.288 2898
+-120.692 26.288 2887
+-120.566 26.288 2875
+-120.44 26.288 2862
+-120.314 26.288 2847
+-120.188 26.288 2831
+-120.062 26.288 2781
+-119.936 26.288 2766
+-119.81 26.288 2747
+-119.684 26.288 2715
+-119.558 26.288 2690
+-119.432 26.288 2670
+-119.306 26.288 2656
+-119.18 26.288 2637
+-119.054 26.288 2635
+-118.928 26.288 2634
+-118.802 26.288 2639
+-118.676 26.288 2638
+-118.55 26.288 2639
+-118.424 26.288 2632
+-118.298 26.288 2625
+-118.172 26.288 2619
+-118.046 26.288 2620
+-117.92 26.288 2636
+-117.794 26.288 2636
+-117.668 26.288 2679
+-117.542 26.288 2700
+-117.416 26.288 2702
+-117.29 26.288 2710
+-117.164 26.288 2706
+-117.038 26.288 2708
+-116.912 26.288 2710
+-116.786 26.288 2714
+-116.66 26.288 2720
+-116.534 26.288 2726
+-116.408 26.288 2738
+-116.282 26.288 2749
+-116.156 26.288 2750
+-116.03 26.288 2740
+-115.904 26.288 2723
+-115.778 26.288 2699
+-115.652 26.288 2685
+-115.526 26.288 2663
+-115.4 26.288 2593
+-115.274 26.288 2536
+-115.148 26.288 2465
+-115.022 26.288 2384
+-114.896 26.288 2327
+-114.77 26.288 2301
+-114.644 26.288 2350
+-114.518 26.288 2462
+-114.392 26.288 2577
+-114.266 26.288 2684
+-114.14 26.288 2803
+-114.014 26.288 2880
+-113.888 26.288 2907
+-113.762 26.288 2892
+-113.636 26.288 2838
+-113.51 26.288 2799
+-113.384 26.288 2860
+-113.258 26.288 2992
+-113.132 26.288 3115
+-113.006 26.288 3195
+-112.88 26.288 3233
+-112.754 26.288 3292
+-112.628 26.288 3361
+-112.502 26.288 3411
+-112.376 26.288 3470
+-112.25 26.288 3500
+-112.124 26.288 3522
+-111.998 26.288 3538
+-111.872 26.288 3548
+-111.746 26.288 3545
+-111.62 26.288 3538
+-111.494 26.288 3532
+-111.368 26.288 3540
+-111.242 26.288 3547
+-111.116 26.288 3608
+-110.99 26.288 3633
+-110.864 26.288 3679
+-110.738 26.288 3693
+-110.612 26.288 3693
+-110.486 26.288 3701
+-110.36 26.288 3722
+-110.234 26.288 3743
+-110.108 26.288 3738
+-109.982 26.288 3723
+-109.856 26.288 3699
+-109.73 26.288 3673
+-109.604 26.288 3643
+-109.478 26.288 3624
+-109.352 26.288 3617
+-109.226 26.288 3604
+-109.1 26.288 3589
+-108.974 26.288 3580
+-108.848 26.288 3582
+-108.722 26.288 3598
+-108.596 26.288 3592
+-108.47 26.288 3589
+-108.344 26.288 3590
+-108.218 26.288 3595
+-108.092 26.288 3577
+-107.966 26.288 3572
+-107.84 26.288 3518
+-107.714 26.288 3490
+-107.588 26.288 3456
+-107.462 26.288 3414
+-107.336 26.288 3306
+-107.21 26.288 3252
+-107.084 26.288 3187
+-106.958 26.288 3111
+-106.832 26.288 3019
+-106.706 26.288 2906
+-106.58 26.288 2738
+-106.454 26.288 2609
+-106.328 26.288 2423
+-106.202 26.288 2250
+-106.076 26.288 2184
+-105.95 26.288 2213
+-105.824 26.288 2304
+-105.698 26.288 2419
+-105.572 26.288 2527
+-105.446 26.288 2615
+-105.32 26.288 2688
+-105.194 26.288 2746
+-105.068 26.288 2828
+-104.942 26.288 2868
+-104.816 26.288 2903
+-104.69 26.288 2945
+-104.564 26.288 2967
+-104.438 26.288 2992
+-104.312 26.288 3010
+-104.186 26.288 3035
+-104.06 26.288 3049
+-103.934 26.288 3072
+-103.808 26.288 3093
+-103.682 26.288 3107
+-103.556 26.288 3121
+-103.43 26.288 3139
+-103.304 26.288 3143
+-103.178 26.288 3181
+-103.052 26.288 3197
+-102.926 26.288 3191
+-102.8 26.288 3205
+-102.674 26.288 3241
+-102.548 26.288 3255
+-102.422 26.288 3237
+-102.296 26.288 3227
+-102.17 26.288 3242
+-102.044 26.288 3131
+-101.918 26.288 3140
+-101.792 26.288 3193
+-101.666 26.288 3203
+-101.54 26.288 3166
+-101.414 26.288 3180
+-101.288 26.288 3188
+-101.162 26.288 3173
+-101.036 26.288 3180
+-100.91 26.288 3187
+-100.784 26.288 3194
+-100.658 26.288 3200
+-100.532 26.288 3206
+-100.406 26.288 3212
+-100.28 26.288 3150
+-100.154 26.288 3147
+-100.028 26.288 3152
+-99.902 26.288 3157
+-99.776 26.288 3139
+-99.65 26.288 3144
+-99.524 26.288 3206
+-99.398 26.288 3211
+-99.272 26.288 3225
+-99.146 26.288 3210
+-99.02 26.288 3215
+-98.894 26.288 3219
+-98.768 26.288 3223
+-98.642 26.288 3222
+-98.516 26.288 3227
+-98.39 26.288 3215
+-98.264 26.288 3219
+-98.138 26.288 3146
+-98.012 26.288 3149
+-97.886 26.288 3152
+-97.76 26.288 3048
+-97.634 26.288 3047
+-97.508 26.288 3046
+-97.382 26.288 3045
+-97.256 26.288 3025
+-97.13 26.288 2988
+-97.004 26.288 2896
+-96.878 26.288 2912
+-96.752 26.288 2934
+-96.626 26.288 2940
+-96.5 26.288 3031
+-96.374 26.288 3072
+-96.248 26.288 3114
+-96.122 26.288 3149
+-95.996 26.288 3309
+-95.87 26.288 3343
+-95.744 26.288 3342
+-95.618 26.288 3341
+-95.492 26.288 3340
+-95.366 26.288 3339
+-95.24 26.288 3338
+-95.114 26.288 3337
+-94.988 26.288 3336
+-94.862 26.288 3438
+-94.736 26.288 3436
+-94.61 26.288 3435
+-94.484 26.288 3434
+-94.358 26.288 3433
+-94.232 26.288 3431
+-94.106 26.288 3430
+-93.98 26.288 3429
+-93.854 26.288 3427
+-93.728 26.288 3426
+-93.602 26.288 3424
+-93.476 26.288 3423
+-93.35 26.288 3454
+-93.224 26.288 3452
+-93.098 26.288 3450
+-92.972 26.288 3448
+-92.846 26.288 3446
+-92.72 26.288 3443
+-92.594 26.288 3459
+-92.468 26.288 3457
+-92.342 26.288 3455
+-92.216 26.288 3453
+-92.09 26.288 3451
+-91.964 26.288 3449
+-91.838 26.288 3470
+-91.712 26.288 3484
+-91.586 26.288 3482
+-91.46 26.288 3480
+-91.334 26.288 3590
+-91.208 26.288 3589
+-91.082 26.288 3588
+-90.956 26.288 3588
+-90.83 26.288 3589
+-90.704 26.288 3602
+-90.578 26.288 3603
+-90.452 26.288 3670
+-90.326 26.288 3673
+-90.2 26.288 3676
+-90.074 26.288 3681
+-89.948 26.288 3685
+-89.822 26.288 3691
+-89.696 26.288 3738
+-89.57 26.288 3744
+-89.444 26.288 3793
+-89.318 26.288 3851
+-89.192 26.288 3859
+-89.066 26.288 3868
+-88.94 26.288 3901
+-88.814 26.288 3922
+-88.688 26.288 4020
+-88.562 26.288 4092
+-88.436 26.288 4153
+-88.31 26.288 4155
+-88.184 26.288 4160
+-88.058 26.288 4224
+-87.932 26.288 4225
+-87.806 26.288 4234
+-87.68 26.288 4251
+-87.554 26.288 4270
+-87.428 26.288 4307
+-87.302 26.288 4353
+-87.176 26.288 4435
+-87.05 26.288 4534
+-86.924 26.288 4633
+-86.798 26.288 4667
+-86.672 26.288 4673
+-86.546 26.288 4787
+-86.42 26.288 4933
+-86.294 26.288 5112
+-86.168 26.288 5250
+-86.042 26.288 5349
+-85.916 26.288 5443
+-85.79 26.288 5534
+-85.664 26.288 5640
+-85.538 26.288 5741
+-85.412 26.288 5874
+-85.286 26.288 6035
+-85.16 26.288 6180
+-85.034 26.288 6323
+-84.908 26.288 6378
+-84.782 26.288 6460
+-84.656 26.288 6610
+-84.53 26.288 6752
+-84.404 26.288 6881
+-84.278 26.288 6997
+-84.152 26.288 7149
+-84.026 26.288 7155
+-83.9 26.288 7326
+-83.774 26.288 7358
+-83.648 26.288 7558
+-83.522 26.288 7627
+-83.396 26.288 7693
+-83.27 26.288 7815
+-83.144 26.288 7879
+-83.018 26.288 7923
+-82.892 26.288 8012
+-82.766 26.288 8046
+-82.64 26.288 8114
+-82.514 26.288 8148
+-82.388 26.288 8161
+-82.262 26.288 8176
+-82.136 26.288 8181
+-82.01 26.288 8168
+-81.884 26.288 8139
+-81.758 26.288 8126
+-81.632 26.288 8084
+-81.506 26.288 8009
+-81.38 26.288 7968
+-81.254 26.288 7884
+-81.128 26.288 7804
+-81.002 26.288 7720
+-80.876 26.288 7607
+-80.75 26.288 7537
+-80.624 26.288 7467
+-80.498 26.288 7348
+-80.372 26.288 7230
+-80.246 26.288 7160
+-80.12 26.288 7042
+-79.994 26.288 6877
+-79.868 26.288 6833
+-79.742 26.288 6679
+-79.616 26.288 6520
+-79.49 26.288 6377
+-79.364 26.288 6279
+-79.238 26.288 6204
+-79.112 26.288 6066
+-78.986 26.288 5989
+-78.86 26.288 5841
+-78.734 26.288 5691
+-78.608 26.288 5490
+-78.482 26.288 5338
+-78.356 26.288 5206
+-78.23 26.288 5043
+-78.104 26.288 4996
+-77.978 26.288 4884
+-77.852 26.288 4889
+-77.726 26.288 4847
+-77.6 26.288 4811
+-77.474 26.288 4760
+-77.348 26.288 4727
+-77.222 26.288 4681
+-77.096 26.288 4643
+-76.97 26.288 4506
+-76.844 26.288 4448
+-76.718 26.288 4398
+-76.592 26.288 4353
+-76.466 26.288 4297
+-76.34 26.288 4167
+-76.214 26.288 4116
+-76.088 26.288 4064
+-75.962 26.288 3987
+-75.836 26.288 3944
+-75.71 26.288 3820
+-75.584 26.288 3767
+-75.458 26.288 3750
+-75.332 26.288 3720
+-75.206 26.288 3693
+-75.08 26.288 3688
+-74.954 26.288 3638
+-74.828 26.288 3592
+-74.702 26.288 3599
+-74.576 26.288 3530
+-74.45 26.288 3534
+-74.324 26.288 3378
+-74.198 26.288 3301
+-74.072 26.288 3296
+-73.946 26.288 3292
+-73.82 26.288 3288
+-73.694 26.288 3284
+-73.568 26.288 3280
+-73.442 26.288 3187
+-73.316 26.288 3184
+-73.19 26.288 3168
+-73.064 26.288 3165
+-72.938 26.288 3108
+-72.812 26.288 3106
+-72.686 26.288 3104
+-72.56 26.288 3102
+-72.434 26.288 3100
+-72.308 26.288 3099
+-72.182 26.288 3098
+-72.056 26.288 3097
+-71.93 26.288 3097
+-71.804 26.288 3096
+-71.678 26.288 2936
+-71.552 26.288 2936
+-71.426 26.288 2936
+-71.3 26.288 2936
+-71.174 26.288 2936
+-71.048 26.288 2937
+-70.922 26.288 2901
+-70.796 26.288 2903
+-70.67 26.288 2893
+-70.544 26.288 2889
+-70.418 26.288 2861
+-70.292 26.288 2862
+-70.166 26.288 2864
+-70.04 26.288 2865
+-69.914 26.288 2867
+-69.788 26.288 2868
+-69.662 26.288 2870
+-69.536 26.288 2872
+-69.41 26.288 2873
+-69.284 26.288 2875
+-69.158 26.288 2876
+-69.032 26.288 2878
+-68.906 26.288 2879
+-68.78 26.288 2881
+-68.654 26.288 2882
+-68.528 26.288 2884
+-68.402 26.288 2885
+-68.276 26.288 2886
+-68.15 26.288 2888
+-68.024 26.288 2889
+-67.898 26.288 2890
+-67.772 26.288 2892
+-67.646 26.288 2893
+-67.52 26.288 2894
+-67.394 26.288 2895
+-67.268 26.288 2897
+-67.142 26.288 2892
+-67.016 26.288 2893
+-66.89 26.288 2895
+-66.764 26.288 2896
+-66.638 26.288 2897
+-66.512 26.288 2899
+-66.386 26.288 2900
+-66.26 26.288 2901
+-66.134 26.288 2902
+-66.008 26.288 2903
+-65.882 26.288 2905
+-65.756 26.288 2906
+-65.63 26.288 2907
+-65.504 26.288 2908
+-65.378 26.288 2909
+-65.252 26.288 2910
+-65.126 26.288 2911
+-128 26.236 3427
+-127.874 26.236 3428
+-127.748 26.236 3427
+-127.622 26.236 3396
+-127.496 26.236 3396
+-127.37 26.236 3378
+-127.244 26.236 3409
+-127.118 26.236 3409
+-126.992 26.236 3475
+-126.866 26.236 3474
+-126.74 26.236 3438
+-126.614 26.236 3459
+-126.488 26.236 3498
+-126.362 26.236 3490
+-126.236 26.236 3523
+-126.11 26.236 3522
+-125.984 26.236 3561
+-125.858 26.236 3536
+-125.732 26.236 3535
+-125.606 26.236 3534
+-125.48 26.236 3569
+-125.354 26.236 3568
+-125.228 26.236 3374
+-125.102 26.236 3382
+-124.976 26.236 3401
+-124.85 26.236 3298
+-124.724 26.236 3295
+-124.598 26.236 3279
+-124.472 26.236 3345
+-124.346 26.236 3313
+-124.22 26.236 3309
+-124.094 26.236 3332
+-123.968 26.236 3230
+-123.842 26.236 3233
+-123.716 26.236 3261
+-123.59 26.236 3253
+-123.464 26.236 3248
+-123.338 26.236 3243
+-123.212 26.236 3159
+-123.086 26.236 3157
+-122.96 26.236 3080
+-122.834 26.236 3085
+-122.708 26.236 3085
+-122.582 26.236 3079
+-122.456 26.236 3045
+-122.33 26.236 3039
+-122.204 26.236 3033
+-122.078 26.236 3045
+-121.952 26.236 3026
+-121.826 26.236 3019
+-121.7 26.236 2975
+-121.574 26.236 2967
+-121.448 26.236 3000
+-121.322 26.236 2966
+-121.196 26.236 2949
+-121.07 26.236 2875
+-120.944 26.236 2893
+-120.818 26.236 2883
+-120.692 26.236 2873
+-120.566 26.236 2861
+-120.44 26.236 2849
+-120.314 26.236 2836
+-120.188 26.236 2786
+-120.062 26.236 2776
+-119.936 26.236 2762
+-119.81 26.236 2733
+-119.684 26.236 2711
+-119.558 26.236 2694
+-119.432 26.236 2682
+-119.306 26.236 2661
+-119.18 26.236 2656
+-119.054 26.236 2649
+-118.928 26.236 2648
+-118.802 26.236 2645
+-118.676 26.236 2647
+-118.55 26.236 2645
+-118.424 26.236 2646
+-118.298 26.236 2642
+-118.172 26.236 2641
+-118.046 26.236 2643
+-117.92 26.236 2650
+-117.794 26.236 2638
+-117.668 26.236 2646
+-117.542 26.236 2641
+-117.416 26.236 2671
+-117.29 26.236 2660
+-117.164 26.236 2652
+-117.038 26.236 2645
+-116.912 26.236 2643
+-116.786 26.236 2647
+-116.66 26.236 2656
+-116.534 26.236 2669
+-116.408 26.236 2683
+-116.282 26.236 2710
+-116.156 26.236 2705
+-116.03 26.236 2709
+-115.904 26.236 2701
+-115.778 26.236 2684
+-115.652 26.236 2661
+-115.526 26.236 2629
+-115.4 26.236 2602
+-115.274 26.236 2564
+-115.148 26.236 2521
+-115.022 26.236 2458
+-114.896 26.236 2430
+-114.77 26.236 2429
+-114.644 26.236 2461
+-114.518 26.236 2550
+-114.392 26.236 2635
+-114.266 26.236 2732
+-114.14 26.236 2821
+-114.014 26.236 2873
+-113.888 26.236 2909
+-113.762 26.236 2898
+-113.636 26.236 2865
+-113.51 26.236 2843
+-113.384 26.236 2888
+-113.258 26.236 2980
+-113.132 26.236 3071
+-113.006 26.236 3159
+-112.88 26.236 3205
+-112.754 26.236 3244
+-112.628 26.236 3330
+-112.502 26.236 3374
+-112.376 26.236 3413
+-112.25 26.236 3452
+-112.124 26.236 3481
+-111.998 26.236 3500
+-111.872 26.236 3477
+-111.746 26.236 3479
+-111.62 26.236 3468
+-111.494 26.236 3473
+-111.368 26.236 3477
+-111.242 26.236 3499
+-111.116 26.236 3544
+-110.99 26.236 3592
+-110.864 26.236 3635
+-110.738 26.236 3672
+-110.612 26.236 3685
+-110.486 26.236 3688
+-110.36 26.236 3690
+-110.234 26.236 3693
+-110.108 26.236 3688
+-109.982 26.236 3668
+-109.856 26.236 3640
+-109.73 26.236 3606
+-109.604 26.236 3566
+-109.478 26.236 3541
+-109.352 26.236 3561
+-109.226 26.236 3565
+-109.1 26.236 3524
+-108.974 26.236 3479
+-108.848 26.236 3510
+-108.722 26.236 3554
+-108.596 26.236 3574
+-108.47 26.236 3588
+-108.344 26.236 3589
+-108.218 26.236 3593
+-108.092 26.236 3571
+-107.966 26.236 3566
+-107.84 26.236 3454
+-107.714 26.236 3447
+-107.588 26.236 3413
+-107.462 26.236 3373
+-107.336 26.236 3297
+-107.21 26.236 3238
+-107.084 26.236 3141
+-106.958 26.236 3060
+-106.832 26.236 2960
+-106.706 26.236 2824
+-106.58 26.236 2662
+-106.454 26.236 2463
+-106.328 26.236 2259
+-106.202 26.236 2078
+-106.076 26.236 2003
+-105.95 26.236 2056
+-105.824 26.236 2183
+-105.698 26.236 2326
+-105.572 26.236 2461
+-105.446 26.236 2572
+-105.32 26.236 2656
+-105.194 26.236 2726
+-105.068 26.236 2780
+-104.942 26.236 2862
+-104.816 26.236 2900
+-104.69 26.236 2933
+-104.564 26.236 2975
+-104.438 26.236 2994
+-104.312 26.236 3019
+-104.186 26.236 3036
+-104.06 26.236 3060
+-103.934 26.236 3072
+-103.808 26.236 3095
+-103.682 26.236 3114
+-103.556 26.236 3127
+-103.43 26.236 3140
+-103.304 26.236 3156
+-103.178 26.236 3159
+-103.052 26.236 3197
+-102.926 26.236 3212
+-102.8 26.236 3204
+-102.674 26.236 3217
+-102.548 26.236 3253
+-102.422 26.236 3267
+-102.296 26.236 3248
+-102.17 26.236 3236
+-102.044 26.236 3251
+-101.918 26.236 3138
+-101.792 26.236 3146
+-101.666 26.236 3200
+-101.54 26.236 3209
+-101.414 26.236 3171
+-101.288 26.236 3185
+-101.162 26.236 3193
+-101.036 26.236 3177
+-100.91 26.236 3184
+-100.784 26.236 3191
+-100.658 26.236 3197
+-100.532 26.236 3203
+-100.406 26.236 3209
+-100.28 26.236 3215
+-100.154 26.236 3152
+-100.028 26.236 3150
+-99.902 26.236 3154
+-99.776 26.236 3158
+-99.65 26.236 3141
+-99.524 26.236 3146
+-99.398 26.236 3208
+-99.272 26.236 3213
+-99.146 26.236 3227
+-99.02 26.236 3212
+-98.894 26.236 3217
+-98.768 26.236 3221
+-98.642 26.236 3225
+-98.516 26.236 3224
+-98.39 26.236 3228
+-98.264 26.236 3216
+-98.138 26.236 3220
+-98.012 26.236 3147
+-97.886 26.236 3150
+-97.76 26.236 3046
+-97.634 26.236 3045
+-97.508 26.236 3044
+-97.382 26.236 3043
+-97.256 26.236 3006
+-97.13 26.236 3026
+-97.004 26.236 2957
+-96.878 26.236 3009
+-96.752 26.236 3005
+-96.626 26.236 2974
+-96.5 26.236 3032
+-96.374 26.236 3073
+-96.248 26.236 3148
+-96.122 26.236 3301
+-95.996 26.236 3309
+-95.87 26.236 3342
+-95.744 26.236 3342
+-95.618 26.236 3341
+-95.492 26.236 3340
+-95.366 26.236 3339
+-95.24 26.236 3338
+-95.114 26.236 3337
+-94.988 26.236 3438
+-94.862 26.236 3437
+-94.736 26.236 3435
+-94.61 26.236 3434
+-94.484 26.236 3433
+-94.358 26.236 3432
+-94.232 26.236 3431
+-94.106 26.236 3429
+-93.98 26.236 3428
+-93.854 26.236 3426
+-93.728 26.236 3425
+-93.602 26.236 3424
+-93.476 26.236 3455
+-93.35 26.236 3453
+-93.224 26.236 3451
+-93.098 26.236 3449
+-92.972 26.236 3447
+-92.846 26.236 3445
+-92.72 26.236 3461
+-92.594 26.236 3459
+-92.468 26.236 3457
+-92.342 26.236 3456
+-92.216 26.236 3454
+-92.09 26.236 3452
+-91.964 26.236 3474
+-91.838 26.236 3487
+-91.712 26.236 3486
+-91.586 26.236 3484
+-91.46 26.236 3544
+-91.334 26.236 3544
+-91.208 26.236 3545
+-91.082 26.236 3546
+-90.956 26.236 3547
+-90.83 26.236 3607
+-90.704 26.236 3608
+-90.578 26.236 3624
+-90.452 26.236 3627
+-90.326 26.236 3682
+-90.2 26.236 3685
+-90.074 26.236 3689
+-89.948 26.236 3694
+-89.822 26.236 3740
+-89.696 26.236 3745
+-89.57 26.236 3792
+-89.444 26.236 3800
+-89.318 26.236 3808
+-89.192 26.236 3866
+-89.066 26.236 3884
+-88.94 26.236 3917
+-88.814 26.236 4015
+-88.688 26.236 4053
+-88.562 26.236 4056
+-88.436 26.236 4060
+-88.31 26.236 4124
+-88.184 26.236 4178
+-88.058 26.236 4206
+-87.932 26.236 4209
+-87.806 26.236 4226
+-87.68 26.236 4271
+-87.554 26.236 4316
+-87.428 26.236 4351
+-87.302 26.236 4427
+-87.176 26.236 4498
+-87.05 26.236 4600
+-86.924 26.236 4639
+-86.798 26.236 4608
+-86.672 26.236 4485
+-86.546 26.236 4701
+-86.42 26.236 4929
+-86.294 26.236 5068
+-86.168 26.236 5187
+-86.042 26.236 5297
+-85.916 26.236 5424
+-85.79 26.236 5468
+-85.664 26.236 5598
+-85.538 26.236 5709
+-85.412 26.236 5816
+-85.286 26.236 5980
+-85.16 26.236 6111
+-85.034 26.236 6250
+-84.908 26.236 6322
+-84.782 26.236 6440
+-84.656 26.236 6568
+-84.53 26.236 6728
+-84.404 26.236 6901
+-84.278 26.236 6985
+-84.152 26.236 7095
+-84.026 26.236 7152
+-83.9 26.236 7299
+-83.774 26.236 7387
+-83.648 26.236 7472
+-83.522 26.236 7605
+-83.396 26.236 7693
+-83.27 26.236 7768
+-83.144 26.236 7857
+-83.018 26.236 7901
+-82.892 26.236 7961
+-82.766 26.236 8030
+-82.64 26.236 8039
+-82.514 26.236 8095
+-82.388 26.236 8089
+-82.262 26.236 8153
+-82.136 26.236 8116
+-82.01 26.236 8130
+-81.884 26.236 8085
+-81.758 26.236 8071
+-81.632 26.236 8035
+-81.506 26.236 7971
+-81.38 26.236 7939
+-81.254 26.236 7839
+-81.128 26.236 7748
+-81.002 26.236 7668
+-80.876 26.236 7573
+-80.75 26.236 7443
+-80.624 26.236 7400
+-80.498 26.236 7313
+-80.372 26.236 7209
+-80.246 26.236 7134
+-80.12 26.236 6958
+-79.994 26.236 6805
+-79.868 26.236 6726
+-79.742 26.236 6668
+-79.616 26.236 6499
+-79.49 26.236 6357
+-79.364 26.236 6304
+-79.238 26.236 6206
+-79.112 26.236 6099
+-78.986 26.236 5988
+-78.86 26.236 5798
+-78.734 26.236 5646
+-78.608 26.236 5401
+-78.482 26.236 5305
+-78.356 26.236 5247
+-78.23 26.236 5119
+-78.104 26.236 5022
+-77.978 26.236 4939
+-77.852 26.236 4917
+-77.726 26.236 4865
+-77.6 26.236 4817
+-77.474 26.236 4778
+-77.348 26.236 4711
+-77.222 26.236 4683
+-77.096 26.236 4600
+-76.97 26.236 4572
+-76.844 26.236 4429
+-76.718 26.236 4356
+-76.592 26.236 4309
+-76.466 26.236 4252
+-76.34 26.236 4195
+-76.214 26.236 4136
+-76.088 26.236 4093
+-75.962 26.236 4011
+-75.836 26.236 3947
+-75.71 26.236 3916
+-75.584 26.236 3863
+-75.458 26.236 3794
+-75.332 26.236 3784
+-75.206 26.236 3757
+-75.08 26.236 3731
+-74.954 26.236 3725
+-74.828 26.236 3671
+-74.702 26.236 3620
+-74.576 26.236 3625
+-74.45 26.236 3386
+-74.324 26.236 3306
+-74.198 26.236 3300
+-74.072 26.236 3294
+-73.946 26.236 3288
+-73.82 26.236 3283
+-73.694 26.236 3277
+-73.568 26.236 3183
+-73.442 26.236 3179
+-73.316 26.236 3161
+-73.19 26.236 3158
+-73.064 26.236 3101
+-72.938 26.236 3098
+-72.812 26.236 3096
+-72.686 26.236 3094
+-72.56 26.236 3092
+-72.434 26.236 3090
+-72.308 26.236 3089
+-72.182 26.236 3088
+-72.056 26.236 3088
+-71.93 26.236 3087
+-71.804 26.236 3087
+-71.678 26.236 3087
+-71.552 26.236 2926
+-71.426 26.236 2926
+-71.3 26.236 2927
+-71.174 26.236 2928
+-71.048 26.236 2928
+-70.922 26.236 2929
+-70.796 26.236 2893
+-70.67 26.236 2895
+-70.544 26.236 2886
+-70.418 26.236 2881
+-70.292 26.236 2854
+-70.166 26.236 2856
+-70.04 26.236 2858
+-69.914 26.236 2859
+-69.788 26.236 2861
+-69.662 26.236 2863
+-69.536 26.236 2865
+-69.41 26.236 2867
+-69.284 26.236 2868
+-69.158 26.236 2870
+-69.032 26.236 2872
+-68.906 26.236 2873
+-68.78 26.236 2875
+-68.654 26.236 2877
+-68.528 26.236 2878
+-68.402 26.236 2880
+-68.276 26.236 2881
+-68.15 26.236 2883
+-68.024 26.236 2884
+-67.898 26.236 2886
+-67.772 26.236 2887
+-67.646 26.236 2889
+-67.52 26.236 2890
+-67.394 26.236 2891
+-67.268 26.236 2893
+-67.142 26.236 2894
+-67.016 26.236 2889
+-66.89 26.236 2890
+-66.764 26.236 2892
+-66.638 26.236 2893
+-66.512 26.236 2895
+-66.386 26.236 2896
+-66.26 26.236 2897
+-66.134 26.236 2899
+-66.008 26.236 2900
+-65.882 26.236 2901
+-65.756 26.236 2902
+-65.63 26.236 2903
+-65.504 26.236 2905
+-65.378 26.236 2906
+-65.252 26.236 2907
+-65.126 26.236 2908
+-128 26.184 3428
+-127.874 26.184 3428
+-127.748 26.184 3397
+-127.622 26.184 3396
+-127.496 26.184 3378
+-127.37 26.184 3410
+-127.244 26.184 3409
+-127.118 26.184 3476
+-126.992 26.184 3475
+-126.866 26.184 3439
+-126.74 26.184 3460
+-126.614 26.184 3500
+-126.488 26.184 3491
+-126.362 26.184 3524
+-126.236 26.184 3523
+-126.11 26.184 3562
+-125.984 26.184 3537
+-125.858 26.184 3536
+-125.732 26.184 3535
+-125.606 26.184 3571
+-125.48 26.184 3570
+-125.354 26.184 3371
+-125.228 26.184 3379
+-125.102 26.184 3398
+-124.976 26.184 3295
+-124.85 26.184 3291
+-124.724 26.184 3275
+-124.598 26.184 3341
+-124.472 26.184 3309
+-124.346 26.184 3305
+-124.22 26.184 3328
+-124.094 26.184 3226
+-123.968 26.184 3229
+-123.842 26.184 3256
+-123.716 26.184 3248
+-123.59 26.184 3243
+-123.464 26.184 3238
+-123.338 26.184 3154
+-123.212 26.184 3151
+-123.086 26.184 3074
+-122.96 26.184 3079
+-122.834 26.184 3079
+-122.708 26.184 3073
+-122.582 26.184 3038
+-122.456 26.184 3032
+-122.33 26.184 3026
+-122.204 26.184 3039
+-122.078 26.184 3020
+-121.952 26.184 3012
+-121.826 26.184 2968
+-121.7 26.184 2960
+-121.574 26.184 2994
+-121.448 26.184 2960
+-121.322 26.184 2943
+-121.196 26.184 2867
+-121.07 26.184 2886
+-120.944 26.184 2877
+-120.818 26.184 2868
+-120.692 26.184 2858
+-120.566 26.184 2847
+-120.44 26.184 2835
+-120.314 26.184 2786
+-120.188 26.184 2778
+-120.062 26.184 2767
+-119.936 26.184 2740
+-119.81 26.184 2722
+-119.684 26.184 2707
+-119.558 26.184 2697
+-119.432 26.184 2676
+-119.306 26.184 2670
+-119.18 26.184 2660
+-119.054 26.184 2656
+-118.928 26.184 2650
+-118.802 26.184 2652
+-118.676 26.184 2650
+-118.55 26.184 2654
+-118.424 26.184 2653
+-118.298 26.184 2651
+-118.172 26.184 2651
+-118.046 26.184 2652
+-117.92 26.184 2629
+-117.794 26.184 2630
+-117.668 26.184 2628
+-117.542 26.184 2610
+-117.416 26.184 2595
+-117.29 26.184 2576
+-117.164 26.184 2555
+-117.038 26.184 2537
+-116.912 26.184 2555
+-116.786 26.184 2560
+-116.66 26.184 2577
+-116.534 26.184 2600
+-116.408 26.184 2616
+-116.282 26.184 2654
+-116.156 26.184 2664
+-116.03 26.184 2671
+-115.904 26.184 2680
+-115.778 26.184 2673
+-115.652 26.184 2637
+-115.526 26.184 2608
+-115.4 26.184 2604
+-115.274 26.184 2596
+-115.148 26.184 2570
+-115.022 26.184 2524
+-114.896 26.184 2516
+-114.77 26.184 2526
+-114.644 26.184 2552
+-114.518 26.184 2600
+-114.392 26.184 2690
+-114.266 26.184 2768
+-114.14 26.184 2825
+-114.014 26.184 2897
+-113.888 26.184 2918
+-113.762 26.184 2912
+-113.636 26.184 2905
+-113.51 26.184 2907
+-113.384 26.184 2934
+-113.258 26.184 2989
+-113.132 26.184 3045
+-113.006 26.184 3115
+-112.88 26.184 3156
+-112.754 26.184 3215
+-112.628 26.184 3256
+-112.502 26.184 3326
+-112.376 26.184 3373
+-112.25 26.184 3406
+-112.124 26.184 3446
+-111.998 26.184 3436
+-111.872 26.184 3442
+-111.746 26.184 3438
+-111.62 26.184 3428
+-111.494 26.184 3417
+-111.368 26.184 3435
+-111.242 26.184 3457
+-111.116 26.184 3487
+-110.99 26.184 3538
+-110.864 26.184 3589
+-110.738 26.184 3635
+-110.612 26.184 3655
+-110.486 26.184 3664
+-110.36 26.184 3661
+-110.234 26.184 3646
+-110.108 26.184 3615
+-109.982 26.184 3589
+-109.856 26.184 3585
+-109.73 26.184 3538
+-109.604 26.184 3517
+-109.478 26.184 3500
+-109.352 26.184 3521
+-109.226 26.184 3524
+-109.1 26.184 3462
+-108.974 26.184 3402
+-108.848 26.184 3452
+-108.722 26.184 3515
+-108.596 26.184 3545
+-108.47 26.184 3551
+-108.344 26.184 3559
+-108.218 26.184 3555
+-108.092 26.184 3555
+-107.966 26.184 3462
+-107.84 26.184 3440
+-107.714 26.184 3433
+-107.588 26.184 3400
+-107.462 26.184 3363
+-107.336 26.184 3286
+-107.21 26.184 3226
+-107.084 26.184 3155
+-106.958 26.184 3004
+-106.832 26.184 2924
+-106.706 26.184 2789
+-106.58 26.184 2616
+-106.454 26.184 2406
+-106.328 26.184 2182
+-106.202 26.184 2003
+-106.076 26.184 1936
+-105.95 26.184 1995
+-105.824 26.184 2131
+-105.698 26.184 2285
+-105.572 26.184 2423
+-105.446 26.184 2517
+-105.32 26.184 2639
+-105.194 26.184 2711
+-105.068 26.184 2772
+-104.942 26.184 2819
+-104.816 26.184 2900
+-104.69 26.184 2934
+-104.564 26.184 2964
+-104.438 26.184 3005
+-104.312 26.184 3023
+-104.186 26.184 3045
+-104.06 26.184 3060
+-103.934 26.184 3084
+-103.808 26.184 3094
+-103.682 26.184 3117
+-103.556 26.184 3135
+-103.43 26.184 3146
+-103.304 26.184 3157
+-103.178 26.184 3173
+-103.052 26.184 3174
+-102.926 26.184 3212
+-102.8 26.184 3226
+-102.674 26.184 3217
+-102.548 26.184 3229
+-102.422 26.184 3266
+-102.296 26.184 3279
+-102.17 26.184 3258
+-102.044 26.184 3245
+-101.918 26.184 3260
+-101.792 26.184 3144
+-101.666 26.184 3152
+-101.54 26.184 3206
+-101.414 26.184 3215
+-101.288 26.184 3176
+-101.162 26.184 3190
+-101.036 26.184 3198
+-100.91 26.184 3181
+-100.784 26.184 3188
+-100.658 26.184 3194
+-100.532 26.184 3200
+-100.406 26.184 3206
+-100.28 26.184 3212
+-100.154 26.184 3217
+-100.028 26.184 3154
+-99.902 26.184 3152
+-99.776 26.184 3156
+-99.65 26.184 3160
+-99.524 26.184 3143
+-99.398 26.184 3148
+-99.272 26.184 3210
+-99.146 26.184 3215
+-99.02 26.184 3229
+-98.894 26.184 3214
+-98.768 26.184 3218
+-98.642 26.184 3222
+-98.516 26.184 3226
+-98.39 26.184 3225
+-98.264 26.184 3229
+-98.138 26.184 3217
+-98.012 26.184 3221
+-97.886 26.184 3148
+-97.76 26.184 3043
+-97.634 26.184 3043
+-97.508 26.184 3042
+-97.382 26.184 3041
+-97.256 26.184 3005
+-97.13 26.184 3024
+-97.004 26.184 2996
+-96.878 26.184 2978
+-96.752 26.184 3005
+-96.626 26.184 2974
+-96.5 26.184 3032
+-96.374 26.184 3073
+-96.248 26.184 3297
+-96.122 26.184 3301
+-95.996 26.184 3308
+-95.87 26.184 3342
+-95.744 26.184 3341
+-95.618 26.184 3340
+-95.492 26.184 3339
+-95.366 26.184 3338
+-95.24 26.184 3337
+-95.114 26.184 3438
+-94.988 26.184 3437
+-94.862 26.184 3436
+-94.736 26.184 3435
+-94.61 26.184 3433
+-94.484 26.184 3432
+-94.358 26.184 3431
+-94.232 26.184 3430
+-94.106 26.184 3428
+-93.98 26.184 3427
+-93.854 26.184 3426
+-93.728 26.184 3424
+-93.602 26.184 3456
+-93.476 26.184 3454
+-93.35 26.184 3452
+-93.224 26.184 3450
+-93.098 26.184 3448
+-92.972 26.184 3446
+-92.846 26.184 3462
+-92.72 26.184 3461
+-92.594 26.184 3459
+-92.468 26.184 3457
+-92.342 26.184 3456
+-92.216 26.184 3454
+-92.09 26.184 3476
+-91.964 26.184 3490
+-91.838 26.184 3489
+-91.712 26.184 3487
+-91.586 26.184 3547
+-91.46 26.184 3547
+-91.334 26.184 3548
+-91.208 26.184 3548
+-91.082 26.184 3549
+-90.956 26.184 3567
+-90.83 26.184 3568
+-90.704 26.184 3628
+-90.578 26.184 3631
+-90.452 26.184 3652
+-90.326 26.184 3655
+-90.2 26.184 3659
+-90.074 26.184 3664
+-89.948 26.184 3695
+-89.822 26.184 3701
+-89.696 26.184 3746
+-89.57 26.184 3797
+-89.444 26.184 3804
+-89.318 26.184 3811
+-89.192 26.184 3817
+-89.066 26.184 3853
+-88.94 26.184 4011
+-88.814 26.184 4048
+-88.688 26.184 4048
+-88.562 26.184 4049
+-88.436 26.184 4050
+-88.31 26.184 4115
+-88.184 26.184 4161
+-88.058 26.184 4159
+-87.932 26.184 4210
+-87.806 26.184 4229
+-87.68 26.184 4247
+-87.554 26.184 4310
+-87.428 26.184 4354
+-87.302 26.184 4418
+-87.176 26.184 4533
+-87.05 26.184 4605
+-86.924 26.184 4661
+-86.798 26.184 4660
+-86.672 26.184 4656
+-86.546 26.184 4789
+-86.42 26.184 4951
+-86.294 26.184 5018
+-86.168 26.184 5126
+-86.042 26.184 5261
+-85.916 26.184 5398
+-85.79 26.184 5498
+-85.664 26.184 5582
+-85.538 26.184 5693
+-85.412 26.184 5845
+-85.286 26.184 5976
+-85.16 26.184 6085
+-85.034 26.184 6152
+-84.908 26.184 6293
+-84.782 26.184 6445
+-84.656 26.184 6562
+-84.53 26.184 6656
+-84.404 26.184 6858
+-84.278 26.184 6992
+-84.152 26.184 7012
+-84.026 26.184 7157
+-83.9 26.184 7258
+-83.774 26.184 7336
+-83.648 26.184 7414
+-83.522 26.184 7519
+-83.396 26.184 7639
+-83.27 26.184 7693
+-83.144 26.184 7801
+-83.018 26.184 7855
+-82.892 26.184 7919
+-82.766 26.184 7963
+-82.64 26.184 7971
+-82.514 26.184 8017
+-82.388 26.184 8043
+-82.262 26.184 8065
+-82.136 26.184 8057
+-82.01 26.184 8033
+-81.884 26.184 8016
+-81.758 26.184 7991
+-81.632 26.184 7973
+-81.506 26.184 7940
+-81.38 26.184 7839
+-81.254 26.184 7734
+-81.128 26.184 7693
+-81.002 26.184 7613
+-80.876 26.184 7579
+-80.75 26.184 7453
+-80.624 26.184 7281
+-80.498 26.184 7272
+-80.372 26.184 7148
+-80.246 26.184 7026
+-80.12 26.184 6918
+-79.994 26.184 6844
+-79.868 26.184 6701
+-79.742 26.184 6598
+-79.616 26.184 6482
+-79.49 26.184 6348
+-79.364 26.184 6200
+-79.238 26.184 6106
+-79.112 26.184 6090
+-78.986 26.184 5963
+-78.86 26.184 5785
+-78.734 26.184 5588
+-78.608 26.184 5420
+-78.482 26.184 5331
+-78.356 26.184 5267
+-78.23 26.184 5161
+-78.104 26.184 5044
+-77.978 26.184 4982
+-77.852 26.184 4912
+-77.726 26.184 4843
+-77.6 26.184 4792
+-77.474 26.184 4725
+-77.348 26.184 4680
+-77.222 26.184 4650
+-77.096 26.184 4567
+-76.97 26.184 4505
+-76.844 26.184 4485
+-76.718 26.184 4418
+-76.592 26.184 4311
+-76.466 26.184 4268
+-76.34 26.184 4216
+-76.214 26.184 4172
+-76.088 26.184 4077
+-75.962 26.184 4001
+-75.836 26.184 3971
+-75.71 26.184 3945
+-75.584 26.184 3923
+-75.458 26.184 3878
+-75.332 26.184 3814
+-75.206 26.184 3808
+-75.08 26.184 3783
+-74.954 26.184 3758
+-74.828 26.184 3762
+-74.702 26.184 3694
+-74.576 26.184 3474
+-74.45 26.184 3357
+-74.324 26.184 3350
+-74.198 26.184 3296
+-74.072 26.184 3289
+-73.946 26.184 3282
+-73.82 26.184 3275
+-73.694 26.184 3269
+-73.568 26.184 3263
+-73.442 26.184 3154
+-73.316 26.184 3149
+-73.19 26.184 3093
+-73.064 26.184 3090
+-72.938 26.184 3087
+-72.812 26.184 3084
+-72.686 26.184 3082
+-72.56 26.184 3080
+-72.434 26.184 3079
+-72.308 26.184 3078
+-72.182 26.184 3077
+-72.056 26.184 3077
+-71.93 26.184 3077
+-71.804 26.184 3077
+-71.678 26.184 3077
+-71.552 26.184 3078
+-71.426 26.184 2916
+-71.3 26.184 2917
+-71.174 26.184 2918
+-71.048 26.184 2919
+-70.922 26.184 2921
+-70.796 26.184 2922
+-70.67 26.184 2885
+-70.544 26.184 2888
+-70.418 26.184 2879
+-70.292 26.184 2875
+-70.166 26.184 2848
+-70.04 26.184 2850
+-69.914 26.184 2852
+-69.788 26.184 2854
+-69.662 26.184 2856
+-69.536 26.184 2858
+-69.41 26.184 2860
+-69.284 26.184 2862
+-69.158 26.184 2864
+-69.032 26.184 2866
+-68.906 26.184 2868
+-68.78 26.184 2869
+-68.654 26.184 2871
+-68.528 26.184 2873
+-68.402 26.184 2875
+-68.276 26.184 2876
+-68.15 26.184 2878
+-68.024 26.184 2880
+-67.898 26.184 2881
+-67.772 26.184 2883
+-67.646 26.184 2884
+-67.52 26.184 2886
+-67.394 26.184 2887
+-67.268 26.184 2889
+-67.142 26.184 2890
+-67.016 26.184 2892
+-66.89 26.184 2886
+-66.764 26.184 2888
+-66.638 26.184 2889
+-66.512 26.184 2891
+-66.386 26.184 2892
+-66.26 26.184 2893
+-66.134 26.184 2895
+-66.008 26.184 2896
+-65.882 26.184 2898
+-65.756 26.184 2899
+-65.63 26.184 2900
+-65.504 26.184 2901
+-65.378 26.184 2903
+-65.252 26.184 2904
+-65.126 26.184 2905
+-128 26.132 3429
+-127.874 26.132 3397
+-127.748 26.132 3397
+-127.622 26.132 3379
+-127.496 26.132 3410
+-127.37 26.132 3410
+-127.244 26.132 3477
+-127.118 26.132 3476
+-126.992 26.132 3439
+-126.866 26.132 3461
+-126.74 26.132 3501
+-126.614 26.132 3492
+-126.488 26.132 3525
+-126.362 26.132 3524
+-126.236 26.132 3564
+-126.11 26.132 3539
+-125.984 26.132 3538
+-125.858 26.132 3537
+-125.732 26.132 3573
+-125.606 26.132 3572
+-125.48 26.132 3368
+-125.354 26.132 3376
+-125.228 26.132 3395
+-125.102 26.132 3291
+-124.976 26.132 3288
+-124.85 26.132 3272
+-124.724 26.132 3338
+-124.598 26.132 3305
+-124.472 26.132 3301
+-124.346 26.132 3324
+-124.22 26.132 3222
+-124.094 26.132 3225
+-123.968 26.132 3252
+-123.842 26.132 3244
+-123.716 26.132 3238
+-123.59 26.132 3234
+-123.464 26.132 3149
+-123.338 26.132 3146
+-123.212 26.132 3068
+-123.086 26.132 3074
+-122.96 26.132 3073
+-122.834 26.132 3067
+-122.708 26.132 3032
+-122.582 26.132 3026
+-122.456 26.132 3019
+-122.33 26.132 3032
+-122.204 26.132 3013
+-122.078 26.132 3006
+-121.952 26.132 2960
+-121.826 26.132 2953
+-121.7 26.132 2987
+-121.574 26.132 2953
+-121.448 26.132 2936
+-121.322 26.132 2859
+-121.196 26.132 2879
+-121.07 26.132 2870
+-120.944 26.132 2861
+-120.818 26.132 2851
+-120.692 26.132 2842
+-120.566 26.132 2831
+-120.44 26.132 2782
+-120.314 26.132 2776
+-120.188 26.132 2766
+-120.062 26.132 2740
+-119.936 26.132 2723
+-119.81 26.132 2710
+-119.684 26.132 2703
+-119.558 26.132 2682
+-119.432 26.132 2677
+-119.306 26.132 2665
+-119.18 26.132 2660
+-119.054 26.132 2652
+-118.928 26.132 2653
+-118.802 26.132 2651
+-118.676 26.132 2655
+-118.55 26.132 2656
+-118.424 26.132 2655
+-118.298 26.132 2654
+-118.172 26.132 2653
+-118.046 26.132 2623
+-117.92 26.132 2620
+-117.794 26.132 2613
+-117.668 26.132 2590
+-117.542 26.132 2570
+-117.416 26.132 2527
+-117.29 26.132 2490
+-117.164 26.132 2452
+-117.038 26.132 2421
+-116.912 26.132 2408
+-116.786 26.132 2418
+-116.66 26.132 2446
+-116.534 26.132 2513
+-116.408 26.132 2555
+-116.282 26.132 2583
+-116.156 26.132 2626
+-116.03 26.132 2642
+-115.904 26.132 2649
+-115.778 26.132 2643
+-115.652 26.132 2641
+-115.526 26.132 2623
+-115.4 26.132 2625
+-115.274 26.132 2625
+-115.148 26.132 2597
+-115.022 26.132 2579
+-114.896 26.132 2580
+-114.77 26.132 2590
+-114.644 26.132 2622
+-114.518 26.132 2659
+-114.392 26.132 2738
+-114.266 26.132 2787
+-114.14 26.132 2830
+-114.014 26.132 2897
+-113.888 26.132 2917
+-113.762 26.132 2933
+-113.636 26.132 2939
+-113.51 26.132 2940
+-113.384 26.132 2957
+-113.258 26.132 2982
+-113.132 26.132 3007
+-113.006 26.132 3038
+-112.88 26.132 3087
+-112.754 26.132 3110
+-112.628 26.132 3155
+-112.502 26.132 3236
+-112.376 26.132 3317
+-112.25 26.132 3356
+-112.124 26.132 3378
+-111.998 26.132 3401
+-111.872 26.132 3414
+-111.746 26.132 3416
+-111.62 26.132 3410
+-111.494 26.132 3400
+-111.368 26.132 3416
+-111.242 26.132 3427
+-111.116 26.132 3449
+-110.99 26.132 3496
+-110.864 26.132 3545
+-110.738 26.132 3593
+-110.612 26.132 3601
+-110.486 26.132 3612
+-110.36 26.132 3607
+-110.234 26.132 3608
+-110.108 26.132 3569
+-109.982 26.132 3535
+-109.856 26.132 3503
+-109.73 26.132 3487
+-109.604 26.132 3497
+-109.478 26.132 3503
+-109.352 26.132 3509
+-109.226 26.132 3511
+-109.1 26.132 3476
+-108.974 26.132 3445
+-108.848 26.132 3459
+-108.722 26.132 3494
+-108.596 26.132 3525
+-108.47 26.132 3537
+-108.344 26.132 3546
+-108.218 26.132 3543
+-108.092 26.132 3491
+-107.966 26.132 3446
+-107.84 26.132 3426
+-107.714 26.132 3400
+-107.588 26.132 3389
+-107.462 26.132 3350
+-107.336 26.132 3307
+-107.21 26.132 3216
+-107.084 26.132 3101
+-106.958 26.132 3016
+-106.832 26.132 2887
+-106.706 26.132 2777
+-106.58 26.132 2611
+-106.454 26.132 2415
+-106.328 26.132 2213
+-106.202 26.132 2055
+-106.076 26.132 1994
+-105.95 26.132 2041
+-105.824 26.132 2159
+-105.698 26.132 2297
+-105.572 26.132 2426
+-105.446 26.132 2535
+-105.32 26.132 2601
+-105.194 26.132 2710
+-105.068 26.132 2767
+-104.942 26.132 2819
+-104.816 26.132 2859
+-104.69 26.132 2938
+-104.564 26.132 2968
+-104.438 26.132 2995
+-104.312 26.132 3035
+-104.186 26.132 3049
+-104.06 26.132 3070
+-103.934 26.132 3084
+-103.808 26.132 3106
+-103.682 26.132 3115
+-103.556 26.132 3137
+-103.43 26.132 3154
+-103.304 26.132 3164
+-103.178 26.132 3174
+-103.052 26.132 3188
+-102.926 26.132 3188
+-102.8 26.132 3226
+-102.674 26.132 3240
+-102.548 26.132 3229
+-102.422 26.132 3241
+-102.296 26.132 3277
+-102.17 26.132 3289
+-102.044 26.132 3267
+-101.918 26.132 3254
+-101.792 26.132 3268
+-101.666 26.132 3151
+-101.54 26.132 3158
+-101.414 26.132 3212
+-101.288 26.132 3221
+-101.162 26.132 3181
+-101.036 26.132 3195
+-100.91 26.132 3203
+-100.784 26.132 3185
+-100.658 26.132 3192
+-100.532 26.132 3198
+-100.406 26.132 3204
+-100.28 26.132 3209
+-100.154 26.132 3215
+-100.028 26.132 3220
+-99.902 26.132 3157
+-99.776 26.132 3154
+-99.65 26.132 3158
+-99.524 26.132 3162
+-99.398 26.132 3145
+-99.272 26.132 3149
+-99.146 26.132 3213
+-99.02 26.132 3217
+-98.894 26.132 3232
+-98.768 26.132 3216
+-98.642 26.132 3220
+-98.516 26.132 3224
+-98.39 26.132 3228
+-98.264 26.132 3227
+-98.138 26.132 3231
+-98.012 26.132 3219
+-97.886 26.132 3222
+-97.76 26.132 3108
+-97.634 26.132 3041
+-97.508 26.132 3040
+-97.382 26.132 3039
+-97.256 26.132 3003
+-97.13 26.132 3022
+-97.004 26.132 2995
+-96.878 26.132 2977
+-96.752 26.132 3005
+-96.626 26.132 3056
+-96.5 26.132 3033
+-96.374 26.132 3073
+-96.248 26.132 3297
+-96.122 26.132 3300
+-95.996 26.132 3308
+-95.87 26.132 3341
+-95.744 26.132 3340
+-95.618 26.132 3339
+-95.492 26.132 3338
+-95.366 26.132 3337
+-95.24 26.132 3438
+-95.114 26.132 3437
+-94.988 26.132 3436
+-94.862 26.132 3435
+-94.736 26.132 3434
+-94.61 26.132 3432
+-94.484 26.132 3431
+-94.358 26.132 3430
+-94.232 26.132 3429
+-94.106 26.132 3427
+-93.98 26.132 3426
+-93.854 26.132 3425
+-93.728 26.132 3457
+-93.602 26.132 3455
+-93.476 26.132 3453
+-93.35 26.132 3451
+-93.224 26.132 3449
+-93.098 26.132 3447
+-92.972 26.132 3464
+-92.846 26.132 3462
+-92.72 26.132 3461
+-92.594 26.132 3459
+-92.468 26.132 3457
+-92.342 26.132 3456
+-92.216 26.132 3478
+-92.09 26.132 3492
+-91.964 26.132 3491
+-91.838 26.132 3490
+-91.712 26.132 3549
+-91.586 26.132 3549
+-91.46 26.132 3550
+-91.334 26.132 3550
+-91.208 26.132 3551
+-91.082 26.132 3568
+-90.956 26.132 3570
+-90.83 26.132 3571
+-90.704 26.132 3573
+-90.578 26.132 3654
+-90.452 26.132 3657
+-90.326 26.132 3660
+-90.2 26.132 3665
+-90.074 26.132 3695
+-89.948 26.132 3699
+-89.822 26.132 3717
+-89.696 26.132 3722
+-89.57 26.132 3756
+-89.444 26.132 3806
+-89.318 26.132 3810
+-89.192 26.132 3846
+-89.066 26.132 3952
+-88.94 26.132 3951
+-88.814 26.132 3986
+-88.688 26.132 4036
+-88.562 26.132 4034
+-88.436 26.132 4079
+-88.31 26.132 4072
+-88.184 26.132 4065
+-88.058 26.132 4145
+-87.932 26.132 4141
+-87.806 26.132 4162
+-87.68 26.132 4212
+-87.554 26.132 4273
+-87.428 26.132 4332
+-87.302 26.132 4426
+-87.176 26.132 4514
+-87.05 26.132 4588
+-86.924 26.132 4654
+-86.798 26.132 4701
+-86.672 26.132 4789
+-86.546 26.132 4874
+-86.42 26.132 4959
+-86.294 26.132 4947
+-86.168 26.132 5055
+-86.042 26.132 5194
+-85.916 26.132 5361
+-85.79 26.132 5456
+-85.664 26.132 5564
+-85.538 26.132 5678
+-85.412 26.132 5866
+-85.286 26.132 5975
+-85.16 26.132 6045
+-85.034 26.132 6103
+-84.908 26.132 6233
+-84.782 26.132 6376
+-84.656 26.132 6523
+-84.53 26.132 6658
+-84.404 26.132 6803
+-84.278 26.132 6968
+-84.152 26.132 7040
+-84.026 26.132 7141
+-83.9 26.132 7229
+-83.774 26.132 7317
+-83.648 26.132 7382
+-83.522 26.132 7485
+-83.396 26.132 7564
+-83.27 26.132 7680
+-83.144 26.132 7738
+-83.018 26.132 7837
+-82.892 26.132 7841
+-82.766 26.132 7908
+-82.64 26.132 7943
+-82.514 26.132 7987
+-82.388 26.132 8016
+-82.262 26.132 8025
+-82.136 26.132 7999
+-82.01 26.132 8003
+-81.884 26.132 7991
+-81.758 26.132 7965
+-81.632 26.132 7914
+-81.506 26.132 7826
+-81.38 26.132 7741
+-81.254 26.132 7684
+-81.128 26.132 7660
+-81.002 26.132 7566
+-80.876 26.132 7505
+-80.75 26.132 7383
+-80.624 26.132 7283
+-80.498 26.132 7206
+-80.372 26.132 7096
+-80.246 26.132 6976
+-80.12 26.132 6877
+-79.994 26.132 6810
+-79.868 26.132 6695
+-79.742 26.132 6480
+-79.616 26.132 6455
+-79.49 26.132 6337
+-79.364 26.132 6221
+-79.238 26.132 6119
+-79.112 26.132 6004
+-78.986 26.132 5888
+-78.86 26.132 5780
+-78.734 26.132 5557
+-78.608 26.132 5433
+-78.482 26.132 5403
+-78.356 26.132 5290
+-78.23 26.132 5162
+-78.104 26.132 5023
+-77.978 26.132 4938
+-77.852 26.132 4875
+-77.726 26.132 4813
+-77.6 26.132 4748
+-77.474 26.132 4672
+-77.348 26.132 4601
+-77.222 26.132 4523
+-77.096 26.132 4500
+-76.97 26.132 4460
+-76.844 26.132 4450
+-76.718 26.132 4436
+-76.592 26.132 4371
+-76.466 26.132 4226
+-76.34 26.132 4176
+-76.214 26.132 4136
+-76.088 26.132 4089
+-75.962 26.132 4052
+-75.836 26.132 3982
+-75.71 26.132 3961
+-75.584 26.132 3942
+-75.458 26.132 3928
+-75.332 26.132 3888
+-75.206 26.132 3828
+-75.08 26.132 3825
+-74.954 26.132 3773
+-74.828 26.132 3753
+-74.702 26.132 3559
+-74.576 26.132 3528
+-74.45 26.132 3463
+-74.324 26.132 3344
+-74.198 26.132 3336
+-74.072 26.132 3281
+-73.946 26.132 3272
+-73.82 26.132 3265
+-73.694 26.132 3258
+-73.568 26.132 3137
+-73.442 26.132 3132
+-73.316 26.132 3136
+-73.19 26.132 3080
+-73.064 26.132 3076
+-72.938 26.132 3073
+-72.812 26.132 3071
+-72.686 26.132 3069
+-72.56 26.132 3067
+-72.434 26.132 3066
+-72.308 26.132 3066
+-72.182 26.132 3065
+-72.056 26.132 3066
+-71.93 26.132 3066
+-71.804 26.132 3066
+-71.678 26.132 3067
+-71.552 26.132 3068
+-71.426 26.132 3069
+-71.3 26.132 2907
+-71.174 26.132 2909
+-71.048 26.132 2910
+-70.922 26.132 2912
+-70.796 26.132 2913
+-70.67 26.132 2915
+-70.544 26.132 2878
+-70.418 26.132 2881
+-70.292 26.132 2872
+-70.166 26.132 2868
+-70.04 26.132 2842
+-69.914 26.132 2844
+-69.788 26.132 2846
+-69.662 26.132 2849
+-69.536 26.132 2851
+-69.41 26.132 2853
+-69.284 26.132 2855
+-69.158 26.132 2857
+-69.032 26.132 2860
+-68.906 26.132 2862
+-68.78 26.132 2864
+-68.654 26.132 2866
+-68.528 26.132 2868
+-68.402 26.132 2869
+-68.276 26.132 2871
+-68.15 26.132 2873
+-68.024 26.132 2875
+-67.898 26.132 2877
+-67.772 26.132 2878
+-67.646 26.132 2880
+-67.52 26.132 2882
+-67.394 26.132 2883
+-67.268 26.132 2885
+-67.142 26.132 2886
+-67.016 26.132 2888
+-66.89 26.132 2889
+-66.764 26.132 2883
+-66.638 26.132 2885
+-66.512 26.132 2887
+-66.386 26.132 2888
+-66.26 26.132 2890
+-66.134 26.132 2891
+-66.008 26.132 2893
+-65.882 26.132 2894
+-65.756 26.132 2895
+-65.63 26.132 2897
+-65.504 26.132 2898
+-65.378 26.132 2899
+-65.252 26.132 2901
+-65.126 26.132 2902
+-128 26.08 3398
+-127.874 26.08 3397
+-127.748 26.08 3379
+-127.622 26.08 3411
+-127.496 26.08 3411
+-127.37 26.08 3477
+-127.244 26.08 3477
+-127.118 26.08 3440
+-126.992 26.08 3461
+-126.866 26.08 3502
+-126.74 26.08 3493
+-126.614 26.08 3526
+-126.488 26.08 3526
+-126.362 26.08 3566
+-126.236 26.08 3540
+-126.11 26.08 3539
+-125.984 26.08 3538
+-125.858 26.08 3574
+-125.732 26.08 3573
+-125.606 26.08 3365
+-125.48 26.08 3373
+-125.354 26.08 3393
+-125.228 26.08 3288
+-125.102 26.08 3285
+-124.976 26.08 3268
+-124.85 26.08 3335
+-124.724 26.08 3301
+-124.598 26.08 3298
+-124.472 26.08 3320
+-124.346 26.08 3218
+-124.22 26.08 3221
+-124.094 26.08 3248
+-123.968 26.08 3240
+-123.842 26.08 3235
+-123.716 26.08 3229
+-123.59 26.08 3144
+-123.464 26.08 3141
+-123.338 26.08 3063
+-123.212 26.08 3068
+-123.086 26.08 3068
+-122.96 26.08 3061
+-122.834 26.08 3026
+-122.708 26.08 3020
+-122.582 26.08 3013
+-122.456 26.08 3026
+-122.33 26.08 3006
+-122.204 26.08 2999
+-122.078 26.08 2953
+-121.952 26.08 2946
+-121.826 26.08 2981
+-121.7 26.08 2946
+-121.574 26.08 2928
+-121.448 26.08 2850
+-121.322 26.08 2870
+-121.196 26.08 2862
+-121.07 26.08 2853
+-120.944 26.08 2843
+-120.818 26.08 2834
+-120.692 26.08 2824
+-120.566 26.08 2774
+-120.44 26.08 2769
+-120.314 26.08 2760
+-120.188 26.08 2735
+-120.062 26.08 2718
+-119.936 26.08 2706
+-119.81 26.08 2700
+-119.684 26.08 2679
+-119.558 26.08 2675
+-119.432 26.08 2663
+-119.306 26.08 2658
+-119.18 26.08 2649
+-119.054 26.08 2649
+-118.928 26.08 2647
+-118.802 26.08 2651
+-118.676 26.08 2652
+-118.55 26.08 2653
+-118.424 26.08 2653
+-118.298 26.08 2651
+-118.172 26.08 2617
+-118.046 26.08 2612
+-117.92 26.08 2604
+-117.794 26.08 2579
+-117.668 26.08 2557
+-117.542 26.08 2510
+-117.416 26.08 2465
+-117.29 26.08 2408
+-117.164 26.08 2348
+-117.038 26.08 2299
+-116.912 26.08 2279
+-116.786 26.08 2295
+-116.66 26.08 2340
+-116.534 26.08 2425
+-116.408 26.08 2482
+-116.282 26.08 2538
+-116.156 26.08 2576
+-116.03 26.08 2614
+-115.904 26.08 2623
+-115.778 26.08 2638
+-115.652 26.08 2638
+-115.526 26.08 2628
+-115.4 26.08 2641
+-115.274 26.08 2651
+-115.148 26.08 2631
+-115.022 26.08 2623
+-114.896 26.08 2632
+-114.77 26.08 2655
+-114.644 26.08 2675
+-114.518 26.08 2705
+-114.392 26.08 2779
+-114.266 26.08 2815
+-114.14 26.08 2864
+-114.014 26.08 2909
+-113.888 26.08 2934
+-113.762 26.08 2932
+-113.636 26.08 2945
+-113.51 26.08 2939
+-113.384 26.08 2941
+-113.258 26.08 2946
+-113.132 26.08 2942
+-113.006 26.08 2953
+-112.88 26.08 2980
+-112.754 26.08 3026
+-112.628 26.08 3078
+-112.502 26.08 3147
+-112.376 26.08 3225
+-112.25 26.08 3292
+-112.124 26.08 3334
+-111.998 26.08 3366
+-111.872 26.08 3388
+-111.746 26.08 3398
+-111.62 26.08 3403
+-111.494 26.08 3404
+-111.368 26.08 3414
+-111.242 26.08 3421
+-111.116 26.08 3427
+-110.99 26.08 3461
+-110.864 26.08 3502
+-110.738 26.08 3541
+-110.612 26.08 3563
+-110.486 26.08 3576
+-110.36 26.08 3572
+-110.234 26.08 3550
+-110.108 26.08 3525
+-109.982 26.08 3484
+-109.856 26.08 3434
+-109.73 26.08 3407
+-109.604 26.08 3438
+-109.478 26.08 3476
+-109.352 26.08 3489
+-109.226 26.08 3491
+-109.1 26.08 3487
+-108.974 26.08 3471
+-108.848 26.08 3478
+-108.722 26.08 3493
+-108.596 26.08 3508
+-108.47 26.08 3503
+-108.344 26.08 3510
+-108.218 26.08 3511
+-108.092 26.08 3455
+-107.966 26.08 3439
+-107.84 26.08 3360
+-107.714 26.08 3335
+-107.588 26.08 3305
+-107.462 26.08 3289
+-107.336 26.08 3246
+-107.21 26.08 3193
+-107.084 26.08 3092
+-106.958 26.08 3011
+-106.832 26.08 2911
+-106.706 26.08 2768
+-106.58 26.08 2640
+-106.454 26.08 2474
+-106.328 26.08 2310
+-106.202 26.08 2184
+-106.076 26.08 2131
+-105.95 26.08 2159
+-105.824 26.08 2243
+-105.698 26.08 2353
+-105.572 26.08 2461
+-105.446 26.08 2556
+-105.32 26.08 2636
+-105.194 26.08 2676
+-105.068 26.08 2775
+-104.942 26.08 2819
+-104.816 26.08 2863
+-104.69 26.08 2896
+-104.564 26.08 2974
+-104.438 26.08 3001
+-104.312 26.08 3025
+-104.186 26.08 3064
+-104.06 26.08 3076
+-103.934 26.08 3094
+-103.808 26.08 3106
+-103.682 26.08 3127
+-103.556 26.08 3135
+-103.43 26.08 3157
+-103.304 26.08 3172
+-103.178 26.08 3181
+-103.052 26.08 3190
+-102.926 26.08 3203
+-102.8 26.08 3202
+-102.674 26.08 3240
+-102.548 26.08 3253
+-102.422 26.08 3240
+-102.296 26.08 3252
+-102.17 26.08 3288
+-102.044 26.08 3300
+-101.918 26.08 3277
+-101.792 26.08 3262
+-101.666 26.08 3276
+-101.54 26.08 3157
+-101.414 26.08 3164
+-101.288 26.08 3219
+-101.162 26.08 3226
+-101.036 26.08 3186
+-100.91 26.08 3200
+-100.784 26.08 3207
+-100.658 26.08 3190
+-100.532 26.08 3196
+-100.406 26.08 3202
+-100.28 26.08 3207
+-100.154 26.08 3213
+-100.028 26.08 3218
+-99.902 26.08 3223
+-99.776 26.08 3159
+-99.65 26.08 3156
+-99.524 26.08 3160
+-99.398 26.08 3164
+-99.272 26.08 3147
+-99.146 26.08 3151
+-99.02 26.08 3215
+-98.894 26.08 3219
+-98.768 26.08 3234
+-98.642 26.08 3218
+-98.516 26.08 3222
+-98.39 26.08 3226
+-98.264 26.08 3229
+-98.138 26.08 3229
+-98.012 26.08 3232
+-97.886 26.08 3220
+-97.76 26.08 3106
+-97.634 26.08 3106
+-97.508 26.08 3038
+-97.382 26.08 3037
+-97.256 26.08 3001
+-97.13 26.08 3020
+-97.004 26.08 2993
+-96.878 26.08 2977
+-96.752 26.08 3005
+-96.626 26.08 3056
+-96.5 26.08 3033
+-96.374 26.08 3073
+-96.248 26.08 3297
+-96.122 26.08 3300
+-95.996 26.08 3307
+-95.87 26.08 3340
+-95.744 26.08 3339
+-95.618 26.08 3339
+-95.492 26.08 3338
+-95.366 26.08 3438
+-95.24 26.08 3437
+-95.114 26.08 3436
+-94.988 26.08 3435
+-94.862 26.08 3434
+-94.736 26.08 3433
+-94.61 26.08 3431
+-94.484 26.08 3430
+-94.358 26.08 3429
+-94.232 26.08 3428
+-94.106 26.08 3426
+-93.98 26.08 3425
+-93.854 26.08 3457
+-93.728 26.08 3455
+-93.602 26.08 3453
+-93.476 26.08 3452
+-93.35 26.08 3450
+-93.224 26.08 3448
+-93.098 26.08 3465
+-92.972 26.08 3463
+-92.846 26.08 3462
+-92.72 26.08 3460
+-92.594 26.08 3459
+-92.468 26.08 3457
+-92.342 26.08 3480
+-92.216 26.08 3494
+-92.09 26.08 3493
+-91.964 26.08 3491
+-91.838 26.08 3551
+-91.712 26.08 3551
+-91.586 26.08 3551
+-91.46 26.08 3552
+-91.334 26.08 3568
+-91.208 26.08 3569
+-91.082 26.08 3570
+-90.956 26.08 3571
+-90.83 26.08 3573
+-90.704 26.08 3655
+-90.578 26.08 3658
+-90.452 26.08 3661
+-90.326 26.08 3664
+-90.2 26.08 3693
+-90.074 26.08 3697
+-89.948 26.08 3714
+-89.822 26.08 3718
+-89.696 26.08 3723
+-89.57 26.08 3756
+-89.444 26.08 3761
+-89.318 26.08 3786
+-89.192 26.08 3919
+-89.066 26.08 3918
+-88.94 26.08 3916
+-88.814 26.08 3936
+-88.688 26.08 3959
+-88.562 26.08 4068
+-88.436 26.08 4056
+-88.31 26.08 4042
+-88.184 26.08 4053
+-88.058 26.08 4041
+-87.932 26.08 4037
+-87.806 26.08 4071
+-87.68 26.08 4130
+-87.554 26.08 4216
+-87.428 26.08 4292
+-87.302 26.08 4399
+-87.176 26.08 4457
+-87.05 26.08 4529
+-86.924 26.08 4603
+-86.798 26.08 4685
+-86.672 26.08 4779
+-86.546 26.08 4888
+-86.42 26.08 4947
+-86.294 26.08 4974
+-86.168 26.08 5049
+-86.042 26.08 5151
+-85.916 26.08 5302
+-85.79 26.08 5323
+-85.664 26.08 5497
+-85.538 26.08 5657
+-85.412 26.08 5810
+-85.286 26.08 5898
+-85.16 26.08 5991
+-85.034 26.08 6088
+-84.908 26.08 6184
+-84.782 26.08 6284
+-84.656 26.08 6455
+-84.53 26.08 6619
+-84.404 26.08 6734
+-84.278 26.08 6915
+-84.152 26.08 7006
+-84.026 26.08 7063
+-83.9 26.08 7169
+-83.774 26.08 7248
+-83.648 26.08 7349
+-83.522 26.08 7422
+-83.396 26.08 7503
+-83.27 26.08 7617
+-83.144 26.08 7699
+-83.018 26.08 7783
+-82.892 26.08 7797
+-82.766 26.08 7843
+-82.64 26.08 7892
+-82.514 26.08 7932
+-82.388 26.08 7944
+-82.262 26.08 7982
+-82.136 26.08 7959
+-82.01 26.08 7977
+-81.884 26.08 7940
+-81.758 26.08 7903
+-81.632 26.08 7817
+-81.506 26.08 7805
+-81.38 26.08 7735
+-81.254 26.08 7695
+-81.128 26.08 7588
+-81.002 26.08 7511
+-80.876 26.08 7448
+-80.75 26.08 7322
+-80.624 26.08 7312
+-80.498 26.08 7115
+-80.372 26.08 7073
+-80.246 26.08 7011
+-80.12 26.08 6840
+-79.994 26.08 6782
+-79.868 26.08 6668
+-79.742 26.08 6519
+-79.616 26.08 6401
+-79.49 26.08 6259
+-79.364 26.08 6162
+-79.238 26.08 6044
+-79.112 26.08 5934
+-78.986 26.08 5847
+-78.86 26.08 5765
+-78.734 26.08 5610
+-78.608 26.08 5480
+-78.482 26.08 5386
+-78.356 26.08 5260
+-78.23 26.08 5087
+-78.104 26.08 4953
+-77.978 26.08 4854
+-77.852 26.08 4823
+-77.726 26.08 4789
+-77.6 26.08 4680
+-77.474 26.08 4539
+-77.348 26.08 4398
+-77.222 26.08 4379
+-77.096 26.08 4412
+-76.97 26.08 4437
+-76.844 26.08 4454
+-76.718 26.08 4344
+-76.592 26.08 4299
+-76.466 26.08 4272
+-76.34 26.08 4240
+-76.214 26.08 4132
+-76.088 26.08 4098
+-75.962 26.08 4059
+-75.836 26.08 4030
+-75.71 26.08 3965
+-75.584 26.08 3951
+-75.458 26.08 3939
+-75.332 26.08 3931
+-75.206 26.08 3869
+-75.08 26.08 3815
+-74.954 26.08 3785
+-74.828 26.08 3560
+-74.702 26.08 3551
+-74.576 26.08 3542
+-74.45 26.08 3460
+-74.324 26.08 3389
+-74.198 26.08 3325
+-74.072 26.08 3317
+-73.946 26.08 3246
+-73.82 26.08 3237
+-73.694 26.08 3129
+-73.568 26.08 3123
+-73.442 26.08 3117
+-73.316 26.08 3112
+-73.19 26.08 3108
+-73.064 26.08 3061
+-72.938 26.08 3058
+-72.812 26.08 3056
+-72.686 26.08 3054
+-72.56 26.08 3053
+-72.434 26.08 3053
+-72.308 26.08 3052
+-72.182 26.08 3053
+-72.056 26.08 3053
+-71.93 26.08 3054
+-71.804 26.08 3055
+-71.678 26.08 3056
+-71.552 26.08 3057
+-71.426 26.08 3059
+-71.3 26.08 3061
+-71.174 26.08 2898
+-71.048 26.08 2900
+-70.922 26.08 2902
+-70.796 26.08 2904
+-70.67 26.08 2906
+-70.544 26.08 2908
+-70.418 26.08 2871
+-70.292 26.08 2874
+-70.166 26.08 2866
+-70.04 26.08 2862
+-69.914 26.08 2836
+-69.788 26.08 2839
+-69.662 26.08 2841
+-69.536 26.08 2844
+-69.41 26.08 2846
+-69.284 26.08 2849
+-69.158 26.08 2851
+-69.032 26.08 2853
+-68.906 26.08 2856
+-68.78 26.08 2858
+-68.654 26.08 2860
+-68.528 26.08 2862
+-68.402 26.08 2864
+-68.276 26.08 2866
+-68.15 26.08 2868
+-68.024 26.08 2870
+-67.898 26.08 2872
+-67.772 26.08 2874
+-67.646 26.08 2876
+-67.52 26.08 2877
+-67.394 26.08 2879
+-67.268 26.08 2881
+-67.142 26.08 2882
+-67.016 26.08 2884
+-66.89 26.08 2886
+-66.764 26.08 2887
+-66.638 26.08 2881
+-66.512 26.08 2883
+-66.386 26.08 2884
+-66.26 26.08 2886
+-66.134 26.08 2887
+-66.008 26.08 2889
+-65.882 26.08 2890
+-65.756 26.08 2892
+-65.63 26.08 2893
+-65.504 26.08 2895
+-65.378 26.08 2896
+-65.252 26.08 2897
+-65.126 26.08 2899
+-128 26.028 3398
+-127.874 26.028 3380
+-127.748 26.028 3412
+-127.622 26.028 3411
+-127.496 26.028 3478
+-127.37 26.028 3477
+-127.244 26.028 3441
+-127.118 26.028 3462
+-126.992 26.028 3503
+-126.866 26.028 3494
+-126.74 26.028 3528
+-126.614 26.028 3527
+-126.488 26.028 3567
+-126.362 26.028 3541
+-126.236 26.028 3540
+-126.11 26.028 3540
+-125.984 26.028 3576
+-125.858 26.028 3575
+-125.732 26.028 3362
+-125.606 26.028 3371
+-125.48 26.028 3390
+-125.354 26.028 3286
+-125.228 26.028 3282
+-125.102 26.028 3265
+-124.976 26.028 3332
+-124.85 26.028 3298
+-124.724 26.028 3294
+-124.598 26.028 3317
+-124.472 26.028 3214
+-124.346 26.028 3217
+-124.22 26.028 3245
+-124.094 26.028 3236
+-123.968 26.028 3230
+-123.842 26.028 3225
+-123.716 26.028 3140
+-123.59 26.028 3137
+-123.464 26.028 3058
+-123.338 26.028 3063
+-123.212 26.028 3063
+-123.086 26.028 3056
+-122.96 26.028 3020
+-122.834 26.028 3014
+-122.708 26.028 3007
+-122.582 26.028 3020
+-122.456 26.028 3000
+-122.33 26.028 2992
+-122.204 26.028 2947
+-122.078 26.028 2939
+-121.952 26.028 2974
+-121.826 26.028 2939
+-121.7 26.028 2921
+-121.574 26.028 2841
+-121.448 26.028 2861
+-121.322 26.028 2852
+-121.196 26.028 2843
+-121.07 26.028 2834
+-120.944 26.028 2824
+-120.818 26.028 2815
+-120.692 26.028 2764
+-120.566 26.028 2759
+-120.44 26.028 2751
+-120.314 26.028 2724
+-120.188 26.028 2708
+-120.062 26.028 2696
+-119.936 26.028 2691
+-119.81 26.028 2670
+-119.684 26.028 2666
+-119.558 26.028 2654
+-119.432 26.028 2649
+-119.306 26.028 2640
+-119.18 26.028 2640
+-119.054 26.028 2637
+-118.928 26.028 2642
+-118.802 26.028 2644
+-118.676 26.028 2645
+-118.55 26.028 2645
+-118.424 26.028 2645
+-118.298 26.028 2609
+-118.172 26.028 2604
+-118.046 26.028 2596
+-117.92 26.028 2572
+-117.794 26.028 2552
+-117.668 26.028 2507
+-117.542 26.028 2463
+-117.416 26.028 2402
+-117.29 26.028 2326
+-117.164 26.028 2243
+-117.038 26.028 2174
+-116.912 26.028 2147
+-116.786 26.028 2171
+-116.66 26.028 2236
+-116.534 26.028 2314
+-116.408 26.028 2376
+-116.282 26.028 2437
+-116.156 26.028 2541
+-116.03 26.028 2582
+-115.904 26.028 2600
+-115.778 26.028 2629
+-115.652 26.028 2636
+-115.526 26.028 2633
+-115.4 26.028 2653
+-115.274 26.028 2664
+-115.148 26.028 2659
+-115.022 26.028 2657
+-114.896 26.028 2660
+-114.77 26.028 2686
+-114.644 26.028 2703
+-114.518 26.028 2740
+-114.392 26.028 2768
+-114.266 26.028 2838
+-114.14 26.028 2865
+-114.014 26.028 2887
+-113.888 26.028 2928
+-113.762 26.028 2925
+-113.636 26.028 2934
+-113.51 26.028 2929
+-113.384 26.028 2912
+-113.258 26.028 2883
+-113.132 26.028 2852
+-113.006 26.028 2841
+-112.88 26.028 2873
+-112.754 26.028 2932
+-112.628 26.028 2994
+-112.502 26.028 3068
+-112.376 26.028 3132
+-112.25 26.028 3233
+-112.124 26.028 3288
+-111.998 26.028 3331
+-111.872 26.028 3358
+-111.746 26.028 3375
+-111.62 26.028 3380
+-111.494 26.028 3385
+-111.368 26.028 3397
+-111.242 26.028 3410
+-111.116 26.028 3416
+-110.99 26.028 3442
+-110.864 26.028 3477
+-110.738 26.028 3511
+-110.612 26.028 3532
+-110.486 26.028 3540
+-110.36 26.028 3541
+-110.234 26.028 3520
+-110.108 26.028 3491
+-109.982 26.028 3451
+-109.856 26.028 3393
+-109.73 26.028 3362
+-109.604 26.028 3393
+-109.478 26.028 3432
+-109.352 26.028 3449
+-109.226 26.028 3457
+-109.1 26.028 3458
+-108.974 26.028 3456
+-108.848 26.028 3460
+-108.722 26.028 3466
+-108.596 26.028 3472
+-108.47 26.028 3477
+-108.344 26.028 3464
+-108.218 26.028 3462
+-108.092 26.028 3402
+-107.966 26.028 3385
+-107.84 26.028 3351
+-107.714 26.028 3315
+-107.588 26.028 3287
+-107.462 26.028 3254
+-107.336 26.028 3234
+-107.21 26.028 3185
+-107.084 26.028 3073
+-106.958 26.028 3013
+-106.832 26.028 2922
+-106.706 26.028 2815
+-106.58 26.028 2674
+-106.454 26.028 2557
+-106.328 26.028 2431
+-106.202 26.028 2335
+-106.076 26.028 2289
+-105.95 26.028 2300
+-105.824 26.028 2354
+-105.698 26.028 2430
+-105.572 26.028 2516
+-105.446 26.028 2593
+-105.32 26.028 2661
+-105.194 26.028 2719
+-105.068 26.028 2739
+-104.942 26.028 2831
+-104.816 26.028 2866
+-104.69 26.028 2903
+-104.564 26.028 2931
+-104.438 26.028 3009
+-104.312 26.028 3032
+-104.186 26.028 3053
+-104.06 26.028 3091
+-103.934 26.028 3099
+-103.808 26.028 3117
+-103.682 26.028 3127
+-103.556 26.028 3148
+-103.43 26.028 3153
+-103.304 26.028 3175
+-103.178 26.028 3189
+-103.052 26.028 3197
+-102.926 26.028 3204
+-102.8 26.028 3217
+-102.674 26.028 3214
+-102.548 26.028 3253
+-102.422 26.028 3265
+-102.296 26.028 3251
+-102.17 26.028 3262
+-102.044 26.028 3299
+-101.918 26.028 3310
+-101.792 26.028 3285
+-101.666 26.028 3270
+-101.54 26.028 3284
+-101.414 26.028 3163
+-101.288 26.028 3170
+-101.162 26.028 3225
+-101.036 26.028 3232
+-100.91 26.028 3191
+-100.784 26.028 3205
+-100.658 26.028 3212
+-100.532 26.028 3194
+-100.406 26.028 3200
+-100.28 26.028 3205
+-100.154 26.028 3211
+-100.028 26.028 3216
+-99.902 26.028 3221
+-99.776 26.028 3226
+-99.65 26.028 3161
+-99.524 26.028 3158
+-99.398 26.028 3162
+-99.272 26.028 3166
+-99.146 26.028 3149
+-99.02 26.028 3153
+-98.894 26.028 3217
+-98.768 26.028 3221
+-98.642 26.028 3236
+-98.516 26.028 3220
+-98.39 26.028 3223
+-98.264 26.028 3227
+-98.138 26.028 3231
+-98.012 26.028 3230
+-97.886 26.028 3116
+-97.76 26.028 3104
+-97.634 26.028 3104
+-97.508 26.028 3103
+-97.382 26.028 3035
+-97.256 26.028 3000
+-97.13 26.028 3018
+-97.004 26.028 2992
+-96.878 26.028 2976
+-96.752 26.028 3005
+-96.626 26.028 3056
+-96.5 26.028 3033
+-96.374 26.028 3073
+-96.248 26.028 3296
+-96.122 26.028 3300
+-95.996 26.028 3307
+-95.87 26.028 3340
+-95.744 26.028 3339
+-95.618 26.028 3338
+-95.492 26.028 3438
+-95.366 26.028 3437
+-95.24 26.028 3436
+-95.114 26.028 3435
+-94.988 26.028 3434
+-94.862 26.028 3433
+-94.736 26.028 3432
+-94.61 26.028 3430
+-94.484 26.028 3429
+-94.358 26.028 3428
+-94.232 26.028 3427
+-94.106 26.028 3426
+-93.98 26.028 3458
+-93.854 26.028 3456
+-93.728 26.028 3454
+-93.602 26.028 3452
+-93.476 26.028 3450
+-93.35 26.028 3448
+-93.224 26.028 3466
+-93.098 26.028 3464
+-92.972 26.028 3463
+-92.846 26.028 3461
+-92.72 26.028 3460
+-92.594 26.028 3458
+-92.468 26.028 3481
+-92.342 26.028 3496
+-92.216 26.028 3494
+-92.09 26.028 3493
+-91.964 26.028 3552
+-91.838 26.028 3552
+-91.712 26.028 3552
+-91.586 26.028 3552
+-91.46 26.028 3569
+-91.334 26.028 3570
+-91.208 26.028 3570
+-91.082 26.028 3571
+-90.956 26.028 3573
+-90.83 26.028 3598
+-90.704 26.028 3601
+-90.578 26.028 3605
+-90.452 26.028 3609
+-90.326 26.028 3655
+-90.2 26.028 3695
+-90.074 26.028 3711
+-89.948 26.028 3714
+-89.822 26.028 3718
+-89.696 26.028 3748
+-89.57 26.028 3754
+-89.444 26.028 3857
+-89.318 26.028 3858
+-89.192 26.028 3858
+-89.066 26.028 3908
+-88.94 26.028 3904
+-88.814 26.028 3958
+-88.688 26.028 3999
+-88.562 26.028 3989
+-88.436 26.028 4031
+-88.31 26.028 4034
+-88.184 26.028 4007
+-88.058 26.028 3980
+-87.932 26.028 3949
+-87.806 26.028 3947
+-87.68 26.028 3989
+-87.554 26.028 4060
+-87.428 26.028 4214
+-87.302 26.028 4300
+-87.176 26.028 4383
+-87.05 26.028 4450
+-86.924 26.028 4514
+-86.798 26.028 4610
+-86.672 26.028 4738
+-86.546 26.028 4866
+-86.42 26.028 4898
+-86.294 26.028 4841
+-86.168 26.028 5034
+-86.042 26.028 5132
+-85.916 26.028 5268
+-85.79 26.028 5404
+-85.664 26.028 5467
+-85.538 26.028 5640
+-85.412 26.028 5747
+-85.286 26.028 5856
+-85.16 26.028 5967
+-85.034 26.028 6104
+-84.908 26.028 6194
+-84.782 26.028 6244
+-84.656 26.028 6420
+-84.53 26.028 6607
+-84.404 26.028 6643
+-84.278 26.028 6806
+-84.152 26.028 6948
+-84.026 26.028 6990
+-83.9 26.028 7068
+-83.774 26.028 7229
+-83.648 26.028 7286
+-83.522 26.028 7382
+-83.396 26.028 7436
+-83.27 26.028 7540
+-83.144 26.028 7629
+-83.018 26.028 7732
+-82.892 26.028 7705
+-82.766 26.028 7814
+-82.64 26.028 7847
+-82.514 26.028 7867
+-82.388 26.028 7886
+-82.262 26.028 7913
+-82.136 26.028 7898
+-82.01 26.028 7905
+-81.884 26.028 7863
+-81.758 26.028 7813
+-81.632 26.028 7773
+-81.506 26.028 7783
+-81.38 26.028 7688
+-81.254 26.028 7612
+-81.128 26.028 7597
+-81.002 26.028 7520
+-80.876 26.028 7374
+-80.75 26.028 7262
+-80.624 26.028 7252
+-80.498 26.028 7093
+-80.372 26.028 7036
+-80.246 26.028 6939
+-80.12 26.028 6777
+-79.994 26.028 6731
+-79.868 26.028 6583
+-79.742 26.028 6427
+-79.616 26.028 6353
+-79.49 26.028 6211
+-79.364 26.028 6141
+-79.238 26.028 6015
+-79.112 26.028 5892
+-78.986 26.028 5779
+-78.86 26.028 5722
+-78.734 26.028 5612
+-78.608 26.028 5455
+-78.482 26.028 5321
+-78.356 26.028 5239
+-78.23 26.028 5053
+-78.104 26.028 4884
+-77.978 26.028 4741
+-77.852 26.028 4801
+-77.726 26.028 4742
+-77.6 26.028 4577
+-77.474 26.028 4307
+-77.348 26.028 4158
+-77.222 26.028 4217
+-77.096 26.028 4313
+-76.97 26.028 4377
+-76.844 26.028 4367
+-76.718 26.028 4355
+-76.592 26.028 4273
+-76.466 26.028 4241
+-76.34 26.028 4216
+-76.214 26.028 4190
+-76.088 26.028 4092
+-75.962 26.028 4062
+-75.836 26.028 4031
+-75.71 26.028 4010
+-75.584 26.028 3950
+-75.458 26.028 3942
+-75.332 26.028 3936
+-75.206 26.028 3877
+-75.08 26.028 3657
+-74.954 26.028 3612
+-74.828 26.028 3549
+-74.702 26.028 3537
+-74.576 26.028 3500
+-74.45 26.028 3490
+-74.324 26.028 3434
+-74.198 26.028 3328
+-74.072 26.028 3301
+-73.946 26.028 3292
+-73.82 26.028 3222
+-73.694 26.028 3112
+-73.568 26.028 3105
+-73.442 26.028 3100
+-73.316 26.028 3095
+-73.19 26.028 3027
+-73.064 26.028 3023
+-72.938 26.028 3041
+-72.812 26.028 3039
+-72.686 26.028 3038
+-72.56 26.028 3037
+-72.434 26.028 3037
+-72.308 26.028 3038
+-72.182 26.028 2991
+-72.056 26.028 2991
+-71.93 26.028 2991
+-71.804 26.028 2992
+-71.678 26.028 2993
+-71.552 26.028 2995
+-71.426 26.028 2996
+-71.3 26.028 2998
+-71.174 26.028 2999
+-71.048 26.028 2890
+-70.922 26.028 2893
+-70.796 26.028 2895
+-70.67 26.028 2897
+-70.544 26.028 2900
+-70.418 26.028 2902
+-70.292 26.028 2864
+-70.166 26.028 2868
+-70.04 26.028 2860
+-69.914 26.028 2857
+-69.788 26.028 2831
+-69.662 26.028 2834
+-69.536 26.028 2837
+-69.41 26.028 2839
+-69.284 26.028 2842
+-69.158 26.028 2845
+-69.032 26.028 2847
+-68.906 26.028 2850
+-68.78 26.028 2852
+-68.654 26.028 2854
+-68.528 26.028 2857
+-68.402 26.028 2859
+-68.276 26.028 2861
+-68.15 26.028 2863
+-68.024 26.028 2865
+-67.898 26.028 2867
+-67.772 26.028 2869
+-67.646 26.028 2871
+-67.52 26.028 2873
+-67.394 26.028 2875
+-67.268 26.028 2877
+-67.142 26.028 2879
+-67.016 26.028 2880
+-66.89 26.028 2882
+-66.764 26.028 2884
+-66.638 26.028 2885
+-66.512 26.028 2878
+-66.386 26.028 2880
+-66.26 26.028 2882
+-66.134 26.028 2884
+-66.008 26.028 2885
+-65.882 26.028 2887
+-65.756 26.028 2888
+-65.63 26.028 2890
+-65.504 26.028 2891
+-65.378 26.028 2893
+-65.252 26.028 2894
+-65.126 26.028 2896
+-128 25.976 3380
+-127.874 25.976 3412
+-127.748 25.976 3412
+-127.622 25.976 3479
+-127.496 25.976 3478
+-127.37 25.976 3441
+-127.244 25.976 3463
+-127.118 25.976 3504
+-126.992 25.976 3495
+-126.866 25.976 3529
+-126.74 25.976 3528
+-126.614 25.976 3569
+-126.488 25.976 3542
+-126.362 25.976 3542
+-126.236 25.976 3541
+-126.11 25.976 3578
+-125.984 25.976 3577
+-125.858 25.976 3360
+-125.732 25.976 3368
+-125.606 25.976 3388
+-125.48 25.976 3283
+-125.354 25.976 3279
+-125.228 25.976 3262
+-125.102 25.976 3329
+-124.976 25.976 3295
+-124.85 25.976 3291
+-124.724 25.976 3314
+-124.598 25.976 3211
+-124.472 25.976 3214
+-124.346 25.976 3241
+-124.22 25.976 3232
+-124.094 25.976 3227
+-123.968 25.976 3221
+-123.842 25.976 3135
+-123.716 25.976 3132
+-123.59 25.976 3053
+-123.464 25.976 3058
+-123.338 25.976 3058
+-123.212 25.976 3051
+-123.086 25.976 3015
+-122.96 25.976 3008
+-122.834 25.976 3002
+-122.708 25.976 3015
+-122.582 25.976 2994
+-122.456 25.976 2986
+-122.33 25.976 2940
+-122.204 25.976 2932
+-122.078 25.976 2968
+-121.952 25.976 2932
+-121.826 25.976 2913
+-121.7 25.976 2832
+-121.574 25.976 2852
+-121.448 25.976 2843
+-121.322 25.976 2834
+-121.196 25.976 2824
+-121.07 25.976 2814
+-120.944 25.976 2804
+-120.818 25.976 2752
+-120.692 25.976 2746
+-120.566 25.976 2738
+-120.44 25.976 2711
+-120.314 25.976 2694
+-120.188 25.976 2682
+-120.062 25.976 2676
+-119.936 25.976 2655
+-119.81 25.976 2651
+-119.684 25.976 2639
+-119.558 25.976 2633
+-119.432 25.976 2624
+-119.306 25.976 2624
+-119.18 25.976 2621
+-119.054 25.976 2627
+-118.928 25.976 2629
+-118.802 25.976 2631
+-118.676 25.976 2633
+-118.55 25.976 2633
+-118.424 25.976 2596
+-118.298 25.976 2593
+-118.172 25.976 2587
+-118.046 25.976 2565
+-117.92 25.976 2549
+-117.794 25.976 2509
+-117.668 25.976 2473
+-117.542 25.976 2421
+-117.416 25.976 2350
+-117.29 25.976 2260
+-117.164 25.976 2162
+-117.038 25.976 2080
+-116.912 25.976 2047
+-116.786 25.976 2078
+-116.66 25.976 2157
+-116.534 25.976 2242
+-116.408 25.976 2328
+-116.282 25.976 2400
+-116.156 25.976 2454
+-116.03 25.976 2534
+-115.904 25.976 2586
+-115.778 25.976 2621
+-115.652 25.976 2630
+-115.526 25.976 2636
+-115.4 25.976 2663
+-115.274 25.976 2669
+-115.148 25.976 2669
+-115.022 25.976 2685
+-114.896 25.976 2701
+-114.77 25.976 2712
+-114.644 25.976 2747
+-114.518 25.976 2769
+-114.392 25.976 2793
+-114.266 25.976 2860
+-114.14 25.976 2880
+-114.014 25.976 2896
+-113.888 25.976 2921
+-113.762 25.976 2925
+-113.636 25.976 2929
+-113.51 25.976 2912
+-113.384 25.976 2879
+-113.258 25.976 2825
+-113.132 25.976 2763
+-113.006 25.976 2729
+-112.88 25.976 2772
+-112.754 25.976 2849
+-112.628 25.976 2922
+-112.502 25.976 2984
+-112.376 25.976 3056
+-112.25 25.976 3169
+-112.124 25.976 3241
+-111.998 25.976 3293
+-111.872 25.976 3327
+-111.746 25.976 3338
+-111.62 25.976 3337
+-111.494 25.976 3322
+-111.368 25.976 3329
+-111.242 25.976 3352
+-111.116 25.976 3379
+-110.99 25.976 3417
+-110.864 25.976 3441
+-110.738 25.976 3466
+-110.612 25.976 3505
+-110.486 25.976 3514
+-110.36 25.976 3504
+-110.234 25.976 3497
+-110.108 25.976 3472
+-109.982 25.976 3427
+-109.856 25.976 3395
+-109.73 25.976 3378
+-109.604 25.976 3386
+-109.478 25.976 3395
+-109.352 25.976 3399
+-109.226 25.976 3409
+-109.1 25.976 3420
+-108.974 25.976 3424
+-108.848 25.976 3432
+-108.722 25.976 3439
+-108.596 25.976 3445
+-108.47 25.976 3450
+-108.344 25.976 3436
+-108.218 25.976 3412
+-108.092 25.976 3404
+-107.966 25.976 3360
+-107.84 25.976 3342
+-107.714 25.976 3306
+-107.588 25.976 3269
+-107.462 25.976 3239
+-107.336 25.976 3203
+-107.21 25.976 3178
+-107.084 25.976 3072
+-106.958 25.976 3006
+-106.832 25.976 2941
+-106.706 25.976 2850
+-106.58 25.976 2749
+-106.454 25.976 2629
+-106.328 25.976 2548
+-106.202 25.976 2475
+-106.076 25.976 2436
+-105.95 25.976 2435
+-105.824 25.976 2466
+-105.698 25.976 2517
+-105.572 25.976 2575
+-105.446 25.976 2639
+-105.32 25.976 2694
+-105.194 25.976 2743
+-105.068 25.976 2786
+-104.942 25.976 2791
+-104.816 25.976 2879
+-104.69 25.976 2906
+-104.564 25.976 2939
+-104.438 25.976 2962
+-104.312 25.976 3040
+-104.186 25.976 3061
+-104.06 25.976 3079
+-103.934 25.976 3116
+-103.808 25.976 3123
+-103.682 25.976 3138
+-103.556 25.976 3147
+-103.43 25.976 3167
+-103.304 25.976 3171
+-103.178 25.976 3192
+-103.052 25.976 3205
+-102.926 25.976 3212
+-102.8 25.976 3219
+-102.674 25.976 3230
+-102.548 25.976 3227
+-102.422 25.976 3266
+-102.296 25.976 3277
+-102.17 25.976 3262
+-102.044 25.976 3272
+-101.918 25.976 3309
+-101.792 25.976 3320
+-101.666 25.976 3294
+-101.54 25.976 3278
+-101.414 25.976 3292
+-101.288 25.976 3168
+-101.162 25.976 3175
+-101.036 25.976 3230
+-100.91 25.976 3238
+-100.784 25.976 3196
+-100.658 25.976 3210
+-100.532 25.976 3216
+-100.406 25.976 3198
+-100.28 25.976 3203
+-100.154 25.976 3209
+-100.028 25.976 3214
+-99.902 25.976 3219
+-99.776 25.976 3224
+-99.65 25.976 3228
+-99.524 25.976 3163
+-99.398 25.976 3160
+-99.272 25.976 3164
+-99.146 25.976 3168
+-99.02 25.976 3151
+-98.894 25.976 3155
+-98.768 25.976 3219
+-98.642 25.976 3223
+-98.516 25.976 3238
+-98.39 25.976 3221
+-98.264 25.976 3225
+-98.138 25.976 3229
+-98.012 25.976 3233
+-97.886 25.976 3125
+-97.76 25.976 3114
+-97.634 25.976 3102
+-97.508 25.976 3101
+-97.382 25.976 3101
+-97.256 25.976 3067
+-97.13 25.976 2996
+-97.004 25.976 2990
+-96.878 25.976 2976
+-96.752 25.976 3005
+-96.626 25.976 3057
+-96.5 25.976 3034
+-96.374 25.976 3073
+-96.248 25.976 3296
+-96.122 25.976 3299
+-95.996 25.976 3307
+-95.87 25.976 3339
+-95.744 25.976 3338
+-95.618 25.976 3438
+-95.492 25.976 3437
+-95.366 25.976 3436
+-95.24 25.976 3435
+-95.114 25.976 3434
+-94.988 25.976 3433
+-94.862 25.976 3432
+-94.736 25.976 3431
+-94.61 25.976 3429
+-94.484 25.976 3428
+-94.358 25.976 3427
+-94.232 25.976 3426
+-94.106 25.976 3458
+-93.98 25.976 3456
+-93.854 25.976 3454
+-93.728 25.976 3453
+-93.602 25.976 3451
+-93.476 25.976 3449
+-93.35 25.976 3466
+-93.224 25.976 3465
+-93.098 25.976 3463
+-92.972 25.976 3462
+-92.846 25.976 3460
+-92.72 25.976 3459
+-92.594 25.976 3483
+-92.468 25.976 3497
+-92.342 25.976 3495
+-92.216 25.976 3494
+-92.09 25.976 3553
+-91.964 25.976 3553
+-91.838 25.976 3553
+-91.712 25.976 3553
+-91.586 25.976 3553
+-91.46 25.976 3570
+-91.334 25.976 3570
+-91.208 25.976 3571
+-91.082 25.976 3572
+-90.956 25.976 3598
+-90.83 25.976 3600
+-90.704 25.976 3603
+-90.578 25.976 3606
+-90.452 25.976 3651
+-90.326 25.976 3654
+-90.2 25.976 3658
+-90.074 25.976 3711
+-89.948 25.976 3713
+-89.822 25.976 3743
+-89.696 25.976 3747
+-89.57 25.976 3849
+-89.444 25.976 3850
+-89.318 25.976 3849
+-89.192 25.976 3848
+-89.066 25.976 3846
+-88.94 25.976 3950
+-88.814 25.976 3992
+-88.688 25.976 3982
+-88.562 25.976 3981
+-88.436 25.976 3983
+-88.31 25.976 3997
+-88.184 25.976 3951
+-88.058 25.976 3898
+-87.932 25.976 3848
+-87.806 25.976 3790
+-87.68 25.976 3780
+-87.554 25.976 3895
+-87.428 25.976 4061
+-87.302 25.976 4219
+-87.176 25.976 4282
+-87.05 25.976 4321
+-86.924 25.976 4402
+-86.798 25.976 4505
+-86.672 25.976 4637
+-86.546 25.976 4807
+-86.42 25.976 4865
+-86.294 25.976 4896
+-86.168 25.976 5011
+-86.042 25.976 5140
+-85.916 25.976 5287
+-85.79 25.976 5412
+-85.664 25.976 5542
+-85.538 25.976 5604
+-85.412 25.976 5734
+-85.286 25.976 5852
+-85.16 25.976 5957
+-85.034 25.976 6075
+-84.908 25.976 6178
+-84.782 25.976 6239
+-84.656 25.976 6386
+-84.53 25.976 6564
+-84.404 25.976 6682
+-84.278 25.976 6757
+-84.152 25.976 6878
+-84.026 25.976 6980
+-83.9 25.976 7044
+-83.774 25.976 7177
+-83.648 25.976 7290
+-83.522 25.976 7355
+-83.396 25.976 7398
+-83.27 25.976 7506
+-83.144 25.976 7536
+-83.018 25.976 7652
+-82.892 25.976 7717
+-82.766 25.976 7759
+-82.64 25.976 7788
+-82.514 25.976 7786
+-82.388 25.976 7798
+-82.262 25.976 7862
+-82.136 25.976 7827
+-82.01 25.976 7815
+-81.884 25.976 7794
+-81.758 25.976 7747
+-81.632 25.976 7734
+-81.506 25.976 7692
+-81.38 25.976 7641
+-81.254 25.976 7557
+-81.128 25.976 7554
+-81.002 25.976 7458
+-80.876 25.976 7322
+-80.75 25.976 7242
+-80.624 25.976 7182
+-80.498 25.976 7086
+-80.372 25.976 6982
+-80.246 25.976 6887
+-80.12 25.976 6791
+-79.994 25.976 6679
+-79.868 25.976 6598
+-79.742 25.976 6408
+-79.616 25.976 6360
+-79.49 25.976 6205
+-79.364 25.976 6074
+-79.238 25.976 5904
+-79.112 25.976 5832
+-78.986 25.976 5739
+-78.86 25.976 5650
+-78.734 25.976 5566
+-78.608 25.976 5413
+-78.482 25.976 5218
+-78.356 25.976 5225
+-78.23 25.976 5011
+-78.104 25.976 4859
+-77.978 25.976 4843
+-77.852 25.976 4819
+-77.726 25.976 4736
+-77.6 25.976 4512
+-77.474 25.976 4182
+-77.348 25.976 4002
+-77.222 25.976 4121
+-77.096 25.976 4253
+-76.97 25.976 4283
+-76.844 25.976 4304
+-76.718 25.976 4309
+-76.592 25.976 4235
+-76.466 25.976 4210
+-76.34 25.976 4180
+-76.214 25.976 4160
+-76.088 25.976 4140
+-75.962 25.976 4053
+-75.836 25.976 4010
+-75.71 25.976 4007
+-75.584 25.976 3921
+-75.458 25.976 3916
+-75.332 25.976 3734
+-75.206 25.976 3658
+-75.08 25.976 3642
+-74.954 25.976 3627
+-74.828 25.976 3582
+-74.702 25.976 3519
+-74.576 25.976 3506
+-74.45 25.976 3470
+-74.324 25.976 3458
+-74.198 25.976 3373
+-74.072 25.976 3283
+-73.946 25.976 3231
+-73.82 25.976 3124
+-73.694 25.976 3117
+-73.568 25.976 3085
+-73.442 25.976 3079
+-73.316 25.976 3011
+-73.19 25.976 3007
+-73.064 25.976 3004
+-72.938 25.976 3002
+-72.812 25.976 2976
+-72.686 25.976 2975
+-72.56 25.976 2974
+-72.434 25.976 2974
+-72.308 25.976 2974
+-72.182 25.976 2975
+-72.056 25.976 2976
+-71.93 25.976 2977
+-71.804 25.976 2979
+-71.678 25.976 2980
+-71.552 25.976 2982
+-71.426 25.976 2984
+-71.3 25.976 2986
+-71.174 25.976 2989
+-71.048 25.976 2991
+-70.922 25.976 2883
+-70.796 25.976 2885
+-70.67 25.976 2888
+-70.544 25.976 2891
+-70.418 25.976 2894
+-70.292 25.976 2897
+-70.166 25.976 2859
+-70.04 25.976 2862
+-69.914 25.976 2855
+-69.788 25.976 2852
+-69.662 25.976 2826
+-69.536 25.976 2829
+-69.41 25.976 2832
+-69.284 25.976 2835
+-69.158 25.976 2838
+-69.032 25.976 2841
+-68.906 25.976 2843
+-68.78 25.976 2846
+-68.654 25.976 2849
+-68.528 25.976 2851
+-68.402 25.976 2854
+-68.276 25.976 2856
+-68.15 25.976 2858
+-68.024 25.976 2861
+-67.898 25.976 2863
+-67.772 25.976 2865
+-67.646 25.976 2867
+-67.52 25.976 2869
+-67.394 25.976 2871
+-67.268 25.976 2873
+-67.142 25.976 2875
+-67.016 25.976 2876
+-66.89 25.976 2878
+-66.764 25.976 2880
+-66.638 25.976 2882
+-66.512 25.976 2883
+-66.386 25.976 2876
+-66.26 25.976 2878
+-66.134 25.976 2880
+-66.008 25.976 2882
+-65.882 25.976 2883
+-65.756 25.976 2885
+-65.63 25.976 2887
+-65.504 25.976 2888
+-65.378 25.976 2890
+-65.252 25.976 2891
+-65.126 25.976 2893
+-128 25.924 3413
+-127.874 25.924 3412
+-127.748 25.924 3480
+-127.622 25.924 3479
+-127.496 25.924 3442
+-127.37 25.924 3464
+-127.244 25.924 3505
+-127.118 25.924 3496
+-126.992 25.924 3530
+-126.866 25.924 3529
+-126.74 25.924 3570
+-126.614 25.924 3544
+-126.488 25.924 3543
+-126.362 25.924 3542
+-126.236 25.924 3579
+-126.11 25.924 3578
+-125.984 25.924 3358
+-125.858 25.924 3366
+-125.732 25.924 3385
+-125.606 25.924 3281
+-125.48 25.924 3277
+-125.354 25.924 3260
+-125.228 25.924 3327
+-125.102 25.924 3292
+-124.976 25.924 3288
+-124.85 25.924 3311
+-124.724 25.924 3208
+-124.598 25.924 3211
+-124.472 25.924 3238
+-124.346 25.924 3229
+-124.22 25.924 3223
+-124.094 25.924 3218
+-123.968 25.924 3132
+-123.842 25.924 3129
+-123.716 25.924 3049
+-123.59 25.924 3054
+-123.464 25.924 3054
+-123.338 25.924 3047
+-123.212 25.924 3010
+-123.086 25.924 3004
+-122.96 25.924 2997
+-122.834 25.924 3010
+-122.708 25.924 2989
+-122.582 25.924 2981
+-122.456 25.924 2934
+-122.33 25.924 2926
+-122.204 25.924 2962
+-122.078 25.924 2926
+-121.952 25.924 2906
+-121.826 25.924 2823
+-121.7 25.924 2844
+-121.574 25.924 2834
+-121.448 25.924 2824
+-121.322 25.924 2814
+-121.196 25.924 2803
+-121.07 25.924 2792
+-120.944 25.924 2739
+-120.818 25.924 2732
+-120.692 25.924 2723
+-120.566 25.924 2695
+-120.44 25.924 2677
+-120.314 25.924 2664
+-120.188 25.924 2658
+-120.062 25.924 2635
+-119.936 25.924 2630
+-119.81 25.924 2617
+-119.684 25.924 2611
+-119.558 25.924 2601
+-119.432 25.924 2601
+-119.306 25.924 2598
+-119.18 25.924 2604
+-119.054 25.924 2607
+-118.928 25.924 2610
+-118.802 25.924 2613
+-118.676 25.924 2615
+-118.55 25.924 2577
+-118.424 25.924 2577
+-118.298 25.924 2574
+-118.172 25.924 2555
+-118.046 25.924 2544
+-117.92 25.924 2510
+-117.794 25.924 2484
+-117.668 25.924 2446
+-117.542 25.924 2391
+-117.416 25.924 2317
+-117.29 25.924 2225
+-117.164 25.924 2126
+-117.038 25.924 2044
+-116.912 25.924 2012
+-116.786 25.924 2043
+-116.66 25.924 2118
+-116.534 25.924 2212
+-116.408 25.924 2301
+-116.282 25.924 2375
+-116.156 25.924 2440
+-116.03 25.924 2520
+-115.904 25.924 2576
+-115.778 25.924 2597
+-115.652 25.924 2629
+-115.526 25.924 2640
+-115.4 25.924 2626
+-115.274 25.924 2667
+-115.148 25.924 2700
+-115.022 25.924 2716
+-114.896 25.924 2725
+-114.77 25.924 2735
+-114.644 25.924 2773
+-114.518 25.924 2792
+-114.392 25.924 2811
+-114.266 25.924 2877
+-114.14 25.924 2892
+-114.014 25.924 2914
+-113.888 25.924 2926
+-113.762 25.924 2934
+-113.636 25.924 2923
+-113.51 25.924 2900
+-113.384 25.924 2858
+-113.258 25.924 2795
+-113.132 25.924 2721
+-113.006 25.924 2679
+-112.88 25.924 2727
+-112.754 25.924 2799
+-112.628 25.924 2841
+-112.502 25.924 2877
+-112.376 25.924 2978
+-112.25 25.924 3080
+-112.124 25.924 3173
+-111.998 25.924 3236
+-111.872 25.924 3277
+-111.746 25.924 3290
+-111.62 25.924 3279
+-111.494 25.924 3238
+-111.368 25.924 3214
+-111.242 25.924 3255
+-111.116 25.924 3322
+-110.99 25.924 3368
+-110.864 25.924 3414
+-110.738 25.924 3443
+-110.612 25.924 3483
+-110.486 25.924 3492
+-110.36 25.924 3483
+-110.234 25.924 3455
+-110.108 25.924 3437
+-109.982 25.924 3417
+-109.856 25.924 3395
+-109.73 25.924 3378
+-109.604 25.924 3363
+-109.478 25.924 3343
+-109.352 25.924 3328
+-109.226 25.924 3332
+-109.1 25.924 3346
+-108.974 25.924 3378
+-108.848 25.924 3389
+-108.722 25.924 3401
+-108.596 25.924 3410
+-108.47 25.924 3391
+-108.344 25.924 3373
+-108.218 25.924 3348
+-108.092 25.924 3338
+-107.966 25.924 3329
+-107.84 25.924 3317
+-107.714 25.924 3298
+-107.588 25.924 3262
+-107.462 25.924 3224
+-107.336 25.924 3192
+-107.21 25.924 3153
+-107.084 25.924 3072
+-106.958 25.924 3015
+-106.832 25.924 2950
+-106.706 25.924 2887
+-106.58 25.924 2806
+-106.454 25.924 2725
+-106.328 25.924 2634
+-106.202 25.924 2593
+-106.076 25.924 2560
+-105.95 25.924 2553
+-105.824 25.924 2568
+-105.698 25.924 2600
+-105.572 25.924 2639
+-105.446 25.924 2683
+-105.32 25.924 2731
+-105.194 25.924 2771
+-105.068 25.924 2807
+-104.942 25.924 2839
+-104.816 25.924 2833
+-104.69 25.924 2920
+-104.564 25.924 2941
+-104.438 25.924 2970
+-104.312 25.924 2990
+-104.186 25.924 3069
+-104.06 25.924 3087
+-103.934 25.924 3103
+-103.808 25.924 3139
+-103.682 25.924 3143
+-103.556 25.924 3158
+-103.43 25.924 3165
+-103.304 25.924 3184
+-103.178 25.924 3187
+-103.052 25.924 3208
+-102.926 25.924 3221
+-102.8 25.924 3226
+-102.674 25.924 3232
+-102.548 25.924 3242
+-102.422 25.924 3238
+-102.296 25.924 3277
+-102.17 25.924 3288
+-102.044 25.924 3272
+-101.918 25.924 3281
+-101.792 25.924 3319
+-101.666 25.924 3329
+-101.54 25.924 3302
+-101.414 25.924 3285
+-101.288 25.924 3299
+-101.162 25.924 3174
+-101.036 25.924 3180
+-100.91 25.924 3236
+-100.784 25.924 3243
+-100.658 25.924 3200
+-100.532 25.924 3215
+-100.406 25.924 3221
+-100.28 25.924 3202
+-100.154 25.924 3207
+-100.028 25.924 3212
+-99.902 25.924 3217
+-99.776 25.924 3222
+-99.65 25.924 3227
+-99.524 25.924 3231
+-99.398 25.924 3166
+-99.272 25.924 3162
+-99.146 25.924 3166
+-99.02 25.924 3170
+-98.894 25.924 3153
+-98.768 25.924 3157
+-98.642 25.924 3221
+-98.516 25.924 3225
+-98.39 25.924 3240
+-98.264 25.924 3223
+-98.138 25.924 3227
+-98.012 25.924 3231
+-97.886 25.924 3123
+-97.76 25.924 3123
+-97.634 25.924 3112
+-97.508 25.924 3099
+-97.382 25.924 3099
+-97.256 25.924 3066
+-97.13 25.924 3063
+-97.004 25.924 2983
+-96.878 25.924 2976
+-96.752 25.924 3018
+-96.626 25.924 3057
+-96.5 25.924 3034
+-96.374 25.924 3074
+-96.248 25.924 3296
+-96.122 25.924 3297
+-95.996 25.924 3306
+-95.87 25.924 3338
+-95.744 25.924 3438
+-95.618 25.924 3437
+-95.492 25.924 3436
+-95.366 25.924 3435
+-95.24 25.924 3434
+-95.114 25.924 3433
+-94.988 25.924 3432
+-94.862 25.924 3431
+-94.736 25.924 3430
+-94.61 25.924 3428
+-94.484 25.924 3427
+-94.358 25.924 3426
+-94.232 25.924 3458
+-94.106 25.924 3456
+-93.98 25.924 3455
+-93.854 25.924 3453
+-93.728 25.924 3451
+-93.602 25.924 3449
+-93.476 25.924 3467
+-93.35 25.924 3465
+-93.224 25.924 3464
+-93.098 25.924 3463
+-92.972 25.924 3461
+-92.846 25.924 3460
+-92.72 25.924 3483
+-92.594 25.924 3498
+-92.468 25.924 3496
+-92.342 25.924 3495
+-92.216 25.924 3529
+-92.09 25.924 3529
+-91.964 25.924 3530
+-91.838 25.924 3530
+-91.712 25.924 3531
+-91.586 25.924 3532
+-91.46 25.924 3532
+-91.334 25.924 3534
+-91.208 25.924 3535
+-91.082 25.924 3536
+-90.956 25.924 3599
+-90.83 25.924 3601
+-90.704 25.924 3604
+-90.578 25.924 3648
+-90.452 25.924 3650
+-90.326 25.924 3653
+-90.2 25.924 3656
+-90.074 25.924 3659
+-89.948 25.924 3738
+-89.822 25.924 3741
+-89.696 25.924 3841
+-89.57 25.924 3843
+-89.444 25.924 3841
+-89.318 25.924 3839
+-89.192 25.924 3837
+-89.066 25.924 3894
+-88.94 25.924 3886
+-88.814 25.924 3940
+-88.688 25.924 3978
+-88.562 25.924 3983
+-88.436 25.924 3958
+-88.31 25.924 3920
+-88.184 25.924 3888
+-88.058 25.924 3824
+-87.932 25.924 3746
+-87.806 25.924 3586
+-87.68 25.924 3507
+-87.554 25.924 3669
+-87.428 25.924 3952
+-87.302 25.924 4128
+-87.176 25.924 4171
+-87.05 25.924 4175
+-86.924 25.924 4269
+-86.798 25.924 4325
+-86.672 25.924 4496
+-86.546 25.924 4728
+-86.42 25.924 4823
+-86.294 25.924 4783
+-86.168 25.924 4967
+-86.042 25.924 5136
+-85.916 25.924 5266
+-85.79 25.924 5395
+-85.664 25.924 5516
+-85.538 25.924 5619
+-85.412 25.924 5758
+-85.286 25.924 5870
+-85.16 25.924 5997
+-85.034 25.924 6013
+-84.908 25.924 6147
+-84.782 25.924 6267
+-84.656 25.924 6385
+-84.53 25.924 6524
+-84.404 25.924 6655
+-84.278 25.924 6719
+-84.152 25.924 6833
+-84.026 25.924 6910
+-83.9 25.924 7006
+-83.774 25.924 7093
+-83.648 25.924 7247
+-83.522 25.924 7325
+-83.396 25.924 7370
+-83.27 25.924 7415
+-83.144 25.924 7476
+-83.018 25.924 7563
+-82.892 25.924 7635
+-82.766 25.924 7674
+-82.64 25.924 7719
+-82.514 25.924 7742
+-82.388 25.924 7799
+-82.262 25.924 7767
+-82.136 25.924 7753
+-82.01 25.924 7759
+-81.884 25.924 7734
+-81.758 25.924 7725
+-81.632 25.924 7675
+-81.506 25.924 7635
+-81.38 25.924 7541
+-81.254 25.924 7530
+-81.128 25.924 7490
+-81.002 25.924 7385
+-80.876 25.924 7302
+-80.75 25.924 7245
+-80.624 25.924 7131
+-80.498 25.924 7025
+-80.372 25.924 6873
+-80.246 25.924 6849
+-80.12 25.924 6750
+-79.994 25.924 6625
+-79.868 25.924 6547
+-79.742 25.924 6462
+-79.616 25.924 6331
+-79.49 25.924 6173
+-79.364 25.924 6064
+-79.238 25.924 5912
+-79.112 25.924 5787
+-78.986 25.924 5619
+-78.86 25.924 5629
+-78.734 25.924 5442
+-78.608 25.924 5443
+-78.482 25.924 5311
+-78.356 25.924 5217
+-78.23 25.924 5049
+-78.104 25.924 4921
+-77.978 25.924 4894
+-77.852 25.924 4848
+-77.726 25.924 4747
+-77.6 25.924 4525
+-77.474 25.924 4281
+-77.348 25.924 4137
+-77.222 25.924 4159
+-77.096 25.924 4220
+-76.97 25.924 4253
+-76.844 25.924 4250
+-76.718 25.924 4248
+-76.592 25.924 4179
+-76.466 25.924 4163
+-76.34 25.924 4108
+-76.214 25.924 4099
+-76.088 25.924 4086
+-75.962 25.924 4056
+-75.836 25.924 4041
+-75.71 25.924 3974
+-75.584 25.924 3815
+-75.458 25.924 3721
+-75.332 25.924 3643
+-75.206 25.924 3637
+-75.08 25.924 3621
+-74.954 25.924 3605
+-74.828 25.924 3589
+-74.702 25.924 3544
+-74.576 25.924 3483
+-74.45 25.924 3469
+-74.324 25.924 3432
+-74.198 25.924 3421
+-74.072 25.924 3256
+-73.946 25.924 3224
+-73.82 25.924 3197
+-73.694 25.924 3091
+-73.568 25.924 3085
+-73.442 25.924 3019
+-73.316 25.924 2988
+-73.19 25.924 2985
+-73.064 25.924 2982
+-72.938 25.924 2957
+-72.812 25.924 2955
+-72.686 25.924 2955
+-72.56 25.924 2955
+-72.434 25.924 2956
+-72.308 25.924 2957
+-72.182 25.924 2958
+-72.056 25.924 2960
+-71.93 25.924 2962
+-71.804 25.924 2964
+-71.678 25.924 2967
+-71.552 25.924 2969
+-71.426 25.924 2972
+-71.3 25.924 2975
+-71.174 25.924 2977
+-71.048 25.924 2980
+-70.922 25.924 2983
+-70.796 25.924 2876
+-70.67 25.924 2879
+-70.544 25.924 2882
+-70.418 25.924 2885
+-70.292 25.924 2889
+-70.166 25.924 2892
+-70.04 25.924 2853
+-69.914 25.924 2857
+-69.788 25.924 2850
+-69.662 25.924 2847
+-69.536 25.924 2822
+-69.41 25.924 2825
+-69.284 25.924 2828
+-69.158 25.924 2831
+-69.032 25.924 2834
+-68.906 25.924 2837
+-68.78 25.924 2840
+-68.654 25.924 2843
+-68.528 25.924 2846
+-68.402 25.924 2848
+-68.276 25.924 2851
+-68.15 25.924 2853
+-68.024 25.924 2856
+-67.898 25.924 2858
+-67.772 25.924 2860
+-67.646 25.924 2863
+-67.52 25.924 2865
+-67.394 25.924 2867
+-67.268 25.924 2869
+-67.142 25.924 2871
+-67.016 25.924 2873
+-66.89 25.924 2875
+-66.764 25.924 2876
+-66.638 25.924 2878
+-66.512 25.924 2880
+-66.386 25.924 2882
+-66.26 25.924 2874
+-66.134 25.924 2876
+-66.008 25.924 2878
+-65.882 25.924 2880
+-65.756 25.924 2881
+-65.63 25.924 2883
+-65.504 25.924 2885
+-65.378 25.924 2886
+-65.252 25.924 2888
+-65.126 25.924 2889
+-128 25.872 3413
+-127.874 25.872 3480
+-127.748 25.872 3480
+-127.622 25.872 3443
+-127.496 25.872 3465
+-127.37 25.872 3506
+-127.244 25.872 3497
+-127.118 25.872 3531
+-126.992 25.872 3530
+-126.866 25.872 3572
+-126.74 25.872 3545
+-126.614 25.872 3544
+-126.488 25.872 3543
+-126.362 25.872 3581
+-126.236 25.872 3580
+-126.11 25.872 3355
+-125.984 25.872 3364
+-125.858 25.872 3383
+-125.732 25.872 3278
+-125.606 25.872 3275
+-125.48 25.872 3257
+-125.354 25.872 3324
+-125.228 25.872 3290
+-125.102 25.872 3286
+-124.976 25.872 3309
+-124.85 25.872 3205
+-124.724 25.872 3208
+-124.598 25.872 3236
+-124.472 25.872 3226
+-124.346 25.872 3221
+-124.22 25.872 3215
+-124.094 25.872 3128
+-123.968 25.872 3125
+-123.842 25.872 3045
+-123.716 25.872 3050
+-123.59 25.872 3050
+-123.464 25.872 3043
+-123.338 25.872 3006
+-123.212 25.872 2999
+-123.086 25.872 2992
+-122.96 25.872 3006
+-122.834 25.872 2984
+-122.708 25.872 2976
+-122.582 25.872 2929
+-122.456 25.872 2920
+-122.33 25.872 2957
+-122.204 25.872 2920
+-122.078 25.872 2900
+-121.952 25.872 2815
+-121.826 25.872 2836
+-121.7 25.872 2825
+-121.574 25.872 2815
+-121.448 25.872 2804
+-121.322 25.872 2792
+-121.196 25.872 2781
+-121.07 25.872 2725
+-120.944 25.872 2718
+-120.818 25.872 2708
+-120.692 25.872 2678
+-120.566 25.872 2659
+-120.44 25.872 2644
+-120.314 25.872 2636
+-120.188 25.872 2611
+-120.062 25.872 2605
+-119.936 25.872 2590
+-119.81 25.872 2583
+-119.684 25.872 2571
+-119.558 25.872 2571
+-119.432 25.872 2567
+-119.306 25.872 2573
+-119.18 25.872 2576
+-119.054 25.872 2580
+-118.928 25.872 2584
+-118.802 25.872 2588
+-118.676 25.872 2551
+-118.55 25.872 2553
+-118.424 25.872 2554
+-118.298 25.872 2538
+-118.172 25.872 2533
+-118.046 25.872 2505
+-117.92 25.872 2488
+-117.794 25.872 2463
+-117.668 25.872 2426
+-117.542 25.872 2374
+-117.416 25.872 2306
+-117.29 25.872 2224
+-117.164 25.872 2137
+-117.038 25.872 2068
+-116.912 25.872 2041
+-116.786 25.872 2064
+-116.66 25.872 2130
+-116.534 25.872 2213
+-116.408 25.872 2294
+-116.282 25.872 2370
+-116.156 25.872 2429
+-116.03 25.872 2512
+-115.904 25.872 2570
+-115.778 25.872 2593
+-115.652 25.872 2629
+-115.526 25.872 2623
+-115.4 25.872 2632
+-115.274 25.872 2651
+-115.148 25.872 2684
+-115.022 25.872 2733
+-114.896 25.872 2742
+-114.77 25.872 2757
+-114.644 25.872 2793
+-114.518 25.872 2809
+-114.392 25.872 2825
+-114.266 25.872 2842
+-114.14 25.872 2894
+-114.014 25.872 2907
+-113.888 25.872 2904
+-113.762 25.872 2935
+-113.636 25.872 2922
+-113.51 25.872 2897
+-113.384 25.872 2858
+-113.258 25.872 2808
+-113.132 25.872 2748
+-113.006 25.872 2720
+-112.88 25.872 2750
+-112.754 25.872 2768
+-112.628 25.872 2753
+-112.502 25.872 2800
+-112.376 25.872 2901
+-112.25 25.872 3030
+-112.124 25.872 3132
+-111.998 25.872 3207
+-111.872 25.872 3249
+-111.746 25.872 3261
+-111.62 25.872 3242
+-111.494 25.872 3191
+-111.368 25.872 3159
+-111.242 25.872 3199
+-111.116 25.872 3280
+-110.99 25.872 3328
+-110.864 25.872 3387
+-110.738 25.872 3424
+-110.612 25.872 3443
+-110.486 25.872 3474
+-110.36 25.872 3434
+-110.234 25.872 3434
+-110.108 25.872 3417
+-109.982 25.872 3397
+-109.856 25.872 3374
+-109.73 25.872 3342
+-109.604 25.872 3301
+-109.478 25.872 3250
+-109.352 25.872 3211
+-109.226 25.872 3223
+-109.1 25.872 3256
+-108.974 25.872 3293
+-108.848 25.872 3311
+-108.722 25.872 3325
+-108.596 25.872 3336
+-108.47 25.872 3328
+-108.344 25.872 3335
+-108.218 25.872 3285
+-108.092 25.872 3277
+-107.966 25.872 3296
+-107.84 25.872 3248
+-107.714 25.872 3274
+-107.588 25.872 3254
+-107.462 25.872 3218
+-107.336 25.872 3180
+-107.21 25.872 3147
+-107.084 25.872 3108
+-106.958 25.872 3024
+-106.832 25.872 2970
+-106.706 25.872 2910
+-106.58 25.872 2857
+-106.454 25.872 2793
+-106.328 25.872 2736
+-106.202 25.872 2672
+-106.076 25.872 2661
+-105.95 25.872 2650
+-105.824 25.872 2656
+-105.698 25.872 2674
+-105.572 25.872 2701
+-105.446 25.872 2731
+-105.32 25.872 2762
+-105.194 25.872 2801
+-105.068 25.872 2831
+-104.942 25.872 2858
+-104.816 25.872 2882
+-104.69 25.872 2868
+-104.564 25.872 2955
+-104.438 25.872 2972
+-104.312 25.872 2998
+-104.186 25.872 3015
+-104.06 25.872 3095
+-103.934 25.872 3111
+-103.808 25.872 3126
+-103.682 25.872 3161
+-103.556 25.872 3164
+-103.43 25.872 3177
+-103.304 25.872 3182
+-103.178 25.872 3201
+-103.052 25.872 3203
+-102.926 25.872 3224
+-102.8 25.872 3235
+-102.674 25.872 3239
+-102.548 25.872 3244
+-102.422 25.872 3254
+-102.296 25.872 3249
+-102.17 25.872 3289
+-102.044 25.872 3298
+-101.918 25.872 3281
+-101.792 25.872 3290
+-101.666 25.872 3329
+-101.54 25.872 3338
+-101.414 25.872 3310
+-101.288 25.872 3292
+-101.162 25.872 3307
+-101.036 25.872 3179
+-100.91 25.872 3185
+-100.784 25.872 3242
+-100.658 25.872 3248
+-100.532 25.872 3205
+-100.406 25.872 3219
+-100.28 25.872 3225
+-100.154 25.872 3205
+-100.028 25.872 3211
+-99.902 25.872 3216
+-99.776 25.872 3220
+-99.65 25.872 3225
+-99.524 25.872 3229
+-99.398 25.872 3234
+-99.272 25.872 3168
+-99.146 25.872 3165
+-99.02 25.872 3168
+-98.894 25.872 3172
+-98.768 25.872 3155
+-98.642 25.872 3159
+-98.516 25.872 3223
+-98.39 25.872 3227
+-98.264 25.872 3242
+-98.138 25.872 3225
+-98.012 25.872 3229
+-97.886 25.872 3121
+-97.76 25.872 3121
+-97.634 25.872 3121
+-97.508 25.872 3110
+-97.382 25.872 2999
+-97.256 25.872 2998
+-97.13 25.872 3062
+-97.004 25.872 3014
+-96.878 25.872 2975
+-96.752 25.872 3047
+-96.626 25.872 3057
+-96.5 25.872 3035
+-96.374 25.872 3074
+-96.248 25.872 3295
+-96.122 25.872 3297
+-95.996 25.872 3306
+-95.87 25.872 3438
+-95.744 25.872 3437
+-95.618 25.872 3436
+-95.492 25.872 3435
+-95.366 25.872 3434
+-95.24 25.872 3433
+-95.114 25.872 3432
+-94.988 25.872 3431
+-94.862 25.872 3430
+-94.736 25.872 3429
+-94.61 25.872 3427
+-94.484 25.872 3426
+-94.358 25.872 3458
+-94.232 25.872 3457
+-94.106 25.872 3455
+-93.98 25.872 3453
+-93.854 25.872 3451
+-93.728 25.872 3450
+-93.602 25.872 3467
+-93.476 25.872 3466
+-93.35 25.872 3465
+-93.224 25.872 3463
+-93.098 25.872 3462
+-92.972 25.872 3460
+-92.846 25.872 3484
+-92.72 25.872 3498
+-92.594 25.872 3497
+-92.468 25.872 3496
+-92.342 25.872 3529
+-92.216 25.872 3529
+-92.09 25.872 3529
+-91.964 25.872 3530
+-91.838 25.872 3530
+-91.712 25.872 3531
+-91.586 25.872 3531
+-91.46 25.872 3532
+-91.334 25.872 3533
+-91.208 25.872 3534
+-91.082 25.872 3536
+-90.956 25.872 3537
+-90.83 25.872 3601
+-90.704 25.872 3645
+-90.578 25.872 3647
+-90.452 25.872 3649
+-90.326 25.872 3651
+-90.2 25.872 3653
+-90.074 25.872 3641
+-89.948 25.872 3735
+-89.822 25.872 3784
+-89.696 25.872 3836
+-89.57 25.872 3834
+-89.444 25.872 3831
+-89.318 25.872 3829
+-89.192 25.872 3884
+-89.066 25.872 3877
+-88.94 25.872 3869
+-88.814 25.872 3920
+-88.688 25.872 3933
+-88.562 25.872 3939
+-88.436 25.872 3924
+-88.31 25.872 3917
+-88.184 25.872 3870
+-88.058 25.872 3804
+-87.932 25.872 3671
+-87.806 25.872 3483
+-87.68 25.872 3354
+-87.554 25.872 3538
+-87.428 25.872 3886
+-87.302 25.872 4100
+-87.176 25.872 4123
+-87.05 25.872 4054
+-86.924 25.872 4204
+-86.798 25.872 4192
+-86.672 25.872 4378
+-86.546 25.872 4662
+-86.42 25.872 4812
+-86.294 25.872 4865
+-86.168 25.872 4982
+-86.042 25.872 5166
+-85.916 25.872 5258
+-85.79 25.872 5348
+-85.664 25.872 5433
+-85.538 25.872 5554
+-85.412 25.872 5699
+-85.286 25.872 5833
+-85.16 25.872 5923
+-85.034 25.872 6002
+-84.908 25.872 6136
+-84.782 25.872 6285
+-84.656 25.872 6373
+-84.53 25.872 6482
+-84.404 25.872 6595
+-84.278 25.872 6724
+-84.152 25.872 6762
+-84.026 25.872 6883
+-83.9 25.872 6978
+-83.774 25.872 7046
+-83.648 25.872 7163
+-83.522 25.872 7277
+-83.396 25.872 7344
+-83.27 25.872 7444
+-83.144 25.872 7426
+-83.018 25.872 7484
+-82.892 25.872 7553
+-82.766 25.872 7632
+-82.64 25.872 7646
+-82.514 25.872 7680
+-82.388 25.872 7704
+-82.262 25.872 7700
+-82.136 25.872 7722
+-82.01 25.872 7736
+-81.884 25.872 7678
+-81.758 25.872 7642
+-81.632 25.872 7626
+-81.506 25.872 7563
+-81.38 25.872 7530
+-81.254 25.872 7445
+-81.128 25.872 7429
+-81.002 25.872 7325
+-80.876 25.872 7246
+-80.75 25.872 7166
+-80.624 25.872 7103
+-80.498 25.872 6968
+-80.372 25.872 6910
+-80.246 25.872 6805
+-80.12 25.872 6704
+-79.994 25.872 6599
+-79.868 25.872 6500
+-79.742 25.872 6424
+-79.616 25.872 6254
+-79.49 25.872 6154
+-79.364 25.872 5973
+-79.238 25.872 5921
+-79.112 25.872 5775
+-78.986 25.872 5657
+-78.86 25.872 5643
+-78.734 25.872 5532
+-78.608 25.872 5441
+-78.482 25.872 5341
+-78.356 25.872 5232
+-78.23 25.872 5082
+-78.104 25.872 4949
+-77.978 25.872 4903
+-77.852 25.872 4852
+-77.726 25.872 4768
+-77.6 25.872 4529
+-77.474 25.872 4362
+-77.348 25.872 4255
+-77.222 25.872 4216
+-77.096 25.872 4194
+-76.97 25.872 4190
+-76.844 25.872 4188
+-76.718 25.872 4167
+-76.592 25.872 4153
+-76.466 25.872 4091
+-76.34 25.872 4039
+-76.214 25.872 4029
+-76.088 25.872 4009
+-75.962 25.872 4014
+-75.836 25.872 3900
+-75.71 25.872 3833
+-75.584 25.872 3765
+-75.458 25.872 3689
+-75.332 25.872 3673
+-75.206 25.872 3602
+-75.08 25.872 3572
+-74.954 25.872 3555
+-74.828 25.872 3537
+-74.702 25.872 3483
+-74.576 25.872 3468
+-74.45 25.872 3387
+-74.324 25.872 3372
+-74.198 25.872 3331
+-74.072 25.872 3225
+-73.946 25.872 3215
+-73.82 25.872 3185
+-73.694 25.872 3066
+-73.568 25.872 3056
+-73.442 25.872 3014
+-73.316 25.872 2989
+-73.19 25.872 2960
+-73.064 25.872 2895
+-72.938 25.872 2893
+-72.812 25.872 2892
+-72.686 25.872 2892
+-72.56 25.872 2893
+-72.434 25.872 2894
+-72.308 25.872 2896
+-72.182 25.872 2898
+-72.056 25.872 2900
+-71.93 25.872 2903
+-71.804 25.872 2905
+-71.678 25.872 2908
+-71.552 25.872 2911
+-71.426 25.872 2914
+-71.3 25.872 2917
+-71.174 25.872 2920
+-71.048 25.872 2923
+-70.922 25.872 2926
+-70.796 25.872 2929
+-70.67 25.872 2869
+-70.544 25.872 2873
+-70.418 25.872 2877
+-70.292 25.872 2880
+-70.166 25.872 2884
+-70.04 25.872 2887
+-69.914 25.872 2848
+-69.788 25.872 2853
+-69.662 25.872 2846
+-69.536 25.872 2843
+-69.41 25.872 2818
+-69.284 25.872 2821
+-69.158 25.872 2825
+-69.032 25.872 2828
+-68.906 25.872 2831
+-68.78 25.872 2834
+-68.654 25.872 2837
+-68.528 25.872 2840
+-68.402 25.872 2843
+-68.276 25.872 2846
+-68.15 25.872 2848
+-68.024 25.872 2851
+-67.898 25.872 2853
+-67.772 25.872 2856
+-67.646 25.872 2858
+-67.52 25.872 2860
+-67.394 25.872 2863
+-67.268 25.872 2865
+-67.142 25.872 2867
+-67.016 25.872 2869
+-66.89 25.872 2871
+-66.764 25.872 2873
+-66.638 25.872 2875
+-66.512 25.872 2876
+-66.386 25.872 2878
+-66.26 25.872 2880
+-66.134 25.872 2872
+-66.008 25.872 2874
+-65.882 25.872 2876
+-65.756 25.872 2878
+-65.63 25.872 2880
+-65.504 25.872 2881
+-65.378 25.872 2883
+-65.252 25.872 2885
+-65.126 25.872 2886
+-128 25.82 3481
+-127.874 25.82 3481
+-127.748 25.82 3443
+-127.622 25.82 3465
+-127.496 25.82 3507
+-127.37 25.82 3498
+-127.244 25.82 3532
+-127.118 25.82 3531
+-126.992 25.82 3573
+-126.866 25.82 3546
+-126.74 25.82 3545
+-126.614 25.82 3545
+-126.488 25.82 3582
+-126.362 25.82 3581
+-126.236 25.82 3353
+-126.11 25.82 3362
+-125.984 25.82 3381
+-125.858 25.82 3276
+-125.732 25.82 3273
+-125.606 25.82 3255
+-125.48 25.82 3322
+-125.354 25.82 3287
+-125.228 25.82 3283
+-125.102 25.82 3306
+-124.976 25.82 3202
+-124.85 25.82 3205
+-124.724 25.82 3233
+-124.598 25.82 3224
+-124.472 25.82 3218
+-124.346 25.82 3212
+-124.22 25.82 3125
+-124.094 25.82 3122
+-123.968 25.82 3042
+-123.842 25.82 3047
+-123.716 25.82 3046
+-123.59 25.82 3040
+-123.464 25.82 3002
+-123.338 25.82 2995
+-123.212 25.82 2988
+-123.086 25.82 3002
+-122.96 25.82 2980
+-122.834 25.82 2971
+-122.708 25.82 2924
+-122.582 25.82 2915
+-122.456 25.82 2953
+-122.33 25.82 2914
+-122.204 25.82 2894
+-122.078 25.82 2808
+-121.952 25.82 2828
+-121.826 25.82 2818
+-121.7 25.82 2806
+-121.574 25.82 2795
+-121.448 25.82 2782
+-121.322 25.82 2770
+-121.196 25.82 2713
+-121.07 25.82 2704
+-120.944 25.82 2693
+-120.818 25.82 2661
+-120.692 25.82 2640
+-120.566 25.82 2623
+-120.44 25.82 2613
+-120.314 25.82 2585
+-120.188 25.82 2577
+-120.062 25.82 2560
+-119.936 25.82 2551
+-119.81 25.82 2536
+-119.684 25.82 2534
+-119.558 25.82 2529
+-119.432 25.82 2533
+-119.306 25.82 2536
+-119.18 25.82 2540
+-119.054 25.82 2545
+-118.928 25.82 2551
+-118.802 25.82 2515
+-118.676 25.82 2520
+-118.55 25.82 2524
+-118.424 25.82 2513
+-118.298 25.82 2513
+-118.172 25.82 2490
+-118.046 25.82 2482
+-117.92 25.82 2468
+-117.794 25.82 2446
+-117.668 25.82 2413
+-117.542 25.82 2369
+-117.416 25.82 2312
+-117.29 25.82 2245
+-117.164 25.82 2178
+-117.038 25.82 2127
+-116.912 25.82 2102
+-116.786 25.82 2121
+-116.66 25.82 2171
+-116.534 25.82 2237
+-116.408 25.82 2309
+-116.282 25.82 2372
+-116.156 25.82 2426
+-116.03 25.82 2510
+-115.904 25.82 2566
+-115.778 25.82 2593
+-115.652 25.82 2611
+-115.526 25.82 2626
+-115.4 25.82 2637
+-115.274 25.82 2656
+-115.148 25.82 2693
+-115.022 25.82 2716
+-114.896 25.82 2760
+-114.77 25.82 2773
+-114.644 25.82 2786
+-114.518 25.82 2823
+-114.392 25.82 2837
+-114.266 25.82 2843
+-114.14 25.82 2879
+-114.014 25.82 2907
+-113.888 25.82 2920
+-113.762 25.82 2916
+-113.636 25.82 2926
+-113.51 25.82 2904
+-113.384 25.82 2879
+-113.258 25.82 2838
+-113.132 25.82 2801
+-113.006 25.82 2783
+-112.88 25.82 2779
+-112.754 25.82 2745
+-112.628 25.82 2714
+-112.502 25.82 2756
+-112.376 25.82 2856
+-112.25 25.82 2991
+-112.124 25.82 3099
+-111.998 25.82 3183
+-111.872 25.82 3227
+-111.746 25.82 3246
+-111.62 25.82 3230
+-111.494 25.82 3202
+-111.368 25.82 3186
+-111.242 25.82 3214
+-111.116 25.82 3253
+-110.99 25.82 3293
+-110.864 25.82 3341
+-110.738 25.82 3372
+-110.612 25.82 3361
+-110.486 25.82 3388
+-110.36 25.82 3378
+-110.234 25.82 3373
+-110.108 25.82 3359
+-109.982 25.82 3339
+-109.856 25.82 3318
+-109.73 25.82 3276
+-109.604 25.82 3214
+-109.478 25.82 3138
+-109.352 25.82 3098
+-109.226 25.82 3127
+-109.1 25.82 3181
+-108.974 25.82 3224
+-108.848 25.82 3258
+-108.722 25.82 3271
+-108.596 25.82 3271
+-108.47 25.82 3279
+-108.344 25.82 3264
+-108.218 25.82 3243
+-108.092 25.82 3239
+-107.966 25.82 3232
+-107.84 25.82 3254
+-107.714 25.82 3205
+-107.588 25.82 3233
+-107.462 25.82 3214
+-107.336 25.82 3178
+-107.21 25.82 3140
+-107.084 25.82 3108
+-106.958 25.82 3018
+-106.832 25.82 2987
+-106.706 25.82 2939
+-106.58 25.82 2888
+-106.454 25.82 2849
+-106.328 25.82 2804
+-106.202 25.82 2767
+-106.076 25.82 2721
+-105.95 25.82 2729
+-105.824 25.82 2729
+-105.698 25.82 2739
+-105.572 25.82 2756
+-105.446 25.82 2777
+-105.32 25.82 2799
+-105.194 25.82 2823
+-105.068 25.82 2855
+-104.942 25.82 2878
+-104.816 25.82 2899
+-104.69 25.82 2918
+-104.564 25.82 2897
+-104.438 25.82 2986
+-104.312 25.82 2999
+-104.186 25.82 3023
+-104.06 25.82 3038
+-103.934 25.82 3119
+-103.808 25.82 3133
+-103.682 25.82 3146
+-103.556 25.82 3181
+-103.43 25.82 3182
+-103.304 25.82 3195
+-103.178 25.82 3198
+-103.052 25.82 3217
+-102.926 25.82 3217
+-102.8 25.82 3238
+-102.674 25.82 3249
+-102.548 25.82 3252
+-102.422 25.82 3256
+-102.296 25.82 3265
+-102.17 25.82 3259
+-102.044 25.82 3299
+-101.918 25.82 3308
+-101.792 25.82 3291
+-101.666 25.82 3299
+-101.54 25.82 3338
+-101.414 25.82 3346
+-101.288 25.82 3318
+-101.162 25.82 3299
+-101.036 25.82 3314
+-100.91 25.82 3184
+-100.784 25.82 3190
+-100.658 25.82 3247
+-100.532 25.82 3253
+-100.406 25.82 3209
+-100.28 25.82 3224
+-100.154 25.82 3229
+-100.028 25.82 3209
+-99.902 25.82 3214
+-99.776 25.82 3219
+-99.65 25.82 3223
+-99.524 25.82 3228
+-99.398 25.82 3232
+-99.272 25.82 3236
+-99.146 25.82 3170
+-99.02 25.82 3167
+-98.894 25.82 3170
+-98.768 25.82 3173
+-98.642 25.82 3157
+-98.516 25.82 3161
+-98.39 25.82 3226
+-98.264 25.82 3229
+-98.138 25.82 3245
+-98.012 25.82 3227
+-97.886 25.82 3119
+-97.76 25.82 3119
+-97.634 25.82 3120
+-97.508 25.82 3119
+-97.382 25.82 2998
+-97.256 25.82 2997
+-97.13 25.82 2980
+-97.004 25.82 3013
+-96.878 25.82 2975
+-96.752 25.82 3047
+-96.626 25.82 3057
+-96.5 25.82 3035
+-96.374 25.82 3074
+-96.248 25.82 3295
+-96.122 25.82 3296
+-95.996 25.82 3336
+-95.87 25.82 3437
+-95.744 25.82 3436
+-95.618 25.82 3435
+-95.492 25.82 3434
+-95.366 25.82 3433
+-95.24 25.82 3432
+-95.114 25.82 3431
+-94.988 25.82 3430
+-94.862 25.82 3429
+-94.736 25.82 3428
+-94.61 25.82 3426
+-94.484 25.82 3459
+-94.358 25.82 3457
+-94.232 25.82 3455
+-94.106 25.82 3454
+-93.98 25.82 3452
+-93.854 25.82 3450
+-93.728 25.82 3468
+-93.602 25.82 3466
+-93.476 25.82 3465
+-93.35 25.82 3463
+-93.224 25.82 3462
+-93.098 25.82 3461
+-92.972 25.82 3485
+-92.846 25.82 3499
+-92.72 25.82 3498
+-92.594 25.82 3496
+-92.468 25.82 3529
+-92.342 25.82 3529
+-92.216 25.82 3529
+-92.09 25.82 3529
+-91.964 25.82 3529
+-91.838 25.82 3530
+-91.712 25.82 3530
+-91.586 25.82 3531
+-91.46 25.82 3531
+-91.334 25.82 3532
+-91.208 25.82 3533
+-91.082 25.82 3534
+-90.956 25.82 3599
+-90.83 25.82 3607
+-90.704 25.82 3608
+-90.578 25.82 3611
+-90.452 25.82 3613
+-90.326 25.82 3615
+-90.2 25.82 3635
+-90.074 25.82 3670
+-89.948 25.82 3775
+-89.822 25.82 3774
+-89.696 25.82 3772
+-89.57 25.82 3771
+-89.444 25.82 3821
+-89.318 25.82 3876
+-89.192 25.82 3868
+-89.066 25.82 3860
+-88.94 25.82 3904
+-88.814 25.82 3916
+-88.688 25.82 3905
+-88.562 25.82 3891
+-88.436 25.82 3942
+-88.31 25.82 3917
+-88.184 25.82 3866
+-88.058 25.82 3813
+-87.932 25.82 3699
+-87.806 25.82 3561
+-87.68 25.82 3497
+-87.554 25.82 3657
+-87.428 25.82 3926
+-87.302 25.82 4113
+-87.176 25.82 4161
+-87.05 25.82 4160
+-86.924 25.82 4257
+-86.798 25.82 4309
+-86.672 25.82 4440
+-86.546 25.82 4652
+-86.42 25.82 4791
+-86.294 25.82 4897
+-86.168 25.82 5014
+-86.042 25.82 5135
+-85.916 25.82 5216
+-85.79 25.82 5297
+-85.664 25.82 5369
+-85.538 25.82 5503
+-85.412 25.82 5631
+-85.286 25.82 5777
+-85.16 25.82 5904
+-85.034 25.82 5951
+-84.908 25.82 6113
+-84.782 25.82 6245
+-84.656 25.82 6318
+-84.53 25.82 6439
+-84.404 25.82 6495
+-84.278 25.82 6653
+-84.152 25.82 6805
+-84.026 25.82 6874
+-83.9 25.82 6936
+-83.774 25.82 7018
+-83.648 25.82 7090
+-83.522 25.82 7235
+-83.396 25.82 7304
+-83.27 25.82 7363
+-83.144 25.82 7412
+-83.018 25.82 7440
+-82.892 25.82 7504
+-82.766 25.82 7542
+-82.64 25.82 7590
+-82.514 25.82 7640
+-82.388 25.82 7633
+-82.262 25.82 7681
+-82.136 25.82 7659
+-82.01 25.82 7673
+-81.884 25.82 7664
+-81.758 25.82 7604
+-81.632 25.82 7555
+-81.506 25.82 7498
+-81.38 25.82 7463
+-81.254 25.82 7439
+-81.128 25.82 7355
+-81.002 25.82 7313
+-80.876 25.82 7211
+-80.75 25.82 7102
+-80.624 25.82 7035
+-80.498 25.82 6912
+-80.372 25.82 6858
+-80.246 25.82 6781
+-80.12 25.82 6633
+-79.994 25.82 6614
+-79.868 25.82 6501
+-79.742 25.82 6381
+-79.616 25.82 6268
+-79.49 25.82 6124
+-79.364 25.82 6014
+-79.238 25.82 5885
+-79.112 25.82 5768
+-78.986 25.82 5689
+-78.86 25.82 5641
+-78.734 25.82 5523
+-78.608 25.82 5426
+-78.482 25.82 5322
+-78.356 25.82 5189
+-78.23 25.82 4995
+-78.104 25.82 4851
+-77.978 25.82 4859
+-77.852 25.82 4839
+-77.726 25.82 4722
+-77.6 25.82 4525
+-77.474 25.82 4370
+-77.348 25.82 4228
+-77.222 25.82 4144
+-77.096 25.82 4124
+-76.97 25.82 4117
+-76.844 25.82 4106
+-76.718 25.82 4070
+-76.592 25.82 4054
+-76.466 25.82 4042
+-76.34 25.82 3979
+-76.214 25.82 3931
+-76.088 25.82 3946
+-75.962 25.82 3924
+-75.836 25.82 3799
+-75.71 25.82 3795
+-75.584 25.82 3786
+-75.458 25.82 3720
+-75.332 25.82 3624
+-75.206 25.82 3607
+-75.08 25.82 3556
+-74.954 25.82 3525
+-74.828 25.82 3466
+-74.702 25.82 3449
+-74.576 25.82 3381
+-74.45 25.82 3364
+-74.324 25.82 3298
+-74.198 25.82 3283
+-74.072 25.82 3270
+-73.946 25.82 3179
+-73.82 25.82 3170
+-73.694 25.82 3120
+-73.568 25.82 3026
+-73.442 25.82 2983
+-73.316 25.82 2956
+-73.19 25.82 2927
+-73.064 25.82 2868
+-72.938 25.82 2868
+-72.812 25.82 2868
+-72.686 25.82 2870
+-72.56 25.82 2871
+-72.434 25.82 2874
+-72.308 25.82 2877
+-72.182 25.82 2880
+-72.056 25.82 2883
+-71.93 25.82 2887
+-71.804 25.82 2890
+-71.678 25.82 2894
+-71.552 25.82 2898
+-71.426 25.82 2902
+-71.3 25.82 2905
+-71.174 25.82 2909
+-71.048 25.82 2913
+-70.922 25.82 2916
+-70.796 25.82 2920
+-70.67 25.82 2923
+-70.544 25.82 2864
+-70.418 25.82 2868
+-70.292 25.82 2872
+-70.166 25.82 2876
+-70.04 25.82 2879
+-69.914 25.82 2883
+-69.788 25.82 2844
+-69.662 25.82 2849
+-69.536 25.82 2842
+-69.41 25.82 2840
+-69.284 25.82 2814
+-69.158 25.82 2818
+-69.032 25.82 2822
+-68.906 25.82 2825
+-68.78 25.82 2828
+-68.654 25.82 2832
+-68.528 25.82 2835
+-68.402 25.82 2838
+-68.276 25.82 2841
+-68.15 25.82 2843
+-68.024 25.82 2846
+-67.898 25.82 2849
+-67.772 25.82 2851
+-67.646 25.82 2854
+-67.52 25.82 2856
+-67.394 25.82 2859
+-67.268 25.82 2861
+-67.142 25.82 2863
+-67.016 25.82 2865
+-66.89 25.82 2867
+-66.764 25.82 2869
+-66.638 25.82 2871
+-66.512 25.82 2873
+-66.386 25.82 2875
+-66.26 25.82 2877
+-66.134 25.82 2879
+-66.008 25.82 2871
+-65.882 25.82 2872
+-65.756 25.82 2874
+-65.63 25.82 2876
+-65.504 25.82 2878
+-65.378 25.82 2880
+-65.252 25.82 2882
+-65.126 25.82 2883
+-128 25.768 3481
+-127.874 25.768 3444
+-127.748 25.768 3466
+-127.622 25.768 3508
+-127.496 25.768 3499
+-127.37 25.768 3533
+-127.244 25.768 3532
+-127.118 25.768 3574
+-126.992 25.768 3547
+-126.866 25.768 3546
+-126.74 25.768 3546
+-126.614 25.768 3583
+-126.488 25.768 3582
+-126.362 25.768 3352
+-126.236 25.768 3360
+-126.11 25.768 3379
+-125.984 25.768 3274
+-125.858 25.768 3271
+-125.732 25.768 3253
+-125.606 25.768 3321
+-125.48 25.768 3285
+-125.354 25.768 3281
+-125.228 25.768 3304
+-125.102 25.768 3200
+-124.976 25.768 3203
+-124.85 25.768 3231
+-124.724 25.768 3221
+-124.598 25.768 3216
+-124.472 25.768 3210
+-124.346 25.768 3123
+-124.22 25.768 3119
+-124.094 25.768 3039
+-123.968 25.768 3044
+-123.842 25.768 3044
+-123.716 25.768 3037
+-123.59 25.768 2999
+-123.464 25.768 2992
+-123.338 25.768 2984
+-123.212 25.768 2998
+-123.086 25.768 2976
+-122.96 25.768 2967
+-122.834 25.768 2919
+-122.708 25.768 2910
+-122.582 25.768 2949
+-122.456 25.768 2910
+-122.33 25.768 2889
+-122.204 25.768 2802
+-122.078 25.768 2822
+-121.952 25.768 2811
+-121.826 25.768 2799
+-121.7 25.768 2786
+-121.574 25.768 2773
+-121.448 25.768 2760
+-121.322 25.768 2701
+-121.196 25.768 2691
+-121.07 25.768 2678
+-120.944 25.768 2644
+-120.818 25.768 2621
+-120.692 25.768 2602
+-120.566 25.768 2590
+-120.44 25.768 2559
+-120.314 25.768 2548
+-120.188 25.768 2528
+-120.062 25.768 2515
+-119.936 25.768 2497
+-119.81 25.768 2492
+-119.684 25.768 2484
+-119.558 25.768 2485
+-119.432 25.768 2486
+-119.306 25.768 2489
+-119.18 25.768 2494
+-119.054 25.768 2501
+-118.928 25.768 2466
+-118.802 25.768 2474
+-118.676 25.768 2482
+-118.55 25.768 2475
+-118.424 25.768 2480
+-118.298 25.768 2464
+-118.172 25.768 2464
+-118.046 25.768 2459
+-117.92 25.768 2449
+-117.794 25.768 2431
+-117.668 25.768 2405
+-117.542 25.768 2370
+-117.416 25.768 2327
+-117.29 25.768 2277
+-117.164 25.768 2230
+-117.038 25.768 2185
+-116.912 25.768 2173
+-116.786 25.768 2187
+-116.66 25.768 2223
+-116.534 25.768 2275
+-116.408 25.768 2331
+-116.282 25.768 2383
+-116.156 25.768 2417
+-116.03 25.768 2464
+-115.904 25.768 2543
+-115.778 25.768 2593
+-115.652 25.768 2601
+-115.526 25.768 2630
+-115.4 25.768 2652
+-115.274 25.768 2676
+-115.148 25.768 2688
+-115.022 25.768 2729
+-114.896 25.768 2773
+-114.77 25.768 2786
+-114.644 25.768 2798
+-114.518 25.768 2834
+-114.392 25.768 2839
+-114.266 25.768 2864
+-114.14 25.768 2880
+-114.014 25.768 2926
+-113.888 25.768 2927
+-113.762 25.768 2923
+-113.636 25.768 2913
+-113.51 25.768 2926
+-113.384 25.768 2884
+-113.258 25.768 2872
+-113.132 25.768 2846
+-113.006 25.768 2823
+-112.88 25.768 2801
+-112.754 25.768 2768
+-112.628 25.768 2749
+-112.502 25.768 2784
+-112.376 25.768 2868
+-112.25 25.768 2974
+-112.124 25.768 3098
+-111.998 25.768 3167
+-111.872 25.768 3215
+-111.746 25.768 3229
+-111.62 25.768 3232
+-111.494 25.768 3226
+-111.368 25.768 3222
+-111.242 25.768 3233
+-111.116 25.768 3258
+-110.99 25.768 3280
+-110.864 25.768 3322
+-110.738 25.768 3331
+-110.612 25.768 3329
+-110.486 25.768 3349
+-110.36 25.768 3343
+-110.234 25.768 3332
+-110.108 25.768 3329
+-109.982 25.768 3306
+-109.856 25.768 3274
+-109.73 25.768 3233
+-109.604 25.768 3165
+-109.478 25.768 3089
+-109.352 25.768 3052
+-109.226 25.768 3083
+-109.1 25.768 3136
+-108.974 25.768 3172
+-108.848 25.768 3194
+-108.722 25.768 3201
+-108.596 25.768 3213
+-108.47 25.768 3207
+-108.344 25.768 3213
+-108.218 25.768 3218
+-108.092 25.768 3196
+-107.966 25.768 3194
+-107.84 25.768 3188
+-107.714 25.768 3173
+-107.588 25.768 3165
+-107.462 25.768 3154
+-107.336 25.768 3176
+-107.21 25.768 3142
+-107.084 25.768 3106
+-106.958 25.768 3024
+-106.832 25.768 2988
+-106.706 25.768 2962
+-106.58 25.768 2922
+-106.454 25.768 2883
+-106.328 25.768 2858
+-106.202 25.768 2828
+-106.076 25.768 2806
+-105.95 25.768 2770
+-105.824 25.768 2790
+-105.698 25.768 2794
+-105.572 25.768 2804
+-105.446 25.768 2818
+-105.32 25.768 2835
+-105.194 25.768 2851
+-105.068 25.768 2870
+-104.942 25.768 2898
+-104.816 25.768 2915
+-104.69 25.768 2932
+-104.564 25.768 2948
+-104.438 25.768 2922
+-104.312 25.768 3012
+-104.186 25.768 3022
+-104.06 25.768 3045
+-103.934 25.768 3058
+-103.808 25.768 3141
+-103.682 25.768 3154
+-103.556 25.768 3165
+-103.43 25.768 3200
+-103.304 25.768 3200
+-103.178 25.768 3211
+-103.052 25.768 3213
+-102.926 25.768 3232
+-102.8 25.768 3231
+-102.674 25.768 3252
+-102.548 25.768 3261
+-102.422 25.768 3264
+-102.296 25.768 3267
+-102.17 25.768 3276
+-102.044 25.768 3269
+-101.918 25.768 3309
+-101.792 25.768 3318
+-101.666 25.768 3299
+-101.54 25.768 3307
+-101.414 25.768 3346
+-101.288 25.768 3354
+-101.162 25.768 3325
+-101.036 25.768 3305
+-100.91 25.768 3320
+-100.784 25.768 3189
+-100.658 25.768 3195
+-100.532 25.768 3252
+-100.406 25.768 3258
+-100.28 25.768 3213
+-100.154 25.768 3228
+-100.028 25.768 3233
+-99.902 25.768 3213
+-99.776 25.768 3217
+-99.65 25.768 3222
+-99.524 25.768 3227
+-99.398 25.768 3231
+-99.272 25.768 3235
+-99.146 25.768 3239
+-99.02 25.768 3172
+-98.894 25.768 3169
+-98.768 25.768 3172
+-98.642 25.768 3175
+-98.516 25.768 3159
+-98.39 25.768 3163
+-98.264 25.768 3228
+-98.138 25.768 3231
+-98.012 25.768 3247
+-97.886 25.768 3112
+-97.76 25.768 3118
+-97.634 25.768 3118
+-97.508 25.768 3118
+-97.382 25.768 2997
+-97.256 25.768 2996
+-97.13 25.768 2978
+-97.004 25.768 3012
+-96.878 25.768 2975
+-96.752 25.768 3048
+-96.626 25.768 3058
+-96.5 25.768 3036
+-96.374 25.768 3074
+-96.248 25.768 3295
+-96.122 25.768 3296
+-95.996 25.768 3437
+-95.87 25.768 3436
+-95.744 25.768 3435
+-95.618 25.768 3434
+-95.492 25.768 3433
+-95.366 25.768 3432
+-95.24 25.768 3431
+-95.114 25.768 3430
+-94.988 25.768 3429
+-94.862 25.768 3428
+-94.736 25.768 3427
+-94.61 25.768 3459
+-94.484 25.768 3457
+-94.358 25.768 3456
+-94.232 25.768 3454
+-94.106 25.768 3452
+-93.98 25.768 3450
+-93.854 25.768 3468
+-93.728 25.768 3467
+-93.602 25.768 3465
+-93.476 25.768 3464
+-93.35 25.768 3462
+-93.224 25.768 3461
+-93.098 25.768 3485
+-92.972 25.768 3500
+-92.846 25.768 3498
+-92.72 25.768 3497
+-92.594 25.768 3528
+-92.468 25.768 3528
+-92.342 25.768 3528
+-92.216 25.768 3528
+-92.09 25.768 3528
+-91.964 25.768 3529
+-91.838 25.768 3529
+-91.712 25.768 3529
+-91.586 25.768 3530
+-91.46 25.768 3530
+-91.334 25.768 3531
+-91.208 25.768 3532
+-91.082 25.768 3596
+-90.956 25.768 3604
+-90.83 25.768 3605
+-90.704 25.768 3607
+-90.578 25.768 3608
+-90.452 25.768 3610
+-90.326 25.768 3596
+-90.2 25.768 3698
+-90.074 25.768 3768
+-89.948 25.768 3765
+-89.822 25.768 3763
+-89.696 25.768 3760
+-89.57 25.768 3760
+-89.444 25.768 3812
+-89.318 25.768 3860
+-89.192 25.768 3852
+-89.066 25.768 3918
+-88.94 25.768 3910
+-88.814 25.768 3901
+-88.688 25.768 3890
+-88.562 25.768 3911
+-88.436 25.768 3900
+-88.31 25.768 3890
+-88.184 25.768 3875
+-88.058 25.768 3824
+-87.932 25.768 3784
+-87.806 25.768 3724
+-87.68 25.768 3718
+-87.554 25.768 3830
+-87.428 25.768 4024
+-87.302 25.768 4155
+-87.176 25.768 4216
+-87.05 25.768 4258
+-86.924 25.768 4316
+-86.798 25.768 4392
+-86.672 25.768 4494
+-86.546 25.768 4667
+-86.42 25.768 4763
+-86.294 25.768 4871
+-86.168 25.768 4999
+-86.042 25.768 5082
+-85.916 25.768 5067
+-85.79 25.768 5289
+-85.664 25.768 5417
+-85.538 25.768 5491
+-85.412 25.768 5600
+-85.286 25.768 5704
+-85.16 25.768 5829
+-85.034 25.768 5920
+-84.908 25.768 6077
+-84.782 25.768 6205
+-84.656 25.768 6234
+-84.53 25.768 6394
+-84.404 25.768 6518
+-84.278 25.768 6598
+-84.152 25.768 6732
+-84.026 25.768 6845
+-83.9 25.768 6940
+-83.774 25.768 6988
+-83.648 25.768 7061
+-83.522 25.768 7155
+-83.396 25.768 7237
+-83.27 25.768 7318
+-83.144 25.768 7364
+-83.018 25.768 7425
+-82.892 25.768 7491
+-82.766 25.768 7546
+-82.64 25.768 7518
+-82.514 25.768 7559
+-82.388 25.768 7567
+-82.262 25.768 7595
+-82.136 25.768 7586
+-82.01 25.768 7588
+-81.884 25.768 7577
+-81.758 25.768 7545
+-81.632 25.768 7515
+-81.506 25.768 7481
+-81.38 25.768 7411
+-81.254 25.768 7345
+-81.128 25.768 7314
+-81.002 25.768 7255
+-80.876 25.768 7161
+-80.75 25.768 7070
+-80.624 25.768 6979
+-80.498 25.768 6890
+-80.372 25.768 6818
+-80.246 25.768 6747
+-80.12 25.768 6689
+-79.994 25.768 6618
+-79.868 25.768 6479
+-79.742 25.768 6336
+-79.616 25.768 6188
+-79.49 25.768 6067
+-79.364 25.768 5954
+-79.238 25.768 5817
+-79.112 25.768 5709
+-78.986 25.768 5636
+-78.86 25.768 5607
+-78.734 25.768 5508
+-78.608 25.768 5409
+-78.482 25.768 5284
+-78.356 25.768 5127
+-78.23 25.768 4913
+-78.104 25.768 4727
+-77.978 25.768 4809
+-77.852 25.768 4838
+-77.726 25.768 4683
+-77.6 25.768 4498
+-77.474 25.768 4303
+-77.348 25.768 4084
+-77.222 25.768 3963
+-77.096 25.768 4000
+-76.97 25.768 4032
+-76.844 25.768 4019
+-76.718 25.768 3955
+-76.592 25.768 3894
+-76.466 25.768 3867
+-76.34 25.768 3860
+-76.214 25.768 3843
+-76.088 25.768 3811
+-75.962 25.768 3782
+-75.836 25.768 3736
+-75.71 25.768 3736
+-75.584 25.768 3749
+-75.458 25.768 3740
+-75.332 25.768 3637
+-75.206 25.768 3577
+-75.08 25.768 3558
+-74.954 25.768 3470
+-74.828 25.768 3391
+-74.702 25.768 3360
+-74.576 25.768 3294
+-74.45 25.768 3275
+-74.324 25.768 3257
+-74.198 25.768 3191
+-74.072 25.768 3126
+-73.946 25.768 3114
+-73.82 25.768 3129
+-73.694 25.768 3122
+-73.568 25.768 3076
+-73.442 25.768 2927
+-73.316 25.768 2922
+-73.19 25.768 2894
+-73.064 25.768 2895
+-72.938 25.768 2840
+-72.812 25.768 2842
+-72.686 25.768 2845
+-72.56 25.768 2848
+-72.434 25.768 2852
+-72.308 25.768 2856
+-72.182 25.768 2860
+-72.056 25.768 2865
+-71.93 25.768 2870
+-71.804 25.768 2874
+-71.678 25.768 2879
+-71.552 25.768 2884
+-71.426 25.768 2888
+-71.3 25.768 2893
+-71.174 25.768 2897
+-71.048 25.768 2902
+-70.922 25.768 2906
+-70.796 25.768 2910
+-70.67 25.768 2914
+-70.544 25.768 2918
+-70.418 25.768 2859
+-70.292 25.768 2863
+-70.166 25.768 2868
+-70.04 25.768 2872
+-69.914 25.768 2876
+-69.788 25.768 2880
+-69.662 25.768 2840
+-69.536 25.768 2845
+-69.41 25.768 2838
+-69.284 25.768 2837
+-69.158 25.768 2811
+-69.032 25.768 2815
+-68.906 25.768 2819
+-68.78 25.768 2822
+-68.654 25.768 2826
+-68.528 25.768 2829
+-68.402 25.768 2832
+-68.276 25.768 2835
+-68.15 25.768 2838
+-68.024 25.768 2841
+-67.898 25.768 2844
+-67.772 25.768 2847
+-67.646 25.768 2849
+-67.52 25.768 2852
+-67.394 25.768 2854
+-67.268 25.768 2857
+-67.142 25.768 2859
+-67.016 25.768 2861
+-66.89 25.768 2864
+-66.764 25.768 2866
+-66.638 25.768 2868
+-66.512 25.768 2870
+-66.386 25.768 2872
+-66.26 25.768 2874
+-66.134 25.768 2875
+-66.008 25.768 2877
+-65.882 25.768 2869
+-65.756 25.768 2871
+-65.63 25.768 2873
+-65.504 25.768 2875
+-65.378 25.768 2877
+-65.252 25.768 2878
+-65.126 25.768 2880
+-128 25.716 3444
+-127.874 25.716 3467
+-127.748 25.716 3509
+-127.622 25.716 3499
+-127.496 25.716 3534
+-127.37 25.716 3533
+-127.244 25.716 3575
+-127.118 25.716 3548
+-126.992 25.716 3547
+-126.866 25.716 3547
+-126.74 25.716 3585
+-126.614 25.716 3584
+-126.488 25.716 3350
+-126.362 25.716 3358
+-126.236 25.716 3378
+-126.11 25.716 3273
+-125.984 25.716 3269
+-125.858 25.716 3251
+-125.732 25.716 3319
+-125.606 25.716 3283
+-125.48 25.716 3279
+-125.354 25.716 3302
+-125.228 25.716 3198
+-125.102 25.716 3201
+-124.976 25.716 3229
+-124.85 25.716 3219
+-124.724 25.716 3214
+-124.598 25.716 3208
+-124.472 25.716 3120
+-124.346 25.716 3117
+-124.22 25.716 3036
+-124.094 25.716 3042
+-123.968 25.716 3041
+-123.842 25.716 3034
+-123.716 25.716 2996
+-123.59 25.716 2989
+-123.464 25.716 2982
+-123.338 25.716 2996
+-123.212 25.716 2973
+-123.086 25.716 2964
+-122.96 25.716 2916
+-122.834 25.716 2907
+-122.708 25.716 2946
+-122.582 25.716 2906
+-122.456 25.716 2885
+-122.33 25.716 2797
+-122.204 25.716 2817
+-122.078 25.716 2805
+-121.952 25.716 2792
+-121.826 25.716 2779
+-121.7 25.716 2766
+-121.574 25.716 2751
+-121.448 25.716 2691
+-121.322 25.716 2680
+-121.196 25.716 2665
+-121.07 25.716 2629
+-120.944 25.716 2604
+-120.818 25.716 2582
+-120.692 25.716 2567
+-120.566 25.716 2534
+-120.44 25.716 2520
+-120.314 25.716 2495
+-120.188 25.716 2478
+-120.062 25.716 2456
+-119.936 25.716 2447
+-119.81 25.716 2435
+-119.684 25.716 2431
+-119.558 25.716 2428
+-119.432 25.716 2429
+-119.306 25.716 2432
+-119.18 25.716 2438
+-119.054 25.716 2404
+-118.928 25.716 2414
+-118.802 25.716 2425
+-118.676 25.716 2422
+-118.55 25.716 2433
+-118.424 25.716 2422
+-118.298 25.716 2430
+-118.172 25.716 2434
+-118.046 25.716 2434
+-117.92 25.716 2429
+-117.794 25.716 2418
+-117.668 25.716 2399
+-117.542 25.716 2374
+-117.416 25.716 2343
+-117.29 25.716 2309
+-117.164 25.716 2264
+-117.038 25.716 2243
+-116.912 25.716 2236
+-116.786 25.716 2247
+-116.66 25.716 2275
+-116.534 25.716 2313
+-116.408 25.716 2356
+-116.282 25.716 2387
+-116.156 25.716 2425
+-116.03 25.716 2453
+-115.904 25.716 2550
+-115.778 25.716 2585
+-115.652 25.716 2605
+-115.526 25.716 2642
+-115.4 25.716 2655
+-115.274 25.716 2683
+-115.148 25.716 2696
+-115.022 25.716 2738
+-114.896 25.716 2784
+-114.77 25.716 2796
+-114.644 25.716 2820
+-114.518 25.716 2833
+-114.392 25.716 2861
+-114.266 25.716 2878
+-114.14 25.716 2898
+-114.014 25.716 2906
+-113.888 25.716 2935
+-113.762 25.716 2931
+-113.636 25.716 2923
+-113.51 25.716 2921
+-113.384 25.716 2905
+-113.258 25.716 2887
+-113.132 25.716 2877
+-113.006 25.716 2855
+-112.88 25.716 2837
+-112.754 25.716 2821
+-112.628 25.716 2815
+-112.502 25.716 2845
+-112.376 25.716 2907
+-112.25 25.716 2992
+-112.124 25.716 3081
+-111.998 25.716 3163
+-111.872 25.716 3197
+-111.746 25.716 3221
+-111.62 25.716 3236
+-111.494 25.716 3239
+-111.368 25.716 3230
+-111.242 25.716 3236
+-111.116 25.716 3258
+-110.99 25.716 3275
+-110.864 25.716 3290
+-110.738 25.716 3294
+-110.612 25.716 3307
+-110.486 25.716 3299
+-110.36 25.716 3316
+-110.234 25.716 3303
+-110.108 25.716 3286
+-109.982 25.716 3275
+-109.856 25.716 3243
+-109.73 25.716 3200
+-109.604 25.716 3152
+-109.478 25.716 3100
+-109.352 25.716 3075
+-109.226 25.716 3083
+-109.1 25.716 3108
+-108.974 25.716 3123
+-108.848 25.716 3131
+-108.722 25.716 3142
+-108.596 25.716 3134
+-108.47 25.716 3146
+-108.344 25.716 3157
+-108.218 25.716 3166
+-108.092 25.716 3173
+-107.966 25.716 3153
+-107.84 25.716 3153
+-107.714 25.716 3149
+-107.588 25.716 3136
+-107.462 25.716 3128
+-107.336 25.716 3119
+-107.21 25.716 3144
+-107.084 25.716 3112
+-106.958 25.716 3027
+-106.832 25.716 2999
+-106.706 25.716 2968
+-106.58 25.716 2949
+-106.454 25.716 2918
+-106.328 25.716 2889
+-106.202 25.716 2876
+-106.076 25.716 2858
+-105.95 25.716 2845
+-105.824 25.716 2814
+-105.698 25.716 2840
+-105.572 25.716 2846
+-105.446 25.716 2855
+-105.32 25.716 2867
+-105.194 25.716 2880
+-105.068 25.716 2892
+-104.942 25.716 2907
+-104.816 25.716 2932
+-104.69 25.716 2946
+-104.564 25.716 2960
+-104.438 25.716 2973
+-104.312 25.716 2943
+-104.186 25.716 3034
+-104.06 25.716 3043
+-103.934 25.716 3065
+-103.808 25.716 3076
+-103.682 25.716 3161
+-103.556 25.716 3172
+-103.43 25.716 3183
+-103.304 25.716 3218
+-103.178 25.716 3215
+-103.052 25.716 3226
+-102.926 25.716 3228
+-102.8 25.716 3245
+-102.674 25.716 3243
+-102.548 25.716 3264
+-102.422 25.716 3274
+-102.296 25.716 3275
+-102.17 25.716 3278
+-102.044 25.716 3286
+-101.918 25.716 3279
+-101.792 25.716 3319
+-101.666 25.716 3327
+-101.54 25.716 3308
+-101.414 25.716 3315
+-101.288 25.716 3355
+-101.162 25.716 3362
+-101.036 25.716 3332
+-100.91 25.716 3312
+-100.784 25.716 3327
+-100.658 25.716 3194
+-100.532 25.716 3199
+-100.406 25.716 3257
+-100.28 25.716 3263
+-100.154 25.716 3217
+-100.028 25.716 3232
+-99.902 25.716 3237
+-99.776 25.716 3216
+-99.65 25.716 3221
+-99.524 25.716 3225
+-99.398 25.716 3230
+-99.272 25.716 3234
+-99.146 25.716 3238
+-99.02 25.716 3242
+-98.894 25.716 3174
+-98.768 25.716 3171
+-98.642 25.716 3174
+-98.516 25.716 3177
+-98.39 25.716 3161
+-98.264 25.716 3165
+-98.138 25.716 3230
+-98.012 25.716 3120
+-97.886 25.716 3130
+-97.76 25.716 3110
+-97.634 25.716 3116
+-97.508 25.716 3116
+-97.382 25.716 2995
+-97.256 25.716 2994
+-97.13 25.716 2977
+-97.004 25.716 3011
+-96.878 25.716 2974
+-96.752 25.716 3048
+-96.626 25.716 3058
+-96.5 25.716 3036
+-96.374 25.716 3248
+-96.248 25.716 3294
+-96.122 25.716 3295
+-95.996 25.716 3436
+-95.87 25.716 3435
+-95.744 25.716 3434
+-95.618 25.716 3433
+-95.492 25.716 3432
+-95.366 25.716 3431
+-95.24 25.716 3430
+-95.114 25.716 3429
+-94.988 25.716 3428
+-94.862 25.716 3427
+-94.736 25.716 3459
+-94.61 25.716 3457
+-94.484 25.716 3456
+-94.358 25.716 3454
+-94.232 25.716 3452
+-94.106 25.716 3451
+-93.98 25.716 3469
+-93.854 25.716 3467
+-93.728 25.716 3466
+-93.602 25.716 3464
+-93.476 25.716 3463
+-93.35 25.716 3461
+-93.224 25.716 3486
+-93.098 25.716 3500
+-92.972 25.716 3499
+-92.846 25.716 3497
+-92.72 25.716 3528
+-92.594 25.716 3528
+-92.468 25.716 3528
+-92.342 25.716 3528
+-92.216 25.716 3528
+-92.09 25.716 3528
+-91.964 25.716 3528
+-91.838 25.716 3528
+-91.712 25.716 3528
+-91.586 25.716 3528
+-91.46 25.716 3529
+-91.334 25.716 3529
+-91.208 25.716 3600
+-91.082 25.716 3601
+-90.956 25.716 3602
+-90.83 25.716 3603
+-90.704 25.716 3604
+-90.578 25.716 3605
+-90.452 25.716 3591
+-90.326 25.716 3691
+-90.2 25.716 3760
+-90.074 25.716 3758
+-89.948 25.716 3755
+-89.822 25.716 3752
+-89.696 25.716 3772
+-89.57 25.716 3767
+-89.444 25.716 3797
+-89.318 25.716 3791
+-89.192 25.716 3912
+-89.066 25.716 3904
+-88.94 25.716 3895
+-88.814 25.716 3886
+-88.688 25.716 3909
+-88.562 25.716 3903
+-88.436 25.716 3890
+-88.31 25.716 3871
+-88.184 25.716 3849
+-88.058 25.716 3843
+-87.932 25.716 3855
+-87.806 25.716 3843
+-87.68 25.716 3878
+-87.554 25.716 3952
+-87.428 25.716 4045
+-87.302 25.716 4142
+-87.176 25.716 4249
+-87.05 25.716 4297
+-86.924 25.716 4354
+-86.798 25.716 4412
+-86.672 25.716 4480
+-86.546 25.716 4628
+-86.42 25.716 4719
+-86.294 25.716 4772
+-86.168 25.716 4916
+-86.042 25.716 5030
+-85.916 25.716 5144
+-85.79 25.716 5295
+-85.664 25.716 5438
+-85.538 25.716 5511
+-85.412 25.716 5580
+-85.286 25.716 5688
+-85.16 25.716 5824
+-85.034 25.716 5871
+-84.908 25.716 6075
+-84.782 25.716 6135
+-84.656 25.716 6243
+-84.53 25.716 6387
+-84.404 25.716 6502
+-84.278 25.716 6531
+-84.152 25.716 6640
+-84.026 25.716 6790
+-83.9 25.716 6819
+-83.774 25.716 6957
+-83.648 25.716 7020
+-83.522 25.716 7145
+-83.396 25.716 7177
+-83.27 25.716 7257
+-83.144 25.716 7305
+-83.018 25.716 7355
+-82.892 25.716 7401
+-82.766 25.716 7460
+-82.64 25.716 7474
+-82.514 25.716 7511
+-82.388 25.716 7528
+-82.262 25.716 7556
+-82.136 25.716 7514
+-82.01 25.716 7517
+-81.884 25.716 7500
+-81.758 25.716 7484
+-81.632 25.716 7471
+-81.506 25.716 7422
+-81.38 25.716 7391
+-81.254 25.716 7316
+-81.128 25.716 7207
+-81.002 25.716 7186
+-80.876 25.716 7086
+-80.75 25.716 7037
+-80.624 25.716 6934
+-80.498 25.716 6829
+-80.372 25.716 6771
+-80.246 25.716 6691
+-80.12 25.716 6657
+-79.994 25.716 6529
+-79.868 25.716 6407
+-79.742 25.716 6258
+-79.616 25.716 6082
+-79.49 25.716 5984
+-79.364 25.716 5904
+-79.238 25.716 5772
+-79.112 25.716 5657
+-78.986 25.716 5583
+-78.86 25.716 5567
+-78.734 25.716 5455
+-78.608 25.716 5318
+-78.482 25.716 5201
+-78.356 25.716 5110
+-78.23 25.716 4977
+-78.104 25.716 4832
+-77.978 25.716 4841
+-77.852 25.716 4810
+-77.726 25.716 4676
+-77.6 25.716 4503
+-77.474 25.716 4249
+-77.348 25.716 3979
+-77.222 25.716 3852
+-77.096 25.716 3924
+-76.97 25.716 3963
+-76.844 25.716 3901
+-76.718 25.716 3797
+-76.592 25.716 3713
+-76.466 25.716 3674
+-76.34 25.716 3671
+-76.214 25.716 3671
+-76.088 25.716 3728
+-75.962 25.716 3717
+-75.836 25.716 3741
+-75.71 25.716 3696
+-75.584 25.716 3695
+-75.458 25.716 3687
+-75.332 25.716 3573
+-75.206 25.716 3574
+-75.08 25.716 3474
+-74.954 25.716 3389
+-74.828 25.716 3321
+-74.702 25.716 3283
+-74.576 25.716 3248
+-74.45 25.716 3227
+-74.324 25.716 3208
+-74.198 25.716 3192
+-74.072 25.716 3129
+-73.946 25.716 3068
+-73.82 25.716 3059
+-73.694 25.716 3029
+-73.568 25.716 3025
+-73.442 25.716 2935
+-73.316 25.716 2886
+-73.19 25.716 2857
+-73.064 25.716 2860
+-72.938 25.716 2864
+-72.812 25.716 2813
+-72.686 25.716 2818
+-72.56 25.716 2823
+-72.434 25.716 2828
+-72.308 25.716 2834
+-72.182 25.716 2840
+-72.056 25.716 2846
+-71.93 25.716 2852
+-71.804 25.716 2858
+-71.678 25.716 2864
+-71.552 25.716 2869
+-71.426 25.716 2875
+-71.3 25.716 2880
+-71.174 25.716 2885
+-71.048 25.716 2891
+-70.922 25.716 2895
+-70.796 25.716 2900
+-70.67 25.716 2905
+-70.544 25.716 2909
+-70.418 25.716 2913
+-70.292 25.716 2855
+-70.166 25.716 2859
+-70.04 25.716 2864
+-69.914 25.716 2868
+-69.788 25.716 2873
+-69.662 25.716 2877
+-69.536 25.716 2837
+-69.41 25.716 2842
+-69.284 25.716 2836
+-69.158 25.716 2834
+-69.032 25.716 2809
+-68.906 25.716 2813
+-68.78 25.716 2816
+-68.654 25.716 2820
+-68.528 25.716 2824
+-68.402 25.716 2827
+-68.276 25.716 2830
+-68.15 25.716 2833
+-68.024 25.716 2836
+-67.898 25.716 2839
+-67.772 25.716 2842
+-67.646 25.716 2845
+-67.52 25.716 2848
+-67.394 25.716 2850
+-67.268 25.716 2853
+-67.142 25.716 2855
+-67.016 25.716 2858
+-66.89 25.716 2860
+-66.764 25.716 2862
+-66.638 25.716 2864
+-66.512 25.716 2866
+-66.386 25.716 2868
+-66.26 25.716 2870
+-66.134 25.716 2872
+-66.008 25.716 2874
+-65.882 25.716 2876
+-65.756 25.716 2867
+-65.63 25.716 2869
+-65.504 25.716 2871
+-65.378 25.716 2873
+-65.252 25.716 2875
+-65.126 25.716 2877
+-128 25.664 3467
+-127.874 25.664 3510
+-127.748 25.664 3500
+-127.622 25.664 3535
+-127.496 25.664 3534
+-127.37 25.664 3577
+-127.244 25.664 3549
+-127.118 25.664 3548
+-126.992 25.664 3548
+-126.866 25.664 3586
+-126.74 25.664 3585
+-126.614 25.664 3348
+-126.488 25.664 3357
+-126.362 25.664 3376
+-126.236 25.664 3271
+-126.11 25.664 3268
+-125.984 25.664 3250
+-125.858 25.664 3318
+-125.732 25.664 3282
+-125.606 25.664 3277
+-125.48 25.664 3301
+-125.354 25.664 3196
+-125.228 25.664 3199
+-125.102 25.664 3228
+-124.976 25.664 3218
+-124.85 25.664 3212
+-124.724 25.664 3206
+-124.598 25.664 3118
+-124.472 25.664 3115
+-124.346 25.664 3034
+-124.22 25.664 3040
+-124.094 25.664 3039
+-123.968 25.664 3032
+-123.842 25.664 2994
+-123.716 25.664 2987
+-123.59 25.664 2979
+-123.464 25.664 2993
+-123.338 25.664 2970
+-123.212 25.664 2962
+-123.086 25.664 2913
+-122.96 25.664 2904
+-122.834 25.664 2944
+-122.708 25.664 2903
+-122.582 25.664 2882
+-122.456 25.664 2792
+-122.33 25.664 2812
+-122.204 25.664 2800
+-122.078 25.664 2787
+-121.952 25.664 2774
+-121.826 25.664 2759
+-121.7 25.664 2744
+-121.574 25.664 2682
+-121.448 25.664 2670
+-121.322 25.664 2654
+-121.196 25.664 2616
+-121.07 25.664 2589
+-120.944 25.664 2565
+-120.818 25.664 2548
+-120.692 25.664 2511
+-120.566 25.664 2493
+-120.44 25.664 2464
+-120.314 25.664 2443
+-120.188 25.664 2416
+-120.062 25.664 2401
+-119.936 25.664 2383
+-119.81 25.664 2373
+-119.684 25.664 2364
+-119.558 25.664 2360
+-119.432 25.664 2358
+-119.306 25.664 2361
+-119.18 25.664 2327
+-119.054 25.664 2337
+-118.928 25.664 2350
+-118.802 25.664 2351
+-118.676 25.664 2367
+-118.55 25.664 2362
+-118.424 25.664 2378
+-118.298 25.664 2391
+-118.172 25.664 2400
+-118.046 25.664 2406
+-117.92 25.664 2407
+-117.794 25.664 2403
+-117.668 25.664 2393
+-117.542 25.664 2377
+-117.416 25.664 2357
+-117.29 25.664 2319
+-117.164 25.664 2302
+-117.038 25.664 2290
+-116.912 25.664 2287
+-116.786 25.664 2298
+-116.66 25.664 2319
+-116.534 25.664 2347
+-116.408 25.664 2370
+-116.282 25.664 2403
+-116.156 25.664 2429
+-116.03 25.664 2458
+-115.904 25.664 2483
+-115.778 25.664 2580
+-115.652 25.664 2611
+-115.526 25.664 2639
+-115.4 25.664 2675
+-115.274 25.664 2689
+-115.148 25.664 2701
+-115.022 25.664 2758
+-114.896 25.664 2759
+-114.77 25.664 2817
+-114.644 25.664 2829
+-114.518 25.664 2857
+-114.392 25.664 2853
+-114.266 25.664 2896
+-114.14 25.664 2906
+-114.014 25.664 2913
+-113.888 25.664 2917
+-113.762 25.664 2940
+-113.636 25.664 2946
+-113.51 25.664 2915
+-113.384 25.664 2911
+-113.258 25.664 2909
+-113.132 25.664 2902
+-113.006 25.664 2875
+-112.88 25.664 2865
+-112.754 25.664 2873
+-112.628 25.664 2878
+-112.502 25.664 2905
+-112.376 25.664 2960
+-112.25 25.664 3018
+-112.124 25.664 3092
+-111.998 25.664 3154
+-111.872 25.664 3189
+-111.746 25.664 3218
+-111.62 25.664 3232
+-111.494 25.664 3225
+-111.368 25.664 3228
+-111.242 25.664 3233
+-111.116 25.664 3257
+-110.99 25.664 3268
+-110.864 25.664 3277
+-110.738 25.664 3274
+-110.612 25.664 3277
+-110.486 25.664 3272
+-110.36 25.664 3264
+-110.234 25.664 3274
+-110.108 25.664 3255
+-109.982 25.664 3232
+-109.856 25.664 3214
+-109.73 25.664 3179
+-109.604 25.664 3140
+-109.478 25.664 3111
+-109.352 25.664 3083
+-109.226 25.664 3070
+-109.1 25.664 3055
+-108.974 25.664 3053
+-108.848 25.664 3052
+-108.722 25.664 3061
+-108.596 25.664 3060
+-108.47 25.664 3078
+-108.344 25.664 3095
+-108.218 25.664 3111
+-108.092 25.664 3123
+-107.966 25.664 3102
+-107.84 25.664 3114
+-107.714 25.664 3116
+-107.588 25.664 3114
+-107.462 25.664 3103
+-107.336 25.664 3097
+-107.21 25.664 3089
+-107.084 25.664 3118
+-106.958 25.664 3088
+-106.832 25.664 3006
+-106.706 25.664 2982
+-106.58 25.664 2957
+-106.454 25.664 2945
+-106.328 25.664 2922
+-106.202 25.664 2901
+-106.076 25.664 2898
+-105.95 25.664 2887
+-105.824 25.664 2880
+-105.698 25.664 2850
+-105.572 25.664 2881
+-105.446 25.664 2887
+-105.32 25.664 2895
+-105.194 25.664 2905
+-105.068 25.664 2915
+-104.942 25.664 2925
+-104.816 25.664 2937
+-104.69 25.664 2960
+-104.564 25.664 2972
+-104.438 25.664 2983
+-104.312 25.664 2994
+-104.186 25.664 2961
+-104.06 25.664 3054
+-103.934 25.664 3061
+-103.808 25.664 3083
+-103.682 25.664 3093
+-103.556 25.664 3180
+-103.43 25.664 3189
+-103.304 25.664 3199
+-103.178 25.664 3234
+-103.052 25.664 3231
+-102.926 25.664 3240
+-102.8 25.664 3241
+-102.674 25.664 3258
+-102.548 25.664 3256
+-102.422 25.664 3276
+-102.296 25.664 3285
+-102.17 25.664 3286
+-102.044 25.664 3288
+-101.918 25.664 3296
+-101.792 25.664 3288
+-101.666 25.664 3328
+-101.54 25.664 3336
+-101.414 25.664 3316
+-101.288 25.664 3322
+-101.162 25.664 3362
+-101.036 25.664 3370
+-100.91 25.664 3339
+-100.784 25.664 3318
+-100.658 25.664 3333
+-100.532 25.664 3199
+-100.406 25.664 3203
+-100.28 25.664 3262
+-100.154 25.664 3267
+-100.028 25.664 3221
+-99.902 25.664 3236
+-99.776 25.664 3241
+-99.65 25.664 3220
+-99.524 25.664 3224
+-99.398 25.664 3228
+-99.272 25.664 3233
+-99.146 25.664 3237
+-99.02 25.664 3240
+-98.894 25.664 3244
+-98.768 25.664 3176
+-98.642 25.664 3173
+-98.516 25.664 3176
+-98.39 25.664 3179
+-98.264 25.664 3163
+-98.138 25.664 3166
+-98.012 25.664 3119
+-97.886 25.664 3129
+-97.76 25.664 3129
+-97.634 25.664 3109
+-97.508 25.664 3115
+-97.382 25.664 2994
+-97.256 25.664 2993
+-97.13 25.664 2976
+-97.004 25.664 3010
+-96.878 25.664 2974
+-96.752 25.664 3048
+-96.626 25.664 3058
+-96.5 25.664 3065
+-96.374 25.664 3248
+-96.248 25.664 3294
+-96.122 25.664 3295
+-95.996 25.664 3436
+-95.87 25.664 3435
+-95.744 25.664 3433
+-95.618 25.664 3432
+-95.492 25.664 3431
+-95.366 25.664 3430
+-95.24 25.664 3429
+-95.114 25.664 3428
+-94.988 25.664 3427
+-94.862 25.664 3459
+-94.736 25.664 3458
+-94.61 25.664 3456
+-94.484 25.664 3454
+-94.358 25.664 3453
+-94.232 25.664 3451
+-94.106 25.664 3469
+-93.98 25.664 3467
+-93.854 25.664 3466
+-93.728 25.664 3465
+-93.602 25.664 3463
+-93.476 25.664 3462
+-93.35 25.664 3486
+-93.224 25.664 3501
+-93.098 25.664 3499
+-92.972 25.664 3498
+-92.846 25.664 3528
+-92.72 25.664 3527
+-92.594 25.664 3527
+-92.468 25.664 3527
+-92.342 25.664 3527
+-92.216 25.664 3527
+-92.09 25.664 3526
+-91.964 25.664 3526
+-91.838 25.664 3526
+-91.712 25.664 3526
+-91.586 25.664 3527
+-91.46 25.664 3527
+-91.334 25.664 3579
+-91.208 25.664 3580
+-91.082 25.664 3581
+-90.956 25.664 3582
+-90.83 25.664 3583
+-90.704 25.664 3585
+-90.578 25.664 3586
+-90.452 25.664 3645
+-90.326 25.664 3643
+-90.2 25.664 3715
+-90.074 25.664 3712
+-89.948 25.664 3709
+-89.822 25.664 3763
+-89.696 25.664 3757
+-89.57 25.664 3751
+-89.444 25.664 3751
+-89.318 25.664 3772
+-89.192 25.664 3898
+-89.066 25.664 3889
+-88.94 25.664 3879
+-88.814 25.664 3903
+-88.688 25.664 3898
+-88.562 25.664 3888
+-88.436 25.664 3873
+-88.31 25.664 3857
+-88.184 25.664 3843
+-88.058 25.664 3831
+-87.932 25.664 3853
+-87.806 25.664 3899
+-87.68 25.664 3928
+-87.554 25.664 3999
+-87.428 25.664 4079
+-87.302 25.664 4148
+-87.176 25.664 4208
+-87.05 25.664 4295
+-86.924 25.664 4351
+-86.798 25.664 4362
+-86.672 25.664 4367
+-86.546 25.664 4529
+-86.42 25.664 4667
+-86.294 25.664 4671
+-86.168 25.664 4849
+-86.042 25.664 4951
+-85.916 25.664 5111
+-85.79 25.664 5316
+-85.664 25.664 5442
+-85.538 25.664 5418
+-85.412 25.664 5585
+-85.286 25.664 5646
+-85.16 25.664 5756
+-85.034 25.664 5836
+-84.908 25.664 6019
+-84.782 25.664 6154
+-84.656 25.664 6233
+-84.53 25.664 6322
+-84.404 25.664 6454
+-84.278 25.664 6537
+-84.152 25.664 6599
+-84.026 25.664 6718
+-83.9 25.664 6845
+-83.774 25.664 6867
+-83.648 25.664 6994
+-83.522 25.664 7058
+-83.396 25.664 7121
+-83.27 25.664 7162
+-83.144 25.664 7255
+-83.018 25.664 7317
+-82.892 25.664 7362
+-82.766 25.664 7372
+-82.64 25.664 7450
+-82.514 25.664 7442
+-82.388 25.664 7462
+-82.262 25.664 7506
+-82.136 25.664 7465
+-82.01 25.664 7456
+-81.884 25.664 7453
+-81.758 25.664 7432
+-81.632 25.664 7401
+-81.506 25.664 7378
+-81.38 25.664 7326
+-81.254 25.664 7271
+-81.128 25.664 7197
+-81.002 25.664 7130
+-80.876 25.664 7087
+-80.75 25.664 7036
+-80.624 25.664 6917
+-80.498 25.664 6827
+-80.372 25.664 6708
+-80.246 25.664 6623
+-80.12 25.664 6577
+-79.994 25.664 6421
+-79.868 25.664 6315
+-79.742 25.664 6192
+-79.616 25.664 6035
+-79.49 25.664 5991
+-79.364 25.664 5888
+-79.238 25.664 5759
+-79.112 25.664 5645
+-78.986 25.664 5581
+-78.86 25.664 5526
+-78.734 25.664 5392
+-78.608 25.664 5242
+-78.482 25.664 5105
+-78.356 25.664 5057
+-78.23 25.664 5001
+-78.104 25.664 4906
+-77.978 25.664 4886
+-77.852 25.664 4815
+-77.726 25.664 4669
+-77.6 25.664 4488
+-77.474 25.664 4261
+-77.348 25.664 4048
+-77.222 25.664 3938
+-77.096 25.664 3943
+-76.97 25.664 3908
+-76.844 25.664 3762
+-76.718 25.664 3551
+-76.592 25.664 3445
+-76.466 25.664 3435
+-76.34 25.664 3521
+-76.214 25.664 3568
+-76.088 25.664 3625
+-75.962 25.664 3681
+-75.836 25.664 3691
+-75.71 25.664 3710
+-75.584 25.664 3619
+-75.458 25.664 3553
+-75.332 25.664 3537
+-75.206 25.664 3489
+-75.08 25.664 3424
+-74.954 25.664 3402
+-74.828 25.664 3276
+-74.702 25.664 3248
+-74.576 25.664 3207
+-74.45 25.664 3126
+-74.324 25.664 3105
+-74.198 25.664 3087
+-74.072 25.664 3072
+-73.946 25.664 2999
+-73.82 25.664 2942
+-73.694 25.664 2936
+-73.568 25.664 2934
+-73.442 25.664 2853
+-73.316 25.664 2856
+-73.19 25.664 2848
+-73.064 25.664 2822
+-72.938 25.664 2792
+-72.812 25.664 2798
+-72.686 25.664 2789
+-72.56 25.664 2796
+-72.434 25.664 2803
+-72.308 25.664 2811
+-72.182 25.664 2818
+-72.056 25.664 2826
+-71.93 25.664 2833
+-71.804 25.664 2840
+-71.678 25.664 2847
+-71.552 25.664 2854
+-71.426 25.664 2861
+-71.3 25.664 2867
+-71.174 25.664 2873
+-71.048 25.664 2879
+-70.922 25.664 2885
+-70.796 25.664 2890
+-70.67 25.664 2895
+-70.544 25.664 2900
+-70.418 25.664 2905
+-70.292 25.664 2910
+-70.166 25.664 2851
+-70.04 25.664 2856
+-69.914 25.664 2861
+-69.788 25.664 2866
+-69.662 25.664 2870
+-69.536 25.664 2874
+-69.41 25.664 2835
+-69.284 25.664 2840
+-69.158 25.664 2833
+-69.032 25.664 2831
+-68.906 25.664 2806
+-68.78 25.664 2810
+-68.654 25.664 2814
+-68.528 25.664 2818
+-68.402 25.664 2822
+-68.276 25.664 2825
+-68.15 25.664 2828
+-68.024 25.664 2832
+-67.898 25.664 2835
+-67.772 25.664 2838
+-67.646 25.664 2841
+-67.52 25.664 2844
+-67.394 25.664 2846
+-67.268 25.664 2849
+-67.142 25.664 2851
+-67.016 25.664 2854
+-66.89 25.664 2856
+-66.764 25.664 2859
+-66.638 25.664 2861
+-66.512 25.664 2863
+-66.386 25.664 2865
+-66.26 25.664 2867
+-66.134 25.664 2869
+-66.008 25.664 2871
+-65.882 25.664 2873
+-65.756 25.664 2875
+-65.63 25.664 2866
+-65.504 25.664 2868
+-65.378 25.664 2870
+-65.252 25.664 2872
+-65.126 25.664 2874
+-128 25.612 3511
+-127.874 25.612 3501
+-127.748 25.612 3536
+-127.622 25.612 3535
+-127.496 25.612 3578
+-127.37 25.612 3550
+-127.244 25.612 3549
+-127.118 25.612 3549
+-126.992 25.612 3587
+-126.866 25.612 3586
+-126.74 25.612 3347
+-126.614 25.612 3355
+-126.488 25.612 3375
+-126.362 25.612 3270
+-126.236 25.612 3266
+-126.11 25.612 3248
+-125.984 25.612 3317
+-125.858 25.612 3280
+-125.732 25.612 3276
+-125.606 25.612 3300
+-125.48 25.612 3195
+-125.354 25.612 3198
+-125.228 25.612 3226
+-125.102 25.612 3216
+-124.976 25.612 3210
+-124.85 25.612 3205
+-124.724 25.612 3117
+-124.598 25.612 3114
+-124.472 25.612 3032
+-124.346 25.612 3038
+-124.22 25.612 3037
+-124.094 25.612 3031
+-123.968 25.612 2992
+-123.842 25.612 2985
+-123.716 25.612 2977
+-123.59 25.612 2992
+-123.464 25.612 2969
+-123.338 25.612 2960
+-123.212 25.612 2911
+-123.086 25.612 2901
+-122.96 25.612 2942
+-122.834 25.612 2901
+-122.708 25.612 2879
+-122.582 25.612 2789
+-122.456 25.612 2809
+-122.33 25.612 2797
+-122.204 25.612 2784
+-122.078 25.612 2769
+-121.952 25.612 2755
+-121.826 25.612 2739
+-121.7 25.612 2675
+-121.574 25.612 2663
+-121.448 25.612 2646
+-121.322 25.612 2606
+-121.196 25.612 2577
+-121.07 25.612 2551
+-120.944 25.612 2531
+-120.818 25.612 2491
+-120.692 25.612 2470
+-120.566 25.612 2437
+-120.44 25.612 2411
+-120.314 25.612 2379
+-120.188 25.612 2358
+-120.062 25.612 2333
+-119.936 25.612 2314
+-119.81 25.612 2298
+-119.684 25.612 2285
+-119.558 25.612 2277
+-119.432 25.612 2273
+-119.306 25.612 2235
+-119.18 25.612 2243
+-119.054 25.612 2255
+-118.928 25.612 2259
+-118.802 25.612 2279
+-118.676 25.612 2280
+-118.55 25.612 2303
+-118.424 25.612 2325
+-118.298 25.612 2345
+-118.172 25.612 2362
+-118.046 25.612 2374
+-117.92 25.612 2382
+-117.794 25.612 2385
+-117.668 25.612 2383
+-117.542 25.612 2376
+-117.416 25.612 2347
+-117.29 25.612 2338
+-117.164 25.612 2329
+-117.038 25.612 2324
+-116.912 25.612 2327
+-116.786 25.612 2336
+-116.66 25.612 2353
+-116.534 25.612 2365
+-116.408 25.612 2391
+-116.282 25.612 2412
+-116.156 25.612 2439
+-116.03 25.612 2468
+-115.904 25.612 2493
+-115.778 25.612 2578
+-115.652 25.612 2628
+-115.526 25.612 2665
+-115.4 25.612 2681
+-115.274 25.612 2694
+-115.148 25.612 2719
+-115.022 25.612 2732
+-114.896 25.612 2779
+-114.77 25.612 2826
+-114.644 25.612 2829
+-114.518 25.612 2849
+-114.392 25.612 2850
+-114.266 25.612 2904
+-114.14 25.612 2913
+-114.014 25.612 2889
+-113.888 25.612 2895
+-113.762 25.612 2941
+-113.636 25.612 2932
+-113.51 25.612 2927
+-113.384 25.612 2921
+-113.258 25.612 2910
+-113.132 25.612 2909
+-113.006 25.612 2903
+-112.88 25.612 2896
+-112.754 25.612 2897
+-112.628 25.612 2907
+-112.502 25.612 2938
+-112.376 25.612 2972
+-112.25 25.612 3028
+-112.124 25.612 3080
+-111.998 25.612 3154
+-111.872 25.612 3189
+-111.746 25.612 3211
+-111.62 25.612 3208
+-111.494 25.612 3213
+-111.368 25.612 3218
+-111.242 25.612 3227
+-111.116 25.612 3249
+-110.99 25.612 3256
+-110.864 25.612 3228
+-110.738 25.612 3227
+-110.612 25.612 3251
+-110.486 25.612 3244
+-110.36 25.612 3233
+-110.234 25.612 3222
+-110.108 25.612 3223
+-109.982 25.612 3200
+-109.856 25.612 3173
+-109.73 25.612 3153
+-109.604 25.612 3119
+-109.478 25.612 3085
+-109.352 25.612 3047
+-109.226 25.612 3008
+-109.1 25.612 2964
+-108.974 25.612 2934
+-108.848 25.612 2943
+-108.722 25.612 2966
+-108.596 25.612 2982
+-108.47 25.612 3004
+-108.344 25.612 3029
+-108.218 25.612 3051
+-108.092 25.612 3070
+-107.966 25.612 3086
+-107.84 25.612 3066
+-107.714 25.612 3081
+-107.588 25.612 3085
+-107.462 25.612 3085
+-107.336 25.612 3076
+-107.21 25.612 3071
+-107.084 25.612 3065
+-106.958 25.612 3098
+-106.832 25.612 3071
+-106.706 25.612 2991
+-106.58 25.612 2972
+-106.454 25.612 2952
+-106.328 25.612 2947
+-106.202 25.612 2930
+-106.076 25.612 2916
+-105.95 25.612 2920
+-105.824 25.612 2914
+-105.698 25.612 2910
+-105.572 25.612 2881
+-105.446 25.612 2915
+-105.32 25.612 2920
+-105.194 25.612 2927
+-105.068 25.612 2936
+-104.942 25.612 2944
+-104.816 25.612 2952
+-104.69 25.612 2961
+-104.564 25.612 2984
+-104.438 25.612 2994
+-104.312 25.612 3003
+-104.186 25.612 3012
+-104.06 25.612 2977
+-103.934 25.612 3072
+-103.808 25.612 3078
+-103.682 25.612 3098
+-103.556 25.612 3108
+-103.43 25.612 3196
+-103.304 25.612 3205
+-103.178 25.612 3214
+-103.052 25.612 3249
+-102.926 25.612 3244
+-102.8 25.612 3253
+-102.674 25.612 3253
+-102.548 25.612 3270
+-102.422 25.612 3267
+-102.296 25.612 3288
+-102.17 25.612 3296
+-102.044 25.612 3296
+-101.918 25.612 3298
+-101.792 25.612 3305
+-101.666 25.612 3296
+-101.54 25.612 3337
+-101.414 25.612 3344
+-101.288 25.612 3323
+-101.162 25.612 3330
+-101.036 25.612 3370
+-100.91 25.612 3377
+-100.784 25.612 3345
+-100.658 25.612 3324
+-100.532 25.612 3339
+-100.406 25.612 3203
+-100.28 25.612 3208
+-100.154 25.612 3267
+-100.028 25.612 3272
+-99.902 25.612 3225
+-99.776 25.612 3240
+-99.65 25.612 3245
+-99.524 25.612 3223
+-99.398 25.612 3227
+-99.272 25.612 3232
+-99.146 25.612 3235
+-99.02 25.612 3239
+-98.894 25.612 3243
+-98.768 25.612 3247
+-98.642 25.612 3178
+-98.516 25.612 3175
+-98.39 25.612 3178
+-98.264 25.612 3181
+-98.138 25.612 3165
+-98.012 25.612 3117
+-97.886 25.612 3118
+-97.76 25.612 3128
+-97.634 25.612 3128
+-97.508 25.612 3008
+-97.382 25.612 2993
+-97.256 25.612 2992
+-97.13 25.612 2975
+-97.004 25.612 2933
+-96.878 25.612 2974
+-96.752 25.612 2997
+-96.626 25.612 3059
+-96.5 25.612 3065
+-96.374 25.612 3248
+-96.248 25.612 3294
+-96.122 25.612 3295
+-95.996 25.612 3435
+-95.87 25.612 3434
+-95.744 25.612 3433
+-95.618 25.612 3431
+-95.492 25.612 3430
+-95.366 25.612 3429
+-95.24 25.612 3428
+-95.114 25.612 3427
+-94.988 25.612 3460
+-94.862 25.612 3458
+-94.736 25.612 3456
+-94.61 25.612 3455
+-94.484 25.612 3453
+-94.358 25.612 3451
+-94.232 25.612 3469
+-94.106 25.612 3468
+-93.98 25.612 3466
+-93.854 25.612 3465
+-93.728 25.612 3463
+-93.602 25.612 3462
+-93.476 25.612 3487
+-93.35 25.612 3501
+-93.224 25.612 3500
+-93.098 25.612 3498
+-92.972 25.612 3527
+-92.846 25.612 3527
+-92.72 25.612 3526
+-92.594 25.612 3526
+-92.468 25.612 3526
+-92.342 25.612 3526
+-92.216 25.612 3525
+-92.09 25.612 3525
+-91.964 25.612 3525
+-91.838 25.612 3525
+-91.712 25.612 3525
+-91.586 25.612 3525
+-91.46 25.612 3578
+-91.334 25.612 3578
+-91.208 25.612 3579
+-91.082 25.612 3579
+-90.956 25.612 3580
+-90.83 25.612 3581
+-90.704 25.612 3581
+-90.578 25.612 3638
+-90.452 25.612 3636
+-90.326 25.612 3634
+-90.2 25.612 3632
+-90.074 25.612 3702
+-89.948 25.612 3720
+-89.822 25.612 3715
+-89.696 25.612 3710
+-89.57 25.612 3732
+-89.444 25.612 3763
+-89.318 25.612 3755
+-89.192 25.612 3847
+-89.066 25.612 3839
+-88.94 25.612 3846
+-88.814 25.612 3861
+-88.688 25.612 3881
+-88.562 25.612 3866
+-88.436 25.612 3849
+-88.31 25.612 3833
+-88.184 25.612 3818
+-88.058 25.612 3835
+-87.932 25.612 3850
+-87.806 25.612 3863
+-87.68 25.612 3906
+-87.554 25.612 3980
+-87.428 25.612 4044
+-87.302 25.612 4126
+-87.176 25.612 4187
+-87.05 25.612 4234
+-86.924 25.612 4304
+-86.798 25.612 4316
+-86.672 25.612 4254
+-86.546 25.612 4444
+-86.42 25.612 4593
+-86.294 25.612 4691
+-86.168 25.612 4832
+-86.042 25.612 4967
+-85.916 25.612 5146
+-85.79 25.612 5330
+-85.664 25.612 5446
+-85.538 25.612 5506
+-85.412 25.612 5525
+-85.286 25.612 5633
+-85.16 25.612 5726
+-85.034 25.612 5787
+-84.908 25.612 5932
+-84.782 25.612 6139
+-84.656 25.612 6196
+-84.53 25.612 6229
+-84.404 25.612 6387
+-84.278 25.612 6498
+-84.152 25.612 6568
+-84.026 25.612 6666
+-83.9 25.612 6802
+-83.774 25.612 6902
+-83.648 25.612 6953
+-83.522 25.612 7014
+-83.396 25.612 7051
+-83.27 25.612 7153
+-83.144 25.612 7203
+-83.018 25.612 7287
+-82.892 25.612 7297
+-82.766 25.612 7346
+-82.64 25.612 7373
+-82.514 25.612 7372
+-82.388 25.612 7435
+-82.262 25.612 7418
+-82.136 25.612 7411
+-82.01 25.612 7429
+-81.884 25.612 7369
+-81.758 25.612 7392
+-81.632 25.612 7352
+-81.506 25.612 7333
+-81.38 25.612 7276
+-81.254 25.612 7212
+-81.128 25.612 7139
+-81.002 25.612 7084
+-80.876 25.612 7036
+-80.75 25.612 6947
+-80.624 25.612 6877
+-80.498 25.612 6740
+-80.372 25.612 6647
+-80.246 25.612 6598
+-80.12 25.612 6489
+-79.994 25.612 6366
+-79.868 25.612 6240
+-79.742 25.612 6175
+-79.616 25.612 6007
+-79.49 25.612 5943
+-79.364 25.612 5858
+-79.238 25.612 5747
+-79.112 25.612 5649
+-78.986 25.612 5516
+-78.86 25.612 5466
+-78.734 25.612 5327
+-78.608 25.612 5173
+-78.482 25.612 4994
+-78.356 25.612 5007
+-78.23 25.612 4911
+-78.104 25.612 4892
+-77.978 25.612 4861
+-77.852 25.612 4822
+-77.726 25.612 4643
+-77.6 25.612 4506
+-77.474 25.612 4313
+-77.348 25.612 4135
+-77.222 25.612 4028
+-77.096 25.612 3957
+-76.97 25.612 3810
+-76.844 25.612 3570
+-76.718 25.612 3306
+-76.592 25.612 3171
+-76.466 25.612 3247
+-76.34 25.612 3357
+-76.214 25.612 3476
+-76.088 25.612 3566
+-75.962 25.612 3627
+-75.836 25.612 3634
+-75.71 25.612 3635
+-75.584 25.612 3640
+-75.458 25.612 3531
+-75.332 25.612 3456
+-75.206 25.612 3410
+-75.08 25.612 3380
+-74.954 25.612 3348
+-74.828 25.612 3322
+-74.702 25.612 3193
+-74.576 25.612 3163
+-74.45 25.612 3077
+-74.324 25.612 3041
+-74.198 25.612 3022
+-74.072 25.612 2947
+-73.946 25.612 2928
+-73.82 25.612 2921
+-73.694 25.612 2881
+-73.568 25.612 2880
+-73.442 25.612 2883
+-73.316 25.612 2808
+-73.19 25.612 2816
+-73.064 25.612 2813
+-72.938 25.612 2790
+-72.812 25.612 2764
+-72.686 25.612 2774
+-72.56 25.612 2767
+-72.434 25.612 2777
+-72.308 25.612 2786
+-72.182 25.612 2796
+-72.056 25.612 2805
+-71.93 25.612 2814
+-71.804 25.612 2823
+-71.678 25.612 2831
+-71.552 25.612 2839
+-71.426 25.612 2846
+-71.3 25.612 2854
+-71.174 25.612 2861
+-71.048 25.612 2867
+-70.922 25.612 2874
+-70.796 25.612 2880
+-70.67 25.612 2886
+-70.544 25.612 2891
+-70.418 25.612 2897
+-70.292 25.612 2902
+-70.166 25.612 2906
+-70.04 25.612 2849
+-69.914 25.612 2854
+-69.788 25.612 2859
+-69.662 25.612 2863
+-69.536 25.612 2868
+-69.41 25.612 2872
+-69.284 25.612 2832
+-69.158 25.612 2838
+-69.032 25.612 2831
+-68.906 25.612 2830
+-68.78 25.612 2805
+-68.654 25.612 2809
+-68.528 25.612 2813
+-68.402 25.612 2816
+-68.276 25.612 2820
+-68.15 25.612 2824
+-68.024 25.612 2827
+-67.898 25.612 2830
+-67.772 25.612 2833
+-67.646 25.612 2836
+-67.52 25.612 2839
+-67.394 25.612 2842
+-67.268 25.612 2845
+-67.142 25.612 2848
+-67.016 25.612 2850
+-66.89 25.612 2853
+-66.764 25.612 2855
+-66.638 25.612 2858
+-66.512 25.612 2860
+-66.386 25.612 2862
+-66.26 25.612 2864
+-66.134 25.612 2866
+-66.008 25.612 2868
+-65.882 25.612 2870
+-65.756 25.612 2872
+-65.63 25.612 2874
+-65.504 25.612 2865
+-65.378 25.612 2867
+-65.252 25.612 2869
+-65.126 25.612 2871
+-128 25.56 3502
+-127.874 25.56 3537
+-127.748 25.56 3536
+-127.622 25.56 3579
+-127.496 25.56 3551
+-127.37 25.56 3550
+-127.244 25.56 3550
+-127.118 25.56 3588
+-126.992 25.56 3587
+-126.866 25.56 3346
+-126.74 25.56 3354
+-126.614 25.56 3374
+-126.488 25.56 3269
+-126.362 25.56 3265
+-126.236 25.56 3247
+-126.11 25.56 3316
+-125.984 25.56 3279
+-125.858 25.56 3275
+-125.732 25.56 3298
+-125.606 25.56 3193
+-125.48 25.56 3197
+-125.354 25.56 3225
+-125.228 25.56 3215
+-125.102 25.56 3210
+-124.976 25.56 3204
+-124.85 25.56 3115
+-124.724 25.56 3112
+-124.598 25.56 3031
+-124.472 25.56 3036
+-124.346 25.56 3036
+-124.22 25.56 3029
+-124.094 25.56 2990
+-123.968 25.56 2983
+-123.842 25.56 2976
+-123.716 25.56 2991
+-123.59 25.56 2967
+-123.464 25.56 2958
+-123.338 25.56 2909
+-123.212 25.56 2900
+-123.086 25.56 2941
+-122.96 25.56 2900
+-122.834 25.56 2878
+-122.708 25.56 2787
+-122.582 25.56 2807
+-122.456 25.56 2795
+-122.33 25.56 2781
+-122.204 25.56 2767
+-122.078 25.56 2751
+-121.952 25.56 2735
+-121.826 25.56 2670
+-121.7 25.56 2658
+-121.574 25.56 2640
+-121.448 25.56 2598
+-121.322 25.56 2568
+-121.196 25.56 2540
+-121.07 25.56 2518
+-120.944 25.56 2476
+-120.818 25.56 2452
+-120.692 25.56 2415
+-120.566 25.56 2385
+-120.44 25.56 2347
+-120.314 25.56 2320
+-120.188 25.56 2288
+-120.062 25.56 2260
+-119.936 25.56 2235
+-119.81 25.56 2212
+-119.684 25.56 2193
+-119.558 25.56 2179
+-119.432 25.56 2133
+-119.306 25.56 2134
+-119.18 25.56 2141
+-119.054 25.56 2144
+-118.928 25.56 2165
+-118.802 25.56 2170
+-118.676 25.56 2201
+-118.55 25.56 2232
+-118.424 25.56 2263
+-118.298 25.56 2291
+-118.172 25.56 2316
+-118.046 25.56 2337
+-117.92 25.56 2353
+-117.794 25.56 2364
+-117.668 25.56 2369
+-117.542 25.56 2350
+-117.416 25.56 2350
+-117.29 25.56 2349
+-117.164 25.56 2347
+-117.038 25.56 2349
+-116.912 25.56 2354
+-116.786 25.56 2364
+-116.66 25.56 2368
+-116.534 25.56 2387
+-116.408 25.56 2401
+-116.282 25.56 2424
+-116.156 25.56 2450
+-116.03 25.56 2458
+-115.904 25.56 2486
+-115.778 25.56 2518
+-115.652 25.56 2622
+-115.526 25.56 2659
+-115.4 25.56 2674
+-115.274 25.56 2712
+-115.148 25.56 2726
+-115.022 25.56 2739
+-114.896 25.56 2751
+-114.77 25.56 2788
+-114.644 25.56 2819
+-114.518 25.56 2846
+-114.392 25.56 2890
+-114.266 25.56 2900
+-114.14 25.56 2886
+-114.014 25.56 2894
+-113.888 25.56 2899
+-113.762 25.56 2918
+-113.636 25.56 2942
+-113.51 25.56 2939
+-113.384 25.56 2949
+-113.258 25.56 2933
+-113.132 25.56 2929
+-113.006 25.56 2923
+-112.88 25.56 2924
+-112.754 25.56 2929
+-112.628 25.56 2934
+-112.502 25.56 2970
+-112.376 25.56 2991
+-112.25 25.56 3020
+-112.124 25.56 3065
+-111.998 25.56 3096
+-111.872 25.56 3144
+-111.746 25.56 3160
+-111.62 25.56 3153
+-111.494 25.56 3199
+-111.368 25.56 3209
+-111.242 25.56 3216
+-111.116 25.56 3221
+-110.99 25.56 3207
+-110.864 25.56 3205
+-110.738 25.56 3200
+-110.612 25.56 3204
+-110.486 25.56 3212
+-110.36 25.56 3199
+-110.234 25.56 3184
+-110.108 25.56 3169
+-109.982 25.56 3165
+-109.856 25.56 3138
+-109.73 25.56 3108
+-109.604 25.56 3061
+-109.478 25.56 3021
+-109.352 25.56 2969
+-109.226 25.56 2901
+-109.1 25.56 2831
+-108.974 25.56 2798
+-108.848 25.56 2810
+-108.722 25.56 2840
+-108.596 25.56 2868
+-108.47 25.56 2935
+-108.344 25.56 2961
+-108.218 25.56 2989
+-108.092 25.56 3014
+-107.966 25.56 3036
+-107.84 25.56 3055
+-107.714 25.56 3037
+-107.588 25.56 3054
+-107.462 25.56 3060
+-107.336 25.56 3061
+-107.21 25.56 3054
+-107.084 25.56 3051
+-106.958 25.56 3047
+-106.832 25.56 3084
+-106.706 25.56 3061
+-106.58 25.56 2983
+-106.454 25.56 2968
+-106.328 25.56 2953
+-106.202 25.56 2953
+-106.076 25.56 2941
+-105.95 25.56 2932
+-105.824 25.56 2941
+-105.698 25.56 2937
+-105.572 25.56 2936
+-105.446 25.56 2906
+-105.32 25.56 2943
+-105.194 25.56 2948
+-105.068 25.56 2954
+-104.942 25.56 2961
+-104.816 25.56 2968
+-104.69 25.56 2974
+-104.564 25.56 2982
+-104.438 25.56 3004
+-104.312 25.56 3012
+-104.186 25.56 3020
+-104.06 25.56 3029
+-103.934 25.56 2991
+-103.808 25.56 3088
+-103.682 25.56 3092
+-103.556 25.56 3113
+-103.43 25.56 3121
+-103.304 25.56 3212
+-103.178 25.56 3220
+-103.052 25.56 3228
+-102.926 25.56 3263
+-102.8 25.56 3258
+-102.674 25.56 3266
+-102.548 25.56 3265
+-102.422 25.56 3282
+-102.296 25.56 3277
+-102.17 25.56 3299
+-102.044 25.56 3306
+-101.918 25.56 3306
+-101.792 25.56 3307
+-101.666 25.56 3313
+-101.54 25.56 3304
+-101.414 25.56 3345
+-101.288 25.56 3352
+-101.162 25.56 3330
+-101.036 25.56 3337
+-100.91 25.56 3377
+-100.784 25.56 3384
+-100.658 25.56 3351
+-100.532 25.56 3329
+-100.406 25.56 3345
+-100.28 25.56 3207
+-100.154 25.56 3212
+-100.028 25.56 3271
+-99.902 25.56 3276
+-99.776 25.56 3229
+-99.65 25.56 3244
+-99.524 25.56 3249
+-99.398 25.56 3227
+-99.272 25.56 3231
+-99.146 25.56 3235
+-99.02 25.56 3238
+-98.894 25.56 3242
+-98.768 25.56 3246
+-98.642 25.56 3249
+-98.516 25.56 3181
+-98.39 25.56 3177
+-98.264 25.56 3180
+-98.138 25.56 3088
+-98.012 25.56 3057
+-97.886 25.56 3116
+-97.76 25.56 3116
+-97.634 25.56 3126
+-97.508 25.56 3007
+-97.382 25.56 3011
+-97.256 25.56 2975
+-97.13 25.56 2974
+-97.004 25.56 2933
+-96.878 25.56 2974
+-96.752 25.56 2997
+-96.626 25.56 3059
+-96.5 25.56 3066
+-96.374 25.56 3247
+-96.248 25.56 3293
+-96.122 25.56 3294
+-95.996 25.56 3434
+-95.87 25.56 3433
+-95.744 25.56 3432
+-95.618 25.56 3430
+-95.492 25.56 3429
+-95.366 25.56 3428
+-95.24 25.56 3427
+-95.114 25.56 3460
+-94.988 25.56 3458
+-94.862 25.56 3457
+-94.736 25.56 3455
+-94.61 25.56 3453
+-94.484 25.56 3451
+-94.358 25.56 3470
+-94.232 25.56 3468
+-94.106 25.56 3467
+-93.98 25.56 3465
+-93.854 25.56 3464
+-93.728 25.56 3462
+-93.602 25.56 3487
+-93.476 25.56 3502
+-93.35 25.56 3500
+-93.224 25.56 3498
+-93.098 25.56 3527
+-92.972 25.56 3526
+-92.846 25.56 3526
+-92.72 25.56 3525
+-92.594 25.56 3525
+-92.468 25.56 3525
+-92.342 25.56 3524
+-92.216 25.56 3524
+-92.09 25.56 3523
+-91.964 25.56 3523
+-91.838 25.56 3523
+-91.712 25.56 3522
+-91.586 25.56 3576
+-91.46 25.56 3576
+-91.334 25.56 3576
+-91.208 25.56 3577
+-91.082 25.56 3577
+-90.956 25.56 3577
+-90.83 25.56 3578
+-90.704 25.56 3633
+-90.578 25.56 3630
+-90.452 25.56 3628
+-90.326 25.56 3626
+-90.2 25.56 3697
+-90.074 25.56 3713
+-89.948 25.56 3707
+-89.822 25.56 3702
+-89.696 25.56 3724
+-89.57 25.56 3716
+-89.444 25.56 3718
+-89.318 25.56 3839
+-89.192 25.56 3830
+-89.066 25.56 3837
+-88.94 25.56 3812
+-88.814 25.56 3828
+-88.688 25.56 3822
+-88.562 25.56 3838
+-88.436 25.56 3818
+-88.31 25.56 3797
+-88.184 25.56 3802
+-88.058 25.56 3791
+-87.932 25.56 3779
+-87.806 25.56 3784
+-87.68 25.56 3815
+-87.554 25.56 3891
+-87.428 25.56 3982
+-87.302 25.56 4085
+-87.176 25.56 4136
+-87.05 25.56 4167
+-86.924 25.56 4210
+-86.798 25.56 4274
+-86.672 25.56 4341
+-86.546 25.56 4476
+-86.42 25.56 4511
+-86.294 25.56 4633
+-86.168 25.56 4800
+-86.042 25.56 4988
+-85.916 25.56 5154
+-85.79 25.56 5309
+-85.664 25.56 5426
+-85.538 25.56 5509
+-85.412 25.56 5568
+-85.286 25.56 5642
+-85.16 25.56 5714
+-85.034 25.56 5775
+-84.908 25.56 5901
+-84.782 25.56 6077
+-84.656 25.56 6179
+-84.53 25.56 6272
+-84.404 25.56 6357
+-84.278 25.56 6451
+-84.152 25.56 6564
+-84.026 25.56 6638
+-83.9 25.56 6749
+-83.774 25.56 6868
+-83.648 25.56 6920
+-83.522 25.56 6972
+-83.396 25.56 7022
+-83.27 25.56 7090
+-83.144 25.56 7144
+-83.018 25.56 7231
+-82.892 25.56 7247
+-82.766 25.56 7281
+-82.64 25.56 7323
+-82.514 25.56 7343
+-82.388 25.56 7360
+-82.262 25.56 7348
+-82.136 25.56 7365
+-82.01 25.56 7375
+-81.884 25.56 7353
+-81.758 25.56 7335
+-81.632 25.56 7319
+-81.506 25.56 7249
+-81.38 25.56 7175
+-81.254 25.56 7158
+-81.128 25.56 7083
+-81.002 25.56 7012
+-80.876 25.56 6971
+-80.75 25.56 6849
+-80.624 25.56 6819
+-80.498 25.56 6695
+-80.372 25.56 6632
+-80.246 25.56 6552
+-80.12 25.56 6460
+-79.994 25.56 6333
+-79.868 25.56 6235
+-79.742 25.56 6135
+-79.616 25.56 5992
+-79.49 25.56 5904
+-79.364 25.56 5848
+-79.238 25.56 5722
+-79.112 25.56 5580
+-78.986 25.56 5530
+-78.86 25.56 5412
+-78.734 25.56 5247
+-78.608 25.56 5217
+-78.482 25.56 5086
+-78.356 25.56 4952
+-78.23 25.56 4750
+-78.104 25.56 4861
+-77.978 25.56 4862
+-77.852 25.56 4794
+-77.726 25.56 4652
+-77.6 25.56 4491
+-77.474 25.56 4311
+-77.348 25.56 4176
+-77.222 25.56 4005
+-77.096 25.56 3890
+-76.97 25.56 3716
+-76.844 25.56 3482
+-76.718 25.56 3186
+-76.592 25.56 3041
+-76.466 25.56 3152
+-76.34 25.56 3317
+-76.214 25.56 3431
+-76.088 25.56 3517
+-75.962 25.56 3567
+-75.836 25.56 3573
+-75.71 25.56 3588
+-75.584 25.56 3563
+-75.458 25.56 3510
+-75.332 25.56 3446
+-75.206 25.56 3366
+-75.08 25.56 3331
+-74.954 25.56 3294
+-74.828 25.56 3153
+-74.702 25.56 3141
+-74.576 25.56 3053
+-74.45 25.56 3022
+-74.324 25.56 2979
+-74.198 25.56 2889
+-74.072 25.56 2866
+-73.946 25.56 2857
+-73.82 25.56 2853
+-73.694 25.56 2853
+-73.568 25.56 2821
+-73.442 25.56 2827
+-73.316 25.56 2836
+-73.19 25.56 2767
+-73.064 25.56 2780
+-72.938 25.56 2756
+-72.812 25.56 2763
+-72.686 25.56 2741
+-72.56 25.56 2753
+-72.434 25.56 2721
+-72.308 25.56 2732
+-72.182 25.56 2743
+-72.056 25.56 2784
+-71.93 25.56 2794
+-71.804 25.56 2804
+-71.678 25.56 2814
+-71.552 25.56 2823
+-71.426 25.56 2832
+-71.3 25.56 2840
+-71.174 25.56 2848
+-71.048 25.56 2856
+-70.922 25.56 2863
+-70.796 25.56 2870
+-70.67 25.56 2876
+-70.544 25.56 2882
+-70.418 25.56 2888
+-70.292 25.56 2894
+-70.166 25.56 2899
+-70.04 25.56 2904
+-69.914 25.56 2846
+-69.788 25.56 2852
+-69.662 25.56 2857
+-69.536 25.56 2861
+-69.41 25.56 2866
+-69.284 25.56 2870
+-69.158 25.56 2831
+-69.032 25.56 2836
+-68.906 25.56 2830
+-68.78 25.56 2828
+-68.654 25.56 2803
+-68.528 25.56 2807
+-68.402 25.56 2811
+-68.276 25.56 2815
+-68.15 25.56 2819
+-68.024 25.56 2822
+-67.898 25.56 2826
+-67.772 25.56 2829
+-67.646 25.56 2832
+-67.52 25.56 2835
+-67.394 25.56 2838
+-67.268 25.56 2841
+-67.142 25.56 2844
+-67.016 25.56 2847
+-66.89 25.56 2849
+-66.764 25.56 2852
+-66.638 25.56 2854
+-66.512 25.56 2857
+-66.386 25.56 2859
+-66.26 25.56 2861
+-66.134 25.56 2863
+-66.008 25.56 2865
+-65.882 25.56 2867
+-65.756 25.56 2869
+-65.63 25.56 2871
+-65.504 25.56 2873
+-65.378 25.56 2864
+-65.252 25.56 2866
+-65.126 25.56 2868
+-128 25.508 3538
+-127.874 25.508 3537
+-127.748 25.508 3580
+-127.622 25.508 3552
+-127.496 25.508 3551
+-127.37 25.508 3551
+-127.244 25.508 3589
+-127.118 25.508 3589
+-126.992 25.508 3345
+-126.866 25.508 3353
+-126.74 25.508 3373
+-126.614 25.508 3268
+-126.488 25.508 3264
+-126.362 25.508 3246
+-126.236 25.508 3315
+-126.11 25.508 3278
+-125.984 25.508 3274
+-125.858 25.508 3298
+-125.732 25.508 3192
+-125.606 25.508 3196
+-125.48 25.508 3224
+-125.354 25.508 3215
+-125.228 25.508 3209
+-125.102 25.508 3203
+-124.976 25.508 3114
+-124.85 25.508 3111
+-124.724 25.508 3030
+-124.598 25.508 3035
+-124.472 25.508 3035
+-124.346 25.508 3028
+-124.22 25.508 2989
+-124.094 25.508 2982
+-123.968 25.508 2975
+-123.842 25.508 2990
+-123.716 25.508 2966
+-123.59 25.508 2958
+-123.464 25.508 2908
+-123.338 25.508 2899
+-123.212 25.508 2941
+-123.086 25.508 2900
+-122.96 25.508 2877
+-122.834 25.508 2785
+-122.708 25.508 2806
+-122.582 25.508 2793
+-122.456 25.508 2780
+-122.33 25.508 2765
+-122.204 25.508 2750
+-122.078 25.508 2733
+-121.952 25.508 2668
+-121.826 25.508 2655
+-121.7 25.508 2636
+-121.574 25.508 2594
+-121.448 25.508 2563
+-121.322 25.508 2533
+-121.196 25.508 2510
+-121.07 25.508 2465
+-120.944 25.508 2439
+-120.818 25.508 2399
+-120.692 25.508 2365
+-120.566 25.508 2322
+-120.44 25.508 2289
+-120.314 25.508 2251
+-120.188 25.508 2214
+-120.062 25.508 2179
+-119.936 25.508 2145
+-119.81 25.508 2113
+-119.684 25.508 2085
+-119.558 25.508 2028
+-119.432 25.508 2016
+-119.306 25.508 2013
+-119.18 25.508 2008
+-119.054 25.508 2026
+-118.928 25.508 2032
+-118.802 25.508 2067
+-118.676 25.508 2107
+-118.55 25.508 2149
+-118.424 25.508 2191
+-118.298 25.508 2229
+-118.172 25.508 2264
+-118.046 25.508 2294
+-117.92 25.508 2319
+-117.794 25.508 2337
+-117.668 25.508 2330
+-117.542 25.508 2340
+-117.416 25.508 2347
+-117.29 25.508 2353
+-117.164 25.508 2358
+-117.038 25.508 2365
+-116.912 25.508 2373
+-116.786 25.508 2372
+-116.66 25.508 2387
+-116.534 25.508 2395
+-116.408 25.508 2414
+-116.282 25.508 2436
+-116.156 25.508 2443
+-116.03 25.508 2469
+-115.904 25.508 2490
+-115.778 25.508 2509
+-115.652 25.508 2617
+-115.526 25.508 2667
+-115.4 25.508 2704
+-115.274 25.508 2719
+-115.148 25.508 2732
+-115.022 25.508 2733
+-114.896 25.508 2747
+-114.77 25.508 2787
+-114.644 25.508 2820
+-114.518 25.508 2886
+-114.392 25.508 2897
+-114.266 25.508 2871
+-114.14 25.508 2890
+-114.014 25.508 2860
+-113.888 25.508 2884
+-113.762 25.508 2889
+-113.636 25.508 2894
+-113.51 25.508 2932
+-113.384 25.508 2903
+-113.258 25.508 2928
+-113.132 25.508 2941
+-113.006 25.508 2942
+-112.88 25.508 2945
+-112.754 25.508 2946
+-112.628 25.508 2956
+-112.502 25.508 2987
+-112.376 25.508 3005
+-112.25 25.508 3016
+-112.124 25.508 3037
+-111.998 25.508 3084
+-111.872 25.508 3130
+-111.746 25.508 3122
+-111.62 25.508 3127
+-111.494 25.508 3137
+-111.368 25.508 3144
+-111.242 25.508 3147
+-111.116 25.508 3132
+-110.99 25.508 3128
+-110.864 25.508 3136
+-110.738 25.508 3128
+-110.612 25.508 3119
+-110.486 25.508 3109
+-110.36 25.508 3114
+-110.234 25.508 3101
+-110.108 25.508 3086
+-109.982 25.508 3085
+-109.856 25.508 3063
+-109.73 25.508 3034
+-109.604 25.508 3005
+-109.478 25.508 2957
+-109.352 25.508 2890
+-109.226 25.508 2808
+-109.1 25.508 2719
+-108.974 25.508 2679
+-108.848 25.508 2706
+-108.722 25.508 2762
+-108.596 25.508 2808
+-108.47 25.508 2832
+-108.344 25.508 2884
+-108.218 25.508 2924
+-108.092 25.508 2955
+-107.966 25.508 2984
+-107.84 25.508 3009
+-107.714 25.508 3031
+-107.588 25.508 3015
+-107.462 25.508 3034
+-107.336 25.508 3041
+-107.21 25.508 3043
+-107.084 25.508 3038
+-106.958 25.508 3037
+-106.832 25.508 3035
+-106.706 25.508 3075
+-106.58 25.508 3055
+-106.454 25.508 2979
+-106.328 25.508 2967
+-106.202 25.508 2957
+-106.076 25.508 2961
+-105.95 25.508 2953
+-105.824 25.508 2947
+-105.698 25.508 2960
+-105.572 25.508 2958
+-105.446 25.508 2959
+-105.32 25.508 2927
+-105.194 25.508 2966
+-105.068 25.508 2970
+-104.942 25.508 2976
+-104.816 25.508 2982
+-104.69 25.508 2988
+-104.564 25.508 2993
+-104.438 25.508 3000
+-104.312 25.508 3021
+-104.186 25.508 3028
+-104.06 25.508 3036
+-103.934 25.508 3043
+-103.808 25.508 3003
+-103.682 25.508 3103
+-103.556 25.508 3106
+-103.43 25.508 3126
+-103.304 25.508 3134
+-103.178 25.508 3226
+-103.052 25.508 3234
+-102.926 25.508 3241
+-102.8 25.508 3276
+-102.674 25.508 3269
+-102.548 25.508 3277
+-102.422 25.508 3276
+-102.296 25.508 3293
+-102.17 25.508 3288
+-102.044 25.508 3309
+-101.918 25.508 3316
+-101.792 25.508 3315
+-101.666 25.508 3315
+-101.54 25.508 3322
+-101.414 25.508 3312
+-101.288 25.508 3353
+-101.162 25.508 3360
+-101.036 25.508 3337
+-100.91 25.508 3343
+-100.784 25.508 3384
+-100.658 25.508 3391
+-100.532 25.508 3357
+-100.406 25.508 3335
+-100.28 25.508 3350
+-100.154 25.508 3212
+-100.028 25.508 3216
+-99.902 25.508 3276
+-99.776 25.508 3280
+-99.65 25.508 3233
+-99.524 25.508 3248
+-99.398 25.508 3253
+-99.272 25.508 3230
+-99.146 25.508 3234
+-99.02 25.508 3237
+-98.894 25.508 3241
+-98.768 25.508 3245
+-98.642 25.508 3248
+-98.516 25.508 3251
+-98.39 25.508 3183
+-98.264 25.508 3179
+-98.138 25.508 3087
+-98.012 25.508 3087
+-97.886 25.508 3056
+-97.76 25.508 3115
+-97.634 25.508 3115
+-97.508 25.508 3006
+-97.382 25.508 3010
+-97.256 25.508 2974
+-97.13 25.508 2973
+-97.004 25.508 2933
+-96.878 25.508 2974
+-96.752 25.508 2997
+-96.626 25.508 3059
+-96.5 25.508 3066
+-96.374 25.508 3247
+-96.248 25.508 3293
+-96.122 25.508 3294
+-95.996 25.508 3433
+-95.87 25.508 3432
+-95.744 25.508 3431
+-95.618 25.508 3430
+-95.492 25.508 3428
+-95.366 25.508 3427
+-95.24 25.508 3460
+-95.114 25.508 3458
+-94.988 25.508 3457
+-94.862 25.508 3455
+-94.736 25.508 3453
+-94.61 25.508 3452
+-94.484 25.508 3470
+-94.358 25.508 3468
+-94.232 25.508 3467
+-94.106 25.508 3465
+-93.98 25.508 3464
+-93.854 25.508 3462
+-93.728 25.508 3488
+-93.602 25.508 3502
+-93.476 25.508 3500
+-93.35 25.508 3499
+-93.224 25.508 3526
+-93.098 25.508 3526
+-92.972 25.508 3525
+-92.846 25.508 3525
+-92.72 25.508 3524
+-92.594 25.508 3524
+-92.468 25.508 3523
+-92.342 25.508 3523
+-92.216 25.508 3522
+-92.09 25.508 3522
+-91.964 25.508 3521
+-91.838 25.508 3521
+-91.712 25.508 3574
+-91.586 25.508 3574
+-91.46 25.508 3574
+-91.334 25.508 3574
+-91.208 25.508 3574
+-91.082 25.508 3574
+-90.956 25.508 3574
+-90.83 25.508 3628
+-90.704 25.508 3625
+-90.578 25.508 3623
+-90.452 25.508 3620
+-90.326 25.508 3660
+-90.2 25.508 3707
+-90.074 25.508 3701
+-89.948 25.508 3695
+-89.822 25.508 3677
+-89.696 25.508 3709
+-89.57 25.508 3710
+-89.444 25.508 3833
+-89.318 25.508 3823
+-89.192 25.508 3829
+-89.066 25.508 3804
+-88.94 25.508 3790
+-88.814 25.508 3776
+-88.688 25.508 3767
+-88.562 25.508 3766
+-88.436 25.508 3782
+-88.31 25.508 3763
+-88.184 25.508 3752
+-88.058 25.508 3713
+-87.932 25.508 3675
+-87.806 25.508 3654
+-87.68 25.508 3677
+-87.554 25.508 3762
+-87.428 25.508 3873
+-87.302 25.508 3982
+-87.176 25.508 4066
+-87.05 25.508 4060
+-86.924 25.508 4043
+-86.798 25.508 4166
+-86.672 25.508 4350
+-86.546 25.508 4489
+-86.42 25.508 4560
+-86.294 25.508 4642
+-86.168 25.508 4844
+-86.042 25.508 4993
+-85.916 25.508 5143
+-85.79 25.508 5285
+-85.664 25.508 5402
+-85.538 25.508 5506
+-85.412 25.508 5574
+-85.286 25.508 5646
+-85.16 25.508 5674
+-85.034 25.508 5733
+-84.908 25.508 5837
+-84.782 25.508 6004
+-84.656 25.508 6111
+-84.53 25.508 6233
+-84.404 25.508 6303
+-84.278 25.508 6377
+-84.152 25.508 6505
+-84.026 25.508 6633
+-83.9 25.508 6697
+-83.774 25.508 6809
+-83.648 25.508 6874
+-83.522 25.508 6930
+-83.396 25.508 6968
+-83.27 25.508 7010
+-83.144 25.508 7084
+-83.018 25.508 7134
+-82.892 25.508 7192
+-82.766 25.508 7238
+-82.64 25.508 7260
+-82.514 25.508 7287
+-82.388 25.508 7284
+-82.262 25.508 7310
+-82.136 25.508 7303
+-82.01 25.508 7315
+-81.884 25.508 7308
+-81.758 25.508 7287
+-81.632 25.508 7252
+-81.506 25.508 7210
+-81.38 25.508 7152
+-81.254 25.508 7111
+-81.128 25.508 7031
+-81.002 25.508 6996
+-80.876 25.508 6942
+-80.75 25.508 6838
+-80.624 25.508 6772
+-80.498 25.508 6684
+-80.372 25.508 6581
+-80.246 25.508 6491
+-80.12 25.508 6437
+-79.994 25.508 6301
+-79.868 25.508 6234
+-79.742 25.508 6093
+-79.616 25.508 5968
+-79.49 25.508 5919
+-79.364 25.508 5815
+-79.238 25.508 5700
+-79.112 25.508 5556
+-78.986 25.508 5480
+-78.86 25.508 5412
+-78.734 25.508 5294
+-78.608 25.508 5203
+-78.482 25.508 5111
+-78.356 25.508 4998
+-78.23 25.508 4886
+-78.104 25.508 4910
+-77.978 25.508 4882
+-77.852 25.508 4807
+-77.726 25.508 4615
+-77.6 25.508 4446
+-77.474 25.508 4311
+-77.348 25.508 4081
+-77.222 25.508 3946
+-77.096 25.508 3793
+-76.97 25.508 3663
+-76.844 25.508 3500
+-76.718 25.508 3286
+-76.592 25.508 3164
+-76.466 25.508 3232
+-76.34 25.508 3343
+-76.214 25.508 3425
+-76.088 25.508 3494
+-75.962 25.508 3537
+-75.836 25.508 3553
+-75.71 25.508 3518
+-75.584 25.508 3477
+-75.458 25.508 3472
+-75.332 25.508 3400
+-75.206 25.508 3365
+-75.08 25.508 3260
+-74.954 25.508 3129
+-74.828 25.508 3084
+-74.702 25.508 3040
+-74.576 25.508 3000
+-74.45 25.508 2899
+-74.324 25.508 2837
+-74.198 25.508 2775
+-74.072 25.508 2753
+-73.946 25.508 2741
+-73.82 25.508 2739
+-73.694 25.508 2743
+-73.568 25.508 2751
+-73.442 25.508 2766
+-73.316 25.508 2779
+-73.19 25.508 2795
+-73.064 25.508 2732
+-72.938 25.508 2750
+-72.812 25.508 2731
+-72.686 25.508 2740
+-72.56 25.508 2721
+-72.434 25.508 2737
+-72.308 25.508 2707
+-72.182 25.508 2720
+-72.056 25.508 2733
+-71.93 25.508 2745
+-71.804 25.508 2756
+-71.678 25.508 2767
+-71.552 25.508 2777
+-71.426 25.508 2786
+-71.3 25.508 2795
+-71.174 25.508 2804
+-71.048 25.508 2812
+-70.922 25.508 2819
+-70.796 25.508 2827
+-70.67 25.508 2833
+-70.544 25.508 2840
+-70.418 25.508 2846
+-70.292 25.508 2852
+-70.166 25.508 2857
+-70.04 25.508 2897
+-69.914 25.508 2902
+-69.788 25.508 2845
+-69.662 25.508 2850
+-69.536 25.508 2855
+-69.41 25.508 2860
+-69.284 25.508 2865
+-69.158 25.508 2869
+-69.032 25.508 2829
+-68.906 25.508 2835
+-68.78 25.508 2828
+-68.654 25.508 2827
+-68.528 25.508 2802
+-68.402 25.508 2806
+-68.276 25.508 2810
+-68.15 25.508 2814
+-68.024 25.508 2818
+-67.898 25.508 2821
+-67.772 25.508 2825
+-67.646 25.508 2828
+-67.52 25.508 2831
+-67.394 25.508 2834
+-67.268 25.508 2837
+-67.142 25.508 2840
+-67.016 25.508 2843
+-66.89 25.508 2846
+-66.764 25.508 2848
+-66.638 25.508 2851
+-66.512 25.508 2853
+-66.386 25.508 2856
+-66.26 25.508 2858
+-66.134 25.508 2860
+-66.008 25.508 2863
+-65.882 25.508 2865
+-65.756 25.508 2867
+-65.63 25.508 2869
+-65.504 25.508 2871
+-65.378 25.508 2873
+-65.252 25.508 2863
+-65.126 25.508 2865
+-128 25.456 3538
+-127.874 25.456 3581
+-127.748 25.456 3553
+-127.622 25.456 3552
+-127.496 25.456 3552
+-127.37 25.456 3590
+-127.244 25.456 3590
+-127.118 25.456 3344
+-126.992 25.456 3352
+-126.866 25.456 3372
+-126.74 25.456 3267
+-126.614 25.456 3264
+-126.488 25.456 3245
+-126.362 25.456 3314
+-126.236 25.456 3277
+-126.11 25.456 3273
+-125.984 25.456 3297
+-125.858 25.456 3192
+-125.732 25.456 3195
+-125.606 25.456 3224
+-125.48 25.456 3214
+-125.354 25.456 3209
+-125.228 25.456 3202
+-125.102 25.456 3114
+-124.976 25.456 3111
+-124.85 25.456 3029
+-124.724 25.456 3035
+-124.598 25.456 3035
+-124.472 25.456 3028
+-124.346 25.456 2989
+-124.22 25.456 2982
+-124.094 25.456 2974
+-123.968 25.456 2990
+-123.842 25.456 2966
+-123.716 25.456 2957
+-123.59 25.456 2908
+-123.464 25.456 2898
+-123.338 25.456 2942
+-123.212 25.456 2900
+-123.086 25.456 2877
+-122.96 25.456 2785
+-122.834 25.456 2806
+-122.708 25.456 2793
+-122.582 25.456 2780
+-122.456 25.456 2765
+-122.33 25.456 2750
+-122.204 25.456 2733
+-122.078 25.456 2666
+-121.952 25.456 2654
+-121.826 25.456 2635
+-121.7 25.456 2591
+-121.574 25.456 2560
+-121.448 25.456 2529
+-121.322 25.456 2505
+-121.196 25.456 2459
+-121.07 25.456 2431
+-120.944 25.456 2389
+-120.818 25.456 2352
+-120.692 25.456 2306
+-120.566 25.456 2268
+-120.44 25.456 2224
+-120.314 25.456 2180
+-120.188 25.456 2136
+-120.062 25.456 2090
+-119.936 25.456 2045
+-119.81 25.456 2002
+-119.684 25.456 1930
+-119.558 25.456 1900
+-119.432 25.456 1879
+-119.306 25.456 1860
+-119.18 25.456 1867
+-119.054 25.456 1867
+-118.928 25.456 1901
+-118.802 25.456 1946
+-118.676 25.456 1998
+-118.55 25.456 2053
+-118.424 25.456 2107
+-118.298 25.456 2159
+-118.172 25.456 2205
+-118.046 25.456 2246
+-117.92 25.456 2279
+-117.794 25.456 2284
+-117.668 25.456 2307
+-117.542 25.456 2325
+-117.416 25.456 2339
+-117.29 25.456 2352
+-117.164 25.456 2362
+-117.038 25.456 2373
+-116.912 25.456 2371
+-116.786 25.456 2384
+-116.66 25.456 2390
+-116.534 25.456 2406
+-116.408 25.456 2425
+-116.282 25.456 2429
+-116.156 25.456 2454
+-116.03 25.456 2474
+-115.904 25.456 2493
+-115.778 25.456 2530
+-115.652 25.456 2548
+-115.526 25.456 2661
+-115.4 25.456 2711
+-115.274 25.456 2725
+-115.148 25.456 2723
+-115.022 25.456 2737
+-114.896 25.456 2808
+-114.77 25.456 2806
+-114.644 25.456 2845
+-114.518 25.456 2893
+-114.392 25.456 2864
+-114.266 25.456 2814
+-114.14 25.456 2824
+-114.014 25.456 2876
+-113.888 25.456 2859
+-113.762 25.456 2866
+-113.636 25.456 2871
+-113.51 25.456 2914
+-113.384 25.456 2901
+-113.258 25.456 2902
+-113.132 25.456 2905
+-113.006 25.456 2908
+-112.88 25.456 2904
+-112.754 25.456 2935
+-112.628 25.456 2945
+-112.502 25.456 2998
+-112.376 25.456 3001
+-112.25 25.456 3015
+-112.124 25.456 3029
+-111.998 25.456 3049
+-111.872 25.456 3094
+-111.746 25.456 3098
+-111.62 25.456 3108
+-111.494 25.456 3115
+-111.368 25.456 3119
+-111.242 25.456 3103
+-111.116 25.456 3071
+-110.99 25.456 3065
+-110.864 25.456 3069
+-110.738 25.456 3059
+-110.612 25.456 3047
+-110.486 25.456 3035
+-110.36 25.456 3049
+-110.234 25.456 3052
+-110.108 25.456 3037
+-109.982 25.456 3021
+-109.856 25.456 3016
+-109.73 25.456 2988
+-109.604 25.456 2952
+-109.478 25.456 2908
+-109.352 25.456 2839
+-109.226 25.456 2753
+-109.1 25.456 2673
+-108.974 25.456 2639
+-108.848 25.456 2663
+-108.722 25.456 2705
+-108.596 25.456 2750
+-108.47 25.456 2778
+-108.344 25.456 2792
+-108.218 25.456 2847
+-108.092 25.456 2893
+-107.966 25.456 2929
+-107.84 25.456 2963
+-107.714 25.456 2992
+-107.588 25.456 3016
+-107.462 25.456 3000
+-107.336 25.456 3019
+-107.21 25.456 3027
+-107.084 25.456 3031
+-106.958 25.456 3026
+-106.832 25.456 3027
+-106.706 25.456 3027
+-106.58 25.456 3071
+-106.454 25.456 3054
+-106.328 25.456 2978
+-106.202 25.456 2970
+-106.076 25.456 2963
+-105.95 25.456 2970
+-105.824 25.456 2965
+-105.698 25.456 2962
+-105.572 25.456 2977
+-105.446 25.456 2977
+-105.32 25.456 2978
+-105.194 25.456 2945
+-105.068 25.456 2985
+-104.942 25.456 2990
+-104.816 25.456 2995
+-104.69 25.456 3000
+-104.564 25.456 3005
+-104.438 25.456 3009
+-104.312 25.456 3015
+-104.186 25.456 3036
+-104.06 25.456 3042
+-103.934 25.456 3049
+-103.808 25.456 3055
+-103.682 25.456 3014
+-103.556 25.456 3116
+-103.43 25.456 3118
+-103.304 25.456 3138
+-103.178 25.456 3145
+-103.052 25.456 3239
+-102.926 25.456 3246
+-102.8 25.456 3253
+-102.674 25.456 3288
+-102.548 25.456 3282
+-102.422 25.456 3288
+-102.296 25.456 3286
+-102.17 25.456 3303
+-102.044 25.456 3297
+-101.918 25.456 3318
+-101.792 25.456 3325
+-101.666 25.456 3324
+-101.54 25.456 3323
+-101.414 25.456 3330
+-101.288 25.456 3319
+-101.162 25.456 3361
+-101.036 25.456 3367
+-100.91 25.456 3344
+-100.784 25.456 3350
+-100.658 25.456 3391
+-100.532 25.456 3397
+-100.406 25.456 3363
+-100.28 25.456 3340
+-100.154 25.456 3356
+-100.028 25.456 3216
+-99.902 25.456 3220
+-99.776 25.456 3280
+-99.65 25.456 3284
+-99.524 25.456 3236
+-99.398 25.456 3252
+-99.272 25.456 3256
+-99.146 25.456 3233
+-99.02 25.456 3237
+-98.894 25.456 3240
+-98.768 25.456 3244
+-98.642 25.456 3247
+-98.516 25.456 3251
+-98.39 25.456 3254
+-98.264 25.456 3185
+-98.138 25.456 3086
+-98.012 25.456 3086
+-97.886 25.456 3086
+-97.76 25.456 3055
+-97.634 25.456 3114
+-97.508 25.456 3005
+-97.382 25.456 3004
+-97.256 25.456 2973
+-97.13 25.456 2973
+-97.004 25.456 2933
+-96.878 25.456 2974
+-96.752 25.456 2998
+-96.626 25.456 3060
+-96.5 25.456 3200
+-96.374 25.456 3247
+-96.248 25.456 3293
+-96.122 25.456 3433
+-95.996 25.456 3432
+-95.87 25.456 3431
+-95.744 25.456 3430
+-95.618 25.456 3429
+-95.492 25.456 3427
+-95.366 25.456 3460
+-95.24 25.456 3459
+-95.114 25.456 3457
+-94.988 25.456 3455
+-94.862 25.456 3454
+-94.736 25.456 3452
+-94.61 25.456 3470
+-94.484 25.456 3469
+-94.358 25.456 3467
+-94.232 25.456 3466
+-94.106 25.456 3464
+-93.98 25.456 3463
+-93.854 25.456 3488
+-93.728 25.456 3502
+-93.602 25.456 3501
+-93.476 25.456 3499
+-93.35 25.456 3526
+-93.224 25.456 3525
+-93.098 25.456 3525
+-92.972 25.456 3524
+-92.846 25.456 3524
+-92.72 25.456 3523
+-92.594 25.456 3522
+-92.468 25.456 3522
+-92.342 25.456 3521
+-92.216 25.456 3520
+-92.09 25.456 3520
+-91.964 25.456 3519
+-91.838 25.456 3525
+-91.712 25.456 3526
+-91.586 25.456 3526
+-91.46 25.456 3527
+-91.334 25.456 3527
+-91.208 25.456 3527
+-91.082 25.456 3527
+-90.956 25.456 3623
+-90.83 25.456 3621
+-90.704 25.456 3618
+-90.578 25.456 3615
+-90.452 25.456 3656
+-90.326 25.456 3663
+-90.2 25.456 3658
+-90.074 25.456 3653
+-89.948 25.456 3671
+-89.822 25.456 3664
+-89.696 25.456 3672
+-89.57 25.456 3665
+-89.444 25.456 3818
+-89.318 25.456 3809
+-89.192 25.456 3797
+-89.066 25.456 3784
+-88.94 25.456 3768
+-88.814 25.456 3751
+-88.688 25.456 3731
+-88.562 25.456 3734
+-88.436 25.456 3721
+-88.31 25.456 3695
+-88.184 25.456 3685
+-88.058 25.456 3620
+-87.932 25.456 3541
+-87.806 25.456 3463
+-87.68 25.456 3463
+-87.554 25.456 3567
+-87.428 25.456 3750
+-87.302 25.456 3908
+-87.176 25.456 3994
+-87.05 25.456 3983
+-86.924 25.456 3921
+-86.798 25.456 4061
+-86.672 25.456 4289
+-86.546 25.456 4463
+-86.42 25.456 4596
+-86.294 25.456 4671
+-86.168 25.456 4820
+-86.042 25.456 4966
+-85.916 25.456 5127
+-85.79 25.456 5262
+-85.664 25.456 5358
+-85.538 25.456 5464
+-85.412 25.456 5585
+-85.286 25.456 5621
+-85.16 25.456 5581
+-85.034 25.456 5682
+-84.908 25.456 5790
+-84.782 25.456 5939
+-84.656 25.456 6055
+-84.53 25.456 6168
+-84.404 25.456 6256
+-84.278 25.456 6350
+-84.152 25.456 6414
+-84.026 25.456 6526
+-83.9 25.456 6624
+-83.774 25.456 6748
+-83.648 25.456 6790
+-83.522 25.456 6847
+-83.396 25.456 6900
+-83.27 25.456 6984
+-83.144 25.456 7036
+-83.018 25.456 7075
+-82.892 25.456 7126
+-82.766 25.456 7163
+-82.64 25.456 7205
+-82.514 25.456 7207
+-82.388 25.456 7247
+-82.262 25.456 7267
+-82.136 25.456 7263
+-82.01 25.456 7235
+-81.884 25.456 7217
+-81.758 25.456 7200
+-81.632 25.456 7179
+-81.506 25.456 7140
+-81.38 25.456 7091
+-81.254 25.456 7046
+-81.128 25.456 6976
+-81.002 25.456 6951
+-80.876 25.456 6881
+-80.75 25.456 6767
+-80.624 25.456 6711
+-80.498 25.456 6627
+-80.372 25.456 6512
+-80.246 25.456 6441
+-80.12 25.456 6371
+-79.994 25.456 6245
+-79.868 25.456 6110
+-79.742 25.456 6054
+-79.616 25.456 5935
+-79.49 25.456 5914
+-79.364 25.456 5786
+-79.238 25.456 5645
+-79.112 25.456 5509
+-78.986 25.456 5422
+-78.86 25.456 5356
+-78.734 25.456 5264
+-78.608 25.456 5131
+-78.482 25.456 5012
+-78.356 25.456 5012
+-78.23 25.456 4981
+-78.104 25.456 4921
+-77.978 25.456 4860
+-77.852 25.456 4794
+-77.726 25.456 4589
+-77.6 25.456 4411
+-77.474 25.456 4186
+-77.348 25.456 4034
+-77.222 25.456 3866
+-77.096 25.456 3707
+-76.97 25.456 3587
+-76.844 25.456 3528
+-76.718 25.456 3440
+-76.592 25.456 3368
+-76.466 25.456 3386
+-76.34 25.456 3390
+-76.214 25.456 3455
+-76.088 25.456 3473
+-75.962 25.456 3500
+-75.836 25.456 3480
+-75.71 25.456 3460
+-75.584 25.456 3433
+-75.458 25.456 3405
+-75.332 25.456 3341
+-75.206 25.456 3271
+-75.08 25.456 3221
+-74.954 25.456 3102
+-74.828 25.456 3004
+-74.702 25.456 2952
+-74.576 25.456 2848
+-74.45 25.456 2809
+-74.324 25.456 2772
+-74.198 25.456 2679
+-74.072 25.456 2667
+-73.946 25.456 2655
+-73.82 25.456 2654
+-73.694 25.456 2664
+-73.568 25.456 2678
+-73.442 25.456 2695
+-73.316 25.456 2686
+-73.19 25.456 2706
+-73.064 25.456 2727
+-72.938 25.456 2704
+-72.812 25.456 2725
+-72.686 25.456 2711
+-72.56 25.456 2722
+-72.434 25.456 2707
+-72.308 25.456 2724
+-72.182 25.456 2697
+-72.056 25.456 2712
+-71.93 25.456 2725
+-71.804 25.456 2738
+-71.678 25.456 2751
+-71.552 25.456 2762
+-71.426 25.456 2773
+-71.3 25.456 2783
+-71.174 25.456 2792
+-71.048 25.456 2801
+-70.922 25.456 2809
+-70.796 25.456 2817
+-70.67 25.456 2824
+-70.544 25.456 2831
+-70.418 25.456 2838
+-70.292 25.456 2844
+-70.166 25.456 2850
+-70.04 25.456 2856
+-69.914 25.456 2861
+-69.788 25.456 2866
+-69.662 25.456 2844
+-69.536 25.456 2849
+-69.41 25.456 2854
+-69.284 25.456 2859
+-69.158 25.456 2864
+-69.032 25.456 2868
+-68.906 25.456 2829
+-68.78 25.456 2834
+-68.654 25.456 2827
+-68.528 25.456 2826
+-68.402 25.456 2801
+-68.276 25.456 2805
+-68.15 25.456 2809
+-68.024 25.456 2813
+-67.898 25.456 2817
+-67.772 25.456 2820
+-67.646 25.456 2824
+-67.52 25.456 2827
+-67.394 25.456 2830
+-67.268 25.456 2834
+-67.142 25.456 2837
+-67.016 25.456 2840
+-66.89 25.456 2842
+-66.764 25.456 2845
+-66.638 25.456 2848
+-66.512 25.456 2850
+-66.386 25.456 2853
+-66.26 25.456 2855
+-66.134 25.456 2857
+-66.008 25.456 2860
+-65.882 25.456 2862
+-65.756 25.456 2864
+-65.63 25.456 2866
+-65.504 25.456 2868
+-65.378 25.456 2870
+-65.252 25.456 2872
+-65.126 25.456 2862
+-128 25.404 3582
+-127.874 25.404 3553
+-127.748 25.404 3553
+-127.622 25.404 3552
+-127.496 25.404 3591
+-127.37 25.404 3591
+-127.244 25.404 3343
+-127.118 25.404 3351
+-126.992 25.404 3371
+-126.866 25.404 3267
+-126.74 25.404 3263
+-126.614 25.404 3244
+-126.488 25.404 3314
+-126.362 25.404 3277
+-126.236 25.404 3272
+-126.11 25.404 3296
+-125.984 25.404 3191
+-125.858 25.404 3194
+-125.732 25.404 3223
+-125.606 25.404 3214
+-125.48 25.404 3208
+-125.354 25.404 3202
+-125.228 25.404 3113
+-125.102 25.404 3110
+-124.976 25.404 3028
+-124.85 25.404 3034
+-124.724 25.404 3035
+-124.598 25.404 3028
+-124.472 25.404 2988
+-124.346 25.404 2981
+-124.22 25.404 2974
+-124.094 25.404 2990
+-123.968 25.404 2966
+-123.842 25.404 2957
+-123.716 25.404 2908
+-123.59 25.404 2899
+-123.464 25.404 2943
+-123.338 25.404 2901
+-123.212 25.404 2878
+-123.086 25.404 2785
+-122.96 25.404 2807
+-122.834 25.404 2794
+-122.708 25.404 2781
+-122.582 25.404 2766
+-122.456 25.404 2751
+-122.33 25.404 2734
+-122.204 25.404 2667
+-122.078 25.404 2655
+-121.952 25.404 2635
+-121.826 25.404 2592
+-121.7 25.404 2560
+-121.574 25.404 2529
+-121.448 25.404 2504
+-121.322 25.404 2457
+-121.196 25.404 2428
+-121.07 25.404 2384
+-120.944 25.404 2346
+-120.818 25.404 2297
+-120.692 25.404 2257
+-120.566 25.404 2208
+-120.44 25.404 2159
+-120.314 25.404 2107
+-120.188 25.404 2053
+-120.062 25.404 1996
+-119.936 25.404 1937
+-119.81 25.404 1849
+-119.684 25.404 1798
+-119.558 25.404 1755
+-119.432 25.404 1714
+-119.306 25.404 1700
+-119.18 25.404 1685
+-119.054 25.404 1708
+-118.928 25.404 1750
+-118.802 25.404 1807
+-118.676 25.404 1873
+-118.55 25.404 1943
+-118.424 25.404 2013
+-118.298 25.404 2079
+-118.172 25.404 2139
+-118.046 25.404 2191
+-117.92 25.404 2212
+-117.794 25.404 2250
+-117.668 25.404 2281
+-117.542 25.404 2306
+-117.416 25.404 2327
+-117.29 25.404 2345
+-117.164 25.404 2361
+-117.038 25.404 2362
+-116.912 25.404 2377
+-116.786 25.404 2382
+-116.66 25.404 2397
+-116.534 25.404 2413
+-116.408 25.404 2416
+-116.282 25.404 2440
+-116.156 25.404 2459
+-116.03 25.404 2477
+-115.904 25.404 2513
+-115.778 25.404 2532
+-115.652 25.404 2550
+-115.526 25.404 2567
+-115.4 25.404 2681
+-115.274 25.404 2713
+-115.148 25.404 2727
+-115.022 25.404 2731
+-114.896 25.404 2727
+-114.77 25.404 2762
+-114.644 25.404 2802
+-114.518 25.404 2796
+-114.392 25.404 2802
+-114.266 25.404 2812
+-114.14 25.404 2821
+-114.014 25.404 2849
+-113.888 25.404 2856
+-113.762 25.404 2863
+-113.636 25.404 2887
+-113.51 25.404 2857
+-113.384 25.404 2900
+-113.258 25.404 2903
+-113.132 25.404 2906
+-113.006 25.404 2900
+-112.88 25.404 2926
+-112.754 25.404 2933
+-112.628 25.404 2935
+-112.502 25.404 2941
+-112.376 25.404 2938
+-112.25 25.404 3009
+-112.124 25.404 3024
+-111.998 25.404 3039
+-111.872 25.404 3071
+-111.746 25.404 3080
+-111.62 25.404 3086
+-111.494 25.404 3090
+-111.368 25.404 3057
+-111.242 25.404 3041
+-111.116 25.404 3034
+-110.99 25.404 3025
+-110.864 25.404 3014
+-110.738 25.404 3012
+-110.612 25.404 2997
+-110.486 25.404 2982
+-110.36 25.404 2968
+-110.234 25.404 2979
+-110.108 25.404 2981
+-109.982 25.404 2967
+-109.856 25.404 2951
+-109.73 25.404 2941
+-109.604 25.404 2909
+-109.478 25.404 2864
+-109.352 25.404 2812
+-109.226 25.404 2744
+-109.1 25.404 2685
+-108.974 25.404 2658
+-108.848 25.404 2664
+-108.722 25.404 2673
+-108.596 25.404 2675
+-108.47 25.404 2700
+-108.344 25.404 2727
+-108.218 25.404 2749
+-108.092 25.404 2818
+-107.966 25.404 2873
+-107.84 25.404 2916
+-107.714 25.404 2953
+-107.588 25.404 2983
+-107.462 25.404 3008
+-107.336 25.404 2991
+-107.21 25.404 3011
+-107.084 25.404 3019
+-106.958 25.404 3023
+-106.832 25.404 3019
+-106.706 25.404 3021
+-106.58 25.404 3022
+-106.454 25.404 3071
+-106.328 25.404 3056
+-106.202 25.404 2980
+-106.076 25.404 2975
+-105.95 25.404 2969
+-105.824 25.404 2980
+-105.698 25.404 2977
+-105.572 25.404 2975
+-105.446 25.404 2992
+-105.32 25.404 2993
+-105.194 25.404 2994
+-105.068 25.404 2960
+-104.942 25.404 3002
+-104.816 25.404 3006
+-104.69 25.404 3011
+-104.564 25.404 3015
+-104.438 25.404 3020
+-104.312 25.404 3023
+-104.186 25.404 3028
+-104.06 25.404 3049
+-103.934 25.404 3055
+-103.808 25.404 3061
+-103.682 25.404 3067
+-103.556 25.404 3024
+-103.43 25.404 3128
+-103.304 25.404 3129
+-103.178 25.404 3149
+-103.052 25.404 3156
+-102.926 25.404 3252
+-102.8 25.404 3258
+-102.674 25.404 3264
+-102.548 25.404 3300
+-102.422 25.404 3291
+-102.296 25.404 3299
+-102.17 25.404 3295
+-102.044 25.404 3312
+-101.918 25.404 3306
+-101.792 25.404 3327
+-101.666 25.404 3334
+-101.54 25.404 3332
+-101.414 25.404 3331
+-101.288 25.404 3337
+-101.162 25.404 3326
+-101.036 25.404 3368
+-100.91 25.404 3374
+-100.784 25.404 3350
+-100.658 25.404 3356
+-100.532 25.404 3398
+-100.406 25.404 3403
+-100.28 25.404 3369
+-100.154 25.404 3345
+-100.028 25.404 3361
+-99.902 25.404 3219
+-99.776 25.404 3223
+-99.65 25.404 3284
+-99.524 25.404 3288
+-99.398 25.404 3240
+-99.272 25.404 3256
+-99.146 25.404 3260
+-99.02 25.404 3236
+-98.894 25.404 3240
+-98.768 25.404 3243
+-98.642 25.404 3247
+-98.516 25.404 3250
+-98.39 25.404 3253
+-98.264 25.404 3256
+-98.138 25.404 3141
+-98.012 25.404 3085
+-97.886 25.404 3085
+-97.76 25.404 3085
+-97.634 25.404 3029
+-97.508 25.404 3055
+-97.382 25.404 3003
+-97.256 25.404 2972
+-97.13 25.404 2972
+-97.004 25.404 2971
+-96.878 25.404 3023
+-96.752 25.404 2998
+-96.626 25.404 3060
+-96.5 25.404 3200
+-96.374 25.404 3246
+-96.248 25.404 3386
+-96.122 25.404 3432
+-95.996 25.404 3431
+-95.87 25.404 3430
+-95.744 25.404 3429
+-95.618 25.404 3428
+-95.492 25.404 3461
+-95.366 25.404 3459
+-95.24 25.404 3457
+-95.114 25.404 3456
+-94.988 25.404 3454
+-94.862 25.404 3452
+-94.736 25.404 3470
+-94.61 25.404 3469
+-94.484 25.404 3468
+-94.358 25.404 3466
+-94.232 25.404 3465
+-94.106 25.404 3463
+-93.98 25.404 3488
+-93.854 25.404 3503
+-93.728 25.404 3501
+-93.602 25.404 3500
+-93.476 25.404 3526
+-93.35 25.404 3525
+-93.224 25.404 3524
+-93.098 25.404 3524
+-92.972 25.404 3523
+-92.846 25.404 3522
+-92.72 25.404 3522
+-92.594 25.404 3521
+-92.468 25.404 3520
+-92.342 25.404 3519
+-92.216 25.404 3519
+-92.09 25.404 3518
+-91.964 25.404 3524
+-91.838 25.404 3524
+-91.712 25.404 3524
+-91.586 25.404 3524
+-91.46 25.404 3525
+-91.334 25.404 3525
+-91.208 25.404 3525
+-91.082 25.404 3619
+-90.956 25.404 3617
+-90.83 25.404 3614
+-90.704 25.404 3610
+-90.578 25.404 3610
+-90.452 25.404 3658
+-90.326 25.404 3654
+-90.2 25.404 3648
+-90.074 25.404 3666
+-89.948 25.404 3659
+-89.822 25.404 3666
+-89.696 25.404 3659
+-89.57 25.404 3816
+-89.444 25.404 3805
+-89.318 25.404 3793
+-89.192 25.404 3779
+-89.066 25.404 3764
+-88.94 25.404 3747
+-88.814 25.404 3727
+-88.688 25.404 3705
+-88.562 25.404 3678
+-88.436 25.404 3662
+-88.31 25.404 3626
+-88.184 25.404 3590
+-88.058 25.404 3535
+-87.932 25.404 3409
+-87.806 25.404 3265
+-87.68 25.404 3197
+-87.554 25.404 3328
+-87.428 25.404 3604
+-87.302 25.404 3830
+-87.176 25.404 3960
+-87.05 25.404 4000
+-86.924 25.404 3998
+-86.798 25.404 4107
+-86.672 25.404 4294
+-86.546 25.404 4459
+-86.42 25.404 4576
+-86.294 25.404 4694
+-86.168 25.404 4775
+-86.042 25.404 4905
+-85.916 25.404 5047
+-85.79 25.404 5206
+-85.664 25.404 5314
+-85.538 25.404 5449
+-85.412 25.404 5548
+-85.286 25.404 5625
+-85.16 25.404 5647
+-85.034 25.404 5707
+-84.908 25.404 5810
+-84.782 25.404 5898
+-84.656 25.404 6004
+-84.53 25.404 6123
+-84.404 25.404 6242
+-84.278 25.404 6285
+-84.152 25.404 6385
+-84.026 25.404 6467
+-83.9 25.404 6562
+-83.774 25.404 6670
+-83.648 25.404 6758
+-83.522 25.404 6804
+-83.396 25.404 6877
+-83.27 25.404 6950
+-83.144 25.404 7001
+-83.018 25.404 7030
+-82.892 25.404 7048
+-82.766 25.404 7095
+-82.64 25.404 7166
+-82.514 25.404 7142
+-82.388 25.404 7154
+-82.262 25.404 7172
+-82.136 25.404 7176
+-82.01 25.404 7171
+-81.884 25.404 7163
+-81.758 25.404 7145
+-81.632 25.404 7124
+-81.506 25.404 7070
+-81.38 25.404 7011
+-81.254 25.404 7005
+-81.128 25.404 6960
+-81.002 25.404 6897
+-80.876 25.404 6787
+-80.75 25.404 6718
+-80.624 25.404 6685
+-80.498 25.404 6584
+-80.372 25.404 6493
+-80.246 25.404 6428
+-80.12 25.404 6322
+-79.994 25.404 6230
+-79.868 25.404 6155
+-79.742 25.404 6068
+-79.616 25.404 5976
+-79.49 25.404 5865
+-79.364 25.404 5701
+-79.238 25.404 5555
+-79.112 25.404 5434
+-78.986 25.404 5321
+-78.86 25.404 5302
+-78.734 25.404 5194
+-78.608 25.404 5057
+-78.482 25.404 4845
+-78.356 25.404 4964
+-78.23 25.404 4984
+-78.104 25.404 4901
+-77.978 25.404 4852
+-77.852 25.404 4714
+-77.726 25.404 4552
+-77.6 25.404 4333
+-77.474 25.404 4152
+-77.348 25.404 3976
+-77.222 25.404 3762
+-77.096 25.404 3550
+-76.97 25.404 3444
+-76.844 25.404 3471
+-76.718 25.404 3499
+-76.592 25.404 3488
+-76.466 25.404 3463
+-76.34 25.404 3466
+-76.214 25.404 3467
+-76.088 25.404 3492
+-75.962 25.404 3472
+-75.836 25.404 3469
+-75.71 25.404 3439
+-75.584 25.404 3413
+-75.458 25.404 3324
+-75.332 25.404 3264
+-75.206 25.404 3209
+-75.08 25.404 3147
+-74.954 25.404 3082
+-74.828 25.404 2894
+-74.702 25.404 2794
+-74.576 25.404 2740
+-74.45 25.404 2695
+-74.324 25.404 2662
+-74.198 25.404 2636
+-74.072 25.404 2558
+-73.946 25.404 2560
+-73.82 25.404 2563
+-73.694 25.404 2576
+-73.568 25.404 2597
+-73.442 25.404 2622
+-73.316 25.404 2649
+-73.19 25.404 2649
+-73.064 25.404 2675
+-72.938 25.404 2701
+-72.812 25.404 2683
+-72.686 25.404 2708
+-72.56 25.404 2697
+-72.434 25.404 2710
+-72.308 25.404 2697
+-72.182 25.404 2716
+-72.056 25.404 2690
+-71.93 25.404 2706
+-71.804 25.404 2721
+-71.678 25.404 2734
+-71.552 25.404 2747
+-71.426 25.404 2759
+-71.3 25.404 2770
+-71.174 25.404 2780
+-71.048 25.404 2790
+-70.922 25.404 2799
+-70.796 25.404 2808
+-70.67 25.404 2816
+-70.544 25.404 2823
+-70.418 25.404 2830
+-70.292 25.404 2837
+-70.166 25.404 2843
+-70.04 25.404 2849
+-69.914 25.404 2855
+-69.788 25.404 2860
+-69.662 25.404 2865
+-69.536 25.404 2843
+-69.41 25.404 2849
+-69.284 25.404 2854
+-69.158 25.404 2859
+-69.032 25.404 2863
+-68.906 25.404 2868
+-68.78 25.404 2828
+-68.654 25.404 2834
+-68.528 25.404 2827
+-68.402 25.404 2825
+-68.276 25.404 2800
+-68.15 25.404 2805
+-68.024 25.404 2809
+-67.898 25.404 2812
+-67.772 25.404 2816
+-67.646 25.404 2820
+-67.52 25.404 2823
+-67.394 25.404 2827
+-67.268 25.404 2830
+-67.142 25.404 2833
+-67.016 25.404 2836
+-66.89 25.404 2839
+-66.764 25.404 2842
+-66.638 25.404 2845
+-66.512 25.404 2847
+-66.386 25.404 2850
+-66.26 25.404 2852
+-66.134 25.404 2855
+-66.008 25.404 2857
+-65.882 25.404 2859
+-65.756 25.404 2861
+-65.63 25.404 2863
+-65.504 25.404 2866
+-65.378 25.404 2868
+-65.252 25.404 2870
+-65.126 25.404 2871
+-128 25.352 3554
+-127.874 25.352 3554
+-127.748 25.352 3553
+-127.622 25.352 3592
+-127.496 25.352 3592
+-127.37 25.352 3342
+-127.244 25.352 3351
+-127.118 25.352 3371
+-126.992 25.352 3266
+-126.866 25.352 3262
+-126.74 25.352 3244
+-126.614 25.352 3314
+-126.488 25.352 3276
+-126.362 25.352 3272
+-126.236 25.352 3296
+-126.11 25.352 3190
+-125.984 25.352 3194
+-125.858 25.352 3223
+-125.732 25.352 3213
+-125.606 25.352 3208
+-125.48 25.352 3202
+-125.354 25.352 3113
+-125.228 25.352 3110
+-125.102 25.352 3028
+-124.976 25.352 3034
+-124.85 25.352 3035
+-124.724 25.352 3028
+-124.598 25.352 2988
+-124.472 25.352 2982
+-124.346 25.352 2974
+-124.22 25.352 2990
+-124.094 25.352 2967
+-123.968 25.352 2958
+-123.842 25.352 2908
+-123.716 25.352 2899
+-123.59 25.352 2945
+-123.464 25.352 2903
+-123.338 25.352 2880
+-123.212 25.352 2786
+-123.086 25.352 2809
+-122.96 25.352 2796
+-122.834 25.352 2783
+-122.708 25.352 2768
+-122.582 25.352 2753
+-122.456 25.352 2737
+-122.33 25.352 2669
+-122.204 25.352 2657
+-122.078 25.352 2638
+-121.952 25.352 2594
+-121.826 25.352 2562
+-121.7 25.352 2531
+-121.574 25.352 2506
+-121.448 25.352 2459
+-121.322 25.352 2430
+-121.196 25.352 2385
+-121.07 25.352 2346
+-120.944 25.352 2296
+-120.818 25.352 2254
+-120.692 25.352 2203
+-120.566 25.352 2150
+-120.44 25.352 2094
+-120.314 25.352 2033
+-120.188 25.352 1968
+-120.062 25.352 1897
+-119.936 25.352 1795
+-119.81 25.352 1724
+-119.684 25.352 1657
+-119.558 25.352 1590
+-119.432 25.352 1546
+-119.306 25.352 1505
+-119.18 25.352 1505
+-119.054 25.352 1531
+-118.928 25.352 1582
+-118.802 25.352 1652
+-118.676 25.352 1735
+-118.55 25.352 1823
+-118.424 25.352 1911
+-118.298 25.352 1993
+-118.172 25.352 2067
+-118.046 25.352 2109
+-117.92 25.352 2165
+-117.794 25.352 2212
+-117.668 25.352 2251
+-117.542 25.352 2283
+-117.416 25.352 2311
+-117.29 25.352 2335
+-117.164 25.352 2342
+-117.038 25.352 2361
+-116.912 25.352 2368
+-116.786 25.352 2384
+-116.66 25.352 2400
+-116.534 25.352 2403
+-116.408 25.352 2426
+-116.282 25.352 2444
+-116.156 25.352 2462
+-116.03 25.352 2478
+-115.904 25.352 2515
+-115.778 25.352 2533
+-115.652 25.352 2586
+-115.526 25.352 2606
+-115.4 25.352 2665
+-115.274 25.352 2717
+-115.148 25.352 2721
+-115.022 25.352 2717
+-114.896 25.352 2751
+-114.77 25.352 2754
+-114.644 25.352 2804
+-114.518 25.352 2790
+-114.392 25.352 2800
+-114.266 25.352 2809
+-114.14 25.352 2837
+-114.014 25.352 2843
+-113.888 25.352 2852
+-113.762 25.352 2859
+-113.636 25.352 2884
+-113.51 25.352 2851
+-113.384 25.352 2897
+-113.258 25.352 2899
+-113.132 25.352 2892
+-113.006 25.352 2918
+-112.88 25.352 2923
+-112.754 25.352 2922
+-112.628 25.352 2924
+-112.502 25.352 2917
+-112.376 25.352 2927
+-112.25 25.352 2937
+-112.124 25.352 2975
+-111.998 25.352 2980
+-111.872 25.352 2991
+-111.746 25.352 2996
+-111.62 25.352 2999
+-111.494 25.352 2957
+-111.368 25.352 3011
+-111.242 25.352 3004
+-111.116 25.352 2994
+-110.99 25.352 2982
+-110.864 25.352 2966
+-110.738 25.352 2960
+-110.612 25.352 2941
+-110.486 25.352 2922
+-110.36 25.352 2905
+-110.234 25.352 2890
+-110.108 25.352 2902
+-109.982 25.352 2874
+-109.856 25.352 2866
+-109.73 25.352 2854
+-109.604 25.352 2844
+-109.478 25.352 2813
+-109.352 25.352 2774
+-109.226 25.352 2729
+-109.1 25.352 2689
+-108.974 25.352 2657
+-108.848 25.352 2632
+-108.722 25.352 2607
+-108.596 25.352 2578
+-108.47 25.352 2581
+-108.344 25.352 2612
+-108.218 25.352 2661
+-108.092 25.352 2726
+-107.966 25.352 2785
+-107.84 25.352 2871
+-107.714 25.352 2915
+-107.588 25.352 2952
+-107.462 25.352 2982
+-107.336 25.352 3006
+-107.21 25.352 2987
+-107.084 25.352 3006
+-106.958 25.352 3014
+-106.832 25.352 3019
+-106.706 25.352 3015
+-106.58 25.352 3018
+-106.454 25.352 3021
+-106.328 25.352 3074
+-106.202 25.352 3060
+-106.076 25.352 2984
+-105.95 25.352 2980
+-105.824 25.352 2977
+-105.698 25.352 2989
+-105.572 25.352 2987
+-105.446 25.352 2986
+-105.32 25.352 3006
+-105.194 25.352 3007
+-105.068 25.352 3009
+-104.942 25.352 2974
+-104.816 25.352 3017
+-104.69 25.352 3020
+-104.564 25.352 3025
+-104.438 25.352 3029
+-104.312 25.352 3033
+-104.186 25.352 3035
+-104.06 25.352 3040
+-103.934 25.352 3061
+-103.808 25.352 3066
+-103.682 25.352 3072
+-103.556 25.352 3077
+-103.43 25.352 3033
+-103.304 25.352 3138
+-103.178 25.352 3139
+-103.052 25.352 3160
+-102.926 25.352 3165
+-102.8 25.352 3263
+-102.674 25.352 3269
+-102.548 25.352 3274
+-102.422 25.352 3311
+-102.296 25.352 3302
+-102.17 25.352 3308
+-102.044 25.352 3304
+-101.918 25.352 3321
+-101.792 25.352 3314
+-101.666 25.352 3336
+-101.54 25.352 3342
+-101.414 25.352 3340
+-101.288 25.352 3339
+-101.162 25.352 3344
+-101.036 25.352 3333
+-100.91 25.352 3375
+-100.784 25.352 3381
+-100.658 25.352 3356
+-100.532 25.352 3362
+-100.406 25.352 3404
+-100.28 25.352 3409
+-100.154 25.352 3374
+-100.028 25.352 3350
+-99.902 25.352 3366
+-99.776 25.352 3223
+-99.65 25.352 3227
+-99.524 25.352 3288
+-99.398 25.352 3292
+-99.272 25.352 3243
+-99.146 25.352 3259
+-99.02 25.352 3263
+-98.894 25.352 3239
+-98.768 25.352 3242
+-98.642 25.352 3246
+-98.516 25.352 3249
+-98.39 25.352 3252
+-98.264 25.352 3255
+-98.138 25.352 3140
+-98.012 25.352 3141
+-97.886 25.352 3084
+-97.76 25.352 3084
+-97.634 25.352 3028
+-97.508 25.352 3025
+-97.382 25.352 3047
+-97.256 25.352 2976
+-97.13 25.352 2971
+-97.004 25.352 2971
+-96.878 25.352 3022
+-96.752 25.352 2998
+-96.626 25.352 3060
+-96.5 25.352 3199
+-96.374 25.352 3246
+-96.248 25.352 3385
+-96.122 25.352 3431
+-95.996 25.352 3430
+-95.87 25.352 3429
+-95.744 25.352 3428
+-95.618 25.352 3461
+-95.492 25.352 3459
+-95.366 25.352 3458
+-95.24 25.352 3456
+-95.114 25.352 3454
+-94.988 25.352 3453
+-94.862 25.352 3471
+-94.736 25.352 3469
+-94.61 25.352 3468
+-94.484 25.352 3466
+-94.358 25.352 3465
+-94.232 25.352 3463
+-94.106 25.352 3489
+-93.98 25.352 3503
+-93.854 25.352 3502
+-93.728 25.352 3500
+-93.602 25.352 3526
+-93.476 25.352 3525
+-93.35 25.352 3524
+-93.224 25.352 3523
+-93.098 25.352 3523
+-92.972 25.352 3522
+-92.846 25.352 3521
+-92.72 25.352 3520
+-92.594 25.352 3519
+-92.468 25.352 3518
+-92.342 25.352 3517
+-92.216 25.352 3516
+-92.09 25.352 3523
+-91.964 25.352 3523
+-91.838 25.352 3523
+-91.712 25.352 3523
+-91.586 25.352 3523
+-91.46 25.352 3522
+-91.334 25.352 3522
+-91.208 25.352 3616
+-91.082 25.352 3613
+-90.956 25.352 3610
+-90.83 25.352 3607
+-90.704 25.352 3607
+-90.578 25.352 3654
+-90.452 25.352 3650
+-90.326 25.352 3644
+-90.2 25.352 3662
+-90.074 25.352 3655
+-89.948 25.352 3662
+-89.822 25.352 3655
+-89.696 25.352 3777
+-89.57 25.352 3768
+-89.444 25.352 3757
+-89.318 25.352 3745
+-89.192 25.352 3731
+-89.066 25.352 3715
+-88.94 25.352 3698
+-88.814 25.352 3679
+-88.688 25.352 3655
+-88.562 25.352 3668
+-88.436 25.352 3630
+-88.31 25.352 3582
+-88.184 25.352 3518
+-88.058 25.352 3454
+-87.932 25.352 3343
+-87.806 25.352 3170
+-87.68 25.352 3061
+-87.554 25.352 3208
+-87.428 25.352 3507
+-87.302 25.352 3768
+-87.176 25.352 3934
+-87.05 25.352 4019
+-86.924 25.352 4078
+-86.798 25.352 4161
+-86.672 25.352 4291
+-86.546 25.352 4425
+-86.42 25.352 4559
+-86.294 25.352 4641
+-86.168 25.352 4724
+-86.042 25.352 4846
+-85.916 25.352 4982
+-85.79 25.352 5060
+-85.664 25.352 5213
+-85.538 25.352 5350
+-85.412 25.352 5509
+-85.286 25.352 5591
+-85.16 25.352 5644
+-85.034 25.352 5737
+-84.908 25.352 5793
+-84.782 25.352 5844
+-84.656 25.352 5931
+-84.53 25.352 6081
+-84.404 25.352 6174
+-84.278 25.352 6235
+-84.152 25.352 6340
+-84.026 25.352 6436
+-83.9 25.352 6525
+-83.774 25.352 6593
+-83.648 25.352 6667
+-83.522 25.352 6767
+-83.396 25.352 6811
+-83.27 25.352 6898
+-83.144 25.352 6940
+-83.018 25.352 7005
+-82.892 25.352 7046
+-82.766 25.352 7043
+-82.64 25.352 7075
+-82.514 25.352 7129
+-82.388 25.352 7105
+-82.262 25.352 7115
+-82.136 25.352 7112
+-82.01 25.352 7121
+-81.884 25.352 7103
+-81.758 25.352 7083
+-81.632 25.352 7068
+-81.506 25.352 7006
+-81.38 25.352 6982
+-81.254 25.352 6949
+-81.128 25.352 6888
+-81.002 25.352 6802
+-80.876 25.352 6760
+-80.75 25.352 6680
+-80.624 25.352 6625
+-80.498 25.352 6495
+-80.372 25.352 6460
+-80.246 25.352 6417
+-80.12 25.352 6319
+-79.994 25.352 6192
+-79.868 25.352 6068
+-79.742 25.352 6044
+-79.616 25.352 5910
+-79.49 25.352 5778
+-79.364 25.352 5617
+-79.238 25.352 5535
+-79.112 25.352 5415
+-78.986 25.352 5322
+-78.86 25.352 5255
+-78.734 25.352 5144
+-78.608 25.352 5041
+-78.482 25.352 5008
+-78.356 25.352 4993
+-78.23 25.352 4986
+-78.104 25.352 4856
+-77.978 25.352 4728
+-77.852 25.352 4653
+-77.726 25.352 4459
+-77.6 25.352 4340
+-77.474 25.352 4151
+-77.348 25.352 3954
+-77.222 25.352 3717
+-77.096 25.352 3460
+-76.97 25.352 3345
+-76.844 25.352 3419
+-76.718 25.352 3507
+-76.592 25.352 3554
+-76.466 25.352 3564
+-76.34 25.352 3487
+-76.214 25.352 3472
+-76.088 25.352 3475
+-75.962 25.352 3471
+-75.836 25.352 3458
+-75.71 25.352 3397
+-75.584 25.352 3347
+-75.458 25.352 3299
+-75.332 25.352 3225
+-75.206 25.352 3116
+-75.08 25.352 3039
+-74.954 25.352 2923
+-74.828 25.352 2842
+-74.702 25.352 2687
+-74.576 25.352 2576
+-74.45 25.352 2526
+-74.324 25.352 2491
+-74.198 25.352 2473
+-74.072 25.352 2439
+-73.946 25.352 2442
+-73.82 25.352 2462
+-73.694 25.352 2482
+-73.568 25.352 2510
+-73.442 25.352 2544
+-73.316 25.352 2579
+-73.19 25.352 2615
+-73.064 25.352 2622
+-72.938 25.352 2654
+-72.812 25.352 2685
+-72.686 25.352 2669
+-72.56 25.352 2697
+-72.434 25.352 2689
+-72.308 25.352 2703
+-72.182 25.352 2691
+-72.056 25.352 2711
+-71.93 25.352 2687
+-71.804 25.352 2703
+-71.678 25.352 2718
+-71.552 25.352 2732
+-71.426 25.352 2745
+-71.3 25.352 2758
+-71.174 25.352 2769
+-71.048 25.352 2779
+-70.922 25.352 2789
+-70.796 25.352 2798
+-70.67 25.352 2807
+-70.544 25.352 2815
+-70.418 25.352 2823
+-70.292 25.352 2830
+-70.166 25.352 2837
+-70.04 25.352 2843
+-69.914 25.352 2849
+-69.788 25.352 2855
+-69.662 25.352 2860
+-69.536 25.352 2865
+-69.41 25.352 2843
+-69.284 25.352 2848
+-69.158 25.352 2854
+-69.032 25.352 2859
+-68.906 25.352 2863
+-68.78 25.352 2868
+-68.654 25.352 2828
+-68.528 25.352 2833
+-68.402 25.352 2827
+-68.276 25.352 2825
+-68.15 25.352 2800
+-68.024 25.352 2804
+-67.898 25.352 2808
+-67.772 25.352 2812
+-67.646 25.352 2816
+-67.52 25.352 2819
+-67.394 25.352 2823
+-67.268 25.352 2826
+-67.142 25.352 2829
+-67.016 25.352 2833
+-66.89 25.352 2836
+-66.764 25.352 2839
+-66.638 25.352 2841
+-66.512 25.352 2844
+-66.386 25.352 2847
+-66.26 25.352 2849
+-66.134 25.352 2852
+-66.008 25.352 2854
+-65.882 25.352 2856
+-65.756 25.352 2859
+-65.63 25.352 2861
+-65.504 25.352 2863
+-65.378 25.352 2865
+-65.252 25.352 2867
+-65.126 25.352 2869
+-128 25.3 3555
+-127.874 25.3 3554
+-127.748 25.3 3593
+-127.622 25.3 3593
+-127.496 25.3 3341
+-127.37 25.3 3350
+-127.244 25.3 3371
+-127.118 25.3 3266
+-126.992 25.3 3262
+-126.866 25.3 3243
+-126.74 25.3 3314
+-126.614 25.3 3276
+-126.488 25.3 3272
+-126.362 25.3 3296
+-126.236 25.3 3190
+-126.11 25.3 3194
+-125.984 25.3 3223
+-125.858 25.3 3213
+-125.732 25.3 3208
+-125.606 25.3 3202
+-125.48 25.3 3113
+-125.354 25.3 3110
+-125.228 25.3 3028
+-125.102 25.3 3034
+-124.976 25.3 3035
+-124.85 25.3 3028
+-124.724 25.3 2989
+-124.598 25.3 2982
+-124.472 25.3 2975
+-124.346 25.3 2991
+-124.22 25.3 2967
+-124.094 25.3 2959
+-123.968 25.3 2909
+-123.842 25.3 2900
+-123.716 25.3 2947
+-123.59 25.3 2905
+-123.464 25.3 2882
+-123.338 25.3 2787
+-123.212 25.3 2811
+-123.086 25.3 2798
+-122.96 25.3 2785
+-122.834 25.3 2771
+-122.708 25.3 2756
+-122.582 25.3 2740
+-122.456 25.3 2672
+-122.33 25.3 2661
+-122.204 25.3 2642
+-122.078 25.3 2598
+-121.952 25.3 2567
+-121.826 25.3 2535
+-121.7 25.3 2511
+-121.574 25.3 2464
+-121.448 25.3 2435
+-121.322 25.3 2391
+-121.196 25.3 2351
+-121.07 25.3 2301
+-120.944 25.3 2259
+-120.818 25.3 2208
+-120.692 25.3 2153
+-120.566 25.3 2096
+-120.44 25.3 2031
+-120.314 25.3 1960
+-120.188 25.3 1883
+-120.062 25.3 1769
+-119.936 25.3 1684
+-119.81 25.3 1597
+-119.684 25.3 1505
+-119.558 25.3 1429
+-119.432 25.3 1355
+-119.306 25.3 1319
+-119.18 25.3 1314
+-119.054 25.3 1342
+-118.928 25.3 1402
+-118.802 25.3 1487
+-118.676 25.3 1588
+-118.55 25.3 1696
+-118.424 25.3 1803
+-118.298 25.3 1903
+-118.172 25.3 1970
+-118.046 25.3 2048
+-117.92 25.3 2116
+-117.794 25.3 2172
+-117.668 25.3 2218
+-117.542 25.3 2259
+-117.416 25.3 2292
+-117.29 25.3 2308
+-117.164 25.3 2334
+-117.038 25.3 2345
+-116.912 25.3 2365
+-116.786 25.3 2382
+-116.66 25.3 2386
+-116.534 25.3 2410
+-116.408 25.3 2428
+-116.282 25.3 2446
+-116.156 25.3 2462
+-116.03 25.3 2480
+-115.904 25.3 2516
+-115.778 25.3 2568
+-115.652 25.3 2588
+-115.526 25.3 2538
+-115.4 25.3 2555
+-115.274 25.3 2712
+-115.148 25.3 2707
+-115.022 25.3 2741
+-114.896 25.3 2744
+-114.77 25.3 2781
+-114.644 25.3 2793
+-114.518 25.3 2775
+-114.392 25.3 2796
+-114.266 25.3 2825
+-114.14 25.3 2831
+-114.014 25.3 2838
+-113.888 25.3 2845
+-113.762 25.3 2872
+-113.636 25.3 2838
+-113.51 25.3 2843
+-113.384 25.3 2847
+-113.258 25.3 2882
+-113.132 25.3 2908
+-113.006 25.3 2912
+-112.88 25.3 2908
+-112.754 25.3 2907
+-112.628 25.3 2897
+-112.502 25.3 2903
+-112.376 25.3 2910
+-112.25 25.3 2917
+-112.124 25.3 2949
+-111.998 25.3 2959
+-111.872 25.3 2945
+-111.746 25.3 2947
+-111.62 25.3 2948
+-111.494 25.3 2908
+-111.368 25.3 2903
+-111.242 25.3 2876
+-111.116 25.3 2865
+-110.99 25.3 2851
+-110.864 25.3 2834
+-110.738 25.3 2815
+-110.612 25.3 2831
+-110.486 25.3 2815
+-110.36 25.3 2796
+-110.234 25.3 2782
+-110.108 25.3 2774
+-109.982 25.3 2778
+-109.856 25.3 2801
+-109.73 25.3 2799
+-109.604 25.3 2791
+-109.478 25.3 2780
+-109.352 25.3 2750
+-109.226 25.3 2714
+-109.1 25.3 2663
+-108.974 25.3 2616
+-108.848 25.3 2550
+-108.722 25.3 2473
+-108.596 25.3 2438
+-108.47 25.3 2454
+-108.344 25.3 2513
+-108.218 25.3 2583
+-108.092 25.3 2655
+-107.966 25.3 2730
+-107.84 25.3 2793
+-107.714 25.3 2841
+-107.588 25.3 2880
+-107.462 25.3 2959
+-107.336 25.3 2987
+-107.21 25.3 3009
+-107.084 25.3 2987
+-106.958 25.3 3006
+-106.832 25.3 3013
+-106.706 25.3 3017
+-106.58 25.3 3014
+-106.454 25.3 3018
+-106.328 25.3 3023
+-106.202 25.3 3078
+-106.076 25.3 3066
+-105.95 25.3 2989
+-105.824 25.3 2986
+-105.698 25.3 2984
+-105.572 25.3 2998
+-105.446 25.3 2997
+-105.32 25.3 2997
+-105.194 25.3 3018
+-105.068 25.3 3019
+-104.942 25.3 3021
+-104.816 25.3 2985
+-104.69 25.3 3030
+-104.564 25.3 3033
+-104.438 25.3 3037
+-104.312 25.3 3041
+-104.186 25.3 3045
+-104.06 25.3 3046
+-103.934 25.3 3051
+-103.808 25.3 3072
+-103.682 25.3 3077
+-103.556 25.3 3081
+-103.43 25.3 3086
+-103.304 25.3 3041
+-103.178 25.3 3148
+-103.052 25.3 3149
+-102.926 25.3 3169
+-102.8 25.3 3174
+-102.674 25.3 3274
+-102.548 25.3 3279
+-102.422 25.3 3284
+-102.296 25.3 3321
+-102.17 25.3 3310
+-102.044 25.3 3317
+-101.918 25.3 3313
+-101.792 25.3 3330
+-101.666 25.3 3322
+-101.54 25.3 3344
+-101.414 25.3 3350
+-101.288 25.3 3347
+-101.162 25.3 3346
+-101.036 25.3 3351
+-100.91 25.3 3339
+-100.784 25.3 3382
+-100.658 25.3 3387
+-100.532 25.3 3362
+-100.406 25.3 3367
+-100.28 25.3 3410
+-100.154 25.3 3415
+-100.028 25.3 3379
+-99.902 25.3 3355
+-99.776 25.3 3371
+-99.65 25.3 3227
+-99.524 25.3 3230
+-99.398 25.3 3292
+-99.272 25.3 3296
+-99.146 25.3 3246
+-99.02 25.3 3262
+-98.894 25.3 3266
+-98.768 25.3 3242
+-98.642 25.3 3245
+-98.516 25.3 3249
+-98.39 25.3 3252
+-98.264 25.3 3255
+-98.138 25.3 3139
+-98.012 25.3 3140
+-97.886 25.3 3140
+-97.76 25.3 3083
+-97.634 25.3 3027
+-97.508 25.3 3024
+-97.382 25.3 3047
+-97.256 25.3 2976
+-97.13 25.3 2970
+-97.004 25.3 2971
+-96.878 25.3 3022
+-96.752 25.3 2998
+-96.626 25.3 3205
+-96.5 25.3 3199
+-96.374 25.3 3246
+-96.248 25.3 3384
+-96.122 25.3 3430
+-95.996 25.3 3429
+-95.87 25.3 3428
+-95.744 25.3 3461
+-95.618 25.3 3460
+-95.492 25.3 3458
+-95.366 25.3 3456
+-95.24 25.3 3455
+-95.114 25.3 3453
+-94.988 25.3 3471
+-94.862 25.3 3470
+-94.736 25.3 3468
+-94.61 25.3 3467
+-94.484 25.3 3465
+-94.358 25.3 3464
+-94.232 25.3 3489
+-94.106 25.3 3504
+-93.98 25.3 3502
+-93.854 25.3 3501
+-93.728 25.3 3525
+-93.602 25.3 3525
+-93.476 25.3 3524
+-93.35 25.3 3523
+-93.224 25.3 3522
+-93.098 25.3 3521
+-92.972 25.3 3520
+-92.846 25.3 3519
+-92.72 25.3 3518
+-92.594 25.3 3518
+-92.468 25.3 3517
+-92.342 25.3 3515
+-92.216 25.3 3522
+-92.09 25.3 3522
+-91.964 25.3 3521
+-91.838 25.3 3521
+-91.712 25.3 3521
+-91.586 25.3 3521
+-91.46 25.3 3520
+-91.334 25.3 3613
+-91.208 25.3 3610
+-91.082 25.3 3607
+-90.956 25.3 3604
+-90.83 25.3 3604
+-90.704 25.3 3651
+-90.578 25.3 3646
+-90.452 25.3 3641
+-90.326 25.3 3658
+-90.2 25.3 3651
+-90.074 25.3 3630
+-89.948 25.3 3624
+-89.822 25.3 3747
+-89.696 25.3 3738
+-89.57 25.3 3729
+-89.444 25.3 3718
+-89.318 25.3 3705
+-89.192 25.3 3691
+-89.066 25.3 3676
+-88.94 25.3 3682
+-88.814 25.3 3659
+-88.688 25.3 3633
+-88.562 25.3 3602
+-88.436 25.3 3562
+-88.31 25.3 3546
+-88.184 25.3 3487
+-88.058 25.3 3414
+-87.932 25.3 3332
+-87.806 25.3 3224
+-87.68 25.3 3171
+-87.554 25.3 3290
+-87.428 25.3 3519
+-87.302 25.3 3732
+-87.176 25.3 3892
+-87.05 25.3 4007
+-86.924 25.3 4097
+-86.798 25.3 4207
+-86.672 25.3 4341
+-86.546 25.3 4413
+-86.42 25.3 4508
+-86.294 25.3 4522
+-86.168 25.3 4632
+-86.042 25.3 4802
+-85.916 25.3 4930
+-85.79 25.3 4957
+-85.664 25.3 5081
+-85.538 25.3 5256
+-85.412 25.3 5429
+-85.286 25.3 5523
+-85.16 25.3 5559
+-85.034 25.3 5671
+-84.908 25.3 5794
+-84.782 25.3 5884
+-84.656 25.3 5979
+-84.53 25.3 6060
+-84.404 25.3 6161
+-84.278 25.3 6184
+-84.152 25.3 6307
+-84.026 25.3 6448
+-83.9 25.3 6469
+-83.774 25.3 6560
+-83.648 25.3 6659
+-83.522 25.3 6665
+-83.396 25.3 6747
+-83.27 25.3 6819
+-83.144 25.3 6852
+-83.018 25.3 6922
+-82.892 25.3 6978
+-82.766 25.3 6983
+-82.64 25.3 7016
+-82.514 25.3 7056
+-82.388 25.3 7063
+-82.262 25.3 7068
+-82.136 25.3 7090
+-82.01 25.3 7042
+-81.884 25.3 7075
+-81.758 25.3 7031
+-81.632 25.3 7007
+-81.506 25.3 6977
+-81.38 25.3 6947
+-81.254 25.3 6883
+-81.128 25.3 6815
+-81.002 25.3 6758
+-80.876 25.3 6708
+-80.75 25.3 6633
+-80.624 25.3 6553
+-80.498 25.3 6463
+-80.372 25.3 6450
+-80.246 25.3 6381
+-80.12 25.3 6278
+-79.994 25.3 6178
+-79.868 25.3 6100
+-79.742 25.3 6013
+-79.616 25.3 5836
+-79.49 25.3 5686
+-79.364 25.3 5575
+-79.238 25.3 5495
+-79.112 25.3 5372
+-78.986 25.3 5258
+-78.86 25.3 5220
+-78.734 25.3 5107
+-78.608 25.3 5093
+-78.482 25.3 5066
+-78.356 25.3 5013
+-78.23 25.3 4909
+-78.104 25.3 4847
+-77.978 25.3 4686
+-77.852 25.3 4542
+-77.726 25.3 4395
+-77.6 25.3 4259
+-77.474 25.3 4136
+-77.348 25.3 3955
+-77.222 25.3 3745
+-77.096 25.3 3537
+-76.97 25.3 3433
+-76.844 25.3 3470
+-76.718 25.3 3550
+-76.592 25.3 3576
+-76.466 25.3 3575
+-76.34 25.3 3494
+-76.214 25.3 3491
+-76.088 25.3 3483
+-75.962 25.3 3469
+-75.836 25.3 3410
+-75.71 25.3 3338
+-75.584 25.3 3290
+-75.458 25.3 3230
+-75.332 25.3 3156
+-75.206 25.3 3036
+-75.08 25.3 2892
+-74.954 25.3 2757
+-74.828 25.3 2658
+-74.702 25.3 2540
+-74.576 25.3 2464
+-74.45 25.3 2368
+-74.324 25.3 2333
+-74.198 25.3 2320
+-74.072 25.3 2326
+-73.946 25.3 2320
+-73.82 25.3 2341
+-73.694 25.3 2381
+-73.568 25.3 2419
+-73.442 25.3 2461
+-73.316 25.3 2507
+-73.19 25.3 2551
+-73.064 25.3 2593
+-72.938 25.3 2606
+-72.812 25.3 2642
+-72.686 25.3 2676
+-72.56 25.3 2663
+-72.434 25.3 2692
+-72.308 25.3 2685
+-72.182 25.3 2700
+-72.056 25.3 2689
+-71.93 25.3 2709
+-71.804 25.3 2686
+-71.678 25.3 2703
+-71.552 25.3 2718
+-71.426 25.3 2732
+-71.3 25.3 2745
+-71.174 25.3 2758
+-71.048 25.3 2769
+-70.922 25.3 2780
+-70.796 25.3 2790
+-70.67 25.3 2799
+-70.544 25.3 2807
+-70.418 25.3 2816
+-70.292 25.3 2823
+-70.166 25.3 2830
+-70.04 25.3 2837
+-69.914 25.3 2843
+-69.788 25.3 2849
+-69.662 25.3 2855
+-69.536 25.3 2861
+-69.41 25.3 2866
+-69.284 25.3 2843
+-69.158 25.3 2849
+-69.032 25.3 2854
+-68.906 25.3 2859
+-68.78 25.3 2863
+-68.654 25.3 2868
+-68.528 25.3 2828
+-68.402 25.3 2833
+-68.276 25.3 2827
+-68.15 25.3 2825
+-68.024 25.3 2800
+-67.898 25.3 2804
+-67.772 25.3 2808
+-67.646 25.3 2812
+-67.52 25.3 2816
+-67.394 25.3 2819
+-67.268 25.3 2823
+-67.142 25.3 2826
+-67.016 25.3 2829
+-66.89 25.3 2832
+-66.764 25.3 2835
+-66.638 25.3 2838
+-66.512 25.3 2841
+-66.386 25.3 2844
+-66.26 25.3 2846
+-66.134 25.3 2849
+-66.008 25.3 2851
+-65.882 25.3 2854
+-65.756 25.3 2856
+-65.63 25.3 2858
+-65.504 25.3 2861
+-65.378 25.3 2863
+-65.252 25.3 2865
+-65.126 25.3 2867
+-128 25.248 3555
+-127.874 25.248 3594
+-127.748 25.248 3594
+-127.622 25.248 3341
+-127.496 25.248 3350
+-127.37 25.248 3370
+-127.244 25.248 3265
+-127.118 25.248 3262
+-126.992 25.248 3243
+-126.866 25.248 3314
+-126.74 25.248 3276
+-126.614 25.248 3272
+-126.488 25.248 3296
+-126.362 25.248 3190
+-126.236 25.248 3194
+-126.11 25.248 3223
+-125.984 25.248 3213
+-125.858 25.248 3208
+-125.732 25.248 3203
+-125.606 25.248 3113
+-125.48 25.248 3111
+-125.354 25.248 3028
+-125.228 25.248 3035
+-125.102 25.248 3035
+-124.976 25.248 3029
+-124.85 25.248 2989
+-124.724 25.248 2983
+-124.598 25.248 2976
+-124.472 25.248 2993
+-124.346 25.248 2968
+-124.22 25.248 2960
+-124.094 25.248 2910
+-123.968 25.248 2902
+-123.842 25.248 2950
+-123.716 25.248 2907
+-123.59 25.248 2884
+-123.464 25.248 2789
+-123.338 25.248 2814
+-123.212 25.248 2801
+-123.086 25.248 2789
+-122.96 25.248 2775
+-122.834 25.248 2760
+-122.708 25.248 2745
+-122.582 25.248 2676
+-122.456 25.248 2666
+-122.33 25.248 2648
+-122.204 25.248 2603
+-122.078 25.248 2573
+-121.952 25.248 2542
+-121.826 25.248 2518
+-121.7 25.248 2472
+-121.574 25.248 2444
+-121.448 25.248 2399
+-121.322 25.248 2361
+-121.196 25.248 2311
+-121.07 25.248 2270
+-120.944 25.248 2219
+-120.818 25.248 2166
+-120.692 25.248 2108
+-120.566 25.248 2044
+-120.44 25.248 1972
+-120.314 25.248 1891
+-120.188 25.248 1772
+-120.062 25.248 1679
+-119.936 25.248 1579
+-119.81 25.248 1467
+-119.684 25.248 1366
+-119.558 25.248 1259
+-119.432 25.248 1184
+-119.306 25.248 1137
+-119.18 25.248 1125
+-119.054 25.248 1154
+-118.928 25.248 1223
+-118.802 25.248 1322
+-118.676 25.248 1442
+-118.55 25.248 1570
+-118.424 25.248 1696
+-118.298 25.248 1792
+-118.172 25.248 1896
+-118.046 25.248 1988
+-117.92 25.248 2066
+-117.794 25.248 2129
+-117.668 25.248 2185
+-117.542 25.248 2233
+-117.416 25.248 2260
+-117.29 25.248 2294
+-117.164 25.248 2312
+-117.038 25.248 2337
+-116.912 25.248 2357
+-116.786 25.248 2364
+-116.66 25.248 2390
+-116.534 25.248 2410
+-116.408 25.248 2428
+-116.282 25.248 2445
+-116.156 25.248 2463
+-116.03 25.248 2480
+-115.904 25.248 2549
+-115.778 25.248 2570
+-115.652 25.248 2519
+-115.526 25.248 2551
+-115.4 25.248 2569
+-115.274 25.248 2694
+-115.148 25.248 2731
+-115.022 25.248 2733
+-114.896 25.248 2770
+-114.77 25.248 2781
+-114.644 25.248 2762
+-114.518 25.248 2771
+-114.392 25.248 2780
+-114.266 25.248 2818
+-114.14 25.248 2825
+-114.014 25.248 2832
+-113.888 25.248 2859
+-113.762 25.248 2824
+-113.636 25.248 2828
+-113.51 25.248 2855
+-113.384 25.248 2860
+-113.258 25.248 2897
+-113.132 25.248 2899
+-113.006 25.248 2893
+-112.88 25.248 2890
+-112.754 25.248 2877
+-112.628 25.248 2881
+-112.502 25.248 2885
+-112.376 25.248 2889
+-112.25 25.248 2893
+-112.124 25.248 2901
+-111.998 25.248 2878
+-111.872 25.248 2912
+-111.746 25.248 2911
+-111.62 25.248 2871
+-111.494 25.248 2865
+-111.368 25.248 2839
+-111.242 25.248 2829
+-111.116 25.248 2815
+-110.99 25.248 2798
+-110.864 25.248 2777
+-110.738 25.248 2753
+-110.612 25.248 2727
+-110.486 25.248 2736
+-110.36 25.248 2711
+-110.234 25.248 2693
+-110.108 25.248 2686
+-109.982 25.248 2689
+-109.856 25.248 2705
+-109.73 25.248 2737
+-109.604 25.248 2742
+-109.478 25.248 2735
+-109.352 25.248 2721
+-109.226 25.248 2675
+-109.1 25.248 2626
+-108.974 25.248 2555
+-108.848 25.248 2455
+-108.722 25.248 2351
+-108.596 25.248 2303
+-108.47 25.248 2342
+-108.344 25.248 2427
+-108.218 25.248 2523
+-108.092 25.248 2607
+-107.966 25.248 2681
+-107.84 25.248 2755
+-107.714 25.248 2813
+-107.588 25.248 2857
+-107.462 25.248 2892
+-107.336 25.248 2971
+-107.21 25.248 2995
+-107.084 25.248 3015
+-106.958 25.248 2990
+-106.832 25.248 3007
+-106.706 25.248 3014
+-106.58 25.248 3019
+-106.454 25.248 3016
+-106.328 25.248 3020
+-106.202 25.248 3026
+-106.076 25.248 3084
+-105.95 25.248 3073
+-105.824 25.248 2994
+-105.698 25.248 2993
+-105.572 25.248 2992
+-105.446 25.248 3007
+-105.32 25.248 3007
+-105.194 25.248 3007
+-105.068 25.248 3029
+-104.942 25.248 3031
+-104.816 25.248 3033
+-104.69 25.248 2996
+-104.564 25.248 3041
+-104.438 25.248 3044
+-104.312 25.248 3048
+-104.186 25.248 3051
+-104.06 25.248 3055
+-103.934 25.248 3056
+-103.808 25.248 3060
+-103.682 25.248 3081
+-103.556 25.248 3086
+-103.43 25.248 3090
+-103.304 25.248 3095
+-103.178 25.248 3048
+-103.052 25.248 3158
+-102.926 25.248 3157
+-102.8 25.248 3178
+-102.674 25.248 3183
+-102.548 25.248 3284
+-102.422 25.248 3289
+-102.296 25.248 3293
+-102.17 25.248 3330
+-102.044 25.248 3321
+-101.918 25.248 3326
+-101.792 25.248 3321
+-101.666 25.248 3338
+-101.54 25.248 3330
+-101.414 25.248 3352
+-101.288 25.248 3357
+-101.162 25.248 3354
+-101.036 25.248 3352
+-100.91 25.248 3357
+-100.784 25.248 3345
+-100.658 25.248 3389
+-100.532 25.248 3394
+-100.406 25.248 3368
+-100.28 25.248 3373
+-100.154 25.248 3416
+-100.028 25.248 3421
+-99.902 25.248 3384
+-99.776 25.248 3359
+-99.65 25.248 3375
+-99.524 25.248 3230
+-99.398 25.248 3234
+-99.272 25.248 3296
+-99.146 25.248 3300
+-99.02 25.248 3250
+-98.894 25.248 3266
+-98.768 25.248 3269
+-98.642 25.248 3245
+-98.516 25.248 3248
+-98.39 25.248 3251
+-98.264 25.248 3254
+-98.138 25.248 3139
+-98.012 25.248 3139
+-97.886 25.248 3139
+-97.76 25.248 3139
+-97.634 25.248 3035
+-97.508 25.248 3026
+-97.382 25.248 3046
+-97.256 25.248 2975
+-97.13 25.248 2968
+-97.004 25.248 2971
+-96.878 25.248 3029
+-96.752 25.248 2998
+-96.626 25.248 3205
+-96.5 25.248 3199
+-96.374 25.248 3245
+-96.248 25.248 3383
+-96.122 25.248 3429
+-95.996 25.248 3428
+-95.87 25.248 3461
+-95.744 25.248 3460
+-95.618 25.248 3458
+-95.492 25.248 3457
+-95.366 25.248 3455
+-95.24 25.248 3454
+-95.114 25.248 3472
+-94.988 25.248 3470
+-94.862 25.248 3469
+-94.736 25.248 3467
+-94.61 25.248 3466
+-94.484 25.248 3464
+-94.358 25.248 3490
+-94.232 25.248 3504
+-94.106 25.248 3503
+-93.98 25.248 3501
+-93.854 25.248 3525
+-93.728 25.248 3524
+-93.602 25.248 3523
+-93.476 25.248 3523
+-93.35 25.248 3522
+-93.224 25.248 3521
+-93.098 25.248 3520
+-92.972 25.248 3519
+-92.846 25.248 3518
+-92.72 25.248 3517
+-92.594 25.248 3516
+-92.468 25.248 3515
+-92.342 25.248 3521
+-92.216 25.248 3520
+-92.09 25.248 3520
+-91.964 25.248 3520
+-91.838 25.248 3519
+-91.712 25.248 3519
+-91.586 25.248 3518
+-91.46 25.248 3611
+-91.334 25.248 3608
+-91.208 25.248 3605
+-91.082 25.248 3601
+-90.956 25.248 3601
+-90.83 25.248 3649
+-90.704 25.248 3644
+-90.578 25.248 3638
+-90.452 25.248 3656
+-90.326 25.248 3649
+-90.2 25.248 3628
+-90.074 25.248 3622
+-89.948 25.248 3747
+-89.822 25.248 3738
+-89.696 25.248 3729
+-89.57 25.248 3718
+-89.444 25.248 3706
+-89.318 25.248 3693
+-89.192 25.248 3678
+-89.066 25.248 3646
+-88.94 25.248 3628
+-88.814 25.248 3641
+-88.688 25.248 3613
+-88.562 25.248 3578
+-88.436 25.248 3547
+-88.31 25.248 3504
+-88.184 25.248 3451
+-88.058 25.248 3407
+-87.932 25.248 3343
+-87.806 25.248 3296
+-87.68 25.248 3298
+-87.554 25.248 3370
+-87.428 25.248 3520
+-87.302 25.248 3713
+-87.176 25.248 3868
+-87.05 25.248 3999
+-86.924 25.248 4157
+-86.798 25.248 4241
+-86.672 25.248 4309
+-86.546 25.248 4372
+-86.42 25.248 4428
+-86.294 25.248 4421
+-86.168 25.248 4551
+-86.042 25.248 4772
+-85.916 25.248 4884
+-85.79 25.248 4865
+-85.664 25.248 5034
+-85.538 25.248 5185
+-85.412 25.248 5325
+-85.286 25.248 5463
+-85.16 25.248 5450
+-85.034 25.248 5570
+-84.908 25.248 5751
+-84.782 25.248 5873
+-84.656 25.248 5971
+-84.53 25.248 6065
+-84.404 25.248 6128
+-84.278 25.248 6198
+-84.152 25.248 6288
+-84.026 25.248 6370
+-83.9 25.248 6395
+-83.774 25.248 6543
+-83.648 25.248 6578
+-83.522 25.248 6611
+-83.396 25.248 6691
+-83.27 25.248 6745
+-83.144 25.248 6811
+-83.018 25.248 6853
+-82.892 25.248 6895
+-82.766 25.248 6930
+-82.64 25.248 6969
+-82.514 25.248 6994
+-82.388 25.248 7018
+-82.262 25.248 7025
+-82.136 25.248 6986
+-82.01 25.248 7014
+-81.884 25.248 6995
+-81.758 25.248 6943
+-81.632 25.248 6934
+-81.506 25.248 6894
+-81.38 25.248 6856
+-81.254 25.248 6809
+-81.128 25.248 6778
+-81.002 25.248 6719
+-80.876 25.248 6645
+-80.75 25.248 6570
+-80.624 25.248 6504
+-80.498 25.248 6446
+-80.372 25.248 6393
+-80.246 25.248 6300
+-80.12 25.248 6255
+-79.994 25.248 6152
+-79.868 25.248 6095
+-79.742 25.248 5910
+-79.616 25.248 5747
+-79.49 25.248 5617
+-79.364 25.248 5535
+-79.238 25.248 5461
+-79.112 25.248 5378
+-78.986 25.248 5266
+-78.86 25.248 5186
+-78.734 25.248 5137
+-78.608 25.248 5103
+-78.482 25.248 5043
+-78.356 25.248 4923
+-78.23 25.248 4841
+-78.104 25.248 4742
+-77.978 25.248 4571
+-77.852 25.248 4469
+-77.726 25.248 4347
+-77.6 25.248 4235
+-77.474 25.248 4108
+-77.348 25.248 3973
+-77.222 25.248 3820
+-77.096 25.248 3689
+-76.97 25.248 3588
+-76.844 25.248 3573
+-76.718 25.248 3593
+-76.592 25.248 3593
+-76.466 25.248 3609
+-76.34 25.248 3510
+-76.214 25.248 3500
+-76.088 25.248 3448
+-75.962 25.248 3426
+-75.836 25.248 3359
+-75.71 25.248 3314
+-75.584 25.248 3256
+-75.458 25.248 3184
+-75.332 25.248 3059
+-75.206 25.248 2955
+-75.08 25.248 2762
+-74.954 25.248 2632
+-74.828 25.248 2510
+-74.702 25.248 2398
+-74.576 25.248 2275
+-74.45 25.248 2211
+-74.324 25.248 2146
+-74.198 25.248 2141
+-74.072 25.248 2161
+-73.946 25.248 2199
+-73.82 25.248 2223
+-73.694 25.248 2265
+-73.568 25.248 2325
+-73.442 25.248 2378
+-73.316 25.248 2432
+-73.19 25.248 2486
+-73.064 25.248 2537
+-72.938 25.248 2584
+-72.812 25.248 2601
+-72.686 25.248 2639
+-72.56 25.248 2674
+-72.434 25.248 2662
+-72.308 25.248 2693
+-72.182 25.248 2687
+-72.056 25.248 2701
+-71.93 25.248 2690
+-71.804 25.248 2711
+-71.678 25.248 2687
+-71.552 25.248 2704
+-71.426 25.248 2720
+-71.3 25.248 2734
+-71.174 25.248 2747
+-71.048 25.248 2759
+-70.922 25.248 2770
+-70.796 25.248 2781
+-70.67 25.248 2791
+-70.544 25.248 2800
+-70.418 25.248 2809
+-70.292 25.248 2817
+-70.166 25.248 2824
+-70.04 25.248 2831
+-69.914 25.248 2838
+-69.788 25.248 2844
+-69.662 25.248 2850
+-69.536 25.248 2856
+-69.41 25.248 2861
+-69.284 25.248 2866
+-69.158 25.248 2844
+-69.032 25.248 2849
+-68.906 25.248 2854
+-68.78 25.248 2859
+-68.654 25.248 2864
+-68.528 25.248 2868
+-68.402 25.248 2828
+-68.276 25.248 2834
+-68.15 25.248 2827
+-68.024 25.248 2825
+-67.898 25.248 2800
+-67.772 25.248 2804
+-67.646 25.248 2808
+-67.52 25.248 2812
+-67.394 25.248 2816
+-67.268 25.248 2819
+-67.142 25.248 2823
+-67.016 25.248 2826
+-66.89 25.248 2829
+-66.764 25.248 2832
+-66.638 25.248 2835
+-66.512 25.248 2838
+-66.386 25.248 2841
+-66.26 25.248 2844
+-66.134 25.248 2846
+-66.008 25.248 2849
+-65.882 25.248 2851
+-65.756 25.248 2854
+-65.63 25.248 2856
+-65.504 25.248 2858
+-65.378 25.248 2860
+-65.252 25.248 2862
+-65.126 25.248 2865
+-128 25.196 3595
+-127.874 25.196 3594
+-127.748 25.196 3340
+-127.622 25.196 3349
+-127.496 25.196 3370
+-127.37 25.196 3265
+-127.244 25.196 3262
+-127.118 25.196 3243
+-126.992 25.196 3314
+-126.866 25.196 3275
+-126.74 25.196 3272
+-126.614 25.196 3296
+-126.488 25.196 3190
+-126.362 25.196 3194
+-126.236 25.196 3224
+-126.11 25.196 3214
+-125.984 25.196 3208
+-125.858 25.196 3203
+-125.732 25.196 3113
+-125.606 25.196 3111
+-125.48 25.196 3029
+-125.354 25.196 3035
+-125.228 25.196 3036
+-125.102 25.196 3030
+-124.976 25.196 2990
+-124.85 25.196 2983
+-124.724 25.196 2977
+-124.598 25.196 2994
+-124.472 25.196 2970
+-124.346 25.196 2962
+-124.22 25.196 2912
+-124.094 25.196 2903
+-123.968 25.196 2953
+-123.842 25.196 2910
+-123.716 25.196 2887
+-123.59 25.196 2792
+-123.464 25.196 2817
+-123.338 25.196 2805
+-123.212 25.196 2793
+-123.086 25.196 2779
+-122.96 25.196 2765
+-122.834 25.196 2750
+-122.708 25.196 2681
+-122.582 25.196 2672
+-122.456 25.196 2654
+-122.33 25.196 2610
+-122.204 25.196 2580
+-122.078 25.196 2550
+-121.952 25.196 2527
+-121.826 25.196 2482
+-121.7 25.196 2454
+-121.574 25.196 2411
+-121.448 25.196 2373
+-121.322 25.196 2325
+-121.196 25.196 2286
+-121.07 25.196 2236
+-120.944 25.196 2185
+-120.818 25.196 2130
+-120.692 25.196 2067
+-120.566 25.196 1997
+-120.44 25.196 1918
+-120.314 25.196 1797
+-120.188 25.196 1702
+-120.062 25.196 1597
+-119.936 25.196 1477
+-119.81 25.196 1359
+-119.684 25.196 1229
+-119.558 25.196 1121
+-119.432 25.196 1031
+-119.306 25.196 972
+-119.18 25.196 954
+-119.054 25.196 984
+-118.928 25.196 1059
+-118.802 25.196 1172
+-118.676 25.196 1308
+-118.55 25.196 1454
+-118.424 25.196 1578
+-118.298 25.196 1709
+-118.172 25.196 1827
+-118.046 25.196 1930
+-117.92 25.196 2014
+-117.794 25.196 2089
+-117.668 25.196 2153
+-117.542 25.196 2195
+-117.416 25.196 2240
+-117.29 25.196 2267
+-117.164 25.196 2299
+-117.038 25.196 2324
+-116.912 25.196 2336
+-116.786 25.196 2366
+-116.66 25.196 2387
+-116.534 25.196 2408
+-116.408 25.196 2426
+-116.282 25.196 2445
+-116.156 25.196 2462
+-116.03 25.196 2530
+-115.904 25.196 2551
+-115.778 25.196 2499
+-115.652 25.196 2531
+-115.526 25.196 2549
+-115.4 25.196 2559
+-115.274 25.196 2560
+-115.148 25.196 2724
+-115.022 25.196 2759
+-114.896 25.196 2770
+-114.77 25.196 2710
+-114.644 25.196 2758
+-114.518 25.196 2766
+-114.392 25.196 2795
+-114.266 25.196 2812
+-114.14 25.196 2818
+-114.014 25.196 2846
+-113.888 25.196 2808
+-113.762 25.196 2813
+-113.636 25.196 2840
+-113.51 25.196 2844
+-113.384 25.196 2837
+-113.258 25.196 2841
+-113.132 25.196 2877
+-113.006 25.196 2872
+-112.88 25.196 2856
+-112.754 25.196 2858
+-112.628 25.196 2860
+-112.502 25.196 2862
+-112.376 25.196 2863
+-112.25 25.196 2870
+-112.124 25.196 2844
+-111.998 25.196 2843
+-111.872 25.196 2875
+-111.746 25.196 2834
+-111.62 25.196 2828
+-111.494 25.196 2802
+-111.368 25.196 2792
+-111.242 25.196 2779
+-111.116 25.196 2763
+-110.99 25.196 2743
+-110.864 25.196 2718
+-110.738 25.196 2689
+-110.612 25.196 2656
+-110.486 25.196 2621
+-110.36 25.196 2618
+-110.234 25.196 2593
+-110.108 25.196 2584
+-109.982 25.196 2594
+-109.856 25.196 2617
+-109.73 25.196 2648
+-109.604 25.196 2688
+-109.478 25.196 2695
+-109.352 25.196 2683
+-109.226 25.196 2646
+-109.1 25.196 2594
+-108.974 25.196 2512
+-108.848 25.196 2404
+-108.722 25.196 2300
+-108.596 25.196 2257
+-108.47 25.196 2294
+-108.344 25.196 2389
+-108.218 25.196 2490
+-108.092 25.196 2582
+-107.966 25.196 2656
+-107.84 25.196 2720
+-107.714 25.196 2787
+-107.588 25.196 2838
+-107.462 25.196 2875
+-107.336 25.196 2905
+-107.21 25.196 2984
+-107.084 25.196 3005
+-106.958 25.196 3022
+-106.832 25.196 2994
+-106.706 25.196 3011
+-106.58 25.196 3017
+-106.454 25.196 3022
+-106.328 25.196 3019
+-106.202 25.196 3024
+-106.076 25.196 3030
+-105.95 25.196 3091
+-105.824 25.196 3080
+-105.698 25.196 3000
+-105.572 25.196 2999
+-105.446 25.196 2999
+-105.32 25.196 3015
+-105.194 25.196 3015
+-105.068 25.196 3016
+-104.942 25.196 3039
+-104.816 25.196 3041
+-104.69 25.196 3043
+-104.564 25.196 3005
+-104.438 25.196 3051
+-104.312 25.196 3054
+-104.186 25.196 3058
+-104.06 25.196 3061
+-103.934 25.196 3065
+-103.808 25.196 3065
+-103.682 25.196 3069
+-103.556 25.196 3090
+-103.43 25.196 3094
+-103.304 25.196 3099
+-103.178 25.196 3103
+-103.052 25.196 3055
+-102.926 25.196 3166
+-102.8 25.196 3166
+-102.674 25.196 3186
+-102.548 25.196 3191
+-102.422 25.196 3293
+-102.296 25.196 3298
+-102.17 25.196 3302
+-102.044 25.196 3339
+-101.918 25.196 3327
+-101.792 25.196 3334
+-101.666 25.196 3329
+-101.54 25.196 3346
+-101.414 25.196 3337
+-101.288 25.196 3360
+-101.162 25.196 3365
+-101.036 25.196 3361
+-100.91 25.196 3359
+-100.784 25.196 3363
+-100.658 25.196 3351
+-100.532 25.196 3395
+-100.406 25.196 3399
+-100.28 25.196 3373
+-100.154 25.196 3378
+-100.028 25.196 3421
+-99.902 25.196 3426
+-99.776 25.196 3389
+-99.65 25.196 3364
+-99.524 25.196 3380
+-99.398 25.196 3234
+-99.272 25.196 3237
+-99.146 25.196 3299
+-99.02 25.196 3303
+-98.894 25.196 3253
+-98.768 25.196 3269
+-98.642 25.196 3272
+-98.516 25.196 3248
+-98.39 25.196 3251
+-98.264 25.196 3254
+-98.138 25.196 3145
+-98.012 25.196 3138
+-97.886 25.196 3138
+-97.76 25.196 3139
+-97.634 25.196 3034
+-97.508 25.196 3033
+-97.382 25.196 3053
+-97.256 25.196 3031
+-97.13 25.196 2968
+-97.004 25.196 2971
+-96.878 25.196 3029
+-96.752 25.196 2998
+-96.626 25.196 3204
+-96.5 25.196 3199
+-96.374 25.196 3245
+-96.248 25.196 3383
+-96.122 25.196 3428
+-95.996 25.196 3462
+-95.87 25.196 3460
+-95.744 25.196 3459
+-95.618 25.196 3457
+-95.492 25.196 3456
+-95.366 25.196 3454
+-95.24 25.196 3472
+-95.114 25.196 3471
+-94.988 25.196 3469
+-94.862 25.196 3468
+-94.736 25.196 3466
+-94.61 25.196 3465
+-94.484 25.196 3490
+-94.358 25.196 3505
+-94.232 25.196 3503
+-94.106 25.196 3502
+-93.98 25.196 3525
+-93.854 25.196 3524
+-93.728 25.196 3523
+-93.602 25.196 3522
+-93.476 25.196 3521
+-93.35 25.196 3520
+-93.224 25.196 3519
+-93.098 25.196 3518
+-92.972 25.196 3517
+-92.846 25.196 3516
+-92.72 25.196 3515
+-92.594 25.196 3514
+-92.468 25.196 3520
+-92.342 25.196 3520
+-92.216 25.196 3519
+-92.09 25.196 3519
+-91.964 25.196 3518
+-91.838 25.196 3518
+-91.712 25.196 3517
+-91.586 25.196 3609
+-91.46 25.196 3606
+-91.334 25.196 3603
+-91.208 25.196 3599
+-91.082 25.196 3599
+-90.956 25.196 3646
+-90.83 25.196 3642
+-90.704 25.196 3636
+-90.578 25.196 3654
+-90.452 25.196 3647
+-90.326 25.196 3626
+-90.2 25.196 3620
+-90.074 25.196 3696
+-89.948 25.196 3688
+-89.822 25.196 3680
+-89.696 25.196 3672
+-89.57 25.196 3662
+-89.444 25.196 3661
+-89.318 25.196 3648
+-89.192 25.196 3650
+-89.066 25.196 3633
+-88.94 25.196 3613
+-88.814 25.196 3591
+-88.688 25.196 3571
+-88.562 25.196 3569
+-88.436 25.196 3531
+-88.31 25.196 3485
+-88.184 25.196 3432
+-88.058 25.196 3371
+-87.932 25.196 3306
+-87.806 25.196 3262
+-87.68 25.196 3251
+-87.554 25.196 3324
+-87.428 25.196 3471
+-87.302 25.196 3635
+-87.176 25.196 3793
+-87.05 25.196 4035
+-86.924 25.196 4144
+-86.798 25.196 4205
+-86.672 25.196 4253
+-86.546 25.196 4313
+-86.42 25.196 4392
+-86.294 25.196 4470
+-86.168 25.196 4584
+-86.042 25.196 4751
+-85.916 25.196 4894
+-85.79 25.196 4962
+-85.664 25.196 5082
+-85.538 25.196 5128
+-85.412 25.196 5250
+-85.286 25.196 5428
+-85.16 25.196 5425
+-85.034 25.196 5528
+-84.908 25.196 5718
+-84.782 25.196 5845
+-84.656 25.196 5940
+-84.53 25.196 6012
+-84.404 25.196 6057
+-84.278 25.196 6168
+-84.152 25.196 6227
+-84.026 25.196 6322
+-83.9 25.196 6339
+-83.774 25.196 6486
+-83.648 25.196 6503
+-83.522 25.196 6597
+-83.396 25.196 6645
+-83.27 25.196 6726
+-83.144 25.196 6722
+-83.018 25.196 6822
+-82.892 25.196 6866
+-82.766 25.196 6904
+-82.64 25.196 6941
+-82.514 25.196 6926
+-82.388 25.196 6941
+-82.262 25.196 6961
+-82.136 25.196 6963
+-82.01 25.196 6953
+-81.884 25.196 6941
+-81.758 25.196 6904
+-81.632 25.196 6883
+-81.506 25.196 6840
+-81.38 25.196 6802
+-81.254 25.196 6788
+-81.128 25.196 6722
+-81.002 25.196 6654
+-80.876 25.196 6638
+-80.75 25.196 6537
+-80.624 25.196 6454
+-80.498 25.196 6377
+-80.372 25.196 6305
+-80.246 25.196 6277
+-80.12 25.196 6221
+-79.994 25.196 6126
+-79.868 25.196 6015
+-79.742 25.196 5821
+-79.616 25.196 5677
+-79.49 25.196 5589
+-79.364 25.196 5508
+-79.238 25.196 5417
+-79.112 25.196 5386
+-78.986 25.196 5230
+-78.86 25.196 5061
+-78.734 25.196 5115
+-78.608 25.196 5076
+-78.482 25.196 5000
+-78.356 25.196 4840
+-78.23 25.196 4728
+-78.104 25.196 4597
+-77.978 25.196 4442
+-77.852 25.196 4396
+-77.726 25.196 4294
+-77.6 25.196 4167
+-77.474 25.196 4061
+-77.348 25.196 3976
+-77.222 25.196 3884
+-77.096 25.196 3758
+-76.97 25.196 3686
+-76.844 25.196 3641
+-76.718 25.196 3624
+-76.592 25.196 3623
+-76.466 25.196 3540
+-76.34 25.196 3517
+-76.214 25.196 3469
+-76.088 25.196 3443
+-75.962 25.196 3381
+-75.836 25.196 3341
+-75.71 25.196 3288
+-75.584 25.196 3220
+-75.458 25.196 3070
+-75.332 25.196 2964
+-75.206 25.196 2839
+-75.08 25.196 2645
+-74.954 25.196 2493
+-74.828 25.196 2335
+-74.702 25.196 2196
+-74.576 25.196 2085
+-74.45 25.196 1979
+-74.324 25.196 1951
+-74.198 25.196 1935
+-74.072 25.196 1975
+-73.946 25.196 2036
+-73.82 25.196 2108
+-73.694 25.196 2161
+-73.568 25.196 2221
+-73.442 25.196 2297
+-73.316 25.196 2361
+-73.19 25.196 2422
+-73.064 25.196 2482
+-72.938 25.196 2536
+-72.812 25.196 2585
+-72.686 25.196 2604
+-72.56 25.196 2643
+-72.434 25.196 2679
+-72.308 25.196 2667
+-72.182 25.196 2698
+-72.056 25.196 2691
+-71.93 25.196 2705
+-71.804 25.196 2694
+-71.678 25.196 2715
+-71.552 25.196 2691
+-71.426 25.196 2707
+-71.3 25.196 2723
+-71.174 25.196 2737
+-71.048 25.196 2750
+-70.922 25.196 2762
+-70.796 25.196 2773
+-70.67 25.196 2783
+-70.544 25.196 2793
+-70.418 25.196 2802
+-70.292 25.196 2810
+-70.166 25.196 2818
+-70.04 25.196 2826
+-69.914 25.196 2833
+-69.788 25.196 2839
+-69.662 25.196 2845
+-69.536 25.196 2851
+-69.41 25.196 2857
+-69.284 25.196 2862
+-69.158 25.196 2867
+-69.032 25.196 2845
+-68.906 25.196 2850
+-68.78 25.196 2855
+-68.654 25.196 2860
+-68.528 25.196 2864
+-68.402 25.196 2869
+-68.276 25.196 2829
+-68.15 25.196 2834
+-68.024 25.196 2827
+-67.898 25.196 2826
+-67.772 25.196 2800
+-67.646 25.196 2804
+-67.52 25.196 2808
+-67.394 25.196 2812
+-67.268 25.196 2816
+-67.142 25.196 2819
+-67.016 25.196 2823
+-66.89 25.196 2826
+-66.764 25.196 2829
+-66.638 25.196 2832
+-66.512 25.196 2835
+-66.386 25.196 2838
+-66.26 25.196 2841
+-66.134 25.196 2844
+-66.008 25.196 2846
+-65.882 25.196 2849
+-65.756 25.196 2851
+-65.63 25.196 2853
+-65.504 25.196 2856
+-65.378 25.196 2858
+-65.252 25.196 2860
+-65.126 25.196 2862
+-128 25.144 3595
+-127.874 25.144 3340
+-127.748 25.144 3349
+-127.622 25.144 3370
+-127.496 25.144 3265
+-127.37 25.144 3262
+-127.244 25.144 3243
+-127.118 25.144 3314
+-126.992 25.144 3276
+-126.866 25.144 3272
+-126.74 25.144 3297
+-126.614 25.144 3190
+-126.488 25.144 3194
+-126.362 25.144 3224
+-126.236 25.144 3214
+-126.11 25.144 3209
+-125.984 25.144 3204
+-125.858 25.144 3114
+-125.732 25.144 3112
+-125.606 25.144 3029
+-125.48 25.144 3036
+-125.354 25.144 3037
+-125.228 25.144 3031
+-125.102 25.144 2991
+-124.976 25.144 2985
+-124.85 25.144 2978
+-124.724 25.144 2996
+-124.598 25.144 2972
+-124.472 25.144 2964
+-124.346 25.144 2914
+-124.22 25.144 2905
+-124.094 25.144 2956
+-123.968 25.144 2913
+-123.842 25.144 2890
+-123.716 25.144 2795
+-123.59 25.144 2820
+-123.464 25.144 2809
+-123.338 25.144 2797
+-123.212 25.144 2784
+-123.086 25.144 2770
+-122.96 25.144 2756
+-122.834 25.144 2686
+-122.708 25.144 2678
+-122.582 25.144 2661
+-122.456 25.144 2617
+-122.33 25.144 2588
+-122.204 25.144 2559
+-122.078 25.144 2537
+-121.952 25.144 2493
+-121.826 25.144 2467
+-121.7 25.144 2424
+-121.574 25.144 2388
+-121.448 25.144 2342
+-121.322 25.144 2305
+-121.196 25.144 2257
+-121.07 25.144 2210
+-120.944 25.144 2157
+-120.818 25.144 2098
+-120.692 25.144 2031
+-120.566 25.144 1956
+-120.44 25.144 1837
+-120.314 25.144 1745
+-120.188 25.144 1643
+-120.062 25.144 1521
+-119.936 25.144 1400
+-119.81 25.144 1259
+-119.684 25.144 1131
+-119.558 25.144 1011
+-119.432 25.144 910
+-119.306 25.144 842
+-119.18 25.144 819
+-119.054 25.144 848
+-118.928 25.144 928
+-118.802 25.144 1050
+-118.676 25.144 1199
+-118.55 25.144 1341
+-118.424 25.144 1495
+-118.298 25.144 1638
+-118.172 25.144 1767
+-118.046 25.144 1874
+-117.92 25.144 1971
+-117.794 25.144 2053
+-117.668 25.144 2112
+-117.542 25.144 2171
+-117.416 25.144 2208
+-117.29 25.144 2250
+-117.164 25.144 2282
+-117.038 25.144 2301
+-116.912 25.144 2335
+-116.786 25.144 2360
+-116.66 25.144 2383
+-116.534 25.144 2404
+-116.408 25.144 2424
+-116.282 25.144 2443
+-116.156 25.144 2510
+-116.03 25.144 2532
+-115.904 25.144 2479
+-115.778 25.144 2510
+-115.652 25.144 2528
+-115.526 25.144 2538
+-115.4 25.144 2575
+-115.274 25.144 2578
+-115.148 25.144 2749
+-115.022 25.144 2760
+-114.896 25.144 2697
+-114.77 25.144 2706
+-114.644 25.144 2753
+-114.518 25.144 2760
+-114.392 25.144 2788
+-114.266 25.144 2804
+-114.14 25.144 2809
+-114.014 25.144 2793
+-113.888 25.144 2797
+-113.762 25.144 2824
+-113.636 25.144 2827
+-113.51 25.144 2820
+-113.384 25.144 2815
+-113.258 25.144 2817
+-113.132 25.144 2853
+-113.006 25.144 2836
+-112.88 25.144 2835
+-112.754 25.144 2835
+-112.628 25.144 2835
+-112.502 25.144 2834
+-112.376 25.144 2803
+-112.25 25.144 2811
+-112.124 25.144 2808
+-111.998 25.144 2805
+-111.872 25.144 2797
+-111.746 25.144 2749
+-111.62 25.144 2741
+-111.494 25.144 2754
+-111.368 25.144 2742
+-111.242 25.144 2727
+-111.116 25.144 2709
+-110.99 25.144 2688
+-110.864 25.144 2660
+-110.738 25.144 2627
+-110.612 25.144 2587
+-110.486 25.144 2543
+-110.36 25.144 2499
+-110.234 25.144 2486
+-110.108 25.144 2473
+-109.982 25.144 2490
+-109.856 25.144 2528
+-109.73 25.144 2573
+-109.604 25.144 2614
+-109.478 25.144 2654
+-109.352 25.144 2624
+-109.226 25.144 2631
+-109.1 25.144 2576
+-108.974 25.144 2503
+-108.848 25.144 2411
+-108.722 25.144 2327
+-108.596 25.144 2292
+-108.47 25.144 2321
+-108.344 25.144 2391
+-108.218 25.144 2492
+-108.092 25.144 2577
+-107.966 25.144 2652
+-107.84 25.144 2710
+-107.714 25.144 2761
+-107.588 25.144 2819
+-107.462 25.144 2863
+-107.336 25.144 2894
+-107.21 25.144 2919
+-107.084 25.144 2998
+-106.958 25.144 3016
+-106.832 25.144 3031
+-106.706 25.144 2999
+-106.58 25.144 3016
+-106.454 25.144 3021
+-106.328 25.144 3026
+-106.202 25.144 3023
+-106.076 25.144 3028
+-105.95 25.144 3035
+-105.824 25.144 3099
+-105.698 25.144 3088
+-105.572 25.144 3006
+-105.446 25.144 3006
+-105.32 25.144 3006
+-105.194 25.144 3023
+-105.068 25.144 3024
+-104.942 25.144 3025
+-104.816 25.144 3048
+-104.69 25.144 3050
+-104.564 25.144 3052
+-104.438 25.144 3013
+-104.312 25.144 3061
+-104.186 25.144 3064
+-104.06 25.144 3067
+-103.934 25.144 3070
+-103.808 25.144 3073
+-103.682 25.144 3073
+-103.556 25.144 3077
+-103.43 25.144 3098
+-103.304 25.144 3102
+-103.178 25.144 3106
+-103.052 25.144 3110
+-102.926 25.144 3062
+-102.8 25.144 3174
+-102.674 25.144 3173
+-102.548 25.144 3194
+-102.422 25.144 3198
+-102.296 25.144 3302
+-102.17 25.144 3306
+-102.044 25.144 3310
+-101.918 25.144 3348
+-101.792 25.144 3337
+-101.666 25.144 3342
+-101.54 25.144 3336
+-101.414 25.144 3353
+-101.288 25.144 3344
+-101.162 25.144 3367
+-101.036 25.144 3371
+-100.91 25.144 3367
+-100.784 25.144 3365
+-100.658 25.144 3369
+-100.532 25.144 3356
+-100.406 25.144 3401
+-100.28 25.144 3405
+-100.154 25.144 3378
+-100.028 25.144 3383
+-99.902 25.144 3427
+-99.776 25.144 3431
+-99.65 25.144 3394
+-99.524 25.144 3368
+-99.398 25.144 3384
+-99.272 25.144 3237
+-99.146 25.144 3240
+-99.02 25.144 3303
+-98.894 25.144 3306
+-98.768 25.144 3256
+-98.642 25.144 3272
+-98.516 25.144 3275
+-98.39 25.144 3250
+-98.264 25.144 3253
+-98.138 25.144 3144
+-98.012 25.144 3144
+-97.886 25.144 3138
+-97.76 25.144 3138
+-97.634 25.144 3033
+-97.508 25.144 3033
+-97.382 25.144 3053
+-97.256 25.144 3030
+-97.13 25.144 2968
+-97.004 25.144 2971
+-96.878 25.144 3029
+-96.752 25.144 2998
+-96.626 25.144 3204
+-96.5 25.144 3199
+-96.374 25.144 3245
+-96.248 25.144 3382
+-96.122 25.144 3462
+-95.996 25.144 3461
+-95.87 25.144 3459
+-95.744 25.144 3458
+-95.618 25.144 3456
+-95.492 25.144 3454
+-95.366 25.144 3472
+-95.24 25.144 3471
+-95.114 25.144 3470
+-94.988 25.144 3468
+-94.862 25.144 3467
+-94.736 25.144 3465
+-94.61 25.144 3491
+-94.484 25.144 3506
+-94.358 25.144 3504
+-94.232 25.144 3502
+-94.106 25.144 3525
+-93.98 25.144 3524
+-93.854 25.144 3523
+-93.728 25.144 3522
+-93.602 25.144 3521
+-93.476 25.144 3520
+-93.35 25.144 3519
+-93.224 25.144 3518
+-93.098 25.144 3517
+-92.972 25.144 3516
+-92.846 25.144 3515
+-92.72 25.144 3513
+-92.594 25.144 3519
+-92.468 25.144 3519
+-92.342 25.144 3518
+-92.216 25.144 3518
+-92.09 25.144 3517
+-91.964 25.144 3516
+-91.838 25.144 3516
+-91.712 25.144 3607
+-91.586 25.144 3604
+-91.46 25.144 3601
+-91.334 25.144 3597
+-91.208 25.144 3598
+-91.082 25.144 3645
+-90.956 25.144 3640
+-90.83 25.144 3635
+-90.704 25.144 3653
+-90.578 25.144 3646
+-90.452 25.144 3624
+-90.326 25.144 3618
+-90.2 25.144 3695
+-90.074 25.144 3688
+-89.948 25.144 3681
+-89.822 25.144 3672
+-89.696 25.144 3663
+-89.57 25.144 3663
+-89.444 25.144 3651
+-89.318 25.144 3654
+-89.192 25.144 3638
+-89.066 25.144 3621
+-88.94 25.144 3601
+-88.814 25.144 3586
+-88.688 25.144 3559
+-88.562 25.144 3528
+-88.436 25.144 3517
+-88.31 25.144 3471
+-88.184 25.144 3413
+-88.058 25.144 3339
+-87.932 25.144 3244
+-87.806 25.144 3133
+-87.68 25.144 3078
+-87.554 25.144 3180
+-87.428 25.144 3377
+-87.302 25.144 3601
+-87.176 25.144 3784
+-87.05 25.144 3944
+-86.924 25.144 4055
+-86.798 25.144 4128
+-86.672 25.144 4167
+-86.546 25.144 4154
+-86.42 25.144 4275
+-86.294 25.144 4462
+-86.168 25.144 4610
+-86.042 25.144 4754
+-85.916 25.144 4911
+-85.79 25.144 4982
+-85.664 25.144 5041
+-85.538 25.144 5129
+-85.412 25.144 5251
+-85.286 25.144 5412
+-85.16 25.144 5462
+-85.034 25.144 5543
+-84.908 25.144 5661
+-84.782 25.144 5804
+-84.656 25.144 5883
+-84.53 25.144 5968
+-84.404 25.144 5945
+-84.278 25.144 6074
+-84.152 25.144 6202
+-84.026 25.144 6236
+-83.9 25.144 6357
+-83.774 25.144 6432
+-83.648 25.144 6481
+-83.522 25.144 6569
+-83.396 25.144 6585
+-83.27 25.144 6664
+-83.144 25.144 6718
+-83.018 25.144 6751
+-82.892 25.144 6798
+-82.766 25.144 6830
+-82.64 25.144 6860
+-82.514 25.144 6898
+-82.388 25.144 6868
+-82.262 25.144 6871
+-82.136 25.144 6882
+-82.01 25.144 6896
+-81.884 25.144 6879
+-81.758 25.144 6852
+-81.632 25.144 6825
+-81.506 25.144 6794
+-81.38 25.144 6745
+-81.254 25.144 6723
+-81.128 25.144 6660
+-81.002 25.144 6608
+-80.876 25.144 6548
+-80.75 25.144 6468
+-80.624 25.144 6395
+-80.498 25.144 6297
+-80.372 25.144 6233
+-80.246 25.144 6201
+-80.12 25.144 6161
+-79.994 25.144 6080
+-79.868 25.144 5934
+-79.742 25.144 5754
+-79.616 25.144 5678
+-79.49 25.144 5651
+-79.364 25.144 5503
+-79.238 25.144 5439
+-79.112 25.144 5362
+-78.986 25.144 5236
+-78.86 25.144 5138
+-78.734 25.144 5092
+-78.608 25.144 5028
+-78.482 25.144 4868
+-78.356 25.144 4742
+-78.23 25.144 4608
+-78.104 25.144 4417
+-77.978 25.144 4284
+-77.852 25.144 4272
+-77.726 25.144 4226
+-77.6 25.144 4111
+-77.474 25.144 4042
+-77.348 25.144 3968
+-77.222 25.144 3858
+-77.096 25.144 3780
+-76.97 25.144 3694
+-76.844 25.144 3658
+-76.718 25.144 3644
+-76.592 25.144 3642
+-76.466 25.144 3509
+-76.34 25.144 3464
+-76.214 25.144 3439
+-76.088 25.144 3413
+-75.962 25.144 3367
+-75.836 25.144 3321
+-75.71 25.144 3261
+-75.584 25.144 3119
+-75.458 25.144 2981
+-75.332 25.144 2857
+-75.206 25.144 2708
+-75.08 25.144 2535
+-74.954 25.144 2327
+-74.828 25.144 2136
+-74.702 25.144 1958
+-74.576 25.144 1824
+-74.45 25.144 1744
+-74.324 25.144 1691
+-74.198 25.144 1723
+-74.072 25.144 1770
+-73.946 25.144 1861
+-73.82 25.144 1961
+-73.694 25.144 2063
+-73.568 25.144 2138
+-73.442 25.144 2210
+-73.316 25.144 2294
+-73.19 25.144 2365
+-73.064 25.144 2430
+-72.938 25.144 2491
+-72.812 25.144 2546
+-72.686 25.144 2596
+-72.56 25.144 2614
+-72.434 25.144 2653
+-72.308 25.144 2689
+-72.182 25.144 2676
+-72.056 25.144 2706
+-71.93 25.144 2699
+-71.804 25.144 2712
+-71.678 25.144 2700
+-71.552 25.144 2720
+-71.426 25.144 2696
+-71.3 25.144 2712
+-71.174 25.144 2727
+-71.048 25.144 2741
+-70.922 25.144 2753
+-70.796 25.144 2765
+-70.67 25.144 2776
+-70.544 25.144 2786
+-70.418 25.144 2795
+-70.292 25.144 2804
+-70.166 25.144 2813
+-70.04 25.144 2820
+-69.914 25.144 2828
+-69.788 25.144 2834
+-69.662 25.144 2841
+-69.536 25.144 2847
+-69.41 25.144 2853
+-69.284 25.144 2858
+-69.158 25.144 2863
+-69.032 25.144 2868
+-68.906 25.144 2846
+-68.78 25.144 2851
+-68.654 25.144 2856
+-68.528 25.144 2861
+-68.402 25.144 2865
+-68.276 25.144 2870
+-68.15 25.144 2830
+-68.024 25.144 2835
+-67.898 25.144 2828
+-67.772 25.144 2826
+-67.646 25.144 2801
+-67.52 25.144 2805
+-67.394 25.144 2809
+-67.268 25.144 2812
+-67.142 25.144 2816
+-67.016 25.144 2820
+-66.89 25.144 2823
+-66.764 25.144 2826
+-66.638 25.144 2829
+-66.512 25.144 2832
+-66.386 25.144 2835
+-66.26 25.144 2838
+-66.134 25.144 2841
+-66.008 25.144 2844
+-65.882 25.144 2846
+-65.756 25.144 2849
+-65.63 25.144 2851
+-65.504 25.144 2853
+-65.378 25.144 2856
+-65.252 25.144 2858
+-65.126 25.144 2860
+-128 25.092 3340
+-127.874 25.092 3349
+-127.748 25.092 3370
+-127.622 25.092 3265
+-127.496 25.092 3262
+-127.37 25.092 3243
+-127.244 25.092 3314
+-127.118 25.092 3276
+-126.992 25.092 3272
+-126.866 25.092 3297
+-126.74 25.092 3190
+-126.614 25.092 3194
+-126.488 25.092 3225
+-126.362 25.092 3215
+-126.236 25.092 3209
+-126.11 25.092 3205
+-125.984 25.092 3115
+-125.858 25.092 3113
+-125.732 25.092 3030
+-125.606 25.092 3037
+-125.48 25.092 3038
+-125.354 25.092 3032
+-125.228 25.092 2992
+-125.102 25.092 2986
+-124.976 25.092 2979
+-124.85 25.092 2998
+-124.724 25.092 2973
+-124.598 25.092 2966
+-124.472 25.092 2916
+-124.346 25.092 2908
+-124.22 25.092 2959
+-124.094 25.092 2916
+-123.968 25.092 2894
+-123.842 25.092 2798
+-123.716 25.092 2824
+-123.59 25.092 2813
+-123.464 25.092 2802
+-123.338 25.092 2789
+-123.212 25.092 2776
+-123.086 25.092 2762
+-122.96 25.092 2692
+-122.834 25.092 2685
+-122.708 25.092 2669
+-122.582 25.092 2626
+-122.456 25.092 2597
+-122.33 25.092 2568
+-122.204 25.092 2548
+-122.078 25.092 2505
+-121.952 25.092 2480
+-121.826 25.092 2439
+-121.7 25.092 2405
+-121.574 25.092 2360
+-121.448 25.092 2325
+-121.322 25.092 2281
+-121.196 25.092 2237
+-121.07 25.092 2188
+-120.944 25.092 2133
+-120.818 25.092 2071
+-120.692 25.092 2002
+-120.566 25.092 1886
+-120.44 25.092 1801
+-120.314 25.092 1706
+-120.188 25.092 1589
+-120.062 25.092 1472
+-119.936 25.092 1331
+-119.81 25.092 1199
+-119.684 25.092 1066
+-119.558 25.092 939
+-119.432 25.092 833
+-119.306 25.092 760
+-119.18 25.092 734
+-119.054 25.092 763
+-118.928 25.092 844
+-118.802 25.092 970
+-118.676 25.092 1112
+-118.55 25.092 1274
+-118.424 25.092 1434
+-118.298 25.092 1584
+-118.172 25.092 1712
+-118.046 25.092 1832
+-117.92 25.092 1934
+-117.794 25.092 2013
+-117.668 25.092 2087
+-117.542 25.092 2137
+-117.416 25.092 2190
+-117.29 25.092 2230
+-117.164 25.092 2257
+-117.038 25.092 2297
+-116.912 25.092 2327
+-116.786 25.092 2354
+-116.66 25.092 2378
+-116.534 25.092 2401
+-116.408 25.092 2421
+-116.282 25.092 2488
+-116.156 25.092 2510
+-116.03 25.092 2458
+-115.904 25.092 2489
+-115.778 25.092 2508
+-115.652 25.092 2518
+-115.526 25.092 2554
+-115.4 25.092 2558
+-115.274 25.092 2565
+-115.148 25.092 2625
+-115.022 25.092 2686
+-114.896 25.092 2693
+-114.77 25.092 2701
+-114.644 25.092 2747
+-114.518 25.092 2753
+-114.392 25.092 2781
+-114.266 25.092 2786
+-114.14 25.092 2778
+-114.014 25.092 2781
+-113.888 25.092 2786
+-113.762 25.092 2811
+-113.636 25.092 2802
+-113.51 25.092 2796
+-113.384 25.092 2797
+-113.258 25.092 2788
+-113.132 25.092 2771
+-113.006 25.092 2813
+-112.88 25.092 2811
+-112.754 25.092 2808
+-112.628 25.092 2805
+-112.502 25.092 2772
+-112.376 25.092 2778
+-112.25 25.092 2773
+-112.124 25.092 2768
+-111.998 25.092 2759
+-111.872 25.092 2710
+-111.746 25.092 2701
+-111.62 25.092 2692
+-111.494 25.092 2702
+-111.368 25.092 2689
+-111.242 25.092 2674
+-111.116 25.092 2655
+-110.99 25.092 2633
+-110.864 25.092 2605
+-110.738 25.092 2569
+-110.612 25.092 2525
+-110.486 25.092 2473
+-110.36 25.092 2418
+-110.234 25.092 2375
+-110.108 25.092 2369
+-109.982 25.092 2391
+-109.856 25.092 2443
+-109.73 25.092 2506
+-109.604 25.092 2560
+-109.478 25.092 2588
+-109.352 25.092 2599
+-109.226 25.092 2587
+-109.1 25.092 2580
+-108.974 25.092 2518
+-108.848 25.092 2451
+-108.722 25.092 2392
+-108.596 25.092 2367
+-108.47 25.092 2385
+-108.344 25.092 2435
+-108.218 25.092 2498
+-108.092 25.092 2592
+-107.966 25.092 2657
+-107.84 25.092 2714
+-107.714 25.092 2757
+-107.588 25.092 2798
+-107.462 25.092 2849
+-107.336 25.092 2886
+-107.21 25.092 2911
+-107.084 25.092 2932
+-106.958 25.092 3012
+-106.832 25.092 3027
+-106.706 25.092 3040
+-106.58 25.092 3006
+-106.454 25.092 3021
+-106.328 25.092 3027
+-106.202 25.092 3031
+-106.076 25.092 3028
+-105.95 25.092 3034
+-105.824 25.092 3041
+-105.698 25.092 3107
+-105.572 25.092 3095
+-105.446 25.092 3012
+-105.32 25.092 3012
+-105.194 25.092 3012
+-105.068 25.092 3030
+-104.942 25.092 3031
+-104.816 25.092 3032
+-104.69 25.092 3057
+-104.564 25.092 3059
+-104.438 25.092 3061
+-104.312 25.092 3020
+-104.186 25.092 3069
+-104.06 25.092 3072
+-103.934 25.092 3075
+-103.808 25.092 3078
+-103.682 25.092 3081
+-103.556 25.092 3081
+-103.43 25.092 3084
+-103.304 25.092 3106
+-103.178 25.092 3109
+-103.052 25.092 3113
+-102.926 25.092 3117
+-102.8 25.092 3067
+-102.674 25.092 3182
+-102.548 25.092 3180
+-102.422 25.092 3201
+-102.296 25.092 3205
+-102.17 25.092 3310
+-102.044 25.092 3314
+-101.918 25.092 3318
+-101.792 25.092 3356
+-101.666 25.092 3343
+-101.54 25.092 3349
+-101.414 25.092 3343
+-101.288 25.092 3360
+-101.162 25.092 3351
+-101.036 25.092 3373
+-100.91 25.092 3378
+-100.784 25.092 3374
+-100.658 25.092 3371
+-100.532 25.092 3375
+-100.406 25.092 3362
+-100.28 25.092 3406
+-100.154 25.092 3411
+-100.028 25.092 3383
+-99.902 25.092 3387
+-99.776 25.092 3432
+-99.65 25.092 3436
+-99.524 25.092 3398
+-99.398 25.092 3372
+-99.272 25.092 3389
+-99.146 25.092 3240
+-99.02 25.092 3243
+-98.894 25.092 3306
+-98.768 25.092 3310
+-98.642 25.092 3259
+-98.516 25.092 3275
+-98.39 25.092 3278
+-98.264 25.092 3253
+-98.138 25.092 3144
+-98.012 25.092 3144
+-97.886 25.092 3144
+-97.76 25.092 3137
+-97.634 25.092 3033
+-97.508 25.092 3032
+-97.382 25.092 3052
+-97.256 25.092 3030
+-97.13 25.092 2968
+-97.004 25.092 2970
+-96.878 25.092 3029
+-96.752 25.092 2999
+-96.626 25.092 3204
+-96.5 25.092 3199
+-96.374 25.092 3254
+-96.248 25.092 3381
+-96.122 25.092 3461
+-95.996 25.092 3460
+-95.87 25.092 3458
+-95.744 25.092 3457
+-95.618 25.092 3455
+-95.492 25.092 3473
+-95.366 25.092 3471
+-95.24 25.092 3470
+-95.114 25.092 3469
+-94.988 25.092 3467
+-94.862 25.092 3466
+-94.736 25.092 3491
+-94.61 25.092 3506
+-94.484 25.092 3505
+-94.358 25.092 3503
+-94.232 25.092 3525
+-94.106 25.092 3524
+-93.98 25.092 3523
+-93.854 25.092 3522
+-93.728 25.092 3521
+-93.602 25.092 3520
+-93.476 25.092 3519
+-93.35 25.092 3518
+-93.224 25.092 3517
+-93.098 25.092 3516
+-92.972 25.092 3514
+-92.846 25.092 3513
+-92.72 25.092 3519
+-92.594 25.092 3518
+-92.468 25.092 3518
+-92.342 25.092 3517
+-92.216 25.092 3516
+-92.09 25.092 3516
+-91.964 25.092 3515
+-91.838 25.092 3606
+-91.712 25.092 3603
+-91.586 25.092 3600
+-91.46 25.092 3596
+-91.334 25.092 3597
+-91.208 25.092 3644
+-91.082 25.092 3639
+-90.956 25.092 3634
+-90.83 25.092 3652
+-90.704 25.092 3646
+-90.578 25.092 3623
+-90.452 25.092 3617
+-90.326 25.092 3696
+-90.2 25.092 3689
+-90.074 25.092 3681
+-89.948 25.092 3674
+-89.822 25.092 3675
+-89.696 25.092 3665
+-89.57 25.092 3654
+-89.444 25.092 3658
+-89.318 25.092 3644
+-89.192 25.092 3628
+-89.066 25.092 3589
+-88.94 25.092 3570
+-88.814 25.092 3549
+-88.688 25.092 3549
+-88.562 25.092 3519
+-88.436 25.092 3482
+-88.31 25.092 3440
+-88.184 25.092 3402
+-88.058 25.092 3320
+-87.932 25.092 3207
+-87.806 25.092 3063
+-87.68 25.092 2973
+-87.554 25.092 3091
+-87.428 25.092 3326
+-87.302 25.092 3543
+-87.176 25.092 3734
+-87.05 25.092 3887
+-86.924 25.092 4008
+-86.798 25.092 4103
+-86.672 25.092 4099
+-86.546 25.092 4052
+-86.42 25.092 4187
+-86.294 25.092 4424
+-86.168 25.092 4543
+-86.042 25.092 4709
+-85.916 25.092 4872
+-85.79 25.092 4972
+-85.664 25.092 4966
+-85.538 25.092 5072
+-85.412 25.092 5219
+-85.286 25.092 5376
+-85.16 25.092 5492
+-85.034 25.092 5556
+-84.908 25.092 5627
+-84.782 25.092 5702
+-84.656 25.092 5795
+-84.53 25.092 5911
+-84.404 25.092 5981
+-84.278 25.092 5980
+-84.152 25.092 6118
+-84.026 25.092 6213
+-83.9 25.092 6297
+-83.774 25.092 6333
+-83.648 25.092 6431
+-83.522 25.092 6538
+-83.396 25.092 6593
+-83.27 25.092 6604
+-83.144 25.092 6668
+-83.018 25.092 6684
+-82.892 25.092 6731
+-82.766 25.092 6768
+-82.64 25.092 6787
+-82.514 25.092 6812
+-82.388 25.092 6839
+-82.262 25.092 6818
+-82.136 25.092 6830
+-82.01 25.092 6811
+-81.884 25.092 6785
+-81.758 25.092 6756
+-81.632 25.092 6767
+-81.506 25.092 6716
+-81.38 25.092 6680
+-81.254 25.092 6650
+-81.128 25.092 6593
+-81.002 25.092 6565
+-80.876 25.092 6480
+-80.75 25.092 6407
+-80.624 25.092 6392
+-80.498 25.092 6265
+-80.372 25.092 6180
+-80.246 25.092 6102
+-80.12 25.092 6110
+-79.994 25.092 6029
+-79.868 25.092 5884
+-79.742 25.092 5761
+-79.616 25.092 5665
+-79.49 25.092 5578
+-79.364 25.092 5453
+-79.238 25.092 5311
+-79.112 25.092 5317
+-78.986 25.092 5242
+-78.86 25.092 5169
+-78.734 25.092 5044
+-78.608 25.092 4908
+-78.482 25.092 4766
+-78.356 25.092 4615
+-78.23 25.092 4487
+-78.104 25.092 4325
+-77.978 25.092 4226
+-77.852 25.092 4220
+-77.726 25.092 4143
+-77.6 25.092 4044
+-77.474 25.092 3994
+-77.348 25.092 3925
+-77.222 25.092 3812
+-77.096 25.092 3735
+-76.97 25.092 3680
+-76.844 25.092 3639
+-76.718 25.092 3628
+-76.592 25.092 3595
+-76.466 25.092 3509
+-76.34 25.092 3484
+-76.214 25.092 3434
+-76.088 25.092 3401
+-75.962 25.092 3363
+-75.836 25.092 3301
+-75.71 25.092 3172
+-75.584 25.092 3047
+-75.458 25.092 2933
+-75.332 25.092 2790
+-75.206 25.092 2614
+-75.08 25.092 2405
+-74.954 25.092 2171
+-74.828 25.092 1907
+-74.702 25.092 1691
+-74.576 25.092 1527
+-74.45 25.092 1442
+-74.324 25.092 1436
+-74.198 25.092 1467
+-74.072 25.092 1573
+-73.946 25.092 1682
+-73.82 25.092 1815
+-73.694 25.092 1944
+-73.568 25.092 2065
+-73.442 25.092 2150
+-73.316 25.092 2227
+-73.19 25.092 2314
+-73.064 25.092 2386
+-72.938 25.092 2450
+-72.812 25.092 2511
+-72.686 25.092 2565
+-72.56 25.092 2613
+-72.434 25.092 2630
+-72.308 25.092 2668
+-72.182 25.092 2702
+-72.056 25.092 2688
+-71.93 25.092 2717
+-71.804 25.092 2709
+-71.678 25.092 2721
+-71.552 25.092 2708
+-71.426 25.092 2727
+-71.3 25.092 2703
+-71.174 25.092 2718
+-71.048 25.092 2732
+-70.922 25.092 2745
+-70.796 25.092 2758
+-70.67 25.092 2769
+-70.544 25.092 2780
+-70.418 25.092 2789
+-70.292 25.092 2799
+-70.166 25.092 2807
+-70.04 25.092 2815
+-69.914 25.092 2823
+-69.788 25.092 2830
+-69.662 25.092 2837
+-69.536 25.092 2843
+-69.41 25.092 2849
+-69.284 25.092 2854
+-69.158 25.092 2860
+-69.032 25.092 2865
+-68.906 25.092 2870
+-68.78 25.092 2847
+-68.654 25.092 2852
+-68.528 25.092 2857
+-68.402 25.092 2862
+-68.276 25.092 2866
+-68.15 25.092 2871
+-68.024 25.092 2831
+-67.898 25.092 2836
+-67.772 25.092 2829
+-67.646 25.092 2827
+-67.52 25.092 2801
+-67.394 25.092 2805
+-67.268 25.092 2809
+-67.142 25.092 2813
+-67.016 25.092 2816
+-66.89 25.092 2820
+-66.764 25.092 2823
+-66.638 25.092 2826
+-66.512 25.092 2830
+-66.386 25.092 2833
+-66.26 25.092 2836
+-66.134 25.092 2838
+-66.008 25.092 2841
+-65.882 25.092 2844
+-65.756 25.092 2846
+-65.63 25.092 2849
+-65.504 25.092 2851
+-65.378 25.092 2853
+-65.252 25.092 2856
+-65.126 25.092 2858
+-128 25.04 3349
+-127.874 25.04 3370
+-127.748 25.04 3265
+-127.622 25.04 3262
+-127.496 25.04 3243
+-127.37 25.04 3315
+-127.244 25.04 3276
+-127.118 25.04 3272
+-126.992 25.04 3297
+-126.866 25.04 3191
+-126.74 25.04 3195
+-126.614 25.04 3225
+-126.488 25.04 3216
+-126.362 25.04 3211
+-126.236 25.04 3205
+-126.11 25.04 3115
+-125.984 25.04 3113
+-125.858 25.04 3031
+-125.732 25.04 3038
+-125.606 25.04 3039
+-125.48 25.04 3034
+-125.354 25.04 2993
+-125.228 25.04 2987
+-125.102 25.04 2981
+-124.976 25.04 3000
+-124.85 25.04 2975
+-124.724 25.04 2968
+-124.598 25.04 2918
+-124.472 25.04 2910
+-124.346 25.04 2963
+-124.22 25.04 2920
+-124.094 25.04 2897
+-123.968 25.04 2801
+-123.842 25.04 2829
+-123.716 25.04 2818
+-123.59 25.04 2807
+-123.464 25.04 2795
+-123.338 25.04 2782
+-123.212 25.04 2769
+-123.086 25.04 2699
+-122.96 25.04 2693
+-122.834 25.04 2677
+-122.708 25.04 2634
+-122.582 25.04 2607
+-122.456 25.04 2579
+-122.33 25.04 2559
+-122.204 25.04 2517
+-122.078 25.04 2494
+-121.952 25.04 2454
+-121.826 25.04 2422
+-121.7 25.04 2379
+-121.574 25.04 2347
+-121.448 25.04 2305
+-121.322 25.04 2265
+-121.196 25.04 2220
+-121.07 25.04 2170
+-120.944 25.04 2114
+-120.818 25.04 2050
+-120.692 25.04 1939
+-120.566 25.04 1862
+-120.44 25.04 1775
+-120.314 25.04 1668
+-120.188 25.04 1561
+-120.062 25.04 1426
+-119.936 25.04 1301
+-119.81 25.04 1169
+-119.684 25.04 1035
+-119.558 25.04 910
+-119.432 25.04 805
+-119.306 25.04 733
+-119.18 25.04 707
+-119.054 25.04 734
+-118.928 25.04 813
+-118.802 25.04 930
+-118.676 25.04 1077
+-118.55 25.04 1237
+-118.424 25.04 1397
+-118.298 25.04 1542
+-118.172 25.04 1679
+-118.046 25.04 1801
+-117.92 25.04 1898
+-117.794 25.04 1989
+-117.668 25.04 2053
+-117.542 25.04 2118
+-117.416 25.04 2168
+-117.29 25.04 2204
+-117.164 25.04 2251
+-117.038 25.04 2288
+-116.912 25.04 2320
+-116.786 25.04 2347
+-116.66 25.04 2373
+-116.534 25.04 2397
+-116.408 25.04 2463
+-116.282 25.04 2487
+-116.156 25.04 2436
+-116.03 25.04 2467
+-115.904 25.04 2486
+-115.778 25.04 2497
+-115.652 25.04 2532
+-115.526 25.04 2537
+-115.4 25.04 2545
+-115.274 25.04 2561
+-115.148 25.04 2548
+-115.022 25.04 2561
+-114.896 25.04 2689
+-114.77 25.04 2695
+-114.644 25.04 2740
+-114.518 25.04 2767
+-114.392 25.04 2772
+-114.266 25.04 2748
+-114.14 25.04 2737
+-114.014 25.04 2740
+-113.888 25.04 2772
+-113.762 25.04 2785
+-113.636 25.04 2778
+-113.51 25.04 2778
+-113.384 25.04 2768
+-113.258 25.04 2766
+-113.132 25.04 2747
+-113.006 25.04 2788
+-112.88 25.04 2783
+-112.754 25.04 2778
+-112.628 25.04 2742
+-112.502 25.04 2747
+-112.376 25.04 2740
+-112.25 25.04 2732
+-112.124 25.04 2692
+-111.998 25.04 2671
+-111.872 25.04 2661
+-111.746 25.04 2650
+-111.62 25.04 2638
+-111.494 25.04 2647
+-111.368 25.04 2633
+-111.242 25.04 2618
+-111.116 25.04 2600
+-110.99 25.04 2580
+-110.864 25.04 2553
+-110.738 25.04 2519
+-110.612 25.04 2475
+-110.486 25.04 2420
+-110.36 25.04 2361
+-110.234 25.04 2311
+-110.108 25.04 2291
+-109.982 25.04 2318
+-109.856 25.04 2380
+-109.73 25.04 2454
+-109.604 25.04 2519
+-109.478 25.04 2550
+-109.352 25.04 2578
+-109.226 25.04 2578
+-109.1 25.04 2558
+-108.974 25.04 2543
+-108.848 25.04 2499
+-108.722 25.04 2461
+-108.596 25.04 2445
+-108.47 25.04 2455
+-108.344 25.04 2489
+-108.218 25.04 2535
+-108.092 25.04 2586
+-107.966 25.04 2644
+-107.84 25.04 2722
+-107.714 25.04 2765
+-107.588 25.04 2797
+-107.462 25.04 2828
+-107.336 25.04 2874
+-107.21 25.04 2906
+-107.084 25.04 2927
+-106.958 25.04 2944
+-106.832 25.04 3025
+-106.706 25.04 3038
+-106.58 25.04 3049
+-106.454 25.04 3012
+-106.328 25.04 3027
+-106.202 25.04 3032
+-106.076 25.04 3036
+-105.95 25.04 3033
+-105.824 25.04 3039
+-105.698 25.04 3047
+-105.572 25.04 3114
+-105.446 25.04 3103
+-105.32 25.04 3017
+-105.194 25.04 3018
+-105.068 25.04 3019
+-104.942 25.04 3037
+-104.816 25.04 3038
+-104.69 25.04 3039
+-104.564 25.04 3064
+-104.438 25.04 3066
+-104.312 25.04 3069
+-104.186 25.04 3027
+-104.06 25.04 3077
+-103.934 25.04 3080
+-103.808 25.04 3082
+-103.682 25.04 3085
+-103.556 25.04 3088
+-103.43 25.04 3088
+-103.304 25.04 3091
+-103.178 25.04 3112
+-103.052 25.04 3116
+-102.926 25.04 3120
+-102.8 25.04 3123
+-102.674 25.04 3073
+-102.548 25.04 3189
+-102.422 25.04 3187
+-102.296 25.04 3208
+-102.17 25.04 3212
+-102.044 25.04 3318
+-101.918 25.04 3322
+-101.792 25.04 3325
+-101.666 25.04 3363
+-101.54 25.04 3351
+-101.414 25.04 3356
+-101.288 25.04 3349
+-101.162 25.04 3367
+-101.036 25.04 3357
+-100.91 25.04 3380
+-100.784 25.04 3384
+-100.658 25.04 3380
+-100.532 25.04 3377
+-100.406 25.04 3380
+-100.28 25.04 3367
+-100.154 25.04 3412
+-100.028 25.04 3416
+-99.902 25.04 3388
+-99.776 25.04 3392
+-99.65 25.04 3437
+-99.524 25.04 3441
+-99.398 25.04 3402
+-99.272 25.04 3376
+-99.146 25.04 3393
+-99.02 25.04 3243
+-98.894 25.04 3246
+-98.768 25.04 3310
+-98.642 25.04 3313
+-98.516 25.04 3261
+-98.39 25.04 3278
+-98.264 25.04 3281
+-98.138 25.04 3166
+-98.012 25.04 3143
+-97.886 25.04 3143
+-97.76 25.04 3106
+-97.634 25.04 3091
+-97.508 25.04 3032
+-97.382 25.04 3052
+-97.256 25.04 3029
+-97.13 25.04 2968
+-97.004 25.04 2970
+-96.878 25.04 3029
+-96.752 25.04 2999
+-96.626 25.04 3204
+-96.5 25.04 3208
+-96.374 25.04 3253
+-96.248 25.04 3380
+-96.122 25.04 3460
+-95.996 25.04 3459
+-95.87 25.04 3457
+-95.744 25.04 3455
+-95.618 25.04 3473
+-95.492 25.04 3472
+-95.366 25.04 3470
+-95.24 25.04 3469
+-95.114 25.04 3468
+-94.988 25.04 3466
+-94.862 25.04 3492
+-94.736 25.04 3507
+-94.61 25.04 3505
+-94.484 25.04 3504
+-94.358 25.04 3525
+-94.232 25.04 3524
+-94.106 25.04 3523
+-93.98 25.04 3522
+-93.854 25.04 3521
+-93.728 25.04 3520
+-93.602 25.04 3519
+-93.476 25.04 3518
+-93.35 25.04 3517
+-93.224 25.04 3515
+-93.098 25.04 3514
+-92.972 25.04 3513
+-92.846 25.04 3518
+-92.72 25.04 3518
+-92.594 25.04 3517
+-92.468 25.04 3516
+-92.342 25.04 3516
+-92.216 25.04 3515
+-92.09 25.04 3514
+-91.964 25.04 3605
+-91.838 25.04 3602
+-91.712 25.04 3599
+-91.586 25.04 3595
+-91.46 25.04 3596
+-91.334 25.04 3643
+-91.208 25.04 3638
+-91.082 25.04 3633
+-90.956 25.04 3652
+-90.83 25.04 3645
+-90.704 25.04 3622
+-90.578 25.04 3617
+-90.452 25.04 3664
+-90.326 25.04 3659
+-90.2 25.04 3652
+-90.074 25.04 3646
+-89.948 25.04 3638
+-89.822 25.04 3630
+-89.696 25.04 3647
+-89.57 25.04 3637
+-89.444 25.04 3625
+-89.318 25.04 3612
+-89.192 25.04 3597
+-89.066 25.04 3581
+-88.94 25.04 3562
+-88.814 25.04 3541
+-88.688 25.04 3516
+-88.562 25.04 3491
+-88.436 25.04 3482
+-88.31 25.04 3440
+-88.184 25.04 3387
+-88.058 25.04 3317
+-87.932 25.04 3237
+-87.806 25.04 3130
+-87.68 25.04 3075
+-87.554 25.04 3167
+-87.428 25.04 3335
+-87.302 25.04 3512
+-87.176 25.04 3669
+-87.05 25.04 3845
+-86.924 25.04 3976
+-86.798 25.04 4068
+-86.672 25.04 4108
+-86.546 25.04 4119
+-86.42 25.04 4233
+-86.294 25.04 4387
+-86.168 25.04 4438
+-86.042 25.04 4587
+-85.916 25.04 4816
+-85.79 25.04 4946
+-85.664 25.04 4996
+-85.538 25.04 5060
+-85.412 25.04 5207
+-85.286 25.04 5362
+-85.16 25.04 5467
+-85.034 25.04 5535
+-84.908 25.04 5593
+-84.782 25.04 5577
+-84.656 25.04 5706
+-84.53 25.04 5865
+-84.404 25.04 5911
+-84.278 25.04 6007
+-84.152 25.04 6094
+-84.026 25.04 6140
+-83.9 25.04 6214
+-83.774 25.04 6307
+-83.648 25.04 6371
+-83.522 25.04 6472
+-83.396 25.04 6548
+-83.27 25.04 6550
+-83.144 25.04 6585
+-83.018 25.04 6640
+-82.892 25.04 6668
+-82.766 25.04 6711
+-82.64 25.04 6718
+-82.514 25.04 6749
+-82.388 25.04 6791
+-82.262 25.04 6770
+-82.136 25.04 6763
+-82.01 25.04 6735
+-81.884 25.04 6740
+-81.758 25.04 6741
+-81.632 25.04 6693
+-81.506 25.04 6651
+-81.38 25.04 6624
+-81.254 25.04 6600
+-81.128 25.04 6572
+-81.002 25.04 6500
+-80.876 25.04 6407
+-80.75 25.04 6384
+-80.624 25.04 6304
+-80.498 25.04 6214
+-80.372 25.04 6149
+-80.246 25.04 6106
+-80.12 25.04 6065
+-79.994 25.04 5947
+-79.868 25.04 5859
+-79.742 25.04 5759
+-79.616 25.04 5650
+-79.49 25.04 5505
+-79.364 25.04 5408
+-79.238 25.04 5341
+-79.112 25.04 5279
+-78.986 25.04 5218
+-78.86 25.04 5122
+-78.734 25.04 4988
+-78.608 25.04 4785
+-78.482 25.04 4609
+-78.356 25.04 4506
+-78.23 25.04 4456
+-78.104 25.04 4330
+-77.978 25.04 4245
+-77.852 25.04 4170
+-77.726 25.04 4040
+-77.6 25.04 3929
+-77.474 25.04 3907
+-77.348 25.04 3860
+-77.222 25.04 3779
+-77.096 25.04 3676
+-76.97 25.04 3601
+-76.844 25.04 3550
+-76.718 25.04 3532
+-76.592 25.04 3546
+-76.466 25.04 3490
+-76.34 25.04 3480
+-76.214 25.04 3385
+-76.088 25.04 3335
+-75.962 25.04 3289
+-75.836 25.04 3223
+-75.71 25.04 3113
+-75.584 25.04 3015
+-75.458 25.04 2889
+-75.332 25.04 2727
+-75.206 25.04 2523
+-75.08 25.04 2275
+-74.954 25.04 1992
+-74.828 25.04 1695
+-74.702 25.04 1404
+-74.576 25.04 1212
+-74.45 25.04 1122
+-74.324 25.04 1139
+-74.198 25.04 1239
+-74.072 25.04 1360
+-73.946 25.04 1529
+-73.82 25.04 1679
+-73.694 25.04 1836
+-73.568 25.04 1978
+-73.442 25.04 2104
+-73.316 25.04 2191
+-73.19 25.04 2265
+-73.064 25.04 2350
+-72.938 25.04 2419
+-72.812 25.04 2480
+-72.686 25.04 2538
+-72.56 25.04 2590
+-72.434 25.04 2635
+-72.308 25.04 2650
+-72.182 25.04 2685
+-72.056 25.04 2718
+-71.93 25.04 2703
+-71.804 25.04 2730
+-71.678 25.04 2720
+-71.552 25.04 2731
+-71.426 25.04 2717
+-71.3 25.04 2735
+-71.174 25.04 2710
+-71.048 25.04 2725
+-70.922 25.04 2738
+-70.796 25.04 2751
+-70.67 25.04 2763
+-70.544 25.04 2774
+-70.418 25.04 2784
+-70.292 25.04 2793
+-70.166 25.04 2802
+-70.04 25.04 2810
+-69.914 25.04 2818
+-69.788 25.04 2826
+-69.662 25.04 2832
+-69.536 25.04 2839
+-69.41 25.04 2845
+-69.284 25.04 2851
+-69.158 25.04 2856
+-69.032 25.04 2862
+-68.906 25.04 2867
+-68.78 25.04 2871
+-68.654 25.04 2849
+-68.528 25.04 2854
+-68.402 25.04 2859
+-68.276 25.04 2863
+-68.15 25.04 2868
+-68.024 25.04 2872
+-67.898 25.04 2832
+-67.772 25.04 2837
+-67.646 25.04 2830
+-67.52 25.04 2828
+-67.394 25.04 2802
+-67.268 25.04 2806
+-67.142 25.04 2810
+-67.016 25.04 2813
+-66.89 25.04 2817
+-66.764 25.04 2820
+-66.638 25.04 2824
+-66.512 25.04 2827
+-66.386 25.04 2830
+-66.26 25.04 2833
+-66.134 25.04 2836
+-66.008 25.04 2839
+-65.882 25.04 2841
+-65.756 25.04 2844
+-65.63 25.04 2846
+-65.504 25.04 2849
+-65.378 25.04 2851
+-65.252 25.04 2854
+-65.126 25.04 2856
+-128 24.988 3370
+-127.874 24.988 3266
+-127.748 24.988 3262
+-127.622 24.988 3243
+-127.496 24.988 3315
+-127.37 24.988 3276
+-127.244 24.988 3273
+-127.118 24.988 3298
+-126.992 24.988 3191
+-126.866 24.988 3195
+-126.74 24.988 3226
+-126.614 24.988 3217
+-126.488 24.988 3211
+-126.362 24.988 3206
+-126.236 24.988 3116
+-126.11 24.988 3115
+-125.984 24.988 3032
+-125.858 24.988 3039
+-125.732 24.988 3041
+-125.606 24.988 3035
+-125.48 24.988 2995
+-125.354 24.988 2989
+-125.228 24.988 2983
+-125.102 24.988 3002
+-124.976 24.988 2978
+-124.85 24.988 2971
+-124.724 24.988 2920
+-124.598 24.988 2913
+-124.472 24.988 2967
+-124.346 24.988 2924
+-124.22 24.988 2901
+-124.094 24.988 2805
+-123.968 24.988 2833
+-123.842 24.988 2823
+-123.716 24.988 2812
+-123.59 24.988 2800
+-123.464 24.988 2788
+-123.338 24.988 2775
+-123.212 24.988 2705
+-123.086 24.988 2700
+-122.96 24.988 2686
+-122.834 24.988 2643
+-122.708 24.988 2617
+-122.582 24.988 2589
+-122.456 24.988 2571
+-122.33 24.988 2530
+-122.204 24.988 2509
+-122.078 24.988 2470
+-121.952 24.988 2439
+-121.826 24.988 2399
+-121.7 24.988 2369
+-121.574 24.988 2330
+-121.448 24.988 2294
+-121.322 24.988 2253
+-121.196 24.988 2207
+-121.07 24.988 2156
+-120.944 24.988 2099
+-120.818 24.988 1992
+-120.692 24.988 1924
+-120.566 24.988 1847
+-120.44 24.988 1749
+-120.314 24.988 1654
+-120.188 24.988 1530
+-120.062 24.988 1417
+-119.936 24.988 1295
+-119.81 24.988 1167
+-119.684 24.988 1040
+-119.558 24.988 921
+-119.432 24.988 822
+-119.306 24.988 756
+-119.18 24.988 732
+-119.054 24.988 758
+-118.928 24.988 829
+-118.802 24.988 941
+-118.676 24.988 1080
+-118.55 24.988 1233
+-118.424 24.988 1380
+-118.298 24.988 1527
+-118.172 24.988 1662
+-118.046 24.988 1776
+-117.92 24.988 1881
+-117.794 24.988 1959
+-117.668 24.988 2037
+-117.542 24.988 2096
+-117.416 24.988 2143
+-117.29 24.988 2198
+-117.164 24.988 2241
+-117.038 24.988 2279
+-116.912 24.988 2312
+-116.786 24.988 2342
+-116.66 24.988 2368
+-116.534 24.988 2435
+-116.408 24.988 2462
+-116.282 24.988 2412
+-116.156 24.988 2443
+-116.03 24.988 2464
+-115.904 24.988 2475
+-115.778 24.988 2510
+-115.652 24.988 2515
+-115.526 24.988 2524
+-115.4 24.988 2541
+-115.274 24.988 2527
+-115.148 24.988 2542
+-115.022 24.988 2555
+-114.896 24.988 2564
+-114.77 24.988 2688
+-114.644 24.988 2732
+-114.518 24.988 2759
+-114.392 24.988 2734
+-114.266 24.988 2690
+-114.14 24.988 2724
+-114.014 24.988 2739
+-113.888 24.988 2769
+-113.762 24.988 2760
+-113.636 24.988 2759
+-113.51 24.988 2748
+-113.384 24.988 2745
+-113.258 24.988 2741
+-113.132 24.988 2720
+-113.006 24.988 2758
+-112.88 24.988 2751
+-112.754 24.988 2714
+-112.628 24.988 2716
+-112.502 24.988 2707
+-112.376 24.988 2696
+-112.25 24.988 2655
+-112.124 24.988 2632
+-111.998 24.988 2620
+-111.872 24.988 2607
+-111.746 24.988 2594
+-111.62 24.988 2580
+-111.494 24.988 2587
+-111.368 24.988 2573
+-111.242 24.988 2558
+-111.116 24.988 2543
+-110.99 24.988 2526
+-110.864 24.988 2505
+-110.738 24.988 2477
+-110.612 24.988 2439
+-110.486 24.988 2390
+-110.36 24.988 2335
+-110.234 24.988 2288
+-110.108 24.988 2269
+-109.982 24.988 2289
+-109.856 24.988 2352
+-109.73 24.988 2426
+-109.604 24.988 2465
+-109.478 24.988 2509
+-109.352 24.988 2556
+-109.226 24.988 2572
+-109.1 24.988 2564
+-108.974 24.988 2545
+-108.848 24.988 2541
+-108.722 24.988 2519
+-108.596 24.988 2510
+-108.47 24.988 2517
+-108.344 24.988 2540
+-108.218 24.988 2574
+-108.092 24.988 2612
+-107.966 24.988 2651
+-107.84 24.988 2700
+-107.714 24.988 2772
+-107.588 24.988 2806
+-107.462 24.988 2828
+-107.336 24.988 2854
+-107.21 24.988 2895
+-107.084 24.988 2923
+-106.958 24.988 2940
+-106.832 24.988 2955
+-106.706 24.988 3037
+-106.58 24.988 3048
+-106.454 24.988 3058
+-106.328 24.988 3019
+-106.202 24.988 3034
+-106.076 24.988 3039
+-105.95 24.988 3042
+-105.824 24.988 3039
+-105.698 24.988 3045
+-105.572 24.988 3053
+-105.446 24.988 3122
+-105.32 24.988 3111
+-105.194 24.988 3023
+-105.068 24.988 3024
+-104.942 24.988 3025
+-104.816 24.988 3043
+-104.69 24.988 3045
+-104.564 24.988 3046
+-104.438 24.988 3072
+-104.312 24.988 3074
+-104.186 24.988 3076
+-104.06 24.988 3034
+-103.934 24.988 3084
+-103.808 24.988 3087
+-103.682 24.988 3089
+-103.556 24.988 3092
+-103.43 24.988 3095
+-103.304 24.988 3094
+-103.178 24.988 3097
+-103.052 24.988 3119
+-102.926 24.988 3122
+-102.8 24.988 3126
+-102.674 24.988 3129
+-102.548 24.988 3078
+-102.422 24.988 3195
+-102.296 24.988 3193
+-102.17 24.988 3214
+-102.044 24.988 3218
+-101.918 24.988 3325
+-101.792 24.988 3329
+-101.666 24.988 3332
+-101.54 24.988 3371
+-101.414 24.988 3356
+-101.288 24.988 3362
+-101.162 24.988 3356
+-101.036 24.988 3373
+-100.91 24.988 3363
+-100.784 24.988 3386
+-100.658 24.988 3390
+-100.532 24.988 3385
+-100.406 24.988 3382
+-100.28 24.988 3386
+-100.154 24.988 3372
+-100.028 24.988 3417
+-99.902 24.988 3421
+-99.776 24.988 3393
+-99.65 24.988 3397
+-99.524 24.988 3442
+-99.398 24.988 3446
+-99.272 24.988 3407
+-99.146 24.988 3380
+-99.02 24.988 3397
+-98.894 24.988 3246
+-98.768 24.988 3249
+-98.642 24.988 3313
+-98.516 24.988 3316
+-98.39 24.988 3264
+-98.264 24.988 3281
+-98.138 24.988 3166
+-98.012 24.988 3166
+-97.886 24.988 3143
+-97.76 24.988 3105
+-97.634 24.988 3091
+-97.508 24.988 3072
+-97.382 24.988 3033
+-97.256 24.988 2984
+-97.13 24.988 2968
+-97.004 24.988 2970
+-96.878 24.988 3066
+-96.752 24.988 3027
+-96.626 24.988 3204
+-96.5 24.988 3208
+-96.374 24.988 3253
+-96.248 24.988 3379
+-96.122 24.988 3459
+-95.996 24.988 3458
+-95.87 24.988 3456
+-95.744 24.988 3474
+-95.618 24.988 3472
+-95.492 24.988 3471
+-95.366 24.988 3470
+-95.24 24.988 3468
+-95.114 24.988 3467
+-94.988 24.988 3492
+-94.862 24.988 3507
+-94.736 24.988 3506
+-94.61 24.988 3504
+-94.484 24.988 3525
+-94.358 24.988 3524
+-94.232 24.988 3523
+-94.106 24.988 3522
+-93.98 24.988 3521
+-93.854 24.988 3520
+-93.728 24.988 3519
+-93.602 24.988 3518
+-93.476 24.988 3516
+-93.35 24.988 3515
+-93.224 24.988 3514
+-93.098 24.988 3513
+-92.972 24.988 3518
+-92.846 24.988 3517
+-92.72 24.988 3517
+-92.594 24.988 3516
+-92.468 24.988 3515
+-92.342 24.988 3514
+-92.216 24.988 3513
+-92.09 24.988 3604
+-91.964 24.988 3601
+-91.838 24.988 3598
+-91.712 24.988 3595
+-91.586 24.988 3595
+-91.46 24.988 3642
+-91.334 24.988 3638
+-91.208 24.988 3633
+-91.082 24.988 3652
+-90.956 24.988 3646
+-90.83 24.988 3622
+-90.704 24.988 3617
+-90.578 24.988 3665
+-90.452 24.988 3659
+-90.326 24.988 3653
+-90.2 24.988 3647
+-90.074 24.988 3640
+-89.948 24.988 3632
+-89.822 24.988 3650
+-89.696 24.988 3641
+-89.57 24.988 3630
+-89.444 24.988 3618
+-89.318 24.988 3605
+-89.192 24.988 3590
+-89.066 24.988 3574
+-88.94 24.988 3555
+-88.814 24.988 3535
+-88.688 24.988 3515
+-88.562 24.988 3489
+-88.436 24.988 3459
+-88.31 24.988 3447
+-88.184 24.988 3401
+-88.058 24.988 3347
+-87.932 24.988 3289
+-87.806 24.988 3244
+-87.68 24.988 3235
+-87.554 24.988 3277
+-87.428 24.988 3338
+-87.302 24.988 3434
+-87.176 24.988 3604
+-87.05 24.988 3769
+-86.924 24.988 3908
+-86.798 24.988 4021
+-86.672 24.988 4111
+-86.546 24.988 4203
+-86.42 24.988 4288
+-86.294 24.988 4375
+-86.168 24.988 4349
+-86.042 24.988 4479
+-85.916 24.988 4723
+-85.79 24.988 4895
+-85.664 24.988 4995
+-85.538 24.988 5067
+-85.412 24.988 5189
+-85.286 24.988 5287
+-85.16 24.988 5422
+-85.034 24.988 5501
+-84.908 24.988 5567
+-84.782 24.988 5630
+-84.656 24.988 5659
+-84.53 24.988 5777
+-84.404 24.988 5901
+-84.278 24.988 5993
+-84.152 24.988 5996
+-84.026 24.988 6098
+-83.9 24.988 6155
+-83.774 24.988 6235
+-83.648 24.988 6294
+-83.522 24.988 6399
+-83.396 24.988 6461
+-83.27 24.988 6524
+-83.144 24.988 6569
+-83.018 24.988 6595
+-82.892 24.988 6619
+-82.766 24.988 6673
+-82.64 24.988 6683
+-82.514 24.988 6717
+-82.388 24.988 6732
+-82.262 24.988 6711
+-82.136 24.988 6694
+-82.01 24.988 6686
+-81.884 24.988 6712
+-81.758 24.988 6673
+-81.632 24.988 6681
+-81.506 24.988 6602
+-81.38 24.988 6593
+-81.254 24.988 6543
+-81.128 24.988 6501
+-81.002 24.988 6422
+-80.876 24.988 6339
+-80.75 24.988 6348
+-80.624 24.988 6238
+-80.498 24.988 6201
+-80.372 24.988 6109
+-80.246 24.988 6025
+-80.12 24.988 6007
+-79.994 24.988 5845
+-79.868 24.988 5834
+-79.742 24.988 5735
+-79.616 24.988 5597
+-79.49 24.988 5451
+-79.364 24.988 5333
+-79.238 24.988 5264
+-79.112 24.988 5203
+-78.986 24.988 5139
+-78.86 24.988 5031
+-78.734 24.988 4896
+-78.608 24.988 4713
+-78.482 24.988 4535
+-78.356 24.988 4458
+-78.23 24.988 4423
+-78.104 24.988 4330
+-77.978 24.988 4215
+-77.852 24.988 4110
+-77.726 24.988 3955
+-77.6 24.988 3840
+-77.474 24.988 3872
+-77.348 24.988 3828
+-77.222 24.988 3708
+-77.096 24.988 3523
+-76.97 24.988 3428
+-76.844 24.988 3422
+-76.718 24.988 3457
+-76.592 24.988 3500
+-76.466 24.988 3443
+-76.34 24.988 3387
+-76.214 24.988 3365
+-76.088 24.988 3300
+-75.962 24.988 3250
+-75.836 24.988 3176
+-75.71 24.988 3092
+-75.584 24.988 2988
+-75.458 24.988 2852
+-75.332 24.988 2673
+-75.206 24.988 2445
+-75.08 24.988 2161
+-74.954 24.988 1830
+-74.828 24.988 1477
+-74.702 24.988 1155
+-74.576 24.988 914
+-74.45 24.988 825
+-74.324 24.988 868
+-74.198 24.988 1009
+-74.072 24.988 1203
+-73.946 24.988 1384
+-73.82 24.988 1585
+-73.694 24.988 1748
+-73.568 24.988 1908
+-73.442 24.988 2048
+-73.316 24.988 2170
+-73.19 24.988 2249
+-73.064 24.988 2316
+-72.938 24.988 2396
+-72.812 24.988 2459
+-72.686 24.988 2516
+-72.56 24.988 2570
+-72.434 24.988 2618
+-72.308 24.988 2660
+-72.182 24.988 2672
+-72.056 24.988 2705
+-71.93 24.988 2735
+-71.804 24.988 2718
+-71.678 24.988 2744
+-71.552 24.988 2733
+-71.426 24.988 2742
+-71.3 24.988 2727
+-71.174 24.988 2744
+-71.048 24.988 2718
+-70.922 24.988 2732
+-70.796 24.988 2745
+-70.67 24.988 2757
+-70.544 24.988 2768
+-70.418 24.988 2779
+-70.292 24.988 2788
+-70.166 24.988 2798
+-70.04 24.988 2806
+-69.914 24.988 2814
+-69.788 24.988 2822
+-69.662 24.988 2829
+-69.536 24.988 2835
+-69.41 24.988 2842
+-69.284 24.988 2848
+-69.158 24.988 2853
+-69.032 24.988 2859
+-68.906 24.988 2864
+-68.78 24.988 2868
+-68.654 24.988 2873
+-68.528 24.988 2851
+-68.402 24.988 2855
+-68.276 24.988 2860
+-68.15 24.988 2865
+-68.024 24.988 2869
+-67.898 24.988 2873
+-67.772 24.988 2833
+-67.646 24.988 2838
+-67.52 24.988 2831
+-67.394 24.988 2829
+-67.268 24.988 2803
+-67.142 24.988 2807
+-67.016 24.988 2811
+-66.89 24.988 2814
+-66.764 24.988 2818
+-66.638 24.988 2821
+-66.512 24.988 2824
+-66.386 24.988 2827
+-66.26 24.988 2830
+-66.134 24.988 2833
+-66.008 24.988 2836
+-65.882 24.988 2839
+-65.756 24.988 2842
+-65.63 24.988 2844
+-65.504 24.988 2847
+-65.378 24.988 2849
+-65.252 24.988 2852
+-65.126 24.988 2854
+-128 24.936 3266
+-127.874 24.936 3263
+-127.748 24.936 3243
+-127.622 24.936 3316
+-127.496 24.936 3277
+-127.37 24.936 3273
+-127.244 24.936 3299
+-127.118 24.936 3191
+-126.992 24.936 3196
+-126.866 24.936 3227
+-126.74 24.936 3217
+-126.614 24.936 3213
+-126.488 24.936 3208
+-126.362 24.936 3117
+-126.236 24.936 3116
+-126.11 24.936 3033
+-125.984 24.936 3040
+-125.858 24.936 3042
+-125.732 24.936 3037
+-125.606 24.936 2996
+-125.48 24.936 2991
+-125.354 24.936 2985
+-125.228 24.936 3004
+-125.102 24.936 2980
+-124.976 24.936 2973
+-124.85 24.936 2923
+-124.724 24.936 2915
+-124.598 24.936 2971
+-124.472 24.936 2927
+-124.346 24.936 2905
+-124.22 24.936 2808
+-124.094 24.936 2838
+-123.968 24.936 2828
+-123.842 24.936 2817
+-123.716 24.936 2806
+-123.59 24.936 2795
+-123.464 24.936 2782
+-123.338 24.936 2712
+-123.212 24.936 2708
+-123.086 24.936 2694
+-122.96 24.936 2652
+-122.834 24.936 2626
+-122.708 24.936 2600
+-122.582 24.936 2582
+-122.456 24.936 2544
+-122.33 24.936 2523
+-122.204 24.936 2485
+-122.078 24.936 2456
+-121.952 24.936 2418
+-121.826 24.936 2390
+-121.7 24.936 2354
+-121.574 24.936 2322
+-121.448 24.936 2285
+-121.322 24.936 2243
+-121.196 24.936 2198
+-121.07 24.936 2147
+-120.944 24.936 2043
+-120.818 24.936 1983
+-120.692 24.936 1916
+-120.566 24.936 1827
+-120.44 24.936 1744
+-120.314 24.936 1632
+-120.188 24.936 1533
+-120.062 24.936 1425
+-119.936 24.936 1310
+-119.81 24.936 1191
+-119.684 24.936 1074
+-119.558 24.936 967
+-119.432 24.936 878
+-119.306 24.936 820
+-119.18 24.936 800
+-119.054 24.936 821
+-118.928 24.936 887
+-118.802 24.936 989
+-118.676 24.936 1115
+-118.55 24.936 1250
+-118.424 24.936 1393
+-118.298 24.936 1531
+-118.172 24.936 1654
+-118.046 24.936 1770
+-117.92 24.936 1859
+-117.794 24.936 1948
+-117.668 24.936 2018
+-117.542 24.936 2075
+-117.416 24.936 2138
+-117.29 24.936 2189
+-117.164 24.936 2234
+-117.038 24.936 2272
+-116.912 24.936 2306
+-116.786 24.936 2337
+-116.66 24.936 2405
+-116.534 24.936 2434
+-116.408 24.936 2386
+-116.282 24.936 2418
+-116.156 24.936 2440
+-116.03 24.936 2453
+-115.904 24.936 2488
+-115.778 24.936 2493
+-115.652 24.936 2502
+-115.526 24.936 2520
+-115.4 24.936 2506
+-115.274 24.936 2521
+-115.148 24.936 2534
+-115.022 24.936 2546
+-114.896 24.936 2593
+-114.77 24.936 2678
+-114.644 24.936 2683
+-114.518 24.936 2721
+-114.392 24.936 2676
+-114.266 24.936 2677
+-114.14 24.936 2693
+-114.014 24.936 2692
+-113.888 24.936 2712
+-113.762 24.936 2742
+-113.636 24.936 2729
+-113.51 24.936 2725
+-113.384 24.936 2720
+-113.258 24.936 2697
+-113.132 24.936 2690
+-113.006 24.936 2682
+-112.88 24.936 2687
+-112.754 24.936 2688
+-112.628 24.936 2676
+-112.502 24.936 2663
+-112.376 24.936 2620
+-112.25 24.936 2594
+-112.124 24.936 2579
+-111.998 24.936 2564
+-111.872 24.936 2548
+-111.746 24.936 2533
+-111.62 24.936 2517
+-111.494 24.936 2522
+-111.368 24.936 2507
+-111.242 24.936 2494
+-111.116 24.936 2482
+-110.99 24.936 2470
+-110.864 24.936 2457
+-110.738 24.936 2439
+-110.612 24.936 2413
+-110.486 24.936 2378
+-110.36 24.936 2336
+-110.234 24.936 2301
+-110.108 24.936 2286
+-109.982 24.936 2303
+-109.856 24.936 2348
+-109.73 24.936 2401
+-109.604 24.936 2454
+-109.478 24.936 2496
+-109.352 24.936 2524
+-109.226 24.936 2560
+-109.1 24.936 2570
+-108.974 24.936 2563
+-108.848 24.936 2551
+-108.722 24.936 2564
+-108.596 24.936 2560
+-108.47 24.936 2567
+-108.344 24.936 2584
+-108.218 24.936 2608
+-108.092 24.936 2637
+-107.966 24.936 2668
+-107.84 24.936 2699
+-107.714 24.936 2741
+-107.588 24.936 2811
+-107.462 24.936 2838
+-107.336 24.936 2854
+-107.21 24.936 2874
+-107.084 24.936 2913
+-106.958 24.936 2938
+-106.832 24.936 2952
+-106.706 24.936 2965
+-106.58 24.936 3049
+-106.454 24.936 3058
+-106.328 24.936 3067
+-106.202 24.936 3026
+-106.076 24.936 3040
+-105.95 24.936 3045
+-105.824 24.936 3049
+-105.698 24.936 3044
+-105.572 24.936 3051
+-105.446 24.936 3059
+-105.32 24.936 3130
+-105.194 24.936 3118
+-105.068 24.936 3028
+-104.942 24.936 3029
+-104.816 24.936 3030
+-104.69 24.936 3050
+-104.564 24.936 3051
+-104.438 24.936 3052
+-104.312 24.936 3079
+-104.186 24.936 3081
+-104.06 24.936 3083
+-103.934 24.936 3040
+-103.808 24.936 3091
+-103.682 24.936 3093
+-103.556 24.936 3096
+-103.43 24.936 3099
+-103.304 24.936 3101
+-103.178 24.936 3100
+-103.052 24.936 3103
+-102.926 24.936 3125
+-102.8 24.936 3128
+-102.674 24.936 3131
+-102.548 24.936 3134
+-102.422 24.936 3083
+-102.296 24.936 3202
+-102.17 24.936 3199
+-102.044 24.936 3221
+-101.918 24.936 3224
+-101.792 24.936 3332
+-101.666 24.936 3335
+-101.54 24.936 3339
+-101.414 24.936 3377
+-101.288 24.936 3365
+-101.162 24.936 3369
+-101.036 24.936 3362
+-100.91 24.936 3379
+-100.784 24.936 3368
+-100.658 24.936 3392
+-100.532 24.936 3396
+-100.406 24.936 3391
+-100.28 24.936 3387
+-100.154 24.936 3391
+-100.028 24.936 3376
+-99.902 24.936 3422
+-99.776 24.936 3426
+-99.65 24.936 3397
+-99.524 24.936 3401
+-99.398 24.936 3446
+-99.272 24.936 3450
+-99.146 24.936 3411
+-99.02 24.936 3383
+-98.894 24.936 3401
+-98.768 24.936 3249
+-98.642 24.936 3252
+-98.516 24.936 3316
+-98.39 24.936 3319
+-98.264 24.936 3167
+-98.138 24.936 3165
+-98.012 24.936 3166
+-97.886 24.936 3166
+-97.76 24.936 3105
+-97.634 24.936 3091
+-97.508 24.936 3072
+-97.382 24.936 3032
+-97.256 24.936 2984
+-97.13 24.936 2968
+-97.004 24.936 2970
+-96.878 24.936 3066
+-96.752 24.936 3027
+-96.626 24.936 3204
+-96.5 24.936 3208
+-96.374 24.936 3252
+-96.248 24.936 3379
+-96.122 24.936 3458
+-95.996 24.936 3457
+-95.87 24.936 3474
+-95.744 24.936 3473
+-95.618 24.936 3471
+-95.492 24.936 3470
+-95.366 24.936 3469
+-95.24 24.936 3467
+-95.114 24.936 3493
+-94.988 24.936 3508
+-94.862 24.936 3507
+-94.736 24.936 3505
+-94.61 24.936 3525
+-94.484 24.936 3524
+-94.358 24.936 3523
+-94.232 24.936 3522
+-94.106 24.936 3521
+-93.98 24.936 3520
+-93.854 24.936 3519
+-93.728 24.936 3518
+-93.602 24.936 3516
+-93.476 24.936 3515
+-93.35 24.936 3514
+-93.224 24.936 3512
+-93.098 24.936 3518
+-92.972 24.936 3517
+-92.846 24.936 3516
+-92.72 24.936 3516
+-92.594 24.936 3515
+-92.468 24.936 3514
+-92.342 24.936 3513
+-92.216 24.936 3604
+-92.09 24.936 3601
+-91.964 24.936 3598
+-91.838 24.936 3594
+-91.712 24.936 3595
+-91.586 24.936 3642
+-91.46 24.936 3638
+-91.334 24.936 3633
+-91.208 24.936 3652
+-91.082 24.936 3646
+-90.956 24.936 3622
+-90.83 24.936 3617
+-90.704 24.936 3666
+-90.578 24.936 3661
+-90.452 24.936 3655
+-90.326 24.936 3649
+-90.2 24.936 3642
+-90.074 24.936 3635
+-89.948 24.936 3654
+-89.822 24.936 3644
+-89.696 24.936 3634
+-89.57 24.936 3624
+-89.444 24.936 3612
+-89.318 24.936 3599
+-89.192 24.936 3584
+-89.066 24.936 3568
+-88.94 24.936 3550
+-88.814 24.936 3514
+-88.688 24.936 3494
+-88.562 24.936 3472
+-88.436 24.936 3446
+-88.31 24.936 3433
+-88.184 24.936 3408
+-88.058 24.936 3374
+-87.932 24.936 3349
+-87.806 24.936 3322
+-87.68 24.936 3294
+-87.554 24.936 3265
+-87.428 24.936 3248
+-87.302 24.936 3338
+-87.176 24.936 3512
+-87.05 24.936 3698
+-86.924 24.936 3853
+-86.798 24.936 3990
+-86.672 24.936 4102
+-86.546 24.936 4192
+-86.42 24.936 4305
+-86.294 24.936 4386
+-86.168 24.936 4411
+-86.042 24.936 4520
+-85.916 24.936 4668
+-85.79 24.936 4828
+-85.664 24.936 4931
+-85.538 24.936 5039
+-85.412 24.936 5145
+-85.286 24.936 5230
+-85.16 24.936 5332
+-85.034 24.936 5433
+-84.908 24.936 5483
+-84.782 24.936 5582
+-84.656 24.936 5659
+-84.53 24.936 5759
+-84.404 24.936 5850
+-84.278 24.936 5958
+-84.152 24.936 6024
+-84.026 24.936 6067
+-83.9 24.936 6104
+-83.774 24.936 6182
+-83.648 24.936 6256
+-83.522 24.936 6323
+-83.396 24.936 6401
+-83.27 24.936 6443
+-83.144 24.936 6480
+-83.018 24.936 6526
+-82.892 24.936 6572
+-82.766 24.936 6605
+-82.64 24.936 6625
+-82.514 24.936 6633
+-82.388 24.936 6674
+-82.262 24.936 6639
+-82.136 24.936 6648
+-82.01 24.936 6666
+-81.884 24.936 6629
+-81.758 24.936 6593
+-81.632 24.936 6584
+-81.506 24.936 6560
+-81.38 24.936 6538
+-81.254 24.936 6481
+-81.128 24.936 6435
+-81.002 24.936 6356
+-80.876 24.936 6286
+-80.75 24.936 6229
+-80.624 24.936 6203
+-80.498 24.936 6154
+-80.372 24.936 6091
+-80.246 24.936 5991
+-80.12 24.936 5994
+-79.994 24.936 5909
+-79.868 24.936 5805
+-79.742 24.936 5658
+-79.616 24.936 5506
+-79.49 24.936 5370
+-79.364 24.936 5258
+-79.238 24.936 5212
+-79.112 24.936 5154
+-78.986 24.936 5058
+-78.86 24.936 4945
+-78.734 24.936 4807
+-78.608 24.936 4651
+-78.482 24.936 4555
+-78.356 24.936 4483
+-78.23 24.936 4381
+-78.104 24.936 4285
+-77.978 24.936 4166
+-77.852 24.936 4030
+-77.726 24.936 3962
+-77.6 24.936 3897
+-77.474 24.936 3876
+-77.348 24.936 3801
+-77.222 24.936 3581
+-77.096 24.936 3348
+-76.97 24.936 3216
+-76.844 24.936 3272
+-76.718 24.936 3382
+-76.592 24.936 3455
+-76.466 24.936 3375
+-76.34 24.936 3366
+-76.214 24.936 3319
+-76.088 24.936 3279
+-75.962 24.936 3235
+-75.836 24.936 3174
+-75.71 24.936 3080
+-75.584 24.936 2968
+-75.458 24.936 2825
+-75.332 24.936 2636
+-75.206 24.936 2390
+-75.08 24.936 2081
+-74.954 24.936 1714
+-74.828 24.936 1317
+-74.702 24.936 954
+-74.576 24.936 701
+-74.45 24.936 607
+-74.324 24.936 673
+-74.198 24.936 848
+-74.072 24.936 1075
+-73.946 24.936 1314
+-73.82 24.936 1508
+-73.694 24.936 1709
+-73.568 24.936 1861
+-73.442 24.936 2010
+-73.316 24.936 2139
+-73.19 24.936 2249
+-73.064 24.936 2317
+-72.938 24.936 2374
+-72.812 24.936 2447
+-72.686 24.936 2504
+-72.56 24.936 2555
+-72.434 24.936 2604
+-72.308 24.936 2647
+-72.182 24.936 2686
+-72.056 24.936 2694
+-71.93 24.936 2725
+-71.804 24.936 2753
+-71.678 24.936 2735
+-71.552 24.936 2759
+-71.426 24.936 2746
+-71.3 24.936 2754
+-71.174 24.936 2737
+-71.048 24.936 2754
+-70.922 24.936 2726
+-70.796 24.936 2739
+-70.67 24.936 2752
+-70.544 24.936 2763
+-70.418 24.936 2774
+-70.292 24.936 2784
+-70.166 24.936 2793
+-70.04 24.936 2802
+-69.914 24.936 2810
+-69.788 24.936 2818
+-69.662 24.936 2825
+-69.536 24.936 2832
+-69.41 24.936 2838
+-69.284 24.936 2844
+-69.158 24.936 2850
+-69.032 24.936 2856
+-68.906 24.936 2861
+-68.78 24.936 2866
+-68.654 24.936 2870
+-68.528 24.936 2875
+-68.402 24.936 2852
+-68.276 24.936 2857
+-68.15 24.936 2862
+-68.024 24.936 2866
+-67.898 24.936 2870
+-67.772 24.936 2874
+-67.646 24.936 2835
+-67.52 24.936 2840
+-67.394 24.936 2832
+-67.268 24.936 2830
+-67.142 24.936 2804
+-67.016 24.936 2808
+-66.89 24.936 2811
+-66.764 24.936 2815
+-66.638 24.936 2818
+-66.512 24.936 2822
+-66.386 24.936 2825
+-66.26 24.936 2828
+-66.134 24.936 2831
+-66.008 24.936 2834
+-65.882 24.936 2837
+-65.756 24.936 2839
+-65.63 24.936 2842
+-65.504 24.936 2845
+-65.378 24.936 2847
+-65.252 24.936 2849
+-65.126 24.936 2852
+-128 24.884 3263
+-127.874 24.884 3244
+-127.748 24.884 3317
+-127.622 24.884 3277
+-127.496 24.884 3274
+-127.37 24.884 3300
+-127.244 24.884 3192
+-127.118 24.884 3197
+-126.992 24.884 3228
+-126.866 24.884 3218
+-126.74 24.884 3213
+-126.614 24.884 3209
+-126.488 24.884 3118
+-126.362 24.884 3117
+-126.236 24.884 3034
+-126.11 24.884 3042
+-125.984 24.884 3044
+-125.858 24.884 3038
+-125.732 24.884 2998
+-125.606 24.884 2992
+-125.48 24.884 2987
+-125.354 24.884 3007
+-125.228 24.884 2982
+-125.102 24.884 2976
+-124.976 24.884 2925
+-124.85 24.884 2918
+-124.724 24.884 2975
+-124.598 24.884 2931
+-124.472 24.884 2909
+-124.346 24.884 2812
+-124.22 24.884 2842
+-124.094 24.884 2833
+-123.968 24.884 2823
+-123.842 24.884 2812
+-123.716 24.884 2801
+-123.59 24.884 2789
+-123.464 24.884 2719
+-123.338 24.884 2716
+-123.212 24.884 2703
+-123.086 24.884 2661
+-122.96 24.884 2636
+-122.834 24.884 2611
+-122.708 24.884 2594
+-122.582 24.884 2557
+-122.456 24.884 2538
+-122.33 24.884 2501
+-122.204 24.884 2474
+-122.078 24.884 2437
+-121.952 24.884 2412
+-121.826 24.884 2378
+-121.7 24.884 2349
+-121.574 24.884 2315
+-121.448 24.884 2278
+-121.322 24.884 2237
+-121.196 24.884 2192
+-121.07 24.884 2092
+-120.944 24.884 2039
+-120.818 24.884 1980
+-120.692 24.884 1900
+-120.566 24.884 1828
+-120.44 24.884 1728
+-120.314 24.884 1642
+-120.188 24.884 1549
+-120.062 24.884 1448
+-119.936 24.884 1343
+-119.81 24.884 1236
+-119.684 24.884 1132
+-119.558 24.884 1038
+-119.432 24.884 962
+-119.306 24.884 913
+-119.18 24.884 892
+-119.054 24.884 915
+-118.928 24.884 973
+-118.802 24.884 1063
+-118.676 24.884 1169
+-118.55 24.884 1294
+-118.424 24.884 1424
+-118.298 24.884 1547
+-118.172 24.884 1666
+-118.046 24.884 1762
+-117.92 24.884 1859
+-117.794 24.884 1937
+-117.668 24.884 2003
+-117.542 24.884 2074
+-117.416 24.884 2132
+-117.29 24.884 2183
+-117.164 24.884 2227
+-117.038 24.884 2266
+-116.912 24.884 2301
+-116.786 24.884 2371
+-116.66 24.884 2403
+-116.534 24.884 2358
+-116.408 24.884 2391
+-116.282 24.884 2415
+-116.156 24.884 2429
+-116.03 24.884 2464
+-115.904 24.884 2471
+-115.778 24.884 2481
+-115.652 24.884 2499
+-115.526 24.884 2443
+-115.4 24.884 2500
+-115.274 24.884 2513
+-115.148 24.884 2525
+-115.022 24.884 2573
+-114.896 24.884 2584
+-114.77 24.884 2593
+-114.644 24.884 2709
+-114.518 24.884 2664
+-114.392 24.884 2664
+-114.266 24.884 2678
+-114.14 24.884 2677
+-114.014 24.884 2676
+-113.888 24.884 2694
+-113.762 24.884 2712
+-113.636 24.884 2707
+-113.51 24.884 2701
+-113.384 24.884 2676
+-113.258 24.884 2668
+-113.132 24.884 2658
+-113.006 24.884 2665
+-112.88 24.884 2661
+-112.754 24.884 2646
+-112.628 24.884 2631
+-112.502 24.884 2586
+-112.376 24.884 2558
+-112.25 24.884 2541
+-112.124 24.884 2523
+-111.998 24.884 2504
+-111.872 24.884 2486
+-111.746 24.884 2467
+-111.62 24.884 2449
+-111.494 24.884 2451
+-111.368 24.884 2435
+-111.242 24.884 2423
+-111.116 24.884 2414
+-110.99 24.884 2408
+-110.864 24.884 2404
+-110.738 24.884 2398
+-110.612 24.884 2388
+-110.486 24.884 2371
+-110.36 24.884 2348
+-110.234 24.884 2328
+-110.108 24.884 2321
+-109.982 24.884 2335
+-109.856 24.884 2366
+-109.73 24.884 2409
+-109.604 24.884 2453
+-109.478 24.884 2490
+-109.352 24.884 2517
+-109.226 24.884 2534
+-109.1 24.884 2566
+-108.974 24.884 2575
+-108.848 24.884 2573
+-108.722 24.884 2570
+-108.596 24.884 2597
+-108.47 24.884 2604
+-108.344 24.884 2618
+-108.218 24.884 2637
+-108.092 24.884 2660
+-107.966 24.884 2685
+-107.84 24.884 2710
+-107.714 24.884 2735
+-107.588 24.884 2772
+-107.462 24.884 2842
+-107.336 24.884 2863
+-107.21 24.884 2875
+-107.084 24.884 2891
+-106.958 24.884 2928
+-106.832 24.884 2950
+-106.706 24.884 2963
+-106.58 24.884 2974
+-106.454 24.884 3059
+-106.328 24.884 3068
+-106.202 24.884 3075
+-106.076 24.884 3033
+-105.95 24.884 3047
+-105.824 24.884 3051
+-105.698 24.884 3055
+-105.572 24.884 3050
+-105.446 24.884 3057
+-105.32 24.884 3065
+-105.194 24.884 3137
+-105.068 24.884 3125
+-104.942 24.884 3034
+-104.816 24.884 3035
+-104.69 24.884 3036
+-104.564 24.884 3055
+-104.438 24.884 3057
+-104.312 24.884 3058
+-104.186 24.884 3085
+-104.06 24.884 3087
+-103.934 24.884 3089
+-103.808 24.884 3045
+-103.682 24.884 3097
+-103.556 24.884 3100
+-103.43 24.884 3102
+-103.304 24.884 3105
+-103.178 24.884 3107
+-103.052 24.884 3106
+-102.926 24.884 3109
+-102.8 24.884 3131
+-102.674 24.884 3134
+-102.548 24.884 3137
+-102.422 24.884 3140
+-102.296 24.884 3087
+-102.17 24.884 3208
+-102.044 24.884 3205
+-101.918 24.884 3226
+-101.792 24.884 3230
+-101.666 24.884 3339
+-101.54 24.884 3342
+-101.414 24.884 3345
+-101.288 24.884 3384
+-101.162 24.884 3369
+-101.036 24.884 3375
+-100.91 24.884 3367
+-100.784 24.884 3385
+-100.658 24.884 3374
+-100.532 24.884 3397
+-100.406 24.884 3401
+-100.28 24.884 3396
+-100.154 24.884 3392
+-100.028 24.884 3395
+-99.902 24.884 3381
+-99.776 24.884 3427
+-99.65 24.884 3430
+-99.524 24.884 3402
+-99.398 24.884 3405
+-99.272 24.884 3451
+-99.146 24.884 3454
+-99.02 24.884 3414
+-98.894 24.884 3387
+-98.768 24.884 3404
+-98.642 24.884 3252
+-98.516 24.884 3254
+-98.39 24.884 3319
+-98.264 24.884 3221
+-98.138 24.884 3225
+-98.012 24.884 3165
+-97.886 24.884 3165
+-97.76 24.884 3105
+-97.634 24.884 3090
+-97.508 24.884 3071
+-97.382 24.884 3032
+-97.256 24.884 2984
+-97.13 24.884 2968
+-97.004 24.884 2970
+-96.878 24.884 2948
+-96.752 24.884 3027
+-96.626 24.884 3216
+-96.5 24.884 3233
+-96.374 24.884 3333
+-96.248 24.884 3378
+-96.122 24.884 3457
+-95.996 24.884 3475
+-95.87 24.884 3473
+-95.744 24.884 3472
+-95.618 24.884 3471
+-95.492 24.884 3469
+-95.366 24.884 3468
+-95.24 24.884 3494
+-95.114 24.884 3509
+-94.988 24.884 3507
+-94.862 24.884 3506
+-94.736 24.884 3525
+-94.61 24.884 3524
+-94.484 24.884 3523
+-94.358 24.884 3522
+-94.232 24.884 3521
+-94.106 24.884 3520
+-93.98 24.884 3519
+-93.854 24.884 3518
+-93.728 24.884 3517
+-93.602 24.884 3515
+-93.476 24.884 3514
+-93.35 24.884 3512
+-93.224 24.884 3518
+-93.098 24.884 3517
+-92.972 24.884 3516
+-92.846 24.884 3515
+-92.72 24.884 3514
+-92.594 24.884 3514
+-92.468 24.884 3513
+-92.342 24.884 3604
+-92.216 24.884 3601
+-92.09 24.884 3598
+-91.964 24.884 3594
+-91.838 24.884 3595
+-91.712 24.884 3642
+-91.586 24.884 3638
+-91.46 24.884 3633
+-91.334 24.884 3652
+-91.208 24.884 3647
+-91.082 24.884 3623
+-90.956 24.884 3618
+-90.83 24.884 3667
+-90.704 24.884 3662
+-90.578 24.884 3656
+-90.452 24.884 3651
+-90.326 24.884 3644
+-90.2 24.884 3638
+-90.074 24.884 3657
+-89.948 24.884 3648
+-89.822 24.884 3639
+-89.696 24.884 3629
+-89.57 24.884 3618
+-89.444 24.884 3606
+-89.318 24.884 3593
+-89.192 24.884 3579
+-89.066 24.884 3563
+-88.94 24.884 3529
+-88.814 24.884 3512
+-88.688 24.884 3494
+-88.562 24.884 3474
+-88.436 24.884 3469
+-88.31 24.884 3442
+-88.184 24.884 3432
+-88.058 24.884 3401
+-87.932 24.884 3369
+-87.806 24.884 3346
+-87.68 24.884 3309
+-87.554 24.884 3234
+-87.428 24.884 3176
+-87.302 24.884 3265
+-87.176 24.884 3461
+-87.05 24.884 3665
+-86.924 24.884 3838
+-86.798 24.884 3959
+-86.672 24.884 4057
+-86.546 24.884 4156
+-86.42 24.884 4259
+-86.294 24.884 4362
+-86.168 24.884 4441
+-86.042 24.884 4553
+-85.916 24.884 4659
+-85.79 24.884 4768
+-85.664 24.884 4913
+-85.538 24.884 5053
+-85.412 24.884 5107
+-85.286 24.884 5149
+-85.16 24.884 5266
+-85.034 24.884 5403
+-84.908 24.884 5442
+-84.782 24.884 5489
+-84.656 24.884 5601
+-84.53 24.884 5711
+-84.404 24.884 5786
+-84.278 24.884 5863
+-84.152 24.884 5988
+-84.026 24.884 6001
+-83.9 24.884 6122
+-83.774 24.884 6142
+-83.648 24.884 6234
+-83.522 24.884 6282
+-83.396 24.884 6341
+-83.27 24.884 6383
+-83.144 24.884 6415
+-83.018 24.884 6460
+-82.892 24.884 6506
+-82.766 24.884 6545
+-82.64 24.884 6548
+-82.514 24.884 6588
+-82.388 24.884 6611
+-82.262 24.884 6615
+-82.136 24.884 6605
+-82.01 24.884 6570
+-81.884 24.884 6606
+-81.758 24.884 6542
+-81.632 24.884 6564
+-81.506 24.884 6515
+-81.38 24.884 6464
+-81.254 24.884 6404
+-81.128 24.884 6369
+-81.002 24.884 6328
+-80.876 24.884 6229
+-80.75 24.884 6219
+-80.624 24.884 6170
+-80.498 24.884 6113
+-80.372 24.884 6069
+-80.246 24.884 6002
+-80.12 24.884 5924
+-79.994 24.884 5849
+-79.868 24.884 5740
+-79.742 24.884 5569
+-79.616 24.884 5427
+-79.49 24.884 5322
+-79.364 24.884 5245
+-79.238 24.884 5183
+-79.112 24.884 5080
+-78.986 24.884 4966
+-78.86 24.884 4876
+-78.734 24.884 4789
+-78.608 24.884 4638
+-78.482 24.884 4588
+-78.356 24.884 4507
+-78.23 24.884 4342
+-78.104 24.884 4262
+-77.978 24.884 4123
+-77.852 24.884 3916
+-77.726 24.884 3965
+-77.6 24.884 3940
+-77.474 24.884 3872
+-77.348 24.884 3733
+-77.222 24.884 3535
+-77.096 24.884 3239
+-76.97 24.884 3086
+-76.844 24.884 3193
+-76.718 24.884 3339
+-76.592 24.884 3402
+-76.466 24.884 3359
+-76.34 24.884 3322
+-76.214 24.884 3304
+-76.088 24.884 3265
+-75.962 24.884 3221
+-75.836 24.884 3161
+-75.71 24.884 3080
+-75.584 24.884 2960
+-75.458 24.884 2811
+-75.332 24.884 2619
+-75.206 24.884 2369
+-75.08 24.884 2051
+-74.954 24.884 1670
+-74.828 24.884 1258
+-74.702 24.884 879
+-74.576 24.884 616
+-74.45 24.884 527
+-74.324 24.884 602
+-74.198 24.884 789
+-74.072 24.884 1028
+-73.946 24.884 1277
+-73.82 24.884 1511
+-73.694 24.884 1684
+-73.568 24.884 1865
+-73.442 24.884 1993
+-73.316 24.884 2124
+-73.19 24.884 2235
+-73.064 24.884 2331
+-72.938 24.884 2387
+-72.812 24.884 2434
+-72.686 24.884 2499
+-72.56 24.884 2549
+-72.434 24.884 2594
+-72.308 24.884 2638
+-72.182 24.884 2677
+-72.056 24.884 2713
+-71.93 24.884 2718
+-71.804 24.884 2746
+-71.678 24.884 2772
+-71.552 24.884 2752
+-71.426 24.884 2774
+-71.3 24.884 2759
+-71.174 24.884 2766
+-71.048 24.884 2748
+-70.922 24.884 2763
+-70.796 24.884 2735
+-70.67 24.884 2747
+-70.544 24.884 2759
+-70.418 24.884 2770
+-70.292 24.884 2780
+-70.166 24.884 2789
+-70.04 24.884 2798
+-69.914 24.884 2807
+-69.788 24.884 2814
+-69.662 24.884 2822
+-69.536 24.884 2829
+-69.41 24.884 2835
+-69.284 24.884 2842
+-69.158 24.884 2847
+-69.032 24.884 2853
+-68.906 24.884 2858
+-68.78 24.884 2863
+-68.654 24.884 2868
+-68.528 24.884 2873
+-68.402 24.884 2877
+-68.276 24.884 2854
+-68.15 24.884 2859
+-68.024 24.884 2864
+-67.898 24.884 2868
+-67.772 24.884 2872
+-67.646 24.884 2876
+-67.52 24.884 2837
+-67.394 24.884 2841
+-67.268 24.884 2834
+-67.142 24.884 2832
+-67.016 24.884 2805
+-66.89 24.884 2809
+-66.764 24.884 2812
+-66.638 24.884 2816
+-66.512 24.884 2819
+-66.386 24.884 2822
+-66.26 24.884 2826
+-66.134 24.884 2829
+-66.008 24.884 2832
+-65.882 24.884 2834
+-65.756 24.884 2837
+-65.63 24.884 2840
+-65.504 24.884 2842
+-65.378 24.884 2845
+-65.252 24.884 2847
+-65.126 24.884 2850
+-128 24.832 3244
+-127.874 24.832 3317
+-127.748 24.832 3278
+-127.622 24.832 3274
+-127.496 24.832 3300
+-127.37 24.832 3193
+-127.244 24.832 3198
+-127.118 24.832 3229
+-126.992 24.832 3220
+-126.866 24.832 3215
+-126.74 24.832 3210
+-126.614 24.832 3120
+-126.488 24.832 3118
+-126.362 24.832 3035
+-126.236 24.832 3043
+-126.11 24.832 3046
+-125.984 24.832 3040
+-125.858 24.832 3000
+-125.732 24.832 2994
+-125.606 24.832 2989
+-125.48 24.832 3009
+-125.354 24.832 2985
+-125.228 24.832 2978
+-125.102 24.832 2928
+-124.976 24.832 2921
+-124.85 24.832 2979
+-124.724 24.832 2935
+-124.598 24.832 2913
+-124.472 24.832 2816
+-124.346 24.832 2847
+-124.22 24.832 2838
+-124.094 24.832 2828
+-123.968 24.832 2818
+-123.842 24.832 2808
+-123.716 24.832 2796
+-123.59 24.832 2726
+-123.464 24.832 2724
+-123.338 24.832 2712
+-123.212 24.832 2670
+-123.086 24.832 2646
+-122.96 24.832 2621
+-122.834 24.832 2606
+-122.708 24.832 2569
+-122.582 24.832 2552
+-122.456 24.832 2516
+-122.33 24.832 2490
+-122.204 24.832 2455
+-122.078 24.832 2432
+-121.952 24.832 2400
+-121.826 24.832 2375
+-121.7 24.832 2345
+-121.574 24.832 2311
+-121.448 24.832 2275
+-121.322 24.832 2234
+-121.196 24.832 2137
+-121.07 24.832 2091
+-120.944 24.832 2039
+-120.818 24.832 1967
+-120.692 24.832 1905
+-120.566 24.832 1815
+-120.44 24.832 1741
+-120.314 24.832 1661
+-120.188 24.832 1575
+-120.062 24.832 1484
+-119.936 24.832 1390
+-119.81 24.832 1295
+-119.684 24.832 1205
+-119.558 24.832 1125
+-119.432 24.832 1062
+-119.306 24.832 1014
+-119.18 24.832 1003
+-119.054 24.832 1024
+-118.928 24.832 1075
+-118.802 24.832 1147
+-118.676 24.832 1244
+-118.55 24.832 1354
+-118.424 24.832 1466
+-118.298 24.832 1580
+-118.172 24.832 1676
+-118.046 24.832 1776
+-117.92 24.832 1858
+-117.794 24.832 1931
+-117.668 24.832 2008
+-117.542 24.832 2073
+-117.416 24.832 2130
+-117.29 24.832 2179
+-117.164 24.832 2223
+-117.038 24.832 2263
+-116.912 24.832 2334
+-116.786 24.832 2369
+-116.66 24.832 2327
+-116.534 24.832 2363
+-116.408 24.832 2388
+-116.282 24.832 2404
+-116.156 24.832 2440
+-116.03 24.832 2448
+-115.904 24.832 2459
+-115.778 24.832 2477
+-115.652 24.832 2423
+-115.526 24.832 2479
+-115.4 24.832 2493
+-115.274 24.832 2505
+-115.148 24.832 2517
+-115.022 24.832 2564
+-114.896 24.832 2573
+-114.77 24.832 2582
+-114.644 24.832 2536
+-114.518 24.832 2652
+-114.392 24.832 2666
+-114.266 24.832 2664
+-114.14 24.832 2661
+-114.014 24.832 2658
+-113.888 24.832 2674
+-113.762 24.832 2691
+-113.636 24.832 2684
+-113.51 24.832 2658
+-113.384 24.832 2648
+-113.258 24.832 2636
+-113.132 24.832 2642
+-113.006 24.832 2603
+-112.88 24.832 2587
+-112.754 24.832 2602
+-112.628 24.832 2555
+-112.502 24.832 2524
+-112.376 24.832 2504
+-112.25 24.832 2483
+-112.124 24.832 2462
+-111.998 24.832 2440
+-111.872 24.832 2418
+-111.746 24.832 2396
+-111.62 24.832 2375
+-111.494 24.832 2372
+-111.368 24.832 2355
+-111.242 24.832 2341
+-111.116 24.832 2334
+-110.99 24.832 2334
+-110.864 24.832 2339
+-110.738 24.832 2347
+-110.612 24.832 2354
+-110.486 24.832 2356
+-110.36 24.832 2353
+-110.234 24.832 2350
+-110.108 24.832 2352
+-109.982 24.832 2366
+-109.856 24.832 2387
+-109.73 24.832 2421
+-109.604 24.832 2456
+-109.478 24.832 2487
+-109.352 24.832 2513
+-109.226 24.832 2531
+-109.1 24.832 2543
+-108.974 24.832 2575
+-108.848 24.832 2587
+-108.722 24.832 2590
+-108.596 24.832 2594
+-108.47 24.832 2631
+-108.344 24.832 2644
+-108.218 24.832 2660
+-108.092 24.832 2678
+-107.966 24.832 2699
+-107.84 24.832 2720
+-107.714 24.832 2741
+-107.588 24.832 2762
+-107.462 24.832 2796
+-107.336 24.832 2866
+-107.21 24.832 2884
+-107.084 24.832 2892
+-106.958 24.832 2906
+-106.832 24.832 2941
+-106.706 24.832 2961
+-106.58 24.832 2972
+-106.454 24.832 2982
+-106.328 24.832 3070
+-106.202 24.832 3077
+-106.076 24.832 3084
+-105.95 24.832 3039
+-105.824 24.832 3054
+-105.698 24.832 3057
+-105.572 24.832 3061
+-105.446 24.832 3056
+-105.32 24.832 3063
+-105.194 24.832 3071
+-105.068 24.832 3145
+-104.942 24.832 3132
+-104.816 24.832 3039
+-104.69 24.832 3040
+-104.564 24.832 3041
+-104.438 24.832 3061
+-104.312 24.832 3062
+-104.186 24.832 3064
+-104.06 24.832 3091
+-103.934 24.832 3093
+-103.808 24.832 3095
+-103.682 24.832 3050
+-103.556 24.832 3103
+-103.43 24.832 3106
+-103.304 24.832 3108
+-103.178 24.832 3110
+-103.052 24.832 3112
+-102.926 24.832 3111
+-102.8 24.832 3114
+-102.674 24.832 3136
+-102.548 24.832 3139
+-102.422 24.832 3142
+-102.296 24.832 3145
+-102.17 24.832 3092
+-102.044 24.832 3213
+-101.918 24.832 3210
+-101.792 24.832 3232
+-101.666 24.832 3235
+-101.54 24.832 3345
+-101.414 24.832 3348
+-101.288 24.832 3351
+-101.162 24.832 3390
+-101.036 24.832 3376
+-100.91 24.832 3380
+-100.784 24.832 3373
+-100.658 24.832 3390
+-100.532 24.832 3379
+-100.406 24.832 3403
+-100.28 24.832 3406
+-100.154 24.832 3401
+-100.028 24.832 3397
+-99.902 24.832 3400
+-99.776 24.832 3385
+-99.65 24.832 3431
+-99.524 24.832 3435
+-99.398 24.832 3406
+-99.272 24.832 3409
+-99.146 24.832 3455
+-99.02 24.832 3459
+-98.894 24.832 3418
+-98.768 24.832 3390
+-98.642 24.832 3408
+-98.516 24.832 3255
+-98.39 24.832 3257
+-98.264 24.832 3221
+-98.138 24.832 3221
+-98.012 24.832 3225
+-97.886 24.832 3165
+-97.76 24.832 3105
+-97.634 24.832 3104
+-97.508 24.832 3071
+-97.382 24.832 3032
+-97.256 24.832 2984
+-97.13 24.832 2968
+-97.004 24.832 2970
+-96.878 24.832 2948
+-96.752 24.832 3027
+-96.626 24.832 3216
+-96.5 24.832 3233
+-96.374 24.832 3332
+-96.248 24.832 3377
+-96.122 24.832 3475
+-95.996 24.832 3474
+-95.87 24.832 3473
+-95.744 24.832 3471
+-95.618 24.832 3470
+-95.492 24.832 3468
+-95.366 24.832 3494
+-95.24 24.832 3510
+-95.114 24.832 3508
+-94.988 24.832 3506
+-94.862 24.832 3525
+-94.736 24.832 3524
+-94.61 24.832 3523
+-94.484 24.832 3522
+-94.358 24.832 3521
+-94.232 24.832 3520
+-94.106 24.832 3519
+-93.98 24.832 3518
+-93.854 24.832 3517
+-93.728 24.832 3515
+-93.602 24.832 3514
+-93.476 24.832 3513
+-93.35 24.832 3518
+-93.224 24.832 3517
+-93.098 24.832 3516
+-92.972 24.832 3515
+-92.846 24.832 3514
+-92.72 24.832 3513
+-92.594 24.832 3512
+-92.468 24.832 3604
+-92.342 24.832 3601
+-92.216 24.832 3597
+-92.09 24.832 3594
+-91.964 24.832 3595
+-91.838 24.832 3643
+-91.712 24.832 3638
+-91.586 24.832 3634
+-91.46 24.832 3653
+-91.334 24.832 3648
+-91.208 24.832 3623
+-91.082 24.832 3618
+-90.956 24.832 3668
+-90.83 24.832 3663
+-90.704 24.832 3658
+-90.578 24.832 3653
+-90.452 24.832 3647
+-90.326 24.832 3640
+-90.2 24.832 3660
+-90.074 24.832 3652
+-89.948 24.832 3643
+-89.822 24.832 3634
+-89.696 24.832 3624
+-89.57 24.832 3613
+-89.444 24.832 3601
+-89.318 24.832 3588
+-89.192 24.832 3574
+-89.066 24.832 3541
+-88.94 24.832 3527
+-88.814 24.832 3512
+-88.688 24.832 3494
+-88.562 24.832 3485
+-88.436 24.832 3474
+-88.31 24.832 3457
+-88.184 24.832 3433
+-88.058 24.832 3409
+-87.932 24.832 3383
+-87.806 24.832 3363
+-87.68 24.832 3322
+-87.554 24.832 3275
+-87.428 24.832 3246
+-87.302 24.832 3325
+-87.176 24.832 3484
+-87.05 24.832 3644
+-86.924 24.832 3797
+-86.798 24.832 3935
+-86.672 24.832 4043
+-86.546 24.832 4124
+-86.42 24.832 4240
+-86.294 24.832 4315
+-86.168 24.832 4395
+-86.042 24.832 4472
+-85.916 24.832 4578
+-85.79 24.832 4722
+-85.664 24.832 4884
+-85.538 24.832 5032
+-85.412 24.832 5102
+-85.286 24.832 5078
+-85.16 24.832 5207
+-85.034 24.832 5370
+-84.908 24.832 5387
+-84.782 24.832 5440
+-84.656 24.832 5528
+-84.53 24.832 5657
+-84.404 24.832 5726
+-84.278 24.832 5802
+-84.152 24.832 5910
+-84.026 24.832 5984
+-83.9 24.832 6048
+-83.774 24.832 6094
+-83.648 24.832 6185
+-83.522 24.832 6244
+-83.396 24.832 6296
+-83.27 24.832 6296
+-83.144 24.832 6378
+-83.018 24.832 6427
+-82.892 24.832 6442
+-82.766 24.832 6464
+-82.64 24.832 6497
+-82.514 24.832 6513
+-82.388 24.832 6529
+-82.262 24.832 6533
+-82.136 24.832 6523
+-82.01 24.832 6524
+-81.884 24.832 6535
+-81.758 24.832 6524
+-81.632 24.832 6491
+-81.506 24.832 6448
+-81.38 24.832 6439
+-81.254 24.832 6404
+-81.128 24.832 6363
+-81.002 24.832 6268
+-80.876 24.832 6183
+-80.75 24.832 6149
+-80.624 24.832 6089
+-80.498 24.832 6016
+-80.372 24.832 6029
+-80.246 24.832 5941
+-80.12 24.832 5768
+-79.994 24.832 5780
+-79.868 24.832 5658
+-79.742 24.832 5499
+-79.616 24.832 5373
+-79.49 24.832 5299
+-79.364 24.832 5210
+-79.238 24.832 5114
+-79.112 24.832 5016
+-78.986 24.832 4918
+-78.86 24.832 4836
+-78.734 24.832 4789
+-78.608 24.832 4661
+-78.482 24.832 4574
+-78.356 24.832 4480
+-78.23 24.832 4340
+-78.104 24.832 4257
+-77.978 24.832 4132
+-77.852 24.832 4012
+-77.726 24.832 3991
+-77.6 24.832 3920
+-77.474 24.832 3816
+-77.348 24.832 3707
+-77.222 24.832 3545
+-77.096 24.832 3337
+-76.97 24.832 3200
+-76.844 24.832 3249
+-76.718 24.832 3335
+-76.592 24.832 3376
+-76.466 24.832 3333
+-76.34 24.832 3327
+-76.214 24.832 3289
+-76.088 24.832 3259
+-75.962 24.832 3208
+-75.836 24.832 3150
+-75.71 24.832 3072
+-75.584 24.832 2967
+-75.458 24.832 2815
+-75.332 24.832 2625
+-75.206 24.832 2382
+-75.08 24.832 2076
+-74.954 24.832 1710
+-74.828 24.832 1316
+-74.702 24.832 954
+-74.576 24.832 701
+-74.45 24.832 610
+-74.324 24.832 678
+-74.198 24.832 846
+-74.072 24.832 1073
+-73.946 24.832 1309
+-73.82 24.832 1533
+-73.694 24.832 1734
+-73.568 24.832 1873
+-73.442 24.832 2025
+-73.316 24.832 2125
+-73.19 24.832 2235
+-73.064 24.832 2330
+-72.938 24.832 2412
+-72.812 24.832 2455
+-72.686 24.832 2493
+-72.56 24.832 2549
+-72.434 24.832 2592
+-72.308 24.832 2632
+-72.182 24.832 2672
+-72.056 24.832 2707
+-71.93 24.832 2739
+-71.804 24.832 2741
+-71.678 24.832 2766
+-71.552 24.832 2790
+-71.426 24.832 2768
+-71.3 24.832 2789
+-71.174 24.832 2773
+-71.048 24.832 2778
+-70.922 24.832 2758
+-70.796 24.832 2773
+-70.67 24.832 2743
+-70.544 24.832 2755
+-70.418 24.832 2766
+-70.292 24.832 2776
+-70.166 24.832 2786
+-70.04 24.832 2795
+-69.914 24.832 2803
+-69.788 24.832 2811
+-69.662 24.832 2819
+-69.536 24.832 2826
+-69.41 24.832 2833
+-69.284 24.832 2839
+-69.158 24.832 2845
+-69.032 24.832 2851
+-68.906 24.832 2856
+-68.78 24.832 2861
+-68.654 24.832 2866
+-68.528 24.832 2870
+-68.402 24.832 2875
+-68.276 24.832 2879
+-68.15 24.832 2857
+-68.024 24.832 2861
+-67.898 24.832 2865
+-67.772 24.832 2870
+-67.646 24.832 2874
+-67.52 24.832 2877
+-67.394 24.832 2838
+-67.268 24.832 2843
+-67.142 24.832 2835
+-67.016 24.832 2833
+-66.89 24.832 2806
+-66.764 24.832 2810
+-66.638 24.832 2813
+-66.512 24.832 2817
+-66.386 24.832 2820
+-66.26 24.832 2823
+-66.134 24.832 2826
+-66.008 24.832 2829
+-65.882 24.832 2832
+-65.756 24.832 2835
+-65.63 24.832 2838
+-65.504 24.832 2840
+-65.378 24.832 2843
+-65.252 24.832 2846
+-65.126 24.832 2848
+-128 24.78 3318
+-127.874 24.78 3279
+-127.748 24.78 3275
+-127.622 24.78 3301
+-127.496 24.78 3194
+-127.37 24.78 3199
+-127.244 24.78 3230
+-127.118 24.78 3221
+-126.992 24.78 3216
+-126.866 24.78 3211
+-126.74 24.78 3121
+-126.614 24.78 3120
+-126.488 24.78 3036
+-126.362 24.78 3045
+-126.236 24.78 3047
+-126.11 24.78 3042
+-125.984 24.78 3002
+-125.858 24.78 2996
+-125.732 24.78 2991
+-125.606 24.78 3012
+-125.48 24.78 2988
+-125.354 24.78 2981
+-125.228 24.78 2931
+-125.102 24.78 2924
+-124.976 24.78 2983
+-124.85 24.78 2940
+-124.724 24.78 2918
+-124.598 24.78 2820
+-124.472 24.78 2852
+-124.346 24.78 2843
+-124.22 24.78 2834
+-124.094 24.78 2824
+-123.968 24.78 2814
+-123.842 24.78 2803
+-123.716 24.78 2733
+-123.59 24.78 2732
+-123.464 24.78 2720
+-123.338 24.78 2679
+-123.212 24.78 2656
+-123.086 24.78 2632
+-122.96 24.78 2617
+-122.834 24.78 2582
+-122.708 24.78 2565
+-122.582 24.78 2530
+-122.456 24.78 2506
+-122.33 24.78 2473
+-122.204 24.78 2452
+-122.078 24.78 2422
+-121.952 24.78 2400
+-121.826 24.78 2372
+-121.7 24.78 2342
+-121.574 24.78 2309
+-121.448 24.78 2274
+-121.322 24.78 2179
+-121.196 24.78 2138
+-121.07 24.78 2093
+-120.944 24.78 2027
+-120.818 24.78 1973
+-120.692 24.78 1892
+-120.566 24.78 1829
+-120.44 24.78 1761
+-120.314 24.78 1688
+-120.188 24.78 1610
+-120.062 24.78 1529
+-119.936 24.78 1446
+-119.81 24.78 1364
+-119.684 24.78 1287
+-119.558 24.78 1221
+-119.432 24.78 1157
+-119.306 24.78 1126
+-119.18 24.78 1120
+-119.054 24.78 1139
+-118.928 24.78 1177
+-118.802 24.78 1244
+-118.676 24.78 1327
+-118.55 24.78 1419
+-118.424 24.78 1520
+-118.298 24.78 1609
+-118.172 24.78 1706
+-118.046 24.78 1787
+-117.92 24.78 1864
+-117.794 24.78 1944
+-117.668 24.78 2013
+-117.542 24.78 2075
+-117.416 24.78 2130
+-117.29 24.78 2178
+-117.164 24.78 2222
+-117.038 24.78 2294
+-116.912 24.78 2333
+-116.786 24.78 2295
+-116.66 24.78 2332
+-116.534 24.78 2360
+-116.408 24.78 2378
+-116.282 24.78 2415
+-116.156 24.78 2424
+-116.03 24.78 2436
+-115.904 24.78 2455
+-115.778 24.78 2402
+-115.652 24.78 2458
+-115.526 24.78 2472
+-115.4 24.78 2485
+-115.274 24.78 2497
+-115.148 24.78 2508
+-115.022 24.78 2554
+-114.896 24.78 2563
+-114.77 24.78 2547
+-114.644 24.78 2546
+-114.518 24.78 2619
+-114.392 24.78 2652
+-114.266 24.78 2649
+-114.14 24.78 2645
+-114.014 24.78 2629
+-113.888 24.78 2654
+-113.762 24.78 2669
+-113.636 24.78 2641
+-113.51 24.78 2630
+-113.384 24.78 2618
+-113.258 24.78 2622
+-113.132 24.78 2581
+-113.006 24.78 2552
+-112.88 24.78 2533
+-112.754 24.78 2499
+-112.628 24.78 2494
+-112.502 24.78 2470
+-112.376 24.78 2447
+-112.25 24.78 2422
+-112.124 24.78 2397
+-111.998 24.78 2372
+-111.872 24.78 2347
+-111.746 24.78 2322
+-111.62 24.78 2296
+-111.494 24.78 2288
+-111.368 24.78 2266
+-111.242 24.78 2250
+-111.116 24.78 2242
+-110.99 24.78 2245
+-110.864 24.78 2258
+-110.738 24.78 2279
+-110.612 24.78 2303
+-110.486 24.78 2324
+-110.36 24.78 2341
+-110.234 24.78 2353
+-110.108 24.78 2366
+-109.982 24.78 2383
+-109.856 24.78 2401
+-109.73 24.78 2429
+-109.604 24.78 2458
+-109.478 24.78 2486
+-109.352 24.78 2509
+-109.226 24.78 2528
+-109.1 24.78 2542
+-108.974 24.78 2552
+-108.848 24.78 2587
+-108.722 24.78 2603
+-108.596 24.78 2610
+-108.47 24.78 2618
+-108.344 24.78 2663
+-108.218 24.78 2677
+-108.092 24.78 2693
+-107.966 24.78 2711
+-107.84 24.78 2729
+-107.714 24.78 2747
+-107.588 24.78 2765
+-107.462 24.78 2782
+-107.336 24.78 2814
+-107.21 24.78 2887
+-107.084 24.78 2902
+-106.958 24.78 2906
+-106.832 24.78 2918
+-106.706 24.78 2952
+-106.58 24.78 2971
+-106.454 24.78 2980
+-106.328 24.78 2989
+-106.202 24.78 3079
+-106.076 24.78 3086
+-105.95 24.78 3092
+-105.824 24.78 3046
+-105.698 24.78 3060
+-105.572 24.78 3064
+-105.446 24.78 3067
+-105.32 24.78 3062
+-105.194 24.78 3068
+-105.068 24.78 3077
+-104.942 24.78 3152
+-104.816 24.78 3139
+-104.69 24.78 3044
+-104.564 24.78 3045
+-104.438 24.78 3046
+-104.312 24.78 3066
+-104.186 24.78 3068
+-104.06 24.78 3069
+-103.934 24.78 3097
+-103.808 24.78 3099
+-103.682 24.78 3101
+-103.556 24.78 3055
+-103.43 24.78 3109
+-103.304 24.78 3111
+-103.178 24.78 3113
+-103.052 24.78 3115
+-102.926 24.78 3118
+-102.8 24.78 3116
+-102.674 24.78 3119
+-102.548 24.78 3141
+-102.422 24.78 3144
+-102.296 24.78 3147
+-102.17 24.78 3149
+-102.044 24.78 3096
+-101.918 24.78 3219
+-101.792 24.78 3215
+-101.666 24.78 3237
+-101.54 24.78 3240
+-101.414 24.78 3351
+-101.288 24.78 3354
+-101.162 24.78 3356
+-101.036 24.78 3396
+-100.91 24.78 3380
+-100.784 24.78 3386
+-100.658 24.78 3378
+-100.532 24.78 3395
+-100.406 24.78 3384
+-100.28 24.78 3408
+-100.154 24.78 3411
+-100.028 24.78 3405
+-99.902 24.78 3401
+-99.776 24.78 3404
+-99.65 24.78 3389
+-99.524 24.78 3436
+-99.398 24.78 3439
+-99.272 24.78 3410
+-99.146 24.78 3413
+-99.02 24.78 3459
+-98.894 24.78 3463
+-98.768 24.78 3422
+-98.642 24.78 3394
+-98.516 24.78 3411
+-98.39 24.78 3181
+-98.264 24.78 3181
+-98.138 24.78 3221
+-98.012 24.78 3221
+-97.886 24.78 3225
+-97.76 24.78 3104
+-97.634 24.78 3104
+-97.508 24.78 3071
+-97.382 24.78 2955
+-97.256 24.78 2984
+-97.13 24.78 2968
+-97.004 24.78 2981
+-96.878 24.78 2949
+-96.752 24.78 3047
+-96.626 24.78 3216
+-96.5 24.78 3233
+-96.374 24.78 3332
+-96.248 24.78 3376
+-96.122 24.78 3474
+-95.996 24.78 3473
+-95.87 24.78 3472
+-95.744 24.78 3470
+-95.618 24.78 3469
+-95.492 24.78 3495
+-95.366 24.78 3510
+-95.24 24.78 3509
+-95.114 24.78 3507
+-94.988 24.78 3526
+-94.862 24.78 3525
+-94.736 24.78 3524
+-94.61 24.78 3523
+-94.484 24.78 3522
+-94.358 24.78 3520
+-94.232 24.78 3519
+-94.106 24.78 3518
+-93.98 24.78 3517
+-93.854 24.78 3516
+-93.728 24.78 3514
+-93.602 24.78 3513
+-93.476 24.78 3518
+-93.35 24.78 3517
+-93.224 24.78 3516
+-93.098 24.78 3515
+-92.972 24.78 3514
+-92.846 24.78 3513
+-92.72 24.78 3512
+-92.594 24.78 3604
+-92.468 24.78 3601
+-92.342 24.78 3598
+-92.216 24.78 3594
+-92.09 24.78 3595
+-91.964 24.78 3643
+-91.838 24.78 3639
+-91.712 24.78 3635
+-91.586 24.78 3654
+-91.46 24.78 3649
+-91.334 24.78 3624
+-91.208 24.78 3619
+-91.082 24.78 3669
+-90.956 24.78 3665
+-90.83 24.78 3660
+-90.704 24.78 3655
+-90.578 24.78 3649
+-90.452 24.78 3643
+-90.326 24.78 3663
+-90.2 24.78 3656
+-90.074 24.78 3648
+-89.948 24.78 3639
+-89.822 24.78 3630
+-89.696 24.78 3620
+-89.57 24.78 3609
+-89.444 24.78 3597
+-89.318 24.78 3584
+-89.192 24.78 3552
+-89.066 24.78 3540
+-88.94 24.78 3526
+-88.814 24.78 3511
+-88.688 24.78 3504
+-88.562 24.78 3478
+-88.436 24.78 3485
+-88.31 24.78 3465
+-88.184 24.78 3444
+-88.058 24.78 3422
+-87.932 24.78 3411
+-87.806 24.78 3386
+-87.68 24.78 3355
+-87.554 24.78 3345
+-87.428 24.78 3341
+-87.302 24.78 3418
+-87.176 24.78 3528
+-87.05 24.78 3648
+-86.924 24.78 3784
+-86.798 24.78 3896
+-86.672 24.78 4014
+-86.546 24.78 4127
+-86.42 24.78 4192
+-86.294 24.78 4275
+-86.168 24.78 4336
+-86.042 24.78 4333
+-85.916 24.78 4438
+-85.79 24.78 4618
+-85.664 24.78 4797
+-85.538 24.78 4966
+-85.412 24.78 5068
+-85.286 24.78 5131
+-85.16 24.78 5229
+-85.034 24.78 5342
+-84.908 24.78 5378
+-84.782 24.78 5411
+-84.656 24.78 5479
+-84.53 24.78 5580
+-84.404 24.78 5650
+-84.278 24.78 5728
+-84.152 24.78 5828
+-84.026 24.78 5912
+-83.9 24.78 6008
+-83.774 24.78 6039
+-83.648 24.78 6115
+-83.522 24.78 6180
+-83.396 24.78 6235
+-83.27 24.78 6271
+-83.144 24.78 6317
+-83.018 24.78 6379
+-82.892 24.78 6410
+-82.766 24.78 6417
+-82.64 24.78 6419
+-82.514 24.78 6440
+-82.388 24.78 6450
+-82.262 24.78 6450
+-82.136 24.78 6450
+-82.01 24.78 6448
+-81.884 24.78 6468
+-81.758 24.78 6448
+-81.632 24.78 6434
+-81.506 24.78 6375
+-81.38 24.78 6352
+-81.254 24.78 6331
+-81.128 24.78 6318
+-81.002 24.78 6224
+-80.876 24.78 6156
+-80.75 24.78 6090
+-80.624 24.78 6070
+-80.498 24.78 5981
+-80.372 24.78 5997
+-80.246 24.78 5926
+-80.12 24.78 5807
+-79.994 24.78 5710
+-79.868 24.78 5559
+-79.742 24.78 5435
+-79.616 24.78 5390
+-79.49 24.78 5279
+-79.364 24.78 5215
+-79.238 24.78 5093
+-79.112 24.78 5030
+-78.986 24.78 4910
+-78.86 24.78 4852
+-78.734 24.78 4778
+-78.608 24.78 4653
+-78.482 24.78 4553
+-78.356 24.78 4433
+-78.23 24.78 4318
+-78.104 24.78 4212
+-77.978 24.78 4103
+-77.852 24.78 4045
+-77.726 24.78 3960
+-77.6 24.78 3886
+-77.474 24.78 3801
+-77.348 24.78 3684
+-77.222 24.78 3580
+-77.096 24.78 3440
+-76.97 24.78 3352
+-76.844 24.78 3345
+-76.718 24.78 3352
+-76.592 24.78 3378
+-76.466 24.78 3323
+-76.34 24.78 3314
+-76.214 24.78 3296
+-76.088 24.78 3246
+-75.962 24.78 3206
+-75.836 24.78 3142
+-75.71 24.78 3068
+-75.584 24.78 2969
+-75.458 24.78 2837
+-75.332 24.78 2654
+-75.206 24.78 2427
+-75.08 24.78 2149
+-74.954 24.78 1822
+-74.828 24.78 1473
+-74.702 24.78 1153
+-74.576 24.78 925
+-74.45 24.78 833
+-74.324 24.78 877
+-74.198 24.78 1021
+-74.072 24.78 1196
+-73.946 24.78 1403
+-73.82 24.78 1601
+-73.694 24.78 1784
+-73.568 24.78 1946
+-73.442 24.78 2050
+-73.316 24.78 2174
+-73.19 24.78 2248
+-73.064 24.78 2339
+-72.938 24.78 2418
+-72.812 24.78 2487
+-72.686 24.78 2518
+-72.56 24.78 2548
+-72.434 24.78 2597
+-72.308 24.78 2634
+-72.182 24.78 2668
+-72.056 24.78 2704
+-71.93 24.78 2735
+-71.804 24.78 2764
+-71.678 24.78 2763
+-71.552 24.78 2786
+-71.426 24.78 2808
+-71.3 24.78 2785
+-71.174 24.78 2804
+-71.048 24.78 2786
+-70.922 24.78 2790
+-70.796 24.78 2769
+-70.67 24.78 2782
+-70.544 24.78 2752
+-70.418 24.78 2763
+-70.292 24.78 2773
+-70.166 24.78 2783
+-70.04 24.78 2792
+-69.914 24.78 2801
+-69.788 24.78 2809
+-69.662 24.78 2816
+-69.536 24.78 2823
+-69.41 24.78 2830
+-69.284 24.78 2836
+-69.158 24.78 2843
+-69.032 24.78 2848
+-68.906 24.78 2854
+-68.78 24.78 2859
+-68.654 24.78 2864
+-68.528 24.78 2868
+-68.402 24.78 2873
+-68.276 24.78 2877
+-68.15 24.78 2881
+-68.024 24.78 2859
+-67.898 24.78 2863
+-67.772 24.78 2867
+-67.646 24.78 2871
+-67.52 24.78 2875
+-67.394 24.78 2879
+-67.268 24.78 2840
+-67.142 24.78 2845
+-67.016 24.78 2837
+-66.89 24.78 2834
+-66.764 24.78 2807
+-66.638 24.78 2811
+-66.512 24.78 2815
+-66.386 24.78 2818
+-66.26 24.78 2821
+-66.134 24.78 2824
+-66.008 24.78 2827
+-65.882 24.78 2830
+-65.756 24.78 2833
+-65.63 24.78 2836
+-65.504 24.78 2838
+-65.378 24.78 2841
+-65.252 24.78 2844
+-65.126 24.78 2846
+-128 24.728 3279
+-127.874 24.728 3276
+-127.748 24.728 3302
+-127.622 24.728 3194
+-127.496 24.728 3199
+-127.37 24.728 3231
+-127.244 24.728 3222
+-127.118 24.728 3218
+-126.992 24.728 3213
+-126.866 24.728 3122
+-126.74 24.728 3121
+-126.614 24.728 3038
+-126.488 24.728 3046
+-126.362 24.728 3049
+-126.236 24.728 3044
+-126.11 24.728 3003
+-125.984 24.728 2998
+-125.858 24.728 2993
+-125.732 24.728 3014
+-125.606 24.728 2990
+-125.48 24.728 2984
+-125.354 24.728 2934
+-125.228 24.728 2927
+-125.102 24.728 2987
+-124.976 24.728 2944
+-124.85 24.728 2922
+-124.724 24.728 2824
+-124.598 24.728 2857
+-124.472 24.728 2848
+-124.346 24.728 2839
+-124.22 24.728 2830
+-124.094 24.728 2820
+-123.968 24.728 2810
+-123.842 24.728 2739
+-123.716 24.728 2740
+-123.59 24.728 2728
+-123.464 24.728 2687
+-123.338 24.728 2665
+-123.212 24.728 2642
+-123.086 24.728 2628
+-122.96 24.728 2594
+-122.834 24.728 2578
+-122.708 24.728 2545
+-122.582 24.728 2521
+-122.456 24.728 2490
+-122.33 24.728 2470
+-122.204 24.728 2442
+-122.078 24.728 2423
+-121.952 24.728 2398
+-121.826 24.728 2371
+-121.7 24.728 2342
+-121.574 24.728 2310
+-121.448 24.728 2216
+-121.322 24.728 2181
+-121.196 24.728 2141
+-121.07 24.728 2080
+-120.944 24.728 2034
+-120.818 24.728 1960
+-120.692 24.728 1906
+-120.566 24.728 1848
+-120.44 24.728 1786
+-120.314 24.728 1720
+-120.188 24.728 1650
+-120.062 24.728 1578
+-119.936 24.728 1506
+-119.81 24.728 1437
+-119.684 24.728 1373
+-119.558 24.728 1303
+-119.432 24.728 1262
+-119.306 24.728 1239
+-119.18 24.728 1235
+-119.054 24.728 1246
+-118.928 24.728 1285
+-118.802 24.728 1342
+-118.676 24.728 1410
+-118.55 24.728 1492
+-118.424 24.728 1567
+-118.298 24.728 1655
+-118.172 24.728 1731
+-118.046 24.728 1806
+-117.92 24.728 1887
+-117.794 24.728 1958
+-117.668 24.728 2023
+-117.542 24.728 2080
+-117.416 24.728 2133
+-117.29 24.728 2180
+-117.164 24.728 2253
+-117.038 24.728 2296
+-116.912 24.728 2261
+-116.786 24.728 2300
+-116.66 24.728 2330
+-116.534 24.728 2350
+-116.408 24.728 2388
+-116.282 24.728 2399
+-116.156 24.728 2412
+-116.03 24.728 2433
+-115.904 24.728 2382
+-115.778 24.728 2437
+-115.652 24.728 2452
+-115.526 24.728 2466
+-115.4 24.728 2478
+-115.274 24.728 2489
+-115.148 24.728 2498
+-115.022 24.728 2544
+-114.896 24.728 2528
+-114.77 24.728 2535
+-114.644 24.728 2532
+-114.518 24.728 2606
+-114.392 24.728 2638
+-114.266 24.728 2633
+-114.14 24.728 2618
+-114.014 24.728 2610
+-113.888 24.728 2624
+-113.762 24.728 2628
+-113.636 24.728 2616
+-113.51 24.728 2602
+-113.384 24.728 2605
+-113.258 24.728 2562
+-113.132 24.728 2531
+-113.006 24.728 2510
+-112.88 24.728 2488
+-112.754 24.728 2437
+-112.628 24.728 2441
+-112.502 24.728 2413
+-112.376 24.728 2386
+-112.25 24.728 2358
+-112.124 24.728 2330
+-111.998 24.728 2301
+-111.872 24.728 2273
+-111.746 24.728 2244
+-111.62 24.728 2214
+-111.494 24.728 2199
+-111.368 24.728 2171
+-111.242 24.728 2148
+-111.116 24.728 2136
+-110.99 24.728 2140
+-110.864 24.728 2159
+-110.738 24.728 2192
+-110.612 24.728 2233
+-110.486 24.728 2273
+-110.36 24.728 2308
+-110.234 24.728 2336
+-110.108 24.728 2361
+-109.982 24.728 2385
+-109.856 24.728 2403
+-109.73 24.728 2430
+-109.604 24.728 2457
+-109.478 24.728 2482
+-109.352 24.728 2505
+-109.226 24.728 2525
+-109.1 24.728 2541
+-108.974 24.728 2553
+-108.848 24.728 2563
+-108.722 24.728 2601
+-108.596 24.728 2620
+-108.47 24.728 2630
+-108.344 24.728 2641
+-108.218 24.728 2690
+-108.092 24.728 2704
+-107.966 24.728 2720
+-107.84 24.728 2736
+-107.714 24.728 2753
+-107.588 24.728 2769
+-107.462 24.728 2784
+-107.336 24.728 2799
+-107.21 24.728 2829
+-107.084 24.728 2903
+-106.958 24.728 2916
+-106.832 24.728 2918
+-106.706 24.728 2928
+-106.58 24.728 2962
+-106.454 24.728 2980
+-106.328 24.728 2988
+-106.202 24.728 2996
+-106.076 24.728 3088
+-105.95 24.728 3094
+-105.824 24.728 3100
+-105.698 24.728 3052
+-105.572 24.728 3066
+-105.446 24.728 3070
+-105.32 24.728 3073
+-105.194 24.728 3067
+-105.068 24.728 3074
+-104.942 24.728 3082
+-104.816 24.728 3158
+-104.69 24.728 3145
+-104.564 24.728 3048
+-104.438 24.728 3049
+-104.312 24.728 3050
+-104.186 24.728 3071
+-104.06 24.728 3072
+-103.934 24.728 3074
+-103.808 24.728 3102
+-103.682 24.728 3104
+-103.556 24.728 3106
+-103.43 24.728 3060
+-103.304 24.728 3114
+-103.178 24.728 3116
+-103.052 24.728 3118
+-102.926 24.728 3120
+-102.8 24.728 3123
+-102.674 24.728 3121
+-102.548 24.728 3123
+-102.422 24.728 3146
+-102.296 24.728 3148
+-102.17 24.728 3151
+-102.044 24.728 3154
+-101.918 24.728 3100
+-101.792 24.728 3224
+-101.666 24.728 3220
+-101.54 24.728 3242
+-101.414 24.728 3245
+-101.288 24.728 3357
+-101.162 24.728 3359
+-101.036 24.728 3362
+-100.91 24.728 3402
+-100.784 24.728 3387
+-100.658 24.728 3391
+-100.532 24.728 3383
+-100.406 24.728 3400
+-100.28 24.728 3389
+-100.154 24.728 3413
+-100.028 24.728 3416
+-99.902 24.728 3410
+-99.776 24.728 3406
+-99.65 24.728 3409
+-99.524 24.728 3393
+-99.398 24.728 3440
+-99.272 24.728 3443
+-99.146 24.728 3413
+-99.02 24.728 3416
+-98.894 24.728 3463
+-98.768 24.728 3466
+-98.642 24.728 3425
+-98.516 24.728 3397
+-98.39 24.728 3297
+-98.264 24.728 3297
+-98.138 24.728 3182
+-98.012 24.728 3221
+-97.886 24.728 3221
+-97.76 24.728 3158
+-97.634 24.728 3104
+-97.508 24.728 3071
+-97.382 24.728 2956
+-97.256 24.728 2985
+-97.13 24.728 2977
+-97.004 24.728 3002
+-96.878 24.728 2977
+-96.752 24.728 3047
+-96.626 24.728 3216
+-96.5 24.728 3329
+-96.374 24.728 3331
+-96.248 24.728 3376
+-96.122 24.728 3474
+-95.996 24.728 3472
+-95.87 24.728 3471
+-95.744 24.728 3470
+-95.618 24.728 3496
+-95.492 24.728 3511
+-95.366 24.728 3510
+-95.24 24.728 3508
+-95.114 24.728 3526
+-94.988 24.728 3525
+-94.862 24.728 3524
+-94.736 24.728 3523
+-94.61 24.728 3522
+-94.484 24.728 3521
+-94.358 24.728 3520
+-94.232 24.728 3518
+-94.106 24.728 3517
+-93.98 24.728 3516
+-93.854 24.728 3515
+-93.728 24.728 3513
+-93.602 24.728 3518
+-93.476 24.728 3517
+-93.35 24.728 3516
+-93.224 24.728 3515
+-93.098 24.728 3514
+-92.972 24.728 3513
+-92.846 24.728 3512
+-92.72 24.728 3604
+-92.594 24.728 3601
+-92.468 24.728 3598
+-92.342 24.728 3595
+-92.216 24.728 3595
+-92.09 24.728 3644
+-91.964 24.728 3640
+-91.838 24.728 3636
+-91.712 24.728 3656
+-91.586 24.728 3650
+-91.46 24.728 3625
+-91.334 24.728 3620
+-91.208 24.728 3671
+-91.082 24.728 3666
+-90.956 24.728 3662
+-90.83 24.728 3657
+-90.704 24.728 3651
+-90.578 24.728 3646
+-90.452 24.728 3667
+-90.326 24.728 3660
+-90.2 24.728 3652
+-90.074 24.728 3644
+-89.948 24.728 3635
+-89.822 24.728 3626
+-89.696 24.728 3616
+-89.57 24.728 3605
+-89.444 24.728 3594
+-89.318 24.728 3562
+-89.192 24.728 3550
+-89.066 24.728 3538
+-88.94 24.728 3525
+-88.814 24.728 3521
+-88.688 24.728 3496
+-88.562 24.728 3508
+-88.436 24.728 3490
+-88.31 24.728 3471
+-88.184 24.728 3450
+-88.058 24.728 3441
+-87.932 24.728 3418
+-87.806 24.728 3391
+-87.68 24.728 3382
+-87.554 24.728 3375
+-87.428 24.728 3389
+-87.302 24.728 3449
+-87.176 24.728 3526
+-87.05 24.728 3618
+-86.924 24.728 3753
+-86.798 24.728 3882
+-86.672 24.728 3973
+-86.546 24.728 4048
+-86.42 24.728 4152
+-86.294 24.728 4237
+-86.168 24.728 4282
+-86.042 24.728 4256
+-85.916 24.728 4359
+-85.79 24.728 4548
+-85.664 24.728 4720
+-85.538 24.728 4865
+-85.412 24.728 4975
+-85.286 24.728 5096
+-85.16 24.728 5198
+-85.034 24.728 5284
+-84.908 24.728 5347
+-84.782 24.728 5335
+-84.656 24.728 5465
+-84.53 24.728 5567
+-84.404 24.728 5612
+-84.278 24.728 5700
+-84.152 24.728 5779
+-84.026 24.728 5815
+-83.9 24.728 5905
+-83.774 24.728 5990
+-83.648 24.728 6077
+-83.522 24.728 6134
+-83.396 24.728 6174
+-83.27 24.728 6219
+-83.144 24.728 6247
+-83.018 24.728 6312
+-82.892 24.728 6365
+-82.766 24.728 6394
+-82.64 24.728 6387
+-82.514 24.728 6400
+-82.388 24.728 6444
+-82.262 24.728 6409
+-82.136 24.728 6430
+-82.01 24.728 6411
+-81.884 24.728 6410
+-81.758 24.728 6376
+-81.632 24.728 6374
+-81.506 24.728 6341
+-81.38 24.728 6287
+-81.254 24.728 6312
+-81.128 24.728 6281
+-81.002 24.728 6190
+-80.876 24.728 6131
+-80.75 24.728 6100
+-80.624 24.728 6046
+-80.498 24.728 5990
+-80.372 24.728 5934
+-80.246 24.728 5874
+-80.12 24.728 5733
+-79.994 24.728 5604
+-79.868 24.728 5522
+-79.742 24.728 5413
+-79.616 24.728 5312
+-79.49 24.728 5275
+-79.364 24.728 5188
+-79.238 24.728 5053
+-79.112 24.728 4969
+-78.986 24.728 4873
+-78.86 24.728 4800
+-78.734 24.728 4732
+-78.608 24.728 4615
+-78.482 24.728 4511
+-78.356 24.728 4408
+-78.23 24.728 4263
+-78.104 24.728 4132
+-77.978 24.728 4035
+-77.852 24.728 4000
+-77.726 24.728 3921
+-77.6 24.728 3815
+-77.474 24.728 3720
+-77.348 24.728 3654
+-77.222 24.728 3545
+-77.096 24.728 3455
+-76.97 24.728 3397
+-76.844 24.728 3374
+-76.718 24.728 3376
+-76.592 24.728 3366
+-76.466 24.728 3307
+-76.34 24.728 3297
+-76.214 24.728 3280
+-76.088 24.728 3254
+-75.962 24.728 3194
+-75.836 24.728 3144
+-75.71 24.728 3067
+-75.584 24.728 2977
+-75.458 24.728 2858
+-75.332 24.728 2703
+-75.206 24.728 2497
+-75.08 24.728 2253
+-74.954 24.728 1976
+-74.828 24.728 1685
+-74.702 24.728 1419
+-74.576 24.728 1225
+-74.45 24.728 1134
+-74.324 24.728 1150
+-74.198 24.728 1250
+-74.072 24.728 1398
+-73.946 24.728 1540
+-73.82 24.728 1708
+-73.694 24.728 1863
+-73.568 24.728 2005
+-73.442 24.728 2132
+-73.316 24.728 2206
+-73.19 24.728 2306
+-73.064 24.728 2357
+-72.938 24.728 2431
+-72.812 24.728 2497
+-72.686 24.728 2555
+-72.56 24.728 2577
+-72.434 24.728 2599
+-72.308 24.728 2641
+-72.182 24.728 2673
+-72.056 24.728 2703
+-71.93 24.728 2734
+-71.804 24.728 2762
+-71.678 24.728 2788
+-71.552 24.728 2784
+-71.426 24.728 2805
+-71.3 24.728 2825
+-71.174 24.728 2801
+-71.048 24.728 2818
+-70.922 24.728 2798
+-70.796 24.728 2802
+-70.67 24.728 2779
+-70.544 24.728 2792
+-70.418 24.728 2760
+-70.292 24.728 2771
+-70.166 24.728 2780
+-70.04 24.728 2790
+-69.914 24.728 2798
+-69.788 24.728 2806
+-69.662 24.728 2814
+-69.536 24.728 2821
+-69.41 24.728 2828
+-69.284 24.728 2834
+-69.158 24.728 2840
+-69.032 24.728 2846
+-68.906 24.728 2852
+-68.78 24.728 2857
+-68.654 24.728 2862
+-68.528 24.728 2867
+-68.402 24.728 2871
+-68.276 24.728 2875
+-68.15 24.728 2879
+-68.024 24.728 2883
+-67.898 24.728 2861
+-67.772 24.728 2865
+-67.646 24.728 2869
+-67.52 24.728 2873
+-67.394 24.728 2877
+-67.268 24.728 2881
+-67.142 24.728 2842
+-67.016 24.728 2846
+-66.89 24.728 2838
+-66.764 24.728 2836
+-66.638 24.728 2809
+-66.512 24.728 2812
+-66.386 24.728 2816
+-66.26 24.728 2819
+-66.134 24.728 2822
+-66.008 24.728 2825
+-65.882 24.728 2828
+-65.756 24.728 2831
+-65.63 24.728 2834
+-65.504 24.728 2837
+-65.378 24.728 2839
+-65.252 24.728 2842
+-65.126 24.728 2844
+-128 24.676 3277
+-127.874 24.676 3303
+-127.748 24.676 3195
+-127.622 24.676 3200
+-127.496 24.676 3233
+-127.37 24.676 3223
+-127.244 24.676 3218
+-127.118 24.676 3214
+-126.992 24.676 3123
+-126.866 24.676 3123
+-126.74 24.676 3039
+-126.614 24.676 3048
+-126.488 24.676 3051
+-126.362 24.676 3046
+-126.236 24.676 3005
+-126.11 24.676 3000
+-125.984 24.676 2995
+-125.858 24.676 3017
+-125.732 24.676 2993
+-125.606 24.676 2987
+-125.48 24.676 2936
+-125.354 24.676 2930
+-125.228 24.676 2991
+-125.102 24.676 2948
+-124.976 24.676 2926
+-124.85 24.676 2828
+-124.724 24.676 2861
+-124.598 24.676 2853
+-124.472 24.676 2845
+-124.346 24.676 2836
+-124.22 24.676 2827
+-124.094 24.676 2817
+-123.968 24.676 2746
+-123.842 24.676 2747
+-123.716 24.676 2737
+-123.59 24.676 2696
+-123.464 24.676 2675
+-123.338 24.676 2651
+-123.212 24.676 2639
+-123.086 24.676 2605
+-122.96 24.676 2591
+-122.834 24.676 2558
+-122.708 24.676 2536
+-122.582 24.676 2506
+-122.456 24.676 2488
+-122.33 24.676 2461
+-122.204 24.676 2445
+-122.078 24.676 2422
+-121.952 24.676 2398
+-121.826 24.676 2371
+-121.7 24.676 2343
+-121.574 24.676 2251
+-121.448 24.676 2219
+-121.322 24.676 2185
+-121.196 24.676 2128
+-121.07 24.676 2088
+-120.944 24.676 2020
+-120.818 24.676 1974
+-120.692 24.676 1924
+-120.566 24.676 1871
+-120.44 24.676 1815
+-120.314 24.676 1755
+-120.188 24.676 1694
+-120.062 24.676 1631
+-119.936 24.676 1569
+-119.81 24.676 1511
+-119.684 24.676 1440
+-119.558 24.676 1396
+-119.432 24.676 1364
+-119.306 24.676 1346
+-119.18 24.676 1338
+-119.054 24.676 1354
+-118.928 24.676 1388
+-118.802 24.676 1433
+-118.676 24.676 1494
+-118.55 24.676 1552
+-118.424 24.676 1627
+-118.298 24.676 1693
+-118.172 24.676 1763
+-118.046 24.676 1840
+-117.92 24.676 1910
+-117.794 24.676 1975
+-117.668 24.676 2034
+-117.542 24.676 2089
+-117.416 24.676 2139
+-117.29 24.676 2213
+-117.164 24.676 2258
+-117.038 24.676 2227
+-116.912 24.676 2268
+-116.786 24.676 2300
+-116.66 24.676 2322
+-116.534 24.676 2361
+-116.408 24.676 2374
+-116.282 24.676 2388
+-116.156 24.676 2410
+-116.03 24.676 2360
+-115.904 24.676 2416
+-115.778 24.676 2432
+-115.652 24.676 2446
+-115.526 24.676 2459
+-115.4 24.676 2470
+-115.274 24.676 2480
+-115.148 24.676 2527
+-115.022 24.676 2510
+-114.896 24.676 2517
+-114.77 24.676 2523
+-114.644 24.676 2519
+-114.518 24.676 2593
+-114.392 24.676 2624
+-114.266 24.676 2608
+-114.14 24.676 2600
+-114.014 24.676 2613
+-113.888 24.676 2617
+-113.762 24.676 2603
+-113.636 24.676 2588
+-113.51 24.676 2592
+-113.384 24.676 2548
+-113.258 24.676 2515
+-113.132 24.676 2492
+-113.006 24.676 2467
+-112.88 24.676 2414
+-112.754 24.676 2375
+-112.628 24.676 2357
+-112.502 24.676 2353
+-112.376 24.676 2322
+-112.25 24.676 2290
+-112.124 24.676 2258
+-111.998 24.676 2227
+-111.872 24.676 2196
+-111.746 24.676 2164
+-111.62 24.676 2131
+-111.494 24.676 2109
+-111.368 24.676 2073
+-111.242 24.676 2042
+-111.116 24.676 2022
+-110.99 24.676 2022
+-110.864 24.676 2045
+-110.738 24.676 2090
+-110.612 24.676 2146
+-110.486 24.676 2205
+-110.36 24.676 2258
+-110.234 24.676 2303
+-110.108 24.676 2341
+-109.982 24.676 2373
+-109.856 24.676 2396
+-109.73 24.676 2424
+-109.604 24.676 2451
+-109.478 24.676 2477
+-109.352 24.676 2500
+-109.226 24.676 2520
+-109.1 24.676 2537
+-108.974 24.676 2552
+-108.848 24.676 2564
+-108.722 24.676 2574
+-108.596 24.676 2615
+-108.47 24.676 2638
+-108.344 24.676 2649
+-108.218 24.676 2661
+-108.092 24.676 2712
+-107.966 24.676 2727
+-107.84 24.676 2742
+-107.714 24.676 2757
+-107.588 24.676 2771
+-107.462 24.676 2785
+-107.336 24.676 2799
+-107.21 24.676 2812
+-107.084 24.676 2841
+-106.958 24.676 2917
+-106.832 24.676 2929
+-106.706 24.676 2929
+-106.58 24.676 2938
+-106.454 24.676 2970
+-106.328 24.676 2988
+-106.202 24.676 2995
+-106.076 24.676 3002
+-105.95 24.676 3096
+-105.824 24.676 3102
+-105.698 24.676 3107
+-105.572 24.676 3058
+-105.446 24.676 3072
+-105.32 24.676 3076
+-105.194 24.676 3079
+-105.068 24.676 3073
+-104.942 24.676 3079
+-104.816 24.676 3088
+-104.69 24.676 3165
+-104.564 24.676 3151
+-104.438 24.676 3053
+-104.312 24.676 3054
+-104.186 24.676 3055
+-104.06 24.676 3076
+-103.934 24.676 3077
+-103.808 24.676 3079
+-103.682 24.676 3107
+-103.556 24.676 3109
+-103.43 24.676 3111
+-103.304 24.676 3064
+-103.178 24.676 3119
+-103.052 24.676 3121
+-102.926 24.676 3123
+-102.8 24.676 3125
+-102.674 24.676 3127
+-102.548 24.676 3125
+-102.422 24.676 3128
+-102.296 24.676 3150
+-102.17 24.676 3153
+-102.044 24.676 3155
+-101.918 24.676 3158
+-101.792 24.676 3103
+-101.666 24.676 3228
+-101.54 24.676 3225
+-101.414 24.676 3247
+-101.288 24.676 3250
+-101.162 24.676 3362
+-101.036 24.676 3364
+-100.91 24.676 3367
+-100.784 24.676 3407
+-100.658 24.676 3391
+-100.532 24.676 3396
+-100.406 24.676 3387
+-100.28 24.676 3405
+-100.154 24.676 3393
+-100.028 24.676 3418
+-99.902 24.676 3421
+-99.776 24.676 3414
+-99.65 24.676 3410
+-99.524 24.676 3413
+-99.398 24.676 3397
+-99.272 24.676 3444
+-99.146 24.676 3447
+-99.02 24.676 3417
+-98.894 24.676 3420
+-98.768 24.676 3467
+-98.642 24.676 3470
+-98.516 24.676 3429
+-98.39 24.676 3338
+-98.264 24.676 3297
+-98.138 24.676 3298
+-98.012 24.676 3182
+-97.886 24.676 3221
+-97.76 24.676 3158
+-97.634 24.676 3158
+-97.508 24.676 3072
+-97.382 24.676 2972
+-97.256 24.676 3001
+-97.13 24.676 2998
+-97.004 24.676 3002
+-96.878 24.676 2978
+-96.752 24.676 3133
+-96.626 24.676 3227
+-96.5 24.676 3329
+-96.374 24.676 3331
+-96.248 24.676 3375
+-96.122 24.676 3473
+-95.996 24.676 3472
+-95.87 24.676 3470
+-95.744 24.676 3496
+-95.618 24.676 3512
+-95.492 24.676 3510
+-95.366 24.676 3509
+-95.24 24.676 3526
+-95.114 24.676 3525
+-94.988 24.676 3524
+-94.862 24.676 3523
+-94.736 24.676 3522
+-94.61 24.676 3521
+-94.484 24.676 3520
+-94.358 24.676 3519
+-94.232 24.676 3517
+-94.106 24.676 3516
+-93.98 24.676 3515
+-93.854 24.676 3513
+-93.728 24.676 3518
+-93.602 24.676 3517
+-93.476 24.676 3516
+-93.35 24.676 3515
+-93.224 24.676 3514
+-93.098 24.676 3513
+-92.972 24.676 3512
+-92.846 24.676 3604
+-92.72 24.676 3601
+-92.594 24.676 3598
+-92.468 24.676 3595
+-92.342 24.676 3596
+-92.216 24.676 3644
+-92.09 24.676 3641
+-91.964 24.676 3637
+-91.838 24.676 3657
+-91.712 24.676 3652
+-91.586 24.676 3626
+-91.46 24.676 3622
+-91.334 24.676 3672
+-91.208 24.676 3668
+-91.082 24.676 3664
+-90.956 24.676 3659
+-90.83 24.676 3654
+-90.704 24.676 3648
+-90.578 24.676 3670
+-90.452 24.676 3663
+-90.326 24.676 3656
+-90.2 24.676 3649
+-90.074 24.676 3641
+-89.948 24.676 3632
+-89.822 24.676 3623
+-89.696 24.676 3613
+-89.57 24.676 3602
+-89.444 24.676 3570
+-89.318 24.676 3560
+-89.192 24.676 3549
+-89.066 24.676 3537
+-88.94 24.676 3535
+-88.814 24.676 3513
+-88.688 24.676 3528
+-88.562 24.676 3511
+-88.436 24.676 3493
+-88.31 24.676 3473
+-88.184 24.676 3456
+-88.058 24.676 3432
+-87.932 24.676 3408
+-87.806 24.676 3388
+-87.68 24.676 3359
+-87.554 24.676 3343
+-87.428 24.676 3356
+-87.302 24.676 3418
+-87.176 24.676 3503
+-87.05 24.676 3628
+-86.924 24.676 3711
+-86.798 24.676 3795
+-86.672 24.676 3908
+-86.546 24.676 3979
+-86.42 24.676 4085
+-86.294 24.676 4178
+-86.168 24.676 4265
+-86.042 24.676 4317
+-85.916 24.676 4407
+-85.79 24.676 4560
+-85.664 24.676 4695
+-85.538 24.676 4775
+-85.412 24.676 4863
+-85.286 24.676 5023
+-85.16 24.676 5127
+-85.034 24.676 5207
+-84.908 24.676 5287
+-84.782 24.676 5357
+-84.656 24.676 5457
+-84.53 24.676 5499
+-84.404 24.676 5556
+-84.278 24.676 5648
+-84.152 24.676 5758
+-84.026 24.676 5855
+-83.9 24.676 5854
+-83.774 24.676 5940
+-83.648 24.676 5997
+-83.522 24.676 6076
+-83.396 24.676 6128
+-83.27 24.676 6167
+-83.144 24.676 6180
+-83.018 24.676 6227
+-82.892 24.676 6291
+-82.766 24.676 6303
+-82.64 24.676 6341
+-82.514 24.676 6354
+-82.388 24.676 6338
+-82.262 24.676 6353
+-82.136 24.676 6352
+-82.01 24.676 6332
+-81.884 24.676 6319
+-81.758 24.676 6321
+-81.632 24.676 6307
+-81.506 24.676 6279
+-81.38 24.676 6242
+-81.254 24.676 6252
+-81.128 24.676 6201
+-81.002 24.676 6132
+-80.876 24.676 6062
+-80.75 24.676 6040
+-80.624 24.676 5971
+-80.498 24.676 5914
+-80.372 24.676 5856
+-80.246 24.676 5789
+-80.12 24.676 5665
+-79.994 24.676 5543
+-79.868 24.676 5518
+-79.742 24.676 5397
+-79.616 24.676 5276
+-79.49 24.676 5236
+-79.364 24.676 5126
+-79.238 24.676 4992
+-79.112 24.676 4911
+-78.986 24.676 4825
+-78.86 24.676 4771
+-78.734 24.676 4680
+-78.608 24.676 4569
+-78.482 24.676 4452
+-78.356 24.676 4406
+-78.23 24.676 4210
+-78.104 24.676 4085
+-77.978 24.676 3918
+-77.852 24.676 3966
+-77.726 24.676 3865
+-77.6 24.676 3698
+-77.474 24.676 3582
+-77.348 24.676 3548
+-77.222 24.676 3493
+-77.096 24.676 3410
+-76.97 24.676 3357
+-76.844 24.676 3331
+-76.718 24.676 3337
+-76.592 24.676 3355
+-76.466 24.676 3303
+-76.34 24.676 3276
+-76.214 24.676 3262
+-76.088 24.676 3240
+-75.962 24.676 3207
+-75.836 24.676 3137
+-75.71 24.676 3077
+-75.584 24.676 2987
+-75.458 24.676 2883
+-75.332 24.676 2749
+-75.206 24.676 2583
+-75.08 24.676 2374
+-74.954 24.676 2144
+-74.828 24.676 1911
+-74.702 24.676 1698
+-74.576 24.676 1536
+-74.45 24.676 1450
+-74.324 24.676 1443
+-74.198 24.676 1502
+-74.072 24.676 1606
+-73.946 24.676 1732
+-73.82 24.676 1834
+-73.694 24.676 1964
+-73.568 24.676 2080
+-73.442 24.676 2190
+-73.316 24.676 2289
+-73.19 24.676 2340
+-73.064 24.676 2420
+-72.938 24.676 2451
+-72.812 24.676 2513
+-72.686 24.676 2567
+-72.56 24.676 2616
+-72.434 24.676 2629
+-72.308 24.676 2645
+-72.182 24.676 2682
+-72.056 24.676 2709
+-71.93 24.676 2734
+-71.804 24.676 2762
+-71.678 24.676 2788
+-71.552 24.676 2811
+-71.426 24.676 2804
+-71.3 24.676 2823
+-71.174 24.676 2841
+-71.048 24.676 2816
+-70.922 24.676 2832
+-70.796 24.676 2811
+-70.67 24.676 2813
+-70.544 24.676 2789
+-70.418 24.676 2801
+-70.292 24.676 2769
+-70.166 24.676 2778
+-70.04 24.676 2788
+-69.914 24.676 2796
+-69.788 24.676 2804
+-69.662 24.676 2812
+-69.536 24.676 2819
+-69.41 24.676 2826
+-69.284 24.676 2832
+-69.158 24.676 2838
+-69.032 24.676 2844
+-68.906 24.676 2850
+-68.78 24.676 2855
+-68.654 24.676 2860
+-68.528 24.676 2865
+-68.402 24.676 2869
+-68.276 24.676 2874
+-68.15 24.676 2878
+-68.024 24.676 2882
+-67.898 24.676 2886
+-67.772 24.676 2863
+-67.646 24.676 2867
+-67.52 24.676 2871
+-67.394 24.676 2875
+-67.268 24.676 2879
+-67.142 24.676 2882
+-67.016 24.676 2844
+-66.89 24.676 2848
+-66.764 24.676 2840
+-66.638 24.676 2838
+-66.512 24.676 2810
+-66.386 24.676 2814
+-66.26 24.676 2817
+-66.134 24.676 2820
+-66.008 24.676 2823
+-65.882 24.676 2826
+-65.756 24.676 2829
+-65.63 24.676 2832
+-65.504 24.676 2835
+-65.378 24.676 2837
+-65.252 24.676 2840
+-65.126 24.676 2843
+-128 24.624 3304
+-127.874 24.624 3196
+-127.748 24.624 3201
+-127.622 24.624 3234
+-127.496 24.624 3224
+-127.37 24.624 3221
+-127.244 24.624 3216
+-127.118 24.624 3125
+-126.992 24.624 3124
+-126.866 24.624 3041
+-126.74 24.624 3050
+-126.614 24.624 3053
+-126.488 24.624 3048
+-126.362 24.624 3007
+-126.236 24.624 3002
+-126.11 24.624 2997
+-125.984 24.624 3020
+-125.858 24.624 2995
+-125.732 24.624 2990
+-125.606 24.624 2939
+-125.48 24.624 2933
+-125.354 24.624 2996
+-125.228 24.624 2952
+-125.102 24.624 2930
+-124.976 24.624 2832
+-124.85 24.624 2866
+-124.724 24.624 2858
+-124.598 24.624 2850
+-124.472 24.624 2842
+-124.346 24.624 2833
+-124.22 24.624 2824
+-124.094 24.624 2752
+-123.968 24.624 2755
+-123.842 24.624 2745
+-123.716 24.624 2704
+-123.59 24.624 2683
+-123.464 24.624 2661
+-123.338 24.624 2649
+-123.212 24.624 2617
+-123.086 24.624 2603
+-122.96 24.624 2571
+-122.834 24.624 2550
+-122.708 24.624 2521
+-122.582 24.624 2504
+-122.456 24.624 2480
+-122.33 24.624 2465
+-122.204 24.624 2445
+-122.078 24.624 2423
+-121.952 24.624 2399
+-121.826 24.624 2373
+-121.7 24.624 2282
+-121.574 24.624 2254
+-121.448 24.624 2224
+-121.322 24.624 2171
+-121.196 24.624 2136
+-121.07 24.624 2073
+-120.944 24.624 2033
+-120.818 24.624 1990
+-120.692 24.624 1945
+-120.566 24.624 1897
+-120.44 24.624 1846
+-120.314 24.624 1793
+-120.188 24.624 1739
+-120.062 24.624 1685
+-119.936 24.624 1633
+-119.81 24.624 1563
+-119.684 24.624 1520
+-119.558 24.624 1485
+-119.432 24.624 1460
+-119.306 24.624 1439
+-119.18 24.624 1440
+-119.054 24.624 1455
+-118.928 24.624 1480
+-118.802 24.624 1522
+-118.676 24.624 1562
+-118.55 24.624 1622
+-118.424 24.624 1676
+-118.298 24.624 1736
+-118.172 24.624 1807
+-118.046 24.624 1872
+-117.92 24.624 1935
+-117.794 24.624 1994
+-117.668 24.624 2049
+-117.542 24.624 2100
+-117.416 24.624 2173
+-117.29 24.624 2221
+-117.164 24.624 2193
+-117.038 24.624 2235
+-116.912 24.624 2269
+-116.786 24.624 2293
+-116.66 24.624 2333
+-116.534 24.624 2348
+-116.408 24.624 2364
+-116.282 24.624 2387
+-116.156 24.624 2339
+-116.03 24.624 2395
+-115.904 24.624 2412
+-115.778 24.624 2427
+-115.652 24.624 2440
+-115.526 24.624 2452
+-115.4 24.624 2463
+-115.274 24.624 2472
+-115.148 24.624 2492
+-115.022 24.624 2500
+-114.896 24.624 2506
+-114.77 24.624 2465
+-114.644 24.624 2505
+-114.518 24.624 2506
+-114.392 24.624 2599
+-114.266 24.624 2591
+-114.14 24.624 2605
+-114.014 24.624 2608
+-113.888 24.624 2568
+-113.762 24.624 2553
+-113.636 24.624 2556
+-113.51 24.624 2537
+-113.384 24.624 2503
+-113.258 24.624 2479
+-113.132 24.624 2452
+-113.006 24.624 2397
+-112.88 24.624 2355
+-112.754 24.624 2323
+-112.628 24.624 2290
+-112.502 24.624 2291
+-112.376 24.624 2254
+-112.25 24.624 2218
+-112.124 24.624 2184
+-111.998 24.624 2151
+-111.872 24.624 2118
+-111.746 24.624 2086
+-111.62 24.624 2051
+-111.494 24.624 2023
+-111.368 24.624 1980
+-111.242 24.624 1939
+-111.116 24.624 1909
+-110.99 24.624 1903
+-110.864 24.624 1928
+-110.738 24.624 1982
+-110.612 24.624 2054
+-110.486 24.624 2130
+-110.36 24.624 2200
+-110.234 24.624 2260
+-110.108 24.624 2310
+-109.982 24.624 2352
+-109.856 24.624 2380
+-109.73 24.624 2413
+-109.604 24.624 2442
+-109.478 24.624 2469
+-109.352 24.624 2493
+-109.226 24.624 2514
+-109.1 24.624 2532
+-108.974 24.624 2548
+-108.848 24.624 2562
+-108.722 24.624 2575
+-108.596 24.624 2586
+-108.47 24.624 2630
+-108.344 24.624 2654
+-108.218 24.624 2666
+-108.092 24.624 2678
+-107.966 24.624 2732
+-107.84 24.624 2746
+-107.714 24.624 2759
+-107.588 24.624 2773
+-107.462 24.624 2786
+-107.336 24.624 2799
+-107.21 24.624 2811
+-107.084 24.624 2822
+-106.958 24.624 2851
+-106.832 24.624 2930
+-106.706 24.624 2939
+-106.58 24.624 2938
+-106.454 24.624 2946
+-106.328 24.624 2978
+-106.202 24.624 2995
+-106.076 24.624 3002
+-105.95 24.624 3008
+-105.824 24.624 3104
+-105.698 24.624 3110
+-105.572 24.624 3114
+-105.446 24.624 3064
+-105.32 24.624 3078
+-105.194 24.624 3082
+-105.068 24.624 3085
+-104.942 24.624 3078
+-104.816 24.624 3085
+-104.69 24.624 3093
+-104.564 24.624 3171
+-104.438 24.624 3156
+-104.312 24.624 3057
+-104.186 24.624 3058
+-104.06 24.624 3059
+-103.934 24.624 3080
+-103.808 24.624 3082
+-103.682 24.624 3083
+-103.556 24.624 3112
+-103.43 24.624 3114
+-103.304 24.624 3116
+-103.178 24.624 3068
+-103.052 24.624 3124
+-102.926 24.624 3126
+-102.8 24.624 3128
+-102.674 24.624 3130
+-102.548 24.624 3132
+-102.422 24.624 3130
+-102.296 24.624 3132
+-102.17 24.624 3155
+-102.044 24.624 3157
+-101.918 24.624 3159
+-101.792 24.624 3162
+-101.666 24.624 3107
+-101.54 24.624 3233
+-101.414 24.624 3229
+-101.288 24.624 3251
+-101.162 24.624 3254
+-101.036 24.624 3367
+-100.91 24.624 3369
+-100.784 24.624 3372
+-100.658 24.624 3412
+-100.532 24.624 3397
+-100.406 24.624 3400
+-100.28 24.624 3392
+-100.154 24.624 3410
+-100.028 24.624 3398
+-99.902 24.624 3422
+-99.776 24.624 3425
+-99.65 24.624 3419
+-99.524 24.624 3414
+-99.398 24.624 3417
+-99.272 24.624 3401
+-99.146 24.624 3448
+-99.02 24.624 3451
+-98.894 24.624 3421
+-98.768 24.624 3423
+-98.642 24.624 3471
+-98.516 24.624 3474
+-98.39 24.624 3324
+-98.264 24.624 3338
+-98.138 24.624 3298
+-98.012 24.624 3298
+-97.886 24.624 3125
+-97.76 24.624 3160
+-97.634 24.624 3158
+-97.508 24.624 3088
+-97.382 24.624 2991
+-97.256 24.624 3001
+-97.13 24.624 2999
+-97.004 24.624 2973
+-96.878 24.624 3016
+-96.752 24.624 3165
+-96.626 24.624 3227
+-96.5 24.624 3328
+-96.374 24.624 3330
+-96.248 24.624 3374
+-96.122 24.624 3472
+-95.996 24.624 3471
+-95.87 24.624 3497
+-95.744 24.624 3513
+-95.618 24.624 3511
+-95.492 24.624 3510
+-95.366 24.624 3527
+-95.24 24.624 3526
+-95.114 24.624 3525
+-94.988 24.624 3524
+-94.862 24.624 3522
+-94.736 24.624 3521
+-94.61 24.624 3520
+-94.484 24.624 3519
+-94.358 24.624 3518
+-94.232 24.624 3517
+-94.106 24.624 3515
+-93.98 24.624 3514
+-93.854 24.624 3518
+-93.728 24.624 3517
+-93.602 24.624 3516
+-93.476 24.624 3516
+-93.35 24.624 3515
+-93.224 24.624 3514
+-93.098 24.624 3513
+-92.972 24.624 3604
+-92.846 24.624 3602
+-92.72 24.624 3599
+-92.594 24.624 3596
+-92.468 24.624 3596
+-92.342 24.624 3645
+-92.216 24.624 3642
+-92.09 24.624 3638
+-91.964 24.624 3658
+-91.838 24.624 3654
+-91.712 24.624 3627
+-91.586 24.624 3623
+-91.46 24.624 3674
+-91.334 24.624 3670
+-91.208 24.624 3666
+-91.082 24.624 3661
+-90.956 24.624 3656
+-90.83 24.624 3651
+-90.704 24.624 3673
+-90.578 24.624 3667
+-90.452 24.624 3660
+-90.326 24.624 3653
+-90.2 24.624 3646
+-90.074 24.624 3638
+-89.948 24.624 3629
+-89.822 24.624 3620
+-89.696 24.624 3610
+-89.57 24.624 3578
+-89.444 24.624 3569
+-89.318 24.624 3559
+-89.192 24.624 3548
+-89.066 24.624 3548
+-88.94 24.624 3528
+-88.814 24.624 3546
+-88.688 24.624 3531
+-88.562 24.624 3514
+-88.436 24.624 3496
+-88.31 24.624 3481
+-88.184 24.624 3456
+-88.058 24.624 3431
+-87.932 24.624 3402
+-87.806 24.624 3354
+-87.68 24.624 3295
+-87.554 24.624 3242
+-87.428 24.624 3237
+-87.302 24.624 3310
+-87.176 24.624 3460
+-87.05 24.624 3586
+-86.924 24.624 3677
+-86.798 24.624 3743
+-86.672 24.624 3822
+-86.546 24.624 3896
+-86.42 24.624 3995
+-86.294 24.624 4087
+-86.168 24.624 4195
+-86.042 24.624 4331
+-85.916 24.624 4421
+-85.79 24.624 4571
+-85.664 24.624 4693
+-85.538 24.624 4712
+-85.412 24.624 4804
+-85.286 24.624 4974
+-85.16 24.624 5054
+-85.034 24.624 5095
+-84.908 24.624 5159
+-84.782 24.624 5290
+-84.656 24.624 5415
+-84.53 24.624 5497
+-84.404 24.624 5511
+-84.278 24.624 5582
+-84.152 24.624 5677
+-84.026 24.624 5754
+-83.9 24.624 5790
+-83.774 24.624 5902
+-83.648 24.624 5936
+-83.522 24.624 5990
+-83.396 24.624 6072
+-83.27 24.624 6118
+-83.144 24.624 6141
+-83.018 24.624 6157
+-82.892 24.624 6202
+-82.766 24.624 6251
+-82.64 24.624 6268
+-82.514 24.624 6295
+-82.388 24.624 6307
+-82.262 24.624 6297
+-82.136 24.624 6303
+-82.01 24.624 6281
+-81.884 24.624 6266
+-81.758 24.624 6244
+-81.632 24.624 6219
+-81.506 24.624 6202
+-81.38 24.624 6196
+-81.254 24.624 6177
+-81.128 24.624 6129
+-81.002 24.624 6058
+-80.876 24.624 5979
+-80.75 24.624 5972
+-80.624 24.624 5897
+-80.498 24.624 5877
+-80.372 24.624 5808
+-80.246 24.624 5697
+-80.12 24.624 5567
+-79.994 24.624 5497
+-79.868 24.624 5429
+-79.742 24.624 5311
+-79.616 24.624 5217
+-79.49 24.624 5200
+-79.364 24.624 5078
+-79.238 24.624 4946
+-79.112 24.624 4898
+-78.986 24.624 4812
+-78.86 24.624 4703
+-78.734 24.624 4618
+-78.608 24.624 4577
+-78.482 24.624 4499
+-78.356 24.624 4411
+-78.23 24.624 4252
+-78.104 24.624 4098
+-77.978 24.624 4009
+-77.852 24.624 3948
+-77.726 24.624 3815
+-77.6 24.624 3608
+-77.474 24.624 3488
+-77.348 24.624 3494
+-77.222 24.624 3421
+-77.096 24.624 3318
+-76.97 24.624 3238
+-76.844 24.624 3236
+-76.718 24.624 3266
+-76.592 24.624 3304
+-76.466 24.624 3270
+-76.34 24.624 3273
+-76.214 24.624 3242
+-76.088 24.624 3223
+-75.962 24.624 3195
+-75.836 24.624 3156
+-75.71 24.624 3078
+-75.584 24.624 3009
+-75.458 24.624 2910
+-75.332 24.624 2797
+-75.206 24.624 2659
+-75.08 24.624 2497
+-74.954 24.624 2308
+-74.828 24.624 2121
+-74.702 24.624 1953
+-74.576 24.624 1821
+-74.45 24.624 1742
+-74.324 24.624 1720
+-74.198 24.624 1748
+-74.072 24.624 1814
+-73.946 24.624 1902
+-73.82 24.624 2001
+-73.694 24.624 2071
+-73.568 24.624 2170
+-73.442 24.624 2257
+-73.316 24.624 2341
+-73.19 24.624 2418
+-73.064 24.624 2452
+-72.938 24.624 2517
+-72.812 24.624 2533
+-72.686 24.624 2583
+-72.56 24.624 2629
+-72.434 24.624 2670
+-72.308 24.624 2676
+-72.182 24.624 2687
+-72.056 24.624 2719
+-71.93 24.624 2742
+-71.804 24.624 2764
+-71.678 24.624 2788
+-71.552 24.624 2811
+-71.426 24.624 2832
+-71.3 24.624 2823
+-71.174 24.624 2840
+-71.048 24.624 2857
+-70.922 24.624 2830
+-70.796 24.624 2845
+-70.67 24.624 2823
+-70.544 24.624 2824
+-70.418 24.624 2799
+-70.292 24.624 2810
+-70.166 24.624 2777
+-70.04 24.624 2786
+-69.914 24.624 2794
+-69.788 24.624 2802
+-69.662 24.624 2810
+-69.536 24.624 2817
+-69.41 24.624 2824
+-69.284 24.624 2831
+-69.158 24.624 2837
+-69.032 24.624 2843
+-68.906 24.624 2848
+-68.78 24.624 2853
+-68.654 24.624 2858
+-68.528 24.624 2863
+-68.402 24.624 2868
+-68.276 24.624 2872
+-68.15 24.624 2876
+-68.024 24.624 2880
+-67.898 24.624 2884
+-67.772 24.624 2888
+-67.646 24.624 2866
+-67.52 24.624 2870
+-67.394 24.624 2873
+-67.268 24.624 2877
+-67.142 24.624 2881
+-67.016 24.624 2884
+-66.89 24.624 2846
+-66.764 24.624 2850
+-66.638 24.624 2842
+-66.512 24.624 2839
+-66.386 24.624 2812
+-66.26 24.624 2815
+-66.134 24.624 2818
+-66.008 24.624 2821
+-65.882 24.624 2824
+-65.756 24.624 2827
+-65.63 24.624 2830
+-65.504 24.624 2833
+-65.378 24.624 2836
+-65.252 24.624 2838
+-65.126 24.624 2841
+-128 24.572 3197
+-127.874 24.572 3203
+-127.748 24.572 3235
+-127.622 24.572 3226
+-127.496 24.572 3221
+-127.37 24.572 3217
+-127.244 24.572 3126
+-127.118 24.572 3126
+-126.992 24.572 3042
+-126.866 24.572 3051
+-126.74 24.572 3055
+-126.614 24.572 3050
+-126.488 24.572 3009
+-126.362 24.572 3005
+-126.236 24.572 3000
+-126.11 24.572 3022
+-125.984 24.572 2998
+-125.858 24.572 2993
+-125.732 24.572 2942
+-125.606 24.572 2936
+-125.48 24.572 3000
+-125.354 24.572 2956
+-125.228 24.572 2934
+-125.102 24.572 2836
+-124.976 24.572 2871
+-124.85 24.572 2863
+-124.724 24.572 2856
+-124.598 24.572 2847
+-124.472 24.572 2839
+-124.346 24.572 2830
+-124.22 24.572 2759
+-124.094 24.572 2762
+-123.968 24.572 2752
+-123.842 24.572 2712
+-123.716 24.572 2692
+-123.59 24.572 2670
+-123.464 24.572 2659
+-123.338 24.572 2627
+-123.212 24.572 2615
+-123.086 24.572 2583
+-122.96 24.572 2563
+-122.834 24.572 2535
+-122.708 24.572 2520
+-122.582 24.572 2496
+-122.456 24.572 2484
+-122.33 24.572 2466
+-122.204 24.572 2446
+-122.078 24.572 2424
+-121.952 24.572 2401
+-121.826 24.572 2311
+-121.7 24.572 2286
+-121.574 24.572 2259
+-121.448 24.572 2209
+-121.322 24.572 2178
+-121.196 24.572 2120
+-121.07 24.572 2085
+-120.944 24.572 2048
+-120.818 24.572 2009
+-120.692 24.572 1967
+-120.566 24.572 1924
+-120.44 24.572 1879
+-120.314 24.572 1832
+-120.188 24.572 1785
+-120.062 24.572 1739
+-119.936 24.572 1672
+-119.81 24.572 1632
+-119.684 24.572 1596
+-119.558 24.572 1568
+-119.432 24.572 1540
+-119.306 24.572 1531
+-119.18 24.572 1534
+-119.054 24.572 1542
+-118.928 24.572 1569
+-118.802 24.572 1592
+-118.676 24.572 1636
+-118.55 24.572 1677
+-118.424 24.572 1726
+-118.298 24.572 1788
+-118.172 24.572 1847
+-118.046 24.572 1905
+-117.92 24.572 1961
+-117.794 24.572 2015
+-117.668 24.572 2066
+-117.542 24.572 2138
+-117.416 24.572 2186
+-117.29 24.572 2160
+-117.164 24.572 2204
+-117.038 24.572 2239
+-116.912 24.572 2265
+-116.786 24.572 2306
+-116.66 24.572 2322
+-116.534 24.572 2339
+-116.408 24.572 2363
+-116.282 24.572 2318
+-116.156 24.572 2374
+-116.03 24.572 2391
+-115.904 24.572 2407
+-115.778 24.572 2421
+-115.652 24.572 2434
+-115.526 24.572 2445
+-115.4 24.572 2455
+-115.274 24.572 2475
+-115.148 24.572 2483
+-115.022 24.572 2490
+-114.896 24.572 2450
+-114.77 24.572 2453
+-114.644 24.572 2492
+-114.518 24.572 2480
+-114.392 24.572 2478
+-114.266 24.572 2575
+-114.14 24.572 2567
+-114.014 24.572 2561
+-113.888 24.572 2546
+-113.762 24.572 2549
+-113.636 24.572 2529
+-113.51 24.572 2495
+-113.384 24.572 2470
+-113.258 24.572 2442
+-113.132 24.572 2386
+-113.006 24.572 2341
+-112.88 24.572 2307
+-112.754 24.572 2270
+-112.628 24.572 2232
+-112.502 24.572 2192
+-112.376 24.572 2183
+-112.25 24.572 2143
+-112.124 24.572 2105
+-111.998 24.572 2071
+-111.872 24.572 2039
+-111.746 24.572 2009
+-111.62 24.572 1977
+-111.494 24.572 1948
+-111.368 24.572 1902
+-111.242 24.572 1853
+-111.116 24.572 1813
+-110.99 24.572 1800
+-110.864 24.572 1825
+-110.738 24.572 1886
+-110.612 24.572 1969
+-110.486 24.572 2037
+-110.36 24.572 2117
+-110.234 24.572 2216
+-110.108 24.572 2276
+-109.982 24.572 2327
+-109.856 24.572 2361
+-109.73 24.572 2398
+-109.604 24.572 2430
+-109.478 24.572 2459
+-109.352 24.572 2484
+-109.226 24.572 2507
+-109.1 24.572 2527
+-108.974 24.572 2544
+-108.848 24.572 2559
+-108.722 24.572 2573
+-108.596 24.572 2586
+-108.47 24.572 2598
+-108.344 24.572 2643
+-108.218 24.572 2668
+-108.092 24.572 2680
+-107.966 24.572 2692
+-107.84 24.572 2748
+-107.714 24.572 2761
+-107.588 24.572 2774
+-107.462 24.572 2787
+-107.336 24.572 2799
+-107.21 24.572 2810
+-107.084 24.572 2821
+-106.958 24.572 2831
+-106.832 24.572 2859
+-106.706 24.572 2940
+-106.58 24.572 2949
+-106.454 24.572 2946
+-106.328 24.572 2953
+-106.202 24.572 2986
+-106.076 24.572 3002
+-105.95 24.572 3008
+-105.824 24.572 3014
+-105.698 24.572 3112
+-105.572 24.572 3117
+-105.446 24.572 3121
+-105.32 24.572 3070
+-105.194 24.572 3084
+-105.068 24.572 3087
+-104.942 24.572 3090
+-104.816 24.572 3083
+-104.69 24.572 3090
+-104.564 24.572 3098
+-104.438 24.572 3177
+-104.312 24.572 3162
+-104.186 24.572 3061
+-104.06 24.572 3062
+-103.934 24.572 3063
+-103.808 24.572 3085
+-103.682 24.572 3086
+-103.556 24.572 3087
+-103.43 24.572 3117
+-103.304 24.572 3118
+-103.178 24.572 3120
+-103.052 24.572 3072
+-102.926 24.572 3128
+-102.8 24.572 3130
+-102.674 24.572 3132
+-102.548 24.572 3134
+-102.422 24.572 3136
+-102.296 24.572 3134
+-102.17 24.572 3136
+-102.044 24.572 3159
+-101.918 24.572 3161
+-101.792 24.572 3163
+-101.666 24.572 3166
+-101.54 24.572 3110
+-101.414 24.572 3237
+-101.288 24.572 3233
+-101.162 24.572 3256
+-101.036 24.572 3259
+-100.91 24.572 3372
+-100.784 24.572 3374
+-100.658 24.572 3376
+-100.532 24.572 3417
+-100.406 24.572 3400
+-100.28 24.572 3405
+-100.154 24.572 3396
+-100.028 24.572 3414
+-99.902 24.572 3402
+-99.776 24.572 3427
+-99.65 24.572 3429
+-99.524 24.572 3423
+-99.398 24.572 3418
+-99.272 24.572 3420
+-99.146 24.572 3404
+-99.02 24.572 3452
+-98.894 24.572 3455
+-98.768 24.572 3424
+-98.642 24.572 3427
+-98.516 24.572 3474
+-98.39 24.572 3363
+-98.264 24.572 3325
+-98.138 24.572 3339
+-98.012 24.572 3298
+-97.886 24.572 3232
+-97.76 24.572 3124
+-97.634 24.572 3147
+-97.508 24.572 3089
+-97.382 24.572 3015
+-97.256 24.572 2988
+-97.13 24.572 2960
+-97.004 24.572 3012
+-96.878 24.572 3087
+-96.752 24.572 3165
+-96.626 24.572 3227
+-96.5 24.572 3328
+-96.374 24.572 3330
+-96.248 24.572 3374
+-96.122 24.572 3472
+-95.996 24.572 3498
+-95.87 24.572 3513
+-95.744 24.572 3512
+-95.618 24.572 3510
+-95.492 24.572 3527
+-95.366 24.572 3526
+-95.24 24.572 3525
+-95.114 24.572 3524
+-94.988 24.572 3523
+-94.862 24.572 3522
+-94.736 24.572 3521
+-94.61 24.572 3519
+-94.484 24.572 3518
+-94.358 24.572 3517
+-94.232 24.572 3516
+-94.106 24.572 3514
+-93.98 24.572 3518
+-93.854 24.572 3518
+-93.728 24.572 3517
+-93.602 24.572 3516
+-93.476 24.572 3515
+-93.35 24.572 3514
+-93.224 24.572 3513
+-93.098 24.572 3605
+-92.972 24.572 3602
+-92.846 24.572 3599
+-92.72 24.572 3597
+-92.594 24.572 3597
+-92.468 24.572 3646
+-92.342 24.572 3643
+-92.216 24.572 3639
+-92.09 24.572 3660
+-91.964 24.572 3655
+-91.838 24.572 3628
+-91.712 24.572 3624
+-91.586 24.572 3676
+-91.46 24.572 3672
+-91.334 24.572 3668
+-91.208 24.572 3663
+-91.082 24.572 3659
+-90.956 24.572 3654
+-90.83 24.572 3677
+-90.704 24.572 3671
+-90.578 24.572 3664
+-90.452 24.572 3658
+-90.326 24.572 3651
+-90.2 24.572 3643
+-90.074 24.572 3635
+-89.948 24.572 3626
+-89.822 24.572 3617
+-89.696 24.572 3586
+-89.57 24.572 3577
+-89.444 24.572 3568
+-89.318 24.572 3559
+-89.192 24.572 3559
+-89.066 24.572 3542
+-88.94 24.572 3561
+-88.814 24.572 3548
+-88.688 24.572 3534
+-88.562 24.572 3517
+-88.436 24.572 3505
+-88.31 24.572 3483
+-88.184 24.572 3460
+-88.058 24.572 3435
+-87.932 24.572 3386
+-87.806 24.572 3316
+-87.68 24.572 3220
+-87.554 24.572 3102
+-87.428 24.572 3041
+-87.302 24.572 3156
+-87.176 24.572 3366
+-87.05 24.572 3537
+-86.924 24.572 3642
+-86.798 24.572 3706
+-86.672 24.572 3753
+-86.546 24.572 3848
+-86.42 24.572 3948
+-86.294 24.572 4007
+-86.168 24.572 4080
+-86.042 24.572 4227
+-85.916 24.572 4388
+-85.79 24.572 4508
+-85.664 24.572 4641
+-85.538 24.572 4737
+-85.412 24.572 4831
+-85.286 24.572 4957
+-85.16 24.572 5021
+-85.034 24.572 5011
+-84.908 24.572 5118
+-84.782 24.572 5208
+-84.656 24.572 5358
+-84.53 24.572 5447
+-84.404 24.572 5489
+-84.278 24.572 5565
+-84.152 24.572 5619
+-84.026 24.572 5681
+-83.9 24.572 5723
+-83.774 24.572 5830
+-83.648 24.572 5918
+-83.522 24.572 5922
+-83.396 24.572 6001
+-83.27 24.572 6072
+-83.144 24.572 6108
+-83.018 24.572 6138
+-82.892 24.572 6140
+-82.766 24.572 6168
+-82.64 24.572 6188
+-82.514 24.572 6218
+-82.388 24.572 6243
+-82.262 24.572 6237
+-82.136 24.572 6260
+-82.01 24.572 6254
+-81.884 24.572 6251
+-81.758 24.572 6186
+-81.632 24.572 6188
+-81.506 24.572 6149
+-81.38 24.572 6158
+-81.254 24.572 6100
+-81.128 24.572 6051
+-81.002 24.572 6020
+-80.876 24.572 5995
+-80.75 24.572 5947
+-80.624 24.572 5873
+-80.498 24.572 5815
+-80.372 24.572 5705
+-80.246 24.572 5576
+-80.12 24.572 5561
+-79.994 24.572 5454
+-79.868 24.572 5364
+-79.742 24.572 5308
+-79.616 24.572 5251
+-79.49 24.572 5177
+-79.364 24.572 5037
+-79.238 24.572 4923
+-79.112 24.572 4834
+-78.986 24.572 4752
+-78.86 24.572 4651
+-78.734 24.572 4503
+-78.608 24.572 4559
+-78.482 24.572 4526
+-78.356 24.572 4430
+-78.23 24.572 4292
+-78.104 24.572 4160
+-77.978 24.572 4034
+-77.852 24.572 3926
+-77.726 24.572 3794
+-77.6 24.572 3611
+-77.474 24.572 3505
+-77.348 24.572 3434
+-77.222 24.572 3312
+-77.096 24.572 3167
+-76.97 24.572 3056
+-76.844 24.572 3102
+-76.718 24.572 3193
+-76.592 24.572 3252
+-76.466 24.572 3235
+-76.34 24.572 3244
+-76.214 24.572 3242
+-76.088 24.572 3205
+-75.962 24.572 3182
+-75.836 24.572 3149
+-75.71 24.572 3104
+-75.584 24.572 3019
+-75.458 24.572 2945
+-75.332 24.572 2842
+-75.206 24.572 2730
+-75.08 24.572 2600
+-74.954 24.572 2459
+-74.828 24.572 2306
+-74.702 24.572 2170
+-74.576 24.572 2063
+-74.45 24.572 1992
+-74.324 24.572 1962
+-74.198 24.572 1969
+-74.072 24.572 2007
+-73.946 24.572 2065
+-73.82 24.572 2136
+-73.694 24.572 2211
+-73.568 24.572 2258
+-73.442 24.572 2334
+-73.316 24.572 2399
+-73.19 24.572 2464
+-73.064 24.572 2525
+-72.938 24.572 2546
+-72.812 24.572 2599
+-72.686 24.572 2603
+-72.56 24.572 2645
+-72.434 24.572 2683
+-72.308 24.572 2718
+-72.182 24.572 2717
+-72.056 24.572 2724
+-71.93 24.572 2752
+-71.804 24.572 2772
+-71.678 24.572 2791
+-71.552 24.572 2813
+-71.426 24.572 2833
+-71.3 24.572 2852
+-71.174 24.572 2841
+-71.048 24.572 2856
+-70.922 24.572 2871
+-70.796 24.572 2844
+-70.67 24.572 2858
+-70.544 24.572 2834
+-70.418 24.572 2835
+-70.292 24.572 2808
+-70.166 24.572 2819
+-70.04 24.572 2785
+-69.914 24.572 2793
+-69.788 24.572 2801
+-69.662 24.572 2809
+-69.536 24.572 2816
+-69.41 24.572 2823
+-69.284 24.572 2829
+-69.158 24.572 2835
+-69.032 24.572 2841
+-68.906 24.572 2847
+-68.78 24.572 2852
+-68.654 24.572 2857
+-68.528 24.572 2862
+-68.402 24.572 2866
+-68.276 24.572 2871
+-68.15 24.572 2875
+-68.024 24.572 2879
+-67.898 24.572 2883
+-67.772 24.572 2887
+-67.646 24.572 2890
+-67.52 24.572 2868
+-67.394 24.572 2872
+-67.268 24.572 2876
+-67.142 24.572 2879
+-67.016 24.572 2883
+-66.89 24.572 2886
+-66.764 24.572 2848
+-66.638 24.572 2852
+-66.512 24.572 2843
+-66.386 24.572 2841
+-66.26 24.572 2813
+-66.134 24.572 2816
+-66.008 24.572 2819
+-65.882 24.572 2823
+-65.756 24.572 2826
+-65.63 24.572 2828
+-65.504 24.572 2831
+-65.378 24.572 2834
+-65.252 24.572 2837
+-65.126 24.572 2839
+-128 24.52 3204
+-127.874 24.52 3236
+-127.748 24.52 3227
+-127.622 24.52 3223
+-127.496 24.52 3219
+-127.37 24.52 3128
+-127.244 24.52 3127
+-127.118 24.52 3044
+-126.992 24.52 3053
+-126.866 24.52 3057
+-126.74 24.52 3052
+-126.614 24.52 3011
+-126.488 24.52 3007
+-126.362 24.52 3002
+-126.236 24.52 3025
+-126.11 24.52 3001
+-125.984 24.52 2995
+-125.858 24.52 2945
+-125.732 24.52 2939
+-125.606 24.52 3004
+-125.48 24.52 2960
+-125.354 24.52 2938
+-125.228 24.52 2840
+-125.102 24.52 2875
+-124.976 24.52 2868
+-124.85 24.52 2861
+-124.724 24.52 2853
+-124.598 24.52 2845
+-124.472 24.52 2836
+-124.346 24.52 2765
+-124.22 24.52 2769
+-124.094 24.52 2760
+-123.968 24.52 2720
+-123.842 24.52 2701
+-123.716 24.52 2679
+-123.59 24.52 2668
+-123.464 24.52 2638
+-123.338 24.52 2626
+-123.212 24.52 2595
+-123.086 24.52 2576
+-122.96 24.52 2549
+-122.834 24.52 2535
+-122.708 24.52 2512
+-122.582 24.52 2502
+-122.456 24.52 2485
+-122.33 24.52 2467
+-122.204 24.52 2447
+-122.078 24.52 2426
+-121.952 24.52 2337
+-121.826 24.52 2314
+-121.7 24.52 2290
+-121.574 24.52 2243
+-121.448 24.52 2216
+-121.322 24.52 2161
+-121.196 24.52 2131
+-121.07 24.52 2099
+-120.944 24.52 2065
+-120.818 24.52 2029
+-120.692 24.52 1991
+-120.566 24.52 1952
+-120.44 24.52 1912
+-120.314 24.52 1871
+-120.188 24.52 1830
+-120.062 24.52 1767
+-119.936 24.52 1730
+-119.81 24.52 1696
+-119.684 24.52 1667
+-119.558 24.52 1637
+-119.432 24.52 1622
+-119.306 24.52 1616
+-119.18 24.52 1612
+-119.054 24.52 1626
+-118.928 24.52 1636
+-118.802 24.52 1667
+-118.676 24.52 1695
+-118.55 24.52 1732
+-118.424 24.52 1784
+-118.298 24.52 1835
+-118.172 24.52 1887
+-118.046 24.52 1938
+-117.92 24.52 1988
+-117.794 24.52 2037
+-117.668 24.52 2107
+-117.542 24.52 2154
+-117.416 24.52 2130
+-117.29 24.52 2174
+-117.164 24.52 2210
+-117.038 24.52 2237
+-116.912 24.52 2279
+-116.786 24.52 2296
+-116.66 24.52 2315
+-116.534 24.52 2340
+-116.408 24.52 2296
+-116.282 24.52 2353
+-116.156 24.52 2371
+-116.03 24.52 2388
+-115.904 24.52 2403
+-115.778 24.52 2416
+-115.652 24.52 2428
+-115.526 24.52 2438
+-115.4 24.52 2459
+-115.274 24.52 2467
+-115.148 24.52 2474
+-115.022 24.52 2435
+-114.896 24.52 2439
+-114.77 24.52 2441
+-114.644 24.52 2467
+-114.518 24.52 2466
+-114.392 24.52 2462
+-114.266 24.52 2471
+-114.14 24.52 2557
+-114.014 24.52 2542
+-113.888 24.52 2524
+-113.762 24.52 2525
+-113.636 24.52 2491
+-113.51 24.52 2466
+-113.384 24.52 2437
+-113.258 24.52 2380
+-113.132 24.52 2334
+-113.006 24.52 2297
+-112.88 24.52 2258
+-112.754 24.52 2216
+-112.628 24.52 2172
+-112.502 24.52 2126
+-112.376 24.52 2081
+-112.25 24.52 2063
+-112.124 24.52 2022
+-111.998 24.52 1986
+-111.872 24.52 1957
+-111.746 24.52 1932
+-111.62 24.52 1908
+-111.494 24.52 1886
+-111.368 24.52 1844
+-111.242 24.52 1794
+-111.116 24.52 1750
+-110.99 24.52 1732
+-110.864 24.52 1755
+-110.738 24.52 1819
+-110.612 24.52 1893
+-110.486 24.52 1984
+-110.36 24.52 2070
+-110.234 24.52 2147
+-110.108 24.52 2244
+-109.982 24.52 2301
+-109.856 24.52 2340
+-109.73 24.52 2381
+-109.604 24.52 2416
+-109.478 24.52 2447
+-109.352 24.52 2474
+-109.226 24.52 2499
+-109.1 24.52 2520
+-108.974 24.52 2539
+-108.848 24.52 2555
+-108.722 24.52 2570
+-108.596 24.52 2584
+-108.47 24.52 2597
+-108.344 24.52 2608
+-108.218 24.52 2656
+-108.092 24.52 2682
+-107.966 24.52 2694
+-107.84 24.52 2705
+-107.714 24.52 2762
+-107.588 24.52 2775
+-107.462 24.52 2787
+-107.336 24.52 2798
+-107.21 24.52 2809
+-107.084 24.52 2820
+-106.958 24.52 2830
+-106.832 24.52 2839
+-106.706 24.52 2866
+-106.58 24.52 2950
+-106.454 24.52 2958
+-106.328 24.52 2954
+-106.202 24.52 2960
+-106.076 24.52 2993
+-105.95 24.52 3008
+-105.824 24.52 3014
+-105.698 24.52 3019
+-105.572 24.52 3119
+-105.446 24.52 3124
+-105.32 24.52 3128
+-105.194 24.52 3075
+-105.068 24.52 3090
+-104.942 24.52 3092
+-104.816 24.52 3095
+-104.69 24.52 3088
+-104.564 24.52 3095
+-104.438 24.52 3103
+-104.312 24.52 3182
+-104.186 24.52 3167
+-104.06 24.52 3065
+-103.934 24.52 3066
+-103.808 24.52 3067
+-103.682 24.52 3089
+-103.556 24.52 3090
+-103.43 24.52 3091
+-103.304 24.52 3121
+-103.178 24.52 3123
+-103.052 24.52 3124
+-102.926 24.52 3076
+-102.8 24.52 3133
+-102.674 24.52 3134
+-102.548 24.52 3136
+-102.422 24.52 3138
+-102.296 24.52 3140
+-102.17 24.52 3137
+-102.044 24.52 3139
+-101.918 24.52 3163
+-101.792 24.52 3165
+-101.666 24.52 3167
+-101.54 24.52 3169
+-101.414 24.52 3113
+-101.288 24.52 3242
+-101.162 24.52 3237
+-101.036 24.52 3260
+-100.91 24.52 3263
+-100.784 24.52 3377
+-100.658 24.52 3379
+-100.532 24.52 3381
+-100.406 24.52 3422
+-100.28 24.52 3406
+-100.154 24.52 3409
+-100.028 24.52 3400
+-99.902 24.52 3418
+-99.776 24.52 3406
+-99.65 24.52 3431
+-99.524 24.52 3434
+-99.398 24.52 3427
+-99.272 24.52 3422
+-99.146 24.52 3424
+-99.02 24.52 3408
+-98.894 24.52 3456
+-98.768 24.52 3458
+-98.642 24.52 3427
+-98.516 24.52 3324
+-98.39 24.52 3364
+-98.264 24.52 3364
+-98.138 24.52 3325
+-98.012 24.52 3340
+-97.886 24.52 3268
+-97.76 24.52 3231
+-97.634 24.52 3115
+-97.508 24.52 3035
+-97.382 24.52 3053
+-97.256 24.52 2951
+-97.13 24.52 3013
+-97.004 24.52 3068
+-96.878 24.52 3087
+-96.752 24.52 3172
+-96.626 24.52 3226
+-96.5 24.52 3327
+-96.374 24.52 3330
+-96.248 24.52 3392
+-96.122 24.52 3435
+-95.996 24.52 3514
+-95.87 24.52 3513
+-95.744 24.52 3511
+-95.618 24.52 3527
+-95.492 24.52 3526
+-95.366 24.52 3525
+-95.24 24.52 3524
+-95.114 24.52 3523
+-94.988 24.52 3522
+-94.862 24.52 3521
+-94.736 24.52 3520
+-94.61 24.52 3519
+-94.484 24.52 3517
+-94.358 24.52 3516
+-94.232 24.52 3515
+-94.106 24.52 3519
+-93.98 24.52 3518
+-93.854 24.52 3517
+-93.728 24.52 3516
+-93.602 24.52 3515
+-93.476 24.52 3514
+-93.35 24.52 3513
+-93.224 24.52 3605
+-93.098 24.52 3603
+-92.972 24.52 3600
+-92.846 24.52 3597
+-92.72 24.52 3598
+-92.594 24.52 3647
+-92.468 24.52 3644
+-92.342 24.52 3640
+-92.216 24.52 3661
+-92.09 24.52 3657
+-91.964 24.52 3630
+-91.838 24.52 3626
+-91.712 24.52 3677
+-91.586 24.52 3674
+-91.46 24.52 3670
+-91.334 24.52 3666
+-91.208 24.52 3661
+-91.082 24.52 3657
+-90.956 24.52 3680
+-90.83 24.52 3674
+-90.704 24.52 3668
+-90.578 24.52 3662
+-90.452 24.52 3655
+-90.326 24.52 3648
+-90.2 24.52 3641
+-90.074 24.52 3633
+-89.948 24.52 3624
+-89.822 24.52 3593
+-89.696 24.52 3585
+-89.57 24.52 3577
+-89.444 24.52 3568
+-89.318 24.52 3569
+-89.192 24.52 3554
+-89.066 24.52 3576
+-88.94 24.52 3564
+-88.814 24.52 3552
+-88.688 24.52 3537
+-88.562 24.52 3528
+-88.436 24.52 3510
+-88.31 24.52 3492
+-88.184 24.52 3474
+-88.058 24.52 3435
+-87.932 24.52 3380
+-87.806 24.52 3294
+-87.68 24.52 3184
+-87.554 24.52 3028
+-87.428 24.52 2932
+-87.302 24.52 3065
+-87.176 24.52 3329
+-87.05 24.52 3525
+-86.924 24.52 3621
+-86.798 24.52 3643
+-86.672 24.52 3652
+-86.546 24.52 3757
+-86.42 24.52 3932
+-86.294 24.52 3997
+-86.168 24.52 4043
+-86.042 24.52 4165
+-85.916 24.52 4304
+-85.79 24.52 4432
+-85.664 24.52 4568
+-85.538 24.52 4700
+-85.412 24.52 4815
+-85.286 24.52 4932
+-85.16 24.52 4994
+-85.034 24.52 4963
+-84.908 24.52 5081
+-84.782 24.52 5195
+-84.656 24.52 5330
+-84.53 24.52 5402
+-84.404 24.52 5394
+-84.278 24.52 5494
+-84.152 24.52 5564
+-84.026 24.52 5632
+-83.9 24.52 5690
+-83.774 24.52 5764
+-83.648 24.52 5843
+-83.522 24.52 5920
+-83.396 24.52 5974
+-83.27 24.52 6033
+-83.144 24.52 6047
+-83.018 24.52 6081
+-82.892 24.52 6084
+-82.766 24.52 6113
+-82.64 24.52 6149
+-82.514 24.52 6152
+-82.388 24.52 6178
+-82.262 24.52 6200
+-82.136 24.52 6195
+-82.01 24.52 6193
+-81.884 24.52 6172
+-81.758 24.52 6146
+-81.632 24.52 6118
+-81.506 24.52 6095
+-81.38 24.52 6065
+-81.254 24.52 6019
+-81.128 24.52 6001
+-81.002 24.52 5982
+-80.876 24.52 5945
+-80.75 24.52 5865
+-80.624 24.52 5774
+-80.498 24.52 5689
+-80.372 24.52 5589
+-80.246 24.52 5507
+-80.12 24.52 5457
+-79.994 24.52 5400
+-79.868 24.52 5344
+-79.742 24.52 5294
+-79.616 24.52 5218
+-79.49 24.52 5147
+-79.364 24.52 5001
+-79.238 24.52 4890
+-79.112 24.52 4769
+-78.986 24.52 4701
+-78.86 24.52 4656
+-78.734 24.52 4577
+-78.608 24.52 4561
+-78.482 24.52 4497
+-78.356 24.52 4429
+-78.23 24.52 4320
+-78.104 24.52 4187
+-77.978 24.52 4036
+-77.852 24.52 3922
+-77.726 24.52 3744
+-77.6 24.52 3574
+-77.474 24.52 3452
+-77.348 24.52 3305
+-77.222 24.52 3186
+-77.096 24.52 3077
+-76.97 24.52 2917
+-76.844 24.52 3028
+-76.718 24.52 3156
+-76.592 24.52 3221
+-76.466 24.52 3204
+-76.34 24.52 3215
+-76.214 24.52 3215
+-76.088 24.52 3207
+-75.962 24.52 3165
+-75.836 24.52 3139
+-75.71 24.52 3102
+-75.584 24.52 3054
+-75.458 24.52 2966
+-75.332 24.52 2891
+-75.206 24.52 2791
+-75.08 24.52 2689
+-74.954 24.52 2578
+-74.828 24.52 2465
+-74.702 24.52 2352
+-74.576 24.52 2261
+-74.45 24.52 2199
+-74.324 24.52 2166
+-74.198 24.52 2160
+-74.072 24.52 2178
+-73.946 24.52 2214
+-73.82 24.52 2262
+-73.694 24.52 2317
+-73.568 24.52 2375
+-73.442 24.52 2406
+-73.316 24.52 2464
+-73.19 24.52 2513
+-73.064 24.52 2565
+-72.938 24.52 2613
+-72.812 24.52 2625
+-72.686 24.52 2669
+-72.56 24.52 2662
+-72.434 24.52 2698
+-72.308 24.52 2730
+-72.182 24.52 2760
+-72.056 24.52 2754
+-71.93 24.52 2758
+-71.804 24.52 2783
+-71.678 24.52 2799
+-71.552 24.52 2815
+-71.426 24.52 2835
+-71.3 24.52 2853
+-71.174 24.52 2871
+-71.048 24.52 2857
+-70.922 24.52 2872
+-70.796 24.52 2885
+-70.67 24.52 2857
+-70.544 24.52 2870
+-70.418 24.52 2845
+-70.292 24.52 2845
+-70.166 24.52 2818
+-70.04 24.52 2827
+-69.914 24.52 2792
+-69.788 24.52 2800
+-69.662 24.52 2808
+-69.536 24.52 2815
+-69.41 24.52 2822
+-69.284 24.52 2828
+-69.158 24.52 2834
+-69.032 24.52 2840
+-68.906 24.52 2845
+-68.78 24.52 2851
+-68.654 24.52 2856
+-68.528 24.52 2861
+-68.402 24.52 2865
+-68.276 24.52 2870
+-68.15 24.52 2874
+-68.024 24.52 2878
+-67.898 24.52 2882
+-67.772 24.52 2885
+-67.646 24.52 2889
+-67.52 24.52 2892
+-67.394 24.52 2870
+-67.268 24.52 2874
+-67.142 24.52 2878
+-67.016 24.52 2881
+-66.89 24.52 2885
+-66.764 24.52 2888
+-66.638 24.52 2850
+-66.512 24.52 2854
+-66.386 24.52 2845
+-66.26 24.52 2843
+-66.134 24.52 2814
+-66.008 24.52 2818
+-65.882 24.52 2821
+-65.756 24.52 2824
+-65.63 24.52 2827
+-65.504 24.52 2830
+-65.378 24.52 2832
+-65.252 24.52 2835
+-65.126 24.52 2838
+-128 24.468 3238
+-127.874 24.468 3229
+-127.748 24.468 3224
+-127.622 24.468 3221
+-127.496 24.468 3129
+-127.37 24.468 3129
+-127.244 24.468 3045
+-127.118 24.468 3055
+-126.992 24.468 3059
+-126.866 24.468 3054
+-126.74 24.468 3013
+-126.614 24.468 3009
+-126.488 24.468 3004
+-126.362 24.468 3028
+-126.236 24.468 3003
+-126.11 24.468 2998
+-125.984 24.468 2948
+-125.858 24.468 2942
+-125.732 24.468 3008
+-125.606 24.468 2964
+-125.48 24.468 2942
+-125.354 24.468 2844
+-125.228 24.468 2880
+-125.102 24.468 2873
+-124.976 24.468 2866
+-124.85 24.468 2858
+-124.724 24.468 2851
+-124.598 24.468 2843
+-124.472 24.468 2771
+-124.346 24.468 2776
+-124.22 24.468 2767
+-124.094 24.468 2727
+-123.968 24.468 2709
+-123.842 24.468 2687
+-123.716 24.468 2677
+-123.59 24.468 2648
+-123.464 24.468 2637
+-123.338 24.468 2606
+-123.212 24.468 2588
+-123.086 24.468 2561
+-122.96 24.468 2548
+-122.834 24.468 2527
+-122.708 24.468 2519
+-122.582 24.468 2503
+-122.456 24.468 2487
+-122.33 24.468 2469
+-122.204 24.468 2450
+-122.078 24.468 2360
+-121.952 24.468 2340
+-121.826 24.468 2319
+-121.7 24.468 2274
+-121.574 24.468 2250
+-121.448 24.468 2198
+-121.322 24.468 2171
+-121.196 24.468 2143
+-121.07 24.468 2113
+-120.944 24.468 2082
+-120.818 24.468 2049
+-120.692 24.468 2015
+-120.566 24.468 1980
+-120.44 24.468 1945
+-120.314 24.468 1908
+-120.188 24.468 1849
+-120.062 24.468 1816
+-119.936 24.468 1784
+-119.81 24.468 1757
+-119.684 24.468 1725
+-119.558 24.468 1707
+-119.432 24.468 1696
+-119.306 24.468 1684
+-119.18 24.468 1689
+-119.054 24.468 1689
+-118.928 24.468 1708
+-118.802 24.468 1725
+-118.676 24.468 1750
+-118.55 24.468 1793
+-118.424 24.468 1835
+-118.298 24.468 1879
+-118.172 24.468 1925
+-118.046 24.468 1970
+-117.92 24.468 2016
+-117.794 24.468 2082
+-117.668 24.468 2128
+-117.542 24.468 2104
+-117.416 24.468 2147
+-117.29 24.468 2184
+-117.164 24.468 2211
+-117.038 24.468 2253
+-116.912 24.468 2271
+-116.786 24.468 2291
+-116.66 24.468 2317
+-116.534 24.468 2275
+-116.408 24.468 2332
+-116.282 24.468 2351
+-116.156 24.468 2369
+-116.03 24.468 2384
+-115.904 24.468 2398
+-115.778 24.468 2411
+-115.652 24.468 2422
+-115.526 24.468 2442
+-115.4 24.468 2452
+-115.274 24.468 2459
+-115.148 24.468 2421
+-115.022 24.468 2425
+-114.896 24.468 2428
+-114.77 24.468 2455
+-114.644 24.468 2454
+-114.518 24.468 2451
+-114.392 24.468 2476
+-114.266 24.468 2449
+-114.14 24.468 2540
+-114.014 24.468 2522
+-113.888 24.468 2505
+-113.762 24.468 2468
+-113.636 24.468 2465
+-113.51 24.468 2437
+-113.384 24.468 2379
+-113.258 24.468 2333
+-113.132 24.468 2295
+-113.006 24.468 2254
+-112.88 24.468 2210
+-112.754 24.468 2162
+-112.628 24.468 2111
+-112.502 24.468 2059
+-112.376 24.468 2006
+-112.25 24.468 1956
+-112.124 24.468 1932
+-111.998 24.468 1894
+-111.872 24.468 1867
+-111.746 24.468 1850
+-111.62 24.468 1839
+-111.494 24.468 1833
+-111.368 24.468 1807
+-111.242 24.468 1767
+-111.116 24.468 1727
+-110.99 24.468 1710
+-110.864 24.468 1731
+-110.738 24.468 1784
+-110.612 24.468 1863
+-110.486 24.468 1952
+-110.36 24.468 2038
+-110.234 24.468 2117
+-110.108 24.468 2185
+-109.982 24.468 2279
+-109.856 24.468 2321
+-109.73 24.468 2365
+-109.604 24.468 2403
+-109.478 24.468 2436
+-109.352 24.468 2465
+-109.226 24.468 2490
+-109.1 24.468 2513
+-108.974 24.468 2533
+-108.848 24.468 2550
+-108.722 24.468 2566
+-108.596 24.468 2581
+-108.47 24.468 2594
+-108.344 24.468 2607
+-108.218 24.468 2619
+-108.092 24.468 2667
+-107.966 24.468 2694
+-107.84 24.468 2705
+-107.714 24.468 2716
+-107.588 24.468 2774
+-107.462 24.468 2786
+-107.336 24.468 2797
+-107.21 24.468 2808
+-107.084 24.468 2818
+-106.958 24.468 2828
+-106.832 24.468 2837
+-106.706 24.468 2846
+-106.58 24.468 2872
+-106.454 24.468 2958
+-106.328 24.468 2965
+-106.202 24.468 2961
+-106.076 24.468 2967
+-105.95 24.468 2999
+-105.824 24.468 3014
+-105.698 24.468 3019
+-105.572 24.468 3025
+-105.446 24.468 3126
+-105.32 24.468 3130
+-105.194 24.468 3134
+-105.068 24.468 3080
+-104.942 24.468 3095
+-104.816 24.468 3098
+-104.69 24.468 3100
+-104.564 24.468 3093
+-104.438 24.468 3099
+-104.312 24.468 3107
+-104.186 24.468 3188
+-104.06 24.468 3172
+-103.934 24.468 3068
+-103.808 24.468 3070
+-103.682 24.468 3071
+-103.556 24.468 3093
+-103.43 24.468 3094
+-103.304 24.468 3095
+-103.178 24.468 3125
+-103.052 24.468 3127
+-102.926 24.468 3128
+-102.8 24.468 3079
+-102.674 24.468 3137
+-102.548 24.468 3138
+-102.422 24.468 3140
+-102.296 24.468 3142
+-102.17 24.468 3143
+-102.044 24.468 3141
+-101.918 24.468 3143
+-101.792 24.468 3166
+-101.666 24.468 3169
+-101.54 24.468 3171
+-101.414 24.468 3173
+-101.288 24.468 3116
+-101.162 24.468 3246
+-101.036 24.468 3241
+-100.91 24.468 3264
+-100.784 24.468 3267
+-100.658 24.468 3381
+-100.532 24.468 3383
+-100.406 24.468 3385
+-100.28 24.468 3426
+-100.154 24.468 3409
+-100.028 24.468 3414
+-99.902 24.468 3404
+-99.776 24.468 3422
+-99.65 24.468 3410
+-99.524 24.468 3435
+-99.398 24.468 3438
+-99.272 24.468 3430
+-99.146 24.468 3425
+-99.02 24.468 3428
+-98.894 24.468 3411
+-98.768 24.468 3459
+-98.642 24.468 3462
+-98.516 24.468 3325
+-98.39 24.468 3369
+-98.264 24.468 3364
+-98.138 24.468 3365
+-98.012 24.468 3263
+-97.886 24.468 3268
+-97.76 24.468 3268
+-97.634 24.468 3189
+-97.508 24.468 3101
+-97.382 24.468 3086
+-97.256 24.468 3004
+-97.13 24.468 3022
+-97.004 24.468 3069
+-96.878 24.468 3087
+-96.752 24.468 3172
+-96.626 24.468 3226
+-96.5 24.468 3327
+-96.374 24.468 3342
+-96.248 24.468 3404
+-96.122 24.468 3434
+-95.996 24.468 3514
+-95.87 24.468 3512
+-95.744 24.468 3528
+-95.618 24.468 3527
+-95.492 24.468 3526
+-95.366 24.468 3525
+-95.24 24.468 3524
+-95.114 24.468 3523
+-94.988 24.468 3521
+-94.862 24.468 3520
+-94.736 24.468 3519
+-94.61 24.468 3518
+-94.484 24.468 3517
+-94.358 24.468 3515
+-94.232 24.468 3519
+-94.106 24.468 3518
+-93.98 24.468 3517
+-93.854 24.468 3516
+-93.728 24.468 3516
+-93.602 24.468 3515
+-93.476 24.468 3514
+-93.35 24.468 3606
+-93.224 24.468 3604
+-93.098 24.468 3601
+-92.972 24.468 3598
+-92.846 24.468 3598
+-92.72 24.468 3648
+-92.594 24.468 3645
+-92.468 24.468 3641
+-92.342 24.468 3663
+-92.216 24.468 3659
+-92.09 24.468 3631
+-91.964 24.468 3627
+-91.838 24.468 3679
+-91.712 24.468 3676
+-91.586 24.468 3672
+-91.46 24.468 3668
+-91.334 24.468 3664
+-91.208 24.468 3659
+-91.082 24.468 3683
+-90.956 24.468 3678
+-90.83 24.468 3672
+-90.704 24.468 3666
+-90.578 24.468 3660
+-90.452 24.468 3653
+-90.326 24.468 3646
+-90.2 24.468 3639
+-90.074 24.468 3631
+-89.948 24.468 3599
+-89.822 24.468 3592
+-89.696 24.468 3585
+-89.57 24.468 3577
+-89.444 24.468 3579
+-89.318 24.468 3566
+-89.192 24.468 3589
+-89.066 24.468 3579
+-88.94 24.468 3568
+-88.814 24.468 3555
+-88.688 24.468 3550
+-88.562 24.468 3535
+-88.436 24.468 3521
+-88.31 24.468 3510
+-88.184 24.468 3482
+-88.058 24.468 3444
+-87.932 24.468 3387
+-87.806 24.468 3327
+-87.68 24.468 3223
+-87.554 24.468 3109
+-87.428 24.468 3046
+-87.302 24.468 3163
+-87.176 24.468 3379
+-87.05 24.468 3540
+-86.924 24.468 3609
+-86.798 24.468 3607
+-86.672 24.468 3569
+-86.546 24.468 3677
+-86.42 24.468 3867
+-86.294 24.468 3981
+-86.168 24.468 4053
+-86.042 24.468 4146
+-85.916 24.468 4241
+-85.79 24.468 4339
+-85.664 24.468 4449
+-85.538 24.468 4608
+-85.412 24.468 4716
+-85.286 24.468 4868
+-85.16 24.468 4943
+-85.034 24.468 5013
+-84.908 24.468 5091
+-84.782 24.468 5186
+-84.656 24.468 5300
+-84.53 24.468 5355
+-84.404 24.468 5383
+-84.278 24.468 5433
+-84.152 24.468 5505
+-84.026 24.468 5572
+-83.9 24.468 5641
+-83.774 24.468 5725
+-83.648 24.468 5756
+-83.522 24.468 5834
+-83.396 24.468 5929
+-83.27 24.468 5984
+-83.144 24.468 5968
+-83.018 24.468 6025
+-82.892 24.468 6030
+-82.766 24.468 6049
+-82.64 24.468 6092
+-82.514 24.468 6133
+-82.388 24.468 6100
+-82.262 24.468 6098
+-82.136 24.468 6112
+-82.01 24.468 6106
+-81.884 24.468 6100
+-81.758 24.468 6107
+-81.632 24.468 6062
+-81.506 24.468 6022
+-81.38 24.468 6008
+-81.254 24.468 5964
+-81.128 24.468 5956
+-81.002 24.468 5944
+-80.876 24.468 5871
+-80.75 24.468 5792
+-80.624 24.468 5673
+-80.498 24.468 5585
+-80.372 24.468 5525
+-80.246 24.468 5466
+-80.12 24.468 5466
+-79.994 24.468 5374
+-79.868 24.468 5291
+-79.742 24.468 5239
+-79.616 24.468 5149
+-79.49 24.468 5087
+-79.364 24.468 4969
+-79.238 24.468 4864
+-79.112 24.468 4759
+-78.986 24.468 4695
+-78.86 24.468 4625
+-78.734 24.468 4509
+-78.608 24.468 4546
+-78.482 24.468 4502
+-78.356 24.468 4427
+-78.23 24.468 4259
+-78.104 24.468 4151
+-77.978 24.468 3961
+-77.852 24.468 3823
+-77.726 24.468 3716
+-77.6 24.468 3543
+-77.474 24.468 3391
+-77.348 24.468 3214
+-77.222 24.468 3106
+-77.096 24.468 3117
+-76.97 24.468 3042
+-76.844 24.468 3083
+-76.718 24.468 3161
+-76.592 24.468 3218
+-76.466 24.468 3178
+-76.34 24.468 3184
+-76.214 24.468 3184
+-76.088 24.468 3179
+-75.962 24.468 3169
+-75.836 24.468 3125
+-75.71 24.468 3097
+-75.584 24.468 3060
+-75.458 24.468 3011
+-75.332 24.468 2923
+-75.206 24.468 2852
+-75.08 24.468 2761
+-74.954 24.468 2675
+-74.828 24.468 2587
+-74.702 24.468 2504
+-74.576 24.468 2423
+-74.45 24.468 2366
+-74.324 24.468 2332
+-74.198 24.468 2319
+-74.072 24.468 2325
+-73.946 24.468 2345
+-73.82 24.468 2377
+-73.694 24.468 2416
+-73.568 24.468 2459
+-73.442 24.468 2504
+-73.316 24.468 2523
+-73.19 24.468 2569
+-73.064 24.468 2606
+-72.938 24.468 2648
+-72.812 24.468 2687
+-72.686 24.468 2692
+-72.56 24.468 2729
+-72.434 24.468 2714
+-72.308 24.468 2744
+-72.182 24.468 2772
+-72.056 24.468 2797
+-71.93 24.468 2787
+-71.804 24.468 2788
+-71.678 24.468 2810
+-71.552 24.468 2824
+-71.426 24.468 2838
+-71.3 24.468 2855
+-71.174 24.468 2872
+-71.048 24.468 2888
+-70.922 24.468 2872
+-70.796 24.468 2886
+-70.67 24.468 2898
+-70.544 24.468 2869
+-70.418 24.468 2881
+-70.292 24.468 2855
+-70.166 24.468 2855
+-70.04 24.468 2826
+-69.914 24.468 2835
+-69.788 24.468 2799
+-69.662 24.468 2807
+-69.536 24.468 2814
+-69.41 24.468 2821
+-69.284 24.468 2827
+-69.158 24.468 2833
+-69.032 24.468 2839
+-68.906 24.468 2844
+-68.78 24.468 2850
+-68.654 24.468 2855
+-68.528 24.468 2860
+-68.402 24.468 2864
+-68.276 24.468 2869
+-68.15 24.468 2873
+-68.024 24.468 2877
+-67.898 24.468 2881
+-67.772 24.468 2884
+-67.646 24.468 2888
+-67.52 24.468 2891
+-67.394 24.468 2895
+-67.268 24.468 2873
+-67.142 24.468 2876
+-67.016 24.468 2880
+-66.89 24.468 2883
+-66.764 24.468 2886
+-66.638 24.468 2890
+-66.512 24.468 2852
+-66.386 24.468 2856
+-66.26 24.468 2847
+-66.134 24.468 2844
+-66.008 24.468 2816
+-65.882 24.468 2819
+-65.756 24.468 2822
+-65.63 24.468 2825
+-65.504 24.468 2828
+-65.378 24.468 2831
+-65.252 24.468 2833
+-65.126 24.468 2836
+-128 24.416 3230
+-127.874 24.416 3226
+-127.748 24.416 3222
+-127.622 24.416 3131
+-127.496 24.416 3131
+-127.37 24.416 3047
+-127.244 24.416 3056
+-127.118 24.416 3060
+-126.992 24.416 3056
+-126.866 24.416 3015
+-126.74 24.416 3011
+-126.614 24.416 3007
+-126.488 24.416 3030
+-126.362 24.416 3006
+-126.236 24.416 3001
+-126.11 24.416 2950
+-125.984 24.416 2945
+-125.858 24.416 3012
+-125.732 24.416 2968
+-125.606 24.416 2946
+-125.48 24.416 2847
+-125.354 24.416 2884
+-125.228 24.416 2878
+-125.102 24.416 2871
+-124.976 24.416 2864
+-124.85 24.416 2856
+-124.724 24.416 2849
+-124.598 24.416 2777
+-124.472 24.416 2783
+-124.346 24.416 2774
+-124.22 24.416 2734
+-124.094 24.416 2716
+-123.968 24.416 2696
+-123.842 24.416 2686
+-123.716 24.416 2657
+-123.59 24.416 2647
+-123.464 24.416 2616
+-123.338 24.416 2599
+-123.212 24.416 2573
+-123.086 24.416 2561
+-122.96 24.416 2541
+-122.834 24.416 2535
+-122.708 24.416 2520
+-122.582 24.416 2505
+-122.456 24.416 2489
+-122.33 24.416 2472
+-122.204 24.416 2382
+-122.078 24.416 2364
+-121.952 24.416 2345
+-121.826 24.416 2301
+-121.7 24.416 2280
+-121.574 24.416 2230
+-121.448 24.416 2207
+-121.322 24.416 2182
+-121.196 24.416 2156
+-121.07 24.416 2129
+-120.944 24.416 2100
+-120.818 24.416 2071
+-120.692 24.416 2040
+-120.566 24.416 2009
+-120.44 24.416 1976
+-120.314 24.416 1920
+-120.188 24.416 1890
+-120.062 24.416 1862
+-119.936 24.416 1836
+-119.81 24.416 1805
+-119.684 24.416 1786
+-119.558 24.416 1772
+-119.432 24.416 1754
+-119.306 24.416 1753
+-119.18 24.416 1745
+-119.054 24.416 1756
+-118.928 24.416 1763
+-118.802 24.416 1779
+-118.676 24.416 1812
+-118.55 24.416 1845
+-118.424 24.416 1882
+-118.298 24.416 1921
+-118.172 24.416 1961
+-118.046 24.416 2002
+-117.92 24.416 2064
+-117.794 24.416 2108
+-117.668 24.416 2082
+-117.542 24.416 2124
+-117.416 24.416 2160
+-117.29 24.416 2188
+-117.164 24.416 2229
+-117.038 24.416 2248
+-116.912 24.416 2268
+-116.786 24.416 2295
+-116.66 24.416 2255
+-116.534 24.416 2312
+-116.408 24.416 2332
+-116.282 24.416 2350
+-116.156 24.416 2366
+-116.03 24.416 2381
+-115.904 24.416 2394
+-115.778 24.416 2406
+-115.652 24.416 2426
+-115.526 24.416 2436
+-115.4 24.416 2445
+-115.274 24.416 2408
+-115.148 24.416 2413
+-115.022 24.416 2416
+-114.896 24.416 2444
+-114.77 24.416 2444
+-114.644 24.416 2442
+-114.518 24.416 2467
+-114.392 24.416 2442
+-114.266 24.416 2433
+-114.14 24.416 2456
+-114.014 24.416 2506
+-113.888 24.416 2470
+-113.762 24.416 2446
+-113.636 24.416 2440
+-113.51 24.416 2382
+-113.384 24.416 2336
+-113.258 24.416 2300
+-113.132 24.416 2258
+-113.006 24.416 2213
+-112.88 24.416 2163
+-112.754 24.416 2109
+-112.628 24.416 2051
+-112.502 24.416 1991
+-112.376 24.416 1929
+-112.25 24.416 1870
+-112.124 24.416 1818
+-111.998 24.416 1792
+-111.872 24.416 1764
+-111.746 24.416 1755
+-111.62 24.416 1761
+-111.494 24.416 1779
+-111.368 24.416 1779
+-111.242 24.416 1763
+-111.116 24.416 1738
+-110.99 24.416 1726
+-110.864 24.416 1742
+-110.738 24.416 1790
+-110.612 24.416 1860
+-110.486 24.416 1941
+-110.36 24.416 2022
+-110.234 24.416 2098
+-110.108 24.416 2165
+-109.982 24.416 2224
+-109.856 24.416 2304
+-109.73 24.416 2350
+-109.604 24.416 2390
+-109.478 24.416 2424
+-109.352 24.416 2455
+-109.226 24.416 2482
+-109.1 24.416 2505
+-108.974 24.416 2526
+-108.848 24.416 2545
+-108.722 24.416 2562
+-108.596 24.416 2577
+-108.47 24.416 2592
+-108.344 24.416 2605
+-108.218 24.416 2617
+-108.092 24.416 2628
+-107.966 24.416 2678
+-107.84 24.416 2704
+-107.714 24.416 2716
+-107.588 24.416 2726
+-107.462 24.416 2785
+-107.336 24.416 2796
+-107.21 24.416 2807
+-107.084 24.416 2817
+-106.958 24.416 2826
+-106.832 24.416 2835
+-106.706 24.416 2844
+-106.58 24.416 2852
+-106.454 24.416 2878
+-106.328 24.416 2966
+-106.202 24.416 2973
+-106.076 24.416 2967
+-105.95 24.416 2972
+-105.824 24.416 3005
+-105.698 24.416 3019
+-105.572 24.416 3025
+-105.446 24.416 3030
+-105.32 24.416 3132
+-105.194 24.416 3136
+-105.068 24.416 3140
+-104.942 24.416 3086
+-104.816 24.416 3100
+-104.69 24.416 3103
+-104.564 24.416 3105
+-104.438 24.416 3097
+-104.312 24.416 3104
+-104.186 24.416 3112
+-104.06 24.416 3193
+-103.934 24.416 3177
+-103.808 24.416 3072
+-103.682 24.416 3073
+-103.556 24.416 3074
+-103.43 24.416 3096
+-103.304 24.416 3097
+-103.178 24.416 3099
+-103.052 24.416 3129
+-102.926 24.416 3131
+-102.8 24.416 3132
+-102.674 24.416 3082
+-102.548 24.416 3141
+-102.422 24.416 3142
+-102.296 24.416 3144
+-102.17 24.416 3145
+-102.044 24.416 3147
+-101.918 24.416 3145
+-101.792 24.416 3146
+-101.666 24.416 3170
+-101.54 24.416 3172
+-101.414 24.416 3174
+-101.288 24.416 3176
+-101.162 24.416 3119
+-101.036 24.416 3249
+-100.91 24.416 3245
+-100.784 24.416 3268
+-100.658 24.416 3270
+-100.532 24.416 3385
+-100.406 24.416 3387
+-100.28 24.416 3389
+-100.154 24.416 3431
+-100.028 24.416 3415
+-99.902 24.416 3418
+-99.776 24.416 3408
+-99.65 24.416 3426
+-99.524 24.416 3413
+-99.398 24.416 3439
+-99.272 24.416 3441
+-99.146 24.416 3434
+-99.02 24.416 3429
+-98.894 24.416 3431
+-98.768 24.416 3414
+-98.642 24.416 3463
+-98.516 24.416 3356
+-98.39 24.416 3325
+-98.264 24.416 3370
+-98.138 24.416 3365
+-98.012 24.416 3304
+-97.886 24.416 3317
+-97.76 24.416 3221
+-97.634 24.416 3220
+-97.508 24.416 3101
+-97.382 24.416 3086
+-97.256 24.416 3004
+-97.13 24.416 3043
+-97.004 24.416 3069
+-96.878 24.416 3087
+-96.752 24.416 3172
+-96.626 24.416 3226
+-96.5 24.416 3339
+-96.374 24.416 3361
+-96.248 24.416 3384
+-96.122 24.416 3434
+-95.996 24.416 3513
+-95.87 24.416 3528
+-95.744 24.416 3527
+-95.618 24.416 3526
+-95.492 24.416 3525
+-95.366 24.416 3524
+-95.24 24.416 3523
+-95.114 24.416 3522
+-94.988 24.416 3521
+-94.862 24.416 3520
+-94.736 24.416 3518
+-94.61 24.416 3517
+-94.484 24.416 3516
+-94.358 24.416 3519
+-94.232 24.416 3518
+-94.106 24.416 3518
+-93.98 24.416 3517
+-93.854 24.416 3516
+-93.728 24.416 3515
+-93.602 24.416 3514
+-93.476 24.416 3607
+-93.35 24.416 3604
+-93.224 24.416 3602
+-93.098 24.416 3599
+-92.972 24.416 3599
+-92.846 24.416 3649
+-92.72 24.416 3646
+-92.594 24.416 3643
+-92.468 24.416 3665
+-92.342 24.416 3661
+-92.216 24.416 3632
+-92.09 24.416 3629
+-91.964 24.416 3681
+-91.838 24.416 3678
+-91.712 24.416 3674
+-91.586 24.416 3670
+-91.46 24.416 3666
+-91.334 24.416 3662
+-91.208 24.416 3686
+-91.082 24.416 3681
+-90.956 24.416 3676
+-90.83 24.416 3670
+-90.704 24.416 3664
+-90.578 24.416 3658
+-90.452 24.416 3652
+-90.326 24.416 3645
+-90.2 24.416 3637
+-90.074 24.416 3605
+-89.948 24.416 3599
+-89.822 24.416 3592
+-89.696 24.416 3584
+-89.57 24.416 3588
+-89.444 24.416 3576
+-89.318 24.416 3601
+-89.192 24.416 3592
+-89.066 24.416 3582
+-88.94 24.416 3572
+-88.814 24.416 3569
+-88.688 24.416 3556
+-88.562 24.416 3547
+-88.436 24.416 3542
+-88.31 24.416 3521
+-88.184 24.416 3495
+-88.058 24.416 3457
+-87.932 24.416 3431
+-87.806 24.416 3376
+-87.68 24.416 3326
+-87.554 24.416 3262
+-87.428 24.416 3253
+-87.302 24.416 3334
+-87.176 24.416 3460
+-87.05 24.416 3557
+-86.924 24.416 3600
+-86.798 24.416 3604
+-86.672 24.416 3595
+-86.546 24.416 3664
+-86.42 24.416 3812
+-86.294 24.416 3953
+-86.168 24.416 4065
+-86.042 24.416 4146
+-85.916 24.416 4215
+-85.79 24.416 4265
+-85.664 24.416 4344
+-85.538 24.416 4528
+-85.412 24.416 4625
+-85.286 24.416 4714
+-85.16 24.416 4830
+-85.034 24.416 4977
+-84.908 24.416 5081
+-84.782 24.416 5191
+-84.656 24.416 5255
+-84.53 24.416 5305
+-84.404 24.416 5340
+-84.278 24.416 5363
+-84.152 24.416 5433
+-84.026 24.416 5493
+-83.9 24.416 5573
+-83.774 24.416 5637
+-83.648 24.416 5693
+-83.522 24.416 5738
+-83.396 24.416 5862
+-83.27 24.416 5926
+-83.144 24.416 5969
+-83.018 24.416 5954
+-82.892 24.416 6004
+-82.766 24.416 5999
+-82.64 24.416 6028
+-82.514 24.416 6054
+-82.388 24.416 6055
+-82.262 24.416 6033
+-82.136 24.416 6024
+-82.01 24.416 6044
+-81.884 24.416 6025
+-81.758 24.416 6020
+-81.632 24.416 6001
+-81.506 24.416 5994
+-81.38 24.416 5946
+-81.254 24.416 5899
+-81.128 24.416 5907
+-81.002 24.416 5877
+-80.876 24.416 5801
+-80.75 24.416 5715
+-80.624 24.416 5621
+-80.498 24.416 5536
+-80.372 24.416 5475
+-80.246 24.416 5440
+-80.12 24.416 5407
+-79.994 24.416 5344
+-79.868 24.416 5266
+-79.742 24.416 5164
+-79.616 24.416 5072
+-79.49 24.416 5050
+-79.364 24.416 4932
+-79.238 24.416 4823
+-79.112 24.416 4727
+-78.986 24.416 4620
+-78.86 24.416 4640
+-78.734 24.416 4571
+-78.608 24.416 4560
+-78.482 24.416 4513
+-78.356 24.416 4392
+-78.23 24.416 4227
+-78.104 24.416 4061
+-77.978 24.416 3885
+-77.852 24.416 3788
+-77.726 24.416 3645
+-77.6 24.416 3529
+-77.474 24.416 3375
+-77.348 24.416 3234
+-77.222 24.416 3163
+-77.096 24.416 3155
+-76.97 24.416 3143
+-76.844 24.416 3149
+-76.718 24.416 3177
+-76.592 24.416 3202
+-76.466 24.416 3151
+-76.34 24.416 3148
+-76.214 24.416 3147
+-76.088 24.416 3146
+-75.962 24.416 3142
+-75.836 24.416 3132
+-75.71 24.416 3088
+-75.584 24.416 3061
+-75.458 24.416 3024
+-75.332 24.416 2977
+-75.206 24.416 2893
+-75.08 24.416 2830
+-74.954 24.416 2752
+-74.828 24.416 2683
+-74.702 24.416 2617
+-74.576 24.416 2560
+-74.45 24.416 2503
+-74.324 24.416 2468
+-74.198 24.416 2451
+-74.072 24.416 2449
+-73.946 24.416 2459
+-73.82 24.416 2478
+-73.694 24.416 2505
+-73.568 24.416 2536
+-73.442 24.416 2570
+-73.316 24.416 2605
+-73.19 24.416 2617
+-73.064 24.416 2654
+-72.938 24.416 2682
+-72.812 24.416 2716
+-72.686 24.416 2748
+-72.56 24.416 2749
+-72.434 24.416 2780
+-72.308 24.416 2759
+-72.182 24.416 2784
+-72.056 24.416 2808
+-71.93 24.416 2830
+-71.804 24.416 2816
+-71.678 24.416 2816
+-71.552 24.416 2835
+-71.426 24.416 2847
+-71.3 24.416 2858
+-71.174 24.416 2874
+-71.048 24.416 2889
+-70.922 24.416 2904
+-70.796 24.416 2887
+-70.67 24.416 2899
+-70.544 24.416 2911
+-70.418 24.416 2881
+-70.292 24.416 2892
+-70.166 24.416 2865
+-70.04 24.416 2864
+-69.914 24.416 2834
+-69.788 24.416 2843
+-69.662 24.416 2806
+-69.536 24.416 2813
+-69.41 24.416 2820
+-69.284 24.416 2826
+-69.158 24.416 2832
+-69.032 24.416 2838
+-68.906 24.416 2844
+-68.78 24.416 2849
+-68.654 24.416 2854
+-68.528 24.416 2859
+-68.402 24.416 2863
+-68.276 24.416 2868
+-68.15 24.416 2872
+-68.024 24.416 2876
+-67.898 24.416 2880
+-67.772 24.416 2883
+-67.646 24.416 2887
+-67.52 24.416 2890
+-67.394 24.416 2894
+-67.268 24.416 2897
+-67.142 24.416 2875
+-67.016 24.416 2878
+-66.89 24.416 2882
+-66.764 24.416 2885
+-66.638 24.416 2888
+-66.512 24.416 2891
+-66.386 24.416 2854
+-66.26 24.416 2858
+-66.134 24.416 2849
+-66.008 24.416 2846
+-65.882 24.416 2818
+-65.756 24.416 2821
+-65.63 24.416 2824
+-65.504 24.416 2826
+-65.378 24.416 2829
+-65.252 24.416 2832
+-65.126 24.416 2835
+-128 24.364 3227
+-127.874 24.364 3224
+-127.748 24.364 3132
+-127.622 24.364 3132
+-127.496 24.364 3048
+-127.37 24.364 3058
+-127.244 24.364 3062
+-127.118 24.364 3058
+-126.992 24.364 3017
+-126.866 24.364 3013
+-126.74 24.364 3009
+-126.614 24.364 3033
+-126.488 24.364 3009
+-126.362 24.364 3004
+-126.236 24.364 2953
+-126.11 24.364 2948
+-125.984 24.364 3016
+-125.858 24.364 2971
+-125.732 24.364 2950
+-125.606 24.364 2851
+-125.48 24.364 2889
+-125.354 24.364 2882
+-125.228 24.364 2876
+-125.102 24.364 2869
+-124.976 24.364 2862
+-124.85 24.364 2855
+-124.724 24.364 2782
+-124.598 24.364 2789
+-124.472 24.364 2781
+-124.346 24.364 2741
+-124.22 24.364 2724
+-124.094 24.364 2703
+-123.968 24.364 2695
+-123.842 24.364 2666
+-123.716 24.364 2657
+-123.59 24.364 2626
+-123.464 24.364 2610
+-123.338 24.364 2585
+-123.212 24.364 2574
+-123.086 24.364 2554
+-122.96 24.364 2549
+-122.834 24.364 2536
+-122.708 24.364 2522
+-122.582 24.364 2507
+-122.456 24.364 2492
+-122.33 24.364 2402
+-122.204 24.364 2386
+-122.078 24.364 2368
+-121.952 24.364 2326
+-121.826 24.364 2307
+-121.7 24.364 2260
+-121.574 24.364 2239
+-121.448 24.364 2217
+-121.322 24.364 2194
+-121.196 24.364 2170
+-121.07 24.364 2145
+-120.944 24.364 2119
+-120.818 24.364 2092
+-120.692 24.364 2064
+-120.566 24.364 2035
+-120.44 24.364 1982
+-120.314 24.364 1955
+-120.188 24.364 1930
+-120.062 24.364 1905
+-119.936 24.364 1876
+-119.81 24.364 1857
+-119.684 24.364 1842
+-119.558 24.364 1820
+-119.432 24.364 1815
+-119.306 24.364 1801
+-119.18 24.364 1806
+-119.054 24.364 1806
+-118.928 24.364 1813
+-118.802 24.364 1839
+-118.676 24.364 1864
+-118.55 24.364 1894
+-118.424 24.364 1926
+-118.298 24.364 1960
+-118.172 24.364 1996
+-118.046 24.364 2053
+-117.92 24.364 2093
+-117.794 24.364 2066
+-117.668 24.364 2105
+-117.542 24.364 2140
+-117.416 24.364 2167
+-117.29 24.364 2208
+-117.164 24.364 2227
+-117.038 24.364 2247
+-116.912 24.364 2274
+-116.786 24.364 2235
+-116.66 24.364 2292
+-116.534 24.364 2313
+-116.408 24.364 2331
+-116.282 24.364 2349
+-116.156 24.364 2364
+-116.03 24.364 2378
+-115.904 24.364 2390
+-115.778 24.364 2411
+-115.652 24.364 2421
+-115.526 24.364 2431
+-115.4 24.364 2395
+-115.274 24.364 2400
+-115.148 24.364 2404
+-115.022 24.364 2406
+-114.896 24.364 2434
+-114.77 24.364 2433
+-114.644 24.364 2460
+-114.518 24.364 2435
+-114.392 24.364 2427
+-114.266 24.364 2418
+-114.14 24.364 2427
+-114.014 24.364 2474
+-113.888 24.364 2451
+-113.762 24.364 2425
+-113.636 24.364 2389
+-113.51 24.364 2345
+-113.384 24.364 2309
+-113.258 24.364 2269
+-113.132 24.364 2224
+-113.006 24.364 2174
+-112.88 24.364 2119
+-112.754 24.364 2059
+-112.628 24.364 1994
+-112.502 24.364 1925
+-112.376 24.364 1853
+-112.25 24.364 1783
+-112.124 24.364 1719
+-111.998 24.364 1668
+-111.872 24.364 1647
+-111.746 24.364 1641
+-111.62 24.364 1663
+-111.494 24.364 1707
+-111.368 24.364 1742
+-111.242 24.364 1759
+-111.116 24.364 1759
+-110.99 24.364 1754
+-110.864 24.364 1773
+-110.738 24.364 1814
+-110.612 24.364 1874
+-110.486 24.364 1945
+-110.36 24.364 2018
+-110.234 24.364 2088
+-110.108 24.364 2153
+-109.982 24.364 2210
+-109.856 24.364 2261
+-109.73 24.364 2338
+-109.604 24.364 2379
+-109.478 24.364 2414
+-109.352 24.364 2446
+-109.226 24.364 2473
+-109.1 24.364 2498
+-108.974 24.364 2520
+-108.848 24.364 2540
+-108.722 24.364 2557
+-108.596 24.364 2573
+-108.47 24.364 2588
+-108.344 24.364 2602
+-108.218 24.364 2614
+-108.092 24.364 2626
+-107.966 24.364 2637
+-107.84 24.364 2688
+-107.714 24.364 2714
+-107.588 24.364 2725
+-107.462 24.364 2735
+-107.336 24.364 2795
+-107.21 24.364 2805
+-107.084 24.364 2815
+-106.958 24.364 2824
+-106.832 24.364 2833
+-106.706 24.364 2842
+-106.58 24.364 2850
+-106.454 24.364 2857
+-106.328 24.364 2883
+-106.202 24.364 2973
+-106.076 24.364 2979
+-105.95 24.364 2973
+-105.824 24.364 2978
+-105.698 24.364 3010
+-105.572 24.364 3025
+-105.446 24.364 3030
+-105.32 24.364 3034
+-105.194 24.364 3139
+-105.068 24.364 3142
+-104.942 24.364 3146
+-104.816 24.364 3090
+-104.69 24.364 3105
+-104.564 24.364 3107
+-104.438 24.364 3110
+-104.312 24.364 3101
+-104.186 24.364 3108
+-104.06 24.364 3116
+-103.934 24.364 3198
+-103.808 24.364 3181
+-103.682 24.364 3075
+-103.556 24.364 3076
+-103.43 24.364 3077
+-103.304 24.364 3100
+-103.178 24.364 3101
+-103.052 24.364 3102
+-102.926 24.364 3133
+-102.8 24.364 3134
+-102.674 24.364 3136
+-102.548 24.364 3085
+-102.422 24.364 3144
+-102.296 24.364 3146
+-102.17 24.364 3147
+-102.044 24.364 3149
+-101.918 24.364 3151
+-101.792 24.364 3148
+-101.666 24.364 3150
+-101.54 24.364 3173
+-101.414 24.364 3175
+-101.288 24.364 3177
+-101.162 24.364 3179
+-101.036 24.364 3122
+-100.91 24.364 3253
+-100.784 24.364 3248
+-100.658 24.364 3272
+-100.532 24.364 3274
+-100.406 24.364 3389
+-100.28 24.364 3391
+-100.154 24.364 3393
+-100.028 24.364 3435
+-99.902 24.364 3417
+-99.776 24.364 3421
+-99.65 24.364 3412
+-99.524 24.364 3430
+-99.398 24.364 3417
+-99.272 24.364 3443
+-99.146 24.364 3445
+-99.02 24.364 3438
+-98.894 24.364 3432
+-98.768 24.364 3434
+-98.642 24.364 3418
+-98.516 24.364 3356
+-98.39 24.364 3356
+-98.264 24.364 3326
+-98.138 24.364 3371
+-98.012 24.364 3304
+-97.886 24.364 3318
+-97.76 24.364 3264
+-97.634 24.364 3264
+-97.508 24.364 3134
+-97.382 24.364 3088
+-97.256 24.364 3032
+-97.13 24.364 3043
+-97.004 24.364 3069
+-96.878 24.364 3087
+-96.752 24.364 3138
+-96.626 24.364 3243
+-96.5 24.364 3358
+-96.374 24.364 3361
+-96.248 24.364 3384
+-96.122 24.364 3433
+-95.996 24.364 3528
+-95.87 24.364 3528
+-95.744 24.364 3527
+-95.618 24.364 3526
+-95.492 24.364 3525
+-95.366 24.364 3524
+-95.24 24.364 3522
+-95.114 24.364 3521
+-94.988 24.364 3520
+-94.862 24.364 3519
+-94.736 24.364 3518
+-94.61 24.364 3516
+-94.484 24.364 3520
+-94.358 24.364 3519
+-94.232 24.364 3518
+-94.106 24.364 3517
+-93.98 24.364 3516
+-93.854 24.364 3515
+-93.728 24.364 3514
+-93.602 24.364 3607
+-93.476 24.364 3605
+-93.35 24.364 3603
+-93.224 24.364 3600
+-93.098 24.364 3600
+-92.972 24.364 3651
+-92.846 24.364 3648
+-92.72 24.364 3644
+-92.594 24.364 3667
+-92.468 24.364 3663
+-92.342 24.364 3634
+-92.216 24.364 3630
+-92.09 24.364 3683
+-91.964 24.364 3680
+-91.838 24.364 3676
+-91.712 24.364 3672
+-91.586 24.364 3669
+-91.46 24.364 3665
+-91.334 24.364 3689
+-91.208 24.364 3685
+-91.082 24.364 3680
+-90.956 24.364 3674
+-90.83 24.364 3669
+-90.704 24.364 3663
+-90.578 24.364 3657
+-90.452 24.364 3650
+-90.326 24.364 3643
+-90.2 24.364 3611
+-90.074 24.364 3605
+-89.948 24.364 3598
+-89.822 24.364 3592
+-89.696 24.364 3596
+-89.57 24.364 3585
+-89.444 24.364 3612
+-89.318 24.364 3604
+-89.192 24.364 3595
+-89.066 24.364 3586
+-88.94 24.364 3585
+-88.814 24.364 3575
+-88.688 24.364 3569
+-88.562 24.364 3567
+-88.436 24.364 3552
+-88.31 24.364 3534
+-88.184 24.364 3507
+-88.058 24.364 3499
+-87.932 24.364 3468
+-87.806 24.364 3456
+-87.68 24.364 3418
+-87.554 24.364 3397
+-87.428 24.364 3408
+-87.302 24.364 3458
+-87.176 24.364 3523
+-87.05 24.364 3573
+-86.924 24.364 3593
+-86.798 24.364 3580
+-86.672 24.364 3525
+-86.546 24.364 3624
+-86.42 24.364 3797
+-86.294 24.364 3935
+-86.168 24.364 4066
+-86.042 24.364 4137
+-85.916 24.364 4180
+-85.79 24.364 4229
+-85.664 24.364 4303
+-85.538 24.364 4488
+-85.412 24.364 4595
+-85.286 24.364 4673
+-85.16 24.364 4726
+-85.034 24.364 4858
+-84.908 24.364 5027
+-84.782 24.364 5148
+-84.656 24.364 5213
+-84.53 24.364 5251
+-84.404 24.364 5302
+-84.278 24.364 5326
+-84.152 24.364 5391
+-84.026 24.364 5449
+-83.9 24.364 5526
+-83.774 24.364 5604
+-83.648 24.364 5690
+-83.522 24.364 5694
+-83.396 24.364 5776
+-83.27 24.364 5850
+-83.144 24.364 5906
+-83.018 24.364 5948
+-82.892 24.364 5972
+-82.766 24.364 5988
+-82.64 24.364 5984
+-82.514 24.364 5986
+-82.388 24.364 5995
+-82.262 24.364 6025
+-82.136 24.364 5989
+-82.01 24.364 5962
+-81.884 24.364 5963
+-81.758 24.364 6000
+-81.632 24.364 5947
+-81.506 24.364 5934
+-81.38 24.364 5902
+-81.254 24.364 5860
+-81.128 24.364 5837
+-81.002 24.364 5789
+-80.876 24.364 5731
+-80.75 24.364 5666
+-80.624 24.364 5564
+-80.498 24.364 5489
+-80.372 24.364 5494
+-80.246 24.364 5419
+-80.12 24.364 5356
+-79.994 24.364 5300
+-79.868 24.364 5213
+-79.742 24.364 5141
+-79.616 24.364 5082
+-79.49 24.364 4969
+-79.364 24.364 4876
+-79.238 24.364 4792
+-79.112 24.364 4764
+-78.986 24.364 4692
+-78.86 24.364 4657
+-78.734 24.364 4596
+-78.608 24.364 4565
+-78.482 24.364 4497
+-78.356 24.364 4299
+-78.23 24.364 4171
+-78.104 24.364 3969
+-77.978 24.364 3797
+-77.852 24.364 3697
+-77.726 24.364 3632
+-77.6 24.364 3518
+-77.474 24.364 3363
+-77.348 24.364 3210
+-77.222 24.364 3133
+-77.096 24.364 3147
+-76.97 24.364 3164
+-76.844 24.364 3166
+-76.718 24.364 3165
+-76.592 24.364 3163
+-76.466 24.364 3167
+-76.34 24.364 3102
+-76.214 24.364 3099
+-76.088 24.364 3104
+-75.962 24.364 3109
+-75.836 24.364 3108
+-75.71 24.364 3101
+-75.584 24.364 3058
+-75.458 24.364 3032
+-75.332 24.364 2997
+-75.206 24.364 2954
+-75.08 24.364 2876
+-74.954 24.364 2823
+-74.828 24.364 2759
+-74.702 24.364 2707
+-74.576 24.364 2660
+-74.45 24.364 2621
+-74.324 24.364 2581
+-74.198 24.364 2560
+-74.072 24.364 2553
+-73.946 24.364 2556
+-73.82 24.364 2567
+-73.694 24.364 2584
+-73.568 24.364 2606
+-73.442 24.364 2632
+-73.316 24.364 2659
+-73.19 24.364 2687
+-73.064 24.364 2694
+-72.938 24.364 2725
+-72.812 24.364 2746
+-72.686 24.364 2774
+-72.56 24.364 2801
+-72.434 24.364 2798
+-72.308 24.364 2824
+-72.182 24.364 2797
+-72.056 24.364 2819
+-71.93 24.364 2840
+-71.804 24.364 2860
+-71.678 24.364 2843
+-71.552 24.364 2840
+-71.426 24.364 2858
+-71.3 24.364 2868
+-71.174 24.364 2877
+-71.048 24.364 2892
+-70.922 24.364 2906
+-70.796 24.364 2919
+-70.67 24.364 2900
+-70.544 24.364 2911
+-70.418 24.364 2922
+-70.292 24.364 2892
+-70.166 24.364 2902
+-70.04 24.364 2874
+-69.914 24.364 2873
+-69.788 24.364 2842
+-69.662 24.364 2850
+-69.536 24.364 2813
+-69.41 24.364 2820
+-69.284 24.364 2826
+-69.158 24.364 2832
+-69.032 24.364 2837
+-68.906 24.364 2843
+-68.78 24.364 2848
+-68.654 24.364 2853
+-68.528 24.364 2858
+-68.402 24.364 2862
+-68.276 24.364 2867
+-68.15 24.364 2871
+-68.024 24.364 2875
+-67.898 24.364 2879
+-67.772 24.364 2883
+-67.646 24.364 2886
+-67.52 24.364 2890
+-67.394 24.364 2893
+-67.268 24.364 2896
+-67.142 24.364 2899
+-67.016 24.364 2877
+-66.89 24.364 2881
+-66.764 24.364 2884
+-66.638 24.364 2887
+-66.512 24.364 2890
+-66.386 24.364 2893
+-66.26 24.364 2856
+-66.134 24.364 2860
+-66.008 24.364 2851
+-65.882 24.364 2848
+-65.756 24.364 2819
+-65.63 24.364 2822
+-65.504 24.364 2825
+-65.378 24.364 2828
+-65.252 24.364 2831
+-65.126 24.364 2833
+-128 24.312 3225
+-127.874 24.312 3134
+-127.748 24.312 3134
+-127.622 24.312 3050
+-127.496 24.312 3060
+-127.37 24.312 3064
+-127.244 24.312 3060
+-127.118 24.312 3019
+-126.992 24.312 3015
+-126.866 24.312 3011
+-126.74 24.312 3035
+-126.614 24.312 3011
+-126.488 24.312 3007
+-126.362 24.312 2956
+-126.236 24.312 2951
+-126.11 24.312 3019
+-125.984 24.312 2975
+-125.858 24.312 2954
+-125.732 24.312 2855
+-125.606 24.312 2893
+-125.48 24.312 2887
+-125.354 24.312 2881
+-125.228 24.312 2874
+-125.102 24.312 2867
+-124.976 24.312 2860
+-124.85 24.312 2788
+-124.724 24.312 2795
+-124.598 24.312 2788
+-124.472 24.312 2748
+-124.346 24.312 2731
+-124.22 24.312 2711
+-124.094 24.312 2703
+-123.968 24.312 2675
+-123.842 24.312 2666
+-123.716 24.312 2636
+-123.59 24.312 2620
+-123.464 24.312 2596
+-123.338 24.312 2585
+-123.212 24.312 2567
+-123.086 24.312 2563
+-122.96 24.312 2551
+-122.834 24.312 2538
+-122.708 24.312 2524
+-122.582 24.312 2510
+-122.456 24.312 2420
+-122.33 24.312 2405
+-122.204 24.312 2389
+-122.078 24.312 2349
+-121.952 24.312 2331
+-121.826 24.312 2286
+-121.7 24.312 2267
+-121.574 24.312 2248
+-121.448 24.312 2227
+-121.322 24.312 2206
+-121.196 24.312 2184
+-121.07 24.312 2161
+-120.944 24.312 2137
+-120.818 24.312 2113
+-120.692 24.312 2087
+-120.566 24.312 2036
+-120.44 24.312 2012
+-120.314 24.312 1989
+-120.188 24.312 1967
+-120.062 24.312 1939
+-119.936 24.312 1921
+-119.81 24.312 1905
+-119.684 24.312 1881
+-119.558 24.312 1874
+-119.432 24.312 1856
+-119.306 24.312 1856
+-119.18 24.312 1852
+-119.054 24.312 1851
+-118.928 24.312 1871
+-118.802 24.312 1890
+-118.676 24.312 1912
+-118.55 24.312 1937
+-118.424 24.312 1966
+-118.298 24.312 1996
+-118.172 24.312 2050
+-118.046 24.312 2086
+-117.92 24.312 2054
+-117.794 24.312 2092
+-117.668 24.312 2125
+-117.542 24.312 2150
+-117.416 24.312 2189
+-117.29 24.312 2208
+-117.164 24.312 2228
+-117.038 24.312 2255
+-116.912 24.312 2217
+-116.786 24.312 2274
+-116.66 24.312 2295
+-116.534 24.312 2314
+-116.408 24.312 2331
+-116.282 24.312 2348
+-116.156 24.312 2362
+-116.03 24.312 2375
+-115.904 24.312 2396
+-115.778 24.312 2407
+-115.652 24.312 2417
+-115.526 24.312 2382
+-115.4 24.312 2388
+-115.274 24.312 2393
+-115.148 24.312 2396
+-115.022 24.312 2424
+-114.896 24.312 2424
+-114.77 24.312 2452
+-114.644 24.312 2428
+-114.518 24.312 2422
+-114.392 24.312 2414
+-114.266 24.312 2425
+-114.14 24.312 2394
+-114.014 24.312 2378
+-113.888 24.312 2433
+-113.762 24.312 2398
+-113.636 24.312 2356
+-113.51 24.312 2322
+-113.384 24.312 2284
+-113.258 24.312 2241
+-113.132 24.312 2193
+-113.006 24.312 2139
+-112.88 24.312 2079
+-112.754 24.312 2014
+-112.628 24.312 1942
+-112.502 24.312 1864
+-112.376 24.312 1783
+-112.25 24.312 1701
+-112.124 24.312 1623
+-111.998 24.312 1557
+-111.872 24.312 1514
+-111.746 24.312 1512
+-111.62 24.312 1543
+-111.494 24.312 1610
+-111.368 24.312 1682
+-111.242 24.312 1736
+-111.116 24.312 1756
+-110.99 24.312 1778
+-110.864 24.312 1804
+-110.738 24.312 1843
+-110.612 24.312 1895
+-110.486 24.312 1957
+-110.36 24.312 2022
+-110.234 24.312 2086
+-110.108 24.312 2146
+-109.982 24.312 2202
+-109.856 24.312 2252
+-109.73 24.312 2296
+-109.604 24.312 2369
+-109.478 24.312 2406
+-109.352 24.312 2438
+-109.226 24.312 2466
+-109.1 24.312 2491
+-108.974 24.312 2514
+-108.848 24.312 2534
+-108.722 24.312 2553
+-108.596 24.312 2569
+-108.47 24.312 2584
+-108.344 24.312 2598
+-108.218 24.312 2611
+-108.092 24.312 2624
+-107.966 24.312 2635
+-107.84 24.312 2646
+-107.714 24.312 2696
+-107.588 24.312 2723
+-107.462 24.312 2734
+-107.336 24.312 2743
+-107.21 24.312 2804
+-107.084 24.312 2813
+-106.958 24.312 2823
+-106.832 24.312 2831
+-106.706 24.312 2840
+-106.58 24.312 2848
+-106.454 24.312 2855
+-106.328 24.312 2862
+-106.202 24.312 2888
+-106.076 24.312 2980
+-105.95 24.312 2986
+-105.824 24.312 2978
+-105.698 24.312 2983
+-105.572 24.312 3016
+-105.446 24.312 3030
+-105.32 24.312 3034
+-105.194 24.312 3039
+-105.068 24.312 3144
+-104.942 24.312 3148
+-104.816 24.312 3151
+-104.69 24.312 3095
+-104.564 24.312 3110
+-104.438 24.312 3112
+-104.312 24.312 3114
+-104.186 24.312 3105
+-104.06 24.312 3112
+-103.934 24.312 3120
+-103.808 24.312 3202
+-103.682 24.312 3186
+-103.556 24.312 3079
+-103.43 24.312 3080
+-103.304 24.312 3081
+-103.178 24.312 3103
+-103.052 24.312 3104
+-102.926 24.312 3105
+-102.8 24.312 3137
+-102.674 24.312 3138
+-102.548 24.312 3139
+-102.422 24.312 3088
+-102.296 24.312 3148
+-102.17 24.312 3149
+-102.044 24.312 3151
+-101.918 24.312 3152
+-101.792 24.312 3154
+-101.666 24.312 3151
+-101.54 24.312 3153
+-101.414 24.312 3177
+-101.288 24.312 3179
+-101.162 24.312 3180
+-101.036 24.312 3182
+-100.91 24.312 3125
+-100.784 24.312 3257
+-100.658 24.312 3252
+-100.532 24.312 3275
+-100.406 24.312 3277
+-100.28 24.312 3393
+-100.154 24.312 3395
+-100.028 24.312 3397
+-99.902 24.312 3439
+-99.776 24.312 3422
+-99.65 24.312 3425
+-99.524 24.312 3415
+-99.398 24.312 3434
+-99.272 24.312 3420
+-99.146 24.312 3446
+-99.02 24.312 3449
+-98.894 24.312 3441
+-98.768 24.312 3435
+-98.642 24.312 3438
+-98.516 24.312 3376
+-98.39 24.312 3357
+-98.264 24.312 3357
+-98.138 24.312 3326
+-98.012 24.312 3304
+-97.886 24.312 3304
+-97.76 24.312 3265
+-97.634 24.312 3264
+-97.508 24.312 3134
+-97.382 24.312 3089
+-97.256 24.312 3032
+-97.13 24.312 3043
+-97.004 24.312 3069
+-96.878 24.312 3100
+-96.752 24.312 3138
+-96.626 24.312 3243
+-96.5 24.312 3358
+-96.374 24.312 3360
+-96.248 24.312 3384
+-96.122 24.312 3433
+-95.996 24.312 3528
+-95.87 24.312 3527
+-95.744 24.312 3526
+-95.618 24.312 3525
+-95.492 24.312 3524
+-95.366 24.312 3523
+-95.24 24.312 3522
+-95.114 24.312 3521
+-94.988 24.312 3520
+-94.862 24.312 3518
+-94.736 24.312 3517
+-94.61 24.312 3520
+-94.484 24.312 3519
+-94.358 24.312 3518
+-94.232 24.312 3518
+-94.106 24.312 3517
+-93.98 24.312 3516
+-93.854 24.312 3515
+-93.728 24.312 3608
+-93.602 24.312 3606
+-93.476 24.312 3604
+-93.35 24.312 3601
+-93.224 24.312 3601
+-93.098 24.312 3652
+-92.972 24.312 3649
+-92.846 24.312 3646
+-92.72 24.312 3668
+-92.594 24.312 3665
+-92.468 24.312 3635
+-92.342 24.312 3632
+-92.216 24.312 3685
+-92.09 24.312 3681
+-91.964 24.312 3678
+-91.838 24.312 3675
+-91.712 24.312 3671
+-91.586 24.312 3667
+-91.46 24.312 3692
+-91.334 24.312 3688
+-91.208 24.312 3683
+-91.082 24.312 3678
+-90.956 24.312 3673
+-90.83 24.312 3667
+-90.704 24.312 3661
+-90.578 24.312 3655
+-90.452 24.312 3649
+-90.326 24.312 3616
+-90.2 24.312 3610
+-90.074 24.312 3605
+-89.948 24.312 3599
+-89.822 24.312 3603
+-89.696 24.312 3593
+-89.57 24.312 3622
+-89.444 24.312 3615
+-89.318 24.312 3607
+-89.192 24.312 3599
+-89.066 24.312 3600
+-88.94 24.312 3591
+-88.814 24.312 3587
+-88.688 24.312 3589
+-88.562 24.312 3577
+-88.436 24.312 3564
+-88.31 24.312 3543
+-88.184 24.312 3545
+-88.058 24.312 3526
+-87.932 24.312 3533
+-87.806 24.312 3509
+-87.68 24.312 3494
+-87.554 24.312 3490
+-87.428 24.312 3501
+-87.302 24.312 3526
+-87.176 24.312 3554
+-87.05 24.312 3573
+-86.924 24.312 3599
+-86.798 24.312 3591
+-86.672 24.312 3588
+-86.546 24.312 3672
+-86.42 24.312 3803
+-86.294 24.312 3928
+-86.168 24.312 4036
+-86.042 24.312 4119
+-85.916 24.312 4110
+-85.79 24.312 4198
+-85.664 24.312 4312
+-85.538 24.312 4492
+-85.412 24.312 4555
+-85.286 24.312 4628
+-85.16 24.312 4692
+-85.034 24.312 4829
+-84.908 24.312 4966
+-84.782 24.312 5077
+-84.656 24.312 5160
+-84.53 24.312 5127
+-84.404 24.312 5216
+-84.278 24.312 5296
+-84.152 24.312 5379
+-84.026 24.312 5450
+-83.9 24.312 5514
+-83.774 24.312 5545
+-83.648 24.312 5602
+-83.522 24.312 5639
+-83.396 24.312 5694
+-83.27 24.312 5776
+-83.144 24.312 5809
+-83.018 24.312 5878
+-82.892 24.312 5915
+-82.766 24.312 5922
+-82.64 24.312 5922
+-82.514 24.312 5968
+-82.388 24.312 5934
+-82.262 24.312 5943
+-82.136 24.312 5935
+-82.01 24.312 5950
+-81.884 24.312 5916
+-81.758 24.312 5905
+-81.632 24.312 5912
+-81.506 24.312 5893
+-81.38 24.312 5865
+-81.254 24.312 5812
+-81.128 24.312 5737
+-81.002 24.312 5734
+-80.876 24.312 5714
+-80.75 24.312 5636
+-80.624 24.312 5516
+-80.498 24.312 5451
+-80.372 24.312 5442
+-80.246 24.312 5377
+-80.12 24.312 5354
+-79.994 24.312 5294
+-79.868 24.312 5207
+-79.742 24.312 5134
+-79.616 24.312 5010
+-79.49 24.312 4844
+-79.364 24.312 4876
+-79.238 24.312 4827
+-79.112 24.312 4785
+-78.986 24.312 4723
+-78.86 24.312 4657
+-78.734 24.312 4600
+-78.608 24.312 4552
+-78.482 24.312 4433
+-78.356 24.312 4261
+-78.23 24.312 4125
+-78.104 24.312 3913
+-77.978 24.312 3727
+-77.852 24.312 3644
+-77.726 24.312 3636
+-77.6 24.312 3517
+-77.474 24.312 3340
+-77.348 24.312 3154
+-77.222 24.312 3051
+-77.096 24.312 3109
+-76.97 24.312 3150
+-76.844 24.312 3141
+-76.718 24.312 3112
+-76.592 24.312 3086
+-76.466 24.312 3031
+-76.34 24.312 3037
+-76.214 24.312 3036
+-76.088 24.312 3054
+-75.962 24.312 3070
+-75.836 24.312 3081
+-75.71 24.312 3084
+-75.584 24.312 3078
+-75.458 24.312 3036
+-75.332 24.312 3012
+-75.206 24.312 2980
+-75.08 24.312 2942
+-74.954 24.312 2871
+-74.828 24.312 2829
+-74.702 24.312 2778
+-74.576 24.312 2739
+-74.45 24.312 2707
+-74.324 24.312 2681
+-74.198 24.312 2652
+-74.072 24.312 2639
+-73.946 24.312 2638
+-73.82 24.312 2643
+-73.694 24.312 2654
+-73.568 24.312 2669
+-73.442 24.312 2688
+-73.316 24.312 2709
+-73.19 24.312 2731
+-73.064 24.312 2754
+-72.938 24.312 2758
+-72.812 24.312 2783
+-72.686 24.312 2799
+-72.56 24.312 2822
+-72.434 24.312 2845
+-72.308 24.312 2840
+-72.182 24.312 2863
+-72.056 24.312 2832
+-71.93 24.312 2851
+-71.804 24.312 2869
+-71.678 24.312 2886
+-71.552 24.312 2866
+-71.426 24.312 2863
+-71.3 24.312 2878
+-71.174 24.312 2886
+-71.048 24.312 2895
+-70.922 24.312 2908
+-70.796 24.312 2920
+-70.67 24.312 2932
+-70.544 24.312 2913
+-70.418 24.312 2923
+-70.292 24.312 2933
+-70.166 24.312 2902
+-70.04 24.312 2912
+-69.914 24.312 2883
+-69.788 24.312 2881
+-69.662 24.312 2850
+-69.536 24.312 2857
+-69.41 24.312 2819
+-69.284 24.312 2826
+-69.158 24.312 2831
+-69.032 24.312 2837
+-68.906 24.312 2842
+-68.78 24.312 2848
+-68.654 24.312 2853
+-68.528 24.312 2857
+-68.402 24.312 2862
+-68.276 24.312 2866
+-68.15 24.312 2870
+-68.024 24.312 2874
+-67.898 24.312 2878
+-67.772 24.312 2882
+-67.646 24.312 2885
+-67.52 24.312 2889
+-67.394 24.312 2892
+-67.268 24.312 2895
+-67.142 24.312 2898
+-67.016 24.312 2901
+-66.89 24.312 2880
+-66.764 24.312 2883
+-66.638 24.312 2886
+-66.512 24.312 2889
+-66.386 24.312 2892
+-66.26 24.312 2895
+-66.134 24.312 2858
+-66.008 24.312 2862
+-65.882 24.312 2853
+-65.756 24.312 2850
+-65.63 24.312 2821
+-65.504 24.312 2824
+-65.378 24.312 2826
+-65.252 24.312 2829
+-65.126 24.312 2832
+-128 24.26 3135
+-127.874 24.26 3136
+-127.748 24.26 3052
+-127.622 24.26 3062
+-127.496 24.26 3066
+-127.37 24.26 3062
+-127.244 24.26 3021
+-127.118 24.26 3017
+-126.992 24.26 3013
+-126.866 24.26 3038
+-126.74 24.26 3014
+-126.614 24.26 3009
+-126.488 24.26 2959
+-126.362 24.26 2954
+-126.236 24.26 3023
+-126.11 24.26 2979
+-125.984 24.26 2958
+-125.858 24.26 2858
+-125.732 24.26 2897
+-125.606 24.26 2891
+-125.48 24.26 2885
+-125.354 24.26 2879
+-125.228 24.26 2873
+-125.102 24.26 2866
+-124.976 24.26 2793
+-124.85 24.26 2801
+-124.724 24.26 2794
+-124.598 24.26 2755
+-124.472 24.26 2738
+-124.346 24.26 2718
+-124.22 24.26 2710
+-124.094 24.26 2683
+-123.968 24.26 2674
+-123.842 24.26 2645
+-123.716 24.26 2629
+-123.59 24.26 2606
+-123.464 24.26 2596
+-123.338 24.26 2578
+-123.212 24.26 2576
+-123.086 24.26 2565
+-122.96 24.26 2553
+-122.834 24.26 2540
+-122.708 24.26 2527
+-122.582 24.26 2437
+-122.456 24.26 2423
+-122.33 24.26 2409
+-122.204 24.26 2369
+-122.078 24.26 2354
+-121.952 24.26 2310
+-121.826 24.26 2293
+-121.7 24.26 2275
+-121.574 24.26 2257
+-121.448 24.26 2238
+-121.322 24.26 2218
+-121.196 24.26 2198
+-121.07 24.26 2177
+-120.944 24.26 2155
+-120.818 24.26 2132
+-120.692 24.26 2083
+-120.566 24.26 2062
+-120.44 24.26 2041
+-120.314 24.26 2021
+-120.188 24.26 1995
+-120.062 24.26 1978
+-119.936 24.26 1962
+-119.81 24.26 1937
+-119.684 24.26 1928
+-119.558 24.26 1908
+-119.432 24.26 1905
+-119.306 24.26 1897
+-119.18 24.26 1891
+-119.054 24.26 1905
+-118.928 24.26 1919
+-118.802 24.26 1935
+-118.676 24.26 1955
+-118.55 24.26 1978
+-118.424 24.26 2003
+-118.298 24.26 2052
+-118.172 24.26 2084
+-118.046 24.26 2049
+-117.92 24.26 2083
+-117.794 24.26 2113
+-117.668 24.26 2137
+-117.542 24.26 2174
+-117.416 24.26 2192
+-117.29 24.26 2211
+-117.164 24.26 2237
+-117.038 24.26 2200
+-116.912 24.26 2257
+-116.786 24.26 2278
+-116.66 24.26 2297
+-116.534 24.26 2315
+-116.408 24.26 2332
+-116.282 24.26 2347
+-116.156 24.26 2360
+-116.03 24.26 2381
+-115.904 24.26 2393
+-115.778 24.26 2403
+-115.652 24.26 2370
+-115.526 24.26 2376
+-115.4 24.26 2382
+-115.274 24.26 2386
+-115.148 24.26 2388
+-115.022 24.26 2416
+-114.896 24.26 2445
+-114.77 24.26 2422
+-114.644 24.26 2418
+-114.518 24.26 2411
+-114.392 24.26 2423
+-114.266 24.26 2393
+-114.14 24.26 2384
+-114.014 24.26 2367
+-113.888 24.26 2335
+-113.762 24.26 2369
+-113.636 24.26 2337
+-113.51 24.26 2301
+-113.384 24.26 2261
+-113.258 24.26 2216
+-113.132 24.26 2166
+-113.006 24.26 2109
+-112.88 24.26 2046
+-112.754 24.26 1975
+-112.628 24.26 1898
+-112.502 24.26 1813
+-112.376 24.26 1723
+-112.25 24.26 1630
+-112.124 24.26 1539
+-111.998 24.26 1459
+-111.872 24.26 1402
+-111.746 24.26 1384
+-111.62 24.26 1421
+-111.494 24.26 1503
+-111.368 24.26 1604
+-111.242 24.26 1679
+-111.116 24.26 1741
+-110.99 24.26 1785
+-110.864 24.26 1824
+-110.738 24.26 1866
+-110.612 24.26 1916
+-110.486 24.26 1971
+-110.36 24.26 2030
+-110.234 24.26 2089
+-110.108 24.26 2145
+-109.982 24.26 2197
+-109.856 24.26 2245
+-109.73 24.26 2288
+-109.604 24.26 2327
+-109.478 24.26 2399
+-109.352 24.26 2431
+-109.226 24.26 2459
+-109.1 24.26 2485
+-108.974 24.26 2508
+-108.848 24.26 2529
+-108.722 24.26 2548
+-108.596 24.26 2565
+-108.47 24.26 2581
+-108.344 24.26 2595
+-108.218 24.26 2608
+-108.092 24.26 2621
+-107.966 24.26 2632
+-107.84 24.26 2643
+-107.714 24.26 2653
+-107.588 24.26 2705
+-107.462 24.26 2732
+-107.336 24.26 2741
+-107.21 24.26 2751
+-107.084 24.26 2812
+-106.958 24.26 2821
+-106.832 24.26 2829
+-106.706 24.26 2838
+-106.58 24.26 2845
+-106.454 24.26 2853
+-106.328 24.26 2860
+-106.202 24.26 2866
+-106.076 24.26 2892
+-105.95 24.26 2986
+-105.824 24.26 2991
+-105.698 24.26 2983
+-105.572 24.26 2988
+-105.446 24.26 3021
+-105.32 24.26 3034
+-105.194 24.26 3039
+-105.068 24.26 3043
+-104.942 24.26 3150
+-104.816 24.26 3153
+-104.69 24.26 3157
+-104.564 24.26 3100
+-104.438 24.26 3114
+-104.312 24.26 3116
+-104.186 24.26 3119
+-104.06 24.26 3109
+-103.934 24.26 3116
+-103.808 24.26 3124
+-103.682 24.26 3207
+-103.556 24.26 3190
+-103.43 24.26 3082
+-103.304 24.26 3083
+-103.178 24.26 3084
+-103.052 24.26 3106
+-102.926 24.26 3107
+-102.8 24.26 3108
+-102.674 24.26 3140
+-102.548 24.26 3142
+-102.422 24.26 3143
+-102.296 24.26 3091
+-102.17 24.26 3151
+-102.044 24.26 3153
+-101.918 24.26 3154
+-101.792 24.26 3156
+-101.666 24.26 3157
+-101.54 24.26 3154
+-101.414 24.26 3156
+-101.288 24.26 3180
+-101.162 24.26 3182
+-101.036 24.26 3183
+-100.91 24.26 3185
+-100.784 24.26 3127
+-100.658 24.26 3260
+-100.532 24.26 3255
+-100.406 24.26 3279
+-100.28 24.26 3281
+-100.154 24.26 3397
+-100.028 24.26 3399
+-99.902 24.26 3400
+-99.776 24.26 3443
+-99.65 24.26 3424
+-99.524 24.26 3429
+-99.398 24.26 3419
+-99.272 24.26 3437
+-99.146 24.26 3424
+-99.02 24.26 3450
+-98.894 24.26 3452
+-98.768 24.26 3444
+-98.642 24.26 3438
+-98.516 24.26 3377
+-98.39 24.26 3377
+-98.264 24.26 3358
+-98.138 24.26 3358
+-98.012 24.26 3265
+-97.886 24.26 3304
+-97.76 24.26 3259
+-97.634 24.26 3228
+-97.508 24.26 3135
+-97.382 24.26 3089
+-97.256 24.26 3032
+-97.13 24.26 3044
+-97.004 24.26 3094
+-96.878 24.26 3132
+-96.752 24.26 3138
+-96.626 24.26 3243
+-96.5 24.26 3358
+-96.374 24.26 3381
+-96.248 24.26 3384
+-96.122 24.26 3433
+-95.996 24.26 3528
+-95.87 24.26 3527
+-95.744 24.26 3526
+-95.618 24.26 3525
+-95.492 24.26 3523
+-95.366 24.26 3522
+-95.24 24.26 3521
+-95.114 24.26 3520
+-94.988 24.26 3519
+-94.862 24.26 3518
+-94.736 24.26 3520
+-94.61 24.26 3520
+-94.484 24.26 3519
+-94.358 24.26 3518
+-94.232 24.26 3517
+-94.106 24.26 3516
+-93.98 24.26 3515
+-93.854 24.26 3609
+-93.728 24.26 3607
+-93.602 24.26 3604
+-93.476 24.26 3602
+-93.35 24.26 3602
+-93.224 24.26 3653
+-93.098 24.26 3650
+-92.972 24.26 3647
+-92.846 24.26 3670
+-92.72 24.26 3666
+-92.594 24.26 3637
+-92.468 24.26 3634
+-92.342 24.26 3686
+-92.216 24.26 3683
+-92.09 24.26 3680
+-91.964 24.26 3677
+-91.838 24.26 3674
+-91.712 24.26 3670
+-91.586 24.26 3695
+-91.46 24.26 3691
+-91.334 24.26 3687
+-91.208 24.26 3682
+-91.082 24.26 3677
+-90.956 24.26 3672
+-90.83 24.26 3666
+-90.704 24.26 3660
+-90.578 24.26 3654
+-90.452 24.26 3621
+-90.326 24.26 3616
+-90.2 24.26 3610
+-90.074 24.26 3605
+-89.948 24.26 3610
+-89.822 24.26 3601
+-89.696 24.26 3630
+-89.57 24.26 3624
+-89.444 24.26 3618
+-89.318 24.26 3610
+-89.192 24.26 3612
+-89.066 24.26 3605
+-88.94 24.26 3603
+-88.814 24.26 3607
+-88.688 24.26 3598
+-88.562 24.26 3587
+-88.436 24.26 3570
+-88.31 24.26 3578
+-88.184 24.26 3565
+-88.058 24.26 3583
+-87.932 24.26 3566
+-87.806 24.26 3555
+-87.68 24.26 3550
+-87.554 24.26 3548
+-87.428 24.26 3552
+-87.302 24.26 3559
+-87.176 24.26 3565
+-87.05 24.26 3571
+-86.924 24.26 3549
+-86.798 24.26 3549
+-86.672 24.26 3601
+-86.546 24.26 3698
+-86.42 24.26 3803
+-86.294 24.26 3910
+-86.168 24.26 4008
+-86.042 24.26 4099
+-85.916 24.26 4135
+-85.79 24.26 4193
+-85.664 24.26 4318
+-85.538 24.26 4448
+-85.412 24.26 4551
+-85.286 24.26 4590
+-85.16 24.26 4665
+-85.034 24.26 4782
+-84.908 24.26 4928
+-84.782 24.26 5053
+-84.656 24.26 5124
+-84.53 24.26 5176
+-84.404 24.26 5231
+-84.278 24.26 5259
+-84.152 24.26 5325
+-84.026 24.26 5408
+-83.9 24.26 5438
+-83.774 24.26 5511
+-83.648 24.26 5584
+-83.522 24.26 5599
+-83.396 24.26 5655
+-83.27 24.26 5718
+-83.144 24.26 5752
+-83.018 24.26 5787
+-82.892 24.26 5868
+-82.766 24.26 5877
+-82.64 24.26 5874
+-82.514 24.26 5883
+-82.388 24.26 5875
+-82.262 24.26 5867
+-82.136 24.26 5873
+-82.01 24.26 5865
+-81.884 24.26 5866
+-81.758 24.26 5863
+-81.632 24.26 5832
+-81.506 24.26 5849
+-81.38 24.26 5812
+-81.254 24.26 5768
+-81.128 24.26 5711
+-81.002 24.26 5686
+-80.876 24.26 5646
+-80.75 24.26 5575
+-80.624 24.26 5484
+-80.498 24.26 5457
+-80.372 24.26 5402
+-80.246 24.26 5301
+-80.12 24.26 5322
+-79.994 24.26 5261
+-79.868 24.26 5183
+-79.742 24.26 5113
+-79.616 24.26 5026
+-79.49 24.26 4923
+-79.364 24.26 4899
+-79.238 24.26 4856
+-79.112 24.26 4803
+-78.986 24.26 4719
+-78.86 24.26 4632
+-78.734 24.26 4584
+-78.608 24.26 4525
+-78.482 24.26 4404
+-78.356 24.26 4231
+-78.23 24.26 4065
+-78.104 24.26 3910
+-77.978 24.26 3762
+-77.852 24.26 3669
+-77.726 24.26 3630
+-77.6 24.26 3497
+-77.474 24.26 3347
+-77.348 24.26 3196
+-77.222 24.26 3121
+-77.096 24.26 3131
+-76.97 24.26 3127
+-76.844 24.26 3078
+-76.718 24.26 2999
+-76.592 24.26 2939
+-76.466 24.26 2896
+-76.34 24.26 2923
+-76.214 24.26 2970
+-76.088 24.26 2996
+-75.962 24.26 3028
+-75.836 24.26 3051
+-75.71 24.26 3066
+-75.584 24.26 3070
+-75.458 24.26 3064
+-75.332 24.26 3022
+-75.206 24.26 3000
+-75.08 24.26 2972
+-74.954 24.26 2940
+-74.828 24.26 2876
+-74.702 24.26 2843
+-74.576 24.26 2803
+-74.45 24.26 2775
+-74.324 24.26 2753
+-74.198 24.26 2737
+-74.072 24.26 2715
+-73.946 24.26 2707
+-73.82 24.26 2709
+-73.694 24.26 2715
+-73.568 24.26 2725
+-73.442 24.26 2739
+-73.316 24.26 2755
+-73.19 24.26 2772
+-73.064 24.26 2791
+-72.938 24.26 2810
+-72.812 24.26 2811
+-72.686 24.26 2832
+-72.56 24.26 2844
+-72.434 24.26 2864
+-72.308 24.26 2884
+-72.182 24.26 2877
+-72.056 24.26 2897
+-71.93 24.26 2861
+-71.804 24.26 2878
+-71.678 24.26 2894
+-71.552 24.26 2910
+-71.426 24.26 2888
+-71.3 24.26 2883
+-71.174 24.26 2897
+-71.048 24.26 2904
+-70.922 24.26 2911
+-70.796 24.26 2923
+-70.67 24.26 2934
+-70.544 24.26 2945
+-70.418 24.26 2924
+-70.292 24.26 2934
+-70.166 24.26 2943
+-70.04 24.26 2912
+-69.914 24.26 2921
+-69.788 24.26 2891
+-69.662 24.26 2889
+-69.536 24.26 2857
+-69.41 24.26 2864
+-69.284 24.26 2825
+-69.158 24.26 2831
+-69.032 24.26 2837
+-68.906 24.26 2842
+-68.78 24.26 2847
+-68.654 24.26 2852
+-68.528 24.26 2857
+-68.402 24.26 2861
+-68.276 24.26 2866
+-68.15 24.26 2870
+-68.024 24.26 2874
+-67.898 24.26 2878
+-67.772 24.26 2881
+-67.646 24.26 2885
+-67.52 24.26 2888
+-67.394 24.26 2892
+-67.268 24.26 2895
+-67.142 24.26 2898
+-67.016 24.26 2901
+-66.89 24.26 2904
+-66.764 24.26 2882
+-66.638 24.26 2885
+-66.512 24.26 2888
+-66.386 24.26 2891
+-66.26 24.26 2894
+-66.134 24.26 2897
+-66.008 24.26 2860
+-65.882 24.26 2864
+-65.756 24.26 2854
+-65.63 24.26 2851
+-65.504 24.26 2822
+-65.378 24.26 2825
+-65.252 24.26 2828
+-65.126 24.26 2831
+-128 24.208 3137
+-127.874 24.208 3053
+-127.748 24.208 3063
+-127.622 24.208 3068
+-127.496 24.208 3064
+-127.37 24.208 3023
+-127.244 24.208 3019
+-127.118 24.208 3016
+-126.992 24.208 3041
+-126.866 24.208 3016
+-126.74 24.208 3012
+-126.614 24.208 2961
+-126.488 24.208 2957
+-126.362 24.208 3027
+-126.236 24.208 2983
+-126.11 24.208 2962
+-125.984 24.208 2862
+-125.858 24.208 2901
+-125.732 24.208 2896
+-125.606 24.208 2890
+-125.48 24.208 2884
+-125.354 24.208 2878
+-125.228 24.208 2871
+-125.102 24.208 2798
+-124.976 24.208 2807
+-124.85 24.208 2800
+-124.724 24.208 2761
+-124.598 24.208 2745
+-124.472 24.208 2725
+-124.346 24.208 2718
+-124.22 24.208 2691
+-124.094 24.208 2683
+-123.968 24.208 2653
+-123.842 24.208 2639
+-123.716 24.208 2615
+-123.59 24.208 2606
+-123.464 24.208 2589
+-123.338 24.208 2588
+-123.212 24.208 2577
+-123.086 24.208 2566
+-122.96 24.208 2555
+-122.834 24.208 2543
+-122.708 24.208 2452
+-122.582 24.208 2440
+-122.456 24.208 2427
+-122.33 24.208 2388
+-122.204 24.208 2374
+-122.078 24.208 2331
+-121.952 24.208 2316
+-121.826 24.208 2300
+-121.7 24.208 2284
+-121.574 24.208 2267
+-121.448 24.208 2249
+-121.322 24.208 2231
+-121.196 24.208 2212
+-121.07 24.208 2193
+-120.944 24.208 2172
+-120.818 24.208 2125
+-120.692 24.208 2106
+-120.566 24.208 2087
+-120.44 24.208 2069
+-120.314 24.208 2045
+-120.188 24.208 2029
+-120.062 24.208 2014
+-119.936 24.208 1987
+-119.81 24.208 1977
+-119.684 24.208 1956
+-119.558 24.208 1951
+-119.432 24.208 1940
+-119.306 24.208 1930
+-119.18 24.208 1941
+-119.054 24.208 1950
+-118.928 24.208 1962
+-118.802 24.208 1977
+-118.676 24.208 1995
+-118.55 24.208 2015
+-118.424 24.208 2061
+-118.298 24.208 2088
+-118.172 24.208 2048
+-118.046 24.208 2079
+-117.92 24.208 2106
+-117.794 24.208 2127
+-117.668 24.208 2163
+-117.542 24.208 2179
+-117.416 24.208 2197
+-117.29 24.208 2223
+-117.164 24.208 2185
+-117.038 24.208 2241
+-116.912 24.208 2262
+-116.786 24.208 2282
+-116.66 24.208 2300
+-116.534 24.208 2317
+-116.408 24.208 2332
+-116.282 24.208 2346
+-116.156 24.208 2367
+-116.03 24.208 2379
+-115.904 24.208 2390
+-115.778 24.208 2358
+-115.652 24.208 2365
+-115.526 24.208 2371
+-115.4 24.208 2376
+-115.274 24.208 2379
+-115.148 24.208 2380
+-115.022 24.208 2438
+-114.896 24.208 2417
+-114.77 24.208 2413
+-114.644 24.208 2408
+-114.518 24.208 2422
+-114.392 24.208 2393
+-114.266 24.208 2386
+-114.14 24.208 2372
+-114.014 24.208 2354
+-113.888 24.208 2305
+-113.762 24.208 2354
+-113.636 24.208 2321
+-113.51 24.208 2284
+-113.384 24.208 2242
+-113.258 24.208 2196
+-113.132 24.208 2143
+-113.006 24.208 2085
+-112.88 24.208 2019
+-112.754 24.208 1946
+-112.628 24.208 1864
+-112.502 24.208 1775
+-112.376 24.208 1679
+-112.25 24.208 1579
+-112.124 24.208 1480
+-111.998 24.208 1390
+-111.872 24.208 1324
+-111.746 24.208 1300
+-111.62 24.208 1330
+-111.494 24.208 1420
+-111.368 24.208 1524
+-111.242 24.208 1632
+-111.116 24.208 1717
+-110.99 24.208 1781
+-110.864 24.208 1833
+-110.738 24.208 1882
+-110.612 24.208 1932
+-110.486 24.208 1985
+-110.36 24.208 2040
+-110.234 24.208 2094
+-110.108 24.208 2146
+-109.982 24.208 2196
+-109.856 24.208 2242
+-109.73 24.208 2283
+-109.604 24.208 2321
+-109.478 24.208 2355
+-109.352 24.208 2425
+-109.226 24.208 2454
+-109.1 24.208 2480
+-108.974 24.208 2503
+-108.848 24.208 2524
+-108.722 24.208 2544
+-108.596 24.208 2561
+-108.47 24.208 2577
+-108.344 24.208 2592
+-108.218 24.208 2605
+-108.092 24.208 2618
+-107.966 24.208 2630
+-107.84 24.208 2641
+-107.714 24.208 2651
+-107.588 24.208 2661
+-107.462 24.208 2712
+-107.336 24.208 2740
+-107.21 24.208 2749
+-107.084 24.208 2757
+-106.958 24.208 2819
+-106.832 24.208 2827
+-106.706 24.208 2836
+-106.58 24.208 2843
+-106.454 24.208 2851
+-106.328 24.208 2858
+-106.202 24.208 2864
+-106.076 24.208 2871
+-105.95 24.208 2896
+-105.824 24.208 2992
+-105.698 24.208 2997
+-105.572 24.208 2988
+-105.446 24.208 2993
+-105.32 24.208 3026
+-105.194 24.208 3039
+-105.068 24.208 3043
+-104.942 24.208 3047
+-104.816 24.208 3155
+-104.69 24.208 3159
+-104.564 24.208 3162
+-104.438 24.208 3104
+-104.312 24.208 3118
+-104.186 24.208 3121
+-104.06 24.208 3123
+-103.934 24.208 3113
+-103.808 24.208 3120
+-103.682 24.208 3128
+-103.556 24.208 3211
+-103.43 24.208 3194
+-103.304 24.208 3085
+-103.178 24.208 3086
+-103.052 24.208 3087
+-102.926 24.208 3109
+-102.8 24.208 3110
+-102.674 24.208 3112
+-102.548 24.208 3144
+-102.422 24.208 3145
+-102.296 24.208 3146
+-102.17 24.208 3094
+-102.044 24.208 3154
+-101.918 24.208 3156
+-101.792 24.208 3157
+-101.666 24.208 3159
+-101.54 24.208 3160
+-101.414 24.208 3157
+-101.288 24.208 3159
+-101.162 24.208 3183
+-101.036 24.208 3185
+-100.91 24.208 3186
+-100.784 24.208 3188
+-100.658 24.208 3130
+-100.532 24.208 3263
+-100.406 24.208 3258
+-100.28 24.208 3282
+-100.154 24.208 3284
+-100.028 24.208 3401
+-99.902 24.208 3402
+-99.776 24.208 3404
+-99.65 24.208 3446
+-99.524 24.208 3429
+-99.398 24.208 3432
+-99.272 24.208 3422
+-99.146 24.208 3441
+-99.02 24.208 3427
+-98.894 24.208 3453
+-98.768 24.208 3455
+-98.642 24.208 3447
+-98.516 24.208 3333
+-98.39 24.208 3378
+-98.264 24.208 3378
+-98.138 24.208 3358
+-98.012 24.208 3296
+-97.886 24.208 3225
+-97.76 24.208 3260
+-97.634 24.208 3089
+-97.508 24.208 3074
+-97.382 24.208 3036
+-97.256 24.208 3038
+-97.13 24.208 3055
+-97.004 24.208 3126
+-96.878 24.208 3132
+-96.752 24.208 3138
+-96.626 24.208 3259
+-96.5 24.208 3270
+-96.374 24.208 3381
+-96.248 24.208 3383
+-96.122 24.208 3433
+-95.996 24.208 3527
+-95.87 24.208 3526
+-95.744 24.208 3525
+-95.618 24.208 3524
+-95.492 24.208 3523
+-95.366 24.208 3522
+-95.24 24.208 3521
+-95.114 24.208 3520
+-94.988 24.208 3518
+-94.862 24.208 3521
+-94.736 24.208 3520
+-94.61 24.208 3519
+-94.484 24.208 3519
+-94.358 24.208 3518
+-94.232 24.208 3517
+-94.106 24.208 3516
+-93.98 24.208 3610
+-93.854 24.208 3608
+-93.728 24.208 3605
+-93.602 24.208 3603
+-93.476 24.208 3603
+-93.35 24.208 3654
+-93.224 24.208 3652
+-93.098 24.208 3649
+-92.972 24.208 3672
+-92.846 24.208 3668
+-92.72 24.208 3638
+-92.594 24.208 3635
+-92.468 24.208 3688
+-92.342 24.208 3685
+-92.216 24.208 3682
+-92.09 24.208 3679
+-91.964 24.208 3676
+-91.838 24.208 3672
+-91.712 24.208 3698
+-91.586 24.208 3694
+-91.46 24.208 3690
+-91.334 24.208 3685
+-91.208 24.208 3681
+-91.082 24.208 3676
+-90.956 24.208 3671
+-90.83 24.208 3665
+-90.704 24.208 3660
+-90.578 24.208 3625
+-90.452 24.208 3621
+-90.326 24.208 3616
+-90.2 24.208 3611
+-90.074 24.208 3616
+-89.948 24.208 3608
+-89.822 24.208 3638
+-89.696 24.208 3633
+-89.57 24.208 3627
+-89.444 24.208 3621
+-89.318 24.208 3623
+-89.192 24.208 3617
+-89.066 24.208 3616
+-88.94 24.208 3622
+-88.814 24.208 3615
+-88.688 24.208 3606
+-88.562 24.208 3591
+-88.436 24.208 3604
+-88.31 24.208 3594
+-88.184 24.208 3619
+-88.058 24.208 3606
+-87.932 24.208 3598
+-87.806 24.208 3594
+-87.68 24.208 3589
+-87.554 24.208 3585
+-87.428 24.208 3581
+-87.302 24.208 3580
+-87.176 24.208 3577
+-87.05 24.208 3522
+-86.924 24.208 3433
+-86.798 24.208 3381
+-86.672 24.208 3492
+-86.546 24.208 3658
+-86.42 24.208 3773
+-86.294 24.208 3869
+-86.168 24.208 3958
+-86.042 24.208 4049
+-85.916 24.208 4103
+-85.79 24.208 4177
+-85.664 24.208 4284
+-85.538 24.208 4411
+-85.412 24.208 4487
+-85.286 24.208 4557
+-85.16 24.208 4632
+-85.034 24.208 4731
+-84.908 24.208 4872
+-84.782 24.208 4985
+-84.656 24.208 5082
+-84.53 24.208 5132
+-84.404 24.208 5168
+-84.278 24.208 5168
+-84.152 24.208 5243
+-84.026 24.208 5343
+-83.9 24.208 5396
+-83.774 24.208 5491
+-83.648 24.208 5543
+-83.522 24.208 5583
+-83.396 24.208 5638
+-83.27 24.208 5670
+-83.144 24.208 5727
+-83.018 24.208 5762
+-82.892 24.208 5814
+-82.766 24.208 5838
+-82.64 24.208 5842
+-82.514 24.208 5829
+-82.388 24.208 5853
+-82.262 24.208 5863
+-82.136 24.208 5821
+-82.01 24.208 5814
+-81.884 24.208 5808
+-81.758 24.208 5823
+-81.632 24.208 5809
+-81.506 24.208 5793
+-81.38 24.208 5757
+-81.254 24.208 5722
+-81.128 24.208 5683
+-81.002 24.208 5620
+-80.876 24.208 5584
+-80.75 24.208 5526
+-80.624 24.208 5455
+-80.498 24.208 5386
+-80.372 24.208 5383
+-80.246 24.208 5328
+-80.12 24.208 5288
+-79.994 24.208 5188
+-79.868 24.208 5094
+-79.742 24.208 5067
+-79.616 24.208 5013
+-79.49 24.208 4957
+-79.364 24.208 4922
+-79.238 24.208 4855
+-79.112 24.208 4799
+-78.986 24.208 4662
+-78.86 24.208 4549
+-78.734 24.208 4482
+-78.608 24.208 4424
+-78.482 24.208 4314
+-78.356 24.208 4210
+-78.23 24.208 4061
+-78.104 24.208 3934
+-77.978 24.208 3772
+-77.852 24.208 3688
+-77.726 24.208 3603
+-77.6 24.208 3489
+-77.474 24.208 3337
+-77.348 24.208 3241
+-77.222 24.208 3180
+-77.096 24.208 3147
+-76.97 24.208 3085
+-76.844 24.208 2961
+-76.718 24.208 2799
+-76.592 24.208 2695
+-76.466 24.208 2692
+-76.34 24.208 2777
+-76.214 24.208 2873
+-76.088 24.208 2952
+-75.962 24.208 2990
+-75.836 24.208 3024
+-75.71 24.208 3047
+-75.584 24.208 3061
+-75.458 24.208 3063
+-75.332 24.208 3057
+-75.206 24.208 3015
+-75.08 24.208 2995
+-74.954 24.208 2971
+-74.828 24.208 2945
+-74.702 24.208 2888
+-74.576 24.208 2863
+-74.45 24.208 2831
+-74.324 24.208 2812
+-74.198 24.208 2797
+-74.072 24.208 2787
+-73.946 24.208 2769
+-73.82 24.208 2765
+-73.694 24.208 2768
+-73.568 24.208 2775
+-73.442 24.208 2784
+-73.316 24.208 2796
+-73.19 24.208 2810
+-73.064 24.208 2825
+-72.938 24.208 2840
+-72.812 24.208 2857
+-72.686 24.208 2856
+-72.56 24.208 2874
+-72.434 24.208 2883
+-72.308 24.208 2900
+-72.182 24.208 2917
+-72.056 24.208 2909
+-71.93 24.208 2927
+-71.804 24.208 2888
+-71.678 24.208 2903
+-71.552 24.208 2917
+-71.426 24.208 2931
+-71.3 24.208 2907
+-71.174 24.208 2901
+-71.048 24.208 2914
+-70.922 24.208 2920
+-70.796 24.208 2925
+-70.67 24.208 2937
+-70.544 24.208 2947
+-70.418 24.208 2957
+-70.292 24.208 2935
+-70.166 24.208 2944
+-70.04 24.208 2953
+-69.914 24.208 2921
+-69.788 24.208 2930
+-69.662 24.208 2899
+-69.536 24.208 2897
+-69.41 24.208 2864
+-69.284 24.208 2871
+-69.158 24.208 2831
+-69.032 24.208 2837
+-68.906 24.208 2842
+-68.78 24.208 2847
+-68.654 24.208 2852
+-68.528 24.208 2857
+-68.402 24.208 2861
+-68.276 24.208 2865
+-68.15 24.208 2869
+-68.024 24.208 2873
+-67.898 24.208 2877
+-67.772 24.208 2881
+-67.646 24.208 2884
+-67.52 24.208 2888
+-67.394 24.208 2891
+-67.268 24.208 2894
+-67.142 24.208 2897
+-67.016 24.208 2900
+-66.89 24.208 2903
+-66.764 24.208 2906
+-66.638 24.208 2884
+-66.512 24.208 2887
+-66.386 24.208 2890
+-66.26 24.208 2893
+-66.134 24.208 2896
+-66.008 24.208 2899
+-65.882 24.208 2863
+-65.756 24.208 2866
+-65.63 24.208 2856
+-65.504 24.208 2853
+-65.378 24.208 2824
+-65.252 24.208 2827
+-65.126 24.208 2829
+-128 24.156 3055
+-127.874 24.156 3065
+-127.748 24.156 3070
+-127.622 24.156 3067
+-127.496 24.156 3025
+-127.37 24.156 3022
+-127.244 24.156 3018
+-127.118 24.156 3043
+-126.992 24.156 3019
+-126.866 24.156 3015
+-126.74 24.156 2964
+-126.614 24.156 2960
+-126.488 24.156 3031
+-126.362 24.156 2986
+-126.236 24.156 2965
+-126.11 24.156 2865
+-125.984 24.156 2905
+-125.858 24.156 2900
+-125.732 24.156 2894
+-125.606 24.156 2889
+-125.48 24.156 2883
+-125.354 24.156 2876
+-125.228 24.156 2803
+-125.102 24.156 2813
+-124.976 24.156 2806
+-124.85 24.156 2767
+-124.724 24.156 2751
+-124.598 24.156 2732
+-124.472 24.156 2725
+-124.346 24.156 2698
+-124.22 24.156 2691
+-124.094 24.156 2662
+-123.968 24.156 2647
+-123.842 24.156 2625
+-123.716 24.156 2616
+-123.59 24.156 2599
+-123.464 24.156 2599
+-123.338 24.156 2589
+-123.212 24.156 2579
+-123.086 24.156 2569
+-122.96 24.156 2557
+-122.834 24.156 2467
+-122.708 24.156 2455
+-122.582 24.156 2443
+-122.456 24.156 2405
+-122.33 24.156 2392
+-122.204 24.156 2351
+-122.078 24.156 2337
+-121.952 24.156 2323
+-121.826 24.156 2308
+-121.7 24.156 2293
+-121.574 24.156 2277
+-121.448 24.156 2260
+-121.322 24.156 2243
+-121.196 24.156 2226
+-121.07 24.156 2207
+-120.944 24.156 2162
+-120.818 24.156 2145
+-120.692 24.156 2127
+-120.566 24.156 2111
+-120.44 24.156 2089
+-120.314 24.156 2074
+-120.188 24.156 2060
+-120.062 24.156 2032
+-119.936 24.156 2023
+-119.81 24.156 2001
+-119.684 24.156 1994
+-119.558 24.156 1982
+-119.432 24.156 1969
+-119.306 24.156 1977
+-119.18 24.156 1982
+-119.054 24.156 1990
+-118.928 24.156 2001
+-118.802 24.156 2014
+-118.676 24.156 2031
+-118.55 24.156 2073
+-118.424 24.156 2096
+-118.298 24.156 2051
+-118.172 24.156 2079
+-118.046 24.156 2104
+-117.92 24.156 2122
+-117.794 24.156 2156
+-117.668 24.156 2169
+-117.542 24.156 2186
+-117.416 24.156 2210
+-117.29 24.156 2173
+-117.164 24.156 2228
+-117.038 24.156 2249
+-116.912 24.156 2268
+-116.786 24.156 2286
+-116.66 24.156 2303
+-116.534 24.156 2319
+-116.408 24.156 2333
+-116.282 24.156 2353
+-116.156 24.156 2366
+-116.03 24.156 2378
+-115.904 24.156 2346
+-115.778 24.156 2354
+-115.652 24.156 2361
+-115.526 24.156 2366
+-115.4 24.156 2370
+-115.274 24.156 2373
+-115.148 24.156 2432
+-115.022 24.156 2411
+-114.896 24.156 2409
+-114.77 24.156 2405
+-114.644 24.156 2420
+-114.518 24.156 2393
+-114.392 24.156 2389
+-114.266 24.156 2376
+-114.14 24.156 2361
+-114.014 24.156 2313
+-113.888 24.156 2293
+-113.762 24.156 2268
+-113.636 24.156 2307
+-113.51 24.156 2270
+-113.384 24.156 2227
+-113.258 24.156 2180
+-113.132 24.156 2127
+-113.006 24.156 2067
+-112.88 24.156 2000
+-112.754 24.156 1926
+-112.628 24.156 1844
+-112.502 24.156 1754
+-112.376 24.156 1656
+-112.25 24.156 1555
+-112.124 24.156 1454
+-111.998 24.156 1363
+-111.872 24.156 1296
+-111.746 24.156 1271
+-111.62 24.156 1299
+-111.494 24.156 1379
+-111.368 24.156 1489
+-111.242 24.156 1602
+-111.116 24.156 1698
+-110.99 24.156 1775
+-110.864 24.156 1838
+-110.738 24.156 1893
+-110.612 24.156 1945
+-110.486 24.156 1998
+-110.36 24.156 2050
+-110.234 24.156 2101
+-110.108 24.156 2150
+-109.982 24.156 2197
+-109.856 24.156 2241
+-109.73 24.156 2281
+-109.604 24.156 2318
+-109.478 24.156 2351
+-109.352 24.156 2381
+-109.226 24.156 2450
+-109.1 24.156 2476
+-108.974 24.156 2499
+-108.848 24.156 2520
+-108.722 24.156 2540
+-108.596 24.156 2557
+-108.47 24.156 2574
+-108.344 24.156 2589
+-108.218 24.156 2602
+-108.092 24.156 2615
+-107.966 24.156 2627
+-107.84 24.156 2638
+-107.714 24.156 2649
+-107.588 24.156 2659
+-107.462 24.156 2668
+-107.336 24.156 2720
+-107.21 24.156 2747
+-107.084 24.156 2755
+-106.958 24.156 2764
+-106.832 24.156 2826
+-106.706 24.156 2834
+-106.58 24.156 2842
+-106.454 24.156 2849
+-106.328 24.156 2856
+-106.202 24.156 2863
+-106.076 24.156 2869
+-105.95 24.156 2875
+-105.824 24.156 2900
+-105.698 24.156 2997
+-105.572 24.156 3002
+-105.446 24.156 2993
+-105.32 24.156 2997
+-105.194 24.156 3030
+-105.068 24.156 3043
+-104.942 24.156 3047
+-104.816 24.156 3051
+-104.69 24.156 3161
+-104.564 24.156 3164
+-104.438 24.156 3166
+-104.312 24.156 3108
+-104.186 24.156 3123
+-104.06 24.156 3125
+-103.934 24.156 3127
+-103.808 24.156 3117
+-103.682 24.156 3123
+-103.556 24.156 3131
+-103.43 24.156 3215
+-103.304 24.156 3197
+-103.178 24.156 3088
+-103.052 24.156 3088
+-102.926 24.156 3089
+-102.8 24.156 3112
+-102.674 24.156 3113
+-102.548 24.156 3114
+-102.422 24.156 3147
+-102.296 24.156 3148
+-102.17 24.156 3149
+-102.044 24.156 3097
+-101.918 24.156 3158
+-101.792 24.156 3159
+-101.666 24.156 3160
+-101.54 24.156 3162
+-101.414 24.156 3163
+-101.288 24.156 3160
+-101.162 24.156 3161
+-101.036 24.156 3186
+-100.91 24.156 3187
+-100.784 24.156 3189
+-100.658 24.156 3191
+-100.532 24.156 3132
+-100.406 24.156 3267
+-100.28 24.156 3261
+-100.154 24.156 3285
+-100.028 24.156 3287
+-99.902 24.156 3404
+-99.776 24.156 3406
+-99.65 24.156 3407
+-99.524 24.156 3450
+-99.398 24.156 3431
+-99.272 24.156 3435
+-99.146 24.156 3425
+-99.02 24.156 3444
+-98.894 24.156 3430
+-98.768 24.156 3456
+-98.642 24.156 3459
+-98.516 24.156 3345
+-98.39 24.156 3334
+-98.264 24.156 3379
+-98.138 24.156 3379
+-98.012 24.156 3296
+-97.886 24.156 3251
+-97.76 24.156 3291
+-97.634 24.156 3102
+-97.508 24.156 3094
+-97.382 24.156 3055
+-97.256 24.156 3055
+-97.13 24.156 3056
+-97.004 24.156 3126
+-96.878 24.156 3132
+-96.752 24.156 3138
+-96.626 24.156 3259
+-96.5 24.156 3270
+-96.374 24.156 3381
+-96.248 24.156 3383
+-96.122 24.156 3444
+-95.996 24.156 3527
+-95.87 24.156 3526
+-95.744 24.156 3525
+-95.618 24.156 3524
+-95.492 24.156 3522
+-95.366 24.156 3521
+-95.24 24.156 3520
+-95.114 24.156 3519
+-94.988 24.156 3521
+-94.862 24.156 3521
+-94.736 24.156 3520
+-94.61 24.156 3519
+-94.484 24.156 3518
+-94.358 24.156 3517
+-94.232 24.156 3517
+-94.106 24.156 3611
+-93.98 24.156 3609
+-93.854 24.156 3606
+-93.728 24.156 3604
+-93.602 24.156 3604
+-93.476 24.156 3656
+-93.35 24.156 3653
+-93.224 24.156 3650
+-93.098 24.156 3674
+-92.972 24.156 3670
+-92.846 24.156 3640
+-92.72 24.156 3637
+-92.594 24.156 3690
+-92.468 24.156 3687
+-92.342 24.156 3684
+-92.216 24.156 3681
+-92.09 24.156 3678
+-91.964 24.156 3675
+-91.838 24.156 3701
+-91.712 24.156 3697
+-91.586 24.156 3693
+-91.46 24.156 3689
+-91.334 24.156 3684
+-91.208 24.156 3680
+-91.082 24.156 3675
+-90.956 24.156 3670
+-90.83 24.156 3665
+-90.704 24.156 3630
+-90.578 24.156 3626
+-90.452 24.156 3621
+-90.326 24.156 3616
+-90.2 24.156 3622
+-90.074 24.156 3614
+-89.948 24.156 3646
+-89.822 24.156 3641
+-89.696 24.156 3635
+-89.57 24.156 3630
+-89.444 24.156 3633
+-89.318 24.156 3628
+-89.192 24.156 3628
+-89.066 24.156 3636
+-88.94 24.156 3629
+-88.814 24.156 3622
+-88.688 24.156 3609
+-88.562 24.156 3624
+-88.436 24.156 3617
+-88.31 24.156 3646
+-88.184 24.156 3636
+-88.058 24.156 3630
+-87.932 24.156 3628
+-87.806 24.156 3623
+-87.68 24.156 3617
+-87.554 24.156 3610
+-87.428 24.156 3609
+-87.302 24.156 3615
+-87.176 24.156 3572
+-87.05 24.156 3491
+-86.924 24.156 3355
+-86.798 24.156 3238
+-86.672 24.156 3404
+-86.546 24.156 3613
+-86.42 24.156 3715
+-86.294 24.156 3802
+-86.168 24.156 3895
+-86.042 24.156 3987
+-85.916 24.156 4039
+-85.79 24.156 4117
+-85.664 24.156 4225
+-85.538 24.156 4362
+-85.412 24.156 4449
+-85.286 24.156 4501
+-85.16 24.156 4570
+-85.034 24.156 4652
+-84.908 24.156 4796
+-84.782 24.156 4920
+-84.656 24.156 5013
+-84.53 24.156 5085
+-84.404 24.156 5035
+-84.278 24.156 5189
+-84.152 24.156 5208
+-84.026 24.156 5302
+-83.9 24.156 5373
+-83.774 24.156 5459
+-83.648 24.156 5517
+-83.522 24.156 5565
+-83.396 24.156 5600
+-83.27 24.156 5635
+-83.144 24.156 5662
+-83.018 24.156 5709
+-82.892 24.156 5752
+-82.766 24.156 5775
+-82.64 24.156 5775
+-82.514 24.156 5790
+-82.388 24.156 5805
+-82.262 24.156 5792
+-82.136 24.156 5802
+-82.01 24.156 5776
+-81.884 24.156 5731
+-81.758 24.156 5772
+-81.632 24.156 5700
+-81.506 24.156 5744
+-81.38 24.156 5695
+-81.254 24.156 5638
+-81.128 24.156 5617
+-81.002 24.156 5592
+-80.876 24.156 5549
+-80.75 24.156 5492
+-80.624 24.156 5437
+-80.498 24.156 5384
+-80.372 24.156 5355
+-80.246 24.156 5310
+-80.12 24.156 5252
+-79.994 24.156 5114
+-79.868 24.156 4984
+-79.742 24.156 5005
+-79.616 24.156 4924
+-79.49 24.156 4932
+-79.364 24.156 4907
+-79.238 24.156 4857
+-79.112 24.156 4768
+-78.986 24.156 4608
+-78.86 24.156 4411
+-78.734 24.156 4292
+-78.608 24.156 4304
+-78.482 24.156 4274
+-78.356 24.156 4196
+-78.23 24.156 4108
+-78.104 24.156 3950
+-77.978 24.156 3785
+-77.852 24.156 3676
+-77.726 24.156 3562
+-77.6 24.156 3422
+-77.474 24.156 3289
+-77.348 24.156 3188
+-77.222 24.156 3158
+-77.096 24.156 3119
+-76.97 24.156 3024
+-76.844 24.156 2817
+-76.718 24.156 2541
+-76.592 24.156 2396
+-76.466 24.156 2469
+-76.34 24.156 2637
+-76.214 24.156 2789
+-76.088 24.156 2897
+-75.962 24.156 2976
+-75.836 24.156 3014
+-75.71 24.156 3035
+-75.584 24.156 3053
+-75.458 24.156 3063
+-75.332 24.156 3063
+-75.206 24.156 3057
+-75.08 24.156 3014
+-74.954 24.156 2996
+-74.828 24.156 2976
+-74.702 24.156 2955
+-74.576 24.156 2904
+-74.45 24.156 2885
+-74.324 24.156 2860
+-74.198 24.156 2847
+-74.072 24.156 2838
+-73.946 24.156 2832
+-73.82 24.156 2817
+-73.694 24.156 2814
+-73.568 24.156 2818
+-73.442 24.156 2825
+-73.316 24.156 2834
+-73.19 24.156 2844
+-73.064 24.156 2856
+-72.938 24.156 2869
+-72.812 24.156 2882
+-72.686 24.156 2896
+-72.56 24.156 2895
+-72.434 24.156 2911
+-72.308 24.156 2916
+-72.182 24.156 2932
+-72.056 24.156 2946
+-71.93 24.156 2938
+-71.804 24.156 2953
+-71.678 24.156 2912
+-71.552 24.156 2925
+-71.426 24.156 2938
+-71.3 24.156 2950
+-71.174 24.156 2924
+-71.048 24.156 2918
+-70.922 24.156 2930
+-70.796 24.156 2935
+-70.67 24.156 2939
+-70.544 24.156 2949
+-70.418 24.156 2959
+-70.292 24.156 2968
+-70.166 24.156 2946
+-70.04 24.156 2954
+-69.914 24.156 2962
+-69.788 24.156 2930
+-69.662 24.156 2938
+-69.536 24.156 2906
+-69.41 24.156 2904
+-69.284 24.156 2871
+-69.158 24.156 2877
+-69.032 24.156 2837
+-68.906 24.156 2842
+-68.78 24.156 2847
+-68.654 24.156 2852
+-68.528 24.156 2856
+-68.402 24.156 2861
+-68.276 24.156 2865
+-68.15 24.156 2869
+-68.024 24.156 2873
+-67.898 24.156 2877
+-67.772 24.156 2880
+-67.646 24.156 2884
+-67.52 24.156 2887
+-67.394 24.156 2891
+-67.268 24.156 2894
+-67.142 24.156 2897
+-67.016 24.156 2900
+-66.89 24.156 2902
+-66.764 24.156 2905
+-66.638 24.156 2908
+-66.512 24.156 2886
+-66.386 24.156 2889
+-66.26 24.156 2892
+-66.134 24.156 2895
+-66.008 24.156 2898
+-65.882 24.156 2900
+-65.756 24.156 2865
+-65.63 24.156 2868
+-65.504 24.156 2858
+-65.378 24.156 2855
+-65.252 24.156 2825
+-65.126 24.156 2828
+-128 24.104 3067
+-127.874 24.104 3072
+-127.748 24.104 3069
+-127.622 24.104 3027
+-127.496 24.104 3024
+-127.37 24.104 3020
+-127.244 24.104 3046
+-127.118 24.104 3021
+-126.992 24.104 3017
+-126.866 24.104 2967
+-126.74 24.104 2962
+-126.614 24.104 3034
+-126.488 24.104 2990
+-126.362 24.104 2969
+-126.236 24.104 2868
+-126.11 24.104 2909
+-125.984 24.104 2904
+-125.858 24.104 2899
+-125.732 24.104 2893
+-125.606 24.104 2887
+-125.48 24.104 2882
+-125.354 24.104 2808
+-125.228 24.104 2818
+-125.102 24.104 2812
+-124.976 24.104 2773
+-124.85 24.104 2757
+-124.724 24.104 2738
+-124.598 24.104 2731
+-124.472 24.104 2706
+-124.346 24.104 2698
+-124.22 24.104 2669
+-124.094 24.104 2655
+-123.968 24.104 2633
+-123.842 24.104 2625
+-123.716 24.104 2609
+-123.59 24.104 2610
+-123.464 24.104 2601
+-123.338 24.104 2591
+-123.212 24.104 2581
+-123.086 24.104 2571
+-122.96 24.104 2480
+-122.834 24.104 2469
+-122.708 24.104 2458
+-122.582 24.104 2420
+-122.456 24.104 2409
+-122.33 24.104 2368
+-122.204 24.104 2356
+-122.078 24.104 2343
+-121.952 24.104 2330
+-121.826 24.104 2316
+-121.7 24.104 2301
+-121.574 24.104 2287
+-121.448 24.104 2271
+-121.322 24.104 2256
+-121.196 24.104 2238
+-121.07 24.104 2194
+-120.944 24.104 2179
+-120.818 24.104 2164
+-120.692 24.104 2148
+-120.566 24.104 2129
+-120.44 24.104 2115
+-120.314 24.104 2102
+-120.188 24.104 2073
+-120.062 24.104 2064
+-119.936 24.104 2041
+-119.81 24.104 2034
+-119.684 24.104 2021
+-119.558 24.104 2005
+-119.432 24.104 2011
+-119.306 24.104 2014
+-119.18 24.104 2019
+-119.054 24.104 2026
+-118.928 24.104 2036
+-118.802 24.104 2049
+-118.676 24.104 2089
+-118.55 24.104 2108
+-118.424 24.104 2058
+-118.298 24.104 2084
+-118.172 24.104 2105
+-118.046 24.104 2120
+-117.92 24.104 2152
+-117.794 24.104 2163
+-117.668 24.104 2178
+-117.542 24.104 2201
+-117.416 24.104 2162
+-117.29 24.104 2217
+-117.164 24.104 2237
+-117.038 24.104 2256
+-116.912 24.104 2273
+-116.786 24.104 2290
+-116.66 24.104 2306
+-116.534 24.104 2320
+-116.408 24.104 2341
+-116.282 24.104 2354
+-116.156 24.104 2366
+-116.03 24.104 2335
+-115.904 24.104 2343
+-115.778 24.104 2351
+-115.652 24.104 2357
+-115.526 24.104 2362
+-115.4 24.104 2365
+-115.274 24.104 2425
+-115.148 24.104 2406
+-115.022 24.104 2405
+-114.896 24.104 2402
+-114.77 24.104 2419
+-114.644 24.104 2393
+-114.518 24.104 2390
+-114.392 24.104 2380
+-114.266 24.104 2367
+-114.14 24.104 2321
+-114.014 24.104 2303
+-113.888 24.104 2282
+-113.762 24.104 2257
+-113.636 24.104 2229
+-113.51 24.104 2259
+-113.384 24.104 2216
+-113.258 24.104 2169
+-113.132 24.104 2116
+-113.006 24.104 2056
+-112.88 24.104 1990
+-112.754 24.104 1917
+-112.628 24.104 1836
+-112.502 24.104 1748
+-112.376 24.104 1654
+-112.25 24.104 1557
+-112.124 24.104 1462
+-111.998 24.104 1378
+-111.872 24.104 1318
+-111.746 24.104 1296
+-111.62 24.104 1321
+-111.494 24.104 1392
+-111.368 24.104 1492
+-111.242 24.104 1598
+-111.116 24.104 1694
+-110.99 24.104 1775
+-110.864 24.104 1844
+-110.738 24.104 1903
+-110.612 24.104 1958
+-110.486 24.104 2010
+-110.36 24.104 2060
+-110.234 24.104 2109
+-110.108 24.104 2156
+-109.982 24.104 2200
+-109.856 24.104 2242
+-109.73 24.104 2280
+-109.604 24.104 2316
+-109.478 24.104 2348
+-109.352 24.104 2378
+-109.226 24.104 2405
+-109.1 24.104 2472
+-108.974 24.104 2496
+-108.848 24.104 2517
+-108.722 24.104 2536
+-108.596 24.104 2554
+-108.47 24.104 2571
+-108.344 24.104 2586
+-108.218 24.104 2600
+-108.092 24.104 2613
+-107.966 24.104 2625
+-107.84 24.104 2636
+-107.714 24.104 2646
+-107.588 24.104 2656
+-107.462 24.104 2666
+-107.336 24.104 2674
+-107.21 24.104 2726
+-107.084 24.104 2754
+-106.958 24.104 2762
+-106.832 24.104 2770
+-106.706 24.104 2832
+-106.58 24.104 2840
+-106.454 24.104 2847
+-106.328 24.104 2854
+-106.202 24.104 2861
+-106.076 24.104 2867
+-105.95 24.104 2873
+-105.824 24.104 2879
+-105.698 24.104 2904
+-105.572 24.104 3003
+-105.446 24.104 3007
+-105.32 24.104 2998
+-105.194 24.104 3001
+-105.068 24.104 3035
+-104.942 24.104 3048
+-104.816 24.104 3051
+-104.69 24.104 3055
+-104.564 24.104 3165
+-104.438 24.104 3168
+-104.312 24.104 3171
+-104.186 24.104 3112
+-104.06 24.104 3127
+-103.934 24.104 3129
+-103.808 24.104 3131
+-103.682 24.104 3120
+-103.556 24.104 3127
+-103.43 24.104 3135
+-103.304 24.104 3219
+-103.178 24.104 3201
+-103.052 24.104 3090
+-102.926 24.104 3091
+-102.8 24.104 3092
+-102.674 24.104 3115
+-102.548 24.104 3116
+-102.422 24.104 3117
+-102.296 24.104 3150
+-102.17 24.104 3151
+-102.044 24.104 3152
+-101.918 24.104 3099
+-101.792 24.104 3161
+-101.666 24.104 3162
+-101.54 24.104 3163
+-101.414 24.104 3165
+-101.288 24.104 3166
+-101.162 24.104 3163
+-101.036 24.104 3164
+-100.91 24.104 3189
+-100.784 24.104 3190
+-100.658 24.104 3192
+-100.532 24.104 3193
+-100.406 24.104 3134
+-100.28 24.104 3270
+-100.154 24.104 3264
+-100.028 24.104 3288
+-99.902 24.104 3290
+-99.776 24.104 3408
+-99.65 24.104 3409
+-99.524 24.104 3411
+-99.398 24.104 3453
+-99.272 24.104 3436
+-99.146 24.104 3439
+-99.02 24.104 3428
+-98.894 24.104 3447
+-98.768 24.104 3433
+-98.642 24.104 3460
+-98.516 24.104 3350
+-98.39 24.104 3346
+-98.264 24.104 3335
+-98.138 24.104 3379
+-98.012 24.104 3313
+-97.886 24.104 3252
+-97.76 24.104 3292
+-97.634 24.104 3103
+-97.508 24.104 3095
+-97.382 24.104 3055
+-97.256 24.104 3056
+-97.13 24.104 3056
+-97.004 24.104 3126
+-96.878 24.104 3132
+-96.752 24.104 3138
+-96.626 24.104 3259
+-96.5 24.104 3270
+-96.374 24.104 3381
+-96.248 24.104 3383
+-96.122 24.104 3444
+-95.996 24.104 3526
+-95.87 24.104 3525
+-95.744 24.104 3524
+-95.618 24.104 3523
+-95.492 24.104 3522
+-95.366 24.104 3521
+-95.24 24.104 3520
+-95.114 24.104 3522
+-94.988 24.104 3521
+-94.862 24.104 3520
+-94.736 24.104 3520
+-94.61 24.104 3519
+-94.484 24.104 3518
+-94.358 24.104 3517
+-94.232 24.104 3612
+-94.106 24.104 3610
+-93.98 24.104 3607
+-93.854 24.104 3605
+-93.728 24.104 3605
+-93.602 24.104 3657
+-93.476 24.104 3654
+-93.35 24.104 3652
+-93.224 24.104 3676
+-93.098 24.104 3672
+-92.972 24.104 3641
+-92.846 24.104 3639
+-92.72 24.104 3692
+-92.594 24.104 3689
+-92.468 24.104 3686
+-92.342 24.104 3683
+-92.216 24.104 3680
+-92.09 24.104 3677
+-91.964 24.104 3704
+-91.838 24.104 3700
+-91.712 24.104 3696
+-91.586 24.104 3692
+-91.46 24.104 3688
+-91.334 24.104 3684
+-91.208 24.104 3679
+-91.082 24.104 3674
+-90.956 24.104 3669
+-90.83 24.104 3634
+-90.704 24.104 3630
+-90.578 24.104 3626
+-90.452 24.104 3621
+-90.326 24.104 3627
+-90.2 24.104 3620
+-90.074 24.104 3653
+-89.948 24.104 3648
+-89.822 24.104 3643
+-89.696 24.104 3638
+-89.57 24.104 3642
+-89.444 24.104 3638
+-89.318 24.104 3639
+-89.192 24.104 3647
+-89.066 24.104 3642
+-88.94 24.104 3636
+-88.814 24.104 3623
+-88.688 24.104 3641
+-88.562 24.104 3635
+-88.436 24.104 3668
+-88.31 24.104 3660
+-88.184 24.104 3656
+-88.058 24.104 3656
+-87.932 24.104 3651
+-87.806 24.104 3645
+-87.68 24.104 3639
+-87.554 24.104 3641
+-87.428 24.104 3657
+-87.302 24.104 3631
+-87.176 24.104 3588
+-87.05 24.104 3524
+-86.924 24.104 3425
+-86.798 24.104 3376
+-86.672 24.104 3487
+-86.546 24.104 3592
+-86.42 24.104 3608
+-86.294 24.104 3716
+-86.168 24.104 3798
+-86.042 24.104 3938
+-85.916 24.104 3995
+-85.79 24.104 4072
+-85.664 24.104 4202
+-85.538 24.104 4282
+-85.412 24.104 4408
+-85.286 24.104 4463
+-85.16 24.104 4520
+-85.034 24.104 4594
+-84.908 24.104 4716
+-84.782 24.104 4861
+-84.656 24.104 4924
+-84.53 24.104 5037
+-84.404 24.104 5106
+-84.278 24.104 5184
+-84.152 24.104 5241
+-84.026 24.104 5299
+-83.9 24.104 5364
+-83.774 24.104 5430
+-83.648 24.104 5481
+-83.522 24.104 5512
+-83.396 24.104 5517
+-83.27 24.104 5590
+-83.144 24.104 5609
+-83.018 24.104 5667
+-82.892 24.104 5720
+-82.766 24.104 5730
+-82.64 24.104 5685
+-82.514 24.104 5711
+-82.388 24.104 5755
+-82.262 24.104 5723
+-82.136 24.104 5700
+-82.01 24.104 5730
+-81.884 24.104 5741
+-81.758 24.104 5749
+-81.632 24.104 5732
+-81.506 24.104 5707
+-81.38 24.104 5625
+-81.254 24.104 5548
+-81.128 24.104 5580
+-81.002 24.104 5568
+-80.876 24.104 5512
+-80.75 24.104 5414
+-80.624 24.104 5400
+-80.498 24.104 5320
+-80.372 24.104 5294
+-80.246 24.104 5277
+-80.12 24.104 5227
+-79.994 24.104 5134
+-79.868 24.104 5050
+-79.742 24.104 4945
+-79.616 24.104 4816
+-79.49 24.104 4890
+-79.364 24.104 4909
+-79.238 24.104 4857
+-79.112 24.104 4741
+-78.986 24.104 4547
+-78.86 24.104 4309
+-78.734 24.104 4168
+-78.608 24.104 4227
+-78.482 24.104 4278
+-78.356 24.104 4221
+-78.23 24.104 4109
+-78.104 24.104 3894
+-77.978 24.104 3778
+-77.852 24.104 3655
+-77.726 24.104 3507
+-77.6 24.104 3333
+-77.474 24.104 3150
+-77.348 24.104 3059
+-77.222 24.104 3077
+-77.096 24.104 3084
+-76.97 24.104 2978
+-76.844 24.104 2733
+-76.718 24.104 2404
+-76.592 24.104 2249
+-76.466 24.104 2362
+-76.34 24.104 2566
+-76.214 24.104 2743
+-76.088 24.104 2867
+-75.962 24.104 2957
+-75.836 24.104 3018
+-75.71 24.104 3042
+-75.584 24.104 3052
+-75.458 24.104 3063
+-75.332 24.104 3069
+-75.206 24.104 3067
+-75.08 24.104 3060
+-74.954 24.104 3017
+-74.828 24.104 3002
+-74.702 24.104 2986
+-74.576 24.104 2969
+-74.45 24.104 2923
+-74.324 24.104 2909
+-74.198 24.104 2889
+-74.072 24.104 2881
+-73.946 24.104 2875
+-73.82 24.104 2872
+-73.694 24.104 2858
+-73.568 24.104 2857
+-73.442 24.104 2861
+-73.316 24.104 2868
+-73.19 24.104 2876
+-73.064 24.104 2885
+-72.938 24.104 2896
+-72.812 24.104 2907
+-72.686 24.104 2918
+-72.56 24.104 2930
+-72.434 24.104 2928
+-72.308 24.104 2942
+-72.182 24.104 2946
+-72.056 24.104 2959
+-71.93 24.104 2972
+-71.804 24.104 2963
+-71.678 24.104 2977
+-71.552 24.104 2933
+-71.426 24.104 2945
+-71.3 24.104 2957
+-71.174 24.104 2968
+-71.048 24.104 2940
+-70.922 24.104 2934
+-70.796 24.104 2944
+-70.67 24.104 2948
+-70.544 24.104 2952
+-70.418 24.104 2961
+-70.292 24.104 2970
+-70.166 24.104 2979
+-70.04 24.104 2955
+-69.914 24.104 2963
+-69.788 24.104 2970
+-69.662 24.104 2938
+-69.536 24.104 2946
+-69.41 24.104 2913
+-69.284 24.104 2911
+-69.158 24.104 2877
+-69.032 24.104 2883
+-68.906 24.104 2842
+-68.78 24.104 2847
+-68.654 24.104 2852
+-68.528 24.104 2856
+-68.402 24.104 2861
+-68.276 24.104 2865
+-68.15 24.104 2869
+-68.024 24.104 2873
+-67.898 24.104 2876
+-67.772 24.104 2880
+-67.646 24.104 2884
+-67.52 24.104 2887
+-67.394 24.104 2890
+-67.268 24.104 2893
+-67.142 24.104 2896
+-67.016 24.104 2899
+-66.89 24.104 2902
+-66.764 24.104 2905
+-66.638 24.104 2907
+-66.512 24.104 2910
+-66.386 24.104 2889
+-66.26 24.104 2892
+-66.134 24.104 2894
+-66.008 24.104 2897
+-65.882 24.104 2900
+-65.756 24.104 2902
+-65.63 24.104 2867
+-65.504 24.104 2870
+-65.378 24.104 2860
+-65.252 24.104 2857
+-65.126 24.104 2827
+-128 24.052 3074
+-127.874 24.052 3071
+-127.748 24.052 3029
+-127.622 24.052 3026
+-127.496 24.052 3022
+-127.37 24.052 3048
+-127.244 24.052 3024
+-127.118 24.052 3020
+-126.992 24.052 2969
+-126.866 24.052 2965
+-126.74 24.052 3038
+-126.614 24.052 2993
+-126.488 24.052 2972
+-126.362 24.052 2872
+-126.236 24.052 2913
+-126.11 24.052 2908
+-125.984 24.052 2903
+-125.858 24.052 2897
+-125.732 24.052 2892
+-125.606 24.052 2886
+-125.48 24.052 2813
+-125.354 24.052 2823
+-125.228 24.052 2818
+-125.102 24.052 2778
+-124.976 24.052 2763
+-124.85 24.052 2744
+-124.724 24.052 2738
+-124.598 24.052 2712
+-124.472 24.052 2706
+-124.346 24.052 2677
+-124.22 24.052 2663
+-124.094 24.052 2641
+-123.968 24.052 2634
+-123.842 24.052 2618
+-123.716 24.052 2620
+-123.59 24.052 2612
+-123.464 24.052 2603
+-123.338 24.052 2593
+-123.212 24.052 2584
+-123.086 24.052 2492
+-122.96 24.052 2482
+-122.834 24.052 2472
+-122.708 24.052 2435
+-122.582 24.052 2424
+-122.456 24.052 2385
+-122.33 24.052 2373
+-122.204 24.052 2361
+-122.078 24.052 2349
+-121.952 24.052 2337
+-121.826 24.052 2324
+-121.7 24.052 2310
+-121.574 24.052 2297
+-121.448 24.052 2283
+-121.322 24.052 2266
+-121.196 24.052 2224
+-121.07 24.052 2210
+-120.944 24.052 2196
+-120.818 24.052 2182
+-120.692 24.052 2164
+-120.566 24.052 2151
+-120.44 24.052 2139
+-120.314 24.052 2110
+-120.188 24.052 2101
+-120.062 24.052 2079
+-119.936 24.052 2071
+-119.81 24.052 2058
+-119.684 24.052 2040
+-119.558 24.052 2044
+-119.432 24.052 2045
+-119.306 24.052 2048
+-119.18 24.052 2052
+-119.054 24.052 2059
+-118.928 24.052 2069
+-118.802 24.052 2107
+-118.676 24.052 2123
+-118.55 24.052 2069
+-118.424 24.052 2091
+-118.298 24.052 2109
+-118.172 24.052 2122
+-118.046 24.052 2151
+-117.92 24.052 2160
+-117.794 24.052 2173
+-117.668 24.052 2194
+-117.542 24.052 2154
+-117.416 24.052 2208
+-117.29 24.052 2227
+-117.164 24.052 2245
+-117.038 24.052 2262
+-116.912 24.052 2279
+-116.786 24.052 2294
+-116.66 24.052 2309
+-116.534 24.052 2329
+-116.408 24.052 2342
+-116.282 24.052 2355
+-116.156 24.052 2324
+-116.03 24.052 2333
+-115.904 24.052 2341
+-115.778 24.052 2348
+-115.652 24.052 2353
+-115.526 24.052 2358
+-115.4 24.052 2419
+-115.274 24.052 2400
+-115.148 24.052 2400
+-115.022 24.052 2399
+-114.896 24.052 2417
+-114.77 24.052 2393
+-114.644 24.052 2392
+-114.518 24.052 2383
+-114.392 24.052 2372
+-114.266 24.052 2329
+-114.14 24.052 2313
+-114.014 24.052 2295
+-113.888 24.052 2273
+-113.762 24.052 2249
+-113.636 24.052 2220
+-113.51 24.052 2188
+-113.384 24.052 2209
+-113.258 24.052 2162
+-113.132 24.052 2110
+-113.006 24.052 2053
+-112.88 24.052 1989
+-112.754 24.052 1918
+-112.628 24.052 1841
+-112.502 24.052 1758
+-112.376 24.052 1671
+-112.25 24.052 1583
+-112.124 24.052 1498
+-111.998 24.052 1425
+-111.872 24.052 1375
+-111.746 24.052 1358
+-111.62 24.052 1381
+-111.494 24.052 1441
+-111.368 24.052 1525
+-111.242 24.052 1618
+-111.116 24.052 1707
+-110.99 24.052 1786
+-110.864 24.052 1855
+-110.738 24.052 1915
+-110.612 24.052 1970
+-110.486 24.052 2022
+-110.36 24.052 2071
+-110.234 24.052 2118
+-110.108 24.052 2162
+-109.982 24.052 2204
+-109.856 24.052 2244
+-109.73 24.052 2281
+-109.604 24.052 2315
+-109.478 24.052 2347
+-109.352 24.052 2376
+-109.226 24.052 2402
+-109.1 24.052 2426
+-108.974 24.052 2493
+-108.848 24.052 2514
+-108.722 24.052 2534
+-108.596 24.052 2551
+-108.47 24.052 2568
+-108.344 24.052 2583
+-108.218 24.052 2597
+-108.092 24.052 2610
+-107.966 24.052 2622
+-107.84 24.052 2633
+-107.714 24.052 2644
+-107.588 24.052 2654
+-107.462 24.052 2663
+-107.336 24.052 2672
+-107.21 24.052 2680
+-107.084 24.052 2733
+-106.958 24.052 2760
+-106.832 24.052 2768
+-106.706 24.052 2775
+-106.58 24.052 2838
+-106.454 24.052 2845
+-106.328 24.052 2852
+-106.202 24.052 2859
+-106.076 24.052 2865
+-105.95 24.052 2871
+-105.824 24.052 2877
+-105.698 24.052 2882
+-105.572 24.052 2908
+-105.446 24.052 3008
+-105.32 24.052 3012
+-105.194 24.052 3002
+-105.068 24.052 3006
+-104.942 24.052 3039
+-104.816 24.052 3052
+-104.69 24.052 3055
+-104.564 24.052 3059
+-104.438 24.052 3170
+-104.312 24.052 3173
+-104.186 24.052 3175
+-104.06 24.052 3116
+-103.934 24.052 3130
+-103.808 24.052 3132
+-103.682 24.052 3134
+-103.556 24.052 3124
+-103.43 24.052 3130
+-103.304 24.052 3138
+-103.178 24.052 3223
+-103.052 24.052 3204
+-102.926 24.052 3093
+-102.8 24.052 3094
+-102.674 24.052 3095
+-102.548 24.052 3118
+-102.422 24.052 3119
+-102.296 24.052 3120
+-102.17 24.052 3153
+-102.044 24.052 3154
+-101.918 24.052 3155
+-101.792 24.052 3102
+-101.666 24.052 3164
+-101.54 24.052 3165
+-101.414 24.052 3166
+-101.288 24.052 3167
+-101.162 24.052 3169
+-101.036 24.052 3165
+-100.91 24.052 3167
+-100.784 24.052 3191
+-100.658 24.052 3193
+-100.532 24.052 3194
+-100.406 24.052 3196
+-100.28 24.052 3137
+-100.154 24.052 3273
+-100.028 24.052 3267
+-99.902 24.052 3291
+-99.776 24.052 3293
+-99.65 24.052 3411
+-99.524 24.052 3412
+-99.398 24.052 3414
+-99.272 24.052 3457
+-99.146 24.052 3437
+-99.02 24.052 3442
+-98.894 24.052 3431
+-98.768 24.052 3450
+-98.642 24.052 3333
+-98.516 24.052 3351
+-98.39 24.052 3351
+-98.264 24.052 3346
+-98.138 24.052 3279
+-98.012 24.052 3314
+-97.886 24.052 3269
+-97.76 24.052 3093
+-97.634 24.052 3114
+-97.508 24.052 3095
+-97.382 24.052 3056
+-97.256 24.052 3056
+-97.13 24.052 3082
+-97.004 24.052 3126
+-96.878 24.052 3132
+-96.752 24.052 3138
+-96.626 24.052 3259
+-96.5 24.052 3270
+-96.374 24.052 3381
+-96.248 24.052 3442
+-96.122 24.052 3443
+-95.996 24.052 3526
+-95.87 24.052 3525
+-95.744 24.052 3524
+-95.618 24.052 3523
+-95.492 24.052 3522
+-95.366 24.052 3520
+-95.24 24.052 3522
+-95.114 24.052 3522
+-94.988 24.052 3521
+-94.862 24.052 3520
+-94.736 24.052 3519
+-94.61 24.052 3519
+-94.484 24.052 3518
+-94.358 24.052 3612
+-94.232 24.052 3610
+-94.106 24.052 3608
+-93.98 24.052 3606
+-93.854 24.052 3606
+-93.728 24.052 3658
+-93.602 24.052 3656
+-93.476 24.052 3653
+-93.35 24.052 3677
+-93.224 24.052 3674
+-93.098 24.052 3643
+-92.972 24.052 3640
+-92.846 24.052 3693
+-92.72 24.052 3691
+-92.594 24.052 3688
+-92.468 24.052 3685
+-92.342 24.052 3683
+-92.216 24.052 3680
+-92.09 24.052 3707
+-91.964 24.052 3703
+-91.838 24.052 3699
+-91.712 24.052 3696
+-91.586 24.052 3692
+-91.46 24.052 3687
+-91.334 24.052 3683
+-91.208 24.052 3679
+-91.082 24.052 3674
+-90.956 24.052 3638
+-90.83 24.052 3634
+-90.704 24.052 3630
+-90.578 24.052 3626
+-90.452 24.052 3633
+-90.326 24.052 3625
+-90.2 24.052 3659
+-90.074 24.052 3655
+-89.948 24.052 3650
+-89.822 24.052 3646
+-89.696 24.052 3650
+-89.57 24.052 3646
+-89.444 24.052 3648
+-89.318 24.052 3658
+-89.192 24.052 3653
+-89.066 24.052 3648
+-88.94 24.052 3635
+-88.814 24.052 3655
+-88.688 24.052 3650
+-88.562 24.052 3687
+-88.436 24.052 3680
+-88.31 24.052 3677
+-88.184 24.052 3679
+-88.058 24.052 3675
+-87.932 24.052 3670
+-87.806 24.052 3664
+-87.68 24.052 3670
+-87.554 24.052 3695
+-87.428 24.052 3679
+-87.302 24.052 3655
+-87.176 24.052 3630
+-87.05 24.052 3587
+-86.924 24.052 3557
+-86.798 24.052 3547
+-86.672 24.052 3585
+-86.546 24.052 3570
+-86.42 24.052 3489
+-86.294 24.052 3663
+-86.168 24.052 3711
+-86.042 24.052 3857
+-85.916 24.052 4000
+-85.79 24.052 4095
+-85.664 24.052 4206
+-85.538 24.052 4193
+-85.412 24.052 4346
+-85.286 24.052 4474
+-85.16 24.052 4494
+-85.034 24.052 4570
+-84.908 24.052 4661
+-84.782 24.052 4828
+-84.656 24.052 4846
+-84.53 24.052 4963
+-84.404 24.052 5099
+-84.278 24.052 5183
+-84.152 24.052 5250
+-84.026 24.052 5308
+-83.9 24.052 5362
+-83.774 24.052 5407
+-83.648 24.052 5459
+-83.522 24.052 5469
+-83.396 24.052 5427
+-83.27 24.052 5528
+-83.144 24.052 5620
+-83.018 24.052 5668
+-82.892 24.052 5709
+-82.766 24.052 5729
+-82.64 24.052 5723
+-82.514 24.052 5739
+-82.388 24.052 5745
+-82.262 24.052 5720
+-82.136 24.052 5649
+-82.01 24.052 5652
+-81.884 24.052 5711
+-81.758 24.052 5729
+-81.632 24.052 5720
+-81.506 24.052 5672
+-81.38 24.052 5597
+-81.254 24.052 5518
+-81.128 24.052 5566
+-81.002 24.052 5561
+-80.876 24.052 5503
+-80.75 24.052 5451
+-80.624 24.052 5396
+-80.498 24.052 5308
+-80.372 24.052 5159
+-80.246 24.052 5236
+-80.12 24.052 5234
+-79.994 24.052 5169
+-79.868 24.052 5086
+-79.742 24.052 4968
+-79.616 24.052 4905
+-79.49 24.052 4917
+-79.364 24.052 4914
+-79.238 24.052 4852
+-79.112 24.052 4729
+-78.986 24.052 4561
+-78.86 24.052 4379
+-78.734 24.052 4263
+-78.608 24.052 4267
+-78.482 24.052 4275
+-78.356 24.052 4202
+-78.23 24.052 4107
+-78.104 24.052 3888
+-77.978 24.052 3767
+-77.852 24.052 3633
+-77.726 24.052 3472
+-77.6 24.052 3272
+-77.474 24.052 3067
+-77.348 24.052 2972
+-77.222 24.052 3034
+-77.096 24.052 3066
+-76.97 24.052 2984
+-76.844 24.052 2768
+-76.718 24.052 2505
+-76.592 24.052 2375
+-76.466 24.052 2441
+-76.34 24.052 2602
+-76.214 24.052 2755
+-76.088 24.052 2874
+-75.962 24.052 2961
+-75.836 24.052 3017
+-75.71 24.052 3059
+-75.584 24.052 3069
+-75.458 24.052 3069
+-75.332 24.052 3075
+-75.206 24.052 3078
+-75.08 24.052 3074
+-74.954 24.052 3067
+-74.828 24.052 3024
+-74.702 24.052 3012
+-74.576 24.052 2999
+-74.45 24.052 2986
+-74.324 24.052 2943
+-74.198 24.052 2933
+-74.072 24.052 2917
+-73.946 24.052 2911
+-73.82 24.052 2908
+-73.694 24.052 2907
+-73.568 24.052 2894
+-73.442 24.052 2893
+-73.316 24.052 2898
+-73.19 24.052 2904
+-73.064 24.052 2912
+-72.938 24.052 2920
+-72.812 24.052 2929
+-72.686 24.052 2939
+-72.56 24.052 2949
+-72.434 24.052 2960
+-72.308 24.052 2958
+-72.182 24.052 2970
+-72.056 24.052 2972
+-71.93 24.052 2984
+-71.804 24.052 2995
+-71.678 24.052 2986
+-71.552 24.052 2998
+-71.426 24.052 2952
+-71.3 24.052 2963
+-71.174 24.052 2974
+-71.048 24.052 2984
+-70.922 24.052 2955
+-70.796 24.052 2948
+-70.67 24.052 2958
+-70.544 24.052 2961
+-70.418 24.052 2964
+-70.292 24.052 2972
+-70.166 24.052 2981
+-70.04 24.052 2989
+-69.914 24.052 2964
+-69.788 24.052 2971
+-69.662 24.052 2978
+-69.536 24.052 2946
+-69.41 24.052 2953
+-69.284 24.052 2920
+-69.158 24.052 2918
+-69.032 24.052 2883
+-68.906 24.052 2888
+-68.78 24.052 2847
+-68.654 24.052 2852
+-68.528 24.052 2856
+-68.402 24.052 2861
+-68.276 24.052 2865
+-68.15 24.052 2869
+-68.024 24.052 2873
+-67.898 24.052 2876
+-67.772 24.052 2880
+-67.646 24.052 2883
+-67.52 24.052 2887
+-67.394 24.052 2890
+-67.268 24.052 2893
+-67.142 24.052 2896
+-67.016 24.052 2899
+-66.89 24.052 2902
+-66.764 24.052 2904
+-66.638 24.052 2907
+-66.512 24.052 2910
+-66.386 24.052 2912
+-66.26 24.052 2891
+-66.134 24.052 2894
+-66.008 24.052 2896
+-65.882 24.052 2899
+-65.756 24.052 2902
+-65.63 24.052 2904
+-65.504 24.052 2869
+-65.378 24.052 2872
+-65.252 24.052 2862
+-65.126 24.052 2858

Added: cs/trunk/cigtg-dev/test/command
===================================================================
--- cs/trunk/cigtg-dev/test/command	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/command	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,21 @@
+#!/bin/bash
+# file transfer
+globus-url-copy file://${HOME}/SimpleGrid/simplegrid/webapp/storage/samples/sample gsiftp://gridftp-hg.ncsa.teragrid.org:2811/~/sample1
+
+# job submission
+globusrun -b -f gt2.rsl -r tg-grid.uc.teragrid.org:2120/jobmanager-pbs
+globus-job-status ...
+# gt4 job submission
+globusrun-ws -b -submit -f gt4.xml
+
+# transfer result
+globus-url-copy gsiftp://gridftp-hg.ncsa.teragrid.org:2811/~/result1 file://${HOME}/result1
+
+# submit helloworld 
+globusrun-ws -submit -f helloworld.xml
+
+# transfer helloworld back
+globus-url-copy gsiftp://gridftp-hg.ncsa.teragrid.org:2811/home/ac/larmenda/tg-try/stdout.helloworld file://${HOME}/grow-dev1/test/helloworld
+
+# get grid proxy
+myproxy-logon -l larmenda -s myproxy.teragrid.org

Added: cs/trunk/cigtg-dev/test/gt2.rsl
===================================================================
--- cs/trunk/cigtg-dev/test/gt2.rsl	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/gt2.rsl	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,8 @@
+&(jobType="single")
+(count=1)
+(host_count="1")
+(directory="/home/ac/larmenda/gisolve/DMS/release")
+(executable=/home/ac/larmenda/gisolve/DMS/release/process.pl)
+(arguments="500" "500" "20" "/home/ac/larmenda/tg-try/sample1" "/home/ac/larmenda/tg-try/result1")
+(stdout="stdout.gisolve.test")
+(stderr="stderr.gisolve.test")

Added: cs/trunk/cigtg-dev/test/gt2.rsl,v
===================================================================
--- cs/trunk/cigtg-dev/test/gt2.rsl,v	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/gt2.rsl,v	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,32 @@
+head	1.1;
+access;
+symbols;
+locks
+	train17:1.1; strict;
+comment	@# @;
+
+
+1.1
+date	2007.06.04.17.01.53;	author train17;	state Exp;
+branches;
+next	;
+
+
+desc
+@@
+
+
+1.1
+log
+ at Initial revision
+@
+text
+@&(jobType="single")
+(count=1)
+(host_count="1")
+(directory="/home/ac/trainxx/gisolve/DMS/release")
+(executable=/home/ac/trainxx/gisolve/DMS/release/process.pl)
+(arguments="500" "500" "20" "/home/ac/trainxx/sample1" "/home/ac/trainxx/result1")
+(stdout="stdout.gisolve.test")
+(stderr="stderr.gisolve.test")
+@

Added: cs/trunk/cigtg-dev/test/gt4.xml
===================================================================
--- cs/trunk/cigtg-dev/test/gt4.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/gt4.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,27 @@
+<job>
+    <factoryEndpoint
+          xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
+          xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+        <wsa:Address>
+https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+        </wsa:Address>
+        <wsa:ReferenceProperties>
+            <gram:ResourceID>PBS</gram:ResourceID>
+        </wsa:ReferenceProperties>
+    </factoryEndpoint>
+<!--
+    <jobType>single</jobType>
+    <count>1</count>
+    <hostCount>1</hostCount>
+-->
+    <executable>/home/ac/larmenda/gisolve/DMS/release/process.pl</executable>
+    <directory>/home/ac/larmenda/gisolve/DMS/release</directory>
+    <argument>500</argument>
+    <argument>500</argument>
+    <argument>20</argument>
+    <argument>/home/ac/larmenda/tg-try/sample1</argument>
+    <argument>/home/ac/larmenda/tg-try/result_wsgram</argument>
+    <stdout>/home/ac/larmenda/gisolve/DMS/results/stdout.mydataset</stdout>
+    <stderr>/home/ac/larmenda/gisolve/DMS/results/stderr.mydataset</stderr>
+</job>
+

Added: cs/trunk/cigtg-dev/test/gt4.xml,v
===================================================================
--- cs/trunk/cigtg-dev/test/gt4.xml,v	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/gt4.xml,v	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,51 @@
+head	1.1;
+access;
+symbols;
+locks
+	train17:1.1; strict;
+comment	@# @;
+
+
+1.1
+date	2007.06.04.18.33.09;	author train17;	state Exp;
+branches;
+next	;
+
+
+desc
+@@
+
+
+1.1
+log
+ at Initial revision
+@
+text
+@<job>
+    <factoryEndpoint
+          xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
+          xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+        <wsa:Address>
+https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+        </wsa:Address>
+        <wsa:ReferenceProperties>
+            <gram:ResourceID>PBS</gram:ResourceID>
+        </wsa:ReferenceProperties>
+    </factoryEndpoint>
+<!--
+    <jobType>single</jobType>
+    <count>1</count>
+    <hostCount>1</hostCount>
+-->
+    <executable>/home/ac/trainxx/gisolve/DMS/release/process.pl</executable>
+    <directory>/home/ac/trainxx/gisolve/DMS/release</directory>
+    <argument>500</argument>
+    <argument>500</argument>
+    <argument>20</argument>
+    <argument>/home/ac/trainxx/sample1</argument>
+    <argument>/home/ac/trainxx/result_wsgram</argument>
+    <stdout>/home/ac/trainxx/gisolve/DMS/results/stdout.mydataset</stdout>
+    <stderr>/home/ac/trainxx/gisolve/DMS/results/stderr.mydataset</stderr>
+</job>
+
+@

Added: cs/trunk/cigtg-dev/test/helloworld
===================================================================
--- cs/trunk/cigtg-dev/test/helloworld	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/helloworld	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+----------------------------------------
+Begin PBS Prologue Wed Jun 20 13:53:42 CDT 2007
+Job ID:		1054021.tg-master.ncsa.teragrid.org
+Username:	larmenda
+Group:		mqu
+Nodes:		tg-c920 
+End PBS Prologue Wed Jun 20 13:53:46 CDT 2007
+----------------------------------------
+Hello World!
+----------------------------------------
+Begin PBS Epilogue Wed Jun 20 13:53:52 CDT 2007
+Job ID:		1054021.tg-master.ncsa.teragrid.org
+Username:	larmenda
+Group:		mqu
+Job Name:	STDIN
+Session:	18910
+Limits:		ncpus=1,nodes=1,walltime=00:10:00
+Resources:	cput=00:00:01,mem=0kb,vmem=0kb,walltime=00:00:05
+Queue:		dque
+Account:		mqu
+Nodes:		tg-c920 
+
+Killing leftovers...
+
+End PBS Epilogue Wed Jun 20 13:53:56 CDT 2007
+----------------------------------------

Added: cs/trunk/cigtg-dev/test/helloworld-file.xml
===================================================================
--- cs/trunk/cigtg-dev/test/helloworld-file.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/helloworld-file.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<job>
+    <factoryEndpoint
+          xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
+          xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+        <wsa:Address>
+https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+        </wsa:Address>
+        <wsa:ReferenceProperties>
+            <gram:ResourceID>PBS</gram:ResourceID>
+        </wsa:ReferenceProperties>
+    </factoryEndpoint>
+<!--
+    <jobType>single</jobType>
+    <count>1</count>
+    <hostCount>1</hostCount>
+-->
+    <executable>my_echo</executable>
+    <directory>/home/ac/weimi/tg-try</directory>
+    <argument>Hello</argument>
+    <argument>World!</argument>
+    <stdout>/home/ac/weimi/tg-try/stdout</stdout>
+    <stderr>/home/ac/weimi/tg-try/stderr</stderr>
+    <fileStageOut>
+        <transfer>
+            <sourceUrl>gsiftp://gridftp-hg.ncsa.teragrid.org:2811/home/ac/weimi/tg-try/stdout.helloworld</sourceUrl>
+ 
+<destinationUrl>file://{$HOME}/grow-dev1/test/helloworld.out</destinationUrl>
+        </transfer>
+    </fileStageOut>
+    <fileCleanUp>
+        <deletion>
+            <file>file://home/ac/weimi/tg-try/my_echo</file>
+        </deletion>
+    </fileCleanUp>
+</job>

Added: cs/trunk/cigtg-dev/test/helloworld.out
===================================================================
--- cs/trunk/cigtg-dev/test/helloworld.out	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/helloworld.out	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,26 @@
+----------------------------------------
+Begin PBS Prologue Tue Jun 26 17:36:21 CDT 2007
+Job ID:		1071151.tg-master.ncsa.teragrid.org
+Username:	weimi
+Group:		mqu
+Nodes:		tg-c353 
+End PBS Prologue Tue Jun 26 17:36:25 CDT 2007
+----------------------------------------
+Hello World!
+----------------------------------------
+Begin PBS Epilogue Tue Jun 26 17:36:32 CDT 2007
+Job ID:		1071151.tg-master.ncsa.teragrid.org
+Username:	weimi
+Group:		mqu
+Job Name:	STDIN
+Session:	20622
+Limits:		ncpus=1,nodes=1,walltime=00:10:00
+Resources:	cput=00:00:01,mem=0kb,vmem=0kb,walltime=00:00:06
+Queue:		dque
+Account:		bij
+Nodes:		tg-c353 
+
+Killing leftovers...
+
+End PBS Epilogue Tue Jun 26 17:36:35 CDT 2007
+----------------------------------------

Added: cs/trunk/cigtg-dev/test/helloworld.xml
===================================================================
--- cs/trunk/cigtg-dev/test/helloworld.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/helloworld.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,23 @@
+<job>
+    <factoryEndpoint
+          xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
+          xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+        <wsa:Address>
+https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+        </wsa:Address>
+        <wsa:ReferenceProperties>
+            <gram:ResourceID>PBS</gram:ResourceID>
+        </wsa:ReferenceProperties>
+    </factoryEndpoint>
+<!--
+    <jobType>single</jobType>
+    <count>1</count>
+    <hostCount>1</hostCount>
+-->
+    <executable>my_echo</executable>
+    <directory>/home/ac/weimi/tg-try</directory>
+    <argument>Hello</argument>
+    <argument>World!</argument>
+    <stdout>/home/ac/weimi/tg-try/stdout.helloworld</stdout>
+    <stderr>/home/ac/weimi/tg-try/stderr.helloworld</stderr>
+</job>

Added: cs/trunk/cigtg-dev/test/helloworld_1.xml
===================================================================
--- cs/trunk/cigtg-dev/test/helloworld_1.xml	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/cigtg-dev/test/helloworld_1.xml	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,35 @@
+<job>
+    <factoryEndpoint
+          xmlns:gram="http://www.globus.org/namespaces/2004/10/gram/job"
+          xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing">
+        <wsa:Address>
+https://grid-hg.ncsa.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
+        </wsa:Address>
+        <wsa:ReferenceProperties>
+            <gram:ResourceID>PBS</gram:ResourceID>
+        </wsa:ReferenceProperties>
+    </factoryEndpoint>
+<!--
+    <jobType>single</jobType>
+    <count>1</count>
+    <hostCount>1</hostCount>
+-->
+    <executable>my_echo</executable>
+    <directory>/home/ac/larmenda/tg-try</directory>
+    <argument>Hello</argument>
+    <argument>World!</argument>
+    <stdout>/home/ac/larmenda/tg-try/stdout</stdout>
+    <stderr>/home/ac/larmenda/tg-try/stderr</stderr>
+    <fileStageIn>
+        <transfer>
+            <sourceUrl>gsiftp://dynamo.geodynamcis.org:2811/bin/echo</sourceUrl>
+ 
+<destinationUrl>file:///home/ac/larmenda/tg-try/my_echo</destinationUrl>
+        </transfer>
+    </fileStageIn>
+    <fileCleanUp>
+        <deletion>
+            <file>file:///home/ac/larmenda/tg-try/my_echo</file>
+        </deletion>
+    </fileCleanUp>
+</job>

Added: cs/trunk/grid-env.sh
===================================================================
--- cs/trunk/grid-env.sh	2007-07-09 19:51:06 UTC (rev 7619)
+++ cs/trunk/grid-env.sh	2007-07-09 20:45:47 UTC (rev 7620)
@@ -0,0 +1,15 @@
+# Grid environment
+#unset CLASSPATH
+export GLOBUS_LOCATION=/home/globus/globus-4.0.4
+. ${GLOBUS_LOCATION}/etc/globus-user-env.sh
+#. $GLOBUS_LOCATION/etc/globus-devel-env.sh
+export GLOBUS_TCP_PORT_RANGE=40000,50000
+# JAVA environment
+export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
+export ANT_HOME=/home/cigtg/apps-local/ant
+export CATALINA_HOME=/home/cigtg/apps-local/apache-tomcat
+export APPSERVER_HOME=${CATALINA_HOME}
+export PATH=${JAVA_HOME}/bin:${ANT_HOME}/bin:$PATH
+
+# increase memory for production use
+export JAVA_OPTS="-Xmx512m"



More information about the cig-commits mailing list